ZGlmZiAtLWdpdCBhLy5lZGl0b3Jjb25maWcgYi8uZWRpdG9yY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlYzEwOTQKLS0tIC9kZXYvbnVsbAorKysgYi8uZWRpdG9yY29uZmlnCkBAIC0wLDAgKzEsMTQgQEAKK1sqXQorY2hhcnNldCA9IHV0Zi04CitlbmRfb2ZfbGluZSA9IGxmCitpbnNlcnRfZmluYWxfbmV3bGluZSA9IHRydWUKKworWyouW2NoXV0KK2luZGVudF9zdHlsZSA9IHRhYgoraW5kZW50X3NpemUgPSA4Cit0cmltX3RyYWlsaW5nX3doaXRlc3BhY2UgPSB0cnVlCisKK1sqLnN5bV0KK2luZGVudF9zdHlsZSA9IHRhYgoraW5kZW50X3NpemUgPSA0Cit0cmltX3RyYWlsaW5nX3doaXRlc3BhY2UgPSB0cnVlCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjQwMTBiCi0tLSAvZGV2L251bGwKKysrIGIvLmdpdGlnbm9yZQpAQCAtMCwwICsxLDE3MCBAQAorIworIyBnZW5lcmljIHN0dWZmCisjCisqLmdjZGEKKyouZ2NubworKi5nY292CisqLmxhCisqLmxvCisqLnBjCisqLnB5YworKi5zbworKi5zby4qCisqLnN0YXRpYworKi5zd3AKKyoudmltCisqLlthb10KKyp+CisuY2xhbmdfY29tcGxldGUKKy5kZXBzCisuZGlyc3RhbXAKKy5saWJzCisudGFyYmFsbC12ZXJzaW9uCisudmVyc2lvbgorQUJPVVQtTkxTCithY2xvY2FsLm00CithdXRvbTR0ZS5jYWNoZQorY29tcGlsZQorY29uZmlnLmNhY2hlCitjb25maWcuZ3Vlc3MKK2NvbmZpZy5oCitjb25maWcuaC5pbgorY29uZmlnLmxvZworY29uZmlnLnJwYXRoCitjb25maWcuc3RhdHVzCitjb25maWcuc3ViCitjb25maWcvbHRtYWluLnNoCitjb25maWcvcHktY29tcGlsZQorY29uZmlnL3Rlc3QtZHJpdmVyCitjb25maWd1cmUKK2NzY29wZS5vdXQKK2RlcGNvbXAKK0lOU1RBTEwKK2luc3RhbGwtc2gKK2xpYnRvb2wKK200LyoubTQKK01ha2VmaWxlCitNYWtlZmlsZS5pbgorbWlzc2luZworbWtpbnN0YWxsZGlycworc3RhbXAtaAorc3RhbXAtaC5pbgorc3RhbXAtaDEKK3RhZ3MKK3Rlc3Qtc3VpdGUubG9nCit0ZXN0cy9ydW4uc2gubG9nCit0ZXN0cy9ydW4uc2gudHJzCit1cGRhdGUubG9nCisKKyMKKyMgYmluYXJpZXMKKyMKKy9hZGRwYXJ0CisvYWdldHR5CisvYmxrZGlzY2FyZAorL2Jsa2lkCisvYmxvY2tkZXYKKy9jYWwKKy9jZmRpc2sKKy9jaGNwdQorL2NoZm4KKy9jaHJ0CisvY2hzaAorL2NvbAorL2NvbGNydAorL2NvbHJtCisvY29sdW1uCisvY3RybGFsdGRlbAorL2RlbHBhcnQKKy9kbWVzZworL2VqZWN0CisvZmFsbG9jYXRlCisvZmRmb3JtYXQKKy9mZGlzaworL2ZpbmRmcworL2ZpbmRtbnQKKy9mbG9jaworL2ZzY2sKKy9mc2NrLmNyYW1mcworL2ZzY2subWluaXgKKy9mc2ZyZWV6ZQorL2ZzdHJpbQorL2dldG9wdAorL2hleGR1bXAKKy9od2Nsb2NrCisvaW9uaWNlCisvaXBjbWsKKy9pcGNybQorL2lwY3MKKy9pc29zaXplCisva2lsbAorL2xhc3QKKy9sZGF0dGFjaAorL2xpbmUKKy9sb2dnZXIKKy9sb2dpbgorL2xvb2sKKy9sb3NldHVwCisvbHNibGsKKy9sc2lwYworL2xzY3B1CisvbHNsb2NrcworL2xzbG9naW5zCisvbHNucworL21jb29raWUKKy9tZXNnCisvbWtmcworL21rZnMuYmZzCisvbWtmcy5jcmFtZnMKKy9ta2ZzLm1pbml4CisvbWtzd2FwCisvbW9yZQorL21vdW50CisvbW91bnRwb2ludAorL25hbWVpCisvbmV3Z3JwCisvbm9sb2dpbgorL25zZW50ZXIKKy9wYXJ0eAorL3BnCisvcGl2b3Rfcm9vdAorL3BybGltaXQKKy9yYXcKKy9yZWFkcHJvZmlsZQorL3JlbmFtZQorL3JlbmljZQorL3Jlc2l6ZXBhcnQKKy9yZXYKKy9ydGN3YWtlCisvcnVudXNlcgorL3NhbXBsZS0qCisvc2NyaXB0Cisvc2NyaXB0cmVwbGF5Cisvc2V0YXJjaAorL3NldHByaXYKKy9zZXRzaWQKKy9zZXR0ZXJtCisvc2ZkaXNrCisvc3UKKy9zdWxvZ2luCisvc3dhcGxhYmVsCisvc3dhcG9mZgorL3N3YXBvbgorL3N3aXRjaF9yb290CisvdGFpbGYKKy90YXNrc2V0CisvdGVzdF8qCisvdHVuZWxwCisvdWwKKy91bW91bnQKKy91bnNoYXJlCisvdXRtcGR1bXAKKy91dWlkZAorL3V1aWRnZW4KKy92aXB3Cisvd2FsbAorL3dkY3RsCisvd2hlcmVpcworL3dpcGVmcworL3dyaXRlCisvenJhbWN0bApkaWZmIC0tZ2l0IGEvLnRyYXZpcy1mdW5jdGlvbnMuc2ggYi8udHJhdmlzLWZ1bmN0aW9ucy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jYTczYTlmCi0tLSAvZGV2L251bGwKKysrIGIvLnRyYXZpcy1mdW5jdGlvbnMuc2gKQEAgLTAsMCArMSwxOTYgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgLnRyYXZpcy1mdW5jdGlvbnMuc2g6CisjICAgLSBoZWxwZXIgZnVuY3Rpb25zIHRvIGJlIHNvdXJjZWQgZnJvbSAudHJhdmlzLnltbAorIyAgIC0gZGVzaWduZWQgdG8gcmVzcGVjdCB0cmF2aXMnIGVudmlyb25tZW50IGJ1dCB0ZXN0aW5nIGxvY2FsbHkgaXMgcG9zc2libGUKKyMKKworaWYgWyAhIC1mICJjb25maWd1cmUuYWMiIF07IHRoZW4KKwllY2hvICIudHJhdmlzLWZ1bmN0aW9ucy5zaCBtdXN0IGJlIHNvdXJjZWQgZnJvbSBzb3VyY2UgZGlyIiA+JjIKKwlyZXR1cm4gMSB8fCBleGl0IDEKK2ZpCisKKyMjIHNvbWUgY29uZmlnIHNldHRpbmdzCisjIHRyYXZpcyBkb2NzIHNheSB3ZSBnZXQgMS41IENQVXMKK01BS0U9Im1ha2UgLWoyIgorRFVNUF9DT05GSUdfTE9HPSJzaG9ydCIKK2V4cG9ydCBUU19PUFRfcGFyc2FibGU9InllcyIKKworZnVuY3Rpb24geGNvbmZpZ3VyZQoreworCS4vY29uZmlndXJlICIkQCIgJE9TWF9DT05GT1BUUworCWVycj0kPworCWlmIFsgIiREVU1QX0NPTkZJR19MT0ciID0gInNob3J0IiBdOyB0aGVuCisJCWdyZXAgLUIxIC1BMTAwMDAgIl4jIyBPdXRwdXQgdmFyaWFibGVzIiBjb25maWcubG9nIHwgZ3JlcCAtdiAiX0ZBTFNFPSIKKwllbGlmIFsgIiREVU1QX0NPTkZJR19MT0ciID0gImZ1bGwiIF07IHRoZW4KKwkJY2F0IGNvbmZpZy5sb2cKKwlmaQorCXJldHVybiAkZXJyCit9CisKK2Z1bmN0aW9uIGNoZWNrX25vbnJvb3QKK3sKKwlsb2NhbCBvcHRzPSIkTUFLRV9DSEVDS19PUFRTIgorCisJeGNvbmZpZ3VyZSBcCisJCS0tZGlzYWJsZS11c2UtdHR5LWdyb3VwIFwKKwkJLS1lbmFibGUtYWxsLXByb2dyYW1zIFwKKwkJfHwgcmV0dXJuCisJJE1BS0UgfHwgcmV0dXJuCisKKwlvc3hfcHJlcGFyZV9jaGVjaworCSRNQUtFIGNoZWNrIFRTX09QVFM9IiRvcHRzIiB8fCByZXR1cm4KKworCSRNQUtFIGluc3RhbGwgREVTVERJUj0vdG1wL2Rlc3QgfHwgcmV0dXJuCit9CisKK2Z1bmN0aW9uIGNoZWNrX3Jvb3QKK3sKKwlsb2NhbCBvcHRzPSIkTUFLRV9DSEVDS19PUFRTIC0tcGFyYWxsZWw9MSIKKworCXhjb25maWd1cmUgXAorCQktLWVuYWJsZS1hbGwtcHJvZ3JhbXMgXAorCQl8fCByZXR1cm4KKwkkTUFLRSB8fCByZXR1cm4KKworCSRNQUtFIGNoZWNrIFRTX0NPTU1BTkQ9InRydWUiIHx8IHJldHVybgorCW9zeF9wcmVwYXJlX2NoZWNrCisJc3VkbyAtRSAkTUFLRSBjaGVjayBUU19PUFRTPSIkb3B0cyIgfHwgcmV0dXJuCisKKwlzdWRvICRNQUtFIGluc3RhbGwgfHwgcmV0dXJuCit9CisKK2Z1bmN0aW9uIGNoZWNrX2Rpc3QKK3sKKwl4Y29uZmlndXJlIFwKKwkJfHwgcmV0dXJuCisJJE1BS0UgZGlzdGNoZWNrIHx8IHJldHVybgorfQorCitmdW5jdGlvbiB0cmF2aXNfaW5zdGFsbF9zY3JpcHQKK3sKKwlpZiBbICIkVFJBVklTX09TX05BTUUiID0gIm9zeCIgXTsgdGhlbgorCQlvc3hfaW5zdGFsbF9zY3JpcHQKKwkJcmV0dXJuCisJZmkKKworCSMgaW5zdGFsbCBzb21lIHBhY2thZ2VzIGZyb20gVWJ1bnR1J3MgZGVmYXVsdCBzb3VyY2VzCisJc3VkbyBhcHQtZ2V0IC1xcSB1cGRhdGUKKwlzdWRvIGFwdC1nZXQgaW5zdGFsbCAtcXEgPi9kZXYvbnVsbCBcCisJCWJjIFwKKwkJYnRyZnMtdG9vbHMgXAorCQlkbnN1dGlscyBcCisJCWxpYmNhcC1uZy1kZXYgXAorCQlsaWJuY3Vyc2VzdzUtZGV2IFwKKwkJbGlicGFtLWRldiBcCisJCWxpYnVkZXYtZGV2IFwKKwkJZ3RrLWRvYy10b29scyBcCisJCW1kYWRtIFwKKwkJbnRwIFwKKwkJc29jYXQgXAorCQl8fCByZXR1cm4KKworCSMgaW5zdGFsbCBvbmx5IGlmIGF2YWlsYWJsZSAoZS5nLiBVYnVudHUgVHJ1c3R5KQorCXN1ZG8gYXB0LWdldCBpbnN0YWxsIC1xcSA+L2Rldi9udWxsIFwKKwkJbGlic3lzdGVtZC1kYWVtb24tZGV2IFwKKwkJbGlic3lzdGVtZC1qb3VybmFsLWRldiBcCisJCXx8IHRydWUKK30KKworZnVuY3Rpb24gb3N4X2luc3RhbGxfc2NyaXB0Cit7CisJYnJldyB1cGRhdGUgPi9kZXYvbnVsbAorCWJyZXcgdGFwIGhvbWVicmV3L2R1cGVzCisKKwlicmV3IGluc3RhbGwgZ2V0dGV4dCBuY3Vyc2VzIHNvY2F0IHh6CisJYnJldyBsaW5rIC0tZm9yY2UgZ2V0dGV4dAorCWJyZXcgbGluayAtLWZvcmNlIG5jdXJzZXMKKworCU9TWF9DT05GT1BUUz0iCisJCS0tZGlzYWJsZS1ydW51c2VyIFwKKwkJLS1kaXNhYmxlLXN1IFwKKwkJLS1kaXNhYmxlLWxvZ2luIFwKKwkJLS1kaXNhYmxlLWxhc3QgXAorCQktLWRpc2FibGUtdXRtcGR1bXAgXAorCQktLWRpc2FibGUtYWdldHR5IFwKKwkJLS1kaXNhYmxlLXdhbGwgXAorCQktLWRpc2FibGUtaXBjcm0gXAorCQktLWRpc2FibGUtaXBjcyBcCisJCS0tZGlzYWJsZS13cml0ZSBcCisJIgorCisJIyB3b3JrYXJvdW5kOiBnbGlidG9vbGl6ZSBjb3VsZCBub3QgZmluZCBzZWQKKwlleHBvcnQgU0VEPSJzZWQiCit9CisKK2Z1bmN0aW9uIG9zeF9wcmVwYXJlX2NoZWNrCit7CisJWyAiJFRSQVZJU19PU19OQU1FIiA9ICJvc3giIF0gfHwgcmV0dXJuIDAKKworCSMgdGhlc2Ugb25lcyBvbmx5IG5lZWQgdG8gYmUgZ251IGZvciBvdXIgdGVzdC1zdWl0ZQorCWJyZXcgaW5zdGFsbCBjb3JldXRpbHMgZmluZHV0aWxzIGdudS10YXIgZ251LXNlZAorCisJIyBzeW1saW5rIG1pbmltYWxseSBuZWVkZWQgZ251IGNvbW1hbmRzIGludG8gUEFUSAorCW1rZGlyIH4vYmluCisJZm9yIGNtZCBpbiByZWFkbGluayBzZXEgdHJ1bmNhdGUgZmluZCB4YXJncyB0YXIgc2VkOyBkbworCQlsbiAtcyAvdXNyL2xvY2FsL2Jpbi9nJGNtZCAkSE9NRS9iaW4vJGNtZAorCWRvbmUKKwloYXNoIC1yCisKKwlleHBvcnQgVFNfT1BUX2NvbF9tdWx0aWJ5dGVfa25vd25fZmFpbD15ZXMKKwlleHBvcnQgVFNfT1BUX2NvbGNydF9yZWdyZXNzaW9uc19rbm93bl9mYWlsPXllcworCWV4cG9ydCBUU19PUFRfY29sdW1uX2ludmFsaWRfbXVsdGlieXRlX2tub3duX2ZhaWw9eWVzCit9CisKK2Z1bmN0aW9uIHRyYXZpc19iZWZvcmVfc2NyaXB0Cit7CisJc2V0IC1vIHh0cmFjZQorCisJLi9hdXRvZ2VuLnNoCisJcmV0PSQ/CisKKwlzZXQgK28geHRyYWNlCisJcmV0dXJuICRyZXQKK30KKworZnVuY3Rpb24gdHJhdmlzX3NjcmlwdAoreworCWxvY2FsIHJldAorCXNldCAtbyB4dHJhY2UKKworCWNhc2UgIiRNQUtFX0NIRUNLIiBpbgorCW5vbnJvb3QpCisJCWNoZWNrX25vbnJvb3QKKwkJOzsKKwlyb290KQorCQljaGVja19yb290CisJCTs7CisJZGlzdCkKKwkJY2hlY2tfZGlzdAorCQk7OworCSopCisJCWVjaG8gImVycm9yLCBjaGVjayBlbnZpcm9ubWVudCAodHJhdmlzLnltbCkiID4mMgorCQlmYWxzZQorCQk7OworCWVzYWMKKworCSMgV2UgZXhpdCBoZXJlIHdpdGggY2FzZS1zd2l0Y2ggcmV0dXJuIHZhbHVlIQorCXJldD0kPworCXNldCArbyB4dHJhY2UKKwlyZXR1cm4gJHJldAorfQorCitmdW5jdGlvbiB0cmF2aXNfYWZ0ZXJfc2NyaXB0Cit7CisJbG9jYWwgZGlmZl9kaXIKKwlsb2NhbCB0bXAKKworCSMgZmluZCBkaWZmIGRpciBmcm9tIGNoZWNrIGFzIHdlbGwgYXMgZnJvbSBkaXN0Y2hlY2sKKwlkaWZmX2Rpcj0kKGZpbmQgLiAtdHlwZSBkIC1uYW1lICJkaWZmIiB8IGdyZXAgInRlc3RzL2RpZmYiIHwgaGVhZCAtbiAxKQorCWlmIFsgLWQgIiRkaWZmX2RpciIgXTsgdGhlbgorCQl0bXA9JChmaW5kICIkZGlmZl9kaXIiIC10eXBlIGYgfCBzb3J0KQorCQllY2hvIC1lbiAiZHVtcCB0ZXN0IGRpZmZzOlxuJHt0bXB9XG4iCisJCWVjaG8gIiR0bXAiIHwgeGFyZ3MgY2F0CisJZmkKK30KZGlmZiAtLWdpdCBhLy50cmF2aXMueW1sIGIvLnRyYXZpcy55bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTk4YjVmMQotLS0gL2Rldi9udWxsCisrKyBiLy50cmF2aXMueW1sCkBAIC0wLDAgKzEsNTcgQEAKK2xhbmd1YWdlOiBjCisKK3N1ZG86IHJlcXVpcmVkCitkaXN0OiB0cnVzdHkKKworZ2l0OgorICBkZXB0aDogMTUwMAorCitjb21waWxlcjoKKyAgLSBnY2MKKyAgLSBjbGFuZworCitlbnY6CisgIC0gTUFLRV9DSEVDSz0ibm9ucm9vdCIKKyAgLSBNQUtFX0NIRUNLPSJyb290IgorICAtIE1BS0VfQ0hFQ0s9ImRpc3QiCisKK21hdHJpeDoKKyAgaW5jbHVkZToKKyAgICAtIG9zOiBsaW51eAorICAgICAgZGlzdDogcHJlY2lzZQorICAgICAgY29tcGlsZXI6IGdjYworICAgICAgZW52OiBQUkVDSVNFPSJ5ZXMiIE1BS0VfQ0hFQ0s9InJvb3QiCisgICAgLSBvczogb3N4CisgICAgICBvc3hfaW1hZ2U6IHhjb2RlNy4zCisgICAgICBjb21waWxlcjogY2xhbmcKKyAgICAgIGVudjogTUFLRV9DSEVDSz0ibm9ucm9vdCIKKworYnJhbmNoZXM6CisgIG9ubHk6CisgICAgLSBtYXN0ZXIKKyAgICAtIC9ec3RhYmxlLiovCisgICAgLSAvXnRyYXZpcy4qLworCitiZWZvcmVfaW5zdGFsbDoKKyAgIyBwcmludCBzb21lIGhvc3QgaW5mbworICAtIGVudiB8IGdyZXAgLXYgImVuY3J5cHRlZCIgfCBMQ19BTEw9QyBzb3J0CisgIC0gJENDIC0tdmVyc2lvbgorICAtIHdoaWNoICRDQworICAjIHdvcmthcm91bmQgY2xhbmcgbm90IHN5c3RlbSB3aWRlLCBmYWlsIG9uIHN1ZG8gbWFrZSBpbnN0YWxsCisgIC0gZXhwb3J0IENDPWB3aGljaCAkQ0NgCisgICMgd29ya2Fyb3VuZCB0cmF2aXMtY2kgaXNzdWUgIzUzMDEKKyAgLSB1bnNldCBQWVRIT05fQ0ZMQUdTCisKK2luc3RhbGw6CisgIC0gc291cmNlIC4vLnRyYXZpcy1mdW5jdGlvbnMuc2gKKyAgLSB0cmF2aXNfaW5zdGFsbF9zY3JpcHQKKworYmVmb3JlX3NjcmlwdDoKKyAgLSB0cmF2aXNfYmVmb3JlX3NjcmlwdAorCitzY3JpcHQ6CisgIC0gdHJhdmlzX3NjcmlwdAorCithZnRlcl9zY3JpcHQ6CisgIC0gdHJhdmlzX2FmdGVyX3NjcmlwdAorCmRpZmYgLS1naXQgYS9BVVRIT1JTIGIvQVVUSE9SUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MWZmYzFhCi0tLSAvZGV2L251bGwKKysrIGIvQVVUSE9SUwpAQCAtMCwwICsxLDU4NiBAQAorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXRpbC1saW51eAorCitNQUlOVEFJTkVSOgorCisgICAgICBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKworCitQQVNUIE1BSU5UQUlORVJTOgorCisgICAgICBBZHJpYW4gQnVuayA8YnVua0BzdHVzdGEuZGU+CisgICAgICBBbmRyaWVzIEUuIEJyb3V3ZXIgPGFlYkBjd2kubmw+CisKKworQVVUSE9SUyAobWVyZ2VkIHByb2plY3RzICYgY29tbWFuZHMpOgorCisgICAgICBibGtkaXNjYXJkOiAgICAgIEx1a2FzIEN6ZXJuZXIgPGxjemVybmVyQHJlZGhhdC5jb20+CisgICAgICBmYWxsb2NhdGU6ICAgICAgIEVyaWMgU2FuZGVlbiA8c2FuZGVlbkByZWRoYXQuY29tPgorICAgICAgICAgICAgICAgICAgICAgICBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAgICAgICAgICAgICAgICAgICAgICAgTWF0xJtqIENlcGwgPG1jZXBsQHJlZGhhdC5jb20+CisgICAgICBmaW5kbW50OiAgICAgICAgIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICAgICAgZmxvY2s6ICAgICAgICAgICBILiBQZXRlciBBbnZpbiA8aHBhQHp5dG9yLmNvbT4KKyAgICAgIGZzY2s6ICAgICAgICAgICAgW21lcmdlZCBmcm9tIGUyZnNwcm9nc10KKyAgICAgICAgICAgICAgICAgICAgICAgVGhlb2RvcmUgVHMnbyA8dHl0c29AbWl0LmVkdT4KKyAgICAgIGZzdHJpbTogICAgICAgICAgTHVrYXMgQ3plcm5lciA8bGN6ZXJuZXJAcmVkaGF0LmNvbT4KKyAgICAgIGZzZnJlZXplOiAgICAgICAgSGFqaW1lIFRhaXJhIDxodGFpcmFAcmVkaGF0LmNvbT4KKyAgICAgIGdldG9wdDogICAgICAgICAgRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPgorICAgICAgaHdjbG9jazogICAgICAgICBCcnlhbiBIZW5kZXJzb24gPGJyeWFuaEBnaXJhZmZlLWRhdGEuY29tPgorICAgICAgaXBjbWs6ICAgICAgICAgICBIYXlkZW4gSmFtZXMgPGhheWRlbi5qYW1lc0BnbWFpbC5jb20+CisgICAgICBsYXN0L2xhc3RiOiAgICAgIFttZXJnZWQgZnJvbSBzeXN2aW5pdF0KKyAgICAgICAgICAgICAgICAgICAgICAgTWlxdWVsIHZhbiBTbW9vcmVuYnVyZyA8bWlxdWVsc0BjaXN0cm9uLm5sPgorICAgICAgbGRhdHRhY2g6ICAgICAgICBUaWxtYW4gU2NobWlkdCA8dGlsbWFuQGltYXAuY2M+CisgICAgICBsaWJibGtpZDogICAgICAgIFttZXJnZWQgZnJvbSBlMmZzcHJvZ3NdCisgICAgICAgICAgICAgICAgICAgICAgIFRoZW9kb3JlIFRzJ28gPHR5dHNvQG1pdC5lZHU+CisgICAgICBsaWJtb3VudDogICAgICAgIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICAgICAgbGlidXVpZDogICAgICAgICBUaGVvZG9yZSBUcydvIDx0eXRzb0BtaXQuZWR1PgorICAgICAgbHNjcHU6ICAgICAgICAgICBDYWkgUWlhbiA8cWNhaUByZWRoYXQuY29tPgorICAgICAgbHNibGs6ICAgICAgICAgICBNaWxhbiBCcm96IDxtYnJvekByZWRoYXQuY29tPgorICAgICAgICAgICAgICAgICAgICAgICBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAgICAgIGxzaXBjOiAgICAgICAgICAgT25kcmVqIE9wcmFsYSA8b29wcmFsYUByZWRoYXQuY29tPgorICAgICAgICAgICAgICAgICAgICAgICBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAgICAgIGxzbG9ja3M6ICAgICAgICAgRGF2aWRsb2hyIEJ1ZXNvIDxkYXZlQGdudS5vcmc+CisgICAgICBsc2xvZ2luczogICAgICAgIE9uZHJlaiBPcHJhbGEgPG9vcHJhbGFAcmVkaGF0LmNvbT4KKyAgICAgIG1vdW50cG9pbnQ6ICAgICAgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgICAgICBuc2VudGVyOiAgICAgICAgIEVyaWMgVy4gQmllZGVybWFuIDxlYmllZGVybUB4bWlzc2lvbi5jb20+CisgICAgICBwcmxpbWl0OiAgICAgICAgIERhdmlkbG9ociBCdWVzbyA8ZGF2ZUBnbnUub3JnPgorICAgICAgcnVudXNlcjogICAgICAgICBbZGVyaXZlZCBmcm9tIGNvcmV1dGlscyBzdSgxKV0KKyAgICAgICAgICAgICAgICAgICAgICAgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgICAgICByZXNpemVwYXJ0OiAgICAgIFZpdmVrIEdveWFsIDx2Z295YWxAcmVkaGF0LmNvbT4KKyAgICAgIHJ0Y3dha2U6ICAgICAgICAgRGF2aWQgQnJvd25lbGwgPGRhdmlkLWJAcGFjYmVsbC5uZXQ+CisgICAgICAgICAgICAgICAgICAgICAgIEJlcm5oYXJkIFdhbGxlIDxid2FsbGVAc3VzZS5kZT4KKyAgICAgIHNjaGVkdXRpbHM6ICAgICAgUm9iZXJ0IExvdmUgPHJsb3ZlQHJsb3ZlLm9yZz4KKyAgICAgIHNldGFyY2g6ICAgICAgICAgRWxsaW90IExlZSA8c29wd2l0aEByZWRoYXQuY29tPgorICAgICAgICAgICAgICAgICAgICAgICBKaW5kcmljaCBOb3Z5IDxqbm92eUByZWRoYXQuY29tPgorICAgICAgc2V0cHJpdjogICAgICAgICBBbmR5IEx1dG9taXJza2kgPGx1dG9AYW1hY2FwaXRhbC5uZXQ+CisgICAgICBzaW1wbGVpbml0OiAgICAgIFJpY2hhcmQgR29vY2ggPHJnb29jaEBhdG5mLmNzaXJvLmF1PgorICAgICAgc3U6ICAgICAgICAgICAgICBbbWVyZ2VkIGZyb20gY29yZXV0aWxzXQorICAgICAgICAgICAgICAgICAgICAgICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAgICAgICAgICAgICAgICAgICAgICAgU1VTRSBMaW51eCBQcm9kdWN0cyBHbWJICisgICAgICBzdWxvZ2luOiAgICAgICAgIFttZXJnZWQgZnJvbSBzeXN2aW5pdF0KKyAgICAgICAgICAgICAgICAgICAgICAgTWlxdWVsIHZhbiBTbW9vcmVuYnVyZworICAgICAgc3dpdGNoX3Jvb3Q6ICAgICBQZXRlciBKb25lcyA8cGpvbmVzQHJlZGhhdC5jb20+CisgICAgICAgICAgICAgICAgICAgICAgIEplcmVteSBLYXR6IDxrYXR6akByZWRoYXQuY29tPgorICAgICAgdW5zaGFyZTogICAgICAgICBNaWtoYWlsIEd1c2Fyb3YgPGRvdHRlZG1hZ0Bkb3R0ZWRtYWcubmV0PgorICAgICAgdXRtcGR1bXA6ICAgICAgICBbbWVyZ2VkIGZyb20gc3lzdmluaXRdCisgICAgICAgICAgICAgICAgICAgICAgIERhbmVrIER1dmFsbCA8ZHV2YWxsQGFsdW1uaS5wcmluY2V0b24uZWR1PgorICAgICAgICAgICAgICAgICAgICAgICBNaXF1ZWwgdmFuIFNtb29yZW5idXJnIDxtaXF1ZWxzQGNpc3Ryb24ubmw+CisgICAgICB3aXBlZnM6ICAgICAgICAgIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICAgICAgc3dhcGxhYmVsOiAgICAgICBKYXNvbiBCb3JkZW4gPGpib3JkZW5AYmx1ZWhvc3QuY29tPgorICAgICAgICAgICAgICAgICAgICAgICBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKworCitDT05UUklCVVRPUlM6CisKKyAgICAgIEFhcm9uIEx1IDxhYXJvbi5sdUBpbnRlbC5jb20+CisgICAgICBBLiBCcmFtIE5laWp0IDxibmVpanRAZ21haWwuY29tPgorICAgICAgQS4gQ29zdGEgPGFnY29zdGFAZ2lzLm5ldD4KKyAgICAgIEFkYW0gSmFja3NvbiA8YWpheEByZWRoYXQuY29tPgorICAgICAgQWRyaWFuIEtub3RoIDxhZGlAZHJjb21wLmVyZnVydC50aHVyLmRlPgorICAgICAgw4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24gPGF2YXJhYkBnbWFpbC5jb20+CisgICAgICBBbGFpbiBHdWliZXJ0IDxhbGd1aWJlcnQrdWxuZ0BmcmVlLmZyPgorICAgICAgQWxhbiBDdXJyeSA8cGFjbWFuQFRoZVdvcmxkLmNvbT4KKyAgICAgIEFsYW4gV2VuZHQgPGFsYW5AZXpsaW5rLmNvbT4KKyAgICAgIEFsZGVuIFRvbmRldHRhciA8YWxkZW4udG9uZGV0dGFyQGdtYWlsLmNvbT4KKyAgICAgIEFsZWphbmRybyBNYXJ0aW5leiBSdWl6IDxhbGV4QG5vd2NvbXB1dGluZy5jb20+CisgICAgICBBbGV4YW5kZXIgS3VsZXNob3YgPGt1bGVzaG92bWFpbEBnbWFpbC5jb20+CisgICAgICBBbGV4YW5kZXIgU2hpc2hraW4gPHZpcnR1b3NvQHNsaW5kLm9yZz4KKyAgICAgIEFsZXhhbmRlciBUcm9vc2ggPHRydXNoQHlhbmRleC5ydT4KKyAgICAgIEFsZXhhbmRyZSBQZWl4b3RvIEZlcnJlaXJhIDxhbGV4YW5kcmVmNzVAZ21haWwuY29tPgorICAgICAgQWxleCBCbGlnaCA8YWxleEBhbGV4Lm9yZy51az4KKyAgICAgIEFsZXhleSBHYWxha2hvdiA8YWdhbGFraG92QGdtYWlsLmNvbT4KKyAgICAgIEFsZXhleSBHbGFka292IDxnbGFka292LmFsZXhleUBnbWFpbC5jb20+CisgICAgICBBbGV4ZXkgT2JpdG90c2tpeSA8YWxla3NleS5vYml0b3Rza2l5QGludGVsLmNvbT4KKyAgICAgIEFsbG9uIE11cmVpbmlrIDxhbXVyZWluaUByZWRoYXQuY29tPgorICAgICAgQWxvbiBCYXItTGV2IDxhbG9uLmJhcmxldkBnbWFpbC5jb20+CisgICAgICBBbHZhcm8gTS4gRWNoZXZhcnJpYQorICAgICAgQW3DqXJpY28gV2FuZyA8eGl5b3Uud2FuZ2NvbmdAZ21haWwuY29tPgorICAgICAgQW5kcmVhIEdhbGJ1c2VyYSA8Z2l6ZXJvQGdtYWlsLmNvbT4KKyAgICAgIEFuZHJlYXMgQmllw59tYW5uIDxiaWVzc21hbm5AY29yc2NpZW5jZS5kZT4KKyAgICAgIEFuZHJlYXMgRGlsZ2VyIDxhZGlsZ2VyQHN1bi5jb20+CisgICAgICBBbmRyZWFzIEhlbnJpa3Nzb24gPGFuZHJlYXNAZmF0YWwuc2U+CisgICAgICBBbmRyZWFzIFNjaHdhYiA8c2Nod2FiQGxpbnV4LW02OGsub3JnPgorICAgICAgQW5kcmVhcyBWb2dlbCA8QW5kcmVhcy5Wb2dlbEBhbnZvLWl0LmRlPgorICAgICAgQW5kcmV3IE1jR2lsbCA8bGlzdDIwMDhAbHVuY2guemEubmV0PgorICAgICAgQW5kcmV3IE5heWVua28gPHJlc3ZlckBnbWFpbC5jb20+CisgICAgICBBbmRyZXcgVmFnaW4gPGF2YWdpbkBvcGVudnoub3JnPgorICAgICAgQW5kcmV3IFdpbGNveCA8QVdpbGNveEBXaWxjb3gtVGVjaC5jb20+CisgICAgICBBbmRyaWkgQm9yZHVub3YgPGFuZHJldy5ib3JkdW5vdkBnbWFpbC5jb20+CisgICAgICBBbmRyemVqIEtyenlzenRvZm93aWN6IDxhbmtyeUBtaWYucGcuZ2RhLnBsPgorICAgICAgQW5keSBMdXRvbWlyc2tpIDxsdXRvQGFtYWNhcGl0YWwubmV0PgorICAgICAgQW5uYSBKb25uYSDDgXJtYW5uc2TDs3R0aXIgPGFubmFqb25uYUBnbWFpbC5jb20+CisgICAgICBBbnRob255IFJ1bWJsZSA8YXJ1bWJsZUBleHRyby51Y2Muc3UuT1ouQVU+CisgICAgICBBbnRvbiBCbGFuY2hhcmQgPGFudG9uQHNhbWJhLm9yZz4KKyAgICAgIEFudG9uaW8gQ2ViYWxsb3MgUm9hIDxhY2ViYWxsb3NAZ21haWwuY29tPgorICAgICAgQW50b24gVi4gQm95YXJzaGlub3YgPGJveWFyc2hAYWx0bGludXgub3JnPgorICAgICAgQXJpZiBFLiBOdWdyb2hvIDxhcmlmX2VuZHJvQHlhaG9vLmNvbT4KKyAgICAgIEFya2FkaXVzeiBNacWba2lld2ljeiA8YXJla21AbWF2ZW4ucGw+CisgICAgICBBcm5hdWQgTW91aWNoZSA8YXJuYXVkLm1vdWljaGVAaW52b3hpYS5jb20+CisgICAgICBBcnVuIFBlcnNhdWQgPGFydW5AbnViYXRpLm5ldD4KKyAgICAgIEF0dGlsYSDDgWZyYSA8YXR0aWxhLmFmcmFAZ21haWwuY29tPgorICAgICAgQXVyZWxpZW4gQXB0ZWwgPGFhcHRlbEBzdXNlLmNvbT4KKyAgICAgIEF1cmVsaWVuIEphcm5vIDxhdXJlbDMyQGRlYmlhbi5vcmc+CisgICAgICBCYWxpbnQgQ3Jpc3RpYW4gPGNiYWxpbnRAcmVkaGF0LmNvbT4KKyAgICAgIEJhc3RpYW4gRnJpZWRyaWNoIDxiYXN0aWFuLmZyaWVkcmljaEBjb2xsYXguY29tPgorICAgICAgQmVuIEh1dGNoaW5ncyA8YmVuQGRlY2FkZW50Lm9yZy51az4KKyAgICAgIEJlbmphbWluIFJvYmluIDxkZXZAYmVuamFyb2Jpbi5mcj4KKyAgICAgIEJlbmphbWluIFJvbWVyIDxiZW5qYW1pbi5yb21lckB1bmlzeXMuY29tPgorICAgICAgQmVubm8gU2NodWxlbmJlcmcgPGJlbnNiZXJnQGp1c3RlbWFpbC5uZXQ+CisgICAgICBCZXJuYXJkbyBJbm5vY2VudGkgPGJlcm5pZUBjb2Rld2l6Lm9yZz4KKyAgICAgIEJlcm5oYXJkIFZvZWxrZXIgPG1haWxAYmVybmhhcmQtdm9lbGtlci5kZT4KKyAgICAgIEJlcm5oYXJkIFdhbGxlIDxid2FsbGVAc3VzZS5kZT4KKyAgICAgIEJlcnQgdmFuIEhhbGwgPGJlcnQudmFuaGFsbEBhdmlvbmljLWRlc2lnbi5kZT4KKyAgICAgIEJpbGwgUGVtYmVydG9uIDx3ZnA1cEB2aXJnaW5pYS5lZHU+CisgICAgICBCaWxsIFBlbWJlcnRvbiA8d2ZwNXBAd29ybGRicm9rZW4uY29tPgorICAgICAgQmlsbCBSZXlub2xkcyA8YmlsbEBnb3NoYXdrLmxhbmwuZ292PgorICAgICAgQmphcm5pIEluZ2kgR2lzbGFzb24gPGJqYXJuaWlnQHJoaS5oaS5pcz4KKyAgICAgIEJqw7ZybiBKYWNrZSA8YmpAc2VybmV0LmRlPgorICAgICAgQmrDuHJuIE1vcmsgPGJqb3JuQG1vcmsubm8+CisgICAgICBCb2IgUHJvdWx4IDxyd3BAaHByd3AuZmMuaHAuY29tPgorICAgICAgQm9yaXMgRWdvcm92IDxlZ29yb3ZAbGludXguY29tPgorICAgICAgQm9ydXQgTXJhayA8Ym9ydXRtcmFrQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KKyAgICAgIEJyYWQgRm9yc2NoaW5nZXIgPGJuamZAYm5qZi5pZC5hdT4KKyAgICAgIEJyeW4gTS4gUmVldmVzIDxibXJAZXJyb3Jpc3RzLm9yZz4KKyAgICAgIEIgV2F0c29uIDx5YWxoY3J1QGdtYWlsLmNvbT4KKyAgICAgIENhaSBRaWFuIDxxY2FpQHJlZGhhdC5jb20+CisgICAgICBDYXJsb3MgTWFpb2xpbm8gPGNtYWlvbGlub0ByZWRoYXQuY29tPgorICAgICAgQ2FybG9zIFNhbnRvcyA8Y2FzYW50b3NAZGF0YWNvbS5pbmQuYnI+CisgICAgICBDYXNwZXIgVGkuIFZlY3RvciA8Y2FzcGVydmVjdG9yQGdtYWlsLmNvbT4KKyAgICAgIENoYW5kYW4gQiBSYWplbmRhIDxjaGFuZGFuQGxpbnV4LnZuZXQuaWJtLmNvbT4KKyAgICAgIGNoYXMgd2lsbGlhbXMgLSBDT05UUkFDVE9SIDxjaGFzQGNtZi5ucmwubmF2eS5taWw+CisgICAgICBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CisgICAgICBDaG93IExvb25nIEppbiA8aHlwZXJhaXJAdWJ1bnR1LmNvbT4KKyAgICAgIENocmlzIEZyb3N0IDxjaHJpc0Bmcm9zdG5ldC5uZXQ+CisgICAgICBDaHJpcyBNYWNHcmVnb3IgPGNocmlzbWFjZ3JlZ29yQGdvb2dsZS5jb20+CisgICAgICBDaHJpcyBNZXRjYWxmIDxjbWV0Y2FsZkBtZWxsYW5veC5jb20+CisgICAgICBDaHJpc3RpYW4gdm9uIFJvcXVlcyA8cm9xdWVzQGp1bGlldC5rYS5zdWIub3JnPgorICAgICAgQ2hyaXN0aWFuIFdpZXNlIDxjaHJpc0BvcGVuc2RlLm9yZz4KKyAgICAgIENocmlzdG9waGUgQmxhZXNzIDxDaHJpc3RvcGhlQEJsYWVzcy5mcj4KKyAgICAgIENocmlzdG9waCBFZ2dlciA8Y2hyaXN0b3BoQGRlYmlhbi5vcmc+CisgICAgICBDaHJpc3RvcGggSGVsbHdpZyA8aGNoQGluZnJhZGVhZC5vcmc+CisgICAgICBDaHJpc3RvcGggSnVuZ2hhbnMgPG90dHhvckBnZW50b28ub3JnPgorICAgICAgQ2hyaXN0b3BoIExhbWV0ZXIgPGNsYW1ldGVyQG1pcmlhbS5mdWxsZXIuZWR1PgorICAgICAgQ2hyaXMgV2ViYiA8Y2hyaXNAYXJhY2hzeXMuY29tPgorICAgICAgQ2xhdXMgSGluZHNnYXVsIDxjbGF1c19oQGltYWdlLmRrPgorICAgICAgQ2xpZmYgV2lja21hbiA8Y3B3QHNnaS5jb20+CisgICAgICBDbHl0aWUgU2lkZGFsbCA8Y2x5dGllQHJpdmVybGFuZC5uZXQuYXU+CisgICAgICBDb2R5IE1hbG9uZXkgPGNtYWxvbmV5QHRoZW9yZXRpY2FsY2hhb3MuY29tPgorICAgICAgQ29saW4gV2F0c29uIDxjandhdHNvbkBjYW5vbmljYWwuY29tPgorICAgICAgQ29uZyBXYW5nIDx4aXlvdS53YW5nY29uZ0BnbWFpbC5jb20+CisgICAgICBDb3JlbnRpbiBDaGFyeSA8Y29yZW50aW5jakBpa3NhaWYubmV0PgorICAgICAgQ3Jpc3RpYW4gUm9kcsOtZ3VleiA8Y3Jyb2RyaWd1ZXpAb3BlbnN1c2Uub3JnPgorICAgICAgQ3NhYmEgS29zIDxjc2FiYS5rb3NAZ21haWwuY29tPgorICAgICAgRGFpc3VrZSBZYW1hc2hpdGEgPHlhbWFkQG1iLmluZm93ZWIubmUuanA+CisgICAgICBEYW5pZWwgRHJha2UgPGRzZEBsYXB0b3Aub3JnPgorICAgICAgRGFuaWVsIEthaG4gR2lsbG1vciA8ZGtnQGZpZnRoaG9yc2VtYW4ubmV0PgorICAgICAgRGFuaWVsIE1pZXJzd2EgPGltcHVsemVAaW1wdWx6ZS5vcmc+CisgICAgICBEYW5pZWwgTnlsYW5kZXIgPHBvQGRhbmllbG55bGFuZGVyLnNlPgorICAgICAgRGFuaWVsIFF1aW5sYW4gPHF1aW5sYW5AeWdnZHJhc2lsLmNvbT4KKyAgICAgIERhbmllbCBTaGFoYWYgPGRhbmllbHNoQGFwYWNoZS5vcmc+CisgICAgICBEYW5pZWwgU3RvZGRlbiA8ZGFuaWVsLnN0b2RkZW5AZ29vZ2xlbWFpbC5jb20+CisgICAgICBEYW5pZWwgVGh1bWltIDxkdGh1bWltQG1pdC5lZHU+CisgICAgICBEYW5pZWwgVHJlYmJpZW4gPGR0cmViYmllbkBnbWFpbC5jb20+CisgICAgICBEYXZlIFJlaXNuZXIgPGRyZWlzbmVyQGFyY2hsaW51eC5vcmc+CisgICAgICBEYXZpZCBCcm93bmVsbCA8ZGF2aWQtYkBwYWNiZWxsLm5ldD4KKyAgICAgIERhdmlkIEhvbGxhbmQgPGRob2xsYW5kQGhjcy5oYXJ2YXJkLmVkdT4KKyAgICAgIERhdmlkbG9ociBCdWVzbyA8ZGF2aWRsb2hyQGhwLmNvbT4KKyAgICAgIERhdmlkIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KKyAgICAgIERhdmlkIFByw6l2b3QgPGRhdmlkQHRpbGFwaW4ub3JnPgorICAgICAgRGF2aWQgU2hlYSA8ZHNoZWFAcmVkaGF0LmNvbT4KKyAgICAgIERhdmlkIFdvb2Rob3VzZSA8ZHdtdzJAaW5mcmFkZWFkLm9yZz4KKyAgICAgIERlaXogPHNpbHZlcndyYWl0aGlpQGdtYWlsLmNvbT4KKyAgICAgIERlbmlzIENoZW5nUnEgPGNycXVhbkBnbWFpbC5jb20+CisgICAgICBEZW5uaXMgR2lsbW9yZSA8ZGVubmlzQGF1c2lsLnVzPgorICAgICAgRGVubmlzIEggSmVuc2VuIDxkZW5uaXMuaC5qZW5zZW5Ac2llbWVucy5jb20+CisgICAgICBEZW5uaXMgSmVuc2VuIDxkZW5uaXMuaC5qZW5zZW5Ac2llbWVucy5jb20+CisgICAgICBEaWVnbyBFbGlvICdGbGFtZWV5ZXMnIFBldHRlbsOyIDxmbGFtZWV5ZXNAZ21haWwuY29tPgorICAgICAgRGltYSBLb2dhbiA8ZGtvZ2FuQGNkcy5jYWx0ZWNoLmVkdT4KKyAgICAgIERtaXRyeSBWLiBMZXZpbiA8bGR2QGFsdGxpbnV4Lm9yZz4KKyAgICAgIERvbmcgSGFvIDxoYW9kb25nQGxpbnV4LnZuZXQuaWJtLmNvbT4KKyAgICAgIERvbmdsaSBaaGFuZyA8ZG9uZ2xpLnpoYW5nQG9yYWNsZS5jb20+CisgICAgICBEb25nc3UgUGFyayA8ZG9uZ3N1LnBhcmtAcHJvZml0YnJpY2tzLmNvbT4KKyAgICAgIERvdWdsYXMgRS4gUXVhbGUKKyAgICAgIERvdWcgUXVhbGUgPHF1YWxlQHNhYXZpay5jcy53aXNjLmVkdT4KKyAgICAgIEVkIENhcnAKKyAgICAgIEVsYW4gUnV1c2Ftw6RlIDxnbGVuQGRlbGZpLmVlPgorICAgICAgRXJpYyBSYW5uYXVkIDxlQG5hbm9jcml0aWNhbC5jb20+CisgICAgICBFcmljIFJhc211c3NlbiA8ZWFyQHVzZmlyc3Qub3JnPgorICAgICAgRXJpYyBTYW5kZWVuIDxzYW5kZWVuQHJlZGhhdC5jb20+CisgICAgICBFcmljIFMuIFJheW1vbmQgPGVzckB0aHlyc3VzLmNvbT4KKyAgICAgIEVyaWMgVy4gQmllZGVybWFuIDxlYmllZGVybUB4bWlzc2lvbi5jb20+CisgICAgICBFcmlrIFRyb2FuCisgICAgICBFcnl1IEd1YW4gPGd1YW5lcnl1QGdtYWlsLmNvbT4KKyAgICAgIEV1Z2VuZSBZdW5hayA8ZXVnZW5lQHl1bmFrLmV1PgorICAgICAgRXZnZW5peSBZYWt1c2hldiA8eWVuODFAbWFpbC5ydT4KKyAgICAgIEZhYmlhbiBHcm9mZmVuIDxncm9iaWFuQGdlbnRvby5vcmc+CisgICAgICBGZWRlcmljbyBTaW1vbmNlbGxpIDxmc2ltb25jZUByZWRoYXQuY29tPgorICAgICAgRmlsaXBlIEJyYW5kZW5idXJnZXIgPGZpbGJyYW5kZW5AZ29vZ2xlLmNvbT4KKyAgICAgIEZsw6F2aW8gTGVpdG5lciA8ZmxlaXRuZXJAcmVkaGF0LmNvbT4KKyAgICAgIEZsb3JlbnRpbiBEdW5lYXUgPGZkdW5lYXVAZ21haWwuY29tPgorICAgICAgRmxvcmlhbiBadW1iaWVobCA8ZmxvcnpAZmxvcnouZGU+CisgICAgICBGb3Jlc3QgQm9uZCA8Zm9yZXN0QGFsaXR0bGV0b29xdWlldC5uZXQ+CisgICAgICBGcmFuY2VzY28gQ29zb2xldG8gPGNvc29sZXRvQGdtYWlsLmNvbT4KKyAgICAgIEZyYW5jbyBGaWNodG5lciA8ZnJhbmNvQG9wbnNlbnNlLm9yZz4KKyAgICAgIEZyYW7Dp29pcyBSZXZvbCA8cmV2b2xAZnJlZS5mcj4KKyAgICAgIEZyYW4gRGnDqWd1ZXogPGZyYW5kaWVndWV6QHVidW50dS5jb20+CisgICAgICBGcmFuayBNYXloYXIgPGZtYXloYXJAZ29vZ2xlLmNvbT4KKyAgICAgIEZyw6lkw6lyaWMgQm90aGFteSA8ZnJlZGVyaWMuYm90aGFteUBmcmVlLmZyPgorICAgICAgRnJlZGVyaWNrIEdyb3NlIDxmZ3Jvc2VAc3VnYXJsYWJzLm9yZz4KKyAgICAgIEZyZWRlcmlrICJGcmVzbyIgUy4gT2xlc2VuIDxmcmVzb0BmcmVzby5kaz4KKyAgICAgIGZSRVcgU2NobWlkdCA8ZnJpb3V4QGdtYWlsLmNvbT4KKyAgICAgIEZyaWRvbGluIFBva29ybnkgPGZwb2tvcm55QHJlZGhhdC5jb20+CisgICAgICBHYWJvciBLZWxlbWVuIDxrZWxlbWVuZ0Bnbm9tZS5odT4KKyAgICAgIEdhYnJpZWwgQmFyYXplciA8Z2FicmllbEBveGV2YS5mcj4KKyAgICAgIEdhYnJpZWwgQnVydCA8Z2J1cnRAbm92ZWxsLmNvbT4KKyAgICAgIEdhYnJpZWwgZGUgUGVydGh1aXMgPGcycC5jb2RlQGdtYWlsLmNvbT4KKyAgICAgIEdhYnJpZWxlIEdpYWNvbmUgPDFvNWc0cjhvQGdtYWlsLmNvbT4KKyAgICAgIEdhYnJpZWwgTS4gU2NodXlsZXIgPHNjaHV5bGVyQGVhc2llc3QuY29tPgorICAgICAgR2VvcmcgU2NoaWVzc2VyIDxnZW9yZy5zY2hpZXNzZXJAb3BlbnRlY2guYXQ+CisgICAgICBHZXJoYXJkIFNjaG5laWRlciA8Z3NAaWxmYi50dXdpZW4uYWMuYXQ+CisgICAgICBHZXJyaXQgUmVua2VyIDxnZXJyaXRAZXJnLmFiZG4uYWMudWs+CisgICAgICBHaWFjb21vIDxnaWFjb21vLnBlcmFsZUBnbWFpbC5jb20+CisgICAgICBHaWxsZXMgRXNwaW5hc3NlIDxnLmVzcEBmcmVlLmZyPgorICAgICAgR2l1bGlvIE9yc2VybyA8Z2l1bGlvb0BnbWFpbC5jb20+CisgICAgICBHbGViIEZvdGVuZ2F1ZXItTWFsaW5vdnNraXkgPGdsZWJmbUBhbHRsaW51eC5vcmc+CisgICAgICBHb2ZmcmVkbyBCYXJvbmNlbGxpIDxrcmVpamFja0BpbndpbmQuaXQ+CisgICAgICBHdWFuIFhpbiA8Z3VhbnguYmFjQGdtYWlsLmNvbT4KKyAgICAgIEd1aSBIZWNoZW5nIDxndWloYy5mbnN0QGNuLmZ1aml0c3UuY29tPgorICAgICAgR3VpbGxlbSBKb3ZlciA8Z3VpbGxlbUBoYWRyb25zLm9yZz4KKyAgICAgIEd1bm5hciBSaXR0ZXIgPGctckBiaWdmb290LmRlPgorICAgICAgR3VzdGF2byBaYWNhcmlhcyA8Z3VzdGF2b0B6YWNhcmlhcy5jb20uYXI+CisgICAgICBIYWppbWUgVGFpcmEgPGh0YWlyYUByZWRoYXQuY29tPgorICAgICAgSGFtaXNoIENvbGVtYW4gPGhhbWlzaEB6b3Qub3JnPgorICAgICAgSGFubmVzIFJlaW5lY2tlIDxoYXJlQHN1c2UuZGU+CisgICAgICBIYXJhbGQgSG95ZXIgPGhhcmFsZEByZWRoYXQuY29tPgorICAgICAgSGF5ZGVuIEphbWVzIDxoYXlkZW4uamFtZXNAZ21haWwuY29tPgorICAgICAgSGVpa28gQ2Fyc3RlbnMgPGhlaWtvLmNhcnN0ZW5zQGRlLmlibS5jb20+CisgICAgICBIZWxnZSBEZWxsZXIgPGRlbGxlckBnbXguZGU+CisgICAgICBIZWxtdXQgR3JvaG5lIDxoZWxtdXRAc3ViZGl2aS5kZT4KKyAgICAgIEhlbmRyaWsgTMO2bm5ncmVuIDx3aWtpYnVnc0Bnb29nbGVtYWlsLmNvbT4KKyAgICAgIEhlbm5lIFZvZ2Vsc2FuZyA8aHZvZ2VsQG9wZW5zdXNlLm9yZz4KKyAgICAgIEguSi4gTHUgPGhsdUBlZWNzLndzdS5lZHU+CisgICAgICBILiBQZXRlciBBbnZpbiA8aHBhQHp5dG9yLmNvbT4KKyAgICAgIEhVQU5HIFdlaSA8d2VpaEBvcGVyYS5jb20+CisgICAgICBIdWdoIERpY2tpbnMgPGh1Z2hkQGdvb2dsZS5jb20+CisgICAgICBIdW1iZXJ0byBadWF6YWdhCisgICAgICBIdXNjaGFhbSBIdXNzYWluIDxIdXNjaGFhbS5IdXNzYWluQGhwLmNvbT4KKyAgICAgIEh1c2hhbiBKaWEgPGh1c2hhbi5qaWFAZ21haWwuY29tPgorICAgICAgSWFuIFdpZW5hbmQgPGl3aWVuYW5kQHJlZGhhdC5jb20+CisgICAgICBJZ29yIEJhemhpdG92IDxpZ29yLmJhemhpdG92QGdtYWlsLmNvbT4KKyAgICAgIElnb3IgR25hdGVua28gPGkuZ25hdGVua28uYnJhaW5AZ21haWwuY29tPgorICAgICAgaWhubyA8aWhub0BzdXNlLmRlPgorICAgICAgSWxpYXMgTWFtZWRvdiA8YXJrbmlyQHlhbmRleC5ydT4KKyAgICAgIEltcmUgS2Fsb3ogPGthbG96QG9wZW53cnQub3JnPgorICAgICAgSW5nbyBCcsO8Y2tsIDxpYkB3dXBwZXJvbmxpbmUuZGU+CisgICAgICBJc2FhYyBEdW5oYW0gPGliaWQuYWdAZ21haWwuY29tPgorICAgICAgSmFha2tvIEh5dsOkdHRpIDxIWVZBVFRJQGNjLmhlbHNpbmtpLmZpPgorICAgICAgSmFrb2IgVW50ZXJ3dXJ6YWNoZXIgPGpha29idW50QGdtYWlsLmNvbT4KKyAgICAgIEpha3ViIEJvZ3VzeiA8cWJvb3NoQHBsZC1saW51eC5vcmc+CisgICAgICBKYW1lcyBCb3R0b21sZXkgPEphbWVzLkJvdHRvbWxleUBIYW5zZW5QYXJ0bmVyc2hpcC5jb20+CisgICAgICBKYW1lcyBCdXJlbiA8cnl1b0BmcnVnYWx3YXJlLm9yZz4KKyAgICAgIEphbWVzIENsYXJrZSA8anJ0YzI3QGpydGMyNy5jb20+CisgICAgICBKYW1lcyBIdW50IDxqYW1lcy5odW50QHVidW50dS5jb20+CisgICAgICBKYW1lcyBMZSBDdWlyb3QgPGNoZXdpQGF1cmEtb25saW5lLmNvLnVrPgorICAgICAgSmFtZXMgWW91bmdtYW4gPGpheUBnbnUub3JnPgorICAgICAgSmFuIEVuZ2VsaGFyZHQgPGplbmdlbGhAbWVkb3phcy5kZT4KKyAgICAgIEphbiBLYXJhIDxqYWNrQHN1c2UuY3o+CisgICAgICBKYW4gU2FyZW5payA8anNhcmVuaWtAcmVkaGF0LmNvbT4KKyAgICAgIEphbiAoeWFjKSBNYXTEm2prYSA8Sk1hdGVqa2FAc3VzZS5jej4KKyAgICAgIEphbiAiWWVueWEiIEthc3ByemFrIDxrYXNAZmkubXVuaS5jej4KKyAgICAgIEphcmkgQWFsdG8gPGphcmkuYWFsdG9AY2FudGUubmV0PgorICAgICAgSmFyb21pciBDYXBpayA8amNhcGlrQHJlZGhhdC5jb20+CisgICAgICBKYXNvbiBCb3JkZW4gPGpib3JkZW5AYmx1ZWhvc3QuY29tPgorICAgICAgSmFzb24gVmFzIERpYXMgPGp2ZGlhc0ByZWRoYXQuY29tPgorICAgICAgSmVhbi1Mb3VwICdjbGlwcGl4JyBCb2dhbGhvIDxjbGlwcGl4QGxzZS5lcGl0YS5mcj4KKyAgICAgIEplZmYgTWFob25leSA8amVmZm1Ac3VzZS5jb20+CisgICAgICBKZW5zIEtyaXN0aWFuIFPDuGdhYXJkIDxqZW5zQG1lcm1haWRjb25zdWx0aW5nLmRrPgorICAgICAgSmVyZW15IEZpdHpoYXJkaW5nZSA8amVyZW15QHN1aXRlLnN3Lm96LmF1PgorICAgICAgSmVyZW15IEh1bnR3b3JrIDxqaHVudHdvcmtAbGlnaHRjdWJlc29sdXRpb25zLmNvbT4KKyAgICAgIEplcm9lbiBPb3J0d2lqbiA8b29ydHdpam5AZ21haWwuY29tPgorICAgICAgSmVzcGVyIERhaGwgTnllcnVwIDxueWVydXBAb25lLmNvbT4KKyAgICAgIEplc3NlIFRoaWxvIDxqZXNzZS50aGlsb0Bwb2JveC5jb20+CisgICAgICBKaW0gTWV5ZXJpbmcgPGppbUBtZXllcmluZy5uZXQ+CisgICAgICBKaW5kcmljaCBNYWtvdmlja2EgPG1ha292aWNrQGdtYWlsLmNvbT4KKyAgICAgIEppcm8gU0VLSUJBIDxqaXJAdW5pY3VzLmpwPgorICAgICAgSm9lIEhhbnNlbiA8am9lZGFsdG9uMkB5YWhvby5kaz4KKyAgICAgIEpvaG4gS2VlcGluZyA8am9obi5rZWVwaW5nQGxpbmVvbmUubmV0PgorICAgICAgSm9obiBMaW5kZ3JlbiA8am9obi5saW5kZ3JlbkB0ZHMubmV0PgorICAgICAgSm9obiBQYXVsIE1vcnJpc29uIDxqbW9ycmlzb0ByZmxhYi5lZS51YmMuY2E+CisgICAgICBKb25hdGhhbiBMaXUgPG5ldDE0N0BnbWFpbC5jb20+CisgICAgICBKb24gR3JhbnQgPGpnQGpndWsub3JnPgorICAgICAgSm9uIFJpbmdsZSA8am9uQHJpbmdsZS5vcmc+CisgICAgICBKw7ZyZyBKZW5kZXJlayA8am9lcmcuamVuLmRlci5la0BnbXgubmV0PgorICAgICAgSm9zZXBoIFBhcm1lbGVlIDxqcGFybWVsZUB3aWxkYmVhci5jb20+CisgICAgICBKb3NlcCBQdWlnZGVtb250IDxqb3NlcC5wdWlnZGVtb250QGdtYWlsLmNvbT4KKyAgICAgIEpvc2ggVHJpcGxldHQgPGpvc2hAam9zaHRyaXBsZXR0Lm9yZz4KKyAgICAgIEpvc2h1YSBIdWRzb24gPGpvc2h1ZHNvbkBnbWFpbC5jb20+CisgICAgICBKb3NpYWggV29yY2VzdGVyIDxqb3NpYWh3QGdtYWlsLmNvbT4KKyAgICAgIEp1aGEgTGFpaG8gPGpsYWlob0BpY2hhb3MubnVsbG5ldC5maT4KKyAgICAgIEp1biBIYW1hbm8gPGp1bmlvQHNoYWRvdy50d2luc3VuLmNvbT4KKyAgICAgIEp1c3RpbiBCIFJ5ZSA8amJyQGVkbHVnLm9yZy51az4KKyAgICAgIEogV2lsbGlhbSBQaWdnb3R0IDxlbHNlaWZ0aGVuQGdteC5jb20+CisgICAgICBLYWlHYWkgS29oZWkgPGthaWdhaUBrYWlnYWkuZ3IuanA+CisgICAgICBLYWxldiBTb2lrb25lbiA8a3NvcEBob3QuZWU+CisgICAgICBLYWxpZ3VsZSA8Q29kZUBzY2hhdWRlcmJhc2lzLmRlPgorICAgICAgS2F5IFNpZXZlcnMgPGtheS5zaWV2ZXJzQHZyZnkub3JnPgorICAgICAgS2VlcyBDb29rIDxrZWVzLmNvb2tAY2Fub25pY2FsLmNvbT4KKyAgICAgIEtlbiBLb3BpbiA8a2Vua29waW5AZ21haWwuY29tPgorICAgICAgS2VudCBPdmVyc3RyZWV0IDxrZW50Lm92ZXJzdHJlZXRAZ21haWwuY29tPgorICAgICAga2VybmMgPGtlcm5jZWNlQGdtYWlsLmNvbT4KKyAgICAgIEtldmluIEUuIE1hcnRpbiA8bWFydGluQGNzLnVuYy5lZHU+CisgICAgICBrZXZpbi5ncmFuYWRlQGdtYWlsLmNvbSA8a2V2aW4uZ3JhbmFkZUBnbWFpbC5jb20+CisgICAgICBLaXJpbGwgRWxhZ2luIDxraXJlbGFnaW5AZ21haWwuY29tPgorICAgICAgS2lyIEtvbHlzaGtpbiA8a2lyQG9wZW52ei5vcmc+CisgICAgICBLdW5paGlrbyBJTUFJIDxraW1haUBpb2RhdGEuanA+CisgICAgICBMYWRhIFRyaW1hc292YSA8bHRyaW1hc0BzeW5vcHN5cy5jb20+CisgICAgICBMYU1vbnQgSm9uZXMgPGxhbW9udEBkZWJpYW4ub3JnPgorICAgICAgTGFycyBXaXJ6ZW5pdXMKKyAgICAgIExhdXJpIE51cm1pIDxsYW51cm1pQGlraS5maT4KKyAgICAgIExhd3JlbmNlIFJ1c3QgPGxhd3JlbmNlQHNvZnRzeXN0ZW0uY28udWs+CisgICAgICBMZW5uYXJ0IFBvZXR0ZXJpbmcgPGxlbm5hcnRAcG9ldHRlcmluZy5uZXQ+CisgICAgICBMaW51cyBUb3J2YWxkcyA8dG9ydmFsZHNAbGludXgtZm91bmRhdGlvbi5vcmc+CisgICAgICBMaSBaZWZhbiA8bGl6ZkBjbi5mdWppdHN1LmNvbT4KKyAgICAgIEx1Ym9taXIgS3VuZHJhayA8bGt1bmRyYWtAcmVkaGF0LmNvbT4KKyAgICAgIEx1Ym9taXIgUmludGVsIDxsa3VuZHJha0B2My5zaz4KKyAgICAgIEx1Y2lhbm8gQ2hhdmV6IDxsbngxMTM4QHVzLmlibS5jb20+CisgICAgICBMdWR3aWcgTnVzc2VsIDxsdWR3aWcubnVzc2VsQHN1c2UuZGU+CisgICAgICBMdWthcyBDemVybmVyIDxsY3plcm5lckByZWRoYXQuY29tPgorICAgICAgTWFrb3RvIEthdG8gPG1ha290by5rdEBnbWFpbC5jb20+CisgICAgICBNYW50YXMgTWlrdWzEl25hcyA8Z3Jhd2l0eUBnbWFpbC5jb20+CisgICAgICBNYXJjLUFudG9pbmUgUGVyZW5ub3UgPE1hcmMtQW50b2luZUBQZXJlbm5vdS5jb20+CisgICAgICBNYXJjaW4gSnVzemtpZXdpY3ogPG1hcmNpbi5qdXN6a2lld2ljekBsaW5hcm8ub3JnPgorICAgICAgTWFyY28gQ29sb21ibyA8bS5jb2xvbWJvQGVkLmFjLnVrPgorICAgICAgTWFyY28gZCdJdHJpIDxtZEBMaW51eC5JVD4KKyAgICAgIE1hcmVrIE1pY2hhbGtpZXdpY3ogPG1hcmVrbUBpMTdsaW51eGIuaXN0cy5wd3Iud3JvYy5wbD4KKyAgICAgIE1hcmVrIE90YWhhbCA8bWFya290YWhhbEBnbWFpbC5jb20+CisgICAgICBNYXJlayBQb2xhY2VrIDxtbXBvbGFjZWtAZ21haWwuY29tPgorICAgICAgTWFyaW8gQmzDpHR0ZXJtYW5uIDxtYXJpby5ibGFldHRlcm1hbm5AZ21haWwuY29tPgorICAgICAgTWFyayBNY0xvdWdobGluIDxtYXJrbWNAcmVkaGF0LmNvbT4KKyAgICAgIE1hcmt1cyBSaW5uZSA8bWFya3VzLmthLnJpbm5lQGdtYWlsLmNvbT4KKyAgICAgIE1hcnRpbiBLLiBQZXRlcnNlbiA8bWFydGluLnBldGVyc2VuQG9yYWNsZS5jb20+CisgICAgICBNYXJ0aW4gU2NobGVtbWVyIDxhemFyYWhAZ2VudG9vLm9yZz4KKyAgICAgIE1hcnRpbiBTY2h1bHplIDxqb2V5QGluZm9kcm9tLm9yZz4KKyAgICAgIE1hcnRpbiBTdGVpZ2Vyd2FsZCA8bXNAdGVhbWl4LmRlPgorICAgICAgTWFzYXRha2UgWUFNQVRPIDx5YW1hdG9AcmVkaGF0LmNvbT4KKyAgICAgIE1hdHRoZXcgR2FycmV0dCA8bWpnNTlAc3JjZi51Y2FtLm9yZz4KKyAgICAgIE1hdHRoaWFzIEvDtm5pZyA8bWtAcGhhc29ybGFiLmRlPgorICAgICAgTWF1cml6aW8gTG9tYmFyZGkgPG0ubG9tYmFyZGk4NUBnbWFpbC5jb20+CisgICAgICBtYXhpbWlsaWFuIGF0dGVtcyA8bWF4QHN0cm8uYXQ+CisgICAgICBNYXhpbSBMZXZpdHNreSA8bWF4aW1sZXZpdHNreUBnbWFpbC5jb20+CisgICAgICBNYXhpbSBWLiBEeml1bWFuZW5rbyA8bXZkQG15bGludXguY29tLnVhPgorICAgICAgTWF4IEtsaW5nZXIgPG1heEBmcy5sbXUuZGU+CisgICAgICBNZWVsaXMgUm9vcyA8bXJvb3NAbGludXguZWU+CisgICAgICBNaWNoYWVsIEJ1bmsgPGJ1bmtAaWF0LnVuaS1sZWlwemlnLmRlPgorICAgICAgTWljaGFlbCBGb3JuZXkgPG1mb3JuZXlAbWZvcm5leS5vcmc+CisgICAgICBNaWNoYWVsIEdsYWQgPGdsYWRAZGFpbWkuYWF1LmRrPgorICAgICAgTWljaGFlbCBLZXJyaXNrIDxtdGsubWFucGFnZXNAZ21haWwuY29tPgorICAgICAgTWljaGFlbCBNYXJpbmVhdSA8bWljaGFlbC5tYXJpbmVhdUBjb3Jlb3MuY29tPgorICAgICAgTWljaGFlbCBQaWVmZWwgPHBpZWZlbEBpbmZvcm1hdGlrLmh1LWJlcmxpbi5kZT4KKyAgICAgIE1pY2hhxYIgQmFydG9zemtpZXdpY3ogPG1iYXJ0b3N6a2lld2ljekBnbWFpbC5jb20+CisgICAgICBNaWNoYWwgSHVtcHVsYSA8bWljaGFsLmh1bXB1bGFAaHVkcnlkdW0uY3o+CisgICAgICBNaWNoYWwgTHVzY29uIDxtbHVzY29uQHJlZGhhdC5jb20+CisgICAgICBNaWNoYWwgU2NobWlkdCA8bXNjaG1pZHRAcmVkaGF0LmNvbT4KKyAgICAgIE1pY2hhbCBTdWNoYW5layA8aHJhbXJhY2hAZ21haWwuY29tPgorICAgICAgTWljaGVsIFJvYml0YWlsbGUgPHJvYml0YWlsQElSTy5VTW9udHJlYWwuQ0E+CisgICAgICBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisgICAgICBNaWtlIEhvbW1leSA8bWhAZ2xhbmRpdW0ub3JnPgorICAgICAgTWlrZWwgT2xhc2FnYXN0aSBVcmFuZ2EgPGhleV9uZWtlbkBtdW5kdXJhdC5uZXQ+CisgICAgICBNaWtlIFBsYWNlIDxtcEBzYWx0c3RhY2suY29tPgorICAgICAgTWlraGFpbCBHdXNhcm92IDxkb3R0ZWRtYWdAZG90dGVkbWFnLm5ldD4KKyAgICAgIE1pa2xvcyBTemVyZWRpIDxtc3plcmVkaUBzdXNlLmN6PgorICAgICAgTWlsYW4gQm91Y2hldC1WYWxhdCA8bmFsaW1pbGFuQGNsdWIuZnI+CisgICAgICBNaWxhbiBCcm96IDxtYnJvekByZWRoYXQuY29tPgorICAgICAgTWluZyBMZWkgPHRvbS5sZWltaW5nQGdtYWlsLmNvbT4KKyAgICAgIE1pcXVlbCB2YW4gU21vb3JlbmJ1cmcgPG1pcXVlbHNAbWFlc3Ryby5odHNhLmFoYS5ubD4KKyAgICAgIE1pdGNodW0gRFNvdXphCisgICAgICBNb3JpdHogTXVlaGxlbmhvZmYgPGptbUBpbnV0aWwub3JnPgorICAgICAgTS5TLkNvbGNsb3VnaCA8bS5zLmNvbGNsb3VnaEBiaGFtLmFjLnVrPgorICAgICAgTmFtaHl1bmcgS2ltIDxuYW1oeXVuZ0BnbWFpbC5jb20+CisgICAgICBOYXRhbmFlbCBDb3BhIDxuY29wYUBhbHBpbmVsaW51eC5vcmc+CisgICAgICBOYXRlIENsYXJrIDxuYXRlQG5ld29ybGQudXM+CisgICAgICBOYXRoYW4gUm9zc2kgPG5hdGhhbi5yb3NzaUB4aWxpbnguY29tPgorICAgICAgTmVpbCBIb3JtYW4gPG5ob3JtYW5AdHV4ZHJpdmVyLmNvbT4KKyAgICAgIG5pY2sgYmxhY2sgPG5pY2suYmxhY2tAc3ByZXp6YXRlY2guY29tPgorICAgICAgTmljayBIb2xsb3dheSA8Tmljay5Ib2xsb3dheUBweXJpdGVzLm9yZy51az4KKyAgICAgIE5pY29sYWkgTGFuZ2ZlbGR0IDxqYW5sQG1hdGgudWlvLm5vPgorICAgICAgTmljb2xhcyBCb2ljaGF0IDxuaWNvbGFzQGJvaWNoYXQuY2g+CisgICAgICBOaWNvbGFzIFByb3Zvc3QgPG5wcm92b3N0QHF1YWRyaXYuY29tPgorICAgICAgTmlrb2xheSBTaXZvdiA8bnNpdm92QGNvZGV3ZWF2ZXJzLmNvbT4KKyAgICAgIE5pbGfDvG4gQmVsbWEgQnVnw7xuZXIgPG5pbGd1bkBidWd1bmVyLm5hbWUudHI+CisgICAgICBOb3JiZXJ0IEJ1Y2htdWxsZXIgPG5vcmJpQG5peC5odT4KKyAgICAgIE9HQVdBIEhpcm9mdW1pIDxoaXJvZnVtaUBtYWlsLnBhcmtuZXQuY28uanA+CisgICAgICBPbGl2ZXIgRmFsayA8b2xpdmVyQGxpbnV4LWtlcm5lbC5hdD4KKyAgICAgIE9saXZpZXIgQmxpbiA8Ymxpbm9AbWFuZHJpdmEuY29tPgorICAgICAgT2xpdmllciBNZW5ndcOpIDxkb2xtZW5AY3Bhbi5vcmc+CisgICAgICBPbmRyZWogT3ByYWxhIDxvb3ByYWxhQHJlZGhhdC5jb20+CisgICAgICBPc2FtdSBBb2tpIDxvc2FtdUBkZWJpYW4ub3JnPgorICAgICAgUMOhZHJhaWcgQnJhZHkgPFBAZHJhaWdCcmFkeS5jb20+CisgICAgICBQYWxpIFJvaMOhciA8cGFsaS5yb2hhckBnbWFpbC5jb20+CisgICAgICBQYXNjYWwgVGVyamFuIDxwdGVyamFuQG1hbmRyaXZhLmNvbT4KKyAgICAgIFBhdHJpY2UgRHVtYXMgPHBlcnR1c3VzQGZyZWUuZnI+CisgICAgICBQYXRyaWNrIFBsYWd3aXR6IDxwYXRyaWNrLnBsYWd3aXR6QGZhdS5kZT4KKyAgICAgIFBhdWwgRWdnZXJ0IDxlZ2dlcnRAY3MudWNsYS5lZHU+CisgICAgICBQYXVsIEZveCA8cGdmQGxhcHRvcC5vcmc+CisgICAgICBQYXVsaXVzIFphbGVja2FzIDxwYXVsaXVzLnphbGVja2FzQHRlbHRvbmlrYS5sdD4KKyAgICAgIFBhdWwgTWVuemVsIDxwYXVsZXBhbnRlckB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CisgICAgICBQYXZlbCBNYXJ5YW5vdiA8YWNpZEBqYWNrLmtpZXYudWE+CisgICAgICBwY3BhIDxwYXVsby5jZXNhci5wZXJlaXJhLmRlLmFuZHJhZGVAZ21haWwuY29tPgorICAgICAgUGVkcm8gTWlndWVsIENhcnZhbGhvIDxQZWRyb01DQHBtYy5jb20ucHQ+CisgICAgICBQZWRybyBSaWJlaXJvIDxwLm00Mi5yaWJlaXJvQGdtYWlsLmNvbT4KKyAgICAgIHBlcHBlIDxnMXBpQGxpYmVyby5pdD4KKyAgICAgIFBldGVyIEJyZWl0ZW5sb2huZXIgPHBlYkBtcHBtdS5tcGcuZGU+CisgICAgICBQZXRlciBDb3JkZXMgPHBldGVyQGNvcmRlcy5jYT4KKyAgICAgIFBldGVyIERlIFdhY2h0ZXIgPHBkZXdhY2h0QGdtYWlsLmNvbT4KKyAgICAgIFBldGVyIEhvZWcgPHBldGVyQHNwZWFydGFpbC5jb20+CisgICAgICBQZXRlciBKb25lcyA8cGpvbmVzQHJlZGhhdC5jb20+CisgICAgICBQZXRlciBPcmJhZWsgPHBvZUBkYWltaS5hYXUuZGs+CisgICAgICBQZXRlciBSYWpub2hhIDxwcmFqbm9oYUByZWRoYXQuY29tPgorICAgICAgUGV0ZXIgVG9iaWFzIDx0b2JpYXNAc2VydmVyLmV0LWluZi5maG8tZW1kZW4uZGU+CisgICAgICBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorICAgICAgUGV0ZXIgVm9sa292IDxwdmFAZ2VudG9vLm9yZz4KKyAgICAgIFBldHIgUMOtc2HFmSA8cGV0ci5waXNhckBhdGxhcy5jej4KKyAgICAgIFBldHIgVXplbCA8cGV0ci51emVsQHN1c2UuY3o+CisgICAgICBQaGFuIFZpbmggVGhpbmggPHRlcHBpODJAZ21haWwuY29tPgorICAgICAgUGhpbGlwcCBNYXJlayA8cGhpbGlwcC5tYXJla0BsaW5iaXQuY29tPgorICAgICAgUGhpbGlwcCBUaG9tYXMgPHB0aEBzdXNlLmRlPgorICAgICAgUGhpbGxpcCBTdXNpIDxwc3VzaUB1YnVudHUuY29tPgorICAgICAgUGhpbCBSdWZmd2luZCA8cmZAcnVmZmxld2luZC5jb20+CisgICAgICBQaWVycmUgSGF1d2VlbGUgPGFudGVnYWxseWFAZ21haWwuY29tPgorICAgICAgUGlldHJvIENhc3RlbGxpCisgICAgICBQby1ZdSBDaHVhbmcgPHJhdGJlcnRAZmFyYWRheS10ZWNoLmNvbT4KKyAgICAgIFJhZmFlbCBBcXVpbmkgPGFxdWluaUByZWRoYXQuY29tPgorICAgICAgUmFmYWVsIEZlcnJlaXJhIDxyYWZhZWwuZi5mMUBnbWFpbC5jb20+CisgICAgICBSYWZhZWwgRm9udGVuZWxsZSA8cmZmb250ZW5lbGxlQGdtYWlsLmNvbT4KKyAgICAgIFJhZ2hhdmVuZHJhIEQgUHJhYmh1IDxycHJhYmh1QHdub2hhbmcubmV0PgorICAgICAgUmFpbmVyIEdlcmhhcmRzIDxyZ2VyaGFyZHNAYWRpc2Nvbi5jb20+CisgICAgICBSYWplZXYgVi4gUGlsbGFpIDxyYWplZXZ2cEBnbWFpbC5jb20+CisgICAgICBSYW0gUGFpIDxsaW51eHJhbUB1cy5pYm0uY29tPgorICAgICAgUmFuZG9scGggQmVudHNvbiA8YmVudHNvbkBncmllZy5zZWFzbHVnLm9yZz4KKyAgICAgIFJhbmR5IER1bmxhcCA8cmFuZHkuZHVubGFwQG9yYWNsZS5jb20+CisgICAgICBSYXBoYWVsIFMuIENhcnZhbGhvIDxyYXBoYWVsc2NAY2xvdWRpdXMtc3lzdGVtcy5jb20+CisgICAgICBSYXVsIEd1dGllcnJleiBTZWdhbGVzIDxyZ3NAaXRldmVud29ya3MubmV0PgorICAgICAgUmF5IFdhbmcgPHdhbmdsZWkxMTIzQGdtYWlsLmNvbT4KKyAgICAgIFJpY2hhcmQgVG9sbGVydG9uIDxyaWNoLnRvbGxlcnRvbkBuaS5jb20+CisgICAgICBSaWNoYXJkIFdlaW5iZXJnZXIgPHJpY2hhcmRAbm9kLmF0PgorICAgICAgUmljaGFyZCBXLk0uIEpvbmVzIDxyam9uZXNAcmVkaGF0LmNvbT4KKyAgICAgIFJpY2hhcmQgWWFubiA8eWFubi5yaWNoYXJkQHVoYi5mcj4KKyAgICAgIFJpY2hhcmQgWWFvIDxyeWFvQGdlbnRvby5vcmc+CisgICAgICBSaWNrYXJkIEZhaXRoIDxmYWl0aEBjcy51bmMuZWR1PgorICAgICAgUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKyAgICAgIFJpayB2YW4gUmllbCA8cmllbEByZWRoYXQuY29tPgorICAgICAgUm9iZXJ0IEbDtnJzdGVyIDxEZXNzYUBnbWFrZS5kZT4KKyAgICAgIFJvYmVydCBNaWxsYW4gPHJtaEBkZWJpYW4ub3JnPgorICAgICAgUm9iZXJ0IFNjaGllbGUgPHJzY2hpZWxlQGdtYWlsLmNvbT4KKyAgICAgIFJvZHJpZ28gQ2FtcG9zIDxyb2RyaWdvQHNkZmcuY29tLmFyPgorICAgICAgUm9kcmlnbyBTdHVsemVyIExvcGVzIDxyb2RyaWdvQGNvbmVjdGl2YS5jb20uYnI+CisgICAgICBSb2xmIEZva2tlbnMgPHJvbGZAcm9sZmZva2tlbnMubmw+CisgICAgICBSb21haW4gQm91dmllciA8c2t1bm55a0BhbHRlcm9vdC5vcmc+CisgICAgICBSb21haW4gTmFvdXIgPHJvbWFpbi5uYW91ckBnbWFpbC5jb20+CisgICAgICBSb25ueSBDaGV2YWxpZXIgPGNoZXZhbGllci5yb25ueUBnbWFpbC5jb20+CisgICAgICBSb24gU29tbWVsaW5nIDxzb21tZWxAc2NpLmt1bi5ubD4KKyAgICAgIFJvc3MgQmlybyA8Ymlyb0B5Z2dkcmFzaWwuY29tPgorICAgICAgUm9zdGlzbGF2IFNrdWRub3YgPHJvc3Rpc2xhdkB0dXhlcmEuY29tPgorICAgICAgUm95IFBlbGVkIDx0aGUucm95LnBlbGVkQGdtYWlsLmNvbT4KKyAgICAgIFJ1ZWRpZ2VyIE1laWVyIDxydWVkaWdlci5tZWllckBnYS1ncm91cC5ubD4KKyAgICAgIFNhbWkgS2Vyb2xhIDxrZXJvbGFzYUBpa2kuZmk+CisgICAgICBTYW1pIExpZWRlcyA8c2FtaS5saWVkZXNAaWtpLmZpPgorICAgICAgU2FtdWVsIFRoaWJhdWx0IDxzYW11ZWwudGhpYmF1bHRAZW5zLWx5b24ub3JnPgorICAgICAgU2FtIFZhcnNoYXZjaGlrIDxtcnNhbUBjb3VyaWVyLW10YS5jb20+CisgICAgICBTYW5kZXIgdmFuIE1hbHNzZW4gPHN2bUBrb3ptaXgub3cubmw+CisgICAgICBTYW50aWFnbyBWaWxhIERvbmNlbCA8c2FudmlsYUB1bmV4LmVzPgorICAgICAgU2FzY2hhIFNvbW1lciA8c3NvbW1lckBzdXNlLmRlPgorICAgICAgU2Fzc2FuIFBhbmFoaW5lamFkIDxzYXNzYW5Ac2Fzc2FuLm1lLnVrPgorICAgICAgU2NvdHQgSmFtZXMgUmVtbmFudCA8c2NvdHRAdWJ1bnR1LmNvbT4KKyAgICAgIFNjb3R0IE1vc2VyIDxzbW9zZXJAdWJ1bnR1LmNvbT4KKyAgICAgIFNjb3R0IFRlbGZvcmQgPHN0QGVwY2MuZWQuYWMudWs+CisgICAgICBTZWJhc3RpYW4gQW5kcnplaiBTaWV3aW9yIDxzZWJhc3RpYW5AYnJlYWtwb2ludC5jYz4KKyAgICAgIFNlYmFzdGlhbiBLcmFobWVyIDxrcmFobWVyQHN1c2UuZGU+CisgICAgICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAZ21haWwuY29tPgorICAgICAgU2VyZ2UgSGFsbHluIDxzZXJnZS5oYWxseW5AdWJ1bnR1LmNvbT4KKyAgICAgIFNlcmdlaSBBbnRvbm92IDxzYXByb2pAZ21haWwuY29tPgorICAgICAgU2VyZ2V5IEd1c2Fyb3YgPGxhYm9yZXIyMDA4QGdtYWlsLmNvbT4KKyAgICAgIFNoYWNoYXIgU2hlbWVzaCA8c2hhY2hhckBkZWJpYW4ub3JnPgorICAgICAgU2ltb24gTWloZXZjIDxzaW1vbm1paGV2Y0BlbWFpbC5zaT4KKyAgICAgIFPDuHJlbiBIb2xtIDxzZ2hAc2doLmRrPgorICAgICAgcy5wQG9yYml0YWxmb3guY29tIDxzLnBAb3JiaXRhbGZveC5jb20+CisgICAgICBTdGFuaXNsYXYgQnJhYmVjIDxzYnJhYmVjQHN1c2UuY3o+CisgICAgICBTdGVmYW4gS3JhaCA8c3RlZmFuQGJ5dGVyZWVmLm9yZz4KKyAgICAgIFN0ZWYgV2FsdGVyIDxzdGVmd0ByZWRoYXQuY29tPgorICAgICAgU3RlcGFuIEthc2FsIDxza2FzYWxAcmVkaGF0LmNvbT4KKyAgICAgIFN0w6lwaGFuZSBBdWxlcnkgPGxrcHBvQGZyZWUuZnI+CisgICAgICBTdGVwaGFuIE1ha2EgPHN0ZXBoYW5Ac3BhY2Vib3l6Lm5ldD4KKyAgICAgIFN0ZXBoYW4gTcO8bGxlciA8ZnJ1a3RvcHVzQGdtYWlsLmNvbT4KKyAgICAgIFN0ZXBoZW4gR2FsbGltb3JlCisgICAgICBTdGVwaGVuIEhlbW1pbmdlciA8c2hlbW1pbmdlckB2eWF0dGEuY29tPgorICAgICAgU3RlcGhlbiBUd2VlZGllIDxzY3RAZGNzLmVkLmFjLnVrPgorICAgICAgU3RldmUgR3J1YmIgPHNncnViYkByZWRoYXQuY29tPgorICAgICAgU3RldmVuIEhvbmV5bWFuIDxzdGV2ZW5ob25leW1hbkB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CisgICAgICBTdGV2ZW4gSi4gTWFnbmFuaSA8c3RldmVAZGlnaWRlc2NvcnAuY29tPgorICAgICAgU3RldmVuIFMuIERpY2sgPHNzZEBuZXZldHMub2F1Lm9yZz4KKyAgICAgIFN0ZXZlIFBoaWxwCisgICAgICBTdGV3YXJ0IFNtaXRoIDxzdGV3YXJ0QGxpbnV4LnZuZXQuaWJtLmNvbT4KKyAgICAgIFN1a2FkZXYgQmhhdHRpcHJvbHUgPHN1a2FkZXZAbGludXgudm5ldC5pYm0uY29tPgorICAgICAgU3ZlbiBFY2tlbG1hbm4gPHN2ZW4uZWNrZWxtYW5uQGdteC5kZT4KKyAgICAgIFN2ZW4gSm9zdCA8c3Zlbi5qb3N0QGdvb2dsZW1haWwuY29tPgorICAgICAgVGFrZXNoaSBIYW1hc2FraSA8aG1hdHJqcEB1c2Vycy5zb3VyY2Vmb3JnZS5qcD4KKyAgICAgIFRlcnJ5IEJ1cnRvbiA8dGV6QHRlcnJ5YnVydG9uLmNvLnVrPgorICAgICAgVGhlb2RvcmUgVHMnbyA8dHl0c29AbWl0LmVkdT4KKyAgICAgIFRoaWVycnkgUmVkaW5nIDx0aGllcnJ5LnJlZGluZ0BhdmlvbmljLWRlc2lnbi5kZT4KKyAgICAgIFRoaWVycnkgVmlnbmF1ZCA8dGhpZXJyeS52aWduYXVkQGdtYWlsLmNvbT4KKyAgICAgIFRob21hcyBCw6RjaGxlciA8dGhvbWFzQGFyY2hsaW51eC5vcmc+CisgICAgICBUaG9tYXMgRmVociA8ZmVockBzdXNlLmRlPgorICAgICAgVGhvbWFzIFBldGF6em9uaSA8dGhvbWFzLnBldGF6em9uaUBmcmVlLWVsZWN0cm9ucy5jb20+CisgICAgICBUaG9tYXMgU2Nod2luZ2UgPHRob21hc0Bjb2Rlc291cmNlcnkuY29tPgorICAgICAgVGhvcnN0ZW4gR2xhc2VyIDx0Z0BtaXJic2Qub3JnPgorICAgICAgVGhvcnN0ZW4gV2lsbWVyIDx3aWxtZXIudGhvcnN0ZW5AZ21haWwuY29tPgorICAgICAgVGlsbWFuIFNjaG1pZHQgPHRpbG1hbkBpbWFwLmNjPgorICAgICAgVGltbyBKdWhhbmkgTGluZGZvcnMgPHRpbW8ubGluZGZvcnNAaWtpLmZpPgorICAgICAgVGltbyBXYXJucyA8V2FybnNAUHJlLVNlbnNlLkRFPgorICAgICAgVGltIFdhdWdoIDx0d2F1Z2hAcmVkaGF0LmNvbT4KKyAgICAgIFRvYmlhcyBLbGF1c2VyIDx0a2xhdXNlckBkaXN0YW56LmNoPgorICAgICAgVG9iaWFzIFN0b2Vja21hbm4gPHRvYmlhc0BzdG9lY2ttYW5uLm9yZz4KKyAgICAgIFRvbSBHdW5kZXJzZW4gPHRlZ0Bqa2xtLm5vPgorICAgICAgVG9taXNsYXYgS3J6bmFyIDx0b21pc2xhdi5rcnpuYXJAZ21haWwuY29tPgorICAgICAgVG9tbWkgS3ludG9sYSA8a3luZGVAaWtpLmZpPgorICAgICAgVG9tbXkgVGhvcm4KKyAgICAgIFRvbSBQcmluY2UgPHRvbS5wcmluY2VAdWFsYmVydGEubmV0PgorICAgICAgVG9yc3RlbiBIaWxicmljaCA8dG9yc3Rlbi5oaWxicmljaEBzZWN1bmV0LmNvbT4KKyAgICAgIFRvc2hpIEthbmkgPHRvc2hpLmthbmlAaHAuY29tPgorICAgICAgVHLhuqduIE5n4buNYyBRdcOibiA8dm53aWxkbWFuQGdtYWlsLmNvbT4KKyAgICAgIFZhbGVyaWUgQXVyb3JhIDx2YXVyb3JhQHJlZGhhdC5jb20+CisgICAgICBWYXNhbnQgSGVnZGUgPGhlZ2RldmFzYW50QGxpbnV4LnZuZXQuaWJtLmNvbT4KKyAgICAgIFZpY3RvciBEb2RvbiA8ZG9kb252aWN0b3JAZ21haWwuY29tPgorICAgICAgVmlsbGUgU2t5dHTDpCA8dmlsbGUuc2t5dHRhQGlraS5maT4KKyAgICAgIFZpbmNlbnQgRGVmZm9udGFpbmVzIDx2aW5jZW50QGdyeXpvci5jb20+CisgICAgICBWaXRlenNsYXYgQ2l6ZWsgPHZjaXpla0BzdXNlLmN6PgorICAgICAgVmxhZGltaXIgQnJlZG5pa292IDx2YnJlZG5pa292QGdtYWlsLmNvbT4KKyAgICAgIFZsYWRpbWlyICfPhi1jb2Rlci9waGNvZGVyJyBTZXJiaW5lbmtvIDxwaGNvZGVyQGdtYWlsLmNvbT4KKyAgICAgIFZvbGtlciBLdWhsbWFubiA8di5rdWhsbWFubkBlbGVjLmNhbnRlcmJ1cnkuYWMubno+CisgICAgICBWb2xrZXIgU2NoYXR6IDxvc3NAdm9sa2Vyc2NoYXR6LmNvbT4KKyAgICAgIFdhbGRlbWFyIEJyb2Rrb3JiIDx3YnhAb3BlbmFkay5vcmc+CisgICAgICBXQU5HIENoYW8gPHdjd3h5ekBnbWFpbC5jb20+CisgICAgICBXYW5sb25nIEdhbyA8d2FubG9uZy5nYW9AZ21haWwuY29tPgorICAgICAgV2F5bmUgUG9sbG9jayA8cHJvZndheW5lcG9sbG9ja0BnbWFpbC5jb20+CisgICAgICBXYXluZSBSLiBSb3RoIDx3YXluZXJvdGg0MkBnbWFpbC5jb20+CisgICAgICBXZWktTHVuIENoYW8gPGJsdWViYXRAbWVtYmVyLmZzZi5vcmc+CisgICAgICBXZXJuZXIgQWxtZXNiZXJnZXIgPGFsbWVzYmVyQGJlcm5pbmEuZXRoei5jaD4KKyAgICAgIFdlcm5lciBGaW5rIDx3ZXJuZXJAc3VzZS5kZT4KKyAgICAgIFdpZWxhbmQgSG9mZm1hbm4gPHRoZW1pbmVvQGdtYWlsLmNvbT4KKyAgICAgIFdpbGxpYW0gUGl0Y29jayA8bmVub2xvZEBkZXJlZmVyZW5jZWQub3JnPgorICAgICAgV2lsbCBKb2hhbnNzb24gPHdpbGwuam9oYW5zc29uQGdtYWlsLmNvbT4KKyAgICAgIFdvbGZnYW5nIFJpY2h0ZXIgPHdvbGZAY3MuY211LmVkdT4KKyAgICAgIFcuIFRyZXZvciBLaW5nIDx3a2luZ0B0cmVtaWx5LnVzPgorICAgICAgV1VFQkJFTFMsIEpvc2VmIDxKb3NlZi5XVUVCQkVMU0BtdHUuZGU+CisgICAgICBXeWxtZXIgV2FuZyA8d2FudGluZ2hhcmRAZ21haWwuY29tPgorICAgICAgVy5aLiBWZW5lbWEKKyAgICAgIFlhbm4gRHJvbmVhdWQgPHlhbm5AZHJvbmVhdWQuZnI+CisgICAgICBZb3NoaWhpcm8gVGFrYWhhc2hpIDx5dGFrYWhhc2hpQG1pcmFjbGVsaW51eC5jb20+CisgICAgICBZdXJpIENob3Jub2l2YW4gPHl1cmNob3JAdWtyLm5ldD4KKyAgICAgIFl1cml5IE0uIEthbWluc2tpeSA8eXVta2FtQGdtYWlsLmNvbT4KKyAgICAgIFl1cml5IE5hemFyb3YgPG5hemFyb3YueXVyaXkucGF2bG92aWNoQGdtYWlsLmNvbT4KKyAgICAgIFl1IFpoaWd1byA8eXV6Z0Bjbi5mdWppdHN1LmNvbT4KKyAgICAgIFphY2hhcnkgQ2F0bGluIDx6QHpjLmlzPgorICAgICAgWmJpZ25pZXcgSsSZZHJ6ZWpld3NraS1Tem1layA8emJ5c3pla0Bpbi53YXcucGw+CisgICAgICBaZGVuZWsgQmVoYW4gPHJhaW5AbWF0Znl6LmN6PgorICAgICAgWmVlc2hhbiBBbGkgKEtoYXR0YWspIDx6ZWVzaGFuYWtAZ25vbWUub3JnPgorICAgICAgWmhpIExpIDxsaXpoaTEyMTVAZ21haWwuY29tPgpkaWZmIC0tZ2l0IGEvQ09QWUlORyBiL0NPUFlJTkcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDE1OTE2OQotLS0gL2Rldi9udWxsCisrKyBiL0NPUFlJTkcKQEAgLTAsMCArMSwzMzkgQEAKKyAgICAgICAgICAgICAgICAgICAgR05VIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UKKyAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbiAyLCBKdW5lIDE5OTEKKworIENvcHlyaWdodCAoQykgMTk4OSwgMTk5MSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQQorIEV2ZXJ5b25lIGlzIHBlcm1pdHRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcworIG9mIHRoaXMgbGljZW5zZSBkb2N1bWVudCwgYnV0IGNoYW5naW5nIGl0IGlzIG5vdCBhbGxvd2VkLgorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJlYW1ibGUKKworICBUaGUgbGljZW5zZXMgZm9yIG1vc3Qgc29mdHdhcmUgYXJlIGRlc2lnbmVkIHRvIHRha2UgYXdheSB5b3VyCitmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgaXQuICBCeSBjb250cmFzdCwgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgZnJlZQorc29mdHdhcmUtLXRvIG1ha2Ugc3VyZSB0aGUgc29mdHdhcmUgaXMgZnJlZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFRoaXMKK0dlbmVyYWwgUHVibGljIExpY2Vuc2UgYXBwbGllcyB0byBtb3N0IG9mIHRoZSBGcmVlIFNvZnR3YXJlCitGb3VuZGF0aW9uJ3Mgc29mdHdhcmUgYW5kIHRvIGFueSBvdGhlciBwcm9ncmFtIHdob3NlIGF1dGhvcnMgY29tbWl0IHRvCit1c2luZyBpdC4gIChTb21lIG90aGVyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBzb2Z0d2FyZSBpcyBjb3ZlcmVkIGJ5Cit0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGluc3RlYWQuKSAgWW91IGNhbiBhcHBseSBpdCB0bworeW91ciBwcm9ncmFtcywgdG9vLgorCisgIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKK3ByaWNlLiAgT3VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VzIGFyZSBkZXNpZ25lZCB0byBtYWtlIHN1cmUgdGhhdCB5b3UKK2hhdmUgdGhlIGZyZWVkb20gdG8gZGlzdHJpYnV0ZSBjb3BpZXMgb2YgZnJlZSBzb2Z0d2FyZSAoYW5kIGNoYXJnZSBmb3IKK3RoaXMgc2VydmljZSBpZiB5b3Ugd2lzaCksIHRoYXQgeW91IHJlY2VpdmUgc291cmNlIGNvZGUgb3IgY2FuIGdldCBpdAoraWYgeW91IHdhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQKK2luIG5ldyBmcmVlIHByb2dyYW1zOyBhbmQgdGhhdCB5b3Uga25vdyB5b3UgY2FuIGRvIHRoZXNlIHRoaW5ncy4KKworICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIG1ha2UgcmVzdHJpY3Rpb25zIHRoYXQgZm9yYmlkCithbnlvbmUgdG8gZGVueSB5b3UgdGhlc2UgcmlnaHRzIG9yIHRvIGFzayB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuCitUaGVzZSByZXN0cmljdGlvbnMgdHJhbnNsYXRlIHRvIGNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBmb3IgeW91IGlmIHlvdQorZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZiB5b3UgbW9kaWZ5IGl0LgorCisgIEZvciBleGFtcGxlLCBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2Ygc3VjaCBhIHByb2dyYW0sIHdoZXRoZXIKK2dyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IGdpdmUgdGhlIHJlY2lwaWVudHMgYWxsIHRoZSByaWdodHMgdGhhdAoreW91IGhhdmUuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUgb3IgY2FuIGdldCB0aGUKK3NvdXJjZSBjb2RlLiAgQW5kIHlvdSBtdXN0IHNob3cgdGhlbSB0aGVzZSB0ZXJtcyBzbyB0aGV5IGtub3cgdGhlaXIKK3JpZ2h0cy4KKworICBXZSBwcm90ZWN0IHlvdXIgcmlnaHRzIHdpdGggdHdvIHN0ZXBzOiAoMSkgY29weXJpZ2h0IHRoZSBzb2Z0d2FyZSwgYW5kCisoMikgb2ZmZXIgeW91IHRoaXMgbGljZW5zZSB3aGljaCBnaXZlcyB5b3UgbGVnYWwgcGVybWlzc2lvbiB0byBjb3B5LAorZGlzdHJpYnV0ZSBhbmQvb3IgbW9kaWZ5IHRoZSBzb2Z0d2FyZS4KKworICBBbHNvLCBmb3IgZWFjaCBhdXRob3IncyBwcm90ZWN0aW9uIGFuZCBvdXJzLCB3ZSB3YW50IHRvIG1ha2UgY2VydGFpbgordGhhdCBldmVyeW9uZSB1bmRlcnN0YW5kcyB0aGF0IHRoZXJlIGlzIG5vIHdhcnJhbnR5IGZvciB0aGlzIGZyZWUKK3NvZnR3YXJlLiAgSWYgdGhlIHNvZnR3YXJlIGlzIG1vZGlmaWVkIGJ5IHNvbWVvbmUgZWxzZSBhbmQgcGFzc2VkIG9uLCB3ZQord2FudCBpdHMgcmVjaXBpZW50cyB0byBrbm93IHRoYXQgd2hhdCB0aGV5IGhhdmUgaXMgbm90IHRoZSBvcmlnaW5hbCwgc28KK3RoYXQgYW55IHByb2JsZW1zIGludHJvZHVjZWQgYnkgb3RoZXJzIHdpbGwgbm90IHJlZmxlY3Qgb24gdGhlIG9yaWdpbmFsCithdXRob3JzJyByZXB1dGF0aW9ucy4KKworICBGaW5hbGx5LCBhbnkgZnJlZSBwcm9ncmFtIGlzIHRocmVhdGVuZWQgY29uc3RhbnRseSBieSBzb2Z0d2FyZQorcGF0ZW50cy4gIFdlIHdpc2ggdG8gYXZvaWQgdGhlIGRhbmdlciB0aGF0IHJlZGlzdHJpYnV0b3JzIG9mIGEgZnJlZQorcHJvZ3JhbSB3aWxsIGluZGl2aWR1YWxseSBvYnRhaW4gcGF0ZW50IGxpY2Vuc2VzLCBpbiBlZmZlY3QgbWFraW5nIHRoZQorcHJvZ3JhbSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgd2UgaGF2ZSBtYWRlIGl0IGNsZWFyIHRoYXQgYW55CitwYXRlbnQgbXVzdCBiZSBsaWNlbnNlZCBmb3IgZXZlcnlvbmUncyBmcmVlIHVzZSBvciBub3QgbGljZW5zZWQgYXQgYWxsLgorCisgIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCittb2RpZmljYXRpb24gZm9sbG93LgorCisgICAgICAgICAgICAgICAgICAgIEdOVSBHRU5FUkFMIFBVQkxJQyBMSUNFTlNFCisgICBURVJNUyBBTkQgQ09ORElUSU9OUyBGT1IgQ09QWUlORywgRElTVFJJQlVUSU9OIEFORCBNT0RJRklDQVRJT04KKworICAwLiBUaGlzIExpY2Vuc2UgYXBwbGllcyB0byBhbnkgcHJvZ3JhbSBvciBvdGhlciB3b3JrIHdoaWNoIGNvbnRhaW5zCithIG5vdGljZSBwbGFjZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXIgc2F5aW5nIGl0IG1heSBiZSBkaXN0cmlidXRlZAordW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIFRoZSAiUHJvZ3JhbSIsIGJlbG93LAorcmVmZXJzIHRvIGFueSBzdWNoIHByb2dyYW0gb3Igd29yaywgYW5kIGEgIndvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0iCittZWFucyBlaXRoZXIgdGhlIFByb2dyYW0gb3IgYW55IGRlcml2YXRpdmUgd29yayB1bmRlciBjb3B5cmlnaHQgbGF3OgordGhhdCBpcyB0byBzYXksIGEgd29yayBjb250YWluaW5nIHRoZSBQcm9ncmFtIG9yIGEgcG9ydGlvbiBvZiBpdCwKK2VpdGhlciB2ZXJiYXRpbSBvciB3aXRoIG1vZGlmaWNhdGlvbnMgYW5kL29yIHRyYW5zbGF0ZWQgaW50byBhbm90aGVyCitsYW5ndWFnZS4gIChIZXJlaW5hZnRlciwgdHJhbnNsYXRpb24gaXMgaW5jbHVkZWQgd2l0aG91dCBsaW1pdGF0aW9uIGluCit0aGUgdGVybSAibW9kaWZpY2F0aW9uIi4pICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4KKworQWN0aXZpdGllcyBvdGhlciB0aGFuIGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBhbmQgbW9kaWZpY2F0aW9uIGFyZSBub3QKK2NvdmVyZWQgYnkgdGhpcyBMaWNlbnNlOyB0aGV5IGFyZSBvdXRzaWRlIGl0cyBzY29wZS4gIFRoZSBhY3Qgb2YKK3J1bm5pbmcgdGhlIFByb2dyYW0gaXMgbm90IHJlc3RyaWN0ZWQsIGFuZCB0aGUgb3V0cHV0IGZyb20gdGhlIFByb2dyYW0KK2lzIGNvdmVyZWQgb25seSBpZiBpdHMgY29udGVudHMgY29uc3RpdHV0ZSBhIHdvcmsgYmFzZWQgb24gdGhlCitQcm9ncmFtIChpbmRlcGVuZGVudCBvZiBoYXZpbmcgYmVlbiBtYWRlIGJ5IHJ1bm5pbmcgdGhlIFByb2dyYW0pLgorV2hldGhlciB0aGF0IGlzIHRydWUgZGVwZW5kcyBvbiB3aGF0IHRoZSBQcm9ncmFtIGRvZXMuCisKKyAgMS4gWW91IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzCitzb3VyY2UgY29kZSBhcyB5b3UgcmVjZWl2ZSBpdCwgaW4gYW55IG1lZGl1bSwgcHJvdmlkZWQgdGhhdCB5b3UKK2NvbnNwaWN1b3VzbHkgYW5kIGFwcHJvcHJpYXRlbHkgcHVibGlzaCBvbiBlYWNoIGNvcHkgYW4gYXBwcm9wcmlhdGUKK2NvcHlyaWdodCBub3RpY2UgYW5kIGRpc2NsYWltZXIgb2Ygd2FycmFudHk7IGtlZXAgaW50YWN0IGFsbCB0aGUKK25vdGljZXMgdGhhdCByZWZlciB0byB0aGlzIExpY2Vuc2UgYW5kIHRvIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsKK2FuZCBnaXZlIGFueSBvdGhlciByZWNpcGllbnRzIG9mIHRoZSBQcm9ncmFtIGEgY29weSBvZiB0aGlzIExpY2Vuc2UKK2Fsb25nIHdpdGggdGhlIFByb2dyYW0uCisKK1lvdSBtYXkgY2hhcmdlIGEgZmVlIGZvciB0aGUgcGh5c2ljYWwgYWN0IG9mIHRyYW5zZmVycmluZyBhIGNvcHksIGFuZAoreW91IG1heSBhdCB5b3VyIG9wdGlvbiBvZmZlciB3YXJyYW50eSBwcm90ZWN0aW9uIGluIGV4Y2hhbmdlIGZvciBhIGZlZS4KKworICAyLiBZb3UgbWF5IG1vZGlmeSB5b3VyIGNvcHkgb3IgY29waWVzIG9mIHRoZSBQcm9ncmFtIG9yIGFueSBwb3J0aW9uCitvZiBpdCwgdGh1cyBmb3JtaW5nIGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgYW5kIGNvcHkgYW5kCitkaXN0cmlidXRlIHN1Y2ggbW9kaWZpY2F0aW9ucyBvciB3b3JrIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9uIDEKK2Fib3ZlLCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CisKKyAgICBhKSBZb3UgbXVzdCBjYXVzZSB0aGUgbW9kaWZpZWQgZmlsZXMgdG8gY2FycnkgcHJvbWluZW50IG5vdGljZXMKKyAgICBzdGF0aW5nIHRoYXQgeW91IGNoYW5nZWQgdGhlIGZpbGVzIGFuZCB0aGUgZGF0ZSBvZiBhbnkgY2hhbmdlLgorCisgICAgYikgWW91IG11c3QgY2F1c2UgYW55IHdvcmsgdGhhdCB5b3UgZGlzdHJpYnV0ZSBvciBwdWJsaXNoLCB0aGF0IGluCisgICAgd2hvbGUgb3IgaW4gcGFydCBjb250YWlucyBvciBpcyBkZXJpdmVkIGZyb20gdGhlIFByb2dyYW0gb3IgYW55CisgICAgcGFydCB0aGVyZW9mLCB0byBiZSBsaWNlbnNlZCBhcyBhIHdob2xlIGF0IG5vIGNoYXJnZSB0byBhbGwgdGhpcmQKKyAgICBwYXJ0aWVzIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UuCisKKyAgICBjKSBJZiB0aGUgbW9kaWZpZWQgcHJvZ3JhbSBub3JtYWxseSByZWFkcyBjb21tYW5kcyBpbnRlcmFjdGl2ZWx5CisgICAgd2hlbiBydW4sIHlvdSBtdXN0IGNhdXNlIGl0LCB3aGVuIHN0YXJ0ZWQgcnVubmluZyBmb3Igc3VjaAorICAgIGludGVyYWN0aXZlIHVzZSBpbiB0aGUgbW9zdCBvcmRpbmFyeSB3YXksIHRvIHByaW50IG9yIGRpc3BsYXkgYW4KKyAgICBhbm5vdW5jZW1lbnQgaW5jbHVkaW5nIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UgYW5kIGEKKyAgICBub3RpY2UgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSAob3IgZWxzZSwgc2F5aW5nIHRoYXQgeW91IHByb3ZpZGUKKyAgICBhIHdhcnJhbnR5KSBhbmQgdGhhdCB1c2VycyBtYXkgcmVkaXN0cmlidXRlIHRoZSBwcm9ncmFtIHVuZGVyCisgICAgdGhlc2UgY29uZGl0aW9ucywgYW5kIHRlbGxpbmcgdGhlIHVzZXIgaG93IHRvIHZpZXcgYSBjb3B5IG9mIHRoaXMKKyAgICBMaWNlbnNlLiAgKEV4Y2VwdGlvbjogaWYgdGhlIFByb2dyYW0gaXRzZWxmIGlzIGludGVyYWN0aXZlIGJ1dAorICAgIGRvZXMgbm90IG5vcm1hbGx5IHByaW50IHN1Y2ggYW4gYW5ub3VuY2VtZW50LCB5b3VyIHdvcmsgYmFzZWQgb24KKyAgICB0aGUgUHJvZ3JhbSBpcyBub3QgcmVxdWlyZWQgdG8gcHJpbnQgYW4gYW5ub3VuY2VtZW50LikKKworVGhlc2UgcmVxdWlyZW1lbnRzIGFwcGx5IHRvIHRoZSBtb2RpZmllZCB3b3JrIGFzIGEgd2hvbGUuICBJZgoraWRlbnRpZmlhYmxlIHNlY3Rpb25zIG9mIHRoYXQgd29yayBhcmUgbm90IGRlcml2ZWQgZnJvbSB0aGUgUHJvZ3JhbSwKK2FuZCBjYW4gYmUgcmVhc29uYWJseSBjb25zaWRlcmVkIGluZGVwZW5kZW50IGFuZCBzZXBhcmF0ZSB3b3JrcyBpbgordGhlbXNlbHZlcywgdGhlbiB0aGlzIExpY2Vuc2UsIGFuZCBpdHMgdGVybXMsIGRvIG5vdCBhcHBseSB0byB0aG9zZQorc2VjdGlvbnMgd2hlbiB5b3UgZGlzdHJpYnV0ZSB0aGVtIGFzIHNlcGFyYXRlIHdvcmtzLiAgQnV0IHdoZW4geW91CitkaXN0cmlidXRlIHRoZSBzYW1lIHNlY3Rpb25zIGFzIHBhcnQgb2YgYSB3aG9sZSB3aGljaCBpcyBhIHdvcmsgYmFzZWQKK29uIHRoZSBQcm9ncmFtLCB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoZSB3aG9sZSBtdXN0IGJlIG9uIHRoZSB0ZXJtcyBvZgordGhpcyBMaWNlbnNlLCB3aG9zZSBwZXJtaXNzaW9ucyBmb3Igb3RoZXIgbGljZW5zZWVzIGV4dGVuZCB0byB0aGUKK2VudGlyZSB3aG9sZSwgYW5kIHRodXMgdG8gZWFjaCBhbmQgZXZlcnkgcGFydCByZWdhcmRsZXNzIG9mIHdobyB3cm90ZSBpdC4KKworVGh1cywgaXQgaXMgbm90IHRoZSBpbnRlbnQgb2YgdGhpcyBzZWN0aW9uIHRvIGNsYWltIHJpZ2h0cyBvciBjb250ZXN0Cit5b3VyIHJpZ2h0cyB0byB3b3JrIHdyaXR0ZW4gZW50aXJlbHkgYnkgeW91OyByYXRoZXIsIHRoZSBpbnRlbnQgaXMgdG8KK2V4ZXJjaXNlIHRoZSByaWdodCB0byBjb250cm9sIHRoZSBkaXN0cmlidXRpb24gb2YgZGVyaXZhdGl2ZSBvcgorY29sbGVjdGl2ZSB3b3JrcyBiYXNlZCBvbiB0aGUgUHJvZ3JhbS4KKworSW4gYWRkaXRpb24sIG1lcmUgYWdncmVnYXRpb24gb2YgYW5vdGhlciB3b3JrIG5vdCBiYXNlZCBvbiB0aGUgUHJvZ3JhbQord2l0aCB0aGUgUHJvZ3JhbSAob3Igd2l0aCBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0pIG9uIGEgdm9sdW1lIG9mCithIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSBkb2VzIG5vdCBicmluZyB0aGUgb3RoZXIgd29yayB1bmRlcgordGhlIHNjb3BlIG9mIHRoaXMgTGljZW5zZS4KKworICAzLiBZb3UgbWF5IGNvcHkgYW5kIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gKG9yIGEgd29yayBiYXNlZCBvbiBpdCwKK3VuZGVyIFNlY3Rpb24gMikgaW4gb2JqZWN0IGNvZGUgb3IgZXhlY3V0YWJsZSBmb3JtIHVuZGVyIHRoZSB0ZXJtcyBvZgorU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIGRvIG9uZSBvZiB0aGUgZm9sbG93aW5nOgorCisgICAgYSkgQWNjb21wYW55IGl0IHdpdGggdGhlIGNvbXBsZXRlIGNvcnJlc3BvbmRpbmcgbWFjaGluZS1yZWFkYWJsZQorICAgIHNvdXJjZSBjb2RlLCB3aGljaCBtdXN0IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9ucworICAgIDEgYW5kIDIgYWJvdmUgb24gYSBtZWRpdW0gY3VzdG9tYXJpbHkgdXNlZCBmb3Igc29mdHdhcmUgaW50ZXJjaGFuZ2U7IG9yLAorCisgICAgYikgQWNjb21wYW55IGl0IHdpdGggYSB3cml0dGVuIG9mZmVyLCB2YWxpZCBmb3IgYXQgbGVhc3QgdGhyZWUKKyAgICB5ZWFycywgdG8gZ2l2ZSBhbnkgdGhpcmQgcGFydHksIGZvciBhIGNoYXJnZSBubyBtb3JlIHRoYW4geW91cgorICAgIGNvc3Qgb2YgcGh5c2ljYWxseSBwZXJmb3JtaW5nIHNvdXJjZSBkaXN0cmlidXRpb24sIGEgY29tcGxldGUKKyAgICBtYWNoaW5lLXJlYWRhYmxlIGNvcHkgb2YgdGhlIGNvcnJlc3BvbmRpbmcgc291cmNlIGNvZGUsIHRvIGJlCisgICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zIDEgYW5kIDIgYWJvdmUgb24gYSBtZWRpdW0KKyAgICBjdXN0b21hcmlseSB1c2VkIGZvciBzb2Z0d2FyZSBpbnRlcmNoYW5nZTsgb3IsCisKKyAgICBjKSBBY2NvbXBhbnkgaXQgd2l0aCB0aGUgaW5mb3JtYXRpb24geW91IHJlY2VpdmVkIGFzIHRvIHRoZSBvZmZlcgorICAgIHRvIGRpc3RyaWJ1dGUgY29ycmVzcG9uZGluZyBzb3VyY2UgY29kZS4gIChUaGlzIGFsdGVybmF0aXZlIGlzCisgICAgYWxsb3dlZCBvbmx5IGZvciBub25jb21tZXJjaWFsIGRpc3RyaWJ1dGlvbiBhbmQgb25seSBpZiB5b3UKKyAgICByZWNlaXZlZCB0aGUgcHJvZ3JhbSBpbiBvYmplY3QgY29kZSBvciBleGVjdXRhYmxlIGZvcm0gd2l0aCBzdWNoCisgICAgYW4gb2ZmZXIsIGluIGFjY29yZCB3aXRoIFN1YnNlY3Rpb24gYiBhYm92ZS4pCisKK1RoZSBzb3VyY2UgY29kZSBmb3IgYSB3b3JrIG1lYW5zIHRoZSBwcmVmZXJyZWQgZm9ybSBvZiB0aGUgd29yayBmb3IKK21ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgRm9yIGFuIGV4ZWN1dGFibGUgd29yaywgY29tcGxldGUgc291cmNlCitjb2RlIG1lYW5zIGFsbCB0aGUgc291cmNlIGNvZGUgZm9yIGFsbCBtb2R1bGVzIGl0IGNvbnRhaW5zLCBwbHVzIGFueQorYXNzb2NpYXRlZCBpbnRlcmZhY2UgZGVmaW5pdGlvbiBmaWxlcywgcGx1cyB0aGUgc2NyaXB0cyB1c2VkIHRvCitjb250cm9sIGNvbXBpbGF0aW9uIGFuZCBpbnN0YWxsYXRpb24gb2YgdGhlIGV4ZWN1dGFibGUuICBIb3dldmVyLCBhcyBhCitzcGVjaWFsIGV4Y2VwdGlvbiwgdGhlIHNvdXJjZSBjb2RlIGRpc3RyaWJ1dGVkIG5lZWQgbm90IGluY2x1ZGUKK2FueXRoaW5nIHRoYXQgaXMgbm9ybWFsbHkgZGlzdHJpYnV0ZWQgKGluIGVpdGhlciBzb3VyY2Ugb3IgYmluYXJ5Citmb3JtKSB3aXRoIHRoZSBtYWpvciBjb21wb25lbnRzIChjb21waWxlciwga2VybmVsLCBhbmQgc28gb24pIG9mIHRoZQorb3BlcmF0aW5nIHN5c3RlbSBvbiB3aGljaCB0aGUgZXhlY3V0YWJsZSBydW5zLCB1bmxlc3MgdGhhdCBjb21wb25lbnQKK2l0c2VsZiBhY2NvbXBhbmllcyB0aGUgZXhlY3V0YWJsZS4KKworSWYgZGlzdHJpYnV0aW9uIG9mIGV4ZWN1dGFibGUgb3Igb2JqZWN0IGNvZGUgaXMgbWFkZSBieSBvZmZlcmluZworYWNjZXNzIHRvIGNvcHkgZnJvbSBhIGRlc2lnbmF0ZWQgcGxhY2UsIHRoZW4gb2ZmZXJpbmcgZXF1aXZhbGVudAorYWNjZXNzIHRvIGNvcHkgdGhlIHNvdXJjZSBjb2RlIGZyb20gdGhlIHNhbWUgcGxhY2UgY291bnRzIGFzCitkaXN0cmlidXRpb24gb2YgdGhlIHNvdXJjZSBjb2RlLCBldmVuIHRob3VnaCB0aGlyZCBwYXJ0aWVzIGFyZSBub3QKK2NvbXBlbGxlZCB0byBjb3B5IHRoZSBzb3VyY2UgYWxvbmcgd2l0aCB0aGUgb2JqZWN0IGNvZGUuCisKKyAgNC4gWW91IG1heSBub3QgY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBvciBkaXN0cmlidXRlIHRoZSBQcm9ncmFtCitleGNlcHQgYXMgZXhwcmVzc2x5IHByb3ZpZGVkIHVuZGVyIHRoaXMgTGljZW5zZS4gIEFueSBhdHRlbXB0CitvdGhlcndpc2UgdG8gY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlIG9yIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gaXMKK3ZvaWQsIGFuZCB3aWxsIGF1dG9tYXRpY2FsbHkgdGVybWluYXRlIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgTGljZW5zZS4KK0hvd2V2ZXIsIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzLCBvciByaWdodHMsIGZyb20geW91IHVuZGVyCit0aGlzIExpY2Vuc2Ugd2lsbCBub3QgaGF2ZSB0aGVpciBsaWNlbnNlcyB0ZXJtaW5hdGVkIHNvIGxvbmcgYXMgc3VjaAorcGFydGllcyByZW1haW4gaW4gZnVsbCBjb21wbGlhbmNlLgorCisgIDUuIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UsIHNpbmNlIHlvdSBoYXZlIG5vdAorc2lnbmVkIGl0LiAgSG93ZXZlciwgbm90aGluZyBlbHNlIGdyYW50cyB5b3UgcGVybWlzc2lvbiB0byBtb2RpZnkgb3IKK2Rpc3RyaWJ1dGUgdGhlIFByb2dyYW0gb3IgaXRzIGRlcml2YXRpdmUgd29ya3MuICBUaGVzZSBhY3Rpb25zIGFyZQorcHJvaGliaXRlZCBieSBsYXcgaWYgeW91IGRvIG5vdCBhY2NlcHQgdGhpcyBMaWNlbnNlLiAgVGhlcmVmb3JlLCBieQorbW9kaWZ5aW5nIG9yIGRpc3RyaWJ1dGluZyB0aGUgUHJvZ3JhbSAob3IgYW55IHdvcmsgYmFzZWQgb24gdGhlCitQcm9ncmFtKSwgeW91IGluZGljYXRlIHlvdXIgYWNjZXB0YW5jZSBvZiB0aGlzIExpY2Vuc2UgdG8gZG8gc28sIGFuZAorYWxsIGl0cyB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgY29weWluZywgZGlzdHJpYnV0aW5nIG9yIG1vZGlmeWluZwordGhlIFByb2dyYW0gb3Igd29ya3MgYmFzZWQgb24gaXQuCisKKyAgNi4gRWFjaCB0aW1lIHlvdSByZWRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gKG9yIGFueSB3b3JrIGJhc2VkIG9uIHRoZQorUHJvZ3JhbSksIHRoZSByZWNpcGllbnQgYXV0b21hdGljYWxseSByZWNlaXZlcyBhIGxpY2Vuc2UgZnJvbSB0aGUKK29yaWdpbmFsIGxpY2Vuc29yIHRvIGNvcHksIGRpc3RyaWJ1dGUgb3IgbW9kaWZ5IHRoZSBQcm9ncmFtIHN1YmplY3QgdG8KK3RoZXNlIHRlcm1zIGFuZCBjb25kaXRpb25zLiAgWW91IG1heSBub3QgaW1wb3NlIGFueSBmdXJ0aGVyCityZXN0cmljdGlvbnMgb24gdGhlIHJlY2lwaWVudHMnIGV4ZXJjaXNlIG9mIHRoZSByaWdodHMgZ3JhbnRlZCBoZXJlaW4uCitZb3UgYXJlIG5vdCByZXNwb25zaWJsZSBmb3IgZW5mb3JjaW5nIGNvbXBsaWFuY2UgYnkgdGhpcmQgcGFydGllcyB0bwordGhpcyBMaWNlbnNlLgorCisgIDcuIElmLCBhcyBhIGNvbnNlcXVlbmNlIG9mIGEgY291cnQganVkZ21lbnQgb3IgYWxsZWdhdGlvbiBvZiBwYXRlbnQKK2luZnJpbmdlbWVudCBvciBmb3IgYW55IG90aGVyIHJlYXNvbiAobm90IGxpbWl0ZWQgdG8gcGF0ZW50IGlzc3VlcyksCitjb25kaXRpb25zIGFyZSBpbXBvc2VkIG9uIHlvdSAod2hldGhlciBieSBjb3VydCBvcmRlciwgYWdyZWVtZW50IG9yCitvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CitleGN1c2UgeW91IGZyb20gdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLiAgSWYgeW91IGNhbm5vdAorZGlzdHJpYnV0ZSBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcworTGljZW5zZSBhbmQgYW55IG90aGVyIHBlcnRpbmVudCBvYmxpZ2F0aW9ucywgdGhlbiBhcyBhIGNvbnNlcXVlbmNlIHlvdQorbWF5IG5vdCBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiBhIHBhdGVudAorbGljZW5zZSB3b3VsZCBub3QgcGVybWl0IHJveWFsdHktZnJlZSByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZ3JhbSBieQorYWxsIHRob3NlIHdobyByZWNlaXZlIGNvcGllcyBkaXJlY3RseSBvciBpbmRpcmVjdGx5IHRocm91Z2ggeW91LCB0aGVuCit0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCBpdCBhbmQgdGhpcyBMaWNlbnNlIHdvdWxkIGJlIHRvCityZWZyYWluIGVudGlyZWx5IGZyb20gZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9ncmFtLgorCitJZiBhbnkgcG9ydGlvbiBvZiB0aGlzIHNlY3Rpb24gaXMgaGVsZCBpbnZhbGlkIG9yIHVuZW5mb3JjZWFibGUgdW5kZXIKK2FueSBwYXJ0aWN1bGFyIGNpcmN1bXN0YW5jZSwgdGhlIGJhbGFuY2Ugb2YgdGhlIHNlY3Rpb24gaXMgaW50ZW5kZWQgdG8KK2FwcGx5IGFuZCB0aGUgc2VjdGlvbiBhcyBhIHdob2xlIGlzIGludGVuZGVkIHRvIGFwcGx5IGluIG90aGVyCitjaXJjdW1zdGFuY2VzLgorCitJdCBpcyBub3QgdGhlIHB1cnBvc2Ugb2YgdGhpcyBzZWN0aW9uIHRvIGluZHVjZSB5b3UgdG8gaW5mcmluZ2UgYW55CitwYXRlbnRzIG9yIG90aGVyIHByb3BlcnR5IHJpZ2h0IGNsYWltcyBvciB0byBjb250ZXN0IHZhbGlkaXR5IG9mIGFueQorc3VjaCBjbGFpbXM7IHRoaXMgc2VjdGlvbiBoYXMgdGhlIHNvbGUgcHVycG9zZSBvZiBwcm90ZWN0aW5nIHRoZQoraW50ZWdyaXR5IG9mIHRoZSBmcmVlIHNvZnR3YXJlIGRpc3RyaWJ1dGlvbiBzeXN0ZW0sIHdoaWNoIGlzCitpbXBsZW1lbnRlZCBieSBwdWJsaWMgbGljZW5zZSBwcmFjdGljZXMuICBNYW55IHBlb3BsZSBoYXZlIG1hZGUKK2dlbmVyb3VzIGNvbnRyaWJ1dGlvbnMgdG8gdGhlIHdpZGUgcmFuZ2Ugb2Ygc29mdHdhcmUgZGlzdHJpYnV0ZWQKK3Rocm91Z2ggdGhhdCBzeXN0ZW0gaW4gcmVsaWFuY2Ugb24gY29uc2lzdGVudCBhcHBsaWNhdGlvbiBvZiB0aGF0CitzeXN0ZW07IGl0IGlzIHVwIHRvIHRoZSBhdXRob3IvZG9ub3IgdG8gZGVjaWRlIGlmIGhlIG9yIHNoZSBpcyB3aWxsaW5nCit0byBkaXN0cmlidXRlIHNvZnR3YXJlIHRocm91Z2ggYW55IG90aGVyIHN5c3RlbSBhbmQgYSBsaWNlbnNlZSBjYW5ub3QKK2ltcG9zZSB0aGF0IGNob2ljZS4KKworVGhpcyBzZWN0aW9uIGlzIGludGVuZGVkIHRvIG1ha2UgdGhvcm91Z2hseSBjbGVhciB3aGF0IGlzIGJlbGlldmVkIHRvCitiZSBhIGNvbnNlcXVlbmNlIG9mIHRoZSByZXN0IG9mIHRoaXMgTGljZW5zZS4KKworICA4LiBJZiB0aGUgZGlzdHJpYnV0aW9uIGFuZC9vciB1c2Ugb2YgdGhlIFByb2dyYW0gaXMgcmVzdHJpY3RlZCBpbgorY2VydGFpbiBjb3VudHJpZXMgZWl0aGVyIGJ5IHBhdGVudHMgb3IgYnkgY29weXJpZ2h0ZWQgaW50ZXJmYWNlcywgdGhlCitvcmlnaW5hbCBjb3B5cmlnaHQgaG9sZGVyIHdobyBwbGFjZXMgdGhlIFByb2dyYW0gdW5kZXIgdGhpcyBMaWNlbnNlCittYXkgYWRkIGFuIGV4cGxpY2l0IGdlb2dyYXBoaWNhbCBkaXN0cmlidXRpb24gbGltaXRhdGlvbiBleGNsdWRpbmcKK3Rob3NlIGNvdW50cmllcywgc28gdGhhdCBkaXN0cmlidXRpb24gaXMgcGVybWl0dGVkIG9ubHkgaW4gb3IgYW1vbmcKK2NvdW50cmllcyBub3QgdGh1cyBleGNsdWRlZC4gIEluIHN1Y2ggY2FzZSwgdGhpcyBMaWNlbnNlIGluY29ycG9yYXRlcwordGhlIGxpbWl0YXRpb24gYXMgaWYgd3JpdHRlbiBpbiB0aGUgYm9keSBvZiB0aGlzIExpY2Vuc2UuCisKKyAgOS4gVGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBtYXkgcHVibGlzaCByZXZpc2VkIGFuZC9vciBuZXcgdmVyc2lvbnMKK29mIHRoZSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLiAgU3VjaCBuZXcgdmVyc2lvbnMgd2lsbAorYmUgc2ltaWxhciBpbiBzcGlyaXQgdG8gdGhlIHByZXNlbnQgdmVyc2lvbiwgYnV0IG1heSBkaWZmZXIgaW4gZGV0YWlsIHRvCithZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KKworRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUgUHJvZ3JhbQorc3BlY2lmaWVzIGEgdmVyc2lvbiBudW1iZXIgb2YgdGhpcyBMaWNlbnNlIHdoaWNoIGFwcGxpZXMgdG8gaXQgYW5kICJhbnkKK2xhdGVyIHZlcnNpb24iLCB5b3UgaGF2ZSB0aGUgb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMKK2VpdGhlciBvZiB0aGF0IHZlcnNpb24gb3Igb2YgYW55IGxhdGVyIHZlcnNpb24gcHVibGlzaGVkIGJ5IHRoZSBGcmVlCitTb2Z0d2FyZSBGb3VuZGF0aW9uLiAgSWYgdGhlIFByb2dyYW0gZG9lcyBub3Qgc3BlY2lmeSBhIHZlcnNpb24gbnVtYmVyIG9mCit0aGlzIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCitGb3VuZGF0aW9uLgorCisgIDEwLiBJZiB5b3Ugd2lzaCB0byBpbmNvcnBvcmF0ZSBwYXJ0cyBvZiB0aGUgUHJvZ3JhbSBpbnRvIG90aGVyIGZyZWUKK3Byb2dyYW1zIHdob3NlIGRpc3RyaWJ1dGlvbiBjb25kaXRpb25zIGFyZSBkaWZmZXJlbnQsIHdyaXRlIHRvIHRoZSBhdXRob3IKK3RvIGFzayBmb3IgcGVybWlzc2lvbi4gIEZvciBzb2Z0d2FyZSB3aGljaCBpcyBjb3B5cmlnaHRlZCBieSB0aGUgRnJlZQorU29mdHdhcmUgRm91bmRhdGlvbiwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgd2Ugc29tZXRpbWVzCittYWtlIGV4Y2VwdGlvbnMgZm9yIHRoaXMuICBPdXIgZGVjaXNpb24gd2lsbCBiZSBndWlkZWQgYnkgdGhlIHR3byBnb2Fscworb2YgcHJlc2VydmluZyB0aGUgZnJlZSBzdGF0dXMgb2YgYWxsIGRlcml2YXRpdmVzIG9mIG91ciBmcmVlIHNvZnR3YXJlIGFuZAorb2YgcHJvbW90aW5nIHRoZSBzaGFyaW5nIGFuZCByZXVzZSBvZiBzb2Z0d2FyZSBnZW5lcmFsbHkuCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBOTyBXQVJSQU5UWQorCisgIDExLiBCRUNBVVNFIFRIRSBQUk9HUkFNIElTIExJQ0VOU0VEIEZSRUUgT0YgQ0hBUkdFLCBUSEVSRSBJUyBOTyBXQVJSQU5UWQorRk9SIFRIRSBQUk9HUkFNLCBUTyBUSEUgRVhURU5UIFBFUk1JVFRFRCBCWSBBUFBMSUNBQkxFIExBVy4gIEVYQ0VQVCBXSEVOCitPVEhFUldJU0UgU1RBVEVEIElOIFdSSVRJTkcgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORC9PUiBPVEhFUiBQQVJUSUVTCitQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRAorT1IgSU1QTElFRCwgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKK01FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBUSEUgRU5USVJFIFJJU0sgQVMKK1RPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTSBJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUKK1BST0dSQU0gUFJPVkUgREVGRUNUSVZFLCBZT1UgQVNTVU1FIFRIRSBDT1NUIE9GIEFMTCBORUNFU1NBUlkgU0VSVklDSU5HLAorUkVQQUlSIE9SIENPUlJFQ1RJT04uCisKKyAgMTIuIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORworV0lMTCBBTlkgQ09QWVJJR0hUIEhPTERFUiwgT1IgQU5ZIE9USEVSIFBBUlRZIFdITyBNQVkgTU9ESUZZIEFORC9PUgorUkVESVNUUklCVVRFIFRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywKK0lOQ0xVRElORyBBTlkgR0VORVJBTCwgU1BFQ0lBTCwgSU5DSURFTlRBTCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgQVJJU0lORworT1VUIE9GIFRIRSBVU0UgT1IgSU5BQklMSVRZIFRPIFVTRSBUSEUgUFJPR1JBTSAoSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRAorVE8gTE9TUyBPRiBEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZCitZT1UgT1IgVEhJUkQgUEFSVElFUyBPUiBBIEZBSUxVUkUgT0YgVEhFIFBST0dSQU0gVE8gT1BFUkFURSBXSVRIIEFOWSBPVEhFUgorUFJPR1JBTVMpLCBFVkVOIElGIFNVQ0ggSE9MREVSIE9SIE9USEVSIFBBUlRZIEhBUyBCRUVOIEFEVklTRUQgT0YgVEhFCitQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRVMuCisKKyAgICAgICAgICAgICAgICAgICAgIEVORCBPRiBURVJNUyBBTkQgQ09ORElUSU9OUworCisgICAgICAgICAgICBIb3cgdG8gQXBwbHkgVGhlc2UgVGVybXMgdG8gWW91ciBOZXcgUHJvZ3JhbXMKKworICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0Citwb3NzaWJsZSB1c2UgdG8gdGhlIHB1YmxpYywgdGhlIGJlc3Qgd2F5IHRvIGFjaGlldmUgdGhpcyBpcyB0byBtYWtlIGl0CitmcmVlIHNvZnR3YXJlIHdoaWNoIGV2ZXJ5b25lIGNhbiByZWRpc3RyaWJ1dGUgYW5kIGNoYW5nZSB1bmRlciB0aGVzZSB0ZXJtcy4KKworICBUbyBkbyBzbywgYXR0YWNoIHRoZSBmb2xsb3dpbmcgbm90aWNlcyB0byB0aGUgcHJvZ3JhbS4gIEl0IGlzIHNhZmVzdAordG8gYXR0YWNoIHRoZW0gdG8gdGhlIHN0YXJ0IG9mIGVhY2ggc291cmNlIGZpbGUgdG8gbW9zdCBlZmZlY3RpdmVseQorY29udmV5IHRoZSBleGNsdXNpb24gb2Ygd2FycmFudHk7IGFuZCBlYWNoIGZpbGUgc2hvdWxkIGhhdmUgYXQgbGVhc3QKK3RoZSAiY29weXJpZ2h0IiBsaW5lIGFuZCBhIHBvaW50ZXIgdG8gd2hlcmUgdGhlIGZ1bGwgbm90aWNlIGlzIGZvdW5kLgorCisgICAgPG9uZSBsaW5lIHRvIGdpdmUgdGhlIHByb2dyYW0ncyBuYW1lIGFuZCBhIGJyaWVmIGlkZWEgb2Ygd2hhdCBpdCBkb2VzLj4KKyAgICBDb3B5cmlnaHQgKEMpIDx5ZWFyPiAgPG5hbWUgb2YgYXV0aG9yPgorCisgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworICAgIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisgICAgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKworQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCisKK0lmIHRoZSBwcm9ncmFtIGlzIGludGVyYWN0aXZlLCBtYWtlIGl0IG91dHB1dCBhIHNob3J0IG5vdGljZSBsaWtlIHRoaXMKK3doZW4gaXQgc3RhcnRzIGluIGFuIGludGVyYWN0aXZlIG1vZGU6CisKKyAgICBHbm9tb3Zpc2lvbiB2ZXJzaW9uIDY5LCBDb3B5cmlnaHQgKEMpIHllYXIgbmFtZSBvZiBhdXRob3IKKyAgICBHbm9tb3Zpc2lvbiBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCisgICAgVGhpcyBpcyBmcmVlIHNvZnR3YXJlLCBhbmQgeW91IGFyZSB3ZWxjb21lIHRvIHJlZGlzdHJpYnV0ZSBpdAorICAgIHVuZGVyIGNlcnRhaW4gY29uZGl0aW9uczsgdHlwZSBgc2hvdyBjJyBmb3IgZGV0YWlscy4KKworVGhlIGh5cG90aGV0aWNhbCBjb21tYW5kcyBgc2hvdyB3JyBhbmQgYHNob3cgYycgc2hvdWxkIHNob3cgdGhlIGFwcHJvcHJpYXRlCitwYXJ0cyBvZiB0aGUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIE9mIGNvdXJzZSwgdGhlIGNvbW1hbmRzIHlvdSB1c2UgbWF5CitiZSBjYWxsZWQgc29tZXRoaW5nIG90aGVyIHRoYW4gYHNob3cgdycgYW5kIGBzaG93IGMnOyB0aGV5IGNvdWxkIGV2ZW4gYmUKK21vdXNlLWNsaWNrcyBvciBtZW51IGl0ZW1zLS13aGF0ZXZlciBzdWl0cyB5b3VyIHByb2dyYW0uCisKK1lvdSBzaG91bGQgYWxzbyBnZXQgeW91ciBlbXBsb3llciAoaWYgeW91IHdvcmsgYXMgYSBwcm9ncmFtbWVyKSBvciB5b3VyCitzY2hvb2wsIGlmIGFueSwgdG8gc2lnbiBhICJjb3B5cmlnaHQgZGlzY2xhaW1lciIgZm9yIHRoZSBwcm9ncmFtLCBpZgorbmVjZXNzYXJ5LiAgSGVyZSBpcyBhIHNhbXBsZTsgYWx0ZXIgdGhlIG5hbWVzOgorCisgIFlveW9keW5lLCBJbmMuLCBoZXJlYnkgZGlzY2xhaW1zIGFsbCBjb3B5cmlnaHQgaW50ZXJlc3QgaW4gdGhlIHByb2dyYW0KKyAgYEdub21vdmlzaW9uJyAod2hpY2ggbWFrZXMgcGFzc2VzIGF0IGNvbXBpbGVycykgd3JpdHRlbiBieSBKYW1lcyBIYWNrZXIuCisKKyAgPHNpZ25hdHVyZSBvZiBUeSBDb29uPiwgMSBBcHJpbCAxOTg5CisgIFR5IENvb24sIFByZXNpZGVudCBvZiBWaWNlCisKK1RoaXMgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBkb2VzIG5vdCBwZXJtaXQgaW5jb3Jwb3JhdGluZyB5b3VyIHByb2dyYW0gaW50bworcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdSBtYXkKK2NvbnNpZGVyIGl0IG1vcmUgdXNlZnVsIHRvIHBlcm1pdCBsaW5raW5nIHByb3ByaWV0YXJ5IGFwcGxpY2F0aW9ucyB3aXRoIHRoZQorbGlicmFyeS4gIElmIHRoaXMgaXMgd2hhdCB5b3Ugd2FudCB0byBkbywgdXNlIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwKK1B1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiNGQyNDcKLS0tIC9kZXYvbnVsbAorKysgYi9DaGFuZ2VMb2cKQEAgLTAsMCArMSwzIEBACitTZWUgdmVyc2lvbiBjb250cm9sIGhpc3RvcnkuCisKK2h0dHA6Ly9naXQua2VybmVsLm9yZy8/cD11dGlscy91dGlsLWxpbnV4L3V0aWwtbGludXguZ2l0O2E9bG9nCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uLzAwLWFib3V0LWRvY3MudHh0IGIvRG9jdW1lbnRhdGlvbi8wMC1hYm91dC1kb2NzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOTVhZTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi8wMC1hYm91dC1kb2NzLnR4dApAQCAtMCwwICsxLDcgQEAKK1doYXQgaXMgaGVyZQorLS0tLS0tLS0tLS0tCisKK1RoZSB1dGlsLWxpbnV4IGNvbnRhaW5zIHN1cHBsZW1lbnRhcnkgdGV4dHVhbCBtYXRlcmlhbCwgc3VjaCBhcworcmVhZG1lIGZpbGVzLCByZWxlYXNlIG5vdGVzLCBsaWNlbnNlcyBhbmQgc28gb24uIENvbW1vbiB0byB0aGVzZQorZmlsZXMgaXMgdGhhdCB0aGV5IGNvbnRhaW4gaW5mb3JtYXRpb24gZm9yIGNvbnRyaWJ1dG9ycyBidXQKK3Nob3VsZCBub3QgZW5kIHVwIHRvIGVuZCB1c2VyIGluc3RhbGxhdGlvbi4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUEFNLWNvbmZpZ3VyYXRpb24udHh0IGIvRG9jdW1lbnRhdGlvbi9QQU0tY29uZmlndXJhdGlvbi50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDQ2YTE3NwotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vUEFNLWNvbmZpZ3VyYXRpb24udHh0CkBAIC0wLDAgKzEsMzEgQEAKKworIFBBTSBjb25maWd1cmF0aW9uIGlzIHZlcnkgZGlzdHJpYnV0aW9uIHNwZWNpZmljLiBUaGlzIGlzIHJlYXNvbiB3aHkgdXBzdHJlYW0KKyB1dGlsLWxpbnV4IHBhY2thZ2UgZG9lcyBub3QgaW5zdGFsbCBhbnkgUEFNIGNvbmZpZyBmaWxlcy4KKworCisgRXhwZWN0ZWQgUEFNIGNvbmZpZyBmaWxlczoKKworIGxvZ2luKDEpOgorICAgIC9ldGMvcGFtLmQvcmVtb3RlIC0gZm9yIC1oIGNvbW1hbmQgbGluZSBvcHRpb24KKyAgICAvZXRjL3BhbS5kL2xvZ2luICAtIHJlZ3VsYXIgbG9naW4KKworCisgc3UoMSk6CisgICAgL2V0Yy9wYW0uZC9zdS1sICAgLSBmb3IgLS1sb2dpbiBjb21tYW5kIGxpbmUgb3B0aW9uCisgICAgL2V0Yy9wYW0uZC9zdSAgICAgLSByZWd1bGFyIHN1CisKKworIHJ1bnVzZXIoMSk6CisgICAgL2V0Yy9wYW0uZC9ydW51c2VyLWwgICAtIGZvciAtLWxvZ2luIGNvbW1hbmQgbGluZSBvcHRpb24KKyAgICAvZXRjL3BhbS5kL3J1bnVzZXIgICAgIC0gcmVndWxhciBzdQorCisgICAgTm90ZSB0aGF0IHJ1bnVzZXIgcmVxdWlyZXMgb25seSAic2Vzc2lvbiIgc2V0dGluZyAoYW5kIGZvciBleGFtcGxlCisgICAgImF1dGggc3VmZmljaWVudCBwYW1fcm9vdG9rLnNvIiBkdW1teSBsaW5lKS4KKworCisgY2hmbigxKToKKyAgICAvZXRjL3BhbS5kL2NoZm4KKworCisgY2hzaCgxKToKKyAgICAvZXRjL3BhbS5kL2Noc2gKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vVE9ETyBiL0RvY3VtZW50YXRpb24vVE9ETwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YjYyY2RiCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9UT0RPCkBAIC0wLDAgKzEsMTcwIEBACisKKyBOb3RlIHRoYXQgaXRlbXMgd2l0aCAoISkgaGF2ZSBoaWdoIHByaW9yaXR5LgorCistICghKSByZW1vdmUgdXNhZ2Uoc3RkZXJyKSBvbiBjb21tYW5kIGxpbmUgZXJyb3JzICh1bnN1cHBvcnRlZCBvcHRpb25zLCBldGMuKQorCisKK3N1L3J1bnVzZXIKKy0tLS0tLS0tLS0KKyAgLSAoISkgaW1wbGVtZW50IHB0eSBjb250YWluZXIgZm9yIGFsbCBzdS9ydW51c2VyIHNlc3Npb24gKHNvbWV0aGluZyBsaWtlCisgICAgc2NyaXB0KDEpKSB0byBzZXBhcmF0ZSB1c2VyIGZyb20gdGhlIG9yaWdpbmFsIHRlcm1pbmFsIChzZWUgQ1ZFLTIwMTYtMjc3OSkKKworLSBhZGQgZnVuY3Rpb25zIHN0cnRpbWVfc2hvcnQoKSwgc3RydGltZV9pc28oKSwgc3RydGltZV9jdGltZSgpLCAuLi4KKworY2xlYW51cCBsaWIvcGF0aC5jOgorLS0tLS0tLS0tLS0tLS0tLS0tCisgICAtIGFsd2F5cyByZXR1cm4gcmMgZnJvbSBhbGwgZnVuY3Rpb25zCisgICAtIGludHJvZHVjZSBjb250cm9sIHN0cnVjdCBhbmQgdXNlIG9wZW5hdCgpIGZyb20gdG9wLWxldmVsIHBhdGggCisgICAgIChlLmcuIHRvcC1sZXZlbCBpcyAvcHJvYywgZXRjKQorLSB1c2UgbGliL3BhdGguYyBhcyBsb3ctbGV2ZWwgQVBJIGZvciBsaWIvc3lzZnMuYworICAgLSBub3cgd2UgZHVwbGljYXRlIGNvZGUgaW4gZnVuY3Rpb25zIGxpa2Uge3BhdGgsc3lzZnN9X3JlYWRfdTMyLCBldGMuIAorICAgLSBpdCB3b3VsZCBiZSBhbHNvIG5pY2UgdG8gaGF2ZSBhIHdheSBob3cgdG8gcmVkaXJlY3Qgc3lzZnMuYyBmdW5jdGlvbnMgCisgICAgIHRvIC9zeXMgc25hcHNob3RzIChlLmcuIGxzYmxrIHJlZ3Jlc3Npb24gdGVzdHMpCisJCisKK2xzY3B1CistLS0tLQorICAtIHJlYWQgY3B1aWQgYW5kIHVuYW1lIGluZm9ybWF0aW9uIGZyb20gZmlsZSBpZiAtLXN5c3Jvb3QgaXMgc3BlY2lmaWVkLCB0aGVuCisgICAgd2UgY2FuIHByZXBhcmUgcmVncmVzc2lvbiB0ZXN0cyBjb21wbGV0ZWx5IGluZGVwZW5kZW50IG9uIGh3IGFuZCBhcmNoaXRlY3R1cmUuCisKK2xzYmxrCistLS0tLQorICAtICghKSBhZGQgLS10cmVlIHRvIGZvcmNlIHRyZWUgb3V0cHV0IGZvciBvcGVyYXRpb25zIGxpa2UgLS1zb3J0IHdoZXJlIHRoZQorICAgIC0tbGlzdCBpcyBlbmFibGVkIGJ5IGRlZmF1bHQuCisKKyAgLSBjdXJyZW50bHkgaXQgZG9lcyBub3Qgc2hvdyBtb3VudHBvaW50IGZvciBhbGwgZGV2aWNlcyBpbiBidHJmcyBSQUlELiBJdCdzIGJlY2F1c2UKKyAgICAvcHJvYy8jL21vdW50aW5mbyBjb250YWlucyByZWZlcmVuY2UgdG8gdGhlIG9uZSBkZXZpY2Ugb25seS4gTWF5YmUgd2UgY2FuIGFkZCBzb21lCisgICAgYnRyZnMgc3BlY2lmaWMgY29kZSB0byBwcm92aWRlIGEgYmV0dGVyIG91dHB1dCBmb3IgRlMgYmFzZWQgc3RhY2tzLiBOb3Qgc3VyZS4KKyAgICBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTEwODQ0NTMKKworY2ZkaXNrCistLS0tLS0KKyAgLSAoISkgYWRkIGF1dG8tc29ydCBzdXBwb3J0IChzb3J0IHBhcnRpdGlvbnMgYXV0b21hdGljYWxseSkgYW5kCisgICAgLS1zb3J0PXthdXRvLG5ldmVyLGFsd2F5c30gY29tbWFuZCBsaW5lIG9wdGlvbi4gVGhpcyBmZWF0dXJlIHNob3VsZCBiZQorICAgIGVuYWJsZWQgYnkgZGVmYXVsdCBmb3IgbG9naWNhbCBwYXJ0aXRpb25zIGlmIHdlIGNyZWF0ZWQgYWxsIGNvbnRhaW5lciAoZXh0ZW5kZWQKKyAgICBwYXJ0aXRpb24pIGluIHRoZSBjdXJyZW50IHNlc3Npb24uCisgICAgICAKKworYWdldHR5CistLS0tLQorICAtIHN1cHBvcnQgZGVmYXVsdCBpc3N1ZSAoL2V0Yy9pc3N1ZSkgb3V0cHV0IGZvciBhZ2V0dHkgdG8gbWFrZSBpdCBhZ2V0dHkKKyAgICB1c2FibGUgb24gc3lzdGVtcyB3aXRoIGVtcHR5IC9ldGMuIAorCisgICAgVGhpcyBjaGFuZ2UgaXMgbGl0dGxlIGJpdCBjb250cm92ZXJzaWFsLCBiZWNhdXNlIG5vdyBhZ2V0dHkgcHJpbnRzIG5vdGhpbmcgCisgICAgYnkgZGVmYXVsdCBhbmQgaXQncyBwcm9iYWJseSB1c2VkIGJ5IGFkbWlucyB0byBoaWRlIGluZm9ybWF0aW9uIGFib3V0IHRoZSAKKyAgICBzeXN0ZW0gdG8gdW5hdXRob3JpemVkIHVzZXJzLiBXZSBhbHJlYWR5IGhhdmUgLS1ub2lzc3VlIHRvIGRpc2FibGUgaXNzdWUgCisgICAgb3V0cHV0LiBUaGUgcXVlc3Rpb24gaXMgaWYgYWRtaW5zIHVzZSB0aGlzIG9wdGlvbiwgInJtIC9ldGMvaXNzdWUiIGlzIAorICAgIHByb2JhYmx5IGVhc2VyIHRoYW4gbW9kaWZ5IGluaXR0YWIgKG9yIHN5c3RlbWQgdW5pdCBmaWxlKS4KKworICAgIE1heWJlIHdlIGNhbiBpbXBsZW1lbnQgaXQgYnkgLS1lbmFibGUtYWdldHR5LWRlZmF1bHQtaXNzdWUgY29tcGlsZSBvcHRpb24gYW5kIAorICAgIG1vdmUgdGhlIGRlY2lzaW9uIHRvIGRvd25zdHJlYW0gbWFpbnRhaW5lcnMgOy0pCisKK25zZW50ZXIoMSkKKy0tLS0tLS0tLS0KKyAtIHJlYWQgdGhlIGRlZmF1bHQgVUlEIGFuZCBHSUQgZnJvbSB0aGUgdGFyZ2V0IHByb2Nlc3MuCisgICBodHRwOi8vdGhyZWFkLmdtYW5lLm9yZy9nbWFuZS5saW51eC51dGlsaXRpZXMudXRpbC1saW51eC1uZy85NTUzL2ZvY3VzPTk1ODUKKworaHdsb2NrCistLS0tLS0KKyAtIHVzZSAvdmFyL2xpYi9od2Nsb2NrL2RyaWZ0IHRvIHN0b3JlIGh3LWNsb2NrIGRyaWZ0IG51bWJlcnMuCisgLSB1c2UgL2V0Yy9hZGp0aW1lIGFzIHJlYWQtb25seSBmb3IgVVRDL0xPQ0FMIGluZm9ybWF0aW9uIG9ubHkKKyAtIHRoZSAvdmFyL2xpYi9od2Nsb2NrL2RyaWZ0IHNob3VsZCBiZSBpbXBsZW1lbnRlZCBiYWNrd2FyZGx5IGNvbXBhdGlibGUsCisgICBpdCBtZWFucyB1c2UgdGhlIGZpbGUgb25seSBpZiBleGlzdHMsIG90aGVyd2lzZSBmb2xsb3cgL2V0Yy9hZGp0aW1lIAorCitiYXNoIGNvbXBsZXRpb24KKy0tLS0tLS0tLS0tLS0tLQorLSBPcHRpb25hbCBhcmd1bWVudCBoYW5kbGluZyByZXF1aXJlcyB1c2VyIHRvIHByZXNzIGJhY2tzcGFjZSB0byBnZXQKKyAgYXJndW1lbnQgY29tcGxldGlvbi4KKy0gQ29tbWEgc2VwYXJhdGVkIHZhbHVlLCBlLmcuLCAtLW91dHB1dCAndmFsdWUxLHZhbHVlMicsIGFyZSBub3QKKyAgY29tcGxldGVkIGZvciB1c2Vycy4KKworbGlibW91bnQgKG1vdW50L3Vtb3VudCkKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyAtIGFsbG93IHRvIGV4ZWN1dGUgbW91bnQoMikgaW4gYW5vdGhlciBuYW1lc3BhY2UsIHNvbWV0aGluZyBsaWtlOgorCW1vdW50IC0tbmFtZXNwYWNlPS9wcm9jLyRuL25zL21udCAgL2Rldi9zZGEyIC9iYXIKKyAgIHNlZSBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTExOTk1NTQgZm9yIG1vcmUgZGV0YWlscy4KKworIC0gYWRkIG9wdGlvbnMgdG8gY29udHJvbCBmc3RhYi9tdGFiIG1vdW50IG9wdGlvbnMgdXNhZ2UsIHNvbWV0aGluZyBsaWtlOgorCisgICAtLW9wdGlvbnMtbW9kZT17aWdub3JlLGFwcGVuZCxwcmVwZW5kLHJlcGxhY2V9ICAgICAgTU5UX09NT0RFX3tJR05PUkUsIC4uLn0KKyAgIC0tb3B0aW9ucy1zb3VyY2U9e2ZzdGFiLG10YWIsZGlzYWJsZX0gICAgICAgICAgICAgICBNTlRfT01PREVfe0ZTVEFCLE1UQUIsTk9UQUJ9CisgICAtLW9wdGlvbnMtc291cmNlLWZvcmNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTU5UX09NT0RFX0ZPUkNFCisKKyAgIChhbGwgdGhpcyBhbHJlYWR5IHN1cHBvcnRlZCBieSBsaWJtb3VudCkKKworCitwYXJ0eAorLS0tLS0KKworIC0gc3VwcG9ydCBtYXBwaW5nIGJ5IGRldmljZS1tYXBwZXIgaWYgYXJndlswXSBpcyAia3BhcnR4IiBvciAtLWRtIG9wdGlvbiBpcyB1c2VkLgorICAgICAKKworZG9jcworLS0tLQorCisgLSAoISkgdXNlIHNvbWV0aGluZyBiZXR0ZXIgdGhhbiBndGstZG9jIGZvciBsaWJtb3VudCBhbmQgbGliYmxraWQgKGRveHlkZW4/KQorCisgLSAoISkgYWRkIEFQSSBkb2N1bWVudGF0aW9uIHRvIGxpYnV1aWQKKworCitsb2dpbi11dGlsczoKKy0tLS0tLS0tLS0tCisKKyAgLSBjb25zb2xpZGF0ZSBuZXdncnAoMSkKKyAgICAqIHdlIGhhdmUgInN1IC0tZ3JvdXAvLS1zdXBwLWdyb3VwIiB0byBzd2l0Y2ggYmV0d2VlbiBncm91cHMsIG5ld2dycCgxKSBpbgorICAgICAgdXRpbC1saW51eCBhbmQgc2hhZG93LXV0aWxzIChhbmQgc2coMSkgYWxpYXMgaW4gc2hhZG93LXV0aWxzKQorICAgICogdGhlIHVuaXF1ZSBmdW5jdGlvbmFsaXR5IHByb3ZpZGVkIGJ5IG5ld2dwcigxKSBpcyBzdXBwb3J0IGZvciBncm91cAorICAgICAgcGFzc3dvcmRzIFsvZXRjL2dzaGFkb3ddIC0tIGRvIHdlIHJlYWxseSBuZWVkIHRoaXMgZnVuY3Rpb25hbGl0eT8KKyAgICAqIG1heWJlIHdlIGNhbiBtYXJrIGdyb3VwLXBhc3N3b3JkcyBhcyBkZXByZWNhdGVkLCBhbmQgcmVwbGFjZSBzZygxKSBhbmQKKyAgICAgIG5ld2dwcigxKSB3aXRoIHN1KDEpIGNvZGUuIFRoZSBhbm90aGVyIHdheSBpcyB0byBhc2sgZnJvIGdyb3VwIHBhc3N3b3JkIGluCisgICAgICBzdSAtLWdyb3VwIHRvby4KKyAgICAqIG5vdGUgdGhhdCBzaGFkb3ctdXRpbHMgbmV3Z3ByKDEpIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHN5c2xvZyBhbmQgYXVkaXQgbG9nLgorCitsaWJibGtpZAorLS0tLS0tLS0KKworIC0gKCEpIGRvbid0IHVzZSBpbnRlcm5hbGx5IGJsa2lkX2xvZmZfdCwgcmF0aGVyIHVzZSBvZmZfdCwgc2l6ZV90LCBzc2l6ZV90LAorICAgICAgIHN0ZGludC5oIHR5cGVzIGFuZCBzbyBvbi4uLgorCisgLSBhZGQgRlNTSVpFIHZhbHVlICAtLSBmaWxlc3lzdGVtIHNpemUgKGtsaWJjIHJlcXVpcmVtZW50KQorCisgLSAoISkgYWRkIHN1cHBvcnQgZm9yIGRhc2QgUFQgKHVzZWQgZm9yIGV4YW1wbGUgb24gczM5MCkKKworbGliZmRpc2sKKy0tLS0tLS0tCisKKyAtICghKSB1c2UgZnB1dHNfcXVvdGVkKCkgd2hlbiBwcmludCBwYXJ0aXRpb24gbmFtZT0gYW5kIGFsbG93IHRvIHVzZSBceCUwMngKKyAgICAgICBmb3IgaW5wdXQgdG8gZXNjYXBlIHVucHJpbnRhYmxlIGNoYXJzIGFuZCBxdW90ZXMuCisKKyAtIGFkZCBzdXBwb3J0IGZvciBBcHBsZSBQYXJ0aXRpb24gTWFwIChzZWUgbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvbWFjLmMpCisgICBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FwcGxlX1BhcnRpdGlvbl9NYXAKKworIC0gY2F0Y2ggU0lHSU5UIChDdHJsLUMpIGFuZCByZXR1cm4gdG8gbWFpbiBtZW51LgorICAgRnJvbSBSZWQgSGF0IGJ1Z3ppbGxhICM1NDU0ODg6CisKKyAgIFdoaWxlIHVzaW5nIGZkaXNrIG5vcm1hbGx5LCBpZiB5b3UgYWNjaWRlbnRhbGx5IHByZXNzZWQgdGhlIHdyb25nIGJ1dHRvbiAodG8KKyAgIHN0YXJ0IGEgc2VxdWVuY2Ugb2YgcXVlc3Rpb25zIGZvciBzb21lIG9wZXJhdGlvbiwgZS5nLiAnYycgdG8gY3JlYXRlCisgICBwYXJ0aXRpb24pLiAgVGhlIHRvb2wgdHJpZXMgdG9vIGhhcmQgdG8ga2VlcCBhc2tpbmcgeW91IGZvciB2YWxpZCBpbnB1dC4gIFlvdQorICAgY2FuJ3QgcHJvdmlkZSBhIGJsYW5rIG9yIGludmFsaWQgaW5wdXQgdG8gZ2V0IGl0IHRvIGJyZWFrIG91dCBvZiB0aGUgY3VycmVudAorICAgZGlhbG9nIHNlcXVlbmNlIGFuZCBnZXQgYmFjayB0byB0aGUgbWFpbiBtZW51LgorCittaXNjCistLS0tCisKKyAtIGFkZCBtbGxvY2thbGwoKSBhbmQgU0NIRURfRklGTyB0byBod2Nsb2NrLAorICAgc2VlIGh0dHA6Ly9sa21sLm9yZy9sa21sLzIwMDgvMTAvMTIvMTMyCisgCisKKy0tLS0tLS0tLS0tLS0tLQorZXhvdGljIHJlcXVlc3RzCistLS0tLS0tLS0tLS0tLS0KKworIC0gYWRkIFNFTGludXggc2VjdXJpdHkgY29udGV4dHMgc3VwcG9ydCB0byB0aGUgJ2lwY3MnIHV0aWxpdHkKKyAgIGh0dHA6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0yMjUzNDIKKworICAgV291bGQgYmUgZ3JlYXQgdG8gbGlzdCB0aGUgY3VycmVudCBzeXN0ZW0gSVBDIE9iamVjdHMgd2l0aCB0aGVpciByZXNwZWN0aXZlCisgICBzZWN1cml0eSBsYWJlbHMgKHdoZXJlIGFsbG93ZWQpIHdpdGggc29tZXRoaW5nIGxpa2UgJ2lwY3MgLVonIC0gZm9sbG93aW5nIHRoZQorICAgd2F5IG90aGVyIHRvb2xzIHJlcG9ydHMgdGhvc2UuCisKKwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9ibGtpZC50eHQgYi9Eb2N1bWVudGF0aW9uL2Jsa2lkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNThiMDRmCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9ibGtpZC50eHQKQEAgLTAsMCArMSw4MCBAQAorbGliYmxraWQgLSBhIGxpYnJhcnkgdG8gaGFuZGxlIGRldmljZSBpZGVudGlmaWNhdGlvbiBhbmQgdG9rZW4gZXh0cmFjdGlvbgorCitCYXNpYyB1c2FnZSBpcyBhcyBmb2xsb3dzIC0gdGhlcmUgYXJlIHR3byBub3JtYWwgdXNhZ2UgcGF0dGVybnM6CisKK0ZvciBjYXNlcyB3aGVyZSBhIHByb2dyYW0gd2FudHMgaW5mb3JtYXRpb24gYWJvdXQgbXVsdGlwbGUgZGV2aWNlcywgb3IKK2V4cGVjdHMgdG8gYmUgZG9pbmcgbXVsdGlwbGUgdG9rZW4gc2VhcmNoZXMsIHRoZSBwcm9ncmFtIHNob3VsZAorZGlyZWN0bHkgaW5pdGlhbGl6ZSBjYWNoZSBmaWxlIHZpYSAoc2Vjb25kIHBhcmFtZXRlciBpcyBjYWNoZQorZmlsZW5hbWUsIE5VTEwgPSBkZWZhdWx0KToKKworCWJsa2lkX2NhY2hlIGNhY2hlID0gTlVMTDsKKwlpZiAoYmxraWRfZ2V0X2NhY2hlKCZjYWNoZSwgTlVMTCkgPCAwKQorCQkvKiBlcnJvciByZWFkaW5nIHRoZSBjYWNoZSBmaWxlLCBub3QgcmVhbGx5IGZhdGFsICovCisKK05vdGUgdGhhdCBpZiBubyBjYWNoZSBmaWxlIGV4aXN0cywgYW4gZW1wdHkgY2FjaGUgc3RydWN0IGlzIHN0aWxsCithbGxvY2F0ZWQuICBVc2FnZSBvZiBsaWJibGtpZCBmdW5jdGlvbnMgd2lsbCB1c2UgdGhlIGNhY2hlIHRvIGF2b2lkCituZWVkbGVzcyBkZXZpY2Ugc2NhbnMuCisKK1RoZSBtb2RlbCBvZiB0aGUgYmxraWQgY2FjaGUgaXMgdGhhdCBlYWNoIGRldmljZSBoYXMgYSBudW1iZXIgb2YKK2F0dHJpYnV0ZXMgdGhhdCBjYW4gYmUgYXNzb2NpYXRlZCB3aXRoIGl0LiAgQ3VycmVudGx5IHRoZSBhdHRyaWJ1dGVzCit3aGljaCBhcmUgc3VwcG9ydGVkIChhbmQgc2V0KSBieSBibGtpZCBhcmU6CisKKwlUWVBFCQlmaWxlc3lzdGVtIHR5cGUKKwlVVUlECQlmaWxlc3lzdGVtIHV1aWQKKwlMQUJFTAkJZmlsZXN5c3RlbSBsYWJlbAorCisKK0hvdyB0byB1c2UgbGliYmxraWQ/ICBOb3JtYWxseSwgeW91IGVpdGhlciB3YW50IHRvIGZpbmQgYSBkZXZpY2Ugd2l0aAorYSBzcGVjaWZpYyBOQU1FPXZhbHVlIHRva2VuLCBvciB5b3Ugd2FudCB0byBvdXRwdXQgdG9rZW4ocykgZnJvbSBhCitkZXZpY2UuICBUbyBmaW5kIGEgZGV2aWNlIHRoYXQgbWF0Y2hlcyBhIGZvbGxvd2luZyBhdHRyaWJ1dGUsIHlvdQorc2ltcGx5IGNhbGwgdGhlIGJsa2lkX2dldF9kZXZuYW1lKCkgZnVuY3Rpb246CisKKwlpZiAoKGRldm5hbWUgPSBibGtpZF9nZXRfZGV2bmFtZShjYWNoZSwgYXR0cmlidXRlX25hbWUsIHZhbHVlKSkpIHsKKwkJLyogZG8gc29tZXRoaW5nIHdpdGggZGV2bmFtZSAqLworCQlzdHJpbmdfZnJlZShkZXZuYW1lKTsKKwl9CisKK1RoZSBjYWNoZSBwYXJhbWV0ZXIgaXMgb3B0aW9uYWw7IGlmIGl0IGlzIE5VTEwsIHRoZW4gdGhlIGJsa2lkIGxpYnJhcnkKK3dpbGwgbG9hZCB0aGUgZGVmYXVsdCBibGtpZC50YWIgY2FjaGUgZmlsZSwgYW5kIHRoZW4gcmVsZWFzZSB0aGUgY2FjaGUKK2JlZm9yZSBmdW5jdGlvbiBjYWxsIHJldHVybnMuICBUaGUgcmV0dXJuIHZhbHVlIGlzIGFuIGFsbG9jYXRlZCBzdHJpbmcKK3doaWNoIGhvbGRzIHRoZSByZXN1bHRpbmcgZGV2aWNlIG5hbWUgKGlmIGl0IGlzIGZvdW5kKS4gIElmIHRoZSB2YWx1ZQoraXMgTlVMTCwgdGhlbiBhdHRyaWJ1dGVfbmFtZSBpcyBwYXJzZWQgYXMgaWYgaXQgd2VyZQorIjxhdHRyaWJ1dGVfbmFtZT49PHZhbHVlPiI7IGlmIGl0IGNhbm5vdCBiZSBzbyBwYXJzZWQsIHRoZW4gdGhlCitvcmlnaW5hbCBhdHRyaWJ1dGVfbmFtZSBpcyByZXR1cm5lZCBpbiBhIGNvcGllZCBhbGxvY2F0ZWQgc3RyaW5nLgorVGhpcyBpcyBhIGNvbnZlbmllbmNlIHRvIGFsbG93IHVzZXIgcHJvZ3JhbXMgdG8gd2FudCB0byB0cmFuc2xhdGUgdXNlcgoraW5wdXQsIHdoZXRoZXIgaXQgaXMgb2YgdGhlIGZvcm06ICIvZGV2L2hkYTEiLCAiTEFCRUw9cm9vdCIsCisiVVVJRD0wODJELTI2RTMiLCBhbmQgZ2V0IGJhY2sgYSBkZXZpY2UgbmFtZSB0aGF0IGl0IGNhbiB1c2UuCisKK0FsdGVybmF0aXZlbHksIG9mIGNvdXJzZSwgdGhlIHByb2dyYW1tZXIgY2FuIHBhc3MgYW4gYXR0cmlidXRlIG5hbWUgb2YKKyJMQUJFTCIsIGFuZCB2YWx1ZSBvZiAicm9vdCIsIGlmIHRoYXQgaXMgbW9yZSBjb252ZW5pZW50LgorCitBbm90aGVyIGNvbW1vbiB1c2FnZSBpcyB0byByZXRyaWV2ZSB0aGUgdmFsdWUgb2YgYSBzcGVjaWZpYyBhdHRyaWJ1dGUKK2ZvciBhIHBhcnRpY3VsYXIgZGV2aWNlLiAgVGhpcyBjYW4gYmUgdXNlZCB0byBkZXRlcm1pbmUgdGhlIGZpbGVzeXN0ZW0KK3R5cGUsIG9yIGxhYmVsLCBvciB1dWlkIGZvciBhIHBhcnRpY3VsYXIgZGV2aWNlOgorCisJaWYgKCh2YWx1ZSA9IGJsa2lkX2dldF90YWdfdmFsdWUoY2FjaGUsIGF0dHJpYnV0ZV9uYW1lLCBkZXZuYW1lKSkpIHsKKwkJLyogZG8gc29tZXRoaW5nIHdpdGggdmFsdWUgKi8KKwkJc3RyaW5nX2ZyZWUodmFsdWUpOworCX0KKworSWYgYSBwcm9ncmFtIG5lZWRzIHRvIGNhbGwgbXVsdGlwbGUgYmxraWQgZnVuY3Rpb25zLCB0aGVuIHBhc3NpbmcgaW4gYQorY2FjaGUgdmFsdWUgb2YgTlVMTCBpcyBub3QgcmVjb21tZW5kZWQsIHNpbmNlIHRoZSBibGtpZC50YWIgZmlsZQord2lsbCBiZSByZXBlYXRlZGx5IHBhcnNlZCBvdmVyIGFuZCBvdmVyIGFnYWluLCB3aXRoIG1lbW9yeSBhbGxvY2F0ZWQKK2FuZCBkZWFsbG9jYXRlZC4gIFRvIGluaXRpYWxpemUgdGhlIGJsa2lkIGNhY2hlLCBibGtpZF9nZXRfY2FjaGUoKQorZnVuY3Rpb24gaXMgdXNlZDoKKworCWlmIChibGtpZF9nZXRfY2FjaGUoJmNhY2hlLCBOVUxMKSA8IDApCisJCWdvdG8gZXJyb3V0OworCitUaGUgc2Vjb25kIHBhcmFtZXRlciBvZiBibGtpZF9nZXRfY2FjaGUgKGlmIG5vbi16ZXJvKSBpcyB0aGUgYWx0ZXJuYXRlIGZpbGVuYW1lCitvZiB0aGUgYmxraWQgY2FjaGUgZmlsZSAoc2VlIGJsa2lkIG1hbiBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZQorZGVmYXVsdCBjYWNoIGZpbGUgbG9jYXRpb24pLgorCitOb3JtYWxseSwgcHJvZ3JhbXMgc2hvdWxkIGp1c3QgcGFzcyBpbiBOVUxMLgorCitJZiB5b3UgaGF2ZSBjYWxsZWQgYmxraWRfZ2V0X2NhY2hlKCksIHlvdSBzaG91bGQgY2FsbCBibGtpZF9wdXRfY2FjaGUoKQord2hlbiB5b3UgYXJlIGRvbmUgdXNpbmcgdGhlIGJsa2lkIGxpYnJhcnkgZnVuY3Rpb25zLiAgVGhpcyB3aWxsIHNhdmUgdGhlCitjYWNoZSB0byB0aGUgYmxraWQudGFiIGZpbGUsIGlmIHlvdSBoYXZlIHdyaXRlIGFjY2VzcyB0byB0aGUgZmlsZS4gIEl0Cit3aWxsIGFsc28gZnJlZSBhbGwgYXNzb2NpYXRlZCBkZXZpY2VzIGFuZCB0YWdzOgorCisJYmxraWRfcHV0X2NhY2hlKGNhY2hlKTsKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vYm9pbGVycGxhdGUuYyBiL0RvY3VtZW50YXRpb24vYm9pbGVycGxhdGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZTJmYzEzCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9ib2lsZXJwbGF0ZS5jCkBAIC0wLDAgKzEsMTAwIEBACisvKiBQbGVhc2UgdXNlIHRoaXMgZmlsZSBhcyBhIHRlbXBsYXRlIHdoZW4gaW50cm9kdWNpbmcgbmV3IGNvbW1hbmQgdG8KKyAqIHV0aWwtbGludXggcGFja2FnZS4KKyAqIC0tIHJlbW92ZSBhYm92ZSAqLworLyoKKyAqIGZpeG1lLWNvbW1hbmQtbmFtZSAtIHB1cnBvc2Ugb2YgaXQKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwbm4gIEV4YW1wbGUgQ29tbWVyY2lhbCwgSW5jCisgKiBXcml0dGVuIGJ5IFlvdXIgTmFtZSA8eW91QGV4YW1wbGUuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3b3VsZCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworICogd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyAqIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisgKi8KKworI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJubHMuaCIKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqb3V0KQoreworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygiICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1uLCAtLW5vLWFyZ3VtZW50ICAgICAgIG9wdGlvbiBkb2VzIG5vdCB1c2UgYXJndW1lbnRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1vcHRpb25hbFs9PGFyZz5dICBvcHRpb24gYXJndW1lbnQgaXMgb3B0aW9uYWxcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtciwgLS1yZXF1aXJlZCA8YXJnPiAgICBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAteiAgICAgICAgICAgICAgICAgICAgICBubyBsb25nIG9wdGlvblxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLXh5enp5ICAgICAgICAgICAgIGEgbG9uZyBvcHRpb24gb25seVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1lLCAtLWV4dHJlbWVseS1sb25nLWxvbmctb3B0aW9uXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgICAgICAgICAgICAgICAgICAgICAgdXNlIG5leHQgbGluZSBmb3IgZGVzY3JpcHRpb24gd2hlbiBuZWVkZWRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbCwgLS1sb25nLWV4cGxhbmF0aW9uICBhbiBleGFtcGxlIG9mIHZlcnkgdmVyYm9zZSwgYW5kIGNoYXR0eSBvcHRpb25cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uIG9uIHR3bywgb3IgbXVsdGlwbGUgbGluZXMsIHdoZXJlIHRoZVxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc2VjdXRpdmUgbGluZXMgYXJlIGludGVuZGVkIGJ5IHR3byBzcGFjZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZiwgLS1mb29iYXIgICAgICAgICAgICBuZXh0IG9wdGlvbiBkZXNjcmlwdGlvbiByZXNldHMgaW5kZW50XG4iKSwgb3V0KTsKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoVVNBR0VfSEVMUCwgb3V0KTsKKwlmcHV0cyhVU0FHRV9WRVJTSU9OLCBvdXQpOworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgiZml4bWUtY29tbWFuZC1uYW1lKDEpIikpOworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlpbnQgYzsKKworCWVudW0geworCQlPUFRfWFlaWlkgPSBDSEFSX01BWCArIDEsCisJCU9QVF9PUFRJT05BTAkvKiBzZWUgaG93dG8tbWFuLXBhZ2UudHh0IGFib3V0IHNob3J0IG9wdGlvbiAqLworCX07CisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJuby1hcmd1bWVudCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnbid9LAorCQl7InJlcXVpcmVkIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdyJ30sCisJCXsieHl6enkiLCBub19hcmd1bWVudCwgTlVMTCwgT1BUX1hZWlpZfSwKKwkJeyJleHRyZW1lbHktbG9uZy1sb25nLW9wdGlvbiIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnZSd9LAorCQl7ImxvbmctZXhwbGFuYXRpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ2wnfSwKKwkJeyJmb29iYXIiLCBub19hcmd1bWVudCwgTlVMTCwgJ2YnfSwKKwkJeyJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsIE5VTEwsICdWJ30sCisJCXsiaGVscCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCd9LAorCQl7TlVMTCwgMCwgTlVMTCwgMH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJucjplbGZWaCIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpCisJCXN3aXRjaCAoYykgeworCQljYXNlICduJzoKKwkJY2FzZSBPUFRfT1BUSU9OQUw6CisJCWNhc2UgJ3InOgorCQljYXNlIE9QVF9YWVpaWToKKwkJY2FzZSAnZSc6CisJCWNhc2UgJ2wnOgorCQljYXNlICdmJzoKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShzdGRvdXQpOworCQlkZWZhdWx0OgorCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJfQorCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vY2FsLnR4dCBiL0RvY3VtZW50YXRpb24vY2FsLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MzhhYzlkCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9jYWwudHh0CkBAIC0wLDAgKzEsNDIgQEAKK1RoZSBjYWwoMSkgZGF0ZSByb3V0aW5lcyB3ZXJlIHdyaXR0ZW4gZnJvbSBzY3JhdGNoLCBiYXNpY2FsbHkgZnJvbSBmaXJzdAorcHJpbmNpcGxlcy4gIFRoZSBhbGdvcml0aG0gZm9yIGNhbGN1bGF0aW5nIHRoZSBkYXkgb2Ygd2VlayBmcm9tIGFueQorR3JlZ29yaWFuIGRhdGUgd2FzICJyZXZlcnNlIGVuZ2luZWVyZWQiLiAgVGhpcyB3YXMgbmVjZXNzYXJ5IGFzIG1vc3Qgb2YKK3RoZSBkb2N1bWVudGVkIGFsZ29yaXRobXMgaGF2ZSB0byBkbyB3aXRoIGRhdGUgY2FsY3VsYXRpb25zIGZvciBvdGhlcgorY2FsZW5kYXJzIChlLmcuIGp1bGlhbikgYW5kIGFyZSBvbmx5IGFjY3VyYXRlIHdoZW4gY29udmVydGVkIHRvIGdyZWdvcmlhbgord2l0aGluIGEgbmFycm93IHJhbmdlIG9mIGRhdGVzLgorCisxIEphbiAxIGlzIGEgU2F0dXJkYXkgYmVjYXVzZSB0aGF0J3Mgd2hhdCBjYWwgc2F5cyBhbmQgSSBjb3VsZG4ndCBjaGFuZ2UKK3RoYXQgZXZlbiBpZiBJIHdhcyBkdW1iIGVub3VnaCB0byB0cnkuICBGcm9tIHRoaXMgd2UgY2FuIGVhc2lseSBjYWxjdWxhdGUKK3RoZSBkYXkgb2Ygd2VlayBmb3IgYW55IGRhdGUuICBUaGUgYWxnb3JpdGhtIGZvciBhIHplcm8gYmFzZWQgZGF5IG9mIHdlZWs6CisKKwljYWxjdWxhdGUgdGhlIG51bWJlciBvZiBkYXlzIGluIGFsbCBwcmlvciB5ZWFycyAoeWVhci0xKSozNjUKKwlhZGQgdGhlIG51bWJlciBvZiBsZWFwIHllYXJzIChkYXlzPykgc2luY2UgeWVhciAxIAorCQkobm90IGluY2x1ZGluZyB0aGlzIHllYXIgYXMgdGhhdCBpcyBjb3ZlcmVkIGxhdGVyKQorCWFkZCB0aGUgZGF5IG51bWJlciB3aXRoaW4gdGhlIHllYXIKKwkJdGhpcyBjb21wZW5zYXRlcyBmb3IgdGhlIG5vbi1pbmNsdXNpdmUgbGVhcCB5ZWFyCisJCWNhbGN1bGF0aW9uCisJaWYgdGhlIGRheSBpbiBxdWVzdGlvbiBvY2N1cnMgYmVmb3JlIHRoZSBncmVnb3JpYW4gcmVmb3JtYXRpb24KKwkJKDMgc2VwIDE3NTIgZm9yIG91ciBwdXJwb3NlcyksIHRoZW4gc2ltcGx5IHJldHVybiAKKwkJKHZhbHVlIHNvIGZhciAtIDEgKyBTQVRVUkRBWSdzIHZhbHVlIG9mIDYpIG1vZHVsbyA3LgorCWlmIHRoZSBkYXkgaW4gcXVlc3Rpb24gb2NjdXJzIGR1cmluZyB0aGUgcmVmb3JtYXRpb24gKDMgc2VwIDE3NTIKKwkJdG8gMTMgc2VwIDE3NTIgaW5jbHVzaXZlKSByZXR1cm4gVEhVUlNEQVkuIFRoaXMgaXMgbXkKKwkJaWRlYSBvZiB3aGF0IGhhcHBlbmVkIHRoZW4uIEl0IGRvZXMgbm90IG1hdHRlciBtdWNoIGFzCisJCXRoaXMgcHJvZ3JhbSBuZXZlciB0cmllcyB0byBmaW5kIGRheSBvZiB3ZWVrIGZvciBhbnkgZGF5CisJCXRoYXQgaXMgbm90IHRoZSBmaXJzdCBvZiBhIG1vbnRoLgorCW90aGVyd2lzZSwgYWZ0ZXIgdGhlIHJlZm9ybWF0aW9uLCB1c2UgdGhlIHNhbWUgZm9ybXVsYSBhcyB0aGUKKwkJZGF5cyBiZWZvcmUgd2l0aCB0aGUgYWRkaXRpb25hbCBzdGVwIG9mIHN1YnRyYWN0aW5nIHRoZQorCQludW1iZXIgb2YgZGF5cyAoMTEpIHRoYXQgd2VyZSBhZGp1c3RlZCBvdXQgb2YgdGhlIGNhbGVuZGFyCisJCWp1c3QgYmVmb3JlIHRha2luZyB0aGUgbW9kdWxvLgorCitJdCBtdXN0IGJlIG5vdGVkIHRoYXQgdGhlIG51bWJlciBvZiBsZWFwIHllYXJzIGNhbGN1bGF0aW9uIGlzIHNlbnNpdGl2ZQordG8gdGhlIGRhdGUgZm9yIHdoaWNoIHRoZSBsZWFwIHllYXIgaXMgYmVpbmcgY2FsY3VsYXRlZC4gIEEgeWVhciB0aGF0IG9jY3VycworYmVmb3JlIHRoZSByZWZvcm1hdGlvbiBpcyBkZXRlcm1pbmVkIHRvIGJlIGEgbGVhcCB5ZWFyIGlmIGl0cyBtb2R1bG8gb2YKKzQgZXF1YWxzIHplcm8uICBCdXQgYWZ0ZXIgdGhlIHJlZm9ybWF0aW9uLCBhIHllYXIgaXMgb25seSBhIGxlYXAgeWVhciBpZgoraXRzIG1vZHVsbyBvZiA0IGVxdWFscyB6ZXJvIGFuZCBpdHMgbW9kdWxvIG9mIDEwMCBkb2VzIG5vdC4gIE9mIGNvdXJzZSwKK3RoZXJlIGlzIGFuIGV4Y2VwdGlvbiBmb3IgdGhlc2UgY2VudHVyeSB5ZWFycy4gIElmIHRoZSBtb2R1bG8gb2YgNDAwIGVxdWFscworemVybywgdGhlbiB0aGUgeWVhciBpcyBhIGxlYXAgeWVhciBhbnl3YXkuICBUaGlzIGlzLCBpbiBmYWN0LCB3aGF0IHRoZQorZ3JlZ29yaWFuIHJlZm9ybWF0aW9uIHdhcyBhbGwgYWJvdXQgKGEgYml0IG9mIGVycm9yIGluIHRoZSBvbGQgYWxnb3JpdGhtCit0aGF0IGNhdXNlZCB0aGUgY2FsZW5kYXIgdG8gYmUgaW5hY2N1cmF0ZS4pCisKK09uY2Ugd2UgaGF2ZSB0aGUgZGF5IGluIHllYXIgZm9yIHRoZSBmaXJzdCBvZiB0aGUgbW9udGggaW4gcXVlc3Rpb24sIHRoZQorcmVzdCBpcyB0cml2aWFsLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9jb2wudHh0IGIvRG9jdW1lbnRhdGlvbi9jb2wudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwOThiNDQKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2NvbC50eHQKQEAgLTAsMCArMSw0MSBAQAorIwlAKCMpUkVBRE1FCTUuMSAoQmVya2VsZXkpIDUvMjIvOTAKKworY29sIC0gZmlsdGVyIG91dCByZXZlcnNlIGxpbmUgZmVlZHMuCisKK0luIHRoZSAzMlYgc291cmNlIGNvZGUgdG8gY29sKDEpIHRoZSBkZWZhdWx0IGJlaGF2aW9yIHdhcyB0byBOT1QgY29tcHJlc3MKK3NwYWNlcyBpbnRvIHRhYnMuICBUaGVyZSB3YXMgYSAtaCBvcHRpb24gd2hpY2ggY2F1c2VkIGl0IHRvIGNvbXByZXNzIHNwYWNlcworaW50byB0YWJzLiAgVGhlcmUgd2FzIG5vIC14IGZsYWcuCisKK1RoZSAzMlYgZG9jdW1lbnRhdGlvbiwgaG93ZXZlciwgd2FzIGNvbnNpc3RlbnQgd2l0aCB0aGUgU1ZJRCAoYWN0dWFsbHksIFY3CithdCB0aGUgdGltZSkgYW5kIGRvY3VtZW50ZWQgYSAteCBmbGFnIChhcyBkZWZpbmVkIGFib3ZlKSB3aGlsZSBtYWtpbmcgbm8KK21lbnRpb24gb2YgYSAtaCBmbGFnLiAgSnVzdCBiZWZvcmUgNC4zQlNEIHdlbnQgb3V0LCBDU1JHIHVwZGF0ZWQgdGhlIG1hbnVhbAorcGFnZSB0byByZWZsZWN0IHRoZSB3YXkgdGhlIGNvZGUgd29ya2VkLiAgU3VzcGVjdGluZyB0aGF0IHRoaXMgd2FzIHByb2JhYmx5Cit0aGUgd3Jvbmcgd2F5IHRvIGdvLCB0aGlzIHZlcnNpb24gYWRvcHRzIHRoZSBTVklEIGRlZmF1bHRzLCBhbmQgbm8gbG9uZ2VyCitkb2N1bWVudHMgdGhlIC1oIG9wdGlvbi4KKworVGhlIFM1IC1wIGZsYWcgaXMgbm90IHN1cHBvcnRlZCBiZWNhdXNlIGl0IGlzbid0IGNsZWFyIHdoYXQgaXQgZG9lcyAobG9va3MKK2xpa2UgYSBrbHVkZ2UgaW50cm9kdWNlZCBmb3IgYSBwYXJ0aWN1bGFyIHByaW50ZXIpLgorCitLbm93biBkaWZmZXJlbmNlcyBiZXR3ZWVuIEFUJlQncyBjb2wgYW5kIHRoaXMgb25lICgjIGlzIGRlbGltaXRlcik6CisJSW5wdXQJCQlBVCZUIGNvbAkJdGhpcyBjb2wKKwkjXG5hYmNcRTdkZWZcbiMJCSMgICBkZWZcbmFiY1xyIwkJIyAgIGRlZlxuYWJjXG4jCisJI2EjCQkJIyMJCQkjYVxuIworCQktIGxhc3QgbGluZSBhbHdheXMgZW5kcyB3aXRoIGF0IGxlYXN0IG9uZSBcbiAob3IgXEU5KQorCSMxMjM0NTY3IDhcbiMJCSMxMjM0NTY3XHQ4XG4jCQkjMTIzNDU2NyA4XG4jCisJCS0gc2luZ2xlIHNwYWNlIG5vdCBleHBhbmRlZCB0byB0YWIKKyAgICAgLWYgI2FcRThiXG4jCQkjYWJcbiMJCQkjIGJcRTlccmFcbiMKKwkJLSBjYW4gYmFjayB1cCBwYXN0IGZpcnN0IGxpbmUgKGFzIGZhciBhcyB5b3Ugd2FudCkgc28geW91CisJCSAgKmNhbiogaGF2ZSBhIHN1cGVyIHNjcmlwdCBvbiB0aGUgZmlyc3QgbGluZQorCSNcRTlfXGJhXEU4XG5iXG4jCSNcbl9cYmJcYmFcbiMJCSNcbl9cYmFcYmJcbiMKKwkJLSBhbHdheXMgcHJpbnQgbGFzdCBjaGFyYWN0ZXIgd3JpdHRlbiB0byBhIHBvc2l0aW9uLAorCQkgIEFUJlQgY29sIGNsYWltcyB0byBkbyB0aGlzIGJ1dCBkb2Vzbid0LgorCitJZiBhIGNoYXJhY3RlciBpcyB0byBiZSBwbGFjZWQgb24gYSBsaW5lIHRoYXQgaGFzIGJlZW4gZmx1c2hlZCwgYSB3YXJuaW5nCitpcyBwcm9kdWNlZCAodGhlIEFUJlQgY29sIGlzIHNpbGVudCkuICAgVGhlIC1sIGZsYWcgKG5vdCBpbiBBVCZUIGNvbCkgY2FuCitiZSB1c2VkIHRvIGluY3JlYXNlIHRoZSBudW1iZXIgb2YgbGluZXMgYnVmZmVyZWQgdG8gYXZvaWQgdGhlIHByb2JsZW0uCisKK0dlbmVyYWwgYWxnb3JpdGhtOiBhIGxpbWl0ZWQgbnVtYmVyIG9mIGxpbmVzIGFyZSBidWZmZXJlZCBpbiBhIGxpbmtlZAorbGlzdC4gIFdoZW4gYSBwcmludGFibGUgY2hhcmFjdGVyIGlzIHJlYWQsIGl0IGlzIHB1dCBpbiB0aGUgYnVmZmVyIG9mCit0aGUgY3VycmVudCBsaW5lIGFsb25nIHdpdGggdGhlIGNvbHVtbiBpdCdzIHN1cHBvc2VkIHRvIGJlIGluLiAgV2hlbgorYSBsaW5lIGlzIGZsdXNoZWQsIHRoZSBjaGFyYWN0ZXJzIGluIHRoZSBsaW5lIGFyZSBzb3J0ZWQgYWNjb3JkaW5nIHRvCitjb2x1bW4gYW5kIHRoZW4gcHJpbnRlZC4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGVwcmVjYXRlZC50eHQgYi9Eb2N1bWVudGF0aW9uL2RlcHJlY2F0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5ZGMzMzUKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2RlcHJlY2F0ZWQudHh0CkBAIC0wLDAgKzEsMTEwIEBACitUaGUgZm9sbG93aW5nIGlzIGEgbGlzdCBvZiBjb21tYW5kcyBvciBmZWF0dXJlcyB0aGF0IGFyZSBkZXByZWNhdGVkLiAgQWxsCitkZXByZWNhdGVkIHV0aWxzIGFyZSBpbiBtYWludGVuYW5jZSBtb2RlIGFuZCB3ZSBrZWVwIHRoZW0gaW4gc291cmNlIHRyZWUgZm9yCitiYWNrd2FyZCBjb21wYXRpYmlsaXR5IG9ubHkuCisKKword2hhdDogIHRhaWxmCit3aHk6ICAgInRhaWwgLWYiIGlzIGJldHRlciBub3dhZGF5cywgdGFpbGYgaGFzIHVuZml4ZWQgYnVncworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCit3aGF0OiAgc2ZkaXNrIC0tc2hvdy1zaXplCit3aHk6ICAgdGhpcyBkb2VzIG5vdCBiZWxvbmcgdG8gZmRpc2ssIHVzZSAiYmxvY2tkZXYgLS1nZXRzeiIKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKword2hhdDogICBzZmRpc2sgLS1MaW51eAord2h5OiAgICB1bm5lY2Vzc2FyeSBvcHRpb24sIG9ubHkgTGludXggKG5vbi1ET1MgbW9kZSkgaXMgc3VwcG9ydGVkCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3doYXQ6ICAgc2ZkaXNrIC0tdW5pdAord2h5OiAgICB1bm5lY2Vzc2FyeSBvcHRpb24sIG9ubHkgJ1MnZWN0b3IgdW5pdCBpcyBzdXBwb3J0ZWQKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKword2hhdDogICBzZmRpc2sgLS1zaG93LXB0LWdlb21ldHJ5Cit3aHk6ICAgIGVxdWFsIHRvIC0tc2hvdy1nZW9tZXRyeSBmb3IgYSBsb25nIHRpbWUKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKword2hhdDogICJzd2Fwb24gLS1zdW1tYXJ5IiBvdXRwdXQgZm9ybWF0Cit3aHk6ICAgZG9lcyBub3QgcHJvdmlkZSBjb250cm9sIG9uIG91dHB1dCBkYXRhIGZvcm1hdHRpbmcuIFRoZSByZWNvbW1lbmRlZCBzb2x1dGlvbgorICAgICAgIGlzIHRvIHVzZSAtLXNob3c9PGNvbHVtbnM+IGluIGFsbCBzY3JpcHRzLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitXaGF0OiAgIG1rZnMKK1doeTogICAgdXNlIGZpbGVzeXN0ZW0gc3BlY2lmaWMgbWtmcy48dHlwZT4uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1doYXQ6ICAgZmRpc2sgLXMgPGRldmljZT4KK1doeTogICAgdGhpcyBkb2VzIG5vdCBiZWxvbmcgdG8gZmRpc2ssIHVzZSAiYmxvY2tkZXYgLS1nZXRzeiIKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworV2hhdDogICAndWRldicgYW5kICdsaXN0JyBibGtpZCg4KSBvdXRwdXQgZm9ybWF0cworV2h5OiAgICB1ZGV2ZCBsaW5rcyBsaWJibGtpZCBkaXJlY3RseTsgdGhlICdsaXN0JyBpcyB1bm5lY2Vzc2FyeSwgdXNlIGxzYmxrKDgpCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1doYXQ6ICAgbGluZSgxKSBjb21tYW5kCitXaHk6ICAgIHVzZWxlc3MsIG5vYm9keSB1c2VzIHRoaXMgY29tbWFuZCwgaGVhZCgxKSBpcyBiZXR0ZXIKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworV2hhdDogICBwZygxKSBjb21tYW5kCitXaHk6ICAgIHVzZSBsZXNzKDEpIG9yIG1vcmUoMSkKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworV2hhdDogICBDSFMgc3R1ZmYgaW4gZmRpc2sgKGV4Y2VwdCBTVU4gd2hlcmUgYXJlIHBhcnRpdGlvbnMgYWRkcmVzc2VzIGJ5IGN5bGluZGVycyBvbmx5KQorV2h5OiAgICB1c2UgYWRkcmVzc3NpbmcgYnkgc2VjdG9ycywgQ0hTIGRvZXMgbm90IHdvcmsgd2l0aCBtb2Rlcm4gZGlza3MsCisgICAgICAgIGNvbmZ1c2luZyBmb3IgdXNlcnMuLi4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworV2hhdDoJbG9zZXR1cCAtcworV2h5Ogl0aGUgb3B0aW9uIC1zIGlzIGluIGNvbGxpc2lvbiB3aXRoIHRoZSBMb29wLUFFUyBsb3NldHVwIGRpYWxlY3QgdGhhdCBpcyB1c2VkCisgICAgICAgIGluIHNvbWUgZGlzdHJpYnV0aW9ucy4gVXNlIHRoZSBsb25nIHZlcnNpb24gKC0tc2hvdykgb25seS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworV2hhdDogICBsb3NldHVwIG91dHB1dCBmb3JtYXQgd2l0aG91dCAtLWxpc3QKKworICAgICAgICBkZXByZWNhdGVkIGZvcm1hdCIKKworICAgICAgICAgICMgbG9zZXR1cCAtYQorICAgICAgICAgIC9kZXYvbG9vcDA6IFtdOiAoL2hvbWUvZnMtaW1hZ2VzL3N3YXAuaW1nKQorICAgICAgICAgIC9kZXYvbG9vcDE6IFtdOiAoL2hvbWUvZnMtaW1hZ2VzL2Rpc2suaW1nKSwgb2Zmc2V0IDEwMAorCisJbmV3IGZvcm1hdDoKKworICAgICAgICAgICMgbG9zZXR1cAorICAgICAgICAgIE5BTUUgICAgICAgU0laRUxJTUlUIE9GRlNFVCBBVVRPQ0xFQVIgUk8gQkFDSy1GSUxFCisgICAgICAgICAgL2Rldi9sb29wMCAgICAgICAgIDAgICAgICAwICAgICAgICAgMCAgMCAvaG9tZS9mcy1pbWFnZXMvc3dhcC5pbWcKKyAgICAgICAgICAvZGV2L2xvb3AxICAgICAgICAgMCAgICAxMDAgICAgICAgICAwICAwIC9ob21lL2ZzLWltYWdlcy9kaXNrLmltZworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitXaGF0Ogl0dW5lbHAKK1doeToJcGFyYWxsZWwgcG9ydCBwcmludGVycyBhcmUgcHJvYmFibHkgYWxtb3N0IGV4dGluY3QgZGV2aWNlcworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1doYXQ6CXJlc2V0CitXaHk6CW5jdXJzZXMgaGFzIGJldHRlciByZXNldCgxKQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSBTaW5nbGUgVU5JWChUTSkgU3BlY2lmaWNhdGlvbiwgVmVyc2lvbiAyCitDb3B5cmlnaHQgKEMpIDE5OTcgVGhlIE9wZW4gR3JvdXAKKworICBMZWdhY3kgdXRpbGl0aWVzIHdoaWNoIGFyZSBwYXJ0IHV0aWwtbGludXggcGFja2FnZSBhcmU6CisKKwljb2wKKwlsaW5lCisJcGcKKworICBodHRwOi8vcHVicy5vcGVuZ3JvdXAub3JnL29ubGluZXB1YnMvNzkwODc5OS94Y3UvaW50cm8uaHRtbCN0YWdfMDAxXzAwM18wMDMKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZXhhbXBsZS5maWxlcy9maWxlc3lzdGVtcyBiL0RvY3VtZW50YXRpb24vZXhhbXBsZS5maWxlcy9maWxlc3lzdGVtcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZDU2ZWU3Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9leGFtcGxlLmZpbGVzL2ZpbGVzeXN0ZW1zCkBAIC0wLDAgKzEsNyBAQAorZXh0NAorZXh0MwordmZhdAoraGZzCitoZnNwbHVzCitpc285NjYwCitidHJmcwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9leGFtcGxlLmZpbGVzL2ZzdGFiIGIvRG9jdW1lbnRhdGlvbi9leGFtcGxlLmZpbGVzL2ZzdGFiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjZmZhNjQKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2V4YW1wbGUuZmlsZXMvZnN0YWIKQEAgLTAsMCArMSwxNSBAQAorIyAvZXRjL2ZzdGFiCisjIHN0YXRpYyBmaWxlIHN5c3RlbSBpbmZvcm1hdGlvbgorIworIyBUaGlzIGZpbGUgaXMgbm90IHVzZWQgYnkgdGhlIGtlcm5lbCwgYnV0IHJhdGhlciBieSBtb3VudCg4KSBhbmQgdW1vdW50KDgpCisjIChhbmQgc29tZSBkYXkgZnNjayg4KSkuICBDb21tZW50IGxpbmVzIGhhdmUgIiMiIGluIHRoZSBmaXJzdCBjb2x1bW4uCisjCisjIEZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmc3RhYig1KSBtYW4gcGFnZS4KKyMKKyMgZGV2aWNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdG9yeSAgdHlwZSAgIG9wdGlvbnMgICAgICAgICBmcmVxIHBhc3MKK1VVSUQ9MmNkYTFlMDgtMWYyMi00OTBiLTkxMDEtYzkzZDUxMWJjOWM5IC8gICAgICAgICAgZXh0NCAgIGRlZmF1bHRzICAgICAgICAxICAgIDEKK1VVSUQ9ODA1ZTc0MTgtZmMyMC00ZGNmLTgzMGMtNzI5NzgxZTU4ZDFhIC9ib290ICAgICAgZXh0NCAgIGRlZmF1bHRzICAgICAgICAxICAgIDIKK3Byb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC9wcm9jICAgICAgcHJvYyAgIGRlZmF1bHRzICAgICAgICAwICAgIDAKK3N5c2ZzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC9zeXMgICAgICAgc3lzZnMgIGRlZmF1bHRzICAgICAgICAwICAgIDAKK3RtcGZzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC9kZXYvc2htICAgdG1wZnMgIGRlZmF1bHRzICAgICAgICAwICAgIDAKK2RldnB0cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC9kZXYvcHRzICAgZGV2cHRzIGdpZD01LG1vZGU9NjIwICAwICAgIDAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZXhhbXBsZS5maWxlcy9tb3RkIGIvRG9jdW1lbnRhdGlvbi9leGFtcGxlLmZpbGVzL21vdGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQyYTZmMwotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vZXhhbXBsZS5maWxlcy9tb3RkCkBAIC0wLDAgKzEsMTAgQEAKKworICAgICAgIHxeXl5eXl58CisgICAgICAgfCAgICAgIHwgICAgICAgIF9fX19fX19fX19fX19fX19fX19fXyAKKyAgICAgICB8ICAgICAgfCAgICAgICAvICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgIHwgKG8pKG8pICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgQCAgICAgIF8pICAgICAgfCAgICAgQk9HVVMgbWFuISEgICAgICAgfAorICAgICAgIHwgLF9fX3wgICAgICwsfCAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgIHwgICAvICAgLi4nJyAgfCAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgL19fX19cICAgICAgICAgIFxfX19fX19fX19fX19fX19fX19fX18vCisKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZXhhbXBsZS5maWxlcy9zZWN1cmV0dHkgYi9Eb2N1bWVudGF0aW9uL2V4YW1wbGUuZmlsZXMvc2VjdXJldHR5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4NzQ3NjUKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2V4YW1wbGUuZmlsZXMvc2VjdXJldHR5CkBAIC0wLDAgKzEsNSBAQAordHR5MQordHR5MgordHR5MwordHR5NAordHR5UzEKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZXhhbXBsZS5maWxlcy9zaGVsbHMgYi9Eb2N1bWVudGF0aW9uL2V4YW1wbGUuZmlsZXMvc2hlbGxzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0Yjk5ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2V4YW1wbGUuZmlsZXMvc2hlbGxzCkBAIC0wLDAgKzEsNCBAQAorL2Jpbi9zaAorL2Jpbi9iYXNoCisvYmluL2NzaAorL2Jpbi90Y3NoCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2V4YW1wbGUuZmlsZXMvdWRldi1yYXcucnVsZXMgYi9Eb2N1bWVudGF0aW9uL2V4YW1wbGUuZmlsZXMvdWRldi1yYXcucnVsZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2YwZThjYgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vZXhhbXBsZS5maWxlcy91ZGV2LXJhdy5ydWxlcwpAQCAtMCwwICsxLDcgQEAKKyMgRW50ZXIgcmF3IGRldmljZSBiaW5kaW5ncyBoZXJlLgorIworIyBBbiBleGFtcGxlIHdvdWxkIGJlOgorIyAgIEFDVElPTj09ImFkZCIsIEtFUk5FTD09InNkYSIsIFJVTis9Ii9iaW4vcmF3IC9kZXYvcmF3L3JhdzEgJU4iCisjIHRvIGJpbmQgL2Rldi9yYXcvcmF3MSB0byAvZGV2L3NkYSwgb3IKKyMgICBBQ1RJT049PSJhZGQiLCBFTlZ7TUFKT1J9PT0iOCIsIEVOVntNSU5PUn09PSIxIiwgUlVOKz0iL2Jpbi9yYXcgL2Rldi9yYXcvcmF3MiAlTSAlbSIKKyMgdG8gYmluZCAvZGV2L3Jhdy9yYXcyIHRvIHRoZSBkZXZpY2Ugd2l0aCBtYWpvciA4LCBtaW5vciAxLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9nZXRvcHQudHh0IGIvRG9jdW1lbnRhdGlvbi9nZXRvcHQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2NzY0ZmUKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2dldG9wdC50eHQKQEAgLTAsMCArMSwzMSBAQAorVGhpcyBwYWNrYWdlIGNvbnRhaW5zIGEgcmVpbXBsZW1lbnRhdGlvbiBvZiBnZXRvcHQoMSkuCisKK1BSRUZBQ0UKKworR2V0b3B0KDEpIGlzIGEgcHJvZ3JhbSB0byBoZWxwIHNoZWxsIHNjcmlwdHMgcGFyc2UgY29tbWFuZC1saW5lIHBhcmFtZXRlcnMuCisKK0hJR0hMSUdIVFMKKworSXQgY2FuIGRvIGFueXRoaW5nIHRoYXQgdGhlIEdOVSBnZXRvcHQoMykgcm91dGluZXMgY2FuIGRvLgorCitJdCBjYW4gY29wZSB3aXRoIHNwYWNlcyBhbmQgc2hlbGwgbWV0YWNoYXJhY3RlcnMgd2l0aGluIGFyZ3VtZW50cy4KKworSXQgY2FuIHBhcnNlIGxvbmcgcGFyYW1ldGVycy4KKworSXQgY2FuIHNodWZmbGUgcGFyYW1ldGVycywgc28geW91IGNhbiBtaXggb3B0aW9ucyBhbmQgb3RoZXIgcGFyYW1ldGVycyBvbgordGhlIGNvbW1hbmQtbGluZS4KKworSXQgY2FuIGJlIGVhc2lseSBpZGVudGlmaWVkIGFzIGFuIGVuaGFuY2VkIGdldG9wdCgxKSBmcm9tIHdpdGhpbiBzaGVsbCBzY3JpcHRzLgorCitJdCBjYW4gcmVwb3J0IHBhcnNlIGVycm9ycyBhcyBjb21pbmcgZnJvbSB0aGUgc2hlbGwgc2NyaXB0LgorCitJdCBpcyBmdWxseSBjb21wYXRpYmxlIHdpdGggb3RoZXIgZ2V0b3B0KDEpIGltcGxlbWVudGF0aW9ucy4KKworQ09QWUlORworCitUaGlzIHByb2dyYW0gY29tZXMgdW5kZXIgdGhlIEdOVSBnZW5lcmFsIHB1YmxpYyBsaWNlbnNlIHZlcnNpb24gMi4gU2VlIHRoZQorZmlsZSBDT1BZSU5HIGluY2x1ZGVkIGluIHRoaXMgcGFja2FnZS4gTm90ZSB0aGF0IHRob3VnaCB5b3UgbWF5IGZyZWVseQorY29weSBpdCwgaXQgaXMgY29weXJpZ2h0IChjKSAxOTk3LTIwMDUgYnkgRnJvZG8gTG9vaWphYXJkCis8ZnJvZG9AZnJvZG8ubG9vaWphYXJkLm5hbWU+LgorRmlsZXMgaW4gdGhlIGdudSBkaXJlY3RvcnkgYXJlIGZyb20gZ2xpYmMtMi4wLjQ6IGNvcHlyaWdodCAoQykgMTk4NywgODgsCis4OSwgOTAsIDkxLCA5MiwgOTMsIDk0LCA5NSwgOTYsIDk3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9nZXRvcHRfY2hhbmdlbG9nLnR4dCBiL0RvY3VtZW50YXRpb24vZ2V0b3B0X2NoYW5nZWxvZy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGMxMTRiNAotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vZ2V0b3B0X2NoYW5nZWxvZy50eHQKQEAgLTAsMCArMSwzOCBAQAorMjAwNTExMDc6IEJ1bXBlZCB1cCB2ZXJzaW9uIG51bWJlciB0byAxLjEuNAorMjAwNTExMDc6IE1ha2VmaWxlOiBwYWNrYWdlIHRhcmdldAorMjAwNTExMDc6IENoYW5nZWQgZW1haWwgYW5kIHdlYnNpdGUgdG8gY3VycmVudCBvbmVzCisyMDA1MTEwNzogRml4ZWQgYSBmZXcgdHlwb3MgaW4gdGhlIG1hbnBhZ2UgKHN5bmMgd2l0aCB1dGlsLWxpbnV4ICgyLjEycikKKzIwMDMwMTIzOiBCdW1wZWQgdXAgdmVyc2lvbiBudW1iZXIgdG8gMS4xLjMKKzIwMDMwMTIzOiBDaGFuZ2VkIFdJVEhfR0VUVEVYVCBvcHRpb24gdG8gV0lUSE9VVF9HRVRURVhUCisyMDAzMDEyMzogUmVuYW1lZCBleGFtcGxlIHByb2dyYW1zIHRvIGhhdmUgdGhlIHN0cmluZyBnZXRvcHQtIHByZXBlbmRlZAorMjAwMzAxMjM6IE1hbnBhZ2U6IGFsbCBtaW51cyBzaWducyBhcmUgbm93IGVzY2FwZWQKKzIwMDMwMTIzOiBTeW5jIHdpdGggdXRpbC1saW51eCAoMi4xMXkpCisyMDAxMDMyOTogQnVtcGVkIHVwIHZlcnNpb24gbnVtYmVyIHRvIDEuMS4yCisyMDAxMDMyOTogU3luYyB3aXRoIHV0aWwtbGludXgKKzIwMDEwMzExOiBCdW1wZWQgdXAgdmVyc2lvbiBudW1iZXIgdG8gMS4xLjEKKzIwMDEwMzExOiBGaXhlZCBzdHVwaWQgY29tcGlsYXRpb24gZXJyb3IgaWYgTkxTIG5vdCBzZWxlY3RlZAorMjAwMDA2MzA6IEJ1bXBlZCB1cCB2ZXJzaW9uIG51bWJlciB0byAxLjEuMAorMjAwMDA2MzA6IFBvcnRlZCB0aGUgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQgcGF0Y2hlcyBmcm9tIHV0aWwtbGludXgKKyAgICAgICAgICBUaGV5IGFyZSB3cml0dGVuIGJ5IEFya2FkaXVzeiBNacWba2lld2ljeiA8bWlzaWVrQHBsZC5vcmcucGw+CisyMDAwMDYyNzogQnVtcGVkIHVwIHZlcnNpb24gbnVtYmVyIHRvIDEuMC42CisyMDAwMDYyNzogQSBmZXcgbWFucGFnZSB0d2Vha3MKKzIwMDAwNjE2OiBJbnRyb2R1Y2VkIERFU1RESVIgYW5kIGRpcmVjdG9yeSBjcmVhdGlvbiBpbiB0aGUgTWFrZWZpbGUuCisxOTk5MDcxNjogQnVtcGVkIHVwIHZlcnNpb24gbnVtYmVyIHRvIDEuMC41CisxOTk5MDYyMjogTWFkZSAtdSB3b3JrCisxOTk5MDEwMTogQnVtcGVkIHVwIHZlcnNpb24gbnVtYmVyIHRvIDEuMC40IChha2EuIDEuMC4zYSBpbiB1dGlsLWxpbnV4KQorMTk5OTAxMDE6IFZlcnkgc21hbGwgZml4IGluIG1haW4oKQorMTk5OTAxMDE6IFVwZGF0ZWQgdXRpbC1saW51eCBNYWtlZmlsZQorMTk5ODA2Mjg6IEJ1bXBlZCB1cCB2ZXJzaW9uIG51bWJlciB0byAxLjAuMworMTk5ODA2Mjg6IFJlbW92ZWQgcmVtYWluaW5nIGluY29tcGF0aWJpbGl0eSB3aXRoIHRjc2gtNi4wMiBmcm9tIHBhcnNlLnRjc2gKKzk4MDYyNjogQWRkZWQgc2VwYXJhdGUgTWFrZWZpbGUgZm9yIHV0aWwtbGludXgKKzE5OTgwNjI1OiBSZW1vdmVkIHNldmVyYWwgYnVncyBmcm9tIHBhcnNlLnRjc2gsIHBhcnRseSB0aGFua3MgdG8gVm9sa2VyIEt1aGxtYW5uCisgICAgICAgICAgKHYua3VobG1hbm5AZWxlYy5jYW50ZXJidXJ5LmFjLm56KS4KKzE5OTgwNjEyOiBSZW1vdmVkIHJlZmVyZW5jZSB0byBnZXRvcHQgaW4gdXRpbC1saW51eAorMTk5ODA2MTE6IEJ1bXBlZCB1cCB2ZXJzaW9uIG51bWJlciB0byAxLjAuMgorMTk5ODA2MTE6IEZpeGVkIC0tdmVyc2lvbiBidWcgKHdhcyBub3QgYXZhaWxhYmxlLCB0aG91Z2ggZG9jdW1lbnRlZCEpCisxOTk4MDYxMTogUmVtb3ZlZCBjb21waWxlciB3YXJuaW5ncy4KKzE5OTgwNjAzOiBCdW1wZWQgdXAgdmVyc2lvbiBudW1iZXIgdG8gMS4wLjEKKzE5OTgwNjAzOiBGaXhlZCBzaXplb2YoKSBidWcgKHNob3VsZCBiZSBzdHJsZW4pIGluIGdldG9wdC5jLCB0aGFua3MgdG8gCisgICAgICAgICAgQm9iIFByb3VseCAocndwQGhwcndwLmZjLmhwLmNvbSkuCisxOTk4MDUwNTogQ2hhbmdlZCBkYXRlIGZpZWxkIGluIExTTSB0byBwcm9wZXIgc3ludGF4CisxOTk4MDUwNTogUmVsZWFzZWQgdmVyc2lvbiAxLjAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaG93dG8tYnVpbGQtc3lzLnR4dCBiL0RvY3VtZW50YXRpb24vaG93dG8tYnVpbGQtc3lzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NmQyNzkzCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9ob3d0by1idWlsZC1zeXMudHh0CkBAIC0wLDAgKzEsOTUgQEAKK3V0aWwtbGludXggYnVpbGQgc3lzdGVtCis9PT09PT09PT09PT09PT09PT09PT09PQorCisgLSB0aGUgYnVpbGQgc3lzdGVtIGlzIG5vbi1yZWN1cnNpdmUsIGluZGl2aWR1YWwgc3ViZGlyZWN0b3JpZXMgdXNlCisgICBNYWtlbW9kdWxlLmFtIGZpbGVzLiBUaGVzZSBmaWxlcyBhcmUgbWVyZ2VkIHRvZ2V0aGVyIGJ5IGF1dG9tYWtlCisgICBpbnRvIG9uZSBnbG9iYWwgTWFrZWZpbGUgaW4gdGhlIHRvcC1sZXZlbCBkaXJlY3RvcnkKKworIC0gYWxsIGZpbmFsIGJ1aWxkIHJlc3VsdHMgKGJpbmFyaWVzLCBsaWJ0b29sIHNjcmlwdHMpIGFyZSBzdG9yZWQgaW4gdG9wLWxldmVsCisgICBzb3VyY2UgZGlyZWN0b3J5CisKKyAtIGFsbCBNYWtlbW9kdWxlLmFtIGZpbGVzIGhhdmUgdG8gYmUgZGVzaWduZWQgYXMgdG9wLWxldmVsIG1ha2VmaWxlcywgaXQKKyAgIG1lYW5zIHdpdGggZnVsbCBwYXRocyAoZS5nLiBmb29fU09VUkNFUyA9IHN1YmRpci9mb28uYykKKworIC0gYWx3YXlzIHVzZSAnKz0nIG9wZXJhdG9yIGZvciBnbG9iYWwgdmFyaWFibGVzIChlLmcuIGJpbl9QUk9HUkFNUyArPSBmb28pCisKKyAtIHVzZSBsaWJjb21tb24ubGEgKHdpdGhvdXQgcGF0aCEpIGZvciBsaWIvIHN0dWZmIChlLmcuIGZvb19MREFERCA9IGxpYmNvbW1vbi5sYSkKKworIC0gZm9yIGxpYmJsa2lkLCBsaWJ1dWlkIGFuZCBsaWJtb3VudCB1c2UgbGliPG5hbWU+LmxhIGluIF9MREFERCBhbmQKKyAgIC1JJCh1bF9saWI8bmFtZT5faW5jZGlyKSBpbiBfQ0ZMQUdTLCBmb3IgZXhhbXBsZQorCisJZm9vX0xEQUREID0gbGlibW91bnQubGEKKwlmb29fQ0ZMQUdTID0gLUkkKHVsX2xpYm1vdW50X2luY2RpcikKKworIC0gYWx3YXlzIHVzZSBzdWZmaXhlcyBmb3IgaG9va3MsIGZvciBleGFtcGxlCisKKwlpbnN0YWxsLWV4ZWMtaG9vay1mb286CisJCWxuIC1zZiBmb28gZm9vb28KKworCUlOU1RBTExfRVhFQ19IT09LUyArPSBpbnN0YWxsLWV4ZWMtaG9vay1mb28KKworCisgLSBhbGwgdXRpbC1saW51eCBzcGVjaWZpYyBhdXRvY29uZiBtYWNyb3MgdXNlIFVMXyBwcmVmaXgKKworIC0gdXRpbHMgaW4gTWFrZWZpbGUuYW0gZmlsZXMgYXJlIGVuYWJsZWQvZGlzYWJsZWQgYWNjb3JkaW5nIHRvIEJVSUxEXzxOQU1FPgorICAgY29uZGl0aW9ucyAoQU1fQ09ORElUSU9OQUwpLCBmb3IgZXhhbXBsZToKKworCWlmIEJVSUxEX0hXQ0xPQ0sKKwkuLi4KKwllbmRpZgorCisgLSAiaWYgQlVJTERfPE5BTUU+IiBibG9ja3MgYXJlIG5ldmVyIG5lc3RlZCB3aXRoaW4gYW5vdGhlciAiaWYgQlVJTERfPE5BTUU+IiwKKyAgIGFsbCBkZXBlbmRlbmNpZXMgaGF2ZSB0byBiZSByZXNvbHZlZCBpbiBjb25maWd1cmUuYWMgKHNlZSBVTF9SRVFVSVJFU19CVUlMRCgpKQorCisgLSBhbGwgQlVJTERfPE5BTUU+IGluIGNvbmZpZ3VyZS5hbSBhcmUgYWx3YXlzIGJhc2VkIG9uIGJ1aWxkXzxuYW1lPiB2YXJpYWJsZXMsCisgICBmb3IgZXhhbXBsZToKKworCUFNX0NPTkRJVElPTkFMKFtCVUlMRF9IV0NMT0NLXSwgdGVzdCAieCRidWlsZF9od2Nsb2NrIiA9IHh5ZXMpCisKKyAgIHRoZSAkYnVpbGRfPG5hbWU+IHNob3VsZCBiZSBhdmFpbGFibGUgaW4gd2hvbGUgY29uZmlndXJlIHNjcmlwdAorCisgLSBBQ19BUkdfRU5BQkxFKCkgc3RhdHVzIGlzIGFsd2F5cyBzdG9yZWQgaW4gJGVuYWJsZV88bmFtZT4gdmFyaWFibGUsIHBvc3NpYmxlCisgICBzZXR0aW5nOgorCisJImNoZWNrIiAtIHV0aWwvZmVhdHVyZSBpcyBvcHRpb25hbCwgaWYgYW55IHN1YmNvbXBvbmVudCAoZnVuY3Rpb24sIGxpYiwKKyAgICAgICAgICAgICAgICAgIC4uLikgaXMgbWlzc2luZyBhIHdhcm5pbmcgaXMgcHJpbnRlZCBhbmQgdGhlIHV0aWwvZmVhdHVyZSBpcworICAgICAgICAgICAgICAgICAgZGlzYWJsZWQKKworCSJ5ZXMiCS0gdXRpbC9mZWF0dXJlIGlzIHJlcXVpcmVkLCBpZiBhbnkgc3ViY29tcG9uZW50IChmdW5jdGlvbiwgbGliLAorICAgICAgICAgICAgICAgICAgLi4uKSBpcyBtaXNzaW5nIGFuIGVycm9yIGlzIHByaW50ZWQgYW5kIC4vY29uZmlndXJlIGFib3J0ZWQKKworCSJubyIJLSB0aGUgdXRpbC9mZWF0dXJlIGlzIHVud2FudGVkCisKKyAgIFRoZSBkZWZhdWx0IHN0YXR1cyBpcyBhbHdheXMgZGVmaW5lZCBieSBVTF9ERUZBVUxUX0VOQUJMRSgpIGFuZCBpdCBtaWdodCBiZQorICAgZ2xvYmFsbHkgbW9kaWZpZWQgYnkgJHVsX2RlZmF1bHRfZXN0YXRlIChzZWUgQUNfQVJHX0VOQUJMRShbYWxsLXByb2dyYW1zXSkpLgorCisgLSBpdCdzIHBvc3NpYmxlIHRvIGRpc2FibGUgYWxsIHByb2dyYW1zLCBidXQgZW5hYmxlIGp1c3Qgb25lIChvciBtb3JlKQorICAgZXhwbGljaXRseSBzcGVjaWZpZWQsIGZvciBleGFtcGxlOgorCisgICAgICAgIC4vY29uZmlndXJlIC0tZGlzYWJsZS1hbGwtcHJvZ3JhbXMgLS1lbmFibGUtaHdjbG9jaworCisgLSBzb21lIGJhc2ljIHNjZW5hcmlvcyBmb3IgdGhlIC4vY29uZmlndXJlIHNjcmlwdCBhcmUgZGVmaW5lZCBpbiB0aGUKKyAgIHRvb2xzL2NvbmZpZy1nZW4uZC8gZGlyZWN0b3J5LiBJZiB5b3Ugd2FudCB0byB1c2UgdGhlc2UgcHJlZGVmaW5lZCBzY2VuYXJpb3MKKyAgIHRoZW4gY2FsbAorCisJLi90b29scy9jb25maWctZ2VuIFs8c2NlbmFyaW8+IC4uLl0KKworICAgZm9yIGV4YW1wbGUKKworCS4vdG9vbHMvY29uZmlnLWdlbiBhbGwgc2VsaW51eAorCisgICB3aWxsIGJ1aWxkIGFsbCB1dGlscyB3aXRoIGVuYWJsZWQgc2VsaW51eCBzdXBwb3J0LiBZb3UgY2FuIGFsc28gZGVmaW5lIHNvbWUKKyAgIENGTEFHUywgZm9yIGV4YW1wbGU6CisKKwlDRkxBR1M9JChycG0gLS1ldmFsICclb3B0ZmxhZ3MnKSAuL3Rvb2xzL2NvbmZpZy1nZW4gYWxsCisKKyAgIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGRpc3RybyBmbGFncy4KKworICAgV0FSTklORzogY29uZmlnLWdlbiBpcyBub3QgZGVzaWduZWQgZm9yIGVuZC11c2VyIG9yIGRvd25zdHJlYW0gZGlzdHJpYnV0aW9ucyEKKyAgICAgICAgICAgIEl0J3MgZm9yIGRldmVsb3BtZW50IHB1cnBvc2Ugb25seS4gQWxsIGVuZC11c2VycyBhbmQgZG93bnN0cmVhbSBoYXZlCisgICAgICAgICAgICB0byB1c2Ugc3RhbmRhcmQgLi9jb25maWd1cmUgc2NyaXB0IG9ubHkuCisKKyAtIHRoZSB0b29scy9jb25maWctZ2VuIHNjcmlwdCBpcyBhbHNvIHVzZWQgZm9yIGJ1aWxkIHN5c3RlbSByZWdyZXNzaW9uIHRlc3RzLAorICAgdGhlIHRlc3QgaXMgbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgeW91IGhhdmUgdG8gdXNlCisKKwl0ZXN0cy9ydW4uc2ggYnVpbGQtc3lzIC0tZm9yY2UKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaG93dG8tY29tcGlsYXRpb24udHh0IGIvRG9jdW1lbnRhdGlvbi9ob3d0by1jb21waWxhdGlvbi50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGIzOTI0NgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vaG93dG8tY29tcGlsYXRpb24udHh0CkBAIC0wLDAgKzEsNjQgQEAKK1RoZSBjb21tb24gY2FzZQorCisJLi9hdXRvZ2VuLnNoICYmIC4vY29uZmlndXJlICYmIG1ha2UKKworCUlmIHNvbWV0aGluZyBmYWlscyByZWFkIHRoZSBsYXN0IGxpbmVzLiBUeXBpY2FsIHJlYXNvbiB0bworCWZhaWwgaXMgYSBtaXNzaW5nIGRlcGVuZGVuY3ksIHN1Y2ggYXMgbGlidG9vbCBvciBnZXR0ZXh0LgorCitBdXRvdG9vbHMKKworCWAuL2F1dG9nZW4uc2gnIGdlbmVyYXRlcyBhbGwgZmlsZXMgbmVlZGVkIHRvIGNvbXBpbGUKKwlhbmQgaW5zdGFsbCB0aGUgY29kZSAocnVuIGl0IGFmdGVyIGNoZWNrb3V0IGZyb20gZ2l0KQorCisJYG1ha2UgZGlzdGNsZWFuJyByZW1vdmVzIGFsbCB1bm5lY2Vzc2FyeSBmaWxlcywgYnV0IHRoZQorCWNvZGUgY2FuIHN0aWxsIGJlIHJlY29tcGlsZWQgd2l0aCAiLi9jb25maWd1cmU7IG1ha2UiCisKKwlgbWFrZSBkaXN0LWd6aXAnIChvciAtYnppcDIpIGNyZWF0ZXMgYSB0YXJiYWxsIHRoYXQgY2FuCisJYmUgY29uZmlndXJlZCBhbmQgY29tcGlsZWQgd2l0aG91dCBydW5uaW5nIGAuL2F1dG9nZW4uc2gnCisKK0NvbXBpbGluZworCisJVXNlIFNVSURfQ0ZMQUdTIGFuZCBTVUlEX0xERkxBR1Mgd2hlbiB5b3Ugd2FudCB0byBkZWZpbmUKKwlzcGVjaWFsIGNvbXBpbGVyIG9wdGlvbnMgZm9yIHR5cGljYWwgc3VpZCBwcm9ncmFtcywgZm9yCisJZXhhbXBsZToKKworCS4vY29uZmlndXJlIFNVSURfQ0ZMQUdTPSItZnBpZSIgU1VJRF9MREZMQUdTPSItcGllIgorCisJVGhlIFNVSURfKiBmZWF0dXJlIGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQgZm9yIGNoZm4sIGNoc2gsCisJbmV3Z3JwLCBzdSwgd3JpdGUsIG1vdW50LCBhbmQgdW1vdW50LgorCisJVXNlIERBRU1PTl9DRkxBR1MgYW5kIERBRU1PTl9MREZMQUdTIHdoZW4geW91IHdhbnQgdG8gZGVmaW5lCisJc3BlY2lhbCBjb21waWxlciBvcHRpb25zIGZvciBkYWVtb25zOyBzdXBwb3J0ZWQgZm9yIHV1aWRkLgorCisJVXNlIFNPTElCX0NGTEFHUyBhbmQgU09MSUJfTERGTEFHUyB3aGVuIHlvdSB3YW50IHRvIGRlZmluZQorCXNwZWNpYWwgY29tcGlsZXIgb3B0aW9ucyBmb3Igc2hhcmVkIGxpYnJhcmllczsgc3VwcG9ydGVkIGZvcgorCWxpYm1vdW50LCBsaWJibGtpZCBhbmQgbGlidXVpZC4KKworCUZJWE1FOiBhZGQgbm90ZXMgYWJvdXQga2xpYiBhbmQgdUNsaWIuCisKK1N0YXRpYyBsaW5raW5nCisKKwlVc2UgLS1lbmFibGUtc3RhdGljLXByb2dyYW1zWz1MSVNUXSBjb25maWd1cmUgb3B0aW9uIHdoZW4KKwl5b3Ugd2FudCB0byB1c2Ugc3RhdGljYWxseSBsaW5rZWQgcHJvZ3JhbXMuCisKKwlOb3RlLCBtb3VudCg4KSB1c2VzIGdldHtwdyxncn1uYW0oKSBhbmQgZ2V0cHd1aWQoKQorCWZ1bmN0aW9ucyBmb3IgdHJhbnNsYXRpb24gZnJvbSB1c2VybmFtZSBhbmQgZ3JvdXBuYW1lIHRvCisJVUlEIGFuZCBHSUQuIFRoZXNlIGZ1bmN0aW9ucyBjb3VsZCBiZSBpbXBsZW1lbnRlZCBieQorCWR5bmFtaWNhbGx5IGxvYWRlZCBpbmRlcGVuZGVudCBtb2R1bGVzIChOU1MpIGluIHlvdXIgbGliYworCShlLmcuIGdsaWJjKS4gVGhlc2UgbW9kdWxlcyBhcmUgbm90IHN0YXRpY2FsbHkgbGlua2VkIHRvCisJbW91bnQoOCkgYW5kIG1vdW50LnN0YXRpYyBpcyBzdGlsbCB1c2luZyBkbG9wZW4oKSBsaWtlCisJZHluYW1pY2FsbHkgbGlua2VkIHZlcnNpb24uCisKKwlUaGUgdHJhbnNsYXRpb24gd29uJ3Qgd29yayBpbiBlbnZpcm9ubWVudCB3aGVyZSBOU1MKKwltb2R1bGVzIGFyZSBub3QgaW5zdGFsbGVkLgorCisJRm9yIGV4YW1wbGUgbm9ybWFsIHN5c3RlbSAoTlNTIG1vZHVsZXMgYXJlIGF2YWlsYWJsZSk6CisKKwkJIyAuL21vdW50LnN0YXRpYyAtdiAtZiAtbiAtb3VpZD1remFrIC9tbnQvZm9vCisJCUxBQkVMPS9tbnQvZm9vIG9uIC9tbnQvZm9vIHR5cGUgdmZhdCAocncsdWlkPTUwMCkKKwkJCQkJCQkgXl5eXl5eXgorCWFuZCB3aXRob3V0IE5TUyBtb2R1bGVzOgorCisJCSMgY2hyb290IC4gLi9tb3VudC5zdGF0aWMgLXYgLWYgLW4gLW91aWQ9a3phayAvbW50L3dpbgorCQlMQUJFTD0vbW50L3dpbiBvbiAvbW50L3dpbiB0eXBlIHZmYXQgKHJ3LHVpZD1remFrKQorCQkJCQkJCSBeXl5eXl5eXgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9ob3d0by1jb250cmlidXRlLnR4dCBiL0RvY3VtZW50YXRpb24vaG93dG8tY29udHJpYnV0ZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmQzZTc4OQotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vaG93dG8tY29udHJpYnV0ZS50eHQKQEAgLTAsMCArMSwxODYgQEAKK1BhdGNoZXMKKworCSogc2VuZCB5b3VyIHBhdGNoZXMgdG8gdGhlIG1haWxpbmcgbGlzdCBvciB0byB0aGUgdXBzdHJlYW0gbWFpbnRhaW5lcgorCSAgKHNlZSB0aGUgUkVBRE1FIGZpbGUgaW4gcHJvamVjdCByb290IGRpcmVjdG9yeSkuCisKKwkqIGRvbid0IGluY2x1ZGUgZ2VuZXJhdGVkIChhdXRvdG9vbHMpIHN0dWZmIHRvIHlvdXIgcGF0Y2hlcyAoaGludDoKKwkgIHVzZSBnaXQgY2xlYW4gLVhkKQorCisJKiBuZXV0cmFsaXR5OyBUaGUgc3R1ZmYgaW4gdXRpbC1saW51eCBzaG91bGQgYmUgcmF0aGVyCisJICBkaXN0cmlidXRpb24tbmV1dHJhbC4gTm8gUlBNcy9ERUJzLy4uLiBhcmUgcHJvdmlkZWQgLSBnZXQgeW91cnMKKwkgIGZyb20geW91ciBkaXN0cmlidXRvci4KKworCSogcGF0Y2hlcyBhcmUgZGVsaXZlcmVkIHZpYSBlbWFpbCBvciBnaXQgcmVtb3RlIHJlcG9zaXRvcnkgb25seS4KKwkgIERvd25sb2FkaW5nIHRoZW0gZnJvbSBpbnRlcm5ldCBzZXJ2ZXJzIGlzIGEgcGFpbi4gIFNlZQorCSAgaG93dG8tcHVsbC1yZXF1ZXN0LnR4dCBmb3IgcmVtb3RlIHJlcG9zaXRvcnkgaW5zdHJ1Y3Rpb25zLgorCisJKiBvbmUgcGF0Y2ggcGVyIGVtYWlsLCB3aXRoIHRoZSBjaGFuZ2Vsb2cgaW4gdGhlIGJvZHkgb2YgdGhlIGVtYWlsLgorCisJKiBtYWlsIGF0dGFjaG1lbnRzIGFyZSBkaWZmaWN1bHQuIFRpcDoKKwkgIGdpdCBzZW5kLWVtYWlsIC0tdG8gdXRpbC1saW51eEB2Z2VyLmtlcm5lbC5vcmcgb3JpZ2luL21hc3Rlci4ueW91cmJyYW5jaAorCisJKiBtYW55IHNtYWxsIHBhdGNoZXMgYXJlIGZhdm91cmVkIG92ZXIgb25lIGJpZy4gQnJlYWsgZG93biBpcyBkb25lIG9uCisJICBiYXNpcyBvZiBsb2dpY2FsIGZ1bmN0aW9uYWxpdHk7IGZvciBleGFtcGxlICNlbmRpZiBtYXJrIHVwcywKKwkgIGNvbXBpbGVyIHdhcm5pbmcgYW5kIGV4aXQgY29kZXMgZml4ZXMgYWxsIHNob3VsZCBiZSBpbmRpdmlkdWFsCisJICBzbWFsbCBwYXRjaGVzLgorCisJKiAnU3ViamVjdDogW1BBVENIXSBzdWJzeXN0ZW06IGRlc2NyaXB0aW9uJy4gU2VlIGFsc28gJ1BhdGNoaW5nCisJICBwcm9jZXNzJy4KKworCSogaWYgc29tZW9uZSBlbHNlIHdyb3RlIHRoZSBwYXRjaCwgdGhleSBzaG91bGQgYmUgY3JlZGl0ZWQgKGFuZAorCSAgYmxhbWVkKSBmb3IgaXQuIFRvIGNvbW11bmljYXRlIHRoaXMsIGFkZCBhIGxpbmU6CisKKwkgIEZyb206IEpvaG4gRG9lIDxqZG9lQHdoZXJldmVyLmNvbT4KKworCSogYWRkIGEgU2lnbmVkLW9mZi1ieSBsaW5lIChoaW50OiB1c2UgImdpdCBjb21taXQgLXMiKQorCisJICBUaGUgc2lnbi1vZmYgaXMgYSBzaW1wbGUgbGluZSBhdCB0aGUgZW5kIG9mIHRoZSBleHBsYW5hdGlvbiBmb3IgdGhlCisJICBwYXRjaCwgd2hpY2ggY2VydGlmaWVzIHRoYXQgeW91IHdyb3RlIGl0IG9yIG90aGVyd2lzZSBoYXZlIHRoZQorCSAgcmlnaHQgdG8gcGFzcyBpdCBvbiBhcyBhIG9wZW4tc291cmNlIHBhdGNoLiBUaGUgcnVsZXMgYXJlIHByZXR0eQorCSAgc2ltcGxlOiBpZiB5b3UgY2FuIGNlcnRpZnkgdGhlIGJlbG93OgorCisJICBCeSBtYWtpbmcgYSBjb250cmlidXRpb24gdG8gdGhpcyBwcm9qZWN0LCBJIGNlcnRpZnkgdGhhdDoKKworCSAgIChhKSBUaGUgY29udHJpYnV0aW9uIHdhcyBjcmVhdGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgbWUgYW5kIEkKKwkgICAgICAgaGF2ZSB0aGUgcmlnaHQgdG8gc3VibWl0IGl0IHVuZGVyIHRoZSBvcGVuIHNvdXJjZSBsaWNlbnNlCisJICAgICAgIGluZGljYXRlZCBpbiB0aGUgZmlsZTsgb3IKKworCSAgIChiKSBUaGUgY29udHJpYnV0aW9uIGlzIGJhc2VkIHVwb24gcHJldmlvdXMgd29yayB0aGF0LCB0byB0aGUgYmVzdAorCSAgICAgICBvZiBteSBrbm93bGVkZ2UsIGlzIGNvdmVyZWQgdW5kZXIgYW4gYXBwcm9wcmlhdGUgb3BlbiBzb3VyY2UKKwkgICAgICAgbGljZW5zZSBhbmQgSSBoYXZlIHRoZSByaWdodCB1bmRlciB0aGF0IGxpY2Vuc2UgdG8gc3VibWl0IHRoYXQKKwkgICAgICAgd29yayB3aXRoIG1vZGlmaWNhdGlvbnMsIHdoZXRoZXIgY3JlYXRlZCBpbiB3aG9sZSBvciBpbiBwYXJ0CisJICAgICAgIGJ5IG1lLCB1bmRlciB0aGUgc2FtZSBvcGVuIHNvdXJjZSBsaWNlbnNlICh1bmxlc3MgSSBhbQorCSAgICAgICBwZXJtaXR0ZWQgdG8gc3VibWl0IHVuZGVyIGEgZGlmZmVyZW50IGxpY2Vuc2UpLCBhcyBpbmRpY2F0ZWQKKwkgICAgICAgaW4gdGhlIGZpbGU7IG9yCisKKwkgICAoYykgVGhlIGNvbnRyaWJ1dGlvbiB3YXMgcHJvdmlkZWQgZGlyZWN0bHkgdG8gbWUgYnkgc29tZSBvdGhlcgorCSAgICAgICBwZXJzb24gd2hvIGNlcnRpZmllZCAoYSksIChiKSBvciAoYykgYW5kIEkgaGF2ZSBub3QgbW9kaWZpZWQKKwkgICAgICAgaXQuCisKKwkgICAoZCkgSSB1bmRlcnN0YW5kIGFuZCBhZ3JlZSB0aGF0IHRoaXMgcHJvamVjdCBhbmQgdGhlIGNvbnRyaWJ1dGlvbgorCSAgICAgICBhcmUgcHVibGljIGFuZCB0aGF0IGEgcmVjb3JkIG9mIHRoZSBjb250cmlidXRpb24gKGluY2x1ZGluZworCSAgICAgICBhbGwgcGVyc29uYWwgaW5mb3JtYXRpb24gSSBzdWJtaXQgd2l0aCBpdCwgaW5jbHVkaW5nIG15CisJICAgICAgIHNpZ24tb2ZmKSBpcyBtYWludGFpbmVkIGluZGVmaW5pdGVseSBhbmQgbWF5IGJlIHJlZGlzdHJpYnV0ZWQKKwkgICAgICAgY29uc2lzdGVudCB3aXRoIHRoaXMgcHJvamVjdCBvciB0aGUgb3BlbiBzb3VyY2UgbGljZW5zZShzKQorCSAgICAgICBpbnZvbHZlZC4KKworCSAgdGhlbiB5b3UganVzdCBhZGQgYSBsaW5lIHNheWluZworCisJICAgICAgIFNpZ25lZC1vZmYtYnk6IFJhbmRvbSBKIERldmVsb3BlciA8cmFuZG9tQGRldmVsb3Blci5leGFtcGxlLm9yZz4KKworCSAgdXNpbmcgeW91ciByZWFsIG5hbWUgKHNvcnJ5LCBubyBwc2V1ZG9ueW1zIG9yIGFub255bW91cworCSAgY29udHJpYnV0aW9ucy4pCisKK0JlZm9yZSBzZW5kaW5nIGEgcGF0Y2gKKworCSogbWFrZSBzdXJlIHRoYXQgYWZ0ZXIgcGF0Y2hpbmcgc291cmNlIGZpbGVzIHdpbGwgY29tcGlsZSB3aXRob3V0CisJICBlcnJvcnMuCisKKwkqIHRlc3QgdGhhdCBwcmV2aW91c2x5IGV4aXN0ZWQgcHJvZ3JhbSBiZWhhdmlvciBpcyBub3QKKwkgIHVuaW50ZW50aW9uYWxseSBhbHRlcnJlZC4gSWYgeW91IGFsdGVyIHRoZSBiZWhhdmlvciB0ZWxsIGFib3V0CisJICBpdCBpbiBjb21taXQgbWVzc2FnZS4KKworQ29kaW5nIHN0eWxlCisKKwkqIHRoZSBwcmVmZXJyZWQgY29kaW5nIHN0eWxlIGlzIGJhc2VkIG9uIHRoZSBsaW51eCBrZXJuZWwKKwkgIERvY3VtZW50YXRpb24vQ29kaW5nU3R5bGUuIEZvciBtb3JlIGRldGFpbHMgc2VlOgorCisJICBodHRwOi8vZ2l0Lmtlcm5lbC5vcmcvY2dpdC9saW51eC9rZXJuZWwvZ2l0L3RvcnZhbGRzL2xpbnV4LmdpdC9wbGFpbi9Eb2N1bWVudGF0aW9uL0NvZGluZ1N0eWxlCisKKwkqIFVzZSBgRklYTUU6JyBhbmQgYSBnb29kIGRlc2NyaXB0aW9uIGlmIHdhbnQgdG8gaW5mb3JtIG90aGVycworCSAgc29tZXRoaW5nIGlzIG5vdCBxdWl0ZSByaWdodCwgYW5kIHlvdSBhcmUgdW53aWxsaW5nIHRvIGZpeCB0aGUKKwkgIGlzc3VlIGluIHRoZSBzdWJtaXR0ZWQgY2hhbmdlLgorCitQYXRjaGluZyBwcm9jZXNzCisKKwkqIFRlbGwgaW4gbWFpbCBsaXN0IHdoZW4geW91IGFyZSBnb2luZyB0byB3b3JrIHdpdGggc29tZSBwYXJ0aWN1bGFyCisJICBwaWVjZSBvZiBjb2RlIGZvciBsb25nIHRpbWUuICBUaGlzIGhlbHBzIG90aGVyIHRvIGF2b2lkIG1hc3NpdmUKKwkgIG1lcmdlIGNvbmZsaWN0cy4gIFNtYWxsIG9yIHF1aWNrIHdvcmsgZG9lcyBub3QgbmVlZCB0byBiZQorCSAgYW5ub3VuY2VkLgorCisJKiBTdWJtaXQgb25seSBjaGFuZ2VzIHRoYXQgeW91IHRoaW5rIGFyZSByZWFkeSB0byBtZXJnZS4gIElmIHlvdSBvbmx5CisJICB3YW50IGNoYW5nZSByZXZpZXcgdGVsbCB5b3VyIGludGVudGlvbiBjbGVhcmx5IGluIGNoYW5nZSBjb3ZlcgorCSAgbGV0dGVyLCBhbmQvb3IgaW4gZWFjaCBwYXRjaCBzdWJqZWN0IHRvIHJldmlldy1vbmx5LgorCisJKiBXaGVuIGdldHRpbmcgY29tbWVudHMgYWxpZ24gdGhlIGNoYW5nZXMgd2l0aCB0aGVtLiAgUmVzdWJtaXNzaW9uCisJICB3aXRob3V0IGNoYW5nZXMgaXMgYXMgZ29vZCBhcyBpZ25vcmluZyBhZHZpY2UsIGFuZCBpcyBuZWl0aGVyCisJICByZWNvbW1lbmRlZCBub3IgcG9saXRlLgorCisJKiBSZXN1Ym1pc3Npb24gY2FuIGJlIHBhcnRpYWwgb3IgY29tcGxldGUuICBJZiBvbmx5IGZldyBhbHRlcmF0aW9ucworCSAgYXJlIG5lZWRlZCBoZXJlIGFuZCB0aGVyZSByZXN1Ym1pdCBwYXJ0aWN1bGFyIHBhdGNoZXMuICBXaGVuCisJICBjb21tZW50cyBjYXVzZSBncmVhdGVyIGVmZmVjdCByZXN1Ym1pdCBldmVyeXRoaW5nIGFnYWluLgorCisJKiBNYXJrIHJlc3VibWlzc2lvbiB3aXRoIFtQQVRDSCB2Ml0uIEhpbnQ6CisJICBnaXQgZm9ybWF0LXBhdGNoIG9yaWdpbi9tYXN0ZXIuLnlvdXJicmFuY2ggLS1zdWJqZWN0LXByZWZpeD0nUEFUQ0ggdjInCisKKwkqIFVzZSBvZiByZW1vdGUgcmVwb3NpdG9yeSBmb3IgcmVzdWJtaXNzaW9uIGNhbiBiZSBnb29kIGlkZWEuCisJICBTZWUgYWxzbyBob3d0by1wdWxsLXJlcXVlc3QudHh0CisKKwkqIEFsbCBwYXRjaCBzdWJtaXNzaW9ucywgYmlnIG9yIHNtYWxsLCBhcmUgZWl0aGVyIGNvbW1lbnRlZCwgcmVqZWN0LAorCSAgb3IgbWVyZ2UuICBXaGVuIG1haW50YWluZXIgcmVqZWN0cyBhIHBhdGNoIChzZXJpZXMpIGl0IGlzIHBvaW50bGVzcworCSAgdG8gcmVzdWJtaXQuCisKK1ZhcmlvdXMgbm90ZXMKKworCSogVGhlIHV0aWwtbGludXggZG9lcyBub3QgdXNlIGtlcm5lbCBoZWFkZXJzIGZvciBmaWxlIHN5c3RlbSBzdXBlcgorCSAgYmxvY2tzIHN0cnVjdHVyZXMuCisKKwkqIFBhdGNoZXMgcmVseWluZyBvbiBmZWF0dXJlcyB0aGF0IGFyZSBub3QgaW4gTGludXMnIHRyZWUKKwkgIGFyZSBub3QgYWNjZXB0ZWQuCisKKwkqIERvIG5vdCB1c2UgYGVsc2UnIGFmdGVyIG5vbi1yZXR1cm5pbmcgZnVuY3Rpb25zLiBGb3IKKwkgIGV4YW1wbGUKKworCSAgaWYgKHRoaXMpCisJCWVycihFWElUX0ZBSUwsICJ0aGlzIGZhaWxlZCIpOworCSAgZWxzZQorCQllcnIoRVhJVF9GQUlMLCAidGhhdCBmYWlsZWQiKTsKKworCSAgaXMgd3JvbmcgYW5kIHNob3VsZCBiZSB3cm90ZQorCisJICBpZiAodGhpcykKKwkJZXJyKEVYSVRfRkFJTCwgInRoaXMgZmFpbGVkIik7CisJICBlcnIoRVhJVF9GQUlMLCAidGhhdCBmYWlsZWQiKTsKKworCSogV2hlbiB5b3UgdXNlIGlmIHNob3J0c2hvcnQgaGFuZCBtYWtlIHN1cmUgaXQgaXMgbm90IHdyYXBwZWQgdG8KKwkgIG11bHRpcGxlIGxpbmVzLiBJbiBjYXNlIHRoZSBzaG9ydGhhbmQgZG9lcyBub3QgbG9vayBnb29kIG9uIG9uZQorCSAgbGluZSB1c2Ugbm9ybWFsICJpZiAoKSBlbHNlIiBzeW50YXguCisKK1N0YW5kYXJkcyBjb21wbGlhbmN5CisKKwlTb21lIG9mIHRoZSBjb21tYW5kcyBtYWludGFpbmVkIGluIHRoaXMgcGFja2FnZSBoYXZlIE9wZW4gR3JvdXAKKwlyZXF1aXJlbWVudHMuIFRoZXNlIGNvbW1hbmRzIGFyZTsKKworCQljYWwKKwkJY29sCisJCWlwY3JtCisJCWlwY3MKKwkJa2lsbAorCQlsaW5lCisJCWxvZ2dlcgorCQltZXNnCisJCW1vcmUKKwkJbmV3Z3JwCisJCXBnCisJCXJlbmljZQorCisJSWYgeW91IGNoYW5nZSB0aGVzZSB0b29scyBwbGVhc2UgbWFrZSBzdXJlIGEgY2hhbmdlIGRvZXMgbm90CisJY29uZmxpY3Qgd2l0aCB0aGUgbGF0ZXN0IHN0YW5kYXJkLiAgRm9yIGV4YW1wbGUgaXQgaXMKKwlyZWNvbW1lbmRhYmxlIG5vdCB0byBhZGQgc2hvcnQgY29tbWFuZCBsaW5lIG9wdGlvbnMgYmVmb3JlIHRoZXkKKwlhcmUgcGFydCBvZiBzdGFuZGFyZC4gIEludHJvZHVjaW5nIG5ldyBsb25nIG9wdGlvbnMgaXMKKwlhY2NlcHRhYmxlLgorCisJCVRoZSBTaW5nbGUgVU5JWChUTSkgU3BlY2lmaWNhdGlvbiwgVmVyc2lvbiAyCisJCUNvcHlyaWdodCAoQykgMTk5NyBUaGUgT3BlbiBHcm91cAorCisJCWh0dHA6Ly9wdWJzLm9wZW5ncm91cC5vcmcvb25saW5lcHVicy83OTA4Nzk5L3hjdWl4Lmh0bWwKKworSVJDIGNoYW5uZWwKKworCSogV2UgaGF2ZSBhIG5ldyAjdXRpbC1saW51eCBJUkMgY2hhbm5lbCBhdCBmcmVlbm9kZS5uZXQuCisKKwkgIGlyYzovL2NoYXQuZnJlZW5vZGUubmV0L3V0aWwtbGludXgKKworCSAgdGhlIGNoYW5uZWwgaXMgZm9yIGRldmVsb3BlcnMgb3IgdXBzdHJlYW0gbWFpbnRhaW5lcnMuICBVc2VyCisJICBzdXBwb3J0IGlzIHJlY29tbWVuZGVkIHRvIGdvIHRvIGRpc3RyaWJ1dGlvbiBjaGFubmVscyBvcgorCSAgZm9ydW1zLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9ob3d0by1kZWJ1Zy50eHQgYi9Eb2N1bWVudGF0aW9uL2hvd3RvLWRlYnVnLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OTM2ZWI1Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9ob3d0by1kZWJ1Zy50eHQKQEAgLTAsMCArMSw3NCBAQAorRGVidWdnaW5nIHV0aWwtbGludXggcHJvZ3JhbXMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK0hvdyB0byBkZWFsIGxpYnRvb2wKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhlcmUgYXJlIGNvbnNpZGVyYXRpb25zIHRvIGJlIG1hZGUgd2hlbiBwcm9maWxpbmcgb3IgZGVidWdnaW5nIHNvbWUgcHJvZ3JhbXMKK2ZvdW5kIGluIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UuIEJlY2F1c2Ugd3JhcHBlciBzY3JpcHRzIGFyZSB1c2VkIGZvciB0aGUKK2JpbmFyaWVzIHRvIG1ha2Ugc3VyZSBhbGwgbGlicmFyeSBkZXBlbmRlbmNpZXMgYXJlIG1ldCwgeW91IGNhbm5vdCB1c2UgdG9vbHMKK3N1Y2ggYXMgZ2RiIG9yIHZhbGdyaW5kIGRpcmVjdGx5IHdpdGggdGhlbS4KKworTGV0J3MgdGFrZSBmb3IgZXhhbXBsZSB0aGUgbW91bnQgY29tbWFuZDoKKworCSQ+IGNkIC9wYXRoL3RvL3V0aWwtbGludXgKKwkkPiBmaWxlIG1vdW50L21vdW50CisJbW91bnQvbW91bnQ6IEJvdXJuZS1BZ2FpbiBzaGVsbCBzY3JpcHQgdGV4dCBleGVjdXRhYmxlCisKK1RoZSBiaW5hcnkgaXRzZWxmIGlzIGxvY2F0ZWQgaW4gdGhlIG1vdW50Ly5saWJzLyBkaXJlY3Rvcnk6CisKKwkkPiBmaWxlIG1vdW50Ly5saWJzL21vdW50CisJbW91bnQvLmxpYnMvbW91bnQ6IEVMRiA2NC1iaXQgTFNCIGV4ZWN1dGFibGUsIHg4Ni02NCwgdmVyc2lvbiAxIFwKKwkoU1lTViksIGR5bmFtaWNhbGx5IGxpbmtlZCAodXNlcyBzaGFyZWQgbGlicykgWy4uLl0KKworV2hlbiB0aGlzIGNvbW1hbmQgaXMgcnVuLCB0aGVyZSdzIGEgbGlicmFyeSBkZXBlbmRlbmN5IGVycm9yOgorCisJJD4gbW91bnQvLmxpYnMvbW91bnQKKwltb3VudC8ubGlicy9tb3VudDogL2xpYi9saWJibGtpZC5zby4xOiB2ZXJzaW9uIGBCTEtJRF8yLjIwJyBub3QgZm91bmQgXAorCShyZXF1aXJlZCBieSBtb3VudC8ubGlicy9tb3VudCkKKworVG8gb3ZlcmNvbWUgdGhpcyB3ZSBuZWVkIHNldCB0aGUgTERfTElCUkFSWV9QQVRIIHZhcmlhYmxlIHRvIHJlYWQgdGhlIHBhdGggb2YKK3RoZSBzaGFyZWQgbGliIGZvdW5kIGluIHRoZSBzb3VyY2VzLCBhbmQgbm90IHN5c3RlbS13aWRlOgorCisJJD4gZXhwb3J0IExEX0xJQlJBUllfUEFUSD0kUFdEL2xpYmJsa2lkL3NyYy8ubGlicy86JExEX0xJQlJBUllfUEFUSAorCitOb3cgZXh0ZXJuYWwgZGVidWdnaW5nIHRvb2xzIGNhbiBiZSBydW4gb24gdGhlIGJpbmFyeS4KKworSGFwcHkgaGFja2luZyEKK0RhdmlkbG9ociBCdWVzbywgQXVndXN0IDIwMTEKKworCitUaGUgbGlibW91bnQgJiBsaWJibGtpZAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworQm90aCBvZiB0aGUgbGlicmFyaWVzIGNhbiBiZSBkZWJ1Z2dlZCBieSBzZXR0aW5nIGFuIGVudmlyb25tZW50IHZhcmlhYmxlCitjb25zaXN0aW5nIG9mIGEgbnVtYmVyLiBUaGUgbnVtYmVyIHdpbGwgYmUgdXNlZCBhcyBhIGJpdCBtYXNrLCBzbyB0aGUgbW9yZSAxIHRoZQoraGlnaGVyIHRoZSBkZWJ1Z2dpbmcgbGV2ZWwuIFNlYXJjaCBmb3IgYERFQlVHJyBmcm9tIGZpbGVzCisKKwlsaWJibGtpZC9zcmMvYmxraWRQLmgKKwlsaWJtb3VudC9zcmMvbW91bnRQLmgKKwordG8gc2VlIHdoYXQgdGhlIGRpZmZlcmVudCBiaXRzIG1lYW4uIEF0IHRoZSB0aW1lIG9mIHdyaXRpbmcgdGhpcyB0aGUgZm9sbG93aW5nCitlbmFibGVkIGZ1bGwgZGVidWcuCisKKwlleHBvcnQgTElCQkxLSURfREVCVUc9YWxsCisJZXhwb3J0IExJQk1PVU5UX0RFQlVHPWFsbAorCWV4cG9ydCBMSUJGRElTS19ERUJVRz1hbGwKKwlleHBvcnQgTElCU01BUlRDT0xTX0RFQlVHPWFsbAorCitUaGUgbGliYmxraWQgcmVhZHMgYnkgZGVmYXVsdCAvZXRjL2Jsa2lkLmNvbmYgd2hpY2ggY2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlCitlbnZpcm9ubWVudCB2YXJpYWJsZSBCTEtJRF9DT05GLiBTZWUgbWFudWFsIGxpYmJsa2lkL2xpYmJsa2lkLjMgZm9yIGRldGFpbHMKK2Fib3V0IHRoZSBjb25maWd1cmF0aW9uIGZpbGUuCisKK0Jsb2NrIGRldmljZSBpbmZvcm1hdGlvbiBpcyBub3JtYWxseSBrZXB0IGluIGEgY2FjaGUgZmlsZSAoc2VlIGJsa2lkIG1hbiBwYWdlCitmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY2FjaGUgZmlsZSBsb2NhdGlvbikgdGhhdCBjYW4gYmUgb3ZlcnJpZGRlbiBieQordGhlIGVudmlyb25tZW50IHZhcmlhYmxlIEJMS0lEX0ZJTEUuCisKK1RvIGxpYm1vdW50IHVzZXMgdGhyZWUgcGF0aHMsIHdoaWNoIGNhbiBiZSBvdmVycmlkZGVuIGJ5IHVzaW5nIGVudmlyb25tZW50Cit2YXJpYWJsZXMuIE5vdGljZSB0aGF0IHRoZXNlIGVudmlyb25tZW50IHZhcmlhYmxlcyBhcmUgaWdub3JlZCBmb3Igbm9uLXJvb3QKK3VzZXJzLgorCisJZW52IHZhcmlhYmxlCQlpZiBub3Qgc2V0IGRlZmF1bHRzIHRvCisJTElCTU9VTlRfRlNUQUIJCS9ldGMvZnN0YWIKKwlMSUJNT1VOVF9NVEFCCQkvZXRjL210YWIKKwlMSUJNT1VOVF9VVEFCCQkvcnVuL21vdW50L3V0YWIgb3IgL2Rldi8ubW91bnQvdXRhYgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9ob3d0by1tYW4tcGFnZS50eHQgYi9Eb2N1bWVudGF0aW9uL2hvd3RvLW1hbi1wYWdlLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOGExZTM0Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9ob3d0by1tYW4tcGFnZS50eHQKQEAgLTAsMCArMSwxODggQEAKKy5cIiBUaGlzIGlzIGEgdXRpbC1saW51eCBtYW51YWwgcGFnZSBleGFtcGxlIGluIHRyb2ZmIGZvcm1hdC4KKy5cIgorLlwiIFRoZSAuVEggbWFjcm8gZXhwZWN0cyB0aGUgZm9sbG93aW5nIGFyZ3VtZW50czoKKy5cIgl0aXRsZSBzZWN0aW9uIGRhdGUgZm9vdGVyIGhlYWRlcgorLlwiIFRoZSB0aXRsZSBpcyB1c3VhbGx5IHRoZSBjb21tYW5kIG5hbWUuCisuXCIgVGhlIHNlY3Rpb24gbXVzdCBtYXRjaCB0aGUgZmlsZW5hbWUgZXh0ZW5zaW9uLgorLlwiIFRoZSBkYXRlIGlzIHRoZSBtb250aCBhbmQgeWVhciB3aGVuIHRoZSBsYXN0IHVwZGF0ZSBoYXBwZW5lZC4KKy5cIiBUaGUgZm9vdGVyIGlzIGZpeGVkIHRvICJ1dGlsLWxpbnV4Ii4KKy5cIiBUaGUgaGVhZGVyIGlzIGEgdGV4dHVhbCBkZXNjcmlwdGlvbiBvZiB0aGUgc2VjdGlvbjoKKy5cIgkxICJVc2VyIENvbW1hbmRzIgorLlwiCTIgIlN5c3RlbSBjYWxscyIKKy5cIgkzICJQcm9ncmFtbWVyJ3MgTWFudWFsIgorLlwiCTQgIlNwZWNpYWwgRmlsZXMiCisuXCIJNSAiRmlsZSBGb3JtYXRzIgorLlwiCTYgIkdhbWVzIgorLlwiCTcgIk1pc2NlbGxhbmVhIgorLlwiCTggIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5cIgorLlwiIFBsZWFzZSByZWFkIGBtYW4gNyBncm9mZl9tYW4nIHRvIHNlZSBob3cgdG8gdXNlIHRoZSB2YXJpb3VzIG1hY3Jvcy4KKy5cIgorLlRIIEVYQU1QTEUgIjEiICJBcHJpbCAyMDE2IiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQorZXhhbXBsZSBcLSBhIHV0aWwtbGludXggbWFuLXBhZ2UgaG93dG8KKy5TSCBTWU5PUFNJUworLkIgZXhhbXBsZQorW29wdGlvbnNdCisuSSBhcmd1bWVudAorLlNIIERFU0NSSVBUSU9OCitFYWNoIG1hbnVhbCBwYWdlIG5lZWRzIHNvbWUgc29ydCBvZiBkZXNjcmlwdGlvbiBvZiB0aGUgY29tbWFuZC4KK1dyaXRlIHN1Y2ggaGVyZS4KKy5TSCBPUFRJT05TCisuVFAKK1xmQlwtblxmUiwgXGZCXC1cLW5vXC1hcmd1bWVudFxmUgorVGhpcyBvcHRpb24gZG9lcyBub3QgdXNlIGFuIGFyZ3VtZW50LgorLlRQCitcZkJcLVwtb3B0aW9uYWxcZlJbXGZJPWFyZ3VtZW50XGZSXQorVGVsbCBpbiB0aGlzIGRlc2NyaXB0aW9uIHRoYXQgdGhlCisuSSBhcmd1bWVudAoraXMgb3B0aW9uYWwsIGFuZCB3aGF0IGhhcHBlbnMgd2hlbiBpdCBpcyBvciBpcyBub3QgZ2l2ZW4uICBOb3RpY2UgdGhhdCB0aGUgd29yZAorLkkgYXJndW1lbnQKK2lzIG5vdCBhYmJyZXZpYXRlZCBhcyBpcyBjdXN0b21hcnkgaW4gdGhlIHVzYWdlIHRleHQuICBGb3IgZXhhbXBsZSwgd2hlbiB0aGUKK3VzYWdlIHRleHQgdXNlcyB0aGUgYXJndW1lbnQKKy5JUiBudW0gLAordGhlIG1hbnVhbCBwYWdlIHNob3VsZCBzYXkKKy5JUiBudW1iZXIgLgorLklQCitOb3RpY2UgdGhhdCBhZnRlciByZWxlYXNlIHYyLjI4IGl0IHdhcyBkZWNpZGVkIHRoYXQgaW50cm9kdWNpbmcgbmV3IG9wdGlvbnMKK3Rha2luZyBvcHRpb25hbCBhcmd1bWVudHMgc2hvdWxkIGJlIGxpbWl0ZWQgdG8gbG9uZy1vbmx5IG9wdGlvbnMuICBUaGlzIGlzCitkb25lIHByaW1hcmlseSB0byBhdm9pZCBwcm9ibGVtYXRpYyBiZWhhdmlvdXIgb2Ygc2hvcnQgb3B0aW9ucy4gIEltYWdpbmUgZm9yCitleGFtcGxlIG5vcm1hbCBvcHRpb24KKy5CIFwtbgorYW5kIG9wdGlvbmFsIG9wdGlvbgorLkJSIFwtbyAuCitPbmUgd2lsbCBleHBlY3QKKy5CIGNvbW1hbmQgXCBcLW5vCithbmQKKy5CIGNvbW1hbmQgXCBcLW9uCit0byBiZSB0aGUgc2FtZSwgYnV0IGluIGZhY3QgdGhlIGZvcm1lciBpcyB0d28gc2VwYXJhdGUgb3B0aW9ucyB3aGlsZSB0aGUKK2xhdGVyIHdpbGwgdXNlCisuQiBuCithcyBvcHRpb24gYXJndW1lbnQgb2YKKy5CUiAtbyAuCitTbyBpdCBpcyBiZXN0IHRvIGF2b2lkIHNob3J0IGZvcm1zIG9mIG9wdGlvbmFsIG9wdGlvbnMgYWx0b2dldGhlci4KKy5UUAorXGZCXC1yXGZSLCBcZkJcLVwtcmVxdWlyZWRcZlIgXGZJYXJndW1lbnRcZlIKK1RlbGwgaW4gdGhpcyBkZXNjcmlwdGlvbiB0aGF0IHRoZQorLkkgYXJndW1lbnQKK2lzIHJlcXVpcmVkLgorLlRQCitcZkJcLVZcZlIsIFxmQlwtXC12ZXJzaW9uXGZSCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKK1xmQlwtaFxmUiwgXGZCXC1cLWhlbHBcZlIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIIE5PVEVTCitUZWxsIGRldGFpbHMgdGhhdCB1c2VycyBtaWdodCBuZWVkIHRvIGtub3cuICBGb3IgZXhhbXBsZSwga2VybmVsIGZlYXR1cmUgb3IKK3ZlcnNpb24gcmVxdWlyZW1lbnRzLgorLlBQCitUaGUgbWFuLXBhZ2Ugc291cmNlIGxpbmVzIHNob3VsZCBub3QgZXhjZWVkIDgwIGNoYXJhY3RlcnMgaW4gbGVuZ3RoLgorLlBQCitEbyBub3QgbGVhdmUgZW1wdHkgbGluZXMgaW4gdGhlIGdyb2ZmIGlucHV0LiAgSWYgeW91IG5lZWQgYSBicmVhayBvciBhIG5ldworcGFyYWdyYXBoLCB1c2UgdGhlIGFwcHJvcHJpYXRlIGdyb2ZmIG1hY3Jvcy4gIFNlZQorLkJSIGdyb2ZmX21hbiAoNykKK2hvdyB0byB1c2UgbWFuIHBhZ2UgbWFjcm9zLgorLlBQCitUaGUgdXNlIGNhc2VzIG9mCisuSSBpdGFsaWMKKyh3aGljaCBpcyB1bmRlcmxpbmVkIG9uIGEgdGVybWluYWwpIGFuZAorLkIgYm9sZAorYXJlIG5vdCBzdHJpY3RseSBkZWZpbmVkLiAgVGhlIG1haW4gY29udmVudGlvbiBpcyB0aGF0CisuSSBzeW1ib2xpYyBhcmd1bWVudHMKK3VzZSBpdGFsaWMsIGFuZAorLkIgY29tbWFuZHMKK2FuZAorLkIgbGl0ZXJhbCBhcmd1bWVudHMKK3VzZSBib2xkLCBhbmQKKy5JIG90aGVyIGhpZ2hsaWdodHMKK3VzZQorLkIgZWl0aGVyCitvbmUuCisuXCIKKy5cIiBUaGUgbWFudWFsIHBhZ2UgY29tbWVudHMgYXJlIHVuZGVydmFsdWVkIHdheSBvZiBhZGRpbmcgY2xhcmlmaWNhdGlvbnMKKy5cIiBxdWl0ZSBub3QgYmVsb25nIHRvIHRoZSBtYW51YWwsIHF1ZXN0aW9ucywgVE9ETyBpdGVtcyBldGMuICBGZWVsIGZyZWUKKy5cIiB0byB1c2UgdGhlbS4KKy5cIgorLlBQCitXaGVuIGluIHRoZSBzb3VyY2UgYSBuZXcgc2VudGVuY2UgYmVnaW5zIHNvbWV3aGVyZSBtaWRsaW5lLCBpdCBzaG91bGQgdXNlIGEKK2RvdWJsZSBzcGFjZSBiZWZvcmUgaXRzIGluaXRpYWwgbGV0dGVyLiAgVGhpcyBpcyBkb25lIGJlY2F1c2UgXGZCZ3JvZmZcZlIKK3VzZXMgYSBkb3VibGUgc3BhY2UgYWZ0ZXIgYSBzZW50ZW5jZSB3aGVuIHRoaXMgc2VudGVuY2UgZW5kcyBhdCB0aGUgZW5kIG9mCithbiBpbnB1dCBsaW5lIGFuZCB0aGUgbmV4dCBzZW50ZW5jZSBiZWdpbnMgb24gdGhlIG5leHQgbGluZS4KK1VubGVzcyBhIGRvdWJsZSBzcGFjZSBpcyB1c2VkIGJlZm9yZSBvdGhlciBzZW50ZW5jZSBzdGFydHMgYXMgd2VsbCwgdGhlCitzcGFjaW5nIHN0eWxlIHdpbGwgYmUgaW5jb25zaXN0ZW50LgorLlNIIEVOVklST05NRU5UCitUZWxsIHdoaWNoIGVudmlyb25tZW50IHZhcmlhYmxlcyBhZmZlY3QsIGFuZCBob3csIHRoZSBleGVjdXRpb24gb2YgdGhlIGNvbW1hbmQuCisuVFAKKy5CIEVYQU1QTEVfUEFUSAorQ29uZmlndXJhdGlvbiBmaWxlIHBhdGguICBOb3RpY2UgdGhhdCB3ZWxsLWtub3duIGVudmlyb25tZW50IHZhcmlhYmxlcywgc3VjaCBhcworLkJSIEhPTUUgLAorZG8gbm90IG5lZWQgZXhwbGFuYXRpb24uCisuU0ggRklMRVMKK1RlbGwgd2hpY2ggZmlsZShzKSB0aGUgY29tbWFuZCB1c2VzLgorLlRQCisuQiAkRVhBTVBMRV9QQVRICisuVFEKKy5CICRIT01FLy5leGFtcGxlLmNvbmYKKy5UUQorLkIgL2V0Yy9leGFtcGxlLmNvbmYKK1doYXQgYXJlIHRoZXNlIGZpbGVzLCBpbiB3aGljaCBvcmRlciBhcmUgdGhleSByZWFkLCBhbmQgd2lsbCB0aGUgZXZhbHVhdGlvbgorZW5kIG9yIGNvbnRpbnVlIGlmIG9uZSBvZiB0aGVtIGlzIGZvdW5kLgorSW4gY2FzZSB0aGUgZXhwbGFuYXRpb24gaXMgbm90IHNpbXBsZSwgd3JpdGUgYSBzZXBhcmF0ZSAiU3BlY2lhbCBGaWxlcyIKK21hbnVhbCBwYWdlIHRoYXQgdGVsbHMgYWJvdXQgc3ludGF4LCBtZWFuaW5nIG9mIGtleS12YWx1ZSBzZXR0aW5ncywgZXRjLgorVGhpcyAiU3BlY2lhbCBGaWxlcyIgbWFudWFsIHBhZ2UgdGhlbiBuZWVkcyB0byBiZSByZWZlcnJlZCBpbiB0aGUKKy5CIFNFRSBBTFNPCitzZWN0aW9uLgorLlRQCisuQiAvdmFyL2xvZy9leGFtcGxlLmxvZworQW5vdGhlciBmaWxlLgorLlNIIEVYQU1QTEVTCitXcml0ZSB0eXBpY2FsIGFuZC9vciBjbGV2ZXIgdXNlIGV4YW1wbGVzIGhlcmUuICBUaGUgYmVsb3cgZXhhbXBsZXMgYXJlIHN0dXBpZCwKK2FuZCB5b3Ugc2hvdWxkIG5ldmVyIHdyaXRlIHRoZW0gaW4gYSByZWFsIG1hbiBwYWdlLgorLlRQCisuQiBleGFtcGxlIC1oCitPdXRwdXQgaGVscCBzY3JlZW4uCisuVFAKKy5CIGV4YW1wbGUgLVYKK091dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uLgorLlNIICJFWElUIFNUQVRVUyIKK1RoaXMgc2VjdGlvbiBjYW4gYmUgbGVmdCBvdXQgaWYgdGhlIGNvbW1hbmQgaGFzIG9ubHkgdHdvIHJldHVybiB2YWx1ZXMsCisuQiAwCitmb3Igc3VjY2VzcyBhbmQKKy5CIDEKK2ZvciBmYWlsdXJlLiAgVXNlIG9mCisuQiBzeXNleGl0cy5oCityZXR1cm4gdmFsdWVzIG11c3QgYmUgbWVudGlvbmVkLCBidXQgZG9lcyBub3QgbmVlZCB0byBiZSBleHBsYWluZWQuCisuUFAKKy5SUworLlBEIDAKKy5UUAorLkIgMAorc3VjY2VzcworLlRQCisuQiAxCitmYWlsdXJlCisuVFAKKy5CIDIKK3RlbGwgd2h5IHRoaXMgY291bGQgaGFwcGVuCisuVFAKKy5CIDMKK2V0YworLlBECisuUkUKKy5TSCBBVVRIT1JTCisuTVQgcmpoQFw6ZXhhbXBsZS5vcmcKK1JhbmRvbSBKLiBIYWNrZXIKKy5NRQorLmJyCisuTVQgZnJlZEBcOmV4YW1wbGUuY29tCitGcmVkIEZvb2JhcgorLk1FCisuU0ggIlNFRSBBTFNPIgorLkJSIGdyb2ZmX21hbiAoNyksCisuQlIgZm9vICgxKSwKKy5CUiBiYXIgKDgpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgZXhhbXBsZSBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBmdHA6Ly9cOmZ0cC5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaG93dG8tcHVsbC1yZXF1ZXN0LnR4dCBiL0RvY3VtZW50YXRpb24vaG93dG8tcHVsbC1yZXF1ZXN0LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZmEzOTc3Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9ob3d0by1wdWxsLXJlcXVlc3QudHh0CkBAIC0wLDAgKzEsMjg2IEBACitJbnRyb2R1Y3Rpb24KKy0tLS0tLS0tLS0tLQorCitUaGVzZSBpbnN0cnVjdGlvbnMgYXJlIHdyb3RlIHRvIGNvbnRyaWJ1dG9ycyB3aG8gdGVuZCB0byBzZW5kIGxvdHMgb2YKK2NoYW5nZXMuICBUaGUgYmFzaWNzIGZyb20gaG93dG8tY29udHJpYnV0ZS50eHQgZmlsZSBhcmUgYXNzdW1lZCB0byBiZQorcmVhZCBhbmQgdW5kZXJzdG9vZCBieSB0aGUgdGltZSB0aGlzIGZpbGUgYmVjb21lcyB1c2VmdWwuCisKKworU2V0dXAKKy0tLS0tCisKKzEuIEZpbmQgYSBnaXQgc2VydmVyIHRoYXQgY2FuIGJlIHJlYWNoZWQgZnJvbSBhbnl3aGVyZSBpbiBpbnRlcm5ldAorYW5vbnltb3VzbHkuICBHaXRodWIgaXMgZm9yIGV4YW1wbGUgYSBwb3B1bGFyIGNob2ljZS4KKworMi4gQ3JlYXRlIHlvdXIgb3duIHV0aWwtbGludXggY29udHJpYnV0b3IgcmVwb3NpdG9yeSwgYW5kIHB1c2ggYSB1cHN0cmVhbQorY2xvbmUgdG8gdGhlcmUuCisKKzMuIEluIHRoZXNlIGluc3RydWN0aW9ucyB0aGUgdXBzdHJlYW0gcmVtb3RlIHJlcG9zaXRvcnkgaXMgY2FsbGVkCisnb3JpZ2luJyBhbmQgdGhlICd5b3VyZ2l0JyBpcyB0aGUgY29udHJpYnV0b3IgcmVwby4KKworY2Qgfi9wcm9qZWN0cworZ2l0IGNsb25lIGdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vdXRpbHMvdXRpbC1saW51eC91dGlsLWxpbnV4LmdpdAorY2QgdXRpbC1saW51eAorZ2l0IHJlbW90ZSBhZGQgeW91cmdpdCBnaXRAZ2l0aHViLmNvbTp5b3VybG9naW4vdXRpbC1saW51eC5naXQKK2dpdCBwdXNoIHlvdXJnaXQKKworCitCcmFuY2hlcworLS0tLS0tLS0KKworMS4gVXNlIHRoZSBuYW1lIG9mIHRoZSBzdWJzeXN0ZW0sIHN1Y2ggYXMgYmxraWQsIGxpYm1vdW50LCBtaXNjLXV0aWxzLAordGhhdCBpcyB0aGUgY29tbW9uIHRoaW5nIGZvciBjaGFuZ2VzIGluIGluIHRoZSBjaGFuZ2Ugc2V0LgorCisyLiBJZiB0aGUgY2hhbmdlcyBkbyBub3QgaGF2ZSBhbnl0aGluZyBpbiBjb21tb24gdXNlIHNvbWUgcmFuZG9tIG5hbWUsCitzdWNoIGFzIFlZWVktTU0tREQgb2YgdGhlIGZpcnN0IHBhdGNoIGluIHRoZSBicmFuY2guICBOYW1lIG9mIHRoZSBicmFuY2gKK2RvZXMgbm90IHJlYWxseSBtYXR0ZXIgdGhhdCBtdWNoLCB3aXRoIG9uZSBleGNlcHRpb24uCisKKzMuIERvIG5vdCB1c2UgJ21hc3RlcicgYnJhbmNoIHRvIHlvdXIgY29udHJpYnV0aW9ucy4gIFRoZSAnbWFzdGVyJyBicmFuY2gKK2lzIG5lZWRlZCB0byBzdGF5IHVwIHRvIGRhdGUgd2l0aCB1cHN0cmVhbS4KKworNC4gV2hlbiBkb25lIHB1c2ggeW91ciBicmFuY2ggdG8geW91ciByZW1vdGUgZ2l0IHNlcnZlci4KKworZ2l0IGNoZWNrb3V0IG1hc3RlcgorZ2l0IGJyYW5jaCB0ZXh0dWFsCisjIHNwZW50IGhlcmUgbW9zdCBvZiB0aGUgZWZmb3J0CitnaXQgcHVzaCB5b3VyYnJhbmNoIHRleHR1YWw6dGV4dHVhbAorCis1LiBEbyBub3Qgd29ycnkgaWYgeW91IHVzZWQgc3R1cGlkLWFuZC13cm9uZyBicmFuY2ggbmFtZSwgaXQgY2FuIGJlIGZpeGVkCitiZWZvcmUgc3VibWlzc2lvbi4KKworZ2l0IGJyYW5jaCAtbSBzdHVwaWQtYW5kLXdyb25nIGJyaWxsaWFudAorZ2l0IHB1c2ggeW91cmdpdCBicmlsbGlhbnQ6YnJpbGxpYW50IDpzdHVwaWQtYW5kLXdyb25nCisKKworU3RheSB1cCB0byBkYXRlCistLS0tLS0tLS0tLS0tLS0KKworMS4gRW5zdXJlIHlvdSBoYXZlIHRoZSBsYXRlc3QgZnJvbSBhbGwgcmVtb3RlIHJlcG9zaXRvcmllcy4KKworMi4gTWVyZ2UgdXBzdHJlYW0gJ21hc3RlcicgYnJhbmNoIGlmIG5lZWRlZCB0byB5b3VyIGxvY2FsICdtYXN0ZXInLgorCiszLiBSZWJhc2UgeW91ciB3b3JraW5nIGNvbnRyaWJ1dGlvbiBicmFuY2hlcy4KKworNC4gUHVzaCB0aGUgY2hhbmdlcyB0byAneW91cmdpdCcuCisKK2dpdCBmZXRjaCAtLWFsbAorZ2l0IGxvZyAtLWdyYXBoIC0tZGVjb3JhdGUgLS1wcmV0dHk9b25lbGluZSAtLWFiYnJldi1jb21taXQgLS1hbGwKKworNS4gSWYgeW91IG5vdGljZSB1cHN0cmVhbSBoYXMgY2hhbmdlZCB3aGlsZSB5b3Ugd2VyZSBidXN5IHdpdGggeW91cgorY2hhbmdlcyByZWJhc2Ugb24gdG9wIG9mIHRoZSBtYXN0ZXIsIGJ1dCBiZWZvcmUgdGhhdDoKKworNi4gUHVzaCBhIGJhY2t1cCBvZiB5b3VyIGJyYW5jaCAndGV4dHVhbCcgdG8gJ3lvdXJnaXQnLCB0aGVuCisKK2dpdCBjaGVja291dCBtYXN0ZXIKK2dpdCBtZXJnZSBvcmlnaW4vbWFzdGVyCitnaXQgY2hlY2tvdXQgdGV4dHVhbAorZ2l0IHJlYmFzZSBtYXN0ZXIKKworSWYgcmViYXNlIHJlcG9ydHMgY29uZmxpY3RzIGZpeCB0aGUgY29uZmxpY3RzLiAgSW4gY2FzZSB0aGUgcmViYXNlCitjb25mbGljdCBpcyBkaWZmaWN1bHQgdG8gZml4IHJlYmFzZSAtLWFib3J0IGlzIGdvb2Qgb3B0aW9uLCBvciByZWNvdmVyCitmcm9tICd5b3VyZ2l0JywgZWl0aGVyIHdheSB0aGVyZSBpcyBzb21lIHNlcmlvdXMgcmUtd29yayBhaGVhZCB3aXRoIHRoZQorY2hhbmdlIHNldC4KKworNy4gQXNzdW1pbmcgcmViYXNlIHdlbnQgZmluZSBwdXNoIHRoZSBsYXRlc3QgdG8gJ3lvdXJnaXQnLgorCitnaXQgcHVzaCB5b3VyZ2l0IG1hc3RlcjptYXN0ZXIKK2dpdCBwdXNoIHlvdXJnaXQgLS1mb3JjZSB0ZXh0dWFsOnRleHR1YWwKKworVGhlIGNvbnRyaWJ1dG9yIGJyYW5jaCB0ZW5kcyB0byBuZWVkIC0tZm9yY2UgZXZlcnkgbm93IGFuZCB0aGVuLCBkb24ndCBiZQorYWZyYWlkIHVzaW5nIGl0LgorCis4LiBQdXNoIGVycm9yIHdpdGggbWFzdGVyIGJyYW5jaAorCitJZiAnbWFzdGVyJyBuZWVkcyAtLWZvcmNlIHRoZW4gc29tZXRoaW5nIGlzIHJlYWxseSBtZXNzZWQgdXAuICBJbiB0aGF0CitjYXNlIGl0IGlzIHByb2JhYmx5IHRoZSB3aXNlIHRvIGFiYW5kb24oKikgbG9jYWwgY2xvbmUsIGFuZCBzdGFydCBhbGwKK292ZXIgZnJvbSBjbG9uaW5nIHVwc3RyZWFtIGFnYWluLiAgT25jZSB0aGUgdXBzdHJlYW0gaXMgY2xvbmVkIGFkZCBhZ2FpbgorJ3lvdXJnaXQnIHJlbW90ZSBhbmQKKworZ2l0IHB1c2ggLS1taXJyb3IgeW91cmdpdAorCitCdXQgYmUgV0FSTkVELiAgVGhlIC0tbWlycm9yIHdpbGwgbnVrZSBhbGwgb2YgeW91ciBzdHVmZiBoYWQgaW4KKyd5b3VyZ2l0JywgdGhhdCBjYW4gY2F1c2UgZGF0YSBsb3NzLiAgKCopU28gZG9uJ3QgcmVtb3ZlIHRoZSBsb2NhbCBjbG9uZSwKK2p1c3QgbW92ZSB0aGUgZGlyZWN0b3J5IHRvIGJyb2tlbiByZXBvcyBhcmVhLgorCisKK1NlbmRpbmcgcHVsbCByZXF1ZXN0CistLS0tLS0tLS0tLS0tLS0tLS0tLQorCisxLiBXaGVuIHlvdSBhcmUgaGFwcHkgd2l0aCB5b3VyIGNoYW5nZXMgc2xlZXAgb3ZlciBuaWdodC4gIFRoaXMgaXMgbm90IGEKK3NwZWVkIGNvbXBldGl0aW9uLCBhbmQgZm9yIHNvbWUgcmVhc29uIGxvb2tpbmcgdGhlIGNoYW5nZXMgdGhlIG5leHQgZGF5CitvZnRlbiBtYWtlcyBvbmUgdG8gcmVhbGl6ZSBob3cgdGhpbmdzIGNvdWxkIGJlIGltcHJvdmVkLiAgVGhlIGJlc3QgdGhpcword2F5IHlvdSBhdm9pZCBjaGFuZ2luZyB0aGUgY2hhbmdlcyAodGhhdCBpcyBhbHdheXMgY29uZnVzaW5nKS4KKworMi4gQ2hlY2sgdGhlIG5leHQgZGF5IHRoZSBjaGFuZ2VzIGNvbXBpbGUgd2l0aG91dCBlcnJvcnMgb3Igd2FybmluZ3MsIGFuZAordGhhdCByZWdyZXNzaW9uIHRlc3RzIHJ1biBmaW5lLgorCittYWtlIGNsZWFuICYmCittYWtlIC1qMyAmJgorbWFrZSBjaGVjaworCitOb3RpY2UgdGhhdCByZWdyZXNzaW9uIHRlc3RzIHdpbGwgbm90IGNvdmVyIGFsbCBwb3NzaWJsZSBjYXNlcywgc28geW91Cittb3N0IGxpa2VseSBuZWVkIHRvIHVzZSB0aGUgY29tbWFuZHMsIGZlYXR1cmVzLCBhbmQgZml4ZXMgeW91IGRpZAorbWFudWFsbHkuCisKKzMuIElmIHlvdSBuZWVkIHRvIGNoYW5nZSBzb21ldGhpbmcuCisKK2dpdCByZWJhc2UgLWkgbWFzdGVyCisjIGNoYW5nZSBzb21ldGhpbmcKK2dpdCBwdXNoIC1mIHlvdXJnaXQgdGV4dHVhbDp0ZXh0dWFsCisKKzQuIEFzc3VtaW5nIHRoZSBjaGFuZ2VzIGxvb2sgZ29vZCBzZW5kIHRoZW0gdG8gbWFpbCBsaXN0LiAgWWVzLCB0aGUgYWxsCitvZiB0aGVtISAgU2VuZGluZyBwdWxsIHJlcXVlc3Qgd2l0aCBnaXRodWIgaXMgbm90IHZpc2libGUgZm9yIHByb2plY3QKK2NvbnRyaWJ1dG9ycywgYW5kIHRoZXkgd2lsbCBub3QgaGF2ZSBjaGFuZ2UgdG8gcmV2aWV3IHlvdXIgY2hhbmdlcy4KKworU2VuZGluZyBvbmx5IHRoZSBwdWxsIHJlcXVlc3QsIGkuZS4sIG5vdCBlYWNoIHBhdGNoLCB0byBtYWlsLWxpc3QgaXMgYWxzbworYmFkLiAgTm90aGluZyBpcyBhcyBnb29kIGFzIHNlZWluZyB0aGUgY2hhbmdlcyBhcyB0aGV5IGFyZSwgYW5kIGJlaW5nCithYmxlIHRvIGZpbmQgdGhlbSBmcm9tIHdpdGggeW91ciBmYXZvdXJpdGUgd2ViIHNlYXJjaCBlbmdpbmUgZnJvbQorbWFpbC1saXN0IGFyY2hpdmUuICBPYnZpb3VzbHkgdGhlIHB1bGwgcmVxdWVzdCBjb250ZW50IGRvZXMgbm90IGdldAoraW5kZXhlZCwgYW5kIHRoYXQgaXMgd2h5IGl0IGlzIHdvcnNlLgorCitnaXQgZm9ybWF0LXBhdGNoIC0tY292ZXItbGV0dGVyIG1hc3Rlci4udGV4dHVhbAorZ2l0IHJlcXVlc3QtcHVsbCB1cHN0cmVhbS9tYXN0ZXIgZ2l0Oi8vZ2l0aHViLmNvbS95b3VybG9naW4vdXRpbC1saW51eC5naXQgdGV4dHVhbCA+IHRlbXBmaWxlCisKK1Rha2UgZnJvbSB0aGUgJ3RlbXBmaWxlJyB0aGUgaGVhZGVyOgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitUaGUgZm9sbG93aW5nIGNoYW5nZXMgc2luY2UgY29tbWl0IDE3YmY5YzFjMzliNGYzNTE2M2VjNWM0NDNiOGJiZDU4NTczODZkZGQ6CisKKyAgaXBjcm06IGZpeCB1c2FnZSAoMjAxNS0wMS0wNiAxMTo1NToyMSArMDEwMCkKKworYXJlIGF2YWlsYWJsZSBpbiB0aGUgZ2l0IHJlcG9zaXRvcnkgYXQ6CisKKyAgZ2l0Oi8vZ2l0aHViLmNvbS95b3VybG9naW4vdXRpbC1saW51eC5naXQgdGV4dHVhbAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCithbmQgY29weSBwYXN0ZSBpdCB0byAwMDAwLWNvdmVyLWxldHRlci5wYXRjaCBmaWxlIHNvbWV3aGVyZSBuZWFyICdCTFVSQgorSEVSRScuICBSZXN0IG9mIHRoZSAncmVxdWVzdC1wdWxsJyBvdXRwdXQgc2hvdWxkIGJlIGlnbm9yZWQuCisKK0luIHNhbWUgZ28gZml4IHRoZSBTdWJqZWN0OiBsaW5lIHRvIGhhdmUgcmVhc29uYWJsZSBkZXNjcmlwdGlvbiwgZm9yCitleGFtcGxlCisKK1N1YmplY3Q6IFtQQVRDSCAwMC8xNV0gcHVsbDogdmFyaW91cyB0ZXh0dWFsIGltcHJvdmVtZW50cworCisKK0ZlZWRiYWNrIGFuZCByZXN1Ym1pc3Npb25zCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisxLiBTaW5jZSB5b3Ugc2VudCBlYWNoIHBhdGNoIHRvIG1haWwtbGlzdCB5b3UgY2FuIHNlZSB3aGljaCBvbmVzIGdvdCB0bworYmUgcmVzcG9uZGVkLiAgSW4gY2FzZSB0aGUgZmVlZGJhY2sgd2lsbCByZXN1bHQgaW4gY2hhbmdlcyB0byB0aGUKK3N1Ym1pc3Npb24gdGhlbiByZWJhc2UsIHBlcmZvcm0gdGhlIGNoYW5nZXMsIGFuZCBwdXNoIGFnYWluIHRvIHlvdXIKK3JlbW90ZS4KKworIyB5b3UgcHJvYmFibHkgc2hvdWxkIHVzZSAnU3RheSB1cCB0byBkYXRlJyBpbnN0cnVjdGlvbnMgbm93CitnaXQgY2hlY2tvdXQgdGV4dHVhbAorZ2l0IHJlYmFzZSBtYXN0ZXIgLWkKKyMgZWRpdCBzb21ldGhpbmcKK2dpdCBhZGQgZmlsZXMKK2dpdCBjb21taXQgLS1hbWVuZAorIyBBZGQgJ1Jldmlld2VkLWJ5OicsICdUZXN0ZWQtYnk6JywgJ1NpZ25lZC1vZmYtYnk6JywgJ1JlZmVyZW5jZTonLCBhbmQKKyMgb3RoZXIgbGluZXMgbmVhciBzaWdub2ZmIHdoZW4gbmVlZGVkLiAgQXR0cmlidXRpbmcgdGhlIHJldmlld2VycyBpcyBhCisjIHZpcnR1ZSwgdHJ5IHRvIGRvIGl0LgorZ2l0IHJlYmFzZSAtLWNvbnRpbnVlCitnaXQgcHVzaCAtZiB5b3VyZ2l0IHRleHR1YWw6dGV4dHVhbAorCisyLiBTZW5kIGEgbWVzc2FnZSB0byBtYWlsLWxpc3QgdGhhdCB0aGUgc3VibWl0dGVkIGNoYW5nZSBoYXMgY2hhbmdlZCwgYW5kCit0aGF0IHRoZSBuZXcgdmVyc2lvbiBjYW4gYmUgZm91bmQgZnJvbQorCitodHRwczovL2dpdGh1Yi5jb20veW91cmxvZ2luL3V0aWwtbGludXgvY29tbWl0LzAxMjM0NTY3ODlhYmNkZWYwMTIzNDU2Nzg5YWJjZGVmMDEyMzQ1NjcKKworMy4gVGhlcmUgaXMgbm8gbmVlZCB0byB1cGRhdGUgdGhlIHB1bGwgcmVxdWVzdCBjb3ZlciBsZXR0ZXIuICBUaGUgcHJvamVjdAorbWFpbnRhaW5lciBoYXMgZG9uZSBlbm91Z2ggb2YgdGhpcyBzdHVmZiB0byBrbm93IHdoYXQgdG8gZG8uCisKKworUmVwb3NpdG9yeSBtYWludGVuYW5jZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisxLiBXaGVuIHlvdXIgcmVtb3RlIGJyYW5jaCBpcyBtZXJnZWQsIG9yIHlvdSBnb3QgZmluYWwgcmVqZWN0LCBpdCBpcyB0aW1lCit0byBjbGVhbiBpdCB1cC4KKworZ2l0IGJyYW5jaCB0ZXh0dWFsIC1kCitnaXQgcHVzaCB5b3VyZ2l0IDp0ZXh0dWFsCisKKzIuIElmIHlvdSBoYXZlIG90aGVyIGNvbnRyaWJ1dG9yIHJlcG9zaXRvcmllcyBjb25maWd1cmVkIHlvdSBtYXkgYWxzbword2FudCB0byBjbGVhbiB1cCB0aGUgYnJhbmNoZXMgdGhlIG90aGVycyBhcmUgZG9uZSB3aXRoLgorCitmb3IgSSBpbiAkKGdpdCByZW1vdGUpOyBkbworICBlY2hvICJwcnVuaW5nOiAkSSIKKyAgZ2l0IHJlbW90ZSBwcnVuZSAkSQorZG9uZQorCiszLiBXaGVuIGFsbCBvZiB5b3VyIGNvbnRyaWJ1dGlvbnMgYXJlIHByb2Nlc3NlZCB5b3Ugc2hvdWxkIHRpZHkgdXAgdGhlCitnaXQncyBndXRzLgorCitnaXQgcmVmbG9nIGV4cGlyZSAtLWFsbAorZ2l0IGdjIC0tYWdncmVzc2l2ZSAtLXBydW5lPW5vdworCitXYXJuaW5nLiAgVGhhdCB0aWR5aW5nIGlzIG5vdCBnb29kIGlkZWEgd2hpbGUgeW91IGFyZSBhY3RpdmVseSB3b3JraW5nCit3aXRoIHRoZSBjaGFuZ2Ugc2V0LiAgWW91IG5ldmVyIGtub3cgd2hlbiB5b3UgbmVlZCB0byByZWNvdmVyIHNvbWV0aGluZworZnJvbSByZWZsb2csIHNvIGtlZXAgdGhhdCBvcHRpb24gYXZhaWxhYmxlIHVudGlsIHlvdSBrbm93IHRoZSByZWZsb2cgaXMKK25vdCBuZWVkZWQuCisKKworTW9yZSBicmFuY2hlcywgb24gdG9wIG9mIGJyYW5jaGVzLCBvbiB0b3Agb2YgLi4uCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworSGVyZSBpcyBhIG9uZSB3YXkgb2YgbGF5aW5nIG91dCBtdWx0aXBsZSBicmFuY2hlcy4KKworZ2l0IGxvZyAtLWdyYXBoIC0tZGVjb3JhdGUgLS1wcmV0dHk9b25lbGluZSAtLWFiYnJldi1jb21taXQgLS1hbGwKKyogMTNiZmZmMyAoSEVBRCwgZG9jcy11cGRhdGUpIGRvY3M6IHNtYWxsIGltcHJvdmVtZW50cyB0byBob3d0by1jb250cmlidXRlLnR4dAorKiA1NDM1ZDI4IChzYW1pL21vcmUsIG1vcmUpIG1vcmU6IGRvIG5vdCBjYWxsIGZpbGVubygpIGZvciBzdGR7aW4sb3V0LGVycn0gc3RyZWFtcworKiAzZTFhYzA0IG1vcmU6IHJlbW92ZSB1bm5lY2Vzc2FyeSBicmFjZXMKKyogYzE5ZjMxYyBtb3JlOiBjaGVjayBvcGVuKDMpIHJldHVybiB2YWx1ZQorKiA2NTFlYzFiIG1vcmU6IG1vdmUgc2tpcHBpbmcgZm9yZXdhcmRzIHRvIGEgZnVuY3Rpb24gZnJvbSBjb21tYW5kKCkKKyogYmYwYzJhNyBtb3JlOiBtb3ZlIHNraXBwaW5nIGJhY2t3YXJkcyB0byBhIGZ1bmN0aW9uIGZyb20gY29tbWFuZCgpCisqIDUzYTQzOGQgbW9yZTogbW92ZSBlZGl0b3IgZXhlY3V0aW9uIHRvIGEgZnVuY3Rpb24gZnJvbSBjb21tYW5kKCkKKyogYjExNjI4YiBtb3JlOiBtb3ZlIHJ1bnRpbWUgdXNhZ2Ugb3V0cHV0IGF3YXkgZnJvbSBjb21tYW5kKCkKKyogNmNhYjA0ZSBtb3JlOiBhdm9pZCBsb25nIGVsc2Ugc2VnbWVudCBpbiBwcmJ1ZigpCisqIGEyZDlmYmIgbW9yZTogcmVtb3ZlICdyZWdpc3Rlcicga2V5d29yZHMKKyogYzZiMmQyOSBtb3JlOiByZW1vdmUgcG9pbnRsZXNzIGZ1bmN0aW9ucworKiBiNDFmZTM0IG1vcmU6IHJlbW92ZSBmdW5jdGlvbiBsaWtlIHByZXByb2Nlc3NvciBkZWZpbmVzCisqIDFhYWExY2UgbW9yZTogdXNlIHBhdGhzLmggdG8gZmluZCBib3VybmUgc2hlbGwgYW5kIHZpIGVkaXRvcgorKiAwMTZhMDE5IG1vcmU6IHJldHVybiBpcyBzdGF0ZW1lbnQsIG5vdCBhIGZ1bmN0aW9uCisqIGZmNzAxOWEgbW9yZTogcmVtb3ZlIGRlYWQgY29kZSBhbmQgdXNlbGVzcyBjb21tZW50cworKiAxNzA1Yzc2IG1vcmU6IGFkZCBzdHJ1Y3QgbW9yZV9jb250cm9sIGFuZCByZW1vdmUgZ2xvYmFsIHZhcmlhYmxlcworKiAzYWQ0ODY4IG1vcmU6IHJlb3JkZXIgaW5jbHVkZXMsIGRlY2xhcmF0aW9ucywgYW5kIGdsb2JhbCB2YXJpYWJsZXMKKyogNzIyMGU5ZCBtb3JlOiByZW1vdmUgZnVuY3Rpb24gZGVjbGFyYXRpb25zIC0gQlJBTkNIIFNUQVRVUzogV09SSyBJTiBQUk9HUkVTUworKiAwNGI5NTQ0IChzYW1pL3NjcmlwdCkgc2NyaXB0OiBhZGQgbm9yZXR1cm4gZnVuY3Rpb24gYXR0cmlidXRlcworKiBlN2I4ZDUwIHNjcmlwdDogdXNlIGdldHRpbWVfbW9ub3RvbmljKCkgdG8gZ2V0IHRpbWluZyBmaWxlIHRpbWVzdGFtcHMKKyogMTEyODlkMiBzY3JpcHQ6IHVzZSBjb3JyZWN0IGlucHV0IHR5cGUsIG1vdmUgY29tbWVudCwgYW5kIHNvIG9uCisqIDUyNGUzZTcgc2NyaXB0OiByZXBsYWNlIHN0cmZ0aW1lKCkgd29ya2Fyb3VuZCB3aXRoIENGTEFHUyA9IC1Xbm8tZm9ybWF0LXkyaworKiAwNDY1ZTdmIHNjcmlwdDogbW92ZSBkb19pbygpIGNvbnRlbnQgdG8gc21hbGwgZnVuY3Rpb25zCisqIDc1MWVkY2Egc2NyaXB0OiBhZGQgJ1NjcmlwdCBzdGFydGVkJyBsaW5lIGFsd2F5cyB0byBjYXB0dXJlIGZpbGUKKyogZjgzMTY1NyBzY3JpcHQ6IHJlbW92ZSBpbyB2cyBzaWduYWwgcmFjZQorKiBlZWZjMWI3IHNjcmlwdDogbWVyZ2UgZG9pbnB1dCgpIGFuZCBvdXRwdXQoKSBmdW5jdGlvbnMgdG8gZG9faW8oKQorKiA5ZWJhMDQ0IHNjcmlwdDogdXNlIHBvbGwoKSByYXRoZXIgdGhhbiBzZWxlY3QoKQorKiBhNmYwNGVmIHNjcmlwdDogdXNlIHNpZ25hbGZkKCkgdG8gY2F0Y2ggc2lnbmFscworKiA0YTg2ZDljIHNjcmlwdDogYWRkIHN0cnVjdCBzY3JpcHRfY29udHJvbCBhbmQgcmVtb3ZlIGdsb2JhbCB2YXJpYWJsZXMKKyogZDFjZjE5YyBzY3JpcHQ6IHJlbW92ZSBmdW5jdGlvbiBwcm90b3R5cGVzCisqIDZhN2RjZTkgKHNhbWkvMjAxNXdrMDApIGZzY2subWluaXg6IGZpeCBzZWdtZW50YXRpb24gZmF1bHQKKyogNWUzYmNmNyBsc2xvY2tzOiBmaXggdHlwZSB3YXJuaW5nCisqIDM5MDQ0MjMgbWFpbnQ6IGZpeCBzaGFkb3cgZGVjbGFyYXRpb25zCisqIDE3YmY5YzEgKHVwc3RyZWFtL21hc3Rlciwgc2FtaS9tYXN0ZXIsIGt6Z2gvbWFzdGVyLCBtYXN0ZXIpIGlwY3JtOiBmaXggdXNhZ2UKK1suLi5dCisKK1RoZSBhYm92ZSBnaXZlcyBhIGhpbnQgdG8gbWFpbnRhaW5lciB3aGF0IGlzIHRoZSBwcmVmZXJyZWQgbWVyZ2Ugb3JkZXIuCitUaGUgYnJhbmNoZXMgJzIwMTV3azAwJyBhbmQgJ3NjcmlwdCcgYXJlIHJlYWR5IHRvIGJlIG1lcmdlZCwgYW5kIHRoZXkKK3dlcmUgc2VudCB0byBtYWlsLWxpc3QuCisKK1RoZSAnbW9yZScgYnJhbmNoIHdhcyBub3Qgc3VibWl0dGVkIGF0IHRoZSB0aW1lIG9mIHdyaXRpbmcgdGhpcyB0ZXh0LgorTWFyay11cCB0aGUgYnJhbmNoIGlzIG5vdCByZWFkeSBpcyBjbGVhcmx5IG1hcmtlZCBpbiB0aGUgY29tbWl0IHN1YmplY3QsCit0aGF0IHdpbGwgbmVlZCBzb21lIHJlYmFzZWluZyB0byBiZWZvcmUgc3VibWlzc2lvbi4KKworR29vZCBvcmRlciBvZiB0aGUgYnJhbmNoZXMgaXM7CisKKzEuIEZpcnN0IHRoZSBtaW5vciAmIHNhZmUgY2hhbmdlcy4KKzIuIFRoZW4gdGhlIHJlYWR5IGJ1dCBsZXNzIGNlcnRhaW4gc3R1ZmYuCiszLiBGb2xsb3dlZCBieSB3b3JrLWluLXByb2dyZXNzLgorCitJZiB5b3UgZ28gZG93biB0aGlzIHJvdXRlIHlvdSB3aWxsIGdldCB1c2VkIHRvIHR5cGluZyBhIGxvdCBvZgorCitnaXQgcmViYXNlIHByZXZpb3VzLWJyYW5jaAorZ2l0IHB1c2ggLWYgeW91cmdpdCBicmFuY2g6YnJhbmNoCisKK0FsdGVybmF0aXZlbHkgcmViYXNlIGVhY2ggYnJhbmNoIG9uIHRvcCBvZiBvcmlnaW4vbWFzdGVyLCB3aGljaCBpcyBub3QKK3F1aXRlIGFzIGdvb2QuICBIb3cgZG8geW91IGVuc3VyZSB5b3VyIG93biBjaGFuZ2VzIGFyZSBub3QgaW4gY29uZmxpY3QKK3dpdGggZWFjaCBvdGhlcj8gIEFuZCB0aGVyZSBpcyBubyBoaW50IG9mIHByZWZlcnJlZCBtZXJnaW5nIG9yZGVyLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9ob3d0by10ZXN0cy50eHQgYi9Eb2N1bWVudGF0aW9uL2hvd3RvLXRlc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Nzk5YzkyCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9ob3d0by10ZXN0cy50eHQKQEAgLTAsMCArMSwxMzcgQEAKKworIHV0aWwtbGludXggcmVncmVzc2lvbiB0ZXN0cworIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCisgSXQncyBleHBlY3RlZCB0aGF0IGZvciBlYWNoIGludmFzaXZlIGNoYW5nZSBvciBpbXBvcnRhbnQgYnVnZml4IHlvdSB3aWxsCisgaW5jbHVkZSBhIHRlc3QgdG8geW91ciBwYXRjaC4KKworIENvbXBpbGUgdGVzdHMgJiBydW4gYmFzaWMgdGVzdHM6CisKKwkkIG1ha2UgY2hlY2sKKworIE5vdGUgdGhhdCB0aGUgY29uZmlndXJlIG9wdGlvbiAtLWRpc2FibGUtc3RhdGljIGRpc2FibGVzIG1hbnkgb2YgbGlibW91bnQgYW5kCisgbGliYmxraWQgdW5pdCB0ZXN0cy4KKworIFJ1biBhbGwgdGVzdHMgaW5jbHVkaW5nIHRlc3RzIHRoYXQgcmVxdWlyZSByb290IHBlcm1pc3Npb25zOgorCisJIyBjZCB0ZXN0cworCSMgLi9ydW4uc2ggWy0tdmVyYm9zZV0gWy0tbWVtY2hlY2tdCisKKwlBbHRlcm5hdGl2ZWx5IHVzaW5nIHN1ZG8gYW5kIG1ha2U6CisKKwkkIG1ha2UgY2hlY2sgVFNfQ09NTUFORD0idHJ1ZSIKKwkkIHN1ZG8gLUUgbWFrZSBjaGVjayBUU19PUFRTPSItLXBhcmFsbGVsPTEiCisKKyBub3RlIHRoYXQgYXMgcm9vdCB5b3UgaGF2ZSB0byBtYW51YWxseSByZW1vdmUgb3V0cHV0IGFuZCBkaWZmIGRpcmVjdG9yaWVzCisKKwkjIHJtIC1yZiBvdXRwdXQgZGlmZgorCisgb3IgcnVuICdtYWtlIGNsZWFuJyBhcyByb290LgorCisKKyBSdW4gc3Vic2V0IG9mIHRlc3RzOgorCisJJCAuL3J1bi5zaCA8dGVzdF9kaXJlY3RvcnktbmFtZT4KKworICAgICAgICBmb3IgZXhhbXBsZToKKworICAgICAgICAgICAgICAkIC4vcnVuLnNoIGJsa2lkCisgICAgICAgICAgICAgICQgLi9ydW4uc2ggbGlibW91bnQKKworIFRoZSB0ZXN0cyBpcyBwb3NzaWJsZSB0byBleGNsdWRlIGJ5IC4vcnVuLnNoIC0tZXhjbHVkZT08bGlzdD4gIHdoZXJlIHRoZQorIDxsaXN0PiBpcyBibGFuayBzZXBhcmF0ZWQgdGVzdCBuYW1lcyBpbiBmb3JtYXQgInRlc3RkaXIvdGVzdG5hbWUiLCBmb3IgZXhhbXBsZToKKworCSQgLi9ydW4uc2ggLS1leGNsdWRlPSJtb3VudC9tb3ZlIgorCisgVGhlIC0tZXhjbHVkZSBpcyBldmFsdWF0ZWQgYnkgdGhlIC4vcnVuLnNoIHNjcmlwdCBvbmx5LiBTZWUgYmVsb3cKKworCVRTX09QVF90ZXN0ZGlyX1t0ZXN0c2NyaXB0X11mYWtlPQorCisgZW52aXJvbm1lbnQgdmFyaWFibGUgd2hpY2ggcHJvdmlkZXMgbW9yZSBwb3dlcmZ1bCBmdW5jdGlvbmFsaXR5IHRvIHNraXAgdGVzdHMuCisKKworICoqKiBXQVJOSU5HIGZvciByb290IHVzZXJzICoqKgorCisgVGhlIHRlc3RzIHRvdWNoIHlvdXIgL2V0Yy9mc3RhYiwgaW5pdGlhbGl6ZSBsb29wIGRldmljZXMgb3Igc2NzaV9kZWJ1ZyBkZXZpY2VzCisgaWYgZXhlY3V0ZWQgd2l0aCByb290IHBlcm1pc3Npb25zLgorCisgUGxlYXNlLCBiZSBjYXJlZnVsIGFuZCB1c2UgdGhlc2UgdGVzdHMgb25seSBmb3IgZGV2ZWxvcG1lbnQgYW5kIG5ldmVyIG9uCisgcHJvZHVjdGlvbiBzeXN0ZW0uCisKKworZW52aXJvbm1lbnQgdmFyaWFibGVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVFNfQ09NTUFORAorCisgICAgRXZhbHVhdGVkIGJ5ICJtYWtlIGNoZWNrIiB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBjb21tYW5kIChydW4uc2gpLgorICAgIEV4YW1wbGU6CisgICAgICAtIGJ1aWxkIGFsbCB0ZXN0IGRlcGVuZGVuY2llcywgYnV0IHNraXAgdGhlIGFjdHVhbCB0ZXN0CisgICAgICAgICQgbWFrZSBjaGVjayBUU19DT01NQU5EPSJ0cnVlIgorCitUU19PUFRTCisKKyAgICBFdmFsdWF0ZWQgYnkgIm1ha2UgY2hlY2siIHRvIHBhc3Mgb3B0aW9ucy50byBydW4uc2ggKHNlZSAuL3J1bi5zaCAtLWhlbHApLgorICAgIEV4YW1wbGVzOgorICAgICAgLSBydW4gdXRtcCB0ZXN0cyBvbmx5CisgICAgICAgICQgbWFrZSBjaGVjayBUU19PUFRTPSItLXBhcmFsbGVsPTEgdXRtcCIKKworVFNfT1BUX3Rlc3RkaXJfW3Rlc3RzY3JpcHRfXWZha2U9Ijx5ZXN8bm8+IgorCisgICAgRXZhbHVhdGVkIGJ5IGFueSB0ZXN0IHNjcmlwdCB0byBza2lwIGNlcnRhaW4gdGVzdHMuCisgICAgRXhhbXBsZXM6CisgICAgICAtIHNraXAgYWxsIHRoZSB0ZXN0cyB3aXRoaW4gImZkaXNrIiB0ZXN0LWRpcmVjcm9yeToKKyAgICAgICAgJCBtYWtlIGNoZWNrIFRTX09QVF9mZGlza19mYWtlPSJ5ZXMiCisKKyAgICAgIC0gc2tpcCBvbmx5ICJmZGlzay9ic2QiIHRlc3Q6CisgICAgICAgICQgbWFrZSBjaGVjayBUU19PUFRfZmRpc2tfYnNkX2Zha2U9InllcyIKKworICAgICAgLSBza2lwIGFsbCAiZmRpc2siIHRlc3RzIGV4Y2VwdCBmZGlzay9ic2Q6CisgICAgICAgICQgbWFrZSBjaGVjayBUU19PUFRfZmRpc2tfZmFrZT0ieWVzIiBUU19PUFRfZmRpc2tfYnNkX2Zha2U9Im5vIgorCitUU19PUFRfdGVzdGRpcl9bdGVzdHNjcmlwdF9da25vd25fZmFpbD0iPHllc3xubz4iCisKKyAgICBTaW1pbGFyIHVzYWdlIGxpa2UgVFNfT1BUXypfZmFrZSBhYm92ZS4gImtub3duX2ZhaWwiIG1lYW5zIHRoYXQgdGhlIGdpdmVuCisgICAgdGVzdCB3aWxsIHJ1biBidXQgKG5lZ2F0aXZlKSByZXN1bHRzIHdpbGwgYmUgaWdub3JlZC4gVGhlIGJ1aWxkIGxvZyBhbmQgdGVzdAorICAgIGRpZmZzIHdpbGwgc3RpbGwgcmVtaW5kIHlvdSBhYm91dCB0aGUgaXNzdWUuCisKK1RTX09QVF90ZXN0ZGlyX1t0ZXN0c2NyaXB0X112ZXJib3NlPSI8eWVzfG5vPiIKKworICAgIFNldCB2ZXJib3NpdHkgZm9yIGNlcnRhaW4gdGVzdHMuIFNpbWlsYXIgdXNhZ2UgbGlrZSBUU19PUFRfKl9mYWtlIGFib3ZlLgorCitUU19PUFRfdGVzdGRpcl9bdGVzdHNjcmlwdF9dbWVtY2hlY2s9Ijx5ZXN8bm8+IgorCisgICAgUnVuIGNlcnRhaW4gdGVzdHMgd2l0aCB2YWxncmluZC4gU2ltaWxhciB1c2FnZSBsaWtlIFRTX09QVF8qX2Zha2UgYWJvdmUuCisKKworRXh0ZXJuYWwgc2VydmljZXMgCistLS0tLS0tLS0tLS0tLS0tLQorCitUcmF2aXMgQ0kgLSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBhbGwgZ2l0aHViIGNvbW1pdHMuCisKKyAgICBVUkw6IGh0dHBzOi8vdHJhdmlzLWNpLm9yZy9rYXJlbHphay91dGlsLWxpbnV4LworCisgICAgU2VlIC50cmF2aXMueW1sIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBXZSByZXF1aXJlICJzdWRvIiB0byBpbnN0YWxsIGFkZGl0aW9uYWwgc3R1ZmYgYW5kIHRvIHJ1biB0aGUgdGVzdHMgd2l0aAorICAgIFVJRD0wLCBpdCBtZWFucyB0aGF0IHRlc3RzIGFyZSBleGVjdXRlZCBvbiB0cmF2aXMgImxlZ2FjeSBpbmZyYXN0cnVjdHVyZSIuCisKKworRHJvbmUuaW8gLSBhdXRvbWF0aWNhbGx5IGV4ZWN1dGVkIGZvciBhbGwgZ2l0aHViIGNvbW1pdHMuCisKKyAgICBVUkw6IGh0dHBzOi8vZHJvbmUuaW8vZ2l0aHViLmNvbS9rYXJlbHphay91dGlsLWxpbnV4CisKKyAgICBUaGUgZHJvbmUuaW8gZG9lcyBub3QgdXNlIGFueSBpbi10cmVlIGNvbmZpZyBmaWxlIChsaWtlIHRyYXZpcy1jaSksIHRoZQorICAgIGN1cnJlbnRseSB1c2VkIGNvbmZpZ3VyYXRpb24gKG1haW50YWluZWQgYnkgRHJvbmUuaW8gd2ViIFVJKToKKworCU1BS0VfQ0hFQ0s9InJvb3QiCisJTUFLRV9DSEVDS19PUFRTPSItLXNraXAtbG9vcGRldnMgLS1leGNsdWRlPW1vdW50L21vdmUiCisJc291cmNlIC4vLnRyYXZpcy1mdW5jdGlvbnMuc2gKKwl0cmF2aXNfaW5zdGFsbF9zY3JpcHQgfHwgZXhpdAorCXRyYXZpc19iZWZvcmVfc2NyaXB0IHx8IGV4aXQKKwlyZXQ9MAorCXRyYXZpc19zY3JpcHQgfHwgcmV0PSQ/CisJdHJhdmlzX2FmdGVyX3NjcmlwdAorCWV4aXQgJHJldCAgCisJCisgICAgeWVzLCBpdCBzaGFyZXMgdGhlIHNldHVwIGZ1bmN0aW9ucyB3aXRoIHRyYXZpcy1jaS4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaG93dG8tdXNhZ2UtZnVuY3Rpb24udHh0IGIvRG9jdW1lbnRhdGlvbi9ob3d0by11c2FnZS1mdW5jdGlvbi50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTRkMzA4NAotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vaG93dG8tdXNhZ2UtZnVuY3Rpb24udHh0CkBAIC0wLDAgKzEsMTU1IEBACitXZWxsLWtub3duIG9wdGlvbnMKKy0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGUgZm9sbG93aW5nIG9wdGlvbnMgYXJlIHdlbGwta25vd24sIGFuZCBzaG91bGQgbm90IGJlIHVzZWQgZm9yIGFueQorb3RoZXIgcHVycG9zZToKKworIC1oLCAtLWhlbHAgICAgIGRpc3BsYXkgdXNhZ2UgYW5kIGV4aXQKKyAtViwgLS12ZXJzaW9uICBkaXNwbGF5IHZlcnNpb24gYW5kIGV4aXQKKworVGhlIHJ1bGUgb2YgdGh1bWIgd2l0aCBvdGhlciBvcHRpb25zIGlzIHRoYXQgb25jZSB0aGV5IGV4aXN0LCB5b3UgbWF5Citub3QgY2hhbmdlIHRoZW0sIG5vciBjaGFuZ2UgaG93IHRoZXkgd29yaywgbm9yIHJlbW92ZSB0aGVtLgorCitOb3RpY2UgdGhhdCAnLT8nIGlzIG5vdCBleHBlY3RlZCB0byBiZSBhIHN5bm9ueW0gb2YgJy0taGVscCcsIGJ1dCBpcyBhbgordW5rbm93biBvcHRpb24gcmVzdWx0aW5nIGluIGEgdXNhZ2UgcHJpbnQtb3V0IGR1ZSB0byBhIGdldG9wdCBmYWlsdXJlLgorCisKK0hvdyBhIHVzYWdlIHRleHQgaXMgc3VwcG9zZWQgdG8gbG9vaworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSB1c2FnZSBvdXRwdXQgYmVnaW5zIHdpdGggYW4gZW1wdHkgbGluZSwgZm9sbG93ZWQgYnkgJ1VzYWdlOicsIGFuZAordGhlbiB0aGUgc3lub3BzaXMgb24gdGhlIGxpbmUgYWZ0ZXIgdGhhdC4gIFRoZSBzeW5vcHNpcyBhbmQgb3B0aW9uLQorZGVzY3JpcHRpb24gbGluZXMgYXJlIGFsbCBpbmRlbnRlZCBieSBvbmUgc3BhY2UgKDB4NDApLgorCitUaGUgc3lub3BzaXMgbGluZSBkZXNjcmliZXMgaG93IHRvIGNvbXBvc2UgdGhlIGNvbW1hbmQuICBTb21ldGltZXMgeW91CittYXkgbmVlZCBtdWx0aXBsZSBzeW5vcHNpcyBsaW5lcyAtLSB0aGlzIGlzIGRvY3VtZW50ZWQgc2VwYXJhdGVseSBpbiB0aGUKK1N5bm9wc2lzIHNlY3Rpb24uCisKK05vdGF0aW9ucy4gIERpYW1vbmQgYnJhY2tldHMgYXJlIHVzZWQgdG8gbWFyayBhbiBhcmd1bWVudCB0byBiZSBmaWxsZWQgaW4uCitTcXVhcmUgYnJhY2tldHMgYXJlIHVzZWQgdG8gbWFyayBhbnl0aGluZyB0aGF0IGlzIG9wdGlvbmFsLCBzdWNoIGFzIG9wdGlvbmFsCitjb21tYW5kIGFyZ3VtZW50cywgb3Igb3B0aW9uYWwgb3B0aW9uIGFyZ3VtZW50cy4gIEluIHRoZSBsYXRlciBjYXNlIHRoZSAnPScKK2NoYXJhY3RlciBpcyBuZWVkZWQgaW4gZnJvbnQgb2YgdGhlIG9wdGlvbiBhcmd1bWVudCwgYmVjYXVzZSBvbmUgaGFzIHRvIHVzZQoraXQuICBUaHJlZSBjb25zZWN1dGl2ZSBkb3RzIG1lYW4gdGhlIHVubGltaXRlZCByZXBldGl0aW9uIG9mIHRoZSBwcmVjZWRpbmcuCisKK1RoZSBzaG9ydCBvcHRpb24gaXMgYWx3YXlzIHdyaXR0ZW4gZmlyc3QsIGZvbGxvd2VkIGJ5IHRoZSBsb25nIG9wdGlvbi4gIFRoZXkKK2FyZSBzZXBhcmF0ZWQgd2l0aCBhIGNvbW1hIGFuZCBvbmUgc3BhY2UuICBMb25lbHkgc2hvcnQgb3IgbG9uZyBvcHRpb25zIGRvCitub3QgYWZmZWN0IHdoZXJlIHRoZSB3cml0aW5nIG9mIHRoZSBvcHRpb24gYmVnaW5zLgorCitCZWxvdywgaW4gYmV0d2VlbiB0aGUgc25pcHMsIGlzIGFuIGV4YW1wbGUgb2Ygd2hhdCB0aGUgdXNhZ2Ugb3V0cHV0IHNob3VsZAorbG9vayBsaWtlLgorCistLSBzbmlwCisKK1VzYWdlOgorIHByb2dyYW0gW29wdGlvbnNdIDxmaWxlPiBbLi4uXQorCitPcHRpb25zOgorIC1uLCAtLW5vLWFyZ3VtZW50ICAgICAgIG9wdGlvbiBkb2VzIG5vdCB1c2UgYXJndW1lbnQKKyAgICAgLS1vcHRpb25hbFs9PGFyZz5dICBvcHRpb24gYXJndW1lbnQgaXMgb3B0aW9uYWwKKyAtciwgLS1yZXF1aXJlZCA8YXJnPiAgICBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQKKyAteiAgICAgICAgICAgICAgICAgICAgICBubyBsb25nIG9wdGlvbgorICAgICAtLXh5enp5ICAgICAgICAgICAgIGEgbG9uZyBvcHRpb24gb25seQorIC1lLCAtLWV4dHJlbWVseS1sb25nLWxvbmctb3B0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgdXNlIG5leHQgbGluZSBmb3IgZGVzY3JpcHRpb24gd2hlbiBuZWVkZWQKKyAtbCwgLS1sb25nLWV4cGxhbmF0aW9uICBhbiBleGFtcGxlIG9mIHZlcnkgdmVyYm9zZSwgYW5kIGNoYXR0eSBvcHRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uIG9uIHR3bywgb3IgbXVsdGlwbGUgbGluZXMsIHdoZXJlIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWF0aW9uIGxpbmVzIGFyZSBpbmRlbnRlZCBieSB0d28gc3BhY2VzCisgLWYsIC0tZm9vYmFyICAgICAgICAgICAgbmV4dCBvcHRpb24gZGVzY3JpcHRpb24gcmVzZXRzIGluZGVudAorCisgLWgsIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXQKKyAtViwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdAorCitGb3IgbW9yZSBkZXRhaWxzIHNlZSBwcm9ncmFtKDEpLgorLS0gc25pcAorCitOb3RlIHRoYXQgdGhlcmUgYXJlIHVzYWdlLWZ1bmN0aW9uIGRlZmluaXRpb25zIGluIHRoZSAnYy5oJyBpbmNsdWRlIGZpbGUKK3doaWNoIHlvdSBtdXN0IHVzZS4gIFRoZSBsb2NhdGlvbiBvZiBhbiBleGFtcGxlIGZpbGUgaXMgbWVudGlvbmVkIGF0IHRoZQorZW5kIG9mIHRoaXMgdGV4dC4KKworCitPcHRpb24gZGVzY3JpcHRpb25zCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0FuIG9wdGlvbiBkZXNjcmlwdGlvbiBzaG91bGQgbm90IGV4Y2VlZCB0aGUgd2lkdGggb2YgODAgY2hhcmFjdGVycy4gIElmCit5b3UgbmVlZCBhIGxvbmdlciBkZXNjcmlwdGlvbiwgdXNlIG11bHRpcGxlIGxpbmVzIGFuZCBpbmRlbnRhdGlvbi4KKworVGhlIGRlc2NyaXB0aW9uIHRleHQgYmVnaW5zIGZyb20gdGhlIHBvaW50IG9mIHRoZSBsb25nZXN0IG9wdGlvbiBwbHVzIHR3bworc3BhY2VzLiAgSW4gY2FzZSBhZGRpbmcgYSBuZXcgb3B0aW9uIHdvdWxkIG5lY2Vzc2l0YXRlIGEgcmUtaW5kZW50YXRpb24gb2YKK3RoZSBkZXNjcmlwdGlvbnMsIGl0IGVpdGhlciBoYXMgdG8gYmUgZG9uZSwgb3IgdGhlIG5ldyBvcHRpb24gc2hvdWxkIGJlZ2luCitpdHMgZGVzY3JpcHRpb24gb24gdGhlIG5leHQgbGluZS4gIFVzdWFsbHkgdGhlIGxhdGVyIGlzIGJldHRlci4gIFRoZSAtLWhlbHAKK2FuZCAtLXZlcnNpb24gb3B0aW9ucyBkbyBub3QgZm9sbG93IHRoaXMgcnVsZSwgc2luY2UgdGhleSBhcmUgZGVmaW5lZCBhcworY29uc3RhbnRzIHRvIGVhc2UgdHJhbnNsYXRpb24gd29yay4KKworQW4gYXJndW1lbnQgaXMgcHJlZmVyYWJseSB3b3JkZWQgYXBwcm9wcmlhdGVseS4gIEZvciBleGFtcGxlLCBpZiBhbiBvcHRpb24KK2V4cGVjdHMgYSBudW1iZXIgYXMgYXJndW1lbnQsICc8bnVtPicgaXMgYSBzdWl0YWJsZSBhcmd1bWVudCBpbmRpY2F0b3IuCisKK1RoZSBvcmRlciBvZiB0aGUgb3B0aW9ucyBoYXMgbm8gc3BlY2lhbCBtZWFuaW5nLCB3aXRoIHRoZSBleGNlcHRpb24gb2YKKy0taGVscCBhbmQgLS12ZXJzaW9uIHdoaWNoIGFyZSBleHBlY3RlZCB0byBiZSBsYXN0IG9uZXMgaW4gdGhlIGxpc3QuCisKK1RoZSBsYXN0IGxpbmUgb2YgdGhlIHVzYWdlIHRleHQgaXMgZWl0aGVyIGVtcHR5LCBvciBhIG1lc3NhZ2UgaW5mb3JtaW5nCithYm91dCB0aGUgbWFudWFsIHBhZ2UuICBGb3IgZXhhbXBsZTogJ0ZvciBtb3JlIGRldGFpbHMgc2VlIGV4YW1wbGUoMSkuJy4KK0JldHdlZW4gdGhlIG9wdGlvbnMgYW5kIHRoZSBtYW4tcGFnZSBtZXNzYWdlIHRoZXJlIGlzIGFuIGVtcHR5IGxpbmUuCisKKworVXNhZ2UgZnVuY3Rpb24KKy0tLS0tLS0tLS0tLS0tCisKK1RoZSBzdGFuZGFyZCB1c2FnZSgpIGZ1bmN0aW9uIHRha2VzIGVpdGhlciBzdGRlcnIgb3Igc3Rkb3V0IGFzIGFuIGFyZ3VtZW50LgorVGhlIGFyZ3VtZW50IHdpbGwgZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIHByb2dyYW0gd2lsbCBleGl0IHdpdGggYW4gZXJyb3Igb3IKK3dpdGggc3VjY2Vzcy4gIFRoZSB1c2FnZSgpIGZ1bmN0aW9uIHdpbGwgbmV2ZXIgcmV0dXJuLgorCitJbiB0aGUgY29kZSBhbGwgdGhlIHN0cmluZ3Mgd2l0aCBvcHRpb25zIGhhdmUgdG8gc3RhcnQgYXQgdGhlIHNhbWUgcG9zaXRpb24uCitTZWUgaGVyZSB3aGF0IHRoaXMgbWVhbnM6CisKKwlmcHJpbnRmKG91dCwgXygiIC14Wz08Zm9vPl0gIGRlZmF1bHQgZm9vIGlzICVzIiksIHgpOworCWZwdXRzKCAgICAgICBfKCIgLXkgICAgICAgICAgc29tZSB0ZXh0IiksIG91dCk7CisKK0JlIG5pY2UgdG8gdHJhbnNsYXRvcnMuICBPbmUgZ2V0dGV4dCBlbnRyeSBzaG91bGQgYmUgb25lIG9wdGlvbiwgbm8gbW9yZSwKK25vIGxlc3MuICBGb3IgZXhhbXBsZToKKworCWZwdXRzKF8oIiAtLXlvdS10aGVyZSAgYmUgbmljZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC0yIDx3aG9tPiAgICB0cmFuc2xhdG9yc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC10LCAtLWhleSAgICBhcmUgZG9pbmcgYSBqb2IgdGhhdCB3ZSBwcm9iYWJseSBjYW5ub3QsIgorCQkiICAgICAgICAgICAgICAgIG9yIGhvdyBpcyB5b3VyIGtsaW5nb24/XG4iKSwgb3V0KTsKKworV2hlbiBleGlzdGluZyB1c2FnZSBvdXRwdXQgaXMgY2hhbmdlZCwgYW5kIGl0IGhhcHBlbnMgdG8gYmUgb25lIGJpZyB0ZXh0LAorc3BsaXQgaXQgaW50byBjaHVua3MgdGhlIHNpemUgb2Ygb25lIG9wdGlvbi4gIFRoZSBleHRyYSB3b3JrIHRoaXMgd2lsbAorZW50YWlsIGZvciB0cmFuc2xhdG9ycyB3aWxsIHBheSBvZmYgbGF0ZXIsIGF0IHRoZSB0aW1lIG9mIHRoZSBuZXh0IGNoYW5nZSwKK3doZW4gdGhleSB3aWxsIG5vdCBuZWVkIHRvIHNlYXJjaCBpbiB0aGUgbG9uZyBmdXp6eSB0ZXh0IHdoYXQgd2FzIGNoYW5nZWQsCit3aGVyZSwgaG93LCBhbmQgd2hldGhlciBpdCB3YXMgdGhlIG9ubHkgY2hhbmdlLgorCitTeW5vcHNpcworLS0tLS0tLS0KKworWW91IG1heSBuZWVkIHRvIHVzZSBtdWx0aXBsZSBzeW5vcHNpcyBsaW5lcyB0byBzaG93IHRoYXQgYSBjb21tYW5kIGRvZXMKK2Z1bmRhbWVudGFsbHkgZGlmZmVyZW50IHRoaW5ncyBkZXBlbmRpbmcgb24gb3B0aW9ucyBhbmQvb3IgYXJndW1lbnRzLgorRm9yIGV4YW1wbGUsIGlvbmljZSBlaXRoZXIgY2hhbmdlcyB0aGUgcHJpb3JpdHkgb2YgYSBydW5uaW5nIGNvbW1hbmQsIG9yCitleGVjdXRlcyBhIHByb2dyYW0gd2l0aCBhIGRlZmluZWQgcHJpb3JpdHkuICBUaGVyZWZvcmUgaXQgaXMgcmVhc29uYWJsZQordG8gaGF2ZSB0d28gc3lub3BzaXMgbGluZXM6CisKKyBpb25pY2UgW29wdGlvbnNdIC1wIDxwaWQ+IC4uLgorIGlvbmljZSBbb3B0aW9uc10gPGNvbW1hbmQ+IFs8YXJnPiAuLi5dCisKK05vdGUgdGhhdCB0aGUgc3lub3BzaXMgaXMgbm90IG1lYW50IHRvIGJlIGEgcmVwZXRpdGlvbiBvZiB0aGUgb3B0aW9ucworc2VnbWVudC4gIFRoZSBmdW5kYW1lbnRhbCBkaWZmZXJlbmNlIGluIGV4ZWN1dGlvbiBpcyBhIGJpdCBkaWZmaWN1bHQgdG8KK2RlZmluZSBvdGhlciB0aGFuIHRoYXQgdXN1YWxseSB0aGUgY29tbWFuZCBhdXRob3IsIHBhY2thZ2UgbWFpbnRhaW5lcgorb3IgcGF0Y2ggc3VibWl0dGVyIHdpbGwga25vdyB3aGVuIGl0IHNob3VsZCBiZSBkb25lIHRoYXQgd2F5LgorCisKK0xlZ2FjeSBvcHRpb25zCistLS0tLS0tLS0tLS0tLQorCitTb21lIGNvbW1hbmRzIHVzZSBwZWN1bGlhciBvcHRpb25zIGFuZCBhcmd1bWVudHMuICBUaGVzZSB3aWxsIGNvbnRpbnVlCit0byBiZSBzdXBwb3J0ZWQsIGJ1dCBhbnl0aGluZyBsaWtlIHRoZW0gd2lsbCBub3QgYmUgYWNjZXB0ZWQgYXMgbmV3CithZGRpdGlvbnMuICBBIHNob3J0IGxpc3Qgb2YgZXhhbXBsZXM6CisKKy0gT3RoZXIgY2hhcmFjdGVycyB0aGFuICctJyB0byBzdGFydCBhbiBvcHRpb24uICBTZWUgJysnIGluICdtb3JlJy4KKy0gVXNpbmcgYSBudW1iZXIgYXMgYW4gb3B0aW9uIGFyZ3VtZW50LiAgU2VlICctPG51bWJlcj4nIGluICdtb3JlJy4KKy0gTG9uZyBvcHRpb25zIHRoYXQgc3RhcnQgd2l0aCBhIHNpbmdsZSAnLScuICBTZWUgJ3NldHRlcm0nLgorCisKK0V4YW1wbGUgZmlsZQorLS0tLS0tLS0tLS0tCisKK1RoZSBmaWxlIGRpc2stdXRpbHMvZGVscGFydC5jIGlzIGEgbWluaW1hbCBleGFtcGxlIG9mIGhvdyB0byB3cml0ZQorYSB1c2FnZSBmdW5jdGlvbiwgc2V0IHVwIG9wdGlvbiBwYXJzaW5nLCB2ZXJzaW9uIHByaW50aW5nIGFuZCBzbyBvbi4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaHdjbG9jay50eHQgYi9Eb2N1bWVudGF0aW9uL2h3Y2xvY2sudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3Njc2MjMKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2h3Y2xvY2sudHh0CkBAIC0wLDAgKzEsMyBAQAorSHdjbG9jayBpcyBhIHByb2dyYW0gdGhhdCBydW5zIHVuZGVyIExpbnV4IGFuZCBzZXRzIGFuZCBxdWVyaWVzIHRoZSAKK0hhcmR3YXJlIENsb2NrLCB3aGljaCBpcyBvZnRlbiBjYWxsZWQgdGhlIFJlYWwgVGltZSBDbG9jaywgUlRDLCBvcgorQ01PUyBjbG9jay4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vbGljZW5zZXMvQ09QWUlORy5CU0QtMyBiL0RvY3VtZW50YXRpb24vbGljZW5zZXMvQ09QWUlORy5CU0QtMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZjE3MDY4Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9saWNlbnNlcy9DT1BZSU5HLkJTRC0zCkBAIC0wLDAgKzEsMjUgQEAKK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCithcmUgbWV0OgorMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAgIG5vdGljZSwgYW5kIHRoZSBlbnRpcmUgcGVybWlzc2lvbiBub3RpY2UgaW4gaXRzIGVudGlyZXR5LAorICAgaW5jbHVkaW5nIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnRpZXMuCisyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKzMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZQorICAgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvcgorICAgd3JpdHRlbiBwZXJtaXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRAorV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKK09GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UsIEFMTCBPRgorV0hJQ0ggQVJFIEhFUkVCWSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRQorTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQKK09GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUgorQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRgorTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRQorVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgTk9UIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gKK0RBTUFHRS4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vbGljZW5zZXMvQ09QWUlORy5HUEx2MiBiL0RvY3VtZW50YXRpb24vbGljZW5zZXMvQ09QWUlORy5HUEx2MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTU5MTY5Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9saWNlbnNlcy9DT1BZSU5HLkdQTHYyCkBAIC0wLDAgKzEsMzM5IEBACisgICAgICAgICAgICAgICAgICAgIEdOVSBHRU5FUkFMIFBVQkxJQyBMSUNFTlNFCisgICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMiwgSnVuZSAxOTkxCisKKyBDb3B5cmlnaHQgKEMpIDE5ODksIDE5OTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EKKyBFdmVyeW9uZSBpcyBwZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMKKyBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByZWFtYmxlCisKKyAgVGhlIGxpY2Vuc2VzIGZvciBtb3N0IHNvZnR3YXJlIGFyZSBkZXNpZ25lZCB0byB0YWtlIGF3YXkgeW91cgorZnJlZWRvbSB0byBzaGFyZSBhbmQgY2hhbmdlIGl0LiAgQnkgY29udHJhc3QsIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKK0xpY2Vuc2UgaXMgaW50ZW5kZWQgdG8gZ3VhcmFudGVlIHlvdXIgZnJlZWRvbSB0byBzaGFyZSBhbmQgY2hhbmdlIGZyZWUKK3NvZnR3YXJlLS10byBtYWtlIHN1cmUgdGhlIHNvZnR3YXJlIGlzIGZyZWUgZm9yIGFsbCBpdHMgdXNlcnMuICBUaGlzCitHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFwcGxpZXMgdG8gbW9zdCBvZiB0aGUgRnJlZSBTb2Z0d2FyZQorRm91bmRhdGlvbidzIHNvZnR3YXJlIGFuZCB0byBhbnkgb3RoZXIgcHJvZ3JhbSB3aG9zZSBhdXRob3JzIGNvbW1pdCB0bwordXNpbmcgaXQuICAoU29tZSBvdGhlciBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gc29mdHdhcmUgaXMgY292ZXJlZCBieQordGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpbnN0ZWFkLikgIFlvdSBjYW4gYXBwbHkgaXQgdG8KK3lvdXIgcHJvZ3JhbXMsIHRvby4KKworICBXaGVuIHdlIHNwZWFrIG9mIGZyZWUgc29mdHdhcmUsIHdlIGFyZSByZWZlcnJpbmcgdG8gZnJlZWRvbSwgbm90CitwcmljZS4gIE91ciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlcyBhcmUgZGVzaWduZWQgdG8gbWFrZSBzdXJlIHRoYXQgeW91CitoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCit0aGlzIHNlcnZpY2UgaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQKK2lmIHlvdSB3YW50IGl0LCB0aGF0IHlvdSBjYW4gY2hhbmdlIHRoZSBzb2Z0d2FyZSBvciB1c2UgcGllY2VzIG9mIGl0CitpbiBuZXcgZnJlZSBwcm9ncmFtczsgYW5kIHRoYXQgeW91IGtub3cgeW91IGNhbiBkbyB0aGVzZSB0aGluZ3MuCisKKyAgVG8gcHJvdGVjdCB5b3VyIHJpZ2h0cywgd2UgbmVlZCB0byBtYWtlIHJlc3RyaWN0aW9ucyB0aGF0IGZvcmJpZAorYW55b25lIHRvIGRlbnkgeW91IHRoZXNlIHJpZ2h0cyBvciB0byBhc2sgeW91IHRvIHN1cnJlbmRlciB0aGUgcmlnaHRzLgorVGhlc2UgcmVzdHJpY3Rpb25zIHRyYW5zbGF0ZSB0byBjZXJ0YWluIHJlc3BvbnNpYmlsaXRpZXMgZm9yIHlvdSBpZiB5b3UKK2Rpc3RyaWJ1dGUgY29waWVzIG9mIHRoZSBzb2Z0d2FyZSwgb3IgaWYgeW91IG1vZGlmeSBpdC4KKworICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCitncmF0aXMgb3IgZm9yIGEgZmVlLCB5b3UgbXVzdCBnaXZlIHRoZSByZWNpcGllbnRzIGFsbCB0aGUgcmlnaHRzIHRoYXQKK3lvdSBoYXZlLiAgWW91IG11c3QgbWFrZSBzdXJlIHRoYXQgdGhleSwgdG9vLCByZWNlaXZlIG9yIGNhbiBnZXQgdGhlCitzb3VyY2UgY29kZS4gIEFuZCB5b3UgbXVzdCBzaG93IHRoZW0gdGhlc2UgdGVybXMgc28gdGhleSBrbm93IHRoZWlyCityaWdodHMuCisKKyAgV2UgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczogKDEpIGNvcHlyaWdodCB0aGUgc29mdHdhcmUsIGFuZAorKDIpIG9mZmVyIHlvdSB0aGlzIGxpY2Vuc2Ugd2hpY2ggZ2l2ZXMgeW91IGxlZ2FsIHBlcm1pc3Npb24gdG8gY29weSwKK2Rpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSB0aGUgc29mdHdhcmUuCisKKyAgQWxzbywgZm9yIGVhY2ggYXV0aG9yJ3MgcHJvdGVjdGlvbiBhbmQgb3Vycywgd2Ugd2FudCB0byBtYWtlIGNlcnRhaW4KK3RoYXQgZXZlcnlvbmUgdW5kZXJzdGFuZHMgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhpcyBmcmVlCitzb2Z0d2FyZS4gIElmIHRoZSBzb2Z0d2FyZSBpcyBtb2RpZmllZCBieSBzb21lb25lIGVsc2UgYW5kIHBhc3NlZCBvbiwgd2UKK3dhbnQgaXRzIHJlY2lwaWVudHMgdG8ga25vdyB0aGF0IHdoYXQgdGhleSBoYXZlIGlzIG5vdCB0aGUgb3JpZ2luYWwsIHNvCit0aGF0IGFueSBwcm9ibGVtcyBpbnRyb2R1Y2VkIGJ5IG90aGVycyB3aWxsIG5vdCByZWZsZWN0IG9uIHRoZSBvcmlnaW5hbAorYXV0aG9ycycgcmVwdXRhdGlvbnMuCisKKyAgRmluYWxseSwgYW55IGZyZWUgcHJvZ3JhbSBpcyB0aHJlYXRlbmVkIGNvbnN0YW50bHkgYnkgc29mdHdhcmUKK3BhdGVudHMuICBXZSB3aXNoIHRvIGF2b2lkIHRoZSBkYW5nZXIgdGhhdCByZWRpc3RyaWJ1dG9ycyBvZiBhIGZyZWUKK3Byb2dyYW0gd2lsbCBpbmRpdmlkdWFsbHkgb2J0YWluIHBhdGVudCBsaWNlbnNlcywgaW4gZWZmZWN0IG1ha2luZyB0aGUKK3Byb2dyYW0gcHJvcHJpZXRhcnkuICBUbyBwcmV2ZW50IHRoaXMsIHdlIGhhdmUgbWFkZSBpdCBjbGVhciB0aGF0IGFueQorcGF0ZW50IG11c3QgYmUgbGljZW5zZWQgZm9yIGV2ZXJ5b25lJ3MgZnJlZSB1c2Ugb3Igbm90IGxpY2Vuc2VkIGF0IGFsbC4KKworICBUaGUgcHJlY2lzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgY29weWluZywgZGlzdHJpYnV0aW9uIGFuZAorbW9kaWZpY2F0aW9uIGZvbGxvdy4KKworICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQorICAgVEVSTVMgQU5EIENPTkRJVElPTlMgRk9SIENPUFlJTkcsIERJU1RSSUJVVElPTiBBTkQgTU9ESUZJQ0FUSU9OCisKKyAgMC4gVGhpcyBMaWNlbnNlIGFwcGxpZXMgdG8gYW55IHByb2dyYW0gb3Igb3RoZXIgd29yayB3aGljaCBjb250YWlucworYSBub3RpY2UgcGxhY2VkIGJ5IHRoZSBjb3B5cmlnaHQgaG9sZGVyIHNheWluZyBpdCBtYXkgYmUgZGlzdHJpYnV0ZWQKK3VuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBUaGUgIlByb2dyYW0iLCBiZWxvdywKK3JlZmVycyB0byBhbnkgc3VjaCBwcm9ncmFtIG9yIHdvcmssIGFuZCBhICJ3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtIgorbWVhbnMgZWl0aGVyIHRoZSBQcm9ncmFtIG9yIGFueSBkZXJpdmF0aXZlIHdvcmsgdW5kZXIgY29weXJpZ2h0IGxhdzoKK3RoYXQgaXMgdG8gc2F5LCBhIHdvcmsgY29udGFpbmluZyB0aGUgUHJvZ3JhbSBvciBhIHBvcnRpb24gb2YgaXQsCitlaXRoZXIgdmVyYmF0aW0gb3Igd2l0aCBtb2RpZmljYXRpb25zIGFuZC9vciB0cmFuc2xhdGVkIGludG8gYW5vdGhlcgorbGFuZ3VhZ2UuICAoSGVyZWluYWZ0ZXIsIHRyYW5zbGF0aW9uIGlzIGluY2x1ZGVkIHdpdGhvdXQgbGltaXRhdGlvbiBpbgordGhlIHRlcm0gIm1vZGlmaWNhdGlvbiIuKSAgRWFjaCBsaWNlbnNlZSBpcyBhZGRyZXNzZWQgYXMgInlvdSIuCisKK0FjdGl2aXRpZXMgb3RoZXIgdGhhbiBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kIG1vZGlmaWNhdGlvbiBhcmUgbm90Citjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZTsgdGhleSBhcmUgb3V0c2lkZSBpdHMgc2NvcGUuICBUaGUgYWN0IG9mCitydW5uaW5nIHRoZSBQcm9ncmFtIGlzIG5vdCByZXN0cmljdGVkLCBhbmQgdGhlIG91dHB1dCBmcm9tIHRoZSBQcm9ncmFtCitpcyBjb3ZlcmVkIG9ubHkgaWYgaXRzIGNvbnRlbnRzIGNvbnN0aXR1dGUgYSB3b3JrIGJhc2VkIG9uIHRoZQorUHJvZ3JhbSAoaW5kZXBlbmRlbnQgb2YgaGF2aW5nIGJlZW4gbWFkZSBieSBydW5uaW5nIHRoZSBQcm9ncmFtKS4KK1doZXRoZXIgdGhhdCBpcyB0cnVlIGRlcGVuZHMgb24gd2hhdCB0aGUgUHJvZ3JhbSBkb2VzLgorCisgIDEuIFlvdSBtYXkgY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMgb2YgdGhlIFByb2dyYW0ncworc291cmNlIGNvZGUgYXMgeW91IHJlY2VpdmUgaXQsIGluIGFueSBtZWRpdW0sIHByb3ZpZGVkIHRoYXQgeW91Citjb25zcGljdW91c2x5IGFuZCBhcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlCitjb3B5cmlnaHQgbm90aWNlIGFuZCBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5OyBrZWVwIGludGFjdCBhbGwgdGhlCitub3RpY2VzIHRoYXQgcmVmZXIgdG8gdGhpcyBMaWNlbnNlIGFuZCB0byB0aGUgYWJzZW5jZSBvZiBhbnkgd2FycmFudHk7CithbmQgZ2l2ZSBhbnkgb3RoZXIgcmVjaXBpZW50cyBvZiB0aGUgUHJvZ3JhbSBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlCithbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgorCitZb3UgbWF5IGNoYXJnZSBhIGZlZSBmb3IgdGhlIHBoeXNpY2FsIGFjdCBvZiB0cmFuc2ZlcnJpbmcgYSBjb3B5LCBhbmQKK3lvdSBtYXkgYXQgeW91ciBvcHRpb24gb2ZmZXIgd2FycmFudHkgcHJvdGVjdGlvbiBpbiBleGNoYW5nZSBmb3IgYSBmZWUuCisKKyAgMi4gWW91IG1heSBtb2RpZnkgeW91ciBjb3B5IG9yIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbgorb2YgaXQsIHRodXMgZm9ybWluZyBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0sIGFuZCBjb3B5IGFuZAorZGlzdHJpYnV0ZSBzdWNoIG1vZGlmaWNhdGlvbnMgb3Igd29yayB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbiAxCithYm92ZSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBtZWV0IGFsbCBvZiB0aGVzZSBjb25kaXRpb25zOgorCisgICAgYSkgWW91IG11c3QgY2F1c2UgdGhlIG1vZGlmaWVkIGZpbGVzIHRvIGNhcnJ5IHByb21pbmVudCBub3RpY2VzCisgICAgc3RhdGluZyB0aGF0IHlvdSBjaGFuZ2VkIHRoZSBmaWxlcyBhbmQgdGhlIGRhdGUgb2YgYW55IGNoYW5nZS4KKworICAgIGIpIFlvdSBtdXN0IGNhdXNlIGFueSB3b3JrIHRoYXQgeW91IGRpc3RyaWJ1dGUgb3IgcHVibGlzaCwgdGhhdCBpbgorICAgIHdob2xlIG9yIGluIHBhcnQgY29udGFpbnMgb3IgaXMgZGVyaXZlZCBmcm9tIHRoZSBQcm9ncmFtIG9yIGFueQorICAgIHBhcnQgdGhlcmVvZiwgdG8gYmUgbGljZW5zZWQgYXMgYSB3aG9sZSBhdCBubyBjaGFyZ2UgdG8gYWxsIHRoaXJkCisgICAgcGFydGllcyB1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlLgorCisgICAgYykgSWYgdGhlIG1vZGlmaWVkIHByb2dyYW0gbm9ybWFsbHkgcmVhZHMgY29tbWFuZHMgaW50ZXJhY3RpdmVseQorICAgIHdoZW4gcnVuLCB5b3UgbXVzdCBjYXVzZSBpdCwgd2hlbiBzdGFydGVkIHJ1bm5pbmcgZm9yIHN1Y2gKKyAgICBpbnRlcmFjdGl2ZSB1c2UgaW4gdGhlIG1vc3Qgb3JkaW5hcnkgd2F5LCB0byBwcmludCBvciBkaXNwbGF5IGFuCisgICAgYW5ub3VuY2VtZW50IGluY2x1ZGluZyBhbiBhcHByb3ByaWF0ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCBhCisgICAgbm90aWNlIHRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgKG9yIGVsc2UsIHNheWluZyB0aGF0IHlvdSBwcm92aWRlCisgICAgYSB3YXJyYW50eSkgYW5kIHRoYXQgdXNlcnMgbWF5IHJlZGlzdHJpYnV0ZSB0aGUgcHJvZ3JhbSB1bmRlcgorICAgIHRoZXNlIGNvbmRpdGlvbnMsIGFuZCB0ZWxsaW5nIHRoZSB1c2VyIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzCisgICAgTGljZW5zZS4gIChFeGNlcHRpb246IGlmIHRoZSBQcm9ncmFtIGl0c2VsZiBpcyBpbnRlcmFjdGl2ZSBidXQKKyAgICBkb2VzIG5vdCBub3JtYWxseSBwcmludCBzdWNoIGFuIGFubm91bmNlbWVudCwgeW91ciB3b3JrIGJhc2VkIG9uCisgICAgdGhlIFByb2dyYW0gaXMgbm90IHJlcXVpcmVkIHRvIHByaW50IGFuIGFubm91bmNlbWVudC4pCisKK1RoZXNlIHJlcXVpcmVtZW50cyBhcHBseSB0byB0aGUgbW9kaWZpZWQgd29yayBhcyBhIHdob2xlLiAgSWYKK2lkZW50aWZpYWJsZSBzZWN0aW9ucyBvZiB0aGF0IHdvcmsgYXJlIG5vdCBkZXJpdmVkIGZyb20gdGhlIFByb2dyYW0sCithbmQgY2FuIGJlIHJlYXNvbmFibHkgY29uc2lkZXJlZCBpbmRlcGVuZGVudCBhbmQgc2VwYXJhdGUgd29ya3MgaW4KK3RoZW1zZWx2ZXMsIHRoZW4gdGhpcyBMaWNlbnNlLCBhbmQgaXRzIHRlcm1zLCBkbyBub3QgYXBwbHkgdG8gdGhvc2UKK3NlY3Rpb25zIHdoZW4geW91IGRpc3RyaWJ1dGUgdGhlbSBhcyBzZXBhcmF0ZSB3b3Jrcy4gIEJ1dCB3aGVuIHlvdQorZGlzdHJpYnV0ZSB0aGUgc2FtZSBzZWN0aW9ucyBhcyBwYXJ0IG9mIGEgd2hvbGUgd2hpY2ggaXMgYSB3b3JrIGJhc2VkCitvbiB0aGUgUHJvZ3JhbSwgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGUgd2hvbGUgbXVzdCBiZSBvbiB0aGUgdGVybXMgb2YKK3RoaXMgTGljZW5zZSwgd2hvc2UgcGVybWlzc2lvbnMgZm9yIG90aGVyIGxpY2Vuc2VlcyBleHRlbmQgdG8gdGhlCitlbnRpcmUgd2hvbGUsIGFuZCB0aHVzIHRvIGVhY2ggYW5kIGV2ZXJ5IHBhcnQgcmVnYXJkbGVzcyBvZiB3aG8gd3JvdGUgaXQuCisKK1RodXMsIGl0IGlzIG5vdCB0aGUgaW50ZW50IG9mIHRoaXMgc2VjdGlvbiB0byBjbGFpbSByaWdodHMgb3IgY29udGVzdAoreW91ciByaWdodHMgdG8gd29yayB3cml0dGVuIGVudGlyZWx5IGJ5IHlvdTsgcmF0aGVyLCB0aGUgaW50ZW50IGlzIHRvCitleGVyY2lzZSB0aGUgcmlnaHQgdG8gY29udHJvbCB0aGUgZGlzdHJpYnV0aW9uIG9mIGRlcml2YXRpdmUgb3IKK2NvbGxlY3RpdmUgd29ya3MgYmFzZWQgb24gdGhlIFByb2dyYW0uCisKK0luIGFkZGl0aW9uLCBtZXJlIGFnZ3JlZ2F0aW9uIG9mIGFub3RoZXIgd29yayBub3QgYmFzZWQgb24gdGhlIFByb2dyYW0KK3dpdGggdGhlIFByb2dyYW0gKG9yIHdpdGggYSB3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtKSBvbiBhIHZvbHVtZSBvZgorYSBzdG9yYWdlIG9yIGRpc3RyaWJ1dGlvbiBtZWRpdW0gZG9lcyBub3QgYnJpbmcgdGhlIG90aGVyIHdvcmsgdW5kZXIKK3RoZSBzY29wZSBvZiB0aGlzIExpY2Vuc2UuCisKKyAgMy4gWW91IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIChvciBhIHdvcmsgYmFzZWQgb24gaXQsCit1bmRlciBTZWN0aW9uIDIpIGluIG9iamVjdCBjb2RlIG9yIGV4ZWN1dGFibGUgZm9ybSB1bmRlciB0aGUgdGVybXMgb2YKK1NlY3Rpb25zIDEgYW5kIDIgYWJvdmUgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBkbyBvbmUgb2YgdGhlIGZvbGxvd2luZzoKKworICAgIGEpIEFjY29tcGFueSBpdCB3aXRoIHRoZSBjb21wbGV0ZSBjb3JyZXNwb25kaW5nIG1hY2hpbmUtcmVhZGFibGUKKyAgICBzb3VyY2UgY29kZSwgd2hpY2ggbXVzdCBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbnMKKyAgICAxIGFuZCAyIGFib3ZlIG9uIGEgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlOyBvciwKKworICAgIGIpIEFjY29tcGFueSBpdCB3aXRoIGEgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlCisgICAgeWVhcnMsIHRvIGdpdmUgYW55IHRoaXJkIHBhcnR5LCBmb3IgYSBjaGFyZ2Ugbm8gbW9yZSB0aGFuIHlvdXIKKyAgICBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyBzb3VyY2UgZGlzdHJpYnV0aW9uLCBhIGNvbXBsZXRlCisgICAgbWFjaGluZS1yZWFkYWJsZSBjb3B5IG9mIHRoZSBjb3JyZXNwb25kaW5nIHNvdXJjZSBjb2RlLCB0byBiZQorICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9ucyAxIGFuZCAyIGFib3ZlIG9uIGEgbWVkaXVtCisgICAgY3VzdG9tYXJpbHkgdXNlZCBmb3Igc29mdHdhcmUgaW50ZXJjaGFuZ2U7IG9yLAorCisgICAgYykgQWNjb21wYW55IGl0IHdpdGggdGhlIGluZm9ybWF0aW9uIHlvdSByZWNlaXZlZCBhcyB0byB0aGUgb2ZmZXIKKyAgICB0byBkaXN0cmlidXRlIGNvcnJlc3BvbmRpbmcgc291cmNlIGNvZGUuICAoVGhpcyBhbHRlcm5hdGl2ZSBpcworICAgIGFsbG93ZWQgb25seSBmb3Igbm9uY29tbWVyY2lhbCBkaXN0cmlidXRpb24gYW5kIG9ubHkgaWYgeW91CisgICAgcmVjZWl2ZWQgdGhlIHByb2dyYW0gaW4gb2JqZWN0IGNvZGUgb3IgZXhlY3V0YWJsZSBmb3JtIHdpdGggc3VjaAorICAgIGFuIG9mZmVyLCBpbiBhY2NvcmQgd2l0aCBTdWJzZWN0aW9uIGIgYWJvdmUuKQorCitUaGUgc291cmNlIGNvZGUgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsgZm9yCittYWtpbmcgbW9kaWZpY2F0aW9ucyB0byBpdC4gIEZvciBhbiBleGVjdXRhYmxlIHdvcmssIGNvbXBsZXRlIHNvdXJjZQorY29kZSBtZWFucyBhbGwgdGhlIHNvdXJjZSBjb2RlIGZvciBhbGwgbW9kdWxlcyBpdCBjb250YWlucywgcGx1cyBhbnkKK2Fzc29jaWF0ZWQgaW50ZXJmYWNlIGRlZmluaXRpb24gZmlsZXMsIHBsdXMgdGhlIHNjcmlwdHMgdXNlZCB0bworY29udHJvbCBjb21waWxhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIG9mIHRoZSBleGVjdXRhYmxlLiAgSG93ZXZlciwgYXMgYQorc3BlY2lhbCBleGNlcHRpb24sIHRoZSBzb3VyY2UgY29kZSBkaXN0cmlidXRlZCBuZWVkIG5vdCBpbmNsdWRlCithbnl0aGluZyB0aGF0IGlzIG5vcm1hbGx5IGRpc3RyaWJ1dGVkIChpbiBlaXRoZXIgc291cmNlIG9yIGJpbmFyeQorZm9ybSkgd2l0aCB0aGUgbWFqb3IgY29tcG9uZW50cyAoY29tcGlsZXIsIGtlcm5lbCwgYW5kIHNvIG9uKSBvZiB0aGUKK29wZXJhdGluZyBzeXN0ZW0gb24gd2hpY2ggdGhlIGV4ZWN1dGFibGUgcnVucywgdW5sZXNzIHRoYXQgY29tcG9uZW50CitpdHNlbGYgYWNjb21wYW5pZXMgdGhlIGV4ZWN1dGFibGUuCisKK0lmIGRpc3RyaWJ1dGlvbiBvZiBleGVjdXRhYmxlIG9yIG9iamVjdCBjb2RlIGlzIG1hZGUgYnkgb2ZmZXJpbmcKK2FjY2VzcyB0byBjb3B5IGZyb20gYSBkZXNpZ25hdGVkIHBsYWNlLCB0aGVuIG9mZmVyaW5nIGVxdWl2YWxlbnQKK2FjY2VzcyB0byBjb3B5IHRoZSBzb3VyY2UgY29kZSBmcm9tIHRoZSBzYW1lIHBsYWNlIGNvdW50cyBhcworZGlzdHJpYnV0aW9uIG9mIHRoZSBzb3VyY2UgY29kZSwgZXZlbiB0aG91Z2ggdGhpcmQgcGFydGllcyBhcmUgbm90Citjb21wZWxsZWQgdG8gY29weSB0aGUgc291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLgorCisgIDQuIFlvdSBtYXkgbm90IGNvcHksIG1vZGlmeSwgc3VibGljZW5zZSwgb3IgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbQorZXhjZXB0IGFzIGV4cHJlc3NseSBwcm92aWRlZCB1bmRlciB0aGlzIExpY2Vuc2UuICBBbnkgYXR0ZW1wdAorb3RoZXJ3aXNlIHRvIGNvcHksIG1vZGlmeSwgc3VibGljZW5zZSBvciBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIGlzCit2b2lkLCBhbmQgd2lsbCBhdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZSB5b3VyIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2UuCitIb3dldmVyLCBwYXJ0aWVzIHdobyBoYXZlIHJlY2VpdmVkIGNvcGllcywgb3IgcmlnaHRzLCBmcm9tIHlvdSB1bmRlcgordGhpcyBMaWNlbnNlIHdpbGwgbm90IGhhdmUgdGhlaXIgbGljZW5zZXMgdGVybWluYXRlZCBzbyBsb25nIGFzIHN1Y2gKK3BhcnRpZXMgcmVtYWluIGluIGZ1bGwgY29tcGxpYW5jZS4KKworICA1LiBZb3UgYXJlIG5vdCByZXF1aXJlZCB0byBhY2NlcHQgdGhpcyBMaWNlbnNlLCBzaW5jZSB5b3UgaGF2ZSBub3QKK3NpZ25lZCBpdC4gIEhvd2V2ZXIsIG5vdGhpbmcgZWxzZSBncmFudHMgeW91IHBlcm1pc3Npb24gdG8gbW9kaWZ5IG9yCitkaXN0cmlidXRlIHRoZSBQcm9ncmFtIG9yIGl0cyBkZXJpdmF0aXZlIHdvcmtzLiAgVGhlc2UgYWN0aW9ucyBhcmUKK3Byb2hpYml0ZWQgYnkgbGF3IGlmIHlvdSBkbyBub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkKK21vZGlmeWluZyBvciBkaXN0cmlidXRpbmcgdGhlIFByb2dyYW0gKG9yIGFueSB3b3JrIGJhc2VkIG9uIHRoZQorUHJvZ3JhbSksIHlvdSBpbmRpY2F0ZSB5b3VyIGFjY2VwdGFuY2Ugb2YgdGhpcyBMaWNlbnNlIHRvIGRvIHNvLCBhbmQKK2FsbCBpdHMgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGluZyBvciBtb2RpZnlpbmcKK3RoZSBQcm9ncmFtIG9yIHdvcmtzIGJhc2VkIG9uIGl0LgorCisgIDYuIEVhY2ggdGltZSB5b3UgcmVkaXN0cmlidXRlIHRoZSBQcm9ncmFtIChvciBhbnkgd29yayBiYXNlZCBvbiB0aGUKK1Byb2dyYW0pLCB0aGUgcmVjaXBpZW50IGF1dG9tYXRpY2FsbHkgcmVjZWl2ZXMgYSBsaWNlbnNlIGZyb20gdGhlCitvcmlnaW5hbCBsaWNlbnNvciB0byBjb3B5LCBkaXN0cmlidXRlIG9yIG1vZGlmeSB0aGUgUHJvZ3JhbSBzdWJqZWN0IHRvCit0aGVzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucy4gIFlvdSBtYXkgbm90IGltcG9zZSBhbnkgZnVydGhlcgorcmVzdHJpY3Rpb25zIG9uIHRoZSByZWNpcGllbnRzJyBleGVyY2lzZSBvZiB0aGUgcmlnaHRzIGdyYW50ZWQgaGVyZWluLgorWW91IGFyZSBub3QgcmVzcG9uc2libGUgZm9yIGVuZm9yY2luZyBjb21wbGlhbmNlIGJ5IHRoaXJkIHBhcnRpZXMgdG8KK3RoaXMgTGljZW5zZS4KKworICA3LiBJZiwgYXMgYSBjb25zZXF1ZW5jZSBvZiBhIGNvdXJ0IGp1ZGdtZW50IG9yIGFsbGVnYXRpb24gb2YgcGF0ZW50CitpbmZyaW5nZW1lbnQgb3IgZm9yIGFueSBvdGhlciByZWFzb24gKG5vdCBsaW1pdGVkIHRvIHBhdGVudCBpc3N1ZXMpLAorY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgorb3RoZXJ3aXNlKSB0aGF0IGNvbnRyYWRpY3QgdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLCB0aGV5IGRvIG5vdAorZXhjdXNlIHlvdSBmcm9tIHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZS4gIElmIHlvdSBjYW5ub3QKK2Rpc3RyaWJ1dGUgc28gYXMgdG8gc2F0aXNmeSBzaW11bHRhbmVvdXNseSB5b3VyIG9ibGlnYXRpb25zIHVuZGVyIHRoaXMKK0xpY2Vuc2UgYW5kIGFueSBvdGhlciBwZXJ0aW5lbnQgb2JsaWdhdGlvbnMsIHRoZW4gYXMgYSBjb25zZXF1ZW5jZSB5b3UKK21heSBub3QgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBhdCBhbGwuICBGb3IgZXhhbXBsZSwgaWYgYSBwYXRlbnQKK2xpY2Vuc2Ugd291bGQgbm90IHBlcm1pdCByb3lhbHR5LWZyZWUgcmVkaXN0cmlidXRpb24gb2YgdGhlIFByb2dyYW0gYnkKK2FsbCB0aG9zZSB3aG8gcmVjZWl2ZSBjb3BpZXMgZGlyZWN0bHkgb3IgaW5kaXJlY3RseSB0aHJvdWdoIHlvdSwgdGhlbgordGhlIG9ubHkgd2F5IHlvdSBjb3VsZCBzYXRpc2Z5IGJvdGggaXQgYW5kIHRoaXMgTGljZW5zZSB3b3VsZCBiZSB0bworcmVmcmFpbiBlbnRpcmVseSBmcm9tIGRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZ3JhbS4KKworSWYgYW55IHBvcnRpb24gb2YgdGhpcyBzZWN0aW9uIGlzIGhlbGQgaW52YWxpZCBvciB1bmVuZm9yY2VhYmxlIHVuZGVyCithbnkgcGFydGljdWxhciBjaXJjdW1zdGFuY2UsIHRoZSBiYWxhbmNlIG9mIHRoZSBzZWN0aW9uIGlzIGludGVuZGVkIHRvCithcHBseSBhbmQgdGhlIHNlY3Rpb24gYXMgYSB3aG9sZSBpcyBpbnRlbmRlZCB0byBhcHBseSBpbiBvdGhlcgorY2lyY3Vtc3RhbmNlcy4KKworSXQgaXMgbm90IHRoZSBwdXJwb3NlIG9mIHRoaXMgc2VjdGlvbiB0byBpbmR1Y2UgeW91IHRvIGluZnJpbmdlIGFueQorcGF0ZW50cyBvciBvdGhlciBwcm9wZXJ0eSByaWdodCBjbGFpbXMgb3IgdG8gY29udGVzdCB2YWxpZGl0eSBvZiBhbnkKK3N1Y2ggY2xhaW1zOyB0aGlzIHNlY3Rpb24gaGFzIHRoZSBzb2xlIHB1cnBvc2Ugb2YgcHJvdGVjdGluZyB0aGUKK2ludGVncml0eSBvZiB0aGUgZnJlZSBzb2Z0d2FyZSBkaXN0cmlidXRpb24gc3lzdGVtLCB3aGljaCBpcworaW1wbGVtZW50ZWQgYnkgcHVibGljIGxpY2Vuc2UgcHJhY3RpY2VzLiAgTWFueSBwZW9wbGUgaGF2ZSBtYWRlCitnZW5lcm91cyBjb250cmlidXRpb25zIHRvIHRoZSB3aWRlIHJhbmdlIG9mIHNvZnR3YXJlIGRpc3RyaWJ1dGVkCit0aHJvdWdoIHRoYXQgc3lzdGVtIGluIHJlbGlhbmNlIG9uIGNvbnNpc3RlbnQgYXBwbGljYXRpb24gb2YgdGhhdAorc3lzdGVtOyBpdCBpcyB1cCB0byB0aGUgYXV0aG9yL2Rvbm9yIHRvIGRlY2lkZSBpZiBoZSBvciBzaGUgaXMgd2lsbGluZwordG8gZGlzdHJpYnV0ZSBzb2Z0d2FyZSB0aHJvdWdoIGFueSBvdGhlciBzeXN0ZW0gYW5kIGEgbGljZW5zZWUgY2Fubm90CitpbXBvc2UgdGhhdCBjaG9pY2UuCisKK1RoaXMgc2VjdGlvbiBpcyBpbnRlbmRlZCB0byBtYWtlIHRob3JvdWdobHkgY2xlYXIgd2hhdCBpcyBiZWxpZXZlZCB0bworYmUgYSBjb25zZXF1ZW5jZSBvZiB0aGUgcmVzdCBvZiB0aGlzIExpY2Vuc2UuCisKKyAgOC4gSWYgdGhlIGRpc3RyaWJ1dGlvbiBhbmQvb3IgdXNlIG9mIHRoZSBQcm9ncmFtIGlzIHJlc3RyaWN0ZWQgaW4KK2NlcnRhaW4gY291bnRyaWVzIGVpdGhlciBieSBwYXRlbnRzIG9yIGJ5IGNvcHlyaWdodGVkIGludGVyZmFjZXMsIHRoZQorb3JpZ2luYWwgY29weXJpZ2h0IGhvbGRlciB3aG8gcGxhY2VzIHRoZSBQcm9ncmFtIHVuZGVyIHRoaXMgTGljZW5zZQorbWF5IGFkZCBhbiBleHBsaWNpdCBnZW9ncmFwaGljYWwgZGlzdHJpYnV0aW9uIGxpbWl0YXRpb24gZXhjbHVkaW5nCit0aG9zZSBjb3VudHJpZXMsIHNvIHRoYXQgZGlzdHJpYnV0aW9uIGlzIHBlcm1pdHRlZCBvbmx5IGluIG9yIGFtb25nCitjb3VudHJpZXMgbm90IHRodXMgZXhjbHVkZWQuICBJbiBzdWNoIGNhc2UsIHRoaXMgTGljZW5zZSBpbmNvcnBvcmF0ZXMKK3RoZSBsaW1pdGF0aW9uIGFzIGlmIHdyaXR0ZW4gaW4gdGhlIGJvZHkgb2YgdGhpcyBMaWNlbnNlLgorCisgIDkuIFRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gbWF5IHB1Ymxpc2ggcmV2aXNlZCBhbmQvb3IgbmV3IHZlcnNpb25zCitvZiB0aGUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmcm9tIHRpbWUgdG8gdGltZS4gIFN1Y2ggbmV3IHZlcnNpb25zIHdpbGwKK2JlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bworYWRkcmVzcyBuZXcgcHJvYmxlbXMgb3IgY29uY2VybnMuCisKK0VhY2ggdmVyc2lvbiBpcyBnaXZlbiBhIGRpc3Rpbmd1aXNoaW5nIHZlcnNpb24gbnVtYmVyLiAgSWYgdGhlIFByb2dyYW0KK3NwZWNpZmllcyBhIHZlcnNpb24gbnVtYmVyIG9mIHRoaXMgTGljZW5zZSB3aGljaCBhcHBsaWVzIHRvIGl0IGFuZCAiYW55CitsYXRlciB2ZXJzaW9uIiwgeW91IGhhdmUgdGhlIG9wdGlvbiBvZiBmb2xsb3dpbmcgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zCitlaXRoZXIgb2YgdGhhdCB2ZXJzaW9uIG9yIG9mIGFueSBsYXRlciB2ZXJzaW9uIHB1Ymxpc2hlZCBieSB0aGUgRnJlZQorU29mdHdhcmUgRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZgordGhpcyBMaWNlbnNlLCB5b3UgbWF5IGNob29zZSBhbnkgdmVyc2lvbiBldmVyIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQorRm91bmRhdGlvbi4KKworICAxMC4gSWYgeW91IHdpc2ggdG8gaW5jb3Jwb3JhdGUgcGFydHMgb2YgdGhlIFByb2dyYW0gaW50byBvdGhlciBmcmVlCitwcm9ncmFtcyB3aG9zZSBkaXN0cmlidXRpb24gY29uZGl0aW9ucyBhcmUgZGlmZmVyZW50LCB3cml0ZSB0byB0aGUgYXV0aG9yCit0byBhc2sgZm9yIHBlcm1pc3Npb24uICBGb3Igc29mdHdhcmUgd2hpY2ggaXMgY29weXJpZ2h0ZWQgYnkgdGhlIEZyZWUKK1NvZnR3YXJlIEZvdW5kYXRpb24sIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHdlIHNvbWV0aW1lcworbWFrZSBleGNlcHRpb25zIGZvciB0aGlzLiAgT3VyIGRlY2lzaW9uIHdpbGwgYmUgZ3VpZGVkIGJ5IHRoZSB0d28gZ29hbHMKK29mIHByZXNlcnZpbmcgdGhlIGZyZWUgc3RhdHVzIG9mIGFsbCBkZXJpdmF0aXZlcyBvZiBvdXIgZnJlZSBzb2Z0d2FyZSBhbmQKK29mIHByb21vdGluZyB0aGUgc2hhcmluZyBhbmQgcmV1c2Ugb2Ygc29mdHdhcmUgZ2VuZXJhbGx5LgorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgTk8gV0FSUkFOVFkKKworICAxMS4gQkVDQVVTRSBUSEUgUFJPR1JBTSBJUyBMSUNFTlNFRCBGUkVFIE9GIENIQVJHRSwgVEhFUkUgSVMgTk8gV0FSUkFOVFkKK0ZPUiBUSEUgUFJPR1JBTSwgVE8gVEhFIEVYVEVOVCBQRVJNSVRURUQgQlkgQVBQTElDQUJMRSBMQVcuICBFWENFUFQgV0hFTgorT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUworUFJPVklERSBUSEUgUFJPR1JBTSAiQVMgSVMiIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTRUQKK09SIElNUExJRUQsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCitNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTCitUTyBUSEUgUVVBTElUWSBBTkQgUEVSRk9STUFOQ0UgT0YgVEhFIFBST0dSQU0gSVMgV0lUSCBZT1UuICBTSE9VTEQgVEhFCitQUk9HUkFNIFBST1ZFIERFRkVDVElWRSwgWU9VIEFTU1VNRSBUSEUgQ09TVCBPRiBBTEwgTkVDRVNTQVJZIFNFUlZJQ0lORywKK1JFUEFJUiBPUiBDT1JSRUNUSU9OLgorCisgIDEyLiBJTiBOTyBFVkVOVCBVTkxFU1MgUkVRVUlSRUQgQlkgQVBQTElDQUJMRSBMQVcgT1IgQUdSRUVEIFRPIElOIFdSSVRJTkcKK1dJTEwgQU5ZIENPUFlSSUdIVCBIT0xERVIsIE9SIEFOWSBPVEhFUiBQQVJUWSBXSE8gTUFZIE1PRElGWSBBTkQvT1IKK1JFRElTVFJJQlVURSBUSEUgUFJPR1JBTSBBUyBQRVJNSVRURUQgQUJPVkUsIEJFIExJQUJMRSBUTyBZT1UgRk9SIERBTUFHRVMsCitJTkNMVURJTkcgQU5ZIEdFTkVSQUwsIFNQRUNJQUwsIElOQ0lERU5UQUwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIEFSSVNJTkcKK09VVCBPRiBUSEUgVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQKK1RPIExPU1MgT0YgREFUQSBPUiBEQVRBIEJFSU5HIFJFTkRFUkVEIElOQUNDVVJBVEUgT1IgTE9TU0VTIFNVU1RBSU5FRCBCWQorWU9VIE9SIFRISVJEIFBBUlRJRVMgT1IgQSBGQUlMVVJFIE9GIFRIRSBQUk9HUkFNIFRPIE9QRVJBVEUgV0lUSCBBTlkgT1RIRVIKK1BST0dSQU1TKSwgRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRQorUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0VTLgorCisgICAgICAgICAgICAgICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKKworICAgICAgICAgICAgSG93IHRvIEFwcGx5IFRoZXNlIFRlcm1zIHRvIFlvdXIgTmV3IFByb2dyYW1zCisKKyAgSWYgeW91IGRldmVsb3AgYSBuZXcgcHJvZ3JhbSwgYW5kIHlvdSB3YW50IGl0IHRvIGJlIG9mIHRoZSBncmVhdGVzdAorcG9zc2libGUgdXNlIHRvIHRoZSBwdWJsaWMsIHRoZSBiZXN0IHdheSB0byBhY2hpZXZlIHRoaXMgaXMgdG8gbWFrZSBpdAorZnJlZSBzb2Z0d2FyZSB3aGljaCBldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UgdW5kZXIgdGhlc2UgdGVybXMuCisKKyAgVG8gZG8gc28sIGF0dGFjaCB0aGUgZm9sbG93aW5nIG5vdGljZXMgdG8gdGhlIHByb2dyYW0uICBJdCBpcyBzYWZlc3QKK3RvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKK2NvbnZleSB0aGUgZXhjbHVzaW9uIG9mIHdhcnJhbnR5OyBhbmQgZWFjaCBmaWxlIHNob3VsZCBoYXZlIGF0IGxlYXN0Cit0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KKworICAgIDxvbmUgbGluZSB0byBnaXZlIHRoZSBwcm9ncmFtJ3MgbmFtZSBhbmQgYSBicmllZiBpZGVhIG9mIHdoYXQgaXQgZG9lcy4+CisgICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KKworICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKyAgICB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICAgIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisKK0Fsc28gYWRkIGluZm9ybWF0aW9uIG9uIGhvdyB0byBjb250YWN0IHlvdSBieSBlbGVjdHJvbmljIGFuZCBwYXBlciBtYWlsLgorCitJZiB0aGUgcHJvZ3JhbSBpcyBpbnRlcmFjdGl2ZSwgbWFrZSBpdCBvdXRwdXQgYSBzaG9ydCBub3RpY2UgbGlrZSB0aGlzCit3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgorCisgICAgR25vbW92aXNpb24gdmVyc2lvbiA2OSwgQ29weXJpZ2h0IChDKSB5ZWFyIG5hbWUgb2YgYXV0aG9yCisgICAgR25vbW92aXNpb24gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZOyBmb3IgZGV0YWlscyB0eXBlIGBzaG93IHcnLgorICAgIFRoaXMgaXMgZnJlZSBzb2Z0d2FyZSwgYW5kIHlvdSBhcmUgd2VsY29tZSB0byByZWRpc3RyaWJ1dGUgaXQKKyAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCisKK1RoZSBoeXBvdGhldGljYWwgY29tbWFuZHMgYHNob3cgdycgYW5kIGBzaG93IGMnIHNob3VsZCBzaG93IHRoZSBhcHByb3ByaWF0ZQorcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHRoZSBjb21tYW5kcyB5b3UgdXNlIG1heQorYmUgY2FsbGVkIHNvbWV0aGluZyBvdGhlciB0aGFuIGBzaG93IHcnIGFuZCBgc2hvdyBjJzsgdGhleSBjb3VsZCBldmVuIGJlCittb3VzZS1jbGlja3Mgb3IgbWVudSBpdGVtcy0td2hhdGV2ZXIgc3VpdHMgeW91ciBwcm9ncmFtLgorCitZb3Ugc2hvdWxkIGFsc28gZ2V0IHlvdXIgZW1wbG95ZXIgKGlmIHlvdSB3b3JrIGFzIGEgcHJvZ3JhbW1lcikgb3IgeW91cgorc2Nob29sLCBpZiBhbnksIHRvIHNpZ24gYSAiY29weXJpZ2h0IGRpc2NsYWltZXIiIGZvciB0aGUgcHJvZ3JhbSwgaWYKK25lY2Vzc2FyeS4gIEhlcmUgaXMgYSBzYW1wbGU7IGFsdGVyIHRoZSBuYW1lczoKKworICBZb3lvZHluZSwgSW5jLiwgaGVyZWJ5IGRpc2NsYWltcyBhbGwgY29weXJpZ2h0IGludGVyZXN0IGluIHRoZSBwcm9ncmFtCisgIGBHbm9tb3Zpc2lvbicgKHdoaWNoIG1ha2VzIHBhc3NlcyBhdCBjb21waWxlcnMpIHdyaXR0ZW4gYnkgSmFtZXMgSGFja2VyLgorCisgIDxzaWduYXR1cmUgb2YgVHkgQ29vbj4sIDEgQXByaWwgMTk4OQorICBUeSBDb29uLCBQcmVzaWRlbnQgb2YgVmljZQorCitUaGlzIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtIGludG8KK3Byb3ByaWV0YXJ5IHByb2dyYW1zLiAgSWYgeW91ciBwcm9ncmFtIGlzIGEgc3Vicm91dGluZSBsaWJyYXJ5LCB5b3UgbWF5Citjb25zaWRlciBpdCBtb3JlIHVzZWZ1bCB0byBwZXJtaXQgbGlua2luZyBwcm9wcmlldGFyeSBhcHBsaWNhdGlvbnMgd2l0aCB0aGUKK2xpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsCitQdWJsaWMgTGljZW5zZSBpbnN0ZWFkIG9mIHRoaXMgTGljZW5zZS4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vbGljZW5zZXMvQ09QWUlORy5MR1BMdjIuMSBiL0RvY3VtZW50YXRpb24vbGljZW5zZXMvQ09QWUlORy5MR1BMdjIuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzYyYjQ5Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9saWNlbnNlcy9DT1BZSU5HLkxHUEx2Mi4xCkBAIC0wLDAgKzEsNTAyIEBACisgICAgICAgICAgICAgICAgICBHTlUgTEVTU0VSIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UKKyAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbiAyLjEsIEZlYnJ1YXJ5IDE5OTkKKworIENvcHlyaWdodCAoQykgMTk5MSwgMTk5OSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyBFdmVyeW9uZSBpcyBwZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMKKyBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KKworW1RoaXMgaXMgdGhlIGZpcnN0IHJlbGVhc2VkIHZlcnNpb24gb2YgdGhlIExlc3NlciBHUEwuICBJdCBhbHNvIGNvdW50cworIGFzIHRoZSBzdWNjZXNzb3Igb2YgdGhlIEdOVSBMaWJyYXJ5IFB1YmxpYyBMaWNlbnNlLCB2ZXJzaW9uIDIsIGhlbmNlCisgdGhlIHZlcnNpb24gbnVtYmVyIDIuMS5dCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVhbWJsZQorCisgIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhcmUgZGVzaWduZWQgdG8gdGFrZSBhd2F5IHlvdXIKK2ZyZWVkb20gdG8gc2hhcmUgYW5kIGNoYW5nZSBpdC4gIEJ5IGNvbnRyYXN0LCB0aGUgR05VIEdlbmVyYWwgUHVibGljCitMaWNlbnNlcyBhcmUgaW50ZW5kZWQgdG8gZ3VhcmFudGVlIHlvdXIgZnJlZWRvbSB0byBzaGFyZSBhbmQgY2hhbmdlCitmcmVlIHNvZnR3YXJlLS10byBtYWtlIHN1cmUgdGhlIHNvZnR3YXJlIGlzIGZyZWUgZm9yIGFsbCBpdHMgdXNlcnMuCisKKyAgVGhpcyBsaWNlbnNlLCB0aGUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIGFwcGxpZXMgdG8gc29tZQorc3BlY2lhbGx5IGRlc2lnbmF0ZWQgc29mdHdhcmUgcGFja2FnZXMtLXR5cGljYWxseSBsaWJyYXJpZXMtLW9mIHRoZQorRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIGFuZCBvdGhlciBhdXRob3JzIHdobyBkZWNpZGUgdG8gdXNlIGl0LiAgWW91CitjYW4gdXNlIGl0IHRvbywgYnV0IHdlIHN1Z2dlc3QgeW91IGZpcnN0IHRoaW5rIGNhcmVmdWxseSBhYm91dCB3aGV0aGVyCit0aGlzIGxpY2Vuc2Ugb3IgdGhlIG9yZGluYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgdGhlIGJldHRlcgorc3RyYXRlZ3kgdG8gdXNlIGluIGFueSBwYXJ0aWN1bGFyIGNhc2UsIGJhc2VkIG9uIHRoZSBleHBsYW5hdGlvbnMgYmVsb3cuCisKKyAgV2hlbiB3ZSBzcGVhayBvZiBmcmVlIHNvZnR3YXJlLCB3ZSBhcmUgcmVmZXJyaW5nIHRvIGZyZWVkb20gb2YgdXNlLAorbm90IHByaWNlLiAgT3VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VzIGFyZSBkZXNpZ25lZCB0byBtYWtlIHN1cmUgdGhhdAoreW91IGhhdmUgdGhlIGZyZWVkb20gdG8gZGlzdHJpYnV0ZSBjb3BpZXMgb2YgZnJlZSBzb2Z0d2FyZSAoYW5kIGNoYXJnZQorZm9yIHRoaXMgc2VydmljZSBpZiB5b3Ugd2lzaCk7IHRoYXQgeW91IHJlY2VpdmUgc291cmNlIGNvZGUgb3IgY2FuIGdldAoraXQgaWYgeW91IHdhbnQgaXQ7IHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIGFuZCB1c2UgcGllY2VzIG9mCitpdCBpbiBuZXcgZnJlZSBwcm9ncmFtczsgYW5kIHRoYXQgeW91IGFyZSBpbmZvcm1lZCB0aGF0IHlvdSBjYW4gZG8KK3RoZXNlIHRoaW5ncy4KKworICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIG1ha2UgcmVzdHJpY3Rpb25zIHRoYXQgZm9yYmlkCitkaXN0cmlidXRvcnMgdG8gZGVueSB5b3UgdGhlc2UgcmlnaHRzIG9yIHRvIGFzayB5b3UgdG8gc3VycmVuZGVyIHRoZXNlCityaWdodHMuICBUaGVzZSByZXN0cmljdGlvbnMgdHJhbnNsYXRlIHRvIGNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBmb3IKK3lvdSBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIGxpYnJhcnkgb3IgaWYgeW91IG1vZGlmeSBpdC4KKworICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHRoZSBsaWJyYXJ5LCB3aGV0aGVyIGdyYXRpcworb3IgZm9yIGEgZmVlLCB5b3UgbXVzdCBnaXZlIHRoZSByZWNpcGllbnRzIGFsbCB0aGUgcmlnaHRzIHRoYXQgd2UgZ2F2ZQoreW91LiAgWW91IG11c3QgbWFrZSBzdXJlIHRoYXQgdGhleSwgdG9vLCByZWNlaXZlIG9yIGNhbiBnZXQgdGhlIHNvdXJjZQorY29kZS4gIElmIHlvdSBsaW5rIG90aGVyIGNvZGUgd2l0aCB0aGUgbGlicmFyeSwgeW91IG11c3QgcHJvdmlkZQorY29tcGxldGUgb2JqZWN0IGZpbGVzIHRvIHRoZSByZWNpcGllbnRzLCBzbyB0aGF0IHRoZXkgY2FuIHJlbGluayB0aGVtCit3aXRoIHRoZSBsaWJyYXJ5IGFmdGVyIG1ha2luZyBjaGFuZ2VzIHRvIHRoZSBsaWJyYXJ5IGFuZCByZWNvbXBpbGluZworaXQuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkga25vdyB0aGVpciByaWdodHMuCisKKyAgV2UgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIGEgdHdvLXN0ZXAgbWV0aG9kOiAoMSkgd2UgY29weXJpZ2h0IHRoZQorbGlicmFyeSwgYW5kICgyKSB3ZSBvZmZlciB5b3UgdGhpcyBsaWNlbnNlLCB3aGljaCBnaXZlcyB5b3UgbGVnYWwKK3Blcm1pc3Npb24gdG8gY29weSwgZGlzdHJpYnV0ZSBhbmQvb3IgbW9kaWZ5IHRoZSBsaWJyYXJ5LgorCisgIFRvIHByb3RlY3QgZWFjaCBkaXN0cmlidXRvciwgd2Ugd2FudCB0byBtYWtlIGl0IHZlcnkgY2xlYXIgdGhhdAordGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoZSBmcmVlIGxpYnJhcnkuICBBbHNvLCBpZiB0aGUgbGlicmFyeSBpcworbW9kaWZpZWQgYnkgc29tZW9uZSBlbHNlIGFuZCBwYXNzZWQgb24sIHRoZSByZWNpcGllbnRzIHNob3VsZCBrbm93Cit0aGF0IHdoYXQgdGhleSBoYXZlIGlzIG5vdCB0aGUgb3JpZ2luYWwgdmVyc2lvbiwgc28gdGhhdCB0aGUgb3JpZ2luYWwKK2F1dGhvcidzIHJlcHV0YXRpb24gd2lsbCBub3QgYmUgYWZmZWN0ZWQgYnkgcHJvYmxlbXMgdGhhdCBtaWdodCBiZQoraW50cm9kdWNlZCBieSBvdGhlcnMuCisMCisgIEZpbmFsbHksIHNvZnR3YXJlIHBhdGVudHMgcG9zZSBhIGNvbnN0YW50IHRocmVhdCB0byB0aGUgZXhpc3RlbmNlIG9mCithbnkgZnJlZSBwcm9ncmFtLiAgV2Ugd2lzaCB0byBtYWtlIHN1cmUgdGhhdCBhIGNvbXBhbnkgY2Fubm90CitlZmZlY3RpdmVseSByZXN0cmljdCB0aGUgdXNlcnMgb2YgYSBmcmVlIHByb2dyYW0gYnkgb2J0YWluaW5nIGEKK3Jlc3RyaWN0aXZlIGxpY2Vuc2UgZnJvbSBhIHBhdGVudCBob2xkZXIuICBUaGVyZWZvcmUsIHdlIGluc2lzdCB0aGF0CithbnkgcGF0ZW50IGxpY2Vuc2Ugb2J0YWluZWQgZm9yIGEgdmVyc2lvbiBvZiB0aGUgbGlicmFyeSBtdXN0IGJlCitjb25zaXN0ZW50IHdpdGggdGhlIGZ1bGwgZnJlZWRvbSBvZiB1c2Ugc3BlY2lmaWVkIGluIHRoaXMgbGljZW5zZS4KKworICBNb3N0IEdOVSBzb2Z0d2FyZSwgaW5jbHVkaW5nIHNvbWUgbGlicmFyaWVzLCBpcyBjb3ZlcmVkIGJ5IHRoZQorb3JkaW5hcnkgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBUaGlzIGxpY2Vuc2UsIHRoZSBHTlUgTGVzc2VyCitHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCBhcHBsaWVzIHRvIGNlcnRhaW4gZGVzaWduYXRlZCBsaWJyYXJpZXMsIGFuZAoraXMgcXVpdGUgZGlmZmVyZW50IGZyb20gdGhlIG9yZGluYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBXZSB1c2UKK3RoaXMgbGljZW5zZSBmb3IgY2VydGFpbiBsaWJyYXJpZXMgaW4gb3JkZXIgdG8gcGVybWl0IGxpbmtpbmcgdGhvc2UKK2xpYnJhcmllcyBpbnRvIG5vbi1mcmVlIHByb2dyYW1zLgorCisgIFdoZW4gYSBwcm9ncmFtIGlzIGxpbmtlZCB3aXRoIGEgbGlicmFyeSwgd2hldGhlciBzdGF0aWNhbGx5IG9yIHVzaW5nCithIHNoYXJlZCBsaWJyYXJ5LCB0aGUgY29tYmluYXRpb24gb2YgdGhlIHR3byBpcyBsZWdhbGx5IHNwZWFraW5nIGEKK2NvbWJpbmVkIHdvcmssIGEgZGVyaXZhdGl2ZSBvZiB0aGUgb3JpZ2luYWwgbGlicmFyeS4gIFRoZSBvcmRpbmFyeQorR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB0aGVyZWZvcmUgcGVybWl0cyBzdWNoIGxpbmtpbmcgb25seSBpZiB0aGUKK2VudGlyZSBjb21iaW5hdGlvbiBmaXRzIGl0cyBjcml0ZXJpYSBvZiBmcmVlZG9tLiAgVGhlIExlc3NlciBHZW5lcmFsCitQdWJsaWMgTGljZW5zZSBwZXJtaXRzIG1vcmUgbGF4IGNyaXRlcmlhIGZvciBsaW5raW5nIG90aGVyIGNvZGUgd2l0aAordGhlIGxpYnJhcnkuCisKKyAgV2UgY2FsbCB0aGlzIGxpY2Vuc2UgdGhlICJMZXNzZXIiIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYmVjYXVzZSBpdAorZG9lcyBMZXNzIHRvIHByb3RlY3QgdGhlIHVzZXIncyBmcmVlZG9tIHRoYW4gdGhlIG9yZGluYXJ5IEdlbmVyYWwKK1B1YmxpYyBMaWNlbnNlLiAgSXQgYWxzbyBwcm92aWRlcyBvdGhlciBmcmVlIHNvZnR3YXJlIGRldmVsb3BlcnMgTGVzcworb2YgYW4gYWR2YW50YWdlIG92ZXIgY29tcGV0aW5nIG5vbi1mcmVlIHByb2dyYW1zLiAgVGhlc2UgZGlzYWR2YW50YWdlcworYXJlIHRoZSByZWFzb24gd2UgdXNlIHRoZSBvcmRpbmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtYW55CitsaWJyYXJpZXMuICBIb3dldmVyLCB0aGUgTGVzc2VyIGxpY2Vuc2UgcHJvdmlkZXMgYWR2YW50YWdlcyBpbiBjZXJ0YWluCitzcGVjaWFsIGNpcmN1bXN0YW5jZXMuCisKKyAgRm9yIGV4YW1wbGUsIG9uIHJhcmUgb2NjYXNpb25zLCB0aGVyZSBtYXkgYmUgYSBzcGVjaWFsIG5lZWQgdG8KK2VuY291cmFnZSB0aGUgd2lkZXN0IHBvc3NpYmxlIHVzZSBvZiBhIGNlcnRhaW4gbGlicmFyeSwgc28gdGhhdCBpdCBiZWNvbWVzCithIGRlLWZhY3RvIHN0YW5kYXJkLiAgVG8gYWNoaWV2ZSB0aGlzLCBub24tZnJlZSBwcm9ncmFtcyBtdXN0IGJlCithbGxvd2VkIHRvIHVzZSB0aGUgbGlicmFyeS4gIEEgbW9yZSBmcmVxdWVudCBjYXNlIGlzIHRoYXQgYSBmcmVlCitsaWJyYXJ5IGRvZXMgdGhlIHNhbWUgam9iIGFzIHdpZGVseSB1c2VkIG5vbi1mcmVlIGxpYnJhcmllcy4gIEluIHRoaXMKK2Nhc2UsIHRoZXJlIGlzIGxpdHRsZSB0byBnYWluIGJ5IGxpbWl0aW5nIHRoZSBmcmVlIGxpYnJhcnkgdG8gZnJlZQorc29mdHdhcmUgb25seSwgc28gd2UgdXNlIHRoZSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKworICBJbiBvdGhlciBjYXNlcywgcGVybWlzc2lvbiB0byB1c2UgYSBwYXJ0aWN1bGFyIGxpYnJhcnkgaW4gbm9uLWZyZWUKK3Byb2dyYW1zIGVuYWJsZXMgYSBncmVhdGVyIG51bWJlciBvZiBwZW9wbGUgdG8gdXNlIGEgbGFyZ2UgYm9keSBvZgorZnJlZSBzb2Z0d2FyZS4gIEZvciBleGFtcGxlLCBwZXJtaXNzaW9uIHRvIHVzZSB0aGUgR05VIEMgTGlicmFyeSBpbgorbm9uLWZyZWUgcHJvZ3JhbXMgZW5hYmxlcyBtYW55IG1vcmUgcGVvcGxlIHRvIHVzZSB0aGUgd2hvbGUgR05VCitvcGVyYXRpbmcgc3lzdGVtLCBhcyB3ZWxsIGFzIGl0cyB2YXJpYW50LCB0aGUgR05VL0xpbnV4IG9wZXJhdGluZworc3lzdGVtLgorCisgIEFsdGhvdWdoIHRoZSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBMZXNzIHByb3RlY3RpdmUgb2YgdGhlCit1c2VycycgZnJlZWRvbSwgaXQgZG9lcyBlbnN1cmUgdGhhdCB0aGUgdXNlciBvZiBhIHByb2dyYW0gdGhhdCBpcworbGlua2VkIHdpdGggdGhlIExpYnJhcnkgaGFzIHRoZSBmcmVlZG9tIGFuZCB0aGUgd2hlcmV3aXRoYWwgdG8gcnVuCit0aGF0IHByb2dyYW0gdXNpbmcgYSBtb2RpZmllZCB2ZXJzaW9uIG9mIHRoZSBMaWJyYXJ5LgorCisgIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCittb2RpZmljYXRpb24gZm9sbG93LiAgUGF5IGNsb3NlIGF0dGVudGlvbiB0byB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGEKKyJ3b3JrIGJhc2VkIG9uIHRoZSBsaWJyYXJ5IiBhbmQgYSAid29yayB0aGF0IHVzZXMgdGhlIGxpYnJhcnkiLiAgVGhlCitmb3JtZXIgY29udGFpbnMgY29kZSBkZXJpdmVkIGZyb20gdGhlIGxpYnJhcnksIHdoZXJlYXMgdGhlIGxhdHRlciBtdXN0CitiZSBjb21iaW5lZCB3aXRoIHRoZSBsaWJyYXJ5IGluIG9yZGVyIHRvIHJ1bi4KKwwKKyAgICAgICAgICAgICAgICAgIEdOVSBMRVNTRVIgR0VORVJBTCBQVUJMSUMgTElDRU5TRQorICAgVEVSTVMgQU5EIENPTkRJVElPTlMgRk9SIENPUFlJTkcsIERJU1RSSUJVVElPTiBBTkQgTU9ESUZJQ0FUSU9OCisKKyAgMC4gVGhpcyBMaWNlbnNlIEFncmVlbWVudCBhcHBsaWVzIHRvIGFueSBzb2Z0d2FyZSBsaWJyYXJ5IG9yIG90aGVyCitwcm9ncmFtIHdoaWNoIGNvbnRhaW5zIGEgbm90aWNlIHBsYWNlZCBieSB0aGUgY29weXJpZ2h0IGhvbGRlciBvcgorb3RoZXIgYXV0aG9yaXplZCBwYXJ0eSBzYXlpbmcgaXQgbWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZgordGhpcyBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoYWxzbyBjYWxsZWQgInRoaXMgTGljZW5zZSIpLgorRWFjaCBsaWNlbnNlZSBpcyBhZGRyZXNzZWQgYXMgInlvdSIuCisKKyAgQSAibGlicmFyeSIgbWVhbnMgYSBjb2xsZWN0aW9uIG9mIHNvZnR3YXJlIGZ1bmN0aW9ucyBhbmQvb3IgZGF0YQorcHJlcGFyZWQgc28gYXMgdG8gYmUgY29udmVuaWVudGx5IGxpbmtlZCB3aXRoIGFwcGxpY2F0aW9uIHByb2dyYW1zCisod2hpY2ggdXNlIHNvbWUgb2YgdGhvc2UgZnVuY3Rpb25zIGFuZCBkYXRhKSB0byBmb3JtIGV4ZWN1dGFibGVzLgorCisgIFRoZSAiTGlicmFyeSIsIGJlbG93LCByZWZlcnMgdG8gYW55IHN1Y2ggc29mdHdhcmUgbGlicmFyeSBvciB3b3JrCit3aGljaCBoYXMgYmVlbiBkaXN0cmlidXRlZCB1bmRlciB0aGVzZSB0ZXJtcy4gIEEgIndvcmsgYmFzZWQgb24gdGhlCitMaWJyYXJ5IiBtZWFucyBlaXRoZXIgdGhlIExpYnJhcnkgb3IgYW55IGRlcml2YXRpdmUgd29yayB1bmRlcgorY29weXJpZ2h0IGxhdzogdGhhdCBpcyB0byBzYXksIGEgd29yayBjb250YWluaW5nIHRoZSBMaWJyYXJ5IG9yIGEKK3BvcnRpb24gb2YgaXQsIGVpdGhlciB2ZXJiYXRpbSBvciB3aXRoIG1vZGlmaWNhdGlvbnMgYW5kL29yIHRyYW5zbGF0ZWQKK3N0cmFpZ2h0Zm9yd2FyZGx5IGludG8gYW5vdGhlciBsYW5ndWFnZS4gIChIZXJlaW5hZnRlciwgdHJhbnNsYXRpb24gaXMKK2luY2x1ZGVkIHdpdGhvdXQgbGltaXRhdGlvbiBpbiB0aGUgdGVybSAibW9kaWZpY2F0aW9uIi4pCisKKyAgIlNvdXJjZSBjb2RlIiBmb3IgYSB3b3JrIG1lYW5zIHRoZSBwcmVmZXJyZWQgZm9ybSBvZiB0aGUgd29yayBmb3IKK21ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgRm9yIGEgbGlicmFyeSwgY29tcGxldGUgc291cmNlIGNvZGUgbWVhbnMKK2FsbCB0aGUgc291cmNlIGNvZGUgZm9yIGFsbCBtb2R1bGVzIGl0IGNvbnRhaW5zLCBwbHVzIGFueSBhc3NvY2lhdGVkCitpbnRlcmZhY2UgZGVmaW5pdGlvbiBmaWxlcywgcGx1cyB0aGUgc2NyaXB0cyB1c2VkIHRvIGNvbnRyb2wgY29tcGlsYXRpb24KK2FuZCBpbnN0YWxsYXRpb24gb2YgdGhlIGxpYnJhcnkuCisKKyAgQWN0aXZpdGllcyBvdGhlciB0aGFuIGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBhbmQgbW9kaWZpY2F0aW9uIGFyZSBub3QKK2NvdmVyZWQgYnkgdGhpcyBMaWNlbnNlOyB0aGV5IGFyZSBvdXRzaWRlIGl0cyBzY29wZS4gIFRoZSBhY3Qgb2YKK3J1bm5pbmcgYSBwcm9ncmFtIHVzaW5nIHRoZSBMaWJyYXJ5IGlzIG5vdCByZXN0cmljdGVkLCBhbmQgb3V0cHV0IGZyb20KK3N1Y2ggYSBwcm9ncmFtIGlzIGNvdmVyZWQgb25seSBpZiBpdHMgY29udGVudHMgY29uc3RpdHV0ZSBhIHdvcmsgYmFzZWQKK29uIHRoZSBMaWJyYXJ5IChpbmRlcGVuZGVudCBvZiB0aGUgdXNlIG9mIHRoZSBMaWJyYXJ5IGluIGEgdG9vbCBmb3IKK3dyaXRpbmcgaXQpLiAgV2hldGhlciB0aGF0IGlzIHRydWUgZGVwZW5kcyBvbiB3aGF0IHRoZSBMaWJyYXJ5IGRvZXMKK2FuZCB3aGF0IHRoZSBwcm9ncmFtIHRoYXQgdXNlcyB0aGUgTGlicmFyeSBkb2VzLgorCisgIDEuIFlvdSBtYXkgY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMgb2YgdGhlIExpYnJhcnkncworY29tcGxldGUgc291cmNlIGNvZGUgYXMgeW91IHJlY2VpdmUgaXQsIGluIGFueSBtZWRpdW0sIHByb3ZpZGVkIHRoYXQKK3lvdSBjb25zcGljdW91c2x5IGFuZCBhcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuCithcHByb3ByaWF0ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5OyBrZWVwIGludGFjdAorYWxsIHRoZSBub3RpY2VzIHRoYXQgcmVmZXIgdG8gdGhpcyBMaWNlbnNlIGFuZCB0byB0aGUgYWJzZW5jZSBvZiBhbnkKK3dhcnJhbnR5OyBhbmQgZGlzdHJpYnV0ZSBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlIGFsb25nIHdpdGggdGhlCitMaWJyYXJ5LgorCisgIFlvdSBtYXkgY2hhcmdlIGEgZmVlIGZvciB0aGUgcGh5c2ljYWwgYWN0IG9mIHRyYW5zZmVycmluZyBhIGNvcHksCithbmQgeW91IG1heSBhdCB5b3VyIG9wdGlvbiBvZmZlciB3YXJyYW50eSBwcm90ZWN0aW9uIGluIGV4Y2hhbmdlIGZvciBhCitmZWUuCisMCisgIDIuIFlvdSBtYXkgbW9kaWZ5IHlvdXIgY29weSBvciBjb3BpZXMgb2YgdGhlIExpYnJhcnkgb3IgYW55IHBvcnRpb24KK29mIGl0LCB0aHVzIGZvcm1pbmcgYSB3b3JrIGJhc2VkIG9uIHRoZSBMaWJyYXJ5LCBhbmQgY29weSBhbmQKK2Rpc3RyaWJ1dGUgc3VjaCBtb2RpZmljYXRpb25zIG9yIHdvcmsgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb24gMQorYWJvdmUsIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gbWVldCBhbGwgb2YgdGhlc2UgY29uZGl0aW9uczoKKworICAgIGEpIFRoZSBtb2RpZmllZCB3b3JrIG11c3QgaXRzZWxmIGJlIGEgc29mdHdhcmUgbGlicmFyeS4KKworICAgIGIpIFlvdSBtdXN0IGNhdXNlIHRoZSBmaWxlcyBtb2RpZmllZCB0byBjYXJyeSBwcm9taW5lbnQgbm90aWNlcworICAgIHN0YXRpbmcgdGhhdCB5b3UgY2hhbmdlZCB0aGUgZmlsZXMgYW5kIHRoZSBkYXRlIG9mIGFueSBjaGFuZ2UuCisKKyAgICBjKSBZb3UgbXVzdCBjYXVzZSB0aGUgd2hvbGUgb2YgdGhlIHdvcmsgdG8gYmUgbGljZW5zZWQgYXQgbm8KKyAgICBjaGFyZ2UgdG8gYWxsIHRoaXJkIHBhcnRpZXMgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZS4KKworICAgIGQpIElmIGEgZmFjaWxpdHkgaW4gdGhlIG1vZGlmaWVkIExpYnJhcnkgcmVmZXJzIHRvIGEgZnVuY3Rpb24gb3IgYQorICAgIHRhYmxlIG9mIGRhdGEgdG8gYmUgc3VwcGxpZWQgYnkgYW4gYXBwbGljYXRpb24gcHJvZ3JhbSB0aGF0IHVzZXMKKyAgICB0aGUgZmFjaWxpdHksIG90aGVyIHRoYW4gYXMgYW4gYXJndW1lbnQgcGFzc2VkIHdoZW4gdGhlIGZhY2lsaXR5CisgICAgaXMgaW52b2tlZCwgdGhlbiB5b3UgbXVzdCBtYWtlIGEgZ29vZCBmYWl0aCBlZmZvcnQgdG8gZW5zdXJlIHRoYXQsCisgICAgaW4gdGhlIGV2ZW50IGFuIGFwcGxpY2F0aW9uIGRvZXMgbm90IHN1cHBseSBzdWNoIGZ1bmN0aW9uIG9yCisgICAgdGFibGUsIHRoZSBmYWNpbGl0eSBzdGlsbCBvcGVyYXRlcywgYW5kIHBlcmZvcm1zIHdoYXRldmVyIHBhcnQgb2YKKyAgICBpdHMgcHVycG9zZSByZW1haW5zIG1lYW5pbmdmdWwuCisKKyAgICAoRm9yIGV4YW1wbGUsIGEgZnVuY3Rpb24gaW4gYSBsaWJyYXJ5IHRvIGNvbXB1dGUgc3F1YXJlIHJvb3RzIGhhcworICAgIGEgcHVycG9zZSB0aGF0IGlzIGVudGlyZWx5IHdlbGwtZGVmaW5lZCBpbmRlcGVuZGVudCBvZiB0aGUKKyAgICBhcHBsaWNhdGlvbi4gIFRoZXJlZm9yZSwgU3Vic2VjdGlvbiAyZCByZXF1aXJlcyB0aGF0IGFueQorICAgIGFwcGxpY2F0aW9uLXN1cHBsaWVkIGZ1bmN0aW9uIG9yIHRhYmxlIHVzZWQgYnkgdGhpcyBmdW5jdGlvbiBtdXN0CisgICAgYmUgb3B0aW9uYWw6IGlmIHRoZSBhcHBsaWNhdGlvbiBkb2VzIG5vdCBzdXBwbHkgaXQsIHRoZSBzcXVhcmUKKyAgICByb290IGZ1bmN0aW9uIG11c3Qgc3RpbGwgY29tcHV0ZSBzcXVhcmUgcm9vdHMuKQorCitUaGVzZSByZXF1aXJlbWVudHMgYXBwbHkgdG8gdGhlIG1vZGlmaWVkIHdvcmsgYXMgYSB3aG9sZS4gIElmCitpZGVudGlmaWFibGUgc2VjdGlvbnMgb2YgdGhhdCB3b3JrIGFyZSBub3QgZGVyaXZlZCBmcm9tIHRoZSBMaWJyYXJ5LAorYW5kIGNhbiBiZSByZWFzb25hYmx5IGNvbnNpZGVyZWQgaW5kZXBlbmRlbnQgYW5kIHNlcGFyYXRlIHdvcmtzIGluCit0aGVtc2VsdmVzLCB0aGVuIHRoaXMgTGljZW5zZSwgYW5kIGl0cyB0ZXJtcywgZG8gbm90IGFwcGx5IHRvIHRob3NlCitzZWN0aW9ucyB3aGVuIHlvdSBkaXN0cmlidXRlIHRoZW0gYXMgc2VwYXJhdGUgd29ya3MuICBCdXQgd2hlbiB5b3UKK2Rpc3RyaWJ1dGUgdGhlIHNhbWUgc2VjdGlvbnMgYXMgcGFydCBvZiBhIHdob2xlIHdoaWNoIGlzIGEgd29yayBiYXNlZAorb24gdGhlIExpYnJhcnksIHRoZSBkaXN0cmlidXRpb24gb2YgdGhlIHdob2xlIG11c3QgYmUgb24gdGhlIHRlcm1zIG9mCit0aGlzIExpY2Vuc2UsIHdob3NlIHBlcm1pc3Npb25zIGZvciBvdGhlciBsaWNlbnNlZXMgZXh0ZW5kIHRvIHRoZQorZW50aXJlIHdob2xlLCBhbmQgdGh1cyB0byBlYWNoIGFuZCBldmVyeSBwYXJ0IHJlZ2FyZGxlc3Mgb2Ygd2hvIHdyb3RlCitpdC4KKworVGh1cywgaXQgaXMgbm90IHRoZSBpbnRlbnQgb2YgdGhpcyBzZWN0aW9uIHRvIGNsYWltIHJpZ2h0cyBvciBjb250ZXN0Cit5b3VyIHJpZ2h0cyB0byB3b3JrIHdyaXR0ZW4gZW50aXJlbHkgYnkgeW91OyByYXRoZXIsIHRoZSBpbnRlbnQgaXMgdG8KK2V4ZXJjaXNlIHRoZSByaWdodCB0byBjb250cm9sIHRoZSBkaXN0cmlidXRpb24gb2YgZGVyaXZhdGl2ZSBvcgorY29sbGVjdGl2ZSB3b3JrcyBiYXNlZCBvbiB0aGUgTGlicmFyeS4KKworSW4gYWRkaXRpb24sIG1lcmUgYWdncmVnYXRpb24gb2YgYW5vdGhlciB3b3JrIG5vdCBiYXNlZCBvbiB0aGUgTGlicmFyeQord2l0aCB0aGUgTGlicmFyeSAob3Igd2l0aCBhIHdvcmsgYmFzZWQgb24gdGhlIExpYnJhcnkpIG9uIGEgdm9sdW1lIG9mCithIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSBkb2VzIG5vdCBicmluZyB0aGUgb3RoZXIgd29yayB1bmRlcgordGhlIHNjb3BlIG9mIHRoaXMgTGljZW5zZS4KKworICAzLiBZb3UgbWF5IG9wdCB0byBhcHBseSB0aGUgdGVybXMgb2YgdGhlIG9yZGluYXJ5IEdOVSBHZW5lcmFsIFB1YmxpYworTGljZW5zZSBpbnN0ZWFkIG9mIHRoaXMgTGljZW5zZSB0byBhIGdpdmVuIGNvcHkgb2YgdGhlIExpYnJhcnkuICBUbyBkbwordGhpcywgeW91IG11c3QgYWx0ZXIgYWxsIHRoZSBub3RpY2VzIHRoYXQgcmVmZXIgdG8gdGhpcyBMaWNlbnNlLCBzbwordGhhdCB0aGV5IHJlZmVyIHRvIHRoZSBvcmRpbmFyeSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgdmVyc2lvbiAyLAoraW5zdGVhZCBvZiB0byB0aGlzIExpY2Vuc2UuICAoSWYgYSBuZXdlciB2ZXJzaW9uIHRoYW4gdmVyc2lvbiAyIG9mIHRoZQorb3JkaW5hcnkgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaGFzIGFwcGVhcmVkLCB0aGVuIHlvdSBjYW4gc3BlY2lmeQordGhhdCB2ZXJzaW9uIGluc3RlYWQgaWYgeW91IHdpc2guKSAgRG8gbm90IG1ha2UgYW55IG90aGVyIGNoYW5nZSBpbgordGhlc2Ugbm90aWNlcy4KKwwKKyAgT25jZSB0aGlzIGNoYW5nZSBpcyBtYWRlIGluIGEgZ2l2ZW4gY29weSwgaXQgaXMgaXJyZXZlcnNpYmxlIGZvcgordGhhdCBjb3B5LCBzbyB0aGUgb3JkaW5hcnkgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXBwbGllcyB0byBhbGwKK3N1YnNlcXVlbnQgY29waWVzIGFuZCBkZXJpdmF0aXZlIHdvcmtzIG1hZGUgZnJvbSB0aGF0IGNvcHkuCisKKyAgVGhpcyBvcHRpb24gaXMgdXNlZnVsIHdoZW4geW91IHdpc2ggdG8gY29weSBwYXJ0IG9mIHRoZSBjb2RlIG9mCit0aGUgTGlicmFyeSBpbnRvIGEgcHJvZ3JhbSB0aGF0IGlzIG5vdCBhIGxpYnJhcnkuCisKKyAgNC4gWW91IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHRoZSBMaWJyYXJ5IChvciBhIHBvcnRpb24gb3IKK2Rlcml2YXRpdmUgb2YgaXQsIHVuZGVyIFNlY3Rpb24gMikgaW4gb2JqZWN0IGNvZGUgb3IgZXhlY3V0YWJsZSBmb3JtCit1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSBwcm92aWRlZCB0aGF0IHlvdSBhY2NvbXBhbnkKK2l0IHdpdGggdGhlIGNvbXBsZXRlIGNvcnJlc3BvbmRpbmcgbWFjaGluZS1yZWFkYWJsZSBzb3VyY2UgY29kZSwgd2hpY2gKK211c3QgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zIDEgYW5kIDIgYWJvdmUgb24gYQorbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgorCisgIElmIGRpc3RyaWJ1dGlvbiBvZiBvYmplY3QgY29kZSBpcyBtYWRlIGJ5IG9mZmVyaW5nIGFjY2VzcyB0byBjb3B5Citmcm9tIGEgZGVzaWduYXRlZCBwbGFjZSwgdGhlbiBvZmZlcmluZyBlcXVpdmFsZW50IGFjY2VzcyB0byBjb3B5IHRoZQorc291cmNlIGNvZGUgZnJvbSB0aGUgc2FtZSBwbGFjZSBzYXRpc2ZpZXMgdGhlIHJlcXVpcmVtZW50IHRvCitkaXN0cmlidXRlIHRoZSBzb3VyY2UgY29kZSwgZXZlbiB0aG91Z2ggdGhpcmQgcGFydGllcyBhcmUgbm90Citjb21wZWxsZWQgdG8gY29weSB0aGUgc291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLgorCisgIDUuIEEgcHJvZ3JhbSB0aGF0IGNvbnRhaW5zIG5vIGRlcml2YXRpdmUgb2YgYW55IHBvcnRpb24gb2YgdGhlCitMaWJyYXJ5LCBidXQgaXMgZGVzaWduZWQgdG8gd29yayB3aXRoIHRoZSBMaWJyYXJ5IGJ5IGJlaW5nIGNvbXBpbGVkIG9yCitsaW5rZWQgd2l0aCBpdCwgaXMgY2FsbGVkIGEgIndvcmsgdGhhdCB1c2VzIHRoZSBMaWJyYXJ5Ii4gIFN1Y2ggYQord29yaywgaW4gaXNvbGF0aW9uLCBpcyBub3QgYSBkZXJpdmF0aXZlIHdvcmsgb2YgdGhlIExpYnJhcnksIGFuZAordGhlcmVmb3JlIGZhbGxzIG91dHNpZGUgdGhlIHNjb3BlIG9mIHRoaXMgTGljZW5zZS4KKworICBIb3dldmVyLCBsaW5raW5nIGEgIndvcmsgdGhhdCB1c2VzIHRoZSBMaWJyYXJ5IiB3aXRoIHRoZSBMaWJyYXJ5CitjcmVhdGVzIGFuIGV4ZWN1dGFibGUgdGhhdCBpcyBhIGRlcml2YXRpdmUgb2YgdGhlIExpYnJhcnkgKGJlY2F1c2UgaXQKK2NvbnRhaW5zIHBvcnRpb25zIG9mIHRoZSBMaWJyYXJ5KSwgcmF0aGVyIHRoYW4gYSAid29yayB0aGF0IHVzZXMgdGhlCitsaWJyYXJ5Ii4gIFRoZSBleGVjdXRhYmxlIGlzIHRoZXJlZm9yZSBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZS4KK1NlY3Rpb24gNiBzdGF0ZXMgdGVybXMgZm9yIGRpc3RyaWJ1dGlvbiBvZiBzdWNoIGV4ZWN1dGFibGVzLgorCisgIFdoZW4gYSAid29yayB0aGF0IHVzZXMgdGhlIExpYnJhcnkiIHVzZXMgbWF0ZXJpYWwgZnJvbSBhIGhlYWRlciBmaWxlCit0aGF0IGlzIHBhcnQgb2YgdGhlIExpYnJhcnksIHRoZSBvYmplY3QgY29kZSBmb3IgdGhlIHdvcmsgbWF5IGJlIGEKK2Rlcml2YXRpdmUgd29yayBvZiB0aGUgTGlicmFyeSBldmVuIHRob3VnaCB0aGUgc291cmNlIGNvZGUgaXMgbm90LgorV2hldGhlciB0aGlzIGlzIHRydWUgaXMgZXNwZWNpYWxseSBzaWduaWZpY2FudCBpZiB0aGUgd29yayBjYW4gYmUKK2xpbmtlZCB3aXRob3V0IHRoZSBMaWJyYXJ5LCBvciBpZiB0aGUgd29yayBpcyBpdHNlbGYgYSBsaWJyYXJ5LiAgVGhlCit0aHJlc2hvbGQgZm9yIHRoaXMgdG8gYmUgdHJ1ZSBpcyBub3QgcHJlY2lzZWx5IGRlZmluZWQgYnkgbGF3LgorCisgIElmIHN1Y2ggYW4gb2JqZWN0IGZpbGUgdXNlcyBvbmx5IG51bWVyaWNhbCBwYXJhbWV0ZXJzLCBkYXRhCitzdHJ1Y3R1cmUgbGF5b3V0cyBhbmQgYWNjZXNzb3JzLCBhbmQgc21hbGwgbWFjcm9zIGFuZCBzbWFsbCBpbmxpbmUKK2Z1bmN0aW9ucyAodGVuIGxpbmVzIG9yIGxlc3MgaW4gbGVuZ3RoKSwgdGhlbiB0aGUgdXNlIG9mIHRoZSBvYmplY3QKK2ZpbGUgaXMgdW5yZXN0cmljdGVkLCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgaXQgaXMgbGVnYWxseSBhIGRlcml2YXRpdmUKK3dvcmsuICAoRXhlY3V0YWJsZXMgY29udGFpbmluZyB0aGlzIG9iamVjdCBjb2RlIHBsdXMgcG9ydGlvbnMgb2YgdGhlCitMaWJyYXJ5IHdpbGwgc3RpbGwgZmFsbCB1bmRlciBTZWN0aW9uIDYuKQorCisgIE90aGVyd2lzZSwgaWYgdGhlIHdvcmsgaXMgYSBkZXJpdmF0aXZlIG9mIHRoZSBMaWJyYXJ5LCB5b3UgbWF5CitkaXN0cmlidXRlIHRoZSBvYmplY3QgY29kZSBmb3IgdGhlIHdvcmsgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb24gNi4KK0FueSBleGVjdXRhYmxlcyBjb250YWluaW5nIHRoYXQgd29yayBhbHNvIGZhbGwgdW5kZXIgU2VjdGlvbiA2LAord2hldGhlciBvciBub3QgdGhleSBhcmUgbGlua2VkIGRpcmVjdGx5IHdpdGggdGhlIExpYnJhcnkgaXRzZWxmLgorDAorICA2LiBBcyBhbiBleGNlcHRpb24gdG8gdGhlIFNlY3Rpb25zIGFib3ZlLCB5b3UgbWF5IGFsc28gY29tYmluZSBvcgorbGluayBhICJ3b3JrIHRoYXQgdXNlcyB0aGUgTGlicmFyeSIgd2l0aCB0aGUgTGlicmFyeSB0byBwcm9kdWNlIGEKK3dvcmsgY29udGFpbmluZyBwb3J0aW9ucyBvZiB0aGUgTGlicmFyeSwgYW5kIGRpc3RyaWJ1dGUgdGhhdCB3b3JrCit1bmRlciB0ZXJtcyBvZiB5b3VyIGNob2ljZSwgcHJvdmlkZWQgdGhhdCB0aGUgdGVybXMgcGVybWl0Cittb2RpZmljYXRpb24gb2YgdGhlIHdvcmsgZm9yIHRoZSBjdXN0b21lcidzIG93biB1c2UgYW5kIHJldmVyc2UKK2VuZ2luZWVyaW5nIGZvciBkZWJ1Z2dpbmcgc3VjaCBtb2RpZmljYXRpb25zLgorCisgIFlvdSBtdXN0IGdpdmUgcHJvbWluZW50IG5vdGljZSB3aXRoIGVhY2ggY29weSBvZiB0aGUgd29yayB0aGF0IHRoZQorTGlicmFyeSBpcyB1c2VkIGluIGl0IGFuZCB0aGF0IHRoZSBMaWJyYXJ5IGFuZCBpdHMgdXNlIGFyZSBjb3ZlcmVkIGJ5Cit0aGlzIExpY2Vuc2UuICBZb3UgbXVzdCBzdXBwbHkgYSBjb3B5IG9mIHRoaXMgTGljZW5zZS4gIElmIHRoZSB3b3JrCitkdXJpbmcgZXhlY3V0aW9uIGRpc3BsYXlzIGNvcHlyaWdodCBub3RpY2VzLCB5b3UgbXVzdCBpbmNsdWRlIHRoZQorY29weXJpZ2h0IG5vdGljZSBmb3IgdGhlIExpYnJhcnkgYW1vbmcgdGhlbSwgYXMgd2VsbCBhcyBhIHJlZmVyZW5jZQorZGlyZWN0aW5nIHRoZSB1c2VyIHRvIHRoZSBjb3B5IG9mIHRoaXMgTGljZW5zZS4gIEFsc28sIHlvdSBtdXN0IGRvIG9uZQorb2YgdGhlc2UgdGhpbmdzOgorCisgICAgYSkgQWNjb21wYW55IHRoZSB3b3JrIHdpdGggdGhlIGNvbXBsZXRlIGNvcnJlc3BvbmRpbmcKKyAgICBtYWNoaW5lLXJlYWRhYmxlIHNvdXJjZSBjb2RlIGZvciB0aGUgTGlicmFyeSBpbmNsdWRpbmcgd2hhdGV2ZXIKKyAgICBjaGFuZ2VzIHdlcmUgdXNlZCBpbiB0aGUgd29yayAod2hpY2ggbXVzdCBiZSBkaXN0cmlidXRlZCB1bmRlcgorICAgIFNlY3Rpb25zIDEgYW5kIDIgYWJvdmUpOyBhbmQsIGlmIHRoZSB3b3JrIGlzIGFuIGV4ZWN1dGFibGUgbGlua2VkCisgICAgd2l0aCB0aGUgTGlicmFyeSwgd2l0aCB0aGUgY29tcGxldGUgbWFjaGluZS1yZWFkYWJsZSAid29yayB0aGF0CisgICAgdXNlcyB0aGUgTGlicmFyeSIsIGFzIG9iamVjdCBjb2RlIGFuZC9vciBzb3VyY2UgY29kZSwgc28gdGhhdCB0aGUKKyAgICB1c2VyIGNhbiBtb2RpZnkgdGhlIExpYnJhcnkgYW5kIHRoZW4gcmVsaW5rIHRvIHByb2R1Y2UgYSBtb2RpZmllZAorICAgIGV4ZWN1dGFibGUgY29udGFpbmluZyB0aGUgbW9kaWZpZWQgTGlicmFyeS4gIChJdCBpcyB1bmRlcnN0b29kCisgICAgdGhhdCB0aGUgdXNlciB3aG8gY2hhbmdlcyB0aGUgY29udGVudHMgb2YgZGVmaW5pdGlvbnMgZmlsZXMgaW4gdGhlCisgICAgTGlicmFyeSB3aWxsIG5vdCBuZWNlc3NhcmlseSBiZSBhYmxlIHRvIHJlY29tcGlsZSB0aGUgYXBwbGljYXRpb24KKyAgICB0byB1c2UgdGhlIG1vZGlmaWVkIGRlZmluaXRpb25zLikKKworICAgIGIpIFVzZSBhIHN1aXRhYmxlIHNoYXJlZCBsaWJyYXJ5IG1lY2hhbmlzbSBmb3IgbGlua2luZyB3aXRoIHRoZQorICAgIExpYnJhcnkuICBBIHN1aXRhYmxlIG1lY2hhbmlzbSBpcyBvbmUgdGhhdCAoMSkgdXNlcyBhdCBydW4gdGltZSBhCisgICAgY29weSBvZiB0aGUgbGlicmFyeSBhbHJlYWR5IHByZXNlbnQgb24gdGhlIHVzZXIncyBjb21wdXRlciBzeXN0ZW0sCisgICAgcmF0aGVyIHRoYW4gY29weWluZyBsaWJyYXJ5IGZ1bmN0aW9ucyBpbnRvIHRoZSBleGVjdXRhYmxlLCBhbmQgKDIpCisgICAgd2lsbCBvcGVyYXRlIHByb3Blcmx5IHdpdGggYSBtb2RpZmllZCB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJ5LCBpZgorICAgIHRoZSB1c2VyIGluc3RhbGxzIG9uZSwgYXMgbG9uZyBhcyB0aGUgbW9kaWZpZWQgdmVyc2lvbiBpcworICAgIGludGVyZmFjZS1jb21wYXRpYmxlIHdpdGggdGhlIHZlcnNpb24gdGhhdCB0aGUgd29yayB3YXMgbWFkZSB3aXRoLgorCisgICAgYykgQWNjb21wYW55IHRoZSB3b3JrIHdpdGggYSB3cml0dGVuIG9mZmVyLCB2YWxpZCBmb3IgYXQKKyAgICBsZWFzdCB0aHJlZSB5ZWFycywgdG8gZ2l2ZSB0aGUgc2FtZSB1c2VyIHRoZSBtYXRlcmlhbHMKKyAgICBzcGVjaWZpZWQgaW4gU3Vic2VjdGlvbiA2YSwgYWJvdmUsIGZvciBhIGNoYXJnZSBubyBtb3JlCisgICAgdGhhbiB0aGUgY29zdCBvZiBwZXJmb3JtaW5nIHRoaXMgZGlzdHJpYnV0aW9uLgorCisgICAgZCkgSWYgZGlzdHJpYnV0aW9uIG9mIHRoZSB3b3JrIGlzIG1hZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIHRvIGNvcHkKKyAgICBmcm9tIGEgZGVzaWduYXRlZCBwbGFjZSwgb2ZmZXIgZXF1aXZhbGVudCBhY2Nlc3MgdG8gY29weSB0aGUgYWJvdmUKKyAgICBzcGVjaWZpZWQgbWF0ZXJpYWxzIGZyb20gdGhlIHNhbWUgcGxhY2UuCisKKyAgICBlKSBWZXJpZnkgdGhhdCB0aGUgdXNlciBoYXMgYWxyZWFkeSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlc2UKKyAgICBtYXRlcmlhbHMgb3IgdGhhdCB5b3UgaGF2ZSBhbHJlYWR5IHNlbnQgdGhpcyB1c2VyIGEgY29weS4KKworICBGb3IgYW4gZXhlY3V0YWJsZSwgdGhlIHJlcXVpcmVkIGZvcm0gb2YgdGhlICJ3b3JrIHRoYXQgdXNlcyB0aGUKK0xpYnJhcnkiIG11c3QgaW5jbHVkZSBhbnkgZGF0YSBhbmQgdXRpbGl0eSBwcm9ncmFtcyBuZWVkZWQgZm9yCityZXByb2R1Y2luZyB0aGUgZXhlY3V0YWJsZSBmcm9tIGl0LiAgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiwKK3RoZSBtYXRlcmlhbHMgdG8gYmUgZGlzdHJpYnV0ZWQgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IGlzCitub3JtYWxseSBkaXN0cmlidXRlZCAoaW4gZWl0aGVyIHNvdXJjZSBvciBiaW5hcnkgZm9ybSkgd2l0aCB0aGUgbWFqb3IKK2NvbXBvbmVudHMgKGNvbXBpbGVyLCBrZXJuZWwsIGFuZCBzbyBvbikgb2YgdGhlIG9wZXJhdGluZyBzeXN0ZW0gb24KK3doaWNoIHRoZSBleGVjdXRhYmxlIHJ1bnMsIHVubGVzcyB0aGF0IGNvbXBvbmVudCBpdHNlbGYgYWNjb21wYW5pZXMKK3RoZSBleGVjdXRhYmxlLgorCisgIEl0IG1heSBoYXBwZW4gdGhhdCB0aGlzIHJlcXVpcmVtZW50IGNvbnRyYWRpY3RzIHRoZSBsaWNlbnNlCityZXN0cmljdGlvbnMgb2Ygb3RoZXIgcHJvcHJpZXRhcnkgbGlicmFyaWVzIHRoYXQgZG8gbm90IG5vcm1hbGx5CithY2NvbXBhbnkgdGhlIG9wZXJhdGluZyBzeXN0ZW0uICBTdWNoIGEgY29udHJhZGljdGlvbiBtZWFucyB5b3UgY2Fubm90Cit1c2UgYm90aCB0aGVtIGFuZCB0aGUgTGlicmFyeSB0b2dldGhlciBpbiBhbiBleGVjdXRhYmxlIHRoYXQgeW91CitkaXN0cmlidXRlLgorDAorICA3LiBZb3UgbWF5IHBsYWNlIGxpYnJhcnkgZmFjaWxpdGllcyB0aGF0IGFyZSBhIHdvcmsgYmFzZWQgb24gdGhlCitMaWJyYXJ5IHNpZGUtYnktc2lkZSBpbiBhIHNpbmdsZSBsaWJyYXJ5IHRvZ2V0aGVyIHdpdGggb3RoZXIgbGlicmFyeQorZmFjaWxpdGllcyBub3QgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIGFuZCBkaXN0cmlidXRlIHN1Y2ggYSBjb21iaW5lZAorbGlicmFyeSwgcHJvdmlkZWQgdGhhdCB0aGUgc2VwYXJhdGUgZGlzdHJpYnV0aW9uIG9mIHRoZSB3b3JrIGJhc2VkIG9uCit0aGUgTGlicmFyeSBhbmQgb2YgdGhlIG90aGVyIGxpYnJhcnkgZmFjaWxpdGllcyBpcyBvdGhlcndpc2UKK3Blcm1pdHRlZCwgYW5kIHByb3ZpZGVkIHRoYXQgeW91IGRvIHRoZXNlIHR3byB0aGluZ3M6CisKKyAgICBhKSBBY2NvbXBhbnkgdGhlIGNvbWJpbmVkIGxpYnJhcnkgd2l0aCBhIGNvcHkgb2YgdGhlIHNhbWUgd29yaworICAgIGJhc2VkIG9uIHRoZSBMaWJyYXJ5LCB1bmNvbWJpbmVkIHdpdGggYW55IG90aGVyIGxpYnJhcnkKKyAgICBmYWNpbGl0aWVzLiAgVGhpcyBtdXN0IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAgICBTZWN0aW9ucyBhYm92ZS4KKworICAgIGIpIEdpdmUgcHJvbWluZW50IG5vdGljZSB3aXRoIHRoZSBjb21iaW5lZCBsaWJyYXJ5IG9mIHRoZSBmYWN0CisgICAgdGhhdCBwYXJ0IG9mIGl0IGlzIGEgd29yayBiYXNlZCBvbiB0aGUgTGlicmFyeSwgYW5kIGV4cGxhaW5pbmcKKyAgICB3aGVyZSB0byBmaW5kIHRoZSBhY2NvbXBhbnlpbmcgdW5jb21iaW5lZCBmb3JtIG9mIHRoZSBzYW1lIHdvcmsuCisKKyAgOC4gWW91IG1heSBub3QgY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBsaW5rIHdpdGgsIG9yIGRpc3RyaWJ1dGUKK3RoZSBMaWJyYXJ5IGV4Y2VwdCBhcyBleHByZXNzbHkgcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55CithdHRlbXB0IG90aGVyd2lzZSB0byBjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2UsIGxpbmsgd2l0aCwgb3IKK2Rpc3RyaWJ1dGUgdGhlIExpYnJhcnkgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91cgorcmlnaHRzIHVuZGVyIHRoaXMgTGljZW5zZS4gIEhvd2V2ZXIsIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzLAorb3IgcmlnaHRzLCBmcm9tIHlvdSB1bmRlciB0aGlzIExpY2Vuc2Ugd2lsbCBub3QgaGF2ZSB0aGVpciBsaWNlbnNlcwordGVybWluYXRlZCBzbyBsb25nIGFzIHN1Y2ggcGFydGllcyByZW1haW4gaW4gZnVsbCBjb21wbGlhbmNlLgorCisgIDkuIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UsIHNpbmNlIHlvdSBoYXZlIG5vdAorc2lnbmVkIGl0LiAgSG93ZXZlciwgbm90aGluZyBlbHNlIGdyYW50cyB5b3UgcGVybWlzc2lvbiB0byBtb2RpZnkgb3IKK2Rpc3RyaWJ1dGUgdGhlIExpYnJhcnkgb3IgaXRzIGRlcml2YXRpdmUgd29ya3MuICBUaGVzZSBhY3Rpb25zIGFyZQorcHJvaGliaXRlZCBieSBsYXcgaWYgeW91IGRvIG5vdCBhY2NlcHQgdGhpcyBMaWNlbnNlLiAgVGhlcmVmb3JlLCBieQorbW9kaWZ5aW5nIG9yIGRpc3RyaWJ1dGluZyB0aGUgTGlicmFyeSAob3IgYW55IHdvcmsgYmFzZWQgb24gdGhlCitMaWJyYXJ5KSwgeW91IGluZGljYXRlIHlvdXIgYWNjZXB0YW5jZSBvZiB0aGlzIExpY2Vuc2UgdG8gZG8gc28sIGFuZAorYWxsIGl0cyB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgY29weWluZywgZGlzdHJpYnV0aW5nIG9yIG1vZGlmeWluZwordGhlIExpYnJhcnkgb3Igd29ya3MgYmFzZWQgb24gaXQuCisKKyAgMTAuIEVhY2ggdGltZSB5b3UgcmVkaXN0cmlidXRlIHRoZSBMaWJyYXJ5IChvciBhbnkgd29yayBiYXNlZCBvbiB0aGUKK0xpYnJhcnkpLCB0aGUgcmVjaXBpZW50IGF1dG9tYXRpY2FsbHkgcmVjZWl2ZXMgYSBsaWNlbnNlIGZyb20gdGhlCitvcmlnaW5hbCBsaWNlbnNvciB0byBjb3B5LCBkaXN0cmlidXRlLCBsaW5rIHdpdGggb3IgbW9kaWZ5IHRoZSBMaWJyYXJ5CitzdWJqZWN0IHRvIHRoZXNlIHRlcm1zIGFuZCBjb25kaXRpb25zLiAgWW91IG1heSBub3QgaW1wb3NlIGFueSBmdXJ0aGVyCityZXN0cmljdGlvbnMgb24gdGhlIHJlY2lwaWVudHMnIGV4ZXJjaXNlIG9mIHRoZSByaWdodHMgZ3JhbnRlZCBoZXJlaW4uCitZb3UgYXJlIG5vdCByZXNwb25zaWJsZSBmb3IgZW5mb3JjaW5nIGNvbXBsaWFuY2UgYnkgdGhpcmQgcGFydGllcyB3aXRoCit0aGlzIExpY2Vuc2UuCisMCisgIDExLiBJZiwgYXMgYSBjb25zZXF1ZW5jZSBvZiBhIGNvdXJ0IGp1ZGdtZW50IG9yIGFsbGVnYXRpb24gb2YgcGF0ZW50CitpbmZyaW5nZW1lbnQgb3IgZm9yIGFueSBvdGhlciByZWFzb24gKG5vdCBsaW1pdGVkIHRvIHBhdGVudCBpc3N1ZXMpLAorY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgorb3RoZXJ3aXNlKSB0aGF0IGNvbnRyYWRpY3QgdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLCB0aGV5IGRvIG5vdAorZXhjdXNlIHlvdSBmcm9tIHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZS4gIElmIHlvdSBjYW5ub3QKK2Rpc3RyaWJ1dGUgc28gYXMgdG8gc2F0aXNmeSBzaW11bHRhbmVvdXNseSB5b3VyIG9ibGlnYXRpb25zIHVuZGVyIHRoaXMKK0xpY2Vuc2UgYW5kIGFueSBvdGhlciBwZXJ0aW5lbnQgb2JsaWdhdGlvbnMsIHRoZW4gYXMgYSBjb25zZXF1ZW5jZSB5b3UKK21heSBub3QgZGlzdHJpYnV0ZSB0aGUgTGlicmFyeSBhdCBhbGwuICBGb3IgZXhhbXBsZSwgaWYgYSBwYXRlbnQKK2xpY2Vuc2Ugd291bGQgbm90IHBlcm1pdCByb3lhbHR5LWZyZWUgcmVkaXN0cmlidXRpb24gb2YgdGhlIExpYnJhcnkgYnkKK2FsbCB0aG9zZSB3aG8gcmVjZWl2ZSBjb3BpZXMgZGlyZWN0bHkgb3IgaW5kaXJlY3RseSB0aHJvdWdoIHlvdSwgdGhlbgordGhlIG9ubHkgd2F5IHlvdSBjb3VsZCBzYXRpc2Z5IGJvdGggaXQgYW5kIHRoaXMgTGljZW5zZSB3b3VsZCBiZSB0bworcmVmcmFpbiBlbnRpcmVseSBmcm9tIGRpc3RyaWJ1dGlvbiBvZiB0aGUgTGlicmFyeS4KKworSWYgYW55IHBvcnRpb24gb2YgdGhpcyBzZWN0aW9uIGlzIGhlbGQgaW52YWxpZCBvciB1bmVuZm9yY2VhYmxlIHVuZGVyIGFueQorcGFydGljdWxhciBjaXJjdW1zdGFuY2UsIHRoZSBiYWxhbmNlIG9mIHRoZSBzZWN0aW9uIGlzIGludGVuZGVkIHRvIGFwcGx5LAorYW5kIHRoZSBzZWN0aW9uIGFzIGEgd2hvbGUgaXMgaW50ZW5kZWQgdG8gYXBwbHkgaW4gb3RoZXIgY2lyY3Vtc3RhbmNlcy4KKworSXQgaXMgbm90IHRoZSBwdXJwb3NlIG9mIHRoaXMgc2VjdGlvbiB0byBpbmR1Y2UgeW91IHRvIGluZnJpbmdlIGFueQorcGF0ZW50cyBvciBvdGhlciBwcm9wZXJ0eSByaWdodCBjbGFpbXMgb3IgdG8gY29udGVzdCB2YWxpZGl0eSBvZiBhbnkKK3N1Y2ggY2xhaW1zOyB0aGlzIHNlY3Rpb24gaGFzIHRoZSBzb2xlIHB1cnBvc2Ugb2YgcHJvdGVjdGluZyB0aGUKK2ludGVncml0eSBvZiB0aGUgZnJlZSBzb2Z0d2FyZSBkaXN0cmlidXRpb24gc3lzdGVtIHdoaWNoIGlzCitpbXBsZW1lbnRlZCBieSBwdWJsaWMgbGljZW5zZSBwcmFjdGljZXMuICBNYW55IHBlb3BsZSBoYXZlIG1hZGUKK2dlbmVyb3VzIGNvbnRyaWJ1dGlvbnMgdG8gdGhlIHdpZGUgcmFuZ2Ugb2Ygc29mdHdhcmUgZGlzdHJpYnV0ZWQKK3Rocm91Z2ggdGhhdCBzeXN0ZW0gaW4gcmVsaWFuY2Ugb24gY29uc2lzdGVudCBhcHBsaWNhdGlvbiBvZiB0aGF0CitzeXN0ZW07IGl0IGlzIHVwIHRvIHRoZSBhdXRob3IvZG9ub3IgdG8gZGVjaWRlIGlmIGhlIG9yIHNoZSBpcyB3aWxsaW5nCit0byBkaXN0cmlidXRlIHNvZnR3YXJlIHRocm91Z2ggYW55IG90aGVyIHN5c3RlbSBhbmQgYSBsaWNlbnNlZSBjYW5ub3QKK2ltcG9zZSB0aGF0IGNob2ljZS4KKworVGhpcyBzZWN0aW9uIGlzIGludGVuZGVkIHRvIG1ha2UgdGhvcm91Z2hseSBjbGVhciB3aGF0IGlzIGJlbGlldmVkIHRvCitiZSBhIGNvbnNlcXVlbmNlIG9mIHRoZSByZXN0IG9mIHRoaXMgTGljZW5zZS4KKworICAxMi4gSWYgdGhlIGRpc3RyaWJ1dGlvbiBhbmQvb3IgdXNlIG9mIHRoZSBMaWJyYXJ5IGlzIHJlc3RyaWN0ZWQgaW4KK2NlcnRhaW4gY291bnRyaWVzIGVpdGhlciBieSBwYXRlbnRzIG9yIGJ5IGNvcHlyaWdodGVkIGludGVyZmFjZXMsIHRoZQorb3JpZ2luYWwgY29weXJpZ2h0IGhvbGRlciB3aG8gcGxhY2VzIHRoZSBMaWJyYXJ5IHVuZGVyIHRoaXMgTGljZW5zZSBtYXkgYWRkCithbiBleHBsaWNpdCBnZW9ncmFwaGljYWwgZGlzdHJpYnV0aW9uIGxpbWl0YXRpb24gZXhjbHVkaW5nIHRob3NlIGNvdW50cmllcywKK3NvIHRoYXQgZGlzdHJpYnV0aW9uIGlzIHBlcm1pdHRlZCBvbmx5IGluIG9yIGFtb25nIGNvdW50cmllcyBub3QgdGh1cworZXhjbHVkZWQuICBJbiBzdWNoIGNhc2UsIHRoaXMgTGljZW5zZSBpbmNvcnBvcmF0ZXMgdGhlIGxpbWl0YXRpb24gYXMgaWYKK3dyaXR0ZW4gaW4gdGhlIGJvZHkgb2YgdGhpcyBMaWNlbnNlLgorCisgIDEzLiBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldwordmVyc2lvbnMgb2YgdGhlIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLgorU3VjaCBuZXcgdmVyc2lvbnMgd2lsbCBiZSBzaW1pbGFyIGluIHNwaXJpdCB0byB0aGUgcHJlc2VudCB2ZXJzaW9uLAorYnV0IG1heSBkaWZmZXIgaW4gZGV0YWlsIHRvIGFkZHJlc3MgbmV3IHByb2JsZW1zIG9yIGNvbmNlcm5zLgorCitFYWNoIHZlcnNpb24gaXMgZ2l2ZW4gYSBkaXN0aW5ndWlzaGluZyB2ZXJzaW9uIG51bWJlci4gIElmIHRoZSBMaWJyYXJ5CitzcGVjaWZpZXMgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGlzIExpY2Vuc2Ugd2hpY2ggYXBwbGllcyB0byBpdCBhbmQKKyJhbnkgbGF0ZXIgdmVyc2lvbiIsIHlvdSBoYXZlIHRoZSBvcHRpb24gb2YgZm9sbG93aW5nIHRoZSB0ZXJtcyBhbmQKK2NvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkKK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uICBJZiB0aGUgTGlicmFyeSBkb2VzIG5vdCBzcGVjaWZ5IGEKK2xpY2Vuc2UgdmVyc2lvbiBudW1iZXIsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkIGJ5Cit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorDAorICAxNC4gSWYgeW91IHdpc2ggdG8gaW5jb3Jwb3JhdGUgcGFydHMgb2YgdGhlIExpYnJhcnkgaW50byBvdGhlciBmcmVlCitwcm9ncmFtcyB3aG9zZSBkaXN0cmlidXRpb24gY29uZGl0aW9ucyBhcmUgaW5jb21wYXRpYmxlIHdpdGggdGhlc2UsCit3cml0ZSB0byB0aGUgYXV0aG9yIHRvIGFzayBmb3IgcGVybWlzc2lvbi4gIEZvciBzb2Z0d2FyZSB3aGljaCBpcworY29weXJpZ2h0ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgd3JpdGUgdG8gdGhlIEZyZWUKK1NvZnR3YXJlIEZvdW5kYXRpb247IHdlIHNvbWV0aW1lcyBtYWtlIGV4Y2VwdGlvbnMgZm9yIHRoaXMuICBPdXIKK2RlY2lzaW9uIHdpbGwgYmUgZ3VpZGVkIGJ5IHRoZSB0d28gZ29hbHMgb2YgcHJlc2VydmluZyB0aGUgZnJlZSBzdGF0dXMKK29mIGFsbCBkZXJpdmF0aXZlcyBvZiBvdXIgZnJlZSBzb2Z0d2FyZSBhbmQgb2YgcHJvbW90aW5nIHRoZSBzaGFyaW5nCithbmQgcmV1c2Ugb2Ygc29mdHdhcmUgZ2VuZXJhbGx5LgorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgTk8gV0FSUkFOVFkKKworICAxNS4gQkVDQVVTRSBUSEUgTElCUkFSWSBJUyBMSUNFTlNFRCBGUkVFIE9GIENIQVJHRSwgVEhFUkUgSVMgTk8KK1dBUlJBTlRZIEZPUiBUSEUgTElCUkFSWSwgVE8gVEhFIEVYVEVOVCBQRVJNSVRURUQgQlkgQVBQTElDQUJMRSBMQVcuCitFWENFUFQgV0hFTiBPVEhFUldJU0UgU1RBVEVEIElOIFdSSVRJTkcgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORC9PUgorT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBMSUJSQVJZICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkKK0tJTkQsIEVJVEhFUiBFWFBSRVNTRUQgT1IgSU1QTElFRCwgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCitQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUKK0xJQlJBUlkgSVMgV0lUSCBZT1UuICBTSE9VTEQgVEhFIExJQlJBUlkgUFJPVkUgREVGRUNUSVZFLCBZT1UgQVNTVU1FCitUSEUgQ09TVCBPRiBBTEwgTkVDRVNTQVJZIFNFUlZJQ0lORywgUkVQQUlSIE9SIENPUlJFQ1RJT04uCisKKyAgMTYuIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4KK1dSSVRJTkcgV0lMTCBBTlkgQ09QWVJJR0hUIEhPTERFUiwgT1IgQU5ZIE9USEVSIFBBUlRZIFdITyBNQVkgTU9ESUZZCitBTkQvT1IgUkVESVNUUklCVVRFIFRIRSBMSUJSQVJZIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVQorRk9SIERBTUFHRVMsIElOQ0xVRElORyBBTlkgR0VORVJBTCwgU1BFQ0lBTCwgSU5DSURFTlRBTCBPUgorQ09OU0VRVUVOVElBTCBEQU1BR0VTIEFSSVNJTkcgT1VUIE9GIFRIRSBVU0UgT1IgSU5BQklMSVRZIFRPIFVTRSBUSEUKK0xJQlJBUlkgKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRiBEQVRBIE9SIERBVEEgQkVJTkcKK1JFTkRFUkVEIElOQUNDVVJBVEUgT1IgTE9TU0VTIFNVU1RBSU5FRCBCWSBZT1UgT1IgVEhJUkQgUEFSVElFUyBPUiBBCitGQUlMVVJFIE9GIFRIRSBMSUJSQVJZIFRPIE9QRVJBVEUgV0lUSCBBTlkgT1RIRVIgU09GVFdBUkUpLCBFVkVOIElGCitTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICitEQU1BR0VTLgorCisgICAgICAgICAgICAgICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKKwwKKyAgICAgICAgICAgSG93IHRvIEFwcGx5IFRoZXNlIFRlcm1zIHRvIFlvdXIgTmV3IExpYnJhcmllcworCisgIElmIHlvdSBkZXZlbG9wIGEgbmV3IGxpYnJhcnksIGFuZCB5b3Ugd2FudCBpdCB0byBiZSBvZiB0aGUgZ3JlYXRlc3QKK3Bvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB3ZSByZWNvbW1lbmQgbWFraW5nIGl0IGZyZWUgc29mdHdhcmUgdGhhdAorZXZlcnlvbmUgY2FuIHJlZGlzdHJpYnV0ZSBhbmQgY2hhbmdlLiAgWW91IGNhbiBkbyBzbyBieSBwZXJtaXR0aW5nCityZWRpc3RyaWJ1dGlvbiB1bmRlciB0aGVzZSB0ZXJtcyAob3IsIGFsdGVybmF0aXZlbHksIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKK29yZGluYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UpLgorCisgIFRvIGFwcGx5IHRoZXNlIHRlcm1zLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBsaWJyYXJ5LiAgSXQgaXMKK3NhZmVzdCB0byBhdHRhY2ggdGhlbSB0byB0aGUgc3RhcnQgb2YgZWFjaCBzb3VyY2UgZmlsZSB0byBtb3N0IGVmZmVjdGl2ZWx5Citjb252ZXkgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdCB0aGUKKyJjb3B5cmlnaHQiIGxpbmUgYW5kIGEgcG9pbnRlciB0byB3aGVyZSB0aGUgZnVsbCBub3RpY2UgaXMgZm91bmQuCisKKyAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgbGlicmFyeSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgorICAgIENvcHlyaWdodCAoQykgPHllYXI+ICA8bmFtZSBvZiBhdXRob3I+CisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICAgIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgICAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICAgIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorCitBbHNvIGFkZCBpbmZvcm1hdGlvbiBvbiBob3cgdG8gY29udGFjdCB5b3UgYnkgZWxlY3Ryb25pYyBhbmQgcGFwZXIgbWFpbC4KKworWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHlvdXIKK3NjaG9vbCwgaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIGxpYnJhcnksIGlmCituZWNlc3NhcnkuICBIZXJlIGlzIGEgc2FtcGxlOyBhbHRlciB0aGUgbmFtZXM6CisKKyAgWW95b2R5bmUsIEluYy4sIGhlcmVieSBkaXNjbGFpbXMgYWxsIGNvcHlyaWdodCBpbnRlcmVzdCBpbiB0aGUKKyAgbGlicmFyeSBgRnJvYicgKGEgbGlicmFyeSBmb3IgdHdlYWtpbmcga25vYnMpIHdyaXR0ZW4gYnkgSmFtZXMgUmFuZG9tIEhhY2tlci4KKworICA8c2lnbmF0dXJlIG9mIFR5IENvb24+LCAxIEFwcmlsIDE5OTAKKyAgVHkgQ29vbiwgUHJlc2lkZW50IG9mIFZpY2UKKworVGhhdCdzIGFsbCB0aGVyZSBpcyB0byBpdCEKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vbGljZW5zZXMvQ09QWUlORy5VQ0IgYi9Eb2N1bWVudGF0aW9uL2xpY2Vuc2VzL0NPUFlJTkcuVUNCCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhYmJmMjQKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2xpY2Vuc2VzL0NPUFlJTkcuVUNCCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDE5ODkgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKKyAqICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKyAqCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKyAqCUNhbGlmb3JuaWEsIEJlcmtlbGV5IGFuZCBpdHMgY29udHJpYnV0b3JzLgorICogNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9tb2RlbXMtd2l0aC1hZ2V0dHkudHh0IGIvRG9jdW1lbnRhdGlvbi9tb2RlbXMtd2l0aC1hZ2V0dHkudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0YTYxMWUKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL21vZGVtcy13aXRoLWFnZXR0eS50eHQKQEAgLTAsMCArMSw3NiBAQAorMjUvMTAvOTUgUGV0ZXIgT3JiYWVrIDxwb2VAZGFpbWkuYWF1LmRrPgorCitTb21lIG5vdGVzIGZvciB1c2luZyBhZ2V0dHkgd2l0aCBtb2RlbXMKKworVXNpbmcgYSBjb21tcyBwcm9ncmFtIHRvIGluaXRpYWxpemUgdGhlIG1vZGVtCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworKiBVc2Uga2VybWl0IG9yIG1pbmljb20gdG8gaW5pdGlhbGl6ZSB0aGUgbW9kZW0gdG8KKworCS0gYmUgZW50aXJlbHkgcXVpZXQuCisJLSBkb24ndCBkbyBsb2NhbCBlY2hvIGluIGNvbW1hbmQgbW9kZS4KKwktIHR1cm4gb24gRENEIChjYXJyaWVyIGRldGVjdCkgb25seSB3aGVuIHRoZXJlIGlzIGEgY29ubmVjdGlvbiBnb2luZy4KKwktIGVuYWJsZSBhdXRvLWFuc3dlci4KKwktIGtlZXAgYSBjb25zdGFudCBjb21wdXRlci9tb2RlbSBiaXRyYXRlIGF0IGFsbCB0aW1lcy4KKwktIG9wdGlvbmFsbHkgc2F2ZSB0aGlzIHNldHVwIGFzIHRoZSBtb2RlbSBzdGFydHVwIGNvbmZpZ3VyYXRpb24uCisKKyogUnVuIGFnZXR0eSBvbiB0aGUgYXBwcm9wcmlhdGUgdHR5U24gcG9ydCB3aXRoIHRoZSBhcmd1bWVudHM6CisJKiAtdyB0byB3YWl0IGZvciBhIENSIG9yIExGIGJlZm9yZSB3cml0aW5nIHRoZSAvZXRjL2lzc3VlIG1lc3NhZ2UKKwkqIGNvbXB1dGVyL21vZGVtIGJpdHJhdGUKKwkqIHRoZSB0dHkgbmFtZS4KKworRXhhbXBsZSBmcm9tIG15IG1vZGVtIHNldHVwLCBhbiBvbGQgMjQwMCBicHMgU3VwcmFNb2RlbSB1c2luZyBIYXllcyBzdGFuZGFyZAorQVQgY29tbWFuZHMuCisKK0luaXRpYWxpemUgbW9kZW0gdXNpbmcga2VybWl0IHdpdGggdGhlIGNvbW1hbmRzCisKKwlBVCBFMCBRMSAmRDIgJkMxIFMwPTEgJlcwCisKK3RvCisJLSB0dXJuIG9mZiBsb2NhbCBlY2hvIGZyb20gbW9kZW0gd2hlbiBpbiBjb21tYW5kIG1vZGUgKEUwKS4KKwktIGRpc2FibGUgYWxsIHJlc3VsdCBjb2RlcyBmcm9tIG1vZGVtIChRMSkuCisJLSBtYWtlIGFuIG9uL29mZiB0cmFuc2l0aW9uIG9uIHRoZSBEVFIgbGluZSBtYWtlIHRoZSBtb2RlbQorCSAgZGlzY29ubmVjdCBhbmQgZ28gaW50byBjb21tYW5kIG1vZGUgKCZEMikuCisJLSBtYWtlIHRoZSBjb21wdXRlci9tb2RlbSBEQ0QgbGluZSB0cmFjayB0aGUgbW9kZW0vbW9kZW0KKwkgIGNhcnJpZXIgZGV0ZWN0IHNpZ25hbCwgaS5lLiBubyBjb25uZWN0aW9uIG1lYW5zIG5vCisJICBjYXJyaWVyIGRldGVjdCBzaWduYWwgdG8gdGhlIGNvbXB1dGVyICgmQzEpLgorCS0gZW5hYmxlIGF1dG8tYW5zd2VyIGFmdGVyIHRoZSBmaXJzdCByaW5nIChTMD0xKS4KKwktIHN0b3JlIHRoZSBjb25maWd1cmF0aW9uIGFzIHRoZSBzdGFydCBjb25maWd1cmF0aW9uICgmVzApLgorCitUaGUgY29tbWFuZHMgb24geW91ciBtb2RlbSB0byBhY2hpZXZlIHRoZSBzYW1lIHNldHVwIG1heSB2YXJ5LCBlc3BlY2lhbGx5Cit0aGUgJkQyIGFuZCAmQzEgY29tbWFuZHMgbWF5IG5vdCBiZSBlbnRpcmVseSBzdGFuZGFyZC4KKworRXhpdCBrZXJtaXQvbWluaWNvbS4KKworUHV0IHRoZSBjb21tYW5kIAorCisJL3NiaW4vYWdldHR5IC13IDI0MDAgdHR5UzEKKworaW4gdGhlIGNvbW1hbmQgZmllbGQgb2YgdGhlIGFwcHJvcHJpYXRlIGxpbmUgaW4gL2V0Yy9pbml0dGFiIHRvIHN0YXJ0CithZ2V0dHkgb24gL2Rldi90dHlTMSB3aXRoIGEgMjQwMCBicHMgc3BlZWQgYmV0d2VlbiBtb2RlbSBhbmQgY29tcHV0ZXIuCisKK0luaXRpYWxpemluZyB0aGUgbW9kZW0gd2l0aCBhZ2V0dHkKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVXNlIHRoZSBhZ2V0dHkgLUkgY29tbWFuZCBsaW5lIG9wdGlvbiB0byBzcGVjaWZ5IGEgbW9kZW0gaW5pdCBzdHJpbmcsIGxpa2UKK2ZvciB0aGUgc2FtZSBzZXR1cCBhcyBhYm92ZSwgdXNlIHRoZSBmb2xsb3dpbmcgYWdldHR5IGNvbW1hbmQgaW4geW91cgorL2V0Yy9pbml0dGFiLgorCisJL3NiaW4vYWdldHR5IC13IC1JICdBVEUwUTEmRDImQzFTMD0xXDAxNScgMjQwMCB0dHlTMQorCitUaGUgZmluYWwgXDAxNSBpcyBhbiBvY3RhbCBjb2Rpbmcgb2YgdGhlIGNhcnJpYWdlIHJldHVybiBjaGFyYWN0ZXIKK2VuZGluZyB0aGUgY29tbWFuZCBzdHJpbmcuCisKK0lmIHlvdSdyZSB1c2luZyBzaW1wbGVpbml0IChwYXJ0IG9mIHRoaXMgcGFja2FnZSkgaW5zdGVhZCBvZiB0aGUgU1lTViAKK2NvbXBhdGlibGUgaW5pdCAoeW91J3JlIG1vc3QgbGlrZWx5IHVzaW5nIHRoZSBTWVNWIG9uZSEpIHRoZW4geW91IG11c3QKK3JlbW92ZSB0aGUgc2luZ2xlIHF1b3RlcyBmcm9tIHRoZSBjb21tYW5kIGxpbmUgYWJvdmUuCisKK05vdGUgdGhhdCB0aGUgJlcwIGNvbW1hbmQgd2FzIG5vdCB1c2VkIGhlcmUgc2luY2UgdGhlIG1vZGVtIHdpbGwgYmUgCitpbml0aWFsaXplZCBlYWNoIHRpbWUgYWdldHR5IHN0YXJ0cy4KKworV2l0aCBhIFYuMzQgKDI4Ljgga2JwcykgbW9kZW0gdHJ5IHN0YXJ0aW5nIHdpdGggYSBjb21tYW5kIGxpa2U6CisKKwkvc2Jpbi9hZ2V0dHkgLXcgLUkgJ0FURTBRMSZEMiZDMVMwPTFcMDE1JyAxMTUyMDAgdHR5UzEKKworTm90ZSB0aGF0IGFnZXR0eSBzdXBwb3J0cyB0aGUgaGlnaGVyICg+OTYwMCBicHMpIHNlcmlhbCBzcGVlZHMKK2RpcmVjdGx5LCB0aGVyZSdzIG5vIG5lZWQgdG8gdXNlIHNldHNlcmlhbCB0byB1c2UgdGhlIGhpZ2hlciBzcGVlZHMuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL21vdW50LnR4dCBiL0RvY3VtZW50YXRpb24vbW91bnQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3NWE2ZTIKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL21vdW50LnR4dApAQCAtMCwwICsxLDE3IEBACittb3VudC91bW91bnQgZm9yIExpbnV4IDAuOTcuMyBhbmQgbGF0ZXIuCitBdXRob3JzOgorRG91ZyBRdWFsZSA8cXVhbGVAc2FhdmlrLmNzLndpc2MuZWR1PiwKK0guSi4gTHUgPGhsdUBlZWNzLndzdS5lZHU+LAorUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4sCitTdGVwaGVuIFR3ZWVkaWUgPHNjdEBkY3MuZWQuYWMudWs+LgorQW5kcmllcyBCcm91d2VyIDxhZWJAY3dpLm5sPgorQWRyaWFuIEJ1bmsgPGJ1bmtAc3R1c3RhLmRlPgorCitQcmVzZW50bHkgaW4gdXRpbC1saW51eCBtYWludGFpbmVkIGJ5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPi4gCisKKz09IE5vdGVzIHRvIGRldmVsb3BlcnMgPT0KKworCVRoZSBmaW5hbCBzb2x1dGlvbiB3aWxsIGJlIGxpYm1vdW50L21vdW50LmMgYXMgdGhlCisJbW91bnQoOCkgY29tbWFuZCBpbXBsZW1lbnRhdGlvbi4gU28sIGxldCdzIGtlZXAgdGhlCisJY3VycmVudCBtb3VudC8qIGNvZGUgaW4gbWFpbnRlbmFuY2UgbW9kZSBhbmQgZG9uJ3QgdHJ5IHRvCisJcmV3cml0ZSBpdCA6LSkKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vcGcudHh0IGIvRG9jdW1lbnRhdGlvbi9wZy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E5NzRjYgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vcGcudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1JFQURNRSBmb3IgdGhlICJwZyIgdXRpbGl0eSBmb3IgTGludXguCisKK1RoZSAicGciIHV0aWxpdHkgaXMgdGhlIGhpc3RvcmljIFN5c3RlbSBWIGVxdWl2YWxlbnQgdG8gQlNEJ3MgIm1vcmUiLiBUaGlzCitpcyBhIGZyZWUgY2xvbmUgb2YgaXQsIGFuZCBpdCBpcyBpbnRlbmRlZCB0byBjb25mb3JtIHRvIHRoZSBTVklEIDQgYXMgd2VsbAorYXMgdGhlIFNVU3YyIHNwZWNpZmljYXRpb24gb2YgdGhpcyBjb21tYW5kLgorCitDb250cmFzdGluZyB0byB0aGUgU3lzdGVtIFYgaW1wbGVtZW50YXRpb24sIHRoaXMgb25lIGZpbHRlcnMgYmFja3NwYWNlCitmb3JtYXR0aW5nIHNlcXVlbmNlcyB3aGlsZSBzZWFyY2hpbmcsIHNvIHlvdSBjYW4gY29tZm9ydGFibHkgc2VhcmNoIGluIG5yb2ZmCitvdXRwdXQgbGlrZSBtYW51YWwgcGFnZXMuCisKK0d1bm5hciBSaXR0ZXIKK0ZyZWlidXJnIGkuIEJyLgorR2VybWFueQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9wb2VpZ2wudHh0IGIvRG9jdW1lbnRhdGlvbi9wb2VpZ2wudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmMTRkM2YKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL3BvZWlnbC50eHQKQEAgLTAsMCArMSw1MDMgQEAKK1JFQURNRSBmb3IgaW5pdC9nZXR0eS9sb2dpbiwgYnkgcG9lQGRhaW1pLmFhdS5kaworCitUaGlzIHBhY2thZ2UgY29udGFpbnMgc2ltcGxlaW5pdCwgYWdldHR5LCBhbmQgbG9naW4gcHJvZ3JhbXMgZm9yIExpbnV4LgorQWRkaXRpb25hbCB1dGlsaXRpZXMgaW5jbHVkZWQgYXJlOiBob3N0bmFtZSwgd2hvLCB3cml0ZSwgd2FsbCwgdXNlcnMKK2RvbWFpbm5hbWUsIGhvc3RpZCwgY2FnZSBhbmQgbWVzZy4KKworTW9zdCBvZiB0aGlzIHNvZnR3YXJlIGhhcyBiZWVuIGNvbnRyaWJ1dGVkIGJ5IG90aGVycywgSSBiYXNpY2FsbHkganVzdAorcG9ydGVkIHRoZSB0aGluZ3MgdG8gTGludXguCisKK1ZlcnNpb24gMS40OSAoMjAtSnVuLTk3KQorCVNtYWxsIHBhdGNoZXMgZm9yIG5ldyB1dGlsLWxpbnV4IGRpc3RyaWJ1dGlvbiBhbmQgZ2xpYmMgY29tcGF0LgorCVBBTSBzdXBwb3J0IGluIGxvZ2luLmMgYnkgRXJpayBUcm9hbi4KKworVmVyc2lvbiAxLjQ4ICg2LUp1bi05NykKKwlOb3cgY2hhbmdlcyBtb2RlIGFuZCBvd25lciBvZiAvZGV2L3ZjcyBkZXZpY2VzIGZvciBjb25zb2xlIGxvZ2lucy4KKwlBZnRlciBpZGVhIGJ5IEFuZHJpZXMgQnJvdXdlci4KKworVmVyc2lvbiAxLjQ3ICgyLUFwci05NykKKwlHb3QgbmV3IHZlcnNpb24gb2YgaG9zdGlkLmMgYW5kIGhvc3RpZC4xIGZyb20gCisJU2FuZGVyIHZhbiBNYWxzc2VuIDxzdm1Aa296bWl4Lm93Lm5sPi4KKwlSZW1vdmVkIHByZW1hdHVyZSBlbmR1dGVudCgpIGNhbGwgaW4gbG9naW4uYywgc2ltcGxlaW5pdC5jIGFuZCAKKwlhZ2V0dHkuYyB0byBiZSBjb21wYXRpYmxlIHdpdGggdGhlIGNoYW5nZWQgc2VtYW50aWNzIG9mIGdudSBsaWJjMi4gCisJRml4IGJ5IEplc3NlIFRoaWxvIDxKZXNzZS5UaGlsb0Bwb2JveC5jb20+LgorCitWZXJzaW9uIDEuNDYgKDI4LUphbi05NykKKwlTZXZlcmFsIHNlY3VyaXR5IGZpeGVzIGZvciBsb2dpbiBieSBEYXZpZCBIb2xsYW5kIChidWZmZXIgb3ZlcnJ1bnMpCisJPGRob2xsYW5kQGhjcy5oYXJ2YXJkLmVkdT4KKwlGaXhlZCB3cml0ZS5jLCB0byBoYW5kbGUgYSB0ZXJtaW5hdGluZyBwZXJpb2QgY29ycmVjdGx5LgorCVJlLWluZGVudGVkIGxvZ2luLmMsIGl0IHdhcyBnZXR0aW5nIHRvbyBtZXNzeS4KKworVmVyc2lvbiAxLjQ1YSAoMTYtRGVjLTk2KQorCUJldHRlciBzdXBwb3J0IGluIGxvZ2luIGZvciBzaGFkb3cgcGFzc3dvcmRzLiBDb21waWxlIHdpdGgKKwktRFNIQURPV19QV0QgaWYgeW91IGhhdmUgPHNoYWRvdy5oPi4gVGhpcyBpcyBvbiBieSBkZWZhdWx0LgorCUJ5IE1hcmVrIE1pY2hhbGtpZXdpY3ogPG1hcmVrbUBpMTdsaW51eGIuaXN0cy5wd3Iud3JvYy5wbD4uCisJQ2hhbmdlZCB0aGUgd3RtcCBsb2NraW5nIHNjaGVtZSBpbiBsb2dpbi5jLGFnZXR0eS5jLHNpbXBsZWluaXQuYworCXRvIGZsb2NrKCkgL2V0Yy93dG1wbG9jayBpbnN0ZWFkIG9mIHRoZSB3dG1wIGZpbGUgZGlyZWN0bHkuCisJVGhpcyBhdm9pZHMgYSBkZW5pYWwgb2Ygc2VydmljZSBhdHRhY2suCisJU29tZSBzdXBwb3J0IGZvciB0aGUgUkItMSBDcnlwdG9jYXJkIHRva2VuIGZvciBjaGFsbGVuZ2UvcmVzcG9uc2UKKwlhdXRoZW50aWNhdGlvbi4gVGhpcyBuZWVkcyBhIERFUyBsaWJyYXJ5LCBlaXRoZXIgRXJpYyBZb3VuZydzCisJbGliZGVzLCBvciB0aGUgS29vbnR6IGltcGxlbWVudGF0aW9uLCBzZWUgY3J5cHRvY2FyZC5jLgorCUluaXRpYWwgc3VwcG9ydCBwYXRjaCBieSBSYW5kb2xwaCBCZW50c29uLCAKKwk8YmVudHNvbkBncmllZy5zZWFzbHVnLm9yZz4KKwlDaGFuZ2VkIGdldHBhc3MoKSB0byB1c2UgZnB1dHMoKSBpbnN0ZWFkIG9mIGZwcmludGYoKS4KKworVmVyc2lvbiAxLjQ0ICgxMy1Ob3YtOTYpOgorCU1hZGUgaXNhcHR5KCkgaW4gY2hlY2t0dHkuYyBtb3JlIHJlc2lsaWVudCB0byAyLjAgc3lzdGVtcworCXRoYXQgaGF2ZW4ndCByZS1NQUtFREVWJ2VkIHRoZWlyIHB0eSBkZXZpY2VzLgorCitWZXJzaW9uIDEuNDMgKDgtTm92LTk2KToKKwlGaXggdG8gY2hlY2t0dHkuYzogUFRZJ3MgYXJlIG51bWJlcmVkIGRpZmZlcmVudGx5IGFmdGVyIDEuMywKKwlibHVzaCEgRml4IGJ5IEdlcmhhcmQgU2NobmVpZGVyIDxnc0BpbGZiLnR1d2llbi5hYy5hdD4KKworVmVyc2lvbiAxLjQyYyAoNi1Ob3YtOTYpOgorCVNtYWxsIGZpeCBieSBHYWJyaWVsIE0uIFNjaHV5bGVyIDxzY2h1eWxlckBlYXNpZXN0LmNvbT4sIHRvIGdldAorCWJldHRlciBzeXNsb2cgbWVzc2FnZXMgKDEgTE9HSU4gRkFJTFVSRSBpbnN0ZWFkIG9mIDIgTE9HSU4gRkFJTFVSRVMpLgorCVBhdGNoIGJ1dGNoZXJlZCBieSBtZS4KKworVmVyc2lvbiAxLjQyYiAoMzAtU2VwLTk2KToKKwlHb3QgcGF0Y2ggZm9yIGNoZWNrdHR5LmMgZnJvbSBDaHJpc3RvcGggTGFtZXRlcgorCTxjbGFtZXRlckBtaXJpYW0uZnVsbGVyLmVkdT4gc28gaXQgZG9lc24ndCB0cmF2ZXJzZSB0aGUgZ3JvdXBmaWxlCisJIm1hbnVhbGx5IiBidXQgdXNlcyB0aGUgZ2V0Z3JvdXBzKCkgY2FsbCwgdGhpcyBpcyBtb3JlIGVmZmljaWVudAorCXdpdGggbGFyZ2UgZ3JvdXBmaWxlcyBhbmQgTklTL1lQLgorCitWZXJzaW9uIDEuNDJhICgyNC1TZXAtOTYpOgorCUFkZGVkIGV4dHJhIHN5c2xvZygpIGNhbGwgdG8gbG9naW4uYyB0byBsb2cgYWxsIGdvb2QgbG9naW5zLgorCVBhdGNoIGZyb20gU3RldmUgUGhpbHAuCisKK1ZlcnNpb24gMS40MSAoMjAtSnVsLTk2KToKKwlBZGRlZCBzZWN1cml0eSBmaXggdG8gY2hlY2t0dHkuYyBieSBKRFMgdG8gY2xlYXIgY2VydGFpbiBsaXN0cy4KKwlQYXRjaGVzIGJ1dGNoZXJlZCBhbmQgQU5TSSdmaWVkIGJ5IG1lLgorCUFkZGVkIC1uIG9wdGlvbiB0byBhZ2V0dHkgdG8gYXZvaWQgdGhlIGxvZ2luIHByb21wdC4KKworVmVyc2lvbiAxLjQwYSAoMjktRGVjLTk1KToKKwlBZGRlZCAtZiA8aXNzdWVfZmlsZT4gb3B0aW9uIHRvIGFnZXR0eS4gUGF0Y2hlcyBmcm9tIEVyaWMgUmFzbXVzc2VuCisJPGVhckB1c2ZpcnN0Lm9yZz4sIGJ1dCBzb21ld2hhdCBidXRjaGVyZWQgYnkgbWUuCisKK1ZlcnNpb24gMS4zOSAoMjUtT2N0LTk1KToKKwlMb3RzIG9mIHRlc3RpbmcgYW5kIGJ1Z2ZpeGVzIGluIGFnZXR0eS4gTm93IHRoZSBtb2RlbSBpbml0IHN0dWZmIAorCXNob3VsZCBmaW5hbGx5IHdvcmsgKGZvciBtZSkuIEFsc28gd3JvdGUgbW9kZW0uYWdldHR5IGFzIGFuIGV4YW1wbGUKKwlvbiBob3cgdG8gdXNlIGFnZXR0eSB3aXRoIGEgbW9kZW0uCisJQWdldHR5IG5vdyBhbHNvIHN1cHBvcnRzIGJhdWQgcmF0ZXMgb2YgMzg0MDAsIDU3NjAwLCAxMTUyMDAgYW5kCisJMjMwNDAwIGJwcy4KKworVmVyc2lvbiAxLjM3ICgxNS1TZXAtOTUpOgorCUFkZGVkIC1JIDxpbml0c3RyaW5nPiBhbmQgLXcgb3B0aW9ucyB0byBhZ2V0dHkuYyBmb3IgdGhvc2UgdGhhdAorCXVzZSBhZ2V0dHkgd2l0aCBtb2RlbXMuCisKK1ZlcnNpb24gMS4zNiAoMjUtQXVnLTk1KTogCisJRW5oYW5jZWQgL2V0Yy91c2VydHR5IGZlYXR1cmVzIHdpdGggZ3JvdXAgc3VwcG9ydC4gTW92ZWQgdGhpcyBwYXJ0CisJb2YgbG9naW4uYyB0byBjaGVja3R0eS5jLiBPbmUgY2FuIG5vdyBkZWZpbmUgY2xhc3NlcyBvZiBob3N0cyBhbmQKKwl0dHlzIGFuZCBkbyBhY2Nlc3MgY2hlY2tpbmcgYmFzZWQgb24gdW5peC1ncm91cCBtZW1iZXJzaGlwLiBTZWUKKwlsb2dpbi4xLiBBbHNvIHRpbWUgcmFuZ2VzIGZvciBsb2dpbnMgY2FuIGJlIHNwZWNpZmllZCwgZm9yIGV4YW1wbGUKKwl3cml0aW5nIHRoZSBsaW5lCisKKwlqb2UJW21vbjp0dWU6d2VkOnRodTpmcmk6OC0xNl1AYmFycmFjdWRhIFttb246dHVlOndlZDp0aHU6ZnJpOjAtNzoxNy0yM11Aam9lcy5wYy5hdC5ob21lIFtzYXQ6c3VuOjAtMjNdQGpvZXMucGMuYXQuaG9tZQorCisJc2F5cyB0aGF0IGR1cmluZyB3b3JraW5nIGhvdXJzLCBKb2UgbWF5IHJsb2dpbiBmcm9tIHRoZSBob3N0CisJYmFycmFjdWRhLCB3aGVyZWFzIG91dHNpZGUgd29ya2luZyBob3VycyBhbmQgaW4gd2Vla2VuZHMgSm9lIG1heQorCXJsb2dpbiBmcm9tIGhpcyBuZXR3b3JrZWQgUEMgYXQgaG9tZS4KKworCWxvZ2luLmM6IGZhaWx1cmVzIHdhcyBub3QgcHJvcGVybHkgaW5pdGlhbGl6ZWQsIGl0IG5vdyBpcy4gQWxzbworCW1hZGUgc3VyZSBBTEwgZmFpbHVyZXMgYXJlIHJlYWxseSBsb2dnZWQgdG8gc3lzbG9nLgorCitWZXJzaW9uIDEuMzUgKDctQXVnLTk1KToKKwlsb2dpbi5jOiBNdWNoIGltcHJvdmVkIGZlYXR1cmVzIGZvciB0aGUgdXNlcnR0eSBmaWxlLCBhbGxvd3MKKwlhY2Nlc3MgY29udHJvbCBiYXNlZCBvbiBib3RoIGhvc3RuYW1lcy9hZGRyZXNzZXMgYW5kIGxpbmUuIFNlZSB0aGUgCisJYWJvdXQudXNlcnR0eSBmaWxlIGFuZCB0aGUgbWFuLXBhZ2UuCisKKwlGaXhlZCBhZ2V0dHkgc28gaXQgZG9lc24ndCBmaWRkbGUgd2l0aCB0aGUgdXRfaWQgZmllbGQgaW4gdGhlCisJdXRtcCByZWNvcmQsIHRoaXMgc2hvdWxkIHByZXZlbnQgZ3Jvd2luZyB1dG1wcyBvbiBzeXN0ZW1zIHdpdGgKKwltb3JlIHRoYW4gMTAgbG9naW4gbGluZXMuIEZpeCBzdWdnZXN0ZWQgYW5kIGNoZWNrZWQgYnkgQWxhbiBXZW5kdCAKKwk8YWxhbkBlemxpbmsuY29tPiBpbiBoaXMgYWdldHR5LjEuOS4xYS4KKworCUFnZXR0eSBub3cgaW5zdGFsbHMgYXMgYWdldHR5IGFnYWluLCBub3QgYXMgZ2V0dHkuCisJVXBkYXRlZCBtYW4tcGFnZSBmb3IgbG9naW4oMSkgdG8gZG9jdW1lbnQgL2V0Yy91c2VydHR5IGNoYW5nZXMuCisKKwlUaGlzIGhhcyBiZWVuIHRlc3RlZCBvbiBMaW51eCAxLjIuNSB3aXRoIEdDQyAyLjUuOCBhbmQgbGliYyA0LjUuMjYuCisKK1ZlcnNpb24gMS4zM2EgKDIwLUp1bi05NSk6CisJcmNoYXRmaWVAY2F2ZXJuLm5tc3UuZWR1ICgicmMuIikgc3VnZ2VzdGVkIHRoYXQgSSBzaG91bGQgcmVtb3ZlCisJdGhlICNpZm5kZWYgbGludXggYXJvdW5kIHRoZSBzcGVjaWFsIGxvZ2dpbmcgb2YgZGlhbC11cCAKKwlsb2dpbnMuIFRoaXMgaXMgbm93IGRvbmUsIHNvIGVhY2ggbG9naW4gdmlhIGEgc2VyaWFsIHBvcnQgCisJZ2VuZXJhdGVzIGEgc2VwYXJhdGUgRElBTFVQIHN5c2xvZyBlbnRyeS4KKworVmVyc2lvbiAxLjMzICg1LUp1bi05NSk6CisJUGF0Y2ggYnkgUm9uIFNvbW1lbGluZyA8c29tbWVsQHNjaS5rdW4ubmw+IGFuZAorCWpsYWlob0BpY2hhb3MubnVsbG5ldC5maSAoSnVoYSBMYWlobykgZm9yIGFnZXR0eS5jLCB1c2VkCisJdG8gcmV0dXJuIGEgcG9pbnRlciB0byBhbiBhdXRvbWF0aWMgdmFyaWFibGUgaW4gZ2V0X2xvZ25hbWUoKS4KKwlNYW55IHBhdGNoZXMgZnJvbSBvciB2aWEgUmlja2FyZCBGYWl0aCA8ZmFpdGhAY3MudW5jLmVkdT4sIGZpeGluZworCW1hbi1wYWdlcyBldGMsIG5vdyBkZWZhdWx0cyB0byB1c2luZyAvdmFyL2xvZy93dG1wIGFuZCAvdmFyL3J1bi91dG1wCisJYWNjb3JkaW5nIHRvIHRoZSBuZXcgRlNTVE5ELgorCisJRml4IGluIGxvZ2luLmMgZm9yIENQVSBlYXRpbmcgYnVnIHdoZW4gYSByZW1vdGUgdGVsbmV0IGNsaWVudCBkaWVzCisJd2hpbGUgbG9nZ2luZyBpbi4KKworCVRoaXMgaXMgZm9yIExpbnV4IDEuMiwgR0NDIDIuNi4yIG9yIGxhdGVyLgorCitWZXJzaW9uIDEuMzJiICgxMi1NYXItOTUpOgorCUxvZ2luIG5vdyBzZXRzIHRoZSB0dHkgZ3JvdXAgdG8gInR0eSIgaW5zdGVhZCBvZiAib3RoZXIiLiBEZXBlbmRpbmcKKwlvbiBjb21waWxlLXRpbWUgZGVmaW5lIFVTRV9UVFlfR1JPVVAgdGhlIHR0eSBtb2RlIGlzIHNldCB0byAwNjIwIG9yCisJMDYwMCBpbnN0ZWFkIG9mIDA2MjIuIEFsbCBhcyBwZXIgc3VnZ2VzdGlvbiBieSBSaWsgRmFpdGggYW5kIHRoZQorCWxpbnV4LXNlY3VyaXR5IGxpc3QuCisJV3JpdGUvd2FsbCBub3cgc3RyaXBzIGNvbnRyb2wgY2hhcnMgZXhjZXB0IEJFTCAoXDAwNykuIEFnYWluIGFmdGVyCisJc3VnZ2VzdGlvbiBieSBSaWsgRmFpdGguCisKK1ZlcnNpb24gMS4zMmEKKwlVcmdlbnQgc2VjdXJpdHkgcGF0Y2ggZnJvbSBBbHZhcm8gTS4gRWNoZXZhcnJpYSBpbmNvcnBvcmF0ZWQgaW50bworCWxvZ2luLmMuIFRoaXMgaXMgcmVhbGx5IG5lZWRlZCBvbiBtYWNoaW5lcyBydW5uaW5nIFlQIHVudGlsCisJdGhlIGxpYnJhcmllcyBhcmUgZml4ZWQuCisKK1ZlcnNpb24gMS4zMgorCUxvZ2luIG5vdyBsb2dzIHRoZSBpcC1hZGRyZXNzIG9mIHRoZSBjb25uZWN0aW5nIGhvc3QgdG8gdXRtcCBhcyBpdAorCXNob3VsZC4KKworVmVyc2lvbiAxLjMxYiAoMi1GZWItOTUpOgorCURhbmllbCBRdWlubGFuIDxxdWlubGFuQHlnZ2RyYXNpbC5jb20+IGFuZCBSb3NzIEJpcm8gCisJPGJpcm9AeWdnZHJhc2lsLmNvbT4gc3VnZ2VzdGVkIGEgcGF0Y2ggdG8gbG9naW4uYyB0aGF0IGFsbG93cyBmb3IgCisJc2hlbGwgc2NyaXB0cyBpbiB0aGUgc2hlbGwgZmllbGQgb2YgL2V0Yy9wYXNzd2QsIHNvIG9uZSBjYW4gbm93CisJaGF2ZSAoYXMgYSBsaW5lIGluIC9ldGMvcGFzc3dkKToKKwkJYnllOjoxMDAwOjEwMDA6T3V0bG9nZ2VyOi9iaW46ZWNobyBCeWUKKwlMb2dnaW5nIGluIGFzICJieWUiIHdpdGggbm8gcGFzc3dvcmQgc2ltcGx5IGVjaG9lcyBCeWUgb24gdGhlIHNjcmVlbi4KKwlUaGlzIGhhcyBhcHBsaWNhdGlvbnMgZm9yIHBwcGQvc2xpcC4KKworVmVyc2lvbiAxLjMxYSAoMjgtT2N0LTk0KToKKwlTY290dCBUZWxmb3JkIHByb3ZpZGVkIGEgcGF0Y2ggZm9yIHNpbXBsZWluaXQsIHNvIGV4ZWN1dGluZyByZWJvb3QKKwlmcm9tIHNpbmdsZXVzZXIgbW9kZSB3b24ndCBwYXJ0aWFsbHkgZXhlY3V0ZSAvZXRjL3JjIGJlZm9yZQorCXRoZSByZWJvb3QuCisKK1ZlcnNpb24gMS4zMCAoMTctU2VwLTk0KToKKwl0b2JpYXNAc2VydmVyLmV0LWluZi5maG8tZW1kZW4uZGUgKFBldGVyIFRvYmlhcykgaGFzIG1hZGUgYSBtb3JlIAorCWFkdmFuY2VkIGhvc3RuYW1lIGNvbW1hbmQgdGhhdCB1bmRlcnN0YW5kcyBzb21lIG9wdGlvbnMgc3VjaCBhcworCS1mIGZvciBGUUROIGV0Yy4gSSdsbCBub3QgZHVwbGljYXRlIGhpcyB3b3JrLiBVc2UgaGlzIGhvc3RuYW1lCisJcGFja2FnZSBpZiB5b3Ugd2lzaC4KKworCXN2bUBrb3ptaXgueHM0YWxsLm5sIChTYW5kZXIgdmFuIE1hbHNzZW4pIHByb3ZpZGVkIG1vcmUgZmVhdHVyZXMKKwlmb3IgdGhlIC9ldGMvaXNzdWUgZmlsZSBpbiBhZ2V0dHkuIFxVIGFuZCBcdSBub3cgZXhwYW5kIHRvIHRoZSAKKwludW1iZXIgb2YgY3VycmVudCB1c2Vycy4KKworCUl0IGlzIG5vdyBwb3NzaWJsZSB0byBzdGF0ZSB0aGUgdmFsdWUgb2YgVEVSTSBvbiB0aGUgYWdldHR5IGNvbW1hbmQKKwlsaW5lLiBUaGlzIHdhcyBhbHNvIHByb3ZpZGVkIGJ5IFNhbmRlci4KKworCVRoaXMgaGFzIGJlZW4gYnVpbHQgdW5kZXIgTGludXggMS4xLjQyIHdpdGggZ2NjIDIuNS44IGFuZCBsaWJjIDQuNS4yNi4KKworVmVyc2lvbiAxLjI5ICgxOC1BdWctOTQpOgorCUZpbmFsbHkgZ290IGFyb3VuZCB0byBtYWtpbmcgYSByZWFsIHZlcnNpb24gYWZ0ZXIgdGhlIG51bWVyb3VzCisJYWxwaGEgdmVyc2lvbnMgb2YgMS4yOC4gU2NvdHQgVGVsZm9yZCA8c3RAZXBjYy5lZC5hYy51az4gcHJvdmlkZWQKKwlhIHBhdGNoIGZvciB3cml0ZSgxKSB0byBtYWtlIGl0IGxvb2sgbW9yZSBsaWtlIEJTRCB3cml0ZS4KKworCUZpeGVkIGxvZ2luIHNvIHRoYXQgdGhlIC5odXNobG9naW4gZmVhdHVyZSB3b3JrcyBldmVuIHdpdGggcmVhbAorCXByb3RlY3RpdmUgdXNlcnMgbW91bnRlZCB2aWEgTkZTIChpZS4gd2hlcmUgcm9vdCBjYW4ndCBhY2Nlc3MKKwl0aGUgdXNlcidzIC5odXNobG9naW4gZmlsZSkuCisKKwlDbGVhbmVkIHVwIHRoZSBjb2RlIHRvIG1ha2UgLVdhbGwgYmVhcmFibGUuCisKK1ZlcnNpb24gMS4yOGMgKDIxLUp1bC05NCk6CisJUmlrIEZhaXRoIHJlbWluZGVkIG1lIHRoYXQgYWdldHR5IHNob3VsZCB1c2UgdGhlIHN5c2xvZworCWZhY2lsaXR5LiBJdCBub3cgZG9lcy4KKworVmVyc2lvbiAxLjI4YiAoMzAtTWF5LTk0KToKKwlPbiBzdWdnZXN0aW9uIGZyb20gSmVyZW15IEZpdHpoYXJkaW5nZSA8amVyZW15QHN1aXRlLnN3Lm96LmF1PgorCUkgYWRkZWQgLS0gYXMgb3B0aW9uIGRlbGltaXRlciBvbiBhcmdzIHBhc3NlZCBmcm9tIGFnZXR0eSB0bworCWxvZ2luLiBGaXhlcyAtZnJvb3QgaG9sZSBmb3Igb3RoZXIgbG9naW4gcHJvZ3JhbXMuIFRoZSBsb2dpbgorCXByb2dyYW0gaW4gdGhpcyBwYWNrYWdlIG5ldmVyIGhhZCB0aGF0IGhvbGUuCisKK1ZlcnNpb24gMS4yOGEgKDE2LU1heS05NCk6CisJYmlsbEBnb3NoYXdrLmxhbmwuZ292IHByb3ZpZGVkIGEgY291cGxlIG9mIHBhdGNoZXMsIG9uZSBmaXhpbmcKKwl0ZXJtaW5hbCBzZXR1cCBpbiBhZ2V0dHksIGFuZCByZWJvb3QgaXMgbm93IHN1cHBvc2VkIHRvIGJlCisJaW4gL3NiaW4gYWNjb3JkaW5nIHRvIEZTU1RORC4KKworVmVyc2lvbiAxLjI3ICgxMC1NYXktOTQpOgorCUNoYW5nZWQgbG9naW4uYywgc28gYWxsIGJhZCBsb2dpbiBhdHRlbXB0cyBhcmUgbG9nZ2VkLCBhbmQgYWRkZWQKKwl1c2VydHR5IHNlY3VyaXR5IGZlYXR1cmUuIFNlZSBhYm91dC51c2VydHR5IGZvciBhbiBleHBsYW5hdGlvbi4KKwlUaGVyZSdzIG5vIGxvbmdlciBhIGxpbWl0IG9mIDIwIGNoYXJzIGluIHRoZSBURVJNIGVudmlyb25tZW50IAorCXZhcmlhYmxlLiBTdWdnZXN0ZWQgYnkgTmljb2xhaSBMYW5nZmVsZHQgPGphbmxAbWF0aC51aW8ubm8+CisKKwlBZGRlZCAjaWZkZWYgSEFWRV9RVU9UQSBhcm91bmQgcXVvdGEgY2hlY2tzLiBFbmFibGUgdGhlbSBpZgorCXlvdSBoYXZlIHF1b3RhIHN0dWZmIGluIHlvdXIgbGlicmFyaWVzIGFuZCBrZXJuZWwuCisJQWxzbyByZS1lbmFibGVkIHNldC9nZXRwcmlvcml0eSgpIGNhbGxzIGFzIHdlIG5vdyBoYXZlIHRoZW0sCisJYW5kIGhhdmUgaGFkIGZvciBhIGxvbmcgdGltZS4uLgorCisJTm93IHd0bXAgaXMgbG9ja2VkIGFuZCB1bmxvY2tlZCBhcm91bmQgd3JpdGVzIHRvIGF2b2lkIG1hbmdsaW5nLgorCUR1ZSB0byBKYWFra28gSHl2e3R0aSA8SFlWQVRUSUBjYy5oZWxzaW5raS5maT4uCisKKwlXcnQuIGFnZXR0eTogQSBcbyBpbiAvZXRjL2lzc3VlIG5vdyBpbnNlcnRzIHRoZSBkb21haW5uYW1lLCBhcyAKKwlzZXQgYnkgZG9tYWlubmFtZSgxKS4gU2FuZGVyIHZhbiBNYWxzc2VuIHByb3ZpZGVkIHRoaXMuCisJVGhpcyBpcyBiZWluZyB1c2VkIHVuZGVyIExpbnV4IDEuMS45CisKKwlCZWVmZWQgdXAgdGhlIGFnZXR0eS44IG1hbi1wYWdlIHRvIGRlc2NyaWJlIHRoZSAvZXRjL2lzc3VlCisJb3B0aW9ucy4gQWRkZWQgbWFuLXBhZ2VzIGZvciB3YWxsLCBjYWdlLCB3aG8uCisKK1ZlcnNpb24gMS4yNiBhbHBoYSAoMjUtQXByLTk0KToKKwlBZGRlZCBwYXRjaCBmcm9tIEJpbGwgUmV5bm9sZHMgPGJpbGxAZ29zaGF3ay5sYW5sLmdvdj4gdG8gCisJc2ltcGxlaW5pdCwgc28gaXQgd2lsbCBkcm9wIGludG8gc2luZ2xlIHVzZXIgaWYgL2V0Yy9yYworCWZhaWxzLCBlZy4gZnJvbSBmc2NrLgorCitWZXJzaW9uIDEuMjUgKDktRmViLTk0KToKKwlBZ2V0dHkgc2hvdWxkIG5vdyB3b3JrIHdpdGggdGhlIExpbnV4IDAuOTlwbDE1YSBrZXJuZWwuCisJRUNIT0NUTCBhbmQgRUNIT1BSVCBhcmUgbm8gbG9uZ2VyIHNldCBpbiB0aGUgdGVybWlvcyBzdHJ1Y3QuCisJQWxzbyBtYWRlIGFnZXR0eSBhY2NlcHQgYm90aCAidHR5IGJhdWRyYXRlIiBhbmQgImJhdWRyYXRlIHR0eSIKKwlhcmd1bWVudHMuCisKK1ZlcnNpb24gMS4yNCAoMjMtSmFuLTk0KTogY2hhbmdlcyBzaW5jZSAxLjIyCisJQ2hyaXN0aWFuIHZvbiBSb3F1ZXMgPHJvcXVlc0BqdWxpZXQua2Euc3ViLm9yZz4gcHJvdmlkZWQgYSBwYXRjaAorCXRoYXQgY2xlYW5zIHVwIHRoZSBoYW5kbGluZyBvZiB0aGUgLUwgb3B0aW9uIG9uIGFnZXR0eS4gCisJUmlrIEZhaXRoIDxmYWl0aEBjcy51bmMuZWR1PiBlbmhhbmNlZCBzZXZlcmFsIG1hbi1wYWdlcy4uLgorCitWZXJzaW9uIDEuMjMgKDExLURlYy05Myk6IGNoYW5nZXMgc2luY2UgMS4yMQorCU1pdGNodW0gRFNvdXphIHByb3ZpZGVkIHRoZSBob3N0aWQoMSkgY29kZS4gSXQgbmVlZHMgbGliYyA0LjQuNCBvcgorCWxhdGVyIGFuZCBhIExpbnV4IDAuOTkuMTQga2VybmVsIG9yIGxhdGVyLiBJdCBjYW4gc2V0IGFuZCBwcmludAorCXRoZSB3b3JsZCB1bmlxdWUgaG9zdGlkIG9mIHRoZSBtYWNoaW5lLiBUaGlzIG1heSBiZSB1c2VkIGluIAorCWNvbm5lY3Rpb24gd2l0aCBjb21tZXJjaWFsIHNvZnR3YXJlIGxpY2Vuc2VzLiBHb2QgZm9yYmlkIQorCUkgYWRkZWQgdGhlIC12IG9wdGlvbiwgYW5kIG11bmdlZCB0aGUgY29kZSBhIGJpdCwgc28gZG9uJ3QgYmxhbWUKKwlNaXRjaCBpZiB5b3UgZG9uJ3QgbGlrZSBpdC4KKworCUkgbWFkZSB0aGUgImNhZ2UiIHByb2dyYW0uIFVzaW5nIHRoaXMgYXMgYSBzaGVsbCBpbiB0aGUgcGFzc3dkCisJZmlsZSwgZW5hYmxlcyBvbmUgdG8gbGV0IHVzZXJzIGxvZyBpbnRvIGEgY2hyb290J2VkIGVudmlyb25tZW50LgorCUZvciB0aG9zZSB0aGF0IGhhdmUgbW9kZW0gbG9naW5zIGFuZCBhcmUgY29uY2VybmVkIGFib3V0IHNlY3VyaXR5LgorCVJlYWQgdGhlIHNvdXJjZSBmb3IgZnVydGhlciBpbmZvLgorCisJIndobyBhbSBpIiBub3cgd29ya3MuCisKKwlUaGUgbG9naW4gcHJvZ3JhbSB3b3JrcyB3aXRoIFllbGxvdyBQYWdlcyAoYWthIE5JUykgc2ltcGx5IGJ5CisJbGlua2luZyB3aXRoIGFuIGFwcHJvcHJpYXRlIGxpYnJhcnkgY29udGFpbmluZyBhIHByb3BlciB2ZXJzaW9uCisJb2YgZ2V0cHduYW0oKSBhbmQgZnJpZW5kcy4KKworVmVyc2lvbiAxLjIxICgzMC1PY3QtOTMpOiBjaGFuZ2VzIHNpbmNlIDEuMjAKKwlJbiBzaW1wbGVpbml0LmM6IFRoZSBib290dGltZSB3dG1wIHJlY29yZCBpcyBub3cgd3JpdHRlbiAqYWZ0ZXIqCisJL2V0Yy9yYyBpcyBydW4sIHRvIHB1dCBhIGNvcnJlY3QgdGltZXN0YW1wIG9uIGl0LgorCURhbmllbCBUaHVtaW0gPGR0aHVtaW1AbWl0LmVkdT4gc3VnZ2VzdGVkIHRoaXMgZml4LgorCisJVGhlIHNvdXJjZSBhbmQgTWFrZWZpbGUgaXMgcHJlcGFyZWQgZm9yIG9wdGlvbmFsIGluc3RhbGxhdGlvbiBvZiAKKwliaW5hcmllcyBpbiAvc2JpbiBpbnN0ZWFkIG9mIC9ldGMsIGFuZCBsb2dmaWxlcyBpbiAvdXNyL2FkbSBpbnN0ZWFkCisJb2YgL2V0Yy4gU2VlIGFuZCBjaGFuZ2UgdGhlIE1ha2VmaWxlIHRvIHN1aXQgeW91ciBwcmVmZXJlbmNlcy4KKwlSaWsgRmFpdGggYW5kIFN0ZXBoZW4gVHdlZWRpZSBpbnNwaXJlZCB0aGlzIGNoYW5nZS4KKworVmVyc2lvbiAxLjIwICgzMC1KdWwtOTMpOiBjaGFuZ2VzIHNpbmNlIDEuMTc6CisJVmVyc2lvbnMgMS4xOCBhbmQgMS4xOSB3ZXJlIG5ldmVyIG1hZGUgcHVibGljbHkgYXZhaWxhYmxlLgorCUFnZXR0eSBub3cgc3VwcG9ydHMgYSAtTCBzd2l0Y2ggdGhhdCBtYWtlcyBpdCBmb3JjZSB0aGUgQ0xPQ0FMIGZsYWcuCisJVGhpcyBpcyB1c2VmdWwgaWYgeW91IGhhdmUgYSBsb2NhbCB0ZXJtaW5hbCBhdHRhY2hlZCB3aXRoIGEgcGFydGx5CisJd2lyZWQgc2VyaWFsIGNhYmxlIHRoYXQgZG9lcyBub3QgcGFzcyBvbiB0aGUgQ2FycmllciBEZXRlY3Qgc2lnbmFsLgorCisJVGhlcmUncyBhIGRvbWFpbm5hbWUgcHJvZ3JhbSBsaWtlIHRoZSBob3N0bmFtZSBwcm9ncmFtOyBjb250cmlidXRlZAorCWJ5IExhcnMgV2lyemVuaXVzLgorCisJU2ltcGxlaW5pdCB3aWxsIG5vdyB3cml0ZSBhIFJFQk9PVCByZWNvcmQgdG8gd3RtcCBvbiBib290IHVwLiBUaW1lLQorCXpvbmUgc3VwcG9ydCBpcyBub3cgb3B0aW9uYWwgaW4gc2ltcGxlaW5pdC4gQm90aCBvZiB0aGVzZSBwYXRjaGVzCisJd2VyZSBtYWRlIGJ5IFNjb3R0IFRlbGZvcmQgPHN0QGVwY2MuZWQuYWMudWs+LgorCisJVGhpcyBpcyBmb3IgTGludXggMC45OS4xMSBvciBsYXRlci4KKworVmVyc2lvbiAxLjE3ICgxOS1NYXktOTMpOiBjaGFuZ2VzIHNpbmNlIDEuMTY6CisJTG9naW4sIHNpbXBsZWluaXQgYW5kIHdyaXRlIHNob3VsZCBub3cgd29yayB3aXRoIHNoYWRvdyBwYXNzd29yZHMKKwl0b28uIFNlZSB0aGUgTWFrZWZpbGUuIFRoYW5rcyB0byBBbmRlcnMgQnVjaCB3aG8gbGV0IG1lIGhhdmUgYW4KKwlhY2NvdW50IG9uIGhpcyBTTFMgYmFzZWQgTGludXggYm94IG9uIHRoZSBJbnRlcm5ldCwgc28gSSBjb3VsZCB0ZXN0CisJdGhpcy4gSSBzaG91bGQgYWxzbyB0aGFuayBqbW9ycmlzb0ByZmxhYi5lZS51YmMuY2EgKEpvaG4gUGF1bCBNb3JyaXNvbikKKwl3aG8gc2VudCBtZSB0aGUgc2hhZG93IHBhdGNoIHRvIGxvZ2luLmMKKworVmVyc2lvbiAxLjE2ICgyNC1BcHItOTMpOiBjaGFuZ2VzIHNpbmNlIDEuMTVhOgorCVNpbXBsZWluaXQgbm93IGNsZWFycyB0aGUgdXRtcCBlbnRyeSBhc3NvY2lhdGVkIHdpdGggdGhlIHBpZCdzIHRoYXQKKwlpdCByZWFwcyBpZiB0aGVyZSBpcyBvbmUuIEEgZmV3IGFyZSBzdGlsbCB1c2luZyBzaW1wbGVpbml0IGFuZCB0aGlzCisJd2FzIGEgcG9wdWxhciBkZW1hbmQuIEl0IGFsc28gYXBwZW5kcyBhbiBlbnRyeSB0byB3dG1wCisKK1ZlcnNpb24gMS4xNWEgKDE1LU1hci05Myk6IGNoYW5nZXMgc2luY2UgMS4xM2E6CisJanVuaW9Ac2hhZG93LnR3aW5zdW4uY29tIChKdW4gSGFtYW5vKSBzZW50IG1lIGEgb25lLWxpbmUgZml4CisJZm9yIG9jY2FzaW9uYWwgbWFuZ2xlZCBpc3N1ZS1vdXRwdXQgZnJvbSBhZ2V0dHkuCisKK1ZlcnNpb24gMS4xM2EgKDItTWFyLTkzKTogY2hhbmdlcyBzaW5jZSAxLjEyYToKKwlXaXRoIHRoZSBuZXcgTElMTyAoMC45KSwgdGhlcmUgYXJlIG1vcmUgdGhhbiBvbmUgcG9zc2libGUgYXJnCisJdG8gaW5pdCwgc28gV2VybmVyIEFsbWVzYmVyZ2VyIDxhbG1lc2JlckBiZXJuaW5hLmV0aHouY2g+CisJc3VnZ2VzdGVkIHRoYXQgYSBsb29wIG92ZXIgYXJndltdIHdhcyBtYWRlIGluIGJvb3Rfc2luZ2xlKCkgaW4KKwlzaW1wbGVpbml0LmMKKworVmVyc2lvbiAxLjEyYSAoMjQtRmViLTkzKTogY2hhbmdlcyBzaW5jZSAxLjExOgorCVRoaXMgaXMgZm9yIExpbnV4IDAuOTkuNiBvciBsYXRlci4gQnVpbHQgd2l0aCBnY2MgMi4zLjMgYW5kIGxpYmM0LjIKKwlqcnNAd29ybGQuc3RkLmNvbSAoUmljayBTbGFka2V5KSB0b2xkIG1lIHRoYXQgdGhlIHNldGVudigiVFoiLC4uKQorCWluIGxvZ2luLmMgZGlkIG1vcmUgaGFybSB0aGFuIGdvb2QsIHNvIEkgY29tbWVudGVkIGl0IG91dC4KKworVmVyc2lvbiAxLjExYSAoMTYtRmViLTkzKTogY2hhbmdlcyBzaW5jZSAxLjlhOgorCVRoaXMgaXMgZm9yIExpbnV4IDAuOTkuNSBvciBsYXRlci4KKwlBbnRob255IFJ1bWJsZSA8YXJ1bWJsZUBleHRyby51Y2Muc3UuT1ouQVU+IG1hZGUgbWUgYXZhcmUgdGhhdAorCXRoZSBwYXRjaGVzIGZvciB2aGFuZ3VwKCkgZnJvbSBTdGV2ZW4gUy4gRGljayBkaWRuJ3QgcXVpdGUgd29yaywKKwlzbyBJIGNoYW5nZWQgaXQuCisKKwlMaW51cyBUb3J2YWxkcyBwcm92aWRlZCBhbm90aGVyIHBhdGNoIHJlbGF0aW5nIHRvIHZoYW5ndXAsIHNpbmNlCisJaW4gbmV3ZXIgTGludXhlbiB2aGFuZ3VwKCkgZG9lc24ndCByZWFsbHkgY2xvc2UgYWxsIGZpbGVzLCBzbyB3ZQorCWNhbid0IGp1c3Qgb3BlbiB0aGUgdHR5J3MgYWdhaW4uCisKK1ZlcnNpb24gMS45YSAoMTgtSmFuLTkzKTogY2hhbmdlcyBzaW5jZSAxLjhhOgorCVJpY2sgRmFpdGggc2VudCBtZSBtYW4tcGFnZXMgZm9yIG1vc3Qgb2YgdGhlIHV0aWxpdGllcyBpbiB0aGlzCisJcGFja2FnZS4gVGhleSBhcmUgbm93IGluY2x1ZGVkLgorCisJU3RldmVuIFMuIERpY2sgPHNzZEBuZXZldHMub2F1Lm9yZz4gc2VudCBtZSBhIHBhdGNoIGZvciBsb2dpbi5jCisJc28gRFRSIHdvbid0IGRyb3AgZHVyaW5nIHZoYW5ndXAoKSBvbiBhIG1vZGVtbGluZS4KKworCVRoaXMgaXMgY29tcGxldGVseSB1bnRlc3RlZCEhIEkgaGF2ZW4ndCBldmVuIGhhZCB0aGUgdGltZSB0bworCWNvbXBpbGUgaXQgeWV0LgorCitWZXJzaW9uIDEuOGEgKDEzLURlYy05Mik6IGNoYW5nZXMgc2luY2UgMS43OgorCVRoaXMgaXMgZm9yIExpbnV4IDAuOTguNiBvciBsYXRlci4gQ29tcGlsZXMgd2l0aCBnY2MyLjIuMmQ3IGFuZCBsaWJjNC4xCisKKwlCZXR0ZXJlZCB3cml0ZS93YWxsIGFmdGVyIGZpeCBmcm9tIEkgZm9yZ2V0IHdoby4gTm93IHdhbGwgY2FuIGhhdmUKKwljb21tYW5kbGluZSBhcmdzLgorCisJRml4ZWQgYnVnIGluIHdoby5jCisKKwlQYXRjaGVkIHNpbXBsZWluaXQuYyB3aXRoIHBhdGNoIGZyb20gRWQgQ2FycCwgc28gaXQgc2V0cyB0aGUgdGltZXpvbmUKKwlmcm9tIC9ldGMvVFouIFNob3VsZCBwcm9iYWJseSBieSBiZSAvZXRjL3RpbWV6b25lLgorCisJU2FuZGVyIFZhbiBNYWxzc2VuIDxzYW5kZXJAa296bWl4LmhhY2t0aWMubmw+IHByb3ZpZGVkIGEgcGF0Y2gKKwlmb3IgZ2V0dHksIHNvIGl0IGNhbiB1bmRlcnN0YW5kIGNlcnRhaW4gZXNjYXBlY29kZXMgaW4gL2V0Yy9pc3N1ZS4KKworCUkgaGFja2VkIHVwIGEgdmVyeSBzaW1wbGUgc3Vic3RpdHV0ZSBmb3IgYSBzeXNsb2coKSBjYWxsLCB0byB0cnkgb3V0CisJdGhlIGxvZ2dpbmcuIElmIHlvdSBoYXZlIGEgcmVhbCBzeXNsb2coKSBhbmQgc3lzbG9nZCB0aGVuIHVzZSB0aGF0IQorCisJVGhlIHNwZWNpYWwgdmhhbmd1cC5jIGZpbGUgaXMgb3V0LCBpdCdzIGluIHRoZSBvZmZpY2lhbCBsaWJjIGJ5IG5vdy4KKwkoYW5kIGV2ZW4gaW4gdGhlIGxpYmMgdGhhdCBJIGhhdmUgOi0pCisKKwl3aG8sIGFuZCB3cml0ZSBhcmUgbm93IGRlcHJlY2F0ZWQsIGdldCB0aGUgYmV0dGVyIG9uZXMgZnJvbSBvbmUgb2YKKwl0aGUgR05VIHBhY2thZ2VzLCBzaGVsbHV0aWxzIEkgdGhpbmsuCisKKwlTb21lIHBlb3BsZSB0aGluayB0aGF0IHRoZSBzaW1wbGUgaW5pdCBwcm92aWRlZCBpbiB0aGlzIHBhY2thZ2UgaXMgdG9vCisJc3BhcnRhbiwgaWYgeW91IHRoaW5rIHRoZSBzYW1lLCB0aGVuIGdldCB0aGUgU1lTViBjb21wYXRpYmxlIGluaXQKKwlmcm9tIE1pcXVlbCB2YW4gU21vb3JlbmJ1cmcgPG1pcXVlbHNAbWFlc3Ryby5odHNhLmFoYS5ubD4KKwlTaW1wbGVpbml0IHdpbGwgcHJvYmFibHkgYmUgZGVwcmVjYXRlZCBpbiB0aGUgZnV0dXJlLgorCitWZXJzaW9uIDEuNzogMjYtT2N0LTkyIGNoYW5nZXMgc2luY2UgMS42OgorCVRoaXMgaXMgZm9yIExpbnV4IDAuOTdQTDQgb3IgbGF0ZXIuCisKKwlUaGFua3MgdG8gV2VybmVyIEFsbWVzYmVyZ2VyLCBpbml0IG5vdyBoYXMgc3VwcG9ydCBmb3IgYSAKKwlzaW5nbGV1c2VyIG1vZGUuIAorCisJTG9naW4gbm93IHN1cHBvcnRzIHRoZSAtaCA8aG9zdG5hbWU+IG9wdGlvbiwgdXNlZCBpbiBjb25uZWN0aW9uCisJd2l0aCBUQ1AvSVAuIChybG9naW4vdGVsbmV0KQorCisJR2V0dHkgd3JpdGVzIGFuIGVudHJ5IHRvIC9ldGMvd3RtcCB3aGVuIHN0YXJ0ZWQsIHNvIGxhc3Qgd29uJ3QgcmVwb3J0CisJInN0aWxsIGxvZ2dlZCBpbiIgZm9yIHR0eSdzIHRoYXQgaGF2ZSBub3QgYmVlbiBsb2dnZWQgaW50byBzaW5jZQorCXRoZSBsYXN0IHVzZXIgb2YgdGhhdCB0dHkgbG9nZ2VkIG91dC4gVGhpcyBwYXRjaCB3YXMgaW5zcGlyZWQgYnkKKwlNaXRjaHVtIERTb3V6YS4gVG8gZ2FpbiB0aGUgZnVsbCBiZW5lZml0IG9mIHRoaXMsIGdldCB0aGUgbmV3ZXN0CisJbGFzdCBmcm9tIHRoZSBhZG11dGlscy0xLjQudGFyLlogcGFja2FnZSBvciBsYXRlci4KKworVmVyc2lvbiAxLjYgKDI5LUF1Zy05Mik6IGNoYW5nZXMgc2luY2UgMS41OgorCVRoaXMgaXMgZm9yIExpbnV4IDAuOTdQMSsgb3IgbGF0ZXIuCisJCisJTG9naW4gbm93IHVzZXMgdGhlIG5ld2x5IGltcGxlbWVudGVkIHZoYW5ndXAoKSBzeXMtY2FsbCwgdG8gcHJldmVudAorCXNub29waW5nIG9uIHRoZSB0dHkuCisJQW4gYWx0ZXJuYXRpdmUgZ2V0cGFzcygpIGZ1bmN0aW9uIGlzIG5vdyBwcm92aWRlZCB3aXRoIGxvZ2luLCBiZWNhdXNlCisJSSB3YXMgdG9sZCB0aGF0IHRoZSBvbGQgb25lIGluIGxpYmMgZGlkbid0IHdvcmsgd2l0aCB0ZWxuZXQgYW5kCisJb3IgcmxvZ2luLiBJIGRvbid0IGhhdmUgYSBuZXR3b3JrIG9yIGEga2VybmVsIHdpdGggVENQL0lQIHNvIEkgaGF2ZW4ndAorCXRlc3RlZCB0aGUgbmV3IG9uZSB3aXRoIHRlbG5ldCwgYnV0IGl0IGlzIGRlcml2ZWQgZnJvbSBCU0Qgc291cmNlcworCXRoYXQgYXJlIHN1cHBvc2VkIHRvIHdvcmsgd2l0aCBuZXR3b3JraW5nLgorCitWZXJzaW9uIDEuNSAoMTItQXVnLTkyKTogY2hhbmdlcyBzaW5jZSAxLjQKKwlUaGlzIGlzIGZvciBMaW51eCAwLjk3IG9yIGxhdGVyLCBhbmQgaGFzIGJlZW4gYnVpbHQgd2l0aCBnY2MyLjIuMgorCisJVGhpcyByZWxlYXNlIGp1c3QgcHV0cyBpbiBhIGZldyBidWdmaXhlcyBpbiBsb2dpbi5jIGFuZCBzaW1wbGVpbml0LmMKKworVmVyc2lvbiAxLjQgKDQtSnVsLTkyKTogY2hhbmdlcyBzaW5jZSAxLjM6CisJVGhpcyBpcyBmb3IgTGludXggMC45NmIsIGFuZCBoYXMgYmVlbiBidWlsdCBhbmQgdGVzdGVkIHdpdGggZ2NjIDIuMi4yLgorCisJSW5pdCBub3cgaGFuZGxlcyB0aGUgU0lHSU5UIHNpZ25hbC4gV2hlbiBpbml0IGdldHMgYSBTSUdJTlQgaXQgd2lsbAorCWNhbGwgL3Vzci9iaW4vcmVib290IGFuZCB0aGVyZWJ5IGdlbnRseSByZWJvb3QgdGhlIG1hY2hpbmUuIFRoaXMKKwltYWtlcyBzZW5zZSBiZWNhdXNlIGFmdGVyIExpbnV4IDAuOTZCLVBMMSB0aGUga2V5LWNvbWJpbmF0aW9uCisJQ3RybC1BbHQtRGVsIG1heSBzZW5kIGEgU0lHSU5UIHRvIGluaXQgaW5zdGVhZCBvZiBib290aW5nIHRoZSAKKwltYWNoaW5lIHRoZSBoYXJkIHdheSB3aXRob3V0IHN5bmNpbmcgb3IgYW55dGhpbmcuCisKKwlZb3UgbWF5IHdhbnQgdG8gZ2V0IHRoZSBhZG11dGlscy0xLjEgcGFja2FnZSB3aGljaCBpbmNsdWRlcyBhIHByb2dyYW0KKwl0aGF0IHdpbGwgaW5zdHJ1Y3QgdGhlIGtlcm5lbCB0byB1c2UgdGhlICJnZW50bGUtcmVib290IiBwcm9jZWR1cmUuCisKK1ZlcnNpb24gMS4zICgxNC1KdW4tOTIpOiBjaGFuZ2VzIHNpbmNlIDEuMjoKKwlUaGlzIGlzIGZvciBMaW51eCAwLjk2QS4KKworCVRoZSBpb2N0bChUSU9DU1dJTlNaKSBoYXMgYmVlbiByZW1vdmVkIGZyb20gbG9naW4uYyBiZWNhdXNlIGl0IG5vdworCXdvcmtzIDotKS4KKwkKKwlsb2dpbi5jIG5vdyBzdXBwb3J0cyBhIGxhc3Rsb2cgZGF0YWJhc2UuCisKKwlTZXZlcmFsIHByb2dyYW1zIGFuZCBwaWVjZXMgb2Ygc291cmNlIHRoYXQgd2VyZSBpbmNsdWRlZCBpbiB0aGUgMS4yCisJcGFja2FnZSBoYXMgYmVlbiAqcmVtb3ZlZCogYXMgdGhleSBhcmUgaW5jb3Jwb3JhdGVkIGludG8gdGhlIG5ldworCWxpYmMuIE90aGVyIG9taXR0ZWQgcGFydHMgc3VjaCBhcyBsYXN0KDEpIGhhcyBiZWVuIHJlcGxhY2VkIGJ5CisJYmV0dGVyIHZlcnNpb25zLCBhbmQgY2FuIGJlIGZvdW5kIGluIHRoZSBhZG11dGlscyBwYWNrYWdlLgorCisJQWdldHR5IGlzIG5vdyBjYWxsZWQgZ2V0dHkgYW5kIHdpbGwgYmUgcGxhY2VkIGluIC9ldGMuCisKKwlBIGZldyBjaGFuZ2VzIGhhcyBiZWVuIG1hZGUgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byBjb21waWxlIHRoZQorCXN0dWZmIHdpdGggR0NDIDIueC4KKworVmVyc2lvbiAxLjIgKDI4LUZlYi05Mik6IGNoYW5nZXMgc2luY2UgMS4xOgorCVRoaXMgaXMgZm9yIExpbnV4IDAuMTIuCisKKwlBIGNvdXBsZSBvZiBwcm9ibGVtcyB3aXRoIHNpbXBsZWluaXQuYyBoYXMgYmVlbiBzb2x2ZWQsIHRoYW5rcyB0bworCUh1bWJlcnRvIFp1YXphZ2EuIFNvIG5vdyBpbml0IGdyb2tzIGNvbW1lbnRzIGluIC9ldGMvaW5pdHRhYiwgYW5kCisJaGFuZGxlcyB0aGUgSFVQIGFuZCBUU1RQIHNpZ25hbHMgcHJvcGVybHkuCisKKwlJIGFkZGVkIHR3byBzbWFsbCBzY3JpcHRzIHRvIHRoZSBkaXN0cmlidXRpb246IHVzZXJzIGFuZCBtZXNnLgorCisJVEVSTSBpcyBub3cgY2FycmllZCB0aHJvdWdoIGZyb20gL2V0Yy9pbml0dGFiIGFsbCB0aGUgd2F5IHRvIHRoZQorCXNoZWxsLiBDb25zb2xlIHR0eSdzIGFyZSBzcGVjaWFsLWNhc2VkLCBzbyB0aGUgdGVybWNhcCBlbnRyeSBpbgorCS9ldGMvaW5pdHRhYiBpcyBvdmVycmlkZGVuIGJ5IHRoZSBzZXR0aW5nIGdpdmVuIGF0IGJvb3QtdGltZS4KKwlUaGlzIHJlcXVpcmVzIGEgZGlmZmVyZW50IHBhdGNoIHRvIHRoZSBrZXJuZWwgdGhhbiB0aGF0IGRpc3RyaWJ1dGVkCisJd2l0aCB2ZXJzaW9uIDEuMQorCisJTG9naW4gbm8gbW9yZSBzZW5kcyBzdXBlcmZsdW91cyBjaGFycyBmcm9tIGEgcGFzc3dvcmQgdG8gdGhlIAorCXNoZWxsLiBJdCBhbHNvIHByb3Blcmx5IHByaW50cyBhIE5MIGFmdGVyIHRoZSBwYXNzd29yZC4KKworCUFnZXR0eSBkaWRuJ3Qgc2V0IHRoZSBlcmFzZSBjaGFyYWN0ZXIgcHJvcGVybHksIGl0IGRvZXMgbm93LgorCisJQSBmZXcgZXh0cmEgZGVmaW5lcyBoYXMgYmVlbiBhZGRlZCB0byB1dG1wLmgKKworCVNldmVyYWwgbmV0dGVycyBoZWxwZWQgZGlzY292ZXIgdGhlIGJ1Z3MgaW4gMS4xLiBUaGFua3MgdG8gdGhlbQorCWFsbC4KKworVmVyc2lvbiAxLjEgKHJlbGVhc2VkIDE5LUZlYi05Mik6IENoYW5nZXMgc2luY2UgMS4wOgorCUEgYnVnIGluIHNpbXBsZWluaXQuYyBoYXMgYmVlbiBmaXhlZCwgdGhhbmtzIHRvIFBpZXRybyBDYXN0ZWxsaS4KKwlUaGUgZGVmaW5pdGlvbiBvZiB0aGUgdXRfbGluZSBmaWVsZCBoYXMgYmVlbiBjaGFuZ2VkIHRvIHRyYWNrIHRoZQorCVVTRyBzdGFuZGFyZCBtb3JlIGNsb3NlbHksIHdlIG5vdyBzdHJpcCAiL2Rldi8iIG9mZiB0aGUgZnJvbnQuCisJVGhhbmtzIHRvOiBEb3VnbGFzIEUuIFF1YWxlIGFuZCBTdGVwaGVuIEdhbGxpbW9yZS4KKworCUkgaGF2ZSBhZGRlZCBhIGdldGxvZ2luLmMgbGlicmFyeSByb3V0aW5lLCBhbmQgYSB3cml0ZSgxKSBjb21tYW5kLgorCUkgcmVtb3ZlZCB0aGUgcXBsLWluaXQgc3R1ZmYuIElmIHBlb3BsZSB3YW50IHRvIHVzZSBpdCwgdGhleSBzaG91bGQKKwlnZXQgaXQgZnJvbSB0aGUgc291cmNlLiBJIGRvbid0IHdhbnQgdG8gaGFjayBvbiBpdCBhbnltb3JlLgorCisJQSBjb3VwbGUgb2YgcGVvcGxlIHJlcG9ydGVkIHByb2JsZW1zIHdpdGggZ2V0dHkgaGF2aW5nIHByb2JsZW1zIAorCXdpdGggc2VyaWFsIHRlcm1pbmFscy4gVGhhdCB3YXMgY29ycmVjdC4gSSBib3Jyb3dlZCBhIG51bGwtbW9kZW0KKwlmcm9tIFRvbW15IFRob3JuLCBhbmQgbm93IHRoZSBwcm9ibGVtcyBzaG91bGQgYmUgZml4ZWQuIEl0IHNlZW1zCisJdGhhdCB0aGVyZSBpcyBrZXB0IGEgbG90IG9mIGdhcmJhZ2UgaW4gdGhlIHNlcmlhbCBidWZmZXJzLCBmbHVzaAorCXRoZW0gYW5kIGl0IHdvcmtzIGxpa2UgYSBjaGFybS4gR2V0dHkgZG9lcyBhbiBpb2N0bCgwLCBUQ0ZMU0gsIDIpCisJZm9yIHRoaXMuCisKKwlUaGUgd3JpdGUuYyBjb2RlIG5vdyBkb3VibGVzIGFzIGNvZGUgZm9yIGEgd2FsbCgxKSBwcm9ncmFtLgorCitEZXNjcmlwdGlvbiBvZiB0aGUgdmFyaW91cyBmaWxlczoKKworbG9naW4uYwkJVGhlIGxvZ2luIHByb2dyYW0uIFRoaXMgaXMgYSBwb3J0YXRpb24gb2YgQlNEIGxvZ2luLCBmaXJzdAorCQl0byBIUC1VWCA4LjAgYnkgTWljaGFlbCBHbGFkIChnbGFkQGRhaW1pLmFhdS5kayksIGFuZAorCQl0byBMaW51eCAoaW5pdGlhbGx5IHRvIDAuMTIpIGJ5IG1lLgorCithZ2V0dHkuYwlUaGUgZ2V0dHkgcHJvZ3JhbS4gRnJvbSBjb21wLnNvdXJjZXMubWlzYywgYnkgVy5aLiBWZW5lbWEuCisJCUhhY2tlZCBhIGJpdCBieSBtZS4KKword3JpdGUuYwkJQSB3cml0ZSgxKSBjb21tYW5kLCB1c2VkIHRvIHBhc3MgbWVzc2FnZXMgYmV0d2VlbiB1c2VycworCQlhdCBkaWZmZXJlbnQgdGVybWluYWxzLiBUaGlzIGNvZGUgZG91YmxlcyBhcyBjb2RlIGZvciAKKwkJYSB3YWxsKDEpIGNvbW1hbmQuIE1ha2UgYSBzeW1saW5rOiAvdXNyL2Jpbi93YWxsIC0+CisJCS91c3IvYmluL3dyaXRlIGZvciB0aGlzLgorCittZXNnCQlBIHRpbnkgc2hlbGxzY3JpcHQsIHNvIHlvdSBjYW4gYXZvaWQgdGhhdCBvdGhlciBwZW9wbGUgd3JpdGUKKwkJdG8geW91ciBzaGVsbC4KKworcGF0aG5hbWVzLmg6CisJCUhlYWRlci4KKworR2V0dHkgd2lsbCBwcmludCB0aGUgY29udGVudHMgb2YgL2V0Yy9pc3N1ZSBpZiBpdCdzIHByZXNlbnQgYmVmb3JlIGFza2luZworZm9yIHVzZXJuYW1lLiBMb2dpbiB3aWxsIHByaW50IHRoZSBjb250ZW50cyBvZiAvZXRjL21vdGQgYWZ0ZXIgc3VjY2Vzc2Z1bAorbG9naW4uIExvZ2luIGRvZXNuJ3QgcHJpbnQgL2V0Yy9tb3RkLCBhbmQgZG9lc24ndCBjaGVjayBmb3IgbWFpbCBpZgorfi8uaHVzaGxvZ2luIGlzIHByZXNlbnQgYW5kIHdvcmxkIHJlYWRhYmxlLgorCitJZiAvZXRjL25vbG9naW4gaXMgcHJlc2VudCB0aGVuIGxvZ2luIHdpbGwgcHJpbnQgaXRzIGNvbnRlbnRzIGFuZCBkaXNhbGxvdworYW55IGxvZ2lucyBleGNlcHQgcm9vdC4KK0l0IG1pZ2h0IGJlIGEgZ29vZCBpZGVhIHRvIGhhdmUgYSAicm0gLWYgL2V0Yy9ub2xvZ2luIiBsaW5lIGluIG9uZSdzIAorL2V0Yy9yYyBmaWxlLgorCitJZiAvZXRjL3NlY3VyZXR0eSBpcyBwcmVzZW50IGl0IGRlZmluZXMgd2hpY2ggdHR5J3MgdGhhdCByb290IGNhbiBsb2dpbiBvbi4KKworICAgLSBQZXRlciAocG9lQGRhaW1pLmFhdS5kaykKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vcmVsZWFzZS1zY2hlZHVsZS50eHQgYi9Eb2N1bWVudGF0aW9uL3JlbGVhc2Utc2NoZWR1bGUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyOGRlNGQKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL3JlbGVhc2Utc2NoZWR1bGUudHh0CkBAIC0wLDAgKzEsNDIgQEAKK1JlbGVhc2Ugc2NoZWR1bGUKKy0tLS0tLS0tLS0tLS0tLS0KKworVGhlIHV0aWwtbGludXggcGFja2FnZSB1c2VzIHRoZSA8bWFqb3I+LjxtaW5vcj4uPG1haW50ZW5haW5jZT4gdmVyc2lvbgorbnVtYmVyaW5nIHNjaGVtZS4gIFNpbmNlIHRoZSBtYWpvciB2ZXJzaW9uIGlzIHByZXR0eSBtdWNoIGZpeGVkLCBhbnkKK3JlbGVhc2UgbWVhbnMgYW4gaW5jcmVtZW50IG9mIHRoZSBtaW5vciBudW1iZXIuICBUaGUgbWlub3IgdmVyc2lvbiBpcworaW5jcmVtZW50ZWQgcm91Z2hseSB0d2ljZSBwZXIgeWVhci4gIFRoZSBlYXNpZXN0IHdheSB0byBlc3RpbWF0ZSB3aGVuCit0aGUgbmV4dCB2ZXJzaW9uIHdpbGwgYXBwZWFyLCBpcyB0byBsb29rIGF0IHRoZSB0aW1lIHN0YW1wIG9mIHRoZSBsYXN0CityZWxlYXNlLgorCitCZWZvcmUgZWFjaCByZWxlYXNlIHRoZXJlIGFyZSBhIGZldyByZWxlYXNlIGNhbmRpZGF0ZXMsIHdoaWNoIHdpbGwgYmUKK2NvbGxlY3RpdmVseSB0ZXN0ZWQuICBEdXJpbmcgdGhlIHRlc3QgcGVyaW9kIGNoYW5nZXMgdG8gdGhlIGNvZGUgYmFzZQorYXJlIHJlc3RyaWN0ZWQuICBVc3VhbGx5IHRoZXJlIGFyZSB0d28gcmVsZWFzZSBjYW5kaWRhdGVzLgorCisgIHdoYXQJIGxlbmd0aAkJd2hhdCB3aWxsIGJlIGFjY2VwdGVkIGludG8gdXBzdHJlYW0KKyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIHJjMQkgMS0yIHdlZWtzCWJ1ZyBmaXhlcyBvbmx5CisgIHJjMgkgMS0yIHdlZWtzCXRyYW5zbGF0aW9ucywgZmF0YWwvdHJpdmlhbCBidWcgZml4ZXMKKworVGhlIHBlcmlvZCBiZXR3ZWVuIGEgcmVsZWFzZSBhbmQgdGhlIG5leHQgcmVsZWFzZSBjYW5kaWRhdGUgY2FuIGJlIGNvbnNpZGVyZWQKK2FzIHRoZSBtZXJnZSB3aW5kb3cuCisKK1RoZSByZWxlYXNlIHRhcmJhbGwgaXMgZ2VuZXJhdGVkIGJ5ICJtYWtlIGRpc3RjaGVjayIgY29tbWFuZC4KKworUmVsZWFzZSBjcml0ZXJpYQorLS0tLS0tLS0tLS0tLS0tLQorCitGb3IgYWxsIHJlbGVhc2VzIGl0IGlzIHJlcXVpcmVkIHRoYXQ6CisKKyAgIC0gbWFrZSBjaGVja2luY2x1ZGVzIHBhc3NlcworICAgLSBtYWtlIGNoZWNrY29uZmlnIHBhc3NlcworICAgLSBtYWtlIGRpc3RjaGVjayBwYXNzZXMKKyAgIC0gY2QgdGVzdHMgJiYgLi9ydW4uc2ggcGFzc2VzCisgICAtIGFuIG91dC1vZi10cmVlIGJ1aWxkIHdvcmtzCisgICAgIChjZCAuLiAmJiBta2RpciBidWlsZCAmJiBjZCBidWlsZCAmJiAuLi91dGlsLWxpbnV4L2NvbmZpZ3VyZSAmJiBtYWtlKQorCisgICAtIGlkZWFsbHk6IGEgYnVpbGQgd2l0aCB1Q2xpYmMgd29ya3MsIGFuZCAtLXdpdGgtc2xhbmcgd29ya3MKKworU2VlIGFsc28KKy0tLS0tLS0tCisKK0RvY3VtZW50YXRpb24vc291cmNlLWNvZGUtbWFuYWdlbWVudC50eHQKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTMtUmVsZWFzZU5vdGVzIGIvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4xMy1SZWxlYXNlTm90ZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWY4MjA1OAotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTMtUmVsZWFzZU5vdGVzCkBAIC0wLDAgKzEsNDYwIEBACisKK1V0aWwtbGludXgtbmcgMi4xMyBSZWxlYXNlIE5vdGVzICAoMjgtQXVnLTIwMDcpCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCitSZWxlYXNlIGhpZ2hsaWdodHM6CistLS0tLS0tLS0tLS0tLS0tLS0KKworIG1vdW50KDgpIGRvZXNuJ3QgaW5jbHVkZSBORlMgY2xpZW50IGNvZGUgYW55bW9yZS4gRG9uJ3QgZm9yZ2V0IHRvCisgaW5zdGFsbCBuZnMtdXRpbHMgMS4xLjAgb3IgbmV3ZXIgd2l0aCAvc2Jpbi9bdV1tb3VudC57bmZzLG5mczR9LgorCisgbW91bnQoOCkgZG9lc24ndCBpbmNsdWRlIGZpbGVzeXN0ZW0gZGV0ZWN0aW9uIGNvZGUgYW55bW9yZS4gWW91CisgaGF2ZSB0byBjb21waWxlIC0td2l0aC1mc3Byb2JlPXtibGtpZCx2b2x1bWVfaWR9LCBhbmQgbGliYmxraWQKKyAoZTJmc3Byb2dzKSBvciBsaWJ2b2x1bWVfaWQgKHVkZXYgPj0gdjExMCkgaXMgcmVxdWlyZWQuCisKKyBtb3VudCg4KSBzdXBwb3J0cyBuZXcgcmVsYXRpbWUsIGNvbnRleHQsIGZzY29udGV4dCwgYW5kIGRlZmNvbnRleHQKKyBtb3VudCBvcHRpb25zLgorCisgbG9zZXR1cCg4KSBzdXBwb3J0cyBjb21tYW5kIGxpbmUgb3B0aW9uICItYSIgdG8gbGlzdCBhbGwgdXNlZCBsb29wCisgZGV2aWNlcywgJy1zJyB0byBwcmludCBhIGRldmljZSBuYW1lIGlmICItZiIgYW5kIGEgZmlsZSBhcmd1bWVudAorIGFyZSBwcmVzZW50LCBhbmQgIi1yIiB0byBjcmVhdGUgYSByZWFkLW9ubHkgbG9vcCBkZXZpY2UuCisKKyBmZGlzayg4KSBTdW4gbGFiZWwgc3VwcG9ydCBoYXMgYmVlbiBpbXByb3ZlZC4gZmRpc2soOCkgaXMgYWxzbyBhYmxlCisgdG8gd2FybiBhYm91dCBkZXRlY3RlZCBHUFQgKGZkaXNrIGRvZXNuJ3Qgc3VwcG9ydCBHUFQpLgorCisgdGFza3NldCgxKSBpcyBpbmRlcGVuZGVudCBvbiBoYXJkY29kZWQgTlJfQ1BVUy4gY2hydCgxKSBzdXBwb3J0cworIFNDSEVEX0JBVENIIHNjaGVkdWxpbmcgcG9saWN5LgorCisgVGhlIHBhY2thZ2UgYnVpbGQgc3lzdGVtIGlzIG5vdyBiYXNlZCBvbiBhdXRvdG9vbHMuIFRoZSBidWlsZCBzeXN0ZW0KKyBzdXBwb3J0cyAgc2VwYXJhdGUgQ0ZMQUdTIGFuZCBMREZMQUdTIGZvciBzdWlkIHByb2dyYW1zIChTVUlEX0NGTEFHUywKKyBTVUlEX0xERkxBR1MpLiBGb3IgbW9yZSBkZXRhaWxzIHNlZSB0aGUgUkVBRE1FIGZpbGUKKworIGh3Y2xvY2soOCkgc3VwcG9ydHMgY29tbWFuZCBsaW5lIG9wdGlvbiAtLXJ0Yz08cGF0aD4gYW5kIC9kZXYvcnRjMAorIGRldmljZS4gLS1zeXN0b2hjIGZ1bmN0aW9uYWxpdHkgaGFzIGJlZW4gaW1wcm92ZWQsIGFuZCBpdCBkb2Vzbid0IGNhdXNlCisgYSA1MDBtcyBpbmFjY3VyYWN5IGVhY2ggdGltZSBpdCBpcyB1c2VkLgorCisgQXVkaXQgc3lzdGVtIHN1cHBvcnQgKC0td2l0aC1hdWRpdCkgaGFzIGJlZW4gYWRkZWQgdG8gaHdjbG9jayg4KSBhbmQKKyBsb2dpbigxKS4KKworIFNFTGludXggc3VwcG9ydCAoLS13aXRoLXNlbGludXgpIGhhcyBiZWVuIGFkZGVkIHRvIG1rc3dhcCg4KSBhbmQKKyBtb3VudCg4KS4KKworIHNldGFyY2goOCkgdXBzdHJlYW0gaGFzIGJlZW4gbWVyZ2VkIHdpdGggdXRpbC1saW51eC1uZy4KKworIHJ0Y3dha2UoOCkgY29tbWFuZCBoYXMgYmVlbiBhZGRlZCB0byB1dGlsLWxpbnV4LW5nLgorCisgYXJjaCgxKSBpcyBkZXByZWNhdGVkIGluIGZhdm9yIG9mICJ1bmFtZSAtbSIgb3IgYXJjaCgxKSBmcm9tIGNvcmV1dGlscworICg+PSA2LjkrKS4gVGhlIHV0aWwtbGludXgtbmcgcGFja2FnZSBkb2Vzbid0IGJ1aWxkIGFyY2ggYnkgZGVmYXVsdCwKKyB5b3UgaGF2ZSB0byB1c2UgdGhlIG9wdGlvbiAtLWVuYWJsZS1hcmNoLgorCisKK0ZpeGVkIHNlY3VyaXR5IGlzc3VlczoKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgQ1ZFLTIwMDctMDgyMiAtIG1vdW50KDgpIGFsbG93cyBsb2NhbCB1c2VycyB0byB0cmlnZ2VyIGEgTlVMTAorICAgICAgICAgICAgICAgICBkZXJlZmVyZW5jZSBhbmQgYW4gYXBwbGljYXRpb24gY3Jhc2gKKyBDVkUtMjAwNi03MTA4IC0gbG9naW4oMSkgb21pdHMgUEFNIGFjY291bnQgdmFsaWRhdGlvbiB3aGVuIGF1dGggaXMKKyAgICAgICAgICAgICAgICAgc2tpcHBlZAorCisKK0NoYW5nZWxvZzoKKy0tLS0tLS0tLQorCisgRm9yIG1vcmUgZGV0YWlscyBzZWUgQ2hhbmdlTG9nIGZpbGVzIGF0OgorIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjEzLworCisKK2FnZXR0eToKKyAgIC0gOCBiaXQgY2hhcmFjdGVycyBvbiB0aGUgTGludXggY29uc29sZSBsZWFkIHRvIGlucHV0IGNvcnJ1cHRpb24gIFtTYW11ZWwgVGhpYmF1bHRdCisgICAtIGFkZCAnTycgZXNjYXBlIGNvZGUgdG8gZGlzcGxheSBkb21haW4gbmFtZSAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgZ2V0aG9zdG5hbWUoKSByZXR1cm4gdmFsdWUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzaG9ydCBtYWxsb2MgaW4gaW5pdHN0cmluZyBoYW5kbGluZyAgW0xhTW9udCBKb25lc10KK2Jsb2NrZGV2OgorICAgLSBhZGQgQkxLRlJBR0VUL0JMS0ZSQVNFVCBpb2N0bHMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdXNhZ2UoKSBhbmQgdXBkYXRlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggImJsb2NrZGV2IC0tZ2V0c3oiIGZvciBsYXJnZSBkZXZpY2VzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgTFUgYW5kIExMVSBmb3IgQkxLR0VUU0laRSBhbmQgQkxLR0VUU0laRTY0ICBbS2FyZWwgWmFrXQorYnVpbGQtc3lzOgorICAgLSBhZGQgJHtBQyxBUCxBTSxBSH1fT1BUUyB0byBhdXRvZ2VuLnNoICBbS2FyZWwgWmFrXQorICAgLSBhZGQgQUNfR05VX1NPVVJDRSAgW0thcmVsIFpha10KKyAgIC0gYWRkIEF1dG9tYWtlIG9wdGlvbiBkaXN0LWJ6aXAyICBbU3RlcGFuIEthc2FsXQorICAgLSBhZGQgLS1kaXNhYmxlLW1ha2VpbnN0YWxsLWNob3duICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBmaWxlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIFNVSURfQ0ZMQUdTICBbS2FyZWwgWmFrXQorICAgLSBhZGQgU1VJRF9MREZMQUdTICBbU3RlcGFuIEthc2FsXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgYXVkaXQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB3YXJuaW5nIHdoZW4gbGlidXVpZCBpcyBub3QgZm91bmQgIFtLYXJlbCBaYWtdCisgICAtIGFtZW5kIC5naXRpZ25vcmUgIFtTdGVwYW4gS2FzYWxdCisgICAtIGNhbGwgYXV0b21ha2UgYWZ0ZXIgYXV0b2NvbmYgIFtTdGVwYW4gS2FzYWxdCisgICAtIGNsZWFudXAgYXJjaGl0ZWN0dXJlIGNvbmRpdGlvbmFscyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBzeXMtdXRpbHMvIHJkZXYgc3ltbGlua3MgIFtLYXJlbCBaYWtdCisgICAtIGNvbmZpZ3VyZS5hbSBzZWxpbnV4IHN1cHBvcnQgY2xlYW51cCAgW0thcmVsIFpha10KKyAgIC0gZGVjbGFyZSBTVUlEX0NGTEFHUyBhbmQgU1VJRF9MREZMQUdTIGFzIHByZWNpb3VzICBbU3RlcGFuIEthc2FsXQorICAgLSBkbyBub3QgYnVpbGQgY29udmVuaWVuY2UgbGlicmFyaWVzIGluIGxpYi8gIFtTdGVwYW4gS2FzYWxdCisgICAtIGRvIG5vdCBraWNrIG9mZiBBTV9DRkxBR1MgYnkgU1VJRF9DRkxBR1MgIFtTdGVwYW4gS2FzYWxdCisgICAtIGRvIG5vdCBwbGF5IHdpdGggREVGUywgdXNlIEFNX0NQUEZMQUdTICBbU3RlcGFuIEthc2FsXQorICAgLSBkbyBub3Qgc2V0IHdpdGhfZm9vIHR3aWNlICBbU3RlcGFuIEthc2FsXQorICAgLSBkbyBub3QgdXNlIGludGVybmFsIEF1dG9jb25mIHZhcmlhYmxlcyAgW1N0ZXBhbiBLYXNhbF0KKyAgIC0gZG8gbm90IHVzZSB3aWxkY2FyZHMgaW4gRVhUUkFfRElTVCAgW1N0ZXBhbiBLYXNhbF0KKyAgIC0gZmFjdG9yIG91dCBjb21tb24gcGFydHMgZnJvbSBtb3VudC9NYWtlZmlsZS5hbSAgW1N0ZXBhbiBLYXNhbF0KKyAgIC0gZml4IGRpcmVjdG9yaWVzIGluIEVYVFJBX0RJU1QgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBIQVZFX05DVVJTRVMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBpZmRlZiBFTkFCTEVfV0lERUNIQVIgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBsaW5raW5nIHdoZW4gbmN1cnNlcyBpcyBidWlsdCB3aXRoIC0td2l0aC10ZXJtbGliPXRpbmZvICBbQXJrYWRpdXN6IE1pxZtraWV3aWN6XQorICAgLSBmaXggUkVBRE1FIGZpbGVuYW1lcyBhbmQgYWRkIG1pc3NpbmcgZmlsZXMgdG8gRVhUUkFfRElTVHMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0aGUgZXhhbXBsZSBjb25maWd1cmUgY2FsbCBpbiBSRUFETUUgIFtTdGVwYW4gS2FzYWxdCisgICAtIGZpeCB0aGUgZmluYWwgbWVzc2FnZSBvZiBhdXRvZ2VuLnNoICBbU3RlcGFuIEthc2FsXQorICAgLSBpbiBjb25maWd1cmUuYWMsIGNoYW5nZSAicG8iIC0+ICIkc3JjZGlyL3BvIiAgW1N0ZXBhbiBLYXNhbF0KKyAgIC0gaW4gdGhlIGNsZWFuIHRhcmdldHMgdXNlICJmaW5kIC4uLiB8IHhhcmdzIHJtIC1mIiAgW1N0ZXBhbiBLYXNhbF0KKyAgIC0gbGV0IGNvbmZpZ3VyZSBpbnN0YW50aWF0ZSB0aGUgbWlzYy11dGlscy8qLnBsIHNjcmlwdHMgIFtTdGVwYW4gS2FzYWxdCisgICAtIG1ha2UgdGhlIGdldG9wdCBleGFtcGxlIGRpcmVjdG9yeSByZWxhdGl2ZSB0byBkYXRhZGlyICBbU3RlcGFuIEthc2FsXQorICAgLSBtZXJnZSBhZGphY2VudCBBQ19DT05GSUdfSEVBREVSUyBhbmQgQUNfQ09ORklHX0ZVTkNTIGNhbGxzICBbU3RlcGFuIEthc2FsXQorICAgLSBtaW5vciBmaXhlcyBpbiBjb25maWd1cmUuaW4gIFtLYXJlbCBaYWtdCisgICAtIG1pc3NpbmcgaGVhZGVyIHdoZW4gTkxTIGlzIGRpc2FibGVkICBbR2FicmllbCBCYXJhemVyXQorICAgLSBtb3VudC9NYWtlZmlsZS5hbSB0aW55IGNsZWFudXAgSUkgIFtTdGVwYW4gS2FzYWxdCisgICAtIG1vdW50L01ha2VmaWxlLmFtIHRpbnkgY2xlYW51cCAgW1N0ZXBhbiBLYXNhbF0KKyAgIC0gbW92ZSAtRCBmbGFncyB0byAqX0NQUEZMQUdTICBbU3RlcGFuIEthc2FsXQorICAgLSBtb3ZlIHRoZSBvcHRpbWl6YXRpb24gZmxhZ3MgdG8gQU1fQ0ZMQUdTICBbU3RlcGFuIEthc2FsXQorICAgLSAtLXByZWZpeCBkZWZhdWx0cyB0byAvdXNyICBbU3RlcGFuIEthc2FsXQorICAgLSByZWxlYXNlKysgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBhY2xvY2FsLm00IGZyb20gU0NNICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgQUNfUFJPR19SQU5MSUIgIFtTdGVwYW4gS2FzYWxdCisgICAtIHJlbW92ZSBhc20vcGFnZS5oIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBjb25maWcuaC5pbiBmcm9tIFZDUyAgW1N0ZXBhbiBLYXNhbF0KKyAgIC0gcmVtb3ZlIGNvbmZpZy9pbmNsdWRlLU1ha2VmaWxlLmFtIGZyb20gRVhUUkFfRElTVCAgW1N0ZXBhbiBLYXNhbF0KKyAgIC0gcmVtb3ZlIERFRkFVTFRfSU5DTFVERVMgd29ya2Fyb3VuZCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIC1mb21pdC1mcmFtZS1wb2ludGVyICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZ2VuZXJhdGVkIGF1dG90b29scyBzdHVmZiBmcm9tIGdpdCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGxpYnRvb2wgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSAibWFrZSBtcnByb3BlciIsIGdpdC1jbGVhbiBpcyBnb29kIGVub3VnaCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHBvL01ha2V2YXJzLnRlbXBsYXRlIGZyb20gRVhUUkFfRElTVCAgW1N0ZXBhbiBLYXNhbF0KKyAgIC0gcmVtb3ZlIHN3YXBhcmdzLmgsIG1vdmUgdGhlIHRlc3RzIHRvIG1haW4gY29uZmlndXJlLmFjICBbU3RlcGFuIEthc2FsXQorICAgLSByZW5hbWUgdG8gLW5nLCBjaGFuZ2UgbWFpbnRhaW5lciBuYW1lICBbS2FyZWwgWmFrXQorICAgLSByZXBsYWNlIEFDX1RSWV8qIGJ5IEFDXypfSUZFTFNFICBbU3RlcGFuIEthc2FsXQorICAgLSBzL0FDX0hFTFBfU1RSSU5HL0FTX0hFTFBfU1RSSU5HLyAgW1N0ZXBhbiBLYXNhbF0KKyAgIC0gc2V0IERJU1RDSEVDS19DT05GSUdVUkVfRkxBR1MgaW4gdG9wLWxldmVsIG1ha2VmaWxlICBbU3RlcGFuIEthc2FsXQorICAgLSBzaW1wbGlmeSAiY2xlYW4iIGluIHRlc3RzL01ha2VmaWxlLmFtICBbU3RlcGFuIEthc2FsXQorICAgLSB1cGRhdGUgcG8vUE9URklMRVMuaW4gIFtTdGVwYW4gS2FzYWxdCisgICAtIHVzZSBkaXN0X2V4YW1wbGVfREFUQSAgW1N0ZXBhbiBLYXNhbF0KKyAgIC0gdXNlIGRpc3Rfbm9pbnN0X0RBVEEgdG8gd29yayBhcm91bmQgdGhlIGJ1ZyB3aXRoIGRpc3RfbWFuX01BTlMgIFtTdGVwYW4gS2FzYWxdCisgICAtIHVzZSBkaXN0X25vaW5zdF9IRUFERVJTIGluIGluY2x1ZGUvTWFrZWZpbGUuYW0gIFtTdGVwYW4gS2FzYWxdCisgICAtIHVzZSBkaXN0X3VzcmJpbmV4ZWNfU0NSSVBUUyBpbiBtaXNjLXV0aWxzL01ha2VmaWxlLmFtICBbU3RlcGFuIEthc2FsXQorY2FsOgorICAgLSBhZGQgdGVzdCBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBmaXggYSBzZWdmYXVsdCBhbmQgLTNtIGhpZ2hsaWdodGluZyAgW0thcmVsIFpha10KKyAgIC0gaWZkZWYgY2xlYW51cCwgbm9uLWN1cnNlcy90ZW1wY2FwIGNvZGUgZml4ZXMgIFtLYXJlbCBaYWtdCisgICAtIHdpZGVjaGFyIGNvZGUgY2xlYW51cCAgW0thcmVsIFpha10KK2NmZGlzazoKKyAgIC0gYnVpbGQtc3lzIGRlZmluZXMgSEFWRV9SUE1BVENILCBub3QgSEFWRV9ycG1hdGNoICBbS2FyZWwgWmFrXQorICAgLSBmaXggc3R1cGlkIHR5cG8gaW4gR1BUIGNoZWNrZXIgY2FsbCAgW0thcmVsIFpha10KK2Noc2g6CisgICAtIGRvbid0IHVzZSBlbXB0eSBzaGVsbCBmaWVsZCBpbiAvZXRjL3Bhc3N3ZCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHRhaWxpbmcgd2loaXQtc3BhY2VzIGFuZCB1c2UgUEFUSF9CU0hFTEwgIFtLYXJlbCBaYWtdCitjb2w6CisgICAtIGdldHdjaGFyKCkgZXJyb3JzIHNob3VsZG4ndCBiZSBoaWRkZW4gIFtLYXJlbCBaYWtdCitjeXR1bmU6CisgICAtIG1ha2UgdGhlIG9uZWxpbmVyIG1vcmUgc3BlY2lmaWMgdGhlIGN5Y2xhZGVzIGh3IGluIHF1ZXN0aW9uICBbSnVzdGluIEIgUnllXQorICAgLSByZW1vdmUgbGludXgvdHR5LmggaW5jbHVzaW9uICBbS2FyZWwgWmFrXQorZGRhdGU6CisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyAgW0thcmVsIFpha10KK2Rpc2stdXRpbHM6CisgICAtIGZpeCBsaWJ1dWlkIHVzYWdlIGluIG1rc3dhcCAgW01hdHRoaWFzIEtvZW5pZ10KKyAgIC0gbGV0IG1rZnMgdG9vbHMgb3BlbiB3aXRoIE9fRVhDTCAgW01hdHRoaWFzIEtvZW5pZ10KK2RvY3M6CisgICAtIGFkZCBERVBSRUNBVEVEIHRvIEVYVFJBX0RJU1QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub3RlIGFib3V0IGh0dHAgLy90cmFuc2xhdGlvbnByb2plY3Qub3JnICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcmRldig4KSBiZXR3ZWVuIGRlcHJlY2F0ZWQgdXRpbHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBSRUFETUUubGljZW5zaW5nICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcmVsZWFzZSBub3RlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRoZSBERVBSRUNBVEVEIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIFRPRE8gZmlsZSBhbmQgYWRkIGEgbmV3IHJlc3Vlc3QgZm9yIDIuMTQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBhdXRob3JzaGlwIG9mIDgtYml0IGNsZWFudXAgYWdldHR5IHBhdGNoICBbS2FyZWwgWmFrXQorICAgLSBmaXggQlNEIGxpY2VuY2UgbmFtZSBpbiBSRUFETUUubGljZW5zaW5nICBbS2FyZWwgWmFrXQorICAgLSBmaXggaW5mbyBhYm91dCBkZXZlbC9tYXN0ZXIgYnJhbmNocyAgW0thcmVsIFpha10KKyAgIC0gZml4IFVSTCBhbmQgdHlwb3MgaW4gUkVBRE1FLmRldmVsICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZGVwcmVjYXRlZCBzZWN0aW9uIGZyb20gUkVBRE1FICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgcmVsZWFzZSBub3RlcyAgW0thcmVsIFpha10KK2ZkaXNrOgorICAgLSBNYWtlZmlsZS5hbSByZWZhY3RvcmluZyAgW0thcmVsIFpha10KKyAgIC0gYWRkIEdQVCBkZXRlY3Rpb24gY29kZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIE1BQyBsYWJlbCBkZXRlY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciB1ZGV2IHBlcnNpc3RlbnQgZGV2aWNlIG5hbWVzICBbTWF0dGhpYXMgS29lbmlnXQorICAgLSBjaGVjayByZXR1cm5zIGluIGZkaXNrIGZyb20gcGFydGl0aW9uIGNoYW5nZXMgIFtNaWtlIEZyeXNpbmdlcl0KKyAgIC0gY2xlYW51cCBmdWxsIGRpc2sgZGV0ZWN0aW9uIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgcGFydG5hbWUuYyAgW0thcmVsIFpha10KKyAgIC0gZG8gbm90IGNvbXBsYWluIGFib3V0IHJlZ3VsYXIgZmlsZXMgIFtILiBQZXRlciBBbnZpbl0KKyAgIC0gZml4ICJkaWZmZXIgaW4gc2lnbmVkbmVzcyIgY29tcGlsZXIgd2FybmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAidHlwZSBxdWFsaWZpZXJzIGlnbm9yZWQgb24gZnVuY3Rpb24gcmV0dXJuIHR5cGUiICBbS2FyZWwgWmFrXQorICAgLSBtYW55IHNpZ25pZmljYW50IGltcHJvdmVtZW50cyBhbmQgZml4ZXMgdG8gU3VuIGxhYmVsIGhhbmRsaW5nICBbRGF2aWQgTWlsbGVyXQorICAgLSBtb3ZlIGR1cGxpY2F0ZSBzdHVmZiBmcm9tIGZkaXNrKmxhYmVsLmggdG8gZmRpc2suaCAgW0thcmVsIFpha10KKyAgIC0gdXNlIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnN0ZWFkIGludCBmb3Igc2VjdG9ycyAgW0thcmVsIFpha10KKyAgIC0gd2hlbiBnZW5lcmF0aW5nIGEgRE9TIGRpc2sgbGFiZWwsIGdpdmUgaXQgYW4gSUQgIFtILiBQZXRlciBBbnZpbl0KK2dldG9wdDoKKyAgIC0gcmVtb3ZlIG9sZCB1bnVzZWQgZmlsZXMgIFtLYXJlbCBaYWtdCitoZXhkdW1wOgorICAgLSBkb24ndCB1c2UgbWVtc2V0IHdpdGggemVybyBsZW5ndGggIFtLYXJlbCBaYWtdCitod2Nsb2NrOgorICAgLSBhZGQgLS1ydGM9PHBhdGg+IG9wdGlvbiBhbmQgc3VwcG9ydCBmb3IgL2Rldi9ydGMwICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgYXVkaXQgc3lzdGVtICBbS2FyZWwgWmFrXQorICAgLSBmaXggLS1zeXN0b2hjIHNldHMgY2xvY2sgMC41IHNlY29uZHMgc2xvdyAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBnZ2MgaGFwcHkgYW5kIGNoZWNrIHJldHVybiB2YWx1ZXMgZnJvbSBmZ2V0cywgcmVhZCBhbmQgd3JpdGUgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB0YWlsaW5nIHdoaXRlLXNwYWNlcyBhbmQgY2xlYW4gdXAgY2xvY2suaCAgW0thcmVsIFpha10KK2lvbmljZToKKyAgIC0gY2xlYW4gdXAgZXJyb3IgaGFuZGxpbmcgIFtNYXR0aGlhcyBLb2VuaWddCisgICAtIGNsZWFudXAgdXNhZ2UgZm9yIGlkbGUgY2xhc3MgIFtNYXR0aGlhcyBLb2VuaWddCisgICAtIGZpeCBpb25pY2UgYnVpbGQgb24gc3BhcmMgIFtEYXZpZCBNaWxsZXJdCisgICAtIHByZWZlciBTWVNfaW9wcmlvX3tzZXQsZ2V0fSBmcm9tIGdsaWJjIHRvIGhhcmRjb2RlZCB2ZXJzaW9uICBbS2FyZWwgWmFrXQoraXBjczoKKyAgIC0gYWRkIG5ldyB0ZXN0cyBmb3IgaXBjcyBsaW1pdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCByZWdyZXNzaW9uIHRlc3QgZm9yIG91dHB1dCBoZWFkZXJzICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyBpbiBTZW1hcGhvcmUgaGVhZGVycyAgW0thcmVsIFpha10KKyAgIC0gbWF4IHRvdGFsIHNoYXJlZCBtZW1vcnkgaW4ga2J5dGVzIGluc3RlYWQgcGFnZXMgIFtLYXJlbCBaYWtdCitsb2dnZXI6CisgICAtIHVzZSBzbnByaW50ZiBpbnN0ZWFkIG9mIHNwcmludGYgaW4gbG9nZ2VyLmMgIFtMYU1vbnQgSm9uZXNdCitsb2dpbjoKKyAgIC0gYWRkIGF1ZGl0IHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBJUHY2IHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCByZWdyZXNzaW9uIHRlc3QgZm9yIElQIGFkZHJlc3MgY2hlY2tpbmcgY29kZSAgW0thcmVsIFpha10KKyAgIC0gYXR0ZW1wdCB0byBydW4gaWYgaXQgaGFzIG5vIHJlYWQvd3JpdGUgYWNjZXNzIHRvIGl0cyB0ZXJtaW5hbCAgW0phc29uIFZhcyBEaWFzXQorICAgLSBjbG9zZSBQQU0gc2Vzc2lvbiBhZnRlciBmYWlsZWQgcGFtX3NldGNyZWQgIFtTdGV2ZSBHcnViYl0KKyAgIC0gaW1wcm92ZSB3b3JrIHdpdGggc2lnbmFscyAgW0thcmVsIFpha10KKyAgIC0ga2VlcCBzeXNsb2cgdXNlZnVsIGZvciBlbmQgb2YgUEFNIHNlc3Npb24uICBbS2FyZWwgWmFrXQorICAgLSBsb2dpbidzIHRpbWVvdXQgY2FuIGZhaWwgIFtKYXNvbiBWYXMgRGlhc10KKyAgIC0gb21pdHMgUEFNIGFjY291bnQgdmFsaWRhdGlvbiB3aGVuIGF1dGggaXMgc2tpcHBlZCAoQ1ZFLTIwMDYtNzEwOCkgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB0cmlpbGluZyB3aGl0ZS1zcGFjZXMgIFtLYXJlbCBaYWtdCisgICAtIHJlcGxhY2UgL3Vzci9zcG9vbC9tYWlsIHdpdGggL3Zhci9zcG9vbC9tYWluIGluIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgMzJiaXQgdXRtcCBjb3JyZWN0bHkgb24gNjRiaXQgc3lzdGVtICBbS2FyZWwgWmFrXQorbG9tb3VudC5jOgorICAgLSBkb24ndCB1c2UgbWxvY2thbGwgaWYgQ1JZUFRfTk9ORSAgW01hc2F0YWtlIFlBTUFUT10KK2xvb2s6CisgICAtIGZpeCBwcm9ibGVtIHdpdGggIWlzYWxudW0oKSB3b3JkcyAgW0thcmVsIFpha10KKyAgIC0gbWFuIHBhZ2UgY2xhcmlmaWNhdGlvbiAgW1DDoWRyYWlnIEJyYWR5XQorICAgLSByZW1vdmUgdGFpbGluZyB3aGl0ZS1zcGFjZXMgIFtLYXJlbCBaYWtdCitsb3NldHVwOgorICAgLSBhZGQgLWEgb3B0aW9uIHRvIGxpc3QgYWxsIHVzZWQgbG9vcCBkZXZpY2VzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYSBuZXcgb3B0aW9uIC1zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbG9uZyBvcHRpb25zIGFuZCBmaXggbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IHJlYWQtb25seSBsb29wcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRvIG1hbiBwYWdlIGluZm8gYWJvdXQgZGVwcmVjYXRlZCBjcnlwdG9sb29wICBbS2FyZWwgWmFrXQorbWFuIHBhZ2VzOgorICAgLSBhZGQgIkFWQUlMQUJJTElUWSIgc2VjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBvZiBjaHJ0LjEgYW5kIHRhc2tzZXQuMSAgW0xhTW9udCBKb25lc10KK21jb29raWU6CisgICAtIHJlbW92ZSBub24tbGludXggY29kZSAgW0thcmVsIFpha10KK21pc2MtdXRpbDoKKyAgIC0gbmV3IHJ0Y3dha2UgY29tbWFuZCAgW0Jlcm5oYXJkIFdhbGxlXQorbWlzYy11dGlsczoKKyAgIC0gYWRkIHNjcmlwdHJlcGxheSBtYW5wYWdlICBbTWF0dGhpYXMgS29lbmlnXQorICAgLSByZW1vdmUgb2xkIGNhbCB0ZXN0ICBbS2FyZWwgWmFrXQorbWtmczoKKyAgIC0gcmVtb3ZlIG5vbnNlbnNlIGZyb20gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCitta2ZzLmNyYW1mczoKKyAgIC0gY2xlYW51cCBIQVZFXyBtYWNyb3MgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBhIHdheSBob3cgbWtmcyB3b3JrcyB3aXRoIGVtcHR5IGZpbGVzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgaGFyZGNvZGVkIGxpbWl0IGZvciBkaXJlY3RvcmllcyAgW0thcmVsIFpha10KK21rc3dhcDoKKyAgIC0gYWRkIHJlZ3Jlc3Npb24gdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYXV0b21hdGljYWxseSBhZGQgc2VsaW51eCBsYWJlbCB0byBzd2FwZmlsZSAgW0thcmVsIFpha10KKyAgIC0gYXZvaWQgbWtzd2FwIHVzYWdlIG9uIGFscmVhZHkgbW91bnRlZCBkZXZpY2UgIFtLYXJlbCBaYWtdCisgICAtIGRlZmF1bHQgdG8gVjEgaW4gYW55IGNhc2UgIFtNYXR0aGlhcyBLb2VuaWddCisgICAtIGZpeCBzaWduZWRuZXNzIHByb2JsZW1zIGFuZCByZW1vdmUgb2Jzb2xldGUgY29kZSAgW0thcmVsIFpha10KKyAgIC0gZ2NjIGhhcHB5ICB1bnNpZ25lZCBsb25nIHVzYWdlICBbS2FyZWwgWmFrXQorbW9yZToKKyAgIC0gZml4IGZpbGUgZGVzY3JpcHRvciBsZWFrICBbU3RldmUgR3J1YmJdCisgICAtIGZpeCB1bmRlcmxpbmluZyBmb3IgbXVsdGlieXRlIGNoYXJzICBbS2FyZWwgWmFrXQorbW91bnQ6CisgICAtIGFkZCBhY2wgb3B0aW9uIGRvY3VtZW50YXRpb24gZm9yIGV4dDMgYW5kIHJlaXNlcmZzICBbTWF0dGhpYXMgS29lbmlnXQorICAgLSBhZGQgbm90ZSBhYm91dCAvZXRjL210YWIgdW5yZWxpYWJpbGl0eSB0byBtb3VudC44ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCBmY250bC9pb2N0bCB1bnJlbGlhYmlsaXR5IG9uIE5GUyB0byBtb3VudC44ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLXMgYW5kIC1mIGFuZCBub3RlIHRvIG1hbiBwYWdlIGZvciBleHRlcm5hbCBtb3VudCBoZWxwZXJzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc2ltcGxlIChwcmludGYtbGlrZSkgZGVidWcgcm91dGluZSBhbmQgLS1kZWJ1ZyBvcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciBjb250ZXh0LCBmc2NvbnRleHQgYW5kIGRlZmNvbnRleHQgc2VsaW51eCBtb3VudCBvcHRpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgbWl4ZWQgdXNhZ2Ugb2YgU1BFQ2VzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgbXRhYiAidWhlbHBlciIgb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhdm9pZCBkdXBsaWNhdGUgZW50cmllcyBpbiBtdGFiIHdoZW4gbW91bnQgLWYgIFtLYXJlbCBaYWtdCisgICAtIGF2b2lkIGR1cGxpY2F0ZXMgZm9yIHJvb3QgZnMgaW4gbXRhYiAgW01hdHRoaWFzIEtvZW5pZ10KKyAgIC0gY2FsbCAvc2Jpbi9tb3VudC48dHlwZT4gYWxzbyB3aGVuIG1vdW50aW5nIHdpdGhvdXQgIi10IiAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgZ2V0ZnMqIChmc3RhYi5jKSBpbnRlcmZhY2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIGluZm8gYWJvdXQgTkZTIGluIG1vdW50LjggIFtLYXJlbCBaYWtdCisgICAtIGRvZXNuJ3QgcnBjX3BpcGVmcyBhbmQgbmZzZCBvbiB1bW91bnQgLWEgIFtLYXJlbCBaYWtdCisgICAtIGRvIG5vdCB0cmVhdCBhcm0vc3BhcmMgc3BlY2lhbGx5LiAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSBkb24ndCB1bW91bnQgc3lzZnMgd2hlbiBydW5uaW5nIHVtb3VudCAtYSAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSBmaXggLWYgLW8gcmVtb3VudCAgW0thcmVsIFpha10KKyAgIC0gZml4IC1mdiBzbyB0aGF0IGl0IGRvZXNuJ3QgaW5jb3JyZWN0bHkgc3BpdCBvdXQgYW4gZXJyb3IgdGhhdCBub3RoaW5nIHdhcyBkb25lLiAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSBmaXggaGFzXyogZnVuY3Rpb25zIChDVkUtMjAwNy0wODIyKSAgW0thcmVsIFpha10KKyAgIC0gZml4IGluY29ycmVjdCBiZWhhdmlvciB3aGVuIG1vcmUgdGhhbiBvbmUgZnMgdHlwZSBpcyBzcGVjaWZpZWQgIFtBdHRpbGEgw4FmcmFdCisgICAtIGZpeCBsaXN0IGxvZ2ljIGluIHVwZGF0ZV9tdGFiICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtb3J5IHVzYWdlIGluIHVwZGF0ZV9tdGFiICBbTWlrZSBGcnlzaW5nZXJdCisgICAtIGZpeCBtdGFiX2xvY2sgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvIGluIGVycm9yIG1lc3NhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZyZWUgbG9vcCBkZXZpY2Ugb24gZmFpbHVyZSAgW1Nhc2NoYSBTb21tZXJdCisgICAtIGZzcHJvYmUgIGFkZCBsaWJ2b2x1bWVfaWQgc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gZnNwcm9iZSAgYWRkIGxpYnZvbHVtZV9pZCBzdXBwb3J0IHRvIGNvbmZpZ3VyZS5hYyAgW0thcmVsIFpha10KKyAgIC0gZnNwcm9iZSAgbWFrZSBmc3Byb2JlX2dldF9kZXZuYW1lIGZ1bmN0aW9ucyBtb3JlIGdlbmVyaWMgIFtLYXJlbCBaYWtdCisgICAtIGZzcHJvYmUgIHJlbW92ZSBtb3VudF9ndWVzc19mc3R5cGUue2MsaH0gIFtLYXJlbCBaYWtdCisgICAtIGZzcHJvYmUgIHJlbW92ZSBub24tYmxraWQgY29kZSAgW0thcmVsIFpha10KKyAgIC0gZnNwcm9iZSAgcmVuYW1lIGZpbGVzIHRvIGZzcHJvYmVfKiAgW0thcmVsIFpha10KKyAgIC0gZnNwcm9iZSAgcmVuYW1lIHRoZSByZXN0IG9mIEFQSSByb3V0aW5lcyB0byBmc3Byb2JlXyogIFtLYXJlbCBaYWtdCisgICAtIGZzcHJvYmUgIHVzZSBibGtpZCBjYWNoZSBvbmx5IHdoZW4gcmVhbGx5IG5lY2Vzc2FyeSAgW0thcmVsIFpha10KKyAgIC0gZ2V0ZnNfKiAoZnN0YWIpIGludGVyZmFjZSBoYXMgdG8gd29yayB3aXRoIGNhbm9uaWNhbGl6ZSgpICBbS2FyZWwgWmFrXQorICAgLSBraWxsIG1vdW50X2d1ZXNzX3Jvb3RkZXYgIFtTdGVwYW4gS2FzYWxdCisgICAtIGxvb3AgZGV2aWNlIHJhY2UgY29uZGl0aW9uICBbTWF0dGhpYXMgS29lbmlnXQorICAgLSBtZW50aW9uIGhmc3BsdXMgaW4gbW91bnQgbWFucGFnZSAgW0xhTW9udCBKb25lc10KKyAgIC0gbmVlZHMgdG8gaGFuZGxlIHNwZWNpYWwgbW91bnRwcm9nIGV2ZW4gb24gZ3Vlc3NlZCBmaWxlIHN5c3RlbXMuICBbS2FyZWwgWmFrXQorICAgLSBwYXJzZSBTUEVDIGJlZm9yZSBzZWFyY2ggaW4gZnN0YWIgIFtLYXJlbCBaYWtdCisgICAtIHJlbGF0aXZlIGF0aW1lIHN1cHBvcnQgIFtWYWxlcmllIEhlbnNvbl0KKyAgIC0gcmVtb3ZlIGFsbCBORlMgY29kZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIG5mc21vdW50KCkgZnJvbSBzdW5kcmllcy5oICBbS2FyZWwgWmFrXQorICAgLSByZXdyaXRlIGdldGZzX2J5X3NwZWNkaXIoKSB3aXRob3V0IG1lbSBsZWFrcyAgW0thcmVsIFpha10KKyAgIC0gc2hhcmVkLXN1YnRyZWUgc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gc2hvdWxkIHNldCBwcm9wZXIgcGVybWlzc2lvbnMgb24gbG9ja3RpbWUgIFtGbMOhdmlvIExlaXRuZXJdCisgICAtIHVwZGF0ZSBtdGFiIGNvcnJlY3RseSB3aGVuIG1vdW50IC0tbW92ZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHhmcyBtb3VudCBvcHRpb25zICBbTWF0dGhpYXMgS29lbmlnXQorICAgLSB1c2UgZW5jb2RlZCBsYWJlbHMgZm9yIHZvbHVtZV9pZCAgW0theSBTaWV2ZXJzXQorICAgLSB1c2UgZ3Jvd2FibGUgc3RyaW5nIGZvciBvcHRpb25zICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbG9vcD0gb3B0aW9uIHdoZW4gbW91bnRpbmcgYnkgL3NiaW4vbW91bnQuPHR5cGU+ICBbS2FyZWwgWmFrXQorICAgLSB1c2UgcmVhbGxvYyBmb3IgeHN0cmNvbmNhdCBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSB2ZXJib3NlIG1vZGUgaW5zdGVhZCBkZWJ1ZyBtb2RlICBbS2FyZWwgWmFrXQorbmFtZWk6CisgICAtIGZpeCBsb2dpYyBhbmQgaW5maW5pdGUgbG9vcCBvZiBzeW1saW5rcyAgW0thcmVsIFpha10KKyAgIC0gbmV3IHJlZ3Jlc3Npb24gdGVzdCAgW0thcmVsIFpha10KK25ld2dycDoKKyAgIC0gYWRkIHN1cHBvcnQgZm9yIC9ldGMvZ3NoYWRvdyAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgcmVzdWx0IGZyb20gZ2V0Z3JuYW0oKSBtb3JlIGNhcmVmdWxseSAgW0thcmVsIFpha10KK3BhcnR4OgorICAgLSBhZGQgbWFuIHBhZ2VzIGZvciBhZGRwYXJ0LCBkZWxwYXJ0IGFuZCBwYXJ0eCAgW0thcmVsIFpha10KK3BvOgorICAgLSBnZXR0ZXh0aXppbmcgc29tZSBvdmVybG9va2VkIG1lc3NhZ2VzLiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSByZW5hbWUgbW91bnQvbW50ZW50LmMgdG8gbW91bnQvbW91bnRfbW50ZW50LmMgIFtLYXJlbCBaYWtdCisgICAtIHR5cG8gaW4gZnJlbmNoIHRyYW5zbGF0aW9uIG9mIG1vdW50IGVycm9yLiAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSB1cGRhdGUgY3MucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtQZXRyIFBpc2FyXQorICAgLSB1cGRhdGUgZGUucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtNaWNoYWVsIFBpZWZlbF0KKyAgIC0gdXBkYXRlIG5sLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHVwZGF0ZSBzdi5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0RhbmllbCBOeWxhbmRlcl0KKyAgIC0gdXBkYXRlIHZpLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUGhhbiBWaW5oIFRoaW5oXQorICAgLSB2aXB3IGRvZXNuJ3QgdXNlIHJwbWF0Y2gsIGFsbCB0cmFuc2xhdGlvbnMgaGF2ZSB0byB1c2UgeS9uICBbS2FyZWwgWmFrXQorcmF3OgorICAgLSBhZGQgZmlsZSB3aXRoIHVkZXYgcnVsZSBleGFtcGxlICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBhY2NlcHQgcmF3MCBhcyBhIHRhcmdldCBuYW1lICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHRoZSByYXcgY29tbWFuZCB0byAvc2JpbiAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIG1hbiBwYWdlIChhYm91dCBkZCBhbmQgT19ESVJFQ1QpICBbS2FyZWwgWmFrXQorcmRldjoKKyAgIC0gc2hvdWxkIGJlIGRlbGl2ZXJlZCBvbiBhbWQ2NCBhcyB3ZWxsIGFzIGkzODYuICBbTGFNb250IEpvbmVzXQorcmVhZHByb2ZpbGU6CisgICAtIGZpeCBvbiBwcGM2NCAgW01hdHRoaWFzIEtvZW5pZ10KK3NjaGVkdXRpbHM6CisgICAtIGFkZCBzdXBwb3J0IGZvciBTQ0hFRF9CQVRDSCAgW0thcmVsIFpha10KKyAgIC0gZGVmaW5lIFNDSEVEX0JBVENIIHdoZW4gY29tcGlsZSB3aXRoIG9sZCBnbGliYyAgW0thcmVsIFpha10KKyAgIC0gZml4IGNocnQgZG9jcyBhbmQgcGlkPTAgdXNhZ2UgIFtNYXR0aGlhcyBLb2VuaWddCisgICAtIHJlbW92ZSBleHRyYSBoeXB0ZW5zIGZyb20gbWFuIHBhZ2VzICBbS2FyZWwgWmFrXQorc2NyaXB0OgorICAgLSBmaXggcmFjZSBjb25kaXRpb25zICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIHF1aWV0IG1vZGUgIFtLYXJlbCBaYWtdCitzZXRhcmNoOgorICAgLSBhZGQgTkxTIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLTNnYiBvcHRpb24gZm90IGNvbXBhdGliaWxpdHkgd2l0aCBEZWJpYW4gbGludXh7MzIsNjR9IGNvbW1hbmQgIFtLYXJlbCBaYWssIExhTW9udCBKb25lc10KKyAgIC0gYWRkIF9fYWxwaGFfXyBzdXBwb3J0ICBbQmFsaW50IENyaXN0aWFuXQorICAgLSBhZGQgcGFyaXNjL3BhcmlzYzY0IHN1cHBvcnQgIFtMYU1vbnQgSm9uZXNdCisgICAtIGFkZCBzcGFyYzMyYmFzaCBhbGlhcyB0byBrZWVwIGNvbXBhdGliaWxpdHkgd2l0aCBzcGFyYzMyICBbRGVubmlzIEdpbG1vcmVdCisgICAtIGNsZWFudXAgbGljZW5zaW5nIG5vdGUgIFtLYXJlbCBaYWtdCisgICAtIGZpbmlzaCBhZGRpbmcgcGFyaXNjIHN1cHBvcnQgIFtLYXJlbCBaYWssIExhTW9udCBKb25lc10KK3NmZGlzazoKKyAgIC0gZml4ICJkaWZmZXIgaW4gc2lnbmVkbmVzcyIgY29tcGlsZXIgd2FybmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAibWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCIgY29tcGlsZXIgd2FybmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIHNldHRpbmcgZGVmYXVsdCBnZW9tZXRyeSB2YWx1ZXMgIFtMdWNpYW5vIENoYXZlel0KK3N3YXBvZmY6CisgICAtIGNvcnJlY3RseSBoYW5kbGUgVVVJRD0gYW5kIExBQkVMPSBpZGVudGlmaWVycyAgW0xhTW9udCBKb25lc10KK3N3YXBvbjoKKyAgIC0gY2xlYW51cCBQQVRIXyBtYWNyb3MgYW5kIHRhaWxpbmcgd2hpdGUtc3BhY2VzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGZzcHJvYmVfKigpIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBkb2VzIG5vdCBjb3JyZWN0bHkgZGVhbCB3aXRoIHN5bWxpbmtzICBbTWFyY28gZCdJdHJpXQorICAgLSBmaXggc3dhcG9uIGhlYWRlcnMgYW5kIHN5c2NhbGxzICBbTWlrZSBGcnlzaW5nZXJdCisgICAtIHNpbXBsaWZ5IGFuICNpZiAgW1N0ZXBhbiBLYXNhbF0KK3N5cy11dGlsczoKKyAgIC0gYWRkIGFyY2goMSkgYmFjayB0byB0aGUgb2ZmaWNpYWwgdHJlZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vdGUgYWJvdXQgb2Jzb2xldGUgcmFtc2l6ZSBvcHRpb24gdG8gcmRldi44ICBbS2FyZWwgWmFrXQorICAgLSBhZGRlZCBzZXRhcmNoIGNvbW1hbmQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtYW4gcGFnZSBoZWFkZXJzICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHNvbWUgbWFuIHBhZ2VzIGZyb20gY2F0ZWdvcnkgOCB0byAxICBbS2FyZWwgWmFrXQordGFza3NldDoKKyAgIC0gY2hlY2sgZm9yIGV4aXN0ZW5jZSBvZiBzY2hlZF9nZXRhZmZpbml0eSAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSBpbmRlcGVuZGVudCBvZiBoYXJkY29kZWQgTlJfQ1BVUyBtYXguICBbQ2xpZmYgV2lja21hbl0KK3Rlc3RzOgorICAgLSBhZGQgYmFzaWMgaW5mcmFzdHJ1Y3R1cmUgZm9yIHJlZ3Jlc3Npb24gdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjYWwgLTEgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNhbCAtMyB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgY2FsIC15IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBleHBlY3RlZCBvdXRwdXRzIGZvciBjcmFtZnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmdW5jdGlvbnMgZm9yIGxhYmVsLCB1dWlkIGFuZCBmc3R5cGUgZGV0ZWN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaHdjbG9jayBzeXN0b2hjIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsaWJyYXJ5IGZvciBMRF9QUkVMT0FEIHRvIG1hbmlwdWxhdGUgd2l0aCB0aW1lKCkgaW4gdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsaWNlbnNlIG5vdGljZXMsIGNoYW5nZSBmcm9tIGdwbHYyLW9ubHkgdG8gZ3BsdjItb3ItbGF0ZXIgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsb2NrX210YWIoKSBwZXJmb3JtYW5jZSBhbmQgcmVsaWFiaWxpdHkgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxvb2sgdGVzdCBmb3Igd29yZHMgd2l0aCBzZXBhcmF0b3IgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtaXNzaW5nIGhlYWRlciAgW01hdHRoaWFzIEtvZW5pZ10KKyAgIC0gYWRkIG1rZnMuY3JhbWZzIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW9yZSB2YXJpYW50cyB0byB7bW91bnQsZnN0YWJ9LWJ5LXtsYWJlbCx1dWlkLGRldm5hbWV9ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW91bnQgYnkgZGV2bmFtZSBmcm9tIGZzdGFiICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW91bnQgYnkgZGV2bmFtZSB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW91bnQgYnkgZGV2bmFtZSB3aXRoIGxhYmVsIGluIGZzdGFiICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW91bnQgYnkgZGV2bmFtZSB3aXRoIHV1aWQgaW4gZnN0YWIgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtb3VudCBieSBsYWJlbCBmcm9tIGZzdGFiIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtb3VudCBieSBMQUJFTCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW91bnQgYnkgbGFiZWwgd2l0aCBkZXZuYW1lIGluIGZzdGFiICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW91bnQgYnkgbGFiZWwgd2l0aCB1dWlkIGluIGZzdGFiICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW91bnQgYnkgVVVJRCBmcm9tIGZzdGFiIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtb3VudCBieSBVVUlEIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtb3VudCBieSB1dWlkIHdpdGggZGV2bmFtZSBpbiBmc3RhYiAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1vdW50IGJ5IHV1aWQgd2l0aCBsYWJlbCBpbiBmc3RhYiAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1vdW50IC9kZXYvc3ltbGluayB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW91bnQgLS1tb3ZlIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtb3VudCAtbyByZW1vdW50IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCByZXR1cm4gY29kZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNjcmlwdCgxKSByYWNlIGNvbmRpdGlvbiB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc2ltcGxlIGhlbHBlciB0aGF0IHJldHVybnMgaW5mbyBhYm91dCBzeXN0ZW0gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciBmc3RhYiBtb2RpZmljYXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciBzdWlkIHByb2dyYW1zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3dhcG9uIGJ5IGRldm5hbWUgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN3YXBvbiBieSBVVUlEIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0ZXN0IGZvciAvc2Jpbi9tb3VudC48dHlwZT4gY2FsbCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRzX2xvZyBhbmQgLS12ZXJib3NlIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0c19vayBhbmQgdHNfZmFpbGVkICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGJsa2lkIGNhY2hlIGFmdGVyIHRlc3QgZGV2aWNlIGRlaW5pdGlhbGl6YXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGNvZGUgcmVmYWN0b3JpbmcgLS0gbmV3IHRzX2RldmljZV9pbml0IGZ1bmN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBjb2RlIHJlZmFjdG9yaW5nIC0tIG5ldyB0c19za2lwX25vbnJvb3QgZnVuY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIGNvZGUgcmVmYWN0b3JpbmcgLS0gbmV3IHRzX3VkZXZfbG9vcF9zdXBwb3J0IGZ1bmN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBlbmFibGUgbXRhYmxvY2sgdGVzdCB3aGVuIHVpZD0wIG9ubHkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBhcmd2W10gdXNhZ2UgaW4gbW50X3Rlc3Rfc3lzaW5mby5jICBbS2FyZWwgWmFrXQorICAgLSBmaXggZGVwZW5kZW5jZSBvbiBibGtpZCAgW0thcmVsIFpha10KKyAgIC0gZml4IE1ha2VmaWxlLmFtIChhZGQgbWlzc2luZyB0ZXN0cykgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0c19mc3RhYl9hZGQgZnVuY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBVTE9OR19NQVggdXNhZ2Ugb24gMzJiaXQgbWFjaGluZXMgIFtLYXJlbCBaYWtdCisgICAtICJpZiBbLi4uXSIgY2xlYW4gdXAgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgY2xlYW4gbmVlZCB0byByZW1vdmUgZGlmZnMgYW5kIG91dHB1dHMgIFtLYXJlbCBaYWtdCisgICAtIHBhc3MgYWxsIGFyZ3VtZW50cyB0byB0c19pbml0LCBhZGQgdHNfaGFzX29wdGlvbiBmdW5jdGlvbiAgW0thcmVsIFpha10KKyAgIC0gcmVmcmVzaCBtdGFibG9jayBvdXRwdXQgaW4gZXhwZWN0ZWQvIGRpcmVjdG9yeSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGRlcGVuZGVuY2Ugb24gaGVscGVycy9saWJwcmVsb2FkLXRpbWUuc28gIFtLYXJlbCBaYWtdCisgICAtIHNpbXBsaWZ5IGRldmljZXMgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHVzZSAkQVdLIGJhc2VkIG9uIGNvbmZpZ3VyZSByZXN1bHRzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgcmVsYXRpdmUgcGF0aHMgd2hlbiBzb3VyY2luZyBmaWxlcyAgW01pa2UgRnJ5c2luZ2VyXQordGV4dC11dGlsczoKKyAgIC0gZml4IHRoZSBtb3JlIGNvbW1hbmQgY29tcGlsYXRpb24gYWdhaW5zdCB0ZXJtY2FwICBbS2FyZWwgWmFrXQordG9vbHM6CisgICAtIGFkZCBjb2RlY2hlY2stY29uZmlnIHRoYXQgY2hlY2tzIGZvciB7SEFWRSxFTkFCTEV9XyBvcnBoYW5zICBbS2FyZWwgWmFrXQordmlwdzoKKyAgIC0gZml4IHBlcm1pc3Npb25zICg2MDAtPjQwMCkgZm9yIGVkaXRlZCAvZXRjL1tnXXNob2RvdyBmaWxlcyAgW0thcmVsIFpha10KK3dhbGw6CisgICAtIGZpeCBPX05PTkJMT0NLIHVzYWdlICBbQWxhbiBDdXJyeV0KKyAgIC0gcmVtb3ZlIGRlcHJlY2F0ZWQgc2lnc2V0bWFzaygpIGZyb20gd2FsbCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVud2FudGVkIG5ld2xpbmVzIGZyb20gd2FsbCAgW0thcmVsIFpha10KK3doZXJlaXM6CisgICAtIGFkZCBsaWI2NCBwYXRocyAgW0thcmVsIFpha10KKworLSBDbGVhbiB1cCBwYWdlc2l6ZS9QQUdFX1NJWkUgdXNhZ2UuICBbS2FyZWwgWmFrXQorLSBhbHNvIHNlYXJjaCBmb3IgX19zdGV4dCBpbiByZWFkcHJvZmlsZSAgW01pa2UgRnJ5c2luZ2VyXQorLSBjaGVjayBleGl0IHN0YXR1cyBvZiBhdXRvdG9vbHMgIFtNaWtlIEZyeXNpbmdlcl0KKy0gY2xlYW4gdXAgcmVhbHBhdGguW2NoXSBpbmNsdWRlcyBhbmQgbWFjcm9zICBbS2FyZWwgWmFrXQorLSBleGVjbCgpIHNob3VsZCBiZSB1c2UgTlVMTCBub3QgMCAgW0thcmVsIFpha10KKy0gbWFucGFnZSB0eXBvcyAgW0xhTW9udCBKb25lc10KKy0gcmVtb3ZlIGhhcmRjb2RlZCBwYWNrYWdlIG5hbWUgZnJvbSBzb21lIHV0aWxzICBbS2FyZWwgWmFrXQorCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE0LVJlbGVhc2VOb3RlcyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTQtUmVsZWFzZU5vdGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2YmIxNTQKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE0LVJlbGVhc2VOb3RlcwpAQCAtMCwwICsxLDQxOCBAQAorCitVdGlsLWxpbnV4LW5nIDIuMTQgUmVsZWFzZSBOb3RlcyAoMDktSnVuLTIwMDgpCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK1JlbGVhc2UgaGlnaGxpZ2h0cworLS0tLS0tLS0tLS0tLS0tLS0tCisKKyBtb3VudCg4KSBzdXBwb3J0cyBuZXcgIm5vZmFpbCIgbW91bnQgb3B0aW9uLgorCisgbW91bnQoOCkgc3VwcG9ydHMgYXV0by1kZXN0cnVjdGlvbiBvZiBsb29wIGRldmljZXMuCisKKyBsb3NldHVwKDgpIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9uICItaiIgdG8gc2hvdyBzdGF0dXMgb2YgYWxsCisgbG9vcCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCBnaXZlbiBmaWxlLgorCisgbG9zZXR1cCg4KSBzdXBwb3J0cyB1bmxpbWl0ZWQgbnVtYmVyIG9mIGxvb3AgZGV2aWNlcy4KKworIGxvc2V0dXAoOCkgc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi0tc2l6ZWxpbWl0IiB0byBzZXQgZGF0YSBlbmQuCisKKyBsZGF0dGFjaCg4KSBjb21tYW5kIGhhcyBiZWVuIGFkZGVkIHRvIHV0aWwtbGludXgtbmcuIFRoZSBsZGF0dGFjaAorIGRhZW1vbiBvcGVucyB0aGUgc3BlY2lmaWVkIGRldmljZSBmaWxlIGFuZCBhdHRhY2hlcyB0aGUgbGluZSBkaXNjaXBsaW5lCisgdG8gaXQgZm9yIHByb2Nlc3Npbmcgb2YgdGhlIHNlbnQgYW5kL29yIHJlY2VpdmVkIGRhdGEuCisKKyBzZXR0ZXJtKDgpIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9uICItYmxhbmsgW2ZvcmNlfHBva2VdIiBmb3IKKyBUSU9DTF97QkxBTktFRCxCTEFOS31TQ1JFRU4uCisKKyB0YWlsZig4KSBoYXMgYmVlbiByZWltcGxlbWVudGVkIHRvIHVzZSBpbm90aWZ5LgorCisgdGFpbGYoOCkgc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi1uIiB0byBzcGVjaWZ5aW5nIG91dHB1dCBsaW5lcy4KKworIG1rc3dhcCg4KSBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbiAiLVUiIHRvIHNldCBVVUlEIGV4cGxpY2l0bHkuCisKKyBmZGlzayg4KSBoYXMgYmVlbiBmaXhlZCB0byBjYWxjdWxhdGUgcGFydGl0aW9uIHNpemUgaW4gMl5OLgorCisgY2FsKDgpIHN1cHBvcnRzIGhpZ2hsaWdodGluZyBhbiBhcmJpdHJhcnkgZGF0ZS4KKworIGFnZXR0eSg4KSBtYWtlcyB1c2VybmFtZS1pbi11cHBlcmNhc2UgZmVhdHVyZSBvcHRpb25hbCAob2ZmIGJ5IGRlZmF1bHQpLgorIFVzZXJzIHdobyB1c2UgdXBwZXJjYXNlLW9ubHkgdGVybWluYWxzIG5lZWQgdG8gdXNlIHRoZSBvcHRpb24gIi1VIiBub3cuCisKKyBsb3NldHVwKDgpLCBtb3VudCg4KSwgdW1vdW50KDgpLCBmZGlzayg4KSBhbmQgc2ZkaXNrKDgpIHN1cHBvcnQgc3RhdGljCisgbGlua2luZyB3aGVuIGNvbXBpbGVkIHdpdGggLS1lbmFibGUtc3RhdGljLXByb2dyYW1zLgorCisgaHdjbG9jayg4KSBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbiAiYWRqZmlsZSIgdG8gb3ZlcnJpZGUKKyB0aGUgZGVmYXVsdCAvZXRjL2FkanRpbWUuCisKKyBzY3JpcHRyZXBsYXkoMSkgY29tbWFuZCBoYXMgYmVlbiByZS13cml0dGVuIGZyb20gUGVybCB0byBDLgorCisKK0RlcHJlY2F0ZWQKKy0tLS0tLS0tLS0KKworIFRoZSBsb3NldHVwKDgpICctcycgb3B0aW9uIChpbnRyb2R1Y2VkIGJ5IHV0aWwtbGludXgtbmctMi4xMykgaXMgZGVwcmVjYXRlZAorIG5vdy4gIFRoaXMgc2hvcnQgZm9ybSBvZiB0aGUgb3B0aW9uICctLXNob3cnIGNvdWxkIGJlIGluIGNvbGxpc2lvbiB3aXRoCisgTG9vcC1BRVMgbG9zZXR1cCBpbXBsZW1lbnRhdGlvbiB3aGVyZSB0aGUgc2FtZSBvcHRpb24gaXMgdXNlZCBmb3IgdGhlIGxvb3AKKyBzaXplbGltaXQuCisKKworRml4ZWQgc2VjdXJpdHkgaXNzdWVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworIENWRS0yMDA4LTE5MjYgLSBhdWRpdCBsb2cgaW5qZWN0aW9uIHZpYSBsb2dpbgorCisJCSBUaGUgcHJvYmxlbSB3YXMgb3JpZ2luYWxseSByZXBvcnRlZCBmb3IgT3BlblNTSCBmZXcgbW9udGhzCisgICAgICAgICAgICAgICAgIGFnbyAoQ1ZFLTIwMDctMzEwMikuIFRoZSBsb2dpbigxKSBpcyBhZmZlY3RlZCBieSB0aGUgc2FtZQorICAgICAgICAgICAgICAgICBidWcgd2hlbiBidWlsdCB3aXRoIHRoZSBvcHRpb24gIi0td2l0aC1hdWRpdCIuCisKKworU3RhYmxlIG1haW50ZW5hbmNlIHJlbGVhc2VzIGJldHdlZW4gdjIuMTMgYW5kIHYyLjE0CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwordXRpbC1saW51eC1uZyAyLjEzLjEuMSBbMjItQXByLTIwMDhdCisKKyAqIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjEzL3YyLjEzLjEuMS1SZWxlYXNlTm90ZXMKKyAgIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjEzL3YyLjEzLjEuMS1DaGFuZ2VMb2cKKwordXRpbC1saW51eC1uZyAyLjEzLjEgWzE2LUphbi0yMDA4XQorCisgKiBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xMy92Mi4xMy4xLVJlbGVhc2VOb3RlcworICAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTMvdjIuMTMuMS1DaGFuZ2VMb2cKKworCitDaGFuZ2VMb2cgYmV0d2VlbiB2Mi4xMyBhbmQgdjIuMTQKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgRm9yIG1vcmUgZGV0YWlscyBzZWUgQ2hhbmdlTG9nIGZpbGVzIGF0OgorIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE0LworCithZ2V0dHk6CisgICAtIGNsZWFudXAgTUFYSE9TVE5BTUVMRU4gIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgdXNlcm5hbWUtaW4tdXBwZXJjYXNlIGZlYXR1cmUgb3B0aW9uYWwgKG9mZiBieSBkZWZhdWx0LikgIFtIYW1pc2ggQ29sZW1hbl0KKyAgIC0gbm9uLWxpbnV4IHN1cHBvcnQgKHVzZSBwYXRobmFtZXMuaCkgIFtLYXJlbCBaYWtdCisgICAtIHJlcGxhY2UgdGVybWlvIHdpdGggdGVybWlvcyBpbnRlcmZhY2UgIFtTYW11ZWwgVGhpYmF1bHRdCisgICAtIHVuZ2V0dGV4dGl6ZSBzZXZlcmFsIGRlYnVnZ2luZyBtZXNzYWdlcy4gIFtCZW5ubyBTY2h1bGVuYmVyZ10KK2Jsb2NrZGV2OgorICAgLSBhZGQgLS1nZXRzeiB0byBibG9ja2Rldi44ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBkZXNjcmlwdGlvbiBhYm91dCBvcHRpb24gLS1yZXBvcnQgaW4gbWFucGFnZSAgW0xpIFplZmFuXQorICAgLSBmaXggIG9wZW5lZCBmaWxlIGxlYXZpbmcgdW5jbG9zZWQgIFtsaXpmXQorICAgLSB1c2UgbGliL2Jsa2Rldi5jLCBmaXggLS1yZXBvcnQgIFtLYXJlbCBaYWtdCitidWlsZC1zeXM6CisgICAtIGFkZCAtLWVuYWJsZS1zdGF0aWMtcHJvZ3JhbXMgIFtTdGVwYW4gS2FzYWwsIEthcmVsIFpha10KKyAgIC0gYWRkIEFDX0NBTk9OSUNBTF9IT1NUICBbTWlrbG9zIFN6ZXJlZGldCisgICAtIGFkZCBWQVJTVUZGSVggdG8gVVRJTF9DSEVDS19MSUIgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBlcnIuaCBjaGVjayAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1cHBvcnQgaW9uaWNlIGZvciBTdXBlci1IIGFyY2hpdGVjdHVyZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHYyLjE0IHRvIE5FV1MgIFtLYXJlbCBaYWtdCisgICAtIGF1dG9nZW4uc2ggcmVwb3J0cyB2ZXJzaW9ucyBvZiBhdXRvdG9vbHMgbm93ICBbS2FyZWwgWmFrXQorICAgLSBidWlsZCBhcmNoKDEpIGR1cmluZyBkaXN0Y2hlY2sgIFtTdGVwYW4gS2FzYWxdCisgICAtIGNsZWFudXAgIngkZm9vIiB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBkaXNrLXV0aWxzL01ha2VmaWxlLmFtICh1c2UgJHV0aWxzX2NvbW1vbikgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdXNhZ2Ugb2YgbGludXgvbWFqb3IuaCAgW1NhbXVlbCBUaGliYXVsdF0KKyAgIC0gZGlzYWJsZSBzeXNjYWxsIGZhbGxiYWNrcyBmb3Igbm9uLWxpbnV4IHN5c3RlbXMgIFtLYXJlbCBaYWtdCisgICAtIGRvIG5vdCBhZGQgLWx1dWlkIHRvIEJMS0lEX0xJQlMgIFtTdGVwYW4gS2FzYWxdCisgICAtIGZpeCBtaXNzaW5nIGRlcHMgZm9yIHN3YXBvbiAgW01hdHRoaWFzIEtvZW5pZ10KKyAgIC0gaWdub3JlIGEgYnVuY2ggb2YgZ2VuZXJhdGVkIGZpbGVzLCBtb3N0bHkgYmluYXJpZXMgIFtKYW1lcyBZb3VuZ21hbl0KKyAgIC0gbmxzL2xvY2FsZSBoYW5kbGluZyBpbiB1dGlsLWxpbnV4LW5nIGdlbmVyYWwgIFtNaWtlIEZyeXNpbmdlcl0KKyAgIC0gbm9uLWxpbnV4IHN1cHBvcnQgIFtTYW11ZWwgVGhpYmF1bHRdCisgICAtIHJlbGVhc2UrKyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGVycnMuaCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGZpbGVzIHRoYXQgYXJlIG5vIGxvbmdlciBkZWxpdmVyZWQgZnJvbSBnaXQgIFtMYU1vbnQgSm9uZXNdCisgICAtIHJlbW92ZSBoYXJkY29kZWQgX0dOVV9TT1VSQ0UgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBjaGVjay1sb2NhbCB0YXJnZXQgZnJvbSBsb2dpbi11dGlscy8gIFtLYXJlbCBaYWtdCisgICAtIHNldCBBQ19QUkVSRVEgdG8gMi42MCwgaW5jcmVtZW50IHZlcnNpb24gdG8gMi4xNCAgW0thcmVsIFpha10KKyAgIC0gc2ltcGxpZnkgY29kZSBhcm91bmQgUkRFVl9MSU5LUyBhbmQgU0VUQVJDSF9MSU5LUyAgW1N0ZXBhbiBLYXNhbF0KKyAgIC0gdW5pZnkgbWV0aG9kIGZvciBjaGVja2luZyBzeXN0ZW0gY2FsbHMgYW5kIGZhbGxiYWNrIGhhbmRsaW5nICBbTWlrZSBGcnlzaW5nZXIsIFN0ZXBhbiBLYXNhbF0KKyAgIC0gdXBkYXRlIC5naXRpZ25vcmUgZmlsZXMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBkaXN0X21hbl9NQU5TIGluc3RlYWQgb2YgbWFuX01BTlMgIFtTdGVwYW4gS2FzYWxdCisgICAtIHVzZSBuY3Vyc2VzdyAod2lkZSB2ZXJzaW9uKSB3aGVuIHBvc3NpYmUgIFtLYXJlbCBaYWssIE1pa2UgRnJ5c2luZ2VyXQorICAgLSB1c2UgcGtnLWNvbmZpZyB0byBmaW5kIHRoZSBsaWJzIGZvciBzdGF0aWMgYnVpbGQgIFtTdGVwYW4gS2FzYWxdCisgICAtIHVzZSBwb3J0YWJsZSAkKFZBUiA9KSBpbnN0ZWFkIG9mIGdtYWtlLXNwZWNpZmljICQoYWRkc3VmZml4KSAgW1N0ZXBhbiBLYXNhbF0KK2NhbDoKKyAgIC0gYWRkIGRlc2NyaXB0aW9uIGFib3V0IG9wdGlvbiAtViB0byBtYW5wYWdlICBbTGkgWmVmYW5dCisgICAtIGFkZCBzdXBwb3J0IGZvciBoaWdobGlnaHRpbmcgYW4gYXJiaXRyYXJ5IGRhdGUgIFtQw6FkcmFpZyBCcmFkeV0KKyAgIC0gYXZvaWQgLVdmb3JtYXQgd2FybmluZ3MgIFtKaW0gTWV5ZXJpbmddCisgICAtIGZpeCB3ZWVrZGF5IGFsaWdubWVudCBmb3IgY2VydGFpbiBsb2NhbGVzICBbUMOhZHJhaWcgQnJhZHldCisgICAtIHJlcGxhY2UgZXJycy5oIHdpdGggbGliYyBlcnIuaCAgW0thcmVsIFpha10KKyAgIC0gdXNlIEhBVkVfTElCe05DVVJTRVMsTkNVUlNFU1d9IGluc3RlYWQgSEFWRV9OQ1VSU0VTICBbS2FyZWwgWmFrXQorY2ZkaXNrOgorICAgLSBkZWZpbmUgcG9ydGFibGUge0RFRkFVTFQsQUxURVJOQVRFfV9ERVZJQ0UgIFtTYW11ZWwgVGhpYmF1bHRdCisgICAtIGRpc3BsYXkgY3lsaW5kZXJzIGJleW9uZCAxMDI0ICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KKyAgIC0gc2xpZ2h0bHkgaW5jcmVhc2UgdGhlIHNpemUgb2YgbWVudSBidXR0b25zICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHRyYW5zbGF0ZSBwYXJ0aXRpb24tdHlwZSBuYW1lcyB3aGVuIHRoZXkgYXJlIHByaW50ZWQuICBbQmVubm8gU2NodWxlbmJlcmddCitjaGZuOgorICAgLSBhZGQgcGFtX2VuZCgpIGNhbGwgYW5kIGNsZWFudXAgUEFNIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBpbiBzZWxpbnV4IHN0dWZmICBbS2FyZWwgWmFrXQorY2hmbiwgY2hzaCwgbG9naW46CisgICAtIGNvbGxhcHNpbmcgdGhyZWUgc2ltaWxhciBtZXNzYWdlcyBpbnRvIGEgc2luZ2xlIG9uZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorY2hzaDoKKyAgIC0gc2hvdWxkIHVzZSBwYW1fZW5kIGZ1bmN0aW9uIHRvIHRlcm1pbmF0ZSB0aGUgUEFNIHRyYW5zYWN0aW9uICBbWXUgWmhpZ3VvLCBLYXJlbCBaYWtdCitjb2x1bW46CisgICAtIHJlcGxhY2UgZXJycy5oIHdpdGggbGliYyBlcnIuaCAgW0thcmVsIFpha10KK2RkYXRlOgorICAgLSAxMXRoLCAxMnRoIGFuZCAxM3RoIG9mIG1vbnRoICBbVm9sa2VyIFNjaGF0el0KK2RvY3M6CisgICAtIGFkZCBhIG5vdGUgYWJvdXQgbWluaXggdjMgdG8gVE9ETyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaW5mbyBhYm91dCAuYnVnZml4IHJlbGVhc2VzIGFuZCBicmFuY2hlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vdGUgYWJvdXQgaW5jb3JyZWN0IHRhZyAyLjEzLjEgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub3RlIGFib3V0IGxvc2V0dXAgLS1zaXplbGltaXQgdG8gUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCBzdGF0aWMgbGlua2luZyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHYyLjE0IFJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBERVBSRUNBVEVEIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgUkVBRE1FLmRldmVsLCBhZGQgbm90ZSBhYm91dCBjb2Rpbmcgc3R5bGUgYW5kIFNpZ25lZC1vZmYtYnkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBDaGFuZ2VMb2cgVVJMICBbUGFzY2FsIFRlcmphbl0KKyAgIC0gZml4IHN0YWJsZSBicmFuY2hlIG5hbWUgaW4gUkVBRE1FLmRldmVsICBbS2FyZWwgWmFrXQorICAgLSBtYXJrIHZpcHcoMSkgaXMgZGVwcmVjYXRlZCBpbiBmYXZvciBvZiB2aXB3IGZyb20gc2hhZG93LXV0aWxzICBbS2FyZWwgWmFrXQorICAgLSByZWZyZXNoIFRPRE8gbGlzdCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGRhdGUgZnJvbSBSZWxlYXNOb3RlcyAgW0thcmVsIFpha10KKyAgIC0gdHdlYWsgYSBmZXcgbWVzc2FnZXMgZm9yIGNsYXJpdHkgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXBkYXRlIEFVVEhPUlMgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIFRPRE8gZmlsZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHYyLjE0IFJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KKyAgIC0gd2UgYWxyZWFkeSByZXdyb3RlIHRoZSBzY3JpcHRyZXBsYXkgc2NyaXB0OyByZW1vdmUgdGhhdCBUT0RPIGVudHJ5ICBbSmFtZXMgWW91bmdtYW5dCitlbHZ0dW5lOgorICAgLSB1c2UgZ2V0X2xpbnV4X3ZlcnNpb24oKSAgW0thcmVsIFpha10KK2ZkZm9ybWF0OgorICAgLSBpbnN0YWxsIHRvIC91c3Ivc2JpbiBpbnN0ZWFkIHRvIC91c3IvYmluICBbS2FyZWwgWmFrXQorZmRpc2s6CisgICAtIGJldHRlciBmYWxsYmFjayBmb3IgZ2V0X3JhbmRvbV9pZCgpICBbSC4gUGV0ZXIgQW52aW5dCisgICAtIGNhbGN1bGF0ZSArc2l6ZXtLLE0sR30gaW4gMl5OICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIEJMSyogaW9jdGxzIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBkb2Vzbid0IHJlY29nbml6ZSB0aGUgVk13YXJlIEVTWCBwYXJ0aXRpb25zICBbS2FyZWwgWmFrXQorICAgLSBkb2luZyB1c2VsZXNzIGlvY3RsIHdoZW4gZWRpdGluZyBhbiBpbWFnZSAgW1Bhc2NhbCBUZXJqYW5dCisgICAtIGZpeCBidWlsZGluZyBmb3IgQVZSMzIgYW5kIENSSVMgIFtJbXJlIEthbG96XQorICAgLSBmaXggdHlwbyAgW0thcmVsIFpha10KKyAgIC0gbWVzc2FnZSB0d2VhayAgW0thcmVsIFpha10KKyAgIC0gbm9uLWxpbnV4IHN1cHBvcnQgKE1BWFBBVEhMRU4pICBbS2FyZWwgWmFrXQorICAgLSBub24tbGludXggc3VwcG9ydCAodXNlIHN0YW5kYXJkIHVpbnR4eV90IGluc3RlYWQgX191eHkpICBbU2FtdWVsIFRoaWJhdWx0XQorICAgLSB1c2UgbW9yZSByZWFkYWJsZSAiR1BUIiBuYW1lIHJhdGhlciB0aGFuICJFRkkgR1BUIiAgW1JvYmVydCBNaWxsYW5dCisgICAtIHVzZSBzd2FiIG1hY3JvcyBmcm9tIGJpdG9wcy5oICBbS2FyZWwgWmFrXQorZmxvY2s6CisgICAtIHR5cG8gaW4gbWFuIHBhZ2UgIFtBLiBDb3N0YV0KK2ZzY2suY3JhbWZzOgorICAgLSBjbGVhbiB1cCBnY2Mgd2FybmluZ3MgIFtSYW5keSBEdW5sYXBdCitmc2NrLm1pbml4OgorICAgLSBjb3JyZWN0IHRoZSBlcnJvciBtZXNzYWdlIGdpdmVuIHdoZW4gd2UgY2FuJ3Qgb3BlbiB0aGUgZGV2aWNlICBbSmFtZXMgWW91bmdtYW5dCisgICAtIHJlc2V0IHRoZSB0ZXJtaW5hbCBzdGF0ZSBpZiB3ZSBhcmUga2lsbGVkIGJ5IGEgZmF0YWwgc2lnbmFsICBbSmFtZXMgWW91bmdtYW5dCitnZXRvcHQ6CisgICAtIGZpeCBwYXRoIHRvIGV4YW1wbGVzIGluIGdldG9wdC4xICBbS2FyZWwgWmFrXQorICAgLSBpbnN0YWxsIGV4YW1wbGUgc2NyaXB0cyBhcyBTQ1JJUFRTLCBub3QgREFUQSAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCitod2Nsb2NrOgorICAgLSBhZGQgLS1hZGpmaWxlPXBhdGggb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBmb3IgRU5PREVWICBbRGF2aWQgV29vZGhvdXNlXQorICAgLSBkbyBub3QgY3JlYXRlIGEgemVybyBhZGpmaWxlICBbQWxhaW4gR3VpYmVydF0KKyAgIC0gZml4IC0tcnRjIG9wdGlvbiAgW01hdHRoaWFzIEtvZW5pZywgS2FyZWwgWmFrXQoraW5jbHVkZToKKyAgIC0gPHN0ZGludC5oPiBwcm92aWRlcyBldmVyeXRoaW5nICBbU2FtdWVsIFRoaWJhdWx0XQorICAgLSBhZGQgYml0b3BzLmggd2l0aCBzd2FiezE2LDMyLDY0fSBtYWNyb3MgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtb3VudCBwYXRocyB0byBwYXRobmFtZXMuaCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBwYXRobmFtZXMuaCAgW0thcmVsIFpha10KK2lvbmljZToKKyAgIC0gYWRkIGEgbm90ZSBhYm91dCBwZXJtaXNzaW9ucyB0byBpb25pY2UuMSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIG1hbiBwYWdlIHRvIHJlZmxlY3QgSURMRSBjbGFzcyBjaGFuZ2UgaW4gIDIuNi4yNSAgW0thcmVsIFpha10KK2lwY3M6CisgICAtIGFkZCBpbmZvcm1hdGlvbiBhYm91dCBQT1NJWCBjb21wYXRpYmlsaXR5IHRvIGlwY3MuMSAgW0thcmVsIFpha10KK2tpbGw6CisgICAtIG1hbiBwYWdlIGlzIG1pc3NpbmcgYSBkZXNjcmlwdGlvbiBvZiAia2lsbCAtMCIgIFtLYXJlbCBaYWtdCitsZGF0dGFjaDoKKyAgIC0gYWRkIE5MUyBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBuZXcgY29tbWFuZCAgW1RpbG1hbiBTY2htaWR0XQorICAgLSB1c2UgZ2xpYmMgdGVybWlvcyAgW0thcmVsIFpha10KK2xpYjoKKyAgIC0gYWRkIGJsa2Rldi57YyxofSAgW1N0ZWZhbiBLcmFoLCBLYXJlbCBaYWtdCisgICAtIGFkZCBsaW51eF92ZXJzaW9uLntjLGh9ICBbU3RlZmFuIEtyYWhdCitsb2dpbjoKKyAgIC0gYXVkaXQgbG9nIGluamVjdGlvbiBhdHRhY2sgdmlhIGxvZ2luICBbU3RldmUgR3J1YmJdCisgICAtIGZpeCBhIHNtYWxsIG1lbW9yeSBsZWFrIGFuZCByZW1vdmUgdW5uZWNlc3NhcnkgemVyb2luZyAgW0thcmVsIFpha10KKyAgIC0gbG9naW4gc2VnZmF1bHRzIG9uIEVPRiAocmgjMjk4NDYxKSAgW0thcmVsIFpha10KKyAgIC0gcmVwbGFjZSB0ZXJtaW8gd2l0aCB0ZXJtaW9zIGludGVyZmFjZSAgW1NhbXVlbCBUaGliYXVsdF0KKyAgIC0gcmV3cml0ZSBpc19sb2NhbCgpIHRvIHJlbW92ZSBsaW1pdHMgb24gbGluZSBsZW5ndGggIFtKYW1lcyBZb3VuZ21hbl0KK2xvZ2luLXV0aWxzOgorICAgLSBjbGVhbnVwIHN0cmxlbigpIGFuZCBmZ2V0cygpIHVzYWdlICBbSmFtZXMgWW91bmdtYW5dCitsb3NldHVwOgorICAgLSBhZGQgLS1hc3NvY2lhdGVkIG9wdGlvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tc2l6ZWxpbWl0IG9wdGlvbiAgW1NoYWNoYXIgU2hlbWVzaF0KKyAgIC0gY2Fub25pY2FsaXplIGxvb3BmaWxlIG5hbWUgIFtLYXJlbCBaYWssIE1hdHRoaWFzIEtvZW5pZ10KKyAgIC0gY2xlYW4gdXAgZ2NjIHdhcm5pbmdzICBbUmFuZHkgRHVubGFwXQorICAgLSBmaXggZXJybm8gdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvIGluIGxvc2V0dXAuOCAgW0thcmVsIFpha10KKyAgIC0gbWFyayB0aGUgb3B0aW9uIC1zIGFzIGRlcHJlY2F0ZWQgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBkdXBsaWNhdGUgeHN0cmR1cCgpIGFuZCBlcnJvcigpICBbS2FyZWwgWmFrXQorICAgLSBzcGxpdCBoZWxwIG1lc3NhZ2UgaW50byB0d28gc21hbGxlciBwYXJ0cyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBzdXBwb3J0IHVubGltaXRlZCBudW1iZXIgb2YgbG9vcHMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzdGFuZGFyZCB1aW50eHlfdCB0eXBlcyAoc3RydWN0IGxvb3BfaW5mbzY0KSAgW1NhbXVlbCBUaGliYXVsdF0KK21lc2c6CisgICAtIHJlcGxhY2UgZXJycy5oIHdpdGggbGliYyBlcnIuaCAgW0thcmVsIFpha10KK21rZnMuY3JhbWZzOgorICAgLSBjbGVhbiB1cCBnY2Mgd2FybmluZ3MgIFtSYW5keSBEdW5sYXAsIEthcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVudXNlZCBoZWFkZXIgZmlsZSAgW2xpemZdCisgICAtIHN3aXRjaCBvbiBsb2NhbGl6YXRpb24uICBbQmVubm8gU2NodWxlbmJlcmddCitta2ZzLm1pbml4OgorICAgLSBhZGQgc2VjdG9yc2l6ZSBjaGVjayAgW01hdHRoaWFzIEtvZW5pZ10KKyAgIC0gY2xlYW4gdXAgZ2NjIHdhcm5pbmdzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBnY2Mgd2FybmluZ3MgIFtSYW5keSBEdW5sYXBdCisgICAtIGRldmljZSBzaXplIGNsZWFudXAgIFtNYXR0aGlhcyBLb2VuaWddCitta3N3YXA6CisgICAtIEJMS0dFVFNJWkUgY2xlYW51cCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBrQiB2cy4gS2lCIHVzYWdlIGluIGVycm9yIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIGxpbnV4X3ZlcnNpb24oKSBjb2RlIGNvbnNvbGlkYXRpb24gIFtLYXJlbCBaYWtdCisgICAtIHBvc3NpYmxlIHRvIGNyYXNoIHdpdGggU0VMaW51eCByZWxhYmVsaW5nIHN1cHBvcnQgIFtLYWlHYWkgS29oZWldCisgICAtIHNldCBVVUlEIGZvciBzd2FwIHNwYWNlIChhZGQgLVUgb3B0aW9uKSAgW01hcnRpbiBTY2h1bHplXQorICAgLSBzZXQgZXJybm89MCBpbiB3cml0ZV9hbGwoKSAgW0thcmVsIFpha10KKyAgIC0gd2hlbiB3cml0aW5nIHRoZSBzaWduYXR1cmUgcGFnZSwgaGFuZGxlIEVJTlRSIHJldHVybnMgIFtLYXJlbCBaYWtdCittb3JlOgorICAgLSBjbGVhbnVwIGdjYyB3YXJuaW5ncyAgW1JhbmR5IER1bmxhcF0KKyAgIC0gbm9uLWxpbnV4IHN1cHBvcnQgIFtTYW11ZWwgVGhpYmF1bHRdCisgICAtIHJlcGxhY2UgQ0JBVUQgd2l0aCBjZmdldGlzcGVlZCgpICBbU2FtdWVsIFRoaWJhdWx0XQorICAgLSB1c2UgSEFWRV9XSURFQ0hBUiBpbnN0ZWFkIEVOQUJMRV9XSURFQ0hBUiAgW0thcmVsIFpha10KK21vdW50OgorICAgLSAiY2FuJ3QgY3JlYXRlIGxvY2sgZmlsZSIgbWVzc2FnZSBzb21ldGltZXMgbWVhbnMgZmFpbHVyZSwgc29tZXRpbWVzIG5vdCAgW01hcmsgTWNMb3VnaGxpbl0KKyAgIC0gIm5vZmFpbCIgbW91bnQgb3B0aW9uICBbTWF0dGhpYXMgS29lbmlnLCBLYXJlbCBaYWtdCisgICAtIC1MfC1VIHNlZ2ZhdWx0IHdoZW4gbGFiZWwgb3IgdXVpZCBkb2Vzbid0IGV4aXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW9yZSBkZXRhaWxzIHRvIHRoZSAtLXZlcnNpb24gb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3Igc2l6ZWxpbWl0PSBtb3VudCBvcHRpb24gKGZvciBsb29wIG1vdW50cykgIFtTaGFjaGFyIFNoZW1lc2hdCisgICAtIGFsbG93IGF1dG8tZGVzdHJ1Y3Rpb24gb2YgbG9vcCBkZXZpY2VzICBbQmVybmFyZG8gSW5ub2NlbnRpXQorICAgLSBjaGFpbiBvZiBzeW1saW5rcyB0byBmc3RhYiBjYXVzZXMgdXNlIG9mIHBvaW50ZXIgYWZ0ZXIgZnJlZSAgW05vcmJlcnQgQnVjaG11bGxlcl0KKyAgIC0gY2xlYW4gdXAgZ2NjIHdhcm5pbmdzIChtb3VudF9tbnRlbnQuYykgIFtSYW5keSBEdW5sYXBdCisgICAtIGNsZWFuIHVwIGdsb2JhbCB2YXJpYWJsZXMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgIm5vbmUiIGZzdHlwZSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBLRVJORUxfVkVSU0lPTiwgcmVtb3ZlIG15X2Rldl90LmggIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgY2Fub25pY2FsaXplKCkgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgZXJyb3IoKSBhbmQgZGllKCkgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdXNhZ2Ugb2YgX1BBVEhfKiAgW0thcmVsIFpha10KKyAgIC0gZG9lc24ndCBkcm9wIHByaXZpbGVnZXMgcHJvcGVybHkgd2hlbiBjYWxsaW5nIGhlbHBlcnMgIFtMdWR3aWcgTnVzc2VsXQorICAgLSBkb24ndCBjYWxsIGNhbm9uaWNhbGl6ZShTUEVDKSBmb3IgY2lmcywgc21iZnMgYW5kIG5mcyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgY2Fub25pY2FsaXplIExBQkVMPSBvciBVVUlEPSBzcGVjICBbS2FyZWwgWmFrXQorICAgLSBkcm9wIHRoZSBwYXJ0IGFsd2F5cyB0cnVlIGZyb20gYSB3aGlsZSBjb25kaXRpb24gIFtQYXNjYWwgVGVyamFuXQorICAgLSBmaXggYSBzbWFsbCB0eXBvIGluIG1vdW50LjggIFtDaHJpc3RvcGhlIEJsYWVzc10KKyAgIC0gZml4IGZkIGxlYWsgIFtNYXR0aGlhcyBLb2VuaWddCisgICAtIGZpeCB0eXBvIGluIG1vdW50LjggIFtLYXJlbCBaYWtdCisgICAtIGhpbnQgYWJvdXQgaGVscGVyIHByb2dyYW0gaWYgZGV2aWNlIGRvZXNuJ3QgZXhpc3QgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgY2htb2QgJiBjaG93biB1c2FnZSBhbmQgY2xlYW4gdXAgZ2NjIHdhcm5pbmdzIChmc3RhYi5jKSAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBlcnJvciBtZXNzYWdlIHdoZW4gaGVscGVyIHByb2dyYW0gbm90IHByZXNlbnQgIFtMYU1vbnQgSm9uZXNdCisgICAtIHByZXZlbnQgbG9vcCBtb3VudGluZyB0aGUgc2FtZSBmaWxlIHR3aWNlICBbS2FyZWwgWmFrLCBNYXR0aGlhcyBLb2VuaWddCisgICAtIHJlbW91bnQgZG9lc24ndCBjYXJlIGFib3V0IGxvb3A9ICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgTVNfe1JFUExBQ0UsQUZURVIsQkVGT1JFLE9WRVJ9ICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgYnVpbHQtaW4gc3VwcG9ydCBmb3IgYmFja2dyb3VuZCBtb3VudHMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSByZWR1bmRhbnQgZmZsdXNoICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgc2V0X3Byb2NfbmFtZSgpICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdXNlbGVzcyBpZi1iZWZvcmUtbXlfZnJlZSwgZGVmaW5lIG15X2ZyZWUgYXMgYSBtYWNybyAgW0thcmVsIFpha10KKyAgIC0gdXNlIE1OVFRZUEVfU1dBUCAoZnJvbSBtbnRlbnQuaCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBhdGV4aXQoKSByYXRoZXIgdGhhbiAoKmF0X2RpZSkoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGJsa2Rldl9nZXRfc2l6ZSgpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgY2Fub25pY2FsaXplIGluIGdldGZzX2J5X2Rldm5hbWUgIFtLYXJlbCBaYWtdCituYW1laToKKyAgIC0gYWRkIHRvIGlkZW50aWZ5IEZJRk8gKG5hbWVkIHBpcGUpIGFuZCB1cGRhdGUgbWFucGFnZSAgW0xpIFplZmFuXQorICAgLSBjbGVhbnVwIHRhaWxpbmcgd2hpdGUtc3BhY2VzICBbS2FyZWwgWmFrXQorICAgLSBub24tbGludXggc3VwcG9ydCAoZ2V0X2N1cnJlbnRfZGlyX25hbWUoKSBhbmQgUEFUSF9NQVgpICBbS2FyZWwgWmFrLCBTYW11ZWwgVGhpYmF1bHRdCitwYXJ0eDoKKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc3dhYiBtYWNyb3MgZnJvbSBiaXRvcHMuaCAgW0thcmVsIFpha10KK3BnOgorICAgLSBmaXggc2VnZmF1bHQgb24gc2VhcmNoICBbUmFqZWV2IFYuIFBpbGxhaV0KK3BvOgorICAgLSBhZGQgZXUucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtNaWtlbCBPbGFzYWdhc3RpXQorICAgLSBhZGQgcGwucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtBbmRyemVqIEtyenlzenRvZm93aWN6XQorICAgLSBmaXggdHlwbyBpbiBkZS5wbyAgW0thcmVsIFpha10KKyAgIC0gbWVyZ2UgY2hhbmdlcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIFBPVEZJTEVTLmluICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgY2EucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtKb3NlcCBQdWlnZGVtb250XQorICAgLSB1cGRhdGUgY3MucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtQZXRyIFBpc2FyXQorICAgLSB1cGRhdGUgZGEucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtDbGF1cyBIaW5kc2dhdWxdCisgICAtIHVwZGF0ZSBkZS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW01pY2hhZWwgUGllZmVsXQorICAgLSB1cGRhdGUgZXMucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtTYW50aWFnbyBWaWxhIERvbmNlbF0KKyAgIC0gdXBkYXRlIGV0LnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbTWVlbGlzIFJvb3NdCisgICAtIHVwZGF0ZSBmaS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0xhdXJpIE51cm1pXQorICAgLSB1cGRhdGUgZnIucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtNaWNoZWwgUm9iaXRhaWxsZV0KKyAgIC0gdXBkYXRlIGh1LnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbR2Fib3IgS2VsZW1lbl0KKyAgIC0gdXBkYXRlIGlkLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbQXJpZiBFLiBOdWdyb2hvXQorICAgLSB1cGRhdGUgaXQucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtNYXJjbyBDb2xvbWJvXQorICAgLSB1cGRhdGUgamEucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtEYWlzdWtlIFlhbWFzaGl0YV0KKyAgIC0gdXBkYXRlIG5sLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHVwZGF0ZSBwbyBmaWxlcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHB0X0JSLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUm9kcmlnbyBTdHVsemVyIExvcGVzXQorICAgLSB1cGRhdGUgcnUucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtQYXZlbCBNYXJ5YW5vdl0KKyAgIC0gdXBkYXRlIHNsLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbU2ltb24gTWloZXZjXQorICAgLSB1cGRhdGUgc3YucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtEYW5pZWwgTnlsYW5kZXJdCisgICAtIHVwZGF0ZSB0ci5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW05pbGfDvG4gQmVsbWEgQnVnw7xuZXJdCisgICAtIHVwZGF0ZSB1ay5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW01heGltIFYuIER6aXVtYW5lbmtvXQorICAgLSB1cGRhdGUgdmkucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtDbHl0aWUgU2lkZGFsbF0KK3JlbmFtZToKKyAgIC0gYWRkIGRlc2NyaXB0aW9uIGFib3V0IG9wdGlvbiAtViB0byBtYW5wYWdlICBbTGkgWmVmYW5dCisgICAtIHJlbW92ZSB1c2VsZXNzIHZhcmlhYmxlICBbTGkgWmVmYW5dCityZW5pY2U6CisgICAtIGRldGVjdCBlcnJvcnMgaW4gYXJndW1lbnRzLCBhZGQgLXYsIC1oIGFuZCBsb25nIG9wdGlvbnMgIFtMYU1vbnQgSm9uZXMsIEthcmVsIFpha10KK3JldjoKKyAgIC0gdXNlIHdhcm4oKSBpbiBlcnJzLmggIFtMaSBaZWZhbl0KK3J0Y3dha2U6CisgICAtIGZpeCBVVEMgdGltZSB1c2FnZSAgW0RhdmlkIEJyb3duZWxsXQorICAgLSBmaXggdGhlIGRlZmF1bHQgbW9kZSB0byAic3RhbmRieSIgIFtQYXVsaXVzIFphbGVja2FzXQorICAgLSBmaXggdHlwbyAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8gU0FURSAtPiBTVEFURSAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSBmaXggdmVyYm9zZSBtZXNzYWdlICBbS2FyZWwgWmFrXQorICAgLSBpbmNsdWRlIGxpYmdlbi5oIGZvciBiYXNlbmFtZSBwcm90b3R5cGUgIFtNaWtlIEZyeXNpbmdlcl0KKyAgIC0gbWlzYyBjbGVhbnVwcyAgW0RhdmlkIEJyb3duZWxsXQorc2NyaXB0OgorICAgLSBjbGVhbnVwIGdjYyB3YXJuaW5ncyAgW1JhbmR5IER1bmxhcF0KKyAgIC0gY2xlYW51cCBpbmNsdWRlcyAgW1NhbXVlbCBUaGliYXVsdF0KKyAgIC0gZGllcyBvbiBTSUdXSU5DSCAgW0thcmVsIFpha10KKyAgIC0gcmVhZCByZXR1cm5zIGEgc2l6ZV90ICBbSmFtZXMgWW91bmdtYW5dCitzY3JpcHRyZXBsYXk6CisgICAtIGdldHRleHRpemUgYSBmb3Jnb3R0ZW4gbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIHJld3JpdGUgaW4gQyAgW0thcmVsIFphaywgSmFtZXMgWW91bmdtYW5dCitzZXRhcmNoOgorICAgLSBhZGQgZmFsbGJhY2sgZm9yIGxpbnV4L3BlcnNvbmFsaXR5ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbG9uZyBvcHRpb25zIHRvIHNldGFyY2ggYW5kIHVwZGF0ZSBtYW5wYWdlICBbS2FyZWwgWmFrLCBMaSBaZWZhbl0KKyAgIC0gYWRkIG1pc3NpbmcgYWxwaGEgc3ViYXJjaHMgIFtPbGl2ZXIgRmFsa10KKyAgIC0gYWRkaW5nIGdyb2ZmIHN5bWxpbmtzIHRvIHNldGFyY2ggbWFudWFsIHBhZ2UgIFtBcmthZGl1c3ogTWnFm2tpZXdpY3pdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nICBbTGFNb250IEpvbmVzXQorICAgLSBnZW5lcmF0ZSBncm9mZiBsaW5rcyBpbiBhIGJldHRlciB3YXkgIFtLYXJlbCBaYWtdCisgICAtIHByb3ZpZGUgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgIFtEbWl0cnkgVi4gTGV2aW5dCisgICAtIHR3ZWFrIHRoZSBoZWxwIHRleHQsIGFuZCBnZXR0ZXh0aXplIGEgZm9yZ290dGVuIG1lc3NhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK3NldHRlcm06CisgICAtIGFkZCAtYmxhbiBbZm9yY2V8cG9rZV0gb3B0aW9ucyBmb3IgVElPQ0xfe0JMQU5LRUQsQkxBTkt9U0NSRUVOICBbU2FtdWVsIFRoaWJhdWx0LCBLYXJlbCBaYWtdCisgICAtIGR1bXAgYnkgVElPQ0xJTlVYIGlzIGRlcHJlY2F0ZWQgc2luY2UgbGludXggMS4xLjkyLiAgW0thcmVsIFpha10KKyAgIC0gb3BlbmVkIGZpbGUgbGVhdmluZyB1bmNsb3NlZCAgW0thcmVsIFphaywgbGl6Zl0KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXR5IGlmbmRlZiBUQ0dFVFMgIFtTYW11ZWwgVGhpYmF1bHRdCitzZmRpc2s6CisgICAtIGFsbG93IHBhcnRpdGlvbmluZyBkcml2ZXMgb2Ygb3ZlciAyXjMxIHNlY3RvcnMuICBbS3VuaWhpa28gSU1BSV0KKyAgIC0gY2xlYW51cCA4MyBnY2Mgd2FybmluZ3MgIFtSYW5keSBEdW5sYXBdCisgICAtIG9wZW5lZCBmaWxlcyBsZWF2aW5nIHVuY2xvc2VkICBbS2FyZWwgWmFrLCBMaSBaZWZhbl0KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGxpbnV4L3VuaXN0ZC5oICBbU2FtdWVsIFRoaWJhdWx0XQorICAgLSB1c2UgZ2V0X2xpbnV4X3ZlcnNpb24oKSAgW0thcmVsIFpha10KK3NodXRkb3duOgorICAgLSB1c2UgX1BBVEhfTU9VTlRFRCBpbnN0ZWFkIG9mIF9QQVRIX01UQUIgIFtTdGVwYW4gS2FzYWxdCitzd2Fwb246CisgICAtIFJlaW5pdGlhbGl6ZSBzb2Z0d2FyZSBzdXNwZW5kIGFyZWFzIHRvIGF2b2lkIGZ1dHVyZSBjb3JydXB0aW9uLiAgW0tlZXMgQ29vaywgS2FyZWwgWmFrXQorICAgLSBhZGQgc3VuZHJpZXMuaCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgZ2NjIHdhcm5pbmdzICBbUmFuZHkgRHVubGFwXQorICAgLSBjbGVhbnVwIHVzYWdlIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBmaXggc3dzdXNwZW5kIGRldGVjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8gaW4gdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gcmVhZGp1c3QgdGhlIHVzYWdlIHN1bW1hcmllcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgbXlyZWFscGF0aCgpIGNhbGwgIFtLYXJlbCBaYWtdCitzeXMtdXRpbHM6CisgICAtIGNvcnJlY3Qgc2V0YXJjaC44IG1hbnBhZ2UgbGluayBjcmVhdGlvbiAgW0Zyw6lkw6lyaWMgQm90aGFteV0KK3RhaWxmOgorICAgLSBhZGQgb3B0aW9uIC1uIHRvIHNwZWNpZnlpbmcgb3V0cHV0IGxpbmVzICBbTGkgWmVmYW5dCisgICAtIGNsZWFuIHVwIGdjYyB3YXJuaW5ncyAmIGZpeCB1c2Ugb2YgZXJybm8gIFtLYXJlbCBaYWtdCisgICAtIGlub3RpZnkgYmFzZWQgcmVpbXBsZW1lbnRhdGlvbiAgW0thcmVsIFpha10KKyAgIC0gbm9uLWxpbnV4IHN1cHBvcnQgIFtTYW11ZWwgVGhpYmF1bHRdCisgICAtIG9wZW5lZCBmaWxlIGxlYXZpbmcgdW5jbG9zZWQgIFtsaXpmXQorICAgLSByZXBsYWNlIGVycnMuaCB3aXRoIGxpYmMgZXJyLmggIFtLYXJlbCBaYWtdCit0ZXN0czoKKyAgIC0gYWRkICJzb3J0IiB0byBjcmFtZnMgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRlc3QgZm9yIGluY2x1ZGUvcGF0aG5hbWVzLmggIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0cy1tb3VudC1ub25jYW5vbmljYWwgIFtLYXJlbCBaYWtdCisgICAtIGV4YWN0bHkgZGVmaW5lIGEgdGltZSBmb3JtYXQgaW4gbHMgLWwgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBmaXggYmxraWQgY2FjaGUgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgdGVzdF9ia2RldiB0byBsaWIvICBbS2FyZWwgWmFrXQorICAgLSByZWRpcmVjdCBsaWJibGtpZCBjYWNoZSB0byBCTEtJRF9GSUxFICBbS2FyZWwgWmFrXQorICAgLSByZW5hbWUgdGVzdF9zeXNpbmZvLCByZW1vdmUgdGFpbGluZyB3aGl0ZS1zcGFjZXMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsb3NldHVwIC1zICBbS2FyZWwgWmFrXQordW1vdW50OgorICAgLSBhZGQgaGludCBhYm91dCBsc29mICYgZnVzZXIgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHByaW50IGR1cGxpY2F0ZSBlcnJvciBtZXNzYWdlcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGF0ZXhpdCgpIHJhdGhlciB0aGFuICgqYXRfZGllKSgpICBbS2FyZWwgWmFrXQord2FsbDoKKyAgIC0gY2xlYW51cCBNQVhIT1NUTkFNRUxFTiAgW0thcmVsIFpha10KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTUtUmVsZWFzZU5vdGVzIGIvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4xNS1SZWxlYXNlTm90ZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGQxNTE2MgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTUtUmVsZWFzZU5vdGVzCkBAIC0wLDAgKzEsNjc1IEBACisKK1V0aWwtbGludXgtbmcgMi4xNSBSZWxlYXNlIE5vdGVzICgwNS1NYXktMjAwOSkKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworUmVsZWFzZSBoaWdobGlnaHRzCistLS0tLS0tLS0tLS0tLS0tLS0KKworbWtzd2FwKDgpOgorICAtIG1rc3dhcCBsaWtlIG1hbnkgb3RoZXJzIG1rZnMtbGlrZSB1dGlscyBFUkFTRVMgVEhFIEZJUlNUIEJMT0NLUyBvbiAKKyAgICB0aGUgZGV2aWNlIHRvIHJlbW92ZSBvbGQgb24tZGlzayBmaWxlc3lzdGVtcy4gbWtzd2FwIHJlZnVzZXMgdG8gCisgICAgZXJhc2UgdGhlIGZpcnN0IGJsb2NrIG9uIGEgZGV2aWNlIHdpdGggYSBkaXNrIGxhYmVsIChTVU4sIEJTRCwgLi4uKQorICAgIG9yIG9uIHdob2xlIGRpc2sgKGUuZy4gL2Rldi9zZGEpLgorCisgIC0gRE9FUyBOT1QgU1VQUE9SVCB2MCBTV0FQIFNQQUNFIGFueSBtb3JlLiBUaGUga2VybmVsIGhhcyBub3QKKyAgICBzdXBwb3J0ZWQgdjAgc3dhcCBzcGFjZSBmb3JtYXQgc2luY2UgMi41LjIyLiBUaGUgbmV3IHZlcnNpb24gdjEgaXMgCisgICAgc3VwcG9ydGVkIHNpbmNlIDIuMS4xMTcuCisKK3N3YXBvbig4KToKKyAgLSBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbiAiLWYvLS1maXhwZyIgdG8gcmVpbml0aWFsaXplIHRoZQorICAgIHN3YXAgc3BhY2Ugd2l0aCBhIHdyb25nIHBhZ2VzaXplLiBBcyBzd2FwIGZvcm1hdCBkZXBlbmRzIG9uIHRoZSBwYWdlc2l6ZQorICAgIGJlaW5nIHVzZWQsIGl0IG1heSBoYXBwZW4gdGhhdCB0aGUgcGFnZXNpemUgb2YgdGhlIHN3YXAgc3BhY2UgYW5kIHRoZQorICAgIGN1cnJlbnQgcGFnZXNpemUgZGlmZmVyLgorCitsb2dpbigxKToKKyAgLSByZXF1aXJlcyAvZXRjL3BhbS5kL3JlbW90ZSB3aGVuIGNvbXBpbGVkIHdpdGggUEFNIHN1cHBvcnQgYW5kCisgICAgZXhlY3V0ZWQgd2l0aCAiLWggPGhvc3RuYW1lPiIgb3B0aW9uLiBUaGUgIi1oIiBvcHRpb24gaXMgdXNlZCBieSBvdGhlcgorICAgIHNlcnZlcnMgKGkuZS4sIHRlbG5ldGQoOCkpIHRvIHBhc3MgdGhlIG5hbWUgb2YgdGhlIHJlbW90ZSBob3N0IHRvIGxvZ2luLgorCitjYWwoMSk6CisgIC0gZGV0ZXJtaW5lcyB0aGUgZmlyc3QgZGF5IG9mIHdlZWsgZnJvbSB0aGUgbG9jYWxlLgorCitsaWJibGtpZCwgYmxraWQoOCkgYW5kIGZpbmRmcyg4KToKKyAgVGhlIGxpYmJsa2lkIGxpYnJhcnkgaGFzIGJlZW4gbW92ZWQgZnJvbSBlMmZzcHJvZ3MgdG8gdXRpbC1saW51eC1uZy4gVGhlIAorICBsaWJyYXJ5IGhhcyBiZWVuIGV4dGVuZGVkIGFuZCBub3cgaW5jbHVkZXM6CisgIAorICAgIC0gbG93LWxldmVsIHByb2JpbmcgQVBJIHRoYXQgaXMgdXNlZnVsIGZvciBleGFtcGxlIGZvciB1ZGV2IHJ1bGVzCisgICAgICAoY21kbGluZTogYmxraWQgLXAgLW8gdWRldiA8ZGV2aWNlPikKKworICAgIC0gdmVyeSBoaWdoLWxldmVsIEFQSSB0aGF0IHByb3ZpZGVzIHBvcnRhYmxlIGludGVyZmFjZSBmb3IgTEFCRUxzIGFuZAorICAgICAgVVVJRHMgZXZhbHVhdGlvbiBvbiAyLjQsIDIuNiBhbmQgdWRldi1iYXNlZCBzeXN0ZW0uIEl0J3MgcmVjb21tZW5kZWQKKyAgICAgIHRvIHVzZSAiYmxraWQgLUx8LVUiIGluIHlvdXIgc2NyaXB0cyByYXRoZXIgdGhhbiBkaXJlY3RseSByZWFkIAorICAgICAgL2Rldi9kaXNrL2J5LSogc3ltbGlua3MuCisKKyAgICAtIHRoZSBvbGQgQUJJIGFuZCBBUEkgaXMgYmFja3dhcmRseSBjb21wYXRpYmxlIHdpdGggdGhlIGN1cnJlbnQgdmVyc2lvbgorICAgICAgZnJvbSBlMmZzcHJvZ3MuCisKKyAgQWxsIHV0aWxzIChtb3VudCwgc3dhcG9uLCBmc2NrLCAuLi4pIGluIHRoZSBwYWNrYWdlIGlzIHBvc3NpYmxlIHRvIGxpbmsgCisgIGFnYWluc3QgdGhpcyBuZXcgbGlicmFyeSwgb3IgdGhlIG9sZCB2ZXJzaW9uIGZyb20gZTJmc3Byb2dzLCBvciAKKyAgbGlidm9sdW1lX2lkIGZyb20gdWRldiBwYWNrYWdlLgorCisgIFRoZSBkZWZhdWx0IGlzIHN0aWxsIGxpYmJsa2lkIGZyb20gZTJmc3Byb2dzLiBUaGUgbmV3IGxpYnJhcnkgY291bGQgYmUgCisgIGVuYWJsZWQgYnkgIi0td2l0aC1mc3Byb2JlPWJ1aWx0aW4iIGNvbmZpZ3VyZSBvcHRpb24uCisKKyAgVGhlIGxpYnZvbHVtZV9pZCBmcm9tIHVkZXYgYW5kIHZvbF9pZCBjb21tYW5kIGlzIGRlcHJlY2F0ZWQgbm93LgorCitmc2NrKDgpOgorICAtIGhhcyBiZWVuIG1vdmVkIHRvIGZyb20gZTJmc3Byb2dzIHRvIHV0aWwtbGludXgtbmcuCisKK2RtZXNnKDEpCisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi1yIiB0byBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyCisgICAgKGkuZS4gZG9u4oCZdCBzdHJpcCB0aGUgbG9nIGxldmVsIHByZWZpeGVzKS4KKworZmxvY2soMSk6CisgIC0gYWxsb3dzIGxvY2sgZGlyZWN0b3J5CisKK2ZzY2suY3JhbWZzOgorICAtIGF1dG9tYXRpY2FsbHkgZGV0ZWN0cyB0aGUgaW1hZ2UgZW5kaWFubmVzcywgYW5kIGNhbiB3b3JrIG9uIGltYWdlcyBvZiAKKyAgICBlaXRoZXIgZW5kaWFubmVzcy4KKworbWtmcy5jcmFtZnM6CisgIC0gbm93IGFjY2VwdHMgYSBuZXcgb3B0aW9uYWwgcGFyYW1ldGVyICgtTikgdGhhdCBhbGxvd3MgY3JlYXRpbmcgCisgICAgdGhlIGNyYW1mcyBpbWFnZSBpbiBlaXRoZXIgZW5kaWFubmVzcy4KKworcmVuaWNlKDEpOgorICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9uICItbiIgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBQT1NJWAorCitod2Nsb2NrKDgpCisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi0tc3lzdHoiIHRvIHJlc2V0IHRoZSBTeXN0ZW0gVGltZQorICAgIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRpbWV6b25lLiBTaW5jZSB0aGUgc3lzdGVtIGNsb2NrIHRpbWUgaXMgYWxyZWFkeQorICAgIHNldCBmcm9tIHRoZSBoYXJkd2FyZSBjbG9jayBieSB0aGUga2VybmVsICh3aGVuIGNvbXBpbGVkIHdpdGggCisgICAgQ09ORklHX1JUQ19IQ1RPU1lTKSwgdGhlcmUncyBubyBwYXJ0aWN1bGFyIG5lZWQgdG8gcmVhZCB0aGUgaGFyZHdhcmUKKyAgICBjbG9jayBhZ2Fpbi4KKworaW9uaWNlKDEpOgorICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9uICItdCIgb3B0aW9uIHRvIGlnbm9yZSBmYWlsdXJlIHRvIHNldAorICAgIHJlcXVlc3RlZCBwcmlvcml0eS4gIFRoaXMgbWlnaHQgYmUgb2YgdXNlIGluIGNhc2Ugc29tZXRoaW5nIChzZWxpbnV4LAorICAgIG9sZCBrZXJuZWwsIGV0Yy4pIGRvZXMgbm90IGFsbG93IHRoZSByZXF1ZXN0ZWQgc2NoZWR1bGluZyBwcmlvcml0eSAKKyAgICB0byBiZSBzZXQuCisKKyAgLSB0aGUgY29tbWFuZCBsaW5lIG9wdGlvbiAiLXAiIGhhbmRsZXMgbXVsdGlwbGUgUElEcyBub3cuCisKK2xvc2V0dXAoOCk6CisgIC0gZGV0YWNoZXMgbW9yZSBkZXZpY2VzIGJ5ICItZCA8bG9vcD4gWzxsb29wPiAuLl0iCisKK2lwY21rKDEpOgorICAtIHRoaXMgTkVXIENPTU1BTkQgYWxsb3dzIHRvIGNyZWF0ZSBhZC1ob2MgSVBDIHJlc291cmNlcy4KKworbHNjcHUoMSk6CisgIC0gdGhpcyBORVcgQ09NTUFORCBnYXRoZXJzIENQVSBhcmNoaXRlY3R1cmUgaW5mb3JtYXRpb24gbGlrZSBudW1iZXIKKyAgICBvZiBDUFVzLCB0aHJlYWRzLCBjb3Jlcywgc29jaywgTlVNQSBub2RlcywgaW5mb3JtYXRpb24gYWJvdXQgQ1BVIAorICAgIGNhY2hlcywgaW5mb3JtYXRpb24gYWJvdXQgaHlwZXJ2aXNvciBhbmQgdmlydHVhbGl6YXRpb24gc3VwcG9ydCwgCisgICAgLi5ldGMuIGFuZCBwcmludHMgaXQgaW4gaHVtYW4tcmVhZGFibGUgb3IgcGFyc2UtYWJsZSBmb3JtYXQuCisKK25hbWVpKDEpOgorICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9ucyAtLW93bmVycywgLS1sb25nIGFuZCAtLXZlcnRpY2FsCisgICAgdG8gcHJpbnQgbHMoMSktbGlrZSBvdXRwdXQuCisKKworU3RhYmxlIG1haW50ZW5hbmNlIHJlbGVhc2VzIGJldHdlZW4gdjIuMTQgYW5kIHYyLjE1CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwordXRpbC1saW51eC1uZyAyLjE0LjEgWzEwLUF1Zy0yMDA4XQorCisgKiBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xNC92Mi4xNC4xLVJlbGVhc2VOb3RlcworICAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTQvdjIuMTQuMS1DaGFuZ2VMb2cKKwordXRpbC1saW51eC1uZyAyLjE0LjIgWzA5LUZlYi0yMDA5XQorCisgKiBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xNC92Mi4xNC4yLVJlbGVhc2VOb3RlcworICAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTQvdjIuMTQuMi1DaGFuZ2VMb2cKKworCitDaGFuZ2VMb2cgYmV0d2VlbiB2Mi4xNCBhbmQgdjIuMTUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgRm9yIG1vcmUgZGV0YWlscyBzZWUgQ2hhbmdlTG9nIGZpbGVzIGF0OgorIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE1LworCithZGRwYXJ0OgorICAgLSA1MTItYnl0ZSBzZWN0b3JzIGluIGNvZGUsIGJ5dGVzIGluIG1hbi1wYWdlICBbS2FyZWwgWmFrXQorYWdldHR5OgorICAgLSBJVUNMQyBhbmQgT0xDVUMgYXJlIExpbnV4IGV4dGVuc2lvbnMgIFtBdXJlbGllbiBKYXJub10KKyAgIC0gY2hlY2sgZm9yIHRlcm1pb3MuY19saW5lIHN0cnVjdCBtZW1iZXIgYnkgYXV0b2NvbmYgIFtLYXJlbCBaYWtdCisgICAtIHN5cy90eXBlcy5oIGFuZCB0aW1lLmggYXJlIGluY2x1ZGVkIG1vcmUgdGhhbiBvbmNlICBbS2FyZWwgWmFrXQorYmxraWQ6CisgICAtIEdpdmUgYSBwcmlvcml0eSBib251cyB0byAibGVhZiIgZGV2aWNlbWFwcGVyIGRldmljZXMgIFtUaGVvZG9yZSBUcydvXQorICAgLSBMU0kgTWVnYVJBSUQgIFtLYXJlbCBaYWtdCisgICAtIE5WSURJQSByYWlkICBbS2FyZWwgWmFrXQorICAgLSBPcHRpbWl6ZSBkZXZpY2VtYXBwZXIgc3VwcG9ydCAgW1RoZW9kb3JlIFRzJ29dCisgICAtIFByb21pc2UgcmFpZCAgW0thcmVsIFpha10KKyAgIC0gUmVmdXNlIHRvIGNyZWF0ZSBhIGRldmljZSBzdHJ1Y3R1cmUgZm9yIGEgbm9uLWV4aXN0ZW50IGRldmljZSAgW1RoZW9kb3JlIFRzJ29dCisgICAtIFVuZXhwb3J0IHRoZSBwcml2YXRlIHN5bWJvbCBibGtpZF9kZXZkaXJzICBbVGhlb2RvcmUgVHMnb10KKyAgIC0gYWRkICB0byByZWlzZXIgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtTCAtVSBvcHRpb25zIChldmFsdWF0aW9uIEFQSSkgIFtyb290XQorICAgLSBhZGQgLXAgYW5kIGxvdy1wcm9iZSBtb2RlIHRvIGJsa2lkIGJpbmFyeSAgW0thcmVsIFpha10KKyAgIC0gYWRkIENocmlzdG9waCdzIG5vdGUgYWJvdXQgbGliZGlzayB0byBUT0RPICBbS2FyZWwgWmFrXQorICAgLSBhZGQgRERGIHJhaWQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBERUJVR19MT1dQUk9CRSwgY2xlYW51cCBhIGxpdHRsZSBkZWJ1ZyBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gYWRkIEdGUyBhbmQgR0ZTMiAgW0thcmVsIFpha10KKyAgIC0gYWRkIEdGUzIgVVVJRCBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgR0ZTMiByZWcuIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBIRlMgYW5kIEhGUysgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBIUEZTICBbS2FyZWwgWmFrXQorICAgLSBhZGQgSFRGUyAgW0thcmVsIFpha10KKyAgIC0gYWRkIElTVyByYWlkICBbS2FyZWwgWmFrXQorICAgLSBhZGQgSk1pY3JvbiBSQUlEICBbS2FyZWwgWmFrXQorICAgLSBhZGQgTFVLUyBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgTFZNMiBzdXBwb3J0IGFuZCBhIGZpeCBfc3ByaW50Zl91dWlkKCkgYnVnICBbS2FyZWwgWmFrXQorICAgLSBhZGQgTGludXggUkFJRCAgW0thcmVsIFpha10KKyAgIC0gYWRkIFNpbGljb24gSW1hZ2UgTWVkbGF5IFJBSUQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBUT0RPIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBUT0RPIGhpbnQgYWJvdXQgRE0gZGV2bmFtZXMgaW4gc3lzZnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBUT0RPIGhpbnQgYWJvdXQgYmxraWRfcGFyc2VfdGFnX3N0cmluZygpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgVE9ETyBub3RlIGFib3V0IGJsa2lkX2V2YWx1YXRlX3NwZWNfdG9fYnVmZmVyKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBVREYgc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gYWRkIFVGUyAgW0thcmVsIFpha10KKyAgIC0gYWRkIFZGQVQgc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gYWRkIFZJQSBSQUlEICBbS2FyZWwgWmFrXQorICAgLSBhZGQgWlNGIHN1cHBvcnQgIFtBbmRyZWFzIERpbGdlcl0KKyAgIC0gYWRkIFpTRiB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgX19hdHRyaWJ1dGVfXyAoKGZvcm1hdCkpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYSBub3RlIHRvIFRPRE8gbGlzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGFkYXB0ZWMgcmFpZCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJhc2ljIGNvbmZpZ3VyZS5hYyBzdHVmZiBhbmQgYmxraWQucGMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBibGtpZF9kb19zYWZlcHJvYmUoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJsa2lkX2V2YWx1YXRlX3NwZWMoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJsa2lkX3Byb2JlX2dldF9zYigpIG1hY3JvICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYnRyZnMgc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNtZGxpbmUgaW50ZXJmYWNlIGZvciBibGtpZF9wcm9iZV9maWx0ZXJfdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGRkZiByYWlkIHJlZ3Jlc3Npb24gdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGV4dHsyLDMsNCw0ZGV2ZWx9IHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmYWxsYmFjayB0byBleHQ0IGZvciAyLjYuMjkrIGtlcm5lbHMgaWYgZXh0MiBpcyBub3QgcHJlc2VudCAgW1RoZW9kb3JlIFRzJ29dCisgICAtIGFkZCBmaW5kZnMoOCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBoaWdocG9pbnR7Mzd4LDQ1eH0gUkFJRHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBocGZzIHJlZ3Jlc3Npb24gdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGlzbzk2MDAgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBqZnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsb3cgbGV2ZWwgcHJvYmluZyBBUEkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsdm0xICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbHZtMiByZWcudGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1pbml4ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBibGtpZFAuaCB0byBNYWtlZmlsZS5hbSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1pc3NpbmcgaGZzLmMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBuZXR3YXJlIChOU1MpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbmV0d2FyZSByZWdyZXNzaW9uIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBuZXcgb3B0aW9ucyB0byBibGtpZC44IGFuZCBoZWxwIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5ldyByZXF1aXJlbWVudHMgdG8gVE9ETyBsaXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgb2NmcyBhbmQgb3JhY2xlYXNtICBbS2FyZWwgWmFrXQorICAgLSBhZGQgb2NmczIgdmVyc2lvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIHByb3BlciBjb3B5aW5nIGluZm8gIFtLYXJlbCBaYWtdCisgICAtIGFkZCByZWcudGVzdHMgZm9yIEhGUyBhbmQgSEZTKyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHJvbWZzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3F1YXNoZnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciAvZXRjL2Jsa2lkLmNvbmYgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN5c3YgYW5kIHhlbml4ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdHN0X3R5cGVzLmMgdG8gTWFrZWZpbGUuYW0gIFtLYXJlbCBaYWtdCisgICAtIGFkZCB1ZGV2IElEX0ZTXyogb3V0cHV0IHRvIGJsa2lkIGJpbmFyeSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHVkZXYgc3RyaW5nIGVuY29kaW5nIHJvdXRpbmVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdXVpZCBhbmQgdmVyc2lvbiBzdXBwb3J0IHRvIGdmczIgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB2ZXJzaW9uIGFuZCBwcm9iZSBGU0luZm8gIFtLYXJlbCBaYWtdCisgICAtIGFkZCB2ZXJzaW9uIHN1cHBvcnQgdG8gTFZNMiAgW0thcmVsIFpha10KKyAgIC0gYWRkIHZvbF9pZCBjYWxsIHRvIGJsa2lkIHJlZ3Jlc3Npb24gdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHZ4ZnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB4ZnMgIFtLYXJlbCBaYWtdCisgICAtIGJsa2RldiBzaXplIGZhbGxiYWNrICBbS2FyZWwgWmFrXQorICAgLSBibGtpZC5zdGF0aWMgbWFrZSB0YXJnZXQgIFtLYXJlbCBaYWtdCisgICAtIGJsa2lkX2V2YWx1YXRlX3NwZWMoKSBzaG91bGRuJ3QgaWdub3JlICRCTEtJRF9GSUxFICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBjYWxsb2MoKSByZXR1cm4gdmFsdWUgIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIGlkaW5mb1tdIGluZGV4ICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBtYW4gcGFnZXMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgX0xPR1BST0JFIGRlYnVnIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHN0YXJ0cyBvZiBwcm9iaW5nIGZpbGVzICBbS2FyZWwgWmFrXQorICAgLSBjb21waWxlIFRFU1RfUFJPR1JBTXMgIFtLYXJlbCBaYWtdCisgICAtIGNvcnJlY3RseSBpbml0aWFsaXplIG1hZ2ljc1tdIGFycmF5cyAgW0thcmVsIFpha10KKyAgIC0gY3JlYXRlIGJhc2ljIGRpcmVjdG9yaWVzICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBkZXJlZmVyZW5jZSBOVUxMIHVwb24gc2xhc2hsZXNzIG1vZHVsZSBkZXBlbmRlbmN5IGxpbmUgIFtKaW0gTWV5ZXJpbmddCisgICAtIGZpeCAuLi5fc3RybmNweV91dWlkICBbS2FyZWwgWmFrXQorICAgLSBmaXggYSBzeW50YXggbml0ICBbS2FyZWwgWmFrXQorICAgLSBmaXggYmxraWRfZG9fcHJvYmUoKSAgW0thcmVsIFpha10KKyAgIC0gZml4IGJsa2lkX3Byb2JlX3NwcmludGZfdmVyc2lvbigpIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggYmxraWRfc2FmZV9zdHJpbmcoKSAgW0thcmVsIFpha10KKyAgIC0gZml4IGV4aXQgY29kZXMgaW4gYmxraWQoOCkgIFtTY290dCBKYW1lcyBSZW1uYW50XQorICAgLSBmaXggZXh0MiBTRUNfVFlQRSAgW0thcmVsIFpha10KKyAgIC0gZml4IGZpbGUgZGVzY3JpcHRvciBsZWFrIHdoZW4gY2hlY2tpbmcgZm9yIGEgbW9kdWxlICBbS2FyZWwgWmFrXQorICAgLSBmaXggZ2NjIHdhcm5pbmcgaW4gYmxraWRfZ2V0X2NhY2hlX2ZpbGVuYW1lKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBoZWRlYWRlciBpbiBudGZzLmMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBoaWdocG9pbnQzN3ggb2Zmc2V0ICBbS2FyZWwgWmFrXQorICAgLSBmaXggbG93LXByb2JlIG1vZGUgcmV0dXJuIGNvZGVzICBbS2FyZWwgWmFrXQorICAgLSBmaXggbm9uLXVkZXYgbG93LXByb2JlIG1vZGUgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBmaXggb2NmczIgZGV0ZWN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyAoc3ludGF4IGVycm9yKSAgW0thcmVsIFpha10KKyAgIC0gZml4IHVkZXYgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBmaXggeGZzIGxhYmVsICBbS2FyZWwgWmFrXQorICAgLSBoZnMgLSBkbyBub3Qgc2V0IFVVSUQgZm9yIGVtdHB5IGZpbmRlciBpbmZvICBbS2F5IFNpZXZlcnNdCisgICAtIGhmcyAtIHVzZSBwcm9wZXIgbmF0aXZlIFVVSUQgZm9ybWF0ICBbS2F5IFNpZXZlcnNdCisgICAtIGltcHJvdmUgZGRmIGRldGVjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gbGludXhfcmFpZCAtIGZpeCBsb2dpYyBmb3Igdm9sdW1lcyB3aXRoIHNpemUgPT0gMCAgW0thcmVsIFpha10KKyAgIC0gbWVyZ2UgbGliYmxraWQgY29kZSBmcm9tIGUyZnNwcm9ncy9saWIvYmxraWQgIFtLYXJlbCBaYWtdCisgICAtIG1pbm9yIGNoYW5nZXMgdG8gbGlicmFyeSBidWlsZCBzeXN0ZW0gIFtLYXJlbCBaYWtdCisgICAtIG5ldHdhcmUgU0IgaGFzIHRvIGJlIHBhY2tlZCAgW0thcmVsIFpha10KKyAgIC0gb3B0aW1pemUgZm9yIHN0cmluZyBVVUlEcyAgW0thcmVsIFpha10KKyAgIC0gcmUtb3JkZXIgbGlzdCBvZiBmaWxlc3lzdGVtcyAgW0thcmVsIFpha10KKyAgIC0gcmVjb2duaXplIGV4dDMgd2l0aCB0ZXN0X2ZzIHNldCBhcyBleHQzICBbRXJpYyBTYW5kZWVuXQorICAgLSByZWNvZ25pemUgZXh0NChkZXYpIHdpdGhvdXQgam91cm5hbCAgW0VyaWMgU2FuZGVlbl0KKyAgIC0gcmVmcmVzaCBUT0RPIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBibGtpZF90eXBlcy5oICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgZGVidWcgbWVzc2FnZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGlmZGVmIF9fY3BsdXNwbHVzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW51c2VkIHN0dWZmIGZyb20gTWFrZWZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1c2VsZXNzIGlmLWJlZm9yZS1mcmVlIHRlc3RzICBbSmltIE1leWVyaW5nXQorICAgLSByZW1vdmUgd2hvbGUtZGlzayBlbnRyaWVzIGZyb20gY2FjaGUgd2hlbiBwYXJ0aXRpb25zIGFyZSBmb3VuZCAgW0VyaWMgU2FuZGVlbl0KKyAgIC0gcmVuYW1lIGJsa2lkX2RlYnVnX2luaXQgdG8gYmxraWRfaW5pdF9kZWJ1ZyAgW0thcmVsIFpha10KKyAgIC0gcmVuYW1lIGJsa2lkX2V2YWx1YXRlX3NwZWMgdG8gYmxraWRfZXZhbHVhdGVfdGFnICBbS2FyZWwgWmFrXQorICAgLSBzZXQgc2l6ZSBmb3Igbm9uLWJsa2RldnMsIGFkZCBibGtpZF9wcm9iZV9zdHJjcHlfdXVpZCgpICBbS2FyZWwgWmFrXQorICAgLSBzcGxpdCBTT05BTUUgYW5kIExJQkJMS0lEX1ZFUlNJT04gIFtLYXJlbCBaYWtdCisgICAtIHN0YXJ0IHRvIHVzZSBBQkkgdmVyc2lvbmluZyAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCBkZXRlY3Rpb24gb2YgbXVsdGlwbGUgc2lnbmF0dXJlcyAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCB2aWEgcmFpZCB2ZXJzaW9uIDIgIFtTdmVuIEpvc3RdCisgICAtIHVwZGF0ZSBUT0RPICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgZ2l0aWdub3JlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgImNoYXIgKioiIHJhdGhlciB0aGFuICJ1bnNpZ25lZCBjaGFyICoqIiAgW0thcmVsIFpha10KKyAgIC0gdXNlIC9kZXYvbWFwcGVyLzxuYW1lPiByYXRoZXIgdGhhbiAvZGV2L2RtLTxOPiAgW0thcmVsIFpha10KKyAgIC0gdXNlIC9zeXMvYmxvY2svZG0tPE4+L2RtL25hbWUgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBSZXF1aXJlcy5wcml2YXRlIGFuZCBmaXggdGhlIGluY2x1ZGUgZGlyZWN0b3J5ICBbS2FyZWwgWmFrXQorICAgLSB1c2UgYmxraWRfcHJvYmVfc3RyY3B5X3V1aWQoKSBmb3IgbHVrcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHBvc2l4IHVpbnQzMl90IGluIG9jZnMgc3VwZXJibG9jayAgW0thcmVsIFpha10KKyAgIC0gdXNlIHBvc2l4IHVpbnRYWF90IGluIGx2bSBjb2RlICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc2l6ZW9mKCkgZm9yIGhmcyB1dWlkICBbS2FyZWwgWmFrXQorICAgLSB2ZmF0IC0gZml4IGRlY2xhcmF0aW9uICBbS2F5IFNpZXZlcnNdCitibGtpczoKKyAgIC0gZml4IGRldGVjdGlvbiBvZiBleHQ0ZGV2IGFzIGV4dDQgIFtFcmljIFNhbmRlZW5dCitibG9ja2RldjoKKyAgIC0gYWRkIG5vdGUgdGhhdCB0aGUgU3RhcnRTZWMgaXMgaW4gNTEyLWJ5dGUgc2VjdG9ycyAgW0thcmVsIFpha10KKyAgIC0gZml4IHBvc3NpYmxlIGJ1ZmZlciBvdmVyZmxvdyAgW0thcmVsIFpha10KK2J1aWxkLXN5czoKKyAgIC0gYWRkICR1c3JsaWJleGVjZGlyIGFuZCBmaXggcGF0aHMgZm9yIFsvdXNyXS9saWI2NCAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tZGlzYWJsZS1tb3VudCAgW0Fsb24gQmFyLUxldl0KKyAgIC0gYWRkIC0td2l0aD1mc3Byb2JlPWJ1aWx0aW4gIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtbHV1aWQgdG8gQkxLSURfTElCUyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZzY2sgYmluYXJ5IHRvIC5naXRpZ25vcmUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtaXNzaW5nIEFDX0NfQklHRU5ESUFOICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBmaWxlcyB0byBpbmNsdWRlL01ha2VmaWxlLmFtICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdGVtcG9yYXJ5IGxpYnRvb2wgKi5tNCBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCAtLXdpdGgtZnNwcm9iZSBoZWxwIHN0cmluZyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBzeXMtdXRpbHMvTWFrZWZpbGUuYW0gIFtLYXJlbCBaYWtdCisgICAtIGRlZmluZSBsaWJkaXIgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBidWdzIGRldGVjdGVkIGJ5ICJtYWtlIGRpc3RjaGVjayIgIFtLYXJlbCBaYWtdCisgICAtIGxpYnRvb2xpemUgYnkgbGlidG9vbC0yICBbS2FyZWwgWmFrXQorICAgLSBsaWJ0b29saXplIG1vdW50L01ha2VmaWxlLmFtICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHBpdm90X3Jvb3QoOCkgdG8gc3lzLXV0aWxzICBbS2FyZWwgWmFrXQorICAgLSByZWZyZXNoIGdlbmVyYXRlZCBsaWJ0b29sLTIgc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIHJlbGVhc2UrKyAodjIuMTUtcmMxKSAgW0thcmVsIFpha10KKyAgIC0gcmVsZWFzZSsrICh2Mi4xNS1yYzIpICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdXNlIG9mIGRldm1hcHBlciBsaWJyYXJ5ICBbS2FyZWwgWmFrXQorICAgLSB0Z2V0cyBpcyBub3QgaW4gbmN1cnNlcyBidXQgaW4gdGluZm8gIFtBcmthZGl1c3ogTWnFm2tpZXdpY3pdCisgICAtIHVzZSBwa2ctY29uZmlnIGZvciBibGtpZCBhbmQgdm9sdW1lX2lkICBbS2FyZWwgWmFrXQorY2FsOgorICAgLSBkZXRlcm1pbmUgdGhlIGZpcnN0IGRheSBvZiB3ZWVrIGZyb20gdGhlIGxvY2FsZSAgW1DDoWRyYWlnIEJyYWR5XQorICAgLSByZW1vdmUgZ2NjLWlzbSBmcm9tIG5sX2xhbmdpbmZvKCkgY2FsbCAgW0thcmVsIFpha10KK2NmZGlzazoKKyAgIC0gYWNjZXB0IHllcy9ubyBhcyBmYWxsYmFjayAgW01hdHRoaWFzIEtvZW5pZ10KKyAgIC0gZml4ICJjYW5ub3Qgc2VlayBvbiBkaXNrIGRyaXZlIiBidWcgIFtLYXJlbCBaYWtdCitjaGZuOgorICAgLSBzZXZlcmFsIHN0cmluZ3Mgd2l0aG91dCBnZXR0ZXh0IGNhbGxzICBbS2FyZWwgWmFrXQorY2hydDoKKyAgIC0gYWRkIE5MUyBzdXBwb3J0LCBjbGVhbiBlcnJvciBtZXNzYWdlcyBhbmQgcmV0dXJuIGNvZGVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYSBjb21tZW50IGFib3V0IG5vbiBQT1NJWCAxMDAzLjFiIGF0dHJpYnV0ZXMgaW4gY2hydC4xICBbQXVyZWxpZW4gSmFybm9dCisgICAtIG91dHB1dCBidWdsZXQgd2hlbiByZXBvcnRpbmcgc2NoZWR1bGluZyBjbGFzcyAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCBDRlMgU0NIRURfSURMRSBwcmlvcml0eSBhbmQgZG9jdW1lbnQgaXQgIFtNYXJ0aW4gU3RlaWdlcndhbGRdCitkaXNrLXV0aWxzOgorICAgLSBjbGVhbiB1cCBjb2RlLCB1c2UgYmxrZGV2XyogZnVuY3Rpb25zICBbU2FtdWVsIFRoaWJhdWx0XQorICAgLSBpbmNsdWRlIGZjbnRsLmggZGlyZWN0bHkgKG1rZnMuY3JhbWZzLCByYXcpICBbbWF4aW1pbGlhbiBhdHRlbXNdCisgICAtIHMvTU9VTlRFRC9fUEFUSF9NT1VOVEVELyAgW21heGltaWxpYW4gYXR0ZW1zXQorZG1lc2c6CisgICAtIEFkZCAtciAocmF3KSBvcHRpb24uICBbQWRhbSBKYWNrc29uXQorICAgLSBudWtlIG9sZCBnbGliYyA1IHN1cHBvcnQgIFttYXhpbWlsaWFuIGF0dGVtc10KK2RvY3M6CisgICAtIFRPRE86IGFkZCByZXF1ZXN0IHRvIHVzZSBubF9sYW5naW5mbygpICBbS2FyZWwgWmFrXQorICAgLSBUT0RPIHVwZGF0ZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGEgbm90ZSBhYm91dCAvcHJvYy9zeXMva2VybmVsL3JhbmRvbS91dWlkICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYSBub3RlIGFib3V0IGtwYXJ0eCB0byBUT0RPICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZW50cnkgYWJvdXQgL3Byb2MvcGFydGl0aW9ucyBwYXJzaW5nICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZmVhdHVyZS1yZXF1ZXN0cyBmcm9tIFJIIGJ1Z3ppbGxhIHRvIFRPRE8gbGlzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1Z2dlc3Rpb24gYWJvdXQgVFo9VVRDIHRvIFRPRE8gZmlsZSAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8sIGNhbCg4KSAtLT4gY2FsKDEpICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgQVVUSE9SUyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgVE9ETyBsaXN0ICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgdjIuMTUgUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorZWx2dHVuZToKKyAgIC0gYWRkIE5MUyBzdXBwb3J0ICBbUGVkcm8gUmliZWlyb10KK2ZkaXNrOgorICAgLSAoYW5kIHBhcnR4KSByZW1vdmUgQkxLR0VUTEFTVFNFQ1QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAweGFmIEhGUyAvIEhGUyBwYXJ0aXRpb24gdHlwZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNvbWUgbWlzc2luZyBpbmNsdWRlcyAgW01hdHRoaWFzIEtvZW5pZ10KKyAgIC0gY2Fubm90IGNyZWF0ZSBwYXJ0aXRpb24gd2l0aCBzdGFydGluZyBiZXlvbmQgMSBUQiAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBfUEFUSF9ERVZfKiBtYWNyb3MgIFtLYXJlbCBaYWtdCisgICAtIGRvZXNuJ3QgaGFuZGxlIGxhcmdlICg0S2lCKSBzZWN0b3JzIHByb3Blcmx5ICBbRXJpYyBTYW5kZWVuXQorICAgLSBkb24ndCBjaGVjayBmb3IgR1BUIHdoZW4gYXNrZWQgZm9yIGRpc2sgc2l6ZSBvbmx5ICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB1c2UgZ2V0X2xpbnV4X3ZlcnNpb24oKSBmb3Igbm9uLWxpbnV4ICBbU2FtdWVsIFRoaWJhdWx0XQorICAgLSBleGl0KDMpIG5lZWRzIHN0ZGxpYi5oIGluY2x1ZGUgIFttYXhpbWlsaWFuIGF0dGVtc10KKyAgIC0gZml4IG1hbiBwYWdlIHR5cG8gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtYXguIHB0bmFtZSAgW0thcmVsIFpha10KKyAgIC0gbm9uLWxpbnV4IHN1cHBvcnQgKEJMSyogYW5kIEhESU9fKikgIFtTYW11ZWwgVGhpYmF1bHRdCisgICAtIHJlYWQgL3Byb2MvcGFydGl0aW9ucyBpbiBtb3JlIHJvYnVzdCB3YXkgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBvYnNvbGV0ZSBpbmZvcm1hdGlvbiBmcm9tIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgZ2V0dGV4dCBjYWxsICBbS2FyZWwgWmFrXQorICAgLSByZW5hbWUgRU5BQkxFX0NNRFRBR1EgbWFjcm8gIFtLYXJlbCBaYWtdCisgICAtIHJvdW5kIHJlcG9ydGVkIHNpemVzIHJhdGhlciB0aGFuIHRydW5jYXRlICBbS2FyZWwgWmFrXQorICAgLSBzZXZlcmFsIHN0cmluZ3Mgd2l0aG91dCBnZXR0ZXh0IGNhbGxzICBbUGVkcm8gUmliZWlyb10KKyAgIC0gc3VnZ2VzdCBwYXJ0cHJvYmUoOCkgYW5kIGtwYXJ0eCg4KSB3aGVuIEJMS1JSUEFSVCBmYWlsZWQgIFtWaW5jZW50IERlZmZvbnRhaW5lcywgS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0ICItYiA0MDk2IiBvcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgK2N5bGluZGVyIG5vdGF0aW9uICBbS2FyZWwgWmFrXQorICAgLSB1c2UgcmVhbCBzZWN0b3Igc2l6ZSBpbiB2ZXJpZnkoKSBhbmQgd2Fybl9jeWxpbmRlcnMoKSAgW0thcmVsIFpha10KKyAgIC0gd2FybiB1c2VycyBhYm91dCAyLjJUQiBkb3MgcGFydGl0aW9uIGxpbWl0ICBbS2FyZWwgWmFrXQorZmxvY2s6CisgICAtIEFsbG93IGxvY2sgZGlyZWN0b3J5ICBbQWxleGV5IEdsYWRrb3ZdCisgICAtIGFkZCBOTFMgc3VwcG9ydCwgcmVtb3ZlIHRhaWxpbmcgd2hpdGUtc3BhY2VzICBbS2FyZWwgWmFrXQorICAgLSBmaXggcHJpbnRmIGZvcm1hdCBlcnJvciBpbiB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBzZWdmYXVsdHMgd2hlbiBmaWxlIG5hbWUgaXMgbm90IGdpdmVuICBbS2FyZWwgWmFrXQorZnNjazoKKyAgIC0gY29zbWV0aWMgY2hhbmdlcyAoTkxTLCBwYXRocywgLi4uKSAgW0thcmVsIFpha10KKyAgIC0gbGluayB3aXRoIGdlbmVyaWMgZnNwcm9iZSB3cmFwcGVyICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIGZzY2sgZnJvbSBlMmZzcHJvZ3MgdG8gdXRpbC1saW51eC1uZyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIAcgZnJvbSB3YXJuaW5nIG1lc3NhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1c2VsZXNzIGlmLWJlZm9yZS1mcmVlIHRlc3RzICBbS2FyZWwgWmFrXQorZnNjay5jcmFtZnM6CisgICAtIGFkZCBOTFMgc3VwcG9ydCAgW1BlZHJvIFJpYmVpcm9dCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nICBbS2FyZWwgWmFrXQorICAgLSBzZWdmYXVsdCB3aXRoIElOQ0xVREVfRlNfVEVTVFMgYW5kIG5vIC14IG9wdGlvbiAgW0thcmVsIFpha10KK2ZzY2subWluaXg6CisgICAtIGFkZCByZWdyZXNzaW9uIHRlc3QgIFtLYXJlbCBaYWtdCitnZXRvcHQ6CisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBpZmRlZnMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1c2VsZXNzIGlmLWJlZm9yZS1mcmVlIHRlc3RzICBbS2FyZWwgWmFrXQoraHdjbG9jazoKKyAgIC0gYWRkIC0tc3lzdHogb3B0aW9uIHRvIHNldCBzeXN0ZW0gY2xvY2sgZnJvbSBpdHNlbGYgIFtTY290dCBKYW1lcyBSZW1uYW50XQorICAgLSBhbHdheXMgcmVhZHMgaGFyZHdhcmUgY2xvY2sgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgaGVscCBvdXRwdXQgYW5kIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbG9jay5oIGlzIGluY2x1ZGVkIG1vcmUgdGhhbiBvbmNlICBbS2FyZWwgWmFrXQorICAgLSBkZWxheSBsb29wIGluIHNldF9oYXJkd2FyZV9jbG9ja19leGFjdCAgW0thbGV2IFNvaWtvbmVuXQorICAgLSBkb24ndCBvcGVuIC9kZXYvcnRjIHJlcGVhdGVkbHkgIFtLYXJlbCBaYWtdCisgICAtIG9taXQgd2FybmluZyBhYm91dCBkcmlmdCBpZiAtLW5vYWRqZmlsZSBnaXZlbiAgW01hdHRoaWFzIEtvZW5pZ10KKyAgIC0gcmVhZF9oYXJkd2FyZV9jbG9ja19ydGMoKSBuZWVkIHRvIHJldHVybiBlcnJvciBjb2RlcyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlICJjbGkiIGFuZCAic3RpIiBmcm9tIGkzODYgQ01PUyBjb2RlICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgeDg2XzY0LXNwZWNpZmljIGJvZ29uICBbRGF2aWQgQnJvd25lbGxdCisgICAtIHNldmVyYWwgc3RyaW5ncyB3aXRob3V0IGdldHRleHQgY2FsbHMgIFtQZWRybyBSaWJlaXJvXQorICAgLSB1bnNoYWRvdyBhIGRpYWdub3N0aWMgcHJpbnRmICBbS2FsZXYgU29pa29uZW5dCisgICAtIHVzZSBjYXJlZnVsbHkgc3luY2hyb25pemVfdG9fY2xvY2tfdGljaygpIHJldHVybiBjb2RlcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHRpbWUgbGltaXQgZm9yIHN5bmNocm9uaXphdGlvbiBidXN5IHdhaXQgIFtLYXJlbCBaYWtdCitpbmNsdWRlOgorICAgLSBhZGQgbWlzc2luZyBmaWxlcyB0byBNYWtlZmlsZS5hbSAgW0thcmVsIFpha10KKyAgIC0gYml0b3BzIC0gZXhwbGljaXRseSBpbmNsdWRlIGVuZGlhbi5oICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHN3YXBoZWFkZXIuaCB0byBpbmNsdWRlICBbTWF0dGhpYXMgS29lbmlnXQorICAgLSBzd2FwaGVhZGVyLmggaXMgbWlzc2luZyBpbiBNYWtlZmlsZS5hbSAgW0thcmVsIFpha10KKyAgIC0gdXNlIF9fQllURV9PUkRFUiByYXRoZXIgdGhhbiBBQyBzcGVjaWZpYyBXT1JEU19CSUdFTkRJQU4gIFtLYXJlbCBaYWtdCitpb25pY2U6CisgICAtIEV4dGVuZCB0aGUgbWFuIHBhZ2UgdG8gZXhwbGFpbiB0aGUgIm5vbmUiIGNsYXNzIGFuZCBjcHUtbmljZSBpbmhlcml0YW5jZSAgW0pha29iIFVudGVyd3VyemFjaGVyXQorICAgLSBhIGxpdHRsZSBjbGVhbnVwIG9mICJub25lIiBkZXNjcmlwdGlvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIC10IG9wdGlvbiAgW0x1Ym9taXIgS3VuZHJha10KKyAgIC0gYWRkIHN0cnRvbCgpIGNoZWNrcywgY2xlYW51cCB1c2FnZSB0ZXh0IGFuZCBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gY2hhbmdlIEplbnMgQXhib2UncyBlbWFpbCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBlcnJvciBtZXNzYWdlcywgYWRkIE5MUyBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyBpbiBtYW5wYWdlICBbS2FyZWwgWmFrXQorICAgLSBsZXQgLXAgaGFuZGxlIG11bHRpcGxlIFBJRHMgIFtTdGVwaGFuIE1ha2FdCitpcGNtazoKKyAgIC0gYWRkIE5MUyBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBmaXggZXJyb3IgY29kZXMgYW5kIGVycm9yIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQorICAgLSBuZXcgY29tbWFuZCAgW0hheWRlbiBKYW1lc10KK2lwY3M6CisgICAtIGFkanVzdCBzb21lIGZpZWxkIHBvc2l0aW9ucyBhbmQgd2lkdGhzIGZvciBjb3JyZWN0IGFsaWdubWVudCAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggZXhpdCBjb2RlcywgcmVtb3ZlIHRhaWxpbmcgd2hpdGUtc3BhY2VzICBbS2FyZWwgWmFrXQorICAgLSB1bmdldHRleHRpemUgdGhlIHNwYWNpbmcgb2YgdGhlIHRhYmxlIGhlYWRlcnMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK2xkYXR0YWNoOgorICAgLSBkb24ndCBjb21waWxlIGZvciBub24tbGludXggc3lzdGVtcyAgW1NhbXVlbCBUaGliYXVsdF0KK2xpYjoKKyAgIC0gYWRkIF9fQllURV9PUkRFUiB0byBtZDUuYyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGlzX3dob2xlX2Rpc2soKSBmcm9tIGZkaXNrIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBwdHR5cGUuYyBmb3IgUFQgdHlwZXMgZGV0ZWN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdGVzdF9pc21vdW50ZWQgZm9yIHJlZ3Jlc3Npb24gdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYmxrZGV2LmMgY2xlYW4gdXAsIG5vbi1saW51eCBzdXBwb3J0ICBbU2FtdWVsIFRoaWJhdWx0XQorICAgLSBkbyBub3QgaW5jbHVkZSA8bGludXgvZmQuaD4gaW4gaXNtb3VudGVkLmMgIFtBdXJlbGllbiBKYXJub10KKyAgIC0gZml4IGZzcHJvYmUgd3JhcHBlciAoY29uc3QgY2hhciAqIGlzIG5vbnNlbnNlKSAgW0thcmVsIFpha10KKyAgIC0gZnNwcm9iZSAtIGZpeCBnY2Mgd2FybmluZyAgW0thcmVsIFpha10KKyAgIC0gZ2NjIHdhcm5pbmcgaW4gZml4IGZzcHJvYmUgIFtLYXJlbCBaYWtdCisgICAtIG1ha2Ugb3Blbl9kZXZpY2UoKSBvcHRpb25hbCBpbiBmc3Byb2JlLmMgIFtLYXJlbCBaYWtdCisgICAtIHB0dHlwZSAgYWRkIEJTRCBzdWJwYXJ0aXRpb25zIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIHB0dHlwZSAgZml4IERPUyBkZXRlY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIHB0dHlwZSAtIGV4dGVuZCB0aGUgQVBJIHRvIHdvcmsgd2l0aCBmaWxlIGRlc2NyaXB0b3JzICBbS2FyZWwgWmFrXQorICAgLSB3aG9sZWRpc2sgLSBleHRlbmQgQVBJLCBhZGQgdGVzdCBwcm9ncmFtICBbS2FyZWwgWmFrXQorICAgLSBwdHR5cGUgLSBmaXggdHlwbyAgW0thcmVsIFpha10KK2xvZ2dlcjoKKyAgIC0gc2V2ZXJhbCBzdHJpbmdzIHdpdGhvdXQgZ2V0dGV4dCBjYWxscyAgW1BlZHJvIFJpYmVpcm9dCitsb2dpbjoKKyAgIC0gY2xlYW51cCBpbmNsdWRlcyAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgKGludDMyIHRpbWUoKSBhcmcpICBbS2FyZWwgWmFrXQorICAgLSBmaXggd2FybmluZyAiZGVyZWZlcmVuY2luZyB0eXBlLXB1bm5lZCBwb2ludGVyIHdpbGwgYnJlYWsgc3RyaWN0LWFsaWFzaW5nIHJ1bGVzIiAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlICJzd2l0Y2hpbmcgdXNlcnMiIG5vbnNlbnNlIGZyb20gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHVzZSAicmVtb3RlIiBhcyBhIFBBTSBzZXJ2aWNlIG5hbWUgZm9yICJsb2dpbiAtaCIgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBvcGVuKDIpIHJhdGhlciB0aGVuIGFjY2VzcygyKSBmb3IgJEhPTUUvLmh1c2hsb2dpbiAgW0thcmVsIFpha10KK2xvZ2luLXV0aWxzOgorICAgLSBzZXZlcmFsIHN0cmluZ3Mgd2l0aG91dCBnZXR0ZXh0IGNhbGxzICBbUGVkcm8gUmliZWlyb10KK2xvc2V0dXA6CisgICAtIGFkZCB3YXJuaW5nIGFib3V0IHJlYWQtb25seSBtb2RlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBjb2RlIGFyb3VuZCBMT19GTEFHU19BVVRPQ0xFQVIgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGRldGFjaCBtb3JlIGRldmljZXMgYnkgIi1kIDxsb29wPiBbPGxvb3A+IC4uXSIgIFtLYXJlbCBaYWtdCisgICAtIGxvb3BsaXN0XyogcmVmYWN0b3JpbmcsIHJlbW92ZSBzY2FuZGlyKCkgIFtLYXJlbCBaYWtdCisgICAtIG1pc3NpbmcgRUJVU1kgZXJyb3IgaGludCBtZXNzYWdlICBbS2FyZWwgWmFrXQorICAgLSBtb3VudCBlbmRsZXNzIGxvb3AgaGFuZyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGRlcGVuZGVuY2Ugb24gbWlub3IgbnVtYmVycyAgW0thcmVsIFpha10KKyAgIC0gc2V2ZXJhbCBzdHJpbmdzIHdpdGhvdXQgZ2V0dGV4dCBzdHJpbmdzICBbUGVkcm8gUmliZWlyb10KKyAgIC0gdHJ5IHRvIHNldCB1cCBsb29wIHJlYWRvbmx5IGlmIEVBQ0NFUyAgW01hdHRoaWFzIEtvZW5pZ10KK2xzY3B1OgorICAgLSAtLXN5c3Jvb3Qgb3B0aW9uIGFuZCBzdGFibGUgY2FjaGUgb3V0cHV0ICBbQ2FpIFFpYW5dCisgICAtIGFkZCBIeXBlcnZpc29yIGRldGVjdGlvbiAgW0thcmVsIFphaywgS3kgU3Jpbml2YXNhbl0KKyAgIC0gbmV3IGNvbW1hbmQgIFtDYWkgUWlhbiwgS2FyZWwgWmFrXQorICAgLSByZWdyZXNzaW9uIHRlc3RzICBbQ2FpIFFpYW5dCisgICAtIHJldHVybiBFWElUX1NVQ0NFU1MgYXQgdGhlIGVuZCAgW01hdHRoaWFzIEtvZW5pZ10KK21pc2MtdXRpbHM6CisgICAtIHdyaXRlIGluY2x1ZGUgc2lnbmFsLmggZGlyZWN0bHkgIFttYXhpbWlsaWFuIGF0dGVtc10KK21rZnMuY3JhbWZzOgorICAgLSBhZGQgZW5kaWFubmVzcyBzdXBwb3J0IHRvIGNyYW1mcyB0b29scyAgW1JveSBQZWxlZF0KKyAgIC0gbG93ZXIgbWVtb3J5IHJlcXVpcmVtZW50cyBmb3IgbGF5b3V0cyB3aXRoIGR1cGxpY2F0ZSBmaWxlcyAgW1JveSBQZWxlZF0KKyAgIC0gc2V2ZXJhbCBzdHJpbmdzIHdpdGhvdXQgZ2V0dGV4dCBjYWxscyAgW1BlZHJvIFJpYmVpcm9dCitta2ZzLm1pbml4OgorICAgLSAoYW5kIGZzY2spIHJlbmFtZSBiaXRvcHMuaCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHJlZ3Jlc3Npb24gdGVzdCAgW0thcmVsIFpha10KKyAgIC0gZml4IHNpemUgZGV0ZWN0aW9uICBbTWF0dGhpYXMgS29lbmlnXQorICAgLSByZW1vdmUgbG9jYWwgaW1wbGVtZW50YXRpb24gb2Yge3NldCxjbHJ9Yml0ICBbS2FyZWwgWmFrXQorbWtzd2FwOgorICAgLSBjbGVhbiB1cCBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gaGFuZGxlIDJeMzIgcGFnZXMgIFtIdWdoIERpY2tpbnNdCisgICAtIG5vbi1saW51eCBzdXBwb3J0ICBbU2FtdWVsIFRoaWJhdWx0XQorICAgLSByZW1vdmUgdjAgc3dhcCBzcGFjZSBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSB6YXAgYm9vdGJpdHMgIFtLYXJlbCBaYWtdCittb3JlOgorICAgLSBkb24ndCB1c2UgYS5vdXQuaCAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSBtaW5vciBmaXhlcyB0byBtYWdpYygpICBbSmFtZXMgWW91bmdtYW5dCittb3VudDoKKyAgIC0gQWRkIHN0cmljdGF0aW1lIHN1cHBvcnQgIFtNYXR0aGV3IEdhcnJldHRdCisgICAtIGFkZCBkb2NzIGFib3V0IHV0Zjg9MCBmb3IgdmZhdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGlfdmVyc2lvbiBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaW5mbyBhYm91dCAvcHJvYy9tb3VudHMgdG8gbW91bnQuMSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGluZm8gYWJvdXQgc2VtYW50aWNzIG9mIHJlYWQtb25seSBtb3VudCB0byBtb3VudC44ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaW5mbyBhYm91dCB0ej1VVEMgb3B0aW9uIGZvciBGQVQgdG8gbW91bnQuOCAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vcmVhbHRpbWUgdG8gbW91bnQuOCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHJvb3Rjb250ZXh0PSBTRUxpbnV4IG1vdW50IG9wdGlvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNob3J0b3B0aW9ucyBmb3IgYmluZCwgbW92ZSBhbmQgcmJpbmQgIFttYXhpbWlsaWFuIGF0dGVtc10KKyAgIC0gY2xlYW4gdXAgU1BFQyBjYW5vbmljYWxpemF0aW9uICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnMgdXAgbW91bnQoOCkgdHJvZmYgbWFya3VwICBbU2FtIFZhcnNoYXZjaGlrXQorICAgLSBjcmVhdGUgc2VwYXJhdGUgc2VjdGlvbiBmb3IgZnMtaW5kZXBlbmRlbnQgb3B0aW9ucyBpbiBtb3VudC44ICBbS2FyZWwgWmFrXQorICAgLSBkb2N1bWVudCBuZXdpbnN0YW5jZSBhbmQgcHRteG1vZGUgb3B0aW9ucyB0byBkZXZwdHMgIFtTdWthZGV2IEJoYXR0aXByb2x1XQorICAgLSBmaW5hbGl6ZSBzdXBwb3J0IG9mIHF1b3RlZCBMQUJFTHMvVVVJRHMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBnY2Mgd2FybmluZyAodmFyaWFibGUgdXNlZCB1bmluaXRpYWxpemVkKSAgW0thcmVsIFpha10KKyAgIC0gZml4IG1vdW50X3N0YXRpY19MREFERCAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8gIFtHdWFuIFhpbl0KKyAgIC0gZml4IHR5cG8gIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvIGluIHZvbHVtZV9pZCBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBnZW5lcmljIGJsa2lkL3ZvbHVtZV9pZCB3cmFwcGVyLCB1c2UgYmxraWRfZXZhbHVhdGVfKiAgW0thcmVsIFpha10KKyAgIC0gaW5mb3JtIGFib3V0IFVJRCBhbmQgZVVJRCB3aGVuIHZlcmJvc2UgPiAyICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIGZpbGVfdCBTRUxpbnV4IHdhcm5pbmcgb3B0aW9uYWwgYW5kIHNob3J0ZXIgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgcmVhbHBhdGguYyBjb2RlIHRvIGxpYi8gIFtLYXJlbCBaYWtdCisgICAtIG10YWIgY3JlYXRlZCBtdWx0aXBsZSB0aW1lcyB3aXRoIC1hIG9wdGlvbiAgW0thcmVsIFpha10KKyAgIC0gbm9uLXNldHVpZCAoUE9TSVggZmlsZSBjYXBhYmlsaXRpZXMpIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBsaW5rIHRvIG5hbWVzeXMuY29tICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgc3B1cmlvdXMgbmV3bGluZSBmcm9tIG1vdW50LjggIFtNaWtlIEZyeXNpbmdlcl0KKyAgIC0gcmVtb3ZlIHVzZWxlc3MgaWYtYmVmb3JlLWZyZWUgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHJlb3JkZXIgbGlzdCBvZiBvcHRpb25zIGluIG1vdW50LjggIFtLYXJlbCBaYWtdCisgICAtIHJldHJ5IG9uIEVOT01FRElVTSAgW01hdHRoaWFzIEtvZW5pZ10KKyAgIC0gcy9NT1VOVEVEL19QQVRIX01PVU5URUQvICBbbWF4aW1pbGlhbiBhdHRlbXNdCisgICAtIHN1Z2dlc3QgdG8gdXNlIGJsb2NrZGV2IC0tc2V0cm8gcmF0aGVyIHRoYW4gbG9zZXR1cCAgW0thcmVsIFpha10KKyAgIC0gc3VuZHJpZXMuaCBhZGQga2xpYmMgc3VwcG9ydCAgW21heGltaWxpYW4gYXR0ZW1zXQorICAgLSBzeW5jIEZBVCBpbmZvIGluIG1vdW50Ljggd2l0aCBEb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL3ZmYXQudHh0ICBbS2FyZWwgWmFrXQorICAgLSBzeW5jIHRtcGZzIGluZm8gaW4gbW91bnQuOCB3aXRoIERvY3VtZW50YXRpb24vZmlsZXN5c3RlbXMvdG1wZnMudHh0ICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc3Vic2VjdGlvbnMgaW4gbW91bnQuOCBERVNDUklQVElPTiAgW0thcmVsIFpha10KKyAgIC0gd2FybiBvbiAiZmlsZV90IiBzZWxpbnV4IGNvbnRleHQgIFtLYXJlbCBaYWtdCituYW1laToKKyAgIC0gYWRkIC0tb3duZXJzIGFuZCAtLWxvbmcgb3B0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tdmVydGljYWwgb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBvcHRpb25zIHRvIG5hbWVpLjEgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGR1cGxpY2F0ZSAnLycgZGlyZWN0b3J5ICBbS2FyZWwgWmFrXQorICAgLSBmaXggYnVmZmVyIG92ZXJmbG93ICBbS2FyZWwgWmFrXQorICAgLSBuZXcgcmUtd3JpdHRlbiB2ZXJzaW9uICBbS2FyZWwgWmFrXQorcGFydHg6CisgICAtIGNvbnZlcnQgaGFyZCBzZWN0b3Igc2l6ZSB0byA1MTItYnl0ZSBzZWN0b3JzICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBkdXBsaWNhdGUgbGliL2Jsa2Rldi5jIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHJlZGVjbGFyZSBkYWRkcl90ICBbbWF4aW1pbGlhbiBhdHRlbXNdCisgICAtIHVzZSBpb2N0bHMgZnJvbSBsaWIvYmxrZGV2LmMgIFtLYXJlbCBaYWtdCitwZzoKKyAgIC0gYWRkIGdldHRleHQgY2FsbCBmb3IgdGhlIGhlbHAgc3RyaW5nICBbS2FyZWwgWmFrXQorICAgLSBzZXZlcmFsIHN0cmluZ3Mgd2l0aG91dCBnZXR0ZXh0IGNhbGxzICBbUGVkcm8gUmliZWlyb10KK3Bpdm90X3Jvb3Q6CisgICAtIGNsZWFuIHVwICBbS2FyZWwgWmFrXQorcG86CisgICAtIGFkZCB6aF9DTi5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1JheSBXYW5nXQorICAgLSBtZXJnZSBjaGFuZ2VzICBbS2FyZWwgWmFrXQorICAgLSByZXdyaXRlIHVwZGF0ZS1wb3RmaWxlcyBzY3JpcHQgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBQT1RGSUxFUy5pbiAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGNzLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUGV0ciBQaXNhcl0KKyAgIC0gdXBkYXRlIGZpLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbTGF1cmkgTnVybWldCisgICAtIHVwZGF0ZSBmci5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW05pY29sYXMgUHJvdm9zdF0KKyAgIC0gdXBkYXRlIGlkLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbQXJpZiBFLiBOdWdyb2hvXQorICAgLSB1cGRhdGUgamEucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtNYWtvdG8gS2F0b10KKyAgIC0gdXBkYXRlIGxpc3Qgb2YgLmMgZmlsZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBubC5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB1cGRhdGUgdmkucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtDbHl0aWUgU2lkZGFsbF0KK3JhdzoKKyAgIC0gYWRkIE5MUyBzdXBwb3J0ICBbUGVkcm8gUmliZWlyb10KKyAgIC0gZGVmYXVsdCB0byAvZGV2L3Jhdy9yYXdjdGwgIFtLYXJlbCBaYWtdCityZGV2OgorICAgLSBjbGVhbnVwIGluY2x1ZGVzICBbS2FyZWwgWmFrXQorcmVhZHByb2ZpbGU6CisgICAtIHNldmVyYWwgc3RyaW5ncyB3aXRob3V0IGdldHRleHQgY2FsbHMgIFtQZWRybyBSaWJlaXJvXQorcmVuaWNlOgorICAgLSBhZGQgLW4gb3B0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggUE9TSVggIFtLYXJlbCBaYWtdCitydGN3YWtlOgorICAgLSBhZGQgbWlzaW5nIC5SRSB0byB0aGUgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgcmV0dXJuIGNvZGVzICBbS2FyZWwgWmFrXQorICAgLSBleHBsYWluIHN1cHBvcnRlZCBtb2RlcyBpbiBydGN3YWtlLjggIFtLYXJlbCBaYWtdCisgICAtIHByZWZlciBSVENfV0tBTE1fU0VUIG92ZXIgUlRDX0FMTV9TRVQgIFtHYWJyaWVsIEJ1cnRdCisgICAtIHN1cHBvcnQgbm90IHN1c3BlbmRpbmcgIFtNYXJjbyBkJ0l0cmldCitzY3JpcHQ6CisgICAtIGRvbid0IGZsdXNoIGlucHV0IHdoZW4gc3RhcnRpbmcgc2NyaXB0ICBbQW5kcmV3IE1jR2lsbF0KK3NjcmlwdHJlcGxheToKKyAgIC0gbmV3IGltcGxlbWVudGF0aW9uIGlzIG91dC1vZi1zeW5jICBbS2FyZWwgWmFrXQorc2VsaW51eDoKKyAgIC0gaXNfc2VsaW51eF9lbmFibGVkKCkgcmV0dXJucyAwLCAxIGFuZCAtMSAgW0thcmVsIFpha10KK3NldHRlcm06CisgICAtIGZpeCAtYmxhbmsgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCitzZmRpc2s6CisgICAtIGZpeCBDb21waWxhdGlvbiBFcnJvciAgW0NBSSBRaWFuXQorICAgLSBmaXggcG9zc2libGUgYnVmZmVyIG92ZXJmbG93ICBbS2FyZWwgWmFrXQorICAgLSBwcmludCB2ZXJzaW9uIHNob3VsZCBlbmQgd2l0aCBhIG5ld2xpbmUgIFtEZW5pcyBDaGVuZ1JxXQorc2ltbXBsZWluaXQ6CisgICAtIGZpeCBnY2Mgd2FybmluZyAoYnVmZmVyIHNpemUgaW4gcmVhZCgpKSAgW0thcmVsIFpha10KK3NpbXBsZWluaXQ6CisgICAtIGNsZWFudXAgZ2V0dGV4dCBjYWxscywgdXNlIHNucHJpbnRmKCkgIFtLYXJlbCBaYWtdCitzd2Fwb246CisgICAtIC1hIGhhcyB0byBjb21wbGFpbiwgZml4IGxlYWtzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLWYvLS1maXhwZ3N6IG9wdGlvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIGVycm9yIG1lc3NhZ2VzIGZvciBsc2VlayBhbmQgd3JpdGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBnZW5lcmljIHN3YXBfZ2V0X2hlYWRlcigpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3dhcCBmb3JtYXQgZGV0ZWN0aW9uIGFuZCBwYWdlc2l6ZSBjaGVjayAgW01hdHRoaWFzIEtvZW5pZywgT2xhZiBIZXJpbmddCisgICAtIGNsZWFudXAgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGRvX3N3YXBvbigpIHJlZmFjdG9yaW5nIChtb3ZlIHN0YXQoKSBjaGVja3MpICBbS2FyZWwgWmFrXQorICAgLSBkb19zd2Fwb24oKSByZWZhY3RvcmluZyAoc3BsaXQgaW50byB0d28gZnVuY3Rpb25zKSAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8gcy93YXJuL3dhcm54LyAgW0thcmVsIFpha10KKyAgIC0gZml4IHdvcmRpbmcgaW4gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHJld3JpdGUgU1dTVVNQRU5EIHNpZ25hdHVyZSByYXRoZXIgdGhhbiBleGVjIG1rc3dhcCAgW0thcmVsIFpha10KKyAgIC0gc2ltcGxpZnkgc3BlYyB0byBkZXZuYW1lIGNvbnZlcnNpb24gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBlcnIuaCBzdHVmZiAgW0thcmVsIFpha10KK3RhaWxmOgorICAgLSB1bmlzdGQuaCBpcyBpbmNsdWRlZCBtb3JlIHRoYW4gb25jZSAgW0thcmVsIFpha10KK3Rlc3RzOgorICAgLSBhZGQgImJ5dGUtb3JkZXIiIHRvIGhlbHBlcnMvdGVzdF9zeXNpbmZvICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLi9ydW4uc2ggPGNvbXBvbmVudD4gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBNRDUgcmVncmVzc2lvbiB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZnNjayBpc21vdW50ZWQgcmVnLnRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsaWJibGtpZCByZWdyZXNzaW9uIHRlc3RzIChpbWFnZXMgZnJvbSBlMmZzcHJvZ3MpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbHNjcHUoMSkgdGVzdCBmb3IgZnVsbHZpcnQuIFhlbiB4ODZfNjQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsc2NwdSgxKSB0ZXN0IGZvciBwYXJhdmlydC4gWGVuIGkzODYgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtZDUgcmVncmVzc2lvbiB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWstbHNjcHUtaW5wdXQuc2ggIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciBzdWJkaXJzIHRvIGJhc2ljIHRlc3QgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3Igc3VidGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzd2FiTigpIHJlZ3Jlc3Npb24gdGVzdCAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgYWxzbyBmb3IgL2Rldi9sb29wL1ggIFtLYXJlbCBaYWtdCisgICAtIGNobW9kIC14IHRzL2xzY3B1L21rLWlucHV0LnNoICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCB0aGUgdGVzdGluZyBzY3JpcHRzICBbQW3DqXJpY28gV2FuZ10KKyAgIC0gY2xlYW51cCBsc2NwdSByZWcudGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdHMvYml0b3BzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHRzL2NhbCBzY3JpcHRzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHRzL2NvbCBzY3JpcHRzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHRzL2NyYW1mcy9mc2NrLWVuZGlhbm5lc3MgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdHMvY3JhbWZzL21rZnMtZW5kaWFubmVzcyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB0cy9od2Nsb2NrICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHRzL2lwY3MgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdHMvbG9naW4gIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdHMvbG9vayAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB0cy9tZDUgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdHMvbWluaXggIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdHMvbW91bnQgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdHMvbmFtZWkgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdHMvcGF0aHMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdHMvc2NyaXB0ICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHRzL3N3YXBvbiAgW0thcmVsIFpha10KKyAgIC0gY3JlYXRlIGV4cGVjdGVkLyQoY29tcG9uZW50KS8kKHRlc3RuYW1lKSAgW0thcmVsIFpha10KKyAgIC0gY3JlYXRlIHN1YmRpcnMgZm9yIHRlc3Qgc2NyaXB0cyAgW0thcmVsIFpha10KKyAgIC0gZGV0ZWN0IGxpYnZvbHVtZV9pZCB3aGVuIG1vdW50KDgpIGlzIGNvbXBpbGVkICBbS2FyZWwgWmFrXQorICAgLSBkaXNhYmxlIGJsa2lkIHRlc3RzIHdoZW4gYmxraWQoOCkgaXMgbm90IGNvbXBpbGVkICBbS2FyZWwgWmFrXQorICAgLSBkaXNhYmxlIHN1aWQgbW91bnQgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gZml4IC1yZWdleCBpbiBydW4uc2ggIFtLYXJlbCBaYWtdCisgICAtIGZpeCBUU18qIHBhdGhzICBbS2FyZWwgWmFrXQorICAgLSBmaXggZmlsZSBuYW1lIGlzIHRvbyBsb25nIChtYXggOTkpIC0gZ3RhciAgW0thcmVsIFpha10KKyAgIC0gZml4IG91dHB1dCBzdHJpbmcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0aGUgZmluYWwgbWVzc2FnZSBmb3Igc3VidGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvIGluIGxvdy1wcm9iZSB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyBpbiBsc2NwdSB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHNvbWUgZ2VuZXJpYyBzdHVmZiBmcm9tIHRzX2luaXQoKSB0byBhIG5ldyB0c19pbml0X2VudigpICBbS2FyZWwgWmFrXQorICAgLSByZWZyZXNoIE1ha2VmaWxlLmFtIChhZGQgbWlzc2luZyBsc2NwdSB0ZXN0cykgIFtLYXJlbCBaYWtdCisgICAtIHJlZnJlc2ggYW5kIGNsZWFudXAgY3JhbWZzL21rZnMgIFtyb290XQorICAgLSByZWZyZXNoIGNhbCgxKSBleHBlY3RlZCBvdXRwdXRzICBbS2FyZWwgWmFrXQorICAgLSByZWZyZXNoIGV4cGVjdGVkIG1vdW50KDgpIG91dHB1dHMgIFtLYXJlbCBaYWtdCisgICAtIHJlZnJlc2ggaXBjcyBleHBlY3RlZCBvdXRwdXRzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgaW5wdXQgZGlyZWN0b3J5ICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgb2Jzb2xldGUgc3R1ZmYgZnJvbSBNYWtlZmlsZS5hbSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVuZXhwZWN0ZWQgZXhpdCBmcm9tICpfc3VidGVzdCBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1c2VsZXNzIHJldHVybiB2YWx1ZSBjaGVja3MgaW4gdGVzdGluZyBzY3JpcHRzICBbQW3DqXJpY28gV2FuZ10KKyAgIC0gdXBkYXRlIG5hbWVpIHJlZy50ZXN0ICBbS2FyZWwgWmFrXQorICAgLSB3ZSBuZWVkbid0IGJsa2lkLnNoICBbS2FyZWwgWmFrXQordG9vbHM6CisgICAtIGFkZCBjaGVja2NvbmZpZyB0byB0b3AtbGV2ZWwgTWFrZWZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjaGVja2luY2x1ZGVzLnBsIChmcm9tIGxpbnV4IGtlcm5lbCkgIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSBjb2RlY2hlY2stY29uZmlnIHRvIGNoZWNrY29uZmlnLnNoICBbS2FyZWwgWmFrXQordW1vdW50OgorICAgLSBjaGVjayBmb3Igb3ZlcmxhaWQgbW91bnRzICBbR3VhbiBYaW5dCisgICAtIGNsZWFudXAgZ2Vmc19ieV9zcGVjZGlyKCkgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgIi1kIiBvcHRpb24gZm9yIGF1dG9jbGVhciBsb29wcyAgW0thcmVsIFpha10KKyAgIC0gbm8gY2hlY2tpbmcgbW91bnQgcG9pbnQgcmVtb3ZhbCAgW0d1YW4gWGluXQord2hlcmVpczoKKyAgIC0gaW5jbHVkZSBkaXJlbnQuaCBpbnN0ZWFkIHN5cy9kaXIuaCAgW21heGltaWxpYW4gYXR0ZW1zXQord3JpdGU6CisgICAtIGRvZXNuJ3QgY2hlY2sgZm9yIHR0eSBncm91cCAgW0thcmVsIFpha10KKwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4xNi1SZWxlYXNlTm90ZXMgYi9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE2LVJlbGVhc2VOb3RlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNzMzN2U4Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4xNi1SZWxlYXNlTm90ZXMKQEAgLTAsMCArMSwxODIgQEAKKworVXRpbC1saW51eC1uZyAyLjE2IFJlbGVhc2UgTm90ZXMgKDE1LUp1bC0yMDA5KQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCitSZWxlYXNlIGhpZ2hsaWdodHMKKy0tLS0tLS0tLS0tLS0tLS0tLQorCitsaWJ1dWlkLCB1dWlkZ2VuKDEpIGFuZCB1dWlkZCg4KToKKyAgLSB0aGUgbGlidXVpZCBsaWJyYXJ5IGhhcyBiZWVuIG1vdmVkIGZyb20gZTJmc3Byb2dzIHRvIHV0aWwtbGludXgtbmcKKworc3dpdGNoX3Jvb3Q6CisgIC0gdGhpcyBORVcgQ09NTUFORCBhbGxvd3MgdG8gc3dpdGNoIHRvIGFub3RoZXIgZmlsZXN5c3RlbSBhcyB0aGUgcm9vdAorICAgIG9mIHRoZSBtb3VudCB0cmVlLgorCittb3VudCwgdW1vdW50LCBmc2NrOgorICAtIERPRVMgTk9UIFNVUFBPUlQgbGlua2luZyBhZ2FpbnN0IG9ic29sZXRlIGxpYnZvbHVtZV9pZCAoZnJvbSB1ZGV2KQorCitsaWJibGtpZDoKKyAgLSBkZXZlbG9wbWVudCBmaWxlcyAoLnNvLCAuYSwgLi4uKSBoYXZlIGJlZW4gbW92ZWQgZnJvbSAvbGliIHRvIC91c3IvbGliLgorCisKK1N0YWJsZSBtYWludGVuYW5jZSByZWxlYXNlcyBiZXR3ZWVuIHYyLjE1IGFuZCB2Mi4xNgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3V0aWwtbGludXgtbmcgMi4xNS4xIFsxMC1KdW4tMjAwOV0KKworICogZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTUvdjIuMTUuMS1SZWxlYXNlTm90ZXMKKyAgIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE1L3YyLjE1LjEtQ2hhbmdlTG9nCisKKworQ2hhbmdlTG9nIGJldHdlZW4gdjIuMTUgYW5kIHYyLjE2CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworIEZvciBtb3JlIGRldGFpbHMgc2VlIENoYW5nZUxvZyBmaWxlcyBhdDoKKyBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xNi8KKworCitidWlsZC1zeXM6CisgICAtIGFkZCAtLWRpc2FibGUtbGliYmxraWQsIHJlbW92ZSB2b2x1bWVfaWQgc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tZGlzYWJsZS1zd2l0Y2hfcm9vdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tZGlzYWJsZS10bHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLWRpc2FibGUtdXVpZGQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBVVElMX3tTRVQsUkVTVE9SRX1fRkxBR1MgIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIGZvciBvcGVuYXQoKSBhbmQgbGludXggZm9yIHN3aXRjaF9yb290ICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGxpYnV1aWQgc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIGNvbXBsZXRlIC9saWJzIHRvIC9zaGxpYnMgcmVuYW1lICBbS2FyZWwgWmFrXQorICAgLSBlbmFibGUgZnNjayBieSBkZWZhdWx0ICBbS2FyZWwgWmFrXQorICAgLSBmaXggIm1ha2UgLUMiIGJ1ZyAgW0thcmVsIFpha10KKyAgIC0gZml4IC0tZGlzYWJsZS11dWlkZCAgW0thcmVsIFpha10KKyAgIC0gZml4IGJsa2lkLmggaW5jbHVkZSBmb3Igb2xkIGUyZnNwcm9ncyAgW0thcmVsIFpha10KKyAgIC0gZml4IGV4ZWMvZGF0YSBpbnN0YWxsIGhvb2tzICBbS2FyZWwgWmFrXQorICAgLSBmaXggaGVhZGVycyBpbiBta3N3YXAgYW5kIGxpYmJsa2lkICBbS2FyZWwgWmFrXQorICAgLSBmaXggbGlidXVpZCBNYWtlZmlsZS5hbSAgW0thcmVsIFpha10KKyAgIC0gZml4IGxpYnV1aWQgYW5kIGxpYmJsa2lkIHZlcnNpb24taW5mbyAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8gZnJvbSAzMDY4OGRkZTU1ZjYzN2M5Yjk4NDgwOWM2ODViNjEzNzhiODI4MDVmICBbUm9iZXJ0IEbDtnJzdGVyXQorICAgLSBpbXByb3ZlICRsaWJkaXJuYW1lIGRlZmluaXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgc3ltbGlua3MgY3JlYXRpb24gaW4gc2hsaWJzLyAgW0thcmVsIFpha10KKyAgIC0gcmVsZWFzZSsrICh2Mi4xNi1yYzEpICBbS2FyZWwgWmFrXQorICAgLSByZWxlYXNlKysgKHYyLjE2LXJjMikgIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSAvbGlicyB0byAvc2hsaWJzICBbS2FyZWwgWmFrXQorICAgLSByZW5hbWUgdG8gX2V4ZWNkaXIgIFtLYXJlbCBaYWtdCisgICAtIHJldmVyc2Ugc2hsaWJzIGluc3RhbGxhdGlvbiAgW0theSBTaWV2ZXJzXQorYnVpbGRzeXM6CisgICAtIG1vdmUgJHVzcntiaW4sc2JpbixsaWJ9ZXhlY2RpciBkZWZpbml0aW9uIHRvIC4vY29uZmlndXJlICBbS2FyZWwgWmFrXQorY2FsOgorICAgLSBIaWdobGlnaHQgdG9kYXkgZXZlbiB3aGVuIG1vbnRoIG9yIHllYXIgc3BlY2lmaWVkICBbUmFqZWV2IFYuIFBpbGxhaV0KKyAgIC0gdUNsaWJjIGhhcyBsYW5naW5mby5oIGJ1dCBub3QgX05MX1RJTUVfV0VFS18xU1REQVkuICBbVG9tIFByaW5jZV0KK2NocnQ6CisgICAtIGRvbid0IGFzc3VtZSBTQ0hFRF9CQVRDSCBhbmQgU0NIRURfSURMRSBleGlzdCAgW0F1cmVsaWVuIEphcm5vXQorZG9jczoKKyAgIC0gYWRkIG1pc3NpbmcgY29tbWFuZHMvcHJvamVjdHMgdG8gQVVUSE9SUyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdjIuMTYgUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorICAgLSByZWZyZXNoIFRPRE8gbGlzdCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGV4YW1wbGUuZmlsZXMvcmNbLmxvY2FsXSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIG9ic29sZXRlIGluZm9ybWF0aW9uIGZyb20gZnN0YWIgZXhhbXBsZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIEFVVEhPUlMgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHYyLjE2IFJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHYyLjE2LVJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KK2ZkaXNrOgorICAgLSAoYW5kIGNmZGlzaykgZml4IHRvIGJlIGNvbnNpc3RlbnQgYWJvdXQgbWF4aW11bSBoZWFkcyAgW0NocmlzIFdlYmJdCisgICAtIGFkZCBzaW1wbGUgdGVzdCBmb3IgZG9zbGFiZWwgc3R1ZmYgIFtaZGVuZWsgQmVoYW5dCitod2Nsb2NrOgorICAgLSBmaXggbWlzbWF0Y2hlZCBwb3Blbi9mY2xvc2UuICBbSm9obiBLZWVwaW5nXQoraW5jbHVkZToKKyAgIC0gY2xlYW4gdXAgX1BBVEhfREVWXyogbWFjcm9zICBbS2FyZWwgWmFrXQorICAgLSBmaXggX1BBVEhfREVWICBbS2FyZWwgWmFrXQoraW9uaWNlOgorICAgLSBBbGxvdyBzZXR0aW5nIHRoZSBub25lIGNsYXNzICBbSmFrb2IgVW50ZXJ3dXJ6YWNoZXJdCitsZGF0dGFjaDoKKyAgIC0gYWRkIE5fUFBTIHN1cHBvcnQgIFtUaWxtYW4gU2NobWlkdF0KK2xpYmJsa2lkOgorICAgLSBhZGQgZGV2aWNlLW1hcHBlciBzbmFwc2hvdCBjb3cgZGV2aWNlIHByb2JlICBbTWlsYW4gQnJvel0KKyAgIC0gYWRkIGluc3RhbGwtaG9vayBmb3IgbGlidXVpZC5bYSxzb10gZGV2ZWwgZmlsZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdGRhcmcuaCB0byBibGtpZFAuaCAgW0thcmVsIFpha10KKyAgIC0gYmxraWRfZG9fc2FmZXByb2JlKCkgaGFzIHRvIGJlIHRvbGVyYW50IHRvIFJBSURzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGRlYnVnIG1lc3NhZ2VzIGFuZCByZXR1cm4gY29kZXMgaW4gYmxraWRfZG9fcHJvYmUoKSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgcmVxdWlyZSB1ZGV2IHN5bWxpbmtzIHZlcmlmaWNhdGlvbiBmb3Igbm9uLXJvb3QgdXNlcnMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAiaGFuZ3MgZm9yZXZlciB3aXRoIHBhcnRpdGlvbiB0eXBlIG1kcmFpZCIgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAjaWZkZWZzIHJlYWRhYmlsaXR5ICBbS2FyZWwgWmFrXQorICAgLSBmaXggJGxpYmRpciBpbiBibGtpZC5wYyAgW0thcmVsIFpha10KKyAgIC0gZml4IExWTTEgcHJvYmUgIFtNaWxhbiBCcm96XQorICAgLSBmaXggcmVpc2VyZnMgbmFtZSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBsaWJ1dWlkIG9wdGlvbmFsICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHRvIG1pc2MtdXRpbHMvIGRpcmVjdG9yeSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorbGlidXVpZDoKKyAgIC0gYWRkIC0tZGlzYWJsZS1saWJ1dWlkIGFuZCBMSUJVVUlEX1ZFUlNJT04gIFtLYXJlbCBaYWtdCisgICAtIGFkZCAuZ2l0aWdub3JlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaW5mbyBhYm91dCB1LWwtbmcgdG8gbWFuIHBhZ2VzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaW5zdGFsbC1ob29rIGZvciBsaWJ1dWlkLlthLHNvXSBkZXZlbCBmaWxlcyAgW0thcmVsIFpha10KKyAgIC0gRG9uJ3QgcnVuIHV1aWRkIGlmIGl0IHdvdWxkIGZhaWwgZHVlIHRvIHBlcm1pc3Npb24gcHJvYmxlbXMgIFtUaGVvZG9yZSBUcydvXQorICAgLSBmaXggJGxpYmRpciBpbiB1dWlkLnBjICBbS2FyZWwgWmFrXQorICAgLSBmaXggcGFyYWxsZWwgYnVpbGRpbmcgIFtLYXJlbCBaYWtdCisgICAtIGdlbmVyYXRlIHV1aWRfZ2VuZXJhdGVfe3JhbmRvbSx0aW1lfS4zIG1hbiBwYWdlIGxpbmtzIFtLYXJlbCBaYWtdCisgICAtIGltcG9ydCBVVUlEIGxpYnJhcnkgZnJvbSBlMmZzcHJvZ3MgIFtLYXJlbCBaYWtdCisgICAtIE1ha2Ugc3VyZSBmZCdzIDAsIDEsIGFuZCAyIGFyZSB2YWxpZCBiZWZvcmUgZXhlYydpbmcgdXVpZGQgIFtUaGVvZG9yZSBUcydvXQorICAgLSBtb3ZlIGNsb2NrIHN0YXRlIGZpbGUgZnJvbSAvdmFyL2xpYiB0byAvdmFyL3J1biAgW0thcmVsIFpha10KK2xpYnV1aWQsIHV1aWRkOgorICAgLSBBdm9pZCBpbmZpbml0ZSBsb29wIHdoaWxlIHJlYWRpbmcgZnJvbSB0aGUgc29ja2V0IGZkICBbVGhlb2RvcmUgVHMnb10KK2xvc2V0dXA6CisgICAtIGFkZCAtLXNldC1jYXBhY2l0eSAgW0thcmVsIFpha10KKyAgIC0gZml4IHJldHVybiBjb2RlcyBvZiBmdW5jdGlvbnMgYXJvdW5mIGlzX2Fzc29jaWF0ZWQoKSAgW0thcmVsIFpha10KKyAgIC0gaGFuZGxlIHN5bWxpbmtzIGluIC9kZXYvbG9vcC8gIFtNaWtlIEZyeXNpbmdlcl0KKyAgIC0gc3VnZ2VzdCB0byB1c2UgbW9kcHJvYmUgcmF0aGVyIHRoYW4gaW5zbW9kIGluIGxvc2V0dXAuOCAgW0thcmVsIFpha10KK2xzY3B1OgorICAgLSBmaXggY3B1aWQgY29kZSBvbiB4ODYvUElDICBbTWlrZSBGcnlzaW5nZXJdCittb3VudDoKKyAgIC0gKGFuZCBmc2NrKSByZW1vdmUgbGlidm9sdW1lX2lkIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGEgbGl0dGxlIGNsZWFuIHVwIGluZm8gYWJvdXQgbG9vcGRldnMgaW4gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBleHQ0IHRvIG1vdW50LjggIFtLYXJlbCBaYWtdCisgICAtIGFkZCBleHQ0IHRvIHRoZSBsaXN0IG9mIGZpbGVzeXN0ZW1zIGluIG1vdW50LjggIFtLYXJlbCBaYWtdCisgICAtIGFkZCBpbmZvIGFib3V0IG9ic29sZXRlIHZmYXQgb3B0aW9ucyB0byBtb3VudC44ICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyBsb29wIHN1aWQgdW1vdW50ICBbS2F5IFNpZXZlcnNdCisgICAtIGNsZWFudXAgbm90ZXMgYWJvdXQgLWwgb3B0aW9uIGluIG1vdW50LjggIFtLYXJlbCBaYWtdCisgICAtIGZpeCB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzZWN1cml0eV9nZXRfaW5pdGlhbF9jb250ZXh0JyAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBNU197UFJPUEFHQVRJT04sQklORCxNT1ZFfSBkZXRlY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIHVzZSAibm9uZSIgZnN0eXBlIGZvciBNU19QUk9QQUdBVElPTiBtb3VudHMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBUQUcgcGFyc2luZyBmdW5jdGlvbiBmcm9tIGxpYmJsa2lkICBbS2FyZWwgWmFrXQorICAgLSB3aGVuIGEgcmVtb3VudCB0byBydyBmYWlscywgcXVpdCBhbmQgcmV0dXJuIGFuIGVycm9yICBbVmFsZXJpZSBBdXJvcmFdCitwbzoKKyAgIC0gZml4IHR5cG8gaW4gRnJlbmNoIHRyYW5zbGF0aW9uICBbT2xpdmllciBCbGluXQorICAgLSBtZXJnZSBjaGFuZ2VzICBbS2FyZWwgWmFrXQorICAgLSByZWZyZXNoIFBPVEZJTEVTLmluICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgY3MucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtQZXRyIFBpc2FyXQorICAgLSB1cGRhdGUgZmkucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtMYXVyaSBOdXJtaV0KKyAgIC0gdXBkYXRlIGZyLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbTmljb2xhcyBQcm92b3N0XQorICAgLSB1cGRhdGUgdmkucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtDbHl0aWUgU2lkZGFsbF0KK3JhdzoKKyAgIC0gVXNlIHRoZSBSQVdfU0VUQklORCBpb2N0bCB3aXRob3V0IHN0YXQnaW5nIHRoZSByYXcjIGZpbGUgIFtKZWZmIE1haG9uZXldCisgICAtIHVuZGVwcmVjYXRlIHJhdyAgW0thcmVsIFpha10KK3N3aXRjaF9yb290OgorICAgLSBhZGQgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdWJyb290IHN1cHBvcnQgIFtEYW5pZWwgRHJha2VdCisgICAtIGNsZWFuIHVwIGFyZ3ZbXSB1c2FnZSwgYWRkIC1oIGFuZCAtViAgW0thcmVsIFpha10KKyAgIC0gZG8gcmVjdXJzaXZlUmVtb3ZlIGFmdGVyIG91ciByb290IGlzIG1vdmVkIHRvIGF2b2lkIHJhY2VzLiAgW1BldGVyIEpvbmVzXQorICAgLSBmaXggY29kaW5nIHN0eWxlICBbS2FyZWwgWmFrXQorICAgLSBmb3JrIGJlZm9yZSBjbGVhbmluZyB1cCB0aGUgZmlsZXN5c3RlbS4gIFtQZXRlciBKb25lc10KKyAgIC0gbmV3IGNvbW1hbmQgIFtLYXJlbCBaYWtdCisgICAtIHJld3JpdGUgdG8gdXNlIGZzdGF0YXQoKSBhbmQgdW5saW5rYXQoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGVyci5oLCBjbGVhbiB1cCByZXR1cm4gY29kZXMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBmaWxlIGRlc2NyaXB0b3IgaW5zdGVhZCBvZiBwYXRoIGZvciByZWN1cnNpdmVSZW1vdmUoKSAgW1BldGVyIEpvbmVzXQorICAgLSB1c2Ugc25wcmludGYoKSByYXRoZXIgdGFuIHN0cntjcHksY2F0fSgpICBbS2FyZWwgWmFrXQordGVzdHM6CisgICAtIGFkZCBmdW5jdGlvbnMgZm9yIHdvcmsgd2l0aGRpc2sgaW1hZ2VzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWRyYWlkIGxpYmJsa2lkIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHJ1biBzb21lIG1vdW50IHRlc3RzIGZvciBub24tcm9vdCB1c2VycyAgW0thcmVsIFpha10KKyAgIC0gZml4ICdkZWxldGUgZXh0ZW5kZWQgcGFydGl0aW9uJyBjaGVja3N1bSAgW0thcmVsIFpha10KKyAgIC0gZml4IHJlaXNlcmZzIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzY3JpcHQgdGhhdCBjcmVhdGVzIGxzY3B1IGR1bXBzICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIGxzY3B1IC9wcm9jIGFuZCAvc3lzIGR1bXBzIHRvIHRhcmJhbGxzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgYnJva2VuIFhlbiBkdW1wcyBmb3IgbHNjcHUgIFtLYXJlbCBaYWtdCit1bW91bnQ6CisgICAtIGNsZWFuIHVwIGhlbHAgb3V0cHV0ICBbS2FyZWwgWmFrXQordXVpZGQ6CisgICAtIEF2b2lkIGNsb3NpbmcgdGhlIHNlcnZlciBzb2NrZXQgd2hlbiBjYWxsaW5nIGNyZWF0ZV9kYWVtb24oKSAgW1RoZW9kb3JlIFRzJ29dCisgICAtIGZpeCAkUElERklMRSBpbiB1dWlkZC5yYyAgW0thcmVsIFpha10KKyAgIC0gaW5pdCAvdmFyL3J1bi91dWlkZCwgYWRkIG9wdGlvbiBmb3Igb24tZGVtYW5kIG1vZGUgdG8gLnJjIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgdXVpZGQgZmlsZXMgZnJvbSAvdmFyL2xpYi9saWJ1dWlkIHRvIC92YXIvcnVuL3V1aWRkICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHV1aWRkLnJjIHRvIG1pc2MtdXRpbHMgZGlyZWN0b3J5ICBbS2FyZWwgWmFrXQorICAgLSBuZXcgY29tbWFuZCAoVVVJRCBkYWVtb24gZnJvbSBlMmZzcHJvZ3MpICBbS2FyZWwgWmFrXQordXVpZGdlbjoKKyAgIC0gbmV3IGNvbW1hbmQgKGZyb20gZTJmc3Byb2dzKSAgW0thcmVsIFpha10KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTctUmVsZWFzZU5vdGVzIGIvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4xNy1SZWxlYXNlTm90ZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDQyMjFiMQotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTctUmVsZWFzZU5vdGVzCkBAIC0wLDAgKzEsNTI2IEBACitVdGlsLWxpbnV4LW5nIDIuMTcgUmVsZWFzZSBOb3RlcyAoMDgtSmFuLTIwMTApCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK1JlbGVhc2UgaGlnaGxpZ2h0cworLS0tLS0tLS0tLS0tLS0tLS0tCisKK2ZhbGxvY2F0ZToKKyAgLSB0aGlzIE5FVyBDT01NQU5EIGlzIGEgY29tbWFuZCBsaW5lIGludGVyZmFjZSB0byBmYWxsb2NhdGUgCisgICAgTGludXggc3lzY2FsbCBhbmQgYWxsb3dzIHRvIHByZWFsbG9jYXRlIGJsb2NrcyB0byBhIGZpbGUuCisKK3Vuc2hhcmUKKyAgLSB0aGlzIE5FVyBDT01NQU5EIGlzIGEgY29tbWFuZCBsaW5lIGludGVyZmFjZSB0byB1bnNoYXJlIExpbnV4IHN5c2NhbGwgCisgICAgYW5kIGFsbG93cyB0byBydW4gcHJvZ3JhbSB3aXRoIHNvbWUgbmFtZXNwYWNlcyB1bnNoYXJlZCBmcm9tIHBhcmVudC4KKword2lwZWZzCisgIC0gdGhpcyBORVcgQ09NTUFORCBpcyBiYXNlZCBvbiBsaWJibGtpZCBhbmQgYWxsb3dzIHRvIHJlbW92ZSBmaWxlc3lzdGVtCisgICAgb3IgUkFJRCBzaWduYXR1cmVzIGZyb20gYSBkZXZpY2UuCisKK2xpYmJsa2lkOgorICAtIGxpYmJsa2lkIGFsbG93cyB0byBnYXRoZXIgaW5mb3JtYXRpb24gYWJvdXQgYmxvY2sgZGV2aWNlIHRvcG9sb2d5LAorICAgIGN1cnJlbnRseSBzdXBwb3J0ZWQgbWV0aG9kcyBhcmU6CisKKyAgICAgICogaW9jdGwgLSBzdXBwb3J0ZWQgc2luY2Uga2VybmVsIDIuNi4zMgorICAgICAgKiBzeXNmcyAtIHN1cHBvcnRlZCBzaW5jZSBrZXJuZWwgMi42LjMxCisgICAgICAqIGZhbGxiYWNrIGZvciBETSwgTUQsIExWTSBhbmQgRVZNUyBvbiBvbGQga2VybmVscyAoYmFzZSBvbiBjb2RlIAorICAgICAgICBmcm9tIHhmc3Byb2dzL2xpYmRpc2spCisKKyAgICBUaGUgdG9wb2xvZ3kgc3VwcG9ydCBpcyBtb3N0bHkgZGVzaWduZWQgZm9yIG1rZnMgcHJvZ3JhbXMgb3IgcGFydGl0aW9uaW5nCisgICAgdG9vbHMgKGFscmVhZHkgdXNlZCBpbiBta2ZzLnhmcywgbWtleDJmcywgbGlicGFydGVkIGFuZCBmZGlzaykKKyAgICAKKyAgLSBsaWJibGtpZCBzdXBwb3J0cyBwYXJ0aXRpb24gdGFibGVzIHBhcnNpbmcgKGN1cnJlbnRseSBzdXBwb3J0ZWQgYXJlCisgICAgYWl4LCBic2QsIGRvcywgbWFjLCBncHQsIG1pbml4LCBzZ2ksIHNvbGFyaXMsIHN1biBhbmQgdW5peHdhcmUpLiBUaGlzIAorICAgIGZ1bmN0aW9uYWxpdHkgaXMgZGVzaWduZWQgZm9yIG1rZnMgcHJvZ3JhbXMsIERldmljZUtpdHMsIFtrXXBhcnR4IG9yIHNvLgorCisgIC0gbGliYmxraWQgQVBJIGRvY3VtZW50YXRpb24gaXMgYXZhaWxhYmxlIGF0CisgICAgaHR0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L2xpYmJsa2lkLWRvY3MvCisKK2Jsb2NrZGV2OgorICAgLSBzdXBwb3J0cyBhbGwgbmV3IHRvcG9sb2d5IGlvY3RscworCitmZGlzazoKKyAgIC0gdGhlIGZkaXNrIGNvbW1hbmQgYWxpZ25zIG5ld2x5IGNyZWF0ZWQgcGFydGl0aW9ucyB0byBtaW5pbXVtX2lvX3NpemUKKyAgICAgYm91bmRhcnkgKCJtaW5pbXVtX2lvX3NpemUiIGlzIHBoeXNpY2FsIHNlY3RvciBzaXplIG9yIHN0cmlwZSBjaHVuaworICAgICBzaXplIG9uIFJBSURzKS4KKworICAgLSB0aGUgZmRpc2sgY29tbWFuZCBzdXBwb3J0cyBkaXNrcyB3aXRoIGFsaWdubWVudF9vZmZzZXQgbm93LgorCisKK1N0YWJsZSBtYWludGVuYW5jZSByZWxlYXNlcyBiZXR3ZWVuIHYyLjE2IGFuZCB2Mi4xNworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3V0aWwtbGludXgtbmcgMi4xNi4xIFswNy1TZXAtMjAwOV0KKworICogZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTYvdjIuMTYuMS1SZWxlYXNlTm90ZXMKKyAgIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE2L3YyLjE2LjEtQ2hhbmdlTG9nCisKK3V0aWwtbGludXgtbmcgMi4xNi4yIFszMC1Ob3YtMjAwOV0KKworICogZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTYvdjIuMTYuMi1SZWxlYXNlTm90ZXMKKyAgIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE2L3YyLjE2LjItQ2hhbmdlTG9nCisKKworQ2hhbmdlTG9nIGJldHdlZW4gdjIuMTYgYW5kIHYyLjE3CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworIEZvciBtb3JlIGRldGFpbHMgc2VlIENoYW5nZUxvZyBmaWxlcyBhdDoKKyBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xNy8KKworYWRkcGFydDoKKyAgIC0gYWRkcGFydC44IGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorYmxraWQ6CisgICAtIGFkZCBJRF9GU19BTUJJVkFMRU5UIGZvciB1ZGV2IG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHByZXR0eSBvdXRwdXQsIGRvY3VtZW50IC1MIGluY29tcGF0aWJpbGl0eSB3aXRoIGUyZnNwcm9ncyAgW0thcmVsIFpha10KKyAgIC0gYWxsb3cgdG8gdXNlIC1zIDxUQUc+IGZvciBsb3ctbGV2ZWwgcHJvYmluZyAoLXAgbW9kZSkgIFtLYXJlbCBaYWtdCitibG9ja2RldjoKKyAgIC0gYWRkIHN1cHBvcnQgZm9yIHVpbnQgYW5kIHVzaG9ydCBpb2N0bHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0b3BvbG9neSBpb2N0bHMgc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gYmxvY2tkZXYuOCBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KKyAgIC0gZml4IHRvcG9sb2d5IGlvY3RscyAgW0thcmVsIFpha10KKyAgIC0gcmVmYWN0b3JpbmcgKGJldHRlciBjb21tYW5kcyBkZWZpbml0aW9uKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGMuaCAgW0thcmVsIFpha10KK2J1aWxkLXN5czoKKyAgIC0gYWRkIC0tZGlzYWJsZS1tYWtlaW5zdGFsbC1zZXR1aWQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBIQVZFX0xJQkJMS0lEX0lOVEVSTkFMICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBmb3IgcGtnLWNvbmZpZyBiZWZvcmUgZ3RrLWRvYyAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgZm9yIHVuaW9uIHNlbXVuIGluc3RlYWQgb2YgdXNpbmcgX1NFTV9TRU1VTl9VTkRFRklORUQgIFtHdWlsbGVtIEpvdmVyXQorICAgLSBjbGVhbiB1cCBndGstZG9jIHN0dWZmICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBndGstZG9jIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIC0tZGlzYWJsZS17ZmFsbG9jYXRlLHBpdm90X3Jvb3QsdW5zaGFyZX0gIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgQU1fQ0ZMQUdTIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHN0YXRpYyBidWlsZGluZyAgW0thcmVsIFpha10KKyAgIC0gZGV0ZWN0IGlmIGNvbnN0IGlzIGF2YWlsYWJsZSAgW0d1aWxsZW0gSm92ZXJdCisgICAtIGRldGVjdCBpZiB2b2xhdGlsZSBpcyBhdmFpbGFibGUgIFtHdWlsbGVtIEpvdmVyXQorICAgLSBkb24ndCBkaXN0cmlidXRlIGdlbmVyYXRlZCAqLnBjIGZpbGVzICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBkaXN0cmlidXRlIGdlbmVyYXRlZCBibGtpZC5oICBbS2FyZWwgWmFrXQorICAgLSBlbmFibGUgc2lsZW50IHJ1bGVzIGlmIGF1dG9tYWtlID49IDEuMTEgIFtHdWlsbGVtIEpvdmVyXQorICAgLSBmaXggKG9mZmljaWFsKSBndGstZG9jLm1ha2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBCVUlMRF9QSVZPVF9ST09UIGNvbmRpdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZml4IGJsa2lkIENGTEFHUyBpbiBmZGlzay9NYWtlZmlsZS5hbSAgW0thcmVsIFpha10KKyAgIC0gZml4IG91dC1vZi1zb3VyY2UgYnVpbGQgIFtLYXJlbCBaYWtdCisgICAtIHJlbGVhc2UrKyAodjIuMTctcmMxKSAgW0thcmVsIFpha10KKyAgIC0gcmVsZWFzZSsrICh2Mi4xNy1yYzIpICBbS2FyZWwgWmFrXQorICAgLSByZWxlYXNlKysgKHYyLjE3LXJjMykgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBMVF9TVEFUSUNfTERGTEFHUyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGd0a2RvY2l6ZSBmcm9tIGF1dG9nZW4uc2ggIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBvYnNvbGV0ZSAtLXdpdGgtZnNwcm9iZSBmcm9tIGRpc3RjaGVjayBmbGFncyAgW0thcmVsIFpha10KKyAgIC0gcmV3cml0ZSBUTFMgZGV0ZWN0aW9uICBbS2FyZWwgWmFrXQorY2FsOgorICAgLSBjYWwuMSBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KKyAgIC0gZml4IChoYXJtbGVzcykgdHlwbyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCisgICAtIGZpeCBicm9rZW4gY29tcHV0YXRpb24gZm9yIFNlcCAxNzUyICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KKyAgIC0gcmVtb3ZlIG9ic29sZXRlIDxsb2NhbGVpbmZvLmg+IGluY2x1ZGUgIFtHdWlsbGVtIEpvdmVyXQorICAgLSB1c2UgYy5oICBbS2FyZWwgWmFrXQorY2ZkaXNrOgorICAgLSBjZmRpc2suOCBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KKyAgIC0gbW9yZSBrZXkgYWx0ZXJuYXRpdmVzICBbSmFuIFNhcmVuaWtdCitjaGZuOgorICAgLSBjaGZuLjEgZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCitjaHJ0OgorICAgLSB1c2UgYy5oICBbS2FyZWwgWmFrXQorY2hzaDoKKyAgIC0gY2hzaC4xIGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorY3RybGFsdGRlbDoKKyAgIC0gY3RybGFsdGRlbC44IGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorY3l0dW5lOgorICAgLSBjeXR1bmUuOCBtaXNzaW5nIGRlc2NyaXB0aW9uIG9mIGAtUycsIGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorZGRhdGU6CisgICAtIGRkYXRlLjEgZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCitkZWxwYXJ0OgorICAgLSBkZWxwYXJ0LjggZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCitkbWVzZzoKKyAgIC0gYWRkIC1yIHRvIGhlbHAgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBkbWVzZy4xIGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorICAgLSBmaXggdHlwbyBpbiBtYW4gcGFnZSAgW0tlbiBLb3Bpbl0KK2RvY3M6CisgICAtIFJFQURNRSB3aWR0aCBhbmQgbGFuZ3VhZ2UgY29ycmVjdGlvbiAgW0phbiBTYXJlbmlrXQorICAgLSBhZGQgJ3Vuc2hhcmUnIGFuZCAnd2lwZWZzJyB0byBBVVRIT1JTICBbS2FyZWwgWmFrXQorICAgLSBhZGQgTEdQTHYyKyB0byBsaXN0IG9mIGxpY2Vuc2VzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbmdldHRleHQoKSBpbnRvIFRPRE8gZmlsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHYyLjE3IFJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlICJUaGUgUGVyZmVjdCBQYXRjaCIgVVJMICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgQVVUSE9SUyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgVE9ETyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIFRPRE8gZmlsZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIFRPRE8gbGlzdCAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHYyLjE3IFJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KK2VsdnR1bmU6CisgICAtIGVsdnR1bmUuOCBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK2ZhbGxvY2F0ZToKKyAgIC0gY2hlY2sgZm9yIEVSQU5HRSBlcnJvcnMgIFtLYXJlbCBaYWtdCisgICAtIG5ldyBjb21tYW5kICBbS2FyZWwgWmFrLCBFcmljIFNhbmRlZW5dCitmZGZvcm1hdDoKKyAgIC0gZmRmb3JtYXQuOCBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KKyAgIC0gZml4IG1lbW9yeSBsZWFrIGluIHZlcmlmeV9kaXNrKCkgIFtDcmlzdGlhbiBSb2Ryw61ndWV6XQorZmRpc2s6CisgICAtIGFkZCBiYXNpYyByb3V0aW5lcyBmb3IgTEJBIGFsaWdubWVudCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHJlZ3Jlc3Npb24gdGVzdCBsaXN0aW5nIGVtcHR5L25vbnNlbnNlIGltYWdlcyAgW1pkZW5layBCZWhhbl0KKyAgIC0gYWxpZ24gZW5kIG9mIHBhcnRpdGlvbiB3aGVuIGRlZmluZWQgYnkgK3NpemV7SyxNLEd9ICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBmb3IgcGFydGl0aW9uIGJvdW5kYXJ5ICBbS2FyZWwgWmFrXQorICAgLSBmZGlzay44IGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorICAgLSBmaXggc3RyaWN0LWFsaWFzaW5nIGJ1Z3MgIFtLYXJlbCBaYWtdCisgICAtIG9mZmVyIGFsaWduZWQgZmlyc3Qgc2VjdG9yICBbS2FyZWwgWmFrXQorICAgLSBwcmludCBpbmZvIGFuZCByZWNvbW1lbmRhdGlvbnMgYWJvdXQgYWxpZ25tZW50ICBbS2FyZWwgWmFrXQorICAgLSByZWFkIHRvcG9sb2d5IGluZm8gZnJvbSBsaWJibGtpZCAgW0thcmVsIFpha10KKyAgIC0gc2dpIGxhYmVsIC0gcmVtb3ZlIGR1cGxpY2F0ZSBzd2FiMTZzd2FiWzE2LDMyXSgpIGRlZmluaXRpb25zICBbS2FyZWwgWmFrXQorICAgLSBzbGVlcC1hZnRlci1zeW5jIGFuZCBmc3luYyB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGMuaCAgW0thcmVsIFpha10KKyAgIC0gdXNlIG1pbmltYWxfaW9fc2l6ZSBmb3IgdGhlIGZpcnN0IHBhcnRpdGlvbiAgW0thcmVsIFpha10KK2ZpbmRmczoKKyAgIC0gZml4IHR5cG8gaW4gZmluZGZzLjggIFtLYXJlbCBaYWtdCitmbG9jazoKKyAgIC0gZml4IGhhbmcgd2hlbiBwYXJlbnQgaWdub3JlcyBTSUdDSExEICBbTWlrZSBGcnlzaW5nZXJdCitmc2NrOgorICAgLSBkb2N1bWVudCBmc2NrIGJlaGF2aW9yIHdydCBub2ZhaWwgb3B0aW9uIGFuZCBmc3R5cGUgJ2F1dG8nICBbTHVkd2lnIE51c3NlbF0KKyAgIC0gZnNjay44IGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorICAgLSBob25vciBub2ZhaWwgb3B0aW9uIGluIGZzY2sgIFtMdWR3aWcgTnVzc2VsXQorZnNjay5taW5peDoKKyAgIC0gZml4IGJyb2tlbiB6b25lIGNoZWNraW5nICBbS2FyZWwgWmFrXQorICAgLSBmaXggc3RyaWN0LWFsaWFzaW5nIGJ1Z3MgIFtLYXJlbCBaYWtdCisgICAtIGZzY2subWluaXguOCBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK2ZzdGFiOgorICAgLSBmc3RhYi41IGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorZ2V0b3B0OgorICAgLSBnZXRvcHQuMSBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK2hleGR1bXA6CisgICAtIGJ1ZyBpbiBoZXhkdW1wIHdoZW4gb2Zmc2V0ID09IGZpbGUgbGVuZ3RoICBbQW3DqXJpY28gV2FuZ10KKyAgIC0gaGV4ZHVtcC4xIGVycm9uZW91cyAuTm0gIiIgIFtQZXRlciBCcmVpdGVubG9obmVyXQoraHdjbG9jazoKKyAgIC0gZG8gbm90IGFjY2VzcyBoYXJkd2FyZSBjbG9jayB3aGVuIHVzaW5nIC0tc3lzdHogIFtTY290dCBKYW1lcyBSZW1uYW50XQorICAgLSBod2Nsb2NrLjggZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCisgICAtIHNldCBrZXJuZWwgdGltZXpvbmUgd2l0aCAtLXN5c3R6IC0tdXRjICBbU2NvdHQgSmFtZXMgUmVtbmFudF0KKyAgIC0gdXNlIGMuaCAgW0thcmVsIFpha10KKyAgIC0gdXNlIHRpbWUgbGltaXQgZm9yIEtER0hXQ0xLIGJ1c3kgd2FpdCAgW0thcmVsIFpha10KK2luY2x1ZGU6CisgICAtIGFkZCBjLmggd2l0aCBmdW5kYW1lbnRhbCBDIGRlZmluaXRpb25zICBbS2FyZWwgWmFrXQorICAgLSB1c2UgYy5oIGluIGNhbm9uaWNhbGl6ZS5oICBbS2FyZWwgWmFrXQoraW5pdGN0bDoKKyAgIC0gZml4IHN0cmljdC1hbGlhc2luZyBidWdzICBbS2FyZWwgWmFrXQorICAgLSBpbml0Y3RsLjggZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCitpb25pY2U6CisgICAtIGFkZCBhIG5vdGUgYWJvdXQgbm9uZSBjbGFzcyBhbmQgQ0ZRICBbS2FyZWwgWmFrXQorICAgLSBpb25pY2UuMSBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK2lwY21rOgorICAgLSBpcGNtay4xIGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQoraXBjcm06CisgICAtIGlwY3JtLjEgZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCitpcGNzOgorICAgLSBpcGNzLjEgZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCisgICAtIHVzZSBfX0dMSUJDX18gaW5zdGVhZCBvZiBvYnNvbGV0ZSBfX0dOVV9MSUJSQVJZX18gIFtHdWlsbGVtIEpvdmVyXQoraXNvc2l6ZToKKyAgIC0gaXNvc2l6ZS44IGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQora2lsbDoKKyAgIC0ga2lsbC4xIGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorICAgLSB1c2UgYy5oICBbS2FyZWwgWmFrXQorbGFzdDoKKyAgIC0gZml4IHV0bXAudXRfdGltZSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gbGFzdC4xIGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorbGRhdHRhY2g6CisgICAtIGxkYXR0YWNoLjggZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCisgICAtIHVzZSBjLmggIFtLYXJlbCBaYWtdCitsaWI6CisgICAtIGFkZCBhIGdlbmVyaWMgY3JjMzIoKSAgW0thcmVsIFpha10KKyAgIC0gYnVnICh0eXBvKSBpbiBmdW5jdGlvbiBNRDVGaW5hbCgpICBbS2FyZWwgWmFrXQorICAgLSBmaXggZmlsZSBkZXNjcmlwdG9yIGxlYWsgaW4gaXNfbW91bnRlZCgpICBbVGhlb2RvcmUgVHMnb10KKyAgIC0gZml4IGxpYi9NYWtlZmlsZS5hbSAocmVtb3ZlIHB0dHlwZS5jKSAgW0thcmVsIFpha10KKyAgIC0gaW1wb3J0IHdob2xlIGlzbW91bnRlZC5jIGNvZGUgZnJvbSBlMmZzcHJvZ3MgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBwdHR5cGUuYyAgW0thcmVsIFpha10KK2xpYmJsa2lkOgorICAgLSBEUkJEIHN1cHBvcnQgZm9yIGJsa2lkICBbQmFzdGlhbiBGcmllZHJpY2hdCisgICAtIGFkZCAqLmtvLmd6IHN1cHBvcnQgdG8gbW9kdWxlcy5kZXAgcGFyc2VyICBbS2FyZWwgWmFrXQorICAgLSBhZGQgQUlYIHBhcnRpdGlvbnMgc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gYWRkIEJMS0lEX1NVQkxLU18qIGZsYWdzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgQkxLSURfe1ZFUlNJT04sREFURX0gdG8gYmxraWQuaCAgW0thcmVsIFpha10KKyAgIC0gYWRkIEJTRCBwYXJ0aXRpb25zIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBETSB0b3BvbG9neSBzdXBwb3J0IChmb3Igb2xkIGtlcm5lbHMpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgRUZJIEdQVCBwYXJ0aXRpb25zIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBFVk1TIHRvcG9sb2d5IHN1cHBvcnQgKGZvciBvbGQga2VybmVscykgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBMVk0gdG9wb2xvZ3kgc3VwcG9ydCAoZm9yIG9sZCBrZXJuZWxzKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIE1BQyBwYXJ0aXRpb25zIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBNRCB0b3BvbG9neSBzdXBwb3J0IChmb3Igb2xkIGtlcm5lbHMpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgTUlOSVggcGFydGl0aW9ucyBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgTVMtRE9TIHBhcnRpdGlvbnMgc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gYWRkIFNHSSBwYXJ0aXRpb25zIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBTT0xBUklTLVg4NiBwYXJ0aXRpb25zIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBTVU4gcGFydGl0aW9ucyBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgVUJJIHZvbHVtZSBzdXBwb3J0ICBbQ29yZW50aW4gQ2hhcnldCisgICAtIGFkZCBVQklGUyBzdXBwb3J0ICBbQ29yZW50aW4gQ2hhcnldCisgICAtIGFkZCBVTklYV0FSRSBwYXJ0aXRpb25zIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBhIHByb2JlIGZvciBiZnMgIFtDaHJpc3RvcGggSGVsbHdpZ10KKyAgIC0gYWRkIGJsa2lkX2Rldm5vX3RvX3dob2xlZGlzaygpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYmxraWRfZHJpdmVyX2hhc19tYWpvcigpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYmxraWRfbmV3X3Byb2JlX2Zyb21fZmlsZW5hbWUoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJsa2lkX3BhcnRpdGlvbl9nZXRfdHlwZV9zdHJpbmcoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJsa2lkX3Byb2JlX2dldF97c2l6ZSxzZWN0b3JzaXplLGRldm5vfSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJsa2l0X1t1bl1yZWYoKSB0byBUT0RPICBbS2FyZWwgWmFrXQorICAgLSBhZGQgY2hhaW4gc3RydWN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZ1bmN0aW9ucyBmb3IgY2hhaW4gdGFncyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGdlbmVyaWMgZmlsdGVyIGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGdlbmVyaWMgZnVuY3Rpb24gZm9yIGJpbmFyeSBkYXRhICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBjb21tZW50cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1pc3NpbmcgY29tbWVudHMgdG8gcHJvYmUuYyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1pc3NpbmcgcGFja2VkIGF0dHJpYnV0ZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBta2ZzIHNhbXBsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vdGUgYWJvdXQgVVVJRF9TVUIsIGluY3JlbWVudCBudW1iZXIgb2Ygc3VwZXJibG9jayB2YWx1ZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBwYXJ0aXRpb25zIGZpbHRlciByb3V0aW5lcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHBhcnRpdGlvbnMgcGFyc2luZyBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcGFydGl0aW9ucyBzYW1wbGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBwcml2YXRlIGJsa2lkX3RvcG9sb2d5X3NldF8qKCkgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc2FtcGxlcy90b3BvbG9neS5jICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc2VjdG9yIHNpemUgZnVuY3MgdG8gYmxraWQuaC5pbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1cGVyYmxvY2tzIGNoYWluICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwZXJibG9ja3MgZmlsdGVyIGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1cGVyYmxvY2tzLmMgc2FtcGxlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgU0JNQUdJQyBhbmQgU0JNQUdJQ19PRkZTRVQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciBWTUZTIChWTXdhcmUgRmlsZSBTeXN0ZW0pICBbTWlrZSBIb21tZXldCisgICAtIGFkZCBzdXBwb3J0IGZvciB0b3BvbG9neSBpb2N0bHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0ZXN0IGNhc2VzIGZvciBWTUZTICBbTWlrZSBIb21tZXldCisgICAtIGFkZCB0b3BvbG9neSBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyBsaW5raW5nIHdpdGggdUNsaWJjICBbRGFuaWVsIE1pZXJzd2FdCisgICAtIGFsbG93IHRvIGNoYW5nZSBkaW1lbnNpb24gb2YgcHJvYmluZyBhcmVhICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyB0byByZWFkIGluIHNlY3RvcnMgIFtLYXJlbCBaYWtdCisgICAtIGFsbG93cyBtb3JlIHByb2JpbmcgbWV0aG9kcyBmb3IgdG9wb2xvZ3kgY2hhaW4gIFtLYXJlbCBaYWtdCisgICAtIGFubm91bmNlIEpvbGlldCBleHRlbnNpb24gIFtNYXhpbSBMZXZpdHNreV0KKyAgIC0gY2xlYW51cCBibGtpZF9wcm9iZV9zZXRfZGV2aWNlKCkgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdG9wb2xvZ3kgZmFsbGJhY2sgIFtLYXJlbCBaYWtdCisgICAtIGNvbnZlcnQgR1BUIHBhcnRpdGlvbiBMQkEgdG8gNTEyLWJ5dGUgc2VjdG9ycyAgW0thcmVsIFpha10KKyAgIC0gY29zbWV0aWMgY2hhbmdlIGluIHRvcG9sb2d5IHNhbXBsZSAgW0thcmVsIFpha10KKyAgIC0gY3JlYXRlIGEgZ2VuZXJpYyBibGtpZF9lbmNvZGVfdG9fdXRmOCgpICBbS2FyZWwgWmFrXQorICAgLSBjcmVhdGUgYSBnZW5lcmljIGJsa2lkX3VucGFyc2VfdXVpZCgpICBbS2FyZWwgWmFrXQorICAgLSBkb2VzIG5vdCByZXR1cm4gdXNlbGVzcyBiaW5hcnkgZGF0YSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgcmV0dXJuIGVtcHR5IExBQkVMcyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3Qgc2NhbiBwcml2YXRlIC9kZXYvLnVkZXYgZGlyZWN0b3J5ICBbS2FyZWwgWmFrXQorICAgLSBmaXggQWRhcHRlYyBSQUlEIGRldGVjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZml4IEZBTFNFIGRlZmluaXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBGQVQgc3VwZXIgYmxvY2sgZGVmaW5pdGlvbiAgW0xhd3JlbmNlIFJ1c3RdCisgICAtIGZpeCBOVEZTIG5vbi1BU0NJSSBsYWJlbHMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBVRlMgZGV0ZWN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBmaXggYmxraWRfZGV2bm9fdG9fd2hvbGVkaXNrKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBibGtpZF9kb19wcm9iZSgpIHRvIHdvcmsgcHJvcGVybHkgd2l0aCBjaGFpbnMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBibGtpZF9mc3RhdGF0KCkgY29kZSAgW0thcmVsIFpha10KKyAgIC0gZml4IGJsa2lkX3Byb2JlX3NldF91dGY4bGFiZWwoKSBjYWxsIGZvciBKb2xpZXQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBidWZmZXIgb3ZlcmZsb3cgaW4gYmxraWRfZW5jb2RlX3N0cmluZygpICBbRmxvcmlhbiBadW1iaWVobF0KKyAgIC0gZml4IGNhY2hlLT5wcm9iZSBtZW1vcnkgbGVhayAgW0thcmVsIFpha10KKyAgIC0gZml4IGV4dDIgZGV0ZWN0aW9uIG9uIHN5c3RlbXMgd2l0aCBleHQ0IG9ubHkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBnY2Mgd2FybmluZyAod2Fybl91bnVzZWRfcmVzdWx0KSAgW0thcmVsIFpha10KKyAgIC0gZml4IGhpZ2hwb2ludDM3eCBkZXRlY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBub24tbWFnaWMgRkFUIGRldGVjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZml4IHByb2JpbmcgZm9yIGJpbmFyeSBpbnRlcmZhY2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzZWdmYXVsdCBpbiBibGtpZF9kb19wcm9iZSgpICBbS2FyZWwgWmFrXQorICAgLSBmaXggdGhlIGRlZmF1bHQgY2FjaGUgZmlsZSBwYXRoICBbS2FyZWwgWmFrXQorICAgLSBmaXggdG9wb2xvZ3kgaW5mb3JtYXRpb24gdmFsdWVzICBbRXJpYyBTYW5kZWVuXQorICAgLSBmaXggdHlwbyAoc3dzdXBlbmQgLT4gc3dzdXNwZW5kKSAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8gcy9IaWhnL0hpZ2gvICBbSmltIE1leWVyaW5nXQorICAgLSBmaXggd2FybmluZyBtZXNzYWdlIGluIG1rZnMgc2FtcGxlICBbS2FyZWwgWmFrXQorICAgLSBndGtkb2NpemUgKEFQSSBkb2NzIGdlbmVyYXRlZCBieSBndGstZG9jcykgIFtLYXJlbCBaYWtdCisgICAtIG1pbm9yIGNoYW5nZXMgdG8gZG0gdG9wb2xvZ3kgY29kZSAgW0thcmVsIFpha10KKyAgIC0gbWlub3IgY2hhbmdlcyB0byBzYW1wbGVzICBbS2FyZWwgWmFrXQorICAgLSBtaW5vciBmaXggaW4gdG9wb2xvZ3kgc2FtcGxlICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIEZTL3JhaWQgc3R1ZmYgdG8gc3VwZXJibG9ja3MgZGlyZWN0b3J5ICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIGJsa2lkX2tub3duX2ZzdHlwZSgpIHRvIHN1cGVyYmxvY2tzLmMgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgZmlsdGVyIG1hY3JvcyB0byBoZWFkZXIgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gcHJlZmVyIElTTzk2NjAgUFZEIExhYmVsIHRvIEpvbGlldCBMYWJlbCAgW0thcmVsIFpha10KKyAgIC0gcHJvcGVybHkgcmVzZXQgcG9zaXRpb24gaW4gcHJvYmluZyBjaGFpbnMgIFtLYXJlbCBaYWtdCisgICAtIHJlZnJlc2ggYmxraWQue2gsc3ltfSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGR1cGxpY2F0ZSBkZWJ1ZyBtZXNzYWdlICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgc3VwZXJibG9jayBmdW5jdGlvbnMgZnJvbSBwcm9iZS5jICBbS2FyZWwgWmFrXQorICAgLSByZW5hbWUgaGlnaHBvaW50IFJBSURzIHRvIGhwdHszNyw0NX14X3JhaWRfbWVtYmVyICBbS2FyZWwgWmFrXQorICAgLSByZXR1cm4gZmlyc3QgZGV0ZWN0ZWQgY3J5cHRvIGRldmljZSAgW1Njb3R0IEphbWVzIFJlbW5hbnRdCisgICAtIHRvcG9sb2d5IC0gYWRkIGxvZ2ljYWwgYW5kIHBoeXNpY2FsIHNlY3RvciBzaXplICBbS2FyZWwgWmFrXQorICAgLSB0b3BvbG9neSAtIGlnbm9yZSBub24tYmxvY2tkZXZzICBbS2FyZWwgWmFrXQorICAgLSB0cmltIHRhaWxpbmcgd2hpdGVzcGFjZSBmcm9tIHVuaWNvZGUgTEFCRUxzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgZG9jcy8uZ2l0aWdub3JlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgQkxLU1NaR0VUIGZvciBHUFQgc2VjdG9ycyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGJsa2lkX25ld19wcm9iZV9mcm9tX2ZpbGVuYW1lKCkgaW4gZG9jcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGMuaCAgW0thcmVsIFpha10KKyAgIC0gdXNlIGMuaCBpbiBzYW1wbGVzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgY2hhaW5zIGluIGJsa2lkX2RvX3tzYWZlLGZ1bGwsfV9wcm9iZSgpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgY2hhaW5zIGluIHByb2JlciAoZGUpaW5pdGlhbGl6YXRpb24gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBmc3RhdGF0KCksIGltcHJvdmUgcmVhZGRpcigpIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgcHJpdmF0ZSB7bG9va3VwLGdldH1fdmFsdWUgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc3VwZXJibG9jayBmaWx0ZXIgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc3VwZXJibG9ja3MuaCAgW0thcmVsIFpha10KKyAgIC0gdXNlIHRoZSBuZXcgQVBJIGluIHdob2xlIHUtbC1uZyAgW0thcmVsIFpha10KK2xpYnV1aWQ6CisgICAtIHJlbW92ZSAuVUUgbWFjcm8gZnJvbSBsaWJ1dWlkIG1hbiBwYWdlcy4gIFtNaWxhbiBCcm96XQorbGluZToKKyAgIC0gcmVtb3ZlIGRlcHJlY2F0ZWQgI2lkZW50IGRpcmVjdGl2ZSAgW0thcmVsIFpha10KK2xvc2V0dXA6CisgICAtIGxvc2V0dXAuOCBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KKyAgIC0gcmVtb3ZlIHVudXNlZCBtYWNybyAgW0thcmVsIFpha10KK2xzY3B1OgorICAgLSBhZGQgezMyLDY0fS1iaXQgQ1BVIG1vZGVzIGRldGVjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gbHNjcHUuMSBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK21jb29raWU6CisgICAtIG1jb29raWUuMSBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK21lc2c6CisgICAtIG1lc2cuMSBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK21rZnM6CisgICAtIG1rZnMuOCBpbmNvbXBsZXRlIHNlbnRlbmNlIGFuZCBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK21rZnMuYmZzOgorICAgLSBta2ZzLmJmcy44IGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorbWtmcy5jcmFtZnM6CisgICAtIGZpeCBnY2Mgd2FybmluZyAoaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSkgIFtLYXJlbCBaYWtdCitta2ZzLm1pbml4OgorICAgLSBmaXggc3RyaWN0LWFsaWFzaW5nIGJ1Z3MgIFtLYXJlbCBaYWtdCisgICAtIG1rZnMubWluaXguOCBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK21rc3dhcDoKKyAgIC0gZml4IG1lbW9yeSBsZWFrcywgY2xlYW51cCBjaGVja19ibG9ja3MoKSAgW0thcmVsIFpha10KKyAgIC0gbWtzd2FwLjggZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCisgICAtIHJlc3RvcmUgZGV2aWNlIGFyZ3VtZW50IGluIG1rc3dhcC44IHN5bm9wc2lzICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KKyAgIC0gdW5icmVhayAtYyAoImNoZWNrIikgb3B0aW9uLiAgW1BldGVyIERlIFdhY2h0ZXJdCisgICAtIHVzZSBsaWJibGtpZCB0byBkZXRlY3QgUFQgIFtLYXJlbCBaYWtdCittb3JlOgorICAgLSBsaW1pdGVkIGxpbmUgYnVmZmVyIGxlbmd0aCByZXN1bHRzIGluIGNvcnJ1cHRlZCBVVEYtOCB0ZXh0ICBbS2FyZWwgWmFrXQorICAgLSBtb3JlLjEgZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCittb3VudDoKKyAgIC0gYWRkIC0tbm8tY2Fub25pY2FsaXplIG9wdGlvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIGEgbm90ZSBhYm91dCAvZGV2L2Rpc2svYnktKiB0byBtb3VudC44ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYSBub3RlIGFib3V0IGJpbmQtZGlyIHJlbW91bnRzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaW5mbyBhYm91dCBleHR7Myw0fSBiYXJyaWVycyB0byBtb3VudC44ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbG9uZyBvcHRpb25zIHRvIG1vdW50LjggIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzcXVhc2hmcyB0byBtb3VudC44ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdWJpZnMgdG8gdGhlIG1vdW50LjggbWFuIHBhZ2UgIFtTZWJhc3RpYW4gQW5kcnplaiBTaWV3aW9yXQorICAgLSBhbmQgbGliYmxraWQgIGNvdmVydCAvZGV2L2RtLU4gdG8gL2Rldi9tYXBwZXIvPG5hbWU+ICBbS2FyZWwgWmFrXQorICAgLSBiZXR0ZXIgLS1tb3ZlIGRlc2NyaXB0aW9uICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBmb3IgdW5zdWNjZXNzZnVsIHJlYWQtb25seSBiaW5kIG1vdW50cyAgW0thcmVsIFpha10KKyAgIC0gZGlzYWJsZSAtLW5vLWNhbm9uaWNhbGl6ZSBmb3Igbm9uLXJvb3QgdXNlcnMgIFtLYXJlbCBaYWtdCisgICAtIGRvY3VtZW50IGNoYW5nZWQgc2VtYW50aWNzIG9mIHRtcGZzIHNpemUgb3B0aW9uIGluIG1vdW50LjggIFtrZXZpbi5ncmFuYWRlQGdtYWlsLmNvbV0KKyAgIC0gZml4IG1vdW50LjgsIHhmcyBhdHRyMiBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCByZWZlcmVuY2UgdG8gc2FtYmEtY2xpZW50IGluIG1vdW50LjggIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvIGluIG1vdW50LjggIFtLYXJlbCBaYWtdCisgICAtIG1lbnRpb24gbXRhYiBmb3Igc2luZ2xlIG1vdW50IHBvaW50IG1vdW50IGluIG1vdW50LjggIFtQZXRlciBWb2xrb3ZdCisgICAtIG1vcmUgZXhwbGljaXRseSBleHBsYWluICdzdHJpY3RhdGltZScgaW4gbW91bnQuOCAgW0thcmVsIFpha10KKyAgIC0gbW9yZSB2ZXJib3NlICJtb3VudCAgb25seSByb290IGNhbiBkbyB0aGF0IiBtZXNzYWdlICBbS2FyZWwgWmFrXQorICAgLSBtb3VudC44IGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorICAgLSBtb3ZlIGluZm8gYWJvdXQgZGV2aWNlcyB0byB0aGUgdG9wIG9mIG1vdW50LjggIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBsaXN0IG9mIHBzZXVkbyBmaWxlc3lzdGVtcyAgW0thcmVsIFpha10KK25hbWVpOgorICAgLSBiZXR0ZXIgbW91bnQgcG9pbnRzIGRldGVjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZml4IGFsb25lIHN5bWxpbmsgZXZhbHVhdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZ2F0ZXIgaW5mb3JtYXRpb24gYWJvdXQgLyAocm9vdCkgIFtLYXJlbCBaYWtdCisgICAtIG5hbWVpLjEgZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCisgICAtIHVzZSBjLmggIFtLYXJlbCBaYWtdCituZXdncnA6CisgICAtIG5ld2dycC4xIGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorICAgLSB1c2UgYy5oLCByZW1vdmUgdGFpbGluZyB3aGl0ZXNwYWNlICBbS2FyZWwgWmFrXQorcGFydHg6CisgICAtIHBhcnR4LjggZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCisgICAtIHVzZSBjLmggIFtLYXJlbCBaYWtdCisgICAtIHdvcmsgcHJvcGVybHkgd2l0aCA1MTIgc2VjdG9ycyAoZG9zIFBUKSAgW0thcmVsIFpha10KK3BnOgorICAgLSBjb21tYW5kIGVudGVycyBpbmZpbml0ZSBsb29wICBbTWlrZSBGcnlzaW5nZXJdCisgICAtIGNvbXBpbGVyIHdhcm5pbmcgd2l0aCBOTFMgZGlzYWJsZWQgIFtQZXRlciBCcmVpdGVubG9obmVyXQorICAgLSBwZy4xIGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorcGl2b3Rfcm9vdDoKKyAgIC0gcGl2b3Rfcm9vdC44IGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorcG86CisgICAtIGZpeCBncmFtbWFyIGdsaXRjaCBpbiBnZXJtYW4gdHJhbnNsYXRpb24gIFtIZW5kcmlrIEzDtm5uZ3Jlbl0KKyAgIC0gZml4IG1zZ2lkIGJ1Z3MgIFtLYXJlbCBaYWtdCisgICAtIG1lcmdlIGNoYW5nZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBQT1RGSUxFUy5pbiAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGNzLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUGV0ciBQaXNhcl0KKyAgIC0gdXBkYXRlIGV1LnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbTWlrZWwgT2xhc2FnYXN0aSBVcmFuZ2FdCisgICAtIHVwZGF0ZSBldS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW01pa2VsIE9sYXNhZ2FzdGldCisgICAtIHVwZGF0ZSBmaS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0xhdXJpIE51cm1pXQorICAgLSB1cGRhdGUgZnIucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtOaWNvbGFzIFByb3Zvc3RdCisgICAtIHVwZGF0ZSBpZC5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0FyaWYgRS4gTnVncm9ob10KKyAgIC0gdXBkYXRlIGphLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbTWFrb3RvIEthdG9dCisgICAtIHVwZGF0ZSBwbC5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0pha3ViIEJvZ3Vzel0KKyAgIC0gdXBkYXRlIHBvL1BPVEZJTEVTLmluICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgdmkucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtDbHl0aWUgU2lkZGFsbF0KKyAgIC0gdXBkYXRlIHpoX0NOLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUmF5IFdhbmddCityZGV2OgorICAgLSByZGV2LjggZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCityZWFkcHJvZmlsZToKKyAgIC0gcmVhZHByb2ZpbGUuMSBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK3JlbmFtZToKKyAgIC0gcmVuYW1lLjEgZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCityZW5pY2U6CisgICAtIHJlbmljZS4xIGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorcmVzZXQ6CisgICAtIHJlc2V0LjEgZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCitydGN3YWtlOgorICAgLSBhZGQgUzUgc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gaWdub3JlIHRoZSB0bV9pc2RzdCBmaWVsZCByZXR1cm5lZCBmcm9tIHRoZSBSVEMgIFtQYXVsIEZveF0KKyAgIC0gcnRjd2FrZS44IGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorc2NyaXB0cmVwbGF5OgorICAgLSBmaXggdHlwbyBpbiBlcnJvciBtZXNzYWdlICBbS2FyZWwgWmFrXQorICAgLSBzY3JpcHRyZXBsYXkuMSBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK3NldGFyY2g6CisgICAtIHNldGFyY2guOCBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK3NldHNpZDoKKyAgIC0gc2V0c2lkLjEgZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCitzZXR0ZXJtOgorICAgLSBzZXR0ZXJtLjEgZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCisgICAtIHVzZSBjLmgsIHJlbW92ZSB0YWlsaW5nIHdoaXRlc3BhY2UgIFtLYXJlbCBaYWtdCitzZmRpc2s6CisgICAtIGNvbmZ1c2VkIGFib3V0IGRpc2sgc2l6ZSAgW0thcmVsIFpha10KKyAgIC0gZHVtcCBoYXMgdG8gYmUgJExBTkcgaW5zZW5zaXRpdmUgIFtLYXJlbCBaYWtdCisgICAtIHNmZGlzay44IGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorICAgLSB1c2UgYy5oLCByZW1vdmUgb2Jzb2xldGUgI2lmZGVmcyAgW0thcmVsIFpha10KK3NodXRkb3duOgorICAgLSBzaHV0ZG93bi44IGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorc2ltcGxlaW5pdDoKKyAgIC0gc2ltcGxlaW5pdC44IGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorc3dhcG9uOgorICAgLSBmaXggdHlwbyBvbiBzd2Fwb24uOCBtYW5wYWdlICBbRmxvcmVudGluIER1bmVhdV0KKyAgIC0gaGFuZGxlIDw9bGludXgtMi42LjE5IGJ1ZyBpbiAvcHJvYy9zd2FwcyAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSBtb3JlIHJvYnVzdCBwcm9nbmFtZSBwcm9iaW5nICBbS2FyZWwgWmFrXQorICAgLSBzd2Fwb24uOCBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK3N3aXRjaF9yb290OgorICAgLSBhZGQgbm90ZSBhYm91dCBzdWJyb290cyB0byBzd2l0Y2hfcm9vdC44ICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgVElPQ1NDVFRZIGFuZCBzZXRzaWQoKSAgW0thcmVsIFpha10KKyAgIC0gc3dpdGNoX3Jvb3QuOCBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK3RhaWxmOgorICAgLSBmaXggcHJpbnRmIGZvcm1hdCAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSByZXBvcnQgaW5vdGlmeV9hZGRfd2F0Y2goKSBwcm9ibGVtcyAgW0thcmVsIFpha10KK3Rlc3RzOgorICAgLSBhZGQgQkZTIGxpYmJsa2lkIHJlZ3Jlc3Npb24gdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIE5URlMgYmxraWQgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIFVCSUZTIHRlc3QgaW1hZ2UgdG8gYmxraWQgdGVzdCBzdWl0ZSAgW0NvcmVudGluIENoYXJ5XQorICAgLSBhZGQgVUZTIHRlc3QgaW1hZ2UgZm9yIGxpYmJsa2lkICBbS2FyZWwgWmFrXQorICAgLSBhZGQgVklBIFJBSUQgdGVzdCBpbWFnZSBmb3IgbGliYmxraWQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBhZGFwdGVjIFJBSUQgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJsa2lkIHJlZ3Jlc3Npb24gdGVzdHMgZm9yIElTTzk2NjAgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBocHQzN3ggUkFJRCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaHB0NDV4IFJBSUQgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGlzdyBSQUlEIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBqbWljcm9uIFJBSUQgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxzaSBSQUlEIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBudmlkaWEgUkFJRCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcGFydGl0aW9ucyBwcm9iaW5nIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBwcm9taXNlIFJBSUQgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNpbGljb24gUkFJRCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBmZGlzayBkb3NsYWJlbCB0ZXN0IGFsc28gY2hlY2tzIGNoYW5naW5nIHBhcnRpdGlvbiB0eXBlICBbWmRlbmVrIEJlaGFuXQorICAgLSBmZGlzayBkb3NsYWJlbCB0ZXN0IGFsc28gY2hlY2tzIHNldHRpbmcgcGFydGl0aW9uIGFjdGl2ZSAgW1pkZW5layBCZWhhbl0KKyAgIC0gcmVmcmVzaCBHUFQgcmVncmVzc2lvbiB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSByZWZyZXNoIGxzY3B1IHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdm9sX2lkIGZyb20gdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSBibGtpZC9pbWFnZXMgdG8gYmxraWQvaW1hZ2VzLWZzICBbS2FyZWwgWmFrXQorICAgLSBzd2Fwb24gd29ya2Fyb3VuZCBmb3IgbGlidG9vbCB3cmFwcGVyICBbS2FyZWwgWmFrXQorICAgLSB0ZXN0IGZvciBiYXNpYyBmdW5jdGlvbmFsaXR5IG9mIHN1biBsYWJlbHMgIFtaZGVuZWsgQmVoYW5dCisgICAtIHVwZGF0ZSBmc2NrLmlzbW91bnRlZCB0ZXN0ICBbS2FyZWwgWmFrXQordHVuZWxwOgorICAgLSB0dW5lbHAuOCBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK3VsOgorICAgLSB1bC4xIGVycm9uZW91cyAuU0ggaW5zdGVhZCBvZiAuU2ggIFtQZXRlciBCcmVpdGVubG9obmVyXQordW1vdW50OgorICAgLSBhZGQgLS1uby1jYW5vbmljYWxpemUgIFtLYXJlbCBaYWtdCisgICAtIHVtb3VudC44IGNvbW1hbmQgbGluZSBmb3IgdW1vdW50IGhlbHBlcnMsIGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQordW5zaGFyZToKKyAgIC0gbmV3IGNvbW1hbmQgIFtNaWtoYWlsIEd1c2Fyb3ZdCit1dWlkZDoKKyAgIC0gdXVpZGQuOCBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK3V1aWRnZW46CisgICAtIHV1aWRnZW4uMSBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK3ZpcHc6CisgICAtIHZpcHcuOCByZW1vdmUgZXJyb25lb3VzIGVtcHR5IGxpbmUsIGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQord2hlcmVpczoKKyAgIC0gd2hlcmVpcy4xIGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQord2lwZWZzOgorICAgLSBmaXggY29kaW5nIHN0eWxlICBbS2FyZWwgWmFrXQorICAgLSBuZXcgY29tbWFuZCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIG9ic29sZXRlIGNvbW1lbnQgIFtLYXJlbCBaYWtdCit3cml0ZToKKyAgIC0gd3JpdGUuMSBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTgtUmVsZWFzZU5vdGVzIGIvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4xOC1SZWxlYXNlTm90ZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzZlMGIyYwotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTgtUmVsZWFzZU5vdGVzCkBAIC0wLDAgKzEsNDY4IEBACitVdGlsLWxpbnV4LW5nIDIuMTggUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworVGhlIHV0aWwtbGludXgtbmcgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIHJkZXYoOCksIHJhbXNpemUoOCksIAordmlkbW9kZSg4KSBhbmQgcm9vdGZsYWdzKDgpIGFueW1vcmUuIAorCitUaGUgZmRpc2soOCkgY29tbWFuZCBkb2VzIG5vdCB1c2UgRE9TLWNvbXBhdGlibGUgbW9kZSBhbmQgY3lsaW5kZXJzIGFzIGRpc3BsYXkKK3VuaXRzIGJ5IGRlZmF1bHQuIFRoZSBvbGQgZGVwcmVjYXRlZCBET1MgYmVoYXZpb3IgY291bGQgYmUgZW5hYmxlZCBieSAnYycgYW5kCisndScgZmRpc2sgY29tbWFuZHMgb3IgZnJvbSBjb21tYW5kIGxpbmUgYnkgJy1jPWRvcyAtdT1jeWxpbmRlcnMnIG9wdGlvbnMuCisKK1JlbGVhc2UgaGlnaGxpZ2h0cworLS0tLS0tLS0tLS0tLS0tLS0tCisKK2xpYm1vdW50OgorICAtIHRoaXMgTkVXIExJQlJBUlkgaXMgZGVzaWduZWQgdG8gYmUgdXNlZCBpbiBsb3ctbGV2ZWwgdXRpbHMgbGlrZQorICAgIG1vdW50KDgpIGFuZCAvc2Jpbi9tb3VudC48dHlwZT4gaGVscGVycyBhcyB3ZWxsIGFzIGluIHNvbWUgb3RoZXIKKyAgICBwcm9qZWN0cy4KKworICAtIHRoZSBsaWJyYXJ5IEFQSSBpcyBzdGlsbCBvZmZpY2lhbGx5IHVuc3RhYmxlLiBUaGUgbGlicmFyeSBwcm92aWRlcworICAgIGZzdGFiLCBtdGFiIGFuZCBtb3VudGluZm8gcGFyc2VyLCByb3V0aW5lcyBmb3Igd29yayB3aXRoIHBhcnNlZCAKKyAgICBkYXRhIGFuZCBtb3VudCBvcHRpb25zLCBtdGFiIGxvY2tpbmcsIGV0Yy4gVGhlIGhpZ2gtbGV2ZWwgQVBJIGZvciAKKyAgICBtb3VudCgyKSBpcyBwbGFubmVkIGZvciB0aGUgbmV4dCBtYWpvciByZWxlYXNlLiBGb3IgbW9yZSBkZXRhaWxzIHNlZToKKyAgICBodHRwOi8vdGhyZWFkLmdtYW5lLm9yZy9nbWFuZS5saW51eC51dGlsaXRpZXMudXRpbC1saW51eC8zMjM5CisKKyAgLSB0aGUgdXRpbHMgbGlrZSBtb3VudCg4KSBvciB1bW91bnQoOCkgYXJlIG5vdCBsaW5rZWQgd2l0aCB0aGUgbGlicmFyeQorICAgIHlldC4gVGhpcyBjaGFuZ2UgaXMgcGxhbm5lZCBmb3IgdXRpbC1saW51eC1uZy0yLjE5LgorCitmaW5kbW50KDgpOgorICAtIHRoaXMgTkVXIENPTU1BTkQgaXMgYSBjb21tYW5kIGxpbmUgaW50ZXJmYWNlIHRvIHRoZSBsaWJtb3VudCBsaWJyYXJ5IAorICAgIGZvciB3b3JrIHdpdGggbW91bnRpbmZvLCBmc3RhYiBhbmQgbXRhYiBmaWxlcworCitmc2ZyZWV6ZSg4KToKKyAgIC0gdGhpcyBORVcgQ09NTUFORCBpcyB2ZXJ5IHNpbXBsZSB3cmFwcGVyIGFyb3VuZCBGSUZSRUVaRS9GSVRIQVcgaW9jdGxzCisKK3N3YXBsYWJlbCg4KToKKyAgIC0gdGhpcyBORVcgQ09NTUFORCBhbGxvd3MgdG8gY2hhbmdlIHN3YXBhcmVhIFVVSUQgYW5kIGxhYmVsCisKK2Jsa2lkKDgpOgorICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9uICItaSIgdG8gcHJpbnQgSS9PIExpbWl0cworCisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi1uIiB0byByZXN0cmljdCBwcm9iaW5nIGZ1bmN0aW9ucyB0byAKKyAgICBkZWZpbmVkIGxpc3Qgb2Ygc3VwZXJibG9jayB0eXBlcyAobmFtZXMpLgorCisgIC0gcmV0dXJucyBkZXRhaWxzIGZyb20gcGFydGl0aW9uIHRhYmxlICh0eXBlLCBmbGFncywgdXVpZCwgLi4uKQorCitjaHJ0KDEpOgorICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9uICItUi8tLXJlc2V0LW9uLWZvcmsiIHRvIGVuYWJsZSAKKyAgICBTQ0hFRF9SRVNFVF9PTl9GT1JLIGZsYWcKKworZmRpc2soOCk6CisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi1jIiB0byBzd2l0Y2ggb2ZmIERPUyBtb2RlCisgIC0gdXNlcyAxTWlCIG9mZnNldCBmb3IgdGhlIGZpcnN0IHBhcnRpdGlvbgorICAgIChhbGwgdGhlc2UgY2hhbmdlcyBhcmUgYWxyZWFkeSBpbiB0aGUgcmVsZWFzZSAyLjE3LjIpCisKK2h3Y2xvY2soOCk6CisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi0tcHJlZGljdCIgdG8gcHJlZGljdCB3aGF0IHRoZSBSVEMgd2lsbCAKKyAgICByZWFkIGF0IHRpbWUgZ2l2ZW4gYnkgdGhlIC0tZGF0ZSBvcHRpb24gYmFzZWQgb24gdGhlIGFkanRpbWUgZmlsZS4KKworbGRhdHRhY2goOCk6CisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi1pLy0taWZsYWciIHRvIHNldHMgdGhlIHNwZWNpZmllZCBiaXRzIAorICAgIGluIHRoZSBjX2lmbGFnIHdvcmQgb2YgdGhlIHNlcmlhbCBsaW5lLgorCitmYWxsb2NhdGUoMSksIGxvc2V0dXAoOCkgYW5kIG1vdW50KDgpOgorICAtIHRoZSBvcHRpb25zIC0tb2Zmc2V0LCAtLWxlbmd0aCBvciAtLXNpemVsaW1pdCBzdXBwb3J0IHN1ZmZpeGVzCisgICAgKE1pQiwgR2lCLCAuLi4pIGFuZCBoZXggbnVtYmVycworCit1bW91bnQoOCk6CisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi0tZmFrZSIgdG8gYXZvaWQgdW1vdW50KDIpIHN5c2NhbGwKKworCitTdGFibGUgbWFpbnRlbmFuY2UgcmVsZWFzZXMgYmV0d2VlbiB2Mi4xNyBhbmQgdjIuMTgKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCit1dGlsLWxpbnV4LW5nIDIuMTcuMSBbMjItRmViLTIwMTBdCisKKyAqIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE3L3YyLjE3LjEtUmVsZWFzZU5vdGVzCisgICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xNy92Mi4xNy4xLUNoYW5nZUxvZworCit1dGlsLWxpbnV4LW5nIDIuMTcuMiBbMjItTWFyLTIwMTBdCisKKyAqIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE3L3YyLjE3LjItUmVsZWFzZU5vdGVzCisgICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xNy92Mi4xNy4yLUNoYW5nZUxvZworCisKK0NoYW5nZXMgYmV0d2VlbiB2Mi4xNyBhbmQgdjIuMTgKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworIEZvciBtb3JlIGRldGFpbHMgc2VlIENoYW5nZUxvZyBmaWxlcyBhdDoKKyBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xOC8KKworYWRkcGFydDoKKyAgIC0gdXNlIGF0b2xsKCkgZm9yIHBhcnNpbmcgY29tbWFuZCBsaW5lIGFyZ3VtZW50cyAgW1Rob21hcyBGZWhyXQorYmxraWQ6CisgICAtIGFkZCBcbiB0byB0aGUgIi1vIHVkZXYiIG91dHB1dCB3aGVuIHByb2JlIG1vcmUgZGV2aWNlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkICdleHBvcnQnIG91dHB1dCBmb3JtYXQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtaSBvcHRpb24gdG8gcHJpbnQgSS9PIGxpbWl0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIC1uIDxsaXN0PiBvcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBuZXdsaW5lIHdoZW4gb25seSBvbmUgdmFsdWUgaXMgcHJpbnRlZCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCAtdSA8bGlzdD4gcGFyc2luZyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gZW5jb2RlIFBBUlRfRU5UUllfVFlQRSAgW0thcmVsIFpha10KKyAgIC0gZXhwb3J0IElEX1BBUlRfRU5UUllfKiB2YXJpYWJsZXMgZm9yIHVkZXYgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAjaWZkZWYgSEFWRV9URVJNSU9bU11fSCAgW0thcmVsIFpha10KKyAgIC0gZml4IGJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZSgpIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIFJBSURzIGFuZCB0aW55IGRldmljZXMgcHJvYmluZyAgW0thcmVsIFpha10KKyAgIC0gcHJvYmUgZm9yIFBULCBkb24ndCBwcm9iZSBmb3IgRlMgb24gc21hbGwgd2hvbGUtZGlza3MgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBfRU5DIGZyb20gSURfUEFSVF9FTlRSWV97TkFNRSxUWVBFfSB2YXJpYWJsZXMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBkdXBsaWNhdGUgb3B0aW9uIGZyb20gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHJlcG9ydCBvcGVuKCkgZXJyb3JzIGluIGxvdy1sZXZlbCBwcm9iaW5nICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IHN1ZmZpeGVzIGZvciAtTyA8b2Zmc2V0PiBhbmQgLVMgPHNpemU+ICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgbWFuIHBhZ2UvdXNhZ2UoKSAgW0thcmVsIFpha10KK2Jsb2NrZGV2OgorICAgLSByZWR1Y2UgdXNhZ2UgdGV4dCB3aWR0aCAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KK2J1aWxkLXN5czoKKyAgIC0gYWRkIG1pc3NpbmcgdGVzdHMgZm9yIGxpYnV1aWQgYW5kIGxpYmJsa2lkICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGxpYnttb3VudCxibGtpZH0gYnVpbGRpbmcgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmVkIGNoZWNrIGZvciBmYWxsb2NhdGUoKSAgW1lhbm4gRHJvbmVhdWRdCisgICAtIG1pbm9yIGNoYW5nZXMgZm9yIEdOVS9IdXJkICBbU2FtdWVsIFRoaWJhdWx0XQorICAgLSByZWxlYXNlKysgKHYyLjE4LXJjMSkgIFtLYXJlbCBaYWtdCisgICAtIHJlbGVhc2UrKyAodjIuMTgtcmMyKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGR1cGxpY2F0ZSAjaW5jbHVkZXMgIFtLYXJlbCBaYWtdCisgICAtIHJlcGxhY2UgLi4vIHdpdGggJHRvcF9zcmNkaXIgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBpbmNsdWRlL01ha2VmaWxlLmFtICBbS2FyZWwgWmFrXQorICAgLSB1c2UgaW5jbHVkZS9saXN0LmggIFtLYXJlbCBaYWtdCitjYWw6CisgICAtIGZhY3RvciBvdXQgYW5kIHVwZGF0ZSBtdWx0aWJ5dGUgYWxpZ25tZW50IGNvZGUgIFtQw6FkcmFpZyBCcmFkeV0KKyAgIC0gZml4IGZpcnN0IGRheSBvZiB0aGUgd2VlayBjYWxjdWxhdGlvbiBvbiBCRSBzeXN0ZW1zICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgaW5mbyBmcm9tIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorY2ZkaXNrOgorICAgLSBmaXggd2FybmluZyAgaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYd2N3aWR0aOKAmSAgW0thcmVsIFpha10KKyAgIC0gc2V0ICdbTmV3XScgYXMgZGVmYXVsdCBpdGVtIG9uIG1lbnUgZm9yIG5vbiBhbGxvY2F0ZWQgc3BhY2UgaW5zdGVhZCBvZiAnW0hlbHBdJy4gIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHNldCAnW1F1aXRdJyBhcyBkZWZhdWx0IG1lbnUgaXRlbSBvbiBmaXJzdCBydW4gaW5zdGVhZCBvZiAnW0Jvb3RhYmxlXScuICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSBzdXBwb3J0IG5vbi1hc2NpaSBjaGFyYWN0ZXJzIGluIGlucHV0ICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGliYmxraWQgIFtNYXR0aGlhcyBLw7ZuaWddCitjaHJ0OgorICAgLSBhZGQgLS1yZXNldC1vbi1mb3JrICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS12ZXJib3NlIHRvIG1hbiBwYWdlLCBjb3JyZWN0IC1WIGZvciAtLXZlcnNpb24sIGFscGhhYmV0aXplICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGFkZCBzdXBwb3J0IGZvciBTQ0hFRF9SRVNFVF9PTl9GT1JLICBbQWRyaWFuIEtub3RoXQorICAgLSBjaGFuZ2UgdHdvIG1lc3NhZ2VzIGludG8gZm91ciB0cmFuc2xhdGFibGUgc2VudGVuY2VzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHNsaWNlIGhlbHAgdGV4dCBpbnRvIG1hbmFnZWFibGUgY2h1bmtzIGZvciB0cmFuc2xhdG9ycyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorZG9jczoKKyAgIC0gZml4IHVtb3VudCAtLWZha2Ugbm90ZSBpbiBSZWxlYXNlTm90ZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSAgUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgQVVUSE9SUyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgVE9ETyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIFRPRE8gZmlsZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHRlc3RzL1JFQURNRSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHYyLjE4IFJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KK2ZhbGxvY2F0ZToKKyAgIC0gY2hlY2sgZm9yIG51bWJlciBvZiBhcmd1bWVudHMgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgc3VmZml4ZXMgZm9yIC0tb2Zmc2V0IGFuZCAtLWxlbmd0aCAgW0thcmVsIFpha10KK2ZkaXNrOgorICAgLSBhZGQgLWMgb3B0aW9uIChzd2l0Y2ggb2ZmIERPUyBtb2RlKSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBhbGlnbm1lbnQsIGRlZmF1bHQgdG8gMU1pQiBvZmZzZXQgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgaGVscCwgYWRkIC1oIG9wdGlvbiAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB3YXJuaW5ncyAgW0thcmVsIFpha10KKyAgIC0gY29ycmVjdGx5IHRydW5jYXRlIGFuZCBhbGlnbiB0cmFuc2xhdGVkIHBhcnRpdGlvbiBuYW1lcyAgW1DDoWRyYWlnIEJyYWR5XQorICAgLSBkaXNhYmxlIERPUyBtb2RlIGFuZCBjeWxpbmRlcnMgYnkgZGVmYXVsdCAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgY2hlY2sgYWxpZ25tZW50X29mZnNldCBhZ2FpbnN0IGdlb21ldHJ5ICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBpbmNsdWRlIHNjc2kuaCAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdXNlIDFNaUIgZ3JhaW4gb24gc21hbGwgZGV2aWNlcyAgW0thcmVsIFpha10KKyAgIC0gZXh0ZW5kIC1jIGFuZCAtdSBvcHRpb25zIHRvIHN1cHBvcnQgb2xkIERPUyBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gZmFsbGJhY2sgZm9yIHRvcG9sb2d5IHZhbHVlcyAgW0thcmVsIFpha10KKyAgIC0gZml4ICdwJyBvdXRwdXQgZm9yIHN1biBsYWJlbCAgW0thcmVsIFpha10KKyAgIC0gZml4IC1iIDxzZWN0b3JzaXplPiAgW0thcmVsIFpha10KKyAgIC0gZml4IEFMSUdOX1VQICBbS2FyZWwgWmFrXQorICAgLSBmaXggY2hlY2tfYWxpZ25tZW50KCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBkZWZhdWx0IGZpcnN0IHNlY3RvciAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSAnbW92ZSBiZWdpbiBvZiBwYXJ0aXRpb24nIGNvbW1hbmQgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgYWRkIHBhcnRpdGlvbiBkaWFsb2cgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgdGhlIGRlc2NyaXB0aW9uIG9mIC1jIGFuZCAtdSBvcHRpb25zIG9uIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHJlbW92ZSBlcnJvbmVvdXMgPHNpemU+IGFyZ3VtZW50IGZyb20gLXUgb3B0aW9uIGluIGhlbHAgdGV4dCAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSByZXBsYWNlIGJ6ZXJvIHdpdGggbWVtc2V0ICBbSm9uIFJpbmdsZV0KKyAgIC0gc3dhcCBWVE9DIHZhbHVlcyBmb3Igd2FybmluZyBtZXNzYWdlcyAgW0thcmVsIFpha10KKyAgIC0gdW50YW5nbGUgdGhlIHJlcG9ydGluZyBvZiBkZXByZWNhdGVkIG1vZGUgYW5kIHVuaXQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXNlICJvcHRpbWFsIEkvTyBzaXplIiBpbiB3YXJuaW5ncyAgW0thcmVsIFpha10KKyAgIC0gdXNlIDFNaUIgb2Zmc2V0IGFuZCBncmFpbiBhbHdheXMgd2hlbiBwb3NzaWJsZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIG1vcmUgZWxlZ2FudCB3YXkgdG8gY291bnQgYW5kIGNoZWNrIGFsaWdubWVudCAgW0thcmVsIFpha10KKyAgIC0gdXNlIG9wdGltYWxfaW9fc2l6ZSAgW0thcmVsIFpha10KK2ZpbmRtbnQ6CisgICAtIGFkZCBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5ldyBjb21tYW5kICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdHJlZSBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQge2ZzLHZmc30tb3B0aW9ucyBjb2x1bW5zICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBzd2FwIHNvdXJjZSBhbmQgdGFyZ2V0IGZvciB0YWdzICBbS2FyZWwgWmFrXQorICAgLSBtaW5vciBjb2Rpbmcgc3R5bGUgZml4ZXMgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgZnJvbSAvc2JpbiB0byAvYmluICBbS2FyZWwgWmFrXQorICAgLSByZXdyaXRlIHRvIHVzZSBsaWIvdHQuYyAgW0thcmVsIFpha10KKyAgIC0gc21hbGwgY2hhbmdlIGluIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIHVuZ2V0dGV4dGl6ZSB0aGUgZGlyZWN0aW9ucyBhbmQgZml4IHNwZWxsaW5nICBbQmVubm8gU2NodWxlbmJlcmddCitmc2NrOgorICAgLSBmaXggdHlwbyBpbiBmc2NrLjggIFtGcmFuY2VzY28gQ29zb2xldG9dCitmc2NrL21rZnMvbW91bnQ6CisgICAtIHVuaWZ5IGRlZmF1bHQgc2VhcmNoIHBhdGhzIGZvciBoZWxwZXJzICBbTWlrZSBGcnlzaW5nZXJdCitmc2ZyZWV6ZToKKyAgIC0gbmV3IGNvbW1hbmQgIFtIYWppbWUgVGFpcmFdCitnaXQ6CisgICAtIGlnbm9yZSBpbmRleCBmaWxlcyBnZW5lcmF0ZWQgYnkgY3RhZ3MgYW5kIGNzY29wZSAgW1BldHIgVXplbF0KK2h3Y2xvY2s6CisgICAtIGFkZCAtLXByZWRpY3QgZm9yIHByZWRpY3RpbmcgUlRDIHJlYWRpbmcgYXQgYSBnaXZlbiB0aW1lICBbVGltbyBKdWhhbmkgTGluZGZvcnNdCitpbmNsdWRlOgorICAgLSBhZGQgbWluL21heCBtYWNyb3MgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgc2hsaWJzLy4uLi9saXN0LmggdG8gdGhlIGluY2x1ZGUvIGRpcmVjdG9yeSAgW0thcmVsIFpha10KK2lvbmljZToKKyAgIC0gZml4IHR5cG8gIFtQaWVycmUgSGF1d2VlbGVdCisgICAtIG5vbi1jcnlwdGljIGVycm9yIG1lc3NhZ2Ugd2hlbiBpb25pY2UgY2FuJ3QgZXhlY3ZwICBbw4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb25dCitpcGNybToKKyAgIC0gcmVtb3ZlIHJlZHVuZGFudCBtZXNzYWdlIGluIGNhc2Ugb2YgaW52YWxpZCBvcHRpb24gIFtGcmFuY2VzY28gQ29zb2xldG9dCitpcGNzOgorICAgLSBhZGQgbWlzc2luZyAiUElEcyIgdG8gcmVsYXRlZCBzaGFyZWQgbWVtb3J5IGhlYWRlciB0ZXh0ICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSBhZHZpc2UgdHJhbnNsYXRvcnMgYSBkaWZmZXJlbnQgb3V0cHV0IGZvcm1hdCAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gZ2V0IHJpZCBvZiBjb2xvbnMgZnJvbSBoZWFkZXIgc3RyaW5ncyBmb3IgY29uc2lzdGVuY3kgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHJlb3JnYW5pemUgaGVscCBhbmQgdXNhZ2UgdGV4dHMgIFtGcmFuY2VzY28gQ29zb2xldG9dCitsZGF0dGFjaDoKKyAgIC0gYWRkIC0taWZsYWcgY29tbWFuZCBsaW5lIG9wdGlvbiAgW1RpbG1hbiBTY2htaWR0XQorICAgLSBjcmVhdGUgYSBnZW5lcmljIGZ1bmN0aW9ucyBmb3IgbmFtZT12YWx1ZSB0YWJsZXMgIFtLYXJlbCBaYWtdCisgICAtIHByaW50cyBoZWxwIHRvIHN0ZG91dCAgW0thcmVsIFpha10KK2xpYjoKKyAgIC0gYWRkICNpZm5kZWYgYXJvdW5kIG1pbigpIG1heCgpIG1hY3JvcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZhbGxiYWNrIGZvciBsaWJjICh1Q2xpYmMpIHdpdGhvdXQgQ1BVX0FMTE9DICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWFuZ2xlLmMgZm9yIG10YWIgKGZzdGFiIG9yIHN3YXBzKSBlbmNvZGluZyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN0cnRvc2l6ZSgpIGZ1bmN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdHQuYyAoVHJlZSBhbmQgVGFibGUgb3V0cHV0KSAgW0thcmVsIFpha10KKyAgIC0gYXZvaWQgY29tcGlsYXRpb24gZmFpbHVyZSBvbiByYXdoaWRlICBbSmltIE1leWVyaW5nXQorICAgLSBmaXggYmxrZGV2X2ZpbmRfc2l6ZSgpICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW53YW50ZWQgZGVidWcgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIHR0LmMgIGRvbid0IHByaW50IGhlYWRlciBmb3IgZW1wdHkgdGFibGUgIFtLYXJlbCBaYWtdCisgICAtIHR0LmMgLSBmaXggbWluaW1hbCB3aWR0aCBvZiBjb2x1bW4gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBmc3RhdCgpIGFzIGZhbGxiYWNrIGluIGJsa2Rldl9nZXRfc2l6ZSgpICBbS2FyZWwgWmFrXQorbGliYmxraWQ6CisgICAtIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIEJlRlMgZGV0ZWN0aW9uICBbSmVyb2VuIE9vcnR3aWpuXQorICAgLSBBZGQgcHJvYmluZyBmdW5jdGlvbiBmb3IgQmVGUyAgW0plcm9lbiBPb3J0d2lqbl0KKyAgIC0gYWRkIFBBUlRfRU5UUllfe1NDSEVNRSxOVU1CRVJ9ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYmxraWRfb3BlbmF0KCksIGNsZWFudXAgYmxraWRfZnN0YXRhdCgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYmxraWRfcGFydGl0aW9uX3NldF90eXBlKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBibGtpZF9wYXJ0bGlzdF9nZXRfdGFibGUoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJsa2lkX3Byb2JlX2FsbF9yZW1vdmFibGUoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJsa2lkX3Byb2JlX2dldF97b2Zmc2V0LGZkfSBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBleEZBVCBmaWxlIHN5c3RlbSBkZXRlY3Rpb24gc3VwcG9ydCAgW0FuZHJldyBOYXllbmtvXQorICAgLSBhZGQgZ2VuZXJpYyBmdW5jdGlvbnMgZm9yIHN5c2ZzIGF0dHJpYnV0ZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtaWNyb3NlY29uZCByZXNvbHV0aW9uIGZvciBjYWNoZSBlbnRyaWVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWluaW1hbCBzaXplcyBmb3IgT0NGUyBhbmQgR0ZTICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X2l0ZXJfZ2V0X2RpcmVjdGlvbigpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcGFydGlhbCBzdXBwb3J0IGZvciBzdXBlcmJsb2NrIGJpbmFyeSBBUEkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBwYXRocyBhbmQgdGFncyBjYWNoZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNhbml0eSBjaGVja3MgZm9yIEZBVCB0byBET1MgUFQgcGFyc2VyICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgUEFSVF9FTlRSWV8qIHZhbHVlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1cHBvcnQgZm9yIHBhcnRpdGlvbiBmbGFncy9hdHRyaWJ1dGVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdWx0cml4IFBUIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGF2b2lkIHByb2JpbmcgQ0RzIGZvciBSQUlEICBbTS5TLkNvbGNsb3VnaF0KKyAgIC0gY2FsbCByZWFkKCkgcGVyIEZBVCByb290IGRpciBlbnRyeSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBmc3RhdCgpIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHNvbWUgZG9jcyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBzdXBlcmJsb2Nrc19zYWZlcHJvYmUoKSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB1c2FnZSBvZiBlbXB0eSB0b3BvbG9neSB2YWx1ZXMgIFtLYXJlbCBaYWtdCisgICAtIGRpc2FibGUgcmVhZC1haGVhZCB3aGVuIHByb2JpbmcgZGV2aWNlIGZpbGVzICBbTGludXMgVG9ydmFsZHNdCisgICAtIGRvbid0IGNhbGwgcmVhZCgpIHBlciBGQVQgZGlyLWVudHJ5IG9uIGxhcmdlIGRpc2tzICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBnYXRoZXIgUEFSVF9FTlRSWV8qIHZhbHVlcyBmb3IgYmluYXJ5IGludGVyZmFjZSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgcHJvYmUgZm9yIEdQVCBhbmQgVW5peHdhcmUgUFQgb24gZmxvcHBpZXMgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHByb2JlIGZvciBuZXN0ZWQgUFQgb24gdGlueSBkaXNrcyAoPD0xLjQ0TWlCKSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgcmV0dXJuIGVycm9yIG9uIGVtcHR5IGZpbGVzICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB1c2UgZnN0YXQoKSBpbiBibGtpZF9nZXRfZGV2X3NpemUoKSAgW0thcmVsIFpha10KKyAgIC0gZXhwb3J0IGZ1bmN0aW9ucyB0byBnZXQgd2hvbGUtZGlzayBkZXZubyAgW0thcmVsIFpha10KKyAgIC0gZml4ICdwYXJ0bm8nIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggTFVLUyB2ZXJzaW9uICBbS2FyZWwgWmFrXQorICAgLSBmaXggWlNGIGRldGVjdGlvbiAgW0FuZHJlYXMgRGlsZ2VyXQorICAgLSBmaXggYmxraWRfcGFydGxpc3RfZGV2bm9fdG9fcGFydGl0aW9uKCkgZm9yIGV4dGVuZGVkIHBhcnRpdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb2xsaXNpb24gYmV0d2VlbiBSQUlEIGFuZCBQVCBwcm9iaW5nICBbS2FyZWwgWmFrXQorICAgLSBmaXggZGlzcGxheSBvZiBkZXZpY2Ugc2l6ZSAgW0thcmVsIFpha10KKyAgIC0gZml4IGluZmluaXRlIGxvb3Agd2hlbiBwcm9iZSBjaGFpbiBiYWlscyBvdXQgZWFybHkgIFtDb2xpbiBXYXRzb25dCisgICAtIGZpeCByZWFkbGluZSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gZml4IHNlZ2ZhdWx0IGluIGRyZGIgIFtNYXR0aGlhcyBLw7ZuaWddCisgICAtIGZpeCBzb21lIHR5cG9zICBbTWlsYW4gQnJvel0KKyAgIC0gaW1wcm9iZSBEREYgZGV0ZWN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIE1EIDAuOTAgZGV0ZWN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIE1EIDAuOTAuMCBkZXRlY3Rpb24gKHVzZSBzYi0+c2l6ZSkgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgTUQgMS4wIGRldGVjdGlvbiwgYWRkIFVVSURfU1VCICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIFN1biBWVE9DICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIFpGUyBkZXRlY3Rpb24gYW5kIGFkZCBMQUJFTCBhbmQgVVVJRCBleHRyYWN0aW9uICBbQW5kcmVhcyBEaWxnZXJdCisgICAtIG1pbm9yIGZpeGVzIGluIGJlZnMuYyAgW0thcmVsIFpha10KKyAgIC0gbW9yZSByb2J1c3QgbWluaXggcHJvYmluZyAgW0thcmVsIFpha10KKyAgIC0gb3B0aW1pemUgVURGIGxhYmVsIHJlYWRpbmcgIFtLYXJlbCBaYWtdCisgICAtIHByZXZlbnQgb3ZlcmZsb3cgaW4gQmVGUyAgW0plcm9lbiBPb3J0d2lqbl0KKyAgIC0gcHJvYmUgZm9yIChub24tbGludXgpIFJBSURzIG9uIHdob2xlIGRldmljZXMgb25seSAgW0thcmVsIFpha10KKyAgIC0gcmVhZCB3aG9sZSBTQiBidWZmZXIgKDY5a0IpIG9uIGxhcmdlIGRpc2tzICBbS2FyZWwgWmFrXQorICAgLSByZWFkKCkgb3B0aW1pemF0aW9uIGZvciBzbWFsbCBkZXZpY2VzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgIjB4IiBwcmVmaXggZnJvbSBEUkJEIFVVSUQgIFtLYXJlbCBaYWtdCisgICAtIHJlc2V0IEJMS0lEX1RJTllfREVWIGZsYWcgaW4gYmxraWRfcHJvYmVfc2V0X2RldmljZSAgW1Bhc2NhbCBUZXJqYW5dCisgICAtIHJlc2V0IHN1cGVyYmxvY2tzIHJlc3VsdCBhZnRlciBlcnJvciAgW0thcmVsIFpha10KKyAgIC0gcmVzdHJpY3QgUkFJRC9GUyBwcm92aW5nIGZvciBzbWFsbCBkZXZpY2VzICgxLjRNaUIpICBbS2FyZWwgWmFrXQorICAgLSByZXdyaXRlIGJsa2lkX3Byb2JlX2dldF9idWZmZXIoKSAgW0thcmVsIFpha10KKyAgIC0gc2V0IGNvcnJlY3Qgb2Zmc2V0cyBmb3IgVHV4T25JY2Ugc2lnbmF0dXJlICBbQ2hvdyBMb29uZyBKaW5dCisgICAtIHNldCBtaW5pbWFsIHNpemUgZm9yIGpmcywgcmVpc2VyLCBzd2FwIGFuZCB6ZnMgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgYWxpZ25tZW50X29mZnNldD0tMSAgW0thcmVsIFpha10KKyAgIC0gdGlueSBjaGFuZ2UgaW4gZGVidWcgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBleHBvcnQgbWFnaWMgc3RyaW5ncyBmcm9tIHJhaWRzICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIGdldHNpemUuYyBjb2RlIHRvIGxpYi8gIFtLYXJlbCBaYWtdCitsaWJtb3VudDoKKyAgIC0gYWRkICN3YXJuaW5nIGxpYm1vdW50IEFQSSBpcyBub3Qgc3RhYmxlIHlldCEgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBiYXNpYyBkaXJzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYmFzaWMgdXRpbHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBkZWJ1ZyBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZG9jcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZzdGFiL210YWIvbW91bnRpbmZvIGxvb2t1cCByb3V0aW5lcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZzdGFiL210YWIvbW91bnRpbmZvIHBhcnNpbmcgcm91dGluZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsaXN0IHJvdXRpbmVzIGFuZCBnZW5lcmljIGl0ZXJhdG9yICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X2NhY2hlX2ZpbmRfdGFnX3ZhbHVlKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtbnRfZW50cnkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtbnRfbWF0Y2hfe2ZzdHlwZSxvcHRpb25zfSBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtbnRfb3B0c3RyXyogZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbXRhYiBsb2NraW5nIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBuZXcgZGVidWcgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBvcHRscyAob3B0aW9ucyBjb250YWluZXIpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgdXNlcmRhdGEgYW5kIHdvcmsgd2l0aCBWRlMgdHJlZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRlc3RfdmVyc2lvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIHZlcnNpb24uYyAgW0thcmVsIFpha10KKyAgIC0gYW5vdGhlciBNYWtlZmlsZS5hbSBmaXggIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgY2FjaGUgZmxhZ3MgYW5kIGRlYnVnIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGJ1aWxkIHRlc3RzIGJ5IGRlZmF1bHQgIFtLYXJlbCBaYWtdCisgICAtIGV4cG9ydCBtbnRfaW5pdF9kZWJ1ZygpICBbS2FyZWwgWmFrXQorICAgLSBmaXggTWFrZWZpbGUuYW0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtbnRfZnNfbWF0Y2hfc291cmNlKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBuYW1lIG9mIG1udF9mc19nZXRfKl9vcHRzdHIoKSAgW0thcmVsIFpha10KKyAgIC0gZml4IHNvbWUgZ3RrZG9jIHdhcm5pbmdzICBbS2FyZWwgWmFrXQorICAgLSBtZXJnZSB2ZnMgYW5kIGZzIG9wdGlvbnMgbW9yZSBjYXJlZnVsbHkgIFtLYXJlbCBaYWtdCisgICAtIHByb3BlciB0ZXN0cyBkZWZpbml0aW9uIGluIE1ha2VmaWxlLmFtICBbS2FyZWwgWmFrXQorICAgLSByZWFkIGRldm5vLCBJRCBhbmQgcGFyZW50IElEIGZyb20gL3Byb2Mvc2VsZi9tb3VudGluZm8gIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBtbnRfb3Blbl9kZXZpY2UoKSAgW0thcmVsIFpha10KKyAgIC0gcmVuYW1lIG1udF9vcHRsc19pdGVyYXRlX29wdGlvbnMoKSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHN5bWJvbHMgdGFibGUgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBtYW5nbGUgZnVuY3Rpb24gZnJvbSBsaWIvICBbS2FyZWwgWmFrXQorbG9nZ2VyOgorICAgLSBhZGQgbm90ZSBhYm91dCAna2VybicgdG8gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorbG9naW46CisgICAtIGNoZWNrIHRoYXQgYWZ0ZXIgdHR5IHJlb3BlbiB3ZSBzdGlsbCB3b3JrIHdpdGggYSB0ZXJtaW5hbCAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgbGluayBQQU1lZCB2ZXJzaW9uIHdpdGggbGliY3J5cHQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBmZCBpbnN0ZWFkIG9mIHBhdGhuYW1lIGZvciB1cGRhdGUgdHR5J3Mgb3duZXIgYW5kIHBlcm1pc3Npb25zICBbWWFubiBEcm9uZWF1ZF0KK2xvc2V0dXA6CisgICAtIHN1cHBvcnQgc3VmZml4ZXMgYW5kIGhleCBudW1iZXJzIGZvciAtLW9mZnNldCBhbmQgLS1zaXplbGltaXQgIFtLYXJlbCBaYWtdCitsc2NwdToKKyAgIC0gYWRkIENQVV9FUVVBTF9TIGRlZmluaXRpb24gZm9yIG9sZC9vYnNjdXJlIGxpYmMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgcGF0aF9zY2Fuc3RyKCkgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdXNlZCBuYW1lcyAgW0thcmVsIFpha10KKyAgIC0gZml4IENQVV9FUVVBTF9TIG1hY3JvICBbS2FyZWwgWmFrXQorICAgLSBmaXggY3B1aWQgb3Bjb2RlIGRldGVjdGlvbiAgW0hlbm5lIFZvZ2Vsc2FuZ10KKyAgIC0gZml4IHR5cG8gaW4gbHNjcHUuMSAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gZml4IHR5cG8sICJmYWlsZCIgdG8gImZhaWxlZCIgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZ2V0dGV4dGl6ZSAiQ1BVKHMpIiAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gaW1wcm92ZSAtLXN5c3Jvb3QgY29kZSAgW0thcmVsIFpha10KKyAgIC0gcmVwbGFjZSBMQ19NRVNTQUdFUyB3aXRoIExDX0FMTCBpbiBzZXRsb2NhdGUoKSAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gdXNlIGNwdXNldCBtYXNrcywgcmVhZCBkYXRhIGZvciBhbGwgQ1BVcyAgW0thcmVsIFpha10KK21lc3NhZ2VzOgorICAgLSBnZXR0ZXh0aXplIGEgZmV3IHNraXBwZWQgb3IgZm9yZ290dGVuIG9uZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK21rc3dhcDoKKyAgIC0gYWRkIGEgbm90ZSB0aGF0IC1wIGlzIHVuY2VjZXNzYXJ5ICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBjYWxsIGJsa2Rldl9maW5kX3NpemUoKSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdXNlIHRvbyBzbWFsbCB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgIFtLYXJlbCBaYWtdCisgICAtIGZpeGVkIHN0cnRvbGwoKSB1c2FnZSAgW1lhbm4gRHJvbmVhdWRdCisgICAtIG1vcmUgcm9idXN0IHN0cnRvdWxsKCkgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgd3JpdGVfYWxsKCkgdG8gaW5jbHVkZS93cml0ZWFsbC5oICBbS2FyZWwgWmFrXQorICAgLSB0d2VhayB0aGUgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXNlIGNhbGxvYygpLCByZW1vdmUgb2Jzb2xldGUgdjEgaGVhZGVyIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSB6YXAgYm9vdGJpdHMgb24gcmVndWxhciBmaWxlcyAgW0thcmVsIFpha10KK21vdW50OgorICAgLSBhZGQgbm90ZXMgYWJvdXQgLW8gcmVtb3VudCxybyxiaW5kIHRvIG1vdW50LjggIFtLYXJlbCBaYWtdCisgICAtIGFkdmlzZSB1c2VycyB0byB1c2UgIm1vZHByb2JlIiwgbm90ICJpbnNtb2QiICBbS2FyZWwgWmFrXQorICAgLSBhdXRvbWF0aWNhbGx5IGRldGVjdCBhbmQgbG9vcC1tb3VudCByZWd1bGFyIGZpbGVzICBbS2FyZWwgWmFrXQorICAgLSBkZXRlY3Qgd2hlbiBrZXJuZWwgc2lsZW50bHkgYWRkcyBNU19SRE9OTFkgZmxhZyAgW1BldHIgVXplbF0KKyAgIC0gZG9uJ3QgY3JlYXRlIGxvb3BkZXYgZm9yIE1TX0JJTkQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb2Rpbmcgc3R5bGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBpbmZvcm1hdGlvbiBhYm91dCBYRlMgbG9nIGJ1ZmZlcnMgaW4gbW91bnQuOCAgW0NocmlzdG9waCBIZWxsd2lnXQorICAgLSBmaXggbWVtb3J5IGxlYWsgIFtQZXRyIFV6ZWxdCisgICAtIGZpeCB0eXBvIGluIGNvbW1lbnQgIFtQZXRyIFV6ZWxdCisgICAtIGZpeCB0eXBvcyBpbiBtb3VudC44ICBbUGV0ciBVemVsXQorICAgLSBtb3JlIGV4cGxpY2l0bHkgZXhwbGFpbiBmc3RhYiB1c2FnZSBpbiBtb3VudC44ICBbS2FyZWwgWmFrXQorICAgLSBtb3JlIHJvYnVzdCBvZmZzZXQ9IGFuZCBzaXplbGltaXQ9IHBhcnNpbmcgIFtLYXJlbCBaYWtdCisgICAtIHBvc2l4IG9wdGlvbiBvZiB2ZmF0IGlzIG9ic29sZXRlICBbWW9zaGloaXJvIFRha2FoYXNoaV0KKyAgIC0gcHJvcGVybHkgaWdub3JlIGNvbW1lbnRzIGluIC9ldGMvZmlsZXN5c3RlbXMgIFtNaWtlIEZyeXNpbmdlcl0KKyAgIC0gcmVwb3J0IGFtYml2YWxlbnQgRlMgZGV0ZWN0aW9uLCBpbXByb3ZlIGJydXRlIGZvcmNlIGRldGVjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gcmV2ZXJ0IHVnbHkgRU5PTUVESVVNIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgc3VmZml4ZXMgZm9yIG9mZnNldD0gYW5kIHNpemVsaW1pdD0gIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBkb2N1bWVudGF0aW9uIGFib3V0IGJhcnJpZXIgbW91bnQgb3B0aW9ucyAgW0phbiBLYXJhXQorICAgLSB1c2UgJXUgZm9yIHVpZF90IGFuZCBnaWRfdCAgW0thcmVsIFpha10KKyAgIC0gdXNlIGF1dG8tbG9vcGRldiBmb3IgYWxsIGtub3duIGZpbGVzeXN0ZW1zICBbS2FyZWwgWmFrXQorICAgLSB1c2UgdW5tYW5nbGUvbWFuZ2xlKCkgZnJvbSBsaWIgIFtLYXJlbCBaYWtdCisgICAtIHdhcm4gdXNlcnMgdGhhdCBtdGFiIGlzIHJlYWQtb25seSAgW0thcmVsIFpha10KK25hbWVpOgorICAgLSBmaXggbWFuIHBhZ2UgZm9ybWF0dGluZyAgW1ZsYWRpbWlyIEJyZWRuaWtvdl0KK3BhcnR4OgorICAgLSBkbyBub3QgYWRkIG5vbmV4aXN0ZW50IHBhcnRpdGlvbnMgIFtQaGlsbGlwIFN1c2ldCisgICAtIGZpeCBpbmZpbml0ZSBsb29wICBbS2FyZWwgWmFrXQorcG86CisgICAtIG1lcmdlIGNoYW5nZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBjcy5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1BldHIgUGlzYXJdCisgICAtIHVwZGF0ZSBlcy5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1NhbnRpYWdvIFZpbGEgRG9uY2VsXQorICAgLSB1cGRhdGUgZXUucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtNaWtlbCBPbGFzYWdhc3RpIFVyYW5nYV0KKyAgIC0gdXBkYXRlIGlkLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbQXJpZiBFLiBOdWdyb2hvXQorICAgLSB1cGRhdGUgamEucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtNYWtvdG8gS2F0b10KKyAgIC0gdXBkYXRlIGxpc3Qgb2YgZmlsZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBubC5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB1cGRhdGUgcGwucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtKYWt1YiBCb2d1c3pdCisgICAtIHVwZGF0ZSB2aS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0NseXRpZSBTaWRkYWxsXQorcmRldjoKKyAgIC0gcmVtb3ZlIHRoaXMgZGVwcmVjYXRlZCBjb21tYW5kICBbS2FyZWwgWmFrXQorcnRjd2FrZToKKyAgIC0gYWRkIC0tZHJ5LXJ1biBvcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBkaXNhYmxlIGFjdGlvbiBmb3IgcnRjIGFsYXJtICBbTWFyZWsgT3RhaGFsXQorICAgLSBhZGQgZGlzYWJsZSBhY3Rpb24gdG8gcnRjd2FrZSBtYW4gcGFnZSAgW01hcmVrIE90YWhhbF0KKyAgIC0gZG9lcyBtaXNzIHRoZSAib2ZmIiBvcHRpb24gIFtLYXJlbCBaYWtdCitzY3JpcHQ6CisgICAtIG9wdGlvbmFsbHkgY29tcGlsZSB3aXRoIGxpYnV0ZW1wdGVyIHRvIHVwZGF0ZSB1dG1wICBbS2FyZWwgWmFrXQorICAgLSBwcmVzZXJ2ZSBjaGlsZCBleGl0IHN0YXR1cyAgW0thcmVsIFpha10KK3NmZGlzazoKKyAgIC0gbWFrZSBzdXJlIHdyaXRlcyBtYWtlIGl0IHRvIGRpc2sgaW4gd3JpdGVfcGFydGl0aW9ucygpICBbQnJ5biBNLiBSZWV2ZXNdCitzd2FwbGFiZWw6CisgICAtIGZpeCB0eXBvIGluIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBuZXcgY29tbWFuZCAgW0phc29uIEJvcmRlbl0KK3N3YXBvbjoKKyAgIC0gZml4IHN3YXBzaXplIGNhbGN1bGF0aW9uICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIERFTEVURURfU1VGRklYIHRvIGluY2x1ZGUvcGF0aG5hbWVzLmggIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSAiIChkZWxldGVkKSIgZnJvbSBmaWxlbmFtZXMgZnJvbSAvcHJvYy9zd2FwcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHVubWFuZ2xlKCkgZm9yIGZpbGVuYW1lcyBmcm9tIC9wcm9jL3N3YXBzICBbS2FyZWwgWmFrXQordGFza3NldDoKKyAgIC0gYWRkIE5MUyBzdXBwb3J0LCB1c2UgZXJyLmgsIGNsZWFudXAgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgTlJfQ1BVUyBkZXRlcm1pbmF0aW9uIHRvIGxpYi9jcHVzZXQuYyAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBiaXRtYXAgcm91dGluZXMgdG8gbGliL2NwdXNldC5jICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGliYyBiYXNlZCBjcHVfc2V0X3QgIFtLYXJlbCBaYWtdCit0ZXN0czoKKyAgIC0gYWRkIEJlRlMgdGVzdCBpbWFnZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJsa2lkIHRlc3QgZm9yIFR1eE9uSWNlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYmxraWQgdGVzdHMgZm9yIFJBSUQxICBbS2FyZWwgWmFrXQorICAgLSBhZGQgY3B1c2V0IHJlZ3Jlc3Npb24gdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZkaXNrIGFsaWdubWVudCB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxzY3B1IGR1bXAgZnJvbSBEZWxsIFI3MTAsIDgtY29yZSBOZWhhbGVtIHcvSFQgKFJIRUwgNS41KSAgW0thcmVsIFpha10KKyAgIC0gYWRkZWQgdGVzdHMgYWdhaW5zdCBzdHJ0b3NpemUgIFtZYW5uIERyb25lYXVkXQorICAgLSBleHBsaWNpdGx5IHVzZSAtLWNodW5rIGFuZCAtLW1ldGFkYXRhIGluIE1EIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBSQUlEcyB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gZml4IGFuZCB1cGRhdGUgb2xkIGZkaXNrIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBmaXggd2hpdGVzcGFjZXMgIFtLYXJlbCBaYWtdCisgICAtIG1vdW50IGNyYW1mcyByZWFkLW9ubHkgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBGUyB0ZXN0IGltYWdlcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGJsa2lkIHRlc3QgZm9yIHJhaWQxICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgYmxraWQvbWQtcmFpZDEtKiB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGZkaXNrIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgaXBjcy9oZWFkZXJzIHRlc3QgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHVwZGF0ZSBsc2NwdSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGxzY3B1IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBQT1NJWCBsb2NhbGUgIFtZYW5uIERyb25lYXVkXQordGV4dHVhbDoKKyAgIC0gZml4IHR5cG9zICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwb3MsIGFuZCByZXBocmFzZSBzb21lIHRoaW5ncyBmb3IgY2xhcml0eSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBzbGlnaHRseSBpbXByb3ZlIHR3byBSRUFETUUgZmlsZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK3Vtb3VudDoKKyAgIC0gYWRkIC0tZmFrZSBvcHRpb24gdG8gdW1vdW50KDgpICBbTWlrbG9zIFN6ZXJlZGldCisgICAtIGRvIG5vdCBzeW5jKCkgYXMgdGhlIGtlcm5lbCBkb2VzIGl0IGJ5IGl0c2VsZiAgW1BldHIgVXplbF0KK3Vuc2hhcmU6CisgICAtIGRyb3AgcG90ZW50aWFsIGV1aWQgcHJpdmlsZWdlcyBiZWZvcmUgZXhlYyAgW0thcmVsIFpha10KK3V1aWRkOgorICAgLSBzcGVsbCB0aGUgcGx1cmFsIG9mICJVVUlEIiBjb25zaXN0ZW50bHkgYXMgIlVVSURzIiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQord2lwZWZzOgorICAgLSBjbGVhbnVwIHVzYWdlKCkgYW5kIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggbGljZW5zZSAoR1BMIC0+IEdQTHYyKykgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtZW0gdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtZW1vcnkgbGVha3MgIFtLYXJlbCBaYWtdCisgICAtIGlnbm9yZSBkZXZpY2VzIHdpdGggcGFydGl0aW9uIHRhYmxlICBbS2FyZWwgWmFrXQorICAgLSBwcmludCB3YXJuaW5nIGlzIFBUIGRldGVjdGVkICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IHN1ZmZpeGVzIGZvciAtLW9mZnNldCAgW0thcmVsIFpha10KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTktUmVsZWFzZU5vdGVzIGIvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4xOS1SZWxlYXNlTm90ZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzE1ZDgyYwotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTktUmVsZWFzZU5vdGVzCkBAIC0wLDAgKzEsNjYwIEBACitVdGlsLWxpbnV4IDIuMTkgUmVsZWFzZSBOb3RlcyAoMTAtRmViLTIwMTEpCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK1RoZSB1dGlsLWxpbnV4LW5nIHByb2plY3QgaGFzIGJlZW4gcmVuYW1lZCBiYWNrIHRvIHV0aWwtbGludXguCisKK1JlbGVhc2UgaGlnaGxpZ2h0cworLS0tLS0tLS0tLS0tLS0tLS0tCisKK2xzYmxrKDgpOgorICAtIHRoaXMgTkVXIENPTU1BTkQgbGlzdHMgaW5mb3JtYXRpb24gYWJvdXQgYWxsIG9yIHNlbGVjdGVkIGJsb2NrIGRldmljZXMgaW4KKyAgICB0cmVlLWxpa2UgZm9ybWF0LgorCitwYXJ0eCg4KToKKyAgLSB0aGlzIGNvbW1hbmQgaGFzIGJlZW4gcmV3cml0dGVuIHRvIHVzZSBsaWJibGtpZCBmb3IgcGFydGl0aW9uIHRhYmxlcworICAgIHBhcnNpbmcuIEl0IHN1cHBvcnRzIGFpeCwgYnNkLCBkb3MsIGdwdCwgbWFjLCBtaW5peCwgc2dpLCBzb2xhcmlzX3g4Niwgc3VuLAorICAgIHVsdHJpeCBhbmQgdW5peHdhcmUgbm93LgorCisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi0tc2hvdyIgdG8gbGlzdCBwYXJ0aXRpb25zIGluIG5ldyBmb3JtYXQKKworICAtIHByaW50cyBVVUlEIGFuZCBuYW1lIGZvciBHUFQgYW5kIG1hYyBwYXJ0aXRpb25zCisKK2ZpbmRtbnQoOCk6CisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi0tc3VibW91bnRzIiB0byBsaXN0IGFsbCBzdWJtb3VudHMgZm9yCisgICAgc2VsZWN0ZWQgbW91bnRwb2ludChzKQorCithZ2V0dHkoOCk6CisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb25zICItYyIgYW5kICItcyIgdG8gcmV1c2UgYWxyZWFkeSBpbml0aWFsaXplZAorICAgIHR0eSBjZmxhZ3MgYW5kIGV4aXN0aW5nIGJhdWQgcmF0ZQorCittb3VudCg4KSwgdW1vdW50KDgpOgorICAtIGNvdWxkIGJlIGxpbmtlZCB3aXRoIGxpYm1vdW50ICgtLWVuYWJsZS1saWJtb3VudC1tb3VudCkgdG8gbWFuYWdlIHVzZXJzcGFjZQorICAgIG1vdW50IG9wdGlvbnMgb3V0c2lkZSAvZXRjL210YWIgb24gc3lzdGVtcyB3aGVyZSB0aGUgZmlsZSBpcyBhIHN5bWxpbmsgdG8KKyAgICAvcHJvYy9tb3VudHMuIChFWFBFUklNRU5UQUwpCisKK2xvc2V0dXAoOCksIG1vdW50KDgpOgorICAtIHVzZXMgL3N5cy9kZXYvYmxvY2svPGRldmljZT4vbG9vcC9iYWNraW5nX2ZpbGUgcmF0aGVyIHRoYW4gbG9vcGRldiBpb2N0bHMKKyAgICAocmVxdWlyZXMga2VybmVsID49IDIuNi4zNykKKworZnNjayg4KToKKyAgLSBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbiAiLWwiIHRvIGxvY2sgd2hvbGUtZGlzayBkZXZpY2UgYnkgCisgICAgZXhjbHVzaXZlIGZsb2NrKDIpLiBUaGlzIG9wdGlvbiBpcyByZWNvbW1lbmRlZCB3aGVuIG1vcmUgZnNjayg4KSBpbnN0YW5jZXMKKyAgICBhcmUgZXhlY3V0ZWQgaW4gdGhlIHNhbWUgdGltZS4gCisKK3J0Y3dha2UoOCk6CisgICAtIHN1cHBvcnRzIG5ldyBtb2RlICJzaG93IiB0byBwcmludCB0aGUgY3VycmVudCBSVEMgYWxhcm0gdGltZQorCitmc3RyaW0oOCk6CisgICAtIHRoaXMgTkVXIENPTU1BTkQgYWxsb3dzIHRvIGRpc2NhcmQgdW51c2VkIGJsb2NrcyBvbiBhIG1vdW50ZWQgZmlsZXN5c3RlbQorICAgICAod3JhcHBlciBmb3IgRklUUklNIGlvY3RsKQorCitzd2Fwb24oOCk6CisgICAtIHN1cHBvcnRzIG5ldyBvcHRpb25zICJkaXNjYXJkIiBhbmQgIm5vZmFpbCIKKworYmxraWQoOCk6CisgICAtIGxvdy1sZXZlbCBwcm9iaW5nICgtcCkgcmV0dXJucyAiOCIgZXhpdCBjb2RlIGZvciBhbWJpdmFsZW50IHByb2JpbmcgcmVzdWx0cworICAgICAgCitsaWJtb3VudDoKKyAgIC0gaW5jbHVkZSBmaWxlIGhhcyBiZWVuIHJlbmFtZWQgZnJvbSBtb3VudC9tb3VudC5oIHRvIGxpYm1vdW50L2xpYm1vdW50LmgKKworCitDaGFuZ2VzIGJldHdlZW4gdjIuMTggYW5kIHYyLjE5CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyBGb3IgbW9yZSBkZXRhaWxzIHNlZSBDaGFuZ2VMb2cgZmlsZXMgYXQ6CisgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTkvCisKK2FkZHBhcnQ6CisgICAtIGNvZGUgY29uc29saWRhdGlvbiAgW0thcmVsIFpha10KK2FnZXR0eToKKyAgIC0gVXNlIEVYSVRfKiBhbmQgYWRkIG5vcmV0dXJuIGF0dHJpYnV0ZSAgW01hcmVrIFBvbGFjZWtdCisgICAtIGFkZCAtYyB0byByZXVzZSBjZmxhZ3MgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtcyB0byByZXVzZSBleGlzdGluZyBiYXVkIHJhdGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAtcyBvcHRpb24gKGJhdWQgcmF0ZSBzZXR1cCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBpZ25vcmVfcmVzdWx0KCkgb3Igd3JpdGUoMSwgLi4uKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIG5sX2xhbmdpbmZvKCkgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHdpcGUgQ0xPQ0FMIGZsYWcgIFtLYXJlbCBaYWtdCitibGtpZDoKKyAgIC0gYWRkIG5ldyByZXR1cm4gY29kZSA4IGZvciBhbWJpdmFsZW50IGxvdy1sZXZlbCBwcm9iaW5nIHJlc3VsdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vdGUgYWJvdXQgUEFSVF9FTlRSWV8gdGFncyB0byBibGtpZC44ICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBwcmludCBkZXZuYW1lIGlmIG5vdGhpbmcgZGV0ZWN0ZWQgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHJldHVybiBQQVJUX0VOVFJZXyogaWYgcGFydGl0aW9uIGlzIGVtcHR5ICBbS2FyZWwgWmFrXQorICAgLSBkeW5hbWljYWxseSBhbGxvY2F0ZSBkZXZpY2VuYW1lIGFycmF5ICBbRXJpYyBTYW5kZWVuXQorYmxvY2tkZXY6CisgICAtIGFkZCBCTEtESVNDQVJEWkVST0VTICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyBpbiBibG9ja2Rldi44ICBbS2FyZWwgWmFrXQorICAgLSBzeW5jIG1hbiBwYWdlIHdpdGggY29kZSAgW0thcmVsIFpha10KK2J1aWxkLXN5czoKKyAgIC0gYWRkIC0tZW5hYmxlLWxpYm1vdW50LW1vdW50ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWVzZyB0byAuZ2l0aWdub3JlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBoZWFkZXIgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBycG1hdGNoLmggdG8gTWFrZWZpbGUuYW0gIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIGZvciBsb2ZmX3QsIGl0IG1heSBub3QgZXhpc3QgIFtGYWJpYW4gR3JvZmZlbl0KKyAgIC0gY2hlY2sgZm9yIHBhdGhzLmggIFtGYWJpYW4gR3JvZmZlbl0KKyAgIC0gY2xlYW51cCBhdXRvZ2VuLnNoICBbS2FyZWwgWmFrXQorICAgLSBkcm9wIHNobGlicy9NYWtlZmlsZS5hbSB0aGF0IG9ubHkgYWRkcyBTVUJESVJTICBbRGllZ28gRWxpbyAnRmxhbWVleWVzJyBQZXR0ZW7Dsl0KKyAgIC0gZHJvcCB0aGUgZ2V0c2l6ZSB0ZXN0IG91dCBvZiBNYWtlZmlsZS5hbSAgW0RpZWdvIEVsaW8gJ0ZsYW1lZXllcycgUGV0dGVuw7JdCisgICAtIGVuYWJsZSBsc2JsayBhbmQgbGlibW91bnQgZm9yIExpbnV4IG9ubHkgIFtLYXJlbCBaYWtdCisgICAtIGV4cGxpY2l0bHkgY2hlY2sgZm9yIHNsYW5nLmggIFtLYXJlbCBaYWtdCisgICAtIGZpeCBsc2JsayBidWlsZGluZyAgW0thcmVsIFpha10KKyAgIC0gaWdub3JlIGdlbmVyYXRlZCBsdG1haW4uc2ggIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgY2hlY2sgZm9yIGNyeXB0ICBbRmFiaWFuIEdyb2ZmZW5dCisgICAtIGxpbmsgd2l0aCBzb2NrZXRsaWJzIHdoZW4gbmVjZXNzYXJ5ICBbRmFiaWFuIEdyb2ZmZW5dCisgICAtIG1hbiBhbGlhc2VzIGRvbid0IGRlcGVuZCBvbiBvcmlnaW5hbCBtYW4gcGFnZSAgW0RpZWdvIEVsaW8gJ0ZsYW1lZXllcycgUGV0dGVuw7JdCisgICAtIHByb3ZpZGUgbWlzc2luZyBzdHJubGVuIGZyb20gc3RydXRpbHMgIFtGYWJpYW4gR3JvZmZlbl0KKyAgIC0gcmVsZWFzZSsrICh2Mi4xOS1yYzEpICBbS2FyZWwgWmFrXQorICAgLSByZWxlYXNlKysgKHYyLjE5LXJjMikgIFtLYXJlbCBaYWtdCisgICAtIHJlbGVhc2UrKyAodjIuMTktcmMzKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGdlbmVyYXRlZCBwby9QT1RGSUxFUy5pbiAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGhlYWRlciAgW0thcmVsIFpha10KKyAgIC0gcmVxdWlyZSBhdXRvbWFrZSAxLjEwIGFzIGd0ay1kb2MgcmVxdWlyZXMgaXQgYW55d2F5ICBbRGllZ28gRWxpbyAnRmxhbWVleWVzJyBQZXR0ZW7Dsl0KKyAgIC0gc2hlbGwgc3ludGF4IGZpeCBpbiBhdXRvZ2VuLnNoICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBXT1JEU19CSUdFTkRJQU4gdG8gZGV0ZXJtaW5lIHBsYXRmb3JtIGJ5dGUtb3JkZXIgIFtGYWJpYW4gR3JvZmZlbl0KKyAgIC0gdXNlIGdlbmVyYXRlZCBsaWJ0b29sLTIgc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIHVzZSB0aGUgc2lsZW50LXJ1bGVzIHByZWZpeCB3aGVuIGdlbmVyYXRpbmcgbWFuIHBhZ2VzLiAgW0RpZWdvIEVsaW8gJ0ZsYW1lZXllcycgUGV0dGVuw7JdCitjYWw6CisgICAtIGZvbGxvdyBIQVZFX0xBTkdJTkZPICBbS2FyZWwgWmFrXQorICAgLSB1c2UgRVhJVF8qIGFuZCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSAgW0thcmVsIFpha10KK2NmZGlzazoKKyAgIC0gY2xvc2UgdGhlIHByb2dyYW0gd2hlbiB0ZXJtaW5hbCBpc24ndCBwcmVzZW50ICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSBkYXRhIHR5cGUgbWlzbWF0Y2gsIGFuZCBvdGhlciwgY29tcGlsZXIgd2FybmluZyBmaXhlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBkb24ndCB1c2Ugc2l6ZSBvZiBkZXZpY2UgYmFzZWQgb24gY3lsaW5kZXJzICBbS2FyZWwgWmFrXQorICAgLSBmaXggLS13aXRoLXNsYW5nICBbS2FyZWwgWmFrXQorICAgLSBmaXggbisxIGFnYWluICBbS2FyZWwgWmFrXQorICAgLSBmaXggbisxIGJ1ZyBpbiBlcnJvciBtZXNzYWdlICBbS2FyZWwgWmFrXQorICAgLSBnZXRfc3RyaW5nIG5vdCBjYWxjdWxhdGluZyBjb3JyZWN0IGxpbWl0cyAgW0thcmVsIFpha10KKyAgIC0gc2VhcmNoIGZvciBuY3Vyc2Vzdy9uY3Vyc2VzLmggIFtNaWtlIEZyeXNpbmdlcl0KK2NoZm46CisgICAtIFVzZSBFWElUXyogYW5kIGVycigpICBbTWFyZWsgUG9sYWNla10KK2NocnQ6CisgICAtIEFkZCBub3JldHVybiBhdHRyaWJ1dGUgdG8gc2hvd191c2FnZSgpIGZ1bmN0aW9uICBbTWFyZWsgUG9sYWNla10KK2Noc2g6CisgICAtIGRvbid0IHN1Z2dlc3QgeXBjaHNoICBbS2FyZWwgWmFrXQorICAgLSB1c2UgRVhJVF8qIGFuZCBlcnIuaCAgW0thcmVsIFpha10KK2NvbDoKKyAgIC0gdXNlIGVyci5oIGFuZCBFWElUXyogbWFjcm9zICBbS2FyZWwgWmFrXQorICAgLSB1c2UgeGFsbG9jIGZvciBtZW1vcnkgYWxsb2NhdGlvbiAgW0RhdmlkbG9ociBCdWVzb10KK2NvbHVtbjoKKyAgIC0gRU9GIGhhbmRsaW5nIGJ1ZyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjb2RlIHJlYWRhYmlsaXR5IGltcHJvdmVtZW50cyAgW1NhbWkgS2Vyb2xhXQorICAgLSBkYXRhIHR5cGUgbWlzbWF0Y2ggY29tcGlsZXIgd2FybmluZyBmaXhlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBlcnJvciBtZXNzYWdpbmcgJiBleGl0IGNvZGVzICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBjb2x1bW4uMSB0eXBvICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBnZXRvcHRfbG9uZyBhbmQgbmV3IGhlbHAgb3V0cHV0ICBbU2FtaSBLZXJvbGFdCisgICAtIHNlZ2ZhdWx0IG9uIGVtcHR5IGlucHV0ICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgbWFudWFsIHBhZ2UgdG8gbWF0Y2ggY29sdW1uIHN3aXRjaGVzICBbU2FtaSBLZXJvbGFdCitjdHJsYWx0ZGVsOgorICAgLSB1c2UgZXJyKCkgaW5zdGVhZCBvZiBmcHJpbnRmKCkgYW5kIGV4aXQoKSAgW01hcmVrIFBvbGFjZWtdCitkZGF0ZToKKyAgIC0gZml4IHR5cG8gaW4gZGRhdGUuMSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gcmV2ZXJ0IG1hbiBwYWdlIHR5cG8gIFtLYXJlbCBaYWtdCitkZWxwYXJ0OgorICAgLSBjb2RlIGNvbnNvbGlkYXRpb24gIFtLYXJlbCBaYWtdCitkaXNrLXV0aWxzOgorICAgLSBmaXggbWFucGFnZSB0eXBvcyAgW0RhdmlkbG9ociBCdWVzb10KK2RtZXNnOgorICAgLSBmaXggbWVtb3J5IGxlYWsgaW4gZG1lc2coMSkuICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB1c2Ugc3RydG9sX29yX2VyciBpbnN0ZWFkIG9mIGF0b2kgIFtEYXZpZGxvaHIgQnVlc29dCitkb2NzOgorICAgLSBhZGQgYmxraWQgLS1saXN0LWFsbCB0byBUT0RPICBbS2FyZWwgWmFrXQorICAgLSBhZGQgQ09QWUlORy5saWIqIGZpbGVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCBhZ2V0dHkgdG8gVE9ETyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vdGUgYWJvdXQgc2ZkaXNrIHRvIFRPRE8gIFtLYXJlbCBaYWtdCisgICAtIGFkZCB2Mi4xOSBSZWxlYXNlTm90ZXMgIFtLYXJlbCBaYWtdCisgICAtIGNvcnJlY3Qgc3BlbGxpbmcgbWlzdGFrZXMgaW4gREVQUkVDQVRFRCBmaWxlICBbSm9uIEdyYW50XQorICAgLSBmaXggdHlwbyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gZml4IHR5cG9zIGluIG1hbiBwYWdlcyAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBpdCBlYXNpZXIgdG8gZmluZCBtYWlsIGxpc3QgYWRkcmVzcyAgW0FsZXhhbmRlciBTaGlzaGtpbl0KKyAgIC0gbWFyayBsaW5lKDEpIGFzIGRlcHJlY2F0ZWQgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBpcGMudGV4aSAoaW5mbyB3aXRoIElQQyBBUEkgZG9jcykgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBBVVRIT1JTIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBERVBSRUNBVEVEIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBSZWxlYXNlTm90ZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBUT0RPIGZpbGUgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHVwZGF0ZSBUT0RPIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBUT0RPICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgdjIuMTkgUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgcnBtYXRjaCgpIGZvciBzZmRpc2sgIFtLYXJlbCBaYWtdCitmYWxsb2NhdGU6CisgICAtIGZpeCBidWlsZCBmYWlsdXJlIHdpdGggb2xkIGxpbnV4IGhlYWRlcnMgIFtNaWtlIEZyeXNpbmdlcl0KKyAgIC0gZml4IHR5cG8gIFtLYXJlbCBaYWtdCitmZGlzazoKKyAgIC0gYWRkIGRlc2NyaXB0aW9uIGZvciBwYXJ0aXRpb24gdHlwZSAweDI3ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZXhGQVQgdG8gTUJSIHBhcnRpdGlvbiB0eXBlIDB4NyAgW0pvbiBHcmFudF0KKyAgIC0gZG9uJ3Qga2VlcCBpbnRlcm5hbGx5IGRldmljZSBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnMgIFtLYXJlbCBaYWtdCisgICAtIGVsaW1pbmF0ZSByZWR1bmRhbnQgY2FsbCB0byBvcGVuKCkgIFtNYXJrdXMgUmlubmVdCisgICAtIGZpeCBhbGlnbm1lbnQgY2hlY2sgZm9yIG5vbi01MTItYnl0ZSBsb2dpY2FsIHNlY3RvcnMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBmcmVlc3BhY2UgYm91bmRhcmllcyBjYWxjdWxhdGlvbiBvbiBTR0kgZGlza2xhYmVsICBbS2FyZWwgWmFrXQorICAgLSBmaXggdXNlIG9mIG5vbiBwb3J0YWJsZSB0eXBlICBbRnJhbsOnb2lzIFJldm9sXQorICAgLSBtb3JlIG1lYW5pbmdmdWwgZXJyb3IgbWVzc2FnZXMgKHVzZSBlcnIuaCkgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHF1aXQgd2l0aCBhIHNpbmdsZSBDVFJMLUQsIGNvbmZpcm0gaWYgbmVjZXNzYXJ5ICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSByZS1wcmludCBwcm9tcHQgYWZ0ZXIgbWF5YmVfZXhpdCgpICBbS2FyZWwgWmFrXQorICAgLSByZXBsYWNlIGZhdGFsKHVzYWdlKSB3aXRoIGEgc2VwYXJhdGUgdXNhZ2UoKSBmdW5jdGlvbiAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gdXBkYXRlIE1CUiBhZnRlciBJRCBjaGFuZ2UgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBjYW5vbmljYWxpemVkIG5hbWVzIGZvciAtbCAoYW5kIHNmZGlzayAtZCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSB4YWxsb2MgbGliICBbRnJhbmNlc2NvIENvc29sZXRvXQorZmluZG1udDoKKyAgIC0gYWRkIC0tc3VibW91bnRzIG9wdGlvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIC9ldGMvZnN0YWIuZCBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgTUFKIE1JTiAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1cHBvcnQgZm9yIGZzLXJvb3QgKHN1YnZvbHVtZXMgYW5kIGJpbmQgbW91bnRzKSAgW0thcmVsIFpha10KKyAgIC0gYXBwbHkgbmV3IGNoYW5nZXMgZnJvbSB0dC5jICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBzd2FwIHNvdXJjZSBhbmQgdGFyZ2V0IGlmIHRoZSBzb3VyY2UgaXMgYSB0YWcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBleGl0IGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtYW5wYWdlIHR5cG9zICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBmaXggc3VwcG9ydCBmb3IgLWEgb3B0aW9uICBbTWlsYW4gQnJvel0KKyAgIC0gZm9sbG93IEhBVkVfTEFOR0lORk8gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBuZXcgbGlibW91bnQgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbmV3IHRhYiBwYXJzaW5nIEFQSSAgW0thcmVsIFpha10KK2Zsb2NrOgorICAgLSBmaXggZmlsZSBudW1iZXIgaW4gZmxvY2suMSBtYW4gcGFnZSAgW1BhdHJpY2UgRHVtYXNdCisgICAtIHByb3Blcmx5IHJlcG9ydCBleGVjKCkgZXJyb3JzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbW9yZSB1c2VmdWwgZXhhbXBsZSBpbiBmbG9jay4xICBbSmFrb2IgVW50ZXJ3dXJ6YWNoZXJdCitmc2NrOgorICAgLSBhZGQgc3VwcG9ydCBmb3Igd2hvbGUtZGlzayBsb2NraW5nICgtbCBvcHRpb24pICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIHdob2xlLWRpc2sgY2hlY2ssIGRldGVjdCBzdGFja2VkIGRldmljZXMgIFtLYXJlbCBaYWtdCisgICAtIGluY2x1ZGUgYy5oLCBmYWxsYmFjayBmb3IgUEFUSF9NQVggIFtLYXJlbCBaYWtdCisgICAtIGluZm9ybSBhYm91dCBub25leGlzdGVudCBkZXZpY2VzIGluIHZlcmJvc2UgbW9kZSAgW0thcmVsIFpha10KKyAgIC0gcmV0dXJucyBwcm9wZXIgY29kZSBvbiBleGVjKCkgZXJyb3IgIFtLYXJlbCBaYWtdCitmc3RyaW06CisgICAtIGFkZCBuZXcgY29tbWFuZCAgW0x1a2FzIEN6ZXJuZXJdCisgICAtIGZpeCB0eXBvICBbS2FyZWwgWmFrXQoraGV4ZHVtcDoKKyAgIC0gcmVtb3ZlIG9kIGZ1bmN0aW9uYWxpdHkgaW4gZmF2b3IgdG8gR05VIGNvcmV1dGlscyBvZCAgW1NhbWkgS2Vyb2xhXQoraHdjbG9jazoKKyAgIC0gW202OGtdIHVuYnJlYWsgRlRCRlMgd2l0aCByZWNlbnQgKD49IDIuNC4xOD8pIGtlcm5lbHMgIFtUaG9yc3RlbiBHbGFzZXJdCisgICAtIGFsbG93IHNldHRpbmcgb2YgUlRDIHdoZW4gaXQgY29udGFpbnMgaW52YWxpZCBkYXRhICBbUGV0ZXIgVHlzZXJdCitpbmNsdWRlOgorICAgLSBbYy5oXSBhZGQgdW51c2VkIGF0dHJpYnV0ZSB0byBpZ25vcmVfcmVzdWx0KCkgIFtLYXJlbCBaYWtdCisgICAtIFtjLmhdIGZpeCBfX2FsbG9jX3NpemVfXyB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBbYy5oXSBhZGQgZmFsbGJhY2sgZm9yIGFsbG9jX3NpemUgYXR0cmlidXRlcyAgW0thcmVsIFpha10KKyAgIC0gW2MuaF0gbW92ZSBpZ25vcmVfcmVzdWx0KCkgdG8gZ2NjLW9ubHkgYmxvY2sgIFtLYXJlbCBaYWtdCisgICAtIFt0dF0gZW5sYXJnZSBvdXRwdXQgYnVmZmVyICBbS2FyZWwgWmFrXQorICAgLSBbeGFsbG9jLmhdIGluY2x1ZGUgc3RyaW5nLmggIFtNYXJlayBQb2xhY2VrXQorICAgLSBhZGQgZmFsbGJhY2sgZm9yIHJwbWF0Y2goKSAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gY2xlYW51cCBibGtkZXYuaCAgW0thcmVsIFpha10KKyAgIC0gZW11bGF0ZSBkaXJmZCB3aGVuIG5lY2Vzc2FyeSAgW0ZhYmlhbiBHcm9mZmVuXQorICAgLSBmaXggbGlzdC5oIGlmZGVmcyAgW0thcmVsIFpha10KKyAgIC0gW3hhbGxvY10gZ2VuZXJhbCBwdXJwb3NlIG1lbW9yeSBhbGxvY2F0aW9uIGhhbmRsaW5nIHdyYXBwZXJzICBbRGF2aWRsb2hyIEJ1ZXNvXQoraXBjOgorICAgLSByZW1vdmUgLmluZm8gZmlsZSAgW0thcmVsIFpha10KK2xhc3Q6CisgICAtIFVzZSBFWElUXyogYW5kIGVycigpICBbTWFyZWsgUG9sYWNla10KKyAgIC0gdXNlIHhhbGxvYyBsaWIgIFtEYXZpZGxvaHIgQnVlc29dCitsaWI6CisgICAtIFtjXSBhZGQgaWdub3JlX3Jlc3VsdCgpICBbS2FyZWwgWmFrXQorICAgLSBbZW52XSBjb25zb2xpZGF0ZSBzYWZlX2dldGVudigpIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBbaXNtb3VudGVkXSBkb24ndCB3YXN0IHRpbWUgd2l0aCBtdGFiIGlzIC9wcm9jL21vdW50cyB1c2VkICBbS2FyZWwgWmFrXQorICAgLSBbc3RydXRpbHNdIGdlbmVyYWwgcHVycG9zZSBzdHJpbmcgaGFuZGxpbmcgZnVuY3Rpb25zICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBbc3RydXRpbHNdIG1vdmUgc3RybW9kZSgpIGZyb20gbmFtZWkuYyB0byBzdHJ1dGlscy5jICBbS2FyZWwgWmFrXQorICAgLSBbdHRdIGFkZCBUVF9GTF9SSUdIVCwgYWRkIGNvbHVtbnMgbGlzdCBwYXJzZXIgIFtLYXJlbCBaYWtdCisgICAtIFt0dF0gZml4IGFsaWdubWVudCBvZiB0aGUgbGFzdCB0cmVlIGNoaWxkICBbS2FyZWwgWmFrXQorICAgLSBbeGFsbG9jXSBhZGQgeHN0cmR1cCgpICBbS2FyZWwgWmFrXQorICAgLSBbeGFsbG9jXSBkb24ndCB1c2UgaGFyZGNvZGVkIHJldHVybiBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZmFsbGJhY2sgZm9yIG5sX2xhbmdpbmZvKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0ZXN0IHByb2dyYW0gdG8gY2Fub25pY2FsaXplLmMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB3cmFwcGVycyBmb3IgImF0IiBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtYW5nZSgpIGFuZCB1bm1hbmdsZSgpIHRvIGhhbmRsZSBOVUxMICBbS2FyZWwgWmFrXQorICAgLSBmaXggc3ludGF4IGVycm9yIGluIGJsa2Rldi5jICBbS2FyZWwgWmFrXQorbGliL3R0OgorICAgLSBmaXggbGFuZ2luZm8gYnVpbGQgYnJlYWsgIFtEYXZpZGxvaHIgQnVlc29dCitsaWJibGtpZDoKKyAgIC0gMjU2TWlCIGlzIG1pbiBzaXplIG9mIGJ0cmZzICBbS2FyZWwgWmFrXQorICAgLSBOVEZTIHZvbHVtZSBsYWJlbCBub3QgZm91bmQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBMSU5ISUIwMDAxIHNpZ25hdHVyZSB0byBzd2FwIHByb2JlciAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJsa2Rldi5oIHRvIGJsa2lkUC5oICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYmxraWRfcHJvYmVfZ2V0X3NlY3RvcnMoKSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gYWRkIG1hZ2ljIHRvIHZmYXQgIFtKZXJvZW4gT29ydHdpam5dCisgICAtIGFkZCBuaWxmczIgZmlsZXN5c3RlbSBzdXBlcmJsb2NrIHByb2JlICBbSmlybyBTRUtJQkFdCisgICAtIGFkZCBzZWFyY2hpbmcgaW4gYXR0cmlidXRlcyBkaXIgdG8gQmVGUyAgW0plcm9lbiBPb3J0d2lqbl0KKyAgIC0gYWRkIHNpZ25hdHVyZSB0byBGQVQzMiBmc2luZm8gYmxvY2sgIFtKZXJvZW4gT29ydHdpam5dCisgICAtIGNhY2hlIGlzIGluY29ycmVjdGx5IHJldmFsaWRhdGVkICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBmb3Igc3dhcCBvciBETSBjb3cgb24gc21hbGwgZGV2aWNlcyAgW0thcmVsIFpha10KKyAgIC0gY29uZGl0aW9uYWxpc2UgcGFydHMgZnJvbSBibGtpZC90b3BvbG9neSBmb3IgTGludXggIFtGYWJpYW4gR3JvZmZlbl0KKyAgIC0gY29uc29saWRhdGUgbWFnaWMgc3RyaW5ncyBkZXRlY3Rpb24gY29kZSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgaWdub3JlIHplcm8gZm9yIFNCTUFHSUNfT0ZGU0VUICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBwcm9iZSBkaXJlY3RvcmllcyAgW0thcmVsIFpha10KKyAgIC0gZml4IE1CUiBkZXRlY3Rpb24gb24gaVBvZCBhbmQgY2xlYW51cCB2ZmF0IGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBlbmRpYW4gY29udmVyc2lvbiBidWcgaW4gTklMRlMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtZW1vcnkgbGVhayAgW0lnb3IgQmF6aGl0b3ZdCisgICAtIGZpeCB0eXBvIGZpbGVzeXN0ZW0gbmFtZSBuaWxmcyB0byBuaWxmczIgIFtKaXJvIFNFS0lCQV0KKyAgIC0gcmVtb3ZlIGRlYWQgY29kZSBzZWN0aW9uICBbVmFsZXJpZSBBdXJvcmFdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBfX1VDTElCQ19fIGNoZWNrICBbTWlrZSBGcnlzaW5nZXJdCisgICAtIHJlbW92ZSB1bnVzZWQgdmFyaWFibGUgIFtLYXJlbCBaYWtdCisgICAtIHNldCB0b2xlcmFudCBmbGFnIGZvciBIRlMgIFtBbGV4YW5kcmUgUGVpeG90byBGZXJyZWlyYV0KKyAgIC0gc3VwcG9ydCBMSUJCTEtJRF9ERUJVRz0gZW52LiAgW0thcmVsIFpha10KKyAgIC0gdXNlIFBSSWQ2NCBpbiBQVCBwYXJzZXIgIFtLYXJlbCBaYWtdCisgICAtIHdyb25nIFBUIGRldGVjdGlvbiBvbiBSQUlEMCAgW0thcmVsIFpha10KK2xpYm1vdW50OgorICAgLSBfU0NfR0VUUFdfUl9TSVpFX01BWCBwb3J0YWJpbGl0eSBpc3N1ZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIC9ldGMvZnN0YWIuZCBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgREJHKCkgdG8gb3B0c3RyLmMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBGUyBkZXRlY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBMSUJNT1VOVF97TVRBQixGU1RBQn0gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBNTlRfRlNfU1dBUCBmbGFnICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYW5kIGNvcHkgRlMgaW50ZXJuYWwgZmxhZ3MgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBkZWJ1ZyBtZXNzYWdlcyBhbmQgZml4IHR5cG9zIGluIHRhYl91cGRhdGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmaXJzdCBwYXJ0IG9mIGhpZ2gtbGV2ZWwgQVBJICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZnVuY3Rpb25zIGZvciBtb3VudC48dHlwZT4gaGVscGVycyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZ1bmN0aW9ucyBnZXQgbXRhYi91dGFiIHBhdGhzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbG93LWxldmVsIEFQSSBmb3IgdW1vdW50ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X2NvbnRleHQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtbnRfY29udGV4dF9nZXRfe2ZzdGFiLG10YWJ9KCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtbnRfY29udGV4dF9nZXRfe3NvdXJjZSx0YXJnZXQsZnN0eXBlfSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1udF9jb250ZXh0X2lzXyogZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X2NvcHlfZnMoKSBhbmQgbW50X2ZzX3NldF9yb290KCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtbnRfZnNfZ2V0X3Jvb3QoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1udF9mc19wcmVwZW5kX29wdHN0cigpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X2dldF93cml0YWJsZV9tdGFiX3BhdGgoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1udF9vcHRzdHJfZml4X3VzZXIgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtbnRfb3B0c3RyX2dldF9tb3VudGZsYWdzKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtbnRfb3B0c3RyX2dldF91c2Vyc3BhY2VfbW91bnRmbGFncygpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X29wdHN0cl9wcmVwZW5kX29wdGlvbigpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X3NwbGl0X29wdHN0cigpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X3RhYl9maW5kX3BhaXIoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1udF90YWJfcGFyc2VfbXRhYigpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X3RhYl9wYXJzZV9zdHJlYW0oKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1udF90YWJfc2V0X3BhcnNlcl9lcnJjYigpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50ZW50LmggY29tcGF0aWJsZSBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1vdW50KDIpIGFuZCAvc2Jpbi9tb3VudC48dHlwZT4gc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1vdW50KDgpIHNhbXBsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG10YWIgbWFuYWdlbWVudCB0byBjb250ZXh0IEFQSSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5ldyBkZWJ1ZyBtZXNzYWdlcywgZml4IHVtb3VudCByZXR1cm4gY29kZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5ldyBwc2V0dWRvIGZpbGVzeXN0ZW1zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbmV3IHBzZXVkbyBmaWxlc3lzdGVtcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHJvdXRpbmVzIGZvciB1aWQ9LCBnaXQ9IGFuZCBjb250ZXh0PSB0cmFuc2xhdGlvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1cHBvcnQgZm9yIG10YWIgbWFuYWdlbWVudCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHVoZWxwZXI9LCBpbXByb3ZlIG1udF9zcGxpdF9vcHRzdHIoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHVtb3VudCgyKSBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdW5pdCB0ZXN0IGZvciBtbnRfY29weV9mcygpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdW5tYW5nbGUvbWFuZ2xlKCkgZnVuY3Rpb25zIHRvIEFQSSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHV0aWxzIGZvciB3b3JrIHdpdGggdWlkL2dpZCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHV0aWxzIHRvIGdldCBGUyByb290L21vdW50cG9pbnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB7c3RhcnQsZW5kfXN3aXRoKCkgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyB0byBvdmVyd3JpdGUgbXRhYi9mc3RhYiBwYXRocyAgW0thcmVsIFpha10KKyAgIC0gYWxsb3dzIHRvIHN3YXAgc291cmNlIGFuZCB0YXJnZXQgIFtLYXJlbCBaYWtdCisgICAtIGFsd2F5cyBzdG9yZSBydy9ybyBmbGFncyB0byBtdGFiICBbS2FyZWwgWmFrXQorICAgLSBiZXR0ZXIgcGVybWlzc2lvbnMgYW5kIG9wdHN0ciBldmFsaWF0aW9uICBbS2FyZWwgWmFrXQorICAgLSBiZXR0ZXIgd29yayB3aXRoIG10YWIgb3B0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gbW50X3VwZGF0ZV8qIHRhcmdldCB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgbG9jay5jICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBtbnRfZnNfc2V0X29wdHN0cigpICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBtb3VudC5zeW0gZmlsZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgbW91bnRmbGFncyB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBBUEkgYW5kIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgQVBJLCByZW1vdmUgdHlwZWRlZiAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBNU19SRE9OTFkgdXNhZ2VhbmQgbW50X3VwZGF0ZV8qIHN5bWJvbHMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgY29udGV4dCBBUEkgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgZGVidWcgZmxhZ3MgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgZnN0YWIgcGFyc2VyLCBpbXByb3ZlIG1udF90YWIgZXJyY2IgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgaGVscGVyIGluaXRpYWxpemF0aW9uIEFQSSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBoZWxwZXJzIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgaGlnaC1sZXZlbCBtb3VudCBBUEkgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgaW50ZXJuYWwgQVBJICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGxvY2sgQVBJICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIG1hbmdsZSgpIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIG1vdW50LmggIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgbW91bnQuc3ltICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHJldHVybiBjb2RlcyAoY2FjaGUuYykgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgcmV0dXJuIGNvZGVzIChmcy5jKSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCByZXR1cm4gY29kZXMgKGl0ZXIuYykgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgcmV0dXJuIGNvZGVzIChsb2NrLmMpICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHJldHVybiBjb2RlcyAob3B0bWFwLmMpICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHJldHVybiBjb2RlcyAob3B0c3RyLmMpICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHJldHVybiBjb2RlcyAodGFiLmMpICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHJldHVybiBjb2RlcyAodGFiX3BhcnNlLmMpICBbS2FyZWwgWmFrXQorICAgLSBjb21waWxlIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBjb3B5IG1vdW50IGF0dHJzIGZyb20gdXRhYiB0byBjb250ZXh0ICBbS2FyZWwgWmFrXQorICAgLSBjb3JyZWN0bHkgdXNlICJub25lIiB2YWx1ZXMgIFtLYXJlbCBaYWtdCisgICAtIGRvIG5vdCBjaGVjayBmb3IgRUFHQUlOIGFmdGVyIGZsb2NrKCkgIFtQZXRyIFV6ZWxdCisgICAtIGRvbid0IGNvbXBpbGUgdGVzdHMgYnkgZGVmYXVsdCAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgZXhwb3J0IHNvbWUgY2FjaGUuYyBmaWxlcyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgcHJlcGFyZSB1cGRhdGUgaWYgc3lzY2FsbCBmYWlsZWQgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHJldHVybiBvbGQgZGF0YSBmcm9tIG9wdGxzIGl0ZXJhdG9yICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBzdG9yZSBmaWxlbmFtZSB0byBtbnRfdGFiICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB1c2UgTlVMTCBwb2ludGVyIGluIG1udGVudiAgW0thcmVsIFpha10KKyAgIC0gZXh0ZW5kIG1udF91cGRhdGVfKiBBUEkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBNYWtlZmlsZSBhbmQgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21tZW50IGZvciBtbnRfdW5sb2NrX2ZpbGUoKSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbnRleHQgbW91bnQgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gZml4IGRhdGF0eXBlIGZvciBtb3VudGZsYWdzICBbS2FyZWwgWmFrXQorICAgLSBmaXggZGVidWcgbWVzc2FnZSAgW0thcmVsIFpha10KKyAgIC0gZml4IG1lcmdlX29wdHN0ciAoZG8gbm90IHRydW5jYXRlIDMgdHJhaWxpbmcgY2hhcmFjdGVycykgIFtQZXRyIFV6ZWxdCisgICAtIGZpeCBtbnRfb3B0c3RyX2FwcGx5X2ZsYWdzKCkgdG8gd29yayB3aXRoIG9wdGlvbmFsIHZhcmlhYmxlcyAgW0thcmVsIFpha10KKyAgIC0gZml4IG1udF9vcHRzdHJfcmVtb3ZlX29wdGlvbl9hdCgpICBbS2FyZWwgWmFrXQorICAgLSBmaXggbW91bnQgaGVscGVycyBjYWxsICBbS2FyZWwgWmFrXQorICAgLSBmaXggbW91bnQuaCBpbmNsdWRlcyAgW0thcmVsIFpha10KKyAgIC0gZml4IG9wdHN0ciB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBmaXggdGFiX3VwZGF0ZSB0ZXN0IHByb2dyYW0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0byB3b3JrIHdpdGggYnRyZnMgc3Vidm9sdW1lIHVzZXIgbW91bnRzICBbS2FyZWwgWmFrXQorICAgLSBmaXggdXNlcj0gdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB1dGFiIGZpbGUgYW5kIGRpciBtb2RlcywgYWRkIG5ldyBkZWJ1ZyBtZXNzYWdlcyAgW0thcmVsIFpha10KKyAgIC0gaW1wbGVtZW50IG1udF9jb250ZXh0X3N1YnN0X29wdHN0cigpICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGFuIHJlbmFtZSBBUEkgZm9yIG10YWIgbWFuYWdlbWVudCAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBhc3NlcnQoKSBhbmQgREJHKCkgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgZGVidWdnaW5nLCBmaXggb3B0c3RyIHByZXBlbmQgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgZnN0YWIvbXRhYiBvcHRpb25zIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGZ1bmN0aW9uIGZvciB3b3JrIHdpdGggbXRhYiBwYXRocyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBtbnRfZ2V0X2ZzX3Jvb3QoKSBhbmQgbW50X2dldF9tb3VudHBvaW50KCkgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgcGFyc2VyIHJldHVybiBjb2RlcyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBwYXJzZXJzIHJldHVybiBjb2RlcyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBzdGF0dXMgY2hlY2ssIG1pbm9yIGNsZWFudXBzICBbS2FyZWwgWmFrXQorICAgLSBtaW5vciBjbGVhbnVwIGluIG9wdHN0ci5jICBbS2FyZWwgWmFrXQorICAgLSBtaW5vciBmaXhlcyAgW0thcmVsIFpha10KKyAgIC0gbWlub3IgZml4ZXMgaW4gY2FjaGUuYyAgW0thcmVsIFpha10KKyAgIC0gbW9yZSByb2J1c3QgZmxvY2soKSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gb3B0aW1pemUgYmxraWRfZGV2bm9fdG9fZGV2bmFtZSgpICBbS2FyZWwgWmFrXQorICAgLSBwcm9wZXJseSBjYW5vbmljYWxpemUgc291cmNlIGFuZCB0YXJnZXQgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBmcyBhbmQgdGFiIHByaW50ZiBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBtbnRfdGFiX3N0cmVycigpICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3Nhcnkgb3B0aW9ucyBjb250YWluZXIgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bnVzZWQgbW50X3N0cmNvbmNhdDMoKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHV0YWIgZnJvbSBBUEksIHVwZGF0ZSB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gcmVuYW1lIG1vdW50LmggdG8gbGlibW91bnQuaCAgW0thcmVsIFpha10KKyAgIC0gcmVuYW1lIG1vdW50LnN5bSAtPiBsaWJtb3VudC5zeW0gIFtLYXJlbCBaYWtdCisgICAtIHJld3JpdGUgREJHKCkgbWFjcm8gIFtLYXJlbCBaYWtdCisgICAtIHJld3JpdGUgbW91bnRpbmZvL2ZzdGFiIHBhcnNlcnMgdG8gdXNlIHNzY2FuZigpICBbS2FyZWwgWmFrXQorICAgLSByZXdyaXRlIG9wdHN0ciB0cmFuc2xhdGlvbiAgW0thcmVsIFpha10KKyAgIC0gcmV3cml0ZSB1cGRhdGUgIFtLYXJlbCBaYWtdCisgICAtIHNwbGl0IGNvbnRleHQuYyAgW0thcmVsIFpha10KKyAgIC0gc3BsaXQgbW50X2NvbnRleHRfZG9fbW91bnQoKSAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCAve3Byb2MsZXRjfS9maWxlc3lzdGVtcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIG1vdW50LnN5bSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIG1vdW50LntoLHN5bX0gIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBtdGFiIGFmdGVyIG1vdW50KDIpICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBhdHRyaWJ1dGUgX19mb3JtYXRfXyBmb3IgZGVidWcgcm91dGluZXMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBiZXR0ZXIgZm9ybWF0IGZvciB1dGFiLCBpbXByb3ZlIGJpbmQgbW91bnRzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbW50X2ZzIGZvciBtdGFiIEFQSSAgW0thcmVsIFpha10KKyAgIC0gdXNlIHNlcGFyYXRlIGJ1ZmZlciBmb3IgdXNlcnNwYWNlIG9wdGlvbnMsIGFkZCBtb3VudCBhdHRyaWJ1dGVzICBbS2FyZWwgWmFrXQorbGlidXVpZDoKKyAgIC0gZG8gbm90IGNoZWNrIGZvciBFQUdBSU4gYWZ0ZXIgZmxvY2soKSAgW1BldHIgVXplbF0KKyAgIC0gZml4IGxvY2tpbmcgb2YgY2xvY2sgc3RhdGUgY291bnRlciBmaWxlICBbUGV0ciBVemVsXQorbG9naW46CisgICAtIGZpeCAiaWdub3JpbmcgcmV0dXJuIHZhbHVlIiBlcnJvcnMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBFWElUXyogYW5kIGVyci5oLCBjbGVhbiB1cCByZXR1cm4gY29kZXMgIFtNYXJlayBQb2xhY2VrXQorICAgLSB1c2UgRVhJVF8qIGluIGNoZWNrdHR5KCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSB4YWxsb2MgbGliICBbRGF2aWRsb2hyIEJ1ZXNvXQorbG9vazoKKyAgIC0gZml4IGNvbmZsaWN0IGJldHdlZW4gbG9jYWxseSBkZWZpbmVkIGVycigpIGFuZCBnbGliYydzIHZlcnNpb24gIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGZpeCBtZW1vcnkgbGVhayBpbiBsb29rKDEpICBbRGF2aWRsb2hyIEJ1ZXNvXQorbG9zZXR1cDoKKyAgIC0gZG8gbm90IGRpc3Rpbmd1aXNoIGJldHdlZW4gbWFsbG9jIGFuZCByZWFsbG9jICBbVG9iaWFzIEtsYXVzZXJdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBmc3RhYi5oIGluY2x1ZGUgIFtLYXJlbCBaYWtdCisgICAtIHVzZSAvc3lzL2Rldi9ibG9jay8uLi4vbG9vcC9iYWNraW5nX2ZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzdGRvdXQgYW5kIHJldHVybiAwIGZvciAtLWhlbHAgIFtLYXJlbCBaYWtdCitsc2JsazoKKyAgIC0gYWRkIC0tbm9kZXBzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbmV3IHV0aWxpdHkgIFtNaWxhbiBCcm96XQorICAgLSByZW5hbWUgIlJBIiBjb2x1bW4gdG8gIlJFIiAgW0thcmVsIFpha10KKyAgIC0gc21hbGwgZ3JhbW1hciB0b3VjaGVzIHRvIHRoZSBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB1c2UgIlJNIiBmb3IgcmVtb3ZhYmxlICBbS2FyZWwgWmFrXQorbHNjcHU6CisgICAtIGFkZCAteCBhbmQge09uLE9mZn0tbGluZSBDUFUocykgbWFzay9saXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYnl0ZSBvcmRlciBhbmQgYm9nb01JUFMgaW5mb3JtYXRpb24gIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGFkZCBkZXNjcmlwdGlvbiBvZiAtLXN5c3Jvb3Qgb3B0aW9uIHRvIG1hbiBwYWdlLCBwbHVzIGdyYW1tYXIgdG91Y2hlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBhdm9pZCBsZW4gPSAwIGFzIGEgY29uc2VxdWVuY2Ugb2YgbWF4Y3B1cyA9IDAgIFtHZXJyaXQgUmVua2VyXQorICAgLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCA2NGJpdCBDUFUgZGV0ZWN0aW9uICBbS2FyZWwgWmFrXQorICAgLSByZWFsbHkgdXNlICdtb2RlJyBhcmd1bWVudCBpbiBwYXRoX2ZvcGVuKCkgIFtQZXRyIFV6ZWxdCisgICAtIHN1cHBvcnQgb2ZmbGluZSBDUFVzICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IHN5c2ZzIHdpdGhvdXQgY3B1L29ubGluZSBmaWxlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgbHNjcHUuMSB0byBpbmNsdWRlIG5ldyBhZGRpdGlvbnMuICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB1c2UgR1BMdjIrICBbS2FyZWwgWmFrXQorbWFuOgorICAgLSBhZGQgcnVzc2lhbiB0cmFuc2xhdGlvbiBvZiBkZGF0ZS4xICBbS2FyZWwgWmFrXQorbWVzZzoKKyAgIC0gVXNlIEVYSVRfKiBhbmQgZGlzY2FyZCBLJlIgc3R5bGUgZGVjbGFyYXRpb24uICBbTWFyZWsgUG9sYWNla10KKyAgIC0gY2hhbmdlIGVycm9yIGV4aXQgY29kZSBmcm9tIDEgdG8gPjEgIFtGcmFuY2VzY28gQ29zb2xldG9dCittaXNjLXV0aWxzOgorICAgLSB1c2UgbmV3IHhtYWxsb2MoKSB3cmFwcGVyICBbRGF2aWRsb2hyIEJ1ZXNvXQorbWtmczoKKyAgIC0gYWRkIGBta2ZzLmV4dDRgIHRvIHNlY3Rpb24gU0VFIEFMU08gb2YgYG1rZnMuOGAuICBbUGF1bCBNZW56ZWxdCisgICAtIGdlbmVyYWwgY2xlYW51cHMgIFtEYXZpZGxvaHIgQnVlc29dCitta2ZzLmNyYW1mczoKKyAgIC0gdXNlIHN5bWJvbGljIGV4aXQgY29kZXMgIFtTYW1pIEtlcm9sYV0KK21vcmU6CisgICAtIHVzZSB4YWxsb2MgZm9yIG1lbW9yeSBhbGxvY2F0aW9uICBbRGF2aWRsb2hyIEJ1ZXNvXQorbW91bnQ6CisgICAtIEFkZCBtb3JlIHBzZXVkbyBmaWxlc3lzdGVtcy4gIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIERvbid0IGNhbGwgY2Fub25pY2FsaXplXyooU1BFQykgZm9yIDlwICBbU3ZlbiBFY2tlbG1hbm5dCisgICAtIGFkZCBpbmZvIGFib3V0IHR5cGUuc3VidHlwZSB0byAvc2Jpbi9tb3VudC48dHlwZT4gQVBJIGRlc2NyaXB0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X2luaXRfZGVidWcoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vdGUgYWJvdXQgY29udGV4dD0gcmVtb3VudCB0byBtb3VudC44ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCBzdWJ0eXBlcyB0byBmc3RhYi41ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcm9vdGNvbnRleHQ9IGZvciB0bXBmcyBvbiBTRUxpbnV4IGJveGVzICBbS2FyZWwgWmFrXQorICAgLSBhdm9pZCBzdGFydGluZyBhIG1hbiBwYWdlIGxpbmUgd2l0aCBhIHNpbmdsZSBxdW90ZSAgW0NocmlzIEZyb3N0XQorICAgLSBiZSBtb3JlIGV4cGxpY2l0IGFib3V0IC0tbW92ZSBpbiBtb3VudC44ICBbS2FyZWwgWmFrXQorICAgLSBiZXR0ZXIgZGVzY3JpYmUgVVVJRHMgdXNhZ2UgaW4gbWFuIHBhZ2VzICBbS2FyZWwgWmFrXQorICAgLSBjYW5vbmljYWxpemUgcGF0aHMgaW4gSEFWRV9MSUJNT1VOVF9NT1VOVCBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBmc3RhYi41ICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBjYW5vbmljYWxpemUgInNwZWMiIHdpdGggLS1uby1jYW5vbmljYWxpemUgb3B0aW9uICBbTWlrbG9zIFN6ZXJlZGldCisgICAtIGRvbid0IHVzZSBhdXRvLWNsZWFyIGxvb3BkZXYgaWYgbXRhYiBpcyBhdmFpbGFibGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAibW91bnQgLWEiIGZvciBhdXRvLWNsZWFyIGxvb3BkZXZzIGFuZCAvcHJvYy9tb3VudHMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBhdGltZSBkZXNjcmlwdGlvbiBpbiBtb3VudC44IG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggZ2NjIHdhcm5pbmcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtb3VudC44LCBzaG9ydG5hbWU9bWl4ZWQgaXMgbm93IGRlZmF1bHQgZm9yIHZmYXQgIFtQZXRyIFV6ZWxdCisgICAtIGZpeCBwYXJzaW5nIG9mZnNldD0gZm9sbG93ZWQgYnkgbW9yZSBvcHRpb25zICBbUGV0ciBVemVsXQorICAgLSBmaXggcmVmZXJlbmNlIHRvIGNpZnMtdXRpbHMgaW4gbW91bnQuOCAgW0thcmVsIFpha10KKyAgIC0gZ2V0IG1vc3QgcmVjZW50bHkgbW91bnRlZCBmcyBmcm9tIC9ldGMvbXRhYi4gIFtWYWxlcmllIEF1cm9yYV0KKyAgIC0gaGFuZGxlIGZpbGVzeXN0ZW1zIHdpdGggc3VidHlwZSAgW01pa2xvcyBTemVyZWRpXQorICAgLSBpZ25vcmUgKmNvbnRleHQ9IG9wdGlvbnMgb24gcmVtb3VudCAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSB2ZXJib3NlIGluZm8gIFtLYXJlbCBaYWtdCisgICAtIG1hcmsgZGllKCkgYXMgbm9ucmV0dXJuICBbS2FyZWwgWmFrXQorICAgLSByZWFkIC9zeXMgZm9yIGxvb3BkZXYgYmFja2luZyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSByZWFkIG10YWIgYnkgbGlibW91bnQgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB3YXJuaW5nIGFib3V0IEZTIGRldGVjdGlvbiBmcm9tIG1vdW50LjEgIFtLYXJlbCBaYWtdCisgICAtIHJld3JpdGUgSEFWRV9MSUJNT1VOVF9NT1VOVCBjb2RlICBbS2FyZWwgWmFrXQorICAgLSByZXdyaXRlIGlzX3JlYWRvbmx5KCkgIFtLYXJlbCBaYWtdCisgICAtIHNhbml0eSBjaGVjayBtb3VudCBmbGFncyBmb3IgTVNfUFJPUEFHQVRJT04gIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBleHR7Myw0fSBvcHRpb25zIGluIG1vdW50LjggIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSByZWxhdGltZSBkZXNjcmlwdGlvbiBpbiBtb3VudC44ICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGlibW91bnQgZm9yIG10YWIvdXRhYiB1cGRhdGVzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgdXRpbWVuc2F0KEFUX0ZEQ1dEKSByYXRoZXIgdGhhbiBvcGVuKCkrZnV0aW1lbnMoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIHZlcmJvc2UgIGluZm8gZm9yIEhBVkVfTElCTU9VTlRfTU9VTlQgb25seSAgW0thcmVsIFpha10KK25hbWVpOgorICAgLSBmaXggbWVtb3J5IGxlYWsgaW4gbmFtZWkoMSkgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHBhcnNlIGFsbCBwYXRoIGFyZ3VtZW50cyB3aGVuIGFuIG9wdGFyZyBwYXRoIHdpbGwgZmFpbCAgW1NhbWkgS2Vyb2xhXQorbmV3Z3JwOgorICAgLSBVc2UgZXJyKCkgYW5kIEVYSVRfKiAgW01hcmVrIFBvbGFjZWtdCitwYXJ0eDoKKyAgIC0gYWRkIG1hYyBwYXJ0aXRpb24gdGFibGUgc3VwcG9ydCAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gYWRkIHN1biBwYXJ0aXRpb24gdGFibGUgc3VwcG9ydCAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gY2xlYW51cCBhbmQgYWRkIGNvbHVtbnMgIFtLYXJlbCBaYWtdCisgICAtIGNvbXBsZXRlIHJld3JpdGUgIFtEYXZpZGxvaHIgQnVlc28sIEthcmVsIFpha10KKyAgIC0gZml4IGF1dGhvcnMgc2VjdGlvbiBpbiBtYW4gcGFnZSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gZml4IHR5cG8gaW4gcGFydHguOCAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gaW50ZWdyYXRlIHN1cHBvcnQgZm9yIG1hYyBhbmQgc3VuIHBhcnRpdGlvbnMsIGJhc2VkIG9uIGtwYXJ0eC4gIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIG5vcm1hbGl6ZSB0aGUgcHVuY3R1YXRpb24gb2YgbWFuIHBhZ2UsIGFuZCBpbXByb3ZlIGdyYW1tYXIgaGVyZSBhbmQgdGhlcmUgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdGlueSBjaGFuZ2UgaW4gdXNhZ2UoKSAgW0thcmVsIFpha10KK3BnOgorICAgLSB1c2UgeGFsbG9jIGZvciBtZW1vcnkgYWxsb2NhdGlvbiAgW0RhdmlkbG9ociBCdWVzb10KK3BvOgorICAgLSBhZGQgZ2wucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtGcmFuIERpw6lndWV6XQorICAgLSBhZGQgemhfVFcucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtXZWktTHVuIENoYW9dCisgICAtIGZpeCBub3RlIGFib3V0IGxpY2Vuc2UgIFtLYXJlbCBaYWtdCisgICAtIG1lcmdlIGNoYW5nZXMgIFtLYXJlbCBaYWtdCisgICAtIHJlZnJlc2ggZ2wgYW5kIHpoX1RXICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgYWZ0ZXIgcmVuYW1lICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgY3MucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtQZXRyIFDDrXNhxZldCisgICAtIHVwZGF0ZSBkYS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0pvZSBIYW5zZW5dCisgICAtIHVwZGF0ZSBmci5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0RhdmlkIFByw6l2b3RdCisgICAtIHVwZGF0ZSBmci5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW01pbGFuIEJvdWNoZXQtVmFsYXRdCisgICAtIHVwZGF0ZSBodS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0dhYm9yIEtlbGVtZW5dCisgICAtIHVwZGF0ZSBqYS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW01ha290byBLYXRvXQorICAgLSB1cGRhdGUgbmwucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXBkYXRlIHBsLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbSmFrdWIgQm9ndXN6XQorICAgLSB1cGRhdGUgdmkucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtDbHl0aWUgU2lkZGFsbF0KK3BvcnRhYmlsaXR5OgorICAgLSBmaXggbW50ZW50LmggYW5kIHB0eS5oIHVzYWdlICBbRnJhbsOnb2lzIFJldm9sXQorICAgLSB1c2Ugc3RhbmRhcmQgY29uc3RhbnRzICBbRnJhbsOnb2lzIFJldm9sXQorcmVuaWNlOgorICAgLSBpbXByb3ZlIG1lc3NhZ2VzIHNwZWNpZnlpbmcgd2hhdCBJRCBpcyByZWZlcnJpbmcgdG8gIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIG1ha2Ugc29tZSBmdW5jdGlvbnMgc3RhdGljICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSByZW1vdmUgaGFyZGNvZGVkIHByb2dyYW0gbmFtZSB1c2luZyB3YXJuKCkgYW5kIHdhcm54KCkgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHJldmVyc2UgJXMgcG9zaXRpb24gaW4gZXJyb3IgbWVzc2FnZXMgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHJld3JpdGUgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIG1hbiBwYWdlIChuaWNlIHJsaW1pdCB3YXMgYWRkZWQgdG8ga2VybmVsKSAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KK3JldjoKKyAgIC0gY29kaW5nIHN0eWxlLCB2YXJpb3VzIGZpeGVzICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB1c2UgeGFsbG9jIGZvciBtZW1vcnkgYWxsb2NhdGlvbiAgW0RhdmlkbG9ociBCdWVzb10KK3J0Y3dha2U6CisgICAtIGFkZCAnc2hvdycgbW9kZSBmb3IgcnRjIGFsYXJtICBbTWFyZWsgT3RhaGFsXQorICAgLSB1c2UgZXJyLmggcm91dGluZXMgIFtLYXJlbCBaYWtdCitzY2hlZHV0aWxzOgorICAgLSBmaXggdHlwb3MgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHJlbW92ZSB1bm5lZWRlZCBoZWFkZXIgZmlsZXMgIFtEYXZpZGxvaHIgQnVlc29dCitzZmRpc2s6CisgICAtIGFkZCBvcHRpb24gdG8gdXNlIG1heGltdW0gcGFydGl0aW9uIHNpemUgIFtLYXJlbCBaYWtdCisgICAtIHNhdmUgZXJybm8gYmVmb3JlIGNhbGxpbmcgcGVycm9yICBbRm9yZXN0IEJvbmRdCitzaHV0ZG93bjoKKyAgIC0gVXNlIEVYSVRfKiAgW01hcmVrIFBvbGFjZWtdCitzaW1wbGVpbml0OgorICAgLSBVc2UgRVhJVF8qICBbTWFyZWsgUG9sYWNla10KKyAgIC0gbW92ZSBvbGQgaW5pdCBzdHVmZiB0byBzZXBhcmF0ZSBkaXJlY3RvcnkgIFtLYXJlbCBaYWtdCitzd2Fwb246CisgICAtIENhbm9uaWNhbGl6ZSBzd2FwIGRldmljZSAgW0FsZXhleSBHbGFka292XQorICAgLSBEb2N1bWVudCBidHJmcyBsaW1pdGF0aW9uIHdpdGggc3dhcGZpbGVzICBbSmVmZiBNYWhvbmV5XQorICAgLSBhZGQgImRpc2NhcmQiIHN1cHBvcnQgIFtIdWdoIERpY2tpbnNdCisgICAtIGFkZCBzdXBwb3J0IGZvciAibm9mYWlsIiBmc3RhYiBtb3VudCBvcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIGJldHRlciB0ZXh0IGZvciAiZGlzY2FyZCIsIG5vdGUgYWJvdXQgc3dhcG9uIGluIGZzdGFiLjUgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgbmVlZGxlc3NseSBnbG9iYWwgdmFyaWFibGVzIHN0YXRpYyAgW1RvYmlhcyBLbGF1c2VyXQorICAgLSB1c2UgRVhJVF9TVUNDRVNTIGNvbnN0YW50cyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gd2FybiBpZiBmaWxlIG93bmVyIGlzIG5vdCByb290ICBbS2FyZWwgWmFrXQorc3dwYW9uOgorICAgLSB1c2UgY2Fub25pY2FsaXplZCBkZXZuYW1lcyBvbiAtcyBvdXRwdXQgIFtLYXJlbCBaYWtdCitzeXMtdXRpbHM6CisgICAtIGZpeCBtYW5wYWdlIHR5cG9zICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBtYWtlIHVzZSB4YWxsb2Mgd3JhcHBlcnMgIFtEYXZpZGxvaHIgQnVlc29dCit0YWlsZjoKKyAgIC0gZml4ZWQgdGltaW5nIGlzc3VlIHRoYXQgY291bGQgY2F1c2UgZHVwbGljYXRlIGRhdGEgb3V0cHV0ICBbRGltYSBLb2dhbl0KKyAgIC0gdXNlIHhhbGxvYyBmb3IgbWVtb3J5IGFsbG9jYXRpb24gIFtEYXZpZGxvaHIgQnVlc29dCit0YXNrc2V0OgorICAgLSBwcm9wZXIgbnVtYmVycyBwYXJzaW5nICBbS2FyZWwgWmFrXQordGVzdHM6CisgICAtIGFkZCAgcmVncmVzc2lvbiB0ZXN0cyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gYWRkIGJhc2ljIGxpYm1vdW50IHRlc3RzIGZvciBtb3VudGluZyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJsa2lkIHRlc3QgZm9yIHBhcnRpdGlvbmVkIFJBSUQwICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbGlibW91bnQgbG9jayB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbGlibW91bnQgbXRhYiB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxpYm1vdW50IG10YWIgdXBkYXRlIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsaWJtb3VudCBvcHRzdHIuYyB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxpYm1vdW50IHRhYl9wYXJzZS5jIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbGlibW91bnQgdGFncyB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxpYm1vdW50IHV0YWIgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsaWJtb3VudCB1dGlscy5jIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbmlsZnMyIHRlc3QgZm9yIGxpYmJsa2lkICBbSmlybyBTRUtJQkFdCisgICAtIGFkZCBxdW90ZWQgb3B0c3RyICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdXRhYiB1cGRhdGUgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIGZvciBtdGFiICBbS2FyZWwgWmFrXQorICAgLSBmaXggYmxraWQgTUQgdGVzdCAobWlzc2luZyB0YWlsaW5nIHdoaXRlc3BhY2VzKSAgW0thcmVsIFpha10KKyAgIC0gZml4IGxpYm1vdW50IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzdHJ0b3NpemUoKSB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBpZ25vcmUgZGV2aWNlIG5hbWUgdXNlZCBpbiBzb21lIGZkaXNrIGFuZCBibGtpZCB0ZXN0cyAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gaW1wcm92ZSBsaWJtb3VudCBjb250ZXh0IG1vdW50IGFuZCB1bW91bnQgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBzdWJ0ZXN0cyBpbml0aWFsaXphdGlvbiAgW0thcmVsIFpha10KKyAgIC0gcmVmcmVzaCBsaWJtb3VudCBmc3RhYiBwYXJzZXIgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHNraXAgbm9uLWNvbXBpbGVkIGxpYm1vdW50IHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSB0cnVuY2F0ZSBCZUZTIGFuZCB0dXhvbmljZSBpbWFnZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBsc2NwdSB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGxzY3B1IHRlc3RzIG9uIHg4Nl82NCAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIG5hbWVpIHJlZ3Jlc3Npb24gdGVzdCAgW0thcmVsIFpha10KKyAgIC0gdXNlIGZpbmRtbnQoOCkgZm9yIG1vdW50IC0tbW92ZSB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZmluZG1udCg4KSBmb3IgcmVtb3VudCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSB1c2Uge3NyYyxidWlsZH1kaXIgdmFyaWFibGVzIGZvciB0ZXN0cyAgW0thcmVsIFpha10KK3VsOgorICAgLSBmaXggbWVtb3J5IGxlYWsuICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB1c2UgYXRleGl0KCkgdG8gZGVhbGxvY2F0ZSBidWZmZXIsIHByaW50IGVycm9ycyBieSBlcnIoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIHhhbGxvYyBmb3IgbWVtb3J5IGFsbG9jYXRpb24gIFtEYXZpZGxvaHIgQnVlc29dCit1bW91bnQ6CisgICAtIGFkZCBIQVZFX0xJQk1PVU5UX01PVU5UIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGNhbGwgaXNfbG9vcF9hdXRvY2xlYXIoKSBmb3IgYWxsIGxvb3BkZXZzICBbS2FyZWwgWmFrXQorICAgLSB1bW91bnQgLXIgc2VnZmF1bHQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzdHJ0b3NpemUoKSBmb3Igb2Zmc2V0PSAgW0thcmVsIFpha10KK3Vuc2hhcmU6CisgICAtIGZpeCBTSUdTRUdWIG9uIGludmFsaWQgY29tbWFuZCBsaW5lIG9wdGlvbiAgW0FsZXhleSBHbGFka292XQordXVpZGQ6CisgICAtIGNvcnJlY3RseSByZXBvcnQgbnVtYmVyIG9mIGdlbmVyYXRlZCBzdWJzZXF1ZW50IFVVSURzICBbUGV0ciBVemVsXQorICAgLSBmaXggLW4gdXNhZ2UgIFtQZXRyIFV6ZWxdCisgICAtIGZpeCB1dWlkZCAtciAtbiAyICBbUGV0ciBVemVsXQorICAgLSBpbmNyZWFzZSBjb25uZWN0aW9uIGJhY2tsb2cgc2l6ZSB0byBTT01BWENPTk4gIFtQZXRyIFV6ZWxdCisgICAtIG1lbnRpb24gLXEgaW4gdXVpZGQuOCAgW1BldHIgVXplbF0KKyAgIC0gdXNlIFVVSUREX09QX0JVTEtfKl9VVUlEIG5hbWVkIGNvbnN0YW50cyAgW1BldHIgVXplbF0KKyAgIC0gdXNlIFVVSURfU1RSX0xFTiBhbmQgVVVJRF9MRU4gIFtQZXRyIFV6ZWxdCisgICAtIHVzZSBkYWVtb24oMykgbGlicmFyeSBmdW5jdGlvbiAgW1BldHIgVXplbF0KKyAgIC0gdXNlIGRpZSgpIHdoZXJlIHBvc3NpYmxlICBbUGV0ciBVemVsXQorICAgLSB1c2Ugd3JpdGVfYWxsIGZyb20gaW5jbHVkZS93cml0ZWFsbC5oICBbUGV0ciBVemVsXQordmlwdzoKKyAgIC0gZml4IHdhcm5fdW51c2VkX3Jlc3VsdCBnY2Mgd2FybmluZyAgW0thcmVsIFpha10KKyAgIC0gdXNlIEVYSVRfKiBhbmQgZXJyKCkgIFtNYXJlayBQb2xhY2VrXQord2FsbDoKKyAgIC0gVXNlIEVYSVRfKiBhbmQgZXJyKCkgIFtNYXJlayBQb2xhY2VrXQorICAgLSBhZGQgdXNhZ2UgZnVuY3Rpb24gIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGRvY3VtZW50IC1uIG9wdGlvbiAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gZml4IGNvZGluZyBzdHlsZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHByb2duYW1lICBbS2FyZWwgWmFrXQorICAgLSB1c2UgeGFsbG9jIGxpYiAgW0RhdmlkbG9ociBCdWVzb10KK3dpcGVmczoKKyAgIC0gZmFpbCBpZiBtb3JlIGRldmljZSBhcmd1bWVudHMgc3BlY2lmaWVkICBbTWlsYW4gQnJvel0KKyAgIC0gdXNlIHdyaXRlX2FsbCBmcm9tIGluY2x1ZGUvd3JpdGVhbGwuaCAgW1BldHIgVXplbF0KKwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yMC1SZWxlYXNlTm90ZXMgYi9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjIwLVJlbGVhc2VOb3RlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMDIwYzNiCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yMC1SZWxlYXNlTm90ZXMKQEAgLTAsMCArMSwxMDYxIEBACitVdGlsLWxpbnV4IDIuMjAgUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworIFRoZSBkZGF0ZSgxKSBjb21tYW5kIGlzIG5vdCBidWlsdCBieSBkZWZhdWx0IChzZWUgLS1lbmFibGUtZGRhdGUpLgorCitSZWxlYXNlIGhpZ2hsaWdodHMKKy0tLS0tLS0tLS0tLS0tLS0tLQorCithZ2V0dHkoOCk6CisgIC0gbWluZ2V0dHkgZmVhdHVyZXMgaGF2ZSBiZWVuIG1lcmdlZCB0byBhZ2V0dHkKKworY2hydCgxKSwgdGFza3NldCgxKToKKyAgLSBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbiAiLS1hbGwtdGFza3MiIHRvIHNldCBvciByZXRyaWV2ZSB0aGUgCisgICAgc2NoZWR1bGluZyBhdHRyaWJ1dGVzIG9mIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIFBJRAorCitkbWVzZygxKToKKyAgLSBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbnM6IC0tY2xlYXIsIC0tY29uc29sZS1vbiwgLS1jb25zb2xlLW9mZiwKKyAgICAtLWN0aW1lLCAtLWRlY29kZSwgLS1mYWNpbGl0eT08bGlzdD4sIC0tbGV2ZWw9PGxpc3Q+LCAtLXNob3ctZGVsdGEsCisgICAgLS1ub3RpbWUsIC0ta2VybmVsIGFuZCAtLXVzZXJzcGFjZQorCitmZGlzayg4KToKKyAgLSBpbXByb3ZlZCBkaWFsb2dzIHRvIGJlIG1vcmUgdXNlci1mcmllbmRseQorCitmaW5kbW50KDgpLCBwYXJ0eCg4KSwgbHNibGsoOCkKKyAgLSBzdXBwb3J0IG5ldyBjb21tYW5kIGxpbmUgb3B0aW9uICItLXBhaXJzIiB0byBlbmFibGUga2V5PSJ2YWx1ZSIgCisgICAgb3V0cHV0IGZvcm1hdAorCitmaW5kbW50KDgpOgorICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9ucyAiLS1wb2xsIiBhbmQgIi0tdGltZW91dCIgdG8gbW9uaXRvcgorICAgIC9wcm9jL3NlbGYvbW91bnRpbmZvIGNoYW5nZXMKKworaW9uaWNlKDEpOgorICAtIHN1cHBvcnRzIGh1bWFuLXJlYWRhYmxlIHNjaGVkdWxpbmcgY2xhc3MgbmFtZXMsIGZvciBleGFtcGxlOgorICAgIGlvbmljZSAtYyBiZXN0LWVmZm9ydCAkUElECisKK2tpbGwoMSk6CisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi1xIDxzaWd2YWw+IiB0byB1c2Ugc2lncXVldWUoMikKKyAgLSBzdXBwb3J0cyByZWFsLXRpbWUgc2lnbmFscyBpbiBmb3JtYXRzIFJUPG4+LCBSVE1JTis8bj4gYW5kIFJUTUFYLTxuPgorCitsaWJtb3VudDoKKyAgLSB0aGUgQVBJIG9mZmljaWFsbHkgc3RhYmxlCisKK2xzYmxrKDgpOgorICAtIHN1cHBvcnRzIG5ldyBjb2x1bW5zOiAKKyAgICAgIFRZUEUgICAgICAtIGRldmljZSB0eXBlCisgICAgICBSUS1TSVpFICAgLSBxdWV1ZSByZXF1ZXN0IHNpemUKKyAgICAgIFNUQVRFICAgICAtIGRldmljZSBzdGF0ZSAoZS5nLiBydW5uaW5nLCBzdXNwZW5kZWQpCisgICAgICBEQUxJR04gICAgLSBkaXNjYXJkIGFsaWdubWVudCBvZmZzZXQKKyAgICAgIERJU0MtR1JBTiAtIGRpc2NhcmQgZ3JhbnVsYXJpdHkKKyAgICAgIERJU0MtTUFYICAtIGRpc2NhcmQgbWF4IGJ5dGVzCisgICAgICBESVNDLVpFUk8gLSBkaXNjYXJkIHplcm9lcyBkYXRhCisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi1EIiB0byBwcmludCBkZXZpY2UgZGlzY2FyZCB0b3BvbG9neQorCitsc2NwdSg4KToKKyAgLSBpbXByb3ZlZCBzdXBwb3J0IGZvciBzMzkwIGJveGVzCisKK21rZnMubWluaXg6CisgIC0gc3VwcG9ydHMgbWluaXggdmVyc2lvbiAzCisKK21vdW50cG9pbnQoMSk6CisgIC0gdGhpcyBORVcgQ09NTUFORCBpcyBsaWJtb3VudCBiYXNlZCByZS1pbXBsZW1lbnRhdGlvbiBvZiBtb3VudHBvaW50KDEpIGZyb20KKyAgICBzeXN2aW5pdCBzdWl0ZQorCitzZXRhcmNoKDgpOgorICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9ucyAiLS11bmFtZS0yLjYiIHRvIGVuYWJsZSBVTkFNRTI2CisgICAgcGVyc29uYWxpdHkgZmxhZworCitzaW1wbGVpbml0OgorICAtIHRoaXMgc2V0IG9mIGRlcHJlY2F0ZWQgdXRpbHMgaGFzIGJlZW4gUkVNT1ZFRAorCit3YWxsKDEpOgorICAtIHN1cHBvcnQgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi0tdGltZW91dCIgdG8gc3BlY2lmeSB3cml0ZSB0aW1lb3V0IHRvIAorICAgIHRlcm1pbmFscyBpbiBzZWNvbmRzLgorCitJdCdzIG5vdCBzdXBwb3J0ZWQgdG8gbGluayB3aXRoIGV4dGVybmFsIChlLmcuIGZyb20gZTJmc3Byb2dzKSBsaWJibGtpcyBhbmQKK2xpYnV1aWQgYW55IG1vcmUuCisKKworU3RhYmxlIG1haW50ZW5hbmNlIHJlbGVhc2VzIGJldHdlZW4gdjIuMTkgYW5kIHYyLjIwCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwordXRpbC1saW51eCAyLjE5LjEgWzAyLU1heS0yMDExXQorCisgKiBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xOS92Mi4xOS4xLVJlbGVhc2VOb3RlcworICAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTkvdjIuMTkuMS1DaGFuZ2VMb2cKKworCitDaGFuZ2VzIGJldHdlZW4gdjIuMTkgYW5kIHYyLjIwCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyBGb3IgbW9yZSBkZXRhaWxzIHNlZSBDaGFuZ2VMb2cgZmlsZXMgYXQ6CisgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjAvCisKK2FkZHBhcnQ6CisgICAtIG11bHRpcGxpY2F0aW9uIG9uIDUxMiBkZWxldGVkICBbQW50b24gVi4gQm95YXJzaGlub3ZdCithZ2V0dHk6CisgICAtICNlbmRpZiBjb21tZW50cyAgW1NhbWkgS2Vyb2xhXQorICAgLSBDLlVURi04IGxvY2FsZSBpbnN0ZWFkIG9mIGVuX1VTLlVURi04ICBbU2FtdWVsIFRoaWJhdWx0XQorICAgLSBGaXggSVVURjggZmxhZyAgW1dlcm5lciBGaW5rXQorICAgLSBhZGQgYW4gYXV0b2xvZ2luIGZlYXR1cmUgIFtXZXJuZXIgRmlua10KKyAgIC0gYmV0dGVyIHN1cHBvcnQgb2YgdmlydHVhbCBjb25zb2xlICBbRHIuIFdlcm5lciBGaW5rXQorICAgLSBjaGVjayB2aXJ0dWFsIGNvbnNvbGUgZm9yIFVURi04IHN1cHBvcnQgIFtXZXJuZXIgRmlua10KKyAgIC0gY2xlYW4gdXAgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgYXJndiBwYXJzaW5nLCB1dG1wIHVwZGF0ZSwgdXNlIHdyaXRlYWxsKCksIGV0Yy4gIFtXZXJuZXIgRmlua10KKyAgIC0gY29kaW5nIHN0eWxlIC0gZml4IGNvbW1lbnRzLCByZW1vdmUgdGFpbGluZyB3aGl0ZXNwYWNlICBbS2FyZWwgWmFrXQorICAgLSBjb2Rpbmcgc3R5bGUgLSBmaXggaWRlbnRhdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdXNlIHhhbGxvYy5oIHN0dWZmICBbS2FyZWwgWmFrXQorICAgLSBlcnJvciBtZXNzYWdlIGFib3V0IHJlcXVpcmVkIGFyZ3VtZW50cyAgW1NhbWkgS2Vyb2xhXQorICAgLSBnZXRvcHQgY2FzZSBzZWdtZW50IHJlb3JkZXJpbmcgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW1wcm92ZSBsb2dpbigxKSBhcmd2W10gIFtLYXJlbCBaYWtdCisgICAtIG1vcmUgY29kZSBjbGVhbnVwICBbV2VybmVyIEZpbmtdCisgICAtIG9ubHkgZW5hYmxlIEZfVVRGOCBpZiBrZXJuZWwgaGFzIGFscmVhZHkgc2V0IElVVEY4LiAgW1NhbXVlbCBUaGliYXVsdF0KKyAgIC0gcHJvcGVyIHNlc3Npb24gb24gdGhlIHRlcm1pbmFsIGxpbmUgIFtXZXJuZXIgRmlua10KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IG9wdGlvbnMgc3lub255bXMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBzcGFjZSBhbmQgIih2b2lkKSIganVuayAgW0thcmVsIFpha10KKyAgIC0gc3ltYm9saWMgc3RhbmRhcmQgZmlsZSBkZXNjcmlwdG9ycyAgW1NhbWkgS2Vyb2xhXQorICAgLSB0cnkgbmV4dCBzcGVlZCBhZnRlciBDQlJFQUsgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBhIGdlbmVyaWMgZnVuY3Rpb24gZm9yIHN0cmluZ3MgY29uY2F0ZW5hdGlvbiAgW0thcmVsIFpha10KKyAgIC0gdXNlIGxvbmcgb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHhhbGxvYy5oICBbU2FtaSBLZXJvbGFdCisgICAtIGZ1cnRoZXIgc2NydWJiaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIG1vdmUgaXNzdWUgcGF0aCB0byBwYXRobmFtZXMuaCAgW1NhbWkgS2Vyb2xhXQorICAgLSBmdXJ0aGVyIG1pbmdldHR5IGZlYXR1cmVzICBbRHIuIFdlcm5lciBGaW5rXQorYmxrZGV2OgorICAgLSBhZGQgYmxrZGV2X2lzX21pc2FsaWduZWQoKSAgW0RhdmlkbG9ociBCdWVzb10KK2Jsa2lkOgorICAgLSBhZGQgLWQgb3B0aW9uIHRvIHByaW50IG5vbi1wcmludGFibGUgY2hhcnMgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGZyZWUoKSB1bmluaXRpYWxpemVkIHZhcmlhYmxlICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBpZ25vcmUgLWkgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHJlYWQgcGFzdCBlbmQgb2YgRkFUMzIgY2x1c3RlciBjaGFpbiAgW0pvaG4gTGluZGdyZW5dCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVd1bnVzZWQtcGFyYW1ldGVyXSAgW0thcmVsIFpha10KKyAgIC0gZml4IGRvdWJsZSBmcmVlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8gIFtLYXJlbCBaYWtdCisgICAtIGluZGVudCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBsaXN0IGFsbCBrbm93biBmaWxlc3lzdGVtcy9SQUlEcyAoYWRkIC1rIG9wdGlvbikgIFtLYXJlbCBaYWtdCisgICAtIHNtYWxsIGZpeCBmb3Igc2FmZV9wcmludCgpICBbU2VyZ2V5IEd1c2Fyb3ZdCisgICAtIHVuaWZvcm1pemUgdGhlIHN5bm9wc2lzLCByZW1vdmUgInRoZSB0aGUiICBbQmVubm8gU2NodWxlbmJlcmddCitibG9ja2RldjoKKyAgIC0gYWRkIC0taGVscCBvcHRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gYnJva2VuIGNvbXBpbGVyIHdhcm5pbmcgY2lyY3VtdmVudGlvbiByZW1vdmVkICBbU2FtaSBLZXJvbGFdCisgICAtIGNvZGluZyBzdHlsZSBmaXggIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW5kZW50IHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBwcm9nbmFtZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBzZXQgb3B0aW9ucyByZWFkIG9ubHkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdHlwZSBtaXNtYXRjaCBmaXggIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGxpYmMgZXJyb3IgZmFjaWxpdGllcyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgcGF0aG5hbWVzLmggdG8gZmluZCBwYXJ0aXRpb25zICBbU2FtaSBLZXJvbGFdCitidWlsZC1zeXM6CisgICAtIEVuYWJsZSBhdXRvbWFrZSdzIC1Xbm8tcG9ydGFiaWxpdHkgb3B0aW9uLiAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgLS1lbmFibGUtZGRhdGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCByZXF1aXJlZCBmaWxlcyB0byBkaXN0ICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCB0ZXJtLXV0aWxzLyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRlcm0tdXRpbHMvLmdpdGlnbm9yZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHV1aWRfZ2VuZXJhdGVfdGltZV9zYWZlLjMgLmdpdGlnbm9yZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgcGFydHggTWFrZWZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgbGliLyB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gZGlzYWJsZSBsaWIvIGF0LmMgdGVzdHMgYnVpbGRpbmcgIFtLYXJlbCBaYWtdCisgICAtIGRvIG5vdCBpZ25vcmUgZGF0YXJvb3RkaXIgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZG9uJ3QgYnVpbGQgbHNibGsgb24gTGludXggd2l0aG91dCBvcGVuYXQoKSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3Qgc3VwcG9ydCBleHRlcm5hbCAoZTJmc3Byb2dzKSBsaWJibGtpZCAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3Qgc3VwcG9ydCBleHRlcm5hbCAoZTJmc3Byb2dzKSBsaWJ1dWlkICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB0cnkgdG8gY2hncnAgd3JpdGUgb3Igd2FsbCBpZiB0aGV5IGFyZSBub3QgYnVpbHQgIFtNYXJjLUFudG9pbmUgUGVyZW5ub3VdCisgICAtIGRvbid0IHVzZSBIQVZFX0xJQkJMS0lEX0lOVEVSTkFMIG1hY3JvICBbS2FyZWwgWmFrXQorICAgLSBlbmFibGUgbW91bnRwb2ludCwgYWRkIGRlcGVuZGVuY2Ugb24gbGlibW91dCAgW0thcmVsIFpha10KKyAgIC0gZml4ICdtYWtlIGNoZWNraW5jbHVkZXMnIHdhcm5pbmdzICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29uZmlndXJlLmFjIGZvciB1dWlkZCAgW0thcmVsIFpha10KKyAgIC0gZml4IGRpc3RjaGVjayBmb3IgdGVybS11dGlscyAgW0thcmVsIFpha10KKyAgIC0gZml4IGdpdC12ZXJzaW9uLWdlbiBmb3IgLXJjIHRhZ3MgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBndGstZG9jIGJ1aWxkICBbS2FyZWwgWmFrXQorICAgLSBmaXggZ3RrLWRvYyBkaXN0Y2xlYW4gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzcGFjZXMgdmVyc3VzIHRhYnMgY29uZmxpY3QgIFtNYXJjLUFudG9pbmUgUGVyZW5ub3VdCisgICAtIGZpeCB1bnBvcnRhYmxlIE1ha2VmaWxlLmFtIGFzc2lnbm1lbnQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW5jbHVkZSA8dXVpZC5oPiByYXRoZXIgdGhhbiA8dXVpZC91dWlkLmg+ICBbS2FyZWwgWmFrXQorICAgLSBpbnRyb2R1Y2UgQU1fUFJPR19DQ19DX08gbWFjcm8gIFtTYW1pIEtlcm9sYV0KKyAgIC0gbW92ZSBCVUlMRF9TQ0hFRFVUSUxTIHRvIHRvcC1sZXZlbCBNYWtlZmlsZSAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBhZ2V0dHkgdG8gdGVybS11dGlscyAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBtZXNnIHRvIHRlcm0tdXRpbHMvICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHJlc2V0IHRvIHRlcm0tdXRpbHMvICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHNjcmlwdCBhbmQgc2NyaXB0cmVwbGF5IHRvIHRlcm0tdXRpbHMvICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHNldHRlcm0gdG8gdGVybS11dGlscy8gIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgd2FsbCB0byB0ZXJtLXV0aWxzLyAgW0thcmVsIFpha10KKyAgIC0gbW92ZSB3cml0ZSB0byB0ZXJtLXV0aWxzIGRpcmVjdG9yeSAgW1NhbWkgS2Vyb2xhXQorICAgLSBub24tbGludXggZml4dXAgIFtTYW11ZWwgVGhpYmF1bHRdCisgICAtIHByaW50IGhlbHBmdWwgZXJyb3Igd2hlbiBwa2cubTQgaXMgbWlzc2luZyAgW1NhbWkgS2Vyb2xhXQorICAgLSBwcm92aWRlIGFsdGVybmF0aXZlcyBmb3IgZXJyLCBlcnJ4LCB3YXJuIGFuZCB3YXJueCAgW0ZhYmlhbiBHcm9mZmVuXQorICAgLSByZWxlYXNlKysgKHYyLjIwLXJjMSkgIFtLYXJlbCBaYWtdCisgICAtIHJlbGVhc2UrKyAodjIuMjAtcmMyKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGFuZCBpZ25vcmUgZ2VuZXJhdGVkIGZpbGVzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgY2hlY2stbmV3cyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGZpbGVzIGZyb20gZ2V0b3B0ICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbmFtZSAtLWVuYWJsZS1wYXJ0eCB0byAtLWRpc2FibGUtcGFydHggIFtLYXJlbCBaYWtdCisgICAtIHN0b3AgYnVpbGRpbmcgbGluZSgxKSBieSBkZWZhdWx0ICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBBQ19MQU5HX1NPVVJDRSB0byBzdXBwcmVzcyB3YXJuaW5ncyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgQVVUT01BS0VfT1BUSU9OUyA9IGdudSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgZ2l0LXZlcnNpb24tZ2VuIHRvIGRpc3RpbmN0IGdpdCBhbmQgcmVsZWFzZSB2ZXJzaW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgZ3RrZG9jIHdpdGhvdXQgdG1wbCBkaXIgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzaWxlbnQgcnVsZXMgZ290IGd0a2RvYywgZml4IGRlcGVuZGVuY2llcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHRvcC1sZXZlbCBkaXJlY3RvcnkgZm9yIGxpYmJsa2lkIHJhdGhlciB0aGFuIHNobGlicy9ibGtpZCAgW0thcmVsIFpha10KKyAgIC0gdXNlIHRvcC1sZXZlbCBkaXJlY3RvcnkgZm9yIGxpYm1vdW50IHJhdGhlciB0aGFuIHNobGlicy9tb3VudCAgW0thcmVsIFpha10KKyAgIC0gdXNlIHRvcC1sZXZlbCBkaXJlY3RvcnkgZm9yIGxpYnV1aWQgcmF0aGVyIHRoYW4gc2hsaWJzL3V1aWQgIFtLYXJlbCBaYWtdCitjYWw6CisgICAtIGFyZ3VtZW50IGNoZWNraW5nLCBsb25nIG9wdGlvbnMgYW5kIGFyZ3VtZW50IGNoZWNraW5nICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFuIHVwIGZldyBjb2Rpbmcgc3R5bGUgaXNzdWVzICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggbWFucGFnZSBmb3JtYXR0aW5nICBbUGV0ciBVemVsXQorICAgLSBpbmRlbnQgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8gKCJmaXN0dCBkYXkiKSBpbiBoZWxwIHRleHQsIHNlaXplIGNoYW5jZSB0byBpbXByb3ZlIGl0ICBbQmVubm8gU2NodWxlbmJlcmddCitjZmRpc2s6CisgICAtIGFkZCBob21lIGFuZCBlbmQga2V5cyBtb3ZlbWVudHMgaW4gcGFydGl0aW9uIGxpc3QgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIGZpeCBjb21waWxhdGlvbiB3aXRoIHNsYW5nICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV3VudXNlZC1wYXJhbWV0ZXJdICBbS2FyZWwgWmFrXQorICAgLSBmaXggZ2NjIHdhcm5pbmcgKHVudXNlZCB2YXJpYWJsZSkgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgIk5vIG1vcmUgcGFydGl0aW9uIiB3YXJuaW5nIHRvIGRyYXdfY3Vyc29yKCkgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIG1vdmUga2V5cyByZWxhdGVkIHRvIHRoZSBjdXJzb3Igb2YgdGhlIHBhcnRpdGlvbiBsaXN0IG91dHNpZGUgbWVudXNlbGVjdCgpICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSByZW1vdmUgdW51c2VkIHZlcnRpY2FsIG1lbnUgZGlyZWN0aW9uIGNvZGUgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHVzZSBrZXlwYWQoKSBpbiBtZW51IHNlbGVjdGlvbiBmdW5jdGlvbiAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KK2NoZWNrdHR5OgorICAgLSBVc2UgTkdST1VQU19NQVggaW5zdGVhZCBvZiBOR1JPVVBTICBbSm9zaWFoIFdvcmNlc3Rlcl0KKyAgIC0gZml4IHVudXNlZCBwYXJhbWV0ZXJzICBbU2FtaSBLZXJvbGFdCitjaGZuOgorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1Xc2lnbi1jb21wYXJlXSAgW0thcmVsIFpha10KK2NocnQ6CisgICAtIFtzZWxpbnV4XSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1Xc2lnbi1jb21wYXJlXSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN0cmluZ3MgdG8gdXNlIE5MUyAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGp1c3Qgc3R5bGUgb2YgbWFuIHBhZ2UsIGFscGhhYmV0aXplIG9wdGlvbiAtcCAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBhbGxvdyB0byB1c2UgLS1hbGwtdGFza3Mgd2hlbiByZXRyaWV2ZSBpbmZvICBbS2FyZWwgWmFrXQorICAgLSBjaHJ0LjEgZml4IGdyYW1tYXIgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGNsYXJpZnkgdXNlIG9mIC1hIG9wdGlvbiAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gY29kaW5nIHN0eWxlIGZpeCAgW1NhbWkgS2Vyb2xhXQorICAgLSBkYXRhIHR5cGUgY29tcGlsZXIgd2FybmluZyBmaXhlZCAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIHRocmVhZHMgYXdhcmUgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHNpbGVudGx5IGlnbm9yZSAtUiBpZiB1bnN1cHBvcnRlZCAgW0thcmVsIFpha10KK2Noc2g6CisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorICAgLSBmaXggZ2NjIGxpbmsoKSB3YXJuX3VudXNlZF9yZXN1bHQgd2FybmluZyAgW0thcmVsIFpha10KKyAgIC0gZml4IHNtYWxsIG1lbW9yeSBsZWFrICBbS2FyZWwgWmFrXQorY29sOgorICAgLSBjaGVjayB3aXRoIHN0cnRvbF9vcl9lcnIgb3B0aW9uIGFyZ3VtZW50ICBbU2FtaSBLZXJvbGFdCisgICAtIGNvZGluZyBzdHlsZSBjaGFuZ2VzICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBsb25nIG9wdGlvbnMgIFtTYW1pIEtlcm9sYV0KK2NvbGN0cjoKKyAgIC0gdXNlIGxvbmcgb3B0aW9ucyBhbmQgY2xlYW4gY29kaW5nIHN0eWxlICBbU2FtaSBLZXJvbGFdCitjb2xybToKKyAgIC0gZ290b3MsIGxvbmcgb3B0aW9ucyBhbmQgYXJndW1lbnQgY2hlY2tpbmcgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFudWFsIHVwZGF0ZSAgW1NhbWkgS2Vyb2xhXQorY29sdW1uOgorICAgLSBmaXggcHJvYmxlbXMgd2l0aCB1bmluaXRpYWxpemVkIHZhcmlhYmxlcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHhhbGxvYyBsaWIgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHZlcnNpb24gcHJpbnRpbmcgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY29kaW5nIHN0eWxlIGZpeGVzICBbU2FtaSBLZXJvbGFdCisgICAtIGZyZWUgbWVtb3J5IGJlZm9yZSBleGl0ICBbU2FtaSBLZXJvbGFdCisgICAtIGdsb2JhbCB2YXJpYWJsZXMgcmVtb3ZlZCAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIHRhYmxlIGZ1bmN0aW9uIGNsYXJpZmljYXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVwbGFjZSBlbWFsbG9jIHdpdGggeGNhbGxvYyAgW1NhbWkgS2Vyb2xhXQorICAgLSB2YWxpZGF0ZSBudW1lcmljIHVzZXIgaW5wdXRzICBbU2FtaSBLZXJvbGFdCitjcmFtZnM6CisgICAtIHJlbW92ZSBjcmFtZnNfY29tbW9uLmggIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHVzZSBzdGRpbnQuaCBpbnN0ZWFkIG9mIHV7OCwxNiwzMn0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gY29kaW5nIHN0eWxlICBbU2FtaSBLZXJvbGFdCitjcmFtZnNfY29tbW9uOgorICAgLSBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KK2N5dHVuZToKKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV3NpZ24tY29tcGFyZV0gIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bnVzZWQgdmFyaWFibGUgIFtLYXJlbCBaYWtdCitkZGF0ZToKKyAgIC0gZml4IFN0LiBUaWIncyBEYXkgaW4gb3RoZXIgbGFuZ3VhZ2VzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgbm9uLWFzY2lpIGNoYXJzIGZyb20gZGRhdGUgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBBUlJBWV9TSVpFICBbS2FyZWwgWmFrXQorZG1lc2c6CisgICAtIGFkZCAtLWNsZWFyIChTWVNMT0dfQUNUSU9OX0NMRUFSKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tY29uc29sZS1vbiBhbmQgLS1jb25zb2xlLW9mZiAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tY3RpbWUgdG8gcHJpbnQgaHVtYW4gcmVhZGFibGUgdGltZXN0YW1wcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tZGVjb2RlIHRvIHByaW50IHJlYWRhYmxlIGZhY2lsaXR5IGFuZCBsZXZlbCAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tZmFjaWxpdHkgb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1sZXZlbD08bGlzdD4gIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXNob3ctZGVsdGEgb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLXQgb3B0aW9uIHRvIHN1cHByZXNzIHRpbWVzdGFtcHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtdSBhbmQgLWsgb3B0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxvbmcgb3B0aW9ucywgLS1oZWxwIGFuZCAtLXZlcnNpb24gIFtLYXJlbCBaYWtdCisgICAtIGFsbG93IHRvIHByaW50IHRpbWUgZGVsdGEgd2l0aG91dCB0aW1lc3RhbXAgIFtLYXJlbCBaYWtdCisgICAtIGF2b2lkIG1lc3MgYXQgdGhlIGVuZCBvZiBkbWVzZyBvdXRwdXQgIFtQZXRyIFV6ZWxdCisgICAtIGNsZWFudXAgb3B0aW9ucyBhbmQgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gY29uc29saWRhdGUgbGV2ZWwgcGFyc2lpZyBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBwcmludCBub24tcHJpbnRhYmxlIGNoYXJzLCBwYXJzZSByZWNvcmRzICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1Xc2lnbi1jb21wYXJlXSAgW0thcmVsIFpha10KKyAgIC0gZml4IHNlZ2ZhdWx0ICBbTWFyYy1BbnRvaW5lIFBlcmVubm91XQorICAgLSBmaXggdHlwbyBpbiB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBtYXJrIHNvbWUgb3B0aW9ucyBtdXR1YWxseSBleGNsdXNpdmUgIFtLYXJlbCBaYWtdCisgICAtIHByaW50X2J1ZmZlcigpIHJlZmFjdG9yaW5nICBbS2FyZWwgWmFrXQorICAgLSByZWZhY3RvcmluZyAtIGNsZWFudXAgZ2V0IGJ1ZnNpemUgY29kZSAgW0thcmVsIFpha10KKyAgIC0gcmVmYWN0b3JpbmcgLSBjbGVhbnVwIG1haW4oKSBjb2RlICBbS2FyZWwgWmFrXQorICAgLSByZWZhY3RvcmluZyAtIGNsZWFudXAgcHJpbnQgYnVmZmVyIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIHJlZmFjdG9yaW5nIC0gY2xlYW51cCByZWFkIGJ1ZmZlciBjb2RlICBbS2FyZWwgWmFrXQorICAgLSByZW9yZGVyIG9wdGlvbnMsIGFkZCBjb21tZW50cyAgW0thcmVsIFpha10KKyAgIC0gdXNlIFNZU0xPR19BQ1RJT05fKiBtYWNyb3MgcmF0aGVyIHRoYW4gbWFnaWMgY29uc3RhdG50cyAgW0thcmVsIFpha10KKyAgIC0gdmFyaWFibGVzIHJlZmFjdG9yaW5nICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwcyAtLSB1c2UgZXJyKCksIHhhbGxvYygpICBbTWFyZWsgUG9sYWNla10KK2RvY3M6CisgICAtIG1lbnRpb24gbWtzd2FwIGxvbmcgb3B0aW9ucyBpbiBtYW4gcGFnZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBUT0RPIHVwZGF0ZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIDIuMjAgUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgTWF0ZWogdG8gQVVUSE9SUyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxvbmcgb3B0aW9ucyB0byBmZGZvcm1hdC44ICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBsb25nIG9wdGlvbnMgdG8gbWtmcy44ICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBsb25nIG9wdGlvbnMgdG8gbWtmcy5iZnMuOCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZ2V0dHkgbG9uZyBvcHRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIGFnZXR0eSBtYW51YWwgdXBkYXRlICBbU2FtaSBLZXJvbGFdCisgICAtIGFsc28gdW5pZm9ybWl6ZSBoZWFkZXJzIGFuZCBmb290ZXJzIG9mIHRyb2ZmLWZvcm1hdHRlZCBtYW4gcGFnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gY29sIG1hbnVhbCB1cGRhdGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY29sY3J0IG1hbnVhbCB1cGRhdGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZHJvcCB0aGUgcGx1cmFsaXphdGlvbiBpdGVtIHdpdGggbmdldHRleHQoKSBpbiBUT0RPIGZpbGUgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZmF2b3VyIHNtYWxsIHBhdGNoZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW5mb3JtIGFib3V0IGNhbCBsb25nIG9wdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW5mb3JtIGFib3V0IG1jb29raWUgbG9uZyBvcHRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIGlzb3NpemUuOCBhZGQgbG9uZyBvcHRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIGxvb2suMSBtYW51YWwgcmV3cm90ZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBtZW50aW9uIGxvbmcgb3B0aW9ucyBpbiBpb25pY2UuMSAgW1NhbWkgS2Vyb2xhXQorICAgLSBtZW50aW9uIGxvbmcgb3B0aW9ucyBpbiB1dWlkZC44IG1hbnVhbCBwYWdlICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBSRUFETUUubmFtZWkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVuYW1lLjEgdmVyYm9zZSwgbG9uZyBvcHRpb25zIGFuZCB3YXJuaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIHNjcmlwdHJlcGxheSBhZGQgbm90ZSBhYm91dCBuZXcgb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBzY3JpcHRyZXBsYXkgbWVudGlvbiBiYXNpYyBsb25nIG9wdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc2ZkaXNrIG1hbnVhbCB1cGRhdGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdGVsbCBtb3VudC8qIGlzIGluIG1haW50ZW5hbmNlIG1vZGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdHdlYWsgdGhlIGZvcm1hdHRpbmcgYW5kIHdvcmRpbmcgb2Ygc2V2ZXJhbCBkaXNrLXV0aWxzIG1hbiBwYWdlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB0d2VhayB0aGUgZm9ybWF0dGluZyBhbmQgd29yZGluZyBvZiBzb21lIHRleHQtdXRpbHMgbWFuIHBhZ2VzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHVuLWRlcHJlY2F0ZSBraWxsKDEpICBbS2FyZWwgWmFrXQorICAgLSB1bmlmb3JtaXplIHRoZSBoZWFkZXIgYW5kIGZvb3RlciBsaW5lcyBpbiBtYW4gcGFnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXBkYXRlIEFVVEhPUlMgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIERFUFJFQ0FURUQgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIFJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIFJlbGVhc2VOb3RlcyAgZml4IHR5cG8gaW4gdjIuMjAtUmVsZWFzZU5vdGVzICBbQmVybmhhcmQgVm9lbGtlcl0KKyAgIC0gdXBkYXRlIFRPRE8gIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBUT0RPICBbU2FtaSBLZXJvbGFdCisgICAtIHVwZGF0ZSBUT0RPIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBUT0RPIGZpbGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXBkYXRlIGV4YW1wbGUgZmlsZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSB2Mi4yMCBSZWxlYXNlTm90ZXMgIFtLYXJlbCBaYWtdCisgICAtIHV1aWRnZW4uMSBtZW50aW9uIGxvbmcgb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorZWx2dHVuZSwgaXNvc2l6ZToKKyAgIC0gcHJpbnQgdXNhZ2UgdGV4dCBpbiBjYXNlIG9mIGludmFsaWQgb3B0aW9uICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSByZW1vdmUgcmVkdW5kYW50IG1lc3NhZ2UgaW4gY2FzZSBvZiBpbnZhbGlkIG9wdGlvbiAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KK2ZhbGxvY2F0ZToKKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorZmRmb3JtYXQ6CisgICAtIGNsZWFudXAgZXJyb3IgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIGNvZGluZyBzdHlsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbmNsdWRlLXdoYXQteW91LXVzZSBoZWFkZXIgY2hlY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW50ZWdlciBjb21wYXJpc29ucyAmIHVudXNlZCBwYXJhbWV0ZXIgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGxpYmMgZXJyb3IgcHJpbnRpbmcgZmFjaWxpdGllcyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgbG9uZyBvcHRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSB4YWxsb2MuaCAgW1NhbWkgS2Vyb2xhXQorZmRpc2s6CisgICAtIGFjY2VwdCBkaWdpdHMtc3BhY2Utc3VmZml4IGZvcm1hdCAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gYWRkIGEgZGVmYXVsdCByZXNwb25zZSBmb3IgdGhlIHBhcnRpdGlvbiB0eXBlIGRpYWxvZyAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gY2hhbmdlIHByaW1hcnkgb3IgZXh0ZW5kZWQgcGFydGl0aW9uIHR5cGUgZGlhbG9nICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSBjaGVjayBpbmRleCBiZWZvcmUgYWNjZXNzIHRvIGFycmF5IFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZml4ICJpbnZhbGlkIHBhcnRpdGlvbiBudW1iZXIgZm9yIHR5cGUiIGVycm9yIG1lc3NhZ2UgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVd1bnVzZWQtcGFyYW1ldGVyIC1Xc2lnbi1jb21wYXJlXSAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBlcnJvciBtZXNzYWdlIGZvciBtaXNzaW5nIGV4dGVuZGVkIHBhcnRpdGlvbiAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gbW9yZSByb2J1c3Qgd2hvbGUtZGlzayBkZXRlY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIHByaW50IGxvZ2ljYWwgcGFydGl0aW9uIG51bWJlciB3aGlsZSBhZGRpbmcgaXQgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHF1aXQgZnJvbSBwYXJ0aXRpb24gdHlwZSBkaWFsb2cgYWZ0ZXIgaW52YWxpZCByZXNwb25zZSAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gdXNlIGEgc2luZ2xlIHZhcmlhYmxlIGZvciB0aGUgY3VycmVudCBkaXNrbGFiZWwgIFtGcmFuY2VzY28gQ29zb2xldG9dCitmZGlzaywgZGlzcGxheSwgaGV4ZHVtcC5oOgorICAgLSBVc2Ugc3RhbmRhcmQgQyB0eXBlcyBpbnN0ZWFkIG9mIHVfaW50LCB1X2NoYXIsIHVfbG9uZywgZXRjLiAgW0pvc2lhaCBXb3JjZXN0ZXJdCisgICAtIGNvcnJlY3QgdGhlIGdyYW1tYXIgb2YgYW4gZXJyb3IgbWVzc2FnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorZmluZG1udDoKKyAgIC0gKG1hbiBwYWdlKSBzaG9ydCBvcHRpb24gZm9yIC0tdGltZW91dCBpcyBub3QgLXQgYnV0IC13ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGFkZCAtLXBhaXJzIHRvIG91dHB1dCBpbiBrZXk9InZhbHVlIiBmb3JtYXQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXBvbGwgYW5kIC0tdGltZW91dCB0byB0aGUgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXBvbGwgb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS10aW1lb3V0IG9wdGlvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNvbHVtbnMgZGVzY3JpcHRpb24gdG8gdGhlIC0taGVscCBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIG1udF90YWJfbmV4dF9mcygpIHJldHVybiBjb2RlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZmlsdGVyIGZpbGVzeXN0ZW1zIGFuZCBhY3Rpb25zIGZvciAtLXBvbGwgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVd1bnVzZWQtcGFyYW1ldGVyXSAgW0thcmVsIFpha10KKyAgIC0gZml4IGxlYWsgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgc3BlbGxpbmcsIHdvcmRpbmcgYW5kIG9yZGVyIG9mIGhlbHAgdGV4dCAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBtaW5vciBjb2Rpbmcgc3R5bGUgY2hhbmdlcyAgW0thcmVsIFpha10KKyAgIC0gcHJpbnQgT0xELSogY29sdW1ucyBvbmx5IHdoZW4gbmVjZXNzYXJ5ICBbS2FyZWwgWmFrXQorICAgLSBzbGljZSB1cCB0aGUgaGVscCB0ZXh0IGludG8gbWFuYWdlYWJsZSBjaHVua3MgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK2Zsb2NrOgorICAgLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBleGFtcGxlIGluIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorZnNjazoKKyAgIC0gZml4IC1DIHBhcnNpbmcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjbGFuZyBjb21waWxlciB3YXJuaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIGluIG1hbiBwYWdlIHNheSB0aGF0ICJvcHRpb25zIHRha2UgYXJndW1lbnRzIiwgbm90IHZpY2UgdmVyc2EgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gaW4gdXNhZ2UoKSB1bm1hcmsgdHlwZSBhcyBvcHRpb25hbCBmb3IgdGhlIC10IG9wdGlvbiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbmRlbnQgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIDx2YXI+IGluIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzYW1lIHdvcmQgY2F0ZWdvcnkgaW4gbWVzc2FnZSwgYW5kIGFkZCB0cmFuc2xhdG9ycyBjb21tZW50ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHVzZSB4bWFsbG9jLCB3YXJuICYgZXJyIGFuZCBuZXcgdXNhZ2UgIFtTYW1pIEtlcm9sYV0KK2ZzY2ssIGNoZWNrdHR5LCBmbG9jazoKKyAgIC0gVXNlIG1vcmUgcG9ydGFibGUgaW5jbHVkZXMuICBbSm9zaWFoIFdvcmNlc3Rlcl0KK2ZzY2suY3JhbWZzOgorICAgLSBhZGQgbWlzc2VkIHN0cmluZ3MgdG8gdHJhbnNsYXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gY29kaW5nIHN0eWxlICBbU2FtaSBLZXJvbGFdCisgICAtIHJldGlyZSBkaWUgZnVuY3Rpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHhhbGxvYy5oICBbU2FtaSBLZXJvbGFdCitmc2NrLm1pbml4OgorICAgLSBmaXggImFycmF5IHN1YnNjcmlwdCBpcyBhYm92ZSBhcnJheSBib3VuZHMiICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1Xc2lnbi1jb21wYXJlXSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBjb21tb24gZnVuY3Rpb25hbGl0bHkgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHVzZSBsaWIvaXNtb3VudGVkLmMgIFtLYXJlbCBaYWtdCitmc2ZyZWV6ZToKKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorZnN0cmltOgorICAgLSBjYXN0IGZyb20gX191NjQgdG8gc3RhbmRhcmQgQyB0eXBlcyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBjb3JyZWN0IG1pc3Rha2VuIGdyYW1tYXIgaW4gb25lIG1lc3NhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK2ZzdHJpbSwgc2V0YXJjaDoKKyAgIC0gcmVwbGFjZSBlcnJvcigpIHdpdGggZXJyKCkgIFtGcmFuY2VzY28gQ29zb2xldG9dCitnZXRvcHQ6CisgICAtIGFkZCBzdGF0aWMgcXVhbGlmaWVycyAgW09saXZpZXIgTWVuZ3XDqV0KKyAgIC0gZG8gbm90IGJ1bmRsZSBoZWxwIHRleHQgbGluZXMgaW50byBhIHNpbmdsZSB1bndpZWxkeSBjaHVuayAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggJy0tdW5xb3RlJyB0eXBvIGluIHVzYWdlIHRleHQgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIGZpeCBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGdjYyB3YXJuaW5nICBbS2FyZWwgWmFrXQorICAgLSBpbmRlbnQgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSB1c2VyIGdldG9wdF9sb25nIHBhcnNpbmcgdG8gdXNlIGZ1bmN0aW9uIHBvaW50ZXIgIFtTYW1pIEtlcm9sYV0KKyAgIC0gb3B0aW9ucyBzdHJ1Y3QsIHVzYWdlIGFuZCB2ZXJzaW9uIG91dHB1dHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGZyZWUoKSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgPHZhcj4gaW4gdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIHhhbGxvYy5oICBbU2FtaSBLZXJvbGFdCitoZXhkdW1wOgorICAgLSBkb24ndCBpbmNsdWRlIGVyci5oIGRpcmVjdGx5ICBbS2FyZWwgWmFrXQorICAgLSBmaXggImJlZ2lubmluIiB0eXBvIGluIHVzYWdlIG1lc3NhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IHNlZ2ZhdWx0IGR1ZSB0byB1bmluaXRpYWxpemVkIG1lbW9yeSAgW1BldHIgVXplbF0KKyAgIC0gbmV3IHVzYWdlKCksIHhhbGxvYyBhbmQgZXJyLmggc3R1ZmYgIFtTYW1pIEtlcm9sYV0KK2h3Y2xvY2s6CisgICAtIERvbid0IHVzZSBhc20vaW8uaCBpZiBzeXMvaW8uaCBjYW4ndCBiZSBmb3VuZCAgW0pvc2lhaCBXb3JjZXN0ZXJdCisgICAtIGFkZCB2YXJpYWJsZSBpbml0aWFsaXphdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBidWlsZCBvbiBub24tTGludXggIFtTYW11ZWwgVGhpYmF1bHRdCisgICAtIGNvZGluZyBzdHlsZSBjbGVhbiB1cCAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGdjYyB3YXJuaW5nICh1bmluaXRpYWxpemVkIHZhcmlhYmxlKSAgW0thcmVsIFpha10KKyAgIC0gaW4gbWFuIHBhZ2UgbW92ZSAtLWRhdGUgYW5kIC0tZXBvY2ggZnJvbSBGdW5jdGlvbnMgdG8gT3B0aW9ucyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbmNsdWRlLXdoYXQteW91LXVzZSBoZWFkZXIgY2hlY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW5kZW50IHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgUlRDIGRlZmF1bHQgdG8gVVRDIHRpbWUgIFtEYW5pZWwgRHJha2VdCisgICAtIG1vdmUgbG9uZyBvcHRpb25zIGF3YXkgZnJvbSBnbG9iYWwgc2NvcGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbW92ZSBwYXRoIGRlZmluaXRpb25zIHRvIHBhdGhuYW1lcy5oICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBjbG9jay1wcGMuYyAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgZ290byBzdGF0ZW1lbnQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIG1pc2xlYWRpbmcgaW5mb3JtYXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMgIFtLYXJlbCBaYWtdCisgICAtIHRpbnkgY2hhbmdlIGluIGNvbW1lbnQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSA8dmFyPiBpbiB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGliYyBlcnJvciBwcmludGluZyBmdW5jdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdmFsaWRhdGUgbnVtZXJpYyBvcHRpb24gYXJndW1lbnRzICBbU2FtaSBLZXJvbGFdCisgICAtIHdoZW4gY3V0dGluZyB1cCBoZWxwIHRleHRzIGFueXdheSwgZG8gaXQgaW50byBzbWFsbCBjaHVua3MgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK2luY2x1ZGU6CisgICAtIFthdC5oXSAgaW5jbHVkZSBjLmggZm9yIFBBVEhfTUFYICBbS2FyZWwgWmFrXQorICAgLSBbYml0b3BzLmhdIG1ha2UgcmV0dXJuIHZhbHVlcyBjb25zaXN0ZW50ICBbS2FyZWwgWmFrXQorICAgLSBbYy5oXSAgYWRkIGZhbGxiYWNrIGZvciBvbGQgbGlicyB3aXRob3V0IE9fQ0xPRVhFQyAgW0thcmVsIFpha10KKyAgIC0gW2MuaF0gIHJlbW92ZSBzdHJpbmdzLmggaW5jbHVkZSBkdWJsaWNhdGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gW2MuaF0gIHR5cGVvZiB0byBfX3R5cGVvZl9fIGZpeCAgW1NhbWkgS2Vyb2xhXQorICAgLSBbYy5oXSBJbmNsdWRlIHN0ZGxpYi5oIHVuY29uZGl0aW9uYWx5ICBbbWF4aW1pbGlhbiBhdHRlbXNdCisgICAtIFtjLmhdIGFkZCBkZWZpbml0aW9uIHdyYXBwZXJzIGZvciBvbGQgbGliYyB2ZXJzaW9ucyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gW2MuaF0gbW92ZSB1cCBkZWNsYXJhdGlvbiBvZiBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSBiZWZvcmUgdXNhZ2UgIFttYXhpbWlsaWFuIGF0dGVtc10KKyAgIC0gW25scy5oXSBkZWZpbmUgYSBtYWNybyBmb3IgaGFuZGxpbmcgcGx1cmFscyB3aXRoIG5nZXR0ZXh0KCkgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gW3N0cnV0aWxzLmNdIGFkZCBsaXN0IHBhcnNlcnMgIFtLYXJlbCBaYWtdCisgICAtIFt0dC5jXSBhbHdheXMgdHJ1bmNhdGUgaWYgVFRfRkxfVFJVTkMgIFtLYXJlbCBaYWtdCisgICAtIFt3cml0ZWFsbF0gYWRkIGZ3cml0ZV9hbGwoKSAgW0thcmVsIFpha10KKyAgIC0gW3hhbGxvYy5oXSAgbWVudGlvbiBzdHJkdXAgaW4gdGhlIGZpbGUgZGVzY3JpcHRpb24gIFtQZXRyIFV6ZWxdCisgICAtIG1pbml4LmggIHVzZSBkYXRhIHR5cGVzIGZyb20gc3RkaW50LmggIFtTYW1pIEtlcm9sYV0KKyAgIC0gbW92ZSBkaXNrLXV0aWxzL21rZnMuaCAtPiBpbmNsdWRlL2V4aXRjb2Rlcy5oICBbU2FtaSBLZXJvbGFdCisgICAtIG1vdmUgZnNjayByZXR1cm4gdmFsdWVzIHRvIGV4aXRjb2Rlcy5oICBbU2FtaSBLZXJvbGFdCisgICAtIG1vdmUgbWluaXguaCB0byBpbmNsdWRlIGRpcmVjdG9yeSAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUga2VybmVsIGhlYWRlcnMgZnJvbSBtaW5peC5oICBbU2FtaSBLZXJvbGFdCitpb25pY2U6CisgICAtIElPUFJJT19QUklPXyogbWFjcm9zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbG9uZyBvcHRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIGFkanVzdCBzeW5vcHNpcyBhbmQgd29yZGluZyBhbmQgZm9ybWF0dGluZyBvbiB0aGUgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gYWxsb3cgdG8gdXNlIG5hbWVzIGZvciAtYyA8Y2xhc3M+ICBbS2FyZWwgWmFrXQorICAgLSBjb2Rpbmcgc3R5bGUgZml4ZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IC1WIG91dHB1dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggLXAgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGNvbW1hbmQgbGluZSBpbnRlcnByZXRhdGlvbiAgW0thcmVsIFpha10KKyAgIC0gbWFrZSAtdCBtb3JlIHRvbGVyYW50ICBbS2FyZWwgWmFrXQorICAgLSBzbGlnaHRseSBpbXByb3ZlIGdyYW1tYXIsIHNwYWNpbmcgYW5kIGNvbnNpc3RlbmN5IG9mIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCitpb3NpemU6CisgICAtIGZpeCBnY2Mgd2FybmluZyAgW0thcmVsIFpha10KK2lwY21rOgorICAgLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCitpcGNzOgorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1Xc2lnbi1jb21wYXJlXSAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8gIFtLYXJlbCBaYWtdCisgICAtIHJlYWxseSBzaG93IGFsbCByZXNvdXJjZXMgd2hlbiAtYSBhbmQgLWkgYXJlIGNvbWJpbmVkICBbSmVucyBLcmlzdGlhbiBTw7hnYWFyZF0KKyAgIC0gdXNlIHVuc2lnbmVkIHR5cGUgZm9yIHVpZC9naWQgIFtLYXJlbCBaYWtdCitpc29zaXplOgorICAgLSBjaGVjayB1c2VyIGlucHV0IHRvIGJlIG51bWVyaWMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGNvZGluZyBzdHlsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbXByb3ZlIHN0eWxlLCBncmFtbWFyIGFuZCBzcGFjaW5nIG9mIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGluY2x1ZGUtd2hhdC15b3UtdXNlIGhlYWRlciBjaGVjayAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgZ2xvYmFsIHZhcmlhYmxlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBzaW1wbGlmeSBzb21lIGVycm9yIG1lc3NhZ2VzICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSB1c2UgbG9uZyBvcHRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KK2tpbGw6CisgICAtIGFkZCAtcSBzaWd2YWwgdG8gdXNlIHNpZ3F1ZXVlKDIpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgcmVhbC10aW1lIHNpZ25hbHMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorICAgLSB0cmFuc2xhdGUgIi1sIDxudW0+IiB0byBSVDxuPiAgW0thcmVsIFpha10KK2xhc3Q6CisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorbGRhdHRhY2g6CisgICAtIGNsZWFudXAgdXNhZ2UoKSAgW0thcmVsIFpha10KK2xpYjoKKyAgIC0gW2F0LmNdIGFkZCByZWFkbGlua19hdCgpLCBmaXggc2VtYW50aWMgZm9yIGFic29sdXRlIHBhdGhzICBbS2FyZWwgWmFrXQorICAgLSBbYXQuY10gZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV3VudXNlZC1wYXJhbWV0ZXJdICBbS2FyZWwgWmFrXQorICAgLSBbYmxrZGV2LmNdIGFkZCBibGtkZXZfZ2V0X3BoeXNlY3Rvcl9zaXplKCkgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIFtibGtkZXYuY10gbW9yZSByb2J1c3QgYmxrZGV2X2lzX21pc2FsaWduZWQoKSAgW0thcmVsIFpha10KKyAgIC0gW2Jsa2Rldi5jXSByZW1vdmUga2VybmVsIHZlcnNpb24gY2hlY2sgZnJvbSBibGtkZXZfZ2V0X3NlY3Rvcl9zaXplKCkgIFtLYXJlbCBaYWtdCisgICAtIFtjcHVzZXQuY10gZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV3NpZ24tY29tcGFyZV0gIFtLYXJlbCBaYWtdCisgICAtIFtmc3Byb2JlLmNdIGZpeCBibGtpZF9ldmFsdWF0ZV9zcGVjKCkgY2FsbCAgW0thcmVsIFpha10KKyAgIC0gW2ZzcHJvYmUuY10gcmVtb3ZlIG9ic29sZXRlIDxibGtpZC9ibGtpZC5oPiAgW0thcmVsIFpha10KKyAgIC0gW2ZzcHJvYmUuY10gdXNlIGludGVybmFsIGxpYmJsa2lkIG9ubHkgIFtLYXJlbCBaYWtdCisgICAtIFtsaW51eF92ZXJzaW9uLmNdIGFjY29tbW9kYXRlIHR3by1jb21wb25lbnQgbGludXggdmVyc2lvbiAoZS5nLiAzLjApICBbS2FyZWwgWmFrXQorICAgLSBbbGludXhfdmVyc2lvbi5jXSBzaW1wbGlmeSB2ZXJzaW9uIHBhcnNpbmcgIFtLYXJlbCBaYWtdCisgICAtIFtsb29wZGV2LmNdIGFkZCBtb2R1bGUgZm9yIHdvcmsgbG9vcCBkZXZpY2VzICBbS2FyZWwgWmFrXQorICAgLSBbbG9vcGRldi5jXSBjbGVhbnVwIGZsYWdzIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBbbG9vcGRldi5jXSBjb3JyZWN0IHFzb3J0IGNvbXBhcmUgZnVuY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIFtsb29wZGV2LmNdIGNvcnJlY3QgdHJpdmlhbCB0eXBvICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBbbWFuZ2xlLmNdIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorICAgLSBbcHJvY3V0aWxzLmNdICBhZGQgbWlzc2luZyBmaWxlcy4gU29ycnkuICBbS2FyZWwgWmFrXQorICAgLSBbcHJvY3V0aWxzLmNdICBnZW5lcmFsIHB1cnBvc2UgcHJvY2ZzIHBhcnNpbmcgZnVuY3Rpb25zICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBbcHJvY3V0aWxzLmNdIGltcHJvdmUgcm9idXN0bmVzcyAgW0thcmVsIFpha10KKyAgIC0gW3N0cnV0aWxzLmNdIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorICAgLSBbc3RydXRpbHMuY10gbW9yZSByb2J1c3Qgc3RydG9sIGNoZWNrcyAgW0thcmVsIFpha10KKyAgIC0gW3N0cnV0aWxzXSBhdm9pZCBpbnRlZ2VyIG92ZXJmbG93IG9uIGxhcmdlIHZhbHVlcyAgW0RhdmUgUmVpc25lcl0KKyAgIC0gW3N5c2ZzLmNdIGFkZCBzeXNmc19yZWFkbGluayBhbmQgbmFtZS9wYXRoIGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gW3N5c2ZzLmNdIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorICAgLSBbc3lzZnMuY10gZml4IGRvdWJsZSBmcmVlICBbS2FyZWwgWmFrXQorICAgLSBbc3lzZnMuY10gbWFrZSBzeXNmc19yZWFkXyogZnVuY3Rpb24gbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIFt0dC5jXSBGaXggbWJzX3dpZHRoIG1hY3JvIGZvciBzeXN0ZW1zIHdpdGhvdXQgV0lERUNIQVIgIFtKb3NpYWggV29yY2VzdGVyXQorICAgLSBbdHQuY10gY2xlYW4gdXAgdXNlZCB0eXBlcyAgW0thcmVsIFpha10KKyAgIC0gW3R0LmNdIGRlcmVmZXJlbmNpbmcgZGF0YSBiZWZvcmUgYSBudWxsIGNoZWNrIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gW3R0LmNdIHN1cHBvcnQgZml4ZWQgd2lkdGggYW5kIG11bHRpcGxlIHR0X3ByaW50X3RhYmxlKCkgY2FsbHMgIFtLYXJlbCBaYWtdCisgICAtIFt0dC5jXSBzdXBwb3J0IGtleT0idmFsdWUiIG91dHB1dCBmb3JtYXQgIFtLYXJlbCBaYWtdCisgICAtIFt0dC5jXSB1c2UgbWJzX3RydW5jYXRlKCkgZnJvbSBtYnNhbGlnbi5jICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZ2VuZXJpYyBzeXNmcyB1dGlscyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN0cnRvdWxfb3JfZXJyKCkgZnVuY3Rpb24gIFtTYW1pIEtlcm9sYV0KK2xpYmJsa2lkOgorICAgLSBbcGFydGl0aW9uc10gZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV3VudXNlZC1wYXJhbWV0ZXIgLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorICAgLSBbc3VwZXJibG9ja3NdIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVd1bnVzZWQtcGFyYW1ldGVyIC1Xc2lnbi1jb21wYXJlXSAgW0thcmVsIFpha10KKyAgIC0gW3RvcG9sb2d5XSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1XdW51c2VkLXBhcmFtZXRlciAtV3NpZ24tY29tcGFyZV0gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBJRF9QQVJUX0VOVFJZX3tPRkZTRVQsU0laRSxESVNLfSAgW0thcmVsIFpha10KKyAgIC0gYWRkIFBBUlRfRU5UUllfKiB0byBkb2NzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYmxraWRfZXZhbHVhdGVfc3BlYygpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZGVidWcgbWVzc2FnZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGRvY3MgZm9yIG5ldyBQQVJUX0VOVFJZXyogdmFsdWVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc29tZSBkZWJ1ZyBtZXNzYWdlcyAgW0thcmVsIFpha10KKyAgIC0gYmVmcyB2YWxpZGF0ZSBkaV9icl9zaXplICE9MCBhbmQgYnJfcGVyX2RpX2JyICE9IDAgIFtUaW1vIFdhcm5zXQorICAgLSBjbGVhbnVwIGZsYWdzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHByb2JlciBpbml0aWFsaXphdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgaWdub3JlIHN3YXAgVVVJRCBpZiBvbmx5IGZpcnN0IGJ5dGUgaXMgemVybyAgW1JpY2hhcmQgVy5NLiBKb25lc10KKyAgIC0gZml4IEVGSSBHUFQgdXVpZCBieXRlIG9yZGVyICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1XdW51c2VkLXBhcmFtZXRlciAtV3NpZ24tY29tcGFyZV0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBnY2Mgd2FybmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvIGluICpfdG9fY3B1KCkgdXNhZ2UgaW4gcmFpZCBkZXRlY3Rpb24gW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmb3VuZCB3aG9sZS1kaXNrIGZvciBwYXJ0aXRpb25zIG1hcHBlZCBieSBrcGFydHggIFtLYXJlbCBaYWtdCisgICAtIGlnbm9yZSBoZnNwbHVzIHN1cGVyYmxvY2tzIHdpdGggYmxvY2tzaXplIDwgNTEyICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGJsa2lkX19zY2FuX2RpciAgW0thcmVsIFpha10KKyAgIC0gbWFrZSB3aG9sZSBkaXNrIHByb2JpbmcgbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIG1pbm9yIGNoYW5nZSBpbiBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBNSU5JWF9NQVhQQVJUSVRJT05TIHRvIG1pbml4LmggIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHRlc3QgZm9yIG5vbi16ZXJvIGhlYWQgY291bnQgaW4gRkFUIHN1cGVyYmxvY2sgcHJvYmUuICBbTmljayBIb2xsb3dheV0KKyAgIC0gdHJ5IHRvIGRldGVjdCBpZiBQVCBpcyBuZXdlciB0aGFuIExWTSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIHVzZSA2NGJpdCBvZmZzZXQgaW4gc2VhcmNoX2ZhdF9sYWJlbCB0byBhdm9pZCB0cnVuY2F0aW9uICBbSmluZHJpY2ggTWFrb3ZpY2thXQorICAgLSB1c2UgTUlOSVhfQkxPQ0tfU0laRSBmcm9tIG1pbml4LmggIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGJsa2lkX3Byb2JlX2dldF9idWZmZXIoKSBtb3JlIGNhcmVmdWxseSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGNhY2hlZCBidWZmZXJzIGZvciBuZXN0ZWQgUFQgcHJvYmluZyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHBhcnRubyBmb3IgcGFydGl0aW9ucyBtYXBwZWQgYnkgRE0gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzdHVmZiBmcm9tIHN5c2ZzLmggYW5kIGF0LmggIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzdXBlcmJsb2NrIHN0cnVjdHVyZSBmcm9tIG1pbml4LmggIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHN5c2ZzX2luaXQoKSBtb3JlIGNhcmVmdWxseSAgW0thcmVsIFpha10KKyAgIC0gdmFsaWRhdGUgaGZzIGJsb2Nrc2l6ZSAhPSAwICBbVGltbyBXYXJuc10KKyAgIC0gdmZhdCBiaWcgZW5kaWFuIGZpeCAgW0ppbmRyaWNoIE1ha292aWNrYV0KK2xpYm1vdW50OgorICAgLSBhZGQgTU9VTlRfMi4yMCB2ZXJzaW9uIHRvIHRoZSBBUEkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmYWxsYmFja3MgZm9yIG9sZCBzeXN0ZW1zIHdpdGhvdXQgdW1vdW50MigpIHN5c2NhbGwgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBnZW5lcmljIGZ1bmN0aW9uIHRvIHJlYWQgdGFibGUgZm9yIGNvbnRleHQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtbnRfcmVzZXRfdGFibGUoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1udF90YWJkaWZmXyogZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X3RhYmxlX2lzX21vdW50ZWQoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1vdW50IHN1cHBvcnQgZm9yIGxvb3BkZXZzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW91bnRwb2ludCgxKSBpbXBsZW1lbnRhdGlvbiB0byBzYW1wbGVzLyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHBoZWxwZXI9IHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciBtb3VudCAtYSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1cHBvcnQgZm9yIHgtKiBtb3VudCBjb21tZW50cyAgW0thcmVsIFpha10KKyAgIC0gYWxsb3cgdG8gY29udmVydCAvZGV2L2xvb3BOIHRvIGJhY2tpbmcgZmlsZW5hbWUgIFtLYXJlbCBaYWtdCisgICAtIGFsbG93IHRvIHNldCBwYXJzZXIgY2FsbGJhY2sgdG8gY29udGV4dCAgW0thcmVsIFpha10KKyAgIC0gYXZvaWQgcmVkdW5kYW50IGRlY2xhcmF0aW9uIG9mIG1udF9jb250ZXh0X2RvX3Vtb3VudCAgW0phbiBFbmdlbGhhcmR0XQorICAgLSBiZXR0ZXIgInVzZXIiIGV2YWx1YXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGJsb2NrIHNpZ25hbHMgd2hlbiB1cGRhdGUgdXRhYiAgW0thcmVsIFpha10KKyAgIC0gYmxvY2sgc2lnbmFscyB3aGVuIHdyaXRpbmcgdG8gbXRhYiAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgY2FjaGUuYyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgZG9jcyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCAqX2RvX1t1XW1vdW50KCkgcmV0dXJuIGNvZGVzIGFuZCBkb2NzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGNvZGUgZm9yICJub25lIiBzb3VyY2UgYW5kIGZzdHlwZSwgZml4IG1lbSBsZWFrICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgcmV0dXJuIGNvZGVzIGluIG1vdW50IHNhbXBsZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB1bW91bnQgY29kZSAgW0thcmVsIFpha10KKyAgIC0gY3JlYXRlIGEgZGVmYXVsdCBsb2NrIGZvciBtdGFiIHVwZGF0ZSAgW0thcmVsIFpha10KKyAgIC0gY3V0IHVwIG1vdW50J3MgaGVscCB0ZXh0IGludG8gbWFuYWdlYWJsZSBjaHVua3MgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZG9uJ3QgZXhwb3J0IGZ1bmN0aW9ucyBmb3IgdmZzL2ZzL3VzZXJzcGFjZSBtb3VudCBvcHRpb25zICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1XdW51c2VkLXBhcmFtZXRlciAtV3NpZ24tY29tcGFyZV0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBkZWJ1ZyBtZXNzYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggZnN0eXBlIGNhY2hpbmcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBsZWFrIGluIHNhbXBsZSBwcm9ncmFtICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtb3J5IGxlYWsgaW4gY2FjaGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtdGFiIHVwZGF0ZSBmb3IgIm5vbmUiIHNvdXJjZSAgW0thcmVsIFpha10KKyAgIC0gZml4IHBhcnNpbmcgb2YgbW91bnRpbmZvIGZyb20gMi42LjM5ICBbS2FyZWwgWmFrXQorICAgLSBmaXggc29tZSB0eXBvcyBhbmQgY29weSZwYXN0ZSBtaXN0YWtlcyBpbiBjb21tZW50cyAgW1BldHIgVXplbF0KKyAgIC0gZml4IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB1bmRlZmluZWQgc291cmNlcyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gZml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgaW4gc2FtcGxlICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGFwcGx5X2ZzdGFiIGRlYnVnZ2luZyAgW0thcmVsIFpha10KKyAgIC0ga2VlcCBjb2RlIG1vcmUgcmVhZGFibGUgZm9yIGFuYWx5emVycyBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIG1lcmdlIG10YWIgYW5kIHV0YWIgbG9ja2luZyBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBtaW5vciBjaGFuZ2VzIGluIHNhbXBsZSBwcm9ncmFtICBbS2FyZWwgWmFrXQorICAgLSBtaW5vciBmaXggdG8gbW50X3RhYmRpZmZfKiAgW0thcmVsIFpha10KKyAgIC0gbWlub3IgZml4ZXMgIFtLYXJlbCBaYWtdCisgICAtIG1vcmUgcm9idXN0IG10YWIgYW5kIHV0YWIgdXBkYXRlIChDVkUtMjAxMS0xNjc2LCBDVkUtMjAxMS0xNjc3KSAgW0thcmVsIFpha10KKyAgIC0gcGx1ZyBtZW1vcnkgbGVhayBpbiBzYW1wbGUgcHJvZ3JhbSAgW1BldHIgVXplbF0KKyAgIC0gcmVtb3ZlICdzZWNsYWJlbCcgb24gcmVtb3VudCwgaW1wcm92ZSBmb3IgMi42LjM5ICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgaW5jbHVkZXMsIG1hc2sgQVBJIGFzIHN0YWJsZSAgW0thcmVsIFpha10KKyAgIC0gcmVuYW1lIGluIGNhY2hlLmMgIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSBtb3VudCBvcHRpb24gInF1aWV0IiB0byAic2lsZW50IiAgW0thcmVsIFpha10KKyAgIC0gcmVwbGFjZSBta29zdG1wcygpIHdpdGggbW9yZSBwb3J0YWJsZSBta3N0ZW1wKCkgIFtLYXJlbCBaYWtdCisgICAtIHNtYWxsIGxvY2sgY29kZSBjbGVhbnVwICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IC9ydW4vbW91bnQgcmF0aGVyIHRoYW4gL2Rldi8ubW91bnQgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgTlVMTCBzb3VyY2UgcGF0aCBmb3IgbW50X3RhYmxlX2ZpbmRfKiBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBsaXN0IG9mIHBzZXVkby1maWxlc3lzdGVtcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGNoZGlyKCkgYW5kIE5PRk9MTE9XIHVtb3VudCBmbGFnIGZvciB1bW91bnQgb3BlcmF0aW9uICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGlibW50X2xvY2sgZm9yIHV0YWIgZmxvY2sgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBtbnRfdGFibGVfZ2V0X2ZzX3Jvb3QoKSBpbiB1dGFiIGNvZGUgIFtLYXJlbCBaYWtdCitsaWJ1dWlkOgorICAgLSBfX3V1aWRfZ2VuZXJhdGVfdGltZSgpICByZXBvcnQgaWYgY2xvY2tfc2VxIGlzIHNhZmUgIFtQZXRyIFV6ZWxdCisgICAtIGRvIG5vdCB1c2UgaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IgIFtQZXRyIFV6ZWxdCisgICAtIGZpeCB0ZXN0IGluIGdldF9jbG9jaygpICBbUGV0ciBVemVsXQorICAgLSBnZXRfY2xvY2soKSAgcmVwb3J0IGlmIHRoZSBjbG9ja19zZXEgaXMgc2FmZSAgW1BldHIgVXplbF0KKyAgIC0gaW50cm9kdWNlIHV1aWRfZ2VuZXJhdGVfdGltZV9zYWZlKCkgIFtQZXRyIFV6ZWxdCisgICAtIG1hbnBhZ2Ugc3BlbGxpbmcgZml4ZXMgIFtQZXRyIFV6ZWxdCisgICAtIG1vdmUgX191dWlkIGZ1bmN0aW9uIHRvIFVVSUREX1BSSVZBVEUgaW4gdXVpZC5zeW0gIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSB1dWlkX19nZW5lcmF0ZV8qIHRvIF9fdXVpZF9nZW5lcmF0ZV8qICBbUGV0ciBVemVsXQorICAgLSB1cGRhdGUgbWFucGFnZSwgbWVudGlvbiB1dWlkX2dlbmVyYXRlX3RpbWVfc2FmZSAgW1BldHIgVXplbF0KK2xvZ2dlcjoKKyAgIC0gZml4IHZhcmlhYmxlIHR5cGUgY29tcGlsZXIgd2FybmluZyAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbXByb3ZlIGRlc2NyaXB0aW9ucyBvbiBtYW4gcGFnZSwgc29ydCB0aGUgb3B0aW9ucywgYWRkIC1oIGFuZCAtViAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbXByb3ZlLCBzb3J0IGFuZCBzbGljZSB1cCB1c2FnZSgpIGhlbHAgdGV4dCAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbmRlbnQgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gbWVudGlvbiBsb25nIG9wdGlvbiBpbiBsb2dnZXIgbWFuIHBhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc3VwcG9ydCBmb3IgbG9nZ2luZyB0byBVRFAgc29ja2V0IC8gcmVtb3RlIHN5c2xvZyBzZXJ2ZXIgIFtXVUVCQkVMUywgSm9zZWYgXChFeHRlcm5cKV0KKyAgIC0gc3VwcG9ydCBsb25nIG9wdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGxpYmMgZXJyb3IgcHJpbnRpbmcgZmFjaWxpdGllcyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2Ugc2ltcGxlIGFwb3N0cm9waGUgaW5zdGVhZCBvZiBtdWx0aWJ5dGUgY2hhciBpbiBsb2dnZXIuMSAgW1BldHIgVXplbF0KK2xvZ2luOgorICAgLSBjbGVhbnVwIHVudXNlZCB2YXJpYWJsZXMgIFtLYXJlbCBaYWtdCisgICAtIGRvZXMgbm90IGlnbm9yZSBzZXRnaWQoKSByZXR1cm4gY29kZSBmb3Igbm9uLXJvb3RzICBbS2FyZWwgWmFrXQorICAgLSBmaXggY2hlY2t0dHkgdGVzdCB0byBjb21waWxlIHdpdGggb2xkIGdsaWJjICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1XdW51c2VkLXBhcmFtZXRlciAtV3NpZ24tY29tcGFyZV0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvcyBpbiBtYW4gcGFnZSAgW0thcmVsIFpha10KK2xvZ2luLXV0aWxzOgorICAgLSBpbmNsdWRlIGZpeCAgW1NhbWkgS2Vyb2xhXQorbG9vazoKKyAgIC0gYWRkIGxvbmcgb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGp1c3QgdGhlIGZvcm1hdHRpbmcgYW5kIHNvbWUgd29yZGluZyBvZiB0aGUgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWFucGFnZSBmb3JtYXR0aW5nICBbUGV0ciBVemVsXQorbG9zZXR1cDoKKyAgIC0gYWxsb3cgdG8gdXNlIC0tdmVyYm9zZSB3aXRoIC0tYWxsICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGNvcnJlY3QgcXNvcnQgY29tcGFyZSBmdW5jdGlvbiAgW0FuZHJlYXMgU2Nod2FiXQorICAgLSBzcGVsbGluZyBmaXhlcyAgW1BldHIgVXplbF0KK2xzYmxrOgorICAgLSBhZGQgLS1wYWlycyB0byBvdXRwdXQgaW4ga2V5PSJ2YWx1ZSIgZm9ybWF0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgVFlQRSBjb2x1bW4gdG8gbHNibGsgb3V0cHV0ICBbTWlsYW4gQnJvel0KKyAgIC0gYWRkIG5vdGUgdG8gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcXVldWUgcmVxdWVzdCBzaXplIGF0dHJpYnV0ZSAgW01pbGFuIEJyb3pdCisgICAtIGFkZCBzdGF0ZSBhdHRyaWJ1dGUgIFtNaWxhbiBCcm96XQorICAgLSBhZGQgc3VwcG9ydCBmb3IgZGlzY2FyZCB0b3BvbG9neSAoLUQgb3B0aW9uKSAgW01hcnRpbiBLLiBQZXRlcnNlbl0KKyAgIC0gYml0d2lzZSBvciBUVF9GTF9BU0NJSSB3aXRoIHR0X2ZsYWdzIGluc3RlYWQgb2Ygc2V0dGluZyAgW0RhdmUgUmVpc25lcl0KKyAgIC0gY29ycmVjdCBtaXN0YWtlbiB3b3JkICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorICAgLSBmaXggcmVhZGxpbmsoKSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gZml4IHN0cnRvdWwoKSB1c2FnZSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGlnbm9yZSBkZXZpY2UgaWYgZGlzYXBwZWFyIHdoaWxlIHByb2Nlc3NpbmcgIFtNaWxhbiBCcm96XQorICAgLSBpbXByb3ZlIGRpc2NhcmQgc3VwcG9ydCAgW01hcnRpbiBLLiBQZXRlcnNlbl0KKyAgIC0gdXNlIGdlbmVyaWMgc3lzZnMgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc3NpemVfdCBmb3IgcmVhZGxpbmsoKSByZXR1cm4gY29kZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIHN5c2ZzX3JlYWRfdTY0KCkgcmF0aGVyIHRoYW4gc3lzZnNfc3RyZHVwKCkgKyBhdG9sKCkgIFtLYXJlbCBaYWtdCitsc2NwdToKKyAgIC0gYWRkIHN1cHBvcnQgZm9yIGJvb2tzICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIGNsZWFudXAgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gZGV0ZWN0IFZNd2FyZSBoeXBlcnZpc29yICBbU3RlcGhlbiBIZW1taW5nZXJdCisgICAtIGRldGVjdCBzdW40e3Usdn0gaW4gL3Byb2MvY3B1aW5mbyBmb3Igc3BhcmM2NCAgW0thcmVsIFpha10KKyAgIC0gZXh0ZW5kIC0tcGFyc2UgZnVuY3Rpb25hbGl0eSAgW0thcmVsIFpha10KKyAgIC0gZml4IGJvZ29taXBzIGRldGVjdGlvbiBmb3IgczM5MCAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1Xc2lnbi1jb21wYXJlXSAgW0thcmVsIFpha10KKyAgIC0gZml4IG9wLW1vZGUgZm9yIC97c3lzLHByb2N9IGR1bXBzICBbS2FyZWwgWmFrXQorICAgLSBmaXggdGhyZWFkcy1wZXItY29yZSBjYWxjdWxhdGlvbiAgW0thcmVsIFpha10KKyAgIC0gdXNlIHhhbGxvYyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gdXNlIHhzdHJkdXAgZnJvbSB4YWxsb2MuaCAgW1BldHIgVXplbF0KK21jb29raWU6CisgICAtIGNoYW5nZSBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugd2FybngsIGxvbmcgb3B0aW9ucyBhbmQgaGVscCBzY3JlZW4gIFtTYW1pIEtlcm9sYV0KK21kNToKKyAgIC0gdXNlIHN5bWJvbGljYWwgZGlnZXN0IGxlbmd0aCAgW1NhbWkgS2Vyb2xhXQorbWVzZzoKKyAgIC0gYWRkIFxuIHRvIHVzYWdlKCkgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbG9uZyBvcHRpb25zIHRvIHRoZSBtYW4gcGFnZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIG1hbiBwYWdlIGNsZWFuIHdxdXAgIFtLYXJlbCBaYWtdCisgICAtIG5ldyAtLXZlcmJvc2Ugb3B0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBsb25nIG9wdGlvbnMsIGFsc28gLS1oZWxwIGFuZCAtLXZlcnNpb24gYWRkZWQgIFtTYW1pIEtlcm9sYV0KK21pbml4OgorICAgLSBhZGQgTUlOSVhfIHByZWZpeCB0byBzb21lIGdsb2JhbCBtYWNyb3MgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjb21tb24gZnVuY3Rpb25hbGl0eSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gYWRkIHZlcnNpb24gMyBsYXlvdXQgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGNsZWFudXAgZ2xvYmFsIHZhcmlhYmxlcyBhbmQgbWFjcm9zICBbS2FyZWwgWmFrXQorICAgLSBmaXggd2FybmluZyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gbW92ZSBnbG9iYWxzIGFuZCBpbmxpbmUgZnVuY3Rpb25zIHRvIG1pbml4X3Byb2dyYW1zLmggIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIGZzIHN0YXRlICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgaW5pdGlhbGl6YXRpb25zICBbS2FyZWwgWmFrXQorbWlzYzoKKyAgIC0gaHVyZCBidWlsZCBmaXhlcyAgW1NhbXVlbCBUaGliYXVsdF0KKyAgIC0gdXNlIHVuc2lnbmVkIGludCBmb3IgYml0LWZpbGVkcyAgW0thcmVsIFpha10KK21pc2MtdXRpbHM6CisgICAtIHJlbW92ZSBtaXNsZWFkaW5nIFJFQURNRSBmaWxlcyAgW1NhbWkgS2Vyb2xhXQorbWtmczoKKyAgIC0gYWRkIGxvbmcgb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjb2Rpbmcgc3R5bGUgZml4ZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHNtYWxsIGZvcm1hdHRpbmcgaXNzdWVzIGluIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGluY2x1ZGUtd2hhdC15b3UtdXNlIGhlYWRlciBjaGVjayAgW1NhbWkgS2Vyb2xhXQorbWtmcy5iZnM6CisgICAtIGFkZCBsb25nIG9wdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW51IHAgLS12ZXJzaW9uIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gY29kaW5nIHN0eWxlIGZpeCAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbmNsdWRlLXdoYXQteW91LXVzZSBoZWFkZXIgY2hlY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGVycigpIGluc3RlYWQgb2YgZXJyeCgpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGliYyBlcnJvciBmYWNpbGl0aWVzICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSB4c3RyZHVwIGZyb20geGFsbG9jLmggIFtTYW1pIEtlcm9sYV0KKyAgIC0gdmFsaWRhdGUgbnVtZXJpYyB1c2VyIGlucHV0cyAgW1NhbWkgS2Vyb2xhXQorbWtmcy5jcmFtZnM6CisgICAtIGNsZWFyZXIgZXJyb3IgbWVzc2FnZSwgImNhbm5vdCBjbG9zZSIgaW5zdGVhZCBvZiAiY2xvc2luZyIgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gY29kaW5nIHN0eWxlICBbU2FtaSBLZXJvbGFdCisgICAtIGNvbnZlcnQgc3BhY2VzIHRvIHRhYnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZXJyb3IgcHJpbnRpbmcgZml4ZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZmV3IHN5bWJvbGljIGV4aXQgY29kZXMgd2hlcmUgbWlzc2luZyAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbmNsdWRlLXdoYXQteW91LXVzZSBoZWFkZXIgY2hlY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSB4YWxsb2MuaCAgW1NhbWkgS2Vyb2xhXQorICAgLSB2YWxpZGF0ZSBudW1lcmljIHVzZXIgaW5wdXRzICBbU2FtaSBLZXJvbGFdCitta2ZzLm1pbml4OgorICAgLSBhZGQgZnMgdmVyc2lvbiBvcHRpb25zICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBhZGQgbWluaXggdjMgc3VwcG9ydCAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gY2hlY2sgZm9yIG1pc2FsaWdubWVudCAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gZG9jdW1lbnQgLTMgb3B0aW9uICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1Xc2lnbi1jb21wYXJlXSAgW0thcmVsIFpha10KKyAgIC0gZml4IHdyaXRlX2FsbCgpIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBnZW5lcmFsIGNsZWFudXBzICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSByZW1vdmUgZGllKCkgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHN0YW5kYXJkaXplIHN1cGVyYmxvY2sgYXR0cmlidXRlIHNldHRpbmdzICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB1c2UgY29tbW9uIGZ1bmN0aW9uYWxpdHkgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHVzZSBpbm9kZSB3cmFwcGVycyAgW0RhdmlkbG9ociBCdWVzb10KK21rc3dhcDoKKyAgIC0gVXNlIGMuaCAgW21heGltaWxpYW4gYXR0ZW1zXQorICAgLSBhZGQgYWxpZ25tZW50IGNoZWNrICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBjb2Rpbmcgc3R5bGUgdW5pZmljYXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0byBjb21waWxlciB3YXJuaW5ncyAgW1NhbWkgS2Vyb2xhXQorICAgLSBzdXBwb3J0IGxvbmcgb3B0aW9ucyBhbmQgY2hlY2sgdXNlciBpbnB1dHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIEVYSVRfIHZhbHVlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgbGliYyBlcnJvciBtZXNzYWdpbmcgZmFjaWxpdGllcyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgeGFsbG9jICBbU2FtaSBLZXJvbGFdCittb3JlOgorICAgLSBuZXcgdXNhZ2Ugb3V0cHV0LCBhbmQgc29tZSB0cml2aWFsIGZpeGVzICBbU2FtaSBLZXJvbGFdCittb3VudDoKKyAgIC0gLWEgc2VnZmF1bHRzIHdoZW4gNHRoIGZpZWxkIGlzIG9taXR0ZWQgKG1vdW50IG9wdGlvbnMpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCBibGFuayBsaW5lcyB0byBmc3RhYi41ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcGhlbHBlcj0gIFtLYXJlbCBaYWtdCisgICAtIGFkZCB1ZnN0eXBlPXVmczIgdG8gbW91bnQuOCAgW0thcmVsIFpha10KKyAgIC0gY2Fub25pY2FsaXplIGZzdGFiIG1udF9kaXIgIFtLYXJlbCBaYWtdCisgICAtIGZpcnN0IGxvb2sgZm9yIG1vdW50cG9pbnQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdzaWduLWNvbXBhcmUgLVd1bnVzZWQtcGFyYW1ldGVyXSAgW0thcmVsIFpha10KKyAgIC0gZml4IGRvdWJsZSBmcmVlIGluIG1vdW50LmMgd2l0aCBTRUxpbnV4IGVuYWJsZWQgIFtLaXJpbGwgRWxhZ2luXQorICAgLSBmaXggcmVmZXJlbmNlIHRvIHNoYXJlZHN1YnRyZWUgZG9jdW1lbnRhdGlvbiBpbiBtb3VudC44ICBbTWlrZSBIb21tZXldCisgICAtIGZpeCB0eXBvIGluIG1vdW50LjggIFtQZXRyIFV6ZWxdCisgICAtIGZpeCB0eXBvcyBpbiBtb3VudC44ICBbTmljb2xhcyBGcmFuY29pc10KKyAgIC0gbWFrZSB0aGUgZXJyb3IgbWVzc2FnZSBjbGVhciAgW1BldHIgVXplbF0KKyAgIC0gbW91bnQuOCByZW1vdmUgcmVwcmVjYXRlZCBiaC9ub2JoIG9wdGlvbnMgZnJvbSB0aGUgbWFudWFsIHBhZ2UgIFtMdWthcyBDemVybmVyXQorICAgLSByZW1vdmUgJ3NlY2xhYmVsJyBtb3VudCBvcHRpb24gb24gcmVtb3VudCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGFjY2lkZW50YWwgZXh0cmEgd29yZCBpbiBleHQ0IGRvY3VtZW50YXRpb24gaW4gbW91bnQuOCAgW1BldHIgVXplbF0KKyAgIC0gcmVtb3ZlIG5vdGUgYWJvdXQgb2Jzb2xldGUgdm9sdW1lX2lkIGxpYnJhcnkgZnJvbSBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gcmVuYW1lICJxdWlldCIgdG8gInNpbGVudCIgKE1TX1NJTEVOVCkgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBtdGFiIG9uICItZiIgYW5kIGNvbXBpbGVkIHdpdGggbGlibW91bnQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBmZmx1c2goKSBhbmQgdGVtcG9yYXJ5IGZpbGUgZm9yIG10YWIgdXBkYXRlcyAoQ1ZFLTIwMTEtMTA4OSkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsaWJtb3VudCB0byBkZXRlY3QgYWxyZWFkeSBtb3VudGVkIGJpbmQgbW91bnRzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbG9jayBmcm9tIG1udF91cGRhdGVfdGFibGUoKSAgW0thcmVsIFpha10KK21vdW50cG9pbnQ6CisgICAtIGFkZCBuZXcgY29tbWFuZCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorbmFtZWk6CisgICAtIGFkZCAtLXZlcnNpb24gb3B0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFudXAgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gZml4IHRvIGFyZ3VtZW50IGhhbmRsaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSB1bnVzZWQgdmFyaWFibGUgIFtLYXJlbCBaYWtdCisgICAtIHVzZSB4YWxsb2MuaCAgW1NhbWkgS2Vyb2xhXQorcGFydHg6CisgICAtIGFkZCAtLXBhaXJzIHRvIG91dHB1dCBpbiBrZXk9InZhbHVlIiBmb3JtYXQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmYWxsYmFjayBmb3Igb3BlbmF0KCkgdG8gYmUgdXNhYmxlIG9uIG9sZCBzeXN0ZW1zICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGRvIG5vdCBwcmludCBudWxsICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBnZXQgcGFydGl0aW9uIG51bWJlciB3aXRoIHN5c2ZzIGxpYiAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gaW1wcm92ZSBjbGFyaXR5IG9mIHNvbWUgbWVzc2FnZXMsIGdldHRleHRpemUgdHdvIG1pc3NlZCBvbmVzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHJlbW92ZSB1bnVzZWQgaGVhZGVycyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gc3dpdGNoIG9uIGxvY2FsaXphdGlvbiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB0cml2aWFsIGNvbW1lbnQgZml4ICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB1c2UgbG93ZXJjYXNlIGluIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzeXNmc19kZWluaXQgIFtEYXZpZGxvaHIgQnVlc29dCitwYXJ0eCwgbHNibGs6CisgICAtIGZpeCBnZXR0ZXh0IGNhbGxzICBbS2FyZWwgWmFrXQorcGc6CisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVd1bnVzZWQtcmVzdWx0XSAgW0thcmVsIFpha10KKyAgIC0gZml4IHdyaXRlX2FsbCgpIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBub3JtYWxpemUgZm9ybWF0dGluZyBvZiB0aGUgbWFuIHBhZ2UsIGFuZCB0d2VhayBzb21lIG9mIGl0cyB3b3JkaW5nICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHJldHVybiB2YWx1ZSB3YXJuaW5nIGZpeCAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2Ugc2l6ZV90IGZvciB3Y3N0b21icygpIHJldHVybiBjb2RlICBbU2FtaSBLZXJvbGFdCitwbzoKKyAgIC0gYWxzbyBleHRyYWN0IHBsdXJhbCBtZXNzYWdlcyBmcm9tIHRoZSBDIGZpbGVzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGNoYW5nZSBNU0dJRF9CVUdTX0FERFJFU1MgIFtLYXJlbCBaYWtdCisgICAtIGRvIG5vdCBzZWFyY2ggL3NhbXBsZXMvIHN1YmRpcmVjdG9yaWVzIGZvciB0cmFuc2xhdGFibGUgc3RyaW5ncyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBtZXJnZSBjaGFuZ2VzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgY3MucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtQZXRyIFDDrXNhxZldCisgICAtIHVwZGF0ZSBkYS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0pvZSBIYW5zZW5dCisgICAtIHVwZGF0ZSBkZS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1BoaWxpcHAgVGhvbWFzXQorICAgLSB1cGRhdGUgZnIucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtEYXZpZCBQcsOpdm90XQorICAgLSB1cGRhdGUgamEucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtUYWtlc2hpIEhhbWFzYWtpXQorICAgLSB1cGRhdGUgbmwucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXBkYXRlIHBsLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbSmFrdWIgQm9ndXN6XQorcHJvY3V0aWxzOgorICAgLSBpbmNsdWRlIG1pc3NpbmcgaGVhZGVyICBbRGF2aWRsb2hyIEJ1ZXNvXQorcmF3OgorICAgLSByZW1vdmUgY29uc3RhbnRzIGZyb20gbWVzc2FnZSBzdHJpbmdzOyB1bmRvIHNvbWUgYWJicmV2cyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorcmVhZHByb2ZpbGU6CisgICAtIGRvbid0IHN0b3AgcGFyc2luZyBhdCBfX2luaXRfZW5kICBbUG8tWXUgQ2h1YW5nXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1Xc2lnbi1jb21wYXJlXSAgW0thcmVsIFpha10KK3JlbmFtZToKKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSB2ZXJib3NlIG9wdGlvbiAmIG1haW50ZW5hbmNlIGZpeGVzICBbU2FtaSBLZXJvbGFdCityZW5pY2U6CisgICAtIGNsZWFudXAgdXNhZ2UoKSAgW0thcmVsIFpha10KK3JldjoKKyAgIC0gbWFyayBzaWdubyB1bnVzZWQgaW4gc2lnX2hhbmRsZXIgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWVtb3J5IGxlYWsgZml4ICBbU2FtaSBLZXJvbGFdCisgICAtIG1lbnRpb24gbG9uZyBvcHRpb25zIGluIG1hbiBwYWdlICBbU2FtaSBLZXJvbGFdCisgICAtIG9wdGlvbiBwYXJzaW5nIGJ1ZyBmaXhlZCAmIGxvbmcgb3B0aW9ucyBhZGRlZCAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgeHJlYWxsb2MgZnJvbSB4YWxsb2MuaCAgW1NhbWkgS2Vyb2xhXQorcnRjd2FrZToKKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBkbyBub3QgZHVwbGljYXRlIGFyZ3VtZW50IHN0cmluZ3MgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHRlc3QgZm9yIGF2YWlsYWJsZSBzdXNwZW5kIG1vZGVzICBbTGF3cmVuY2UgUnVzdF0KK3NjcmlwdDoKKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBpbmNsdWRlIGVyci5oIGRpcmVjdGx5ICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW5jbHVkZS13aGF0LXlvdS11c2UgaGVhZGVyIGNoZWNrICBbU2FtaSBLZXJvbGFdCisgICAtIGluZGljYXRlIHRoYXQgdGhlIGZpbGUgYXJndW1lbnQgdG8gLS10aW1pbmcgaXMgb3B0aW9uYWwgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gaW5mb3JtIGFib3V0IGxvbmcgb3B0aW9ucyBpbiBzY3JpcHQgbWFudWFsIHBhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbm9ybWFsaXplIGZvcm1hdHRpbmcgb2YgdGhlIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIG9wdGlvbiAtLWZvcmNlIGFkZGVkICBbU2FtaSBLZXJvbGFdCisgICAtIG9wdGlvbmFsIHRpbWluZyBvdXRwdXQgZmlsZSBhcmd1bWVudCBhZGRlZCAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgbWFnaWMgY29uc3RhbnRzIGFuZCBhIHR5cGUgbWlzbWF0Y2ggZml4ICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSB2b2lkIGNhc3RpbmcgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc3VwcG9ydCBmb3IgbG9uZyBvcHRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBsaWJjIGVycm9yIHByaW50aW5nIGZhY2lsaXRpZXMgIFtTYW1pIEtlcm9sYV0KK3NjcmlwdHJlcGxheToKKyAgIC0gYWxsb3cgYXJndW1lbnRzIGFzIGNvbW1hbmQgbGluZSBzd2l0Y2hlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBidWcgaW4gYXJndW1lbnQgY2hlY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBlbmQgcHJpbnRpbmcgd2l0aCBuZXcgbGluZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggYnVmZmVyIG92ZXJmbG93ICBbU2FtaSBLZXJvbGFdCisgICAtIGltcHJvdmUgc3lub3BzaXMgYW5kIGZvcm1hdHRpbmcgYW5kIHdvcmRpbmcgaW4gbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gc3VwcG9ydCBsb25nIG9wdGlvbnMgIFtTYW1pIEtlcm9sYV0KK3NldGFyY2g6CisgICAtIGFkZCAtLXVuYW1lLTIuNiBvcHRpb24gZm9yIHBlcnNvbmFsaXR5IGZsYWcgVU5BTUUyNiAgW0JlbiBIdXRjaGluZ3NdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorc2V0dGVybToKKyAgIC0gYWRkIG5vdGUgYWJvdXQgbG9uZyBkdW1wIGZpbGUgcGF0aHMgdG8gbWFuIHBhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBmaXggdmFyaWFibGUgdHlwZXMsIGFuZCB1bnVzZWQgYXJndW1lbnQgd2FybmluZ3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZnVuY3Rpb24gc2NyZWVuZHVtcCBjb2Rpbmcgc3R5bGUgZml4ZWQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWVudGlvbiBpbiBtYW4gc2V0dGVybS4xIC12ZXJzaW9uIGFuZCAtaGVscCBzd2l0Y2hlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBzZWdmYXVsdCB3aXRoIGxvbmcgZHVtcCBmaWxlIG5hbWUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc3VwcG9ydCAtaGVscCBhbmQgLXZlcnNpb24gb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgbGliYyBlcnJvciBwcmludGluZyBmYWNpbGl0aWVzICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSB4bWFsbG9jKCkgIFtLYXJlbCBaYWtdCitzZmRpc2s6CisgICAtIChtYW4gcGFnZSkgdXNlIGNvbW1hIGJldHdlZW4gc2hvcnQgYW5kIGxvbmcgb3B0aW9uIGluc3RlYWQgb2YgIm9yIiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBjb3JyZWN0ICctLWluc2lkZS1vcmRlcicgdG8gJy0taW5zaWRlLW91dGVyJyBpbiBkb2N1bWVudGF0aW9uICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGRlY2xhcmUgdW51c2VkIGZ1bmN0aW9uIGF0dHJpYnV0ZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGNvZGluZyBzdHlsZS4gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBmb3IgZGF0YSB0eXBlIG1pc21hdGNoZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGltcGxpY2l0IG92ZXJmbG93ICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCB0eXBvIGluIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBnZXR0ZXh0aXplIGVhY2ggd2FybmluZyBhcyBhIHdob2xlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGhlbHAgc2NyZWVuIGZvcm1hdCAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbXByb3ZlIGRlc2NyaXB0aW9ucyBvZiBvcHRpb25zIC0tbm8tcmVyZWFkIGFuZCAtLXNob3ctZXh0ZW5kZWQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gaW5kZW50IHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIG1ha2Ugc29tZSB0ZXN0cyBjb25kaXRpb25hbCB0byAhTGludXggIFtHaXVsaW8gT3JzZXJvXQorICAgLSBwcmV2aW91c2x5IHVuZG9jdW1lbnRlZCBvcHRpb25zIHRvIHVzYWdlICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBpbmNvbnNpc3RlbnQgYW5kIHdhc3RlZnVsIG5ld2xpbmVzIGluIHRoZSBfKCkgY2FsbHMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gcmVuYW1lIHdhcm4gdG8gbXlfd2FybiAgW0ZhYmlhbiBHcm9mZmVuXQorICAgLSByZXR1cm5zIG5vbi16ZXJvIG9uIGZhaWxlZCBCTEtSUlBBUlQgaW9jdGwgIFtBbmRyZWEgR2FsYnVzZXJhXQorICAgLSBzbGljZSBoZWxwIHRleHQgaW50byBzbWFsbCBjaHVua3MgYW5kIGltcHJvdmUgaXRzIHdvcmRpbmcgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK3NpbXBsZWluaXQ6CisgICAtIHJlbW92ZSB0aGlzIGRlcHJlY2F0ZWQgc2V0IG9mIHV0aWxzICBbS2FyZWwgWmFrXQorc3RydXRpbHM6CisgICAtIG5ldyB3cmFwcGVyIGZ1bmN0aW9uIHN0cnRvbGxfb3JfZXJyICBbU2FtaSBLZXJvbGFdCitzd2FwbGFiZWw6CisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVd1bnVzZWQtcGFyYW1ldGVyXSAgW0thcmVsIFpha10KK3N3YXBvbjoKKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV3NpZ24tY29tcGFyZV0gIFtLYXJlbCBaYWtdCisgICAtIG1pc3Npbmcgc2VwYXJhdG9yIGluIHN3YXBvbiAtcyBjb21tYW5kICBbS2FyZWwgWmFrXQorICAgLSByZXdyaXRlIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSB4YWxsb2MgbGliICBbRGF2aWRsb2hyIEJ1ZXNvXQorc3lzZnM6CisgICAtIGZyZWUgdXNlZCByZXNvdXJjZXMgIFtEYXZpZGxvaHIgQnVlc29dCit0YWlsZjoKKyAgIC0gZml4IG1lbW1vdmUoKSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gZml4IG9wZW4oKSByZXR1cm4gdmFsdWUgY2hlY2sgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBoYXJtb25pemUgb3B0aW9uIGFyZ3VtZW50IGFuZCBleHBsYW5hdGlvbiBpbiB1c2FnZSBtZXNzYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHN1cHBvcnQgLS1saW5lcyAwICBbS2FyZWwgWmFrXQorICAgLSB0YWlsZiBtZW50aW9uIG5ldyBoZWxwICYgdmVyc2lvbiBvcHRpb25zIGluIG1hbiBwYWdlICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBsb25nIG9wdGlvbnMgIFtTYW1pIEtlcm9sYV0KK3Rhc2tzZXQ6CisgICAtIGFkanVzdCBzdHlsZSBvZiBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBjb2Rpbmcgc3R5bGUgZml4ZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW5jbHVkZS13aGF0LXlvdS11c2UgaGVhZGVyIGNoZWNrICBbU2FtaSBLZXJvbGFdCisgICAtIG1ha2UgdGhyZWFkcyBhd2FyZSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gdXNlIHhhbGxvYyBsaWIgIFtEYXZpZGxvaHIgQnVlc29dCit0ZXN0X3N5c2luZm86CisgICAtIFVzZSBDSEFSX0JJVCpzaXplb2Yodm9pZCopIGluc3RlYWQgb2YgX19XT1JEU0laRS4gIFtKb3NpYWggV29yY2VzdGVyXQorICAgLSBmaXggcHJpbnRmIGZvcm1hdCAgW0thcmVsIFpha10KK3Rlc3RzOgorICAgLSBbY3B1c2V0XSBjYWxsIGZyZWUoKSBmb3IgcmFuZ2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAnbm9uZScgc291cmNlIHRvIGxpYm1vdW50IHVwZGF0ZSB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIC1vIHJlbW91bnQgdG8gbGlibW91bnQgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjb2xybSBiYXNpYyB0ZXN0ICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBjb2x1bW4gdGVzdHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGR1bXAgZnJvbSBQUEM2NCB0byBsc2NwdSB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGR1bXAgZnJvbSBVbHRyYVNwYXJjIFQxIHRvIGxzY3B1IHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZHVtcCBmcm9tIGh1Z2UgaWE2NCB0byBsc2NwdSB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxzY3B1IGR1bXBzIGZyb20gdGhyZWUgRGVsbCdzICYgYSBYZW4gIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIG1vdW50KDgpIHRlc3QgZm9yIGZzdGFiIGVudHJpZXMgd2l0aG91dCBvcHRpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdGVzdCBmb3IgUkxJTUlUX0ZTSVpFIGlzc3VlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdGVzdHMgZm9yIFt1XW1vdW50IHJlZ3VsYXIgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgcnVuIG1vdW50L3JlZ2ZpbGUgdGVzdCBvbiBvbGQga2VybmVsICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1XdW51c2VkLXBhcmFtZXRlcl0gIFtLYXJlbCBaYWtdCisgICAtIGdyYW1tYXIgZml4ZXMgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHJlbW92ZSBnZW5lcmF0ZWQgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gdGVzdCBjb2x1bW4oMSkgd2l0aCBtdWx0aXBsZSBpbnB1dCBmaWxlcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIEdQVCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgYmxraWQgTUQgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGZvciByZWNlbnQgZmRpc2sgY2hhbmdlcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGxpYm1vdW50IHRlc3RzIChhZGQgb3B0c3RyIG91dHB1dCkgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBsc2NwdSB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGxpYm1vdW50IHRhYiB1cGRhdGUgdGVzdHMgZm9yIFVJRD0wIG9ubHkgIFtLYXJlbCBaYWtdCit0ZXh0dWFsOgorICAgLSBhZGQgc29tZSBndWlkaW5nIGNvbW1lbnRzIGZvciB0cmFuc2xhdG9ycyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggdGhyZWUgdHlwb3MgaW4gbWVzc2FnZSBzdHJpbmdzIGFuZCBpbXByb3ZlIGNvbnNpc3RlbmN5ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGltcHJvdmUgdGhlIHdvcmRpbmcgb2Ygc29tZSBlcnJvciBhbmQgdXNhZ2UgbWVzc2FnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdHdlYWsgc2V2ZXJhbCBtYW5wYWdlcywgbWFpbmx5IHRoZSBibGtpZCBvbmUgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK3R0eW1zZzoKKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzIGFuZCB1c2UgRVhJVF8gIFtTYW1pIEtlcm9sYV0KK3R1bmVscDoKKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV3NpZ24tY29tcGFyZV0gIFtLYXJlbCBaYWtdCit1bDoKKyAgIC0gYWRkIC1oIGFuZCAtViB0byB0aGUgbWFuIHBhZ2U7IHVzZSAiZmlsZSIgYW5kIGxvd2VyY2FzZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbiB1c2FnZSgpIG5vdCBvdmVyd3JpdGluZyBidXQgb3ZlcnJpZGluZyBpcyBtZWFudCAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBtYWtlIHVzYWdlKCkgc2F5IHRoYXQgbW9yZSB0aGFuIG9uZSBpbnB1dCBmaWxlIGlzIGFsbG93ZWQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gcmVtb3ZlIHN1cGVyZmx1b3VzIHJldHVybiBhcyB1c2FnZSgpIGRvZXMgbm90IHJldHVybiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQordWwuYzoKKyAgIC0gY2xvc2UgZmlsZXMgYW5kIGZyZWUgbWVtb3J5IGFmdGVyIHVzYWdlICBbU2FtaSBLZXJvbGFdCisgICAtIGNvZGUgc3R5bGUgYW5kIGNvbW1lbnQgZml4ZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY29udmVydCBkZWZpbml0aW9uIHRvIGZ1bmN0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGVzY2FwZSBoYW5kbGluZyByZWZhY3RvcmVkICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBjb21waWVyIHdhcm5pbmdzICBbU2FtaSBLZXJvbGFdCisgICAtIG1hZ2ljIGNvbnN0YW50IHJlbW92YWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGxvbmcgb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSB3YXJuIHVzZXIgd2hlbiBjb21tYW5kIGNob29zZXMgdGVybSB0eXBlICBbU2FtaSBLZXJvbGFdCit1bW91bnQ6CisgICAtIGFsbG93IHVubW91bnRpbmcgbG9vcGRldiBzcGVjaWZpZWQgYnkgYXNzb2NpYXRlZCBmaWxlICBbUGV0ciBVemVsXQorICAgLSBibG9jayBzaWduYWxzIHdoZW4gdW1vdW50aW5nIGFuZCB1cGRhdGluZyBtdGFiIChDVkUtMjAxMS0xNjc2LCBDVkUtMjAxMS0xNjc3KSAgW0thcmVsIFpha10KKyAgIC0gZG8gbm90IGhhbmcgd2l0aCBkaXNjb25uZWN0ZWQgTkZTIG1vdW50cyAgW1BldHIgVXplbF0KKyAgIC0gc2VnZmF1bHRzIHdpdGggaW5jb25zaXN0ZW50IGVudHJ5IGluIC9ldGMvZnN0YWIgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgbm9uLWNhbm9uaWNhbCBkZXZuYW1lcyBpbiBtdGFiICBbS2FyZWwgWmFrXQorICAgLSB1c2UgVU1PVU5UX05PRk9MTE9XIGZvciBub24tcm9vdCB1c2VycyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGhlbHBlcj0gZm9yIGFsbCBVSURzICBbS2FyZWwgWmFrXQordW5zaGFyZToKKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQordXVpZGQ6CisgICAtIChtYW4gcGFnZSkgYWxwaGFiZXRpemUgdGhlIG9wdGlvbnMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gKG1hbiBwYWdlKSByZXBhaXIgdGhlIHNuaXBwZWQgdXAgZGVzY3JpcHRpb24gb2Ygb3B0aW9uIC1UICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGFkZCAiLXEiIHRvIHN5bm9wc2lzLCBvcmRlciBvcHRpb25zIGFscGhhYmV0aWNhbGx5ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGNsZWFudXAgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gY29kaW5nIHN0eWxlIGZpeGVzICBbU2FtaSBLZXJvbGFdCisgICAtIGRpZSgpIGZ1bmN0aW9uIHJlbW92ZWQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZGlzdGluZ3Vpc2ggYmV0d2VlbiBzaW5ndWxhciBhbmQgcGx1cmFsIGluIHRocmVlIG1lc3NhZ2VzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWFucGFnZSAgbGlidXVpZCgzKSBkb2VzIG5vdCBleGlzdCAgW1BldHIgVXplbF0KKyAgIC0gbG9uZyBvcHRpb25zICYgbmV3IHVzYWdlICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBnb3RvIHN0YXRlbWVudCAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2Ugc3ltYm9saWMgZXhpdCBhbmQgcmV0dXJuIHZhbHVlcyAgW1NhbWkgS2Vyb2xhXQordXVpZGdlbjoKKyAgIC0gYWRkIGxvbmcgb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCit2aXB3OgorICAgLSAobWFuIHBhZ2UpIHVuaWZvcm1pemUgaGVhZGVyIGFuZCBmb290ZXIsIHR3ZWFrIHRoZSBmb3JtYXR0aW5nICBbQmVubm8gU2NodWxlbmJlcmddCit3YWxsOgorICAgLSBhZGQgbG9uZyBvcHRpb25zIGFuZCA3OSBjaGFyIGN1dCBpbmZvIHRvIHRoZSBtYW4gcGFnZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBidWlsZCB3aXRoIFNVSURfe0MsTER9RkxBR1MgIFtQZXRyIFV6ZWxdCisgICAtIGNsZWFudXAgbWJ1ZnNpemUgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGdsb2JhbCB2YXJpYWJsZXMgYW5kIHN1cHBvcnQgVE1QRElSICBbU2FtaSBLZXJvbGFdCisgICAtIHN1cHBvcnQgLS10aW1lb3V0IHN3aXRjaCAgW1NhbWkgS2Vyb2xhXQorICAgLSBzdXBwb3J0IC0tdGltZW91dCBzd2l0Y2ggKHZvbCAyLikgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsb25nIG9wdGlvbnMgIFtTYW1pIEtlcm9sYV0KK3doZXJlaXM6CisgICAtIGNsZWFudXAgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gY29kaW5nIHN0eWxlICBbU2FtaSBLZXJvbGFdCisgICAtIG5ldyB1c2FnZSBvdXRwdXQgJiB2ZXJzaW9uIHByaW50aW5nICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBmaW5kKCkgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHJlbW92ZSBnb3RvIHN0YXRlbWVudHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXBkYXRlIGNvZGluZyBzdHlsZSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gd2FybmluZ3MsIGV4aXQgdmFsdWVzLCBicmFjZXMgYW5kIHJldHVybnMgIFtTYW1pIEtlcm9sYV0KK3dpcGVmczoKKyAgIC0gYWRkIHZlcnNpb24gcHJpbnRpbmcgJiBjb21waWxlciB3YXJuaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIGNoYW5nZSBvcHRpb24gLXYgdG8gLVYgZm9yIC0tdmVyc2lvbjsgYWRkIGl0IHRvIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGdldHRleHRpemUgb25lIHNlbnRlbmNlIGFzIGEgd2hvbGUgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK3dyaXRlOgorICAgLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGxvbmcgb3B0aW9ucyAmIG5ldyB1c2FnZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWludGVuYW5jZSBmaXhlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgaW5jb25zaXN0ZW50IHBlcmlvZHMgZnJvbSB0d28gZXJyb3IgbWVzc2FnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKworLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCistIGxvbmcgb3B0aW9ucyAmIG5ldyB1c2FnZSAgW1NhbWkgS2Vyb2xhXQorLSBtYWludGVuYW5jZSBmaXhlcyAgW1NhbWkgS2Vyb2xhXQorLSByZW1vdmUgaW5jb25zaXN0ZW50IHBlcmlvZHMgZnJvbSB0d28gZXJyb3IgbWVzc2FnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjEtUmVsZWFzZU5vdGVzIGIvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yMS1SZWxlYXNlTm90ZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWQ2OGVlMwotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjEtUmVsZWFzZU5vdGVzCkBAIC0wLDAgKzEsOTc5IEBACitVdGlsLWxpbnV4IDIuMjEgUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworIFRoZSB1ZGV2IGNvbXBhdGlibGUgb3V0cHV0ICgtbyB1ZGV2KSBmcm9tIGJsa2lkKDgpIGlzIGRlcHJlY2F0ZWQuIFVkZXYKKyBsaW5rcyBkaXJlY3RseSB0byBsaWJibGtpZCBub3cuCisKK1JlbGVhc2UgaGlnaGxpZ2h0cworLS0tLS0tLS0tLS0tLS0tLS0tCisKK2NoY3B1KDgpOgorICAgLSB0aGlzIE5FVyBDT01NQU5EIGNhbiBtb2RpZnkgdGhlIHN0YXRlIG9mIENQVXMsIGVuYWJsZSBvciBkaXNhYmxlIENQVXMsCisgICAgIHNjYW4gZm9yIG5ldyBDUFVzLCBjaGFuZ2UgdGhlIENQVSBkaXNwYXRjaGluZyBtb2RlIG9mIHRoZSB1bmRlcmx5aW5nCisgICAgIGh5cGVydmlzb3IsIGFuZCByZXF1ZXN0IENQVXMgZnJvbSB0aGUgaHlwZXJ2aXNvciAoY29uZmlndXJlKSBvciByZXR1cm4gQ1BVcyB0bworICAgICB0aGUgaHlwZXJ2aXNvciAoZGVjb25maWd1cmUpLgorCitwcmxpbWl0KDEpOgorICAgLSB0aGlzIE5FVyBDT01NQU5EIGlzIHZlcnkgc21hcnQgY29tbWFuZCBsaW5lIGludGVyZmFjZSB0byBwcmxpbWl0KDIpCisgICAgIHN5c2NhbGwgYW5kIGFsbG93cyB0byBnZXQgYW5kIHNldCBhIHByb2Nlc3MgcmVzb3VyY2UgbGltaXRzLiBJdCdzIG11Y2gKKyAgICAgbW9yZSBmbGV4aWJsZSB0aGFuIG9sZCBzaGVsbCBidWlsdC1pbiB1bGltaXQoMSkuCisKK2xvZ2luKDEpOgorICAgLSB0aGUgY29tbWFuZCBoYXMgYmVlbiByZXdyaXR0ZW4sIGZlYXR1cmVzOgorICAgICAqIHN0cmljdGx5IFBBTS1vbmx5LCBhbm90aGVyIGF1dGhlbnRpY2F0aW9uIG1ldGhvZCBpcyB1bnN1cHBvcnRlZAorICAgICAqIGNvbXBhdGlibGUgd2l0aCBTdXNlIGxvZ2luKDEpCisgICAgICogc3VwcG9ydHMgL2V0Yy9sb2dpbi5kZWZzKDUpIGNvbmZpZyBmaWxlCisKK2xvc2V0dXAoOCk6CisgICAtIHRoZSBjb21tYW5kIGhhcyBiZWVuIHJld3JpdHRlbiwgZmVhdHVyZXM6CisgICAgICogcmVxdWlyZXMga2VybmVsID49IDIuNgorICAgICAqIHN1cHBvcnRzIDY0Yml0IGlvY3RscyBvbmx5CisgICAgICogbG9zZXR1cCAtYSBkb2VzIG5vdCByZXF1aXJlIHJvb3QgcGVybWlzc2lvbnMgKGtlcm5lbCA+PSAyLjYuMzcpCisgICAgICogdXNlcyBuZXcgL2Rldi9sb29wLWNvbnRyb2wga2VybmVsIEFQSSAoa2VybmVsID49IDMuMSkKKyAgICAgKiBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbiAtLXBhcnRzY2FuIHRvIGVuYWJsZSBrZXJuZWwgcGFydGl0aW9uCisgICAgICAgdGFibGUgcGFyc2VyCisKK21vdW50KDgpLCB1bW91bnQoOCk6CisgICAtIG5ldyBwdXJlIGxpYm1vdW50IGJhc2VkIG1vdW50KDgpIGFuZCB1bW91bnRzKDgpIGNvbW1hbmRzIGFyZSBhdmFpbGFibGUsIAorICAgICB0aGlzIGV4cGVyaW1lbnRhbCBpbXBsZW1lbnRhdGlvbiBjb3VsZCBiZSBlbmFibGVkIGJ5IC0tZW5hYmxlLW5ldy1tb3VudAorICAgICAKK2FnZXR0eSg4KToKKyAgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb25zIC0tbm9oaW50cyB0byBkaXNhYmxlIGhpbnRzIGFib3V0IE51bSwKKyAgICAgQ2FwcyBhbmQgU2Nyb2xsIExvY2tzCisgICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9uIC0tcmVtb3RlIHRvIGFkZCBhIGhvc3RuYW1lIHRvIHRoZSAKKyAgICAgbG9naW4oMSkgY29tbWFuZCBsaW5lCisKK2RtZXNnKDEpOgorICAgLSBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbnMgLS1maWxlIHRvIHJlYWQgdGhlIGxvZyBmcm9tIGEgZmlsZSByYXRoZXIgCisgICAgIHRoYW4gZnJvbSBrZXJuZWwgYnVmZmVyCisKK2ZhbGxvY2F0ZSg4KToKKyAgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb25zIC0tcHVuY2gtaG9sZSB0byBwdW5jaCBob2xlcyBpbiB0aGUgZmlsZQorCitmaW5kbW50KDgpOgorICAgLSBzdXBwb3J0cyBhbHRlcm5hdGl2ZSBsb2NhdGlvbiBvZiB0aGUgZnN0YWIgZmlsZQorCitpcGNybSg4KToKKyAgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gLS1hbGwgdG8gcmVtb3ZlIGFsbCByZXNvdXJjZXMKKworbHNjcHUoMSk6CisgICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9ucyAtLWFsbCwgLS1vZmZsaW5lIGFuZCAtLW9ubGluZSB0byBsaXN0CisgICAgIGFsbCwgb2ZmbGluZSBvciBvbmxpbmUgQ1BVcworICAgLSBzdXBwb3J0cyBzMzkwIHRvcG9sb2d5IGRlc2NyaXB0aW9uIChwb2xhcml6YXRpb24sIGJvb2tzLCAuLi4pCisKK3BhcnR4KDgpOgorICAgLSBzdXBwb3J0cyBwYXJ0aXRpb25lZCBsb29wIGRldmljZXMgKG5vdGUgdGhhdCBzaW5jZSBrZXJuZWwgMy4yIHBhcnRpdGlvbmVkIAorICAgICBsb29wIGRldmljZXMgYXJlIHVzYWJsZSBldmVyeXdoZXJlIChpbmNsdWRpbmcgRmVkb3JhKSkKKword2lwZWZzKDgpOgorICAgLSBhbGxvd3MgdG8gemFwIHBhcnRpdGlvbiB0YWJsZXMKKyAgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi0tdHlwZSA8bGlzdD4iIHRvIHdpcGUgb25seSBzcGVjaWZpZWQKKyAgICAgZmlsZXN5c3RlbXMsIFJBSURzIG9yIHBhcnRpdGlvbiB0YWJsZSB0eXBlcworCitsaWJibGtpZDoKKyAgIC0gcHJvdmlkZXMgbmV3IGZ1bmN0aW9uIGJsa2lkX2RvX3dpcGUoKSB0byByZW1vdmUgYWxsIHNpZ25hdHVyZXMgZnJvbSB0aGUKKyAgICAgZ2l2ZW4gYmxvY2sgZGV2aWNlLiBUaGlzIG5ldyBmdW5jdGlvbmFsaXR5IGlzIHVzZWQgaW4gd2lwZWZzKDgpIGFuZAorICAgICBta3N3YXAoOCkuIEl0J3MgcmVjb21tZW5kZWQgdG8gdXNlIHRoaXMgZnVuY3Rpb24gaW4gbWtmcy1saWtlIHByb2dyYW1zLgorCisKK1N0YWJsZSBtYWludGVuYW5jZSByZWxlYXNlcyBiZXR3ZWVuIHYyLjIwIGFuZCB2Mi4yMQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3V0aWwtbGludXggMi4yMC4xIFsyMC1PY3QtMjAxMV0KKworICogZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjAvdjIuMjAuMS1SZWxlYXNlTm90ZXMKKyAgIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjIwL3YyLjIwLjEtQ2hhbmdlTG9nCisKKworQ2hhbmdlcyBiZXR3ZWVuIHYyLjIwIGFuZCB2Mi4yMQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgRm9yIG1vcmUgZGV0YWlscyBzZWUgQ2hhbmdlTG9nIGZpbGVzIGF0OgorIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjIxLworCithZ2V0dHk6CisgICAtIGFkZCAtLW5vaGludHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdGF0aWMgYW5kIGNvbnN0IHF1YWxpZmllcnMgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIGNoZWNrIGxvY2FsdGltZSgpIHJlc3VsdCAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdXNlIGxvZ19lcnIoKSBmb3Igbm9uLWZhdGFsIGVycm9ycyAgW0thcmVsIFpha10KKyAgIC0gZG91YmxlIGVxdWFscyBzaWduIHR5cG8gaW4gb3BlbnR0eSgpICBbS2FyZWwgWmFrXQorICAgLSBtYXAgTkwgdG8gQ1ItTkwgb24gb3V0cHV0IGluIGluaXRpYWwgdGVybWlvc3NldHRpbmdzICBbSmFjb2J5IEhpY2tlcnNvbl0KKyAgIC0gcGFzcyBob3N0bmFtZSB0byBsb2dpbigxKSAgW0thcmVsIFpha10KKyAgIC0gdGVzdCBFQ0hPIG9uIGNfbGZsYWcgIFtLYXJlbCBaYWtdCithcmNoOgorICAgLSBtaW5vciBjaGFuZ2VzIHRvIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIHN0YXJ0IHVzaW5nIGFyY2ggYXMgYSB1c2FnZSgpIGV4YW1wbGUgIFtTYW1pIEtlcm9sYV0KK2Jsa2RldjoKKyAgIC0gYWRkIGlzX2Jsa2RldiBmdW5jdGlvbiAgW0RhdmlkbG9ociBCdWVzb10KK2Jsa2lkOgorICAgLSBhZGQgY29tbWVudCB0byBrZWVwIHN0YXRpYyBhbmFseXNlcnMgaGFwcHkgIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIGZkIGJlZm9yZSB1c2UgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggdW5maW5pc2hlZCBzZW50ZW5jZSBmb3IgLWwgb3B0aW9uIGluIGJsa2lkLjggIFtEYXZlIFJlaXNuZXJdCisgICAtIG1vdmUgY2FjaGUgdG8gL3J1biBvbiBuZXcgc3lzdGVtcyAgW0thcmVsIFpha10KKyAgIC0gcG90ZW50aWFsIG51bGwgZGVyZWZlbmNlIFtzbWF0Y2ggc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIHByaW50IElEX1BBUlRfRU5UUllfKiBmb3Igc21hbGwgZGV2aWNlcyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIC13IG9wdGlvbiBmcm9tIG1hbiBwYWdlIGFuZCB1c2FnZSgpIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGRlYWQgYXNzaWdtZW50ICBbS2FyZWwgWmFrXQorYmxvY2tkZXY6CisgICAtIG1ha2UgZnVuY3Rpb25zIHN0YXRpYyAgW1dhbmxvbmcgR2FvXQorICAgLSBtYWtlIHRoZSBjb2RlIG1vcmUgcmVhZGFibGUgZm9yIHN0YXRpYyBhbmFseXNlcnMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBub24tQU5TSSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBbc21hdGNoIHNjYW5dICBbS2FyZWwgWmFrXQorYnVpbGQtc3lzOgorICAgLSBhZGQgLS1lbmFibGUtbW9zdC1idWlsZHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIC0tZW5hYmxlLW5ldy1tb3VudCAgW0thcmVsIFpha10KKyAgIC0gYWRkIFVMX0JVSUxEX0lOSVQgbWFjcm8gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBVTF9SRVFVSVJFU18qIG1hY3JvcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNoYW5nZWxvZyB0YXJnZXQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjaGVja3NtYXRjaCB0YXJnZXQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjaGVja3hhbGxvYyB0byB0b3BsZXZlbCBNYWtlZmlsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGVyciBhbmQgZXJyeCB0byBzbWF0Y2ggbm9fcmV0dXJuX2Z1bmNzICBbS2FyZWwgWmFrXQorICAgLSBhZGQga28tcmVsZWFzZS1nZW4gc2NyaXB0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQga28tcmVsZWFzZS1wdXNoIHNjcmlwdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxvZ19lcnIgdG8gc21hdGNoIG5vbi1yZXR1cm4gZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBCVUlMRF9QUkxJTUlUICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBoZWFkZXJzIHRvIGRpc3QgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHBhdGguaCB0byBNYWtlZmlsZS5hbSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNsZWVwZXhpdCBmcm9tIGxvZ2luLmMgdG8gc21hdGNoIG5vbi1yZXR1cm4gZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc21hdGNoIGRhdGEgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0b29scy8gdG8gRVhUUkFfRElTVCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRvb2xzL2NvbmZpZy1nZW4gYW5kIGJhc2ljIGNvbXBpbGF0aW9uIHNjZW5hcmlvcyAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgSEFWRV8gZGVmaW5pdGlvbnMgd2l0aCAjaWZkZWYgW3NtYXRjaCBzY2FuXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBjaGVjayBzY2FuZiAlbXMgbW9kaWZpZXIgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgQlVJTERfQVJDSCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBCVUlMRF9DUkFNRlMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgQlVJTERfRUxWVFVORSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBCVUlMRF9GQUxMT0NBVEUgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgQlVJTERfRlNDSyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBCVUlMRF9IV0NMT0NLICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIEJVSUxEX0tJTEwsIGVuYWJsZSBraWxsKDEpIGJ5IGRlZmF1bHQgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgQlVJTERfTElCTU9VTlQgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgQlVJTERfTE9HSU5fVVRJTFMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgQlVJTERfTFNCTEsgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgQlVJTERfTU9VTlQgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgQlVJTERfTU9VTlRQT0lOVCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBCVUlMRF9QQVJUWCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBCVUlMRF9QSVZPVF9ST09UICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIEJVSUxEX1JBVyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBCVUlMRF9TQ0hFRFVUSUxTICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIEJVSUxEX1NXSVRDSF9ST09UICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIEJVSUxEX1VOU0hBUkUgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgQlVJTERfVVVJREQgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgQlVJTERfe0REQVRFLEFHRVRUWX0gIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgQlVJTERfe0xBU1QsTElORSxNRVNHfSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBCVUlMRF97TFMsQ0h9Q1BVICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIEJVSUxEX3tSRU5BTUUsUkVTRVR9ICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIEJVSUxEX3tXQUxMLFdSSVRFfSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBIQVZFX0xJQkNSWVBUICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIG1pc2MtdXRpbHMvTWFrZWZpbGUuYW0gIFtLYXJlbCBaYWtdCisgICAtIGRkYXRlIHR5cG8gZml4ZWQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZG9uJ3QgaW5zdGFsbCBydS9kZGF0ZS4xIGlmIGRkYXRlIGRpc2FibGVkICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB1c2UgZnVsbCBwYXRocyBmb3Igc21hdGNoICBbS2FyZWwgWmFrXQorICAgLSBlbmFibGUgLnh6LCBkaXNhYmxlIC5neiAgW0thcmVsIFpha10KKyAgIC0gZW5oYW5jZSBlcnJvciBtZXNzYWdlIGZvciBtaXNzaW5nIGxpYnRvb2xpemUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IFVMX0lOSVRfQlVJTEQgbWFjcm8gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBidWlsZGluZyBvZiB3YWxsICBbUGV0ciBVemVsXQorICAgLSBmaXggbGlidXVpZCAgaW5pdGlhbGl6YXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGZpeGVzIHRvIFVTQUdFXyogbWFjcm9zICBbU2FtaSBLZXJvbGFdCisgICAtIGltcHJvdmUgY2hhbmdlbG9nIHRhcmdldCAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBrby1yZWxlYXNlLSogc2NyaXB0cyAgW0thcmVsIFpha10KKyAgIC0gbW92ZSAtLWVuYWJsZS1saWJ7bW91bnQsdXVpZCxibGtpZH0gYmVmb3JlIG90aGVycyAtLWVuYWJsZS0qICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIC0td2l0aC0qIGJlZm9yZSAtLWVuYWJsZS0qICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIGdldHRleHQgY2hlY2sgYmVmb3JlIC0tZW5hYmxlLSogIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgc3RydWN0cywgdHlwZXMsIGRlc2NzIGNoZWNrcyBiZWZvcmUgLS1lbmFibGUtKiAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBzd2Fwb24gZnJvbSBtb3VudC8gdG8gc3lzLXV0aWxzLyAgW0thcmVsIFpha10KKyAgIC0gbW92ZSB0eXBlIGNoZWNrcyBiZWZvcmUgLS1lbmFibGUtKiAgW0thcmVsIFpha10KKyAgIC0gcmVsZWFzZSsrICh2Mi4yMS1yYzEpICBbS2FyZWwgWmFrXQorICAgLSByZWxlYXNlKysgKHYyLjIxLXJjMikgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSByZWR1bmRhbnQgX19wcm9nbmFtZSBjaGVjayAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHJlZHVuZGFudCBmbGFncyBmcm9tIG1vdW50L01ha2VmaWxlLmFtICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgcGVybCBjaGVjayAgW0thcmVsIFpha10KKyAgIC0gcmVuYW1lIEJVSUxEX0JVR19PTl9aRVJPIGRlZmluaXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVuYW1lIGFuZCBtb3ZlIG1hY3JvcyAgW0thcmVsIFpha10KKyAgIC0gcmVxdWlyZSBQQU0gZm9yIGxvZ2luLXV0aWxzICBbS2FyZWwgWmFrXQorICAgLSBzdXBvcnQgc3RhdGljIGJ1aWxkIGZvciBuZXcgW3VdbW91bnQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSAkKE1BS0UpIGZvciBjaGVja3NtYXRjaCAgW0thcmVsIFpha10KKyAgIC0gdXNlICRidWlsZF9saWJibGtpZCAgW0thcmVsIFpha10KKyAgIC0gdXNlIC0tZW5hYmxlLW1vc3QtYnVpbGRzIGZvciBkaXN0Y2hlY2sgIFtLYXJlbCBaYWtdCitjYWw6CisgICAtIG5vbi1BTlNJIGRlZmluaXRpb24gW3NtYXRjaCBzY2FuXSAgW0thcmVsIFpha10KK2NmZGlzazoKKyAgIC0gYWRkIG5vdGUgYWJvdXQgYWxpZ25tZW50IHRvIHRoZSBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gd2N0b21iKCkgcmV0dXJucyAtMSBvbiBlcnJvciAgW0thcmVsIFpha10KK2NoY3B1OgorICAgLSBjaGVjayBnZXRfbWF4X251bWJlcl9vZl9jcHVzKCkgcmVzdWx0IHByb3Blcmx5ICBbS2FyZWwgWmFrXQorICAgLSBjb252ZXJ0IHRvIHVzZSBsaWIvcGF0aC5jICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIG1hbiBwYWdlIHVwZGF0ZSAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBuZXcgdG9vbCAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBwcm92aWRlIGJldHRlciB1c2VyIGZlZWRiYWNrICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIHVzZSBhcHByb3ByaWF0ZSB2YXJpYWJsZSB0eXBlIFtjcHBjaGVja10gIFtTYW1pIEtlcm9sYV0KK2NoY3B1LGNwdXNldDoKKyAgIC0gcmVkdWNlIGNvZGUgZHVwbGljYXRpb24gZm9yIGNwdSBsaXN0IHBhcnNpbmcgIFtIZWlrbyBDYXJzdGVuc10KK2NoZm46CisgICAtIGFsaWduIHdpdGggaG93dG8tdXNhZ2UtZnVuY3Rpb24udHh0ICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHVzZS1hZnRlci1mcmVlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIG5vbi1BTlNJIGRlZmluaXRpb25zIFtzbWF0Y2ggc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBub24tUEFNIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsaWJjIGVycm9yIHByaW50aW5nIGZhY2lsaXRpZXMgIFtTYW1pIEtlcm9sYV0KK2NoZm4sIGNoc2g6CisgICAtIG5ldyBmaWxlIHBhbWZhaWwuaCBmb3IgZXJyb3IgcHJpbnRpbmcgIFtTYW1pIEtlcm9sYV0KK2NoZm4sIGNoc2gsIHNldHB3bmFtOgorICAgLSBnZXQgdHJ1ZS9mYWxzZSBmcm9tIHN0ZGJvb2wuaCAgW1NhbWkgS2Vyb2xhXQorY2hmbiwgc2V0cHduYW06CisgICAtIGxldCBjb25maWcuaCBiZSBpbiBjb250cm9sIG9mIGV4dGVuc2lvbnMgaW4gdXNlICBbU2FtaSBLZXJvbGFdCitjaHJ0OgorICAgLSBhZGQgY29tbWVudCB0byBrZWVwIHN0YXRpYyBhbmFseXNlcnMgaGFwcHkgIFtLYXJlbCBaYWtdCitjaHNoOgorICAgLSBhbGlnbiB3aXRoIGhvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBidWlsZCBidWcgIGRvIG5vdCBvdmVycmlkZSBjb25maWcuaCBkZWZpbml0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIG5vbi1QQU0gY29kZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGxpYmMgZXJyb3IgcHJpbnRpbmcgZmFjaWxpdGllcyAgW1NhbWkgS2Vyb2xhXQorY29sdW1uOgorICAgLSBhdm9pZCBtZW1vcnkgb3ZlcnJ1biBhbmQvb3IgdXNlIG9mIHVuaW5pdGlhbGl6ZWQgYnVmZmVyICBbSmltIE1leWVyaW5nXQorICAgLSBkb24ndCBjaGVjayByZXN1bHQgZnJvbSB4bWFsbG9jKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBlcnJvciByZXBvcnRlZCBieSBzbWF0Y2ggIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHhhbGxvYyBsaWJzICBbRGF2ZSBSZWlzbmVyXQorY3B1c2V0OgorICAgLSBhZGQgb3B0aW9uIHRvIGFsbG93IGNwdWxpc3RfcGFyc2UoKSB0byBmYWlsICBbSGVpa28gQ2Fyc3RlbnNdCitjdHJsYWx0ZGVsOgorICAgLSBhZGQgdmVyc2lvbiAmIGhlbHAgb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBtaW5vciBjaGFuZ2VzIHRvIHVzYWdlKCkgIFtLYXJlbCBaYWtdCitjeXR1bmU6CisgICAtIGFkZCBsb25nIG9wdGlvbnMgYW5kIHVzYWdlKCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2hlY2sgbnVtZXJpYyB1c2VyIGlucHV0cyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjb2Rpbmcgc3R5bGUgZml4ZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY3l0dW5lLjggZml4IGZvcm1hdHRpbmcgIFtQZXRyIFV6ZWxdCisgICAtIGZpeCBwcmludGYgdHlwZSB3YXJuaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIHJlZmFjdG9yIG1haW4oKSwgbmV3IGZ1bmN0aW9uIHF1ZXJ5X3R0eV9zdGF0cygpICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBsaWJjIGVycm9yIHByaW50aW5nIGZhY2lsaXRpZXMgIFtTYW1pIEtlcm9sYV0KK2RtZXNnOgorICAgLSBhZGQgLS1maWxlIG9wdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZml4IGZvciBub24tQ09ORklHX1BSSU5US19USU1FIGtlcm5lbHMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBub24tQU5TSSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBbc21hdGNoIHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggcHJpbnRpbmcgb2YgbXVsdGlieXRlIGNoYXJhY3RlcnMgIFtQZXRyIFV6ZWxdCisgICAtIHJlbW92ZSBleHRyYSBzcGFjZSBvbmx5IGFmdGVyIHRpbWUgc3RhbXAgIFtLYXJlbCBaYWtdCitkbzoKKyAgIC0gZml4IGN6ZWNoIExBQkVMPSB0cmFuc2xhdGlvbiAgW0thcmVsIFpha10KK2RvY3M6CisgICAtIGFkZCBkZWJ1Z2dpbmcgZG9jICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBEb2N1bWVudGF0aW9uIGRpcmVjdG9yeSBhZGRlZCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgLS12ZXJzaW9uIHRvIHNldGFyY2guOCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgaG93dG8tYnVpbGQtc3lzLnR4dCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGh3Y2xvY2sgLWMgdG8gVE9ETyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaW5mbyBhYm91dCB2aXJ0LXdoYXQgdG8gVE9ETyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxpYm1vdW50ICYgbGliYmxraWQgZGVidWcgaW5zdHJ1Y3Rpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBsb25nIG9wdGlvbnMgdG8gaXBjbWsuMSBtYW4gcGFnZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgbG9uZyBvcHRpb25zIHRvIGlwY3JtLjEgbWFuIHBhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGxvbmcgb3B0aW9ucyB0byBpcGNzLjEgbWFuIHBhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGxvbmcgb3B0aW9ucyB0byByZWFkcHJvZmlsZS44ICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBsb25nIG9wdGlvbnMgdG8gdHVuZWxwLjggIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIG5vbi1yZXR1cm4gZnVuY3Rpb24gYW5kIGlmIHNob3J0aGFuZCB0aXBzICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBub3RlIGFib3V0IEJVSUxEXyogbWFjcm9zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCBjb25maWctZ2VuIHB1cnBvc2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub3RlIGFib3V0IGZkaXNrIHRvIFRPRE8gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub3RlIGFib3V0IGxvc2V0dXAgdG8gVE9ETyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vdGUgYWJvdXQgbW91bnQoOCkgb3B0aW9ucyB0byBUT0RPICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZXMgYWJvdXQgdG9vbHMvY29uZmlnLWdlbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIHBybGltaXQgdG8gdGhlIFRPRE8gZmlsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHVzYWdlKCkgaG93dG8gZm9yIGNvbnRyaWJ1dG9ycyAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgdjIuMjEgUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgeC1tb3VudC1ta2RpciB0byBUT0RPIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGFsaWduIGNvbC4xIHdpdGggaG93dG8tbWFuLXBhZ2UudHh0ICBbU2FtaSBLZXJvbGFdCisgICAtIGFsaWduIGNvbGNydC4xIHdpdGggaG93dG8tbWFuLXBhZ2UudHh0ICBbU2FtaSBLZXJvbGFdCisgICAtIGFsaWduIGNvbHJtLjEgd2l0aCBob3d0by1tYW4tcGFnZS50eHQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWxpZ24gZmFsbG9jYXRlLjEgd2l0aCBob3d0by1tYW4tcGFnZS50eHQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWxpZ24gaGV4ZHVtcC4xIHdpdGggaG93dG8tbWFuLXBhZ2UudHh0ICBbU2FtaSBLZXJvbGFdCisgICAtIGFsaWduIGxvZ2dlci4xIHdpdGggaG93dG8tbWFuLXBhZ2UudHh0ICBbU2FtaSBLZXJvbGFdCisgICAtIGFsaWduIG1vcmUuMSB3aXRoIGhvd3RvLW1hbi1wYWdlLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGlnbiByZW5pY2UuMSB3aXRoIGhvd3RvLW1hbi1wYWdlLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGlnbiByZXYuMSB3aXRoIGhvd3RvLW1hbi1wYWdlLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGlnbiBzY3JpcHQuMSB3aXRoIGhvd3RvLW1hbi1wYWdlLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGlnbiBzY3JpcHRyZXBsYXkuMSB3aXRoIGhvd3RvLW1hbi1wYWdlLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGlnbiB0dW5lbHAuOCB3aXRoIGhvd3RvLW1hbi1wYWdlLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGlnbiB1bC4xIHdpdGggaG93dG8tbWFuLXBhZ2UudHh0ICBbU2FtaSBLZXJvbGFdCisgICAtIGFsaWduIHZpcHcuOCB3aXRoIGhvd3RvLW1hbi1wYWdlLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGlnbiB3YWxsLjEgd2l0aCBob3d0by1tYW4tcGFnZS50eHQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2hjcHUgYW5kIHJlYWRwcm9maWxlIGFyZSBzeXNhZG1pbiB1dGlscyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbiB1cCBvbGQgcmVhZG1lIGZpbGVzICBbU2FtaSBLZXJvbGFdCisgICAtIGNvcHkgY29udHJpYnV0b3JzIGZyb20gbGVnYWN5IGZpbGVzIHRvIEFVVEhPUlMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHJldHVybiB2YWx1ZSB0YWJsZSBpbiBmc2NrLjggIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWVudGlvbiBsb25nIG9wdGlvbnMgaW4gY3RybGFsdGRlbC44ICBbU2FtaSBLZXJvbGFdCisgICAtIG1lbnRpb24gbG9uZyBvcHRpb25zIGluIGN5dHVuZS44ICBbU2FtaSBLZXJvbGFdCisgICAtIG1lbnRpb24gbG9uZyBvcHRpb25zIGluIHBpdm90X3Jvb3QuOCAgW1NhbWkgS2Vyb2xhXQorICAgLSBtb3ZlIHNldHVpZCBpbmZvcm1hdGlvbiBmcm9tIHJlYW1lIHRvIGh3Y2xvY2suOCAgW1NhbWkgS2Vyb2xhXQorICAgLSBuZXcgZmlsZSBEb2N1bWVudGF0aW9uL2hvd3RvLWNvbXBpbGF0aW9uLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBuZXcgZmlsZSBEb2N1bWVudGF0aW9uL2hvd3RvLWNvbnRyaWJ1dGUudHh0ICBbU2FtaSBLZXJvbGFdCisgICAtIG5ldyBmaWxlIERvY3VtZW50YXRpb24vaG93dG8tbWFuLXBhZ2UudHh0ICBbU2FtaSBLZXJvbGFdCisgICAtIG5ldyBmaWxlIERvY3VtZW50YXRpb24vcmVsZWFzZS1zY2hlZHVsZS50eHQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbmV3IGZpbGUgRG9jdW1lbnRhdGlvbi9zb3VyY2UtY29kZS1tYW5hZ2VtZW50LnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBub3RlIGFib3V0IGluZGVwZW5kZW50IHN1cGVyIGJsb2NrIHN0cnVjdHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVmcmVzaCBUT0RPIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBSRUFETUUuY2xlYXIgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIFVSTCB0byB1LWwgd2VicGFnZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGR1cGxpY2F0ZWQgdGV4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSByZXF1aXJlIGtlcm5lbCBzdXBwb3J0IGJlZm9yZSBhY2NlcHRpbmcgdXNlIG9mIGl0ICBbU2FtaSBLZXJvbGFdCisgICAtIHJlc3RydWN0dXJlIGZsb2NrLjEgbWFudWFsIHBhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdGVsbCB3aGF0IHRoZSBEb2N1bWVudGF0aW9uLyBpcyBhYm91dCAgW1NhbWkgS2Vyb2xhXQorICAgLSB0cml2aWFsIGRvY3VtZW50YXRpb24gZml4ZXMgYW5kIGltcHJvdmVtZW50cyAgW1BldHIgVXplbF0KKyAgIC0gdXBkYXRlIEFVVEhPUlMgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIFRPRE8gIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBUT0RPICBbUGV0ciBVemVsXQorICAgLSB1cGRhdGUgVE9ETyBmaWxlICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB1cGRhdGUgVE9ETyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgY29weXJpZ2h0IHllYXJzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgdjIuMjEtUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgLkxHUEwgZXh0ZW5zaW9uIGZvciBmaWxlIHdpdGggR05VIExlc3NlciBMaWNlbnNlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgY29ycmVjdCB0cmFuc2xhdGlvbiBwcm9qZWN0IHVybCAgW1NhbWkgS2Vyb2xhXQorZmFsbG9jYXRlOgorICAgLSBhZGQgRkFMTE9DX0ZMX1BVTkNIX0hPTEUgc3VwcG9ydCAgW0NvbmcgV2FuZ10KKyAgIC0gY2xlYW4gdXAgZmFsbGJhY2tzIGZvciBGQUxMT0NfRkxfKiBmbGFncyAgW0thcmVsIFpha10KK2ZkZm9ybWF0OgorICAgLSBmaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KK2ZkaXNrOgorICAgLSBGaXggYmFkIGludmFsaWQgZmxhZyAweDAwMDAwIHdhcm5pbmcgbWVzc2FnZSAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gYWRkIG1pc3NpbmcgYnJlYWsgIFtLYXJlbCBaYWtdCisgICAtIGF2b2lkIGFuIGludGVybWVkaWF0ZSB2YXJpYWJsZSBpbiBjb21tYW5kX3Byb21wdCgpICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSBhdm9pZCBzZWdmYXVsdCB2YWxpZGF0aW5nIGEgc2dpIGxhYmVsIChib290L3N3YXAgbm90IHNldCkgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIGRvbid0IHNob3J0ZW4gbG9uZyBwYXRoIHRvIGRpc2sgZGV2aWNlICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBzd2FwIHVuc2lnbmVkIGNoYXIgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHVzZSBnZXRfZXhpc3RpbmdfcGFydGl0aW9uKCkgaWYgZGlzayBsYWJlbCBpc24ndCBkb3MgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIGRyb3Agb25lIHBhcmFtZXRlciBmcm9tIHRyeSgpIGZ1bmN0aW9uICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSBlbmFibGUgZXhwZXJ0IG1lbnUgd2l0aCBTR0kgbGFiZWwgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIGZpeCBjZHJvbSBkZXRlY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBpbmNvcnJlY3QgcG9zaXRpb24gb2YgaXNfaWRlX2Nkcm9tX29yX3RhcGUoKSBjYWxsICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSBmaXggbGFzdCBzZWN0b3IgZGlhbG9nIGJ1ZyBhZnRlciBhbiBpbmNvcnJlY3QgaW5wdXQgd2l0aCBzdWZmaXggIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIGZpeCBwb29yIGNvZGluZyBzdHlsZSAgW0thcmVsIFpha10KKyAgIC0gZ2V0IHJpZCBvZiBnZXRfYm9vdChjcmVhdGVfZW1wdHlfc3VuKSBjYWxsICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSBnZXQgcmlkIG9mIHR5cGVfb3BlbiBnbG9iYWwgdmFyaWFibGUgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIGltcHJvdmUgc29tZSBtZXNzYWdlcyAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gbW92ZSBjb2RlIGZvciByZW5hbWluZyBTR0kgYm9vdGZpbGUgdG8gU0dJIG1vZHVsZSAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gbW92ZSBjb21tYW5kIHByb21wdCBjb2RlIHRvIGEgc2VwYXJhdGUgZnVuY3Rpb24gIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHByaW50IGEgbWVzc2FnZSB3aXRoIHNpemUgYW5kIHR5cGUgb2YgY3JlYXRlZCBwYXJ0aXRpb24gIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHByaW50IHBhcnRpdGlvbiBkZWxldGVkIG1lc3NhZ2UgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHByaW50IHdlbGNvbWUgbWVzc2FnZSAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gcmVtb3ZlIFBBQ0tFRCBtYWNybyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHBvc3NpYmx5X29zZl9sYWJlbCB2YXJpYWJsZSB0aGF0IGlzIG9ubHkgYXNzaWduZWQgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHJlbW92ZSByZWR1bmRhbnQgZGVjbGFyYXRpb24gW2NwcGNoZWNrXSAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgdW5lZWNlc3NhcnkgY29kZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVudXNlZCAncmVxdWlyZScgbWVtYmVyIGluIGVudW0gYWN0aW9uICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSByZW1vdmUgdW51c2VkIGd1ZXNzX2RldmljZV90eXBlKCkgZnVuY3Rpb24gIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHJlbmFtZSBic2VsZWN0LCB4c2VsZWN0IGZ1bmN0aW9ucyAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gcmVuYW1lIHJlYWRfaW50X3N4KCkgYW5kIHNvbWUgcmVsYXRlZCB2YXJpYWJsZXMgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHJlbmFtZSB0cnkoKSBhbmQgdHJ5cHJvY3B0KCkgZnVuY3Rpb25zICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSByZXdyaXRlIHByaW50IG1lbnUgc3lzdGVtICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSBzcGxpdCBkZWxldGVfcGFydGl0aW9uKCkgb2ZmIGZyb20gZG9zX2RlbGV0ZV9wYXJ0aXRpb24oKSAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gdXBkYXRlIGluZm9ybWF0aW9uIGFib3V0IEdOVSBQYXJ0ZWQgaW4gZmRpc2suOCAgW1BldHIgVXplbF0KKyAgIC0gdXNlIENEUk9NX0dFVF9DQVBBQklMSVRZIGlvY3RsICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB1c2UgbmdldHRleHQoKSBpbiBzdHJfdW5pdHMoKSBmb3IgcGx1cmFsIGZvcm1zICBbRnJhbmNlc2NvIENvc29sZXRvXQorZmluZG1udDoKKyAgIC0gYWRkIG5vdGUgYWJvdXQgTElCTU9VTlRfKiBlbnYudmFyaWFibGVzICBbS2FyZWwgWmFrXQorICAgLSBmaXggcmVzb3VyY2UgbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGluaXRpYWxpemUgcmMgdmFyaWFibGUgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgLS1wb2xsIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSByZXZlcnQgLS1mc3RhYiBiZWhhdmlvciwgYWRkIC0tdGFiLWZpbGUgb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IGFsdGVybmF0aXZlIGxvY2F0aW9uIG9mIGZzdGFiICBbRGF2ZSBSZWlzbmVyXQorICAgLSBzdXBwb3J0IG11bHRpcGxlIC0tdGFiLWZpbGUgb3B0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHdhcm54IGZvciBsaWJtbnQgZXJyb3IgY2FsbGJhY2sgIFtEYXZlIFJlaXNuZXJdCitmbG9jazoKKyAgIC0gYWRkIG1pc3Npbmcgd29yZCDCu2JlwqsgdG8gZmxvY2suMSAgW1BhdWwgTWVuemVsXQorICAgLSBhbGlnbiB3aXRoIGhvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggY29kaW5nIHN0eWxlICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBmbG9jay4xIGdyYW1tYXIgYnkgcmVtb3ZpbmcgwrtzwqsgIFtQYXVsIE1lbnplbF0KKyAgIC0gZml4IHNpemVvZiB1c2FnZSBbY2xhbmcgLVdzaXplb2YtcG9pbnRlci1tZW1hY2Nlc3NdICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIGZsb2NrKDEpIHdvcmsgb24gTkZTdjQgIFtNaWNoYWwgS3ViZWNla10KKyAgIC0gbW92ZSBsb25nX29wdGlvbnMgc3RydWN0IHRvIGZ1bmN0aW9uIHNjb3BlICBbU2FtaSBLZXJvbGFdCisgICAtIHNpbXBsaWZ5IHN0cnRvdGltZXZhbCgpICBbU2FtaSBLZXJvbGFdCisgICAtIHRpbWVyIGNvZGUgcmVmYWN0b3JpbmcgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBPX1JEV1IgYXMgZmFsbGJhY2sgaWYgT19SRE9OTFkgcmV0dXJucyBFSU8gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBmdW5jdGlvbiBhdHRyaWJ1dGVzICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBsaWJjIGVycm9yIHByaW50aW5nIGZhY2lsaXRpZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHN0cnV0aWxzLmggdG8gY2hlY2sgbnVtZXJpYyB1c2VyIGlucHV0ICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBzeXNleGl0LmggZm9yIGFsbCBleGl0IHZhbHVlcyAgW1NhbWkgS2Vyb2xhXQorZnNjazoKKyAgIC0gbWFrZSBmcy0+dHlwZSB1c2FnZSBtb3JlIHJvYnVzdCBbc21hdGNoIHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSB1c2UgRlMgYmxhY2tsaXN0IGZvciBub24tYWxsIG1vZGUgdG9vICBbS2FyZWwgWmFrXQorZnNjay5jcmFtZnM6CisgICAtIG1hcmsgdXNhZ2UoKSBhcyBub3JldHVybiAgW0thcmVsIFpha10KK2ZzY2subWluaXg6CisgICAtIGZpeCB6b25lX21hcCBtZW1vcnkgYWxsb2NhdGlvbiBmYWlsdXJlIGNoZWNrICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgbWVtc2V0IGNhbGxzICBbRnJhbmNlc2NvIENvc29sZXRvXQorZnN0cmltOgorICAgLSBmaXggc2VjdGlvbiBudW1iZXIgaW4gcmVmZXJyYWwgdG8gbWFucGFnZSAgW1BldHIgVXplbF0KK2hleGR1bXA6CisgICAtIG1ha2UgY29kZSBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KK2h3Y2xvY2s6CisgICAtIGNsZWFuIHVzYWdlLCByZW1vdmUgcmVkdW5kYXQgY29kZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIG5ldmVyIHJlYWQgdmFsdWUgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBub24tQU5TSSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBbc21hdGNoIHNjYW5dICBbS2FyZWwgWmFrXQoraW5jbHVkZSxjLmg6CisgICAtIGluY2x1ZGUgZmNudGwuaCBiZWZvcmUgY2hlY2sgZm9yIE9fQ0xPRVhFQyBbc21hdGNoIHNjYW5dICBbS2FyZWwgWmFrXQoraW5jbHVkZSxvcHR1dGlsczoKKyAgIC0gYWRkIG9wdGlvbl90b19sb25nb3B0KCkgIFtLYXJlbCBaYWtdCitpbmNsdWRlLHhhbGxvYzoKKyAgIC0gY2hlY2sgZm9yIE5VTEwgYmVmb3JlIGNhbGxpbmcgc3RyZHVwICBbRGF2ZSBSZWlzbmVyXQorICAgLSBmaXggd2hpdGVzcGFjZSB0byBiZSBjb25zaXN0ZW50ICBbRGF2ZSBSZWlzbmVyXQoraW5jbHVkZS9sb29wZGV2Lmg6CisgICAtIGFkZCBtaXNzaW5nIGZ1bmN0aW9uIHByb3RvdHlwZSAgW0RhdmUgUmVpc25lcl0KK2lwY21rOgorICAgLSBhZGQgbG9uZyBvcHRpb25zICYgZml4IHVzYWdlKCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWxsb3cgaGlnaCBzcGVlZCBpcGMgY3JlYXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW5jbHVkZS13aGF0LXlvdS11c2UgaGVhZGVyIGNoZWNrICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBjYW1lbCBjYXNpbmcgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHVzZWxlc3MgY29kZSAgW1NhbWkgS2Vyb2xhXQorICAgLSB2YWxpZGF0ZSBudW1lcmljIG9wdGlvbiBhcmd1bWVudHMgIFtTYW1pIEtlcm9sYV0KK2lwY3JtOgorICAgLSBhZGQgLS1hbGwgb3B0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCAtLXZlcmJvc2Ugb3B0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBsb25nIG9wdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHN0YXRpYyBrZXl3b3JkIHRvIHNvbWUgZnVuY3Rpb25zICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSBjaGVjayBJUEMgc3lzY2FsbHMgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGV4aXQgaWYgdW5rbm93biBlcnJvciBvY2N1cnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHdyb25nIHN1YmplY3QgaW4gZXJyb3IgbWVzc2FnZXMgZm9yIC1tLCAtcSwgLXMgaWQgb3B0aW9ucyAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gaW5jbHVkZS13aGF0LXlvdS11c2UgaGVhZGVyIGNoZWNrICBbU2FtaSBLZXJvbGFdCisgICAtIHJlZmFjdG9yIG5ldyBhbmQgb2xkIG1haW4gdG8gc2hhcmUgY29kZSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgdGVybmFyeSBvcGVyYXRvciBpbiAiKGtleXxpZCkgZmFpbGVkIiBtZXNzYWdlICBbRnJhbmNlc2NvIENvc29sZXRvXQoraXBjczoKKyAgIC0gYWRkIGxvbmcgb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjb21tZW50ICYgd2hpdGUgc3BhY2UgY2xlYW4gdXAgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW5jbHVkZS13aGF0LXlvdS11c2UgaGVhZGVyIGNoZWNrICBbU2FtaSBLZXJvbGFdCisgICAtIG1pbm9yIGNoYW5nZXMgdG8gdXNhZ2UoKSAgW0thcmVsIFpha10KK2lzbG9jYWw6CisgICAtIGZpeCBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KK2tpbGw6CisgICAtIGZpeCBmZCBsZWFrICBbS2FyZWwgWmFrXQorICAgLSBmaXggaXNzdWUgd2FybmVkIGJ5IHNtYXRjaCAgW1NhbWkgS2Vyb2xhXQorICAgLSBwb3RlbnRpYWwgbnVsbCBkZXJlZmVuY2UgW3NtYXRjaCBzY2FuXSAgW0thcmVsIFpha10KK2xhc3Q6CisgICAtIGZpeCBmZXcgY29tcGlsZXIgd2FybmluZ3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHNtYXRjaCB3YXJuaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIHBvc3NpYmxlIGJ1ZmZlciBvdmVyZmxvdyBmaXhlZCBbc21hdGNoIHNjYW5dICBbU2FtaSBLZXJvbGFdCitsZGF0dGFjaDoKKyAgIC0gYWRkIGRlZmF1bHQgY2FzZSB0byBzd2l0Y2hlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGlnbiB3aXRoIGhvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBjaGVjayBudW1lcmljIHVzZXIgaW5wdXRzIHdpdGggc3RydG9sX29yX2VyciAgW1NhbWkgS2Vyb2xhXQorICAgLSBjb252ZXJ0IGRlYnVnIG1hY3JvIHRvIGZ1bmN0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KK2xpYjoKKyAgIC0gW3N0cnV0aWxzXSBhZGQgc3RydG9kX29yX2VycigpIGZ1bmN0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFudXAgc2V0cHJvY3RpdGxlLmMgIFtLYXJlbCBaYWtdCisgICAtIGRvIG5vdCBhdHRlbXB0IHRvIGNsb3NlKDApIGluIHN5c2ZzX2RlaW5pdCgpICBbUGV0ciBVemVsXQorbGliLGNwdXNldDoKKyAgIC0gZW5mb3JjZSBzdHJpY3RlciBwYXJzaW5nIG9mIGNwdSBsaXN0cyAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBmaXggY29tbWVudHMgZm9yIGNwdSBtYXNrL2xpc3QgZnVuY3Rpb25zICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV3VuaW5pdGlhbGl6ZWRdICBbS2FyZWwgWmFrXQorICAgLSBmaXggb2RkIHBsYWNlZCBicmFjZXMgaW4gY3B1bGlzdF9wYXJzZSgpICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIGZpeCBzdHJpZGUgaGFuZGxpbmcgaW4gY3B1bGlzdF9wYXJzZSgpICBbSGVpa28gQ2Fyc3RlbnNdCitsaWIsbG9vcGRldjoKKyAgIC0gYWRkIExPT1BfQ1RMX0dFVF9GUkVFIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBkZWJ1Z3UgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtaXNzaW5nIGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gZml4IHVzZSBvZiBsb2dpY2FsICcmJicgd2l0aCBjb25zdGFudCBvcGVyYW5kICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSByZW1vdmUgZHVwbGljYXRlIGluY2x1ZGVzICBbS2FyZWwgWmFrXQorbGliLG1hdGNoOgorICAgLSBzcGxpdCBtYXRjaF9mc3R5cGUoKSBmcm9tIGxpYm1vdW50ICBbS2FyZWwgWmFrXQorbGliLHBhdGg6CisgICAtIG1vdmUgcGF0aCBhY2Nlc3MgZnVuY3Rpb25zIGZyb20gbHNjcHUgaW50byBsaWIvcGF0aC5jICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIHVzZSB3cml0ZV9hbGwoKSAgW0hlaWtvIENhcnN0ZW5zXQorbGliLHN0cnV0aWxzOgorICAgLSBhZGQgZGVmYXVsdCB2YWx1ZSB0byBwYXJzZV9yYW5nZSgpICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBzaGFyZSBwYXJzZV9yYW5nZSgpICBbRGF2aWRsb2hyIEJ1ZXNvXQorbGliLHR0OgorICAgLSBhZGQgVFRfRkxfTk9FWFRSRU1FUyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdHJpbSBsYXN0IGxpbmUgY2hhciAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XcmV0dXJuLXR5cGVdICBbS2FyZWwgWmFrXQorbGliL2ZzcHJvYmU6CisgICAtIG1hciB0aGlzIGludGVybmFsIEFQSSBhcyBkZXByZWNhdGVkICBbS2FyZWwgWmFrXQorbGliL2xvb3BkZXY6CisgICAtIGZpeCBwYXJ0IHNjYW4gZGV0ZWN0aW9uIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBwb3NzaWJsZSBkaXIgbGVhayBvbiBlcnJvciAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGRlYWQgYXNzaWdtZW50IGFuZCBudWxsIGRlZmVyZW5jZSAgW0thcmVsIFpha10KK2xpYi9zdHJ1dGlsczoKKyAgIC0gbW92ZSBhcnJheSBib3VuZHMgY2hlY2sgaW4gc3RyaW5nX3RvX2lkYXJyYXkoKSB0byBhcHByb3ByaWF0ZSBwbGFjZS4gIFtDaGFuZGFuIEIgUmFqZW5kYV0KK2xpYi9zeXNmczoKKyAgIC0gZml4IGhhbmRsZSBsZWFrICBbS2FyZWwgWmFrXQorICAgLSBmaXggcG9zc2libGUgZmQgbGVhayBvbiBlcnJvciAgW0thcmVsIFpha10KK2xpYmJsa2lkOgorICAgLSBEUkJEIHByb3h5IGRhdGEtbG9nIGlkZW50aWZpY2F0aW9uLiAgW1BoaWxpcHAgTWFyZWtdCisgICAtIGFkZCBCTEtJRF9QQVJUU19NQUdJQyAgW0thcmVsIFpha10KKyAgIC0gYWRkIEJMS0lEX1BBUlRTX01BR0lDIHRvIGJsa2lkX2RvX3dpcGUoKSBkb2NzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYmxraWRfZG9fd2lwZSgpICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyByZXR1cm4gdmFsdWUgdG8gaW5kaWNhdGUgZXJyb3IgW2NwcGNoZWNrXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBjaGVjayBibGtpZF9wcm9iZV9zZXRfbWFnaWMoKSByZXR1cm4gaW4gR1BUIGNvZGUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBibGtpZF9wcm9iZV9zZXRfbWFnaWMoKSByZXR1cm4gaW4gdWx0cml4IGNvZGUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBibGtpZF9wcm9iZV9zZXRfbWFnaWMoKSByZXR1cm4gdmFsdWUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBmb3IgTlVMTCBpbiBibGtpZF9mbHVzaF9jYWNoZSgpIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgcmVuYW1lKCkgcmV0dXJuIHZhbHVlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgcmV0dXJuIHZhbHVlcyBpbiBzYWZlX3Byb2JlIGNvZGUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBjbGFyaWZ5IG9wZXJhdGlvbiBvcmRlciBbY3BwY2hlY2tdICBbU2FtaSBLZXJvbGFdCisgICAtIGNvbXBhcmluZyBhbiBhcnJheSB0byBudWxsIGlzIG5vdCB1c2VmdWwgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBjYWxsIENEUk9NX0dFVF9DQVBBQklMSVRZIGZvciBwYXJ0aXRpb25zICBbS2FyZWwgWmFrXQorICAgLSBleHBvcnQgUFRNQUdJQyBhbHNvIGlmIG9ubHkgUFRUWVBFIHJlcXVlc3RlZCAgW0thcmVsIFpha10KKyAgIC0gZXhwb3J0IGluZm8gYWJvdXQgUFQgbWFnaWMgc3RyaW5ncyAgW0thcmVsIFpha10KKyAgIC0gZml4IGJsa2lkX2RvX2Z1bGxwcm9iZSgpIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZml4IGxpbWl0IGZvciBPQ0ZTIGNoZWNrICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWFjIHBhcnRpdGlvbiBkZXRlY3Rpb24gIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIGZpeCBzbWF0Y2ggd2FybmluZyAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggc3VzcGljaW91cyBpbXBsaWNpdCBzaWduIGV4dGVuc2lvbiBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCB1c2UtYWZ0ZXItZnJlZSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgcmVpc2VyZnMgYW5kIGJ0cmZzIG1pbi4gc2l6ZSBsaW1pdHMgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgZmQgdXNhZ2UgaW4gbWQgY29kZSBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KKyAgIC0gbWlub3IgZG9jcyBjaGFuZ2VzICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSBtb3JlIHJvYnVzdCBpZHggdXNhZ2UgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBuZXcgbWFnaWMgZm9yIDguNCBzdHlsZSAodW5jbGVhbikgYWN0aXZpdHkgbG9nLiAgW1BoaWxpcHAgTWFyZWtdCisgICAtIHJlbW92ZSA+PiA5IGZyb20gR1BUIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBwb3NpdGlvbiBjaGVjayBmcm9tIGxpc3RfZm9yX2VhY2hfc2FmZSBsb29wcyAgW0thcmVsIFpha10KKyAgIC0gc2lsZW5jZSBhIGZvcm1hdCBzdHJpbmcgd2FybmluZyBbLVdmb3JtYXRdICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSB1cGRhdGUgZG9jcyAgW0thcmVsIFpha10KKyAgIC0gdmVyaWZ5IGFycm95IGJvdW5kIGJlZm9yZSByZWZlcmVuY2UgW2NwcGNoZWNrXSAgW1NhbWkgS2Vyb2xhXQorbGlibW91bnQ6CisgICAtIFVzZSBmaWx0ZXIgYXJnIG9mIHNjYW5kaXIqIHRvIHBpY2t1cCAvZXRjL2ZzdGFiLmQvKi5mc3RhYiBmaWxlcyAgW01hc2F0YWtlIFlBTUFUT10KKyAgIC0gYWRkICIrIiBwcmVmaXggZm9yIG9wdGlvbnMgcGF0dGVybiAoZS5nIGZpbmRtbnQgLU8pICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1wYXNzLWZkIHRvIHNhbXBsZXMvbW91bnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtYSB0byB1bW91bnQoOCkgc2FtcGxlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgTU5UX09NT0RFX05PVEFCICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZnVuY3Rpb24gdG8gcGFyc2Ugb2Zmc2V0cy9zaXplcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZ1bmN0aW9ucyB0byBleHBvcnQgc3lzY2FsbC9oZWxwZXJzIHN0YXR1cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1udF9jb250ZXh0X3Vtb3VudF9uZXh0KCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBuZXcgZXhwcmltZW50YWwgdW1vdW50KDgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcG9zdC1tb3VudCBjaGVja3MgdG8gZGV0ZWN0IHJvL3J3ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc2FuaXRpemVfZW52KCkgdG8gbW91bnQoOCkgc2FtcGxlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgZW5jcnlwdGVkIGxvb3BkZXZzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgbW91bnQgLWEgLS1mb3JrICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyB0byB0b2dnbGUgcm8vcncgYW5kIG1vdW50IGFnYWluICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyB0byB1c2UgVVVJRCBhbmQgTEFCRUwgZm9yIG93bmVyL2dyb3VwIG1vdW50IG9wdGlvbnMgaW4gZnN0YWIgIFtLYXJlbCBaYWtdCisgICAtIGFsd2F5cyB0cnVzdCB0aGUgc291cmNlIG9mIGEgcHNldWRvZnMgIFtEYXZlIFJlaXNuZXJdCisgICAtIGF2b2lkIGR1cGxpY2F0ZSBsb29wZGV2cyAgW0thcmVsIFpha10KKyAgIC0gYXZvaWQgcmVzb2x2aW5nIHBzZXVkb2ZzIHNvdXJjZSBvbiB1cGRhdGUgIFtEYXZlIFJlaXNuZXJdCisgICAtIGNsZWFuIHVwIGNvbnRleHQgZG9jcyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBkb2NzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHBvc3QtdW1vdW50IG9wZXJhdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGNvbnNvbGlkYXRlIE1OVF9GU18qIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGNvbnNvbGlkYXRlIHN5c2NvbmYoKSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgaWdub3JlIGNobW9kL293biBlcnJvcnMgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHBhc3MgY29tbWVudHM9L3gtKiB0byBtb3VudC48dHlwZT4gaGVscGVycyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdXNlICJuZXciIGluIGhlYWRlciBmaWxlICBbS2FyZWwgWmFrXQorICAgLSBleHBvcnQgaW5mbyBhYm91dCBsaWJyYXJ5IGZlYXR1cmVzICBbS2FyZWwgWmFrXQorICAgLSBmaXggTVNfQklORHxNU19SRUMgdXNhZ2UsIGltcHJvdmUgc29tZSBiaXR3aXNlIG9wZXJhdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBhIHBvdGVudGlhbCBtZW1vcnkgbGVhayBhdCBtbnRfdGFibGVfcGFyc2VfZGlyICBbTWFzYXRha2UgWUFNQVRPXQorICAgLSBmaXggYXV0by1sb29wZGV2ICBbS2FyZWwgWmFrXQorICAgLSBmaXggYnVmZmVyIG92ZXJmbG93IGFuZCBsZWFrcyBpbiB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gZml4IGJ1Z3MgZGV0ZWN0ZWQgYnkgW3NtYXRjaCBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNoZGlyIHRvIHBhcmVudCBmb3IgcmVzdHJpY3RlZCAodXNlcikgdW1vdW50cyAgW0thcmVsIFpha10KKyAgIC0gZml4IGNoZWNrZWQtcmV0dXJuIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1Xc2lnbi1jb21wYXJlXSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV3VuaW5pdGlhbGl6ZWQgLVdmb3JtYXRdICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29udGV4dCB0ZXN0IGxvZ2ljICBbS2FyZWwgWmFrXQorICAgLSBmaXggbGVhayBpbiB0YWIgcGFyc2luZyBlcnJvciBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBmaXggbGVhayBpbiB0YWJfdXBkYXRlLmMgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gZml4IGxlYWsgaW4gdGFiZGlmZiB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBmaXggbmVnYXRpdmUgcmV0dXJucyBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBwb3NzaWJsZSBudWxsIGRlcmVmZXJlbmNpbmcgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggcmVzb3VyY2UgbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0cml2aWFsIHR5cG9zIGluIGRlYnVnZ2luZyBvdXRwdXQgIFtQZXRyIFV6ZWxdCisgICAtIGZpeCB0eXBvIGluIGZ1bmN0aW9uIG5hbWUgIFtEYXZlIFJlaXNuZXJdCisgICAtIGZpeCB1c2Ugb2YgbG9naWNhbCAnJiYnIHdpdGggY29uc3RhbnQgb3BlcmFuZCAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gZml4ZWQgYSBzbWFsbCB0eXBvICBbcy5wQG9yYml0YWxmb3guY29tXQorICAgLSBpZ25vcmUgImRlZmF1bHRzIiBtb3VudCBvcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIGlnbm9yZSB0YWlsaW5nIHNsYXNoIGluIG5ldGZzIHNvdXJjZSBwYXRocyAgW1BldHIgVXplbF0KKyAgIC0gaW1wcm92ZSB2ZXJib3NlIG1lc3NhZ2UgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgaXRlciByZXNldCBtb3JlIHJvYnVzdCBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIG1ha2Ugb3B0aW9ucyBpbiBmc3RhYiBvcHRpb25hbCAgW0thcmVsIFpha10KKyAgIC0gcG90ZW50aWFsIG51bGwgZGVyZWZlbmNlIFtzbWF0Y2ggc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIHByZXZpb3VzbHkgYXNzdW1lZCBudWxsIHBvaW50ZXIgW3NtYXRjaCBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gcmVkdW5kYW50IG51bGwgY2hlY2sgb24gY2FsbGluZyBmcmVlKCkgW3NtYXRjaCBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGRlYWQgYXNzaWdtZW50ICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZnN0YWIuZCBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgbWFnaWMgY29uc3RhdG50IGZyb20gbW91bnQoOCkgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB0ZWFzZXIgcHJvdG8gZm9yIG1udF90YWJsZV9nZXRfbmFtZSAgW0RhdmUgUmVpc25lcl0KKyAgIC0gc2NhbmRpcmF0IGJhc2VkIG1udF90YWJsZV9wYXJzZV9kaXIgaW1wbGVtZW50YXRpb24gIFtNYXNhdGFrZSBZQU1BVE9dCisgICAtIHN1cHBvcnQgLW8gbG9vcD08ZGV2bmFtZT4gIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgZGlycyBmb3IgbW50X3RhYmxlX3BhcnNlX2ZzdGFiKCksIGFkZCBtbnRfdGFibGVfcGFyc2VfZGlyKCkgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgdW1vdW50IC9wYXRoL2ZpbGUuaW1nICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IHtvZmZzZXQsc2l6ZWxpbWl0fT0gZm9vciBsb29wZGV2cyAgW0thcmVsIFpha10KKyAgIC0gdW5hYmxlIHRvIHVtb3VudCBuZnMgc2hhcmVzIHVzaW5nIHRoZSBmb3JjZSBvcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIHVzZSAjaWZkZWYgZnIgc2VsaW51eCBzcGVjaWZpYyB2YXJpYWJsZXMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBVU0FHRV8qIGZyb20gbW91bnQoOCkgc2FtcGxlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbG9vcGRldiBkZWJ1ZyBmYWNpbGl0eSAgW0thcmVsIFpha10KKyAgIC0gdXNlIHVuc2lnbmVkIGludCBmb3IgYml0ZmllbGRzIFtzbWF0Y2ggc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIHZhcmlhYmxlIGRlcmVmZXJlbmNlZCBiZWZvcmUgY2hlY2sgW3NtYXRjaCBzY2FuXSAgW0thcmVsIFpha10KK2xpYnV1aWQ6CisgICAtIGFkZCBsaW1pdHMuaCBpbmNsdWRlIGZvciBPUEVOX01BWCAgW21heGltaWxpYW4gYXR0ZW1zXQorICAgLSBmaXggaW5jbHVkZXMgaW4gbWFuIHBhZ2VzICBbS2FyZWwgWmFrXQorbGluZToKKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV3VudXNlZC1wYXJhbWV0ZXJdICBbS2FyZWwgWmFrXQorbGlzdHM6CisgICAtIGFkZCBsaXN0IHNvcnRpbmcgcm91dGluZSAgW0RhdmlkbG9ociBCdWVzb10KK2xvZ2dlcjoKKyAgIC0gZml4IHJlbW90ZSBsb2dnaW5nICBbS2FyZWwgWmFrXQorICAgLSBub24tQU5TSSBkZWZpbml0aW9uIFtzbWF0Y2ggc2Nhbl0gIFtLYXJlbCBaYWtdCitsb2dpbjoKKyAgIC0gKGFuZCBjaHNoKSBtYWtlIHB3X3NoZWxsIHVzYWdlIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSBQQU0gYWNjb3VudCBjaGVja3MgcmVmYWN0b3JpbmcgIFtLYXJlbCBaYWtdCisgICAtIFBBTSBhdXRoIHJlZmFjdG9yaW5nICBbS2FyZWwgWmFrXQorICAgLSBQQU0gaW5pdGlhbGl6YXRpb24gcmVmYWN0b3JpbmcgIFtLYXJlbCBaYWtdCisgICAtIFBBTSBzZXNzaW9uIGluaXRpYWxpemF0aW9uIHJlZmFjdG9yaW5nICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLUggb3B0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggU3VzZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIExPR0lOX1JFVFJJRVMsIGNsZWFudXAgcmV0cmllcyBjaGVjayBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaG9zdG5hbWUgdG8gbG9naW5fY29udGV4dCBzdHJ1Y3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsb2dpbi5kZWZzIGNvZGUgYW5kIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcGlkIHRvIGxvZ2luX2NvbnRleHQgc3RydWN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3RydWN0IGxvZ2luX2NvbnRleHQsIGNvbnNvbGlkYXRlIHR0eSBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdXNlcm5hbWUgdG8gbG9naW5fY29udGV4dCBzdHJ1Y3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB2ZXJzaW9uIHByaW50aW5nIG9wdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGxvY2F0ZSBidWZmZXIgd2l0aCBzaGVsbCBuYW1lICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiBGQUlMX0RFTEFZIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGJlZ2luIG9mIHRoZSBsb2dpbi5jIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGNvbXBhcmluZyBhbiBhcnJheSB0byBudWxsIGlzIG5vdCB1c2VmdWwgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBjb3NtZXRpYyBjaGFuZ2VzIGluIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIGVudiBpbml0aWFsaXphdGlvbiByZWZhY3RvcmluZyAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XcmV0dXJuLXR5cGVdICBbS2FyZWwgWmFrXQorICAgLSBmaXggbGVhaywgaW1wcm92ZSBzdHJ0b2sgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZvcmsgJiBzZXNzaW9uIGluaXRpYWxpemF0aW9uIHJlZmFjdG9yaW5nICBbS2FyZWwgWmFrXQorICAgLSBob3N0e25hbWUsYWRkcmVzc30gaW5pdGlhbGl6YXRpb24gcmVmYWN0b3JpbmcgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgaHVzaGVkIG1vZGUgKG1lcmdlIHN1c2UgY2hhbmdlcykgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgcGFtX3NldGNyZWQoKSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gaW5kZW50IC1saW51eCAgW0thcmVsIFpha10KKyAgIC0gbGFzdGxvZyBjb2RlIHJlZmFjdG9yaW5nICBbS2FyZWwgWmFrXQorICAgLSBsb2cgZ29vZCBsb2dpbnMgcmVmYWN0b3JpbmcgIFtLYXJlbCBaYWtdCisgICAtIG1vcmUgcm9idXN0IHN5c2NvbmYoKSB1c2FnZSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgX1BBVEhfQlRNUCB0byBwYXRobmFtZXMuaCAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBzaWduYWwgc3R1ZmYgdG8gdGhlIG9uZSBwbGFjZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIFBBTV9GQUlMX0NIRUNLIGFuZCBQQU1fRU5EIG1hY3JvcyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGRlYWQgY29kZSBhbmQgY29tbWVudHMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBrZXJiZXJvcyBzcGVjaWZpYyBjb2RlICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgbm9uLVBBTSBjb2RlICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgb2Jzb2xldGUgY29kZSwgY2xlYW4gdXAgbWFjcm9zIG5hbWVzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgb2Jzb2xldGUgaW5mbyBmcm9tIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgcGFtX2hhbmRsZV90IGZyb20gbWFpbigpICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgaWZkZWYgSEFWRV9DUllQVF9IICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgdmFyaWFibGVzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW51c2VkIGNvZGUgYW5kIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSByZXdyaXRlIG1vdGQoKSwgdXNlIE1PVERfRklMRSBmcm9tIGxvZ2luLmRlZnMgIFtLYXJlbCBaYWtdCisgICAtIHR0eSBjaG93bi5jaG1vZCByZWZhY3RvcmluZyAgW0thcmVsIFpha10KKyAgIC0gdXNlIERFRkFVTFRfSE9NRSBmcm9tIGxvZ2luLmRlZnMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBFTlZfUEFUSCBhbmQgRU5WX3tST09ULFNVfVBBVEggZnJvbSBsb2dpbi5kZWZzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgRkFJTF9ERUxBWSBmcm9tIGxvZ2luLmRlZnMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBIVVNITE9HSU5fRklMRSBmcm9tIGxvZ2luLmRlZnMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBMT0dJTl9USU1FT1VUIGZyb20gbG9naW4uZGVmcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIExPR19VTktGQUlMX0VOQUIgZnJvbSBsb2dpbi5kZWZzLCBpbXByb3ZlIGxvZ2dpbmcgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBUVFlHUk9VUCBmcm9tIGxvZ2luLmRlZnMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBUVFlQRVJNIGZyb20gbG9naW4uZGVmcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGdldHB3bmFtX3IoKSByYXRoZXIgdGhhbiBtYW51YWxseSBjb3B5IHBhc3N3ZCBzdHJ1Y3QgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsb2dpbl9jb250ZXh0IHN0cnVjdCBpbiBhdWRpdCBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gdXNlIHNldGdyb3VwcygwLCBOVUxMKSBmb3Igcm9vdCAgW0thcmVsIFpha10KKyAgIC0gdXNlIHhhbGxvYy5oICBbS2FyZWwgWmFrXQorICAgLSB1dG1wIGNvZGUgcmVmYWN0b3JpbmcgIFtLYXJlbCBaYWtdCitsb2dpbmRlZnM6CisgICAtIGZpeCBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KK2xvb3BkZXY6CisgICAtIGltcHJvdmUgZGVidWcgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgTE9fRkxBR1NfUEFSVFNDQU4gZmxhZyAoa2VybmVsIDMuMikgIFtLYXJlbCBaYWtdCitsb3NldHVwOgorICAgLSBhZGQgLS1wYXJ0c2NhbiBvcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub3RlIGFib3V0IG5vbi1yb290IHVzZXJzIHRvIGxvc2V0dXAuOCAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgIHRvIGNvbnRyb2wgZGVidWcgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGhlYWRlcnMsIGNtZGxpbmUgY2hlY2tzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdwb2ludGVyLXNpZ24gLVdmb3JtYXRdICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHhnZXRwYXNzIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHRvIHN5cy11dGlscyBkaXJlY3RvcnkgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgeGdldHBhc3MoKSB0byBsaWIveGdldHBhc3MuYyAgW0thcmVsIFpha10KKyAgIC0gbmV3IC1EIG9wdGlvbiB0byBkZWxldGUgYWxsIHVzZWQgbG9vcCBkZXZpY2VzICBbUGV0ciBVemVsXQorICAgLSBwcmludCBpbmZvIGFib3V0IG9uZSBkZXZpY2UgIFtLYXJlbCBaYWtdCisgICAtIHByaW50IHZlcmJvc2UgbWVzc2FnZXMgaWYgcmVxdWVzdGVkICBbUGV0ciBVemVsXQorICAgLSByZW1vdmUgI2lmZGVmIExPT1BfU0VUX0ZEIG5vbnNlbnNlICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgMzItYml0IGlvY3RscyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIG1vdW50LXNwZWNpZmljIGhlYWRlcnMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBvYnNvbGV0ZSAjaWZkZWYgTUFJTiAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGhlYWRlciBmaWxlcyAgW0thcmVsIFpha10KKyAgIC0gcmV3cml0ZSAtYSAgW0thcmVsIFpha10KKyAgIC0gcmV3cml0ZSAtYyAgW0thcmVsIFpha10KKyAgIC0gcmV3cml0ZSAtZCBhbmQgLUQgIFtLYXJlbCBaYWtdCisgICAtIHJld3JpdGUgLWYgIFtLYXJlbCBaYWtdCisgICAtIHJld3JpdGUgLWogIFtLYXJlbCBaYWtdCisgICAtIHJld3JpdGUgbG9vcCBzZXR1cCAgW0thcmVsIFpha10KK2xzYmxrOgorICAgLSBhZGQgVVVJRCB0byAtLWZzIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHVkZXYgc3VwcG9ydCAgW0lsaWFzIE1hbWVkb3ZdCisgICAtIGNoZWNrIHN0YXQoKSByZXR1cm4gY29kZSAgW0thcmVsIFpha10KKyAgIC0gaW5mb3JtIGFib3V0IGRlcGVuY2VuY3kgdG8gL3N5cy9kZXYvYmxvY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIF9fTkNPTFVNTlMgIFtEYXZpZGxvaHIgQnVlc29dCitsc2NwdToKKyAgIC0gYWRkIC0tYWxsIG9wdGlvbiAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBhZGQgLS1vZmZsaW5lIG9wdGlvbiAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBhZGQgLS1vbmxpbmUgb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS12ZXJzaW9uIG9wdGlvbiAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBhZGQgSHlwZXJ2aXNvciB0byBvdXRwdXQgIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gYWRkIGNvbHVtbiBuYW1lcyB0byAtLWhlbHAgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjb2x1bW5zIGRlc2NyaXB0aW9uIHRvIGhlbHAsIGZpeCBoZWFkZXIgZm9yIHBhcnNhYmxlIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNvbmZpZ3VyZWQgc3RhdGUgdG8gb3V0cHV0ICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIGFkZCBjcHUgcG9sYXJpemF0aW9uIHRvIHBhcnNlYWJsZSBvdXRwdXQgIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gYWRkIGh1bWFuIHJlYWRhYmxlIGV4dGVuZGVkIGNwdSB0YWJsZSBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBvbmxpbmUgc3RhdGUgdG8gb3V0cHV0ICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIGFkZCBwaHlzaWNhbCBjcHUgYWRkcmVzcyB0byBwYXJzZWFibGUgb3V0cHV0ICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIGFkZCBzMzkwIGt2bSB0ZXN0IGNhc2UgIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gYWRkIHMzOTAgdGVzdCBjYXNlICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIGFsbG93IHJlYWRfY2FjaGUoKSB0byBiZSBjYWxsZWQgZm9yIG9mZmxpbmUgY3B1cyAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBjbGVhbnVwIG91dHB1dCBtb2RlcyAgW0thcmVsIFpha10KKyAgIC0gZGVyZWZlcmVuY2luZyBOVUxMIHBvaW50ZXIgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBkZXRlY3QgSUJNIGh5cGVydmlzb3IgIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gZml4IC1lIG91dHB1dCAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBmaXggY2FjaGUgb3V0cHV0IGZvciBleHRlbmRlZCBwYXJzYWJsZSBvdXRwdXQgIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBmaXggY3B1IG1hcCBhcnJheSBzaXplcyAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBmaXggZmFsbGJhY2sgbnRocmVhZHMgY2FsY3VsYXRpb24gIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gZml4IGZkIGxlYWsgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzMzkwIGJvZ29taXBzIGRldGVjdGlvbiBjb2Rpbmcgc3R5bGUgIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gZml4IHR5cG8gaW4gaGVscCB0ZXh0ICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIGdldHRleHRpemUgdHdvIGNvbHVtbnMgIFtLYXJlbCBaYWtdCisgICAtIG1hbiBwYWdlIHVwZGF0ZSAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSByZW1vdmUgY29tbWEgb3BlcmF0b3IgIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gcmVtb3ZlIHVubmVlZGVkIGZpbGUgIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gcy9ZL1llcy8gcy9OL05vLyAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBzaG93IGRpc3BhdGNoaW5nIG1vZGUgIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gc2ltcGxpZnkgY2FjaGUgY29sdW1uIG91dHB1dCBmdW5jdGlvbiAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBzdHJpY3RlciBjb21tYW5kIGxpbmUgcGFyc2luZyAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBzd2l0Y2ggWWVzL05vIG91dHB1dCB0byBsb3dlciBjYXNlICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIHVzZSBidWZmZXIgZm9yIGRhdGEgYW5kIGhlYWRlcnMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBmdW5jdGlvbiB0byBzZWFyY2ggaW4gY3B1IG1hc2tzIGFycmF5cyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGh5cGVydmlzb3IgZ2VuZXJhdGVkIHRvcG9sb2d5IGluZm9ybWF0aW9uICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIHVzZSB4YWxsb2MgbGlicyAgW0RhdmUgUmVpc25lcl0KK21pc2M6CisgICAtIHVzZSAlbSBpbiBmb3JtYXQgc3RyaW5nIGluc3RlYWQgb2YgJXMgYW5kIHN0cmVycm9yKGVycm5vKSAgW1BldHIgVXplbF0KK21rZnMuYmZzOgorICAgLSBhZGQgc2V0bG9jYWxlICBbRGF2aWRsb2hyIEJ1ZXNvXQorbWtmcy5jcmFtZnM6CisgICAtIGNoZWNrIGJsb2Nrc2l6ZSB1c2VyIGlucHV0IFtjcHBjaGVja10gIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xvc2Ugb3BlbiBmaWxlIGFmdGVyIHVzYWdlIFtjcHBjaGVja10gIFtTYW1pIEtlcm9sYV0KK21rZnMubWluaXg6CisgICAtIEZpeCBzdXBlcl9zZXRfbnpvbmVzKCkgIFtNYXVyaXppbyBMb21iYXJkaV0KKyAgIC0gSW4gTWluaXggVjMgZmlsZXN5c3RlbXMgdGhlIG1heGltdW0gZmlsZW5hbWUgbGVuZ3RoIGlzIDYwIGNoYXJzIGFuZCB0aGUgZGlyc2l6ZSBpcyA2NCBieXRlcy4gIFtNYXVyaXppbyBMb21iYXJkaV0KKyAgIC0gU29tZSBidWcgZml4ZXMgIFtNYXVyaXppbyBMb21iYXJkaV0KKyAgIC0gVGhlIHNfYmxvY2tzaXplIGZpZWxkIG9mIHRoZSBNaW5peFYzIHN1cGVyYmxvY2sgbXVzdCBiZSBpbml0aWFsaXplZCB3aXRoIGEgdmFsaWQgYmxvY2sgc2l6ZSwgbm90IHRoZSB0b3RhbCBudW1iZXIgb2YgYmxvY2tzIG9mIHRoZSBkZXZpY2UhICBbTWF1cml6aW8gTG9tYmFyZGldCisgICAtIFRoZSB0b3RhbCBudW1iZXIgb2Ygem9uZXMgaXMgbGltaXRlZCB0byA2NTUzNiBvbmx5IG9uIFYxIGZpbGVzeXN0ZW1zICBbTWF1cml6aW8gTG9tYmFyZGldCisgICAtIGlub2RlIG51bWJlcnMgYXJlIDMyLWJpdCB3aWRlIGluIFYzIGZpbGVzeXN0ZW1zICBbTWF1cml6aW8gTG9tYmFyZGldCisgICAtIHJlbW92ZSByZWR1bmRhbnQgY29kZSAgW01hdXJpemlvIExvbWJhcmRpXQorbWtzd2FwOgorICAgLSBjaGVjayBibGtpZF9wcm9iZV9sb29rdXBfdmFsdWVzKCkgcmV0dXJuIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gd2lwZSBhbGwgb2xkIHNpZ25hdHVyZXMgIFtLYXJlbCBaYWtdCittb3JlOgorICAgLSBhZGQgY29tbWVudCAgW0thcmVsIFpha10KK21vdW50OgorICAgLSAobmV3KSBhZGQgLS1mc3RhYiA8cGF0aD4gb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSAobmV3KSBhZGQgLS1mc3RhYiB0byB0aGUgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIChuZXcpIGFkZCBtb3JlIGluZm8gYWJvdXQgLS1zdGFiIHRvIG1vdW50LjggIFtLYXJlbCBaYWtdCisgICAtIChuZXcpIGFkZCBzZWxpbnV4IHdhcm5pbmcgIFtLYXJlbCBaYWtdCisgICAtIChuZXcpIGFkZCBzb3VyY2UvdGFyZ2V0IHRvIGVycm9yIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQorICAgLSAobmV3KSBmaXggcmVzb3VyY2UgbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIChuZXcpIGltcHJvdmUgIG1vdW50IC1hIGV4aXN0IGNvZGVzIGFuZCBlcnJvZXIgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIChuZXcpIHByaW50IGVycm9yIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQorICAgLSAobmV3KSBzaGFyZSBleGl0IGNvZGVzIGJ5IGluY2x1ZGUvZXhpdGNvZGVzLmggIFtLYXJlbCBaYWtdCisgICAtIGFkZCBoaW50IHRoYXQgY29udGV4dD0gaGFzIHRvIGJlIHF1b3RlZCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGluZm8gYWJvdXQgbGlibW91bnQgZmVhdHVyZXMgdG8gLS12ZXJzaW9uIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gYXBwZW5kIGludmVydGluZyBvcHRpb25zIGZvciBtb3VudC48dHlwZT4gIFtLYXJlbCBaYWtdCisgICAtIGF2b2lkIGNhbm9uaWNhbGl6aW5nIHBzZXVkb2ZzIHBhdGhzICBbRGF2ZSBSZWlzbmVyXQorICAgLSBjaGVjayBmb3IgdGFyZ2V0IGJlZm9yZSBzb3VyY2Ugb24gcmVtb3VudCAgW0thcmVsIFpha10KKyAgIC0gY2xlYXIgZmxhZ3MgYmVmb3JlIG9wdGlvbnMgcGFyc2luZyAgW0thcmVsIFpha10KKyAgIC0gZGVmaW5lIGZhbGxiYWNrIHNlbGludXhfd2FybmluZyBtYWNybyB3aXRoIDIgcGFyYW1zICBbRGF2ZSBSZWlzbmVyXQorICAgLSBkaXN0aW5ndWlzaCBiZXR3ZWVuIE1TX0NPTU1FTlQgZmxhZ3MgKG5ldGRldiwgbm9mYWlsLCAuLi4pICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBjYW5vbmljYWxpemUgdGhlIHNvdXJjZSBvZiBhIHBzZXVkb2ZzICBbRGF2ZSBSZWlzbmVyXQorICAgLSBlbmFibGUgZnN0YWIuZCAgW01hc2F0YWtlIFlBTUFUT10KKyAgIC0gZml4IF9fYXR0cmlidXRlX18ga2V5d29yZCAgW0thcmVsIFpha10KKyAgIC0gZml4IGJ1aWxkICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVd1bnVzZWQtcGFyYW1ldGVyXSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV3VudXNlZC1wYXJhbWV0ZXIgLVd1bnVzZWQtdmFyaWFibGVdICBbS2FyZWwgWmFrXQorICAgLSBmaXggbG9vcGRldiBkZWluaXRpYWxpemF0aW9uICBbS2FyZWwgWmFrXQorICAgLSByZW1vdW50aW5nIHRtcGZzIHJlYWQtd3JpdGUgaGFuZ3MgKHNlbGludXgpICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZHVwbGljYXRlIGluY2x1ZGVzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgc3VwZXJmbHVvdXMgImFuIiB1bmRlciBleHQ0IG1vdW50IG9wdGlvbnMgaW4gbW91bnQuOCAgW0ZyZWRlcmlrIFwiRnJlc29cIiBTLiBPbGVzZW5dCisgICAtIHVwZGF0ZSBpbmZvIGFib3V0IGNoZWNrPSBtb3VudCBvcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBjb21tb24gbGlicyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gdXNlIG5ldyBsaWIvbG9vcGRldi5jIGNvZGUgIFtLYXJlbCBaYWtdCittb3VudHBvaW50OgorICAgLSBmYWxsYmFjayBvbiBzdGF0IHdoZW4gL3Byb2MgaXNuJ3QgbW91bnRlZCAgW0thcmVsIFpha10KKyAgIC0gcmVmYWN0b3IgZXhpdCBwYXRoICBbRGF2ZSBSZWlzbmVyXQorICAgLSByZXR1cm4gZGV2X3QgZnJvbSBkaXJfdG9fZGV2aWNlICBbRGF2ZSBSZWlzbmVyXQorICAgLSBzdXBwb3J0IHN5bWJvbGljIGFuZCByZWxhdGl2ZSBwYXRocyAgW0thcmVsIFpha10KK25hbWVpOgorICAgLSBtb3JlIHJvYnVzdCBhZGRfaXQoKSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCituZXdncnA6CisgICAtIGFkZCB2ZXJzaW9uIGFuZCBoZWxwIG9wdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGNvZGluZyBzdHlsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggcG9zc2libGUgRklMRSBsZWFrIG9uIGVycm9yICBbS2FyZWwgWmFrXQorcGFydHg6CisgICAtIGNoZWNrIHN5c2ZzX2luaXQoKSByZXR1cm4gdmFsdWUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHVzYWdlKCkgYW5kIG1hbiBwYWdlLCBhZGQgdW5kb2N1bWVudGVkIC0tdmVyYm9zZSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgcHJpbnQgZXJyb3Igd2hlbiBwYXJ0aXRpb24gYWxyZWFkeSBkb2Vzbid0IGV4aXN0ICBbUGhpbGxpcCBTdXNpXQorICAgLSBkb24ndCB0cmVhdCBlbXB0eSBwYXJ0aXRpb24gdGFibGUgYXMgZXJyb3IgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzbWFsbCBsZWFrICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgX19OQ09MVU1OUyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gc3VwcG9ydCBsb29wIGRldmljZXMgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHVzZSBVU0FHRV8gbWFjcm9zICBbRGF2aWRsb2hyIEJ1ZXNvXQorcGl2b3Rfcm9vdDoKKyAgIC0gYWRkIHZlcnNpb24gJiBoZWxwIG9wdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBtaW5vciBjaGFuZ2VzIHRvIHVzYWdlKCkgIFtLYXJlbCBaYWtdCitwbzoKKyAgIC0gbWVyZ2UgY2hhbmdlcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGNzLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUGV0ciBQaXNhcl0KKyAgIC0gdXBkYXRlIGNzLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUGV0ciBQw61zYcWZXQorICAgLSB1cGRhdGUgZnIucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtEYXZpZCBQcsOpdm90XQorICAgLSB1cGRhdGUgamEucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtUYWtlc2hpIEhhbWFzYWtpXQorICAgLSB1cGRhdGUgbmwucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXBkYXRlIHBsLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbSmFrdWIgQm9ndXN6XQorICAgLSB1cGRhdGUgdWsucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtZdXJpIENob3Jub2l2YW5dCitwcmxpbWl0OgorICAgLSBhZGQgLS17cmF3LG5vaGVhZGluZ3N9IG9wdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBhIHVuaXRzIGNvbHVtbiAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gYWRkIGFkZCBmYWxiYWNrcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1cHBvcnQgZm9yIGV4ZWN1dGluZyBhIGNvbW1hbmQgIFtCZXJuaGFyZCBWb2Vsa2VyXQorICAgLSBhdm9pZCBzZWdmYXVsdCBkdWUgdG8gYXJyYXktb3V0LW9mLWJvdW5kcyBlcnJvciAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3Qgc2hhcmUgcG9pbnRlciBmb3Igb2xkIGFuZCBuZXcgaW4gcHJsaW1pdCgyKSAgW0thcmVsIFpha10KKyAgIC0gZml4IFNZU18gbWFjcm8gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjYXNlIHdoZW4gUElEIGlzIGdpdmVuIGxhdGVyICBbQmVybmhhcmQgVm9lbGtlcl0KKyAgIC0gZml4IGVycm9yIG1lc3NhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBub2hlYWRpbmdzIG9wdGlvbiBpbiBtYW4gcGFnZSAgW0Jlcm5oYXJkIFZvZWxrZXJdCisgICAtIGZpeCB0eXBvIGluIG1hbiBwYWdlLCBvcHRpb24gLS12ZXJib3NlICBbQmVybmhhcmQgVm9lbGtlcl0KKyAgIC0gbmV3IGNvbW1hbmQgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHJlcGxhY2UgbGltc1tpXSB3aXRoIHBvaW50ZXIgIFtLYXJlbCBaYWtdCisgICAtIHJldHVybiBwcm9wZXIgdHlwZSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gcy9hbW91bnQvbnVtYmVyLyAgW0ppbSBNZXllcmluZ10KKyAgIC0gc2hvdyBhbGwgbGltaXRzIGlmIGNhbGxlZCB3aXRob3V0IG9wdGlvbnMgIFtCZXJuaGFyZCBWb2Vsa2VyXQorICAgLSB1c2UgeGFsbG9jIGxpYnMgIFtEYXZpZGxvaHIgQnVlc29dCityYXc6CisgICAtIGZpeCBzaGFkb3dpbmcgb2YgbWlub3IgZnVuY3Rpb24gIFttYXhpbWlsaWFuIGF0dGVtc10KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IHJldHVybiBbY3BwY2hlY2tdICBbU2FtaSBLZXJvbGFdCityZWFkcHJpZmlsZToKKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IG9wdHN0cmluZyBhcnJheSAgW0thcmVsIFpha10KK3JlYWRwcm9maWxlOgorICAgLSBhZGQgbG9uZyBvcHRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGxpYmMgZXJyb3IgcHJpbnRpbmcgZmFjaWxpdGllcyAgW1NhbWkgS2Vyb2xhXQorcnRjd2FrZToKKyAgIC0gYWxpZ24gd2l0aCBob3d0by11c2FnZS1mdW5jdGlvbi50eHQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGNyYXNoIChpbnZhbGlkIGZyZWUpICBbUGV0ciBVemVsXQorc2NyaXB0OgorICAgLSBmaXggYnVpbGRpbmcgd2l0aCAtLWRpc2FibGUtbmxzICBbTmF0YW5hZWwgQ29wYV0KKyAgIC0gbGliaW50bC5oIGluY2x1ZGVkIGluIG5scy5oICBbS2FyZWwgWmFrXQorICAgLSBub24tQU5TSSBkZWZpbml0aW9uIFtzbWF0Y2ggc2Nhbl0gIFtLYXJlbCBaYWtdCitzZWxpbnV4X3V0aWxzOgorICAgLSBmaXggY29kaW5nIHN0eWxlICBbU2FtaSBLZXJvbGFdCitzZXRhcmNoOgorICAgLSBhZGQgdmVyc2lvbiBwcmludGluZyAgW1NhbWkgS2Vyb2xhXQorICAgLSBtaW5vciBjaGFuZ2VzIHRvIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgb3B0aW9ucyBzdHJ1Y3QgdG8gZnVuY3Rpb24gc2NvcGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lICBbU2FtaSBLZXJvbGFdCitzZXRwd25hbToKKyAgIC0gZml4IGNvZGluZyBzdHlsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgbm9uLUFOU0kgZGVmaW5pdGlvbnMgW3NtYXRjaCBzY2FuXSAgW1NhbWkgS2Vyb2xhXQorc2V0c2lkOgorICAgLSBhZGQgIisiIHRvIGdldG9wdF9sb25nKCkgIFtIYXJhbGQgSG95ZXJdCisgICAtIGFkZCBsb25nIG9wdGlvbnMgYW5kIGZpeCBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KK3NldHRlcm06CisgICAtIG9yZGVyIG1hbiBwYWdlIGl0ZW1zIGFscGhhYmV0aWNhbGx5ICBbSmFyaSBBYWx0b10KK3NmZGlzazoKKyAgIC0gYWRkIGNvbW1lbnQgdG8ga2VlcCBzdGF0aWMgYW5hbHlzZXJzIGhhcHB5ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCBhbGlnbm1lbnQgdG8gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGZkIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaWxlIGRlc2NyaXB0b3IgaXMgb2YgaW50IHR5cGUgIFtQZXRyIFV6ZWxdCisgICAtIGZpeCBmZCBsZWFrICBbS2FyZWwgWmFrXQorICAgLSBmaXggcG9vciBjb2Rpbmcgc3R5bGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvIGluIGNkcm9tIGRldGVjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZml4IHdlaXJkIGluZGVudGF0aW9uIGluIG1zZG9zX3BhcnRpdGlvbigpICBbUGV0ciBVemVsXQorICAgLSBmcmVlIHZhcmlhYmxlIHdoaWNoIGdvdCB0aGUgYWxsb2NhdGlvbiBbY3BwY2hlY2tdICBbU2FtaSBLZXJvbGFdCisgICAtIGdldF9kaXNrc2l6ZSgpIHJldHVybnMgbG9uZyBsb25nICBbUGV0ciBVemVsXQorICAgLSBpbnRyb2R1Y2UgZ2V0X3VsbCgpIGZ1bmN0aW9uICBbUGV0ciBVemVsXQorICAgLSBtYWtlIHRoZSBjeWxpbmRlciBib3VuZGFyeSBjaGVjayBsZXNzIGZhdGFsICBbUGV0ciBVemVsXQorICAgLSByZW1vdmUgUEFDS0VEIG1hY3JvICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZGVhZCBhc3NpZ21lbnQgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBkb193YXJuICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSByZW1vdmUgZHVwbGljYXRlIGluY2x1ZGVzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZmF0YWwgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHNmZGlzay44IGZpeCBmb3JtYXR0aW5nICBbUGV0ciBVemVsXQorICAgLSB1c2UgaXNfYmxrZGV2ICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB1c2UgdW5zaWduZWQgbG9uZyBsb25nIHRvIGludGVybmFsbHkgcmVwcmVzZW50IHNlY3RvciBudW1iZXIgIFtQZXRyIFV6ZWxdCisgICAtIHdhcm4gaWYgcGFydGl0aW9uIGV4Y2VlZHMgcGFydGl0aW9uIHRhYmxlIGxpbWl0cyAgW1BldHIgVXplbF0KK3N3YXBvbjoKKyAgIC0gYWRkIGJyZWFrIHRvIGtlZXAgc3RhdGljIGFuYWx5c2VycyBoYXBweSAgW0thcmVsIFpha10KKyAgIC0gbWVyZ2Ugc3dhcF9jb25zdGFudHMuaCBpbnRvIHN3YXBvbi5jICBbS2FyZWwgWmFrXQorc3dpdGNoX3Jvb3Q6CisgICAtIGFkZCBubHMgc3VwcG9ydCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGlnbiB3aXRoIGhvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbG9zZSBvcGVuIGZpbGUgYWZ0ZXIgdXNhZ2UgW2NwcGNoZWNrXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBoYW5kbGUgL3J1biBhbmQgZG8gbm90IG1vdW50IG92ZXIgZXhpc3RpbmcgbW91bnRzICBbSGFyYWxkIEhveWVyXQorICAgLSB1bW91bnQgbW91bnQgcG9pbnRzIHdlIGNhbm5vdCBtb3ZlIHdpdGggTU5UX0RFVEFDSCAgW0hhcmFsZCBIb3llcl0KK3Rhc2tzZXQ6CisgICAtIHVzZSBhcHByb3ByaWF0ZSB2YXJpYWJsZSB0eXBlIFtjcHBjaGVja10gIFtTYW1pIEtlcm9sYV0KK3Rlc3Q6CisgICAtIHJlZnJlc2ggYnVpbGQtc3lzIHRlc3RzICBbS2FyZWwgWmFrXQordGVzdHM6CisgICAtIGFkZCAtLW1lbWNoZWNrIHRvICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYnVpbGQtc3lzIHJlZ3Jlc3Npb24gdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGV4Y2VwdGlvbnMgZm9yIGxpYm1vdW50ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIHZhbGdyaW5kICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbG9vcGRldiBsaWJtb3VudCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWtmcy5jYXJtZnMgdGVzdCBmb3Igc21hbGwgRlMgd2l0aCBkdXBsaWNhdGUgZmlsZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0c19mZGlza19jbGVhbiBmdW5jdGlvbiB0byBtYWtlIGZkaXNrIG91dHB1dCBjb21wYXJhYmxlICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSBhZGQgdmFsZ3JpbmQgdG8gbGlibW91bnQgY29udGV4dCB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHZhbGdyaW5kIHRvIGxpYm1vdW50IGNvbnRleHQgdXRhYiB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHZhbGdyaW5kIHRvIGxpYm1vdW50IGxvY2sgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB2YWxncmluZCB0byBsaWJtb3VudCB0YWIgcGFyc2UgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHZhbGdyaW5kIHRvIGxpYm1vdW50IHRhYmRpZmYgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB2YWxncmluZCB0byBsaWJtb3VudCB0YWdzIGV2YWwuIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgd2FsbCB0byBidWlsZC1zeXMgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGNhbGwgdmFsZ3JpbmQgZnJvbSBsaWJtb3VudCBvcHRzdHIgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gY2FsbCB2YWxncmluZCBmcm9tIGxpYm1vdW50IHV0aWxzIGFuZCB1cGRhdGUgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgaXNsb2NhbCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHBhdGhzICBbS2FyZWwgWmFrXQorICAgLSBmaXggbW91bnQvc3BlY2lhbCB0byBiZSBjb21wYXRpYmxlIHdpdGggbGlibW91bnQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBvcHRpb25zIGV2YWx1YXRpb24sIGFkZCBzdXBwb3J0IGZvciBvcHRpb25hbCB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBtaW5peCB0ZXN0cyBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIG9ic29sZXRlIGNoZWNrdHR5IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bmV4cGVjdGVkIHNldCAteCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVuc3VwcG9ydGVkIGxvc2V0dXAgLXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBmZGlzayBhbmQgYmxraWQgTUQgdGVzdHMgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHVwZGF0ZSBmZGlzayB0ZXN0cyAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gdXBkYXRlIHRlc3RzIHdpdGggZmRpc2sgb3V0cHV0ICBbS2FyZWwgWmFrXQordG9vbHM6CisgICAtIGFkZCBuZXcgY29kZSBjaGVja2luZyBzY3JpcHQgIFtEYXZlIFJlaXNuZXJdCisgICAtIHVzZSBncGctYWdnZW50IGluIGtvLXJlbGVhc2UtZ2VuICBbS2FyZWwgWmFrXQordHVuZWxwOgorICAgLSBhZGQgbG9uZyBvcHRpb25zIGFuZCBhbGlnbiB3aXRoIGhvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggY29kaW5nIHN0eWxlICBbU2FtaSBLZXJvbGFdCisgICAtIGZyZWUgYWxsb2NhdGlvbiwgdXNlIHhhbGxvYyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgbGliYyBlcnJvciBwcmludGluZyBmYWNpbGl0aWVzICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBzeW1ib2xpYyBleGl0IHZhbHVlcyAgW1NhbWkgS2Vyb2xhXQordW1vdW50OgorICAgLSAobmV3KSBmaXggcmVzb3VyY2UgbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIChuZXcpIHVzZSB0aGUgc2FtZSBleGl0IGNvZGVzIGFzIG1vdW50KDgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBicmVhayAgW0thcmVsIFpha10KKyAgIC0gYWRkIHdhcm5pbmcgIFtLYXJlbCBaYWtdCisgICAtIHJlc3BlY3QgZnMgc2VhcmNoIHBhdGggIFtNaWtlIEZyeXNpbmdlcl0KKyAgIC0gdXNlIG5ldyBsaWIvbG9vcGRldi5jIGNvZGUgIFtLYXJlbCBaYWtdCit1bnNoYXJlOgorICAgLSBhZGQgbm90ZSBhYm91dCBNU19TSEFSRUQgdG8gdW5zaGFyZS4xICBbS2FyZWwgWmFrXQorICAgLSBhbGlnbiB3aXRoIGhvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCAgW1NhbWkgS2Vyb2xhXQordXVpZGQ6CisgICAtIEFkZCBtaXNzaW5nIGJyZWFrIHRvIG9wdGlvbiBjYXNlIHN0YXRlbWVudCAgW0VyaWMgU2FuZGVlbl0KK3ZpcHc6CisgICAtIGRvbid0IG1vZGlmeSBlbnZpcm9ubWVudCwgY2hlY2sgc3RydG9rKCkgcmV0dXJuIHZhbHVlICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29kaW5nIHN0eWxlICBbU2FtaSBLZXJvbGFdCisgICAtIHN0b3AgcHJpbnRpbmcgbm9uLXNlbnNlIHZlcnNpb24gc3RyaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBsaWJjIGVycm9yIHByaW50aW5nIGZhY2lsaXRpZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHhhbGxvYy5oICBbS2FyZWwgWmFrXQord2hlcmVpczoKKyAgIC0gZml4IGdjYyB3YXJuaW5ncyBbLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHRva2VuIGFzc2lnbm1lbnQgaW50byBsb29wIHN5bnRheCAgW0thcmVsIFpha10KKyAgIC0gbm9uLUFOU0kgZGVmaW5pdGlvbiBbc21hdGNoIHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW51c2VkIHZhbHVlIHdhcm5pbmcgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHNlYXJjaCBpbiBwYXRoICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBzZWFyY2ggaW4gcGF0aCBmb3IgYmluYXJpZXMgb25seSAgW0thcmVsIFpha10KK3dpcGVmczoKKyAgIC0gYWRkIC10IDxsaXN0PiBvcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgLWEsIHVzZSBibGtpZF9kb193aXBlKCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSB4YWxsb2MgbGliICBbRGF2aWRsb2hyIEJ1ZXNvXQord3JpdGU6CisgICAtIGZpeCBwYXRoIGZvciBmcmVvcGVuKCkgIFtLYXJlbCBaYWtdCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjIyLVJlbGVhc2VOb3RlcyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjItUmVsZWFzZU5vdGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhNThhM2UKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjIyLVJlbGVhc2VOb3RlcwpAQCAtMCwwICsxLDExOTIgQEAKK1V0aWwtbGludXggMi4yMiBSZWxlYXNlIE5vdGVzIFtTZXAgNCwgMjAxMl0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworIFRoZSBjcnlwdG9sb29wIHN1cHBvcnQgaW4gdGhlIGNvbW1hbmRzIG1vdW50KDgpIGFuZCBsb3NldHVwKDgpIGlzIERFUFJFQ0FURUQuCisgVGhpcyBpcyB0aGUgbGFzdCByZWxlYXNlIHdoZXJlIGVuY3J5cHRpb249IG1vdW50IG9wdGlvbiBhbmQgLWUsLUUsLS1lbmNyeXB0aW9uCisgbG9zZXR1cCBvcHRpb25zIGFyZSBzdXBwb3J0ZWQuCisKK1JlbGVhc2UgaGlnaGxpZ2h0cworLS0tLS0tLS0tLS0tLS0tLS0tCisKK3BhcnR4KDgpOgorICAtIHRoZSBkZWZhdWx0IG91dHB1dCBoYXMgYmVlbiBjaGFuZ2VkLCB0aGUgbGVnYWN5IG91dHB1dCB3YXMgZGVwcmVjYXRlZCBmb3IKKyAgICBtb3JlIHRoYW4gMSB5ZWFyLiBVc2VycyB3aG8gZGVwZW5kIG9uIHRoZSBvbGQgb3V0cHV0IGZvcm1hdCBoYXZlIHRvIHVzZQorICAgIC0tbGlzdCBjb21tYW5kIGxpbmUgb3B0aW9uLgorCittb3VudCg4KSwgdW1vdW50KDgpLCBzd2Fwb24oOCksIGJsa2lkKDgpIGFuZCBmaW5kbW50KDgpOgorICAtIHN1cHBvcnRzIFBBUlRVVUlEPSBhbmQgUEFSVExBQkVMPSB0YWdzIHRvIHNwZWNpZnkgYmxvY2sgZGV2aWNlcyBieSBwYXJ0aXRpb24KKyAgICBVVUlEIG9yIExBQkVMIChmb3IgZXhhbXBsZSBmb3IgVUVGSSBHUFQpLiBUaGVzZSB0YWdzIGFyZSBmaWxlc3lzdGVtCisgICAgaW5kZXBlbmRlbnQgYW5kIHByb3ZpZGUgcGVyc2lzdGVudCBjb25maWd1cmF0aW9uICh5b3VyIC9ldGMvZnN0YWIgc2V0dGluZyAKKyAgICB3aWxsIG5vdCBiZSBhZmZlY3RlZCBieSBta2ZzL21rc3dhcCBjaGFuZ2VzKS4KKworZG1lc2coMSk6CisgIC0gcmVhZHMga2VybmVsIG1lc3NhZ2VzIGZyb20gL2Rldi9rbXNnIG9uIGtlcm5lbCAzLjUKKyAgLSBzdXBwb3J0cyBuZXcgb3B0aW9uIC0tZm9sbG93IHRvIHdhaXQgZm9yIG5ldyBtZXNzYWdlcyAgKGtlcm5lbCAzLjUgcmVxdWlyZWQpCisgIC0gc3VwcG9ydHMgbmV3IG9wdGlvbiAtLXJlbHRpbWUgdG8gcHJpbnQgaHVtYW4gcmVhZGFibGUgZGVsdGFzCisKK3N1KDEpOgorICAtIGhhcyBiZWVuIG1lcmdlZCBmcm9tIGNvcmV1dGlscyBpbnRvIHV0aWwtbGludXgKKyAgLSB1dGlscy1saW51eCB2ZXJzaW9uIHVzZXMgL2V0Yy9wYW0uZC9zdS1sIFBBTSBjb25maWcgZmlsZSBmb3IgLS1sb2dpbiAKKyAgICAoZS5nLiAic3UgLSIpIHNlc3Npb24uCisKK3N1bG9naW4oOCk6CisgIC0gaGFzIGJlZW4gbWVyZ2VkIGZyb20gc3lzdmluaXQgaW50byB1dGlsLWxpbnV4CisKK3V0bXBkdW1wKDEpOgorICAtIGhhcyBiZWVuIG1lcmdlZCBmcm9tIHN5c3Zpbml0IGludG8gdXRpbC1saW51eAorCitlamVjdCgxKToKKyAgLSBoYXMgYmVlbiBtZXJnZWQgZnJvbSBpbmFjdGl2ZSB1cHN0cmVhbSBmcm9tIHNmLm5ldCBhbmQgRmVkb3JhIGludG8gdXRpbC1saW51eAorICAtIHN1cHBvcnRzIG5ldyBvcHRpb25zIC0tbWFudWFsZWplY3QsIC0tZm9yY2UgYW5kIC0tbm8tcGFydGl0aW9ucy11bm1vdW50CisKK2xzbG9ja3MoMSkKKyAgLSB0aGlzIE5FVyBDT01NQU5EIHByaW50cyBsb2NhbCBzeXN0ZW0gbG9ja3MgYW5kIGl0J3MgcmVwbGFjZW1lbnQgdG8gdmVyeSAKKyAgICBsb25nIHRpbWUgdW5tYWludGFpbmVkIGxzbGsoMSkKKyAKK3dkY3RsKDgpOgorICAtIHRoaXMgTkVXIENPTU1BTkQgc2hvd3MgaGFyZHdhcmUgd2F0Y2hkb2cgc3RhdHVzCisKK21vdW50KDgpOgorICAtIHB1cmUgbGlibW91bnQgYmFzZWQgbW91bnQoOCkgYW5kIHVtb3VudCg4KSBjb21tYW5kIGFyZSBFTkFCTEVEIEJZIERFRkFVTFQKKyAgLSB0aGUgb2xkIG1vdW50KDgpIGFuZCB1bW91bnQoOCkgaW1wbGVtZW50YXRpb24gaXMgREVQUkVDQVRFRAorICAtIHRoZSBoeWJyaWQgbW91bnQoOCkgW29sZCBtb3VudCBsaW5rZWQgd2l0aCBsaWJtb3VudF0gaXMgbm90IHN1cHBvcnRlZCBhbnltb3JlCisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb25zIC0tc291cmNlIGFuZCAtLXRhcmdldCB0byBhdm9pZCBhbWJpdmFsZW50CisgICAgaW50ZXJwcmV0YXRpb24gaWYgb25seSBvbmUgYXJndW1lbnQgaXMgZ2l2ZW4KKworc3dhcG9uKDgpOgorICAtIHN1cHBvcnRzIG5ldyBvcHRpb24gLS1zaG93IHRvIHByaW50IGluZm9ybWF0aW9uIGFib3V0IHN3YXBzIGluIGRlZmluYWJsZQorICAgIGZvcm1hdAorCitmaW5kbW50KDgpOgorICAtIHN1cHBvcnRzIG5ldyBvcHRpb24gLS10YXNrIDxwaWQ+IHRvIHByaW50IHByaXZhdGUgdGFzayBtb3VudCB0YWJsZQorICAtIHN1cHBvcnRzIG5ldyBvcHRpb24gLS1kZiB0byBpbWl0YXRlIGRmKDEpCisKK2ZkaXNrKDgpCisgIC0gZG9lcyBub3QgcHJpbnQgZ2VvbWV0cnkgaW4gJ3AncmludCBvdXRwdXQgaW4gbm9uLURPUyBtb2RlCisKK2xpYnV1aWQ6CisgIC0gZG9lcyBOT1QgRVhFQ1VURSB1dWlkZCBvbiBkZW1hbmQsIHRoZSBkYWVtb24gaGFzIHRvIGJlIHN0YXJ0ZWQgYnkgCisgICAgaW5pdCBzY3JpcHRzIC8gc3lzdGVtZAorCit1dWlkZDoKKyAgLSBzdXBwb3J0cyBzb2NrZXQgYWN0aXZhdGlvbiAoZm9yIHN5c3RlbWQpCisgIC0gc3VwcG9ydHMgbmV3IG9wdGlvbnMgLW5vLWZvcmssIC0tbm8tcGlkIGFuZCAtLXNvY2tldC1hY3RpdmF0aW9uCisKK2Zsb2NrKDEpOgorICAtIHN1cHBvcnRzIG5ldyBvcHRpb24gLS1jb25mbGljdC1leGl0LWNvZGUgdG8gc3BlY2lmeSByZXR1cm4gY29kZQorCitmc2NrKDgpOgorICAtIHN1cHBvcnRzIG5ldyBvcHRpb24gLXIgdG8gcmVwb3J0IG1lbW9yeSBhbmQgcnVudGltZSBzdGF0aXN0aWNzCisKK2xzYmxrKDgpOgorICAtIHN1cHBvcnRzIGludmVyc2UgdHJlZXMgKG5ldyBvcHRpb24gLXMpIAorCitsb3NldHVwKDgpOgorICAtIHN1cHBvcnRzIG9wdGlvbiAtLWRldGFjaC1hbGwgdG8gZGV0YWNoIGFsbCBsb29wIGRldmljZXMKKworCitidWlsZC1zeXN0ZW0gY2hhbmdlczoKKyAgLSBsb2dpbigxKSBlbmFibGVkIGJ5IGRlZmF1bHQgKHNlZSAtLWRpc2FibGUtbG9naW4pCisgIC0gcGFydHgoOCkgZW5hYmxlZCBieSBkZWZhdWx0IChzZWUgLS1kaXNhYmxlLXBhcnR4KQorICAtIGtpbGwoMSkgZW5hYmxlZCBieSBkZWZhdWx0IChzZWUgLS1kaXNhYmxlLWtpbGwpCisgIC0gbmV3IG5vbi1yZWN1cnNpdmUgYnVpbGQtc3lzdGVtCisgIAorCitTdGFibGUgbWFpbnRlbmFuY2UgcmVsZWFzZXMgYmV0d2VlbiB2Mi4yMSBhbmQgdjIuMjIKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCit1dGlsLWxpbnV4IDIuMjEuMSBbMzAtTWFyLTIwMTJdCisKKyAqIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjIxL3YyLjIxLjEtUmVsZWFzZU5vdGVzCisgICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yMS92Mi4yMS4xLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjEuMiBbMjUtTWF5LTIwMTJdCisKKyAqIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjIxL3YyLjIxLjItUmVsZWFzZU5vdGVzCisgICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yMS92Mi4yMS4yLUNoYW5nZUxvZworCisKK0NoYW5nZXMgYmV0d2VlbiB2Mi4yMSBhbmQgdjIuMjIKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworIEZvciBtb3JlIGRldGFpbHMgc2VlIENoYW5nZUxvZyBmaWxlcyBhdDoKKyBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yMi8KKworYWRkcGFydDoKKyAgIC0gYWxpZ24gd2l0aCB1dGlsLWxpbnV4IGNvZGluZyBzdGFuZGFyZHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW1wcm92ZSBlcnJvciBtZXNzYWdlcyAgW0thcmVsIFpha10KK2FnZXR0eToKKyAgIC0gY2xvc2UgdHR5IGJlZm9yZSB2aGFuZ3VwKCkgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgdGNzZXRwZ3JwKCkgb3B0aW9uYWwgIFtLYXJlbCBaYWtdCisgICAtIG1vcmUgcm9idXN0IGRlYnVnKCkgbWFjcm8sIGNoZWNrIGlvY3RsIHJlc3VsdCBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgdmMgaW5pdGlhbGl6YXRpb24gdG8gdHR5dXRpbHMuaCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IHNsZWVwKDEwKSAgW01hbnRhcyBNaWt1bMSXbmFzXQorICAgLSB1c2UgY29uZmlndXJlZCBydW4gc3RhdGUgZGlyZWN0b3J5ICBbU2FtaSBLZXJvbGFdCithbGwgZmlsZXM6CisgICAtIG1ha2UgbW9zdCB2YXJpYWJsZXMgc3RhdGljIGFuZCBjb25zdCB3aGVuIHBvc3NpYmxlLiBkZWNsYXJlIGxvdHMgb2YgZnVuY3Rpb25zIHN0YXRpYy4gIFtKaW0gTWV5ZXJpbmddCithcmNoLCBlamVjdCwgZWx2dHVuZToKKyAgIC0gR3JhY2VmdWxseSBkaXNhYmxlIG9uIG5vbi1MaW51eCBwbGF0Zm9ybXMuICBbVGhvbWFzIFNjaHdpbmdlXQorYmxrZGV2OgorICAgLSBhZGQgYmxrZGV2X3Njc2lfdHlwZV90b19uYW1lKCkgIFtTYW1pIEtlcm9sYV0KK2Jsa2lkOgorICAgLSBhZGQgREVWTkFNRT0gdG8gZXhwb3J0IG91dHB1dCBmb3JtYXQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBkb2NzIGFib3V0IFBBUlRVVUlEPSBhbmQgUEFSVExBQkVMPSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vdGUgYWJvdXQgdmFyaWFibGUgdGFncyBhbmQgZGV2aWNlcyBvcmRlci4gIFtLYXJlbCBaYWtdCisgICAtIGZpeCByZWFsbG9jIG1lbW9yeSBsZWFrIFtjcHBjaGVja10gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHNoYWRvdyBkZWNsYXJhdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbnRyb2R1Y2Ugc3ltYm9saWMgbmFtZXMgZm9yIGRpZmZlcmVudCBibGtpZCBleGl0IGNvZGVzICBbUGV0ciBVemVsXQorICAgLSBzdG9wIGRldmljZSBwcm9iaW5nIGlmIGVycm9yIGlzIGRldGVjdGVkICBbUGV0ciBVemVsXQorICAgLSB1c2UgZXJyX2V4Y2x1c2l2ZV9vcHRpb25zKCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBleGNsdXNpdmVfb3B0aW9uKCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGdldF90ZXJtaW5hbF93aWR0aCgpIGZyb20gdHR5dXRpbHMuaCAgW1BldHIgVXplbF0KKyAgIC0gdXNlIHN0cnRvc2l6ZV9vcl9lcnIoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIHN5bWJvbGljIGV4aXQgY29kZSAgW1BldHIgVXplbF0KK2J1aWxkOgorICAgLSBmaXggcmVkdW5kYW50IHJlZGVjbGFyYXRpb24gd2FybmluZ3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHVudXNlZCBwYXJhbWV0ZXIgd2FybmluZ3MgIFtTYW1pIEtlcm9sYV0KK2J1aWxkLXN5czoKKyAgIC0gYWRkIC0tZGlhYmxlLXN1bG9naW4gKGVuYWJsZWQgYnkgZGVmYXVsdCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLWRpc2FibGUtbG9naW4gIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLWRpc2FibGUtc3UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLWVuYWJsZS1jaGZuLWNoc2ggIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLWVuYWJsZS1uZXdncnAgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLWVuYWJsZS12aXB3ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLVdhbGwgdG8gd2FybmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtV2Vycm9yIHRvIFVMX1dBUk5fQUREIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtV21pc3NpbmctZGVjbGFyYXRpb25zLCBzb3J0IHdhcm5pbmcgb3B0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gYWRkIC1XcmVkdW5kYW50LWRlY2xzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgQlVJTERfV0RDVEwsIGNoZWNrIGZvciBsaW51eC93YXRjaGRvZy5oICBbS2FyZWwgWmFrXQorICAgLSBhZGQgVUxfQ09ORkxJQ1RTX0JVSUxEIG00IG1hY3JvICBbS2FyZWwgWmFrXQorICAgLSBhZGQgVUxfUFJPR19DTEFORyBmdW5jdGlvbiwgcmVuYW1lIHdhcm5pbmdzLm00IC0+IGNvbXBpbGVyLm00ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYSBjcm9zc2NvbXBpbGUgcGF0aCBmb3Igc2NhbmZfY3ZfYWxsb2NfbW9kaWZpZXIgIFtTZWJhc3RpYW4gQW5kcnplaiBTaWV3aW9yXQorICAgLSBhZGQgY29tcGlsZXIgd2FybmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBlamVjdCB0byAuZ2l0aWdub3JlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZXhjbHVkZSBsaXN0IHRvIFVMX0FERF9XQVJOICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZmlsZXMgbWFrZSBjaGVjayBnZW5lcmF0ZXMgaW4gZ2l0aWdub3JlICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBmc3Byb2JlLmggdG8gZGlzdCAgW1BldHIgVXplbF0KKyAgIC0gYWRkIG1pbmlzZyBDT1BZSU5HIGZpbGVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBmaWxlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHBhZ2VyLmggdG8gTWFrZW1vZHVsZS5hbSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHJhbmR1dGlscy5oIHRvIGRpc3QgIFtQZXRyIFV6ZWxdCisgICAtIGFkZCBydW4uc2ggdG8gbWFrZSBjaGVjayBmb3Igbm9uLXJvb3QgdXNlcnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzZC1kYWVtb24uaCB0byBNYWtlbW9kdWxlLmFtICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3UgZXhlY3V0YWJsZSB0byAuZ2l0aWdub3JlICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBzd2Fwb24tY29tbW9uLmggdG8gc3dhcG9uIHNvdXJjZXMgKGZpeCBkaXN0Y2hlY2spICBbUGV0ciBVemVsXQorICAgLSBhZGQgdGVzdHMvcnVuLW5vbnJvb3Quc2ggdG8gYXV0b21ha2UgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHR0eXV0aWxzLmggdG8gZGlzdCAgW1BldHIgVXplbF0KKyAgIC0gYWx3YXlzIHVzZSBkZWZhdWx0ICQoTERBREQpICBbS2FyZWwgWmFrXQorICAgLSBjaGFuZ2UgLS1sb2NhbHN0YXRlZGlyIHRvIC9ydW4gIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW51cCAuZ2l0aWdub3JlIGZpbGVzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIG1vdW50IHN0dWZmIGluIGNvbmZpZ3VyZS5hbSAgW0thcmVsIFpha10KKyAgIC0gY29udmVydCBkaXNrLXV0aWxzLyB0byBtb2R1bGUgIFtLYXJlbCBaYWtdCisgICAtIGNvbnZlcnQgaW5jbHVkZS8gdG8gbW9kdWxlICBbS2FyZWwgWmFrXQorICAgLSBjb252ZXJ0IGxpYi8gdG8gbGliY29tbW9uLmxhICBbS2FyZWwgWmFrXQorICAgLSBjb252ZXJ0IGxpYi8gdG8gbW9kdWxlICBbS2FyZWwgWmFrXQorICAgLSBjb252ZXJ0IGxpYmJsa2lkLyB0byBtb2R1bGUgIFtLYXJlbCBaYWtdCisgICAtIGNvbnZlcnQgbGlibW91bnQvIHRvIG1vZHVsZSAgW0thcmVsIFpha10KKyAgIC0gY29udmVydCBsaWJ1dWlkLyB0byBtb2R1bGUgIFtLYXJlbCBaYWtdCisgICAtIGNvbnZlcnQgbG9naW4tdXRpbHMvIHRvIG1vZHVsZSAgW0thcmVsIFpha10KKyAgIC0gY29udmVydCBtaXNjLXV0aWxzLyB0byBtb2R1bGUgIFtLYXJlbCBaYWtdCisgICAtIGNvbnZlcnQgbW91bnQvIHRvIG1vZHVsZSwgcmVuYW1lIHRvIG1vdW50LWRlcHJlY2F0ZWQvICBbS2FyZWwgWmFrXQorICAgLSBjb252ZXJ0IHNjaGVkdXRpbHMvIHRvIG1vZHVsZSAgW0thcmVsIFpha10KKyAgIC0gY29udmVydCBzeXMtdXRpbHMvIHRvIG1vZHVsZSAgW0thcmVsIFpha10KKyAgIC0gY29udmVydCB0ZXJtLXV0aWxzLyB0byBtb2R1bGUgIFtLYXJlbCBaYWtdCisgICAtIGNvbnZlcnQgdGVzdHMvIHRvIG1vZHVsZSAgW0thcmVsIFpha10KKyAgIC0gY29udmVydCB0ZXh0LXV0aWxzLyB0byBtb2R1bGUgIFtLYXJlbCBaYWtdCisgICAtIGNyZWF0ZSBzdGF0aWMgdXVpZF9nZW5lcmF0ZV8qLjMgZmlsZXMgIFtLYXJlbCBaYWtdCisgICAtIGRlZmF1bHQgdG8gbmV3IHN5cy11dGlscy9tb3VudC5jLCBhZGQgLS1lbmFibGUtZGVwcmVjYXRlZC1tb3VudCAgW0thcmVsIFpha10KKyAgIC0gZGVmaW5lIHBlci10ZXN0IC1EVEVTVF9QUk9HUkFNIGluIGxpYi8gIFtLYXJlbCBaYWtdCisgICAtIGRldGVybWluZSBhdmFpbGFiaWxpdHkgb2YgX19mcGVuZGluZygpICBbU2FtaSBLZXJvbGFdCisgICAtIGRpc2FibGUgY2hrZHVwZXhlIGJ5IGRlZmF1bHQsIG1hcmsgYXMgZGVwcmVjYXRlZCAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgY29tcGlsZSBsaWJ7bW91bnQsYmxraWR9IHRlc3RzIHdoZW4gLS1kaXNhYmxlLXN0YXRpYyBzcGVjaWZpZWQgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGNyZWF0ZSBlbXB0eSBtYW4vcnUgZGlyZWN0b3J5ICBbS2FyZWwgWmFrXQorICAgLSBlbmFibGUgbGlibW91bnQgYW5kIGxpYmJsa2lkIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIGVuaGFuY2UgcmVhZGFiaWxpdHkgb2YgdGhlIGF1dG90b29scyBmaWxlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBlbnN1cmUgQlVJTERfQ0ZESVNLIGlzIGFsd2F5cyBkZWZpbmVkICBbRGF2ZSBSZWlzbmVyXQorICAgLSBleGNsdWRlIHNvbWUgQ0Mgd2FybmluZ3MgZm9yIGNsYW5nICBbS2FyZWwgWmFrXQorICAgLSBleHBhbmQgcGF0aHMgYXQgbWFrZSB0aW1lICBbS2FyZWwgWmFrXQorICAgLSBmaXggYnVpbGQgd2l0aG91dCBsaWJzICBbS2FyZWwgWmFrXQorICAgLSBmaXggY2hrZHVwZXhlIHJlZ3Jlc3Npb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGRlc2NyaXB0aW9uIG9mIHV0bXBkdW1wIGNvbmZpZ3VyZSBvcHRpb24gIFtQZXRyIFV6ZWxdCisgICAtIGZpeCBzd2FwbGFiZWwgIFtLYXJlbCBaYWtdCisgICAtIGlnbm9yZSAuZGlyc3RhbXAgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gaW5jbHVkZSBjb3JyZWN0IHNvdXJjZSBmaWxlIGZvciBjaHNoICBbRGF2ZSBSZWlzbmVyXQorICAgLSBpbmNsdWRlIHRvb2xzL2dpdC12ZXJzaW9uLWdlbiBpbiB0aGUgdGFyYmFsbCAgW1BldHIgVXplbF0KKyAgIC0gbWFrZSB0aGUgY3Jvc3Njb21waWxlIHBhdGggZm9yIHNjYW5mX2N2X2FsbG9jX21vZGlmaWVyIGNsZXZlciAgW1NlYmFzdGlhbiBBbmRyemVqIFNpZXdpb3JdCisgICAtIG1vdmUgY29uZmlndXJlIGxvZ2luIG9wdGlvbnMgdG8gb25lIHBsYWNlICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIGdldG9wdCB0byBtaXNjLXV0aWxzLyAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBod2Nsb2NrIHRvIHN5cy11dGlscy8gIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgb2Jzb2xldGUgbGliL2ZzcHJvYmUgdG8gbW91bnQvICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHBhcnR4IHRvIGRpc2stdXRpbHMvICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHRlc3RzIHRvIGNoZWNrX1BST0dSQU1TICBbS2FyZWwgWmFrXQorICAgLSBub3RlIHN1bG9naW4gaW4gY29uZmlndXJlIGhlbHAgIFtLYXJlbCBaYWtdCisgICAtIHJlbGVhc2UrKyAodjIuMjItcmMxKSAgW0thcmVsIFpha10KKyAgIC0gcmVsZWFzZSsrICh2Mi4yMi1yYzIpICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgLURVU0VfUEFNPTEgZm9yIHN1KDEpICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgaW5jbHVkZS1NYWtlZmlsZS5hbSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVudXNlZCBmdW5jdGlvbiBhbmQgaGVhZGVyIGNoZWNrcyAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW5hbWUgZmRpc2sgLT4gZmRpc2tzLywgY29udmVydCB0byBtb2R1bGUgIFtLYXJlbCBaYWtdCisgICAtIHJ1biBkaXN0Y2hlY2sgd2l0aCB2ZXJib3NlIG1ha2UgcnVsZXMgIFtQZXRyIFV6ZWxdCisgICAtIHMvcnVtYW4vcnVtYW4xLyAgW0thcmVsIFpha10KKyAgIC0gc3VpZCBzdSBpbiBtYWtlIGluc3RhbGwgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgc2VwYXJhdGUgbGliaW50bCAgW0thcmVsIFpha10KKyAgIC0gdXNlIHNsYXNoIGZvciBiaW5hcmllcyBpbiBnaXRpZ25vcmUgIFtLYXJlbCBaYWtdCitidWlsZC1zeXN0ZW06CisgICAtIGVuYWJsZSBhdXRvbWFrZSBzdWJkaXItb2JqZWN0cyAgW0thcmVsIFpha10KK2NhbDoKKyAgIC0gRml4IGJ1aWxkaW5nIHVuZGVyIHVDbGliYy4gIFtKYW1lcyBMZSBDdWlyb3RdCitjaGNwdToKKyAgIC0gdXNlIGVycl9leGNsdXNpdmVfb3B0aW9ucygpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZXhjbHVzaXZlX29wdGlvbigpICBbU2FtaSBLZXJvbGFdCitjaGVja3hhbGxvYzoKKyAgIC0gbnVkZ2UgcmVnZXgsIGZpeCBuZXdmb3VuZCBpbnN0YW5jZXMgIFtEYXZlIFJlaXNuZXJdCitjaGZuOgorICAgLSB1c2UgcGF0aG5hbWVzLmggZm9yIHBhdGhzICBbU2FtaSBLZXJvbGFdCitjaHNoOgorICAgLSB1c2UgcGF0aG5hbWVzLmggZm9yIHBhdGhzICBbU2FtaSBLZXJvbGFdCitjb2xybToKKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XbWlzc2luZy1wcm90b3R5cGVzXSAgW0thcmVsIFpha10KK2NvbHVtbjoKKyAgIC0gLS1zZXBhcmF0b3Igc2VnZmF1bHRzICBbQiBXYXRzb25dCitjeXR1bmU6CisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV21pc3NpbmctcHJvdG90eXBlc10gIFtLYXJlbCBaYWtdCitkZGF0ZToKKyAgIC0gcnVzc2lhbiBtYW51YWwgbWlzc2luZyBmcm9tIHBhY2thZ2UgIFtTYW1pIEtlcm9sYV0KK2RlbHBhcnQ6CisgICAtIGFsaWduIHdpdGggdXRpbC1saW51eCBjb2Rpbmcgc3RhbmRhcmRzICBbU2FtaSBLZXJvbGFdCisgICAtIGltcHJvdmUgZXJyb3IgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCitkaXNrLXV0aWxzOgorICAgLSBjbGVhbnVwIHN0cnRveHhfb3JfZXJyKCkgIFtLYXJlbCBaYWtdCisgICAtIHZlcmlmeSB3cml0aW5nIHRvIHN0cmVhbXMgd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KK2RtZXNnOgorICAgLSBhZGQgLS1mb2xsb3cgZmVhdHVyZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tcmVsdGltZSB0byBwcmludCBodW1hbiByZWFkYWJsZSBkZWx0YXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXN5c2xvZyB0byBmb3JjZSB0byBvbGQgc3lzbG9nKDIpIGludGVyZmFjZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZpbGViYWNrIGZvciBTRUVLX0RBVEEgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgZXhjbHVzaXZlX29wdGlvbigpIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwLCBtb3ZlIG1vcmUgc3R1ZmYgdG8gY29udHJvbCBzdHJ1Y3QgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBrbXNnIHJlYWQgaWYgcmVhZCByZXR1cm5zIEVQSVBFICBbTWlsYW4gQnJvel0KKyAgIC0gZml4IGttc2cgdXNhYmlsaXR5IGRldGVjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8gaW4gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBpbXBsZW1lbnQgYmFja3dhcmRseSBjb21wYXRpYmxlIC0tcmF3IGZvciAvZGV2L2ttc2cgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgZXJyIGhhbmRsaW5nIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGluZm9ybSB1c2VyIHdoZW4ga2xvZ2N0bCgpIG9yIHJlYWRfYnVmZmVyKCkgZmFpbHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbW92ZSBmaWxlbmFtZSB0byBjb250cm9sIHN0cnVjdCAgW0thcmVsIFpha10KKyAgIC0gcmVhZCAvZGV2L2ttc2cgKHNpbmNlIGtlcm5lbCAzLjUuMCkgIFtLYXJlbCBaYWtdCisgICAtIHJlZmFjdG9yaW5nIGZvciBrbXNnIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgLS1jbGVhciBmb3Iga21zZyAgW0thcmVsIFpha10KKyAgIC0gdW5pZnkgaW50ZXJuYWwgQVBJcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGVycl9leGNsdXNpdmVfb3B0aW9ucygpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZXhjbHVzaXZlX29wdGlvbigpICBbU2FtaSBLZXJvbGFdCitkb2M6CisgICAtIGZpeCB0eXBvIGluIHYyLjIyLVJlbGVhc2VOb3RlcyAgW0Jlcm5oYXJkIFZvZWxrZXJdCitkb2NzOgorICAgLSBUT0RPIHJlbW92YWwsIGxkYXR0YWNoIHVzYWdlIGlzIGRvbmUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gVE9ETyByZW1vdmFsLCBsb2dpbi11dGlscyBlcnJvciBwcmludGluZyAgW1NhbWkgS2Vyb2xhXQorICAgLSBUT0RPIHJlbW92YWwsIHJwbWF0Y2ggdGFzayBpcyBkb25lICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCAgdjIuMjItUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZGVwcmVjYXRpb24gY29tbWVudHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIG5vdGUgYWJvdXQgZW5hYmxlZCBraWxsKDEpIHRvIHYyLjIyLVJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vdGUgYWJvdXQgbm9uLXJlY3Vyc2l2ZSBidWlsZC1zeXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub3RlIGFib3V0IHBhcnR4IG91dHB1dCBjaGFuZ2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBxdW90YSBtb3VudCBvcHRpb24gc3VwcG9ydCBkZXNjcmlwdGlvbiBmb3IgZXh0MiAgW0Jqw7ZybiBKYWNrZV0KKyAgIC0gYWRkIHN1LjEgbWFudWFsIHBhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHN5cy11dGlscy91bW91bnQuOCBtYW51YWwgcGFnZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGFyaWZ5IEtpQiB2cy4gS0IgaW4gbWFuIHBhZ2VzICBbQmVybmhhcmQgVm9lbGtlcl0KKyAgIC0gY2xlYW4gdXAgY2hjcHUuOCBtYW51YWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW4gdXAgZG1lc2cuMSBtYW51YWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW4gdXAgZ2V0b3B0LjEgbWFudWFsICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFuIHVwIGxvZ2luLjEgbWFudWFsICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFuIHVwIHBhcnR4LjggbWFudWFsICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFuIHVwIHN1bG9naW4uOCBtYW51YWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW4gdXAgdXRtcGR1bXAuMSBtYW51YWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW4gdXAgd2RjdGwuOCBtYW51YWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY29ycmVjdGlvbnMgdG8gRlNGIGxpY2Vuc2UgZmlsZXMsIGFuZCBwb3N0YWwgYWRkcmVzcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBkbyBub3Qgb3ZlcndyaXRlIGRkYXRlLjEgbWFudWFsICBbU2FtaSBLZXJvbGFdCisgICAtIGVqZWN0LjEgIGFsaWduIHdpdGggRG9jdW1lbnRhdGlvbi9ob3d0by1tYW4tcGFnZS50eHQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGFsbCBtYW4gcGFnZSBncm9mZiB3YXJuaW5ncyAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggZW1haWwgbWFjcm8gaW4gbWFudWFsIGV4YW1wbGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGZ1cnRoZXIgdHlwb3MgZm91bmQgYnkgbWlzc3BlbGxpbmdzICBbQmVybmhhcmQgVm9lbGtlcl0KKyAgIC0gZml4IHR5cG9zIGZvdW5kIGJ5IG1pc3NwZWxsaW5ncyAgW0Jlcm5oYXJkIFZvZWxrZXJdCisgICAtIGZ0cCBzZXJ2ZXIgZG9lcyBubyBsb25nZXIgc3VwcG9ydCB1dGlsLWxpbnV4LW5nICBbU2FtaSBLZXJvbGFdCisgICAtIG1hbiBwYWdlIHN5bnRheCBmaXhlcyAgW1ZpbGxlIFNreXR0w6RdCisgICAtIG1hcmsgdWRldiBhbmQgbGlzdCBibGtpZCg4KSBvdXRwdXQgZm9ybWF0cyBkZXByZWNhdGVkICBbS2FyZWwgWmFrXQorICAgLSBtZW50aW9uIHRoZSByZXF1aXJlZCBtb3VudCBvcHRpb25zIGZvciBqb3VybmFsZWQgdmVyc2lvbiAyIHF1b3RhICBbQmrDtnJuIEphY2tlXQorICAgLSBtb3ZlIGZzdGFiLjUgdG8gc3lzLXV0aWxzIChtb3VudC8gZGlyIGlzIGRlcHJlY2F0ZWQpICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW51c2VkIGNvbmZpZy90ZXhpbmZvLnRleCAgW0thcmVsIFpha10KKyAgIC0gcmV3cml0ZSBzdS4xIG1hbnVhbCAgW0x1ZHdpZyBOdXNzZWxdCisgICAtIHRlbGwgYWJvdXQgaXJjIGNoYW5uZWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXBkYXRlIEFVVEhPUlMgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIFRPRE8gIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBUT0RPICBbU2FtaSBLZXJvbGFdCisgICAtIHVwZGF0ZSBUT0RPIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBob3d0by10ZXN0cy50eHQgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSB0ZXN0cyBkb2NzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgdjIuMjItUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorZWplY3Q6CisgICAtIGFkZCAtLWZvcmNlIG9wdGlvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tbWFudWFsZWplY3QgZnJvbSBmZWRvcmEgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCAgW0thcmVsIFpha10KKyAgIC0gYWRkIC1YIGZyb20gRmVkb3JhICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyB0byBhZGRyZXNzIGRldmljZSBieSBMQUJFTC9VVUlEICBbS2FyZWwgWmFrXQorICAgLSBicmllZmVyIHVzYWdlICBbTWljaGFsIEx1c2Nvbl0KKyAgIC0gY2FsbCB1bW91bnQgPG1vdW50cG9pbnQ+IHJhdGhlciB0aGFuIDxkZXZpY2U+ICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBmb3IgaG90cGx1Zy9yZW1vdmFibGUgYXR0cmlidXRlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1bm1vdW50X2RldmljZXMoKSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgYXJndiBwYXJzaW5nIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIGRldm5hbWUgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIGVqZWN0XyogZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBpbmNsdWRlcyAgW01pY2hhbCBMdXNjb25dCisgICAtIGNsZWFuIHVwIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCB1bW91bnQgc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIHZlcmJvc2UgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdW1vdW50IGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gY2xvc2Ugb3BlbiBmaWxlIFtjcHBjaGVja10gIFtTYW1pIEtlcm9sYV0KKyAgIC0gY29kaW5nIHN0eWxlIGZpeGVzICBbS2FyZWwgWmFrXQorICAgLSBjb25zdGlmeSBhcnJheSAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSBkb24ndCB0cnkgdG8gdXNlIG5vbi1kZXZpY2UgcGF0aCAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XbWlzc2luZy1wcm90b3R5cGVzXSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV2Zvcm1hdF0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzaGFkb3cgZGVjbGFyYXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW1wcm92ZSB3b3JrIHdpdGggcGFydGl0aW9uZWQgZGV2aWNlcyAgW0thcmVsIFpha10KKyAgIC0gaW5mb3JtIGlmIENELVJPTSBkcml2ZSBpcyBub3QgcmVhZHkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW5mb3JtIHdoeSBvcGVuIGZhaWxlZCAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbml0aWFsIG1lcmdlIGVqZWN0IGFuZCB1dGlsLWxpbnV4ICBbTWljaGFsIEx1c2Nvbl0KKyAgIC0gbWFrZSB0aGUgY29kZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIG1vZGlmaWNhdGlvbiBvZiBwYXJzZV9hcmcgZnVuY3Rpb24gIFtNaWNoYWwgTHVzY29uXQorICAgLSBuZXcgYXV0b19lamVjdCBjb2RlIGZyb20gRmVkb3JhICBbS2FyZWwgWmFrXQorICAgLSBuZXcgY2xvc2VfdHJheSBjb2RlIGZyb20gRmVkb3JhICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgTW91bnRhYmxlRGV2aWNlIGZ1bmN0aW9uICBbTWljaGFsIEx1c2Nvbl0KKyAgIC0gcmVtb3ZlIG9ic29sZXRlIGNvZGUsIHVzZSBFWElUXyogbWFjcm9zICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgY2hlY2tzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgZnVuY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSB2YXJpYWJsZSAgW0thcmVsIFpha10KKyAgIC0gcmVuYW1lIGhhbmRsZV94X29wdGlvbiB0byBzZXRfZGV2aWNlX3NwZWVkICBbS2FyZWwgWmFrXQorICAgLSByZXBsYWNlIENMT1NFIGFuZCBGQ0xPU0UgbWFjcm9zIGJ5IGVfY2xvc2UgYW5kIGVfZmNsb3NlIGZ1bmN0aW9ucyAgW01pY2hhbCBMdXNjb25dCisgICAtIHJlcGxhY2UgZnByaW50ZiB3aXRoIGVyciBhbmQgd2FybiAgW01pY2hhbCBMdXNjb25dCisgICAtIHJldHVybiBwcm9wZXIgMC8xIGZyb20gZWplY3RfY2Ryb20oKSAgW0RhdmUgUmVpc25lcl0KKyAgIC0gc2ltcGxpZnkgZmluZF9kZXZpY2UgIFtNaWNoYWwgTHVzY29uXQorICAgLSBzdXBwb3J0IENESU9DRUpFQ1QgaW9jdGwgIFtLYXJlbCBaYWtdCisgICAtIHVuaWZpY2F0aW9uIG9mIGNvZGluZyBzdHlsZSAgW01pY2hhbCBMdXNjb25dCisgICAtIHVzZSBCVUlMRF9FSkVDVCwgbW92ZSB0byBzeXMtdXRpbHMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBDRFJPTV9EUklWRV9TVEFUVVMgaWYgYXZhaWxhYmxlIGZvciB0cmF5IHRvZ2dsaW5nICBbTWlrZSBGcnlzaW5nZXJdCisgICAtIHVzZSBTR19JTyBpb2N0bCBmb3Igc2NzaSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGNhbm9uaWNhbGl6ZV9wYXRoIHRvIHRyZWF0IHN5bWJvbGljIGxpbmtzICBbTWljaGFsIEx1c2Nvbl0KKyAgIC0gdXNlIGxpYm1vdW50IHRvIGRldGVjdCBpZiBjZHJvbSBpcyBtb3VudGVkICBbS2FyZWwgWmFrXQorICAgLSB1c2UgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUgaW5zdGVhZCBvZiBwcm9ncmFtTmFtZSAgW01pY2hhbCBMdXNjb25dCisgICAtIHVzZSB4c3RyZHVwKCkgIFtLYXJlbCBaYWtdCisgICAtIHZlcmlmeSB3cml0aW5nIHRvIHN0cmVhbXMgd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KK2VqZWN0KDEpOgorICAgLSBmaXggdHlwbyBpbiBtb3VudCgxKSByZWZlcmVuY2UgIFtNaWtlIEZyeXNpbmdlcl0KK2ZhbGxvY2F0ZToKKyAgIC0gYWRkIC0tdmVyc2lvbiBhbmQgYWxpZ24gd2l0aCBob3d0by11c2FnZS1mdW5jdGlvbi50eHQgIFtTYW1pIEtlcm9sYV0KK2ZkaXNrOgorICAgLSAoZG9zKSBjbGVhbnVwIGZ1bmN0aW9uIG5hbWVzICBbS2FyZWwgWmFrXQorICAgLSBBUEkgIGFkZCBkZWxldGUgcGFydGl0aW9uIHRvIGxhYmVsIG9wZXJhdGlvbnMgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIEFQSSAgYWRkIGZkaXNrX2xhYmVsX2NoYW5nZSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gQVBJICBhZGQgZ2VvbWV0cnkgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIEFQSSAgYWRkIGxhYmVsIHByb2JpbmcgZnVuY3Rpb25hbGl0eSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gQVBJICBhZGQgbWJyICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBBUEkgIGFkZCBuZXcgcGFydGl0aW9uIHRvIGxhYmVsIG9wZXJhdGlvbnMgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIEFQSSAgYWRkIHRvIGxhYmVsIG9wZXJhdGlvbnMgdG8gY29udGV4dCAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gQVBJICBhZGQgdG9wb2xvZ3kgZGVidWcgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIEFQSSAgYWRkIHZlcmlmeSB0byBsYWJlbCBvcGVyYXRpb25zICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBBUEkgIGFkZCB3cml0ZSB0byBsYWJlbCBvcGVyYXRpb25zICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBBUEkgIGNvbW1lbnQgbGFiZWxzIGFycmF5ICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBBUEkgIGZpeCBmZGlza19hZGRfcGFydGl0aW9uIGNvbW1lbnQgc3R5bGUgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGFkZCBhbiBxdWl0L2V4aXQgaGFuZGxpbmcgZnVuY3Rpb24gIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGFkZCBkZWJ1ZyBzdXBwb3J0ICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBhZGQgZGV2aWNlIHRvcG9sb2d5IHRvIHRoZSBBUEkgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGFkZCBmZGlza19kZXZfc2VjdHN6X2lzX2RlZmF1bHQgaGVscGVyICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBhZGQgbm9yZXR1cm4gZnVuY3Rpb24gYXR0cmlidXRlICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCByZWFkb25seSBvcHRpb24gdG8gZmRpc2tfbmV3X2NvbnRleHRfZnJvbV9maWxlbmFtZSgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc29tZSBkZWJ1ZyBtZXNzYWdlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRvdGFsIHNlY3RvcnMgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGFpeCAgZml4IHdhcm5pbmcgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGFpeCAgcmVtb3ZlIG1hZ2ljIGFpeGxhYmVsIG1hY3JvLCBtYXJrIHVudXNlZCBwYXJhbWV0ZXJzICBbS2FyZWwgWmFrXQorICAgLSBhbHdheXMgcHJpbnQgdG90YWwgbnVtYmVyIG9mIHNlY3RvcnMgIFtQZXRyIFV6ZWxdCisgICAtIGFsd2F5cyB1c2Ugc3RkZXJyIGZvciBkZWJ1ZyBtZXNzYWdlcyAgW0thcmVsIFpha10KKyAgIC0gYnNkICBtYXJrIHVudXNlZCBwYXJhbWV0ZXJzICBbS2FyZWwgWmFrXQorICAgLSBjYXN0IGJlZm9yZSBjb3VudCBzaXplICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHN0cnRveHhfb3JfZXJyKCkgIFtLYXJlbCBaYWtdCisgICAtIGNyZWF0ZSBET1Mgc3BlY2lmaWMgd3JpdGUgdGFibGUgZnVuY3Rpb24gIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGRlLWR1cGxpY2F0ZSBkaXNrIGxhYmVsIHN0cmluZ3MgIFtCZXJuaGFyZCBWb2Vsa2VyXQorICAgLSBkbyBub3QgY2FsbCBzZ2kgYW5kIHN1biBjb2RlIHdoZW4gY3JlYXRpbmcgYSBuZXcgZG9zIGxhYmVsICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBkb2N1bWVudCBGRElTS19ERUJVRyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gZG9uJ3QgY2FsbCB1cGRhdGVfdW5pdHMoKSBpbiBsYWJlbCBwcm9iZXMgaWYgbm90IG5lY2Vzc2FyeSAgW1BldHIgVXplbF0KKyAgIC0gZG9uJ3QgaWdub3JlIDFNaUIgZ3JhbnVsYXJpdHkgb24gNTEyLWJ5dGUgc2VjdG9yIGRldmljZXMgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHByaW50IENIUyBnZW9tZXRyeSB1bmxlc3MgRE9TIGNvbXBhdGlibGUgbW9kZSBpcyBzZXQgIFtQZXRyIFV6ZWxdCisgICAtIGRvbid0IHByaW50IGNvbmZ1c2luZyB3YXJuaW5nIG9uIG5vbi1wYXJ0aXRpb25lZCBkaXNrcyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgcHJpbnQgd2VsY29tZSBtZXNzYWdlIHRvIHN0ZGVyciAgW0thcmVsIFpha10KKyAgIC0gZG9zICBtYXJrIHVudXNlZCBwYXJhbWV0ZXJzICBbS2FyZWwgWmFrXQorICAgLSBkb3MgIHVzZSBzZWN0b3JfdCAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gZXh0ZW5kIGNvbW1lbnRzIGZvciBmZGlza19uZXdfY29udGV4dCgpICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVdICBbUGV0ciBVemVsXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVdwb2ludGVyLXNpZ25dICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVd1bnVzZWQtdmFyaWFibGVdICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1Xc2lnbi1jb21wYXJlXSAgW0thcmVsIFpha10KKyAgIC0gZml4IGVycm9yIG1lc3NhZ2UgZm9yIHRvbyBzbWFsbCBkZXZpY2VzICBbS2FyZWwgWmFrXQorICAgLSBmaXggZmRpc2tkb3NsYWJlbC5jIGdsb2JhbCB2YXJpYWJsZXMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBpb19zaXplIHVzYWdlIGluIG5ldyBBUEkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtZW51ICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBmaXggc2VnZmF1bHQgb24gYnNkIGxhYmVsICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBmaXggdG8gYnVpbGQgZm9yIElBMzIgIFtDaHJpc3RpYW4gV2llc2VdCisgICAtIGZpeCB0eXBvICBbUGV0ciBVemVsXQorICAgLSBmaXggdHlwbyBpbiBjb21tZW50ICBbQmVybmhhcmQgVm9lbGtlcl0KKyAgIC0gZ2V0X2Jvb3QoKSBoYXMgdG8gZGllIChzdGVwIEkuKSAgW0thcmVsIFpha10KKyAgIC0gZ2V0X2Jvb3QoKSBoYXMgdG8gZGllIChzdGVwIElJLikgIFtLYXJlbCBaYWtdCisgICAtIGludHJvZHVjZSBmZGlzayBjb250ZXh0ICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBpbnRyb2R1Y2Ugc2VjdG9yX3QgdHlwZSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gaXNvbGF0ZSBkb3MgbGFiZWwgbG9naWMgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGtlcm5lbC9iaW9zIHNlY3RvcnMgYW5kIGhlYWRzIG5lZWQgbm90IGJlIGdsb2JhbCAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gbWFjICByZW1vdmUgbWFnaWMgbWFjbGFiZWwgbWFjcm8sIG1hcmsgdW51c2VkIHBhcmFtZXRlcnMgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgQ0hTIHVzZXIgdmFsdWVzIG1vcmUgcm9idXN0ICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBtYWtlIGdyYWluIGdsb2JhbCB2YXJpYWJsZSBwYXJ0IG9mIGZkaXNrX2NvbnRleHQoKSAgW1BldHIgVXplbF0KKyAgIC0gbWFrZSBpZiBjbGF1c2UgZWFzaWVyIHRvIHJlYWQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFrZSBsYWJlbCBBUEkgbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIG1hcmsgZG9zIGNvbXBhdGliaWxpdHkvQ0hTIG9wdGlvbnMgZGVwcmVjYXRlZCBpbiBtYW5wYWdlICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBtb3ZlIERPUyBnZW9tZXRyeSBjb2RlIGZyb20gZ2VuZXJpYyBwYXJ0IHRvIGxhYmVsIHNwZWNpZmljICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIERPUyBuZXcvYWRkIHBhcnRpdGlvbiBjb2RlICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBtb3ZlIGtlcm5lbCBnZW9tZXRyeSBpbnRvIGJsa2RldiAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gbW92ZSBsYWJlbCBzcGVjaWZpYyBzdHVmZiB0byBmZGlza2Rvc2xhYmVsLmMgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgdXNlciBnZW9tZXRyeSBzZXR0aW5nIGZyb20gZmRpc2suYyB0byBBUEkgIFtLYXJlbCBaYWtdCisgICAtIHJlZmFjdG9yIC1zIG9wdGlvbiAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gcmVtb3ZlIGFjdGlvbiBlbnVtICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSByZW1vdmUgYm9ndXMgc3RhdGVtZW50ICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSByZW1vdmUgZGVhZCBjb2RlICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSByZW1vdmUgZHVtbXkgZnVuY3Rpb24gIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHJlbW92ZSBsaXN0aW5nIHZhcmlhYmxlICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSByZW1vdmUgc3RhY2sganVtcGluZyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gcmVtb3ZlIHVudXNlZCBmaWxlICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW51c2VkIGZ1bmN0aW9uIGRlY2xhcmF0aW9uICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSByZW1vdmUgdW51c2VkIGhzYzJzZWN0b3IgbWFjcm8gIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdXNlbGVzcyBjb21tZW50cyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gcmVtb3ZlIHVzZXIgc3BlY2lmaWVkIHNlY3RvciBzaXplIGdsb2JhbCB2YXJpYWJsZSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gcmVuYW1lIGN4dC0+bWJyIGJ1ZmZlciB0byBjeHQtPmZpcnN0c2VjdG9yICBbS2FyZWwgWmFrXQorICAgLSByZW5hbWUgbGFiZWwgcHJvYmluZyBmdW5jdGlvbnMgIFtQZXRyIFV6ZWxdCisgICAtIHJldHVybiBzdWNjZXNzIGZyb20gc2dpX2NyZWF0ZV9kaXNrbGFiZWwgIFtQZXRyIFV6ZWxdCisgICAtIHJld29yayBmYXRhbCBlcnJvcnMgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHNldCBsYWJlbCBwb2ludGVyIGluIGZkaXNrX2NyZWF0ZV9kZWZhdWx0X2Rpc2tsYWJlbCgpICBbS2FyZWwgWmFrXQorICAgLSBzZ2kgIGFib3J0IG9uIEhESU9fR0VUR0VPIGZhaWx1cmUgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHNnaSAgcmVtb3ZlIHVudXNlZCBjb2RlICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBzZ2kgIHJlbW92ZSB1bnVzZWQgZnVuY3Rpb24gIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHNnaSAgdXNlIHNlY3Rvcl90ICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBzZ2kgIHVzZSB4Y2FsbG9jKCkgIFtLYXJlbCBaYWtdCisgICAtIHNpbXBsaWZ5IGRldmljZSBvcGVuaW5nICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBzdGFuZGFyaXplIHZlcnNpb24gb3V0cHV0ICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBzdG9wIGJ1ZmZlcmluZyB3ZWxjb21lIG1lc3NhZ2UgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHN1biAgcmVtb3ZlIHVudXNlZCBmdW5jdGlvbiAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gc3VuICB1c2Ugc2VjdG9yX3QgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHRlc3RzICB1cGRhdGUgb2RkaW5wdXQgdGVzdCAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gdXNlIEJTRCBsYWJlbCBoZWFkZXIgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHVzZSBFWElUX1NVQ0NFU1MgZm9yIC1sIG9wdGlvbiAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gdXNlIGNvbnRleHQgYXMgYSBwYXJhbWV0ZXIgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHVzZSBtZW1zZXQoKSByYXRoZXIgdGhhbiBiemVybygpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgcmFuZHV0aWxzIGZvciBtYnIgc2lnbmF0dXJlIGNyZWF0aW9uICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB2ZXJpZnkgd3JpdGluZyB0byBzdHJlYW1zIHdhcyBzdWNjZXNzZnVsICBbU2FtaSBLZXJvbGFdCitmaWxldXRpbHM6CisgICAtIGRpZmZlcmVudGlhdGUgeG1rc3RlbXAgYW5kIHhmbWtzdGVtcCAgW1NhbWkgS2Vyb2xhXQorICAgLSB4bWtzdGVtcCgpIGludGVyZmFjZSBjaGFuZ2UgIFtEYXZlIFJlaXNuZXJdCitmaW5kZnM6CisgICAtIGFkZCAtLXZlcnNpb24gJiBhbGlnbiB3aXRoIGhvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCAgW1NhbWkgS2Vyb2xhXQorZmluZG1udDoKKyAgIC0gYWRkIC0tdGFzayA8dGlkPiBvcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXZlcnNpb24gJiBhbGlnbiB3aXRoIGhvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgLUQsIC0tZGYgb3B0aW9uIHRvIGltaXRhdGUgZGYoMSkgIFtEYXZlIFJlaXNuZXJdCisgICAtIGFkZCAtUCwgLS1wYWlycyB0byB0aGUgbWFuIHBhZ2UgIFtCaWxsIFBlbWJlcnRvbl0KKyAgIC0gYWRkIEZTIHNpemUsIGF2YWlsLCB1c2VkLCBhbmQgdXNlJSBjb2x1bW5zICBbRGF2ZSBSZWlzbmVyXQorICAgLSBhZGQgRlNST09UIGNvbHVtbiAgW0RhdmUgUmVpc25lcl0KKyAgIC0gYWRkIFRJRCBjb2x1bW4gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtYXRjaF9ieV9maWxlIHRvIGRvIHdpdGhpbi1kZXZpY2UgbWF0Y2hpbmcgIFtEYXZlIFJlaXNuZXJdCisgICAtIGFkZCBub3RlIGFib3V0IFx4PGhleD4gdG8gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciBQQVJUVVVJRD0gYW5kIFBBUlRMQUJFTD0gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciBtYWogbWluIHNvdXJjZSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdXNlIHRyZWUtbGlrZSBvdXRwdXQgaWYgbW9yZSAtRiBvcHRpb25zIHNwZWNpZmllZCAgW0thcmVsIFpha10KKyAgIC0gZmFsbGJhY2sgdG8gbW91bnRpbmZvIGZvciBwb2xsaW5nICBbRGF2ZSBSZWlzbmVyXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1XdW5pbml0aWFsaXplZF0gIFtQZXRyIFV6ZWxdCisgICAtIGZpeCB0eXBvIGluIG1hbnBhZ2UgIFtCZXJuaGFyZCBWb2Vsa2VyXQorICAgLSBpbXByb3ZlIC0tZGYgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSByZWZlcmVuY2UgY29ycmVjdCBtYW51YWwgc2VjdGlvbiAgW0RhdmUgUmVpc25lcl0KKyAgIC0gcmVtb3ZlIGR1YmxpY2F0ZSB1c2FnZSgpIGxpbmUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVzdHJpY3Qgd2l0aGluLWRldmljZSBtYXRjaGluZyAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCAtbyArPGF0dHI+IGZvciBhZGRpbmcgYXR0cmlidXRlIHRvIG91dHB1dCBmaWVsZHMuICBbTWlsYW4gQnJvel0KKyAgIC0gdXNlIGVycl9leGNsdXNpdmVfb3B0aW9ucygpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZXhjbHVzaXZlX29wdGlvbigpICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBzdC5zdF9iYXZhaWwgZm9yIGF2YWlsYWJsZSBjb2x1bW4gIFtEYXZlIFJlaXNuZXJdCisgICAtIHVzZSB4YXNwcmludGYoKSAgW0thcmVsIFpha10KK2Zsb2NrOgorICAgLSB1c2VyLWNvbmZpZ3VyYWJsZSBleGl0IGNvZGUgIFtKYW4gXCJZZW55YVwiIEthc3ByemFrXQorZnNjazoKKyAgIC0gQWRkIGEgLXIgb3B0aW9uIHRvIHJlcG9ydCBtZW1vcnkgYW5kIHJ1bnRpbWUgc3RhdGlzdGljcyAgW0ZyYW5rIE1heWhhcl0KKyAgIC0gY29kaW5nIHN0eXBlIGZpeGVzIChjYWxsb2MsIGVyciwgLi4uKSAgW0thcmVsIFpha10KKyAgIC0gY29zbWV0aWMgY2hhbmdlcyBpbiBjb2Rpbmcgc3R5bGUgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGR1cGxpY2F0ZSBleGl0IGNvZGUgbWFjcm9zICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBmcmVlIGZzdGFiIHRhYmxlIG9uIHBhcnNlIGZhaWx1cmUgIFtEYXZlIFJlaXNuZXJdCisgICAtIGRvbid0IHRyeSB0byBjYWxsIGZzY2sgZm9yIHVuZGVmaW5lZCBmcyB0eXBlICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29kaW5nIHN0eWxlICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHRvIGRpc2stdXRpbHMgZGlyZWN0b3J5ICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgc3RyaW5nX2NvcHkoKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGZzY2suaCAgW0thcmVsIFpha10KKyAgIC0gcmVwbGFjZSBmc3Byb2JlIHdpdGggbGlibW91bnQgdXRpbHMgIFtLYXJlbCBaYWtdCisgICAtIHRpbnkgY29kaW5nIHN0eWxlIGZpeCAgW0thcmVsIFpha10KKyAgIC0gdXNlIGdldHRpbWVvZmRheSgpIGZvciByZWFsIGVsYXBzZWQgdGltZSBzdGF0aXN0aWMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsZXNzIGFnZ3Jlc3NpdmUgbWV0aG9kIHRvIGRldGVjdCBtb3VudGVkIGRldmljZXMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsaWJtb3VudCBmb3IgZmlsZXN5c3RlbSBsaXN0ICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGlibW91bnQgdG8gY2hlY2sgZm9yIG1vdW50ZWQgZmlsZXN5c3RlbXMgIFtLYXJlbCBaYWtdCitmc2NrLmNyYW1mczoKKyAgIC0gYWRkIGxvbmcgb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBkaXNhbGxvdyB1bmtub3duIGNvbW1hbmQgbGluZSBvcHRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV21pc3NpbmctcHJvdG90eXBlc10gIFtLYXJlbCBaYWtdCitmc2NrLm1pbml4OgorICAgLSBhbGlnbiB3aXRoIGhvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbiB1cCBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHByaW50ZiBmb3JtYXQgd2FybmluZyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgcnBtYXRjaCgpIGZvciB5ZXMvbm8gcXVlc3Rpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHN5bWJvbGljIGV4aXQgY29kZXMgIFtTYW1pIEtlcm9sYV0KK2ZzY2subWluaXguYzoKKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV3VudXNlZC1yZXN1bHRdICBbUGV0ciBVemVsXQorZnN0YWI6CisgICAtIGZzdGFiLjUgZml4IG1pc3NwZWxsaW5nIG9mIGRlcHJlY2F0ZWQgIFtEYXZlIFJlaXNuZXJdCitmc3RyaW06CisgICAtIGFkZCAtLXZlcnNpb24gYW5kIGFsaWduIHdpdGggaG93dG8tdXNhZ2UtZnVuY3Rpb24udHh0ICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBzdHJ0b3NpemVfb3JfZXJyKCkgIFtLYXJlbCBaYWtdCitnZXRvcHQ6CisgICAtIHZlcmlmeSB3cml0aW5nIHRvIHN0cmVhbXMgd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KK2hleGR1bXA6CisgICAtIGZpeCBjb21wYXJpc29uIG9mIGRpc3RpbmN0IHBvaW50ZXIgdHlwZXMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzaGFkb3cgZGVjbGFyYXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gcHJpbnQgc2Vuc2libGUgbWVzc2FnZSB3aGVuIGFsbCBpbnB1dCBmaWxlIGFyZ3VtZW50cyBmYWlsICBbU2FtaSBLZXJvbGFdCisgICAtIHVwZGF0ZSBtYW4gcGFnZSBmb3IgLW4gYW5kIC1zICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc3RydG9zaXplKCkgZm9yIC1uIGFuZCAtcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHN0cnRvc2l6ZV9vcl9lcnIoKSAgW0thcmVsIFpha10KK2h3Y2xvY2s6CisgICAtIGNsZWFudXAgc3RydG94eF9vcl9lcnIoKSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3Qgc2V0IHRpbWUgZm9yIC0tc3lzdHogIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV21pc3NpbmctcHJvdG90eXBlc10gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBlcnJfZXhjbHVzaXZlX29wdGlvbnMoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGV4Y2x1c2l2ZV9vcHRpb24oKSAgW1NhbWkgS2Vyb2xhXQorICAgLSB2ZXJpZnkgd3JpdGluZyB0byBzdHJlYW1zIHdhcyBzdWNjZXNzZnVsICBbU2FtaSBLZXJvbGFdCitpbmNsaWRlL2VudjoKKyAgIC0gaW5uY2x1ZGUgYy5oLCByZW1vdmUgXygpIG1hY3JvIGZyb20geHNldGVudigpICBbS2FyZWwgWmFrXQoraW5jbHVkZToKKyAgIC0gW2MuaF0gcHJvdGVjdCBjb250YWluZXJfb2YgIFttYXhpbWlsaWFuIGF0dGVtc10KKyAgIC0gYWRkIC9wcm9jL2xvY2tzIHBhdGggdG8gcGF0aG5hbWVzICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBhZGQgYXNwcmludGYgd3JhcHBlciAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgc3RyZWFtIGVycm9yIGNoZWNraW5nIGZhY2lsaXR5ICBbU2FtaSBLZXJvbGFdCisgICAtIGRlZmluZSBmb3JtYXQgdG8gYmUgY29uc3RhbnQgaW4geGFzcHJpbnRmKCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHNwdXJpb3VzIGxpc3QuaCB3YXJuaW5ncyAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggdm9pZCBwb2ludGVyIGFyaXRobWV0aWNzIHdhcm5pbmdzICBbU2FtaSBLZXJvbGFdCisgICAtIG1vdmUgZ2V0X3Rlcm1pbmFsX3dpZHRoKCkgdG8gdHR5dXRpbHMuaCAgW1BldHIgVXplbF0KKyAgIC0gcmVuYW1lIHdyaXRlYWxsLmggdG8gYWxsLWlvLmggIFtQZXRyIFV6ZWxdCitpbmNsdWRlIFtvcHR1dGlsc106CisgICAtIGFkZCBleGNsdXNpdmVfb3B0aW9uKCkgaW5saW5lIGZ1bmN0aW9uICBbU2FtaSBLZXJvbGFdCitpbmNsdWRlL2Jsa2RldjoKKyAgIC0gY2xlYW51cCB1cCAgW0thcmVsIFpha10KK2luY2x1ZGUvYzoKKyAgIC0gbW92ZSBmYWxsYmFjayBmb3IgTUFYSE9TVE5BTUVMRU4gdG8gYy5oICBbS2FyZWwgWmFrXQoraW5jbHVkZS9leGl0Y29kZXM6CisgICAtIGFkZCBGU0NLX0RFU1RSVUNUIGFsaWFzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBuYW1lcywgYWRkIF9FWF8gc3VmZml4ICBbS2FyZWwgWmFrXQoraW5jbHVkZS9vcHR1dGlsczoKKyAgIC0gYWRkIGVycl9leGNsdXNpdmVfb3B0aW9ucygpICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgZXhjbHVzaXZlX29wdGlvbigpICBbS2FyZWwgWmFrXQoraW5jbHVkZS90dDoKKyAgIC0gaW1wcm92ZSB3b3JrIHdpdGggbm9uLXV0ZjggY2hhcnMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBvYnNvbGV0ZSBzdHVmZiAgW0thcmVsIFpha10KK2luY2x1ZGUvdHR5dXRpbHM6CisgICAtIG1vcmUgcm9idXN0IGdldF90ZXJtaW5hbF93aWR0aCgpICBbS2FyZWwgWmFrXQoraW5jbHVkZS90dHl1dGlscy5oOgorICAgLSBhZGQgaW5jbHVkZSBndWFyZHMgIFtEYXZlIFJlaXNuZXJdCitpcGNtazoKKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XbWlzc2luZy1wcm90b3R5cGVzXSAgW0thcmVsIFpha10KK2tpbGw6CisgICAtIENoZWNrIHRoZSBjb3JyZWN0IHZhcmlhYmxlIHdoZW4gY29uZmlndXJpbmcuICBbVGhvbWFzIFNjaHdpbmdlXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdICBbS2FyZWwgWmFrXQora2lsbCwgcmF3LCByZW5hbWU6CisgICAtIERvbid0IGV4cGxpY2l0bHkgZW5hYmxlIGZvciAtLWVuYWJsZS1tb3N0LWJ1aWxkcy4gIFtUaG9tYXMgU2Nod2luZ2VdCitsYXN0OgorICAgLSB1c2UgbWluKCkgZnJvbSBjLmggIFtLYXJlbCBaYWtdCitsZGF0dGFjaDoKKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XbWlzc2luZy1wcm90b3R5cGVzXSAgW0thcmVsIFpha10KK2xpYjoKKyAgIC0gYWRkIGZpbGV1dGlscyBmdW5jdGlvbiBjb2xsZWN0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBwYWdlciBmdW5jdGlvbmFsaXR5ICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSByYW5kb20gdXRpbGl0aWVzICBbRGF2aWRsb2hyIEJ1ZXNvXQorbGliL2Jsa2RldjoKKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XcmV0dXJuLXR5cGVdICBbS2FyZWwgWmFrXQorICAgLSByZXR1cm4gc3RhdGljIHN0cmluZ3MgYnkgYmxrZGV2X3Njc2lfdHlwZV90b19uYW1lKCkgIFtLYXJlbCBaYWtdCitsaWIvY2Fub25pY2FsaXplOgorbGliL2ZpbGV1dGlsczoKKyAgIC0gYWRkIGdldF9mZF90YWJzaXplKCkgIFtLYXJlbCBaYWtdCitsaWIvbG9vcGRldjoKKyAgIC0gbWlub3IgYnVnIGZpeCAgYWRkIG1pc3Npbmcgc2VtaWNvbG9uICBbU2FtaSBLZXJvbGFdCisgICAtIG1vcmUgcm9idXN0IGluaXRpYWxpemF0aW9uICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugd2Fybl91bnVzZWRfcmVzdWx0IGZvcmltcG9ydGFudCBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCitsaWIvbWFuZ2xlOgorICAgLSBjaGVjayBmb3IgZW5kIG9mIHN0cmluZyBvbiBldmVyeSBpdGVyYXRpb24gIFtEYXZlIFJlaXNuZXJdCisgICAtIGNsZWFudXAsIGFkZCB1bmhleG1hbmdsZSAgW0thcmVsIFpha10KKyAgIC0gZml4IGEgbWVtb3J5IGxlYWsgaW4gdGhlIHRlc3QgY2FzZSAgW0NvbmcgV2FuZ10KKyAgIC0gcmVtb3ZlIHVudXNlZCB2YXJpYWJsZSAgW0thcmVsIFpha10KK2xpYi9tYXRjaDoKKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XbWlzc2luZy1wcm90b3R5cGVzXSAgW0thcmVsIFpha10KK2xpYi9tYnNhbGlnbjoKKyAgIC0gYWJvcnQoKSB3aGVuIG5vbi1leHBlY3RlZCBjYXNlIGlzIGVuY291bnRlcmVkICBbU2FtaSBLZXJvbGFdCitsaWIvcGFnZXI6CisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyAgW0thcmVsIFpha10KKyAgIC0gbWlub3IgY29tcGlsZXIgd2FybmluZyBmaXhlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSByZXBhaXIgYnVpbGQgZm9yIG5vbi1MaW51eC4gIFtUaG9tYXMgU2Nod2luZ2VdCitsaWIvc3RydXRpbHM6CisgICAtIGFkZCBzdHJpbmdfYWRkX3RvX2lkYXJyYXkoKSAtIHBhcnNlIGFuZCBhZGQgdG8gaWQgbGlzdCAgW01pbGFuIEJyb3pdCisgICAtIGFkZCBzdHJpbmdfdG9fYml0bWFzaygpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3RydG9zaXplX29yX2VyciwgY2xlYW4gdXAgIFtLYXJlbCBaYWtdCisgICAtIGNpcmN1bXZlbnQgbWlzc2luZyBsb2NhbGVjb252KCkgIFttYXhpbWlsaWFuIGF0dGVtc10KKyAgIC0gY3JlYXRlIHR5cGUgc3BlY2lmaWMgc3RydG94eF9vcl9lcnIoKSAgW0thcmVsIFpha10KK2xpYi9zeXNmczoKKyAgIC0gY2hlY2sgaWYgY3h0LT5kaXJfcGF0aCBpcyBOVUxMIGluIHN5c2ZzX3JlYWRsaW5rKCkgIFtDb25nIFdhbmddCisgICAtIGV4cGVjdCBwPE4+IHN1ZmZpeCBmb3IgcGFydGl0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBzeXNmc19pc19wYXJ0aXRpb25fZGlyZW50KCkgIFtLYXJlbCBaYWtdCisgICAtIG1ha2Ugc3lzZnNfcGFydG5vX3RvX2Rldm5vIGJldHRlciByZWFkYWJsZSAgW0Jlcm5oYXJkIFZvZWxrZXJdCisgICAtIHVzZSB3YXJuX3VudXNlZF9yZXN1bHQgZm9yIHN5c2ZzX2luaXQoKSAgW0thcmVsIFpha10KK2xpYi90dDoKKyAgIC0gYWx3YXlzIGVzY2FwZSAnXCcgdG8gc2ltcGxpZnkgcGFyc2luZyBpbiBzY3JpcHRzICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBmb3Igbm9uLXByaW50YWJsZSBjaGFycyBmb3IgcmF3L2V4cG9ydCBmb3JtYXQgIFtLYXJlbCBaYWtdCisgICAtIGNvdW50IHJlYWQgY2VsbHMsIGltcHJvdmUgXHg/PyBoZXggZW5jb2RpbmcgIFtLYXJlbCBaYWtdCisgICAtIGVuY29kZSBkYXRhIGZvciBSQVcgYW5kIEVYUE9SVCBmb3JtYXQgIFtLYXJlbCBaYWtdCisgICAtIGV4cG9ydCB0dF9mcHV0c197cXVvdGVkLG5vbmJsYW5rfSBmdW5jdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZml4IFx4JTAyeCB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gd29yayBtb3JlIHNlbnNpdGl2ZSB3aXRoIGxhcmdlIGNvbHVtbnMgIFtLYXJlbCBaYWtdCitsaWJibGtpZDoKKyAgIC0gYWNjZXB0IHNtYWxsIGJsb2NrcyBmb3IgTlRGUyBhbmQgUmVpc2VyZnMgaW4gYmxraWQgIFtWbGFkaW1pciAnz4YtY29kZXIvcGhjb2RlcicgU2VyYmluZW5rb10KKyAgIC0gYWRkIGRtLXZlcml0eSBoYXNoIGRldmljZSBkZXRlY3Rpb24gIFtNaWxhbiBCcm96XQorICAgLSBhZGQgbm9yZXR1cm4gZnVuY3Rpb24gYXR0cmlidXRlICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBzdXBwb3J0IGZvciBQQVJUVVVJRD0gYW5kIFBBUlRMQUJFTD0gIFtLYXJlbCBaYWtdCisgICAtIGJlZnMgIGRlY2xhcmUgZnVuY3Rpb25zIHN0YXRpYyAgW1BldHIgVXplbF0KKyAgIC0gY2FzdCBibGtpZF9sb2ZmX3QgdG8gdW5zaWduZWQgbG9uZyBsb25nICBbUGV0ciBVemVsXQorICAgLSBjbGVhbnVwIF9hdHRyaWJ1dGVfXyB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1Xc2lnbi1jb21wYXJlXSAgW0thcmVsIFpha10KKyAgIC0gZml4IHN5c2ZzIGNvbnRleHQgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGdlbmVyYXRlIHBzZXVkby1VVUlEIGZvciBJU085NjYwIGltYWdlIGZpbGUgIFtBbmRyZWFzIFZvZ2VsXQorICAgLSBwcm9wZXJseSByZXNldCBjaGFpbiBpbiBwcm9iZV9kb193aXBlKCkgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBkdXBsaWNhdGUgZW50cmllcyBpbiBzeW1ib2xzICBbU2FtaSBLZXJvbGFdCisgICAtIHJld3JpdGUgbnRmcyBwcm9iZXIgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgVUZTIFVVSUQgIFtWbGFkaW1pciAnz4YtY29kZXIvcGhjb2RlcicgU2VyYmluZW5rb10KKyAgIC0gdHJ1c3QgaW4gdWRldiBzeW1saW5rcywgZG9uJ3QgdmVyaWZ5ICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgZG0tdmVyaXR5IHNjYW4gIFtNaWxhbiBCcm96XQorICAgLSB1c2UgdW5zaWduZWQgaW50cyBpbiBudGZzIHByb2JlciAgW0thcmVsIFpha10KK2xpYm1vdW50OgorICAgLSBVc2UgYmluYXJ5IHNlYXJjaCB0byBjb21wYXJlIHBzZXVkb2ZzICBbRGF2ZSBSZWlzbmVyXQorICAgLSBhZGQgTU5UX0VSUl9MT09QREVWICBbS2FyZWwgWmFrXQorICAgLSBhZGQgTU5UX0VSUl9NT1VOVE9QVCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNvbmZpZ2ZzIHRvIHBzZXVkb2ZzIGxpc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtbnRfY29udGV4dF9mc3RhYl9hcHBsaWVkKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtbnRfY29udGV4dF9nZXRfb3B0aW9ucygpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X2ZzX3N0cmVxX3NyY3BhdGgoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1udF9mc19zdHJlcV90YXJnZXQoKSBhbmQgZXhwb3J0IGFsbCBtbnRfZnNfc3RyZXFfKiAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1udF9vcHRzdHJfZGVkdXBsaWNhdGVfb3B0aW9uKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtbnRfdGFibGVfZmluZF9kZXZubygpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm9yZXR1cm4gZnVuY3Rpb24gYXR0cmlidXRlICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBzcGVjaWFsIE1OVF9FUlJfIGNvZGVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgUEFSVFVVSUQ9IGFuZCBQQVJUTEFCRUw9ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCB0byBwYXJzZSAvcHJvYy9zd2FwcyAgW0thcmVsIFpha10KKyAgIC0gYWxsb3cgZW1wdHkgc291cmNlIGZvciBtb3VudCgyKSBzeXNjYWxsICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyB0byBkaXNhYmxlIHN3YXAgYmV0d2VlbiBzb3VyY2UgYW5kIHRhcmdldCAgW0thcmVsIFpha10KKyAgIC0gYXZvaWQgaW5maW5pdGUgbG9vcCBpbiBjaGlsZCBmcyBpdGVyYXRpb24gIFtEYXZlIFJlaXNuZXJdCisgICAtIGNhbm9uaWNhbGl6ZSBhbGwgcGF0aHMgZnJvbSAoZnMpdGFiICBbS2FyZWwgWmFrXQorICAgLSBjYW5vbmljYWxpemUgdGFyZ2V0cyBmcm9tIGZzdGFiIG9uIG1vdW50IC1hICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBWRlMgbW91bnQgb3B0aW9ucyBpbiBtbnRfZGlmZl90YWJsZXMoKSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgTU5UX0ZNVF8qIHVzYWdlIGluIHBhcnNlciAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBmbGFncyB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gY2xvc2UgZGV2aWNlIGZkICh0byBhdm9pZCBtb3VudCgyKSBFQlVTWSkgIFtLYXJlbCBaYWtdCisgICAtIGNvc21ldGljIGNoYW5nZXMgYXJvdW5kICJub25lIiAgW0thcmVsIFpha10KKyAgIC0gZGVkdXBsaWNhdGUgU0VMaW51eCBtb3VudCBvcHRpb25zICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBjYW5vbmljYWxpemUgdGFyZ2V0ICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBnZW5lcmF0ZSBlbXB0eSBvcHRpb24gc3RyaW5ncyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdHJlYXQgIm5vbmUiIGRpZmZlcmVudGx5ICBbRGF2ZSBSZWlzbmVyXQorICAgLSBkb24ndCB1c2Ugbm9zdWlkLG5vZXhlYyxub2RldiBmb3IgY2lmcyB1c2VyPWZvbyAgW0thcmVsIFpha10KKyAgIC0gZXhwb3NlIG1udF9nZXRfbW91bnRwb2ludCBhcyBleHRlcm5hbCBBUEkgIFtEYXZlIFJlaXNuZXJdCisgICAtIGZpeCAiYWxyZWFkeSBtb3VudGVkIiBkZXRlY3Rpb24gb24gc3lzdGVtcyB3aXRoIG10YWIgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV3NpZ24tY29tcGFyZV0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtbnRfY29udGV4dF9ndWVzc19mc3R5cGUoKSAgW0thcmVsIFpha10KKyAgIC0gZml4IG1vdW50IGJ5IHBhdHRlcm4gIFtLYXJlbCBaYWtdCisgICAtIGZpeCByZWFkIGJlZm9yZSBhbGxvY2F0ZWQgYnVmZmVyICBbUGV0ciBVemVsXQorICAgLSBmaXggc2hhZG93IGRlY2xhcmF0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCB0cml2aWFsIHR5cG9zICBbUGV0ciBVemVsXQorICAgLSBmaXggdW5tYW5nbGUgY29kZSAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBpZmRlZiBIQVZFX0xJQlNFTElOVVggc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgbW50X3RhYmxlc19pc19tb3VudGVkICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHNvbWUgc3RyaW5nIG9wZXJhdGlvbnMgbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIG9wdGltaXplIGZvciBwYXRocyB3aXRoIHRhaWxpbmcgc2xhc2ggIFtLYXJlbCBaYWtdCisgICAtIHBsdWcgYSBtZW1vcnkgbGVhayBpbiBleGVjX2hlbHBlcigpICBbUGV0ciBVemVsXQorICAgLSByZW1vdW50IGRvZXMgbm90IGFkZCBlbnRyeSB0byBtdGFiIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSBtbnRfY29udGV4dF9mc3RhYl9hcHBsaWVkIHRvIG1udF9jb250ZXh0X3RhYl9hcHBsaWVkICBbS2FyZWwgWmFrXQorICAgLSByZXdyaXRlIG1udF90YWJsZV9pc19mc19tb3VudGVkKCkgdG8gYmUgbGVzcyBhZ2dyZXNzaXZlICBbS2FyZWwgWmFrXQorICAgLSBzYXZlIHRhc2sgSUQgZm9yIG1vdW50aW5mbyB0aWxlcyAgW0thcmVsIFpha10KKyAgIC0gdHJpbSBsZWFkaW5nIGNvbW1hcyBmcm9tIGVhY2ggb3B0aW9ucyBzdHJpbmcgIFtEYXZlIFJlaXNuZXJdCisgICAtIHVzZSBtb3VudC48dHlwZT4gLXMgZm9yIE5GUyBvbmx5ICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc3RkZXJyIGZvciBpbml0aWFsIGRlYnVnIG1lc3NhZ2UgIFtLYXJlbCBaYWtdCitsaWJ1dWlkOgorICAgLSBhdm9pZCBkb3VibGUgb3BlbiBhbmQgbGVha2luZyBkZXNjcmlwdG9yICBbUGV0ciBVemVsXQorICAgLSBhdm9pZCBkb3VibGUgb3BlbiBhbmQgbGVha2luZyBmZCAocmV3b3JrZWQpICBbUGV0ciBVemVsXQorICAgLSBkb24ndCBleGVjIHV1aWRkICBbUGV0ciBVemVsXQorICAgLSBmaXggdHlwbyBpbiB1dWlkX2NvbXBhcmUgbWFucGFnZSAgW1BldHIgVXplbF0KKyAgIC0gbW92ZSBjbG9jay50eHQgcGF0aCB0byBoZWFkZXIgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gbW92ZSByZWFkX2FsbCB0byBpbmNsdWRlL2FsbC1pby5oICBbUGV0ciBVemVsXQorICAgLSB1c2UgRVhJVF9GQUlMVVJFICBbUGV0ciBVemVsXQorICAgLSB1c2UgZ2V0X2ZkX3RhYnNpemUoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIG1heCgpIGZyb20gYy5oICBbUGV0ciBVemVsXQorICAgLSB1c2UgcmFuZHV0aWxzICBbRGF2aWRsb2hyIEJ1ZXNvXQorbG9nZ2VyOgorICAgLSBhdm9pZCBleHBsaWNpdCBmY2xvc2Uoc3Rkb3V0KSAgW0RhdmUgUmVpc25lcl0KKyAgIC0gbWFyayBkZWNvZGUvcGVuY29kZSBhcyBzdGF0aWMgIFtEYXZlIFJlaXNuZXJdCisgICAtIHVzZSBtZW1jcHkgaW5zdGVhZCBvZiBiY29weSAgW0RhdmUgUmVpc25lcl0KK2xvZ2luOgorICAgLSBJbmNsdWRlIDxsaW51eC9tYWpvci5oPiBvbmx5IGlmIGl0IGV4aXN0cy4gIFtUaG9tYXMgU2Nod2luZ2VdCisgICAtIGFkZCBVU0VSIHRvIGluaXRpYWwgZW52aXJvbm1lbnQgIFtEYXZlIFJlaXNuZXJdCisgICAtIGFsbG93IFRUWUdST1VQIG5hbWUgYmVnaW4gYnkgbnVtYmVyICBbU2FtaSBLZXJvbGFdCisgICAtIGNsb3NlIHR0eSBiZWZvcmUgdmhhbmd1cCgpICBbS2FyZWwgWmFrXQorICAgLSBmaXggTE9HSU5fQ0hPV05fVkNTIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV3NpZ24tY29tcGFyZV0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzZWdtZW50YXRpb24gZmF1bHQgaW4gbG9nX3V0bXAgIFtLYXJlbCBaYWtdCisgICAtIG1pbm9yIHNwZWxsaW5nIGZpeGVzICBbRWxhbiBSdXVzYW3DpGVdCisgICAtIG1pbm9yIHNwZWxsaW5nIGZpeGVzICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IGNyYXp5IHNoYWRvdy11dGlscyBzeW50YXggaW4gbG9naW4uZGVmcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGdldF9mZF90YWJzaXplKCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBnZXRkdGFibGVzaXplKCkgY29ycmVjdGx5IGluIGxvZ2luLmMgIFtjaGFzIHdpbGxpYW1zIC0gQ09OVFJBQ1RPUl0KK2xvZ2luLXV0aWxzOgorICAgLSBhZGQgbWlzc2luZyBoZWFkZXIsIGZpeCBzZXRwd25hbS5jIGZjbG9zZSBsb2dpYyAgW0thcmVsIFpha10KKyAgIC0gdmVyaWZ5IHdyaXRpbmcgdG8gc3RyZWFtcyB3YXMgc3VjY2Vzc2Z1bCAgW1NhbWkgS2Vyb2xhXQorbG9naW5kZWZzOgorICAgLSBjaGFuZ2UgZ2V0bG9naW5kZWZzX251bSgpIHRvIHJldHVybiB1bnNpZ25lZCBsb25nICBbU2FtaSBLZXJvbGFdCitsb29rOgorICAgLSByZW1vdmUgZXh0cmEgc2VtaWNvbG9uICBbU2FtaSBLZXJvbGFdCitsb3NldHVwOgorICAgLSBGaXggc2V0dGluZyBvZiBzaXplbGltaXQgb24gbmV3IGxvb3AgZGV2aWNlcyAgW0RhbmllbCBEcmFrZV0KKyAgIC0gYWRkIC0tZGV0YWNoLWFsbCB0byB0aGUgbGlzdCBvZiBvcHRpb25zICBbUGV0ciBVemVsXQorICAgLSBpbXByb3ZlIC1hIHRvIHJlcG9ydCBsb29wZGV2cyA8IDUxMiBieXRlcyAgW0thcmVsIFpha10KKyAgIC0gbW9yZSB2ZXJib3NlIGZhaWxlZCBzZXR1cCBlcnJvciBtZXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBlcnJfZXhjbHVzaXZlX29wdGlvbnMoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGV4Y2x1c2l2ZV9vcHRpb24oKSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2Ugc3RydG9zaXplX29yX2VycigpICBbS2FyZWwgWmFrXQorICAgLSB3YXJuIGFib3V0IGJhY2tpbmcgZmlsZSBzaXplICBbS2FyZWwgWmFrXQorbHNibGs6CisgICAtIFJRLVNJWkUgaXMgcGFydCBvZiB0aGUgLS10b3BvbG9neSBvdXRwdXQgKG1hbiBwYWdlIGJ1Z2ZpeCkgIFtEYXZlIFJlaXNuZXJdCisgICAtIGFkZCAtLWluY2x1ZGUgb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS12ZXJzaW9uIHN3aXRjaCAgW01pbGFuIEJyb3pdCisgICAtIGFkZCBXV04sIGltcHJvdmUgdWRldiBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaW52ZXJzZSB0cmVlIHN1cHBvcnQgKC1zKSAgW1BldGVyIFJham5vaGFdCisgICAtIGFkZCBub3QgYWJvdXQgdW5zdGFibGUgZGVmYXVsdCBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCByZWFkLWFoZWFkIGNvbHVtbi4gIFtNaWxhbiBCcm96XQorICAgLSBhZGQgc3VwcG9ydCBmb3IgUEFSVFVVSUQ9IGFuZCBQQVJUTEFCRUw9ICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBpb2N0bCByZXN1bHQgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBzeXNmc19yZWFkX3U2NCByZXR1cm4gY29kZSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGNvdW50IHdpdGggdGVybWluYXRpbmcgY2hhcmFjdGVyLCBtYW4gcGFnZSAtcyBlbnRyeSAgW1BldGVyIFJham5vaGFdCisgICAtIGVzY2FwZSB1bnNhZmUgY2hhcnMgaW4gcGFyc2FibGUgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBmaXggL3N5cy8uLi4vcm8gdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBkbV9uYW1lIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggdXNhZ2UsIGltcHJvdmUgZXhjbHVkZS9pbmNsdWRlIGxpc3RzIHBhcnNpbmcgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgbWFuIHBhZ2Ugd29yZGluZyAgW1JlZ2lkIEljaGlyYV0KKyAgIC0gcGVybWl0IG9wdGlvbiAtLWV4Y2x1ZGUgbW9yZSB0aGFuIG9uY2UgIFtCZXJuaGFyZCBWb2Vsa2VyXQorICAgLSByZW1vdmUgKGRtLU4pIGZyb20gTkFNRSBmb3IgcmF3L3BhaXIgb3V0cHV0IGZvcm1hdCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHByaXZhdGUgXHg8aGV4PiBjb2RpbmcsIGRlY29kZSBkYXRhIGZyb20gdWRldiAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCAtbyArPGF0dHI+IGZvciBhZGRpbmcgYXR0cmlidXRlIHRvIG91dHB1dCBmaWVsZHMuICBbTWlsYW4gQnJvel0KKyAgIC0gdXNlIGJsa2Rldl9zY3NpX3R5cGVfdG9fbmFtZSgpICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBlcnJfZXhjbHVzaXZlX29wdGlvbnMoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGV4Y2x1c2l2ZV9vcHRpb24oKSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgZmFsbGJhY2sgZm9yIFRZUEUgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsaWJtb3VudCB0byBnZXQgbW91bnRwb2ludHMvc3dhcHMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSByZWFkbGlua19hdCBmcm9tIGF0LmMgIFtLYXJlbCBaYWtdCitsc2NwdToKKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XbWlzc2luZy1wcm90b3R5cGVzXSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1Xc2lnbi1jb21wYXJlXSAgW0thcmVsIFpha10KKyAgIC0gZml4IHBvc3NpYmx5IHVuZGVmaW5lZCBvcGVyYXRpb24gIFtQZXRyIFV6ZWxdCisgICAtIGZpeCBzaGFkb3cgZGVjbGFyYXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gbGltaXQgb3B0aW9ucyAtLWFsbCwgLS1vbmxpbmUsIC0tb2ZmbGluZSB0byBwYXJzYWJsZSBhbmQgZXh0ZW5kZWQgb3V0cHV0ICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIHVzZSBlcnJfZXhjbHVzaXZlX29wdGlvbnMoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGV4Y2x1c2l2ZV9vcHRpb24oKSAgW1NhbWkgS2Vyb2xhXQorICAgLSB2YWx1ZXMgaW4gL3Byb2MvYnVzL3BjaS9kZXZpY2VzIGFyZSBhbHdheXMgdW5zaWduZWQgIFtTYW1pIEtlcm9sYV0KK2xzbG9jazoKKyAgIC0gcmVtb3ZlIGR1cGxpY2F0ZSB2YXJpYWJsZSAgW0thcmVsIFpha10KK2xzbG9ja3M6CisgICAtIGFkZCAtLW5vdHJ1bmNhdGUsIG1pbm9yIGZpeGVzIGluIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgVFlQRSBjb2x1bW4gIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGFkZCBsc2xvY2tzLjggbWFuIHBhZ2UgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGZpeCBicmFja2V0IGluZGVudGF0aW9uICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBmaXggc2hhZG93IGRlY2xhcmF0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIG1pbm9yIGZpeCBpbiB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBuZXcgY29tbWFuZCAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gdXNlIHhhc3ByaW50ZiBmb3Igc2FmZSBhbGxvY2F0aW9uICBbU2FtaSBLZXJvbGFdCittZXNnOgorICAgLSB1c2UgcnBtYXRjaCB0byB5ZXMvbm8gcXVlc3Rpb24gIFtTYW1pIEtlcm9sYV0KK21pc2M6CisgICAtIGNsZW5hdXAgU0laRSBjb2x1bW5zIGluIGxzYmxrIGFuZCBmaW5kbW50ICBbS2FyZWwgWmFrXQorbWlzYy11dGlsczoKKyAgIC0gY2xlYW51cCBzdHJ0b3h4X29yX2VycigpICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHVudXNlZCBzdHJpbmdzLmggaW5jbHVkZXMgIFttYXhpbWlsaWFuIGF0dGVtc10KKyAgIC0gZml4IHR5cG9zICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB2ZXJpZnkgd3JpdGluZyB0byBzdHJlYW1zIHdhcyBzdWNjZXNzZnVsICBbU2FtaSBLZXJvbGFdCitta2ZzLmNyYW1mczoKKyAgIC0gZGlzYWxsb3cgdW5rbm93biBjb21tYW5kIGxpbmUgb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW51c2VkICdNSU4nIG1hY3JvIGRlZmluaXRpb24gIFtQZXRyIFV6ZWxdCitta3N3YXA6CisgICAtIGFsbG93IGNyZWF0aW5nIHN3YXAgb24gL2Rldi9oZFthYl0gIFtQZXRyIFV6ZWxdCisgICAtIGZpeCBzaGFkb3cgZGVjbGFyYXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW1wcm92ZSBkaWFnbm9zdGljcyBtZXNzYWdlIGlmIHRoZSBkZXZpY2UgaXMgbW91bnRlZCAgW1BldHIgVXplbF0KKyAgIC0gdXNlIGlzX21vdW50ZWQoKSBpbnN0ZWFkIG9mIGNoZWNrX21vdW50KCkgIFtQZXRyIFV6ZWxdCittb3JlOgorICAgLSBhZGQgbm9yZXR1cm4gZnVuY3Rpb24gYXR0cmlidXRlICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBwb2ludGVyIHdyYXAgYXJvdW5kIGNvbXBpbGVyIHdhcm5pbmdzICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCByZWdleCBlcnJvciBtZXNzYWdlcyBwcmludGluZyAgW0thcmVsIFpha10KKyAgIC0gZml4IHNlYXJjaCByZXBldGl0aW9uIHJlZ3Jlc3Npb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHNoYWRvdyBkZWNsYXJhdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggdHlwb3MgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHJlbW92ZSBhIG1lYW5pbmdsZXNzIHRlc3QgIFtKZXJlbXkgSHVudHdvcmtdCittb3VudDoKKyAgIC0gKG5ldykgYWRkICdpbnRlcm5hbC1vbmx5KGkpJyB0byBub24tcm9vdCBhbGxvd2VkIG9wdGlvbnMgIFtSYWdoYXZlbmRyYSBEIFByYWJodV0KKyAgIC0gKG5ldykgYWRkIC0tc291cmNlIGFuZCAtLXRhcmdldCAgW0thcmVsIFpha10KKyAgIC0gKG5ldykgYWRkIGxvb3BkZXYgc3BlY2lmaWMgZXJyb3IgbWVzc2FnZSAgW0thcmVsIFpha10KKyAgIC0gKG5ldykgYWRkIG1pc3NpbmcgeGFsbG9jLmggIFtLYXJlbCBaYWtdCisgICAtIChuZXcpIGFkZCBub3RlIGFib3V0IHVuc3VwcG9ydGVkICdpZ25vcmUnIGZzdHlwZSB0byBmc3RhYi41ICBbS2FyZWwgWmFrXQorICAgLSAobmV3KSBhZGQgc3VwcG9ydCBmb3IgUEFSVFVVSUQ9IGFuZCBQQVJUTEFCRUw9ICBbS2FyZWwgWmFrXQorICAgLSAobmV3KSBhbGxvdyBzbG9wcHkgZm9yIG5vbi1yb290ICBbS2FyZWwgWmFrXQorICAgLSAobmV3KSBiZSBtb3JlIHBlZGFudGljIGFib3V0IC0tbWFrZS0qICBbS2FyZWwgWmFrXQorICAgLSAobmV3KSBjbGVhbnVwIG1vdW50IC1hIHJldHVybiBjb2RlcyAgW0thcmVsIFpha10KKyAgIC0gKG5ldykgZml4IE1TX1JFQyB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gKG5ldykgaW1wcm92ZSBlcnJvciBtZXNzYWdlcyAgW0thcmVsIFpha10KKyAgIC0gKG5ldykgdXNlIE1OVF9FUlJfIGZvciBlcnJvciBtZXNzYWdlcyAgW0thcmVsIFpha10KKyAgIC0gKG5ldykgdXNlIGV4Y2x1c2l2ZV9vcHRpb24oKSAgW1NhbWkgS2Vyb2xhXQorICAgLSAob2xkKSBjaGVjayBmb3IgTERfRkxBR1NfQVVUT0NMRUFSIG1vcmUgY2FyZWZ1bGx5ICBbS2FyZWwgWmFrXQorICAgLSAob2xkKSBmaXggZW5jcnlwdGlvbj0gdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIChvbGQpIHJlbW92ZSBoeWJyaWQgbGlibW91bnQgY29kZSAgW0thcmVsIFpha10KKyAgIC0gKG9sZCkgcmVtb3ZlIG10YWIgbG9jayB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBleHQ0IG9wdGlvbiBpbm9kZV9yZWFkYWhlYWQgc2hvdWxkIGJlIGlub2RlX3JlYWRhaGVhZF9ibGtzIGluIG1vdW50LjggIFtFcnl1IEd1YW5dCisgICAtIGZpeCBtYW4gcGFnZSB0eXBvIHMvcmVhdGltZS9yZWxhdGltZS8gIFtLYXJlbCBaYWtdCisgICAtIGZpeCByZWN1cnNpdmVseSBwcm9wYWdhdGlvbiBtb3VudGluZyAgW0RvbmcgSGFvXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgZnJlZSgpICBbS2FyZWwgWmFrXQorICAgLSByZXBsYWNlIGNvbnRyb2wgY2hhcnMgaW4gbW91bnRwb2ludCBuYW1lICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZXJyX2V4Y2x1c2l2ZV9vcHRpb25zKCkgIFtLYXJlbCBaYWtdCisgICAtIHZlcmlmeSB3cml0aW5nIHRvIHN0cmVhbXMgd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KK21vdW50cG9pbnQ6CisgICAtIGFjY291bnQgZm9yIGVycm9yIGZyb20gaW4gbW50X2ZzX2dldF90YXJnZXQgIFtEYXZlIFJlaXNuZXJdCisgICAtIGFkZCAtLXZlcnNpb24gJiBhbGlnbiB3aXRoIGhvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggYSBtaW5vciBidWcgd2l0aCAwIDAgZGV2bm8gIFtaaGkgTGldCituYW1laToKKyAgIC0gZml4IHJlbGF0aXZlIHN5bWxpbmtzIGV2YWx1YXRpb24gIFtLYXJlbCBaYWtdCitwYXJ0eDoKKyAgIC0gYWRkIC0tdmVyc2lvbiBvcHRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW51cCBzdHJ0b3h4X29yX2VycigpICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IC1vICs8YXR0cj4gZm9yIGFkZGluZyBhdHRyaWJ1dGUgdG8gb3V0cHV0IGZpZWxkcyAgW01pbGFuIEJyb3pdCisgICAtIHVzZSAtcyBvcHRpb24gZm9yIGRlZmF1bHQgb3V0cHV0ICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB1c2UgZXJyX2V4Y2x1c2l2ZV9vcHRpb25zKCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBleGNsdXNpdmVfb3B0aW9uKCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdmVyaWZ5IHdyaXRpbmcgdG8gc3RyZWFtcyB3YXMgc3VjY2Vzc2Z1bCAgW1NhbWkgS2Vyb2xhXQorcGF0aG5hbWVzOgorICAgLSBjbGVhbiB1cCB2YXJpb3VzIHVzZXIgZGF0YWJhc2UgcGF0aHMgIFtTYW1pIEtlcm9sYV0KK3BnOgorICAgLSBhbGlnbiB3aXRoIGhvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBjb3JyZWN0IHZlcnNpb24gcHJpbnRpbmcgaW4gaGVscCBzY3JlZW4gIFtTYW1pIEtlcm9sYV0KK3BvOgorICAgLSBhZGQgKi5oIHN0dWZmIHRvIFBPVEZJTEVTICBbS2FyZWwgWmFrXQorICAgLSBtZXJnZSBjaGFuZ2VzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgY3MucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtQZXRyIFDDrXNhxZldCisgICAtIHVwZGF0ZSBkYS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0pvZSBIYW5zZW5dCisgICAtIHVwZGF0ZSBkZS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0FydW4gUGVyc2F1ZF0KKyAgIC0gdXBkYXRlIGZyLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbRGF2aWQgUHLDqXZvdF0KKyAgIC0gdXBkYXRlIGphLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbVGFrZXNoaSBIYW1hc2FraV0KKyAgIC0gdXBkYXRlIG5sLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHVwZGF0ZSBwbC5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0pha3ViIEJvZ3Vzel0KKyAgIC0gdXBkYXRlIHVrLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbWXVyaSBDaG9ybm9pdmFuXQorICAgLSB1cGRhdGUgdmkucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtUcuG6p24gTmfhu41jIFF1w6JuXQorICAgLSB1cGRhdGUgemhfQ04ucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtXeWxtZXIgV2FuZ10KK3BybGltaXQ6CisgICAtIGltcHJvdmUgZXJyb3IgbWVzc2FnZXMgZm9yIGJhZCAtLXBpZCBpbnZvY2F0aW9uICBbQmVybmhhcmQgVm9lbGtlcl0KKyAgIC0gcmVtb3ZlIGJvZ3VzIGluc3RydWN0aW9ucyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gdXNlIGVycl9leGNsdXNpdmVfb3B0aW9ucygpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZXhjbHVzaXZlX29wdGlvbigpICBbU2FtaSBLZXJvbGFdCityYXc6CisgICAtIGFkZCBsb25nIG9wdGlvbnMgYW5kIHZlcnNpb24gcHJpbnRpbmcgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWxpZ24gd2l0aCBob3d0by11c2FnZS1mdW5jdGlvbi50eHQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2hlY2sgbnVtZXJpYyB1c2VyIGlucHV0cyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbiB1cCBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XbWlzc2luZy1wcm90b3R5cGVzXSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGxpYmMgZXJyb3IgcHJpbnRpbmcgZmFjaWxpdGllcyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgcGF0aG5hbWVzLmggZm9yIGZpbGUgbG9jYXRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBzeW1ib2xpYyBleGl0IG51bWJlcnMgIFtTYW1pIEtlcm9sYV0KK3Jlc2V0OgorICAgLSBtYWtlIHNjcmlwdHMgYm91cm5lIHNoIGNvbXBsaWFudCBbY2hlY2tiYXNoaXNtc10gIFtTYW1pIEtlcm9sYV0KK3Jlc2l6ZXBhcnQ6CisgICAtIGFkZCBuZXcgY29tbWFuZCAgW0thcmVsIFphaywgVml2ZWsgR295YWxdCisgICAtIHJlbW92ZSBkZWJ1ZyBtZXNzYWdlICBbS2FyZWwgWmFrXQorcmV2OgorICAgLSBtZW50aW9uIHRhYygxKSBpbiAnU0VFIEFMU08nIG1hbiBwYWdlIHNlY3Rpb24gIFtKYW1lcyBSLiBWYW4gWmFuZHRdCitydGN3YWtlOgorICAgLSBvbmx5IGludm9rZSBSVENfQUlFX09OL09GRiBpb2N0bHMgaW4gcGFpcnMgIFtQYXVsIEZveF0KKyAgIC0gdGlueSBjb2Rpbmcgc3R5bGUgY2hhbmdlICBbS2FyZWwgWmFrXQorc2NoZWR1dGlsczoKKyAgIC0gY2xlYW51cCBzdHJ0b3h4X29yX2VycigpICBbS2FyZWwgWmFrXQorICAgLSB2ZXJpZnkgd3JpdGluZyB0byBzdHJlYW1zIHdhcyBzdWNjZXNzZnVsICBbU2FtaSBLZXJvbGFdCitzY3JpcHQ6CisgICAtIGFkZCBub3JldHVybiBmdW5jdGlvbiBhdHRyaWJ1dGVzICBbU2FtaSBLZXJvbGFdCisgICAtIGVycm9yIGluIHVzYWdlKCkgb3V0cHV0ICBbU2FtaSBLZXJvbGFdCisgICAtIHBsYXkgd2VsbCB3aXRoIGNzaCB3aGVuIGludm9rZWQgZnJvbSB3aXRoaW4gL2V0Yy9jc2gubG9naW4gIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bnVzZWQgY29kZSAgW0thcmVsIFpha10KK3NjcmlwdHJlcGxheToKKyAgIC0gZml4IGNvbXBpbGVyIGZvcm1hdCB3YXJuaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV21pc3NpbmctcHJvdG90eXBlc10gIFtLYXJlbCBaYWtdCitzZXRhcmNoOgorICAgLSBkaXNhbGxvdyB1bmtub3duIGNvbW1hbmQgbGluZSBvcHRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIGRvIG5vdCB1c2UgLTEgYXMgYXJyYXkgaW5kZXggW2NwcGNoZWNrXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdICBbS2FyZWwgWmFrXQorc2V0cHduYW06CisgICAtIHVzZSB4bWtzdGVtcCgpIGFuZCBsY2twd2RmKCkgIFtTYW1pIEtlcm9sYV0KK3NldHNpZDoKKyAgIC0gSW5jbHVkZSA8c3lzL2lvY3RsLmg+IGluc3RlYWQgb2YgPHRlcm1pby5oPi4gIFtUaG9tYXMgU2Nod2luZ2VdCisgICAtIGFkZCBvcHRpb24gIi1jIiB0byBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsICBbSGFyYWxkIEhveWVyXQorICAgLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBvZmYtYnktb25lIGVycm9yIGluIGV4ZWN2cCBjYWxsICBbQmVybmhhcmQgVm9lbGtlcl0KK3NldHRlcm06CisgICAtIGNvcnJlY3QgbWFudWFsIHBhZ2UgcmVmZXJlbmNlICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBzaGFkb3cgZGVjbGFyYXRpb24gIFtTYW1pIEtlcm9sYV0KK3NmZGlzazoKKyAgIC0gZml4IGNhbGN1bGF0aW9uIGR1ZSB0byB0eXBlIG1pc21hdGNoIChpeDg2KSAgW1BldHIgVXplbF0KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XdW51c2VkLXJlc3VsdF0gIFtQZXRyIFV6ZWxdCisgICAtIGltcHJvdmUgRl9NRUdBQllURSBoZWFkZXIgIFtCZXJuaGFyZCBWb2Vsa2VyXQorICAgLSBtYWtlIC1sIGxlc3MgdmVyYm9zZSBhYm91dCBtaXNzaW5nIFBUICBbS2FyZWwgWmFrXQorICAgLSB1c2UgcnBtYXRjaCB0byB5ZXMvbm8gcXVlc3Rpb24gIFtTYW1pIEtlcm9sYV0KK3N0cnV0aWxzOgorICAgLSByZXR1cm4gc3VjY2VzcyBvbiB0ZXN0IHByb2dyYW0gIFtEYXZpZGxvaHIgQnVlc29dCitzdToKKyAgIC0gQWRkIEFNX0xERkxBR1MgdG8gc3VfTERGTEFHUy4gIFtUaG9tYXMgU2Nod2luZ2VdCisgICAtIERvbid0IGluY2x1ZGUgdGhlIHVudXNlZCA8c3lzL2ZzdWlkLmg+ICBbVGhvbWFzIFNjaHdpbmdlXQorICAgLSBNZW50aW9uIFNVSURfKiBmZWF0dXJlLiAgW1Rob21hcyBTY2h3aW5nZV0KKyAgIC0gYWxpZ24gd2l0aCBob3d0by11c2FnZS1mdW5jdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbnVwIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB1c2UgY3VzdG9tIE1BWCBtYWNybyAgW0x1ZHdpZyBOdXNzZWxdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV21pc3NpbmctcHJvdG90eXBlc10gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV3VudXNlZC1wYXJhbWV0ZXJdICBbS2FyZWwgWmFrXQorICAgLSBpbnRyb2R1Y2UgeHNldGVudiBnbG9iYWxseSAgW0x1ZHdpZyBOdXNzZWxdCisgICAtIHByZXNlcnZlIGVycm5vIGluIGNsZWFudXBfcGFtKCkgIFtMdWR3aWcgTnVzc2VsXQorICAgLSByZW1vdmUgcHJvZ3JhbV9uYW1lICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5pbXBsZW1lbnRlZCBvcHRpb25zIC11IGFuZCAtdiAgW0Jlcm5oYXJkIFZvZWxrZXJdCisgICAtIHJlbW92ZSB1bnVzZWQgY29kZSAgW0x1ZHdpZyBOdXNzZWxdCisgICAtIHJlcGxhY2UgUEFNX0JBSUxfUCBtYWNybyB3aXRoIGJldHRlciBzb2x1dGlvbiAgW0x1ZHdpZyBOdXNzZWxdCisgICAtIHVzZSBCU0QgZXJyIGZ1bmN0aW9uIGluc3RlYWQgb2YgZ251J3MgZXJyb3IoKSAgW0x1ZHdpZyBOdXNzZWxdCisgICAtIHVzZSBFTlZfUEFUSCByZXNwIEVOVl9TVVBBVEggdG8gYmUgY29uc2lzdGVudCB3aXRoIGxvZ2luICBbTHVkd2lnIE51c3NlbF0KKyAgIC0gdXNlIEVYSVRfRkFJTFVSRSBjb25zaXN0ZW50bHkgIFtMdWR3aWcgTnVzc2VsXQorICAgLSB1c2UgeHN0cmR1cCgpICBbS2FyZWwgWmFrXQorc3Vsb2dpbjoKKyAgIC0gYWRkIGkxOG4gc3RyaW5ncyAgW0RhdmUgUmVpc25lcl0KKyAgIC0gYWRkIGxvbmcgb3B0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vdGUgYWJvdXQgcG9ydCB0byB1dGlsLWxpbnV4IHRvIHRoZSBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgY2hkaXIgYW5kIGdldGN3ZCByZXR1cm4gdmFsdWVzIFstV3VudXNlZC1yZXN1bHRdICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGNvbW1lbnRzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHN0cnRveHhfb3JfZXJyKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzZWxpbnV4IGJ1aWxkICBbS2FyZWwgWmFrXQorICAgLSBmaXggc2hhZG93IGRlY2xhcmF0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGdldCByaWQgb2YgY2FsbHMgdG8gL2Jpbi9zYXNoICBbRGF2ZSBSZWlzbmVyXQorICAgLSBoZWFkZXIvaW5jbHVkZSBjbGVhbnVwICBbRGF2ZSBSZWlzbmVyXQorICAgLSBpbml0aWFsIGltcG9ydCBmcm9tIHN5c3Zpbml0ICBbRGF2ZSBSZWlzbmVyXQorICAgLSBpbml0aWFsaXplIG5scyBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gcGFyc2UgdGltZW91dCBtb3JlIGNhcmVmdWxseSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIENIRUNLX3tERVMsTUQ1fSBkZWZpbmVzICBbRGF2ZSBSZWlzbmVyXQorICAgLSByZW1vdmUgVVNFX09ORUxJTkUgYW5kIFNBTkVfVElPIGRlZmluZXMgIFtEYXZlIFJlaXNuZXJdCisgICAtIHJlcGxhY2Ugb2xkZXIgc2lnbmFsKCkgd2l0aCBzaWdhY3Rpb24oKSAgW0RhdmUgUmVpc25lcl0KKyAgIC0gcmVwbGFjZSBwZXJyb3IoKSB3aXRoIHdhcngoKSAgW0thcmVsIFpha10KKyAgIC0gc2hhcmUgdmMgaW5pdGlhbGl6YXRpb24gd2l0aCBhZ2V0dHkgIFtLYXJlbCBaYWtdCisgICAtIHN1bG9naW4uOCByZWZhY3RvciBtYW5wYWdlICBbRGF2ZSBSZWlzbmVyXQorICAgLSB1c2UgRVhJVF8qICBbS2FyZWwgWmFrXQorICAgLSB1c2UgYSBtb3JlIHN0YW5kYXJkIHVzYWdlIG91dHB1dCAgW0RhdmUgUmVpc25lcl0KKyAgIC0gdXNlIGVyci5oIHN0dWZmICBbS2FyZWwgWmFrXQorICAgLSB1c2UgcGF0aG5hbWVzLmggZm9yIGZpbGUgbG9jYXRpb25zICBbRGF2ZSBSZWlzbmVyXQorICAgLSB1c2Ugc2l6ZV90IGZvciBpdGVyYXRvciB0byBhdm9pZCBjYXN0ICBbRGF2ZSBSZWlzbmVyXQorICAgLSB3aGl0ZXNwYWNlIGZpeGVzICBbRGF2ZSBSZWlzbmVyXQorc3dhcGxhYmVsOgorICAgLSBhZGQgLS12ZXJzaW9uIGFuZCBhbGlnbiB3aXRoIGhvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBjaGVjayBibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUoKSByZXN1bHQgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorc3dhcG9mZjoKKyAgIC0gY2xlYW51cCB1c2FnZSgpIGFuZCBpbmNsdWRlcyAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBjb2RlIGZyb20gc3dhcG9uLmMgdG8gc3dhcG9mZi5jICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGlibW91bnQgdG8gcGFyc2UgZnN0YWIgIFtLYXJlbCBaYWtdCitzd2Fwb246CisgICAtIGFkZCAtLXNob3cgb3B0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBzdXBwb3J0IGZvciBQQVJUVVVJRD0gYW5kIFBBUlRMQUJFTD0gIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgbWFpbigpICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAtLXN1bW1hcnkgb3V0cHV0IHJlZ3Jlc3Npb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHR5cG8gIFtLYXJlbCBaYWtdCisgICAtIGtpbGwgdW51c2VkIHZhcmlhYmxlcyBpbiBzaG93X3RhYmxlKCkgIFtQZXRyIFV6ZWxdCisgICAtIG1ha2UgLS1zaG93IHNpemUgdG8gYmUgaHVtYW4gcmVhZGFibGUgYnkgZGVmYXVsdCAgW1NhbWkgS2Vyb2xhXQorICAgLSBtaW5vciBjb2Rpbmcgc3R5bGUgY2hhbmdlcyAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBnZW5lcmljIGNvZGUgdG8gc3dhcG9uLWNvbW1vbi5jICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW51c2VkIHZhcmlhYmxlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgZGlyZWN0bHkgYmxraWQgcmF0aGVyIHRoYW4gZnNwcm9iZSB3cmFwcGVyICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGlibW91bnQgZm9yIC9wcm9jL3N3YXBzIHBhcnNpbmcgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsaWJtb3VudCBmb3IgZnN0YWIgcGFyc2luZyAoZm9yIHN3YXBvbiAtLWFsbCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBvbmx5IGxpYm1vdW50IGZvciBwYXRocy90YWdzIGV2ZWFsdWF0aW9uICBbS2FyZWwgWmFrXQorc3lzLXV0aWxzOgorICAgLSBhdm9pZCBkdXBsaWNhdGUgcmVmZXJlbmNlIHRvIGZzdGFiLjUgIFtEYXZlIFJlaXNuZXJdCisgICAtIGNsZWFudXAgc3RydG94eF9vcl9lcnIoKSAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG9zICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB2ZXJpZnkgd3JpdGluZyB0byBzdHJlYW1zIHdhcyBzdWNjZXNzZnVsICBbU2FtaSBLZXJvbGFdCitzeXNmczoKKyAgIC0gZml4IHByaW50ZiBmb3JtYXQgd2FybmluZ3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbW92ZSBibGtpZF9kZXZub190b193aG9sZWRpc2sgdG8gc3lzZnNfZGV2bm9fdG9fd2hvbGVkaXNrICBbTWljaGFsIEx1c2Nvbl0KK3RhaWxmOgorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdICBbS2FyZWwgWmFrXQordGVybS11dGlsczoKKyAgIC0gY2xlYW51cCBzdHJ0b3h4X29yX2VycigpICBbS2FyZWwgWmFrXQorICAgLSB2ZXJpZnkgd3JpdGluZyB0byBzdHJlYW1zIHdhcyBzdWNjZXNzZnVsICBbU2FtaSBLZXJvbGFdCit0ZXN0OgorICAgLSB0ZXN0ICdub25lJyBzb3VyY2UgZm9yIG1vdW50KDgpICBbS2FyZWwgWmFrXQordGVzdF9zeXNpbmZvOgorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdICBbS2FyZWwgWmFrXQordGVzdHM6CisgICAtIGFkZCBVRlMgdXVpZHMgdG8gcmVzdWx0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxheW91dCBpbmZvIHRvIGRvcyBtb2RlIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsaWJtb3VudCBvcHRzdHIgZGVkdXBsaWNhdGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsb3NldHVwL21vdW50IGVuY3J5cHRpb24gdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxzY3B1IHRlc3QgZm9yIGJveCB3aXRoIDY0IENQVXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsc2xvY2tzIHRvIGJ1aWxkLXN5cyB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vbi1kb3MgbW9kZSBmZGlzayB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3dhcG9uIHRlc3RzIGZvciAtLWZpeHBnc3ogYW5kIGZpeCBzaWduYXR1cmUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0ZXN0cyBmb3IgbW91bnQgLS1tYWtlLSogc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB1bW91bnQtYnktZWplY3QgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGJsa2lkL21kLXJhaWQxLXBhcnQgZmFpbHMgIFtCZXJuaGFyZCBWb2Vsa2VyXQorICAgLSBjaGVjayBmb3IgJ21ha2UgY2hlY2snICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHRzX2lzX21vdW50ZWQgIFtCZXJuaGFyZCBWb2Vsa2VyXQorICAgLSBod2Nsb2NrICBsb2NhdGUgbnRwZGF0ZSBieSB1c2luZyBwYXRoICBbU2FtaSBLZXJvbGFdCisgICAtIGxvb2sgIGFkZCB3b3JkcyBmaWxlICBbU2FtaSBLZXJvbGFdCisgICAtIG1ha2UgYmxraWQvbWQtcmFpZDEtcGFydCBtb3JlIHJvYnVzdCAgW0Jlcm5oYXJkIFZvZWxrZXJdCisgICAtIG1ha2UgY29tcGF0aWJsZSB3aXRoIGF1dG90b29scyAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBvdXRwdXQgYW5kIGRpZmYgZGlycyB1c2FnZSBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KKyAgIC0gbW9yZSByb2J1c3Qgc3ltbGlua3MgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHBhcnR4IGNoYW5nZWQgZGVmYXVsdCBvdXRwdXQgZm9ybWF0ICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBMRF9MSUJSQVJZX1BBVEggZnJvbSBzd2Fwb24gdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBsdC0gcHJlZml4ZXMgIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSBkb3NsYWJlbCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBzZWFyY2ggZm9yICJub25lIiBieSBmaW5kbW50ICBbS2FyZWwgWmFrXQorICAgLSBzZWFyY2ggbW91bnQgcG9pbnQgaW4gY2Fub25pY2FsaXplZCBmb3JtIGluIC9wcm9jL21vdW50cyAgW0Jlcm5oYXJkIFZvZWxrZXJdCisgICAtIHN0YW5kYXJkaXplIGZkaXNrIGhlYWRlcnMgaW4gTUJSIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSB0ZXN0IG5vbi1jYW5vbmljYWwgcGF0aHMgaW4gZnN0YWIgIFtLYXJlbCBaYWtdCisgICAtIHRpbnkgY2hhbmdlIGluIG91dHB1dCBoZWFkZXIgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGJsa2lkIHRlc3RzIHdpdGggZmRpc2sgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgYnVpbGQtc3lzIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgZmRpc2sgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGZkaXNrIHRlc3QgKGRlZmF1bHQgb3V0cHV0IGZvcm1hdCBjaGFuZ2VkKSAgW1BldHIgVXplbF0KKyAgIC0gdXBkYXRlIGlzbyB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGxpYm1vdW50IHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgbm9uLWxpYiBidWlsZCB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIG9kZGlucHV0IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBwYXJ0eCwgYWRkIG1pc3Npbmcgd2hpdGVzcGFjZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHBhdGhzIHRvIGhlbHBlcnMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBlamVjdCAtLWZvcmNlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgdHNfaXNfbW91bnRlZCBpbiBtb3VudC9yZWdmaWxlICBbQmVybmhhcmQgVm9lbGtlcl0KKyAgIC0gd2FpdCBhIG1vbWVudCBiZXR3ZWVuIG1vdW50IGFuZCB1bW91bnQgIFtLYXJlbCBaYWtdCit0ZXh0LXV0aWxzOgorICAgLSBjbGVhbnVwIHN0cnRveHhfb3JfZXJyKCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBtaW4oKSBmcm9tIGMuaCAgW1BldHIgVXplbF0KKyAgIC0gdmVyaWZ5IHdyaXRpbmcgdG8gc3RyZWFtcyB3YXMgc3VjY2Vzc2Z1bCAgW1NhbWkgS2Vyb2xhXQordGV4dC11dGlscy9oZXhzeW50YXguYzoKKyAgIC0gZml4IGZvciBtaXNzaW5nIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lICBbQW5kcmVhcyBCaWXDn21hbm5dCit0b29sczoKKyAgIC0gYWRkIGFzcHJpbnRmIHRvIGNoZWNreGFsbG9jIHNjcmlwdCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgY2hlY2ttYW5zLnNoICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBzbWFsbCBhbmQgc3R1cGlkIHNjcmlwdCB0byBjaGVjayBIQVZFX0RFQ0xfICBbS2FyZWwgWmFrXQorICAgLSBjaGVja2NvbmZpZy5zaCAgbWFrZSBzY3JpcHRzIGJvdXJuZSBzaCBjb21wbGlhbnQgW2NoZWNrYmFzaGlzbXNdICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFudXAgY29uZmlnLWdlbi5kICBbS2FyZWwgWmFrXQorICAgLSBjb25maWctZ2VuICBtYWtlIHNjcmlwdHMgYm91cm5lIHNoIGNvbXBsaWFudCBbY2hlY2tiYXNoaXNtc10gIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW1wcm92ZSBrby1yZWxlYXNlLSogc2NyaXB0cyAgW0thcmVsIFpha10KKyAgIC0ga28tcmVsZWFzZSAgbWFrZSBzY3JpcHRzIGJvdXJuZSBzaCBjb21wbGlhbnQgW2NoZWNrYmFzaGlzbXNdICBbU2FtaSBLZXJvbGFdCit0cmFuc2xhdGlvbjoKKyAgIC0gdW5pZnkgZmlsZSBvcGVuIGVycm9yIG1lc3NhZ2VzICBbU2FtaSBLZXJvbGFdCisgICAtIHVuaWZ5IHN0YXQgZXJyb3IgbWVzc2FnZXMgIFtTYW1pIEtlcm9sYV0KK3R1bmVscDoKKyAgIC0gY2hlY2sgZnN0YXQgcmV0dXJuIGNvZGUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgb2xkLCBub3cgdW5uZWVkZWQgaGVhZGVyICBbRGF2ZSBSZWlzbmVyXQordWw6CisgICAtIGZpeCBzaGFkb3cgZGVjbGFyYXRpb24gIFtTYW1pIEtlcm9sYV0KK3V0aWwtbGludXg6CisgICAtIERvY3VtZW50IG5ldyBGQVQgb3B0aW9ucyAgW1N0ZXZlbiBKLiBNYWduYW5pXQordXRtcGR1bXA6CisgICAtIGFkZCBOTFMgYW5kIGNsb3Nlc3RyZWFtIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsb25nIG9wdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgY29tbWVudHMsIGZ1bmNzIGRlZmluaXRpb24gbGluZXMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgZmlsZSBkZXNjcmlwdG9yIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGRvY3VtZW50IG9wdGlvbmFsIGZpbGVuYW1lIGFyZ3VtZW50ICBbQmVybmhhcmQgVm9lbGtlcl0KKyAgIC0gZW5jb3VyYWdlIHVzZXJzIG5vdCB0byBmb2xsb3cgc3RkaW4gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XdW51c2VkLXJlc3VsdF0gIFtLYXJlbCBaYWtdCisgICAtIGZpeGVzIGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcyBbY3BwY2hlY2tdICBbU2FtaSBLZXJvbGFdCisgICAtIGtpbGwgdW51c2VkIHZhcmlhYmxlIGluIGZvbGxvd19ieV9pbm90aWZ5KCkgIFtQZXRyIFV6ZWxdCisgICAtIG5ldyBjb21tYW5kLCBtZXJnZSBmcm9tIHN5c3Zpbml0ICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZGVhZCBjb2RlICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgbGliYzUgc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVudXNlZCB2YXJpYWJsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgZXJyLmggc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBoZWxwIGFuZCB2ZXJzaW9uIG91dHB1dCBtYWNyb3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGlub3RpZnkgdG8gd2hlbiBmb2xsb3dpbmcgZmlsZSAgW1NhbWkgS2Vyb2xhLCBLYXJlbCBaYWtdCisgICAtIHVzZSB4YWxsb2MuaCwgbWlub3IgY29kaW5nIHN0eWxlIGNoYW5nZXMgIFtLYXJlbCBaYWtdCisgICAtIHdoaXRlIHNwYWNlIGZpeCAgW1NhbWkgS2Vyb2xhXQordXVpZGQ6CisgICAtIGFkZCBzeXN0ZW1kIHVuaXQgZmlsZXMgIFtQZXRyIFV6ZWxdCisgICAtIGRvIG5vdCBkcm9wIHByaXZpbGVnZXMgIFtQZXRyIFV6ZWxdCisgICAtIGZhY3RvciBvdXQgcGlkZmlsZSBjcmVhdGlvbiBpbnRvIHNlcGFyYXRlIGZ1bmN0aW9uICBbUGV0ciBVemVsXQorICAgLSBmYWN0b3Igb3V0IHNvY2tldCBjcmVhdGlvbiBpbnRvIHNlcGFyYXRlIGZ1bmN0aW9uICBbUGV0ciBVemVsXQorICAgLSBpbXBsZW1lbnQgLS1uby1mb3JrIG9wdGlvbiAgW1BldHIgVXplbF0KKyAgIC0gaW1wbGVtZW50IC0tbm8tcGlkIG9wdGlvbiAgW1BldHIgVXplbF0KKyAgIC0gaW1wbGVtZW50IC0tc29ja2V0LWFjdGl2YXRpb24gb3B0aW9uICBbUGV0ciBVemVsXQorICAgLSBpbXByb3ZlIHN5c3RlbWQgdW5pdCBmaWxlcyAgW0thcmVsIFpha10KKyAgIC0gaW50cm9kdWNlIHV1aWRkX2N4dCB0byBwYXNzIGFyZ3VtZW50cyB0byBzZXJ2ZXIgbG9vcCAgW1BldHIgVXplbF0KKyAgIC0gbW92ZSBmcm9tIC92YXIvcnVuL3V1aWRkIHRvIC9ydW4vdXVpZGQgIFtLYXJlbCBaYWtdCisgICAtIHByaW50IGFsbCBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24gdG8gc3RkZXJyICBbUGV0ciBVemVsXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgdmFyaWFibGVzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdXNlbGVzcyBpbml0aWFsaXphdGlvbiBvZiBjbGVhbnVwX3NvY2tldCAgW1BldHIgVXplbF0KKyAgIC0gdXNlIFVVSUREX09QX0dFVFBJRCBpbnN0ZWFkIG9mIG1hZ2ljIG51bWJlciAgW1BldHIgVXplbF0KKyAgIC0gdXNlIGNvbmZpZ3VyZWQgcnVuIHN0YXRlIGRpcmVjdG9yeSBpbiBtYW51YWwgZXRjICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBpZ25vcmVfcmVzdWx0IGhlbHBlciAgW1BldHIgVXplbF0KKyAgIC0gdXNlIG91dHB1dCByZWRpcmVjdGlvbiB3aGljaCB3b3JrcyBbY2hlY2tiYXNoaXNtc10gIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHJ1biBjb25maWd1cmVkIHN0YXRlIGRpcmVjdG9yeSAgW1NhbWkgS2Vyb2xhXQordmlwdzoKKyAgIC0gYWRkIG5vcmV0dXJuIGZ1bmN0aW9uIGF0dHJpYnV0ZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIHZpbSB3cml0ZWJhY2t1cCBtb2RlIHdvcmsgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHJwbWF0Y2ggdG8geWVzL25vIHF1ZXN0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSB4bWtzdGVtcCgpIGFuZCBsY2twd2RmKCkgIFtTYW1pIEtlcm9sYV0KK3dhbGw6CisgICAtIHVzZSB4bWtzdGVtcCBmb3IgdGVtcG9yYXJ5IGZpbGUgIFtTYW1pIEtlcm9sYV0KK3dkY3RsOgorICAgLSBhZGQgIi0tc2V0dGltZW91dCIgdG8gc2V0IHRoZSB0aW1lb3V0ICBbSGFyYWxkIEhveWVyXQorICAgLSBhZGQgLS1mbGFncy1vbmx5IGFuZCBvcHRpb25hbCBjb2x1bW4gREVWSUNFICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1vbmVsaW5lICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB3YXRjaGRvZyBzdGF0dXMgdG9vbCAgW0xlbm5hcnQgUG9ldHRlcmluZ10KKyAgIC0gYWxpZ24gd2l0aCBvdGhlciB1dGlsLWxpbnV4IGNvbW1hbmRzICBbU2FtaSBLZXJvbGFdCisgICAtIGFsbG93IHRvIHNwZWNpZnkgbW9yZSB0aGFuIG9uZSBkZXZpY2UgIFtLYXJlbCBaYWtdCisgICAtIGNvcnJlY3QgbWFudWFsIHNlY3Rpb24gcmVmZXJlbmNlICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBjb25mbGljdGluZyB0eXBlcyBvbiBvbGQgc3lzdGVtcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIHRpbWVvdXRzIG91dHB1dCBtb3JlIHBhcnNhYmxlICBbS2FyZWwgWmFrXQorICAgLSByZXdyaXRlIHRvIHVzZSBsaWIvdHQgIFtLYXJlbCBaYWtdCisgICAtIHRpbnkgY2hhbmdlIHRvIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZXJyX2V4Y2x1c2l2ZV9vcHRpb25zKCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBleGNsdXNpdmVfb3B0aW9uKCkgIFtTYW1pIEtlcm9sYV0KK3doZXJlaXM6CisgICAtIGNsZWFudXAgbWFuIHBhZ2UsIGFkZCBub3RlIGFib3V0ICRQQVRIICBbS2FyZWwgWmFrXQorICAgLSBmaXggc2hhZG93IGRlY2xhcmF0aW9uICBbS2FyZWwgWmFrXQord2lwZWZzOgorICAgLSBGaXggbWlzbWF0Y2ggaWYgbW9yZSAtbyBvcHRpb25zIHVzZWQuICBbTWlsYW4gQnJvel0KKyAgIC0gYWRkIHF1aWV0IGZsYWcgKC1xKSAgW01pbGFuIEJyb3pdCisgICAtIGFsd2F5cyBwcmludCBkZXZuYW1lICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IG1vcmUgZGV2aWNlIGFyZ3VtZW50cyBmb3Igd2lwZWZzICBbTWlsYW4gQnJvel0KKyAgIC0gdXNlIGVycl9leGNsdXNpdmVfb3B0aW9ucygpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZXhjbHVzaXZlX29wdGlvbigpICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBzdHJ0b3NpemVfb3JfZXJyKCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzeW1ib2xpYyB2YWx1ZSBmb3IgbWFya3VwIG1vZGUgIFtTYW1pIEtlcm9sYV0KK3dyaXRlOgorICAgLSBEb24ndCBleHBsaWNpdGx5IGluY2x1ZGUgPGFzbS9wYXJhbS5oPi4gIFtUaG9tYXMgU2Nod2luZ2VdCisgICAtIFVzZSBQQVRIX01BWCBpbnN0ZWFkIG9mIE1BWFBBVEhMRU4sIGFzIGVsc2V3aGVyZS4gIFtUaG9tYXMgU2Nod2luZ2VdCit4YWxsb2M6CisgICAtIHVzZSB4YXNwcmludGYgaW4gYWxsIGZpbGVzICBbU2FtaSBLZXJvbGFdCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjIzLVJlbGVhc2VOb3RlcyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjMtUmVsZWFzZU5vdGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkYjQ4YWUKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjIzLVJlbGVhc2VOb3RlcwpAQCAtMCwwICsxLDExNzIgQEAKK1V0aWwtbGludXggMi4yMyBSZWxlYXNlIE5vdGVzCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCitUaGUgY3J5cHRvbG9vcCBzdXBwb3J0IGluIHRoZSBjb21tYW5kcyBtb3VudCg4KSBhbmQgbG9zZXR1cCg4KSBoYXMgYmVlbgorUkVNT1ZFRC4gVGhlIGVuY3J5cHRpb249IG1vdW50IG9wdGlvbiBhbmQgLWUsLUUsLS1lbmNyeXB0aW9uIGxvc2V0dXAgb3B0aW9ucworYXJlIG5vIG1vcmUgc3VwcG9ydGVkLgorCitUaGUgY29tbWFuZCBhcmNoKDEpIGhhcyBiZWVuIFJFTU9WRUQgZnJvbSB1dGlsLWxpbnV4IGluIGZhdm91ciBvZiBjb3JldXRpbHMKK3ZlcnNpb24uCisKK1RoZSBjb21tYW5kIGNoa2R1cGV4ZSBoYXMgYmVlbiBSRU1PVkVEIGZyb20gdXRpbC1saW51eC4KKworVGhlIGNvbW1hbmQgZGRhdGUgaGFzIGJlZW4gUkVNT1ZFRCBmcm9tIHV0aWwtbGludXguICBZb3UgY2FuIGZpbmQgaXQgaGVyZToKK2h0dHBzOi8vZ2l0aHViLmNvbS9ibzB0cy9kZGF0ZQorCitUaGUgbGlicmFyeSBsaWJibGtpZCBzdXBwb3J0cyBMSUJCTEtJRF9ERUJVRz08bWFzaz4gZW52aXJvbm1lbnQgdmFyaWFibGUgdG8KK3ByaW50IGRlYnVnIG1lc3NhZ2VzIG9uIHN0ZGVyci4gVGhlIG9sZCBCTEtJRF9ERUJVRz0gaXMgbm8gbW9yZSBzdXBwb3J0ZWQuCisKK1JlbGVhc2UgaGlnaGxpZ2h0cworLS0tLS0tLS0tLS0tLS0tLS0tCisKK25zZW50ZXIoMSk6CisgIC0gdGhpcyBORVcgQ09NTUFORCBwcm92aWRlcyBjb21tYW5kIGxpbmUgaW50ZXJmYWNlIHRvIHNldG5zKCkgTGludXggc3lzY2FsbCAKKyAgICBhbmQgYWxsb3dzIHRvIHJ1biBwcm9ncmFtIHdpdGggbmFtZXNwYWNlcyBvZiBvdGhlciBwcm9jZXNzZXMKKwordW5zaGFyZSgxKToKKyAgLSBzdXBwb3J0cyBuZXcgUElEIGFuZCBVU0VSIG5hbWVzcGFjZXMKKworZmRpc2soOCk6CisgIC0gcHJvdmlkZXMgZXhwZXJpbWVudGFsIHN1cHBvcnQgZm9yIEdVSUQgUGFydGl0aW9uIFRhYmxlIChHUFQpLCB0aGUKKyAgICBpbXBsZW1lbnRhdGlvbiBpcyBzdGlsbCBub3QgY29tcGxldGUgYW5kIHNvbWUgKHVuaW1wb3J0YW50KSBmZWF0dXJlcyBhcmUgbWlzc2luZy4KKworICAtIH41MCUgb2YgZmRpc2sgY29kZSBoYXMgYmVlbiByZWZhY3RvcmVkLCB0aGlzIHRhc2sgaXMgZ29pbmcgdG8gYmUgY29tcGxldGUgCisgICAgaW4gdGhlIG5leHQgcmVsZWFzZS4gVGhlIGdvYWwgaXMgdG8gaGF2ZSBsaWJmZGlzayBzaGFyZWQgYmV0d2VlbiBhbGwgZmRpc2tzLgorCitwYXJ0eCg4KToKKyAgLSBzdXBwb3J0cyBuZXcgInVwZGF0ZSIgY29tbWFuZCAoaW1wbGVtZW50ZWQgYnkgQkxLUEdfUkVTSVpFX1BBUlRJVElPTiBpb2N0bCkKKworbW91bnQoOCk6CisgIC0gc3VwcG9ydHMgbmV3IHVzZXJzcGFjZSBtb3VudCBvcHRpb24geC1tb3VudC5ta2Rpcls9PG1vZGU+XSB0byBjcmVhdGUgCisgICAgbW91bnRwb2ludHMgb24gZGVtYW5kCisKKyAgLSB0aGUgc3VwcG9ydCBmb3IgcHJvcGFnYXRpb24gZmxhZ3MgaGFzIGJlZW4gaW1wcm92ZWQsIG5vdyB0aGUgZmxhZ3MgY291bGQgYmUKKyAgICBzcGVjaWZpZWQgaW4gL2V0Yy9mc3RhYiBhbmQgdXNlZCB0b2dldGhlciB3aXRoIHJlZ3VsYXIgbW91bnQgb3B0aW9ucy4gSXQncworICAgIGFsc28gcG9zc2libGUgdG8gc3BlY2lmeSBtb3JlIHByb3BhZ2F0aW9uIGZsYWdzIHRvZ2V0aGVyLiBUaGlzIEVYUEVSSU1FTlRBTCAKKyAgICBmZWF0dXJlIGlzIGltcGxlbWVudGVkIGJ5IGFkZGl0aW9uYWwgbW91bnQoMikgc3lzY2FsbHMsIGJlY2F1c2UgTGludXggZG9lcworICAgIG5vdCBhbGxvdyB0byB1c2UgcHJvcGFnYXRpb24gZmxhZ3Mgd2l0aCBhbm90aGVyIG9wdGlvbnMgb3IgbW9yZSBmbGFncyAKKyAgICB0b2dldGhlci4KKwordW1vdW50KDgpOgorICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9uIC0tcmVjdXJzaXZlIHRvIHJlY3Vyc2l2ZWx5IHVubW91bnQKKyAgICBhbGwgc3ViLW1vdW50cyBmb3IgdGhlIHNwZWNpZmllZCBtb3VudHBvaW50CisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gLS1hbGwtdGFyZ2V0cyB0byB1bm1vdW50IGFsbCBtb3VudHBvaW50cyBpbgorICAgIHRoZSBjdXJyZW50IG5hbWVzcGFjZSBmb3IgdGhlIHNwZWNpZmllZCBmaWxlc3lzdGVtCisgIC0gdGhlIG9wdGlvbnMgLS1yZWN1cnNpdmUgYW5kIC0tYWxsLXRhcmdldHMgY291bGQgYmUgdXNlZCB0b2dldGhlcgorCitkbWVzZygxKToKKyAgLSBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbnMgLS1jb2xvciwgLS1odW1hbiBhbmQgLS1ub3BhZ2VyLCB0aGUKKyAgICAtLWh1bWFuIG9wdGlvbiBlbmFibGVzIHJlbGF0aXZlIHRpbWVzLCBjb2xvcnMgYW5kIHBhZ2VyIHN1cHBvcnQuCisKK3N1KDEpOgorICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9ucyAtLWdyb3VwIGFuZCAtLXN1cHAtZ3JvdXAgdG8gc3BlY2lmeQorICAgIHByaW1hcnkgYW5kIHN1cHBsZW1lbnRhcnkgZ3JvdXBzCisKK2NoZm4oMSkgYW5kIGNoc2goMSk6CisgIC0gdGhlIGNvbW1hbmRzIGNvdWxkIGJlIGxpbmtlZCB3aXRoIGxpYnVzZXIgdG8gc3VwcG9ydCBub24tbG9jYWwKKyAgICBhY2NvdW50cyBtb2RpZmljYXRpb24gKGUuZy4gTERBUCwgZXRjKS4KKwora2lsbCgxKToKKyAgLSB0aGUgY29tbWFuZCBoYXMgYmVlbiBpbXByb3ZlZCB0byBiZSBjb21wYXRpYmxlIHdpdGggcHJvY3BzIHZlcnNpb24sIHRoZQorICAgIHByb2NwcyB2ZXJzaW9uIGlzIGRlcHJlY2F0ZWQgbm93LCB0aGUgdXRpbC1saW51eCB2ZXJzaW9uIGlzIGVuYWJsZWQgYnkKKyAgICBkZWZhdWx0LgorCitibGtkaXNjYXJkKDgpOgorICAtIHRoaXMgTkVXIENPTU1BTkQgZGlzY2FyZCBzZWN0b3JzIG9uIGEgZGV2aWNlIChmb3IgZXhhbXBsZSBvbiBTU0QgZGlza3MpCisKK3N1bG9naW4oOCk6CisgIC0gcHJvdmlkZXMgbXVsdGktY29uc29sZSBmZWF0dXJlIGZyb20gU3lzVmluaXQKKworZmluZG1udCg4KToKKyAgLSBwcm92aWRlcyBuZXcgY29sdW1ucyBGUkVRLCBQQVNTTk8sIElELCBPUFQtRklFTERTLCBQUk9QQUdBVElPTgorCitsc2xvY2tzKDgpOgorICAtIHByb3ZpZGVzIG5ldyBjb2x1bW4gQkxPQ0tFUiBhbmQgZGV0ZWN0cyBibG9ja2VkIGxvY2tzCisKK2xzYmxrKDgpOgorICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9uIC0tc2NzaSBhbmQgbmV3IGNvbHVtbnMgSENUTCwgVFJBTnNwb3J0CisgICAgVkVORE9SIGFuZCBSRVZpc2lvbgorCitzd2Fwb24oOCkgYW5kIGxvc2V0dXAoOCk6CisgIC0gdGhlIGNvbW1hbmRzIHByaW50cyBiYXNpYyBvdmVydmlldyBieSBkZWZhdWx0IGlmIG5vIG9wdGlvbiBzcGVjaWZpZWQKKworY29sdW1uKDEpOgorICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9uIC0tb3V0cHV0LXNlcGFyYXRvciB0byBzcGVjaWZ5IHRhYmxlIAorICAgIG91dHB1dCBkZWxpbWl0ZXIKKworcmVuYW1lKDEpOgorICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9uIC0tc3ltbGluayB0byByZW5hbWUgc3ltbGluayB0YXJnZXQKKworaHdjbG9jayg4KToKKyAgLSBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbiAtLWNvbXBhcmUgdG8gcGVyaW9kaWNhbGx5IGNvbXBhcmUgCisgICAgdGhlIEhhcmR3YXJlIENsb2NrIHRvIHRoZSBTeXN0ZW0gVGltZSAoYmFzZWQgb24gYWRqdGltZXggLWMpCisKK2lwY3MoMSk6CisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb25zIC0tYnl0ZXMgYW5kIC0taHVtYW4KKword2lwZWZzKDEpOgorICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9uIC0tZm9yY2UgdG8gZm9yY2UgZXJhc2Ugb24gdXNlZCBkZXZpY2VzCisKKworU3RhYmxlIG1haW50ZW5hbmNlIHJlbGVhc2VzIGJldHdlZW4gdjIuMjIgYW5kIHYyLjIzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwordXRpbC1saW51eCAyLjIyLjEgWzEwLU9jdC0yMDEyXQorCisgKiBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yMi92Mi4yMi4xLVJlbGVhc2VOb3RlcworICAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjIvdjIuMjIuMS1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjIyLjIgWzEzLURlYy0yMDEyXQorCisgKiBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yMi92Mi4yMi4yLVJlbGVhc2VOb3RlcworICAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjIvdjIuMjIuMi1DaGFuZ2VMb2cKKworCitDaGFuZ2VzIGJldHdlZW4gdjIuMjIgYW5kIHYyLjIzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyBGb3IgbW9yZSBkZXRhaWxzIHNlZSBDaGFuZ2VMb2cgZmlsZXMgYXQ6CisgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjMvCisKK2FnZXR0eToKKyAgIC0gYWRkIC0tY2hyb290IHRvIHVzYWdlKCkgYW5kIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS17ZXJhc2Usa2lsbH0tY2hhcnMgb3B0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gYWRkIC1FLCAtLXJlbW90ZSB0byB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgXDQgYW5kIFw2IGlzc3VlIGZpbGUgc2VxdWVuY2VzIHRvIHByaW50IElQIGFkZHJlc3NlcyAgW0thcmVsIFpha10KKyAgIC0gZml4IGF1dG9kZXRlY3Rpb24gZm9yIFRFUk0gIFtNaWNoYWwgU2NobWlkdF0KKyAgIC0gbWFrZSAtLWF1dG9sb2dpbiB1c2VmdWwgd2l0aCAtLXNraXAtbG9naW4gKHByb21wdCkgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgXHs0LDZ9IGlzc3VlIGZpbGUgY29kZSBtb3JlIHJvYnVzdCBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgdXNhZ2UoKSB0cmFuc2xhdG9yIGZyaWVuZGx5ICBbU2FtaSBLZXJvbGFdCisgICAtIHByb3Blcmx5IHBsdXJhbGl6ZSB0aGUgcmVwb3J0aW5nIG9mIHRoZSBudW1iZXIgb2YgdXNlcnMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gcmVtb3ZlIEAgYW5kICMgYXMgZGVmYXVsdCBraWxsIGFuZCBlcmFzZSBjaGFycyAgW0thcmVsIFpha10KKyAgIC0gcmVwbGFjZSBnZXRob3N0YnluYW1lKCkgd2l0aCBnZXRhZGRyaW5mbygpICBbU2FtaSBLZXJvbGFdCisgICAtIHJlcGxhY2UgcGVybXMgNjYwIHRvIDYyMCAgW0thcmVsIFpha10KKyAgIC0gc3RvcCB1c2luZyBNQVhIT1NUTkFNRUxFTiAgW0thcmVsIFpha10KKyAgIC0gdGhlIGNvbW1hbmQgZG9lcyBub3QgaGF2ZSAtaCBhbmQgLVYgb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorYXJjaDoKKyAgIC0gcmVtb3ZlIHRoZSBjb21tYW5kLCBkZXByZWNhdGVkIHNpbmNlIDIuMTMsIHVzZSBjb3JldXRpbHMgdmVyc2lvbiAgW0thcmVsIFpha10KK2Jhc2gtY29tcGxldGlvbjoKKyAgIC0gQXZvaWQgc29tZSB1bm5lY2Vzc2FyeSBzdWJzaGVsbHMuICBbVmlsbGUgU2t5dHTDpF0KKyAgIC0gRG9uJ3Qgb2ZmZXIgYW55IG1vcmUgY29tcGxldGlvbnMgYWZ0ZXIgaGVscCBvciB2ZXJzaW9uLiAgW1ZpbGxlIFNreXR0w6RdCisgICAtIERvbid0IG9mZmVyIHNob3J0IG9wdGlvbnMgd2hlcmUgY29ycmVzcG9uZGluZyBsb25nIG9uZSBleGlzdHMuICBbVmlsbGUgU2t5dHTDpF0KKyAgIC0gU3ltbGluayBydW51c2VyIHN5bWxpbmsgdG8gc3Ugc28gaXQgZ2V0cyBsb2FkZWQgb24gZGVtYW5kLiAgW1ZpbGxlIFNreXR0w6RdCisgICAtIGFkZCBiYXNoIGNvbXBsZXRpb24gY29uZmlndXJlIG9wdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgY29tcGxldGlvbiBmaWxlcyB0byBNYWtlZmlsZS5hbSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgc3dhcG9mZiAgW0Jlcm5oYXJkIFZvZWxrZXJdCisgICAtIGRpc2stdXRpbHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZmRpc2tzICBbU2FtaSBLZXJvbGFdCisgICAtIGxvZ2luLXV0aWxzICBbU2FtaSBLZXJvbGFdCisgICAtIG1pc2MtdXRpbHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVuYW1lIHNoZWxsLWNvbXBsZXRpb24gLT4gYmFzaC1jb21wbGV0aW9uICBbS2FyZWwgWmFrXQorICAgLSBzY2hlZHV0aWxzICBbU2FtaSBLZXJvbGFdCisgICAtIHNldGFyY2ggIHVzZSBjb3JyZWN0IGxpc3QgZm9yIGFyY2hpdGVjdHVyZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc3dhcG9uICBhZGQgb3B0aW9ucyBhbmQgZml4IGFyZ3VtZW50ICBbU2FtaSBLZXJvbGFdCisgICAtIHN5cy11dGlscyAgW1NhbWkgS2Vyb2xhXQorICAgLSB0ZXJtLXV0aWxzICBbU2FtaSBLZXJvbGFdCisgICAtIHRleHQtdXRpbHMgIFtTYW1pIEtlcm9sYV0KK2Jsa2Rpc2NhcmQ6CisgICAtIGFkZCBuZXcgY29tbWFuZCAgW0x1a2FzIEN6ZXJuZXJdCitibGtpZDoKKyAgIC0gYWxzbyBhY2NlcHQgLVYgZm9yIGRpc3BsYXlpbmcgdmVyc2lvbiBpbmZvcm1hdGlvbiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBkb2N1bWVudCBMSUJCTEtJRF9ERUJVRyB1c2VycyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gZml4IGRvdWJsZSBmcmVlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZml4IG1hbiBwYWdlIG1lc3MgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBPX0NMT0VYRUMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSB4YWxsb2MgZXZlcnl3aGVyZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIHhhbGxvYy5oIHdoZW4gcG9zc2libGUgIFtTYW1pIEtlcm9sYV0KK2J1aWxkLXN5czoKKyAgIC0gQWRkIGZsYWcgZm9yIGVuYWJsaW5nL2Rpc2FibGluZyBsaWJ1c2VyIHN1cHBvcnQuICBbQ29keSBNYWxvbmV5XQorICAgLSBhZGQgLS1kaXNhYmxlLWJhc2gtY29tcGxldGlvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tZGlzYWJsZS1iZnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLWRpc2FibGUtY3l0dW5lICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1kaXNhYmxlLWZkZm9ybWF0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1kaXNhYmxlLWh3Y2xvY2sgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLWRpc2FibGUtd2RjdGwgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLWRpc2FibGUte21vcmUsdWwscGd9ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYW5vdGhlciBjb21waWxlciB3YXJuaW5ncyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNvbmZpZy1nZW4uZCBzdHVmZiBmb3IgY2hzaC1jaGZuICBbS2FyZWwgWmFrXQorICAgLSBhZGQgY29uZmlndXJlIHN1bW1hcnkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBkZXZlbC1ub24tZG9jcyBjb21waWxlIHByb2ZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBleGVjX3NoZWxsLmggdG8gZGlzdHJpYnV0aW9uICBbQmVybmhhcmQgVm9lbGtlcl0KKyAgIC0gYWRkIGZpbGVzIHRvIGRpc3RyaWJ1dGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgZ2NvdiBmaWxlcyB0byAuZ2l0aWdub3JlICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBuYW1lc3BhY2UuaCB0byBkaXN0cmlidXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIG5zZW50ZXIgdG8gZ2l0aWdub3JlICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBwYWNrYWdlIHVybCB0byBBQ19JTklUICBbU2FtaSBLZXJvbGFdCisgICAtIGNoZWNrIGZvciBzZWN1cml0eV9nZXRfaW5pdGlhbF9jb250ZXh0KCkgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwZGF0ZS1wb3RmaWxlcyBzY3JpcHQgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgLS1lbmFibGUtbW9zdC1idWlsZHMgbGlzdCAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbnVwIGNwdV9zZXRfdCB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdXNlIGxpYnMgZnJvbSBwa2ctY29uZmlnIGZyb20gbGlidXNlciAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdXNlIG5lc3RlZCBCVUlMRF8qICBbS2FyZWwgWmFrXQorICAgLSBmaXggLS1sb2NhbHN0YXRlZGlyIGhldXJpc3RpY3MgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBVTF9SRVFVSVJFU19IQVZFICBbS2FyZWwgWmFrXQorICAgLSBmaXggbm9uLWxpbnV4IGJ1aWxkICBbU2FtdWVsIFRoaWJhdWx0XQorICAgLSBmaXggbnNlbnRlciByZXF1aXJlbWVudHMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvICBbS2FyZWwgWmFrXQorICAgLSBpZ25vcmUgY2hrZHVwZXhlICBbU2FtaSBLZXJvbGFdCisgICAtIGluZm9ybSBndGstZG9jIGFib3V0IF9fdWxfYXR0cmlidXRlX18gIFtLYXJlbCBaYWtdCisgICAtIGluc3RhbGwgc3UuMSBpZiBidWlsZGluZyBzdSAgW0RhdmUgUmVpc25lcl0KKyAgIC0gaW52ZXJ0IGZsYWcgZm9yIHN1bG9naW4gZW1lcmdlbmN5IG1vdW50ICBbRGF2ZSBSZWlzbmVyXQorICAgLSBrZWVwIGxpYnVzZXIgb3B0aW9uYWwgIFtLYXJlbCBaYWtdCisgICAtIGxzbG9ja3MgZGVwZW5kcyBvbiBsaWJtb3VudCAgW0thcmVsIFpha10KKyAgIC0gbWFrZSB3YWxsIG9wdGlvbmFsIGluIGJhc2gtY29tcGxldGlvbiAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBydW51c2VyKDEpIHRvIHNiaW4gZGlyICBbS2FyZWwgWmFrXQorICAgLSByZWxlYXNlKysgKHYyLjIzLXJjMSkgIFtLYXJlbCBaYWtdCisgICAtIHJlbGVhc2UrKyAodjIuMjMtcmMyKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIC0tZW5hYmxlLWd0ay1kb2MgZnJvbSBtYWtlIGNoZWNrICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgY29uc29sZXMuaCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGdldGhvc3RieW5hbWUoKSBjaGVjayAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgc3RhdGljIGZyb20gY29uZmlnLWdlbi5kL3tkZXZlbCxhbGx9LmNvbmYgIFtLYXJlbCBaYWtdCisgICAtIHNldCBkZXBlbmRlbmNlIGZkaXNrIC0+IGxpYmZkaXNrIC0+IGxpYnV1aWQgIFtLYXJlbCBaYWtdCisgICAtIHNpbXBsaWZ5IHVzcmxpYl9leGVjZGlyIGluaXRpYWxpemF0aW9uICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IGxpc3Qgb2YgdmFyaWFibGVzIGZvciBVTF9SRVFVSVJFU19IQVZFIG1hY3JvICBbS2FyZWwgWmFrXQorICAgLSB0ZXN0IGZvciBzZWN1cmVfZ2V0ZW52KCkgdG9vLiAgW0NyaXN0aWFuIFJvZHLDrWd1ZXpdCisgICAtIHVzZSAnY2hlY2snIGZvciBhbGwgdXRpbHMgd2l0aCBkZXBlbmRlbmNpZXMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBBQ19DT01QSUxFX0lGRUxTRSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgQUNfVVNFX1NZU1RFTV9FWFRFTlNJT05TICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBsaWJjb21tb24uYSBmb3IgbHNsb2NrcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHBrZy1jb25maWcgZm9yIHNlbGludXggIFtLYXJlbCBaYWtdCisgICAtIHVzZSBwa2ctY29uZmlnIHJlc3VsdHMgZm9yIGxpYnVzZXIgIFtLYXJlbCBaYWtdCitjYWw6CisgICAtIGRvbid0IG1peCBuY3Vyc2VzIG91dHB1dCBmdW5jdGlvbnMgYW5kIHByaW50ZigpICBbS2FyZWwgWmFrXQorY2hmbjoKKyAgIC0gQWRkIGxpYnVzZXIgc3VwcG9ydCAgW0NvZHkgTWFsb25leV0KKyAgIC0gYWx3YXlzIHVzZSByZXR1cm4gcmF0aGVyIHRoYW4gZXhpdCgpIGluIG1haW4gIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIGV4aXQgc3RhdHVzICBbS2FyZWwgWmFrXQorY2hrZHVwZXhlOgorICAgLSByZW1vdmUsIGRlcHJlY2F0ZWQgZm9yIHllYXJzICBbS2FyZWwgWmFrXQorY2hydDoKKyAgIC0gbWFrZSBjb21tYW5kIHN5bnRheCBlYXNpZXIgdG8gdW5kZXJzdGFuZCBpbiB1c2FnZSgpICBbU2FtaSBLZXJvbGFdCitjaHNoOgorICAgLSBBZGQgbGlidXNlciBzdXBwb3J0ICBbQ29keSBNYWxvbmV5XQorICAgLSB1c2UgcmV0dXJuIHJhdGhlciB0aGFuIGV4aXQgaW4gbWFpbiwgY2xlYW4gdXAgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCitjaHNoLWNoZm46CisgICAtIE1vdmUgcGFtIGF1dGggdG8gaXRzIG93biBmdW5jdGlvbiwgZmFjdG9yaW5nIG91dCBjb21tb24gY29kZSAgW0NvZHkgTWFsb25leV0KKyAgIC0gZml4IGJ1Z3MsIGltcHJvdmUgY29tcGlsYXRpb24gIFtLYXJlbCBaYWtdCitjb2w6CisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV3N0cmljdC1wcm90b3R5cGVzXSAgW0thcmVsIFpha10KK2NvbHVtbjoKKyAgIC0gYWRkIC0tb3V0cHV0LXNlcGFyYXRvciBvcHRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xhcmlmeSB0aGUgLS1zZXBhcmF0b3Igb3B0aW9uICBbUMOhZHJhaWcgQnJhZHldCisgICAtIGRlc2NyaWJlIGNoYW5nZSBvZiBzZXBhcmF0b3IgYmVoYXZpb3IgaW4gbWFuIHBhZ2UgYnVncyBzZWN0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIG1ha2UgZGVmaW5lZCBzZXBhcmF0b3IgdG8gYmUgbm9uLWdyZWVkeSAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIHVzYWdlKCkgdHJhbnNsYXRvciBmcmllbmRseSAgW1NhbWkgS2Vyb2xhXQorZGRhdGU6CisgICAtIHJlbW92ZSBmcm9tIHV0aWwtbGludXggIFtTYW1pIEtlcm9sYV0KK2RtZXNnOgorICAgLSBBZGQgYSAtLWNvbG9yIG9wdGlvbiB0byBjb2xvcml6ZSBlcnJvciBhbmQgcGFuaWMgbWVzc2FnZXMgIFtPbmRyZWogT3ByYWxhXQorICAgLSBhZGQgLS1odW1hbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJvdW5kYXJ5IGNoZWNrIHRvIGZhY2lsaXR5ICYgbGV2ZWwgYXJyYXkgdXNhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGNvbnNvbGUtbGV2ZWwgb2ZmLWJ5LW9uZSAgW0Jqw7hybiBNb3JrXQorICAgLSBmaXggdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gZml4IHVzYWdlKCkgb3V0cHV0IGNvbnNpc3RhbmN5ICBbU2FtaSBLZXJvbGFdCisgICAtIG1ha2UgdXNhZ2UoKSB0cmFuc2xhdG9yIGZyaWVuZGx5ICBbU2FtaSBLZXJvbGFdCisgICAtIG1pbm9yIGNsZWFudXAgb2YgRVhDTF94eHhfRVJSIG1hY3JvcyAgW0FuZHJpaSBCb3JkdW5vdl0KKyAgIC0gbW9yZSBjb2xvcnMsIG1vcmUgZnVuICBbS2FyZWwgWmFrXQorICAgLSBwYXJzZSBsZXZlbCB3aGVuIC0tY29sb3IgaXMgdXNlZCAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgJFBBR0VSIGZvciAtLWh1bWFuIG91dHB1dCwgYWRkIC0tbm9wYWdlciAgW0thcmVsIFpha10KK2RvYzoKKyAgIC0gcmVtb3ZlIGluY29ycmVjdCBzcGFjZXMgZnJvbSBsc2NwdSBzeW5vcHNpcyBpbiBtYW5wYWdlICBbQmVubm8gU2NodWxlbmJlcmddCitkb2NzOgorICAgLSBhZGQgQVZBSUxBQklMSVRZIHNlY3Rpb24gdG8gaXNvc2l6ZSBtYW4gcGFnZSwgYW5kIHR3ZWFrIHdvcmRpbmcgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gYWRkIGZzY2suY3JhbWZzIG1hbnVhbCBwYWdlICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBsaW5lIGJyZWFrcyB0byB3aGVyZWlzLjEgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGxpc3Qgb2YgZXhwZWN0ZWQgUEFNIGNvbmZpZyBmaWxlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxvbmcgb3B0aW9ucyBhbmQgdGlkeSB1cCBraWxsLjEgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIG1pc3NpbmcgZXhpdCB2YWx1ZSB0byBmc2NrLm1pbml4KDgpICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBtaXNzaW5nIGluZm9ybWF0aW9uIGFib3V0IC1vICs8bGlzdD4gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBta2ZzLmNyYW1mcyBtYW51YWwgcGFnZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgbm90ZSBhYm91dCAvZXRjL3BhbS5kL3N1LWwgdG8gUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCAvdmFyL2xpYi9od2Nsb2NrIHRvIFRPRE8gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdSgxKSBidG1wIGxvZ2dpbmcgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBUQiB0byBsaXN0IG9mIHN1cHBvcnRlZCBzdWZmaXhlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHYyLjIzLVJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHdpcGVmcyBmZWF0dXJlIHJlcXVlc3QgdG8gVE9ETyAgW0thcmVsIFpha10KKyAgIC0gYWxpZ24gYmxrZGlzY2FyZC44IHdpdGggaG93LXRvLW1hbi1wYWdlLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGlnbiBuc2VudGVyLjEgbWFuIHBhZ2Ugd2l0aCBob3d0by1tYW4tcGFnZS50eHQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYXJjaCBpcyBnb25lLCB1c2UgZGVscGFydCBhcyB1c2FnZSgpIGZ1bmN0aW9uIGV4YW1wbGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gQVVUSE9SUywgTkVXUyAgVVRGLTggZml4ZXMuICBbVmlsbGUgU2t5dHTDpF0KKyAgIC0gQVVUSE9SUyAgcmVtb3ZlIGZvdXIgZHVwbGljYXRlIGVudHJpZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gY2xlYW51cCBUT0RPICBbS2FyZWwgWmFrXQorICAgLSBjb2wuMSAgZml4IG1hbnVhbCBwYWdlIG5hbWUgc2VjdGlvbiBbY2hlY2ttYW5zLnNoXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBkZGF0ZSByZW1vdmFsICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBjb2x1bW4uMSBncm9mZiBzeW50YXggZXJyb3IgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHBybGltaXQgdHlwbyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gZml4IHR5cG8gIFtLYXJlbCBaYWtdCisgICAtIGdlbmVyaWMgd2hlcmVpcy4xIGNsZWFuIHVwICBbU2FtaSBLZXJvbGFdCisgICAtIGltcHJvdmUgZ3JhbW1hciBhbmQgZm9ybWF0dGluZyBvZiBleHBsYW5hdGlvbiBvZiAiLW8gK2xpc3QiICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGltcHJvdmUgd29yZGluZyBhbmQgZm9ybWF0dGluZyBvZiBibGtpZCBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbXByb3ZlIHdvcmRpbmcsIGZvcm1hdHRpbmcgYW5kIGFjY3VyYWN5IG9mIGlwY3MgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gaW1wcm92ZSB3b3JkaW5nLCBncmFtbWFyIGFuZCBmb3JtYXR0aW5nIG9mIGxzYmxrIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIG1ha2UgdGhlIHNlY3Rpb24gQVZBSUxBQklMSVRZIGFsd2F5cyBjb21lIGxhc3QgaW4gbWFuIHBhZ2VzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIG1hcmsgb2xkIGxvc2V0dXAgb3V0cHV0IGZvcm1hdCBhcyBERVBSRUNBVEVEICBbS2FyZWwgWmFrXQorICAgLSBtZW50aW9uIE9wZW4gR3JvdXAgcmVxdWlyZW1lbnRzICBbU2FtaSBLZXJvbGFdCisgICAtIG1lbnRpb24gd2hhdCBPcGVuIEdyb3VwIGhhcyBtYXJrZWQgbGVnYWN5ICBbU2FtaSBLZXJvbGFdCisgICAtIG1rc3dhcC44ICByZWNvbW1lbmQgZmFsbG9jYXRlKDEpICBbU2FtaSBLZXJvbGFdCisgICAtIG1vdW50LjggIG1ha2UgcHJvcGFnYXRpb24gZmxhZ3MgYWRqdXN0YWJsZSBbY2hlY2ttYW5zLnNoXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBORVdTICBhZGQgc29tZSBtaXNzaW5nIGFjY2VudHMsIHNpbmNlIHRoaXMgaXMgbm93IFVURi04ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIG5vcm1hbGl6ZSBmb3JtYXR0aW5nIG9mIGZpbmRtbnQgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gbm9ybWFsaXplIGZvcm1hdHRpbmcgb2YgbHNsb2NrcyBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBub3JtYWxpemUgZm9ybWF0dGluZyBvZiB3aXBlZnMgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gcmVtb3ZlIGRlYWQgbGluayAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgaHdjbG9jayAtLWNvbXBhcmUgZnJvbSBUT0RPICBbQmlsbCBQZW1iZXJ0b25dCisgICAtIHJlbW92ZSByZXBlYXRlZCB3b3JkcyBbY2hlY2ttYW5zLnNoXSAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgcmVwZWF0ZWQgd29yZHMgIFtLYXJlbCBaYWtdCisgICAtIHNvcnQgdGhlIG9wdGlvbnMgaW4gZmluZG1udCBtYW4gcGFnZSBhbHBoYWJldGljYWxseSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBzd2Fwb24uOCBvcHRpb24gbmFtZSBmaXggIFtTYW1pIEtlcm9sYV0KKyAgIC0gdW1vdW50Ljggc3ludGF4IGZpeC4gIFtWaWxsZSBTa3l0dMOkXQorICAgLSB1cGFkdGUgdjIuMjMtUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgQVVUSE9SUyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgZGVwcmVjYXRlZCBmaWxlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgZGVwcmVjYXRlZC50eHQgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBUT0RPIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSB2Mi4yMy1SZWxlYXNlTm90ZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSB5ZWFyICBbS2FyZWwgWmFrXQorICAgLSB1c2FnZSBmdW5jdGlvbiBhbmQgZ2V0dGV4dCAgW1NhbWkgS2Vyb2xhXQorZWplY3Q6CisgICAtIHJlbW92ZSBhIGR1cGxpY2F0ZSBjb21tYW5kIG5hbWUgZnJvbSBlcnJvciBtZXNzYWdlICBbU2FtaSBLZXJvbGFdCisgICAtIHJvYnVzdCBzdHJpbmdzIHVzYWdlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KK2ZkaXNrOgorICAgLSAoYWl4KSByZW1vdmUgdW51dXNlZCB2YXJpYWJsZSAncGFydGl0aW9ucycgIFtLYXJlbCBaYWtdCisgICAtIChiZHMpIHVzZSBuZXN0ZWQgcGFydGl0aW9uIHRhYmxlICBbS2FyZWwgWmFrXQorICAgLSAoYnNkKSBhZGQgcGFydGl0aW9ucyBjb3VudGVycyAgW0thcmVsIFpha10KKyAgIC0gKGJzZCkgc3VwcG9ydCBub24tbmVzdGVkIHZlcnNpb24gdG9vICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSBraWxsICdwYXJ0aXRpb25zJyBnbG9iYWwgdmFyaWFibGUgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIG1vdmUgJ21vdmUgYmVnaW4nIGNvZGUgdG8gZmRpc2tkb3NsYWJlLmMgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIG1vdmUgJ3RvZ2dsZSBhY3RpdmUnIGNvZGUgdG8gZmRpc2tkb3NsYWJlLmMgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIG1vdmUgZG9zIHNwZWNpZmljIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIG1vdmUgZG9zX2xpc3RfdGFibGVfZXhwZXJ0KCkgdG8gZmRpc2tkb3NsYWJlLmMgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIG1vdmUgZml4IG9yZGVyIGNvZGUgdG8gZmRpc2tkb3NsYWJlLmMgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIG1vdmUgbGlzdCB0YWJsZSBjb2RlIHRvIGZkaXNrZG9zbGFiZS5jICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSB1c2UgbmV3IGRpYWxvZyB0byBhc2sgZm9yIHByaW0uIHBhcnRpdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIGFsaWduIG5ld2x5IGNyZWF0ZWQgcGFydGl0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgY2hlY2sgaWYgdGhlICJGaXJzdCBzZWN0b3IiIGlzIHVudXNlZCAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgY2hlY2sgcGFydGl0aW9ucyBhbGlnbm1lbnQgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIGZpeCBjb21waWxlciB3YXJuaW5ncyAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgZml4IHtsYXN0LGZpcnN0fV91c2FibGVfbGJhIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSByZW1vdmUgZ2xvYmFsIHZhcmlhYmxlcywgY2xlYW51cCBoZWFkZXIgdmVyaWZpY2F0aW9uICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSB1c2UgZmRpc2tfe3dhcm4sd2FyeCxpbmZvfSBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIHVzZSB0b3BvbG9neSB0byBkZWZpbmUgRmlyc3RVc2FibGVMQkEgIFtLYXJlbCBaYWtdCisgICAtIChzdW4pICB1c2UgYXNrIEFQSSwgcmVtb3ZlIGdsb2JhbCB2YXJpYWJsZSAgW0thcmVsIFpha10KKyAgIC0gKHN1bikgY2xlYW51cCBoZWFkZXIgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gKHN1bikgcmVtb3ZlIGRlYWQgY29kZSAgW0thcmVsIFpha10KKyAgIC0gKHN1bikgcmVtb3ZlIGdsb2JhbCB2YXJpYWJsZSAncGFydGl0aW9ucycgIFtLYXJlbCBaYWtdCisgICAtIChzdW4pIHJlbW92ZSBuYXN0eSBzdW5sYWJlbCBtYWNybyAgW0thcmVsIFpha10KKyAgIC0gKHN1bikgc2hhcmUgZGlzayBsYWJlbCBzdHJ1Y3Qgd2l0aCBsaWJibGtpZCAgW0thcmVsIFpha10KKyAgIC0gKHN1bikgdXNlIEFzayBBUEkgZm9yIG5ldy1wYXJ0aXRvbiBkaWFsb2cgIFtLYXJlbCBaYWtdCisgICAtIChzdW4pIHVzZSBjcHVfdG9fYmUqIG1hY3JvcywgcmVtb3ZlIG90aGVyX2VuZGlhbiBnbG9iYWwgdmFyaWFibGUgIFtLYXJlbCBaYWtdCisgICAtIChzdW4pIHVzZSBmZGlza18gcHJlZml4IGZvciBsYWJlbCBzcGVjaWZpYyBwdWJsaWMgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSAoc3VuKSB1c2UgZmRpc2tfe2luZm8sd2Fybnh9ICBbS2FyZWwgWmFrXQorICAgLSAoc3VuKSB1c2UgeWVzL25vIGZyb20gbGliZmRpc2sgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAnRycgdG8gY3JlYXRlIFNHSSBsYWJlbCB0byB0aGUgbWFpbiBtZW51ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgQUFyY2g2NCBzdXBwb3J0ICBbTWFyY2luIEp1c3praWV3aWN6XQorICAgLSBhZGQgR1BUIHN1cHBvcnQgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGFkZCBjYWxsYWNrcyBmb3IgaW5mbywgd2FybiBhbmQgd2FybnggQXNrIEFQSSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNhbGxiYWNrIGZvciBhc2stbnVtYmVycyBBUEkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmZGlza19nZXRfcGFydGl0aW9uX3R5cGUoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZkaXNrX3NldF9wYXJ0aXRpb25fdHlwZSgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbmV3IGZ1bmN0aW9ucyBmb3Igd29yayB3aXRoIGZkaXNrX3BhcnR0eXBlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgdGhlIFh0ZW5zYSBhcmNoaXRlY3R1cmUgIFtLYXJlbCBaYWtdCisgICAtIGFsbG93IHplcm8gYXMgZGVmYXVsdCBvZmZzZXQvc2l6ZSAgW0thcmVsIFpha10KKyAgIC0gYXBpICBpbXByb3ZlIHNvbWUgY29tbWVudHMgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGFwaSAgbW92ZSBkaXNrbGFiZWwgdHlwZSB0byBjeHQgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGFwaSAgcHJvcGFnYXRlIGFkZCBwYXJ0aXRpb25zIHRvIHVzZXJzICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBhcGkgIHByb3BhZ2F0ZSBwYXJ0aXRpb24gZGVsZXRpb24gdG8gdXNlcnMgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGNsZWFudXAgZGVidWcgbWVzc2FnZXMgYW5kIGNvbW1lbnRzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHBhcnRpdGlvbiBzdGFydC9lbmQgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNvcnJlY3RseSBpbml0aWFsaXplIHBvaW50ZXIgdG8gc3VuIGxhYmVsICBbS2FyZWwgWmFrXQorICAgLSBkaWZmZXJlbnRpYXRlIGJldHdlZW4gZ2V0IGFuZCByZWFkIG9wZXJhdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgZmFpbHMgc2lsZW50bHkgaWYgRUJSIGlzIG91dHNpZGUgb2YgZGlzayAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3Qgb2ZmZXIgR1BUIHN0dWZmIGluIEJTRCBtZW51ICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVdwb2ludGVyLWFyaXRoXSBhbmQgZmxvYXRpbmcgcG9pbnQgZXhjZXB0aW9uICBbS2FyZWwgWmFrXQorICAgLSBmaXggbGlzdCB0eXBlcyAgW0thcmVsIFpha10KKyAgIC0gZml4IHNlZ2ZhdWx0IHdoZW4gcHJpbnRpbmcgZ3B0IHJhdyBkYXRhICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBmaXggdHlwbyAgW0thcmVsIFpha10KKyAgIC0gZ3B0ICBjaGVjayBoZWFkZXIgc2l6ZSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gZ3B0ICB1c2Ugc3dhcF9lZmlfZ3VpZCBmb3IgbmV3IHBhcnRpdGlvbnMgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGdwdCAgd3JpdGUgZW50aXJlIGZpcnN0IHNlY3RvciAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gaW1wcm92ZSBNQlIgZGV0ZWN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGxpc3QgcGFydGl0aW9uIHR5cGVzICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIERPUyB1bml0cyBzdHVmZiB0byBmZGlza2Rvc2xhYmVsLmMgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgcGFydGl0aW9uIHR5cGVzIHRvIGxhYmVsIHNwZWNpZmljIHBhcnQgIFtLYXJlbCBaYWtdCisgICAtIG5vIG1vcmUgQUlYICJzdXBwb3J0IiAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGNvbW1hIGZyb20gYXNrIG51bWJlciBkaWFsb2cgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBjcmFwcHkgYnVncyBzZWN0aW9uIGZyb20gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBkZWFkIGNvZGUgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHJlbW92ZSBkZWFkIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBkdXBsaWNhdGUgY29kZSAoYWxyZWFkeSBpbiBsaWJmZGlzaykgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBmZGlza19sYWJlbCBmcm9tIEFQSSBmdW5jdGlvbnMsIGFkZCBhc3NlcnRzLCB1c2Ugc2l6ZV90ICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZ2xvYmFsIHVuaXQgdmFyaWFibGVzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZ2xvYmFsIHZhcmlhYmxlIHNlY3Rvcl9vZmZzZXQgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bndhbnRlZCBvcGVyYXRvciBbc21hdGNoIHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSByZXBvcnQgUFQgdHlwZSwgaW5mb3JtIGFib3V0IG5ldyBHUFQgIFtLYXJlbCBaYWtdCisgICAtIHNvcnQgbWVudSAgW0thcmVsIFpha10KKyAgIC0gdXNlIEJMS1NTWkdFVCBhcyBkZWZhdWx0IGZvciBpby1saW1pdHMgcmF0aGVyIHRoYW4gaGFyZGNvZGVkIGxpbWl0ICBbS2FyZWwgWmFrXQorICAgLSB1c2UgY29tbWEgaW4gdGhlIGFzay1wYXJ0aXRpb24tbnVtYmVyIGRpYWxvZyAoYWdhaW4pICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZGVidWcgc3R1ZmYgZnJvbSBsaWJmZGlzayAgW0thcmVsIFpha10KKyAgIC0gdXNlIGZkaXNrX2Fza19wYXJ0bnVtKCkgZXZlcnl3aGVyZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGZkaXNrX3BhcnR0eXBlICBpbiBhZGRfcGFydGl0aW9uICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGliZmRpc2sgbGFiZWwtPmNoYW5nZWQgIFtLYXJlbCBaYWtdCisgICAtIHplcm9zaXplIEVCUiBidWZmZXIgIFtLYXJlbCBaYWtdCitmZGlza3M6CisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nICBbS2FyZWwgWmFrXQorZmluZG1udDoKKyAgIC0gYWRkIEZSRVEgYW5kIFBBU1NOTyBjb2x1bW5zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgSUQgY29sdW1uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgT1BULUZJRUxEUyBjb2x1bW4gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBQUk9QQUdBVElPTiBjb2x1bW4gIFtLYXJlbCBaYWtdCisgICAtIGFsbG93IHRvIHJlYWQgKFBBUlQpVVVJRC9MQUJFTCBmcm9tIHVkZXYgREIgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGNhcmUgYWJvdXQgeGFzcHJpbnRmKCkgcmV0dXJuIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvIGZzcm9vdCAtPiBub2Zzcm9vdCAgW0thcmVsIFpha10KKyAgIC0gbWFrZSAtLXRhcmdldCB1c2FibGUgd2l0aCBiaW5kIG1vdW50cyAgW0thcmVsIFpha10KKyAgIC0gbWFrZSB1c2FnZSgpIHRyYW5zbGF0b3IgZnJpZW5kbHkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHRyZWUgb3V0cHV0IGluIG1vcmUgY2FzZXMgIFtLYXJlbCBaYWtdCitmbG9jazoKKyAgIC0gaW1wcm92ZSB1c2FnZSBzdHJpbmdzICBbTWlrZSBGcnlzaW5nZXJdCisgICAtIHBvc3NpYmxlIHBvaW50ZXIgZGVyZWZlcmVuY2VzIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGluY2x1ZGUvdGltZXIuaCAgW0thcmVsIFpha10KKyAgIC0gdXNlIHN0cnRvdGltZXZhbCgpIGZyb20gbGliY29tbW9uICBbS2FyZWwgWmFrXQorZnNjazoKKyAgIC0gYWRkICItLSIgdG8gdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBtYXJrIGZpbGUgZGVzY3JpcHRvciBmb3IgLUMgYXMgb3B0aW9uYWwgaW4gaGVscCB0ZXh0ICBbQmVubm8gU2NodWxlbmJlcmddCitmc2NrLmNyYW1mczoKKyAgIC0gYWRkIGR1bW15IC1hIC15IGZvciBjb21wYXRpYmlsaXR5ICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayByZXR1cm5zIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gY29tcGlsZSB3aXRoIC1ESU5DTFVERV9GU19URVNUUyBmb3IgbWFrZSBjaGVjayAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XcG9pbnRlci1hcml0aF0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyAgW0thcmVsIFpha10KK2ZzZnJlZXplOgorICAgLSBhZGQgbm90ZSBhYm91dCBhdGltZSB0byB0aGUgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIGZvciBjb2xsaXNpb24gYmV0d2VlbiBvcHRpb25zICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCB1c2FnZSgpLCBhZGQgLVYgIFtLYXJlbCBaYWtdCisgICAtIHRlbGwgdXNlciB3aGVuIG1hbmRhdG9yeSBvcHRpb24gaXMgbm90IHNwZWNpZmllZCAgW1NhbWkgS2Vyb2xhXQorZnN0cmltOgorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgIndlcmUiIGZyb20gdmVyYm9zZSBtZXNzYWdlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgaHVtYW4gcmVhZGFibGUgc2l6ZXMgaW4gdmVyYm9zZSBvdXRwdXQgIFtLYXJlbCBaYWtdCitnZXRvcHQ6CisgICAtIGZpeCBub3JtYWxpemUoKSB1c2FnZSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCB1c2FnZSgpIHR5cG8gdW5xdW90ZSAtPiB1bnF1b3RlZCAgW0thcmVsIFpha10KKyAgIC0gbWFrZSB0aGUgY29kZSBtb3JlIHJlYWRhYmxlIGZvciBhbmFseXNlcnMgIFtLYXJlbCBaYWtdCitncHQ6CisgICAtIGNyZWF0ZSBlbXB0eSBkaXNrbGFiZWxzICBbRGF2aWRsb2hyIEJ1ZXNvXQoraGV4ZHVtcDoKKyAgIC0gZG8gbm90IHNlZ2ZhdWx0IHdoZW4gaXRlcmF0aW5nIG92ZXIgYW4gZW1wdHkgZm9ybWF0IHN0cmluZyAgW09uZHJlaiBPcHJhbGFdCitod2Nsb2NrOgorICAgLSBhZGQgYSBuZXcgLS1jb21wYXJlIG9wdGlvbiAgW09uZHJlaiBPcHJhbGFdCisgICAtIGFkZCB0aGUgLS1jb21wYXJlIG9wdGlvbiB0byB0aGUgbWFuIHBhZ2UgIFtCaWxsIFBlbWJlcnRvbl0KKyAgIC0gY2xlYW51cCBfKCkgdXNhZ2UgaW4gc3luY2hyb25pemVfdG9fY2xvY2tfdGlja19ydGMoKSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgY29uZnVzZSB1c2VycyB3aXRoIHNlbGVjdCgpIHRpbWVvdXQgd2FybmluZyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3Qgd2FycCB0aGUgc3lzdGVtdGltZSBpZiB0aGUgUlRDIGlzIGluIFVUQyAgW1RvbSBHdW5kZXJzZW5dCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nICBbS2FyZWwgWmFrXQorICAgLSBmaXggaW4gdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBod2Nsb2NrIGxlYXAtc2Vjb25kLWF3YXJlICBbSm9zZXBoIFBhcm1lbGVlXQorICAgLSBtYWtlIHVzYWdlKCkgY2hhbmdlIHRyYW5zbGF0b3IgZnJpZW5kbHkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gd2FpdCB0aW1lIGluIGh3Y2xvY2sgaXMgbm90IGxvbmcgZW5vdWdoIGZvciBzb21lIEFSTSBkZXZpY2VzICBbS2FyZWwgWmFrXQoraW5jbHVkZToKKyAgIC0gYWRkIG1pc3NpbmcgdmFsdWVzIHRvIHN5c2ZzX2N4dCBpbml0aWFsaXplciBkZWZpbml0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCB0aW1lci5oICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGNvcHlyaWdodCBoZWFkZXJzICBbS2FyZWwgWmFrXQorICAgLSBmaXggU1lTX3t1bnNoYXJlLG5zZW50ZXJ9IHVzYWdlICBbS2FyZWwgWmFrXQoraW5jbHVkZS9iaXRvcHRzOgorICAgLSBVc2UgdGhlIG9wZXJhdGluZyBzeXN0ZW0gYnl0ZXN3YXBwaW5nIGZ1bmN0aW9ucyAgW0thcmVsIFphaywgQ3Jpc3RpYW4gUm9kcsOtZ3Vlel0KK2luY2x1ZGUvYzoKKyAgIC0gYWRkIGdldF9ob3N0bmFtZV9tYXgoKSBpbmxpbmUgZnVuY3Rpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIG1hY3JvIFVMX0NMT0VYRUNTVFIgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgdXNsZWVwKCkgZmFsbGJhY2sgdG8gYy5oICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgTUFYSE9TVE5BTUVMRU4gbWFjcm8gIFtLYXJlbCBaYWtdCitpbmNsdWRlL2VudjoKKyAgIC0gdW5pZnkgaW5kZW50YXRpb24gIFtTYW1pIEtlcm9sYV0KK2luY2x1ZGUvZmlsZXV0aWxzOgorICAgLSB1c2UgT19DTE9FWEVDIGZvciBta3RlbXAgc3R1ZmYgIFtLYXJlbCBaYWtdCitpbmNsdWRlL2xpc3Q6CisgICAtIGFkZCBsaXN0X2xhc3RfZW50cnkoKSAgW0thcmVsIFpha10KKyAgIC0gZml4IHVuZGVmaW5lZCBiZWhhdmlvciBpbiBsaXN0X2VudHJ5KCkgbWFjcm8gIFtTYW1pIExpZWRlc10KK2luY2x1ZGUvb3B0dXRpbHM6CisgICAtIG1ha2UgY29sbGlzaW9ucyBkZXRlY3Rpb24gYmV0d2VlbiBvcHRpb25zIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQoraW5jbHVkZS9wYXRobmFtZXM6CisgICAtIHJlbmFtZSBfUEFUSF9BREpQQVRIIHRvIF9QQVRIX0FESlRJTUUgIFtLYXJlbCBaYWtdCitpbmNsdWRlL3N5c2ZzOgorICAgLSBhZGQgU0NTSSBob3N0IGNoYW5uZWwgdGFyZ2V0IGx1biBzdXBwb3J0ICBbS2FyZWwgWmFrXQoraW5jbHVkZS90aW1lcjoKKyAgIC0gcmV0dXJuIHNldGl0aW1lciByZXR1cm4gdmFsdWUgIFtLYXJlbCBaYWtdCitpbmNsdWRlL3R0eXV0aWxzOgorICAgLSBhZGQgZGVmYXVsdCBjaGFyZGF0YSAgW1dlcm5lciBGaW5rXQoraW5jbHVkZS94YWxsb2M6CisgICAtIGFkZCB4Z2V0aG9zdG5hbWUoKSAgW0thcmVsIFpha10KK2lubHVkZS9wdC1zdW46CisgICAtIGFkZCBmbGFncyBhbmQgdGFncyAgW0thcmVsIFpha10KK2lvbmljZToKKyAgIC0ga2VlcCBvdXRwdXQgYmFja3dhcmRseSBjb21wYXRpYmxlICBbS2FyZWwgWmFrXQoraXBjbWs6CisgICAtIHVzZSByYW5kb21fZ2V0X2J5dGVzKCkgdG8gZ2VuZXJhdGUgSVBDIGtleXMgIFtLYXJlbCBaYWtdCitpcGNybToKKyAgIC0gYXZvaWQgJ3VuaW5pdGlhbGl6ZWQnIHdhcm5pbmcgIFtCZXJuaGFyZCBWb2Vsa2VyXQoraXBjczoKKyAgIC0gYWRkIC0tYnl0ZXMgc2l6ZSBvdXRwdXQgb3B0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCAtLWh1bWFuIHJlYWRhYmxlIHNpemUgY29udmVyc2lvbiBvcHRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIC9wcm9jIGFuZCAvc3lzIHBhdGggZGVmaW5pdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYXNzaXN0IGRlYnVnZ2luZyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbiB1cCBkb19tc2coKSwgYW5kIGFkZCBpcGNfbXNnX2dldF9pbmZvKCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW4gdXAgZG9fc2VtKCksIGFuZCBhZGQgaXBjX3NlbV9nZXRfaW5mbygpICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFuIHVwIGRvX3NobSgpICBbS2FyZWwgWmFrXQorICAgLSBkZXRlcm1pbmUgaXBjIGxpbWl0cyBmcm9tIC9wcm9jICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFtjbGFuZyAtV3VuaW5pdGlhbGl6ZWRdICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MsIHVzZSA2NGJpdCB0aW1lICBbS2FyZWwgWmFrXQorICAgLSBmaXggaXBjX3NobV9nZXRfaW5mbygpLCB1c2UgY2FsbG9jICBbS2FyZWwgWmFrXQorICAgLSBmaXggc3BhY2luZyBpbiBzdW1tYXJ5IG91dHB1dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIC0taHVtYW4gcmVhbGx5IHNleHkgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgaW5kaXZpZHVhbCBtZXNzYWdlIHF1ZXVlIGlkIHByaW50aW5nIHRvIHVzZSAvcHJvYyAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIGluZGl2aWR1YWwgc2VtYXBob3JlIGlkIHByaW50aW5nIHRvIHVzZSAvcHJvYyAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIGluZGl2aWR1YWwgc2hhcmVkIG1lbW9yeSBpZCBwcmludGluZyB0byB1c2UgL3Byb2MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVhZCBzaGFyZWQgbWVtb3J5IHZhbHVlcyBmcm9tIC9wcm9jICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBwcmludF9wZXJtcygpICBbU2FtaSBLZXJvbGFdCisgICAtIHJlcG9ydCBhbiBlcnJvciB3aGVuIC1pIGlzIHVzZWQgd2l0aCBtdWx0aXBsZSByZXNvdXJjZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK2lzb3NpemU6CisgICAtIGZpeCB1c2FnZSgpIC1oIG9wdGlvbiBwcmludCBvdXQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW5mb3JtIGlmIGZpbGUgZG9lcyBub3QgbG9vayBsaWtlIGlzbyBmaWxlIHN5c3RlbSAgW1NhbWkgS2Vyb2xhXQora2lsbDoKKyAgIC0gYWRkIGxvbmcgb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgbm90ZSBhYm91dCB0aHJlYWRzIHRvIHRoZSBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHByZXR0eSBwcmludGVkIGxpc3Qgb3V0cHV0IChmb3IgY29tcGF0aWJpbGl0eSB3aXRoIHByb2NwcykgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWxpZ24gd2l0aCBob3d0by11c2FnZS1mdW5jdGlvbi50eHQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc3VwcG9ydCAtLWxpc3Q9PHNpZ25hbD4gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsaWJjIGVycm9yIHByaW50aW5nIGZhY2lsaXRpZXMgYW5kIGV4aXQgdmFsdWVzICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBuZXcgQVBJIGZyb20gbGliL3Byb2N1dGlscy5jICBbS2FyZWwgWmFrXQora2lsbCwgcHJvY3M6CisgICAtIHVzZSBwaWRfdCBmb3IgcGlkcyAgW1NhbWkgS2Vyb2xhXQorbGFzdDoKKyAgIC0gc3RvcCB1c2lnIE1BWEhPU1ROQU1FTEVOICBbS2FyZWwgWmFrXQorbGliOgorICAgLSB1c2UgT19DTE9FWEVDIGluIGxpYmNvbW1vbiAgW0thcmVsIFpha10KK2xpYi9jYW5vbmljYWxpemU6CisgICAtIGFkZCBjYW5vbmljYWxpemVfcGF0aF9yZXN0cmljdGVkKCkgdG8gY2Fub25pY2FsaXplIHdpdGhvdXQgc3VpZCBwZXJtaXNzc2lvbnMgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHVzZSAvZGV2L21hcHBlci88bmFtZT4gaWYgdGhlIG5vZGUgZG9lcyBub3QgZXhpc3QgIFtLYXJlbCBaYWtdCitsaWIvY29sb3I6CisgICAtIGFkZCBtb2R1bGUgZm9yIHdvcmsgd2l0aCB0ZXJtaW5hbCBjb2xvcnMgIFtPbmRyZWogT3ByYWxhXQorbGliL2NvbnNvbGFzOgorICAgLSByZW1vdmUgZ2xvYmFsIHZhcmlhYmxlIGNvbmNvdW50LCBmaXggbGlua2VkIGxpc3QgIFtLYXJlbCBaYWtdCitsaWIvY29uc29sZToKKyAgIC0gZml4IHBvc3NpYmxlIGZkIGxlYWsgIFtLYXJlbCBaYWtdCitsaWIvY29uc29sZXM6CisgICAtIC9wcm9jL2NvbnNvbGVzIGNvZGUgcmVmYWN0b3JpbmcgIFtLYXJlbCBaYWtdCisgICAtIFRJT0NHREVWIGNvZGUgcmVmYWN0b3JpbmcgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjb2RlIHRvIGRldGVjdCBhbGwgc3lzdGVtIGNvbnNvbGVzICBbV2VybmVyIEZpbmtdCisgICAtIGFkZCBkZWJ1ZyBtZXNzYWdlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRlc3QgcHJvZ3JhbSAgW0thcmVsIFpha10KKyAgIC0gY21kbGluZSBjb2RlIHJlZmFjdG9yaW5nICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBjYWxsIHBlcnJvcigpICBbS2FyZWwgWmFrXQorICAgLSBtaW5vciBjbGVhbiB1cHMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBnbG9iYWwgdmFyaWFibGUgY29tcGFyZWRldiAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGdsb2JhbCB2YXJpYWJsZSBjb25zb2xlcyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGdsb2JhbCB2YXJpYWJsZSBpbml0Y3AgIFtLYXJlbCBaYWtdCisgICAtIHNtYWxsIGNsZWFudXAgIFtLYXJlbCBaYWtdCisgICAtIHN5c2ZzIGNvZGUgcmVmYWN0b3JpbmcgIFtLYXJlbCBaYWtdCisgICAtIHRyeSBhbm90aGVyIG1ldGhvZHMgYmVmb3JlIGdvIHRvIGZhbGxiYWNrICBbS2FyZWwgWmFrXQorbGliL2lzbW91bnRlZDoKKyAgIC0gYmFzaWMgc3VwcG9ydCBmb3IgbG9vcCBkZXZpY2VzICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGxvb3BkZXYgc3VwcG9ydCAgW0thcmVsIFpha10KK2xpYi9sb29wZGV2OgorICAgLSBjaGVjayBmb3IgL3N5cyAgW0thcmVsIFpha10KKyAgIC0gZml4IGxvb3BkZXZfZmluZF9ieV9iYWNraW5nX2ZpbGUoKSAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBkZWJ1ZyBtZXNzYWdlcyAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBsb29wY3h0X2dldF9kZXZpY2UoKSBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KK2xpYi9tYnNhbGlnbjoKKyAgIC0gY29ycmVjdCBsaWNlbnNlIGhlYWRlciBmcm9tIEdQTHZbMjNdIHRvIExHUEx2MisgIFtQw6FkcmFpZyBCcmFkeV0KK2xpYi9wYWdlcjoKKyAgIC0gcm9idXN0IHdvcmsgd2l0aCBmaWxlIGRlc2NyaXB0b3JzIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KK2xpYi9wYXRoOgorICAgLSBhZGQgcGF0aF9yZWFkX3U2NCgpICBbS2FyZWwgWmFrXQorICAgLSByZW5hbWUgZnVuY3Rpb25zIHRvIGJlIG1vcmUgZXhwbGljaXQgIFtLYXJlbCBaYWtdCitsaWIvcHJvY3V0aWxzOgorICAgLSBhZGQgc2ltcGxlIEFQSSB0byBzY2FuIC9wcm9jL1BJRC8qICBbS2FyZWwgWmFrXQorICAgLSB0ZXN0IHJlZmFjdG9yaW5nICBbS2FyZWwgWmFrXQorbGliL3N0cnV0aWxzOgorICAgLSBhZGQgc3RydG90aW1ldmFsX29yX2VycigpICBbS2FyZWwgWmFrXQorICAgLSBzaW1wbGlmeSBzdHJ0b3NpemUoKSwgcmV0dXJuIGluZm8gYWJvdXQgc3VmZml4ICBbS2FyZWwgWmFrXQorbGliL3N5c2ZzOgorICAgLSBhZGQgU0NTSSBsaW5rIGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZ1bmN0aW9ucyBmb3IgU0NTSSBob3N0IGF0dHJpYnV0ZXMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzeXNmc19kZXZuYW1lX3RvX2Rldm5vIGZvciBkbSBwYXJ0aXRpb25zICBbUGV0ZXIgUmFqbm9oYV0KKyAgIC0gbW9yZSByb2J1c3Qgc3lzZnNfb3BlbmRpcigpIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KK2xpYi90dDoKKyAgIC0gZG9uJ3QgaWdub3JlICJleHRyZW1lIiBjb2x1bW5zIGlmIGFuIGZyZWUgc3BhY2UgaXMgYXZhaWxhYmxlICBbS2FyZWwgWmFrXQorbGliL3R0eToKKyAgIC0gZG9uJ3QgdHJ1bmNhdGUgb3V0cHV0IG9uIG5vbi10ZXJtaW5hbHMgIFtLYXJlbCBaYWtdCitsaWIvdHR5dXRpbHM6CisgICAtIGFkZCBnZXRfdGVybWluYWxfbmFtZSgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdGVzdCBwcm9ncmFtICBbS2FyZWwgWmFrXQorICAgLSBjcmVhdGUgLmMgZmlsZSAgW0thcmVsIFpha10KK2xpYi94YWxsb2M6CisgICAtIGFkZCB4c3RybmR1cCgpICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWFtb3J5IGxlYWsgaW4geGdldGhvc3RuYW1lKCkgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorbGliYmxraWQ6CisgICAtIChncHQpIGRvbid0IG1vZGlmeSBpbiBtZW1vcnkgYnVmZmVycyAgW0thcmVsIFpha10KKyAgIC0gKHVkZikgZml4IHBvc3NpYmxlIG51bGwgcG9pbnRlciBkZXJlZmVyZW5jZSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIERvbid0IGtlZXAgcmVhZGluZyBzYW1lIHNlY3RvciBvZiBJU08gIFtaZWVzaGFuIEFsaSAoS2hhdHRhayldCisgICAtIEV4cG9zZSBtb3JlIElTTzk2NjAgaGVhZGVycyAgW1plZXNoYW4gQWxpIChLaGF0dGFrKV0KKyAgIC0gUHJvYmUgVURGIHZvbHVtZXMgZm9yIElTTzk2NjAgaW5mbyBhcyB3ZWxsICBbWmVlc2hhbiBBbGkgKEtoYXR0YWspXQorICAgLSBhZGQgRmxhc2gtRnJpZW5kbHkgRmlsZSBTeXN0ZW0gKGYyZnMpIHN1cHBvcnQgIFtBbGVqYW5kcm8gTWFydGluZXogUnVpel0KKyAgIC0gYWRkIGJsa2lkX3Byb2JlX3N0ZXBfYmFjayB0byBkb2N1bWVudGF0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYmxraWRfcHJvYmVfc3RlcF9iYWNrKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBkZWJ1ZyBtZXNzYWdlcyBmb3IgImlkbWFnIiBzdHVmZiBhbmQgYnRyZnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmdW5jdGlvbiBhdHRyaWJ1dGVzIHRvIHByaXZhdGUgQVBJICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZnVuY3Rpb24gYXR0cmlidXRlcyB0byBwdWJsaWMgQVBJICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gYWRkIG1pc3NpbmcgbGUxNl90b19jcHUgdG8gc2lsIHJhaWQgcHJvYmVyICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBwcm9taXNlIHJhaWQgbWV0YWRhdGEgbG9jYXRpb25zICBbUGhpbGxpcCBTdXNpXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgYnRyZnMgYmFja3VwIHN1cGVyYmxvY2sgIFtHb2ZmcmVkbyBCYXJvbmNlbGxpXQorICAgLSBhcmNoIGluZGVwZW5kZW50IG1pbml4IGRldGVjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgZmNobW9kKCkgcmV0dXJuIHZhbHVlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgbWtkaXIoL3J1bi9ibGtpZCkgcmV0dXJuIGNvZGUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayByZXR1cm5zIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgREJHKCkgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIGhlYWRlciBmaWxlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGFyZ3VtZW50cyBjaGVja3MgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgYmxraWRfc3RyY29uY2F0ICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIG5vbm51bGwgYXR0cmlidXRlIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBleHBvcnQgYmxraWRfaW5pdF9kZWJ1ZygpICBbS2FyZWwgWmFrXQorICAgLSBmaXggREJHKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBOVEZTIHByb2JlciBvbiBiaWctZW5kaWFuIG1hY2hpbmVzICBbS2FyZWwgWmFrXQorICAgLSBmaXggWkZTIHN1cGVyYmxvayBvZmZzZXQgZm9yIFNCTUFHSUMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV3N0cmljdC1hbGlhc2luZ10gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb3B5cmlnaHQgbm90aWNlZCB0byBiZSBjb25zaXN0ZW50IChzbyBhbGwgYXJlIExHUEwpICBbS2FyZWwgWmFrXQorICAgLSBmaXggZG9jcyBjb21tZW50ICBbS2FyZWwgWmFrXQorICAgLSBmaXggc2lsaWNvbiByYWlkIGNoZWNrc3VtIGNvZGUgb24gQkUgIFtLYXJlbCBaYWtdCisgICAtIGlnbm9yZSBuZXN0ZWQgQlNEIHBhcnRpdGlvbnMgaWYgc2FtZSBsaWtlIHBhcmVudCAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBEQkcoKSBtYWNybyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBTaWxpY29uIFJBSUQgcHJvYmVyICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIHRlc3RfYmxraWRfZGV2bm8sIGZpeCBjb21waWxlciB3YXJuaW5nIFstV3VudXNlZC1yZXN1bHRdICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIGJhY2t1cCBzdXBlcmJsb2NrIHZpc2libGUgZm9yIHdpcGVmcyg4KSBvbmx5ICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIGJsa2lkX25ld19wcm9iZV9mcm9tX2ZpbGVuYW1lKCkgdXNhYmxlIG9uIHdob2xlLWRpc2sgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgYnRyZnMgbWFnaWNzIG1vcmUgcmVhZGFibGUgIFtLYXJlbCBaYWtdCisgICAtIG1ha2Ugc3dhcCBkZXRlY3Rpb24gYXJjaCBpbmRlcGVuZGVudCAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBzdW4gUFQgZGVmaW5pdGlvbiB0byBpbmNsdWRlLyAgW0thcmVsIFpha10KKyAgIC0gbnVtYmVyIG9mIGZ1bmN0aW9ucyBzaG91bGQgbm90IGJlIGRlY2xhcmVkIGV4dGVybiBbc21hdGNoIHNjYW5dICBbU2FtaSBLZXJvbGFdCisgICAtIHJlLXJlYWQgUEFSVHtVVUlELExBQkVMfSBmb3Igc3VjY2Vzc2Z1bGx5IHZlcmlmaWVkIGNhY2hlZCBkZXZpY2VzICBbS2FyZWwgWmFrXQorICAgLSByZWFkIHdob2xlIGJ1ZmZlciBmb3IgaXNvX3ZvbHVtZV9kZXNjcmlwdG9yICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgYmxraWRfe3N0cm5kdXAsc3RyZHVwfSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGR1cGxpY2F0ZSBpbmNsdWRlcyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIG9ic29sZXRlIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBvYnNvbGV0ZSB0YWdzIGZyb20gY2FjaGUgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBvcHRpbWl6YXRpb24gZnJvbSB2ZXJpZnkoIGZ1bnJ0aW9uICBbS2FyZWwgWmFrXQorICAgLSByZW5hbWUgaW4gc3VuX2Rpc2tsYWJlbCBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIGZkaXNrICBbS2FyZWwgWmFrXQorICAgLSByZXR1cm4gZGlzayBJRC9VVUlEIGJ5IFBUIGJpbmFyeSBpbnRlcmZhY2UgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgTElCQkxLSURfREVCVUc9IG9ubHkgIFtLYXJlbCBaYWtdCisgICAtIHViaWZzIGlzIExFICBbS2FyZWwgWmFrXQorICAgLSB1c2UgT19DTE9FWEVDICBbS2FyZWwgWmFrXQorICAgLSB1c2UgY29ycmVjdCBibG9jayBzaXplIGZvciBVREYgcHJvYmUgIFtaYWNoYXJ5IENhdGxpbl0KKyAgIC0gdXNlIG1vcmUgcm9idXN0IGNvZGUgaW4gc2lsaWNvbl9yYWlkIGNoZWNrc3VtIHByb2JlciAgW0thcmVsIFpha10KK2xpYmZkaXNrOgorICAgLSAoZ3B0KSBmaXggRUZJIFVVSUQgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdmb3JtYXRdICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBmaXggbWVtb3J5IGxlYWsgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBmaXggdmFsaWRfcG1icigpICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBpbnRyb2R1Y2UgZHJpdmVyIGluZGVwZW5kZW50IHBhcnRpdGlvbnMgY291bnRlcnMgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIG1vdmUgY29kZSBmcm9tIGZkaXNrIHRvIGxpYmZkaXNrICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBybWVvdmUgeGFsbG9jIGNhbGxzICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSB1c2UgbGU2NF90b19jcHUoKSBmb3IgYWx0ZXJuYXRpdmUgTEJBIGNoZWNrcyAgW0thcmVsIFpha10KKyAgIC0gYWRkICJhc2siIGludGVyZmFjZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIEZESVNLX0xBQkVMX0ZMX0FERFBBUlRfTk9QQVJUTk8gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBZZXMvTm8gdG8gQXNrIEFQSSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGFsaWdubWVudCBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYmFzaWMgbGlicmFyeSBmaWxlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJhc2ljIHN0cnVjdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjb250ZXh0IGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGRpc2tfcGFydGl0aW9uX2lzX3VzZWQoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZkaXNrX2xhYmVsIHRvIGRyaXZlciBBUEkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmZGlza19uZXdfY29udGV4dCgpLCByZXVzZSBjb250ZXh0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZmRpc2tfcGFydGl0aW9uX3RvZ2dsZV9mbGFnKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmZGlza19yZXNldF9hbGlnbm1lbnQoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZpcnN0c2VjdG9yIHV0aWxzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZ2VuZXJpYyBsYWJlbCBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaW5mbyBhYm91dCBkaXNwbGF5IHVuaXRzIHRvIGNvbnRleHQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBpbmZvLCB3YXJuIGFuZCB3YW54IEFzayBBUEkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsYWJlbC0+Y2hhbmdlZCBmbGFnICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcGFydF9nZXRfc3RhdHVzIG9wZXJhdGlvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIHBhcnR0eXBlIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBwcm9iaW5nIGZ1bmN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3R1ZmYgZm9yIHVuaXQgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciBuZXN0ZWQgY29udGV4dHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0b3BvbG9neSBhbmQgZ2VvbWV0cnkgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgd3JhcHBlciB0byBhc2sgZm9yIG51bWJlcnMgIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIHJldHVybnMgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGZkaXNrX2dldF9wYXJ0aXRpb25fdHlwZSgpIHJldHVybnMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdGhlIHJlc3Qgb2YgZmRpc2tzL3V0aWxzLmMgc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIGV4dGVuZCAiYXNrIiBBUEksIGFkZCBzdXBwb3J0IGZvciBvZmZzZXRzICBbS2FyZWwgWmFrXQorICAgLSBmaXggZ3B0IHN0YXR1cywgZG9uJ3QgdXNlIHhjYWxsb2MoKSBpbiBsaWJyYXJ5ICBbS2FyZWwgWmFrXQorICAgLSBncHQgIHJlbW92ZSBsZWZ0b3ZlciBjb21tZW50cyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gaW1wcm92ZSBmZGlza19hc2tfcGFydG51bSgpICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGxhYmVsIGRlaW5pdGlhbGl6YXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGtpbGwgZG9zX2NvbXBhdGlibGVfZmxhZyBnbG9iYWwgdmFyaWFibGUgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgbGFiZWwgaWRlbnRpZmllciB0byBsYWJlbCBzdHJ1Y3QgIFtLYXJlbCBaYWtdCisgICAtIHNwbGl0IGxhYmVsIGFuZCBsYWJlbCBvcGVyYXRpb25zICBbS2FyZWwgWmFrXQorICAgLSB1c2UgT19DTE9FWEVDICBbS2FyZWwgWmFrXQorbGlibW91bnQ6CisgICAtIGFkZCBkZWJ1ZyBtZXNzYWdlIHRvIGd1ZXNzIEZTIGZ1bmN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZnVuY3Rpb24gYXR0cmlidXRlcyB0byBwcml2YXRlIEFQSSAgW09uZHJlaiBPcHJhbGFdCisgICAtIGFkZCBmdW5jdGlvbiBhdHRyaWJ1dGVzIHRvIHB1YmxpYyBBUEkgIFtPbmRyZWogT3ByYWxhXQorICAgLSBhZGQgbWlzc2luZyBNTlRfRVJSX0FNQklGUyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1udF9mc19nZXRfcHJvcGFnYXRpb24oKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1udF90YWJsZV9maW5kX21vdW50cG9pbnQoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHByaXZhdGUgbW50X2dldF9rZXJuZWxfY21kbGluZV9vcHRpb24oKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHZlcnNpb24gYW5kIGZlYXR1cmVzIHRvIGRlYnVnIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gYWxsb3cgdG8gdXNlIHByb3BhZ2F0aW9uIGZsYWdzIGluIGZzdGFiICBbS2FyZWwgWmFrXQorICAgLSBhcHBlbmQgbG9vcCBvcHRpb24gd2hlbiBhdXRvbWF0aWNhbGx5IGNyZWF0ZSBsb29wZGV2ICBbS2FyZWwgWmFrXQorICAgLSBhdm9pZCBlbmRsZXNzIGxvb3AgaW4gbW50X2dldF9rZXJuZWxfY21kbGluZV9vcHRpb24gIFtCZXJuaGFyZCBWb2Vsa2VyXQorICAgLSBjbGVhbiBub25udWxsIGF0dHJpYnV0ZSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgaGVhZGVyIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGNvbnZlcnQgL2Rldi9yb290IGZyb20gbW91bnRpbmZvIHRvIHRoZSBkZXZpY2UgbmFtZSAgW0thcmVsIFpha10KKyAgIC0gY29ycmVjdGx5IGludGVycHJldCAnKicgZnJvbSAvZXRjL2ZpbGVzeXN0ZW1zICBbS2FyZWwgWmFrXQorICAgLSBjb3JyZWN0bHkgcHJvcGFnYXRlIGFtYml2YWxlbnQgYmxraWQgcHJvYmluZyByZXN1bHRzICBbS2FyZWwgWmFrXQorICAgLSBkZXRhY2ggbG9vcGRldiBvbiB1bW91bnQgaWYgbG9vcCBvcHRpb24gaW4gbXRhYiAgW0thcmVsIFpha10KKyAgIC0gZG9jdW1lbnQgTElCTU9VTlRfREVCVUcgdXNlcnMgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGRvbid0IHByZXBhcmUgdXBkYXRlIGZvciBlbXB0eSBtdGFiL3V0YWIgb24gdW1vdW50ICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCByZW1vdmUgdXNlcj0gd2hlbiBleGVjdXRlZCBieSByb290ICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCByZXNldCBOT1NXQVBNQVRDSCBjb250ZXh0IGZsYWcgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHNldHVwIG5ldyBsb29wZGV2IG9uIHJlbW91bnQgd2l0aCByZWd1bGFyIG10YWIgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHRyeSB0byBwbGF5IHdpdGggbG9vcGRldnMgaWYgdW1vdW50IGFyZ3VtZW50IGlzIHJlYWxseSBtb3VudHBvaW50ICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB1c2Ugc2FmZV9nZXRlbnYoKSBmb3IgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdXNlIHVtb3VudCBvcHRpbWl6YXRpb24gZm9yIC1sIG9yIC1mICBbS2FyZWwgWmFrXQorICAgLSBleHBvcnQgdW1vdW50IG1vdW50cG9pbnQgbG9vayB1cCBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBmaXggX19tbnRfY2FjaGVfZmluZF90YWdfdmFsdWUoKSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBfX21udF9vcHRzdHJfYXBwZW5kX29wdGlvbigpIG5vbnVsbCBhdHRyaWJ1dGUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggYSBtZW0gbGVhayAgW0thcmVsIFpha10KKyAgIC0gZml4IG1vdW50Lm5mcyBzZWdmYXVsdCwgcmVseSBvbiBhc3NlcnQoKSByYXRoZXIgdGhhbiBvbiBub25udWxsICBbS2FyZWwgWmFrXQorICAgLSBmaXggcmVncmVzc2lvbiB0ZXN0IGhlbHBlciAgW09uZHJlaiBPcHJhbGFdCisgICAtIGZpeCBzdXBwb3J0IG9mIGNvbW1hLXNlcGFyYXRlZCBmcyB0eXBlcyBsaXN0cyAgW0dsZWIgRm90ZW5nYXVlci1NYWxpbm92c2tpeV0KKyAgIC0gZml4IHR5cG9zICBbS2FyZWwgWmFrXQorICAgLSBmaXggdW1vdW50IGZpbGUuaW1nICBbS2FyZWwgWmFrXQorICAgLSBmaXggdXNlci1tb3VudCBieSByb290IGZvciBtb3VudC48dHlwZT4gaGVscGVycyAgW0thcmVsIFpha10KKyAgIC0gZml4ZWQgY29tbWVudCBhYm91dCBwYXJhbSAgW1JhdWwgR3V0aWVycmV6IFNlZ2FsZXNdCisgICAtIGlnbm9yZSBuYW1lPXZhbHVlIGlmIG9ubHkgJ25hbWUnIGlzIGV4cGVjdGVkICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGRlYnVnIG1lc3NhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgbW50X3RhYmxlX2dldF9yb290X2ZzKCkgZG9jcyAgW0thcmVsIFpha10KKyAgIC0ga2VlcCBNU19QUk9QQUdBVElPTiBmbGFncyBpbiBtbnRfY29udGV4dF9zZXRfbWZsYWdzKCkgcmVzdWx0ICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIGRlYnVnIHN0dWZmIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIGxpYm1vdW50LmggY29uc2lzdGVudCB3aXRoIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgbWtzdGVtcCgpIG1vcmUgcm9idXN0IFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBtbnRfdGFibGVfZmluZF8qIG1vcmUgcm9idXN0IFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gbW9yZSByb2J1c3QgdGFiIGZpbHRlciB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gb3B0aW1pemUgbXRhYiBhbmQgdXRhYiBwYXJzaW5nIGluIHVtb3VudCAgW0thcmVsIFpha10KKyAgIC0gb3B0aW1pemUgdGFiIGZpbGVzIHBhcnNpbmcgIFtLYXJlbCBaYWtdCisgICAtIHJlYWQgb3B0aW9uYWwgbW91bnRpbmZvIGZpZWxkcyAgW09uZHJlaiBPcHJhbGFdCisgICAtIHNlZ2ZhdWx0cyBpZiBuZWl0aGVyIC9ldGMvZmlsZXN5c3RlbXMgbm9yL3Byb2MvZmlsZXN5c3RlbXMgZXhpc3RzICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IGxvb3BkZXZzIGluIG1udF90YWJsZV9pc19mc19tb3VudGVkKCkgIFtLYXJlbCBaYWtdCisgICAtIHRhZ3MgZG9lcyBub3Qgc3RhcnQgd2l0aCAnLycgIFtLYXJlbCBaYWtdCisgICAtIHRpbnkgcmVmYWN0b3JpbmcgaW4gbW50X3RhYmxlX2lzX2ZzX21vdW50ZWQoKSAgW0thcmVsIFpha10KKyAgIC0gdW1vdW50IGNyYXNoZXMgd2hlbiB0cnlpbmcgdG8gdW1vdW50IGEgbm9uLW1vdW50cG9pbnQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBPX0NMT0VYRUMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBPX0NMT0VYRUMgZXZlcnl3aGVyZSAgW0thcmVsIFpha10KKyAgIC0gdXNlci1tb3VudGVkIGxvb3BiYWNrIGZzIGNhbm5vdCBiZSB1bm1vdW50ZWQgYnkgdXNlciAgW0thcmVsIFpha10KK2xpYm1vdW50LCBjb2w6CisgICAtIHJlbW92ZSByZWR1bmRhbnQgbnVsbCBjaGVja3MgW3NtYXRjaCBzY2FuXSAgW1NhbWkgS2Vyb2xhXQorbGlibW91bnQsIGVqZWN0OgorICAgLSByZXBsYWNlIGluZGV4KCkgYW5kIHJpbmRleCgpIHdpdGggc3RycmNoKCkgb3Igc3RycmNocigpICBbU2FtaSBLZXJvbGFdCitsaWJ1dWlkOgorICAgLSB1c2UgT19DTE9FWEVDICBbS2FyZWwgWmFrXQorbG9nZ2VyOgorICAgLSBhbGxvdyB0byBsb2cgdXNpbmcgdGNwIHRyYW5zcG9ydCBwcm90b2NvbCAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIGxvY2FsIHNvY2tldHMgdG8gdHJ5IGJvdGggc3RyZWFtIGFuZCBkYXRhZ3JhbSAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIHNvY2tldCBpbml0aWFsaXphdGlvbiBpbiBtYWluKCkgbW9yZSByZWFkYWJsZSAgW0thcmVsIFpha10KKyAgIC0gcmVwbGFjZSBnZXRob3N0YnluYW1lKCkgd2l0aCBnZXRhZGRyaW5mbygpICBbU2FtaSBLZXJvbGFdCitsb2dpbjoKKyAgIC0gY2hlY2sgbGFzdGxvZyBsc2VlayByZXR1cm4gY29kZSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIHJldHVybnMgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVd1bnVzZWQtcmVzdWx0XSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGZpbGUgZGVzY3JpcHRvciBsZWFrIFtjcHBjaGVja10gIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmV1c2UgREVBRF9QUk9DRVNTIHV0bXAgZW50cmllcyAgW0thcmVsIFpha10KKyAgIC0gc3RvcCB1c2luZyBNQVhIT1NUTkFNRUxFTiAgW0thcmVsIFpha10KKyAgIC0gdXNlIGdldF90ZXJtaW5hbF9uYW1lKCkgZnJvbSB0dHl1dGlscy5jICBbS2FyZWwgWmFrXQorbG9vcGRldjoKKyAgIC0gc3luYyBjYXBhY2l0eSBhZnRlciBzZXR0aW5nIGl0ICBbSmVmZiBNYWhvbmV5XQorbG9zZXR1cDoKKyAgIC0gYWRkIC0tbGlzdCBhbmQgLS1vdXRwdXQgb3B0aW9uICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gYWxsb3cgLWogb3B0aW9uIGFyZ3VtZW50IHRvIGJlIHJlbGF0aXZlIHBhdGggIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWxsb3cgdG8gdXNlIC1PIHdpdGhvdXQgLS1saXN0ICBbS2FyZWwgWmFrXQorICAgLSBmaXggZGVjbGFyYXRpb25zIFtzbWF0Y2ggc2Nhbl0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFrZSB1c2FnZSgpIHRyYW5zbGF0b3IgZnJpZW5kbHkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVuYW1lIFNJWkUtPlNJWkVMSU1JVCAgW0thcmVsIFpha10KK2xzYmxrOgorICAgLSBBZGQgLS1zY3NpIHN3aXRjaCAgW01pbGFuIEJyb3pdCisgICAtIEFkZCByZXZpc2lvbiBjb2x1bW4gIFtNaWxhbiBCcm96XQorICAgLSBBZGQgdmVuZG9yIGNvbHVtbiAgW01pbGFuIEJyb3pdCisgICAtIEFkZCB3cml0ZS1zYW1lIGF0dHJpYnV0ZSB0byB0b3BvbG9neSBpbmZvICBbTWlsYW4gQnJvel0KKyAgIC0gYWRkIC0tcGF0aHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBTQ1NJIEggQyBUIEwgYXR0cmlidXRlICBbTWlsYW4gQnJvel0KKyAgIC0gYWRkIFNDU0kgdHJhbnNwb3J0IHR5cGUgYXR0cmlidXRlICBbTWlsYW4gQnJvel0KKyAgIC0gYWRkIFRSQU5zcG9ydCB0byAtLXNjc2kgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYWRkX3JhbmRvbSBjb2x1bW5zICBbTWlsYW4gQnJvel0KKyAgIC0gYWRkIHBhcmVudCBrZXJuZWwgbmFtZSBjb2x1bW4gIFtNaWxhbiBCcm96XQorICAgLSBjaGVjayByZXR1cm5zIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgY2FyZSBhYm91dCB4YXNwcmludGYoKSByZXR1cm4gY29kZSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgaWdub3JlIGRpc2sgZGV2aWNlICBbS2FyZWwgWmFrXQorICAgLSBmaXggYW5kIHVwZGF0ZSBtYW4gcGFnZSBhYm91dCAtLXNjc2kgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb3B5ICYgcGFzdCBidWcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBoY3RsIGJ1ZmZlciB1c2FnZSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBwcm9jZXNzaW5nIG9mIGRtIHBhcnRpdGlvbiBtYXBwaW5ncyAgW1BldGVyIFJham5vaGFdCisgICAtIGZpeCByZXBvcnRpbmcgb2YgJ3BhcnQnIHR5cGUgIFtQZXRlciBSYWpub2hhXQorICAgLSBtYWtlIHVzYWdlKCkgdHJhbnNsYXRvciBmcmllbmRseSAgW1NhbWkgS2Vyb2xhXQorICAgLSByZXN1c2UgdWRldiBoYW5kbGVyICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbmV3IHN5c2ZzIGZ1bmN0aW9ucywgY2xlYW4gdXAgZ2V0X3RyYW5zcG9ydCgpICBbS2FyZWwgWmFrXQorbHNjcHU6CisgICAtIEZpeCBpc3N1ZSBmb3VuZCBvbiBDUFUgaG90LXJlbW92ZSAgW1Rvc2hpIEthbmldCisgICAtIGFkZCBNb2RlbCBuYW1lICBbS2FyZWwgWmFrXQorICAgLSBjb3JyZWN0IHRoZSBkZXNjcmlwdGlvbiBvZiAtLXN5c3Jvb3QgaW4gaGVscCB0ZXh0ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGRvbid0IGNhcmUgYWJvdXQgeGFzcHJpbnRmKCkgcmV0dXJuIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHJlYWQgY3B1aWQgb24gbm9uLWxpdmUgc3lzdGVtcyAgW0thcmVsIFpha10KKyAgIC0gZml4IGVycm9yIG1lc3NhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFrZSAvcHJvYy9zeXNpbmZvIHVzYWdlIG1vcmUgcm9idXN0IFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSByZWFkX3RvcG9sb2d5KCkgbW9yZSByb2J1c3QgdG8gYXZvaWQgU0lHRlBFICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZGVhZCBjb2RlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IHZhcmlhYmxlICBbS2FyZWwgWmFrXQorICAgLSBzZXQgMzItYml0IC8gNjQtYml0IGZvciBwcGMgIFtLYXJlbCBaYWtdCitsc2xvY2tzOgorICAgLSBhZGQgQkxPQ0tFUiBjb2x1bW4gIFtLYXJlbCBaYWtdCisgICAtIGRldGVjdCBibG9ja2VkIGxvY2tzLCBmaXggL3Byb2MvbG9ja3MgcGFyc2VyICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBjYXJlIGFib3V0IHhhc3ByaW50ZigpIHJldHVybiBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgLW8gKzxsaXN0PiBjb252ZW50aW9uICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGlibW91bnQgdG8gcGFyc2UgbW91bnRpbmZvICBbS2FyZWwgWmFrXQorbWQ1OgorICAgLSBmaXggc3RyaWN0IGFsaWFzaW5nIHdhcm5pbmdzICBbTWlrZSBGcnlzaW5nZXJdCittaW5peDoKKyAgIC0gY2hhbmdlIHR5cGVzIGluIGhlYWRlciBmaWxlICBbU2FtaSBLZXJvbGFdCisgICAtIHJlcGxhY2UgbWFnaWMgY29uc3RhbnRzIHdpdGggbWFjcm8gbmFtZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIG9mZl90LCBzaXplX3QsIGV0YyBhcHByb3ByaWF0ZSB0eXBlcyAgW1NhbWkgS2Vyb2xhXQorbWlzYzoKKyAgIC0gbWFrZSByZWFkbGluaygpIHVzYWdlIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorbWtmczoKKyAgIC0gaW5kaWNhdGUgdGhhdCBzcGVjaWZ5aW5nIGZzLXR5cGUgYW5kIGZzLW9wdGlvbnMgYXJlIGluZGVwZW5kZW50ICBbQmVubm8gU2NodWxlbmJlcmddCitta2ZzLmNyYW1mczoKKyAgIC0gZml4IG1lbW9yeSBsZWFrIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZml4IHJlc291cmNlIGxlYWsgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorbWtmcy5taW5peDoKKyAgIC0gY2hlY2sgbnVtZXJpYyB1c2VyIGlucHV0cyAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVdmb3JtYXRdICBbS2FyZWwgWmFrXQorICAgLSBmc2NrIG1pbml4ICBmaXggY29tcGlsZXIgd2FybmluZ3MgIFtLYXJlbCBaYWtdCitta3N3YXA6CisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyAgW0thcmVsIFpha10KKyAgIC0gcHJvcGVybHkgcGx1cmFsaXplIHRoZSBiYWQtcGFnZXMgbWVzc2FnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB3aXBlIG9sZCBzaWduYXR1cmUgaWYgdGhlcmUgaXMgbm8gcGFydCB0YWJsZSBieSBkZWZhdWx0ICBbTWlsYW4gQnJvel0KK21vcmU6CisgICAtIGFsaWduIHZvaWQgaW4gZnVuY3Rpb25zIHdpdGggcHJvdG90eXBlcywgYW5kIHJlbW92ZSB2b2lkIGNhc3RzICBbU2FtaSBLZXJvbGFdCisgICAtIGFsbG93IHRvIGNvbXBpbGUgYXMgbm9uLWludGVyYWN0aXZlIHRlc3RfbW9yZSBwcm9ncmFtICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29kaW5nIHN0eWxlICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBmZXcgbWVtb3J5IGxlYWtzICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSB2YXJpYWJsZSAgW1NhbWkgS2Vyb2xhXQorbW91bnQ6CisgICAtIChkZXByZWNhdGVkKSBjaGVjayBsb29wY3h0XyByZXR1cm4gdmFsdWVzICBbS2FyZWwgWmFrXQorICAgLSAoZGVwcmVjYXRlZCkgZHJvcCAtLWd1ZXNzLWZzdHlwZSAgW0thcmVsIFpha10KKyAgIC0gKGRlcHJlY2F0ZWQpIHJlbW92ZSBkdXBsaWNhdGUgeHN0cm5kdXAoKSAgW0thcmVsIFpha10KKyAgIC0gRml4IC10IGluIGxpc3RpbmcgbW9kZSB3aGVuIHJ1biBhcyBub24tcm9vdCAgW1JpY2hhcmQgVG9sbGVydG9uXQorICAgLSBhZGQgLS1yZWFkLXdyaXRlIHRvIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1zaG93LWxhYmVscyB0byBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIC1jIGFiYnJldmlhdGlvbiBmb3IgLS1uby1jYW5vbmljYWxpemUgdG8gbWFuIHBhZ2UgIFtCaWxsIFBlbWJlcnRvbl0KKyAgIC0gYWRkIGxvbmcgb3B0aW9ucyBmb3IgLUwgYW5kIC1VIHRvIG1hbiBwYWdlICBbQmlsbCBQZW1iZXJ0b25dCisgICAtIGFkZCBzdXBwb3J0IGZvciB4LW1vdW50Lm1rZGlyWz08bW9kZT5dIG9wdGlvbiAgW09uZHJlaiBPcHJhbGEsIEthcmVsIFpha10KKyAgIC0gYWRkIHZlcmJvc2UgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIGRvY3VtZW50IG9wdGlvbnMgZm9yIGRlYnVnZnMgIFtEYXZlIFJlaXNuZXJdCisgICAtIGRvY3VtZW50IHgtKiBvcHRpb25zICBbS2FyZWwgWmFrXQorICAgLSBmaXggYSBmZXcgdHlwb3MgIFtNaWtlIEZyeXNpbmdlcl0KKyAgIC0gZml4IGJpbmQgbW91bnQgc3VjY2VzcyBtZXNzYWdlICBbQmVybmhhcmQgVm9lbGtlcl0KKyAgIC0gZml4IG1hbiBwYWhlIHR5cG8gaW4gcXVvdGEgbW91bnQgb3B0aW9uIG5hbWVzICBbQmrDtnJuIEphY2tlXQorICAgLSBmaXggdHlwb3MgaW4gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgLS1tb3ZlIGVycm9yIG1lc3NhZ2Ugb24gc2hhcmVkIHRyZWVzICBbS2FyZWwgWmFrXQorICAgLSBsb3NldHVwICByZW1vdmUgb2Jzb2xldGUgZW5jcnlwdGlvbiBzdXBwb3J0ICBbTHVkd2lnIE51c3NlbF0KKyAgIC0gbWFrZSAtLXZlcmJvc2UgbW9yZSB2ZXJib3NlIGFib3V0IHByb3BhZ2F0aW9uICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZXh0NCBqb3VybmFsPXVwZGF0ZSBmcm9tIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBzYW5pdGl6ZSBwYXRocyBmcm9tIG5vbi1yb290IHVzZXJzICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IG11bHRpcGxlIE1TX1BST1BBR0FUSU9OIGZsYWdzIGluIG9uZSBtb3VudCg4KSBleGVjICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0cyBwYXRocyBjYW5vbmljYWxpemF0aW9uIGZvciBhbHRlcm5hdGl2ZSBmc3RhYnMgIFtLYXJlbCBaYWtdCisgICAtIHdyaXRlIHN1Y2Nlc3MgbWVzc2FnZXMgdG8gc3Rkb3V0ICBbS2FyZWwgWmFrXQorbW91bnRwb2ludDoKKyAgIC0gZG9uJ3QgaGFyZGNvZGUgcGF0aHMgIFtLYXJlbCBaYWtdCituYW1laToKKyAgIC0gZG9uJ3QgY2FyZSBhYm91dCB4YXNwcmludGYoKSByZXR1cm4gY29kZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGRlYWQgY29kZSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCituYW1lc3BhY2UuaDoKKyAgIC0gRml4IHR5cG8gIHMvQ0xPTkVfTkVXU05TL0NMT05FX05FV05TLyAgW0pvc2ggVHJpcGxldHRdCituZXdncnA6CisgICAtIG1vcmUgcm9idXN0IGNyeXB0KCkgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHVzZSB4c3RyZHVwIHRvIGNoZWNrIGFsbG9jYXRpb24gc3VjY2VlZGVkICBbU2FtaSBLZXJvbGFdCituc2VudGVyOgorICAgLSBBZGQgY29uc3QgdG8gZGVjbGFyYXRpb25zIHdoZXJlIHBvc3NpYmxlLiAgW0VyaWMgVy4gQmllZGVybWFuXQorICAgLSBFbmhhbmNlIHdhaXRpbmcgZm9yIGEgY2hpbGQgcHJvY2VzcyAgW0VyaWMgVy4gQmllZGVybWFuXQorICAgLSBQcm9wZXJseSBzcGVsbCBzaWduaWZpY2FudCBpbiBhIGNvbW1lbnQuICBbRXJpYyBXLiBCaWVkZXJtYW5dCisgICAtIFJlcGxhY2UgYSBiYXJlIHN0cnRvdWwgd2l0aCBzdHJ0b3VsX29yX2VyciAgW0VyaWMgVy4gQmllZGVybWFuXQorICAgLSBhZGp1c3QgZmV3IGVycm9yIG1lc3NhZ2VzICBbU2FtaSBLZXJvbGFdCisgICAtIGFsbG93IGFyZ3VtZW50cyB0byBiZSBzcGVjaWZpZWQgaW4gYW55IG9yZGVyICBbWmJpZ25pZXcgSsSZZHJ6ZWpld3NraS1Tem1la10KKyAgIC0gZHJvcCBjb3JlIHdoZW4gaW1wb3NzaWJsZSBoYXBwZW5zICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBlcnJvcnMgaW4gbWFucGFnZSAgW1piaWduaWV3IErEmWRyemVqZXdza2ktU3ptZWtdCisgICAtIGZpeCBpbmRlbnRhdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbXByb3ZlIG9wdGlvbmFsIGFyZ3MgaW4gdXNhZ2UoKSBhbmQgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgdXNhZ2UoKSB0cmFuc2xhdG9yIGZyaWVuZGx5ICBbU2FtaSBLZXJvbGFdCisgICAtIG5ldyBjb21tYW5kIChsaWdodCB3cmFwcGVyIGFyb3VuZCBzZXRucykgIFtFcmljIFcuIEJpZWRlcm1hbl0KKyAgIC0gcmVuYW1lIC0tZXhlYy8tZSB0byAtLW5vLWZvcmsvLUYgIFtaYmlnbmlldyBKxJlkcnplamV3c2tpLVN6bWVrXQorICAgLSByZXNwZWN0IC0tZXhlYyBubyBtYXR0ZXIgd2hlcmUgaXQgYXBwZWFycyAgW1piaWduaWV3IErEmWRyemVqZXdza2ktU3ptZWtdCitwYXJ0eDoKKyAgIC0gYWRkIHVwZGF0ZSBjb21tYW5kICBbUGhpbGxpcCBTdXNpXQorICAgLSBkb24ndCBjYXJlIGFib3V0IHhhc3ByaW50ZigpIHJldHVybiBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHVzYWdlKCkgdHJhbnNsYXRvciBmcmllbmRseSAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgZGVwcmVjYXRlZCBvcHRpb24gZnJvbSB1c2FnZSgpICBbU2FtaSBLZXJvbGFdCitwZzoKKyAgIC0gYWRkIGNvbnN0IHF1YWxpZmllcnMgd2hlcmUgc3VpdGFibGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIG5vcmV0dXJuIGZ1bmN0aW9uIGF0dHJpYnV0ZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2hlY2sgbnVtZXJpYyB1c2VyIGlucHV0cyAgW1NhbWkgS2Vyb2xhXQorICAgLSBkbyBub3QgdHVybiBvZmYgd2FybmlnbnMgYXJ0aWZpY2lhbGx5ICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IG1lbW9yeSBsZWFrIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gcmVmYWN0b3IgYXJndW1lbnQgaGFuZGluZyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgbGliYyBlcnJvciBwcmludGluZyBmYWNpbGl0aWVzICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSB1bmlzdGQuaCBTVERPVVRfRklMRU5PICBbU2FtaSBLZXJvbGFdCitwbzoKKyAgIC0gYWRkIGhyLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbVG9taXNsYXYgS3J6bmFyXQorICAgLSBtZXJnZSBjaGFuZ2VzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgY3MucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtQZXRyIFBpc2FyXQorICAgLSB1cGRhdGUgY3MucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtQZXRyIFDDrXNhxZldCisgICAtIHVwZGF0ZSBkYS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0pvZSBIYW5zZW5dCisgICAtIHVwZGF0ZSBmci5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0RhdmlkIFByw6l2b3RdCisgICAtIHVwZGF0ZSBoci5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1RvbWlzbGF2IEtyem5hcl0KKyAgIC0gdXBkYXRlIG5sLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHVwZGF0ZSBwbC5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0pha3ViIEJvZ3Vzel0KKyAgIC0gdXBkYXRlIHVrLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbWXVyaSBDaG9ybm9pdmFuXQorICAgLSB1cGRhdGUgdmkucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtUcuG6p24gTmfhu41jIFF1w6JuXQorcHJsaW1pdDoKKyAgIC0gZG9uJ3QgY2FyZSBhYm91dCB4YXNwcmludGYoKSByZXR1cm4gY29kZSAgW0thcmVsIFpha10KK3JhdzoKKyAgIC0gYWRkIGxvbmcgb3B0aW9ucyB0byBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gZml4ICJFcnJvciBzZXR0aW5nIHJhdyBkZXZpY2UgIFN1Y2Nlc3MiICBbS2FyZWwgWmFrXQorcmVhZHByb2ZpbGU6CisgICAtIGFkZCAtLWNvdW50ZXJzIHRvIHRoZSBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gZml4IC0tcmVlc3QgKC0tcmVzZXQpIHR5cG8gIFtLYXJlbCBaYWtdCisgICAtIHJlb3JkZXIgb3B0aW9ucyBpbiBtYW4gcGFnZSAgW0thcmVsIFpha10KK3JlbmFtZToKKyAgIC0gYWRkIC0tc3ltbGluayBvcHRpb24gZm9yIHJlbmFtaW5nIHN5bWxpbmsgdGFyZ2V0ICBbSmFuICh5YWMpIE1hdMSbamthXQorICAgLSBmaXggbWVtb3J5IGxlYWsgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHVzYWdlKCkgdHJhbnNsYXRvciBmcmllbmRseSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgbWFjcm8gdG8gcHJpbnQgdmVyc2lvbiAgW0thcmVsIFpha10KK3JlbmljZToKKyAgIC0gYWNjZXB0IGFsc28gLVYgZm9yIC0tdmVyc2lvbiwgYW5kIGRvY3VtZW50IGl0ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGNvcnJlY3QgdGhlIHVzYWdlIHN5bm9wc2lzLCBhbmQgaW1wcm92ZSBoZWxwIHRleHQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK3J0Y3dha2U6CisgICAtIGFkZCAtLWFkamZpbGUgY29tbWFuZCBsaW5lIG9wdGlvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tYXV0byB0byB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgImZyZWV6ZSIgbW9kZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGRvZXNuJ3QgcmVzZXQgd2FrZWFsYXJtICBbR2lhY29tb10KKyAgIC0gcGFzcyAtaCB0byBzaHV0ZG93biAgW01pa2UgRnJ5c2luZ2VyXQorcnVudXNlcjoKKyAgIC0gYWRkIC11IHRvIG5vdCBleGVjdXRlIHNoZWxsICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCBQQU0gdG8gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIG5ldyBjb21tYW5kIChkZXJpdmVkIGZyb20gc3UoMSkpICBbS2FyZWwgWmFrXQorc2NoZWR1dGlsczoKKyAgIC0gZG9uJ3QgYXBwbHkgLWEgd2l0aG91dCAtcCAgW0RhbmllbCBTdG9kZGVuXQorc2NyaXB0OgorICAgLSBkbyBub3QgdHJ5IHRvIGNsb3NlIHN0ZGVyciB0d2ljZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBzZWFyY2ggc2hlbGwgZnJvbSBwYXRoLCB3aGVuIG5lY2Vzc2FyeSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgX19ub3JldHVybl9fIGZvciByZWFsbHkgbGFzdCBmdW5jdGlvbiBbY2xhbmcgLVdpbnZhbGlkLW5vcmV0dXJuXSAgW0thcmVsIFpha10KK3NldGFyY2g6CisgICAtIGFkZCBvcHRpb24gdG8gbGlzdCBzZXR0YWJsZSBhcmNoaXRlY3R1cmVzICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFuIHVwIHVzYWdlKCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbm9ybWFsaXplIG1hbiBwYWdlIGZvcm1hdHRpbmcgIFtLYXJlbCBaYWtdCitzZXRwcml2OgorICAgLSBGaXggYW4gZXJyb3IgbWVzc2FnZSB0eXBvICBbQW5keSBMdXRvbWlyc2tpXQorICAgLSBtb3ZlIHBhdGhzIHRvIHBhdGhuYW1lcy5oICBbS2FyZWwgWmFrXQorICAgLSBydW4gYSBwcm9ncmFtIHdpdGggZGlmZmVyZW50IExpbnV4IHByaXZpbGVnZSBzZXR0aW5ncyAgW0FuZHkgTHV0b21pcnNraV0KK3NldHRlcm06CisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtb3J5IGxlYWsgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggdmFyaW91cyBjb2xvciBvcHRpb24gYXJndW1lbnQgbGlzdHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFrZSBlcnJvciBtZXNzYWdlIG1vcmUgaW5mb3JtYXRpdmUgIFtQZXRyIFV6ZWxdCitzZmRpc2s6CisgICAtIEZpeCBmb3JtYXQgc3BlY2lmaWVycyBmb3Igc2l6ZV90ICBbVGhpZXJyeSBSZWRpbmddCisgICAtIGZpeCBhbGlhc2luZyB3YXJuaW5ncyAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSBmaXggZm9ybWF0dGluZyB0eXBvIGluIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorc3U6CisgICAtIGFkZCAtLWdyb3VwIGFuZCAtLXN1cHAtZ3JvdXAgb3B0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNlZ21lbnRhdGlvbiBmYXVsdCByZXBvcnRpbmcgb2YgdGhlIGNoaWxkIHByb2Nlc3MgIFtPbmRyZWogT3ByYWxhXQorICAgLSBkb24ndCBtb2RpZnkgUEFUSCBpZiAtbCBub3Qgc3BlY2lmaWVkICBbS2FyZWwgWmFrXQorICAgLSBmaXggIkNPTU1BTkQgbm90IHNwZWNpZmllZCIgZXJyb3IgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV3N0cmljdC1wcm90b3R5cGVzXSAgW0thcmVsIFpha10KKyAgIC0gZml4IHN0dXBpZCB0eXBvICBbS2FyZWwgWmFrXQorICAgLSBmaXhlZCBhIHR5cG8gaW4gcGFtIGVycm9yIG1lc3NhZ2UgIFtWaXRlenNsYXYgQ2l6ZWtdCisgICAtIGxvZyBmYWlsZWQgbG9naW5zIHRvIGJ0bXAgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgY29kZSBtb3JlIHJvYnVzdCBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIG1vcmUgcm9idXN0IGdldHB3dWlkKCkgZm9yIEdOVSBIdXJ0IFtjb3JldXRpbHMgNzFiN2RkY10gIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgZ2VuZXJpYyBzdSBjb2RlIHRvIHN1LWNvbW1vbi5jICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIGxvbmcgb3B0aW9ucyB0byBtYWluKCkgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSAnKycgZnJvbSBnZXRvcHRfbG9uZygpICBbS2FyZWwgWmFrXQorICAgLSByZW5hbWUgbG9nX3N1IHRvIGxvZ19zeXNsb2cgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBnZXRfdGVybWluYWxfbmFtZSgpIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbG9naW4oMSkgIFtLYXJlbCBaYWtdCisgICAtIHZlcmlmeSB3cml0aW5nIHRvIHN0cmVhbXMgd2FzIHN1Y2Nlc3NmdWwgIFtLYXJlbCBaYWtdCitzdS1jb21tb246CisgICAtIG1ha2UgdXNhZ2UoKSB0cmFuc2xhdG9yIGZyaWVuZGx5ICBbU2FtaSBLZXJvbGFdCitzdWxvZ2luOgorICAgLSBhZGQgbXVsdGkgY29uc29sZSBmZWF0dXJlIGZyb20gU3lzVmluaXQgc3Vsb2dpbiAgW1dlcm5lciBGaW5rXQorICAgLSBjbGVhbnVwIGZpbGUgZGVzY3JpcHRvcnMgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNvdXBsZSBvZiBvYnZpb3VzIGZpeGVzIGZvciBub24tbGludXggc3lzdGVtcyAgW1NhbXVlbCBUaGliYXVsdF0KKyAgIC0gZG9uJ3QgcnVuIGlmIG5vdCBmb3VuZCBwYXNzd3cgZW50cnkgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB1c2Uge2RlLGNvbn1zdHJ1Y3RvciBhdHRyaWJ1dGVzICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgdXNsZWVwKCkgd29ya2Fyb3VuZCB3b3JrICBbV2VybmVyIEZpbmtdCisgICAtIG1hcCBOTCB0byBDUi1OTCBvbiBvdXRwdXQgaW4gaW5pdGlhbCB0ZXJtaW9zIHNldHRpbmdzICBbS2FyZWwgWmFrXQorICAgLSBtaW5vciBjb2Rpbmcgc3R5bGUgY2hhbmdlcyAgW0thcmVsIFpha10KKyAgIC0gbW91bnQgdGVtcG9yYXJ5IC9kZXYgYW5kIC9wcm9jIGlmIG5vdCBmb3VuZCAgW1dlcm5lciBGaW5rXQorICAgLSByZW1vdmUgY29uc29sZXMuYyBmcm9tIGxpYmNvbW1vbiAgW0thcmVsIFpha10KKyAgIC0gdXNlIGFsYXJtIGZ1bmN0aW9uIHRvIGluZGljYXRlIGlmIGEgdGltZW91dCBvY2N1cnMgIFtXZXJuZXIgRmlua10KKyAgIC0gdXNlIHRoZSBsaW5rZWQgbGlzdHMgZnJvbSBsaXN0LmggZm9yIGNvbnNvbGVzIGxpc3QgIFtXZXJuZXIgRmlua10KK3N3YXBvbjoKKyAgIC0gY2hlY2sgbnVtZXJpYyB1c2VyIGlucHV0cyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGFyaWZ5IHN3YXBvbi44IHByaW9yaXR5IG9wdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBkZWZhdWx0IHRvIC0tc2hvdyBpZiBub3RoaW5nIGlzIHJlcXVlc3RlZCAgW1NhbWkgS2Vyb2xhXQorICAgLSBkb24ndCBjYXJlIGFib3V0IHhhc3ByaW50ZigpIHJldHVybiBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtbW9yeSBsZWFrIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gcHJpbnQgd2FybmluZyBhYm91dCBpbnNlY3VyZSBvd25lci9wZXJtaXNzaW9ucyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGxvb3AgZGVjbGFyYXRpb24gW3NtYXRjaCBzY2FuXSAgW1NhbWkgS2Vyb2xhXQorc3dpdGNoX3Jvb3Q6CisgICAtIEFkZCBhIHNhbml0eSBjaGVjayAgW1JpY2hhcmQgV2VpbmJlcmdlcl0KKyAgIC0gY2hlY2sgb3BlbigpIHJldHVybiB2YWx1ZSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCit0ZXN0czoKKyAgIC0gYWRkIEJFIG1pbml4IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBhcm12NyBsc2NwdSBkdW1wICBbS2FyZWwgWmFrXQorICAgLSBhZGQgY2hmbnNoIGJ1aWxkIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZG1lc2coMSkgY2hlY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGYyZnMgaW1hZ2UgdGVzdCAgW0FsZWphbmRybyBNYXJ0aW5leiBSdWl6XQorICAgLSBhZGQgZmFsbG9jYXRlKDEpIGNoZWNrICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBmZGlzayBCU0QgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZkaXNrIEdQVCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZ2V0b3B0KDEpIGNoZWNrICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBpb25pY2UoMSkgY2hlY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGlwY21rKDEpIGFuZCBpcGNybSgxKSBjaGVja3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGlzb3NpemUoMSkgY2hlY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGxpbmUoMSkgY2hlY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIG1jb29raWUoMSkgY2hlY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIG1pc2luZyAiZXhwb3J0IiBrZXl3b3JkICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW9yZSgxKSBjaGVjayAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgcHBjNjQtUE9XRVI3LTY0Y3B1IGxzY3B1IGR1bXAgIFtLYXJlbCBaYWtdCisgICAtIGFkZCByZXYoMSkgY2hlY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHNldGFyY2goOCkgY2hlY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHNldHNpZCgxKSBjaGVjayAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgc2hhcmVkIHN1YnRyZWVzIHRvIHVtb3VudCAtLXJlY3Vyc2l2ZSB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdGFpbGYoMSkgY2hlY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHVsKDEpIGNoZWNrICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCB1bW91bnQgLS1hbGwtdGFyZ2V0cyB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHVtb3VudCAtLXJlY3Vyc2l2ZSB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdXRtcGR1bXAoMSkgY2hlY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHdoZXJlaXMoMSkgY2hlY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkL2ltcHJvdmUgbW91bnQgc2hhcmVkLXN1YnRyZWUgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGNvbnNvbGlkYXRlIHNjc2lfZGVidWcgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nICBbS2FyZWwgWmFrXQorICAgLSBmaXggaXBjcyBiYXNpYyBsaW1pdCB3aGVuIGJjIGlzIG5vdCBhdmFpbGFibGUgIFtHaWxsZXMgRXNwaW5hc3NlXQorICAgLSBmaXggbW91bnQgbW92ZSB0ZXN0IHRvIHdvcmsgd2l0aCBzaGFyZWQgbW91bnQgIFtNaWxhbiBCcm96XQorICAgLSBmaXggdGltZXpvbmUgZm9yIGNyYW1mcyAgW01pbGFuIEJyb3pdCisgICAtIGZpeCB0eXBvIGluIGZkaXNrIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGlnbm9yZSBzdGRlcnIgaW4gZmRpc2sgLWwgIFtLYXJlbCBaYWtdCisgICAtIGlnbm9yZSB0ZXN0IGlmIGtlcm5lbCBkb2Vzbid0IHN1cHBvcnQgbWluaXggZnMgIFtNaWxhbiBCcm96XQorICAgLSBtYWtlIGxpbmUoMSkgb3B0aW9uYWwgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgbW91bnQgdGVzdHMgYmFja3dhcmRseSBjb21wYXRpYmxlIHdpdGggZGVwcmVjYXRlZC1tb3VudC8gIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgdXRtcGR1bXAgVFogaW5kZXBlbmRlbnQgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgZmFsbG9jYXRlIHRlc3QgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gbW92ZSB0YWlsZiB0ZXN0IGlucHV0ICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZW5jcnlwdGlvbiBsb29wZGV2IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBsc2NwdSAvc3lzIGR1bXBzIHdpdGhvdXQgJ3Bvc3NpYmxlJyBDUFUgbWFzayAgW0thcmVsIFpha10KKyAgIC0gc2tpcCBpcGNzIGxpbWl0cyBvdmVyZmxvdyB3aGVuIGJjIGlzIG5vdCBhdmFpbGFibGUgIFtHaWxsZXMgRXNwaW5hc3NlXQorICAgLSBzb3J0IGNvbW1hbmRzIHN0cmluZ3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdW5zZXQgKl9ERUJVRyB2YXJpYWJsZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSAnb2RkIGlucHV0JyBmZGlzayB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgSVNPIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgVURGIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBha3MtcGFydGl0aW9uLW51bWJlciBkaWFsb2cgKHBsYW5uZWQgcmVncmVzc2lvbikgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBic2QgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGJ1aWxkIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgZmRpc2sgbWJyIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgZmRpc2sgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBpcGNzIChyZW9yZGVyIGRlZmF1bHQgb3V0cHV0KSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGxpYmJsa2lkIFBUIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgbHNjcHUgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBjaGVja3N1bSB0byBkZXRlY3QgcmV2KDEpIGNvbnNpc3RlbmN5ICBbS2FyZWwgWmFrXQorICAgLSB1c2UgdWRldmFkbSBzZXR0bGUgcmF0aGVyIHRoYW4gc2xlZXAgIFtLYXJlbCBaYWtdCit0ZXh0dWFsOgorICAgLSBhZGQgbWlzc2luZyBjb21tYSBhbmQgY29sb24gaW4gc29tZSBoZWxwIHRleHRzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGZpeCBhIGZldyB0eXBvcyBpbiBzb21lIG9mIHRoZSB1c2FnZSBoZWxwIHRleHRzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGZpeCB0aGUgZXhhbXBsZSBpbiB3aGVyZWlzIG1hbiBwYWdlLCBwbHVzIGZ1cnRoZXIgaW1wcm92ZW1lbnRzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGZpeCB0d28gbWlzZW5jb2RpbmdzIGluIGNvbW1lbnRzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGZpeCB0eXBvcyBpbiBtZXNzYWdlcyAgW1l1cmkgQ2hvcm5vaXZhbl0KKyAgIC0gZ2V0dGV4dGl6ZSBhbiBvdmVybG9va2VkIHN0cmluZyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBnZXR0ZXh0aXplIHNldmVyYWwgb3Zlcmxvb2tlZCBtZXNzYWdlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbXByb3ZlIGFuIGVycm9yIG1lc3NhZ2UgYW5kIGEgaGVscCB0ZXh0ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHJlbW92ZSBpbmNvbnNpc3RlbnQgcGVyaW9kcyBmcm9tIHR3byBlcnJvciBtZXNzYWdlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBzbGljZSB0aGUgaGVscCB0ZXh0IG9mIGZzY2sgaW50byBzdHJpcHMsIGZvciB0cmFuc2xhdG9ycyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBzbGljZSB0aGUgaGVscCB0ZXh0IG9mIGxzY3B1IGludG8gc3RyaXBzLCBmb3IgdHJhbnNsYXRvcnMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gc3BlbGwgYW5kIGVuY29kZSB0aGUgbmFtZSBvZiBBcmthZGl1c3ogTWnFm2tpZXdpY3ogY29ycmVjdGx5ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHN0YW5kYXJkaXplIHJlcG9ydGluZyBvZiBwcm9ncmFtIG5hbWUgcGx1cyBwYWNrYWdlIHZlcnNpb24gIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gc3RhbmRhcmRpemUgdGhlIHJlcG9ydGluZyBvZiBwcm9ncmFtIG5hbWUgcGx1cyBwYWNrYWdlIHZlcnNpb24gIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdGFnIHR3byBidWcgbWVzc2FnZXMgYXMgImludGVybmFsIGVycm9yIiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB0aW55IHR3ZWFrcyBvZiBzb21lIGVycm9yIG1lc3NhZ2VzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHR5cG8gZml4ZXMgIFtHaWxsZXMgRXNwaW5hc3NlXQorICAgLSB1c2UgVVRJTF9MSU5VWF9WRVJTSU9OIGV2ZXJ5d2hlcmUgIFtLYXJlbCBaYWtdCit0b29sczoKKyAgIC0gYWRkIGNoZWNrcyB0byBtYW51YWwgcGFnZSB0ZXN0IHNjcmlwdCAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIGNoZWNrbWFucy5zaCB0byBmaW5kIG1pc3NpbmcgbWFudWFscyAgW1NhbWkgS2Vyb2xhXQordHJhbnNsYXRpb246CisgICAtIHVuaWZ5IGV4ZWMgZXJyb3IgbWVzc2FnZXMgIFtTYW1pIEtlcm9sYV0KK3R1bmVscDoKKyAgIC0gYWRkIG1pc3NpbmcgYnJlYWsgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBkZXByZWNhdGlvbiAgcmVtb3ZlIGNvbW1hbmQgZnJvbSBkZWZhdWx0IGJ1aWxkICBbU2FtaSBLZXJvbGFdCit1bDoKKyAgIC0gY2xlYW51cCB1c2FnZSgpIGFuZCBtYW4gcGFnZSAgW0thcmVsIFpha10KK3Vtb3VudDoKKyAgIC0gKHJlY3Vyc2l2ZSkgYWRkIGEgY2FjaGUgdG8gdGhlIHRhYmxlICBbRGF2ZSBSZWlzbmVyXQorICAgLSAocmVjdXJzaXZlKSBkb24ndCBjYWxsIHVtb3VudCgyKSBmb3IgYWxyZWFkeSB1bm1vdW50ZWQgdGFyZ2V0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tYWxsLXRhcmdldHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtUiwgLS1yZWN1cnNpdmUgb3B0aW9uICBbRGF2ZSBSZWlzbmVyXQorICAgLSBhZGQgbm90ZSBhYm91dCBuYW1lc3BhY2VzIHRvbyAtLWFsbC10YXJnZXRzICBbS2FyZWwgWmFrXQorICAgLSBhbHdheXMgcmV0dXJuIE1PVU5UX0VYXyogIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIC0tcmVjdXJzaXZlICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIC0tcmVjdXJzaXZlIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgdXNhZ2UoKSB0cmFuc2xhdG9yIGZyaWVuZGx5ICBbU2FtaSBLZXJvbGFdCisgICAtIHNhbml0aXplIHBhdGhzIGZyb20gbm9uLXJvb3QgdXNlcnMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBkZXZubyB0byBpZGVudGlmeSAtLWFsbC10YXJnZXQgZGV2aWNlcyAgW0thcmVsIFpha10KK3Vuc2hhcmU6CisgICAtIEFkZCBzdXBwb3J0IGZvciB0aGUgcGlkIGFuZCB1c2VyIG5hbWVzcGFjZXMgIFtFcmljIFcuIEJpZWRlcm1hbl0KKyAgIC0gbWFrZSB1c2FnZSgpIHRyYW5zbGF0b3IgZnJpZW5kbHkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc3VwcG9ydCB0aGUgc3dpdGNoaW5nIG9mIG5hbWVzcGFjZXMgIFtOZWlsIEhvcm1hbl0KKyAgIC0gdHdlYWsgc3R5bGUgIFtNaWtlIEZyeXNpbmdlcl0KK3Vuc2hhcmUoMSk6CisgICAtIGRlbGV0ZSBlbXB0eSBOT1RFUyBzZWN0aW9uICBbTWlrZSBGcnlzaW5nZXJdCit1bnNoYXJlLG5zZW50ZXI6CisgICAtIE1vdmUgdGhlIG9sZCBsaWJjIGhhbmRsaW5nIGludG8gYSBjb21tb24gaGVhZGVyIG5hbWVzcGFjZS5oICBbRXJpYyBXLiBCaWVkZXJtYW5dCisgICAtIHNwYXduIHNoZWxsIGJ5IGRlZmF1bHQgIFtaYmlnbmlldyBKxJlkcnplamV3c2tpLVN6bWVrXQordXVpZGQ6CisgICAtIHV1aWRkLjggRG9jdW1lbnQgLS1kZWJ1ZyBhbmQgLS1xdWlldCBsb25nIG9wdGlvbnMuICBbVmlsbGUgU2t5dHTDpF0KK3V1aWRnZW46CisgICAtIGZpeCAtLXJhbmRvbSAgW0thcmVsIFpha10KK3ZhcmlvdXM6CisgICAtIGZpeCBzaGFkb3cgZGVjbGFyYXRpb25zIFtzbWF0Y2ggc2Nhbl0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHZhcmlhYmxlIGFuZCBmdW5jdGlvbiBkZWNsYXJhdGlvbnMgW3NtYXRjaCBzY2FuXSAgW1NhbWkgS2Vyb2xhXQordmlwdzoKKyAgIC0gYWRkIHVzYWdlKCkgZnVuY3Rpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHVudXNlZCBzZXR7dWlkLGdpZH0gY2FsbHMgIFtLYXJlbCBaYWtdCit3YWxsOgorICAgLSB1c2UgeGdldGhvc3RuYW1lKCkgIFtTYW1pIEtlcm9sYV0KK3dkY3RsOgorICAgLSBhZGQgZmFsbGJhY2tzIGZvciBvbGQga2VybmVsIGhlYWRlcnMgIFtLYXJlbCBaYWtdCisgICAtIGdldHRleHRpemUgb25lIGZvcmdvdHRlbiB3b3JkICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHRyZWF0IGFsaWduZWQgdHJhbnNsYXRhYmxlIHN0cmluZ3MgaW4gYSB1bmlmb3JtIG1hbm5lciAgW0Jlbm5vIFNjaHVsZW5iZXJnXQord2hlcmVpczoKKyAgIC0gYWRkIHNlYXJjaCBzY29wZSBsaXN0aW5nIG9wdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGlnbiB3aXRoIGhvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBjYW5vbmljYWxpemUgZGlyZWN0b3JpZXMgcGF0aHMgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgcmVhZGFiaWxpdHkgZm9yIGFuYWx5c2VycyAgW0thcmVsIFpha10KKyAgIC0gcmV3cml0ZSBtb3N0IG9mIHRoZSBjb21tYW5kICBbU2FtaSBLZXJvbGEsIEthcmVsIFpha10KKyAgIC0gc3VwcG9ydCBNQU5QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlICBbU2FtaSBLZXJvbGFdCit3aXBlZnM6CisgICAtIEFkZCAtLWZvcmNlIG9wdGlvbiB0byBmb3JjZSBpdCB0byBlcmFzZS4gIFtSaWNoYXJkIFcuTS4gSm9uZXNdCisgICAtIGFkZCAtZiB0byBnZXRvcHRfbG9uZygpICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtb3J5IGxlYWsgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIGRvX3dpcGUoKSBtb3JlIHJlYWRhYmxlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gdXNlIE9fRVhDTCAgW0thcmVsIFpha10KK3dyaXRlOgorICAgLSBzdG9wIHVzaW5nIE1BWEhPU1ROQU1FTEVOICBbS2FyZWwgWmFrXQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yNC1SZWxlYXNlTm90ZXMgYi9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjI0LVJlbGVhc2VOb3RlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMWM3ZDI4Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yNC1SZWxlYXNlTm90ZXMKQEAgLTAsMCArMSw5MjQgQEAKKworVXRpbC1saW51eCAyLjI0IFJlbGVhc2UgTm90ZXMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK1RoaXMgaXMgdGhlIGxhc3QgcmVsZWFzZSB3aGVyZSB0aGUgb2xkIG5vbi1saWJtb3VudCBtb3VudCg4KSBpbXBsZW1lbnRhdGlvbgoraXMgc3VwcG9ydGVkIGFuZCBtYWludGFpbmVkLgorCitSZWxlYXNlIGhpZ2hsaWdodHMKKy0tLS0tLS0tLS0tLS0tLS0tLQorCitmZGlzayg4KToKKyAtIHRoZSBjb2RlIGhhcyBiZWVuIGNvbXBsZXRlbHkgcmVmYWN0b3JlZCBhbmQgbW92ZWQgdG8gbGliZmRpc2sKKyAgICh0aGUgbGlicmFyeSBkb2VzIG5vdCBoYXZlIGEgc3RhYmxlIEFQSSB5ZXQpCisgLSB1c2VyIGludGVyZmFjZSBoYXMgYmVlbiB1bmlmaWVkIGZvciBhbGwgbGFiZWwgdHlwZXMgYW5kIGl0IHN1cHBvcnRzIGNvbG9ycworIC0gR1BUIGRpc2sgVVVJRCwgcGFydGl0aW9uIFVVSUQgYW5kIHBhcnRpdGlvbiBuYW1lIG1vZGlmaWNhdGlvbiBpcyBzdXBwb3J0ZWQgbm93CisKK3B5bGlibW91bnQ6CisgLSB0aGlzIG5ldyBsaWJyYXJ5IHByb3ZpZGVzIFBZVEhPTiBCSU5ESU5HUyBmb3IgbGlibW91bnQ7CisgICB1c2UgLS13aXRoLXB5dGhvbls9MnwzXSB0byBlbmFibGUgdGhlIGJpbmRpbmdzCisKK2xhc3QoMSkgYW5kIGxhc3RiKDEpOgorIC0gdGhlIE5FVyBJTVBMRU1FTlRBVElPTiBoYXMgYmVlbiBtZXJnZWQgZnJvbSBzeXN2aW5pdCB0byB1dGlsLWxpbnV4IGFuZAorICAgZXh0ZW5kZWQ7IG5vdyBpdCBzdXBwb3J0cyBjb21tYW5kIGxpbmUgb3B0aW9ucyAtLXByZXNlbnQsIC0tc2luY2UsIGFuZAorICAgLS10aW1lLWZvcm1hdAorIC0gdXNlIC0tZW5hYmxlLWRlcHJlY2F0ZWQtbGFzdCB0byBlbmFibGUgdGhlIG9sZCB1dGlsLWxpbnV4IGxhc3QoMSkgaW1wbGVtZW50YXRpb24KKworc3dhcG9uKDgpOgorIC0gdGhlIG9wdGlvbiAtLWRpc2NhcmQ9IGFuZCBmc3RhYiBtb3VudCBvcHRpb24gZGlzY2FyZD0gYWxsb3cgdG8gZXhwbGljaXRseQorICAgc3BlY2lmeSAncGFnZXMnIG9yICdvbmNlJyBkaXNjYXJkIHBvbGljeS4gSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCB0aGUKKyAgIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gZW5hYmxlIGJvdGguIFNlZSBzd2Fwb24uOCBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLgorCitsaWJibGtpZCBhbmQgYmxraWQoOCk6CisgLSBzdXBwb3J0cyBMT0dVVUlEPSBmb3IgZXh0ZXJuYWwgbG9ncyAoZS5nLiBleHROIGFuZCBYRlMpCisgLSBnZW5lcmF0ZXMgYSBwc2V1ZG8gUEFSVFVVSUQ9IGZvciBNQlIgcGFydGl0aW9ucyAoYmFzZWQgb24gTUJSIElkLCBMaW51eCBrZXJuZWwKKyAgIHN1cHBvcnRzIHRoZSBzYW1lIGNvbmNlcHQgZm9yIHJvb3Q9IGNvbW1hbmQgbGluZSBvcHRpb24pCisKK2FnZXR0eSg4KToKKyAtIHN1cHBvcnRlcyBuZXcgaXNzdWUgZmlsZSBcUyBlc2NhcGUgY29kZSB0byByZWFkIGluZm9ybWF0aW9uIGZyb20gL2V0Yy9vcy1yZWxlYXNlCisgLSB0aGUgb3B0aW9uIC1MIGFsbG93cyB0byBjb21wbGV0ZWx5IGNvbnRyb2wgQ0xPQ0FMIGZsYWcKKworZG1lc2coMSk6CisgLSBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbiAtLXRpbWUtZm9ybWF0IHRvIHNwZWNpZnkgdGltZSBmb3JtYXQKKyAtIHN1cHBvcnRzIG5ldyBpc28tODYwMSB0aW1lIGZvcm1hdAorCitoZXhkdW1wKDEpOgorIC0gc3VwcG9ydHMgbG9uZyBvcHRpb25zIG5vdworCit3YWxsKDEpOgorIC0gdGhlIGNvbW1hbmQgaXMgY29tcGF0aWJsZSB3aXRoIHN5c3Zpbml0IGltcGxlbWVudGF0aW9uIG5vdworCitsb2dnZXIoMSk6CisgLSBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbiAtLXByaW8tcHJlZml4IHdoZW4gbG9nZ2luZyBzdGRpbgorCitsc2NwdSgxKToKKyAtIGFsbG93cyB0byBkZXRlY3QgbW9yZSBoeXBlcnZpc29yIHR5cGVzIGFuZCBwcm92aWRlcyBpbmZvIGFib3V0IE1heAorICAgYW5kIE1pbiBDUFUgTWh6CisKK3Vuc2hhcmUoOCk6CisgLSBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbnMgLS1mb3JrIGFuZCAtLW1vdW50LXByb2MgZm9yCisgICBwaWQgbmFtZXNwYWNlcworCit3aXBlZnMoOCk6CisgIC0gbm93IHdpcGVzIHN1cGVyYmxvY2tzIHdpdGggaW5jb3JyZWN0IGNoZWNrc3VtcyB0b28KKyAgLSBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbiAtLWJhY2t1cCB0byBiYWNrdXAgZXJhc2VkIGRhdGEgdG8KKyAgICAkSE9NRS93aXBlZnMtPGRldm5hbWU+LTxvZmZzZXQ+LmJhaworCitub2xvZ2luKDgpOgorICAtIHRoaXMgY29tbWFuZCBoYXMgYmVlbiBtZXJnZWQgaW50byB1dGlsLWxpbnV4LCB0aGUgY29tbWFuZCBwb2xpdGVseQorICAgIHJlZnVzZXMgYSBsb2dpbi4KKworCitTdGFibGUgbWFpbnRlbmFuY2UgcmVsZWFzZXMgYmV0d2VlbiB2Mi4yMyBhbmQgdjIuMjQKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCit1dGlsLWxpbnV4IDIuMjIuMSBbSnVuIDMxIDIwMTNdCisKKyAqIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjIzL3YyLjIzLjEtUmVsZWFzZU5vdGVzCisgICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yMy92Mi4yMy4xLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjMuMiBbTWF5IDI4IDIwMTNdCisKKyAqIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjIzL3YyLjIzLjItUmVsZWFzZU5vdGVzCisgICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yMy92Mi4yMy4yLUNoYW5nZUxvZworCisKK0NoYW5nZXMgYmV0d2VlbiB2Mi4yMyBhbmQgdjIuMjQKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworIEZvciBtb3JlIGRldGFpbHMgc2VlIENoYW5nZUxvZyBmaWxlcyBhdDoKKyBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yNC8KKworYWdldHR5OgorICAgLSAtTCBhY2NlcHRzIG9wdGlvbmFsIGFyZ3VtZW50ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgXFMgdG8gb3V0cHV0IC9ldGMvb3MtcmVsZWFzZSBkYXRhICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYmF1ZCByYXRlcyBhdmFpbGFibGUgZnJvbSBnbGliYyB0aGF0IGFyZSBub3QgYWxyZWFkeSBzdXBwb3J0ZWQgIFtKYW1lcyBCdXJlbl0KKyAgIC0gYWxsb3cgZnVsbCBjb250cm9sIG9uIENMT0NBTCBmbGFnICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayB3cml0aW5nIHRvIGEgZmlsZSB3YXMgc3VjY2Vzc2Z1bCAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbnVwIGRlYnVnIGlmZGVmcyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgcmVtb3ZlIEVDSE9DVEwgZnJvbSBjX2xmbGFnICBbS2FyZWwgWmFrXQorICAgLSBmaXggYSBraWxsL2VyYXNlIGVycm9yIGluIG1hbiBwYWdlIGFuZCBpbXByb3ZlIGNsYXJpdHkgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IG1lbW9yeSBsZWFrIFtjbGFuZy1hbmFseXplcl0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW1wcm92ZSB3b3JkaW5nLCBncmFtbWFyIGFuZCBzb21lIGZvcm1hdHRpbmcgaW4gbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gb25seSB1c2UgRVhUQS9FWFRCIG1hY3JvcyBpZiBCMTkyMDAvQjM4NDAwIG1hY3JvcyBhcmUgbm90IHByZXNlbnQgIFtKYW1lcyBCdXJlbl0KKyAgIC0gdXBkYXRlIG1hbiBwYWdlIGFuZCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgT19OT05CTE9DSyBvbmx5IGZvciBzZXJpYWwgbGluZXMgd2l0aCBDTE9DQUwgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzdGFuZGFyZCBhbmd1bGFyIGJyYWNrZXRzIGluIHVzYWdlIG1lc3NhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdW5yZWNvZ25pemVkIG9wdGlvbiAnLS1sb2dpbnBhdXNlJyIgIFtrZXJuY10KK2Jhc2gtY29tcGxldGlvbjoKKyAgIC0gYWRkIG1vdW50IGFuZCB1bW91bnQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHR5cG9zIGluIG1rZnMuYmZzIGxvZ2ljICBbTWlrZSBGcnlzaW5nZXJdCisgICAtIHVzZSAnXG4nIGFzIElGUyB3aGVuIGFzayBmb3IgZmlsZW5hbWVzICBbS2FyZWwgWmFrXQorYmxrZGlzY2FyZDoKKyAgIC0gdXNlIGZzdGF0KCkgcmF0aGVyIHRoYW4gc3RhdCgpIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KK2Jsa2lkOgorICAgLSBleHBvcnQgSURfUEFSVF9UQUJMRV9VVUlEICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyBpbiBJRF9GU19BTUJJVkFMRU49ICBbS2FyZWwgWmFrXQorYmxraWQsIGh3Y2xvY2ssIGxkYXR0YWNoOgorICAgLSB1c2UgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUgIFtTYW1pIEtlcm9sYV0KK2Jsb2NrZGV2OgorICAgLSBSZW1vdmUgdGhlIC0tc2V0YnN6IChzZXQgYmxvY2tzaXplKSBvcHRpb24gd2hpY2ggaGFzIG5ldmVyIHdvcmtlZC4gIFtSaWNoYXJkIFcuTS4gSm9uZXNdCisgICAtIGFkZCBub3RlIGFib3V0IC0tc2V0YnN6IHVzYWJpbGl0eSAgW0thcmVsIFpha10KK2J1aWxkLXN5czoKKyAgIC0gQ2hlY2sgZm9yIHR5cGUgc2lnaGFuZGxlcl90IGFuZCB1c2UgaWYgcHJlc2VudCAgW01pY2hhZWwgRm9ybmV5XQorICAgLSBGaXggY2hlY2sgZm9yIF9fR05VX0xJQlJBUllfXyAgW01pY2hhZWwgRm9ybmV5XQorICAgLSBVc2UgX1BPU0lYX1ZFUlNJT04gdG8gZGV0ZXJtaW5lIHN1cHBvcnQgZm9yICVtICBbTWljaGFlbCBGb3JuZXldCisgICAtIGFkZCAqdmltIGFuZCBjbGFuZ19jb21wbGV0ZSB0byBnaXRpZ25vcmUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLWRpc2FibGUtc2V0dGVybSAgW0thcmVsIFpha10KKyAgIC0gYWRkIENGTEFHUyBhbmQgTERGTEFHUyBmb3IgZGFlbW9ucyBhbmQgc2hhcmVkIGxpYnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBweWxpYm1vdW50ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcHlsaWJtb3VudCBfX2luaXRfXy5weSBFWFRSQV9ESVNUICBbS2FyZWwgWmFrXQorICAgLSBhbHdheXMgY2hlY2sgZm9yIHNldG5zKCkgYW5kIHVuc2hhcmUoKSBsaWJzIGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gY29tcGxldGUgZWx2dHVuZSByZW1vdmFsICBbU2FtaSBLZXJvbGFdCisgICAtIGVuYWJsZSBtZXNnKDEpIGJ5IGRlZmF1bHQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAke3ByZWZpeH0gdXNhZ2UsIGJlIG1vcmUgdmVyYm9zZSBhYm91dCBweSBwYXRocyAgW0thcmVsIFpha10KKyAgIC0gZml4IGluY2x1ZGUgTWFrZW1vZHVsZS5hbSAgW0thcmVsIFpha10KKyAgIC0gZml4IGxhc3Qgc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBsYXN0YiBzeW1saW5rICBbS2FyZWwgWmFrXQorICAgLSBmaXggc3RhdGljIGJ1aWxkcyAgW0thcmVsIFpha10KKyAgIC0gZml4IHRpbmZvIGNvbmdpdGlvbmFsICBbS2FyZWwgWmFrXQorICAgLSBmaXgge2xpYixzYmlufWRpciBwYXRocyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm9iZSBVTF9DT05GTElDVF9CVUlMRCBtYWNybyAgW0thcmVsIFpha10KKyAgIC0gaW5zdGFsbCBweWxpYm1vdW50IGludG8gIFtLYXJlbCBaYWtdCisgICAtIGluc3RhbGwgdG8gdGhlIGNvcnJlY3QgcHl0aG9uIGRpcnMgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgZ2V0b3B0IGV4YW1wbGVzIHRvIGRvY2RpciAgW0thcmVsIFpha10KKyAgIC0gb25lIGluc3RhbGwgZGlyIGZvciBhbGwgcHlsaWJtb3VudCBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gcHJlZmVyIEFTX0NBU0UgcmF0aGVyIHRoYW4gc2hlbGwgJ2Nhc2UnICBbU2FtaSBLZXJvbGFdCisgICAtIHByZWZlciBBU19JRiByYXRoZXIgdGhhbiBzaGVsbCAnaWYnICBbU2FtaSBLZXJvbGFdCisgICAtIHB5bGlibW91bnQgd2lsbCBub3Qgd29yayB3aGVuIHB5dGhvbjMgaXMgcHJlc2VudCAgW1NhbWkgS2Vyb2xhXQorICAgLSByZWxlYXNlKysgKHYyLjI0LXJjMSkgIFtLYXJlbCBaYWtdCisgICAtIHJlbGVhc2UrKyAodjIuMjQtcmMyKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGRlcHJlY2F0ZWQgZWx2dHVuZSBjb21tYW5kICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgZW52aXJvbm1lbnQgdmFyaWFibGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc2ltcGxpZnkgcHl0aG9uIGRldGVjdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBzdXBwb3J0IC0td2l0aC1weXRob25bPXsyLDN9XSAgW0thcmVsIFpha10KKyAgIC0gdXNlIC1Xbm8tY2xvYmJlcmVkIGZvciBzb21lIEJTRCBjcmFwICBbS2FyZWwgWmFrXQorICAgLSB1c2UgYmFja3RpY2tzIHJhdGhlciB0aGFuICQoKSBmb3IgY29tbWFuZHMgaW4gY29uZmlndXJlICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBtNCBxdW90aW5nIGNvbnNpc3RlbnRseSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgdGluZm8gKm9yKiBuY3Vyc2VzIGZvciBtb3JlKDEpLCB1bCgxKSBhbmQgc2V0dGVybSgxKSAgW0thcmVsIFpha10KK2NhbDoKKyAgIC0gYWRkIC0tY29sb3IgdG8gdXNhZ2UoKSAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbiB1cCB1c2Ugb2YgY29uc3RhbnRzICBbU2FtaSBLZXJvbGFdCisgICAtIGNvbnZlcnQgZnVuY3Rpb24gbGlrZSBkZWZpbml0aW9ucyB0byBmdW5jdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZGUtZHVwbGljYXRlIGp1bGlhbiBzcGVjaWZpYyBmdW5jdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IC15IG91dHB1dCBmb3IgVVRGOCAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgb24gc3lzdGVtcyB3aXRob3V0IHRlcm0gbGlicyAgW0thcmVsIFpha10KKyAgIC0gZml4IGZldyB0eXBlIG1pc21hdGNoZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGdldHRleHQgd2FybmluZyAgW0thcmVsIFpha10KKyAgIC0gZml4IHByZXByb2Nlc3NvciBkaXJlY3RpdmUgaW5kZW5kYXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHdhcm5pbmcgd2hlbiBjb21waWxlZCAtLXdpdGhvdXQtbmN1cnNlcyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBjb2Rpbmcgc3R5bGUgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgdGhlIGhlbHAgdGV4dCBhbmQgbWFuIHBhZ2UgIFtQw6FkcmFpZyBCcmFkeV0KKyAgIC0gbWFyayBhbGwgZnVuY3Rpb25zIHN0YXRpYyAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgYXJiaXRyYXJ5IGxpbWl0IG9mIG1heGl1bSB5ZWFyIGJlaW5nIDk5OTkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGluaXRpYWxpemF0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBzZXQgc3RhdGljYWxseSBkZWZpbmVkIGRhdGEgcmVhZC1vbmx5ICBbU2FtaSBLZXJvbGFdCisgICAtIHNpbXBsaWZ5IGNhbGVuZGFyIHJlZm9ybWF0IGNhbGN1bGF0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBzaW1wbGlmeSBjb2xvcm1vZGUgcGFyc2luZyAgW0thcmVsIFpha10KKyAgIC0gc2ltcGxpZnkgZGF5X2luX3dlZWsoKSBjYWxjdWxhdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBzdG9wIHRyaW1taW5nIHdoaXRlc3BhY2VzICBbU2FtaSBLZXJvbGFdCisgICAtIHN1cHBvcnQgLS1jb2xvcls9e2F1dG8sYWx3YXlzLG5ldmVyfV0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIENsYXVzIFTDuG5kZXJpbmcncyBkYXkgb2YgdGhlIHdlZWsgYWxnb3JpdGhtICBbU2FtaSBLZXJvbGFdCitjZmRpc2s6CisgICAtIGFkZCBsb25nIG9wdGlvbnMgdG8gdGhlIGNvbW1hbmQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2hlY2sgd3JpdGluZyB0byBhIGZpbGUgZGVzY3JpcHRvciB3YXMgc3VjY2Vzc2Z1bCAgW1NhbWkgS2Vyb2xhXQorICAgLSBjaGVjayB3cml0aW5nIHRvIGEgZmlsZSB3YXMgc3VjY2Vzc2Z1bCAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggYW1iaWd1b3VzIGNvZGUgIFtLYXJlbCBaYWtdCitjaGNwdToKKyAgIC0gY2xlYW4gdXAgZXJyb3IgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCitjaGZuOgorICAgLSBhc3NpZ25lZCB2YWx1ZSBpcyBuZXZlciByZWFkIFtjbGFuZy1hbmFseXplcl0gIFtTYW1pIEtlcm9sYV0KK2NvbHVtbjoKKyAgIC0gZGVyZWZlcmVuY2Ugb2YgbnVsbCBwb2ludGVyIFtjbGFuZy1hbmFseXplcl0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHZhcmlhYmxlIGxlbmd0aCBwcmludGYgZmllbGQgd2lkdGggdG8gd3ByaW50IGJsYW5rcyAgW1NhbWkgS2Vyb2xhXQorY3l0dW5lOgorICAgLSBmaXggZ2x1c2ggdHlwbyBpbiBjeXR1bmUgIFtSYWZhZWwgRmVycmVpcmFdCitkbWVzZzoKKyAgIC0gYWRkIC0tdGltZS1mb3JtYXQgb3B0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBpc28tODYwMSB0aW1lIGZvcm1hdCAgW1NhbWkgS2Vyb2xhXQorICAgLSBjb252ZXJ0IHRpbWUgZm9ybWF0IGJpdGZpZWxkIHRvIGVudW0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZGVmaW5lIGlzX3RpbWVmbXQoKSBtYWNybyBvbmx5IG9uY2UgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHVzZSBwYWdlciBmb3IgLS1mb2xsb3cgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAtLWh1bWFuIGNvbG9yIGluaXRpYWxpemF0aW9uICBbS2FyZWwgWmFrXQorICAgLSBmaXggdXNhZ2UoKSB0eXBvICBbU2FtaSBLZXJvbGFdCisgICAtIGluZm9ybSB1c2VyIC0tc2hvdy1kZWx0YSBhbmQgaXNvODYwMSB0aW1lIGZvcm1hdCBkb2VzIG5vdCBtaXggIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFrZSB0aW1lIHN0YW1wcyB0byBiZSBwcmludGVkIGNvbnNpc3RlbnRseSAgW1NhbWkgS2Vyb2xhXQorICAgLSByZWdyb3VwIHRpbWUgcmVsYXRlZCBvcHRpb25zIGNsb3NlIHRvIGVhY2ggb3RoZXIgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc3VwcG9ydCAtLWNvbG9yWz17YXV0byxhbHdheXMsbmV2ZXJ9XSAgW0thcmVsIFpha10KK2RvY3M6CisgICAtIGFkZCAtLXByZXNlbnQgdG8gbGFzdCgxKSBtYW51YWwgcGFnZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgLS1zaW5jZSBhbmQgdGltZSBvcHRpb24gZm9ybWF0cyB0byBsYXN0KDEpIG1hbnVhbCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgLS10aW1lLWZvcm1hdCBvcHRpb24gYW5kIElTTy04NjAxIGZvcm1hdCB0byBtYW51YWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIC0tdGltZS1mb3JtYXQgdG8gbGFzdCgxKSBtYW51YWwgcGFnZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgbG9uZyBvcHRpb25zIHRvIGxhc3QuMSBtYW51YWwgcGFnZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgbHNjcHUgbWF4IG1oeiB0byBtYW51YWwgYW5kIGJhc2ggY29tcGxldGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgbWlzc2luZyBvcHRpb25zIHRvIHNmZGlzayBtYW51YWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIG5vdGUgdG8gd2FsbCgxKSBhYm91dCBzZXNzaW9ucyB3aGljaCB3aWxsIG5vdCBnZXQgbWVzc2FnZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgdjIuMjQtUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorICAgLSBiZSBjbGVhciB3aGljaCBsYXN0KDEpIGlzIGRlcHJlY2F0ZWQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2FsICBhZGQgLS1jb2xvciBvcHRpb24gZGVzY3JpcHRpb24gdG8gbWFudWFsIHBhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2FsICBzdG9wIHRlbGxpbmcgeWVhciA5OTk5IGlzIHVwcGVyIGxpbWl0ICBbU2FtaSBLZXJvbGFdCisgICAtIGNvcnJlY3Qgc2ZkaXNrIC0tYWN0aXZhdGUgaW5zdHJ1Y3Rpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCB3b3JkaW5nIGFuZCBmb3JtYXR0aW5nIG9mIG1hbiBwYWdlIGZvciBkbWVzZyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmb3JtYXQsIGdyYW1tYXJpemUsIGFuZCBzdGFuZGFyZGl6ZSB0aGUgd2FsbCBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbXByb3ZlIGEgYml0IHRoZSB3b3JkaW5nIG9uIHRoZSBsb2dnZXIgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gaW1wcm92ZSBmb3JtYXR0aW5nIGFuZCB3b3JkaW5nIG9mIG1hbiBwYWdlcyBmb3IgZmRpc2sgYW5kIGNmZGlzayAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbXByb3ZlIGZvcm1hdHRpbmcgYW5kIHdvcmRpbmcgb2YgdGhlIGdldG9wdCBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbXByb3ZlIGdyYW1tYXIgYW5kIGNvbnNpc3RlbmN5IG9mIGNvbW1lbnRzIGluIGxvZ2luLmMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gaW1wcm92ZSBncmFtbWFyIGFuZCB3b3JkaW5nIG9mIHRoZSByZWxlYXNlLXNjaGVkdWxlIHRleHQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gaW1wcm92ZSBncmFtbWFyLCB3b3JkaW5nIGFuZCBmb3JtYXR0aW5nIG9mIHN1IG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIG1ha2UgZGVzY3JpcHRpb24gb2YgLS1hY3RpdmF0ZSBjbGVhcmVyIG9uIG1hbiBwYWdlIG9mIHNmZGlzayAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBtZW50aW9uIGluIFJlbGVhc2VOb3RlcyBvbmx5IFBPIGZpbGVzIHRoYXQgd2VyZSBhY3R1YWxseSB1cGRhdGVkICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIG5vcm1hbGl6ZSB0aGUgZm9ybWF0dGluZyBvZiBtYW4gcGFnZXMgZm9yIG5zZW50ZXIgYW5kIHVuc2hhcmUgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gbm90ZSBkZGF0ZSByZW1vdmFsICBbTWlrZSBGcnlzaW5nZXJdCisgICAtIHNsaWdodGx5IGNvcnJlY3QgdGhlIG1hbiBwYWdlIG9mIGNvbHVtbiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBzb3J0IG9wdGlvbnMgaW4gbGFzdCBtYW4gcGFnZSBhbHBoYWJldGljYWxseSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBzb3J0IHRoZSBvcHRpb25zIGluIHRoZSBsb2dnZXIgbWFuIHBhZ2UgYWxwaGFiZXRpY2FsbHkgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gc3RhbmRhcmRpemUgdGhlIHBocmFzZXMgZm9yIC0taGVscCBhbmQgLS12ZXJzaW9uIGluIGFsbCBtYW4gcGFnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdHdlYWsgZm9ybWF0dGluZyBhbmQgZ3JhbW1hciBvZiB0aGUgaXBjcm0gbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdHdlYWsgdGhlIGdyYW1tYXIgb2YgYW4gYWdldHR5IG1hbi1wYWdlIGZyYWdtZW50ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHR3ZWFrIHdvcmRpbmcgYW5kIGZvcm1hdHRpbmcgb2YgbGFzdCBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB0d2VhayB3b3JkaW5nIGFuZCBmb3JtYXR0aW5nIG9mIHVuc2hhcmUgYW5kIG5zZW50ZXIgbWFuIHBhZ2VzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHR3ZWFrIHdvcmRpbmcsIGdyYW1tYXIgYW5kIGZvcm1hdHRpbmcgb2YgZmRpc2sgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXBkYXRlIEFVVEhPUlMgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIFRPRE8gIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBUT0RPICBbU2FtaSBLZXJvbGFdCisgICAtIHVwZGF0ZSB2Mi4yNC1SZWxlYXNlTm90ZXMgIFtLYXJlbCBaYWtdCitlamVjdDoKKyAgIC0gQ2hlY2sgaG9zdF9zdGF0dXMgYW5kIGRyaXZlcl9zdGF0dXMgd2hlbiB1c2luZyBTR19JTy4gIFtLYXJlbCBaYWtdCisgICAtIGFzc2lnbmVkIHZhbHVlIGlzIG5ldmVyIHJlYWQgW2NsYW5nLWFuYWx5emVyXSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1bmxvY2sgZG9vciBiZWZvcmUgaXNzdWluZyBDRFJPTUVKRUNUIGNvbW1hbmQgIFtBYXJvbiBMdV0KK2V4ZWNfc2hlbGw6CisgICAtIGFkZCBhIGxpY2Vuc2UgYW5kIHRvdWNoIHVwIGZ1bmMgZGVmICBbTWlrZSBGcnlzaW5nZXJdCitmYWxsb2NhdGU6CisgICAtIGNoZWNrIHdyaXRpbmcgdG8gYSBmaWxlIGRlc2NyaXB0b3Igd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KK2ZkZm9ybWF0OgorICAgLSBjaGVjayB3cml0aW5nIHRvIGEgZmlsZSBkZXNjcmlwdG9yIHdhcyBzdWNjZXNzZnVsICBbU2FtaSBLZXJvbGFdCitmZGlzazoKKyAgIC0gKGJzZCkgKk9TRiAtLT4gKkJTRCAgW0thcmVsIFpha10KKyAgIC0gKGJzZCkgYWRkIGJzZF9nZXRfcGFydGl0aW9uX3N0YXR1cygpICBbS2FyZWwgWmFrXQorICAgLSAoYnNkKSBjbGVhbiB1cCBCU0RfTEFCRUwqIG1hY3JvcyAgW0thcmVsIFpha10KKyAgIC0gKGJzZCkgY2xlYW4gdXAgaGVhZGVyIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIChic2QpIGNsZWFudXAgYm9vdHN0cmFwIGluc3RhbGwgY29kZSAgW0thcmVsIFpha10KKyAgIC0gKGJzZCkgY2xlYW51cCBkcml2ZXIgaW5pdGlhbGl6YXRpb24gIFtLYXJlbCBaYWtdCisgICAtIChic2QpIGNsZWFudXAgbGFiZWwgaW5pdGlhbGl6YXRpb24gIFtLYXJlbCBaYWtdCisgICAtIChic2QpIGNvZGluZyBzdHlsZSwgcmVtb3ZlIHVubmVjZXNzYXJ5ICNpZmRlZiAgW0thcmVsIFpha10KKyAgIC0gKGJzZCkgZmluYWwgY29kZSBjbGVhbiB1cCAgW0thcmVsIFpha10KKyAgIC0gKGJzZCkgZml4IGFkZC9saW5rIHBhcnRpdGlvbiAgW0thcmVsIFpha10KKyAgIC0gKGJzZCkgaW1wbGVtZW50IHJlZ3VsYXIgYnNkIG1lbnUgY2FsbGJhY2sgIFtLYXJlbCBaYWtdCisgICAtIChic2QpIG1pbm9yIGNvZGUgY2xlYW4gdXAgIFtLYXJlbCBaYWtdCisgICAtIChic2QpIG1vdmUgYnNkYnVmZmVyIHRvIGZkaXNrX2JzZF9sYWJlbCBzdHJ1Y3QgIFtLYXJlbCBaYWtdCisgICAtIChic2QpIG1vdmUgZ2xvYmFsIGxhYmVsIHZhcmlhYmxlcyB0byBmZGlza19ic2RfbGFiZWwgc3RydWN0ICBbS2FyZWwgWmFrXQorICAgLSAoYnNkKSByZW1vdmUgZGVhZCBjb2RlICBbS2FyZWwgWmFrXQorICAgLSAoYnNkKSByZW1vdmUgZ2VuZXJpYyBhY3Rpb25zIGZyb20gYnNkX2NvbW1hbmRfcHJvbXB0KCkgIFtLYXJlbCBaYWtdCisgICAtIChic2QpIHJlbW92ZSBwcmludGYoKSBmcm9tIHRoZSBkcml2ZXIgY29kZSAgW0thcmVsIFpha10KKyAgIC0gKGJzZCkgcmVtb3ZlIHhic2RfIHByZWZpeCAgW0thcmVsIFpha10KKyAgIC0gKGJzZCkgcmV3cml0ZSBsaXN0IGRpc2tsYWJlbCBmdW5jdGlvbiAgW0thcmVsIFpha10KKyAgIC0gKGJzZCkgdXNlIGFzayBBUEkgZm9yIGFkZCBwYXJ0aXRpb24gZGlhbG9nICBbS2FyZWwgWmFrXQorICAgLSAoYnNkKSB1c2UgbGliZmRpc2sgZm9yIHBhcnRpdGlvbiBudW1iZXIgZGlhbG9nICBbS2FyZWwgWmFrXQorICAgLSAoYnNkKSB1c2UgbGliZmRpc2sgdG8gYXNrIGZvciBsYWJlbCBzZXR0aW5nICBbS2FyZWwgWmFrXQorICAgLSAoYnNkKSB1c2UgbWFjcm9zIGZyb20gcHQtbWJyLmggIFtLYXJlbCBaYWtdCisgICAtIChic2QpIHVzZSBwdC1ic2QuaCAgW0thcmVsIFpha10KKyAgIC0gKGJzZCkgd3JpdGUvcmVhZCBQVCBjb2RlIGNsZWFudXAgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIGFkZCBkb3MgbWVudSBjYWxsYmFjayAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgY2xlYW4gdXAgbGlzdCBQVCBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIGNsZWFudXAgcHVibGljIGZ1bmN0aW9uIG5hbWVzICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSBkb24ndCBjaGVjayBmb3IgQ0hTIGluIG1vdmUtYmVnaW4gY29tbWFuZCAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgZml4IG9mZnNldCBkaWFsb2cgdW5pdCAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgZml4IHBvc3NpYmxlIG1lbS1sZWFrcyAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgbW92ZSBtYWNybyBpc19kb3NfY29tcGF0aWJsZSgpICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSBtb3ZlIHB0ZSBzcGVjaWZpYyBmdW5jdGlvbiB0byBkb3MuYyAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgcmVtb3ZlIGdsb2JhbCBwdGVzW10gIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIHJlbW92ZSBnbG9iYWwgdmFyaWFibGVzIGZvciBleHRlbmRlZCBwYXJ0aXRpb25zICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSByZW1vdmUgaW5saW5lIGZ1bmN0aW9uIGZyb20gaGVhZGVyIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIHJlbW92ZSByZW1haW5pbmcgZ2xvYmFsIHZhcmlhYmxlcyAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgcmVtb3ZlIHJlbWFpbmluZyBwcmludGYoKSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgcmVtb3ZlIHJlbWFpbmluZyByZWFkX3tpbnQsY2hhcn0oKSBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIHJlbW92ZSB1bm5lY2Vzc2FyeSBmdW5jdGlvbiAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgcmVtb3ZlIHVubmVjZXNzYXJ5IGhlYWRlciBmaWxlIHN0dWZmICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSByZW5hbWUgbWVtYmVycyBpbiBzdHJ1Y3QgcHRlICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSByZW5hbWUgc3RydWN0IHBhcnRpdGlvbiB0byBkb3NfcGFydGl0aW9uICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSB1c2UgYXNrIEFQSSBmb3IgbmV3IHBhcnRpdGlvbiBkaWFsb2cgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIHVzZSBhc2sgQVBJIHRvIGNoYW5nZSBkaXNrIElEICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSB1c2UgbGliZmRpc2sgdG8gYXNrIGZvciBwYXJ0aXRpb24gdHlwZSAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgdXNlIHB0LW1ici5oICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBhZGQgdCwgdiBhbmQgeCB0byBtZW51ICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBlbmxhcmdlIGNvbHVtbnMgaW4gbGlzdCBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIChncHQsIHN1bikgdXNlIGZkaXNrX3BhcnRuYW1lKCkgIFtLYXJlbCBaYWtdCisgICAtIChzZ2kpIGNsZWFudSBzZ2lfaW5mbyBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gKHNnaSkgY2xlYW51cCBib290IGZpbGUgbmFtZSBjb2RlICBbS2FyZWwgWmFrXQorICAgLSAoc2dpKSBjbGVhbnVwIGRldnBhcmFtcyBmbGFncyAgW0thcmVsIFpha10KKyAgIC0gKHNnaSkgY2xlYW51cCBkaXNrIGxhYmVsIHN0cnVjdCB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gKHNnaSkgZG9uJ3QgdHJ5IHRvIGNvbnZlcnQgTUJSIHRvIFNHSSAgW0thcmVsIFpha10KKyAgIC0gKHNnaSkgZml4IGNoZWNrc3VtIGNhbGN1bGF0aW9uICBbS2FyZWwgWmFrXQorICAgLSAoc2dpKSByZG9uJ3QgdXNlIHJlYWRfY2hhcnMoKSB0byBhc2sgeWVzL25vIHF1ZXN0aW9uICBbS2FyZWwgWmFrXQorICAgLSAoc2dpKSByZW1vdmUgZGVhZCBjb2RlICBbS2FyZWwgWmFrXQorICAgLSAoc2dpKSByZW1vdmUgZ2xvYmFsIGZyZWVsaXN0ICBbS2FyZWwgWmFrXQorICAgLSAoc2dpKSByZW1vdmUgbWFnaWMgc3RyaW5ncyAgW0thcmVsIFpha10KKyAgIC0gKHNnaSkgcmVtb3ZlIHByaW50ZiBmcm9tIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIChzZ2kpIHJlbW92ZSB1bm5lY2Vzc2FyeSBjb2RlICBbS2FyZWwgWmFrXQorICAgLSAoc2dpKSByZXdyaXRlIHNnaV9saXN0X3RhYmxlKCkgIFtLYXJlbCBaYWtdCisgICAtIChzZ2kpIHNoYXJlIGRpc2sgbGFiZWwgZGVmaW5pdGlvbiB3aXRoIGxpYmJsa2lkICBbS2FyZWwgWmFrXQorICAgLSAoc2dpKSBzbWFsbCBjb2Rpbmcgc3R5bGUgY2hhbmdlcyAgW0thcmVsIFpha10KKyAgIC0gKHNnaSkgdXNlIGFzayBBUEkgZm9yIGZpcnN0L2xhc3QgZGlhbG9ncyAgW0thcmVsIFpha10KKyAgIC0gKHNnaSkgdXNlIGNwdV90b19iZVhYKCkgYW5kIGJlWFhfdG9fY3B1KCkgIFtLYXJlbCBaYWtdCisgICAtIChzZ2kpIHVzZSBzdHVmZiBmZnJvbSBwdC1tYnIuaCBhbmQgbGliZmRpc2sgIFtLYXJlbCBaYWtdCisgICAtIChzdW4pIGNvbnNvbGlkYXRlICdwJ3JpbnQgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSAoc3VuKSByZW1vdmUgZGVhZCBjb2RlICBbS2FyZWwgWmFrXQorICAgLSAoc3VuKSB1c2UgdHQuYyB0byBsaXN0IGRpc2sgbGFiZWwgIFtLYXJlbCBaYWtdCisgICAtIC1sIHJlZmFjdG9yaW5nICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLUwgdG8gY29sb3JpemUgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLXQgPHR5cGU+IHRvIGVuYWJsZSBvbmx5IHNwZWNpZmllZCB0eXBlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgR1BUIHNwZWNpZmljIGNhbGxiYWNrIHRvIG1lbnUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBhc2t0eXBlICJzdHJpbmciIGFuZCBzdXBwb3J0IFVVSUQgcGFydGl0aW9uIGNoYW5nZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJzZCwgZG9zIGFuZCBzZ2kgbWVudXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBkZWJ1ZyBtZXNzYWdlLCB1c2UgY29sb3JzIGZvciAtbCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZ1bmN0aW9ucyB0byBnZW9tZXRyeSBtZW51ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWJyX2dldF9wYXJ0aXRpb24oKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5ldyBzdHVmZiB0byBkaXNwbGF5IG1lbnVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VuIG1lbnUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciB0aGUgTWljcm9CbGF6ZSBhcmNoaXRlY3R1cmUgIFtOYXRoYW4gUm9zc2ldCisgICAtIGFsbG93IHRvIGV4Y2hhbmdlIGNvbnRleHQgcG9pbnRlciBpbiBtZW51IGNhbGxiYWNrcyAgW0thcmVsIFpha10KKyAgIC0gYWx3YXlzIGFsbG93ICdwJ3JpbnQgY29tbWFuZCBpbiBleHBlcnQgbWVudSAgW0thcmVsIFpha10KKyAgIC0gYXNrIGZvciBwYXJ0aXRpb24gaW4gY2hhcnMgIFtLYXJlbCBaYWtdCisgICAtIGJsb29keSByZXZvbHV0aW9uIGluIHRoZSBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBTR0kgdmVyaWZ5IGRpc2tsYWJlbCBmdW5jdGlvbiAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBoZWFkZXIgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBzZ2kgbWVudSBjYWxsYmFja3N3cSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHdhcm5pbmcgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgd2FybmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgd3JpdGUgdGFibGUgY29kZSAgW0thcmVsIFpha10KKyAgIC0gY29uc29saWRhdGUgY29kZSBpbiBmZGlzay5jICBbS2FyZWwgWmFrXQorICAgLSBkZXRlY3QgbWVudSBlbnRyaWVzIGNvbGxpc2lvbnMgaW4gZGVidWcgbW9kZSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdXNlIHB0ZXNbXSBpbiBnZW5lcmljIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAncicgaW4gQlNEIG1lbnUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAtbCAgW0thcmVsIFpha10KKyAgIC0gZml4IG1hbiB3YXJuaW5nICBbS2FyZWwgWmFrXQorICAgLSBmaXggcG9zc2libGUgbWVtbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBwcmludGYgc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgaW5mbyBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgbWVudXMgdG8gbWFrZSBpdCBtb3JlIHVzYWJsZSBmb3IgQlNEIGxhYmVsICBbS2FyZWwgWmFrXQorICAgLSBtYWluKCkgcmVmYWN0b3JpbmcgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgaW50ZXJuYWwgY29tbWFuZCBsaW5lIGNhc2Ugc2Vuc2l0aXZlICBbS2FyZWwgWmFrXQorICAgLSBtYXJrIC1zIG9wdGlvbiBhcyBkZXByZWNhdGVkICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlICJjcmVhdGUgbGFiZWwiIGFjdGlvbnMgdG8gbWVudSBjYWxsYmFjayAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBkb3Mgc3BlY2lmaWMgY29kZSAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBleHBlY3QgYWN0aW9ucyB0byBtZW51IGNhbGxiYWNrICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIGdlb21ldHJ5IGNvbW1hbmRzIHRvIHNlcGFyYXRlIG1lbnUgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgZ2V0X25yX3NlY3RzKCkgZmRpc2suaCAgW0thcmVsIFpha10KKyAgIC0gbW92ZSByZW1haW5pbmcgYWN0aW9ucyB0byBtZW51IGNhbGxiYWNrcyAgW0thcmVsIFpha10KKyAgIC0gbW92ZSByZW1haW5pbmcgcHRlc1tdIGNvZGUgdG8gZmRpc2tkb3NsYWJlbC5jICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHN1biBjb21tYW5kcyB0byBzdW4gbWVudSBjYWxsYmFjayAgW0thcmVsIFpha10KKyAgIC0gcHJpbnQgZ2VvbWV0cnkgZm9yIGRvcy1jb21wYXRpYmxlIG1vZGUgdG9vICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgTWFjIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBjb21tb24uaCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGRlYWQgY29kZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIG5vd2FybiBnbG9iYWwgdmFyaWFibGUgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBvbGQgY29kZSB0byBhc2sgdXNlciAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVnbHkgZmF0YWwoKSBmdW5jdGlvbiAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bnVzZWQgY29kZSwgY29kaW5nIHN0eWxlIGNoYW5nZXMgIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSBDSFMgZG9zX3BhcnRpdGlvbiBzdHJ1Y3QgbWVtYmVycyAgW0thcmVsIFpha10KKyAgIC0gcmV2ZXJ0IGFkZCAnRycgdG8gY3JlYXRlIFNHSSBsYWJlbCB0byB0aGUgbWFpbiBtZW51ICBbS2FyZWwgWmFrXQorICAgLSByZXdyaXRlIGR1bXAgZmlyc3Qgc2VjdG9yIGFkZCBkdW1wIGRpc2tsYWJlbCBjb21tYW5kICBbS2FyZWwgWmFrXQorICAgLSBzZXBhcmF0ZSBkaXNrcyBieSBcbiBpbiAtbCBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSAgbGliZmRpc2sgdG8gYXNrIGZvciBwYXJ0aXRpb24gdHlwZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGZkaXNrX2luZm8oKSB0byBwcmludCBnZW9tZXRyeSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGZkaXNrX3tpbmZvLHdhcm59IG9uIG1vcmUgcGxhY2VzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZnVuY3Rpb25zIGZyb20gcHQtbWJyLmggIFtLYXJlbCBaYWtdCisgICAtIHVzZSBuZXcgbWVudSBpbmZyYXN0cnVjdHVyZSB0byB2ZXJpZnkga2V5cyAgW0thcmVsIFpha10KKyAgIC0gdXNlIG5ldyBtZW51cyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHJlbW92ZSByZWFkX2ludCgpIHVzYWdlIGZyb20gZmRpc2suYyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHhhbGxvYyBzdHVmZiAgW0thcmVsIFpha10KK2ZpbmRtbnQ6CisgICAtIGFsd2F5cyBhbGxvY2F0ZSBtZW1vcnkgZm9yIGNlbGwgdmFsdWUgIFtEYXZlIFJlaXNuZXJdCisgICAtIGF2b2lkIHVudXNlZCBwYXJhbWV0ZXIgd2FybmluZyAgW0thcmVsIFpha10KKyAgIC0gbWFrZSB1ZGV2IHVzYWdlIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSB0ZXN0IGZvciBmc3R5cGUvb3B0aW9ucy9tYWogbWluIGJlZm9yZSBzb3VyY2UgYW5kIHRhcmdldCAgW0thcmVsIFpha10KKyAgIC0gdXNlIFRUX0ZMX0ZSRUVEQVRBIGZvciB0dCB0YWJsZSAgW0thcmVsIFpha10KK2ZzY2s6CisgICAtIGRvbid0IHByaW50IHdhcm5pbmcgaWYgdGhlcmUgaXMgbm8gL2V0Yy9mc3RhYiBhdCBhbGwgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsaWJtb3VudCBmcyByZWZlcmVuY2UgY291bnRlciAgW0thcmVsIFpha10KK2ZzY2suY3JhbWZzOgorICAgLSBhZGQgTENfQ1RZUEUgIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIHdyaXRpbmcgdG8gYSBmaWxlIGRlc2NyaXB0b3Igd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KK2ZzY2subWluaXg6CisgICAtIGNoZWNrIHdyaXRpbmcgdG8gYSBmaWxlIGRlc2NyaXB0b3Igd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KK2dldG9wdDoKKyAgIC0gYWRkIHJlZmVyZW5jZSB0byAvdXNyL3NoYXJlL2RvY3MgdG8gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCitoZXhkdW1wOgorICAgLSBhZGQgbG9uZyBvcHRpb25zIHRvIHRoZSBjb21tYW5kICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBnbG9iYWwgdmFyaWFibGVzICBbU2FtaSBLZXJvbGFdCisgICAtIHJldmVydCBnbG9iYWwgZXhpdHZhbCB2YXJpYWJsZSBjaGFuZ2UgIFtTYW1pIEtlcm9sYV0KK2hleHN5bnRheDoKKyAgIC0gaW4gaGVscCB0ZXh0LCB3cmFwIGFyZ3VtZW50IG9mIG9wdGlvbiAtZSBpbiBhbmd1bGFyIGJyYWNrZXRzICBbQmVubm8gU2NodWxlbmJlcmddCitod2Nsb2NrOgorICAgLSByZW1vdmUgcmVmZXJlbmNlcyB0byBhZGp0aW1leCBmcm9tIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugd2FybigpIHRvIHByaW50IGNtb3MgZXJyb3JzICBbS2FyZWwgWmFrXQoraW5jbHVkZToKKyAgIC0gQWRkIG1pc3NpbmcgaW5jbHVkZXMgIFtNaWNoYWVsIEZvcm5leV0KKyAgIC0gYWRkIGNsb3NlX2ZkKCkgZm9yIG5vdGljaW5nIHdyaXRlIGVycm9ycyBiZWZvcmUgY2xvc2UoKSAgW1NhbWkgS2Vyb2xhXQorICAgLSBjYXJlZnVscHV0ICBwcmludCBkZXRlcm1pbmVkIGNoYXIgd2hlbiB1bnByaW50YWJsZSBjaGFyIGlzIGZvdW5kICBbU2FtaSBLZXJvbGFdCitpbmNsdWRlL3B0LW1icjoKKyAgIC0gYWRkIGZ1bmN0aW8gdG8gc3RvcmUgbGUgIFtLYXJlbCBaYWtdCitpbmNsdWRlL3hhbGxvYzoKKyAgIC0gYWRkIHdhcm5fdW51c2VkX3Jlc3VsdCB0byBhbGxvY2F0aW9uIGZ1bmN0aW9ucyAgW0thcmVsIFpha10KK2lwY3M6CisgICAtIGFzc2lnbmVkIHZhbHVlcyBhcmUgbmV2ZXIgcmVhZCBbY2xhbmctYW5hbHl6ZXJdICBbU2FtaSBLZXJvbGFdCitsYXN0OgorICAgLSAtLWZ1bGx0aW1lIGFuZCAtLXRpbWUtZm9ybWF0IGFyZSBtdXR1YWxseSBleGNsdXNpdmUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXByZXNlbnQgb3B0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCAtLXNpbmNlIHRpbWUgc3BlYyBvcHRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIC0tdGltZS1mb3JtYXQgd2l0aCBpc28tODYwMSBmb3JtYXQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGxpbmsgdG8gdXRpbC1saW51eCB0byBsYXN0LjEgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsb25nIG9wdGlvbnMsIGltcHJvdmUgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gYWxsb3cgLS1maWxlIHRvIGJlIGRlZmluZWQgbXVsdGlwbGUgdGltZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2hlY2sgZXhwZWN0ZWQgbnVtZXJpYyB1c2VyIGlucHV0IGlzIG51bWJlciAgW1NhbWkgS2Vyb2xhXQorICAgLSBjaGVjayBmc3RhdCgpIHJldHVybiBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIHRoZSBiZWdpbiBvZiB0aGUgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gY29kaW5nIHN0eWxlIGNsZWFuIHVwICBbS2FyZWwgWmFrXQorICAgLSBjb25zb2xpZGF0ZSBidG1wL3d0bXAgZmlsZSBwYXRocyAgW0thcmVsIFpha10KKyAgIC0gY29uc29saWRhdGUgdGltZSBmb3JtYXR0aW5nIHRvIG9uZSBzdHJ1Y3QgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAtLXByZXNlbnQgb3B0aW9uIGxvZ2ljIGVycm9yICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBtYW4gcGFnZSBncm9mZiB3YXJuaW5nICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtb3J5IGxlYWsgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHR5cG8gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZ2xvYmFsIHZhcmlhYmxlcyBhcmUgaW5pdGlhbGl6ZSBhdXRvbWF0aWNhbGx5IHRvIHplcm8gIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFrZSBzd2l0Y2ggY2FzZXMgY29tcGxldGUsIGFuZCBpbmZvcm0gaWYgaW1wb3NzaWJsZSBvY2N1cnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWVudGlvbiBvcHRpb25hbCBhcmd1bWVudHMgaW4gdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIG1lcmdlIHN5c3Zpbml0IGxhc3QvbGFzdGIgIFtPbmRyZWogT3ByYWxhXQorICAgLSBuZXZlciByZXN0cmljdCBzZXNzaW9uIHRpbWUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcGFyc2UgZWFzeSB0byB1c2UgdGltZSBmb3JtYXRzICBbU2FtaSBLZXJvbGFdCisgICAtIHByZWZlciBlbnVtIHJhdGhlciB0aGFuICNkZWZpbml0aW9uIGxpc3QgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIGJyb2tlbiBjb2RlICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBtaXN0YWtlbiAtRiwgLS1mdWxsbmFtZXMgZW50cnkgZnJvbSB0aGUgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdGVsbCB2ZXJiYWxseSBzeXN0ZW0gaXMgc3RpbGwgcnVubmluZyAgW1NhbWkgS2Vyb2xhXQorICAgLSB0cmltIHRyYWlsaW5nIHdoaXRlIHNwYWNlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgYXMgbmFycm93IHZhcmlhYmxlIHNjb3BpbmcgYXMgcG9zc2libGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGJpdCBhcnJheSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGNhcmVmdWxwdXQoKSBmb3IgcHJpbnRhYmxlIGNoYXJhY3RlciBvdXRwdXQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGNvbmZpZ3VyYXRpb24gc3RydWN0ICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSB4YWxsb2MuaCwgZXJyLmgsIG5scy5oIGFuZCBFWElUXyBtYWNyb3MgIFtLYXJlbCBaYWtdCitsYXN0LCB1dG1wZHVtcCwgYWdldHR5LCB3YWxsLCB3cml0ZToKKyAgIC0gYXZvaWQgY29tcGF0aWJpbGl0eSBoYWNrcyAgW1NhbWkgS2Vyb2xhXQorbGliOgorICAgLSBhZGQgY3JjNjQoKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVudXNlZCBjb2RlICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbmFtZSB0aW1lLXV0aWwuYyB0byB0aW1ldXRpbHMuYywgZml4IGhlYWRlcnMgIFtLYXJlbCBaYWtdCitsaWIvY2Fub25pY2FsOgorICAgLSB1c2UgcmVhbHBhdGgoKSBmcm9tIGxpYmMgIFtLYXJlbCBaYWtdCitsaWIvY29sb3JzOgorICAgLSBhZGQgY29sb3Jtb2RlX29yX2VycigpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgYXV0bywgYWx3YXlzIGFuZCBuZXZlciBtb2RlcyAgW0thcmVsIFpha10KK2xpYi9sb29wZGV2OgorICAgLSBhc3NpZ25lZCB2YWx1ZSBpcyBuZXZlciByZWFkIFtjbGFuZy1hbmFseXplcl0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGxvb3BjeHRfY2hlY2tfc2l6ZSgpIHRvIHdvcmsgd2l0aCBibGtkZXZzICBbS2FyZWwgWmFrXQorbGliL21ic2FsaWduOgorICAgLSBpbml0aWFsaXphdGlvbnMgdmFsdWVzIGFyZSBuZXZlciByZWFkIFtjbGFuZy1hbmFseXplcl0gIFtTYW1pIEtlcm9sYV0KK2xpYi9zdHJ1dGlsczoKKyAgIC0gbW92ZSAqc3dpdGgoKSBmdW5jdGlvbnMgdG8gcHJpdmF0ZSBsaWJyYXJ5ICBbU2FtaSBLZXJvbGFdCisgICAtIG9wdGltYWxpemUge3N0YXJ0cyxlbmRzfXdpdGgoKSAgW0thcmVsIFpha10KK2xpYi90aW1lLXV0aWw6CisgICAtIGNvcHkgdGltZSBwYXJzaW5nIGZ1bmN0aW9ucyBmcm9tIHN5c3RlbWQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbW92ZSBZWVlZTU1EREhITU1TUyB0byBjb21tb24gcGFyc2VyICBbU2FtaSBLZXJvbGFdCitsaWIvdHQ6CisgICAtIGFkZCBUVF9GTF9GUkVFREFUQSAgW0thcmVsIFpha10KK2xpYi90dHk6CisgICAtIGRvbid0IGhhcmRjb2RlIHRlcm1pbmFsIGZkIGluIGdldF90ZXJtaW5hbF9uYW1lKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBnZXRfdGVybWluYWxfbmFtZSgpIHVzYWdlLCBjbGVhbnVwIGNvZGUgIFtLYXJlbCBaYWtdCitsaWJibGtpZDoKKyAgIC0gQWRkIGJjYWNoZSBzdXBwb3J0ICBbUm9sZiBGb2trZW5zXQorICAgLSBEZXRlY3QgZXh0ZXJuYWwgWEZTIGxvZyBkZXZpY2UgIFtFcmljIFNhbmRlZW5dCisgICAtIEdldCByaWQgb2YgYW4gdW5uZWNlc3NhcnkgY2hlY2sgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBSZUZTIG1hZ2ljIHN0cmluZyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZ1bmN0aW9ucyB0byBzZXQgUFRVVUlEICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayB3cml0aW5nIHRvIGEgZmlsZSB3YXMgc3VjY2Vzc2Z1bCAgW1NhbWkgS2Vyb2xhXQorICAgLSBkaWZmcyBiZXR3ZWVuIGVycm9ycyBhbmQgZmFpbGVkIHByb2JpbmcgaW4gc2lsaWNvbiByYWlkICBbS2FyZWwgWmFrXQorICAgLSBkaWZmcyBiZXR3ZWVuIGVycm9ycyBhbmQgZmFpbGVkIHByb2JpbmcgaW4gdmlhIHJhaWQgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGludGVycHJldCByZWd1YWwgWEZTIGFzIGV4dGVybmFsIHhmcyBsb2cgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHVzZSBVVUlEPSBmb3IgeGZzIGV4dGVybmFsIGxvZyAgW0thcmVsIFpha10KKyAgIC0gZXhwb3J0IGluZm8gYWJvdXQgYmFkIGNzdW0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBibGtpZF9wYXJzZV90YWdfc3RyaW5nKCkgdG8gaWdub3JlIGluY29tcGxldGUgdGFncyAgW0thcmVsIFpha10KKyAgIC0gZml4IGtib2ZmIHVzYWdlIGluIEJTRCBwcm9iZXIgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgdXVpZF9pc19lbXB0eSgpIHVzYWJsZSBmb3Igd2hvbGUgbGlicmFyeSAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBNQlIgZGVmaW5pdGlvbnMgdG8gaW5jbHVkZS9wdC1tYnIuaCAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBNQlIgcGFydGl0aW9uIHR5cGVzIHRvIGluY2x1ZGUvICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIFNHSSBkaXNrbGFiZWwgZGVmaW5pdGlvbnMgdG8gaW5jbHVkZS8gIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgYnNkIGRlZmluaXRpb25zIHRvIHB0LWJzZC5oICBbS2FyZWwgWmFrXQorICAgLSBwb3B1bGF0ZSBqYmQgTE9HVVVJRCBpbiBhZGRpdGlvbiB0byBVVUlEICBbS2FyZWwgWmFrXQorICAgLSByZW5hbWUgVVVJRF9MT0cgdG8gTE9HVVVJRCAgW0thcmVsIFpha10KKyAgIC0gcmVuYW1lIHN5c190eXBlIHRvIHN5c19pbmQgIFtLYXJlbCBaYWtdCisgICAtIHNldCBQVFVVSUQgZm9yIEdQVCBhbmQgRE9TICBbS2FyZWwgWmFrXQorICAgLSBzcGxpdCBibGtpZF9wYXJ0dGFibGVfc2V0X2lkKCkgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgcHNldWRvIFBBUlRVVUlEPSBmb3IgTUJSICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgZG9jcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHByb3BlciB0eXBlIGluIHhmcyBsb2cgY2hlY2tlciBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzZXBhcmF0ZSBmdW5jdGlvbiB0byB2ZXJpZnkgY2hlY2tzdW1zICBbS2FyZWwgWmFrXQorbGliZmRpc2s6CisgICAtIChiZHMpIGNsZWFudXAgaW5jbHVkZXMgIFtLYXJlbCBaYWtdCisgICAtIChic2QpIGxlYXZlIGNvbnRleHQgaWYgbmV3IGRpc2tsYWJlbCB1bndhbnRlZCAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgYWxsIGRpc2tsYWJlbCBsb2NhdGUgZnVuY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIGNvcnJlY3QgdGhlIGdyYW1tYXIgb2YgdGhlIGRpc2staWRlbnRpZmllciBwcm9tcHQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gKGRvcykgY29zbWV0aWMgY2hhbmdlcyAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgaW1wcm92ZSB0aGUgZ3JhbW1hciBvZiBhbiBlcnJvciBtZXNzYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIChncHQpICVsZCAtPiAlanUgaW4gdmVyaWZ5IGZ1bmN0aW9uICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBjbGVhbnVwIHN0cnVjdHMgbWVtYmVycyBuYW1lcyAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgZml4IHdhcm5pbmcgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIG1vcmUgcm9idXN0IFBNQlIgcGFydGl0aW9uIHNpemUgY2hlY2sgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIHByaW50IFVVSUQgYW5kIE5BTUUgaW4gZXhwZXJ0IG1vZGUgb25seSAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgc3VwcG9ydCBmb3IgZGlza2xhYmVsIGR1bXAgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIHVzZSBjb25zaXN0ZW50IGZpbmFsIHBlcmlvZCBpbiBzdGF0dXMgbWVzc2FnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gKGdwdCkgdXNlIGdlbmVyaWMgJ2NyZWF0ZWQgcGFydGl0aW9uJyBtZXNzYWdlICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSB1c2UgbGliL3R0LmMgdG8gbGlzdCBwYXJ0aXRpb25zICBbS2FyZWwgWmFrXQorICAgLSAoc2dpKSBhZGQgZHJpdmVyICBbS2FyZWwgWmFrXQorICAgLSAoc3VuKSBtYWtlIGl0IG1vcmUgb2J2aW91cyB3aHkgdGhlIGZpcnN0IHNlY3RvciBtb3ZlZCAgW0thcmVsIFpha10KKyAgIC0gKHN1bikgbW92ZSBkcml2ZXIgZnJvbSBmZGlzayB0byBsaWJyYXJ5ICBbS2FyZWwgWmFrXQorICAgLSAoc3VuKSByZW1vdmUgZHVwbGljYXRlIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBBUEkgdG8gZGlzYWJsZSBzcGVjaWZpZWQgbGFiZWwgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBGRElTS19ERUJVR19GUk9OVEVORCAgW0thcmVsIFpha10KKyAgIC0gYWRkIEZESVNLX0xBQkVMX0ZMX1JFUVVJUkVfR0VPTUVUUlkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBJbnRlbCBSYXBpZCBTdGFydCBUZWNobm9sb2d5IEdVSUQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBhc2t0eXBlICJzdHJpbmciIGFuZCBzdXBwb3J0IFVVSUQgcGFydGl0aW9uIGNoYW5nZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJzZCBkcml2ZXIgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmZGlza19jb250ZXh0X2VuYWJsZV9kZXRhaWxzKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmZGlza19oYXNfdXNlcl9kZXZpY2VfcHJvcGVydGllcygpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZmRpc2tfbG9jYXRlX2Rpc2tsYWJlbCgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZmRpc2tfcGFydG5hbWUoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZkaXNrX3Njcm91bmQoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGdlbmVyaWMgZnVuY3Rpb24gdG8gZ2V0IGRpc2tsYWJlbCBJRCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGdlbmVyaWMgZnVuY3Rpb24gdG8gc2V0IGRpc2tsYWJlbCBJRCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxpc3QoKSBsYWJlbCBvcGVyYXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBuZXcgJ2FzaycgdHlwZSBUQUJMRSAgW0thcmVsIFpha10KKyAgIC0gYWxsb3cgdG8gYWRkcmVzcyBwYXJ0aXRpb24gYnkgY2hhcnMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIHN1biBnZW9tZXRyeSBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBTR0kgZnVuY3Rpb25zIG5hbWVzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHdhcm5pbmcgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIGNvcHkgYXNrIGNhbGxiYWNrIGZyb20gcGFyZW50YWwgY29udGV4dCAgW0thcmVsIFpha10KKyAgIC0gZG8gbm90IHVzZSB2YV9saXN0IGluIHRoZSBBc2sgQVBJICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCByZS1hbGxvY2F0ZSByYW5nZSBzdHJpbmcgaW4gQXNrIEFQSSAgW0thcmVsIFpha10KKyAgIC0gZXhwbGljaXRseSBhZGQgQ09QWUlORyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSBleHRlbmQgZmRpc2tfaW5mbygpIGZ1bmN0aW9uYWxpdHkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjeWxpbmRlcnMgYW5kIHNlY3RvciBidWZmZXIgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBwb3NzaWJsZSBmbG9hdGluZyBwb2ludCBleGNlcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzZWN0b3JidWZmZXIgdXNhZ2UgaW4gZG9zIGRyaXZlciAgW0thcmVsIFpha10KKyAgIC0gZ3B0ICBhdm9pZCB1bm5lY2Vzc2FyeSBwbWJyIGNoZWNrICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBncHQgIGxvb3NlbiBjaGVjayBmb3QgcG1iciBzaXplIGluIGxiYSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gaW1wcm92ZSBmZGlza19zYXZlX3VzZXJfZ2VvbWV0cnkoKSAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBuZXN0ZWQgY29udGV4dCBpbml0aWFsaXphdGlvbiAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBzcGVsbGluZyBvZiB0d28gY29tbWVudHMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gbWFrZSBkZWZhdWx0IGdlb20gdXNhZ2UgbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgaXQgcG9zc2libGUgdG8gcmVzZXQgZGV2aWNlIHByb3BlcnRpZXMgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgdGhlIGxpYnJhcnkgdXNhYmxlIHdpdGggdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIG1hcmsgbGFiZWwgbW9kaWZpZWQgZm9yIFBNQlIgbWlzbWF0Y2ggIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgbWJyIGNvZGUgdG8gdGhlIGxpYnJhcnkgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgc3luYygpIGFuZCByZXJlYWQgUFQgY29kZSBmcm9tIGZkaXNrIHRvIGxpYmZkaXNrICBbS2FyZWwgWmFrXQorICAgLSBwcm92aWRlIG1vcmUgZGV0YWlscyBhYm91dCBHUFQgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSAiZ3B0IHN1cHBvcnQgaXMgbmV3IiB3YXJuaW5nICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgY29kZSBmcm9tIHRlc3RfZmRpc2tfYXNrICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IEdQVCBwYXJ0aXRpb24gbmFtZSAobGFiZWwpIGNoYW5nZSAgW0thcmVsIFpha10KKyAgIC0gdHJlYXQgc2l6ZSBtaXNtYXRjaCBhcyBhIHdhcm5pbmcsIG5vdCBhbiBlcnJvciAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHRlc3RfcmFuZ2VzKCkgY29kZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGNvbnRleHQgZ2VvbWV0cnkgaW4gU0dJIGFuZCBTVU4gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBmZGlza19jb2xvbigpIGFuZCBmZGlza19zaW5mbygpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZmRpc2tfd2FybngoKSBpbiBmZGlza19hc2tfcGFydG51bSgpICBbS2FyZWwgWmFrXQorbGliZmRpc2svZ3B0OgorICAgLSBwYXJ0bHkgcGx1cmFsaXplIG9uZSBtZXNzYWdlICBbQmVubm8gU2NodWxlbmJlcmddCitsaWJmZGlzay9zZ2k6CisgICAtIHByb3Blcmx5IHBsdXJhbGl6ZSB0aHJlZSBtZXNzYWdlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB0d2VhayBhbmQgaGFybW9uaXplIHNvbWUgY29tbWVudHMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdHdlYWsgYW5kIGhhcm1vbml6ZSBzb21lIG1lc3NhZ2Ugc3RyaW5ncyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorbGlibW91bnQ6CisgICAtIChkb2NzKSBtYWtlIGl0IG9idmlvdXMgaG93IHdlIGNhbGwgbW91bnQuPHR5cGU+IGhlbHBlcnMgIFtLYXJlbCBaYWtdCisgICAtICh0ZXN0KSBjaGVjayB3cml0aW5nIHRvIGEgZmlsZSB3YXMgc3VjY2Vzc2Z1bCAgW1NhbWkgS2Vyb2xhXQorICAgLSBGaXggdHlwbyBpbiBjb21tZW50ICBbTmFtaHl1bmcgS2ltXQorICAgLSBGcmVlIHNwbGl0dGVkIG9wdHN0cidzIHdoZW4gZXJyb3Igb2NjdXJyZWQgIFtOYW1oeXVuZyBLaW1dCisgICAtIEdldCByaWQgb2YgYW4gdW5uZWNlc3NhcnkgY2hlY2sgIFtOYW1oeXVuZyBLaW1dCisgICAtIFJlbW92ZSBzdGFsZSBjb21tZW50IG9uIG1udF9jb250ZXh0X21vdW50KCkgIFtOYW1oeXVuZyBLaW1dCisgICAtIFNhdmUgZXJybm8gaWYgbWtvc3RlbXAoKSBmYWlsZWQgIFtOYW1oeXVuZyBLaW1dCisgICAtIFNldCBlYWNoIG9wdHN0cidzIHRvIE5VTEwgaWYgZmFpbGVkICBbTmFtaHl1bmcgS2ltXQorICAgLSBhZGQgYSBnZW5lcmljIGFwcGVuZF9zdHJpbmcoKSBmdW5jdGlvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZ1bmN0aW9uIGZvciBjb250ZXh0IHVzZXJkYXRhICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZnVuY3Rpb25zIHRvIGhhbmRsZSBjb21tZW50cyBpbiBmcyB0YWJsZXMgIFtPbmRyZWogT3ByYWxhLCBLYXJlbCBaYWtdCisgICAtIGFkZCBmdW5jdGlvbnMgdG8gc2FmZWx5IHJlcGxhY2UgYSBmcyB0YWJsZSAgW09uZHJlaiBPcHJhbGFdCisgICAtIGFkZCBtaXNzaW5nIGRlY2xhcmF0aW9ucyB0byBsaWJtb3VudC5oLmluIGFuZCBkb2N1bWVudGF0aW9uICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gYWRkIG1udF90YWJsZV9pc19lbXB0eSgpLCBpbXByb3ZlIHRhYmxlIGxpc3QgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtbnRfdGFibGVfd2l0aF9jb21tZW50cygpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X3RhYmxlX3tmaXJzdCxsYXN0fV9mcygpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X3RhYmxlX3tzZXQsZ2V0fV91c2VyZGF0YSgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbmV3IGZ1bmN0aW9uIHRvIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIGFkZCByZWZlcmVuY2UgY291bnRlciB0byBsaWJtbnRfdGFibGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCByZWZlcmVuY2UgY291bnRpbmcgdG8gbGlibW50X2NhY2hlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcmVmZXJlbmNlIGNvdW50aW5nIHRvIGxpYm1vdW50X2ZzICBbS2FyZWwgWmFrXQorICAgLSBiZSBtb3JlIHJlc3RyaWN0aXZlIGFib3V0IHZhbGlkIHRhZyBuYW1lcyAgW0thcmVsIFpha10KKyAgIC0gYmUgcm9idXN0IGZvciBlbXB0eSB0YXJnZXQvc291cmNlIHN0cmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIGJlIHJvYnVzdCB3aGVuIHdvcmsgd2l0aCBsb29wZGV2IGJhY2tpbmcgZmlsZSBwYXRocyAgW0thcmVsIFpha10KKyAgIC0gY2Fub25pY2FsaXplIGZvciBjb252ZXJzaW9uIGZyb20gbG9vcGRldiBiYWNraW5nIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGNoYW5nZSB0YWlsaW5nIHRvIHRyYWlsaW5nIGluICpfdGFpbGluZ19jb21tZW50cyBmdW5jdGlvbnMgIFtPbmRyZWogT3ByYWxhXQorICAgLSBjbGVhbnVwIGxpYm1udF9mcyBsaXN0IGFmdGVyIG1udF90YWJsZV9yZW1vdmVfZnMoKSAgW0thcmVsIFpha10KKyAgIC0gY29tcG9zZSBtb3VudC48dHlwZT4gaGVscGVycyBwYXRocyBtb3JlIGNhcmVmdWxseSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgaWdub3JlIHJvb3QgZnMgb24gdW1vdW50IC1hICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtb3J5IGxlYWsgW2NsYW5nLWFuYWx5emVyXSAgW0thcmVsIFpha10KKyAgIC0gZml4IG1udF9jb250ZXh0X2lzX2NoaWxkKCkgY29tbWVudCAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG9zICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gZnJlZSB1c2VybmFtZSBhZnRlciBjaGVjayAgW0RhdmUgUmVpc25lcl0KKyAgIC0gbWFrZSBtbnRfZnNfe2FwLHByZX1wZW5kX29wdGlvbnMoKSBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBtbnRfdGFibGVfcmVwbGFjZV9maWxlKCkgbW9yZSByb2J1c3QgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBtb3JlIHJvYnVzdCBvcHRpb25zIHN0cmluZyBwYXJzaW5nICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZGVhZCBjb2RlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gc21hbGwgY2xlYW51cCBpbiB1bW91bnQgY29kZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBNU19TSUxFTlQgZm9yIC97cHJvYyxldGN9L2ZpbGVzeXN0ZW1zICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZXJyLmggaW4gdGVzdCAgW0thcmVsIFpha10KKyAgIC0gdXNlIG1lbW1vdmUgd2hlbiBvdmVybGFwIHBvc3NpYmxlICBbRGF2ZSBSZWlzbmVyXQorbG9nZ2VyOgorICAgLSBhZGQgc3VwcG9ydCBmb3IgLS1wcmlvLXByZWZpeCB3aGVuIGxvZ2dpbmcgc3RkaW4gIFtEZW5uaXMgSCBKZW5zZW5dCisgICAtIGNsZWFudXAgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gc21hbGwgY29kaW5nIHN0eWxlIGNoYW5nZXMgIFtLYXJlbCBaYWtdCitsb2dpbjoKKyAgIC0gdXNlIFRDU0FOT1cgdG8gcmVtb3ZlIEhVUENMICBbS2FyZWwgWmFrXQorbG9zZXR1cDoKKyAgIC0gYWRkIC0tcmF3IGFuZCAtLW5vaGVhZGluZ3MgIFtLYXJlbCBaYWtdCisgICAtIGN1dCB0aGUgcmVtYWluaW5nIGxpdHRsZSBibG9jayBvZiBoZWxwIHRleHQgaW50byBzbGljZXMgdG9vICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGRvbid0IHJlcXVpcmUgNTEyLWJ5dGUgYWxpZ25lZCBvZmZzZXRzICBbS2FyZWwgWmFrXQorICAgLSBmaXggbG9vcCBkZXZpY2UgbmFtZSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSAtaiA8cGF0aD4gbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIHNldCBlcnJubyBmb3IgbWlzYWxpZ25lZCBvZmZzZXRzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgVFRfRkxfRlJFRURBVEEgZm9yIHR0IHRhYmxlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbG9vcC1jb250cm9sIHRvIGV4cGxpY2l0bHkgYXNrIGZvciBkZXZpY2UgIFtLYXJlbCBaYWtdCisgICAtIHVzZSB3YXJuX3NpemUoKSBmb3IgcmVndWxhciBmaWxlcyBvbmx5ICBbS2FyZWwgWmFrXQorbHNibGs6CisgICAtIGFkZCBTRVJJQUwgY29sdW1uICBbS2FyZWwgWmFrXQorICAgLSB1c2UgVFRfRkxfRlJFRURBVEEgZm9yIHR0IHRhYmxlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZGV2bm8gdG8gY2hlY2sgaWYgdGhlIGZpbGVzeXN0ZW0gaXMgbW91bnRlZCAgW0thcmVsIFpha10KKyAgIC0gdXNlIGRldm5vIHRvIGdldCBtb3VudHBvaW50ICBbS2FyZWwgWmFrXQorbHNjcHU6CisgICAtIGFkZCBtYXggTUh6IHZhbHVlIHRvIG1ha2UgY3B1IGdvdmVybm9yIGVmZmVjdHMgbW9yZSB2aXNpYmxlICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCB2aXJ0dWFsaXphdGlvbiB0eXBlcyAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgc3RyY2hyKCkgcmVzdWx0IFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBETUkgY29kZSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGRldGVjdCBtb3JlIGh5cGVydmlzb3IgdmVuZG9ycyAgW09uZHJlaiBPcHJhbGFdCisgICAtIGRvbid0IHBhc3MgbnVsbCBwb2ludGVyIHRvIHN0cmluZyBmdW5jdGlvbnMgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtb3J5IGxlYWsgW2NsYW5nLWFuYWx5emVyXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggc2hhZG93IGRlY2xhcmF0aW9uIFtzbWF0Y2ggc2Nhbl0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVwb3J0IGNwdSBtaW4gbWh6ICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB1c2UgVFRfRkxfRlJFRURBVEEgZm9yIHR0IHRhYmxlICBbS2FyZWwgWmFrXQorbHNsb2NrczoKKyAgIC0gdXNlIFRUX0ZMX0ZSRUVEQVRBIGZvciB0dCB0YWJsZSAgW0thcmVsIFpha10KK21jb29raWU6CisgICAtIHBsdXJhbGl6ZSB0d28gbWVzc2FnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK21lc2c6CisgICAtIHN5bmMgdXNhZ2UoKSB3aXRoIGhvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCAgW1NhbWkgS2Vyb2xhXQorbWlzYzoKKyAgIC0gdXNlIGxpYm1udF9jYWNoZSByZWZlcmVuY2UgY291bnRpbmcgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsaWJtbnRfdGFibGUgcmVmZXJlbmNlIGNvdW50ZXIgIFtLYXJlbCBaYWtdCitta2ZzLmJmczoKKyAgIC0gY2hlY2sgd3JpdGluZyB0byBhIGZpbGUgZGVzY3JpcHRvciB3YXMgc3VjY2Vzc2Z1bCAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggNjQtQml0IGFuZCBlbmRpYW4gcHJvYmxlbXMgIFtpaG5vXQorbWtmcy5jcmFtZnM6CisgICAtIGFyZ3VtZW50IHRvIGZyZWUoKSBpcyBhIGNvbnN0YW50IGFkZHJlc3MgW2NsYW5nLWFuYWx5emVyXSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1bmlmeSB3cml0ZSBjaGVjayB0byBhIGZpbGUgZGVzY3JpcHRvciAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2Ugc3RhbmRhcmQgZXJyb3IgbWVzc2FnZSAgW0thcmVsIFpha10KK21rZnMubWluaXg6CisgICAtIGNoZWNrIHdyaXRpbmcgdG8gYSBmaWxlIGRlc2NyaXB0b3Igd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcHJvcGVybHkgcGx1cmFsaXplIGZvdXIgbWVzc2FnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK21rc3dhcDoKKyAgIC0gYWRkIG5vdGUgYWJvdXQgc3dhcCBoZWFkZXIgbGltaXQgdG8gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSB1bmlmeSB3cml0ZSBjaGVjayB0byBhIGZpbGUgZGVzY3JpcHRvciAgW1NhbWkgS2Vyb2xhXQorbW9yZToKKyAgIC0gYXNzaWduZWQgdmFsdWUgaXMgbmV2ZXIgcmVhZCBbY2xhbmctYW5hbHl6ZXJdICBbU2FtaSBLZXJvbGFdCisgICAtIGNoZWNrIGZvciBidWZmZXIgc2l6ZSB3aGVuIHdyaXRlIG11bHRpYnl0ZSBjaGFyICBbS2FyZWwgWmFrXQorICAgLSBmaXggYnVmZmVyIG92ZXJmbG93ICBbS2FyZWwgWmFrXQorICAgLSBmaXggd2FybmluZyB3aGVuIGNvbXBpbGVkIC0td2l0aG91dC1uY3Vyc2VzICBbS2FyZWwgWmFrXQorICAgLSBndWFyYW50ZWUgc3BhY2UgZm9yIG11bHRpYnl0ZSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBvdXRwdXQgcmVkaXJlY3Rpb24gbW9yZSBlZmZpY2llbnQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHZhcmlhYmxlIGxlbmd0aCBwcmludGYgZmllbGQgd2lkdGggdG8gcHJpbnQgYmxhbmtzICBbU2FtaSBLZXJvbGFdCittb3VudDoKKyAgIC0gKGRlcHJlY2F0ZWQpIGZpeCB0eXBvIHRhaWxlZC0+ZmFpbGVkICBbWXVyaSBDaG9ybm9pdmFuXQorICAgLSBhZGQgbm90ZXMgYWJvdXQgVVVJRHMgdG8gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWlzdGFrZW4gd29yZCBhbmQgc29tZSBncmFtbWFyIGluIG1hbiBwYWdlIG9mIG1vdW50ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGZpeCByZXBlYXRpbmcgd29yZHMgaW4gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgeGZzIGRvY3MgIFtLYXJlbCBaYWtdCitub2xvZ2luOgorICAgLSBhZGQgbmV3IGNvbW1hbmQgIFtLYXJlbCBaYWtdCituc2VudGVyOgorICAgLSBBbGxvdyBzZWxlY3RpbmcgdGhlIHVpZCBhbmQgZ2lkIHRvIGJlIHVzZWQgaW4gdGhlIGVudGVyZWQgdXNlcm5zICBbUmljaGFyZCBXZWluYmVyZ2VyXQorICAgLSB1bnNoYXJlICB1c2UgTENfQUxMICBbS2FyZWwgWmFrXQorcGFydHg6CisgICAtIGNoZWNrIHdyaXRpbmcgdG8gYSBmaWxlIGRlc2NyaXB0b3Igd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY29ycmVjdCB0aHJlZSBtZXNzYWdlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBwbHVyYWxpemUgb25lIG1lc3NhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXNlIFRUX0ZMX0ZSRUVEQVRBIGZvciB0dCB0YWJsZSAgW0thcmVsIFpha10KK3BnOgorICAgLSBjaGVjayB3cml0aW5nIHRvIGEgZmlsZSB3YXMgc3VjY2Vzc2Z1bCAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgTENfQUxMICBbS2FyZWwgWmFrXQorcGcuYzoKKyAgIC0gQWRkIC0taGVscCBhbmQgLS12ZXJzaW9uICBbSmFyaSBBYWx0b10KK3BvOgorICAgLSBtZXJnZSBjaGFuZ2VzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgY2EucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtKb3NlcCBQdWlnZGVtb250XQorICAgLSB1cGRhdGUgY3MucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtQZXRyIFDDrXNhxZldCisgICAtIHVwZGF0ZSBkYS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0pvZSBIYW5zZW5dCisgICAtIHVwZGF0ZSBkZS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0FydW4gUGVyc2F1ZF0KKyAgIC0gdXBkYXRlIGVzLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbU2FudGlhZ28gVmlsYSBEb25jZWxdCisgICAtIHVwZGF0ZSBldC5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW01lZWxpcyBSb29zXQorICAgLSB1cGRhdGUgZXUucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtNaWtlbCBPbGFzYWdhc3RpIFVyYW5nYV0KKyAgIC0gdXBkYXRlIGZpLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbTGF1cmkgTnVybWldCisgICAtIHVwZGF0ZSBmci5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0RhdmlkIFByw6l2b3RdCisgICAtIHVwZGF0ZSBnbC5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0ZyYW4gRGnDqWd1ZXpdCisgICAtIHVwZGF0ZSBoci5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1RvbWlzbGF2IEtyem5hcl0KKyAgIC0gdXBkYXRlIGh1LnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbR2Fib3IgS2VsZW1lbl0KKyAgIC0gdXBkYXRlIGlkLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbQXJpZiBFLiBOdWdyb2hvXQorICAgLSB1cGRhdGUgaXQucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtNYXJjbyBDb2xvbWJvXQorICAgLSB1cGRhdGUgamEucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtUYWtlc2hpIEhhbWFzYWtpXQorICAgLSB1cGRhdGUgbmwucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXBkYXRlIHBsLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbSmFrdWIgQm9ndXN6XQorICAgLSB1cGRhdGUgcHRfQlIucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtSYWZhZWwgRmVycmVpcmFdCisgICAtIHVwZGF0ZSBwdF9CUi5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1JvZHJpZ28gU3R1bHplciBMb3Blc10KKyAgIC0gdXBkYXRlIHJ1LnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUGF2ZWwgTWFyeWFub3ZdCisgICAtIHVwZGF0ZSBzbC5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1NpbW9uIE1paGV2Y10KKyAgIC0gdXBkYXRlIHN2LnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbRGFuaWVsIE55bGFuZGVyXQorICAgLSB1cGRhdGUgdHIucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtOaWxnw7xuIEJlbG1hIEJ1Z8O8bmVyXQorICAgLSB1cGRhdGUgdWsucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtZdXJpIENob3Jub2l2YW5dCisgICAtIHVwZGF0ZSB1dGlsLWxpbnV4LnBvdCAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0ZVTEwgTkFNRV0KKyAgIC0gdXBkYXRlIHZpLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbVHLhuqduIE5n4buNYyBRdcOibl0KKyAgIC0gdXBkYXRlIHpoX0NOLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbV3lsbWVyIFdhbmddCisgICAtIHVwZGF0ZSB6aF9UVy5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1dlaS1MdW4gQ2hhb10KK3BybGltaXQ6CisgICAtIGRlbGV0ZSByZW1fcHJsaW0gcHJvdG90eXBlICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB1c2UgVFRfRkxfRlJFRURBVEEgZm9yIHR0IHRhYmxlICBbS2FyZWwgWmFrXQorcHlsaWJtb3VudDoKKyAgIC0gYWRkIF9faW5pdF9fLnB5ICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gYWRkIGRlYnVnIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcmVncmVzc2lvbiB0ZXN0cyAgW09uZHJlaiBPcHJhbGFdCisgICAtIGJhc2ljIGNvZGUgIFtPbmRyZWogT3ByYWxhXQorICAgLSBjaGVjayBmb3IgbW50X2ZzX2dldF90YWcoKSByZXR1cm4gdmFsdWUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwICpfSEVMUCBzdHJpbmdzIGZvcm1hdHRpbmcgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgY3h0IHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIG9iamVjdCBuYW1lcyAgW0thcmVsIFpha10KKyAgIC0gY29kaW5nIHN0eWxlIGNoYW5nZXMgaW4gY29udGV4dC5jICBbS2FyZWwgWmFrXQorICAgLSBjb2Rpbmcgc3R5bGUgY2hhbmdlcyBpbiBmcy5jICBbS2FyZWwgWmFrXQorICAgLSBjb2Rpbmcgc3R5bGUgY2hhbmdlcyBpbiB0YWIuYyAgW0thcmVsIFpha10KKyAgIC0gY29kaW5nIHN0eWxlIGNoYW5nZXMsIGRvbid0IHRvdWNoIENvbnRleHQoKSBzdGF0dXMgIFtLYXJlbCBaYWtdCisgICAtIGZzLmMgLSBjbGVhbnVwLCByZW1vdmUgbGlibW91bnQgcHJpdmF0ZSBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBoZWxwcyBzdHJpbmdzIGZvcm1hdHRpbmcgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgdGFiIHBhcnNlcnMgbW9yZSByb2J1c3QgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgQ29udGV4dF9nZXRfdGFibGUoKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGJpbmRzcmMgZnJvbSBmcyBBUEkgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBjb2RlICBbS2FyZWwgWmFrXQorICAgLSByZXdyaXRlIHRvIGJlIHB5Mi9weTMgdW5pdmVyc2FsICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gdXNlIGxpYm1vdW50IHJlZmVyZW5jZSBjb3VudGluZyAgW0thcmVsIFpha10KKyAgIC0gdXNlIG1udF9mc19zZXRfdXNlcmRhdGEoKSByYXRoZXIgdGhhbiAtPnVzZXJkYXRhICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugb25seSBwdWJsaWMgbGlibW91bnQgQVBJIGluIHRhYi5jICBbS2FyZWwgWmFrXQorcmF3OgorICAgLSB1c2UgTENfQUxMICBbS2FyZWwgWmFrXQorcmVuaWNlOgorICAgLSBleGl0IHdpdGggbm9uLXplcm8gdmFsdWUgd2hlbiBhcmd1bWVudHMgY2F1c2Ugd2FybmluZ3MgIFtTYW1pIEtlcm9sYV0KK3Jlc2l6ZXBhcnQ6CisgICAtIGNoZWNrIHdyaXRpbmcgdG8gYSBmaWxlIGRlc2NyaXB0b3Igd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KK3JldjoKKyAgIC0gZml4IG5ldyBsaW5lIHJlZ3Jlc3Npb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVkdWNlIHN0cmVhbSBjaGVja2luZyB3aGVuIGNsb3NpbmcgcmVhZC1vbmx5IGZpbGUgZGVzY3JpcHRvciAgW1NhbWkgS2Vyb2xhXQorICAgLSBzaW1wbGlmeSBuZXcgbGluZSBkZXRlY3Rpb24gYW5kIGltcG9zc2libGUgdGVzdCAgW1NhbWkgS2Vyb2xhXQorICAgLSBzdG9wIGFkZGluZyBuZXcgbGluZSBhdCB0aGUgZW5kIHdoZW4gaW5wdXQgZG9lcyBub3QgaGF2ZSBpdCAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2Ugc3RyaW5nIHByaW50aW5nIHJhdGhlciB0aGFuIGNoYXJhY3RlciBvdXRwdXQgIFtTYW1pIEtlcm9sYV0KK3J1bnVzZXI6CisgICAtIHVwZGF0ZSBtYW4gcGFnZSwgYWRkIG5vdGUgYWJvdXQgLWwgdnMuIC1wICBbS2FyZWwgWmFrXQorc2QtZGFlbW9uOgorICAgLSB1cGRhdGUgZmlsZXMgdGFrZW4gZnJvbSBzeXN0ZW1kIHByb2plY3QgIFtTYW1pIEtlcm9sYV0KK3NldGFyY2g6CisgICAtIHByZWZlciBwcmVwcm9jZXNzb3IgcmF0aGVyIHRoYW4gYXV0b3Rvb2xzIGNoZWNrICBbU2FtaSBLZXJvbGFdCitzZXRwcml2OgorICAgLSBhbGxvdyBsb2dpbiBhbmQgZ3JvdXAgbmFtZSBvcHRpb24gYXJndW1lbnRzICBbU2FtaSBLZXJvbGFdCisgICAtIGNoZWNrIHdyaXRpbmcgdG8gYSBmaWxlIGRlc2NyaXB0b3Igd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2hlY2sgd3JpdGluZyB0byBhIGZpbGUgd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIExDX0FMTCAgW0thcmVsIFpha10KK3NldHNpZDoKKyAgIC0gYWRkIGFuIG9wdGlvbiB0byB3YWl0IGNoaWxkIHJldHVybiB2YWx1ZSAgW0RhbmllbCBLYWhuIEdpbGxtb3JdCisgICAtIGV4aXQgd2hlbiBjb250cm9sIHRlcm1pbmFsIGNhbm5vdCBiZSBzZXQgIFtTYW1pIEtlcm9sYV0KK3NldHRlcm06CisgICAtIGZpeCB0ZXJtLmgvbmN1cnNlcy5oIGluY2x1ZGUgb3JkZXJpbmcgIFtNaWtlIEZyeXNpbmdlcl0KK3NmZGlzazoKKyAgIC0gYXNzaWduZWQgdmFsdWUgaXMgbmV2ZXIgcmVhZCBbY2xhbmctYW5hbHl6ZXJdICBbU2FtaSBLZXJvbGFdCisgICAtIGNoZWNrIHdyaXRpbmcgdG8gYSBmaWxlIGRlc2NyaXB0b3Igd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW4gdXAgdW5oaWRlIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIHVzYWdlKCkgZnVuY3Rpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIGRvbid0IGNhbGwgQkxLUlJQQVJUIGZvciBub24tYmxvY2sgZGV2aWNlcyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdXNlIHdvcmQgJ2Rpc2snLiAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8gIFtLYXJlbCBaYWtdCisgICAtIGZpeCB5L24gbWlzbWF0Y2ggIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgdW5oaWRpbmcgYXMgY29tcGxldGUgYXMgcG9zc2libGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVwbGFjZSBteV93YXJuKCkgd2l0aCB3YXJueCgpICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBsaWJjIGVycm9yIHByaW50aW5nIGZ1bmN0aW9uLCBhbmQgc3ltYm9saWMgZXhpdCB2YWx1ZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lIHRvIGRldGVybWluZSBwcm9ncmFtIG5hbWUgIFtTYW1pIEtlcm9sYV0KK3N1OgorICAgLSBhZGQgaW5mbyBhYm91dCBwYW1fbGFzdGxvZyB0byBzdS4xICBbS2FyZWwgWmFrXQorICAgLSBjb25zaXN0ZW50IGFuZ3VsYXIgYnJhY2tldHMgYW5kIGxvd2VyY2FzZSBpbiBoZWxwIHRleHQgb2YgJ3N1JyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggY2F1Z2h0X3NpZ25hbCBsb2dpYyBhbmQgaW5pdGlhbGl6ZSBvbGRhY3QgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggZXhpdCBzdGF0dXMgaWYgdGVybWluYXRlZCBieSBzaWduYWwgIFtPbmRyZWogT3ByYWxhXQorICAgLSBmaXggbGFzdGxvZyBhbmQgYnRtcCBsb2dnaW5nICBbS2FyZWwgWmFrXQorICAgLSBpZ25vcmUgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgdG8gLS1sb2dpbiAgW0thcmVsIFpha10KKyAgIC0gc3VwcHJlc3MgUEFNIGluZm8gbWVzc2FnZXMgZm9yIC1jIG9yIG5vbi1sb2dpbiBzZXNzaW9ucyAgW0thcmVsIFpha10KK3N1LWNvbW1vbjoKKyAgIC0gcGx1cmFsaXplIG9uZSBtZXNzYWdlICBbQmVubm8gU2NodWxlbmJlcmddCitzdWxvZ2luOgorICAgLSBjbGVhbiB1cCBlcnJvciBtZXNzYWdlcyAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtZW1vcnkgbGVhayBbY2xhbmctYW5hbHl6ZXJdICBbU2FtaSBLZXJvbGFdCitzd2FwbGFiZWw6CisgICAtIGNoZWNrIHdyaXRpbmcgdG8gYSBmaWxlIGRlc2NyaXB0b3Igd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KK3N3YXBvbjoKKyAgIC0gYWxsb3cgYSBtb3JlIGZsZXhpYmxlIHN3YXAgZGlzY2FyZCBwb2xpY3kgIFtSYWZhZWwgQXF1aW5pXQorICAgLSBjaGVjayB3cml0aW5nIHRvIGEgZmlsZSBkZXNjcmlwdG9yIHdhcyBzdWNjZXNzZnVsICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFudXAgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBUVF9GTF9GUkVFREFUQSBmb3IgdHQgdGFibGUgIFtLYXJlbCBaYWtdCit0ZXN0czoKKyAgIC0gYWRkIFhGUyBsb2cgaW1hZ2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBiY2FjaGUgaW1hZ2VzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgY2FsIGRheSBjb2xvciBjb3JuZXIgY2FzZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGNhbGVuZGFyIHJlZm9ybWF0aW9uIGNoZWNrICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBsYXN0KDEpIHRlc3QgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGxvc2V0dXAgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub2xvZ2luIHRvIGJ1aWxkIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcGFydHggcmVncmVzc2lvbiB0ZXN0cyAgW09uZHJlaiBPcHJhbGFdCisgICAtIGNoZWNrIGNhbCB3b3JrcyB3aGVuIHllYXIgaXMgZmFyIGluIGZ1dHVyZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBjaGVjayBsYXN0KDEpIGFuZCB1dG1wZHVtcCgxKSBJUHY2IGZ1bmN0aW9uYWxpdHkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY29uc29saWRhdGUgUHkgdGVzdHMgaW5pdGlhbGl6YXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgY2FsIC0tY29sb3IgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gbHNjcHUgIGFkZCBDUFUgbWF4IE1IeiB0byB0ZXN0IHJlc3VsdHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWlub3IgY2hhbmdlcyB0byBtYWtlIHRlc3RzIG1vcmUgcG9ydGFibGUgIFtLYXJlbCBaYWtdCisgICAtIG5ldyB3YXJuaW5nIGZpeCAgW0dpbGxlcyBFc3BpbmFzc2VdCisgICAtIHBhcnR4IHRlc3RzIGNsZWFudXAgIFtLYXJlbCBaYWtdCisgICAtIHJlZnJlc2ggZmRpc2sgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHJlZnJlc2ggamJkIGJsa2lkIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSByZW1haW5pbmcgc2V0IC14ICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgYnVpbGQgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBmZGlzayBvdXRwdXRzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgbGlibW91bnQgZnN0YWIgZnVsbCBwYXJzZSB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgbHNjcHUgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBvZGQgb3V0cHV0IGZkaXNrIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBzdW4gbGFiZWwgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gdXNlICdidHJmcycgcmF0aGVyIHRoYW4gJ2J0cmZzY3RsJyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHN0YWJsZSBNQlIgSUQgIFtLYXJlbCBaYWtdCit0ZXh0dWFsOgorICAgLSBjaGFuZ2Ugc3BlbGxpbmcgb2YgImRpc2sgbGFiZWwiIHRvIHRoZSBtb3JlIGFidW5kYW50ICJkaXNrbGFiZWwiICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGVuZCBib3RoIHRoZSBzaW5ndWxhciBhbmQgdGhlIHBsdXJhbCBtZXNzYWdlIHdpdGggYSBwZXJpb2QgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZXF1YWxpemUgZm91ciBlcnJvciBtZXNzYWdlcyB3aXRoIGFscmVhZHkgZXhpc3Rpbmcgb25lcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggbWlzc3BlbGxlZCB3b3JkcyBpbiAtcmMxICBbS2FyZWwgWmFrXQorICAgLSBmaXggc2V2ZXJhbCB0eXBvcyBhbmQgYW5ndWxhciBicmFja2V0cyBpbiBtZXNzYWdlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggdHlwbyBpbiBlcnJvciBtZXNzYWdlIGFuZCB1bmlmb3JtaXplIHRoZWlyIHVzZSBvZiBwZXJpb2QgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4aW5nIHR5cG9zIGluIGEgd2FybmluZyBhbmQgYW4gZXJyb3IgbWVzc2FnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBoYXJtb25pemUgc29tZSBsb29wLWRldmljZSBlcnJvciBtZXNzYWdlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbXByb3ZlIGNsYXJpdHkgb2Ygc29tZSBlcnJvciBtZXNzYWdlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBtYWtlIHR3byBtZXNzYWdlcyBzb21ld2hhdCBlYXNpZXIgdG8gdW5kZXJzdGFuZCAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBwcm9wZXJseSB1c2UgdXBwZXJjYXNlIGluIGNlcnRhaW4gYWJicmV2aWF0aW9ucyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSByZW1vdmUgZHVwbGljYXRlIG1lbnRpb24gb2YgJy0taGVscCcgZnJvbSBsc2JsayBoZWxwIHRleHQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gc3RhbmRhcmRpemUgc29tZSAiY2Fubm90IHJlYWQiIGFuZCAic2VlayBmYWlsZWQiIGVycm9yIG1lc3NhZ2VzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHN0YW5kYXJkaXplIHN5bm9wc2lzIGZvciBsb2dpbiwgYW5kIGltcHJvdmUgYW4gZXJyb3IgbWVzc2FnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBzdGFuZGFyZGl6ZSB0aGUgc3BlbGxpbmcgb2YgInN1cGVydXNlciIgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdGFnIGEgdHJhbnNsYXRvciBjb21tZW50IGFuZCBwdXQgaXQgaW4gcHJvcGVyIHBsYWNlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHRpbnkgYWxwaGFiZXRpY2FsIGFuZCBncmFtbWF0aWNhbCB0d2VhayAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB1c2UgY29uc2lzdGVudCB3b3JkaW5nIGFuZCBwdW5jdHVhdGlvbiBpbiBmZGlzayBzdHVmZiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB1c2UgdGhlIHN0YW5kYXJkIGFuZ3VsYXIgYnJhY2tldHMgZm9yIG5vbi1saXRlcmFsIGFyZ3VtZW50cyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQordG9vbHM6CisgICAtIGdlbmVyYXRlIGF1dG90b29scyBmaWxlcyBpZiBtaXNzaW5nICBbU2FtaSBLZXJvbGFdCit1bDoKKyAgIC0gZW5oYW5jZSBjb21tYW5kIHBlcmZvcm1hbmNlICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBjb3JyZWN0IHR5cGVzICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBzdHJpbmcgcHJpbnRpbmcgZnVuY3Rpb24gIFtTYW1pIEtlcm9sYV0KK3Vtb3VudDoKKyAgIC0gcHJvdmlkZSBtb3JlIGhlbHBmdWwgZXJyb3IgbWVzc2FnZSAgW0thcmVsIFpha10KK3Vuc2hhcmU6CisgICAtIGFkZCAtLWZvcmsgb3B0aW9ucyBmb3IgcGlkIG5hbWVzcGFjZXMgIFtNaWtlIEZyeXNpbmdlcl0KKyAgIC0gYWRkIC0tbW91bnQtcHJvYyBmb3IgcGlkIG5hbWVzcGFjZXMgIFtLYXJlbCBaYWtdCit1dG1wZHVtcDoKKyAgIC0gYWRkIG9wdGlvbiB0byB3cml0ZSB0byBhIGZpbGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYXNzaWduZWQgdmFsdWVzIGFyZSBuZXZlciByZWFkIFtjbGFuZy1hbmFseXplcl0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFrZSBJUHY2IGFkZHJlc3NlcyB3b3JrICBbU2FtaSBLZXJvbGFdCisgICAtIG1ha2UgYW5hbHl6ZXJzIGhhcHB5ICBbS2FyZWwgWmFrXQordXVpZGQ6CisgICAtIGFkZCBtaXNzaW5nIGluaXRpYWxpemVyIFtjbGFuZy1hbmFseXplcl0gIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIGVycm9yIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQordmFyaW91czoKKyAgIC0gZml4IG1peGluZyBkZWNsYXJhdGlvbnMgYW5kIGNvZGUgY29tcGlsZXIgd2FybmluZ3MgW3NtYXRjaF0gIFtTYW1pIEtlcm9sYV0KK3dhbGw6CisgICAtIGFsbG93IHRvIHNwZWNpZnkgPG1lc3NhZ2U+IG9uIGNvbW1hbmQgbGluZSAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgd3JpdGluZyB0byBhIGZpbGUgZGVzY3JpcHRvciB3YXMgc3VjY2Vzc2Z1bCAgW1NhbWkgS2Vyb2xhXQorICAgLSBsaW5lIHdyYXAgYXQgY29sdW1uIDc5IGFsc28gd2hlbiBsaW5lIGhhcyB0YWIgY2hhcnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFrZSBiYW5uZXIgc3lzdmluaXQgY29tcGF0aWJsZSAgW0thcmVsIFpha10KKyAgIC0gc2VuZCBtZXNzYWdlIGFsc28gdG8gc2Vzc2lvbnMgb3BlbmVkIGJ5IHVzZXIgJ3NsZWVwZXInICBbU2FtaSBLZXJvbGFdCisgICAtIHN5bmMgdXNhZ2UoKSB3aXRoIGhvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCAgW1NhbWkgS2Vyb2xhXQord2RjdGw6CisgICAtIGNoZWNrIHdyaXRpbmcgdG8gYSBmaWxlIGRlc2NyaXB0b3Igd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZ2V0dGV4dGl6ZSBhbmQgcGx1cmFsaXplIG9uZSBmb3Jnb3R0ZW4gbWVzc2FnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBwbHVyYWxpemUgb25lIHRocmljZS1yZXBlYXRlZCBtZXNzYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHVzZSBUVF9GTF9GUkVFREFUQSBmb3IgdHQgdGFibGUgIFtLYXJlbCBaYWtdCit3aXBlZnM6CisgICAtIEFsc28gd2lwZSBzdXBlcmJsb2NrcyB3aXRoIGJhZCBjaGVja3N1bXMgIFtHYWJyaWVsIGRlIFBlcnRodWlzXQorICAgLSBhZGQgLS1iYWNrdXAgIFtPbmRyZWogT3ByYWxhXQorICAgLSBjbGVhbiB1cCBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBwbHVyYWxpemUgb25lIG1lc3NhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK3dyaXRlOgorICAgLSBjaGFuZ2UgZGV0ZXJtaW5hdGlvbiBjYW4gdXNlciB3cml0ZSB0byBhIHRlcm1pbmFsICBbU2FtaSBLZXJvbGFdCisKKy0gY2hhbmdlIGRldGVybWluYXRpb24gY2FuIHVzZXIgd3JpdGUgdG8gYSB0ZXJtaW5hbCAgW1NhbWkgS2Vyb2xhXQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yNS1SZWxlYXNlTm90ZXMgYi9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjI1LVJlbGVhc2VOb3RlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZGI1ODJmCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yNS1SZWxlYXNlTm90ZXMKQEAgLTAsMCArMSwxMjkwIEBACitVdGlsLWxpbnV4IDIuMjUgUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworVGhlIGNvbW1hbmQgY3l0dW5lKDgpIGhhcyBiZWVuIFJFTU9WRUQgZnJvbSB1dGlsLWxpbnV4LgorCitUaGUgbm9uLWxpYm1vdW50IG1vdW50KDgpIGltcGxlbWVudGF0aW9uIGhhcyBiZWVuIFJFTU9WRUQgZnJvbSB1dGlsLWxpbnV4LgorCitUaGUgInN3YXBvbiAtLXN1bW1hcnkiIG91dHB1dCBmb3JtYXQgaXMgZGVwcmVjYXRlZCBpbiBmYXZvciBvZiB0aGUKKyJzd2Fwb24gLS1zaG93Wz08Y29sdW1ucz5dIiB0aGF0IHByb3ZpZGVzIGJldHRlciBjb250cm9sIG9uIG91dHB1dCBmb3JtYXR0aW5nLgorCitSZWxlYXNlIGhpZ2hsaWdodHMKKy0tLS0tLS0tLS0tLS0tLS0tLQorCitsaWJzbWFydGNvbHM6CisgLSB0aGlzIE5FVyBTSEFSRUQgTElCUkFSWSAoYnV0IHdpdGggc3RhYmxlIEFQSSkgYWxsb3dzIHRvIHByaW50IGRhdGEgaW4KKyAgIHRhYmxlcywgdHJlZXMgb3IgcGFyc2FibGUgZm9ybWF0cywgc3VwcG9ydCBjb2xvcnMsIHNvcnRpbmcgZXRjLiBUaGUgY29kZSBoYXMKKyAgIGJlZW4gb3JpZ2luYWxseSBkZXZlbG9wZWQgZm9yIGxzYmxrKDgpIGFuZCBmaW5kbW50KDgpLgorCitjZmRpc2soOCk6CisgLSB0aGUgY29kZSBiZWVuIGNvbXBsZXRlbHkgcmV3cml0dGVuLCBub3cgaXQgdXNlcyBsaWJmZGlzayBhbmQgbGlic21hcnRjb2xzLCAKKyAgIHN1cHBvcnRzIEdQVCwgU1VOLCBTR0kgYW5kIEJTRCBkaXNrIGxhYmVscworIC0gdGhlIGNvbW1hbmQgaXMgbm8gbW9yZSBiYXNlZCBvbiBDSFMgYWRkcmVzc2luZworCitmZGlzayg4KToKKyAtIG5vIG1vcmUgcHJpbnQgc2l6ZXMgaW4gMTAyNC1ieXRlIGJsb2NrcywgYnV0IGluIHJlYWwgc2VjdG9ycyBvciBodW1hbiAKKyAgIHJlYWRhYmxlIHNpemVzIChNaUIsIFRpQiwgZXRjLikKKyAtIGFsbG93cyB0byBtb2RpZnkgR1BUIHBhcnRpdGlvbiBhdHRyaWJ1dGVzIAorCitsc2xvZ2lucygxKToKKyAtIHRoaXMgTkVXIENPTU1BTkQgbGlzdCBpbmZvcm1hdGlvbiBhYm91dCB1c2VycywgZ3JvdXBzIGFuZCBzeXN0ZW0gYWNjb3VudHMsCisgICBwcm92aWRlcyAgZGF0YSBmcm9tIGxhc3QsIHd0bXAsIGJ0bXAsIGh1c3Qgc3RhdHVzLCBwYXNzd29yZCBleHBpcmF0aW9uCisgICBzZXR0aW5ncywgU0VMaW51eCBjb250ZXh0LCBub2xvZ2luIHNldHRpbmcsIGV0Yy4gCisKK3Rlcm1pbmFsLWNvbG9ycy5kKDUpOgorIC0gdGhpcyBuZXcgZGlyZWN0b3J5IGNvbnRyb2xzIG91dHB1dCBjb2xvcml6YXRpb24gZm9yIHZhcmlvdXMgdXRpbGl0aWVzCisgLSBub3cgZG1lc2coMSkgc3VwcG9ydHMgY29sb3JzIGN1c3RvbWl6YXRpb24sIGZvciBleGFtcGxlCisgICAgICAgIGVjaG8gJ2FsZXJ0IDM3OzQxJyA+PiAvZXRjL3Rlcm1pbmFsLWNvbG9ycy5kL2RtZXNnLnNjaGVtZQorICAgc2V0cyByZWQgYmFja2dyb3VuZCBmb3IgYWxlcnQgbWVzc2FnZXMuCisKK2NhbCgxKToKKyAgLSBzdXBwb3J0cyBuZXcgb3B0aW9uIC0td2VlayB0byBzaG93IHdlZWsgbnVtYmVycworCitmYWxsb2NhdGUoMSk6CisgIC0gc3VwcG9ydHMgbmV3IG9wdGlvbiAtLWRpZy1ob2xlcyB0byBkZXRlY3QgYW5kIGRpZyBob2xlcywgaXQgbWFrZXMgdGhlIAorICAgIGZpbGUgc3BhcnNlIGluLXBsYWNlLCB3aXRob3V0IHVzaW5nIGV4dHJhIGRpc2sgc3BhY2UuCisKK2ZzdHJpbSgxKToKKyAgLSBzdXBwb3J0cyBuZXcgb3B0aW9uIC0tYWxsIHRvIGRpc2NhcmQgYWxsIGZpbGVzeXN0ZW0gb24gZGV2aWNlcyB0aGF0IHN1cHBvcnRzCisgICAgVFJJTSBvcGVyYXRpb24uCisKK2hleGR1bXAoMSk6CisgIC0gdGhlIG9yaWdpbmFsIHZlcnkgb2xkIEJTRCBoYXMgYmVlbiByZWZhY3RvcmVkCisgIC0gdGhlIG91dHB1dCBmb3JtYXQgdW5pdHMgc3VwcG9ydCBjb2xvcnMgbm93LCB0aGUgY29sb3JpemVkIHJlZ2lvbnMgY291bGQgYmUKKyAgICBzcGVjaWZpZWQgYnkgdmFsdWUgb3Igb2Zmc2V0LgorCitsaWJtb3VudDoKKyAgLSB0aGUgbGlicmFyeSBhbGxvd3MgdG8gdXNlIC1zIChzbG9wcHkpIG1vdW50IGNvbW1hbmQgbGluZSBvcHRpb24gZm9yIGFsbCBleHRlcm5hbAorICAgIG1vdW50IGhlbHBlcnMuIFRoZSBvcHRpb24gd2FzIG9yaWdpbmFsbHkgTkZTIHNwZWNpZmljLgorCitsb2dnZXIoMSk6CisgIC0gc3VwcG9ydHMgbmV3IG9wdGlvbiAtLWpvdXJuYWxkIHRvIHNlbmQgc3RydWN0dXJlZCBtZXNzYWdlcyB0byBzeXN0ZW1kIGpvdXJuYWwKKworbHNibGsoOCk6CisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gLS1zb3J0IDxjb2x1bW4+IHRvIHNvcnQgb3V0cHV0CisKK2tpbGwoMSkgYW5kIHNldHRlcm0oMSk6CisgIC0gdGhlIGNvbW1hbmRzIGhhdmUgYmVlbiByZWZhY3RvcmVkIHRvIGJlIG1vcmUgcm9idXN0CisgCisKK1RoZSBidWlsZCBzeXN0ZW0gaGFzIGJlZW4gaW1wcm92ZWQgdG8gc3VwcG9ydCB0byBidWlsZCBvbmx5IGV4cGxpY2l0bHkgc3BlY2lmaWVkCit1dGlscyBvciBsaWJzIChlLmcuIC0tZGlzYWJsZS1hbGwtcHJvZ3JhbXMgLS1lbmFibGUtbGliYmxraWQgdG8gYnVpbGQgb25seSAKK2xpYmJsa2lkKS4KKworVGhlIHByb2plY3QgdGVzdCBzdWl0ZSBoYXMgYmVlbiBpbXByb3ZlZCB0byBiZSBtb3JlIHBvcnRhYmxlIGFuZCByb2J1c3QsIHByb2plY3QKK3VzZXMgdHJhdmlzLWNpIHNlcnZpY2Ugbm93LgorCisKK1N0YWJsZSBtYWludGVuYW5jZSByZWxlYXNlcyBiZXR3ZWVuIHYyLjI0IGFuZCB2Mi4yNQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3V0aWwtbGludXggMi4yNC4xIFtKYW4gMjAgMjAxNF0KKworICogZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjQvdjIuMjQuMS1SZWxlYXNlTm90ZXMKKyAgIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjI0L3YyLjI0LjEtQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4yNC4yIFtBcHIgMjQgMjAxNF0KKworICogZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjQvdjIuMjQuMi1SZWxlYXNlTm90ZXMKKyAgIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjI0L3YyLjI0LjItQ2hhbmdlTG9nCisKKworQ2hhbmdlcyBiZXR3ZWVuIHYyLjI0IGFuZCB2Mi4yNQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgRm9yIG1vcmUgZGV0YWlscyBzZWUgQ2hhbmdlTG9nIGZpbGVzIGF0OgorIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjI1LworCisKK2FkZHBhcnQ6CisgICAtIG1pbm9yIG1hbiBwYWdlIGltcHJvdmVtZW50cyAgW09uZHJlaiBPcHJhbGFdCithZ2V0dHk6CisgICAtIEZpeCBpbXBsZW1lbnRhdGlvbiBvZiBvcHRpb24gLS1ub25ld2xpbmUuIFRoZSBmbGFnIEZfTk9OTCB3YXMgbmV2ZXIgc2V0LiAgW0JlbmphbWluIFJvYmluXQorICAgLSBVcGRhdGUgaGVscCB1c2FnZSBmdW5jdGlvbiAgW0JlbmphbWluIFJvYmluXQorICAgLSBhdm9pZCB0aGF0IGFnZXR0eSBub3Igc3Vsb2dpbiBhcmUgZm9vbGVkIGJ5IGEgcnVubmluZyBwbHltb3V0aCAgW1dlcm5lciBGaW5rXQorICAgLSBiZXNpZGUgdmlydHVhbCBjb25zb2xlcyBzdXBwb3J0IHh2YyBhbmQgaHZjIGRldmljZSBsaW5lcyBhcyB3ZWxsICBbV2VybmVyIEZpbmtdCisgICAtIGJldHRlciBzdXBwb3J0IG9mIHRoZSBzcGVjaWFsIHN5c3RlbSBjb25zb2xlcyBvbiBTMzkwICBbV2VybmVyIEZpbmtdCisgICAtIGZpeCBvZGQgY2hlY2sgZm9yIGNoYXJkZXYvdHR5ICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IHRoZSBzcGVjaWFsIHRlcm1pbmFsIG9uIGZpcnN0IHNlcmlhbCBsaW5lIG9uIGEgUy8zOTAgIFtXZXJuZXIgRmlua10KKyAgIC0gdXBkYXRlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgdGhlICJiZXN0IiBpbnRlcmZhY2UgZm9yIFw0IGFuZCBcNiAgW0thcmVsIFpha10KK2Jhc2gtY29tcGxldGlvbjoKKyAgIC0gdXBkYXRlIGNmZGlzayAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGZhbGxvY2F0ZSwgZnN0cmltIGFuZCBsc2JsayAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGZkaXNrICBbS2FyZWwgWmFrXQorYmxrZGlzY2FyZDoKKyAgIC0gQkxLU1NaR0VUIGZpbGxzIGluIGFuIGludCwgbm90IGEgdWludDY0ICBbVGhlb2RvcmUgVHMnb10KK2Jsa2lkOgorICAgLSBjb252ZXJ0IHN1cGVyYmxvY2tzIHRvIG5ldyBjYWxsaW5nIGNvbnZlbnRpb24gIFtIYW5uZXMgUmVpbmVja2VdCisgICAtIGVzY2FwZSBxdW90ZXMgaW4gdGhlIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVudXNlZCB2YXJpYWJsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBzaW1wbGUgdHlwbyAgW1BoaWxsaXAgU3VzaV0KKyAgIC0gc3RvcCBzY2FubmluZyBvbiBJL08gZXJyb3IgIFtIYW5uZXMgUmVpbmVja2VdCitibG9ja2RldjoKKyAgIC0gU29tZSBtaW5vciBjb3JyZWN0aW9ucyB0byB0aGUgbWFudWFsICBbQmphcm5pIEluZ2kgR2lzbGFzb25dCisgICAtIGRvbid0IHVzZSBIRElPX0dFVEdFTyAgW1BoaWxsaXAgU3VzaV0KK2J1aWwtc3lzOgorICAgLSBkaXNhYmxlIGluIFVMX0JVSUxEX0lOSVQoKSBvbiAtLWRpc2FibGUtYWxsLXByb2dyYW1zICBbS2FyZWwgWmFrXQorYnVpbGQ6CisgICAtIGZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzICBbUnVlZGlnZXIgTWVpZXJdCitidWlsZC1zeXM6CisgICAtIGFkZCAtLWRpc2FibGUtYWxsLXByb2dyYW1zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1kaXNhYmxlLW1pbml4ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1lbmFibGUtcHlsaWJtb3VudCAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0td2l0aC1zbWFjayB0byBjb25maWctZ2VuLmQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBCVUlMRF8gdmFycyBmb3IgYWxsIExpbnV4LW9ubHkgdXRpbHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBCVUlMRF9DSFJUICBbS2FyZWwgWmFrXQorICAgLSBhZGQgQlVJTERfR0VUT1BUICBbS2FyZWwgWmFrXQorICAgLSBhZGQgQlVJTERfe0JMS0lELEZJTkRGUyxXSVBFRlMsRklORE1OVH0gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBCVUlMRF97Q09MLENPTENSVCxDT0xSTSxDT0xVTU4sSEVYRFVNUCxSRVYsVEFJTEZ9ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgQlVJTERfe1NDUklQVCxTQ1JJUFRSRVBMQVl9ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgQlVJTERfe1NGRElTSyxCTE9DS0RFVixNS1NXQVAsSU9TSVpFLE1LRlN9ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgQlVJTERfe1VVSURHRU4sQ0FMLExPR0dFUixMT09QLE1DT09LSUUsTkFNRUksV0hFUkVJU30gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBVTF9ERUZBVUxUX0VOQUJMRSgpIGFuZCAkdWxfZGVmYXVsdF9lc3RhdGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBVTF9FWENMVURFX0FSQ0goKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGRpc2FibGUtYWxsLmNvbmYgdG8gY29uZmlnLWdlbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxpYnNtYXJ0Y29scyB0byBrby1yZWxlYXNlLWdlbiBzY3JpcHQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtaXNzaW5nIGRlcGVuZGVuY2llcyB0byBsaWJzbWFydGNvbHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub24tbGlic21hcnRjb2xzLmNvbmYgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzeXMtdXRpbHMvdW5hbWUyNi44IHRvIGdpdGlnbm9yZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBiYXNoLWNvbXBsZXRpb24vICBbS2FyZWwgWmFrXQorICAgLSBjb25zb2xpZGF0ZSBzeXN0ZW1kIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGNvbXBpbGUgZGVwcmVjYXRlZCBsYXN0KDEpIG9uIC0tZW5hYmxlLWFsbC1wcm9ncmFtcyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgY29ubmVjdCBfREVQRU5ERU5DSUVTIGFuZCBfTElCQUREICBbS2FyZWwgWmFrXQorICAgLSBlbmFibGUgY2hmbiBhbmQgY2hzaCBieSBkZWZhdWx0ICBbS2FyZWwgWmFrXQorICAgLSBlbmFibGUgcGFyYWxsZWwgdGVzdHMgZm9yIG1ha2UgY2hlY2sgIFtLYXJlbCBaYWtdCisgICAtIGV4Y2x1ZGUgRG9jdW1lbnRhdGlvbi8gZnJvbSBsb29raW5nIGZvciB0cmFuc2xhdGFibGUgc3RyaW5ncyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggLmguaW4gdXNhZ2UgaW4gbGliYmxraWQgYW5kIGxpYm1vdW50ICBbS2FyZWwgWmFrXQorICAgLSBmaXggRU5BQkxFX0FMTCAgW0thcmVsIFpha10KKyAgIC0gZml4IFVMX0JVSUxEX0lOSVQoKSAgW0thcmVsIFpha10KKyAgIC0gZml4IGF1dG9wb2ludCBnZXR0ZXh0IHZlcnNpb24gZnVuICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBmc3RyaW0gc3lzdGVtZCBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gZml4IHNtYXJ0Y29scy5wYyAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8sIGxvb2sgdnMgbG9vcCAoMWIxNWNiZDEpICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCB0eXBvLCBzZXQgSEFWRV9MSUJVVUlEICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbywgc3BhcmMgdnMgc3BhcmsgKDYyYjJjMDI0KSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggdXBkYXRlLXBvdGZpbGVzIHNjcmlwdCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggd2l0aF9weXRob24gdXNhZ2UsIGltcHJvdmUgbG9naWMgIFtLYXJlbCBaYWtdCisgICAtIGZpeGVzIGZvciBub24tTGludXggc3lzdGVtcyAgW1NhbXVlbCBUaGliYXVsdF0KKyAgIC0gZnN0cmltIGRlcGVuZHMgb24gbGlibW91bnQgIFtLYXJlbCBaYWtdCisgICAtIGhhcm1vbml6ZSBzb21lIGluZGVudGF0aW9uICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGltcHJvdmUgdGhlIGluZm9ybWF0aXZlIG1lc3NhZ2Ugd2hlbiBub3QgYnVpbGRpbmcgc29tZSB1dGlsICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGxpYm1vdW50L3B5dGhvbi9fX2luaXRfXy5weSBpcyBhbHdheXMgYSBkaXN0IGZpbGUgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbW92ZSBsaWJzbWFydGNvbHMuc28gdG8gL2xpYiBpZiB0aGV5IGV4aXN0cyAgW0thcmVsIFpha10KKyAgIC0gb3ZlIGZkaXNrcyB0byBkaXNrLXV0aWxzICBbS2FyZWwgWmFrXQorICAgLSByZWxlYXNlKysgKHYyLjI1LXJjMSkgIFtLYXJlbCBaYWtdCisgICAtIHJlbGVhc2UrKyAodjIuMjUtcmMyKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGRlcHJlY2F0ZWQtbW91bnQvICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgb2Jzb2xldGUgd2hvbGVkaXNrLmMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSB2b2lkIGNhc3RzICBbU2FtaSBLZXJvbGFdCisgICAtIHJlc3RvcmUgbWFrZSBkaXN0Y2hlY2sncyBjb25maWd1cmUgZmxhZ3MgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gc21hbGwgZml4ZXMgdG8gbGlic21hcnRjb2xzICBbS2FyZWwgWmFrXQorICAgLSBzb3J0IGdpdGlnbm9yZSBmaWxlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBzdXBwb3J0IC4vY29uZmlndXJlIEFESlRJTUVfUEFUSD0gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBhdXRvbWFrZSdzIFBZVEhPTiBwcmltYXJ5IGZvciBfX2luaXRfXy5weSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB1c2UgZ2V0dGV4dCAwLjE4LjMgaWYgcG9zc2libGUgIFtSdWVkaWdlciBNZWllcl0KK2J1aWxkX3N5czoKKyAgIC0gZml4IGRlZmF1bHQgZXN0YXRlIHVzYWdlICBbS2FyZWwgWmFrXQorY2FsOgorICAgLSBhZGQgaW5wdXQgdmFyaWFibGUgbmFtZXMgdG8gZnVuY3Rpb24gcHJvdG90eXBlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgbW9udGggY29udGVudHMgc3RydWN0dXJlICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZGVkIC13fC0td2VlayBmb3Igc2hvd2luZyB3ZWVrIG51bWJlcnMgIFtUb21taSBLeW50b2xhXQorICAgLSBhZGRlZCBhcmd1bWVudCBvcHRpb24gZm9yIC13fC0td2VlayB0byBkaXNwbGF5IHRoYXQgd2VlayAgW1RvbW1pIEt5bnRvbGFdCisgICAtIGFkZGVkIHR3byBtaXNzaW5nIHRlc3RzICBbVG9tbWkgS3ludG9sYV0KKyAgIC0gYWxsIG91dHB1dCBtdXN0IHVzZSBteV9wdXRzdHJpbmcgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZGV0ZXJtaW5lIGhvdyBtYW55IGhlYWRlciBsaW5lcyBhcmUgbmVlZGVkIGF0IGluaXRpYWxpemF0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGRldGVybWluZSBvdXRwdXQgd2lkdGggYXQgYmVnaW5uaW5nIG9mIHJ1biBhbmQgcmV1c2UgcmVzdWx0ICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBjb2Rpbmcgc3R5bGUgIFtLYXJlbCBaYWtdCisgICAtIGluIG1hbiBwYWdlIGFkbWl0IHRoYXQgYW55IHdlZWsgaGFzIGp1c3Qgb25lIFN1bmRheSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbiBtYW4gcGFnZSBpbXByb3ZlIGdyYW1tYXIgYW5kIHdvcmRpbmcgb2YgdGhlIHJlZm9ybWF0aW9uIGxpbWl0YXRpb24gIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gbGltaXQgeWVhciB0byAzMiBiaXQgdmFsdWUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFrZSBkYXlfaW5fd2VlaygpIHVzZSBzYW1lIHZhcmlhYmxlIG5hbWVzIGFzIG90aGVyIGZ1bmN0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIHVzZXIgcmVxdWVzdCB0byBiZSBwYXJ0IG9mIHJlYWQtb25seSBjb250cm9sIHN0cnVjdCAgW1NhbWkgS2Vyb2xhXQorICAgLSBtZW50aW9uIHdoZXJlIEdyZWdvcmlhbiByZWZvcm1hdGlvbiBoYXBwZW4gaW4gU2VwdGVtYmVyIDE3NTIgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIG9wdGlvbmFsIGZyb20gc2hvcnQgYXJnIC13ICBbVG9tbWkgS3ludG9sYV0KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IHN0YXRpYyB2YXJpYWJsZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHVudXNlZCBzdHJ1Y3R1cmUgYW5kIGRlZmluaXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVuYW1lIGFzY2lpX3dudW0oKSB0byBhc2NpaV93ZWVrbnVtKCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc2ltcGxpZnkgYXNjaWlfd2Vla251bSgpIGZ1bmN0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBjb250cm9sIHN0cnVjdHVyZSBmb3IgcnVuIHRpbWUgY29uZmlndXJhdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgbW9udGggY29udGVudHMgc3RydWN0dXJlIGZvciAtLXRocmVlIHByaW50aW5nICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBtb250aCBjb250ZW50cyBzdHJ1Y3R1cmUgZm9yIC0teWVhciBwcmludGluZyAgW1NhbWkgS2Vyb2xhXQorICAgLSB2YXJpb3VzIHRlc3RzIGZvciB3ZWVrIG51bWJlcnMgIFtUb21taSBLeW50b2xhXQorY2ZkaXNrOgorICAgLSBhY2NlcHQgJ3MnIGFzIHdlbGwgYXMgJ1MnIGZvciBzZWN0b3JzICBbS2FyZWwgWmFrXQorICAgLSBhY3R1YWxseSB0cmFuc2xhdGUgdGhlIHBhcnRpdGlvbiB0eXBlcyBpbiB0aGUgbWVudSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBhZGQgLS16ZXJvIGNvbW1hbmQgbGluZSBvcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBVSSBmb3IgbGluZmRpc2sgbWVudXMsIGFzayBmb3Igc2l6ZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIFtTb3J0XSBvcGVyYXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBicmFjZXMgdG8gZW5zdXJlIG9wZXJhdGlvbiBvcmRlciAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgY3JlYXRlIGxlYmVsIFVJICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaGVscCBzY3JlZW4gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtZW51IGFjdGlvbiBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBwYWdlIGRvd24vdXAgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBwYXJ0dHlwZSBkaWFsb2cgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB1c2FnZSgpIGFuZCBzb21lIGJhc2ljIG1haW4oKSBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gYmFzaWMgVUkgc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIHNjb2xzIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwLCByZW5hbWUgbWVudWl0ZW0gc3RydWN0ICBbS2FyZWwgWmFrXQorICAgLSBjb2Rpbmcgc3R5bGUsIGNvbW1lbnRzLCBldGMuICBbS2FyZWwgWmFrXQorICAgLSBjb25zb2xpZGF0ZSBtZW51IGRlc2NyaXB0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gY29uc29saWRhdGUgbWVudSBtb3ZlIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IG9mZmVyIEJTRCAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbG9ycyBpbml0aWFsaXphdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGUtdGltZSBlcnJvciBmaXhlcyAjNTkgIFtXb2xmZ2FuZyBSaWNodGVyXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorICAgLSBmaXggZGl2aXNpb24gYnkgemVybyBbY2xhbmctYW5hbHl6ZV0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBoZWFkZXIgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBwb3NzaWJsZSBtZW1vcnkgbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzbGFuZyB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8gKHVuZGVjbGFyZWQgdmFyaWFibGUgc2luY2UgYjFmNTgzMzApICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCB3YXJuaW5nIHVzYWdlLCBpbXByb3ZlICdzJyBoZWxwICBbS2FyZWwgWmFrXQorICAgLSBmb2xsb3cgZGVmYXVsdCBlbmQgaWYgcG9zc2libGUgIFtLYXJlbCBaYWtdCisgICAtIGZvbGxvdyB0ZXJtaW5hbC1jb2xvcnMuZCAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBhZGQgcGFydHR5cGUgVUkgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgaW5mbyBsaW5lIGFuZCBtZW51IHVwZGF0ZXMgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgaW5mbyBsaW5lLCBhZGQgRGVsZXRlIGFjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSB0cmVlIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSB3cml0ZSBkaWFsb2cgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgY29kZSBtb3JlIHJlYWRhYmxlIGZvciBhbmFseXplcnMgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIG1lbnVzIHNlbnNpdGl2ZSB0byBFU0MgIFtLYXJlbCBaYWtdCisgICAtIG1lbnUgYWN0aW9ucyByZWZhY3RvcmluZyAgW0thcmVsIFpha10KKyAgIC0gbWlub3IgbWFuIHBhZ2UgaW1wcm92ZW1lbnRzICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gcmVmcmVzaCBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gcmVvcmRlciBhYnN0cmFjdCBQVCBhY2NvcmRpbmcgdG8gb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSByZXNpemUgVUkgb24gU0lHV0lOQ0ggIFtLYXJlbCBaYWtdCisgICAtIHJlc3RvcmUgdGhlIGxpY2Vuc2UgdGhhdCB3YXMgbG9zdCBpbiBKYW51YXJ5ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHN1cHBvcnQgPHNpemU+UywgYW5kIGxvbmcgaGludCBtZXNzYWdlcyAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCBwYXJ0aXRpb25zIGxpc3QgbG9uZ2VyIHRoYW4gc2NyZWVuIExJTkVTICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0cyBhbHNvIHZlcnRpY2FsIG1lbnVzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgbWFuIHBhZ2UgQ09MT1JTIHNlY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBtZW51IGFjY29yZGluZyB0byB0aGUgY3VycmVudCBwYXJ0aXRpb24gIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSB0YWJsZSBpbmRleCB3aGVuIG91dCBvZiByYW5nZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIC9kZXYvc2RhIGJ5IGRlZmF1bHQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBcbiBmb3IgbWVzc2FnZXMgb24gc3Rkb3V0IGFuZCBzdGRlcnIgIFtLYXJlbCBaYWtdCisgICAtIHVzZSByZWFsIHBhcnRubyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHRyZWUtbW9kZSBmb3IgZXh0ZW5kZWQsIGNvbG9yaXplIGZyZWVzYXBjZSAgW0thcmVsIFpha10KK2NoY3B1OgorICAgLSBjbGVhbnVwIHJldHVybiBjb2RlcyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBzdGRvdXQvc3RkZXJyIHVzYWdlICBbS2FyZWwgWmFrXQorY2hmbjoKKyAgIC0gSW1wcm92ZSB0aGUgdHlwZXNldHRpbmcgb2YgdGhlIG1hbnVhbCAgW0JqYXJuaSBJbmdpIEdpc2xhc29uXQorY2hzaDoKKyAgIC0gSW1wcm92ZSB0aGUgdHlwZXNldHRpbmcgb2YgdGhlIG1hbnVhbCAgW0JqYXJuaSBJbmdpIEdpc2xhc29uXQorY2hzaCwgY2hmbjoKKyAgIC0gYWRkIGluZm8gYWJvdXQgbm9uLWxvY2FsIHN1cHBvcnQgdG8gdGhlIG1hbiBwYWdlcyAgW0thcmVsIFpha10KK2NvbHVtbjoKKyAgIC0gZml4IG1lbSBsZWFrIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gaW5mb3JtIHVzZXIgd2hlbiBtdWx0aWJ5dGUgY29udmVyc2lvbiBlcnJvciBvY2N1cnMgIFtTYW1pIEtlcm9sYV0KK2N5dHVuZToKKyAgIC0gcmVtb3ZlIGZyb20gdXRpbC1saW51eCAgW1NhbWkgS2Vyb2xhXQorZGVscGFydDoKKyAgIC0gbWlub3IgbWFuIHBhZ2UgaW1wcm92ZW1lbnRzICBbT25kcmVqIE9wcmFsYV0KK2RtZXNnOgorICAgLSAtdyBvdXRwdXQgbm90IGxpbmUtYnVmZmVyZWQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtaXNzaW5nIGluY2x1ZGUgIFtLYXJlbCBaYWtdCisgICAtIGF2b2lkIHVubmVjZXNzYXJ5IHZhcmlhYmxlIGFzc2lnbm1lbnQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZG9uJ3QgcmVwb3J0IEVQSVBFICBbS2FyZWwgWmFrXQorICAgLSBmaXggLS1yYXcgemVybyB0aW1lc3RhbXAgZm9yIGttc2cgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgZ2V0X2Jvb3RfdGltZSgpIHRvIGxpYi90aW1ldXRpbHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc3VwcG9ydCBjb2xvcnMgY3VzdG9taXphdGlvbiAgW0thcmVsIFpha10KK2RvY3M6CisgICAtIGFkZCBhIG5ldyBjb21tYW5kIGJvaWxlcnBsYXRlIGNvZGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGZkaXNrIG1hYyBzdXBwb3J0IHRvIFRPRE8gZmlsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxzbG9naW5zKDEpIHRvIFRPRE8gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub3RlIGFib3V0IGxzYmxrICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCBtYWtlIGRpc3RjaGVjayAgW0thcmVsIFpha10KKyAgIC0gYWRkIHBhdGNoaW5nIHByb2Nlc3MgdG8gaG93dG8tY29udHJpYnV0ZS50eHQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHBpZCBhbGlzIHRvIGRlcHJlY2F0ZWQudHh0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdjIuMjUtUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorICAgLSBicmluZyBhIGZldyBtb3JlIG1hbiBwYWdlcyBjbG9zZXIgdG8gc3RhbmRhcmQgZm9ybWF0dGluZyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBicmluZyBlaWdodCBtb3JlIG1hbiBwYWdlcyBjbG9zZXIgdG8gc3RhbmRhcmQgZm9ybWF0dGluZyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBicmluZyBmaXZlIG1vcmUgbWFuIHBhZ2VzIGNsb3NlciB0byBzdGFuZGFyZCBmb3JtYXR0aW5nICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGJyaW5nIGZvdXIgbW9yZSBtYW4gcGFnZXMgY2xvc2VyIHRvIHN0YW5kYXJkIGZvcm1hdHRpbmcgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gYnJpbmcgb25lIG1vcmUgbWFuIHBhZ2UgY2xvc2VyIHRvIHN0YW5kYXJkIGZvcm1hdHRpbmcgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gYnJpbmcgc2V2ZXJhbCBtYW4gcGFnZXMgY2xvc2VyIHRvIHN0YW5kYXJkIGZvcm1hdHRpbmcgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gYnJpbmcgc29tZSBtb3JlIG1hbiBwYWdlcyBjbG9zZXIgdG8gc3RhbmRhcmQgZm9ybWF0dGluZyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggImJlaGF2aW91ciIgdnMuICJiZWhhdmlvciIgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtYW55IHdvcmRpbmcgYW5kIHNvbWUgZm9ybWF0dGluZyBpc3N1ZXMgaW4gdGhlIG1hbiBwYWdlIG9mIGtpbGwgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IG1pbm9yIHRoaW5ncyBpbiBtYW4tcGFnZSBob3d0byAgW0thcmVsIFpha10KKyAgIC0gZml4IG5hbWUgYW5kIFVSTCBvZiAyLjI1LXJjMSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggdHdvIGNvbW1hbmQgcmVwcmVzZW50YXRpb25zIGluIHRoZSBtYW4gcGFnZSBvZiBtb3JlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGdyYW1tYXJpemUgdGhlIHVzYWdlIGhvd3RvICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGltcHJvdmUgZm9ybWF0dGluZyBhbmQgd29yZGluZyBvZiBhIGZldyBtYW4gcGFnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gaW1wcm92ZSB0aGUgZm9ybWF0dGluZyBhbmQgd29yZGluZyBvZiB0d28gbWFuIHBhZ2VzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGltcHJvdmUgdGhlIHdvcmRpbmcgYW5kIGNvbnZlbnRpb25zIGluIHRoZSBtYW4tcGFnZSBob3d0byAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbXByb3ZlIHdvcmRpbmcgYW5kIGZvcm1hdHRpbmcgb2YgdGhlIG1hbiBwYWdlIG9mIGNmZGlzayAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBtYWtlIGhleGR1bXAuMSBjb2xvciBzcGVjaWZpY2F0aW9uIGVhc2llciB0byB1bmRlcnN0YW5kICBbU2FtaSBLZXJvbGFdCisgICAtIG1hbnkgdGlueSBmb3JtYXR0aW5nIGFuZCB3b3JkaW5nIGltcHJvdmVtZW50cyB0byBtYW4gcGFnZSBvZiBtb3VudCAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBtb3VudCAtbyBub3VzZXIgaXMgbm90IHVzZWZ1bCwgYmUgY2xlYXJlciBhYm91dCB0aGF0ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHJlZnJlc2ggVE9ETyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIG9ic29sZXRlIGNmZGlzay50eHQgIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSBsaWJzIHhtbC92ZXJzaW9uLnhtbCB0byB4bWwvdmVyc2lvbi11dGlscy54bWwgIFtLYXJlbCBaYWtdCisgICAtIHNldHRlcm0uMSBhZGQgbWlzc2luZyBvcHRpb25zIHRvIG1hbnVhbCBwYWdlIGFuZCByZW1vdmUgZHVwbGljYXRlICBbU2FtaSBLZXJvbGFdCisgICAtIHNldHRlcm0uMSBhZGQgb3B0aW9ucyBjb21wYXRpYmlsaXR5IG5vdGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc2V0dGVybS4xIGNsZWFuIHVwIG1hbnVhbCBwYWdlIGdyb2ZmIHN0eWxlICBbU2FtaSBLZXJvbGFdCisgICAtIHVwZGF0ZSBBVVRIT1JTIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBUT0RPICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgVE9ETywgd2lwZSBjaGVjayBmb3IgZmRpc2sgYWxyZWFkeSBpbXBsZW1lbnRlZCAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGhvd3RvIHJlZ2FyZHMgdG8gYnVpbGQtc3lzdGVtIGNoYW5nZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBsaW5rcyB0byBodHRwIC8vZ2l0Lmtlcm5lbC5vcmcvIHdlYiByZXBvc2l0b3J5IHZpZXdzICBbU2FtaSBLZXJvbGFdCisgICAtIHVwZGF0ZSB2Mi4yNS1SZWxlYXNlTm90ZXMgIFtLYXJlbCBaYWtdCitmYWxsb2NhdGU6CisgICAtIEFkZCAiLS1kaWctaG9sZXMiIG9wdGlvbiAgW1JvZHJpZ28gQ2FtcG9zXQorICAgLSBDbGFyaWZ5IHRoYXQgc3BhY2UgY2FuIGFsc28gYmUgZGVhbGxvY2F0ZWQgIFtSb2RyaWdvIENhbXBvc10KKyAgIC0gSGlkZSAjaWZkZWYgdHJpY2tzIHRvIGNhbGwgZmFsbG9jYXRlIGluIGEgZnVuY3Rpb24gIFtSb2RyaWdvIENhbXBvc10KKyAgIC0gYWRkIC0tdmVyYm9zZSwgY2xlYW4gdXAgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIEZBTExPQ19GTF9aRVJPX1JBTkdFIHN1cHBvcnQgIFtMdWthcyBDemVybmVyXQorICAgLSBhdm9pZCB1bm5lY2Vzc2FyeSBjb21wdXRhdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGFyaWZ5IHVzYWdlKCkgIFtQw6FkcmFpZyBCcmFkeV0KKyAgIC0gY29kZSBvcHRpbWFsaXphdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBGQUxMT0NfRkxfWkVST19SQU5HRSBmbGFnIGNoZWNrICBbS2FyZWwgWmFrXQorICAgLSBmaXggY2hlY2sgb2YgbnVtYmVyIG9mIGFyZ3VtZW50cyAgW0Jlcm5oYXJkIFZvZWxrZXJdCisgICAtIGZpeCBtYW4gcGFnZSBzeW5vcHNpcyAgW0thcmVsIFpha10KKyAgIC0gZml4IG1pc3Npbmcgc2VudGluZWwgZm9yIGlzX251bCgpICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIC0tZGlnLWhvbGVzICBbS2FyZWwgWmFrXQorICAgLSBpbnRyb2R1Y2UgYW4gb3B0aW9uIC1jIHRvIHN1cHBvcnQgQ09MTEFQU0VfUkFOR0UgIFtEb25nc3UgUGFya10KKyAgIC0gbWFrZSBtYW4gcGFnZSByZWFkYWJsZSBmb3IgaHVtYW5zICBbS2FyZWwgWmFrXQorICAgLSBwcmVmZXIgRkFMTE9DX0ZMXyogZmxhZ3MgZnJvbSBsaWJjIGhlYWRlcnMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBPX0NSRUFUIG9ubHkgZm9yIHRoZSBkZWZhdWx0IGJlaGF2aW9yICBbS2FyZWwgWmFrXQorICAgLSB1c2UgUE9TSVhfRkFEVl9ET05UTkVFRCB0byBkaXNjYXJkIGNhY2hlZCBkYXRhICBbS2FyZWwgWmFrXQorICAgLSB1c2UgU0VFS19EQVRBIG9uIGFscmVhZHkgc3BhcnNlIGZpbGVzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZXJyX2V4Y2x1c2l2ZV9vcHRpb25zKCksIGNsZWFudXAgZ2V0b3B0X2xvbmcoKSBzdHVmZiAgW0thcmVsIFpha10KK2ZkZm9ybWF0OgorICAgLSBTb21lIG1pbm9yIGNoYW5nZSB0byB0aGUgbWFudWFsICBbQmphcm5pIEluZ2kgR2lzbGFzb25dCisgICAtIG1hdGNoIHZhcmlhYmxlIGFuZCBwcmludCBmb3JtYXQgdHlwZXMgIFtTYW1pIEtlcm9sYV0KK2ZkaXNrOgorICAgLSAoZ3B0KSBhZGQgQSxCLFIsUyBleHBlcnQgY29tbWFuZHMgdG8gbW9kaWZ5IGF0dHJpYnV0ZXMgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIG1vcmUgaHVtYW4gcmVhZGFibGUgaW5mbyBhYm91dCBmcmVlIHNwYWNlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgJ00nIHRvIGFjY2VzcyBHUFQgbmVzdGVkIHByb3RlY3RpdmUvaHlicmlkIE1CUiAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxvbmcgb3B0aW9ucywgY2xlYW51cCBtYW4gcGFnZSBhbmQgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vdGUgYWJvdXQgY29sb3JzIHRvIHRoZSBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gYXZvaWQgY29kZSBkdXBsaWNhdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBkb24ndCBjYXJlIGFib3V0IHBhcnRpdGlvbiB0eXBlICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB1c2UgLS1nZW9tLSogcHJlZml4IGZvciBDSFMgb3B0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gZml4ICdwJ3JpbnQgZXJyb3Igb24gZW1wdHkgUFQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBuYXN0eSBjb2Rpbmcgc3R5bGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBwcmludGYgc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB1c2FnZSgpLCAtbCBbPGRpc2s+XSAgW0thcmVsIFpha10KKyAgIC0gbWVyZ2UgZmRpc2stYXNrLmMgdG8gZmRpc2suYyAgW0thcmVsIFpha10KKyAgIC0gcHJpbnQgdGFibGUgaGVhZGVyIGFzIGJvbGQgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBjb2RlICBbS2FyZWwgWmFrXQorICAgLSByZW9yZGVyIGludHJvIHdhcm5pbmdzICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IGNvbG9ycyBjdXN0b21pemF0aW9uICBbS2FyZWwgWmFrXQorICAgLSB1c2UgQVNLVFlQRV9NRU5VICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc3lzZnNfZGV2bm9faXNfd2hvbGVkaXNrKCkgIFtLYXJlbCBaYWtdCitmaW5kZnM6CisgICAtIGFkZCBhYmlsaXR5IHRvIHdvcmsgd2l0aCBQQVJUe1VVSUQsTEFCRUx9PSB0b28gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzeW1ib2xpYyBleGl0IHZhbHVlcywgYW5kIHRlbGwgYWJvdXQgdGhlbSBpbiBtYW51YWwgIFtTYW1pIEtlcm9sYV0KK2ZpbmRtbnQ6CisgICAtIGFkZCAtLWJ5dGVzIHRvIHByaW50IHNpemVzIGluIGJ5dGVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1ub2Nhbm9uaWNhbGl6ZSB0byBhdm9pZCByZWFscGF0aCgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLVUgdG8gZGUtZGVwbGljYXRlIGZpbGVzeXN0ZW1zICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGZsYWdzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtZW1vcnkgbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIG1pbmltYWxseSBpbXByb3ZlIHdvcmRpbmcgb2YgdXNhZ2UgdGV4dCAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBtb3JlIHJvYnVzdCB1c2FnZSBvZiBjb2x1bW5zW10gIFtLYXJlbCBaYWtdCisgICAtIHNpbXBsaWZ5IGNhY2hlX3NldF90YXJnZXRzKCkgIFtLYXJlbCBaYWtdCisgICAtIHNsaWdodGx5IGltcHJvdmUgd29yZGluZyBhbmQgZm9ybWF0dGluZyBpbiBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB1c2UgbGlic21hcnRjb2xzICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gdXNlIG1udF9jYWNoZV9zZXRfdGFyZ2V0cygpIGZvciBub24ta2VybmVsIHRhYmxlICBbRXJpYyBSYW5uYXVkXQorZmxvY2s6CisgICAtIENoYW5nZSB0aGUgJ2V4aXQgc3RhdHVzJyBtYW4gcGFnZSBzZWN0aW9uIHRvIG1ha2UgbW9yZSBzZW5zZSAgW1dpZWxhbmQgSG9mZm1hbm5dCisgICAtIGRvY3VtZW50IGV4aXQgc3RhdHVzIG9mIGZsb2NrIGluIG1hbiBwYWdlICBbUGhpbGxpcCBTdXNpXQorICAgLSB1c2UgbmZzNCBmYWxsYmFjayBvbiBFQkFERiB0b28gIFtLYXJlbCBaYWtdCitmc2NrOgorICAgLSBTb21lIHR5cG9ncmFwaGljYWwgY29ycmVjdGlvbnMgdG8gdGhlIG1hbnVhbCAgW0JqYXJuaSBJbmdpIEdpc2xhc29uXQorICAgLSBhZGQgZXh0NCB0byBsaXN0IG9mIGZpbGVzeXN0ZW1zIHdpdGggcHJvZ3Jlc3MgYmFycyBpbiBmc2NrIG1hbiBwYWdlICBbUGhpbGxpcCBTdXNpXQorICAgLSBkb24ndCByZXR1cm4gZXJyb3IgaWYgZnNjay48dHlwZT4gZG9lcyBub3QgZXhpc3QgIFtLYXJlbCBaYWtdCisgICAtIHVuaW5pdGlhbGl6ZWQgYXJndW1lbnQgdmFsdWUgW2NsYW5nLWFuYWx5emVdICBbS2FyZWwgWmFrXQorICAgLSB1c2UgcHJpdmF0ZSBsb2NrIGZpbGUgcmF0aGVyIHRoYW4gd2hvbGUtZGlzayBkaXJlY3RseSAgW0thcmVsIFpha10KK2ZzY2suY3JhbWZzOgorICAgLSBhZGQgb3B0aW9uIC0tYmxvY2tzaXplICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGFsbG93IHNtYWxsZXIgc3VwZXJibG9jayBzaXplcyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBjbGVhbnVwIHVzYWdlKCkgYW5kIHdhcm5pbmcgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIGlmZGVmIHVudXNlZCBvdXRidWZmZXIgYW5kIHBhZ2Vfc2l6ZSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSByZWZhY3RvciBvcHRpb24gLXgvLS1leHRyYWN0ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHJlbW92ZSBkZWZpbmUgSU5DTFVERV9GU19URVNUUyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSByZW5hbWUgdmFyaWFibGUgcGFnZV9zaXplIHRvIGJsa3NpemUgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gdXBkYXRlIG1hbiBwYWdlICgtLWV4dHJhY3QgYW5kIC0tYmxvY2tzaXplKSAgW1J1ZWRpZ2VyIE1laWVyXQorZnNjay5taW5peDoKKyAgIC0gQSBmZXcgdHlwb2dyYXBoaWNhbCBjb3JyZWN0aW9ucyB0byB0aGUgbWFudWFsICBbQmphcm5pIEluZ2kgR2lzbGFzb25dCitmc3RyaW06CisgICAtIGFkZCAtLWFsbCB0byBkaXNjYXJkIGFsbCBmaWxlc3lzdGVtICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaGludCB0byBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN5c3RlbWQgdW5pdHMgIFtUaG9tYXMgQsOkY2hsZXJdCisgICAtIGF2b2lkIFRPQ1RPVSByYWNlICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFudXAgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gZGFpbHkgLT4gd2Vla2x5IGluIHN5c3RlbWQgdGltZXIgIFtLYXJlbCBaYWtdCisgICAtIGRlLWR1cGxpY2F0ZSBsaXN0IG9mIGZpbGVzeXN0ZW1zICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtb3J5IGxlYWsgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorZ2V0b3B0OgorICAgLSBnZXRvcHQuMSBUaGUgdXN1YWwgZG9jIGRpciBpcyAvdXNyL3NoYXJlL2RvYywgbm90IC4uLi9kb2NzICBbVmlsbGUgU2t5dHTDpF0KK2hleGR1bXA6CisgICAtIENyZWF0ZSBzdHJ1Y3QgaGV4ZHVtcCBjb250YWluaW5nIHByZXZpb3VzbHkgZ2xvYmFsIHZhcmlhYmxlcy4gIFtPbmRyZWogT3ByYWxhXQorICAgLSBNZXJnZSBoZXhzeW50YXguYyBpbnRvIGhleGR1bXAuYyAgW09uZHJlaiBPcHJhbGFdCisgICAtIFJlbmFtZSBzdHJ1Y3QgX3ByIHRvIHN0cnVjdCBoZXhkdW1wX3ByIGFuZCByZW1vdmUgaXQncyB0eXBlZGVmICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gYWRkIC0tY29sb3IgdG8gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgX19hdHRyaWJ1dGVfXyAoKF9fbm9yZXR1cm5fXykpIHRvIGJhZCooKSBmdW5jdGlvbnMgIFtPbmRyZWogT3ByYWxhXQorICAgLSBhZGQgYmFzaWMgdGVzdHMgIFtPbmRyZWogT3ByYWxhXQorICAgLSBhZGQgaGlnaGxpZ2h0aW5nIHN1cHBvcnQgIFtPbmRyZWogT3ByYWxhXQorICAgLSBhZGQgdGhlIHByZWZpeCAnaGV4ZHVtcC0nIHRvIHtjb252LGRpc3BsYXkscGFyc2V9LmMgIFtPbmRyZWogT3ByYWxhXQorICAgLSBjYXRjaCBtZW1vcnkgbGVha3MgIFtPbmRyZWogT3ByYWxhXQorICAgLSBjbGVhbnVwIG9mIHJlZHVuZGFudCBzeW1ib2xzL3JlcGVhdGluZyBsaXRlcmFscyAgW09uZHJlaiBPcHJhbGFdCisgICAtIGNvbG9yIHVuaXQgbWF5IG5vdyBiZSBsb25nZXIgdGhhbiB0aGUgY29ycmVzcG9uZGluZyBmb3JtYXQgdW5pdCAgW09uZHJlaiBPcHJhbGFdCisgICAtIGNvbnZlcnQgYSB2YXJpYWJsZSB0eXBlIGFjY29yZGluZyB3aXRoIGZtdCAgW0FuZHJldyBWYWdpbl0KKyAgIC0gZGVsZXRlIHJlZHVuZGFudCB0eXBlY2FzdHMgIFtPbmRyZWogT3ByYWxhXQorICAgLSBkb24ndCBhY2Nlc3MgaGV4IGFmdGVyIGZyZWVpbmcgaXQgIFtBbmRyZXcgVmFnaW5dCisgICAtIGZvcm1hdHRpbmcgYW5kIHZhcmlhYmxlIG5hbWUgY2xlYW51cCAgW09uZHJlaiBPcHJhbGFdCisgICAtIGdldCByaWQgb2YgcmVkdW5kYW50IHR5cGVjYXN0cyAgW09uZHJlaiBPcHJhbGFdCisgICAtIG1ha2UgYWRkZmlsZSgpIHZhcmlhYmxlIG5hbWVzIG1vcmUgaGludGluZyBvZiB0aGVpciBwdXJwb3NlICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gbWlub3IgZm9ybWF0dGluZyBpbXByb3ZlbWVudHMgIFtPbmRyZWogT3ByYWxhXQorICAgLSBtaW5vciBmb3JtYXR0aW5nIGltcHJvdmVtZW50cyBpbiBkaXNwbGF5KCkgIFtPbmRyZWogT3ByYWxhXQorICAgLSByZW5hbWUgYWRkIHRvIGFkZF9mbXQgIFtPbmRyZWogT3ByYWxhXQorICAgLSByZW5hbWUgaW4oKSB0byBmaXJzdF9sZXR0ZXIoKSAgW09uZHJlaiBPcHJhbGFdCisgICAtIHJlbmFtZSBuZXh0e2ZzLGZ1LHByfSB0byB7ZnMsZnUscHJ9bGlzdCAgW09uZHJlaiBPcHJhbGFdCisgICAtIHJlbmFtZSByZXdyaXRlIHRvIHJld3JpdGVfcnVsZXMgIFtPbmRyZWogT3ByYWxhXQorICAgLSByZW5hbWUgc3RydWN0IF9mcyB0byBzdHJ1Y3QgaGV4ZHVtcF9mcyBhbmQgcmVtb3ZlIGl0cyB0eXBlZGVmICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gcmVuYW1lIHN0cnVjdCBfZnUgdG8gc3RydWN0IGhleGR1bXBfZnUgYW5kIHJlbW92ZSBpdHMgdHlwZWRlZiAgW09uZHJlaiBPcHJhbGFdCisgICAtIHJld3JpdGUgYWRkKCkgIFtPbmRyZWogT3ByYWxhXQorICAgLSByZXdyaXRlIGFkZGZpbGUoKSAgW09uZHJlaiBPcHJhbGFdCisgICAtIHJld3JpdGUgYWRkZmlsZSgpIHRvIHVzZSBnZXRsaW5lKCkgIFtPbmRyZWogT3ByYWxhXQorICAgLSByZXdyaXRlIGNsdXR0ZXJlZCBjYXNlIHN0YXRlbWVudHMgIFtPbmRyZWogT3ByYWxhXQorICAgLSByZXdyaXRlIGVzY2FwZSgpICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gcmV3cml0ZSBnZXQoKSAgW09uZHJlaiBPcHJhbGFdCisgICAtIHJld3JpdGUgbmV4dCgpICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gcmV3cml0ZSByZXdyaXRlKCkgIFtPbmRyZWogT3ByYWxhXQorICAgLSByZXdyaXRlKCkgZm9ybWF0dGluZyBpbXByb3ZlbWVudHMgIFtPbmRyZWogT3ByYWxhXQorICAgLSBzaW1wbGlmeSBuZXdzeW50YXggYXJndW1lbnRzICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gdXNlIEdOVSBjYXNlIHJhbmdlcyB3aGVyZSBwb3NzaWJsZSAgW09uZHJlaiBPcHJhbGFdCisgICAtIHVzZSBsaXN0LmggcXVldWVzIGFuZCByZXdyaXRlIHJlZHVuZGFudCBmb3IgY3ljbGVzICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gdXNlIG5ldyBjb2xvcnMgQVBJICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc2tpcF9zcGFjZSgpIGluIGFkZCgpICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gdXNlIHhhc3ByaW50ZiBpbiBjb252X2MoKSAgW09uZHJlaiBPcHJhbGFdCisgICAtIHVzZSB4Y2FsbG9jKCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSB4c3RybmNweSBpbiBhZGQoKSAgW09uZHJlaiBPcHJhbGFdCitod2Nsb2NrOgorICAgLSBDaGVjayBkcmlmdCB2YWx1ZSBpbiAvZXRjL2FkanRpbWUgIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBQcmV2ZW50IGV4Y2Vzc2l2ZSBkcmlmdCB2YWx1ZXMgIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBmaXggcG9zc2libGUgaGFuZyBhbmQgb3RoZXIgc2V0X2hhcmR3YXJlX2Nsb2NrX2V4YWN0KCkgaXNzdWVzICBbQ2hyaXMgTWFjR3JlZ29yXQorICAgLSBmaXggdHlwbyAgW0thcmVsIFpha10KKyAgIC0gaW50ZXJuYXRpb25hbGl6aW5nIHRoZSBtZXNzYWdlIG9mIHRoZSB1c2VkIGludGVyZmFjZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBzb21ldGltZXMgb25lIGRheSBsYXN0cyAyMyBob3Vycy4gIFtwZXBwZV0KK2luY2x1ZGUvYm9vdHRpbWU6CisgICAtIGFkZCBhIG5ldyBmaWxlICBbS2FyZWwgWmFrXQoraW5jbHVkZS9jOgorICAgLSBkbyBub3QgZ2V0dGV4dGl6ZSBhIHdvcmRsZXNzIHN0cmluZyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSByZW1vdmUgYSBkdXBsaWNhdGUgaW5jbHVkZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQoraW5jbHVkZS9jLmg6CisgICAtIGFkZCBtYWNybyB0byBwcmludCBkZWZpbml0aW9ucyBhcyBzdHJpbmcgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcHJlZmVyIG5hbm9zbGVlcCgpIG92ZXIgdXNsZWVwKCkgIFtLYXJlbCBaYWtdCitpbmNsdWRlL2NhcmVmdWxwdXRjOgorICAgLSBjbGVhbnVwIGFuZCBhZGQgZnB1dHNfe3F1b3RlZCxub25ibGFua30oKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGEgZHVwbGljYXRlIGluY2x1ZGUgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK2luY2x1ZGUvY2xvc2VzdHJlYW06CisgICAtIGRvbid0IHdpcGUgZXJybm8gb24gRVBJUEUgIFtLYXJlbCBaYWtdCitpbmNsdWRlL2RlYnVnOgorICAgLSBhZGQgYW5vdGhlciBkZWJ1ZyBtYWNyb3MgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb2Rpbmcgc3R5bGUgIFtLYXJlbCBaYWtdCitpbmNsdWRlL2xpc3Q6CisgICAtIGFkZCB2b2lkIGRhdGEgdG8gdGhlIHNvcnQgY21wIGZ1bmN0aW9uICBbS2FyZWwgWmFrXQoraW5jbHVkZS9zd2FwaGVhZGVyLmg6CisgICAtIGVuc3VyZSB0eXBlIHNpemVzICBbU2FtaSBLZXJvbGFdCitpbmNsdWRlL3R0OgorICAgLSBhZGQgZnVuY3Rpb24gdG8gY29udmVydCB0YWJsZSB0byBzdHJpbmcgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0dF9pc19lbXB0eSgpICBbS2FyZWwgWmFrXQoraW5jbHVkZS94YWxsb2M6CisgICAtIGFkZCB4dmFzcHJpbnRmKCkgIFtLYXJlbCBaYWtdCitpb25pY2U6CisgICAtIEZpeCBvdXRwdXQgZm9yIGNhc2UgaW9jbGFzcz09MCAgW01pY2hhZWwgQnVua10KKyAgIC0gYWRkIGEgbWlzc2luZyBlcnJvciBtZXNzYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGFkZCB0aGUgd2F5IHRvIHNwZWNpZnkgdGhlIHRhcmdldCBwcm9jZXNzZXMgd2l0aCBwZ2lkIGFuZCB1aWQgIFtNYXNhdGFrZSBZQU1BVE9dCitpcGNzOgorICAgLSBjbGVhbnVwIGp1bXBsYWJlbCBzdGx5ZXMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZG8gbm90IGdldHRleHRpemUgd29yZGxlc3Mgc3RyaW5ncyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggaXBjX21zZ19nZXRfaW5mbyBmYWxsYmFjayBjYXNlICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBpcGNfc2VtX2dldF9pbmZvIGZhbGxiYWNrIGNhc2UgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGlwY19zaG1fZ2V0X2luZm8gZmFsbGJhY2sgY2FzZSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggbWVtbGVhayBpbiBpcGNfKl9nZXRfaW5mbyBmdW5jdGlvbnMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IHNpemVfdCBvdmVyZmxvdyAgW0thcmVsIFpha10KK2lzb3NpemU6CisgICAtIEEgZmV3IHR5cG9ncmFwaGljYWwgY2hhbmdlcyB0byB0aGUgbWFudWFsICBbQmphcm5pIEluZ2kgR2lzbGFzb25dCisgICAtIG1ha2UgLS1kaXZpc29yIHRvIHJlcXVpcmUgYXJndW1lbnQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbW92ZSBmaWxlIG5hbWUgcHJpbnRpbmcgYWZ0ZXIgZXJyb3IgZGV0ZXJtaW5hdGlvbiAgW1NhbWkgS2Vyb2xhXQora2lsbDoKKyAgIC0gYWRkIC0tdmVyYm9zZSBvcHRpb24gdG8gZGlzcGxheSB3aGF0IGlzIGtpbGxlZCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgY29weXJpZ2h0cywgZXRjLiAgW0thcmVsIFpha10KKyAgIC0gYWRkIHBhcnNlX2FyZ3VtZW50cygpIGZ1bmN0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGNvZGluZyBzdHlsZSwgc2ltcGxpZnkgY29kZSAgW0thcmVsIFpha10KKyAgIC0gZGVwcmVjYXQgaW52b2NhdGlvbiBhcyAncGlkJyBjb21tYW5kIG5hbWUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGJ1ZyBpbiAtLWFsbCBzZW1hbnRpYyAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvZGluZyBzdHlsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBmbGlwIGFsbCBjb21wYXJpb25zIHRvIGJlIGluIHNtYWxsZXIgLSBncmVhdGVyIG9yZGVyICBbU2FtaSBLZXJvbGFdCisgICAtIG1ha2Uga2lsbC1ieS1uYW1lIG1vcmUgb2J2aW91cyBpbiBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBvcHRpb25zIC0tcGlkIGFuZCAtLXF1ZXVlIG11dHVhbGx5IGV4Y2x1c2l2ZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIHVzYWdlKCkgbm90IHRvIHJldHVybiAgW1NhbWkgS2Vyb2xhXQorICAgLSBtb3ZlIG1hZ2ljIG51bWJlcnMgaW4gYmVnaW5uaW5nIG9mIHRoZSBmaWxlICBbU2FtaSBLZXJvbGFdCisgICAtIG1vdmUgc2lncXVldWUgaW5wdXRzIHRvIGNvbnRyb2wgc3RydWN0ICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBpbmRpcmVjdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW5hbWUgcHJpbnRzaWcoKSB0byBwcmludF9zaWduYWxfbmFtZSgpICBbS2FyZWwgWmFrXQorICAgLSByZW5hbWUgcHJpbnRzaWduYWxzKCkgdG8gcHJpbnRfYWxsX3NpZ25hbHNwcmludF9hbGxfc2lnbmFscygpICBbS2FyZWwgWmFrXQorICAgLSByZW9yZGVyIGZ1bmN0aW9ucyB0byBtYWtlIGl0IG1vcmUgcmVhZGFibGUgIFtLYXJlbCBaYWtdCisgICAtIHJldHVybiA2NCBvbiBwYXJ0aWFsIHN1Y2Nlc3MgIFtLYXJlbCBaYWtdCisgICAtIHRlbGwgd2hhdCBpcyB3cm9uZyByYXRoZXIgdGhhbiBvdXRwdXQgdXNhZ2UoKSAgW1NhbWkgS2Vyb2xhXQorICAgLSB0aW55IGNoYW5nZSBpbiBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIC0tcXVldWUgb3B0aW9uIGFyZ3VtZW50IGFzIHNpZ3ZhbCBpbnRlZ2VyIHZhbHVlICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBjb250cm9sIHN0cnVjdHVyZSB0byBwYXNzIHVzZXIgaW5wdXQgdG8gZnVuY3Rpb25zICBbU2FtaSBLZXJvbGFdCitsYXN0OgorICAgLSAtLXRpbWUtZm9ybWF0PWZ1bGwgc2hvdWxkIGRvIHRoZSBzYW1lIGxpa2UgLUYgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYXZvaWQgbGVhZGluZyAiLSIgYmVmb3JlICJubyBsb2dvdXQiICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBpc19waGFudG9tKCkgZGV0ZWN0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBpc19waGFudG9tKCkgbG9naWMgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWlub3IgdHlwb3MgaW4gdGhlIG1hbiBwYWdlICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gZml4IHVuaW5pdGlhbGl6ZWQgbGVuZ3RoICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIG1ha2Ugc2Vzc2lvbiBnb25lIGRldGVybWluYXRpb24gbW9yZSByb2J1c3QgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWlub3IgY2xlYW51cCBpZiBzdGF0ZW1lbnRzICBbUnVlZGlnZXIgTWVpZXJdCitsaWIvYm9vdHRpbWU6CisgICAtIGFkZCBhIG5ldyBmaWxlICBbS2FyZWwgWmFrXQorbGliL2Nhbm9uaWNhbGl6ZToKKyAgIC0gbWFrZSBETSBjYW5vbmljYWxpemF0aW9uIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorbGliL2NvbG9yOgorICAgLSBhZGQgY29sb3JzY2hlbWUgcGFyc2VyICBbS2FyZWwgWmFrXQorbGliL2NvbG9yczoKKyAgIC0gYWRkIGluZm8gdG8gbWFuIHBhZ2VzLCBhZGQgdGVybWluYWwtY29sb3JzLmQuNSAgW0thcmVsIFphaywgT25kcmVqIE9wcmFsYV0KKyAgIC0gYWRkIHN1cHBvcnQgZm9yIEB0ZXJtIGFuZCAvaG9tZS9remFrICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdG8gdGhlIG1hbiBwYWdlIGhpbnQgYWJvdXQgJEhPTUUgc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIGFsbG93IHRvIHRlbXBvcmFyeSBkaXNhYmxlIGNvbG9ycyAgW0thcmVsIFpha10KKyAgIC0gY2FyZSBhYm91dCBjb2xvcnMgb25seSBvbiB0dHkoKSAgW0thcmVsIFpha10KKyAgIC0gY2hhbmdlIGFuIGluY2x1ZGUgdG8gYSBsb2NhbCBvbmUgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gY2hlY2sgZm9yIC9ldGMvdGVybWluYWwtY29sb3JzLmQvW3V0aWxdLmRpc2FibGUgIFtPbmRyZWogT3ByYWxhXQorICAgLSBmaXggY29sb3JzIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBtZW1vcnkgbGVhayAgW1NhbWkgS2Vyb2xhXQorICAgLSBzdXBwb3J0IDxuYW1lPi5lbmFibGUgdG9vICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IHNjaGVtZXMgY3VzdG9taXphdGlvbiAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorbGliL2ZpbGV1dGlsczoKKyAgIC0gYWRkIG1rZGlyX3AoKSBmcm9tIGxpYm1vdW50ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3RyaXBvZmZfbGFzdF9jb21wb25lbnQoKSBmcm9tIGxpYm1vdW50ICBbS2FyZWwgWmFrXQorICAgLSB4YWxsb2Mgc3R1ZmYgaW4gbGlicmFyeS1saWtlIGNvZGUgIFtLYXJlbCBaYWtdCitsaWIvaXNtb3VudGVkOgorICAgLSBtb3JlIHJvYnVzdCBidWZmZXIgdXNhZ2UgW2NsYW5nLWFuYWx5emVdICBbS2FyZWwgWmFrXQorbGliL2xvb3BkZXY6CisgICAtIGNvbXBhcmluZyBhbiBhcnJheSB0byBudWxsIGlzIG5vdCB1c2VmdWwgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorbGliL2xvb3BkZXYuYzoKKyAgIC0gcmVzZXQgZXJybm8gYmVmb3JlIHN0cnRvbCgpIGNhbGwgIFtZdXJpeSBOYXphcm92XQorbGliL21iYWxpZ246CisgICAtIGFkZCBtYnNfc2FmZV93aWR0aCgpIGZyb20gdHQuYyAgW0thcmVsIFpha10KKyAgIC0gcmVwb3J0IGFsc28gc2l6ZSBpbiBieXRlcyAgW0thcmVsIFpha10KK2xpYi9tYnNhbGlnbjoKKyAgIC0gc3BsaXQgbWJzX3NhZmVfZW5jb2RlKCkgIFtLYXJlbCBaYWtdCitsaWIvcGFnZXI6CisgICAtIHVzZSBuYW1lcyB3aGVuIHJlZmVycmluZyB0byBzdGFuZGFyZCBmaWxlIGRlc2NyaXB0b3JzICBbU2FtaSBLZXJvbGFdCitsaWIvcGF0aDoKKyAgIC0gYWRkIHBhdGhfc3RyZHVwKCkgIFtLYXJlbCBaYWtdCitsaWIvcHJvY3V0aWxzOgorICAgLSBjaGVjayBmZ2V0cygpIHJldHVybiB2YWx1ZSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIG5vdGljZSBzZXR1aWQoKSBwcm9jZXNzIG93bmVyc2hpcCBjaGFuZ2VzICBbU2FtaSBLZXJvbGFdCisgICAtIHJlc2V0IGVycm5vIGJlZm9yZSBzdHJ0b2woKSBjYWxsICBbU2FtaSBLZXJvbGFdCitsaWIvc3RydXRpbHM6CisgICAtIGZpeCBwYXJzZV9zaXplKCkgcmV0dXJuIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgZGVjLnBvaW50cyBpbiBwYXJzZV9zaXplKCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBwcm9wZXIgcmV0dXJuIGNvZGVzIGluIHBhcnNlX3NpemUoKSAgW0thcmVsIFpha10KK2xpYi9zeXNmczoKKyAgIC0gYWRkIHN5c2ZzX2Rldm5vX2lzX2x2bV9wcml2YXRlKCkgZnJvbSBsaWJibGtpZCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN5c2ZzX2Rldm5vX2lzX3dob2xlZGlzaygpICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVd1bnVzZWQtdmFyaWFibGVdICBbS2FyZWwgWmFrXQorICAgLSBmaXggc2NhbmYgZm9ybWF0IHN0cmluZyBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgZGlyZW50IGRfdHlwZSB1c2FnZSBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KK2xpYi90ZXJtaW5hbC1jb2xvcnMuZDoKKyAgIC0gbGliL3Rlcm1pbmFsLWNvbG9ycy5kLjUgSW1wcm92ZSB0aGUgdHlwZXNldHRpbmcgb2YgdGhlIG1hbnVhbCAgW0JqYXJuaSBJbmdpIEdpc2xhc29uXQorbGliL3RpbWV1dGlsczoKKyAgIC0gZml4IG1lbW9yeSBsZWFrICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBnZXRfYm9vdF90aW1lIGZyb20gbGliY29tbW9uICBbS2FyZWwgWmFrXQorbGliL3R0OgorICAgLSBhZGQgVFRfRkxfTUFYIHRvIGZpbGwgc2NyZWVuICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcmVkdWNlIHRlcm0gd2lkdGggZnVuY3Rpb25hbGl0eSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRiX2dldF9ubGluZXMoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHR0X2xpbmVfZ2V0X3VzZXJkYXRhKCkgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGhhcmRjb2RlIHN0ZG91dCBhcyBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIGtlZXAgdHJhY2sgYWJvdXQgb3V0cHV0IG9yZGVyICBbS2FyZWwgWmFrXQorbGliL3R0LmM6CisgICAtIEdvb2RieWUhICBbT25kcmVqIE9wcmFsYV0KK2xpYmJsa2lkOgorICAgLSAobmlsZnMyKSBjaGVjayBhbHNvIGJhY2t1cCBzdXBlcmJsb2NrICBbS2FyZWwgWmFrXQorICAgLSAoemZzKSBsZXQncyBrZWVwIGNvbXBpbGVyIGhhcHB5ICBbS2FyZWwgWmFrXQorICAgLSBJZGVudGlmeSBleHROIGZpbGUgc3lzdGVtIHByb3Blcmx5ICBbTHVrYXMgQ3plcm5lcl0KKyAgIC0gYWRkIGJsa2lkX3BhcnRsaXN0X2dldF9wYXJ0aXRpb25fYnlfcGFydG5vKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBleHRyYSBjaGVja3MgdG8gWEZTIHByb2JlciAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBpbnRlcm5hbCByZXR1cm4gY29kZXMgIFtLYXJlbCBaYWtdCisgICAtIGNvbXBhcmluZyBhbiBhcnJheSB0byBudWxsIGlzIG5vdCB1c2VmdWwgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBjb252ZXJ0IEdQVCBhdHRyaWJ1dGVzIHRvIGhvc3QgZW5kaWFubmVzcyAgW0thcmVsIFpha10KKyAgIC0gY29ycmVjdCB0aGUgcmV0dXJuIHZhbHVlcyBpbiBzcXVhc2hmcyBwcm9iZSAgW0RhdmlkIFNoZWFdCisgICAtIGRldGVjdCBhbG9uZSBQTUJSICBbS2FyZWwgWmFrXQorICAgLSBkZXRlY3Qgc3F1YXNoZnMgMyB2cyA0ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXSAgW0thcmVsIFpha10KKyAgIC0gZml4IG1lbW9yeSBsZWFrIGluIGJsa2lkX3BhcnNlX3RhZ19zdHJpbmcoKSAgW0thcmVsIFpha10KKyAgIC0gZml4IHBhcnRpdGlvbnMgcHJvYmluZyAgW0thcmVsIFpha10KKyAgIC0gZml4IHByb2JlX2RkZigpIFtjbGFuZy1hbmFseXplXSAgW0thcmVsIFpha10KKyAgIC0gZml4IHJldHVybiBjb2RlcyBmcm9tIFBBUlRfRU5UUllfKiBwcm9iaW5nICBbS2FyZWwgWmFrXQorICAgLSBmaXggc2dpIFBUIHBhcnNlciB0byByZXBvcnQgc3lzdGVtIHBhcnRpdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzd2FwLWFyZWEgdmVyc2lvbiAgW0thcmVsIFpha10KKyAgIC0gaWdub3JlIHByaXZhdGUgTFZNIGRldmljZXMgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgY29tbWVudCAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBuZXdfcGFydGl0aW9uKCkgbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIG5vIG1vcmUgcHJvYmUgZm9yIGJ0cmZzIGJhY2t1cCBzdXBlcmJsb2NrICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgcHJpdmF0ZSBmdW5jdGlvbiBmcm9tIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBpbmNsdWRlL2RlYnVnLmggIFtPbmRyZWogT3ByYWxhXQorICAgLSB1c2UgbmV3IGRlYnVnIGZ1bmN0aW9ucyAgW0thcmVsIFpha10KK2xpYmJsa2lkL2xpYmJsa2lkLjM6CisgICAtIEltcHJvdmUgdGhlIHR5cHNldHRpbmcgb2YgdGhlIG1hbnVhbCAgW0JqYXJuaSBJbmdpIEdpc2xhc29uXQorbGliY29tbW9uOgorICAgLSBhZGQgY29tbW9uIGRlYnVnZ2luZyByb3V0aW5lcyAgW09uZHJlaiBPcHJhbGFdCisgICAtIGRlZmluZSBtb3JlIGRlYnVnZ2luZyBtYWNyb3MgIFtPbmRyZWogT3ByYWxhXQorICAgLSBkb24ndCBtZW50aW9uIGxpYiB2ZXJzaW9ucyBpbiBkZWJ1ZyBtYWNyb3MgIFtPbmRyZWogT3ByYWxhXQorbGliZmRpc2s6CisgICAtIChic2QpIGZpeCBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIChic2QpIHJlbW92ZSBnZXRfcGFydGl0aW9uX3R5cGUoKSAgW0thcmVsIFpha10KKyAgIC0gKGJzZCkgdXNlIG5ldyBnZXRfcGFydCgpIEFQSSAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgYmUgbW9yZSB2ZXJib3NlIHdoZW4gY2hhbmdlIGJvb3RhYmxlIGZsYWcgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIGNhbGN1bGF0aW9uIG9mIHRvdGFsIHNpemUgYmFzZWQgb24gQ0hTIGluIGNoZWNrIGZ1bmN0aW9uICBbVGhvcnN0ZW4gV2lsbWVyXQorICAgLSAoZG9zKSBjb25zb2xpZGF0ZSBwYXJ0aXRpb24gZW5kLW9mZnNldCBjb2RlICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSBjb3VudCBmaXNydCB1c2FibGUgTEJBIHRvIHRvdGFsIG51bWJlciBvZiB1c2VkIHNlY3RvcnMgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIGZpeCBleHRfaW5kZXggdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIGZpeCBmcmVlIHBhcnQgY291bnRlciAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgZml4IGxvZy5wYXJ0aXRpb24gZGVsZXRlICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSBpbXByb3ZlIGxvZ2ljYWwgcGFydGl0aW9uIHJlb3JkZXIgY29tbWFuZCAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgbWFrZSBFQlIgcGFyc2VyIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSByZW1vdmUgZ2V0X3BhcnRpdGlvbl90eXBlKCkgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIHVzZSBjaGVjaygpIGZvciBkb3MtY29tYXB0aWJsZSBtb2RlIG9ubHkgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIHVzZSBuZXcgbGlzdCgpIGFuZCBnZXRfcGFydCgpIEFQSSAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgd2FybiBvbiB0eXBlIDAgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIGFkZCAvaG9tZSBHVUlEICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBhbGxvdyB0byB3b3JrIHdpdGggaHlicmlkIEdQVCAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgZml4IGxhc3QgTEJBIGNvZGUgZm9yIFNfSVNSRUcgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIGltcGxlbWVudCAnZml4IG9yZGVyJyBjb21tYW5kICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBpbXByb3ZlIGFuZCBjbGVhbnVwIHJlY292ZXJ5IGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIGluaXRpYWxpemUgbGFzdF9sYmEsIGNsZWFudXAgcGEtPntzdGFydCxzaXplfSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgcmVjb3ZlciBmcm9tIGNvcnJ1cHRlZCBwcmltYXJ5L2JhY2t1cCBQVCAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgcmVtb3ZlIGdldF9wYXJ0aXRpb25fdHlwZSgpICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSB1c2UgZW50cnkgYXR0cmlidXRlcyBhcyBiaXRtYXAgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIHVzZSBmZGlza19jb2x1bW4gIFtLYXJlbCBaYWtdCisgICAtIChtYnIpIGZpeCBsb2dpY2FsIGNoYWluIHRlcm1pbmF0aW9uICBbS2FyZWwgWmFrXQorICAgLSAoc2dpKSBjbGVhbnVwLCBhZGQgaW5mb3IgYWJvdXQgd2hvbGUtZGlzayBwYXJ0aXRpb24gIFtLYXJlbCBaYWtdCisgICAtIChzZ2kpIGdlbmVyYXRlIHBhcnRuYW1lIGFjY29yZGluZyB0byBwYXJ0aXRpb24gcG9zaXRpb24gIFtLYXJlbCBaYWtdCisgICAtIChzZ2kpIHJlbW92ZSBnZXRfcGFydGl0aW9uX3R5cGUoKSAgW0thcmVsIFpha10KKyAgIC0gKHNnaSkgdXNlIG5ldyBsaXN0KCkgYW5kIGdldF9wYXJ0KCkgQVBJICBbS2FyZWwgWmFrXQorICAgLSAoc3VuKSBhZGQgaW5mbyBhYm91dCB3aG9sZS1kaXNrIHBhcnRpdGlvbiAgW0thcmVsIFpha10KKyAgIC0gKHN1bikgZml4IGVuZCBzZWN0b3JzIHdpdGggKzEgZXJyb3IgIFtLYXJlbCBaYWtdCisgICAtIChzdW4pIHJlbW92ZSBnZXRfcGFydGl0aW9uX3R5cGUoKSAgW0thcmVsIFpha10KKyAgIC0gKHN1bikgdXNlIG5ldyBsaXN0KCkgYW5kIGdldF9wYXJ0KCkgQVBJICBbS2FyZWwgWmFrXQorICAgLSBhZGQgQVNLVFlQRV9NRU5VIGFuZCBjb250ZXh0IGxhc3RfbGJhICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZHVtcCBmdW5jdGlvbnMsIG1ha2UgZnJlZXNwYWNlIGNvZGUgZ2VuZXJpYyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZkaXNrX3BhcnRpdGlvbl8qX2ZvbGxvd19kZWZhdWx0KCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmZGlza190YWJsZV9nZXRfbmVudHMoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZkaXNrX3RhYmxlX2dldF9wYXJ0aXRpb24oKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGdlbmVyaWMgZnVuY3Rpb24gdG8gY2hlY2sgcGFydGl0aW9ucyBvcmRlciAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5ldyBsaXN0KCkgY29sdW1ucywgY2xlYW51cCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHBhcnRpdGlvbnMgcmVvcmRlciBvcGVyYXRpb24gdG8gbGFiZWwgQVBJICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcmVmZXJlbmNlIGNvdW50aW5nIHRvIGZkaXNrX3BhcnRpdGlvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IHRvIGxpc3QgZnJlZSBzcGFjZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRhYmxlIGNvbnRhaW5lciAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRhYmxlIHNvcnQgZnVuY3Rpb24sIHVzZSBpdCBpbiBnZXRfZnJlZXNwYWNlICBbS2FyZWwgWmFrXQorICAgLSBhZ2FpbiBpbXByb3ZlIGZyZWVzcGFjZSBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBhdm9pZCB0d28gY29tcGlsZXIgd2FybmluZ3MgYWJvdXQgd3JvbmcgcHJpbnQgZm9ybWF0cyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBjbGVhbiB1cCBjeWxpbmRlciBjb2x1bW4gIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIGRlYnVnIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgc2NvbHMgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGRvIG5vdCBkbyB0aGUgc2FtZSB0aGluZyB0d2ljZSBpbiBzaW5nbGUgaWYgc3RhdGVtZW50ICBbU2FtaSBLZXJvbGFdCisgICAtIGRvbid0IGFzayBmb3IgcHJpL2xvZyBpZiB3YW50ZWQgc3RhcnQgd2l0aGluIGV4dGVuZGVkIHBhcnRpdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgY291bnQgc3BlY2lhbCB3aG9sZS1kaXNrIHBhcnRpdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGV4dGVuZCBBUEkgZGVmaW5pdGlvbiB0byBsaXN0IGluZm8gYWJvdXQgcGFydGl0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gZml4ICVqdSAtPiAlenUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBic2RfdHJhbnNsYXRlX2ZzdHlwZSgpIGZvciBhbHBoYSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggZmRpc2tfY29udGV4dF9hc3NpZ25fZGV2aWNlKCkgY29tbWVudCAgW0thcmVsIFpha10KKyAgIC0gZml4IGZyZWVzYXBjZSBkZXRlY3Rpb24gZm9yIG5lc3RlZCBwYXJ0aXRpb25zICBbS2FyZWwgWmFrXQorICAgLSBmaXggbG9naWNhbCBwYXJ0aXRpb24gcmVvcmRlciBjb21tYW5kICBbS2FyZWwgWmFrXQorICAgLSBmaXggcG9zc2libGUgbWVtb3J5IGxlYWsgW2NsYW5nLWFuYWx5emVdICBbS2FyZWwgWmFrXQorICAgLSBmaXggcHJpbnRmIHN0dWZmICBbS2FyZWwgWmFrXQorICAgLSBmb2xsb3cgcmVxdWVzdGVkIHNpemUgcmF0aGVyIHRoYW4gdXNlIGFsbCBhdmFpbGFibGUgc3BhY2UgIFtLYXJlbCBaYWtdCisgICAtIGltcGxlbWVudCBnZW5lcmljIGZ1bmN0aW9ucyBmb3IgRkRJU0tfQ09MXyBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBjb252ZXJzaW9uIHRvIHN0cmluZyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBmcmVlc2FwY2UgZGV0ZWN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBpbml0aWFsaXplIGxhc3RfbGJhICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIGRpc2sgc3luYygpIG9wdGlvbmFsICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIGZpcnN0IHNlY3RvciBidWZmZXIgdXNhZ2UgbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgcXNvcnRfcigpIG9wdGlvbmFsICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHBhcnRpdGlvbiBzdHVmZiB0byBwYXJ0aXRpb24uYyAgW0thcmVsIFpha10KKyAgIC0gcHJvcGVybHkgaW1wbGVtZW50IHJlYWQtb25seSBtb2RlICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZmRpc2tfY29sb24oKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGZkaXNrX2dldF9wYXJ0aXRpb25fdHlwZSgpICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgbGFiZWwgc3BlY2lmaWMgZ2V0X2ZyZWVzcGFjZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHR0IHN0dWZmIGZyb20gQVBJICBbS2FyZWwgWmFrXQorICAgLSByZXdyaXRlIGZyZWVzcGFjZSBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IGV4dGVuZGVkIGF0dHJpYnV0ZXMgbW9kaWZpY2F0aW9uICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IG5lc3RlZCBNQlIgIFtLYXJlbCBaYWtdCisgICAtIHRpbnkgY2xlYW4gdXAgaW4gZmRpc2tfdGFibGVfdG9fc3RyaW5nKCkgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBHUFQgcGFydGl0aW9uIHR5cGVzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZmRpc2tfdGFibGUgdG8gZ2VuZXJhdGUgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSB1c2UgaW5jbHVkZS9kZWJ1Zy5oICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gdXNlIG5ldyBkZWJ1ZyBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBwYXJ0aXRpb24gdGVtcGxhdGUgIFtLYXJlbCBaYWtdCisgICAtIHdhcm4gYWJvdXQgb2Jzb2xldGUgc2lnbmF0dXJlcyBvbiB0aGUgZGV2aWNlICBbS2FyZWwgWmFrXQorbGlibW91bnQ6CisgICAtIEZTIGlkIGFuZCBwYXJlbnQgSUQgY291bGQgYmUgemVybyAgW0thcmVsIFpha10KKyAgIC0gYWNjZXB0IChkZWxldGVkKSBwYXRoIHN1ZmZpeCBpbiBtb3VudGluZm8gZmlsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGVmaXZhcmZzIHRvIHRoZSBsaXN0IG9mIHBzZXVkbyBmaWxlc3lzdGVtcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1pc3NpbmcgYXNzZXJ0KCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtbnRfdGFibGVfdW5pcV9mcygpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X3RhZ19pc192YWxpZCgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3RhdGZzX21hZ2ljLmggIFtLYXJlbCBaYWtdCisgICAtIGFkanVzdCB0aGUgb3JkZXJpbmcgb2YgYSAjZGVmaW5lIGFuZCB0d2VhayBzb21lIGNvbW1lbnRzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGFsbG93IHRvIHVzZSAtcyAoc2xvcHB5KSBmb3IgYWxsIGV4dGVybmFsIGhlbHBlcnMgIFtLYXJlbCBaYWtdCisgICAtIGFsd2F5cyB1c2UgbW50X3Jlc29sdmVfdGFyZ2V0KCkgaW4gbW50X2ZzX21hdGNoX3RhcmdldCgpICBbS2FyZWwgWmFrXQorICAgLSBjZ3JvdXAgbWFnaWMgYWxyZWFkeSBkZWZpbmVkICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGZpeF9vcHRzdHIoKSByZWdhcmRzIHRvIHNlbGludXggYW5kIHNtYWNrICBbS2FyZWwgWmFrXQorICAgLSBkZWZpbmUgQlRSRlNfVEVTVF9NQUdJQyBpZiBtaXNzaW5nICBbQmVybmhhcmQgVm9lbGtlcl0KKyAgIC0gZG9uJ3QgdG91Y2ggbXRhYiB3aGVuIG1vdW50IC1uIHNwZWNpZmllZCAgW0thcmVsIFpha10KKyAgIC0gZml4IHNjYW5mIGZvcm1hdCBzdHJpbmcgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyBpbiBzbWFjayBwYXRoICBbS2FyZWwgWmFrXQorICAgLSBmdXJ0aGVyIGRlYnVnLmggaW50ZWdyYXRpb24gIFtPbmRyZWogT3ByYWxhXQorICAgLSBpbml0aWFsaXplICpyb290IHRvIE5VTEwgaW4gbW50X3RhYmxlX2dldF9yb290X2ZzICBbVGhvbWFzIELDpGNobGVyXQorICAgLSBtYWtlIHRoZSBtb3VudGluZm8gcGFyc2VyIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSBtbnRfcmVzb2x2ZV9wYXRoICBkb24ndCBjYW5vbmljYWxpemUgZnMtPnRhcmdldCBmb3Igc3dhcCAgW0VyaWMgUmFubmF1ZF0KKyAgIC0gbW50X3Jlc29sdmVfcGF0aCAgdXNlIHN0cmNtcCgpIG9ubHkgaWYgYm90aCBhcmUgY2Fub25pY2FsICBbRXJpYyBSYW5uYXVkXQorICAgLSBtbnRfcmVzb2x2ZV90YXJnZXQgIHRpcHRvZSBhcm91bmQgYWN0aXZlIG1vdW50IHBvaW50cyAgW0VyaWMgUmFubmF1ZF0KKyAgIC0gcmVtb3ZlIHNtYWNrZnMqIG9wdGlvbiB3aGVuIFNNQUNLIG5vdCBlbmFibGVkICBbS2FyZWwgWmFrXQorICAgLSBzaWxlbmNlIHNvbWUgZG9jcyB3YXJuaW5ncyAgW09uZHJlaiBPcHJhbGFdCisgICAtIHNwZWNpYWwgdHJlYXRtZW50IGZvciBhdXRvIGluIGZzdHlwZSBwYXR0ZXJuICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgdXRhYiBhZnRlciBzdWNjZXNzZnVsIGV4dGVybiBoZWxwZXIgbW91bnQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBtYWNyb3MgZnJvbSBpbmNsdWRlL2RlYnVnLmggIFtPbmRyZWogT3ByYWxhXQorICAgLSB1c2UgbmV3IGRlYnVnIGZ1bmN0aW9ucyAgW0thcmVsIFpha10KK2xpYnNtYXJ0Y29sczoKKyAgIC0gKGRvY3MpIHJlb3JkZXIgZnVuY3Rpb25zIGluIHZlcnNpb24gc2VjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIFNDT0xTX0ZMX01BWCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJhc2ljIGZpbGVzICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gYWRkIGNlbGxzICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gYWRkIGNvbHVtbnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBkZWJ1ZyBhbmQgdmVyc2lvbiBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBkZWJ1ZyBtZXNzYWdlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZ1bmN0aW9uIHRvIGNvbnZlcnQgdGFibGUgdG8gc3RyaW5nICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaXRlcmF0b3IgIFtPbmRyZWogT3ByYWxhXQorICAgLSBhZGQgbGluZXMgIFtLYXJlbCBaYWssIE9uZHJlaiBPcHJhbGFdCisgICAtIGFkZCBtaXNzaW5nIENPUFlJTkcgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1pc3NpbmcgY29weXJpZ2h0IG5vdGlmaWNhdGlvbnMgIFtPbmRyZWogT3ByYWxhXQorICAgLSBhZGQgbm90ZSBhYm91dCBkZWFsbG9jYXRpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcmVkdWNlIHRlcm0gd2lkdGggZnVuY3Rpb25hbGl0eSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNjb2xzX3NvcnRfdGFibGUoKSAgW0thcmVsIFphaywgU2hha3VyIFNoYW1zIE11bGxpY2tdCisgICAtIGFkZCBzY29sc190YWJsZV9pc19lbXB0eSgpICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gYWRkIHNlcGFyYXRvciBnZXR0ZXJzL3NldHRlcnMgIFtPbmRyZWogT3ByYWxhXQorICAgLSBhZGQgc3ltYm9scyAgW09uZHJlaiBPcHJhbGFdCisgICAtIGFkZCB0YWJsZSBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdGFibGUgc3RydWN0LCBjbGVhbnVwIHJlZmNvdW50aW5nICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdGVzdCAgW09uZHJlaiBPcHJhbGFdCisgICAtIGFsbG93IHRvIHJlYWQgbGluZXMgYXMgdHJlZSAgW0thcmVsIFpha10KKyAgIC0gYWx3YXlzIGRlYWxsb2NhdGUgaW4gc2NvbHNfcmVzZXRfY2VsbCgpICBbS2FyZWwgWmFrXQorICAgLSBhdm9pZCB2YXJpYWJsZSBkZXJlZmVyZW5jZSBhZnRlciByZWxlYXNlICBbU2FtaSBLZXJvbGFdCisgICAtIGNoZWNrIHJlY291bnRfd2lkdGhzKCkgcmV0dXJuIHZhbHVlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBmbGFncyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgZmxhZ3MgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIHRlc3QuYyBleGFtcGxlICBbS2FyZWwgWmFrXQorICAgLSBjb2xvcnMgbWF5IG5vdyBiZSBzcGVjaWZpZWQgYXMgaHVtYW4tcmVhZGFibGUgc3RyaW5ncyAgW09uZHJlaiBPcHJhbGFdCisgICAtIGRvY3VtZW50YXRpb24gIFtPbmRyZWogT3ByYWxhXQorICAgLSBkb24ndCBjb2xvcml6ZSB0cmVlIGFzY2lpIGFydCAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgbWl4IHdpZHRoIChpbiBjZWxscykgYW5kIHNpemUgKGluIGJ5dGVzKSAgW0thcmVsIFpha10KKyAgIC0gZmlsbCB0aGUgc3ltYm9sIHZlcnNpb24gZmlsZSAgW09uZHJlaiBPcHJhbGFdCisgICAtIGZpeCBhIHVzYWdlIGV4YW1wbGUgIFtPbmRyZWogT3ByYWxhXQorICAgLSBmaXggYnVmZmVyIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggZG9jcyAgW0thcmVsIFpha10KKyAgIC0gZml4IHBhZGRpbmcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgbGluZSBhbmQgY2VsbCBzZXBhcmF0b3JzICBbS2FyZWwgWmFrXQorICAgLSBpbmNsdWRlIHN0ZGlvICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gaW5pdCBzeW1ib2xzIHdoZW4gbmVjZXNzYXJ5ICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHNvbWUgY29kZSBhcm91bmQgIFtPbmRyZWogT3ByYWxhXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgY29kZSAgW0thcmVsIFpha10KKyAgIC0gcmVzdXNlIGJ1ZmZlciBmb3IgZW5jb2RlZCBkYXRhICBbS2FyZWwgWmFrXQorICAgLSByZXZlcnQgdGhlIGNvbHVtbiBmbGFncyBBUEkgIFtPbmRyZWogT3ByYWxhXQorICAgLSByZXdyaXRlIHRlc3QgY29kZSB0byB0cmVlKDEpLWxpa2UgdXRpbCAgW0thcmVsIFpha10KKyAgIC0gc2VwYXJhdGUgZmxhZ3MsIGFkZCBnZXR0ZXJzL3NldHRlcnMgIFtPbmRyZWogT3ByYWxhXQorICAgLSBzdXBwb3J0IGFsdGVybmF0aXZlIHN0cmVhbXMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBidWZmZXIgc3RydWN0IGluIHRhYmxlX3ByaW50LmMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBuZXcgY29sb3JzIEFQSSAgW0thcmVsIFpha10KK2xpYnV1aWQ6CisgICAtIChtYW4vdXVpZF90aW1lLjMpIEltcHJvdmUgdGhlIHR5cGVzZXR0aW5nIG9mIHRoZSBtYW51YWwgIFtCamFybmkgSW5naSBHaXNsYXNvbl0KKyAgIC0gKHV1aWQuMykgSW1wcm92ZSB0aGUgdHlwZXNldHRpbmcgb2YgdGhlIG1hbnVhbCAgW0JqYXJuaSBJbmdpIEdpc2xhc29uXQorICAgLSAodXVpZF9jbGVhci4zKSBJbXByb3ZlIHRoZSB0eXBlc2V0dGluZyBvZiB0aGUgbWFudWFsICBbQmphcm5pIEluZ2kgR2lzbGFzb25dCisgICAtICh1dWlkX2NvbXBhcmUuMykgSW1wcm92ZSB0aGUgdHlwZXNldHRpbmcgb2YgdGhlIG1hbnVhbCAgW0JqYXJuaSBJbmdpIEdpc2xhc29uXQorICAgLSAodXVpZF9jb3B5LjMpIEltcHJvdmUgdGhlIHR5cGVzZXR0aW5nIG9mIHRoZSBtYW51YWwgIFtCamFybmkgSW5naSBHaXNsYXNvbl0KKyAgIC0gKHV1aWRfZ2VuZXJhdGUpIEltcHJvdmUgdGhlIHR5cGVzZXR0aW5nIG9mIHRoZSBtYW51YWwgIFtCamFybmkgSW5naSBHaXNsYXNvbl0KKyAgIC0gKHV1aWRfaXNfbnVsbC4zKSBJbXByb3ZlIHRoZSB0eXBlc2V0dGluZyBvZiB0aGUgbWFudWFsICBbQmphcm5pIEluZ2kgR2lzbGFzb25dCisgICAtICh1dWlkX3BhcnNlLjMpIEltcHJvdmUgdGhlIHR5cGVzZXR0aW5nIG9mIHRoZSBtYW51YWwgIFtCamFybmkgSW5naSBHaXNsYXNvbl0KKyAgIC0gKHV1aWRfdW5wYXJzZS4zKSBJbXByb3ZlIHRoZSB0eXBlc2V0dGluZyBvZiB0aGUgbWFudWFsICBbQmphcm5pIEluZ2kgR2lzbGFzb25dCitsaW5mZGlzazoKKyAgIC0gYWxpZ24gZnJlZSBzcGFjZSAgW0thcmVsIFpha10KK2xvZ2dlcjoKKyAgIC0gYWxsb3cgdXNlciB0byBzZW5kIHN0cnVjdHVyZWQgam91cm5hbGQgbWVzc2FnZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2hlY2sgbnVtZXJpYyBwcmlvcml0eSBhbmQgZmFjaWxpdHkgaW5wdXQgdmFsdWVzICBbU2FtaSBLZXJvbGFdCisgICAtIGZhaWwgd2hlbiBpbyB2ZWN0b3IgbnVtYmVyIGV4Y2VlZHMgbWF4aW11bSAgW1NhbWkgS2Vyb2xhXQorbG9naW46CisgICAtIGV4dHJhY3QgZ2V0X2h1c2hsb2dpbl9zdGF0dXMgIFtPbmRyZWogT3ByYWxhXQorICAgLSBmaXggbWlub3IgdHlwb3MgaW4gdGhlIG1hbiBwYWdlICBbT25kcmVqIE9wcmFsYV0KK2xvc2V0dXA6CisgICAtIGNsZWFuIHVwIGNvbHVtbnNbXSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgc2NvbHMgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGNsZWFyIEZEIGF0IEVCVVNZIGVycm9yIGluIGxvb3BjeHRfc2V0dXBfZGV2aWNlKCkgIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBkb24ndCBpZ25vcmUgRUJVU1kgaW4gbG9zZXR1cCB3aGVuIHRoZSBsb29wIGRldmljZSBpcyBnaXZlbiAgW1N0YW5pc2xhdiBCcmFiZWNdCisgICAtIGZpeCAtZiBvbiBzeXN0ZW1zIHdpdGhvdXQgL2Rldi9sb29wLWNvbnRyb2wgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB3YXJuaW5nIGZvciB1bnN1cHBvcnRlZCAtZSBhbmQgLUUgIFtLYXJlbCBaYWtdCisgICAtIHJldHVybiBFWElUX0ZBSUxVUkUgb24gdW5zdWNjZXNzZnVsIC1mICBbS2FyZWwgWmFrXQorICAgLSB0aW55IGNoYW5nZSB0byB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGlic21hcnRjb2xzICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gd2FpdCBmb3IgdWRldiAgW0thcmVsIFpha10KK2xvc2V0dXAsIGFnZXR0eToKKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGlmJ3MgYmVmb3JlIGZyZWUoKSAgW1NhbWkgS2Vyb2xhXQorbG9zZXR1cCwgbW91bnQ6CisgICAtIHJlbW92ZSAtLXBhc3MtZmQgYXQgYWxsICBbS2FyZWwgWmFrXQorbHNibGs6CisgICAtIGFkZCAtLXNvcnQgPGNvbHVtbj4gIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtTyBvcHRpb24gdG8gc2hvdyBhbGwgYXZhaWxhYmxlIGNvbHVtbnMgIFtNYXNhdGFrZSBZQU1BVE9dCisgICAtIGFkZCBQQVJURkxBR1MgY29sdW1uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgUEFSVFRZUEUgdGFnICBbTWljaGFlbCBNYXJpbmVhdV0KKyAgIC0gY2hlY2sgbnVtYmVyIG9mIHVzZWQgY29sdW1ucyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgZGF0YSBwcmVwYXJhdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIGluZm9zW10gYW5kIGNvbHVtbnNbXSAgW0thcmVsIFpha10KKyAgIC0gZml4IC1EIHNlZ2ZhdWx0ICBbS2FyZWwgWmFrXQorICAgLSBmaXgsIHNldCBkZWZhdWx0IHNvcnRfaWQgPSAtMSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgY29kZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGxpYnNtYXJ0Y29scyAgW09uZHJlaiBPcHJhbGFdCitsc2NwdToKKyAgIC0gYXZvaWQgZG91YmxlIGZyZWUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYXZvaWQgdXNlIG9mIGJ6ZXJvKCkgaW4gZmF2b3Igb2YgbWVtc2V0KCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW4gdXAgc2NvbHMgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAsIHVzZSBfUEFUSF9TWVNfQ1BVL05PREUgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZGV0ZWN0IE9TLzQwMCBhbmQgcEh5cCBoeXBlcnZpc29ycyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBkb24ndCBhYm9ydCBpZiBjYWNoZSBzaXplIGlzIHVua25vd24gIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZG9uJ3QgYXNzdW1lIGZpbGVzeXN0ZW0gc3VwcG9ydHMgZF90eXBlIHdoZW4gc2VhcmNoaW5nIGZvciBOVU1BIG5vZGVzICBbU3Rld2FydCBTbWl0aF0KKyAgIC0gZml4IGlmZGVmIEhBVkVfc3lzX2lvX2ggW2NoZWNrY29uZmlnXSAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSB2bXdhcmUgZGV0ZWN0aW9uICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIG1pbm9yIGNsZWFudXAgYW5kIGltcHJvdmUgaHlwZXJ2aXNvciBkZXRlY3Rpb24gIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcmVhZF9oeXBlcnZpc29yX2RtaSAgb25seSBmYWxsYmFjayB0byBtZW1vcnkgc2NhbiBvbiB4ODYveDg2XzY0ICBbU3Rld2FydCBTbWl0aF0KKyAgIC0gc29ydCBOVU1BIG5vZGVzIHRvIGtlZXAgb3V0cHV0IGh1bWFuIHJlYWRhYmxlICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IGRpc2NvbnRpbnVvdXMgTlVNQSBub2RlcyAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCBub24gc2VxdWVudGlhbGx5IG51bWJlcmluZyBvZiBDUFVzICBbQWxleGFuZGVyIFRyb29zaF0KKyAgIC0gdXNlIGxpYnNtYXJ0Y29scyAgW09uZHJlaiBPcHJhbGFdCitsc2xvY2tzOgorICAgLSBjbGVhbiB1cCBjb2x1bW5zW10gdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsaWJzbWFydGNvbHMgIFtPbmRyZWogT3ByYWxhXQorbHNsb2dpbnM6CisgICAtIE5MUyBmb3IgYWxsIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1ub2hlYWRpbmdzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgRkFJTEVELUxPR0lOIHRvIHByZXR0eSBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmdW5jdGlvbmFsaXR5ICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gYWRkIG9wdGlvbiAtLWlzbyAgW09uZHJlaiBPcHJhbGFdCisgICAtIGFkZCBvcHRpb24gLS10aW1lLWZvcm1hdCAgW09uZHJlaiBPcHJhbGFdCisgICAtIGFkZCByZWFkdHVtcC5oIGhlYWRlciAgW09uZHJlaiBPcHJhbGFdCisgICAtIGFkZCBzdXBwb3J0IGZvciBtdWx0aXBsZSB0aW1lIGZvcm1hdHMgIFtPbmRyZWogT3ByYWxhXQorICAgLSBhbGlnbiB0byByaWdodCAwfDEgY29sdW1ucyAgW0thcmVsIFpha10KKyAgIC0gYWxzbyBhZGQgcmVhZHV0bXAuYyAgW09uZHJlaiBPcHJhbGFdCisgICAtIGNsZWFuIHVwIHBhc3N3b3JkIGhhc2ggY2hlY2sgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgLWEgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGRlZmF1bHQgb3V0cHV0cyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBmaWxsX3RhYmxlKCkgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgc29tZSBjb21tYW5kIGxpbmUgb3B0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBzdGF0dXNbXSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB0aW1lIGZvcm1hdHMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gY29tbWVudC1pbiBhbiBleHBlbnNpdmUgcmVhbGxvYyAgW09uZHJlaiBPcHJhbGFdCisgICAtIGNvbmRpbmcgc3R5bGUgY2hhbmdlcyAgW0thcmVsIFpha10KKyAgIC0gY291bnQgcGVyLXVzZXIgcHJvY2Vzc2VzICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gZml4IG5vbG9naW5zIGNoZWNrICBbS2FyZWwgWmFrXQorICAgLSBmaXggb3B0aW9uIGV4Y2x1c2l2aXR5ICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gZml4IHByZXR0eS1wcmludCBjb2x1bW5zICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIENPTF9QV0RfV0FSTiBhbmQgQ09MX05QUk9DUyBkZXNjICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIG5vbG9naW5zIGFuZCBzaGFkb3cgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgcHJldHR5IG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBzdXBwbGVtZW50YXJ5IGdyb3VwcyBjb2RlLCBhZGQgU1VQUC1HSURTICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIHRoZSBjb2x1bW5zIGluZm9ybWF0aW9uICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGltcHJvdmUgd29yZGluZyBhbmQgZm9ybWF0dGluZyBvZiB0aGUgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gbWFrZSAtLW5vdHJ1bmNhdGUgbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgaXQgd29yayAgW09uZHJlaiBPcHJhbGFdCisgICAtIG1lbnRpb24gLS10aW1lLWZvcm1hdCBpbiB1c2FnZSAgW09uZHJlaiBPcHJhbGFdCisgICAtIG1vcmUgcm9idXN0IHVzYWdlIG9mIGNvbHVtbnNbXSAgW0thcmVsIFpha10KKyAgIC0gbW92ZSB0byBsb2dpbi11dGlscyAgW09uZHJlaiBPcHJhbGFdCisgICAtIHByZXR0eSBwcmludGluZyBhbmQgZXh0ZW5kZWQgLWwsLWcgIFtPbmRyZWogT3ByYWxhXQorICAgLSBwcmludCBzeXN0ZW1kIGpvdXJuYWwgbG9ncyAgW0thcmVsIFphaywgT25kcmVqIE9wcmFsYV0KKyAgIC0gcmVtb3ZlIC0tc29ydC1ieS1uYW1lICBbS2FyZWwgWmFrXQorICAgLSBzdG9yZSB1c2VycyBpbiBhIHRyZWUgIFtPbmRyZWogT3ByYWxhXQorICAgLSBzeW5jIG1hbiBwYWdlIGFuZCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgYml0LWFycmF5LCBjbGVhbnVwIFNFTGludXggY29kZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIHRocmVhZC1zYWZlIGZ1bmN0aW9ucyAgW09uZHJlaiBPcHJhbGFdCitsc2xvZ2lucygxKToKKyAgIC0gc2tlbGV0b24gYW5kIGFyZ3BhcnNpbmcgZm9yIGEgbmV3IHV0aWxpdHkgIFtPbmRyZWogT3ByYWxhXQorbWFuOgorICAgLSBTeW50YXggYW5kIHNwZWxsaW5nIGZpeGVzLiAgW1ZpbGxlIFNreXR0w6RdCittY29va2llOgorICAgLSBhZGQgLS1tYXgtc2l6ZSBvcHRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWxsb3cgLS1maWxlIG9wdGlvbiBiZSBkZWZpbmVkIG11bHRpcGxlIHRpbWVzICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBjb250cm9sIHN0cnVjdHVyZSwgYW5kIGZpeCB1c2FnZSgpICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBsaWIvcmFuZHV0aWxzICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBzYW1lIHZhcmlhYmxlIHR5cGUgY29uc2lzdGVudGx5ICBbU2FtaSBLZXJvbGFdCitta2ZzOgorICAgLSBTb21lIHR5cG9ncmFwaGljYWwgY2hhbmdlcyB0byB0aGUgbWFudWFsICBbQmphcm5pIEluZ2kgR2lzbGFzb25dCisgICAtIG1hcmsgdGhpcyB3cmFwcGVyIGFzIERFUFJFQ0FURUQgIFtLYXJlbCBaYWtdCitta2ZzLmJmczoKKyAgIC0gT25lIHR5cG9ncmFwaGljYWwgY29ycmVjdGlvbiB0byB0aGUgbWFudWFsICBbQmphcm5pIEluZ2kgR2lzbGFzb25dCitta2ZzLmNyYW1mczoKKyAgIC0gU29tZSB0eXBvZ3JhcGhpY2FsIGNvcnJlY3Rpb25zIHRvIHRoZSBtYW51YWwgIFtCamFybmkgSW5naSBHaXNsYXNvbl0KKyAgIC0gZml4IGNyYXNoIHdoZW4gLWIgMCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB1c2UgZGVmaW5lZCBmYWlsdXJlIG5hbWUgcmF0aGVyIHRoYW4gbWFnaWMgdmFsdWUgIFtTYW1pIEtlcm9sYV0KK21rZnMubWluaXg6CisgICAtIFNvbWUgdHlwb2dyYXBoaWNhbCBjaGFuZ2VzIGluIHRoZSBtYW51YWwgIFtCamFybmkgSW5naSBHaXNsYXNvbl0KKyAgIC0gZml4IGZzY2FuZigpIGZvcm1hdCBzdHJpbmcgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorbWtzd2FwOgorICAgLSBTb21lIG1pbm9yIHR5cG9ncmFwaGljYWwgY29ycmVjdGlvbnMgdG8gdGhlIG1hbnVhbCAgW0JqYXJuaSBJbmdpIEdpc2xhc29uXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVd1bnVzZWQtdmFyaWFibGVdICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgY3J1ZnQgZnJvbSB0aGUgbWFuIHBhZ2UgIFtQaGlsbGlwIFN1c2ldCisgICAtIHJlbW92ZSBsZWdhY3kgc3dhcCBzdHJ1Y3R1cmUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IHVzYWdlIG91dHB1dCAgW1NhbWkgS2Vyb2xhXQorbWtzd2FwLCBzd2FwbGFiZWw6CisgICAtIG1vdmUgdmVyc2lvbiBudW1iZXIgdG8gaGVhZGVyICBbU2FtaSBLZXJvbGFdCittb3JlOgorICAgLSBmaXggZG91YmxlIGZyZWUgY3Jhc2ggIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IG1lbSBsZWFrIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBmb3JtYXR0aW5nIGFuZCB3b3JkaW5nIG9mIG1hbiBwYWdlIGFuZCBoZWxwIHRleHQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK21vdW50OgorICAgLSBhZGQgYnRyZnMgdG8gbW91bnQuOCAgW0d1aSBIZWNoZW5nXQorICAgLSBhZGQgbm90ZSBhYm91dCAibm9hdXRvIiB0byAtLWFsbCBkZXNjcmlwdGlvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vdGUgYWJvdXQgb3JkZXIgZm9yIC1hIHRvIHRoZSBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gYXBwbHkgIm5vZmFpbCIgdG8gTU5UX0VSUl9OT1NPVVJDRSBsaWJtb3VudCBlcnJvciAgW0thcmVsIFpha10KKyAgIC0gY29ycmVjdCBtb3VudCBtYW4gcGFnZSBkZWZhdWx0IGlzbzk2NjAgcGVybWlzc2lvbiAgW1BoaWxsaXAgU3VzaV0KKyAgIC0gZml4IC0tYWxsIGFuZCBub2ZhaWwgcmV0dXJuIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtYW4gbW91bnQgcGFnZSB0eXBlICBbUGhpbGxpcCBTdXNpXQorICAgLSBmaXggbWFuIHBhZ2UgW2NoZWNrbWFuc10gIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0aW55IHR5cG8gaW4gbWFuIHBhZ2UgIFtTdGVwaGFuIE3DvGxsZXJdCisgICAtIGltcHJvdmUgLXMgbWFuIG1hZ2UgaW5mbyAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBOQU1FPXZhbHVlIHRhZ3MgdXNhYmxlIGZvciBub24tcm9vdCAgW0thcmVsIFpha10KKyAgIC0gbW9yZSBoaW50cyBhYm91dCBkZWZhdWx0IG1vdW50IG9wdGlvbnMgdG8gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIG1vdW50LjggU29tZSB0eXBvZ3JhcGhpY2FsIGFuZCBwcmVmaXggY29ycmVjdGlvbnMgdG8gdGhlIG1hbnVhbCAgW0JqYXJuaSBJbmdpIEdpc2xhc29uXQorICAgLSBtb3VudC44IGZpeCBncmFtbWFyICBbUGhpbGxpcCBTdXNpXQorICAgLSBub3RlIHRoYXQgLWMgdW51c2VkIGZvciBtb3VudC48dHlwZT4gaW4gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBvYnNvbGV0ZSBhbmQgY29uZnVzaW5nIHN0YXRlbWVudCBmcm9tIG1vdW50LjggIFtQaGlsbGlwIFN1c2ldCisgICAtIHVwZGF0ZSBYRlMgbW91bnQuOCBhbGxvY3NpemU9ICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgaW5mbyBhYm91dCBtdGFiIGluIG1vdW50LjggIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBtYW4gcGFnZSBleHQzLzQgbW91bnQgb3B0aW9ucyAgW0NhcmxvcyBNYWlvbGlub10KKyAgIC0gdXBkYXRlIG1vdW50LjggYWJvdXQgYmFycmllciBtb3VudCBvcHRpb25zIGRlZmF1bHRzICBbUnVlZGlnZXIgTWVpZXJdCituYW1laToKKyAgIC0gYWxpZ24gbWlzc2luZyBmaWxlcyB3aXRoIHJlc3Qgb2YgdGhlIHByaW50IG91dCAgW1NhbWkgS2Vyb2xhXQorbm9sb2dpbjoKKyAgIC0gbWlub3IgbWFuIHBhZ2UgaW1wcm92ZW1lbnRzICBbT25kcmVqIE9wcmFsYV0KK25zZW50ZXI6CisgICAtIGFkZCArIHRvIGdldG9wdF9sb25nKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzZXR7Z2lkLHVpZH0gb3JkZXIsZHJvcCBzdXBwbGVtZW50YXJ5IGdyb3VwcyAgW0thcmVsIFpha10KK3BhcnR4OgorICAgLSBJbXByb3ZlIHRoZSB0eXBlc2V0dGluZyBvZiB0aGUgbWFudWFsICBbQmphcm5pIEluZ2kgR2lzbGFzb25dCisgICAtIGNsZWFudXAgbGlic21hcnRjb2xzIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggLS11cGRhdGUgcmFuZ2VzIGFuZCBvdXQgb2Ygb3JkZXIgdGFibGVzICBbU2NvdHQgTW9zZXJdCisgICAtIG1ha2UgZGlyZW50IGRfdHlwZSB1c2FnZSBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KKyAgIC0gdXNlIGJsa2lkX3BhcnRsaXN0X2dldF9wYXJ0aXRpb25fYnlfcGFydG5vKCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsaWJzbWFydGNvbHMgIFtPbmRyZWogT3ByYWxhXQorcGc6CisgICAtIHBnLjEgQWRkIC1oLCAtLWhlbHAsIC1WLCAtLXZlcnNpb24gIFtKYXJpIEFhbHRvXQorICAgLSBwZy4xIE1vdmUgKHBsdXMpIG9wdGlvbnMgbmVhciAobWludXMpIG9wdGlvbiBhdCB0aGUgYmVnaW5uaW5nICBbSmFyaSBBYWx0b10KK3BvOgorICAgLSBhZGQgJy0tbm8td3JhcCcgdG8gbXNnbWVyZ2UsIHRvIG5vdCB3cmFwIGxvbmcgbWVzc2FnZSBsaW5lcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBtZXJnZSBjaGFuZ2VzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgY3MucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtQZXRyIFDDrXNhxZldCisgICAtIHVwZGF0ZSBkYS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0pvZSBIYW5zZW5dCisgICAtIHVwZGF0ZSBkZS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW01hcmlvIEJsw6R0dGVybWFubl0KKyAgIC0gdXBkYXRlIGVzLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbQW50b25pbyBDZWJhbGxvcyBSb2FdCisgICAtIHVwZGF0ZSBmaS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0xhdXJpIE51cm1pXQorICAgLSB1cGRhdGUgZnIucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtEYXZpZCBQcsOpdm90XQorICAgLSB1cGRhdGUgamEucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtUYWtlc2hpIEhhbWFzYWtpXQorICAgLSB1cGRhdGUgbmwucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXBkYXRlIHBsLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbSmFrdWIgQm9ndXN6XQorICAgLSB1cGRhdGUgcHRfQlIucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtSYWZhZWwgRmVycmVpcmFdCisgICAtIHVwZGF0ZSB1ay5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1l1cmkgQ2hvcm5vaXZhbl0KKyAgIC0gdXBkYXRlIHZpLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbVHLhuqduIE5n4buNYyBRdcOibl0KKyAgIC0gdXBkYXRlIHpoX0NOLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbV3lsbWVyIFdhbmddCitwcmxpbWl0OgorICAgLSBjbGVhbiB1cCBjb2x1bW5zW10gdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIHNjb2xzIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgcmVwZWF0aW5nIHdvcmRzIGZyb20gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsaWJzbWFydGNvbHMgIFtPbmRyZWogT3ByYWxhXQorcHlsaWJtb3VudDoKKyAgIC0gY29ycmVjdGx5IGltcG9ydCBmcm9tIHB5bGlibW91bnQuc28gIFtEYXZlIFJlaXNuZXJdCisgICAtIGltcG9ydCBkaXJlY3RseSBmcm9tIHB5bGlibW91bnQgaW4gdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bm5jZXNzYXJ5IHN1YmRpcmVjdG9yeSAgW0thcmVsIFpha10KK3JhdzoKKyAgIC0gSW1wcm92ZSB0aGUgdHlwZXNldHRpbmcgb2YgdGhlIG1hbnVhbCAgW0JqYXJuaSBJbmdpIEdpc2xhc29uXQorcmVuYW1lOgorICAgLSBmaXggbWVtIGxlYWsgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgcmVmZXJlbmNlIHRvIG1tdiBndG9tIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorcmVuaWNlOgorICAgLSBjb3JyZWN0IG1heCBwcmlvcml0eSBpbiByZW5pY2UgbWFuIHBhZ2UgIFtQaGlsbGlwIFN1c2ldCitydW51c2VyOgorICAgLSBmaXggbWlub3IgdHlwb3MgaW4gdGhlIG1hbiBwYWdlICBbT25kcmVqIE9wcmFsYV0KK3NjcmlwdDoKKyAgIC0gLS1xdWlldCBvcHRpb24gaXMgbm90IHF1aWV0LiAgW0phbWVzIEh1bnRdCisgICAtIEFsc28gZmx1c2ggd3JpdGVzIHRvIHRpbWluZyBmaWxlLiAgW0plc3BlciBEYWhsIE55ZXJ1cF0KKyAgIC0gY2hlY2sgdGhhdCBzdGRpbiBpcyBhIHRlcm1pbmFsICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBjb2RlIHRvIGdlbmVucmF0ZSBTdGFyL0RvbmUgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIGZpbGVzIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBjYWxsIFRJT0NHV0lOU1ogaW4gc2lnbmFsIGhhbmRsZXIgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHdhaXQgZm9yIGVtcHR5IGRlc2NyaXB0b3JzIGlmIGNoaWxkIGlzIGRlYWQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBhIHJhcmUgZGVhZGxvY2sgYWZ0ZXIgY2hpbGQgdGVybWluYXRpb24gIFtDc2FiYSBLb3NdCisgICAtIGZpeCBpbmNvbnNpc3RlbnQgLXEsIHVzZSBwb2xsKCkgcmF0aGVyIHRoZW4gT19OT05CTE9DSyAgW0thcmVsIFpha10KKyAgIC0gZml4IHNwdXJpb3VzIGV4aXQgZnJvbSBpbnB1dCByZWFkIGxvb3Agb24gRUlOVFIuICBbQ3NhYmEgS29zXQorICAgLSByZXN0b3JlIGVycm5vIGluIHNpZ25hbCBoYW5kbGVyICBbS2FyZWwgWmFrXQorICAgLSBzY3JpcHQgaW5wdXQgcmVkaXJlY3Rpb24gLyBlb2YgaGFuZGxpbmcgIFtLYXJlbCBaYWtdCisgICAtIHNpbGVuY2UgdGhlIGRvbmUgbWVzc2FnZSBvbiAtLXF1aWV0IGFzIHdlbGwgIFtBbmRyZWFzIEhlbnJpa3Nzb25dCisgICAtIHRpbWUgZnJvbSBlbmQgb2YgcmVhZCgpIGNhbGwgcGFydGlhbGx5IGZpeGVzICM1OCAgW1dvbGZnYW5nIFJpY2h0ZXJdCisgICAtIHVzZSBhbGwtaW8uaCB0byBtYWtlIHRoZSBjb2RlIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorc2NyaXB0cmVwbGF5OgorICAgLSBBZGQgLS1tYXhkZWxheSBvcHRpb24uICBbSmVzcGVyIERhaGwgTnllcnVwXQorICAgLSBubyBuZWVkIHRvIHNraXAgZmlyc3QgdGltZSB2YWx1ZSBvciBsYXN0IGJ5dGVzIGZpeGVzICM1OCAgW1dvbGZnYW5nIFJpY2h0ZXJdCitzZXRhcmNoOgorICAgLSBGaXggcHBjNjRsZSBhcmNoaXRlY3R1cmVzICBbQW50b24gQmxhbmNoYXJkXQorICAgLSBhZGQgZ2VuZXJpYyBzdXBwb3J0IGZvciBzZXRhcmNoICQodW5hbWUgLW0pIC4uLiAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBhZGQgc2hvcnRjdXQgYmluYXJ5IHVuYW1lMjYgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZmx1c2ggb3V0cHV0IHN0cmVhbXMgYmVmb3JlIGV4ZWMgIFtSdWVkaWdlciBNZWllcl0KK3NldHByaXY6CisgICAtIEZpeCAtLWFwcGFybW9yLXByb2ZpbGUgIFtBbmR5IEx1dG9taXJza2ldCisgICAtIEZpeCAtLXNlbGludXgtbGFiZWwgIFtBbmR5IEx1dG9taXJza2ldCisgICAtIGF2b2lkIGFsbG9jYSgpIHVzZSB4bWFsbG9jKCkgaW5zdGVhZCAgW1NhbWkgS2Vyb2xhXQorICAgLSBzaW1wbGlmeSB1c2FnZSgpICBbS2FyZWwgWmFrXQorc2V0dGVybToKKyAgIC0gYWRkIGluaXRfdGVybWluYWwoKSB0byBtYWtlIG1haW4oKSBzaG9ydGVyICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBvcHRpb24gY29udHJvbCBzdHJ1Y3R1cmUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHNldF9ibGFua2luZygpIGFjdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgdXNhZ2UoKSBkZXNjcmlwdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW4gdXAgaW5jbHVkZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW4gdXAgc2NyZWVuZHVtcCgpICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFudXAgcHJpbnRmKCkgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNvbnZlcnQgcmVtYWluaW5nIG1hZ2ljIHZhbHVlcyB0byBzeW1ib2xpYyByZWZlcmVuY2VzICBbU2FtaSBLZXJvbGFdCisgICAtIGNvbnZlcnQgdmFyaW91cyBjb25zdGFudCBudW1iZXIgZGVmaW5pdGlvbnMgdG8gZW51bXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY29ycmVjdCB1c2FnZSgpIGJyaWdodCBjb2xvciBhcmd1bWVudCAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggJ2JyaWdodCcgaW4gdXNhZ2UsIHJlbW92ZSB1bm5lY2Vzc2FyeSBlcnJvciBtZXNzYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggLWR1bXAgbWFuIHBhZ2UgaW5mbyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBlcnJvciBtZXNzYWdlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbXByb3ZlIGZvcm1hdHRpbmcgYW5kIHdvcmRpbmcgb2YgdXNhZ2UgdGV4dCAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbXByb3ZlIHBlcmZvcm1fc2VxdWVuY2UoKSBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW1wcm92ZSB3b3JkaW5nIGFuZCBmb3JtYXR0aW5nIG9mIHRoZSBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBtYWtlIC1tc2dsZXZlbCAwIHRvIHdvcmsgYXMgaXMgZGlkIGVhcmxpZXIgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFyayBzb21lIG9wdGlvbnMgdG8gYmUgZXhjbHVzaXZlIHdpdGggZWFjaCBvdGhlciAgW1NhbWkgS2Vyb2xhXQorICAgLSBtb3ZlIHNob3dfdGFicygpIGFuZCBzY3JlZW5kdW1wKCkgZnVuY3Rpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIHJlY29tbWVuZCBsb25nIG9wdGlvbnMgd2l0aCBkb3VibGUgaHlwaGVuICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBkZXZmcyBhbmQgL2Rldi92Y3NhMCBzdXBwb3J0ICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSB1bGNvbG9yIGFuZCBoYmNvbG9yIGR1cGxpY2F0ZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IHZhcmlhYmxlICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSB1bnVzZWQgY29kZSAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgdXNhZ2UgY29tbWVudCBzZWdtZW50ICBbU2FtaSBLZXJvbGFdCisgICAtIHRlbGwgdXNlciB3aGVuIG9wdGlvbnMgZG9lcyBub3QgZWZmZWN0ICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBnZXRvcHRfbG9uZ19vbmx5KCkgZm9yIG9wdGlvbiBwYXJzaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBzdHJpbmcgdXRpbHMgdG8gbnVtZXJpYyBwYXJzaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIHZhcmlvdXMgdmlzdWFsIHRlcm1pbmFsIGVmZmVjdHMgYXJlIG5vdCBjb25zb2xlIHNwZWNpZmljICBbU2FtaSBLZXJvbGFdCitzZmRpc2s6CisgICAtIEltcHJvdmUgdGhlIHR5cGVzZXR0aW5nIG9mIHRoZSBtYW51YWwgIFtCamFybmkgSW5naSBHaXNsYXNvbl0KKyAgIC0gbWVyZ2UgcGFydG5hbWUuYyAgW0thcmVsIFpha10KKyAgIC0gc3VwcHJlc3MgTGludXgtaXJyZWxldmFudCB3YXJuaW5ncyB3aXRoIC1MICBbUGV0ciBVemVsXQorICAgLSB1c2Ugc3lzZnNfZGV2bm9faXNfd2hvbGVkaXNrKCkgIFtLYXJlbCBaYWtdCitzdHJ1dGlsczoKKyAgIC0gYWRkIHNraXBfc3BhY2UoKSBmdW5jdGlvbiAgW09uZHJlaiBPcHJhbGFdCitzdToKKyAgIC0gZG9uJ3QgdXNlIGtpbGwoMCwgLi4uKSB3aGVuIHByb3BhZ2F0ZSBzaWduYWwgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtaW5vciB0eXBvcyBpbiB0aGUgbWFuIHBhZ2UgIFtPbmRyZWogT3ByYWxhXQorc3Vsb2dpbjoKKyAgIC0gY2hlY2sgcmVzdWx0IG9mIHRoZSBvcGVuKCkgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB1c2UgdW5pbml0aWFsaXplZCBzdHJ1Y3Qgc2lnYWN0aW9uIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZmluZCBhIHN1aXRhYmxlIGNvbnNvbGUgZGV2aWNlICBbV2VybmVyIEZpbmtdCisgICAtIG1pbm9yIG1hbiBwYWdlIGltcHJvdmVtZW50cyAgW09uZHJlaiBPcHJhbGFdCisgICAtIHVzZSBkaXJlbnQtPmRfdHlwZSB3aGVuIHNjYW5zIC9kZXYgIFtLYXJlbCBaYWtdCitzd2FwbGFiZWw6CisgICAtIEltcHJvdmUgdGhlIHR5cGVzZXR0aW5nIG9mIHRoZSBtYW51YWwgIFtCamFybmkgSW5naSBHaXNsYXNvbl0KKyAgIC0gd3JvbmcgdmVyc2lvbiBudW1iZXIgaW4gY2hlY2sgIFtTYW1pIEtlcm9sYV0KK3N3YXBvbjoKKyAgIC0gYWxpZ24gLS1zdW1tYXJ5IGZpZWxkcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbiB1cCBjb2x1bW5zW10gdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIHNjb2xzIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBtYXJrIC0tc3VtYXJyeSBhcyBkZXByZWNhdGVkICBbS2FyZWwgWmFrXQorICAgLSBzd2FwcyB3aXRoIGxlZ2FjeSB2ZXJzaW9uIGxhYmVsIGFyZSBub3Qgc3VwcG9ydGVkICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBsaWJzbWFydGNvbHMgIFtPbmRyZWogT3ByYWxhXQorc3dhcG9uLCBzd2FwaGVhZGVyLCBta3N3YXA6CisgICAtIG1vdmUgc3dhcCBzaWduYXR1cmUgdG8gaGVhZGVyICBbU2FtaSBLZXJvbGFdCitzd2l0Y2hfcm9vdDoKKyAgIC0gbWFrZSBkaXJlbnQgZF90eXBlIHVzYWdlIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSB2ZXJpZnkgaW5pdHJhbWZzIGJ5IGZfdHlwZSwgbm90IGRldm5vICBbRGF2ZSBSZWlzbmVyXQordGFza3NldDoKKyAgIC0gZml4IFBFUk1JU1NJT05TIHNlY3Rpb24gb2YgdGFza3NldCBtYW4gcGFnZSAgW1JpayB2YW4gUmllbF0KK3Rlcm0tdXRpbHM6CisgICAtIGF2b2lkIGVycm9yIG1lc3NhZ2Ugc3RyaW5nIGxlbmd0aCBjb3V0aW5nIGVycm9ycyAgW1NhbWkgS2Vyb2xhXQordGVzdHM6CisgICAtIGFkZCAuQkUgaGV4ZHVtcCB0ZXN0IHJlc3VsdHMgKGZyb20gczM5MCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBURVJNPSB0byBhbGwgY2FsKDEpIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYmFzaWMgdGVzdCBjYXNlIGZvciBpcGNzIC1tIC1pIG4gIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYWRkIGJhc2ljIHRlc3QgY2FzZSBmb3IgaXBjcyAtcSAtaSBuICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGFkZCBiYXNpYyB0ZXN0IGNhc2UgZm9yIGlwY3MgLXMgLWkgbiAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBhZGQgZXhpdCBjYXNlICJLTk9XTiBGQUlMRUQiICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGFkZCBmZGlzayAnZicgY29tbWFuZCBNQlIgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZ1bmN0aW9uIHRzX2NoZWNrX2xvc2V0dXAgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYWRkIGZ1bmN0aW9uIHRzX2NoZWNrX3Byb2cgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYWRkIGlzb3NpemUgLS1zZWN0b3JzIGFuZCAtLWRpdmlzb3IgdGVzdHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGtpbGwgLS1xdWV1ZSBjaGVjayAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQga2lsbF9mdW5jdGlvbnMuc2ggdG8gYXZvaWQgZHVwbGljYXRlIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsc2NwdSBJQk0gcFNlcmllcyB0ZXN0IGRhdGEgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYWRkIGxzY3B1IGR1bXAgZm9yIHBwYyBjcHUgd2l0aCBubyBjYWNoZSBzaXplICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGFkZCBwYXJ0eCAtLXVwZGF0ZSB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc2lnbmFsIHJlY2VpdmVyIHByb2dyYW0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHNwYXJjNjQgbHNjcHUgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRlc3QgY2FzZSBmb3IgbGFzdCAtdGltZS1mb3JtYXQ9ZnVsbCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBhZGQgdXRtcGR1bXAtY2lyY2xlIHRlc3QgKGFyY2ggaW5kZXBlbmRlbnQpICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGFkZCB2Ym94IGxzY3B1IGR1bXAgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYWxpZ24gbGFzdC4xIHdpdGggcmVjZW50IHBoYW50b20gZGV0ZWN0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGFsbG93IHRlc3Qgb3B0aW9ucyB0byBiZSBvdmVycmlkZGVuIGJ5IGVudiAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBhbGxvdyB0byBhZGQgb3Igb3ZlcnJpZGUgdGVzdCBzdWl0ZSBvcHRpb25zICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGF2b2lkIGV4ZWN1dGluZyBkaXJuYW1lKDEpIGNvbW1hbmQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2FsICBkbyBub3QgbGV0IC0td2Vlaz08bnVtPiB0byBhZGp1c3QgcmVxdWVzdGVkIG1vbnRoICBbU2FtaSBLZXJvbGFdCisgICAtIGNhbCAgdGFrZSBhY2NvdW50IHdlZWsgbnVtYmVycyB3aGVuIGRldGVybWluZyBtb250aCBsZW5ndGggIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2FsKDEpIGlzIHllYXIgaXMgbGltaXRlZCB0byBzaWduZWQgMzIgYml0IHZhbHVlICBbU2FtaSBLZXJvbGFdCisgICAtIGNhbGwgdHNfaW5pdF9lbnYgYXMgZWFybHkgYXMgcG9zc2libGUgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gY2hlY2sgL3Byb2MgYXZhaWxhYmlsaXR5LCBhbmQgZ28tYXJvdW5kIGlmIGl0IGlzIGluY29tcGxldGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2hlY2sgY29tbWFuZHMgbmVlZGVkIGZvciBydW5uaW5nIGEgdGVzdCBleGlzdCAgW1NhbWkgS2Vyb2xhXQorICAgLSBjaGVjayBmb3IgbWtmcy5leHR7MiwzLDR9ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGNoZWNrIGtpbGwgYWxsIHVzZXIgcHJvY2Vzc2VzICBbU2FtaSBLZXJvbGFdCisgICAtIGNoZWNrIGtpbGwgaXMgY29udmVydGluZyBzaWduYWxzIG5hbWVzIGNvcnJlY3RseSAgW1NhbWkgS2Vyb2xhXQorICAgLSBjaGVjayBraWxsIHByaW50IHBpZCBvcHRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2hlY2sgc3dhcGxhYmVsLCBhbmQgcGVyZm9ybSBtb3JlIHN3YXBvbiBib3VuZGFyeSB0ZXN0cyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjaGVjayB2YXJpb3VzIHdheXMgdG8gc3BlY2lmeSBraWxsIHNpZ25hbCAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbnVwIGZhbGxvY2F0ZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB0c19zY3NpX2RlYnVnX2luaXQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gY2xlYW51cCwgcmVtb3ZlIHVudXNlZCBsc2NwdSBvdXRwdXQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gY29uc29saWRhdGUgc29tZSBjaGVja3MgZm9yIGNvbW1hbmRzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZkaXNrIGFkZGVkIGEgcGFydGl0aW9ucyBvcmRlciBtZXNzYWdlICg4YjYwODcyZSkgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZmRpc2sgbm93IHByaW50cyBTR0kgc3lzdGVtIHBhcnRpdGlvbnMgdG9vICBbS2FyZWwgWmFrXQorICAgLSBmaXggIktOT1dOIEZBSUxFRCIgZm9yIHN1YnRlc3RzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBmZGlzayBHUFQgdGVzdCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggZmRpc2svYnNkIGZvciBiaWcgZW5kaWFuIHN5c3RlbXMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGZzY2suY3JhbWZzIGZvciBzeXN0ZW1zIHdpdGggY2VydGFpbiBwYWdlIHNpemVzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBoZXhkdW1wIGZvciBiaWcgZW5kaWFuICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBoZXhkdW1wLCBhZGQgdHNfZmluYWxpemUgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGtpbGwgcHJvYmxlbXMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGxhc3QgZm9yIGJpZ2VuZGlhbiAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggcHl0aG9uIHRlc3RzIGZvciBkaXN0IGFuZCBvdXQtb2YtdHJlZSBidWlsZHMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IHRyYWlsaW5nIHNwYWNlcyBpbiBjYWwoMSkgc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB1dG1wZHVtcC9pcHY2dG9iaW4gZm9yIGJpZ2VuZGlhbiAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggdXRtcGR1bXAvaXB2NnRvdHh0IGZvciBiaWdlbmRpYW4gIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IHV0bXBkdW1wL3RvLWJpbmFyeSBmb3IgYmlnZW5kaWFuICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCB1dG1wZHVtcC90by10ZXh0IGZvciBiaWdlbmRpYW4gIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IHZhciBuYW1lcyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXgsIHR5cG8gc2NoZWR1dGlscy9jcHVzZXQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZ2V0dGluZyBwYXJhbGxlcl9qb2JzIG1vcmUgcm9idXN0ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGlnbm9yZSBkZXByZWNhdGVkIGxhc3QgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gaW50cm9kdWNlIFRTX0NNRF9VVUlER0VOIChuZXZlciB1c2UgaW5zdGFsbGVkIG9uZSkgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gaXBjcy9saW1pdHMyIGlzIGtub3duIHRvIGZhaWwgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0ga2lsbF9mdW5jdGlvbnMuc2ggbmVlZHMgZ2F3ayAoc2tpcCBpZiBzb3VyY2VkKSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBsYXN0ICBza2lwIHdoZW4gbGFzdCBpcyBub3QgZW5hYmxlZCAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSBsaWJtb3VudCAgc2tpcCB0YWJmaWxlcy1weSB3aGVuIHB5bGlibW91bnQgaXMgZGlzYWJsZWQgIFtNaWtlIEZyeXNpbmdlcl0KKyAgIC0gbWFrZSB0ZXN0cyB0byBydW4gcGFyYWxsZWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWVyZ2UgbGFzdC8gYW5kIHV0bXBkdW1wLyBpbnRvIG5ldyB1dG1wLyBkaXIgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcHJvdmlkZSBtaXNzaW5nIHRlc3QgZGF0YSBmb3IgImxhc3QiIG9uIGV4b3RpYyBhcmNocyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBxdW90ZSBnZW5lcmF0ZWQgYXJndW1lbnRzIGZvciBpcGNybSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSByZWZyZXNoIGZkaXNrIG91dHB1dHMgIFtLYXJlbCBaYWtdCisgICAtIHJlbHkgb24gdHNfaW5pdF9weSBvbmx5ICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZGVwcmVjYXRlZCBtb3VudCB0ZXN0cyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSByZW1vdmUgdGVzdF9mc2NrLmNyYW1mcyAocmV2ZXJ0cyA2YzMyYWU3OCkgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcmVtb3ZlIHRlc3Rfd2hvbGVkaXNrICBbS2FyZWwgWmFrXQorICAgLSByZXR1cm4gZXJyb3IgaWYgZmFpbHVyZXMgZmlsZSBub3QgdXNhYmxlICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHJld3JpdGUgaHdjbG9jayB0ZXN0ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHJ1biB0ZXN0cyBpbiBkZXRlcm1pbmlzdGljIG9yZGVyICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHNjcmlwdC9yYWNlIHdvdWxkIHdvcmsgd2l0aCB2YXJpYWJsZSBsb29wIGNvdW50ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHNraXAgc29tZSBsYXN0IHRlc3RzIGlmIG5vIGRucyBzdXBwb3J0ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHNraXAgdW1vdW50LWFsbHRhcmdldHMgb24gcmVndWxhciBtdGFiICBbS2FyZWwgWmFrXQorICAgLSBza2lwIHV0bXBkdW1wIHRlc3RzIGZvciBleG90aWMgYXJjaHMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gc29tZSBtb3JlIHRlc3RzIG5lZWQgbG9vcCBzdXBwb3J0ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHNwbGl0IGxhc3QgaW50byBkbnMgYW5kIG5vZG5zIHN1YnRlc3RzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHNwbGl0IG9mZiBsb3NldHVwIHNjc2lfZGVidWcgcGFydCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBzdHlsZSBNYWtlZmlsZSBhbmQgbWFrZSBvdXRwdXQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gc3dhcGxhYmVsIG5lZWRzIHRvIHJlc3BlY3QgcGFnZXNpemUgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gdGVzdCBjb3JydXRlZCBHUFQgaGVhZGVycyAgW0thcmVsIFpha10KKyAgIC0gdHJ5IGhhcmQgdG8gY3JlYXRlIHN3YXBsYWJlbCdzIHRlc3QgaW1hZ2UgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gdHNfZGV2aWNlX2luaXQgcmVtb3ZlIHVzZWxlc3MgZXJyb3IgaGFuZGxpbmcgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gdHNfZGV2aWNlX2luaXQgcmVxdWlyZXMgbG9vcCBzdXBwb3J0ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHRzX21vdW50IGtub3dzIHdoaWNoIGZzIGlzIGV4cGVjdGVkICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHRzX21vdW50IHZhbGlkYXRlcyBlcnJvciBtZXNzYWdlICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHRzX3Njc2lfZGVidWdfaW5pdCBtdXN0IG5vdCBydW4gaW4gYSBzdWJzaGVsbCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB0c19zY3NpX2RlYnVnX2luaXQgc2tpcCBpbnN0ZWFkIG9mIGRpZSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB1cGRhdGUgUHkgcGFyc2UgbW91bnRpbmZvIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBibGtpZCBzd2FwIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgYnVpbGQgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBidWlsZC1zeXMgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBmZGlzayBNQlIgYW5kIFNVTiB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGZkaXNrIHN1biB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgaW9uaWNlIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBsaWJtb3VudCB0YWJkaWZmIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgbHNjcHUgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBwYXJ0eCBzZ2kgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gdXNlIHRzX2NoZWNrX2xvc2V0dXAgaW4gbG9zZXR1cCB0ZXN0ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHVzZSB0c19tb3VudCBmb3IgY3JhbWZzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHdyaXRlIHRlc3RzL2ZhaWx1cmVzIHRvIGJ1aWxkLSBpbnN0ZWFkIG9mIHNyY2RpciAgW1J1ZWRpZ2VyIE1laWVyXQordGV4dHVhbDoKKyAgIC0gZml4IHNvbWUgdHlwb3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHRoZSB1c2FnZSBtZXNzYWdlIG9mIGtpbGwgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gcmVtb3ZlIHNxdWFyZSBicmFja2V0cyBmcm9tIGFyb3VuZCB0aHJlZSBkb3RzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHNsaWNlIHVwIGFuZCBzdGFuZGFyZGl6ZSB0aGUgdXNhZ2UgdGV4dCBvZiBpb25pY2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gc21hbGwgaW5wcm92ZW1lbnRzIHRvIHVzYWdlIGFuZCBtYW4gcGFnZSBvZiBmc3RyaW0gIFtCZW5ubyBTY2h1bGVuYmVyZ10KK3Rvb2xzOgorICAgLSBhZGQgdXNhZ2UgaW5mb3JtYXRpb24gdG8gY2hlY2tjb25maWcuc2ggIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFrZSBjb25maWctZ2VuIHRvIHJlcXVpcmUgYnVpbGQgdGFyZ2V0IGFyZ3VtZW50ICBbU2FtaSBLZXJvbGFdCit0cmF2aXMtY2k6CisgICAtIGFib3J0IGlmIG1ha2UgY2hlY2sgZmFpbHMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZW5hYmxlIG1vcmUgZmVhdHVyZXMgYW5kIHVwZGF0ZSBnZXR0ZXh0ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGVuYWJsZSByb290IGNoZWNrcyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBpbXBvcnQgdHJhdmlzIHlhbWwgY29udHJvbGxlciAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBtaW5vciBjbGVhbnVwIGFuZCBzcGVlZHVwICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHJlZmFjdG9yIGFuZCBhZGQgLnRyYXZpcy1mdW5jdGlvbnMuc2ggIFtSdWVkaWdlciBNZWllcl0KK3Vtb3VudDoKKyAgIC0gTWFrZSBzdXJlIGV4aXQgY29kZSBkb2VzIG5vdCBvdmVyZmxvdyAgW05pY29sYXMgQm9pY2hhdF0KKyAgIC0gYWRkIGluZm8gdGhhdCAtLWFsbC10YXJnZXRzIHdvcmtzIHdpdGggbXRhYiBzeW1saW5rIG9ubHkgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHVzZSBtb3VudGluZm8gaWYgcG9zc2libGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtZW1vcnkgbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvIGluIHVzYWdlICBbSm9uYXRoYW4gTGl1XQorICAgLSBmaXggdW1vdW50IGJ5IHRhZyBmb3Igbm9uLXJvb3RzICBbS2FyZWwgWmFrXQorICAgLSBtb3JlIHJvYnVzdCBzdWNjZXNzIG1lc3NhZ2UgZm9yIC0tYWxsICBbS2FyZWwgWmFrXQorICAgLSBzbGlnaHRseSBpbXByb3ZlIHRoZSBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQordW5zaGFyZToKKyAgIC0gQWRkIHBvc3NpYmlsaXR5IHRvIGFkZCBtYXBwaW5nIGludG8gcm9vdCB1c2VyIGluIHVzZXIgbmFtZXNwYWNlICBbTHVib21pciBSaW50ZWxdCisgICAtIGFkZCArIHRvIGdldG9wdF9sb25nKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtb3JlIGhpbnRzIGFib3V0IG1vdW50IG5hbWVzcGFjZXMgdG8gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBpbmNsdWRlIGxpYm1vdW50LmggdG8gcHJvdmlkZSBtaXNzaW5nIE1TXyogZGVmaW5lcyAgW1J1ZWRpZ2VyIE1laWVyXQordXRtcGR1bXA6CisgICAtIGZpeCBsb2NhbHRpbWUoKSBlcnJvciBoYW5kbGluZyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBtaW5vciBtYW4gcGFnZSBpbXByb3ZlbWVudHMgIFtPbmRyZWogT3ByYWxhXQordXVpZGQ6CisgICAtIGRvIG5vdCBtaXggc2lnbmVkIHR5cGUgYW5kIHVuc2lnbmVkIGNvZGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZW5zdXJlIHBpZCBmaWxlIGlzIHdyb3RlIHdoZW4gaXQgaXMgcmVxdWVzdGVkICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSB0aW1lb3V0IGZyb20gc3lzdGVtZCBzZXJ2aWNlIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHNldCBvcHRpb25zIHRvIGJlIG11dHVhbGx5IGV4Y2x1c2l2ZSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgcGtnLWNvbmZpZyB0byBmaW5kIHN5c3RlbWQtZGVhbW9uIHN1cHBvcnQgIFtTYW1pIEtlcm9sYV0KK3V1aWRkLnJjOgorICAgLSBSZXF1aXJlcyByZW1vdGVfZnMgIFtBbmRyZWFzIEhlbnJpa3Nzb25dCisgICAtIGRyb3Agb24tZGVtYW5kIG1vZGUgZnJvbSBzY3JpcHQgIFtBbmRyZWFzIEhlbnJpa3Nzb25dCit1dWlkZ2VuOgorICAgLSB1c2UgdHlwZSBkZWZpbml0aW9ucyBmcm9tIHV1aWQuaCAgW1NhbWkgS2Vyb2xhXQordmlwdzoKKyAgIC0gbWlub3IgbWFuIHBhZ2UgaW1wcm92ZW1lbnRzICBbT25kcmVqIE9wcmFsYV0KK3dhbGw6CisgICAtIGFkZCBmYWxsYmFjayBmb3IgZmFpbGVkIHN5c2NvbmYoKSAgW0thcmVsIFpha10KKyAgIC0gcmVwbGFjZSBtYWdpYyBudW1iZXIgYnkgbmFtZWQgdmFsdWUgIFtTYW1pIEtlcm9sYV0KK3dkY3RsOgorICAgLSBjbGVhbiB1cCBjb2x1bW5zW10gdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIHNjb2xzIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGlic21hcnRjb2xzICBbT25kcmVqIE9wcmFsYV0KK3doZXJlaXM6CisgICAtIGF2b2lkIHByaW50aW5nIHVuaW5pdGlhbGl6ZWQgc3RyaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBtaXNzaW5nIG5ld2xpbmUgb24gZW1wdHkgcmVzdWx0cyAgW0FuZHJlYXMgSGVucmlrc3Nvbl0KK3dpcGVmczoKKyAgIC0gYWRkIGNvbW1lbnRzIHRvIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGNhbGwgQkxLUlJQQVJUIHdoZW4gZXJhc2UgcGFydGl0aW9uIHRhYmxlICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBlcmFzZSBuZXN0ZWQgcGFydGl0aW9uIHRhYmxlcyBieSBkZWZhdWx0ICBbS2FyZWwgWmFrXQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yNi1SZWxlYXNlTm90ZXMgYi9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjI2LVJlbGVhc2VOb3RlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZjgxY2M0Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yNi1SZWxlYXNlTm90ZXMKQEAgLTAsMCArMSwxMDQyIEBACitVdGlsLWxpbnV4IDIuMjYgUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworIFRoaXMgdmVyc2lvbiBwcm92aWRlcyBhIGNvbXBsZXRlbHkgbmV3IHNmZGlzayg4KSBjb21tYW5kOyB0aGUgbmV3IHZlcnNpb24gaXMKKyBiYXNlZCBvbiBsaWJmZGlzay4gSWYgeW91ciB1c2UgY2FzZXMgZGVwZW5kIG9uIHNmZGlzayg4KSwgdGhlbiBpdCBpcyBzdHJvbmdseQorIHJlY29tbWVuZGVkIHRvIGJlIGNhcmVmdWwgYW5kIHJlLXRlc3QgeW91ciBzY3JpcHRzLiBUaGUgbmV3IHZlcnNpb24gc3VwcG9ydHMKKyBNQlIgYW5kIEdQVCBkaXNrIGxhYmVscyAoU0dJIGFuZCBTVU4gYXJlIGFsc28gc3VwcG9ydGVkIGJ1dCBub3Qgd2VsbCB0ZXN0ZWQpLgorIFRoZSBuZXcgdmVyc2lvbiBubyBsb25nZXIgc3VwcG9ydHMgc29tZSBvYnNjdXJlIE1CUi1zcGVjaWZpYyBjb21tYW5kLWxpbmUKKyBvcHRpb25zIG5vciBsZWdhY3kgQ0hTIGFkZHJlc3NpbmcuCisKKworIFRoZSBsaWJyYXJ5IGxpYmJsa2lkIChhbmQgYmxraWQoOCkgb24gdGhlIGNvbW1hbmQgbGluZSkgbm93IHVzZXMgdGhlIHNhbWUgVURGCisgZmllbGRzIGFzIFdpbmRvd3MgYW5kIG90aGVyIG9wZXJhdGluZyBzeXN0ZW1zIGluIG9yZGVyIHRvIGdldCBodW1hbi1yZWFkYWJsZQorIFVERiB2b2x1bWUgaWRlbnRpZmllcnMgKExBQkVMPSB0YWcpLiBUaGlzIGNoYW5nZSBtYXkgYmUgYmFja3dhcmRseSBpbmNvbXBhdGlibGUKKyBmb3Igc29tZSBVREYgdm9sdW1lcy4KKworCisgVGhlIGNvbW1hbmQgaHdjbG9jayg4KSB1c2VzIHRoZSBkcmlmdCBjb3JyZWN0aW9uIGZvciBhbGwgcmVsZXZhbnQgb3BlcmF0aW9ucworIGFuZCBpdCBpcyB1bm5lY2Vzc2FyeSB0byBzcGVjaWZ5IC0tYWRqdXN0IG9uIHRoZSBod2Nsb2NrIGNvbW1hbmQgbGluZSBub3cuCisKKyBUaGUgY29tbWFuZCBod2Nsb2NrKDgpIGRvZXMgbm90IGF1dG9tYXRpY2FsbHkgKHJlKWNhbGN1bGF0ZSB0aGUgZHJpZnQgZmFjdG9yIG9uCisgLS1zeXN0b2hjIHRvIGF2b2lkIHNldmVyYWwgcHJvYmxlbXMgKG50cGQgd2l0aCAnMTEgbWludXRlIG1vZGUnLCBmb3IgZXhhbXBsZSksCisgYnV0IHRoZSBuZXcgY29tbWFuZC1saW5lIG9wdGlvbiAtLXVwZGF0ZS1kcmlmdCBoYXMgdG8gYmUgZXhwbGljaXRseSB1c2VkIHRvCisgZm9yY2UgaHdjbG9jayg4KSB0byB1cGRhdGUgL2V0Yy9hZGp0aW1lLgorCisgRm9yIG1vcmUgZGV0YWlscyBzZWUgdGhlIGh3Y2xvY2soOCkgbWFuIHBhZ2UuCisKKworUmVsZWFzZSBoaWdobGlnaHRzCistLS0tLS0tLS0tLS0tLS0tLS0KKworenJhbWN0bCg4KToKKyAtIHRoaXMgTkVXIENPTU1BTkQgYWxsb3dzIHRvIGNvbnRyb2wgL2Rldi96cmFtTiBkZXZpY2VzCisKK2FnZXR0eSg4KToKKyAtIHN1cHBvcnRzIG5ldyBvcHRpb24gLS1yZWxvYWQgdG8gZm9yY2UgYWxyZWFkeSBydW5uaW5nIGFnZXR0eSBwcm9jZXNzZXMgdG8KKyAgIHJlcHJpbnQgdGhlIC9ldGMvaXNzdWUgZmlsZQorCitjZmRpc2soOCksIHNmZGlzayg4KSBhbmQgZmRpc2soOCk6CisgLSBzdXBwb3J0IHNmZGlzay1jb21wYXRpYmxlIHNjcmlwdHM7IGl0J3MgcG9zc2libGUgdG8gc2F2ZSB5b3VyIHBhcnRpdGlvbmluZworICAgbGF5b3V0IHRvIHRleHQgZmlsZXMgYW5kIChyZSl1c2UgaXQgaW4gYWxsIGZkaXNrcworCitmZGlzayg4KSwgc2ZkaXNrKDgpOgorIC0gc3VwcG9ydCBuZXcgY29tbWFuZC1saW5lIG9wdGlvbiAiLS1vdXRwdXQgPGxpc3Q+IiB0byBzcGVjaWZ5IG91dHB1dCBjb2x1bW5zCisgICBmb3IgLS1saXN0IG9yIHByaW50IGNvbW1hbmRzCisKK25zZW50ZXIoMSk6CisgLSBoYXMgYmVlbiB1cGRhdGVkIHRvIHdvcmsgd2l0aCB0aGUgbGF0ZXN0IGtlcm5lbCBjaGFuZ2VzIGluIHVzZXIgbmFtZXNwYWNlcworIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQtbGluZSBvcHRpb24gLS1wcmVzZXJ2ZS1jcmVkZW50aWFscworCit1bnNoYXJlKDEpOgorIC0gaGFzIGJlZW4gdXBkYXRlZCB0byB3b3JrIHdpdGggdGhlIGxhdGVzdCBrZXJuZWwgY2hhbmdlcyBpbiB1c2VyIG5hbWVzcGFjZXMKKyAtIHN1cHBvcnRzIG5ldyBjb21tYW5kLWxpbmUgb3B0aW9uICItLXNldGdyb3Vwcz08ZGVueXxhbGxvdz4iCisKK3N3YXBvbig4KToKKyAtIHN1cHBvcnRzIG5ldyBjb21tYW5kLWxpbmUgb3B0aW9uICItbyA8bGlzdD4iIHdpdGggdGhlIHNhbWUgc2VtYW50aWNzIGFzCisgICAtbyBmb3IgbW91bnQoOCk7IGl0J3Mgbm93IHBvc3NpYmxlIHRvIHNwZWNpZnkgc3dhcCBvcHRpb25zIG9uIHRoZSBjb21tYW5kCisgICBsaW5lIGJ5IHRoZSBzYW1lIHN0cmluZyBhcyBpbiBmc3RhYgorCitmZGZvcm1hdCg4KToKKyAtIHN1cHBvcnRzIG5ldyBjb21tYW5kLWxpbmUgb3B0aW9ucyAtLWZyb20gYW5kIC0tdG8gdG8gc3BlY2lmeSB0cmFja3MgYW5kCisgICAtLXJlcGFpciBmb3IgYnJva2VuIGZsb3BwaWVzCisKK2dldG9wdCgxKToKKyAtIGhhcyBiZWVuIHVwZGF0ZWQgdG8gdGhlIGxhdGVzdCB2ZXJzaW9uIChvcmlnaW5hbGx5IG1haW50YWluZWQgb3V0c2lkZSBvZgorICAgdXRpbC1saW51eCkgYW5kIHJlZmFjdG9yZWQKKworbGRhdHRhY2goOCk6CisgLSBoYXMgYmVlbiBpbXByb3ZlZCB0byBzdXBwb3J0IEdTTTA3MTAgYW5kIGludHJvIG1vZGVtIGNvbW1hbmRzCisKK2xvZ2dlcigxKToKKyAtIHN1cHBvcnRzIG5ldyBjb21tYW5kLWxpbmUgb3B0aW9uIC0taWQ9IHRvIHNwZWNpZnkgUElEIChvciBhbm90aGVyIElEKQorIC0gYWxsb3dzIHRvIHNwZWNpZnkgLS1yZmMzMTY0IG9yIC0tcmZjNTQyNCBzeXNsb2cgcHJvdG9jb2xzCisKK2xpYmZkaXNrOgorIC0gdGhlIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgYXMgYSBzaGFyZWQgbGlicmFyeSB3aXRoIGEgc3RhYmxlIEFQSSBhbmQgYQorICAgc3RhbmRhcmQgaGVhZGVyIGZpbGUKKworbGlibW91bnQ6CisgLSBwcm92aWRlcyBhIG5ldyBzaW1wbGUgQVBJIHRvIG1vbml0b3IgbW91bnQtdGFibGUgY2hhbmdlcyAoaW5jbHVkaW5nCisgICBjaGFuZ2VzIGluIHVzZXJzcGFjZSBtb3VudCBvcHRpb25zKQorCisKK1RoZSBkZWJ1ZyBpbmZyYXN0cnVjdHVyZSBpbiB0aGUgbGlicmFyaWVzIGxpYm1vdW50LCBsaWJzbWFydGNvbHNtLCBsaWJmZGlzayBhbmQKK2xpYmJsa2lkIGFsbG93cyB0byBzcGVjaWZ5IGRlYnVnIG9wdGlvbnMgYnkgaHVtYW4tcmVhZGFibGUgc3RyaW5ncyB0b28uIEZvcgorZXhhbXBsZSAiTElCTU9VTlRfREVCVUc9YWxsIG1vdW50IC9tbnQiLgorCisKK1N0YWJsZSBtYWludGVuYW5jZSByZWxlYXNlcyBiZXR3ZWVuIHYyLjI1IGFuZCB2Mi4yNgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3V0aWwtbGludXggMi4yNS4xIFtTZXAgMyAyMDE0XQorCisgKiBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yNS92Mi4yNS4xLVJlbGVhc2VOb3RlcworICAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjUvdjIuMjUuMS1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjI1LjIgW09jdCAyNCAyMDE0XQorCisgKiBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yNS92Mi4yNS4yLVJlbGVhc2VOb3RlcworICAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjUvdjIuMjUuMi1DaGFuZ2VMb2cKKworCitDaGFuZ2VzIGJldHdlZW4gdjIuMjUgYW5kIHYyLjI2CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyBGb3IgbW9yZSBkZXRhaWxzIHNlZSBDaGFuZ2VMb2cgZmlsZXMgYXQ6CisgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjYvCisKK2FnZXR0eToKKyAgIC0gUmVwcm9tcHQgYW5kIHJlcHJpbnQgL2V0Yy9pc3N1ZSB3aGVuIGFza2VkICBbU3RlZiBXYWx0ZXJdCisgICAtIGRvbid0IGlnbm9yZSBURVJNICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyAgW0thcmVsIFpha10KKyAgIC0gZml4aW5nIEZUQkZTIG9uICFsaW51eCAoRGViaWFuIHV0aWwtbGludXggMi4yMC4xLTEuMikgIFtDaHJpc3RvcGggRWdnZXJdCisgICAtIGtlZXAgdGhlIGN1cnJlbnQgYmF1ZCBiZWZvcmUgdHJ5IDk2MDAgb24gc2VyaWFsIGxpbmVzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZnV0aW1lbnMsIGNoZWNrIGZvciBhbGwgaW4gY29uZmlndXJlLmFjICBbS2FyZWwgWmFrXQorICAgLSBhbHdheXMgc2V0IGRlZmF1bHQgc2VyaWFsIGxpbmUgc3BlZWQgIFtLYXJlbCBaYWtdCitiYXNoLWNvbXBsZXRpb246CisgICAtIEludm9rZSBhY3R1YWwgY29tbWFuZHMgdG8gYmUgY29tcGxldGVkLCBub3QgYmFzZW5hbWVzICBbVmlsbGUgU2t5dHTDpF0KKyAgIC0gZml4IHJ1bnVzZXIgaW5zdGFsbCAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSBzdG9wIGJlaW5nIGNsZXZlciB3aGVuIGxpc3RpbmcgYmxvY2sgZGV2aWNlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2Ugc3dhcG9uIGxhYmVsIGFuZCB1dWlkIGxpc3Rpbmcgc3VwcG9ydCAgW1NhbWkgS2Vyb2xhXQorYmxrZGlzY2FyZDoKKyAgIC0gYWRkIHN1cHBvcnQgZm9yIHN0ZXBzIGFuZCBwcm9ncmVzcyAgW0ZlZGVyaWNvIFNpbW9uY2VsbGldCisgICAtIGZhaWwgb24gc2VjdG9yIG1pc2FsaWdubWVudCAgW0ZlZGVyaWNvIFNpbW9uY2VsbGldCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nICBbS2FyZWwgWmFrXQorICAgLSBmaXggZXJyLT5lcnJ4KCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBpbmNsdWRlcyAgW0thcmVsIFpha10KKyAgIC0gZml4IHVuZGVyZmxvdyB3aGVuIG9mZnNldCBpcyBncmVhdGVyIHRoYW4gZGV2aWNlIHNpemUgIFtSYXBoYWVsIFMuIENhcnZhbGhvXQorICAgLSB1cGRhdGUgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCitibGtpZDoKKyAgIC0gYWRkIGhpbnQgYWJvdXQgbHNibGsgdG8gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZXh0cmEgdHJhaWxpbmcgc3BhY2VzIGluIG91dHB1dCAgW0thcmVsIFpha10KK2Jsb2NrZGV2OgorICAgLSBjaGVjayByZXR1cm4gd2hlbiByZWFkIGZyb20gc3lzZnMgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorYnVpbGQ6CisgICAtIGZpeCBwcmludGYgd2FybmluZ3MgZm9yIGljYyAoLVdmb3JtYXQtc2VjdXJpdHkpICBbUnVlZGlnZXIgTWVpZXJdCitidWlsZC1zeXM6CisgICAtIGFkZCAtV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uIHRvIGNvbXBpbGVyIHdhcm5pbmdzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZmRpc2sucGMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmZGlza1AuaCB0byBzb3VyY2VzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaGludCBhYm91dCAnbWFrZScgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzZmRpc2suc3RhdGljICBbS2FyZWwgWmFrXQorICAgLSBhdm9pZCBpY2Mgd2FybmluZ3MgImlnbm9yaW5nIHVua25vd24gb3B0aW9uIiAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBidWlsZCBsaWJtb3VudCBldmVyeXdoZXJlICBbQW5kcmVhcyBIZW5yaWtzc29uXQorICAgLSBjaGVjayBmb3IgbGlidG9vbGl6ZSByYXRoZXIgdGhhbiBsaWJ0b29sICBbSGVsbXV0IEdyb2huZV0KKyAgIC0gY2xlYW51cCBpbiBsaWJtb3VudCBNYWtlbW9kdWxlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGxpYnJhcnkgc3ltYm9sIGZpbGVzICBbS2FyZWwgWmFrXQorICAgLSBjcmVhdGUgYSByZWd1bGFyIHNoYXJlZCBsaWJmZGlzay5zbyAgW0thcmVsIFpha10KKyAgIC0gY3JlYXRlIHBhcmVudCBkaXJlY3RvcnkgZm9yICQoUEFUSEZJTEVTKSAgW01pY2hhZWwgTWFyaW5lYXVdCisgICAtIGZpeCBVTF9TQ0FORl9UWVBFX01PRElGSUVSIGZvciBpY2MgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGRvdWJsZSBwcmVmaXggd2l0aCBleHBsaWN0IC0tbGliZGlyICBbQ2hyaXN0b3BoIEp1bmdoYW5zXQorICAgLSBmaXggbWFrZSBjaGVja2luY2x1ZGVzIHdhcm5pbmdzICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBzd2l0Y2hfcm9vdC9waXZvdF9yb290IGN1dC1uLXBhc3RlIGVycm9yIGluIGNvbmZpZ3VyZS5hYyAgW0FuZHJlYXMgSGVucmlrc3Nvbl0KKyAgIC0gZnJlZSgpIG5lZWRzIHN0ZGxpYi5oICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGh3Y2xvY2sgcmVxdWlyZXMgLWxtICBbQ3Jpc3RpYW4gUm9kcsOtZ3Vlel0KKyAgIC0gaW1wcm92ZSB3b3JkaW5nIGFuZCBwdW5jdHVhdGlvbiBvZiBzZXZlcmFsIG1lc3NhZ2VzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIG1ha2Ugc2NhbmZfY3ZfYWxsb2NfbW9kaWZpZXIgdG8gd29yayBbTGVha1Nhbml0aXplcl0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gbW92ZSBhbGwgYXJvdW5kIGNsb2NrX2dldHRpbWUoKSB0byBtb25vdG9uaWMuYyAgW0thcmVsIFpha10KKyAgIC0gb2xkIGdsaWJjIHJlcXVpcmVzIC1scnQgY2xvY2tfZ2V0dGltZSgpICBbS2FyZWwgWmFrXQorICAgLSBwcm9wZXJseSBjaGVjayBmb3IgLWxydCAgW0thcmVsIFpha10KKyAgIC0gcmVsZWFzZSsrICh2Mi4yNi1yYzEpICBbS2FyZWwgWmFrXQorICAgLSByZWxlYXNlKysgKHYyLjI2LXJjMikgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBzd2FwLWNvbW1vbi5oIGZyb20gc3lzLXV0aWxzL01ha2Vtb2R1bGUuYW0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gc3VwcG9ydCBuc2VudGVyLnN0YXRpYyAgW0thcmVsIFpha10KKyAgIC0gdXNlIC1sdXRpbCBmb3IgQlNEIG9ubHkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBDTE9DS0dFVFRJTUVfTElCUyAgW0thcmVsIFpha10KK2NhbDoKKyAgIC0gYGNvbG9yYCBvcHRpb24gZG9jdW1lbnRhdGlvbiBzaG91bGQgbWF0Y2ggYWN0dWFsIGJlaGF2aW91ciAgW0V1Z2VuZSBZdW5ha10KKyAgIC0gZml4IHNpZ25lZCBpbnRlZ2VyIG92ZXJmbG93IFtBZGRyZXNzU2FuaXRpemVyXSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgaW50NjRfdCBpbnN0ZWFkIG9mIGxvbmcgIFtSdWVkaWdlciBNZWllcl0KK2NmZGlzazoKKyAgIC0gYWN0dWFsbHkgdHJhbnNsYXRlIHRoZSB0YWJsZSBoZWFkZXJzIGFuZCB0aGUgYm90dG9tIGxpbmUgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gYWRkIGxpYmZkaXNrIGluZGVwZW5kZW50IGRlYnVnIHN0dWZmICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3Igc2ZkaXNrIHNjcmlwdHMgIFtLYXJlbCBaYWtdCisgICAtIGFsc28gcmVjb2duaXplIGEgbG93ZXJjYXNlICdsJyBmb3IgbG9hZGluZyBhIHNjcmlwdCBmaWxlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGNsZWFudXAgbWVudWl0ZW0gZHJhdyBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGRlZmF1bHQgdG8gUXVpdCBtZW51IGl0ZW0gIFtLYXJlbCBaYWtdCisgICAtIGRldGVjdCB0b28gc21hbGwgcGFydGl0aW9uIHNpemVzICBbS2FyZWwgWmFrXQorICAgLSBkaXNhYmxlIHNvbWUgS0VZXyogaW4gdWlfZ2V0X3dxc3RyaW5nKCkgIFtLYXJlbCBaYWtdCisgICAtIGRvIG5vdCBzdGFydGxlIHRoZSB1c2VyIHdpdGggYSBmYWxzZSBtZXNzYWdlIHdoZW4gLS16ZXJvIGlzIHVzZWQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZG9uJ3QgbWVzcyB1cCB0aGUgaGVscCBzY3JlZW4gYnkgcHJpbnRpbmcgdGhlIFBPIGZpbGUgaGVhZGVyICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGRvbid0IG1vZGlmeSBuY3Vyc2VzIExJTkVTIGFuZCBDT0xTICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtIGxlYWsgYW5kIG1haW5fbWVudV9hY3Rpb24oKSBsb2dpYyBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvIGluIHRoZSBwcmV2aW91cyBjb21taXQgIFtLYXJlbCBaYWtdCisgICAtIGZvcmNlIG1haW4gbWVudSB0byBkZWZhdWx0IHRvIFF1aXQvTmV3IG1lbnUgaXRlbXMgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgRHVtcCBkaWFsb2cgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgY3JlYXRlLWxhYmVsIFVJICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIG1lbnUgY2xlYW4gZnVuY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgdWlfZ2V0X3NpemUoKSB3YXJuaW5ncyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSB3b3JkaW5nIGFuZCBjb25zaXN0ZW5jeSBvZiB0aGUgc2l6ZSB3YXJuaW5ncyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBtYWtlICc/JyBhbiBhbGlhcyBvZiAnaCcsIHRvIGFsc28gc2hvdyB0aGUgaGVscCBzY3JlZW4gIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gbW92ZSBjdXJzX3NldCgxKSB0byB1aV9lbmQoKSAgW0thcmVsIFpha10KKyAgIC0gcHJpbnQgIndyb25nIG9yZGVyIiB3YXJuaW5nIGFmdGVyIHN0YXJ0dXAsIGNvbG9yaXplIGluZm8gbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIHB1bmN0dWF0ZSB0aGUgYm90dG9tYmFyIG1lc3NhZ2VzIGNvbnNpc3RlbnRseSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSByZWVuYWJsZSBjdXJzb3Igd2hlbiBxdWl0dGluZyAgW0FuZHJlYXMgSGVucmlrc3Nvbl0KKyAgIC0gcmVtb3ZlIFtMb2FkXSBmcm9tIG1lbnUgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB0aGUgbWlzdGFrZW4gQiBmcm9tIHRoZSBleHBsYW5hdGlvbiBvZiBzaXplIHN1ZmZpeGVzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHNob3J0ZW4gdGhlIGhlbHAgc2NyZWVuIHRvIG1ha2UgaXQgZml0IHdpdGhpbiAyNSBsaW5lcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB1c2Ugb25seSBwdWJsaWMgbGliZmRpc2sgQVBJICBbS2FyZWwgWmFrXQorICAgLSB3cm9uZyBpbnRlcnByZXRhdGlvbiBvZiB5ZXMgaW4gbm9uLWVuZ2xpc2ggbGFuZ3VhZ2UgIFtLYXJlbCBaYWtdCitjaGZuOgorICAgLSBhZGQgbWluaW1hbGlzdGljIHN0cnVjdCBjaGZuX2NvbnRyb2wgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW4gdXAgcGFyc2VfYXJndigpICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBjb21waWxhdGlvbiB3aXRob3V0IGxpYnVzZXIgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB1c2FnZSgpIHJlZ3Jlc3Npb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFrZSBjb21tYW5kIHRvIG9iZXkgbG9naW4uZGVmcyBDSEZOX1JFU1RSSUNUIGluc3RydWN0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBtb3ZlIG5ldyBhbmQgb2xkIGZpbmdlciBzdHJ1Y3RzIHRvIGNoZm4gY29udHJvbCBzdHJ1Y3QgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIGZ1bmN0aW9uIHByb3RvdHlwZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHNldF9jaGFuZ2VkX2RhdGEoKSBhbmQgYWRkIGFkZF9taXNzaW5nKCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVuYW1lIHByb21wdCgpIHRvIGFza19uZXdfZmllbGQoKSAgW1NhbWkgS2Vyb2xhXQorICAgLSByZXdyaXRlIHByb21wdCgpIHRvIHVzZSBzdHJ1dGlscyAgW1NhbWkgS2Vyb2xhXQorICAgLSBzaW1wbGlmeSBwYXJzZV9wYXNzd2QoKSBieSB1c2luZyBzdHJzZXAoKSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgeGFzcHJpbnRmKCkgcmF0aGVyIHRoYW4gYnVuY2ggb2Ygc3RybGVuKCkgYW5kIG1hbGxvYygpIGNhbGxzICBbU2FtaSBLZXJvbGFdCitjaGZuLCBjaHNoOgorICAgLSBzaGFyZSBpbGxlZ2FsX3Bhc3N3ZF9jaGFycygpIGZ1bmN0aW9uICBbU2FtaSBLZXJvbGFdCitjaHJ0OgorICAgLSBhZGQgbm90ZSBhYm91dCB6ZXJvIHByaW9yaXR5IGZvciBJRExFIGFuZCBCQVRDSCAgW0thcmVsIFpha10KK2Noc2g6CisgICAtIGFsbG93IHVzZXIgdG8gc2V0IHNoZWxsIHRvIC9iaW4vc2ggaWYgbm9uZSBpcyBzZXQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW4gdXAgcGFyc2VfYXJndigpICBbU2FtaSBLZXJvbGFdCisgICAtIGZhaWwgZ2V0X3NoZWxsX2xpc3QoKSBjaGVjayB3aGVuIC9ldGMvc2hlbGxzIGNhbm5vdCBiZSBvcGVuZWQgIFtTYW1pIEtlcm9sYV0KKyAgIC0ga2VlcCBzdHJ1Y3Qgb3B0aW9ucyBpbiAucm9kYXRhICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZnVuY3Rpb24gcHJvdG90eXBlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSByZXdyaXRlIGZ1bmN0aW9uIGludGVyYWN0aW5nIHdpdGggdXNlciB0byBnZXQgcGF0aCB0byBuZXcgc2hlbGwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc2V0IGZldyB2YXJpYWJsZXMgcmVhZC1vbmx5IGFuZCByZW5hbWUgb25lIG9mIHRoZW0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gc2ltcGxpZnkgY2hlY2tfc2hlbGwoKSAgW1NhbWkgS2Vyb2xhXQorICAgLSBzaW1wbGlmeSBnZXRfc2hlbGxfbGlzdCgpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZ2V0bGluZSgpIHRvIHN1cHBvcnQgYXJiaXRyYXJpbHkgbG9uZyBsaW5lcyAgW1NhbWkgS2Vyb2xhXQorY29sY3J0OgorICAgLSBzbGljZSB1cCB0aGUgdXNhZ2UgdGV4dCBmb3IgZWFzZSBvZiB0cmFuc2xhdGlvbiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorZG1lc2c6CisgICAtIEVuYWJsZSBwcm9wZXIgaW5kZW50IGZvciBtZXNzYWdlcyBjb250YWluaW5nIGxpbmUgYnJlYWtzICBbSW5nbyBCcsO8Y2tsXQorICAgLSBpbXByb3ZlIHJlbHRpbWUgY29sb3JzICBbS2FyZWwgWmFrXQorZG9jczoKKyAgIC0gU3BlbGxpbmcgZml4ZXMgIFtWaWxsZSBTa3l0dMOkXQorICAgLSBhZGQgVE9ETyBlbnRyeSBmb3IgbGliYmxraWQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjZmRpc2sgYXV0by1zb3J0IHRvIFRPRE8gZmlsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGhvd3RvLXB1bGwtcmVxdWVzdC50eHQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGluZm8gYWJvdXQgKl9ERUJVRz0gdG8gbWFuIHBhZ2VzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbG9nZ2VyIHByb3RvY29sIG5vdGVzIHRvIG1hbnVhbCBwYWdlICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBuZXcgY2ZkaXNrIHJlcXVlc3QgdG8gVE9ETyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3dhcG9uIC1vIHRvIFRPRE8gZmlsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRoZSBTb3J0IGNvbW1hbmQgdG8gdGhlIG1hbiBwYWdlIG9mIGNmZGlzayAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBhZGp1c3Qgc29tZSBmb3JtYXR0aW5nIGFuZCB3b3JkaW5ncyBpbiBhIGhhbmRmdWwgb2YgbWFuIHBhZ2VzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGFkanVzdCB0aGUgZ3JhbW1hciwgdGV4dCwgc29ydGluZyBhbmQgZm9ybWF0dGluZyBvZiBsb2dnZXIgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gYnJpbmcgdGhlIGNocnQgYW5kIHRhc2tzZXQgbWFuIHBhZ2VzIGNsb3NlciB0byBzdGFuZGFyZCBmb3JtYXR0aW5nICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGJyaW5nIHRoZSBydGN3YWtlIG1hbiBwYWdlIGNsb3NlciB0byBzdGFuZGFyZCBmb3JtYXR0aW5nICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGJyaW5nIHRoZSBydW51c2VyIGFuZCBzdSBtYW4gcGFnZXMgY2xvc2VyIHRvIHN0YW5kYXJkIGZvcm1hdHRpbmcgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZG9uJ3QgdXNlIGJvbGQgb3IgaXRhbGljcyBmb3IgIltvcHRpb25dIiBpbiBzeW5vcHNpcyBvZiBtYW4gcGFnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IGdyYW1tYXIgYW5kIHB1bmN0dWF0aW9uIGFuZCB0eXBvcyBpbiAyLjI2IHJlbGVhc2Ugbm90ZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IGluY29uc2lzdGVuY2llcyBpbiBtYW4gcGFnZXMgIFtTdGV2ZW4gSG9uZXltYW5dCisgICAtIGZpeCBzb21lIHRoaW5ncyB0aGF0IHdlcmUgb3Zlcmxvb2tlZCBkdXJpbmcgdGhlIGZpcnN0IHBhc3MgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IHNvbWUgd29yZGluZyBhbmQgZm9ybWF0dGluZyBpbiBtYW4gcGFnZSBvZiBzd2Fwb24gIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IHNvbWUgd29yZGluZywgZ3JhbW1hciBhbmQgZm9ybWF0dGluZyBpbiBtYW4gcGFnZSBvZiBzd2Fwb24gIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IHRoZSBncmFtbWFyIGFuZCBmb3JtYXR0aW5nIGluIHRoZSBtYW4gcGFnZSBvZiBzZmRpc2sgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IHRoZSBncmFtbWFyIG9mIHRoZSByZWNlbnQgY29tbWVudCBhYm91dCBjb21tZW50cyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggdGhlIGxpbmsgdG8gdGhlIHJjMSBjaGFuZ2Vsb2cgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IHR3byAibWF5YmUgYmUiIGR1cGxpY2F0aW9ucyBpbiBwcm9ncmFtIGNvbW1lbnRzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGZpeCB0d28gcGF0aHMgb2YgdGhlIHYyLjIwLVJlbGVhc2VOb3RlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggdHdvIHNwZWxsaW5ncyBpbiBtYW4gcGFnZSBvZiBsb2dnZXIgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IHR5cG9zICBbS2FyZWwgWmFrXQorICAgLSBmaXgtdXAgbWFuLXBhZ2VzIGZsYWdnZWQgYnkgY2hlY2ttYW5zLnNoICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIGdpdmUgdGhlIG1hbiBwYWdlIG9mIHV0bXBkdW1wIHRoZSBwcm9wZXIgVXNlciBDb21tYW5kcyBoZWFkZXIgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gaW1wcm92ZSBzb21lIHdvcmRpbmdzIGluIHRoZSBtYW4gcGFnZSBvZiBtb3VudCAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbXByb3ZlIHNvbWUgd29yZGluZ3Mgb24gdGhlIG1hbiBwYWdlIG9mIHdpcGVmcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbXByb3ZlIHRoZSBkZXNjcmlwdGlvbiBvZiAtLXNpemUgaW4gdGhlIG1hbiBwYWdlIG9mIHpyYW1jdGwgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gaW1wcm92ZSB0aGUgZm9ybWF0dGluZyBvZiB0aGUgY2hmbiBhbmQgY2hzaCBtYW4gcGFnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gaW1wcm92ZSB0aGUgZ3JhbW1hciBvZiB0aGUgInNlZSB0aGUgY2hhbmdlbG9nIiBwaHJhc2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gaW1wcm92ZSB0aGUgc29ydGluZyBvZiB0aGUgb3B0aW9ucyBpbiB0aGUgbWFuIHBhZ2Ugb2YgZ2V0b3B0ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGltcHJvdmUgdGhlIHdvcmRpbmcgYW5kIGZvcm1hdHRpbmcgb2YgdGhlIHpyYW1jdGwgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gbWFrZSBsb2dnZXIuMSBmYWNpbGl0aWVzIGFuZCBsZXZlbHMgZWFzaWVyIHRvIHJlYWQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFrZSB0aGUgbWFuLXBhZ2UgbGljZW5zZXMgb2YgY2hydCBhbmQgdGFza3NldCBtYXRjaCB0aGVpciBpbnRlbnQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gbWFrZSB0aGUgd29yZGluZyBvZiB0aGUgcGFydHggbWFuIHBhZ2UgYSBiaXQgbW9yZSBwcmVjaXNlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIG1ha2UgdG9vbHMvY2hlY2ttYW5zLnNoIHRvIHBhc3Mgd2l0aG91dCB3YXJuaW5ncyAgW1NhbWkgS2Vyb2xhXQorICAgLSBtZW50aW50aW9uIGRlZmF1bHQgdWRwIGFuZCB0Y3AgcG9ydHMgbG9nZ2VyIGlzIHVzaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIG1lbnRpb24gbmljZSgxKSBpbiByZW5pY2UoMSkgbWFudWFsIHBhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWVudGlvbiB0aGF0IHNldGFyY2ggbWF5IG5vdCBiZSBhYmxlIHRvIHNldCBhbGwgbGlzdGVkIGFyY2hpdGVjdHVyZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gcmVtb3ZlIGFsbCBtZW50aW9uIG9mIGhlbHBlcj0gYW5kIHVoZWxwZXI9IGZyb20gdW1vdW50IG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHJlbW92ZSBvYnNvbGV0ZSBSRUFETUVzIGZvciAocylmZGlzayAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIG9ic29sZXRlIGFuZCB1bm5lZWRlZCBjb21tZW50cyBmcm9tIG1hbi1wYWdlIGZpbGVzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHJlc3RvcmUgbWludXMgc3ltYm9scyBpbiBsb25nIG9wdHMgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gcmVzdG9yZSB0aGUgYWx0ZXJuYXRpdmUgZm9ybSBvZiBzZXRhcmNoIGluIGl0cyBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSByZXN0b3JlIHRoZSBtZW50aW9uIG9mIHVoZWxwZXI9IGFuZCBoZWxwZXI9IGluIG1hbiBwYWdlIG9mIHVtb3VudCAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSByZXRyb2ZpdCB0aGUgZGF0ZXMgb24gc29tZSBvbGQgcmVsZWFzZSBhbm5vdW5jZW1lbnRzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHNtYWxsIGltcHJvdmVtZW50cyB0byBob3d0by1jb250cmlidXRlLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBzb3J0IHRoZSBvcHRpb25zIGluIHRoZSBtYW4gcGFnZSBvZiBzZmRpc2sgYWxwaGFiZXRpY2FsbHkgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gc29ydCB0aGUgb3B0aW9ucyBpbiB0aGUgbWFuIHBhZ2VzIG9mIGh3Y2xvY2sgYW5kIHV1aWRkICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHNwZWxsaW5nLCB3b3JkaW5nLCBhbmQgZ3JhbW1hciBmaXhlcyBpbiB0aGUgbWFuIHBhZ2Ugb2Ygd2hlcmVpcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBzeW5jIHRoZSBkb2NzdHJpbmcgb2YgYWRkcGFydCwgZGVscGFydCBhbmQgcmVzaXplcGFydCB0byB0aGUgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXBkYXRlIEFQSSBkb2NzIHllYXJzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgQVVUSE9SUyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgVE9ETyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIFRPRE8gZmlsZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGRlcHJlY2F0aW9uIGJhbm5lcnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXBkYXRlIGluZm8gYWJvdXQgZW52IGRlYnVnIHZhcmlhYmxlcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHYyLjI2LVJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KK2VqZWN0OgorICAgLSBhZGQgc3RydWN0IGVqZWN0X2NvbnRyb2wgdG8gcmVtb3ZlIGdsb2JhbCB2YXJpYWJsZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHZlcmJvc2l0eSB0byBjZHJvbSBkb29yIGxvY2sgZXJyb3IgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFrZSBvcGVuX2RldmljZSgpIGFuZCBzZWxlY3Rfc3BlZWQoKSB0byB1c2Ugc3RydWN0IGVqZWN0X2NvbnRyb2wgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbW92ZSB1bnJlYWNoYWJsZSBjb2RlIHRvIHByZXByb2Nlc3NvciAjZWxzZSBibG9jayBbc21hdGNoIHNjYW5dICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBzeXNmcyBBUEkgdG8gZGV0ZWN0IGhvdHBsdWcgIFtLYXJlbCBaYWtdCitmYWxsb2NhdGU6CisgICAtIGNyZWF0ZSBtb2RlIDA2NjYsIHRoYXQncyB3aGF0IHVtYXNrIGlzIGZvciAgW0thcmVsIFpha10KK2ZkZm9ybWF0OgorICAgLSBBZGQgbmV3IHN3aXRjaGVzIC1mLy0tZnJvbSwgLXQvLS10bywgLXIvLS1yZXBhaXIgIFtKYXJvbWlyIENhcGlrXQorICAgLSBjbGVhbiB1cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBmaXhpbmcgY29weSduJ3Bhc3RlIGlzc3VlIGluIHRoZSBtYW51YWwgIFtKYXJvbWlyIENhcGlrXQorZmRpc2s6CisgICAtIChzZ2kpIGZpeCB1bnNpZ25lZCBpbnRlZ2VyIG92ZXJmbG93IFtBZGRyZXNzU2FuaXRpemVyXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgLS1vdXRwdXQgPGxpc3Q+IGZvciBwcmludCBjb21tYW5kKHMpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1vdXRwdXQgdG8gdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGluZGVwZW5kZW50IGRlYnVnIHN0dWZmICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc2VjdGlvbiBhYm91dCBzaXplcyB0byB0aGUgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciBzZmRpc2sgc2NyaXB0cyAgW0thcmVsIFpha10KKyAgIC0gYWx3YXlzIHByaW50IHdhcm5pbmcgZm9yIG1pcy1hbGlnbmVkIHBhcnRpdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIHJldHVybiBhbmQgcm9idXN0IGxhYmVsIHVzYWdlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZml4IC1sIFs8ZGV2aWNlPl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBhbmQgaW1wcm92ZSAtbCB3YXJuaW5ncyAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8gIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgLS1saXN0IG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gbWlzc2luZyBicmVhayBpbiBzd2l0Y2ggIFtCb3JpcyBFZ29yb3ZdCisgICAtIG1vdmUgLS1saXN0IGZ1bmN0aW9uYWxpdHkgdG8gc2VwYXJhdGVkIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHJlZmFjdG9yIC9wcm9jL3BhcnRpdGlvbnMgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHJlc2V0IGNhY2hlZCBvdXRwdXQgZmllbGRzIHdoZW4gY2hhbmdlIGRpc2sgbGFiZWwgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSB0ZXN0cyBhbmQgY2xlYW4gdXAgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGliZmRpc2sgcHVibGljIEFQSSBvbmx5ICBbS2FyZWwgWmFrXQorZmluZG1udDoKKyAgIC0gZG9jdW1lbnQgLS11bmlxIG9wdGlvbiBpbiBtYW4gcGFnZSAgW0Jlcm5oYXJkIFZvZWxrZXJdCisgICAtIGRvbid0IHBhcnNlIG1vdW50aW5mbyB0d2ljZSAgW0thcmVsIFpha10KKyAgIC0gZml4IG1lbSBsZWFrcyBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCitmbG9jazoKKyAgIC0gYWRkIGVycm9yIG1lc3NhZ2UgdG8gdHJhbnNsYXRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIHplcm8gdGltZW91dCBpcyB2YWxpZCAgW0thcmVsIFpha10KK2ZzY2s6CisgICAtIGRlYWxsb2NhdGUgd2hlbiBubyBjYWNoZSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV2xvZ2ljYWwtbm90LXBhcmVudGhlc2VzXSAgW0thcmVsIFpha10KKyAgIC0gdXNlIG1vbm90b25pYyB0aW1lIHRvIGZzY2sgcnVuIHRpbWUgbWVhc3VyZW1lbnQgIFtTYW1pIEtlcm9sYV0KK2ZzY2subWluaXg6CisgICAtIGZpeCBzZWdtZW50YXRpb24gZmF1bHQgIFtTYW1pIEtlcm9sYV0KK2ZzdHJpbToKKyAgIC0gaW5pdGlhbGl6ZSBwYXRoIHZhcmlhYmxlICBbU2FtaSBLZXJvbGFdCitnZXRvcHQ6CisgICAtIGFkZCBzdHJ1Y3QgZ2V0b3B0X2NvbnRyb2wgYW5kIHJlbW92ZSBnbG9iYWwgdmFyaWFibGVzICBbU2FtaSBLZXJvbGFdCisgICAtIGF2b2lkIHJlLXRlcm1pbmF0aW5nIGxvbmdfb3B0aW9uIGxpc3QgYXQgZXZlcnkgdXBkYXRlICBbU2FtaSBLZXJvbGFdCisgICAtIGNoYW5nZSAtLXNoZWxsIGFyZ3VtZW50IHBhcnNpbmcgZnVuY3Rpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW51cCBhZGRfbG9nX29wdGlvbnMoKSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgIFtLYXJlbCBaYWtdCisgICAtIG1ha2Ugbm9ub3B0aW9ucyBvcHRzdHJpbmcgY29tbWVudCBjb3JyZWN0ICBbU2FtaSBLZXJvbGFdCisgICAtIG1ha2Ugbm9ybWFsaXplKCkgcHJpbnQgc3RyaW5ncyAgW1NhbWkgS2Vyb2xhXQorICAgLSBwcmVmZXIgc3dpdGNoLWNhc2UgcmF0aGVyIHRoYW4gbG9uZyBpZiBzdGF0ZW1lbnQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIGZ1bmN0aW9uIHByb3RvdHlwZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGNvZGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVuYW1lIGZ1bmN0aW9uIHRvIGtlZXAgY29kZSByZWFkYWJsZSAgW0thcmVsIFpha10KKyAgIC0gc3luYyB3aXRoIDEuMS42IHJlbGVhc2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHhzdHJkdXAgcmF0aGVyIHRoYW4gbWFsbG9jICsgc3RyY3B5ICBbU2FtaSBLZXJvbGFdCitoZXhkdW1wOgorICAgLSBGaXggcGFyc2UgZm9ybWF0IG9mICJieXRlIGNvdW50IHdpdGhvdXQgcmVwZXRpdGlvbiBjb3VudCIgIFtIVUFORyBXZWldCisgICAtIHJlbW92ZSBkZXByZWNhdGlvbiBtZXNzYWdlICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSAnbGwnIGZvcm1hdCBtb2RpZmllciBpbnN0ZWFkIG9mIHRoZSBub24tc3RhbmRhcmQgJ3EnLiAgW05hdGFuYWVsIENvcGFdCitod2Nsb2NrOgorICAgLSBBZGQgLS11cGRhdGUtZHJpZnQgb3B0aW9uICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIEFkZCAtLXVwZGF0ZS1kcmlmdCBvcHRpb24gTUFOICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIEFkZCBudHB0aW1lIHJlZmVyZW5jZSB0byBtYW4tcGFnZSAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBJbmNvcnJlY3QgVVRDIGRlZmF1bHRzICBbSldQXQorICAgLSBSZWR1Y2UgZHJpZnQgZmFjdG9yIHVwZGF0ZSBwZXJpb2QgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gYWRkIGNoZWNraW5nIGtlcm5lbCB2YXJzIHRvIG1hbi1wYWdlICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIGFkZCBub3RlcyBhYm91dCBkZWZhdWx0IGJlaGF2aW9yIGNoYW5nZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkanVzdCB3b3JkaW5nIG9mIHYyLjI2IG5vdGVzICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIGNoZWNrIGZvciBwZXJtaXNzaW9ucyBiZWZvcmUgdXNlIGNsb2NrIGludGVyZmFjZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBtYW4gYW5kIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGNoZWNrIENNT1MgYXV0b21hdGljYWxseSBvbiB4ODZfNjQgIFtLYXJlbCBaYWtdCisgICAtIGVuYWJsZSAtLWRpcmVjdGlzYSBmb3IgeDg2XzY0ICBbSldQXQorICAgLSBleGNsdWRlIGFsc28gaTM4NiBmcm9tIENNT1MgYXV0by1wcm9iaW5nICBbS2FyZWwgWmFrXQorICAgLSBmaXggc3VwZXJmbHVvdXMgJ2lmJyBzdGF0ZW1lbnQgYW5kIHR5cG8gIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gaGN0b3N5cyBkcmlmdCBjb21wZW5zYXRpb24gSUkgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gaGN0b3N5cyBkcmlmdCBjb21wZW5zYXRpb24gSUkgQ09NTUVOVFMgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gaGN0b3N5cyBkcmlmdCBjb21wZW5zYXRpb24gSUkgTUFOICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIGltcHJvdmUgbWFuLXBhZ2UgbGFuZ3VhZ2UgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gaW1wcm92ZSB3b3JkaW5nIGFuZCBmb3JtYXR0aW5nIG9mIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIG1hbiBwYWdlICdTaW5jZSB2Mi4yNicgbm90ZXMgIFtKV1BdCisgICAtIG1hbiByZWdyZXNzaW9uICBbSldQXQorICAgLSBtYW4tcGFnZSBlcnJhdGEgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gcGVyc2lzdGVudF9jbG9ja19pc19sb2NhbCAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBwZXJzaXN0ZW50X2Nsb2NrX2lzX2xvY2FsIE1BTiAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSByZW1vdmUgYXV0b21hdGljIElTQSBmYWxsYmFjayAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSByZW1vdmUgcmVmZXJyYWwgdG8gZGVwcmVjYXRlZCBrZXlib2FyZCBpbnRlcmZhY2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXBkYXRlIG1hbiBwYWdlIGZvciB2Mi4yNiByYyAgW0pXUF0KKyAgIC0gdXBkYXRlIG1hbi1wYWdlIGZvciBkaXJlY3Rpc2EgY2hhbmdlICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIHVzZSBmYWJzKCkgaW5zdGVhZCBhYnMoKSB3aGVuIGFyZ3VtZW50IGlzIGRvdWJsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgcGx1cmFsaXplZCB0cmFuc2xhdGlvbnMuICBbTGF1cmkgTnVybWldCitpYmZkaXNrOgorICAgLSAoZ3B0KSBhbGxvdyB0byBtYXhpbWl6ZSBwYXJ0aXRpb24gIFtLYXJlbCBaYWtdCitpbmNsdWRlOgorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc2ltcGxpZnkgZnB1dGNfY2FyZWZ1bCgpIGluIGNhcmVmdWxwdXRjLmggIFtTYW1pIEtlcm9sYV0KK2luY2x1ZGUvYzoKKyAgIC0gZGVmaW5lIFVMX0FTQU5fQkxBQ0tMSVNUIGFkZHJlc3Nfc2FuaXRpemVyIGZ1bmN0aW9uIGF0dHJpYnV0ZSAgW1NhbWkgS2Vyb2xhXQoraW5jbHVkZS9jYXJlZnVscHV0YzoKKyAgIC0gZW5jb2RlIGFsc28gJyBhbmQgJCBpbiBmcHV0c19xdW90ZWQoKSBvdXRwdXQgIFtLYXJlbCBaYWtdCitpbmNsdWRlL2RlYnVnOgorICAgLSBhbGxvdyB0byBzcGVmaWN5IGVtcHR5IG1hc2tuYW1lcyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBtYXNrcyAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8gIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgYW5kIGNsZWFudXAgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgbWFza25hbWVzIG9wdGlvbmFsICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZHVwbGljYXRlICdjb25zdCcgZGVjbGFyYXRpb24gd2FybmluZyAgW1NhbWkgS2Vyb2xhXQoraW5jbHVkZS9vcHR1dGlsczoKKyAgIC0gZml4IHR5cG8gIFtLYXJlbCBaYWtdCitpbmNsdWRlL3N0YXRmc19tYWdpYzoKKyAgIC0gdXNlIG1hY3JvIHJhdGhlciB0aGFuIHR5cGUgZm9yIGZfdHlwZSAgW0thcmVsIFpha10KK2lvbmljZToKKyAgIC0gZHJvcCB0aGUgZHVwbGljYXRlIGRvY3N0cmluZyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQoraXBjKjoKKyAgIC0gdXNlIGN1c3RvbWFyeSBmcHV0cygpIGluc3RlYWQgb2YgZnByaW50ZigpIHdpdGggdGhlIHVzYWdlIG1hY3JvcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQoraXBjcm06CisgICAtIGFkZCBoYWNrcyB0byBhdm9pZCBGVEJGUyAgW0FuZHJlYXMgSGVucmlrc3Nvbl0KKyAgIC0gZml4IHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBnZXR0ZXh0aXplIHRoZSBjb21tYW5kIHN5bm9wc2lzIG9mIHRoZSB1c2FnZSB0ZXh0ICBbQmVubm8gU2NodWxlbmJlcmddCitpcGNzOgorICAgLSBmaXggc2htY3RsKCkgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0d28gZGF0YSB0eXBlIGVycm9ycyBbQWRkcmVzc1Nhbml0aXplcl0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW4gdXNhZ2Ugc2hvdyByZXNvdXJjZSBvcHRpb24gYXMgbm9ub3B0aW9uYWwgd2hlbiB1c2VkIHdpdGggLWkgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gcmVtYWluaW5nIGtGcmVlQlNEIGhhY2tlcnkgZm9yIGJ1aWxkaW5nLiAgW0F1cmVsaWVuIEphcm5vXQorICAgLSByZW1vdmUgRklYTUUgbWFya3VwICBbU2FtaSBLZXJvbGFdCitsYXN0OgorICAgLSBpbXByb3ZlIGNvZGUgcmVhZGFiaWxpdHkgYnkgcmVuYW1pbmcgdmFyaWFibGUgbmFtZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFrZSBpc19waGFudG9tKCkgd2hlbiBrZXJuZWwgY29uZmlnIGRvZXMgbm90IGluY2x1ZGUgYXVkaXQgc3VwcG9ydCAgW1NhbWkgS2Vyb2xhXQorbGRhdHRhY2g6CisgICAtIEdTTTA3MTAgc3VwcG9ydCwgYWRkIGludHJvIG1vZGVtIGNvbW1hbmQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmYWxsYmFjayBmb3IgTl9HU00wNzEwICBbS2FyZWwgWmFrXQorbGliOgorICAgLSBmaXggY3JjMzIgYW5kIGNyYzY0IGludGVnZXIgb3ZlcmZsb3dzIFtBZGRyZXNzU2FuaXRpemVyXSAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgeGdldHBhc3MoKSAgW1NhbWkgS2Vyb2xhXQorbGliL2Jsa2RldjoKKyAgIC0gcmVwb3J0IGNvcnJlY3QgZGlzayBzaXplIG9uIEdOVS9rRnJlZUJTRC4gVGhhbmtzIFR1Y28uICBbUm9iZXJ0IE1pbGxhbl0KK2xpYi9jb2xvcnM6CisgICAtIGFkZCBmdW5jdGlvbiB0byByZXR1cm4gY29sb3IgZnJvbSBzY2hlbWUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBkb3VibGUgZnJlZSBvbiBlcnJvciBwYXRoICBbQW5kcmVhcyBIZW5yaWtzc29uXQorICAgLSB1c2Ugc3RhdGljIGJ1ZmZlcnMgd2hlbiBwYXJzZSBzY2hlbWUgIFtLYXJlbCBaYWtdCitsaWIvaXNtb3VudGVkOgorICAgLSBtYWtlIGl0IG1vcmUgY29tcGF0aWJsZSB3aXRoIGxzYmxrIG91dHB1dCAgW0thcmVsIFpha10KK2xpYi9sb29wZGV2OgorICAgLSByZW1vdmUgdGVzdCBwcm9ncmFtICBbS2FyZWwgWmFrXQorICAgLSByZXBsYWNlIGN1c3RvbSBEQkcoKSB3aXRoIGluY2x1ZGUvZGVidWcuaCAgW0thcmVsIFpha10KK2xpYi9tYmFsaWduOgorICAgLSBmaXggdW5zaWduZWQgaW50ZWdlciBvdmVyZmxvdyBbQWRkcmVzc1Nhbml0aXplcl0gIFtTYW1pIEtlcm9sYV0KK2xpYi9zdHJ1dGlsczoKKyAgIC0gYWNjZXB0IG5vdCBqdXN0ICdCJyBidXQgYWxzbyBsb3dlcmNhc2UgJ2InIGluIGEgc2l6ZSBzdWZmaXggIFtCZW5ubyBTY2h1bGVuYmVyZ10KK2xpYi9zd2FwcHJvYmVyOgorICAgLSBhZGQgbWlzc2luZyBoZWFkZXIgZmlsZSAgW0thcmVsIFpha10KK2xpYi9zeXNmczoKKyAgIC0gYWRkIHN1YnN5c3RlbSBhbmQgaG90cGx1ZyBkZXRlY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIGFsbG93IHRvIHdyaXRlIHRvIHN5c2ZzIGF0dHJpYnV0ZXMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzc2l6ZV90IGZvciBzeXNmc19yZWFkbGluaygpIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KK2xpYmJsa2lkOgorICAgLSAoYmNhY2hlKSBmaXgga2V5cyB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgZml4IFBUIG9mZnNldCAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgdXNlIHJlYWwgc2VjdG9yIHNpemUgdG8gc2V0IFBUTUFHSUNfT0ZGU0VUICBbS2FyZWwgWmFrXQorICAgLSAoaGZzKSBhdm9pZCBvdmVyZmxvdyBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIChuaWxmcykgZml4IHR5cG8gIFtCb3JpcyBFZ29yb3ZdCisgICAtIGFzc3VtZSBzdHJ0b3VsbCgpIGlzIGF2YWlsYWJsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBjYXJlIGFib3V0IHVuc2FmZSBjaGFycyBpbiBjYWNoZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgZGVidWcsIGFkZCAiaGVscCIgZGVidWcgbWFzayAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV3BvaW50ZXItc2lnbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtYWNybyByZWRlZmluaXRpb24gW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggcG90ZW50aWFsIGJ1ZmVyIG92ZXJmbG93cyAgW1NlYmFzdGlhbiBLcmFobWVyXQorICAgLSBpbXByb3ZlIE1CUiB2cy4gRkFUICsgYm9vdCBzZWN0b3IgZGV0ZWN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHN0cmluZyB0cmltIGZ1bmN0aW9uIHRvIHN0cnV0aWxzLmggIFtLYXJlbCBaYWtdCisgICAtIHNldCBTQk1BR0lDIGZvciBuaWxmczIgIFtLYXJlbCBaYWtdCisgICAtIHN1cGVyYmxvY2tzICBBZGQgZnVuY3Rpb24gYmxraWRfcHJvYmVfc2V0X3V0ZjhfaWRfbGFiZWwgZm9yIHNldHRpbmcgdXRmOCBpZCBsYWJlbCAgW1BhbGkgUm9ow6FyXQorICAgLSB1ZGYgIEZpeCByZWFkaW5nIExBQkVMLCBhZGQgc3VwcG9ydCBmb3IgVVVJRCBhbmQgb3RoZXIgdWRmIGlkZW50aWZpZXJzICBbUGFsaSBSb2jDoXJdCisgICAtIHplcm9pemUgZXJybm8gb24gYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcigpIHN1Y2Nlc3MgIFtLYXJlbCBaYWtdCitsaWJmZGlzazoKKyAgIC0gKGJzZCkgYWRkIHNldF9wYXJ0KCkgQVBJICBbS2FyZWwgWmFrXQorICAgLSAoZG9jcykgZml4IHR5cG8gIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIGFsbG93IHRvIG1heGltaXplIHBhcnRpdGlvbiAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgYmUgc3VyZSB0aGF0IHNvcnRlZCBFQlIgbGlzdCBpcyB0ZXJtaW5hdGVkICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSBkZWxldGUgYWxzbyBsb2dpY2FsIHdpdGggZXh0ZW5kZWQgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIGRvbid0IGluZm9ybSBhYm91dCBsb2dpY2FsIHBhcnRpdGlvbiAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgZml4IE4tMSBlcnJvciBmb3IgcGFydGl0aW9uIHNpemUgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIGZpeCBib29hYmxlIGZsYWcgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIGZpeCBsb2dpY2FsIHBhcnRpdGlvbnMgYWRkL2RlbGV0ZSBjb2RlICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSBmaXggbG9naWNhbCBwYXJ0aXRpb25zIGVycm9ycyBoYW5kbGluZyAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgZml4IHR5cG8gIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIGZvbGxvdyBib290YWJsZSBzZXR0aW5nIHdoZW4gYWRkIHBhcnRpdGlvbiAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgZm9sbG93IGV4cGxpY2l0IHNpemVzICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSBpbXBsZW1lbnQgZmRpc2tfc2V0X3BhcnRpdGlvbigpIGJhY2tlbmQgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIG1ha2UgYSBoZWxwZnVsIG1lc3NhZ2UgZml0IHdpdGhpbiA4MCBjaGFyYWN0ZXJzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIChkb3MpIG1vcmUgY2FyZWZ1bGx5IGNoZWNrIGZvciBwcmltYXJ5IHBhcnRpdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIHJlc2V0IGxvZ2ljYWwgcGFydGl0aW9uIHN0dWZmIGFmdGVyIGVycm9yICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSBzZXQgcGFydGl0aW9uIHN0YXJ0L3NpemUgb25seSB3aGVuIHJlcXVlc3RlZCAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgdXNlIHNjcmlwdCBsYWJlbC1pZCAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgd3JpdGUgbmV3IGVtcHR5IGxhYmVsIHRvbyAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgYWRkIE1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyBHVUlEICBbU2VyZ2VpIEFudG9ub3ZdCisgICAtIChncHQpIGFsbG93IHRvIHNwZWNpZnkgYXR0ciBiaXQgYnkgQVBJICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBhbGxvdyB0byBzcGVjaWZ5IHV1aWQgYW5kIG5hbWUgd2hlbiBjcmVhdGUgbmV3IHBhcnRpdGlvbiAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgY2hlY2sgcmV0dXJuIGZyb20gR1VJRCBwYXJzZXIgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBjaGVjayBzdHJpbmdfdG9fZ3VpZCgpICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBjbGVhbnVwIGhlYWRlciBzaXplIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBkb24ndCBhbGlnbiBsYXN0IHBvc3NpYmxlIExCQSAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgZG9uJ3Qgb2ZmZXIgZmlyc3Qgc2VjdG9yIGJlZm9yZSB0aGUgZmlyc3QgcGFydGlvbiAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgZml4IE4tMSBlcnJvciBmb3IgcGFydGl0aW9uIHNpemUgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIGZvbGxvdyBleHBsaWNpdCBzaXplLCBmaXogc2l6ZSsxIGJ1ZiAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgZm9sbG93IGxhYmVsLWlkIGZyb20gc2NyaXB0ICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBpbXBsZW1lbnQgZmRpc2tfc2V0X3BhcnRpdGlvbigpIGJhY2tlbmQgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIG1ha2UgbW9kZSBtb3JlIHJlYWRhYmxlICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBwYXJzZSBhdHRyIGJpdHMgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIHJlbW92ZSAnQ3lsaW5kZXJzJyAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgc2V0X3tuYW1lLHV1aWR9IGZ1bmN0aW9ucyByZWZhY3RvcmluZyAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgdXNlIGdlbmVyaWMgQVBJIHRvIGNoYW5nZSBVVUlEIGFuZCBuYW1lICBbS2FyZWwgWmFrXQorICAgLSAoc2dpKSBhZGQgc2V0X3BhcnQoKSBBUEkgIFtLYXJlbCBaYWtdCisgICAtIGFjY2VwdCBTdGFydCBvZmZzZXQgaW4ge0IsTSxHLi59aUIgaW4gc2ZkaXNrIHNjcmlwdHMgIFtLYXJlbCBaYWtdCisgICAtIGFjY2VwdCBkdW1wIHdpdGggcXVvdGVzICBbS2FyZWwgWmFrXQorICAgLSBhY3R1YWxseSB0cmFuc2xhdGUgdGhlIGh1bWFuLXJlYWRhYmxlIG5hbWUgb2YgdGhlIHBhcnRpdGlvbiB0eXBlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGFkZCBBUEkgZG9jcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNvbW1lbnRzIHRvIGhlYWRlciBmaWxlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZG9jcyBmb3IgQlNEIGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGRvY3MgZm9yIERPUyBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBkb2NzIGZvciBHUFQgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZG9jcyBmb3IgU0dJIGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGRvY3MgZm9yIFNVTiBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBkb2NzIGZvciBpbml0IGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGRvY3MgZm9yIGl0ZXJhdG9yICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZmRpc2tfYXBwbHlfdGFibGUoKSBhbmQgZmRpc2tfZGVsZXRlX2FsbF9wYXJ0aXRpb25zKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmZGlza19jb3B5X3BhcnR0eXBlKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmZGlza19sYWJlbF9nZXRfZmllbGRfYnlfbmFtZSgpIGFuZCBjb25zdCBmb3IgbGFiZWxzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZmRpc2tfcGFydGl0aW9uX2lzX2Jvb3RhYmxlKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmZGlza19wYXJ0aXRpb25faXNfd2hvbGVkaXNrKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmZGlza19zZXRfcGFydGl0aW9uKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmdW5jdGlvbnMgdG8gYXBwbHkgcGFydGl0aW9uZyBzY3JpcHRzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZnVuY3Rpb25zIHRvIHBsYXkgbmFzdHkgZ2FtZXMgd2l0aCBmaXJzdC9sYXN0IExCQSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGdlb21ldHJ5IHRvIEFQSSwgY2xlYW51cCAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1vcmUgY29tbWVudHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCByZWYuY291bnRpbmcgdG8gYXNrIEFQSSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHJlZmVyZW5jZSB0byBjb250ZXh0IHRvIGR1bXAgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzb21lIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciBzZmRpc2stbGlrZSBzY3JpcHQgZm9ybWF0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdmVyc2lvbi5jICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyB0byBzcGVjaWZ5IHBhcnRpdGlvbiBzaXplIGJ5IGV4cGxpY2l0IG51bWJlciBvZiBzZWN0b3JzICBbS2FyZWwgWmFrXQorICAgLSBiYXNpYyBmZGlza19kdW1wXyogZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBBUEkgKGFsaWdubWVudC5jKSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgQVBJIChjb250ZXh0LmMpICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBkZWJ1ZywgYWRkIGhlbHAgZGVidWcgbWFzayAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBhc2sgQVBJLCBhZGQgY29tbWVudHMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgY29udGV4dCBkZXZuYW1lIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGZkaXNrX2lzX2xhYmVsIHN0dWZmICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGZkaXNrX3BhcnRpdGlvbl90b19zdHJpbmcoKSBjb21tZW50ICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGd0ay1kb2NzIHdhcm5pbmdzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGludGVybmFsIGRyaXZlcnMnIEFQSSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBsYWJlbCBnZW9tZXRyeSBBUEkgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgcGFydG5vIEFQSSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBwYXJ0dHlwZSBBUEkgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgc2NyaXB0IGR1bXAgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgc2NyaXB0IHNpemU9IGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGNvbnNvbGlkYXRlIHNjcmlwdCBwYXJzZXIgY29kZSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgYWxpZ24gdmVyeSBzbWFsbCBwYXJ0aXRpb25zICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB1c2Ugb2ZmX3QgaW4gcHVibGljIEFQSSAgW0thcmVsIFpha10KKyAgIC0gZXh0ZW5kIGR1bXAgcGFyc2luZyBmdW5jdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZmRpc2tfbGFiZWxfaXNfbGFiZWx0eXBlKCkgIFtLYXJlbCBaYWtdCisgICAtIGZkaXNrX3JlYWRfZmlyc3RzZWN0b3Igc2hvdWxkIHNlZWsgdG8gb2Zmc2V0IDAgIFtTYW11ZWwgVGhpYmF1bHRdCisgICAtIGZpbmFsIHBhcnR0eXBlIEFQSSBjbGVhbnVwICBbS2FyZWwgWmFrXQorICAgLSBmaXggYWRkX2xvZ2ljYWwoKSBhc3NlcnQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBidWcgaW4gY21wX251bWJlcnMoKSBhbmQgcGFydGl0aW9ucyBzb3J0aW5nICBbS2FyZWwgWmFrXQorICAgLSBmaXggY2ZkaXNrIGZyZWVzcGFjZSBhbmFseXplICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyAgW0thcmVsIFpha10KKyAgIC0gZml4IGZkaXNrX2RlbGV0ZV9hbGxfcGFydGl0aW9ucygpICBbS2FyZWwgWmFrXQorICAgLSBmaXggZmRpc2tfZ2V0X29wdGltYWxfaW9zaXplKCkgYW5kIHVwZGF0ZSB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gZml4IGZkaXNrX3BhcnRpdGlvbl9nZXRfcGFyZW50KCkgZG9jcyAgW0thcmVsIFpha10KKyAgIC0gZml4IGdldF9wYXJ0aXRpb25fdW51c2VkX3ByaW1hcnkoKSAgW0JvcmlzIEVnb3Jvdl0KKyAgIC0gZml4IGlzc3VlcyB3aXRoIHZlcnkgc21hbGwgcGFydGl0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gZml4IHBhcnRpdGlvbiBuYW1lcyBvbiBHTlUgSHVyZC4gIFtHYWJyaWVsZSBHaWFjb25lXQorICAgLSBmaXggcG9zc2libGUgbWVtIGxlYWsgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggc2NyaXB0IG5leHRfdG9rZW4oKSAgW0thcmVsIFpha10KKyAgIC0gZml4IHNjcmlwdCBwYXJzZXIgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzY3JpcHQgcGFyc2VyLCBhZGQgZGVidWcgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzY3JpcHQgcGFydGl0aW9ucyBzaXplIHBhcnNpbmcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzY3JpcHQgdW5pdCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBmaXggc29tZSB0eXBvcyAgW0thcmVsIFpha10KKyAgIC0gZml4IHN1biBhbmQgc2dpIHRvIGJlIHVzYWJsZSBmcm9tIHNmZGlzayAgW0thcmVsIFpha10KKyAgIC0gZml4IHRhYmxlX2FkZF9mcmVlc3BhY2UoKSwgYWRkIGRlYnVnIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyAgW0thcmVsIFpha10KKyAgIC0gZm9sbG93IGV4cGxpY2l0bHkgc3BlY2lmaWVkIHBhcnRpdGlvbiBzaXplICBbS2FyZWwgWmFrXQorICAgLSBncmFpbiBpcyBpbiBieXRlcywgZml4IHByZXZpb3VzIHBhdGNoZXMgIFtLYXJlbCBaYWtdCisgICAtIGlnbm9yZSB3aG9sZS1kaXNrIHBhcnRpdGlvbiB3aGVuIGNoZWNrIG9yZGVyICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGRlYnVnIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIGNvZGUgbW9yZSByZWFkYWJsZSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBmZGlza19wYXJ0aXRpb25fdG9fc3RyaW5nKCkgbW9yZSByb2J1c3QgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIGl0IHBvc3NpYmxlIHRvIGdldCBmaWVsZHMgZm9yIGFsbCBsYWJlcyAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgemVybyBmb3Igc2l6ZSBhbmQgc3RhcnQgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgbGFiZWwgbmFtZXMgY2FzZSBpbnNlbnNpdGl2ZSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBzY3JpcHQgaGVhZGVyIHBhcnNlciBtb3JlIHBlZGFudGljICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHllcy9ubyBkaWFsb2dzIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSBtb3JlIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgZmRpc2tfYXNrX3BhcnRudW0oKSB0byBBUEkgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgZ2V0X3BhcnR0eXBlcyB0byBsYWJlbCBBUEkgIFtLYXJlbCBaYWtdCisgICAtIHByb3BhZ2F0ZSBhc3NpZ24tZGV2aWNlIG9wZXJhdGlvbiB0byBwYXJlbnQgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSAnZW5kJyBmcm9tIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBkZWJ1ZyBkdW1wIGZ1bmN0aW9uLCBjbGVhbnVwIEFQSSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGRlcGVuZGVuY2Ugb24gbGlic21hcnRjb2xzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZmxhZ3MgZnJvbSBmZGlza19hc2sgQVBJICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgb2xkIGxhYmVsIGRyaXZlcycgQVBJIGZvciBwYXJ0dHlwZXMgIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSBhbmQgbW92ZSBmdW5jdGlvbiAgW0thcmVsIFpha10KKyAgIC0gcmVuYW1lIGZkaXNrX2NvbHVtbiB0byBmZGlza19maWVsZCAgW0thcmVsIFpha10KKyAgIC0gcmVuYW1lIGZkaXNrX2R1bXBfIHRvIGZkaXNrX3NjcmlwdF8gIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSBzZWN0b3JfdCB0byBmZGlza19zZWN0b3JfdCAgW0thcmVsIFpha10KKyAgIC0gcmV0dXJuIHBhcnRubyB3aGVuIGFkZCBuZXcgcGFydGl0aW9uICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IHVua25vd24gcGFydGl0aW9uIHR5cGVzIGluIHNmZGlzayBzY3JpcHRzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbmV3IHNldF9wYXJ0IEFQSSBpbiBmZGlza19zZXRfcGFydGl0aW9uX3R5cGUoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIHJlZmVyZW5jZSBjb3VudGluZyBmb3IgY29udGV4dCAgW0thcmVsIFpha10KKyAgIC0gdXNlIHNraXBfYmxhbmsoKSBpbiBzY3JpcHRzICBbS2FyZWwgWmFrXQorICAgLSB2YXJ5IGJhc2ljIGR1bXAgcGFyc2luZyBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCitsaWJtb3VudDoKKyAgIC0gKGRvY3MpIGFkZCBtb25pdG9yIGV4YW1wbGUgIFtLYXJlbCBaYWtdCisgICAtIChtb25pdG9yKSBhZGQga2VybmVsIG1vdW50bmluZm8gbW9uaXRvcmluZyAgW0thcmVsIFpha10KKyAgIC0gKG1vbml0b3IpIGNsZWFudXAgd2FpdC92ZXJpZnkgc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIChtb25pdG9yKSBtYWtlIG1udF9tb25pdG9yX25leHRfY2hhbmdlZCgpIHVzYWJsZSBmb3IgZXBvbGwgdmVyc2lvbiB0b28gIFtLYXJlbCBaYWtdCisgICAtIChtb25pdG9yKSB1c2UgaW5vdGlmeSBmb3IgdXRhYiBsb2NrIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIE1OVF9PTU9ERV9GT1JDRSB1c2FnZSAgW0ZyaWRvbGluIFBva29ybnldCisgICAtIGFkZCAtLWVuYWJsZS1saWJtb3VudC1mb3JjZS1tb3VudGluZm8gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBuZXcgbGlibW50X21vbml0b3IgQVBJICBbS2FyZWwgWmFrXQorICAgLSBhZGQgb3B0aW9ucyBtYXAgdG8gZG9jcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHByaXZhdGUgbW50X2NvbnRleHRfZ2V0X210YWJfZm9yX3RhcmdldCgpICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyB1bnNwZWNpZmllZCBzb3VyY2Ugb24gcmVtb3VudCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgZGVidWcsIGFkZCBoZWxwIGRlYnVnIG1hc2sgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgZ3RrLWRvY3Mgd2FybmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgbW9uaXRvciB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCByZXR1cm4gcm9vdCBpZiBwYXRoIGNvbnRhaW5zIC8vIG9yIGVuZGluZyAvICBbU8O4cmVuIEhvbG1dCisgICAtIGRvbid0IHVzZSAve3Byb2MsZXh0fS9maWxlc3lzdGVtcyB3aGVuIG1vcmUgZnMgdHlwZXMgc3BlY2lmaWVkICBbS2FyZWwgWmFrXQorICAgLSBmaXggbG9jayB0ZXN0IHRvIHVzZSByZWFsIHRpbWUgdG8gc3luYyAgW0thcmVsIFpha10KKyAgIC0gZml4IG1lbSBsZWFrIGluIGRvX21vdW50X2J5X3R5cGVzKCkgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtb3J5IG92ZXJmbG93IFtBZGRyZXNzU2FuaXRpemVyXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggbW50X2lzX3JlYWRvbmx5KCkgI2lmZGVmICBbS2FyZWwgWmFrXQorICAgLSBmaXggcG9zc2libGUgbWVtIGxlYWsgaW4gaGFzX3V0YWJfZW50cnkoKSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBlIHBvaW50ZXIgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB1dGFiIGVudHJ5IG9uIHJlbW91bnQgIFtLYXJlbCBaYWtdCisgICAtIGhpZGUgZGV0YWlscyBhYm91dCBmYWlsZWQgc2VhcmNoIGluIGZzdGFiL210YWIgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUga2VybmVsIGNvbW1hbmQgbGluZSBwYXJzaW5nICBbTWlrZSBGcnlzaW5nZXJdCisgICAtIGltcHJvdmUgbW50X3Jlc2V0X2ZzKCkgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgcmVtb3VudCBsb2dpYyAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBwdWJsaWMgdG9wLWxldmVsIG1vbml0b3IgRkQgb25seSAgW0thcmVsIFpha10KKyAgIC0gbW9uaXRvciB1bnJlZiBmdW5jdGlvbiByZWZhY3RvcmluZyAgW0thcmVsIFpha10KKyAgIC0gb25seSBpbmNsdWRlIGNvbnRleHQgb24gbGludXggIFtBbmRyZWFzIEhlbnJpa3Nzb25dCisgICAtIG9ubHkgaW52b2tlIGxvb3BjeHQgb24gbGludXggIFtBbmRyZWFzIEhlbnJpa3Nzb25dCisgICAtIHByb3ZpZGUgdmVyc2lvbiBhcyBpbnQgZm9yIGJldHRlciBjb21waWxldGltZSB0ZXN0ICBbU8O4cmVuIEhvbG1dCisgICAtIHJlYWQgdXRhYiBhbHdheXMgd2hlbiByZWFkIG10YWIgZnJvbSAvcHJvYyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGFzc2VydChhcmcpIGZyb20gcHVibGljIGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gcmV1c2UgYWxsb2NhdGVkIGZzIGluIHBhcnNlciAgW0thcmVsIFpha10KKyAgIC0gcmV2ZXJ0ICJyZWFkIG10YWIgb24gcmVtb3VudCIgaWRlYSAgW0thcmVsIFpha10KKyAgIC0gc3BsaXQgbW9uaXRvciBpbml0aWFsaXphdGlvbiAgW0thcmVsIFpha10KKyAgIC0gdXNlIC10IGZvciB0eXBlLnN1YnR5cGUgaW4gaGVscGVycyBBUEkgIFtLYXJlbCBaYWtdCitsaWJzL2RlYnVnOgorICAgLSBhY2NlcHQgaHVtYW4gcmVhZGFibGUgbmFtZXMgZm9yIF9ERUJVRz0gIFtPbmRyZWogT3ByYWxhXQorbGlic21hcnRjb2xzOgorICAgLSAoZG9jcykgaW1wcm92ZSBzZWN0aW9uIGRlc2NyaXB0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgZGVidWcsIGFkZCBoZWxwIGRlYnVnIG1hc2sgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgZ3RrLWRvY3Mgd2FybmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBkb2NzIG5hbWVzcGFjZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGFzc2VydChhcmcpIGZyb20gcHVibGljIGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGNoZWNrIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gdXNlIEFTQ0lJIGFydCBmb3IgdHJlZXMgcmF0aGVyIHRoYW4gcGFkZGluZyAgW0thcmVsIFpha10KK2xpYnV1aWQ6CisgICAtIGFkZCBleHRlcm4gcXVhbGlmaWVycyB0byB1dWlkL3V1aWQuaCBzeXN0ZW0gaGVhZGVyICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBfU1ZJRF9TT1VSQ0UgcHJlLXByb2Nlc3NvciBkZWZpbml0aW9uICBbU2FtaSBLZXJvbGFdCitsaW5lOgorICAgLSB1c2UgdXRpbC1saW51eCBjb252ZW50aW9ucyAgW1NhbWkgS2Vyb2xhXQorbGluZmRpc2s6CisgICAtIGNsZWFudXAgZnN5bmMgdXNhZ2UgIFtLYXJlbCBaYWtdCitsaW5tb3VudDoKKyAgIC0gKG1vbml0b3IpIHJlZnJlc2ggZG9jcywgaGVhZGVycyBhbmQgc3ltYm9scyB0YWJsZSAgW0thcmVsIFpha10KK2xvZ2dlcjoKKyAgIC0gYWRkIC0tc29ja2V0LWVycm9ycyBjb21wYXRpYmlsaXR5IG9wdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgZnVuY3Rpb24gcG9pbnRlciB0byBjaG9vc2UgaG93IGxvZ2dpbmcgaXMgZG9uZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgaG9zdG5hbWUgdG8gcmZjMzE2NCBtZXNzYWdlICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBwcm9jZXNzIC0taWQ9cGFyZW50IG9wdGlvbmFsIGFyZ3VtZW50ICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCByZmM1NDI0IHN1cHBvcnQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWxsb3cgdXNlIG9mIC0taWQ9cHBpZCB3aGVuIGxvZ2dpbmcgbG9jYWxseSAgW1NhbWkgS2Vyb2xhXQorICAgLSBjaGVjayBhdmFpbGFiaWxpdHkgb2YgbnRwX2dldHRpbWUoKSAgW1NhbXVlbCBUaGliYXVsdF0KKyAgIC0gY2xlYW4gdXAgc3RyaW5ncyB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gZG8gbm90IHJlbHkgb25seSBnZXRsb2dpbigzKSB0ZWxsaW5nIHdobyByYW4gdGhlIGNvbW1hbmQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZW5zdXJlIHByb2dyYW0gd3JpdGVzIGV2ZXJ5dGhpbmcgdG8gc3lzbG9nIGZpbGUgZGVzY3JpcHRvciAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggLWk9cHBpZCAgW0thcmVsIFpha10KKyAgIC0gZml4IGluZGVudGF0aW9uIGlzc3VlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggdW50cmFuc2xhdGVkIG1lc3NhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGdldHRpbWVvZmRheSBuZWVkcyA8c3lzL3RpbWUuaD4gIFtBbmRyZWFzIEhlbnJpa3Nzb25dCisgICAtIGltcHJvdmUgcmVhZGFibGl0eSBvZiBwZW5jb2RlKCkgZnVuY3Rpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW1wcm92ZSB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIC0tc3RkZXJyIHByaW50IHJlbW90ZSBzZXJ2ZXIgbWVzc2FnZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gb3B0aW1pemUgc3RyaW5nIGluaXRpYWxpemF0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSByZWZhY3RvciBsb25nIGlmIGNsYXVzZSAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgb3BlbmxvZygzKSBvcHRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIHJlcXVpcmUgLS17c2VydmVyLHNvY2tldH0gdG8gcmVtb3RlIHJmYzU0Mi9yZmMzMTY0IGxvZyAgW0thcmVsIFpha10KKyAgIC0gc2V0IGZ1bmN0aW9uIGFyZ3VtZW50cyByZWFkLW9ubHkgd2hlbiBwb3NzaWJsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSB0aWR5IHVwIG1haW4oKSBieSBhZGRpbmcgc21hbGwgZnVuY3Rpb25zIGFuZCBjdGwgZGF0YSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgZ2VuZXJpYyAtLWlkPTxpZD4gIFtLYXJlbCBaYWtdCisgICAtIHdhcm4gd2hlbiAtLWZpbGUgYW5kIGNvbW1hbmQgbGluZSBtZXNzYWdlIGFyZSBjb21iaW5lZCAgW1NhbWkgS2Vyb2xhXQorbG9naW46CisgICAtIEZpeCB1bnVzZWQgdmFyaWFibGVzIGluIGxvZ2luLmMgaWYgX0hBVkVfVVRfVFYgaXNuJ3QgZGVmaW5lZCAgW1dpbGwgSm9oYW5zc29uXQorICAgLSBmaXggbWVtIGxlYWsgaW4gaW5pdF9lbnZpcm9uKCkgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBpZ25vcmUgU0lHWEZTWiB3aGVuIHdyaXRlIHRvIGxhc3Rsb2cgIFtLYXJlbCBaYWtdCitsb2dpbi11dGlsczoKKyAgIC0gRW5hYmxlIGJ1aWxkaW5nIHV0aWwtbGludXggYWdhaW5zdCBPcGVuUEFNICBbV2lsbCBKb2hhbnNzb25dCisgICAtIHVzZSBsaWJjIGVycm9yIHByaW50aW5nIGZhY2lsaXR5ICBbU2FtaSBLZXJvbGFdCitsb29rOgorICAgLSByZW1vdmUgZGVhZCBjb2RlICBbU2FtaSBLZXJvbGFdCisgICAtIHNsaWNlIHVwIHRoZSB1c2FnZSB0ZXh0IGZvciBlYXNlIG9mIHRyYW5zbGF0aW9uICBbQmVubm8gU2NodWxlbmJlcmddCitsb3NldHVwOgorICAgLSBpbXByb3ZlIG1hbiBwYWdlIC1EIGRvY3MgIFtLYXJlbCBaYWtdCitsc2JsazoKKyAgIC0gYWRkIEhPVFBMVUcgY29sdW1uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgU1VCU1lTVEVNUyBjb2x1bW4gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub3RlcyBhYm91dCB1ZGV2IHRvIHRoZSBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW1wbGVtZW50IFNPTUVPSyAoPTY0KSByZXR1cm4gY29kZSAgW0thcmVsIFpha10KK2xzY3B1OgorICAgLSBhZGQgcy1QYXIgc3VwcG9ydCAgW0JlbmphbWluIFJvbWVyXQorICAgLSBibGFja2xpc3Qgdm13YXJlX2Jkb29yKCkgQWRkcmVzc1Nhbml0aXplciBjaGVjayAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbiB1cCB2bXdhcmUgaW5saW5lIGFzbSAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSBjbGVhbnVwIHBwYyB2aXJ0dWFsaXphdGlvbiBkZXRlY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIGRldGVjdCBhbHNvIFFFTVUgZW11bGF0aW9uIG9uIHBwYyAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIGVycm9yIFstV2Vycm9yPWZvcm1hdC1zZWN1cml0eV0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjcHBjaGVjayB3YXJuaW5ncyAgW0JvcmlzIEVnb3Jvdl0KKyAgIC0gZml4IHR5cG9zIGluIHBwYyBjb2RlICBbS2FyZWwgWmFrXQorICAgLSB0aGVvcmV0aWNhbCBidWZmZXIgb3ZlcmZsb3cgIFtUb2JpYXMgU3RvZWNrbWFubl0KK2xzbG9ja3M6CisgICAtIGZpeCB0eXBlIHdhcm5pbmcgIFtTYW1pIEtlcm9sYV0KK2xzbG9naW5zOgorICAgLSBhZGQgc3BhY2UgdG8gc3lzdGVtZCBqb3VybmFsIGhlYWRlciBhbmQgbWVzc2FnZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGlnbiB1c2FnZSgpIGFuZCBtYW51YWwgd2l0aCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzICBbU2FtaSBLZXJvbGFdCisgICAtIGFsbG93IGNoYW5naW5nIHBhc3N3b3JkIGNoYW5nZWQgYW5kIGV4cGlyYXRpb24gdGltZSBmb3JtYXRzICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFudXAgYWZ0ZXIgZXJyb3IgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggLWwgLWcgbG9naWMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBhc3NlcnRpb24gZmFpbHVyZSBmb3Igbm9uZSBleGlzdGluZyBsb2dpbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHNob3J0IG9wdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZnJlZSBhZnRlciBlcnJvciBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIG1ha2Ugam91cm5hbGQgbGFzdCBsb2dzIHRpbWUgc3RhbXBzIHRvIGhvbm9yIC0tdGltZS1mb3JtYXQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVqZWN0IHVua25vd24gdGltZSBmb3JtYXQgYXJndW1lbnRzICBbU2FtaSBLZXJvbGFdCisgICAtIHRlbGwgd2h5IGNvbW1hbmQgZmFpbGVkICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBoYXJkY29kZWQgcGF0aHMgZnJvbSBwYXRobmFtZXMuaCAgW1NhbWkgS2Vyb2xhXQorbWFpbnQ6CisgICAtIGZpeCBzaGFkb3cgZGVjbGFyYXRpb24gIFtTYW1pIEtlcm9sYV0KK21jb29raWU6CisgICAtIGF2b2lkIGZvcm1hdCB3YXJuaW5nICBbQmVybmhhcmQgVm9lbGtlcl0KK21pc2M6CisgICAtIHVzZSBtb25vdG9uaWMgdGltZSByYXRlciB0aGFuIGdldHRpbWVvZmRheSAgW0thcmVsIFpha10KK21rZnMubWluaXg6CisgICAtIGZpeCBjb3VwbGUgY29tcGlsZXIgd2FybmluZ3MgIFtTYW1pIEtlcm9sYV0KK21rc3dhcDoKKyAgIC0gYWRkIHN0cnVjdCBta3N3YXBfY29udHJvbCB0byByZW1vdmUgZ2xvYmFsIHZhcmlhYmxlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbHdheXMgdXNlIGhlYWRlciBmcm9tIGNvbnRyb2wgc3RydWN0ICBbS2FyZWwgWmFrXQorICAgLSBjb2Rpbmcgc3R5bGUgaW1wcm92ZW1lbnRzICBbS2FyZWwgWmFrXQorICAgLSBkZXZpY2Ugb3BlbiBjb2RlIHJlZmFjdG9yaW5nICBbS2FyZWwgWmFrXQorICAgLSBkZXZpY2Ugd3JpdGUgY29kZSByZWZhY3RvcmluZyAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBmaW5hbCByZXBvcnQgbW9yZSBodW1hbiByZWFkYWJsZSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSByZW1haW5pbmcgZnVuY3Rpb25zIHRvIHRha2UgY29udHJvbCBzdHJ1Y3R1cmUgYXMgYXJndW1lbnQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIG1lbW9yeSBsZWFrcyBbTGVha1Nhbml0aXplcl0gW3ZhbGdyaW5kXSAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgc3lzdGVtIGFyY2hpdGVjdHVyZSBzcGVjaWZpYyBtYXggc3dhcCBzaXplIGNoZWNrcyAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgdW5uZWNlc3Nhcnkgc2l6ZSBjaGVjayAgW1NhbWkgS2Vyb2xhXQorICAgLSBzZXQgdmFyaWFibGUgb25seSB3aGVuIGl0J3MgdmFsdWUgaXMga25vd24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGVycigpIHJhdGhlciB0aGFuIHBlcnJvcigpICYmIGV4aXQoKSAgW1NhbWkgS2Vyb2xhXQorICAgLSB2YXJpb3VzIG1pbm9yIGltcHJvdmVtZW50ICBbU2FtaSBLZXJvbGFdCittb3JlOgorICAgLSBibGFja2xpc3QgdW5zaWduZWQgaW50ZWdlciBvdmVyZmxvdyBbQWRkcmVzc1Nhbml0aXplcl0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzICBbS2FyZWwgWmFrXQorICAgLSBmaXggcmVwZWF0IHNlYXJjaCBjcmFzaCAgW1NhbWkgS2Vyb2xhXQorICAgLSByZXBsYWNlIGFkLWhvYyBzdXBwb3J0IGZvciBwbHVyYWxzIHdpdGggZ2V0dGV4dCBwbHVyYWxzLiAgW0xhdXJpIE51cm1pXQorbW91bnQ6CisgICAtIEFkZCBkb2N1bWVudGF0aW9uIG9mIEZBVCBtb3VudCBvcHRpb24gdGltZV9vZmZzZXQgIFtKYW4gS2FyYV0KKyAgIC0gRnVydGhlciBGQVQgbW91bnQgb3B0aW9uIHVwZGF0ZSAgW0phbiBLYXJhXQorICAgLSBjbGVhbiB1cCAtdCBpbmZvIGluIG1vdW50LjggYW5kIGZzdGFiLjUgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGlnbm9yZSBtdGFiIGZvciAtLWJpbmQgLW8gcmVtb3VudCAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSAtLW1vdmUgZG9jcyAgW0thcmVsIFpha10KK21vdW50cG9pbnQ6CisgICAtIGFkZCBzdHJ1Y3QgbW91bnRwb2ludF9jb250cm9sICBbU2FtaSBLZXJvbGFdCisgICAtIGNsYXJpZnkgdGhhdCBpdCB3b3JrcyBvbiBmaWxlcyAgW0RhdmUgUmVpc25lcl0KKyAgIC0gZHJvcCBTX0lTRElSIGNoZWNrICBbRGF2ZSBSZWlzbmVyXQorICAgLSBzaW1wbGlmeSBpZiBzdGF0ZW1lbnQgIFtTYW1pIEtlcm9sYV0KK25ld2dycDoKKyAgIC0gYXZvaWQgdXNlIG9mIG9ic29sZXRlIGdldHBhc3MoKSBmdW5jdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBtb3ZlIHNoZWxsIGRldGVybWluYXRpb24gY2xvc2VyIHdoZXJlIGl0IGlzIHVzZWQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc2V0IGZ1bmN0aW9uIGFyZ3VtZW50cyByZWFkLW9ubHkgd2hlbiBwb3NzaWJsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBzaW1wbGlmeSBpZiBlbHNlIGNsYXVzZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGxpYmMgZnVuY3Rpb24gdG8gcmVhZCBnc2hhZG93IGlmIGl0IGlzIGF2YWlsYWJsZSAgW1NhbWkgS2Vyb2xhXQorbnNlbnRlcjoKKyAgIC0gYWRkIC0tcHJlc2VydmUtY3JlZGVudGlhbHMgYW5kIGNsZWFudXAgc2V0Z3JvdXBzKCkgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGFsbG93IHRvIHVzZSAtLXNldHt1aWQsZ2lkfSBmb3IgYWxsIG5hbWVzcGFjZXMgIFtLYXJlbCBaYWtdCisgICAtIGtlZXAgc2VtYW50aWMgY29uc2lzdGVudCAgW0thcmVsIFpha10KK3BhcnR4OgorICAgLSBhZGQgLS11cGRhdGUgdG8gdWxfZXhjbF90d3EgbGlzdCAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdXNlICJoYXJkIGRyaXZlIiBpbiBtYW4gcGFnZXMgIFtLYXJlbCBaYWtdCisgICAtIHNpbXBsaWZ5IGEgLS12ZXJib3NlIHByb2dyZXNzIG1lc3NhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK3BvOgorICAgLSBtZXJnZSBjaGFuZ2VzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgY3MucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtQZXRyIFDDrXNhxZldCisgICAtIHVwZGF0ZSBkYS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0pvZSBIYW5zZW5dCisgICAtIHVwZGF0ZSBkZS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW01hcmlvIEJsw6R0dGVybWFubl0KKyAgIC0gdXBkYXRlIGVzLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbQW50b25pbyBDZWJhbGxvcyBSb2FdCisgICAtIHVwZGF0ZSBmaS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0xhdXJpIE51cm1pXQorICAgLSB1cGRhdGUgZnIucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtEYXZpZCBQcsOpdm90XQorICAgLSB1cGRhdGUgamEucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtUYWtlc2hpIEhhbWFzYWtpXQorICAgLSB1cGRhdGUgbmwucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXBkYXRlIHBsLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbSmFrdWIgQm9ndXN6XQorICAgLSB1cGRhdGUgcHRfQlIucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtSYWZhZWwgRmVycmVpcmFdCisgICAtIHVwZGF0ZSBydS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1BhdmVsIE1hcnlhbm92XQorICAgLSB1cGRhdGUgdWsucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtZdXJpIENob3Jub2l2YW5dCisgICAtIHVwZGF0ZSB2aS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1Ry4bqnbiBOZ+G7jWMgUXXDom5dCisgICAtIHVwZGF0ZSB6aF9DTi5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1d5bG1lciBXYW5nXQorICAgLSB1cGRhdGUgemhfVFcucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtXZWktTHVuIENoYW9dCityYXc6CisgICAtIGZpeCByYXcgcXVlcnkgIFtLYXJlbCBaYWtdCityZW5hbWU6CisgICAtIGFkZCBnZXRwcmlvcml0eSgpIG1lc3NhZ2UgbG9va3VwIHRhYmxlICBbU2FtaSBLZXJvbGFdCisgICAtIGFsbG93IHJlbmFtaW5nIGluIHN1YmRpcmVjdG9yaWVzICBbU2FtaSBLZXJvbGFdCisgICAtIGNvbnRpbnVlIGRlc3BpdGUgc29tZXRoaW5nIGZhaWxlZCAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgZnVuY3Rpb24gcG9pbnRlciB0byBzZWxlY3QgZmlsZSBvciBzeW1saW5rIG9wZXJhdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2Ugc3RycmNocigpIGluc3RlYWQgb2YgcmluZGV4KCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHVzYWdlIGFuZCB2ZXJzaW9uIHByaW50IG91dCBtYWNyb3MgIFtTYW1pIEtlcm9sYV0KK3JlbmljZToKKyAgIC0gYXZvaWQgaGF2aW5nIHNhbWUgbGluZXMgb2YgY29kZSB0d2ljZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBkaXNhbGxvdyAtLXByaW9yaXR5IDxhcmc+IHdpdGhvdXQgcGlkIGFyZ3VtZW50ICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBudW1lcmljIHVpZCBhcmd1bWVudCBwYXJzaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIHJlb3JkZXIgZnVuY3Rpb25zIHRvIGF2b2lkIG5lZWQgb2YgZnVuY3Rpb24gcHJvdG90eXBlICBbU2FtaSBLZXJvbGFdCisgICAtIHJlb3JkZXIgdXNhZ2UoKSBvcHRpb24gZGVzY3JpcHRpb25zICBbU2FtaSBLZXJvbGFdCitzY3JpcHQ6CisgICAtIG1heSBiZSBoYW5ncyAgW0FuZHJlYXMgSGVucmlrc3Nvbl0KKyAgIC0gbm8gbG9nZ2luZyBmb3Igbm9uLWludGVyYWN0aXZlIHNoZWxscyAgW1N0YW5pc2xhdiBCcmFiZWNdCisgICAtIHNjcmlwdC4xIEltcHJvdmUgZG9jdW1lbnRhdGlvbiBvZiBub24taW50ZXJhY3RpdmUgYmVoYXZpb3IgIFtTdGFuaXNsYXYgQnJhYmVjXQorc2V0YXJjaDoKKyAgIC0gY2xlYW51cCBvcHRpb25zIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBkaWZmZXJlbnRpYXRlIGJldHdlZW4gInVucmVjb2duaXplZCIgYW5kICJjYW5ub3Qgc2V0IiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggLS1saXN0ICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyAobWlzc2luZyBicmFjZXMpIGZvciBwcGNsZSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBtYWtlIHRoZSB1c2FnZSBzeW5vcHNpcyBjb21wcmVoZW5zaWJsZSBmb3IgdHJhbnNsYXRvcnMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gcHJpbnQgZXJyb3Igd2hlbiBjb21tYW5kIHJ1bnMgd2l0aG91dCBhcmd1bWVudHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVpbmRlbnQgY29kZSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgcGVyc29uYWxpdHkoKSBzeXN0ZW0gY2FsbCB3aGVuIGl0IGlzIGF2YWlsYWJsZSAgW1NhbWkgS2Vyb2xhXQorc2V0dGVybToKKyAgIC0gZml4IGR1YmlvdXMgb25lLWJpdCBzaWduZWQgYml0ZmllbGQgW3NtYXRjaCBzY2FuXSAgW1NhbWkgS2Vyb2xhXQorc2ZkaXNrOgorICAgLSAtLWxpc3QganVzdCBvbmUgZGV2aWNlICBbS2FyZWwgWmFrXQorICAgLSBhY3R1YWxseSB0cmFuc2xhdGUgdGhlIHRhYmxlIGhlYWRlcnMgYnkgY2FsbGluZyBnZXR0ZXh0KCkgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gYWRkIC0tYWN0aXZhdGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLWFwcGVuZCAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tYmFja3VwIGFuZCAtLWJhY2t1cC1maWxlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1kdW1wIGZ1bmN0aW9uYWxpdHkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLWxhYmVsLW5lc3RlZCBmb3IgaHlicmlkIEdQVCAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tbGlzdC10eXBlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tbmFtZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tbm8tYWN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1uby1yZXJlYWQgYW5kIC0tZm9yY2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLW91dHB1dCA8bGlzdD4gZm9yIHByaW50IGNvbW1hbmQocykgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXBhcnQtYXR0cnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXBhcnR0eXBlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1xdWlldCAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tc2hvdy1zaXplICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS11bml0IGFuZCAtLXNob3ctZ2VvbWV0cnksIHVwZGF0ZSBkZXByZWNhdGVkLnR4dCAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tdXVpZCBjb21tYW5kICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS12ZXJpZnkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjb21tZW50cywgcmVtb3ZlIHVubmVjZXNzYXJ5IGZ1bmN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZGVwcmVjYXRlZCAtLUxpbnV4ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBzdHVmZiB0byB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBhc2sgb24gRU9GICBbS2FyZWwgWmFrXQorICAgLSBiYXNpYyBtYWluKCkgYW5kIGZyaWVuZHMgIFtLYXJlbCBaYWtdCisgICAtIGJlIHNlbnNpdGl2ZSB0byBQVCBsaW1pdHMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgY29tbWVudHMgYW5kIGNvbW1hbmRfYWN0aXZhdGUoKSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBpc2F0dHkoKSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBvcHRpb24gbmFtZXMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgc3luYygpIHVzYWdlLCBmaXggLS1hY3RpdmF0ZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB1c2FnZSgpIGFuZCBsb25nIG9wdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAtLWJ5dGVzICBbS2FyZWwgWmFrXQorICAgLSBmaXggLS1pZCBmYWxsdGhyb3VnaCBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBhYm91dCB1bmluaXRpYWxpemVkIHZhcmlhYmxlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggdmVyc2lvbiB0eXBvcyBpbiBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gaW1wbGVtZW50IC0tbGlzdCAgW0thcmVsIFpha10KKyAgIC0gaW1wbGVtZW50IGNvbW1hbmRfZmRpc2soKSAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBVSSAgW0thcmVsIFpha10KKyAgIC0gaW4gdGhlIHVzYWdlIHRleHQgc2hvdyAtdiBmb3IgLS12ZXJzaW9uIGluc3RlYWQgb2YgLVYgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gaW5jbHVkZSBycG1hdGNoLmggIFtTYW1pIEtlcm9sYV0KKyAgIC0gbGVhdmUgb24gZXJyb3IgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgZHVtcCBmb3JtYXQgdXNhYmxlIG9uIHN0ZGluICBbS2FyZWwgWmFrXQorICAgLSBtb3JlIHVwZGF0ZSB0byB0aGUgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHJlcXVpcmUgY29uZmlybWF0aW9uIGJlZm9yZSB3cml0ZSB0byB0aGUgZGV2aWNlICBbS2FyZWwgWmFrXQorICAgLSByZXR1cm4gZGV0ZXJtaW5pc3RpYyB2YWx1ZSBmcm9tIHNmZGlza19kZWluaXQoKSAgW1NhbWkgS2Vyb2xhXQorICAgLSBzdXBwb3J0IC1OIGZvciBwcmltYXJ5IHBhcnRpdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBmZGlza19zZXRfcGFydGl0aW9uX3R5cGUoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIHBsdXJhbGl6ZWQgdHJhbnNsYXRpb24uICBbTGF1cmkgTnVybWldCitzdHJ1dGlsczoKKyAgIC0gZml4IHVuc2lnbmVkIGludGVnZXIgb3ZlcmZsb3dzIFtBZGRyZXNzU2FuaXRpemVyXSAgW1NhbWkgS2Vyb2xhXQorc3U6CisgICAtIGZpeCBtZW0gbGVhayBpbiBtb2RpZnlfZW52aXJvbigpIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gcHJpbnQgcHJvcGVyIGNvcmUgZHVtcCBtZXNzYWdlIHdoZW4ga2lsbGVkICBbcGNwYV0KK3N1bG9naW46CisgICAtIG1ha2Ugc3VyZSB0aGF0IGZhbGxiYWNrIEZEIGlzIHZhbGlkIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KK3N1bG9naW4sIGh3Y2xvY2s6CisgICAtIHVzZSB4dXNsZWVwKCkgaW5zdGVhZCBvZiB1c2xlZXAoKSAgW1NhbWkgS2Vyb2xhXQorc3dhcGxhYmVsOgorICAgLSBtb3ZlIHN3YXBvbi1jb21tb24gdG8gaW5jbHVkZSBkaXJlY3RvcnkgIFtTYW1pIEtlcm9sYV0KK3N3YXBvZmY6CisgICAtIHN3YXBvZmYgc3dhcCBmaWxlcyBieSBMQUJFTCBhbmQgVVVJRCAgW0thcmVsIFpha10KK3N3YXBvbjoKKyAgIC0gYWRkIC1vIDxsaXN0PiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG1vdW50ICBbS2FyZWwgWmFrXQorICAgLSBhbGlnbiBhdmFpbGFibGUgY29sdW1ucyBzZWN0aW9uIGluIHVzYWdlKCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZG9uJ3QgcHJpbnQgZXJyb3JzIGFzIGRhdGEgaW4gc21hcnRjb2xzIHRhYmxlICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB1c2UgZW1wdHkgc3RyaW5ncyBmb3Igc21hcnRjb2xzIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBtYW4gcGFnZSBub3RlcyBhYm91dCBob2xlcyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGV4dHJhIHdvcmQgZnJvbSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGludmFsaWQgZXJyb3Igc3RyaW5nIHByaW50IG91dHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmV3b3JkIHNvbWUgdXNhZ2Ugc3RyaW5ncyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBzaGFyZSBnZXRfc3dhcF9wcm9iZXIoKSB3aXRoIHN3YXBsYWJlbCB0byBwcmludCB1dWlkIGFuZCBsYWJlbCAgW1NhbWkgS2Vyb2xhXQorICAgLSBzcGxpdCBzd2Fwb24tY29tbW9uLmMgIFtLYXJlbCBaYWtdCitzd2l0Y2hfcm9vdDoKKyAgIC0gZG9jdW1lbnQgdGhhdCBtYWludGFpbnMgL3J1biB0b28gIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgc3RhdGZzLT5mX3R5cGUgcG9ydGFiaWxpdHkgIFtLYXJlbCBaYWtdCit0YWlsZjoKKyAgIC0gc2xpY2UgdXAgdGhlIHVzYWdlIHRleHQgZm9yIGVhc2Ugb2YgdHJhbnNsYXRpb24gIFtCZW5ubyBTY2h1bGVuYmVyZ10KK3Rlcm1pbmFsLWNvbG9ycy5kOgorICAgLSBhZGQgZGVidWcgc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub3RlIGFib3V0IGNvbW1lbnRzIHRvIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggZmlsdGVyIGJ5IG5hbWUgIFtLYXJlbCBaYWtdCit0ZXN0czoKKyAgIC0gQWRkIFVERiBoZGQgaW1hZ2UgY3JlYXRlZCBieSBMaW51eCBta3VkZmZzICBbUGFsaSBSb2jDoXJdCisgICAtIEFkZCBVREYgaGRkIGltYWdlIGNyZWF0ZWQgYnkgTGludXggbWt1ZGZmcyB3aXRoIGN1c3RvbSBwYXJhbXMgIFtQYWxpIFJvaMOhcl0KKyAgIC0gQWRkIFVERiBoZGQgaW1hZ2UgY3JlYXRlZCBieSBOZXRCU0QgbmV3ZnNfdWRmIChmcm9tIFVERmNsaWVudCAwLjcuNSkgIFtQYWxpIFJvaMOhcl0KKyAgIC0gQWRkIFVERiBoZGQgaW1hZ2UgY3JlYXRlZCBieSBOZXRCU0QgbmV3ZnNfdWRmIChmcm9tIFVERmNsaWVudCAwLjcuNykgIFtQYWxpIFJvaMOhcl0KKyAgIC0gQWRkIFVERiBoZGQgaW1hZ2UgY3JlYXRlZCBieSBXaW5kb3dzIDcgIFtQYWxpIFJvaMOhcl0KKyAgIC0gRmFsbCBiYWNrIG9uIGhvc3QvZ2V0ZW50IGluIHRzX3Jlc29sdmVfaG9zdCAgW0FuZHJlYXMgSGVucmlrc3Nvbl0KKyAgIC0gYWRkIFBNQlIgc2ZkaXNrIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBibGtkaXNjYXJkIG9mZnNldHMgdGVzdCAgW0ZlZGVyaWNvIFNpbW9uY2VsbGldCisgICAtIGFkZCBkZWJ1ZyB0ZXN0cyAgW09uZHJlaiBPcHJhbGFdCisgICAtIGFkZCBmdW5jdGlvbiB0byBjaGFuZ2UgZGlyZWN0b3J5IHJlbGlhYmxlIHdheSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgbW9yZSBnZXRvcHQgdGVzdHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIG1vdW50IC10IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCByZW5hbWUoMSkgY2hlY2tzICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCByZW5hbWUoMSkgcmV0dXJuIHZhbHVlIGNoZWNrICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBzZmRpc2sgR1BUIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc2ZkaXNrIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFsbG93IG5vbi1pbm90aWZ5IHRhaWxmIHRvIGtlZXAgdXAgIFtBbmRyZWFzIEhlbnJpa3Nzb25dCisgICAtIGFwcGx5IHRyYXZpcyBjbGFuZyBQQVRIIHdvcmthcm91bmQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2hlY2sgZm9yIHdpcGVmcyBhbmQgaGVscGVycyBpbiBmZGlzayB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBsaWJtb3VudCBkZWJ1ZyB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBjb3B5IHRlc3Qtc3VpdGUgZnJvbSBGcm9kbyBMb29pamFhcmQncyBnZXRvcHQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZG9uJ3QgY2hlY2sgdGhlIGN1cnJlbnQgaXBjcyBsaW1pdHMgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGhhcmRjb2RlIGRldm5hbWVzICBbS2FyZWwgWmFrXQorICAgLSBmaXggZmRpc2svYnNkIGFnYWluIGZvciBiaWcgZW5kaWFuICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBmZGlzay9ic2QgZm9yIHRoZSB0d28gcG9zc2libGUgc2VjdG9ycy9vZmZzZXRzICBbQXVyZWxpZW4gSmFybm9dCisgICAtIGZpeCBtZW1vcnkgbGVhayBbQWRkcmVzc1Nhbml0aXplcl0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHJlbmFtZSBzdWJkaXIgY2hlY2sgdGhhdCB3YXMgZmFpbGluZyBpbiB0cmF2aXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHN3YXBsYWJlbCB0ZXN0IGZvciA5YTgzYjAzYyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggdGhlIGlwY3MgdGVzdCBmb3Igc2htYWxsIGJlaW5nIHRvbyBiaWcgdG8gc2hvdyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBzb21lIHdvcmRpbmdzIG9mIHRoZSBvdXRwdXQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0ga2lsbCBvdXRwdXQgbWVzc2FnZSBjaGFuZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFrZSBpcGNzIGxpbWl0IGNhbGN1bGF0aW9ucyB3b3JrIHdoZW4gbnVtYmVycyBhcmUgbGFyZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFyayBweXRob24gbGlibW91bnQgdGVzdHMga25vd24gdG8gZmFpbCB3aXRoIEFkZHJlc3NTYW5pdGl6ZXIgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcHl0aG9uIHRlc3RzIHNob3VsZCBub3QgcmVtb3ZlIHVzZXIncyBMRF9MSUJSQVJZX1BBVEggIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gc2NzaV9kZWJ1ZyB3b3JrYXJvdW5kICBbS2FyZWwgWmFrXQorICAgLSBzaW1wbGlmeSBhbmQgdXBkYXRlIHN3YXBsYWJlbCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBza2lwIGtpbGwgLVNFR1YgdGVzdCB3aGVuIHJ1bm5pbmcgQWRkcmVzc1Nhbml0aXplciAgW1NhbWkgS2Vyb2xhXQorICAgLSB0ZXN0IGNhenkgc2l6ZXMgZm9yIHNmZGlzayAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIE1CUiBzb3J0IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBVREYgdGVzdCAoYWRkIGlkZW50aWZpZXJzKSAgW1BhbGkgUm9ow6FyXQorICAgLSB1cGRhdGUgYnNkIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBidWlsZCB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGJ1aWxkLXN5cyB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGZkaXNrIGZvcm1hdHRpbmcgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBmZGlzayB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHNmZGlzayB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHRzX2NkIGV2ZXJ5d2hlcmUgdG8gY2hhbmdlIGRpcmVjcm9yeSAgW1NhbWkgS2Vyb2xhXQordGV4dHVhbDoKKyAgIC0gImFtYml2YWxlbnQiIGFwcGxpZXMgdG8gaW50ZW50aW9ucywgImFtYmlndW91cyIgdG8gcmVzdWx0cyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBhZGQgYSBjb21tYSBmb3IgY2xhcml0eSwgcGx1cyBzb21lIG90aGVyIHR3ZWFrcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBhZGQgYSBkb2NzdHJpbmcgdG8gbW9zdCBvZiB0aGUgdXRpbGl0aWVzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGFuZ3VsYXIgYnJhY2tldHMgYXJvdW5kIGEgbm9uLWxpdGVyYWwgYXJndW1lbnQsIHNpbmd1bGFyICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGRvIG5vdCBzdGFydCBvcHRpb24gZGVzY3JpcHRpb25zIHdpdGggYSBjYXBpdGFsICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGZpeCBjb3VwbGUgdHlwb3MgaW4gY29tbWVudHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHNvbWUgdHlwb3MgYW5kIGluY29uc2lzdGVuY2llcyBpbiB2YXJpb3VzIG1lc3NhZ2VzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGZpeCBzcGVsbG9zIGFuZCBpbmNvbnNpc3RlbmNpZXMgaW4gc2V2ZXJhbCBwcm9ncmFtIG1lc3NhZ2VzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGZpeCB2YXJpb3VzIG1pbm9yIHR5cG9zICBbWXVyaSBDaG9ybm9pdmFuXQorICAgLSBncmFtbWFyaXplIGFuIGVycm9yIG1lc3NhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZ3JhbW1hcml6ZSBhbiBpbmZvcm1hdGl2ZSBtZXNzYWdlLCBhbmQgdHdlYWsgc29tZSBjb21tZW50cyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBncmFtbWFyaXplIGFuZCBoYXJtb25pemUgdGhlIHN0YXQgZXJyb3IgbWVzc2FnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBncmFtbWFyaXplIGFub3RoZXIgZXJyb3IgbWVzc2FnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbXByb3ZlIGVycm9yIG1lc3NhZ2VzICBbU2FtaSBLZXJvbGFdCisgICAtIGxpc3QgdGhlIG9wdGlvbnMgb2Ygc2V0YXJjaCBpbiBhIG1vcmUgYWxwaGFiZXRpY2FsIG9yZGVyICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIG1ha2UgdGhlIGxpY2Vuc2Ugb2YgY2hydCBhbmQgdGFza3NldCBzbGlnaHRseSBtb3JlIGV4cGxpY2l0ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIG5vdCB1c2luZyBhbmd1bGFyIGJyYWNrZXRzIGFyb3VuZCBsaXRlcmFsIGFyZ3VtZW50cyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBwdXQgb3B0aW9uIGFuZCBpdHMgZGVzY3JpcHRpb24gaW50byBhIHNpbmdsZSB0cmFuc2xhdGFibGUgc3RyaW5nICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHJlbW92ZSBzb21lIGluY29uc2lzdGVudCBwZXJpb2RzIGZyb20gZXJyb3IgbWVzc2FnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gc2hhcmUgY3J5cHQoKSBlcnJvciBtZXNzYWdlIGluIHN1bG9naW4gYW5kIG5ld2dycCAgW1NhbWkgS2Vyb2xhXQorICAgLSBzbGljZSB1cCB0aGUgdXNhZ2UgdGV4dCBvZiBzd2Fwb24gZm9yIGVhc2Ugb2YgdHJhbnNsYXRpb24gIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gc29ydCB0aGUgb3B0aW9ucyBpbiB0aGUgdXNhZ2UgdGV4dCBvZiBzZmRpc2sgYWxwaGFiZXRpY2FsbHkgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdGhlcmUgbWF5IGJlIG5vIHNwYWNlIGJldHdlZW4gb3B0aW9uIGFuZCBvcHRpb25hbCA9YXJnICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHVzZSBhIHNvbWV3aGF0IGNsZWFyZXIgYW5kIG1vcmUgc3RhbmRhcmQgZmFpbHVyZSBtZXNzYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHVzZSBhbmd1bGFyIGJyYWNrZXRzIGFyb3VuZCBlYWNoIGluZGl2aWR1YWwgYXJndW1lbnQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXNlIG1hbnVhbCB0YWlsIHVzYWdlKCkgbWFjcm8gIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHVzYWdlKCkgdGV4dCBlbGVtZW50IG1hY3JvcyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgdmVyc2lvbiBwcmludGluZyBtYWNybyBldmVyeXdoZXJlICBbU2FtaSBLZXJvbGFdCisgICAtIHVzaW5nIGFuZ3VsYXIgYnJhY2tldHMgYXJvdW5kIGluZGl2aWR1YWwgYXJndW1lbnRzICBbQmVubm8gU2NodWxlbmJlcmddCit0b29sczoKKyAgIC0gY2hlY2ttYW4uc2ggcG9ydGFiaWxpdHkgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gY2hlY2ttYW4uc2ggcG9ydGFiaWxpdHkgbGV4Z3JvZyAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBjaGVja21hbnMuc2ggYWRkIHN0YXRzICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIGNoZWNrbWFucy5zaCBjbGVhbiB1cCAnbGV0JyAgW0ogV2lsbGlhbSBQaWdnb3R0XQordHJhdmlzOgorICAgLSB3aGl0ZWxpc3QgYnJhbmNoZXMgIFtLYXJlbCBaYWtdCit1bDoKKyAgIC0gZml4IGZpbHRlcigpIGluZGVudGF0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSB1bmV4cGxhaW5lZCBURVJNPWxwciBvdmVycmlkZSAgW1NhbWkgS2Vyb2xhXQordW1vdW50OgorICAgLSByZWFkIG1vdW50aW5mbyBpZiAtLWRldGFjaC1sb29wIGdpdmVuICBbUm9iZXJ0IFNjaGllbGVdCit1bnNoYXJlOgorICAgLSBGaXggLS1tYXAtcm9vdC11c2VyIHRvIHdvcmsgb24gbmV3IGtlcm5lbHMgIFtFcmljIFcuIEJpZWRlcm1hbl0KKyAgIC0gYWRkIC0tc2V0Z3JvdXBzPWRlbnl8YWxsb3cgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzb21lIGV4YW1wbGVzICBbTHVib21pciBSaW50ZWxdCit1dG1wZHVtcDoKKyAgIC0gZG9uJ3QgcGFzcyBwYXJhbWV0ZXIgb2YgdHlwZSAic3RydWN0IHV0bXAiIGJ5IHZhbHVlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KK3V1aWRkOgorICAgLSBGaXhlZCBhIHR5cG8gaW4gZGFlbW9uIGxvZ2dpbmcgbWVzc2FnZSAgW05pa29sYXkgU2l2b3ZdCit2YXJpb3VzOgorICAgLSBlcmFzZSBhbGwgdHJhY2VzIG9mIHRoZSBsb25nLW9ic29sZXRlIGV4dCBmaWxlc3lzdGVtICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGVyYXNlIGFsbCB0cmFjZXMgb2YgdGhlIGxvbmctb2Jzb2xldGUgeGlhZnMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK3dhbGw6CisgICAtIHdyYXAgbWVzc2FnZSBoZWFkZXIgd2hlbiBpdCBleGNlZWRzIDc5IGNoYXJhY3RlcnMgIFtTYW1pIEtlcm9sYV0KK3doZXJlaXM6CisgICAtIGNsZWFudXAgZGVidWcgc3R1ZmYsIGZpeCBhcmd2W10gdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGxvb2t1cCBhbHNvIGluZm8gZG9jcyAgW0thcmVsIFpha10KKyAgIC0gcmVzZXQgc2VhcmNoIG1hc2sgbW9yZSBjYXJlZnVsbHkgIFtLYXJlbCBaYWtdCit3aXBlZnM6CisgICAtIGZpeCBGRCBsZWFrIG9uIGVycm9yIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KK3pyYW1jdGw6CisgICAtIGFkZCBiYXNoIGNvbXBsZXRpb24gc2NyaXB0ICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBkZXRhaWxzIHRvIC0tc2l6ZSBvcHRpb24gZG9jdW1lbnRhdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBjYW5ub25pY2FsaXplIGRldm5hbWUgd2hlbiBubyBmdWxscGF0aCBzcGVjaWZpZWQgIFtLYXJlbCBaYWtdCisgICAtIGZhaWwgc3RhdHVzIHByaW50b3V0IHdoZW4gZGV2aWNlIGRvZXMgbm90IGV4aXN0ICBbS2FyZWwgWmFrXQorICAgLSBmaXggdGhlIHdvcmRpbmcgb2Ygc29tZSBtZXNzYWdlIHN0cmluZ3MgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IHR5cG8gIFtLYXJlbCBaYWtdCisgICAtIGZpeGVkIHR3byAtV2Zvcm1hdC1zZWN1cml0eSB3YXJuaW5ncyAgW1N0ZXZlbiBIb25leW1hbl0KKyAgIC0gaW1wcm92ZSBlcnJvciBtZXNzYWdlICBbU2FtaSBLZXJvbGFdCisgICAtIGltcHJvdmUgb3B0aW9uIGNvbWJpbmF0aW9uIGVycm9yIG1lc3NhZ2luZyAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgZXh0cmEgXG4gZnJvbSB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbmV3IGNvbW1hbmQgdG8gY29udHJvbCAvZGV2L3pyYW1OIGRldmljZXMgIFtLYXJlbCBaYWssIFRpbW9mZXkgVGl0b3ZldHNdCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjI3LVJlbGVhc2VOb3RlcyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjctUmVsZWFzZU5vdGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUzZWQ5N2YKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjI3LVJlbGVhc2VOb3RlcwpAQCAtMCwwICsxLDc2NSBAQAorVXRpbC1saW51eCAyLjI3IFJlbGVhc2UgTm90ZXMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK1RoZSBjb21tYW5kIHRhaWxmIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIHRhaWwgLWYgZnJvbSBjb3JldXRpbHMuCisKK1RoZSBjb21tYW5kIHVuc2hhcmUgcHJvdmlkZXMgYSBuZXcgb3B0aW9uIC0tcHJvcGFnYXRpb249c2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkCit0byBjb250cm9sIHByb3BhZ2F0aW9uIGluIG1vdW50IG5hbWVzcGFjZXMuIFRoZSBkZWZhdWx0IGlzICJwcml2YXRlIiBub3cuIFRoZQorbmV3IGRlZmF1bHQgdW5pZmllcyB1bnNoYXJlIGJlaGF2aW9yIGFuZCBtYWtlcyBpdCBpbmRlcGVuZGVudCBvZiBkaXN0cmlidXRpb24KK2RlZmF1bHQuIFRoZSB1bnNoYXJlIHN1cHBvcnRzIHBlcnNpc3RlbnQgbmFtZXNwYWNlcyB0b28gKG5vIHByb2Nlc3MgaGFzIHRvIHJ1bgordG8ga2VlcCBuYW1lc3BhY2UgaW4gZXhpc3RlbmNlKS4KKworVGhlIGNvbW1hbmQgbW91bnQoOCkgc3VwcG9ydHMgcmVhZC1vbmx5IGJpbmRzIGluIG9uZSBzdGVwIGJ5IHRoZSBvcHRpb25zCisiYmluZCxybyIgKGNvbW1hbmQgbGluZSBvciBmc3RhYikuIFRoaXMgZmVhdHVyZSBpcyBpbXBsZW1lbnRlZCBieSBhZGRpdGlvbmFsCityZW1vdW50IG1vdW50KDIpIHN5c2NhbGwgYW5kIGl0IGlzIG5vdCBhdG9taWMuCisKK1RoZSBjb21tYW5kcyBmZGlzayBhbmQgc2ZkaXNrIGNhbiBiZSBjb21waWxlZCB3aXRoIEdOVSByZWFkbGluZSBzdXBwb3J0IHRvCitpbXByb3ZlIHRoZWlyIGxpbmUtZWRpdGluZyBmdW5jdGlvbmFsaXR5LgorCitUaGUgbGlicmFyeSBsaWJzbWFydGNvbHMgYW5kIHRoZSBjb21tYW5kcyBmaW5kbW50LCBsb3NldHVwLCBsc2JsaywgbHNsb2NrcywKK3NmZGlzayBhbmQgbHNpcGMgcHJvdmlkZSBvdXRwdXQgaW4gSlNPTiBmb3JtYXQuCisKK1RoZSBjb21tYW5kIG1rZnMgKGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIG1rZnMuPHR5cGU+KSBkb2VzIG5vdCB1c2UgaGFyZC1jb2RlZAorcGF0aHMsIGJ1dCBpdCBmb2xsb3dzICRQQVRILgorCitUaGUgY29tbWFuZCBzY3JpcHQgaGFzIGJlZW4gbWFzc2l2ZWx5IGltcHJvdmVkIHRvIGJlIG1vcmUgcm9idXN0IGFuZCBsZXNzCitjb21wbGV4LiAgTm93IGFsbCBpcyBpbXBsZW1lbnRlZCBieSBvbmUgcHJvY2VzcyB3aGljaCBtb25pdG9ycyB0aGUgcnVubmluZworc2Vzc2lvbiBieSBwb2xsKCksIHNpZ25hbGZkKCksIGV0Yy4KKworVGhlIGNvbW1hbmQgc3Vsb2dpbiBzdXBwb3J0cyBsb2NrZWQgcm9vdCBhY2NvdW50cyBpZiB0aGUgY29tbWFuZC1saW5lIG9wdGlvbgorLS1mb3JjZSBpcyBzcGVjaWZpZWQuIFJlYWQgdGhlIHN1bG9naW4gbWFuIHBhZ2UgYmVmb3JlIHlvdSB1c2UgaXQhCisKK1RoZSBjb21tYW5kIGFnZXR0eSByZWxvYWRzIHRoZSBwcm9tcHQgb24gYWRkcmVzcyBjaGFuZ2VzIGlmIG5ldHdvcmsgaW5mb3JtYXRpb24KK2lzIGRpc3BsYXllZC4KKwordXRpbC1saW51eCBub3cgc3VwcG9ydHMgYW5kIGVuYWJsZXMgY29sb3JzIGJ5IGRlZmF1bHQuIEl0IGlzIHBvc3NpYmxlIHRvIGNoYW5nZQordGhpcyBiZWhhdmlvciB3aXRoIC0tZGlzYWJsZS1jb2xvcnMtZGVmYXVsdCB0byBiZSBtb3JlIHVzZXItZnJpZW5kbHkgdG8gY29sb3JibGluZAorcGVvcGxlLiBUaGUgY29sb3JzIGNhbiBzdGlsbCBiZSBlbmFibGVkIGJ5IGVkaXRpbmcgL2V0Yy90ZXJtaW5hbC1jb2xvcnMuZC4gU2VlCit0ZXJtaW5hbC1jb2xvcnMuZCg1KS4KKworVGhlIGNvbW1hbmQgY2ZkaXNrIGRpc3BsYXlzIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNlbGVjdGVkIHBhcnRpdGlvbgorKHBhcnRpdGlvbiBVVUlELCBmaWxlc3lzdGVtIGlkZW50aWZpZXJzLCBtb3VudHBvaW50LCBldGMuKS4gVGhpcyBleHRyYSB3aW5kb3cKK2NhbiBiZSB0b2dnbGVkIHdpdGggdGhlICd4JyBrZXkuCisKK1RoZSBjb21tYW5kIGZkaXNrIHByb3ZpZGVzIGEgbmV3IGNvbW1hbmQgJ0YnIHRvIHByaW50IGZyZWUsIHVucGFydGl0aW9uZWQgc3BhY2UKKyhnYXBzKSBvbiB0aGUgZGlzay4gVGhlIHNhbWUgZnVuY3Rpb25hbGl0eSBpcyBwcm92aWRlZCBieSBzZmRpc2sgdGhyb3VnaCB0aGUKK29wdGlvbiAtLWxpc3QtZnJlZS4gIFRoZSBmZGlzayBjb21tYW5kIHdpcGVzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGRldmljZSBieQorZGVmYXVsdDsgdGhlIG5ldyBvcHRpb24gLS1wcm90ZWN0LWJvb3QgZGlzYWJsZXMgdGhpcyBiZWhhdmlvci4gVGhlIG5ldyBmZGlzaworY29tbWFuZCAnaScgcHJvdmlkZXMgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBhIHNwZWNpZmllZCBwYXJ0aXRpb24uCisKK1RoZSBjb21tYW5kIGNhbCBzdXBwb3J0cyB0aGUgbmV3IG9wdGlvbnMgLS10d2VsdmUgYW5kIC0tbW9udGhzIDxuPiB0byBkaXNwbGF5Cit0aGUgbmV4dCB0d2VsdmUgb3IgPG4+IG1vbnRocy4KKworVGhlIGNvbW1hbmQgcnRjd2FrZSBzdXBwb3J0cyBhIG5ldyBvcHRpb24gLS1saXN0LW1vZGVzIHRvIGxpc3QgYXZhaWxhYmxlIG1vZGVzLAorYW5kIGEgbmV3IG9wdGlvbiAtLWRhdGUgZm9yIGh1bWFuLXJlYWRhYmxlIHRpbWVzLiBydGN3YWtlIGRvZXMgbm90IHN1cHBvcnQKK1JUQ19BTE1fUkVBRCBhbmQgUlRDX0FMTV9TRVQgZmFsbGJhY2tzIGFueSBtb3JlLgorCitUaGUgdXRpbC1saW51eCBjb2RlIGlzIHBvc3NpYmxlIHJlYnVpbGQgd2l0aCAtLWRpc2FibGUtYXNzZXJ0IG5vdy4KKworCitTZWN1cml0eSBpc3N1ZXMKKy0tLS0tLS0tLS0tLS0tLQorCitDVkUtMjAxNS01MjI0IC0gY2hmbiwgY2hzaCBmaWxlIG5hbWUgY29sbGlzaW9uIGR1ZSB0byBpbmNvcnJlY3QgbWtzdGVtcCB1c2UgaWYKKyAgICAgICAgICAgICAgICBjb21waWxlZCB3aXRob3V0IGxpYnVzZXIuCisgICAgICAgICAgICAgICAgW3RoYW5rcyB0byBRdWFseXMgU2VjdXJpdHkgQWR2aXNvcnkgdGVhbTsgcXVhbHlzLmNvbV0KKworCitTdGFibGUgbWFpbnRlbmFuY2UgcmVsZWFzZXMgYmV0d2VlbiB2Mi4yNiBhbmQgdjIuMjcKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCit1dGlsLWxpbnV4IDIuMjYuMSBbTWFyIDMgMjAxNV0KKworICogZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjYvdjIuMjYuMS1SZWxlYXNlTm90ZXMKKyAgIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjI2L3YyLjI2LjEtQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4yNi4yIFtBcHIgNCAyMDE1XQorCisgKiBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yNi92Mi4yNi4yLVJlbGVhc2VOb3RlcworICAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjYvdjIuMjYuMi1DaGFuZ2VMb2cKKworCitDaGFuZ2VzIGJldHdlZW4gdjIuMjYgYW5kIHYyLjI3CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyBGb3IgbW9yZSBkZXRhaWxzIHNlZSBDaGFuZ2VMb2cgZmlsZXMgYXQ6CisgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjcvCisKK2FnZXR0eToKKyAgIC0gUmVwcm9tcHQgb25jZSB0aGUgbmV0d29yayBhZGRyZXNzZXMgY2hhbmdlIGlmIGFkZHJlc3MgZGlzcGxheWVkICBbU3RlZiBXYWx0ZXJdCisgICAtIGNsZWFudXAgcGx5bW91dGggdXNhZ2UgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHN1cmUgdGhhdCByZWxvYWQgZmlsZSBleGlzdHMgIFtLYXJlbCBaYWtdCisgICAtIHJlbG9hZCBpc3N1ZSBvbiAtLWF1dG9sb2dpbiAtLWxvZ2luLXBhdXNlIHRvbyAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCAvdXNyL2xpYi9vcy1yZWxlYXNlIHRvbyAgW0thcmVsIFpha10KK2Jhc2gtY29tcGxldGlvbjoKKyAgIC0gY2FsICBhZGQgLS10d2VsdmUgYW5kIC0tY29sb3Igb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBoYW5kbGUgY29tbWEtc2VwYXJhdGVkIG9wdGlvbnMgIFtCb3JpcyBFZ29yb3ZdCisgICAtIHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzIFtzaGVsbGNoZWNrXSAgW0JvcmlzIEVnb3Jvdl0KKyAgIC0gc3luYyBsc2NwdSBjb21wbGV0aW9uIHdpdGggY29kZSAgW0JvcmlzIEVnb3Jvdl0KKyAgIC0gdXBkYXRlIGZldyBvcHRpb25zIGNoYW5nZWQgc2luY2UgdjIuMjYgIFtTYW1pIEtlcm9sYV0KK2Jsa2lkOgorICAgLSBhbm90aGVyIGhpbnQgdG8gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBiZSBtb3JlIHByZWNpc2UgaW4gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBpZ25vcmUgaW5mbyBhYm91dCBwYXJ0aXRpb25zIG9uIG5vbi1mb3JtYXRlZCBkZXZpY2VzICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHpmcyBkZXRlY3Rpb24gbW9yZSByb2J1c3QgIFtNaWNoYWwgSHVtcHVsYV0KK2J1aWxkLXN5czoKKyAgIC0gYWRkIC0tZGlzYWJsZS1hc3NlcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLWRpc2FibGUtY2FsICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1kaXNhYmxlLWNvbG9ycy1kZWZhdWx0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1lbmFibGUtdXNyZGlyLXBhdGggIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXdpdGgtcmVhZGxpbmUgIFtPbmRyZWogT3ByYWxhXQorICAgLSBhZGQgLS13aXRob3V0LSogZm9yIGFsbCBsaWJzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgSEFWRV9MSUJNT1VOVCAgW0thcmVsIFpha10KKyAgIC0gYWRkIFRJTkZPX0xJQlNfU1RBVElDICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbmV3IGNvbXBpbGVyIHdhcm5pbmdzICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyBhdXRvY29uZiA8IDIuNjQgdG8gYmUgdXNlZCAgW0tpciBLb2x5c2hraW5dCisgICAtIGFsbG93IGdldHRleHQgMC4xNyB0byBiZSB1c2VkICBbS2lyIEtvbHlzaGtpbl0KKyAgIC0gY2xlYW51cCByZWFsdGltZSBsaWIgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGRlZmluZSBjZmRpc2sgZGVwZW5kZW5jZSBvbiBvcGVuX21lbXN0cmVhbSAgW0thcmVsIFpha10KKyAgIC0gZml4IFJFQURMSU5FX0xJQlNfU1RBVElDIHVzYWdlIGZvciBmZGlzayAgW0thcmVsIFpha10KKyAgIC0gZml4IHBhcmFsbGVsIGJ1aWxkcyB3L3NldGFyY2ggbGlua3MgIFtNaWtlIEZyeXNpbmdlcl0KKyAgIC0gZml4IHRlc3RfY29sb3JzIGJ1aWxkICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyAgW0thcmVsIFpha10KKyAgIC0gaW5jbHVkZSBlcnJuby5oIGluc3RlYWQgb2YgYXJncC5oICBbQ2hlbiBRaV0KKyAgIC0gbWFrZSBhdXRvZ2VuLnNoIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSBtYXJrIHNjcmlwdCgxKSBhcyBMaW51eCBvbmx5IGR1ZSB0byBzaWduYWxmZCgpICBbS2FyZWwgWmFrXQorICAgLSBuY3Vyc2VzIGlzIG9wdGlvbmFsLCBkb24ndCBmYWlsIHdoZW4gbWlzc2luZyAgW0thcmVsIFpha10KKyAgIC0gcHl0aG9uIGlzIG9wdGlvbmFsLCBkb24ndCBmYWlsIHdoZW4gbWlzc2luZyAgW0thcmVsIFpha10KKyAgIC0gcmVsZWFzZSsrICh2Mi4yNy1yYzEpICBbS2FyZWwgWmFrXQorICAgLSByZWxlYXNlKysgKHYyLjI3LXJjMikgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgc3RhdGljIGJ1aWxkIHdpdGggcmVhZGxpbmUgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgdW5zaGFyZS5zdGF0aWMgIFtHZW9yZyBTY2hpZXNzZXJdCisgICAtIHR5cG8gLWx0aW5mbyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB1c2UgUkVBTFRJTUVfTElCUyBmb3Igc2NyaXB0ICBbS2FyZWwgWmFrXQorY2FsOgorICAgLSBhZGQgLVkgYW5kIC1uIDxudW0+ICBbTWF4IEtsaW5nZXIsIEthcmVsIFpha10KKyAgIC0gY2FyZSBhYm91dCBzZXR1cHJ0ZXJtKCkgcmVzdWx0ICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBiaWdnZXN0IHdlZWsgbnVtYmVyIGNvcnJlY3RseSB3aGVuIGhpZ2hsaWdodGluZyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjb3JyZWN0IGdyZWdvcmlhbiB3ZWVrIG51bWJlcmluZyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjb3JyZWN0IHRoZSBtYW4gcGFnZSAgdGhlIHJlZm9ybWF0aW9uIGVsaW1pbmF0ZWQgZWxldmVuIGRheXMsIG5vdCB0ZW4gIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IEphbnVhcnkgMTc1MyB3ZWVrIG51bWJlciBwcmludG91dCAgW1NhbWkgS2Vyb2xhXQorICAgLSByZXBsYWNlIG1hZ2ljIGNvbnN0YW50cyB3aXRoIHN5bWJvbGljYWwgdmFsdWVzICBbU2FtaSBLZXJvbGFdCitjZmRpc2s6CisgICAtIGFsbG93IGFuIHVwcGVyY2FzZSBYIHRvIHRvZ2dsZSB0aGUgZXh0cmEgaW5mbyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBjaGVjayByZXR1cm4gdmFsdWUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGV4dHJhIHBhcnRpdGlvbnMgaW5mbyBmb3Igc2xhbmcgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHByaW50IG9ic29sZXRlIENIUyBhZGRyZXNzZXMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb25kaXRpb24gbG9naWMgW2NwcGNoZWNrXSAgW0JvcmlzIEVnb3Jvdl0KKyAgIC0gbWFrZSBzdXJlIHRoYXQgZXh0cmEgaW5mbyBpcyByZWZyZXNoZWQvcmVtb3ZlZCAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBzdXJlIHRoYXQgb3V0cHV0IGZpdHMgdG8gdGVybWluYWwgd2lkdGggIFtLYXJlbCBaYWtdCisgICAtIHByb3Blcmx5IHRvZ2dsZSBleHRyYSBpbmZvIHdpbmRvdywgbWFrZSBpdCBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KKyAgIC0gcHJvdmlkZSBleHRyYSBwYXJ0aW5mbyB3aXRoICJ4IiAgW09uZHJlaiBPcHJhbGEsIEthcmVsIFpha10KKyAgIC0gcmVtb3ZlIGV4dHJhIGxpbmUgYmV0d2VlbiBtZW51IGFuZCBpbmZvIGxpbmUgIFtLYXJlbCBaYWtdCisgICAtIHNwZWxsICJsYWJlbCIgaW4gbG93ZXIgY2FzZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorY2ZkaXNrLCBzZmRpc2s6CisgICAtIHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzICBbS2FyZWwgWmFrXQorY2hmbjoKKyAgIC0gZG9jdW1lbnQgQ0hGTl9SRVNUUklDVCAvZXRjL2xvZ2luLmRlZnMgIFtLYXJlbCBaYWtdCitjaHJ0OgorICAgLSBmaXggLS1oZWxwIGluY29uc2lzdGVuY3kgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgdGhlIHVzYWdlIHN5bm9wc2lzIGNsZWFyZXIgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gc2xpY2UgdXAgdGhlIHVzYWdlIHRleHQgYW5kIG5vcm1hbGl6ZSBpdHMgbGF5b3V0ICBbQmVubm8gU2NodWxlbmJlcmddCitjaHNoLCBjaGZuLCB2aXB3OgorICAgLSBmaXggZmlsZW5hbWVzIGNvbGxpc2lvbiAgW0thcmVsIFpha10KK2NvbGNydDoKKyAgIC0gYWxsb2NhdGUgZW5vdWdoIHNwYWNlIGZvciBkYXRhIG1vdmVzIFthZmwgJiBhc2FuXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhdm9pZCB3cml0aW5nIGJleW9uZCBhcnJheSBib3VuZCBbYWZsICYgYXNhbl0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlICNkZWZpbmUgaW4gcGxhY2Ugb2YgbWFnaWMgY29uc3RhbnRzICBbU2FtaSBLZXJvbGFdCitjb2xvcnM6CisgICAtIGNsZWFudXAgbWFuIHBhZ2VzLCBhZGQgaGludCB0byB1c2FnZSgpICBbS2FyZWwgWmFrXQorZG1lc2c6CisgICAtIGZpeCBzaGFkb3cgZGVjbGFyYXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gaGlnaGxpZ2h0IC1UIGlzc3VlcyBpbiBkb2NzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgR01UIGluIHRlc3RzLCBhZGQgRE1FU0dfVEVTVF9CT09USU1FICBbS2FyZWwgWmFrXQorZG9jczoKKyAgIC0gYWRkIGhpbnQgYWJvdXQgY2hmbiAmIGNoc2ggYnVnIGFuZCB0aGFua3MgdG8gcXVhbHlzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbHNibGsgdnMuIGJ0cmZzIHRvIFRPRE8gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtb3VudCAtLW5hbWVzcGFjZSB0byBUT0RPICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZXN0IGFib3V0IGRyb25lLmlvIGFuZCB0cmF2aXMtY2kgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0ZXJtaW5hbC1jb2xvcnMgcmVxdWVzdHMgdG8gVE9ETyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHYyLjI3LVJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KKyAgIC0gZG9jdW1lbnQgLS1leGNsdWRlIGZvciB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gZml4IFRPRE8gdHlwb3MgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBndGstZG9jcyByZWxhdGVkIHdhcm5pbmdzICBbS2FyZWwgWmFrXQorICAgLSBmaXggc29tZSBncmFtbWFyIGFuZCBwdW5jdHVhdGlvbiBpbiB0aGUgMi4yNyByZWxlYXNlIG5vdGVzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGZpeCBzb21lIHNwZWxsaW5nIGVycm9ycyBhbmQgdHlwb3MgaW4gbWFuIHBhZ2VzICBbQmlsbCBQZW1iZXJ0b25dCisgICAtIGZpeCB0eXBvICBbS2FyZWwgWmFrXQorICAgLSBmc3RhYig1KSBncmFtbWFyIC8gRW5nbGlzaCBmaXhlcywgYW5kIHNvbWUgb3RoZXIgdXBkYXRlcyAgW1BldGVyIENvcmRlc10KKyAgIC0gbWFrZSBmc2NrLm1pbml4KDgpIG1vcmUgcHJldHR5ICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBvYnNvbGV0ZSB0aGluZ3MgZnJvbSBUT0RPICBbS2FyZWwgWmFrXQorICAgLSB1bmlmeSBta3N3YXAoOCkgd2l0aCBzd2Fwb24oOCkgYWJvdXQgaG9sZXMgd2FybmluZyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1cGRhdGUgQVVUSE9SUyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgVE9ETyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHYyLjI3LVJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KK2VqZWN0OgorICAgLSB1c2UgcGFyc2Vfc3dpdGNoKCkgIFtTYW1pIEtlcm9sYV0KK2ZhbGxvY2F0ZToKKyAgIC0gZml4IGVycm9yIG1lc3NhZ2UgIFtLYXJlbCBaYWtdCitmZGlzazoKKyAgIC0gYWRkICdGJyBjb21tYW5kIHRvIGxpc3QgZnJlZSB1bnBhcnRpdGlvbmVkIHNwYWNlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1wcm90ZWN0LWJvb3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBHTlUgUmVhZGxpbmUgc3VwcG9ydCB0byBmZGlzayAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRoZSAnaSduZm8gY29tbWFuZCAgW0plYW4tTG91cCAnY2xpcHBpeCcgQm9nYWxob10KKyAgIC0gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuICs8c2VjdG9yPiBhbmQgKzxzaXplPntNLEcsLi4ufSAgW0thcmVsIFpha10KKyAgIC0gZml4IHJlYWRsaW5lIHdyYXBwZXIgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvICBbS2FyZWwgWmFrXQorICAgLSBpbml0IGxpYnNtYXJ0Y29scyBkZWJ1ZyAgW0thcmVsIFpha10KKyAgIC0gcHJvdmlkZSBtb3JlIGluZm9ybWF0aW9uIGJ5ICdpJ25mbyBjb21tYW5kICBbS2FyZWwgWmFrXQorICAgLSB2YWx1ZSBpcyBuZXZlciByZWFkIFtjbGFuZyBhbmFseXplXSAgW0thcmVsIFpha10KK2ZkaXNrLCBzZmRpc2s6CisgICAtIGZpeCAtbyA8bGlzdD4gYmFja2VuZCAgW0thcmVsIFpha10KK2ZpbmRtbnQ6CisgICAtIGFkZCAtLWpzb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLW1vdW50cG9pbnQgY29tbWFuZCBsaW5lIG9wdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgcmVseSBvbiBzdF9kZXYgZm9yIC0tdGFyZ2V0ICBbS2FyZWwgWmFrXQorZmxvY2s6CisgICAtIE5VTEwgZGVyZWYgIFtCcmFkIEZvcnNjaGluZ2VyXQorICAgLSBhZGQgLS12ZXJib3NlIG9wdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggdGltZW91dCBoYW5kbGVyIHBvaW50ZXIgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgdGltZW91dCBoYW5kbGluZyAgW1NhbWkgS2Vyb2xhXQorZnNjazoKKyAgIC0gRml4IHBhcnNpbmcgb2YgLXIgIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBmaXggZnNjayAtQyB7ZmR9IHBhcnNpbmcgIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBpbXBsZW1lbnQgZnNjayAtciB7ZmR9ICBbU3RhbmlzbGF2IEJyYWJlY10KKyAgIC0gcHJpbnQgZXJyb3JzIG9uIGludmFsaWQgLXIgYXJndW1lbnQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBQQVRIIG9yIGZhbGxiYWNrIHRvIC9zYmluICBbS2FyZWwgWmFrXQorZnNjay5taW5peDoKKyAgIC0gYWRkIG1pbml4IHYzIHN1cHBvcnQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYmUgbW9yZSBwYXJhbm9pZCB3aXRoIGJsb2NrIGJ1ZmZlcnMgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBpbnRyb2R1Y2UgbG9uZyBvcHRpb25zIHRvIHRoZSBjb21tYW5kICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbmFtZSBkZXZpY2UgZmlsZSBkZXNjcmlwdG9yIHZhcmlhYmxlICBbU2FtaSBLZXJvbGFdCitmc3RyaW06CisgICAtIGNsb3NlIGRpciBiZWZvcmUgZXhpdCBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGRlLWR1cGxpY2F0ZSBieSBtb3VudCBzb3VyY2UgdG9vICBbS2FyZWwgWmFrXQorZ2V0b3B0OgorICAgLSB1c2UgJCguLi4pIGNvbW1hbmQgc3Vic3RpdHV0aW9uIGluIGV4YW1wbGUgc2NyaXB0IFtzaGVsbGNoZWNrXSAgW1NhbWkgS2Vyb2xhXQoraGV4ZHVtcDoKKyAgIC0gZml4IG1hbiBwYWdlICgteCB2cy4gZGVmYXVsdCBvdXRwdXQpICBbS2FyZWwgWmFrXQoraHdjbG9jazoKKyAgIC0gSW1wcm92ZSBGSUxFUyBzZWN0aW9uICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIFJlbW92ZSBUWlVUQyAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBhZGQgJzExIG1pbnV0ZSBtb2RlJyBpbmZvcm1hdGlvbiAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBhZGQgLUQgdG8gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgVFpESVIgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gY2xlYW4gdXAgbWFuIHBhZ2UgaGVhZGVyICBbS2FyZWwgWmFrXQorICAgLSBjb3NtZXRpYyBjaGFuZ2VzIHRvIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBhbGxvdyBub24tcm9vdCBhY2Nlc3MgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBmZ2V0cyB1bmNoZWNrZWQgcmV0dXJuIHZhbHVlIHdhcm5pbmcgb24gYWxwaGEgIFtBbmRyZWFzIEhlbnJpa3Nzb25dCisgICAtIGZpeCBmb3JtYXQgd2FybmluZyBpbiBhbHBoYSBjb2RlICBbQW5kcmVhcyBIZW5yaWtzc29uXQorICAgLSBmaXggaW9wbCBpbXBsaWNpdCBkZWNsYXJhdGlvbiB3YXJuaW5nIG9uIGFscGhhICBbQW5kcmVhcyBIZW5yaWtzc29uXQorICAgLSBmaXggc2lnbmVkL3Vuc2lnbmVkIGNvbXBhcmlzb24gd2FybmluZyBvbiBhbHBoYSAgW0FuZHJlYXMgSGVucmlrc3Nvbl0KKyAgIC0gZml4IHNwZWxsaW5nLCBwdW5jdHVhdGlvbiBhbmQgZm9ybWF0dGluZyBtaXN0YWtlcyBpbiB0aGUgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZmx1c2ggc3Rkb3V0IGluIGh3Y2xvY2sgLWMgIFtBbGV4ZXkgR2FsYWtob3ZdCisgICAtIGluY3JlYXNlIGRlYnVnIG91dHB1dCBwcmVjaXNpb24gIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gbWFrZSBzdGF0aWMgYW5hbHl6ZXMgbW9yZSBoYXBweSAgW0thcmVsIFpha10KKyAgIC0gbWFuLXBhZ2UgZXJyYXRhICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIG5vbi1yb290IGFjY2VzcyBpbiB0ZXN0IG1vZGUgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gcmVncmVzc2lvbiBmaXggIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gcmVtb3ZlIGFuIHVudHJ1ZSBwaHJhc2UgZnJvbSB0aGUgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gcmVtb3ZlIGRlYWQgY29kZSAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSByZW1vdmUgZGVwcmVjaWF0ZWQgbnRwZGF0ZSAgW0ogV2lsbGlhbSBQaWdnb3R0XQoraW5jbHVkZS9hbGwtaW86CisgICAtIHJlYWRfYWxsKCkgZG9uJ3QgcmV0cnkgb24gRU9GICBbS2FyZWwgWmFrXQoraW5jbHVkZS9jOgorICAgLSBEZWZpbmUgRl9EVVBGRF9DTE9FWEVDIG9uIGtGcmVlQlNEIHN5c3RlbXMgaWYgbWlzc2luZyAgW0d1aWxsZW0gSm92ZXJdCitpbmNsdWRlL3hhbGxvYzoKKyAgIC0gYWRkIGVycl9vb20oKSAgW0thcmVsIFpha10KK2lwY21rOgorICAgLSBzdXBwb3J0IDxzaXplPntLLE0sRywuLi59ICBbS2FyZWwgWmFrXQora2lsbDoKKyAgIC0gQWRkIHZlcmJvc2UgdG8gbWFuIHBhZ2UuICBbUmFnaGF2ZW5kcmEgRCBQcmFiaHVdCitsYXN0OgorICAgLSBmaXggZmlyc3QgKGN1cnJlbnQpIHJ1bmxldmVsIGxpbmUgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IHV0bXBsaXN0IHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBrZWVwIGFycmF5IG9mIGZpbGVzIGluIG1haW4oKSAgW0thcmVsIFpha10KK2xhc3QtZGVwcmVjYXRlZDoKKyAgIC0gcmVtb3ZlIGZyb20gc291cmNlIHRyZWUgIFtTYW1pIEtlcm9sYV0KK2xkYXR0YWNoOgorICAgLSBhZGFwdCBwcmludF90YWJsZSBjb2x1bW4gd2lkdGggdG8gd2lkZXN0IGVudHJ5ICBbVGlsbWFuIFNjaG1pZHRdCisgICAtIGFsd2F5cyBzZXQgbGluZSBzcGVlZCBhbmQgZm9ybWF0IGZvciBOX0dJR0FTRVRfTTEwMSAgW1RpbG1hbiBTY2htaWR0XQorICAgLSBvcmRlciBsaW5lIGRpc2NpcGxpbmVzIGNhbm9uaWNhbGx5ICBbVGlsbWFuIFNjaG1pZHRdCisgICAtIHRpbnkgY29kaW5nIHN0eWxlIGNoYW5nZXMgIFtLYXJlbCBaYWtdCitsaWIvYmxrZGV2OgorICAgLSB1c2UgNjQtYml0IHRvIGNvdW50IHNpemUgaW4gYnl0ZXMgIFtLYXJlbCBaYWtdCitsaWIvY29sb3JzOgorICAgLSBhZGQgVVNBR0VfQ09MT1JTX0RFRkFVTFQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsaWJ0aW5mbyB0byBjaGVjayB0ZXJtaW5hbCBjYXBhYmlsaXR5ICBbS2FyZWwgWmFrXQorbGliL2ZpbGV1dGlsczoKKyAgIC0gQWRkIG5ldyBkdXBfZmRfY2xvZXhlYyBmdW5jdGlvbiAgW0d1aWxsZW0gSm92ZXJdCitsaWIvbW9ub3RvbmljOgorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgIFtLYXJlbCBaYWtdCitsaWIvcHJvY3V0aWxzOgorICAgLSBhZGQgcHJvY19nZXRfY21kbGluZSgpICBbS2FyZWwgWmFrXQorbGliL3N0cnV0aWw6CisgICAtIGZpeCBwYXJzZV9zd2l0Y2ggcmVzb3VyY2UgbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtBbmRyZWFzIEhlbnJpa3Nzb25dCitsaWIvc3RydXRpbHM6CisgICAtIGV4dGVuZCBwYXJzZV9zd2l0Y2goKSB0byBhY2NlcHQgbW9yZSBvcHRpb25zICBbS2FyZWwgWmFrXQorICAgLSBmaXggc3RyaW5nX2FkZF90b19pZGFycmF5KCkgaW50IHZzLiBzaXplX3QgIFtLYXJlbCBaYWtdCisgICAtIG1ha2Ugc3RybW9kZSgpIG1vcmUgZ2VuZXJpYyAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBwYXJzZV9zd2l0Y2goKSBmcm9tIHNldHRlcm0oMSkgdG8gbGlicmFyeSAgW1NhbWkgS2Vyb2xhXQorbGliL3N0cnY6CisgICAtIGFkZCBuZXcgZnVuY3Rpb25zIChmcm9tIHN5c3RlbWQpICBbS2FyZWwgWmFrXQorbGliL3N5c2ZzOgorICAgLSBGaXggL2RldiB0byAvc3lzIG5vZGUgbmFtZSB0cmFuc2xhdGlvbiAgW1N0YW5pc2xhdiBCcmFiZWNdCisgICAtIFVzZSBkdXBfZmRfY2xvZXhlYyBpbnN0ZWFkIG9mIGRpcmVjdCBjYWxsIHRvIGZjbnRsICBbR3VpbGxlbSBKb3Zlcl0KKyAgIC0gbWFrZSBzeXNmc19uZXh0X3N1YnN5c3RlbSgpIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSByZW5hbWUgZGV2bmFtZSBmdW5jdGlvbnMsIGNsZWFudXAgIFtLYXJlbCBaYWtdCitsaWIvc3lzZnMuYzoKKyAgIC0gdXNlIGZjbnRsKC4uRl9EVVBGRF9DTE9FWEVDKSBpbnN0ZWFkIG9mIGR1cCgyKSAgW0NyaXN0aWFuIFJvZHLDrWd1ZXpdCitsaWIvdGltZXI6CisgICAtIHVzZSBzZXBhcmF0ZSBmaWxlIGZvciB0aW1lcnMgIFtLYXJlbCBaYWtdCitsaWIvdGltZXV0aWxzOgorICAgLSBmaXggaW5kZW50aW9uIFtzbWF0Y2ggc2Nhbl0gIFtLYXJlbCBaYWtdCitsaWJibGtpZDoKKyAgIC0gKGRyYmRtYW5hZ2UpIGFkZCBtYWdpYyBzdHJpbmdzIGFycmF5IHRlcm1pbmF0b3IgIFtLYXJlbCBaYWtdCisgICAtIChkcmJkbWFuYWdlKSBpbXByb3ZlIHZlcnNpb24gc2V0dGluZyBjb2RlICBbS2FyZWwgWmFrXQorICAgLSAobmlsZnMyKSBjaGVjayBkZXZpc2Ugc2l6ZSAgW0thcmVsIFpha10KKyAgIC0gKG5pbGZzMikgY2hlY2sgc2l6ZSBmb3IgYmFja3VwIHN1cGVyYmxvY2sgb25seSAgW0thcmVsIFpha10KKyAgIC0gYWRkZWQgZHJiZG1hbmFnZSBjb250cm9sIHZvbHVtZSBkZXRlY3Rpb24uICBbUGhpbGlwcCBNYXJla10KKyAgIC0gY2xlYW51cCBuYW1lcywgZG9uJ3QgY29weSBwcm9iaW5nIHJlc3VsdHMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV3VudXNlZC12YXJpYWJsZV0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggaW5jb25zaXN0ZW50IGluZGVudGluZyBbc21hdGNoIHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHByb2JpbmcgZGF0YSBzdHJ1Y3R1cmVzIG1vcmUgZHluYW1pYyAgW09uZHJlaiBPcHJhbGFdCisgICAtIHJlbW92ZSBkZWFkIGNvZGUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSB1c2UgJ1ZFUlNJT04nIHJhdGhlciB0aGFuICdQRVJTSVNURU5DRV9WRVJTSU9OJyAgW0thcmVsIFpha10KKyAgIC0gc2ltcGxpZnkgc29tZSBjb25kaXRpb25zIFtjcHBjaGVja10gIFtCb3JpcyBFZ29yb3ZdCisgICAtICh6ZnMpIG1ha2UgbGVzcyBzeXNjYWxscyAgW01pY2hhbCBIdW1wdWxhXQorbGliZmRpc2s6CisgICAtIChic2QpIGFkZCBub3RlIGFib3V0IG5vbi13cml0dGVuIHBhcmVudGFsIE1CUiAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgIHJldGFpbiBleGlzdGluZyBib290IGZsYWcgd2hlbiByZXNpemluZyBhIHBhcnRpdGlvbiAgW0thcmVsIFphaywgYXdpbGxpYW1AcmVkaGF0LmNvXQorICAgLSAoZG9zKSBmaXggY3lsaW5kZXJzIGNhbGN1bGF0aW9uICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSBmaXggdGlueSBwYXJ0aXRpb25zIGNhbGN1bGF0aW9uICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBhZGQgQVBJIGZvciByYXcgcGFydGl0aW9uIGF0dHJpYnV0ZXMgIFtNaWNoYWVsIE1hcmluZWF1XQorICAgLSAoZ3B0KSBhZGQgZXh0cmEgY2hlY2sgZm9yIEZpcnN0L0xhc3QgTEJBICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBhZGQgbWlzc2luZyBHVUlEcyAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgY2hlY2sgaGVhZGVyIHNpemUgYmVmb3JlIHZlcmlmeSBDUkMgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIGZpeCAiTWlkbmlnaHRCU0QgVUZTIiBVVUlEICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBmaXggTEUgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIGZpeCBhdHRyaWJ1dGVzIGVuZGlhbm5lc3MgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gKGdwdCkgZml4IGNoZWNrIGZvciBiZWdpbm5pbmcgb2YgcHJvdGVjdGl2ZSBwYXJ0aXRpb24gIFtNaWNoYWVsIE1hcmluZWF1XQorICAgLSAoZ3B0KSBmaXggZW5kIHNlY3RvciBjYWxjdWxhdGlvbiBvbiByZXNpemUgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIGZpeCBsYWJlbCBwb2ludGVyIHVzYWdlIFtzbWF0Y2ggc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIChncHQpIG1ha2UgaXQgcG9zc2libGUgdG8gY3JlYXRlIHJlYWxseSBzbWFsbCBwYXJ0aXRpb25zICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSByZW9yZGVyIG9ubHkgd2hlbiBuZWNlc3NhcnkgIFtLYXJlbCBaYWtdCisgICAtIFVzZSBwcmVkaWN0YWJsZSAvZGV2L21hcHBlciBwYXJ0aXRpb24gbmFtZXMgZm9yIC9kZXYvZG0tTiAgW1N0YW5pc2xhdiBCcmFiZWNdCisgICAtIGFkZCBHUFQgR1VJRHMgZm9yIEFSTXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBHUFQgR1VJRHMgZm9yIFBSZVAgIFtTY290dCBNb3Nlcl0KKyAgIC0gYWRkIEpTT04gZHVtcCBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjb21tZW50IHRvIHRoZSBoZWFkZXIgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZkaXNrX2xhYmVsX2dldF9maWVsZHNfaWRzX2FsbCgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZmRpc2tfdGFibGVfZ2V0X3BhcnRpdGlvbl9ieV9wYXJ0bm8oKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZnZXRzKCkgY2FsbGJhY2sgZm9yIHNjcmlwdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBuZXcgQVBJIHRvIHJlYWQgbGFiZWwgc3BlY2lmaWMgZGF0YSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHdhcm5pbmcgdG8gcmVzaXplIGZ1bmN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQge2ZpcnN0LGxhc3R9LWxiYSBoZWFkZXIgdG8gc2ZkaXNrIHNjcml0cHMgIFtLYXJlbCBaYWtdCisgICAtIGFsbG93IHRvIGNoYW5nZSBwYXJ0aXRpb24gdHlwZSBmb3IgZXh0ZW5kZWQgcGFydGl0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gYWxsb3cgdG8gbW92ZSBzdGFydCB0byBmaXJzdCB1c2FibGUgTEJBICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGFzc2VydCgpIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCByZXNpemUgaW4gbGFiZWwgZHJpdmVycyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgcmV0dXJuIGVtcHR5IHN0cmluZ3MgZnJvbSBmZGlza19wYXJ0aXRpb25fdG9fc3RyaW5nKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBmZGlza19sYWJlbF9wYXJzZV9wYXJ0dHlwZSgpIGZvciB1bmtub3duIHR5cGVzICBbS2FyZWwgWmFrXQorICAgLSBmaXggc2NyaXB0IHBhcnNlciB0byBzdXBwb3J0IHJlc2l6ZSBvcGVyYXRpb25zICBbS2FyZWwgWmFrXQorICAgLSBmaXggc2NyaXB0ayBwYXJzZXIgdG8gc3VwcG9ydCBhbG9uZSBzaWducyAgW0thcmVsIFpha10KKyAgIC0gZml4IHN5bWJvbHMgdmVyc2lvbmluZyBzY3JpcHQgIFtLYXJlbCBaYWtdCisgICAtIGlnbm9yZSBtaXNhbGlnbmVkIG9wdGltYWwgSS9PIHNpemUgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgKzAgcGFydGl0aW9uIHNpemUgIFtLYXJlbCBaYWtdCisgICAtIGtlZXAgRkRJU0tfRklFTERfQ1lMSU5ERVJTIGluZGVwZW5kZW50IG9uIGNvbnRleHQgbW9kZSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBjb250ZXh0LT5sYWJlbCB1c2FnZSBtb3JlIHJvYnVzdCBbc21hdGNoIHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSByZWNvZ25pemUgRkFUMzIgcGFydGl0aW9ucyBoaWRkZW4gYnkgQWNyb25pcyBzb2Z0d2FyZSAgW0rDtnJnIEplbmRlcmVrXQorICAgLSByZW1vdmUgaW1wb3NzaWJsZSBjb25kaXRpb24gW3NtYXRjaCBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gcmVuYW1lIHNjcmlwdCBmdW5jdGlvbnMgdG8gaW1wcm92ZSByZWFkYWJpbGl0eSAgW0thcmVsIFpha10KKyAgIC0gcmVzdWx0IG9mIG9wZXJhdGlvbiBpcyBnYXJiYWdlIG9yIHVuZGVmaW5lZCBbY2xhbmcgYW5hbHl6ZV0gIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgYWxpZ25tZW50IHRvIG5vbiBwb3dlciBvZiAyICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IGJvb3RiaXRzIHByb3RlY3Rpb24gZnJvbSAocClNQlIgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgcmVzaXplIG9wZXJhdGlvbiBpbiBmZGlza19zZXRfcGFydGl0aW9uKCkgIFtLYXJlbCBaYWtdCisgICAtIHVuZGVmaW5lZCBvciBnYXJiYWdlIHZhbHVlIHJldHVybmVkIHRvIGNhbGxlciBbY2xhbmcgYW5hbHl6ZV0gIFtLYXJlbCBaYWtdCitsaWJtb3VudDoKKyAgIC0gKGRvY3MpIGZpeCB0eXBvICBbUm9ubnkgQ2hldmFsaWVyXQorICAgLSAoZG9jcykgZml4IHdvcmRpbmcgIFtSb25ueSBDaGV2YWxpZXJdCisgICAtIChtb25pdG9yKSBmaXggZG9jcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1udF90YWJsZV9nZXRfZnNfcm9vdCgpIHRvIGhlYWRlciBmaWxlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCBmbG9jaygpIHRvIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciAiYmluZCxybyIgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciBNU19MQVpZVElNRSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBhc3NlcnQoKSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBmcyByb290IGRldGVjdGlvbiBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBkbyBub3QgY2FsbCB1bW91bnQgaGVscGVyIG9uIC0tZmFrZSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XZGlzY2FyZGVkLXF1YWxpZmllcnNdICBbS2FyZWwgWmFrXQorICAgLSBmaXggbW50X21vbml0b3JfZXZlbnRfY2xlYW51cCgpICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyBpbiBtbnRfb3B0c3RyX3ByZXBlbmRfb3B0aW9uKCkgIFtLYXJlbCBaYWtdCisgICAtIGhhbmRsZSBhcmJpdHJhcnkgbGluZSBsZW5ndGggZm9yIG1vdW50cyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBtb25pdG9yIHRvIGJlIHVzYWJsZSBmb3Igbm9uLXJvb3QgdXNlcnMgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgbW50X2dldF9maWxlc3lzdGVtcygpIG1vcmUgcm9idXN0IFtjbGFuZyBhbmFseXplXSAgW0thcmVsIFpha10KKyAgIC0gbWFyayBvdmVybGF5IGFzIHBzZXVkby1GUyAgW0thcmVsIFpha10KKyAgIC0gc29ydCBwc2V1ZG8gZmlsZXN5c3RlbXMgYnkgTENfQ09MTEFURT1DICBbS2FyZWwgWmFrXQorICAgLSB0eXBvIGZpeGVzICBbS2lyIEtvbHlzaGtpbl0KKyAgIC0gdmFyaWFibGUgZGVyZWZlcmVuY2VkIGJlZm9yZSBjaGVjayBbc21hdGNoIHNjYW5dICBbS2FyZWwgWmFrXQorbGlic21hcnRjb2xzOgorICAgLSBhZGQgSlNPTiBvdXRwdXQgZm9ybWF0ICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBsaW5rIHdpdGggdGluZm8gIFtLYXJlbCBaYWtdCisgICAtIGtlZXAgSlNPTiBmaWVsZCBuYW1lcyBsb3dlci1jYXNlICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIGNoaWxkLXBhcmVudCByZWZlcmVuY2UgbW9yZSByb2J1c3QgW2NsYW5nIGFuYWx5emVdICBbS2FyZWwgWmFrXQorICAgLSByZWR1Y2UgcmVsYXRpdmUgY29sdW1ucyBtb3JlIGFnZ3Jlc3NpdmVseSAgW0thcmVsIFpha10KK2xpYnV1aWQ6CisgICAtIHJldHVybiBjb3JyZWN0IHZhbHVlIGZvciB1dWlkX2dlbmVyYXRlX3RpbWVfc2FmZSAgW1JvbWFpbiBCb3V2aWVyXQorbG9nZ2VyOgorICAgLSAtLXN0ZGVyciBhbmQgLS1uby1hY3QgdHVybiAiYXV0by1lcnJvcnMiIG9uICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIEFkZCBzdXBwb3J0IHRvIGxvZ2dlciBmb3IgUkZDNjU4NyBvY3RldCBjb3VudGluZyAgW0FsZXggQmxpZ2hdCisgICAtIEZpeCB1c2Ugb2YgZXJybm8gYWZ0ZXIgc3RydG9sKCkgd2l0aG91dCB6ZXJvaW5nIGZpcnN0ICBbU3RlZiBXYWx0ZXJdCisgICAtIGFkZCAtLW1zZ2lkIG9wdGlvbiwgcGVybWl0cyB0byBzZXQgUkZDNTQyNCBNU0dJRCBmaWVsZCAgW1JhaW5lciBHZXJoYXJkc10KKyAgIC0gYWRkIC0tbm8tYWN0IGZvciB0ZXN0aW5nICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1za2lwLWVtcHR5LWxpbmVzIHRvIHByZXZlbnQgbG9nZ2luZyBlbXB0eSBsaW5lcyAgW1JhaW5lciBHZXJoYXJkc10KKyAgIC0gYWRkIC1EVEVTVF9MT0dHRVIgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjb21tZW50ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCBrZXJuLT51c2VyIGNvbnZlcnNpb24gIFtLYXJlbCBaYWtdCisgICAtIGJ1Z2ZpeCAgbWlzc2luZyBzYW5pdHkgY2hlY2tzIHdpdGggLS1wcmlvLXByZWZpeCBvcHRpb24gIFtSYWluZXIgR2VyaGFyZHNdCisgICAtIGJ1Z2ZpeCAgdGNwIHN5c2xvZyBmcmFtaW5nIGlzIGJyb2tlbiwgLVQgdW51c2FibGUgIFtSYWluZXIgR2VyaGFyZHNdCisgICAtIGNoZWNrIGZvciBudHBfZ2V0dGltZSgpIHJhdGhlciB0aGFuIGZvciB0aW1leC5oICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayB4Z2V0aG9zdG5hbWUoKSByZXR1cm4gdmFsdWUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZG8gbm90IGV4aXQgd2hlbiBzb2NrZXQgZXJyb3JzIGFyZSBub3QgZW5mb3JjZWQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IC1pIGFyZ3VtZW50IHBhcnNpbmcgcmVncmVzc2lvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggLXAga2Vybi4qIHByaW9yaXR5IGlzIGFjY2VwdGVkIHJlZ3Jlc3Npb24gIFtSYWluZXIgR2VyaGFyZHNdCisgICAtIGZpeCBMT0dHRVJfVEVTVF9USU1FT0ZEQVkgY2hlY2sgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBpbmNvbnNpc3RlbnQgZm9ybWF0IHJlZ3Jlc3Npb24gd2hlbiBsb2dnaW5nIGxvY2FsbHkgIFtSYWluZXIgR2VyaGFyZHNdCisgICAtIGZpeCBpbnZhbGlkIHRpbWVzdGFtcCBpbiByZmM1NDI1IGZvcm1hdCAgW1JhaW5lciBHZXJoYXJkc10KKyAgIC0gZml4IGludmFsaWQgdGltZXN0YW1wIHJlZ3Jlc3Npb24gaW4gbG9jYWwgZm9ybWF0ICBbUmFpbmVyIEdlcmhhcmRzXQorICAgLSBmaXggbWVtb3J5IGxlYWtzICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBtdWx0aXBsZSBmb3JtYXQgYnVncyBpbiByZmM1NDI0IGZvcm1hdHRlciAgW1JhaW5lciBHZXJoYXJkc10KKyAgIC0gZml4IHJmYzU0MjQgZm9ybWF0IGNyYXNoICBbS2FyZWwgWmFrXQorICAgLSBmaXggd2hpdGVzcGFjZSBhbmQgY29tcGlsZXIgd2FybmluZyBbLVd1bnVzZWQtdmFyaWFibGVdICBbS2FyZWwgWmFrXQorICAgLSBnZW5lcmF0ZSBoZWFkZXIgd2hlbiByZWFkaW5nIG1lc3NhZ2UgZnJvbSBzdGRpbiAgW1BhdHJpY2sgUGxhZ3dpdHpdCisgICAtIGltcHJvdmUgbG9nZ2VyIC0tam91cm5hbGQgbWFuIHBhZ2UgZXhhbXBsZSAgW01pY2hhbCBTY2htaWR0XQorICAgLSBpbXByb3ZlIHJlYWRhYmlsaXR5IFtzbWF0Y2ggc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGxpbmsgbGlic3lzdGVtZC1kYWVtb24uc28gIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbWVzc2FnZXMgYXJlIGxvZ2dlZCB3aXRoIGtlcm4uKiBwcmlvcml0eSBieSBkZWZhdWx0ICBbUmFpbmVyIEdlcmhhcmRzXQorICAgLSBtb3ZlIC9kZXYvbG9nIHRvIHBhdGhuYW1lcy5oICBbU2FtaSBLZXJvbGFdCisgICAtIHBlcm1pdCB0byBzZW5kIG1lc3NhZ2VzIGxhcmdlciB0aGFuIDEwMjQgY2hhcmFjdGVycyAgW1JhaW5lciBHZXJoYXJkc10KKyAgIC0gcmVmYWN0b3IgbWVzc2FnZSBnZW5lcmF0aW9uICBbUmFpbmVyIEdlcmhhcmRzXQorICAgLSByZWZhY3RvciB0aGUgd2F5IG91dHB1dCBpcyB3cml0dGVuICBbUmFpbmVyIEdlcmhhcmRzXQorICAgLSByZW1vdmUgImludGVyZmFjZSB0byBzeXNsb2coMykiIGZyb20gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHNtYWxsIGNoYW5nZSBpbiB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSB0aWR5IGZldyBpbmRlbnRhdGlvbiBpc3N1ZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGVycngoKSB3aGVuIGNoZWNraW5nIHVzZXIgaW5wdXQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHVzZXJuYW1lIGFzIHRoZSBkZWZhdWx0IHRhZyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHhzdHJkdXAoKSAgW0thcmVsIFpha10KK2xvZ2dlciBtYW4gcGFnZToKKyAgIC0gYnVtcCBtYW4gcGFnZSBkYXRlIHRvIGN1cnJlbnQgIFtSYWluZXIgR2VyaGFyZHNdCisgICAtIGZpeCBzb21lICJzeXNsb2coMykgcm91dGluZSIgcmVtbmFudHMgIFtSYWluZXIgR2VyaGFyZHNdCisgICAtIGZpeCB0eXBvICBbUmFpbmVyIEdlcmhhcmRzXQorICAgLSB1cGRhdGUgLS1zaXplIGRvYyAgW1JhaW5lciBHZXJoYXJkc10KK2xvZ2luOgorICAgLSByZXBsYWNlIHNpZ2ludGVycnVwdCB3aXRoIHNpZ2FjdGlvbiAgW0NoZW4gUWldCitsb3NldHVwOgorICAgLSBhZGQgLS1qc29uICBbS2FyZWwgWmFrXQorICAgLSBiZSBjYXJlZnVsIHdpdGggZXJybm8gIFtLYXJlbCBaYWtdCisgICAtIHByaW50IG1vcmUgdXNhYmxlIGVycm9yIG1lc3NhZ2Ugb24gZmFpbGVkIC1mICBbS2FyZWwgWmFrXQorbHNibGs6CisgICAtIERpc3BsYXkgbW91bnRwb2ludCBldmVuIGZvciB0b3AtbGV2ZWwgZGV2aWNlICBbTWlsYW4gQnJvel0KKyAgIC0gYWRkIC0tanNvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIGRlYnVnIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGlnbm9yZSBkZXBlbmRlbmNlcyBmb3IgcGFydGl0aW9uZWQgZGV2aWVzICBbS2FyZWwgWmFrXQorICAgLSBmaXggcmVzb3VyY2UgbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtBbmRyZWFzIEhlbnJpa3Nzb25dCisgICAtIGZvbGxvdyBrZXJuZWwgZm9yIGludmVyc2UgdHJlZSAgW0thcmVsIFpha10KKyAgIC0gbHNibGsuOCBGaXggZGVzY3JpcHRpb24gb2Ygb3V0cHV0IGZvcm1hdCAgW1N0YW5pc2xhdiBCcmFiZWNdCisgICAtIHVzZSBpbnRlcm5hbGx5IHN5c2ZzIGRldm5hbWVzICBbS2FyZWwgWmFrXQorbHNjcHU6CisgICAtIGFkZCBjcHUgZmxhZ3MgZW50cnkgdG8gc3VtbWFyeSBvdXRwdXQgIFtXQU5HIENoYW9dCisgICAtIGFkZCB3YXJuaW5nIGZvciBfX1NBTklUSVpFX0FERFJFU1NfXyAgW0thcmVsIFpha10KKyAgIC0gZml4IHJlYWRfaHlwZXJ2aXNvcl9wb3dlcnBjKCkgbG9naWMgIFtLYXJlbCBaYWtdCitsc2lwYzoKKyAgIC0gYWRkIENPTU1BTkQgZm9yIHNobWVtICBbS2FyZWwgWmFrXQorICAgLSBhZGQgQ1RJTUUgdG8gc2htZW0gZGVmYXVsdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIFVTRSUgdG8gLS1nbG9iYWwgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtb3JlIHJlc291cmNlIHRvIHRoZSBsaW1pdHMgbGlzdCAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgc2NvbHNfbGluZV9yZWZlcl9kYXRhKCkgcmV0dXJuIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgLW8gdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgY29sdW1ucyBpbmRleGVzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHVzZXJuYW1lcyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB7dXNlcixncm91cH1uYW1lIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBkZWZhdWx0IHRvIC0tZ2xvYmFsICBbS2FyZWwgWmFrXQorICAgLSBkaWZmZXJlbnRpYXRlIGJldHdlZW4gVUlEIGFuZCBVU0VSIG5hbWVzICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBkdXBsaWNhdGUgYWxyZWFkeSBhbGxvY2F0ZWQgZGF0YSAgW0thcmVsIFpha10KKyAgIC0gZml4IElEIHBhcnNpbmcsIHVzZSBmdWxsIHRpbWUgZm9yIHByZXR0eSBwcmludCAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvZGluZyBzdHlsZSAgW0thcmVsIFpha10KKyAgIC0gaWZkZWYgU0hNXyogbWFjcm9zICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIC0tZ2xvYmFsICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIEpTT04gb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIC0taWQgdXNhYmxlIHdpdGggYWxsIG91dHB1dCBmb3JtYXRzIGFuZCB3aXRoIC1vICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIG91dG1vZGUgdG8gY29sdHJvbCBzdHJ1Y3QgIFtLYXJlbCBaYWtdCisgICAtIG5ldyBjb21tYW5kIHRvIGxpc3QgSVBDIGZhY2lsaXRpZXMgIFtLYXJlbCBaYWssIEthcmVsIFpha10KKyAgIC0gcmVtb3ZlIC0tcHJpbnQwIGFuZCAtY29sb24tc2VwYXJhdGUgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBkdXBsaWNhdGUgIlVzYWdlICIgIFtLYXJlbCBaYWtdCisgICAtIHRoZSBkZWZhdWx0IC0tZ2xvYmFsIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC1jIC0taWQgYW5kIC10ICBbS2FyZWwgWmFrXQorICAgLSB0aW55IGNoYW5nZSBhYm91dCAtLWdsb2JhbCB0byB0aGUgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzdWItdGFibGUgZm9yIHNlbXBob3JlIGVsZW1lbnRzICBbS2FyZWwgWmFrXQorICAgLSB2YWx1ZSBpcyBuZXZlciByZWFkIFtjbGFuZyBhbmFseXplXSAgW0thcmVsIFpha10KK2xzbG9ja3M6CisgICAtIGFkZCAtLWpzb24gIFtLYXJlbCBaYWtdCisgICAtIHNsaWNlIHVwIHRoZSByZWNlbnRseSBtb2RpZmllZCB1c2FnZSB0ZXh0ICBbQmVubm8gU2NodWxlbmJlcmddCitsc2xvZ2luczoKKyAgIC0gZml4IC0tdXNlci1hY2NzIGFuZCAtLXN5c3RlbS1hY2NzIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIG1lcmdlIHJlYWRfdXRtcCgpIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBkdXBsaWNhdGUgW21ha2UgY2hlY2tpbmNsdWRlc10gIFtLYXJlbCBaYWtdCittYW46CisgICAtIGZpeCBub2xhenl0aW1lIHR5cG8gaW4gbW91bnQoOCkgIFtBbmRyZWFzIEhlbnJpa3Nzb25dCittY29va2llOgorICAgLSBmaXggLWYgdXNhZ2UgW2NsYW5nIGFuYWx5emVdICBbS2FyZWwgWmFrXQorbWlzYzoKKyAgIC0gZml4IGluZGVudGlvbiBbc21hdGNoIHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggcmVkdW5kYW50IGFzc2lnbm1lbnQgYW5kIHJlYXNzaWdubWVudHMgYmVmb3JlIHVzZSBbY3BwY2hlY2tdICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBzaGFkb3cgZGVjbGFyYXRpb25zICBbU2FtaSBLZXJvbGFdCitta2ZzOgorICAgLSBkcm9wIGhhcmRjb2RlZCBzZWFyY2ggcGF0aCAgW01pa2UgRnJ5c2luZ2VyXQorbWtmcy5jcmFtZnM6CisgICAtIHJlbW92ZSBkZWFkIGNvZGUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorbWtmcy5taW5peDoKKyAgIC0gYWRkIGZzX2NvbnRyb2wgc3RydWN0dXJlLCBhbmQgcmVtb3ZlIG1vc3QgZ2xvYmFsIHZhcmlhYmxlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgaGludCBmb3Igc2Nhbm5lcnMgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayByZXF1ZXN0ZWQgYmxvY2tzIHdpbGwgbm90IGV4Y2VlZCBhdmFpbGFibGUgb24gZGV2aWNlICBbU2FtaSBLZXJvbGFdCisgICAtIGNoZWNrIHVzZXIgaW5wdXQgY2FyZWZ1bGx5ICBbU2FtaSBLZXJvbGFdCisgICAtIGluY3JlYXNlIG1heGltdW0gbWluaXggdjIgYW5kIHYzIGZpbGUgc3lzdGVtIHNpemVzICBbSm9zaHVhIEh1ZHNvbl0KKyAgIC0gaW50cm9kdWNlIGxvbmcgb3B0aW9ucyB0byB0aGUgY29tbWFuZCAgW1NhbWkgS2Vyb2xhXQorICAgLSByZS1maXggYmxvY2sgY291bnQgbWF0aHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVmYWN0b3Igcm9vdCBibG9jayBjb250ZW50IGNyZWF0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSB1bnVzZWZ1bCBjb2RlICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBpc19tb3VudGVkKCkgZnJvbSBsaWJjb21tb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHhhbGxvYyAgW0thcmVsIFpha10KK21vcmU6CisgICAtIGltcHJvdmUgdWdseSBtYWNybyAgW0thcmVsIFpha10KK21vdW50OgorICAgLSBkb24ndCByZW1vdW50IHJlYWQtb25seSBvbiAtLWJpbmQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBsYXp5dGltZSBkb2NzICBbS2FyZWwgWmFrXQorICAgLSBtb3VudC44IENsYXJpZnkgcmVsYXRpb24gYmV0d2VlbiBub2F0aW1lIGFuZCBub2RpcmF0aW1lICBbQm9ydXQgTXJha10KKyAgIC0gbW91bnQuOCBhbHNvIG5vdGUgZGlyYXRpbWUgZG9lcyBub3Qgb3ZlcnJpZGUgbm9hdGltZS4gIFtCb3J1dCBNcmFrXQorICAgLSByZW1vdmUgWEZTIGZyb20gbWFuIHBhZ2UsIHhmc3Byb2dzIHByb3ZpZGVzIHhmcyg1KSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGR1cGxpY2F0aW9ucyBvZiAtLWhlbHAgYW5kIC0tdmVyc2lvbiBmcm9tIHVzYWdlIHRleHQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK25zZW50ZXI6CisgICAtIGFkZCAtWiB0byBzZXQgc2VsaW51eCBjb250ZXh0ICBbS2FyZWwgWmFrXQorcG86CisgICAtIG1lcmdlIGNoYW5nZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBkYS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0pvZSBIYW5zZW5dCisgICAtIHVwZGF0ZSBlcy5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0FudG9uaW8gQ2ViYWxsb3MgUm9hXQorICAgLSB1cGRhdGUgZmkucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtMYXVyaSBOdXJtaV0KKyAgIC0gdXBkYXRlIGZyLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbRGF2aWQgUHLDqXZvdF0KKyAgIC0gdXBkYXRlIGphLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbVGFrZXNoaSBIYW1hc2FraV0KKyAgIC0gdXBkYXRlIHBsLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbSmFrdWIgQm9ndXN6XQorICAgLSB1cGRhdGUgdWsucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtZdXJpIENob3Jub2l2YW5dCitwcmxpbWl0OgorICAgLSB0ZWxsIGluIC0tdmVyYm9zZSBvdXRwdXQgd2hpY2ggcGlkIGdvdCB0aGUgbmV3IGxpbWl0ICBbU2FtaSBLZXJvbGFdCitwcm9jdXRpbHM6CisgICAtIHJlc2V0IGVycm5vIGJlZm9yZSByZWFkZGlyICBbUnVlZGlnZXIgTWVpZXJdCityZW5hbWU6CisgICAtIGFsbG93IGZ1bGwtcGF0aCByZW5hbWVzICBbQW5kcmVhcyBIZW5yaWtzc29uXQorcmVzZXQ6CisgICAtIGRlcHJlY2F0ZSB0aGUgc2NyaXB0LCBhbmQgcmVtb3ZlIHJlc2V0LjAzM2MgIFtTYW1pIEtlcm9sYV0KK3JwbWF0Y2g6CisgICAtIHVzZSBzeW1ib2xpYyB2YWx1ZSB3aGVuIGV2YWx1YXRpb24gcmV0dXJuIGNvZGVzICBbU2FtaSBLZXJvbGFdCitydGN3YWtlOgorICAgLSBhZGQgLS1saXN0LW1vZGVzICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBodW1hbiByZWFkYWJsZSAtLWRhdGUgdGltZXN0YW1wIGZvcm1hdCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgcnRjd2FrZV9jb250cm9sIGFuZCByZW1vdmUgZ2xvYmFsIHZhcmlhYmxlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbiB1cCBzdHJ1Y3QgdG0gaW5pdGlhbGl6YXRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIGNvc21ldGljIGNoYW5nZXMgIFtLYXJlbCBaYWtdCisgICAtIGRvIG5vdCBvdmVyd3JpdGUgZGV2aWNlIG5hbWUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZG9uJ3QgdXNlIHVzYWdlKCkgb24gZXJyb3IgIFtLYXJlbCBaYWtdCisgICAtIGVudW1lcmF0ZSBjb25zdGFudCBtb2RlIHN0cmluZ3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IEFSUkFZX1NJWkUoKSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gZml4IHByZXByb2Nlc3NvciByZWRlZmluaXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHZhbGdyaW5kIHdhcm5pbmcgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW1wcm92ZSBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW1wcm92ZSBvcGVuKCkgdXNhZ2UgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIHJlYWRfY2xvY2tfbW9kZSgpICBbU2FtaSBLZXJvbGFdCisgICAtIG1ha2Ugc29tZSBjb21tYW5kIGxpbmUgb3B0aW9ucyBtdXR1YWxseSBleGNsdXNpdmUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVhZCBhY2NlcHRlZCBtb2RlIHN0cmluZ3MgZnJvbSAvc3lzL3Bvd2VyL3N0YXRlICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBSVENfQUxNX1JFQUQgYW5kIFJUQ19BTE1fU0VUIGNvbXBhdGliaWxpdHkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVwbGFjZSBsb25nIGlmIGVsc2Ugc3RhdGVtZW50IHdpdGggc3dpdGNoIGNhc2UgIFtTYW1pIEtlcm9sYV0KK3NjcmlwdDoKKyAgIC0gRml4IG1hbmdsZWQgRU9GIGFuZCBoYW5nIG9uIGJpZyBlbmRpYW4gIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBhZGQgJ1NjcmlwdCBzdGFydGVkJyBsaW5lIGFsd2F5cyB0byBjYXB0dXJlIGZpbGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIG5vcmV0dXJuIGZ1bmN0aW9uIGF0dHJpYnV0ZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIG5vdGUgdG8gQlVHUyBtYW4gcGFnZSBzZWN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3RydWN0IHNjcmlwdF9jb250cm9sIGFuZCByZW1vdmUgZ2xvYmFsIHZhcmlhYmxlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgU0NSSVBUX0RFQlVHPSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBzaWduYWxzIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbG9zZSB0aW1pbmdmcCBhbHNvIHdoZW4gLWUgIFtLYXJlbCBaYWtdCisgICAtIGRlYnVnIHBvbGwoKSByZXN1bHRzICBbS2FyZWwgWmFrXQorICAgLSBldmFsdWF0ZSBlcnJubyBvbmx5IGlmIHJlYWQoKSBzZXRzIGl0ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBFT0YgcHJvYmxlbXMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB2YXJpYWJsZSBpbml0aWFsaXphdGlvbiB3YXJuaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIGltcHJvdmUgU0lHe1RFUk0sUVVJVCxLSUxMfSBzZW5zaXRpdml0eSAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBwb2xsIGRlYnVnZ2luZyAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBzdXJlIGVycm5vIGlzIHplcm8gIFtLYXJlbCBaYWtdCisgICAtIG1lcmdlIGRvaW5wdXQoKSBhbmQgb3V0cHV0KCkgZnVuY3Rpb25zIHRvIGRvX2lvKCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbW92ZSBkb19pbygpIGNvbnRlbnQgdG8gc21hbGwgZnVuY3Rpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIG1vdmUgdGltaW5nIGZpbGUgb3BlbmluZyBjbG9zZSB0byB1c2Ugb2YgaXQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIGZ1bmN0aW9uIHByb3RvdHlwZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIGlvIHZzIHNpZ25hbCByYWNlICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBtYWdpYyBjb25zdGFudHMgZnJvbSBwb2xsIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSBjb250cm9sIHN0cnVjdCBtZW1iZXJzICBbS2FyZWwgWmFrXQorICAgLSByZXBsYWNlIHN0cmZ0aW1lKCkgd29ya2Fyb3VuZCB3aXRoIENGTEFHUyA9IC1Xbm8tZm9ybWF0LXkyayAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgY29ycmVjdCBpbnB1dCB0eXBlLCBtb3ZlIGNvbW1lbnQsIGFuZCBzbyBvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgZ2V0dGltZV9tb25vdG9uaWMoKSB0byBnZXQgdGltaW5nIGZpbGUgdGltZXN0YW1wcyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgcG9sbCgpIHJhdGhlciB0aGFuIHNlbGVjdCgpICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBzaWduYWxmZCgpIHRvIGNhdGNoIHNpZ25hbHMgIFtTYW1pIEtlcm9sYV0KK3NldGFyY2g6CisgICAtIGZpeCByZWdyZXNzaW9uIGZvciBzcGFyYyBidWlsZHMgIFtXYWxkZW1hciBCcm9ka29yYl0KK3NldHRlcm06CisgICAtIHJlbW92ZSBkZWFkIGNvZGUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorc2ZkaXNrOgorICAgLSBhY2NlcHQgZW1wdHkgcGFydGl0aW9ucyBmcm9tIGR1bXAgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLWpzb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLWxpc3QtZnJlZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1pc3NpbmcgLS1jb2xvciAgW0thcmVsIFpha10KKyAgIC0gYWRkIHJlYWRsaW5lIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGNsYXJpZmljYXRpb24gZm9yIHNmZGlzayBtYW4gcGFnZSAgW0lhbiBXaWVuYW5kXQorICAgLSBjbGVhbnVwIHByb21wdCB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgcHJpbnQgZXh0cmEgbGluZWJyZWFrcyBvbiAtLXF1aWV0ICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB1c2UgQkxLUlJQQVJUIHRvIGNoZWNrIGxvb3BkZXYgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGVuYWJsZSBib290Yml0cyBwcm90ZWN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBmaXggLWEgdnMuIC1BIGJ1ZyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSAtTiB3YXJuaW5ncyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBzb21lIGZvcm1hdHRpbmcgYW5kIHdvcmRpbmcgaW4gdGhlIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHNob3cgdGhhdCB0aGUgY29tbWFuZCAtLXZlcmlmeSBvcHRpb25hbGx5IHRha2VzIGRldmljZSBuYW1lcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorc3Vsb2dpbjoKKyAgIC0gVXNlIHJlYWQgaW5zdGVhZCBvZiBhbGxvY2F0ZWQgc2l6ZSBmcm9tIGdldGxpbmUoKSAgW0d1aWxsZW0gSm92ZXJdCisgICAtIGRvbid0IHVzZSBzdHJjcHkoKSwgZW5sYXJnZSBwd2QgbGluZSBidWZmZXIgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgc3VwcG9ydCBmb3IgbG9ja2VkIHJvb3QgYWNjb3VudCAgW0thcmVsIFpha10KK3N3YXBvbjoKKyAgIC0gZml4IHJlc3RhcnQgd2FpdHBpZCB3aXRoIGVycm5vID09IEVJTlRSICBbS2FyZWwgWmFrXQorICAgLSBzZWFyY2ggZm9yIG1rc3dhcCB2aWEgUEFUSCAgW01pa2UgRnJ5c2luZ2VyXQorc3lzLXV0aWxzOgorICAgLSBsc2NwdSBzZWdmYXVsdHMgd2hlbiBidWlsdCB3aXRoIC1mc2FuaXRpemU9YWRkcmVzcyAgW0NyaXN0aWFuIFJvZHLDrWd1ZXpdCitzeXMtdXRpbHMvZGlzay11dGlscy9saWI6CisgICAtIGZpeCBwcmludGYgZm9ybWF0IHR5cGVzIFtjcHBjaGVja10gIFtCb3JpcyBFZ29yb3ZdCit0YWlsZjoKKyAgIC0gY291bnQgbGFzdCBsaW5lcyBjb3JyZWN0bHkgYXQgaW5pdGlhbCBwcmludCBvdXQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZGVwcmVjYXRlZCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBkbyBub3QgYWxsb3cgbWludXMgc2lnbmVkIGxhc3QgbGluZXMgYXJndW1lbnQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZW5zdXJlIGZpbGUgYXJndW1lbnQgcmVhbGx5IGlzIGEgZmlsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggb3BlbigpIHJldHVybiB2YWx1ZSBjaGVjayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzaXplX3QgYW5kIGZ3cml0ZSgpICBbS2FyZWwgWmFrXQordGFzdHM6CisgICAtIGFkZCBsb2dnZXIgb2N0ZXQgY291bnRpbmcgdGVzdCAgW0thcmVsIFpha10KK3Rlc3RfdXVpZGQ6CisgICAtIGFkZCBjb21tZW50ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcGlkLCB0aWQgYW5kIGlkeCBiYWNrIHRvIG9iamVjdCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBjb3VudGVycyBuYW1lcyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBwaWQgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdXNlZCB0eXBlcyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgZXhpdCBvbiBmYWlsZWQgcHRocmVhZF9jcmVhdGUoKSAgW0thcmVsIFpha10KKyAgIC0gZXJyIG1lc3NhZ2VzLCBhcmd2W10gcGFyc2luZyBhbmQgYW5vdGhlciBjbGVhbnVwcyAgW0thcmVsIFpha10KKyAgIC0gZml4IGluY2x1ZGUgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgcmVhZGFiaWxpdHkgIFtLYXJlbCBaYWtdCisgICAtIG1ha2Ugb2JqZHVtcCBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KK3Rlc3RzOgorICAgLSAoYmxraWQpIHVwZGF0ZSBkcmJkbWFuYWdlICBbS2FyZWwgWmFrXQorICAgLSAoY2FsKSB1cGRhdGUgVVMgd2VlayBudW1iZXJzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgJHRvcF9idWlsZGRpciB0byAkUEFUSCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBhZGQgLS1leGNsdWRlPTxsaXN0PiBmb3IgcnVuLnNoICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1za2lwLWxvb3BkZXZzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgSlNPTiBzZmRpc2sgZHVtcHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBibGtpZCBzY3JpcHQgdG8gdGVzdCB3aG9sZS1kaXNrIE1CUiBkZXZpY2VzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgY29sY3J0IHJlZ3Jlc3Npb24gdGVzdHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGRtZXNnIG11bHRpbGluZSBtZXNzYWdlIGNoZWNrICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBkb2N1bWVudGF0aW9uIGFib3V0IGVudmlyb25tZW50IHZhcmlhYmxlcyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBhZGQgZnNjay5taW5peCBjaGVja3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGZ1bGxwYXRoIHRlc3RzIHRvIHJlbmFtZS9zdWJkaXIgIFtBbmRyZWFzIEhlbnJpa3Nzb25dCisgICAtIGFkZCBoZXhkdW1wIGZyb20gR1BUICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbG9nZ2VyKDEpIGNvbW1hbmQgbGluZSBvcHRpb25zIHRlc3RzICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBsb2dnZXIoMSkgZXJyb3IgY29uZGl0aW9uIHRlc3RzICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBsb2dnZXIoMSkgam91cm5hbGQgdGVzdCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgbG9nZ2VyKDEpIG1lc3NhZ2UgZm9ybWF0IHRlc3RzICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBvbGQgZHVtcCBmb3Igc2ZkaXNrICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc2NyaXB0IG91dHB1dCBidWZmZXJpbmcgcmFjZSBjaGVjayAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgc2NyaXB0cmVwbGF5IHRlc3QgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHNmZGlzayByZXNpemUgcmVncmVzc2lvbiB0ZXN0cyBmb3IgTUJSICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc2ZkaXNrIHJlc2l6ZSB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNmZGlzayByZXNpemUgdGVzdHMgZm9yIEdQVCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1YnRlc3RzIGZvciBpbnZhbGlkIGxvZ2dlciBkZXZpdmUgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYWRkIHRlc3RfZG1lc2cgdGhhdCBoYXMgZml4ZWQgYm9vdCB0aW1lICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCB1ZGV2YWRtIHNldHRsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHV1aWRkIHRlc3QgcHJvZ3JhbSAgW0h1c2NoYWFtIEh1c3NhaW5dCisgICAtIGFkZCB2ZXJ5IGxvbmcgbW91bnQgbGluZSB0byBsaWJtb3VudCBtdGFiICBbS2VlcyBDb29rXQorICAgLSBhZGQgd2F5IHRvIGNvbnRyb2wgbWtmcy5taW5peCB0aW1lIHN0YW1wcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbHdheXMga2lsbCBoZWxwZXIgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYXZvaWQgJj4+IGZvciBiYXNoIGNvbXBhdGliaWxpdHkgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gY2hlY2sgZG1lc2cgbWVzc2FnZSBjb2xvcmluZyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjaGVjayBzY3JpcHQgb3B0aW9ucyB3b3JrIGFzIGV4cGVjdGVkICBbU2FtaSBLZXJvbGFdCisgICAtIGNoZWNrIHRpbWVzdGFtcCBmb3JtYXRzICBbU2FtaSBLZXJvbGFdCisgICAtIGNvbmZpZy5oIGxpdmVzIGluIGJ1aWxkIGRpcmVjdG9yeSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBkaXNhcm0gdGFpbGYgdGVzdCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggY3JhbWZzL21rZnMgZm9yIEJFIGFuZCBkaWZmZXJlbnQgcGFnZXNpemVzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBmZGlzay9ic2QgZm9yIHBwYzY0bGUgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGdldG9wdCBmb3Igb2xkIGdsaWJjICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBraWxsL2FsbF9wcm9jZXNzZXMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGxvZ2dlciBkZXZpY2UgcGF0aG5hbWUgdG9vIGxvbmcgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IG1pbml4IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtaW5peCB0ZXN0cyBmaWxlbmFtZXMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzZmRpc2sgR1BUIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGZpeCwgZG9uJ3QgY2FsbCB0c19kaWUgZnJvbSBzdWJzaGVsbCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBpbXByb3ZlIHJlYWRhYmlsaXR5IGZvciBmZGlzay9ic2QgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gaW50cm9kdWNlIFRTX0xPT1BfREVWUyBmb3IgY2xlYW51cCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBpbnRyb2R1Y2UgdHNfY2xlYW51cF9vbl9leGl0KCkgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbG9nZ2VyIHdpdGggc29jYXQgZGV2aWNlICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGxvZ2dlciwgdmFsaWRhdGUgd3JpdHRlbiBzb2NrZXQgZGF0YSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBsb2dnZXIvZXJyb3JzIGRvZXMgbm90IHVzZSAtLW5vLWFjdCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBsb29wIHRlc3RzLCBkb24ndCBjYWxsIHRzX2RpZSgpIHdpdGggREVWSUNFIHBhcmFtZXRlciAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBtYWtlIGxpYm1vdW50IGNvbnRleHQgdGVzdHMgc2Vuc2l0aXZlIHRvIFVTRV9MSUJNT1VOVF9GT1JDRV9NT1VOVElORk8gIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgbGlibW91bnQgcHl0aG9uIGNvbnRleHQgdGVzdHMgc2Vuc2l0aXZlIHRvIFVTRV9MSUJNT1VOVF9GT1JDRV9NT1VOVElORk8gIFtLYXJlbCBaYWtdCisgICAtIG1vcmUgZXJyb3IgaGFuZGxpbmcgaW4gbW91bnQvbW92ZSAocmVmYWN0b3IpICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIG1vcmUoMSkgZGVwZW5kcyBvbiB0ZXJtaW5hbCwgZm9yY2UgdG8gVEVSTT1saW51eCAgW0thcmVsIFpha10KKyAgIC0gbW91bnQvbW92ZSBhbHNvIHRlc3RzIGZpbmRtbnQgdnMuIG1vdW50cG9pbnQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbW91bnQvcmxpbWl0IHRyaWVzIHRvIHJlc3RvcmUgbXRhYiAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBuZXZlciB1c2UgLW8gcGlwZWZhaWwgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gb3B0aW9uYWxseSBza2lwIHRlc3RzIHdoZXJlIGxvb3Agc3VwcG9ydCBpcyBuZWVkZWQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcmVtb3ZlIHByaXZhdGUyIGRpciBmcm9tIG1vdW50L21vdmUgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB3YXJuaW5nIGZyb20gdGVzdCBvdXRwdXQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcmVxdWlyZSB3aXBlZnMgZm9yIHNmZGlzay9ncHQgIFtLYXJlbCBaYWtdCisgICAtIHNjc2lfZGVidWcgdGVzdHMsIGRvbid0IGNhbGwgdHNfZGllKCkgd2l0aCBERVZJQ0UgcGFyYW1ldGVyICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHNpbXBsaWZ5IGNvbW1vbiBsb2dnZXIgb3B0aW9ucyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBzb21lIG1vcmUgbW91bnQgZXJyb3IgaGFuZGxpbmcgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gc3RhcnQgc2NyaXB0L3JhY2UgdGVzdCBvbmx5IHdoZW4gLS1mb3JjZSBzcGVjaWZpZWQgIFtLYXJlbCBaYWtdCisgICAtIHRyeSBta2ZzICYgbW91bnQgYWxsIHN1cHBvcnRlZCBtaW5peCB2ZXJzaW9ucyAgW0thcmVsIFpha10KKyAgIC0gdHNfc2NzaV9kZWJ1Z19pbml0KCkgc2xlZXBzIGEgYml0IGVhcmxpZXIgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gdXBkYXRlIGJ1aWxkLXN5cyB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGZkaXNrIEJTRCAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGxzY3B1IHRlc3RzIChkdWUgdG8gQ1BVIGZsYWdzIGluIG91dHB1dCkgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBzZmRpc2sgLS1kdW1wIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBzdGF0aWMgYnVpbGQgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gdXNlIC0tbm8tYWN0IGZvciBsb2dnZXIgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSB0c19za2lwIGZvciBsb2dnZXIvam91cm5hbGQgIFtLYXJlbCBaYWtdCisgICAtIHZlcmlmeSBsb2dnZXIgcmV0dXJuIHZhbHVlICBbUnVlZGlnZXIgTWVpZXJdCit0ZXh0dWFsOgorICAgLSBhZGp1c3QgZ3JhbW1hciBhbmQgcHVuY3R1YXRpb24gb2Ygc29tZSBtZXNzYWdlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQordG9vbHM6CisgICAtIGFkZCBlcnJfb29tKCkgdG8gc21hdGNoIG5vX3JldHVybl9mdW5jcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGhleGR1bXAgYmFkY29udigpIHRvIG5vcmV0dXJuIHNtYXRjaCBsaXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbGliZmRpc2sgZG9jcyB0byBrZXJuZWwub3JnIHJlbGVhc2UgZ2VuZXJhdG9yICBbS2FyZWwgWmFrXQorICAgLSBzdG9wIGNoZWNrbWFucy5zaCB2YWxpZGF0aW5nIGxpYnRvb2wgYnVpbGRzICBbU2FtaSBLZXJvbGFdCit0cmF2aXM6CisgICAtIGFkZCBNQUtFX0NIRUNLX09QVFMgIFtLYXJlbCBaYWtdCisgICAtIGluc3RhbGwgc29jYXQgPj0gMS43LjIgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbW92ZSBpbnN0YWxsIHNjcmlwdCB0byAudHJhdmlzLWZ1bmN0aW9ucy5zaCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB3aGl0ZWxpc3QgdHJhdmlzKiBicmFuY2hlcyAgW1J1ZWRpZ2VyIE1laWVyXQordHJhdmlzZToKK3R1bmVscDoKKyAgIC0gcmVtb3ZlIGdldF92YWwoKSBpbiBmYXZvdXIgb2Ygc3RydG9sX29yX2VycigpICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBwcmVwcm9jZXNzb3IgZGlyZWN0aXZlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgcGFyc2Vfc3dpdGNoKCkgIFtTYW1pIEtlcm9sYV0KK3Vuc2hhcmU6CisgICAtIGFkZCAtLXByb3BhZ2F0aW9uLCB1c2UgTVNfUFJJVkFURSBieSBkZWZhdWx0ICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyBwZXJzaXN0aW5nIG1vdW50IG5hbWVzcGFjZXMgIFtLYXJlbCBaYWtdCisgICAtIGFsbG93IHBlcnNpc3RpbmcgbmFtZXNwYWNlcyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGFuZ3VsYXIgYnJhY2tldHMgZnJvbSBsaXRlcmFsIGFyZ3VtZW50IGluIHVzYWdlIHRleHQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gcmVtb3ZlIGR1cGxpY2F0ZSBbbWFrZSBjaGVja2luY2x1ZGVzXSAgW0thcmVsIFpha10KK3dhbGw6CisgICAtIGRvIG5vdCB1c2UgYSB0ZW1wb3JhcnkgZmlsZS4gIFtLYXJlbCBaYWssIEphbm4gSG9ybl0KK3doZXJlaXM6CisgICAtIG1ha2UgIi1CTVMgPGRpcj4gLWYiIG1vcmUgb2J2aW91cyBpbiB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSB0ZWxsIHdoZW4gbWFuZGF0b3J5IG9wdGlvbiBpcyBtaXNzaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIHRyaXZpYWwgc3BlbGxpbmcgYW5kIGdyYW1tYXIgZml4ICBbTWlrZSBQbGFjZV0KK3pyYW1jdGw6CisgICAtIGFkZCBNRU0tTElNSVQsIE1FTS1VU0VEIGFuZCBNSUdSQVRFRCBjb2x1bW5zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbGluayB0byBrZXJuZWwgZG9jdW1lbnRhdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBzdXBwb3J0IC9zeXMvYmxvY2svenJhbTxpZD4vbW1fc3RhdCAgW0thcmVsIFpha10KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjgtUmVsZWFzZU5vdGVzIGIvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yOC1SZWxlYXNlTm90ZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmZhMTE1YQotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjgtUmVsZWFzZU5vdGVzCkBAIC0wLDAgKzEsNzI1IEBACitVdGlsLWxpbnV4IDIuMjggUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworTm93IGNmZGlzaywgc2ZkaXNrIGFuZCBmZGlzayB3aXBlIGFsbCBmaWxlc3lzdGVtIGFuZCBSQUlEIHNpZ25hdHVyZXMgd2hlbgorY3JlYXRpbmcgYSBuZXcgZGlzayBsYWJlbCBpbiBpbnRlcmFjdGl2ZSBtb2RlLiAgSXQncyBwb3NzaWJsZSB0byBjb250cm9sIHRoaXMKK2ZlYXR1cmUgd2l0aCAtLXdpcGVbPWF1dG98bmV2ZXJ8YWx3YXlzXS4gIEZvciBub24tdGVybWluYWxzIHRoZSBmZWF0dXJlIGlzCitkaXNhYmxlZCBieSBkZWZhdWx0LgorCitsc25zIC0tIHRoaXMgTkVXIENPTU1BTkQgbGlzdHMgaW5mb3JtYXRpb24gYWJvdXQgYWxsIGN1cnJlbnRseSBhY2Nlc3NpYmxlCituYW1lc3BhY2VzIG9yIGFib3V0IHRoZSBnaXZlbiBuYW1lc3BhY2UuCisKK1RoZSBjb21tYW5kIHNmZGlzayBzdXBwb3J0cyBuZXcgb3BlcmF0aW9ucyAtLWRlbGV0ZSwgLS1tb3ZlLWRhdGEgYW5kIC0tcmVvcmRlci4KKworVGhlIGNvbW1hbmQgYmxrZGlzY2FyZCBzdXBwb3J0cyBhIG5ldyBvcHRpb24gLS16ZXJvb3V0IHRvIHplcm8tZmlsbCByYXRoZXIgdGhhbgorZGlzY2FyZCBhIHNwZWNpZmllZCBhcmVhLgorCitUaGUgY29tbWFuZCBjYWwgc3VwcG9ydHMgYSBuZXcgb3B0aW9uIC0tc3BhbiB0byBzcGFuIHRoZSBkYXRlIHdoZW4gZGlzcGxheWluZworbXVsdGlwbGUgbW9udGhzIChlLmcuICJjYWwgLS1zcGFuIC0tbW9udGhzIDUiIHRvIGRpc3BsYXkgdHdvIG1vbnRocyBiZWZvcmUgYW5kCit0d28gbW9udGhzIGFmdGVyIHRoZSBjdXJyZW50IG1vbnRoKS4KKworVGhlIGNvbW1hbmQgY2hydCBzdXBwb3J0cyB0aGUgREVBRExJTkUgc2NoZWR1bGluZyBjbGFzcyBhbmQgdGhlIG5ldyBvcHRpb25zCistLXNjaGVkLXJ1bnRpbWUgLS1zY2hlZC1wZXJpb2QgYW5kIC0tc2NoZWQtZGVhZGxpbmUuCisKK1RoZSBjb21tYW5kIGxvZ2dlciBzdXBwb3J0cyBSRkMgNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgdGhyb3VnaCB0aGUgbmV3IG9wdGlvbnMKKy0tc2QtaWQgYW5kIC0tc2QtcGFyYW0uCisKK1RoZSBjb21tYW5kIGxvc2V0dXAgc3VwcG9ydHMgYSBuZXcgb3B0aW9uIC0tZGlyZWN0LWlvWz1vbnxvZmZdLgorCitUaGUgY29tbWFuZCBsc2JsayBhbGxvd3MgdG8gc29ydCBvdXRwdXQgYnkgdW5wcmludGVkIGNvbHVtbnMgKGUuZy4gbHNibGsKKy0tb3V0cHV0IE5BTUUgLS1zb3J0IFNJWkUpLgorCitUaGUgY29tbWFuZCBtb3VudCBhcHBsaWVzIHRoZSBub2ZhaWwgbW91bnQgb3B0aW9uIHRvIEVOT01FRElVTSBlcnJvcnMuCisKK1RoZSBjb21tYW5kcyBuc2VudGVyIGFuZCB1bnNoYXJlIHN1cHBvcnQgYSBuZXcgb3B0aW9uIC0tY2dyb3VwIGZvciB3b3JrIHdpdGggCitjZ3JvdXBzIG5hbWVzcGFjZXMgKENMT05FX05FV0NHUk9VUCkuCisKK1RoZSBsaWJyYXJ5IGxpYm1vdW50IGhhcyBiZWVuIGltcHJvdmVkIHRvIHByb3Blcmx5IGRldGVjdCBhbHJlYWR5IG1vdW50ZWQgYnRyZnMKK3N1YnZvbHVtZXMuCisKK1RoZSBsaWJyYXJ5IGxpYnNtYXJ0Y29scyBoYXMgYmVlbiBtYXNzaXZlbHkgaW1wcm92ZWQgdG8gcHJpbnQgdGFibGUgcmFuZ2VzLAorbXVsdGktbGluZSBjZWxscywgdGFibGUgdGl0bGVzIGFuZCB0byBzdXBwb3J0IGNvbnRpbnVvdXMgcHJpbnRpbmcuCisKK1RoZSBwYWNrYWdlIGJ1aWxkIHN5c3RlbSBhbmQgY29kZSBoYXZlIGJlZW4gaW1wcm92ZWQgdG8gYmUgbW9yZSBwb3J0YWJsZSB0bworbm9uLUxpbnV4IHN5c3RlbXMgKEJTRCwgT1NYKS4KKworVGhlIHBhY2thZ2UgZG9lcyBub3QgcHJvdmlkZSBmYWxsYmFjayBzb2x1dGlvbnMgZm9yIG9wZW5hdC1mYW1pbHkgZnVuY3Rpb25zCithbnltb3JlLgorCitUaGUgcHl0aG9uIGJpbmRpbmcgZm9yIGxpYnNtYXJ0Y29scyBpcyBhdmFpbGFibGUgaW4gc2VwYXJhdGUgcHJvamVjdCBhdAoraHR0cHM6Ly9naXRodWIuY29tL2lnbmF0ZW5rb2JyYWluL3B5dGhvbi1zbWFydGNvbHMuCisKKworU2VjdXJpdHkgaXNzdWVzCistLS0tLS0tLS0tLS0tLS0KKworQ1ZFLTIwMTYtMjc3OQorCitUaGlzIHNlY3VyaXR5IGlzc3VlIGlzIE5PVCBGSVhFRCB5ZXQuICBJdCBpcyBwb3NzaWJsZSB0byBkaXNhYmxlIHRoZSBpb2N0bAorVElPQ1NUSSBieSBzZXRzaWQoKSBvbmx5LiAgVW5mb3J0dW5hdGVseSwgc2V0c2lkKCkgaGFzIHdlbGwtZGVmaW5lZCB1c2UgY2FzZXMKK2luIHN1KDEpIGFuZCBydW51c2VyKDEpIGFuZCBhbnkgY2hhbmdlcyB3b3VsZCBpbnRyb2R1Y2UgcmVncmVzc2lvbnMuICBJdCBzZWVtcword2UgbmVlZCBhIGJldHRlciB3YXkgLS0gaWRlYWxseSBhbm90aGVyIGlvY3RsIChvciB3aGF0ZXZlciBpcyBzdXBwb3J0ZWQgYnkgdGhlCitrZXJuZWwpIHRvIGRpc2FibGUgVElPQ1NUSSB3aXRob3V0IHNldHNpZCgpLgorCisKK1N0YWJsZSBtYWludGVuYW5jZSByZWxlYXNlcyBiZXR3ZWVuIHYyLjI3IGFuZCB2Mi4yOAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3V0aWwtbGludXggMi4yNy4xIFtOb3YgMTEgMjAxNV0KKworICogZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjcvdjIuMjcuMS1SZWxlYXNlTm90ZXMKKyAgIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjI3L3YyLjI3LjEtQ2hhbmdlTG9nCisKKworQ2hhbmdlcyBiZXR3ZWVuIHYyLjI3IGFuZCB2Mi4yOAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCithZ2V0dHk6CisgICAtIGFkZCBzdXBwb3J0IGZvciBcZSBpbiBpc3N1ZSBmaWxlIHRvIHByaW50IFwwMzMgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGlnbm9yZSBuZXRsaW5rIG9uIHNlbGVjdCgpICBbS2FyZWwgWmFrXQorICAgLSBmaXggY2hvd24oMyksIGNobW9kKDMpIGFuZCBvcGVuKDMpIHJhY2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIGF0b2koKSBmcm9tIGFyZ3ZbXSBwYXJzaW5nIFtjbGFuZyBhbmFseXplXSAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCBcZXtuYW1lfSBmb3IgaXNzdWUgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gdHdlYWsgZm9ybWF0dGluZyBhbmQgc29tZSB3b3JkaW5ncyBpbiB0aGUgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK2Jhc2gtY29tcGxldGlvbjoKKyAgIC0gYWRkIGNhbCAtLXNwYW4gIFtLYXJlbCBaYWtdCisgICAtIGN1cmx5IGJyYWNlIG1pc3NlZCBmb3IgZmluZG1udCAgW0FsZXhhbmRlciBLdWxlc2hvdl0KKyAgIC0gZnNjay5jcmFtZnMsIGlzb3NpemUgIGZpbmQgZmlsZXMgYW4gYXJndW1lbnQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZnN0cmltICB1c2UgbW91bnRwb2ludCwgbm90IGRldmljZSAgW0FuZHJlYXMgSGVucmlrc3Nvbl0KKyAgIC0gaXBjbWsgIGFkZCBtaXNzaW5nIGNvbXBsZXRpb24gZmlsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBsc2xvZ2lucyAgYWRkIG1pc3NpbmcgY29tcGxldGlvbiBmaWxlICBbU2FtaSBLZXJvbGFdCisgICAtIGxzbnMgIGFkZCBtaXNzaW5nIGNvbXBsZXRpb24gZmlsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1cGRhdGUgY2hydCBjb21wbGV0aW9uICBbU2FtaSBLZXJvbGFdCitibGtkaXNjYXJkOgorICAgLSBhZGQgLS16ZXJvb3V0IChCTEtaRVJPT1VUIGlvY3RsKSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgcmVwb3J0ICJ6ZXJvIHJhbmdlIiBhdCB0aGUgZW5kICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBzdGF0cyByZXBvcnRpbmcgKG9mZiBieSBvbmUpICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCB0aW1ldmFsIGNvbXBhcmlzb24gaW5jbHVzaXZlIHVzZWNzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHNsaWNlIHVwIHRoZSByZWNlbnRseSBjaGFuZ2VkIHVzYWdlIHRleHQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK2Jsa2lkOgorICAgLSBkb24ndCBtYXJrIHpmcyBhcyBSQUlEICBbS2FyZWwgWmFrXQorYmxraWQsIHV1aWRkLCB1dWlkZ2VuOgorICAgLSBhc3N1bWUgZ2V0b3B0LmggYW5kIGdldG9wdC5oIGFyZSBhdmFpbGFibGUgIFtTYW1pIEtlcm9sYV0KK2J1aWxkLXN5czoKKyAgIC0gUHJvcGVybHkgb3JkZXIgaW5zdGFsbCBkZXBlbmRlbmNpZXMgb2YgcHlsaWJtb3VudCAgW0ZpbGlwZSBCcmFuZGVuYnVyZ2VyXQorICAgLSBhZGQgLS1kaXNhYmxlLWlwY3JtIC0tZGlzYWJsZS1pcGNzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGFkZCAtLWRpc2FibGUtbG9nZ2VyIGFuZCAtLWRpc2FibGUtbHNsb2dpbnMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYWRkIGFuZCB1c2Ugb3BlbmF0IGJ1aWxkIGNvbmRpdGlvbmFscyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBhZGQgbHNucyB0byBnaXRpZ25vcmUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtaXNzaW5nICJub3QgZm91bmQiIHN0cmluZ3MgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYWx3YXlzIGFkZCBBTV9DRkxBR1MgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYWx3YXlzIHVzZSBnbG9iYWwgTERBREQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYnVpbGRfaW5pdCBzaG91bGQgY2hlY2sgZm9yIGZsb2NrICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGJ1bXAgYWxzbyBQQUNLQUdFX1ZFUlNJT05fUkVMRUFTRSBudW1iZXIgIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIGxpbmtlciBzdXBwb3J0IGZvciB2ZXJzaW9uIHNjcmlwdHMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gY2hydCByZXF1aXJlcyBhIHNjaGVkX3NldCogZnVuY3Rpb24gIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZGlzYWJsZSBsb2dpbi11dGlscyBpZiBzaGFkb3cuaCBvciB1dG1wLmggaXMgbWlzc2luZyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBkaXNhYmxlIHVudXNlZCBwYXJhbWV0ZXIgd2FybmluZ3MgZm9yIHNvbWUgdGVzdCBwcm9ncyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggW2ddbGlidG9vbGl6ZSB2ZXJzaW9uIGZvciBPU1ggIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGFnYWluIFVMX1NDQU5GX1RZUEVfTU9ESUZJRVIgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGNhcC1uZyBjb25maWd1cmUgZmxhZyBoYW5kbGluZyAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSBmaXggaWYuLmVuZGlmIGZvciAqX2xhX0xERkxBR1MgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBsaWJ0b29saXplIGZvciBPU1ggIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IHR5cG8gIFtSb21haW4gTmFvdXJdCisgICAtIGZpeCB0eXBvIGFuZCBtb3JlIGFsbCBSVCB0byB0aGUgc2FtZSBwbGFjZSAgW0thcmVsIFpha10KKyAgIC0gaGFwcHkgbmV3IHllYXIuLi4gIFtLYXJlbCBaYWtdCisgICAtIGlnbm9yZSB2aW0gLnN3cCBmaWxlcyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBpbXByb3ZlIHV1aWRkIGFuZCBzY3JpcHQgYnVpbGQgY29uZGl0aW9ucyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBpbnN0YWxsIG1pc3NpbmcgYmFzaCBjb21wbGV0aW9ucyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBubyBuZWVkIHRvIHVuLWlnbm9yZSB0cmFja2VkIGZpbGVzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHBvcnRhYmxlIHVzYWdlIG9mIGZpbmQgY29tbWFuZCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBweWxpYm1vdW50LCBtb3VudCBjb250ZXh0IGlzIExpbnV4IG9ubHkgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcmVsZWFzZSsrICh2Mi4yOC1yYzEpICBbS2FyZWwgWmFrXQorICAgLSByZWxlYXNlKysgKHYyLjI4LXJjMikgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBBTV9DT05ESVRJT05BTCBmcm9tIFVMX0NIRUNLX1NZU0NBTEwgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBkdXBsaWNhdGUgY2FsIHNvdXJjZXMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcmVtb3ZlIGxpYnRlcm1jYXAgc3VwcG9ydCAgW1NhbWkgS2Vyb2xhXQorICAgLSBzb21lIGxpYm1vdW50IHRlc3QgcHJvZ3MgYXJlIExpbnV4IG9ubHkgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gdXNlICRQS0dfQ09ORklHICBbS2FyZWwgWmFrXQorICAgLSB1c2UgQUNfUFJPR19NS0RJUl9QIGFuZCByZW1vdmUgYSBmZXcgZ251aXNtcyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB1c2UgUkVBTFRJTUVfTElCUyAgW0thcmVsIFpha10KK2J1aWxkc3lzOgorICAgLSBmaXggc3RhdGljIGNvbmZpZ3VyYXRpb24gYW5kIGJ1aWxkaW5nICBbTGFkYSBUcmltYXNvdmFdCitjYWw6CisgICAtIEFkZCAtLXNwYW4gb3B0aW9uICBbRGVpel0KKyAgIC0gVHJhY2sgZGF0ZSBzcGFuIGluZGVwZW5kZW50bHkgZnJvbSBtb250aHNfaW5fcm93ICBbRGVpel0KKyAgIC0gcmVtb3ZlIGxpYnRlcm1jYXAgYXJndW1lbnRzIHRvIG15X3RnZXRzdHIoKSAgW1NhbWkgS2Vyb2xhXQorY2ZkaXNrOgorICAgLSB1c2UgbmV3IGxpYnNtYXJ0Y29scyBmdW5jdGlvbmFsaXR5IHRvIGZpeCBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIHdpcGUgZGV2aWNlIGlmIGNyZWF0ZSBhIG5ldyBsYWJlbCAgW0thcmVsIFpha10KK2NoZm46CisgICAtIGltcHJvdmUgZm9ybWF0dGluZyBhbmQgd29yZGluZyBvZiB0aGUgbWFucGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorY2hydDoKKyAgIC0gYWRkIGNvbnRyb2wgc3RydWN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgU0NIRURfREVBRExJTkUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjYXNlIFNDSEVEX1JSICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIG1ha2UgLS1zY2hlZC0qIHNob3J0IG9wdGlvbnMgdG8gcmVxdWlyZSBhbiBhcmd1bWVudCAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIG1hbiBwYWdlIG1vcmUgc3RydWN0dXJlZCAgW0thcmVsIFpha10KKyAgIC0gbWFrZSB1c2FnZSBtb3JlIHJlYWRhYmxlICBbS2FyZWwgWmFrXQorICAgLSBvdXRwdXQgZnVuY3Rpb24gcmVmYWN0b3JpbmcgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBkdXBsaWNhdGUgd29yZHMgYW5kIHR3ZWFrIHNvbWUgcGhyYXNpbmdzIGluIHRoZSBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSByZXN0b3JlIHJlbW92ZWQgaWZkZWYgU0NIRURfUkVTRVRfT05fRk9SSyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBzZXQgZnVuY3Rpb24gcmVmYWN0b3JpbmcgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzY2hlZF9nZXRhdHRyKCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzY2hlZF9zZXRhdHRyKCkgaWYgYXZhaWxhYmxlICBbS2FyZWwgWmFrXQorY29sY3J0OgorICAgLSBtaW5vciBjb3NtZXRpYyBjaGFuZ2VzICBbS2FyZWwgWmFrXQorICAgLSByZWltcGxlbWVudGF0aW9uICBbU2FtaSBLZXJvbGFdCitjb2x1bW46CisgICAtIGlnbm9yZSBub24tcHJpbnRhYmxlIGNoYXJzICBbS2FyZWwgWmFrXQorY3RybGFsdGRlbDoKKyAgIC0gZGlzcGxheSBzZXR0aW5nIHdoZW4gcmFuIHdpdGhvdXQgYXJndW1lbnRzICBbU2FtaSBLZXJvbGFdCisgICAtIGltcHJvdmUgZXJyb3IgbWVzc2FnaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIHR3ZWFrIHRoZSB3b3JkaW5nIGluIHRoZSBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB1c2UgcGF0aC5oIHRvIHJlYWQgL3Byb2MgIFtLYXJlbCBaYWtdCisgICAtIHVzZSByZWJvb3QoKSBwcm92aWRlZCBieSBsaWJjLCBhc3N1bWluZyBpdCBpcyAxLWFkaWMuICBbQ2FzcGVyIFRpLiBWZWN0b3JdCitkbWVzZzoKKyAgIC0gaW1wcm92ZSBncmFtbWFyIGFuZCBjb25zaXN0ZW5jeSBvZiB1c2FnZSB0ZXh0ICBbQmVubm8gU2NodWxlbmJlcmddCitkbXNlZzoKKyAgIC0gc2xpZ2h0bHkgaW1wcm92ZSBwdW5jdHVhdGlvbiBhbmQgZm9ybWF0dGluZyBvZiB0aGUgbWFucGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorZG9hcDoKKyAgIC0gZml4IGRvd25sb2FkIFVSTCAgW0thcmVsIFpha10KK2RvY3M6CisgICAtIGFkZCBub3RlIGFib3V0IENMT05FX05FV0NHUk9VUCBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCBsaWJzbWFydGNvbHMgUHl0aG9uIGJpbmRpbmcgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0byBUT0RPIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvcyBmb3VuZCBieSBjb2Rlc3BlbGwgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gaW1wcm92ZSBncmFtbWFyIGFuZCB3b3JkaW5nIGluIHRoZSAyLjI4IHJlbGVhc2Ugbm90ZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gbWlzY2VsbGFuZW91cyB0aW55IHR3ZWFrcyBvZiBtYW4gcGFnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXBkYXRlIEFVVEhPUlMgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIEFVVEhPUlMgZmlsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1cGRhdGUgVE9ETyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgY3RybGFsdGRlbC44IG1hbiBwYWdlICBbU2FtaSBLZXJvbGFdCisgICAtIHVwZGF0ZSB2Mi4yOC1SZWxlYXNlTm90ZXMgIFtLYXJlbCBaYWtdCitleGVjX3NoZWxsOgorICAgLSBwcmV2ZW50IGJhc2VuYW1lIGZyb20gbW9kaWZ5aW5nIGVudiAgW1J1ZWRpZ2VyIE1laWVyXQorZmFsbG9jYXRlOgorICAgLSBpbXByb3ZlIHN5bm9wc2lzIGFuZCBzcGVsbGluZyBpbiBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSByZXN0b3JlIG1hbi1wYWdlIGNvbnRlbnQgdGhhdCB3YXMgZGVsZXRlZCBpbiBjb21taXQgNWIwMzNiZmQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK2ZkZm9ybWF0OgorICAgLSBmaXggYmxvY2sgZGV2aWNlIG9wZW4gcmFjZSAgW1NhbWkgS2Vyb2xhXQorZmRpc2s6CisgICAtIGFkZCAtLXdpcGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0aGUgZ3JhbW1hciBvZiBhbiBvcHRpb24gZGVzY3JpcHRpb24gIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IHdhcm5pbmcsIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGVzIHBhc3NpbmcgJ3VpbnQ2NF90IConICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCB3YXJuaW5nLCB1bmluaXRpYWxpemVkIHZhcmlhYmxlICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIG1ha2UgJ2YnIGNvbW1hbmQgbW9yZSB2ZXJib3NlICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZGVhZCBhc3NpZ25tZW50IFtjbGFuZyBhbmFseXplXSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVudXNlZCBpbmNsdWRlIHN5c2ZzLmggIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gc3VuLCB1bmRlZiBIQVZFX1FTT1JUX1IgZm9yIG5vbi1MaW51eCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB0byByZWNvZ25pemUgSW50ZWwgUmFwaWQgU3RhcnQgaGliZXJuYXRpb24gcGFydGl0aW9uICBbSsO2cmcgSmVuZGVyZWtdCisgICAtIHRvIHJlY29nbml6ZSBwYXJ0aXRpb24gdHlwZSAweEVBIChSdWZ1cykgIFtKw7ZyZyBKZW5kZXJla10KK2ZkaXNrLCBjZmRpc2ssIHNmZGlzazoKKyAgIC0gaW1wcm92ZSB0aGUgZ3JhbW1hciBvZiB0aHJlZSBtZXNzYWdlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorZmRpc2ssIHNmZGlzazoKKyAgIC0gYWRqdXN0IHNvbWUgZm9ybWF0dGluZyBpbiB0aGUgbWFuIHBhZ2VzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGFkanVzdCB0aGUgd29yZGluZyBvZiB0aGUgLS13aXBlIG9wdGlvbiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorZmluZG1udDoKKyAgIC0gaW1wcm92ZSBmb3JtYXR0aW5nIGFuZCB3b3JkaW5nIG9mIHRoZSBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB1c2Ugc2NvbHNfdGFibGVfcHJpbnRfcmFuZ2UoKSBmb3IgLS1wb2xsICBbS2FyZWwgWmFrXQorZnNjazoKKyAgIC0gcmV0aXJlIHN0YXQoMykgd2hlbiBhY2Nlc3MoMykgZG9lcyBiZXR0ZXIgam9iICBbU2FtaSBLZXJvbGFdCitmc2NrLm1pbml4OgorICAgLSBmaXggdjMgdmVyc2lvbiBvZmZzZXQgIFtSdWVkaWdlciBNZWllcl0KK2ZzdHJpbToKKyAgIC0gYSBmZXcgdGlueSB0d2Vha3Mgb2YgdGhlIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGFkZCByZWZlcmVuY2UgdG8gYmxrZGlzY2FyZCAgW0thcmVsIFpha10KKyAgIC0gc3lzdGVtZCB0aW1lciB1bml0cyBzaG91bGQgYmUgV2FudGVkQnk9dGltZXJzLnRhcmdldCAgW1BldGVyIEhvZWddCitnZXRvcHQ6CisgICAtIGZpeCAtbiBuYW1lIGZvciBCU0QgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbWFrZSBzdXJlIHNldHByb2duYW1lIHByb3ZpZGVkIGJ5IG5vbi1MaW51eCBzeXN0ZW0gIFtLYXJlbCBaYWtdCitoZXhkdW1wOgorICAgLSBjZXJ0YWluIGxvbmcgb3B0aW9ucyBzaG91bGQgbm90IGFjY2VwdCBhcmd1bWVudHMgIFtQaGlsIFJ1ZmZ3aW5kXQorICAgLSBmaXggYSB0eXBvIGFuZCB0d2VhayBzb21lIHdvcmRpbmdzIGluIHRoZSBtYW5wYWdlICBbQmVubm8gU2NodWxlbmJlcmddCitod2Nsb2NrOgorICAgLSBjaGFuZ2UgYXVkaXQgbWVzc2FnZSAgW0thcmVsIFpha10KKyAgIC0gZml4IGZvcm1hdCBzcGVjaWZpZXIgW2NwcGNoZWNrXSAgW0JvcmlzIEVnb3Jvdl0KKyAgIC0gcmVtb3ZlIGV4dHJhIHNwYWNlIGZyb20gLS1zaG93IG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gdXNlIGxhYnMoKSBmb3IgbG9uZyAgW0thcmVsIFpha10KK2h3Y2xvY2suYywgaHdjbG9jay44LmluOgorICAgLSBuZXcgLS1zaG93IGZvcm1hdCAgW0ogV2lsbGlhbSBQaWdnb3R0XQoraW5jbHVkZToKKyAgIC0gYWRkIG1pc3NpbmcgaGVhZGVyIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtaXNzaW5nIGluY2x1ZGVzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGNoZWNrIGZvciBzeXMvc3lzbWFjcm9zLmggIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IHN5cy9zeXNpbmZvLmggIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbW92ZSBzeXMvc3lzbWFjcm9zLmggdG8gYy5oICBbS2FyZWwgWmFrXQorICAgLSBwcm92aWRlIE1BUF9BTk9OWU1PVVMgb24gT1NYICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHJlbW92ZSBub3cgdXNlbGVzcyBsaW51eF9yZWJvb3QuaC4gIFtDYXNwZXIgVGkuIFZlY3Rvcl0KKyAgIC0gcmVtb3ZlIHVudXNlZCBtbnRlbnQuaCAgW1J1ZWRpZ2VyIE1laWVyXQoraW5jbHVkZS9iaXRvcHM6CisgICAtIGFkZCBjYXN0cyB0byBic3dhcCBmdW5jdGlvbnMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYXZvaWQgZmFsbGJhY2tzIGZvciBtb3JlIHN5c3RlbXMgIFtSdWVkaWdlciBNZWllcl0KK2luY2x1ZGUvZmlsZXV0aWxzOgorICAgLSBhZGQgaXNfc2FtZV9pbm9kZSgpIGNoZWNrICBbU2FtaSBLZXJvbGFdCitpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXM6CisgICAtIHJlbW92ZSAnfCcgZnJvbSBwYXJ0aXRpb24gdHlwZSBuYW1lICBbS2FyZWwgWmFrXQoraXBjczoKKyAgIC0gLS1zaG1lbXMsIHVwd2FyZC9iYWNrd2FyZCBjb21wYXRpYmlsaXR5ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGNvbnNvbGlkYXRlIG91dHB1dCBoZWFkZXIgcHJpbnRpbmcgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGlwY19zZW1fZ2V0X2xpbWl0cygpICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHN0YXRpYyBhbmFseXplciBoYXBweSBbY2xhbmcgYW5hbHl6ZV0gIFtLYXJlbCBaYWtdCisgICAtIG1ha2Ugc3VyZSB0byBwYXJzZSB3aG9sZSBsaW5lcyBmb3Igc2htX2RhdGEgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gc2hvdyBnaWQgaW5zdGVhZCBvZiB1aWQgIFtIdXNoYW4gSmlhXQorICAgLSB1bG9uZyAtPiB1bnNpZ25lZCBsb25nICBbUnVlZGlnZXIgTWVpZXJdCitpc29zaXplOgorICAgLSBzdG9wIHVubWVhbmluZ2Z1bCBwcmludGluZyBlcnJubyBtZXNzYWdlICBbU2FtaSBLZXJvbGFdCitsYXN0OgorICAgLSBkaXNwbGF5IGlucHV0IGZpbGUgaW4gdXNhZ2UoKSBhY2NvcmRpbmcgdG8gY29tbWFuZCBuYW1lICBbU2FtaSBLZXJvbGFdCitsaWI6CisgICAtIGRlZmluZSBMT0dJTl9OQU1FX01BWCBmYWxsYmFjayAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggaXNtb3VudGVkIGluY2x1ZGVzIGZvciBGcmVlQlNEICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCB1bnVzZWQgcGFyYW1ldGVycyBhbmQgdmFyaWFibGVzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGluY2x1ZGUgc3RydXRpbHMuaCBmb3IgbWVtcGNweSgpICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGluY2x1ZGUgc3lzL3N0YXQuaCBmb3Igc3RydWN0IHN0YXQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbW92ZSBmb3Blbl9hdCgpIHRvIGZpbGV1dGlscy5oLCByZW1vdmUgYXQuaCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBwcm92aWRlIGZhbGxiYWNrIGlmIG1rb3N0ZW1wKDMpIG1pc3NpbmcgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcmVtb3ZlIG9wZW5hdCBmYWxsYmFjayBmdW5jdGlvbnMgKGluY2x1ZGUvYXQuaCkgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcmVtb3ZlIHVudXNlZCB2YXJpYWJsZSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSByZW5hbWUgc3RybW9kZSgpIGFuZCBzZXRtb2RlKCkgIFtSdWVkaWdlciBNZWllcl0KK2xpYi9ibGtkZXY6CisgICAtIGFkZCBvcGVuX2Jsa2Rldl9vcl9maWxlKCkgZnVuY3Rpb24gIFtTYW1pIEtlcm9sYV0KK2xpYi9jb2xvcjoKKyAgIC0gYWRkIG1vcmUgRVNDIHNlcS4gIFtLYXJlbCBaYWtdCitsaWIvY3JjMzI6CisgICAtIGRvbid0IHJlcXVpcmUgdG8gbW9kaWZ5IEdQVCBoZWFkZXIgIFtLYXJlbCBaYWtdCitsaWIvbGludXhfdmVyc2lvbjoKKyAgIC0gYXZvaWQgbWFqb3IgYW5kIG1pbm9yIHNoYWRvd2luZyAgW0thcmVsIFpha10KK2xpYi9tYnNhbGlnbjoKKyAgIC0gZml4IHdhcm5pbmdzIHdoZW4gY29tcGlsZSB3aXRob3V0IHdpZGVjaGFycyAgW0thcmVsIFpha10KK2xpYi9wYXRoOgorICAgLSBpZmRlZiBwYXRoX3NldF9wcmVmaXgoKSBsaWtlIGluIHBhdGguaCAgW1J1ZWRpZ2VyIE1laWVyXQorbGliL3N0cnV0aWxzOgorICAgLSBhZGQgbW9yZSBFUkFOR0UgbWVzc2FnZXMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGVycm5vIHVzYWdlIGluIHN0cnRvaW50IGZ1bmN0aW9ucyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBwYXJzZV9zaXplKCksIHN5bmMgZXJybm8gYW5kIHJldHVybiB2YWx1ZSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB1c2UgaW50IGZvciBmZ2V0YygpICBbS2FyZWwgWmFrXQorbGliL3N0cnY6CisgICAtIGFkZCBzdHJ2X2V4dGVuZHYoKSAgW0thcmVsIFpha10KK2xpYi9zeXNmczoKKyAgIC0gbWFrZSBzeXNmc19nZXRfZGV2bmFtZSgpL2Jsa2lkX2Rldm5vX3RvX3dob2xlZGlzaygpIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorbGliL3R0eToKKyAgIC0gUGFzcyBkZWZhdWx0IHdpZHRoIHRvIGdldF90ZXJtaW5hbF93aWR0aCgpICBbQm9yaXMgRWdvcm92XQorbGliYmxraWQ6CisgICAtIChwcm9taXNlIHJhaWQpIGNsZWFudXAgY29kZSAgW0thcmVsIFpha10KKyAgIC0gKHpmcykgYWRkIGNhc3QgdG8gZml4IFVCIFtjcHBjaGVja10gIFtCb3JpcyBFZ29yb3ZdCisgICAtICh6ZnMpIGtlZXAgYnVmZmVyZXMgcmVhZC1vbmx5ICBbS2FyZWwgWmFrXQorICAgLSBVcGRhdGUgZm9yIG5ld2VyIGJjYWNoZSBzdXBlcmJsb2NrcyAgW0tlbnQgT3ZlcnN0cmVldF0KKyAgIC0gYWRkIHJlYWQoKSBiYXNlZCBmYWxsYmFjayBmb3IgY2hhciAoVUJJKSBkZXZzICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBsaW1pdHMgYmVmb3JlIGluZGV4aW5nIGFycmF5IFtjcHBjaGVja10gIFtCb3JpcyBFZ29yb3ZdCisgICAtIGRvbid0IGluY2x1ZGUgZW5kaWFuLmggIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGJ1ZmZlcnMgbWFwcGluZyBvbiAzMmJpdCBhcmNocyAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV21pc3NpbmctcHJvdG90eXBlc10gIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbWFrZSBYRlMgTG9nIHZpc2libGUgZm9yIHdpcGVmcyAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBtaW5peCBwcm9iZXIgbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIHJldmVydCBtbWFwIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgaW50ZXJuYWxseSB1aW50NjRfdCBmb3Igb2Zmc2V0cyBhbmQgc2l6ZXMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBtbWFwKCkgcmF0aGVyIHRoYW4gcmVhZCgpICBbS2FyZWwgWmFrXQorbGliYmxraWQsbGlibW91bnQ6CisgICAtIERvIG5vdCB1c2Ugdm9pZCogaW4gY2FsY3VsYXRpb25zIFtjcHBjaGVja10gIFtCb3JpcyBFZ29yb3ZdCitsaWJjb21tb246CisgICAtIGRvbid0IGluY2x1ZGUgc3lzaW5mby5oICBbUnVlZGlnZXIgTWVpZXJdCitsaWJmZGlzazoKKyAgIC0gKGJzZCkgZml4IHNwZWxsaW5nIGluIHdhcm5pbmcgbWVzc2FnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSAoZ3B0KSBjb250cm9sIHJhbmdlcyBpbiBzZXRfcGFydGl0aW9uICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSByZXdvcmQgdHdvIGVycm9yIG1lc3NhZ2VzIHdpdGggYSBzZW5zZSBvZiBkaXJlY3Rpb24gIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gQWRkIEdQVCB0eXBlIEdVSUQgZm9yIEl0YW5pdW0gTGludXggcm9vdCAgW0FuZHJldyBXaWxjb3hdCisgICAtIERldGVjdCBvdXQtb2Ytc3BhY2Ugd2hlbiBhZGRpbmcgbmV3IHByaW1hcnkgcGFydGl0aW9uICBbSWFuIFdpZW5hbmRdCisgICAtIEZpeCBvcmRlciBvZiBDL0gvUyBudW1iZXJzIG91dHB1dCAgW0FuZHJlYXMgSGVucmlrc3Nvbl0KKyAgIC0gYWRkIEFQSSB0byBjb250cm9sIHNpZ25hdHVyZXMgd2lwaW5nICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBicmVhayAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1vcmUgZGVidWcgbWVzc2FnZSB0byByZXNpemUgY29kZSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV21pc3NpbmctcHJvdG90eXBlc10gIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IG1pc3Npbmcgc3ltYm9sICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBwYXJ0aXRpb24gbW92ZS9yZXNpemUgY29kZSAgW0thcmVsIFpha10KKyAgIC0gZml4IHJlZi5jb3VudGluZyBpbiBmZGlza19hcHBseV9zY3JpcHQoKSBbY2xhbmcgYW5hbHl6ZV0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvICBbS2FyZWwgWmFrXQorICAgLSBmaXggd2FybmluZ3MsICJyZWR1bmRhbnQgcmVkZWNsYXJhdGlvbiIgWy1XcmVkdW5kYW50LWRlY2xzXSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSByZW1vdmUgaWZkZWYgSERJT19HRVRHRU8gIFtSdWVkaWdlciBNZWllcl0KK2xpYm1vdW50OgorICAgLSAobW9uaXRvcikgZG9uJ3QgY2hlY2sgZm9yIHJlZ3VsYXIgbXRhYiAgW0thcmVsIFpha10KKyAgIC0gKG1vbml0b3IpIHJlbW92ZSB1bm5lY2Vzc2FyeSBlcG9sbCBFUE9MTFBSSSAgW0thcmVsIFpha10KKyAgIC0gRml4IHBvc3NpYmxlIE5VTEwgZGVyZWZlcmVuY2UgaW4gZ2V0X2J0cmZzX2ZzX3Jvb3QoKSAgW0thcmVsIFpha10KKyAgIC0gVHlwbyBmaXggIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBhZGQgJ2ZvcmNlLW1vdW50aW5mbycgdG8gZmVhdHVyZXMgbGlzdCwgaW1wcm92ZSBkZWJ1ZyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNncm91cDIgcHNldWRvIEZTICBbS2FyZWwgWmFrXQorICAgLSBhZGQgY29tbWVudCwgcmVtb3ZlIFRPRE8gaXRlbSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxvb3AgdG8gZGVidWcgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X2ZzX3NldF9wcmlvcml0eSgpICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGNsZWFudXAgYnRyZnMuYyBoZWFkZXIgIFtLYXJlbCBaYWtdCisgICAtIGNvZGUgcmUtaW5kZW50YXRpb24gIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBjb25zb2xpZGF0ZSBidHJmcyBzdHVmZiwgbWFrZSBpdCBtb3JlIHBvcnRhYmxlICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBpbmNsdWRlIGxpYmlvLmggIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGlzLW1vdW50ZWQgY2hlY2sgZm9yIGJ0cmZzICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtbGVhayBpbiBtbnRfcHJldHR5X3BhdGgoKSAgW0thcmVsIFpha10KKyAgIC0gZml4IG1udF90YWJsZV9pc19mc19tb3VudGVkKCkgZm9yIGxvb3BkZXYgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtbnRfdGFibGVfaXNfZnNfbW91bnRlZCgpIGxvb3BkZXYgdXNlICBbS2FyZWwgWmFrXQorICAgLSBmaXggdGFyZ2V0IHJlc29sdmluZyBmb3IgYnRyZnMgc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB1aWQ9IGFuZCBnaWQ9IHRyYW5zbGF0aW9uICBbS2FyZWwgWmFrXQorICAgLSBmb2xsb3cgZG9jcyB3aXRoIHBhcnNlLWVycm9yIGNhbGxiYWNrIHJldHVybiBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBoYW5kbGUgYnRyZnMgZGVmYXVsdCBzdWJ2b2x1bWUgbW91bnQgIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBpbXByb3ZlIGNvbnZlcnNpb24gZnJvbSByb290PSB0byB0aGUgZGV2bmFtZSAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBidHJmcyBzdWJ2b2wgY29kZSByZWZhY3RvcmluZyAgW0thcmVsIFpha10KKyAgIC0gcmVzdWx0IG9mIG9wZXJhdGlvbiBpcyBnYXJiYWdlIG9yIHVuZGVmaW5lZCBbY2xhbmcgYW5hbHl6ZV0gIFtLYXJlbCBaYWtdCisgICAtIHJ1biBidHJmcyBzdWJ2b2wgY2hlY2tzIGZvciAiYXV0byIgZnMgdHlwZSAgW1N0YW5pc2xhdiBCcmFiZWNdCisgICAtIHJ1biBidHJmcyBzdWJ2b2wgY2hlY2tzIGZvciAic3Vidm9saWQiIG9wdGlvbiAgW1N0YW5pc2xhdiBCcmFiZWNdCisgICAtIHVzZSBmc3RhdGF0KEFUX05PX0FVVE9NT1VOVCkgZm9yIG1vdW50cG9pbnRzICBbS2FyZWwgWmFrXQorbGlic21hcnRjb2xzOgorICAgLSBhZGQgJ1NpbmNlJyB0YWcgZm9yIGd0a2RvYyBmb3Igc29tZSBmdW5jdGlvbnMgIFtJZ29yIEduYXRlbmtvXQorICAgLSBhZGQgSlNPTiB0byB0aGUgdGVzdCBhcHBsaWNhdGlvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIFNDT0xTX0ZMX0hJRERFTiAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZldyBtZXRob2RzIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB0aXRsZSAgW0lnb3IgR25hdGVua29dCisgICAtIGFkZCBuZXcgZnVuY3Rpb25zIHRvIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzYW1wbGUtc2NvbHMtY29udGludW91cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNhbXBsZXMgZGlyZWN0b3J5ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc2NvbHNfY29sdW1uX2lzX2hpZGRlbiBpbnRvIHN5bSBmaWxlICBbSWdvciBHbmF0ZW5rb10KKyAgIC0gYWRkIHNjb2xzX2NvbHVtbl9pc193cmFwIHRvIGRvY3MgIFtJZ29yIEduYXRlbmtvXQorICAgLSBhZGQgc2NvbHNfdGFibGVfZW5hYmxlX25vd3JhcCgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc2NvbHNfdGFibGVfcHJpbnRfcmFuZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRpdGxlIHRvIHRoZSB0ZXN0IGFwcGxpY2F0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgd3JhcC5jIHNhbXBsZSAgW0thcmVsIFpha10KKyAgIC0gYWxsb3cgdG8gcmVkdWNlIHRyZWUgY29sdW1ucyAgW0thcmVsIFpha10KKyAgIC0gYWxsb3cgdG8gc2V0IGRhdGEgYnkgcmVmZXJlbmNlIHRvIGxpYnNjb2xzX2NvbHVtbiAgW0thcmVsIFpha10KKyAgIC0gYmUgc3VyZSBjb2x1bW4gaXMgdW51c2VkICBbS2FyZWwgWmFrXQorICAgLSBkb2N1bWVudCB2Mi4yNyBzeW1ib2xzICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBsb29zZSBjb2xvcnMgd2hlbiB3cmFwcGluZyAgW0lnb3IgR25hdGVua29dCisgICAtIGRvbid0IHNvcnQgaWYgY21wZnVuYygpIGlzIG5vdCBzZXQgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHRyeSB0byBhbGlnbiB0aXRsZSBpZiBpdCdzIG1vcmUgdGhhdCB0ZXJtICBbSWdvciBHbmF0ZW5rb10KKyAgIC0gZG9uJ3QgdXNlIGZwcmludGYoKSB3aGVuIGNvdW50IGNlbGxzICBbS2FyZWwgWmFrXQorICAgLSBmaWxsIHdyYXBwZWQgbGluZXMgd2l0aCBzcGFjZSBpbnN0ZWFkIG9mICd4JyAgW0lnb3IgR25hdGVua29dCisgICAtIGZpeCByZWxhdGl2ZSBjb2x1bW4gd2lkdGggZm9yIG1heG91dCAgW0thcmVsIFpha10KKyAgIC0gZml4IHJpZ2h0LWFsaWduZWQgbG9naWMgZm9yIGxhc3QgY29sdW1uICBbS2FyZWwgWmFrXQorICAgLSBmaXggc2FtcGxlcyBidWlsZCwgYWRkIHRpdGxlLmMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzY29sc190YWJsZV9wcmludF9yYW5nZSgpIHRvIHByaW50IGhlYWRlciAgW0thcmVsIFpha10KKyAgIC0gZml4IHN0dXBpZCB0eXBvICBbS2FyZWwgWmFrXQorICAgLSBmaXggdGl0bGUgYWxpZ25pbmcgdG8gY2VudGVyICBbSWdvciBHbmF0ZW5rb10KKyAgIC0gZml4IHRpdGxlIHNhbXBsZSAgW0thcmVsIFpha10KKyAgIC0gZml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gaW1wbGVtZW50IFNDT0xTX0ZMX1dSQVAgIFtJZ29yIEduYXRlbmtvXQorICAgLSBpbXBsZW1lbnQgc2NvbHNfdGFibGVfcHJpbnRfcmFuZ2VfdG9fc3RyaW5nICBbSWdvciBHbmF0ZW5rb10KKyAgIC0gaW1wbGVtZW50IHRpdGxlIG9mIHRhYmxlICBbSWdvciBHbmF0ZW5rb10KKyAgIC0gbWFrZSBTQ09MU19GTF9XUkFQIHVzYWJsZSBpbiB0cmVlICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIG91dHB1dCBidWZmZXIgc2l6ZSBlc3RpbWF0aW9uIG1vcmUgcm9idXN0IGFuZCBlbGVnYW50ICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHN1cmUgd2UgaGF2ZSBzcGFjZSBmb3IgYXNjaWkgYXJ0ICBbS2FyZWwgWmFrXQorICAgLSBwb3NpdGlvbiBvZiB0aXRsZSBpbiBmYWN0IHVuc2lnbmVkICBbSWdvciBHbmF0ZW5rb10KKyAgIC0gcHJpbnQgdGl0bGUgb25seSB3aXRoIFNDT0xTX0ZNVF9IVU1BTiAgW0lnb3IgR25hdGVua29dCisgICAtIHB1dCBuZXcgbGluZSBhZnRlciB0aXRsZSAgW0lnb3IgR25hdGVua29dCisgICAtIHJlZHVjZSBhbHNvIFNDT0xTX0ZMX1dSQVAgY29sdW1ucyAgW0thcmVsIFpha10KKyAgIC0gcmVmbGVjdCBjaGFuZ2luZ2luZyBTQ09MU19GTF9UUkVFIGFmdGVyIGFkZGluZyB0byB0YWJsZSAgW0lnb3IgR25hdGVua29dCisgICAtIHJld3JpdGUgLi9zYW1wbGUtc2NvbHMtd3JhcCAgW0thcmVsIFpha10KKyAgIC0gc2V0IGV2ZXJ5dGhpbmcgb25jZSBpbiBzY29sc190YWJsZV9zZXRfdGl0bGUoKSAgW0lnb3IgR25hdGVua29dCisgICAtIHN1cHBvcnQgY29udGludW91cyBwcmludGluZyAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCBtdWx0aS1saW5lIGNlbGxzICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IG11bHRpYnl0ZSB0aXRsZXMsIHJlbmFtZSB3cmFwIHRvIHBhZGRpbmcgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsaWJzY29sc19jZWxsIGZvciB0aXRsZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIHN5bWJvbHMgZm9yIHRpdGxlIHdyYXAgIFtJZ29yIEduYXRlbmtvXQorICAgLSB3cmFwIGNvbHVtbnMgY29ycmVjdGx5IHdpdGggdW5pY29kZSAgW0lnb3IgR25hdGVua29dCitsaWJ1dWlkOgorICAgLSBmaXggYnVmZmVyIG92ZXJmbG93IHdpdGggbG9uZyBwYXRocyAgW0thcmVsIFpha10KK2xpbmU6CisgICAtIGtlZXAgc3RkaW4gdW5idWlmZmVyZWQgIFtLYXJlbCBaYWtdCitsb2dnZXI6CisgICAtIGFkZCAtLXNkLWlkIGFuZCAtc2QtcGFyYW0gIFtLYXJlbCBaYWtdCisgICAtIGFsd2F5cyB1cGRhdGUgaGVhZGVyIHdoZW4gd3JpdGluZyBzdGRpbiBsaW5lICBbS2FyZWwgWmFrXQorICAgLSBjb3JyZWN0IHRoZSBncmFtbWFyIG9mIGFuIGVycm9yIG1lc3NhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcsIGNvbnN0IGZhY2lsaXR5bmFtZXMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IG1lbW9yeSBsZWFrIFtBU0FOIGFuZCB2YWxncmluZF0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IG1lc3NhZ2VzIHNlcGFyYXRpb24gb24gVU5JWCBzb2NrZXQgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgZ3JhbW1hciBhbmQgZm9ybWF0dGluZyBvZiB0aGUgbWFucGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBrZWVwIG1hbiBwYWdlIGNvbnNpc3RlbnQgYW5kIHVzZSBcLSBldmVyeXdoZXJlICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgY29tbWVudCAgW0thcmVsIFpha10KKyAgIC0gc2hhZG93IGRlY2xhcmF0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIHNvcnQgdGhlIG9wdGlvbnMgaW4gdGhlIG1hbnBhZ2UgYWxwaGFiZXRpY2FsbHkgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXNlIC0taWQgYXMgbG9jYWwgc29ja2V0IGNyZWRlbnRpYWxzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgU0NNX0NSRURFTlRJQUxTIG9uIExJTlVYIG9ubHkgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gdXNlIGlvdmVjIGFuZCBzZW5kbXNnKCkgdG8gc2VuZCBtZXNzYWdlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgaW92ZWMgZm9yIGFsbCBtZXNzYWdlICBbS2FyZWwgWmFrXQorbG9naW46CisgICAtIGZpeCBzdGF0KDIpIHJhY2UgIFtTYW1pIEtlcm9sYV0KK2xvZ2luLCBtb3VudDoKKyAgIC0gZml4IF9fU0NfR0VUUFdfUl9TSVpFX01BWCB1c2FnZSAgW0thcmVsIFpha10KK2xvZ2luLXV0aWxzOgorICAgLSBtaW5vciB1dG1wIGNsZWFudXAgIFtSdWVkaWdlciBNZWllcl0KK2xvb2s6CisgICAtIGNvbnNpZGVyIGJsYW5rcyBhcyBkaXJlY3RvcnkgY2hhcmFjdGVycyAgW0thcmVsIFpha10KK2xvc2V0dXA6CisgICAtIGNsZWFuIHVwIC0tZGlyZWN0LWlvICBbS2FyZWwgWmFrXQorICAgLSBjb3JyZWN0IHNvbWUgZm9ybWF0dGluZyBpbiB0aGUgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gc3VwcG9ydCBpb2N0bCBjbWQgb2YgTE9PUF9TRVRfRElSRUNUX0lPICBbTWluZyBMZWldCisgICAtIHN1cHBvcnQgbGlzdCBkaXJlY3QgaW8gIFtNaW5nIExlaV0KK2xzYmxrOgorICAgLSBhbGxvdyB0byAtLXNvcnQgYnkgaGlkZGVuIGNvbHVtbiAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVzZWxlc3Mgd2FybmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIHRpbnkgbWFuIHBhZ2UgdXBkYXRlIGZvciAtLXNvcnQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSB1bnNpZ25lZCB0eXBlIGZvciBTSVpFICBbS2FyZWwgWmFrXQorbHNjcHU6CisgICAtIEZpeCBtb2RlbCBhbmQgbW9kZWwgbmFtZSBvbiBQb3dlciBTeXN0ZW1zICBbVmFzYW50IEhlZ2RlXQorICAgLSBQcmludCBwaHlzaWNhbCBjcHUgaW5mb3JtYXRpb24gIFtTdWthZGV2IEJoYXR0aXByb2x1XQorICAgLSBjb3JyZWN0IHRoZSBWaXJ0dWFsaXphdGlvbiB0eXBlIG9uIFhlbiBEb21VIFBWIGd1ZXN0ICBbRG9uZ2xpIFpoYW5nXQorICAgLSBmaXggYmFja3dhcmQgYnVmZmVyIHNpemUgYWRqdXN0bWVudCBhZnRlciBhZGRpbmcgZGVsaW1pdGVyICBbWXVyaXkgTS4gS2FtaW5za2l5XQorICAgLSBmaXggbWVtbGVhayBiZWNhdXNlIG9mIGFtYmlndW91cyB0YWdzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGltcHJvdmUgc3BhY2luZyBhbmQgc3BlbGxpbmcgaW4gdGhlIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGtlZXAgbHNjcHUgdXNhYmxlIG9uIHNuYXBzaG90cyAgW0thcmVsIFpha10KKyAgIC0gcmV2ZXJ0IHVubmVjZXNzYXJ5IHBhdGhfZXhpc3QoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGNwdSBhbmQgcmV2aXNpb24gdGFnIGlmIGF2YWlsYWJsZSAgW1J1ZWRpZ2VyIE1laWVyXQorbHNpcGM6CisgICAtIGRvbid0IGZyZWUgc2htIGRhdGEgaWYgbm8gc2htIGlkIGlzIGZvdW5kICBbUm9tYWluIE5hb3VyXQorICAgLSB0d2VhayBhIGZldyB3b3JkaW5ncyBvbiB0aGUgbWFucGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorbHNsbjoKKyAgIC0gYWxsb3dzIHRvIGxpc3QgbmFtZXNwYWNlIHByb2Nlc3NlcyAgW0thcmVsIFpha10KK2xzbG9ja3M6CisgICAtIHVzZSBzdHVmZiBmcm9tIGxpYi9wcm9jdXRpbHMgIFtLYXJlbCBaYWtdCitsc2xvZ2luczoKKyAgIC0gZml4IGdldGdyb3VwbGlzdCgpIHVzYWdlIGZvciA2NEJFICBbS2FyZWwgWmFrXQorbHNuczoKKyAgIC0gRml4ICJsb3dlcnMiIC0+ICJsb3dlc3QiIHR5cG8gaW4gLS1oZWxwIGZvciBDT0xfUElEICBbVy4gVHJldm9yIEtpbmddCisgICAtIGFkZCBVU0VSIGFuZCBVSUQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBkZXRhaWxzIHRvIHRoZSBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaWx0ZXIgYnkgTlMgdHlwZSAgW0thcmVsIFpha10KKyAgIC0gZml4IGZhaWx1cmUgYWZ0ZXIgem9tYmllIHByb2Nlc3MgIFtZdXJpeSBNLiBLYW1pbnNraXldCisgICAtIGZpeCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGZvcm1hdHRpbmcgYW5kIHdvcmRpbmcgb2YgdGhlIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGltcHJvdmUgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIG5ldyBjb21tYW5kICBbS2FyZWwgWmFrXQorICAgLSByZWFkIGFsbCBwcm9jZXNzZXMgd2hlbiAtLXRhc2sgc3BlY2lmaWVkICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW53YW50ZWQgY29tbWVudCAgW0thcmVsIFpha10KKyAgIC0gc29ydCBuYW1lc3BhY2VzLCBhdm9pZCBkdXBsaWNhdGUgZW50cmllcyBpbiB0cmVlIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gdXNlIHhjYWxsb2MoKSAgW1J1ZWRpZ2VyIE1laWVyXQorbHNucy5jOgorICAgLSBmaXggZXJyb3IgcmV0dXJuICBbWXVyaXkgTS4gS2FtaW5za2l5XQorbWVzZzoKKyAgIC0gZml4IG11bHRpcGxlIHJhY2VzICBbU2FtaSBLZXJvbGFdCittaXNjOgorICAgLSBhZ2FpbiBmaXhpbmcgbWFueSBwcmludGYgZm9ybWF0IHN0cmluZ3MgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYWx3YXlzIGNhc3QgdGltZXZhbC50dl91c2VjIHRvIGxvbmcgcmF0aGVyIHRoYW4gaW50ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGF2b2lkIHNoYWRvd2luZyAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm51bmdzICh1bnNpZ25lZC9zaWduZWQpICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBpY2MvY2xhbmcgY29tcGlsZXIgd2FybmluZ3MgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IHByaW50ZiBpMzg2IGNvbXBpbGVyIHdhcm5pbmdzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBzb21lIGluY2x1ZGVzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBzb21lIHByaW50ZiBmb3JtYXQgc3RyaW5ncyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggd2FybmluZ3MgInVudXNlZCBwYXJhbWV0ZXIiIFstV3VudXNlZC1wYXJhbWV0ZXJdICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIG5ldmVyIGNhc3Qgdm9pZCogZnJvbSBtYWxsb2MoMykgYW5kIGZyaWVuZHMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcmVtb3ZlIGR1cGxpY2F0ZSBpbmNsdWRlcyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHBhdGggbmFtZSBkZWZpbml0aW9ucyB0aGF0IGFyZSB1bnVzZWQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc2FmZXIgKGFuZCB1bmlmb3JtKSBoYW5kbGluZyBvZiByZXR1cm4gdmFsdWUgIFtZdXJpeSBNLiBLYW1pbnNraXldCittaXNjLXV0aWxzOgorICAgLSBidWlsZCB0ZXN0X3V1aWRkIG9ubHkgaWYgQlVJTERfVVVJREQgIFtSdWVkaWdlciBNZWllcl0KK21rZnMuYmZzOgorICAgLSBhbGxvdyBjcmVhdGluZyBmaWxlIHN5c3RlbSB0byBhIGZpbGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGJsb2NrIGRldmljZSBvcGVuIHJhY2UgIFtTYW1pIEtlcm9sYV0KK21rZnMubWluaXg6CisgICAtIGZpeCBibG9jayBkZXZpY2Ugb3BlbiByYWNlICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCB2Mi92MyAuYmFkYmxvY2tzIGlub2RlIG51bWJlciBmb3IgYmlnIGVuZGlhbiAgW1J1ZWRpZ2VyIE1laWVyXQorbWtzd2FwOgorICAgLSBhZGQgd2FybmluZ3MgZm9yIGluc2VjdXJlIGRldmljZSBwZXJtaXNzaW9ucy9vd25lcnMgIFtXYXluZSBSLiBSb3RoXQorICAgLSBmaXggYmxvY2sgZGV2aWNlIG9wZW4gcmFjZSAgW1NhbWkgS2Vyb2xhXQorbW9yZToKKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGNvbXBhdGliaWxpdHkgbGF5ZXIgIFtLYXJlbCBaYWtdCittb3VudDoKKyAgIC0gYWRqdXN0IHNvbWUgd29yZGluZ3MgYW5kIGZvcm1hdHRpbmcgaW4gdGhlIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGFsbG93IG5vZmFpbCB0byBzaWxlbmNlIEVOT01FRElVTSBjYXNlcyAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSBmdXJ0aGVyIGltcHJvdmUgZm9ybWF0dGluZyBvZiB0aGUgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gaGFyZHdyYXAgYW4gb3ZlcmxvbmcgZXhhbXBsZSBpbiB0aGUgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gbW91bnQuOCBBZGQgZG9jdW1lbnRhdGlvbiBvZiBvdmVybGF5IG1vdW50IG9wdGlvbnMgIFtPc2FtdSBBb2tpXQorbW91bnQsIHVtb3VudCwgc3dhcG9uLCBmc2NrLCBsc2JsaywgZmluZG1udDoKKyAgIC0gaGFybW9uaXplIHNpeCBlcnJvciBtZXNzYWdlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpZ25vcmUgbWFsZm9ybWVkIGxpbmVzICBbS2FyZWwgWmFrXQorbmFtZWk6CisgICAtIG1vdmUgaWNhY2hlIHRvIGxpYi8gIFtLYXJlbCBaYWtdCituZXdncnA6CisgICAtIHJlbmFtZSBtZW1zZXRfcygpICBbUnVlZGlnZXIgTWVpZXJdCitub2xvZ2luOgorICAgLSByZXF1aXJlIC9ldGMvbm9sb2dpbi50eHQgdG8gYmUgZmlsZSAgW1NhbWkgS2Vyb2xhXQorcGFydHg6CisgICAtIGZpeCAtLW5yIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBwcmV2ZW50IGNvZGUgZHVwbGljYXRpb24gIFtLYXJlbCBaYWtdCitwbzoKKyAgIC0gbWVyZ2UgY2hhbmdlcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGNzLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUGV0ciBQw61zYcWZXQorICAgLSB1cGRhdGUgZGUucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtQaGlsaXBwIFRob21hc10KKyAgIC0gdXBkYXRlIGVzLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbQW50b25pbyBDZWJhbGxvcyBSb2FdCisgICAtIHVwZGF0ZSBqYS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1Rha2VzaGkgSGFtYXNha2ldCisgICAtIHVwZGF0ZSBubC5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB1cGRhdGUgcGwucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtKYWt1YiBCb2d1c3pdCisgICAtIHVwZGF0ZSBwdF9CUi5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1JhZmFlbCBGb250ZW5lbGxlXQorICAgLSB1cGRhdGUgcnUucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtFdmdlbml5IFlha3VzaGV2XQorICAgLSB1cGRhdGUgc3YucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtTZWJhc3RpYW4gUmFzbXVzc2VuXQorICAgLSB1cGRhdGUgdWsucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtZdXJpIENob3Jub2l2YW5dCisgICAtIHVwZGF0ZSB6aF9DTi5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1d5bG1lciBXYW5nXQorcHJsaW1pdDoKKyAgIC0gY2xlYW51cCBvdXRwdXQgdW5pdHMgIFtLYXJlbCBaYWtdCityZWFkcHJvZmlsZToKKyAgIC0gYWRkIHNjYW5mIGZpZWxkIHdpZHRoIGxpbWl0cyBbY3BwY2hlY2tdICBbQm9yaXMgRWdvcm92XQorcmVuYW1lOgorICAgLSBhZGQgZXhhbXBsZSB0byB0aGUgbWFuIHBhZ2UgIFtLYWxpZ3VsZV0KK3Njb2xzL3RhYmxlX3ByaW50OgorICAgLSByZXN0b3JlIG9sZCBzdHJlYW0gYWZ0ZXIgcHJpbnRpbmcgdG8gc3RyICBbSWdvciBHbmF0ZW5rb10KK3NjcmlwdDoKKyAgIC0gYmUgcGVkYW50aWMgYW5kIHVzZSAiJSJTQ05pNjQgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGFzc3VtZSB0aGF0IHRpbWVfdCBpcyBjb21wYXRpYmxlIHdpdGggbG9uZyAgW0lzYWFjIER1bmhhbV0KKyAgIC0gZml4IG1pc3NwZWxsaW5nICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHR3ZWFrIHNwYWNpbmcgYW5kIHdvcmRpbmcsIGFuZCByZXN0b3JlIGZpbGxpbmcgaW4gdGhlIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCitzY3JpcHQsIGh3Y2xvY2s6CisgICAtIGNoZWNrIGZpbGUgZXhpc3Qgd2l0aCBhY2Nlc3MoMykgcmF0aGVyIHRoYW4gc3RhdCgzKSAgW1NhbWkgS2Vyb2xhXQorc2NyaXB0cmVwbGF5L25ld2dycDoKKyAgIC0gdXNlIHNpZ25lZCBpbnQgdG8gc3RvcmUgcmV0dXJuIG9mIGdldG9wdF9sb25nICBbRmlsaXBlIEJyYW5kZW5idXJnZXJdCitzZXRhcmNoOgorICAgLSBhZGQgImV4ZWMiIG1lc3NhZ2UgdG8gLS12ZXJib3NlICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBwZXJzb25hbGl0eSBzeXNjYWxsIHJldHVybiBjb2RlIGNoZWNrICBbRG1pdHJ5IFYuIExldmluXQorc2V0c2lkOgorICAgLSBmaXggYXJndW1lbnQgY291bnQgYnVnICBbU2FtaSBLZXJvbGFdCitzZmRpc2s6CisgICAtIGFkZCAnVScgc2hvcnRjdXQgZm9yIEVTUCAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tZGVsZXRlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1tb3ZlLWRhdGEgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXJlb3JkZXIgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXdpcGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBFU1Agc2hvcnRjdXQgYWxzbyBmb3IgTGVnYWN5IE1CUiAgW0thcmVsIFpha10KKyAgIC0gYWRqdXN0IG1vcmUgd29yZGluZ3MgYW5kIGZvcm1hdHRpbmcgaW4gdGhlIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGNsZWFudXAgYW5kIG9wdGltaXplIC0tbW92ZS1kYXRhICBbS2FyZWwgWmFrXQorICAgLSBmaXggLU4gcmV0dXJuIGNvZGUgZGV0ZWN0aW9uLCBhZGQgZGVidWcgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgdGhlIHdvcmRpbmcgb2Ygc2V2ZW4gZXJyb3IgbWVzc2FnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gbWFrZSAtLXF1aWV0IHJlYWxseSBxdWlldCAgW0thcmVsIFpha10KK3NmZGlzaywgZmRpc2s6CisgICAtIGFkZCBmZmx1c2goKSAgW0thcmVsIFpha10KK3N1OgorICAgLSBjbGVhbiB1cCBncm91cHMgaW5pdGlhbGl6YXRpb24gIFtLYXJlbCBaYWtdCitzdWxvZ2luOgorICAgLSBBbHdheXMgbWFrZSBlY2hvIHdvcmsgYWZ0ZXIgcGVyZm9ybWluZyBnZXRwYXNzd2QgZXZlbiBpZiByb290IGFjY291bnQgaXMgbG9ja2VkICBbV2VybmVyIEZpbmtdCisgICAtIFVzZSBmYWxsYmFjayBtZXRob2Qgb24gdGhlIEh1cmQgZm9yIGRldGVjdGluZyBjb25zb2xlcyAgW0phbWVzIENsYXJrZV0KKyAgIC0gYXZvaWQgc2hhcmVkIG1lbW9yeSBhcmVhIHVzZW1hc2sgYnV0IHVzZSB3YWl0aWQoKSBmb3IgY2hpbGRzICBbV2VybmVyIEZpbmtdCisgICAtIGZpeCBzaWdzZXRfdCBpbml0aWFsaXphdGlvbiAgW0thcmVsIFpha10KKyAgIC0gaWdub3JlIG1pc3NpbmcgV0VYSVRFRCwgYWRkIHdhcm5pbmcgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0ga2VlcCBpbml0aWFsaXphdGlvbiBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KK3N3YXBvbjoKKyAgIC0gYWRkIGNvbnRyb2wgc3RydWN0ICBbU2FtaSBLZXJvbGFdCisgICAtIGRvIG5vdCBydW4gZXhlY3ZwKCkgY2FsbHMgd2hlbiBzd2Fwb24gaXMgc2V0dWlkIGJpbmFyeSAgW1NhbWkgS2Vyb2xhXQorICAgLSBkcm9wIHBlcm1zIGlmIHNldHVpZCBiZWZvcmUgY2FsbCBta3N3YXAgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBkaXNjYXJkPXBhZ2VzIGRvY3MgIFtSaWNoYXJkIFlhb10KKyAgIC0gZml4IHN0YXQoMykgYW5kIG9wZW4oMykgcmFjZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBtb3ZlIGZ1bmN0aW9uIGFyZ3VtZW50cyB0byBjb250cm9sIHN0cnVjdHVyZSAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgYXNzZXJ0ICBbS2FyZWwgWmFrXQorICAgLSByZXdyaXRlIGNvbnRyb2wgc3RydWN0IHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBzaW1wbGlmeSBjdGwtPmRldmljZSB1c2FnZSAgW0thcmVsIFpha10KK3Rhc2tzZXQ6CisgICAtIGZpeCBkZXNjcmlwdGlvbiBvZiBgLWNgIG9wdGlvbiBpbiB0aGUgbWFuIHBhZ2UgIFtZdXJpeSBNLiBLYW1pbnNraXldCit0ZXN0czoKKyAgIC0gLS1wYXJhbGxlbCBwcmludHMgcmVzdWx0cyBpbiBhIHNpbmdsZSBsaW5lICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGFkZCBETSBlcnJvciB0YXJnZXQgZm9yIGJsa2lkICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYnRyZnMgbW91bnQgdGVzdHMgIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBhZGQgY29sY3J0IGZ1bmN0aW9uYWwgdGVzdHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGZkaXNrL2JzZCBoZXhkdW1wIGZvciBhbHBoYSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBhZGQgbG9nZ2VyIHRlc3RzICJpZCBfbnVtYmVyc18gd2l0aCBzcGFjZXMiICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGFkZCBtaXNzaW5nIGZpbGVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbmV3IGZkaXNrIGJzZCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgb3B0aW9uIC0tcGFyc2FibGUgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYWRkIHNmZGlzayAtLW1vdmUtZGF0YSB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc29tZSBjaGVja190ZXN0X2NvbW1hbmQgcmVxdWlyZW1lbnRzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGFkZCBzb21lIGxpbmUgdGVzdHMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYWRkIHRlc3QgZm9yIGxvb3Agb3B0aW9uIGluIGZzdGFiICBbU3RhbmlzbGF2IEJyYWJlY10KKyAgIC0gYWRkIHV1aWQgcGFyc2VyIGNoZWNrICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCB1dWlkZCBvdXRwdXQgY2hlY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHV1aWRnZW4gb3V0cHV0IGNoZWNrICBbU2FtaSBLZXJvbGFdCisgICAtIGFsd2F5cyBjcmVhdGUgc3BhcnNlIGltYWdlIGZpbGVzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGF2b2lkIHNlZCAtRSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBibGtkaXNjYXJkLCBjaGVjayByZXR1cm4gdmFsdWVzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGNoZWNrIGZvciBUU19IRUxQRVJfU1lTSU5GTyBpbiBzd2FwIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBjcmFtZnMsIGZpeCByb290IGdyb3VwICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGRpc2FibGUgZWplY3QgZm9yIGJyb2tlbiBrZXJuZWxzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGRvbid0IGNvbXBhcmUgYnRyZnMgbW91bnQgb3B0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3Qgc2tpcCBjYXNlICJvdXRwdXQgdW5kZWZpbmVkIiAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBkb24ndCB1c2UgbWtmcy5idHJmcyBvcHRpb24gLWYgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZG9uJ3QgdXNlIHN5c3RlbSdzIG1vdW50IGNvbW1hbmRzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZhbGxiYWNrIGZvciBtaXNzaW5nIFRTX0RFU0MgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBmZGlzay9ic2QgZm9yIGFscGhhICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBmZGlzay9ic2QgZm9yIGhwcGEgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IG1pbml4IHRlc3RzIGZvciBiaWcgZW5kaWFuICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBub24td29ya2luZyB1ZGV2YWRtIHNldHRsZSBmb3Igc2NzaV9kZWJ1ZyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggcmVkaXJlY3Rpb24gIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBmaXggcnVuLnNoIC0tcGFyYWxsZWw9MSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggdHNfb3B0aW9uIGhlbHBlcnMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZ2V0b3B0MiwgYWRkIGZ1bmN0aW9uIGdudV9nZXRvcHRfY2xlYW4oKSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBob3RmaXgsIHdhaXQgZm9yIHNjc2lfZGVidWcgcGFydGlvbiAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBpZ25vcmUgc2V0YXJjaCBvbiBzcGFyYyAgW0thcmVsIFpha10KKyAgIC0gaWdub3JlIHN3YXBvbiB3YXJuaW5ncyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBpbXByb3ZlIGdldG9wdCBsb29wIGVycm9yIGNhc2UgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gaW1wcm92ZSBzZXRhcmNoIHRlc3RzLCByZWdhcmRpbmcgLS11bmFtZS0yLjYgaXNzdWVzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGltcHJvdmUgc2tpcHBpbmcgb2Ygb2xkIGJ0cmZzLXRvb2xzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIG1ha2UgbGlibW91bnQvbG9jayBvcHRpb25hbCAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBzd2FwbGFiZWwgdGVzdCBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KKyAgIC0gbWFrZSB0ZXN0X3V1aWRfcGFyc2VyIHRvIHJlYWQgZmlsZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFyayBvbGQgYnNkIGZkaXNrIHRlc3QgYXMgZGVwcmVjYXRlZCAgW0thcmVsIFpha10KKyAgIC0gbWFyayBzY3JpcHQgcmFjZSB0ZXN0IGFzICJrbm93biBmYWlsIiAgW0thcmVsIFpha10KKyAgIC0gbWluaXgsIGFkZCBhIHVzZWZ1bCBub24tcm9vdCBjaGVjayAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBtaW5peCwgc29tZSBjb3JyZWN0aW9ucyBhbmQgY2xlYW51cCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBtaW5peCwgdXNlIGhleGR1bXAgaW5zdGVhZCBvZiBtZDVzdW0gIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbWlub3IgY2xlYW51cCB0c19mZGlza19jbGVhbigpICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIG1rZnMuZXh0MyBpbWFnZS1maWxlIG5lZWRzIG9wdGlvbiAtRiAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBubyBtb3JlIHNsZWVwLCB1ZGV2YWRtIHNldHRsZSBvbmx5ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHJlbW92ZSBkZXByZWNhdGVkIG1kNXN1bSBiYXNlZCBmZGlzay9ic2QgdGVzdCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSByZW1vdmUgaW52YWxpZCBhcmd1bWVudCBpbiBsaWJtb3VudC9kZWJ1ZyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSByZW1vdmUgcmVkdW5kYW50IGNoZWNrIGZvciBOVUxMIFtjcHBjaGVja10gIFtCb3JpcyBFZ29yb3ZdCisgICAtIHJlcGxhY2UgdXNlcm5hbWUgd2l0aCB0YWcgaW4gbG9nZ2VyIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHNmZGlzay9ncHQtcmVvcmRlciwgYWRkIG1pc3NpbmcgcmVzdWx0cyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBza2lwIEJMS0RJU0NBUkQgaWYgdW5zdXBwb3J0ZWQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gc2tpcCBhdXRvbWFrZSdzIGVtcHR5ICJUZXN0c3VpdGUgc3VtbWFyeSIgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gc2tpcCBidHJmcyB0ZXN0cyBpZiB2ZXJzaW9uIHRvbyBvbGQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gc2tpcCBpcGNzIHRlc3Qgd2hpY2ggcmVxdWlyZSAvcHJvYyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBza2lwIG5vbnJvb3QgYmVmb3JlIGNoZWNraW5nIGZvciBwcm9ncyBpbiBQQVRIICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHNraXAgb2xkIHNvY2F0IHNpbGVudGx5ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHRzX2ZkaXNrX2NsZWFuKCksIHJlbW92ZSBvcHRpbWFsIGlvc2l6ZSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB1ZGV2YWRtIHNldHRsZSBiZWZvcmUgbG9zZXR1cCAtZCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB1cGRhdGUgWkZTIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBhbmQgZXh0ZW5kIGxvZ2dlciB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGJ1aWxkLXN5cyB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGNvbGNydCB0ZXN0IGV4cGVjdGF0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1cGRhdGUgc3dhcGZpbGUgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc2ZkaXNrIC0tbm8tcmVyZWFkIHdoZXJldmVyIGl0J3MgbmVlZGVkICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHVzZSB4eiBpbnN0ZWFkIG9mIGJ6aXAyIGZvciBibGtpZCBpbWFnZXMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gd2lwZWZzIGZpeCwgdHNfaW5pdCB3YXMgY2FsbGVkIHRvbyBsYXRlICBbUnVlZGlnZXIgTWVpZXJdCit0b29sczoKKyAgIC0gYWRkIGNoZWNrY29tcGxldGlvbi5zaCAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1pc3NpbmcgY2hlY2tjb21wbGV0aW9uLnNoICBbS2FyZWwgWmFrXQordHJhdmlzOgorICAgLSBSZW1vdmUgd29ya2Fyb3VuZCBmb3IgbGlidG9vbCBpbnN0YWxsIG9mIHB5bGlibW91bnQgIFtGaWxpcGUgQnJhbmRlbmJ1cmdlcl0KKyAgIC0gYWRkIE9TWCBidWlsZCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBjb3NtZXRpY3MsIG9yZGVyIHNjcmlwdHMgbGlrZSB0aGV5IGFyZSBleGVjdXRlZCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBpbnN0YWxsIG1kYWRtICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGxldCdzIGlnbm9yZSBhcHQtZ2V0IHJldHVybiBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBtaW5vciBjbGVhbnVwICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHN3aXRjaCB0byBVYnVudHUgMTQuMDQgVHJ1c3R5ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHdvcmthcm91bmQgZW52IHBvbGx1dGlvbiwgUFlUSE9OX0NGTEFHUyAgW1J1ZWRpZ2VyIE1laWVyXQordW1vdW50OgorICAgLSBhZGQgbWFuIHBhZ2Ugbm90ZSB0aGF0IC0tZm9yY2UgaXMgbm90IHBlcmZlY3QgIFtLYXJlbCBaYWtdCit1bnNoYXJlOgorICAgLSBhZGQgZXhhbXBsZSBmb3IgcGVyc2lzdGVudCBtb3VudCBuYW1lc3BhY2UgIFtLYXJlbCBaYWtdCisgICAtIGRlc2NyaWJlIHRoZSBzZXRncm91cHMgcmVzdHJpY3Rpb24gbW9yZSBleHBsaWNpdGx5ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGZpeCBidXN5bG9vcCBhbmQgcmVkdWNlIHJhY2luZyBwcm9iYWJpbGl0eSAgW1l1cml5IE0uIEthbWluc2tpeV0KKyAgIC0gZml4IGluY29tcGxldGUgc2VudGVuY2UgaW4gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgd29yZGluZyBhbmQgZm9ybWF0dGluZyBpbiB0aGUgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gcmVwbGFjZSBhIHNwZWNpYWwgY2hhcmFjdGVyIGluIHRoZSBtYW4gcGFnZSB3aXRoIGEgc3BhY2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdGlueSBjaGFuZ2UgIFtLYXJlbCBaYWtdCit1dWlkZDoKKyAgIC0gYWRkIGRlYnVnIG1lc3NhZ2UgZm9yIHRpbWVvdXQgIFtLYXJlbCBaYWtdCisgICAtIGNvcnJlY3QgdGhlIHdvcmRpbmcgb2YgYW4gZXJyb3IgbWVzc2FnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorICAgLSBmaXggc2hhZG93IGRlY2xhcmF0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGltcHJvdmUgc29ja2V0IGFjdGl2YXRpb24gZXJyb3IgbWVzc2FnaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIHNsaWNlIHVwIHRoZSB1c2FnZSB0ZXh0IGFuZCBub3JtYWxpemUgaXRzIGxheW91dCAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgY3h0LT5xdWlldCAgW0thcmVsIFpha10KKyAgIC0gdXNlIHNpZ25hbGZkKCkgYW5kIHNldHVwX3RpbWVyKCkgIFtTYW1pIEtlcm9sYV0KK3ZpcHc6CisgICAtIFJlbW92ZSBwcmUtQU5TSSBjb21waWxlciBzdXBwb3J0ICBbUm9tYWluIE5hb3VyXQorICAgLSBtYWtlIHRtcF9maWxlIHVzYWdlIG1vcmUgcm9idXN0IFtjbGFuZyBhbmFseXplXSAgW0thcmVsIFpha10KKyAgIC0gcHJpbnQgb25seSBvbmUgbmV3IGxpbmUgd2hlbiBhc2tpbmcgYWJvdXQgc2hhZG93IGZpbGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHB1dHMoKSB3aGVuIGZvcm1hdHRpbmcgdW5uZWNlc3NhcnkgIFtLYXJlbCBaYWtdCit3aXBlZnM6CisgICAtIEFsbG93IGIgdG8gYmUgdXNlZCBhcyB0aGUgc2hvcnQgb3B0aW9uIGZvciBiYWNrdXAgIFtCaWxsIFBlbWJlcnRvbl0KK3dpcGVmcywgc2ZkaXNrOgorICAgLSBpbmNsdWRlIGxpYmdlbi5oIGZvciBiYXNlbmFtZSgzcCkgIFtSdWVkaWdlciBNZWllcl0KK3pyYW1jdGw6CisgICAtIGZpeCBsaXN0cyBvZiB0aGUgYWxsIGRldmljZXMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvICBbS2FyZWwgWmFrXQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yOS1SZWxlYXNlTm90ZXMgYi9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjI5LVJlbGVhc2VOb3RlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZDJmOTE1Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yOS1SZWxlYXNlTm90ZXMKQEAgLTAsMCArMSw1ODcgQEAKK1V0aWwtbGludXggMi4yOSBSZWxlYXNlIE5vdGVzCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCitTZWN1cml0eSBpc3N1ZXMKKy0tLS0tLS0tLS0tLS0tLQorCitDVkUtMjAxNi0yNzc5CisKK1RoaXMgc2VjdXJpdHkgaXNzdWUgaXMgTk9UIEZJWEVEIHlldC4gIEl0IGlzIHBvc3NpYmxlIHRvIGRpc2FibGUgdGhlIGlvY3RsCitUSU9DU1RJIGJ5IHNldHNpZCgpIG9ubHkuICBVbmZvcnR1bmF0ZWx5LCBzZXRzaWQoKSBoYXMgd2VsbC1kZWZpbmVkIHVzZSBjYXNlcworaW4gc3UoMSkgYW5kIHJ1bnVzZXIoMSkgYW5kIGFueSBjaGFuZ2VzIHdvdWxkIGludHJvZHVjZSByZWdyZXNzaW9ucy4gIEl0IHNlZW1zCit3ZSBuZWVkIGEgYmV0dGVyIHdheSAtLSBpZGVhbGx5IGFub3RoZXIgaW9jdGwgdG8gZGlzYWJsZSBUSU9DU1RJIHdpdGhvdXQKK3NldHNpZCgpIG9yIGluIHVzZXJzcGFjZSBpbXBsZW1lbnRlZCBwdHkgY29udGFpbmVyIChwbGFubmVkIGFzIGV4cGVyaW1lbnRhbAorc3UoMSkgZmVhdHVyZSBmb3IgdjIuMzApLgorCisKK1N0YWJsZSBtYWludGVuYW5jZSByZWxlYXNlcyBiZXR3ZWVuIHYyLjI4IGFuZCB2Mi4yOQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3V0aWwtbGludXggMi4yOC4yIFtTZXAgNyAyMDE2XQorCisgKiBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yOC92Mi4yOC4yLVJlbGVhc2VOb3RlcworICAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjgvdjIuMjguMi1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjI4LjEgW0F1ZyAxMSAyMDE2XQorCisgKiBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yOC92Mi4yOC4xLVJlbGVhc2VOb3RlcworICAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjgvdjIuMjguMS1DaGFuZ2VMb2cKKworQ2hhbmdlcyBiZXR3ZWVuIHYyLjI4IGFuZCB2Mi4yOQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCithZ2V0dHk6CisgICAtIGNhbGwgdW5hbWUoKSBvbmx5IHdoZW4gbmVjZXNzYXJ5ICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBtb2RpZnkgYXJndltdIHdoZW4gcGFyc2Ugc3BlZWRzICBbS2FyZWwgWmFrXQorICAgLSBmaXggXFMgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgdW5yZWFjaGFibGUgY29kZSB0byBwcmUtcHJvY2Vzc29yICNlbHNlIHNlZ21lbnQgW29jbGludF0gIFtTYW1pIEtlcm9sYV0KK2Jsa2RldjoKKyAgIC0gZ3VhcmQgYWdhaW5zdCBtaXNzaW5nIERJT0NHRElORk8gb24gRnJlZUJTRCAxMSAgW0ZyYW5jbyBGaWNodG5lcl0KK2Jsa2Rpc2NhcmQ6CisgICAtIEltcHJvdmUgbWFuIHBhZ2UgIFtBbGxvbiBNdXJlaW5pa10KK2J1aWxkLXN5czoKKyAgIC0gYWRkIC0tZGlzYWJsZS1wbHltb3V0aC1zdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1kaXNhYmxlLXdpZGVjaGFyICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1lbmFibGUtbGlidXVpZC1mb3JjZS11dWlkZCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBhZGQgVUxfUkVRVUlSRVNfQ09NUElMRSBtYWNybyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1pc3NpbmcgaW5jbHVkZS9wbHltb3V0aC1jdHJsLmggIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub24tYWN0aW9uIGZvciBuY3Vyc2VzIHBrZy1jb25nIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBwYXJpc2MgdG8gZGVmaW5lIEFSQ0hfICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdG9vbHMvTWFrZW1vZHVsZS5hbSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgcmVsYXRpb24gYmV0d2VlbiBuY3Vyc2VzW3ddIGFuZCB3aWRlLWNoYXIgc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCAtLXdpdGgtbmN1cnNlcyAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbW1lbnRzIGluIHVsLm00ICBbS2FyZWwgWmFrXQorICAgLSBmaXggZHJvbmUuaW8gYnVpbGRzICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWlzc2luZyBuY3Vyc2VzdyBtZXNzYWdlICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCB0eXBvIG9uIG5jdXJzZXMtY29uZmlnIGNvbW1hbmQgbGluZSAgW0thcmVsIFpha10KKyAgIC0gZml4IHVDbGliYy1uZyBzY2FuZiBjaGVjayAgW1dhbGRlbWFyIEJyb2Rrb3JiXQorICAgLSBpbXByb3ZlIGxpYm5jdXJzZXN3NSBpbnN0YWxsIGZvciB0cmF2aXMgIFtLYXJlbCBaYWtdCisgICAtIHJlbGVhc2UrKyAodjIuMjktcmMxKSAgW0thcmVsIFpha10KKyAgIC0gcmVsZWFzZSsrICh2Mi4yOS1yYzIpICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZGVhZCBsaWJzbWFydGNvbHMgc2FtcGxlICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZ2xvYmFsIGRlcGVuZGVuY2UgYmV0d2VlbiB3aWRlY2hhciBhbmQgbmN1cnNlc3cgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBvYnNvbGV0ZSBbY3NdZmRpc2sgTERBRERzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgb2Jzb2xldGUgY29tbWVudCAgW0thcmVsIFpha10KKyAgIC0gdGVzdCBmdW5jdGlvbnMgZG9lcyBub3QgcmV0dXJuIHZvaWQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIFVMX0RFRkFVTFRfRU5BQkxFKCkgb25seSBmb3IgcHJvZ3JhbXMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBuY3Vyc2VzLWNvbmZpZyByYXRoZXIgdGhhbiBwa2ctY29uZmlnICBbS2FyZWwgWmFrXQorICAgLSB3b3JrYXJvdW5kIGZvciBhdXRvY29uZiAicHJlc2VudCBidXQgY2Fubm90IGJlIGNvbXBpbGVkIiAgW0thcmVsIFpha10KK2NhbDoKKyAgIC0gYWxsb3cgdG8gc3BlY2lmeSBtb250aCBieSBuYW1lICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIG5vbi1uY3Vyc2VzIGJ1aWxkICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZXJyIG1lc3NhZ2UgZnJvbSBtb250aG5hbWVfdG9fbnVtYmVyKCkgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgYWJicmV2aWF0ZWQgbW9udGggbmFtZXMgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgYWxvbmUgbW9udGggbmFtZSBwYXJhbWV0ZXIgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgdGltZXN0YW1wcyAgW0thcmVsIFpha10KKyAgIC0gdXNlICUwNGQgZm9yIHllYXIgIFtLYXJlbCBaYWtdCitjZmRpc2s6CisgICAtIGZpeCBtb3VudHBvaW50IGRldGVjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gdXNlIGxpYnNtYXJ0Y29scyBBU0NJSSBmb3Igbm9uLXdpZGVjaGFyIGVudmlyb25tZW50ICBbS2FyZWwgWmFrXQorY2Zpc2s6CisgICAtIGFkZCAvZGV2L3ZkYSBhcyBhbm90aGVyIGRlZmF1bHQgZGlzayAgW0thcmVsIFpha10KK2NoZm46CisgICAtIGNoc2ggIHVzZSBzZWxpbnV4X2NoZWNrX3Bhc3N3ZF9hY2Nlc3MoKSAgW0thcmVsIFpha10KK2NocnQ6CisgICAtIGFkZCBmYWxsYmFjayB0byBiZSB1c2FibGUgb24ga2VybmVscyB3aXRob3V0IHNjaGVkX3tnZXQsc2V0fWF0dHIgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBIQVZFX1NDSEVEX1NFVEFUVFIgZmFsbGJhY2sgY2FzZSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmb2xsb3cgbmljZSBzZXR0aW5nLCBwcmVmZXIgc2NoZWRfc2V0c2NoZWR1bGVyKCkgIFtLYXJlbCBaYWtdCisgICAtIHZhbGlkYXRlIHByaW9yaXR5IGJlZm9yZSB0cnlpbmcgdG8gdXNlIGl0ICBbU2FtaSBLZXJvbGFdCitjb2xjcnQ6CisgICAtIGF2b2lkIHRoZSBjb21tYW5kIGdldHRpbmcgaHVuZyBbYWZsXSAgW1NhbWkgS2Vyb2xhXQorY3JhbWZzOgorICAgLSBhZGQgbWlzc2luZyBpbmNsdWRlcyAgW0thcmVsIFpha10KKyAgIC0gcmV2ZXJ0IGNyYzMyIGNoYW5nZXMgIFtLYXJlbCBaYWtdCitkZWJ1ZzoKKyAgIC0gdXNlIGNvbnN0IHZvaWQgKiBmb3IgdWxfZGVidWdvYmooKSAgW0lnb3IgR25hdGVua29dCitkZXByZWNhdGVkLnR4dDoKKyAgIC0gQWRkIHNmZGlzayAtLXNob3ctcHQtZ2VvbWV0cnkgIFtTdGFuaXNsYXYgQnJhYmVjXQorZG1lc2c6CisgICAtIC0tbm90aW1lIHNob3VsZCBub3Qgc3VwcHJlc3MgLS1zaG93LWRlbHRhICBbU2FtaSBLZXJvbGFdCisgICAtIGRyb3AgY29yZSBhdCBpbXBvc3NpYmxlIGNhc2UgaW4gcmVhZF9idWZmZXIoKSBbb2NsaW50XSAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggaW5kZW50aW9uICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc3RydGltZXZhbF9pc28oKSAgW0thcmVsIFpha10KK2RvY3M6CisgICAtIEZpeCB2YXJpb3VzIHR5cG9zICBbU2ViYXN0aWFuIFJhc211c3Nlbl0KKyAgIC0gYWRkIGZpbGUgZm9ybWF0IG5vdGUgdG8gdXRtcGR1bXAgbWFudWFsIHBhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHNmZGlzayBzY3JpcHRzIHF1b3RlcyBpc3N1ZSB0byBUT0RPIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIG9wdGluYWwgb3B0aW9uIGFyZ3VtZW50cyBzaG91bGQgYmUgbG9uZy1vbmx5ICBbU2FtaSBLZXJvbGFdCisgICAtIHNvbWUgcmFuZG9tIGZpeGVzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgQVVUSE9SUyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgVE9ETyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgaW5mb3IgYWJvdXQgVElPQ1NUSSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHYyLjI5LVJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KK2ZkaXNrOgorICAgLSBBZGQgc3VwcG9ydCBmb3IgYWx0ZXJpbmcgR1BUIHNpemUgIFtTYXNzYW4gUGFuYWhpbmVqYWRdCisgICAtIEZpeCB0eXBvIFJlcXVpcmVkUGFydGl0b24gLT4gUmVxdWlyZWRQYXJ0aXRpb24gIFtTZWJhc3RpYW4gUmFzbXVzc2VuXQorICAgLSBhZGQgLS13aXBlLXBhcnRpdGlvbnM9YXV0b3xuZXZlcnxkZWZhdWx0ICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyAgW0thcmVsIFpha10KKyAgIC0gZml4IG1lbWxlYWsgaW4gbGlzdF9kaXNrX2dlb21ldHJ5KCkgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbWFrZSAtbCA8ZGV2IC4uLj4gYmVoYXZlcyBsaWtlIGZkaXNrIC1sICBbVGhpZXJyeSBWaWduYXVkXQorICAgLSB1c2UgUEFHRVIgZm9yICdsJyBjb21tYW5kLiAgW0thcmVsIFpha10KK2ZpbmRtbnQ6CisgICAtICh2ZXJpZnkpIGFkZCBkb2NzICBbS2FyZWwgWmFrXQorICAgLSAodmVyaWZ5KSBhZGQgb3B0aW9ucyB2ZXJpZmljYXRpb24gIFtLYXJlbCBaYWtdCisgICAtICh2ZXJpZnkpIGFkZCBzb3VyY2UgdmVyaWZpY2F0aW9uICBbS2FyZWwgWmFrXQorICAgLSAodmVyaWZ5KSBhZGQgc3dhcGFyZWEgdmVyaWZpY2F0aW9uICBbS2FyZWwgWmFrXQorICAgLSAodmVyaWZ5KSBjaGVjayBmaWxlc3lzdGVtIHR5cGUgIFtLYXJlbCBaYWtdCisgICAtICh2ZXJpZnkpIGZpeCBtZW0gbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtICh2ZXJpZnkpIG1pbm9yIGNoYW5nZXMgaW4gc3RyaW5ncyAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tdmVyaWZ5IGFuZCAtLXZlcmJvc2UgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBkdXBsaWNhdGUgaW5jbHVkZSAgW0thcmVsIFpha10KK2Zsb2NrOgorICAgLSBJbnRyb2R1Y2Ugbm8tZm9yayBvcHRpb24uICBbVGVycnkgQnVydG9uXQorICAgLSBmaXggbm8tZmxvY2sgcGF0Y2ggIFtLYXJlbCBaYWtdCisgICAtIGtlZXAgcnVuX3Byb2dyYW0oKSBzaW1wbGUgIFtLYXJlbCBaYWtdCitmc2NrOgorICAgLSBmaXggcmFjaW5nIGJldHdlZW4gdW5sb2NrL3VubGluayBhbmQgb3BlbiAgW1l1cml5IE0uIEthbWluc2tpeV0KKyAgIC0gcmVtb3ZlIGZzLXNwZWNpZmljIG9wdGlvbnMgZnJvbSBtYW4gcGFnZSAgW0thcmVsIFpha10KK2ZzY2suY3JhbWZzOgorICAgLSBkb24ndCBpZ25vcmUgcmVhZCgpIHJlc3VsdCBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCitmc2NrLm1pbml4OgorICAgLSBWZXJpZnkgbW9yZSBmaWVsZHMgaW4gc3VwZXItYmxvY2suICBbVG9iaWFzIFN0b2Vja21hbm5dCisgICAtIGZpeCBlbmRsZXNzIGxvb3AgYW5kIG91dCBvZiBzdGFjayAgW0thcmVsIFpha10KK2ZzdHJpbToKKyAgIC0gYWRkIC12IHRvIHRoZSBzeXN0ZW1kIHNlcnZpY2UgIFtLYXJlbCBaYWtdCitnZXRvcHM6CisgICAtIGltcHJvdmUgZ2V0b3B0LXBhcnNlLmJhc2ggZXhhbXBsZSAgW1NhbWkgS2Vyb2xhXQorZ2V0b3B0OgorICAgLSBiZSBzdXJlIHRoYXQgb3B0aW9ucyBhcnJheSBpcyB0ZXJtaW5hdGVkICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtb3J5IGxlYWtzIGFuZCBpbnRlZ2VyIG92ZXJmbG93cyBbQVNBTiAmIHZhbGdyaW5kXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBrZWVwIHBvaW50ZXIgdG8gJ25hbWUnIGluIGNvbnRyb2wgc3RydWN0ICBbS2FyZWwgWmFrXQoraHdjbG9jazoKKyAgIC0gdXNlIHN0cnRpbWV2YWxfaXNvKCkgIFtLYXJlbCBaYWtdCitpbmNsdWRlL2Nsb3Nlc3RyZWFtOgorICAgLSBkZWZpbmUgZXhpdCBjb2RlcyAgW0thcmVsIFpha10KK2luY2x1ZGUvZW52OgorICAgLSBtaW5vciBmaXhlcyBhbmQgY2xlYW4gdXBzICBbS2FyZWwgWmFrXQoraW5jbHVkZS90aW1ldXRpbHM6CisgICAtIHJld3JpdGUgaXNvIGZvcm1hdHRpbmcgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSB1c2UgcG9pbnRlciBmb3IgdGltZV90ICBbS2FyZWwgWmFrXQoraW5jbHVkZS93aWRlY2hhcjoKKyAgIC0gYWRkIGZhbGxiYWNrIGZvciBXRU9GICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBmYWxsYmFja3MgIFtLYXJlbCBaYWtdCitpb25pY2U6CisgICAtIGNsYXJpZnkgZGVzY3JpcHRpb24gb2YgLS1jbGFzc2RhdGEgIFtEYW5pZWwgU2hhaGFmXQoraXNvc2l6ZToKKyAgIC0gZG9uJ3QgaWdub3JlIHJlYWQoKSByZXN1bHQgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggcmVhZCgpIHJlc3VsdCBjaGVjayAgW0thcmVsIFpha10KK2tpbGw6CisgICAtIHJlbW92ZSBwaWQgY29tbWFuZC1uYW1lIHRvIG9wdGlvbiBhbGlhcyAgW1NhbWkgS2Vyb2xhXQorbGFzdDoKKyAgIC0gY2xlYW51cCB0aW1lIGZvcm1hdHRpbmcgY29kZSAgW0thcmVsIFpha10KKyAgIC0gZml4IGxvZ291dCB0aW1lICBbS2FyZWwgWmFrXQorbGliOgorICAgLSBhdm9pZCBkb3VibGUgZnJlZSBpbiBsb29wZGV2LmMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdHJ5IHRvIGZpbmQgdHR5IGluIGdldF90ZXJtaW5hbF9uYW1lKCkgIFtTYW1pIEtlcm9sYV0KK2xpYi9jcmMzMjoKKyAgIC0gcHJlZml4IHB1YmxpYyBmdW5jdGlvbnMgIFtHdXN0YXZvIFphY2FyaWFzXQorbGliL2xvb3BkZXY6CisgICAtIFNldCBlcnJubyBpbiBpc19sb29wZGV2IG9uIGVycm9yICBbVG9iaWFzIFN0b2Vja21hbm5dCisgICAtIGNsZWFudXAgc2l6ZWxpbWl0IGNoZWNrICBbS2FyZWwgWmFrXQorbGliL21ic2FsaWduOgorICAgLSBmaXggZm9yIG5vbi13aWRlY2hhciAgW0thcmVsIFpha10KKyAgIC0gZnJlZSBidWZmZXIgYWZ0ZXIgZXJyb3IgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorbGliL3BhZ2VyOgorICAgLSBjbGVhbnVwIGFuZCBleHRlbmQgQVBJICBbS2FyZWwgWmFrXQorICAgLSBmaXggdGVzdCAgW0thcmVsIFpha10KKyAgIC0gcmVzdG9yZSBzaWduYWxzIHNldHRpbmcgYnkgcGFnZXJfY2xvc2UoKSAgW0thcmVsIFpha10KK2xpYi9yYW5kdXRpbHM6CisgICAtIGFkZCB4c3JhbmQoKSBhbmQgcmFuZF9nZXRfbnVtYmVyKCkgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBmdW5jdGlvbiAgW0thcmVsIFpha10KK2xpYi9zdHJ1dGlsczoKKyAgIC0gbWFrZSBsZWZ0IGFuZCByaWdodCB0cmltcyBtb3JlIHJvYnVzdCAgW1NhbWkgS2Vyb2xhXQorbGliL3N5c2ZzOgorICAgLSBiZSBtb3JlIHNtYXJ0IGZvciBub24tc2NzaSBkZXZpY2VzICBbS2FyZWwgWmFrXQorbGliL3RpbWV1dGlsczoKKyAgIC0gYWRkIHN0cnRpbWVfc2hvcnQoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN0cnh4eF9pc28oKSBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCitsaWIvdHR5dXRpbHM6CisgICAtIHVzZSBzdGRvdXQgZm9yIGdldF90ZXJtaW5hbF93aWR0aCgpICBbS2FyZWwgWmFrXQorbGliYmxraWQ6CisgICAtIEFkZCBtZXRhZGF0YSBzaWduYXR1cmUgY2hlY2sgZm9yIElNU00gb24gNEtuIGRyaXZlcyAgW0FsZXhleSBPYml0b3Rza2l5XQorICAgLSBBdm9pZCBPT0IgYWNjZXNzIG9uIGlsbGVnYWwgWkZTIHN1cGVyYmxvY2tzICBbVG9iaWFzIFN0b2Vja21hbm5dCisgICAtIEF2b2lkIHN0cmxlbiBpZiBvbmx5IGZpcnN0IGNoYXIgaXMgY2hlY2tlZCAgW1RvYmlhcyBTdG9lY2ttYW5uXQorICAgLSBDaGVjayB0aGF0IGNsdXN0ZXIgc2l6ZSBpcyBub256ZXJvIHdoZW4gcHJvYmluZyBleEZBVCAgW1Jvc3Rpc2xhdiBTa3Vkbm92XQorICAgLSBbZXhmYXRdIExpbWl0IG1heGltdW0gbnVtYmVyIG9mIGl0ZXJhdGlvbnMgaW4gZmluZF9sYWJlbCAgW1Jvc3Rpc2xhdiBTa3Vkbm92XQorICAgLSBhdm9pZCBub24tZW1wdHkgcmVjdXJzaW9uIGluIEVCUiAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgYmxraWRfcGFyc2VfdGFnX3N0cmluZygpIHJldHVybiBjb2RlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgY2hlY2sgbm9ubnVsbCBhdHRyaWJ1dGVzIGZvciBOVUxMIFstV25vbm51bGwtY29tcGFyZV0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBkZWJ1Z2dpbmcgbWFjcm8gW29jbGludF0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IG1pc3Rha2UgaW4gZGVidWcgbWVzc2FnZSAgW0thcmVsIFpha10KKyAgIC0gaWdub3JlIGVtcHR5IE1CUiBvbiBMVk0gZGV2aWNlICBbS2FyZWwgWmFrXQorICAgLSBpZ25vcmUgZXh0ZW5kZWQgcGFydGl0aW9uIGF0IHplcm8gb2Zmc2V0ICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGRlYnVnIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIEkvTyBlcnJvcnMgb24gQ0RST01zIG5vbi1mYXRhbCAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBibGtpZF9kb193aXBlKCkgd29yayB3aXRoIHByb2JlcyB3aXRoIG9mZnNldCAgW1BldHIgVXplbF0KKyAgIC0gcmVkdWNlIHByb2JpbmcgYXJlYSBmb3IgY3JhenkgQ0RST01zICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW51c2VkIGZ1bmN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBzaW1wbGlmeSBpZiBjbGF1c2UgW29jbGludF0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gc3RvcmUgb25seSBjYW5vbmljYWwgZGV2bmFtZXMgdG8gdGhlIGNhY2hlICBbS2FyZWwgWmFrXQorbGliY29tbW9uOgorICAgLSBhZGQgSVNPXzg2MDFfR01USU1FIHRoYXQgd2lsbCBwcmludCBVVEMtMCB0aW1lc3RhbXBzICBbU2FtaSBLZXJvbGFdCitsaWJmZGlzazoKKyAgIC0gKGRvY3MpIGFkZCBtaXNzaW5nIHZlcnNpb24gbm90ZXMgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIGJlIG1vcmUgY2FyZWZ1bCB3aXRoIDY0Yml0IGNvbnN0YW50cyAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgbWFrZSBhdHRyaWJ1dGVzIHBhcnNlciBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KKyAgIC0gKHNjcmlwdCkgbWFrZSBib290YWJsZSBmbGFnIHBhcnNpbmcgbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIEFkZCBzdXBwb3J0IGZvciBhbHRlcmluZyBHUFQgc2l6ZSAgW1Nhc3NhbiBQYW5haGluZWphZF0KKyAgIC0gRGlzdGluZ3Vpc2ggYmV0d2VlbiBmaXJzdCBMQkEgc2VjdG9yIGFuZCBwYXJ0aXRpb24gIFtUb2JpYXMgU3RvZWNrbWFubl0KKyAgIC0gRml4IGFzc2VydCBlcnJvciBpbiBmcmVlIHNwYWNlIGhhbmRsaW5nICBbVG9iaWFzIFN0b2Vja21hbm5dCisgICAtIGFkZCBBUEkgZm9yIHdvcmsgd2l0aCBsYWJlbGl0ZW1zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZmRpc2tfd2lwZV9wYXJ0aXRpb24oKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRyaXZpYWwgc2NyaXB0IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgZmRpc2tfZ3B0X3NldF9ucGFydGl0aW9ucygpICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGxhYmVsaXRlbSBpbml0aWFsaXphdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3Qgb2ZmZXIgemVybyBsZW5ndGggZnJlZXNwYWNlICBbS2FyZWwgWmFrXQorICAgLSBmaXggcmFuZ2UgY2hlY2tpbmcgZm9yIGZkaXNrX3NldF9sYXN0X2xiYSAgW1Nhc3NhbiBQYW5haGluZWphZF0KKyAgIC0gZml4IHNjcmlwdCBUeXBlPSBhbmQgSWQ9IHBhcnNpbmcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvICBbS2FyZWwgWmFrXQorICAgLSBmaXggdW5pbml0aWFsaXplZCBmZGlza19sYWJlbGl0ZW0gIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbWFrZSBzY3JpcHQgdG9rZW4gcGFyc2VyIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHRhYmxlLWxlbmd0aCB1c2FnZSBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBmZGlza19maWVsZF8uLi4oKSBmdW5jdGlvbnMgdG8gZmllbGQuYyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGZkaXNrX2FkZF9wYXJ0aXRpb24oKSBmb3IgdW51c2VkIHBhcnRubyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHRhYmxlLWxlbmd0aCBpbiBkdW1wIGZvciBub24tc3RhbmRhcmQgUFQgIFtLYXJlbCBaYWtdCitsaWJsa2lkOgorICAgLSBBZGQgbGVuZ3RoIGNoZWNrIGluIHByb2JlX25pbGZzMiBiZWZvcmUgY3JjMzIgIFtUb3JzdGVuIEhpbGJyaWNoXQorICAgLSBmaXggcHJvYmVfbmlsZnMyIEkvTyBlcnJvciBiYWNrdXAgIFtLYXJlbCBaYWtdCitsaWJtb3VudDoKKyAgIC0gRml4IHBvc3NpYmxlIGNyYXNoIGluIG1udF9jb250ZXh0X3NldHVwX2xvb3BkZXYoKSAgW1N0YW5pc2xhdiBCcmFiZWNdCisgICAtIEludHJvZHVjZSBuZXcgZXJyb3IgIE1OVF9FUlJfTE9PUE9WRVJMQVAgIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBQcmVzZXJ2ZSBlbXB0eSBzdHJpbmcgdmFsdWUgaW4gb3B0c3RyIHBhcnNpbmcgIFtGaWxpcGUgQnJhbmRlbmJ1cmdlcl0KKyAgIC0gUmUtb3JnYW5pemUgaXNfbW91bnRlZF9zYW1lX2xvb3BmaWxlKCkgIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBkb24ndCBjaGVjayBub25udWxsIGF0dHJpYnV0ZXMgZm9yIE5VTEwgWy1Xbm9ubnVsbC1jb21wYXJlXSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3Qgc3VwcG9ydCAvZXRjL210YWIgYnkgZGVmYXVsdCAgW0thcmVsIFpha10KKyAgIC0gZml4IG1lbW9yeSBsZWFrICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBtbnRfdGFibGVfcGFyc2VfbXRhYigpIGxvZ2ljICBbS2FyZWwgWmFrXQorICAgLSBmaXggbW50X3RhYmxlX3BhcnNlX3N0cmVhbSgpIGxvZ2ljICBbS2FyZWwgWmFrXQorICAgLSBmaXggbW91bnQgLWEgZm9yIGNpZnMgIFtBdXJlbGllbiBBcHRlbF0KKyAgIC0gZml4IG51bGwtY2hlY2tpbmcgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBpZ25vcmUgcmVkdW5kYW50IHNsYXNoZXMgIFtLYXJlbCBaYWtdCisgICAtIG1ha2Uga2VybmVsX2ZzX3Bvc3RwYXJzZSgpIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSBvbmUgaXRlcmF0aW9uIHRvIGRldGVjdCBvdmVybGFwIGFuZCByZXVzZSBsb29wZGV2ICBbS2FyZWwgWmFrXQorICAgLSBwYXJhbm9pZCBjaGFuZ2UgaW4gbW50X3RhYmxlX2lzX2ZzX21vdW50ZWQoKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGR1cGxpY2F0ZSBjb2RlICBbS2FyZWwgWmFrXQorICAgLSByZXVzZSBleGlzdGluZyBsb29wIGRldmljZSAgW1N0YW5pc2xhdiBCcmFiZWNdCisgICAtIHRyeSBhYnNvbHV0ZSB0YXJnZXQgYmVmb3JlIGNhbm9uaWNhbGl6ZSAgW0thcmVsIFpha10KK2xpYm1vdW50LCBsb29rOgorICAgLSByZW1vdmUgZGVhZCBjb2RlIFtvY2xpbnRdICBbU2FtaSBLZXJvbGFdCitsaWJtb3V0OgorICAgLSBSZXVzZSBsb29wIGRldmljZSBzYWZlbHkgIFtTdGFuaXNsYXYgQnJhYmVjXQorbGlic21hcnRjb2xzOgorICAgLSAoZG9jcykgYWRkIG1pc3NpbmcgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSAoZG9jcykgYWRkIG1pc3NpbmcgdmVyc2lvbiBub3RlcyAgW0thcmVsIFpha10KKyAgIC0gQ29ycmVjdGVkIEpTT04gZXNjYXBpbmcgIFtLYXJlbCBaYWssIEJyeWFuIEVsbGlvdHRdCisgICAtIGFkZCBKU09OIHN1cHBvcnQgdG8gc2FtcGxlIGFwcGxpY2F0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYXBwbGljYXRpb24gdG8gdGVzdCBsaWJyYXJ5IGZlYXR1cmVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZmFsbGJhY2sgZm9yIHN5bWJvbHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmdW5jdGlvbnMgdG8gY29udHJvbCB0ZXJtaW5hbCB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1heG91dCBzYW1wbGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzY29sc19jb2x1bW5fYWRkX3dpZHRoKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzY29sc190YWJsZV9nZXRfbmFtZSgpICBbSWdvciBHbmF0ZW5rb10KKyAgIC0gYWRkIHNjb2xzX3RhYmxlX2lzX25vbGluZXNlcCgpICBbSWdvciBHbmF0ZW5rb10KKyAgIC0gYWRkIHNjb2xzX3RhYmxlX2lzX25vd3JhcCgpICBbSWdvciBHbmF0ZW5rb10KKyAgIC0gYWRkIHN1cHBvcnQgZm9yIHRyZWVzIHRvIHRoZSBzYW1wbGUgYXBwbGljYXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGFsbG93IHRvIGNoYW5nZSBjZWxsIHBhZGRpbmcgY2hhciAgW0thcmVsIFpha10KKyAgIC0gYmUgY29uc2lzdGVudCwgdXNlICdzeScgZm9yIHN5bWJvbHMgIFtJZ29yIEduYXRlbmtvXQorICAgLSBiZSBtb3JlIHN0cmljdCBhYm91dCBlbXB0eSB0YWJsZXMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgZ2V0IGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBsaW5lIHNlcGFyYXRvciB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBzY29sc190YWJsZV9zZXRfc3ltYm9scygpIEFQSSAgW0thcmVsIFpha10KKyAgIC0gY29tbWl0IG1pc3NpbmcgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gY3VzdG9tIHdyYXAgZml4ZXMgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHByaW50IHRpdGxlIGNvbG9yIGlzIGNvbG9ycyBkaXNhYmxlZCAgW0thcmVsIFpha10KKyAgIC0gZXh0ZW5kIHdyYXBubCBzYW1wbGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBXUkFQTkwgY3Jhc2hlcyAgW0thcmVsIFpha10KKyAgIC0gZml4IFdSQVBOTCBvbiBzdHJpbmdzIHdpdGhvdXQgXG4gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21tZW50ICBbS2FyZWwgWmFrXQorICAgLSBmaXggaGlkZGVuIGZpbGUgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtaW5pbWFsIGNvbHVtbiB3aWR0aCBjYWxjdWxhdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZml4IG5vbi10dHkgb3V0cHV0IGZvciAnbWF4b3V0JyBjb2x1bW5zICBbS2FyZWwgWmFrXQorICAgLSBmaXggcGFkZGluZyBmb3Igbm9uLW1heG91dCBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzY29sc190YWJsZV9lbmFibGVfY29sb3JzKCkgdXNhZ2UgaW4gc2FtcGxlcyAgW0thcmVsIFpha10KKyAgIC0gZml4IHRpdGxlIG91dHB1dCBvbiBub24tdHR5ICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHJlZSBwYWRkaW5nICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwb3MgaW4gZG9jcyAgW0lnb3IgR25hdGVua29dCisgICAtIGZpeGVzIGluIGRvYyBnZW5lcmF0aW9uICBbSWdvciBHbmF0ZW5rb10KKyAgIC0gaW1wcm92ZSBKU09OICBbS2FyZWwgWmFrXQorICAgLSBrZWVwIHNjb2xzX3RhYmxlX2dldF90ZXJtd2lkdGgoKSByZWFkLW9ubHkgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgZ2V0X2xpbmUvY29sdW1uX3NlcGFyYXRvcigpIHJldHVybiBjb25zdCAgW0lnb3IgR25hdGVua29dCisgICAtIG1ha2Ugc2NvbHNfc29ydF90YWJsZSgpIHVzYWJsZSBmb3IgdHJlZXMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBkZWJ1Z2luZyBjb2RlIGZyb20gc2FtcGxlICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IExJQlNNQVJUQ09MU19ERUJVR19QQURESU5HPW9uICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IGN1c3RvbSB3cmFwIGFuZCByZW1vdmUgU0NPTFNfRkxfV1JBUE5MICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IG11bHRpLWxpbmUgY2VsbHMgYmFzZWQgb24gbGluZSBicmVha3MgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBTQ09MU19GTF9SSUdIVCBpbiBzYW1wbGUgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBjb25zdCBxdWFsaWZpZXIgZm9yIHNjb2xzX3RhYmxlX2dldF90ZXJtd2lkdGggIFtJZ29yIEduYXRlbmtvXQorICAgLSB1c2UgY29uc3QgcXVhbGlmaWVyIHdoZXJlIGl0J3MgcG9zc2libGUgIFtJZ29yIEduYXRlbmtvXQorbG9nZ2VyOgorICAgLSBhZGQgbWFuIHBhZ2Ugbm90ZSBhYm91dCB0aGUgZGVmYXVsdCAtLXRhZyAgW0thcmVsIFpha10KKyAgIC0gYmUgbW9yZSBwcmVjaXNlIGFib3V0IC0tcG9ydCBkZXNjcmlwdGlvbiAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHRyYWlsaW5nIHNwYWNlcyB3aGVuIG91dHB1dGluZyB0byBqb3VybmFsICBbU2FtaSBLZXJvbGFdCisgICAtIHNpbXBsaWZ5IGlmIGNsYXVzZSBbb2NsaW50XSAgW1NhbWkgS2Vyb2xhXQorbG9vcGRldjoKKyAgIC0gSW1wbGVtZW10IGxvb3BjeHRfc2V0X3N0YXR1cygpICBbU3RhbmlzbGF2IEJyYWJlY10KK2xvc2V0dXA6CisgICAtIFByZXZlbnQgQVVUT0NMRUFSIGRldGFjaCByYWNlICBbU3RhbmlzbGF2IEJyYWJlY10KKyAgIC0gYWRkIC0tbm9vdmVybGFwIG9wdGlvbnMgIFtLYXJlbCBaYWssIFN0YW5pc2xhdiBCcmFiZWNdCisgICAtIGFsbG93IHRvIHVzZSAtLW5vb3ZlcmxhcCB3aGVuIGRldmljZSBzcGVjaWZpZWQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBvdXRkYXRlZCBjb21tZW50ICBbIll1cml5IE0uIEthbWluc2tpeSJdCitsb3NldHVwIC0tbm9vdmVybGFwOgorICAgLSBmaXggdHlwbyAgW1N0YW5pc2xhdiBCcmFiZWNdCitsc2JsazoKKyAgIC0gYWRkIG5vdGUgYWJvdXQgLS1zb3J0IGFuZCAtLWxpc3QgcmVsYXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgc3VwcG9ydCBmb3IgbnZtZSAgW0thcmVsIFpha10KKyAgIC0gc29ydCBieSBNQUogTUlOIGJ5IGRlZmF1bHQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBJRF9XV05fV0lUSF9FWFRFTlNJT04gaXMgcG9zc2libGUgIFtLYXJlbCBaYWtdCitsc2NwdToKKyAgIC0gYWRkIC0tcGh5c2ljYWwgb3B0aW9uICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIGFkZCBkcmF3ZXIgc3VwcG9ydCAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBhZGQgcGFyc2FibGUgdGVzdGNhc2Ugd2l0aCB0aGUgLS1waHlzaWNhbCBvcHRpb24gIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gYWRkIHMzOTAgZHJhd2VyIHRlc3RjYXNlICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIGRpc2FibGUgaXNfdm13YXJlX3BsYXRmb3JtKCkgZm9yIG5vbi1yb290IHVzZXJzICBbS2FyZWwgWmFrXQorICAgLSBmaXggTU1IWiBjb2x1bW4gZW50cnkgd2l0aGluIG1hbiBwYWdlICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIGZpeCB0eXBvIGluIHN1bW1hcnkgb3V0cHV0ICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIG1ha2UgbG9va3VwX2NhY2hlKCkgbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIG9ubHkgdHJ5IHRvIHJlYWQgc3lzZnMgYXR0cmlidXRlcyBvZiBwcmVzZW50IENQVXMgIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gcHJpbnQgY29ycmVjdCBudW1iZXIgb2YgdGhyZWFkcyBwZXIgY29yZSBpZiBwb3NzaWJsZSAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBzaG93IGFkZGl0aW9uYWwgY2FjaGVzIChzMzkwKSAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBzaG93IG1hY2hpbmUgdHlwZSAoczM5MCkgIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gc2hvdyBzdGF0aWMgYW5kIGR5bmFtaWMgTUh6IChzMzkwKSAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSB1cGRhdGUgczM5MC1scGFyLWRyYXdlciB0ZXN0Y2FzZSAgW0hlaWtvIENhcnN0ZW5zXQorbHNpcGM6CisgICAtIHVzZSBzdHJ0aW1lX3Nob3J0KCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzdHJ0bV9pc28oKSAgW0thcmVsIFpha10KK2xzbG9ja3M6CisgICAtIGFkZCAtLW5vaW5hY2Nlc3NpYmxlICBbS2FyZWwgWmFrXQorbHNsb2dpbnM6CisgICAtIHNpbXBsaWZ5IGlmIGNsYXVzZSBhbmQgbW92ZSBkZWZpbml0aW9uIGFuZCBjb21tZW50cyBbb2NsaW50XSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2Ugc3RydGltZV9zaG9ydCgpICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc3RydG1faXNvKCkgIFtLYXJlbCBaYWtdCitsc25zOgorICAgLSBjaGVjayBmb3IgT09NICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtIGxlYWsgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBtaXNzaW5nIG5zLzxuYW1lPiBpcyBub3QgZXJyb3IgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgY2dyb3VwIG5hbWVzcGFjZXMgIFtNaWNoYcWCIEJhcnRvc3praWV3aWN6XQorbHNwY3U6CisgICAtIG1pbm9yIG1hbnBhZ2UgaW1wcm92ZW1lbnQgIFtIZWlrbyBDYXJzdGVuc10KK21hbiBwYWdlczoKKyAgIC0gZml4IHNwYWNpbmcgYmV0d2VlbiBtYW4gcGFnZSBuYW1lICYgc2VjdGlvbiBudW1iZXIgIFtNaWtlIEZyeXNpbmdlcl0KK21pc2M6CisgICAtIEZpeCB2YXJpb3VzIHR5cG9zICBbU2ViYXN0aWFuIFJhc211c3Nlbl0KKyAgIC0gYWx3YXlzIGNoZWNrIHNldGVudigzKSByZXR1cm4gdmFsdWUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW51cCBub24td2lkZWNoYXIgY29tcGlsYXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBkZWNsYXJhdGlvbnMgc2hhZG93aW5nIHZhcmlhYmxlcyBpbiB0aGUgZ2xvYmFsIHNjb3BlIFtvY2xpbnRdICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCB1bnNpZ25lZCBpbnQgdXNhZ2UgZm9yIGN0eXBlLmggZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBvbmNlIGFnYWluIHNvbWUgcHJpbnRmIGZvcm1hdCBzdHJpbmdzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHNpbXBsaWZ5IGlmIGNsYXVzZXMgW29jbGludF0gIFtTYW1pIEtlcm9sYV0KK21rc3dhcDoKKyAgIC0gdG9sZXJhdGUgRU5PVFNVUCB3aGVuIGZhaWxpbmcgdG8gcmVsYWJlbCAgW0x1Ym9taXIgUmludGVsXQorbW9yZToKKyAgIC0gZG9uJ3QgaW5jbHVkZSBuY3Vyc2VzLmgsIGZpeCBmb3Igbm9uLXdpZGVjaGFyICBbS2FyZWwgWmFrXQorbW91bnQ6CisgICAtIEhhbmRsZSBFUk9GUyBiZWZvcmUgY2FsbGluZyBtb3VudCgpIHN5c2NhbGwgIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBIYW5kbGUgTU5UX0VSUl9MT09QT1ZFUkxBUCAgW1N0YW5pc2xhdiBCcmFiZWNdCisgICAtIGFkZCBub3RlIGFib3V0IGFub3RoZXIgZmxhZ3MgZm9yICJyZW1vdW50LGJpbmQiICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCBsb29wZGV2IHJldXNlIHRvIG1vdW50LjggIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub3RlIGFib3V0IHBhdGhzIHZlcmlmaWNhdGlvbiB0byBtb3VudC44ICBbS2FyZWwgWmFrXQorICAgLSBhcHBlbmQgaW52ZXJ0aW5nIG9wdGlvbnMgZm9yIG1vdW50Ljx0eXBlPiBvbiAidXNlcnMiICBbS2FyZWwgWmFrXQorICAgLSBtb3VudC44IFVwZGF0ZSBsb29wIGRldmljZSBkb2N1bWVudGF0aW9uICBbU3RhbmlzbGF2IEJyYWJlY10KKyAgIC0gc21hbGwgY2hhbmdlIHRvIG1vdW50LjggbG9vcGRldiBzZWN0aW9uICBbS2FyZWwgWmFrXQorICAgLSB0cnkgdG8gdGVsbCB3aGF0IG1vdW50IHdhcyBkb2luZyB3aGVuIGl0IGZhaWxlZCAgW1NhbWkgS2Vyb2xhXQorbnNlbnRlcjoKKyAgIC0gZW50ZXIgbmFtZXNwYWNlcyBpbiB0d28gcGFzc2VzICBbSmFtZXMgQm90dG9tbGV5XQorcGF0aG5hbWVzOgorICAgLSBndWFyZCBjbGFzaGluZyBkZWZpbml0aW9ucyBvbiBGcmVlQlNEICBbRnJhbmNvIEZpY2h0bmVyXQorcGc6CisgICAtIHN0b3AgYnVpbGRpbmcgdGhlIGNvbW1hbmQgYnkgZGVmYXVsdCAgW1NhbWkgS2Vyb2xhXQorcG86CisgICAtIG1lcmdlIGNoYW5nZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBjcy5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1BldHIgUMOtc2HFmV0KKyAgIC0gdXBkYXRlIGRlLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUGhpbGlwcCBUaG9tYXNdCisgICAtIHVwZGF0ZSBlcy5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0FudG9uaW8gQ2ViYWxsb3MgUm9hXQorICAgLSB1cGRhdGUgamEucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtUYWtlc2hpIEhhbWFzYWtpXQorICAgLSB1cGRhdGUgbmwucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXBkYXRlIHBsLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbSmFrdWIgQm9ndXN6XQorICAgLSB1cGRhdGUgc3YucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtTZWJhc3RpYW4gUmFzbXVzc2VuXQorICAgLSB1cGRhdGUgdWsucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtZdXJpIENob3Jub2l2YW5dCisgICAtIHVwZGF0ZSB6aF9DTi5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1d5bG1lciBXYW5nXQorcHlsaWJtb3VudDoKKyAgIC0gaW5jbHVkZSBjLmggIFtLYXJlbCBaYWtdCityYW1jdGw6CisgICAtIGFkZCBzdXBwb3J0IGZvciB6cmFtLWNvbnRyb2wgIFtLYXJlbCBaYWtdCityZXY6CisgICAtIEF2b2lkIGNhbGxpbmcgZnJlZSBpbiBhIHNpZ25hbCBoYW5kbGVyICBbVG9iaWFzIFN0b2Vja21hbm5dCisgICAtIEF2b2lkIG91dCBvZiBib3VuZGFyeSByZWFkICBbVG9iaWFzIFN0b2Vja21hbm5dCitydGN3YWtlOgorICAgLSBhZGQgbm90ZSBhYm91dCBSVEMgbGltaXRzICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHN1cmUgYnVmZmVyIGlzIHplcm8gdGVybWluYXRlZCBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCitzY3JpcHQ6CisgICAtIGF2b2lkIHRyeWluZyBmY2xvc2UoTlVMTCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2hlY2sgc3RhdHVzIG9mIHdyaXRlcyB3aGVuIGNsb3Npbmcgb3V0cHV0cyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbG9zZSBmaWxlIGRlc2NyaXB0b3JzIG9uIGV4ZWMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW1wcm92ZSBjb2Rpbmcgc3R5bGUgYW5kIHRoZSAiZG9uZSIgbWVzc2FnZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGVtcHR5LXNsYXZlIGhldXJpc3RpYyBtb3JlIGNhcmVmdWxseSAgW0thcmVsIFpha10KK3NjcmlwdHJlcGxheToKKyAgIC0gYXZvaWQgcmUtaW1wbGVtZW50aW5nIHN0cnRvZF9vcl9lcnIoKSAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbXByb3ZlIGVycm9yIG1lc3NhZ2UgIFtTYW1pIEtlcm9sYV0KK3NldGFyY2g6CisgICAtIGxldCdzIGtlZXAgYW5hbHl6ZXIgaGFwcHkgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorc2V0cHduYW06CisgICAtIGZpeCBtZW1vcnkgbGVhayAgW1NhbWkgS2Vyb2xhXQorc2V0dGVybToKKyAgIC0gZGUtZHVwbGljYXRlIGNvbG9yIG9wdGlvbiBzdHJpbmcgcGFyc2luZyAgW0thcmVsIFpha10KKyAgIC0gZml4IGRlY2xhcmF0aW9ucyBzaGFkb3dpbmcgdmFyaWFibGVzIGluIHRoZSBnbG9iYWwgc2NvcGUgW29jbGludF0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IHRyYW5zbGF0aW9uIHN0cmluZyAgW1NhbWkgS2Vyb2xhXQorc2ZkaXNrOgorICAgLSBBZGQgLS1zaG93LXB0LWdlb21ldHJ5IGNvbXBhdGliaWxpdHkgY29kZSAgW1N0YW5pc2xhdiBCcmFiZWNdCisgICAtIEFkZCBzdXBwb3J0IGZvciBhbHRlcmluZyBHUFQgc2l6ZSAgW1Nhc3NhbiBQYW5haGluZWphZF0KKyAgIC0gYWRkIC0tbm8tdGVsbC1rZXJuZWwgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXdpcGUtcGFydGl0aW9ucz1hdXRvfG5ldmVyfGRlZmF1bHQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzaG93LXB0LWdlb21ldHJ5IHRvIHVzYWdlKCkgYW5kIHNmZGlzay44ICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGJlZm9yZSBnb2luZyBvdXQgb2Ygc2NvcGUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBleGl0IHdpdGggZXJyb3IgaWYgcmVyZWFkaW5nIHBhcnRpdGlvbiB0YWJsZSBmYWlscyAgW1ZpY3RvciBEb2Rvbl0KKyAgIC0gZnJlZSBiZWZvcmUgZ29pbmcgb3V0IG9mIHNjb3BlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBub24taW50ZXJhY3RpdmUgb3V0cHV0IG1vcmUgcmVhZGFibGUgIFtLYXJlbCBaYWtdCitzbWFydGNvbHMvc3ltYm9sczoKKyAgIC0gZnJlZSBjZWxsX3BhZGRpbmcgaW4gdW5yZWYoKSAgW0lnb3IgR25hdGVua29dCitzdSwgcnVudXNlciwgc2V0cHJpdjoKKyAgIC0gY3JlYXRlIGxpbmtzIGJldHdlZW4gbWFuIHBhZ2VzICBbS2FyZWwgWmFrXQorc3UscnVudXNlcjoKK3N1bG9naW46CisgICAtIGFnZXR0eSAgdXNlIHRoZSBwbHltb3V0aCBsb2NhbCBwcm90b2NvbCBpbnN0ZWFkIHRoZSBwbHltb3V0aCBiaW5hcnkgIFtXZXJuZXIgRmlua10KKyAgIC0gbWFrZSBmb3BlbiBPX0NMT0VYRUMgc3BlY2lmaWVyIHVzYWdlIHBvcnRhYmxlICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBfX25vbm51bGxfXyBmdW5jdGlvbiBhdHRyaWJ1dGUgIFtTYW1pIEtlcm9sYV0KK3N3YXBvZmY6CisgICAtIGZpeCBtZW0gbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCitzd2Fwb246CisgICAtIGZpeCBkaXNjYXJkIG9wdGlvbiBwYXJzaW5nICBbS2FyZWwgWmFrXQorc3dpdGNoX3Jvb3Q6CisgICAtIHNpbXBsaWZ5IGNvZGUgYW5kIHJlZHVjZSBpbmRlbnRhdGlvbiBbb2NsaW50XSAgW1NhbWkgS2Vyb2xhXQorc3lzcHJpdjoKKyAgIC0gZmxpcCBpbnZlcnRlZCBsb2dpYyBbb2NsaW50XSAgW1NhbWkgS2Vyb2xhXQordGFpbGY6CisgICAtIEZpeCBwcmV2aW91c2x5IGFkanVzdGVkIHNlZ2ZhdWx0IHBhdGNoICBbVG9iaWFzIFN0b2Vja21hbm5dCisgICAtIEZpeCBzZWdtZW50YXRpb24gZmF1bHQgaW4gdGFpbGYgb24gMzIgYml0ICBbVG9iaWFzIFN0b2Vja21hbm5dCit0YXNrc2V0OgorICAgLSBjbGFyaWZ5IHRoYXQgbWFza3MgYXJlIGFsd2F5cyBoZXggaW4gbWFuIHBhZ2UgIFtDaHJpcyBNZXRjYWxmXQordGVzdHM6CisgICAtIGZpeCByYWlkMSBtaW5pbXVtIEkvTyBzaXplICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIChjcmFtZnMpIGNoZWNrIGZvciB0ZXN0X3N5c2luZm8gIFtLYXJlbCBaYWtdCisgICAtIEFkZCBoZWxwZXIgZm9yIFRJT0NTVEkgZXhwbG9pdCAgW1N0YW5pc2xhdiBCcmFiZWNdCisgICAtIEFkZCBsb29wLW92ZXJsYXkgdGVzdCAgW1N0YW5pc2xhdiBCcmFiZWNdCisgICAtIEFkZCBsb3NldHVwLWxvb3AgdGVzdCBzdWl0ZSAgW1N0YW5pc2xhdiBCcmFiZWNdCisgICAtIEFsbG93IHJ1bm5pbmcgYSBzaW5nbGUgdGVzdCBjYXNlIGZyb20gdGVzdHMvcnVuLnNoICBbRmlsaXBlIEJyYW5kZW5idXJnZXJdCisgICAtIEZpeCBmZGlzay9pZCBhbmQgZmRpc2svbWJyLW5vbmRvcy1tb2RlIG9uIFNwYXJjICBbSmFtZXMgQ2xhcmtlXQorICAgLSBVc2UgcHJvcGVyIHdvcmQgc3BsaXR0aW5nIHdoZW4gZXhlY3V0aW5nIHRlc3RzICBbRmlsaXBlIEJyYW5kZW5idXJnZXJdCisgICAtIGFkZCBHUFQgYXR0cmlidXRlcyBwYXJzZXIgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBhbm90aGVyIGxpYnNtYXJ0Y29scyB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGFub3RoZXIgc2ZkaXNrIHNjcmlwdCB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNocnQgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNocnQgdnMuIG5pY2UgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNvbHVtbnMgc2VwYXJhdG9yIHRvIGxpYnNtYXJ0Y29scyB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZXhwb3J0IGFuZCByYXcgdG8gbGlic21hcnRjb2xzIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmbG9jayB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxpYnNtYXJ0Y29scyBKU09OIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsaWJzbWFydGNvbHMgdGl0bGUgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxpYnNtYXJ0Y29scyB3cmFwIGFuZCB3cmFwbmwgdHJlZSB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1pc3NpbmcgZXhwZWN0ZWQvIGRpciBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNmZGlzayBUeXBlPSBhbmQgSWQ9IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzZmRpc2sgc2NyaXB0IGNhc2UtaW5zZW5zaXRpdmUgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRyZWUgbGlic21hcnRjb2xzIHRlc3QgZmlsZXMgIFtLYXJlbCBaYWtdCisgICAtIGFsd2F5cyBxdW90ZSAkTE9ERVYgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYXZvaWQgJj4+IGZvciBiYXNoIGNvbXBhdGliaWxpdHkgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gY2FsbCB1bW91bnQgLS1mYWtlIGZvciB0bXBmcyB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gY2hhbGxlbmdlIHV0bXBkdW1wIGxvY2FsaXphdGlvbiBnby1hcm91bmQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2hlY2sgZm9yIG1vdW50KDgpIGluIG1pbml4IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIGZvciB0aW1lb3V0IHByb2cgIFtLYXJlbCBaYWtdCisgICAtIGNvbnNvbGlkYXRlIHJtbW9kIHNjc2lfZGVidWcgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZG9uJ3QgZGVwZW5kIG9uIEdOVSBtZDVzdW0gIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGZvciBub24tbmN1cnNlcyB2ZXJzaW9uICBbS2FyZWwgWmFrXQorICAgLSBmaXggbGlibW91bnQgbG9vcC1vdmVybGF5IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBsb29wLW92ZXJsYXkgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gZml4IGxvc2V0dXAgdGVzdHMgZm9yIC0tbm9vdmVybGFwICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHR5dXRpbHMgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gZml4IHV0bXBkdW1wIHRpbWVzdGFtcHMgdG8gYmUgaW4gaXNvIGZvcm1hdCAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbXBsZW1lbnQgdHNfc2tpcF9zdWJ0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGxpYnNtYXJ0Y29scyB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBrZWVwICdocHBhJyBpbiBmZGlzay9ic2QgdGVzdCB0b28gIFtLYXJlbCBaYWtdCisgICAtIGxldCBsc21vZCBmYWlsIHNpbGVudGx5ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGxldCdzIGZvbGxvdyB0c19zY3NpX2RlYnVnX3JtbW9kICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIGNocnQgdGVzdCBtb3JlIGRlYnVnLWFibGUgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgdGVzdHMgbW9yZSBwb3J0YWJsZSBkdWUgdG8gbXRhYiAgW0thcmVsIFpha10KKyAgIC0gbWFyayBidWlsZC1pbiBwYXRocyB0ZXN0IGFzIG9wdGlvbmFsICBbS2FyZWwgWmFrXQorICAgLSBtYXJrIGNocnQgYXMgVFNfS05PV05fRkFJTCAgW0thcmVsIFpha10KKyAgIC0gbWFyayBjaHJ0IHRlc3RzIGFzIHJvb3Qtb25seSAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBnZXRvcHQgdG8gc2VwYXJhdGUgZGlyZWN0b3J5ICBbS2FyZWwgWmFrXQorICAgLSByZWFsbHkgZml4IGZkaXNrL2JzZCBmb3IgaHBwYSAgW0hlbGdlIERlbGxlcl0KKyAgIC0gcmVmcmVzaCBjYWwoMSkgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIFVTRV9MSUJNT1VOVF9GT1JDRV9NT1VOVElORk8gIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBmaWxlICBbU2FtaSBLZXJvbGFdCisgICAtIHJlcGxhY2Ugc2xlZXAgYnkgdWRldmFkbSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB0ZXN0X21kNSBwcmludHMgbWQ1c3VtIG9ubHkgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gdWRldmFkbSBzZXR0bGUgYmVmb3JlIGxvc2V0dXAgLWQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gdXBkYXRlIGJ1aWxkLXN5cyBleHBlY3RlZCBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBidWlsZC1zeXMgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBzZmRpc2sgb3V0cHV0IHN0cmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIHV0bXBkdW1wIGFkZCBzdWJzZWNvbmQgYWNjdXJhY3kgdGVzdCAgW1NhbWkgS2Vyb2xhXQorICAgLSB3YWl0IGZvciBmbG9jayBiYWNrZ3JvdW5kIHByb2Nlc3MgIFtSdWVkaWdlciBNZWllcl0KK3Rvb2xzOgorICAgLSBhZGQgc2NyaXB0IHRvIGxvYWQgLnBvIGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZyAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBrby1yZWxlYXNlLWdlbiB1c2FibGUgd2l0aCBncGcyICBbS2FyZWwgWmFrXQordHJhdmlzOgorICAgLSBmaXggT1NYLCBnbGlidG9vbGl6ZSBjb3VsZCBub3QgZmluZCBzZWQgIFtSdWVkaWdlciBNZWllcl0KK3RyaXZpYWw6CisgICAtIHMvYXV0b21hdGljYWwvYXV0b21hdGljL2cgIFtJZ29yIEduYXRlbmtvXQorICAgLSB1c2UgdGFicyBjb25zaXN0ZW50bHkgIFtJZ29yIEduYXRlbmtvXQordWw6CisgICAtIEZpeCBidWZmZXIgb3ZlcmZsb3cgIFtUb2JpYXMgU3RvZWNrbWFubl0KK3Vtb3VudDoKKyAgIC0gYWRkIG5vdGUgYWJvdXQgRlMgbmFtZXMgZGlmZmVyZW5jZXMgdG8gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHVtb3VudC44IGFib3V0IG10YWIgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBvYnNvbGV0ZSBpbmZvIGFib3V0IGxvb3A9IGluIHVtb3VudC44ICBbS2FyZWwgWmFrXQordXRtcGR1bXA6CisgICAtIHVzZSBhbHdheXMgVVRDLTAgdGltZXpvbmUgaW4gdGV4dHVhbCBvdXRwdXQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGlzby04NjAxIHRpbWVzdGFtcCBmb3JtYXQgd2l0aCBzdWJzZWNvbmQgYWNjdXJhY3kgIFtTYW1pIEtlcm9sYV0KK3V1aWRkOgorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgcGlkcGlsZSBwYXRoIHZhcmlhYmxlICBbU2FtaSBLZXJvbGFdCit3ZGN0OgorICAgLSBtYXJrIHVzYWdlKCkgYXMgbm9yZXR1cm4gIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KK3dpcGVmczoKKyAgIC0gZm9yY2UgR1BUIGRldGVjdGlvbiAgW0thcmVsIFpha10KK3dyaXRlOgorICAgLSBhZGQgY29udHJvbCBzdHJ1Y3R1cmUgdG8gY2xhcmlmeSB3aGF0IGlzIGdvaW5nIG9uICBbU2FtaSBLZXJvbGFdCisgICAtIGRvbid0IHVzZSBzdHJmdGltZSgpICBbS2FyZWwgWmFrXQorICAgLSBmaXggc2V0dWlkIHJlbGF0ZWQgcmVncmVzc2lvbiAgW1dheW5lIFBvbGxvY2tdCisgICAtIGdldCByaWQgb2YgZnVuY3Rpb24gcHJvdG90eXBlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbXByb3ZlIGNvZGluZyBzdHlsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbXByb3ZlIGZ1bmN0aW9uIGFuZCB2YXJpYWJsZSBuYW1lcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIHRpbWVzdGFtcCB0byBiZSBvYnZpb3VzbHkganVzdCBhIGNsb2NrIHRpbWUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIFBVVEMgbWFjcm8gIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHBvaW50bGVzcyBmaWxlbm8oMykgY2FsbHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IHV0bXAgdmFyaWFibGVzICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSB1bnVzZWQgdmFyaWFibGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcnVuIGF0ZXhpdCgpIGNoZWNrcyBhdCB0aGUgZW5kIG9mIGV4ZWN1dGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBzZXQgYXRpbWUgdmFsdWUgaW4gdGVybV9jaGsoKSBvbmx5IHdoZW4gbmVlZGVkICBbU2FtaSBLZXJvbGFdCisgICAtIHN0b3AgcmVtb3ZpbmcgYW5kIGFkZGluZyAvZGV2LyBpbiBmcm9udCBvZiB0dHkgc3RyaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIHRlbGwgd2hlbiBlZmZlY3RpdmUgZ2lkIGFuZCB0dHkgcGF0aCBncm91cCBtaXNtYXRjaCAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgeHN0cm5jcHkoKSBmcm9tIHN0cnV0aWxzLmggIFtTYW1pIEtlcm9sYV0KKworLSBhZGQgY29udHJvbCBzdHJ1Y3R1cmUgdG8gY2xhcmlmeSB3aGF0IGlzIGdvaW5nIG9uICBbU2FtaSBLZXJvbGFdCistIGRvbid0IHVzZSBzdHJmdGltZSgpICBbS2FyZWwgWmFrXQorLSBmaXggc2V0dWlkIHJlbGF0ZWQgcmVncmVzc2lvbiAgW1dheW5lIFBvbGxvY2tdCistIGdldCByaWQgb2YgZnVuY3Rpb24gcHJvdG90eXBlcyAgW1NhbWkgS2Vyb2xhXQorLSBpbXByb3ZlIGNvZGluZyBzdHlsZSAgW1NhbWkgS2Vyb2xhXQorLSBpbXByb3ZlIGZ1bmN0aW9uIGFuZCB2YXJpYWJsZSBuYW1lcyAgW1NhbWkgS2Vyb2xhXQorLSBtYWtlIHRpbWVzdGFtcCB0byBiZSBvYnZpb3VzbHkganVzdCBhIGNsb2NrIHRpbWUgIFtTYW1pIEtlcm9sYV0KKy0gcmVtb3ZlIFBVVEMgbWFjcm8gIFtTYW1pIEtlcm9sYV0KKy0gcmVtb3ZlIHBvaW50bGVzcyBmaWxlbm8oMykgY2FsbHMgIFtTYW1pIEtlcm9sYV0KKy0gcmVtb3ZlIHVubmVjZXNzYXJ5IHV0bXAgdmFyaWFibGVzICBbU2FtaSBLZXJvbGFdCistIHJlbW92ZSB1bnVzZWQgdmFyaWFibGUgIFtTYW1pIEtlcm9sYV0KKy0gcnVuIGF0ZXhpdCgpIGNoZWNrcyBhdCB0aGUgZW5kIG9mIGV4ZWN1dGlvbiAgW1NhbWkgS2Vyb2xhXQorLSBzZXQgYXRpbWUgdmFsdWUgaW4gdGVybV9jaGsoKSBvbmx5IHdoZW4gbmVlZGVkICBbU2FtaSBLZXJvbGFdCistIHN0b3AgcmVtb3ZpbmcgYW5kIGFkZGluZyAvZGV2LyBpbiBmcm9udCBvZiB0dHkgc3RyaW5nICBbU2FtaSBLZXJvbGFdCistIHRlbGwgd2hlbiBlZmZlY3RpdmUgZ2lkIGFuZCB0dHkgcGF0aCBncm91cCBtaXNtYXRjaCAgW1NhbWkgS2Vyb2xhXQorLSB1c2UgeHN0cm5jcHkoKSBmcm9tIHN0cnV0aWxzLmggIFtTYW1pIEtlcm9sYV0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjkuMS1SZWxlYXNlTm90ZXMgYi9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjI5LjEtUmVsZWFzZU5vdGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFjOWE0MGIKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjI5LjEtUmVsZWFzZU5vdGVzCkBAIC0wLDAgKzEsMTAzIEBACit1dGlsLWxpbnV4IDIuMjkuMSBSZWxlYXNlIE5vdGVzCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK2J1aWxkLXN5czoKKyAgIC0gY2xlYW51cCBVTF9OQ1VSU0VTX0NIRUNLICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBjbGVhbiAqLmltZyBmaWxlcyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggY29tcGlsYXRpb24gd2l0aCBuY3Vyc2VzIGFuZCB1Q2xpYmMgb3IgbXVzbCBsaWJjICBbQ2FybG9zIFNhbnRvc10KKyAgIC0gZml4IGVtcHR5IHBhY2thZ2UgcmVsZWFzZSBudW1iZXIgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcHJlZmVyIHBrZy1jb25maWcgZm9yIG5jdXJzZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBwYWNrYWdlIHJlbGVhc2UgbnVtYmVyIGR1cmluZyBkZXZlbG9wbWVudCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB1c2UgTUFUSF9MSUJTIGZvciBod2Nsb2NrICBbS2FyZWwgWmFrXQorY2hydDoKKyAgIC0gZGVmYXVsdCB0byBTQ0hFRF9SUiBwb2xpY3kgIFtBbmRyZWFzIEhlbnJpa3Nzb25dCitjaHNoOgorICAgLSB1c2UgLWggYXMgc2hvcnRoYW5kIGZvciAtLWhlbHAgaW5zdGVhZCBvZiAtdSAgW0FuZHJlYXMgSGVucmlrc3Nvbl0KK2Rpc2stdXRpbHMvbWtmcy5taW5peDoKKyAgIC0gU2V0IG5pbm9kZXMgYWZ0ZXIgY2hlY2tpbmcgbWF4ICBbTmF0ZSBDbGFya10KK2RvY3M6CisgICAtIGFkZCBjcm9zcyByZWZlcmVuY2UgdG8gbmFtZXNwYWNlcyg3KSAgW01pY2hhZWwgS2VycmlzayAobWFuLXBhZ2VzKV0KKyAgIC0gaW9uaWNlKDEpICBTRUUgQUxTTyAgYWRkIGlvcHJpb19zZXQoMikgIFtNaWNoYWVsIEtlcnJpc2tdCisgICAtIGtpbGwoMSkgIEFkZCBtb3JlIGRldGFpbCBvbiB1c2Ugb2YgU0lHVEVSTSB2cyBTSUdLSUxMICBbTWljaGFlbCBLZXJyaXNrXQorICAgLSBraWxsKDEpICBGaXggc2VjdGlvbiByZWZlcmVuY2UgZm9yIHNpZ3F1ZXVlKDMpIGFuZCBhZGQgdG8gU0VFIEFMU08gIFtNaWNoYWVsIEtlcnJpc2tdCisgICAtIGtpbGwoMSkgIEZvcm1hdHRpbmcgZml4ZXMgIFtNaWNoYWVsIEtlcnJpc2tdCisgICAtIGtpbGwoMSkgIFJld29yayBub3RlcyBvbiB0aHJlYWQgZ3JvdXBzICBbTWljaGFlbCBLZXJyaXNrXQorICAgLSBraWxsKDEpICBXb3JkaW5nIGZpeCAgW01pY2hhZWwgS2Vycmlza10KKyAgIC0gbGFzdCgxKSAgRWxpbWluYXRlIG9kZGJhbGwgZm9ybWF0dGluZyAgW01pY2hhZWwgS2Vycmlza10KKyAgIC0gbGFzdCgxKSAgU0VFIEFMU08gIGFkZCByZWZlcmVuY2UgdG8gd3RtcCg1KSAgW01pY2hhZWwgS2Vycmlza10KKyAgIC0gbHNucyg4KSAgU0VFIEFMU08gIGFkZCBuYW1lc3BhY2VzKDcpICBbTWljaGFlbCBLZXJyaXNrXQorICAgLSBtb3VudCg4KSAgV29yZGluZyBmaXggIFtNaWNoYWVsIEtlcnJpc2tdCisgICAtIG5hbWVpKDEpICBTRUUgQUxTTyAgYWRkIHN5bWxpbmsoNykgIFtNaWNoYWVsIEtlcnJpc2tdCisgICAtIG5zZW50ZXIoMSkgIERlc2NyaWJlIHRoZSAnZmlsZScgYXJndW1lbnQgdXNlZCBieSBuYW1lc3BhY2Ugb3B0aW9ucyAgW01pY2hhZWwgS2Vycmlza10KKyAgIC0gbnNlbnRlcigxKSAgRm9ybWF0dGluZyBmaXggIFtNaWNoYWVsIEtlcnJpc2tdCisgICAtIG5zZW50ZXIoMSkgIGFkZCBtaXNzaW5nICdzZWUgYWxzbycgZm9yIC0tdXNlciAgW0thcmVsIFpha10KKyAgIC0gcmVuaWNlKDEpICBBZGQgU0VFIEFMU08gZW50cnkgZm9yIHNjaGVkKDcpICBbTWljaGFlbCBLZXJyaXNrXQorICAgLSByZW5pY2UoMSkgIEFkZCBjcmVkZW50aWFscyg3KSB0byBTRUUgQUxTTyAgW01pY2hhZWwgS2Vycmlza10KKyAgIC0gcmVuaWNlKDEpICBSZW1vdmUgb2Jzb2xldGUgQlVHUyB0ZXh0ICBbTWljaGFlbCBLZXJyaXNrXQorICAgLSByZW5pY2UoMSkgIFJld29yayBkaXNjdXNzaW9uIG9mIHVucHJpdmlsZWdlZCB1c2VycywgIFtNaWNoYWVsIEtlcnJpc2tdCisgICAtIHRhc2tzZXQoMSkgIFdvcmRpbmcgZml4ICBbTWljaGFlbCBLZXJyaXNrXQorICAgLSB1cGRhdGUgQVVUSE9SUyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgdjIuMjkuMS1SZWxlYXNlTm90ZXMgIFtLYXJlbCBaYWtdCisgICAtIHZhcmlvdXMgcGFnZXMgIEZvcm1hdCBwYXRobmFtZXMgYXMgaXRhbGljICguSSkgIFtNaWNoYWVsIEtlcnJpc2tdCisgICAtIHZhcmlvdXMgcGFnZXMgIFVzZSAiSUQiIG5vdCAiaWQiIGluIG1hbiBwYWdlcyAgW01pY2hhZWwgS2Vycmlza10KKyAgIC0gdmFyaW91cyBwYWdlcyAgVXNlICJQSUQiIG5vdCAicGlkIiBpbiBtYW4tcGFnZXMgIFtNaWNoYWVsIEtlcnJpc2tdCisgICAtIHZhcmlvdXMgcGFnZXMgIFVzZSAic3lzdGVtIGNhbGwiIG5vdCAic3lzY2FsbCIgIFtNaWNoYWVsIEtlcnJpc2tdCisgICAtIHZhcmlvdXMgcGFnZXMgIFVzZSAnVUlEIiBhbmQgIkdJRCIsIG5vdCAidWlkIiBhbmQgImdpZCIgaW4gbWFuIHBhZ2VzICBbTWljaGFlbCBLZXJyaXNrXQorICAgLSB2YXJpb3VzIHBhZ2VzICBVc2UgY29uc2lzdGVudCB0ZXJtaW5vbG9neSAoc2V0LXVzZXItSUQgYW5kIHNldC1ncm91cC1JRCkgIFtNaWNoYWVsIEtlcnJpc2tdCitmZGlzazoKKyAgIC0gZG9uJ3QgYmUgc2lsZW50IHdoZW4gbGlzdCBub24tZXhpc3RpbmcgZGV2aWNlICBbS2FyZWwgWmFrXQorZmluZG1udDoKKyAgIC0gZXJyb3Igb24gLS10YXJnZXQgL25vbi1leGlzdCAgW0thcmVsIFpha10KK2h3Y2xvY2s6CisgICAtIGRvbid0IGNoZWNrIGZvciBwZXJtaXNzaW9ucyAgW0thcmVsIFpha10KK2xpYi9saW51eF92ZXJzaW9uOgorICAgLSBmaXggc3R1cGlkIHR5cG8gIFtLYXJlbCBaYWtdCitsaWJibGtpZC9taW5peDoKKyAgIC0gTWF0Y2ggbWluaXggc3VwZXJibG9jayB0eXBlcyAgW05hdGUgQ2xhcmtdCisgICAtIFNhbml0eSBjaGVjayBzdXBlcmJsb2NrIHNfc3RhdGUgZm9yIHYgMSBhbmQgMiAgW05hdGUgQ2xhcmtdCisgICAtIFVzZSBzYW1lIGNoZWNrcyBmb3IgdmVyc2lvbiAzICBbTmF0ZSBDbGFya10KK2xpYmZkaXNrOgorICAgLSAoZ3B0KSBtYWtlIGNhbGN1bGF0aW9ucyBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KKyAgIC0gcmVjb3VudCBzaXplIHdoZW4gYXBwbHkgdXNlciBkZXZpY2UgcHJvcGVydGllcyAgW0thcmVsIFpha10KK2xpYnNtYXJ0Y29sczoKKyAgIC0gYWRkIHNjb2xzX2NlbGxfZ2V0X2FsaWdubWVudCgpICBbS2FyZWwgWmFrXQorbHNjcHU6CisgICAtIGFkZCBhYXJjaDY0IHNwZWNpZmljIG5hbWVzICBbS2FyZWwgWmFrXQorbHNuczoKKyAgIC0gRml4IHBhcnNlciBmb3IgL3Byb2MvPHBpZD4vc3RhdCB3aGljaCBpcyBpbmNsdWRpbmcgc3BhY2UgaW4gY29tbSAgW09HQVdBIEhpcm9mdW1pXQorbWFuOgorICAgLSBjaGZuKDEpICBhZGQgY2hzaCBhbmQgbG9naW4uZGVmcyB0byBTRUUgQUxTTyAgW0FuZHJlYXMgSGVucmlrc3Nvbl0KKyAgIC0gY2hzaCgxKSAgYWRkIGxvZ2luLmRlZnMgdG8gU0VFIEFMU08gIFtBbmRyZWFzIEhlbnJpa3Nzb25dCittb3JlOgorICAgLSBhdm9pZCBkb3VibGUgZnJlZSgpIG9uIGV4aXQgIFtLYXJlbCBaYWtdCitwbzoKKyAgIC0gbWVyZ2UgY2hhbmdlcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGRhLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbSm9lIEhhbnNlbl0KKyAgIC0gdXBkYXRlIGZyLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbU3TDqXBoYW5lIEF1bGVyeV0KKyAgIC0gdXBkYXRlIHB0X0JSLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUmFmYWVsIEZvbnRlbmVsbGVdCitydW51c2VyOgorICAgLSBhZGQgIi0tIiB0byBTWU5PUFNJUyAgW0thcmVsIFpha10KK3NmZGlzazoKKyAgIC0gY2xlYW51cCAtLWR1bXAgZXJyb3IgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGJlIHNpbGVudCB3aGVuIGxpc3Qgbm9uLWV4aXN0aW5nIGRldmljZSAgW0thcmVsIFpha10KK3N1LCBydW51c2VyOgorICAgLSBmaXggdHlwbyBpbiB0aGUgL2V0Yy9kZWZhdWx0IHBhdGggIFtLYXJlbCBaYWtdCitzdWxvZ2luOgorICAgLSBiYWlsIG91dCBmcm9tIGdldHBhc3N3ZCguLi4pIG9uIHRpbWVvdXQgIFtBbmRyZWFzIEhlbnJpa3Nzb25dCisgICAtIG1ha2UgZ2V0cGFzc3dkKC4uLikgcmV0dXJuIE5VTEwgb24gXkQgIFtBbmRyZWFzIEhlbnJpa3Nzb25dCit0ZXJtLXV0aWxzL3NjcmlwdDoKKyAgIC0gZml4IHR5cG8gbGVhZGluZyB0byBzeW50YXggZXJyb3IgIFtCZXJ0IHZhbiBIYWxsXQordGVzdHM6CisgICAtIChidWlsZC1zeXMpIGRvbid0IGxpbmsgLWxtIGJ5IGRlZmF1bHQgIFtLYXJlbCBaYWtdCisKKy0gQ29ycmVjdGx5IGZvcm1hdCBwYWdlIGNyb3NzIHJlZmVyZW5jZXMgIFtNaWNoYWVsIEtlcnJpc2sgKG1hbi1wYWdlcyldCistIEZpeCBmb3JtYXR0aW5nIGVycm9ycyBpbiBwYWdlIGNyb3NzIHJlZmVyZW5jZXMgIFtNaWNoYWVsIEtlcnJpc2sgKG1hbi1wYWdlcyldCistIEZpeCBwYWdlIGNyb3NzIHJlZmVyZW5jZXMgIFtNaWNoYWVsIEtlcnJpc2sgKG1hbi1wYWdlcyldCistIEZpeCByZWZlcmVuY2UgZm9yIHNjaGVkdWxpbmcgZGlzY3Vzc2lvbiAgW01pY2hhZWwgS2VycmlzayAobWFuLXBhZ2VzKV0KKy0gRml4IHNlY3Rpb24gbnVtYmVyIGluIGxvY2tmKCkgcGFnZSB4cmVmICBbTWljaGFlbCBLZXJyaXNrIChtYW4tcGFnZXMpXQorLSBGaXggdHlwbyBpbiBwYWdlIGNyb3NzIHJlZmVyZW5jZSAoY2FwYWJpbGl0aWVzKDcpLCBub3QsIGNhcGFiaWxpdHkoNykpICBbTWljaGFlbCBLZXJyaXNrIChtYW4tcGFnZXMpXQorLSBJUEMgbmFtZXNwYWNlcyBhbHNvIGlzb2xhdGUgUE9TSVggbWVzc2FnZSBxdWV1ZXMgIFtNaWNoYWVsIEtlcnJpc2sgKG1hbi1wYWdlcyldCistIElmIG10YWIgc3VwcG9ydCBpcyBkaXNhYmxlZCwgZGlzYWJsZSByby9ydyBtdGFiIGNoZWNrcyAgW1N0YW5pc2xhdiBCcmFiZWNdCistIFBsYWNlIFNFRSBBTFNPIGVudHJpZXMgaW4gb3JkZXIgIFtNaWNoYWVsIEtlcnJpc2sgKG1hbi1wYWdlcyldCistIFByb3ZpZGUgYmV0dGVyIGNyb3NzIHJlZmVyZW5jZXMgZm9yIG5hbWVzcGFjZSBjb25jZXB0cyAgW01pY2hhZWwgS2VycmlzayAobWFuLXBhZ2VzKV0KKy0gUmVwbGFjZSByZWZlcmVuY2UgdG8gc2lndmVjKDIpIHdpdGggc2lnYWN0aW9uKDIpICBbTWljaGFlbCBLZXJyaXNrIChtYW4tcGFnZXMpXQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yOS4yLVJlbGVhc2VOb3RlcyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjkuMi1SZWxlYXNlTm90ZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDQ3MWNkNwotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjkuMi1SZWxlYXNlTm90ZXMKQEAgLTAsMCArMSw1NSBAQAordXRpbC1saW51eCAyLjI5LjIgUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCitUaGlzIHJlbGVhc2UgZml4ZXMgc3UoMSkgc2VjdXJpdHkgaXNzdWUgQ1ZFLTIwMTctMjYxNjoKKworICBJdCBpcyBwb3NzaWJsZSBmb3IgYW55IGxvY2FsIHVzZXIgdG8gc2VuZCBTSUdLSUxMIHRvIG90aGVyIHByb2Nlc3NlcyB3aXRoIHJvb3QKKyAgcHJpdmlsZWdlcy4gIFRvIGV4cGxvaXQgdGhpcywgdGhlIHVzZXIgbXVzdCBiZSBhYmxlIHRvIHBlcmZvcm0gc3Ugd2l0aCBhCisgIHN1Y2Nlc3NmdWwgbG9naW4uICBTSUdLSUxMIGNhbiBvbmx5IGJlIHNlbnQgdG8gcHJvY2Vzc2VzIHdoaWNoIHdlcmUgZXhlY3V0ZWQKKyAgYWZ0ZXIgdGhlIHN1IHByb2Nlc3MuICBJdCBpcyBub3QgcG9zc2libGUgdG8gc2VuZCBTSUdLSUxMIHRvIHByb2Nlc3NlcyB3aGljaAorICB3ZXJlIGFscmVhZHkgcnVubmluZy4KKworCisKK2J1aWxkLXN5czoKKyAgIC0gZml4IC0tZGlzYWJsZS1hbGwtcHJvZ3JhbXMgLS1lbmFibGUtc2NoZWR1dGlscyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBkZXRlY3Rpb24gb2YgdGhlICJpc25hbiIgZnVuY3Rpb24gaW4gdUNsaWJjICBbQ2FybG9zIFNhbnRvc10KKyAgIC0gc2ltcGxpZnkgVUxfRU5BQkxFX0FMSUFTKCkgc2VtYW50aWMgIFtLYXJlbCBaYWtdCitjZmRpc2s6CisgICAtIHN1cHBvcnQgVUkgcmVmcmVzaCBvbiBeTCAgW0thcmVsIFpha10KK2RvY3M6CisgICAtIGFkZCBCVUcgUkVQT1JUSU5HIHNlY3Rpb24gdG8gUkVBRE1FICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgQVVUSE9SUyBmaWxlICBbS2FyZWwgWmFrXQorZmluZG1udDoKKyAgIC0gZmx1c2ggc3Rkb3V0IGFmdGVyIGVhY2ggKHVuKShyZSltb3VudCBldmVudCwgd2hlbiBwb2xsaW5nLiAgW1BlZHJvIE1pZ3VlbCBDYXJ2YWxob10KKyAgIC0gdXNlIGxpbmUgc2VwYXJhdG9yIGZvciAtLXBvbGwgb3V0cHV0ICBbS2FyZWwgWmFrXQorZnN0cmltOgorICAgLSBkZS1kdXBsaWNhdGUgYnRyZnMgc3ViLXZvbHVtZXMgIFtTdGFuaXNsYXYgQnJhYmVjXQorbGliL3N0cnV0aWxzOgorICAgLSByZXR1cm4gZW5kIHBvaW50ZXIgYnkgaXNkaWdpdF9zdHJpbmcoKSAgW0thcmVsIFpha10KK2xpYmJsa2lkOgorICAgLSAoZ3B0KSBmaXggZm9yY2UgZmxhZyAgW0thcmVsIFpha10KKyAgIC0gRml4IG91dCBvZiBib3VuZHMgcmVhZHMgb24gYmFkIEdQVCBoZWFkZXIgIFtBbGRlbiBUb25kZXR0YXJdCisgICAtIGZpeCBCTEtJRF9QQVJUU19GT1JDRV9HUFQgdXNhZ2UgIFtLYXJlbCBaYWtdCitsaWJmZGlzazoKKyAgIC0gKGdwdCkgYWRkIGNoZWNrIGZvciBlbnRyaWVzIGFycmF5IHNpemUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBmZGlza19zZXRfd2lwZV9hcmVhKCkgY2FsbHMgIFtLYXJlbCBaYWtdCitsaWJtb3VudDoKKyAgIC0gbWFrZSByb290ZnMgbG9va3VwIGJ5IHBhcmVudC1pZCBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KK2xvZ2dlcjoKKyAgIC0gc3VwcG9ydCBzdWItdHJlZXMgaW4gdGhlIElEIGZvciBSRkM1NDI0ICBbS2FyZWwgWmFrXQorbHNjcHU6CisgICAtIERldGVjdCBXaW5kb3dzIFN1YnN5c3RlbSBmb3IgTGludXggIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBkb24ndCB1c2UgcGF0aF9leGlzdCgpIGJlZm9yZSBwYXRoX2ZvcGVuKCkgIFtLYXJlbCBaYWtdCisgICAtIG1ha2Ugb3NyZWxlYXNlIGZpbGUgb3B0aW9uYWwgIFtLYXJlbCBaYWtdCitwbzoKKyAgIC0gbWVyZ2UgY2hhbmdlcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHB0X0JSLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUmFmYWVsIEZvbnRlbmVsbGVdCitzZmRpc2s6CisgICAtIC0tcXVpZXQgZml4ZXMgIFtLYXJlbCBaYWtdCitzdToKKyAgIC0gcHJvcGVybHkgY2xlYXIgY2hpbGQgUElEICBbS2FyZWwgWmFrXQordGVzdHM6CisgICAtIGFkZCBidWlsZC1zeXMgZW5hYmxlLXNjaGVkdXRpbHMgcmVzdWx0ICBbS2FyZWwgWmFrXQordW1vdW50OgorICAgLSBleGNsdWRlIHNlbGludXhmcyBmcm9tIC0tYWxsICBbS2FyZWwgWmFrXQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9zb3VyY2UtY29kZS1tYW5hZ2VtZW50LnR4dCBiL0RvY3VtZW50YXRpb24vc291cmNlLWNvZGUtbWFuYWdlbWVudC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2IxOTJjNwotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vc291cmNlLWNvZGUtbWFuYWdlbWVudC50eHQKQEAgLTAsMCArMSwyOSBAQAorU0NNIChzb3VyY2UgY29kZSBtYW5hZ2VtZW50KToKKworICAgIGdpdCBjbG9uZSBnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL3V0aWxzL3V0aWwtbGludXgvdXRpbC1saW51eC5naXQgdXRpbC1saW51eAorCitCcmFuY2hlczoKKworICAgICogbWFpbnRlbmFuY2UgKHN0YWJsZSkgYnJhbmNoCisJLSBjcmVhdGVkIGZvciBldmVyeSA8bWFqb3I+LjxtaW5vcj4gcmVsZWFzZQorCS0gYnJhbmNoIG5hbWU6IHN0YWJsZS92PG1ham9yPi48bWlub3I+CisKKyAgICAqIGJ1Z2ZpeCBicmFuY2gKKwktIGNyZWF0ZWQgZm9yIDxtYWpvcj4uPG1pbm9yPi48bWFpbnQ+IHJlbGVhc2UgZm9yCisJICBjcml0aWNhbC9zZWN1cml0eSBidWdzIG9ubHkKKwktIHRoaXMgYnJhbmNoIGlzIG9wdGlvbmFsCisJLSBicmFuY2ggbmFtZTogc3RhYmxlL3Y8bWFqb3I+LjxtaW5vcj4uPG1haW50PgorCisgICAgKiBtYXN0ZXIgYnJhbmNoCisJLSB0aGUgc3RhdHVzIG9mIHRoaXMgYnJhbmNoIGlzOiAiaXQgd29ya3MgZm9yIG1lIi4gSXQKKwkgIG1lYW5zIHVzZWZ1bCBidXQgbm90IHdlbGwgdGVzdGVkIHBhdGNoZXMuCisJLSBpdCdzIHNvdXJjZSBmb3Igb2NjYXNpb25hbCBzbmFwc2hvdHMKKwktIGZvciBsb25nLXRlcm0gZGV2ZWxvcG1lbnQgb3IgaW52YXNpdmUgY2hhbmdlcyBzaG91bGQgYmUKKwkgIGFuIGFjdGl2ZSBkZXZlbG9wbWVudCBmb3JrZWQgaW50byBhIHNlcGFyYXRlIGJyYW5jaAorCSAgKHRvcGljIGJyYW5jaGVzKSBmcm9tIHRoZSB0aXAgb2YgIm1hc3RlciIuCisKKyAgICAqIEEgbmV3IHRhZyBvYmplY3QgaXMgY3JlYXRlZCBmb3I6CisJLSBldmVyeSByZWxlYXNlLCB0YWcgbmFtZTogdjx2ZXJzaW9uPgorCisgICAgKiBLTk9XTiBCVUdTOgorCS0gdGFnIHYyLjEzLjEgaXMgdHlwby4gUGxlYXNlLCBpZ25vcmUgdGhpcyB0YWcuCmRpZmYgLS1naXQgYS9MSUNFTlNFIGIvTElDRU5TRQpuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwLi5kMjQ4NDJmCi0tLSAvZGV2L251bGwKKysrIGIvTElDRU5TRQpAQCAtMCwwICsxIEBACitDT1BZSU5HClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYmZjMjdmCi0tLSAvZGV2L251bGwKKysrIGIvTWFrZWZpbGUuYW0KQEAgLTAsMCArMSwyMjggQEAKK0FNX0NQUEZMQUdTID0gXAorCS1pbmNsdWRlIGNvbmZpZy5oIFwKKwktSSQodG9wX3NyY2RpcikvaW5jbHVkZSBcCisJLURMT0NBTEVESVI9XCIkKGxvY2FsZWRpcilcIiBcCisJLURfUEFUSF9MT0NBTFNUQVRFRElSPVwiJHtsb2NhbHN0YXRlZGlyfVwiCitBTV9DRkxBR1MgPSAtZnNpZ25lZC1jaGFyICQoV0FSTl9DRkxBR1MpCitBTV9MREZMQUdTID0KKworIyBBZGQgZ2V0dGV4dCBzdHVmZiB0byB0aGUgZ2xvYmFsIExEQUREIGZvciBzeXN0ZW1zIHdpdGggc2VwYXJhdGUgbGliaW50bAorIyBsaWJyYXJ5LiBUaGUgTFRMSUJJTlRMIGlzIGdlbmVyYXRlZCBieSBBTV9HTlVfR0VUVEVYVCBtYWNyby4KKyMKK0xEQUREID0gJChMVExJQklOVEwpCisKKyMgQXV0b21ha2UgKGF0IGxlYXN0IHVwIHRvIDEuMTApIG1pc2hhbmRsZXMgZGlzdF9tYW5fTUFOUyBpbnNpZGUgY29uZGl0aW9uYWxzLgorIyBVbmxpa2Ugd2l0aCBvdGhlciBkaXN0IHByaW1hcmllcywgdGhlIGZpbGVzIGFyZSBub3QgZGlzdHJpYnV0ZWQgaWYgdGhlCisjIGNvbmRpdGlvbmFsIGlzIGZhbHNlLgorIyBXb3JrIHRoZSBidWcgYXJvdW5kIHVudGlsIGl0IGlzIGZpeGVkOgorZGlzdF9ub2luc3RfREFUQSA9ICQoZGlzdF9tYW5fTUFOUykKKworIyBQYXRocyB0byBpbi10cmVlIGxpYnJhcmllcyAodXNlIHVsXyBwcmVmaXggdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucykgTm90ZQorIyB0aGF0IGJsa2lkLmgsIGxpYm1vdW50LmgsIGxpYmZkaXNrLmggYW5kIGxpYnNtYXJ0Y29scy5oIGFyZSBnZW5lcmF0ZWQgYW5kCisjIHN0b3JlZCBpbiBidWlsZCBkaXJzLgorIwordWxfbGliYmxraWRfaW5jZGlyID0gJCh0b3BfYnVpbGRkaXIpL2xpYmJsa2lkL3NyYwordWxfbGlibW91bnRfaW5jZGlyID0gJCh0b3BfYnVpbGRkaXIpL2xpYm1vdW50L3NyYwordWxfbGlic21hcnRjb2xzX2luY2RpciA9ICQodG9wX2J1aWxkZGlyKS9saWJzbWFydGNvbHMvc3JjCit1bF9saWJmZGlza19pbmNkaXIgID0gJCh0b3BfYnVpbGRkaXIpL2xpYmZkaXNrL3NyYworCit1bF9saWJ1dWlkX2luY2RpciAgPSAkKHRvcF9zcmNkaXIpL2xpYnV1aWQvc3JjCisKK3BrZ2NvbmZpZ2RpciA9ICQodXNybGliX2V4ZWNkaXIpL3BrZ2NvbmZpZworCitiYXNoY29tcGxldGlvbmRpciA9IEBiYXNoY29tcGxldGlvbmRpckAKKworZGlzdF9ub2luc3RfSEVBREVSUyA9Citub2luc3RfUFJPR1JBTVMgPQorbm9pbnN0X0xUTElCUkFSSUVTID0KK3VzcmJpbl9leGVjX1BST0dSQU1TID0KK3VzcnNiaW5fZXhlY19QUk9HUkFNUyA9CitkaXN0X21hbl9NQU5TID0KK21hbl9NQU5TID0KK3BrZ2NvbmZpZ19EQVRBID0KK3VzcmxpYl9leGVjX0xUTElCUkFSSUVTID0KK2Jpbl9QUk9HUkFNUyA9CitzYmluX1BST0dSQU1TID0KK2Rpc3RfdXNyYmluX2V4ZWNfU0NSSVBUUyA9CitzeXN0ZW1kc3lzdGVtdW5pdF9EQVRBID0KK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSA9CitjaGVja19QUk9HUkFNUyA9CitkaXN0X2NoZWNrX1NDUklQVFMgPQorCitQQVRIRklMRVMgPQorCitJTlNUQUxMX0VYRUNfSE9PS1MgPQorVU5JTlNUQUxMX0hPT0tTID0KK0lOU1RBTExfREFUQV9IT09LUyA9CitDTEVBTl9MT0NBTFMgPQorQ0hFQ0tfTE9DQUxTID0KKworRVhUUkFfRElTVCA9CitDTEVBTkZJTEVTID0KKworU1VCRElSUyA9IHBvCisKK1JDU19GSU5EX0lHTk9SRSA9IFwoIC1uYW1lIFNDQ1MgLW8gLW5hbWUgQml0S2VlcGVyIC1vIC1uYW1lIC5zdm4gLW8gXAorCQktbmFtZSBDVlMgLW8gLW5hbWUgLnBjIC1vIC1uYW1lIC5oZyAtbyAtbmFtZSAuZ2l0IFwpIC1wcnVuZSAtbworCitBQ0xPQ0FMX0FNRkxBR1MgPSAtSSBtNAorCitFWFRSQV9ESVNUICs9IFwKKwkudmVyc2lvbiBcCisJYXV0b2dlbi5zaCBcCisJRG9jdW1lbnRhdGlvbiBcCisJcG8vdXBkYXRlLXBvdGZpbGVzIFwKKwlSRUFETUUubGljZW5zaW5nCisKK2luY2x1ZGUgdG9vbHMvTWFrZW1vZHVsZS5hbQoraW5jbHVkZSBpbmNsdWRlL01ha2Vtb2R1bGUuYW0KK2luY2x1ZGUgbGliL01ha2Vtb2R1bGUuYW0KK2luY2x1ZGUgbGlidXVpZC9NYWtlbW9kdWxlLmFtCitpbmNsdWRlIGxpYmJsa2lkL01ha2Vtb2R1bGUuYW0KK2luY2x1ZGUgbGlibW91bnQvTWFrZW1vZHVsZS5hbQoraW5jbHVkZSBsaWJzbWFydGNvbHMvTWFrZW1vZHVsZS5hbQoraW5jbHVkZSBsaWJmZGlzay9NYWtlbW9kdWxlLmFtCisKK2luY2x1ZGUgc2NoZWR1dGlscy9NYWtlbW9kdWxlLmFtCitpbmNsdWRlIHRleHQtdXRpbHMvTWFrZW1vZHVsZS5hbQoraW5jbHVkZSB0ZXJtLXV0aWxzL01ha2Vtb2R1bGUuYW0KK2luY2x1ZGUgbG9naW4tdXRpbHMvTWFrZW1vZHVsZS5hbQoraW5jbHVkZSBzeXMtdXRpbHMvTWFrZW1vZHVsZS5hbQoraW5jbHVkZSBtaXNjLXV0aWxzL01ha2Vtb2R1bGUuYW0KK2luY2x1ZGUgZGlzay11dGlscy9NYWtlbW9kdWxlLmFtCisKK2luY2x1ZGUgYmFzaC1jb21wbGV0aW9uL01ha2Vtb2R1bGUuYW0KKworaW5jbHVkZSB0ZXN0cy9NYWtlbW9kdWxlLmFtCisKKyMgcHlsaWJtb3VudGV4ZWMgbW9kdWxlIG11c3QgYmUgaW5zdGFsbGVkIGFmdGVyIHVzcmxpYl9leGVjIGxpYnJhcmllcywKKyMgb3RoZXJ3aXNlIHRoZSBsaWJ0b29sIHJlbGluayBzdGVwIHdpbGwgZmFpbCB0byBmaW5kIGxpYm1vdW50LmxhIGFuZAorIyB3aWxsIHRyeSAtbG1vdW50IHdoaWNoIGlzIHBvc3NpYmx5IG5vdCBhdmFpbGFibGUuCisjCisjIFNvIGludHJvZHVjZSB0aGlzIGRlcGVuZGVuY3kgcnVsZToKKyMgaW5zdGFsbC1weWxpYm1vdW50ZXhlY0xUTElCUkFSSUVTOiBpbnN0YWxsLXVzcmxpYl9leGVjTFRMSUJSQVJJRVMKK0B2ZXJiYXRpbV9weWxpYm1vdW50X2RlcGVuZGVuY3lACisKKyMKKyMgRG9uJ3QgcmVseSBvbiBjb25maWd1cmUuYWMgQUNfQ09ORklHX0ZJTEVTIGZvciBpbnN0YWxsIHBhdGhzLgorIworIyBUaGUgcGF0aHMgc2hvdWxkIGJlIGV4cGFuZGVkIGF0IG1ha2UgdGltZSByYXRoZXIgdGhhbiBjb25maWd1cmU6CisjICAtIHRvIHN1cHBvcnQgJ21ha2UgaW5zdGFsbCBwcmVmaXg9L2ZvbyBERVNURElSPS9mb28nCisjICAtIHRvIHJlY3Vyc2l2ZWx5IGV4cGFuZHMgdGhlIHBhdGhzIChlLmcuIEFDX0NPTkZJR19GSUxFUyBleHBhbmRzCisjICAgICdAdXNyc2Jpbl9leGVjZGlyQCcgdG8gJHtleGVjX3ByZWZpeH0vc2JpbicpCisjCitlZGl0X2NtZCA9IHNlZCBcCisJIC1lICdzfEBwcmVmaXhbQF18JChwcmVmaXgpfGcnIFwKKwkgLWUgJ3N8QGV4ZWNfcHJlZml4W0BdfCQoZXhlY19wcmVmaXgpfGcnIFwKKwkgLWUgJ3N8QHN5c2NvbmZkaXJbQF18JChzeXNjb25mZGlyKXxnJyBcCisJIC1lICdzfEBkYXRhZGlyW0BdfCQoZGF0YWRpcil8ZycgXAorCSAtZSAnc3xAc2JpbmRpcltAXXwkKHNiaW5kaXIpfGcnIFwKKwkgLWUgJ3N8QGJpbmRpcltAXXwkKGJpbmRpcil8ZycgXAorCSAtZSAnc3xAaW5jbHVkZWRpcltAXXwkKGluY2x1ZGVkaXIpfGcnIFwKKwkgLWUgJ3N8QGxvY2Fsc3RhdGVkaXJbQF18JChsb2NhbHN0YXRlZGlyKXxnJyBcCisJIC1lICdzfEB1c3JsaWJfZXhlY2RpcltAXXwkKHVzcmxpYl9leGVjZGlyKXxnJyBcCisJIC1lICdzfEB1c3JiaW5fZXhlY2RpcltAXXwkKHVzcmJpbl9leGVjZGlyKXxnJyBcCisJIC1lICdzfEB1c3JzYmluX2V4ZWNkaXJbQF18JCh1c3JzYmluX2V4ZWNkaXIpfGcnIFwKKwkgLWUgJ3N8QFZFUlNJT05bQF18JChWRVJTSU9OKXxnJyBcCisJIC1lICdzfEBBREpUSU1FX1BBVEhbQF18JChBREpUSU1FX1BBVEgpfGcnIFwKKwkgLWUgJ3N8QExJQlVVSURfVkVSU0lPTltAXXwkKExJQlVVSURfVkVSU0lPTil8ZycgXAorCSAtZSAnc3xATElCTU9VTlRfVkVSU0lPTltAXXwkKExJQk1PVU5UX1ZFUlNJT04pfGcnIFwKKwkgLWUgJ3N8QExJQk1PVU5UX01BSk9SX1ZFUlNJT05bQF18JChMSUJNT1VOVF9NQUpPUl9WRVJTSU9OKXxnJyBcCisJIC1lICdzfEBMSUJNT1VOVF9NSU5PUl9WRVJTSU9OW0BdfCQoTElCTU9VTlRfTUlOT1JfVkVSU0lPTil8ZycgXAorCSAtZSAnc3xATElCTU9VTlRfUEFUQ0hfVkVSU0lPTltAXXwkKExJQk1PVU5UX1BBVENIX1ZFUlNJT04pfGcnIFwKKwkgLWUgJ3N8QExJQlNNQVJUQ09MU19WRVJTSU9OW0BdfCQoTElCU01BUlRDT0xTX1ZFUlNJT04pfGcnIFwKKwkgLWUgJ3N8QExJQkZESVNLX1BDX1JFUVVJUkVTW0BdfCQoTElCRkRJU0tfUENfUkVRVUlSRVMpfGcnIFwKKwkgLWUgJ3N8QExJQkZESVNLX1ZFUlNJT05bQF18JChMSUJGRElTS19WRVJTSU9OKXxnJyBcCisJIC1lICdzfEBMSUJGRElTS19NQUpPUl9WRVJTSU9OW0BdfCQoTElCRkRJU0tfTUFKT1JfVkVSU0lPTil8ZycgXAorCSAtZSAnc3xATElCRkRJU0tfTUlOT1JfVkVSU0lPTltAXXwkKExJQkZESVNLX01JTk9SX1ZFUlNJT04pfGcnIFwKKwkgLWUgJ3N8QExJQkZESVNLX1BBVENIX1ZFUlNJT05bQF18JChMSUJGRElTS19QQVRDSF9WRVJTSU9OKXxnJyBcCisJIC1lICdzfEBMSUJCTEtJRF9WRVJTSU9OW0BdfCQoTElCQkxLSURfVkVSU0lPTil8ZycKKworQ0xFQU5GSUxFUyArPSAkKFBBVEhGSUxFUykKK0VYVFJBX0RJU1QgKz0gJChQQVRIRklMRVM6PS5pbikKKworJChQQVRIRklMRVMpOiBNYWtlZmlsZQorCUAgcm0gLWYgJEAgJEAudG1wCisJJChBTV9WX2F0KSAkKE1LRElSX1ApICQkKGRpcm5hbWUgJEApCisJJChBTV9WX0dFTikgc3JjZGlyPScnOyBcCisJCXRlc3QgLWYgLi8kQC5pbiB8fCBzcmNkaXI9JChzcmNkaXIpLzsgXAorCQkkKGVkaXRfY21kKSAkJHtzcmNkaXJ9JEAuaW4gPiRALnRtcAorCUAgbXYgJEAudG1wICRACisKKyMgQXJyYW5nZSBzbyB0aGF0IC50YXJiYWxsLXZlcnNpb24gYXBwZWFycyBvbmx5IGluIHRoZSBkaXN0cmlidXRpb24KKyMgdGFyYmFsbCwgYW5kIG5ldmVyIGluIGEgY2hlY2tlZC1vdXQgcmVwb3NpdG9yeS4KK2Rpc3QtaG9vazoKKwllY2hvICQoVkVSU0lPTikgPiAkKGRpc3RkaXIpLy50YXJiYWxsLXZlcnNpb24KKyMgU2V0IENoYW5nZUxvZyB0YWcgcmVmZXJlbmNlLgorCXNlZCAtaSAicy9sb2cvbG9nO2g9JChWRVJTSU9OKS8iICQoZGlzdGRpcikvQ2hhbmdlTG9nCisKK2Rpc3RjbGVhbi1sb2NhbDoKKwktZmluZCAuIC1uYW1lIFwqfiAtbyAtbmFtZSBcKi5vcmlnIC1vIC1uYW1lIFwqLnJlaiB8IHhhcmdzIHJtIC1mCisJcm0gLXJmIGF1dG9tNHRlLmNhY2hlCisKKworY2hlY2tpbmNsdWRlczoKKwlAZmluZCAqICQoUkNTX0ZJTkRfSUdOT1JFKSBcCisJCS1uYW1lICcqLltoY1NdJyAtdHlwZSBmIC1wcmludCB8IHNvcnQgLXUgXAorCQl8IHhhcmdzICQodG9wX3NyY2RpcikvdG9vbHMvY2hlY2tpbmNsdWRlcy5wbAorCitjaGVja2NvbmZpZzoKKwlAZmluZCAqICQoUkNTX0ZJTkRfSUdOT1JFKSBcCisJCS1uYW1lICcqLltoY1NdJyAtdHlwZSBmIC1wcmludCB8IHNvcnQgLXUgXAorCQl8IHhhcmdzICQodG9wX3NyY2RpcikvdG9vbHMvY2hlY2tjb25maWcuc2ggJCh0b3Bfc3JjZGlyKQorCitjaGVja21hbnM6CisJQCQodG9wX3NyY2RpcikvdG9vbHMvY2hlY2ttYW5zLnNoCisKK2NoZWNreGFsbG9jOgorCUAgJCh0b3Bfc3JjZGlyKS90b29scy9jaGVja3hhbGxvYy5zaAorCitjaGVja2RlY2w6CisJQCAkKHRvcF9zcmNkaXIpL3Rvb2xzL2NoZWNrZGVjbC5zaAorCitjaGVja2NvbXBsZXRpb246CisJQCAkKHRvcF9zcmNkaXIpL3Rvb2xzL2NoZWNrY29tcGxldGlvbi5zaCAkKHRvcF9zcmNkaXIpCisKK0RJU1RDSEVDS19DT05GSUdVUkVfRkxBR1MgPSBcCisJLS1kaXNhYmxlLXVzZS10dHktZ3JvdXAgXAorCS0tZGlzYWJsZS1zaWxlbnQtcnVsZXMgXAorCS0tZW5hYmxlLWFsbC1wcm9ncmFtcyBcCisJLS1lbmFibGUtc3RhdGljLXByb2dyYW1zIFwKKwktLWVuYWJsZS1ndGstZG9jIFwKKwktLXdpdGgtcHl0aG9uIFwKKwktLXdpdGgtYmFzaGNvbXBsZXRpb25kaXI9JCRkY19pbnN0YWxsX2Jhc2UvJChiYXNoY29tcGxldGlvbmRpcikgXAorCS0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0kJGRjX2luc3RhbGxfYmFzZS8kKHN5c3RlbWRzeXN0ZW11bml0ZGlyKQorCitCVUlMVF9TT1VSQ0VTID0gLnZlcnNpb24KKy52ZXJzaW9uOgorCWVjaG8gJChWRVJTSU9OKSA+ICRALXQgJiYgbXYgJEAtdCAkQAorCitDSEFOR0VMT0dfRklMRSA9IHYkKFZFUlNJT04pLUNoYW5nZUxvZworCiskKENIQU5HRUxPR19GSUxFKToKKwlAIGlmIHRlc3QgIngkJFBSRVZJT1VTX1ZFUlNJT04iID09ICJ4IjsgdGhlbiBcCisJCWVjaG8gIlVzYWdlIG1ha2UgY2hhbmdlbG9nIFBSRVZJT1VTX1ZFUlNJT049PHZlcnNpb24+IjsgXAorCQlleGl0IDE7IFwKKwlmaQorCUAgZWNobyAiQ2hhbmdlcyBiZXR3ZWVuIHYkKFBSRVZJT1VTX1ZFUlNJT04pIGFuZCB2JChWRVJTSU9OKSIgPiAkKENIQU5HRUxPR19GSUxFKQorCUAgZWNobyAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iID4+ICQoQ0hBTkdFTE9HX0ZJTEUpCisJQCBlY2hvID4+ICQoQ0hBTkdFTE9HX0ZJTEUpCisJJChBTV9WX0dFTikgZ2l0IGxvZyAtLXN0YXQgdiQoUFJFVklPVVNfVkVSU0lPTikuLkhFQUQgPj4gJChDSEFOR0VMT0dfRklMRSkKKyMKKyMKKyMgc21hdGNoIHNjYW4gLS0gc21hdGNoIGFuZCBjZ2NjIGFyZSBleHBlY3RlZCBpbiAkUEFUSAorIworY2hlY2tzbWF0Y2g6CisJJChNQUtFKSBDSEVDSz0ic21hdGNoIC0tZGF0YT0kKGFic190b3Bfc3JjZGlyKS90b29scy9zbWF0Y2gtZGF0YSIgQ0M9Y2djYworCitjaGFuZ2Vsb2c6ICQoQ0hBTkdFTE9HX0ZJTEUpCisKK2luc3RhbGwtZXhlYy1ob29rOiAkKElOU1RBTExfRVhFQ19IT09LUykKKwordW5pbnN0YWxsLWhvb2s6ICQoVU5JTlNUQUxMX0hPT0tTKQorCitpbnN0YWxsLWRhdGEtaG9vazogJChJTlNUQUxMX0RBVEFfSE9PS1MpCisKK2NsZWFuLWxvY2FsOiAkKENMRUFOX0xPQ0FMUykKKworY2hlY2stbG9jYWw6ICQoQ0hFQ0tfTE9DQUxTKQpkaWZmIC0tZ2l0IGEvTkVXUyBiL05FV1MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODczNGE1NwotLS0gL2Rldi9udWxsCisrKyBiL05FV1MKQEAgLTAsMCArMSwxNzc5IEBACit1dGlsLWxpbnV4IDIuMjkuMjogRmViIDIyIDIwMTcKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjkuMi1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yOS92Mi4yOS4yLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjkuMTogSmFuIDIwIDIwMTcKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjkuMS1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yOS92Mi4yOS4xLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjk6IE5vdiA4IDIwMTYKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjktUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjkvdjIuMjktQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4yOS1yYzI6IE9jdCAxOSAyMDE2CisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjI5LVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjI5L3YyLjI5LXJjMi1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjI5LXJjMTogU2VwIDMwIDIwMTYKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjktUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjkvdjIuMjktcmMxLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjg6IEFwciAxMiAyMDE2CisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjI4LVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjI4L3YyLjI4LUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjgtcmMyOiBNYXIgMjkgMjAxNgorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yOC1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yOC92Mi4yOC1yYzItQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4yOC1yYzE6IE1hciAxMSAyMDE2CisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjI4LVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjI4L3YyLjI4LXJjMS1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjI3OiBTZXAgMDcgMjAxNQorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yNy1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yNy92Mi4yNy1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjI3LXJjMjogQXVnIDI0IDIwMTUKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjctUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjcvdjIuMjctcmMyLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjctcmMxOiBKdWwgMzEgMjAxNQorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yNy1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yNy92Mi4yNy1yYzEtQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4yNjogRmViIDE5IDIwMTUKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjYtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjYvdjIuMjYtQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4yNi1yYzI6IEZlYiA0IDIwMTUKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjYtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjYvdjIuMjYtcmMyLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjYtcmMxOiBKYW4gMTQgMjAxNQorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yNi1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yNi92Mi4yNi1yYzEtQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4yNTogSnVsIDIyIDIwMTQKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjUtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjUvdjIuMjUtQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4yNS1yYzI6IEp1bCAyIDIwMTQKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjUtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjUvdjIuMjUtcmMyLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjUtcmMxOiBKdW4gMTggMjAxNAorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yNS1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yNS92Mi4yNS1yYzEtQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4yNDogT2N0IDIxIDIwMTMKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjQtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjQvdjIuMjQtQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4yNC1yYzI6IE9jdCAxMSAyMDEzCisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjI0LVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjI0L3YyLjI0LXJjMi1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjI0LXJjMTogU2VwIDI3IDIwMTMKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjQtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjQvdjIuMjQtcmMxLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjM6IEFwciAyNSAyMDEzCisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjIzLVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjIzL3YyLjIzLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjMtcmMyOiBBcHIgMTAgMjAxMworKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yMy1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yMy92Mi4yMy1yYzItQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4yMy1yYzE6IE1hciAyMiAyMDEzCisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjIzLVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjIzL3YyLjIzLXJjMS1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjIyOiBTZXAgMDQgMjAxMgorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yMi1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yMi92Mi4yMi1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjIyLXJjMjogQXVnIDE1IDIwMTIKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjItUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjIvdjIuMjItcmMyLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjItcmMxOiBKdWwgMjcgMjAxMgorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yMi1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yMi92Mi4yMi1yYzEtQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4yMTogRmViIDI0IDIwMTIKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjEtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjEvdjIuMjEtQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4yMS1yYzI6IEZlYiAwNiAyMDEyCisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjIxLVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjIxL3YyLjIxLXJjMi1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjIxLXJjMTogSmFuIDE4IDIwMTIKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjEtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjEvdjIuMjEtcmMxLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjA6IEF1ZyAyOSAyMDExCisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjIwLVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjIwL3YyLjIwLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjAtcmMyOiBBdWcgMTcgMjAxMQorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yMC1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yMC92Mi4yMC1yYzItQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4yMC1yYzE6IEp1bCAyOSAyMDExCisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjIwLVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjIwL3YyLjIwLXJjMS1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjE5OiBGZWIgMTAgMjAxMQorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4xOS1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xOS92Mi4xOS1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjE5LXJjMzogSmFuIDI1IDIwMTEKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTktUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTkvdjIuMTktcmMzLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMTktcmMyOiBKYW4gMjUgMjAxMQorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4xOS1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xOS92Mi4xOS1yYzItQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4xOS1yYzE6IEphbiAwNSAyMDExCisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE5LVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE5L3YyLjE5LXJjMS1DaGFuZ2VMb2cKKwordXRpbC1saW51eC1uZyAyLjE4OiBKdW4gMzAgMjAxMAorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4xOC1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xOC92Mi4xOC1DaGFuZ2VMb2cKKwordXRpbC1saW51eC1uZyAyLjE4LXJjMjogSnVuIDE4IDIwMTAKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTgtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTgvdjIuMTgtcmMyLUNoYW5nZUxvZworCit1dGlsLWxpbnV4LW5nIDIuMTgtcmMxOiBKdW4gNyAyMDEwCisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE4LVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE4L3YyLjE4LXJjMS1DaGFuZ2VMb2cKKwordXRpbC1saW51eC1uZyAyLjE3OiBKYW4gOCAyMDEwCisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE3LVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE3L3YyLjE3LUNoYW5nZUxvZworCit1dGlsLWxpbnV4LW5nIDIuMTctcmMzOiBEZWMgMTAgMjAwOQorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4xNy1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xNy92Mi4xNy1yYzMtQ2hhbmdlTG9nCisKK3V0aWwtbGludXgtbmcgMi4xNy1yYzI6IERlYyA5IDIwMDkKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTctUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTcvdjIuMTctcmMyLUNoYW5nZUxvZworCit1dGlsLWxpbnV4LW5nIDIuMTctcmMxOiBOb3YgMjAgMjAwOQorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4xNy1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xNy92Mi4xNy1yYzEtQ2hhbmdlTG9nCisKK3V0aWwtbGludXgtbmcgMi4xNjogSnVsICAyMDA5CisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE2LVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE2L3YyLjE2LUNoYW5nZUxvZworCit1dGlsLWxpbnV4LW5nIDIuMTYtcmMyOiBKdWwgMiAyMDA5CisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE2LVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE2L3YyLjE2LXJjMi1DaGFuZ2VMb2cKKwordXRpbC1saW51eC1uZyAyLjE2LXJjMTogSnVuIDI4IDIwMDkKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTYtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTYvdjIuMTYtcmMxLUNoYW5nZUxvZworCit1dGlsLWxpbnV4LW5nIDIuMTU6IE1heSA1IDIwMDkKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTUtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTUvdjIuMTUtQ2hhbmdlTG9nCisKK3V0aWwtbGludXgtbmcgMi4xNS1yYzI6IEFwciAxNyAyMDA5CisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE1LVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE1L3YyLjE1LXJjMi1DaGFuZ2VMb2cKKwordXRpbC1saW51eC1uZyAyLjE1LXJjMTogTWFyIDE4IDIwMDkKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTUtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTUvdjIuMTUtcmMxLUNoYW5nZUxvZworCit1dGlsLWxpbnV4LW5nIDIuMTQ6IEp1biA5IDIwMDgKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTQtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTQvdjIuMTQtQ2hhbmdlTG9nCisKK3V0aWwtbGludXgtbmcgMi4xNC1yYzM6IE1heSAxOSAyMDA4CisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE0LVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE0L3YyLjE0LXJjMy1DaGFuZ2VMb2cKKwordXRpbC1saW51eC1uZyAyLjE0LXJjMjogQXByIDI4IDIwMDgKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTQtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTQvdjIuMTQtcmMyLUNoYW5nZUxvZworCit1dGlsLWxpbnV4LW5nIDIuMTQtcmMxOiBBcHIgMTYgMjAwOAorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4xNC1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xNC92Mi4xNC1yYzEtQ2hhbmdlTG9nCisKK3V0aWwtbGludXgtbmcgMi4xMzogQXVnIDI4IDIwMDcKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTMtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTMvdjIuMTMtQ2hhbmdlTG9nCisKK3V0aWwtbGludXgtbmcgMi4xMy1yYzM6IEF1ZyA4IDIwMDcKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTMtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTMvdjIuMTMtcmMzLUNoYW5nZUxvZworCit1dGlsLWxpbnV4LW5nIDIuMTMtcmMyOiBKdWwgMTcgMjAwNworKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4xMy1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xMy92Mi4xMy1yYzItQ2hhbmdlTG9nCisKK3V0aWwtbGludXgtbmcgMi4xMy1yYzE6IEp1bCA0IDIwMDcKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTMtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTMvdjIuMTMtcmMxLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMTMtcHJlNworCisqIG1vdW50OiBkZWZhdWx0IHRvIGNpZnMgaW5zdGVhZCBvZiBzbWJmcyBmb3Igc291cmNlcworICAgICAgICAgc3RhcnRpbmcgd2l0aCAvLyAoTGFycyBNdWVsbGVyKQorKiBmbG9jazogZG9jdW1lbnRhdGlvbiB1cGRhdGVzIChILiBQZXRlciBBbnZpbikKKyogbmV3IHRyYW5zbGF0aW9uOiBpZAorKiB1cGRhdGVkIHRyYW5zbGF0aW9uczogZGUsIGl0LCBzbCwgdWsKKwordXRpbC1saW51eCAyLjEzLXByZTYKKworKiBnZXRvcHQ6IHVwZGF0ZWQgdG8gMS4xLjQKKyogcmVwbGFjZWQgYWxsICpsbHNlZWsgdmFyaWFudHMgd2l0aCBsc2VlaworKiBtaXNjIGJ1aWxkIHN5c3RlbSwgY29kZSBhbmQgZG9jcyBjbGVhbnVwcyBhbmQgZml4ZXMKKyogdXBkYXRlZCB0cmFuc2xhdGlvbnM6IGZyLCBpdAorCit1dGlsLWxpbnV4IDIuMTMtcHJlNQorCisqIHtmc2NrLG1rZnN9LmNyYW1mczogdXBkYXRlZCB0byBjcmFtZnMtMS4xCisqIHtmc2NrLG1rZnN9LmNyYW1mczogcmVtb3ZlZCBQQUdFX0NBQ0hFX1NJWkUgdXNhZ2UKKyogdW1vdW50OiBmaXggInVtb3VudCAtbiAtciIgKERlcmljayBTd2FuZXBvZWwpCisqIG1pc2MgYnVpbGQgc3lzdGVtIGFuZCBjb2RlIGNsZWFudXBzIGFuZCBmaXhlcworKiB1cGRhdGVkIHRyYW5zbGF0aW9uOiBjYQorCit1dGlsLWxpbnV4IDIuMTMtcHJlNAorCisqIGRvbid0IGJ1aWxkIGZkaXNrIG9uIG02OGsgKE1pa2UgRnJ5c2luZ2VyKQorKiBtaXNjIGJ1aWxkIHN5c3RlbSBhbmQgZG9jdW1lbnRhdGlvbiBmaXhlcworKiByZW1vdmVkIHByb2dyYW06IGNsZWFyCisKK3V0aWwtbGludXggMi4xMy1wcmUzCisKKyogbWlzYyBidWxkIHN5c3RlbSBmaXhlcworKiBjZmRpc2s6IGZpeCBhIHNlZ2ZhdWx0IHdpdGggUmVpc2VyRlMgcGFydGl0aW9ucworKiB1bW91bnQ6IGRpc2FsbG93IC1yIG9wdGlvbiBmb3Igbm9uLXJvb3QgdXNlcnMKKyogdXBkYXRlZCB0cmFuc2xhdGlvbnM6IGRhLCBmciwgaXQsIG5sLCBydSwgc2wsIHRyCisKK3V0aWwtbGludXggMi4xMy1wcmUyCisKKyogZmxvY2s6IHJlcGxhY2VkIHdpdGggZmxvY2stMi4wLjIgYnkgSC4gUGV0ZXIgQW52aW4KKyogbWlzYyBidWlsZCBzeXN0ZW0gZml4ZXMsIGxpYnRvb2wgaXMgbm8gbG9uZ2VyIHVzZWQKKyogbWlzYyBjb2RlIGZpeGVzCisqIHVwZGF0ZWQgdHJhbnNsYXRpb25zOiBjYSwgZmksIGZyLCBubCwgcnUsIHRyCisKK3V0aWwtbGludXggMi4xMy1wcmUxCisKKyogdXNlIEdOVSBhdXRvY29uZi9hdXRvbWFrZS9saWJ0b29sIGZvciBidWlsZGluZworKiBhZGRlZCBzY2hlZHV0aWxzCisqIHJlbW92ZWQgc3VwcG9ydCBmb3IgY3Vyc2VzIGltcGxlbWVudGF0aW9ucyBvdGhlciB0aGFuIG5jdXJzZXMKKyogcmVtb3ZlZCBwcm9ncmFtczogYXJjaCwgcGFzc3dkLCByZXNjdWVwdCwgc2V0ZmRwcm0sIHNsbgorKiByZW1vdmVkIG1rbWluaXgtMC4xLworKiBtaXNjIGZpeGVzIGFuZCBkb2N1bWVudGF0aW9uIHVwZGF0ZXMKKyogbmV3IHRyYW5zbGF0aW9uOiB2aQorKiB1cGRhdGVkIHRyYW5zbGF0aW9uczogY2EsIGRlLCBmaSwgZnIsIGl0LCBubCwgcnUsIHRyCisKK3V0aWwtbGludXggMi4xMnEKKworKiB1cGRhdGVkIHRyYW5zbGF0aW9uOiBubAorCit1dGlsLWxpbnV4IDIuMTJxLXByZTIKKworKiBzZmRpc2s6IGRvY3VtZW50IC1HIG9wdGlvbiBpbiAtLWhlbHAgb3V0cHV0CisqIHVwZGF0ZWQgdHJhbnNsYXRpb25zOiBjYSwgZXQsIGZyCisKK3V0aWwtbGludXggMi4xMnEtcHJlMQorCisqIG5ldyBtYWludGFpbmVyCisqIHNmZGlzazogYWRkIC1HIG9wdGlvbiAoQW5kcmllcyBCcm91d2VyKQorKiB1cGRhdGVkIHRyYW5zbGF0aW9uczogZGUsIGVzLCBydSwgc3YsIHRyCisKK3V0aWwtbGludXggMi4xMnAKKworKiBjZmRpc2s6IGZpeCBudW1iZXIgb2YgbmV3IHBhcnRpdGlvbiB3aGVuIHBhcnRpdGlvbnMgbm90IGluIGRpc2sgb3JkZXIKKyogZmRpc2s6IGZpeCBTdW4gbGFiZWwgaGFuZGxpbmcgaW4gc2VjdG9yIG1vZGUKKyogbWtmczogbmV2ZXIgdHJ1bmNhdGUgZmlsZW5hbWUgKG5vdCB0aGF0IHRoYXQgZXZlciBoYXBwZW5lZCkKKyogbW9yZTogZml4IHJlZHJhdyBmbGF3CisKK3V0aWwtbGludXggMi4xMm4sbworCisqIGxvbW91bnQ6IHJldmVydCBwYXRjaCBmcm9tIDIuMTJqCisqIGxwdHVuZS44OiAtVCBvcHRpb24gaXMgb2Jzb2xldGUKKyogbWtzd2FwLCBta3N3YXAuOCwgc3dhcG9uOiBzdXBwb3J0IGxhYmVscworICAodXNlIEhBVkVfQkxLSUQ9bm8gYXMgbG9uZyBhcyB0aGUgYmxraWQgbGlicmFyeSBkb2Vzbid0IHN1cHBvcnQgdGhpcykKKyogdW1vdW50OiBhbGxvdyB1c2VyIHVubW91bnRpbmcgcmVwZWF0ZWRseSBtb3VudGVkIG5mcyBtb3VudHMKKwordXRpbC1saW51eCAyLjEybQorCisqIGNmZGlzazogcmVjb2duaXplIEpGUywgc3VwcG9ydCByZWlzZXJmcyBsYWJlbHMgKGZsYXZpby5zdGFuY2hpbmFAdGluLml0KQorKiBtb3VudDogZml4IG9wdGlvbiBwYXJzaW5nIGJ1ZworKiBtb3VudC44OiBzZXZlcmFsIHVwZGF0ZXMKKyogc3dhcG9uLjg6IGRvY3VtZW50IC12IG9wdGlvbgorCit1dGlsLWxpbnV4IDIuMTJsCisKKyogTWFrZWZpbGU6IHJlbW92ZSBjYXQtaWQtdGJsLmMgdXBvbiBtYWtlIGNsZWFuCisqIGZkaXNrOiBmaXhlZCBhIGJ1ZyB0aGF0IHdvdWxkIGNhdXNlIGEgbm9uLXVwZGF0ZSBvZiBhIHN1biBkaXNrbGFiZWwKKyogZmRpc2s6IHVzZSBzZWN0b3JzaXplIGluc3RlYWQgb2YgNTEyIGZvciBTR0kgKEVyaWMgWS4gVGhlcmlhdWx0KQorKiBmZGlzazogdXNlIF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIGZvciBhbHBoYSwgQVJNOiBhdm9pZCB1bmFsaWduZWQgYWNjZXNzZXMKKyogaHdjbG9jazogYWN0dWFsbHkgdXNlIEhBVkVfdG1fZ210b2ZmCisqIHN3YXBvbjogZml4IHByaW9yaXR5IGhhbmRsaW5nCisqIHVtb3VudDogcmVmdXNlIHRvIHVubW91bnQgYW4gZW1wdHkgc3RyaW5nCisKK3V0aWwtbGludXggMi4xMmsKKworKiBjZmRpc2s6IGZpeGVkIGEgc2lnbmVkIGNoYXJhY3RlciBidWcgY2F1c2luZyBwcm9ibGVtcyBmb3IgU3BhbmlzaCB1c2VycworKiBjb25maWd1cmUsIE1DT05GSUc6IGRldGVjdCBnY2MgMy40LjAgYW5kIHVzZSAtbXR1bmUgb3B0aW9uIChNYXR0aGV3IEJ1cmdlc3MpCisqIGNvbmZpZ3VyZTogZG8gbm90IHJ1biAuL2NvbmZ0ZXN0IChmb3IgY3Jvc3MgY29tcGlsYXRpb24pIChOSUlCRSBZdXRha2EpCisqIGZzY2suY3JhbWZzOiB0cnkgdG8gZ2V0IGNvcnJlY3QgUEFHRV9DQUNIRV9TSVpFCisqIGxvc2V0dXA6IHRyeSB0byBnaXZlIGJldHRlciBlcnJvciBtZXNzYWdlcworKiByZWFkcHJvZmlsZTogZGVmYXVsdCBtYXAgZmlsZSBpcyAvYm9vdC9TeXN0ZW0ubWFwCisqIHJkZXYuODogYWRkZWQgaGlzdG9yaWNhbCBpbmZvIG9uIHJhbWRpc2sKKyogTmV3IEZyZW5jaCwgU3BhbmlzaCwgU3dlZGlzaCBhbmQgVHVya2lzaCBtZXNzYWdlcworCit1dGlsLWxpbnV4IDIuMTJqCisKKyogY2FsOiBoaWdobGlnaHQgdG9kYXkgKFDDoWRyYWlnIEJyYWR5KQorKiBsb21vdW50OiBzdG9wIHJlYWRpbmcgcGFzc3dkIGF0IE5VTCwgZml4IGxvX2VuY3J5cHQga2V5X3NpemUgKFdvbGZyYW0gS2xlZmYpCisqIGxvc2V0dXA6IGFkZCAtZiBvcHRpb24gdG8gZmluZCBhbiB1bnVzZWQgbG9vcCBkZXZpY2UKKyAgKEFsZXhhbmRlciBXaWdlbiwgUmVtY28gdmFuIE1vb2spCisqIG1vcmU6IGNvZGUgY2xlYW51cCAoSm9hY2hpbSBIZW5rZSkKKyogbW91bnQ6IGFkZCAiZ3JvdXAiIG1vdW50IG9wdGlvbiAoTWFydGluIERpY2tvcHApCisqIHNmZGlzazogZml4IDIuNi44IEJMS1JSUEFSVCBpb2N0bCBkYW1hZ2UgKEVyaWMgTGFtbWVydHMpCisqIHN3YXBvbjogbGV0IHN3YXBvbiAtYSBza2lwIHRoZSBzd2FwZmlsZXMgbWFya2VkICJub2F1dG8iIChEYWxlIFIuIFdvcmxleSkKKyogdW1vdW50OiBmaXggcHJvYmxlbSB3aXRoIGVtcHR5IG10YWIgKEJyeWFuIEthZHpiYW4pCisqIHVtb3VudDogdXNlIHNwZWNpYWwgdW1vdW50IHByb2dyYW0gaWYgaXQgZXhpc3RzIChSYW0gUGFpKQorKiBOZXcgRGFuaXNoIGFuZCBGcmVuY2ggbWVzc2FnZXMKKwordXRpbC1saW51eCAyLjEyaQorCisqIE1DT05GSUc6IGZpeCBidWlsZCBjb25kaXRpb25zCisqIGNoZm4sIGNoc2g6IGFkZCBlcnJvciBjaGVja2luZworKiBjeXR1bmU6IHVzZSBsb2NhbCBoZWFkZXIgY3ljbGFkZXMuaAorKiBmZGlzazogZml4IGRlZmF1bHQgU0dJIHZvbHVtZSBoZWFkZXIgc2l6ZSAoRXJpYyBTYW5kZWVuKQorKiBmc3RhYi5jOiB1c2Ugc3Ryc2lnbmFsKCkgaW5zdGVhZCBvZiBzeXNfc2lnbGlzdFtdCisqIGh3Y2xvY2s6IHVzZSA8c3lzL2lvLmg+IHdoZW4gYXZhaWxhYmxlIG9uIGkzODYKKyogaHdjbG9jazogZG9uJ3QgdHJ5IEtER0hXQ0xLIG9uIGFyY2hzIG90aGVyIHRoYW4gX19tNjhrX18KKyogc2ZkaXNrOiBjb3JyZWN0IHR5cG8gaW4gX19hdHRyaWJ1dGVfX3VzZWQgbm9uc2Vuc2UKKyogc2ZkaXNrOiB1c2UgUEFDS0VEIG9uIF9fYXJtX18gKEplcm9lbiBEb2JiZWxhZXJlKQorKiBzZmRpc2s6IGZpeCB3YXJuaW5nIHByaW50b3V0CisKK3V0aWwtbGludXggMi4xMmUsZixnLGgKKworKiBjZmRpc2s6IGF2b2lkIGNyYXNoIGlmIG5vIHBhcnRpdGlvbiB0YWJsZQorKiBlbHZ0dW5lOiB0ZWxsIHVzZXIgdGhhdCB0aGlzIG9ubHkgd29ya3Mgb24gMi40IGtlcm5lbHMKKyogbG9tb3VudDogY2xlYXIgcGFzc3dvcmRzIGFmdGVyIHVzZQorKiBtb3VudDogYWNjZXB0IGNvbW1lbnRzIChpbnRyb2R1Y2VkIGJ5IFw7KSBpbiBmc3RhYiAtIHdpdGhkcmF3biBhZ2FpbgorKiBtb3VudDogYWNjZXB0IGNvbW1lbnRzIChzcGVjaWZpZWQgYnkgY29tbWVudD0pIGluIGZzdGFiCisqIG1vdW50OiBzdXBwb3J0IG9jZnMsIG9jZnMyCisqIFt1XW1vdW50OiBiZSBtb3JlIGNhcmVmdWwgd2l0aCBtYWxsb2MsIHRyeSB0byBhdm9pZCBPT00gd2l0aCBtYW55IG1vdW50cworKiBzZmRpc2s6IF9fYXR0cmlidXRlX191c2VkIG5vbnNlbnNlIHRvIHN1cHBvcnQgZ2NjIDMuNAorKiBzaHV0ZG93bjogZG8gbm90IHVubW91bnQgdmFyaW91cyB2aXJ0dWFsIGZpbGVzeXN0ZW1zCisKK3V0aWwtbGludXggMi4xMmMsZAorCisqIG1vdW50Ljg6IGFkZGVkIHJlY2VudCBleHQyIG1vdW50IG9wdGlvbnMKKyogbW91bnQ6IHN1cHBvcnQgamZzIG1vdW50LWJ5LWxhYmVsLCBpbXByb3ZlIHJlaXNlcmZzIHN1cHBvcnQKKyogc2ZkaXNrOiByZW1vdmUgc3RyYW5nZSAiZW5kcyBpbiBhIGRpZ2l0IiBoZXVyaXN0aWMKKyogKmZkaXNrOiB1c2UgY29tbW9uIGRpc2tzaXplKCkgcm91dGluZQorCit1dGlsLWxpbnV4IDIuMTJiCisKKyogY2hzaDogaW1wcm92ZWQgZXJyb3IgbWVzc2FnZQorKiBkbWVzZzogYXNrIGtlcm5lbCBwcm9wZXIgYnVmZmVyIHNpemUKKyogbG9zZXR1cDogaGFuZGxlIDY0LWJpdCBvZmZzZXRzCisqIGJsb2NrZGV2OiBhbHNvIHJlcG9ydCBCTEtHRVRTSVpFNjQgcmVzdWx0CisqIGJsb2NrZGV2LCBlbHZ0dW5lLCBmZGlzazogaGFuZGxlIG5ldyBrZXJuZWwgX0lPUixfSU9XIGRlZmluZXMKKyogZmRpc2s6IHJlbW92ZSBzdHJhbmdlICJlbmRzIGluIGEgZGlnaXQiIGhldXJpc3RpYworKiBmZGlzazogYWxzbyBsaXN0IFNvbGFyaXMgYXMgcG9zc2libGUgdHlwZSBmb3IgMHg4MgorKiBtb3VudDogYWRkZWQgLS1yYmluZCBvcHRpb24KKyogbW91bnQ6IHVzZSBibGtpZCwgdXVpZCBsaWJyYXJpZXMgd2hlbiBhdmFpbGFibGUKKyogbW91bnQ6IHN1cHBvcnQgcmVpc2VyZnMgbW91bnQgYnkgbGFiZWwKKyogbW91bnQ6IGF0dGVtcHQgdG8gdXNlIHRoZSByaWdodCBkZWZpbml0aW9uIG9mIGRldl90IGluIHN0cnVjdCBsb29waW5mbworKiBtb3VudC44OiBqZnMgbW91bnQgb3B0aW9ucyBhZGRlZAorKiByZWFkcHJvZmlsZTogbmV3IC1zIG9wdGlvbgorKiByZW5hbWUuMTogYWRkZWQgcmVmIHRvIG1tdi4xCisqIHJlcGxheTogcmVuYW1lZCB0byBzY3JpcHRyZXBsYXk7IGNvcnJlY3QgdHlwb3MKKyogc2NyaXB0OiBkbyBub3QgdXNlIGxvY2FsZSBmb3IgdGltZSBkZWxheSBmbG9hdGluZyBwb2ludCBudW1iZXIgZm9ybWF0CisqIHNmZGlzazogZXJyb3IgbWVzc2FnZXMgdG8gc3RkZXJyCisqIE5ldyBDYXRhbGFuLCBEdXRjaCwgRmlubmlzaCwgRnJlbmNoLCBHZXJtYW4sIFNwYW5pc2gsIFN3ZWRpc2gsIFR1cmtpc2gsCisgIFVrcmFpbmlhbiBtZXNzYWdlcworCit1dGlsLWxpbnV4IDIuMTJhCisKKyogY2hmbiwgY2hzaCwgbG9naW4sIHZpcHc6IFNFbGludXggc3VwcG9ydAorKiBmZGlzazogZml4IGZvciBrZXJuZWxzIDIuNC4xNS0yLjQuMTcKKyogZmRpc2s6IGZpeCB3aGVuIGFsbCBwYXJ0aXRpb25zIGFyZSBpbiB1c2UKKyogaHdjbG9jazogYWRkIGEgdGltZW91dCB3aGVuIHdhaXRpbmcgZm9yIGEgY2xvY2sgdXBkYXRlIChHw7ZyYW4gV2VpbmhvbHQpCisqIGlwY3M6IGNvbXBpbGF0aW9uIGZpeAorKiBpcGNzOiBzaG1pbmZvLnNobWFsbCBnaXZlcyBwYWdlcworKiBsb2dpbjogdXNlIGdldHV0bGluZSgpIGluc3RlYWQgb2YgZ2V0dXRpZCgpCisqIGxvZ2luOiBmaXggZm9yIDY0LWJpdCB0aW1lX3QKKyogbW91bnQ6IGVmcyBzdXBwb3J0CisqIHBhcnR4OiBiaWdlbmRpYW4gZml4CisqIHJlYWRwcm9maWxlOiBzdXBwb3J0IGZvciA2NC1iaXQgYWRkcmVzc2VzCisqIHNldHRlcm06IGZpeCBrbG9nY3RsIGVycm9yIG1lc3NhZ2UgKEpvZXJuIEhlaXNzbGVyKQorKiBzZXR0ZXJtLjE6IGNsYXJpZmljYXRpb24KKyogc2ZkaXNrOiBmaXggY2hlY2sgZm9yIGlzX2lkZV9jZHJvbV9vcl90YXBlCisqIHVtb3VudDogc2tpcCBwcm9jLCBkZXZmcywgZGV2cHRzIG9uIHVtb3VudCAtYQorCit1dGlsLWxpbnV4IDIuMTIKKworKiBsb3NldHVwOiBjcnlwdG9sb29wIHN1cHBvcnQKKyogbG9zZXR1cDogLXAgb3B0aW9uIHNwZWNpZmllcyBmZCBmb3IgcGFzc3BocmFzZQorKiBmZGlzazogc2dpIGxheW91dCBmaXgKKyogbW91bnQ6IC1wIG9wdGlvbiBzcGVjaWZpZXMgZmQgZm9yIHBhc3NwaHJhc2UKKyogbW91bnQ6IHJlY29nbml6ZSBzb21lIFBDRE9TIGZsb3BwaWVzCisqIHVtb3VudDogaW4gInVtb3VudCBuYW1lIiwgZmlyc3QgdHJ5IHRvIGludGVycHJldCAibmFtZSIgYXMgYSBtb3VudCBwb2ludAorCit1dGlsLWxpbnV4IDIuMTJwcmUKKworKiBDYXRhbGFuIG1lc3NhZ2VzIChBbnRvbmkgQmVsbGEgUMOpcmV6KQorKiBEYW5pc2ggbWVzc2FnZXMgKENsYXVzIEhpbmRzZ2F1bCkKKyogRHV0Y2ggbWVzc2FnZXMgKFRhY28gV2l0dGUpCisqIEZpbm5pc2ggbWVzc2FnZXMgKExhdXJpIE51cm1pKQorKiBGcmVuY2ggbWVzc2FnZXMgKE1pY2hlbCBSb2JpdGFpbGxlKQorKiBHZXJtYW4gbWVzc2FnZXMgKE1pY2hhZWwgUGllZmVsKQorKiBTbG92ZW5pYW4gbWVzc2FnZXMgKFByaW1vxb4gUGV0ZXJsaW4pCisqIFNwYW5pc2ggbWVzc2FnZXMgKFNhbnRpYWdvIFZpbGEgRG9uY2VsKQorKiBTd2VkaXNoIG1lc3NhZ2VzIChDaHJpc3RpYW4gUm9zZSkKKyogVHVya2lzaCBtZXNzYWdlcyAoTmlsZ8O8biBCZWxtYSBCdWfDvG5lcikKKyogY2ZkaXNrOiBsb2NhbGl6ZSB0aGUgWS9OIGFuc3dlciwgaW1wcm92ZSBwcmludGluZyBsb2NhbGl6ZWQgbWVzc2FnZXMKKyogY2ZkaXNrOiBtYWtlIHZhcmlvdXMgdmFyaWFibGVzIGxvbmcgbG9uZyAtIHNvbWUgZGlza3MgYXJlIGNsb3NlIHRvIDIgVEIKKyogY2ZkaXNrOiB1c2UgQkxLR0VUU0laRTY0CisqIGZkaXNrOiBtYWtlIHZhcmlvdXMgdmFyaWFibGVzIHVuc2lnbmVkIHRvIGxlbmd0aGVuIHRoZSBsaWZlIG9mIDMyLWJpdCB2YXJzCisqIGZkaXNrOiBzb21lIHNnaSBmaXhlcyAoUGhpbGxpcCBLZXNsaW5nKQorKiBmZGlzazogaz0xMDAwLCBLPTEwMjQKKyogZmRpc2s6IHJlbW92ZWQgbGFzdCBvY2N1cnJlbmNlcyBvZiBIRElPX1JFUQorKiBmZGlzazogdXNlIEJMS0dFVFNJWkU2NAorKiBod2Nsb2NrOiBmaXggcnRjIHRlc3QgKEhlaWtvIFp1ZXJrZXIpCisqIGxvZ2luOiBzZXQgYSB0aW1lb3V0IG9uIHByaW50aW5nIHRoZSB0aW1lb3V0IG1lc3NhZ2UgKFJvYmVydCBBbWJyb3NlKQorKiBtZDU6IHg4Nl82NCBmaXggKG1taikKKyogbW9yZTogUE9TSVggZml4ZXMKKyogbW91bnQ6IGRvIG5vdCBzdXBwbHkgTVNfTUdDX1ZBTCB3aGVuIHRoZXJlIGFyZSBjb25mbGljdGluZyBmbGFncworKiBtb3VudDogbmNwIGFuZCBzbWIgYXJlIGNhbGxlZCBzbWJmcyBhbmQgbmNwZnMgLSBnbG9iYWwgY2hhbmdlCisqIG1vdW50OiBhZGQgc3VwcG9ydCBmb3IgeHZtIG1vdW50IGJ5IGxhYmVsIChFcmljIFNhbmRlZW4pCisqIG1vdW50OiBjb3JyZWN0IGhmcyBtYWdpYyByZWNvZ25pdGlvbgorKiBtb3VudDoga2VlcCBvcmlnaW5hbCB1bWFzayAtIGl0IGluZmx1ZW5jZXMgdGhlIG1vdW50IGNhbGwgKG1taikKKyogcmF3Ljg6IGRvY3VtZW50ZWQgdW5iaW5kaW5nIG9mIHJhdyBkZXZpY2VzCisqIHJlYWRwcm9maWxlOiBmaXhlZCBvZmYtYnkgZWlnaHQgZXJyb3IgKFdlcm5lciBBbG1lc2JlcmdlcikKKyogc2NyaXB0OiBhZGQgLWMgb3B0aW9uIChXYXluZSBEYXZpc29uKQorKiBzZmRpc2suODogYWRkZWQgYW4gZXhhbXBsZSBvZiBwYXJ0aXRpb25pbmcgd2l0aCBsb2dpY2FsIHBhcnRpdGlvbnMKKyogc2ZkaXNrOiBvbmx5IGFkZCBhIEFBNTUgc2lnbmF0dXJlIGZvciBET1MtdHlwZSBwYXJ0aXRpb24gdGFibGVzCisqIHRhaWxmOiBuZXcgKFJpayBGYWl0aCkKKwordXRpbC1saW51eCAyLjExegorCisqIENhdGFsYW4gbWVzc2FnZXMgKEFudG9uaSBCZWxsYSBQw6lyZXopCisqIERhbmlzaCBtZXNzYWdlcyAoQ2xhdXMgSGluZHNnYXVsKQorKiBEdXRjaCBtZXNzYWdlcyAoVGFjbyBXaXR0ZSkKKyogRmlubmlzaCBtZXNzYWdlcyAoTGF1cmkgTnVybWkpCisqIEZyZW5jaCBtZXNzYWdlcyAoTWljaGVsIFJvYml0YWlsbGUpIC0gSFVSUkFZIQorKiBHZXJtYW4gbWVzc2FnZXMgKE1pY2hhZWwgUGllZmVsKQorKiBTbG92ZW5pYW4gbWVzc2FnZXMgKFByaW1vxb4gUGV0ZXJsaW4pCisqIFNwYW5pc2ggbWVzc2FnZXMgKFNhbnRpYWdvIFZpbGEgRG9uY2VsKQorKiBTd2VkaXNoIG1lc3NhZ2VzIChDaHJpc3RpYW4gUm9zZSkKKyogVHVya2lzaCBtZXNzYWdlcyAoTmlsZ8O8biBCZWxtYSBCdWfDvG5lcikKKyogZ2V0b3B0OiByZXBsYWNlZCBnZXRvcHQtMS4xLjIgYnkgZ2V0b3B0LTEuMS4zIChGcm9kbyBMb29pamFhcmQpCisqIG1rY3JhbWZzOiBjaGFuZ2UgZGVmYXVsdCBibG9ja3NpemUgZm9yIGlhNjQgYW5kIGFscGhhCisqIG1vcmUuaGVscDogcmVtb3ZlZCAoaXQgaXMgYnVpbHQtaW4gbm93LCBhbmQgdHJhbnNsYXRlZCkKKyogbW91bnQ6IGFkZCAtaSBvcHRpb24gKGluaGliaXQgY2FsbGluZyBleHRlcm5hbCBtb3VudCBwcm9ncmFtcykKKyogbW91bnQ6IGNoYW5nZSBkZWZhdWx0OiBkbyByZXNvbHZlIHN5bWxpbmtzCisqIHJlYWRwcm9maWxlOiBsb29rIGZvciBTeXN0ZW0ubWFwIGFsc28gaW4gL2Jvb3QvU3lzdGVtLm1hcC1gdW5hbWUgLXJgIChtbWopCisqIHNmZGlzazogYWxzbyB0cmFuc2xhdGUgInN0YXJ0IiBhbmQgImVuZCI7IHMvTUIvTWlCLworCit1dGlsLWxpbnV4IDIuMTF5CisKKyogRGFuaXNoIG1lc3NhZ2VzIChDbGF1cyBIaW5kc2dhdWwpCisqIEZpbm5pc2ggbWVzc2FnZXMgKExhdXJpIE51cm1pKQorKiBHZXJtYW4gbWVzc2FnZXMgKE1pY2hhZWwgUGllZmVsKQorKiBTcGFuaXNoIG1lc3NhZ2VzIChTYW50aWFnbyBWaWxhIERvbmNlbCkKKyogU3dlZGlzaCBtZXNzYWdlcyAoQ2hyaXN0aWFuIFJvc2UpCisqIGNmZGlzazogaW1wcm92ZSBlc2NhcGUgc2VxIHJlY29nbml0aW9uIHdoZW4gY29tcGlsZWQgd2l0aCBzbGFuZworKiBmZGlzazogZGVjaW1hbCB1bml0cworKiBod2Nsb2NrL3J0Yy5jOiBtaW5vciBjbGVhbnVwIChKb2FjaGltIEhlbmtlKQorKiBpcGNzOiBjb21waWxhdGlvbiBmaXgKKyogbW9yZToga2lsbCBleHRlcm5hbCBoZWxwIGZpbGUgKEpvYWNoaW0gSGVua2UpCisqIG1vdW50OiBmaXggTEFCRUw9IGhhbmRsaW5nIGZvciB1c2VyIHVtb3VudAorKiBtb3VudDogZG9uJ3QgYWJvcnQgb24gcmVhZCBlcnJvciBvbiBwaG90b2NkcyAoR3nDtnJneSBLw7Z2ZXNkaSkKKyogbW91bnQuODogYWRkIGRtYXNrIGFuZCBmbWFzayB2ZmF0IG1vdW50IG9wdGlvbnMKKyogcGc6IGNvbXBpbGF0aW9uIGZpeCAoSm9hY2hpbSBIZW5rZSkKKyogc2NyaXB0OiBsb2NhbGl6ZWQgdGltZSBzdHJpbmdzIChHw7ZyYW4gVWRkZWJvcmcpCisqIHNldHRlcm06IGFjY2VwdCBkZXZmcyBuYW1lIChKb2FjaGltIEhlbmtlKQorKiBzaW1wbGVpbml0OiBzZWN1cml0eTogcmVmdXNlIGluaXRjdGxfZmQgaWYgc2V0dGluZyBGRF9DTE9FWEVDIGZhaWxzCisqIHVtb3VudDogYWxsb3cgdXNlciB1bW91bnQgYWZ0ZXIgbW91bnQgYnkgbGFiZWwgb3IgdXVpZAorCit1dGlsLWxpbnV4IDIuMTF4CisKKyogRGFuaXNoIG1lc3NhZ2VzIChDbGF1cyBIaW5kc2dhdWwpCisqIER1dGNoIG1lc3NhZ2VzIChUYWNvIFdpdHRlKQorKiBGaW5uaXNoIG1lc3NhZ2VzIChMYXVyaSBOdXJtaSkKKyogR2VybWFuIG1lc3NhZ2VzIChNaWNoYWVsIFBpZWZlbCkKKyogU3dlZGlzaCBtZXNzYWdlcyAoQ2hyaXN0aWFuIFJvc2UpCisqIFR1cmtpc2ggbWVzc2FnZXMgKE5pbGfDvG4gQmVsbWEgQnVnw7xuZXIpCisqIGNmZGlzazogY29ycmVjdCBlcnJvciBwcmludG91dAorKiBmZGlzazogYWxsb3cgYWRkaXRpb24gb2YgYSBuZXcgcGFydGl0aW9uIHdoZW4gbG9naWNhbHMgYWxsIHVzZWQKKyAgYnV0IHByaW1hcnkgZnJlZQorKiBod2Nsb2NrOiBkZXRlY3Qgc3lzdGltZSBqdW1wcyBiYWNrd2FyZCBkdXJpbmcgc2V0dGluZyBod2Nsb2NrCisqIG1rZnMuY3JhbWZzOiBkbyBub3QgbW1hcCBhbGwgZmlsZXMgc2ltdWx0YW5lb3VzbHkKKyogbWtmcy5jcmFtZnM6IG1ha2UgYmxvY2tzaXplIHNldHRhYmxlCisqIG1rZnMubWluaXg6IGNvcnJlY3QgZXJyb3IgcHJpbnRvdXQKKyogbWtzd2FwLjg6IG5vdyBtYXggMzIgc3dhcHNwYWNlcworKiBtb3VudDogbmV3IC0tcmJpbmQgZmxhZywgZm9yIHJlY3Vyc2l2ZSBsb29wYmFjayBtb3VudHMKKyogbW91bnQsIHVtb3VudDogbmV3IC1PIG9wdGlvbiAoTWljaGFlbCBLLiBKb2huc29uKQorKiBtb3VudC44OiAtTyBhbmQgd2luOTUgb3B0aW9ucyBkb2N1bWVudGVkCisqIHNldHB3bmFtLmM6IG9wZW4gdGVtcCBwdyBmaWxlIHdpdGggT19FWENMCisqIHNpbXBsZWluaXQ6IGZpeCBmb3IgInNwYXduIHRvbyBmYXN0IiAoRGVuaXMgVmxhc2Vua28pCisqIHN3YXBvbjogbmV3IC1lIG9wdGlvbiAoRXJpayBUcm9hbikKKwordXRpbC1saW51eCAyLjExdworCisqIGNmZGlzaywgZmRpc2s6IGFsbG93IHNsaWdodGx5IGxhcmdlciBkaXNrIHNpemVzCisqIGZkaXNrOiBNYWtlZmlsZTogYWxzbyBmb3IgbTY4IChzdW4zKSAoS2FqLU1pY2hhZWwgTGFuZykKKyogZmRpc2s6IGFsbG93IHRvIHVzZSB0aGUgbGFzdCBwYXJ0aWFsIGN5bGluZGVyLCBjaGFuZ2UgZGlzcGxheSBmb3JtYXQKKyogZmRpc2s6IGRvIG5vdCBhc2sgcGFydGl0aW9uIG51bWJlciBpbiBjYXNlIHRoZXJlIGlzIG9ubHkgb25lIGNob2ljZQorKiBmZGlzazogbmV3IHN1bmxhYmVsIGZpeAorKiBsb2dpbjogZml4IHBvc3NpYmxlIGxvY2FsIHJvb3QgZXhwbG9pdCAoV29qY2llY2ggUHVyY3p5xYRza2kpCisqIG1vcmU6IGJpZ2VuZGlhbiBmaXgKKwordXRpbC1saW51eCAyLjExdgorCisqIENhdGFsYW4gbWVzc2FnZXMgKEFudG9uaSBCZWxsYSBQw6lyZXopCisqIEZpbm5pc2ggbWVzc2FnZXMgKExhdXJpIE51cm1pKQorKiBWZXJ5IGZldyBSdXNzaWFuIG1lc3NhZ2VzIChwYW5pdmFuQHlhbmRleC5ydSkKKyogU2xvdmVuaWFuIG1lc3NhZ2VzIChQcmltb8W+IFBldGVybGluKQorKiBTcGFuaXNoIG1lc3NhZ2VzIChTYW50aWFnbyBWaWxhIERvbmNlbCkKKyogU3dlZGlzaCBtZXNzYWdlcyAoQ2hyaXN0aWFuIFJvc2UpCisqIFR1cmtpc2ggbWVzc2FnZXMgKE5pbGfDvG4gQmVsbWEgQnVnw7xuZXIpCisqIGZkaXNrOiBhZGQgLUMsIC1ILCAtUyBjb21tYW5kIGxpbmUgb3B0aW9ucworKiBmZGlzazogYWxsb3cgY2hhbmdpbmcgdHlwZSAwCisqIG1rc3dhcDogZW5hYmxlIHVzZSBvZiA+IDJHQiBzd2Fwc3BhY2UKKyogbW9yZTogdHJhbnNsYXRpb24gZml4CisqIG1vdW50OiBzZXQgdW1hc2sgKFNlYmFzdGlhbiBLcmFobWVyKQorKiBtb3VudDogdGVzdCBib3RoIGxlIGFuZCBiZSB2ZXJzaW9uIG9mIGNyYW1mcyBtYWdpYyAoT2xhZiBIZXJpbmcpCisqIG1vdW50OiByZWNvZ25pemUgT3JhY2xlIG1hZ2ljCisqIHBnOiB1c2UgZnNlZWtvNjQgYW5kIGZ0ZWxsbzY0IHdoZW4gYXZhaWxhYmxlCisKK3V0aWwtbGludXggMi4xMXUKKworKiBEYW5pc2ggbWVzc2FnZXMgKENsYXVzIEhpbmRzZ2F1bCkKKyogR2VybWFuIG1lc3NhZ2VzIChNaWNoYWVsIFBpZWZlbCkKKyogU3BhbmlzaCBtZXNzYWdlcyAoU2FudGlhZ28gVmlsYSBEb25jZWwpCisqIFN3ZWRpc2ggbWVzc2FnZXMgKENocmlzdGlhbiBSb3NlKQorKiBUdXJraXNoIG1lc3NhZ2VzIChOaWxnw7xuIEJlbG1hIEJ1Z8O8bmVyKQorKiBjb25maWd1cmU6IGZvciBmc2NrLmNyYW1mcywgbWtmcy5jcmFtZnM6IGFkZCB0ZXN0IGZvciBsaWJ6CisqIHRleHQtdXRpbHMvTWFrZWZpbGU6IHBnIGZpeCAoVG9vbWFzIFJvc2luKQorKiBwby9NYWtlZmlsZTogdHlwbyBmaXggKFNpbHZhbiBNaW5naGV0dGkpCisqIGFnZXR0eTogdXNlIHNhbWUgdGVzdCBhcyBsb2dpbiBkb2VzIHRvIGZpbmQgdXRtcCBlbnRyeQorKiBmZGlzazogZml4IGZvciBmZGlzayBvbiBlbXB0eSBkaXNrIChNaWNoYWVsIEQuIEJsYWNrKQorKiBod2Nsb2NrOiBjb21waWxhdGlvbiBmaXggb24gYWxwaGEKKyogbW91bnQ6IGFkZCBtb3VudCBieSBsYWJlbCBmb3IgamZzIChDaHJpc3RvcGggSGVsbHdpZykKKyogbW91bnQ6IGFkZCBtb3VudCBieSBsYWJlbCBmb3IgZXZtcyAoTHVjaWFubyBDaGF2ZXopCisqIG1vdW50OiBhbGxvdyByZWd1bGFyIGZpbGVzIHdoZW4gZ3Vlc3NpbmcgKE1pY2hhbCBTdmVjKQorKiBwYXJ0eC9ncHQuYzogZml4IHNpemUgY29tcHV0YXRpb24gKE1hdHQgRG9tc2NoKQorKiByZWFkcHJvZmlsZTogbmV3IG9wdGlvbiAtYiAoRGF2aWQgTW9zYmVyZ2VyKQorKiB1bW91bnQ6IGRvbid0IHVtb3VudCBkZXZmcyB1cG9uIHVtb3VudCAtYSAoRGF2aWQgR2lsYmVydCkKKwordXRpbC1saW51eCAyLjExdAorCisqIGZkZm9ybWF0OiByZW1vdmUgdGVzdCBvbiBtYWpvcgorKiBmc2NrLmNyYW1mczogYWRkZWQgTkxTCisqIGZkaXNrOiBmaXggZGV2aWNlIG5hbWVzIHdpdGggc3VuZGlza2xhYmVscyB1bmRlciBkZXZmcyAoS2FqLU1pY2hhZWwgTGFuZykKKyogZmRpc2s6IG1pbm9yIHBvbGlzaGluZworKiBod2Nsb2NrOiBhbHNvIGhhbmRsZSBFTk9UVFkgaW9jdGwgcmV0dXJuIChNYWNpZWogVy4gUm96eWNraSkKKyogaHdjbG9jazogbWlub3IgcG9saXNoaW5nCisqIGlwY3JtLjg6IG1pbm9yIHBvbGlzaGluZworKiBta2ZzLmNyYW1mczogYWRkZWQgTkxTCisqIG1rZnMuY3JhbWZzOiBhZGRlZCAtdiAodmVyYm9zZSkgb3B0aW9uLCBhbmQgbWFkZSBkZWZhdWx0IHNpbGVudAorKiBtb3VudDogcGF0Y2ggZm9yIG1ha2UgLWogKFJlZEhhdCkKKyogc3dhcG9mZjogbWlub3IgcG9saXNoaW5nCisKK3V0aWwtbGludXggMi4xMXMKKworKiBFc3RvbmlhbiBtZXNzYWdlcyAoTWVlbGlzIFJvb3MpCisqIEZyZW5jaCBtZXNzYWdlczogc29tZSBtaW5vciBjb3JyZWN0aW9ucworKiBHZXJtYW4gbWVzc2FnZXMgKE1pY2hhZWwgUGllZmVsKQorKiBTcGFuaXNoIG1lc3NhZ2VzIChTYW50aWFnbyBWaWxhIERvbmNlbCkKKyogU3dlZGlzaCBtZXNzYWdlcyAoQ2hyaXN0aWFuIFJvc2UpCisqIFR1cmtpc2ggbWVzc2FnZXMgKE5pbGfDvG4gQmVsbWEgQnVnw7xuZXIpCisqIE1DT05GSUc6IGFsbG93ICJtYWtlIERJU0FCTEVfTkxTPXllcyA8dGFyZ2V0PiIgKFBldGVyIEJyZWl0ZW5sb2huZXIpCisqIGNvbmZpZ3VyZTogZG9uJ3QgcnVuIC4vY29uZnRlc3QgLSBiZXR0ZXIgZm9yIGNyb3NzLWNvbXBpbGF0aW9uIChNYWdudXMgRGFtbSkKKyogZmRpc2s6IGZpeGVzIGZvciBkaXNrcyB3aXRoIE9TRi8xIGxhYmVsCisqIGZzY2suY3JhbWZzOiBuZXcgKGZyb20ga2VybmVsIHNvdXJjZSkKKyogaHdjbG9jazogaW1wcm92ZWQgYWRqdGltZSBoYW5kbGluZyAoSmFtZXMgUC4gUnV0bGVkZ2UpCisqIGh3Y2xvY2s6IHJlbW92ZSBzaGhvcHRzIHN0dWZmCisqIGlwY3M6IHJlbW92ZSB1bnVzZWQgaGVhZGluZyAoTWljaGFlbCBLZXJyaXNrKQorKiBsaW5lOiByZXBsYWNlIGJ5IEMgdmVyc2lvbiAtIHRoZSBzaCB2ZXJzaW9uIHdhcyBicm9rZW4gKEd1bm5hciBSaXR0ZXIpCisqIGxvZ2luOiBkZWZhdWx0IHJvb3QgcGF0aDogYWRkZWQgL3Vzci9sb2NhbC9bc11iaW4gKFJlZEhhdCkKKyogbWtmcy5jcmFtZnM6IG5ldyAoZnJvbSBrZXJuZWwgc291cmNlKQorKiBtb3VudDogd2hlbiBubyB0eXBlIGlzIGtub3duLCBhc3N1bWUgdGhhdCBwcmVmaXggLy8gaW1wbGllcyBzYW1iYSAoUmVkSGF0KQorKiBtb3VudCAtYTogYXZvaWQgc3RhdCBvbiBkZXZpY2VzIHRoYXQgaGF2ZSBub2F1dG8gb3B0aW9uIChKZXJvZW4gTW9zdGVydCkKKyogbW91bnQgYnkgbGFiZWw6IGlnbm9yZSBSQUlEIHBhcnRpdGlvbnMgKFJlZEhhdCkKKyogW3VdbW91bnQ6IGZzdGFiLmMgZml4IChlamJAcWwub3JnKQorKiBwZzogbmV3IChHdW5uYXIgUml0dGVyKQorKiBzZmRpc2s6IHNtYWxsIEJTRCBwYXJ0aXRpb24gZml4CisqIHN3YXBvZmYgLWE6IGFsc28gZG8gc3dhcG9mZiBvbiBhbGwgZmlsZXMgZm91bmQgaW4gL3Byb2Mvc3dhcHMKKyogc3dhcG9uIC1hOiBza2lwIGZpbGVzIGFscmVhZHkgZm91bmQgaW4gL3Byb2Mvc3dhcHMKKwordXRpbC1saW51eCAyLjExcgorCisqIEVzdG9uaWFuIG1lc3NhZ2VzIChNZWVsaXMgUm9vcykKKyogR2VybWFuIG1lc3NhZ2VzIChNaWNoYWVsIFBpZWZlbCkKKyogU3BhbmlzaCBtZXNzYWdlcyAoU2FudGlhZ28gVmlsYSBEb25jZWwpCisqIFN3ZWRpc2ggbWVzc2FnZXMgKENocmlzdGlhbiBSb3NlKQorKiBUdXJraXNoIG1lc3NhZ2VzIChOaWxnw7xuIEJlbG1hIEJ1Z8O8bmVyKQorKiBNQ09ORklHOiBtb3ZlICQoQ0ZMQUdTKSB0byB0aGUgZW5kIHRvIGFsbG93IG92ZXJyaWRlcyAoS2V2aW4gUC4gRmxlbWluZykKKyogY2FsOiB0aW55IGZpeCAoTWl0c3VydSBDaGluZW4pCisqIGZkaXNrOiBhdm9pZCA8bGludXgvaGRyZWcuaD4KKyogZmRpc2s6IHg4Nl82NCBwYXRjaCAoTWFkcyBNYXJ0aW4gSsO4cmdlbnNlbikKKyogaHdjbG9jay44OiB6b25laW5mbyBpcyBub3cgaW4gL3Vzci9zaGFyZQorKiBta3N3YXA6IHJlcG9ydCBpbiBLaUIgaW5zdGVhZCBvZiBieXRlcy4KKwordXRpbC1saW51eCAyLjExcQorCisqIGZkaXNrOiBnZW9tZXRyeSBpbXByb3ZlbWVudAorKiBsb2dpbjogb3BlbiB0dHkgZml4IChEZW5pcyBWbGFzZW5rbykKKyogbW9yZTogd2lkZSBjaGFyYWN0ZXIgcGF0Y2hlcyAoTWl0c3VydSBDaGluZW4pCisqIG1vdW50OiBjb21wbGFpbiBvbiBtb3VudC1ieS1sYWJlbCB3aGVuIGxhYmVsIGlzIG5vdCB1bmlxdWUgKE1hdHQgQ29wcGluZykKKyogcGFydHg6IGFkZCBHVUlEIFBhcnRpdGlvbiBUYWJsZXMgKE1hdHQgRG9tc2NoKQorCit1dGlsLWxpbnV4IDIuMTFwCisKKyogRGFuaXNoIG1lc3NhZ2VzIChDbGF1cyBIaW5kc2dhdWwpCisqIEdlcm1hbiBtZXNzYWdlcyAoS2FybCBFaWNod2FsZGVyKQorKiBTcGFuaXNoIG1lc3NhZ2VzIChTYW50aWFnbyBWaWxhIERvbmNlbCkKKyogU3dlZGlzaCBtZXNzYWdlcyAoQ2hyaXN0aWFuIFJvc2UpCisqIFR1cmtpc2ggbWVzc2FnZXMgKE5pbGfDvG4gQmVsbWEgQnVnw7xuZXIpCisqIGlwY3JtOiBtYWtlIFBPU0lYIGNvbXBhdGlibGUgKEFuZHJlIENvcndpbiBNYXp6b25lKQorKiBpcGNybS44OiBpZGVtCisqIGtpbGw6IGZpeGVkIE1ha2VmaWxlCisqIGxvZ2luOiBzZXRzaWQgZml4ZXMKKyogbWtzd2FwOiBtYXggc2l6ZSBvZiBzd2FwIHNwYWNlIGlzIHZlcnkgbGFyZ2UgKFBldGVyIENodWJiKQorKiBtb3VudDogSkZTIHN1cHBvcnQgZm9yIG1vdW50LWJ5LWxhYmVsIChoY2gpCisqIG5mc21vdW50OiBjaGVjayBmb3IgPHJwY3N2Yy9uZnNfcHJvdC5oPiAoaGNoKQorKiByZWFkcHJvZmlsZToga2VlcCB0cmFjayBvZiBsaW5lIG51bWJlcnMgKEpvaG4gTGV2b24pCisqIHVtb3VudDogZml4IGZvciBNTlRfREVUQUNICisKK3V0aWwtbGludXggMi4xMW8KKworKiBFc3RvbmlhbiBtZXNzYWdlcyAoTWVlbGlzIFJvb3MpCisqIEphcGFuZXNlIG1lc3NhZ2VzIChEYWlzdWtlIFlhbWFzaGl0YSkKKyogU3BhbmlzaCBtZXNzYWdlcyAoU2FudGlhZ28gVmlsYSBEb25jZWwpCisqIGNhbDogb3B0aW9uIC1zOiBTdW5kYXkgaXMgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrCisqIGNhbC4xOiB1cGRhdGVkCisqIGNmZGlzazogZ2l2ZSBub3Qgb25seSBieXRlcyBidXQgYWxzbyBNQiBvciBHQiBmb3IgY2xhcml0eS4KKyogY29scm06IHdpZGUgY2hhcmFjdGVyIGZpeCAoRWxsaW90IExlZSkKKyogKmZkaXNrOiBhZGRlZCBEYXJ3aW4gdHlwZXMgKFZpbmNlbnQgQm91cmdvbmplbikKKyogZnN0YWIuNTogdXBkYXRlZAorKiBoZXhkdW1wOiAtQyBvcHRpb24KKyogaHdjbG9jazogY21vcy5jOiBkbyBub3QgaW5jbHVkZSA8YXNtL2lvLmg+IG9uIGFscGhhCisqIG1vdW50OiBpbXByb3ZlZCBkZXRlY3Rpb24gb2YgdWZzIChhbmQgc2xvd2Rvd24gb2YgZGV0ZWN0aW9uIG9mIGlzbzk2NjApCisqIG1vdW50Ljg6IGFkZGVkIGluZm8gb24gKiBpbiAvZXRjL2ZpbGVzeXN0ZW1zLCBzaG9ydG5hbWUgb3B0aW9uIG9mIHZmYXQsCisgIG1vdW50IC0tbW92ZSwgdWRmLCByZXR1cm4gY29kZXMKKyogcmF3OiB0cnkgL2Rldi9yYXcvcmF3Y3RsIHdoZW4gL2Rldi9yYXdjdGwgZmFpbHMgKFRoaWVycnkgVmlnbmF1ZCkKKyogcmMuc2VyaWFsOiByZW1vdmVkIC0gc2V0c2VyaWFsIGlzIG5vIGxvbmdlciBpbiB1dGlsLWxpbnV4IChrcm9tSngpCisqIFJFQURNRS5hZG11dGlsOiByZW1vdmVkIC0gb25seSBvZiBoaXN0b3JpY2FsIGludGVyZXN0CisqIFJFQURNRS5ib290dXRpbHMtMC4xOiByZW1vdmVkIC0gb25seSBvZiBoaXN0b3JpY2FsIGludGVyZXN0CisqIHNjcmlwdDogc2VjdXJpdHkgZml4CisqIHNmZGlzazogaW1wcm92ZWQgZ2VvbWV0cnkgZGV0ZWN0aW9uOyB3aWRlciBjb2x1bW5zOyBkZWZhdWx0IGRpc2tzIGZyb20KKyAgL3Byb2MvcGFydGl0aW9ucworKiB1bW91bnQ6IHBlcm1pc3Npb24gdGVzdCBvd25lciB1bW91bnQKKyogd2FsbC4xOiBhZGRlZCBzdWlkIHJlc3RyaWN0aW9uCisKK3V0aWwtbGludXggMi4xMW4KKworKiBEYW5pc2ggbWVzc2FnZXMgKENsYXVzIEhpbmRzZ2F1bCkKKyogR2VybWFuIG1lc3NhZ2VzIChLYXJsIEVpY2h3YWxkZXIpCisqIFN3ZWRpc2ggbWVzc2FnZXMgKENocmlzdGlhbiBSb3NlKQorKiBUdXJraXNoIG1lc3NhZ2VzIG5vdyBpbiBVVEYtOCAoTmlsZ8O8biBCZWxtYSBCdWfDvG5lcikKKyogYmxvY2tkZXY6IGFkZCAtLXJlcG9ydCBvcHRpb24KKyogY2FsOiBmaXggZm9yIHdpZGUgbXVsdGlieXRlLWNoYXIgKE1vdG9ub2J1IEljaGltdXJhKQorKiBjZmRpc2s6IHJlY29nbml6ZSBleHQzIGFuZCByZWlzZXJmcyAoRmxhdmlvIFN0YW5jaGluYSkKKyogZnNjay5taW5peDogaTE4biBjaGFuZ2VzCisqIGlwYy57aW5mbyx0ZXhpfTogbWlub3IgY29ycmVjdGlvbgorKiBsb2dpbjogY29tcGlsYXRpb24gZml4IChKYXJvc2xhdyBKLiBQeXN6bnkpCisqIG1vdW50Ljg6IHRtcGZzIG1vdW50IG9wdGlvbnMgKEthcmwgRWljaHdhbGRlcikKKyogbW91bnQ6IHJlY29nbml6ZSBtaW5peCB2MgorKiBtb3VudDogc3VwcG9ydCBtb3VudC1ieS1sYWJlbCBhbHNvIGZvciBsdm0gKEtpcmJ5IEJvaGxpbmcpCisqIG1vdW50OiBvcmRlciBndWVzc2luZyBvZiBmc3R5cGVzIGFjY29yZGluZyB0byBzZWVrIG9mZnNldAorKiBwaXZvdF9yb290OiBjb21waWxhdGlvbiBmaXggZm9yIGlhNjQKKyogcmVhZHByb2ZpbGU6IGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb24gKFdlcm5lciBBbG1lc2JlcmdlcikKKwordXRpbC1saW51eCAyLjExbQorCisqIERhbmlzaCBtZXNzYWdlcyAoQ2xhdXMgSGluZHNnYXVsKQorKiBHZXJtYW4gbWVzc2FnZXMgKEthcmwgRWljaHdhbGRlcikKKyogU3dlZGlzaCBtZXNzYWdlcyAoQ2hyaXN0aWFuIFJvc2UpCisqIFR1cmtpc2ggbWVzc2FnZXMgKE5pbGfDvG4gQmVsbWEgQnVnw7xuZXIpCisqIGZkaXNrOiBhZGRlZCBuZXRic2QgdHlwZSAoU3RldmVuIEouIEhpbGwpCisqIG1vcmU6IGZpeCBmb3IgdW5zaWduZWQgY2hhciAoUnVzdHkgUnVzc2VsbCkKKyogbW91bnQ6IGFkZGVkIHN5c3YgbWFnaWMgKFRpbSBMYXVuY2hidXJ5KQorKiBzZXR0ZXJtOiBmaXhlZCAic2V0dGVybSAtZm9yZWdyb3VuZCBkZWZhdWx0IgorCit1dGlsLWxpbnV4IDIuMTFsCisKKyogRGFuaXNoIG1lc3NhZ2VzIChDbGF1cyBIaW5kc2dhdWwpCisqIGJhbm5lcjogcmVtb3ZlZCAtIGl0IGlzIGluIGJzZGdhbWVzCisqIGZkaXNrOiBzaG93IHBhcnRpdGlvbnMgd2l0aCBlbXB0eSB0eXBlIGJ1dCBzb21lIG90aGVyIG5vbnplcm8gZmllbGQKKyogbG9naW46IGNvcHkgdGhlIHN0YXRpYyBzdHJ1Y3QgdGhhdCBnZXRwd25hbSgpIHJldHVybnMgYmVmb3JlIGNhbGxpbmcKKyAgUEFNIHJvdXRpbmVzIHRoYXQgbWlnaHQgdGhlbXNlbHZlcyB1c2UgZ2V0cHduYW0oKS4gQWJvcnQgb24gcHJvYmxlbXMuCisgIChPbGFmIEtpcmNoKQorKiBtb3VudDogYWRkZWQgamZzIG1hZ2ljIChDaHJpc3RvcGggSGVsbHdpZykKKyogcmVuaWNlOiByZXBvcnQgdGhlIGNvcnJlY3QgbmV3IHByaW9yaXR5IGFmdGVyIGEgc2V0cHJpb3JpdHkoKQorKiB1bW91bnQ6IGFkZCBsYXp5IHVubW91bnQgKENocmlzdG9waCBIZWxsd2lnKQorCit1dGlsLWxpbnV4IDIuMTFrCisKKyAgVmFyaW91cyBwb3RlbnRpYWwgYnVmZmVyIG92ZXJmbG93cyB3ZXJlIHBvaW50ZWQgb3V0IGJ5IGF3YXl6enpAZGlnaWJlbC5vcmcuCisgIEZpeGVzIGluIGFnZXR0eSwgaHdjbG9jaywgbmFtZWksIHJlYWRwcm9maWxlLCBzaW1wbGVpbml0LCB2aXB3LgorICAoQWxzbyBhZGRlZCBhIGZldyBbZl1jbG9zZSgpIGNhbGxzIC0gZW50aXJlbHkgc3VwZXJmbHVvdXNseS4pCisKKyogYWdldHR5OiBhdm9pZCBwb3NzaWJsZSBidWZmZXIgb3ZlcmZsb3cKKyogY2ZkaXNrOiByZWNvZ25pemUgeGZzIChOYXRoYW4gU2NvdHQpCisqIGN5dHVuZTogYWRkZWQgY2xvc2UoKQorKiBmZGZvcm1hdDogYWRkZWQgY2xvc2UoKQorKiBmZGlzazogYWRkZWQgZmNsb3NlKCkKKyogaHdjbG9jazogYXZvaWQgcG9zc2libGUgYnVmZmVyIG92ZXJmbG93CisqIG1rZnMubWluaXg6IGFkZGVkIGZjbG9zZSgpCisqIG1vdW50OiByZW1vdmUgdGhlIGFzc3VtcHRpb24gdGhhdCA2MzUgaXMgdGhlIGRlZmF1bHQgbW91bnQgcG9ydAorKiBuYW1laTogYXZvaWQgcG9zc2libGUgYnVmZmVyIG92ZXJmbG93CisqIHJkZXY6IGFkZGVkIGNsb3NlZGlyKCkKKyogcmVhZHByb2ZpbGU6IGF2b2lkIHBvc3NpYmxlIGJ1ZmZlciBvdmVyZmxvdworKiBzZmRpc2s6IGFkZGVkIGZjbG9zZSgpCisqIHNpbXBsZWluaXQ6IGF2b2lkIHBvc3NpYmxlIGJ1ZmZlciBvdmVyZmxvdworKiBzd2Fwb246IGFkZGVkIGZjbG9zZSgpCisqIHVtb3VudDogdXNlIHRjcCB3aGVuIG1vdW50IHdhcyBkb25lIHVzaW5nIHRjcCAoSmFtZXMgRCBTdHJhbmRib2dlKQorKiB2aXB3OiBhdm9pZCBwb3NzaWJsZSBidWZmZXIgb3ZlcmZsb3cKKwordXRpbC1saW51eCAyLjExagorCisqIGZkaXNrOiBmaXggZm9yIEFJWCBsYWJlbCAoT2xhZiBIZXJpbmcpCisqIGZkaXNrOiBmaXggZm9yIGNyZWF0aW5nIERPUyBsYWJlbCB3aGVuIEJTRCBsYWJlbCBpcyBwcmVzZW50CisqIG1vdW50Ljg6IGFkZGVkIHJlbWFyayBhYm91dCBibG9ja3NpemUgdG8gZXh0MiBzYj0gbW91bnQgb3B0aW9uIGRlc2NyaXB0aW9uLgorKiBwYXJ0aXRpb250eXBlOiBuZXcsIG5vdCBpbnN0YWxsZWQKKwordXRpbC1saW51eCAyLjExaQorCisqIHRlc3RpbmNsOiBkbyBub3QgcnVuIGNvbmZ0ZXN0IChCcmlhbiBNdXJwaHkpCisqIGJsb2NrZGV2OiBjb3JyZWN0ZWQgaW9jdGwgbnVtYmVycyBub3cgdGhhdCBCTEtCU1pHRVQgaXMgaW4gMi40LjEwcHJlMworKiBjYWw6IGZpeGVkIGZvciBIdW5nYXJpYW4gbG9jYWxlCisqIGNhbDogZml4ZWQgZm9yIG11bHRpYnl0ZSBsb2NhbGVzIChQYWJsbyBTYXJhdHhhZ2EpCisqIGZkaXNrOiBhdm9pZCBzdXBlcmZsdW91cyB3YXJuaW5nIGFib3V0IERPUyBwYXJ0aXRpb25zCisqIGxpbmU6IG5ldywgdG8gc3VwcG9ydCBTQ08gc2hlbGwgc2NyaXB0cyAoQ2hyaXN0b3BoIEhlbGx3aWcpCisqIG1vdW50OiBhZGRlZCB2eGZzIG1hZ2ljCisqIHBhc3N3ZDogdGlueSBmaXggZm9yIEFSTSAoS2VuIENveCkKKyogcmVwbGF5OiByZXBsYXkgdHlwZXNjcmlwdCB3aXRoIHRpbWluZ3MgKEpvZXkgSGVzcykKKyogc2NyaXB0OiBhZGQgLXQgZmxhZyBmb3IgdGltaW5nIChKb2V5IEhlc3MpCisKK3V0aWwtbGludXggMi4xMWgKKworKiBUdXJraXNoIG1lc3NhZ2VzIChOaWxnw7xuIEJlbG1hIEJ1Z8O8bmVyKQorKiBEYW5pc2ggbWVzc2FnZXMgKENsYXVzIEhpbmRzZ2F1bCkKKyogYmFubmVyOiBtaW5vciBmaXggKGF3YXl6enpAZGlnaWJlbC5vcmcpCisqIG1rZnMubWluaXg6IG1pbml4IHYyIGZpeAorKiBtb3JlLjE6IGltcHJvdmVkIChFZHdhcmQgQmV0dHMpCisqIG1vdW50Ljg6IGNvcnJlY3RlZCBkZXNjcmlwdGlvbiBvZiB0aGUgbndmcyB1bmlfeGxhdGUgbW91bnQgb3B0aW9uCisqIHZpcHc6IG1ha2UgdGVtcCBmaWxlcyBvZiBtb2RlIDA2MDAgKEJpbGwgTm90dGluZ2hhbSkKKyogd2FsbDogYXZvaWQgd3JpdGluZyB0byAvZGV2LzowCisKK3V0aWwtbGludXggMi4xMWcKKworKiBNQ09ORklHICYgY29uZmlndXJlOiBmaXggZm9yIGdjYyAzLjAKKyAgTm90ZSB0aGF0IG5mc21vdW50X3hkci5jIG1heSBnaXZlIHdhcm5pbmdzIHdpdGggZ2NjIDMuMCwgZXNzZW50aWFsbHkKKyAgYmVjYXVzZSBvZiBkZWZpbmVzIGluIDxycGMveGRyLmg+IHRoYXQgdXNlIHRoaW5ncyBsaWtlIG50b2hsKCpidWYrKykKKyAgd2hlcmUgbnRvaGwoeCkgaXMgYSBtYWNybyB3aXRoIHNldmVyYWwgb2NjdXJyZW5jZXMgb2YgeC4KKyogYmxvY2tkZXY6IHN1cHBvcnQgZm9yIHRoZSBnZXQvc2V0IGJsb2Nrc2l6ZSBpb2N0bHMKKyAgW25vdCB5ZXQgaW4gdGhlIDIuNC41IGtlcm5lbF0KKyogZmRpc2s6IGFkZGVkIExpbnV4L1BBLVJJU0MgdHlwZSAoTWF0dCBUYWdnYXJ0KQorKiBtb3VudDogbWlub3IgZml4IChBbmRyZXkgSi4gTWVsbmlrb2ZmKQorKiBtb3VudDogYWRkZWQgc29tZSBleHQzIHN0dWZmIChBbmRyZXcgTW9ydG9uKQorKiBtb3VudDogYWRkZWQgaGV1cmlzdGljcyBmb3IgcmVpc2VyZnMgKEFuZHJldyBNb3J0b24pCisqIG1vdW50Ljg6IGFkZGVkIGV4dDMgYW5kIHJlaXNlcmZzIGRvY3MgKEFuZHJldyBNb3J0b24pCisKK3V0aWwtbGludXggMi4xMWYKKworKiBDemVjaCBtZXNzYWdlcyAoSmnFmcOtIFBhdmxvdnNrw70pCisqIGZkaXNrOiBmaXggZm9yICJyZW9yZGVyIiBleHBlcnQgY29tbWFuZAorICAodXNlIG9mIHNmZGlzayBhZnRlcndhcmRzIGlzIHN0aWxsIHJlY29tbWVuZGVkKQorKiBtb3VudDogbWlub3IgZml4ZXMKKwordXRpbC1saW51eCAyLjExZQorCisqIERhbmlzaCBtZXNzYWdlcyAoQ2xhdXMgSGluZHNnYXVsKQorKiBCcmF6aWxpYW4gUG9ydHVndWVzZSBtZXNzYWdlcyAoUm9kcmlnbyBTdHVsemVyIExvcGVzKQorKiBhZ2V0dHk6IGdpdmUgdHR5IG1vZGUgMDYwMCBpbnN0ZWFkIG9mIDA2MjIKKyogY2FsOiBpbXByb3ZlZCBtYW5wYWdlCisqIGNmZGlzazogYWRkIHVzZXItZnJpZW5kbGluZXNzIGluIGNhc2Ugb2YgZW1wdHkgZGlzayAoTWF0dGhldyBXaWxjb3gpCisqIGRtZXNnOiBpbXByb3ZlZCBtYW5wYWdlCisqIGZkaXNrOiBTdXBlckggZml4IChJU0hJS0FXQSBNdXRzdW1pKQorKiBod2Nsb2NrOiBhY2NlcHQgYWxwaGEgb3B0aW9ucyBpbiBib3RoIHVwcGVyIGFuZCBsb3dlciBjYXNlCisgIChzbyBhcyB0byBtYWtlIHRoZSBtYW4gcGFnZSBjb3JyZWN0KQorKiBod2Nsb2NrOiBhZGQgb3B0aW9uIC0tbm9hZGp0aW1lIChIZW5yaXF1ZSBNLiBIb2xzY2h1aCkKKyogbG9naW46IGNoaWxkIG11c3QgaGF2ZSBjb250cm9sbGluZyB0dHkgKE1pY2hhxYIgTW9za2FsKQorKiBtb3JlOiBkb24ndCBzZWVrIHVuc2Vla2FibGUgaW5wdXQgKERhdmlkIFdoZWRvbikKKyogbW91bnQ6IHVwb24gcmVxdWVzdCBieSBSaWNoYXJkIEdvb2NoOiBpZiB0aGUgbW91bnQgcG9pbnQgaXMgc3BlY2lmaWVkCisgIGFzIHN5bWxpbmssIHB1dCBzeW1saW5rLCBub3QgYWN0dWFsIG1vdW50IHBvaW50IGluIG10YWIuCisgIChUaGlzIGF2b2lkcyB0aGUgbG9uZyBhbmQgdWdseSBkZXZmcyBuYW1lcywgYnV0IG1heSBicmVhayB0aGluZ3MuCisgIFBsZWFzZSBjb21wbGFpbiBpbiBjYXNlIG9mIHByb2JsZW1zLikKKyogbW91bnQ6IHdpdGggbW91bnQgLWEgLXQgbmZzOgorICBpZiB3ZSB1c2VkIGZhbGxiYWNrIHRvIG5mcyB2MywgZG9uJ3QgZG8gc28gZm9yIHN1YnNlcXVlbnQgbW91bnRzCisqIG1vdW50OiBhZGQgaGV1cmlzdGljcyBmb3IgZXh0MyAoQW5kcmV3IE1vcnRvbikKKyogbW91bnQ6IGFkZGVkIHF1b3RhIGluZm8gdG8gbW91bnQuOAorKiBtb3VudDogYWxsb3cgY29tbWEtc2VwYXJhdGVkIHR5cGUgbGlzdHMsIGFsc28gaW4gZnN0YWIKKyogcmF3OiBzbWFsbCBmaXggZm9yIHBwYworCit1dGlsLWxpbnV4IDIuMTFkCisKKyogZmRpc2s6IGZpeCBmb3IgT1NGIChXaWxsIFdvb2RzKQorKiBjaHNoOiBjb21waWxhdGlvbiBmaXggKFJvbmFsZCBXYWhsKQorCit1dGlsLWxpbnV4IDIuMTFjCisKKyogQ3plY2ggbWVzc2FnZXMgKEppxZnDrSBQYXZsb3Zza8O9KQorKiBHZXJtYW4gbWVzc2FnZXMgKEVscm9uZCkKKyogTWFrZWZpbGUvTUNPTkZJRyBpbXByb3ZlbWVudHMgKFBldGVyIEJyZWl0ZW5sb2huZXIpCisqIGZkaXNrOiBhZGRlZCBhIGZldyBwYXJ0aXRpb24gdHlwZXMKKyogZmRpc2s6IGNvcnJlY3QgcGFydGl0aW9uIG51bWJlcmluZyBmb3Igc2dpIHBhcnRpdGlvbnMgKE5hdGhhbiBTY290dCkKKyogZmRpc2s6IG1ha2UgaXQgY29tcGlsZSBvbiBocHBhIGJ5IGFyYml0cmFyaWx5IHRyZWF0aW5nIGhwcGEgbGlrZSBwb3dlcnBjCisgIChNYXR0IFRhZ2dhcnQpCisqIGZzY2subWluaXg6IGltcHJvdmVkIGxvY2FsaXNhdGlvbiAoRWxyb25kKQorKiBnZXRvcHQ6IHVwZGF0ZWQgdG8gdmVyc2lvbiAxLjEuMiAoRnJvZG8gTG9vaWphYXJkKQorKiBod2Nsb2NrOiBmaXhlcyBmb3IgSUE2NCAoVGhvcnN0ZW4gS3VrdWspCisqIGh3Y2xvY2s6IHVzZSAvZGV2L3ZjLzEgd2hlbiBkZXZmcyBpcyB1c2VkIChUaG9tYXMgS29lbGxlcikKKyogaHdjbG9jazogbW9yZSBkZXZmcyBzdXBwb3J0IChlLmcuIC9kZXYvbWlzYy9ydGMpCisqIGlwY3M6IGFkZCBzcGFjZXMgaW4gb3V0cHV0IChEZVdpdHQgQ2xpbnRvbiksCisgIGNvcnJlY3Qgc29tZSBlcnJvciBtZXNzYWdlcyAoQm9iYnkgZGUgVm9zKQorKiBsb2dpbjogZml4IFRJT0NOT1RUWSAoQW5kcmVhcyBIYXVtZXIsIEFkYW0gSi4gUmljaHRlcikKKyogbG9naW46IGFkZCBidG1wIGxvZ2dpbmcgb2YgdW5zdWNjZXNzZnVsIGxvZ2luIGF0dGVtcHRzIChFcmlrIFRyb2FuKQorKiBsb2dpbjogYXZvaWQgYSBTSUdIVVAgcmFjZSB3aXRoIFBBTSBlbmFibGVkIChQZXRlciAnTHVuYScgUnVuZXN0aWcpCisqIGxvZ2luOiBjb3B5IHRoZSBzdGF0aWMgcmVzdWx0IHJldHVybmVkIGJ5IGdldGhvc3RieW5hbWUgdG8gYXZvaWQKKyAgY29ycnVwdGlvbiBieSBwYW1fYXV0aGVudGljYXRlIHZpYSBwYW1fbGRhcCAoQW5kcmVhcyBEYW1tKQorKiBsb2dpbjogcmVtb3ZlZCB0aGUgUkVESEFUX0lHTk9SRURfTUFJTFNJWkUgaGFjaworKiBsb2dpbjogdW5jb25kaXRpb25hbGx5IGRvIHZoYW5ndXAKKyogbG9naW46IHplcm8gUEFNX1VTRVIgd2hlbiBubyB1c2VybmFtZSB3YXMgZ2l2ZW4gKEFya2FkaXVzeiBNacWba2lld2ljeikKKyogbG9vazogZGljdGlvbmFyeSBub3cgdW5kZXIgL3Vzci9zaGFyZSAoRXJpayBUcm9hbikKKyogbW91bnQ6IGFkZCBzYW5pdGl6ZV9lbnYoKSAoU29sYXIgRGVzaWduZXIpCisqIG1vdW50OiBhbm90aGVyIGhldXJpc3RpYyBmb3IgdmZhdCAoTWljaGFsIFN2ZWMpCisqIG1vdW50OiB4ZnMgbWFnaWMgaGFzIG9ubHkgb25lIGVuZGlhbm5lc3MgKE5hdGhhbiBTY290dCkKKyogbW91bnQ6IHJldHVybiBmYWlsdXJlIHdoZW4gdGNwIHVzZWQgYW5kIHBvcnRtYXAgcmV0dXJucyAwIChILiBKLiBMdSkKKyogcmRldjogYWxsb3cgdW5saW1pdGVkIHJlY3Vyc2lvbiB0byBmaW5kIHRoZSBsb25nIGRldmZzIG5hbWVzCisgIEFsc28sIGFsbG93IG1ham9yLG1pbm9yIHBhaXIgdGhlIHNwZWNpZnkgZGV2aWNlIChyZXF1ZXN0IGJ5IFJ1c3NlbGwgQ29rZXIpCisqIHJlYWRwcm9maWxlOiBhcnJheSBib3VuZCBjaGVjayAoQW5kcmV3IE1vcnRvbikKKyogc2NyaXB0OiB0cmFuc21pdCB3aW5kb3cgY2hhbmdlcyB0byBjaGlsZCAoSm9leSBIZXNzKQorKiBzZmRpc2s6IGVuZGlhbiBmaXggZm9yIHBwYyAoR3JlZ29yeSBHZWlzZWxoYXJ0KQorKiBzZmRpc2s6IG5ldyBmZWF0dXJlOiBzaWduIGlzIG9mZnNldCBmcm9tIGRlZmF1bHQgKEJ5cm9uIFN0YW5vc3playkKKyogc2ZkaXNrOiBhZGQgc29tZSBkZWZhdWx0IGRldmljZXMgdG8gbGlzdCAoTHVjYSBNb250ZWNjaGlhbmkpCisqIHNmZGlzazogbm8gcGFydGl0aW9uIHRhYmxlIG9uIGlkZSB0YXBlCisqIHNodXRkb3duOiBjbG9zZSBmaWxlcywgdW5ibG9jayBzaWduYWxzIChSaWNoYXJkIEdvb2NoKQorKiBzaW1wbGVpbml0OiBibG9jayBzaWduYWxzIGluIGhhbmRsZXJzOyBhZGQgbm9fcmVib290IG9wdGlvbiAoUmljaGFyZCBHb29jaCkKKyogc3dhcGRldjogZGVsZXRlZCwgaXQgd2FzIGxhc3QgdXNlZCB3aXRoIExpbnV4IDAuMTIuCisqIHVtb3VudDogbWlwcyBkb2VzIHN1cHBvcnQgdW1vdW50MiAoTWFjaWVqIFcuIFJvenlja2kpCisqIHVtb3VudDogYWRkIHNhbml0aXplX2VudigpIChTb2xhciBEZXNpZ25lcikKKyogdW1vdW50OiBmaXggZXhpdCBzdGF0dXMKKyogd2FsbDogZG8gbm90IGZvcmdldCA4MHRoIGNoYXJhY3RlciAoVGhvcnN0ZW4gS3VrdWspCisKK3V0aWwtbGludXggMi4xMWI6CisKKyogRGFuaXNoIG1lc3NhZ2VzIChDbGF1cyBIaW5kc2dhdWwpCisqIHVtb3VudDogbWlwcyBkb2VzIG5vdCBzdXBwb3J0IHVtb3VudDIgKENocmlzdG9waCBNYXJ0aW4pCisqIGZkaXNrOiB0aW55IGZpeAorKiBtb3VudC44OiBhZGZzIG9wdGlvbnMgZG9jdW1lbnRlZCwgeGZzIGNvcnJlY3RlZAorCit1dGlsLWxpbnV4IDIuMTFhOgorCisqIHRzb3J0OiBkZWxldGVkIC0gaXQgaXMgcGFydCBvZiBHTlUgdGV4dHV0aWxzIDIuMAorKiBtb3VudDogZml4IHJvb3RkZXYoKSAoUmljaGFyZCBLZXR0bGV3ZWxsKQorKiBtb3VudDogZml4IGdpZCBvZiBtdGFiIGZpbGUKKyogbW91bnQ6IHRyeSAvcHJvYy9maWxlc3lzdGVtcyBhZnRlciAvZXRjL2ZpbGVzeXN0ZW1zIGlmIHRoZSBsYXR0ZXIgZW5kcyBpbiAiKiIKKyogZmRpc2s6IGFkZGVkIGEgZmV3IHN5c3RlbSB0eXBlcworCit1dGlsLWxpbnV4IDIuMTE6CisKKyogSnVtcCB0byAyLjExIHRvIG5vdGUgdGhhdCBsaWJjLTQuNS4yNiBpcyBubyBsb25nZXIgc3VwcG9ydGVkLAorICBhbmQgd2UgcmVxdWlyZSBsaWJjLTQuNi4yNyAoc2luY2Ugbm93IHNucHJpbnRmIGlzIHVzZWQpLgorICBBbHNvLCBrYmRyYXRlIGhhcyBub3cgYmVlbiByZW1vdmVkLiBGaW5kIGl0IGluIGtiZC0xLjA1LgorICBBZGRlZCAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IHRvIENGTEFHUy4KKyogRGFuaXNoIG1lc3NhZ2VzIChDbGF1cyBIaW5kc2dhdWwpCisqIGZkaXNrOiBhdm9pZCBsb29wIGluIGNhc2Ugb2YgZXh0ZW5kZWQgd2l0aG91dCBsb2dpY2FsCisqIGlwY3M6IGNvcnJlY3RlZCBpbnRlcmNoYW5nZWQgcmVwb3J0IG9uIG1zZ19ydGltZS9tc2dfc3RpbWUgKEFydW4gS3VtYXIgVSkKKyoga2lsbDogdXBkYXRlZCBtYW5wYWdlCisqIGxhc3Q6IHZlcnkgbXVjaCBmYXN0ZXIgd2l0aCBtbWFwIChNYXJlayBaZWxlbSkKKyogbG9naW46IEFwcGxpZWQgUEFNIHBhdGNoIGJ5IERhdmlkIE1hY0tlbnppZSA8ZGptQHdlYi51cy51dS5uZXQ+CisqIGxvZ2luOiBkbyBhIHNldHNpZCBpbiB0aGUgY2hpbGQgKEVyaWsgVHJvYW4pCisqIG1vdW50OiBtYWtlICJtb3VudCAxOTIuMTY4LjEuODovIC9hIC1vIGJnIiB3b3JrIGFnYWluIChCam9lcm4gVm9pZ3QpCisqIG1vdW50OiBhZGRlZCBjb25zdGFudCBNU19NT1ZFCisqIHJlYWRwcm9maWxlOiBhZGRlZCAtTSBvcHRpb24sIHVwZGF0ZWQgbWFucGFnZSAoQW5kcmV3IE1vcnRvbikKKyogc2V0c2lkOiBmb3JrIHdoZW4gaXQgd291bGQgZmFpbCBvdGhlcndpc2UgKEpvaG4gRnJlbWxpbikKKyogc2ltcGxlaW5pdDogdXBkYXRlZCAoUmljaGFyZCBHb29jaCBldCBhbC4pCisqIHZpcHc6IGFsc28gb2ZmZXIgdG8gZWRpdCBzaGFkb3cgZmlsZSAoRXJpayBUcm9hbikKKyogeGZzIGRvY3MgKE5hdGhhbiBTY290dCkKKwordXRpbC1saW51eCAyLjEwczoKKworKiBEYW5pc2ggbWVzc2FnZXMgKENsYXVzIEhpbmRzZ2F1bCkKKyogZml4ZXMgdG8gbWFrZSBnY2MgaGFwcHkgKEpvc2VwaCBTLiBNeWVycykKKyogZml4IGZvciBtb3JlIG9uIHBhcmlzYyAoUmljaGFyZCBIaXJzdCkKKyogY2hhbmdlIHJkZXYgdG8gc2VhcmNoIHN1YmRpcmVjdG9yaWVzIG9mIC9kZXYgKFBhdWwgQ2xlbWVudHMpCisqIHVsIGZpeCAoTWFzYW8gS2F3YW11cmEpIC0gc2V0IGNvbHVtbnMgY29ycmVjdGx5CisqIGNhbCBmaXggKEJyZW5kYW4gS2Vob2UpIC0gZG9uJ3Qgb3ZlcmZsb3cgd2Vla2RheSBhcnJheSBpbiBHYWVsaWMKKyogZmRpc2sgZml4IChuaWxlc0BzY3lsZC5jb20pIC0gZmx1c2ggc3Rkb3V0CisqIGZkaXNrIGZpeCAtIGRvbid0IGZvcmdldCB0byB3cml0ZSBvdXQgZW1wdHkgbGFiZWwKKyogbG9naW46IG1ha2UgZGVmYXVsdCB0dHkgbW9kZSAwNjAwCisqIHNjcmlwdDogcmVmdXNlIHRvIHdyaXRlIHR5cGVzY3JpcHQgaWYgdGhhdCBpcyBhIHN5bWxpbmsKKyogc2NyaXB0OiBhY2NlcHQgLVYgdG8gb3V0cHV0IHZlcnNpb24KKyogd2hlcmVpczogYWxzbyBzZWFyY2ggL3Vzci9zaGFyZS9tYW4uCisqIGh3Y2xvY2s6IGltcHJvdmUgbG9jYWxlIGhhbmRsaW5nCisqIGh3Y2xvY2s6IGZpeCBmb3IgTmF1dGlsdXMgKE5lb2tsaXMgS3lyaWF6aXMpCisqIGlzb3NpemU6IG5ldworCit1dGlsLWxpbnV4IDIuMTByOgorCisqIG1vdW50OiBzdXBwb3J0IG1vdW50IGJ5IHV1aWQgb3IgbGFiZWwgZm9yIHhmcyAoTmF0aGFuIFNjb3R0KQorKiBtb3VudDogYWRkZWQgcHJvYmUgZm9yIG1pbml4IG9uIGJpZ2VuZGlhbiBzeXN0ZW1zIChOYXRoYW4gU2NvdHQpCisqIG1vdW50OiBhZGRlZCBwcm9iZXMgZm9yIGNyYW1mcywgaGZzLCBocGZzIGFuZCBhZGZzIChTZXBwIFdpam5hbmRzKQorKiBtb3VudDogY2hhbmdlIHNldHVwOyBsZXQgdW1vdW50IHJlbW92ZSBhdCBtb3N0IG9uZSBsaW5lIGZyb20gL2V0Yy9tdGFiCisqIG1vdW50OiBpbXByb3ZlIG1hbiBwYWdlCisqIG1vcmUsIGNvbCwgY29sY3J0LCBjb2xybSwgY29sdW1uLCB1bDogbmxzIGltcHJvdmVtZW50cyAoTWFzYW8gS2F3YW11cmEpCisKK3V0aWwtbGludXggMi4xMHE6CisKKyogbW91bnQ6IGFjY2VwdCBub25udW1lcmljIHVpZD0gYW5kIGdpZD0gb3B0aW9ucworKiB3cml0ZSBhbmQgd2FsbDogc2VjdXJpdHkgaW1wcm92ZW1lbnQKKyogZml4ZWQgZmRmb3JtYXQgZmxhdyAoV2VybmVyIEFsbWVzYmVyZ2VyKQorKiB1c2UgcmlnaHQgbW91bnRwb3J0IHVwb24gdW1vdW50IChHbGVubiBMaW5nbGUpCisqIHNpbXBsZWluaXQgLyBuZWVkIC8gaW5pdGN0bCBzdHVmZiAoUmljaGFyZCBHb29jaCkKKyogUG9ydHVndWVzZSBtZXNzYWdlcyAoUm9kcmlnbyBTdHVsemVyIExvcGVzIGV0IGFsLikKKwordXRpbC1saW51eCAyLjEwcDoKKworKiBtb3VudDogZG9uJ3Qgc2V0IHVwIGEgbG9vcCBmaWxlIHdpdGggLW8gbG9vcCxyZW1vdW50IChNYXJjIE11dHopCisqIGZkaXNrOiBjaGFuZ2VzIGZvciBzZWN0b3JzaXplIGRpZmZlcmVudCBmcm9tIDUxMgorKiBtb3JlOiBzdGFuZG91dCBmaXggKFBhdWwgVm9qdGEpCisqIG1vcmU6IGltcHJvdmUgdXNhZ2UgbWVzc2FnZSAoTGluY29sbiBNeWVycykKKyogbG9nZ2VyOiBBZGRlZCAtZCBvcHRpb24gdG8gdXNlIGRhdGFncmFtcyAoR2Vyd2luIFBmYWIpCisqIGNhbDogQWRkZWQgLTMgb3B0aW9uIHRvIGFsc28gcHJpbnQgcHJldi9uZXh0IG1vbnRoIChNaWNoYWVsIENoYXJsZXMgUHJ1em5pY2spCisqIEZyZW5jaCBtZXNzYWdlcyAoQ2hyaXN0b3BoZSBNZXJsZXQpCisqIEphcGFuZXNlIG1lc3NhZ2VzIChEYWlzdWtlIFlhbWFzaGl0YSkKKwordXRpbC1saW51eCAyLjEwbzoKKworKiBmZGZvcm1hdDogZml4ZWQgdG8gd29yayB3aXRoIGtlcm5lbCAyLjQuMHRlc3Q2IChNYXJlayBXb2p0b3dpY3opCisqIGxvc2V0dXA6IGFsc28gcmV0dXJuIHN0YXR1cyB3aGVuIG9ubHkgc2hvd2luZyBsb29wIGRldmljZSBzdGF0dXMgKGV3dCkKKyogbW91bnQ6IGRvIG5vdCByZXRyeSBybyBpZiBtb3VudCB3YXMgcm87IGltcHJvdmUgZXJyb3IgbWVzc2FnZQorKiBsb2dpbjogbm90IGluc3RhbGxlZCBzdWlkCisqIGdldG9wdDogYnkgZGVmYXVsdCBpbnN0YWxsIGF1eCBmaWxlcyBpbiAvdXNyL3NoYXJlL21pc2MKKwordXRpbC1saW51eCAyLjEwbjoKKworKiBhZGRlZCBibG9ja2Rldi44CisqIGNoYW5nZSB0byBlbHZ0dW5lIChhbmRyZWEpCisqIGZpeGVkIG92ZXJydW4gaW4gYWdldHR5ICh2aWlAcGVuZ3VpbnBvd2VyZWQuY29tKQorKiBzaHV0ZG93bjogcHJlZmVyIHVtb3VudGluZyBieSBtb3VudCBwb2ludCAocmdvb2NoKQorKiBmZGlzazogYWRkZWQgcGxhbjkKKyogZmRpc2s6IHJlbW92ZSBlbXB0eSBsaW5rcyBpbiBjaGFpbiBvZiBleHRlbmRlZCBwYXJ0aXRpb25zCisqIG1vdW50OiBkZWZpbmUgQUxXQVlTX1NUQVQKKyogbW91bnQ6IGFkZCByZXBsYWNlLCBhZnRlciwgYmVmb3JlLCBvdmVyLCBiaW5kCisqIHVtb3VudDogYWxzbyBmcmVlIGxvb3AgZGV2aWNlIHdoZW4gbm90IHdyaXRpbmcgbXRhYgorKiBsb21vdW50OiB0cnkgYm90aCAvZGV2L2xvb3BOIGFuZCAvZGV2L2xvb3AvTgorKiBod2Nsb2NrOiBoYW5kbGUgYm90aCAvZGV2L3J0YyBhbmQgL2Rldi9lZmlydGMgKEJpbGwgTm90dGluZ2hhbSkKKyogc2NyaXB0OiBhZGRlZCAtZiAoZmx1c2gpIG9wdGlvbiAoSXZhbiBTY2hyZXRlcikKKyogc2NyaXB0OiBhZGRlZCAtcSAocXVpZXQpIG9wdGlvbiAoUGVyIEFuZHJlYXMgQnVlcikKKyogZ2V0b3B0OiB1cGRhdGVkIHRvIHZlcnNpb24gMS4xLjAgKEZyb2RvIExvb2lqYWFyZCkKKyogQ3plY2ggbWVzc2FnZXMgKEppxZnDrSBQYXZsb3Zza8O9KQorCit1dGlsLWxpbnV4IDIuMTBtOgorCisqIGNoZm4gZml4IHdoZW4gUEFNIGlzIHVzZWQgKE1hcnRpbi1ELiBMYWNhc3NlKQorKiBkbyBub3QgdXNlIExDX05VTUVSSUMgcGFydCBvZiBsb2NhbGUgaW4gaHdjbG9jayB3aGVuIHdyaXRpbmcgL2V0Yy9hZGp0aW1lCisqIG1vdW50IHN0YXR1cyByZXR1cm4gZnJvbSBzbWIgb3IgbmNwIGZpeCAoTWFyayBQZWxvcXVpbikKKyogbW91bnQgbmV3IG9wdGlvbiAtbDogYWxzbyBwcmludCBsYWJlbCB3aGVuIGxpc3RpbmcgbW91bnRzCisqIG1vdW50IGFkZCBoZXVyaXN0aWMgZm9yIHhmcyAoTWFydGluIEsuIFBldGVyc2VuKQorKiBtb3VudCBVVUlEIGFuZCBsYWJlbCBjYWNoZSAoRXJpayBUcm9hbikKKyogbW91bnQgaW1wcm92ZSBjaGVjayBmb3IgYGFscmVhZHkgbW91bnRlZCcgaW4gY2FzZSBvZiBsYWJlbCBvciB1dWlkCisqIGZkaXNrIHBhcnRpdGlvbiBuYW1lcyBtb3JlIGRldmZzLWZyaWVuZGx5CisqIGZkaXNrIGJzZGxhYmVsIGxhcmdlIGRpc2sgc3VwcG9ydAorKiBzZXR0ZXJtLjE6IG9wdGlvbnMgZG9jdW1lbnRlZCAoQ29saW4gV2F0c29uKQorKiByZW5hbWUgY29ycmVjdGlvbgorKiBHZXJtYW4sIFNwYW5pc2gsIEZyZW5jaCwgSXRhbGlhbiwgUG9ydHVndWVzZSBtZXNzYWdlcworICAoUm9nZXIgTHVldGhpLCBCZXRoIFBvd2VsbCwgQWx2YXJvIEFudHVuZXMpCisKK3V0aWwtbGludXggMi4xMGw6CisKKyogTWVyZ2VkIGxvc2V0dXAuYyBhbmQgbG9tb3VudC5jCisqIEFOU0lmaWVkIGV2ZXJ5dGhpbmcKKwordXRpbC1saW51eCAyLjEwazoKKworKiBORlMgdmVyc2lvbiA0IG1vdW50IHN1cHBvcnQgKFRyb25kIE15a2xlYnVzdCkKKyogaHdjbG9jayBmaXggKFN0ZWZhbiBSaW5nKQorKiBBZGRlZCAtcCBvcHRpb24gdG8gY29sLCBhcyByZXF1aXJlZCBieSBTVVMgKEpvc2VwaCBTLiBNeWVycykKKwordXRpbC1saW51eCAyLjEwajoKKworKiBmZGlzayBmaXhlcyAoTWljaGFsIEphZWdlcm1hbm4pCisKK3V0aWwtbGludXggMi4xMGk6CisKKyogbmV3IGRpcmVjdG9yeSBwYXJ0eCAod2l0aCBjb2RlIHRvIHBsYXkgd2l0aCwgbm90IHRvIHVzZSkKKyogbWlub3IgZmRpc2sgY2hhbmdlcworCit1dGlsLWxpbnV4IDIuMTBoOgorCisqIEFkZGVkIHBpdm90X3Jvb3QgKFdlcm5lciBBbG1lc2JlcmdlcikKKyogQWRkZWQgZWx2dHVuZSAoQW5kcmVhIEFyY2FuZ2VsaSkKKyogQWRkZWQgbmVlZCBhbmQgZXh0ZW5kZWQgc2ltcGxlaW5pdCBhbmQgc2h1dGRvd24gKFJpY2hhcmQgR29vY2gpCisqIFJlbW92ZWQgYWxsICNpbmNsdWRlIDxsaW51eC9mcy5oPgorKiBlcnJubyBmaXhlcyAoSm9zZXBoIFMuIE15ZXJzKQorKiBJQS02NCBmaXhlcyAoTWljaGFlbCBLLiBKb2huc29uKQorKiBmZGlzayBmaXhlcyBmb3IgT1NGLzEgb24gQWxwaGEgKERhdmlkIEh1Z2dpbnMtRGFpbmVzKQorKiBmZGlzayBzZWN0b3JzaXplIGZpeCAoR3JlZyBIb3NsZXIpCisqIG1vdW50IHNwZWVkPSBvcHRpb24gdG8gZW5hYmxlIG1vdW50aW5nIGJhZCBDRFJPTXMgKE1hcmNvIGQnSXRyaSkKKyogaXBjcm0gZGVsZXRlcyBzZXZlcmFsIHRoaW5ncyBhdCBvbmNlIChGcmFuayBaYWdvKQorCit1dGlsLWxpbnV4IDIuMTBnOgorCisqIGZkaXNrIGNhbiBub3cgc29ydCBwYXJ0aXRpb25zIGludG8gb3JkZXIgW3VudGVzdGVkLCBiZXdhcmUhXQorKiBVcGRhdGUgb2YgbWtzd2FwIGZvciBzcGFyYzY0IChqaikKKyogVXBkYXRlIG9mIHJhdyAoU3RlcGhlbiBUd2VlZGllKToKKyAgQ29udHJvbCBmaWxlIHdhcyAvZGV2L3Jhdywgbm93IC9kZXYvcmF3Y3RsCisgIEFjY2VzcyBmaWxlcyB3ZXJlIC9kZXYvcmF3Kiwgbm93IC9kZXYvcmF3L3JhdyoKKyogQ3plY2ggbWVzc2FnZXMgKEppxZnDrSBQYXZsb3Zza8O9KQorKiBHZXJtYW4gbWVzc2FnZXMgKERhbmllbCBFZ2dlcikKKyogbG9zZXR1cCBsb2NrcyBtZW1vcnkgKEZyYW5rIHYgV2F2ZXJlbikKKwordXRpbC1saW51eCAyLjEwZjoKKworKiBTZWN1cml0eSBmaXggZm9yIG1vdW50IChva2lyKQorKiBBdm9pZCBpbmZpbml0ZSBsb29wIGluIG5hbWVpIChCcmV0dCBXdXRoKQorKiBhZGRlZCBjbG9jay1wcGMuYyAoZnJvbSBNYXRzdXVyYSBUYWthbm9yaSksIG5vdCBtZXJnZWQgeWV0CisqIGRlbGV0ZWQgY2xvY2tCIHN1YmRpcmVjdG9yeQorKiByZWNvZ25pemUgbWtkb3NmcyBzdHJpbmcgKE1pY2hhbCBTdmVjKQorCit1dGlsLWxpbnV4IDIuMTBlOgorCisqIE5ldzogcmVuYW1lCisqIEFkZGVkIG9wdGlvbiB0byBta3N3YXAgc28gdGhhdCB1c2VyIGNhbiBvdmVycmlkZSBwYWdlc2l6ZQorKiBmZGlzayAtbCBub3cgcmVhZHMgL3Byb2MvcGFydGl0aW9ucyB3aGVuIG5vIGRldmljZSB3YXMgZ2l2ZW4KKyogRml4ZWQgZmRpc2suOCAoSmFtZXMgTWFubmluZykKKyogQWRkZWQgZGV2cHRzIGluZm8gdG8gbW91bnQuOCAoRWxyb25kKQorKiBOZXdsaW5lIGZpeCBmb3IgbG9nZ2VyIG91dHB1dCB0byBzdGRvdXQgKEhlbnJpIFNwZW5jZXIpCisKK3V0aWwtbGludXggMi4xMGQ6CisKKyogRG8gbm90IHRyeSB0byBtb3VudCBzb21ldGhpbmcgYXMgdWRmIHdpdGhvdXQgZ29vZCByZWFzb24KKyogRG8gbm90IGxvb3AgaW4gdW1vdW50IGlmIHRoZXJlIGlzIGEgc3RhbGUgbG9jayBmaWxlCisqIEFsbG93IGZkaXNrIHR3aWNlIGFzIG1hbnkgY3lsaW5kZXJzCisqIEZpeGVkIG5vbi1jYXNlZm9sZGluZyBzZWFyY2ggaW4gbG9vayAoTWFya3VzIERlbWxlaXRuZXIpCisKK3V0aWwtbGludXggMi4xMGM6CisKKyogVmFyaW91cyBjb21waWxhdGlvbiBmaXhlcworCit1dGlsLWxpbnV4IDIuMTBiOgorCisqIEZpeGVkIHNtYm1vdW50IHByb2JsZW0gKEFuZHJldyBUcmlkZ2VsbCkKKyogRml4ZWQgZGRhdGUgcHJvYmxlbSB3aXRoIHRoZSBkYXkgYWZ0ZXIgU3QuIFRpYidzIERheSAoQnJhZCkKKyogR2VybWFuIG1lc3NhZ2VzIChFbHJvbmQpCisqIE1hZGUga2lsbCBhIGJpdCBtb3JlIHN0YW5kYXJkIGNvbXBsaWFudAorKiBNYWRlIHNvbWUgbW9yZSBwcm9ncmFtcyBvdXRwdXQgYSB2ZXJzaW9uCisKK3V0aWwtbGludXggMi4xMGE6CisKKyogSmFwYW5lc2UgbWVzc2FnZXMgKERhaXN1a2UgWWFtYXNoaXRhKQorKiBGcmVuY2ggbWVzc2FnZXMgYW5kIHNldmVyYWwgRGViaWFuIGZpeGVzIChWaW5jZW50IFJlbmFyZGlhcykKKyogRml4ZWQgaW5maW5pdGUgbG9vcCBpbiBta2ZzLm1pbml4CisKK3V0aWwtbGludXggMi4xMDoKKworKiBBZGRlZCBCU0QgZGlza2xhYmVsIGNvZGUgdG8gcmVzY3VlcHQKKyogQWRkZWQgYmxvY2tkZXYgdXRpbGl0eQorKiBGaXggbG9zZXR1cCByZXR1cm4gY29kZQorKiBGaXggdW5pdCBkaXNwbGF5IGluIGNmZGlzaworKiBEbyBub3QgcmVkZWZpbmUgX1BBVEhfTUFJTERJUiAoc28gdGhhdCByZWNlbnQgc3lzdGVtcyBjYW4gaGF2ZSAvdmFyL21haWwpCisqIEFkZGVkIC0tbG9jYWx0aW1lIG9wdGlvbiB0byBod2Nsb2NrOworICBhZGRlZCB0aGlyZCBsaW5lIChMT0NBTC9VVEMpIHRvIC9ldGMvYWRqdGltZS4KKyogQWRkIC1IIG9wdGlvbiB0byBhZ2V0dHkgKERhdmlkIEhvbGxhbmQpCisKK3V0aWwtbGludXggMi45ejoKKworKiBKYXBhbmVzZSBtZXNzYWdlcyAoRGFpc3VrZSBZYW1hc2hpdGEpCisqIEN6ZWNoIG1lc3NhZ2VzIChKacWZw60gUGF2bG92c2vDvSkKKyogQWRkZWQgc29tZSB1ZGYgc3R1ZmYgdG8gbW91bnQuOAorKiBBZGRlZCBpb2N0bCBmb3IgZmRpc2sgb24gYnNkbGFiZWxzCisKK3V0aWwtbGludXggMi45eToKKworKiBXaWRlIGNoYXJhY3RlciBzdXBwb3J0IChCcnVubyBIYWlibGUpCisqIEdlcm1hbiBtZXNzYWdlcyBhbmQgc29tZSBzbWFsbCBmaXhlcyAoRWxyb25kKQorKiBTbWFsbCBmaXggdG8gb3duZXIgbW91bnQgb3B0aW9uIChFcmlrIFRyb2FuKQorKiBEb24ndCBzbGVlcCBzbyBsb25nIGluIGNsb2NrL2tkLmMgKENocmlzdGlhbiBULiBTdGVpZ2llcykKKwordXRpbC1saW51eCAyLjl4OgorCisqIEdlcm1hbiBtZXNzYWdlcyBhbmQgYSBpMThuIGZpeCAoRWxyb25kKQorKiBtb3VudCBvcHRpb246IGFsbG93IHRoZSBvd25lciB0byBtb3VudCBhIGRldmljZSAoUmVkSGF0KQorKiB1Z2x5OiBsZXQgbG9naW4gb3BlbiBjb25zb2xlIHdpdGggT19OT05CTE9DSyAoTWFjaWVqIFcuIFJvenlja2kpCisqIFVHTFk6IGxldCBsb2dpbiBpZ25vcmUgbWFpbCB0aGF0IGlzIHByZWNpc2VseSA1MjMgYnl0ZXMgbG9uZyAoUmVkSGF0KQorKiBhZGRlZCBta2ZzLmJmcywgbWtmcy5iZnMuOAorKiBtb3VudCBub3cgcmVjb2duaXplcyBxbng0IGFuZCBiZnMgcGFydGl0aW9ucworKiByZXNjdWVwdCBub3cgcmVjb2duaXplcyBVbml4d2FyZSBwYXJ0aXRpb25zCisqIGh3Y2xvY2sgZml4IG9uIG02OGsgKFJvbWFuIEhvZGVrKQorKiBzZXZlcmFsIG1pbm9yIHRoaW5ncworCit1dGlsLWxpbnV4IDIuOXc6CisKKyogVXBkYXRlZCBtb3VudC44IChZYW5uIERyb25lYXVkKQorKiBJbXByb3ZlZCBtYWtlZmlsZXMKKyogRml4ZWQgZmxhdyBpbiBmZGlzaworCit1dGlsLWxpbnV4IDIuOXY6CisKKyogY2ZkaXNrIG5vIGxvbmdlciBiZWxpZXZlcyB0aGUga2VybmVsJ3MgSERHRVRHRU8KKyAgKGFuZCBtYXkgYmUgYWJsZSB0byBwYXJ0aXRpb24gYSAyIFRCIGRpc2spCisKK3V0aWwtbGludXggMi45dToKKworKiBDemVjaCBtb3JlLmhlbHAgYW5kIG1lc3NhZ2VzIChKacWZw60gUGF2bG92c2vDvSkKKyogSmFwYW5lc2UgbWVzc2FnZXMgKERhaXN1a2UgWWFtYXNoaXRhKQorKiBmZGlzayBmaXggKEtsYXVzIEcuIFdhZ25lcikKKyogbW91bnQgZml4IChIaXJva2F6dSBUYWthaGFzaGkpCisqIGFnZXR0eTogZW5hYmxlIGhhcmR3YXJlIGZsb3cgY29udHJvbCAoVGhvcnN0ZW4gS3Jhbnprb3dza2kpCisqIG1pbm9yIGNmZGlzayBpbXByb3ZlbWVudHMKKyogZmRpc2sgbm8gbG9uZ2VyIGFjY2VwdHMgYSBkZWZhdWx0IGRldmljZQorKiBNYWtlZmlsZSBmaXgKKwordXRpbC1saW51eCAyLjl0OgorCisqIG5hdGlvbmFsIGxhbmd1YWdlIHN1cHBvcnQgZm9yIGh3Y2xvY2sKKyogSmFwYW5lc2UgbWVzc2FnZXMgKGJvdGggYnkgRGFpc3VrZSBZYW1hc2hpdGEpCisqIEdlcm1hbiBtZXNzYWdlcyBhbmQgc29tZSBtaXNjIGkxOG4gZml4ZXMgKEVscm9uZCkKKyogQ3plY2ggbWVzc2FnZXMgKEppxZnDrSBQYXZsb3Zza8O9KQorKiB3YWxsIGZpeGVkIGZvciAvZGV2L3B0cy94eCB0dHlzCisqIG1ha2UgbGFzdCBhbmQgd2FsbCB1c2UgZ2V0dXRlbnQoKSAoU2FzY2hhIFNjaHVtYW5uKQorICBbTWF5YmUgdGhpcyBpcyBiYWQ6IGxhc3QgcmVhZGluZyBhbGwgb2Ygd3RtcCBtYXkgYmUgdG9vIHNsb3cuCisgICBSZXZlcnQgaW4gY2FzZSBwZW9wbGUgY29tcGxhaW4uXQorKiBkb2N1bWVudGVkIFVVSUQ9IGFuZCBMQUJFTD0gaW4gZnN0YWIuNQorKiBhZGRlZCBzb21lIHBhcnRpdGlvbiB0eXBlcworKiBzd2Fwb246IHdhcm4gb25seSBpZiB2ZXJib3NlCisKK3V0aWwtbGludXggMi45czoKKworKiB0dW5lbHAgcGF0Y2ggKEFuZHJlYSBBcmNhbmdlbGkpCisqIGZpeGVkIG1vdW50IHJhY2UgKEhKTHUpCisqIEdlcm1hbiBtZXNzYWdlcyAoRWxyb25kKQorCit1dGlsLWxpbnV4IDIuOVtwcXJdOgorCisqIGVycm5vLT5lcnJzdiBwYXRjaCAoQXJuYWxkbyBDYXJ2YWxobyBkZSBNZWxvKQorKiBod2Nsb2NrIHBhdGNoIGZvciB0aGUgQXdhcmQgNC41MGcgQklPUyAiMjA5NCIgYnVnLiAoRGF2ZSBDb2ZmaW4pCisqIGZkaXNrIHBhdGNoIHRvIGNvcnJlY3QgZGVsZXRpb24gb2YgbGFzdCBsb2dpY2FsIHBhcnRpdGlvbgorCit1dGlsLWxpbnV4IDIuOW86CisKKyogZml4IHRvIGxvZ2luIGJ5IEFtYnJvc2UgQy4gTGkKKyogaW1wcm92ZW1lbnQgdG8gbWNvb2tpZSBpbnNwaXJlZCBieSBhIHBhdGNoIGZyb20gUmlrIEZhaXRoCisqIG1vcmUgaTE4biBieSBBcm5hbGRvIENhcnZhbGhvIGRlIE1lbG87IHB0X0JSIGxvY2FsZQorCit1dGlsLWxpbnV4IDIuOW46CisKKyogQWRkZWQgLXUgb3B0aW9uIHRvIGxvZ2dlciAod3JpdGUgdG8gdXNlci1zcGVjaWZpZWQgc29ja2V0OyBNYXJ0aW4gU2NodWx0emUpCisqIEFkZGVkIG1vdW50LnNtYiBzY3JpcHQgY29udHJpYnV0ZWQgYnkgR3JlZyBHYWxwZXJpbgorKiBTb21lIG1vcmUgbmF0aW9uYWwgbGFuZ3VhZ2Ugc3VwcG9ydAorKiBta2ZzLm1pbml4IGFyZ3VtZW50IHBhcnNpbmcgZml4ZWQKKyogd3JpdGUgZml4ZWQgZm9yIC9kZXYvcHRzL3h4IHR0eXMKKyogY29uZmlndXJlIGFkYXB0ZWQgZm9yIHRoZSBjYXNlIG9mIDxzY3NpL3Njc2kuaD4gdGhhdCBuZWVkcyB1X2NoYXIuCisKK3V0aWwtbGludXggMi45bToKKworKiBBZGRlZCBuYXRpb25hbCBsYW5ndWFnZSBzdXBwb3J0IChtaXNpZWtAcGxkLk9SRy5QTCkKKyogbWlub3IgaW1wcm92ZW1lbnRzIGluIG1vdW50LCBmZGlzaywgY2ZkaXNrLCBhZ2V0dHksIG1vcmUKKwordXRpbC1saW51eCAyLjlsOgorCisqIEFkZGVkIC9kZXYvcG9ydCB1c2UgdG8gaHdjbG9jayBhZ2FpbiAtIGl0IG1heSBiZSBuZWNlc3NhcnkgZm9yIEplbnNlbi4KKwordXRpbC1saW51eCAyLjlrOgorCisqIG1ham9yIHJlc2h1ZmZsZSBvZiBod2Nsb2NrIHN0dWZmOyBhZGRlZCBzcGFyYyBhbmQgYWxwaGEgY29kZQorKiBmZGlzayBmaXgKKyogdGlueSBzaHV0ZG93biBmaXgKKwordXRpbC1saW51eCAyLjlqOgorCisqIGFkZGVkIGNvbmZpZ3VyZQorKiBtZXJnZWQgdGhyZWUgbGlzdHMgb2YgcGFydGl0aW9uIHR5cGVzIGluICpmZGlzaworKiBtdWx0aSBwYWdlIGRpc3BsYXkgaW4gY2ZkaXNrCisqIHRlc3QgZm9yIGdldGxvZ2luKCkgPT0gIiI7CisqIHN0YXJ0IGZpeHVwIGh3Y2xvY2sKKwordXRpbC1saW51eCAyLjlpOgorCisqIGZpeGVkIDIuOWggdHlwbyBpbiBtb3JlCisqIGFkZGVkIC1tOiBgTW9uZGF5IGlzIDFzdCBkYXknIG9wdGlvbiB0byBjYWwgKEplYW4tRnJhbmNvaXMgQmlnbm9sbGVzKQorKiBjaGFuZ2VkIFBBTSBzdHVmZiBpbiBsb2dpbi5jICgrLSBtam9obnNvbikKKyogYWRkZWQgd2FybmluZyB0byBjZmRpc2sgaW4gY2FzZSBvZiBtdWx0aXBsZSBib290YWJsZSBwYXJ0aXRpb25zCisqIGFkZGVkIDIwNDgtYnl0ZSBzZWN0b3Igc3VwcG9ydCBpbiBmZGlzayAoT2xpdmVyIFNjaGFlcnRlbCkKKwordXRpbC1saW51eCAyLjloOgorCisqIG1vdW50IHJlY29nbml6ZXMgInVpZD11c2VydWlkIiBhbmQgImdpZD11c2VyZ2lkIiBpbiAvZXRjL2ZzdGFiLgorKiBkb2N1bWVudGVkIHRoZSBmYWN0IHRoYXQgIm1vdW50IC10IHNtYiIgd2lsbCBjYWxsIC9zYmluL21vdW50LnNtYi4KKyogbW91bnQgZ2l2ZXMgY2xlYXIgZXJyb3IgbWVzc2FnZSB3aGVuIGZzdGFiIGRvZXMgbm90IGVuZCBpbiBuZXdsaW5lLgorKiBzd2Fwb24gY2hlY2tzIG1vZGUgb2YgZmlsZQorKiBjZmRpc2sgZ290IGEgbW9yZSBzcGVjaWZpYyBleGl0IHN0YXR1cyAoRW5yaXF1ZSBaYW5hcmRpKQorCit1dGlsLWxpbnV4IDIuOWc6CisKKyogbW91bnQgdXBkYXRlcyAobG9ja2luZywgInVzZXJzIiBrZXl3b3JkLCAiL2V0Yy9maWxlc3lzdGVtcyIsCisgICJwcm90byIgYW5kICJ2ZXJzIiBvcHRpb25zIGluIG5mc21vdW50LCAuLi4pCisKK3V0aWwtbGludXggMi45ZjoKKworKiBtYWRlIHVsIGhhbmRsZSBsaW5lcyBvZiBhcmJpdHJhcnkgbGVuZ3RoIChTY290dCBNYXh3ZWxsKQorKiBraWxsZWQgc29tZSBDL0gvUyBub25zZW5zZSBpbiBmZGlzaworKiBmaXhlcyBmb3IgYXJjaHMgd2l0aCB1bnNpZ25lZCBjaGFyIHR5cGUgKEFtYnJvc2UgTGkpCisqIGZkaXNrIGZpeGVzIGZvciBwb3dlciBwYyAoVG9tIFJpbmkpCisqIGFkZGVkIGEgZGVmaW5lIGZvciBOQ1VSU0VTX0NPTlNUCisqIGZpeGVzIGZvciBsaXN0IG9mIHNpZ25hbHMgaW4ga2lsbC5jCisqIGZpeGVzIGZvciB1c2VyIG5hbWUgbGVuZ3RoIGluIGxhc3QuYworCit1dGlsLWxpbnV4IDIuOWU6CisKKyogYWRkZWQgYSBmb3Jnb3R0ZW4gZGVjbGFyYXRpb24gdG8gbG9naW4uYyAoQ2hyaXN0aWFuIE95YXJ6dW4pCisKK3V0aWwtbGludXggMi45ZDoKKworKiBmaXhlZCBzZWdmYXVsdCBpbiB1bW91bnQgY2F1c2VkIGJ5IFdpbGNveCcgcGF0Y2ggKFN0ZWZmZW4gWmFobikKKyogYWRkZWQgbG56IHN0dWZmIHRvIGZkaXNrCisKK3V0aWwtbGludXggMi45YzoKKworKiByZWZpeGVkIFBBTSBzdHVmZiBpbiBsb2dpbi5jIHRoYXQgd2FzIGJyb2tlbiBpbiAyLjguCisKK3V0aWwtbGludXggMi45YjoKKworKiBzcGxpdCBSRUFETUUgaW50byBJTlNUQUxMIGFuZCBISVNUT1JZCisqIGFkZGVkIGEgc2VudGVuY2UgdG8gc3dhcG9uLjgKKyogYmVoYXZpb3Igb2Ygd3JpdGUgb24gbm9uLUFTQ0lJIGZpeGVkCisqIGh3Y2xvY2sgYWRhcHRlZCB0byBzdXJ2aXZlIGEgZmFpbGluZyBta3RpbWUoKQorCit1dGlsLWxpbnV4IDIuOWE6CisKKyogYWRkZWQgYW4gaW5jbHVkZSB0byBsaWIvbXlfcmVib290LmMgc28gdGhhdCBfX0dMSUJDX18gaXMgZGVmaW5lZAorKiBhZGRlZCBzZXRsb2NhbGUoKSB0byBsb2dpbi11dGlscy9jaGZuLmMKKyogZG8gbm90IHJlY29tcHV0ZSBNQUlMIGluIGxvZ2luLXV0aWxzL2xvZ2luLmMKKwordXRpbC1saW51eCAyLjk6CisKK0hJR0hMSUdIVFMgZm9yIHZlcnNpb24gMi45OgorCisxKSBSZW1vdmVkIHByb2dyYW1zOgorICAgLSBzdHJpbmdzLiBUaGVyZSBpcyBhIHZlcnNpb24gaW4gYmludXRpbHMuCisgICAtIGZyYWcuIChNb3ZlZCB0byBoaXN0b3JpYyBpbiAyLjQsIGNyZXB0IGJhY2sgaW4gMi41LiBHb25lIGFnYWluLikKKzFhKSBOb3QgeWV0IHJlbW92ZWQgcHJvZ3JhbToKKyAgIC0gc2V0ZmRwcm0uIEl0IGFsc28gaXMgaW4gZmR1dGlscy01LjIgKHdpdGggYW4gZXhjZXB0aW9uYWxseQorICAgICB1Z2x5IG1hbiBwYWdlKS4KKzFiKSBSZW1vdmVkIGRpcmVjdG9yeToKKyAgIC0gYnNkLiAoVGhlIHJvdXRpbmUgZ2V0b3B0KCkgaXMgaW4gbGliYy4gZXJyKCkgbW92ZWQgdG8gbGliLikKKzIpIEltcHJvdmVtZW50czoKKyAgIC0gZGRhdGUgaGFzIGJlZW4gZml4ZWQgdG8gY291bnQgZG93biB0byB0aGUgbmV3LCByaWdodCBYLWRheQorICAgLSBsb29rIGlzIG5vdyB3aWxsaW5nIHRvIHNlYXJjaCBub24tRW5nbGlzaCBkaWN0aW9uYXJpZXMKKyAgICAgKGkuZS4sIHVzZXMgbG9jYWxlKQorICAgLSBjYWwgbm93IGtub3dzIHRoYXQgRHV0Y2ggZGF5IGFiYnJldmlhdGlvbnMgaGF2ZSBsZW5ndGggMiBvbmx5CisgICAtIG1jb29raWUgZG9lcyBub3QgYmxvY2sgd2hlbiBubyByYW5kb20gc3R1ZmYgaXMgYXZhaWxhYmxlCisgICAtIHNodXRkb3duIGdvdCBhIGNvbmZpZ3VyYXRpb24gZmlsZSAvZXRjL3NodXRkb3duLmNvbmYKKyAgIC0gZmRpc2sgbm93IHJlYWRzIFNHSSBkaXNrIGxhYmVscyAodGhhbmtzIHRvIEFuZHJlYXMgTmV1cGVyKQorICAgLSBta3N3YXAgbm93IGtub3dzIGFib3V0IG5ldyBzd2FwIGFyZWFzOyBta3N3YXAuOCBoYXMgYmVlbiByZXdyaXR0ZW4KKyAgIC0gdW1vdW50IGtub3dzIGFib3V0IHVtb3VudDIoKSBhbmQgZm9yY2VkIHVubW91bnRpbmcgb2YgbmZzIG1vdW50cworICAgICAoaG93ZXZlciwgSSBkb24ndCB0aGluayBpdCByZWFsbHkgd29ya3MpCisgICAtIG1vdW50IGlzIG5vdyB3aWxsaW5nIHRvIGhhbmRsZSBmaWxlIG5hbWVzIHdpdGggZW1iZWRkZWQgc3BhY2VzCisgICAtIG1vdW50IGNhbiBub3cgbW91bnQgdGhpbmdzIGJ5IFVVSUQgb3Igdm9sdW1lIG5hbWUKKzMpIFVnbGlmaWNhdGlvbnM6CisgICAtIHN3YXAuaCBoYXMgYmVlbiByZXBsYWNlZCBieSBhIHByaXZhdGUgc3dhcF9jb25zdGFudHMuaCBzaW5jZQorICAgICA8bGludXgvc3dhcC5oPiBkb2VzIG5vdCBjb21waWxlCisgICAtIHJlYm9vdCBoYXMgYmVjb21lIGEgcHJpdmF0ZSByb3V0aW5lLCBzaW5jZSBsaWJjNSBhbmQgZ2xpYmMyIGNvbmZsaWN0CisgICAtIGEgbWttaW5peC0wLjEgZGlyZWN0b3J5IGNvbnRhaW5zIHNvbWUgcGF0Y2hlcyB0byBsZXQgbWtmcy5taW5peAorICAgICB3b3JrIHVuZGVyIERPUy4gKFVudGVzdGVkLikKKzQpIE51bWVyb3VzIG90aGVyIHNtYWxsIGNoYW5nZXMuCisKKzB4RikgU2VuZCBxdWVzdGlvbnMgYW5kL29yIHBhdGNoZXMgdG8gdXRpbC1saW51eEBtYXRoLnVpby5ubworCit1dGlsLWxpbnV4IDIuOSB3YXMgcmVsZWFzZWQgYnkgQW5kcmllcyBCcm91d2VyIC0gYWViQGN3aS5ubAorVGhlIGFkZHJlc3MgdXRpbC1saW51eEBtYXRoLnVpby5ubyByZWFjaGVzIFJpaywgQW5kcmllcywgUGV0ZXIsCitNaWNoYWVsLCBFcmlrLCBOaWNvbGFpIGFuZCBwb3NzaWJseSBvdGhlcnMuICBId2Nsb2NrIHN0dWZmIGlzCitmb3J3YXJkZWQgdG8gQnJ5YW4uCisKK3V0aWwtbGludXggMi44OgorCitISUdITElHSFRTIGZvciB2ZXJzaW9uIDIuODoKKworMSkgTmV3IHByb2dyYW1zOgorICAgLSBnZXRvcHQoMSkgYnkgRnJvZG8gTG9vaWphYXJkIHJlcGxhY2VzIHRoZSBvbGRlciBic2QgYmFzZWQgdmVyc2lvbi4KKyAgICAgS2V5d29yZHM6IEJhY2t3YXJkIGNvbXBhdGlibGUsIHN1cHBvcnRzIC0tbG9uZyBvcHRpb25zLgorMSkgUmVtb3ZlZCBwcm9ncmFtczogCisgICAtIGNocm9vdDogaXMgbm8gbG9uZ2VyIGluIHV0aWwtbGludXguICBHZXQgaXQgZnJlZSB3aXRoIEdOVSBzaC11dGlscworICAgLSBob3N0aWQ6IE5vLW9uZSBjb3VsZCBmaWd1cmUgb3V0IHRoZSByaWdodCB3YXkgZm9yIHRoaXMgcHJvZ3JhbSB0bworCQl3b3JrLiAgQW5vdGhlciBob3N0aWQgcHJvZ3JhbSBpcyBpbmNsdWRlZCBpbiBwb2VpZ2wKKwkJKHNlZSB0aGUgTFNNLCBQcmltYXJ5LXNpdGU6IGZ0cC5kYWltaS5hYXUuZGsgL3B1Yi9saW51eC9wb2UpCisyKSBWYXJpb3VzIHBvcnRhYmlsaXR5IGVuaGFuY2VtZW50cy4gIEFtb25nIG90aGVyIHRoaW5ncyBod2Nsb2NrIG5vdyB3b3JrcworICAgYSBsb3QgYmV0dGVyIG9uIG5vbiBJbnRlbCBhcmNoaXRlY3R1cmVzLiAgU2hvdWxkIGNvbXBpbGUgd2l0aCBsaWJjIDQsIDUKKyAgIGFuZCA2IGFzIHdlbGwgYXMgb2xkIGFuZCByZWNlbnQga2VybmVscy4gIFBlb3BsZSB1c2luZyBub24taW50ZWwgaGFyZHdhcmUKKyAgIGFyZSBlbmNvdXJhZ2VkIHRvIHNlbmQgcGF0Y2hlcy4KKzMpIHJldiBub3cgb25seSBsaW1pdHMgbGluZWxlbmd0aCB0byBtZW1vcnkgY2FwYWNpdHkKKzQpIGRtZXNnIG5vdyB1c2VzIGEgYnVmZmVyIHRoYXQgbWF0Y2hlcyB0aGUga2VybmVsIGJ1ZmZlciBpbiBzaXplICg4S0IpCisKKwordXRpbC1saW51eCAyLjc6CisKK0hJR0xJR0hUUyBmb3IgdmVyc2lvbiAyLjc6CisKKzEpIHV0aWwtbGludXggbm93IF9yZXF1aXJlc18gbmN1cnNlcy4gIFNldmVyYWwgcHJvZ3JhbXMgYXJlIGNvbXBsZXRlbHkKKyAgIGNvbnZlcnRlZCB0byB1c2UgdGVybWluZm8gKGluc3RlYWQgb2YgdGVybWNhcCkuCisKKzIpIFJlbW92ZWQgcHJvZ2FtczoKKyAgIC0gY2xvY2s6IERyb3BwZWQgZW50aXJlbHkuICBVc2UgaHdjbG9jayAoaW5jbHVkZWQpLgorICAgLSBzeW5jOiBpcyBpbiBnbnUgZmlsZXV0aWxzLgorICAgLSBzZXRzZXJpYWw6IElzIGJlaW5nIG1haW50YWluZWQgYnkgVGVkIFRzJ28sIGhlIHJlY29tbWVuZHMKKwlzZXRzZXJpYWwtMi4xMiAoMi4xMyBpcyBiYWQgbHVjaykKKyAgIC0gY2xlYXI6IEluY2x1ZGVkIGluIG5jdXJzZXMKKyAgIC0gaG9zdG5hbWUsIGRvbWFpbm5hbWUsIGRuc2RvbWFpbm5hbWU6IEl0J3MgaW4gbmV0LXV0aWxzLgorICAgLSBscGNudGwuCisKKzMpIEJ1Z2ZpeGVzLCBhZGRpdGlvbnM6CisgICAtIGNmZGlzazogQSBtdWNoIGltcHJvdmVkIHZlcnNpb24uIEFsbCBrbm93biBidWdzIGhhdmUgYmVlbiBmaXhlZC4KKyAgIC0gc2ZkaXNrOiBBIGNvbW1hbmQgbGluZSBmZGlzayB0eXBlIHV0aWxpdHksIGZvcm1lcmx5IGNhbGxlZCBmZGlzay0zLjA0LgorICAgLSBTRUNVUklUWTogQWxsIGtub3duIGhvbGVzIGluIGxvZ2luLCBjaGZuLCBjaHNoIGFuZCBvdGhlcnMgaGF2ZSBiZWVuCisgICAgIHBsdWdnZWQuICBVUEdSQURFIE5PVyBpZiB5b3UgaGF2ZW4ndCBhbHJlYWR5IGZpeGVkIHRoZW0geW91cnNlbGYuCisgICAtIFNob3VsZCB3b3JrIHdpdGggbGliYyA0LCA1IGFuZCA2IChnbnVsaWJjKSwgb24gbTY4aywgaW50ZWwsIGFscGhhCisgICAgIGFuZCBzcGFyYy4KKworNCkgUHJvYmxlbXM6CisgICAtIFRoZSBycGNnZW4gdGhhdCBjb21lcyBpbiBOZXRLaXQtQi0wLjA5IGlzIGJyb2tlbi4gIEF0IGxlYXN0IGFzCisgICAgIHBhY2thZ2VkIHdpdGggUmVkSGF0IDQuMiAoTmV0S2l0LUItMC4wOS02KS4gIFRoZXJlIGFyZSBzZXZlcmFsCisgICAgIHdheXMgdG8gZGVhbCB3aXRoIHRoaXM6CisgICAgIC0gRG9uJ3QgcnVuIHJwY2dlbiwgdGhlIG5lZWRlZCBwcmUtZ2VuZXJhdGVkIHNvdXJjZXMgYXJlIGluY2x1ZGVkCisgICAgICAgKG5mc21vdW50X3hkci5jKS4gIFlvdSBtdXN0IGhhY2sgbW91bnQvTWFrZWZpbGUgdG8gZG8gdGhpcy4KKyAgICAgLSBFZGl0IHRoZSBzb3VyY2UgZW1pdHRlZCBieSBycGNnZW4gc28gaXQgY2FuIGNvbXBpbGUuICBUaGlzIGlzIHZlcnkKKyAgICAgICBzaW1wbGUgaWYgeW91IGtub3cgQy4KKyAgICAgLSBEaXNhYmxlIHRoZSBORlMgcGFydHMgb2YgbW91bnQuICBZb3UgaGF2ZSB0byBlZGl0IG1vdW50L01ha2VmaWxlCisgICAgICAgdG8gZG8gdGhpcy4KKyAgICAgLSBVc2Ugc29tZSBvdGhlciBycGNnZW4uCisKK3V0aWwtbGludXggMi42LjEKKworVGhpcyByZWxlYXNlIHdhcyBuZXZlciBtYWRlIHB1YmxpYworCitTZWUgbm90ZXMgZm9yIDIuNiBmb3IgaW5zdGFsbGF0aW9uIGluc3RydWN0aW9ucy4KKworVGhpcyBpcyBhIGluY3JlbWVudGFsIHJlbGVhc2UgY29udGFpbmluZyBzb21lIGZpeGVzLiAgQSBuZXcgcmVsZWFzZQord2lsbCBiZSBtYWRlIGxhdGVyIGZpeGluZyB0aGUgb3V0c3RhbmRpbmcgYnVncy4KKy0gVGhpbmdzIGNvbXBpbGVzIGFuZCB3b3JrcyBiZXR0ZXIgd2l0aCByZWNlbnQgcmVsZWFzZXMgb2Yga2VybmVsLCAKKyAgbmN1cnNlcywgYW5kIHNvIGZvcnRoOiBmZGlzaywgbW9yZQorLSBTb21lIGZpeGVzIHRvIG1ha2UgdGhpbmdzIGNvbXBpbGUgb3V0IG9mIHRoZSBib3ggb24gYWxwaGFzLgorLSBUaGVyZSBoYXMgYmVlbiByZXBvcnRlZCBhIHByb2JsZW0gd2l0aCBsb2dpbiBhbmQgL2V0Yy91c2VydHR5LiAgSXQKKyAgc2hvdWxkIGJlIGZpeGVkLiAgSWYgeW91IHN0aWxsIGhhdmUgcHJvYmxlbXMgZ2V0IGEgcmVjZW50IE1BS0VERVYgYW5kIAorICB1c2UgaXQgdG8gbWFrZSBuZXcgdHR5IGRldmljZXMuICBUaGV5IHdlcmUgcmVudW1iZXJlZCBzb21ldGltZSBkdXJpbmcKKyAgdGhlIDEuMyBwaGFzZSBvZiB0aGUga2VybmVsLgorLSBpcGNzIG5vdyBkaXNwbGF5cyB0aGUga2V5IG9mIHRoZSBzdHJ1Y3R1cmVzLgorLSBBIChoYXJtbGVzcz8pIG92ZXJmbG93IGJ1ZyB3YXMgZml4ZWQgaW4gbG9naW4uCisKK091dHN0YW5kaW5nIGJ1Z3M6CistIGxvZ2luL2dldHR5IGhhcyBhIGRlbmlhbCBvZiBzZXJ2aWNlIHByb2JsZW0uCistIFNldmVyYWwgcGxhY2VzIG5lZWRzIGEgYml0IG1vcmUgcG9saXNoLgorLSBUaGVyZSBhcmUgYSBfbG90XyBvZiBub25mYXRhbCB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyBtb3VudC4gIFRoaXMgd2lsbAorICBub3QgbmVjZXNzYXJpbHkgYmUgZml4ZWQuCisKKwordXRpbC1saW51eCAyLjYKKworSElHSExJR0hUUyBmb3IgdmVyc2lvbiAyLjY6CisKKzApIFRoZSBmaXJzdCByZWxlYXNlIHdpdGggbWUgYXQgdGhlIGhlbG0uICBQTEVBU0UgU0VORCBQQVRDSEVTIEFORAorICAgVVBEQVRFUyBUTzogdXRpbC1saW51eEBtYXRoLnVpby5uby4KKworMSkgUmVtb3ZlZCBwcm9ncmFtczoKKyAgIC0gbWQ1c3VtLCBkc3BsaXQ6IGF2YWlsYWJsZSBpbiBHTlUgdGV4dHV0aWxzLgorICAgLSBzeXNsb2dkOiBTeXNrbG9nZCBpcyBub3cgcHJlZmVycmVkLiAgSXQgaXMgYXZhaWxhYmxlIGF0CisJdHN4LTExLm1pdC5lZHU6L3B1Yi9zb3VyY2VzL3NiaW4KKwlzdW5zaXRlLnVuYy5lZHU6L3B1Yi9MaW51eC9zeXN0ZW0vRGFlbW9ucworCisyKSBCdWdmaXhlcywgYWRkaXRpb25zOiAKKyAgIC0gU0VDVVJJVFk6IEFsbCBrbm93biBob2xlcyBpbiBtb3VudCBoYXZlIGJlZW4gZml4ZWQuICBVUEdSQURFIE5PVworICAgICBpZiB5b3UgaGF2ZW4ndCBhbHJlYWR5IQorICAgLSBQb3J0YWJpbGl0eSBlbmhhbmNtZW50cyB0byB0aGUgbWluaXggZmlsZXN5c3RlbSB1dGlscyAobTY4ayBhbmQKKyAgICAgQXJtIHBhdGNoZXMpLgorICAgLSBwYXNzd2QvY2hzaC9jaGZuIHdpbGwgbm90IG1lc3MgdXAgdGhlIHBhc3N3ZCBmaWxlIG9uIGEgTklTIG1hY2hpbmUKKyAgIC0gb3RoZXJzIHRvbyBudW1lcm91cyB0byBlbnVtZXJhdGUuCisKKzMpIE5ldyBwcm9ncmFtczogCisgICAtIHZpZ3IgKGl0J3MgbGlrZSB2aXB3KQorICAgLSBJbnRyb2R1Y2luZyBod2Nsb2NrLiAgQSBjb21wbGV0ZSByZXdyaXRlIG9mIHRoZSBsYXRlc3QgYXZhaWxhYmxlCisgICAgIGNsb2NrIHNvdXJjZS4gIEl0IHN1cHBvcnRzIGludGVsL0NNT1MsIC9kZXYvcnRjIGFuZCBsaW51eC9tNjhrCisgICAgIHN5c3RlbSBjbG9jayBpbnRlcmZhY2VzLiAgQ2xvY2sgc3VwcG9ydHMgdGhlIHNhbWUgdGhpbmdzIGJ1dCBpcyBub3cKKyAgICAgb2Jzb2xldGUgYW5kIHdpbGwgbm90IGJlIHByZXNlbnQgaW4gdGhlIG5leHQgcmVsZWFzZS4gIFN0YXJ0IHVzaW5nCisgICAgIGh3Y2xvY2sgbm93LiAgUGxlYXNlLgorCisKK3V0aWwtbGludXggMi41CisKK0hJR0hMSUdIVFMgZm9yIHZlcnNpb24gMi41OgorMCkgTmljb2xhaSBMYW5nZmVsZHQgaXMgdGFraW5nIG92ZXIgbWFpbnRlbmFuY2Ugb2YgdXRpbC1saW51eCwgd2l0aCB0aGUKKyAgIGhlbHAgb2YgYSBmZXcgb3RoZXJzIChNaWNoYWVsIEsuIEpvaG5zb24sIEFuZHJpZXMgQnJvdXdlciwgYW5kIFJpaworICAgRmFpdGgpLgorCisgICBQTEVBU0UgU0VORCBQQVRDSEVTIEFORCBVUERBVEVTIFRPOiB1dGlsLWxpbnV4QG1hdGgudWlvLm5vCisKKzEpIFRoZSBmb2xsb3dpbmcgcGFja2FnZXMgaGF2ZSBiZWVuIHJlbW92ZWQuICBQbGVhc2UgdXNlIHRoZSB1cC10by1kYXRlLAorICAgY2Fub25pY2FsIHZlcnNpb25zIG9mIHRoZXNlIHBhY2thZ2VzIGZyb20gdGhlIGxpc3RlZCBwbGFjZXM6CisKKyAgICB0aW1lem9uZSBzdXBwb3J0ICgvdXNyL2xpYi96b25laW5mbywgbGliei5hLCB6aWMsIHpkdW1wKToKKyAgICAgICAgZWxzaWUubmNpLm5paC5nb3Y6L3B1Yi90emNvZGU5NWQudGFyLmd6CisgICAgICAgIGVsc2llLm5jaS5uaWguZ292Oi9wdWIvdHpkYXRhOTVoLnRhci5negorICAgIE1BS0VERVYtQzoKKyAgICAgICAgc3Vuc2l0ZS51bmMuZWR1Oi9wdWIvTGludXgvc3lzdGVtL0FkbWluL01BS0VERVYtQy0xLjUudGFyLmd6CisgICAgTUFLRURFVjoKKyAgICAgICAgc3Vuc2l0ZS51bmMuZWR1Oi9wdWIvTGludXgvc3lzdGVtL0FkbWluL01BS0VERVYtMi4yLnRhci5negorICAgIG1kNXN1bToKKyAgICAgICAgcHJlcC5haS5taXQuZWR1Oi9wdWIvZ251L3RleHR1dGlscy0xLjMudGFyLmd6CisgICAgICAgIFtUaGUgR05VIHZlcnNpb24gaXMgbm93IGNvbXBhdGlibGUgd2l0aCB0aGUgUGx1bWIvTGFua2VzdGVyCisgICAgICAgIHZlcnNpb24uXQorICAgIGtzeW1vb3BzOgorICAgICAgICBOb3cgYnVuZGxlZCB3aXRoIHRoZSBrZXJuZWwgaW4gbGludXgvc2NyaXB0cy4KKworMikgdXBkYXRlX3N0YXRlIGhhcyBiZWVuIHJlbW92ZWQKKzMpIGZkaXNrIG5vdyBzdXBwb3J0cyBOZXRCU0QgZGlza2xhYmVscyBjb3VydGVzeSBvZiBCZXJuaGFyZCBGYXN0ZW5yYXRoCisgICA8ZmFzdGVuQGF0aGVuZS5pbmZvcm1hdGlrLnVuaS1ib25uLmRlPiAoYW5kID4gOEdCIGRpc2tzLCBjb3VydGVzeSBvZgorICAgQW5kcmllcyBCcm91d2VyKQorNCkgbW91bnQgaW1wcm92ZWQgLS0gbWFueSBwYXRjaGVzIGZyb20gQW5kcmllcyBCcm91d2VyIGZvciBncmVhdGx5IGltcHJvdmVkCisgICBlcnJvciByZXBvcnRpbmcKKzUpIGRkYXRlLCBjaGtkdXBleGUsIGFuZCBvdGhlciBwcm9ncmFtcyBoYXZlIGJlZW4gaW1wcm92ZWQgYW5kIGJ1ZyBmaXhlZAorNikgdXRpbC1saW51eCBpcyBub3cgYSBzb3VyY2Utb25seSBkaXN0cmlidXRpb24KKzcpIG1jb29raWUgZ2VuZXJhdGVzIGJldHRlciByYW5kb20gbnVtYmVycyBhbmQgd2lsbCB1c2UgL2Rldi9yYW5kb20gb3IKKyAgIC9kZXYvYXVkaW8gaWYgYXZhaWxhYmxlCis4KSBjaGZuLCBjaHNoLCBwYXNzd2QsIGFuZCB2aXB3IGhhdmUgYmVlbiB1cGRhdGVkIHdpdGggc2VjdXJpdHkgcGF0Y2hlcworICAgZnJvbSBaZWZyYW0gPEEuTWFpbkBkY3Mud2Fyd2ljay5hYy51az4uICBOb3csIHRoZXkgYWxsIHVzZSB0aGUgc2FtZQorICAgbG9ja2luZywgYW5kIHNldmVyYWwgc2VjdXJpdHkgaG9sZXMgaGF2ZSBiZWVuIHBhdGNoZWQuICBGdXJ0aGVyLCBjaHNoCisgICBhbmQgY2hmbiBjYW4gYmUgY29uZmlndXJlZCBhdCBjb21waWxlIHRpbWUgdG8gcmVxdWlyZSBhIHBhc3N3b3JkIGJlZm9yZQorICAgdXBkYXRlcyBhbmQgY2hzaCBjYW4gYmUgY29uZmlndXJlZCB0byBvbmx5IHVzZSBzaGVsbHMgZnJvbSAvZXRjL3NoZWxscy4KKyAgICAgICAgCisKK0hJR0hMSUdIVFMgZm9yIHZlcnNpb24gMi40ICgyLjMgd2FzIG5ldmVyIHJlbGVhc2VkKToKKzApIE1pY2hhZWwgSy4gSm9obnNvbiA8am9obnNvbm1AbmlnZWwudm5ldC5uZXQ+IGlzIHRoZSBpbnRlcmltIG1haW50YWluZXIKKyAgIHdoaWxlIFJpayBGYWl0aCBpcyB3b3JraW5nIG9uIFBoRCB3b3JrLgorMSkgbG9naW4gbm93IG1ha2VzIHRoZSBsb2dpbiB0dHkgbW9kZSA2MDAgYW5kIHBsYWNlcyBpdCBpbiBncm91cCAidHR5IgorMikgd2FsbCwgYW5kIHdyaXRlIHdpbGwgbm90IHdyaXRlIGRhbmdlcm91cyBlc2NhcGUgc2VxdWVuY2VzCiszKSB3YWxsIGFuZCB3cml0ZSBjYW4gYmUgcnVuIHNldGdpZCAidHR5Ii4gIElmIHV0aWwtbGludXggaXMgY29tcGlsZWQgZm9yCisgICB0aGlzIG9wdGlvbiwgIm1lc2cgeSIgd2lsbCBvbmx5IHNldCBncm91cCB3cml0ZSBpbnN0ZWFkIG9mIGdyb3VwL290aGVyCisgICB3cml0ZS4KKzQpIGZkaXNrIGFuZCBjZmRpc2sgaGF2ZSBiZWVuIHBhdGNoZWQgd2l0aCB0aGUgbGF0ZXN0IGxsc2Vlay5jLiAgQWx0aG91Z2ggSQorICAgaGFkIGEgbG90IG9mIGJ1ZyByZXBvcnRzIGFib3V0IGZkaXNrIGZyb20gdXRpbC1saW51eC0yLjIsIEkgd2FzIHVuYWJsZQorICAgdG8gcmVwcm9kdWNlIGFueSBvZiB0aGUgcHJvYmxlbXMuICBTb21lIG9mIHRoZSBwcm9ibGVtcyBhcHBlYXJlZCB0byBiZQorICAgcmVsZWF0ZWQgdG8gYSBmYWlsdXJlIHRvIHJlYm9vdCB0aGUgbWFjaGluZSBhZnRlciBjaGFuZ2luZyB0aGUgcGFydGl0aW9uCisgICB0YWJsZSwgYW5kIHNvbWUgbWF5IGhhdmUgYmVlbiBkdWUgdG8gYSBzcGVjaWZpYyBrZXJuZWwgcmV2aXNpb24gcHJvYmxlbS4KKyAgIEhvd2V2ZXIsIHRoaXMgZG9lc24ndCBzZWVtIHRvIGFjY291bnQgZm9yIGFsbCBvZiB0aGUgYnVnIHJlcG9ydHMgLS0gaWYKKyAgIHRoaXMgdmVyc2lvbiBnaXZlcyB5b3UgcHJvYmxlbSwgcGxlYXNlIHNlbmQgYXMgY29tcGxldGUgYSBidWcgcmVwb3J0IGFzCisgICBwb3NzaWJsZS4KKzUpIGNoa2R1cGV4ZSBmcm9tIE5pY29sYWkgTGFuZ2ZlbGR0IChqYW5sQGlmaS51aW8ubm8pCis2KSBjdHJsYWx0ZGVsIG5vdyBpbnN0YWxscyBpbnRvIC9zYmluIGluc3RlYWQgb2YgL3Vzci9zYmluCis3KSBta2ZzIHJlcGxhY2VtZW50IGZyb20gUm9uIFNvbW1lbGluZyAoc29tbWVsQHNjaS5rdW4ubmwpCis4KSBscGNudGwgcmVtb3ZlZC4gIFVzZSB0dW5lbHAgaW5zdGVhZC4KKzkpIGtzeW1vb3BzIGZyb20gR3JlZyBNY0dhcnkgPGdrbUBtYWdpbGxhLmNpY2hsaWQuY29tPgorMTApIG1rZnMubWluaXggbm93IGNsZWFycyB0aGUgZmlyc3QgNTEyIGJ5dGVzIG9mIHRoZSBmaWxlIHN5c3RlbSBzbyB0aGF0CisgICAgTWluaXggZGlza3Mgd29uJ3QgYmUgY29uZnVzZWQgd2l0aCBNU0RPUyBkaXNrcyAoRGFuaWVsIFF1aW5sYW4KKyAgICAocXVpbmxhbkB5Z2dkcmFzaWwuY29tKSkKKzExKSBta3N3YXAgc2hvdWxkIG5vdyB3b3JrIG9uIGFuIEFscGhhIHJ1bm5pbmcgTGludXgKKzEyKSBmcmFnIHJlbW92ZWQuICBTZWUKKyAgICBzdW5zaXRlLnVuYy5lZHU6L3B1Yi9MaW51eC9zeXN0ZW0vRmlsZXN5c3RlbXMvZGVmcmFnLTAuNi50YXIuZ3ogZm9yIHRoZQorICAgIGxhdGVzdCB2ZXJzaW9uLgorMTMpIG1vdW50IHBhdGNoZXMgZnJvbSBBbmRyaWVzLkJyb3V3ZXJAY3dpLm5sIGFuZCBEYW4gUXVpbmxhbgorICAgIChxdWlubGFuQHlnZ2RyYXNpbC5jb20pLgorMTQpIE1BS0VERVYgYW5kIE1BS0VERVYtQyB1cGRhdGVkIHRvIHRoZSBsYXRlc3QgdmVyc2lvbnMuCisxNSkgUGF0aHMgdXBkYXRlZCBmb3IgRlNTVE5EIDEuMi4gIFRoaXMgbWVhbnMgdGhhdCB5b3UgbWF5IG5lZWQgdG8gbWFrZQorICAgIHNvbWUgbGlua3MuICBUaGUgbGlua3MgeW91IG5lZWQgdG8gbWFrZSB3ZSBzeXN0ZW0gZGVwZW5kZW50LiAgVGhlCisgICAgdWx0aW1hdGUgZ29hbCBpcyB0byByZW5hbWUgL3Zhci9hZG0gdG8gL3Zhci9sb2cgYW5kIGhhdmUgYSBzeW1ib2xpYworICAgIGxpbmsgZnJvbSAvdmFyL2FkbSB0byAvdmFyL2xvZyBkdXJpbmcgdGhlIHRyYW5zaXRpb24gcGVyaW9kLiAgSWYgeW91CisgICAgYXJlIHJ1bm5pbmcgYW4gRUxGIHN5c3RlbSwgeW91IHByb2JhYmx5IHdvbid0IGhhdmUgdG8gZG8gYW55dGhpbmcuICBUaGUKKyAgICBib3R0b20gbGluZSBpcyB0aGF0IHRoZSBmb2xsb3dpbmcgZmlsZXMgbXVzdCBleGlzdCBvciBiZSBwb2ludGVycyB0bworICAgIHRoZSBvbGQgdmVyc2lvbiAodXNlZCBpbnRlcm5hbGx5IGJ5IHRoZSBhLm91dCBsaWJyYXJpZXMpOgorCisgICAgICAgICAgICAgTmV3ICAgICAgICAgICAgICAgICBPbGQKKworICAgICAgICAvdmFyL2xvZy93dG1wICAgICAgIC92YXIvYWRtL3d0bXAKKyAgICAgICAgL3Zhci9sb2cvbGFzdGxvZyAgICAvdmFyL2FkbS9sYXN0bG9nCisgICAgICAgIC92YXIvcnVuL3V0bXAgICAgICAgL3Zhci9hZG0vdXRtcAorCitISUdITElHSFRTIGZvciB2ZXJzaW9uIDIuMjoKKzEpIFRoaXMgaXMgcHJpbWFyaWx5IGEgcXVpY2sgYnVnLWZpeCByZWxlYXNlIGZvciB2ZXJzaW9uIDIuMQorMikgbWtmcyB3cmFwcGVyIGFkZGVkIGJhY2sgaW4sIHNpbmNlIGUyZnNwcm9ncyBvbmx5IHN1cHBsaWVzIGFuIGZzY2sgd3JhcHBlcgorMykgc2VsZWN0aW9uIHJlbW92ZWQsIHNpbmNlIHNvbWVvbmUgYXBwZWFycyB0byBiZSBtYWludGFpbmluZyBpdCBub3cuICBTZWUKKyAgIHN1bnNpdGUudW5jLmVkdTovcHViL2xpbnV4L2tlcm5lbC9wYXRjaGVzL2NvbnNvbGUgZm9yIHJlY2VudCBzb3VyY2VzLgorICAgRm9yIHRoZSB0aW1lIGJlaW5nLCBJJ20ga2VlcGluZyBhIGNvcHkgaW4gdGhlIGhpc3RvcmljIHN1YmRpcmVjdG9yeSBvZgorICAgdXRpbC1saW51eC4gIEEgIm1ha2UgaW5zdGFsbCIgc2hvdWxkIHdvcmsgZmluZCBmcm9tIHdpdGhpbiB0aGF0CisgICBkaXJlY3RvcnkuCis0KSBOb3RlIHRoYXQgb3RoZXIgZmxvcHB5IHV0aWxpdGllcyBhcmUgYXZhaWxhYmxlIGZyb206CisgICAgZnRwLmltYWcuZnI6cHViL0xpbnV4L1pMSUJDL2ZkdXRpbHMvZmR1dGlscy00LjEuc3JjLnRhci5negorICAgIHN1bnNpdGUudW5jLmVkdTovcHViL0xpbnV4L3N5c3RlbS9NaXNjL2ZkdXRpbHMtNC4xLnNyYy50YXIuZ3oKKyAgICB0c3gtMTEubWl0LmVkdTovcHViL2xpbnV4L3NvdXJjZXMvc2Jpbi9mZHV0aWxzLTQuMS5zcmMudGFyLmd6CisKKworSElHSExJR0hUUyBmb3IgdmVyc2lvbiAyLjE6CisKKzEpIERpcmVjdG9yeSBzdHJ1Y3R1cmUgcmVhcnJhbmdlLCB3aXRoIGNvbmZpZ3VyYXRpb24gc3VwcG9ydCBmb3IgdGhvc2Ugd2hvCisgICB1c2Ugc2hhZG93IHBhc3N3b3JkcyBhbmQgU3lzdGVtIFYgaW5pdCAobm8gc3VwcG9ydCBpcyBwcm92aWRlZCBmb3IgdGhlc2UKKyAgIHRoaW5ncywgYnV0IHlvdXIgdXRpbGl0aWVzIHdvbid0IGdldCBvdmVyd3JpdHRlbiBpZiB5b3UgZG8gYSAibWFrZQorICAgaW5zdGFsbCIgYWZ0ZXIgeW91IHByb3Blcmx5IGVkaXQgTUNPTkZJRykuCisyKSBmZGlzayBhbmQgY2ZkaXNrIHNob3VsZCB3b3JrIGFzIGV4cGVjdGVkIHdpdGggMkdCKyBkaXNrIGRyaXZlcworMykgQXMgdXN1YWwsIGxvdHMgb2Ygc3R1ZmYgd2FzIHVwZGF0ZWQgYW5kIGFkZGVkLCBpbmNsdWRpbmcgbW91bnQsIHZpcHcsCisgICByZWFkcHJvZmlsZQorNCkgU29tZSBzdHVmZiB3YXMgYWxzbyBkZWxldGVkLCBhbmQgY2FuIG5vdyBiZSBmb3VuZCBlbHNld2hlcmU6CisgICAgZnNjayB3cmFwcGVyOiB0c3gtMTEubWl0LmVkdTovcHViL2xpbnV4L0FMUEhBL2V4dDJmcy9lMmZzcHJvZ3MqCisgICAgcHdkLCBzdTogcHJlcC5haS5taXQuZWR1Oi9wdWIvZ251L3NoLXV0aWxzKgorICAgIGVkOiBwcmVwLmFpLm1pdC5lZHU6L3B1Yi9nbnUvZWQqCisgICAgb2Q6IHByZXAuYWkubWl0LmVkdTovcHViL2dudS90ZXh0dXRpbHMqCisgICAgdXVkZWNvZGUvdXVlbmNvZGU6IHByZXAuYWkubWl0LmVkdTovcHViL2dudS9zaGFydXRpbHMqCisgICAgYmRmbHVzaC91cGRhdGU6IGZ0cC5mdW5ldC5maTovcHViL09TL0xpbnV4L1BFT1BMRS9MaW51cy92MS4xL2JkZmx1c2gqCisKKworCitQQVJUSUFMIEhJU1RPUlkgT0YgVVRJTC1MSU5VWDoKKworYnNkOgorICAgIE5vdGhpbmcgaW4gdGhpcyBkaXJlY3RvcnkgZ2V0cyBpbnN0YWxsZWQsIGJ1dCBzb21lIEJTRCBwcm9ncmFtcyBuZWVkCisgICAgdGhpcyBzdXBwb3J0OgorICAgICAgICBlcnIuYzogOC4xIChCZXJrZWxleSkgNi80LzkzCisgICAgICAgIGVyci5oOiA4LjEgKEJlcmtlbGV5KSA2LzIvOTMKKyAgICAgICAgZ2V0b3B0LmM6IDQuMTMgKEJlcmtlbGV5KSAyLzIzLzkxCisgICAgICAgIHBhdGhuYW1lcy5oOiA1LjMgKEJlcmtlbGV5KSA1LzkvODkgd2l0aCBleHRlbnNpdmUgbW9kaWZpY2F0aW9ucyBmb3IKKyAgICAgICAgICAgICAgICAgICAgIExpbnV4CisKK2Rpc2stdXRpbHM6CisgICAgY2ZkaXNrOiAwLjggQkVUQSAoPjJHQikgZnJvbSBLZXZpbiBFLiBNYXJ0aW4gKG1hcnRpbkBjcy51bmMuZWR1KSB3aXRoCisgICAgICAgICAgICBtb2RpZmljYXRpb25zIGZvciBkaXNrcyA+IDJHQi4KKyAgICAgICAgICAgIGZ0cC5jcy51bmMuZWR1Oi9wdWIvdXNlcnMvbWFydGluL2xpbnV4L2NmZGlzay0wLjgudGFyLmd6CisgICAgZmRmb3JtYXQ6IFdlcm5lciBBbG1lc2JlcmdlciAoYWxtZXNiZXJAbmVzc2llLmNzLmlkLmV0aHouY2gpLCB3aXRoCisgICAgICAgICAgICAgIG1vZGlmaWNhdGlvbnMgYnkgTWFyY2VsIE1vbCAobWFyY2VsQGR1dGVjYWQuZXQudHVkZWxmdC5ubCkpLgorICAgICAgICAgICAgICBMYXRlciwgdXBkYXRlZCB3aXRoIGEgU2VwdGVtYmVyIDE5OTIgdmVyc2lvbiBieSBXZXJuZXIuCisgICAgZmRpc2s6IEEuIFYuIExlIEJsYW5jIChMZUJsYW5jQG1jYy5hYy51aykgZmRpc2sgMS41IHJlbGVhc2UsIHdpdGgKKyAgICAgICAgICAgcGF0Y2hlZCBmcm9tIEtldmluIE1hcnRpbiBmb3IgRE9TIGFuZCBPUy8yIGNvbXBhdGliaWxpdHkgKDEuNWEpOworICAgICAgICAgICBSaWsgRmFpdGggKDEuNWIsIDIuMCkuCisgICAgZnNjay5taW5peCwgbWtmcy5taW5peDogTGludXMgVG9ydmFsZHMsIHdpdGggbW9kaWZpY2F0aW9ucyBieTogUmlrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFpdGggKGZhaXRoQGNzLnVuYy5lZHUpLCBTY290dCBIZWF2bmVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNkaEBwby5jd3J1LmVkdSksIERyLiBXZXR0c3RlaW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZ3JlZyV3aW5kLnV1Y3BAcGxhaW5zLm5vZGFrLmVkdSksIERhbmllbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFF1aW5sYW4gKHF1aW5sYW5AeWdnZHJhc2lsLmNvbSkuCisgICAgbWtmczogRGF2aWQgRW5nZWwgKGRhdmlkQG9kcy5jb20pIGFuZCBGcmVkIE4uIHZhbiBLZW1wZW4KKyAgICAgICAgICAod2FsdGplQHVXYWx0Lk5MLk11Z25ldC5PUkcpCisgICAgICAgICAgVmVyc2lvbiAxLjkgZnJvbSBSb24gU29tbWVsaW5nIChzb21tZWxAc2NpLmt1bi5ubCkKKyAgICBta3N3YXA6IExpbnVzIFRvcnZhbGRzLCB3aXRoIG1vZGlmaWNhdGlvbnMgYnkgTWlrZSBKYWdkaXMKKyAgICAgICAgICAgIChqYWdneUBwdXJwbGV0LmRlbW9uLmNvLnVrLiApCisgICAgICAgICAgICBWZXJzaW9uIGZvciBBbHBoYSBmcm9tCisgICAgICAgICAgICBjYWdlLmNzLmFyaXpvbmEuZWR1Oi9wdWIvZGF2aWRtL2xpbnV4L21rc3dhcC1heHAtOTUwNTAzLnRhci5negorICAgIHNldGZkcHJtOiBXZXJuZXIgQWxtZXNiZXJnZXIgKGFsbWVzYmVyQG5lc3NpZS5jcy5pZC5ldGh6LmNoKQorICAgICAgICAgICAgICBOb3RlIHRoYXQgbW9yZSBmbG9wcHkgdXRpbGl0aWVzIGFyZSBhdmFpbGFibGUgZnJvbToKKyAgICAgICAgICAgICAgICBmdHAuaW1hZy5mcjpwdWIvTGludXgvWkxJQkMvZmR1dGlscy9mZHV0aWxzLTQuMS5zcmMudGFyLmd6CisgICAgICAgICAgICAgICAgc3Vuc2l0ZS51bmMuZWR1Oi9wdWIvTGludXgvc3lzdGVtL01pc2MvZmR1dGlscy00LjEuc3JjLnRhci5negorICAgICAgICAgICAgICAgIHRzeC0xMS5taXQuZWR1Oi9wdWIvbGludXgvc291cmNlcy9zYmluL2ZkdXRpbHMtNC4xLnNyYy50YXIuZ3oKKyAgICBsbHNlZWsuYzogZnJvbSBSZW15IENhcmQncyBlMmZzcHJvZ3MtMC41Yi50YXIuZ3ogKDIxTWFyOTUgdmVyc2lvbikgZnJvbToKKyAgICAgICAgICAgICAgICBzdW5zaXRlLnVuYy5lZHU6L3B1Yi9MaW51eC9zeXN0ZW0vRmlsZXN5c3RlbXMvZXh0MgorCitnYW1lczoKKyAgICBiYW5uZXI6ICg4LjMgKEJlcmtlbGV5KSA0LzIvOTQpCisgICAgICAgICAgICBmdHAuY2Ryb20uY29tOi9wdWIvYnNkLXNvdXJjZXMvNC40QlNELUxpdGUvdXNyL3NyYy91c3IuYmluCisKK2xvZ2luLXV0aWxzOgorICAgIGFnZXR0eTogVy4gWi4gVmVuZW1hLCBwb3J0ZWQgYnkgUGV0ZXIgT3JiYWVrIDxwb2VAZGFpbWkuYWF1LmRrPi4KKyAgICAgICAgICAgIGZ0cC5kYWltaS5hYXUuZGs6L3B1Yi9saW51eC9wb2UvcG9laWdsLTEuMzcudGFyLmd6CisgICAgY2hmbjogU2FsdmF0b3JlIFZhbGVudGUgPHN2YWxlbnRlQGF0aGVuYS5taXQuZWR1PgorICAgIGNoc2g6IFNhbHZhdG9yZSBWYWxlbnRlIDxzdmFsZW50ZUBhdGhlbmEubWl0LmVkdT4KKyAgICBsYXN0OiA1LjExIHcveWVhciAoQmVya2VsZXkpIDYvMjkvODg7IFBvcnQgYnkgTWljaGFlbCBIYWFyZHQgd2l0aAorICAgICAgICAgIGNoYW5nZXMgYnkgUGV0ZXIgT3JiYWVrLgorICAgICAgICAgIGZ0cDovL2Z0cC5kYWltaS5hYXUuZGsvcHViL2xpbnV4L3BvZS9hZG11dGlsLTEuMTYudGFyLmd6CisgICAgbG9naW46IDUuNDAgKEJlcmtlbGV5KSA1LzkvODk7IHdpdGggcG9ydHMgYnkgTWljaGFlbCBHbGFkIGFuZCBQZXRlciBPcmJhZWsKKyAgICAgICAgICAgZnRwLmRhaW1pLmFhdS5kazovcHViL2xpbnV4L3BvZS9wb2VpZ2wtMS4zNy50YXIuZ3oKKyAgICBtZXNnOiA4LjIgKEJlcmtlbGV5KSAxLzIxLzk0CisgICAgICAgICAgZnRwLmNkcm9tLmNvbTovcHViL2JzZC1zb3VyY2VzLzQuNEJTRC1MaXRlL3Vzci9zcmMvdXNyLmJpbgorICAgIG5ld2dycDogTWljaGFlbCBIYWFyZHQsIHdpdGggbW9kaWZpY2F0aW9ucyBieSBQZXRlciBPcmJhZWsuCisgICAgICAgICAgICBmdHA6Ly9mdHAuZGFpbWkuYWF1LmRrL3B1Yi9saW51eC9wb2UvYWRtdXRpbC0xLjE2LnRhci5negorICAgIHBhc3N3ZDogUGV0ZXIgT3JiYWVrLCB3aXRoIHlwIG1vZGlmaWNhdGlvbnMgYnkgQWx2YXJvIE1hcnRpbmV6CisgICAgICAgICAgICBFY2hldmFycmlhIChhbHZhcm9AZW5hbm8uZXRzaXQudXBtLmVzKQorICAgICAgICAgICAgZnRwOi8vZnRwLmRhaW1pLmFhdS5kay9wdWIvbGludXgvcG9lL2FkbXV0aWwtMS4xNi50YXIuZ3oKKyAgICBzaHV0ZG93bjogUGV0ZXIgT3JiYWVrLCB3aXRoIG5ldyBtb2RpZmljYXRpb25zIGJ5IFN0ZXBoZW4gVHdlZWRpZSwgUmlrCisgICAgICAgICAgICAgIEZhaXRoLCBhbmQgRGF2ZSAoZ2VudHplbEBub3ZhLmVuZXQuZGVjLmNvbSkuCisgICAgICAgICAgICAgIGZ0cDovL2Z0cC5kYWltaS5hYXUuZGsvcHViL2xpbnV4L3BvZS9hZG11dGlsLTEuMTYudGFyLmd6CisgICAgc2ltcGxlaW5pdDogUGV0ZXIgT3JiYWVrCisgICAgICAgICAgICAgICAgZnRwLmRhaW1pLmFhdS5kazovcHViL2xpbnV4L3BvZS9wb2VpZ2wtMS4zNy50YXIuZ3oKKyAgICB2aXB3OiA1LjE2IChCZXJrZWxleSkgMy8zLzkxLCB3aXRoIG1vZGlmaWNhdGlvbnMgYnkgTWlrZSBHcnVwZW5ob2ZmCisgICAgICAgICAgPGthc2htaXJAdW1pYWNzLlVNRC5FRFU+IAorICAgIHdhbGw6IDguMiAoQmVya2VsZXkpIDExLzE2LzkzIChXaXRoIGNoYW5nZXMgc28gdGhhdCBkYW1hZ2luZyBlc2NhcGUKKyAgICAgICAgICBzZXF1ZW5jZXMgY2Fubm90IGJlIHNlbnQuKQorICAgICAgICAgIGZ0cC5jZHJvbS5jb206L3B1Yi9ic2Qtc291cmNlcy80LjRCU0QtTGl0ZS91c3Ivc3JjL3Vzci5iaW4KKworCittaXNjLXV0aWxzOgorICAgIGNhbDogOC40IChCZXJrZWxleSkgNC8yLzk0LCB3aXRoIG1vZGlmaWNhdGlvbnMgYnkgUmlrIEZhaXRoIGFuZAorICAgICAgICAgSGVpbkBzdHVkZW50LnR1LWNsYXVzdGhhbC5kZSAoSm9jaGVuIEhlaW4pLgorICAgICAgICAgZnRwLmNkcm9tLmNvbTovcHViL2JzZC1zb3VyY2VzLzQuNEJTRC1MaXRlL3Vzci9zcmMvdXNyLmJpbgorICAgIGNoa2R1cGV4ZTogVmVyc2lvbiAxLjIgZnJvbSAiTmljb2xhaSBMYW5nZmVsZHQiIDxqYW5sQGlmaS51aW8ubm8+CisgICAgY2xlYXI6IFJpayBGYWl0aAorICAgIGRkYXRlOiBEcnVlbCB0aGUgQ2hhb3RpYyBha2EgSmVyZW15IEpvaG5zb24gYWthIG1weXRob25AZ251LmFpLm1pdC5lZHUsCisgICAgICAgICAgIHdpdGggbW9kaWZpY2F0aW9ucyBieSBMZWUgSGFydmV5IE9zd2FsZCBTbWl0aCwgSy5TLkMuIGFuZAorICAgICAgICAgICBzdWJzdGFudGlhbCB1cGRhdGVzIGZyb20gUmV2LiBCcm8uIExlZSBIOi4gTzouIFNtaXRoLCBLWVRQCisgICAgZG9tYWlubmFtZTogUGV0ZXIgT3JiYWVrCisgICAgICAgICAgICBmdHAuZGFpbWkuYWF1LmRrOi9wdWIvbGludXgvcG9lL3BvZWlnbC0xLjM3LnRhci5negorICAgIGRzcGxpdDogRGF2aWQgQXJuc3RlaW4gKGFybnN0ZWluQG5ldGNvbS5jb20pCisgICAgICAgICAgICBnYXRla2VlcGVyLmRlYy5jb206L3B1Yi91c2VuZXQvY29tcC5zb3VyY2VzLm1pc2Mvdm9sdW1lNDAvZHNwbGl0CisgICAgZ2V0b3B0IChnZXRvcHRwcm9nKTogamh1bml4LmhjZi5qaHUuZWR1OgorICAgICAgICAgICAvcHViL3B1YmxpY19kb21haW5fc29mdHdhcmUvTmV0QlNEL3Vzci9zcmMvdXNyLmJpbi9nZXRvcHQKKwkgICByZXBsYWNlZCBieSBnZXRvcHQtMS4wLjMudGFyLmd6IGZyb20gRnJvZG8gTG9vaWphYXJkLAorCSAgIGZvdW5kIGF0IGh0dHA6Ly9odWl6ZW4uZGRzLm5sL35mcm9kb2wKKyAgICBob3N0aWQ6IE1pdGNoIERTb3V6YSAobS5kc291emFAbXJjLWFwdS5jYW0uYWMudWspCisgICAgICAgICAgICBmdHAuZGFpbWkuYWF1LmRrOi9wdWIvbGludXgvcG9lL3BvZWlnbC0xLjM3LnRhci5negorICAgIGhvc3RuYW1lL2Ruc2RvbWFpbm5hbWU6IFBldGVyIFRvYmlhcyA8dG9iaWFzQHNlcnZlci5ldC1pbmYuZmhvLWVtZGVuLmRlPgorICAgICAgICAgICAgICBUaGlzIHZlcnNpb24gKDEuNikgc2hvdWxkIGFsc28gYmUgYXZhaWxhYmxlIHNvb24gaW46CisgICAgICAgICAgICAgIG5pYy5mdW5ldC5maTovcHViL09TL0xpbnV4L1BFT1BMRS9MaW51cy9uZXQtc291cmNlL2Jhc2UvTmV0S2l0LUEqCisgICAga2lsbDogQlNEIHZlcnNpb24sIG1vZGlmaWVkIGJ5IFNhbHZhdG9yZSBWYWxlbnRlIDxzdmFsZW50ZUBtaXQuZWR1PgorICAgIGxvZ2dlcjogOC4xIChCZXJrZWxleSkgNi82LzkzLCB3aXRoIG1vZGlmaWNhdGlvbnMgYnkgUmlrIEZhaXRoCisgICAgICAgICAgICBmdHAuY2Ryb20uY29tOi9wdWIvYnNkLXNvdXJjZXMvNC40QlNELUxpdGUvdXNyL3NyYy91c3IuYmluCisgICAgbG9vay5jOiA4LjEgKEJlcmtlbGV5KSA2LzE0LzkzLCB3aXRoIG1vZGlmaWNhdGlvbnMgYnkgUmlrIEZhaXRoCisgICAgICAgICAgICBmdHAuY2Ryb20uY29tOi9wdWIvYnNkLXNvdXJjZXMvNC40QlNELUxpdGUvdXNyL3NyYy91c3IuYmluCisgICAgbWNvb2tpZTogUmlrIEZhaXRoIChmYWl0aEBjcy51bmMuZWR1KQorICAgIG1kNXN1bTogQnJhbmtpIExhbmtlc3RlciBhbmQgQ29saW4gUGx1bWIuICBUaGUgTUQ1IG1lc3NhZ2UtZGlnZXN0CisgICAgICAgICAgICBhbGdvcml0aG0gaXMgaW4gdGhlIFB1YmxpYyBEb21haW4uICBUaGlzIGltcGxlbWVudGF0aW9uCisgICAgICAgICAgICBjYWxjdWxhdGVzIG1lc3NhZ2UtZGlnZXN0IGluZm9ybWF0aW9uIG9ubHksIGFuZCBjYW4gTk9UIGJlIHVzZWQKKyAgICAgICAgICAgIGZvciBlbmNyeXB0aW9uLiAgVGhlcmVmb3JlIGl0IGlzIGV4cG9ydGFibGUgZnJvbSB0aGUgVVNBLgorICAgICAgICAgICAgT3JpZ2luYWwgc291cmNlcyBpbiB0aGUgTUlUIHZlcnNpb24gb2YgUEdQIDIuNi4yLgorICAgIG5hbWVpOiBSb2dlciBTLiBTb3V0aHdpY2ssIHdpdGggbW9kaWZpY2F0aW9ucyBieSBTdGV2ZSBUZWxsLgorICAgIHJlc2V0OiBSaWsgRmFpdGgKKyAgICBzY3JpcHQ6IDUuMTMgKEJlcmtlbGV5KSAzLzUvOTEsIHdpdGggbW9kaWZpY2F0aW9ucyBieSBSaWNrIFNsYWRrZXkKKyAgICAgICAgICAgIChqcnNAd29ybGQuc3RkLmNvbSksIEhhcmFsZCBLb2VuaWcKKyAgICAgICAgICAgIChrb2VuaWdAbm92YS50YXQucGh5c2lrLnVuaS10dWViaW5nZW4uZGUpLgorICAgIHNldHRlcm06IEdvcmRvbiBJcmxhbSAoZ29yZG9uaUBjcy51YS5vei5hdSksIHdpdGggbW9kaWZpY2F0aW9ucyBieQorICAgICAgICAgICAgIFBldGVyIE1hY0RvbmFsZCwgTWlrYSBMaWxqZWJlcmcgKGxpbGplYmVyQGNzLkhlbHNpbmtpLkZJKSwKKyAgICAgICAgICAgICBKb2huIFdhbGRlciAoai13YWxkZXJAdWl1Yy5lZHUpIFtmb3IgZG9zZW11XS4KKyAgICB0c29ydDogNS4zIChCZXJrZWxleSkgNi8xLzkwCisgICAgICAgICAgIHd1YXJjaGl2ZS53dXN0bC5lZHU6L21pcnJvcnMvNC4zLXJlbm8KKyAgICB3aGVyZWlzOiA1LjUgKEJlcmtlbGV5KSA0LzE4LzkxCisgICAgICAgICAgICAgd3VhcmNoaXZlLnd1c3RsLmVkdTovbWlycm9ycy80LjMtcmVubworICAgIHdyaXRlOiA4LjEgKEJlcmtlbGV5KSA2LzYvOTMsIHdpdGggbW9kaWZpY2F0aW9ucyBieSBNaWtlIEdydXBlbmhvZmYKKyAgICAgICAgICAgKGthc2htaXJAdW1pYWNzLnVtZC5lZHUpLiAgV2l0aCBjaGFuZ2VzIHNvIHRoYXQgZGFtYWdpbmcgZXNjYXBlCisgICAgICAgICAgIHNlcXVlbmNlcyBjYW5ub3QgYmUgc2VudC4KKyAgICAgICAgICAgZnRwLmNkcm9tLmNvbTovcHViL2JzZC1zb3VyY2VzLzQuNEJTRC1MaXRlL3Vzci9zcmMvdXNyLmJpbgorCisKK21vdW50OgorICAgIG1vdW50LCB1bW91bnQsIHN3YXBvbgorCisgICAgUmljayBTbGFka2V5IHB1dCB0b2dldGhlciB0aGUgbW91bnQtMC45OS42LnRhci5aIHBhY2thZ2UsIGFuZCBTdGVwaGVuCisgICAgVHdlZWRpZSBwcm92aWRlZCB1cGRhdGVzLiAgVGhlIHV0aWxpdGllcyB3ZXJlIG9yaWdpbmFsbHkgZnJvbSB0aGF0CisgICAgcGFja2FnZSAoYWxsIGFwcGVhciB0byBiZSBieSBEb3VnIFF1YWxlIChxdWFsZUBzYWF2aWsuY3Mud2lzYy5lZHUpLAorICAgIHdpdGggbW9kaWZpY2F0aW9ucyBieSBILiBKLiBMdSAoaGx1QGVlY3Mud3N1LmVkdSkgb24gMTEvMjUvOTI7IFJpY2sKKyAgICBTbGFka2V5IChqcnNAd29ybGQuc3RkLmNvbSkgaW4gSmFudWFyeSAxOTkzOyBhbmQgU3RlcGhlbiBUd2VlZGllCisgICAgPHNjdEBkY3MuZWQuYWMudWs+IG9uIDggT2N0b2JlciAxOTkzLiAgVGhpcyBkaXN0cmlidXRpb24gbW91bnQgbm93CisgICAgc3VwcG9ydHMgTkZTIHN0dWZmLiAgSSBoYXZlIG1vZGlmaWVkIHRoZSBtYW4gcGFnZXMuICBJIGhhdmUgYWxzbyBhZGRlZAorICAgIGEgc21hbGwgcGF0Y2ggZnJvbSBIYW1pc2ggR2xlbiBDb2xlbWFuICh0OTMzMDkzQG1pbnlvcy54eC5ybWl0Lk9aLkFVKQorICAgIHdoaWNoIHJlc3RvcmVzIHRoZSAtbyBzZW1hbnRpY3MuCisgICAgCisgICAgVXBkYXRlZCB3aXRoIFJpY2sgU2xhZGtleSdzIG1vdW50LTAuOTkuMTQudGFyLmd6IHBhY2thZ2UsIGFuZCB3aXRoCisgICAgZXh0cmEgcGF0Y2hlcyBmcm9tIFJpY2suICBBZGFtIEouIFJpY2h0ZXIgYWxsb3dlZCAtdCBvcHRpb24gdG8gYmUKKyAgICBvcHRpb25hbC4gUGF0cmljayBKLiBWb2xrZXJkaW5nICh2b2xrZXJkaUBtaGQxLm1vb3JoZWFkLm1zdXMuZWR1KSBhbmQKKyAgICBNaXRjaHVtIERTb3V6YSBib3RoIHByb3ZpZGVkIHBhdGNoZXMgdGhhdCBmaXhlZCB0aGUgKG51bGwpIHByb2JsZW0gd2hlbgorICAgIG5vdCB1c2luZyAtdC4gTWl0Y2h1bSBEU291emEKKyAgICAobWl0Y2hAbXJjLWFwcGxpZWQtcHN5Y2hvbG9neS5jYW1icmlkZ2UuYWMudWspIGFkZGVkIHN1cHBvcnQgZm9yIGxvb3AKKyAgICBkZXZpY2UgbW91bnRzLiBTZWJhc3RpYW4gTGVkZXJlcgorICAgIChsZWRlcmVyQG5leHQtcGMuaW5mb3JtYXRpay51bmktYm9ubi5kZSkgYWRkZWQgc3VwcG9ydCBmb3Igc2VuZGluZyBhbgorICAgIHVubW91bnQgUlBDIGNhbGwgdG8gdGhlIHNlcnZlciB3aGVuIGFuIE5GUy1maWxlc3lzdGVtIGlzIHVubW91bnRlZC4KKyAgICBTYW5kZXIgdmFuIE1hbHNzZW4gKHN2bUBrb3ptaXguaGFja3RpYy5ubCkgYWRkZWQgc3VwcG9ydCBmb3IgcmVtb3VudGluZworICAgIHJlYWRvbmx5IGZpbGUgc3lzdGVtcyByZWFkb25seS4gIE1pa2UgR3J1cGVuaG9mZgorICAgIDxrYXNobWlyQHVtaWFjcy5VTUQuRURVPiBhZGRlZCBhIHByb2JlIG9mIHRoZSBzdXBlcmJsb2NrIGZvciB0aGUgdHlwZQorICAgIGJlZm9yZSAvcHJvYy9maWxlc3lzdGVtcyBpcyBjaGVja2VkLiAgQW5kcmllcy5Ccm91d2VyQGN3aS5ubCBmaXhlZCB1cAorICAgIGVycm9yIHJlcG9ydGluZy4KKworICAgIFVwZGF0ZWQgd2l0aCBwYXRjaGVzIGZyb20gQW5kcmllcy5Ccm91d2VyQGN3aS5ubCBhbmQgRGFuIFF1aW5sYW4KKyAgICAocXVpbmxhbkB5Z2dkcmFzaWwuY29tKS4gIEFuZCBtb3JlIHBhdGNoZXMgZnJvbSBBbmRyaWVzIGFuZCBvdGhlcnMuCisKK2hpc3RvcmljL3NlbGVjdGlvbjogVGhlIGNvbXBsZXRlIHNlbGVjdGlvbi0xLjUgcGFja2FnZSwgYnkgQW5kcmV3IEhheWxldHQKKyAgICA8YWpoQGdlYy1tcmMuY28udWs+LCAxN3RoIEp1bmUgMTk5MywgaXMgaW5jbHVkZWQgaW4gdGhlIGhpc3RvcmljIHRyZWUuCisgICAgS2VybmVsIHBhdGNoZXMgYXJlIG5vIGxvbmdlciBuZWNlc3NhcnkgZm9yIG1vZGVybiBrZXJuZWxzLCBidXQgdGhlc2UKKyAgICB3ZXJlIHRpbnkgc28gSSBsZWZ0IHRoZW0gaW4gZm9yIGhpc3RvcmljYWwgcmVhc29ucy4gIFRoZSBNYWtlZmlsZSB3YXMKKyAgICBtb2RpZmllZCBmb3IgdGhpcyBkaXN0cmlidXRpb24uICBXaXRoIGNoYW5nZXMgZnJvbSBSaWNrIFNsYWRrZXkuCisKK3N5cy11dGlsczoKKyAgICBhcmNoOiBSaWsgRmFpdGggPGZhaXRoQGNzLnVuYy5lZHU+CisgICAgY2hyb290OiBSaWNrIFNsYWRrZXkgPGpyc0B3b3JsZC5zdGQuY29tPgorICAgIGNsb2NrOiBPcmlnaW5hbGx5IGZyb20gdGhlIHRpbWVzcmMtMS4yLnRhci5aIHBhY2thZ2UsIENoYXJsZXMgSGVkcmljaywKKyAgICAgICAgICAgaGVkcmlja0Bjcy5ydXRnZXJzLmVkdSAoVjEuMCk7IFJvYiBIb29mdCwgaG9vZnRAY2hlbS5ydXUubmwKKyAgICAgICAgICAgKFYxLjEpOyBIYXJhbGQgS29lbmlnIChrb2VuaWdAbm92YS50YXQucGh5c2lrLnVuaS10dWViaW5nZW4uZGUpCisgICAgICAgICAgIChWMS4yKS4gIFdpdGggYWRkaXRpb25hbCBjaGFuZ2VzOiBIYW1pc2ggQ29sZW1hbgorICAgICAgICAgICAoaGFtaXNoQHpvdC5hcGFuYS5vcmcuYXUpIChWMS4yYSk7IEFsYW4gTW9kcmEKKyAgICAgICAgICAgKGFsYW5Ac3ByaS5sZXZlbHMudW5pc2EuZWR1LmF1IChWMS4zLCBWMS40KS4KKyAgICBjdHJsYWx0ZGVsOiBQZXRlciBPcmJhZWsgPHBvZUBkYWltaS5hYXUuZGs+CisgICAgICAgICAgICAgICAgZnRwOi8vZnRwLmRhaW1pLmFhdS5kay9wdWIvbGludXgvcG9lL2FkbXV0aWwtMS4xNi50YXIuZ3oKKyAgICBjeXR1bmU6IE5pY2sgU2ltaWNpc2ggKG5qc0BzY2lmaS5lbWkubmV0KSBhbmQgUmlrIEZhaXRoIChmYWl0aEBjcy51bmMuZWR1KQorICAgIGRtZXNnOiBUaGVvZG9yZSBUcydvICh0eXRzb0BhdGhlbmEubWl0LmVkdSk7IFJpY2sgU2xhZGtleQorICAgICAgICAgICAoanJzQHdvcmxkLnN0ZC5jb20pCisgICAgaXBjcm06IEZyb20gdGhlIGlwY2RlbHRhLnRhci56IGRpc3RyaWJ1dGlvbiBieSBrcmlzaG5hCisgICAgICAgICAgIGJhbGFzdWJAY2lzLm9oaW8tc3RhdGUuZWR1IG9uIDMvMTUvOTMuICBpcGMuaW5mbyBhbmQgaXBjLnRleGkKKyAgICAgICAgICAgYXJlIGFsc28gZnJvbSB0aGF0IGRpc3RyaWJ1dGlvbi4KKyAgICBpcGNzOiBBbHNvIGZyb20gdGhlIGlwY2RlbHRhLnRhci56IGRpc3RyaWJ1dGlvbiBieSBrcmlzaG5hCisgICAgICAgICAgYmFsYXN1YkBjaXMub2hpby1zdGF0ZS5lZHUsIHdpdGggcGF0Y2hlcyBmcm9tIE1pa2UgSmFnZGlzCisgICAgICAgICAgKGphZ2d5QHB1cnBsZXQuZGVtb24uY28udWspCisgICAga2JkcmF0ZTogUmlrIEZhaXRoIChmYWl0aEBjcy51bmMuZWR1KSwgd2l0aCBwYXRjaGVzIGZyb20KKyAgICAgICAgICAgICBBbmRyaWVzLkJyb3V3ZXJAY3dpLm5sIGFuZCBKb2huIEJvd21hbgorICAgICAgICAgICAgIChib3dtYW5AaGFnYXIucGgudXRleGFzLmVkdSkKKyAgICBrc3ltb29wczogMS43IGZyb20gR3JlZyBNY0dhcnkgPGdrbUBtYWdpbGxhLmNpY2hsaWQuY29tPgorICAgIHJkZXY6IGFsbWVzYmVyQG5lc3NpZS5jcy5pZC5ldGh6LmNoIChXZXJuZXIgQWxtZXNiZXJnZXIpLCB3aXRoCisgICAgICAgICAgbW9kaWZpY2F0aW9ucyBmcm9tIFBldGVyIE1hY0RvbmFsZCwgU3RlcGhlbiBUd2VlZGllCisgICAgICAgICAgKHNjdEBkY3MuZWQuYWMudWspLCBhbmQgRGF2ZSAoZ2VudHplbEBub3ZhLmVuZXQuZGVjLmNvbSkKKyAgICByZWFkcHJvZmlsZTogQWxlc3NhbmRybyBSdWJpbmkgZnJvbSByZWFkcHJvZmlsZS0yLjAudGFyLmd6CisgICAgcmVuaWNlOiA4LjEgKEJlcmtlbGV5KSA2LzkvOTMKKyAgICAgICAgICAgIGZ0cC5jZHJvbS5jb206L3B1Yi9ic2Qtc291cmNlcy80LjRCU0QtTGl0ZS91c3Ivc3JjL3Vzci5iaW4KKyAgICBzZXRzZXJpYWw6IE1pY2hhZWwgSy4gSm9obnNvbiAoam9obnNvbm1Ac3RvbGFmLmVkdSkgcmUtcmVsZWFzZWQgUmljaworICAgICAgICAgICAgICAgU2xhZGtleSdzIHNldHNlcmlhbCBpbiBKYW51YXJ5IDE5OTMsIHdpdGggY2hhbmdlcyBieQorICAgICAgICAgICAgICAgVGhlb2RvcmUgVHMnbyAodHl0c29AbWl0LmVkdSkuICBJIHRoaW5rIHRoYXQgVGhlb2RvcmUgYWxzbworICAgICAgICAgICAgICAgZGlkIGV4dGVuc2l2ZSBjaGFuZ2VzIGZvciB2ZXJzaW9uIDIuMDEsIEkgY2FuJ3QgZmluZCBhbnkKKyAgICAgICAgICAgICAgIG5vdGVzIGFib3V0IHRoaXMgaW4gdGhlIGRvY3VtZW50YXRpb24uIEhvd2V2ZXIsIFRoZW9kb3JlCisgICAgICAgICAgICAgICBUcydvICh0eXRzb0BBVEhFTkEuTUlULkVEVSkgcmVsZWFzZWQgdmVyc2lvbiAyLjEwLCBhbmQgdGhhdAorICAgICAgICAgICAgICAgaXMgbm93IGluY2x1ZGVkLgorICAgIHNldHNpZDogUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKyAgICBzbG46IE1pa2UgUGFya2VyIGFuZCBEYXZpZCBNYWNLZW56aWUgKGZyb20gTGludXgncyBsaWJjKQorICAgIHN5bmM6IE5pY2sgSG9sbG93YXksIHdpdGggdGhhbmtzIHRvIEphbWVzIEJvbmZpZWxkCisgICAgdHVuZWxwOiBNaWNoYWVsIEsuIEpvaG5zb24gKGpvaG5zb25tQG5pZ2VsLnZuZXQubmV0KQorCisKK3N5c2xvZ2Q6CisgICA1LjQ1IChCZXJrZWxleSkgMy8yLzkxCisKKyAgIE1vc3Qgb2YgdGhlIGNoYW5nZXMgZm9yIHN5c2xvZ2QgY29tZSBmcm9tIFJpY2sgU2xhZGtleQorICAgKGpyc0B3b3JsZC5zdGQuY29tKSwgYnV0IEknZCBsaWtlIHRvIHRoYW5rIG90aGVyIHBlb3BsZSB3aG8gc2VudCBpbgorICAgY2hhbmdlcyAod2hpY2ggdXN1YWxseSBnb3QgZm9yd2FyZGVkIHRvIFJpY2spOiBDYXJzdGVuIFBhZXRoCisgICAoY2FsbGVAY2FsbGUuaW4tYmVybGluLmRlKSBhbmQgS2F6IFNhc2F5YW1hIChrYXpAbGlsaWEuaWlqbmV0Lm9yLmpwKS4KKwordGV4dC11dGlsczoKKyAgICBjb2w6IDUuMyAoQmVya2VsZXkpIDIvMi85MTsgd2l0aCBwYXRjaGVzIGZyb20gQW5kcmllcy5Ccm91d2VyQGN3aS5ubAorICAgICAgICAgYW5kIENhcmwgQ2hyaXN0b2ZmZXJzb24gKGNjaHJpc0Bjb25uZWN0ZWQuY29tKQorICAgICAgICAgd3VhcmNoaXZlLnd1c3RsLmVkdTovbWlycm9ycy80LjMtcmVuby97YmluLHVzci5iaW59CisgICAgY29sY3J0OiA4LjEgKEJlcmtlbGV5KSA2LzYvOTMgKEJpbGwgSm95KQorICAgICAgICAgICAgZnRwLmNkcm9tLmNvbTovcHViL2JzZC1zb3VyY2VzLzQuNEJTRC1MaXRlL3Vzci9zcmMvdXNyLmJpbgorICAgIGNvbHJtOiA1LjQgKEJlcmtlbGV5KSA2LzEvOTAgKEplZmYgU2NocmllYm1hbikKKyAgICBjb2x1bW46IDguMyAoQmVya2VsZXkpIDQvMi85NAorICAgICAgICAgICAgZnRwLmNkcm9tLmNvbTovcHViL2JzZC1zb3VyY2VzLzQuNEJTRC1MaXRlL3Vzci9zcmMvdXNyLmJpbgorICAgIGhleGR1bXA6IDUuNSAoQmVya2VsZXkpIDYvMS85MAorICAgICAgICAgICAgIHd1YXJjaGl2ZS53dXN0bC5lZHU6L21pcnJvcnMvNC4zLXJlbm8ve2Jpbix1c3IuYmlufQorICAgIG1vcmU6IDUuMTkgKEJlcmtlbGV5KSA2LzI5Lzg4IChFcmljIFNoaWVuYnJvb2QsIEdlb2ZmIFBlY2ssIEpvaG4gRm9kZXJhcm8pCisgICAgcmV2OiA1LjIgKEJlcmtlbGV5KSAzLzIxLzkyOyB3aXRoIG1vZGlmaWNhdGlvbnMgYnkgQ2hhcmxlcyBIYW5udW0KKyAgICAgICAgIChteWNyb2Z0QGdudS5haS5taXQuZWR1KSwgQnJpYW4gS29laG1zdGVkdCAoYnBrQGdudS5haS5taXQuZWR1KSwKKyAgICAgICAgIGJqZG91bWFAeHM0YWxsLm5sCisgICAgICAgICB3dWFyY2hpdmUud3VzdGwuZWR1Oi9taXJyb3JzLzQuMy1yZW5vL3tiaW4sdXNyLmJpbn0KKyAgICBzdHJpbmdzOiA1LjEwIChCZXJrZWxleSkgNS8yMy85MTsgd2l0aCBwYXRjaGVzIGZyb20gVml0b3IgRHVhcnRlCisgICAgICAgICAgICAgPHZhZEBmY3QudW5sLnB0PgorICAgICAgICAgICAgIHd1YXJjaGl2ZS53dXN0bC5lZHU6L21pcnJvcnMvNC4zLXJlbm8ve2Jpbix1c3IuYmlufQorICAgIHVsOiA4LjEgKEJlcmtlbGV5KSA2LzYvOTMKKyAgICAgICAgZnRwLmNkcm9tLmNvbTovcHViL2JzZC1zb3VyY2VzLzQuNEJTRC1MaXRlL3Vzci9zcmMvdXNyLmJpbgorCmRpZmYgLS1naXQgYS9SRUFETUUgYi9SRUFETUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODY2MjQxNgotLS0gL2Rldi9udWxsCisrKyBiL1JFQURNRQpAQCAtMCwwICsxLDU5IEBACisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1dGlsLWxpbnV4CisKKyAgICAgICAgICAgICAgdXRpbC1saW51eCBpcyBhIHJhbmRvbSBjb2xsZWN0aW9uIG9mIExpbnV4IHV0aWxpdGllcworCisgICAgIE5vdGUgdGhhdCBpbiB5ZWFycyAyMDA2LTIwMTAgdGhpcyBwcm9qZWN0IHVzZWQgdGhlIG5hbWUgInV0aWwtbGludXgtbmciLgorCitNQUlMSU5HIExJU1Q6CisKKyAgICAgIEUtTUFJTDogdXRpbC1saW51eEB2Z2VyLmtlcm5lbC5vcmcKKyAgICAgIFVSTDogICAgaHR0cDovL3ZnZXIua2VybmVsLm9yZy92Z2VyLWxpc3RzLmh0bWwjdXRpbC1saW51eAorCisKK0RPV05MT0FEOgorCisgICAgICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8KKworCitCVUcgUkVQT1JUSU5HOgorCisgICAgICBFLU1BSUw6IHV0aWwtbGludXhAdmdlci5rZXJuZWwub3JnCisgICAgICBXZWI6ICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9rYXJlbHphay91dGlsLWxpbnV4L2lzc3VlcworCisgICAgICBOb3RlIHRoYXQgdXBzdHJlYW0gY29tbXVuaXR5IGhhcyBubyByZXNvdXJjZXMgdG8gcHJvdmlkZSBzdXBwb3J0IGZvciBlbmQKKyAgICAgIHVzZXJzIHdpdGggZGlzdHJpYnV0aW9uIHNwZWNpZmljIGlzc3Vlcy4gSXQncyBzdHJvbmdseSByZWNvbW1lbmRlZCB0byAKKyAgICAgIHJlcG9ydCBidWdzIHRvIHRoZSBkaXN0cmlidXRpb24gKGRvd25zdHJlYW0pIG1haW50YWluZXJzIGJ5IGRpc3RyaWJ1dGlvbgorICAgICAgYnVnIHRyYWNraW5nIHN5c3RlbXMuIAorCitTT1VSQ0UgQ09ERToKKworICAgICAgU2VlIGFsc28gRG9jdW1lbnRhdGlvbi9ob3d0by1jb250cmlidXRlLnR4dC4KKworICAgICAgV2ViIGludGVyZmFjZToKKyAgICAgICAgICBodHRwOi8vZ2l0Lmtlcm5lbC5vcmcvY2dpdC91dGlscy91dGlsLWxpbnV4L3V0aWwtbGludXguZ2l0CisgICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2thcmVsemFrL3V0aWwtbGludXgKKyAgICAgIENoZWNrb3V0OgorICAgICAgICAgIGdpdCBjbG9uZSBnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL3V0aWxzL3V0aWwtbGludXgvdXRpbC1saW51eC5naXQgdXRpbC1saW51eAorCisKK05MUyAoUE8gVFJBTlNMQVRJT05TKToKKworICAgICAgUE8gZmlsZXMgYXJlIG1haW50YWluZWQgYnk6CisgICAgICAgICAgaHR0cDovL3RyYW5zbGF0aW9ucHJvamVjdC5vcmcvZG9tYWluL3V0aWwtbGludXguaHRtbAorCisKK1ZFUlNJT04gU0NIRU1BOgorCisgICAgICBTdGFuZGFyZCByZWxlYXNlczoKKworICAgICAgICAgIDxtYWpvcj4uPG1pbm9yPlsuPG1haW50PlsuPGJ1Z2ZpeD5dXQorCisgICAgICAgICAgICAgbWFqb3IgPSBmYXRhbCBhbmQgZGVlcCBjaGFuZ2VzCisgICAgICAgICAgICAgbWlub3IgPSB0eXBpY2FsIHJlbGVhc2Ugd2l0aCBuZXcgZmVhdHVyZXMKKyAgICAgICAgICAgICBtYWludCA9IG1haW50ZW5hbmNlIHJlbGVhc2VzOyBidWcgZml4ZXMgb25seQorICAgICAgICAgICAgIGJ1Z2ZpeCA9IHVucGxhbm5lZCByZWxlYXNlcyBmb3IgY3JpdGljYWwvc2VjdXJpdHkgYnVncworCisgICAgICBEZXZlbG9wbWVudCByZWxlYXNlczoKKworICAgICAgICAgPG1ham9yPi48bWlub3I+LXJjPE4+CmRpZmYgLS1naXQgYS9SRUFETUUubGljZW5zaW5nIGIvUkVBRE1FLmxpY2Vuc2luZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MWUwNzg3Ci0tLSAvZGV2L251bGwKKysrIGIvUkVBRE1FLmxpY2Vuc2luZwpAQCAtMCwwICsxLDIwIEBACisKK1RoZSBwcm9qZWN0IHV0aWwtbGludXggZG9lc24ndCB1c2UgdGhlIHNhbWUgbGljZW5zZSBmb3IgYWxsIG9mIHRoZSBjb2RlLgorVGhlcmUgaXMgY29kZSB1bmRlcjoKKworICAgKiBHUEx2MisgKEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiwgb3IgYW55IGxhdGVyIHZlcnNpb24pCisKKyAgICogR1BMdjIgKEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMikKKworICAgKiBMR1BMdjIrIChHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjIgKG9yIDIuMSkgb3IgYW55IGxhdGVyIHZlcnNpb24pCisKKyAgICogQlNEIHdpdGggYWR2ZXJ0aXNpbmcKKworICAgKiBQdWJsaWMgRG9tYWluCisKK1BsZWFzZSwgY2hlY2sgdGhlIHNvdXJjZSBjb2RlIGZvciBtb3JlIGRldGFpbHMuIEEgbGljZW5zZSBpcyB1c3VhbGx5IGF0IHRoZSBzdGFydAorb2YgZWFjaCBzb3VyY2UgZmlsZS4KKworVGhlIC4vQ09QWUlORyBmaWxlIChHUEx2MispIGlzIHRoZSBkZWZhdWx0IGxpY2Vuc2UgZm9yIGNvZGUgd2l0aG91dCBhbiBleHBsaWNpdGx5CitkZWZpbmVkIGxpY2Vuc2UuCisKZGlmZiAtLWdpdCBhL2F1dG9nZW4uc2ggYi9hdXRvZ2VuLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjExNjg4NWIKLS0tIC9kZXYvbnVsbAorKysgYi9hdXRvZ2VuLnNoCkBAIC0wLDAgKzEsMTMxIEBACisjIS9iaW4vc2gKKworIworIyBIZWxwcyBnZW5lcmF0ZSBhdXRvY29uZi9hdXRvbWFrZSBzdHVmZiwgd2hlbiBjb2RlIGlzIGNoZWNrZWQgb3V0IGZyb20gU0NNLgorIworIyBDb3B5cmlnaHQgKEMpIDIwMDYtMjAxMCAtIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworCitzcmNkaXI9YGRpcm5hbWUgJDBgCit0ZXN0IC16ICIkc3JjZGlyIiAmJiBzcmNkaXI9LgorCitUSEVESVI9YHB3ZGAKK2NkICRzcmNkaXIKK0RJRT0wCisKKyMgcHJvdmlkZSBzaW1wbGUgZ2V0dGV4dCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5CithdXRvcG9pbnRfZnVuICgpCit7CisJIyB3ZSBoYXZlIHRvIGRlYWwgd2l0aCBzZXQgLWUgLi4uCisJcmV0PSIwIgorCisJIyBjaGVjayBhZ2FpbnN0IHRoaXMgaGFyZGNvZGVkIHNldCBvZiBhbHRlcm5hdGl2ZSBnZXR0ZXh0IHZlcnNpb25zCisJZ3RfdmVyPWBnZXR0ZXh0IC0tdmVyc2lvbiB8XAorCQlzZWQgLW4gLWUgJ3MvLiogXCgwXC4xN1x8MFwuMThcfDBcLjE4XC5bMS0yXVwpJC9cMS9wJ2AKKworCWlmIFsgLW4gIiRndF92ZXIiIF07IHRoZW4KKwkJZWNobyAid2FybmluZzogZm9yY2luZyBhdXRvcG9pbnQgdG8gdXNlIG9sZCBnZXR0ZXh0ICRndF92ZXIiCisJCXJtIC1mIGNvbmZpZ3VyZS5hYy5hdXRvZ2VuYmFrCisJCXNlZCAtaS5hdXRvZ2VuYmFrIGNvbmZpZ3VyZS5hYyBcCisJCQktZSAicy9cKEFNX0dOVV9HRVRURVhUX1ZFUlNJT05cKS4qL1wxKFskZ3RfdmVyXSkvIgorCWZpCisKKwlhdXRvcG9pbnQgIiRAIiB8fCByZXQ9JD8KKworCWlmIFsgLW4gIiRndF92ZXIiIF07IHRoZW4KKwkJbXYgY29uZmlndXJlLmFjLmF1dG9nZW5iYWsgY29uZmlndXJlLmFjCisJZmkKKworCXJldHVybiAkcmV0Cit9CisKK3Rlc3QgLWYgc3lzLXV0aWxzL21vdW50LmMgfHwgeworCWVjaG8KKwllY2hvICJZb3UgbXVzdCBydW4gdGhpcyBzY3JpcHQgaW4gdGhlIHRvcC1sZXZlbCB1dGlsLWxpbnV4IGRpcmVjdG9yeS4iCisJZWNobworCURJRT0xCit9CisKKyhhdXRvcG9pbnQgLS12ZXJzaW9uKSA8IC9kZXYvbnVsbCA+IC9kZXYvbnVsbCAyPiYxIHx8IHsKKyAgICAgICAgZWNobworICAgICAgICBlY2hvICJZb3UgbXVzdCBoYXZlIGF1dG9wb2ludCBpbnN0YWxsZWQgdG8gZ2VuZXJhdGUgdGhlIHV0aWwtbGludXggYnVpbGQgc3lzdGVtLiIKKyAgICAgICAgZWNobyAiVGhlIGF1dG9wb2ludCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIEdOVSBnZXR0ZXh0IHBhY2thZ2UuIgorCWVjaG8KKyAgICAgICAgRElFPTEKK30KKyhhdXRvY29uZiAtLXZlcnNpb24pIDwgL2Rldi9udWxsID4gL2Rldi9udWxsIDI+JjEgfHwgeworCWVjaG8KKwllY2hvICJZb3UgbXVzdCBoYXZlIGF1dG9jb25mIGluc3RhbGxlZCB0byBnZW5lcmF0ZSB0aGUgdXRpbC1saW51eCBidWlsZCBzeXN0ZW0uIgorCWVjaG8KKwlESUU9MQorfQorKGF1dG9oZWFkZXIgLS12ZXJzaW9uKSA8IC9kZXYvbnVsbCA+IC9kZXYvbnVsbCAyPiYxIHx8IHsKKwllY2hvCisJZWNobyAiWW91IG11c3QgaGF2ZSBhdXRvaGVhZGVyIGluc3RhbGxlZCB0byBnZW5lcmF0ZSB0aGUgdXRpbC1saW51eCBidWlsZCBzeXN0ZW0uIgorCWVjaG8gIlRoZSBhdXRvaGVhZGVyIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgR05VIGF1dG9jb25mIHBhY2thZ2UuIgorCWVjaG8KKwlESUU9MQorfQorCitMSUJUT09MSVpFPWxpYnRvb2xpemUKK2Nhc2UgYHVuYW1lYCBpbiBEYXJ3aW4qKSBMSUJUT09MSVpFPWdsaWJ0b29saXplIDs7IGVzYWMKK2lmICEgKCRMSUJUT09MSVpFIC0tdmVyc2lvbikgPCAvZGV2L251bGwgPiAvZGV2L251bGwgMj4mMTsgdGhlbgorCWVjaG8KKwllY2hvICJZb3UgbXVzdCBoYXZlIGxpYnRvb2wtMiBpbnN0YWxsZWQgdG8gZ2VuZXJhdGUgdGhlIHV0aWwtbGludXggYnVpbGQgc3lzdGVtLiIKKwllY2hvCisJRElFPTEKK2Vsc2UKKwlsdHZlcj0kKCRMSUJUT09MSVpFIC0tdmVyc2lvbiB8IGF3ayAnL15bZ10qbGlidG9vbGl6ZS8geyBwcmludCAkNCB9JykKKwlsdHZlcj0ke2x0dmVyOi0ibm9uZSJ9CisJdGVzdCAke2x0dmVyIyMyLn0gPSAiJGx0dmVyIiAmJiB7CisJCWVjaG8KKwkJZWNobyAiWW91IG11c3QgaGF2ZSBsaWJ0b29sIHZlcnNpb24gPj0gMi54LngsIGJ1dCB5b3UgaGF2ZSAkbHR2ZXIuIgorCQllY2hvCisJCURJRT0xCisJfQorZmkKKworKGF1dG9tYWtlIC0tdmVyc2lvbikgPCAvZGV2L251bGwgPiAvZGV2L251bGwgMj4mMSB8fCB7CisJZWNobworCWVjaG8gIllvdSBtdXN0IGhhdmUgYXV0b21ha2UgaW5zdGFsbGVkIHRvIGdlbmVyYXRlIHRoZSB1dGlsLWxpbnV4IGJ1aWxkIHN5c3RlbS4iCisJZWNobworCURJRT0xCit9CisKK2lmIHRlc3QgIiRESUUiIC1lcSAxOyB0aGVuCisJZXhpdCAxCitmaQorCitlY2hvCitlY2hvICJHZW5lcmF0aW5nIGJ1aWxkLXN5c3RlbSB3aXRoOiIKK2VjaG8gIiAgIGF1dG9wb2ludDogICQoYXV0b3BvaW50IC0tdmVyc2lvbiB8IGhlYWQgLTEpIgorZWNobyAiICAgYWNsb2NhbDogICAgJChhY2xvY2FsIC0tdmVyc2lvbiB8IGhlYWQgLTEpIgorZWNobyAiICAgYXV0b2NvbmY6ICAgJChhdXRvY29uZiAtLXZlcnNpb24gfCBoZWFkIC0xKSIKK2VjaG8gIiAgIGF1dG9oZWFkZXI6ICQoYXV0b2hlYWRlciAtLXZlcnNpb24gfCBoZWFkIC0xKSIKK2VjaG8gIiAgIGF1dG9tYWtlOiAgICQoYXV0b21ha2UgLS12ZXJzaW9uIHwgaGVhZCAtMSkiCitlY2hvICIgICBsaWJ0b29saXplOiAkKCRMSUJUT09MSVpFIC0tdmVyc2lvbiB8IGhlYWQgLTEpIgorCitybSAtcmYgYXV0b200dGUuY2FjaGUKKworc2V0IC1lCitwby91cGRhdGUtcG90ZmlsZXMKK2F1dG9wb2ludF9mdW4gLS1mb3JjZSAkQVBfT1BUUworaWYgISBncmVwIC1xIGRhdGFyb290ZGlyIHBvL01ha2VmaWxlLmluLmluOyB0aGVuCisJZWNobyBhdXRvcG9pbnQgZG9lcyBub3QgaG9ub3IgZGF0YXJvb3QgdmFyaWFibGUsIHBhdGNoaW5nLgorCXNlZCAtaSAtZSAncy9eZGF0YWRpciAqPVwoLipcKS9kYXRhcm9vdGRpciA9IEBkYXRhcm9vdGRpckBcCitkYXRhZGlyID0gQGRhdGFkaXJAL2cnIHBvL01ha2VmaWxlLmluLmluCitmaQorJExJQlRPT0xJWkUgLS1mb3JjZSAkTFRfT1BUUworYWNsb2NhbCAtSSBtNCAkQUxfT1BUUworYXV0b2NvbmYgJEFDX09QVFMKK2F1dG9oZWFkZXIgJEFIX09QVFMKKworYXV0b21ha2UgLS1hZGQtbWlzc2luZyAkQU1fT1BUUworCitjZCAiJFRIRURJUiIKKworZWNobworZWNobyAiTm93IHR5cGUgJyRzcmNkaXIvY29uZmlndXJlJyBhbmQgJ21ha2UnIHRvIGNvbXBpbGUuIgorZWNobworCisKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9NYWtlbW9kdWxlLmFtIGIvYmFzaC1jb21wbGV0aW9uL01ha2Vtb2R1bGUuYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODlhZThkZAotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9NYWtlbW9kdWxlLmFtCkBAIC0wLDAgKzEsMzAzIEBACitpZiBCVUlMRF9CQVNIX0NPTVBMRVRJT04KKworaWYgQlVJTERfQkxLSUQKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vYmxraWQKK2VuZGlmCitpZiBCVUlMRF9DQUwKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vY2FsCitlbmRpZgoraWYgQlVJTERfQ09MCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2NvbAorZW5kaWYKK2lmIEJVSUxEX0NPTENSVAorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9jb2xjcnQKK2VuZGlmCitpZiBCVUlMRF9DT0xSTQorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9jb2xybQorZW5kaWYKK2lmIEJVSUxEX0NPTFVNTgorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9jb2x1bW4KK2VuZGlmCitpZiBCVUlMRF9GSU5ETU5UCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2ZpbmRtbnQKK2VuZGlmCitpZiBCVUlMRF9GTE9DSworZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9mbG9jaworZW5kaWYKK2lmIEJVSUxEX0dFVE9QVAorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9nZXRvcHQKK2VuZGlmCitpZiBCVUlMRF9IRVhEVU1QCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2hleGR1bXAKK2VuZGlmCitpZiBCVUlMRF9JUENNSworZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9pcGNtaworZW5kaWYKK2lmIEJVSUxEX0lQQ1JNCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2lwY3JtCitlbmRpZgoraWYgQlVJTERfSVBDUworZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9pcGNzCitlbmRpZgoraWYgQlVJTERfSVNPU0laRQorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9pc29zaXplCitlbmRpZgoraWYgQlVJTERfTE9HR0VSCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2xvZ2dlcgorZW5kaWYKK2lmIEJVSUxEX0xPT0sKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vbG9vaworZW5kaWYKK2lmIEJVSUxEX0xTSVBDCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2xzaXBjCitlbmRpZgoraWYgQlVJTERfTFNOUworZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9sc25zCitlbmRpZgoraWYgQlVJTERfTUNPT0tJRQorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9tY29va2llCitlbmRpZgoraWYgQlVJTERfTUtGUworZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9ta2ZzCitlbmRpZgoraWYgQlVJTERfTUtTV0FQCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL21rc3dhcAorZW5kaWYKK2lmIEJVSUxEX05BTUVJCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL25hbWVpCitlbmRpZgoraWYgQlVJTERfUFJMSU1JVAorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9wcmxpbWl0CitlbmRpZgoraWYgQlVJTERfUkVBRFBST0ZJTEUKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vcmVhZHByb2ZpbGUKK2VuZGlmCitpZiBCVUlMRF9SRU5JQ0UKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vcmVuaWNlCitlbmRpZgoraWYgQlVJTERfUkVWCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL3JldgorZW5kaWYKK2lmIEJVSUxEX1NDUklQVAorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9zY3JpcHQKK2VuZGlmCitpZiBCVUlMRF9TQ1JJUFRSRVBMQVkKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vc2NyaXB0cmVwbGF5CitlbmRpZgoraWYgQlVJTERfU0VUU0lECitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL3NldHNpZAorZW5kaWYKK2lmIEJVSUxEX1RBSUxGCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL3RhaWxmCitlbmRpZgoraWYgQlVJTERfV0hFUkVJUworZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi93aGVyZWlzCitlbmRpZgoraWYgQlVJTERfV0lQRUZTCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL3dpcGVmcworZW5kaWYKK2lmIEJVSUxEX0ZTQ0sKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vZnNjaworZW5kaWYKKworaWYgQlVJTERfQkZTCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL21rZnMuYmZzCitlbmRpZgorCitpZiBCVUlMRF9NSU5JWAorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IFwKKwliYXNoLWNvbXBsZXRpb24vZnNjay5taW5peCBcCisJYmFzaC1jb21wbGV0aW9uL21rZnMubWluaXgKK2VuZGlmCisKK2lmIEJVSUxEX0NSQU1GUworZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IFwKKwliYXNoLWNvbXBsZXRpb24vZnNjay5jcmFtZnMgXAorCWJhc2gtY29tcGxldGlvbi9ta2ZzLmNyYW1mcworZW5kaWYKK2lmIEJVSUxEX1BBUlRYCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gXAorCWJhc2gtY29tcGxldGlvbi9hZGRwYXJ0IFwKKwliYXNoLWNvbXBsZXRpb24vZGVscGFydCBcCisJYmFzaC1jb21wbGV0aW9uL3Jlc2l6ZXBhcnQgXAorCWJhc2gtY29tcGxldGlvbi9wYXJ0eAorZW5kaWYKK2lmIEJVSUxEX1JBVworZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9yYXcKK2VuZGlmCitpZiBCVUlMRF9TV0FQTEFCRUwKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vc3dhcGxhYmVsCitlbmRpZgoraWYgQlVJTERfRkRGT1JNQVQKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vZmRmb3JtYXQKK2VuZGlmCitpZiBCVUlMRF9CTE9DS0RFVgorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9ibG9ja2RldgorZW5kaWYKKworaWYgQlVJTERfRkRJU0sKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vZmRpc2sKK2VuZGlmCitpZiBCVUlMRF9TRkRJU0sKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vc2ZkaXNrCitlbmRpZgoraWYgQlVJTERfQ0ZESVNLCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2NmZGlzaworZW5kaWYKKworaWYgQlVJTERfQ0hGTl9DSFNICitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gXAorCWJhc2gtY29tcGxldGlvbi9jaGZuIFwKKwliYXNoLWNvbXBsZXRpb24vY2hzaAorZW5kaWYKK2lmIEJVSUxEX0xBU1QKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vbGFzdAorZW5kaWYKK2lmIEJVSUxEX0xTTE9HSU5TCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2xzbG9naW5zCitlbmRpZgoraWYgQlVJTERfTkVXR1JQCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL25ld2dycAorZW5kaWYKKworaWYgQlVJTERfU1UKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vc3UKK2VuZGlmCisKK2lmIEJVSUxEX1JVTlVTRVIKK2luc3RhbGwtZGF0YS1ob29rLWJhc2hjb21wLXJ1bnVzZXI6OgoraWYgQlVJTERfU1UKKwlsbiAtc2Ygc3UgJChERVNURElSKSQoYmFzaGNvbXBsZXRpb25kaXIpL3J1bnVzZXIKK2Vsc2UKKwljcCAkKHRvcF9zcmNkaXIpL2Jhc2gtY29tcGxldGlvbi9zdSAkKERFU1RESVIpJChiYXNoY29tcGxldGlvbmRpcikvcnVudXNlcgorZW5kaWYKK0lOU1RBTExfREFUQV9IT09LUyArPSBpbnN0YWxsLWRhdGEtaG9vay1iYXNoY29tcC1ydW51c2VyCitlbmRpZgorCitpZiBCVUlMRF9VVE1QRFVNUAorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi91dG1wZHVtcAorZW5kaWYKK2lmIEJVSUxEX0xJQlVVSUQKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vdXVpZGdlbgorZW5kaWYKK2lmIEJVSUxEX1VVSURECitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL3V1aWRkCitlbmRpZgoraWYgQlVJTERfTFNCTEsKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vbHNibGsKK2VuZGlmCitpZiBCVUlMRF9MU0xPQ0tTCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2xzbG9ja3MKK2VuZGlmCitpZiBCVUlMRF9SRU5BTUUKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vcmVuYW1lCitlbmRpZgoraWYgQlVJTERfQ0hSVAorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9jaHJ0CitlbmRpZgoraWYgQlVJTERfSU9OSUNFCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2lvbmljZQorZW5kaWYKK2lmIEJVSUxEX1RBU0tTRVQKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vdGFza3NldAorZW5kaWYKKworaWYgQlVJTERfQ0hDUFUKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vY2hjcHUKK2VuZGlmCitpZiBCVUlMRF9FSkVDVAorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9lamVjdAorZW5kaWYKK2lmIEJVSUxEX0ZBTExPQ0FURQorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9mYWxsb2NhdGUKK2VuZGlmCitpZiBCVUlMRF9IV0NMT0NLCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2h3Y2xvY2sKK2VuZGlmCitpZiBCVUlMRF9UVU5FTFAKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vdHVuZWxwCitlbmRpZgoraWYgQlVJTERfTFNDUFUKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vbHNjcHUKK2VuZGlmCitpZiBCVUlMRF9MT1NFVFVQCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2xvc2V0dXAKK2VuZGlmCitpZiBCVUlMRF9NT1VOVAorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9tb3VudAorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi91bW91bnQKK2VuZGlmCitpZiBCVUlMRF9NT1VOVFBPSU5UCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL21vdW50cG9pbnQKK2VuZGlmCitpZiBCVUlMRF9OU0VOVEVSCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL25zZW50ZXIKK2VuZGlmCitpZiBCVUlMRF9QSVZPVF9ST09UCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL3Bpdm90X3Jvb3QKK2VuZGlmCitpZiBCVUlMRF9TRVRQUklWCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL3NldHByaXYKK2VuZGlmCitpZiBCVUlMRF9TV0FQT04KK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vc3dhcG9uCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL3N3YXBvZmYKK2VuZGlmCitpZiBCVUlMRF9VTlNIQVJFCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL3Vuc2hhcmUKK2VuZGlmCitpZiBCVUlMRF9XRENUTAorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi93ZGN0bAorZW5kaWYKK2lmIEJVSUxEX0JMS0RJU0NBUkQKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vYmxrZGlzY2FyZAorZW5kaWYKK2lmIEJVSUxEX0NUUkxBTFRERUwKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vY3RybGFsdGRlbAorZW5kaWYKK2lmIEJVSUxEX0RNRVNHCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2RtZXNnCitlbmRpZgoraWYgQlVJTERfRlNGUkVFWkUKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vZnNmcmVlemUKK2VuZGlmCitpZiBCVUlMRF9GU1RSSU0KK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vZnN0cmltCitlbmRpZgoraWYgQlVJTERfTERBVFRBQ0gKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vbGRhdHRhY2gKK2VuZGlmCitpZiBCVUlMRF9SVENXQUtFCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL3J0Y3dha2UKK2VuZGlmCitpZiBCVUlMRF9TRVRBUkNICitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL3NldGFyY2gKK2VuZGlmCitpZiBCVUlMRF9aUkFNQ1RMCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL3pyYW1jdGwKK2VuZGlmCisKK2lmIEJVSUxEX01FU0cKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vbWVzZworZW5kaWYKK2lmIEJVSUxEX1dBTEwKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vd2FsbAorZW5kaWYKK2lmIEJVSUxEX1dSSVRFCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL3dyaXRlCitlbmRpZgoraWYgQlVJTERfU0VUVEVSTQorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9zZXR0ZXJtCitlbmRpZgorCitpZiBCVUlMRF9NT1JFCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL21vcmUKK2VuZGlmCitpZiBCVUlMRF9QRworZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9wZworZW5kaWYKK2lmIEJVSUxEX1VMCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL3VsCitlbmRpZgorCitlbmRpZiAjIEJVSUxEX0JBU0hfQ09NUExFVElPTgpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2FkZHBhcnQgYi9iYXNoLWNvbXBsZXRpb24vYWRkcGFydApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTc5NjM5Ci0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2FkZHBhcnQKQEAgLTAsMCArMSwyMyBAQAorX2FkZHBhcnRfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJY2FzZSAkQ09NUF9DV09SRCBpbgorCQkxKQorCQkJT1BUUz0iLS1oZWxwIC0tdmVyc2lvbiAkKGxzYmxrIC1wbnJvIG5hbWUpIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQk7OworCQkyKQorCQkJIyBGSVhNRTogaG93IHRvIGRldGVybWluZSBuZXh0IGZyZWUgcGFydGl0aW9uIG51bWJlcgorCQkJOzsKKwkJMykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAic3RhcnQiIC0tICRjdXIpICkKKwkJCTs7CisJCTQpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImxlbmd0aCIgLS0gJGN1cikgKQorCQkJOzsKKwllc2FjCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9hZGRwYXJ0X21vZHVsZSBhZGRwYXJ0CmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vYmxrZGlzY2FyZCBiL2Jhc2gtY29tcGxldGlvbi9ibGtkaXNjYXJkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhMmY2ZjYKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vYmxrZGlzY2FyZApAQCAtMCwwICsxLDI2IEBACitfYmxrZGlzY2FyZF9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1vJ3wnLS1vZmZzZXQnfCctbCd8Jy0tbGVuZ3RoJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAibnVtIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9Ii0tb2Zmc2V0IC0tbGVuZ3RoIC0tc2VjdXJlIC0tdmVyYm9zZSAtLWhlbHAgLS12ZXJzaW9uIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKGxzYmxrIC1wbnJvIG5hbWUpIiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9ibGtkaXNjYXJkX21vZHVsZSBibGtkaXNjYXJkCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vYmxraWQgYi9iYXNoLWNvbXBsZXRpb24vYmxraWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjZlNDE0YQotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9ibGtpZApAQCAtMCwwICsxLDY0IEBACitfYmxraWRfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctYycpCisJCQlsb2NhbCBJRlM9JCdcbicKKwkJCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbycpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInZhbHVlIGRldmljZSBleHBvcnQgZnVsbCIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctcycpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInRhZyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctdCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInRva2VuIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1MJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJChjZCAvZGV2L2Rpc2svYnktbGFiZWwvIDI+L2Rldi9udWxsICYmIGVjaG8gKikiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLVUnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKGNkIC9kZXYvZGlzay9ieS11dWlkLyAyPi9kZXYvbnVsbCAmJiBlY2hvICopIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1zJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAic2l6ZSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctTycpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIm9mZnNldCIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctdScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImZpbGVzeXN0ZW0gcmFpZCBjcnlwdG8gb3RoZXIgbm9maWxlc3lzdGVtIG5vcmFpZCBub2NyeXB0byBub290aGVyIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1uJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJChhd2sgJ3twcmludCAkTkZ9JyAvcHJvYy9maWxlc3lzdGVtcykiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctVicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLWMgLWQgLWggLWcgLW8gLWsgLXMgLXQgLWwgLUwgLVUgLVYgLXAgLWkgLVMgLU8gLXUgLW4iCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiQobHNibGsgLXBucm8gbmFtZSkiIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2Jsa2lkX21vZHVsZSBibGtpZApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2Jsb2NrZGV2IGIvYmFzaC1jb21wbGV0aW9uL2Jsb2NrZGV2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwNTBjMGYKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vYmxvY2tkZXYKQEAgLTAsMCArMSw0NCBAQAorX2Jsb2NrZGV2X21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJREVWUz0iJChsc2JsayAtcG5ybyBuYW1lKSIKKwlPUFRTPSItaCAtViAtcQorCQktLXJlcG9ydAorCQktLWdldHN6CisJCS0tc2V0cm8KKwkJLS1zZXRydworCQktLWdldHJvCisJCS0tZ2V0ZGlzY2FyZHplcm9lcworCQktLWdldHNzCisJCS0tZ2V0cGJzegorCQktLWdldGlvbWluCisJCS0tZ2V0aW9vcHQKKwkJLS1nZXRhbGlnbm9mZgorCQktLWdldG1heHNlY3QKKwkJLS1nZXRic3oKKwkJLS1zZXRic3oKKwkJLS1nZXRzaXplNjQKKwkJLS1zZXRyYQorCQktLWdldHJhCisJCS0tc2V0ZnJhCisJCS0tZ2V0ZnJhCisJCS0tZmx1c2hidWZzCisJCS0tcmVyZWFkcHQKKwkJJERFVlMiCisJY2FzZSAkcHJldiBpbgorCQknLS1zZXRic3onKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJieXRlcyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctLXNldGJzeid8Jy0tc2V0ZnJhJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAic2VjdG9ycyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfYmxvY2tkZXZfbW9kdWxlIGJsb2NrZGV2CmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vY2FsIGIvYmFzaC1jb21wbGV0aW9uL2NhbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjI3YmRiCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2NhbApAQCAtMCwwICsxLDI5IEBACitfY2FsX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSIJLS1vbmUKKwkJCQktLXRocmVlCisJCQkJLS1tb250aHMKKwkJCQktLXN1bmRheQorCQkJCS0tc3BhbgorCQkJCS0tbW9uZGF5CisJCQkJLS1qdWxpYW4KKwkJCQktLXllYXIKKwkJCQktLXR3ZWx2ZQorCQkJCS0td2VlaworCQkJCS0tY29sb3I9YXV0bworCQkJCS0tY29sb3I9YWx3YXlzCisJCQkJLS1jb2xvcj1uZXZlcgorCQkJCS0tdmVyc2lvbgorCQkJCS0taGVscCIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfY2FsX21vZHVsZSBjYWwKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9jZmRpc2sgYi9iYXNoLWNvbXBsZXRpb24vY2ZkaXNrCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg5MjFmYTMKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vY2ZkaXNrCkBAIC0wLDAgKzEsMjkgQEAKK19jZmRpc2tfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctTCd8Jy0tY29sb3InKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJhdXRvIG5ldmVyIGFsd2F5cyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctVid8Jy0tdmVyc2lvbid8J2gnfCctLWhlbHAnKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9IgktLWNvbG9yCisJCQkJLS16ZXJvCisJCQkJLS1oZWxwCisJCQkJLS12ZXJzaW9uIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKGxzYmxrIC1wbnJvIG5hbWUpIiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9jZmRpc2tfbW9kdWxlIGNmZGlzawpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2NoY3B1IGIvYmFzaC1jb21wbGV0aW9uL2NoY3B1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMzOTkxZjQKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vY2hjcHUKQEAgLTAsMCArMSw1OSBAQAorX2NoY3B1X21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWUnfCctLWVuYWJsZScpCisJCQlsb2NhbCBwcmVmaXggcmVhbGN1ciBDUFVMSVNUX0FMTCBDUFVMSVNUCisJCQlyZWFsY3VyPSIke2N1ciMjKix9IgorCQkJcHJlZml4PSIke2N1ciUkcmVhbGN1cn0iCisJCQlDUFVMSVNUX0FMTD0kKHNlZCAncy9eL3svOyBzLy0vLi4vZzsgcy8sL30gey9nOyBzLyQvfS8nIC9zeXMvZGV2aWNlcy9zeXN0ZW0vY3B1L29mZmxpbmUpCisJCQlmb3IgV09SRCBpbiAkKGV2YWwgZWNobyAkQ1BVTElTVF9BTEwpOyBkbworCQkJCWlmICEgW1sgJHByZWZpeCA9PSAqIiRXT1JEIiogXV07IHRoZW4KKwkJCQkJQ1BVTElTVD0iJFdPUkQgJENQVUxJU1QiCisJCQkJZmkKKwkJCWRvbmUKKwkJCWNvbXBvcHQgLW8gbm9zcGFjZQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1QICIkcHJlZml4IiAtVyAiJENQVUxJU1QiIC1TICcsJyAtLSAkcmVhbGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctZCd8Jy0tZGlzYWJsZScpCisJCQlsb2NhbCBwcmVmaXggcmVhbGN1ciBDUFVMSVNUX0FMTCBDUFVMSVNUCisJCQlyZWFsY3VyPSIke2N1ciMjKix9IgorCQkJcHJlZml4PSIke2N1ciUkcmVhbGN1cn0iCisJCQlDUFVMSVNUX0FMTD0kKHNlZCAncy9eL3svOyBzLy0vLi4vZzsgcy8sL30gey9nOyBzLyQvfS8nIC9zeXMvZGV2aWNlcy9zeXN0ZW0vY3B1L29ubGluZSkKKwkJCWZvciBXT1JEIGluICQoZXZhbCBlY2hvICRDUFVMSVNUX0FMTCk7IGRvCisJCQkJaWYgISBbWyAkcHJlZml4ID09ICoiJFdPUkQiKiBdXTsgdGhlbgorCQkJCQlDUFVMSVNUPSIkV09SRCAkQ1BVTElTVCIKKwkJCQlmaQorCQkJZG9uZQorCQkJY29tcG9wdCAtbyBub3NwYWNlCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVAgIiRwcmVmaXgiIC1XICIkQ1BVTElTVCIgLVMgJywnIC0tICRyZWFsY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1jJ3wnLS1jb25maWd1cmUnfCctZyd8Jy0tZGVjb25maWd1cmUnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJjcHUtbGlzdCIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctcCd8Jy0tZGlzcGF0Y2gnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJob3Jpem9udGFsIHZlcnRpY2FsIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCU9QVFM9Ii0taGVscAorCQktLWVuYWJsZQorCQktLWRpc2FibGUKKwkJLS1jb25maWd1cmUKKwkJLS1kZWNvbmZpZ3VyZQorCQktLWRpc3BhdGNoCisJCS0tcmVzY2FuCisJCS0tdmVyc2lvbiIKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2NoY3B1X21vZHVsZSBjaGNwdQpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2NoZm4gYi9iYXNoLWNvbXBsZXRpb24vY2hmbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xY2EwZjcyCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2NoZm4KQEAgLTAsMCArMSwyMiBAQAorX2NoZm5fbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctdSd8Jy0taGVscCd8Jy12J3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLWZ1bGwtbmFtZSAtLW9mZmljZSAtLW9mZmljZS1waG9uZSAtLWhvbWUtcGhvbmUgLS1oZWxwIC0tdmVyc2lvbiIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtdSAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9jaGZuX21vZHVsZSBjaGZuCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vY2hydCBiL2Jhc2gtY29tcGxldGlvbi9jaHJ0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlMGI5MTUKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vY2hydApAQCAtMCwwICsxLDUyIEBACitfY2hydF9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctVCd8Jy0tc2NoZWQtcnVudGltZSd8Jy1QJ3wnLS1zY2hlZC1wZXJpb2QnfCctRCd8Jy0tc2NoZWQtZGVhZGxpbmUnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJuYW5vc2Vjb25kcyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9IgorCQkJCS0tYWxsLXRhc2tzCisJCQkJLS1iYXRjaAorCQkJCS0tZGVhZGxpbmUKKwkJCQktLWZpZm8KKwkJCQktLWhlbHAKKwkJCQktLWlkbGUKKwkJCQktLW1heAorCQkJCS0tb3RoZXIKKwkJCQktLXBpZAorCQkJCS0tcmVzZXQtb24tZm9yaworCQkJCS0tcnIKKwkJCQktLXNjaGVkLWRlYWRsaW5lCisJCQkJLS1zY2hlZC1wZXJpb2QKKwkJCQktLXNjaGVkLXJ1bnRpbWUKKwkJCQktLXZlcmJvc2UKKwkJCQktLXZlcnNpb24KKwkJCSIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWxvY2FsIGkKKwlmb3IgaSBpbiAke0NPTVBfV09SRFNbKl19OyBkbworCQljYXNlICRpIGluCisJCSctcCd8Jy0tcGlkJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJChjZCAvcHJvYyAmJiBlY2hvIFswLTldKikiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQllc2FjCisJZG9uZQorCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtYyAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9jaHJ0X21vZHVsZSBjaHJ0CmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vY2hzaCBiL2Jhc2gtY29tcGxldGlvbi9jaHNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiZjhhZGQKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vY2hzaApAQCAtMCwwICsxLDI2IEBACitfY2hzaF9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1zJ3wnLS1zaGVsbCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiQoJDEgLWwpIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy11J3wnLS1oZWxwJ3wnLXYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9Ii0tc2hlbGwgLS1saXN0LXNoZWxscyAtLXZlcnNpb24gLS1oZWxwIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC11IC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2Noc2hfbW9kdWxlIGNoc2gKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9jb2wgYi9iYXNoLWNvbXBsZXRpb24vY29sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlYTU3YjUKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vY29sCkBAIC0wLDAgKzEsMjcgQEAKK19jb2xfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctbCd8Jy0tbGluZXMnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJudW1iZXIiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLUgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJT1BUUz0iLS1uby1iYWNrc3BhY2VzCisJCS0tZmluZQorCQktLXBhc3MKKwkJLS10YWJzCisJCS0tc3BhY2VzCisJCS0tbGluZXMKKwkJLS12ZXJzaW9uCisJCS0taGVscCIKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2NvbF9tb2R1bGUgY29sCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vY29sY3J0IGIvYmFzaC1jb21wbGV0aW9uL2NvbGNydApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjZkN2U2Ci0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2NvbGNydApAQCAtMCwwICsxLDI3IEBACitfY29sY3J0X21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iCS0tbm8tdW5kZXJsaW5pbmcKKwkJCQktLWhhbGYtbGluZXMKKwkJCQktLXZlcnNpb24KKwkJCQktLWhlbHAiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlsb2NhbCBJRlM9JCdcbicKKwljb21wb3B0IC1vIGZpbGVuYW1lcworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9jb2xjcnRfbW9kdWxlIGNvbGNydApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2NvbHJtIGIvYmFzaC1jb21wbGV0aW9uL2NvbHJtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyMmRiYWEKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vY29scm0KQEAgLTAsMCArMSwyOSBAQAorX2NvbHJtX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS12ZXJzaW9uIC0taGVscCIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJENPTVBfQ1dPUkQgaW4KKwkJMSkKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAic3RhcnRjb2wiIC0tICRjdXIpICkKKwkJCTs7CisJCTIpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImVuZGNvbCIgLS0gJGN1cikgKQorCQkJOzsKKwllc2FjCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9jb2xybV9tb2R1bGUgY29scm0KZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9jb2x1bW4gYi9iYXNoLWNvbXBsZXRpb24vY29sdW1uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhZjhlNzMKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vY29sdW1uCkBAIC0wLDAgKzEsMzggQEAKK19jb2x1bW5fbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctYyd8Jy0tY29sdW1ucycpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIm51bWJlciIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctcyd8Jy0tc2VwYXJhdG9yJ3wnLW8nfCctLW91dHB1dC1zZXBhcmF0b3InKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJzdHJpbmciIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1jb2x1bW5zCisJCQkJLS10YWJsZQorCQkJCS0tc2VwYXJhdG9yCisJCQkJLS1vdXRwdXQtc2VwYXJhdG9yCisJCQkJLS1maWxscm93cworCQkJCS0taGVscAorCQkJCS0tdmVyc2lvbiIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWxvY2FsIElGUz0kJ1xuJworCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2NvbHVtbl9tb2R1bGUgY29sdW1uCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vY3RybGFsdGRlbCBiL2Jhc2gtY29tcGxldGlvbi9jdHJsYWx0ZGVsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjOGE5NDMKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vY3RybGFsdGRlbApAQCAtMCwwICsxLDE3IEBACitfY3RybGFsdGRlbF9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2CisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlpZiBbICRDT01QX0NXT1JEIC1lcSAxIF07IHRoZW4KKwkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJoYXJkIHNvZnQiIC0tICRjdXIpICkKKwlmaQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfY3RybGFsdGRlbF9tb2R1bGUgY3RybGFsdGRlbApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2RlbHBhcnQgYi9iYXNoLWNvbXBsZXRpb24vZGVscGFydApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNWE5MmVmCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2RlbHBhcnQKQEAgLTAsMCArMSwyNCBAQAorX2RlbHBhcnRfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRDT01QX0NXT1JEIGluCisJCTEpCisJCQlPUFRTPSItLWhlbHAgLS12ZXJzaW9uICQobHNibGsgLXBucm8gbmFtZSkiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCTs7CisJCTIpCisJCQlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiQoY2F0IC9zeXMvYmxvY2svJHtwcmV2IyMqL30vKi9wYXJ0aXRpb24gMj4vZGV2L251bGwpIiAtLSAkY3VyKSApCisJCQk7OworCWVzYWMKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2RlbHBhcnRfbW9kdWxlIGRlbHBhcnQKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9kbWVzZyBiL2Jhc2gtY29tcGxldGlvbi9kbWVzZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYWI0MWJhCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2RtZXNnCkBAIC0wLDAgKzEsNTcgQEAKK19kbWVzZ19tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1GJ3wnLS1maWxlJykKKwkJCWxvY2FsIElGUz0kJ1xuJworCQkJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1mJ3wnLS1mYWNpbGl0eScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImtlcm4gdXNlciBtYWlsIGRhZW1vbiBhdXRoIHN5c2xvZyBscHIgbmV3cyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbCd8Jy0tbGV2ZWwnfCctbid8Jy0tY29uc29sZS1sZXZlbCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImVtZXJnIGFsZXJ0IGNyaXQgZXJyIHdhcm4gbm90aWNlIGluZm8gZGVidWciIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXMnfCctLWJ1ZmZlci1zaXplJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAic2l6ZSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlPUFRTPSItLWNsZWFyCisJCS0tcmVhZC1jbGVhcgorCQktLWNvbnNvbGUtb2ZmCisJCS0tc2hvdy1kZWx0YQorCQktLXJlbHRpbWUKKwkJLS1jb25zb2xlLW9uCisJCS0tZmlsZQorCQktLWZhY2lsaXR5CisJCS0taHVtYW4KKwkJLS1rZXJuZWwKKwkJLS1jb2xvcgorCQktLWxldmVsCisJCS0tY29uc29sZS1sZXZlbAorCQktLW5vcGFnZXIKKwkJLS1yYXcKKwkJLS1zeXNsb2cKKwkJLS1idWZmZXItc2l6ZQorCQktLWN0aW1lCisJCS0tbm90aW1lCisJCS0tdXNlcnNwYWNlCisJCS0tZm9sbG93CisJCS0tZGVjb2RlCisJCS0taGVscAorCQktLXZlcnNpb24iCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9kbWVzZ19tb2R1bGUgZG1lc2cKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9lamVjdCBiL2Jhc2gtY29tcGxldGlvbi9lamVjdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjM4MjllCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2VqZWN0CkBAIC0wLDAgKzEsNjQgQEAKK19lamVjdF9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1hJ3wnLS1hdXRvJ3wnLWknfCctLW1hbnVhbGVqZWN0JykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAib2ZmIG9uIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1jJ3wnLS1jaGFuZ2Vyc2xvdCcpCisJCQkjIEZJWE1FOiB0aGVyZSBtdXN0IGJlIHdheSB0byBkZXRlcm1pbmUgc2xvdHMKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAic2xvdCIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCScteCd8Jy0tY2RzcGVlZCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiQoJDEgLVgpIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9Ii0tYXV0bworCQkJCS0tY2hhbmdlcnNsb3QKKwkJCQktLWRlZmF1bHQKKwkJCQktLWZsb3BweQorCQkJCS0tZm9yY2UKKwkJCQktLW1hbnVhbGVqZWN0CisJCQkJLS1uby11bm1vdW50CisJCQkJLS1uby1wYXJ0aXRpb25zLXVubW91bnQKKwkJCQktLW5vb3AKKwkJCQktLXByb2MKKwkJCQktLXRhcGUKKwkJCQktLWNkcm9tCisJCQkJLS1zY3NpCisJCQkJLS10cmF5Y2xvc2UKKwkJCQktLXRyYXl0b2dnbGUKKwkJCQktLXZlcmJvc2UKKwkJCQktLWNkc3BlZWQKKwkJCQktLWxpc3RzcGVlZAorCQkJCS0taGVscAorCQkJCS0tdmVyc2lvbiIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWxvY2FsIERFVlMKKwlERVZTPSIkKGZvciBJIGluIC9zeXMvY2xhc3MvYmxvY2svKi9yZW1vdmFibGU7IGRvCisJCWlmIFsgJChjYXQgJEkpIC1uZSAwIF07IHRoZW4KKwkJCU9MRF9JRlM9JElGUworCQkJSUZTPScvJzsKKwkJCUFSUj0oJEkpCisJCQllY2hvICIvZGV2LyR7QVJSWzRdfSIKKwkJCUlGUz0kT0xEX0lGUworCQlmaQorCWRvbmUpIgorCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJERFVlMiICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2VqZWN0X21vZHVsZSBlamVjdApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2ZhbGxvY2F0ZSBiL2Jhc2gtY29tcGxldGlvbi9mYWxsb2NhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTYxYTlhNAotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9mYWxsb2NhdGUKQEAgLTAsMCArMSwzNSBAQAorX2ZhbGxvY2F0ZV9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1vJ3wnLS1vZmZzZXQnfCctbCd8Jy0tbGVuZ3RoJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiYnl0ZXMiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1rZWVwLXNpemUKKwkJCQktLXB1bmNoLWhvbGUKKwkJCQktLWRpZy1ob2xlcworCQkJCS0tb2Zmc2V0CisJCQkJLS1sZW5ndGgKKwkJCQktLWhlbHAKKwkJCQktLXZlcmJvc2UKKwkJCQktLXZlcnNpb24iCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlsb2NhbCBJRlM9JCdcbicKKwljb21wb3B0IC1vIGZpbGVuYW1lcworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9mYWxsb2NhdGVfbW9kdWxlIGZhbGxvY2F0ZQpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2ZkZm9ybWF0IGIvYmFzaC1jb21wbGV0aW9uL2ZkZm9ybWF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxYjE4ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vZmRmb3JtYXQKQEAgLTAsMCArMSwxNyBAQAorX2ZkZm9ybWF0X21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJREVWUz0kKGZvciBJIGluIGVjaG8gL2Rldi9mZCo7IGRvIGlmIFsgLWUgJEkgXTsgdGhlbiBlY2hvICRJOyBmaTsgZG9uZSkKKwlPUFRTPSItLW5vLXZlcmlmeSAtLWhlbHAgLS12ZXJzaW9uICRERVZTIgorCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfZmRmb3JtYXRfbW9kdWxlIGZkZm9ybWF0CmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vZmRpc2sgYi9iYXNoLWNvbXBsZXRpb24vZmRpc2sKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGJhNTIyZQotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9mZGlzawpAQCAtMCwwICsxLDU4IEBACitfZmRpc2tfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctcyd8Jy0tZ2V0c3onKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKGxzYmxrIC1wbnJvIG5hbWUpIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1iJ3wnLS1zZWN0b3Itc2l6ZScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIjUxMiAxMDI0IDIwNDggNDA5NiIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctYyd8Jy0tY29tcGF0aWJpbGl0eScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImRvcyBub25kb3MiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLUwnfCctLWNvbG9yJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiYXV0byBuZXZlciBhbHdheXMiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXUnfCctLXVuaXRzJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiY3lsaW5kZXJzIHNlY3RvcnMiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLUMnfCctLWdlb20tY3lsaW5kZXJzJ3wnLUgnfCctLWdlb20taGVhZHMnfCctUyd8Jy0tZ2VvbS1zZWN0b3JzJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAibnVtYmVyIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLXYnfCctLXZlcnNpb24nfCctVid8Jy0tbGlzdCcpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1zZWN0b3Itc2l6ZQorCQkJCS0tcHJvdGVjdC1ib290CisJCQkJLS1jb21wYXRpYmlsaXR5CisJCQkJLS1jb2xvcgorCQkJCS0tbGlzdAorCQkJCS0tdHlwZQorCQkJCS0tdW5pdHMKKwkJCQktLWdldHN6CisJCQkJLS1nZW9tLWN5bGluZGVycworCQkJCS0tZ2VvbS1oZWFkcworCQkJCS0tZ2VvbS1zZWN0b3JzCisJCQkJLS1oZWxwCisJCQkJLS12ZXJzaW9uIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKGxzYmxrIC1wbnJvIG5hbWUpIiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9mZGlza19tb2R1bGUgZmRpc2sKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9maW5kbW50IGIvYmFzaC1jb21wbGV0aW9uL2ZpbmRtbnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTQ2YzIyYQotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9maW5kbW50CkBAIC0wLDAgKzEsMTQwIEBACitfZmluZG1udF9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1wJ3wnLS1wb2xsJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiPWxpc3QiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXcnfCctLXRpbWVvdXQnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJ0aW1lb3V0IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1kJ3wnLS1kaXJlY3Rpb24nKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJmb3J3YXJkIGJhY2t3YXJkIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1GJ3wnLS10YWItZmlsZScpCisJCQlsb2NhbCBJRlM9JCdcbicKKwkJCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctTid8Jy0tdGFzaycpCisJCQlsb2NhbCBUSUQ9JycgSSBBUlIKKwkJCWZvciBJIGluIC9wcm9jLyovbW91bnRpbmZvOyBkbyBJRlM9LyByZWFkIC1yYSBBUlIgPDw8ICIkSSI7IFRJRCs9IiR7QVJSWzJdfSAiOyBkb25lCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRUSUQiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLU8nfCctLW9wdGlvbnMnKQorCQkJbG9jYWwgTVRBQl8zUkQgSQorCQkJZGVjbGFyZSAtYSBUTVBfQVJSCisJCQlkZWNsYXJlIC1BIE1OVF9PUFRTCisJCQl3aGlsZSByZWFkIE1UQUJfM1JEOyBkbworCQkJCUlGUz0nLCcgcmVhZCAtcmEgVE1QX0FSUiA8PDwiJE1UQUJfM1JEIgorCQkJCWZvciBJIGluICR7VE1QX0FSUltAXX07IGRvCisJCQkJCU1OVF9PUFRTWyRJXT0nMScKKwkJCQlkb25lCisJCQlkb25lIDwgPCgkMSAtcm5vIE9QVElPTlMpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7IU1OVF9PUFRTW0BdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbyd8Jy0tb3V0cHV0JykKKwkJCWxvY2FsIHByZWZpeCByZWFsY3VyIE9VVFBVVF9BTEwgT1VUUFVUCisJCQlyZWFsY3VyPSIke2N1ciMjKix9IgorCQkJcHJlZml4PSIke2N1ciUkcmVhbGN1cn0iCisKKwkJCU9VVFBVVF9BTEw9IlNPVVJDRSBUQVJHRVQgRlNUWVBFIE9QVElPTlMgVkZTLU9QVElPTlMKKwkJCQlGUy1PUFRJT05TIExBQkVMIFVVSUQgUEFSVExBQkVMIFBBUlRVVUlECisJCQkJTUFKXDpNSU4gQUNUSU9OIE9MRC1UQVJHRVQgT0xELU9QVElPTlMKKwkJCQlTSVpFIEFWQUlMIFVTRUQgVVNFJSBGU1JPT1QgVElEIElECisJCQkJT1BULUZJRUxEUyBQUk9QQUdBVElPTiBGUkVRIFBBU1NOTyIKKworCQkJZm9yIFdPUkQgaW4gJE9VVFBVVF9BTEw7IGRvCisJCQkJaWYgISBbWyAkcHJlZml4ID09ICoiJFdPUkQiKiBdXTsgdGhlbgorCQkJCQlPVVRQVVQ9IiRXT1JEICRPVVRQVVQiCisJCQkJZmkKKwkJCWRvbmUKKwkJCWNvbXBvcHQgLW8gbm9zcGFjZQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1QICIkcHJlZml4IiAtVyAiJE9VVFBVVCIgLVMgJywnIC0tICRyZWFsY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy10J3wnLS10eXBlcycpCisJCQlsb2NhbCBUWVBFUworCQkJVFlQRVM9ImFkZnMgYWZmcyBhdXRvZnMgY2lmcyBjb2RhIGNvaGVyZW50IGNyYW1mcworCQkJCWRlYnVnZnMgZGV2cHRzIGVmcyBleHQyIGV4dDMgZXh0NCBoZnMKKwkJCQloZnNwbHVzIGhwZnMgaXNvOTY2MCBqZnMgbWluaXggbXNkb3MKKwkJCQluY3BmcyBuZnMgbmZzNCBudGZzIHByb2MgcW54NCByYW1mcworCQkJCXJlaXNlcmZzIHJvbWZzIHNxdWFzaGZzIHNtYmZzIHN5c3YgdG1wZnMKKwkJCQl1YmlmcyB1ZGYgdWZzIHVtc2RvcyB1c2JmcyB2ZmF0IHhlbml4IHhmcyIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJFRZUEVTIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1TJ3wnLS1zb3VyY2UnKQorCQkJbG9jYWwgREVWX01QT0lOVAorCQkJREVWX01QT0lOVD0kKCQxIC1ybm8gU09VUkNFIHwgZ3JlcCBeL2RldikKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJERFVl9NUE9JTlQiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLVQnfCctLXRhcmdldCcpCisJCQlsb2NhbCBERVZfTVBPSU5UCisJCQlERVZfTVBPSU5UPSQoJDEgLXJubyBUQVJHRVQpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRERVZfTVBPSU5UIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1NJ3wnLS1tb3VudHBvaW50JykKKwkJCWxvY2FsIElGUz0kJ1xuJworCQkJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtbyBkaXJuYW1lcyAtLSAke2N1cjotIi8ifSkgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLWZzdGFiCisJCQkJLS1tdGFiCisJCQkJLS1rZXJuZWwKKwkJCQktLXBvbGwKKwkJCQktLXRpbWVvdXQKKwkJCQktLWFsbAorCQkJCS0tYXNjaWkKKwkJCQktLWNhbm9uaWNhbGl6ZQorCQkJCS0tZGYKKwkJCQktLWRpcmVjdGlvbgorCQkJCS0tZXZhbHVhdGUKKwkJCQktLXRhYi1maWxlCisJCQkJLS1maXJzdC1vbmx5CisJCQkJLS1pbnZlcnQKKwkJCQktLWpzb24KKwkJCQktLWxpc3QKKwkJCQktLXRhc2sKKwkJCQktLW5vaGVhZGluZ3MKKwkJCQktLW5vdHJ1bmNhdGUKKwkJCQktLW9wdGlvbnMKKwkJCQktLW91dHB1dAorCQkJCS0tcGFpcnMKKwkJCQktLXJhdworCQkJCS0tdHlwZXMKKwkJCQktLW5vZnNyb290CisJCQkJLS1zdWJtb3VudHMKKwkJCQktLXNvdXJjZQorCQkJCS0tdGFyZ2V0CisJCQkJLS1tb3VudHBvaW50CisJCQkJLS1oZWxwCisJCQkJLS12ZXJzaW9uIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJbG9jYWwgREVWX01QT0lOVAorCURFVl9NUE9JTlQ9JCgkMSAtcm5vIFRBUkdFVCxTT1VSQ0UpCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkREVWX01QT0lOVCIgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfZmluZG1udF9tb2R1bGUgZmluZG1udApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2Zsb2NrIGIvYmFzaC1jb21wbGV0aW9uL2Zsb2NrCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlN2Y4YjgKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vZmxvY2sKQEAgLTAsMCArMSw0NiBAQAorX2Zsb2NrX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLXcnfCctLXRpbWVvdXQnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJzZWNvbmRzIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1FJ3wnLS1jb25mbGljdC1leGl0LWNvZGUnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJ7MC4uMjU1fSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctYyd8Jy0tY29tbWFuZCcpCisJCQljb21wb3B0IC1vIGJhc2hkZWZhdWx0CisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWMgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLXNoYXJlZAorCQkJCS0tZXhjbHVzaXZlCisJCQkJLS11bmxvY2sKKwkJCQktLW5vbmJsb2NrCisJCQkJLS10aW1lb3V0CisJCQkJLS1jb25mbGljdC1leGl0LWNvZGUKKwkJCQktLWNsb3NlCisJCQkJLS1jb21tYW5kCisJCQkJLS1oZWxwCisJCQkJLS12ZXJzaW9uIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJbG9jYWwgSUZTPSQnXG4nCisJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJHtjdXI6LSIvIn0pICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2Zsb2NrX21vZHVsZSBmbG9jawpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2ZzY2sgYi9iYXNoLWNvbXBsZXRpb24vZnNjawpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MTY0MjJmCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2ZzY2sKQEAgLTAsMCArMSwzOCBAQAorX2ZzY2tfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctYicpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInN1cGVyYmxvY2siIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLUInKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJibG9ja3NpemUiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWonKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJleHRlcm5hbF9qb3VybmFsIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1sJ3wnLUwnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJiYWRfYmxvY2tzX2ZpbGUiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLT8nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9Ii1wIC1uIC15IC1jIC1mIC12IC1iIC1CIC1qIC1sIC1MIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKGZpbmQgLUwgL2Rldi8gLXR5cGUgYiAyPi9kZXYvbnVsbCkiIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2ZzY2tfbW9kdWxlIGZzY2sKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9mc2NrLmNyYW1mcyBiL2Jhc2gtY29tcGxldGlvbi9mc2NrLmNyYW1mcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMzI3NmI5Ci0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2ZzY2suY3JhbWZzCkBAIC0wLDAgKzEsMjkgQEAKK19mc2NrLmNyYW1mc19tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy14J3wnLS1kZXN0aW5hdGlvbicpCisJCQlsb2NhbCBJRlM9JCdcbicKKwkJCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLW8gZGlybmFtZXMgLS0gJHtjdXI6LSIvIn0pICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICItLXZlcmJvc2UgLS1ibG9ja3NpemUgLS1leHRyYWN0IC0taGVscCAtLXZlcnNpb24iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlsb2NhbCBJRlM9JCdcbicKKwljb21wb3B0IC1vIGZpbGVuYW1lcworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9mc2NrLmNyYW1mc19tb2R1bGUgZnNjay5jcmFtZnMKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9mc2NrLm1pbml4IGIvYmFzaC1jb21wbGV0aW9uL2ZzY2subWluaXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWM0NTcxZQotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9mc2NrLm1pbml4CkBAIC0wLDAgKzEsMTYgQEAKK19mc2NrLm1pbml4X21vZHVsZSgpCit7CisJbG9jYWwgY3VyIE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1saXN0IC0tYXV0byAtLXJlcGFpciAtLXZlcmJvc2UgLS1zdXBlciAtLXVuY2xlYXJlZCAtLWZvcmNlIC0taGVscCAtLXZlcnNpb24iCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiQobHNibGsgLXBucm8gbmFtZSkiIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2ZzY2subWluaXhfbW9kdWxlIGZzY2subWluaXgKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9mc2ZyZWV6ZSBiL2Jhc2gtY29tcGxldGlvbi9mc2ZyZWV6ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNWJkNjhlCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2ZzZnJlZXplCkBAIC0wLDAgKzEsMjQgQEAKK19mc2ZyZWV6ZV9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9Ii0tZnJlZXplIC0tdW5mcmVlemUgLS1oZWxwIC0tdmVyc2lvbiIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWxvY2FsIE1QT0lOVAorCU1QT0lOVD0iJChmaW5kbW50IC10IGV4dDIsZXh0MyxleHQ0LHJlaXNlcmZzLGpmcyx4ZnMgLW8gVEFSR0VUIC1uIC1yKSIKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRNUE9JTlQiIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2ZzZnJlZXplX21vZHVsZSBmc2ZyZWV6ZQpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2ZzdHJpbSBiL2Jhc2gtY29tcGxldGlvbi9mc3RyaW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzI2ZGRkOQotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9mc3RyaW0KQEAgLTAsMCArMSwzNCBAQAorX2ZzdHJpbV9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1vJ3wnLS1vZmZzZXQnfCctbCd8Jy0tbGVuZ3RoJ3wnLW0nfCctLW1pbmltdW0nKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJudW0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1hbGwKKwkJCQktLW9mZnNldAorCQkJCS0tbGVuZ3RoCisJCQkJLS1taW5pbXVtCisJCQkJLS12ZXJib3NlCisJCQkJLS1oZWxwCisJCQkJLS12ZXJzaW9uIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJbG9jYWwgTVBPSU5UUworCU1QT0lOVFM9JChmaW5kbW50IC1ybm8gU09VUkNFLFRBUkdFVCB8IGF3ayAnL15cL2Rldi97cHJpbnQgJDJ9JykKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRNUE9JTlRTIiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9mc3RyaW1fbW9kdWxlIGZzdHJpbQpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2dldG9wdCBiL2Jhc2gtY29tcGxldGlvbi9nZXRvcHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWUzZmNhNgotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9nZXRvcHQKQEAgLTAsMCArMSwzNyBAQAorX2dldG9wdF9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1sJ3wnLS1sb25nb3B0aW9ucycpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImxvbmdvcHRzIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1uJ3wnLS1uYW1lJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAibmFtZSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbyd8Jy0tb3B0aW9ucycpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIm9wdHN0cmluZyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctcyd8Jy0tc2hlbGwnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJzaCBiYXNoIGNzaCB0Y3NoIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9Ii0tYWx0ZXJuYXRpdmUgLS1oZWxwIC0tbG9uZ29wdGlvbnMgLS1uYW1lIC0tb3B0aW9ucyAtLXF1aWV0IC0tcXVpZXQtb3V0cHV0IC0tc2hlbGwgLS10ZXN0IC0tdW5xdW90ZWQgLS12ZXJzaW9uIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9nZXRvcHRfbW9kdWxlIGdldG9wdApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2hleGR1bXAgYi9iYXNoLWNvbXBsZXRpb24vaGV4ZHVtcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZGMyNzQwCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2hleGR1bXAKQEAgLTAsMCArMSw0OCBAQAorX2hleGR1bXBfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctZSd8Jy0tZm9ybWF0JykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiZm9ybWF0IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1uJ3wnLS1sZW5ndGgnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJsZW5ndGgiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXMnfCctLXNraXAnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJvZmZzZXQiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLVYnfCctLXZlcnNpb24nfCctaCd8Jy0taGVscCcpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iCS0tb25lLWJ5dGUtb2N0YWwKKwkJCQktLW9uZS1ieXRlLWNoYXIKKwkJCQktLWNhbm9uaWNhbAorCQkJCS0tdHdvLWJ5dGVzLWRlY2ltYWwKKwkJCQktLXR3by1ieXRlcy1vY3RhbAorCQkJCS0tdHdvLWJ5dGVzLWhleAorCQkJCS0tZm9ybWF0CisJCQkJLS1mb3JtYXQtZmlsZQorCQkJCS0tbGVuZ3RoCisJCQkJLS1za2lwCisJCQkJLS1uby1zcXVlZXppbmcKKwkJCQktLXZlcnNpb24KKwkJCQktLWhlbHAiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlsb2NhbCBJRlM9JCdcbicKKwljb21wb3B0IC1vIGZpbGVuYW1lcworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9oZXhkdW1wX21vZHVsZSBoZXhkdW1wCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vaHdjbG9jayBiL2Jhc2gtY29tcGxldGlvbi9od2Nsb2NrCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlMWFjMjAKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vaHdjbG9jawpAQCAtMCwwICsxLDU3IEBACitfaHdjbG9ja19tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1mJ3wnLS1ydGMnfCctLWFkamZpbGUnKQorCQkJbG9jYWwgSUZTPSQnXG4nCisJCQljb21wb3B0IC1vIGZpbGVuYW1lcworCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLS1kYXRlJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiZGF0ZSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctLWVwb2NoJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAieWVhciIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0/J3wnLS1oZWxwJ3wnLXYnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1oZWxwCisJCQkJLS1zaG93CisJCQkJLS1zZXQKKwkJCQktLWhjdG9zeXMKKwkJCQktLXN5c3RvaGMKKwkJCQktLXN5c3R6CisJCQkJLS1hZGp1c3QKKwkJCQktLWNvbXBhcmUKKwkJCQktLWdldGVwb2NoCisJCQkJLS1zZXRlcG9jaAorCQkJCS0tcHJlZGljdAorCQkJCS0tdmVyc2lvbgorCQkJCS0tdXRjCisJCQkJLS1sb2NhbHRpbWUKKwkJCQktLXJ0YworCQkJCS0tZGlyZWN0aXNhCisJCQkJLS1iYWR5ZWFyCisJCQkJLS1kYXRlCisJCQkJLS1lcG9jaAorCQkJCS0tbm9hZGpmaWxlCisJCQkJLS1hZGpmaWxlCisJCQkJLS10ZXN0CisJCQkJLS1kZWJ1ZyIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfaHdjbG9ja19tb2R1bGUgaHdjbG9jawpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2lvbmljZSBiL2Jhc2gtY29tcGxldGlvbi9pb25pY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWIxYzVmZQotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9pb25pY2UKQEAgLTAsMCArMSwzOCBAQAorX2lvbmljZV9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1jJ3wnLS1jbGFzcycpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInswLi4zfSBub25lIHJlYWx0aW1lIGJlc3QtZWZmb3J0IGlkbGUiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLW4nfCctLWNsYXNzZGF0YScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInswLi43fSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctcCd8Jy0tcGlkJykKKwkJCWxvY2FsIFBJRFMKKwkJCVBJRFM9JChmb3IgSSBpbiAvcHJvYy9bMC05XSo7IGRvIGVjaG8gJHtJIyMiL3Byb2MvIn07IGRvbmUpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRQSURTIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9Ii0tY2xhc3MgLS1jbGFzc2RhdGEgLS1waWQgLS1pZ25vcmUgLS12ZXJzaW9uIC0taGVscCIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWxvY2FsIElGUz0kJ1xuJworCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2lvbmljZV9tb2R1bGUgaW9uaWNlCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vaXBjbWsgYi9iYXNoLWNvbXBsZXRpb24vaXBjbWsKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjk2MjY2YwotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9pcGNtawpAQCAtMCwwICsxLDI3IEBACitfaXBjbWtfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldgorCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLU0nfCctLXNobWVtJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAic2l6ZSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctUyd8Jy0tc2VtYXBob3JlJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAibnVtYmVyIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1wJ3wnLS1tb2RlJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAibW9kZSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIi0tc2htZW0gLS1zZW1hcGhvcmUgLS1xdWV1ZSAtLW1vZGUgLS1oZWxwIC0tdmVyc2lvbiIgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfaXBjbWtfbW9kdWxlIGlwY21rCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vaXBjcm0gYi9iYXNoLWNvbXBsZXRpb24vaXBjcm0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWVkMDNmOQotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9pcGNybQpAQCAtMCwwICsxLDYyIEBACitfaXBjcm1fbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTIEtFWUlEUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLW0nfCctLXNobWVtLWlkJykKKwkJCUtFWUlEUz0iJChpcGNzIC1tIHwgYXdrICd7aWYgKDMgPCBOUikge3ByaW50ICQyfX0nKSIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJEtFWUlEUyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctTSd8Jy0tc2htZW0ta2V5JykKKwkJCUtFWUlEUz0iJChpcGNzIC1tIHwgYXdrICd7aWYgKDMgPCBOUikge3ByaW50ICQxfX0nKSIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJEtFWUlEUyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctcSd8Jy0tcXVldWUtaWQnKQorCQkJS0VZSURTPSIkKGlwY3MgLXEgfCBhd2sgJ3tpZiAoMyA8IE5SKSB7cHJpbnQgJDJ9fScpIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkS0VZSURTIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1RJ3wnLS1xdWV1ZS1rZXknKQorCQkJS0VZSURTPSIkKGlwY3MgLXEgfCBhd2sgJ3tpZiAoMyA8IE5SKSB7cHJpbnQgJDF9fScpIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkS0VZSURTIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1zJ3wnLS1zZW1hcGhvcmUtaWQnKQorCQkJS0VZSURTPSIkKGlwY3MgLXMgfCBhd2sgJ3tpZiAoMyA8IE5SKSB7cHJpbnQgJDJ9fScpIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkS0VZSURTIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1TJ3wnLS1zZW1hcGhvcmUta2V5JykKKwkJCUtFWUlEUz0iJChpcGNzIC1zIHwgYXdrICd7aWYgKDMgPCBOUikge3ByaW50ICQxfX0nKSIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJEtFWUlEUyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJJz0nKQorCQkJY3VyPSR7Y3VyIz19CisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInNobSBtc2cgc2VtIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJT1BUUz0iCS0tc2htZW0taWQKKwkJLS1zaG1lbS1rZXkKKwkJLS1xdWV1ZS1pZAorCQktLXF1ZXVlLWtleQorCQktLXNlbWFwaG9yZS1pZAorCQktLXNlbWFwaG9yZS1rZXkKKwkJLS1hbGw9CisJCS0tdmVyYm9zZQorCQktLWhlbHAKKwkJLS12ZXJzaW9uIgorCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfaXBjcm1fbW9kdWxlIGlwY3JtCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vaXBjcyBiL2Jhc2gtY29tcGxldGlvbi9pcGNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlOTNlNGQKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vaXBjcwpAQCAtMCwwICsxLDMzIEBACitfaXBjc19tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1pJ3wnLS1pZCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImlkIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCU9QVFM9Ii0taWQKKwkJLS1oZWxwCisJCS0tdmVyc2lvbgorCQktLXNobWVtcworCQktLXF1ZXVlcworCQktLXNlbWFwaG9yZXMKKwkJLS1hbGwKKwkJLS10aW1lCisJCS0tcGlkCisJCS0tY3JlYXRvcgorCQktLWxpbWl0cworCQktLXN1bW1hcnkKKwkJLS1odW1hbgorCQktLWJ5dGVzIgorCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfaXBjc19tb2R1bGUgaXBjcwpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2lzb3NpemUgYi9iYXNoLWNvbXBsZXRpb24vaXNvc2l6ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZWMyZjhiCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2lzb3NpemUKQEAgLTAsMCArMSwyNyBAQAorX2lzb3NpemVfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctZCd8Jy0tZGl2aXNvcicpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIm51bWJlciIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIi0tZGl2aXNvciAtLXNlY3RvcnMgLS1oZWxwIC0tdmVyc2lvbiIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWxvY2FsIElGUz0kJ1xuJworCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2lzb3NpemVfbW9kdWxlIGlzb3NpemUKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9sYXN0IGIvYmFzaC1jb21wbGV0aW9uL2xhc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzkzYmUzZAotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9sYXN0CkBAIC0wLDAgKzEsMzkgQEAKK19sYXN0X21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWYnKQorCQkJbG9jYWwgSUZTPSQnXG4nCisJCQljb21wb3B0IC1vIGZpbGVuYW1lcworCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1BIGhvc3RuYW1lIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWknKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJpcGFkZHIiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXQnKQorCQkJbG9jYWwgVFRZUworCQkJVFRZUz0kKGNkIC9zeXMvZGV2aWNlcy92aXJ0dWFsL3R0eSAmJiBlY2hvICopCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRUVFlTIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLWYgLWggLWkgLWwgLXQgLXkiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLXUgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfbGFzdF9tb2R1bGUgbGFzdApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2xkYXR0YWNoIGIvYmFzaC1jb21wbGV0aW9uL2xkYXR0YWNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiOWQyNjAKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vbGRhdHRhY2gKQEAgLTAsMCArMSw1OCBAQAorX2xkYXR0YWNoX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLXMnfCctLXNwZWVkJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAic3BlZWQiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWknfCctLWlmbGFnJykKKwkJCWxvY2FsIElGTEFHUworCQkJSUZMQUdTPSJCUktJTlQgSUNSTkwgSUdOQlJLIElHTkNSIElHTlBBUiBJTUFYQkVMCisJCQkJSU5MQ1IgSU5QQ0sgSVNUUklQIElVQ0xDIElVVEY4IElYQU5ZCisJCQkJSVhPRkYgSVhPTiBQQVJNUksKKwkJCQktQlJLSU5UIC1JQ1JOTCAtSUdOQlJLIC1JR05DUiAtSUdOUEFSIC1JTUFYQkVMCisJCQkJLUlOTENSIC1JTlBDSyAtSVNUUklQIC1JVUNMQyAtSVVURjggLUlYQU5ZCisJCQkJLUlYT0ZGIC1JWE9OIC1QQVJNUksiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRJRkxBR1MiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1kZWJ1ZworCQkJCS0tc3BlZWQKKwkJCQktLXNldmVuYml0cworCQkJCS0tZWlnaHRiaXRzCisJCQkJLS1ub3Bhcml0eQorCQkJCS0tZXZlbnBhcml0eQorCQkJCS0tb2RkcGFyaXR5CisJCQkJLS1vbmVzdG9wYml0CisJCQkJLS10d29zdG9wYml0cworCQkJCS0taWZsYWcKKwkJCQktLWhlbHAKKwkJCQktLXZlcnNpb24iCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQkvKikKKwkJCWxvY2FsIElGUz0kJ1xuJworCQkJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJbG9jYWwgTERJU0NfREVWSUNFCisJTERJU0NfREVWSUNFPSI2UEFDSyBBWDI1IEdJR0FTRVQgR0lHQVNFVF9NMTAxIEhDSSBIRExDIElSREEgTTEwMQorCQkJTU9VU0UgUFBQIFBQUyBSMzk2NCBTTElQIFNUUklQIFNZTkNQUFAgU1lOQ19QUFAKKwkJCVRUWSBYMjUgL2Rldi8iCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkTERJU0NfREVWSUNFIiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9sZGF0dGFjaF9tb2R1bGUgbGRhdHRhY2gKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9sb2dnZXIgYi9iYXNoLWNvbXBsZXRpb24vbG9nZ2VyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmN2YwODYKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vbG9nZ2VyCkBAIC0wLDAgKzEsNzIgQEAKK19sb2dnZXJfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctZid8Jy0tZmlsZSd8Jy0tam91cm5hbGQnKQorCQkJbG9jYWwgSUZTPSQnXG4nCisJCQljb21wb3B0IC1vIGZpbGVuYW1lcworCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLW4nfCctLXNlcnZlcicpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLUEgaG9zdG5hbWUgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctUCd8Jy0tcG9ydCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiQoYXdrICckMSB+IC9ec3lzbG9nJC8gIHtzcGxpdCgkMiwgYSwgIi8iKTsgcHJpbnQgYVsxXX0nIC9ldGMvc2VydmljZXMpIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1wJ3wnLS1wcmlvcml0eScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInthdXRoLGF1dGhwcml2LGNyb24sZGFlbW9uLGZ0cCxscHIsbWFpbCxuZXdzLHNlY3VyaXR5fS57YWxlcnQsY3JpdCxkZWJ1ZyxlbWVyZyxlcnIsZXJyb3J9IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy10J3wnLS10YWcnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJ0YWciIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXUnfCctLXNvY2tldCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiQoYXdrICckTkYgfiAvXlwvLyB7cHJpbnQgJE5GfScgL3Byb2MvbmV0L3VuaXgpIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy0tbXNnaWQnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJtc2dpZCIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSIKKwkJCQktLWZpbGUKKwkJCQktLWhlbHAKKwkJCQktLWlkCisJCQkJLS1qb3VybmFsZAorCQkJCS0tbXNnaWQKKwkJCQktLW5vLWFjdAorCQkJCS0tb2N0ZXQtY291bnQKKwkJCQktLXBvcnQKKwkJCQktLXByaW8tcHJlZml4CisJCQkJLS1wcmlvcml0eQorCQkJCS0tcmZjMzE2NAorCQkJCS0tcmZjNTQyNAorCQkJCS0tc2VydmVyCisJCQkJLS1zaXplCisJCQkJLS1za2lwLWVtcHR5CisJCQkJLS1zb2NrZXQKKwkJCQktLXN0ZGVycgorCQkJCS0tdGFnCisJCQkJLS11ZHAKKwkJCQktLXZlcnNpb24KKwkJCSIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfbG9nZ2VyX21vZHVsZSBsb2dnZXIKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9sb29rIGIvYmFzaC1jb21wbGV0aW9uL2xvb2sKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzAzYTc1NgotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9sb29rCkBAIC0wLDAgKzEsMjggQEAKK19sb29rX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLXQnfCctLXRlcm1pbmF0ZScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImNoYXIiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1hbHRlcm5hdGl2ZSAtLWFscGhhbnVtIC0taWdub3JlLWNhc2UgLS10ZXJtaW5hdGUgLS12ZXJzaW9uIC0taGVscCIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWxvY2FsIElGUz0kJ1xuJworCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2xvb2tfbW9kdWxlIGxvb2sKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9sb3NldHVwIGIvYmFzaC1jb21wbGV0aW9uL2xvc2V0dXAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjI5ZDM0YgotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9sb3NldHVwCkBAIC0wLDAgKzEsNzQgQEAKK19sb3NldHVwX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUyBBUkcKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1kJ3wnLS1kZXRhY2gnKQorCQkJQVJHPSIkKCQxIC0tb3V0cHV0IE5BTUUgfCBhd2sgJ3tpZiAoMSA8IE5SKSB7cHJpbnR9fScpIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkQVJHIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1qJ3wnLS1hc3NvY2lhdGVkJykKKwkJCUFSRz0iJCgkMSAtLW91dHB1dCBCQUNLLUZJTEUgfCBhd2sgJ3tpZiAoMSA8IE5SKSB7cHJpbnR9fScpIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkQVJHIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1jJ3wnLS1zZXQtY2FwYWNpdHknKQorCQkJQVJHPSIkKGZvciBJIGluIC9kZXYvbG9vcFswLTldKjsgZG8gaWYgWyAtZSAkSSBdOyB0aGVuIGVjaG8gJEk7IGZpOyBkb25lKSIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJEFSRyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbyd8Jy0tb2Zmc2V0J3wnLS1zaXplbGltaXQnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJudW1iZXIiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLU8nfCctLW91dHB1dCcpCisJCQlsb2NhbCBwcmVmaXggcmVhbGN1ciBPVVRQVVRfQUxMIE9VVFBVVAorCQkJcmVhbGN1cj0iJHtjdXIjIyosfSIKKwkJCXByZWZpeD0iJHtjdXIlJHJlYWxjdXJ9IgorCQkJT1VUUFVUX0FMTD0iTkFNRSBBVVRPQ0xFQVIgQkFDSy1GSUxFIEJBQ0stSU5PCisJCQkJQkFDSy1NQUo6TUlOIE1BSjpNSU4gT0ZGU0VUIFBBUlRTQ0FOIFJPCisJCQkJU0laRUxJTUlUIgorCQkJZm9yIFdPUkQgaW4gJE9VVFBVVF9BTEw7IGRvCisJCQkJaWYgISBbWyAkcHJlZml4ID09ICoiJFdPUkQiKiBdXTsgdGhlbgorCQkJCQlPVVRQVVQ9IiRXT1JEICRPVVRQVVQiCisJCQkJZmkKKwkJCWRvbmUKKwkJCWNvbXBvcHQgLW8gbm9zcGFjZQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1QICIkcHJlZml4IiAtVyAiJE9VVFBVVCIgLVMgJywnIC0tICRyZWFsY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9Ii0tYWxsCisJCQkJLS1kZXRhY2gKKwkJCQktLWRldGFjaC1hbGwKKwkJCQktLWZpbmQKKwkJCQktLXNldC1jYXBhY2l0eQorCQkJCS0tYXNzb2NpYXRlZAorCQkJCS0tbGlzdAorCQkJCS0tb2Zmc2V0CisJCQkJLS1vdXRwdXQKKwkJCQktLXNpemVsaW1pdAorCQkJCS0tcGFydHNjYW4KKwkJCQktLXJlYWQtb25seQorCQkJCS0tc2hvdworCQkJCS0tdmVyYm9zZQorCQkJCS0taGVscAorCQkJCS0tdmVyc2lvbiIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWxvY2FsIElGUz0kJ1xuJworCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2xvc2V0dXBfbW9kdWxlIGxvc2V0dXAKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9sc2JsayBiL2Jhc2gtY29tcGxldGlvbi9sc2JsawpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMzJmMzcxCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2xzYmxrCkBAIC0wLDAgKzEsODcgQEAKK19sc2Jsa19tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCisJTFNCTEtfQ09MU19BTEw9Ik5BTUUgS05BTUUgTUFKOk1JTiBGU1RZUEUgTU9VTlRQT0lOVAorCQlMQUJFTCBVVUlEIFBBUlRUWVBFIFBBUlRMQUJFTCBQQVJUVVVJRCBQQVJURkxBR1MKKwkJUkEgUk8gUk0KKwkJTU9ERUwgU0laRSBTVEFURSBPV05FUiBHUk9VUCBNT0RFCisJCUFMSUdOTUVOVCBNSU4tSU8gT1BULUlPIFBIWS1TRUMgTE9HLVNFQworCQlST1RBIFNDSEVEIFJRLVNJWkUgVFlQRSBESVNDLUFMTgorCQlESVNDLUdSQU4gRElTQy1NQVggRElTQy1aRVJPIFdTQU1FIFdXTgorCQlSQU5EIFBLTkFNRSBIQ1RMIFRSQU4gUkVWIFZFTkRPUiIKKworCWNhc2UgJHByZXYgaW4KKwkJJy1lJ3wnLS1leGNsdWRlJ3wnLUknfCctLWluY2x1ZGUnKQorCQkJbG9jYWwgcmVhbGN1ciBwcmVmaXggTUFKT1JfQUxMIE1BSk9SIEkgSgorCQkJcmVhbGN1cj0iJHtjdXIjIyosfSIKKwkJCXByZWZpeD0iJHtjdXIlJHJlYWxjdXJ9IgorCQkJZm9yIEkgaW4gL3N5cy9kZXYvYmxvY2svKjsgZG8KKwkJCQlKPSR7SSMjKi99CisJCQkJTUFKT1JfQUxMPSIkTUFKT1JfQUxMICR7SiUlOip9IgorCQkJZG9uZQorCQkJZm9yIFdPUkQgaW4gJE1BSk9SX0FMTDsgZG8KKwkJCQlpZiAhIFtbICRwcmVmaXggPT0gKiIkV09SRCIqIF1dOyB0aGVuCisJCQkJCU1BSk9SPSIkV09SRCAkTUFKT1IiCisJCQkJZmkKKwkJCWRvbmUKKwkJCWNvbXBvcHQgLW8gbm9zcGFjZQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1QICIkcHJlZml4IiAtVyAiJE1BSk9SIiAtUyAnLCcgLS0gJHJlYWxjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLW8nfCctLW91dHB1dCcpCisJCQlsb2NhbCBwcmVmaXggcmVhbGN1ciBMU0JMS19DT0xTCisJCQlyZWFsY3VyPSIke2N1ciMjKix9IgorCQkJcHJlZml4PSIke2N1ciUkcmVhbGN1cn0iCisJCQlmb3IgV09SRCBpbiAkTFNCTEtfQ09MU19BTEw7IGRvCisJCQkJaWYgISBbWyAkcHJlZml4ID09ICoiJFdPUkQiKiBdXTsgdGhlbgorCQkJCQlMU0JMS19DT0xTPSIkV09SRCAkTFNCTEtfQ09MUyIKKwkJCQlmaQorCQkJZG9uZQorCQkJY29tcG9wdCAtbyBub3NwYWNlCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVAgIiRwcmVmaXgiIC1XICIkTFNCTEtfQ09MUyIgLVMgJywnIC0tICRyZWFsY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy14J3wnLS1zb3J0JykKKwkJCWNvbXBvcHQgLW8gbm9zcGFjZQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkTFNCTEtfQ09MU19BTEwiICAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9Ii0tYWxsCisJCQkJLS1ieXRlcworCQkJCS0tbm9kZXBzCisJCQkJLS1kaXNjYXJkCisJCQkJLS1leGNsdWRlCisJCQkJLS1mcworCQkJCS0taGVscAorCQkJCS0taW5jbHVkZQorCQkJCS0tYXNjaWkKKwkJCQktLWxpc3QKKwkJCQktLXBlcm1zCisJCQkJLS1ub2hlYWRpbmdzCisJCQkJLS1vdXRwdXQKKwkJCQktLXBhaXJzCisJCQkJLS1yYXcKKwkJCQktLWludmVyc2UKKwkJCQktLXRvcG9sb2d5CisJCQkJLS1zY3NpCisJCQkJLS1zb3J0CisJCQkJLS1oZWxwCisJCQkJLS12ZXJzaW9uIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKCQxIC1wbnJvIG5hbWUpIiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9sc2Jsa19tb2R1bGUgbHNibGsKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9sc2NwdSBiL2Jhc2gtY29tcGxldGlvbi9sc2NwdQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjg1OTlkCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2xzY3B1CkBAIC0wLDAgKzEsNDkgQEAKK19sc2NwdV9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBPUFRTX0FMTAorCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLS1leHRlbmRlZD0nfCc9JykKKwkJCWxvY2FsIHByZWZpeCByZWFsY3VyIE9QVFMKKwkJCWN1cj0ke2N1ciM9fQorCQkJcmVhbGN1cj0iJHtjdXIjIyosfSIKKwkJCXByZWZpeD0iJHtjdXIlJHJlYWxjdXJ9IgorCQkJT1BUU19BTEw9IkNQVSBDT1JFIFNPQ0tFVCBOT0RFCisJCQkJQk9PSyBDQUNIRSBQT0xBUklaQVRJT04gQUREUkVTUworCQkJCUNPTkZJR1VSRUQgT05MSU5FIE1BWE1IWiBNSU5NSFoiCisJCQlmb3IgV09SRCBpbiAkT1BUU19BTEw7IGRvCisJCQkJaWYgISBbWyAkcHJlZml4ID09ICoiJFdPUkQiKiBdXTsgdGhlbgorCQkJCQlPUFRTPSIkV09SRCAkT1BUUyIKKwkJCQlmaQorCQkJZG9uZQorCQkJY29tcG9wdCAtbyBub3NwYWNlCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVAgIiRwcmVmaXgiIC1XICIkT1BUUyIgLVMgJywnIC0tICRyZWFsY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFNfQUxMPSItLWFsbAorCQkJCS0tb25saW5lCisJCQkJLS1vZmZsaW5lCisJCQkJLS1leHRlbmRlZD0KKwkJCQktLXBhcnNlPQorCQkJCS0tc3lzcm9vdAorCQkJCS0taGV4CisJCQkJLS1oZWxwCisJCQkJLS12ZXJzaW9uIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNfQUxMWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWxvY2FsIElGUz0kJ1xuJworCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2xzY3B1X21vZHVsZSBsc2NwdQpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2xzaXBjIGIvYmFzaC1jb21wbGV0aW9uL2xzaXBjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjZTA1NTEKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vbHNpcGMKQEAgLTAsMCArMSw2NSBAQAorX2xzaXBjX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUyBBUkcKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1pJ3wnLS1pZCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImlkIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbyd8Jy0tb3V0cHV0JykKKwkJCWxvY2FsIHByZWZpeCByZWFsY3VyIE9VVFBVVF9BTEwgT1VUUFVUCisJCQlyZWFsY3VyPSIke2N1ciMjKix9IgorCQkJcHJlZml4PSIke2N1ciUkcmVhbGN1cn0iCisJCQlPVVRQVVRfQUxMPSJHRU5FUkFMIEtFWSBJRCBPV05FUiBQRVJNUyBDVUlECisJCQlDR0lEIFVJRCBHSUQgQ0hBTkdFIE1FU1NBR0UgVVNFREJZVEVTCisJCQlNU0dTIFNFTkQgUkVDViBMU1BJRCBMUlBJRCBTSEFSRUQgQllURVMKKwkJCU5BVFRDSCBTVEFUVVMgQVRUQUNIIERFVEFDSCBDUElEIExQSUQgTlNFTVMKKwkJCUxBU1RPUCIKKwkJCWZvciBXT1JEIGluICRPVVRQVVRfQUxMOyBkbworCQkJCWlmICEgW1sgJHByZWZpeCA9PSAqIiRXT1JEIiogXV07IHRoZW4KKwkJCQkJT1VUUFVUPSIkV09SRCAkT1VUUFVUIgorCQkJCWZpCisJCQlkb25lCisJCQljb21wb3B0IC1vIG5vc3BhY2UKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtUCAiJHByZWZpeCIgLVcgIiRPVVRQVVQiIC1TICcsJyAtLSAkcmVhbGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9Ii0taWQKKwkJCQktLWhlbHAKKwkJCQktLXZlcnNpb24KKwkJCQktLXNobWVtcworCQkJCS0tcXVldWVzCisJCQkJLS1zZW1hcGhvcmVzCisJCQkJLS1jb2xvbi1zZXBhcmF0ZQorCQkJCS0tY3JlYXRvcgorCQkJCS0tZXhwb3J0CisJCQkJLS1nbG9iYWwKKwkJCQktLWpzb24KKwkJCQktLW5ld2xpbmUKKwkJCQktLW5vaGVhZGluZ3MKKwkJCQktLW5vdHJ1bmNhdGUKKwkJCQktLW91dHB1dAorCQkJCS0tcGlkCisJCQkJLS1wcmludDAKKwkJCQktLXJhdworCQkJCS0tdGltZQorCQkJCS0tdGltZS1mb3JtYXQiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlsb2NhbCBJRlM9JCdcbicKKwljb21wb3B0IC1vIGZpbGVuYW1lcworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9sc2lwY19tb2R1bGUgbHNpcGMKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9sc2xvY2tzIGIvYmFzaC1jb21wbGV0aW9uL2xzbG9ja3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGZkMGFjZAotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9sc2xvY2tzCkBAIC0wLDAgKzEsNTMgQEAKK19sc2xvY2tzX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLXAnfCctLXBpZCcpCisJCQlsb2NhbCBQSURTCisJCQkjIC9wcm9jL2xvY2tzIGNhbiBoYXZlIDggdG8gOSBmaWVsZHMsIHNlZSBjb21taXQKKwkJCSMgNTVjMGQxNmJhYjhjYzg0YjcyYmYxMWNiMmZkZDhhYTYyMDVhYzYwOAorCQkJUElEUz0iJChhd2sgJ3twcmludCAkKE5GLTMpfScgL3Byb2MvbG9ja3MpIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkUElEUyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbyd8Jy0tb3V0cHV0JykKKwkJCWxvY2FsIHByZWZpeCByZWFsY3VyIE9VVFBVVF9BTEwgT1VUUFVUCisJCQlyZWFsY3VyPSIke2N1ciMjKix9IgorCQkJcHJlZml4PSIke2N1ciUkcmVhbGN1cn0iCisJCQlPVVRQVVRfQUxMPSJDT01NQU5EIFBJRCBUWVBFIFNJWkUgTU9ERSBNIFNUQVJUIEVORCBQQVRIIEJMT0NLRVIiCisJCQlmb3IgV09SRCBpbiAkT1VUUFVUX0FMTDsgZG8KKwkJCQlpZiAhIFtbICRwcmVmaXggPT0gKiIkV09SRCIqIF1dOyB0aGVuCisJCQkJCU9VVFBVVD0iJFdPUkQgJE9VVFBVVCIKKwkJCQlmaQorCQkJZG9uZQorCQkJY29tcG9wdCAtbyBub3NwYWNlCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVAgIiRwcmVmaXgiIC1XICIkT1VUUFVUIiAtUyAnLCcgLS0gJHJlYWxjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1waWQKKwkJCQktLWpzb24KKwkJCQktLW91dHB1dAorCQkJCS0tbm9oZWFkaW5ncworCQkJCS0tcmF3CisJCQkJLS1ub3RydW5jYXRlCisJCQkJLS1oZWxwCisJCQkJLS12ZXJzaW9uIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJbG9jYWwgSUZTPSQnXG4nCisJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfbHNsb2Nrc19tb2R1bGUgbHNsb2NrcwpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2xzbG9naW5zIGIvYmFzaC1jb21wbGV0aW9uL2xzbG9naW5zCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjk2N2I2NDQKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vbHNsb2dpbnMKQEAgLTAsMCArMSw3NiBAQAorX2xzbG9naW5zX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUyBMU0xPR0lOU19DT0xTX0FMTAorCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJTFNMT0dJTlNfQ09MU19BTEw9IgorCQlVU0VSIFVJRCBHRUNPUyBIT01FRElSIFNIRUxMIE5PTE9HSU4gUFdELUxPQ0sgUFdELUVNUFRZCisJCVBXRC1ERU5ZIEdST1VQIEdJRCBTVVBQLUdST1VQUyBTVVBQLUdJRFMgTEFTVC1MT0dJTiBMQVNULVRUWQorCQlMQVNULUhPU1ROQU1FIEZBSUxFRC1MT0dJTiBGQUlMRUQtVFRZIEhVU0hFRCBQV0QtV0FSTgorCQlQV0QtQ0hBTkdFIFBXRC1NSU4gUFdELU1BWCBQV0QtRVhQSVIgQ09OVEVYVCBQUk9DCisJIgorCWNhc2UgJHByZXYgaW4KKwkJJy1nJ3wnLS1ncm91cHMnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKGdldGVudCBncm91cCB8IGF3ayAtRjogJ3twcmludCAkMX0nKSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbCd8Jy0tbG9naW5zJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJChnZXRlbnQgcGFzc3dkIHwgYXdrIC1GOiAne3ByaW50ICQxfScpIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy0tdGltZS1mb3JtYXQnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJzaG9ydCBmdWxsIGlzbyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctLXd0bXAtZmlsZSd8Jy0tYnRtcC1maWxlJykKKwkJCWxvY2FsIElGUz0kJ1xuJworCQkJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1vJ3wnLS1vdXRwdXQnKQorCQkJbG9jYWwgcHJlZml4IHJlYWxjdXIgTFNMT0dJTlNfQ09MUworCQkJcmVhbGN1cj0iJHtjdXIjIyosfSIKKwkJCXByZWZpeD0iJHtjdXIlJHJlYWxjdXJ9IgorCQkJZm9yIFdPUkQgaW4gJExTTE9HSU5TX0NPTFNfQUxMOyBkbworCQkJCWlmICEgW1sgJHByZWZpeCA9PSAqIiRXT1JEIiogXV07IHRoZW4KKwkJCQkJTFNMT0dJTlNfQ09MUz0iJFdPUkQgJExTTE9HSU5TX0NPTFMiCisJCQkJZmkKKwkJCWRvbmUKKwkJCWNvbXBvcHQgLW8gbm9zcGFjZQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1QICIkcHJlZml4IiAtVyAiJExTTE9HSU5TX0NPTFMiIC1TICcsJyAtLSAkcmVhbGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIgorCQkJLS1hY2MtZXhwaXJhdGlvbgorCQkJLS1jb2xvbi1zZXBhcmF0ZQorCQkJLS1leHBvcnQKKwkJCS0tZmFpbGVkCisJCQktLXN1cHAtZ3JvdXBzCisJCQktLWdyb3VwcworCQkJLS1sYXN0CisJCQktLWxvZ2lucworCQkJLS1uZXdsaW5lCisJCQktLW5vaGVhZGluZ3MKKwkJCS0tbm90cnVuY2F0ZQorCQkJLS1vdXRwdXQKKwkJCS0tcHdkCisJCQktLXJhdworCQkJLS1zeXN0ZW0tYWNjcworCQkJLS10aW1lLWZvcm1hdAorCQkJLS11c2VyLWFjY3MKKwkJCS0tY29udGV4dAorCQkJLS1wcmludDAKKwkJCS0td3RtcC1maWxlCisJCQktLWJ0bXAtZmlsZQorCQkJLS1oZWxwCisJCQktLXZlcnNpb24KKwkJIiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9sc2xvZ2luc19tb2R1bGUgbHNsb2dpbnMKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9sc25zIGIvYmFzaC1jb21wbGV0aW9uL2xzbnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGU2YTMzNQotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9sc25zCkBAIC0wLDAgKzEsNTYgQEAKK19sc25zX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUyBMU05TX0NPTFNfQUxMCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwlMU05TX0NPTFNfQUxMPSIKKwkJTlMgVFlQRSBQQVRIIE5QUk9DUyBQSUQgUFBJRCBDT01NQU5EIFVJRCBVU0VSCisJIgorCWNhc2UgJHByZXYgaW4KKwkJJy1vJ3wnLS1vdXRwdXQnKQorCQkJbG9jYWwgcHJlZml4IHJlYWxjdXIgTFNOU19DT0xTCisJCQlyZWFsY3VyPSIke2N1ciMjKix9IgorCQkJcHJlZml4PSIke2N1ciUkcmVhbGN1cn0iCisJCQlmb3IgV09SRCBpbiAkTFNOU19DT0xTX0FMTDsgZG8KKwkJCQlpZiAhIFtbICRwcmVmaXggPT0gKiIkV09SRCIqIF1dOyB0aGVuCisJCQkJCUxTTlNfQ09MUz0iJFdPUkQgJExTTlNfQ09MUyIKKwkJCQlmaQorCQkJZG9uZQorCQkJY29tcG9wdCAtbyBub3NwYWNlCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVAgIiRwcmVmaXgiIC1XICIkTFNOU19DT0xTIiAtUyAnLCcgLS0gJHJlYWxjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXAnfCctLXRhc2snKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKGNkIC9wcm9jICYmIGVjaG8gWzAtOV0qKSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctdCd8Jy0tdHlwZScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIm1udCBuZXQgaXBjIHVzZXIgcGlkIHV0cyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIgorCQkJCQktLWpzb24KKwkJCQkJLS1saXN0CisJCQkJCS0tbm9oZWFkaW5ncworCQkJCQktLW91dHB1dAorCQkJCQktLXRhc2sKKwkJCQkJLS1yYXcKKwkJCQkJLS1ub3RydW5jYXRlCisJCQkJCS0tdHlwZQorCQkJCQktLWhlbHAKKwkJCQkJLS12ZXJzaW9uCisJCQkJIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJtbnQgbmV0IHBpZCB1dHMgaXBjIHVzZXIiIC0tICRjdXIgKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9sc25zX21vZHVsZSBsc25zCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vbWNvb2tpZSBiL2Jhc2gtY29tcGxldGlvbi9tY29va2llCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzNDViNmUKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vbWNvb2tpZQpAQCAtMCwwICsxLDI3IEBACitfbWNvb2tpZV9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1mJ3wnLS1maWxlJykKKwkJCWxvY2FsIElGUz0kJ1xuJworCQkJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9Ii0tZmlsZSAtLXZlcmJvc2UgLS12ZXJzaW9uIC0taGVscCIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfbWNvb2tpZV9tb2R1bGUgbWNvb2tpZQpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL21lc2cgYi9iYXNoLWNvbXBsZXRpb24vbWVzZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjgwYmFiCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL21lc2cKQEAgLTAsMCArMSwyMiBAQAorX21lc2dfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLXZlcmJvc2UgLS12ZXJzaW9uIC0taGVscCIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAieSBuIiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9tZXNnX21vZHVsZSBtZXNnCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vbWtmcyBiL2Jhc2gtY29tcGxldGlvbi9ta2ZzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyNzg3NDcKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vbWtmcwpAQCAtMCwwICsxLDI3IEBACitfbWtmc19tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy10J3wnLS10eXBlJykKKwkJCUZTVFlQRVM9JChmb3IgSSBpbiAvc2Jpbi9ta2ZzLiogL3Vzci9zYmluL21rZnMuKjsgZG8gaWYgWyAtZSAkSSBdOyB0aGVuIGVjaG8gJHtJIyMqbWtmcy59OyBmaTsgZG9uZSkKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJEZTVFlQRVMiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0nLS10eXBlIC0tdmVyYm9zZSAtLWhlbHAgLS12ZXJzaW9uJworCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKGxzYmxrIC1wbnJvIG5hbWUpIC9wYXRoL3RvL2ZpbGUiIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX21rZnNfbW9kdWxlIG1rZnMKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9ta2ZzLmJmcyBiL2Jhc2gtY29tcGxldGlvbi9ta2ZzLmJmcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTQ1OGJiCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL21rZnMuYmZzCkBAIC0wLDAgKzEsMzAgQEAKK19ta2ZzLmJmc19tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1OJ3wnLS1pbm9kZXMnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJudW1iZXIiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLVYnfCctLXZuYW1lJ3wnLUYnfCctLWZuYW1lJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAibmFtZSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0nLS1pbm9kZXMgLS12bmFtZSAtLWZuYW1lIC0tdmVyYm9zZSAtLWhlbHAgLS12ZXJzaW9uJworCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKGxzYmxrIC1wbnJvIG5hbWUpIC9wYXRoL3RvL2ZpbGUiIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX21rZnMuYmZzX21vZHVsZSBta2ZzLmJmcwpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL21rZnMuY3JhbWZzIGIvYmFzaC1jb21wbGV0aW9uL21rZnMuY3JhbWZzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmNzRlMTIKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vbWtmcy5jcmFtZnMKQEAgLTAsMCArMSw0NCBAQAorX21rZnMuY3JhbWZzX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWInKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJibGtzaXplIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1lJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiZWRpdGlvbiIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctTicpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImJpZyBsaXR0bGUgaG9zdCIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbicpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIm5hbWUiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctVicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLWggLXYgLUUgLWIgLWUgLU4gLWkgLW4gLXAgLXMgLXoiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlsb2NhbCBJRlM9JCdcbicKKwljb21wb3B0IC1vIGZpbGVuYW1lcworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9ta2ZzLmNyYW1mc19tb2R1bGUgbWtmcy5jcmFtZnMKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9ta2ZzLm1pbml4IGIvYmFzaC1jb21wbGV0aW9uL21rZnMubWluaXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTcyNWZkNgotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9ta2ZzLm1pbml4CkBAIC0wLDAgKzEsMzIgQEAKK19ta2ZzLm1pbml4X21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWknfCctLWlub2RlcycpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImlub2RlcyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbCd8Jy0tYmFkYmxvY2tzJykKKwkJCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbid8Jy0tbmFtZWxlbmd0aCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIjE0IDMwIDYwIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1uYW1lbGVuZ3RoIC0taW5vZGVzIC0tY2hlY2sgLS1iYWRibG9ja3MgLS1oZWxwIC0tdmVyc2lvbiAtMSAtMiAtMyIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJChsc2JsayAtcG5ybyBuYW1lKSIgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfbWtmcy5taW5peF9tb2R1bGUgbWtmcy5taW5peApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL21rc3dhcCBiL2Jhc2gtY29tcGxldGlvbi9ta3N3YXAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjcyZWZhZgotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9ta3N3YXAKQEAgLTAsMCArMSwzNiBAQAorX21rc3dhcF9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1wJ3wnLS1wYWdlc2l6ZScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImJ5dGVzIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1MJ3wnLS1sYWJlbCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImxhYmVsIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy12J3wnLS1zd2FwdmVyc2lvbicpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIjEiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLVUnfCctLXV1aWQnfCctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLWNoZWNrIC0tZm9yY2UgLS1wYWdlc2l6ZSAtLWxhYmVsIC0tc3dhcHZlcnNpb24gLS11dWlkIC0tdmVyc2lvbiAtLWhlbHAiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlsb2NhbCBJRlM9JCdcbicKKwljb21wb3B0IC1vIGZpbGVuYW1lcworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9ta3N3YXBfbW9kdWxlIG1rc3dhcApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL21vcmUgYi9iYXNoLWNvbXBsZXRpb24vbW9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MDljZWEyCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL21vcmUKQEAgLTAsMCArMSwzMCBAQAorX21vcmVfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctVicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLWQgLWYgLWwgLXAgLWMgLXUgLXMgLW51bWJlciAtViIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSsqKQorCQkJT1BUUz0iK251bWJlciArL3N0cmluZyIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCisJbG9jYWwgSUZTPSQnXG4nCisJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfbW9yZV9tb2R1bGUgbW9yZQpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL21vdW50IGIvYmFzaC1jb21wbGV0aW9uL21vdW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0YTk4YWQKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vbW91bnQKQEAgLTAsMCArMSw4OCBAQAorX21vdW50X21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLXQnfCctLXR5cGVzJykKKwkJCWxvY2FsIFRZUEVTCisJCQlUWVBFUz0iCithZGZzCSAgbm9hZGZzCWhmc3BsdXMJICBub2hmc3BsdXMJc21iZnMJICBub3NtYmZzCithZmZzCSAgbm9hZmZzCWhwZnMJICBub2hwZnMJc3F1YXNoZnMgIG5vc3F1YXNoZnMKK2F1dG9mcwkgIG5vYXV0b2ZzCWlzbzk2NjAJICBub2lzbzk2NjAJc3lzdgkgIG5vc3lzdgorY2lmcwkgIG5vY2lmcwlqZnMJICBub2pmcwkJdG1wZnMJICBub3RtcGZzCitjb2RhCSAgbm9jb2RhCW1pbml4CSAgbm9taW5peAl1YmlmcwkgIG5vdWJpZnMKK2NvaGVyZW50ICBub2NvaGVyZW50CW1zZG9zCSAgbm9tc2Rvcwl1ZGYJICBub3VkZgorY3JhbWZzCSAgbm9jcmFtZnMJbmNwZnMJICBub25jcGZzCXVmcwkgIG5vdWZzCitkZWJ1Z2ZzCSAgbm9kZWJ1Z2ZzCW5mcwkgIG5vbmZzCQl1bXNkb3MJICBub3Vtc2RvcworZGV2cHRzCSAgbm9kZXZwdHMJbmZzNAkgIG5vbmZzNAl1c2JmcwkgIG5vdXNiZnMKK2VmcwkgIG5vZWZzCQludGZzCSAgbm9udGZzCXZmYXQJICBub3ZmYXQKKwkJCXByb2MJICBub3Byb2MJeGVuaXgJICBub3hlbml4CitleHQyCSAgbm9leHQyCXFueDQJICBub3FueDQJeGZzCSAgbm94ZnMKK2V4dDMJICBub2V4dDMJcmFtZnMJICBub3JhbWZzCitleHQ0CSAgbm9leHQ0CXJlaXNlcmZzICBub3JlaXNlcmZzCitoZnMJICBub2hmcwkJcm9tZnMJICBub3JvbWZzCisiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRUWVBFUyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctTCd8Jy0tbGFiZWwnKQorCQkJbG9jYWwgTEFCRUxTCisJCQlMQUJFTFM9IiQobHNibGsgLW8gTEFCRUwgLW5yKSIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJExBQkVMUyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctVSd8Jy0tdXVpZCcpCisJCQlsb2NhbCBVVUlEUworCQkJVVVJRFM9IiQobHNibGsgLW8gVVVJRCAtbnIpIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkVVVJRFMiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iCS0tYWxsCisJCQkJLS1uby1jYW5vbmljYWxpemUKKwkJCQktLWZha2UKKwkJCQktLWZvcmsKKwkJCQktLWZzdGFiCisJCQkJLS1oZWxwCisJCQkJLS1pbnRlcm5hbC1vbmx5CisJCQkJLS1zaG93LWxhYmVscworCQkJCS0tbm8tbXRhYgorCQkJCS0tb3B0aW9ucworCQkJCS0tdGVzdC1vcHRzCisJCQkJLS1yZWFkLW9ubHkKKwkJCQktLXR5cGVzCisJCQkJLS1zb3VyY2UKKwkJCQktLXRhcmdldAorCQkJCS0tdmVyYm9zZQorCQkJCS0tdmVyc2lvbgorCQkJCS0tcmVhZC13cml0ZQorCQkJCS0tbGFiZWwKKwkJCQktLXV1aWQKKwkJCQktLWJpbmQKKwkJCQktLW1vdmUKKwkJCQktLXJiaW5kCisJCQkJLS1tYWtlLXNoYXJlZAorCQkJCS0tbWFrZS1zbGF2ZQorCQkJCS0tbWFrZS1wcml2YXRlCisJCQkJLS1tYWtlLXVuYmluZGFibGUKKwkJCQktLW1ha2UtcnNoYXJlZAorCQkJCS0tbWFrZS1yc2xhdmUKKwkJCQktLW1ha2UtcnByaXZhdGUKKwkJCQktLW1ha2UtcnVuYmluZGFibGUiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlsb2NhbCBJRlM9JCdcbicKKwljb21wb3B0IC1vIGZpbGVuYW1lcworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9tb3VudF9tb2R1bGUgbW91bnQKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9tb3VudHBvaW50IGIvYmFzaC1jb21wbGV0aW9uL21vdW50cG9pbnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjc0ZWZjOQotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9tb3VudHBvaW50CkBAIC0wLDAgKzEsMjggQEAKK19tb3VudHBvaW50X21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWYnfCctLWZpeG1lJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiZml4bWUiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1xdWlldCAtLWZzLWRldm5vIC0tZGV2bm8gLS1oZWxwIC0tdmVyc2lvbiIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWxvY2FsIElGUz0kJ1xuJworCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICR7Y3VyOi0iLyJ9KSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9tb3VudHBvaW50X21vZHVsZSBtb3VudHBvaW50CmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vbmFtZWkgYi9iYXNoLWNvbXBsZXRpb24vbmFtZWkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjQwMjczNQotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9uYW1laQpAQCAtMCwwICsxLDI0IEBACitfbmFtZWlfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLWhlbHAgLS12ZXJzaW9uIC0tbW91bnRwb2ludHMgLS1tb2RlcyAtLW93bmVycyAtLWxvbmcgLS1ub3N5bWxpbmtzIC0tdmVydGljYWwiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlsb2NhbCBJRlM9JCdcbicKKwljb21wb3B0IC1vIGZpbGVuYW1lcworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9uYW1laV9tb2R1bGUgbmFtZWkKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9uZXdncnAgYi9iYXNoLWNvbXBsZXRpb24vbmV3Z3JwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlMzljMGYKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vbmV3Z3JwCkBAIC0wLDAgKzEsMjIgQEAKK19uZXdncnBfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLXZlcnNpb24gLS1oZWxwIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1nIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX25ld2dycF9tb2R1bGUgbmV3Z3JwCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vbnNlbnRlciBiL2Jhc2gtY29tcGxldGlvbi9uc2VudGVyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2OGYzNzgKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vbnNlbnRlcgpAQCAtMCwwICsxLDQ4IEBACitfbnNlbnRlcl9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy10J3wnLS10YXJnZXQnKQorCQkJbG9jYWwgUElEUworCQkJUElEUz0kKGZvciBJIGluIC9wcm9jL1swLTldKjsgZG8gZWNobyAke0kjIyIvcHJvYy8ifTsgZG9uZSkKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJFBJRFMiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCSc9JykKKwkJCSMgRklYTUU6IC0tcm9vdCBhbmQgLS13ZCBzaG91bGQgdXNlIGdldCBvbmx5CisJCQkjIGRpcmVjdG9yaWVzIGFzIGNvbXBnZW4gb3V0cHV0LiAgSWYgJGN1ciBpcworCQkJIyBvdmVyd3JvdGUgdGhlIHNhbWUgd2F5IGFzIGJlbG93IGluIGNhc2Ugc2VnbWVudAorCQkJIyBmb3IgJHByZXYgdGhlIGNvbW1hbmQtbGluZSB3aWxsIGdldCBtYW5nbGVkLgorCQkJY3VyPSR7Y3VyIz19CisJCQk7OworCQktKikKKwkJCU9QVFM9Ii0tdGFyZ2V0CisJCQkJLS1tb3VudD0KKwkJCQktLXV0cz0KKwkJCQktLWlwYz0KKwkJCQktLW5ldD0KKwkJCQktLXBpZD0KKwkJCQktLXVzZXI9CisJCQkJLS1yb290PQorCQkJCS0td2Q9CisJCQkJLS1uby1mb3JrCisJCQkJLS1oZWxwCisJCQkJLS12ZXJzaW9uIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJbG9jYWwgSUZTPSQnXG4nCisJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfbnNlbnRlcl9tb2R1bGUgbnNlbnRlcgpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL3BhcnR4IGIvYmFzaC1jb21wbGV0aW9uL3BhcnR4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwNDc4N2YKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vcGFydHgKQEAgLTAsMCArMSw0NCBAQAorX3BhcnR4X21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUyBPVVRQVVRfQUxMCisJQ09NUFJFUExZPSgpCisJT1VUUFVUX0FMTD0iTlIgU1RBUlQgRU5EIFNFQ1RPUlMgU0laRSBOQU1FIFVVSUQgVFlQRSBGTEFHUyBTQ0hFTUUiCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctbid8Jy0tbnInKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbyd8Jy0tb3V0cHV0JykKKwkJCWxvY2FsIHJlYWxjdXIgcHJlZml4IE9VVFBVVAorCQkJcmVhbGN1cj0iJHtjdXIjIyosfSIKKwkJCXByZWZpeD0iJHtjdXIlJHJlYWxjdXJ9IgorCQkJZm9yIFdPUkQgaW4gJE9VVFBVVF9BTEw7IGRvCisJCQkJaWYgISBbWyAkcHJlZml4ID09ICoiJFdPUkQiKiBdXTsgdGhlbgorCQkJCQlPVVRQVVQ9IiRXT1JEICRPVVRQVVQiCisJCQkJZmkKKwkJCWRvbmUKKwkJCWNvbXBvcHQgLW8gbm9zcGFjZQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1QICIkcHJlZml4IiAtVyAiJE9VVFBVVCIgLVMgJywnIC0tICRyZWFsY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy10J3wnLS10eXBlJykKKwkJCSMgRklYTUU6IHNvbWUgY29tbWFuZCBzaG91bGQgbGlzdCB0eXBlIGxpYmJsa2lkIGtub3dzLgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJhaXggYnNkIGRvcyBncHQgbWFjIG1pbml4IHNnaSBzb2xhcmlzX3g4NiBzdW4gdWx0cml4IHVuaXh3YXJlIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9Ii0tYWRkIC0tZGVsZXRlIC0tc2hvdyAtLXVwZGF0ZSAtLWJ5dGVzIC0tbm9oZWFkaW5ncyAtLW5yIC0tb3V0cHV0IC0tcGFpcnMgLS1yYXcgLS10eXBlIC0tdmVyYm9zZSAtLWhlbHAgLS12ZXJzaW9uIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKGxzYmxrIC1wbnJvIG5hbWUpIiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9wYXJ0eF9tb2R1bGUgcGFydHgKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9wZyBiL2Jhc2gtY29tcGxldGlvbi9wZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZmNlMTMwCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL3BnCkBAIC0wLDAgKzEsMzMgQEAKK19wZ19tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1wJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAicHJvbXB0IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLVYnKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9Ii1udW1iZXIgLWMgLWUgLWYgLW4gLXAgLXIgLXMgLWggLVYiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQkrKikKKwkJCU9QVFM9IitudW1iZXIgKy9wYXR0ZXJuLyIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWxvY2FsIElGUz0kJ1xuJworCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX3BnX21vZHVsZSBwZwpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL3Bpdm90X3Jvb3QgYi9iYXNoLWNvbXBsZXRpb24vcGl2b3Rfcm9vdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NWRmNGI0Ci0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL3Bpdm90X3Jvb3QKQEAgLTAsMCArMSwyMSBAQAorX3Bpdm90X3Jvb3RfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldgorCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkQ09NUF9DV09SRCBpbgorCQkxfDIpCisJCQlsb2NhbCBJRlM9JCdcbicKKwkJCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLW8gZGlybmFtZXMgLS0gJHtjdXI6LSIvIn0pICkKKwkJCTs7CisJZXNhYworCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfcGl2b3Rfcm9vdF9tb2R1bGUgcGl2b3Rfcm9vdApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL3BybGltaXQgYi9iYXNoLWNvbXBsZXRpb24vcHJsaW1pdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZmY3YTg1Ci0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL3BybGltaXQKQEAgLTAsMCArMSw2OSBAQAorX3BybGltaXRfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctcCd8Jy0tcGlkJykKKwkJCVBJRFM9JChmb3IgSSBpbiAvcHJvYy9bMC05XSo7IGRvIGVjaG8gJHtJIyMiL3Byb2MvIn07IGRvbmUpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRQSURTIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1vJ3wnLS1vdXRwdXQnKQorCQkJbG9jYWwgcHJlZml4IHJlYWxjdXIgT1VUUFVUX0FMTCBPVVRQVVQKKwkJCXJlYWxjdXI9IiR7Y3VyIyMqLH0iCisJCQlwcmVmaXg9IiR7Y3VyJSRyZWFsY3VyfSIKKwkJCU9VVFBVVF9BTEw9IkRFU0NSSVBUSU9OIFJFU09VUkNFIFNPRlQgSEFSRCBVTklUUyIKKwkJCWZvciBXT1JEIGluICRPVVRQVVRfQUxMOyBkbworCQkJCWlmICEgW1sgJHByZWZpeCA9PSAqIiRXT1JEIiogXV07IHRoZW4KKwkJCQkJT1VUUFVUPSIkV09SRCAkT1VUUFVUIgorCQkJCWZpCisJCQlkb25lCisJCQljb21wb3B0IC1vIG5vc3BhY2UKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtUCAiJHByZWZpeCIgLVcgIiRPVVRQVVQiIC1TICcsJyAtLSAkcmVhbGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJJz0nKQorCQkJY3VyPSR7Y3VyIz19CisJCQkjIEZJWE1FOiBpcyB0aGVyZSBhbnl0aGluZyB3aGF0IGNvdWxkIGJlIHByaW50ZWQKKwkJCSMgYXMgbGltaXQgdmFsdWUocykKKwkJCTs7CisJCS0qKQorCQkJT1BUUz0iLS1waWQKKwkJCQktLW91dHB1dAorCQkJCS0tbm9oZWFkaW5ncworCQkJCS0tcmF3CisJCQkJLS12ZXJib3NlCisJCQkJLS1oZWxwCisJCQkJLS12ZXJzaW9uCisJCQkJLS1jb3JlPQorCQkJCS0tZGF0YT0KKwkJCQktLW5pY2U9CisJCQkJLS1mc2l6ZT0KKwkJCQktLXNpZ3BlbmRpbmc9CisJCQkJLS1tZW1sb2NrPQorCQkJCS0tcnNzPQorCQkJCS0tbm9maWxlPQorCQkJCS0tbXNncXVldWU9CisJCQkJLS1ydHByaW89CisJCQkJLS1zdGFjaz0KKwkJCQktLWNwdT0KKwkJCQktLW5wcm9jPQorCQkJCS0tYXM9CisJCQkJLS1sb2Nrcz0KKwkJCQktLXJ0dGltZT0iCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljb21wb3B0IC1vIGJhc2hkZWZhdWx0CisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1jIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX3BybGltaXRfbW9kdWxlIHBybGltaXQKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9yYXcgYi9iYXNoLWNvbXBsZXRpb24vcmF3Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwYzMyNjEKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vcmF3CkBAIC0wLDAgKzEsMjMgQEAKK19yYXdfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldgorCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJbG9jYWwgT1BUUworCQkJT1BUUz0iLS1xdWVyeSAtLWFsbCAtLWhlbHAgLS12ZXJzaW9uIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKGZvciBJIGluIC9kZXYvcmF3Lyo7IGRvIGlmIFsgLWUgJEkgXTsgdGhlbiBlY2hvICRJOyBmaTsgZG9uZSkiIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX3Jhd19tb2R1bGUgcmF3CmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vcmVhZHByb2ZpbGUgYi9iYXNoLWNvbXBsZXRpb24vcmVhZHByb2ZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmQyNjVhNgotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9yZWFkcHJvZmlsZQpAQCAtMCwwICsxLDM3IEBACitfcmVhZHByb2ZpbGVfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctbSd8Jy0tbWFwZmlsZSd8Jy1wJ3wnLS1wcm9maWxlJykKKwkJCWxvY2FsIElGUz0kJ1xuJworCQkJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1NJ3wnLS1tdWx0aXBsaWVyJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAibXVsdGlwbGllciIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlPUFRTPSItLW1hcGZpbGUKKwkJLS1wcm9maWxlCisJCS0tbXVsdGlwbGllcgorCQktLWluZm8KKwkJLS12ZXJib3NlCisJCS0tYWxsCisJCS0taGlzdGJpbgorCQktLWNvdW50ZXJzCisJCS0tcmVzZXQKKwkJLS1uby1hdXRvCisJCS0taGVscAorCQktLXZlcnNpb24iCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9yZWFkcHJvZmlsZV9tb2R1bGUgcmVhZHByb2ZpbGUKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9yZW5hbWUgYi9iYXNoLWNvbXBsZXRpb24vcmVuYW1lCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxMzY1YTUKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vcmVuYW1lCkBAIC0wLDAgKzEsMzQgQEAKK19yZW5hbWVfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLXZlcmJvc2UgLS1zeW1saW5rIC0taGVscCAtLXZlcnNpb24iCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRDT01QX0NXT1JEIGluCisJCTEpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImV4cHJlc3Npb24iIC0tICRjdXIpICkKKwkJCTs7CisJCTIpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInJlcGxhY2VtZW50IiAtLSAkY3VyKSApCisJCQk7OworCQkqKQorCQkJbG9jYWwgSUZTPSQnXG4nCisJCQljb21wb3B0IC1vIGZpbGVuYW1lcworCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwkJCTs7CisJZXNhYworCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfcmVuYW1lX21vZHVsZSByZW5hbWUKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9yZW5pY2UgYi9iYXNoLWNvbXBsZXRpb24vcmVuaWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMzZTkzMzEKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vcmVuaWNlCkBAIC0wLDAgKzEsNDEgQEAKK19yZW5pY2VfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctZyd8Jy0tcGdycCcpCisJCQlsb2NhbCBQR1JQCisJCQlQR1JQPSQocHMgLWF4IC1vcGdycCB8IHNlZCAnMWQnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkUEdSUCIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbid8Jy0tcHJpb3JpdHknKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJ7LTIwLi4yMH0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXAnfCctLXBpZCcpCisJCQlsb2NhbCBQSURTCisJCQlQSURTPSQoZm9yIEkgaW4gL3Byb2MvWzAtOV0qOyBkbyBlY2hvICR7SSMjIi9wcm9jLyJ9OyBkb25lKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkUElEUyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctdSd8Jy0tdXNlcicpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLXUgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlPUFRTPSItLXBncnAKKwkJLS1wcmlvcml0eQorCQktLXBpZAorCQktLXVzZXIKKwkJLS1oZWxwCisJCS0tdmVyc2lvbiIKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX3JlbmljZV9tb2R1bGUgcmVuaWNlCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vcmVzaXplcGFydCBiL2Jhc2gtY29tcGxldGlvbi9yZXNpemVwYXJ0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlMzg1MDMKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vcmVzaXplcGFydApAQCAtMCwwICsxLDI3IEBACitfcmVzaXplcGFydF9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJENPTVBfQ1dPUkQgaW4KKwkJMSkKKwkJCU9QVFM9Ii0taGVscCAtLXZlcnNpb24gJChsc2JsayAtcG5ybyBuYW1lKSIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJOzsKKwkJMikKKwkJCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJChjYXQgL3N5cy9ibG9jay8ke3ByZXYjIyovfS8qL3BhcnRpdGlvbiAyPi9kZXYvbnVsbCkiIC0tICRjdXIpICkKKwkJCTs7CisJCTMpCisJCQlDT01QUkVQTFk9Imxlbmd0aCIKKwkJCTs7CisJZXNhYworCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfcmVzaXplcGFydF9tb2R1bGUgcmVzaXplcGFydApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL3JldiBiL2Jhc2gtY29tcGxldGlvbi9yZXYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTUzOTdkNQotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9yZXYKQEAgLTAsMCArMSwyNCBAQAorX3Jldl9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9Ii0tdmVyc2lvbiAtLWhlbHAiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlsb2NhbCBJRlM9JCdcbicKKwljb21wb3B0IC1vIGZpbGVuYW1lcworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9yZXZfbW9kdWxlIHJldgpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL3J0Y3dha2UgYi9iYXNoLWNvbXBsZXRpb24vcnRjd2FrZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yM2M3NzRjCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL3J0Y3dha2UKQEAgLTAsMCArMSw0OCBAQAorX3J0Y3dha2VfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctZCd8Jy0tZGV2aWNlJykKKwkJCWxvY2FsIFJUQ19ERVZTCisJCQlSVENfREVWUz0kKGNkIC9zeXMvY2xhc3MvcnRjLyAmJiBlY2hvICopCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRSVENfREVWUyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbSd8Jy0tbW9kZScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiQocnRjd2FrZSAtLWxpc3QtbW9kZXMpIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1zJ3wnLS1zZWNvbmRzJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAic2Vjb25kcyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctdCd8Jy0tdGltZScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInRpbWVfdCIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctLWRhdGUnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJZWVlZTU1ERGhobW1zcyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlPUFRTPSIJLS1kYXRlCisJCS0tZGV2aWNlCisJCS0tZHJ5LXJ1bgorCQktLWxvY2FsCisJCS0tbW9kZQorCQktLXNlY29uZHMKKwkJLS10aW1lCisJCS0tdXRjCisJCS0tdmVyYm9zZQorCQktLWhlbHAKKwkJLS12ZXJzaW9uIgorCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfcnRjd2FrZV9tb2R1bGUgcnRjd2FrZQpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL3NjcmlwdCBiL2Jhc2gtY29tcGxldGlvbi9zY3JpcHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDdlZmQ3ZQotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9zY3JpcHQKQEAgLTAsMCArMSw0MCBAQAorX3NjcmlwdF9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1jJ3wnLS1jb21tYW5kJykKKwkJCWNvbXBvcHQgLW8gYmFzaGRlZmF1bHQKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtYyAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQknPScpCisJCQljdXI9JHtjdXIjPX0KKwkJCTs7CisJCS0qKQorCQkJT1BUUz0iLS1hcHBlbmQKKwkJCQktLWNvbW1hbmQKKwkJCQktLXJldHVybgorCQkJCS0tZmx1c2gKKwkJCQktLWZvcmNlCisJCQkJLS1xdWlldAorCQkJCS0tdGltaW5nPQorCQkJCS0tdmVyc2lvbgorCQkJCS0taGVscCIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWxvY2FsIElGUz0kJ1xuJworCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX3NjcmlwdF9tb2R1bGUgc2NyaXB0CmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vc2NyaXB0cmVwbGF5IGIvYmFzaC1jb21wbGV0aW9uL3NjcmlwdHJlcGxheQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNGFhOGEwCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL3NjcmlwdHJlcGxheQpAQCAtMCwwICsxLDMyIEBACitfc2NyaXB0cmVwbGF5X21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWQnfCctLWRpdmlzb3InKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJkaWdpdCIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLXRpbWluZworCQkJCS0tdHlwZXNjcmlwdAorCQkJCS0tZGl2aXNvcgorCQkJCS0tdmVyc2lvbgorCQkJCS0taGVscCIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWxvY2FsIElGUz0kJ1xuJworCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX3NjcmlwdHJlcGxheV9tb2R1bGUgc2NyaXB0cmVwbGF5CmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vc2V0YXJjaCBiL2Jhc2gtY29tcGxldGlvbi9zZXRhcmNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3MWRlOTgKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vc2V0YXJjaApAQCAtMCwwICsxLDQxIEBACitfc2V0YXJjaF9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWlmIFsgJENPTVBfQ1dPUkQgLWVxIDEgXTsgdGhlbgorCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiQoJDEgLS1saXN0KSIgLS0gJGN1cikgKQorCQlyZXR1cm4gMAorCWZpCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS12ZXJib3NlCisJCQkJLS1hZGRyLW5vLXJhbmRvbWl6ZQorCQkJCS0tZmRwaWMtZnVuY3B0cnMKKwkJCQktLW1tYXAtcGFnZS16ZXJvCisJCQkJLS1hZGRyLWNvbXBhdC1sYXlvdXQKKwkJCQktLXJlYWQtaW1wbGllcy1leGVjCisJCQkJLS0zMmJpdAorCQkJCS0tc2hvcnQtaW5vZGUKKwkJCQktLXdob2xlLXNlY29uZHMKKwkJCQktLXN0aWNreS10aW1lb3V0cworCQkJCS0tM2diCisJCQkJLS00Z2IKKwkJCQktLXVuYW1lLTIuNgorCQkJCS0taGVscAorCQkJCS0tdmVyc2lvbiIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNvbXBvcHQgLW8gYmFzaGRlZmF1bHQKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWMgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfc2V0YXJjaF9tb2R1bGUgc2V0YXJjaApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL3NldHByaXYgYi9iYXNoLWNvbXBsZXRpb24vc2V0cHJpdgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZGQzYjdkCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL3NldHByaXYKQEAgLTAsMCArMSw5NyBAQAorX3NldHByaXZfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctLWluaC1jYXBzJ3wnLS1ib3VuZGluZy1zZXQnKQorCQkJbG9jYWwgcHJlZml4IHJlYWxjdXIgSU5IRVJJVF9BTEwgSU5IRVJJVAorCQkJcmVhbGN1cj0iJHtjdXIjIyosfSIKKwkJCXByZWZpeD0iJHtjdXIlJHJlYWxjdXJ9IgorCQkJSU5IRVJJVF9BTEw9JCgkMSAtLWxpc3QtY2Fwc3wgYXdrICd7cHJpbnQgJDEsICItIiAkMX0nKQorCQkJZm9yIFdPUkQgaW4gJElOSEVSSVRfQUxMOyBkbworCQkJCWlmICEgW1sgJHByZWZpeCA9PSAqIiRXT1JEIiogXV07IHRoZW4KKwkJCQkJSU5IRVJJVD0iJFdPUkQgJElOSEVSSVQiCisJCQkJZmkKKwkJCWRvbmUKKwkJCWNvbXBvcHQgLW8gbm9zcGFjZQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1QICIkcHJlZml4IiAtVyAiJElOSEVSSVQiIC1TICcsJyAtLSAkcmVhbGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctLXJ1aWQnfCctLWV1aWQnfCctLXJldWlkJykKKwkJCWxvY2FsIFVJRFMKKwkJCVVJRFM9JChnZXRlbnQgcGFzc3dkIHwgYXdrIC1GOiAne3ByaW50ICQzfScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRVSURTIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy0tcmdpZCd8Jy0tZWdpZCd8Jy0tcmVnaWQnKQorCQkJbG9jYWwgR0lEUworCQkJR0lEUz0kKGdldGVudCBncm91cCB8IGF3ayAtRjogJ3twcmludCAkM30nKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkR0lEUyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctLWdyb3VwcycpCisJCQlsb2NhbCBwcmVmaXggcmVhbGN1ciBHSURTX0FMTCBHSURTCisJCQlyZWFsY3VyPSIke2N1ciMjKix9IgorCQkJcHJlZml4PSIke2N1ciUkcmVhbGN1cn0iCisJCQlHSURTX0FMTD0kKGdldGVudCBncm91cCB8IGF3ayAtRjogJ3twcmludCAkM30nKQorCQkJZm9yIFdPUkQgaW4gJEdJRFNfQUxMOyBkbworCQkJCWlmICEgW1sgJHByZWZpeCA9PSAqIiRXT1JEIiogXV07IHRoZW4KKwkJCQkJR0lEUz0iJFdPUkQgJEdJRFMiCisJCQkJZmkKKwkJCWRvbmUKKwkJCWNvbXBvcHQgLW8gbm9zcGFjZQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1QICIkcHJlZml4IiAtVyAiJEdJRFMiIC1TICcsJyAtLSAkcmVhbGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctLXNlY3VyZWJpdHMnKQorCQkJbG9jYWwgU0JJVFMKKwkJCVNCSVRTPSJub3Jvb3Qgbm9yb290X2xvY2tlZCBub19zZXR1aWRfZml4dXAgbm9fc2V0dWlkX2ZpeHVwX2xvY2tlZCBrZWVwX2NhcHNfbG9ja2VkCisJCQktbm9yb290IC1ub3Jvb3RfbG9ja2VkIC1ub19zZXR1aWRfZml4dXAgLW5vX3NldHVpZF9maXh1cF9sb2NrZWQgLWtlZXBfY2Fwc19sb2NrZWQiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRTQklUUyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctLXNlbGludXgtbGFiZWwnKQorCQkJIyBGSVhNRTogaG93IHRvIGxpc3Qgc2VsaW51eCBsYWJlbHM/CisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImxhYmVsIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy0tYXBwYXJtb3ItcHJvZmlsZScpCisJCQkjIEZJWE1FOiBob3cgdG8gbGlzdCBhcHBhcm1vciBwcm9maWxlcz8KKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAicHJvZmlsZSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLWR1bXAKKwkJCQktLW5vLW5ldy1wcml2cworCQkJCS0taW5oLWNhcHMKKwkJCQktLWJvdW5kaW5nLXNldAorCQkJCS0tcnVpZAorCQkJCS0tZXVpZAorCQkJCS0tcmdpZAorCQkJCS0tZWdpZAorCQkJCS0tcmV1aWQKKwkJCQktLXJlZ2lkCisJCQkJLS1jbGVhci1ncm91cHNjbGVhcgorCQkJCS0ta2VlcC1ncm91cHNrZWVwCisJCQkJLS1ncm91cHMKKwkJCQktLXNlY3VyZWJpdHMKKwkJCQktLXNlbGludXgtbGFiZWwKKwkJCQktLWFwcGFybW9yLXByb2ZpbGUKKwkJCQktLWhlbHAKKwkJCQktLXZlcnNpb24iCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljb21wb3B0IC1vIGJhc2hkZWZhdWx0CisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1jIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX3NldHByaXZfbW9kdWxlIHNldHByaXYKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9zZXRzaWQgYi9iYXNoLWNvbXBsZXRpb24vc2V0c2lkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2ODE1OWIKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vc2V0c2lkCkBAIC0wLDAgKzEsMjMgQEAKK19zZXRzaWRfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLWN0dHkgLS1oZWxwIC0tdmVyc2lvbiIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNvbXBvcHQgLW8gYmFzaGRlZmF1bHQKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWMgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfc2V0c2lkX21vZHVsZSBzZXRzaWQKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9zZXR0ZXJtIGIvYmFzaC1jb21wbGV0aW9uL3NldHRlcm0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGQ0NjQ3MgotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9zZXR0ZXJtCkBAIC0wLDAgKzEsMTI2IEBACitfc2V0dGVybV9tb2R1bGUoKQoreworCWxvY2FsIGJyaWdodCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctLXRlcm0nKQorCQkJbG9jYWwgVEVSTV9MSVNUIEkKKwkJCVRFUk1fTElTVD0nJworCQkJZm9yIEkgaW4gL3Vzci9zaGFyZS90ZXJtaW5mby8/Lyo7IGRvCisJCQkJVEVSTV9MSVNUKz0iJHtJIyMqL30gIgorCQkJZG9uZQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkVEVSTV9MSVNUIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy0tZm9yZWdyb3VuZCd8Jy0tYmFja2dyb3VuZCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImJsYWNrIGJsdWUgY3lhbiBkZWZhdWx0IGdyZWVuIG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvdyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctLXVsY29sb3InfCctLWhiY29sb3InfCdicmlnaHQnKQorCQkJaWYgWyAkcHJldiAhPSAnYnJpZ2h0JyBdOyB0aGVuCisJCQkJYnJpZ2h0PSdicmlnaHQgYmxhY2sgZ3JleScKKwkJCWVsc2UKKwkJCQlicmlnaHQ9JycKKwkJCWZpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRicmlnaHQgYmx1ZSBjeWFuIGdyZWVuIG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvdyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctLWN1cnNvcid8Jy0tcmVwZWF0J3wnLS1hcHBjdXJzb3JrZXlzJ3wnLS1saW5ld3JhcCd8Jy0taW52ZXJzZXNjcmVlbid8Jy0tYm9sZCd8Jy0taGFsZi1icmlnaHQnfCctLWJsaW5rJ3wnLS1yZXZlcnNlJ3wnLS11bmRlcmxpbmUnfCctLW1zZycpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIm9mZiBvbiIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctLWNsZWFyJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiYWxsIHJlc3QiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLS10YWJzJ3wnLS1jbHJ0YWJzJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAidGFiMSB0YWIyIHRhYjMgdGFiMTYwIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy0tcmVndGFicycpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInsxLi4xNjB9IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy0tYmxhbmsnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJ7MC4uNjB9IGZvcmNlIHBva2UiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLS1kdW1wJ3wnLS1hcHBlbmQnKQorCQkJbG9jYWwgTlVNX0NPTlMKKwkJCU5VTV9DT05TPSgvZGV2L3Zjc2E/KikKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiezEuLiR7I05VTV9DT05TWypdfX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLS1maWxlJykKKwkJCWxvY2FsIElGUz0kJ1xuJworCQkJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy0tbXNnbGV2ZWwnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJ7MC4uOH0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLS1wb3dlcnNhdmUnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJvbiB2c3luYyBoc3luYyBwb3dlcmRvd24gb2ZmIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy0tcG93ZXJkb3duJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiezAuLjYwfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctLWJsZW5ndGgnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIwLTIwMDAiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLS1iZnJlcScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImZyZXFudW1iZXIiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLS1oZWxwJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlPUFRTPSIJLS10ZXJtCisJCS0tcmVzZXQKKwkJLS1pbml0aWFsaXplCisJCS0tY3Vyc29yCisJCS0tcmVwZWF0CisJCS0tYXBwY3Vyc29ya2V5cworCQktLWxpbmV3cmFwCisJCS0tZGVmYXVsdAorCQktLWZvcmVncm91bmQKKwkJLS1iYWNrZ3JvdW5kCisJCS0tdWxjb2xvcgorCQktLWhiY29sb3IKKwkJLS11bGNvbG9yCisJCS0taGJjb2xvcgorCQktLWludmVyc2VzY3JlZW4KKwkJLS1ib2xkCisJCS0taGFsZi1icmlnaHQKKwkJLS1ibGluaworCQktLXJldmVyc2UKKwkJLS11bmRlcmxpbmUKKwkJLS1zdG9yZQorCQktLWNsZWFyCisJCS0tdGFicworCQktLWNscnRhYnMKKwkJLS1yZWd0YWJzCisJCS0tYmxhbmsKKwkJLS1kdW1wCisJCS0tYXBwZW5kCisJCS0tZmlsZQorCQktLW1zZworCQktLW1zZ2xldmVsCisJCS0tcG93ZXJzYXZlCisJCS0tcG93ZXJkb3duCisJCS0tYmxlbmd0aAorCQktLWJmcmVxCisJCS0tdmVyc2lvbgorCQktLWhlbHAiCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9zZXR0ZXJtX21vZHVsZSBzZXR0ZXJtCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vc2ZkaXNrIGIvYmFzaC1jb21wbGV0aW9uL3NmZGlzawpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOGFlMWYxCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL3NmZGlzawpAQCAtMCwwICsxLDY4IEBACitfc2ZkaXNrX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLW4nfCctQyd8Jy0tY3lsaW5kZXJzJ3wnLUgnfCctLWhlYWRzJ3wnLVMnfCctLXNlY3RvcnMnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJudW1iZXIiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLS1jb2xvcicpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImF1dG8gbmV2ZXIgYWx3YXlzIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1PJ3wnLUknKQorCQkJbG9jYWwgSUZTPSQnXG4nCisJCQljb21wb3B0IC1vIGZpbGVuYW1lcworCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctdid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCSc9JykKKwkJCWN1cj0ke2N1ciM9fQorCQkJOzsKKwkJLSopCisJCQlPUFRTPSIKKwkJCQktLWFjdGl2YXRlCisJCQkJLS1kdW1wCisJCQkJLS1qc29uCisJCQkJLS1zaG93LWdlb21ldHJ5CisJCQkJLS1saXN0CisJCQkJLS1saXN0LWZyZWUKKwkJCQktLXNob3ctc2l6ZQorCQkJCS0tbGlzdC10eXBlcworCQkJCS0tdmVyaWZ5CisJCQkJLS1wYXJ0LWxhYmVsCisJCQkJLS1wYXJ0LXR5cGUKKwkJCQktLXBhcnQtdXVpZAorCQkJCS0tcGFydC1hdHRycworCQkJCS0tYXBwZW5kCisJCQkJLS1iYWNrdXAKKwkJCQktLWJ5dGVzCisJCQkJLS1mb3JjZQorCQkJCS0tY29sb3IKKwkJCQktLXBhcnRubworCQkJCS0tbm8tYWN0CisJCQkJLS1uby1yZXJlYWQKKwkJCQktLWJhY2t1cC1maWxlCisJCQkJLS1vdXRwdXQKKwkJCQktLXF1aWV0CisJCQkJLS1sYWJlbAorCQkJCS0tbGFiZWwtbmVzdGVkCisJCQkJLS1oZWxwCisJCQkJLS12ZXJzaW9uCisJCQkiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiQobHNibGsgLXBucm8gbmFtZSkiIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX3NmZGlza19tb2R1bGUgc2ZkaXNrCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vc3UgYi9iYXNoLWNvbXBsZXRpb24vc3UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGFkMWI1ZgotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9zdQpAQCAtMCwwICsxLDQ3IEBACitfc3VfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctJ3wnLXUnfCctLXVzZXInKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC11IC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWcnfCctLWdyb3VwJ3wnLUcnfCctLXN1cHAtZ3JvdXAnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1nIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXMnfCctLXNoZWxsJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJChjaHNoIC1sKSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSIJLS11c2VyCisJCQkJLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudAorCQkJCS0tZ3JvdXAKKwkJCQktLXN1cHAtZ3JvdXAKKwkJCQktLWxvZ2luCisJCQkJLS1jb21tYW5kCisJCQkJLS1zZXNzaW9uLWNvbW1hbmQKKwkJCQktLWZhc3QKKwkJCQktLXNoZWxsCisJCQkJLS1oZWxwCisJCQkJLS12ZXJzaW9uIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJbG9jYWwgSUZTPSQnXG4nCisJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfc3VfbW9kdWxlIHN1Citjb21wbGV0ZSAtRiBfc3VfbW9kdWxlIHJ1bnVzZXIKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9zd2FwbGFiZWwgYi9iYXNoLWNvbXBsZXRpb24vc3dhcGxhYmVsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4YWE5Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vc3dhcGxhYmVsCkBAIC0wLDAgKzEsMzIgQEAKK19zd2FwbGFiZWxfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctTCd8Jy0tbGFiZWwnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJsYWJlbCIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctVSd8Jy0tdXVpZCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgJyQodXVpZGdlbiknIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1sYWJlbCAtLXV1aWQgLS1oZWxwIC0tdmVyc2lvbiIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWxvY2FsIElGUz0kJ1xuJworCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX3N3YXBsYWJlbF9tb2R1bGUgc3dhcGxhYmVsCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vc3dhcG9mZiBiL2Jhc2gtY29tcGxldGlvbi9zd2Fwb2ZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwZGNmMDUKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vc3dhcG9mZgpAQCAtMCwwICsxLDM4IEBACitfc3dhcG9mZl9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1hJ3wnLS1hbGwnKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctVSd8J1VVSUQ9JykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJChzd2Fwb24gLS1zaG93PVVVSUQgLS1ub2hlYWRpbmcpIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1MJ3wnTEFCRUw9JykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJChzd2Fwb24gLS1zaG93PUxBQkVMIC0tbm9oZWFkaW5nKSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItTAorCQkJCS1VCisJCQkJLS1hbGwKKwkJCQktLXZlcmJvc2UKKwkJCQktLWhlbHAKKwkJCQktLXZlcnNpb24iCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiQoc3dhcG9uIC0tc2hvdz1OQU1FIC0tcmF3IC0tbm9oZWFkaW5nKSIgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfc3dhcG9mZl9tb2R1bGUgc3dhcG9mZgpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL3N3YXBvbiBiL2Jhc2gtY29tcGxldGlvbi9zd2Fwb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmM4MGFmNQotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9zd2Fwb24KQEAgLTAsMCArMSw2OCBAQAorX3N3YXBvbl9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1wJ3wnLS1wcmlvcml0eScpCisJCQkjIFByaW9yaXR5IHJhbmdlIGlzIC0xIHRvIDMyNzY3LiAgUGVyaGFwcyB0aGVzZQorCQkJIyBmZXcgYXJlIGVub3VnaC4KKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiey0xLi45fSAzMjc2NyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctLXNob3cnKQorCQkJbG9jYWwgcHJlZml4IHJlYWxjdXIgT1VUUFVUX0FMTCBPVVRQVVQKKwkJCXJlYWxjdXI9IiR7Y3VyIyMqLH0iCisJCQlwcmVmaXg9IiR7Y3VyJSRyZWFsY3VyfSIKKwkJCU9VVFBVVF9BTEw9Ik5BTUUgVFlQRSBTSVpFIFVTRUQgUFJJTyBVVUlEIExBQkVMIgorCQkJZm9yIFdPUkQgaW4gJE9VVFBVVF9BTEw7IGRvCisJCQkJaWYgISBbWyAkcHJlZml4ID09ICoiJFdPUkQiKiBdXTsgdGhlbgorCQkJCQlPVVRQVVQ9IiRXT1JEICRPVVRQVVQiCisJCQkJZmkKKwkJCWRvbmUKKwkJCWNvbXBvcHQgLW8gbm9zcGFjZQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1QICIkcHJlZml4IiAtVyAiJE9VVFBVVCIgLVMgJywnIC0tICRyZWFsY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1VJykKKwkJCWxvY2FsIFVVSURTCisJCQlVVUlEUz0iJChsc2JsayAtbnJwIC1vIEZTVFlQRSxVVUlEIHwgYXdrICckMSB+IC9zd2FwLyB7IHByaW50ICQyIH0nKSIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJFVVSURTIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1MJykKKwkJCWxvY2FsIExBQkVMUworCQkJTEFCRUxTPSIkKGxzYmxrIC1ucnAgLW8gRlNUWVBFLExBQkVMIHwgYXdrICckMSB+IC9zd2FwLyB7IHByaW50ICQyIH0nKSIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJExBQkVMUyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLWFsbAorCQkJCS0tZGlzY2FyZAorCQkJCS0taWZleGlzdHMKKwkJCQktLWZpeHBnc3oKKwkJCQktLXByaW9yaXR5CisJCQkJLS1zdW1tYXJ5CisJCQkJLS1zaG93CisJCQkJLS1ub2hlYWRpbmdzCisJCQkJLS1yYXcKKwkJCQktLWJ5dGVzCisJCQkJLS12ZXJib3NlCisJCQkJLS1oZWxwCisJCQkJLS12ZXJzaW9uIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJbG9jYWwgREVWUworCURFVlM9IiQobHNibGsgLW5ycCAtbyBGU1RZUEUsTkFNRSB8IGF3ayAnJDEgfiAvc3dhcC8geyBwcmludCAkMiB9JykiCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkREVWUyIgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfc3dhcG9uX21vZHVsZSBzd2Fwb24KZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi90YWlsZiBiL2Jhc2gtY29tcGxldGlvbi90YWlsZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZDRjODY5Ci0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL3RhaWxmCkBAIC0wLDAgKzEsMjggQEAKK190YWlsZl9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1uJ3wnLS1saW5lcycpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIm51bWJlciIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLWxpbmVzIC0tdmVyc2lvbiAtLWhlbHAiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlsb2NhbCBJRlM9JCdcbicKKwljb21wb3B0IC1vIGZpbGVuYW1lcworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF90YWlsZl9tb2R1bGUgdGFpbGYKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi90YXNrc2V0IGIvYmFzaC1jb21wbGV0aW9uL3Rhc2tzZXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGU2MmEzYgotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi90YXNrc2V0CkBAIC0wLDAgKzEsNDcgQEAKK190YXNrc2V0X21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWMnfCctLWNwdS1saXN0JykKKwkJCWxvY2FsIHByZWZpeCByZWFsY3VyIENQVUxJU1RfQUxMIENQVUxJU1QKKwkJCXJlYWxjdXI9IiR7Y3VyIyMqLH0iCisJCQlwcmVmaXg9IiR7Y3VyJSRyZWFsY3VyfSIKKwkJCUNQVUxJU1RfQUxMPSQoc2VkICdzL14vey87IHMvLS8uLi9nOyBzLywvfSB7L2c7IHMvJC99LycgL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUvb25saW5lKQorCQkJZm9yIFdPUkQgaW4gJChldmFsIGVjaG8gJENQVUxJU1RfQUxMKTsgZG8KKwkJCQlpZiAhIFtbICRwcmVmaXggPT0gKiIkV09SRCIqIF1dOyB0aGVuCisJCQkJCUNQVUxJU1Q9IiRXT1JEICRDUFVMSVNUIgorCQkJCWZpCisJCQlkb25lCisJCQljb21wb3B0IC1vIG5vc3BhY2UKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtUCAiJHByZWZpeCIgLVcgIiRDUFVMSVNUIiAtUyAnLCcgLS0gJHJlYWxjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXAnfCctLXBpZCcpCisJCQlsb2NhbCBQSURTCisJCQkjIEZJWE1FOiB0aGUgcGlkIGFyZ3VtZW50IGlzIGFtYmlndW91cy4gIFdoZW4KKwkJCSMgc2V0dGluZyBhbiBhZmZpbml0eSB0aGUgb3B0YXJnIGhhcyB0byBiZSBjcHUKKwkJCSMgbWFzay4gIFRoZSBmb2xsb3dpbmcgaXMgZ29vZCBvbmx5IGZvciBnZXR0aW5nCisJCQkjIGFmZmluaXR5LgorCQkJUElEUz0kKGZvciBJIGluIC9wcm9jL1swLTldKjsgZG8gZWNobyAke0kjIyIvcHJvYy8ifTsgZG9uZSkKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJFBJRFMiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1hbGwtdGFza3MgLS1waWQgLS1jcHUtbGlzdCAtLWhlbHAgLS12ZXJzaW9uIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY29tcG9wdCAtbyBiYXNoZGVmYXVsdAorCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtYyAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF90YXNrc2V0X21vZHVsZSB0YXNrc2V0CmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vdHVuZWxwIGIvYmFzaC1jb21wbGV0aW9uL3R1bmVscApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZDJjY2UyCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL3R1bmVscApAQCAtMCwwICsxLDUyIEBACitfdHVuZWxwX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWknfCctLWlycSd8Jy1jJ3wnLS1jaGFycycpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIm51bWJlciIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctdCd8Jy0tdGltZScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIm1pbGxpc2Vjb25kcyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctdyd8Jy0td2FpdCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIm1pY3Jvc2Vjb25kcyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctYSd8Jy0tYWJvcnQnfCctbyd8Jy0tY2hlY2stc3RhdHVzJ3wnLUMnfCctLWNhcmVmdWwnfCctVCd8Jy0tdHJ1c3QtaXJxJ3wnLXEnfCctLXByaW50LWlycScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIm9mZiBvbiIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLWlycQorCQkJCS0tdGltZQorCQkJCS0tY2hhcnMKKwkJCQktLXdhaXQKKwkJCQktLWFib3J0CisJCQkJLS1jaGVjay1zdGF0dXMKKwkJCQktLWNhcmVmdWwKKwkJCQktLXN0YXR1cworCQkJCS0tdHJ1c3QtaXJxCisJCQkJLS1yZXNldAorCQkJCS0tcHJpbnQtaXJxCisJCQkJLS1oZWxwCisJCQkJLS12ZXJzaW9uIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJbG9jYWwgSUZTPSQnXG4nCisJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJHtjdXI6LSIvZGV2L2xwIn0pICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX3R1bmVscF9tb2R1bGUgdHVuZWxwCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vdWwgYi9iYXNoLWNvbXBsZXRpb24vdWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDQ5Y2JlMAotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi91bApAQCAtMCwwICsxLDMzIEBACitfdWxfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctdCd8Jy0tdGVybWluYWwnKQorCQkJbG9jYWwgVEVSTV9MSVNUIEkKKwkJCVRFUk1fTElTVD0nJworCQkJZm9yIEkgaW4gL3Vzci9zaGFyZS90ZXJtaW5mby8/Lyo7IGRvCisJCQkJVEVSTV9MSVNUKz0iJHtJIyMqL30gIgorCQkJZG9uZQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkVEVSTV9MSVNUIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9Ii0tdGVybWluYWwgLS1pbmRpY2F0ZWQgLS12ZXJzaW9uIC0taGVscCIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWxvY2FsIElGUz0kJ1xuJworCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX3VsX21vZHVsZSB1bApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL3Vtb3VudCBiL2Jhc2gtY29tcGxldGlvbi91bW91bnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWNmNzhlYwotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi91bW91bnQKQEAgLTAsMCArMSw2MSBAQAorX3Vtb3VudF9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy10J3wnLS10eXBlcycpCisJCQlsb2NhbCBUWVBFUworCQkJVFlQRVM9IgorYWRmcwkgIG5vYWRmcwloZnNwbHVzCSAgbm9oZnNwbHVzCXNtYmZzCSAgbm9zbWJmcworYWZmcwkgIG5vYWZmcwlocGZzCSAgbm9ocGZzCXNxdWFzaGZzICBub3NxdWFzaGZzCithdXRvZnMJICBub2F1dG9mcwlpc285NjYwCSAgbm9pc285NjYwCXN5c3YJICBub3N5c3YKK2NpZnMJICBub2NpZnMJamZzCSAgbm9qZnMJCXRtcGZzCSAgbm90bXBmcworY29kYQkgIG5vY29kYQltaW5peAkgIG5vbWluaXgJdWJpZnMJICBub3ViaWZzCitjb2hlcmVudCAgbm9jb2hlcmVudAltc2RvcwkgIG5vbXNkb3MJdWRmCSAgbm91ZGYKK2NyYW1mcwkgIG5vY3JhbWZzCW5jcGZzCSAgbm9uY3Bmcwl1ZnMJICBub3VmcworZGVidWdmcwkgIG5vZGVidWdmcwluZnMJICBub25mcwkJdW1zZG9zCSAgbm91bXNkb3MKK2RldnB0cwkgIG5vZGV2cHRzCW5mczQJICBub25mczQJdXNiZnMJICBub3VzYmZzCitlZnMJICBub2VmcwkJbnRmcwkgIG5vbnRmcwl2ZmF0CSAgbm92ZmF0CisJCQlwcm9jCSAgbm9wcm9jCXhlbml4CSAgbm94ZW5peAorZXh0MgkgIG5vZXh0Mglxbng0CSAgbm9xbng0CXhmcwkgIG5veGZzCitleHQzCSAgbm9leHQzCXJhbWZzCSAgbm9yYW1mcworZXh0NAkgIG5vZXh0NAlyZWlzZXJmcyAgbm9yZWlzZXJmcworaGZzCSAgbm9oZnMJCXJvbWZzCSAgbm9yb21mcworIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkVFlQRVMiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iCS0tYWxsCisJCQkJLS1hbGwtdGFyZ2V0cworCQkJCS0tbm8tY2Fub25pY2FsaXplCisJCQkJLS1kZXRhY2gtbG9vcAorCQkJCS0tZmFrZQorCQkJCS0tZm9yY2UKKwkJCQktLWludGVybmFsLW9ubHkKKwkJCQktLW5vLW10YWIKKwkJCQktLWxhenkKKwkJCQktLXRlc3Qtb3B0cworCQkJCS0tcmVjdXJzaXZlCisJCQkJLS1yZWFkLW9ubHkKKwkJCQktLXR5cGVzCisJCQkJLS12ZXJib3NlCisJCQkJLS1oZWxwCisJCQkJLS12ZXJzaW9uIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJbG9jYWwgREVWU19NUE9JTlRTCisJREVWU19NUE9JTlRTPSIkKG1vdW50IHwgYXdrICd7cHJpbnQgJDEsICQzfScpIgorCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJERFVlNfTVBPSU5UUyIgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfdW1vdW50X21vZHVsZSB1bW91bnQKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi91bnNoYXJlIGIvYmFzaC1jb21wbGV0aW9uL3Vuc2hhcmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODZhNGFmNAotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi91bnNoYXJlCkBAIC0wLDAgKzEsMzAgQEAKK191bnNoYXJlX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1tb3VudAorCQkJCS0tdXRzCisJCQkJLS1pcGMKKwkJCQktLW5ldAorCQkJCS0tcGlkCisJCQkJLS11c2VyCisJCQkJLS1oZWxwCisJCQkJLS12ZXJzaW9uIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY29tcG9wdCAtbyBiYXNoZGVmYXVsdAorCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtYyAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF91bnNoYXJlX21vZHVsZSB1bnNoYXJlCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vdXRtcGR1bXAgYi9iYXNoLWNvbXBsZXRpb24vdXRtcGR1bXAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmI2MzZjMQotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi91dG1wZHVtcApAQCAtMCwwICsxLDI0IEBACitfdXRtcGR1bXBfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLWZvbGxvdyAtLXJldmVyc2UgLS1vdXRwdXQgLS12ZXJzaW9uIC0taGVscCIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWxvY2FsIElGUz0kJ1xuJworCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX3V0bXBkdW1wX21vZHVsZSB1dG1wZHVtcApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL3V1aWRkIGIvYmFzaC1jb21wbGV0aW9uL3V1aWRkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4ZjY2OTcKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vdXVpZGQKQEAgLTAsMCArMSwzOSBAQAorX3V1aWRkX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLXAnfCctLXBpZCd8Jy1zJ3wnLS1zb2NrZXQnKQorCQkJbG9jYWwgSUZTPSQnXG4nCisJCQljb21wb3B0IC1vIGZpbGVuYW1lcworCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLVQnfCctLXRpbWVvdXQnKQorCQkJbG9jYWwgSUZTPSQnXG4nCisJCQljb21wb3B0IC1vIGZpbGVuYW1lcworCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJ0aW1lb3V0IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1uJ3wnLS11dWlkcycpCisJCQlsb2NhbCBJRlM9JCdcbicKKwkJCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIm51bWJlciIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLXBpZCAtLXNvY2tldCAtLXRpbWVvdXQgLS1raWxsIC0tcmFuZG9tIC0tdGltZSAtLXV1aWRzIC0tbm8tcGlkIC0tbm8tZm9yayAtLXNvY2tldC1hY3RpdmF0aW9uIC0tZGVidWcgLS1xdWlldCAtLXZlcnNpb24gLS1oZWxwIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF91dWlkZF9tb2R1bGUgdXVpZGQKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi91dWlkZ2VuIGIvYmFzaC1jb21wbGV0aW9uL3V1aWRnZW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDJkOTVkNAotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi91dWlkZ2VuCkBAIC0wLDAgKzEsMjEgQEAKK191dWlkZ2VuX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1yYW5kb20gLS10aW1lIC0tdmVyc2lvbiAtLWhlbHAiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX3V1aWRnZW5fbW9kdWxlIHV1aWRnZW4KZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi93YWxsIGIvYmFzaC1jb21wbGV0aW9uL3dhbGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTMxNDVmZgotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi93YWxsCkBAIC0wLDAgKzEsMjggQEAKK193YWxsX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLXQnfCctLXRpbWVvdXQnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJzZWNvbmRzIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9Ii0tbm9iYW5uZXIgLS10aW1lb3V0IC0tdmVyc2lvbiAtLWhlbHAiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlsb2NhbCBJRlM9JCdcbicKKwljb21wb3B0IC1vIGZpbGVuYW1lcworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF93YWxsX21vZHVsZSB3YWxsCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vd2RjdGwgYi9iYXNoLWNvbXBsZXRpb24vd2RjdGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODExYjVlMwotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi93ZGN0bApAQCAtMCwwICsxLDcwIEBACitfd2RjdGxfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctZid8Jy0tZmxhZ3MnKQorCQkJbG9jYWwgRkxBR1MKKwkJCUZMQUdTPSJBTEFSTU9OTFkKKwkJCQlDQVJEUkVTRVQKKwkJCQlFWFRFUk4xCisJCQkJRVhURVJOMgorCQkJCUZBTkZBVUxUCisJCQkJS0VFUEFMSVZFUElORworCQkJCU1BR0lDQ0xPU0UKKwkJCQlPVkVSSEVBVAorCQkJCVBPV0VST1ZFUgorCQkJCVBPV0VSVU5ERVIKKwkJCQlQUkVUSU1FT1VUCisJCQkJU0VUVElNRU9VVCIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJEZMQUdTIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1vJ3wnLS1vdXRwdXQnKQorCQkJbG9jYWwgcHJlZml4IHJlYWxjdXIgT1VUUFVUX0FMTCBPVVRQVVQKKwkJCXJlYWxjdXI9IiR7Y3VyIyMqLH0iCisJCQlwcmVmaXg9IiR7Y3VyJSRyZWFsY3VyfSIKKwkJCU9VVFBVVF9BTEw9IkZMQUcgREVTQ1JJUFRJT04gU1RBVFVTIEJPT1QtU1RBVFVTIERFVklDRSIKKwkJCWZvciBXT1JEIGluICRPVVRQVVRfQUxMOyBkbworCQkJCWlmICEgW1sgJHByZWZpeCA9PSAqIiRXT1JEIiogXV07IHRoZW4KKwkJCQkJT1VUUFVUPSIkV09SRCAkT1VUUFVUIgorCQkJCWZpCisJCQlkb25lCisJCQljb21wb3B0IC1vIG5vc3BhY2UKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtUCAiJHByZWZpeCIgLVcgIiRPVVRQVVQiIC1TICcsJyAtLSAkcmVhbGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctcyd8Jy0tc2V0dGltZW91dCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInNlY29uZHMiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1mbGFncworCQkJCS0tbm9mbGFncworCQkJCS0tbm9pZGVudAorCQkJCS0tbm9oZWFkaW5ncworCQkJCS0tb25lbGluZQorCQkJCS0tb3V0cHV0CisJCQkJLS1yYXcKKwkJCQktLW5vdGltZW91dHMKKwkJCQktLXNldHRpbWVvdXQKKwkJCQktLWZsYWdzLW9ubHkKKwkJCQktLWhlbHAKKwkJCQktLXZlcnNpb24iCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlsb2NhbCBJRlM9JCdcbicKKwljb21wb3B0IC1vIGZpbGVuYW1lcworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAke2N1cjotIi9kZXYvIn0pICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX3dkY3RsX21vZHVsZSB3ZGN0bApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL3doZXJlaXMgYi9iYXNoLWNvbXBsZXRpb24vd2hlcmVpcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZGNiYWMzCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL3doZXJlaXMKQEAgLTAsMCArMSwyOCBAQAorX3doZXJlaXNfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctQid8Jy1NJ3wnLVMnKQorCQkJbG9jYWwgSUZTPSQnXG4nCisJCQljb21wb3B0IC1vIGZpbGVuYW1lcworCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1vIGRpcm5hbWVzIC0tICR7Y3VyOi0iLyJ9KSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLVYnKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9Ii1iIC1CIC1tIC1NIC1zIC1TIC1mIC11IC1sIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJmaWxlIiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF93aGVyZWlzX21vZHVsZSB3aGVyZWlzCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vd2lwZWZzIGIvYmFzaC1jb21wbGV0aW9uL3dpcGVmcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNzM1YjVhCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL3dpcGVmcwpAQCAtMCwwICsxLDMyIEBACitfd2lwZWZzX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLW8nfCctLW9mZnNldCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIm9mZnNldCIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctdCd8Jy0tdHlwZXMnKQorCQkJbG9jYWwgVFlQRVMKKwkJCVRZUEVTPSIkKGJsa2lkIC1rKSIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJFRZUEVTIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9Ii0tYWxsIC0tZm9yY2UgLS1oZWxwIC0tbm8tYWN0IC0tb2Zmc2V0IC0tcGFyc2FibGUgLS1xdWlldCAtLXR5cGVzIC0tdmVyc2lvbiIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJChsc2JsayAtcG5ybyBuYW1lKSIgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfd2lwZWZzX21vZHVsZSB3aXBlZnMKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi93cml0ZSBiL2Jhc2gtY29tcGxldGlvbi93cml0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZmUwODA3Ci0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL3dyaXRlCkBAIC0wLDAgKzEsMjggQEAKK193cml0ZV9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2CisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRDT01QX0NXT1JEIGluCisJCTEpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLXUgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCTIpCisJCQlsb2NhbCBJIFRFUk1TPScnCisJCQlmb3IgSSBpbiAvc3lzL2NsYXNzL3R0eS8qOyBkbworCQkJCVRFUk1TKz0iL2RldiR7SSMjL3N5cy9jbGFzcy90dHl9ICIKKwkJCWRvbmUKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJFRFUk1TIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF93cml0ZV9tb2R1bGUgd3JpdGUKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi96cmFtY3RsIGIvYmFzaC1jb21wbGV0aW9uL3pyYW1jdGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTRlZjUzNgotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi96cmFtY3RsCkBAIC0wLDAgKzEsNTcgQEAKK196cmFtY3RsX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWEnfCctLWFsZ29yaXRobScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImx6byBsejQiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLW8nfCctLW91dHB1dCcpCisJCQlsb2NhbCBwcmVmaXggcmVhbGN1ciBPVVRQVVRfQUxMIE9VVFBVVAorCQkJcmVhbGN1cj0iJHtjdXIjIyosfSIKKwkJCXByZWZpeD0iJHtjdXIlJHJlYWxjdXJ9IgorCQkJT1VUUFVUX0FMTD0iTkFNRSBESVNLU0laRSBEQVRBIENPTVBSIEFMR09SSVRITSBTVFJFQU1TIFpFUk8tUEFHRVMgVE9UQUwgTU9VTlRQT0lOVCIKKwkJCWZvciBXT1JEIGluICRPVVRQVVRfQUxMOyBkbworCQkJCWlmICEgW1sgJHByZWZpeCA9PSAqIiRXT1JEIiogXV07IHRoZW4KKwkJCQkJT1VUUFVUPSIkV09SRCAkT1VUUFVUIgorCQkJCWZpCisJCQlkb25lCisJCQljb21wb3B0IC1vIG5vc3BhY2UKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtUCAiJHByZWZpeCIgLVcgIiRPVVRQVVQiIC1TICcsJyAtLSAkcmVhbGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctcyd8Jy0tc2l6ZScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInNpemUiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXQnfCctLXN0cmVhbXMnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJudW1iZXIiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSIJLS1hbGdvcml0aG0KKwkJCQktLWJ5dGVzCisJCQkJLS1maW5kCisJCQkJLS1ub2hlYWRpbmdzCisJCQkJLS1vdXRwdXQKKwkJCQktLXJhdworCQkJCS0tcmVzZXQKKwkJCQktLXNpemUKKwkJCQktLXN0cmVhbXMKKwkJCQktLWhlbHAKKwkJCQktLXZlcnNpb24iCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlsb2NhbCBJRlM9JCdcbicKKwljb21wb3B0IC1vIGZpbGVuYW1lcworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAke2N1cjotIi9kZXYvenJhbSJ9KSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF96cmFtY3RsX21vZHVsZSB6cmFtY3RsCmRpZmYgLS1naXQgYS9jb25maWcvZ3RrLWRvYy5tYWtlIGIvY29uZmlnL2d0ay1kb2MubWFrZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZThjODVmCi0tLSAvZGV2L251bGwKKysrIGIvY29uZmlnL2d0ay1kb2MubWFrZQpAQCAtMCwwICsxLDI0NiBAQAorIworIyBXQVJOSU5HOiB0aGlzIGlzIG5vdCBndGstZG9jLm1ha2UgZmlsZSBmcm9tIGd0ay1kb2MgcHJvamVjdC4gVGhpcworIyAgICAgICAgICBmaWxlIGhhcyBiZWVuIG1vZGlmaWVkIHRvIG1hdGNoIHdpdGggdXRpbC1saW51eCByZXF1aXJlbWVudHM6CisjCisjICAgICAgICAgICogaW5zdGFsbCBmaWxlcyB0byAkZGF0YWRpcgorIyAgICAgICAgICAqIGRvbid0IG1haW50YWluIGdlbmVyYXRlZCBmaWxlcyBpbiBnaXQgcmVwb3NpdG9yeQorIyAgICAgICAgICAqIGRvbid0IGRpc3RyaWJ1dGUgdGhlIGZpbmFsIGh0bWwgZmlsZXMKKyMgICAgICAgICAgKiBkb24ndCByZXF1aXJlIC0tZW5hYmxlLWd0ay1kb2MgZm9yICJtYWtlIGRpc3QiCisjICAgICAgICAgICogc3VwcG9ydCBvdXQtb2YtdHJlZSBidWlsZCAoJHNyY2RpciAhPSAkYnVpbGRkaXIpCisjCisjIC0tIGt6YWssIE5vdiAyMDA5CisjCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBFdmVyeXRoaW5nIGJlbG93IGhlcmUgaXMgZ2VuZXJpYyAjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworaWYgR1RLX0RPQ19VU0VfTElCVE9PTAorR1RLRE9DX0NDID0gJChMSUJUT09MKSAtLXRhZz1DQyAtLW1vZGU9Y29tcGlsZSAkKENDKSAkKElOQ0xVREVTKSAkKEFNX0NQUEZMQUdTKSAkKENQUEZMQUdTKSAkKEFNX0NGTEFHUykgJChDRkxBR1MpCitHVEtET0NfTEQgPSAkKExJQlRPT0wpIC0tdGFnPUNDIC0tbW9kZT1saW5rICQoQ0MpICQoQU1fQ0ZMQUdTKSAkKENGTEFHUykgJChBTV9MREZMQUdTKSAkKExERkxBR1MpCitHVEtET0NfUlVOID0gJChMSUJUT09MKSAtLW1vZGU9ZXhlY3V0ZQorZWxzZQorR1RLRE9DX0NDID0gJChDQykgJChJTkNMVURFUykgJChBTV9DUFBGTEFHUykgJChDUFBGTEFHUykgJChBTV9DRkxBR1MpICQoQ0ZMQUdTKQorR1RLRE9DX0xEID0gJChDQykgJChBTV9DRkxBR1MpICQoQ0ZMQUdTKSAkKEFNX0xERkxBR1MpICQoTERGTEFHUykKK0dUS0RPQ19SVU4gPQorZW5kaWYKKworIyBXZSBzZXQgR1BBVEggaGVyZTsgdGhpcyBnaXZlcyB1cyBzZW1hbnRpY3MgZm9yIEdOVSBtYWtlCisjIHdoaWNoIGFyZSBtb3JlIGxpa2Ugb3RoZXIgbWFrZSdzIFZQQVRILCB3aGVuIGl0IGNvbWVzIHRvCisjIHdoZXRoZXIgYSBzb3VyY2UgdGhhdCBpcyBhIHRhcmdldCBvZiBvbmUgcnVsZSBpcyB0aGVuCisjIHNlYXJjaGVkIGZvciBpbiBWUEFUSC9HUEFUSC4KKyMKK0dQQVRIID0gJChzcmNkaXIpCisKK1RBUkdFVF9ESVI9JChkb2NkaXIpLyQoRE9DX01PRFVMRSkKKworRElTVENMRUFORklMRVMgPQorCitFWFRSQV9ESVNUID0gCQkJCVwKKwkkKGNvbnRlbnRfZmlsZXMpCQlcCisJJChIVE1MX0lNQUdFUykJCQlcCisJJChET0NfTUFJTl9TR01MX0ZJTEUpCQlcCisJJChET0NfTU9EVUxFKS1zZWN0aW9ucy50eHQKKyMJJChET0NfTU9EVUxFKS1vdmVycmlkZXMudHh0CisKK0RPQ19TVEFNUFM9c2Nhbi1idWlsZC5zdGFtcCBzZ21sLWJ1aWxkLnN0YW1wIGh0bWwtYnVpbGQuc3RhbXAgXAorCSAgICQoc3JjZGlyKS9zZXR1cC5zdGFtcCAkKHNyY2Rpcikvc2dtbC5zdGFtcCBcCisJICAgJChzcmNkaXIpL2h0bWwuc3RhbXAKKworU0NBTk9CSl9GSUxFUyA9IAkJIFwKKwkkKERPQ19NT0RVTEUpLmFyZ3MgCSBcCisJJChET0NfTU9EVUxFKS5oaWVyYXJjaHkgIFwKKwkkKERPQ19NT0RVTEUpLmludGVyZmFjZXMgXAorCSQoRE9DX01PRFVMRSkucHJlcmVxdWlzaXRlcyBcCisJJChET0NfTU9EVUxFKS5zaWduYWxzICAgIFwKKyAgICAgICAgJChET0NfTU9EVUxFKS50eXBlcyAgICAgICAgICAgICMgdXRpbC1saW51eDogd2UgZG9uJ3QgdXNlIHR5cGVzCisKK1JFUE9SVF9GSUxFUyA9IFwKKwkkKERPQ19NT0RVTEUpLXVuZG9jdW1lbnRlZC50eHQgXAorCSQoRE9DX01PRFVMRSktdW5kZWNsYXJlZC50eHQgXAorCSQoRE9DX01PRFVMRSktdW51c2VkLnR4dAorCitDTEVBTkZJTEVTID0gJChTQ0FOT0JKX0ZJTEVTKSAkKFJFUE9SVF9GSUxFUykgJChET0NfU1RBTVBTKQorCitpZiBFTkFCTEVfR1RLX0RPQworYWxsLWxvY2FsOiBodG1sLWJ1aWxkLnN0YW1wCitlbHNlCithbGwtbG9jYWw6CitlbmRpZgorCitkb2NzOiBodG1sLWJ1aWxkLnN0YW1wCisKKyQoUkVQT1JUX0ZJTEVTKTogc2dtbC1idWlsZC5zdGFtcAorCisjIyMjIHNldHVwICMjIyMKKworc2V0dXAtYnVpbGQuc3RhbXA6CisJLUBpZiB0ZXN0ICIkKGFic19zcmNkaXIpIiAhPSAiJChhYnNfYnVpbGRkaXIpIiA7IHRoZW4gXAorCSAgIGVjaG8gJ2d0ay1kb2M6IFByZXBhcmluZyBidWlsZCc7IFwKKwkgICBmaWxlcz1gZWNobyAkKEVYVFJBX0RJU1QpICQoZXhwYW5kX2NvbnRlbnRfZmlsZXMpICQoc3JjZGlyKS8kKERPQ19NT0RVTEUpLnR5cGVzYDsgXAorCSAgIGlmIHRlc3QgIngkJGZpbGVzIiAhPSAieCIgOyB0aGVuIFwKKwkgICAgICAgZm9yIGZpbGUgaW4gJCRmaWxlcyA7IGRvIFwKKwkgICAgICAgICAgIHRlc3QgLWYgJChhYnNfc3JjZGlyKS8kJGZpbGUgJiYgXAorCSAgICAgICAgICAgICAgIGNwIC1wICQoYWJzX3NyY2RpcikvJCRmaWxlICQoYWJzX2J1aWxkZGlyKS87IFwKKwkgICAgICAgZG9uZSBcCisJICAgZmkgXAorCWZpCisJQHRvdWNoIHNldHVwLWJ1aWxkLnN0YW1wCisKKworc2V0dXAuc3RhbXA6IHNldHVwLWJ1aWxkLnN0YW1wCisJQHRydWUKKworCisjIyMjIHNjYW4gIyMjIworCitzY2FuLWJ1aWxkLnN0YW1wOiAkKEhGSUxFX0dMT0IpICQoQ0ZJTEVfR0xPQikgJChzcmNkaXIpLyQoRE9DX01PRFVMRSktKi50eHQgJChjb250ZW50X2ZpbGVzKQorCisJQHRlc3QgLWYgJChET0NfTU9EVUxFKS1zZWN0aW9ucy50eHQgfHwgXAorCQljcCAkKHNyY2RpcikvJChET0NfTU9EVUxFKS1zZWN0aW9ucy50eHQgJChidWlsZGRpcikKKworCSQoQU1fVl9HRU4pZ3RrZG9jLXNjYW4gLS1tb2R1bGU9JChET0NfTU9EVUxFKSBcCisJICAgICAgICAgICAgLS1zb3VyY2UtZGlyPSQoc3JjZGlyKS8kKERPQ19TT1VSQ0VfRElSKSBcCisJICAgICAgICAgICAgLS1zb3VyY2UtZGlyPSQoYnVpbGRkaXIpLyQoRE9DX1NPVVJDRV9ESVIpIFwKKyAgICAgICAgICAgICAgICAgICAgLS1pZ25vcmUtZGVjb3JhdG9ycz0iX191bF9hdHRyaWJ1dGVfX1woLipcKSIgXAorCSAgICAgICAgICAgIC0taWdub3JlLWhlYWRlcnM9IiQoSUdOT1JFX0hGSUxFUykiIFwKKwkgICAgICAgICAgICAtLW91dHB1dC1kaXI9JChidWlsZGRpcikgXAorCSAgICAgICAgICAgICQoU0NBTl9PUFRJT05TKSAkKEVYVFJBX0hGSUxFUykKKworCUAgaWYgZ3JlcCAtbCAnXi4uKiQkJyAkKHNyY2RpcikvJChET0NfTU9EVUxFKS50eXBlcyA+IC9kZXYvbnVsbCAyPiYxIDsgdGhlbiBcCisJICAgIENDPSIkKEdUS0RPQ19DQykiIExEPSIkKEdUS0RPQ19MRCkiIFJVTj0iJChHVEtET0NfUlVOKSIgXAorCSAgICBDRkxBR1M9IiQoR1RLRE9DX0NGTEFHUykgJChDRkxBR1MpIiBMREZMQUdTPSIkKEdUS0RPQ19MSUJTKSBcCisgICAgICAgICAgICAkKExERkxBR1MpIiBndGtkb2Mtc2NhbmdvYmogJChTQ0FOR09CSl9PUFRJT05TKSBcCisJCQktLW1vZHVsZT0kKERPQ19NT0RVTEUpIC0tb3V0cHV0LWRpcj0kKGJ1aWxkZGlyKSA7IFwKKwllbHNlIFwKKwkgICAgZm9yIGkgaW4gJChTQ0FOT0JKX0ZJTEVTKSA7IGRvIFwKKyAgICAgICAgICAgICAgIHRlc3QgLWYgJCRpIHx8IHRvdWNoICQkaSA7IFwKKwkgICAgZG9uZSBcCisJZmkKKwlAIHRvdWNoIHNjYW4tYnVpbGQuc3RhbXAKKworJChET0NfTU9EVUxFKS1kZWNsLnR4dCAkKFNDQU5PQkpfRklMRVMpICQoRE9DX01PRFVMRSktc2VjdGlvbnMudHh0ICQoRE9DX01PRFVMRSktb3ZlcnJpZGVzLnR4dDogc2Nhbi1idWlsZC5zdGFtcAorCUB0cnVlCisKKyMjIyMgdGVtcGxhdGVzICMjIyMKKyMKKyN0bXBsLWJ1aWxkLnN0YW1wOiAkKERPQ19NT0RVTEUpLWRlY2wudHh0ICQoU0NBTk9CSl9GSUxFUykgJChzcmNkaXIpLyQoRE9DX01PRFVMRSktc2VjdGlvbnMudHh0ICQoRE9DX01PRFVMRSktb3ZlcnJpZGVzLnR4dAorIwlAZWNobyAnZ3RrLWRvYzogUmVidWlsZGluZyB0ZW1wbGF0ZSBmaWxlcycKKyMJdGVzdCAteiAkKGJ1aWxkZGlyKS90bXBsIHx8ICQoTUtESVJfUCkgJChidWlsZGRpcikvdG1wbAorIwlndGtkb2MtbWt0bXBsIC0tbW9kdWxlPSQoRE9DX01PRFVMRSkgXAorIwkgICAgICAgICAgICAgICQoTUtUTVBMX09QVElPTlMpCisjCXRvdWNoIHRtcGwtYnVpbGQuc3RhbXAKKyMKKyN0bXBsLnN0YW1wOiB0bXBsLWJ1aWxkLnN0YW1wCisjCUB0cnVlCisjCisjdG1wbC8qLnNnbWw6CisjCUB0cnVlCisjCisKKyMjIyMgeG1sICMjIyMKKworc2dtbC1idWlsZC5zdGFtcDogc2V0dXAuc3RhbXAgJChIRklMRV9HTE9CKSAkKENGSUxFX0dMT0IpICQoRE9DX01PRFVMRSktZGVjbC50eHQgICQoRE9DX01PRFVMRSktc2VjdGlvbnMudHh0ICQoZXhwYW5kX2NvbnRlbnRfZmlsZXMpCisJJChBTV9WX0dFTilndGtkb2MtbWtkYiAtLW1vZHVsZT0kKERPQ19NT0RVTEUpIFwKKwkgICAgICAgICAgICAtLXNvdXJjZS1kaXI9JChzcmNkaXIpLyQoRE9DX1NPVVJDRV9ESVIpIFwKKwkgICAgICAgICAgICAtLXNvdXJjZS1kaXI9JChidWlsZGRpcikvJChET0NfU09VUkNFX0RJUikgXAorCSAgICAgICAgICAgIC0tb3V0cHV0LWZvcm1hdD14bWwgXAorCSAgICAgICAgICAgIC0taWdub3JlLWZpbGVzPSIkKElHTk9SRV9IRklMRVMpIiBcCisJICAgICAgICAgICAgLS1leHBhbmQtY29udGVudC1maWxlcz0iJChleHBhbmRfY29udGVudF9maWxlcykiIFwKKwkgICAgICAgICAgICAtLW1haW4tc2dtbC1maWxlPSQoc3JjZGlyKS8kKERPQ19NQUlOX1NHTUxfRklMRSkgXAorCSAgICAgICAgICAgICQoTUtEQl9PUFRJT05TKQorCUB0b3VjaCBzZ21sLWJ1aWxkLnN0YW1wCisKK3NnbWwuc3RhbXA6IHNnbWwtYnVpbGQuc3RhbXAKKwlAdHJ1ZQorCisjIyMjIGh0bWwgIyMjIworCitodG1sLWJ1aWxkLnN0YW1wOiBzZ21sLnN0YW1wICQoc3JjZGlyKS8kKERPQ19NQUlOX1NHTUxfRklMRSkgJChjb250ZW50X2ZpbGVzKQorCUBybSAtcmYgJChidWlsZGRpcikvaHRtbAorCUAkKE1LRElSX1ApICQoYnVpbGRkaXIpL2h0bWwKKwkkKEFNX1ZfR0VOKWNkICQoYnVpbGRkaXIpL2h0bWwgJiYgXAorCSAgZ3RrZG9jLW1raHRtbCAtLXBhdGg9IiQoYWJzX2J1aWxkZGlyKTokKGFic19idWlsZGRpcikveG1sOiQoYWJzX3NyY2RpcikiIFwKKwkgICAgICAgICAgICAgICAgJChNS0hUTUxfT1BUSU9OUykgXAorCSAgICAgICAgICAgICAgICAkKERPQ19NT0RVTEUpIFwKKwkgICAgICAgICAgICAgICAgJChhYnNfc3JjZGlyKS8kKERPQ19NQUlOX1NHTUxfRklMRSkKKworCUB0ZXN0ICJ4JChIVE1MX0lNQUdFUykiID0gIngiIHx8IFwKKwkJKCBjZCAkKHNyY2RpcikgJiYgY3AgJChIVE1MX0lNQUdFUykgJChhYnNfYnVpbGRkaXIpL2h0bWwgKQorCisJJChBTV9WX0dFTilndGtkb2MtZml4eHJlZiAtLW1vZHVsZS1kaXI9aHRtbCBcCisJICAgICAgICAgICAgICAgLS1odG1sLWRpcj0kKEhUTUxfRElSKSBcCisJICAgICAgICAgICAgICAgJChGSVhYUkVGX09QVElPTlMpCisJQHRvdWNoIGh0bWwtYnVpbGQuc3RhbXAKKworIyMjIyMjIyMjIyMjIyMKKworY2xlYW4tbG9jYWw6CisJcm0gLWYgKn4gKi5iYWsKKwlybSAtcmYgLmxpYnMKKworZGlzdGNsZWFuLWxvY2FsOgorCXJtIC1yZiB4bWwgaHRtbCAkKFJFUE9SVF9GSUxFUykgKi5zdGFtcCBcCisJICAgICAgICQoRE9DX01PRFVMRSktb3ZlcnJpZGVzLnR4dCBcCisJICAgICAgICQoRE9DX01PRFVMRSktZGVjbC1saXN0LnR4dCAkKERPQ19NT0RVTEUpLWRlY2wudHh0CisJdGVzdCAkKGFic19idWlsZGRpcikgPT0gICQoYWJzX3NyY2RpcikgfHwgXAorCSAgICAgICBybSAtZiAkKERPQ19NT0RVTEUpLSoudHh0ICQoRE9DX01PRFVMRSktKi54bWwgKi54bWwuaW4KKworaW5zdGFsbC1kYXRhLWxvY2FsOgorCWluc3RhbGxmaWxlcz1gZWNobyAkKGJ1aWxkZGlyKS9odG1sLypgOyBcCisJaWYgdGVzdCAiJCRpbnN0YWxsZmlsZXMiID0gJyQoYnVpbGRkaXIpL2h0bWwvKic7IFwKKwl0aGVuIGVjaG8gJy0tIE5vdGhpbmcgdG8gaW5zdGFsbCcgOyBcCisJZWxzZSBcCisJICBpZiB0ZXN0IC1uICIkKERPQ19NT0RVTEVfVkVSU0lPTikiOyB0aGVuIFwKKwkgICAgaW5zdGFsbGRpcj0iJChERVNURElSKSQoVEFSR0VUX0RJUiktJChET0NfTU9EVUxFX1ZFUlNJT04pIjsgXAorCSAgZWxzZSBcCisJICAgIGluc3RhbGxkaXI9IiQoREVTVERJUikkKFRBUkdFVF9ESVIpIjsgXAorCSAgZmk7IFwKKwkgICQobWtpbnN0YWxsZGlycykgJCR7aW5zdGFsbGRpcn0gOyBcCisJICBmb3IgaSBpbiAkJGluc3RhbGxmaWxlczsgZG8gXAorCSAgICBlY2hvICctLSBJbnN0YWxsaW5nICckJGkgOyBcCisJICAgICQoSU5TVEFMTF9EQVRBKSAkJGkgJCR7aW5zdGFsbGRpcn07IFwKKwkgIGRvbmU7IFwKKwkgIGlmIHRlc3QgLW4gIiQoRE9DX01PRFVMRV9WRVJTSU9OKSI7IHRoZW4gXAorCSAgICBtdiAtZiAkJHtpbnN0YWxsZGlyfS8kKERPQ19NT0RVTEUpLmRldmhlbHAyIFwKKwkgICAgICAkJHtpbnN0YWxsZGlyfS8kKERPQ19NT0RVTEUpLSQoRE9DX01PRFVMRV9WRVJTSU9OKS5kZXZoZWxwMjsgXAorCSAgICBtdiAtZiAkJHtpbnN0YWxsZGlyfS8kKERPQ19NT0RVTEUpLmRldmhlbHAgXAorCSAgICAgICQke2luc3RhbGxkaXJ9LyQoRE9DX01PRFVMRSktJChET0NfTU9EVUxFX1ZFUlNJT04pLmRldmhlbHA7IFwKKwkgIGZpOyBcCisJICAhIHdoaWNoIGd0a2RvYy1yZWJhc2UgPi9kZXYvbnVsbCAyPiYxIHx8IFwKKwkgICAgZ3RrZG9jLXJlYmFzZSAtLXJlbGF0aXZlIC0tZGVzdC1kaXI9JChERVNURElSKSAtLWh0bWwtZGlyPSQke2luc3RhbGxkaXJ9IDsgXAorCWZpCisKK3VuaW5zdGFsbC1sb2NhbDoKKwlpZiB0ZXN0IC1uICIkKERPQ19NT0RVTEVfVkVSU0lPTikiOyB0aGVuIFwKKwkgIGluc3RhbGxkaXI9IiQoREVTVERJUikkKFRBUkdFVF9ESVIpLSQoRE9DX01PRFVMRV9WRVJTSU9OKSI7IFwKKwllbHNlIFwKKwkgIGluc3RhbGxkaXI9IiQoREVTVERJUikkKFRBUkdFVF9ESVIpIjsgXAorCWZpOyBcCisJcm0gLXJmICQke2luc3RhbGxkaXJ9CisKKyMKKyMgUmVxdWlyZSBndGstZG9jIHdoZW4gbWFraW5nIGRpc3QKKyMKK2lmIEVOQUJMRV9HVEtfRE9DCitkaXN0LWNoZWNrLWd0a2RvYzoKK2Vsc2UKK2Rpc3QtY2hlY2stZ3RrZG9jOgorCUBlY2hvICIqKiogZ3RrLWRvYyBtdXN0IGJlIGluc3RhbGxlZCBhbmQgZW5hYmxlZCBpbiBvcmRlciB0byBtYWtlIGRpc3QiCisJQGZhbHNlCitlbmRpZgorCisjZGlzdC1ob29rOiBkaXN0LWNoZWNrLWd0a2RvYyBkaXN0LWhvb2stbG9jYWwgc2dtbC5zdGFtcCBodG1sLWJ1aWxkLnN0YW1wCisjCW1rZGlyICQoZGlzdGRpcikvdG1wbAorIwlta2RpciAkKGRpc3RkaXIpL3htbAorIwlta2RpciAkKGRpc3RkaXIpL2h0bWwKKyMJLWNwICQoc3JjZGlyKS90bXBsLyouc2dtbCAkKGRpc3RkaXIpL3RtcGwKKyMJLWNwICQoc3JjZGlyKS94bWwvKi54bWwgJChkaXN0ZGlyKS94bWwKKyMJY3AgJChzcmNkaXIpL2h0bWwvKiAkKGRpc3RkaXIpL2h0bWwKKyMJLWNwICQoc3JjZGlyKS8kKERPQ19NT0RVTEUpLnR5cGVzICQoZGlzdGRpcikvCisjCS1jcCAkKHNyY2RpcikvJChET0NfTU9EVUxFKS1zZWN0aW9ucy50eHQgJChkaXN0ZGlyKS8KKyMJY2QgJChkaXN0ZGlyKSAmJiBybSAtZiAkKERJU1RDTEVBTkZJTEVTKQorIwkhIHdoaWNoIGd0a2RvYy1yZWJhc2UgPi9kZXYvbnVsbCAyPiYxIHx8IFwKKyMJICBndGtkb2MtcmViYXNlIC0tb25saW5lIC0tcmVsYXRpdmUgLS1odG1sLWRpcj0kKGRpc3RkaXIpL2h0bWwKKyMKKyMuUEhPTlkgOiBkaXN0LWhvb2stbG9jYWwgZG9jcwpkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczMGYxN2MKLS0tIC9kZXYvbnVsbAorKysgYi9jb25maWd1cmUuYWMKQEAgLTAsMCArMSwyMjIwIEBACitBQ19JTklUKFt1dGlsLWxpbnV4XSwKKwltNF9lc3lzY21kKFt0b29scy9naXQtdmVyc2lvbi1nZW4gLnRhcmJhbGwtdmVyc2lvbl0pLAorCVtremFrQHJlZGhhdC5jb21dLCwKKwlbaHR0cDovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L10pCisKKworQUNfUFJFUkVRKFsyLjYwXSkKKworQUNfQ09ORklHX0FVWF9ESVIoW2NvbmZpZ10pCitBQ19DT05GSUdfTUFDUk9fRElSKFttNF0pCitkbmwgQUNfVVNFX1NZU1RFTV9FWFRFTlNJT05TIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBhbnkgbWFjcm9zIHRoYXQgcnVuCitkbmwgdGhlIGNvbXBpbGVyIChsaWtlIEFDX1BST0dfTElCVE9PTCkgdG8gYXZvaWQgYXV0b2NvbmYgZXJyb3JzLgorQUNfVVNFX1NZU1RFTV9FWFRFTlNJT05TCitBTV9JTklUX0FVVE9NQUtFKFstV2FsbCBmb3JlaWduIDEuMTAgdGFyLXBheCBkaXN0LWJ6aXAyIG5vLWRpc3QtZ3ppcCBkaXN0LXh6IC1Xbm8tcG9ydGFiaWxpdHkgc3ViZGlyLW9iamVjdHNdKQorCittNF9pZmRlZihbQU1fU0lMRU5UX1JVTEVTXSwgW0FNX1NJTEVOVF9SVUxFUyhbeWVzXSldLAorCQkJICAgIFtBQ19TVUJTVChbQU1fREVGQVVMVF9WRVJCT1NJVFldLCBbMV0pXSkKKworQUNfQ09ORklHX1NSQ0RJUihbc3lzLXV0aWxzL21vdW50LmNdKQorQUNfUFJFRklYX0RFRkFVTFQoWy91c3JdKQorCitkbmwgdmVyc2lvbiBkZXRhaWxzIGZyb20gPG1ham9yPi48bWlub3I+Wy08c3VmZml4Pl0KK1BBQ0tBR0VfVkVSU0lPTl9NQUpPUj0kKGVjaG8gJFBBQ0tBR0VfVkVSU0lPTiB8IGF3ayAtRi4gJ3twcmludCAkMX0nKQorUEFDS0FHRV9WRVJTSU9OX01JTk9SPSQoZWNobyAkUEFDS0FHRV9WRVJTSU9OIHwgYXdrIC1GLiAne3ByaW50ICQyfScgXAorCQkJCQkgICAgICB8IGF3ayAtRi0gJ3twcmludCAkMX0nKQorUEFDS0FHRV9WRVJTSU9OX1JFTEVBU0U9JChlY2hvICRQQUNLQUdFX1ZFUlNJT04gfCBhd2sgLUYuICd7CisgICAgICAgICAgICAgICAgICAgICBzdWIoIi0uKiIsIiIsJDMpOyBwcmludCAkMyB+IC9eQDw6QFswLTldQDo+QCskLyA/ICQzIDogMH0nKQorCitkbmwgbGliYmxraWQgdmVyc2lvbgorTElCQkxLSURfVkVSU0lPTj0iJFBBQ0tBR0VfVkVSU0lPTl9NQUpPUi4kUEFDS0FHRV9WRVJTSU9OX01JTk9SLiRQQUNLQUdFX1ZFUlNJT05fUkVMRUFTRSIKK0xJQkJMS0lEX0RBVEU9IjIyLUZlYi0yMDE3IgorTElCQkxLSURfTFRfTUFKT1I9MQorTElCQkxLSURfTFRfTUlOT1I9MQorTElCQkxLSURfTFRfTUlDUk89MAorTElCQkxLSURfVkVSU0lPTl9JTkZPPWBleHByICRMSUJCTEtJRF9MVF9NQUpPUiArICRMSUJCTEtJRF9MVF9NSU5PUmA6JExJQkJMS0lEX0xUX01JQ1JPOiRMSUJCTEtJRF9MVF9NSU5PUgorCitkbmwgbGlidXVpZCB2ZXJzaW9uCitMSUJVVUlEX1ZFUlNJT049IiRQQUNLQUdFX1ZFUlNJT05fTUFKT1IuJFBBQ0tBR0VfVkVSU0lPTl9NSU5PUi4kUEFDS0FHRV9WRVJTSU9OX1JFTEVBU0UiCitMSUJVVUlEX0xUX01BSk9SPTEKK0xJQlVVSURfTFRfTUlOT1I9MworTElCVVVJRF9MVF9NSUNSTz0wCitMSUJVVUlEX1ZFUlNJT05fSU5GTz1gZXhwciAkTElCVVVJRF9MVF9NQUpPUiArICRMSUJVVUlEX0xUX01JTk9SYDokTElCVVVJRF9MVF9NSUNSTzokTElCVVVJRF9MVF9NSU5PUgorCitkbmwgbGlibW91bnQgdmVyc2lvbgorTElCTU9VTlRfVkVSU0lPTj0iJFBBQ0tBR0VfVkVSU0lPTl9NQUpPUi4kUEFDS0FHRV9WRVJTSU9OX01JTk9SLiRQQUNLQUdFX1ZFUlNJT05fUkVMRUFTRSIKK0xJQk1PVU5UX0xUX01BSk9SPTEKK0xJQk1PVU5UX0xUX01JTk9SPTEKK0xJQk1PVU5UX0xUX01JQ1JPPTAKK0xJQk1PVU5UX1ZFUlNJT05fSU5GTz1gZXhwciAkTElCTU9VTlRfTFRfTUFKT1IgKyAkTElCTU9VTlRfTFRfTUlOT1JgOiRMSUJNT1VOVF9MVF9NSUNSTzokTElCTU9VTlRfTFRfTUlOT1IKKworZG5sIGxpYnNtYXJ0Y29scyB2ZXJzaW9uCitMSUJTTUFSVENPTFNfVkVSU0lPTj0iJFBBQ0tBR0VfVkVSU0lPTl9NQUpPUi4kUEFDS0FHRV9WRVJTSU9OX01JTk9SLiRQQUNLQUdFX1ZFUlNJT05fUkVMRUFTRSIKK0xJQlNNQVJUQ09MU19MVF9NQUpPUj0xCitMSUJTTUFSVENPTFNfTFRfTUlOT1I9MQorTElCU01BUlRDT0xTX0xUX01JQ1JPPTAKK0xJQlNNQVJUQ09MU19WRVJTSU9OX0lORk89YGV4cHIgJExJQlNNQVJUQ09MU19MVF9NQUpPUiArICRMSUJTTUFSVENPTFNfTFRfTUlOT1JgOiRMSUJTTUFSVENPTFNfTFRfTUlDUk86JExJQlNNQVJUQ09MU19MVF9NSU5PUgorCitkbmwgbGliZmRpc2sgdmVyc2lvbgorTElCRkRJU0tfVkVSU0lPTj0iJFBBQ0tBR0VfVkVSU0lPTl9NQUpPUi4kUEFDS0FHRV9WRVJTSU9OX01JTk9SLiRQQUNLQUdFX1ZFUlNJT05fUkVMRUFTRSIKK0xJQkZESVNLX0xUX01BSk9SPTEKK0xJQkZESVNLX0xUX01JTk9SPTEKK0xJQkZESVNLX0xUX01JQ1JPPTAKK0xJQkZESVNLX1ZFUlNJT05fSU5GTz1gZXhwciAkTElCRkRJU0tfTFRfTUFKT1IgKyAkTElCRkRJU0tfTFRfTUlOT1JgOiRMSUJGRElTS19MVF9NSUNSTzokTElCRkRJU0tfTFRfTUlOT1IKKworIyBDaGVjayB3aGV0aGVyIGV4ZWNfcHJlZml4PS91c3I6CitBU19DQVNFKFskZXhlY19wcmVmaXg6JHByZWZpeF0sCitbTk9ORTpOT05FIHwgTk9ORTovdXNyIHwgL3VzcjoqXSwKKyAgW0FDX01TR19OT1RJQ0UoW0RlZmF1bHQgLS1leGVjLXByZWZpeCBkZXRlY3RlZC5dKQorICAgQVNfQ0FTRShbJGJpbmRpcl0sICBbJyR7ZXhlY19wcmVmaXh9L2JpbiddLCAgW2JpbmRpcj0vYmluOyAgIEFDX01TR19OT1RJQ0UoWyAgLS1iaW5kaXIgZGVmYXVsdHMgdG8gL2Jpbl0pICBdKQorICAgQVNfQ0FTRShbJHNiaW5kaXJdLCBbJyR7ZXhlY19wcmVmaXh9L3NiaW4nXSwgW3NiaW5kaXI9L3NiaW47IEFDX01TR19OT1RJQ0UoWyAgLS1zYmluZGlyIGRlZmF1bHRzIHRvIC9zYmluXSldKQorICAgQVNfQ0FTRShbJGxpYmRpcl0sICBbJyR7ZXhlY19wcmVmaXh9L2xpYiddLCAgW2xpYmRpcj0vbGliOyAgIEFDX01TR19OT1RJQ0UoWyAgLS1saWJkaXIgZGVmYXVsdHMgdG8gL2xpYl0pICBdKQorICBdCispCisKK0FTX0NBU0UoWyRwcmVmaXg6JGxvY2Fsc3RhdGVkaXJdLAorICBbTk9ORTonJHtwcmVmaXh9L3ZhcicgfCAvdXNyOicke3ByZWZpeH0vdmFyJ10sCisgICAgW2xvY2Fsc3RhdGVkaXI9L3J1bgorICAgICBBQ19NU0dfTk9USUNFKFsgIC0tbG9jYWxzdGF0ZWRpciBkZWZhdWx0cyB0byAvcnVuXSkKKyAgICBdCispCitBQ19TVUJTVChbbG9jYWxzdGF0ZWRpcl0pCisKKworIyBUaGUgb3JpZ2luYWwgZGVmYXVsdCB2YWx1ZXMgb2Yge2JpbixzYmluLGxpYn1kaXIKK3VzcmJpbl9leGVjZGlyPScke2V4ZWNfcHJlZml4fS9iaW4nCitBQ19TVUJTVChbdXNyYmluX2V4ZWNkaXJdKQorCit1c3JzYmluX2V4ZWNkaXI9JyR7ZXhlY19wcmVmaXh9L3NiaW4nCitBQ19TVUJTVChbdXNyc2Jpbl9leGVjZGlyXSkKKworQVNfQ0FTRShbJGxpYmRpcl0sCisgWycke2V4ZWNfcHJlZml4fS8nKiB8ICcke3ByZWZpeH0vJyogfCAvdXNyLyogfCAiJHtwcmVmaXh9Ii8qIF0sCisgICBbdXNybGliX2V4ZWNkaXI9JGxpYmRpcl0sCisgW3VzcmxpYl9leGVjZGlyPScke2V4ZWNfcHJlZml4fSckbGliZGlyXQorKQorQUNfU1VCU1QoW3VzcmxpYl9leGVjZGlyXSkKKworCitBTV9QUk9HX0NDX0NfTworQUNfUFJPR19NS0RJUl9QCitBQ19QUk9HX0NDX1NUREMKK0FDX0NBTk9OSUNBTF9IT1NUCitBQ19DX0NPTlNUCitBQ19DX1ZPTEFUSUxFCitBQ19DX0JJR0VORElBTgorCitkbmwgQ29tcGlsZXIgd2FybmluZ3MKK1VMX1dBUk5fQUREKFstZm5vLWNvbW1vbl0pCitVTF9XQVJOX0FERChbLVdhbGxdKQorVUxfV0FSTl9BREQoWy1XZXJyb3I9c2VxdWVuY2UtcG9pbnRdKQorVUxfV0FSTl9BREQoWy1XZXh0cmFdKQorVUxfV0FSTl9BREQoWy1XZXh0cmEtc2VtaV0pCitVTF9XQVJOX0FERChbLVdlbWJlZGRlZC1kaXJlY3RpdmVdKQorVUxfV0FSTl9BREQoWy1XbWlzc2luZy1kZWNsYXJhdGlvbnNdKQorVUxfV0FSTl9BREQoWy1XbWlzc2luZy1wYXJhbWV0ZXItdHlwZV0pCitVTF9XQVJOX0FERChbLVdtaXNzaW5nLXByb3RvdHlwZXNdKQorVUxfV0FSTl9BREQoWy1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnNdKQorVUxfV0FSTl9BREQoWy1XcmVkdW5kYW50LWRlY2xzXSkKK1VMX1dBUk5fQUREKFstV3NpZ24tY29tcGFyZV0pCitVTF9XQVJOX0FERChbLVd0eXBlLWxpbWl0c10pCitVTF9XQVJOX0FERChbLVd1bmluaXRpYWxpemVkXSkKK1VMX1dBUk5fQUREKFstV3VudXNlZC1idXQtc2V0LXBhcmFtZXRlcl0pCitVTF9XQVJOX0FERChbLVd1bnVzZWQtYnV0LXNldC12YXJpYWJsZV0pCitVTF9XQVJOX0FERChbLVd1bnVzZWQtcGFyYW1ldGVyXSkKK1VMX1dBUk5fQUREKFstV3VudXNlZC1yZXN1bHRdKQorVUxfV0FSTl9BREQoWy1XdW51c2VkLXZhcmlhYmxlXSkKK1VMX1dBUk5fQUREKFstV25lc3RlZC1leHRlcm5zXSkKK1VMX1dBUk5fQUREKFstV3BvaW50ZXItYXJpdGhdKQorVUxfV0FSTl9BREQoWy1Xc3RyaWN0LXByb3RvdHlwZXNdKQorVUxfV0FSTl9BREQoWy1XZm9ybWF0LXNlY3VyaXR5XSkKK1VMX1dBUk5fQUREKFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXSkKK0FDX1NVQlNUKFtXQVJOX0NGTEFHU10pCisKK1VMX1dBUk5fQUREKFstV25vLWNsb2JiZXJlZF0sIFtCU0RfV0FSTl9DRkxBR1NdKQorQUNfU1VCU1QoW0JTRF9XQVJOX0NGTEFHU10pCitVTF9XQVJOX0FERChbLVduby11bnVzZWQtcGFyYW1ldGVyXSwgW05PX1VOVVNFRF9XQVJOX0NGTEFHU10pCitBQ19TVUJTVChbTk9fVU5VU0VEX1dBUk5fQ0ZMQUdTXSkKKworZG5sIGxpYnRvb2wtMgorTFRfSU5JVAorCitkbmwgY2hlY2sgc3VwcG9ydGVkIGxpbmtlciBmbGFncworQVhfQ0hFQ0tfVlNDUklQVAorCittNF9pZm5kZWYoW1BLR19QUk9HX1BLR19DT05GSUddLAorICBbbTRfZmF0YWwoW0NvdWxkIG5vdCBsb2NhdGUgdGhlIHBrZy1jb25maWcgYXV0b2NvbmYKKyAgICBtYWNyb3MuIFRoZXNlIGFyZSB1c3VhbGx5IGxvY2F0ZWQgaW4gL3Vzci9zaGFyZS9hY2xvY2FsL3BrZy5tNC4KKyAgICBJZiB5b3VyIG1hY3JvcyBhcmUgaW4gYSBkaWZmZXJlbnQgbG9jYXRpb24sIHRyeSBzZXR0aW5nIHRoZQorICAgIGVudmlyb25tZW50IHZhcmlhYmxlIEFMX09QVFM9Ii1JL290aGVyL21hY3JvL2RpciIgYmVmb3JlIHJ1bm5pbmcKKyAgICAuL2F1dG9nZW4uc2ggb3IgYXV0b3JlY29uZiBhZ2Fpbi5dKV0pCitQS0dfUFJPR19QS0dfQ09ORklHCisKK0dUS19ET0NfQ0hFQ0soWzEuMTBdKQorQUNfUEFUSF9QUk9HKFtYU0xUUFJPQ10sIFt4c2x0cHJvY10pCisKKworbGludXhfb3M9bm8KK2JzZF9vcz1ubworQVNfQ0FTRShbJHtob3N0X29zfV0sCisgIFsqbGludXgqXSwKKyAgICAgW2xpbnV4X29zPXllc10sCisgIFsqZGFyd2luKl0sCisgICAgIFtkYXJ3aW5fb3M9eWVzXSwKKyAgWypic2QqXSwKKyAgICAgW2JzZF9vcz15ZXNdKQorQU1fQ09ORElUSU9OQUwoW0xJTlVYXSwgW3Rlc3QgIngkbGludXhfb3MiID0geHllc10pCitBTV9DT05ESVRJT05BTChbREFSV0lOXSwgW3Rlc3QgIngkZGFyd2luX29zIiA9IHh5ZXNdKQorQU1fQ09ORElUSU9OQUwoW0JTRF0sIFt0ZXN0ICJ4JGJzZF9vcyIgPSB4eWVzXSkKKworQVNfSUYoW3Rlc3QgICJ4JGRhcndpbl9vcyIgPSB4eWVzXSwgWworICBBQ19ERUZJTkUoW19EQVJXSU5fQ19TT1VSQ0VdLCBbMV0sIFtFbmFibGUgTUFQX0FOT04gaW4gc3lzL21tYW4uaCBvbiBNYWMgT1MgWF0pCitdKQorCitkbmwgZGVmaW5lIEFSQ0hfPE5BTUU+IGNvbmRpdGlvbmFscworVUxfU0VUX0FSQ0goW0k4Nl0sIFtpPzg2LSpdKQorVUxfU0VUX0FSQ0goWzg2XzY0XSwgW3g4Nl82NCpdKQorVUxfU0VUX0FSQ0goW0lBNjRdLCBbaWE2NCpdKQorVUxfU0VUX0FSQ0goW1MzOTBdLCBbczM5MCpdKQorVUxfU0VUX0FSQ0goW1NQQVJDXSwgW3NwYXJjKl0pCitVTF9TRVRfQVJDSChbUFBDXSwgW3BwYyp8cG93ZXJwYypdKQorVUxfU0VUX0FSQ0goW002OEtdLCBbbTY4Kl0pCitVTF9TRVRfQVJDSChbTUlQU10sIFttaXBzKl0pCitVTF9TRVRfQVJDSChbSFBQQV0sIFtocHBhKnxwYXJpc2MqXSkKKworQUNfU1lTX0xBUkdFRklMRQorQUNfSEVBREVSX0FTU0VSVAorCitkbmwgRG9uJ3QgZm9yZ2V0IHRvIG1haW50YWluIGFsdGVybmF0aXZlbHkgYWxsb3dlZCB2ZXJzaW9ucyBpbiBhdXRvZ2VuLnNoIQorQU1fR05VX0dFVFRFWFRfVkVSU0lPTihbMC4xOC4zXSkKK0FNX0dOVV9HRVRURVhUKFtleHRlcm5hbF0pCisKK0FTX0lGKFt0ZXN0IC1kICIkc3JjZGlyL3BvIl0sIFsKKyAgQUxMX0xJTkdVQVM9YGNkICRzcmNkaXIvcG8gPiAvZGV2L251bGwgJiYgZWNobyAqLnBvIHwgc2VkICdzL1wucG8vL2cnYAorXSwgWworICBBTExfTElOR1VBUz0iYWYgYW0gYXIgYXMgYmUgYmcgYm5fSU4gYm4gY2EgY3MgY3kgZGEgZGUgZWwgZW5fR0IgZXMgZXQgZXVfRVMgZmEgZmkgZnIgZ2wgZ3UgaGUgaGkgaHIgaHUgaHkgaWQgaXMgaXQgamEga2Ega24ga28ga3UgbG8gbHQgbHYgbWsgbWwgbXIgbXMgbXkgbmIgbmwgbm4gbm8gbnNvIG9yIHBhIHBsIHB0X0JSIHB0IHJvIHJ1IHNpIHNrIHNsIHNxIHNyQExhdG4gc3Igc3YgdGEgdGUgdGggdHIgdWsgdXIgdmkgemhfQ04gemhfVFcgenUiCitdKQorCitBQ19DSEVDS19IRUFERVJTKFtsaW51eC9jb21waWxlci5oIGxpbnV4L2Jsa3BnLmggbGludXgvbWFqb3IuaF0sIFtdLCBbXSwgWworI2lmZGVmIEhBVkVfTElOVVhfQ09NUElMRVJfSAorI2luY2x1ZGUgPGxpbnV4L2NvbXBpbGVyLmg+CisjZW5kaWYKK10pCitBQ19DSEVDS19IRUFERVJTKFsgXAorCWFzbS9pby5oIFwKKwllcnIuaCBcCisJZXJybm8uaCBcCisJZmNudGwuaCBcCisJZ2V0b3B0LmggXAorCWludHR5cGVzLmggXAorCWxpbnV4L2J0cmZzLmggXAorCWxpbnV4L2Nkcm9tLmggXAorCWxpbnV4L2ZhbGxvYy5oIFwKKwlsaW51eC93YXRjaGRvZy5oIFwKKwlsaW51eC9mZC5oIFwKKwlsaW51eC9yYXcuaCBcCisJbGludXgvdGlvY2wuaCBcCisJbGludXgvdmVyc2lvbi5oIFwKKwlsaW51eC9zZWN1cmViaXRzLmggXAorCWxvY2FsZS5oIFwKKwltbnRlbnQuaCBcCisJbmV0L2lmLmggXAorCW5ldC9pZl9kbC5oIFwKKwluZXRpbmV0L2luLmggXAorCXBhdGhzLmggXAorCXB0eS5oIFwKKwlzZWN1cml0eS9wYW1fYXBwbC5oIFwKKwlzdGRpbnQuaCBcCisJc3RkaW9fZXh0LmggXAorCXN0ZGxpYi5oIFwKKwllbmRpYW4uaCBcCisJYnl0ZXN3YXAuaCBcCisJc3lzL2VuZGlhbi5oIFwKKwlzeXMvZGlzay5oIFwKKwlzeXMvZGlza2xhYmVsLmggXAorCXN5cy9maWxlLmggXAorCXN5cy9pby5oIFwKKwlzeXMvaW9jY29tLmggXAorCXN5cy9pb2N0bC5oIFwKKwlzeXMvbWtkZXYuaCBcCisJc3lzL21vdW50LmggXAorCXN5cy9wYXJhbS5oIFwKKwlzeXMvcHJjdGwuaCBcCisJc3lzL3Jlc291cmNlLmggXAorCXN5cy9zaWduYWxmZC5oIFwKKwlzeXMvc29ja2V0LmggXAorCXN5cy9zb2NraW8uaCBcCisJc3lzL3N0YXQuaCBcCisJc3lzL3N5c21hY3Jvcy5oIFwKKwlzeXMvc3dhcC5oIFwKKwlzeXMvc3lzY2FsbC5oIFwKKwlzeXMvdGltZS5oIFwKKwlzeXMvdGltZXguaCBcCisJc3lzL3R0eWRlZmF1bHRzLmggXAorCXN5cy90eXBlcy5oIFwKKwlzeXMvdWNyZWQuaCBcCisJc3lzL3VuLmggXAorCXVuaXN0ZC5oIFwKKwlzaGFkb3cuaCBcCisJdXRtcC5oIFwKK10pCisKK0FDX0NIRUNLX0hFQURFUlMoW2xpbnV4L2dzbW11eC5oIF0sIFtdLCBbXSwKKyBbI2lmZGVmIExJTlVYX0dTTU1VWF9ICisgICAjIGluY2x1ZGUgPGxpbnV4L2dzbW11eC5oPgorICAgI2VuZGlmCitdKQorCitBQ19DSEVDS19IRUFERVJTKFtzZWN1cml0eS9wYW1fbWlzYy5oXSwKKwkJW0FNX0NPTkRJVElPTkFMKFtIQVZFX0xJTlVYUEFNXSwgW3RydWVdKV0sCisJCVtBTV9DT05ESVRJT05BTChbSEFWRV9MSU5VWFBBTV0sIFtmYWxzZV0pXSwgWworI2lmZGVmIEhBVkVfU0VDVVJJVFlfUEFNX0FQUExfSAorI2luY2x1ZGUgPHNlY3VyaXR5L3BhbV9hcHBsLmg+CisjZW5kaWYKK10pCisKK0FDX0NIRUNLX0hFQURFUlMoW3NlY3VyaXR5L29wZW5wYW0uaF0sIFtdLCBbXSwgWworI2lmZGVmIEhBVkVfU0VDVVJJVFlfUEFNX0FQUExfSAorI2luY2x1ZGUgPHNlY3VyaXR5L3BhbV9hcHBsLmg+CisjZW5kaWYKK10pCisKK0FDX0NIRUNLX0hFQURFUlMoW2xhbmdpbmZvLmhdLAorCQlbQU1fQ09ORElUSU9OQUwoW0hBVkVfTEFOR0lORk9dLCBbdHJ1ZV0pXSwKKwkJW0FNX0NPTkRJVElPTkFMKFtIQVZFX0xBTkdJTkZPXSwgW2ZhbHNlXSldKQorCitkbmwgQ29udmVydCBzb21lIGFjX2N2X2hlYWRlcl8qIHZhcmlhYmxlcyB0byBoYXZlXyoKK2RubAoraGF2ZV9saW51eF9idHJmc19oPSRhY19jdl9oZWFkZXJfbGludXhfYnRyZnNfaAoraGF2ZV9saW51eF9yYXdfaD0kYWNfY3ZfaGVhZGVyX2xpbnV4X3Jhd19oCitoYXZlX2xpbnV4X3NlY3VyZWJpdHNfaD0kYWNfY3ZfaGVhZGVyX2xpbnV4X3NlY3VyZWJpdHNfaAoraGF2ZV9saW51eF93YXRjaGRvZ19oPSRhY19jdl9oZWFkZXJfbGludXhfd2F0Y2hkb2dfaAoraGF2ZV9zZWN1cml0eV9wYW1fYXBwbF9oPSRhY19jdl9oZWFkZXJfc2VjdXJpdHlfcGFtX2FwcGxfaAoraGF2ZV9zZWN1cml0eV9wYW1fbWlzY19oPSRhY19jdl9oZWFkZXJfc2VjdXJpdHlfcGFtX21pc2NfaAoraGF2ZV9zZWN1cml0eV9vcGVucGFtX2g9JGFjX2N2X2hlYWRlcl9zZWN1cml0eV9vcGVucGFtX2gKK2hhdmVfc2hhZG93X2g9JGFjX2N2X2hlYWRlcl9zaGFkb3dfaAoraGF2ZV9zeXNfc2lnbmFsZmRfaD0kYWNfY3ZfaGVhZGVyX3N5c19zaWduYWxmZF9oCitoYXZlX3V0bXBfaD0kYWNfY3ZfaGVhZGVyX3V0bXBfaAorCitBQ19DT01QSUxFX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKFtbCisjaW5jbHVkZSA8dGltZS5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorXV0sIFtbCisgICAgaW50IGEgPSAwOworICAgIHN0cnVjdCB0bSAqdG0gPSBsb2NhbHRpbWUoMCk7CisgICAgaWYgKGEgPT0gLTEpICAvKiBmYWxzZSAqLworCXNsZWVwKHRtLT50bV9nbXRvZmYpOworXV0pXSwKK1tBQ19ERUZJTkUoW0hBVkVfVE1fR01UT0ZGXSwgWzFdLCBbRG9lcyBzdHJ1Y3QgdG0gaGF2ZSBhIGZpZWxkIHRtX2dtdG9mZj9dKQorXSkKKworQUNfQ0hFQ0tfTUVNQkVSUyhbc3RydWN0IHRlcm1pb3MuY19saW5lXSwsLAorICAgIFtbI2luY2x1ZGUgPHRlcm1pb3MuaD5dXSkKKworQUNfQ0hFQ0tfTUVNQkVSUyhbc3RydWN0IHN0YXQuc3RfbXRpbS50dl9uc2VjXSwsLAorCVsjaW5jbHVkZSA8c3lzL3N0YXQuaD5dKQorCitBQ19DT01QSUxFX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKAorW1sKKyNpZmRlZiBIQVZFX1NZU19TV0FQX0gKKyMgaW5jbHVkZSA8c3lzL3N3YXAuaD4KKyNlbmRpZgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorXV0sCitbW3N3YXBvbigiL2Rldi9udWxsIiwgMCk7XV0pXSwKK1tBQ19ERUZJTkUoW1NXQVBPTl9IQVNfVFdPX0FSR1NdLCBbMV0sIFtJcyBzd2Fwb24oKSBkZWNsYXJlZCB3aXRoIHR3byBwYXJhbWV0ZXJzP10pCitdLAorW0FDX01TR19OT1RJQ0UoW1lvdXIgbGliYyB0aGlua3MgdGhhdCBzd2Fwb24gaGFzIDEgYXJnIG9ubHkuXSkKK10pCisKKworQUNfQ0hFQ0tfREVDTFMoW19OTF9USU1FX1dFRUtfMVNUREFZXSxbXSxbXSxbWyNpbmNsdWRlIDxsYW5naW5mby5oPl1dKQorCitBQ19DSEVDS19ERUNMKFtsbHNlZWtdLAorCVtBQ19ERUZJTkUoW0hBVkVfTExTRUVLX1BST1RPVFlQRV0sIFsxXSwKKwkJCVtEZWZpbmUgdG8gMSBpZiBoYXZlIGxsc2VlayBwcm90b3R5cGVdKV0sCisJW10sCisJWyNpbmNsdWRlIDx1bmlzdGQuaD5dKQorCitBQ19DSEVDS19ERUNMKFtsc2VlazY0XSwKKwlbQUNfREVGSU5FKFtIQVZFX0xTRUVLNjRfUFJPVE9UWVBFXSwgWzFdLAorCQkJW0RlZmluZSB0byAxIGlmIGhhdmUgbHNlZWs2NCBwcm90b3R5cGVdKV0sCisJW10sCisJWyNkZWZpbmUgX0xBUkdFRklMRV9TT1VSQ0UKKwkgI2RlZmluZSBfTEFSR0VGSUxFNjRfU09VUkNFCisJICNpbmNsdWRlIDx1bmlzdGQuaD5dKQorCitBQ19DSEVDS19ERUNMKFtlbnZpcm9uXSwKKwlbQUNfREVGSU5FKFtIQVZFX0VOVklST05fREVDTF0sIFsxXSwKKwkJW0RlZmluZSB0byAxIGlmIGhhdmUgKiplbnZpcm9uIHByb3RvdHlwZV0pXSwKKykKKworQUNfQ0hFQ0tfREVDTChbc3Ryc2lnbmFsXSwKKwlbQUNfREVGSU5FKFtIQVZFX1NUUlNJR05BTF9ERUNMXSwgWzFdLAorCQlbRGVmaW5lIHRvIDEgaWYgaGF2ZSBzdHJzaWduYWwgZnVuY3Rpb24gcHJvdG90eXBlXSldLAorKQorCitBQ19DSEVDS19ERUNMKFtUSU9DR0xDS1RSTUlPU10sCisJICAgICAgW2hhdmVfdGlvY2dsY2t0cm1pb3M9eWVzXSwgW2hhdmVfdGlvY2dsY2t0cm1pb3M9bm9dLAorICAgICAgICAgICAgICBbI2luY2x1ZGUgPHN5cy9pb2N0bC5oPl0pCitBQ19DSEVDS19ERUNMKFtTT0NLX0NMT0VYRUNdLAorCSAgICAgIFtoYXZlX3NvY2tfY2xvZXhlYz15ZXNdLCBbaGF2ZV9zb2NrX2Nsb2V4ZWM9bm9dLAorCSAgICAgIFsjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgICAgICAgICAgICAgICAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPl0pCitBQ19DSEVDS19ERUNMKFtTT0NLX05PTkJMT0NLXSwKKwkgICAgICBbaGF2ZV9zb2NrX25vbmJsb2NrPXllc10sIFtoYXZlX3NvY2tfbm9uYmxvY2s9bm9dLAorCSAgICAgIFsjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgICAgICAgICAgICAgICAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPl0pCitBQ19DSEVDS19ERUNMKFtTT19QQVNTQ1JFRF0sCisJICAgICAgW2hhdmVfc29fcGFzc2NyZWQ9eWVzXSwgW2hhdmVfc29fcGFzc2NyZWQ9bm9dLAorCSAgICAgIFsjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgICAgICAgICAgICAgICAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPl0pCisKK0FDX0NIRUNLX0ZVTkNTKFsgXAorCV9fZnBlbmRpbmcgXAorCXNlY3VyZV9nZXRlbnYgXAorCV9fc2VjdXJlX2dldGVudiBcCisJZXJyIFwKKwllcnJ4IFwKKwlmc3luYyBcCisJdXRpbWVuc2F0IFwKKwlnZXRkb21haW5uYW1lIFwKKwlnZXRkdGFibGVzaXplIFwKKwlnZXRleGVjbmFtZSBcCisJZ2V0bW50aW5mbyBcCisJZ2V0cmxpbWl0IFwKKwlnZXRzZ25hbSBcCisJaW5vdGlmeV9pbml0IFwKKwlqcmFuZDQ4IFwKKwlsY2hvd24gXAorCWxsc2VlayBcCisJbHNlZWs2NCBcCisJbWVtcGNweSBcCisJbWtvc3RlbXAgXAorCW5hbm9zbGVlcCBcCisJbnRwX2dldHRpbWUgXAorCXBlcnNvbmFsaXR5IFwKKwlwb3NpeF9mYWR2aXNlIFwKKwlwcmN0bCBcCisJcXNvcnRfciBcCisJcnBtYXRjaCBcCisJc2NhbmRpcmF0IFwKKwlzZXRwcm9nbmFtZSBcCisJc2V0cmVzZ2lkIFwKKwlzZXRyZXN1aWQgXAorCXNjaGVkX3NldGF0dHIgXAorCXNjaGVkX3NldHNjaGVkdWxlciBcCisJc2lncXVldWUgXAorCXNyYW5kb20gXAorCXN0cm5jaHIgXAorCXN0cm5kdXAgXAorCXN0cm5sZW4gXAorCXN5c2NvbmYgXAorCXN5c2luZm8gXAorCXVwZHd0bXAgXAorCXVzbGVlcCBcCisJd2FybiBcCisJd2FybnggXAorXSkKK0FDX0ZVTkNfRlNFRUtPCisKK0FDX0NIRUNLX0ZVTkNTKFtvcGVuYXQgZnN0YXRhdCB1bmxpbmthdF0sIFtoYXZlX29wZW5hdD15ZXNdLCBbaGF2ZV9vcGVuYXQ9bm9dKQorQUNfQ0hFQ0tfRlVOQ1MoW2lvcGVybSBpb3BsXSwgW2hhdmVfaW89eWVzXSkKK0FDX0NIRUNLX0ZVTkNTKFtmdXRpbWVuc10sIFtoYXZlX2Z1dGltZW5zPXllc10pCitBQ19DSEVDS19GVU5DUyhbaW5vdGlmeV9pbml0MV0sIFtoYXZlX2lub3RpZnlfaW5pdDE9eWVzXSkKK0FDX0NIRUNLX0ZVTkNTKFtvcGVuX21lbXN0cmVhbV0sIFtoYXZlX29wZW5fbWVtc3RyZWFtPXllc10sW2hhdmVfb3Blbl9tZW1zdHJlYW09bm9dKQorQUNfQ0hFQ0tfRlVOQ1MoW3JlYm9vdF0sIFtoYXZlX3JlYm9vdD15ZXNdLFtoYXZlX3JlYm9vdD1ub10pCisKK0FNX0NPTkRJVElPTkFMKFtIQVZFX09QRU5BVF0sIFt0ZXN0ICJ4JGhhdmVfb3BlbmF0IiA9IHh5ZXNdKQorCitBQ19DSEVDS19GVU5DUyhbaXNuYW5dLCBbXSwKKwlbQUNfQ0hFQ0tfTElCKFttXSwgW2lzbmFuXSwgW01BVEhfTElCUz0iLWxtIl0pXQorCVtBQ19DSEVDS19MSUIoW21dLCBbX19pc25hbl0sIFtNQVRIX0xJQlM9Ii1sbSJdKV0KKykKK0FDX1NVQlNUKFtNQVRIX0xJQlNdKQorCisKK2RubCBsaWIvbW9ub25vdGljLmMgbWF5IHJlcXVpcmUgLWxydAorQUNfQ0hFQ0tfRlVOQ1MoW2Nsb2NrX2dldHRpbWVdLCBbXSwKKwlbQUNfQ0hFQ0tfTElCKFtydF0sIFtjbG9ja19nZXR0aW1lXSwgW1JFQUxUSU1FX0xJQlM9Ii1scnQiXSldCispCisKK2hhdmVfdGltZXI9Im5vIgorQUNfQ0hFQ0tfRlVOQ1MoW3RpbWVyX2NyZWF0ZV0sCisJW2hhdmVfdGltZXI9InllcyJdLAorCVtBQ19DSEVDS19MSUIoW3J0XSwgW3RpbWVyX2NyZWF0ZV0sIFsKKwkJaGF2ZV90aW1lcj0ieWVzIgorCQlSRUFMVElNRV9MSUJTPSItbHJ0IgorCV0sWworCQlBQ19TRUFSQ0hfTElCUyhbdGltZXJfY3JlYXRlXSwgW3J0XSwgWworCQkJQUNfTVNHX1JFU1VMVCh5ZXMpCisJCQloYXZlX3RpbWVyPSJ5ZXMiCisJCQlSRUFMVElNRV9MSUJTPSItbHJ0IC1scHRocmVhZCIKKwkJXSxbXSwgWy1scHRocmVhZF0KKwkJKQorCQldKV0KKykKKworQUNfU1VCU1QoW1JFQUxUSU1FX0xJQlNdKQorCisKK0FDX0NIRUNLX0xJQihbcnRhc10sIFtydGFzX2dldF9zeXNwYXJtXSwgWworCVJUQVNfTElCUz0iLWxydGFzIgorCUFDX0RFRklORV9VTlFVT1RFRChbSEFWRV9MSUJSVEFTXSwgWzFdLCBbRGVmaW5lIGlmIGxpYnJ0YXMgZXhpc3RzXSksIFtdLAorXSkKK0FDX1NVQlNUKFtSVEFTX0xJQlNdKQorCisKK0FDX0NIRUNLX01FTUJFUihbc3RydWN0IHNvY2thZGRyLnNhX2xlbl0sCisJCUFDX0RFRklORV9VTlFVT1RFRChbSEFWRV9TQV9MRU5dLCBbMV0sIFtEZWZpbmUgaWYgc3RydWN0IHNvY2thZGRyIGNvbnRhaW5zIHNhX2xlbl0pLCBbXSwKKwlbI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorCSAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPl0pCisKK1NPQ0tFVF9MSUJTPQorQUNfU0VBUkNIX0xJQlMoW3NvY2tldF0sIFtzb2NrZXRdLAorCVtBU19JRihbdGVzdCB4IiRhY19jdl9zZWFyY2hfc29ja2V0IiAhPSB4Im5vbmUgcmVxdWlyZWQiXSwKKwkJW1NPQ0tFVF9MSUJTPSIkU09DS0VUX0xJQlMgLWxzb2NrZXQiXSkKK10pCitBQ19TVUJTVChbU09DS0VUX0xJQlNdKQorCisKK2hhdmVfZGlyZmQ9bm8KK0FDX0NIRUNLX0ZVTkNTKFtkaXJmZF0sIFtoYXZlX2RpcmZkPXllc10sIFtoYXZlX2RpcmZkPW5vXSkKK0FTX0lGKFt0ZXN0IHgiJGhhdmVfZGlyZmQiID0geG5vXSwgWworCUFDX0NIRUNLX0RFQ0xTKFtkaXJmZF0sCisJCVtoYXZlX2RpcmZkPXllc10sIFtoYXZlX2RpcmZkPW5vXSwKKwkJWyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKwkJICNpbmNsdWRlIDxkaXJlbnQuaD5dKQorXSkKKworaGF2ZV9kZGZkPW5vCitBU19JRihbdGVzdCB4IiRoYXZlX2RpcmZkIiA9IHhub10sIFsKKwlBQ19DSEVDS19NRU1CRVJTKFtESVIuZGRfZmRdLAorCQlbaGF2ZV9kZGZkPXllc10sIFtoYXZlX2RkZmQ9bm9dLAorCQlbI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorCQkgI2luY2x1ZGUgPGRpcmVudC5oPl0pCitdKQorCitBU19DQVNFKFskaGF2ZV9kaXJmZDokaGF2ZV9kZGZkXSwKKyAgW25vOm5vXSwKKyAgICBbQUNfTVNHX0VSUk9SKFtjYW5ub3QgZmluZCBhIG1ldGhvZCB0byBnZXQgZmlsZWRlc2NyaXB0b3Igb2YgZGlyZWN0b3J5XSldCispCisKKworQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lIGlzIGRlZmluZWRdKQorQUNfQ09NUElMRV9JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbWworCSNpbmNsdWRlIDxlcnJuby5oPgorXV0sIFtbCisJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUgPSAidGVzdCI7CitdXSldLCBbCisJQUNfTVNHX1JFU1VMVChbeWVzXSkKKwlBQ19ERUZJTkUoW0hBVkVfUFJPR1JBTV9JTlZPQ0FUSU9OX1NIT1JUX05BTUVdLCBbMV0sCisJCVtEZWZpbmUgaWYgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUgaXMgZGVmaW5lZF0pCitdLCBbCisJQUNfTVNHX1JFU1VMVChbbm9dKQorXSkKKworCitBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgX19wcm9nbmFtZSBpcyBkZWZpbmVkXSkKK0FDX0xJTktfSUZFTFNFKFtBQ19MQU5HX1BST0dSQU0oW2V4dGVybiBjaGFyICpfX3Byb2duYW1lO10sCisJICAgW2lmICgqX19wcm9nbmFtZSA9PSAwKSByZXR1cm4gMTtdKV0sCisJICAgQUNfREVGSU5FKFtIQVZFX19fUFJPR05BTUVdLCBbMV0sIFtEZWZpbmUgaWYgX19wcm9nbmFtZSBpcyBkZWZpbmVkXSkKKwkgICBBQ19NU0dfUkVTVUxUKFt5ZXNdKSwKKwkgICBBQ19NU0dfUkVTVUxUKFtub10pKQorCitkbmwgU3RhdGljIGNvbXBpbGF0aW9uCittNF9kZWZpbmUoW1VMX1NUQVRJQ19QUk9HUkFNU10sIFtsb3NldHVwLCBtb3VudCwgdW1vdW50LCBmZGlzaywgc2ZkaXNrLCBibGtpZCwgbnNlbnRlciwgdW5zaGFyZV0pCisKK0FDX0FSR19FTkFCTEUoW3N0YXRpYy1wcm9ncmFtc10sCisgIFtBU19IRUxQX1NUUklORyhbLS1lbmFibGUtc3RhdGljLXByb2dyYW1zPUxJU1RdLAorICAgICAgW2xpbmsgc3RhdGljIHRoZSBwcm9ncmFtcyBpbiBMSVNUIChjb21tYS1zZXBhcmF0ZWQsCisgICAgICBzdXBwb3J0ZWQgZm9yIF1tNF9kZWZuKFtVTF9TVEFUSUNfUFJPR1JBTVNdKVspXSldKQorCitBU19DQVNFKFskZW5hYmxlX3N0YXRpY19wcm9ncmFtc10sCisgIFt5ZXNdLAorICAgIFtlbmFibGVfc3RhdGljX3Byb2dyYW1zPW00X3F1b3RlKFVMX1NUQVRJQ19QUk9HUkFNUyldLAorICBbbm9dLAorICAgIFtlbmFibGVfc3RhdGljX3Byb2dyYW1zPV0KKykKKworZG5sIFNldCBhbGwgdGhlIGluZGl2aWR1YWwgQU1fQ09ORElUSU9OQUxzCittNF9mb3JlYWNoKFtVTF9QUkddLCBtNF9kZWZuKFtVTF9TVEFUSUNfUFJPR1JBTVNdKSwgWworICBBU19DQVNFKFssJGVuYWJsZV9zdGF0aWNfcHJvZ3JhbXMsXSwKKyAgIFsqLFVMX1BSRywqXSwgW3N0YXRpY19bXVVMX1BSRz15ZXNdCisgICkKKyAgQVNfSUYoW3Rlc3QgIngkc3RhdGljX1tdVUxfUFJHIiA9IHh5ZXNdLCBbQUNfTVNHX05PVElDRShbZW5hYmxlIHN0YXRpYyBidWlsZDogVUxfUFJHLl0pXSkKKyAgQU1fQ09ORElUSU9OQUwoW0hBVkVfU1RBVElDX11tNF90b3VwcGVyKFVMX1BSRyksCisgICAgW3Rlc3QgIngkc3RhdGljX1tdVUxfUFJHIiA9IHh5ZXNdKQorXSkKKworCitBQ19BUkdfRU5BQkxFKFthbGwtcHJvZ3JhbXNdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWFsbC1wcm9ncmFtc10sIFtkaXNhYmxlIGV2ZXJ5dGhpbmcsIG1pZ2h0IGJlIG92ZXJyaWRkZW4gYnkgLS1lbmFibGUtPG5hbWU+XSksCisgIFtdLCBbZW5hYmxlX2FsbF9wcm9ncmFtcz11bmRlZmluZWRdCispCisKK0FTX0NBU0UoWyRlbmFibGVfYWxsX3Byb2dyYW1zXSwKKyAgW3llc10sIFtBQ19NU0dfV0FSTihbZm9yY2UgdG8gYnVpbGQgYWxsIHByb2dyYW1zIGJ5IGRlZmF1bHRdKQorICAgICAgICAgIHVsX2RlZmF1bHRfZXN0YXRlPWNoZWNrXSwKKyAgW25vXSwgIFtBQ19NU0dfV0FSTihbZGlzYWJsZSBhbGwgcHJvZ3JhbXMgYnkgZGVmYXVsdF0pCisgICAgICAgICAgdWxfZGVmYXVsdF9lc3RhdGU9bm9dCispCisKKworQVhfQ0hFQ0tfVExTCisKK0FDX0RFRlVOKFtVTF9TQ0FORl9UWVBFX01PRElGSUVSXSwgW2RubAorIyBpbmNsdWRlIDxzdGRpby5oPgorIyBpbmNsdWRlIDxzdGRsaWIuaD4KK2ludCBtYWluKCkKK3sKKwlpbnQgaTsKKwlpbnQgcmMgPSAxOworCWNoYXIgKnM7CisJaSA9IHNzY2FuZigieCIsICQxLCAmcyk7CisJaWYgKGkgPT0gMSAgJiYgKnMgPT0gJ3gnKQorCQlyYyA9IDA7CisJZnJlZShzKTsKKwlyZXR1cm4gcmM7Cit9XSkKKworQUNfQ0FDSEVfVkFMKFtzY2FuZl9jdl9hbGxvY19tb2RpZmllcl0sCisgIEFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtVTF9TQ0FORl9UWVBFX01PRElGSUVSKFsiJW1zIl0pXSldLAorICAgIFtzY2FuZl9jdl9hbGxvY19tb2RpZmllcj1tc10sCisgICAgQUNfUlVOX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1VMX1NDQU5GX1RZUEVfTU9ESUZJRVIoWyIlYXMiXSldKV0sCisgICAgICBbc2NhbmZfY3ZfYWxsb2NfbW9kaWZpZXI9YXNdLAorICAgICAgW3NjYW5mX2N2X2FsbG9jX21vZGlmaWVyPW5vXQorICAgICkKKyAgICAsCisKKyAgICBbQUNfQ09NUElMRV9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFsKKyAgICAgI2luY2x1ZGUgPHN0ZGlvLmg+CisgICAgICNpbmNsdWRlIDx1bmlzdGQuaD4KKworICAgICAjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9fVUNMSUJDX18pCisKKyAgICAgI2lmICEoX19HTElCQ19QUkVSRVEoMiwgNykpCisgICAgICNlcnJvciAlbSBpcyBub3QgYXZhaWxhYmxlCisgICAgICNlbmRpZgorCisgICAgICNlbGlmIGRlZmluZWQoX1BPU0lYX1ZFUlNJT04pCisKKyAgICAgI2lmIF9QT1NJWF9WRVJTSU9OIDwgMjAwODA5TAorICAgICAjZXJyb3IgJW0gaXMgbm90IGF2YWlsYWJsZQorICAgICAjZW5kaWYKKworICAgICAjZWxzZQorICAgICAjZXJyb3IgWW91ciBDLWxpYnJhcnkgaXMgbm90IHN1cHBvcnRlZC4KKyAgICAgI2VuZGlmCisgICAgIF0pXSwKKyAgICBbc2NhbmZfY3ZfYWxsb2NfbW9kaWZpZXI9bXNdLAorICAgIFtzY2FuZl9jdl9hbGxvY19tb2RpZmllcj1ub10pXQorICApCispCisKK0FDX01TR19DSEVDS0lORyhbc2NhbmYgc3RyaW5nIGFsbG9jIG1vZGlmaWVyc10pCitBU19DQVNFKFskc2NhbmZfY3ZfYWxsb2NfbW9kaWZpZXJdLAorICBbbXNdLAorICAgIFtBQ19NU0dfUkVTVUxUKFsoJW1zKSB5ZXNdKQorICAgICBBQ19ERUZJTkUoW0hBVkVfU0NBTkZfTVNfTU9ESUZJRVJdLCBbMV0sIFtzY2FuZiAlbXMgbW9kaWZpZXJdKQorICAgICBoYXZlX3NjYW5mX2FsbG9jX21vZGlmaWVyPXllc10sCisgIFthc10sCisgICAgW0FDX01TR19SRVNVTFQoWyglYXMpIHllc10pCisgICAgIGhhdmVfc2NhbmZfYWxsb2NfbW9kaWZpZXI9eWVzCisgICAgIEFDX0RFRklORShbSEFWRV9TQ0FORl9BU19NT0RJRklFUl0sIFsxXSwgW3NjYW5mICVhcyBtb2RpZmllcl0pXSwKKyAgW0FDX01TR19SRVNVTFQoW25vXSkKKyAgIGhhdmVfc2NhbmZfYWxsb2NfbW9kaWZpZXI9bm9dCispCisKKworQUNfQVJHX1dJVEgoW3V0aWxdLCBBU19IRUxQX1NUUklORyhbLS13aXRob3V0LXV0aWxdLCBbY29tcGlsZSB3aXRob3V0IGxpYnV0aWxdKSwKKyAgW10sIFt3aXRoX3V0aWw9YXV0b10KKykKK0FTX0lGKFt0ZXN0ICJ4JHdpdGhfdXRpbCIgPSB4bm9dLCBbCisgIEFNX0NPTkRJVElPTkFMKFtIQVZFX1VUSUxdLCBbZmFsc2VdKQorICBoYXZlX3V0aWw9bm8KK10sIFsKKyAgVUxfQ0hFQ0tfTElCKFt1dGlsXSwgW29wZW5wdHldKQorXSkKKworCitBQ19DSEVDS19UWVBFUyhbdW5pb24gc2VtdW5dLCBbXSwgW10sIFtbCisjaW5jbHVkZSA8c3lzL3NlbS5oPgorXV0pCitBQ19DSEVDS19UWVBFUyhbbG9mZl90XSkKKworCitBQ19BUkdfRU5BQkxFKFt3aWRlY2hhcl0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtd2lkZWNoYXJdLCBbZG8gbm90IGNvbXBpbGUgd2lkZSBjaGFyYWN0ZXIgc3VwcG9ydF0pLAorICBbXSwgW2VuYWJsZV93aWRlY2hhcj1jaGVja10KKykKK1VMX0JVSUxEX0lOSVQoW3dpZGVjaGFyXSkKK1VMX1JFUVVJUkVTX0NPTVBJTEUoW3dpZGVjaGFyXSwgW1sKKyAgI2luY2x1ZGUgPHdjaGFyLmg+CisgICNpbmNsdWRlIDx3Y3R5cGUuaD4KKyAgI2luY2x1ZGUgPHN0ZGlvLmg+CisgIF1dLCBbWworICAgIHdjaGFyX3Qgd2M7CisgICAgd2ludF90IHc7CisgICAgdyA9IGZnZXR3YyhzdGRpbik7CisgICAgaWYgKHcgPT0gV0VPRikgZXhpdCgxKTsKKyAgICB3YyA9IHc7CisgICAgZnB1dHdjKHdjLHN0ZG91dCk7CisgIF1dLAorICBbd2NoYXJfdCBzdXBwb3J0XSkKKworQVNfSUYoW3Rlc3QgIngkYnVpbGRfd2lkZWNoYXIiID0geHllcyBdLCBbCisgIEFDX0RFRklORShbSEFWRV9XSURFQ0hBUl0sIFsxXSwgW0RvIHdlIGhhdmUgd2lkZSBjaGFyYWN0ZXIgc3VwcG9ydD9dKQorXSkKKworCitBQ19DSEVDS19UWVBFUyhbY3B1X3NldF90XSwgW2hhdmVfY3B1X3NldF90PXllc10sIFtdLCBbWworI2luY2x1ZGUgPHNjaGVkLmg+CitdXSkKKworQU1fQ09ORElUSU9OQUwoW0hBVkVfQ1BVX1NFVF9UXSwgW3Rlc3QgIngkaGF2ZV9jcHVfc2V0X3QiID0geHllc10pCisKK0FDX0NIRUNLX1RZUEVTKFtzaWdoYW5kbGVyX3RdLCBbXSwgW10sIFtbCisjaW5jbHVkZSA8c2lnbmFsLmg+CitdXSkKKworQUNfQ0hFQ0tfREVDTFMoW0NQVV9BTExPQ10sIFtdLCBbXSwgW1sKKyNpbmNsdWRlIDxzY2hlZC5oPgorXV0pCisKKyMgb24gU29sYXJpcywgeW91IGNhbid0IG1peCBhbmQgbWF0Y2ggc3RhbmRhcmRzLCBzaW5jZSB3ZSB1c2UgYzk5CisjIGFwYXJlbnRseSBhdCB0aGlzIHN0YWdlLCBYT1BFTl9TT1VSQ0Ugd2lsbCBjb25mbGljdC4gIEFzIHdvcmthcm91bmQsCisjIGNoZWNrIGZvciBjcnlwdC5oIGFuZCB1c2UgdGhhdCB3aXRob3V0IFhPUEVOX1NPVVJDRS4KK0FDX0NIRUNLX0hFQURFUlMoW2NyeXB0LmhdKQorQUNfTElOS19JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbWworI2lmZGVmIEhBVkVfQ1JZUFRfSAorI2luY2x1ZGUgPGNyeXB0Lmg+CisjZWxzZQorI2RlZmluZSBfWE9QRU5fU09VUkNFCisjaW5jbHVkZSA8dW5pc3RkLmg+CisjZW5kaWYKK11dLCBbWworY2hhciAqYyA9IGNyeXB0KCJhYmMiLCJwdyIpOworXV0pXSxbXSxbCisgIExJQlM9IiRMSUJTIC1sY3J5cHQiCisgIEFDX0NPTVBJTEVfSUZFTFNFKFtBQ19MQU5HX1BST0dSQU0oW1sKKyAgI2lmZGVmIEhBVkVfQ1JZUFRfSAorICAjaW5jbHVkZSA8Y3J5cHQuaD4KKyAgI2Vsc2UKKyAgI2RlZmluZSBfWE9QRU5fU09VUkNFCisgICNpbmNsdWRlIDx1bmlzdGQuaD4KKyAgI2VuZGlmCisgIF1dLCBbWworICBjaGFyICpjID0gY3J5cHQoImFiYyIsInB3Iik7CisgIF1dKV0sWworICBBQ19ERUZJTkUoW0hBVkVfTElCQ1JZUFRdLCBbMV0sIFtEbyB3ZSBuZWVkIC1sY3J5cHQ/XSkKKyAgaGF2ZV9saWJjcnlwdD15ZXMKKyAgXSxbCisgIEFDX01TR19FUlJPUihbY3J5cHQoKSBpcyBub3QgYXZhaWxhYmxlXSkKKyAgXSkKK10pCitBTV9DT05ESVRJT05BTChbSEFWRV9MSUJDUllQVF0sIFt0ZXN0ICJ4JGhhdmVfbGliY3J5cHQiID0geHllc10pCisKKworQUNfQVJHX1dJVEgoW3NlbGludXhdLAorICBBU19IRUxQX1NUUklORyhbLS13aXRoLXNlbGludXhdLCBbY29tcGlsZSB3aXRoIFNFTGludXggc3VwcG9ydF0pLAorICBbXSwgW3dpdGhfc2VsaW51eD1ub10KKykKKworQVNfSUYoW3Rlc3QgIngkd2l0aF9zZWxpbnV4IiA9IHhub10sIFsKKyAgQU1fQ09ORElUSU9OQUwoW0hBVkVfU0VMSU5VWF0sIFtmYWxzZV0pCitdLCBbCisgIFBLR19DSEVDS19NT0RVTEVTKFtTRUxJTlVYXSwgW2xpYnNlbGludXggPj0gMi4wXSwKKwlbQUNfREVGSU5FKFtIQVZFX0xJQlNFTElOVVhdLCBbMV0sIFtEZWZpbmUgaWYgU0VMaW51eCBpcyBhdmFpbGFibGVdKQorCSBVTF9QS0dfU1RBVElDKFtTRUxJTlVYX0xJQlNfU1RBVElDXSwgW2xpYnNlbGludXhdKQorCSBBTV9DT05ESVRJT05BTChbSEFWRV9TRUxJTlVYXSwgW3RydWVdKQorCSBoYXZlX3NlbGludXg9eWVzXSwKKwlbaGF2ZV9zZWxpbnV4PW5vXSkKKworICBBU19DQVNFKFskd2l0aF9zZWxpbnV4OiRoYXZlX3NlbGludXhdLAorICAgIFt5ZXM6bm9dLCBbQUNfTVNHX0VSUk9SKFtTRUxpbnV4IHNlbGVjdGVkIGJ1dCBsaWJzZWxpbnV4IG5vdCBmb3VuZCBvciB0b28gb2xkXSldCisgICkKKworICBBU19JRihbdGVzdCAieCRoYXZlX3NlbGludXgiID0geHllc10sIFsKKyAgICBVTF9TRVRfRkxBR1MoW10sIFtdLCBbJFNFTElOVVhfTElCU10pCisgICAgIyBUaGlzIGZ1bmN0aW9uIGlzIG1pc3NpbmcgaW4gb2xkIGxpYnNlbGludXggMS54eCB2ZXJzaW9ucworICAgIEFDX0NIRUNLX0ZVTkNTKFtzZWN1cml0eV9nZXRfaW5pdGlhbF9jb250ZXh0XSkKKyAgICBVTF9SRVNUT1JFX0ZMQUdTCisgIF0pCitdKQorQUNfU1VCU1QoW1NFTElOVVhfTElCU10pCitBQ19TVUJTVChbU0VMSU5VWF9MSUJTX1NUQVRJQ10pCisKKworQUNfQVJHX1dJVEgoW2F1ZGl0XSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0td2l0aC1hdWRpdF0sIFtjb21waWxlIHdpdGggYXVkaXQgc3VwcG9ydF0pLAorICBbXSwgW3dpdGhfYXVkaXQ9bm9dCispCisKK0FTX0lGKFt0ZXN0ICJ4JHdpdGhfYXVkaXQiID0geG5vXSwgWworICBBTV9DT05ESVRJT05BTChbSEFWRV9BVURJVF0sIFtmYWxzZV0pCitdLCBbCisgIFVMX0NIRUNLX0xJQihbYXVkaXRdLCBbYXVkaXRfbG9nX3VzZXJfbWVzc2FnZV0pCisgIEFTX0NBU0UoWyR3aXRoX2F1ZGl0OiRoYXZlX2F1ZGl0XSwKKyAgICBbeWVzOm5vXSwKKyAgICAgIFtBQ19NU0dfRVJST1IoW0F1ZGl0IHNlbGVjdGVkIGJ1dCBsaWJhdWRpdCBub3QgZm91bmQgKG9yIGRvZXMgbm90IHN1cHBvcnQgYXVkaXRfbG9nX3VzZXJfbWVzc2FnZSgpKV0pXQorICApCitdKQorCitBQ19BUkdfV0lUSChbdWRldl0sIEFTX0hFTFBfU1RSSU5HKFstLXdpdGhvdXQtdWRldl0sIFtjb21waWxlIHdpdGhvdXQgdWRldiBzdXBwb3J0XSksCisgIFtdLCBbd2l0aF91ZGV2PWF1dG9dCispCisKK0FTX0lGKFt0ZXN0ICJ4JHdpdGhfdWRldiIgPSB4bm9dLCBbCisgIEFNX0NPTkRJVElPTkFMKFtIQVZFX1VERVZdLCBbZmFsc2VdKQorXSwgWworICBVTF9DSEVDS19MSUIoW3VkZXZdLCBbdWRldl9uZXddKQorICBBU19DQVNFKFskd2l0aF91ZGV2OiRoYXZlX3VkZXZdLAorICAgIFt5ZXM6bm9dLAorICAgICAgW0FDX01TR19FUlJPUihbdWRldiBzZWxlY3RlZCBidXQgbGlidWRldiBub3QgZm91bmRdKV0KKyAgKQorXSkKKworCitkbmwgd2lkZS1jaGFyIG5jdXJzZXMKK0FDX0FSR19XSVRIKFtuY3Vyc2Vzd10sCisgIEFTX0hFTFBfU1RSSU5HKFstLXdpdGgtbmN1cnNlc3ddLCBbYnVpbGQgd2l0aCB3aWRlLWNoYXIgbmN1cnNlcywgZW5hYmxlZCBieSBkZWZhdWx0XSksCisgIFtdLCBbd2l0aF9uY3Vyc2Vzdz1hdXRvXQorKQoraGF2ZV9uY3Vyc2Vzdz1ubworQVNfSUYoW3Rlc3QgIngkd2l0aF9uY3Vyc2VzdyIgIT0geG5vXSwgWworICBVTF9OQ1VSU0VTX0NIRUNLKFtuY3Vyc2Vzd10pCisgIEFTX0lGKFt0ZXN0ICJ4JGhhdmVfbmN1cnNlc3ciID0geHllc10sIFsKKyAgICBBQ19ERUZJTkUoW0hBVkVfTElCTkNVUlNFU1ddLCBbMV0sIFtEZWZpbmUgaWYgbmN1cnNlc3cgbGlicmFyeSBhdmFpbGFibGVdKQorICAgIENVUlNFU19MSUJfTkFNRT0ibmN1cnNlc3ciCisgICAgQUNfQ0hFQ0tfSEVBREVSUyhbbmN1cnNlc3cvbmN1cnNlcy5oIG5jdXJzZXMuaF0pCisgIF0pCitdKQorQVNfQ0FTRShbJHdpdGhfbmN1cnNlc3c6JGhhdmVfbmN1cnNlc3ddLAorICBbeWVzOm5vXSwgW0FDX01TR19FUlJPUihbbmN1cnNlc3cgc2VsZWN0ZWQsIGJ1dCBsaWJyYXJ5IG5vdCBmb3VuZF0pXSkKKworCitkbmwgbm9uLXdpZGUgbmN1cnNlcworQUNfQVJHX1dJVEgoW25jdXJzZXNdLAorICBBU19IRUxQX1NUUklORyhbLS13aXRoLW5jdXJzZXNdLCBbYnVpbGQgd2l0aCBub24td2lkZSBuY3Vyc2VzLCBkaXNhYmxlZCBieSBkZWZhdWx0XSksCisgIFtdLCBbd2l0aF9uY3Vyc2VzPWF1dG9dCispCitoYXZlX25jdXJzZXM9bm8KKworQVNfQ0FTRShbJHdpdGhfbmN1cnNlczokYnVpbGRfd2lkZWNoYXJdLAorICBbeWVzOnllc10sIFtBQ19NU0dfRVJST1IoW3dpZGUtY2hhciBzdXBwb3J0IGVuYWJsZWQsIGJ1dCBub24td2lkZSBuY3Vyc2VzIHNlbGVjdHNdKV0pCisKK0FTX0lGKFt0ZXN0ICJ4JGhhdmVfbmN1cnNlc3ciID0geG5vIC1hICJ4JHdpdGhfbmN1cnNlcyIgIT0geG5vIF0sIFsKKyAgVUxfTkNVUlNFU19DSEVDSyhbbmN1cnNlc10pCisgIEFTX0lGKFt0ZXN0ICJ4JGhhdmVfbmN1cnNlcyIgPSB4eWVzXSwgWworICAgIEFDX0RFRklORShbSEFWRV9MSUJOQ1VSU0VTXSwgWzFdLCBbRGVmaW5lIGlmIG5jdXJzZXMgbGlicmFyeSBhdmFpbGFibGVdKQorICAgIENVUlNFU19MSUJfTkFNRT0ibmN1cnNlcyIKKyAgICBBQ19DSEVDS19IRUFERVJTKFtuY3Vyc2VzL25jdXJzZXMuaCBuY3Vyc2VzLmhdKQorICBdKQorXSkKK0FTX0NBU0UoWyR3aXRoX25jdXJzZXM6JGhhdmVfbmN1cnNlc10sCisgIFt5ZXM6bm9dLCBbQUNfTVNHX0VSUk9SKFtuY3Vyc2VzIHNlbGVjdGVkLCBidXQgbGlicmFyeSBub3QgZm91bmRdKV0pCisKK0FDX1NVQlNUKFtOQ1VSU0VTX0NGTEFHU10pCitBQ19TVUJTVChbTkNVUlNFU19MSUJTXSkKK0FNX0NPTkRJVElPTkFMKFtIQVZFX05DVVJTRVNdLCBbdGVzdCAieCRoYXZlX25jdXJzZXN3IiA9IHh5ZXMgLW8gICJ4JGhhdmVfbmN1cnNlcyIgPSB4eWVzXSkKKworCitBQ19BUkdfV0lUSChbc2xhbmddLAorICBBU19IRUxQX1NUUklORyhbLS13aXRoLXNsYW5nXSwgW2NvbXBpbGUgY2ZkaXNrIHdpdGggc2xhbmcgcmF0aGVyIHRoYW4gbmN1cnNlc10pLAorICBbXSwgW3dpdGhfc2xhbmc9bm9dCispCitoYXZlX3NsYW5nPW5vCitBU19JRihbdGVzdCAieCR3aXRoX3NsYW5nIiA9IHh5ZXNdLCBbCisgIEFDX0NIRUNLX0hFQURFUlMoW3NsYW5nLmggc2xhbmcvc2xhbmcuaF0pCisgIEFDX0NIRUNLX0hFQURFUlMoW3NsY3Vyc2VzLmggc2xhbmcvc2xjdXJzZXMuaF0sCisJCSAgIFtoYXZlX3NsYW5nPXllc10sIFtdLCBbCisjaWZkZWYgSEFWRV9TTEFOR19ICisjaW5jbHVkZSA8c2xhbmcuaD4KKyNlbGlmIGRlZmluZWQoSEFWRV9TTEFOR19TTEFOR19IKQorI2luY2x1ZGUgPHNsYW5nL3NsYW5nLmg+CisjZW5kaWYKK10pCisgIEFTX0lGKFt0ZXN0ICJ4JGhhdmVfc2xhbmciID0geG5vXSwgWworICAgIEFDX01TR19FUlJPUihbc2xhbmcgc2VsZWN0ZWQgYnV0IHNsY3Vyc2VzLmggbm90IGZvdW5kXSldLAorICAgIFtDVVJTRVNfTElCX05BTUU9c2xhbmcKKyAgXSkKK10pCitBTV9DT05ESVRJT05BTChbSEFWRV9TTEFOR10sIFt0ZXN0ICJ4JGhhdmVfc2xhbmciID0geHllc10pCisKKworQVNfSUYoW3Rlc3QgIngkaGF2ZV9zbGFuZyIgPSB4eWVzIC1vICJ4JGhhdmVfbmN1cnNlc3ciID0geHllcyAtbyAieCRoYXZlX25jdXJzZXMiID0geHllc10sIFsKKwlBQ19DSEVDS19MSUIoWyRDVVJTRVNfTElCX05BTUVdLCB1c2VfZGVmYXVsdF9jb2xvcnMsIFsKKwkJICAgICBBQ19ERUZJTkUoSEFWRV9VU0VfREVGQVVMVF9DT0xPUlMsIDEsCisJCQkgICAgICAgW0RlZmluZSBpZiBjdXJzZXMgbGlicmFyeSBoYXMgdGhlIHVzZV9kZWZhdWx0X2NvbG9ycygpLl0pCisJXSkKKwlBQ19DSEVDS19MSUIoWyRDVVJTRVNfTElCX05BTUVdLCByZXNpemV0ZXJtLCBbCisJCSAgICAgQUNfREVGSU5FKEhBVkVfUkVTSVpFVEVSTSwgMSwKKwkJCSAgICAgICBbRGVmaW5lIGlmIGN1cnNlcyBsaWJyYXJ5IGhhcyB0aGUgcmVzaXpldGVybSgpLl0pCisJXSkKK10pCisKKworQUNfQVJHX1dJVEgoW3RpbmZvXSwgQVNfSEVMUF9TVFJJTkcoWy0td2l0aG91dC10aW5mb10sIFtjb21waWxlIHdpdGhvdXQgbGlidGluZm9dKSwKKyAgW10sIFt3aXRoX3RpbmZvPWF1dG9dCispCitoYXZlX3RpbmZvPW5vCitBU19JRihbdGVzdCAieCR3aXRoX3RpbmZvIiAhPSB4bm9dLCBbCisgIGRubCBUcnkgcGtnLWNvbmZpZyBmb3IgbGlidGluZm8KKyAgUEtHX0NIRUNLX01PRFVMRVMoVElORk8sIFt0aW5mb10sIFsKKyAgICBkbmwgcGtnLWNvbmZpZyBzdWNjZXNzCisgICAgaGF2ZV90aW5mbz15ZXMKKyAgICBVTF9QS0dfU1RBVElDKFtUSU5GT19MSUJTX1NUQVRJQ10sIFt0aW5mb10pXSwgWworCisgICAgZG5sIElmIHBrZy1jb25maWcgZmFpbGVkLCBmYWxsIGJhY2sgdG8gY2xhc3NpYyBzZWFyY2hpbmcuCisgICAgQUNfQ0hFQ0tfTElCKFt0aW5mb10sIFt0Z2V0ZW50XSwgWworICAgICAgIGhhdmVfdGluZm89eWVzCisgICAgICAgVElORk9fTElCUz0iLWx0aW5mbyIKKyAgICAgICBUSU5GT19MSUJTX1NUQVRJQz0iLWx0aW5mbyIKKyAgICAgICBUSU5GT19DRkxBR1M9IiJdKQorICBdKQorXSkKK0FDX1NVQlNUKFtUSU5GT19MSUJTXSkKK0FDX1NVQlNUKFtUSU5GT19MSUJTX1NUQVRJQ10pCitBQ19TVUJTVChbVElORk9fQ0ZMQUdTXSkKK0FNX0NPTkRJVElPTkFMKFtIQVZFX1RJTkZPXSwgW3Rlc3QgIngkaGF2ZV90aW5mbyIgPSB4eWVzXSkKK0FTX0lGKFt0ZXN0ICJ4JGhhdmVfdGluZm8iID0geHllc10sIFsKKyAgQUNfREVGSU5FKEhBVkVfTElCVElORk8sIDEsIFtEZWZpbmUgaWYgbGlidGluZm8gYXZhaWxhYmxlLl0pCitdKQorCisKK0FDX0FSR19XSVRIKFtyZWFkbGluZV0sCisgIEFTX0hFTFBfU1RSSU5HKFstLXdpdGgtcmVhZGxpbmVdLCBbY29tcGlsZSB3aXRoIEdOVSBSZWFkbGluZSBzdXBwb3J0XSksCisgIFtdLCBbd2l0aF9yZWFkbGluZT1hdXRvXQorKQorCitBU19JRihbdGVzdCAieCR3aXRoX3JlYWRsaW5lIiA9IHhub10sIFsKKyAgQU1fQ09ORElUSU9OQUwoW0hBVkVfUkVBRExJTkVdLCBbZmFsc2VdKQorXSwgWworICBVTF9DSEVDS19MSUIoW3JlYWRsaW5lXSwgW3JlYWRsaW5lXSkKKyAgQVNfQ0FTRShbJHdpdGhfcmVhZGxpbmU6JGhhdmVfcmVhZGxpbmVdLAorICAgIFt5ZXM6bm9dLAorICAgICAgW0FDX01TR19FUlJPUihbcmVhZGxpbmUgc2VsZWN0ZWQgYnV0IGxpYnJlYWRsaW5lIG5vdCBmb3VuZCBdKV0sCisgICAgWyo6eWVzXSwKKyAgICAgIFtSRUFETElORV9MSUJTPSItbHJlYWRsaW5lIgorICAgICAgIFJFQURMSU5FX0xJQlNfU1RBVElDPSItbHJlYWRsaW5lICRUSU5GT19MSUJTX1NUQVRJQyJdCisgICkKK10pCitBQ19TVUJTVChbUkVBRExJTkVfTElCU10pCitBQ19TVUJTVChbUkVBRExJTkVfTElCU19TVEFUSUNdKQorCisKK0FDX0FSR19XSVRIKFt1dGVtcHRlcl0sCisgIEFTX0hFTFBfU1RSSU5HKFstLXdpdGgtdXRlbXB0ZXJdLCBbY29tcGlsZSBzY3JpcHQoMSkgd2l0aCBsaWJ1dGVtcHRlcl0pLAorICBbXSwgW3dpdGhfdXRlbXB0ZXI9bm9dCispCisKK0FTX0lGKFt0ZXN0ICJ4JHdpdGhfdXRlbXB0ZXIiID0geHllc10sIFsKKyAgVUxfQ0hFQ0tfTElCKFt1dGVtcHRlcl0sIFt1dGVtcHRlcl9hZGRfcmVjb3JkXSkKKyAgQVNfSUYoW3Rlc3QgIngkaGF2ZV91dGVtcHRlciIgPSB4bm9dLCBbCisgICAgQUNfTVNHX0VSUk9SKFt1dGVtcHRlciBzZWxlY3RlZCBidXQgbGlidXRlbXB0ZXIgbm90IGZvdW5kXSkKKyAgXSkKK10sIFsKKyAgQU1fQ09ORElUSU9OQUwoW0hBVkVfVVRFTVBURVJdLCBbZmFsc2VdKQorXSkKKworCitkbmwKK2RubCBsaWJ1dWlkCitkbmwKK0FDX0FSR19FTkFCTEUoW2xpYnV1aWRdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWxpYnV1aWRdLCBbZG8gbm90IGJ1aWxkIGxpYnV1aWQgYW5kIHV1aWQgdXRpbGl0aWVzXSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW2xpYnV1aWRdLCBbeWVzXSldCispCitVTF9CVUlMRF9JTklUKFtsaWJ1dWlkXSkKK0FDX1NVQlNUKFtMSUJVVUlEX1ZFUlNJT05dKQorQUNfU1VCU1QoW0xJQlVVSURfVkVSU0lPTl9JTkZPXSkKK0FNX0NPTkRJVElPTkFMKEJVSUxEX0xJQlVVSUQsIHRlc3QgIngkYnVpbGRfbGlidXVpZCIgPSB4eWVzKQorCitBQ19BUkdfRU5BQkxFKFtsaWJ1dWlkLWZvcmNlLXV1aWRkXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWxpYnV1aWQtZm9yY2UtdXVpZGRdLCBbc3VwcG9ydCB1dWlkZCBldmVuIHRob3VnaCB0aGUgZGFlbW9uIGlzIG5vdCBidWlsdF0pLAorICBbXSwgW2VuYWJsZV9saWJ1dWlkX2ZvcmNlX3V1aWRkPW5vXQorKQorCitBU19JRihbdGVzdCAieCRidWlsZF9saWJ1dWlkIiA9IHh5ZXNdLCBbCisgIEFDX0RFRklORShIQVZFX0xJQlVVSUQsIDEsIFtEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgLWx1dWlkLl0pCitdKQorCitkbmwKK2RubCBsaWJibGtpZAorZG5sCitBQ19BUkdfRU5BQkxFKFtsaWJibGtpZF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtbGliYmxraWRdLCBbZG8gbm90IGJ1aWxkIGxpYmJsa2lkIGFuZCBtYW55IHJlbGF0ZWQgdXRpbGl0aWVzXSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW2xpYmJsa2lkXSwgW2NoZWNrXSldCispCitVTF9CVUlMRF9JTklUKFtsaWJibGtpZF0pCitVTF9SRVFVSVJFU19IQVZFKFtsaWJibGtpZF0sIFtvcGVuYXRdLCBbb3BlbmF0IGZ1bmN0aW9uc10pCitBQ19TVUJTVChbTElCQkxLSURfREFURV0pCitBQ19TVUJTVChbTElCQkxLSURfVkVSU0lPTl0pCitBQ19TVUJTVChbTElCQkxLSURfVkVSU0lPTl9JTkZPXSkKK0FDX0RFRklORV9VTlFVT1RFRChbTElCQkxLSURfVkVSU0lPTl0sIFsiJExJQkJMS0lEX1ZFUlNJT04iXSwgW2xpYmJsa2lkIHZlcnNpb24gc3RyaW5nXSkKK0FDX0RFRklORV9VTlFVT1RFRChbTElCQkxLSURfREFURV0sIFsiJExJQkJMS0lEX0RBVEUiXSwgW2xpYmJsa2lkIGRhdGUgc3RyaW5nXSkKK0FTX0lGKFt0ZXN0ICJ4JGJ1aWxkX2xpYmJsa2lkIiA9IHh5ZXNdLCBbCisgIEFDX0RFRklORShbSEFWRV9MSUJCTEtJRF0sIFsxXSwgW0RlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSAtbGJsa2lkLl0pCitdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0xJQkJMS0lEXSwgW3Rlc3QgIngkYnVpbGRfbGliYmxraWQiID0geHllc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfTElCQkxLSURfVEVTVFNdLCBbdGVzdCAieCRidWlsZF9saWJibGtpZCIgPSB4eWVzIC1hICJ4JGVuYWJsZV9zdGF0aWMiID0geHllc10pCisKK2RubAorZG5sIGxpYm1vdW50CitkbmwKK0FDX0FSR19FTkFCTEUoW2xpYm1vdW50XSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1saWJtb3VudF0sIFtkbyBub3QgYnVpbGQgbGlibW91bnRdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbbGlibW91bnRdLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW2xpYm1vdW50XSkKK1VMX1JFUVVJUkVTX0JVSUxEKFtsaWJtb3VudF0sIFtsaWJibGtpZF0pCitVTF9SRVFVSVJFU19IQVZFKFtsaWJtb3VudF0sIFtzY2FuZl9hbGxvY19tb2RpZmllcl0sIFtzY2FuZiBzdHJpbmcgYWxsb2MgbW9kaWZpZXJdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0xJQk1PVU5UXSwgW3Rlc3QgIngkYnVpbGRfbGlibW91bnQiID0geHllc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfTElCTU9VTlRfVEVTVFNdLCBbdGVzdCAieCRidWlsZF9saWJtb3VudCIgPSB4eWVzIC1hICJ4JGVuYWJsZV9zdGF0aWMiID0geHllc10pCitBU19JRihbdGVzdCAieCRidWlsZF9saWJtb3VudCIgPSB4eWVzXSwgWworCUFDX0RFRklORShIQVZFX0xJQk1PVU5ULCAxLCBbRGVmaW5lIGlmIGxpYm1vdW50IGF2YWlsYWJsZS5dKQorXSkKKworQUNfU1VCU1QoW0xJQk1PVU5UX1ZFUlNJT05dKQorQUNfU1VCU1QoW0xJQk1PVU5UX01BSk9SX1ZFUlNJT05dLCAkUEFDS0FHRV9WRVJTSU9OX01BSk9SKQorQUNfU1VCU1QoW0xJQk1PVU5UX01JTk9SX1ZFUlNJT05dLCAkUEFDS0FHRV9WRVJTSU9OX01JTk9SKQorQUNfU1VCU1QoW0xJQk1PVU5UX1BBVENIX1ZFUlNJT05dLCAkUEFDS0FHRV9WRVJTSU9OX1JFTEVBU0UpCitBQ19TVUJTVChbTElCTU9VTlRfVkVSU0lPTl9JTkZPXSkKK0FDX0RFRklORV9VTlFVT1RFRChbTElCTU9VTlRfVkVSU0lPTl0sIFsiJExJQk1PVU5UX1ZFUlNJT04iXSwgW2xpYm1vdW50IHZlcnNpb24gc3RyaW5nXSkKKworQUNfQVJHX0VOQUJMRShbbGlibW91bnQtc3VwcG9ydC1tdGFiXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWxpYm1vdW50LXN1cHBvcnQtbXRhYl0sIFtzdXBwb3J0IC9ldGMvbXRhYiAoZGVmYXVsdCBpcyB1c2UgL3Byb2Mvc2VsZi9tb3VudGluZm8pXSksCisgIFtdLCBbZW5hYmxlX2xpYm1vdW50X3N1cHBvcnRfbXRhYj1ub10KKykKKworQVNfSUYoW3Rlc3QgIngkZW5hYmxlX2xpYm1vdW50X3N1cHBvcnRfbXRhYiIgPT0geHllc10sIFsKKyAgQUNfREVGSU5FKFtVU0VfTElCTU9VTlRfU1VQUE9SVF9NVEFCXSwgWzFdLCBbRGVmaW5lIHRvIDEgaWYgd2FudCB0byBzdXBwb3J0IG10YWIuXSkKK10pCisKKworZG5sCitkbmwgbGlic21hcnRjb2xzCitkbmwKK0FDX0FSR19FTkFCTEUoW2xpYnNtYXJ0Y29sc10sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtbGlic21hcnRjb2xzXSwgW2RvIG5vdCBidWlsZCBsaWJzbWFydGNvbHNdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbbGlic21hcnRjb2xzXSwgW3llc10pXQorKQorVUxfQlVJTERfSU5JVChbbGlic21hcnRjb2xzXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9MSUJTTUFSVENPTFNdLCBbdGVzdCAieCRidWlsZF9saWJzbWFydGNvbHMiID0geHllc10pCisKK0FDX1NVQlNUKFtMSUJTTUFSVENPTFNfVkVSU0lPTl0pCitBQ19TVUJTVChbTElCU01BUlRDT0xTX1ZFUlNJT05fSU5GT10pCitBQ19ERUZJTkVfVU5RVU9URUQoW0xJQlNNQVJUQ09MU19WRVJTSU9OXSwgWyIkTElCU01BUlRDT0xTX1ZFUlNJT04iXSwgW2xpYnNtYXJ0Y29scyB2ZXJzaW9uIHN0cmluZ10pCisKKworZG5sCitkbmwgbGliZmRpc2sKK2RubAorQUNfQVJHX0VOQUJMRShbbGliZmRpc2tdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWxpYmZkaXNrXSwgW2RvIG5vdCBidWlsZCBsaWJmZGlza10pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtsaWJmZGlza10sIFtjaGVja10pXQorKQorVUxfQlVJTERfSU5JVChbbGliZmRpc2tdKQorVUxfUkVRVUlSRVNfQlVJTEQoW2xpYmZkaXNrXSwgW2xpYnV1aWRdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0xJQkZESVNLXSwgW3Rlc3QgIngkYnVpbGRfbGliZmRpc2siID0geHllc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfTElCRkRJU0tfVEVTVFNdLCBbdGVzdCAieCRidWlsZF9saWJmZGlzayIgPSB4eWVzIC1hICJ4JGVuYWJsZV9zdGF0aWMiID0geHllc10pCisKK0FTX0lGKFt0ZXN0ICJ4JGJ1aWxkX2xpYmJsa2lkIiA9IHh5ZXNdLAorICBbTElCRkRJU0tfUENfUkVRVUlSRVM9InV1aWQgYmxraWQiXSxbTElCRkRJU0tfUENfUkVRVUlSRVM9InV1aWQiXSkKK0FDX1NVQlNUKFtMSUJGRElTS19QQ19SRVFVSVJFU10pCisKK0FDX1NVQlNUKFtMSUJGRElTS19WRVJTSU9OXSkKK0FDX1NVQlNUKFtMSUJGRElTS19NQUpPUl9WRVJTSU9OXSwgJFBBQ0tBR0VfVkVSU0lPTl9NQUpPUikKK0FDX1NVQlNUKFtMSUJGRElTS19NSU5PUl9WRVJTSU9OXSwgJFBBQ0tBR0VfVkVSU0lPTl9NSU5PUikKK0FDX1NVQlNUKFtMSUJGRElTS19QQVRDSF9WRVJTSU9OXSwgJFBBQ0tBR0VfVkVSU0lPTl9SRUxFQVNFKQorQUNfU1VCU1QoW0xJQkZESVNLX1ZFUlNJT05fSU5GT10pCitBQ19ERUZJTkVfVU5RVU9URUQoW0xJQkZESVNLX1ZFUlNJT05dLCBbIiRMSUJGRElTS19WRVJTSU9OIl0sIFtsaWJmZGlzayB2ZXJzaW9uIHN0cmluZ10pCisKKworVUxfQlVJTERfSU5JVChbZmRpc2tdLCBbY2hlY2tdKQorVUxfUkVRVUlSRVNfSEFWRShbZmRpc2tdLCBbb3BlbmF0XSwgW29wZW5hdCBmdW5jdGlvbnNdKQorVUxfUkVRVUlSRVNfQlVJTEQoW2ZkaXNrXSwgW2xpYmZkaXNrXSkKK1VMX1JFUVVJUkVTX0JVSUxEKFtmZGlza10sIFtsaWJzbWFydGNvbHNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0ZESVNLXSwgW3Rlc3QgIngkYnVpbGRfZmRpc2siID0geHllc10pCisKKworVUxfQlVJTERfSU5JVChbc2ZkaXNrXSwgW2NoZWNrXSkKK1VMX1JFUVVJUkVTX0hBVkUoW3NmZGlza10sIFtvcGVuYXRdLCBbb3BlbmF0IGZ1bmN0aW9uc10pCitVTF9SRVFVSVJFU19CVUlMRChbc2ZkaXNrXSwgW2xpYmZkaXNrXSkKK1VMX1JFUVVJUkVTX0JVSUxEKFtzZmRpc2tdLCBbbGlic21hcnRjb2xzXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9TRkRJU0tdLCBbdGVzdCAieCRidWlsZF9zZmRpc2siID0geHllc10pCisKKworVUxfQlVJTERfSU5JVChbY2ZkaXNrXSwgW2NoZWNrXSkKK1VMX1JFUVVJUkVTX0JVSUxEKFtjZmRpc2tdLCBbbGliZmRpc2tdKQorVUxfUkVRVUlSRVNfQlVJTEQoW2NmZGlza10sIFtsaWJzbWFydGNvbHNdKQorVUxfUkVRVUlSRVNfSEFWRShbY2ZkaXNrXSwgW29wZW5fbWVtc3RyZWFtXSwgW29wZW5fbWVtc3RyZWFtIGZ1bmN0aW9uXSkKK1VMX1JFUVVJUkVTX0hBVkUoW2NmZGlza10sIFtuY3Vyc2VzdyxzbGFuZyxuY3Vyc2VzXSwgW25jdXJzZXN3LCBuY3Vyc2VzIG9yIHNsYW5nIGxpYnJhcnldKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0NGRElTS10sIFt0ZXN0ICJ4JGJ1aWxkX2NmZGlzayIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFttb3VudF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtbW91bnRdLCBbZG8gbm90IGJ1aWxkIG1vdW50KDgpIGFuZCB1bW91bnQoOCldKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbbW91bnRdLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW21vdW50XSkKK1VMX1JFUVVJUkVTX0xJTlVYKFttb3VudF0pCitVTF9SRVFVSVJFU19CVUlMRChbbW91bnRdLCBbbGlibW91bnRdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX01PVU5UXSwgW3Rlc3QgIngkYnVpbGRfbW91bnQiID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShbbG9zZXR1cF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtbG9zZXR1cF0sIFtkbyBub3QgYnVpbGQgbG9zZXR1cF0pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtsb3NldHVwXSwgW2NoZWNrXSldCispCitVTF9CVUlMRF9JTklUKFtsb3NldHVwXSkKK1VMX1JFUVVJUkVTX0xJTlVYKFtsb3NldHVwXSkKK1VMX1JFUVVJUkVTX0JVSUxEKFtsb3NldHVwXSwgW2xpYnNtYXJ0Y29sc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfTE9TRVRVUF0sIFt0ZXN0ICJ4JGJ1aWxkX2xvc2V0dXAiID0geHllc10pCisKK0FDX0FSR19FTkFCTEUoW3pyYW1jdGxdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLXpyYW1jdGxdLCBbZG8gbm90IGJ1aWxkIHpyYW1jdGxdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbenJhbWN0bF0sIFtjaGVja10pXQorKQorVUxfQlVJTERfSU5JVChbenJhbWN0bF0pCitVTF9SRVFVSVJFU19MSU5VWChbenJhbWN0bF0pCitVTF9SRVFVSVJFU19CVUlMRChbenJhbWN0bF0sIFtsaWJzbWFydGNvbHNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX1pSQU1DVExdLCBbdGVzdCAieCRidWlsZF96cmFtY3RsIiA9IHh5ZXNdKQorCitBQ19BUkdfRU5BQkxFKFtmc2NrXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1mc2NrXSwgW2RvIG5vdCBidWlsZCBmc2NrXSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW2ZzY2tdLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW2ZzY2tdKQorVUxfUkVRVUlSRVNfQlVJTEQoW2ZzY2tdLCBbbGlibW91bnRdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0ZTQ0tdLCBbdGVzdCAieCRidWlsZF9mc2NrIiA9IHh5ZXNdKQorCisKK0FDX0FSR19FTkFCTEUoW3BhcnR4XSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1wYXJ0eF0sIFtkbyBub3QgYnVpbGQgYWRkcGFydCwgZGVscGFydCwgcGFydHhdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbcGFydHhdLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW3BhcnR4XSkKK1VMX1JFUVVJUkVTX0xJTlVYKFtwYXJ0eF0pCitVTF9SRVFVSVJFU19CVUlMRChbcGFydHhdLCBbbGliYmxraWRdKQorVUxfUkVRVUlSRVNfQlVJTEQoW3BhcnR4XSwgW2xpYnNtYXJ0Y29sc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfUEFSVFhdLCBbdGVzdCAieCRidWlsZF9wYXJ0eCIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFt1dWlkZF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtdXVpZGRdLCBbZG8gbm90IGJ1aWxkIHRoZSB1dWlkIGRhZW1vbl0pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFt1dWlkZF0sIFtjaGVja10pXQorKQorVUxfQlVJTERfSU5JVChbdXVpZGRdKQorVUxfUkVRVUlSRVNfQlVJTEQoW3V1aWRkXSwgW2xpYnV1aWRdKQorVUxfUkVRVUlSRVNfSEFWRShbdXVpZGRdLCBbdGltZXJdLCBbdGltZXJfY3JlYXRlIGZ1bmN0aW9uXSkKK1VMX1JFUVVJUkVTX0hBVkUoW3V1aWRkXSwgW3N5c19zaWduYWxmZF9oXSwgW3N5cy9zaWduYWxmZC5oIGhlYWRlcl0pCitBU19JRihbdGVzdCAieCRidWlsZF91dWlkZCIgPSB4eWVzIHx8IHRlc3QgIngkZW5hYmxlX2xpYnV1aWRfZm9yY2VfdXVpZGQiID09IHh5ZXMgXSwgWworICBBQ19ERUZJTkUoW0hBVkVfVVVJRERdLCBbMV0sIFtEZWZpbmUgdG8gMSBpZiB5b3Ugd2FudCB0byB1c2UgdXVpZCBkYWVtb24uXSkKK10pCitBTV9DT05ESVRJT05BTChbQlVJTERfVVVJRERdLCBbdGVzdCAieCRidWlsZF91dWlkZCIgPSB4eWVzXSkKKworCitVTF9CVUlMRF9JTklUKFt1dWlkZ2VuXSwgW2NoZWNrXSkKK1VMX1JFUVVJUkVTX0JVSUxEKFt1dWlkZ2VuXSwgW2xpYnV1aWRdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX1VVSURHRU5dLCBbdGVzdCAieCRidWlsZF91dWlkZ2VuIiA9IHh5ZXNdKQorCitVTF9CVUlMRF9JTklUKFtibGtpZF0sIFtjaGVja10pCitVTF9SRVFVSVJFU19CVUlMRChbYmxraWRdLCBbbGliYmxraWRdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0JMS0lEXSwgW3Rlc3QgIngkYnVpbGRfYmxraWQiID0geHllc10pCisKK1VMX0JVSUxEX0lOSVQoW2ZpbmRmc10sIFtjaGVja10pCitVTF9SRVFVSVJFU19CVUlMRChbZmluZGZzXSwgW2xpYmJsa2lkXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9GSU5ERlNdLCBbdGVzdCAieCRidWlsZF9maW5kZnMiID0geHllc10pCisKK1VMX0JVSUxEX0lOSVQoW3dpcGVmc10sIFtjaGVja10pCitVTF9SRVFVSVJFU19CVUlMRChbd2lwZWZzXSwgW2xpYmJsa2lkXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9XSVBFRlNdLCBbdGVzdCAieCRidWlsZF93aXBlZnMiID0geHllc10pCisKK1VMX0JVSUxEX0lOSVQoW2ZpbmRtbnRdLCBbY2hlY2tdKQorVUxfUkVRVUlSRVNfQlVJTEQoW2ZpbmRtbnRdLCBbbGlibW91bnRdKQorVUxfUkVRVUlSRVNfQlVJTEQoW2ZpbmRtbnRdLCBbbGliYmxraWRdKQorVUxfUkVRVUlSRVNfQlVJTEQoW2ZpbmRtbnRdLCBbbGlic21hcnRjb2xzXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9GSU5ETU5UXSwgW3Rlc3QgIngkYnVpbGRfZmluZG1udCIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFttb3VudHBvaW50XSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1tb3VudHBvaW50XSwgW2RvIG5vdCBidWlsZCBtb3VudHBvaW50XSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW21vdW50cG9pbnRdLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW21vdW50cG9pbnRdKQorVUxfUkVRVUlSRVNfQlVJTEQoW21vdW50cG9pbnRdLCBbbGlibW91bnRdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX01PVU5UUE9JTlRdLCBbdGVzdCAieCRidWlsZF9tb3VudHBvaW50IiA9IHh5ZXNdKQorCisKK0FDX0FSR19FTkFCTEUoW2ZhbGxvY2F0ZV0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtZmFsbG9jYXRlXSwgW2RvIG5vdCBidWlsZCBmYWxsb2NhdGVdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbZmFsbG9jYXRlXSwgW2NoZWNrXSldCispCitVTF9CVUlMRF9JTklUKFtmYWxsb2NhdGVdKQorVUxfUkVRVUlSRVNfTElOVVgoW2ZhbGxvY2F0ZV0pCitVTF9SRVFVSVJFU19TWVNDQUxMX0NIRUNLKFtmYWxsb2NhdGVdLCBbVUxfQ0hFQ0tfU1lTQ0FMTChbZmFsbG9jYXRlXSldKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0ZBTExPQ0FURV0sIFt0ZXN0ICJ4JGJ1aWxkX2ZhbGxvY2F0ZSIgPSB4eWVzXSkKKworQVNfSUYoW3Rlc3QgIngkYnVpbGRfZmFsbG9jYXRlIiA9IHh5ZXNdLCBbCisgIGRubCBjaGVjayBmb3IgdmFsaWQgZmFsbG9jYXRlKCkgZnVuY3Rpb24KKyAgZG5sIHdpdGggMzIgYml0cyBnbGliYyAyLjEwLCBmYWxsb2NhdGUoKSBleGlzdHMgYnV0IG5vdCBmYWxsb2NhdGU2NCgpCisgIGRubCB3aGVuIF9GSUxFX09GRlNFVF9CSVRTPT02NCwgZmFsbG9jYXRlKCkgaXMgcmVkaXJlY3QgdG8gZmFsbG9jYXRlNjQoKQorICBkbmwgYW5kIHByb2dyYW0gY2FuJ3QgYmUgbGlua2VkLgorICBkbmwgQUNfQ0hFQ0tfRlVOQyBjYW4ndCBjYXRjaCBzdWNoIGVycm9ycyBzaW5jZSBpdCdzIHJlZGVmaW5pbmcKKyAgZG5sIGZ1bmN0aW9uIHByb3RvdHlwZS4KKyAgQUNfTVNHX0NIRUNLSU5HKFtmb3IgdmFsaWQgZmFsbG9jYXRlKCkgZnVuY3Rpb25dKQorICBBQ19MSU5LX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKFtbCisjaWZkZWYgSEFWRV9VTklTVERfSAorIyBpbmNsdWRlIDx1bmlzdGQuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKKyMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX0xJTlVYX0ZBTExPQ19ICisjIGluY2x1ZGUgPGxpbnV4L2ZhbGxvYy5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9GQ05UTF9ICisjIGluY2x1ZGUgPGZjbnRsLmg+CisjZW5kaWYKK11dLFtbCisgICBsb25nIHJldDsKKyAgIHJldCA9IGZhbGxvY2F0ZSgwLCBGQUxMT0NfRkxfS0VFUF9TSVpFLCAweGZmZmZmZmZmdWwsIDB4ZmZmZmZmZmZ1bCk7CisgICBpZiAocmV0ICE9IDApIHsKKyAgICAgIHJldHVybiAxOworICAgfQorICAgXV0pXSxbCisgIEFDX01TR19SRVNVTFQoW3llc10pCisgIEFDX0RFRklORShbSEFWRV9GQUxMT0NBVEVdLCBbMV0sIFtIYXZlIHZhbGlkIGZhbGxvY2F0ZSgpIGZ1bmN0aW9uXSldLFsKKyAgQUNfTVNHX1JFU1VMVChbbm9dKV0pCitdKQorCisKK0FDX0FSR19FTkFCTEUoW3Vuc2hhcmVdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLXVuc2hhcmVdLCBbZG8gbm90IGJ1aWxkIHVuc2hhcmVdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbdW5zaGFyZV0sIFtjaGVja10pXQorKQorVUxfQlVJTERfSU5JVChbdW5zaGFyZV0pCitVTF9SRVFVSVJFU19MSU5VWChbdW5zaGFyZV0pCitVTF9SRVFVSVJFU19TWVNDQUxMX0NIRUNLKFt1bnNoYXJlXSwgW1VMX0NIRUNLX1NZU0NBTEwoW3Vuc2hhcmVdKV0pCitBTV9DT05ESVRJT05BTChbQlVJTERfVU5TSEFSRV0sIFt0ZXN0ICJ4JGJ1aWxkX3Vuc2hhcmUiID0geHllc10pCitBQ19DSEVDS19GVU5DUyhbdW5zaGFyZV0pCisKK0FDX0FSR19FTkFCTEUoW25zZW50ZXJdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLW5zZW50ZXJdLCBbZG8gbm90IGJ1aWxkIG5zZW50ZXJdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbbnNlbnRlcl0sIFtjaGVja10pXQorKQorVUxfQlVJTERfSU5JVChbbnNlbnRlcl0pCitVTF9SRVFVSVJFU19MSU5VWChbbnNlbnRlcl0pCitVTF9SRVFVSVJFU19TWVNDQUxMX0NIRUNLKFtuc2VudGVyXSwgW1VMX0NIRUNLX1NZU0NBTEwoW3NldG5zXSldLCBbc2V0bnNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX05TRU5URVJdLCBbdGVzdCAieCRidWlsZF9uc2VudGVyIiA9IHh5ZXNdKQorQUNfQ0hFQ0tfRlVOQ1MoW3NldG5zXSkKKworCitBQ19BUkdfV0lUSChbY2FwX25nXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0td2l0aG91dC1jYXAtbmddLCBbY29tcGlsZSB3aXRob3V0IGxpYmNhcC1uZ10pLAorICBbXSwgW3dpdGhfY2FwX25nPWF1dG9dCispCitBU19JRihbdGVzdCAieCR3aXRoX2NhcF9uZyIgPSB4bm9dLCBbCisgIEFNX0NPTkRJVElPTkFMKFtIQVZFX0NBUF9OR10sIFtmYWxzZV0pCisgIGhhdmVfY2FwX25nPW5vCitdLFsKKyAgVUxfQ0hFQ0tfTElCKFtjYXAtbmddLCBbY2FwbmdfYXBwbHldLCBbY2FwX25nXSkKK10pCisKKworQUNfQVJHX0VOQUJMRShbc2V0cHJpdl0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtc2V0cHJpdl0sIFtkbyBub3QgYnVpbGQgc2V0cHJpdl0pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtzZXRwcml2XSwgW2NoZWNrXSldCispCitVTF9CVUlMRF9JTklUKFtzZXRwcml2XSkKK1VMX1JFUVVJUkVTX0xJTlVYKFtzZXRwcml2XSkKK1VMX1JFUVVJUkVTX0hBVkUoW3NldHByaXZdLCBbbGludXhfc2VjdXJlYml0c19oXSwgW3NlY3VyZWJpdHMuaCBoZWFkZXIgZmlsZV0pCitVTF9SRVFVSVJFU19IQVZFKFtzZXRwcml2XSwgW2NhcF9uZ10sIFtsaWJjYXAtbmcgbGlicmFyeV0pCitBTV9DT05ESVRJT05BTChbQlVJTERfU0VUUFJJVl0sIFt0ZXN0ICJ4JGJ1aWxkX3NldHByaXYiID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShbZWplY3RdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWVqZWN0XSwgW2RvIG5vdCBidWlsZCBlamVjdF0pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtlamVjdF0sIFtjaGVja10pXQorKQorVUxfQlVJTERfSU5JVChbZWplY3RdKQorVUxfUkVRVUlSRVNfTElOVVgoW2VqZWN0XSkKK1VMX1JFUVVJUkVTX0JVSUxEKFtlamVjdF0sIFtsaWJtb3VudF0pCitBTV9DT05ESVRJT05BTChbQlVJTERfRUpFQ1RdLCBbdGVzdCAieCRidWlsZF9lamVjdCIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFthZ2V0dHldLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWFnZXR0eV0sIFtkbyBub3QgYnVpbGQgYWdldHR5XSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW2FnZXR0eV0sIFtjaGVja10pXQorKQorVUxfQlVJTERfSU5JVChbYWdldHR5XSkKK1VMX1JFUVVJUkVTX0hBVkUoW2FnZXR0eV0sIFt1dG1wX2hdLCBbdXRtcC5oIGhlYWRlcl0pCitBTV9DT05ESVRJT05BTChbQlVJTERfQUdFVFRZXSwgW3Rlc3QgIngkYnVpbGRfYWdldHR5IiA9IHh5ZXNdKQorQVNfSUYoW3Rlc3QgIngkaGF2ZV9mdXRpbWVucyIgPSB4eWVzIC1hICJ4JGhhdmVfaW5vdGlmeV9pbml0MSIgPSB4eWVzIF0sIFsKKyAgQUNfREVGSU5FKFtBR0VUVFlfUkVMT0FEXSwgWzFdLCBbRW5hYmxlIGFnZXR0eSAtLXJlbG9hZCBmZWF0dXJlXSkKK10sWworICBBQ19NU0dfV0FSTihbZnV0aW1lbnMgb3IgaW5vdGlmeV9pbml0MSBub3QgZm91bmQ7IGFnZXR0eSg4KSB3aWxsIG5vdCBwcm92aWRlIC0tLXJlbG9hZCBmdW5jdGlvbmFsaXR5XSkKK10pCisKKworQUNfQVJHX0VOQUJMRShbcGx5bW91dGhfc3VwcG9ydF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtcGx5bW91dGhfc3VwcG9ydF0sIFtkb24gbm90IGNhcmUgYWJvdXQgcGx5bW91dGggaW4gc3lsb2dpbig4KSBhbmQgYWdldHR5KDgpXSksCisgIFtdLCBbZW5hYmxlX3BseW1vdXRoX3N1cHBvcnQ9Y2hlY2tdCispCitVTF9CVUlMRF9JTklUKFtwbHltb3V0aF9zdXBwb3J0XSkKK1VMX1JFUVVJUkVTX0hBVkUoW3BseW1vdXRoX3N1cHBvcnRdLCBbdGlvY2dsY2t0cm1pb3NdLCBbVElPQ0dMQ0tUUk1JT1MgZmxhZ10pCitVTF9SRVFVSVJFU19IQVZFKFtwbHltb3V0aF9zdXBwb3J0XSwgW3NvY2tfY2xvZXhlY10sIFtTT0NLX0NMT0VYRUMgZmxhZ10pCitVTF9SRVFVSVJFU19IQVZFKFtwbHltb3V0aF9zdXBwb3J0XSwgW3NvY2tfbm9uYmxvY2tdLCBbU09DS19OT05CTE9DSyBmbGFnXSkKK1VMX1JFUVVJUkVTX0hBVkUoW3BseW1vdXRoX3N1cHBvcnRdLCBbc29fcGFzc2NyZWRdLCBbU09fUEFTU0NSRUQgZmxhZ10pCitBTV9DT05ESVRJT05BTChbVVNFX1BMWU1PVVRIX1NVUFBPUlRdLCBbdGVzdCAieCRidWlsZF9wbHltb3V0aF9zdXBwb3J0IiA9IHh5ZXNdKQorQVNfSUYoW3Rlc3QgIngkYnVpbGRfcGx5bW91dGhfc3VwcG9ydCIgPSB4eWVzIF0sIFsKKyAgICBBQ19ERUZJTkUoW1VTRV9QTFlNT1VUSF9TVVBQT1JUXSwgWzFdLCBbRW5hYmxlIHBseW1vdXRoIHN1cHBvcnQgZmVhdHVyZSBmb3Igc3Vsb2dpbiBhbmQgYWdnZXR5XSkKK10pCisKKworQUNfQVJHX1dJVEgoW2xpYnpdLAorICBBU19IRUxQX1NUUklORyhbLS13aXRob3V0LWxpYnpdLCBbY29tcGlsZSB3aXRob3V0IGxpYnpdKSwKKyAgW10sIFt3aXRoX2xpYno9YXV0b10KKykKK0FTX0lGKFt0ZXN0ICJ4JHdpdGhfbGlieiIgPSB4bm9dLCBbaGF2ZV96PW5vXSwgWworICBBQ19DSEVDS19MSUIoW3pdLCBbY3JjMzJdLCBbaGF2ZV96PXllc10sIFtoYXZlX3o9bm9dKQorXSkKKworCitBQ19BUkdfRU5BQkxFKFtjcmFtZnNdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWNyYW1mc10sIFtkbyBub3QgYnVpbGQgZnNjay5jcmFtZnMsIG1rZnMuY3JhbWZzXSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW2NyYW1mc10sIFtjaGVja10pXQorKQorVUxfQlVJTERfSU5JVChbY3JhbWZzXSkKK1VMX1JFUVVJUkVTX0hBVkUoW2NyYW1mc10sIFt6XSwgW3ogbGlicmFyeV0pCitBTV9DT05ESVRJT05BTChbQlVJTERfQ1JBTUZTXSwgW3Rlc3QgIngkYnVpbGRfY3JhbWZzIiA9IHh5ZXNdKQorCisKK0FDX0FSR19FTkFCTEUoW2Jmc10sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtYmZzXSwgW2RvIG5vdCBidWlsZCBta2ZzLmJmc10pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtiZnNdLCBbeWVzXSldCispCitVTF9CVUlMRF9JTklUKFtiZnNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0JGU10sIFt0ZXN0ICJ4JGJ1aWxkX2JmcyIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFttaW5peF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtbWluaXhdLCBbZG8gbm90IGJ1aWxkIGZzY2subWluaXgsIG1rZnMubWluaXhdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbbWluaXhdLCBbeWVzXSldCispCitVTF9CVUlMRF9JTklUKFttaW5peF0pCitBTV9DT05ESVRJT05BTChbQlVJTERfTUlOSVhdLCBbdGVzdCAieCRidWlsZF9taW5peCIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFtmZGZvcm1hdF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtZmRmb3JtYXRdLCBbZG8gbm90IGJ1aWxkIGZkZm9ybWF0XSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW2ZkZm9ybWF0XSwgW2NoZWNrXSldCispCitVTF9CVUlMRF9JTklUKFtmZGZvcm1hdF0pCitVTF9SRVFVSVJFU19MSU5VWChbZmRmb3JtYXRdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0ZERk9STUFUXSwgW3Rlc3QgIngkYnVpbGRfZmRmb3JtYXQiID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShbaHdjbG9ja10sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtaHdjbG9ja10sIFtkbyBub3QgYnVpbGQgaHdjbG9ja10pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtod2Nsb2NrXSwgW2NoZWNrXSldCispCitoYXZlX2xpbnV4ZHVtbXk9JGxpbnV4X29zCisKK1VMX0JVSUxEX0lOSVQoW2h3Y2xvY2tdKQorVUxfUkVRVUlSRVNfSEFWRShbaHdjbG9ja10sIFtpbywgbGludXhkdW1teV0sIFtpb3Blcm0gaW9wbCBmdW5jdGlvbiBvciBMaW51eF0pCitBTV9DT05ESVRJT05BTChbQlVJTERfSFdDTE9DS10sIFt0ZXN0ICJ4JGJ1aWxkX2h3Y2xvY2siID0geHllc10pCisKKworVUxfQlVJTERfSU5JVChbbWtmc10sIFt5ZXNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX01LRlNdLCBbdGVzdCAieCRidWlsZF9ta2ZzIiA9IHh5ZXNdKQorCitVTF9CVUlMRF9JTklUKFtpc29zaXplXSwgW3llc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfSVNPU0laRV0sIFt0ZXN0ICJ4JGJ1aWxkX2lzb3NpemUiID0geHllc10pCisKKworVUxfQlVJTERfSU5JVChbZnN0cmltXSwgW2NoZWNrXSkKK1VMX1JFUVVJUkVTX0xJTlVYKFtmc3RyaW1dKQorVUxfUkVRVUlSRVNfQlVJTEQoW2ZzdHJpbV0sIFtsaWJtb3VudF0pCitBTV9DT05ESVRJT05BTChbQlVJTERfRlNUUklNXSwgW3Rlc3QgIngkYnVpbGRfZnN0cmltIiA9IHh5ZXNdKQorCisKK1VMX0JVSUxEX0lOSVQoW3N3YXBvbl0sIFtjaGVja10pCitVTF9SRVFVSVJFU19MSU5VWChbc3dhcG9uXSkKK1VMX1JFUVVJUkVTX0JVSUxEKFtzd2Fwb25dLCBbbGliYmxraWRdKQorVUxfUkVRVUlSRVNfQlVJTEQoW3N3YXBvbl0sIFtsaWJtb3VudF0pCitVTF9SRVFVSVJFU19CVUlMRChbc3dhcG9uXSwgW2xpYnNtYXJ0Y29sc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfU1dBUE9OXSwgW3Rlc3QgIngkYnVpbGRfc3dhcG9uIiA9IHh5ZXNdKQorCisKK1VMX0JVSUxEX0lOSVQoW2xzYmxrXSwgW2NoZWNrXSkKK1VMX1JFUVVJUkVTX0xJTlVYKFtsc2Jsa10pCitVTF9SRVFVSVJFU19CVUlMRChbbHNibGtdLCBbbGliYmxraWRdKQorVUxfUkVRVUlSRVNfQlVJTEQoW2xzYmxrXSwgW2xpYm1vdW50XSkKK1VMX1JFUVVJUkVTX0JVSUxEKFtsc2Jsa10sIFtsaWJzbWFydGNvbHNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0xTQkxLXSwgW3Rlc3QgIngkYnVpbGRfbHNibGsiID0geHllc10pCisKKworVUxfQlVJTERfSU5JVChbbHNjcHVdLCBbY2hlY2tdKQorVUxfUkVRVUlSRVNfTElOVVgoW2xzY3B1XSkKK1VMX1JFUVVJUkVTX0JVSUxEKFtsc2NwdV0sIFtsaWJzbWFydGNvbHNdKQorVUxfUkVRVUlSRVNfSEFWRShbbHNjcHVdLCBbY3B1X3NldF90XSwgW2NwdV9zZXRfdCB0eXBlXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9MU0NQVV0sIFt0ZXN0ICJ4JGJ1aWxkX2xzY3B1IiA9IHh5ZXNdKQorCisKK0FDX0FSR19FTkFCTEUoW2xzbG9naW5zXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1sc2xvZ2luc10sIFtkbyBub3QgYnVpbGQgbHNsb2dpbnNdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbbHNsb2dpbnNdLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW2xzbG9naW5zXSkKK1VMX1JFUVVJUkVTX0JVSUxEKFtsc2xvZ2luc10sIFtsaWJzbWFydGNvbHNdKQorVUxfUkVRVUlSRVNfSEFWRShbbHNsb2dpbnNdLCBbc2hhZG93X2hdLCBbc2hhZG93LmggaGVhZGVyXSkKK1VMX1JFUVVJUkVTX0hBVkUoW2xzbG9naW5zXSwgW3V0bXBfaF0sIFt1dG1wLmggaGVhZGVyXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9MU0xPR0lOU10sIFt0ZXN0ICJ4JGJ1aWxkX2xzbG9naW5zIiA9IHh5ZXNdKQorCisKK1VMX0JVSUxEX0lOSVQoW2NoY3B1XSwgW2NoZWNrXSkKK1VMX1JFUVVJUkVTX0xJTlVYKFtjaGNwdV0pCitVTF9SRVFVSVJFU19IQVZFKFtjaGNwdV0sIFtjcHVfc2V0X3RdLCBbY3B1X3NldF90IHR5cGVdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0NIQ1BVXSwgW3Rlc3QgIngkYnVpbGRfY2hjcHUiID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShbd2RjdGxdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLXdkY3RsXSwgW2RvIG5vdCBidWlsZCB3ZGN0bF0pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFt3ZGN0bF0sIFtjaGVja10pXQorKQorVUxfQlVJTERfSU5JVChbd2RjdGxdKQorVUxfUkVRVUlSRVNfTElOVVgoW3dkY3RsXSkKK1VMX1JFUVVJUkVTX0JVSUxEKFt3ZGN0bF0sIFtsaWJzbWFydGNvbHNdKQorVUxfUkVRVUlSRVNfSEFWRShbd2RjdGxdLCBbbGludXhfd2F0Y2hkb2dfaF0sIFtsaW51eC93YXRjaGRvZy5oIGhlYWRlciBmaWxlXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9XRENUTF0sIFt0ZXN0ICJ4JGJ1aWxkX3dkY3RsIiA9IHh5ZXNdKQorCisKK1VMX0JVSUxEX0lOSVQoW3N3YXBsYWJlbF0sIFtjaGVja10pCitVTF9SRVFVSVJFU19CVUlMRChbc3dhcGxhYmVsXSwgW2xpYmJsa2lkXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9TV0FQTEFCRUxdLCBbdGVzdCAieCRidWlsZF9zd2FwbGFiZWwiID0geHllc10pCisKKworVUxfQlVJTERfSU5JVChbbWtzd2FwXSwgW3llc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfTUtTV0FQXSwgW3Rlc3QgIngkYnVpbGRfbWtzd2FwIiA9IHh5ZXNdKQorQVNfSUYoW3Rlc3QgIngkYnVpbGRfbWtzd2FwIiA9IHh5ZXMgLWEgIngkYnVpbGRfbGlidXVpZCIgIT0geHllc10sIFsKKyAgQUNfTVNHX1dBUk4oW3V1aWQgbGlicmFyeSBpcyBub3QgZm91bmQ7IG1rc3dhcCg4KSB3aWxsIG5vdCBnZW5lcmF0ZSBVVUlEc10pCitdKQorCisKK0FDX0FSR19FTkFCTEUoW2NhbF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtY2FsXSwgW2RvIG5vdCBidWlsZCBjYWxdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbY2FsXSwgW2NoZWNrXSldCispCitVTF9CVUlMRF9JTklUKFtjYWxdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0NBTF0sIFt0ZXN0ICJ4JGJ1aWxkX2NhbCIgPSB4eWVzXSkKKworQUNfQVJHX0VOQUJMRShbbG9nZ2VyXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1sb2dnZXJdLCBbZG8gbm90IGJ1aWxkIGxvZ2dlcl0pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtsb2dnZXJdLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW2xvZ2dlcl0pCitBTV9DT05ESVRJT05BTChbQlVJTERfTE9HR0VSXSwgW3Rlc3QgIngkYnVpbGRfbG9nZ2VyIiA9IHh5ZXNdKQorCitVTF9CVUlMRF9JTklUKFtsb29rXSwgW3llc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfTE9PS10sIFt0ZXN0ICJ4JGJ1aWxkX2xvb2siID0geHllc10pCisKK1VMX0JVSUxEX0lOSVQoW21jb29raWVdLCBbeWVzXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9NQ09PS0lFXSwgW3Rlc3QgIngkYnVpbGRfbWNvb2tpZSIgPSB4eWVzXSkKKworVUxfQlVJTERfSU5JVChbbmFtZWldLCBbeWVzXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9OQU1FSV0sIFt0ZXN0ICJ4JGJ1aWxkX25hbWVpIiA9IHh5ZXNdKQorCitVTF9CVUlMRF9JTklUKFt3aGVyZWlzXSwgW3llc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfV0hFUkVJU10sIFt0ZXN0ICJ4JGJ1aWxkX3doZXJlaXMiID0geHllc10pCisKK1VMX0JVSUxEX0lOSVQoW2dldG9wdF0sIFt5ZXNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0dFVE9QVF0sIFt0ZXN0ICJ4JGJ1aWxkX2dldG9wdCIgPSB4eWVzXSkKKworCitVTF9CVUlMRF9JTklUKFtibG9ja2Rldl0sIFtjaGVja10pCitVTF9SRVFVSVJFU19MSU5VWChbYmxvY2tkZXZdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0JMT0NLREVWXSwgW3Rlc3QgIngkYnVpbGRfYmxvY2tkZXYiID0geHllc10pCisKKworVUxfQlVJTERfSU5JVChbcHJsaW1pdF0sIFtjaGVja10pCitVTF9SRVFVSVJFU19MSU5VWChbcHJsaW1pdF0pCitVTF9SRVFVSVJFU19CVUlMRChbcHJsaW1pdF0sIFtsaWJzbWFydGNvbHNdKQorVUxfUkVRVUlSRVNfU1lTQ0FMTF9DSEVDSyhbcHJsaW1pdF0sIFtVTF9DSEVDS19TWVNDQUxMKFtwcmxpbWl0NjRdKV0sIFtwcmxpbWl0NjRdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX1BSTElNSVRdLCBbdGVzdCAieCRidWlsZF9wcmxpbWl0IiA9IHh5ZXNdKQorQVNfSUYoW3Rlc3QgIngkYnVpbGRfcHJsaW1pdCIgPSB4eWVzXSwgWworICBBQ19DSEVDS19GVU5DUyhbcHJsaW1pdF0pCitdKQorCisKK1VMX0JVSUxEX0lOSVQoW2xzbG9ja3NdLCBbY2hlY2tdKQorVUxfUkVRVUlSRVNfTElOVVgoW2xzbG9ja3NdKQorVUxfUkVRVUlSRVNfQlVJTEQoW2xzbG9ja3NdLCBbbGlibW91bnRdKQorVUxfUkVRVUlSRVNfQlVJTEQoW2xzbG9ja3NdLCBbbGlic21hcnRjb2xzXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9MU0xPQ0tTXSwgW3Rlc3QgIngkYnVpbGRfbHNsb2NrcyIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFtzd2l0Y2hfcm9vdF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtc3dpdGNoX3Jvb3RdLCBbZG8gbm90IGJ1aWxkIHN3aXRjaF9yb290XSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW3N3aXRjaF9yb290XSwgW2NoZWNrXSldCispCitVTF9CVUlMRF9JTklUKFtzd2l0Y2hfcm9vdF0pCitVTF9SRVFVSVJFU19MSU5VWChbc3dpdGNoX3Jvb3RdKQorVUxfUkVRVUlSRVNfSEFWRShbc3dpdGNoX3Jvb3RdLCBbb3BlbmF0XSwgW29wZW5hdCBmdW5jdGlvbl0pCitBTV9DT05ESVRJT05BTChbQlVJTERfU1dJVENIX1JPT1RdLCBbdGVzdCAieCRidWlsZF9zd2l0Y2hfcm9vdCIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFtwaXZvdF9yb290XSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1waXZvdF9yb290XSwgW2RvIG5vdCBidWlsZCBwaXZvdF9yb290XSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW3Bpdm90X3Jvb3RdLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW3Bpdm90X3Jvb3RdKQorVUxfUkVRVUlSRVNfTElOVVgoW3Bpdm90X3Jvb3RdKQorVUxfUkVRVUlSRVNfU1lTQ0FMTF9DSEVDSyhbcGl2b3Rfcm9vdF0sIFtVTF9DSEVDS19TWVNDQUxMKFtwaXZvdF9yb290XSldKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX1BJVk9UX1JPT1RdLCBbdGVzdCAieCRidWlsZF9waXZvdF9yb290IiA9IHh5ZXNdKQorCisKK1VMX0JVSUxEX0lOSVQoW2Zsb2NrXSwgW2NoZWNrXSkKK1VMX1JFUVVJUkVTX0hBVkUoW2Zsb2NrXSwgW3RpbWVyXSwgW3RpbWVyX2NyZWF0ZSBmdW5jdGlvbl0pCitBTV9DT05ESVRJT05BTChbQlVJTERfRkxPQ0tdLCBbdGVzdCAieCRidWlsZF9mbG9jayIgPSB4eWVzXSkKKworVUxfQlVJTERfSU5JVChbaXBjbWtdLCBbeWVzXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9JUENNS10sIFt0ZXN0ICJ4JGJ1aWxkX2lwY21rIiA9IHh5ZXNdKQorCitBQ19BUkdfRU5BQkxFKFtpcGNybV0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtaXBjcm1dLCBbZG8gbm90IGJ1aWxkIGlwY3JtXSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW2lwY3JtXSwgW3llc10pXQorKQorVUxfQlVJTERfSU5JVChbaXBjcm1dKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0lQQ1JNXSwgW3Rlc3QgIngkYnVpbGRfaXBjcm0iID0geHllc10pCisKK0FDX0FSR19FTkFCTEUoW2lwY3NdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWlwY3NdLCBbZG8gbm90IGJ1aWxkIGlwY3NdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbaXBjc10sIFt5ZXNdKV0KKykKK1VMX0JVSUxEX0lOSVQoW2lwY3NdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0lQQ1NdLCBbdGVzdCAieCRidWlsZF9pcGNzIiA9IHh5ZXNdKQorCitVTF9CVUlMRF9JTklUKFtsc2lwY10sIFtjaGVja10pCitVTF9SRVFVSVJFU19MSU5VWChbbHNpcGNdKQorVUxfUkVRVUlSRVNfQlVJTEQoW2xzaXBjXSwgW2xpYnNtYXJ0Y29sc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfTFNJUENdLCBbdGVzdCAieCRidWlsZF9sc2lwYyIgPSB4eWVzXSkKKworVUxfQlVJTERfSU5JVChbbHNuc10sIFtjaGVja10pCitVTF9SRVFVSVJFU19MSU5VWChbbHNuc10pCitVTF9SRVFVSVJFU19CVUlMRChbbHNuc10sIFtsaWJzbWFydGNvbHNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0xTTlNdLCBbdGVzdCAieCRidWlsZF9sc25zIiA9IHh5ZXNdKQorCitVTF9CVUlMRF9JTklUKFtyZW5pY2VdLCBbeWVzXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9SRU5JQ0VdLCBbdGVzdCAieCRidWlsZF9yZW5pY2UiID0geHllc10pCisKK1VMX0JVSUxEX0lOSVQoW3NldHNpZF0sIFt5ZXNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX1NFVFNJRF0sIFt0ZXN0ICJ4JGJ1aWxkX3NldHNpZCIgPSB4eWVzXSkKKworVUxfQlVJTERfSU5JVChbcmVhZHByb2ZpbGVdLCBbY2hlY2tdKQorVUxfUkVRVUlSRVNfTElOVVgoW3JlYWRwcm9maWxlXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9SRUFEUFJPRklMRV0sIFt0ZXN0ICJ4JGJ1aWxkX3JlYWRwcm9maWxlIiA9IHh5ZXNdKQorCitVTF9CVUlMRF9JTklUKFtkbWVzZ10sIFtjaGVja10pCitVTF9SRVFVSVJFU19MSU5VWChbZG1lc2ddKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0RNRVNHXSwgW3Rlc3QgIngkYnVpbGRfZG1lc2ciID0geHllc10pCisKK1VMX0JVSUxEX0lOSVQoW2N0cmxhbHRkZWxdLCBbY2hlY2tdKQorVUxfUkVRVUlSRVNfTElOVVgoW2N0cmxhbHRkZWxdKQorZG5sIHdlIGFzc3VtZSByZWJvb3QoKSB0byBiZSB0aGUgMS1hcmd1bWVudCB2YXJpYW50LCBiZWNhdXNlIGV2ZW4gY29uc2lkZXJpbmcKK2RubCB3aWRlbHkgdXNlZCBhbHRlcm5hdGl2ZSBDIGxpYnJhcmllcyBsaWtlIHVjbGliYywgZGlldGxpYmMgYW5kIG11c2wsCitkbmwgcmVib290KCkgd2l0aCBtdWx0aXBsZSBhcmd1bWVudHMgaXMgeWV0IG9ubHkgZm91bmQgaW4gZ2xpYmMgdmVyc2lvbnMKK2RubCBlYXJsaWVyIHRoYW4gMi54LgorVUxfUkVRVUlSRVNfSEFWRShbY3RybGFsdGRlbF0sIFtyZWJvb3RdLCBbcmVib290IGZ1bmN0aW9uXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9DVFJMQUxUREVMXSwgW3Rlc3QgIngkYnVpbGRfY3RybGFsdGRlbCIgPSB4eWVzXSkKKworVUxfQlVJTERfSU5JVChbZnNmcmVlemVdLCBbY2hlY2tdKQorVUxfUkVRVUlSRVNfTElOVVgoW2ZzZnJlZXplXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9GU0ZSRUVaRV0sIFt0ZXN0ICJ4JGJ1aWxkX2ZzZnJlZXplIiA9IHh5ZXNdKQorCitVTF9CVUlMRF9JTklUKFtibGtkaXNjYXJkXSwgW2NoZWNrXSkKK1VMX1JFUVVJUkVTX0xJTlVYKFtibGtkaXNjYXJkXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9CTEtESVNDQVJEXSwgW3Rlc3QgIngkYnVpbGRfYmxrZGlzY2FyZCIgPSB4eWVzXSkKKworVUxfQlVJTERfSU5JVChbbGRhdHRhY2hdLCBbY2hlY2tdKQorVUxfUkVRVUlSRVNfTElOVVgoW2xkYXR0YWNoXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9MREFUVEFDSF0sIFt0ZXN0ICJ4JGJ1aWxkX2xkYXR0YWNoIiA9IHh5ZXNdKQorCitVTF9CVUlMRF9JTklUKFtydGN3YWtlXSwgW2NoZWNrXSkKK1VMX1JFUVVJUkVTX0xJTlVYKFtydGN3YWtlXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9SVENXQUtFXSwgW3Rlc3QgIngkYnVpbGRfcnRjd2FrZSIgPSB4eWVzXSkKKworVUxfQlVJTERfSU5JVChbc2V0YXJjaF0sIFtjaGVja10pCitVTF9SRVFVSVJFU19MSU5VWChbc2V0YXJjaF0pCitBTV9DT05ESVRJT05BTChbQlVJTERfU0VUQVJDSF0sIFt0ZXN0ICJ4JGJ1aWxkX3NldGFyY2giID0geHllc10pCisKK1VMX0JVSUxEX0lOSVQoW3NjcmlwdF0sIFtjaGVja10pCitVTF9SRVFVSVJFU19IQVZFKFtzY3JpcHRdLCBbc3lzX3NpZ25hbGZkX2hdLCBbc3lzL3NpZ25hbGZkLmggaGVhZGVyXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9TQ1JJUFRdLCBbdGVzdCAieCRidWlsZF9zY3JpcHQiID0geHllc10pCisKK1VMX0JVSUxEX0lOSVQoW3NjcmlwdHJlcGxheV0sIFt5ZXNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX1NDUklQVFJFUExBWV0sIFt0ZXN0ICJ4JGJ1aWxkX3NjcmlwdHJlcGxheSIgPSB4eWVzXSkKKworVUxfQlVJTERfSU5JVChbY29sXSwgW3llc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfQ09MXSwgW3Rlc3QgIngkYnVpbGRfY29sIiA9IHh5ZXNdKQorCitVTF9CVUlMRF9JTklUKFtjb2xjcnRdLCBbeWVzXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9DT0xDUlRdLCBbdGVzdCAieCRidWlsZF9jb2xjcnQiID0geHllc10pCisKK1VMX0JVSUxEX0lOSVQoW2NvbHJtXSwgW3llc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfQ09MUk1dLCBbdGVzdCAieCRidWlsZF9jb2xybSIgPSB4eWVzXSkKKworVUxfQlVJTERfSU5JVChbY29sdW1uXSwgW3llc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfQ09MVU1OXSwgW3Rlc3QgIngkYnVpbGRfY29sdW1uIiA9IHh5ZXNdKQorCitVTF9CVUlMRF9JTklUKFtoZXhkdW1wXSwgW3llc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfSEVYRFVNUF0sIFt0ZXN0ICJ4JGJ1aWxkX2hleGR1bXAiID0geHllc10pCisKK1VMX0JVSUxEX0lOSVQoW3Jldl0sIFt5ZXNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX1JFVl0sIFt0ZXN0ICJ4JGJ1aWxkX3JldiIgPSB4eWVzXSkKKworVUxfQlVJTERfSU5JVChbdGFpbGZdLCBbeWVzXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9UQUlMRl0sIFt0ZXN0ICJ4JGJ1aWxkX3RhaWxmIiA9IHh5ZXNdKQorCisKK0FDX0FSR19FTkFCTEUoW3R1bmVscF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS10dW5lbHBdLCBbYnVpbGQgdHVuZWxwXSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW3R1bmVscF0sIFtub10pXQorKQorVUxfQlVJTERfSU5JVChbdHVuZWxwXSkKK1VMX1JFUVVJUkVTX0xJTlVYKFt0dW5lbHBdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX1RVTkVMUF0sIFt0ZXN0ICJ4JGJ1aWxkX3R1bmVscCIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFtraWxsXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1raWxsXSwgW2RvIG5vdCBidWlsZCBraWxsXSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW2tpbGxdLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW2tpbGxdKQorVUxfUkVRVUlSRVNfTElOVVgoW2tpbGxdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0tJTExdLCBbdGVzdCAieCRidWlsZF9raWxsIiA9IHh5ZXNdKQorCisKK0FDX0FSR19FTkFCTEUoW2xhc3RdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWxhc3RdLCBbZG8gbm90IGJ1aWxkIGxhc3RdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbbGFzdF0sIFtjaGVja10pXQorKQorVUxfQlVJTERfSU5JVChbbGFzdF0pCitVTF9SRVFVSVJFU19IQVZFKFtsYXN0XSwgW3V0bXBfaF0sIFt1dG1wLmggaGVhZGVyXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9MQVNUXSwgW3Rlc3QgIngkYnVpbGRfbGFzdCIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFt1dG1wZHVtcF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtdXRtcGR1bXBdLCBbZG8gbm90IGJ1aWxkIHV0bXBkdW1wXSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW3V0bXBkdW1wXSwgW2NoZWNrXSldCispCitVTF9CVUlMRF9JTklUKFt1dG1wZHVtcF0pCitVTF9SRVFVSVJFU19IQVZFKFt1dG1wZHVtcF0sIFt1dG1wX2hdLCBbdXRtcC5oIGhlYWRlcl0pCitBTV9DT05ESVRJT05BTChbQlVJTERfVVRNUERVTVBdLCBbdGVzdCAieCRidWlsZF91dG1wZHVtcCIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFtsaW5lXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWxpbmVdLCBbYnVpbGQgbGluZV0pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtsaW5lXSwgW25vXSldCispCitVTF9CVUlMRF9JTklUKFtsaW5lXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9MSU5FXSwgW3Rlc3QgIngkYnVpbGRfbGluZSIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFttZXNnXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1tZXNnXSwgW2RvIG5vdCBidWlsZCBtZXNnXSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW21lc2ddLCBbeWVzXSldCispCitVTF9CVUlMRF9JTklUKFttZXNnXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9NRVNHXSwgW3Rlc3QgIngkYnVpbGRfbWVzZyIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFtyYXddLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLXJhd10sIFtkbyBub3QgYnVpbGQgcmF3XSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW3Jhd10sIFtjaGVja10pXQorKQorVUxfQlVJTERfSU5JVChbcmF3XSkKK1VMX1JFUVVJUkVTX0xJTlVYKFtyYXddKQorVUxfUkVRVUlSRVNfSEFWRShbcmF3XSwgW2xpbnV4X3Jhd19oXSwgW3Jhdy5oIGhlYWRlciBmaWxlXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9SQVddLCBbdGVzdCAieCRidWlsZF9yYXciID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShbcmVuYW1lXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1yZW5hbWVdLCBbZG8gbm90IGJ1aWxkIHJlbmFtZV0pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtyZW5hbWVdLCBbeWVzXSldCispCitVTF9CVUlMRF9JTklUKFtyZW5hbWVdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX1JFTkFNRV0sIFt0ZXN0ICJ4JGJ1aWxkX3JlbmFtZSIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFtyZXNldF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1yZXNldF0sIFtidWlsZCByZXNldF0pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtyZXNldF0sIFtub10pXQorKQorVUxfQlVJTERfSU5JVChbcmVzZXRdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX1JFU0VUXSwgW3Rlc3QgIngkYnVpbGRfcmVzZXQiID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShbdmlwd10sCisgIEFTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS12aXB3XSwgW2J1aWxkIHZpcHddKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbdmlwd10sIFtub10pXQorKQorVUxfQlVJTERfSU5JVChbdmlwd10pCitVTF9SRVFVSVJFU19IQVZFKFt2aXB3XSwgW3NoYWRvd19oXSwgW3NoYWRvdy5oIGhlYWRlcl0pCitBTV9DT05ESVRJT05BTChbQlVJTERfVklQV10sIFt0ZXN0ICJ4JGJ1aWxkX3ZpcHciID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShbbmV3Z3JwXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLW5ld2dycF0sIFtidWlsZCBuZXdncnBdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbbmV3Z3JwXSwgW25vXSldCispCitVTF9CVUlMRF9JTklUKFtuZXdncnBdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX05FV0dSUF0sIFt0ZXN0ICJ4JGJ1aWxkX25ld2dycCIgPSB4eWVzXSkKKworCitBQ19BUkdfV0lUSChbdXNlcl0sIEFTX0hFTFBfU1RSSU5HKFstLXdpdGhvdXQtdXNlcl0sIFtjb21waWxlIHdpdGhvdXQgbGlidXNlciAocmVtb3RlIGNoc2gpXSksCisgIFtdLCBbd2l0aF91c2VyPWNoZWNrXQorKQoraGF2ZV91c2VyPW5vCitBU19JRihbdGVzdCAieCR3aXRoX3VzZXIiICE9IHhub10sIFsKKyAgUEtHX0NIRUNLX01PRFVMRVMoTElCVVNFUixbbGlidXNlciA+PSAwLjU4XSwgW2hhdmVfdXNlcj15ZXNdLCBbaGF2ZV91c2VyPW5vXSkKKyAgQVNfQ0FTRShbJHdpdGhfdXNlcjokaGF2ZV91c2VyXSwKKyAgICBbeWVzOm5vXSwKKyAgICAgIFtBQ19NU0dfRVJST1IoW3VzZXIgc2VsZWN0ZWQgYnV0IGxpYnVzZXIgbm90IGZvdW5kXSldLAorICAgIFsqOnllc10sCisgICAgICBbQUNfREVGSU5FKFtIQVZFX0xJQlVTRVJdLCBbMV0sIFtEZWZpbmUgaWYgbGlidXNlciBpcyBhdmFpbGFibGVdKV0KKyAgKQorICAjIHRlbXBvcmFyeSBzb2x1dGlvbiwgbGlidXNlciBoYXMgc3R1cGlkIC5wYyB3aGVyZSBhcmUgZXhwb3J0ZWQgYWxsCisgICMgcHJpdmF0ZSBkZXBlbmRlbmNpZXMgdG8gUmVxdWlyZXM6IGluc3RlYWQgb2YgUmVxdWlyZXMucHJpdmF0ZToKKyAgQVNfSUYoW3Rlc3QgIngkaGF2ZV91c2VyIiA9IHh5ZXNdLCBbCisgICAgTElCVVNFUl9MSUJTPS1sdXNlcgorICBdKQorXSkKK0FNX0NPTkRJVElPTkFMKFtIQVZFX1VTRVJdLCBbdGVzdCAieCRoYXZlX3VzZXIiID0geHllc10pCisKK0FDX0FSR19FTkFCTEUoW2NoZm4tY2hzaC1wYXNzd29yZF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtY2hmbi1jaHNoLXBhc3N3b3JkXSwgW2RvIG5vdCByZXF1aXJlIHRoZSB1c2VyIHRvIGVudGVyIHRoZSBwYXNzd29yZCBpbiBjaGZuIGFuZCBjaHNoXSksCisgIFtdLCBbZW5hYmxlX2NoZm5fY2hzaF9wYXNzd29yZD15ZXNdCispCisKK0FDX0FSR19FTkFCTEUoW2NoZm4tY2hzaF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1jaGZuLWNoc2hdLCBbYnVpbGQgY2hmbiBhbmQgY2hzaF0pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtjaGZuX2Noc2hdLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW2NoZm5fY2hzaF0pCitVTF9SRVFVSVJFU19IQVZFKFtjaGZuX2Noc2hdLCBbc2hhZG93X2hdLCBbc2hhZG93LmggaGVhZGVyXSkKKworQVNfSUYoW3Rlc3QgIngkZW5hYmxlX2NoZm5fY2hzaF9wYXNzd29yZCIgPSB4eWVzIC1vICJ4JGhhdmVfdXNlciIgPSB4eWVzXSwgWworICBVTF9SRVFVSVJFU19IQVZFKFtjaGZuX2Noc2hdLCBbc2VjdXJpdHlfcGFtX2FwcGxfaF0sIFtQQU0gaGVhZGVyIGZpbGVdKQorICBBQ19ERUZJTkUoW0NIRk5fQ0hTSF9QQVNTV09SRF0sIFsxXSwgW1Nob3VsZCBjaGZuIGFuZCBjaHNoIHJlcXVpcmUgdGhlIHVzZXIgdG8gZW50ZXIgdGhlIHBhc3N3b3JkP10pCitdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0NIRk5fQ0hTSF0sIFt0ZXN0ICJ4JGJ1aWxkX2NoZm5fY2hzaCIgPSB4eWVzXSkKK0FNX0NPTkRJVElPTkFMKFtDSEZOX0NIU0hfUEFTU1dPUkRdLCBbdGVzdCAieCRlbmFibGVfY2hmbl9jaHNoX3Bhc3N3b3JkIiA9IHh5ZXNdKQorCitBQ19BUkdfRU5BQkxFKFtjaHNoLW9ubHktbGlzdGVkXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1jaHNoLW9ubHktbGlzdGVkXSwgW2Noc2g6IGFsbG93IHNoZWxscyBub3QgaW4gL2V0Yy9zaGVsbHNdKSwKKyAgW10sIGVuYWJsZV9jaHNoX29ubHlfbGlzdGVkPXllcworKQorCitBU19JRihbdGVzdCAieCRlbmFibGVfY2hzaF9vbmx5X2xpc3RlZCIgPSB4eWVzXSwgWworICBBQ19ERUZJTkUoW09OTFlfTElTVEVEX1NIRUxMU10sIFsxXSwgW1Nob3VsZCBjaHNoIGFsbG93IG9ubHkgc2hlbGxzIGluIC9ldGMvc2hlbGxzP10pCitdKQorCisKK0FDX0FSR19FTkFCTEUoW2xvZ2luXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1sb2dpbl0sIFtkbyBub3QgYnVpbGQgbG9naW5dKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbbG9naW5dLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW2xvZ2luXSkKK1VMX1JFUVVJUkVTX0hBVkUoW2xvZ2luXSwgW3NlY3VyaXR5X3BhbV9hcHBsX2hdLCBbUEFNIGhlYWRlciBmaWxlXSkKK1VMX1JFUVVJUkVTX0hBVkUoW2xvZ2luXSwgW3NlY3VyaXR5X3BhbV9taXNjX2gsIHNlY3VyaXR5X29wZW5wYW1faF0sIFtQQU0gY29udmVyc2F0aW9uIGZ1bmN0aW9uc10pCitVTF9SRVFVSVJFU19IQVZFKFtsb2dpbl0sIFt1dG1wX2hdLCBbdXRtcC5oIGhlYWRlcl0pCitBTV9DT05ESVRJT05BTChbQlVJTERfTE9HSU5dLCBbdGVzdCAieCRidWlsZF9sb2dpbiIgPSB4eWVzXSkKKworQUNfQVJHX0VOQUJMRShbbG9naW4tY2hvd24tdmNzXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWxvZ2luLWNob3duLXZjc10sIFtsZXQgbG9naW4gY2hvd24gL2Rldi92Y3NOXSksCisgIFtdLCBbZW5hYmxlX2xvZ2luX2Nob3duX3Zjcz1ub10KKykKKworQVNfSUYoW3Rlc3QgIngkZW5hYmxlX2xvZ2luX2Nob3duX3ZjcyIgPSB4eWVzXSwgWworICBBQ19ERUZJTkUoW0xPR0lOX0NIT1dOX1ZDU10sIFsxXSwgW1Nob3VsZCBsb2dpbiBjaG93biAvZGV2L3Zjc04/XSkKK10pCisKK0FDX0FSR19FTkFCTEUoW2xvZ2luLXN0YXQtbWFpbF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1sb2dpbi1zdGF0LW1haWxdLCBbbGV0IGxvZ2luIHN0YXQoKSB0aGUgbWFpbGJveF0pLAorICBbXSwgW2VuYWJsZV9sb2dpbl9zdGF0X21haWw9bm9dCispCisKK0FTX0lGKFt0ZXN0ICJ4JGVuYWJsZV9sb2dpbl9zdGF0X21haWwiID0geHllc10sIFsKKyAgQUNfREVGSU5FKFtMT0dJTl9TVEFUX01BSUxdLCBbMV0sIFtTaG91bGQgbG9naW4gc3RhdCgpIHRoZSBtYWlsYm94P10pCitdKQorCisKK0FDX0FSR19FTkFCTEUoW25vbG9naW5dLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLW5vbG9naW5dLCBbZG8gbm90IGJ1aWxkIG5vbG9naW5dKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbbm9sb2dpbl0sIFt5ZXNdKV0KKykKK1VMX0JVSUxEX0lOSVQoW25vbG9naW5dKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX05PTE9HSU5dLCBbdGVzdCAieCRidWlsZF9ub2xvZ2luIiA9IHh5ZXNdKQorCisKK0FDX0FSR19FTkFCTEUoW3N1bG9naW5dLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLXN1bG9naW5dLCBbZG8gbm90IGJ1aWxkIHN1bG9naW5dKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbc3Vsb2dpbl0sIFtjaGVja10pXQorKQorVUxfQlVJTERfSU5JVChbc3Vsb2dpbl0pCitVTF9SRVFVSVJFU19IQVZFKFtzdWxvZ2luXSwgW3NoYWRvd19oXSwgW3NoYWRvdy5oIGhlYWRlcl0pCitBTV9DT05ESVRJT05BTChbQlVJTERfU1VMT0dJTl0sIFt0ZXN0ICJ4JGJ1aWxkX3N1bG9naW4iID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShbc3VdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLXN1XSwgW2RvIG5vdCBidWlsZCBzdV0pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtzdV0sIFtjaGVja10pXQorKQorVUxfQlVJTERfSU5JVChbc3VdKQorVUxfUkVRVUlSRVNfSEFWRShbc3VdLCBbc2VjdXJpdHlfcGFtX2FwcGxfaF0sIFtQQU0gaGVhZGVyIGZpbGVdKQorVUxfUkVRVUlSRVNfSEFWRShbc3VdLCBbdXRtcF9oXSwgW3V0bXAuaCBoZWFkZXJdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX1NVXSwgW3Rlc3QgIngkYnVpbGRfc3UiID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShbcnVudXNlcl0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtcnVudXNlcl0sIFtkbyBub3QgYnVpbGQgcnVudXNlcl0pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtydW51c2VyXSwgW2NoZWNrXSldCispCitVTF9CVUlMRF9JTklUKFtydW51c2VyXSkKK1VMX1JFUVVJUkVTX0hBVkUoW3J1bnVzZXJdLCBbc2VjdXJpdHlfcGFtX2FwcGxfaF0sIFtQQU0gaGVhZGVyIGZpbGVdKQorVUxfUkVRVUlSRVNfSEFWRShbcnVudXNlcl0sIFt1dG1wX2hdLCBbdXRtcC5oIGhlYWRlcl0pCitBTV9DT05ESVRJT05BTChbQlVJTERfUlVOVVNFUl0sIFt0ZXN0ICJ4JGJ1aWxkX3J1bnVzZXIiID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShbdWxdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLXVsXSwgW2RvIG5vdCBidWlsZCB1bF0pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFt1bF0sIFtjaGVja10pXQorKQorVUxfQlVJTERfSU5JVChbdWxdKQorVUxfUkVRVUlSRVNfSEFWRShbdWxdLCBbbmN1cnNlc3csIHRpbmZvLCBuY3Vyc2VzXSwgW25jdXJzZXN3LCBuY3Vyc2VzIG9yIHRpbmZvIGxpYnJhcmllc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfVUxdLCBbdGVzdCAieCRidWlsZF91bCIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFttb3JlXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1tb3JlXSwgW2RvIG5vdCBidWlsZCBtb3JlXSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW21vcmVdLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW21vcmVdKQorVUxfUkVRVUlSRVNfSEFWRShbbW9yZV0sIFtuY3Vyc2VzdywgdGluZm8sIG5jdXJzZXMsIHRlcm1jYXBdLCBbbmN1cnNlc3csIG5jdXJzZXMsIHRpbmZvIG9yIHRlcm1jYXAgbGlicmFyaWVzXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9NT1JFXSwgW3Rlc3QgIngkYnVpbGRfbW9yZSIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFtwZ10sCisgIEFTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1wZ10sIFtidWlsZCBwZ10pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtwZ10sIFtub10pXQorKQorVUxfQlVJTERfSU5JVChbcGddKQorVUxfUkVRVUlSRVNfSEFWRShbcGddLCBbbmN1cnNlc3csIG5jdXJzZXNdLCBbbmN1cnNlc3cgb3IgbmN1cnNlcyBsaWJyYXJ5XSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9QR10sIFt0ZXN0ICJ4JGJ1aWxkX3BnIiA9IHh5ZXNdKQorCisKK0FDX0FSR19FTkFCTEUoW3NldHRlcm1dLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLXNldHRlcm1dLCBbZG8gbm90IGJ1aWxkIHNldHRlcm1dKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbc2V0dGVybV0sIFtjaGVja10pXQorKQorVUxfQlVJTERfSU5JVChbc2V0dGVybV0pCitVTF9SRVFVSVJFU19MSU5VWChbc2V0dGVybV0pCitVTF9SRVFVSVJFU19IQVZFKFtzZXR0ZXJtXSwgW25jdXJzZXN3LCBuY3Vyc2VzXSwgW25jdXJzZXN3IG9yIG5jdXJzZXMgbGlicmFyeV0pCitBTV9DT05ESVRJT05BTChbQlVJTERfU0VUVEVSTV0sIFt0ZXN0ICJ4JGJ1aWxkX3NldHRlcm0iID0geHllc10pCisKKyMgYnVpbGRfc2NoZWR1dGlscz0gaXMganVzdCBjb25maWd1cmUtb25seSB2YXJpYWJsZSB0byBjb250cm9sCisjIGlvbmljZSwgdGFza3NldCBhbmQgY2hydAorQUNfQVJHX0VOQUJMRShbc2NoZWR1dGlsc10sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtc2NoZWR1dGlsc10sIFtkbyBub3QgYnVpbGQgY2hydCwgaW9uaWNlLCB0YXNrc2V0XSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW3NjaGVkdXRpbHNdLCBbY2hlY2tdKV0KKykKKworCitVTF9FTkFCTEVfQUxJQVMoW2lvbmljZV0sIFtzY2hlZHV0aWxzXSkKK1VMX0JVSUxEX0lOSVQoW2lvbmljZV0pCitVTF9SRVFVSVJFU19TWVNDQUxMX0NIRUNLKFtpb25pY2VdLAorCVtVTF9DSEVDS19TWVNDQUxMKFtpb3ByaW9fc2V0XSwKKwkgIFthbHBoYV0sCVs0NDJdLAorCSAgW2kqODZdLAlbMjg5XSwKKwkgIFtpYTY0Kl0sCVsxMjc0XSwKKwkgIFtwb3dlcnBjKl0sCVsyNzNdLAorCSAgW3MzOTAqXSwJWzI4Ml0sCisJICBbc3BhcmMqXSwJWzE5Nl0sCisJICBbc2gqXSwJWzI4OF0sCisJICBbeDg2XzY0Kl0sCVsyNTFdKV0sCisJW2lvcHJpb19zZXRdKQorCitVTF9SRVFVSVJFU19TWVNDQUxMX0NIRUNLKFtpb25pY2VdLAorCVtVTF9DSEVDS19TWVNDQUxMKFtpb3ByaW9fZ2V0XSwKKwkgIFthbHBoYV0sCVs0NDNdLAorCSAgW2kqODZdLAlbMjkwXSwKKwkgIFtpYTY0Kl0sCVsxMjc1XSwKKwkgIFtwb3dlcnBjKl0sCVsyNzRdLAorCSAgW3MzOTAqXSwJWzI4M10sCisJICBbc3BhcmMqXSwJWzIxOF0sCisJICBbc2gqXSwJWzI4OV0sCisJICBbeDg2XzY0Kl0sCVsyNTJdKV0sCisJW2lvcHJpb19nZXRdKQorCitBTV9DT05ESVRJT05BTChbQlVJTERfSU9OSUNFXSwgW3Rlc3QgIngkYnVpbGRfaW9uaWNlIiA9IHh5ZXNdKQorCisKK1VMX0VOQUJMRV9BTElBUyhbdGFza3NldF0sIFtzY2hlZHV0aWxzXSkKK1VMX0JVSUxEX0lOSVQoW3Rhc2tzZXRdKQorVUxfUkVRVUlSRVNfSEFWRShbdGFza3NldF0sIFtjcHVfc2V0X3RdLCBbY3B1X3NldF90IHR5cGVdKQorVUxfUkVRVUlSRVNfU1lTQ0FMTF9DSEVDSyhbdGFza3NldF0sCisJW1VMX0NIRUNLX1NZU0NBTEwoW3NjaGVkX2dldGFmZmluaXR5XSldLAorCVtzY2hlZF9nZXRhZmZpbml0eV0pCitBTV9DT05ESVRJT05BTChbQlVJTERfVEFTS1NFVF0sIFt0ZXN0ICJ4JGJ1aWxkX3Rhc2tzZXQiID0geHllc10pCisKKworaGF2ZV9zY2hlZHNldHRlcj1ubworQVNfSUYoW3Rlc3QgIngkYWNfY3ZfZnVuY19zY2hlZF9zZXRzY2hlZHVsZXIiID0geHllc10sIFtoYXZlX3NjaGVkc2V0dGVyPXllc10sCisgICAgICBbdGVzdCAieCRhY19jdl9mdW5jX3NjaGVkX3NldGF0dHIiID0geHllc10sIFtoYXZlX3NjaGVkc2V0dGVyPXllc10pCisKK1VMX0VOQUJMRV9BTElBUyhbY2hydF0sIFtzY2hlZHV0aWxzXSkKK1VMX0JVSUxEX0lOSVQoW2NocnRdKQorVUxfUkVRVUlSRVNfSEFWRShbY2hydF0sIFtzY2hlZHNldHRlcl0sIFtzY2hlZF9zZXQgZnVuY3Rpb25zXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9DSFJUXSwgW3Rlc3QgIngkYnVpbGRfY2hydCIgPSB4eWVzXSkKKworQVNfSUYoW3Rlc3QgIngkYnVpbGRfY2hydCIgPSB4eWVzXSwgWworCVVMX0NIRUNLX1NZU0NBTEwoW3NjaGVkX3NldGF0dHJdKQorXSkKKworCitBQ19BUkdfRU5BQkxFKFt3YWxsXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS13YWxsXSwgW2RvIG5vdCBidWlsZCB3YWxsXSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW3dhbGxdLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW3dhbGxdKQorVUxfUkVRVUlSRVNfSEFWRShbd2FsbF0sIFt1dG1wX2hdLCBbdXRtcC5oIGhlYWRlcl0pCitBTV9DT05ESVRJT05BTChbQlVJTERfV0FMTF0sIFt0ZXN0ICJ4JGJ1aWxkX3dhbGwiID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShbd3JpdGVdLAorICBBU19IRUxQX1NUUklORyhbLS1lbmFibGUtd3JpdGVdLCBbYnVpbGQgd3JpdGVdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbd3JpdGVdLCBbbm9dKV0KKykKK1VMX0JVSUxEX0lOSVQoW3dyaXRlXSkKK1VMX1JFUVVJUkVTX0hBVkUoW3dyaXRlXSwgW3V0bXBfaF0sIFt1dG1wLmggaGVhZGVyXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9XUklURV0sIFt0ZXN0ICJ4JGJ1aWxkX3dyaXRlIiA9IHh5ZXNdKQorCisKK0FDX0FSR19XSVRIKFtidHJmc10sCisgIEFTX0hFTFBfU1RSSU5HKFstLXdpdGgtYnRyZnNdLCBbYnVpbGQgd2l0aCBzdXBwb3J0IGZvciBidHJmc10pLAorICBbXSwgW3dpdGhfYnRyZnM9Y2hlY2tdCispCitoYXZlX2J0cmZzPW5vCitBU19JRihbdGVzdCAieCR3aXRoX2J0cmZzIiAhPSB4bm9dLCBbCisgIEFTX0NBU0UoWyR3aXRoX2J0cmZzOiRoYXZlX2xpbnV4X2J0cmZzX2hdLAorICAgIFt5ZXM6bm9dLAorICAgIFtBQ19NU0dfRVJST1IoW2J0cmZzIHNlbGVjdGVkIGJ1dCBsaW51eC9idHJmcy5oIG5vdCBmb3VuZF0pXSwKKyAgICBbY2hlY2s6bm9dLAorICAgICAgIFtBQ19NU0dfV0FSTihbbGludXgvYnRyZnMuaCBub3QgZm91bmQsIGRvIG5vdCBidWlsZCB3aXRoIGJ0cmZzIHN1cHBvcnRdKV0sCisgICAgWyo6eWVzXSwKKyAgICAgICBbaGF2ZV9idHJmcz15ZXMKKwlBQ19ERUZJTkUoW0hBVkVfQlRSRlNfU1VQUE9SVF0sIFsxXSwgW0RlZmluZSBpZiBidHJmcyBzdHVmZiBpcyBhdmFpbGFibGVdKV0KKyAgKQorXSkKK0FNX0NPTkRJVElPTkFMKFtIQVZFX0JUUkZTXSwgW3Rlc3QgIngkaGF2ZV9idHJmcyIgPSB4eWVzXSkKKworCitBQ19BUkdfV0lUSChbc3lzdGVtZF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLXdpdGgtc3lzdGVtZF0sIFtidWlsZCB3aXRoIHN1cHBvcnQgZm9yIHN5c3RlbWRdKSwKKyAgW10sIFt3aXRoX3N5c3RlbWQ9Y2hlY2tdCispCisKK2hhdmVfc3lzdGVtZD1ubworQVNfSUYoW3Rlc3QgIngkd2l0aF9zeXN0ZW1kIiAhPSB4bm9dLCBbCisgICMgbmV3IHZlcnNpb24gLS0gYWxsIGxpYnN5c3RlbWQtKiBsaWJzIG1lcmdlZCBpbnRvIGxpYnN5c3RlbWQKKyAgUEtHX0NIRUNLX01PRFVMRVMoW1NZU1RFTURdLCBbbGlic3lzdGVtZF0sIFtoYXZlX3N5c3RlbWQ9eWVzXSwgW2hhdmVfc3lzdGVtZD1ub10pCisgICMgb2xkIHZlcnNpb25zCisgIEFTX0lGKFt0ZXN0ICJ4JGhhdmVfc3lzdGVtZCIgIT0gInh5ZXMiXSwgWworICAgIFBLR19DSEVDS19NT0RVTEVTKFtTWVNURU1EX0RBRU1PTl0sIFtsaWJzeXN0ZW1kLWRhZW1vbl0sCisJCSAgICAgIFtoYXZlX3N5c3RlbWRfZGFlbW9uPXllc10sIFtoYXZlX3N5c3RlbWRfZGFlbW9uPW5vXSkKKyAgICBQS0dfQ0hFQ0tfTU9EVUxFUyhbU1lTVEVNRF9KT1VSTkFMXSwgW2xpYnN5c3RlbWQtam91cm5hbF0sCisJCSAgICAgIFtoYXZlX3N5c3RlbWRfam91cm5hbD15ZXNdLCBbaGF2ZV9zeXN0ZW1kX2pvdXJuYWw9bm9dKQorICAgIEFTX0lGKFt0ZXN0ICJ4JGhhdmVfc3lzdGVtZF9kYWVtb24iID0gInh5ZXMiIC1hICJ4JGhhdmVfc3lzdGVtZF9qb3VybmFsIiA9ICJ4eWVzIiBdLFsKKwkgICBoYXZlX3N5c3RlbWQ9eWVzXSkKKyAgXSkKKyAgQVNfQ0FTRShbJHdpdGhfc3lzdGVtZDokaGF2ZV9zeXN0ZW1kXSwKKyAgICBbeWVzOm5vXSwKKyAgICAgIFtBQ19NU0dfRVJST1IoW3N5c3RlbWQgZXhwZWN0ZWQgYnV0IGxpYnN5c3RlbWQgbm90IGZvdW5kXSldLAorICAgIFsqOnllc10sCisgICAgICAgQUNfREVGSU5FKFtIQVZFX0xJQlNZU1RFTURdLCBbMV0sIFtEZWZpbmUgaWYgbGlic3lzdGVtZCBpcyBhdmFpbGFibGVdKQorICApCitdKQorQU1fQ09ORElUSU9OQUwoW0hBVkVfU1lTVEVNRF0sIFt0ZXN0ICJ4JGhhdmVfc3lzdGVtZCIgPSB4eWVzXSkKKworCitBQ19BUkdfV0lUSChbc3lzdGVtZHN5c3RlbXVuaXRkaXJdLAorICBBU19IRUxQX1NUUklORyhbLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPURJUl0sIFtkaXJlY3RvcnkgZm9yIHN5c3RlbWQgc2VydmljZSBmaWxlc10pLAorICBbXSwgW3dpdGhfc3lzdGVtZHN5c3RlbXVuaXRkaXI9YCRQS0dfQ09ORklHIC0tdmFyaWFibGU9c3lzdGVtZHN5c3RlbXVuaXRkaXIgc3lzdGVtZGBdKQorCitBU19JRihbdGVzdCAieCR3aXRoX3N5c3RlbWRzeXN0ZW11bml0ZGlyIiAhPSAieG5vIl0sIFsKKyAgQUNfU1VCU1QoW3N5c3RlbWRzeXN0ZW11bml0ZGlyXSwgWyR3aXRoX3N5c3RlbWRzeXN0ZW11bml0ZGlyXSkKK10pCisKKworQUNfQVJHX1dJVEgoW3NtYWNrXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0td2l0aC1zbWFja10sIFtidWlsZCB3aXRoIFNNQUNLIHN1cHBvcnRdKSwKKyAgW10sIFt3aXRoX3NtYWNrPW5vXQorKQorQVNfSUYoW3Rlc3QgIngkd2l0aF9zbWFjayIgPSB4eWVzXSwgWworICBBQ19ERUZJTkUoW0hBVkVfU01BQ0tdLCBbMV0sIFtBZGQgU01BQ0sgc3VwcG9ydF0pCitdKQorCisKK0FDX0FSR19XSVRIKFtiYXNoY29tcGxldGlvbmRpcl0sCisgIEFTX0hFTFBfU1RSSU5HKFstLXdpdGgtYmFzaGNvbXBsZXRpb25kaXI9RElSXSwgW0Jhc2ggY29tcGxldGlvbnMgZGlyZWN0b3J5XSksCisgIFtdLAorICBbQVNfSUYoW2AkUEtHX0NPTkZJRyAtLWV4aXN0cyBiYXNoLWNvbXBsZXRpb25gXSwgWworICAgIHdpdGhfYmFzaGNvbXBsZXRpb25kaXI9YCRQS0dfQ09ORklHIC0tdmFyaWFibGU9Y29tcGxldGlvbnNkaXIgYmFzaC1jb21wbGV0aW9uYAorICBdLCBbCisgICAgd2l0aF9iYXNoY29tcGxldGlvbmRpcj0ke2RhdGFkaXJ9L2Jhc2gtY29tcGxldGlvbi9jb21wbGV0aW9ucworICBdKQorXSkKK0FDX1NVQlNUKFtiYXNoY29tcGxldGlvbmRpcl0sIFskd2l0aF9iYXNoY29tcGxldGlvbmRpcl0pCisKK0FDX0FSR19FTkFCTEUoW2Jhc2gtY29tcGxldGlvbl0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtYmFzaC1jb21wbGV0aW9uXSwgW2RvIG5vdCBpbnN0YWxsIGJhc2ggY29tcGxldGlvbiBmaWxlc10pLAorICBbXSwgW2VuYWJsZV9iYXNoX2NvbXBsZXRpb249eWVzXQorKQorCitBTV9DT05ESVRJT05BTChbQlVJTERfQkFTSF9DT01QTEVUSU9OXSwgW3Rlc3QgIngkZW5hYmxlX2Jhc2hfY29tcGxldGlvbiIgPSB4eWVzXSkKKworCitBQ19BUkdfV0lUSChbcHl0aG9uXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0td2l0aG91dC1weXRob25dLCBbZG8gbm90IGJ1aWxkIHB5dGhvbiBiaW5kaW5ncywgdXNlIC0td2l0aC1weXRob249ezIsM30gdG8gZm9yY2UgdmVyc2lvbl0pLAorICBbXSwgW3dpdGhfcHl0aG9uPWNoZWNrIHdpdGh2YWw9Y2hlY2tdCispCisKK2hhdmVfcHl0aG9uPW5vCitoYXZlX2xpYnB5dGhvbj1ubworQVNfSUYoW3Rlc3QgIngkd2l0aF9weXRob24iICE9IHhub10sIFsKKyAgIyBXZSBmb2xsb3cgZGlzdHJpYnV0aW9ucyBkZWZhdWx0IGFuZCBsb29rIGZvciBQS0cgbW9kdWxlIG5hbWUgInB5dGhvbiIKKyAgIyAobWluaW1hbCB2ZXJzaW9uIGlzIDIpIGJ1dCBpZiBtYWpvciB2ZXJzaW9uIGlzIGV4cGxpY2l0bHkgc3BlY2lmaWVkIGJ5CisgICMgLS13aXRoLXB5dGhvbj0yIG9yIC0td2l0aC1weXRob249MyB0aGVuIHdlIGxvb2sgZm9yIFBLRyBtb2R1bGUgInB5dGhvbjIiIG9yCisgICMgInB5dGhvbjMiLgorICBBU19JRihbdGVzdCAieCR3aXRodmFsIiAhPSB4bm8gLWEgIngkd2l0aHZhbCIgIT0geHllcyAtYSAieCR3aXRodmFsIiAhPSB4Y2hlY2tdLAorCVtweW1ham9yPSIkd2l0aHZhbCI7IFBZVEhPTj1weXRob24ke3B5bWFqb3J9XSwgW3B5bWFqb3I9IjIiXSkKKworICAjIGNoZWNrIGZvciBweXRob24gaW50ZXJwcmV0ZXIKKyAgQU1fUEFUSF9QWVRIT04oWyRweW1ham9yXSwgW2hhdmVfcHl0aG9uPXllc10sIFtoYXZlX3B5dGhvbj1ub10pCisgIEFTX0NBU0UoWyR3aXRoX3B5dGhvbjokaGF2ZV9weXRob25dLAorICAgIFt5ZXM6bm9dLAorICAgICAgW0FDX01TR19FUlJPUihbcHl0aG9uIHNlbGVjdGVkIGJ1dCBweXRob24gaW50ZXJwcmV0ZXIgbm90IGZvdW5kXSldLAorICAgIFtjaGVjazpub10sCisgICAgICAgW0FDX01TR19XQVJOKFtweXRob24gaW50ZXJwcmV0ZXIgbm90IGZvdW5kLCBkbyBub3QgYnVpbGQgcHl0aG9uIGJpbmRpbmdzXSldLAorICAgIFsqOnllc10sCisgICAgICAgIyBjaGVjayBmb3IgcHl0aG9uIGRldmVsb3BtZW50IHN0dWZmCisgICAgICAgW1BLR19DSEVDS19NT0RVTEVTKFtQWVRIT05dLCBbcHl0aG9uLSRQWVRIT05fVkVSU0lPTl0sCisJCQkgIFtoYXZlX2xpYnB5dGhvbj15ZXNdLCBbaGF2ZV9saWJweXRob249bm9dKV0KKyAgKQorXSkKKworCitBQ19BUkdfRU5BQkxFKFtweWxpYm1vdW50XSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1weWxpYm1vdW50XSwgW2RvIG5vdCBidWlsZCBweWxpYm1vdW50XSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW3B5bGlibW91bnRdLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW3B5bGlibW91bnRdKQorVUxfUkVRVUlSRVNfSEFWRShbcHlsaWJtb3VudF0sIFtsaWJweXRob25dLCBbbGlicHl0aG9uXSkKK1VMX1JFUVVJUkVTX0JVSUxEKFtweWxpYm1vdW50XSwgW2xpYm1vdW50XSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9QWUxJQk1PVU5UXSwgW3Rlc3QgIngkYnVpbGRfcHlsaWJtb3VudCIgPSAieHllcyJdKQorCisjIFdlIG5lZWQgdG8gaW50cm9kdWNlIGEgdmVyYmF0aW0gZGVwZW5kZW5jeSBpbnRvIHRoZSBNYWtlZmlsZSwgd2l0aG91dCBhdXRvbWFrZQorIyB0cnlpbmcgdG8gaW50ZXJwcmV0IGl0LCBzbyBwdXNoIGl0IGFzIGEgQU1fU1VCU1RfTk9UTUFLRSB2YXJpYWJsZS4KK3ZlcmJhdGltX3B5bGlibW91bnRfZGVwZW5kZW5jeT0nCisKKyMgcHlsaWJtb3VudGV4ZWMgbW9kdWxlIG11c3QgYmUgaW5zdGFsbGVkIGFmdGVyIHVzcmxpYl9leGVjIGxpYnJhcmllcywKKyMgb3RoZXJ3aXNlIHRoZSBsaWJ0b29sIHJlbGluayBzdGVwIHdpbGwgZmFpbCB0byBmaW5kIGxpYm1vdW50LmxhIGFuZAorIyB3aWxsIHRyeSAtbG1vdW50IHdoaWNoIGlzIHBvc3NpYmx5IG5vdCBhdmFpbGFibGUuCitpbnN0YWxsLXB5bGlibW91bnRleGVjTFRMSUJSQVJJRVM6IGluc3RhbGwtdXNybGliX2V4ZWNMVExJQlJBUklFUworCisnCitBQ19TVUJTVChbdmVyYmF0aW1fcHlsaWJtb3VudF9kZXBlbmRlbmN5XSkKK0FNX1NVQlNUX05PVE1BS0UoW3ZlcmJhdGltX3B5bGlibW91bnRfZGVwZW5kZW5jeV0pCisKK0FDX0FSR19FTkFCTEUoW3BnLWJlbGxdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLXBnLWJlbGxdLCBbbGV0IHBnIG5vdCByaW5nIHRoZSBiZWxsIG9uIGludmFsaWQga2V5c10pLAorICBbXSwgW2VuYWJsZV9wZ19iZWxsPXllc10KKykKKworQVNfSUYoW3Rlc3QgIngkZW5hYmxlX3BnX2JlbGwiID0geHllc10sIFsKKyAgQUNfREVGSU5FKFtQR19CRUxMXSwgWzFdLCBbU2hvdWxkIHBnIHJpbmcgdGhlIGJlbGwgb24gaW52YWxpZCBrZXlzP10pCitdKQorCisKK0FDX0RFRlVOKFtGU19QQVRIU19ERUZBVUxUXSwgWy9zYmluOi9zYmluL2ZzLmQ6L3NiaW4vZnNdKQorQUNfQVJHX0VOQUJMRShbZnMtcGF0aHMtZGVmYXVsdF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1mcy1wYXRocy1kZWZhdWx0PXBhdGhzXSwgW2RlZmF1bHQgc2VhcmNoIHBhdGggZm9yIGZzIGhlbHBlcnMgQDw6QEZTX1BBVEhTX0RFRkFVTFRAOj5AXSksCisgIFtBU19DQVNFKFskZW5hYmxldmFsXSwKKyAgICBbeWVzXSwgW2ZzX3BhdGhzX2RlZmF1bHRzPSJGU19QQVRIU19ERUZBVUxUIl0sCisgICAgW25vXSwgIFtmc19wYXRoc19kZWZhdWx0cz0iIl0sCisgICAgW2ZzX3BhdGhzX2RlZmF1bHRzPSIkZW5hYmxldmFsIl0KKyAgKV0sCisgIFtmc19wYXRoc19kZWZhdWx0cz0iRlNfUEFUSFNfREVGQVVMVCJdCispCitBQ19BUkdfRU5BQkxFKFtmcy1wYXRocy1leHRyYV0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1mcy1wYXRocy1leHRyYT1wYXRoc10sIFthZGRpdGlvbmFsIHNlYXJjaCBwYXRocyBmb3IgZnMgaGVscGVyc10pLAorICBbQVNfQ0FTRShbJGVuYWJsZXZhbF0sCisgICAgIFt5ZXN8bm9dLCBbZnNfcGF0aHNfZXh0cmE9IiJdLAorICAgICBbZnNfcGF0aHNfZXh0cmE9IiRlbmFibGV2YWwiXQorICApXSwKKyAgW2ZzX3BhdGhzX2V4dHJhPSIiXQorKQorZnNfcGF0aHM9IiRmc19wYXRoc19kZWZhdWx0cyIKK0FTX0lGKFt0ZXN0ICJ4JGZzX3BhdGhzX2V4dHJhIiAhPSAieCJdLCBbCisgIEFTX0lGKFt0ZXN0ICJ4JGZzX3BhdGhzIiAhPSAieCJdLCBbCisgICAgZnNfcGF0aHM9IiR7ZnNfcGF0aHN9OiIKKyAgXSkKKyAgZnNfcGF0aHM9IiR7ZnNfcGF0aHN9JHtmc19wYXRoc19leHRyYX0iCitdKQorQUNfREVGSU5FX1VOUVVPVEVEKFtGU19TRUFSQ0hfUEFUSF0sICIkZnNfcGF0aHMiLCBbc2VhcmNoIHBhdGggZm9yIGZzIGhlbHBlcnNdKQorCisKK0FDX0FSR19FTkFCTEUoW3VzZS10dHktZ3JvdXBdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLXVzZS10dHktZ3JvdXBdLCBbZG8gbm90IGluc3RhbGwgd2FsbCBhbmQgd3JpdGUgc2V0Z2lkIHR0eV0pLAorICBbXSwgW2VuYWJsZV91c2VfdHR5X2dyb3VwPXllc10KKykKK0FNX0NPTkRJVElPTkFMKFtVU0VfVFRZX0dST1VQXSwgW3Rlc3QgIngkZW5hYmxlX3VzZV90dHlfZ3JvdXAiID0geHllc10pCisKK0FTX0lGKFt0ZXN0ICJ4JGVuYWJsZV91c2VfdHR5X2dyb3VwIiA9IHh5ZXNdLCBbCisgIEFDX0RFRklORShbVVNFX1RUWV9HUk9VUF0sIFsxXSwgW1Nob3VsZCB3YWxsIGFuZCB3cml0ZSBiZSBpbnN0YWxsZWQgc2V0Z2lkIHR0eT9dKQorXSkKKworCitBQ19BUkdfRU5BQkxFKFtzdWxvZ2luLWVtZXJnZW5jeS1tb3VudF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1zdWxvZ2luLWVtZXJnZW5jeS1tb3VudF0sCisJCSBbdXNlIGVtZXJnZW5jeSBtb3VudCBvZiAvZGV2IGFuZCAvcHJvYyBmb3Igc3Vsb2dpbl0pLAorICBbXSwgW2VuYWJsZV9zdWxvZ2luX2VtZXJnZW5jeV9tb3VudD1ub10KKykKKworQVNfSUYoW3Rlc3QgIngkZW5hYmxlX3N1bG9naW5fZW1lcmdlbmN5X21vdW50IiA9IHh5ZXNdLCBbCisgIEFDX0RFRklORShbVVNFX1NVTE9HSU5fRU1FUkdFTkNZX01PVU5UXSwgWzFdLAorCSAgICBbU2hvdWxkIHN1bG9naW4gdXNlIGEgZW1lcmdlbmN5IG1vdW50IG9mIC9kZXYgYW5kIC9wcm9jP10pCitdKQorCisKK0FDX0FSR19FTkFCTEUoW3VzcmRpci1wYXRoXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXVzcmRpci1wYXRoXSwgW3VzZSBvbmx5IC91c3IgcGF0aHMgaW4gUEFUSCBlbnYuIHZhcmlhYmxlIChyZWNvbW1lbmRlZCBvbiBzeXN0ZW1zIHdpdGggL2JpbiAtPiAvdXNyL2JpbiBzeW1saW5rcyldKSwKKyAgW10sIFtlbmFibGVfdXNyZGlyX3BhdGg9bm9dCispCisKK0FTX0lGKFt0ZXN0ICJ4JGVuYWJsZV91c3JkaXJfcGF0aCIgPT0geHllc10sIFsKKyAgQUNfREVGSU5FKFtVU0VfVVNSRElSX1BBVEhTX09OTFldLCBbMV0sIFtEZWZpbmUgdG8gMSB0byByZW1vdmUgL2JpbiBhbmQgL3NiaW4gZnJvbSBQQVRIIGVudi52YXJpYWJsZV0pCitdKQorCisKK0FDX0FSR19FTkFCTEUoW21ha2VpbnN0YWxsLWNob3duXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1tYWtlaW5zdGFsbC1jaG93bl0sIFtkbyBub3QgZG8gY2hvd24tbGlrZSBvcGVyYXRpb25zIGR1cmluZyAibWFrZSBpbnN0YWxsIl0pLAorICBbXSwgW2VuYWJsZV9tYWtlaW5zdGFsbF9jaG93bj15ZXNdCispCitBTV9DT05ESVRJT05BTChbTUFLRUlOU1RBTExfRE9fQ0hPV05dLCBbdGVzdCAieCRlbmFibGVfbWFrZWluc3RhbGxfY2hvd24iID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShbbWFrZWluc3RhbGwtc2V0dWlkXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1tYWtlaW5zdGFsbC1zZXR1aWRdLCBbZG8gbm90IGRvIHNldHVpZCBjaG1vZCBvcGVyYXRpb25zIGR1cmluZyAibWFrZSBpbnN0YWxsIl0pLAorICBbXSwgW2VuYWJsZV9tYWtlaW5zdGFsbF9zZXR1aWQ9eWVzXQorKQorQU1fQ09ORElUSU9OQUwoW01BS0VJTlNUQUxMX0RPX1NFVFVJRF0sIFt0ZXN0ICJ4JGVuYWJsZV9tYWtlaW5zdGFsbF9zZXR1aWQiID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShbY29sb3JzLWRlZmF1bHRdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWNvbG9ycy1kZWZhdWx0XSwgW2RvIG5vdCBjb2xvcml6ZSBvdXRwdXQgZnJvbSB1dGlscyBieSBkZWZhdWx0XSksCisgIFtdLCBbZW5hYmxlX2NvbG9yc19kZWZhdWx0PXllc10KKykKK0FTX0lGKFt0ZXN0ICJ4JGVuYWJsZV9jb2xvcnNfZGVmYXVsdCIgPSB4eWVzXSwgWworICBBQ19ERUZJTkUoW1VTRV9DT0xPUlNfQllfREVGQVVMVF0sIFsxXSwgW0VuYWJsZXMgY29sb3JpemVkIG91dHB1dCBmcm9tIHV0aWxzIGJ5IGRlZmF1bHRdKQorXSkKKworCitBQ19BUkdfVkFSKFtTVUlEX0NGTEFHU10sCisJICAgW0NGTEFHUyB1c2VkIGZvciBiaW5hcmllcyB3aGljaCBhcmUgdXN1YWxseSB3aXRoIHRoZSBzdWlkIGJpdF0pCitBQ19BUkdfVkFSKFtTVUlEX0xERkxBR1NdLAorCSAgIFtMREZMQUdTIHVzZWQgZm9yIGJpbmFyaWVzIHdoaWNoIGFyZSB1c3VhbGx5IHdpdGggdGhlIHN1aWQgYml0XSkKKworQUNfQVJHX1ZBUihbREFFTU9OX0NGTEFHU10sCisJICAgW0NGTEFHUyB1c2VkIGZvciBiaW5hcmllcyB3aGljaCBhcmUgdXN1YWxseSBleGVjdXRlZCBhcyBkYWVtb25zXSkKK0FDX0FSR19WQVIoW0RBRU1PTl9MREZMQUdTXSwKKwkgICBbTERGTEFHUyB1c2VkIGZvciBiaW5hcmllcyB3aGljaCBhcmUgdXN1YWxseSBleGVjdXRlZCBhcyBkYWVtb25zXSkKKworQUNfQVJHX1ZBUihbU09MSUJfQ0ZMQUdTXSwKKwkgICBbQ0ZMQUdTIHVzZWQgZm9yIHNoYXJlZCBsaWJyYXJpZXNdKQorQUNfQVJHX1ZBUihbU09MSUJfTERGTEFHU10sCisJICAgW0xERkxBR1MgdXNlZCBmb3Igc2hhcmVkIGxpYnJhcmllc10pCisKK0FDX0FSR19WQVIoW0FESlRJTUVfUEFUSF0sCisJICAgW1BhdGggdG8gaHdjbG9jayBhZGp0aW1lIGZpbGUsIGRlZmF1bHQgL2V0Yy9hZGp0aW1lXSkKK0FTX0lGKFt0ZXN0ICJ4JEFESlRJTUVfUEFUSCIgPSB4XSwgW0FESlRJTUVfUEFUSD0iL2V0Yy9hZGp0aW1lIl0pCitBQ19ERUZJTkVfVU5RVU9URUQoW0NPTkZJR19BREpUSU1FX1BBVEhdLCAiJEFESlRJTUVfUEFUSCIsIFtQYXRoIHRvIGh3Y2xvY2sgYWRqdGltZSBmaWxlXSkKKworCitMSUJTPSIiCisKKworQUNfQ09ORklHX0hFQURFUlMoW2NvbmZpZy5oXSkKKworIworIyBEb24ndCB1c2UgY29uZmlndXJlLmFjIHRvIHJlcGxhY2UgaW5zdGFsbCBwYXRocyEgU2VlIE1ha2VmaWxlIFBBVEhGSUxFUyBmb3IKKyMgbW9yZSBkZXRhaWxzLgorIworQUNfQ09ORklHX0ZJTEVTKFsKK01ha2VmaWxlCitsaWJibGtpZC9kb2NzL01ha2VmaWxlCitsaWJibGtpZC9kb2NzL3ZlcnNpb24ueG1sCitsaWJibGtpZC9zcmMvYmxraWQuaAorbGliZmRpc2svZG9jcy9NYWtlZmlsZQorbGliZmRpc2svZG9jcy92ZXJzaW9uLnhtbAorbGliZmRpc2svc3JjL2xpYmZkaXNrLmgKK2xpYm1vdW50L2RvY3MvTWFrZWZpbGUKK2xpYm1vdW50L2RvY3MvdmVyc2lvbi54bWwKK2xpYm1vdW50L3NyYy9saWJtb3VudC5oCitsaWJzbWFydGNvbHMvZG9jcy9NYWtlZmlsZQorbGlic21hcnRjb2xzL2RvY3MvdmVyc2lvbi54bWwKK2xpYnNtYXJ0Y29scy9zcmMvbGlic21hcnRjb2xzLmgKK3BvL01ha2VmaWxlLmluCitdKQorCitBQ19PVVRQVVQKKworQUNfTVNHX1JFU1VMVChbCisJJHtQQUNLQUdFfSAgJHtWRVJTSU9OfQorCisJcHJlZml4OiAgICAgICAgICAgICR7cHJlZml4fQorCWV4ZWMgcHJlZml4OiAgICAgICAke2V4ZWNfcHJlZml4fQorCisJbG9jYWxzdGF0ZWRpcjogICAgICR7bG9jYWxzdGF0ZWRpcn0KKwliaW5kaXI6ICAgICAgICAgICAgJHtiaW5kaXJ9CisJc2JpbmRpcjogICAgICAgICAgICR7c2JpbmRpcn0KKwlsaWJkaXI6ICAgICAgICAgICAgJHtsaWJkaXJ9CisJaW5jbHVkZWRpcjogICAgICAgICR7aW5jbHVkZWRpcn0KKwl1c3JiaW5fZXhlY2RpcjogICAgJHt1c3JiaW5fZXhlY2Rpcn0KKwl1c3JzYmluX2V4ZWNkaXI6ICAgJHt1c3JzYmluX2V4ZWNkaXJ9CisJdXNybGliX2V4ZWNkaXI6ICAgICR7dXNybGliX2V4ZWNkaXJ9CisKKwljb21waWxlcjogICAgICAgICAgJHtDQ30KKwljZmxhZ3M6ICAgICAgICAgICAgJHtDRkxBR1N9CisJc3VpZCBjZmxhZ3M6ICAgICAgICR7U1VJRF9DRkxBR1N9CisJbGRmbGFnczogICAgICAgICAgICR7TERGTEFHU30KKwlzdWlkIGxkZmxhZ3M6ICAgICAgJHtTVUlEX0xERkxBR1N9CisKKwlQeXRob246ICAgICAgICAgICAgJHtQWVRIT059CisJUHl0aG9uIHZlcnNpb246ICAgICR7UFlUSE9OX1ZFUlNJT059CisJUHl0aG9uIGxpYnM6ICAgICAgICR7cHlleGVjZGlyfQorCisJQmFzaCBjb21wbGV0aW9uczogICR7d2l0aF9iYXNoY29tcGxldGlvbmRpcn0KKwlTeXN0ZW1kIHN1cHBvcnQ6ICAgJHtoYXZlX3N5c3RlbWR9CisJQnRyZnMgc3VwcG9ydDogICAgICR7aGF2ZV9idHJmc30KKwlXaWRlLWNoYXIgc3VwcG9ydDogJHtidWlsZF93aWRlY2hhcn0KKworCXdhcm5pbmdzOgorCiske1dBUk5fQ0ZMQUdTfQorCisJVHlwZSAnbWFrZScgb3IgJ21ha2UgPHV0aWxuYW1lPicgdG8gY29tcGlsZS4KK10pCmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL01ha2Vtb2R1bGUuYW0gYi9kaXNrLXV0aWxzL01ha2Vtb2R1bGUuYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDliZmU4ZQotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvTWFrZW1vZHVsZS5hbQpAQCAtMCwwICsxLDIzNiBAQAorCitpZiBCVUlMRF9NSU5JWAorc2Jpbl9QUk9HUkFNUyArPSBmc2NrLm1pbml4CitkaXN0X21hbl9NQU5TICs9IGRpc2stdXRpbHMvZnNjay5taW5peC44Citmc2NrX21pbml4X1NPVVJDRVMgPSBcCisJZGlzay11dGlscy9mc2NrLm1pbml4LmMgXAorCWRpc2stdXRpbHMvbWluaXhfcHJvZ3JhbXMuaAorZnNja19taW5peF9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQorCitzYmluX1BST0dSQU1TICs9IG1rZnMubWluaXgKK2Rpc3RfbWFuX01BTlMgKz0gZGlzay11dGlscy9ta2ZzLm1pbml4LjgKK21rZnNfbWluaXhfU09VUkNFUyA9IFwKKwlkaXNrLXV0aWxzL21pbml4X3Byb2dyYW1zLmggXAorCWRpc2stdXRpbHMvbWtmcy5taW5peC5jCitta2ZzX21pbml4X0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCisKK2NoZWNrX1BST0dSQU1TICs9IHRlc3RfbWtmc19taW5peAordGVzdF9ta2ZzX21pbml4X1NPVVJDRVMgPSAkKG1rZnNfbWluaXhfU09VUkNFUykKK3Rlc3RfbWtmc19taW5peF9MREFERCA9ICQobWtmc19taW5peF9MREFERCkKK3Rlc3RfbWtmc19taW5peF9DRkxBR1MgPSAkKEFNX0NGTEFHUykgLURURVNUX1NDUklQVAorZW5kaWYKKworCitpZiBCVUlMRF9NS0ZTCitzYmluX1BST0dSQU1TICs9IG1rZnMKK2Rpc3RfbWFuX01BTlMgKz0gZGlzay11dGlscy9ta2ZzLjgKK21rZnNfU09VUkNFUyA9IGRpc2stdXRpbHMvbWtmcy5jCitlbmRpZgorCisKK2lmIEJVSUxEX0lTT1NJWkUKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IGlzb3NpemUKK2Rpc3RfbWFuX01BTlMgKz0gZGlzay11dGlscy9pc29zaXplLjgKK2lzb3NpemVfU09VUkNFUyA9IGRpc2stdXRpbHMvaXNvc2l6ZS5jCitpc29zaXplX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCitlbmRpZgorCisKK2lmIEJVSUxEX0JGUworc2Jpbl9QUk9HUkFNUyArPSBta2ZzLmJmcworZGlzdF9tYW5fTUFOUyArPSBkaXNrLXV0aWxzL21rZnMuYmZzLjgKK21rZnNfYmZzX1NPVVJDRVMgPSBcCisJZGlzay11dGlscy9ta2ZzLmJmcy5jCitta2ZzX2Jmc19MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQorZW5kaWYKKworCitpZiBCVUlMRF9NS1NXQVAKK3NiaW5fUFJPR1JBTVMgKz0gbWtzd2FwCitkaXN0X21hbl9NQU5TICs9IGRpc2stdXRpbHMvbWtzd2FwLjgKK21rc3dhcF9TT1VSQ0VTID0gXAorCWRpc2stdXRpbHMvbWtzd2FwLmMKK21rc3dhcF9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQorCitta3N3YXBfQ0ZMQUdTID0gJChBTV9DRkxBR1MpCitpZiBCVUlMRF9MSUJVVUlECitta3N3YXBfQ0ZMQUdTICs9IC1JJCh1bF9saWJ1dWlkX2luY2RpcikKK21rc3dhcF9MREFERCArPSBsaWJ1dWlkLmxhCitlbmRpZgoraWYgQlVJTERfTElCQkxLSUQKK21rc3dhcF9DRkxBR1MgKz0gLUkkKHVsX2xpYmJsa2lkX2luY2RpcikKK21rc3dhcF9MREFERCArPSBsaWJibGtpZC5sYQorZW5kaWYKK2lmIEhBVkVfU0VMSU5VWAorbWtzd2FwX0xEQUREICs9IC1sc2VsaW51eAorZW5kaWYKK2VuZGlmICMgQlVJTERfTUtTV0FQCisKKworaWYgQlVJTERfU1dBUExBQkVMCitzYmluX1BST0dSQU1TICs9IHN3YXBsYWJlbAorZGlzdF9tYW5fTUFOUyArPSBkaXNrLXV0aWxzL3N3YXBsYWJlbC44Citzd2FwbGFiZWxfU09VUkNFUyA9IFwKKwlkaXNrLXV0aWxzL3N3YXBsYWJlbC5jIFwKKwlsaWIvc3dhcHByb2Jlci5jIFwKKwlpbmNsdWRlL3N3YXBwcm9iZXIuaAorCitzd2FwbGFiZWxfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1JJCh1bF9saWJibGtpZF9pbmNkaXIpCitzd2FwbGFiZWxfTERBREQgPSAkKExEQUREKSBsaWJibGtpZC5sYSBsaWJjb21tb24ubGEKKworaWYgQlVJTERfTElCVVVJRAorc3dhcGxhYmVsX0xEQUREICs9IGxpYnV1aWQubGEKK3N3YXBsYWJlbF9DRkxBR1MgKz0gLUkkKHVsX2xpYnV1aWRfaW5jZGlyKQorZW5kaWYKK2VuZGlmICNCVUlMRF9TV0FQTEFCRUwKKworCitpZiBCVUlMRF9GU0NLCitzYmluX1BST0dSQU1TICs9IGZzY2sKK2Rpc3RfbWFuX01BTlMgKz0gZGlzay11dGlscy9mc2NrLjgKK2ZzY2tfU09VUkNFUyA9IGRpc2stdXRpbHMvZnNjay5jIGxpYi9tb25vdG9uaWMuYworZnNja19MREFERCA9ICQoTERBREQpIGxpYm1vdW50LmxhIGxpYmJsa2lkLmxhIGxpYmNvbW1vbi5sYSAkKFJFQUxUSU1FX0xJQlMpCitmc2NrX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtSSQodWxfbGlibW91bnRfaW5jZGlyKSAtSSQodWxfbGliYmxraWRfaW5jZGlyKQorZW5kaWYKKworCitpZiBCVUlMRF9SQVcKK3NiaW5fUFJPR1JBTVMgKz0gcmF3CitkaXN0X21hbl9NQU5TICs9IGRpc2stdXRpbHMvcmF3LjgKK3Jhd19TT1VSQ0VTID0gZGlzay11dGlscy9yYXcuYworZW5kaWYKKworCitpZiBCVUlMRF9DUkFNRlMKK2NyYW1mc19jb21tb25fc291cmNlcyA9IGRpc2stdXRpbHMvY3JhbWZzLmggZGlzay11dGlscy9jcmFtZnNfY29tbW9uLmMKK3NiaW5fUFJPR1JBTVMgKz0gZnNjay5jcmFtZnMKK2ZzY2tfY3JhbWZzX1NPVVJDRVMgPSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmMgJChjcmFtZnNfY29tbW9uX3NvdXJjZXMpCitmc2NrX2NyYW1mc19MREFERCA9ICQoTERBREQpIC1seiBsaWJjb21tb24ubGEKK2Rpc3RfbWFuX01BTlMgKz0gZGlzay11dGlscy9mc2NrLmNyYW1mcy44CisKK3NiaW5fUFJPR1JBTVMgKz0gbWtmcy5jcmFtZnMKK21rZnNfY3JhbWZzX1NPVVJDRVMgPSBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmMgJChjcmFtZnNfY29tbW9uX3NvdXJjZXMpCitta2ZzX2NyYW1mc19MREFERCA9ICQoTERBREQpIC1seiBsaWJjb21tb24ubGEKK2Rpc3RfbWFuX01BTlMgKz0gZGlzay11dGlscy9ta2ZzLmNyYW1mcy44CitlbmRpZgorCitpZiBCVUlMRF9GREZPUk1BVAordXNyc2Jpbl9leGVjX1BST0dSQU1TICs9IGZkZm9ybWF0CitkaXN0X21hbl9NQU5TICs9IGRpc2stdXRpbHMvZmRmb3JtYXQuOAorZmRmb3JtYXRfU09VUkNFUyA9IGRpc2stdXRpbHMvZmRmb3JtYXQuYworZmRmb3JtYXRfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEKK2VuZGlmCisKK2lmIEJVSUxEX0JMT0NLREVWCitzYmluX1BST0dSQU1TICs9IGJsb2NrZGV2CitkaXN0X21hbl9NQU5TICs9IGRpc2stdXRpbHMvYmxvY2tkZXYuOAorYmxvY2tkZXZfU09VUkNFUyA9IGRpc2stdXRpbHMvYmxvY2tkZXYuYworYmxvY2tkZXZfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEKK2VuZGlmCisKKworaWYgQlVJTERfRkRJU0sKK3NiaW5fUFJPR1JBTVMgKz0gZmRpc2sKK2Rpc3RfbWFuX01BTlMgKz0gZGlzay11dGlscy9mZGlzay44CitmZGlza19TT1VSQ0VTID0gXAorCWRpc2stdXRpbHMvZmRpc2suYyBcCisJZGlzay11dGlscy9mZGlzay5oIFwKKwlkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYyBcCisJZGlzay11dGlscy9mZGlzay1saXN0LmMgXAorCWRpc2stdXRpbHMvZmRpc2stbGlzdC5oCisKK2ZkaXNrX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhIGxpYmZkaXNrLmxhIFwKKwkgICAgICBsaWJzbWFydGNvbHMubGEgbGlidGNvbG9ycy5sYSAkKFJFQURMSU5FX0xJQlMpCitmZGlza19DRkxBR1MgPSAkKEFNX0NGTEFHUykgLUkkKHVsX2xpYmZkaXNrX2luY2RpcikgLUkkKHVsX2xpYnNtYXJ0Y29sc19pbmNkaXIpCisKK2lmIEhBVkVfU1RBVElDX0ZESVNLCitzYmluX1BST0dSQU1TICs9IGZkaXNrLnN0YXRpYworZmRpc2tfc3RhdGljX1NPVVJDRVMgPSAkKGZkaXNrX1NPVVJDRVMpCitmZGlza19zdGF0aWNfTERGTEFHUyA9IC1hbGwtc3RhdGljCitmZGlza19zdGF0aWNfQ0ZMQUdTID0gJChmZGlza19DRkxBR1MpCitmZGlza19zdGF0aWNfTERBREQgPSAkKGZkaXNrX0xEQUREKSAkKFJFQURMSU5FX0xJQlNfU1RBVElDKQorZW5kaWYKK2VuZGlmICMgQlVJTERfRkRJU0sKKworCitpZiBCVUlMRF9TRkRJU0sKK3NiaW5fUFJPR1JBTVMgKz0gc2ZkaXNrCitkaXN0X21hbl9NQU5TICs9IGRpc2stdXRpbHMvc2ZkaXNrLjgKK3NmZGlza19TT1VSQ0VTID0gXAorCWRpc2stdXRpbHMvc2ZkaXNrLmMgXAorCWRpc2stdXRpbHMvZmRpc2stbGlzdC5jIFwKKwlkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuaAorCitzZmRpc2tfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEgbGliZmRpc2subGEgXAorCSAgICAgICBsaWJzbWFydGNvbHMubGEgbGlidGNvbG9ycy5sYSAkKFJFQURMSU5FX0xJQlMpCitzZmRpc2tfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1JJCh1bF9saWJmZGlza19pbmNkaXIpIC1JJCh1bF9saWJzbWFydGNvbHNfaW5jZGlyKQorCitpZiBIQVZFX1NUQVRJQ19TRkRJU0sKK3NiaW5fUFJPR1JBTVMgKz0gc2ZkaXNrLnN0YXRpYworc2ZkaXNrX3N0YXRpY19TT1VSQ0VTID0gJChzZmRpc2tfU09VUkNFUykKK3NmZGlza19zdGF0aWNfTERGTEFHUyA9IC1hbGwtc3RhdGljCitzZmRpc2tfc3RhdGljX0NGTEFHUyA9ICQoc2ZkaXNrX0NGTEFHUykKK3NmZGlza19zdGF0aWNfTERBREQgPSAkKHNmZGlza19MREFERCkgJChSRUFETElORV9MSUJTX1NUQVRJQykKK2VuZGlmCitlbmRpZiAjIEJVSUxEX1NGRElTSworCisKK2lmIEJVSUxEX0NGRElTSworc2Jpbl9QUk9HUkFNUyArPSBjZmRpc2sKK2Rpc3RfbWFuX01BTlMgKz0gZGlzay11dGlscy9jZmRpc2suOAorY2ZkaXNrX1NPVVJDRVMgPSBkaXNrLXV0aWxzL2NmZGlzay5jCitjZmRpc2tfTERBREQgPSBcCisJJChMREFERCkgXAorCWxpYnNtYXJ0Y29scy5sYSBcCisJbGliY29tbW9uLmxhIFwKKwlsaWJmZGlzay5sYSBcCisJbGlidGNvbG9ycy5sYQorY2ZkaXNrX0NGTEFHUyA9IFwKKwkkKEFNX0NGTEFHUykgXAorCS1JJCh1bF9saWJmZGlza19pbmNkaXIpIFwKKwktSSQodWxfbGlic21hcnRjb2xzX2luY2RpcikKKworaWYgQlVJTERfTElCTU9VTlQKK2NmZGlza19DRkxBR1MgKz0gLUkkKHVsX2xpYm1vdW50X2luY2RpcikKK2NmZGlza19MREFERCArPSBsaWJtb3VudC5sYQorZW5kaWYKKworaWYgSEFWRV9TTEFORworY2ZkaXNrX0xEQUREICs9IC1sc2xhbmcKK2Vsc2UKK2NmZGlza19DRkxBR1MgKz0gJChOQ1VSU0VTX0NGTEFHUykKK2NmZGlza19MREFERCArPSAkKE5DVVJTRVNfTElCUykKK2VuZGlmCitlbmRpZiAjIEJVSUxEX0NGRElTSworCisKK2lmIEJVSUxEX1BBUlRYCit1c3JzYmluX2V4ZWNfUFJPR1JBTVMgKz0gcGFydHggYWRkcGFydCBkZWxwYXJ0IHJlc2l6ZXBhcnQKK2Rpc3RfbWFuX01BTlMgKz0gXAorCWRpc2stdXRpbHMvYWRkcGFydC44IFwKKwlkaXNrLXV0aWxzL2RlbHBhcnQuOCBcCisJZGlzay11dGlscy9yZXNpemVwYXJ0LjggXAorCWRpc2stdXRpbHMvcGFydHguOAorCithZGRwYXJ0X1NPVVJDRVMgPSBcCisJZGlzay11dGlscy9hZGRwYXJ0LmMgXAorCWRpc2stdXRpbHMvcGFydHguaAorYWRkcGFydF9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQorCitkZWxwYXJ0X1NPVVJDRVMgPSBcCisJZGlzay11dGlscy9kZWxwYXJ0LmMgXAorCWRpc2stdXRpbHMvcGFydHguaAorZGVscGFydF9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQorCityZXNpemVwYXJ0X1NPVVJDRVMgPSBcCisJZGlzay11dGlscy9yZXNpemVwYXJ0LmMgXAorCWRpc2stdXRpbHMvcGFydHguaAorcmVzaXplcGFydF9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQorCitwYXJ0eF9TT1VSQ0VTID0gXAorCWRpc2stdXRpbHMvcGFydHguYyBcCisJZGlzay11dGlscy9wYXJ0eC5oCitwYXJ0eF9DRkxBR1MgPSAkKEFNX0NGTEFHUykgLUkkKHVsX2xpYmJsa2lkX2luY2RpcikgLUkkKHVsX2xpYnNtYXJ0Y29sc19pbmNkaXIpCitwYXJ0eF9MREFERCA9ICQoTERBREQpIGxpYmJsa2lkLmxhIGxpYmNvbW1vbi5sYSBsaWJzbWFydGNvbHMubGEKKworZW5kaWYgIyBCVUlMRF9QQVJUWApkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9hZGRwYXJ0LjggYi9kaXNrLXV0aWxzL2FkZHBhcnQuOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzc5NTgxCi0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9hZGRwYXJ0LjgKQEAgLTAsMCArMSw0MCBAQAorLlwiIGFkZHBhcnQuOCAtLSBtYW4gcGFnZSBmb3IgYWRkcGFydAorLlwiIENvcHlyaWdodCAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorLlwiIENvcHlyaWdodCAyMDA3IFJlZCBIYXQsIEluYy4KKy5cIiBNYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisuVEggQUREUEFSVCA4ICJKYW51YXJ5IDIwMTUiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK2FkZHBhcnQgXC0gdGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBleGlzdGVuY2Ugb2YgYSBwYXJ0aXRpb24KKy5TSCBTWU5PUFNJUworLkIgYWRkcGFydAorLkkgZGV2aWNlIHBhcnRpdGlvbiBzdGFydCBsZW5ndGgKKy5TSCBERVNDUklQVElPTgorLkIgYWRkcGFydAordGVsbHMgdGhlIExpbnV4IGtlcm5lbCBhYm91dCB0aGUgZXhpc3RlbmNlIG9mIHRoZSBzcGVjaWZpZWQgcGFydGl0aW9uLgorVGhlIGNvbW1hbmQgaXMgYSBzaW1wbGUgd3JhcHBlciBhcm91bmQgdGhlICJhZGQgcGFydGl0aW9uIiBpb2N0bC4KKworVGhpcyBjb21tYW5kIGRvZXNuJ3QgbWFuaXB1bGF0ZSBwYXJ0aXRpb25zIG9uIGEgYmxvY2sgZGV2aWNlLgorCisuU0ggUEFSQU1FVEVSUworLlRQCisuSSBkZXZpY2UKK1RoZSBkaXNrIGRldmljZS4KKy5UUAorLkkgcGFydGl0aW9uCitUaGUgcGFydGl0aW9uIG51bWJlci4KKy5UUAorLkkgc3RhcnQKK1RoZSBiZWdpbm5pbmcgb2YgdGhlIHBhcnRpdGlvbiAoaW4gNTEyLWJ5dGUgc2VjdG9ycykuCisuVFAKKy5JIGxlbmd0aAorVGhlIGxlbmd0aCBvZiB0aGUgcGFydGl0aW9uIChpbiA1MTItYnl0ZSBzZWN0b3JzKS4KKworLlNIIFNFRSBBTFNPCisuQlIgZGVscGFydCAoOCksCisuQlIgZmRpc2sgKDgpLAorLkJSIHBhcnRlZCAoOCksCisuQlIgcGFydHByb2JlICg4KSwKKy5CUiBwYXJ0eCAoOCkKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBhZGRwYXJ0IGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9hZGRwYXJ0LmMgYi9kaXNrLXV0aWxzL2FkZHBhcnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43M2ZkMWZmCi0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9hZGRwYXJ0LmMKQEAgLTAsMCArMSw2NSBAQAorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJwYXJ0eC5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKSB1c2FnZShGSUxFICogb3V0KQoreworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxzdGFydD4gPGxlbmd0aD5cbiIpLAorCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBleGlzdGVuY2Ugb2YgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKFVTQUdFX0hFTFAsIG91dCk7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoImFkZHBhcnQoOCkiKSk7CisJZXhpdChvdXQgPT0gc3RkZXJyID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBjLCBmZDsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsiaGVscCIsIG5vX2FyZ3VtZW50LCAwLCAnaCd9LAorCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgMCwgJ1YnfSwKKwkJe05VTEwsIG5vX2FyZ3VtZW50LCAwLCAnMCd9LAorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIlZoIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQl9CisKKwlpZiAoYXJnYyAhPSA1KQorCQl1c2FnZShzdGRlcnIpOworCisJaWYgKChmZCA9IG9wZW4oYXJndlsxXSwgT19SRE9OTFkpKSA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksIGFyZ3ZbMV0pOworCisJaWYgKHBhcnR4X2FkZF9wYXJ0aXRpb24oZmQsCisJCQlzdHJ0b3UzMl9vcl9lcnIoYXJndlsyXSwgXygiaW52YWxpZCBwYXJ0aXRpb24gbnVtYmVyIGFyZ3VtZW50IikpLAorCQkJc3RydG91NjRfb3JfZXJyKGFyZ3ZbM10sIF8oImludmFsaWQgc3RhcnQgYXJndW1lbnQiKSksCisJCQlzdHJ0b3U2NF9vcl9lcnIoYXJndls0XSwgXygiaW52YWxpZCBsZW5ndGggYXJndW1lbnQiKSkpKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWRkIHBhcnRpdGlvbiIpKTsKKworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL2Jsb2NrZGV2LjggYi9kaXNrLXV0aWxzL2Jsb2NrZGV2LjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTgyMzM4NQotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvYmxvY2tkZXYuOApAQCAtMCwwICsxLDg1IEBACisuXCIgQ29weXJpZ2h0IDE5OTggQW5kcmllcyBFLiBCcm91d2VyIChhZWJAY3dpLm5sKQorLlwiIENvcHlyaWdodCAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorLlwiCisuXCIgTWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLlRIIEJMT0NLREVWIDggIkF1Z3VzdCAyMDEwIiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitibG9ja2RldiBcLSBjYWxsIGJsb2NrIGRldmljZSBpb2N0bHMgZnJvbSB0aGUgY29tbWFuZCBsaW5lCisuU0ggU1lOT1BTSVMKKy5CIGJsb2NrZGV2CisuUkIgWyBcLXEgXQorLlJCIFsgXC12IF0KKy5JIGNvbW1hbmQKKy5SSSBbIGNvbW1hbmQgXCYuLi5cJl0KKy5JIGRldmljZQorLlJJIFsgZGV2aWNlIFwmLi4uXCZdCisuYnIKKy5CIGJsb2NrZGV2CisuQiBcLVwtcmVwb3J0CisuUkkgWyBkZXZpY2UgXCYuLi5cJl0KKy5TSCBERVNDUklQVElPTgorVGhlIHV0aWxpdHkKKy5CIGJsb2NrZGV2CithbGxvd3Mgb25lIHRvIGNhbGwgYmxvY2sgZGV2aWNlIGlvY3RscyBmcm9tIHRoZSBjb21tYW5kIGxpbmUuCisuU0ggT1BUSU9OUworLklQICJcZkJcLVZcZlAiCitQcmludCB2ZXJzaW9uIGFuZCBleGl0LgorLklQICJcZkJcLXFcZlAiCitCZSBxdWlldC4KKy5JUCAiXGZCXC12XGZQIgorQmUgdmVyYm9zZS4KKy5JUCAiXGZCXC1cLXJlcG9ydFxmUCIKK1ByaW50IGEgcmVwb3J0IGZvciB0aGUgc3BlY2lmaWVkIGRldmljZS4gSXQgaXMgcG9zc2libGUgdG8gZ2l2ZSBtdWx0aXBsZQorZGV2aWNlcy4gSWYgbm9uZSBpcyBnaXZlbiwgYWxsIGRldmljZXMgd2hpY2ggYXBwZWFyIGluIC9wcm9jL3BhcnRpdGlvbnMgYXJlCitzaG93bi4gTm90ZSB0aGF0IHRoZSBwYXJ0aXRpb24gU3RhcnRTZWMgaXMgaW4gNTEyLWJ5dGUgc2VjdG9ycy4KKy5TSCBDT01NQU5EUworSXQgaXMgcG9zc2libGUgdG8gZ2l2ZSBtdWx0aXBsZSBkZXZpY2VzIGFuZCBtdWx0aXBsZSBjb21tYW5kcy4KKy5JUCAiXGZCXC1cLWZsdXNoYnVmc1xmUCIKK0ZsdXNoIGJ1ZmZlcnMuCisuSVAgIlxmQlwtXC1nZXRhbGlnbm9mZlxmUCIKK0dldCBhbGlnbm1lbnQgb2Zmc2V0LgorLklQICJcZkJcLVwtZ2V0YnN6XGZQIgorUHJpbnQgYmxvY2tzaXplIGluIGJ5dGVzLgorLklQICJcZkJcLVwtZ2V0ZGlzY2FyZHplcm9lc1xmUCIKK0dldCBkaXNjYXJkIHplcm9lcyBzdXBwb3J0IHN0YXR1cy4KKy5JUCAiXGZCXC1cLWdldGZyYVxmUCIKK0dldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCBpbiA1MTItYnl0ZSBzZWN0b3JzLgorLklQICJcZkJcLVwtZ2V0aW9taW5cZlAiCitHZXQgbWluaW11bSBJL08gc2l6ZS4KKy5JUCAiXGZCXC1cLWdldGlvb3B0XGZQIgorR2V0IG9wdGltYWwgSS9PIHNpemUuCisuSVAgIlxmQlwtXC1nZXRtYXhzZWN0XGZQIgorR2V0IG1heCBzZWN0b3JzIHBlciByZXF1ZXN0CisuSVAgIlxmQlwtXC1nZXRwYnN6XGZQIgorR2V0IHBoeXNpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUuCisuSVAgIlxmQlwtXC1nZXRyYVxmUCIKK1ByaW50IHJlYWRhaGVhZCAoaW4gNTEyLWJ5dGUgc2VjdG9ycykuCisuSVAgIlxmQlwtXC1nZXRyb1xmUCIKK0dldCByZWFkLW9ubHkuIFByaW50IDEgaWYgdGhlIGRldmljZSBpcyByZWFkLW9ubHksIDAgb3RoZXJ3aXNlLgorLklQICJcZkJcLVwtZ2V0c2l6ZTY0XGZQIgorUHJpbnQgZGV2aWNlIHNpemUgaW4gYnl0ZXMuCisuSVAgIlxmQlwtXC1nZXRzaXplXGZQIgorUHJpbnQgZGV2aWNlIHNpemUgKDMyLWJpdCEpIGluIHNlY3RvcnMuIERlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgdGhlIFwtXC1nZXRzeiBvcHRpb24uCisuSVAgIlxmQlwtXC1nZXRzc1xmUCIKK1ByaW50IHNlY3RvciBzaXplIGluIGJ5dGVzIFwoZW4gdXN1YWxseSA1MTIuCisuSVAgIlxmQlwtXC1nZXRzelxmUCIKK0dldCBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnMuCisuSVAgIlxmQlwtXC1yZXJlYWRwdFxmUCIKK1JlcmVhZCBwYXJ0aXRpb24gdGFibGUKKy5JUCAiXGZCXC1cLXNldGJzelxmUCBcZklieXRlc1xmUCIKK1NldCBibG9ja3NpemUuIE5vdGUgdGhhdCB0aGUgYmxvY2sgc2l6ZSBpcyBzcGVjaWZpYyB0byB0aGUgY3VycmVudCBmaWxlCitkZXNjcmlwdG9yIG9wZW5pbmcgdGhlIGJsb2NrIGRldmljZSwgc28gdGhlIGNoYW5nZSBvZiBibG9jayBzaXplIG9ubHkgcGVyc2lzdHMKK2ZvciBhcyBsb25nIGFzIGJsb2NrZGV2IGhhcyB0aGUgZGV2aWNlIG9wZW4sIGFuZCBpcyBsb3N0IG9uY2UgYmxvY2tkZXYgZXhpdHMuCisuSVAgIlxmQlwtXC1zZXRmcmFcZlAgXGZJc2VjdG9yc1xmUCIKK1NldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCAoc2FtZSBsaWtlIFwtXC1zZXRyYSBvbiAyLjYga2VybmVscykuCisuSVAgIlxmQlwtXC1zZXRyYVxmUCBcZklzZWN0b3JzXGZQIgorU2V0IHJlYWRhaGVhZCAoaW4gNTEyLWJ5dGUgc2VjdG9ycykuCisuSVAgIlxmQlwtXC1zZXRyb1xmUCIKK1NldCByZWFkLW9ubHkuCisuSVAgIlxmQlwtXC1zZXRyd1xmUCIKK1NldCByZWFkLXdyaXRlLgorLlNIIEFVVEhPUgorYmxvY2tkZXYgd2FzIHdyaXR0ZW4gYnkgQW5kcmllcyBFLlwmIEJyb3V3ZXIgYW5kIHJld3JpdHRlbiBieSBLYXJlbCBaYWsuCisuU0ggQVZBSUxBQklMSVRZCitUaGUgYmxvY2tkZXYgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL2Jsb2NrZGV2LmMgYi9kaXNrLXV0aWxzL2Jsb2NrZGV2LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmY2NjgxYwotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvYmxvY2tkZXYuYwpAQCAtMCwwICsxLDQ4MyBAQAorLyoKKyAqIGJsb2NrZGV2LmMgLS0tIERvIHZhcmlvdXMgc2ltcGxlIGJsb2NrIGRldmljZSBpb2N0bHMgZnJvbSB0aGUgY29tbWFuZCBsaW5lCisgKiBhZWIsIDk5MTAyOAorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJibGtkZXYuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgInN5c2ZzLmgiCisKK3N0cnVjdCBiZGMgeworCWxvbmcJCWlvYzsJCS8qIGlvY3RsIGNvZGUgKi8KKwljb25zdCBjaGFyCSppb2NuYW1lOwkvKiBpb2N0bCBuYW1lIChlLmcuIEJMS1JPU0VUKSAqLworCWxvbmcJCWFyZ3ZhbDsJCS8qIGRlZmF1bHQgYXJndW1lbnQgKi8KKworCWNvbnN0IGNoYXIJKm5hbWU7CQkvKiAtLXNldGZvbyAqLworCWNvbnN0IGNoYXIJKmFyZ25hbWU7CS8qIGFyZ3VtZW50IG5hbWUgb3IgTlVMTCAqLworCisJY29uc3QgY2hhcgkqaGVscDsKKworCWludAkJYXJndHlwZTsKKwlpbnQJCWZsYWdzOworfTsKKworLyogY29tbWFuZCBmbGFncyAqLworZW51bSB7CisJRkxfTk9QVFIJPSAoMSA8PCAxKSwJLyogZG9lcyBub3QgYXNzdW1lIHBvaW50ZXIgKEFSR19JTlQgb25seSkqLworCUZMX05PUkVTVUxUCT0gKDEgPDwgMikJLyogZG9lcyBub3QgcmV0dXJuIGFueSBkYXRhICovCit9OworCisvKiBpb2N0bCBhcmd1bWVudCB0eXBlcyAqLworZW51bSB7CisJQVJHX05PTkUsCisJQVJHX1VTSFJULAorCUFSR19JTlQsCisJQVJHX1VJTlQsCisJQVJHX0xPTkcsCisJQVJHX1VMT05HLAorCUFSR19MTE9ORywKKwlBUkdfVUxMT05HCit9OworCisjZGVmaW5lIElPQ1RMX0VOVFJZKCBpbyApCS5pb2MgPSBpbywgLmlvY25hbWUgPSAjIGlvCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYmRjIGJkY21zW10gPQoreworCXsKKwkJSU9DVExfRU5UUlkoQkxLUk9TRVQpLAorCQkubmFtZSA9ICItLXNldHJvIiwKKwkJLmFyZ3R5cGUgPSBBUkdfSU5ULAorCQkuYXJndmFsID0gMSwKKwkJLmZsYWdzID0gRkxfTk9SRVNVTFQsCisJCS5oZWxwID0gTl8oInNldCByZWFkLW9ubHkiKQorCX0seworCQlJT0NUTF9FTlRSWShCTEtST1NFVCksCisJCS5uYW1lID0gIi0tc2V0cnciLAorCQkuYXJndHlwZSA9IEFSR19JTlQsCisJCS5hcmd2YWwgPSAwLAorCQkuZmxhZ3MgPSBGTF9OT1JFU1VMVCwKKwkJLmhlbHAgPSBOXygic2V0IHJlYWQtd3JpdGUiKQorCX0seworCQlJT0NUTF9FTlRSWShCTEtST0dFVCksCisJCS5uYW1lID0gIi0tZ2V0cm8iLAorCQkuYXJndHlwZSA9IEFSR19JTlQsCisJCS5hcmd2YWwgPSAtMSwKKwkJLmhlbHAgPSBOXygiZ2V0IHJlYWQtb25seSIpCisJfSx7CisJCUlPQ1RMX0VOVFJZKEJMS0RJU0NBUkRaRVJPRVMpLAorCQkubmFtZSA9ICItLWdldGRpc2NhcmR6ZXJvZXMiLAorCQkuYXJndHlwZSA9IEFSR19VSU5ULAorCQkuYXJndmFsID0gLTEsCisJCS5oZWxwID0gTl8oImdldCBkaXNjYXJkIHplcm9lcyBzdXBwb3J0IHN0YXR1cyIpCisJfSx7CisJCUlPQ1RMX0VOVFJZKEJMS1NTWkdFVCksCisJCS5uYW1lID0gIi0tZ2V0c3MiLAorCQkuYXJndHlwZSA9IEFSR19JTlQsCisJCS5hcmd2YWwgPSAtMSwKKwkJLmhlbHAgPSBOXygiZ2V0IGxvZ2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIpCisJfSx7CisJCUlPQ1RMX0VOVFJZKEJMS1BCU1pHRVQpLAorCQkubmFtZSA9ICItLWdldHBic3oiLAorCQkuYXJndHlwZSA9IEFSR19VSU5ULAorCQkuYXJndmFsID0gLTEsCisJCS5oZWxwID0gTl8oImdldCBwaHlzaWNhbCBibG9jayAoc2VjdG9yKSBzaXplIikKKwl9LHsKKwkJSU9DVExfRU5UUlkoQkxLSU9NSU4pLAorCQkubmFtZSA9ICItLWdldGlvbWluIiwKKwkJLmFyZ3R5cGUgPSBBUkdfVUlOVCwKKwkJLmFyZ3ZhbCA9IC0xLAorCQkuaGVscCA9IE5fKCJnZXQgbWluaW11bSBJL08gc2l6ZSIpCisJfSx7CisJCUlPQ1RMX0VOVFJZKEJMS0lPT1BUKSwKKwkJLm5hbWUgPSAiLS1nZXRpb29wdCIsCisJCS5hcmd0eXBlID0gQVJHX1VJTlQsCisJCS5hcmd2YWwgPSAtMSwKKwkJLmhlbHAgPSBOXygiZ2V0IG9wdGltYWwgSS9PIHNpemUiKQorCX0seworCQlJT0NUTF9FTlRSWShCTEtBTElHTk9GRiksCisJCS5uYW1lID0gIi0tZ2V0YWxpZ25vZmYiLAorCQkuYXJndHlwZSA9IEFSR19JTlQsCisJCS5hcmd2YWwgPSAtMSwKKwkJLmhlbHAgPSBOXygiZ2V0IGFsaWdubWVudCBvZmZzZXQgaW4gYnl0ZXMiKQorCX0seworCQlJT0NUTF9FTlRSWShCTEtTRUNUR0VUKSwKKwkJLm5hbWUgPSAiLS1nZXRtYXhzZWN0IiwKKwkJLmFyZ3R5cGUgPSBBUkdfVVNIUlQsCisJCS5hcmd2YWwgPSAtMSwKKwkJLmhlbHAgPSBOXygiZ2V0IG1heCBzZWN0b3JzIHBlciByZXF1ZXN0IikKKwl9LHsKKwkJSU9DVExfRU5UUlkoQkxLQlNaR0VUKSwKKwkJLm5hbWUgPSAiLS1nZXRic3oiLAorCQkuYXJndHlwZSA9IEFSR19JTlQsCisJCS5hcmd2YWwgPSAtMSwKKwkJLmhlbHAgPSBOXygiZ2V0IGJsb2Nrc2l6ZSIpCisJfSx7CisJCUlPQ1RMX0VOVFJZKEJMS0JTWlNFVCksCisJCS5uYW1lID0gIi0tc2V0YnN6IiwKKwkJLmFyZ25hbWUgPSAiPGJ5dGVzPiIsCisJCS5hcmd0eXBlID0gQVJHX0lOVCwKKwkJLmZsYWdzID0gRkxfTk9SRVNVTFQsCisJICAgICAgICAuaGVscCA9IE5fKCJzZXQgYmxvY2tzaXplIG9uIGZpbGUgZGVzY3JpcHRvciBvcGVuaW5nIHRoZSBibG9jayBkZXZpY2UiKQorCX0seworCQlJT0NUTF9FTlRSWShCTEtHRVRTSVpFKSwKKwkJLm5hbWUgPSAiLS1nZXRzaXplIiwKKwkJLmFyZ3R5cGUgPSBBUkdfVUxPTkcsCisJCS5hcmd2YWwgPSAtMSwKKwkJLmhlbHAgPSBOXygiZ2V0IDMyLWJpdCBzZWN0b3IgY291bnQgKGRlcHJlY2F0ZWQsIHVzZSAtLWdldHN6KSIpCisJfSx7CisJCUlPQ1RMX0VOVFJZKEJMS0dFVFNJWkU2NCksCisJCS5uYW1lID0gIi0tZ2V0c2l6ZTY0IiwKKwkJLmFyZ3R5cGUgPSBBUkdfVUxMT05HLAorCQkuYXJndmFsID0gLTEsCisJCS5oZWxwID0gTl8oImdldCBzaXplIGluIGJ5dGVzIikKKwl9LHsKKwkJSU9DVExfRU5UUlkoQkxLUkFTRVQpLAorCQkubmFtZSA9ICItLXNldHJhIiwKKwkJLmFyZ25hbWUgPSAiPHNlY3RvcnM+IiwKKwkJLmFyZ3R5cGUgPSBBUkdfSU5ULAorCQkuZmxhZ3MgPSBGTF9OT1BUUiB8IEZMX05PUkVTVUxULAorCQkuaGVscCA9IE5fKCJzZXQgcmVhZGFoZWFkIikKKwl9LHsKKwkJSU9DVExfRU5UUlkoQkxLUkFHRVQpLAorCQkubmFtZSA9ICItLWdldHJhIiwKKwkJLmFyZ3R5cGUgPSBBUkdfTE9ORywKKwkJLmFyZ3ZhbCA9IC0xLAorCQkuaGVscCA9IE5fKCJnZXQgcmVhZGFoZWFkIikKKwl9LHsKKwkJSU9DVExfRU5UUlkoQkxLRlJBU0VUKSwKKwkJLm5hbWUgPSAiLS1zZXRmcmEiLAorCQkuYXJnbmFtZSA9ICI8c2VjdG9ycz4iLAorCQkuYXJndHlwZSA9IEFSR19JTlQsCisJCS5mbGFncyA9IEZMX05PUFRSIHwgRkxfTk9SRVNVTFQsCisJCS5oZWxwID0gTl8oInNldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIpCisJfSx7CisJCUlPQ1RMX0VOVFJZKEJMS0ZSQUdFVCksCisJCS5uYW1lID0gIi0tZ2V0ZnJhIiwKKwkJLmFyZ3R5cGUgPSBBUkdfTE9ORywKKwkJLmFyZ3ZhbCA9IC0xLAorCQkuaGVscCA9IE5fKCJnZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiKQorCX0seworCQlJT0NUTF9FTlRSWShCTEtGTFNCVUYpLAorCQkubmFtZSA9ICItLWZsdXNoYnVmcyIsCisJCS5oZWxwID0gTl8oImZsdXNoIGJ1ZmZlcnMiKQorCX0seworCQlJT0NUTF9FTlRSWShCTEtSUlBBUlQpLAorCQkubmFtZSA9ICItLXJlcmVhZHB0IiwKKwkJLmhlbHAgPSBOXygicmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIpCisJfQorfTsKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXyAoKF9fbm9yZXR1cm5fXykpIHVzYWdlKEZJTEUgKiBvdXQpCit7CisJc2l6ZV90IGk7CisJZnByaW50ZihvdXQsIF8oIlxuVXNhZ2U6XG4iCisJCSAgICAgICAiICUxJHMgLVZcbiIKKwkJICAgICAgICIgJTEkcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKwkJICAgICAgICIgJTEkcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcblxuIgorCQkgICAgICAgIkF2YWlsYWJsZSBjb21tYW5kczpcbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHJpbnRmKG91dCwgXygiICUtMjVzIGdldCBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnNcbiIpLCAiLS1nZXRzeiIpOworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGJkY21zKTsgaSsrKSB7CisJCWlmIChiZGNtc1tpXS5hcmduYW1lKQorCQkJZnByaW50ZihvdXQsICIgJXMgJS0qcyAlc1xuIiwgYmRjbXNbaV0ubmFtZSwKKwkJCQkoaW50KSgyNCAtIHN0cmxlbihiZGNtc1tpXS5uYW1lKSksCisJCQkJYmRjbXNbaV0uYXJnbmFtZSwgXyhiZGNtc1tpXS5oZWxwKSk7CisJCWVsc2UKKwkJCWZwcmludGYob3V0LCAiICUtMjVzICVzXG4iLCBiZGNtc1tpXS5uYW1lLAorCQkJCV8oYmRjbXNbaV0uaGVscCkpOworCX0KKwlmcHV0YygnXG4nLCBvdXQpOworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyBpbnQgZmluZF9jbWQoY2hhciAqcykKK3sKKwlzaXplX3QgajsKKworCWZvciAoaiA9IDA7IGogPCBBUlJBWV9TSVpFKGJkY21zKTsgaisrKQorCQlpZiAoIXN0cmNtcChzLCBiZGNtc1tqXS5uYW1lKSkKKwkJCXJldHVybiBqOworCXJldHVybiAtMTsKK30KKworc3RhdGljIHZvaWQgZG9fY29tbWFuZHMoaW50IGZkLCBjaGFyICoqYXJndiwgaW50IGQpOworc3RhdGljIHZvaWQgcmVwb3J0X2hlYWRlcih2b2lkKTsKK3N0YXRpYyB2b2lkIHJlcG9ydF9kZXZpY2UoY2hhciAqZGV2aWNlLCBpbnQgcXVpZXQpOworc3RhdGljIHZvaWQgcmVwb3J0X2FsbF9kZXZpY2VzKHZvaWQpOworCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IGZkLCBkLCBqLCBrOworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCWlmIChhcmdjIDwgMikKKwkJdXNhZ2Uoc3RkZXJyKTsKKworCS8qIC1WIG5vdCB0b2dldGhlciB3aXRoIGNvbW1hbmRzICovCisJaWYgKCFzdHJjbXAoYXJndlsxXSwgIi1WIikgfHwgIXN0cmNtcChhcmd2WzFdLCAiLS12ZXJzaW9uIikpIHsKKwkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJfQorCWlmICghc3RyY21wKGFyZ3ZbMV0sICItaCIpIHx8ICFzdHJjbXAoYXJndlsxXSwgIi0taGVscCIpKQorCQl1c2FnZShzdGRvdXQpOworCisJLyogLS1yZXBvcnQgbm90IHRvZ2V0aGVyIHdpdGggb3RoZXIgY29tbWFuZHMgKi8KKwlpZiAoIXN0cmNtcChhcmd2WzFdLCAiLS1yZXBvcnQiKSkgeworCQlyZXBvcnRfaGVhZGVyKCk7CisJCWlmIChhcmdjID4gMikgeworCQkJZm9yIChkID0gMjsgZCA8IGFyZ2M7IGQrKykKKwkJCQlyZXBvcnRfZGV2aWNlKGFyZ3ZbZF0sIDApOworCQl9IGVsc2UgeworCQkJcmVwb3J0X2FsbF9kZXZpY2VzKCk7CisJCX0KKwkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwl9CisKKwkvKiBkbyBlYWNoIG9mIHRoZSBjb21tYW5kcyBvbiBlYWNoIG9mIHRoZSBkZXZpY2VzICovCisJLyogZGV2aWNlcyBzdGFydCBhZnRlciBsYXN0IGNvbW1hbmQgKi8KKwlmb3IgKGQgPSAxOyBkIDwgYXJnYzsgZCsrKSB7CisJCWogPSBmaW5kX2NtZChhcmd2W2RdKTsKKwkJaWYgKGogPj0gMCkgeworCQkJaWYgKGJkY21zW2pdLmFyZ25hbWUpCisJCQkJZCsrOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKCFzdHJjbXAoYXJndltkXSwgIi0tZ2V0c3oiKSkKKwkJCWNvbnRpbnVlOworCQlpZiAoIXN0cmNtcChhcmd2W2RdLCAiLS0iKSkgeworCQkJZCsrOworCQkJYnJlYWs7CisJCX0KKwkJaWYgKGFyZ3ZbZF1bMF0gIT0gJy0nKQorCQkJYnJlYWs7CisJfQorCisJaWYgKGQgPj0gYXJnYykKKwkJdXNhZ2Uoc3RkZXJyKTsKKworCWZvciAoayA9IGQ7IGsgPCBhcmdjOyBrKyspIHsKKwkJZmQgPSBvcGVuKGFyZ3Zba10sIE9fUkRPTkxZLCAwKTsKKwkJaWYgKGZkIDwgMCkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksIGFyZ3Zba10pOworCQlkb19jb21tYW5kcyhmZCwgYXJndiwgZCk7CisJCWNsb3NlKGZkKTsKKwl9CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KKworc3RhdGljIHZvaWQgZG9fY29tbWFuZHMoaW50IGZkLCBjaGFyICoqYXJndiwgaW50IGQpCit7CisJaW50IHJlcywgaSwgajsKKwlpbnQgaWFyZyA9IDA7CisJdW5zaWduZWQgaW50IHVhcmcgPSAwOworCXVuc2lnbmVkIHNob3J0IGh1YXJnID0gMDsKKwlsb25nIGxhcmcgPSAwOworCWxvbmcgbG9uZyBsbGFyZyA9IDA7CisJdW5zaWduZWQgbG9uZyBsdSA9IDA7CisJdW5zaWduZWQgbG9uZyBsb25nIGxsdSA9IDA7CisJaW50IHZlcmJvc2UgPSAwOworCisJZm9yIChpID0gMTsgaSA8IGQ7IGkrKykgeworCQlpZiAoIXN0cmNtcChhcmd2W2ldLCAiLXYiKSkgeworCQkJdmVyYm9zZSA9IDE7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoIXN0cmNtcChhcmd2W2ldLCAiLXEiKSkgeworCQkJdmVyYm9zZSA9IDA7CisJCQljb250aW51ZTsKKwkJfQorCisJCWlmICghc3RyY21wKGFyZ3ZbaV0sICItLWdldHN6IikpIHsKKwkJCXJlcyA9IGJsa2Rldl9nZXRfc2VjdG9ycyhmZCwgJmxsdSk7CisJCQlpZiAocmVzID09IDApCisJCQkJcHJpbnRmKCIlbGxkXG4iLCBsbHUpOworCQkJZWxzZQorCQkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJCSAgICAgXygiY291bGQgbm90IGdldCBkZXZpY2Ugc2l6ZSIpKTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJaiA9IGZpbmRfY21kKGFyZ3ZbaV0pOworCQlpZiAoaiA9PSAtMSkgeworCQkJd2FybngoXygiVW5rbm93biBjb21tYW5kOiAlcyIpLCBhcmd2W2ldKTsKKwkJCXVzYWdlKHN0ZGVycik7CisJCX0KKworCQlzd2l0Y2ggKGJkY21zW2pdLmFyZ3R5cGUpIHsKKwkJZGVmYXVsdDoKKwkJY2FzZSBBUkdfTk9ORToKKwkJCXJlcyA9IGlvY3RsKGZkLCBiZGNtc1tqXS5pb2MsIDApOworCQkJYnJlYWs7CisJCWNhc2UgQVJHX1VTSFJUOgorCQkJaHVhcmcgPSBiZGNtc1tqXS5hcmd2YWw7CisJCQlyZXMgPSBpb2N0bChmZCwgYmRjbXNbal0uaW9jLCAmaHVhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgQVJHX0lOVDoKKwkJCWlmIChiZGNtc1tqXS5hcmduYW1lKSB7CisJCQkJaWYgKGkgPT0gZCAtIDEpIHsKKwkJCQkJd2FybngoXygiJXMgcmVxdWlyZXMgYW4gYXJndW1lbnQiKSwKKwkJCQkJICAgICAgYmRjbXNbal0ubmFtZSk7CisJCQkJCXVzYWdlKHN0ZGVycik7CisJCQkJfQorCQkJCWlhcmcgPSBhdG9pKGFyZ3ZbKytpXSk7CisJCQl9IGVsc2UKKwkJCQlpYXJnID0gYmRjbXNbal0uYXJndmFsOworCisJCQlyZXMgPSBiZGNtc1tqXS5mbGFncyAmIEZMX05PUFRSID8KKwkJCSAgICBpb2N0bChmZCwgYmRjbXNbal0uaW9jLCBpYXJnKSA6CisJCQkgICAgaW9jdGwoZmQsIGJkY21zW2pdLmlvYywgJmlhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgQVJHX1VJTlQ6CisJCQl1YXJnID0gYmRjbXNbal0uYXJndmFsOworCQkJcmVzID0gaW9jdGwoZmQsIGJkY21zW2pdLmlvYywgJnVhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgQVJHX0xPTkc6CisJCQlsYXJnID0gYmRjbXNbal0uYXJndmFsOworCQkJcmVzID0gaW9jdGwoZmQsIGJkY21zW2pdLmlvYywgJmxhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgQVJHX0xMT05HOgorCQkJbGxhcmcgPSBiZGNtc1tqXS5hcmd2YWw7CisJCQlyZXMgPSBpb2N0bChmZCwgYmRjbXNbal0uaW9jLCAmbGxhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgQVJHX1VMT05HOgorCQkJbHUgPSBiZGNtc1tqXS5hcmd2YWw7CisJCQlyZXMgPSBpb2N0bChmZCwgYmRjbXNbal0uaW9jLCAmbHUpOworCQkJYnJlYWs7CisJCWNhc2UgQVJHX1VMTE9ORzoKKwkJCWxsdSA9IGJkY21zW2pdLmFyZ3ZhbDsKKwkJCXJlcyA9IGlvY3RsKGZkLCBiZGNtc1tqXS5pb2MsICZsbHUpOworCQkJYnJlYWs7CisJCX0KKworCQlpZiAocmVzID09IC0xKSB7CisJCQl3YXJuKF8oImlvY3RsIGVycm9yIG9uICVzIiksIGJkY21zW2pdLmlvY25hbWUpOworCQkJaWYgKHZlcmJvc2UpCisJCQkJcHJpbnRmKF8oIiVzIGZhaWxlZC5cbiIpLCBfKGJkY21zW2pdLmhlbHApKTsKKwkJCWV4aXQoRVhJVF9GQUlMVVJFKTsKKwkJfQorCisJCWlmIChiZGNtc1tqXS5hcmd0eXBlID09IEFSR19OT05FIHx8CisJCSAgICAoYmRjbXNbal0uZmxhZ3MgJiBGTF9OT1JFU1VMVCkpIHsKKwkJCWlmICh2ZXJib3NlKQorCQkJCXByaW50ZihfKCIlcyBzdWNjZWVkZWQuXG4iKSwgXyhiZGNtc1tqXS5oZWxwKSk7CisJCQljb250aW51ZTsKKwkJfQorCisJCWlmICh2ZXJib3NlKQorCQkJcHJpbnRmKCIlczogIiwgXyhiZGNtc1tqXS5oZWxwKSk7CisKKwkJc3dpdGNoIChiZGNtc1tqXS5hcmd0eXBlKSB7CisJCWNhc2UgQVJHX1VTSFJUOgorCQkJcHJpbnRmKCIlaHVcbiIsIGh1YXJnKTsKKwkJCWJyZWFrOworCQljYXNlIEFSR19JTlQ6CisJCQlwcmludGYoIiVkXG4iLCBpYXJnKTsKKwkJCWJyZWFrOworCQljYXNlIEFSR19VSU5UOgorCQkJcHJpbnRmKCIldVxuIiwgdWFyZyk7CisJCQlicmVhazsKKwkJY2FzZSBBUkdfTE9ORzoKKwkJCXByaW50ZigiJWxkXG4iLCBsYXJnKTsKKwkJCWJyZWFrOworCQljYXNlIEFSR19MTE9ORzoKKwkJCXByaW50ZigiJWxsZFxuIiwgbGxhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgQVJHX1VMT05HOgorCQkJcHJpbnRmKCIlbHVcbiIsIGx1KTsKKwkJCWJyZWFrOworCQljYXNlIEFSR19VTExPTkc6CisJCQlwcmludGYoIiVsbHVcbiIsIGxsdSk7CisJCQlicmVhazsKKwkJfQorCX0KK30KKworc3RhdGljIHZvaWQgcmVwb3J0X2FsbF9kZXZpY2VzKHZvaWQpCit7CisJRklMRSAqcHJvY3B0OworCWNoYXIgbGluZVsyMDBdOworCWNoYXIgcHRuYW1lWzIwMCArIDFdOworCWNoYXIgZGV2aWNlWzIxMF07CisJaW50IG1hLCBtaSwgc3o7CisKKwlwcm9jcHQgPSBmb3BlbihfUEFUSF9QUk9DX1BBUlRJVElPTlMsICJyIik7CisJaWYgKCFwcm9jcHQpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksIF9QQVRIX1BST0NfUEFSVElUSU9OUyk7CisKKwl3aGlsZSAoZmdldHMobGluZSwgc2l6ZW9mKGxpbmUpLCBwcm9jcHQpKSB7CisJCWlmIChzc2NhbmYobGluZSwgIiAlZCAlZCAlZCAlMjAwW15cbiBdIiwKKwkJCSAgICZtYSwgJm1pLCAmc3osIHB0bmFtZSkgIT0gNCkKKwkJCWNvbnRpbnVlOworCisJCXNwcmludGYoZGV2aWNlLCAiL2Rldi8lcyIsIHB0bmFtZSk7CisJCXJlcG9ydF9kZXZpY2UoZGV2aWNlLCAxKTsKKwl9CisKKwlmY2xvc2UocHJvY3B0KTsKK30KKworc3RhdGljIHZvaWQgcmVwb3J0X2RldmljZShjaGFyICpkZXZpY2UsIGludCBxdWlldCkKK3sKKwlpbnQgZmQ7CisJaW50IHJvLCBzc3osIGJzejsKKwlsb25nIHJhOworCXVuc2lnbmVkIGxvbmcgbG9uZyBieXRlczsKKwl1aW50NjRfdCBzdGFydCA9IDA7CisJc3RydWN0IHN0YXQgc3Q7CisKKwlmZCA9IG9wZW4oZGV2aWNlLCBPX1JET05MWSB8IE9fTk9OQkxPQ0spOworCWlmIChmZCA8IDApIHsKKwkJaWYgKCFxdWlldCkKKwkJCXdhcm4oXygiY2Fubm90IG9wZW4gJXMiKSwgZGV2aWNlKTsKKwkJcmV0dXJuOworCX0KKworCXJvID0gc3N6ID0gYnN6ID0gMDsKKwlyYSA9IDA7CisJaWYgKGZzdGF0KGZkLCAmc3QpID09IDAgJiYgIXN5c2ZzX2Rldm5vX2lzX3dob2xlZGlzayhzdC5zdF9yZGV2KSkgeworCQlzdHJ1Y3Qgc3lzZnNfY3h0IGN4dDsKKworCQlpZiAoc3lzZnNfaW5pdCgmY3h0LCBzdC5zdF9yZGV2LCBOVUxMKSkKKwkJCWVycihFWElUX0ZBSUxVUkUsCisJCQkJXygiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIHN5c2ZzIGhhbmRsZXIiKSwKKwkJCQlkZXZpY2UpOworCQlpZiAoc3lzZnNfcmVhZF91NjQoJmN4dCwgInN0YXJ0IiwgJnN0YXJ0KSkKKwkJCWVycihFWElUX0ZBSUxVUkUsCisJCQkJXygiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiBzdGFydCBmcm9tIHN5c2ZzIiksCisJCQkJZGV2aWNlKTsKKwkJc3lzZnNfZGVpbml0KCZjeHQpOworCX0KKwlpZiAoaW9jdGwoZmQsIEJMS1JPR0VULCAmcm8pID09IDAgJiYKKwkgICAgaW9jdGwoZmQsIEJMS1JBR0VULCAmcmEpID09IDAgJiYKKwkgICAgaW9jdGwoZmQsIEJMS1NTWkdFVCwgJnNzeikgPT0gMCAmJgorCSAgICBpb2N0bChmZCwgQkxLQlNaR0VULCAmYnN6KSA9PSAwICYmCisJICAgIGJsa2Rldl9nZXRfc2l6ZShmZCwgJmJ5dGVzKSA9PSAwKSB7CisJCXByaW50ZigiJXMgJTVsZCAlNWQgJTVkICUxMGp1ICUxNWxsZCAgICVzXG4iLAorCQkgICAgICAgcm8gPyAicm8iIDogInJ3IiwgcmEsIHNzeiwgYnN6LCBzdGFydCwgYnl0ZXMsIGRldmljZSk7CisJfSBlbHNlIHsKKwkJaWYgKCFxdWlldCkKKwkJCXdhcm54KF8oImlvY3RsIGVycm9yIG9uICVzIiksIGRldmljZSk7CisJfQorCisJY2xvc2UoZmQpOworfQorCitzdGF0aWMgdm9pZCByZXBvcnRfaGVhZGVyKHZvaWQpCit7CisJcHJpbnRmKF8oIlJPICAgIFJBICAgU1NaICAgQlNaICAgU3RhcnRTZWMgICAgICAgICAgICBTaXplICAgRGV2aWNlXG4iKSk7Cit9CmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL2NmZGlzay44IGIvZGlzay11dGlscy9jZmRpc2suOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTI4NTIwCi0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9jZmRpc2suOApAQCAtMCwwICsxLDIwNCBAQAorLlwiIGNmZGlzay44IC0tIG1hbiBwYWdlIGZvciBjZmRpc2sKKy5cIiBDb3B5cmlnaHQgMTk5NCBLZXZpbiBFLiBNYXJ0aW4gKG1hcnRpbkBjcy51bmMuZWR1KQorLlwiIENvcHlyaWdodCAoQykgMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKy5cIgorLlwiIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBtYWtlIGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcyBvZiB0aGlzCisuXCIgbWFudWFsIHByb3ZpZGVkIHRoZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIGFyZQorLlwiIHByZXNlcnZlZCBvbiBhbGwgY29waWVzLgorLlwiCisuXCIgUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgdGhpcworLlwiIG1hbnVhbCB1bmRlciB0aGUgY29uZGl0aW9ucyBmb3IgdmVyYmF0aW0gY29weWluZywgcHJvdmlkZWQgdGhhdCB0aGUKKy5cIiBlbnRpcmUgcmVzdWx0aW5nIGRlcml2ZWQgd29yayBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgYQorLlwiIHBlcm1pc3Npb24gbm90aWNlIGlkZW50aWNhbCB0byB0aGlzIG9uZS4KKy5cIgorLlRIIENGRElTSyA4ICJNYXJjaCAyMDE0IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitjZmRpc2sgXC0gZGlzcGxheSBvciBtYW5pcHVsYXRlIGEgZGlzayBwYXJ0aXRpb24gdGFibGUKKy5TSCBTWU5PUFNJUworLkIgY2ZkaXNrCitbb3B0aW9uc10KKy5SSSBbIGRldmljZSBdCisuU0ggREVTQ1JJUFRJT04KKy5CIGNmZGlzaworaXMgYSBjdXJzZXMtYmFzZWQgcHJvZ3JhbSBmb3IgcGFydGl0aW9uaW5nIGFueSBibG9jayBkZXZpY2UuCitUaGUgZGVmYXVsdCBkZXZpY2UgaXMKKy5JUiAvZGV2L3NkYSAuCisKK05vdGUgdGhhdAorLkIgY2ZkaXNrCitwcm92aWRlcyBiYXNpYyBwYXJ0aXRpb25pbmcgZnVuY3Rpb25hbGl0eSB3aXRoIGEgdXNlci1mcmllbmRseSBpbnRlcmZhY2UuCitJZiB5b3UgbmVlZCBhZHZhbmNlZCBmZWF0dXJlcywgdXNlCisuQlIgZmRpc2sgKDgpCitpbnN0ZWFkLgorCitTaW5jZSB2ZXJzaW9uIDIuMjUKKy5CIGNmZGlzaworc3VwcG9ydHMgTUJSIChET1MpLCBHUFQsIFNVTiBhbmQgU0dJIGRpc2sgbGFiZWxzLCBidXQgbm8gbG9uZ2VyIHByb3ZpZGVzIGFueQorZnVuY3Rpb25hbGl0eSBmb3IgQ0hTIChDeWxpbmRlci1IZWFkLVNlY3RvcikgYWRkcmVzc2luZy4gIENIUyBoYXMKK25ldmVyIGJlZW4gaW1wb3J0YW50IGZvciBMaW51eCwgYW5kIHRoaXMgYWRkcmVzc2luZyBjb25jZXB0IGRvZXMgbm90IG1ha2UgYW55CitzZW5zZSBmb3IgbmV3IGRldmljZXMuCisKK1NpbmNlIHZlcnNpb24gMi4yNQorLkIgY2ZkaXNrCithbHNvIGRvZXMgbm90IHByb3ZpZGUgYSAncHJpbnQnIGNvbW1hbmQgYW55IG1vcmUuCitUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgcHJvdmlkZWQgYnkgdGhlIHV0aWxpdGllcworLkJSIHBhcnR4ICg4KQorYW5kCisuQlIgbHNibGsgKDgpCitpbiBhIHZlcnkgY29tZm9ydGFibGUgYW5kIHJpY2ggd2F5LgorCitJZiB5b3Ugd2FudCB0byByZW1vdmUgYW4gb2xkIHBhcnRpdGlvbiB0YWJsZSBmcm9tIGEgZGV2aWNlLCB1c2UKKy5CUiB3aXBlZnMgKDgpLgorCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlRQCisuQlIgXC1MICwgIiBcLVwtY29sb3IiIFsgPSBcZkl3aGVuXGZSXQorQ29sb3JpemUgdGhlIG91dHB1dC4gIFRoZSBvcHRpb25hbCBhcmd1bWVudCBcZkl3aGVuXGZQCitjYW4gYmUgXGZCYXV0b1xmUiwgXGZCbmV2ZXJcZlIgb3IgXGZCYWx3YXlzXGZSLiAgSWYgdGhlIFxmSXdoZW5cZlIgYXJndW1lbnQgaXMgb21pdHRlZCwKK2l0IGRlZmF1bHRzIHRvIFxmQmF1dG9cZlIuICBUaGUgY29sb3JzIGNhbiBiZSBkaXNhYmxlZCwgZm9yIHRoZSBjdXJyZW50IGJ1aWx0LWluIGRlZmF1bHQgCitzZWUgXGZCXC1cLWhlbHBcZlIgb3V0cHV0LiBTZWUgYWxzbyB0aGUgQ09MT1JTIHNlY3Rpb24uCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC16ICwgIiBcLVwtemVybyIKK1N0YXJ0IHdpdGggYW4gaW4tbWVtb3J5IHplcm9lZCBwYXJ0aXRpb24gdGFibGUuICBUaGlzIG9wdGlvbiBkb2VzIG5vdCB6ZXJvIHRoZQorcGFydGl0aW9uIHRhYmxlIG9uIHRoZSBkaXNrOyByYXRoZXIsIGl0IHNpbXBseSBzdGFydHMgdGhlIHByb2dyYW0gd2l0aG91dAorcmVhZGluZyB0aGUgZXhpc3RpbmcgcGFydGl0aW9uIHRhYmxlLiAgVGhpcyBvcHRpb24gYWxsb3dzIHlvdSB0byBjcmVhdGUgYSBuZXcKK3BhcnRpdGlvbiB0YWJsZSBmcm9tIHNjcmF0Y2ggb3IgZnJvbSBhbiBzZmRpc2stY29tcGF0aWJsZSBzY3JpcHQuCisKKy5TSCBDT01NQU5EUworVGhlIGNvbW1hbmRzIGZvcgorLkIgY2ZkaXNrCitjYW4gYmUgZW50ZXJlZCBieSBwcmVzc2luZyB0aGUgY29ycmVzcG9uZGluZyBrZXkgKHByZXNzaW5nCisuSSBFbnRlcgorYWZ0ZXIgdGhlIGNvbW1hbmQgaXMgbm90IG5lY2Vzc2FyeSkuICBIZXJlIGlzIGEgbGlzdCBvZiB0aGUgYXZhaWxhYmxlCitjb21tYW5kczoKKy5UUAorLkIgYgorVG9nZ2xlIHRoZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbi4gIFRoaXMgYWxsb3dzIHlvdSB0bworc2VsZWN0IHdoaWNoIHByaW1hcnkgcGFydGl0aW9uIGlzIGJvb3RhYmxlIG9uIHRoZSBkcml2ZS4gIFRoaXMgY29tbWFuZCBtYXkgbm90CitiZSBhdmFpbGFibGUgZm9yIGFsbCBwYXJ0aXRpb24gbGFiZWwgdHlwZXMuCisuVFAKKy5CIGQKK0RlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24uICBUaGlzIHdpbGwgY29udmVydCB0aGUgY3VycmVudCBwYXJ0aXRpb24KK2ludG8gZnJlZSBzcGFjZSBhbmQgbWVyZ2UgaXQgd2l0aCBhbnkgZnJlZSBzcGFjZSBpbW1lZGlhdGVseQorc3Vycm91bmRpbmcgdGhlIGN1cnJlbnQgcGFydGl0aW9uLiAgQSBwYXJ0aXRpb24gYWxyZWFkeSBtYXJrZWQgYXMgZnJlZQorc3BhY2Ugb3IgbWFya2VkIGFzIHVudXNhYmxlIGNhbm5vdCBiZSBkZWxldGVkLgorLlRQCisuQiBoCitTaG93IHRoZSBoZWxwIHNjcmVlbi4KKy5UUAorLkIgbgorQ3JlYXRlIGEgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UuCisuQiBjZmRpc2sKK3RoZW4gcHJvbXB0cyB5b3UgZm9yIHRoZSBzaXplIG9mIHRoZSBwYXJ0aXRpb24geW91IHdhbnQgdG8gY3JlYXRlLgorVGhlIGRlZmF1bHQgc2l6ZSBpcyBlcXVhbCB0byB0aGUgZW50aXJlIGF2YWlsYWJsZSBmcmVlIHNwYWNlIGF0IHRoZSBjdXJyZW50Citwb3NpdGlvbi4KKworVGhlIHNpemUgbWF5IGJlIGZvbGxvd2VkIGJ5IGEgbXVsdGlwbGljYXRpdmUgc3VmZml4OiBLaUIgKD0xMDI0KSwKK01pQiAoPTEwMjQqMTAyNCksIGFuZCBzbyBvbiBmb3IgR2lCLCBUaUIsIFBpQiwgRWlCLCBaaUIgYW5kIFlpQgorKHRoZSAiaUIiIGlzIG9wdGlvbmFsLCBlLmcuICJLIiBoYXMgdGhlIHNhbWUgbWVhbmluZyBhcyAiS2lCIikuCisuVFAKKy5CIHEKK1F1aXQgdGhlIHByb2dyYW0uICBUaGlzIHdpbGwgZXhpdCB0aGUgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgYW55IGRhdGEgdG8KK3RoZSBkaXNrLgorLlRQCisuQiBzCitTb3J0IHRoZSBwYXJ0aXRpb25zIGluIGFzY2VuZGluZyBzdGFydC1zZWN0b3Igb3JkZXIuICBXaGVuIGRlbGV0aW5nIGFuZAorYWRkaW5nIHBhcnRpdGlvbnMsIGl0IGlzIGxpa2VseSB0aGF0IHRoZSBudW1iZXJpbmcgb2YgdGhlIHBhcnRpdGlvbnMgd2lsbAorbm8gbG9uZ2VyIG1hdGNoIHRoZWlyIG9yZGVyIG9uIHRoZSBkaXNrLiAgVGhpcyBjb21tYW5kIHJlc3RvcmVzIHRoYXQgbWF0Y2guCisuVFAKKy5CIHQKK0NoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUuICBCeSBkZWZhdWx0LCBuZXcgcGFydGl0aW9ucyBhcmUgY3JlYXRlZCBhcworLkkgTGludXgKK3BhcnRpdGlvbnMuCisuVFAKKy5CIHUKK0R1bXAgdGhlIGN1cnJlbnQgaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZSB0byBhbiBzZmRpc2stY29tcGF0aWJsZSBzY3JpcHQgZmlsZS4KKy5zcAorVGhlIHNjcmlwdCBmaWxlcyBhcmUgY29tcGF0aWJsZSBiZXR3ZWVuIFxmQmNmZGlza1xmUiwgXGZCZmRpc2tcZlIsIFxmQnNmZGlza1xmUgorYW5kIG90aGVyIGxpYmZkaXNrIGFwcGxpY2F0aW9ucy4gIEZvciBtb3JlIGRldGFpbHMgc2VlCisuQlIgc2ZkaXNrICg4KS4KKy5zcAorSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBsb2FkIGFuIHNmZGlzay1zY3JpcHQgaW50byBcZkJjZmRpc2tcZlIgaWYgdGhlcmUgaXMKK25vIHBhcnRpdGlvbiB0YWJsZSBvbiB0aGUgZGV2aWNlIG9yIHdoZW4geW91IHN0YXJ0IFxmQmNmZGlza1xmUiB3aXRoIHRoZQorXGZCLS16ZXJvXGZSIGNvbW1hbmQtbGluZSBvcHRpb24uCisuVFAKKy5CIFcKK1dyaXRlIHRoZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAoeW91IG11c3QgZW50ZXIgYW4gdXBwZXJjYXNlIFcpLiAgU2luY2UKK3RoaXMgbWlnaHQgZGVzdHJveSBkYXRhIG9uIHRoZSBkaXNrLCB5b3UgbXVzdCBlaXRoZXIgY29uZmlybSBvciBkZW55Cit0aGUgd3JpdGUgYnkgZW50ZXJpbmcgYHllcycgb3IgYG5vJy4gIElmIHlvdSBlbnRlciBgeWVzJywKKy5CIGNmZGlzaword2lsbCB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgYW5kIHRoZW4gdGVsbCB0aGUga2VybmVsIHRvIHJlLXJlYWQgdGhlCitwYXJ0aXRpb24gdGFibGUgZnJvbSB0aGUgZGlzay4KKworVGhlIHJlLXJlYWRpbmcgb2YgdGhlIHBhcnRpdGlvbiB0YWJsZSBkb2VzIG5vdCBhbHdheXMgd29yay4gIEluIHN1Y2ggYQorY2FzZSB5b3UgbmVlZCB0byBpbmZvcm0gdGhlIGtlcm5lbCBhYm91dCBhbnkgbmV3IHBhcnRpdGlvbnMgYnkgdXNpbmcKKy5CUiBwYXJ0cHJvYmUgKDgpCitvcgorLkJSIHBhcnR4ICg4KSwKK29yIGJ5IHJlYm9vdGluZyB0aGUgc3lzdGVtLgorLlRQCisuQiB4CitUb2dnbGUgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24uCisuVFAKKy5JUiAiVXAgQXJyb3ciICwgIiBEb3duIEFycm93IgorTW92ZSB0aGUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBvciBuZXh0IHBhcnRpdGlvbi4gIElmIHRoZXJlIGFyZSBtb3JlCitwYXJ0aXRpb25zIHRoYW4gY2FuIGJlIGRpc3BsYXllZCBvbiBhIHNjcmVlbiwgeW91IGNhbiBkaXNwbGF5IHRoZSBuZXh0CisocHJldmlvdXMpIHNldCBvZiBwYXJ0aXRpb25zIGJ5IG1vdmluZyBkb3duICh1cCkgYXQgdGhlIGxhc3QgKGZpcnN0KQorcGFydGl0aW9uIGRpc3BsYXllZCBvbiB0aGUgc2NyZWVuLgorLlRQCisuSVIgIkxlZnQgQXJyb3ciICwgIiBSaWdodCBBcnJvdyIKK1NlbGVjdCB0aGUgcHJlY2VkaW5nIG9yIHRoZSBuZXh0IG1lbnUgaXRlbS4gIEhpdHRpbmcgXGZJRW50ZXJcZlIgd2lsbAorZXhlY3V0ZSB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGl0ZW0uCisKKy5QUAorQWxsIGNvbW1hbmRzIGNhbiBiZSBlbnRlcmVkIHdpdGggZWl0aGVyIHVwcGVyY2FzZSBvciBsb3dlcmNhc2UKK2xldHRlcnMgKGV4Y2VwdCBmb3IKKy5CUiBXIHJpdGUpLgorV2hlbiBpbiBhIHN1Ym1lbnUgb3IgYXQgYSBwcm9tcHQsIHlvdSBjYW4gaGl0IHRoZQorLkkgRXNjCitrZXkgdG8gcmV0dXJuIHRvIHRoZSBtYWluIG1lbnUuCisKKy5TSCBDT0xPUlMKK0ltcGxpY2l0IGNvbG9yaW5nIGNhbiBiZSBkaXNhYmxlZCBieSBjcmVhdGluZyB0aGUgZW1wdHkgZmlsZQorLklSIC9ldGMvdGVybWluYWwtY29sb3JzLmQvY2ZkaXNrLmRpc2FibGUgLgorCitTZWUKKy5CUiB0ZXJtaW5hbC1jb2xvcnMuZCAoNSkKK2ZvciBtb3JlIGRldGFpbHMgYWJvdXQgY29sb3JpemF0aW9uIGNvbmZpZ3VyYXRpb24uCisKKy5CIGNmZGlzaworZG9lcyBub3Qgc3VwcG9ydCBjb2xvciBjdXN0b21pemF0aW9uIHdpdGggYSBjb2xvci1zY2hlbWUgZmlsZS4KKworLlNIIEVOVklST05NRU5UCisuSVAgQ0ZESVNLX0RFQlVHPWFsbAorZW5hYmxlcyBjZmRpc2sgZGVidWcgb3V0cHV0LgorLklQIExJQkZESVNLX0RFQlVHPWFsbAorZW5hYmxlcyBsaWJmZGlzayBkZWJ1ZyBvdXRwdXQuCisuSVAgTElCQkxLSURfREVCVUc9YWxsCitlbmFibGVzIGxpYmJsa2lkIGRlYnVnIG91dHB1dC4KKy5JUCBMSUJTTUFSVENPTFNfREVCVUc9YWxsCitlbmFibGVzIGxpYnNtYXJ0Y29scyBkZWJ1ZyBvdXRwdXQuCisuSVAgTElCU01BUlRDT0xTX0RFQlVHX1BBRERJTkc9b24KK3VzZSB2aXNpYmxlIHBhZGRpbmcgY2hhcmFjdGVycy4gUmVxdWlyZXMgZW5hYmxlZCBMSUJTTUFSVENPTFNfREVCVUcuCisKKy5TSCAiU0VFIEFMU08iCisuQlIgZmRpc2sgKDgpLAorLkJSIHBhcnRlZCAoOCksCisuQlIgcGFydHByb2JlICg4KSwKKy5CUiBwYXJ0eCAoOCksCisuQlIgc2ZkaXNrICg4KQorLlNIIEFVVEhPUgorS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisuUFAKK1RoZSBjdXJyZW50IGNmZGlzayBpbXBsZW1lbnRhdGlvbiBpcyBiYXNlZCBvbiB0aGUgb3JpZ2luYWwgY2ZkaXNrCitmcm9tIEtldmluIEUuIE1hcnRpbiAobWFydGluQGNzLnVuYy5lZHUpLgorCisuU0ggQVZBSUxBQklMSVRZCitUaGUgY2ZkaXNrIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9jZmRpc2suYyBiL2Rpc2stdXRpbHMvY2ZkaXNrLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjkxMzFjYgotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvY2ZkaXNrLmMKQEAgLTAsMCArMSwyNjU0IEBACisvKgorICogY2ZkaXNrLmMgLSBEaXNwbGF5IG9yIG1hbmlwdWxhdGUgYSBkaXNrIHBhcnRpdGlvbiB0YWJsZS4KKyAqCisgKiAgICAgQ29weXJpZ2h0IChDKSAyMDE0LTIwMTUgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKiAgICAgQ29weXJpZ2h0IChDKSAxOTk0IEtldmluIEUuIE1hcnRpbiAobWFydGluQGNzLnVuYy5lZHUpCisgKgorICogICAgIFRoZSBvcmlnaW5hbCBjZmRpc2sgd2FzIGluc3BpcmVkIGJ5IHRoZSBmZGlzayBwcm9ncmFtCisgKiAgICAgICAgICAgYnkgQS4gVi4gTGUgQmxhbmMgKGxlYmxhbmNAbWNjLmFjLnVrLgorICoKKyAqIGNmZGlzayBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKi8KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxhc3NlcnQuaD4KKyNpbmNsdWRlIDxsaWJzbWFydGNvbHMuaD4KKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyNpbmNsdWRlIDxsaWJmZGlzay5oPgorCisjaWZkZWYgSEFWRV9MSUJNT1VOVAorIyBpbmNsdWRlIDxsaWJtb3VudC5oPgkvKiBrZWVwIGl0IG9wdGlvbmFsIGZvciBub24tbGludXggc3lzdGVtcyAqLworI2VuZGlmCisKKyNpZmRlZiBIQVZFX1NMQU5HX0gKKyMgaW5jbHVkZSA8c2xhbmcuaD4KKyNlbGlmIGRlZmluZWQoSEFWRV9TTEFOR19TTEFOR19IKQorIyBpbmNsdWRlIDxzbGFuZy9zbGFuZy5oPgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX1NMQ1VSU0VTX0gKKyMgaW5jbHVkZSA8c2xjdXJzZXMuaD4KKyNlbGlmIGRlZmluZWQoSEFWRV9TTEFOR19TTENVUlNFU19IKQorIyBpbmNsdWRlIDxzbGFuZy9zbGN1cnNlcy5oPgorI2VsaWYgZGVmaW5lZChIQVZFX05DVVJTRVNXX05DVVJTRVNfSCkgJiYgZGVmaW5lZChIQVZFX1dJREVDSEFSKQorIyBpbmNsdWRlIDxuY3Vyc2Vzdy9uY3Vyc2VzLmg+CisjZWxpZiBkZWZpbmVkKEhBVkVfTkNVUlNFU19IKQorIyBpbmNsdWRlIDxuY3Vyc2VzLmg+CisjZWxpZiBkZWZpbmVkKEhBVkVfTkNVUlNFU19OQ1VSU0VTX0gpCisjIGluY2x1ZGUgPG5jdXJzZXMvbmN1cnNlcy5oPgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX1dJREVDSEFSCisjIGluY2x1ZGUgPHdjdHlwZS5oPgorIyBpbmNsdWRlIDx3Y2hhci5oPgorI2VuZGlmCisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgIm1ic2FsaWduLmgiCisjaW5jbHVkZSAiY29sb3JzLmgiCisjaW5jbHVkZSAiZGVidWcuaCIKKyNpbmNsdWRlICJsaXN0LmgiCisKK3N0YXRpYyBjb25zdCBjaGFyICpkZWZhdWx0X2Rpc2tzW10gPSB7CisjaWZkZWYgX19HTlVfXworCQkiL2Rldi9oZDAiLAorCQkiL2Rldi9zZDAiLAorI2VsaWYgZGVmaW5lZChfX0ZyZWVCU0RfXykKKwkJIi9kZXYvYWQwIiwKKwkJIi9kZXYvZGEwIiwKKyNlbHNlCisJCSIvZGV2L3NkYSIsCisJCSIvZGV2L3ZkYSIsCisJCSIvZGV2L2hkYSIsCisjZW5kaWYKK307CisKKyNkZWZpbmUgQVJST1dfQ1VSU09SX1NUUklORwkiPj4gICIKKyNkZWZpbmUgQVJST1dfQ1VSU09SX0RVTU1ZCSIgICAgIgorI2RlZmluZSBBUlJPV19DVVJTT1JfV0lEVEgJKHNpemVvZihBUlJPV19DVVJTT1JfU1RSSU5HKSAtIDEpCisKKy8qIHZlcnRpY2FsIG1lbnUgKi8KKyNkZWZpbmUgTUVOVV9WX1NQQURESU5HCQkxCS8qIHNwYWNlIGFyb3VuZCBtZW51IGl0ZW0gc3RyaW5nICovCisKKy8qIGhvcml6b250YWwgbWVudSAqLworI2RlZmluZSBNRU5VX0hfU1BBRERJTkcJCTAJLyogc3BhY2UgYXJvdW5kIG1lbnUgaXRlbSBzdHJpbmcgKi8KKyNkZWZpbmUgTUVOVV9IX0JFVFdFRU4JCTIJLyogc3BhY2UgYmV0d2VlbiBtZW51IGl0ZW1zICovCisjZGVmaW5lIE1FTlVfSF9QUkVTVFIJCSJbIgorI2RlZmluZSBNRU5VX0hfUE9TVFNUUgkJIl0iCisKKyNkZWZpbmUgTUVOVV9USVRMRV9QQURESU5HCTMKKworI2RlZmluZSBNRU5VX0hfUFJFU1RSX1NaCShzaXplb2YoTUVOVV9IX1BSRVNUUikgLSAxKQorI2RlZmluZSBNRU5VX0hfUE9TVFNUUl9TWgkoc2l6ZW9mKE1FTlVfSF9QT1NUU1RSKSAtIDEpCisKKyNkZWZpbmUgVEFCTEVfU1RBUlRfTElORQk0CisjZGVmaW5lIE1FTlVfU1RBUlRfTElORQkJKHVpX2xpbmVzIC0gNCkJCS8qIFRoZSBtZW51IG1heWJlIHVzZSB0d28gbGluZXMgKi8KKyNkZWZpbmUgSU5GT19MSU5FCQkodWlfbGluZXMgLSAyKQorI2RlZmluZSBXQVJOX0xJTkUJCUlORk9fTElORQorI2RlZmluZSBISU5UX0xJTkUJCSh1aV9saW5lcyAtIDEpCisKKyNkZWZpbmUgQ0ZESVNLX0VSUl9FU0MJCTUwMDAKKworI2lmbmRlZiBLRVlfRVNDCisjIGRlZmluZSBLRVlfRVNDCSdcMDMzJworI2VuZGlmCisjaWZuZGVmIEtFWV9ERUxFVEUKKyMgZGVmaW5lIEtFWV9ERUxFVEUJJ1wxNzcnCisjZW5kaWYKKworLyogY29sb3JzICovCitlbnVtIHsKKwlDRkRJU0tfQ0xfTk9ORSA9IDAsCisJQ0ZESVNLX0NMX1dBUk5JTkcsCisJQ0ZESVNLX0NMX0ZSRUVTUEFDRSwKKwlDRkRJU0tfQ0xfSU5GTworfTsKK3N0YXRpYyBjb25zdCBpbnQgY29sb3JfcGFpcnNbXVsyXSA9IHsKKwkvKiBjb2xvciAgICAgICAgICAgIGZvcmVncm91bmQsIGJhY2tncm91bmQgKi8KKwlbQ0ZESVNLX0NMX1dBUk5JTkddICAgPSB7IENPTE9SX1JFRCwgLTEgfSwKKwlbQ0ZESVNLX0NMX0ZSRUVTUEFDRV0gPSB7IENPTE9SX0dSRUVOLCAtMSB9LAorCVtDRkRJU0tfQ0xfSU5GT10gICAgICA9IHsgQ09MT1JfQkxVRSwgLTEgfQorfTsKKworc3RydWN0IGNmZGlzazsKKworc3RhdGljIHN0cnVjdCBjZmRpc2tfbWVudWl0ZW0gKm1lbnVfZ2V0X21lbnVpdGVtKHN0cnVjdCBjZmRpc2sgKmNmLCBzaXplX3QgaWR4KTsKK3N0YXRpYyBzdHJ1Y3QgY2ZkaXNrX21lbnVpdGVtICptZW51X2dldF9tZW51aXRlbV9ieV9rZXkoc3RydWN0IGNmZGlzayAqY2YsIGludCBrZXksIHNpemVfdCAqaWR4KTsKK3N0YXRpYyBzdHJ1Y3QgY2ZkaXNrX21lbnUgKm1lbnVfcHVzaChzdHJ1Y3QgY2ZkaXNrICpjZiwgc3RydWN0IGNmZGlza19tZW51aXRlbSAqaXRlbSk7CitzdGF0aWMgc3RydWN0IGNmZGlza19tZW51ICptZW51X3BvcChzdHJ1Y3QgY2ZkaXNrICpjZik7CitzdGF0aWMgdm9pZCBtZW51X3JlZnJlc2hfc2l6ZShzdHJ1Y3QgY2ZkaXNrICpjZik7CisKK3N0YXRpYyBpbnQgdWlfcmVmcmVzaChzdHJ1Y3QgY2ZkaXNrICpjZik7CitzdGF0aWMgdm9pZCB1aV93YXJueChjb25zdCBjaGFyICpmbXQsIC4uLik7CitzdGF0aWMgdm9pZCB1aV93YXJuKGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKK3N0YXRpYyB2b2lkIHVpX2luZm8oY29uc3QgY2hhciAqZm10LCAuLi4pOworc3RhdGljIHZvaWQgdWlfZHJhd19tZW51KHN0cnVjdCBjZmRpc2sgKmNmKTsKK3N0YXRpYyBpbnQgdWlfbWVudV9tb3ZlKHN0cnVjdCBjZmRpc2sgKmNmLCBpbnQga2V5KTsKK3N0YXRpYyB2b2lkIHVpX21lbnVfcmVzaXplKHN0cnVjdCBjZmRpc2sgKmNmKTsKKworc3RhdGljIGludCB1aV9nZXRfc2l6ZShzdHJ1Y3QgY2ZkaXNrICpjZiwgY29uc3QgY2hhciAqcHJvbXB0LCB1aW50bWF4X3QgKnJlcywKKwkJICAgICAgIHVpbnRtYXhfdCBsb3csIHVpbnRtYXhfdCB1cCwgaW50ICpleHBzaXplKTsKKworc3RhdGljIGludCB1aV9lbmFibGVkOworc3RhdGljIGludCB1aV9yZXNpemU7CisKKy8qIG5jdXJzZXMgTElORVMgYW5kIENPTFMgbWF5IGJlIGFjdHVhbCB2YXJpYWJsZXMgb3IgKm1hY3JvcyosIGJ1dCB3ZSBuZWVkCisgKiBzb21ldGhpbmcgcG9ydGFibGUgYW5kIHdyaXRhYmxlICovCitzaXplX3QgdWlfbGluZXM7CitzaXplX3QgdWlfY29sczsKKworLyogbWVudSBpdGVtICovCitzdHJ1Y3QgY2ZkaXNrX21lbnVpdGVtIHsKKwlpbnQJCWtleTsJCS8qIGtleWJvYXJkIHNob3J0Y3V0ICovCisJY29uc3QgY2hhcgkqbmFtZTsJCS8qIGl0ZW0gbmFtZSAqLworCWNvbnN0IGNoYXIJKmRlc2M7CQkvKiBpdGVtIGRlc2NyaXB0aW9uIChoaW50KSAqLworCXZvaWQJCSp1c2VyZGF0YTsKK307CisKKy8qIG1lbnUgKi8KK3N0cnVjdCBjZmRpc2tfbWVudSB7CisJY2hhcgkJCSp0aXRsZTsJLyogb3B0aW9uYWwgbWVudSB0aXRsZSAqLworCXN0cnVjdCBjZmRpc2tfbWVudWl0ZW0JKml0ZW1zOwkvKiBhcnJheSB3aXRoIG1lbnUgaXRlbXMgKi8KKwljaGFyCQkJKmlnbm9yZTsvKiBzdHJpbmcgd2l0aCBrZXlzIHRvIGlnbm9yZSAqLworCXNpemVfdAkJCXdpZHRoOwkvKiBtYXhpbWFsIHdpZHRoIG9mIHRoZSBtZW51IGl0ZW0gKi8KKwlzaXplX3QJCQluaXRlbXM7CS8qIG51bWJlciBvZiB0aGUgYWN0aXZlIG1lbnUgaXRlbXMgKi8KKwlzaXplX3QJCQlwYWdlX3N6Oy8qIHdoZW4gbWVudSBsb25nZXIgdGhhbiBzY3JlZW4gKi8KKwlzaXplX3QJCQlpZHg7CS8qIHRoZSBjdXJyZW50IG1lbnUgaXRlbSAqLworCWludAkJCXByZWZrZXk7LyogcHJlZmVycmVkIG1lbnUgaXRlbSAgKi8KKwlzdHJ1Y3QgY2ZkaXNrX21lbnUJKnByZXY7CisKKwkvKiBAaWdub3JlIGtleXMgZ2VuZXJhdG9yICovCisJaW50ICgqaWdub3JlX2NiKQkoc3RydWN0IGNmZGlzayAqLCBjaGFyICosIHNpemVfdCk7CisKKwl1bnNpZ25lZCBpbnQJCXZlcnRpY2FsIDogMTsJLyogZW5hYmxlIHZlcnRpY2FsIG1vZGUgKi8KK307CisKKy8qIG1haW4gbWVudSAqLworc3RhdGljIHN0cnVjdCBjZmRpc2tfbWVudWl0ZW0gbWFpbl9tZW51aXRlbXNbXSA9IHsKKwl7ICdiJywgTl8oIkJvb3RhYmxlIiksIE5fKCJUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iKSB9LAorCXsgJ2QnLCBOXygiRGVsZXRlIiksIE5fKCJEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIikgfSwKKwl7ICduJywgTl8oIk5ldyIpLCBOXygiQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIikgfSwKKwl7ICdxJywgTl8oIlF1aXQiKSwgTl8oIlF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgY2hhbmdlcyIpIH0sCisJeyAndCcsIE5fKCJUeXBlIiksIE5fKCJDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIikgfSwKKwl7ICdoJywgTl8oIkhlbHAiKSwgTl8oIlByaW50IGhlbHAgc2NyZWVuIikgfSwKKwl7ICdzJywgTl8oIlNvcnQiKSwgTl8oIkZpeCBwYXJ0aXRpb25zIG9yZGVyIikgfSwKKwl7ICdXJywgTl8oIldyaXRlIiksIE5fKCJXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAodGhpcyBtaWdodCBkZXN0cm95IGRhdGEpIikgfSwKKwl7ICd1JywgTl8oIkR1bXAiKSwgTl8oIkR1bXAgcGFydGl0aW9uIHRhYmxlIHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIikgfSwKKwl7IDAsIE5VTEwsIE5VTEwgfQorfTsKKworLyogZXh0cmEgcGFydGluZm8gaW4gbmFtZTp2YWx1ZSBwYWlycyAqLworc3RydWN0IGNmZGlza19leHRyYSB7CisJY2hhciAqbmFtZTsKKwljaGFyICpkYXRhOworCisJc3RydWN0IGxpc3RfaGVhZCBleHM7Cit9OworCisvKiBsaW5lIGFuZCBleHRyYSBwYXJ0aW5mbyBsaXN0X2hlYWQgKi8KK3N0cnVjdCBjZmRpc2tfbGluZSB7CisJY2hhcgkJCSpkYXRhOwkJLyogbGluZSBkYXRhICovCisJc3RydWN0IGxpYnNjb2xzX3RhYmxlCSpleHRyYTsJCS8qIGV4dHJhIGluZm8gKCdYJykgKi8KKwlXSU5ET1cJCQkqdzsJCS8qIHdpbmRvdyB3aXRoIGV4dHJhIGluZm8gKi8KK307CisKKy8qIHRvcCBsZXZlbCBjb250cm9sIHN0cnVjdCAqLworc3RydWN0IGNmZGlzayB7CisJc3RydWN0IGZkaXNrX2NvbnRleHQJKmN4dDsJLyogbGliZmRpc2sgY29udGV4dCAqLworCXN0cnVjdCBmZGlza190YWJsZQkqdGFibGU7CS8qIHBhcnRpdGlvbiB0YWJsZSAqLworCisJc3RydWN0IGNmZGlza19tZW51CSptZW51OwkvKiB0aGUgY3VycmVudCBtZW51ICovCisKKwlpbnQJKmZpZWxkczsJLyogb3V0cHV0IGNvbHVtbnMgSURzICovCisJc2l6ZV90CW5maWVsZHM7CS8qIG51bWJlciBvZiBjb2x1bW5zIElEcyAqLworCisJY2hhcgkqbGluZXNidWY7CS8qIHRhYmxlIGFzIHN0cmluZyAqLworCXNpemVfdAlsaW5lc2J1ZnN6OwkvKiBzaXplIG9mIHRoZSB0Yl9idWYgKi8KKworCXN0cnVjdAljZmRpc2tfbGluZQkqbGluZXM7CS8qIGxpc3Qgb2YgbGluZXMgKi8KKworCXNpemVfdAlubGluZXM7CQkvKiBudW1iZXIgb2YgbGluZXMgKi8KKwlzaXplX3QJbGluZXNfaWR4OwkvKiBjdXJyZW50IGxpbmUgPDAuLk4+LCBleGNsdWRlIGhlYWRlciAqLworCXNpemVfdCAgcGFnZV9zejsKKworCXVuc2lnbmVkIGludCBud3JpdGVzOwkvKiBmZGlza193cml0ZV9kaXNrbGFiZWwoKSBjb3VudGVyICovCisKKwlXSU5ET1cJKmFjdF93aW47CS8qIHRoZSB3aW5kb3cgY3VycmVudGx5IG9uIHRoZSBzY3JlZW4gKi8KKworI2lmZGVmIEhBVkVfTElCTU9VTlQKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICptdGFiOworCXN0cnVjdCBsaWJtbnRfdGFibGUgKmZzdGFiOworCXN0cnVjdCBsaWJtbnRfY2FjaGUgKm1udGNhY2hlOworI2VuZGlmCisJdW5zaWduZWQgaW50CXdyb25nX29yZGVyIDoxLAkJLyogUFQgbm90IGluIHJpZ2h0IG9yZGVyICovCisJCQl6ZXJvX3N0YXJ0IDoxLAkJLyogaWdub3JlIGV4aXN0aW5nIHBhcnRpdGlvbiB0YWJsZSAqLworCQkJc2hvd19leHRyYSA6MTsJCS8qIHNob3cgZXh0cmEgcGFydGluZm8gKi8KK307CisKKworLyoKKyAqIGxldCdzIHVzZSBpbmNsdWRlL2RlYnVnLmggc3R1ZmYgZm9yIGNmZGlzayB0b28KKyAqLworVUxfREVCVUdfREVGSU5FX01BU0soY2ZkaXNrKTsKK1VMX0RFQlVHX0RFRklORV9NQVNLTkFNRVMoY2ZkaXNrKSA9IFVMX0RFQlVHX0VNUFRZX01BU0tOQU1FUzsKKworI2RlZmluZSBDRkRJU0tfREVCVUdfSU5JVAkoMSA8PCAxKQorI2RlZmluZSBDRkRJU0tfREVCVUdfVUkJCSgxIDw8IDIpCisjZGVmaW5lIENGRElTS19ERUJVR19NRU5VCSgxIDw8IDMpCisjZGVmaW5lIENGRElTS19ERUJVR19NSVNDCSgxIDw8IDQpCisjZGVmaW5lIENGRElTS19ERUJVR19UQUJMRQkoMSA8PCA1KQorI2RlZmluZSBDRkRJU0tfREVCVUdfQUxMCTB4RkZGRgorCisjZGVmaW5lIERCRyhtLCB4KSAgICAgICBfX1VMX0RCRyhjZmRpc2ssIENGRElTS19ERUJVR18sIG0sIHgpCisKK3N0YXRpYyB2b2lkIGNmZGlza19pbml0X2RlYnVnKHZvaWQpCit7CisJX19VTF9JTklUX0RFQlVHKGNmZGlzaywgQ0ZESVNLX0RFQlVHXywgMCwgQ0ZESVNLX0RFQlVHKTsKK30KKworLyogSW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1ucyAtLSB3ZSBmb2xsb3cgbGliZmRpc2sgZmllbGRzICh1c3VhbGx5IHNwZWNpZmljCisgKiB0byB0aGUgbGFiZWwgdHlwZS4KKyAqLworc3RhdGljIGludCBjb2xzX2luaXQoc3RydWN0IGNmZGlzayAqY2YpCit7CisJYXNzZXJ0KGNmKTsKKworCWZyZWUoY2YtPmZpZWxkcyk7CisJY2YtPmZpZWxkcyA9IE5VTEw7CisJY2YtPm5maWVsZHMgPSAwOworCisJcmV0dXJuIGZkaXNrX2xhYmVsX2dldF9maWVsZHNfaWRzKE5VTEwsIGNmLT5jeHQsICZjZi0+ZmllbGRzLCAmY2YtPm5maWVsZHMpOworfQorCitzdGF0aWMgdm9pZCByZXNpemUodm9pZCkKK3sKKwlzdHJ1Y3Qgd2luc2l6ZSB3czsKKworCWlmIChpb2N0bChmaWxlbm8oc3Rkb3V0KSwgVElPQ0dXSU5TWiwgJndzKSAhPSAtMQorCSAgICAmJiB3cy53c19yb3cgJiYgd3Mud3NfY29sKSB7CisJCXVpX2xpbmVzID0gd3Mud3Nfcm93OworCQl1aV9jb2xzICA9IHdzLndzX2NvbDsKKyNpZiBIQVZFX1JFU0laRVRFUk0KKwkJcmVzaXpldGVybSh3cy53c19yb3csIHdzLndzX2NvbCk7CisjZW5kaWYKKwkJY2xlYXJvayhzdGRzY3IsIFRSVUUpOworCX0KKwl0b3VjaHdpbihzdGRzY3IpOworCisJREJHKFVJLCB1bF9kZWJ1ZygidWk6IHJlc2l6ZSByZWZyZXNoIHVpX2NvbHM9JXp1LCB1aV9saW5lcz0lenUiLAorCQkJCXVpX2NvbHMsIHVpX2xpbmVzKSk7CisJdWlfcmVzaXplID0gMDsKK30KKworLyogUmVhZHMgcGFydGl0aW9uIGluIHRyZWUtbGlrZSBvcmRlciBmcm9tIHNjb2xzCisgKi8KK3N0YXRpYyBpbnQgcGFydGl0aW9uX2Zyb21fc2NvbHMoc3RydWN0IGZkaXNrX3RhYmxlICp0YiwKKwkJCQlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4pCit7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBzY29sc19saW5lX2dldF91c2VyZGF0YShsbik7CisKKwlmZGlza190YWJsZV9hZGRfcGFydGl0aW9uKHRiLCBwYSk7CisJZmRpc2tfdW5yZWZfcGFydGl0aW9uKHBhKTsKKworCWlmIChzY29sc19saW5lX2hhc19jaGlsZHJlbihsbikpIHsKKwkJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmNobG47CisJCXN0cnVjdCBsaWJzY29sc19pdGVyICppdHIgPSBzY29sc19uZXdfaXRlcihTQ09MU19JVEVSX0ZPUldBUkQpOworCisJCWlmICghaXRyKQorCQkJcmV0dXJuIC1FSU5WQUw7CisJCXdoaWxlIChzY29sc19saW5lX25leHRfY2hpbGQobG4sIGl0ciwgJmNobG4pID09IDApCisJCQlwYXJ0aXRpb25fZnJvbV9zY29scyh0YiwgY2hsbik7CisJCXNjb2xzX2ZyZWVfaXRlcihpdHIpOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGNoYXIgKnRhYmxlX3RvX3N0cmluZyhzdHJ1Y3QgY2ZkaXNrICpjZiwgc3RydWN0IGZkaXNrX3RhYmxlICp0YikKK3sKKwlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYTsKKwlzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiOworCXN0cnVjdCBmZGlza19pdGVyICppdHIgPSBOVUxMOworCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGFibGUgPSBOVUxMOworCXN0cnVjdCBsaWJzY29sc19pdGVyICpzX2l0ciA9IE5VTEw7CisJY2hhciAqcmVzID0gTlVMTDsKKwlzaXplX3QgaTsKKwlpbnQgdHJlZSA9IDA7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLCAqbG5fY29udCA9IE5VTEw7CisKKwlEQkcoVEFCTEUsIHVsX2RlYnVnKCJjb252ZXJ0IHRvIHN0cmluZyIpKTsKKworCWFzc2VydChjZik7CisJYXNzZXJ0KGNmLT5jeHQpOworCWFzc2VydChjZi0+ZmllbGRzKTsKKwlhc3NlcnQodGIpOworCisJbGIgPSBmZGlza19nZXRfbGFiZWwoY2YtPmN4dCwgTlVMTCk7CisJYXNzZXJ0KGxiKTsKKworCWl0ciA9IGZkaXNrX25ld19pdGVyKEZESVNLX0lURVJfRk9SV0FSRCk7CisJaWYgKCFpdHIpCisJCWdvdG8gZG9uZTsKKworCS8qIGdldCBjb250YWluZXIgKGUuZy4gZXh0ZW5kZWQgcGFydGl0aW9uKSAqLworCXdoaWxlIChmZGlza190YWJsZV9uZXh0X3BhcnRpdGlvbih0YiwgaXRyLCAmcGEpID09IDApIHsKKwkJaWYgKGZkaXNrX3BhcnRpdGlvbl9pc19uZXN0ZWQocGEpKSB7CisJCQlEQkcoVEFCTEUsIHVsX2RlYnVnKCJuZXN0ZWQgZGV0ZWN0ZWQsIHVzaW5nIHRyZWUiKSk7CisJCQl0cmVlID0gU0NPTFNfRkxfVFJFRTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJdGFibGUgPSBzY29sc19uZXdfdGFibGUoKTsKKwlpZiAoIXRhYmxlKQorCQlnb3RvIGRvbmU7CisJc2NvbHNfdGFibGVfZW5hYmxlX21heG91dCh0YWJsZSwgMSk7CisJc2NvbHNfdGFibGVfZW5hYmxlX25vd3JhcCh0YWJsZSwgMSk7CisKKyNpZiAhZGVmaW5lZChIQVZFX0xJQk5DVVJTRVNXKSB8fCAhZGVmaW5lZChIQVZFX1dJREVDSEFSKQorCXNjb2xzX3RhYmxlX2VuYWJsZV9hc2NpaSh0YWJsZSwgMSk7CisjZW5kaWYKKworCS8qIGhlYWRlcnMgKi8KKwlmb3IgKGkgPSAwOyBpIDwgY2YtPm5maWVsZHM7IGkrKykgeworCQlpbnQgZmwgPSAwOworCQljb25zdCBzdHJ1Y3QgZmRpc2tfZmllbGQgKmZpZWxkID0KKwkJCQlmZGlza19sYWJlbF9nZXRfZmllbGQobGIsIGNmLT5maWVsZHNbaV0pOworCQlpZiAoIWZpZWxkKQorCQkJY29udGludWU7CisKKwkJaWYgKGZkaXNrX2ZpZWxkX2lzX251bWJlcihmaWVsZCkpCisJCQlmbCB8PSBTQ09MU19GTF9SSUdIVDsKKwkJaWYgKGZkaXNrX2ZpZWxkX2dldF9pZChmaWVsZCkgPT0gRkRJU0tfRklFTERfVFlQRSkKKwkJCWZsIHw9IFNDT0xTX0ZMX1RSVU5DOworCQlpZiAodHJlZSAmJiBmZGlza19maWVsZF9nZXRfaWQoZmllbGQpID09IEZESVNLX0ZJRUxEX0RFVklDRSkKKwkJCWZsIHw9IFNDT0xTX0ZMX1RSRUU7CisKKwkJaWYgKCFzY29sc190YWJsZV9uZXdfY29sdW1uKHRhYmxlLAorCQkJCV8oZmRpc2tfZmllbGRfZ2V0X25hbWUoZmllbGQpKSwKKwkJCQlmZGlza19maWVsZF9nZXRfd2lkdGgoZmllbGQpLCBmbCkpCisJCQlnb3RvIGRvbmU7CisJfQorCisJLyogZGF0YSAqLworCWZkaXNrX3Jlc2V0X2l0ZXIoaXRyLCBGRElTS19JVEVSX0ZPUldBUkQpOworCisJd2hpbGUgKGZkaXNrX3RhYmxlX25leHRfcGFydGl0aW9uKHRiLCBpdHIsICZwYSkgPT0gMCkgeworCQlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqcGFyZW50ID0gZmRpc2tfcGFydGl0aW9uX2lzX25lc3RlZChwYSkgPyBsbl9jb250IDogTlVMTDsKKworCQlsbiA9IHNjb2xzX3RhYmxlX25ld19saW5lKHRhYmxlLCBwYXJlbnQpOworCQlpZiAoIWxuKQorCQkJZ290byBkb25lOworCQlmb3IgKGkgPSAwOyBpIDwgY2YtPm5maWVsZHM7IGkrKykgeworCQkJY2hhciAqY2RhdGEgPSBOVUxMOworCisJCQlpZiAoZmRpc2tfcGFydGl0aW9uX3RvX3N0cmluZyhwYSwgY2YtPmN4dCwKKwkJCQkJY2YtPmZpZWxkc1tpXSwgJmNkYXRhKSkKKwkJCQljb250aW51ZTsKKwkJCXNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgaSwgY2RhdGEpOworCQl9CisJCWlmICh0cmVlICYmIGZkaXNrX3BhcnRpdGlvbl9pc19jb250YWluZXIocGEpKQorCQkJbG5fY29udCA9IGxuOworCisJCXNjb2xzX2xpbmVfc2V0X3VzZXJkYXRhKGxuLCAodm9pZCAqKSBwYSk7CisJCWZkaXNrX3JlZl9wYXJ0aXRpb24ocGEpOworCX0KKworCWlmIChzY29sc190YWJsZV9pc19lbXB0eSh0YWJsZSkpCisJCWdvdG8gZG9uZTsKKworCXNjb2xzX3RhYmxlX3JlZHVjZV90ZXJtd2lkdGgodGFibGUsIEFSUk9XX0NVUlNPUl9XSURUSCk7CisJc2NvbHNfcHJpbnRfdGFibGVfdG9fc3RyaW5nKHRhYmxlLCAmcmVzKTsKKworCS8qIHNjb2xzXyogY29kZSBtaWdodCByZW9yZGVyIGxpbmVzLCBsZXQncyByZW9yZGVyIEB0YiBhY2NvcmRpbmcgdG8gdGhlCisJICogZmluYWwgb3V0cHV0IChpdCdzIG5vIHByb2JsZW0gYmVjYXVzZSBwYXJ0aXRpb25zIGFyZSBhZGRyZXNzZWQgYnkKKwkgKiBwYXJubyBzdG9yZWQgd2l0aGluIHN0cnVjdCBmZGlza19wYXJ0aXRpb24pICAqLworCisJLyogcmVtb3ZlIGFsbCAqLworCWZkaXNrX3Jlc2V0X2l0ZXIoaXRyLCBGRElTS19JVEVSX0ZPUldBUkQpOworCXdoaWxlIChmZGlza190YWJsZV9uZXh0X3BhcnRpdGlvbih0YiwgaXRyLCAmcGEpID09IDApCisJCWZkaXNrX3RhYmxlX3JlbW92ZV9wYXJ0aXRpb24odGIsIHBhKTsKKworCXNfaXRyID0gc2NvbHNfbmV3X2l0ZXIoU0NPTFNfSVRFUl9GT1JXQVJEKTsKKwlpZiAoIXNfaXRyKQorCQlnb3RvIGRvbmU7CisKKwkvKiBhZGQgYWxsIGluIHRoZSByaWdodCBvcmRlciAoZG9uJ3QgZm9yZ2V0IHRoZSBvdXRwdXQgaXMgdHJlZSkgKi8KKwl3aGlsZSAoc2NvbHNfdGFibGVfbmV4dF9saW5lKHRhYmxlLCBzX2l0ciwgJmxuKSA9PSAwKSB7CisJCWlmIChzY29sc19saW5lX2dldF9wYXJlbnQobG4pKQorCQkJY29udGludWU7CisJCWlmIChwYXJ0aXRpb25fZnJvbV9zY29scyh0YiwgbG4pKQorCQkJYnJlYWs7CisJfQorZG9uZToKKwlzY29sc191bnJlZl90YWJsZSh0YWJsZSk7CisJc2NvbHNfZnJlZV9pdGVyKHNfaXRyKTsKKwlmZGlza19mcmVlX2l0ZXIoaXRyKTsKKworCXJldHVybiByZXM7Cit9CisKK3N0YXRpYyB2b2lkIGNmZGlza19mcmVlX2xpbmVzKHN0cnVjdCBjZmRpc2sgKmNmKQoreworCXNpemVfdCBpID0gMDsKKwl3aGlsZShpIDwgY2YtPm5saW5lcykgeworCQlzY29sc191bnJlZl90YWJsZShjZi0+bGluZXNbaV0uZXh0cmEpOworCisJCURCRyhVSSwgdWxfZGVidWcoImRlbGV0ZSB3aW5kb3c6ICVwIiwKKwkJCQljZi0+bGluZXNbaV0udykpOworCisJCWlmIChjZi0+bGluZXNbaV0udykKKwkJCWRlbHdpbihjZi0+bGluZXNbaV0udyk7CisJCWNmLT5saW5lc1tpXS53ID0gTlVMTDsKKwkJKytpOworCX0KKwljZi0+YWN0X3dpbiA9IE5VTEw7CisJZnJlZShjZi0+bGluZXMpOworCWNmLT5saW5lcyA9IE5VTEw7Cit9CisvKgorICogUmVhZCBkYXRhIGFib3V0IHBhcnRpdGlvbnMgZnJvbSBsaWJmZGlzayBhbmQgcHJlcGFyZSBvdXRwdXQgbGluZXMuCisgKi8KK3N0YXRpYyBpbnQgbGluZXNfcmVmcmVzaChzdHJ1Y3QgY2ZkaXNrICpjZikKK3sKKwlpbnQgcmM7CisJY2hhciAqcDsKKwlzaXplX3QgaTsKKworCWFzc2VydChjZik7CisKKwlEQkcoVEFCTEUsIHVsX2RlYnVnKCJyZWZyZXNoaW5nIGJ1ZmZlciIpKTsKKworCWZyZWUoY2YtPmxpbmVzYnVmKTsKKwljZmRpc2tfZnJlZV9saW5lcyhjZik7CisJY2YtPmxpbmVzYnVmID0gTlVMTDsKKwljZi0+bGluZXNidWZzeiA9IDA7CisJY2YtPmxpbmVzID0gTlVMTDsKKwljZi0+bmxpbmVzID0gMDsKKworCWZkaXNrX3VucmVmX3RhYmxlKGNmLT50YWJsZSk7CisJY2YtPnRhYmxlID0gTlVMTDsKKworCS8qIHJlYWQgcGFydGl0aW9ucyBhbmQgZnJlZSBzcGFjZXMgaW50byBjZi0+dGFibGUgKi8KKwlyYyA9IGZkaXNrX2dldF9wYXJ0aXRpb25zKGNmLT5jeHQsICZjZi0+dGFibGUpOworCWlmICghcmMpCisJCXJjID0gZmRpc2tfZ2V0X2ZyZWVzcGFjZXMoY2YtPmN4dCwgJmNmLT50YWJsZSk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwljZi0+bGluZXNidWYgPSB0YWJsZV90b19zdHJpbmcoY2YsIGNmLT50YWJsZSk7CisJaWYgKCFjZi0+bGluZXNidWYpCisJCXJldHVybiAtRU5PTUVNOworCisJY2YtPmxpbmVzYnVmc3ogPSBzdHJsZW4oY2YtPmxpbmVzYnVmKTsKKwljZi0+bmxpbmVzID0gZmRpc2tfdGFibGVfZ2V0X25lbnRzKGNmLT50YWJsZSkgKyAxOwkvKiAxIGZvciBoZWFkZXIgbGluZSAqLworCWNmLT5wYWdlX3N6ID0gMDsKKwljZi0+d3Jvbmdfb3JkZXIgPSBmZGlza190YWJsZV93cm9uZ19vcmRlcihjZi0+dGFibGUpID8gMSA6IDA7CisKKwlpZiAoTUVOVV9TVEFSVF9MSU5FIC0gVEFCTEVfU1RBUlRfTElORSA8IGNmLT5ubGluZXMpCisJCWNmLT5wYWdlX3N6ID0gTUVOVV9TVEFSVF9MSU5FIC0gVEFCTEVfU1RBUlRfTElORSAtIDE7CisKKwljZi0+bGluZXMgPSB4Y2FsbG9jKGNmLT5ubGluZXMsIHNpemVvZihzdHJ1Y3QgY2ZkaXNrX2xpbmUpKTsKKworCWZvciAocCA9IGNmLT5saW5lc2J1ZiwgaSA9IDA7IHAgJiYgaSA8IGNmLT5ubGluZXM7IGkrKykgeworCQljZi0+bGluZXNbaV0uZGF0YSA9IHA7CisJCXAgPSBzdHJjaHIocCwgJ1xuJyk7CisJCWlmIChwKSB7CisJCQkqcCA9ICdcMCc7CisJCQlwKys7CisJCX0KKwkJY2YtPmxpbmVzW2ldLmV4dHJhID0gc2NvbHNfbmV3X3RhYmxlKCk7CisJCXNjb2xzX3RhYmxlX2VuYWJsZV9ub2hlYWRpbmdzKGNmLT5saW5lc1tpXS5leHRyYSwgMSk7CisJCXNjb2xzX3RhYmxlX25ld19jb2x1bW4oY2YtPmxpbmVzW2ldLmV4dHJhLCBOVUxMLCAwLCBTQ09MU19GTF9SSUdIVCk7CisJCXNjb2xzX3RhYmxlX25ld19jb2x1bW4oY2YtPmxpbmVzW2ldLmV4dHJhLCBOVUxMLCAwLCBTQ09MU19GTF9UUlVOQyk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpnZXRfY3VycmVudF9wYXJ0aXRpb24oc3RydWN0IGNmZGlzayAqY2YpCit7CisJYXNzZXJ0KGNmKTsKKwlhc3NlcnQoY2YtPnRhYmxlKTsKKworCXJldHVybiBmZGlza190YWJsZV9nZXRfcGFydGl0aW9uKGNmLT50YWJsZSwgY2YtPmxpbmVzX2lkeCk7Cit9CisKK3N0YXRpYyBpbnQgaXNfZnJlZXNwYWNlKHN0cnVjdCBjZmRpc2sgKmNmLCBzaXplX3QgaSkKK3sKKwlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYTsKKworCWFzc2VydChjZik7CisJYXNzZXJ0KGNmLT50YWJsZSk7CisKKwlwYSA9IGZkaXNrX3RhYmxlX2dldF9wYXJ0aXRpb24oY2YtPnRhYmxlLCBpKTsKKwlyZXR1cm4gZmRpc2tfcGFydGl0aW9uX2lzX2ZyZWVzcGFjZShwYSk7Cit9CisKKy8qIGNvbnZlcnRzIGxpYmZkaXNrIEZESVNLX0FTS1RZUEVfTUVOVSB0byBjZmRpc2sgbWVudSBhbmQgcmV0dXJucyB1c2VyJ3MKKyAqIHJlc3BvbnNlIGJhY2sgdG8gbGliZmRpc2sKKyAqLworc3RhdGljIGludCBhc2tfbWVudShzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIHN0cnVjdCBjZmRpc2sgKmNmKQoreworCXN0cnVjdCBjZmRpc2tfbWVudWl0ZW0gKmQsICpjbTsKKwlpbnQga2V5OworCXNpemVfdCBpID0gMCwgbml0ZW1zOworCWNvbnN0IGNoYXIgKm5hbWUsICpkZXNjOworCisJYXNzZXJ0KGFzayk7CisJYXNzZXJ0KGNmKTsKKworCS8qIGNyZWF0ZSBjZmRpc2sgbWVudSBhY2NvcmRpbmcgdG8gbGliZmRpc2sgYXNrLW1lbnUsIG5vdGUgdGhhdCB0aGUKKwkgKiBsYXN0IGNtW10gaXRlbSBoYXMgdG8gYmUgZW1wdHkgLS0gc28gbml0ZW1zICsgMSAqLworCW5pdGVtcyA9IGZkaXNrX2Fza19tZW51X2dldF9uaXRlbXMoYXNrKTsKKwljbSA9IHhjYWxsb2Mobml0ZW1zICsgMSwgc2l6ZW9mKHN0cnVjdCBjZmRpc2tfbWVudWl0ZW0pKTsKKworCWZvciAoaSA9IDA7IGkgPCBuaXRlbXM7IGkrKykgeworCQlpZiAoZmRpc2tfYXNrX21lbnVfZ2V0X2l0ZW0oYXNrLCBpLCAma2V5LCAmbmFtZSwgJmRlc2MpKQorCQkJYnJlYWs7CisJCWNtW2ldLmtleSA9IGtleTsKKwkJY21baV0uZGVzYyA9IGRlc2M7CisJCWNtW2ldLm5hbWUgPSBuYW1lOworCX0KKworCS8qIG1ha2UgdGhlIG5ldyBtZW51IGFjdGl2ZSAqLworCW1lbnVfcHVzaChjZiwgY20pOworCXVpX2RyYXdfbWVudShjZik7CisJcmVmcmVzaCgpOworCisJLyogd2FpdCBmb3Iga2V5cyAqLworCWRvIHsKKwkJa2V5ID0gZ2V0Y2goKTsKKworCQlpZiAodWlfcmVzaXplKQorCQkJdWlfbWVudV9yZXNpemUoY2YpOworCQlpZiAodWlfbWVudV9tb3ZlKGNmLCBrZXkpID09IDApCisJCQljb250aW51ZTsKKworCQlzd2l0Y2ggKGtleSkgeworCQljYXNlIEtFWV9FTlRFUjoKKwkJY2FzZSAnXG4nOgorCQljYXNlICdccic6CisJCQlkID0gbWVudV9nZXRfbWVudWl0ZW0oY2YsIGNmLT5tZW51LT5pZHgpOworCQkJaWYgKGQpCisJCQkJZmRpc2tfYXNrX21lbnVfc2V0X3Jlc3VsdChhc2ssIGQtPmtleSk7CisJCQltZW51X3BvcChjZik7CisJCQlmcmVlKGNtKTsKKwkJCXJldHVybiAwOworCQl9CisJfSB3aGlsZSAoMSk7CisKKwltZW51X3BvcChjZik7CisJZnJlZShjbSk7CisJcmV0dXJuIC0xOworfQorCisvKiBsaWJmZGlzayBjYWxsYmFjaworICovCitzdGF0aWMgaW50IGFza19jYWxsYmFjayhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0IF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwKKwkJCXN0cnVjdCBmZGlza19hc2sgKmFzaywKKwkJCXZvaWQgKmRhdGEgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCWludCByYyA9IDA7CisKKwlhc3NlcnQoYXNrKTsKKworCXN3aXRjaChmZGlza19hc2tfZ2V0X3R5cGUoYXNrKSkgeworCWNhc2UgRkRJU0tfQVNLVFlQRV9JTkZPOgorCQl1aV9pbmZvKGZkaXNrX2Fza19wcmludF9nZXRfbWVzZyhhc2spKTsKKwkJYnJlYWs7CisJY2FzZSBGRElTS19BU0tUWVBFX1dBUk5YOgorCQl1aV93YXJueChmZGlza19hc2tfcHJpbnRfZ2V0X21lc2coYXNrKSk7CisJCWJyZWFrOworCWNhc2UgRkRJU0tfQVNLVFlQRV9XQVJOOgorCQl1aV93YXJuKGZkaXNrX2Fza19wcmludF9nZXRfbWVzZyhhc2spKTsKKwkJYnJlYWs7CisJY2FzZSBGRElTS19BU0tUWVBFX01FTlU6CisJCWFza19tZW51KGFzaywgKHN0cnVjdCBjZmRpc2sgKikgZGF0YSk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXVpX3dhcm54KF8oImludGVybmFsIGVycm9yOiB1bnN1cHBvcnRlZCBkaWFsb2cgdHlwZSAlZCIpLAorCQkJZmRpc2tfYXNrX2dldF90eXBlKGFzaykpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHVpX2VuZCh2b2lkKQoreworCWlmICghdWlfZW5hYmxlZCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKyNpZiBkZWZpbmVkKEhBVkVfU0xDVVJTRVNfSCkgfHwgZGVmaW5lZChIQVZFX1NMQU5HX1NMQ1VSU0VTX0gpCisJU0xzbWdfZ290b3JjKHVpX2xpbmVzIC0gMSwgMCk7CisJU0xzbWdfcmVmcmVzaCgpOworI2Vsc2UKKwltdmN1cigwLCB1aV9jb2xzIC0gMSwgdWlfbGluZXMtMSwgMCk7CisjZW5kaWYKKwljdXJzX3NldCgxKTsKKwlubCgpOworCWVuZHdpbigpOworCXByaW50ZigiXG4iKTsKKwl1aV9lbmFibGVkID0gMDsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgdWlfdnByaW50X2NlbnRlcihzaXplX3QgbGluZSwgaW50IGF0dHJzLCBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXApCit7CisJc2l6ZV90IHdpZHRoOworCWNoYXIgKmJ1ZiA9IE5VTEw7CisKKwltb3ZlKGxpbmUsIDApOworCWNscnRvZW9sKCk7CisKKwl4dmFzcHJpbnRmKCZidWYsIGZtdCwgYXApOworCisJd2lkdGggPSBtYnNfc2FmZV93aWR0aChidWYpOworCWlmICh3aWR0aCA+IChzaXplX3QpIHVpX2NvbHMpIHsKKwkJY2hhciAqcCA9IHN0cnJjaHIoYnVmICsgdWlfY29scywgJyAnKTsKKwkJaWYgKCFwKQorCQkJcCA9IGJ1ZiArIHVpX2NvbHM7CisJCSpwID0gJ1wwJzsKKwkJaWYgKGxpbmUgKyAxID49IHVpX2xpbmVzKQorCQkJbGluZS0tOworCQlhdHRyb24oYXR0cnMpOworCQltdmFkZHN0cihsaW5lLCAwLCBidWYpOworCQltdmFkZHN0cihsaW5lICsgMSwgMCwgcCsxKTsKKwkJYXR0cm9mZihhdHRycyk7CisJfSBlbHNlIHsKKwkJYXR0cm9uKGF0dHJzKTsKKwkJbXZhZGRzdHIobGluZSwgKHVpX2NvbHMgLSB3aWR0aCkgLyAyLCBidWYpOworCQlhdHRyb2ZmKGF0dHJzKTsKKwl9CisJZnJlZShidWYpOworfQorCitzdGF0aWMgdm9pZCB1aV9jZW50ZXIoc2l6ZV90IGxpbmUsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworCXZhX2xpc3QgYXA7CisJdmFfc3RhcnQoYXAsIGZtdCk7CisJdWlfdnByaW50X2NlbnRlcihsaW5lLCAwLCBmbXQsIGFwKTsKKwl2YV9lbmQoYXApOworfQorCitzdGF0aWMgdm9pZCB1aV93YXJueChjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwl2YV9saXN0IGFwOworCXZhX3N0YXJ0KGFwLCBmbXQpOworCWlmICh1aV9lbmFibGVkKQorCQl1aV92cHJpbnRfY2VudGVyKFdBUk5fTElORSwKKwkJCWNvbG9yc193YW50ZWQoKSA/IENPTE9SX1BBSVIoQ0ZESVNLX0NMX1dBUk5JTkcpIDogMCwKKwkJCWZtdCwgYXApOworCWVsc2UgeworCQl2ZnByaW50ZihzdGRlcnIsIGZtdCwgYXApOworCQlmcHV0YygnXG4nLCBzdGRlcnIpOworCX0KKwl2YV9lbmQoYXApOworfQorCitzdGF0aWMgdm9pZCB1aV93YXJuKGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworCWNoYXIgKmZtdF9tOworCXZhX2xpc3QgYXA7CisKKwl4YXNwcmludGYoJmZtdF9tLCAiJXM6ICVtIiwgZm10KTsKKworCXZhX3N0YXJ0KGFwLCBmbXQpOworCWlmICh1aV9lbmFibGVkKQorCQl1aV92cHJpbnRfY2VudGVyKFdBUk5fTElORSwKKwkJCWNvbG9yc193YW50ZWQoKSA/IENPTE9SX1BBSVIoQ0ZESVNLX0NMX1dBUk5JTkcpIDogMCwKKwkJCWZtdF9tLCBhcCk7CisJZWxzZSB7CisJCXZmcHJpbnRmKHN0ZGVyciwgZm10X20sIGFwKTsKKwkJZnB1dGMoJ1xuJywgc3RkZXJyKTsKKwl9CisJdmFfZW5kKGFwKTsKKwlmcmVlKGZtdF9tKTsKK30KKworc3RhdGljIHZvaWQgdWlfY2xlYW5fd2Fybih2b2lkKQoreworCW1vdmUoV0FSTl9MSU5FLCAwKTsKKwljbHJ0b2VvbCgpOworfQorCitzdGF0aWMgaW50IF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVpX2VycngoaW50IHJjLCBjb25zdCBjaGFyICpmbXQsIC4uLikKKwkJeworCXZhX2xpc3QgYXA7CisJdWlfZW5kKCk7CisKKwl2YV9zdGFydChhcCwgZm10KTsKKwlmcHJpbnRmKHN0ZGVyciwgIiVzOiAiLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisJdmZwcmludGYoc3RkZXJyLCBmbXQsIGFwKTsKKwlmcHV0YygnXG4nLCBzdGRlcnIpOworCXZhX2VuZChhcCk7CisKKwlleGl0KHJjKTsKK30KKworc3RhdGljIHZvaWQgdWlfaW5mbyhjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwl2YV9saXN0IGFwOworCXZhX3N0YXJ0KGFwLCBmbXQpOworCWlmICh1aV9lbmFibGVkKQorCQl1aV92cHJpbnRfY2VudGVyKElORk9fTElORSwKKwkJCQljb2xvcnNfd2FudGVkKCkgPyBDT0xPUl9QQUlSKENGRElTS19DTF9JTkZPKSA6IDAsCisJCQkJZm10LCBhcCk7CisJZWxzZSB7CisJCXZmcHJpbnRmKHN0ZG91dCwgZm10LCBhcCk7CisJCWZwdXRjKCdcbicsIHN0ZG91dCk7CisJfQorCXZhX2VuZChhcCk7Cit9CisKK3N0YXRpYyB2b2lkIHVpX2NsZWFuX2luZm8odm9pZCkKK3sKKwltb3ZlKElORk9fTElORSwgMCk7CisJY2xydG9lb2woKTsKK30KKworc3RhdGljIHZvaWQgdWlfaGludChjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwl2YV9saXN0IGFwOworCXZhX3N0YXJ0KGFwLCBmbXQpOworCWlmICh1aV9lbmFibGVkKQorCQl1aV92cHJpbnRfY2VudGVyKEhJTlRfTElORSwgQV9CT0xELCBmbXQsIGFwKTsKKwllbHNlIHsKKwkJdmZwcmludGYoc3Rkb3V0LCBmbXQsIGFwKTsKKwkJZnB1dGMoJ1xuJywgc3Rkb3V0KTsKKwl9CisJdmFfZW5kKGFwKTsKK30KKworc3RhdGljIHZvaWQgdWlfY2xlYW5faGludCh2b2lkKQoreworCW1vdmUoSElOVF9MSU5FLCAwKTsKKwljbHJ0b2VvbCgpOworfQorCitzdGF0aWMgdm9pZCBkaWVfb25fc2lnbmFsKGludCBkdW1teSBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJREJHKE1JU0MsIHVsX2RlYnVnKCJkaWUgb24gc2lnbmFsLiIpKTsKKwl1aV9lbmQoKTsKKwlleGl0KEVYSVRfRkFJTFVSRSk7Cit9CisKK3N0YXRpYyB2b2lkIHJlc2l6ZV9vbl9zaWduYWwoaW50IGR1bW15IF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlEQkcoTUlTQywgdWxfZGVidWcoInJlc2l6ZSBvbiBzaWduYWwuIikpOworCXVpX3Jlc2l6ZSA9IDE7Cit9CisKK3N0YXRpYyB2b2lkIG1lbnVfcmVmcmVzaF9zaXplKHN0cnVjdCBjZmRpc2sgKmNmKQoreworCWlmIChjZi0+bWVudSAmJiBjZi0+bWVudS0+bml0ZW1zKQorCQljZi0+bWVudS0+cGFnZV9zeiA9IChjZi0+bWVudS0+bml0ZW1zIC8gKHVpX2xpbmVzIC0gNCkpID8gdWlfbGluZXMgLSA0IDogMDsKK30KKworc3RhdGljIHZvaWQgbWVudV91cGRhdGVfaWdub3JlKHN0cnVjdCBjZmRpc2sgKmNmKQoreworCWNoYXIgaWdub3JlWzEyOF0gPSB7IDAgfTsKKwlpbnQgaSA9IDA7CisJc3RydWN0IGNmZGlza19tZW51ICptOworCXN0cnVjdCBjZmRpc2tfbWVudWl0ZW0gKmQsICpvcmcgPSBOVUxMOworCXNpemVfdCBpZHg7CisKKwlhc3NlcnQoY2YpOworCWFzc2VydChjZi0+bWVudSk7CisJYXNzZXJ0KGNmLT5tZW51LT5pZ25vcmVfY2IpOworCisJbSA9IGNmLT5tZW51OworCURCRyhNRU5VLCB1bF9kZWJ1ZygidXBkYXRlIG1lbnUgaWdub3JlZCBrZXlzIikpOworCisJaSA9IG0tPmlnbm9yZV9jYihjZiwgaWdub3JlLCBzaXplb2YoaWdub3JlKSk7CisJaWdub3JlW2ldID0gJ1wwJzsKKworCS8qIHJldHVybiBpZiBubyBjaGFuZ2UgKi8KKwlpZiAoKCFtLT5pZ25vcmUgJiYgISppZ25vcmUpCisJICAgIHx8IChtLT5pZ25vcmUgJiYgKmlnbm9yZSAmJiBzdHJjbXAobS0+aWdub3JlLCBpZ25vcmUpID09IDApKSB7CisJCSAgICByZXR1cm47CisJfQorCisJaWYgKCFtLT5wcmVma2V5KQorCQlvcmcgPSBtZW51X2dldF9tZW51aXRlbShjZiwgbS0+aWR4KTsKKworCWZyZWUobS0+aWdub3JlKTsKKwltLT5pZ25vcmUgPSB4c3RyZHVwKGlnbm9yZSk7CisJbS0+bml0ZW1zID0gMDsKKworCWZvciAoZCA9IG0tPml0ZW1zOyBkLT5uYW1lOyBkKyspIHsKKwkJaWYgKG0tPmlnbm9yZSAmJiBzdHJjaHIobS0+aWdub3JlLCBkLT5rZXkpKQorCQkJY29udGludWU7CisJCW0tPm5pdGVtcysrOworCX0KKworCURCRyhNRU5VLCB1bF9kZWJ1ZygidXBkYXRlIG1lbnUgcHJlZmVycmVkIGtleXMiKSk7CisKKwkvKiByZWZyZXNoIG1lbnUgaW5kZXggdG8gYmUgYXQgdGhlIHNhbWUgbWVudWl0ZW0gb3IgZ28gdG8gdGhlIGZpcnN0ICovCisJaWYgKG9yZyAmJiBtZW51X2dldF9tZW51aXRlbV9ieV9rZXkoY2YsIG9yZy0+a2V5LCAmaWR4KSkKKwkJbS0+aWR4ID0gaWR4OworCWVsc2UgaWYgKG0tPnByZWZrZXkgJiYgbWVudV9nZXRfbWVudWl0ZW1fYnlfa2V5KGNmLCBtLT5wcmVma2V5LCAmaWR4KSkKKwkJbS0+aWR4ID0gaWR4OworCWVsc2UKKwkJbS0+aWR4ID0gMDsKKworCW1lbnVfcmVmcmVzaF9zaXplKGNmKTsKK30KKworc3RhdGljIHN0cnVjdCBjZmRpc2tfbWVudSAqbWVudV9wdXNoKAorCQkJc3RydWN0IGNmZGlzayAqY2YsCisJCQlzdHJ1Y3QgY2ZkaXNrX21lbnVpdGVtICppdGVtcykKK3sKKwlzdHJ1Y3QgY2ZkaXNrX21lbnUgKm0gPSB4Y2FsbG9jKDEsIHNpemVvZigqbSkpOworCXN0cnVjdCBjZmRpc2tfbWVudWl0ZW0gKmQ7CisKKwlhc3NlcnQoY2YpOworCisJREJHKE1FTlUsIHVsX2RlYnVnKCJuZXcgbWVudSIpKTsKKworCW0tPnByZXYgPSBjZi0+bWVudTsKKwltLT5pdGVtcyA9IGl0ZW1zOworCisJZm9yIChkID0gbS0+aXRlbXM7IGQtPm5hbWU7IGQrKykgeworCQljb25zdCBjaGFyICpuYW1lID0gXyhkLT5uYW1lKTsKKwkJc2l6ZV90IGxlbiA9IG1ic19zYWZlX3dpZHRoKG5hbWUpOworCQlpZiAobGVuID4gbS0+d2lkdGgpCisJCQltLT53aWR0aCA9IGxlbjsKKwkJbS0+bml0ZW1zKys7CisJfQorCisJY2YtPm1lbnUgPSBtOworCisJbWVudV9yZWZyZXNoX3NpemUoY2YpOworCXJldHVybiBtOworfQorCitzdGF0aWMgc3RydWN0IGNmZGlza19tZW51ICptZW51X3BvcChzdHJ1Y3QgY2ZkaXNrICpjZikKK3sKKwlzdHJ1Y3QgY2ZkaXNrX21lbnUgKm0gPSBOVUxMOworCisJYXNzZXJ0KGNmKTsKKworCURCRyhNRU5VLCB1bF9kZWJ1ZygicG9wIG1lbnUiKSk7CisKKwlpZiAoY2YtPm1lbnUpIHsKKwkJbSA9IGNmLT5tZW51LT5wcmV2OworCQlmcmVlKGNmLT5tZW51LT5pZ25vcmUpOworCQlmcmVlKGNmLT5tZW51LT50aXRsZSk7CisJCWZyZWUoY2YtPm1lbnUpOworCX0KKwljZi0+bWVudSA9IG07CisJcmV0dXJuIGNmLT5tZW51OworfQorCitzdGF0aWMgdm9pZCBtZW51X3NldF90aXRsZShzdHJ1Y3QgY2ZkaXNrX21lbnUgKm0sIGNvbnN0IGNoYXIgKnRpdGxlKQoreworCWNoYXIgKnN0ciA9IE5VTEw7CisKKwlpZiAodGl0bGUpIHsKKwkJc2l6ZV90IGxlbiA9ICBtYnNfc2FmZV93aWR0aCh0aXRsZSk7CisJCWlmIChsZW4gKyBNRU5VX1RJVExFX1BBRERJTkcgPiBtLT53aWR0aCkKKwkJCW0tPndpZHRoID0gbGVuICsgTUVOVV9USVRMRV9QQURESU5HOworCQlzdHIgPSB4c3RyZHVwKHRpdGxlKTsKKwl9CisJbS0+dGl0bGUgPSBzdHI7Cit9CisKKworc3RhdGljIGludCB1aV9pbml0KHN0cnVjdCBjZmRpc2sgKmNmIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlzdHJ1Y3Qgc2lnYWN0aW9uIHNhOworCisJREJHKFVJLCB1bF9kZWJ1ZygiaW5pdCIpKTsKKworCS8qIHNldHVwIFNJR0NITEQgaGFuZGxlciAqLworCXNpZ2VtcHR5c2V0KCZzYS5zYV9tYXNrKTsKKwlzYS5zYV9mbGFncyA9IDA7CisJc2Euc2FfaGFuZGxlciA9IGRpZV9vbl9zaWduYWw7CisJc2lnYWN0aW9uKFNJR0lOVCwgJnNhLCBOVUxMKTsKKwlzaWdhY3Rpb24oU0lHVEVSTSwgJnNhLCBOVUxMKTsKKworCXNhLnNhX2hhbmRsZXIgPSByZXNpemVfb25fc2lnbmFsOworCXNpZ2FjdGlvbihTSUdXSU5DSCwgJnNhLCBOVUxMKTsKKworCXVpX2VuYWJsZWQgPSAxOworCWluaXRzY3IoKTsKKworI2lmZGVmIEhBVkVfVVNFX0RFRkFVTFRfQ09MT1JTCisJaWYgKGNvbG9yc193YW50ZWQoKSAmJiBoYXNfY29sb3JzKCkpIHsKKwkJc2l6ZV90IGk7CisKKwkJc3RhcnRfY29sb3IoKTsKKwkJdXNlX2RlZmF1bHRfY29sb3JzKCk7CisJCWZvciAoaSA9IDE7IGkgPCBBUlJBWV9TSVpFKGNvbG9yX3BhaXJzKTsgaSsrKQkJLyogeWVhaCwgc3RhcnQgZnJvbSAxISAqLworCQkJaW5pdF9wYWlyKGksIGNvbG9yX3BhaXJzW2ldWzBdLCBjb2xvcl9wYWlyc1tpXVsxXSk7CisJfQorI2Vsc2UKKwljb2xvcnNfb2ZmKCk7CisjZW5kaWYKKworCWNicmVhaygpOworCW5vZWNobygpOworCW5vbmwoKTsKKwljdXJzX3NldCgwKTsKKwlrZXlwYWQoc3Rkc2NyLCBUUlVFKTsKKworCXJldHVybiAwOworfQorCisvKiAiWyBzdHJpbmcgXSIgKi8KKyNkZWZpbmUgTUVOVV9IX0lURU1XSURUSChtKQkoICBNRU5VX0hfUFJFU1RSX1NaIFwKKwkJCQkgKyBNRU5VX0hfU1BBRERJTkcgXAorCQkJCSArIChtKS0+d2lkdGggXAorCQkJCSArIE1FTlVfSF9TUEFERElORyBcCisJCQkJICsgTUVOVV9IX1BPU1RTVFJfU1opCisKKyNkZWZpbmUgTUVOVV9WX0lURU1XSURUSChtKQkoTUVOVV9WX1NQQURESU5HICsgKG0pLT53aWR0aCArIE1FTlVfVl9TUEFERElORykKKworCitzdGF0aWMgc2l6ZV90IG1lbnVpdGVtX2dldF9saW5lKHN0cnVjdCBjZmRpc2sgKmNmLCBzaXplX3QgaWR4KQoreworCXN0cnVjdCBjZmRpc2tfbWVudSAqbSA9IGNmLT5tZW51OworCisJaWYgKG0tPnZlcnRpY2FsKSB7CisJCWlmICghbS0+cGFnZV9zeikJCQkJLyogc21hbGwgbWVudSAqLworCQkJcmV0dXJuICh1aV9saW5lcyAtIChjZi0+bWVudS0+bml0ZW1zICsgMSkpIC8gMiArIGlkeDsKKwkJcmV0dXJuIChpZHggJSBtLT5wYWdlX3N6KSArIDE7CisJfSBlbHNlIHsKKwkJc2l6ZV90IGxlbiA9IE1FTlVfSF9JVEVNV0lEVEgobSkgKyBNRU5VX0hfQkVUV0VFTjsgLyoqIGl0ZW0gd2lkdGggKi8KKwkJc2l6ZV90IGl0ZW1zID0gdWlfY29scyAvIGxlbjsJCQkvKiBpdGVtcyBwZXIgbGluZSAqLworCisJCWlmIChpdGVtcyA9PSAwKQorCQkJcmV0dXJuIDA7CisJCXJldHVybiBNRU5VX1NUQVJUX0xJTkUgKyAoKGlkeCAvIGl0ZW1zKSk7CisJfQorfQorCitzdGF0aWMgaW50IG1lbnVpdGVtX2dldF9jb2x1bW4oc3RydWN0IGNmZGlzayAqY2YsIHNpemVfdCBpZHgpCit7CisJaWYgKGNmLT5tZW51LT52ZXJ0aWNhbCkgeworCQlzaXplX3QgbmMgPSBNRU5VX1ZfSVRFTVdJRFRIKGNmLT5tZW51KTsKKwkJaWYgKChzaXplX3QpIHVpX2NvbHMgPD0gbmMpCisJCQlyZXR1cm4gMDsKKwkJcmV0dXJuICh1aV9jb2xzIC0gbmMpIC8gMjsKKwl9IGVsc2UgeworCQlzaXplX3QgbGVuID0gTUVOVV9IX0lURU1XSURUSChjZi0+bWVudSkgKyBNRU5VX0hfQkVUV0VFTjsgLyogaXRlbSB3aWR0aCAqLworCQlzaXplX3QgaXRlbXMgPSB1aV9jb2xzIC8gbGVuOwkJCQkvKiBpdGVtcyBwZXIgbGluZSAqLworCQlzaXplX3QgZXh0cmEgPSBpdGVtcyA8IGNmLT5tZW51LT5uaXRlbXMgPwkJLyogZXh0cmEgc3BhY2Ugb24gbGluZSAqLworCQkJCXVpX2NvbHMgJSBsZW4gOgkJCQkvKiAtIG11bHRpLWxpbmUgbWVudSAqLworCQkJCXVpX2NvbHMgLSAoY2YtPm1lbnUtPm5pdGVtcyAqIGxlbik7CS8qIC0gb25lIGxpbmUgbWVudSAqLworCisJCWlmIChpdGVtcyA9PSAwKQorCQkJcmV0dXJuIDA7CQkJCQkvKiBobW0uLi4gbm8gc3BhY2UgKi8KKworCQlleHRyYSArPSBNRU5VX0hfQkVUV0VFTjsJLyogYWRkIHBhZGRpbmcgYWZ0ZXIgbGFzdCBpdGVtIHRvIGV4dHJhICovCisKKwkJaWYgKGlkeCA8IGl0ZW1zKQorCQkJcmV0dXJuIChpZHggKiBsZW4pICsgKGV4dHJhIC8gMik7CisJCXJldHVybiAoKGlkeCAlIGl0ZW1zKSAqIGxlbikgKyAoZXh0cmEgLyAyKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgbWVudWl0ZW1fb25fcGFnZShzdHJ1Y3QgY2ZkaXNrICpjZiwgc2l6ZV90IGlkeCkKK3sKKwlzdHJ1Y3QgY2ZkaXNrX21lbnUgKm0gPSBjZi0+bWVudTsKKworCWlmIChtLT5wYWdlX3N6ID09IDAgfHwKKwkgICAgbS0+aWR4IC8gbS0+cGFnZV9zeiA9PSBpZHggLyBtLT5wYWdlX3N6KQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBjZmRpc2tfbWVudWl0ZW0gKm1lbnVfZ2V0X21lbnVpdGVtKHN0cnVjdCBjZmRpc2sgKmNmLCBzaXplX3QgaWR4KQoreworCXN0cnVjdCBjZmRpc2tfbWVudWl0ZW0gKmQ7CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwLCBkID0gY2YtPm1lbnUtPml0ZW1zOyBkLT5uYW1lOyBkKyspIHsKKwkJaWYgKGNmLT5tZW51LT5pZ25vcmUgJiYgc3RyY2hyKGNmLT5tZW51LT5pZ25vcmUsIGQtPmtleSkpCisJCQljb250aW51ZTsKKwkJaWYgKGkrKyA9PSBpZHgpCisJCQlyZXR1cm4gZDsKKwl9CisKKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIHN0cnVjdCBjZmRpc2tfbWVudWl0ZW0gKm1lbnVfZ2V0X21lbnVpdGVtX2J5X2tleShzdHJ1Y3QgY2ZkaXNrICpjZiwKKwkJCQkJCQlpbnQga2V5LCBzaXplX3QgKmlkeCkKK3sKKwlzdHJ1Y3QgY2ZkaXNrX21lbnVpdGVtICpkOworCisJZm9yICgqaWR4ID0gMCwgZCA9IGNmLT5tZW51LT5pdGVtczsgZC0+bmFtZTsgZCsrKSB7CisJCWlmIChjZi0+bWVudS0+aWdub3JlICYmIHN0cmNocihjZi0+bWVudS0+aWdub3JlLCBkLT5rZXkpKQorCQkJY29udGludWU7CisJCWlmIChrZXkgPT0gZC0+a2V5KQorCQkJcmV0dXJuIGQ7CisJCSgqaWR4KSsrOworCX0KKworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgdm9pZCB1aV9kcmF3X21lbnVpdGVtKHN0cnVjdCBjZmRpc2sgKmNmLAorCQkJICAgICBzdHJ1Y3QgY2ZkaXNrX21lbnVpdGVtICpkLAorCQkJICAgICBzaXplX3QgaWR4KQoreworCWNoYXIgYnVmWzgwICogTUJfQ1VSX01BWF0sICpwdHIgPSBidWY7CisJY29uc3QgY2hhciAqbmFtZTsKKwlzaXplX3Qgd2lkdGg7CisJaW50IGxuLCBjbCwgdmVydCA9IGNmLT5tZW51LT52ZXJ0aWNhbDsKKworCWlmICghbWVudWl0ZW1fb25fcGFnZShjZiwgaWR4KSkKKwkJcmV0dXJuOwkJLyogbm8gdmlzaWJsZSBpdGVtICovCisJbG4gPSBtZW51aXRlbV9nZXRfbGluZShjZiwgaWR4KTsKKwljbCA9IG1lbnVpdGVtX2dldF9jb2x1bW4oY2YsIGlkeCk7CisKKwkvKiBzdHJpbmcgd2lkdGggKi8KKwlpZiAodmVydCkgeworCQl3aWR0aCA9IGNmLT5tZW51LT53aWR0aCArIE1FTlVfVl9TUEFERElORzsKKwkJbWVtc2V0KHB0ciwgJyAnLCBNRU5VX1ZfU1BBRERJTkcpOworCQlwdHIgKz0gTUVOVV9WX1NQQURESU5HOworCX0gZWxzZQorCQl3aWR0aCA9IE1FTlVfSF9TUEFERElORyArIGNmLT5tZW51LT53aWR0aCArIE1FTlVfSF9TUEFERElORzsKKworCW5hbWUgPSBfKGQtPm5hbWUpOworCW1ic2FsaWduKG5hbWUsIHB0ciwgc2l6ZW9mKGJ1ZiksICZ3aWR0aCwKKwkJCXZlcnQgPyBNQlNfQUxJR05fTEVGVCA6IE1CU19BTElHTl9DRU5URVIsCisJCQkwKTsKKworCURCRyhNRU5VLCB1bF9kZWJ1ZygibWVudWl0ZW06IGNsPSVkLCBsbj0lZCwgaXRlbT0nJXMnIiwKKwkJCWNsLCBsbiwgYnVmKSk7CisKKwlpZiAodmVydCkgeworCQltdmFkZGNoKGxuLCBjbCAtIDEsIEFDU19WTElORSk7CisJCW12YWRkY2gobG4sIGNsICsgTUVOVV9WX0lURU1XSURUSChjZi0+bWVudSksIEFDU19WTElORSk7CisJfQorCisJaWYgKGNmLT5tZW51LT5pZHggPT0gaWR4KQorCQlzdGFuZG91dCgpOworCisJaWYgKHZlcnQpCisJCW12cHJpbnR3KGxuLCBjbCwgIiVzIiwgYnVmKTsKKwllbHNlCisJCW12cHJpbnR3KGxuLCBjbCwgIiVzJXMlcyIsIE1FTlVfSF9QUkVTVFIsIGJ1ZiwgTUVOVV9IX1BPU1RTVFIpOworCisJaWYgKGNmLT5tZW51LT5pZHggPT0gaWR4KSB7CisJCXN0YW5kZW5kKCk7CisJCWlmIChkLT5kZXNjKQorCQkJdWlfaGludChfKGQtPmRlc2MpKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHVpX2NsZWFuX21lbnUoc3RydWN0IGNmZGlzayAqY2YpCit7CisJc2l6ZV90IGk7CisJc2l6ZV90IGxhc3RsaW5lOworCXN0cnVjdCBjZmRpc2tfbWVudSAqbSA9IGNmLT5tZW51OworCXNpemVfdCBsbiA9IG1lbnVpdGVtX2dldF9saW5lKGNmLCAwKTsKKworCWlmIChtLT52ZXJ0aWNhbCkKKwkJbGFzdGxpbmUgPSBsbiArIChtLT5wYWdlX3N6ID8gbS0+cGFnZV9zeiA6IG0tPm5pdGVtcyk7CisJZWxzZQorCQlsYXN0bGluZSA9IG1lbnVpdGVtX2dldF9saW5lKGNmLCBtLT5uaXRlbXMpOworCisJZm9yIChpID0gbG47IGkgPD0gbGFzdGxpbmU7IGkrKykgeworCQltb3ZlKGksIDApOworCQljbHJ0b2VvbCgpOworCQlEQkcoTUVOVSwgdWxfZGVidWcoImNsZWFuX21lbnU6IGxpbmUgJXp1IiwgaSkpOworCX0KKwlpZiAobS0+dmVydGljYWwpIHsKKwkJbW92ZShsbiAtIDEsIDApOworCQljbHJ0b2VvbCgpOworCX0KKwl1aV9jbGVhbl9oaW50KCk7Cit9CisKK3N0YXRpYyB2b2lkIHVpX2RyYXdfbWVudShzdHJ1Y3QgY2ZkaXNrICpjZikKK3sKKwlzdHJ1Y3QgY2ZkaXNrX21lbnVpdGVtICpkOworCXN0cnVjdCBjZmRpc2tfbWVudSAqbTsKKwlzaXplX3QgaSA9IDA7CisJc2l6ZV90IGxuID0gbWVudWl0ZW1fZ2V0X2xpbmUoY2YsIDApOworCXNpemVfdCBubGluZXM7CisKKwlhc3NlcnQoY2YpOworCWFzc2VydChjZi0+bWVudSk7CisKKwlEQkcoTUVOVSwgdWxfZGVidWcoImRyYXcgc3RhcnQiKSk7CisKKwl1aV9jbGVhbl9tZW51KGNmKTsKKwltID0gY2YtPm1lbnU7CisKKwlpZiAobS0+dmVydGljYWwpCisJCW5saW5lcyA9IG0tPnBhZ2Vfc3ogPyBtLT5wYWdlX3N6IDogbS0+bml0ZW1zOworCWVsc2UKKwkJbmxpbmVzID0gbWVudWl0ZW1fZ2V0X2xpbmUoY2YsIG0tPm5pdGVtcyk7CisKKwlpZiAobS0+aWdub3JlX2NiKQorCQltZW51X3VwZGF0ZV9pZ25vcmUoY2YpOworCWkgPSAwOworCXdoaWxlICgoZCA9IG1lbnVfZ2V0X21lbnVpdGVtKGNmLCBpKSkpCisJCXVpX2RyYXdfbWVudWl0ZW0oY2YsIGQsIGkrKyk7CisKKwlpZiAobS0+dmVydGljYWwpIHsKKwkJc2l6ZV90IGNsID0gbWVudWl0ZW1fZ2V0X2NvbHVtbihjZiwgMCk7CisJCXNpemVfdCBjdXJwZyA9IG0tPnBhZ2Vfc3ogPyBtLT5pZHggLyBtLT5wYWdlX3N6IDogMDsKKworCQkvKiBjb3JuZXJzIGFuZCBob3Jpem9udGFsIGxpbmVzICovCisJCW12YWRkY2gobG4gLSAxLCBjbCAtIDEsIEFDU19VTENPUk5FUik7CisJCW12YWRkY2gobG4gKyBubGluZXMsIGNsIC0gMSwgQUNTX0xMQ09STkVSKTsKKworCQlmb3IgKGkgPSAwOyBpIDwgTUVOVV9WX0lURU1XSURUSChtKTsgaSsrKSB7CisJCQltdmFkZGNoKGxuIC0gMSwgY2wgKyBpLCBBQ1NfSExJTkUpOworCQkJbXZhZGRjaChsbiArIG5saW5lcywgY2wgKyBpLCBBQ1NfSExJTkUpOworCQl9CisKKwkJbXZhZGRjaChsbiAtIDEsIGNsICsgaSwgQUNTX1VSQ09STkVSKTsKKwkJbXZhZGRjaChsbiArIG5saW5lcywgY2wgKyBpLCBBQ1NfTFJDT1JORVIpOworCisJCS8qIGRyYXcgYWxzbyBsaW5lcyBhcm91bmQgZW1wdHkgbGluZXMgb24gbGFzdCBwYWdlICovCisJCWlmIChtLT5wYWdlX3N6ICYmCisJCSAgICBtLT5uaXRlbXMgLyBtLT5wYWdlX3N6ID09IG0tPmlkeCAvIG0tPnBhZ2Vfc3opIHsKKwkJCWZvciAoaSA9IG0tPm5pdGVtcyAlIG0tPnBhZ2Vfc3ogKyAxOyBpIDw9IG0tPnBhZ2Vfc3o7IGkrKykgeworCQkJCW12YWRkY2goaSwgY2wgLSAxLCBBQ1NfVkxJTkUpOworCQkJCW12YWRkY2goaSwgY2wgKyBNRU5VX1ZfSVRFTVdJRFRIKG0pLCBBQ1NfVkxJTkUpOworCQkJfQorCQl9CisJCWlmIChtLT50aXRsZSkgeworCQkJYXR0cm9uKEFfQk9MRCk7CisJCQltdnByaW50dyhsbiAtIDEsIGNsLCAiICVzICIsIG0tPnRpdGxlKTsKKwkJCWF0dHJvZmYoQV9CT0xEKTsKKwkJfQorCQlpZiAoY3VycGcgIT0gMCkKKwkJCW12YWRkY2gobG4gLSAxLCBjbCArIE1FTlVfVl9JVEVNV0lEVEgobSkgLSAyLCBBQ1NfVUFSUk9XKTsKKwkJaWYgKG0tPnBhZ2Vfc3ogJiYgY3VycGcgPCBtLT5uaXRlbXMgLyBtLT5wYWdlX3N6KQorCQkJbXZhZGRjaChsbiArIG5saW5lcywgY2wgKyBNRU5VX1ZfSVRFTVdJRFRIKG0pIC0gMiwgQUNTX0RBUlJPVyk7CisJfQorCisJREJHKE1FTlUsIHVsX2RlYnVnKCJkcmF3IGVuZC4iKSk7Cit9CisKK2lubGluZSBzdGF0aWMgaW50IGV4dHJhX2luc2VydF9wYWlyKHN0cnVjdCBjZmRpc2tfbGluZSAqbCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqZGF0YSkKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbHNsOworCWludCByYzsKKworCWFzc2VydChsKTsKKwlhc3NlcnQobC0+ZXh0cmEpOworCisJaWYgKCFkYXRhIHx8ICEqZGF0YSkKKwkJcmV0dXJuIDA7CisKKwlsc2wgPSBzY29sc190YWJsZV9uZXdfbGluZShsLT5leHRyYSwgTlVMTCk7CisJaWYgKCFsc2wpCisJCXJldHVybiAtRU5PTUVNOworCisJcmMgPSBzY29sc19saW5lX3NldF9kYXRhKGxzbCwgMCwgbmFtZSk7CisJaWYgKCFyYykKKwkJcmMgPSBzY29sc19saW5lX3NldF9kYXRhKGxzbCwgMSwgZGF0YSk7CisKKwlyZXR1cm4gcmM7Cit9CisKKyNpZm5kZWYgSEFWRV9MSUJNT1VOVAorc3RhdGljIGNoYXIgKmdldF9tb3VudHBvaW50KAlzdHJ1Y3QgY2ZkaXNrICpjZiBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSwKKwkJCQljb25zdCBjaGFyICp0YWduYW1lIF9fYXR0cmlidXRlX18oKHVudXNlZCkpLAorCQkJCWNvbnN0IGNoYXIgKnRhZ2RhdGEgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCit7CisJcmV0dXJuIE5VTEw7Cit9CisjZWxzZQorc3RhdGljIGNoYXIgKmdldF9tb3VudHBvaW50KHN0cnVjdCBjZmRpc2sgKmNmLCBjb25zdCBjaGFyICp0YWduYW1lLCBjb25zdCBjaGFyICp0YWdkYXRhKQoreworCXN0cnVjdCBsaWJtbnRfZnMgKmZzID0gTlVMTDsKKwljaGFyICp0YXJnZXQgPSBOVUxMOworCWludCBtb3VudGVkID0gMDsKKworCWFzc2VydCh0YWduYW1lKTsKKwlhc3NlcnQodGFnZGF0YSk7CisKKwlEQkcoVUksIHVsX2RlYnVnKCJhc2tpbmcgZm9yIG1vdW50cG9pbnQgWyVzPSVzXSIsIHRhZ25hbWUsIHRhZ2RhdGEpKTsKKworCWlmICghY2YtPm1udGNhY2hlKQorCQljZi0+bW50Y2FjaGUgPSBtbnRfbmV3X2NhY2hlKCk7CisKKwkvKiAxc3QgdHJ5IGJldHdlZW4gbW91bnRlZCBmaWxlc3lzdGVtcyAqLworCWlmICghY2YtPm10YWIpIHsKKwkJY2YtPm10YWIgPSBtbnRfbmV3X3RhYmxlKCk7CisJCWlmIChjZi0+bXRhYikgeworCQkJbW50X3RhYmxlX3NldF9jYWNoZShjZi0+bXRhYiwgY2YtPm1udGNhY2hlKTsKKwkJCW1udF90YWJsZV9wYXJzZV9tdGFiKGNmLT5tdGFiLCBOVUxMKTsKKwkJfQorCX0KKworCWlmIChjZi0+bXRhYikKKwkJZnMgPSBtbnRfdGFibGVfZmluZF90YWcoY2YtPm10YWIsIHRhZ25hbWUsIHRhZ2RhdGEsIE1OVF9JVEVSX0ZPUldBUkQpOworCisJLyogMm5kIHRyeSBmc3RhYiAqLworCWlmICghZnMpIHsKKwkJaWYgKCFjZi0+ZnN0YWIpIHsKKwkJCWNmLT5mc3RhYiA9IG1udF9uZXdfdGFibGUoKTsKKwkJCWlmIChjZi0+ZnN0YWIpIHsKKwkJCQltbnRfdGFibGVfc2V0X2NhY2hlKGNmLT5mc3RhYiwgY2YtPm1udGNhY2hlKTsKKwkJCQltbnRfdGFibGVfcGFyc2VfZnN0YWIoY2YtPmZzdGFiLCBOVUxMKTsKKwkJCX0KKwkJfQorCQlpZiAoY2YtPmZzdGFiKQorCQkJZnMgPSBtbnRfdGFibGVfZmluZF90YWcoY2YtPmZzdGFiLCB0YWduYW1lLCB0YWdkYXRhLCBNTlRfSVRFUl9GT1JXQVJEKTsKKwl9IGVsc2UKKwkJbW91bnRlZCA9IDE7CisKKwlpZiAoZnMpIHsKKwkJaWYgKG1vdW50ZWQpCisJCQl4YXNwcmludGYoJnRhcmdldCwgXygiJXMgKG1vdW50ZWQpIiksIG1udF9mc19nZXRfdGFyZ2V0KGZzKSk7CisJCWVsc2UKKwkJCXRhcmdldCA9IHhzdHJkdXAobW50X2ZzX2dldF90YXJnZXQoZnMpKTsKKwl9CisKKwlyZXR1cm4gdGFyZ2V0OworfQorI2VuZGlmIC8qIEhBVkVfTElCTU9VTlQgKi8KKworc3RhdGljIHZvaWQgZXh0cmFfcHJlcGFyZV9kYXRhKHN0cnVjdCBjZmRpc2sgKmNmKQoreworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhID0gZ2V0X2N1cnJlbnRfcGFydGl0aW9uKGNmKTsKKwlzdHJ1Y3QgY2ZkaXNrX2xpbmUgKmwgPSAmY2YtPmxpbmVzW2NmLT5saW5lc19pZHhdOworCWNoYXIgKmRhdGEgPSBOVUxMOworCWNoYXIgKm1vdW50cG9pbnQgPSBOVUxMOworCisJREJHKFVJLCB1bF9kZWJ1ZygicHJlcGFyaW5nIGV4dHJhIGRhdGEiKSk7CisKKwkvKiBzdHJpbmcgZGF0YSBzaG91bGQgbm90IGVxdWFsIGFuIGVtcHR5IHN0cmluZyAqLworCWlmICghZmRpc2tfcGFydGl0aW9uX3RvX3N0cmluZyhwYSwgY2YtPmN4dCwgRkRJU0tfRklFTERfTkFNRSwgJmRhdGEpICYmIGRhdGEpIHsKKwkJZXh0cmFfaW5zZXJ0X3BhaXIobCwgXygiUGFydGl0aW9uIG5hbWU6IiksIGRhdGEpOworCQlpZiAoIW1vdW50cG9pbnQpCisJCQltb3VudHBvaW50ID0gZ2V0X21vdW50cG9pbnQoY2YsICJQQVJUTEFCRUwiLCBkYXRhKTsKKwkJZnJlZShkYXRhKTsKKwl9CisKKwlpZiAoIWZkaXNrX3BhcnRpdGlvbl90b19zdHJpbmcocGEsIGNmLT5jeHQsIEZESVNLX0ZJRUxEX1VVSUQsICZkYXRhKSAmJiBkYXRhKSB7CisJCWV4dHJhX2luc2VydF9wYWlyKGwsIF8oIlBhcnRpdGlvbiBVVUlEOiIpLCBkYXRhKTsKKwkJaWYgKCFtb3VudHBvaW50KQorCQkJbW91bnRwb2ludCA9IGdldF9tb3VudHBvaW50KGNmLCAiUEFSVFVVSUQiLCBkYXRhKTsKKwkJZnJlZShkYXRhKTsKKwl9CisKKwlpZiAoIWZkaXNrX3BhcnRpdGlvbl90b19zdHJpbmcocGEsIGNmLT5jeHQsIEZESVNLX0ZJRUxEX1RZUEUsICZkYXRhKSAmJiBkYXRhKSB7CisJCWNoYXIgKmNvZGUgPSBOVUxMLCAqdHlwZSA9IE5VTEw7CisKKwkJZmRpc2tfcGFydGl0aW9uX3RvX3N0cmluZyhwYSwgY2YtPmN4dCwgRkRJU0tfRklFTERfVFlQRUlELCAmY29kZSk7CisJCXhhc3ByaW50ZigmdHlwZSwgIiVzICglcykiLCBkYXRhLCBjb2RlKTsKKworCQlleHRyYV9pbnNlcnRfcGFpcihsLCBfKCJQYXJ0aXRpb24gdHlwZToiKSwgdHlwZSk7CisJCWZyZWUoZGF0YSk7CisJCWZyZWUoY29kZSk7CisJCWZyZWUodHlwZSk7CisJfQorCisJaWYgKCFmZGlza19wYXJ0aXRpb25fdG9fc3RyaW5nKHBhLCBjZi0+Y3h0LCBGRElTS19GSUVMRF9BVFRSLCAmZGF0YSkgJiYgZGF0YSkgeworCQlleHRyYV9pbnNlcnRfcGFpcihsLCBfKCJBdHRyaWJ1dGVzOiIpLCBkYXRhKTsKKwkJZnJlZShkYXRhKTsKKwl9CisKKwkvKiBmb3IgbnVtZXJpYyBkYXRhLCBvbmx5IHNob3cgbm9uLXplcm8gcm93cyAqLworCWlmICghZmRpc2tfcGFydGl0aW9uX3RvX3N0cmluZyhwYSwgY2YtPmN4dCwgRkRJU0tfRklFTERfQlNJWkUsICZkYXRhKSAmJiBkYXRhKSB7CisJCWlmIChhdG9pKGRhdGEpKQorCQkJZXh0cmFfaW5zZXJ0X3BhaXIobCwgIkJTSVpFOiIsIGRhdGEpOworCQlmcmVlKGRhdGEpOworCX0KKworCWlmICghZmRpc2tfcGFydGl0aW9uX3RvX3N0cmluZyhwYSwgY2YtPmN4dCwgRkRJU0tfRklFTERfQ1BHLCAmZGF0YSkgJiYgZGF0YSkgeworCQlpZiAoYXRvaShkYXRhKSkKKwkJCWV4dHJhX2luc2VydF9wYWlyKGwsICJDUEc6IiwgZGF0YSk7CisJCWZyZWUoZGF0YSk7CisJfQorCisJaWYgKCFmZGlza19wYXJ0aXRpb25fdG9fc3RyaW5nKHBhLCBjZi0+Y3h0LCBGRElTS19GSUVMRF9GU0laRSwgJmRhdGEpICYmIGRhdGEpIHsKKwkJaWYgKGF0b2koZGF0YSkpCisJCQlleHRyYV9pbnNlcnRfcGFpcihsLCAiRlNJWkU6IiwgZGF0YSk7CisJCWZyZWUoZGF0YSk7CisJfQorCisJaWYgKCFmZGlza19wYXJ0aXRpb25fdG9fc3RyaW5nKHBhLCBjZi0+Y3h0LCBGRElTS19GSUVMRF9GU1VVSUQsICZkYXRhKSAmJiBkYXRhKSB7CisJCWV4dHJhX2luc2VydF9wYWlyKGwsIF8oIkZpbGVzeXN0ZW0gVVVJRDoiKSwgZGF0YSk7CisJCWlmICghbW91bnRwb2ludCkKKwkJCW1vdW50cG9pbnQgPSBnZXRfbW91bnRwb2ludChjZiwgIlVVSUQiLCBkYXRhKTsKKwkJZnJlZShkYXRhKTsKKwl9CisKKwlpZiAoIWZkaXNrX3BhcnRpdGlvbl90b19zdHJpbmcocGEsIGNmLT5jeHQsIEZESVNLX0ZJRUxEX0ZTTEFCRUwsICZkYXRhKSAmJiBkYXRhKSB7CisJCWV4dHJhX2luc2VydF9wYWlyKGwsIF8oIkZpbGVzeXN0ZW0gTEFCRUw6IiksIGRhdGEpOworCQlpZiAoIW1vdW50cG9pbnQpCisJCQltb3VudHBvaW50ID0gZ2V0X21vdW50cG9pbnQoY2YsICJMQUJFTCIsIGRhdGEpOworCQlmcmVlKGRhdGEpOworCX0KKwlpZiAoIWZkaXNrX3BhcnRpdGlvbl90b19zdHJpbmcocGEsIGNmLT5jeHQsIEZESVNLX0ZJRUxEX0ZTVFlQRSwgJmRhdGEpICYmIGRhdGEpIHsKKwkJZXh0cmFfaW5zZXJ0X3BhaXIobCwgXygiRmlsZXN5c3RlbToiKSwgZGF0YSk7CisJCWZyZWUoZGF0YSk7CisJfQorCisJaWYgKG1vdW50cG9pbnQpIHsKKwkJZXh0cmFfaW5zZXJ0X3BhaXIobCwgXygiTW91bnRwb2ludDoiKSwgbW91bnRwb2ludCk7CisJCWZyZWUobW91bnRwb2ludCk7CisJfQorfQorCitzdGF0aWMgaW50IHVpX2RyYXdfZXh0cmEoc3RydWN0IGNmZGlzayAqY2YpCit7CisJV0lORE9XICp3aW5fZXg7CisJaW50IHdsaW5lID0gMTsKKwlzdHJ1Y3QgY2ZkaXNrX2xpbmUgKmxuID0gJmNmLT5saW5lc1tjZi0+bGluZXNfaWR4XTsKKwljaGFyICp0YnN0ciA9IE5VTEwsICplbmQ7CisJaW50IHdpbl9leF9zdGFydF9saW5lLCB3aW5faGVpZ2h0LCB0YmxlbjsKKwlpbnQgbmRhdGFsaW5lczsKKworCWlmICghY2YtPnNob3dfZXh0cmEpCisJCXJldHVybiAwOworCisJREJHKFVJLCB1bF9kZWJ1ZygiZHJhdyBleHRyYSIpKTsKKworCWFzc2VydChsbi0+ZXh0cmEpOworCisJaWYgKGNmLT5hY3Rfd2luKSB7CisJCXdjbGVhcihjZi0+YWN0X3dpbik7CisJCXRvdWNod2luKHN0ZHNjcik7CisJfQorCisJaWYgKHNjb2xzX3RhYmxlX2lzX2VtcHR5KGxuLT5leHRyYSkpIHsKKwkJZXh0cmFfcHJlcGFyZV9kYXRhKGNmKTsKKwkJaWYgKHNjb2xzX3RhYmxlX2lzX2VtcHR5KGxuLT5leHRyYSkpCisJCQlyZXR1cm4gMDsKKwl9CisKKwluZGF0YWxpbmVzID0gZmRpc2tfdGFibGVfZ2V0X25lbnRzKGNmLT50YWJsZSkgKyAxOworCisJLyogbmVudHMgKyBoZWFkZXIgKyBvbmUgZnJlZSBsaW5lICovCisJd2luX2V4X3N0YXJ0X2xpbmUgPSBUQUJMRV9TVEFSVF9MSU5FICsgbmRhdGFsaW5lczsKKwl3aW5faGVpZ2h0ID0gTUVOVV9TVEFSVF9MSU5FIC0gd2luX2V4X3N0YXJ0X2xpbmU7CisJdGJsZW4gPSBzY29sc190YWJsZV9nZXRfbmxpbmVzKGxuLT5leHRyYSk7CisKKwkvKiB3ZSBjYW4ndCBnZXQgYSBzaW5nbGUgbGluZSBvZiBkYXRhIHVuZGVyIHRoZSBwYXJ0bGlzdCovCisJaWYgKHdpbl9oZWlnaHQgPCAzKQorCQlyZXR1cm4gMTsKKworCS8qIG51bWJlciBvZiBkYXRhIGxpbmVzICsgMiBmb3IgdG9wL2JvdHRvbSBsaW5lcyAqLworCXdpbl9oZWlnaHQgPSB3aW5faGVpZ2h0IDwgdGJsZW4gKyAyID8gd2luX2hlaWdodCA6IHRibGVuICsgMjsKKworCWlmICgoc2l6ZV90KSB3aW5fZXhfc3RhcnRfbGluZSArIHdpbl9oZWlnaHQgKyAxIDwgTUVOVV9TVEFSVF9MSU5FKQorCQl3aW5fZXhfc3RhcnRfbGluZSA9IE1FTlVfU1RBUlRfTElORSAtIHdpbl9oZWlnaHQ7CisKKwl3aW5fZXggPSBzdWJ3aW4oc3Rkc2NyLCB3aW5faGVpZ2h0LCB1aV9jb2xzIC0gMiwgd2luX2V4X3N0YXJ0X2xpbmUsIDEpOworCisJc2NvbHNfdGFibGVfcmVkdWNlX3Rlcm13aWR0aChsbi0+ZXh0cmEsIDQpOworCXNjb2xzX3ByaW50X3RhYmxlX3RvX3N0cmluZyhsbi0+ZXh0cmEsICZ0YnN0cik7CisKKwllbmQgPSB0YnN0cjsKKwl3aGlsZSAoKGVuZCA9IHN0cmNocihlbmQsICdcbicpKSkKKwkJKmVuZCsrID0gJ1wwJzsKKworCWJveCh3aW5fZXgsIDAsIDApOworCisJZW5kID0gdGJzdHI7CisJd2hpbGUgKC0td2luX2hlaWdodCA+IDEpIHsKKwkJbXZ3YWRkc3RyKHdpbl9leCwgd2xpbmUrKywgMSAvKiB3aW5kb3cgY29sdW1uKi8sIHRic3RyKTsKKwkJdGJzdHIgKz0gc3RybGVuKHRic3RyKSArIDE7CisJfQorCWZyZWUoZW5kKTsKKworCWlmIChsbi0+dykKKwkJZGVsd2luKGxuLT53KTsKKworCURCRyhVSSwgdWxfZGVidWcoImRyYXcgd2luZG93OiAlcCIsIHdpbl9leCkpOworCXRvdWNod2luKHN0ZHNjcik7CisJd3JlZnJlc2god2luX2V4KTsKKworCWNmLT5hY3Rfd2luID0gbG4tPncgPSB3aW5fZXg7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIHVpX21lbnVfZ290byhzdHJ1Y3QgY2ZkaXNrICpjZiwgaW50IHdoZXJlKQoreworCXN0cnVjdCBjZmRpc2tfbWVudWl0ZW0gKmQ7CisJc2l6ZV90IG9sZDsKKworCS8qIHN0b3AgYW5kIGJlZ2luL2VuZCBmb3IgdmVydGljYWwgbWVudXMgKi8KKwlpZiAoY2YtPm1lbnUtPnZlcnRpY2FsKSB7CisJCWlmICh3aGVyZSA8IDApCisJCQl3aGVyZSA9IDA7CisJCWVsc2UgaWYgKHdoZXJlID4gKGludCkgY2YtPm1lbnUtPm5pdGVtcyAtIDEpCisJCQl3aGVyZSA9IGNmLT5tZW51LT5uaXRlbXMgLSAxOworCX0gZWxzZSB7CisJCS8qIGNvbnRpbnVlIGZyb20gYmVnaW4vZW5kICovCisJCWlmICh3aGVyZSA8IDApCisJCQl3aGVyZSA9IGNmLT5tZW51LT5uaXRlbXMgLSAxOworCQllbHNlIGlmICgoc2l6ZV90KSB3aGVyZSA+IGNmLT5tZW51LT5uaXRlbXMgLSAxKQorCQkJd2hlcmUgPSAwOworCX0KKwlpZiAoKHNpemVfdCkgd2hlcmUgPT0gY2YtPm1lbnUtPmlkeCkKKwkJcmV0dXJuOworCisJdWlfY2xlYW5faW5mbygpOworCisJb2xkID0gY2YtPm1lbnUtPmlkeDsKKwljZi0+bWVudS0+aWR4ID0gd2hlcmU7CisKKwlpZiAoIW1lbnVpdGVtX29uX3BhZ2UoY2YsIG9sZCkpIHsKKwkJdWlfZHJhd19tZW51KGNmKTsKKwkJcmV0dXJuOworCX0KKworCWQgPSBtZW51X2dldF9tZW51aXRlbShjZiwgb2xkKTsKKwl1aV9kcmF3X21lbnVpdGVtKGNmLCBkLCBvbGQpOworCisJZCA9IG1lbnVfZ2V0X21lbnVpdGVtKGNmLCB3aGVyZSk7CisJdWlfZHJhd19tZW51aXRlbShjZiwgZCwgd2hlcmUpOworCit9CisKK3N0YXRpYyBpbnQgdWlfbWVudV9tb3ZlKHN0cnVjdCBjZmRpc2sgKmNmLCBpbnQga2V5KQoreworCXN0cnVjdCBjZmRpc2tfbWVudSAqbTsKKworCWFzc2VydChjZik7CisJYXNzZXJ0KGNmLT5tZW51KTsKKworCWlmIChrZXkgPT0gRVJSKQorCQlyZXR1cm4gMDsJLyogaWdub3JlIGVycm9ycyAqLworCisJbSA9IGNmLT5tZW51OworCisJREJHKE1FTlUsIHVsX2RlYnVnKCJtZW51IG1vdmUga2V5ID4lYzwuIiwga2V5KSk7CisKKwlpZiAobS0+dmVydGljYWwpCisJeworCQlzd2l0Y2ggKGtleSkgeworCQljYXNlIEtFWV9ET1dOOgorCQljYXNlICdcMDE2JzoJLyogXk4gKi8KKwkJY2FzZSAnaic6CS8qIFZpLWxpa2UgYWx0ZXJuYXRpdmUgKi8KKwkJCXVpX21lbnVfZ290byhjZiwgbS0+aWR4ICsgMSk7CisJCQlyZXR1cm4gMDsKKwkJY2FzZSBLRVlfVVA6CisJCWNhc2UgJ1wwMjAnOgkvKiBeUCAqLworCQljYXNlICdrJzoJLyogVmktbGlrZSBhbHRlcm5hdGl2ZSAqLworCQkJdWlfbWVudV9nb3RvKGNmLCAoaW50KSBtLT5pZHggLSAxKTsKKwkJCXJldHVybiAwOworCQljYXNlIEtFWV9QUEFHRToKKwkJCWlmIChtLT5wYWdlX3N6KSB7CisJCQkJdWlfbWVudV9nb3RvKGNmLCAoaW50KSBtLT5pZHggLSBtLT5wYWdlX3N6KTsKKwkJCQlyZXR1cm4gMDsKKwkJCX0KKwkJCS8qIGZhbGx0aHJvdWdoICovCisJCWNhc2UgS0VZX0hPTUU6CisJCQl1aV9tZW51X2dvdG8oY2YsIDApOworCQkJcmV0dXJuIDA7CisJCWNhc2UgS0VZX05QQUdFOgorCQkJaWYgKG0tPnBhZ2Vfc3opIHsKKwkJCQl1aV9tZW51X2dvdG8oY2YsIG0tPmlkeCArIG0tPnBhZ2Vfc3opOworCQkJCXJldHVybiAwOworCQkJfQorCQkJLyogZmFsbHRocm91Z2ggKi8KKwkJY2FzZSBLRVlfRU5EOgorCQkJdWlfbWVudV9nb3RvKGNmLCBtLT5uaXRlbXMpOworCQkJcmV0dXJuIDA7CisJCX0KKwl9IGVsc2UgeworCQlzd2l0Y2ggKGtleSkgeworCQljYXNlIEtFWV9SSUdIVDoKKwkJY2FzZSAnXHQnOgorCQkJdWlfbWVudV9nb3RvKGNmLCBtLT5pZHggKyAxKTsKKwkJCXJldHVybiAwOworCQljYXNlIEtFWV9MRUZUOgorI2lmZGVmIEtFWV9CVEFCCisJCWNhc2UgS0VZX0JUQUI6CisjZW5kaWYKKwkJCXVpX21lbnVfZ290byhjZiwgKGludCkgbS0+aWR4IC0gMSk7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0KKworCWlmIChrZXkgPT0gJ1wwMTQnKSB7CQkvKiBeTCByZWZyZXNoICovCisJCXVpX21lbnVfcmVzaXplKGNmKTsKKwkJcmV0dXJuIDA7CisJfQorCisJREJHKE1FTlUsIHVsX2RlYnVnKCIgbm8gbWVtdSBtb3ZlIGtleSIpKTsKKwlyZXR1cm4gMTsKK30KKworLyogYnV0IGRvbid0IGNhbGwgbWUgZnJvbSB1aV9ydW4oKSwgdGhpcyBpcyBmb3IgcG9wLXVwIG1lbnVzIG9ubHkgKi8KK3N0YXRpYyB2b2lkIHVpX21lbnVfcmVzaXplKHN0cnVjdCBjZmRpc2sgKmNmKQoreworCURCRyhNRU5VLCB1bF9kZWJ1ZygibWVtdSByZXNpemUvcmVmcmVzaCIpKTsKKwlyZXNpemUoKTsKKwl1aV9jbGVhbl9tZW51KGNmKTsKKwltZW51X3JlZnJlc2hfc2l6ZShjZik7CisJdWlfZHJhd19tZW51KGNmKTsKKwlyZWZyZXNoKCk7Cit9CisKK3N0YXRpYyBpbnQgcGFydGl0aW9uX29uX3BhZ2Uoc3RydWN0IGNmZGlzayAqY2YsIHNpemVfdCBpKQoreworCWlmIChjZi0+cGFnZV9zeiA9PSAwIHx8CisJICAgIGNmLT5saW5lc19pZHggLyBjZi0+cGFnZV9zeiA9PSBpIC8gY2YtPnBhZ2Vfc3opCisJCXJldHVybiAxOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCB1aV9kcmF3X3BhcnRpdGlvbihzdHJ1Y3QgY2ZkaXNrICpjZiwgc2l6ZV90IGkpCit7CisJaW50IGxuID0gVEFCTEVfU1RBUlRfTElORSArIDEgKyBpOwkvKiBza2lwIHRhYmxlIGhlYWRlciAqLworCWludCBjbCA9IEFSUk9XX0NVUlNPUl9XSURUSDsJCS8qIHdlIG5lZWQgZXh0cmEgc3BhY2UgZm9yIGN1cnNvciAqLworCWludCBjdXIgPSBjZi0+bGluZXNfaWR4ID09IGk7CisJc2l6ZV90IGN1cnBnID0gMDsKKworCWlmIChjZi0+cGFnZV9zeikgeworCQlpZiAoIXBhcnRpdGlvbl9vbl9wYWdlKGNmLCBpKSkKKwkJCXJldHVybjsKKwkJbG4gPSBUQUJMRV9TVEFSVF9MSU5FICsgKGkgJSBjZi0+cGFnZV9zeikgKyAxOworCQljdXJwZyA9IGNmLT5saW5lc19pZHggLyBjZi0+cGFnZV9zejsKKwl9CisKKwlEQkcoVUksIHVsX2RlYnVnKAorCQkJImRyYXcgcGFydGl0aW9uICV6dSBbcGFnZV9zej0lenUsICIKKwkJCSJsaW5lPSVkLCBpZHg9JXp1XSIsCisJCQlpLCBjZi0+cGFnZV9zeiwgbG4sIGNmLT5saW5lc19pZHgpKTsKKworCWlmIChjdXIpIHsKKwkJYXR0cm9uKEFfUkVWRVJTRSk7CisJCW12YWRkc3RyKGxuLCAwLCBBUlJPV19DVVJTT1JfU1RSSU5HKTsKKwkJbXZhZGRzdHIobG4sIGNsLCBjZi0+bGluZXNbaSArIDFdLmRhdGEpOworCQlhdHRyb2ZmKEFfUkVWRVJTRSk7CisJfSBlbHNlIHsKKwkJaW50IGF0ID0gMDsKKworCQlpZiAoY29sb3JzX3dhbnRlZCgpICYmIGlzX2ZyZWVzcGFjZShjZiwgaSkpIHsKKwkJCWF0dHJvbihDT0xPUl9QQUlSKENGRElTS19DTF9GUkVFU1BBQ0UpKTsKKwkJCWF0ID0gMTsKKwkJfQorCQltdmFkZHN0cihsbiwgMCwgQVJST1dfQ1VSU09SX0RVTU1ZKTsKKwkJbXZhZGRzdHIobG4sIGNsLCBjZi0+bGluZXNbaSArIDFdLmRhdGEpOworCQlpZiAoYXQpCisJCQlhdHRyb2ZmKENPTE9SX1BBSVIoQ0ZESVNLX0NMX0ZSRUVTUEFDRSkpOworCX0KKworCWlmICgoc2l6ZV90KSBsbiA9PSBNRU5VX1NUQVJUX0xJTkUgLSAxICYmCisJICAgIGNmLT5wYWdlX3N6ICYmIGN1cnBnIDwgY2YtPm5saW5lcyAvIGNmLT5wYWdlX3N6KSB7CisJCWlmIChjdXIpCisJCQlhdHRyb24oQV9SRVZFUlNFKTsKKwkJbXZhZGRjaChsbiwgdWlfY29scyAtIDEsIEFDU19EQVJST1cpOworCQltdmFkZGNoKGxuLCAwLCBBQ1NfREFSUk9XKTsKKwkJaWYgKGN1cikKKwkJCWF0dHJvZmYoQV9SRVZFUlNFKTsKKwl9CisKK30KKworc3RhdGljIGludCB1aV9kcmF3X3RhYmxlKHN0cnVjdCBjZmRpc2sgKmNmKQoreworCWludCBjbCA9IEFSUk9XX0NVUlNPUl9XSURUSDsKKwlzaXplX3QgaSwgbnBhcnRzID0gZmRpc2tfdGFibGVfZ2V0X25lbnRzKGNmLT50YWJsZSk7CisJc2l6ZV90IGN1cnBnID0gY2YtPnBhZ2Vfc3ogPyBjZi0+bGluZXNfaWR4IC8gY2YtPnBhZ2Vfc3ogOiAwOworCisJREJHKFVJLCB1bF9kZWJ1ZygiZHJhdyB0YWJsZSIpKTsKKworCWZvciAoaSA9IFRBQkxFX1NUQVJUX0xJTkU7IGkgPD0gVEFCTEVfU1RBUlRfTElORSArIGNmLT5wYWdlX3N6OyBpKyspIHsKKwkJbW92ZShpLCAwKTsKKwkJY2xydG9lb2woKTsKKwl9CisKKwlpZiAobnBhcnRzID09IDAgfHwgKHNpemVfdCkgY2YtPmxpbmVzX2lkeCA+IG5wYXJ0cyAtIDEpCisJCWNmLT5saW5lc19pZHggPSBucGFydHMgPyBucGFydHMgLSAxIDogMDsKKworCS8qIHByaW50IGhlYWRlciAqLworCWF0dHJvbihBX0JPTEQpOworCW12YWRkc3RyKFRBQkxFX1NUQVJUX0xJTkUsIGNsLCBjZi0+bGluZXNbMF0uZGF0YSk7CisJYXR0cm9mZihBX0JPTEQpOworCisJLyogcHJpbnQgcGFydGl0aW9ucyAqLworCWZvciAoaSA9IDA7IGkgPCBucGFydHM7IGkrKykKKwkJdWlfZHJhd19wYXJ0aXRpb24oY2YsIGkpOworCisJaWYgKGN1cnBnICE9IDApIHsKKwkJbXZhZGRjaChUQUJMRV9TVEFSVF9MSU5FLCB1aV9jb2xzIC0gMSwgQUNTX1VBUlJPVyk7CisJCW12YWRkY2goVEFCTEVfU1RBUlRfTElORSwgMCwgQUNTX1VBUlJPVyk7CisJfQorCWlmIChjZi0+cGFnZV9zeiAmJiBjdXJwZyA8IGNmLT5ubGluZXMgLyBjZi0+cGFnZV9zeikgeworCQltdmFkZGNoKE1FTlVfU1RBUlRfTElORSAtIDEsIHVpX2NvbHMgLSAxLCBBQ1NfREFSUk9XKTsKKwkJbXZhZGRjaChNRU5VX1NUQVJUX0xJTkUgLSAxLCAwLCBBQ1NfREFSUk9XKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdWlfdGFibGVfZ290byhzdHJ1Y3QgY2ZkaXNrICpjZiwgaW50IHdoZXJlKQoreworCXNpemVfdCBvbGQ7CisJc2l6ZV90IG5wYXJ0cyA9IGZkaXNrX3RhYmxlX2dldF9uZW50cyhjZi0+dGFibGUpOworCisJREJHKFVJLCB1bF9kZWJ1ZygiZ290byB0YWJsZSAlZCIsIHdoZXJlKSk7CisKKwlpZiAod2hlcmUgPCAwKQorCQl3aGVyZSA9IDA7CisJZWxzZSBpZiAoKHNpemVfdCkgd2hlcmUgPiBucGFydHMgLSAxKQorCQl3aGVyZSA9IG5wYXJ0cyAtIDE7CisKKwlpZiAoKHNpemVfdCkgd2hlcmUgPT0gY2YtPmxpbmVzX2lkeCkKKwkJcmV0dXJuIDA7CisKKwlvbGQgPSBjZi0+bGluZXNfaWR4OworCWNmLT5saW5lc19pZHggPSB3aGVyZTsKKworCWlmICghcGFydGl0aW9uX29uX3BhZ2UoY2YsIG9sZCkgfHwhcGFydGl0aW9uX29uX3BhZ2UoY2YsIHdoZXJlKSkKKwkJdWlfZHJhd190YWJsZShjZik7CisJZWxzZSB7CisJCXVpX2RyYXdfcGFydGl0aW9uKGNmLCBvbGQpOwkvKiBjbGVhbnVwIG9sZCAqLworCQl1aV9kcmF3X3BhcnRpdGlvbihjZiwgd2hlcmUpOwkvKiBkcmF3IG5ldyAqLworCX0KKwl1aV9jbGVhbl9pbmZvKCk7CisJdWlfZHJhd19tZW51KGNmKTsKKwl1aV9kcmF3X2V4dHJhKGNmKTsKKwlyZWZyZXNoKCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB1aV9yZWZyZXNoKHN0cnVjdCBjZmRpc2sgKmNmKQoreworCXN0cnVjdCBmZGlza19sYWJlbCAqbGI7CisJY2hhciAqaWQgPSBOVUxMOworICAgICAgICB1aW50NjRfdCBieXRlcyA9IGZkaXNrX2dldF9uc2VjdG9ycyhjZi0+Y3h0KSAqIGZkaXNrX2dldF9zZWN0b3Jfc2l6ZShjZi0+Y3h0KTsKKwljaGFyICpzdHJzejsKKworCWlmICghdWlfZW5hYmxlZCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlzdHJzeiA9IHNpemVfdG9faHVtYW5fc3RyaW5nKFNJWkVfU1VGRklYX1NQQUNFCisJCQkJfCBTSVpFX1NVRkZJWF8zTEVUVEVSLCBieXRlcyk7CisKKwlsYiA9IGZkaXNrX2dldF9sYWJlbChjZi0+Y3h0LCBOVUxMKTsKKwlhc3NlcnQobGIpOworCisJY2xlYXIoKTsKKworCS8qIGhlYWRlciAqLworCWF0dHJvbihBX0JPTEQpOworCXVpX2NlbnRlcigwLCBfKCJEaXNrOiAlcyIpLCBmZGlza19nZXRfZGV2bmFtZShjZi0+Y3h0KSk7CisJYXR0cm9mZihBX0JPTEQpOworCXVpX2NlbnRlcigxLCBfKCJTaXplOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIpLAorCQkJc3Ryc3osIGJ5dGVzLCAodWludG1heF90KSBmZGlza19nZXRfbnNlY3RvcnMoY2YtPmN4dCkpOworCWlmIChmZGlza19nZXRfZGlza2xhYmVsX2lkKGNmLT5jeHQsICZpZCkgPT0gMCAmJiBpZCkKKwkJdWlfY2VudGVyKDIsIF8oIkxhYmVsOiAlcywgaWRlbnRpZmllcjogJXMiKSwKKwkJCQlmZGlza19sYWJlbF9nZXRfbmFtZShsYiksIGlkKTsKKwllbHNlCisJCXVpX2NlbnRlcigyLCBfKCJMYWJlbDogJXMiKSwgZmRpc2tfbGFiZWxfZ2V0X25hbWUobGIpKTsKKwlmcmVlKHN0cnN6KTsKKworCXVpX2RyYXdfdGFibGUoY2YpOworCXVpX2RyYXdfbWVudShjZik7CisJcmVmcmVzaCgpOworCXJldHVybiAwOworfQorCitzdGF0aWMgc3NpemVfdCB1aV9nZXRfc3RyaW5nKGNvbnN0IGNoYXIgKnByb21wdCwKKwkJCSAgICAgY29uc3QgY2hhciAqaGludCwgY2hhciAqYnVmLCBzaXplX3QgbGVuKQoreworCXNpemVfdCBjZWxscyA9IDA7CisJc3NpemVfdCBpID0gMCwgcmMgPSAtMTsKKwlpbnQgbG4gPSBNRU5VX1NUQVJUX0xJTkUsIGNsID0gMTsKKworCWFzc2VydChidWYpOworCWFzc2VydChsZW4pOworCisJbW92ZShsbiwgMCk7CisJY2xydG9lb2woKTsKKworCW1vdmUobG4gKyAxLCAwKTsKKwljbHJ0b2VvbCgpOworCisJaWYgKHByb21wdCkgeworCQltdmFkZHN0cihsbiwgY2wsIChjaGFyICopIHByb21wdCk7CisJCWNsICs9IG1ic19zYWZlX3dpZHRoKHByb21wdCk7CisJfQorCisJLyogZGVmYXVsdCB2YWx1ZSAqLworCWlmICgqYnVmKSB7CisJCWkgPSBzdHJsZW4oYnVmKTsKKwkJY2VsbHMgPSBtYnNfc2FmZV93aWR0aChidWYpOworCQltdmFkZHN0cihsbiwgY2wsIGJ1Zik7CisJfQorCisJaWYgKGhpbnQpCisJCXVpX2hpbnQoaGludCk7CisJZWxzZQorCQl1aV9jbGVhbl9oaW50KCk7CisKKwltb3ZlKGxuLCBjbCArIGNlbGxzKTsKKwljdXJzX3NldCgxKTsKKwlyZWZyZXNoKCk7CisKKwl3aGlsZSAoMSkgeworI2lmICFkZWZpbmVkKEhBVkVfU0xDVVJTRVNfSCkgJiYgIWRlZmluZWQoSEFWRV9TTEFOR19TTENVUlNFU19IKSAmJiBcCisgICAgZGVmaW5lZChIQVZFX0xJQk5DVVJTRVNXKSAmJiBkZWZpbmVkKEhBVkVfV0lERUNIQVIpCisJCXdpbnRfdCBjOworCQlpZiAoZ2V0X3djaCgmYykgPT0gRVJSKSB7CisjZWxzZQorCQlpbnQgYzsKKwkJaWYgKChjID0gZ2V0Y2goKSkgPT0gRVJSKSB7CisjZW5kaWYKKwkJCWlmICh1aV9yZXNpemUpIHsKKwkJCQlyZXNpemUoKTsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCWlmICghaXNhdHR5KFNURElOX0ZJTEVOTykpCisJCQkJZXhpdCgyKTsKKwkJCWVsc2UKKwkJCQlnb3RvIGRvbmU7CisJCX0KKwkJaWYgKGMgPT0gJ1xyJyB8fCBjID09ICdcbicgfHwgYyA9PSBLRVlfRU5URVIpCisJCQlicmVhazsKKworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSBLRVlfRVNDOgorCQkJcmMgPSAtQ0ZESVNLX0VSUl9FU0M7CisJCQlnb3RvIGRvbmU7CisJCWNhc2UgS0VZX0xFRlQ6CQkvKiBUT0RPOiBpbXBsZW1lbnQgZnVsbCBidWZmZXIgZWRpdG9yICovCisJCWNhc2UgS0VZX1JJR0hUOgorCQljYXNlIEtFWV9FTkQ6CisJCWNhc2UgS0VZX0hPTUU6CisJCWNhc2UgS0VZX1VQOgorCQljYXNlIEtFWV9ET1dOOgorCQkJYmVlcCgpOworCQkJYnJlYWs7CisJCWNhc2UgS0VZX0RFTEVURToKKwkJY2FzZSAnXGInOgorCQljYXNlIEtFWV9CQUNLU1BBQ0U6CisJCQlpZiAoaSA+IDApIHsKKwkJCQljZWxscy0tOworCQkJCWkgPSBtYnNfdHJ1bmNhdGUoYnVmLCAmY2VsbHMpOworCQkJCWlmIChpIDwgMCkKKwkJCQkJZ290byBkb25lOworCQkJCW12YWRkY2gobG4sIGNsICsgY2VsbHMsICcgJyk7CisJCQkJbW92ZShsbiwgY2wgKyBjZWxscyk7CisJCQl9IGVsc2UKKwkJCQliZWVwKCk7CisJCQlicmVhazsKKworCQlkZWZhdWx0OgorI2lmIGRlZmluZWQoSEFWRV9MSUJOQ1VSU0VTVykgJiYgZGVmaW5lZChIQVZFX1dJREVDSEFSKQorCQkJaWYgKGkgKyAxIDwgKHNzaXplX3QpIGxlbiAmJiBpc3dwcmludChjKSkgeworCQkJCXdjaGFyX3Qgd2MgPSAod2NoYXJfdCkgYzsKKwkJCQljaGFyIHNbTUJfQ1VSX01BWCArIDFdOworCQkJCWludCBzeiA9IHdjdG9tYihzLCB3Yyk7CisKKwkJCQlpZiAoc3ogPiAwICYmIHN6ICsgaSA8IChzc2l6ZV90KSBsZW4pIHsKKwkJCQkJc1tzel0gPSAnXDAnOworCQkJCQltdmFkZG5zdHIobG4sIGNsICsgY2VsbHMsIHMsIHN6KTsKKwkJCQkJbWVtY3B5KGJ1ZiArIGksIHMsIHN6KTsKKwkJCQkJaSArPSBzejsKKwkJCQkJYnVmW2ldID0gJ1wwJzsKKwkJCQkJY2VsbHMgKz0gd2N3aWR0aCh3Yyk7CisJCQkJfSBlbHNlCisJCQkJCWJlZXAoKTsKKwkJCX0KKyNlbHNlCisJCQlpZiAoaSArIDEgPCAoc3NpemVfdCkgbGVuICYmIGlzcHJpbnQoYykpIHsKKwkJCQltdmFkZGNoKGxuLCBjbCArIGNlbGxzLCBjKTsKKwkJCQlidWZbaSsrXSA9IGM7CisJCQkJYnVmW2ldID0gJ1wwJzsKKwkJCQljZWxscysrOworCQkJfQorI2VuZGlmCisJCQllbHNlCisJCQkJYmVlcCgpOworCQl9CisJCXJlZnJlc2goKTsKKwl9CisKKwlyYyA9IGk7CQkvKiBzdWNjZXNzICovCitkb25lOgorCW1vdmUobG4sIDApOworCWNscnRvZW9sKCk7CisJY3Vyc19zZXQoMCk7CisJcmVmcmVzaCgpOworCisJcmV0dXJuIHJjOworfQorCisvKiBAcmVzIGlzIGRlZmF1bHQgdmFsdWUgYXMgd2VsbCBhcyByZXN1bHQgaW4gYnl0ZXMgKi8KK3N0YXRpYyBpbnQgdWlfZ2V0X3NpemUoc3RydWN0IGNmZGlzayAqY2YsIGNvbnN0IGNoYXIgKnByb21wdCwgdWludG1heF90ICpyZXMsCisJCSAgICAgICB1aW50bWF4X3QgbG93LCB1aW50bWF4X3QgdXAsIGludCAqZXhwc2l6ZSkKK3sKKwljaGFyIGJ1ZlsxMjhdOworCXVpbnRtYXhfdCB1c2VyID0gMDsKKwlzc2l6ZV90IHJjOworCWNoYXIgKmRmbHQgPSBzaXplX3RvX2h1bWFuX3N0cmluZygwLCAqcmVzKTsKKworCURCRyhVSSwgdWxfZGVidWcoImdldF9zaXplIChkZWZhdWx0PSVqdSkiLCAqcmVzKSk7CisKKwl1aV9jbGVhbl9pbmZvKCk7CisKKwlzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJXMiLCBkZmx0KTsKKworCWRvIHsKKwkJaW50IHB3ciA9IDAsIGluc2VjID0gMDsKKworCQlyYyA9IHVpX2dldF9zdHJpbmcocHJvbXB0LAorCQkJCV8oIk1heSBiZSBmb2xsb3dlZCBieSBNIGZvciBNaUIsIEcgZm9yIEdpQiwgIgorCQkJCSAgIlQgZm9yIFRpQiwgb3IgUyBmb3Igc2VjdG9ycy4iKSwKKwkJCQlidWYsIHNpemVvZihidWYpKTsKKwkJdWlfY2xlYW5fd2FybigpOworCisJCWlmIChyYyA9PSAwKSB7CisJCQl1aV93YXJueChfKCJQbGVhc2UsIHNwZWNpZnkgc2l6ZS4iKSk7CisJCQljb250aW51ZTsJCQkvKiBub3RoaW5nIHNwZWNpZmllZCAqLworCQl9IGVsc2UgaWYgKHJjID09IC1DRkRJU0tfRVJSX0VTQykKKwkJCWJyZWFrOwkJCQkvKiBjYW5jZWwgZGlhbG9nICovCisKKwkJaWYgKHN0cmNtcChidWYsIGRmbHQpID09IDApCisJCQl1c2VyID0gKnJlcywgcmMgPSAwOwkJLyogbm8gY2hhbmdlLCB1c2UgZGVmYXVsdCAqLworCQllbHNlIHsKKwkJCXNpemVfdCBsZW4gPSBzdHJsZW4oYnVmKTsKKwkJCWlmIChidWZbbGVuIC0gMV0gPT0gJ1MnIHx8IGJ1ZltsZW4gLSAxXSA9PSAncycpIHsKKwkJCQlpbnNlYyA9IDE7CisJCQkJYnVmW2xlbiAtIDFdID0gJ1wwJzsKKwkJCX0KKwkJCXJjID0gcGFyc2Vfc2l6ZShidWYsICZ1c2VyLCAmcHdyKTsJLyogcGFyc2UgKi8KKwkJfQorCisJCWlmIChyYyA9PSAwKSB7CisJCQlEQkcoVUksIHVsX2RlYnVnKCJnZXRfc2l6ZSB1c2VyPSVqdSwgcG93ZXI9JWQsIHNlY3RvcnM9JXMiLAorCQkJCQkJdXNlciwgcHdyLCBpbnNlYyA/ICJ5ZXMiIDogIm5vIikpOworCQkJaWYgKGluc2VjKQorCQkJCXVzZXIgKj0gZmRpc2tfZ2V0X3NlY3Rvcl9zaXplKGNmLT5jeHQpOworCQkJaWYgKHVzZXIgPCBsb3cpIHsKKwkJCQl1aV93YXJueChfKCJNaW5pbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIpLCBsb3cpOworCQkJCXJjID0gLUVSQU5HRTsKKwkJCX0KKwkJCWlmICh1c2VyID4gdXAgJiYgcHdyICYmIHVzZXIgPCB1cCArICgxVUxMIDw8IHB3ciAqIDEwKSkKKwkJCQkvKiBpZ25vcmUgd2hlbiB0aGUgdXNlciBzcGVjaWZpZWQgc2l6ZSBvdmVyZmxvdworCQkJCSAqIHdpdGggaW4gcmFuZ2Ugc3BlY2lmaWVkIGJ5IHN1ZmZpeCAoZS5nLiBNaUIpICovCisJCQkJdXNlciA9IHVwOworCisJCQlpZiAodXNlciA+IHVwKSB7CisJCQkJdWlfd2FybngoXygiTWF4aW11bSBzaXplIGlzICVqdSBieXRlcy4iKSwgdXApOworCQkJCXJjID0gLUVSQU5HRTsKKwkJCX0KKwkJCWlmIChyYyA9PSAwICYmIGluc2VjICYmIGV4cHNpemUpCisJCQkJKmV4cHNpemUgPSAxOworCisJCX0gZWxzZQorCQkJdWlfd2FybngoXygiRmFpbGVkIHRvIHBhcnNlIHNpemUuIikpOworCX0gd2hpbGUgKHJjICE9IDApOworCisJaWYgKHJjID09IDApCisJCSpyZXMgPSB1c2VyOworCWZyZWUoZGZsdCk7CisKKwlEQkcoVUksIHVsX2RlYnVnKCJnZXRfc2l6ZSAocmVzdWx0PSVqdSwgcmM9JXpkKSIsICpyZXMsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgc3RydWN0IGZkaXNrX3BhcnR0eXBlICp1aV9nZXRfcGFydHR5cGUoc3RydWN0IGNmZGlzayAqY2YsCisJCQkJCXN0cnVjdCBmZGlza19wYXJ0dHlwZSAqY3VyKQoreworCXN0cnVjdCBjZmRpc2tfbWVudWl0ZW0gKmQsICpjbTsKKwlzaXplX3QgaSA9IDAsIG5pdGVtcywgaWR4ID0gMDsKKwlzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQgPSBOVUxMOworCXN0cnVjdCBmZGlza19sYWJlbCAqbGI7CisJaW50IGNvZGV0eXBlcyA9IDA7CisKKwlEQkcoVUksIHVsX2RlYnVnKCJhc2tpbmcgZm9yIHBhcnR0eXBlLiIpKTsKKworCWxiID0gZmRpc2tfZ2V0X2xhYmVsKGNmLT5jeHQsIE5VTEwpOworCisJLyogY3JlYXRlIGNmZGlzayBtZW51IGFjY29yZGluZyB0byBsYWJlbCB0eXBlcywgbm90ZSB0aGF0IHRoZQorCSAqIGxhc3QgY21bXSBpdGVtIGhhcyB0byBiZSBlbXB0eSAtLSBzbyBuaXRlbXMgKyAxICovCisJbml0ZW1zID0gZmRpc2tfbGFiZWxfZ2V0X25wYXJ0dHlwZXMobGIpOworCWlmICghbml0ZW1zKQorCQlyZXR1cm4gTlVMTDsKKworCWNtID0geGNhbGxvYyhuaXRlbXMgKyAxLCBzaXplb2Yoc3RydWN0IGNmZGlza19tZW51aXRlbSkpOworCWlmICghY20pCisJCXJldHVybiBOVUxMOworCisJY29kZXR5cGVzID0gZmRpc2tfbGFiZWxfaGFzX2NvZGVfcGFydHR5cGVzKGxiKTsKKworCWZvciAoaSA9IDA7IGkgPCBuaXRlbXM7IGkrKykgeworCQljb25zdCBzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnggPSBmZGlza19sYWJlbF9nZXRfcGFydHR5cGUobGIsIGkpOworCQljaGFyICpuYW1lOworCisJCWNtW2ldLnVzZXJkYXRhID0gKHZvaWQgKikgeDsKKwkJaWYgKGNvZGV0eXBlcykKKwkJCXhhc3ByaW50ZigmbmFtZSwgIiUyeCAlcyIsCisJCQkJZmRpc2tfcGFydHR5cGVfZ2V0X2NvZGUoeCksCisJCQkJXyhmZGlza19wYXJ0dHlwZV9nZXRfbmFtZSh4KSkpOworCQllbHNlIHsKKwkJCW5hbWUgPSAoY2hhciAqKSBfKGZkaXNrX3BhcnR0eXBlX2dldF9uYW1lKHgpKTsKKwkJCWNtW2ldLmRlc2MgPSBmZGlza19wYXJ0dHlwZV9nZXRfc3RyaW5nKHgpOworCQl9CisJCWNtW2ldLm5hbWUgPSBuYW1lOworCQlpZiAoeCA9PSBjdXIpCisJCQlpZHggPSBpOworCX0KKworCS8qIG1ha2UgdGhlIG5ldyBtZW51IGFjdGl2ZSAqLworCW1lbnVfcHVzaChjZiwgY20pOworCWNmLT5tZW51LT52ZXJ0aWNhbCA9IDE7CisJY2YtPm1lbnUtPmlkeCA9IGlkeDsKKwltZW51X3NldF90aXRsZShjZi0+bWVudSwgXygiU2VsZWN0IHBhcnRpdGlvbiB0eXBlIikpOworCXVpX2RyYXdfbWVudShjZik7CisJcmVmcmVzaCgpOworCisJZG8geworCQlpbnQga2V5ID0gZ2V0Y2goKTsKKworCQlpZiAodWlfcmVzaXplKQorCQkJdWlfbWVudV9yZXNpemUoY2YpOworCQlpZiAodWlfbWVudV9tb3ZlKGNmLCBrZXkpID09IDApCisJCQljb250aW51ZTsKKworCQlzd2l0Y2ggKGtleSkgeworCQljYXNlIEtFWV9FTlRFUjoKKwkJY2FzZSAnXG4nOgorCQljYXNlICdccic6CisJCQlkID0gbWVudV9nZXRfbWVudWl0ZW0oY2YsIGNmLT5tZW51LT5pZHgpOworCQkJaWYgKGQpCisJCQkJdCA9IChzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKikgZC0+dXNlcmRhdGE7CisJCQlnb3RvIGRvbmU7CisJCWNhc2UgS0VZX0VTQzoKKwkJY2FzZSAncSc6CisJCWNhc2UgJ1EnOgorCQkJZ290byBkb25lOworCQl9CisJfSB3aGlsZSAoMSk7CisKK2RvbmU6CisJbWVudV9wb3AoY2YpOworCWlmIChjb2RldHlwZXMpIHsKKwkJZm9yIChpID0gMDsgaSA8IG5pdGVtczsgaSsrKQorCQkJZnJlZSgoY2hhciAqKSBjbVtpXS5uYW1lKTsKKwl9CisJZnJlZShjbSk7CisJREJHKFVJLCB1bF9kZWJ1ZygiZ2V0IHBhcnJ0eXBlIGRvbmUgW3R5cGU9JXNdICIsIHQgPworCQkJCWZkaXNrX3BhcnR0eXBlX2dldF9uYW1lKHQpIDogTlVMTCkpOworCXJldHVybiB0OworfQorCitzdGF0aWMgaW50IHVpX3NjcmlwdF9yZWFkKHN0cnVjdCBjZmRpc2sgKmNmKQoreworCXN0cnVjdCBmZGlza19zY3JpcHQgKnNjID0gTlVMTDsKKwljaGFyIGJ1ZltQQVRIX01BWF0gPSB7IDAgfTsKKwlpbnQgcmM7CisKKwllcmFzZSgpOworCXJjID0gdWlfZ2V0X3N0cmluZygJXygiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZTogIiksCisJCQkJXygiVGhlIHNjcmlwdCBmaWxlIHdpbGwgYmUgYXBwbGllZCB0byBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlLiIpLAorCQkJCWJ1Ziwgc2l6ZW9mKGJ1ZikpOworCWlmIChyYyA8PSAwKQorCQlyZXR1cm4gcmM7CisKKwlyYyA9IC0xOworCWVycm5vID0gMDsKKwlzYyA9IGZkaXNrX25ld19zY3JpcHRfZnJvbV9maWxlKGNmLT5jeHQsIGJ1Zik7CisJaWYgKCFzYyAmJiBlcnJubykKKwkJdWlfd2FybihfKCJDYW5ub3Qgb3BlbiAlcyIpLCBidWYpOworCWVsc2UgaWYgKCFzYykKKwkJdWlfd2FybngoXygiRmFpbGVkIHRvIHBhcnNlIHNjcmlwdCBmaWxlICVzIiksIGJ1Zik7CisJZWxzZSBpZiAoZmRpc2tfYXBwbHlfc2NyaXB0KGNmLT5jeHQsIHNjKSAhPSAwKQorCQl1aV93YXJueChfKCJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0ICVzIiksIGJ1Zik7CisJZWxzZQorCQlyYyA9IDA7CisKKwl1aV9jbGVhbl9oaW50KCk7CisJZmRpc2tfdW5yZWZfc2NyaXB0KHNjKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdWlfc2NyaXB0X3dyaXRlKHN0cnVjdCBjZmRpc2sgKmNmKQoreworCXN0cnVjdCBmZGlza19zY3JpcHQgKnNjID0gTlVMTDsKKwljaGFyIGJ1ZltQQVRIX01BWF0gPSB7IDAgfTsKKwlGSUxFICpmID0gTlVMTDsKKwlpbnQgcmM7CisKKwlyYyA9IHVpX2dldF9zdHJpbmcoCV8oIkVudGVyIHNjcmlwdCBmaWxlIG5hbWU6ICIpLAorCQkJCV8oIlRoZSBjdXJyZW50IGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUgd2lsbCBiZSBkdW1wZWQgdG8gdGhlIGZpbGUuIiksCisJCQkJYnVmLCBzaXplb2YoYnVmKSk7CisJaWYgKHJjIDw9IDApCisJCXJldHVybiByYzsKKworCXJjID0gMDsKKwlzYyA9IGZkaXNrX25ld19zY3JpcHQoY2YtPmN4dCk7CisJaWYgKCFzYykgeworCQl1aV93YXJuKF8oIkZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIpKTsKKwkJZ290byBkb25lOworCX0KKworCXJjID0gZmRpc2tfc2NyaXB0X3JlYWRfY29udGV4dChzYywgTlVMTCk7CisJaWYgKHJjKSB7CisJCXVpX3dhcm54KF8oIkZhaWxlZCB0byByZWFkIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0LiIpKTsKKwkJZ290byBkb25lOworCX0KKworCURCRyhVSSwgdWxfZGVidWcoIndyaXRpbmcgZHVtcCBpbnRvOiAnJXMnIiwgYnVmKSk7CisJZiA9IGZvcGVuKGJ1ZiwgInciKTsKKwlpZiAoIWYpIHsKKwkJdWlfd2FybihfKCJDYW5ub3Qgb3BlbiAlcyIpLCBidWYpOworCQlyYyA9IC1lcnJubzsKKwkJZ290byBkb25lOworCX0KKworCXJjID0gZmRpc2tfc2NyaXB0X3dyaXRlX2ZpbGUoc2MsIGYpOworCWlmICghcmMpCisJCXVpX2luZm8oXygiRGlzayBsYXlvdXQgc3VjY2Vzc2Z1bGx5IGR1bXBlZC4iKSk7Citkb25lOgorCWlmIChyYykKKwkJdWlfd2FybihfKCJGYWlsZWQgdG8gd3JpdGUgc2NyaXB0ICVzIiksIGJ1Zik7CisJaWYgKGYpCisJCWZjbG9zZShmKTsKKwlmZGlza191bnJlZl9zY3JpcHQoc2MpOworCXJldHVybiByYzsKK30KKworLyogcHJpbnRzIG1lbnUgd2l0aCBsaWJmZGlzayBsYWJlbHMgYW5kIHdhaXRzIGZvciB1c2VycyByZXNwb25zZSAqLworc3RhdGljIGludCB1aV9jcmVhdGVfbGFiZWwoc3RydWN0IGNmZGlzayAqY2YpCit7CisJc3RydWN0IGNmZGlza19tZW51aXRlbSAqZCwgKmNtOworCWludCByYyA9IDEsIHJlZnJlc2hfbWVudSA9IDE7CisJc2l6ZV90IGkgPSAwLCBuaXRlbXM7CisJc3RydWN0IGZkaXNrX2xhYmVsICpsYiA9IE5VTEw7CisKKwlhc3NlcnQoY2YpOworCisJREJHKFVJLCB1bF9kZWJ1ZygiYXNraW5nIGZvciBuZXcgZGlza2xhYmUuIikpOworCisJLyogY3JlYXRlIGNmZGlzayBtZW51IGFjY29yZGluZyB0byBsaWJmZGlzayBsYWJlbHMsIG5vdGUgdGhhdCB0aGUKKwkgKiBsYXN0IGNtW10gaXRlbSBoYXMgdG8gYmUgZW1wdHkgLS0gc28gbml0ZW1zICsgMSAqLworCW5pdGVtcyA9IGZkaXNrX2dldF9ubGFiZWxzKGNmLT5jeHQpOworCWNtID0geGNhbGxvYyhuaXRlbXMgKyAxLCBzaXplb2Yoc3RydWN0IGNmZGlza19tZW51aXRlbSkpOworCisJd2hpbGUgKGZkaXNrX25leHRfbGFiZWwoY2YtPmN4dCwgJmxiKSA9PSAwKSB7CisJCWlmIChmZGlza19sYWJlbF9pc19kaXNhYmxlZChsYikgfHwKKwkJICAgIGZkaXNrX2xhYmVsX2dldF90eXBlKGxiKSA9PSBGRElTS19ESVNLTEFCRUxfQlNEKQorCQkJY29udGludWU7CisJCWNtW2krK10ubmFtZSA9IGZkaXNrX2xhYmVsX2dldF9uYW1lKGxiKTsKKwl9CisKKwllcmFzZSgpOworCisJLyogbWFrZSB0aGUgbmV3IG1lbnUgYWN0aXZlICovCisJbWVudV9wdXNoKGNmLCBjbSk7CisJY2YtPm1lbnUtPnZlcnRpY2FsID0gMTsKKwltZW51X3NldF90aXRsZShjZi0+bWVudSwgXygiU2VsZWN0IGxhYmVsIHR5cGUiKSk7CisKKwlpZiAoIWNmLT56ZXJvX3N0YXJ0KQorCQl1aV9pbmZvKF8oIkRldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuIikpOworCisKKwlkbyB7CisJCWlmIChyZWZyZXNoX21lbnUpIHsKKwkJCXVpX2RyYXdfbWVudShjZik7CisJCQl1aV9oaW50KF8oIlNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGxhYmVsIG9yIHByZXNzICdMJyB0byBsb2FkIHNjcmlwdCBmaWxlLiIpKTsKKwkJCXJlZnJlc2goKTsKKwkJCXJlZnJlc2hfbWVudSA9IDA7CisJCX0KKworCQlpbnQga2V5ID0gZ2V0Y2goKTsKKworCQlpZiAodWlfcmVzaXplKQorCQkJdWlfbWVudV9yZXNpemUoY2YpOworCQlpZiAodWlfbWVudV9tb3ZlKGNmLCBrZXkpID09IDApCisJCQljb250aW51ZTsKKwkJc3dpdGNoIChrZXkpIHsKKwkJY2FzZSBLRVlfRU5URVI6CisJCWNhc2UgJ1xuJzoKKwkJY2FzZSAnXHInOgorCQkJZCA9IG1lbnVfZ2V0X21lbnVpdGVtKGNmLCBjZi0+bWVudS0+aWR4KTsKKwkJCWlmIChkKQorCQkJCXJjID0gZmRpc2tfY3JlYXRlX2Rpc2tsYWJlbChjZi0+Y3h0LCBkLT5uYW1lKTsKKwkJCWdvdG8gZG9uZTsKKwkJY2FzZSBLRVlfRVNDOgorCQljYXNlICdxJzoKKwkJY2FzZSAnUSc6CisJCQlnb3RvIGRvbmU7CisJCWNhc2UgJ2wnOgorCQljYXNlICdMJzoKKwkJCXJjID0gdWlfc2NyaXB0X3JlYWQoY2YpOworCQkJaWYgKHJjID09IDApCisJCQkJZ290byBkb25lOworCQkJcmVmcmVzaF9tZW51ID0gMTsKKwkJCWJyZWFrOworCQl9CisJfSB3aGlsZSAoMSk7CisKK2RvbmU6CisJbWVudV9wb3AoY2YpOworCWZyZWUoY20pOworCURCRyhVSSwgdWxfZGVidWcoImNyZWF0ZSBsYWJlbCBkb25lIFtyYz0lZF0gIiwgcmMpKTsKKwlyZXR1cm4gcmM7Cit9CisKKworc3RhdGljIGludCB1aV9oZWxwKHZvaWQpCit7CisJc2l6ZV90IGk7CisJc3RhdGljIGNvbnN0IGNoYXIgKmhlbHBbXSA9IHsKKwkJTl8oIlRoaXMgaXMgY2ZkaXNrLCBhIGN1cnNlcy1iYXNlZCBkaXNrIHBhcnRpdGlvbmluZyBwcm9ncmFtLiIpLAorCQlOXygiSXQgbGV0cyB5b3UgY3JlYXRlLCBkZWxldGUsIGFuZCBtb2RpZnkgcGFydGl0aW9ucyBvbiBhIGJsb2NrIGRldmljZS4iKSwKKwkJIiAgIiwKKwkJTl8oIkNvbW1hbmQgICAgICBNZWFuaW5nIiksCisJCU5fKCItLS0tLS0tICAgICAgLS0tLS0tLSIpLAorCQlOXygiICBiICAgICAgICAgIFRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIpLAorCQlOXygiICBkICAgICAgICAgIERlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iKSwKKwkJTl8oIiAgaCAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIpLAorCQlOXygiICBuICAgICAgICAgIENyZWF0ZSBuZXcgcGFydGl0aW9uIGZyb20gZnJlZSBzcGFjZSIpLAorCQlOXygiICBxICAgICAgICAgIFF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgcGFydGl0aW9uIHRhYmxlIiksCisJCU5fKCIgIHMgICAgICAgICAgRml4IHBhcnRpdGlvbnMgb3JkZXIgKG9ubHkgd2hlbiBpbiBkaXNhcnJheSkiKSwKKwkJTl8oIiAgdCAgICAgICAgICBDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIiksCisJCU5fKCIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIpLAorCQlOXygiICBXICAgICAgICAgIFdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh5b3UgbXVzdCBlbnRlciB1cHBlcmNhc2UgVyk7IiksCisJCU5fKCIgICAgICAgICAgICAgICBzaW5jZSB0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSBvbiB0aGUgZGlzaywgeW91IG11c3QgZWl0aGVyIiksCisJCU5fKCIgICAgICAgICAgICAgICBjb25maXJtIG9yIGRlbnkgdGhlIHdyaXRlIGJ5IGVudGVyaW5nICd5ZXMnIG9yICdubyciKSwKKwkJTl8oIiAgeCAgICAgICAgICBEaXNwbGF5L2hpZGUgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iKSwKKwkJTl8oIlVwIEFycm93ICAgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgcGFydGl0aW9uIiksCisJCU5fKCJEb3duIEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgcGFydGl0aW9uIiksCisJCU5fKCJMZWZ0IEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIG1lbnUgaXRlbSIpLAorCQlOXygiUmlnaHQgQXJyb3cgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IG1lbnUgaXRlbSIpLAorCQkiICAiLAorCQlOXygiTm90ZTogQWxsIG9mIHRoZSBjb21tYW5kcyBjYW4gYmUgZW50ZXJlZCB3aXRoIGVpdGhlciB1cHBlciBvciBsb3dlciIpLAorCQlOXygiY2FzZSBsZXR0ZXJzIChleGNlcHQgZm9yIFdyaXRlKS4iKSwKKwkJIiAgIiwKKwkJTl8oIlVzZSBsc2Jsayg4KSBvciBwYXJ0eCg4KSB0byBzZWUgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBkZXZpY2UuIikKKwl9OworCisJZXJhc2UoKTsKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShoZWxwKTsgaSsrKQorCQltdmFkZHN0cihpLCAxLCBfKGhlbHBbaV0pKTsKKworCXVpX2luZm8oXygiUHJlc3MgYSBrZXkgdG8gY29udGludWUuIikpOworCisJZ2V0Y2goKTsKKwlyZXR1cm4gMDsKK30KKworLyogVE9ETzogdXNlIEBzeiwgbm93IDEyOGJ5dGVzICovCitzdGF0aWMgaW50IG1haW5fbWVudV9pZ25vcmVfa2V5cyhzdHJ1Y3QgY2ZkaXNrICpjZiwgY2hhciAqaWdub3JlLAorCQlzaXplX3Qgc3ogX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhID0gZ2V0X2N1cnJlbnRfcGFydGl0aW9uKGNmKTsKKwlzaXplX3QgaSA9IDA7CisKKwlpZiAoIXBhKQorCQlyZXR1cm4gMDsKKwlpZiAoZmRpc2tfcGFydGl0aW9uX2lzX2ZyZWVzcGFjZShwYSkpIHsKKwkJaWdub3JlW2krK10gPSAnZCc7CS8qIGRlbGV0ZSAqLworCQlpZ25vcmVbaSsrXSA9ICd0JzsJLyogc2V0IHR5cGUgKi8KKwkJaWdub3JlW2krK10gPSAnYic7ICAgICAgLyogc2V0IGJvb3RhYmxlICovCisJCWNmLT5tZW51LT5wcmVma2V5ID0gJ24nOworCX0gZWxzZSB7CisJCWNmLT5tZW51LT5wcmVma2V5ID0gJ3EnOworCQlpZ25vcmVbaSsrXSA9ICduJzsKKwkJaWYgKCFmZGlza19pc19sYWJlbChjZi0+Y3h0LCBET1MpICYmCisJCSAgICAhZmRpc2tfaXNfbGFiZWwoY2YtPmN4dCwgU0dJKSkKKwkJCWlnbm9yZVtpKytdID0gJ2InOworCX0KKworCWlmICghY2YtPndyb25nX29yZGVyKQorCQlpZ25vcmVbaSsrXSA9ICdzJzsKKworCWlmIChmZGlza19pc19yZWFkb25seShjZi0+Y3h0KSkKKwkJaWdub3JlW2krK10gPSAnVyc7CisKKwlyZXR1cm4gaTsKK30KKworCisvKiByZXR1cm5zOiBlcnJvcjogPCAwLCBzdWNjZXNzOiAwLCBxdWl0OiAxICovCitzdGF0aWMgaW50IG1haW5fbWVudV9hY3Rpb24oc3RydWN0IGNmZGlzayAqY2YsIGludCBrZXkpCit7CisJc2l6ZV90IG47CisJaW50IHJlZiA9IDAsIHJjLCBvcmdfb3JkZXIgPSBjZi0+d3Jvbmdfb3JkZXI7CisJY29uc3QgY2hhciAqaW5mbyA9IE5VTEwsICp3YXJuID0gTlVMTDsKKwlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYTsKKworCWFzc2VydChjZik7CisJYXNzZXJ0KGNmLT5jeHQpOworCWFzc2VydChjZi0+bWVudSk7CisKKwlpZiAoa2V5ID09IDApIHsKKwkJc3RydWN0IGNmZGlza19tZW51aXRlbSAqZCA9IG1lbnVfZ2V0X21lbnVpdGVtKGNmLCBjZi0+bWVudS0+aWR4KTsKKwkJaWYgKCFkKQorCQkJcmV0dXJuIDA7CisJCWtleSA9IGQtPmtleTsKKworCX0gZWxzZSBpZiAoa2V5ICE9ICd3JyAmJiBrZXkgIT0gJ1cnKQorCQlrZXkgPSB0b2xvd2VyKGtleSk7CS8qIGNhc2UgaW5zZW5zaXRpdmUgZXhjZXB0ICdXJ3JpdGUgKi8KKworCURCRyhNRU5VLCB1bF9kZWJ1ZygibWFpbiBtZW51IGFjdGlvbjoga2V5PSVjIiwga2V5KSk7CisKKwlpZiAoY2YtPm1lbnUtPmlnbm9yZSAmJiBzdHJjaHIoY2YtPm1lbnUtPmlnbm9yZSwga2V5KSkgeworCQlEQkcoTUVOVSwgdWxfZGVidWcoIiAgaWdub3JlICclYyciLCBrZXkpKTsKKwkJcmV0dXJuIDA7CisJfQorCisJcGEgPSBnZXRfY3VycmVudF9wYXJ0aXRpb24oY2YpOworCWlmICghcGEpCisJCXJldHVybiAtRUlOVkFMOworCW4gPSBmZGlza19wYXJ0aXRpb25fZ2V0X3BhcnRubyhwYSk7CisKKwlEQkcoTUVOVSwgdWxfZGVidWcoIm1lbnUgYWN0aW9uIG9uICVwIiwgcGEpKTsKKwl1aV9jbGVhbl9oaW50KCk7CisJdWlfY2xlYW5faW5mbygpOworCisJc3dpdGNoIChrZXkpIHsKKwljYXNlICdiJzogLyogQm9vdGFibGUgZmxhZyAqLworCXsKKwkJaW50IGZsID0gZmRpc2tfaXNfbGFiZWwoY2YtPmN4dCwgRE9TKSA/IERPU19GTEFHX0FDVElWRSA6CisJCQkgZmRpc2tfaXNfbGFiZWwoY2YtPmN4dCwgU0dJKSA/IFNHSV9GTEFHX0JPT1QgOiAwOworCisJCWlmIChmbCAmJiBmZGlza190b2dnbGVfcGFydGl0aW9uX2ZsYWcoY2YtPmN4dCwgbiwgZmwpKQorCQkJd2FybiA9IF8oIkNvdWxkIG5vdCB0b2dnbGUgdGhlIGZsYWcuIik7CisJCWVsc2UgaWYgKGZsKQorCQkJcmVmID0gMTsKKwkJYnJlYWs7CisJfQorI2lmZGVmIEtFWV9EQworCWNhc2UgS0VZX0RDOgorI2VuZGlmCisJY2FzZSAnZCc6IC8qIERlbGV0ZSAqLworCQlpZiAoZmRpc2tfZGVsZXRlX3BhcnRpdGlvbihjZi0+Y3h0LCBuKSAhPSAwKQorCQkJd2FybiA9IF8oIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dS4iKTsKKwkJZWxzZQorCQkJaW5mbyA9IF8oIlBhcnRpdGlvbiAlenUgaGFzIGJlZW4gZGVsZXRlZC4iKTsKKwkJcmVmID0gMTsKKwkJYnJlYWs7CisJY2FzZSAnaCc6IC8qIEhlbHAgKi8KKwljYXNlICc/JzoKKwkJdWlfaGVscCgpOworCQlyZWYgPSAxOworCQlicmVhazsKKwljYXNlICduJzogLyogTmV3ICovCisJeworCQl1aW50NjRfdCBzdGFydCwgc2l6ZSwgZGZsdF9zaXplLCBzZWNzOworCQlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpucGE7CS8qIHRoZSBuZXcgcGFydGl0aW9uICovCisJCWludCBleHBzaXplID0gMDsJCS8qIHNpemUgc3BlY2lmaWVkIGV4cGxpY2l0bHkgaW4gc2VjdG9ycyAqLworCisJCWlmICghZmRpc2tfcGFydGl0aW9uX2lzX2ZyZWVzcGFjZShwYSkgfHwgIWZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpKQorCQkJcmV0dXJuIC1FSU5WQUw7CisKKwkJLyogZnJlZSBzcGFjZSByYW5nZSAqLworCQlzdGFydCA9IGZkaXNrX3BhcnRpdGlvbl9nZXRfc3RhcnQocGEpOworCQlzaXplID0gZGZsdF9zaXplID0gZmRpc2tfcGFydGl0aW9uX2dldF9zaXplKHBhKSAqIGZkaXNrX2dldF9zZWN0b3Jfc2l6ZShjZi0+Y3h0KTsKKworCQlpZiAodWlfZ2V0X3NpemUoY2YsIF8oIlBhcnRpdGlvbiBzaXplOiAiKSwgJnNpemUsCisJCQkJZmRpc2tfZ2V0X3NlY3Rvcl9zaXplKGNmLT5jeHQpLAorCQkJCXNpemUsICZleHBzaXplKSA9PSAtQ0ZESVNLX0VSUl9FU0MpCisJCQlicmVhazsKKworCQlzZWNzID0gc2l6ZSAvIGZkaXNrX2dldF9zZWN0b3Jfc2l6ZShjZi0+Y3h0KTsKKworCQlucGEgPSBmZGlza19uZXdfcGFydGl0aW9uKCk7CisJCWlmICghbnBhKQorCQkJcmV0dXJuIC1FTk9NRU07CisKKwkJaWYgKGRmbHRfc2l6ZSA9PSBzaXplKQkvKiBkZWZhdWx0IGlzIHRvIGZpbGxpbiBhbGwgZnJlZSBzcGFjZSAqLworCQkJZmRpc2tfcGFydGl0aW9uX2VuZF9mb2xsb3dfZGVmYXVsdChucGEsIDEpOworCQllbHNlCisJCQlmZGlza19wYXJ0aXRpb25fc2V0X3NpemUobnBhLCBzZWNzKTsKKworCQlpZiAoZXhwc2l6ZSkKKwkJCWZkaXNrX3BhcnRpdGlvbl9zaXplX2V4cGxpY2l0KHBhLCAxKTsKKworCQlmZGlza19wYXJ0aXRpb25fc2V0X3N0YXJ0KG5wYSwgc3RhcnQpOworCQlmZGlza19wYXJ0aXRpb25fcGFydG5vX2ZvbGxvd19kZWZhdWx0KG5wYSwgMSk7CisJCS8qIGFkZCB0byBkaXNrIGxhYmVsIC0tIGxpYmZkaXNrIHdpbGwgYXNrIGZvciBtaXNzaW5nIGRldGFpbHMgKi8KKwkJcmMgPSBmZGlza19hZGRfcGFydGl0aW9uKGNmLT5jeHQsIG5wYSwgTlVMTCk7CisJCWZkaXNrX3VucmVmX3BhcnRpdGlvbihucGEpOworCQlpZiAocmMgPT0gMCkKKwkJCXJlZiA9IDE7CisJCWJyZWFrOworCX0KKwljYXNlICdxJzogLyogUXVpdCAqLworCQlyZXR1cm4gMTsKKwljYXNlICd0JzogLyogVHlwZSAqLworCXsKKwkJc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0OworCisJCWlmIChmZGlza19wYXJ0aXRpb25faXNfZnJlZXNwYWNlKHBhKSkKKwkJCXJldHVybiAtRUlOVkFMOworCQl0ID0gKHN0cnVjdCBmZGlza19wYXJ0dHlwZSAqKSBmZGlza19wYXJ0aXRpb25fZ2V0X3R5cGUocGEpOworCQl0ID0gdWlfZ2V0X3BhcnR0eXBlKGNmLCB0KTsKKwkJcmVmID0gMTsKKworCQlpZiAodCAmJiBmZGlza19zZXRfcGFydGl0aW9uX3R5cGUoY2YtPmN4dCwgbiwgdCkgPT0gMCkKKwkJCWluZm8gPSBfKCJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICV6dS4iKTsKKwkJZWxzZQorCQkJaW5mbyA9IF8oIlRoZSB0eXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkLiIpOworCQlicmVhazsKKwl9CisJY2FzZSAncyc6IC8qIFNvcnQgKi8KKwkJaWYgKGNmLT53cm9uZ19vcmRlcikgeworCQkJZmRpc2tfcmVvcmRlcl9wYXJ0aXRpb25zKGNmLT5jeHQpOworCQkJcmVmID0gMTsKKwkJfQorCQlicmVhazsKKwljYXNlICd1JzogLyogZFVtcCAqLworCQl1aV9zY3JpcHRfd3JpdGUoY2YpOworCQlicmVhazsKKwljYXNlICdXJzogLyogV3JpdGUgKi8KKwl7CisJCWNoYXIgYnVmWzY0XSA9IHsgMCB9OworCisJCWlmIChmZGlza19pc19yZWFkb25seShjZi0+Y3h0KSkgeworCQkJd2FybiA9IF8oIkRldmljZSBpcyBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIpOworCQkJYnJlYWs7CisJCX0KKworCQlyYyA9IHVpX2dldF9zdHJpbmcoCisJCQkgIF8oIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uICIKKwkJCSAgICAidGFibGUgdG8gZGlzaz8gIiksCisJCQkgIF8oIlR5cGUgXCJ5ZXNcIiBvciBcIm5vXCIsIG9yIHByZXNzIEVTQyB0byBsZWF2ZSB0aGlzIGRpYWxvZy4iKSwKKwkJCSAgYnVmLCBzaXplb2YoYnVmKSk7CisKKwkJcmVmID0gMTsKKwkJaWYgKHJjIDw9IDAgfHwgKHN0cmNhc2VjbXAoYnVmLCAieWVzIikgIT0gMCAmJgorCQkJCXN0cmNhc2VjbXAoYnVmLCBfKCJ5ZXMiKSkgIT0gMCkpIHsKKwkJCWluZm8gPSBfKCJEaWQgbm90IHdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrLiIpOworCQkJYnJlYWs7CisJCX0KKwkJcmMgPSBmZGlza193cml0ZV9kaXNrbGFiZWwoY2YtPmN4dCk7CisJCWlmIChyYykKKwkJCXdhcm4gPSBfKCJGYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsLiIpOworCQllbHNlIHsKKwkJCWZkaXNrX3JlcmVhZF9wYXJ0aXRpb25fdGFibGUoY2YtPmN4dCk7CisJCQlpbmZvID0gXygiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIpOworCQl9CisJCWNmLT5ud3JpdGVzKys7CisJCWJyZWFrOworCX0KKwlkZWZhdWx0OgorCQlicmVhazsKKwl9CisKKwlpZiAocmVmKSB7CisJCWxpbmVzX3JlZnJlc2goY2YpOworCQl1aV9yZWZyZXNoKGNmKTsKKwkJdWlfZHJhd19leHRyYShjZik7CisJfSBlbHNlCisJCXVpX2RyYXdfbWVudShjZik7CisKKwl1aV9jbGVhbl9oaW50KCk7CisKKwlpZiAod2FybikKKwkJdWlfd2Fybngod2FybiwgbiArIDEpOworCWVsc2UgaWYgKGluZm8pCisJCXVpX2luZm8oaW5mbywgbiArIDEpOworCWVsc2UgaWYgKGtleSA9PSAnbicgJiYgY2YtPndyb25nX29yZGVyICYmIG9yZ19vcmRlciA9PSAwKQorCQkgdWlfaW5mbyhfKCJOb3RlIHRoYXQgcGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyIG5vdy4iKSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgdWlfcmVzaXplX3JlZnJlc2goc3RydWN0IGNmZGlzayAqY2YpCit7CisJREJHKFVJLCB1bF9kZWJ1ZygidWkgcmVzaXplL3JlZnJlc2giKSk7CisJcmVzaXplKCk7CisJbWVudV9yZWZyZXNoX3NpemUoY2YpOworCWxpbmVzX3JlZnJlc2goY2YpOworCXVpX3JlZnJlc2goY2YpOworCXVpX2RyYXdfZXh0cmEoY2YpOworfQorCitzdGF0aWMgdm9pZCB0b2dnbGVfc2hvd19leHRyYShzdHJ1Y3QgY2ZkaXNrICpjZikKK3sKKwlpZiAoY2YtPnNob3dfZXh0cmEgJiYgY2YtPmFjdF93aW4pIHsKKwkJd2NsZWFyKGNmLT5hY3Rfd2luKTsKKwkJdG91Y2h3aW4oc3Rkc2NyKTsKKwl9CisJY2YtPnNob3dfZXh0cmEgPSBjZi0+c2hvd19leHRyYSA/IDAgOiAxOworCisJaWYgKGNmLT5zaG93X2V4dHJhKQorCQl1aV9kcmF3X2V4dHJhKGNmKTsKKwlEQkcoTUVOVSwgdWxfZGVidWcoImV4dHJhOiAlcyIsIGNmLT5zaG93X2V4dHJhID8gIkVOQUJMRUQiIDogIkRJU0FCTEVEIiApKTsKK30KKworc3RhdGljIGludCB1aV9ydW4oc3RydWN0IGNmZGlzayAqY2YpCit7CisJaW50IHJjID0gMDsKKworCXVpX2xpbmVzID0gTElORVM7CisJdWlfY29scyA9IENPTFM7CisJREJHKFVJLCB1bF9kZWJ1Zygic3RhcnQgY29scz0lenUsIGxpbmVzPSV6dSIsIHVpX2NvbHMsIHVpX2xpbmVzKSk7CisKKwlpZiAoZmRpc2tfZ2V0X2NvbGxpc2lvbihjZi0+Y3h0KSkgeworCQl1aV93YXJueChfKCJEZXZpY2UgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZTsgaXQgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iKSwKKwkJCQlmZGlza19nZXRfY29sbGlzaW9uKGNmLT5jeHQpKTsKKwkJZmRpc2tfZW5hYmxlX3dpcGUoY2YtPmN4dCwgMSk7CisJCXVpX2hpbnQoXygiUHJlc3MgYSBrZXkgdG8gY29udGludWUuIikpOworCQlnZXRjaCgpOworCX0KKworCWlmICghZmRpc2tfaGFzX2xhYmVsKGNmLT5jeHQpIHx8IGNmLT56ZXJvX3N0YXJ0KSB7CisJCXJjID0gdWlfY3JlYXRlX2xhYmVsKGNmKTsKKwkJaWYgKHJjIDwgMCkKKwkJCXVpX2VycngoRVhJVF9GQUlMVVJFLAorCQkJCQlfKCJmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGRpc2tsYWJlbCIpKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCX0KKworCWNvbHNfaW5pdChjZik7CisJcmMgPSBsaW5lc19yZWZyZXNoKGNmKTsKKwlpZiAocmMpCisJCXVpX2VycngoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb25zIikpOworCisJbWVudV9wdXNoKGNmLCBtYWluX21lbnVpdGVtcyk7CisJY2YtPm1lbnUtPmlnbm9yZV9jYiA9IG1haW5fbWVudV9pZ25vcmVfa2V5czsKKworCXJjID0gdWlfcmVmcmVzaChjZik7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwljZi0+c2hvd19leHRyYSA9IDE7CisJdWlfZHJhd19leHRyYShjZik7CisKKwlpZiAoZmRpc2tfaXNfcmVhZG9ubHkoY2YtPmN4dCkpCisJCXVpX3dhcm54KF8oIkRldmljZSBpcyBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIpKTsKKwllbHNlIGlmIChjZi0+d3Jvbmdfb3JkZXIpCisJCXVpX2luZm8oXygiTm90ZSB0aGF0IHBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlciBub3cuIikpOworCisJZG8geworCQlpbnQga2V5ID0gZ2V0Y2goKTsKKworCQlyYyA9IDA7CisJCWlmICh1aV9yZXNpemUpCisJCQkvKiBOb3RlIHRoYXQgbmN1cnNlcyBnZXRjaCgpIHJldHVybnMgRVJSIHdoZW4gaW50ZXJydXB0ZWQKKwkJCSAqIGJ5IHNpZ25hbCwgYnV0IFNMYW5nIGRvZXMgbm90IGludGVycnVwdCBhdCBhbGwuICovCisJCQl1aV9yZXNpemVfcmVmcmVzaChjZik7CisJCWlmIChrZXkgPT0gRVJSKQorCQkJY29udGludWU7CisJCWlmIChrZXkgPT0gJ1wwMTQnKSB7CQkvKiBeTCByZWZyZXNoICovCisJCQl1aV9yZXNpemVfcmVmcmVzaChjZik7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAodWlfbWVudV9tb3ZlKGNmLCBrZXkpID09IDApCisJCQljb250aW51ZTsKKworCQlEQkcoVUksIHVsX2RlYnVnKCJtYWluIGFjdGlvbiBrZXkgPiUxJGM8IFtcXDAlMSRvXS4iLCBrZXkpKTsKKworCQlzd2l0Y2ggKGtleSkgeworCQljYXNlIEtFWV9ET1dOOgorCQljYXNlICdcMDE2JzoJLyogXk4gKi8KKwkJY2FzZSAnaic6CS8qIFZpLWxpa2UgYWx0ZXJuYXRpdmUgKi8KKwkJCXVpX3RhYmxlX2dvdG8oY2YsIGNmLT5saW5lc19pZHggKyAxKTsKKwkJCWJyZWFrOworCQljYXNlIEtFWV9VUDoKKwkJY2FzZSAnXDAyMCc6CS8qIF5QICovCisJCWNhc2UgJ2snOgkvKiBWaS1saWtlIGFsdGVybmF0aXZlICovCisJCQl1aV90YWJsZV9nb3RvKGNmLCAoaW50KSBjZi0+bGluZXNfaWR4IC0gMSk7CisJCQlicmVhazsKKwkJY2FzZSBLRVlfUFBBR0U6CisJCQlpZiAoY2YtPnBhZ2Vfc3opIHsKKwkJCQl1aV90YWJsZV9nb3RvKGNmLCAoaW50KSBjZi0+bGluZXNfaWR4IC0gY2YtPnBhZ2Vfc3opOworCQkJCWJyZWFrOworCQkJfQorCQljYXNlIEtFWV9IT01FOgorCQkJdWlfdGFibGVfZ290byhjZiwgMCk7CisJCQlicmVhazsKKwkJY2FzZSBLRVlfTlBBR0U6CisJCQlpZiAoY2YtPnBhZ2Vfc3opIHsKKwkJCQl1aV90YWJsZV9nb3RvKGNmLCBjZi0+bGluZXNfaWR4ICsgY2YtPnBhZ2Vfc3opOworCQkJCWJyZWFrOworCQkJfQorCQljYXNlIEtFWV9FTkQ6CisJCQl1aV90YWJsZV9nb3RvKGNmLCAoaW50KSBjZi0+bmxpbmVzIC0gMSk7CisJCQlicmVhazsKKwkJY2FzZSBLRVlfRU5URVI6CisJCWNhc2UgJ1xuJzoKKwkJY2FzZSAnXHInOgorCQkJcmMgPSBtYWluX21lbnVfYWN0aW9uKGNmLCAwKTsKKwkJCWJyZWFrOworCQljYXNlICdYJzoKKwkJY2FzZSAneCc6IC8qIEV4dHJhICovCisJCQl0b2dnbGVfc2hvd19leHRyYShjZik7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXJjID0gbWFpbl9tZW51X2FjdGlvbihjZiwga2V5KTsKKwkJCWlmIChyYyA8IDApCisJCQkJYmVlcCgpOworCQkJYnJlYWs7CisJCX0KKworCQlpZiAocmMgPT0gMSkKKwkJCWJyZWFrOyAvKiBxdWl0ICovCisJfSB3aGlsZSAoMSk7CisKKwltZW51X3BvcChjZik7CisKKwlEQkcoVUksIHVsX2RlYnVnKCJlbmQiKSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKSB1c2FnZShGSUxFICpvdXQpCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LAorCSAgICAgIF8oIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz5cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiRGlzcGxheSBvciBtYW5pcHVsYXRlIGEgZGlzayBwYXJ0aXRpb24gdGFibGUuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIpLCBvdXQpOworCWZwcmludGYob3V0LAorCSAgICAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAlc1xuIiwgVVNBR0VfQ09MT1JTX0RFRkFVTFQpOworCWZwdXRzKF8oIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgc3RhcnQgd2l0aCB6ZXJvZWQgcGFydGl0aW9uIHRhYmxlXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dCk7CisKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoImNmZGlzayg4KSIpKTsKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNvbnN0IGNoYXIgKmRpc2twYXRoID0gTlVMTDsKKwlpbnQgcmMsIGMsIGNvbG9ybW9kZSA9IFVMX0NPTE9STU9ERV9VTkRFRjsKKwlzdHJ1Y3QgY2ZkaXNrIF9jZiA9IHsgLmxpbmVzX2lkeCA9IDAgfSwKKwkJICAgICAgKmNmID0gJl9jZjsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsgImNvbG9yIiwgICBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgJ0wnIH0sCisJCXsgImhlbHAiLCAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2gnIH0sCisJCXsgInZlcnNpb24iLCBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ1YnIH0sCisJCXsgInplcm8iLCAgICBub19hcmd1bWVudCwJTlVMTCwgJ3onIH0sCisJCXsgTlVMTCwgMCwgMCwgMCB9LAorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiTDo6aFZ6IiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCQlzd2l0Y2goYykgeworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCQlicmVhazsKKwkJY2FzZSAnTCc6CisJCQljb2xvcm1vZGUgPSBVTF9DT0xPUk1PREVfQVVUTzsKKwkJCWlmIChvcHRhcmcpCisJCQkJY29sb3Jtb2RlID0gY29sb3Jtb2RlX29yX2VycihvcHRhcmcsCisJCQkJCQlfKCJ1bnN1cHBvcnRlZCBjb2xvciBtb2RlIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICd6JzoKKwkJCWNmLT56ZXJvX3N0YXJ0ID0gMTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJY29sb3JzX2luaXQoY29sb3Jtb2RlLCAiY2ZkaXNrIik7CisKKwlmZGlza19pbml0X2RlYnVnKDApOworCXNjb2xzX2luaXRfZGVidWcoMCk7CisJY2ZkaXNrX2luaXRfZGVidWcoKTsKKwljZi0+Y3h0ID0gZmRpc2tfbmV3X2NvbnRleHQoKTsKKwlpZiAoIWNmLT5jeHQpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBsaWJmZGlzayBjb250ZXh0IikpOworCisJZmRpc2tfc2V0X2FzayhjZi0+Y3h0LCBhc2tfY2FsbGJhY2ssICh2b2lkICopIGNmKTsKKworCWlmIChvcHRpbmQgPT0gYXJnYykgeworCQlzaXplX3QgaTsKKworCQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShkZWZhdWx0X2Rpc2tzKTsgaSsrKSB7CisJCQlpZiAoYWNjZXNzKGRlZmF1bHRfZGlza3NbaV0sIEZfT0spID09IDApIHsKKwkJCQlkaXNrcGF0aCA9IGRlZmF1bHRfZGlza3NbaV07CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwkJaWYgKCFkaXNrcGF0aCkKKwkJCWRpc2twYXRoID0gZGVmYXVsdF9kaXNrc1swXTsJLyogZGVmYXVsdCwgdXNlZCBmb3IgImNhbm5vdCBvcGVuIiAqLworCX0gZWxzZQorCQlkaXNrcGF0aCA9IGFyZ3Zbb3B0aW5kXTsKKworCXJjID0gZmRpc2tfYXNzaWduX2RldmljZShjZi0+Y3h0LCBkaXNrcGF0aCwgMCk7CisJaWYgKHJjID09IC1FQUNDRVMpCisJCXJjID0gZmRpc2tfYXNzaWduX2RldmljZShjZi0+Y3h0LCBkaXNrcGF0aCwgMSk7CisJaWYgKHJjICE9IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksIGRpc2twYXRoKTsKKworCS8qIERvbid0IHVzZSBlcnIoKSwgd2FybigpIGZyb20gdGhpcyBwb2ludCAqLworCXVpX2luaXQoY2YpOworCXVpX3J1bihjZik7CisJdWlfZW5kKCk7CisKKwljZmRpc2tfZnJlZV9saW5lcyhjZik7CisJZnJlZShjZi0+bGluZXNidWYpOworCisJZmRpc2tfdW5yZWZfdGFibGUoY2YtPnRhYmxlKTsKKyNpZmRlZiBIQVZFX0xJQk1PVU5UCisJbW50X3VucmVmX3RhYmxlKGNmLT5mc3RhYik7CisJbW50X3VucmVmX3RhYmxlKGNmLT5tdGFiKTsKKwltbnRfdW5yZWZfY2FjaGUoY2YtPm1udGNhY2hlKTsKKyNlbmRpZgorCXJjID0gZmRpc2tfZGVhc3NpZ25fZGV2aWNlKGNmLT5jeHQsIGNmLT5ud3JpdGVzID09IDApOworCWZkaXNrX3VucmVmX2NvbnRleHQoY2YtPmN4dCk7CisJREJHKE1JU0MsIHVsX2RlYnVnKCJieWUhIFtyYz0lZF0iLCByYykpOworCXJldHVybiByYyA9PSAwID8gRVhJVF9TVUNDRVNTIDogRVhJVF9GQUlMVVJFOworfQpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9jcmFtZnMuaCBiL2Rpc2stdXRpbHMvY3JhbWZzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTY5MDRmNwotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvY3JhbWZzLmgKQEAgLTAsMCArMSwxMTQgQEAKKy8qCisgKiBjcmFtZnNfY29tbW9uIC0gY3JhbWZzIGNvbW1vbiBjb2RlCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA4IFJveSBQZWxlZCwgdGhlLnJveS5wZWxlZCAgLWF0LSAgZ21haWwKKyAqIENvcHlyaWdodCAoYykgMjAwNC0yMDA2IGJ5IE1pY2hhZWwgSG9senQsIGtqdSAtYXQtIGZxZG4ub3JnCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqLworCisjaWZuZGVmIF9fQ1JBTUZTX0gKKyNkZWZpbmUgX19DUkFNRlNfSAorCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNkZWZpbmUgQ1JBTUZTX01BR0lDCQkweDI4Y2QzZDQ1CS8qIHNvbWUgcmFuZG9tIG51bWJlciAqLworI2RlZmluZSBDUkFNRlNfU0lHTkFUVVJFCSJDb21wcmVzc2VkIFJPTUZTIgorCisvKgorICogV2lkdGggb2YgdmFyaW91cyBiaXRmaWVsZHMgaW4gc3RydWN0IGNyYW1mc19pbm9kZS4KKyAqIFByaW1hcmlseSB1c2VkIHRvIGdlbmVyYXRlIHdhcm5pbmdzIGluIG1rY3JhbWZzLgorICovCisjZGVmaW5lIENSQU1GU19NT0RFX1dJRFRIIDE2CisjZGVmaW5lIENSQU1GU19VSURfV0lEVEggMTYKKyNkZWZpbmUgQ1JBTUZTX1NJWkVfV0lEVEggMjQKKyNkZWZpbmUgQ1JBTUZTX0dJRF9XSURUSCA4CisjZGVmaW5lIENSQU1GU19OQU1FTEVOX1dJRFRIIDYKKyNkZWZpbmUgQ1JBTUZTX09GRlNFVF9XSURUSCAyNgorCisjaWZuZGVmIEhPU1RfSVNfQklHX0VORElBTgorI2lmZGVmIFdPUkRTX0JJR0VORElBTgorI2RlZmluZSBIT1NUX0lTX0JJR19FTkRJQU4gMQorI2Vsc2UKKyNkZWZpbmUgSE9TVF9JU19CSUdfRU5ESUFOIDAKKyNlbmRpZgorI2VuZGlmCisKKy8qCisgKiBSZWFzb25hYmx5IHRlcnNlIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBpbm9kZSBkYXRhLgorICovCitzdHJ1Y3QgY3JhbWZzX2lub2RlIHsKKwl1aW50MzJfdCBtb2RlOjE2LCB1aWQ6MTY7CisJLyogU0laRSBmb3IgZGV2aWNlIGZpbGVzIGlzIGlfcmRldiAqLworCXVpbnQzMl90IHNpemU6MjQsIGdpZDo4OworCS8qCisJICogTkFNRUxFTiBpcyB0aGUgbGVuZ3RoIG9mIHRoZSBmaWxlIG5hbWUsIGRpdmlkZWQgYnkgNCBhbmQKKwkgKiByb3VuZGVkIHVwLiAgKGNyYW1mcyBkb2Vzbid0IHN1cHBvcnQgaGFyZCBsaW5rcy4pCisJICoKKwkgKiBPRkZTRVQ6IEZvciBzeW1saW5rcyBhbmQgbm9uLWVtcHR5IHJlZ3VsYXIgZmlsZXMsIHRoaXMKKwkgKiBjb250YWlucyB0aGUgb2Zmc2V0IChkaXZpZGVkIGJ5IDQpIG9mIHRoZSBmaWxlIGRhdGEgaW4KKwkgKiBjb21wcmVzc2VkIGZvcm0gKHN0YXJ0aW5nIHdpdGggYW4gYXJyYXkgb2YgYmxvY2sgcG9pbnRlcnM7CisJICogc2VlIFJFQURNRSkuICBGb3Igbm9uLWVtcHR5IGRpcmVjdG9yaWVzIGl0IGlzIHRoZSBvZmZzZXQKKwkgKiAoZGl2aWRlZCBieSA0KSBvZiB0aGUgaW5vZGUgb2YgdGhlIGZpcnN0IGZpbGUgaW4gdGhhdAorCSAqIGRpcmVjdG9yeS4gIEZvciBhbnl0aGluZyBlbHNlLCBvZmZzZXQgaXMgemVyby4KKwkgKi8KKwl1aW50MzJfdCBuYW1lbGVuOjYsIG9mZnNldDoyNjsKK307CisKK3N0cnVjdCBjcmFtZnNfaW5mbyB7CisJdWludDMyX3QgY3JjOworCXVpbnQzMl90IGVkaXRpb247CisJdWludDMyX3QgYmxvY2tzOworCXVpbnQzMl90IGZpbGVzOworfTsKKworLyoKKyAqIFN1cGVyYmxvY2sgaW5mb3JtYXRpb24gYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgRlMuCisgKi8KK3N0cnVjdCBjcmFtZnNfc3VwZXIgeworCXVpbnQzMl90IG1hZ2ljOwkJLyogMHgyOGNkM2Q0NSAtIHJhbmRvbSBudW1iZXIgKi8KKwl1aW50MzJfdCBzaXplOwkJLyogTm90IHVzZWQuICBta2NyYW1mcyBjdXJyZW50bHkKKwkJCQkgICB3cml0ZXMgYSBjb25zdGFudCAxPDwxNiBoZXJlLiAqLworCXVpbnQzMl90IGZsYWdzOwkJLyogMCAqLworCXVpbnQzMl90IGZ1dHVyZTsJCS8qIDAgKi8KKwl1aW50OF90IHNpZ25hdHVyZVsxNl07CS8qICJDb21wcmVzc2VkIFJPTUZTIiAqLworCXN0cnVjdCBjcmFtZnNfaW5mbyBmc2lkOy8qIHVuaXF1ZSBmaWxlc3lzdGVtIGluZm8gKi8KKwl1aW50OF90IG5hbWVbMTZdOwkJLyogdXNlci1kZWZpbmVkIG5hbWUgKi8KKwlzdHJ1Y3QgY3JhbWZzX2lub2RlIHJvb3Q7CS8qIFJvb3QgaW5vZGUgZGF0YSAqLworfTsKKworI2RlZmluZSBDUkFNRlNfRkxBR19GU0lEX1ZFUlNJT05fMgkweDAwMDAwMDAxCS8qIGZzaWQgdmVyc2lvbiAjMiAqLworI2RlZmluZSBDUkFNRlNfRkxBR19TT1JURURfRElSUwkJMHgwMDAwMDAwMgkvKiBzb3J0ZWQgZGlycyAqLworI2RlZmluZSBDUkFNRlNfRkxBR19IT0xFUwkJMHgwMDAwMDEwMAkvKiBzdXBwb3J0IGZvciBob2xlcyAqLworI2RlZmluZSBDUkFNRlNfRkxBR19XUk9OR19TSUdOQVRVUkUJMHgwMDAwMDIwMAkvKiByZXNlcnZlZCAqLworI2RlZmluZSBDUkFNRlNfRkxBR19TSElGVEVEX1JPT1RfT0ZGU0VUIDB4MDAwMDA0MDAJLyogc2hpZnRlZCByb290IGZzICovCisKKy8qCisgKiBWYWxpZCB2YWx1ZXMgaW4gc3VwZXIuZmxhZ3MuICBDdXJyZW50bHkgd2UgcmVmdXNlIHRvIG1vdW50CisgKiBpZiAoZmxhZ3MgJiB+Q1JBTUZTX1NVUFBPUlRFRF9GTEFHUykuICBNYXliZSB0aGF0IHNob3VsZCBiZQorICogY2hhbmdlZCB0byB0ZXN0IHN1cGVyLmZ1dHVyZSBpbnN0ZWFkLgorICovCisjZGVmaW5lIENSQU1GU19TVVBQT1JURURfRkxBR1MgKDB4ZmYpCisKKy8qIFVuY29tcHJlc3Npb24gaW50ZXJmYWNlcyB0byB0aGUgdW5kZXJseWluZyB6bGliICovCitpbnQgY3JhbWZzX3VuY29tcHJlc3NfYmxvY2sodm9pZCAqZHN0LCBpbnQgZHN0bGVuLCB2b2lkICpzcmMsIGludCBzcmNsZW4pOworaW50IGNyYW1mc191bmNvbXByZXNzX2luaXQodm9pZCk7CitpbnQgY3JhbWZzX3VuY29tcHJlc3NfZXhpdCh2b2lkKTsKKwordWludDMyX3QgdTMyX3RvZ2dsZV9lbmRpYW5uZXNzKGludCBiaWdfZW5kaWFuLCB1aW50MzJfdCB3aGF0KTsKK3ZvaWQgc3VwZXJfdG9nZ2xlX2VuZGlhbm5lc3MoaW50IGZyb21fYmlnX2VuZGlhbiwgc3RydWN0IGNyYW1mc19zdXBlciAqc3VwZXIpOwordm9pZCBpbm9kZV90b19ob3N0KGludCBmcm9tX2JpZ19lbmRpYW4sIHN0cnVjdCBjcmFtZnNfaW5vZGUgKmlub2RlX2luLAorCQkgICBzdHJ1Y3QgY3JhbWZzX2lub2RlICppbm9kZV9vdXQpOwordm9pZCBpbm9kZV9mcm9tX2hvc3QoaW50IHRvX2JpZ19lbmRpYW4sIHN0cnVjdCBjcmFtZnNfaW5vZGUgKmlub2RlX2luLAorCQkgICAgIHN0cnVjdCBjcmFtZnNfaW5vZGUgKmlub2RlX291dCk7CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9jcmFtZnNfY29tbW9uLmMgYi9kaXNrLXV0aWxzL2NyYW1mc19jb21tb24uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZGM1OWU3Ci0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9jcmFtZnNfY29tbW9uLmMKQEAgLTAsMCArMSwxMDkgQEAKKy8qCisgKiBjcmFtZnNfY29tbW9uIC0gY3JhbWZzIGNvbW1vbiBjb2RlCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA4IFJveSBQZWxlZCwgdGhlLnJveS5wZWxlZCAgLWF0LSAgZ21haWwuY29tCisgKiBDb3B5cmlnaHQgKGMpIDIwMDQtMjAwNiBieSBNaWNoYWVsIEhvbHp0LCBranUgLWF0LSBmcWRuLm9yZworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKi8KKworI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgImNyYW1mcy5oIgorI2luY2x1ZGUgIi4uL2luY2x1ZGUvYml0b3BzLmgiCisKK3VpbnQzMl90IHUzMl90b2dnbGVfZW5kaWFubmVzcyhpbnQgYmlnX2VuZGlhbiwgdWludDMyX3Qgd2hhdCkKK3sKKwlyZXR1cm4gYmlnX2VuZGlhbiA9PSBIT1NUX0lTX0JJR19FTkRJQU4gPyB3aGF0IDogc3dhYjMyKHdoYXQpOworfQorCit2b2lkIHN1cGVyX3RvZ2dsZV9lbmRpYW5uZXNzKGludCBiaWdfZW5kaWFuLCBzdHJ1Y3QgY3JhbWZzX3N1cGVyICpzdXBlcikKK3sKKwlpZiAoYmlnX2VuZGlhbiAhPSBIT1NUX0lTX0JJR19FTkRJQU4pIHsKKwkJc3VwZXItPm1hZ2ljID0gc3dhYjMyKHN1cGVyLT5tYWdpYyk7CisJCXN1cGVyLT5zaXplID0gc3dhYjMyKHN1cGVyLT5zaXplKTsKKwkJc3VwZXItPmZsYWdzID0gc3dhYjMyKHN1cGVyLT5mbGFncyk7CisJCXN1cGVyLT5mdXR1cmUgPSBzd2FiMzIoc3VwZXItPmZ1dHVyZSk7CisJCXN1cGVyLT5mc2lkLmNyYyA9IHN3YWIzMihzdXBlci0+ZnNpZC5jcmMpOworCQlzdXBlci0+ZnNpZC5lZGl0aW9uID0gc3dhYjMyKHN1cGVyLT5mc2lkLmVkaXRpb24pOworCQlzdXBlci0+ZnNpZC5ibG9ja3MgPSBzd2FiMzIoc3VwZXItPmZzaWQuYmxvY2tzKTsKKwkJc3VwZXItPmZzaWQuZmlsZXMgPSBzd2FiMzIoc3VwZXItPmZzaWQuZmlsZXMpOworCX0KK30KKworc3RhdGljIHZvaWQgaW5vZGVfdG9nZ2xlX2VuZGlhbm5lc3MoaW50IGlucHV0X2JpZ19lbmRpYW4sIGludCBvdXRwdXRfYmlnX2VuZGlhbiwKKwkJCSAgICAgc3RydWN0IGNyYW1mc19pbm9kZSAqaW5vZGVfaW4sCisJCQkgICAgIHN0cnVjdCBjcmFtZnNfaW5vZGUgKmlub2RlX291dCkKK3sKKwlpZiAoaW5wdXRfYmlnX2VuZGlhbiA9PSBvdXRwdXRfYmlnX2VuZGlhbikgeworCQltZW1tb3ZlKGlub2RlX291dCwgaW5vZGVfaW4sIHNpemVvZigqaW5vZGVfb3V0KSk7CisJfSBlbHNlIHsKKwkJdW5zaWduZWQgY2hhciBpbm9kZV9vdXRfYnVmW3NpemVvZigqaW5vZGVfaW4pXTsKKwkJdW5zaWduZWQgY2hhciAqaW5vZGVfaW5fYnVmID0gKHVuc2lnbmVkIGNoYXIqKWlub2RlX2luOworCisJCWlub2RlX291dF9idWZbMF0gPSBpbm9kZV9pbl9idWZbMV07IC8qIDE2IGJpdDogbW9kZSAqLworCQlpbm9kZV9vdXRfYnVmWzFdID0gaW5vZGVfaW5fYnVmWzBdOworCisJCWlub2RlX291dF9idWZbMl0gPSBpbm9kZV9pbl9idWZbM107IC8qIDE2IGJpdDogdWlkICovCisJCWlub2RlX291dF9idWZbM10gPSBpbm9kZV9pbl9idWZbMl07CisKKwkJaW5vZGVfb3V0X2J1Zls0XSA9IGlub2RlX2luX2J1Zls2XTsgLyogMjQgYml0OiBzaXplICovCisJCWlub2RlX291dF9idWZbNV0gPSBpbm9kZV9pbl9idWZbNV07CisJCWlub2RlX291dF9idWZbNl0gPSBpbm9kZV9pbl9idWZbNF07CisKKwkJaW5vZGVfb3V0X2J1Zls3XSA9IGlub2RlX2luX2J1Zls3XTsgLyogOCBiaXQ6IGdpZCB3aWR0aCAqLworCisJCS8qCisJCSAqIFN0b3AgdGhlIG1hZG5lc3MhIE91dGxhdyBDIGJpdGZpZWxkcyEgVGhleSBhcmUgdW5wb3J0YWJsZQorCQkgKiBhbmQgbmFzdHkhIFNlZSBmb3IgeW91cnNlbGYgd2hhdCBhIG1lc3MgdGhpcyBpczoKKwkJICovCisJCWlmIChvdXRwdXRfYmlnX2VuZGlhbikgeworCQkJaW5vZGVfb3V0X2J1ZlsgOF0gPSAoIChpbm9kZV9pbl9idWZbIDhdJjB4M0YpIDw8IDIgKSB8CisJCQkJKCAoaW5vZGVfaW5fYnVmWzExXSYweEMwKSA+PiA2ICk7CisKKwkJCWlub2RlX291dF9idWZbIDldID0gKCAoaW5vZGVfaW5fYnVmWzExXSYweDNGKSA8PCAyICkgfAorCQkJCSggKGlub2RlX2luX2J1ZlsxMF0mMHhDMCkgPj4gNiApOworCisJCQlpbm9kZV9vdXRfYnVmWzEwXSA9ICggKGlub2RlX2luX2J1ZlsxMF0mMHgzRikgPDwgMiApIHwKKwkJCQkoIChpbm9kZV9pbl9idWZbIDldJjB4QzApID4+IDYgKTsKKworCQkJaW5vZGVfb3V0X2J1ZlsxMV0gPSAoIChpbm9kZV9pbl9idWZbIDldJjB4M0YpIDw8IDIgKSB8CisJCQkJKCAoaW5vZGVfaW5fYnVmWyA4XSYweEMwKSA+PiA2ICk7CisJCX0gZWxzZSB7CisJCQlpbm9kZV9vdXRfYnVmWyA4XSA9ICggKGlub2RlX2luX2J1ZlsgOF0mMHhGRCkgPj4gMiApIHwKKwkJCQkoIChpbm9kZV9pbl9idWZbMTFdJjB4MDMpIDw8IDYgKTsKKworCQkJaW5vZGVfb3V0X2J1ZlsgOV0gPSAoIChpbm9kZV9pbl9idWZbMTFdJjB4RkQpID4+IDIgKSB8CisJCQkJKCAoaW5vZGVfaW5fYnVmWzEwXSYweDAzKSA8PCA2ICk7CisKKwkJCWlub2RlX291dF9idWZbMTBdID0gKCAoaW5vZGVfaW5fYnVmWzEwXSYweEZEKSA+PiAyICkgfAorCQkJCSggKGlub2RlX2luX2J1ZlsgOV0mMHgwMykgPDwgNiApOworCisJCQlpbm9kZV9vdXRfYnVmWzExXSA9ICggKGlub2RlX2luX2J1ZlsgOV0mMHhGRCkgPj4gMiApIHwKKwkJCQkoIChpbm9kZV9pbl9idWZbIDhdJjB4MDMpIDw8IDYgKTsKKwkJfQorCQltZW1tb3ZlKGlub2RlX291dCwgaW5vZGVfb3V0X2J1Ziwgc2l6ZW9mKCppbm9kZV9vdXQpKTsKKwl9Cit9CisKK3ZvaWQgaW5vZGVfdG9faG9zdChpbnQgZnJvbV9iaWdfZW5kaWFuLCBzdHJ1Y3QgY3JhbWZzX2lub2RlICppbm9kZV9pbiwKKwkJICAgc3RydWN0IGNyYW1mc19pbm9kZSAqaW5vZGVfb3V0KQoreworCWlub2RlX3RvZ2dsZV9lbmRpYW5uZXNzKGZyb21fYmlnX2VuZGlhbiwgSE9TVF9JU19CSUdfRU5ESUFOLCBpbm9kZV9pbiwKKwkJCQlpbm9kZV9vdXQpOworfQorCit2b2lkIGlub2RlX2Zyb21faG9zdChpbnQgdG9fYmlnX2VuZGlhbiwgc3RydWN0IGNyYW1mc19pbm9kZSAqaW5vZGVfaW4sCisJCSAgICAgc3RydWN0IGNyYW1mc19pbm9kZSAqaW5vZGVfb3V0KQoreworCWlub2RlX3RvZ2dsZV9lbmRpYW5uZXNzKEhPU1RfSVNfQklHX0VORElBTiwgdG9fYmlnX2VuZGlhbiwgaW5vZGVfaW4sCisJCQkJaW5vZGVfb3V0KTsKK30KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvZGVscGFydC44IGIvZGlzay11dGlscy9kZWxwYXJ0LjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDY0MzMxZQotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvZGVscGFydC44CkBAIC0wLDAgKzEsMjcgQEAKKy5cIiBkZWxwYXJ0LjggLS0gbWFuIHBhZ2UgZm9yIGRlbHBhcnQKKy5cIiBDb3B5cmlnaHQgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKy5cIiBDb3B5cmlnaHQgMjAwNyBSZWQgSGF0LCBJbmMuCisuXCIgTWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLlRIIERFTFBBUlQgOCAiSmFudWFyeSAyMDE1IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitkZWxwYXJ0IFwtIHRlbGwgdGhlIGtlcm5lbCB0byBmb3JnZXQgYWJvdXQgYSBwYXJ0aXRpb24KKy5TSCBTWU5PUFNJUworLkIgZGVscGFydAorLkkgZGV2aWNlIHBhcnRpdGlvbgorLlNIIERFU0NSSVBUSU9OCisuQiBkZWxwYXJ0Cithc2tzIHRoZSBMaW51eCBrZXJuZWwgdG8gZm9yZ2V0IGFib3V0IHRoZSBzcGVjaWZpZWQgXGZJcGFydGl0aW9uXGZSCisoYSBudW1iZXIpIG9uIHRoZSBzcGVjaWZpZWQgXGZJZGV2aWNlXGZSLgorVGhlIGNvbW1hbmQgaXMgYSBzaW1wbGUgd3JhcHBlciBhcm91bmQgdGhlICJkZWwgcGFydGl0aW9uIiBpb2N0bC4KKworVGhpcyBjb21tYW5kIGRvZXNuJ3QgbWFuaXB1bGF0ZSBwYXJ0aXRpb25zIG9uIGEgYmxvY2sgZGV2aWNlLgorCisuU0ggU0VFIEFMU08KKy5CUiBhZGRwYXJ0ICg4KSwKKy5CUiBmZGlzayAoOCksCisuQlIgcGFydGVkICg4KSwKKy5CUiBwYXJ0cHJvYmUgKDgpLAorLkJSIHBhcnR4ICg4KQorLlNIIEFWQUlMQUJJTElUWQorVGhlIGRlbHBhcnQgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL2RlbHBhcnQuYyBiL2Rpc2stdXRpbHMvZGVscGFydC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmYTdhNzAKLS0tIC9kZXYvbnVsbAorKysgYi9kaXNrLXV0aWxzL2RlbHBhcnQuYwpAQCAtMCwwICsxLDY0IEBACisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInBhcnR4LmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXyAoKF9fbm9yZXR1cm5fXykpIHVzYWdlKEZJTEUgKiBvdXQpCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj5cbiIpLAorCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiVGVsbCB0aGUga2VybmVsIHRvIGZvcmdldCBhYm91dCBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoVVNBR0VfSEVMUCwgb3V0KTsKKwlmcHV0cyhVU0FHRV9WRVJTSU9OLCBvdXQpOworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgiZGVscGFydCg4KSIpKTsKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IGMsIGZkOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIDAsICdoJ30sCisJCXsidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCAwLCAnVid9LAorCQl7TlVMTCwgbm9fYXJndW1lbnQsIDAsICcwJ30sCisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiVmgiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKQorCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2Uoc3Rkb3V0KTsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKHN0ZGVycik7CisJCX0KKworCWlmIChhcmdjICE9IDMpCisJCXVzYWdlKHN0ZGVycik7CisKKworCWlmICgoZmQgPSBvcGVuKGFyZ3ZbMV0sIE9fUkRPTkxZKSkgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBhcmd2WzFdKTsKKworCWlmIChwYXJ0eF9kZWxfcGFydGl0aW9uKGZkLAorCQkJc3RydG91MzJfb3JfZXJyKGFyZ3ZbMl0sIF8oImludmFsaWQgcGFydGl0aW9uIG51bWJlciBhcmd1bWVudCIpKSkpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uIikpOworCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvZmRmb3JtYXQuOCBiL2Rpc2stdXRpbHMvZmRmb3JtYXQuOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMmMyZmI2Ci0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9mZGZvcm1hdC44CkBAIC0wLDAgKzEsNzQgQEAKKy5cIiBDb3B5cmlnaHQgMTk5MiwgMTk5MyBSaWNrYXJkIEUuIEZhaXRoIChmYWl0aEBjcy51bmMuZWR1KQorLlwiIE1heSBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy5USCBGREZPUk1BVCA4ICJKdWx5IDIwMTQiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK2ZkZm9ybWF0IFwtIGxvdy1sZXZlbCBmb3JtYXQgYSBmbG9wcHkgZGlzaworLlNIIFNZTk9QU0lTCisuQiBmZGZvcm1hdAorLlJJIFtvcHRpb25zXSAiIGRldmljZSIKKy5TSCBERVNDUklQVElPTgorLkIgZmRmb3JtYXQKK2RvZXMgYSBsb3ctbGV2ZWwgZm9ybWF0IG9uIGEgZmxvcHB5IGRpc2suCisuSSBkZXZpY2UKK2lzIHVzdWFsbHkgb25lIG9mIHRoZSBmb2xsb3dpbmcgKGZvciBmbG9wcHkgZGV2aWNlcyB0aGUgbWFqb3IgPSAyLCBhbmQgdGhlCittaW5vciBpcyBzaG93biBmb3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5KToKKy5zcAorLm5mCisuUlMKKy9kZXYvZmQwZDM2MCAgKG1pbm9yID0gNCkKKy9kZXYvZmQwaDEyMDAgKG1pbm9yID0gOCkKKy9kZXYvZmQwRDM2MCAgKG1pbm9yID0gMTIpCisvZGV2L2ZkMEgzNjAgIChtaW5vciA9IDEyKQorL2Rldi9mZDBENzIwICAobWlub3IgPSAxNikKKy9kZXYvZmQwSDcyMCAgKG1pbm9yID0gMTYpCisvZGV2L2ZkMGgzNjAgIChtaW5vciA9IDIwKQorL2Rldi9mZDBoNzIwICAobWlub3IgPSAyNCkKKy9kZXYvZmQwSDE0NDAgKG1pbm9yID0gMjgpCisuUFAKKy9kZXYvZmQxZDM2MCAgKG1pbm9yID0gNSkKKy9kZXYvZmQxaDEyMDAgKG1pbm9yID0gOSkKKy9kZXYvZmQxRDM2MCAgKG1pbm9yID0gMTMpCisvZGV2L2ZkMUgzNjAgIChtaW5vciA9IDEzKQorL2Rldi9mZDFENzIwICAobWlub3IgPSAxNykKKy9kZXYvZmQxSDcyMCAgKG1pbm9yID0gMTcpCisvZGV2L2ZkMWgzNjAgIChtaW5vciA9IDIxKQorL2Rldi9mZDFoNzIwICAobWlub3IgPSAyNSkKKy9kZXYvZmQxSDE0NDAgKG1pbm9yID0gMjkpCisuUkUKKy5maQorLlBQCitUaGUgZ2VuZXJpYyBmbG9wcHkgZGV2aWNlcywgL2Rldi9mZDAgYW5kIC9kZXYvZmQxLCB3aWxsIGZhaWwgdG8gd29yayB3aXRoCisuQiBmZGZvcm1hdAord2hlbiBhIG5vbi1zdGFuZGFyZCBmb3JtYXQgaXMgYmVpbmcgdXNlZCwgb3IgaWYgdGhlIGZvcm1hdCBoYXMgbm90IGJlZW4KK2F1dG9kZXRlY3RlZCBlYXJsaWVyLiAgSW4gdGhpcyBjYXNlLCB1c2UKKy5CUiBzZXRmZHBybSAoOCkKK3RvIGxvYWQgdGhlIGRpc2sgcGFyYW1ldGVycy4KKy5TSCBPUFRJT05TCisuVFAKK1xmQlwtZlxmUiwgXGZCXC1cLWZyb21cZlIgXGZJTlxmUgorU3RhcnQgYXQgdGhlIHRyYWNrIFxmSU5cZlIgKGRlZmF1bHQgaXMgMCkuCisuVFAKK1xmQlwtdFxmUiwgXGZCXC1cLXRvXGZSIFxmSU5cZlIKK1N0b3AgYXQgdGhlIHRyYWNrIFxmSU5cZlIuCisuVFAKK1xmQlwtclxmUiwgXGZCXC1cLXJlcGFpclxmUiBcZklOXGZSCitUcnkgdG8gcmVwYWlyIHRyYWNrcyBmYWlsZWQgZHVyaW5nIHRoZSB2ZXJpZmljYXRpb24gKG1heCBcZklOXGZSIHJldHJpZXMpLgorLlRQCitcZkJcLW5cZlIsIFxmQlwtXC1ub1wtdmVyaWZ5XGZSCitTa2lwIHRoZSB2ZXJpZmljYXRpb24gdGhhdCBpcyBub3JtYWxseSBwZXJmb3JtZWQgYWZ0ZXIgdGhlIGZvcm1hdHRpbmcuCisuVFAKK1xmQlwtVlxmUiwgXGZCXC1cLXZlcnNpb25cZlIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorXGZCXC1oXGZSLCBcZkJcLVwtaGVscFxmUgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggIlNFRSBBTFNPIgorLkJSIGZkICg0KSwKKy5CUiBlbWtmcyAoOCksCisuQlIgbWtmcyAoOCksCisuQlIgc2V0ZmRwcm0gKDgpCisuU0ggQVVUSE9SCitXZXJuZXIgQWxtZXNiZXJnZXIgKGFsbWVzYmVyQG5lc3NpZS5jcy5pZC5ldGh6LmNoKQorLlNIIEFWQUlMQUJJTElUWQorVGhlIGZkZm9ybWF0IGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9mZGZvcm1hdC5jIGIvZGlzay11dGlscy9mZGZvcm1hdC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2ZTFiYjkKLS0tIC9kZXYvbnVsbAorKysgYi9kaXNrLXV0aWxzL2ZkZm9ybWF0LmMKQEAgLTAsMCArMSwyNTQgQEAKKy8qCisgKiBmZGZvcm1hdC5jICAtICBMb3ctbGV2ZWwgZm9ybWF0cyBhIGZsb3BweSBkaXNrIC0gV2VybmVyIEFsbWVzYmVyZ2VyCisgKi8KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8bGludXgvZmQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiYmxrZGV2LmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorCisjZGVmaW5lIFNFQ1RPUl9TSVpFIDUxMgorCitzdHJ1Y3QgZmxvcHB5X3N0cnVjdCBwYXJhbTsKKworCitzdGF0aWMgdm9pZCBmb3JtYXRfYmVnaW4oaW50IGN0cmwpCit7CisJaWYgKGlvY3RsKGN0cmwsIEZERk1UQkVHLCBOVUxMKSA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsICJpb2N0bDogRkRGTVRCRUciKTsKK30KKworc3RhdGljIHZvaWQgZm9ybWF0X2VuZChpbnQgY3RybCkKK3sKKwlpZiAoaW9jdGwoY3RybCwgRkRGTVRFTkQsIE5VTEwpIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgImlvY3RsOiBGREZNVEVORCIpOworfQorCitzdGF0aWMgdm9pZCBmb3JtYXRfdHJhY2tfaGVhZChpbnQgY3RybCwgc3RydWN0IGZvcm1hdF9kZXNjciAqZGVzY3IpCit7CisJaWYgKGlvY3RsKGN0cmwsIEZERk1UVFJLLCAobG9uZykgZGVzY3IpIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgImlvY3RsOiBGREZNVFRSSyIpOworfQorCitzdGF0aWMgdm9pZCBzZWVrX3RyYWNrX2hlYWQoaW50IGN0cmwsIHN0cnVjdCBmb3JtYXRfZGVzY3IgKmRlc2NyKQoreworCWxzZWVrKGN0cmwsIChkZXNjci0+dHJhY2sgKiBwYXJhbS5oZWFkICsgZGVzY3ItPmhlYWQpICogcGFyYW0uc2VjdCAqIFNFQ1RPUl9TSVpFLCBTRUVLX1NFVCk7Cit9CisKK3N0YXRpYyB2b2lkIGZvcm1hdF9kaXNrKGludCBjdHJsLCB1bnNpZ25lZCBpbnQgdHJhY2tfZnJvbSwgdW5zaWduZWQgaW50IHRyYWNrX3RvKQoreworCXN0cnVjdCBmb3JtYXRfZGVzY3IgY3VycmVudDsKKworCXByaW50ZihfKCJGb3JtYXR0aW5nIC4uLiAiKSk7CisJZmZsdXNoKHN0ZG91dCk7CisKKwlmb3JtYXRfYmVnaW4oY3RybCk7CisKKwlmb3IgKGN1cnJlbnQudHJhY2sgPSB0cmFja19mcm9tOyBjdXJyZW50LnRyYWNrIDw9IHRyYWNrX3RvOyBjdXJyZW50LnRyYWNrKyspIHsKKwkJZm9yIChjdXJyZW50LmhlYWQgPSAwOyBjdXJyZW50LmhlYWQgPCBwYXJhbS5oZWFkOyBjdXJyZW50LmhlYWQrKykgeworCQkJcHJpbnRmKCIlM3UvJXVcYlxiXGJcYlxiIiwgY3VycmVudC50cmFjaywgY3VycmVudC5oZWFkKTsKKwkJCWZmbHVzaChzdGRvdXQpOworCQkJZm9ybWF0X3RyYWNrX2hlYWQoY3RybCwgJmN1cnJlbnQpOworCQl9CisJfQorCisJZm9ybWF0X2VuZChjdHJsKTsKKworCXByaW50ZihfKCJkb25lXG4iKSk7Cit9CisKK3N0YXRpYyB2b2lkIHZlcmlmeV9kaXNrKGludCBjdHJsLCB1bnNpZ25lZCBpbnQgdHJhY2tfZnJvbSwgdW5zaWduZWQgaW50IHRyYWNrX3RvLCB1bnNpZ25lZCBpbnQgcmVwYWlyKQoreworCXVuc2lnbmVkIGNoYXIgKmRhdGE7CisJc3RydWN0IGZvcm1hdF9kZXNjciBjdXJyZW50OworCWludCB0cmFja19zaXplLCBjb3VudDsKKwl1bnNpZ25lZCBpbnQgcmV0cmllc19sZWZ0OworCisJdHJhY2tfc2l6ZSA9IHBhcmFtLnNlY3QgKiBTRUNUT1JfU0laRTsKKwlkYXRhID0geG1hbGxvYyh0cmFja19zaXplKTsKKwlwcmludGYoXygiVmVyaWZ5aW5nIC4uLiAiKSk7CisJZmZsdXNoKHN0ZG91dCk7CisKKwljdXJyZW50LnRyYWNrID0gdHJhY2tfZnJvbTsKKwljdXJyZW50LmhlYWQgPSAwOworCXNlZWtfdHJhY2tfaGVhZCAoY3RybCwgJmN1cnJlbnQpOworCisJZm9yIChjdXJyZW50LnRyYWNrID0gdHJhY2tfZnJvbTsgY3VycmVudC50cmFjayA8PSB0cmFja190bzsgY3VycmVudC50cmFjaysrKSB7CisJCWZvciAoY3VycmVudC5oZWFkID0gMDsgY3VycmVudC5oZWFkIDwgcGFyYW0uaGVhZDsgY3VycmVudC5oZWFkKyspIHsKKwkJCWludCByZWFkX2J5dGVzOworCisJCQlwcmludGYoIiUzdVxiXGJcYiIsIGN1cnJlbnQudHJhY2spOworCQkJZmZsdXNoKHN0ZG91dCk7CisKKwkJCXJldHJpZXNfbGVmdCA9IHJlcGFpcjsKKwkJCWRvIHsKKwkJCQlyZWFkX2J5dGVzID0gcmVhZChjdHJsLCBkYXRhLCB0cmFja19zaXplKTsKKwkJCQlpZiAocmVhZF9ieXRlcyAhPSB0cmFja19zaXplKSB7CisJCQkJCWlmIChyZXRyaWVzX2xlZnQpIHsKKwkJCQkJCWZvcm1hdF9iZWdpbihjdHJsKTsKKwkJCQkJCWZvcm1hdF90cmFja19oZWFkKGN0cmwsICZjdXJyZW50KTsKKwkJCQkJCWZvcm1hdF9lbmQoY3RybCk7CisJCQkJCQlzZWVrX3RyYWNrX2hlYWQgKGN0cmwsICZjdXJyZW50KTsKKwkJCQkJCXJldHJpZXNfbGVmdC0tOworCQkJCQkJaWYgKHJldHJpZXNfbGVmdCkKKwkJCQkJCQljb250aW51ZTsKKwkJCQkJfQorCQkJCQlpZiAocmVhZF9ieXRlcyA8IDApCisJCQkJCQlwZXJyb3IoXygiUmVhZDogIikpOworCQkJCQlmcHJpbnRmKHN0ZGVyciwKKwkJCQkJCV8oIlByb2JsZW0gcmVhZGluZyB0cmFjay9oZWFkICV1LyV1LCIKKwkJCQkJCSAgIiBleHBlY3RlZCAlZCwgcmVhZCAlZFxuIiksCisJCQkJCQljdXJyZW50LnRyYWNrLCBjdXJyZW50LmhlYWQsIHRyYWNrX3NpemUsIHJlYWRfYnl0ZXMpOworCQkJCQlmcmVlKGRhdGEpOworCQkJCQlleGl0KEVYSVRfRkFJTFVSRSk7CisJCQkJfQorCQkJCWZvciAoY291bnQgPSAwOyBjb3VudCA8IHRyYWNrX3NpemU7IGNvdW50KyspCisJCQkJCWlmIChkYXRhW2NvdW50XSAhPSBGRF9GSUxMX0JZVEUpIHsKKwkJCQkJCWlmIChyZXRyaWVzX2xlZnQpIHsKKwkJCQkJCQlmb3JtYXRfYmVnaW4oY3RybCk7CisJCQkJCQkJZm9ybWF0X3RyYWNrX2hlYWQoY3RybCwgJmN1cnJlbnQpOworCQkJCQkJCWZvcm1hdF9lbmQoY3RybCk7CisJCQkJCQkJc2Vla190cmFja19oZWFkIChjdHJsLCAmY3VycmVudCk7CisJCQkJCQkJcmV0cmllc19sZWZ0LS07CisJCQkJCQkJaWYgKHJldHJpZXNfbGVmdCkKKwkJCQkJCQkJY29udGludWU7CisJCQkJCQl9CisJCQkJCQlwcmludGYoXygiYmFkIGRhdGEgaW4gdHJhY2svaGVhZCAldS8ldVxuIgorCQkJCQkJCSAiQ29udGludWluZyAuLi4gIiksIGN1cnJlbnQudHJhY2ssIGN1cnJlbnQuaGVhZCk7CisJCQkJCQlmZmx1c2goc3Rkb3V0KTsKKwkJCQkJCWJyZWFrOworCQkJCQl9CisJCQkJYnJlYWs7CisJCQl9IHdoaWxlIChyZXRyaWVzX2xlZnQpOworCQl9CisJfQorCisJZnJlZShkYXRhKTsKKwlwcmludGYoXygiZG9uZVxuIikpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqIG91dCkKK3sKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIpLAorCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiRG8gYSBsb3ctbGV2ZWwgZm9ybWF0dGluZyBvZiBhIGZsb3BweSBkaXNrLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtZiwgLS1mcm9tIDxOPiAgICBzdGFydCBhdCB0aGUgdHJhY2sgTiAoZGVmYXVsdCAwKVxuIiksIG91dCk7CisJZnB1dHMoXygiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgYXQgdGhlIHRyYWNrIE5cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtciwgLS1yZXBhaXIgPE4+ICB0cnkgdG8gcmVwYWlyIHRyYWNrcyBmYWlsZWQgZHVyaW5nXG4iCisgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAgICAgIHRoZSB2ZXJpZmljYXRpb24gKG1heCBOIHJldHJpZXMpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW4sIC0tbm8tdmVyaWZ5ICAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKFVTQUdFX0hFTFAsIG91dCk7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoImZkZm9ybWF0KDgpIikpOworCisJZXhpdChvdXQgPT0gc3RkZXJyID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBjaDsKKwlpbnQgY3RybDsKKwlpbnQgdmVyaWZ5ID0gMTsKKwl1bnNpZ25lZCBpbnQgcmVwYWlyID0gMDsKKwl1bnNpZ25lZCBpbnQgdHJhY2tfZnJvbSA9IDA7CisJdW5zaWduZWQgaW50IHRyYWNrX3RvID0gMDsKKwlpbnQgaGFzX3VzZXJfZGVmaW5lZF90cmFja190byA9IDA7CisJc3RydWN0IHN0YXQgc3Q7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ImZyb20iLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2YnfSwKKwkJeyJ0byIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAndCd9LAorCQl7InJlcGFpciIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAncid9LAorCQl7Im5vLXZlcmlmeSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnbid9LAorCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1YnfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIE5VTEwsICdoJ30sCisJCXtOVUxMLCAwLCBOVUxMLCAwfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChjaCA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJmOnQ6cjpuVmgiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKQorCQlzd2l0Y2ggKGNoKSB7CisJCWNhc2UgJ2YnOgorCQkJdHJhY2tfZnJvbSA9IHN0cnRvdTMyX29yX2VycihvcHRhcmcsIF8oImludmFsaWQgYXJndW1lbnQgLSBmcm9tIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ3QnOgorCQkJaGFzX3VzZXJfZGVmaW5lZF90cmFja190byA9IDE7CisJCQl0cmFja190byA9IHN0cnRvdTMyX29yX2VycihvcHRhcmcsIF8oImludmFsaWQgYXJndW1lbnQgLSB0byIpKTsKKwkJCWJyZWFrOworCQljYXNlICdyJzoKKwkJCXJlcGFpciA9IHN0cnRvdTMyX29yX2VycihvcHRhcmcsIF8oImludmFsaWQgYXJndW1lbnQgLSByZXBhaXIiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQl2ZXJpZnkgPSAwOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlleGl0KEVYSVRfU1VDQ0VTUyk7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2Uoc3Rkb3V0KTsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKHN0ZGVycik7CisJCX0KKworCWFyZ2MgLT0gb3B0aW5kOworCWFyZ3YgKz0gb3B0aW5kOworCisJaWYgKGFyZ2MgPCAxKQorCQl1c2FnZShzdGRlcnIpOworCWlmIChzdGF0KGFyZ3ZbMF0sICZzdCkgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJzdGF0IG9mICVzIGZhaWxlZCIpLCBhcmd2WzBdKTsKKwlpZiAoIVNfSVNCTEsoc3Quc3RfbW9kZSkpCisJCS8qIGRvIG5vdCB0ZXN0IG1ham9yIC0gcGVyaGFwcyB0aGlzIHdhcyBhbiBVU0IgZmxvcHB5ICovCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogbm90IGEgYmxvY2sgZGV2aWNlIiksIGFyZ3ZbMF0pOworCWN0cmwgPSBvcGVuX2Jsa2Rldl9vcl9maWxlKCZzdCwgYXJndlswXSwgT19SRFdSKTsKKwlpZiAoY3RybCA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksIGFyZ3ZbMF0pOworCWlmIChpb2N0bChjdHJsLCBGREdFVFBSTSwgKGxvbmcpICZwYXJhbSkgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjb3VsZCBub3QgZGV0ZXJtaW5lIGN1cnJlbnQgZm9ybWF0IHR5cGUiKSk7CisKKwlwcmludGYoXygiJXMtc2lkZWQsICVkIHRyYWNrcywgJWQgc2VjL3RyYWNrLiBUb3RhbCBjYXBhY2l0eSAlZCBrQi5cbiIpLAorCQkocGFyYW0uaGVhZCA9PSAyKSA/IF8oIkRvdWJsZSIpIDogXygiU2luZ2xlIiksCisJCXBhcmFtLnRyYWNrLCBwYXJhbS5zZWN0LCBwYXJhbS5zaXplID4+IDEpOworCisJaWYgKCFoYXNfdXNlcl9kZWZpbmVkX3RyYWNrX3RvKQorCQl0cmFja190byA9IHBhcmFtLnRyYWNrIC0gMTsKKworCWlmICh0cmFja19mcm9tID49IHBhcmFtLnRyYWNrKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iKSk7CisJaWYgKHRyYWNrX3RvID49IHBhcmFtLnRyYWNrKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJ1c2VyIGRlZmluZWQgZW5kIHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIikpOworCWlmICh0cmFja19mcm9tID4gdHJhY2tfdG8pCisJCWVycihFWElUX0ZBSUxVUkUsIF8oInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSB1c2VyIGRlZmluZWQgZW5kIHRyYWNrIikpOworCisJZm9ybWF0X2Rpc2soY3RybCwgdHJhY2tfZnJvbSwgdHJhY2tfdG8pOworCisJaWYgKHZlcmlmeSkKKwkJdmVyaWZ5X2Rpc2soY3RybCwgdHJhY2tfZnJvbSwgdHJhY2tfdG8sIHJlcGFpcik7CisKKwlpZiAoY2xvc2VfZmQoY3RybCkgIT0gMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2xvc2UgZmFpbGVkIikpOworCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvZmRpc2stbGlzdC5jIGIvZGlzay11dGlscy9mZGlzay1saXN0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTZiMjAzMwotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvZmRpc2stbGlzdC5jCkBAIC0wLDAgKzEsNTEzIEBACisjaW5jbHVkZSA8bGliZmRpc2suaD4KKyNpbmNsdWRlIDxsaWJzbWFydGNvbHMuaD4KKyNpbmNsdWRlIDxhc3NlcnQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJibGtkZXYuaCIKKyNpbmNsdWRlICJtYnNhbGlnbi5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgImNhbm9uaWNhbGl6ZS5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAic3lzZnMuaCIKKyNpbmNsdWRlICJjb2xvcnMuaCIKKyNpbmNsdWRlICJ0dHl1dGlscy5oIgorCisjaW5jbHVkZSAiZmRpc2stbGlzdC5oIgorCisvKiBzZWUgaW5pdF9maWVsZHMoKSAqLworc3RhdGljIGNvbnN0IGNoYXIgKmZpZWxkc19zdHJpbmc7CitzdGF0aWMgaW50ICpmaWVsZHNfaWRzOworc3RhdGljIHNpemVfdCBmaWVsZHNfbmlkczsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmZpZWxkc19sYWJlbDsKKworc3RhdGljIGludCBpc19pZGVfY2Ryb21fb3JfdGFwZShjaGFyICpkZXZpY2UpCit7CisJaW50IGZkLCByZXQ7CisKKwlpZiAoKGZkID0gb3BlbihkZXZpY2UsIE9fUkRPTkxZKSkgPCAwKQorCQlyZXR1cm4gMDsKKwlyZXQgPSBibGtkZXZfaXNfY2Ryb20oZmQpOworCisJY2xvc2UoZmQpOworCXJldHVybiByZXQ7Cit9CisKKwordm9pZCBsaXN0X2Rpc2tfZ2VvbWV0cnkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwljaGFyICppZCA9IE5VTEw7CisJc3RydWN0IGZkaXNrX2xhYmVsICpsYiA9IGZkaXNrX2dldF9sYWJlbChjeHQsIE5VTEwpOworCXVpbnQ2NF90IGJ5dGVzID0gZmRpc2tfZ2V0X25zZWN0b3JzKGN4dCkgKiBmZGlza19nZXRfc2VjdG9yX3NpemUoY3h0KTsKKwljaGFyICpzdHJzeiA9IHNpemVfdG9faHVtYW5fc3RyaW5nKFNJWkVfU1VGRklYX1NQQUNFCisJCQkJCSAgIHwgU0laRV9TVUZGSVhfM0xFVFRFUiwgYnl0ZXMpOworCisJY29sb3Jfc2NoZW1lX2VuYWJsZSgiaGVhZGVyIiwgVUxfQ09MT1JfQk9MRCk7CisJZmRpc2tfaW5mbyhjeHQsCV8oIkRpc2sgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIiksCisJCQlmZGlza19nZXRfZGV2bmFtZShjeHQpLCBzdHJzeiwKKwkJCWJ5dGVzLCAodWludG1heF90KSBmZGlza19nZXRfbnNlY3RvcnMoY3h0KSk7CisJY29sb3JfZGlzYWJsZSgpOworCWZyZWUoc3Ryc3opOworCisJaWYgKGxiICYmIChmZGlza19sYWJlbF9yZXF1aXJlX2dlb21ldHJ5KGxiKSB8fCBmZGlza191c2VfY3lsaW5kZXJzKGN4dCkpKQorCQlmZGlza19pbmZvKGN4dCwgXygiR2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMvdHJhY2ssICVsbHUgY3lsaW5kZXJzIiksCisJCQkgICAgICAgZmRpc2tfZ2V0X2dlb21faGVhZHMoY3h0KSwKKwkJCSAgICAgICBmZGlza19nZXRfZ2VvbV9zZWN0b3JzKGN4dCksCisJCQkgICAgICAgZmRpc2tfZ2V0X2dlb21fY3lsaW5kZXJzKGN4dCkpOworCisJZmRpc2tfaW5mbyhjeHQsIF8oIlVuaXRzOiAlcyBvZiAlZCAqICVsZCA9ICVsZCBieXRlcyIpLAorCSAgICAgICBmZGlza19nZXRfdW5pdChjeHQsIEZESVNLX1BMVVJBTCksCisJICAgICAgIGZkaXNrX2dldF91bml0c19wZXJfc2VjdG9yKGN4dCksCisJICAgICAgIGZkaXNrX2dldF9zZWN0b3Jfc2l6ZShjeHQpLAorCSAgICAgICBmZGlza19nZXRfdW5pdHNfcGVyX3NlY3RvcihjeHQpICogZmRpc2tfZ2V0X3NlY3Rvcl9zaXplKGN4dCkpOworCisJZmRpc2tfaW5mbyhjeHQsIF8oIlNlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIiksCisJCQkJZmRpc2tfZ2V0X3NlY3Rvcl9zaXplKGN4dCksCisJCQkJZmRpc2tfZ2V0X3BoeXNlY3Rvcl9zaXplKGN4dCkpOworCWZkaXNrX2luZm8oY3h0LCBfKCJJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIiksCisJCQkJZmRpc2tfZ2V0X21pbmltYWxfaW9zaXplKGN4dCksCisJCQkJZmRpc2tfZ2V0X29wdGltYWxfaW9zaXplKGN4dCkpOworCWlmIChmZGlza19nZXRfYWxpZ25tZW50X29mZnNldChjeHQpKQorCQlmZGlza19pbmZvKGN4dCwgXygiQWxpZ25tZW50IG9mZnNldDogJWx1IGJ5dGVzIiksCisJCQkJZmRpc2tfZ2V0X2FsaWdubWVudF9vZmZzZXQoY3h0KSk7CisJaWYgKGZkaXNrX2hhc19sYWJlbChjeHQpKQorCQlmZGlza19pbmZvKGN4dCwgXygiRGlza2xhYmVsIHR5cGU6ICVzIiksCisJCQkJZmRpc2tfbGFiZWxfZ2V0X25hbWUobGIpKTsKKworCWlmICghZmRpc2tfaXNfZGV0YWlscyhjeHQpICYmIGZkaXNrX2dldF9kaXNrbGFiZWxfaWQoY3h0LCAmaWQpID09IDAgJiYgaWQpIHsKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIkRpc2sgaWRlbnRpZmllcjogJXMiKSwgaWQpOworCQlmcmVlKGlkKTsKKwl9Cit9CisKK3ZvaWQgbGlzdF9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgZmRpc2tfdGFibGUgKnRiID0gTlVMTDsKKwlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSA9IE5VTEw7CisJc3RydWN0IGZkaXNrX2l0ZXIgKml0ciA9IE5VTEw7CisJc3RydWN0IGZkaXNrX2xhYmVsICpsYjsKKwlzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKm91dCA9IE5VTEw7CisJY29uc3QgY2hhciAqYm9sZCA9IE5VTEw7CisJaW50ICppZHMgPSBOVUxMOwkJLyogSURzIG9mIGZkaXNrX2ZpZWxkcyAqLworCXNpemVfdAluaWRzID0gMCwgaTsKKwlpbnQgcG9zdCA9IDA7CisKKwkvKiBwcmludCBsYWJlbCBzcGVjaWZpYyBzdHVmZiBieSBsaWJmZGlzayBGRElTS19BU0tfSU5GTyBBUEkgKi8KKwlmZGlza19saXN0X2Rpc2tsYWJlbChjeHQpOworCisJLyogZ2V0IHBhcnRpdGlvbnMgYW5kIGdlbmVyYXRlIG91dHB1dCAqLworCWlmIChmZGlza19nZXRfcGFydGl0aW9ucyhjeHQsICZ0YikgfHwgZmRpc2tfdGFibGVfZ2V0X25lbnRzKHRiKSA8PSAwKQorCQlnb3RvIGRvbmU7CisKKwlpZHMgPSBpbml0X2ZpZWxkcyhjeHQsIE5VTEwsICZuaWRzKTsKKwlpZiAoIWlkcykKKwkJZ290byBkb25lOworCisJaXRyID0gZmRpc2tfbmV3X2l0ZXIoRkRJU0tfSVRFUl9GT1JXQVJEKTsKKwlpZiAoIWl0cikgeworCQlmZGlza193YXJuKGN4dCwgXygiZmFpbGVkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIikpOworCQlnb3RvIGRvbmU7CisJfQorCisJb3V0ID0gc2NvbHNfbmV3X3RhYmxlKCk7CisJaWYgKCFvdXQpIHsKKwkJZmRpc2tfd2FybihjeHQsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiKSk7CisJCWdvdG8gZG9uZTsKKwl9CisKKwlpZiAoY29sb3JzX3dhbnRlZCgpKSB7CisJCXNjb2xzX3RhYmxlX2VuYWJsZV9jb2xvcnMob3V0LCAxKTsKKwkJYm9sZCA9IGNvbG9yX3NjaGVtZV9nZXRfc2VxdWVuY2UoImhlYWRlciIsIFVMX0NPTE9SX0JPTEQpOworCX0KKworCWxiID0gZmRpc2tfZ2V0X2xhYmVsKGN4dCwgTlVMTCk7CisJYXNzZXJ0KGxiKTsKKworCS8qIGRlZmluZSBvdXRwdXQgdGFibGUgY29sdW1ucyAqLworCWZvciAoaSA9IDA7IGkgPCBuaWRzOyBpKyspIHsKKwkJaW50IGZsID0gMDsKKwkJc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY287CisJCWNvbnN0IHN0cnVjdCBmZGlza19maWVsZCAqZmllbGQgPQorCQkJCWZkaXNrX2xhYmVsX2dldF9maWVsZChsYiwgaWRzW2ldKTsKKwkJaWYgKCFmaWVsZCkKKwkJCWNvbnRpbnVlOworCQlpZiAoZmRpc2tfZmllbGRfaXNfbnVtYmVyKGZpZWxkKSkKKwkJCWZsIHw9IFNDT0xTX0ZMX1JJR0hUOworCQlpZiAoZmRpc2tfZmllbGRfZ2V0X2lkKGZpZWxkKSA9PSBGRElTS19GSUVMRF9UWVBFKQorCQkJZmwgfD0gU0NPTFNfRkxfVFJVTkM7CisKKwkJY28gPSBzY29sc190YWJsZV9uZXdfY29sdW1uKG91dCwKKwkJCQlfKGZkaXNrX2ZpZWxkX2dldF9uYW1lKGZpZWxkKSksCisJCQkJZmRpc2tfZmllbGRfZ2V0X3dpZHRoKGZpZWxkKSwgZmwpOworCQlpZiAoIWNvKQorCQkJZ290byBkb25lOworCisJCS8qIHNldCBjb2x1bW4gaGVhZGVyIGNvbG9yICovCisJCWlmIChib2xkKQorCQkJc2NvbHNfY2VsbF9zZXRfY29sb3Ioc2NvbHNfY29sdW1uX2dldF9oZWFkZXIoY28pLCBib2xkKTsKKwl9CisKKwkvKiBmaWxsLWluIG91dHB1dCB0YWJsZSAqLworCXdoaWxlIChmZGlza190YWJsZV9uZXh0X3BhcnRpdGlvbih0YiwgaXRyLCAmcGEpID09IDApIHsKKwkJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuID0gc2NvbHNfdGFibGVfbmV3X2xpbmUob3V0LCBOVUxMKTsKKworCQlpZiAoIWxuKSB7CisJCQlmZGlza193YXJuKGN4dCwgXygiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBsaW5lIikpOworCQkJZ290byBkb25lOworCQl9CisKKwkJZm9yIChpID0gMDsgaSA8IG5pZHM7IGkrKykgeworCQkJY2hhciAqZGF0YSA9IE5VTEw7CisKKwkJCWlmIChmZGlza19wYXJ0aXRpb25fdG9fc3RyaW5nKHBhLCBjeHQsIGlkc1tpXSwgJmRhdGEpKQorCQkJCWNvbnRpbnVlOworCQkJc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBpLCBkYXRhKTsKKwkJfQorCX0KKworCS8qIHByaW50ICovCisJaWYgKCFzY29sc190YWJsZV9pc19lbXB0eShvdXQpKSB7CisJCWZkaXNrX2luZm8oY3h0LCAiIik7CS8qIGp1c3QgbGluZSBicmVhayAqLworCQlzY29sc19wcmludF90YWJsZShvdXQpOworCX0KKworCS8qIHByaW50IHdhcm5pbmdzICovCisJZmRpc2tfcmVzZXRfaXRlcihpdHIsIEZESVNLX0lURVJfRk9SV0FSRCk7CisJd2hpbGUgKGl0ciAmJiBmZGlza190YWJsZV9uZXh0X3BhcnRpdGlvbih0YiwgaXRyLCAmcGEpID09IDApIHsKKwkJaWYgKCFmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSkKKwkJCWNvbnRpbnVlOworCQlpZiAoIWZkaXNrX2xiYV9pc19waHlfYWxpZ25lZChjeHQsIGZkaXNrX3BhcnRpdGlvbl9nZXRfc3RhcnQocGEpKSkgeworCQkJaWYgKCFwb3N0KQorCQkJCWZkaXNrX2luZm8oY3h0LCAiIik7IC8qIGxpbmUgYnJlYWsgKi8KKwkJCWZkaXNrX3dhcm54KGN4dCwgXygiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBzdGFydCBvbiBwaHlzaWNhbCBzZWN0b3IgYm91bmRhcnkuIiksCisJCQkJCSAgZmRpc2tfcGFydGl0aW9uX2dldF9wYXJ0bm8ocGEpICsgMSk7CisJCQlwb3N0Kys7CisJCX0KKwl9CisKKwlpZiAoZmRpc2tfdGFibGVfd3Jvbmdfb3JkZXIodGIpKSB7CisJCWlmICghcG9zdCkKKwkJCWZkaXNrX2luZm8oY3h0LCAiIik7IC8qIGxpbmUgYnJlYWsgKi8KKwkJZmRpc2tfaW5mbyhjeHQsIF8oIlBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4iKSk7CisJfQorZG9uZToKKwlzY29sc191bnJlZl90YWJsZShvdXQpOworCWZkaXNrX3VucmVmX3RhYmxlKHRiKTsKKwlmZGlza19mcmVlX2l0ZXIoaXRyKTsKK30KKwordm9pZCBsaXN0X2ZyZWVzcGFjZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBmZGlza190YWJsZSAqdGIgPSBOVUxMOworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhID0gTlVMTDsKKwlzdHJ1Y3QgZmRpc2tfaXRlciAqaXRyID0gTlVMTDsKKwlzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKm91dCA9IE5VTEw7CisJY29uc3QgY2hhciAqYm9sZCA9IE5VTEw7CisJc2l6ZV90IGk7CisJdWludG1heF90IHN1bXNpemUgPSAwLCBieXRlcyA9IDA7CisJY2hhciAqc3Ryc3o7CisKKwlzdGF0aWMgY29uc3QgY2hhciAqY29sbmFtZXNbXSA9IHsgTl8oIlN0YXJ0IiksIE5fKCJFbmQiKSwgTl8oIlNlY3RvcnMiKSwgTl8oIlNpemUiKSB9OworCXN0YXRpYyBjb25zdCBpbnQgY29saWRzW10gPSB7IEZESVNLX0ZJRUxEX1NUQVJULCBGRElTS19GSUVMRF9FTkQsIEZESVNLX0ZJRUxEX1NFQ1RPUlMsIEZESVNLX0ZJRUxEX1NJWkUgfTsKKworCWlmIChmZGlza19nZXRfZnJlZXNwYWNlcyhjeHQsICZ0YikpCisJCWdvdG8gZG9uZTsKKworCWl0ciA9IGZkaXNrX25ld19pdGVyKEZESVNLX0lURVJfRk9SV0FSRCk7CisJaWYgKCFpdHIpIHsKKwkJZmRpc2tfd2FybihjeHQsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBpdGVyYXRvciIpKTsKKwkJZ290byBkb25lOworCX0KKworCW91dCA9IHNjb2xzX25ld190YWJsZSgpOworCWlmICghb3V0KSB7CisJCWZkaXNrX3dhcm4oY3h0LCBfKCJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IHRhYmxlIikpOworCQlnb3RvIGRvbmU7CisJfQorCisJaWYgKGNvbG9yc193YW50ZWQoKSkgeworCQlzY29sc190YWJsZV9lbmFibGVfY29sb3JzKG91dCwgMSk7CisJCWJvbGQgPSBjb2xvcl9zY2hlbWVfZ2V0X3NlcXVlbmNlKCJoZWFkZXIiLCBVTF9DT0xPUl9CT0xEKTsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShjb2xuYW1lcyk7IGkrKykgeworCQlzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbyA9IHNjb2xzX3RhYmxlX25ld19jb2x1bW4ob3V0LCBfKGNvbG5hbWVzW2ldKSwgNSwgU0NPTFNfRkxfUklHSFQpOworCisJCWlmICghY28pCisJCQlnb3RvIGRvbmU7CisJCWlmIChib2xkKQorCQkJc2NvbHNfY2VsbF9zZXRfY29sb3Ioc2NvbHNfY29sdW1uX2dldF9oZWFkZXIoY28pLCBib2xkKTsKKwl9CisKKwkvKiBmaWxsLWluIG91dHB1dCB0YWJsZSAqLworCXdoaWxlIChmZGlza190YWJsZV9uZXh0X3BhcnRpdGlvbih0YiwgaXRyLCAmcGEpID09IDApIHsKKwkJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuID0gc2NvbHNfdGFibGVfbmV3X2xpbmUob3V0LCBOVUxMKTsKKwkJY2hhciAqZGF0YTsKKworCQlpZiAoIWxuKSB7CisJCQlmZGlza193YXJuKGN4dCwgXygiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBsaW5lIikpOworCQkJZ290byBkb25lOworCQl9CisJCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGNvbGlkcyk7IGkrKykgeworCQkJaWYgKGZkaXNrX3BhcnRpdGlvbl90b19zdHJpbmcocGEsIGN4dCwgY29saWRzW2ldLCAmZGF0YSkpCisJCQkJY29udGludWU7CisJCQlzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIGksIGRhdGEpOworCQl9CisKKwkJaWYgKGZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkpCisJCQlzdW1zaXplICs9IGZkaXNrX3BhcnRpdGlvbl9nZXRfc2l6ZShwYSk7CisJfQorCisJYnl0ZXMgPSBzdW1zaXplICogZmRpc2tfZ2V0X3NlY3Rvcl9zaXplKGN4dCk7CisJc3Ryc3ogPSBzaXplX3RvX2h1bWFuX3N0cmluZyhTSVpFX1NVRkZJWF9TUEFDRQorCQkJCQkgICB8IFNJWkVfU1VGRklYXzNMRVRURVIsIGJ5dGVzKTsKKworCWNvbG9yX3NjaGVtZV9lbmFibGUoImhlYWRlciIsIFVMX0NPTE9SX0JPTEQpOworCWZkaXNrX2luZm8oY3h0LAlfKCJVbnBhcnRpdGlvbmVkIHNwYWNlICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIpLAorCQkJZmRpc2tfZ2V0X2Rldm5hbWUoY3h0KSwgc3Ryc3osCisJCQlieXRlcywgc3Vtc2l6ZSk7CisJY29sb3JfZGlzYWJsZSgpOworCWZyZWUoc3Ryc3opOworCisJZmRpc2tfaW5mbyhjeHQsIF8oIlVuaXRzOiAlcyBvZiAlZCAqICVsZCA9ICVsZCBieXRlcyIpLAorCSAgICAgICBmZGlza19nZXRfdW5pdChjeHQsIEZESVNLX1BMVVJBTCksCisJICAgICAgIGZkaXNrX2dldF91bml0c19wZXJfc2VjdG9yKGN4dCksCisJICAgICAgIGZkaXNrX2dldF9zZWN0b3Jfc2l6ZShjeHQpLAorCSAgICAgICBmZGlza19nZXRfdW5pdHNfcGVyX3NlY3RvcihjeHQpICogZmRpc2tfZ2V0X3NlY3Rvcl9zaXplKGN4dCkpOworCisJZmRpc2tfaW5mbyhjeHQsIF8oIlNlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIiksCisJCQkJZmRpc2tfZ2V0X3NlY3Rvcl9zaXplKGN4dCksCisJCQkJZmRpc2tfZ2V0X3BoeXNlY3Rvcl9zaXplKGN4dCkpOworCisJLyogcHJpbnQgKi8KKwlpZiAoIXNjb2xzX3RhYmxlX2lzX2VtcHR5KG91dCkpIHsKKwkJZmRpc2tfaW5mbyhjeHQsICIiKTsJLyogbGluZSBicmVhayAqLworCQlzY29sc19wcmludF90YWJsZShvdXQpOworCX0KK2RvbmU6CisJc2NvbHNfdW5yZWZfdGFibGUob3V0KTsKKwlmZGlza191bnJlZl90YWJsZSh0Yik7CisJZmRpc2tfZnJlZV9pdGVyKGl0cik7Cit9CisKK2NoYXIgKm5leHRfcHJvY19wYXJ0aXRpb24oRklMRSAqKmYpCit7CisJY2hhciBsaW5lWzEyOCArIDFdOworCisJaWYgKCEqZikgeworCQkqZiA9IGZvcGVuKF9QQVRIX1BST0NfUEFSVElUSU9OUywgInIiKTsKKwkJaWYgKCEqZikgeworCQkJd2FybihfKCJjYW5ub3Qgb3BlbiAlcyIpLCBfUEFUSF9QUk9DX1BBUlRJVElPTlMpOworCQkJcmV0dXJuIE5VTEw7CisJCX0KKwl9CisKKwl3aGlsZSAoZmdldHMobGluZSwgc2l6ZW9mKGxpbmUpLCAqZikpIHsKKwkJY2hhciBidWZbUEFUSF9NQVhdLCAqY247CisJCWRldl90IGRldm5vOworCisJCWlmIChzc2NhbmYobGluZSwgIiAlKmQgJSpkICUqZCAlMTI4W15cbiBdIiwgYnVmKSAhPSAxKQorCQkJY29udGludWU7CisKKwkJZGV2bm8gPSBzeXNmc19kZXZuYW1lX3RvX2Rldm5vKGJ1ZiwgTlVMTCk7CisJCWlmIChkZXZubyA8PSAwKQorCQkJY29udGludWU7CisKKwkJaWYgKHN5c2ZzX2Rldm5vX2lzX2x2bV9wcml2YXRlKGRldm5vKSB8fAorCQkgICAgc3lzZnNfZGV2bm9faXNfd2hvbGVkaXNrKGRldm5vKSA8PSAwKQorCQkJY29udGludWU7CisKKwkJaWYgKCFzeXNmc19kZXZub190b19kZXZwYXRoKGRldm5vLCBidWYsIHNpemVvZihidWYpKSkKKwkJCWNvbnRpbnVlOworCisJCWNuID0gY2Fub25pY2FsaXplX3BhdGgoYnVmKTsKKwkJaWYgKCFjbikKKwkJCWNvbnRpbnVlOworCisJCWlmICghaXNfaWRlX2Nkcm9tX29yX3RhcGUoY24pKQorCQkJcmV0dXJuIGNuOworCX0KKwlmY2xvc2UoKmYpOworCSpmID0gTlVMTDsKKworCXJldHVybiBOVUxMOworfQorCitpbnQgcHJpbnRfZGV2aWNlX3B0KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGNoYXIgKmRldmljZSwgaW50IHdhcm5tZSwgaW50IHZlcmlmeSkKK3sKKwlpZiAoZmRpc2tfYXNzaWduX2RldmljZShjeHQsIGRldmljZSwgMSkgIT0gMCkgewkvKiByZWFkLW9ubHkgKi8KKwkJaWYgKHdhcm5tZSB8fCBlcnJubyA9PSBFQUNDRVMpCisJCQl3YXJuKF8oImNhbm5vdCBvcGVuICVzIiksIGRldmljZSk7CisJCXJldHVybiAtMTsKKwl9CisKKwlsaXN0X2Rpc2tfZ2VvbWV0cnkoY3h0KTsKKworCWlmIChmZGlza19oYXNfbGFiZWwoY3h0KSkgeworCQlsaXN0X2Rpc2tsYWJlbChjeHQpOworCQlpZiAodmVyaWZ5KQorCQkJZmRpc2tfdmVyaWZ5X2Rpc2tsYWJlbChjeHQpOworCX0KKwlmZGlza19kZWFzc2lnbl9kZXZpY2UoY3h0LCAxKTsKKwlyZXR1cm4gMDsKK30KKworaW50IHByaW50X2RldmljZV9mcmVlc3BhY2Uoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgY2hhciAqZGV2aWNlLCBpbnQgd2Fybm1lKQoreworCWlmIChmZGlza19hc3NpZ25fZGV2aWNlKGN4dCwgZGV2aWNlLCAxKSAhPSAwKSB7CS8qIHJlYWQtb25seSAqLworCQlpZiAod2Fybm1lIHx8IGVycm5vID09IEVBQ0NFUykKKwkJCXdhcm4oXygiY2Fubm90IG9wZW4gJXMiKSwgZGV2aWNlKTsKKwkJcmV0dXJuIC0xOworCX0KKworCWxpc3RfZnJlZXNwYWNlKGN4dCk7CisJZmRpc2tfZGVhc3NpZ25fZGV2aWNlKGN4dCwgMSk7CisJcmV0dXJuIDA7Cit9CisKK3ZvaWQgcHJpbnRfYWxsX2RldmljZXNfcHQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgaW50IHZlcmlmeSkKK3sKKwlGSUxFICpmID0gTlVMTDsKKwlpbnQgY3QgPSAwOworCWNoYXIgKmRldjsKKworCXdoaWxlICgoZGV2ID0gbmV4dF9wcm9jX3BhcnRpdGlvbigmZikpKSB7CisJCWlmIChjdCkKKwkJCWZwdXRzKCJcblxuIiwgc3Rkb3V0KTsKKwkJaWYgKHByaW50X2RldmljZV9wdChjeHQsIGRldiwgMCwgdmVyaWZ5KSA9PSAwKQorCQkJY3QrKzsKKwkJZnJlZShkZXYpOworCX0KK30KKwordm9pZCBwcmludF9hbGxfZGV2aWNlc19mcmVlc3BhY2Uoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlGSUxFICpmID0gTlVMTDsKKwlpbnQgY3QgPSAwOworCWNoYXIgKmRldjsKKworCXdoaWxlICgoZGV2ID0gbmV4dF9wcm9jX3BhcnRpdGlvbigmZikpKSB7CisJCWlmIChjdCkKKwkJCWZwdXRzKCJcblxuIiwgc3Rkb3V0KTsKKwkJaWYgKHByaW50X2RldmljZV9mcmVlc3BhY2UoY3h0LCBkZXYsIDApID09IDApCisJCQljdCsrOworCQlmcmVlKGRldik7CisJfQorfQorCisvKiB1c2FibGUgZm9yIGV4YW1wbGUgaW4gdXNhZ2UoKSAqLwordm9pZCBsaXN0X2F2YWlsYWJsZV9jb2x1bW5zKEZJTEUgKm91dCkKK3sKKwlzaXplX3QgaTsKKwlpbnQgdGVybXdpZHRoOworCXN0cnVjdCBmZGlza19sYWJlbCAqbGIgPSBOVUxMOworCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQgPSBmZGlza19uZXdfY29udGV4dCgpOworCisJaWYgKCFjeHQpCisJCXJldHVybjsKKworCXRlcm13aWR0aCA9IGdldF90ZXJtaW5hbF93aWR0aCg4MCk7CisKKwlmcHJpbnRmKG91dCwgXygiXG5BdmFpbGFibGUgY29sdW1ucyAoZm9yIC1vKTpcbiIpKTsKKworCXdoaWxlIChmZGlza19uZXh0X2xhYmVsKGN4dCwgJmxiKSA9PSAwKSB7CisJCXNpemVfdCB3aWR0aCA9IDY7CS8qIGxhYmVsIG5hbWUgYW5kIHNlcGFyYXRvcnMgKi8KKworCQlmcHJpbnRmKG91dCwgIiAlczoiLCBmZGlza19sYWJlbF9nZXRfbmFtZShsYikpOworCQlmb3IgKGkgPSAxOyBpIDwgRkRJU0tfTkZJRUxEUzsgaSsrKSB7CisJCQljb25zdCBzdHJ1Y3QgZmRpc2tfZmllbGQgKmZsID0gZmRpc2tfbGFiZWxfZ2V0X2ZpZWxkKGxiLCBpKTsKKwkJCWNvbnN0IGNoYXIgKm5hbWUgPSBmbCA/IGZkaXNrX2ZpZWxkX2dldF9uYW1lKGZsKSA6IE5VTEw7CisJCQlzaXplX3QgbGVuOworCisJCQlpZiAoIW5hbWUpCisJCQkJY29udGludWU7CisJCQlsZW4gPSBzdHJsZW4obmFtZSkgKyAxOworCQkJaWYgKHdpZHRoICsgbGVuID4gKHNpemVfdCkgdGVybXdpZHRoKSB7CisJCQkJZnB1dHMoIlxuICAgICAiLCBvdXQpOworCQkJCXdpZHRoID0gNjsKKwkJCX0KKwkJCWZwcmludGYob3V0LCAiICVzIiwgbmFtZSk7CisJCQl3aWR0aCArPSBsZW47CisJCX0KKwkJZnB1dGMoJ1xuJywgb3V0KTsKKwl9CisKKwlmZGlza191bnJlZl9jb250ZXh0KGN4dCk7Cit9CisKK3N0YXRpYyBpbnQgZmllbGRuYW1lX3RvX2lkKGNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBuYW1lc3opCit7CisJY29uc3Qgc3RydWN0IGZkaXNrX2ZpZWxkICpmbDsKKwljaGFyIGJ1ZltuYW1lc3ogKyAxXTsKKworCWFzc2VydChuYW1lKTsKKwlhc3NlcnQobmFtZXN6KTsKKwlhc3NlcnQoZmllbGRzX2xhYmVsKTsKKworCW1lbWNweShidWYsIG5hbWUsIG5hbWVzeik7CisJYnVmW25hbWVzel0gPSAnXDAnOworCisJZmwgPSBmZGlza19sYWJlbF9nZXRfZmllbGRfYnlfbmFtZShmaWVsZHNfbGFiZWwsIGJ1Zik7CisJaWYgKCFmbCkgeworCQl3YXJueChfKCIlcyB1bmtub3duIGNvbHVtbjogJXMiKSwKKwkJCQlmZGlza19sYWJlbF9nZXRfbmFtZShmaWVsZHNfbGFiZWwpLCBidWYpOworCQlyZXR1cm4gLTE7CisJfQorCXJldHVybiBmZGlza19maWVsZF9nZXRfaWQoZmwpOworfQorCisvKgorICogSW5pdGlhbGl6ZSBhcnJheSB3aXRoIG91dHB1dCBjb2x1bW5zIChmaWVsZHNfaWRzW10pIGFjY29yZGluZyB0bworICogY29tbWEgZGVsaW1pdGVkIGxpc3Qgb2YgY29sdW1ucyAoQHN0cikuIElmIHRoZSBsaXN0IHN0cmluZyBpcyBub3QKKyAqIGRlZmluZWQgdGhlbiB1c2UgbGlicmFyeSBkZWZhdWx0cy4gVGhpcyBmdW5jdGlvbiBpcyAiLW8gPGxpc3Q+IgorICogYmFja2VuZC4KKyAqCisgKiBJZiB0aGUgY29sdW1ucyBhcmUgYWxyZWFkeSBpbml0aWFsaXplZCB0aGVuIHJldHVybnMgYWxyZWFkeSBleGlzdGluZyBjb2x1bW5zLgorICovCitpbnQgKmluaXRfZmllbGRzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKnN0ciwgc2l6ZV90ICpuKQoreworCWludCAqZGZsdF9pZHMgPSBOVUxMOworCXN0cnVjdCBmZGlza19sYWJlbCAqbGI7CisKKwlpZiAoIWZpZWxkc19zdHJpbmcpCisJCWZpZWxkc19zdHJpbmcgPSBzdHI7CisJaWYgKCFjeHQpCisJICAgICAgIGdvdG8gZG9uZTsKKworCWxiID0gZmRpc2tfZ2V0X2xhYmVsKGN4dCwgTlVMTCk7CisKKwlpZiAoIWxiIHx8IGZpZWxkc19sYWJlbCAhPSBsYikgewkvKiBsYWJlbCBjaGFuZ2VkOiByZXNldCAqLworCQlmcmVlKGZpZWxkc19pZHMpOworCQlmaWVsZHNfaWRzID0gTlVMTDsKKwkJZmllbGRzX2xhYmVsID0gbGI7CisJCWZpZWxkc19uaWRzID0gMDsKKwl9CisKKwlpZiAoIWZpZWxkc19sYWJlbCkJLyogIG5vIGxhYmVsICovCisJCWdvdG8gZG9uZTsKKwlpZiAoZmllbGRzX25pZHMpCisJCWdvdG8gZG9uZTsJLyogYWxyZWFkeSBpbml0aWFsaXplZCAqLworCisJLyogbGlicmFyeSBkZWZhdWx0ICovCisJaWYgKGZkaXNrX2xhYmVsX2dldF9maWVsZHNfaWRzKE5VTEwsIGN4dCwgJmRmbHRfaWRzLCAmZmllbGRzX25pZHMpKQorCQlnb3RvIGRvbmU7CisKKwlmaWVsZHNfaWRzID0geGNhbGxvYyhGRElTS19ORklFTERTICogMiwgc2l6ZW9mKGludCkpOworCisJLyogY29weSBkZWZhdWx0cyB0byB0aGUgbGlzdCB3aXRoIHdhbnRlZCBmaWVsZHMgKi8KKwltZW1jcHkoZmllbGRzX2lkcywgZGZsdF9pZHMsIGZpZWxkc19uaWRzICogc2l6ZW9mKGludCkpOworCWZyZWUoZGZsdF9pZHMpOworCisJLyogZXh0ZW5kIG9yIHJlcGxhY2UgZmllbGRzX25pZHNbXSBhY2NvcmRpbmcgdG8gZmllbGRzX3N0cmluZyAqLworCWlmIChmaWVsZHNfc3RyaW5nICYmCisJICAgIHN0cmluZ19hZGRfdG9faWRhcnJheShmaWVsZHNfc3RyaW5nLCBmaWVsZHNfaWRzLCBGRElTS19ORklFTERTICogMiwKKwkJCSAgICAgICAgICAmZmllbGRzX25pZHMsIGZpZWxkbmFtZV90b19pZCkgPCAwKQorCQlleGl0KEVYSVRfRkFJTFVSRSk7Citkb25lOgorCWZpZWxkc19sYWJlbCA9IE5VTEw7CisJaWYgKG4pCisJCSpuID0gZmllbGRzX25pZHM7CisJcmV0dXJuIGZpZWxkc19pZHM7Cit9CisKZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvZmRpc2stbGlzdC5oIGIvZGlzay11dGlscy9mZGlzay1saXN0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWRkYWI5MgotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvZmRpc2stbGlzdC5oCkBAIC0wLDAgKzEsNDYgQEAKKyNpZm5kZWYgVVRJTF9MSU5VWF9GRElTS19MSVNUX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9GRElTS19MSVNUX0gKKworZXh0ZXJuIHZvaWQgbGlzdF9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitleHRlcm4gdm9pZCBsaXN0X2Rpc2tfZ2VvbWV0cnkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitleHRlcm4gdm9pZCBsaXN0X2ZyZWVzcGFjZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKKworZXh0ZXJuIGNoYXIgKm5leHRfcHJvY19wYXJ0aXRpb24oRklMRSAqKmYpOworZXh0ZXJuIGludCBwcmludF9kZXZpY2VfcHQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgY2hhciAqZGV2aWNlLCBpbnQgd2Fybm1lLCBpbnQgdmVyaWZ5KTsKK2V4dGVybiBpbnQgcHJpbnRfZGV2aWNlX2ZyZWVzcGFjZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBjaGFyICpkZXZpY2UsIGludCB3YXJubWUpOworCitleHRlcm4gdm9pZCBwcmludF9hbGxfZGV2aWNlc19wdChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBpbnQgdmVyaWZ5KTsKK2V4dGVybiB2b2lkIHByaW50X2FsbF9kZXZpY2VzX2ZyZWVzcGFjZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKKworZXh0ZXJuIHZvaWQgbGlzdF9hdmFpbGFibGVfY29sdW1ucyhGSUxFICpvdXQpOworZXh0ZXJuIGludCAqaW5pdF9maWVsZHMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqc3RyLCBzaXplX3QgKm4pOworCisKKy8qIHVzZWQgYnkgZmRpc2sgYW5kIHNmZGlzayAqLworZW51bSB7CisJV0lQRU1PREVfQVVUTyA9IDAsCisJV0lQRU1PREVfTkVWRVIgPSAxLAorCVdJUEVNT0RFX0FMV0FZUyA9IDIKK307CisKK3N0YXRpYyBpbmxpbmUgaW50IHdpcGVtb2RlX2Zyb21fc3RyaW5nKGNvbnN0IGNoYXIgKnN0cikKK3sKKwlzaXplX3QgaTsKKwlzdGF0aWMgY29uc3QgY2hhciAqbW9kZXNbXSA9IHsKKwkJW1dJUEVNT0RFX0FVVE9dICAgPSAiYXV0byIsCisJCVtXSVBFTU9ERV9ORVZFUl0gID0gIm5ldmVyIiwKKwkJW1dJUEVNT0RFX0FMV0FZU10gPSAiYWx3YXlzIgorCX07CisKKwlpZiAoIXN0ciB8fCAhKnN0cikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShtb2Rlcyk7IGkrKykgeworCQlpZiAoc3RyY2FzZWNtcChzdHIsIG1vZGVzW2ldKSA9PSAwKQorCQkJcmV0dXJuIGk7CisJfQorCisJcmV0dXJuIC1FSU5WQUw7Cit9CisKKyNlbmRpZiAvKiBVVElMX0xJTlVYX0ZESVNLX0xJU1RfSCAqLwpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9mZGlzay1tZW51LmMgYi9kaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZWE1ZTNkCi0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9mZGlzay1tZW51LmMKQEAgLTAsMCArMSwxMDUzIEBACisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiZmRpc2suaCIKKyNpbmNsdWRlICJwdC1zdW4uaCIKKyNpbmNsdWRlICJwdC1tYnIuaCIKKworc3RydWN0IG1lbnVfZW50cnkgeworCWNvbnN0IGNoYXIJa2V5OwkJCS8qIGNvbW1hbmQga2V5ICovCisJY29uc3QgY2hhcgkqdGl0bGU7CQkJLyogaGVscCBzdHJpbmcgKi8KKwl1bnNpZ25lZCBpbnQJbm9ybWFsIDogMSwJCS8qIG5vcm1hbCBtb2RlICovCisJCQlleHBlcnQgOiAxLAkJLyogZXhwZXJ0IG1vZGUgKi8KKwkJCWhpZGRlbiA6IDE7CQkvKiBiZSBzZW5zaXRpdmUgZm9yIHRoaXMga2V5LAorCQkJCQkJICAgYnV0IGRvbid0IHByaW50IGl0IGluIGhlbHAgKi8KKworCWVudW0gZmRpc2tfbGFiZWx0eXBlCWxhYmVsOwkJLyogb25seSBmb3IgdGhpcyBsYWJlbCAqLworCWludCAgICAgICAgICAgICAgICAgICAgIGV4Y2x1ZGU7ICAgIC8qIGFsbCBsYWJlbHMgZXhjZXB0IHRoZXNlICovCisJZW51bSBmZGlza19sYWJlbHR5cGUJcGFyZW50OwkJLyogZm9yIG5lc3RlZCBQVCAqLworfTsKKworI2RlZmluZSBJU19NRU5VX1NFUChlKQkoKGUpLT5rZXkgPT0gJy0nKQorI2RlZmluZSBJU19NRU5VX0hJRChlKQkoKGUpLT5oaWRkZW4pCisKK3N0cnVjdCBtZW51IHsKKwllbnVtIGZkaXNrX2xhYmVsdHlwZQlsYWJlbDsJCS8qIG9ubHkgZm9yIHRoaXMgbGFiZWwgKi8KKwlpbnQgICAgICAgICAgICAgICAgICAgICBleGNsdWRlOyAgICAvKiBhbGwgbGFiZWxzIGV4Y2VwdCB0aGVzZSAqLworCisJdW5zaWduZWQgaW50CQlub25lc3RlZCA6IDE7CS8qIGRvbid0IG1ha2UgdGhpcyBtZW51IGFjdGl2ZSBpbiBuZXN0ZWQgUFQgKi8KKworCWludCAoKmNhbGxiYWNrKShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqKiwKKwkJCWNvbnN0IHN0cnVjdCBtZW51ICosCisJCQljb25zdCBzdHJ1Y3QgbWVudV9lbnRyeSAqKTsKKworCXN0cnVjdCBtZW51X2VudHJ5CWVudHJpZXNbXTsJLyogTlVMTCB0ZXJtaW5hdGVkIGFycmF5ICovCit9OworCitzdHJ1Y3QgbWVudV9jb250ZXh0IHsKKwlzaXplX3QJCW1lbnVfaWR4OwkJLyogdGhlIGN1cnJlbnQgbWVudSAqLworCXNpemVfdAkJZW50cnlfaWR4OwkJLyogaW5kZXggd2l0aCBpbiB0aGUgY3VycmVudCBtZW51ICovCit9OworCisjZGVmaW5lIE1FTlVfQ1hUX0VNUFRZCXsgMCwgMCB9CisjZGVmaW5lIERFQ0xBUkVfTUVOVV9DQih4KSBcCisJc3RhdGljIGludCB4KHN0cnVjdCBmZGlza19jb250ZXh0ICoqLCBcCisJCSAgICAgY29uc3Qgc3RydWN0IG1lbnUgKiwgXAorCQkgICAgIGNvbnN0IHN0cnVjdCBtZW51X2VudHJ5ICopCisKK0RFQ0xBUkVfTUVOVV9DQihncHRfbWVudV9jYik7CitERUNMQVJFX01FTlVfQ0Ioc3VuX21lbnVfY2IpOworREVDTEFSRV9NRU5VX0NCKHNnaV9tZW51X2NiKTsKK0RFQ0xBUkVfTUVOVV9DQihnZW9fbWVudV9jYik7CitERUNMQVJFX01FTlVfQ0IoZG9zX21lbnVfY2IpOworREVDTEFSRV9NRU5VX0NCKGJzZF9tZW51X2NiKTsKK0RFQ0xBUkVfTUVOVV9DQihjcmVhdGVsYWJlbF9tZW51X2NiKTsKK0RFQ0xBUkVfTUVOVV9DQihnZW5lcmljX21lbnVfY2IpOworCisvKgorICogTWVudSBlbnRyeSBtYWNyb3M6CisgKglNRU5VX1gqICAgIGV4cGVydCBtb2RlIG9ubHkKKyAqICAgICAgTUVOVV9CKiAgICBib3RoIC0tIGV4cGVydCArIG5vcm1hbCBtb2RlCisgKgorICogICAgICAqX0UgIGV4Y2x1ZGUgdGhpcyBsYWJlbAorICogICAgICAqX0ggIGhpZGRlbgorICogICAgICAqX0wgIG9ubHkgZm9yIHRoaXMgbGFiZWwKKyAqLworCisvKiBzZXBhcmF0b3IgKi8KKyNkZWZpbmUgTUVOVV9TRVAodCkJCXsgLnRpdGxlID0gdCwgLmtleSA9ICctJywgLm5vcm1hbCA9IDEgfQorI2RlZmluZSBNRU5VX1hTRVAodCkJCXsgLnRpdGxlID0gdCwgLmtleSA9ICctJywgLmV4cGVydCA9IDEgfQorI2RlZmluZSBNRU5VX0JTRVAodCkJCXsgLnRpdGxlID0gdCwgLmtleSA9ICctJywgLmV4cGVydCA9IDEsIC5ub3JtYWwgPSAxIH0KKworLyogZW50cnkgKi8KKyNkZWZpbmUgTUVOVV9FTlQoaywgdCkJCXsgLnRpdGxlID0gdCwgLmtleSA9IGssIC5ub3JtYWwgPSAxIH0KKyNkZWZpbmUgTUVOVV9FTlRfRShrLCB0LCBsKQl7IC50aXRsZSA9IHQsIC5rZXkgPSBrLCAubm9ybWFsID0gMSwgLmV4Y2x1ZGUgPSBsIH0KKyNkZWZpbmUgTUVOVV9FTlRfTChrLCB0LCBsKQl7IC50aXRsZSA9IHQsIC5rZXkgPSBrLCAubm9ybWFsID0gMSwgLmxhYmVsID0gbCB9CisKKyNkZWZpbmUgTUVOVV9YRU5UKGssIHQpCQl7IC50aXRsZSA9IHQsIC5rZXkgPSBrLCAuZXhwZXJ0ID0gMSB9CisjZGVmaW5lIE1FTlVfWEVOVF9IKGssIHQpCXsgLnRpdGxlID0gdCwgLmtleSA9IGssIC5leHBlcnQgPSAxLCAuaGlkZGVuID0gMSB9CisKKyNkZWZpbmUgTUVOVV9CRU5UKGssIHQpCQl7IC50aXRsZSA9IHQsIC5rZXkgPSBrLCAuZXhwZXJ0ID0gMSwgLm5vcm1hbCA9IDEgfQorI2RlZmluZSBNRU5VX0JFTlRfRShrLCB0LCBsKQl7IC50aXRsZSA9IHQsIC5rZXkgPSBrLCAuZXhwZXJ0ID0gMSwgLm5vcm1hbCA9IDEsIC5leGNsdWRlID0gbCB9CisKKyNkZWZpbmUgTUVOVV9FTlRfTkVTVChrLCB0LCBsLCBwKQl7IC50aXRsZSA9IHQsIC5rZXkgPSBrLCAubm9ybWFsID0gMSwgLmxhYmVsID0gbCwgLnBhcmVudCA9IHAgfQorI2RlZmluZSBNRU5VX1hFTlRfTkVTVChrLCB0LCBsLCBwKQl7IC50aXRsZSA9IHQsIC5rZXkgPSBrLCAuZXhwZXJ0ID0gMSwgLmxhYmVsID0gbCwgLnBhcmVudCA9IHAgfQorCisvKiBHZW5lcmljIG1lbnUgKi8KK3N0cnVjdCBtZW51IG1lbnVfZ2VuZXJpYyA9IHsKKwkuY2FsbGJhY2sJPSBnZW5lcmljX21lbnVfY2IsCisJLmVudHJpZXMJPSB7CisJCU1FTlVfQlNFUChOXygiR2VuZXJpYyIpKSwKKwkJTUVOVV9FTlQgICgnZCcsIE5fKCJkZWxldGUgYSBwYXJ0aXRpb24iKSksCisJCU1FTlVfRU5UICAoJ0YnLCBOXygibGlzdCBmcmVlIHVucGFydGl0aW9uZWQgc3BhY2UiKSksCisJCU1FTlVfRU5UICAoJ2wnLCBOXygibGlzdCBrbm93biBwYXJ0aXRpb24gdHlwZXMiKSksCisJCU1FTlVfRU5UICAoJ24nLCBOXygiYWRkIGEgbmV3IHBhcnRpdGlvbiIpKSwKKwkJTUVOVV9CRU5UICgncCcsIE5fKCJwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIikpLAorCQlNRU5VX0VOVCAgKCd0JywgTl8oImNoYW5nZSBhIHBhcnRpdGlvbiB0eXBlIikpLAorCQlNRU5VX0JFTlRfRSgndicsIE5fKCJ2ZXJpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZSIpLCBGRElTS19ESVNLTEFCRUxfQlNEKSwKKwkJTUVOVV9FTlQgICgnaScsIE5fKCJwcmludCBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIpKSwKKworCQlNRU5VX1hFTlQoJ2QnLCBOXygicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSB0aGUgZGV2aWNlIikpLAorCQlNRU5VX1hFTlQoJ0QnLCBOXygicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBkaXNrbGFiZWwgZnJvbSB0aGUgZGV2aWNlIikpLAorCQlNRU5VX1hFTlQoJ2YnLCBOXygiZml4IHBhcnRpdGlvbnMgb3JkZXIiKSksCisKKwkJTUVOVV9TRVAoTl8oIk1pc2MiKSksCisJCU1FTlVfQkVOVCAoJ20nLCBOXygicHJpbnQgdGhpcyBtZW51IikpLAorCQlNRU5VX0VOVF9FKCd1JywgTl8oImNoYW5nZSBkaXNwbGF5L2VudHJ5IHVuaXRzIiksIEZESVNLX0RJU0tMQUJFTF9HUFQpLAorCQlNRU5VX0VOVF9FKCd4JywgTl8oImV4dHJhIGZ1bmN0aW9uYWxpdHkgKGV4cGVydHMgb25seSkiKSwgRkRJU0tfRElTS0xBQkVMX0JTRCksCisKKwkJTUVOVV9TRVAoTl8oIlNjcmlwdCIpKSwKKwkJTUVOVV9FTlQgICgnSScsIE5fKCJsb2FkIGRpc2sgbGF5b3V0IGZyb20gc2ZkaXNrIHNjcmlwdCBmaWxlIikpLAorCQlNRU5VX0VOVCAgKCdPJywgTl8oImR1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIHNjcmlwdCBmaWxlIikpLAorCisJCU1FTlVfQlNFUChOXygiU2F2ZSAmIEV4aXQiKSksCisJCU1FTlVfRU5UX0UoJ3cnLCBOXygid3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdCIpLCBGRElTS19ESVNLTEFCRUxfQlNEKSwKKwkJTUVOVV9FTlRfTCgndycsIE5fKCJ3cml0ZSB0YWJsZSB0byBkaXNrIiksIEZESVNLX0RJU0tMQUJFTF9CU0QpLAorCQlNRU5VX0JFTlQgKCdxJywgTl8oInF1aXQgd2l0aG91dCBzYXZpbmcgY2hhbmdlcyIpKSwKKwkJTUVOVV9YRU5UICgncicsIE5fKCJyZXR1cm4gdG8gbWFpbiBtZW51IikpLAorCisJCU1FTlVfRU5UX05FU1QoJ3InLCBOXygicmV0dXJuIGZyb20gQlNEIHRvIERPUyIpLCBGRElTS19ESVNLTEFCRUxfQlNELCBGRElTS19ESVNLTEFCRUxfRE9TKSwKKworCQl7IDAsIE5VTEwgfQorCX0KK307CisKK3N0cnVjdCBtZW51IG1lbnVfY3JlYXRlbGFiZWwgPSB7CisJLmNhbGxiYWNrID0gY3JlYXRlbGFiZWxfbWVudV9jYiwKKwkuZXhjbHVkZSA9IEZESVNLX0RJU0tMQUJFTF9CU0QsCisJLm5vbmVzdGVkID0gMSwKKwkuZW50cmllcyA9IHsKKwkJTUVOVV9TRVAoTl8oIkNyZWF0ZSBhIG5ldyBsYWJlbCIpKSwKKwkJTUVOVV9FTlQoJ2cnLCBOXygiY3JlYXRlIGEgbmV3IGVtcHR5IEdQVCBwYXJ0aXRpb24gdGFibGUiKSksCisJCU1FTlVfRU5UKCdHJywgTl8oImNyZWF0ZSBhIG5ldyBlbXB0eSBTR0kgKElSSVgpIHBhcnRpdGlvbiB0YWJsZSIpKSwKKwkJTUVOVV9FTlQoJ28nLCBOXygiY3JlYXRlIGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUiKSksCisJCU1FTlVfRU5UKCdzJywgTl8oImNyZWF0ZSBhIG5ldyBlbXB0eSBTdW4gcGFydGl0aW9uIHRhYmxlIikpLAorCisJCS8qIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgLS0gYmUgc2Vuc2l0aXZlIHRvICdnJywgYnV0IGRvbid0CisJCSAqIHByaW50IGl0IGluIHRoZSBleHBlcnQgbWVudSAqLworCQlNRU5VX1hFTlRfSCgnZycsIE5fKCJjcmVhdGUgYW4gSVJJWCAoU0dJKSBwYXJ0aXRpb24gdGFibGUiKSksCisJCXsgMCwgTlVMTCB9CisJfQorfTsKKworc3RydWN0IG1lbnUgbWVudV9nZW8gPSB7CisJLmNhbGxiYWNrID0gZ2VvX21lbnVfY2IsCisJLmV4Y2x1ZGUgPSBGRElTS19ESVNLTEFCRUxfR1BUIHwgRkRJU0tfRElTS0xBQkVMX0JTRCwKKwkuZW50cmllcyA9IHsKKwkJTUVOVV9YU0VQKE5fKCJHZW9tZXRyeSIpKSwKKwkJTUVOVV9YRU5UKCdjJywgTl8oImNoYW5nZSBudW1iZXIgb2YgY3lsaW5kZXJzIikpLAorCQlNRU5VX1hFTlQoJ2gnLCBOXygiY2hhbmdlIG51bWJlciBvZiBoZWFkcyIpKSwKKwkJTUVOVV9YRU5UKCdzJywgTl8oImNoYW5nZSBudW1iZXIgb2Ygc2VjdG9ycy90cmFjayIpKSwKKwkJeyAwLCBOVUxMIH0KKwl9Cit9OworCitzdHJ1Y3QgbWVudSBtZW51X2dwdCA9IHsKKwkuY2FsbGJhY2sgPSBncHRfbWVudV9jYiwKKwkubGFiZWwgPSBGRElTS19ESVNLTEFCRUxfR1BULAorCS5lbnRyaWVzID0geworCQlNRU5VX1hTRVAoTl8oIkdQVCIpKSwKKwkJTUVOVV9YRU5UKCdpJywgTl8oImNoYW5nZSBkaXNrIEdVSUQiKSksCisJCU1FTlVfWEVOVCgnbicsIE5fKCJjaGFuZ2UgcGFydGl0aW9uIG5hbWUiKSksCisJCU1FTlVfWEVOVCgndScsIE5fKCJjaGFuZ2UgcGFydGl0aW9uIFVVSUQiKSksCisJCU1FTlVfWEVOVCgnbCcsIE5fKCJjaGFuZ2UgdGFibGUgbGVuZ3RoIikpLAorCQlNRU5VX1hFTlQoJ00nLCBOXygiZW50ZXIgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIikpLAorCisJCU1FTlVfWFNFUCgiIiksCisJCU1FTlVfWEVOVCgnQScsIE5fKCJ0b2dnbGUgdGhlIGxlZ2FjeSBCSU9TIGJvb3RhYmxlIGZsYWciKSksCisJCU1FTlVfWEVOVCgnQicsIE5fKCJ0b2dnbGUgdGhlIG5vIGJsb2NrIElPIHByb3RvY29sIGZsYWciKSksCisJCU1FTlVfWEVOVCgnUicsIE5fKCJ0b2dnbGUgdGhlIHJlcXVpcmVkIHBhcnRpdGlvbiBmbGFnIikpLAorCQlNRU5VX1hFTlQoJ1MnLCBOXygidG9nZ2xlIHRoZSBHVUlEIHNwZWNpZmljIGJpdHMiKSksCisKKwkJeyAwLCBOVUxMIH0KKwl9Cit9OworCitzdHJ1Y3QgbWVudSBtZW51X3N1biA9IHsKKwkuY2FsbGJhY2sgPSBzdW5fbWVudV9jYiwKKwkubGFiZWwgPSBGRElTS19ESVNLTEFCRUxfU1VOLAorCS5lbnRyaWVzID0geworCQlNRU5VX0JTRVAoTl8oIlN1biIpKSwKKwkJTUVOVV9FTlQoJ2EnLCBOXygidG9nZ2xlIHRoZSByZWFkLW9ubHkgZmxhZyIpKSwKKwkJTUVOVV9FTlQoJ2MnLCBOXygidG9nZ2xlIHRoZSBtb3VudGFibGUgZmxhZyIpKSwKKworCQlNRU5VX1hFTlQoJ2EnLCBOXygiY2hhbmdlIG51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIikpLAorCQlNRU5VX1hFTlQoJ2UnLCBOXygiY2hhbmdlIG51bWJlciBvZiBleHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIpKSwKKwkJTUVOVV9YRU5UKCdpJywgTl8oImNoYW5nZSBpbnRlcmxlYXZlIGZhY3RvciIpKSwKKwkJTUVOVV9YRU5UKCdvJywgTl8oImNoYW5nZSByb3RhdGlvbiBzcGVlZCAocnBtKSIpKSwKKwkJTUVOVV9YRU5UKCd5JywgTl8oImNoYW5nZSBudW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIikpLAorCQl7IDAsIE5VTEwgfQorCX0KK307CisKK3N0cnVjdCBtZW51IG1lbnVfc2dpID0geworCS5jYWxsYmFjayA9IHNnaV9tZW51X2NiLAorCS5sYWJlbCA9IEZESVNLX0RJU0tMQUJFTF9TR0ksCisJLmVudHJpZXMgPSB7CisJCU1FTlVfU0VQKE5fKCJTR0kiKSksCisJCU1FTlVfRU5UKCdhJywgTl8oInNlbGVjdCBib290YWJsZSBwYXJ0aXRpb24iKSksCisJCU1FTlVfRU5UKCdiJywgTl8oImVkaXQgYm9vdGZpbGUgZW50cnkiKSksCisJCU1FTlVfRU5UKCdjJywgTl8oInNlbGVjdCBzZ2kgc3dhcCBwYXJ0aXRpb24iKSksCisJCU1FTlVfRU5UKCdpJywgTl8oImNyZWF0ZSBTR0kgaW5mbyIpKSwKKwkJeyAwLCBOVUxMIH0KKwl9Cit9OworCitzdHJ1Y3QgbWVudSBtZW51X2RvcyA9IHsKKwkuY2FsbGJhY2sgPSBkb3NfbWVudV9jYiwKKwkubGFiZWwgPSBGRElTS19ESVNLTEFCRUxfRE9TLAorCS5lbnRyaWVzID0geworCQlNRU5VX0JTRVAoTl8oIkRPUyAoTUJSKSIpKSwKKwkJTUVOVV9FTlQoJ2EnLCBOXygidG9nZ2xlIGEgYm9vdGFibGUgZmxhZyIpKSwKKwkJTUVOVV9FTlQoJ2InLCBOXygiZWRpdCBuZXN0ZWQgQlNEIGRpc2tsYWJlbCIpKSwKKwkJTUVOVV9FTlQoJ2MnLCBOXygidG9nZ2xlIHRoZSBkb3MgY29tcGF0aWJpbGl0eSBmbGFnIikpLAorCisJCU1FTlVfWEVOVCgnYicsIE5fKCJtb3ZlIGJlZ2lubmluZyBvZiBkYXRhIGluIGEgcGFydGl0aW9uIikpLAorCQlNRU5VX1hFTlQoJ2knLCBOXygiY2hhbmdlIHRoZSBkaXNrIGlkZW50aWZpZXIiKSksCisKKwkJTUVOVV9YRU5UX05FU1QoJ00nLCBOXygicmV0dXJuIGZyb20gcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIHRvIEdQVCIpLAorCQkJCQlGRElTS19ESVNLTEFCRUxfRE9TLCBGRElTS19ESVNLTEFCRUxfR1BUKSwKKwkJeyAwLCBOVUxMIH0KKwl9Cit9OworCitzdHJ1Y3QgbWVudSBtZW51X2JzZCA9IHsKKwkuY2FsbGJhY2sgPSBic2RfbWVudV9jYiwKKwkubGFiZWwgPSBGRElTS19ESVNLTEFCRUxfQlNELAorCS5lbnRyaWVzID0geworCQlNRU5VX1NFUChOXygiQlNEIikpLAorCQlNRU5VX0VOVCgnZScsIE5fKCJlZGl0IGRyaXZlIGRhdGEiKSksCisJCU1FTlVfRU5UKCdpJywgTl8oImluc3RhbGwgYm9vdHN0cmFwIikpLAorCQlNRU5VX0VOVCgncycsIE5fKCJzaG93IGNvbXBsZXRlIGRpc2tsYWJlbCIpKSwKKwkJTUVOVV9FTlQoJ3gnLCBOXygibGluayBCU0QgcGFydGl0aW9uIHRvIG5vbi1CU0QgcGFydGl0aW9uIikpLAorCQl7IDAsIE5VTEwgfQorCX0KK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbWVudSAqbWVudXNbXSA9IHsKKwkmbWVudV9ncHQsCisJJm1lbnVfc3VuLAorCSZtZW51X3NnaSwKKwkmbWVudV9kb3MsCisJJm1lbnVfYnNkLAorCSZtZW51X2dlbywKKwkmbWVudV9nZW5lcmljLAorCSZtZW51X2NyZWF0ZWxhYmVsLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBtZW51X2VudHJ5ICpuZXh0X21lbnVfZW50cnkoCisJCQlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJc3RydWN0IG1lbnVfY29udGV4dCAqbWMpCit7CisJc3RydWN0IGZkaXNrX2xhYmVsICpsYiA9IGZkaXNrX2dldF9sYWJlbChjeHQsIE5VTEwpOworCXN0cnVjdCBmZGlza19jb250ZXh0ICpwYXJlbnQgPSBmZGlza19nZXRfcGFyZW50KGN4dCk7CisJdW5zaWduZWQgaW50IHR5cGUgPSAwLCBwcl90eXBlID0gMDsKKworCWFzc2VydChjeHQpOworCisJaWYgKGxiKQorCQl0eXBlID0gZmRpc2tfbGFiZWxfZ2V0X3R5cGUobGIpOworCWlmIChwYXJlbnQpCisJCXByX3R5cGUgPSBmZGlza19sYWJlbF9nZXRfdHlwZShmZGlza19nZXRfbGFiZWwocGFyZW50LCBOVUxMKSk7CisKKwl3aGlsZSAobWMtPm1lbnVfaWR4IDwgQVJSQVlfU0laRShtZW51cykpIHsKKwkJY29uc3Qgc3RydWN0IG1lbnUgKm0gPSBtZW51c1ttYy0+bWVudV9pZHhdOworCQljb25zdCBzdHJ1Y3QgbWVudV9lbnRyeSAqZSA9ICYobS0+ZW50cmllc1ttYy0+ZW50cnlfaWR4XSk7CisKKwkJLyoKKwkJICogd2hvbGUtbWVudSBmaWx0ZXIKKwkJICovCisKKwkJLyogbm8gbW9yZSBlbnRyaWVzICovCisJCWlmIChlLT50aXRsZSA9PSBOVUxMIHx8CisJCS8qIG1lbnUgd2FudGVkIGZvciBzcGVjaWZpZWQgbGFiZWxzIG9ubHkgKi8KKwkJICAgIChtLT5sYWJlbCAmJiBsYiAmJiAhKG0tPmxhYmVsICYgdHlwZSkpIHx8CisJCS8qIHVud2FudGVkIGZvciBuZXN0ZWQgUFQgKi8KKwkJICAgIChtLT5ub25lc3RlZCAmJiBwYXJlbnQpIHx8CisJCS8qIG1lbnUgZXhjbHVkZWQgZm9yIHNwZWNpZmllZCBsYWJlbHMgKi8KKwkJICAgIChtLT5leGNsdWRlICYmIGxiICYmIChtLT5leGNsdWRlICYgdHlwZSkpKSB7CisJCQltYy0+bWVudV9pZHgrKzsKKwkJCW1jLT5lbnRyeV9pZHggPSAwOworCQkJY29udGludWU7CisJCX0KKworCQkvKgorCQkgKiBwZXIgZW50cnkgZmlsdGVyCisJCSAqLworCisJCS8qIGV4Y2x1ZGVkIGZvciB0aGUgY3VycmVudCBsYWJlbCAqLworCQlpZiAoKGUtPmV4Y2x1ZGUgJiYgbGIgJiYgZS0+ZXhjbHVkZSAmIHR5cGUpIHx8CisJCS8qIGVudHJ5IHdhbnRlZCBmb3Igc3BlY2lmaWVkIGxhYmVscyBvbmx5ICovCisJCSAgICAoZS0+bGFiZWwgJiYgbGIgJiYgIShlLT5sYWJlbCAmIHR5cGUpKSB8fAorCQkvKiBleGNsdWRlIG5vbi1leHBlcnQgZW50cmllcyBpbiBleHBlY3QgbW9kZSAqLworCQkgICAgKGUtPmV4cGVydCA9PSAwICYmIGZkaXNrX2lzX2RldGFpbHMoY3h0KSkgfHwKKwkJLyogbmVzdGVkIG9ubHkgKi8KKwkJICAgIChlLT5wYXJlbnQgJiYgKCFwYXJlbnQgfHwgcHJfdHlwZSAhPSBlLT5wYXJlbnQpKSB8fAorCQkvKiBleGNsdWRlIG5vbi1ub3JtYWwgZW50cmllcyBpbiBub3JtYWwgbW9kZSAqLworCQkgICAgKGUtPm5vcm1hbCA9PSAwICYmICFmZGlza19pc19kZXRhaWxzKGN4dCkpKSB7CisJCQltYy0+ZW50cnlfaWR4Kys7CisJCQljb250aW51ZTsKKwkJfQorCQltYy0+ZW50cnlfaWR4Kys7CisJCXJldHVybiBlOworCisJfQorCXJldHVybiBOVUxMOworfQorCisvKiByZXR1cm5zIEBtZW51IGFuZCBtZW51IGVudHJ5IGZvciB0aGVuIEBrZXkgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbWVudV9lbnRyeSAqZ2V0X2ZkaXNrX21lbnVfZW50cnkoCisJCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCWludCBrZXksCisJCWNvbnN0IHN0cnVjdCBtZW51ICoqbWVudSkKK3sKKwlzdHJ1Y3QgbWVudV9jb250ZXh0IG1jID0gTUVOVV9DWFRfRU1QVFk7CisJY29uc3Qgc3RydWN0IG1lbnVfZW50cnkgKmU7CisKKwl3aGlsZSAoKGUgPSBuZXh0X21lbnVfZW50cnkoY3h0LCAmbWMpKSkgeworCQlpZiAoSVNfTUVOVV9TRVAoZSkgfHwgZS0+a2V5ICE9IGtleSkKKwkJCWNvbnRpbnVlOworCisJCWlmIChtZW51KQorCQkJKm1lbnUgPSBtZW51c1ttYy5tZW51X2lkeF07CisJCXJldHVybiBlOworCX0KKworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgaW50IG1lbnVfZGV0ZWN0X2NvbGxpc2lvbnMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgbWVudV9jb250ZXh0IG1jID0gTUVOVV9DWFRfRU1QVFk7CisJY29uc3Qgc3RydWN0IG1lbnVfZW50cnkgKmUsICpyOworCisJd2hpbGUgKChlID0gbmV4dF9tZW51X2VudHJ5KGN4dCwgJm1jKSkpIHsKKwkJaWYgKElTX01FTlVfU0VQKGUpKQorCQkJY29udGludWU7CisKKwkJciA9IGdldF9mZGlza19tZW51X2VudHJ5KGN4dCwgZS0+a2V5LCBOVUxMKTsKKwkJaWYgKCFyKSB7CisJCQlEQkcoTUVOVSwgdWxfZGVidWcoIndhcm5pbmc6IG5vdCBmb3VuZCAiCisJCQkJCSJlbnRyeSBmb3IgJWMiLCBlLT5rZXkpKTsKKwkJCXJldHVybiAtMTsKKwkJfQorCQlpZiAociAhPSBlKSB7CisJCQlEQkcoTUVOVSwgdWxfZGVidWcoIndhcm5pbmc6IGR1cGxpY2F0ZSBrZXkgJyVjJyIsCisJCQkJCQllLT5rZXkpKTsKKwkJCURCRyhNRU5VLCB1bF9kZWJ1ZygiICAgICAgIDogJXMiLCBlLT50aXRsZSkpOworCQkJREJHKE1FTlUsIHVsX2RlYnVnKCIgICAgICAgOiAlcyIsIHItPnRpdGxlKSk7CisJCQlhYm9ydCgpOworCQl9CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHJpbnRfZmRpc2tfbWVudShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBtZW51X2NvbnRleHQgbWMgPSBNRU5VX0NYVF9FTVBUWTsKKwljb25zdCBzdHJ1Y3QgbWVudV9lbnRyeSAqZTsKKworCU9OX0RCRyhNRU5VLCBtZW51X2RldGVjdF9jb2xsaXNpb25zKGN4dCkpOworCisJaWYgKGZkaXNrX2lzX2RldGFpbHMoY3h0KSkKKwkJcHJpbnRmKF8oIlxuSGVscCAoZXhwZXJ0IGNvbW1hbmRzKTpcbiIpKTsKKwllbHNlCisJCXByaW50ZihfKCJcbkhlbHA6XG4iKSk7CisKKwl3aGlsZSAoKGUgPSBuZXh0X21lbnVfZW50cnkoY3h0LCAmbWMpKSkgeworCQlpZiAoSVNfTUVOVV9ISUQoZSkpCisJCQljb250aW51ZTsJLyogaGlkZGVuIGVudHJ5ICovCisJCWlmIChJU19NRU5VX1NFUChlKSAmJiAoIWUtPnRpdGxlIHx8ICEqZS0+dGl0bGUpKQorCQkJcHJpbnRmKCJcbiIpOworCQllbHNlIGlmIChJU19NRU5VX1NFUChlKSkgeworCQkJY29sb3Jfc2NoZW1lX2VuYWJsZSgiaGVscC10aXRsZSIsIFVMX0NPTE9SX0JPTEQpOworCQkJcHJpbnRmKCJcbiAgJXNcbiIsIF8oZS0+dGl0bGUpKTsKKwkJCWNvbG9yX2Rpc2FibGUoKTsKKwkJfSBlbHNlCisJCQlwcmludGYoIiAgICVjICAgJXNcbiIsIGUtPmtleSwgXyhlLT50aXRsZSkpOworCX0KKwlmcHV0YygnXG4nLCBzdGRvdXQpOworCisJaWYgKGZkaXNrX2dldF9wYXJlbnQoY3h0KSkgeworCQlzdHJ1Y3QgZmRpc2tfbGFiZWwgKmwgPSBmZGlza19nZXRfbGFiZWwoY3h0LCBOVUxMKSwKKwkJCQkgICAqcCA9IGZkaXNrX2dldF9sYWJlbChmZGlza19nZXRfcGFyZW50KGN4dCksIE5VTEwpOworCisJCWZkaXNrX2luZm8oY3h0LCBfKCJZb3UncmUgZWRpdGluZyBuZXN0ZWQgJyVzJyBwYXJ0aXRpb24gdGFibGUsICIKKwkJCQkgICJwcmltYXJ5IHBhcnRpdGlvbiB0YWJsZSBpcyAnJXMnLiIpLAorCQkJCWZkaXNrX2xhYmVsX2dldF9uYW1lKGwpLAorCQkJCWZkaXNrX2xhYmVsX2dldF9uYW1lKHApKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyogQXNrcyBmb3IgY29tbWFuZCwgdmVyaWZ5IHRoZSBrZXkgYW5kIHBlcmZvcm0gdGhlIGNvbW1hbmQgb3IKKyAqIHJldHVybnMgdGhlIGNvbW1hbmQga2V5IGlmIG5vIGNhbGxiYWNrIGZvciB0aGUgY29tbWFuZCBpcworICogaW1wbGVtZW50ZWQuCisgKgorICogTm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gbWlnaHQgZXhjaGFuZ2UgdGhlIGNvbnRleHQgcG9pbnRlciB0bworICogc3dpdGNoIHRvIGFub3RoZXIgKG5lc3RlZCkgY29udGV4dC4KKyAqCisgKiBSZXR1cm5zOiA8MCBvbiBlcnJvcgorICogICAgICAgICAgIDAgb24gc3VjY2VzcyAodGhlIGNvbW1hbmQgcGVyZm9ybWVkKQorICogICAgICAgICAgPjAgaWYgbm8gY2FsbGJhY2sgKHRoZW4gcmV0dXJucyB0aGUga2V5KQorICovCitpbnQgcHJvY2Vzc19mZGlza19tZW51KHN0cnVjdCBmZGlza19jb250ZXh0ICoqY3h0MCkKK3sKKwlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0ID0gKmN4dDA7CisJY29uc3Qgc3RydWN0IG1lbnVfZW50cnkgKmVudDsKKwljb25zdCBzdHJ1Y3QgbWVudSAqbWVudTsKKwlpbnQga2V5LCByYzsKKwljb25zdCBjaGFyICpwcm9tcHQ7CisJY2hhciBidWZbQlVGU0laXTsKKworCWlmIChmZGlza19pc19kZXRhaWxzKGN4dCkpCisJCXByb21wdCA9IF8oIkV4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogIik7CisJZWxzZQorCQlwcm9tcHQgPSBfKCJDb21tYW5kIChtIGZvciBoZWxwKTogIik7CisKKwlmcHV0YygnXG4nLHN0ZG91dCk7CisJcmMgPSBnZXRfdXNlcl9yZXBseShjeHQsIHByb21wdCwgYnVmLCBzaXplb2YoYnVmKSk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwlrZXkgPSBidWZbMF07CisJZW50ID0gZ2V0X2ZkaXNrX21lbnVfZW50cnkoY3h0LCBrZXksICZtZW51KTsKKwlpZiAoIWVudCkgeworCQlmZGlza193YXJueChjeHQsIF8oIiVjOiB1bmtub3duIGNvbW1hbmQiKSwga2V5KTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJREJHKE1FTlUsIHVsX2RlYnVnKCJzZWxlY3RlZDoga2V5PSVjLCBlbnRyeT0nJXMnIiwKKwkJCQlrZXksIGVudC0+dGl0bGUpKTsKKworCS8qIG1lbnUgaGFzIGltcGxlbWVudGVkIGNhbGxiYWNrLCB1c2UgaXQgKi8KKwlpZiAobWVudS0+Y2FsbGJhY2spCisJCXJjID0gbWVudS0+Y2FsbGJhY2soY3h0MCwgbWVudSwgZW50KTsKKwllbHNlIHsKKwkJREJHKE1FTlUsIHVsX2RlYnVnKCJubyBjYWxsYmFjayBmb3Iga2V5ICclYyciLCBrZXkpKTsKKwkJcmMgPSAtRUlOVkFMOworCX0KKworCURCRyhNRU5VLCB1bF9kZWJ1ZygicHJvY2VzcyBtZW51IGRvbmUgW3JjPSVkXSIsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHNjcmlwdF9yZWFkKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IGZkaXNrX3NjcmlwdCAqc2MgPSBOVUxMOworCWNoYXIgKmZpbGVuYW1lID0gTlVMTDsKKwlpbnQgcmM7CisKKwlyYyA9IGZkaXNrX2Fza19zdHJpbmcoY3h0LCBfKCJFbnRlciBzY3JpcHQgZmlsZSBuYW1lIiksICZmaWxlbmFtZSk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwllcnJubyA9IDA7CisJc2MgPSBmZGlza19uZXdfc2NyaXB0X2Zyb21fZmlsZShjeHQsIGZpbGVuYW1lKTsKKwlpZiAoIXNjICYmIGVycm5vKQorCQlmZGlza193YXJuKGN4dCwgXygiQ2Fubm90IG9wZW4gJXMiKSwgZmlsZW5hbWUpOworCWVsc2UgaWYgKCFzYykKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJGYWlsZWQgdG8gcGFyc2Ugc2NyaXB0IGZpbGUgJXMiKSwgZmlsZW5hbWUpOworCWVsc2UgaWYgKGZkaXNrX2FwcGx5X3NjcmlwdChjeHQsIHNjKSAhPSAwKQorCQlmZGlza193YXJueChjeHQsIF8oIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgJXMiKSwgZmlsZW5hbWUpOworCWVsc2UKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIlNjcmlwdCBzdWNjZXNzZnVsbHkgYXBwbGllZC4iKSk7CisKKwlmZGlza191bnJlZl9zY3JpcHQoc2MpOworCWZyZWUoZmlsZW5hbWUpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBzY3JpcHRfd3JpdGUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpzYyA9IE5VTEw7CisJY2hhciAqZmlsZW5hbWUgPSBOVUxMOworCUZJTEUgKmYgPSBOVUxMOworCWludCByYzsKKworCXJjID0gZmRpc2tfYXNrX3N0cmluZyhjeHQsIF8oIkVudGVyIHNjcmlwdCBmaWxlIG5hbWUiKSwgJmZpbGVuYW1lKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCXNjID0gZmRpc2tfbmV3X3NjcmlwdChjeHQpOworCWlmICghc2MpIHsKKwkJZmRpc2tfd2FybihjeHQsIF8oIkZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIpKTsKKwkJZ290byBkb25lOworCX0KKworCXJjID0gZmRpc2tfc2NyaXB0X3JlYWRfY29udGV4dChzYywgTlVMTCk7CisJaWYgKHJjKSB7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiRmFpbGVkIHRvIHRyYW5zZm9ybSBkaXNrIGxheW91dCBpbnRvIHNjcmlwdCIpKTsKKwkJZ290byBkb25lOworCX0KKworCWYgPSBmb3BlbihmaWxlbmFtZSwgInciKTsKKwlpZiAoIWYpIHsKKwkJZmRpc2tfd2FybihjeHQsIF8oIkNhbm5vdCBvcGVuICVzIiksIGZpbGVuYW1lKTsKKwkJZ290byBkb25lOworCX0KKworCXJjID0gZmRpc2tfc2NyaXB0X3dyaXRlX2ZpbGUoc2MsIGYpOworCWlmIChyYykKKwkJZmRpc2tfd2FybihjeHQsIF8oIkZhaWxlZCB0byB3cml0ZSBzY3JpcHQgJXMiKSwgZmlsZW5hbWUpOworCWVsc2UKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIlNjcmlwdCBzdWNjZXNzZnVsbHkgc2F2ZWQuIikpOworZG9uZToKKwlpZiAoZikKKwkJZmNsb3NlKGYpOworCWZkaXNrX3VucmVmX3NjcmlwdChzYyk7CisJZnJlZShmaWxlbmFtZSk7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IGFza19mb3Jfd2lwZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgcGFydG5vKQoreworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnRtcCA9IE5VTEw7CisJY2hhciAqZnN0eXBlID0gTlVMTDsKKwlpbnQgcmMsIHllcyA9IDA7CisKKwlyYyA9IGZkaXNrX2dldF9wYXJ0aXRpb24oY3h0LCBwYXJ0bm8sICZ0bXApOworCWlmIChyYykKKwkJZ290byBkb25lOworCisJcmMgPSBmZGlza19wYXJ0aXRpb25fdG9fc3RyaW5nKHRtcCwgY3h0LCBGRElTS19GSUVMRF9GU1RZUEUsICZmc3R5cGUpOworCWlmIChyYyB8fCBmc3R5cGUgPT0gTlVMTCkKKwkJZ290byBkb25lOworCisJZmRpc2tfd2FybngoY3h0LCBfKCJQYXJ0aXRpb24gIyV6dSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iKSwgcGFydG5vICsgMSwgZnN0eXBlKTsKKworCWlmIChwd2lwZW1vZGUgPT0gV0lQRU1PREVfQVVUTyAmJiBpc2F0dHkoU1RESU5fRklMRU5PKSkKKwkJZmRpc2tfYXNrX3llc25vKGN4dCwgXygiRG8geW91IHdhbnQgdG8gcmVtb3ZlIHRoZSBzaWduYXR1cmU/IiksICZ5ZXMpOworCWVsc2UgaWYgKHB3aXBlbW9kZSA9PSBXSVBFTU9ERV9BTFdBWVMpCisJCXllcyA9IDE7CisKKwlpZiAoeWVzKSB7CisJCWZkaXNrX2luZm8oY3h0LCBfKCJUaGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIikpOworCQlyYyA9IGZkaXNrX3dpcGVfcGFydGl0aW9uKGN4dCwgcGFydG5vLCBUUlVFKTsKKwl9Citkb25lOgorCWZkaXNrX3VucmVmX3BhcnRpdGlvbih0bXApOworCWZyZWUoZnN0eXBlKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBCYXNpYyBmZGlzayBhY3Rpb25zCisgKi8KK3N0YXRpYyBpbnQgZ2VuZXJpY19tZW51X2NiKHN0cnVjdCBmZGlza19jb250ZXh0ICoqY3h0MCwKKwkJICAgICAgIGNvbnN0IHN0cnVjdCBtZW51ICptZW51IF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwKKwkJICAgICAgIGNvbnN0IHN0cnVjdCBtZW51X2VudHJ5ICplbnQpCit7CisJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCA9ICpjeHQwOworCWludCByYyA9IDA7CisJc2l6ZV90IG47CisKKwkvKiBhY3Rpb25zIHNoYXJlZCBiZXR3ZWVuIGV4cGVydCBhbmQgbm9ybWFsIG1vZGUgKi8KKwlzd2l0Y2ggKGVudC0+a2V5KSB7CisJY2FzZSAncCc6CisJCWxpc3RfZGlza19nZW9tZXRyeShjeHQpOworCQlsaXN0X2Rpc2tsYWJlbChjeHQpOworCQlicmVhazsKKwljYXNlICd3JzoKKwkJaWYgKGZkaXNrX2lzX3JlYWRvbmx5KGN4dCkpIHsKKwkJCWZkaXNrX3dhcm54KGN4dCwgXygiRGV2aWNlIGlzIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUuIikpOworCQkJYnJlYWs7CisJCX0KKwkJcmMgPSBmZGlza193cml0ZV9kaXNrbGFiZWwoY3h0KTsKKwkJaWYgKHJjKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbCIpKTsKKwkJaWYgKGZkaXNrX2dldF9wYXJlbnQoY3h0KSkKKwkJCWJyZWFrOyAvKiBuZXN0ZWQgUFQsIGRvbid0IGxlYXZlICovCisJCWZkaXNrX2luZm8oY3h0LCBfKCJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIikpOworCQlyYyA9IGZkaXNrX3JlcmVhZF9wYXJ0aXRpb25fdGFibGUoY3h0KTsKKwkJaWYgKCFyYykKKwkJCXJjID0gZmRpc2tfZGVhc3NpZ25fZGV2aWNlKGN4dCwgMCk7CisJCS8qIGZhbGx0aHJvdWdoICovCisJY2FzZSAncSc6CisJCWZkaXNrX3VucmVmX2NvbnRleHQoY3h0KTsKKwkJZnB1dGMoJ1xuJywgc3Rkb3V0KTsKKwkJZXhpdChyYyA9PSAwID8gRVhJVF9TVUNDRVNTIDogRVhJVF9GQUlMVVJFKTsKKwljYXNlICdtJzoKKwkJcmMgPSBwcmludF9mZGlza19tZW51KGN4dCk7CisJCWJyZWFrOworCWNhc2UgJ3YnOgorCQlyYyA9IGZkaXNrX3ZlcmlmeV9kaXNrbGFiZWwoY3h0KTsKKwkJYnJlYWs7CisJY2FzZSAnaSc6CisJCXJjID0gcHJpbnRfcGFydGl0aW9uX2luZm8oY3h0KTsKKwkJYnJlYWs7CisJY2FzZSAnRic6CisJCWxpc3RfZnJlZXNwYWNlKGN4dCk7CisJCWJyZWFrOworCX0KKworCS8qIGV4cGVydCBtb2RlICovCisJaWYgKGVudC0+ZXhwZXJ0KSB7CisJCXN3aXRjaCAoZW50LT5rZXkpIHsKKwkJY2FzZSAnZCc6CisJCQlkdW1wX2ZpcnN0c2VjdG9yKGN4dCk7CisJCQlicmVhazsKKwkJY2FzZSAnRCc6CisJCQlkdW1wX2Rpc2tsYWJlbChjeHQpOworCQkJYnJlYWs7CisJCWNhc2UgJ2YnOgorCQkJcmMgPSBmZGlza19yZW9yZGVyX3BhcnRpdGlvbnMoY3h0KTsKKwkJCWlmIChyYykKKwkJCQlmZGlza193YXJueChjeHQsIF8oIkZhaWxlZCB0byBmaXggcGFydGl0aW9ucyBvcmRlci4iKSk7CisJCQllbHNlCisJCQkJZmRpc2tfaW5mbyhjeHQsIF8oIlBhcnRpdGlvbnMgb3JkZXIgZml4ZWQuIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJcmMgPSBmZGlza19lbmFibGVfZGV0YWlscyhjeHQsIDApOworCQkJYnJlYWs7CisJCX0KKwkJcmV0dXJuIHJjOworCX0KKworCS8qIG5vcm1hbCBtb2RlICovCisJc3dpdGNoIChlbnQtPmtleSkgeworCWNhc2UgJ2QnOgorCQlyYyA9IGZkaXNrX2Fza19wYXJ0bnVtKGN4dCwgJm4sIEZBTFNFKTsKKwkJaWYgKCFyYykKKwkJCXJjID0gZmRpc2tfZGVsZXRlX3BhcnRpdGlvbihjeHQsIG4pOworCQlpZiAocmMpCisJCQlmZGlza193YXJueChjeHQsIF8oIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dSIpLCBuICsgMSk7CisJCWVsc2UKKwkJCWZkaXNrX2luZm8oY3h0LCBfKCJQYXJ0aXRpb24gJXp1IGhhcyBiZWVuIGRlbGV0ZWQuIiksIG4gKyAxKTsKKwkJYnJlYWs7CisJY2FzZSAnSSc6CisJCXNjcmlwdF9yZWFkKGN4dCk7CisJCWJyZWFrOworCWNhc2UgJ08nOgorCQlzY3JpcHRfd3JpdGUoY3h0KTsKKwkJYnJlYWs7CisJY2FzZSAnbCc6CisJCWxpc3RfcGFydGl0aW9uX3R5cGVzKGN4dCk7CisJCWJyZWFrOworCWNhc2UgJ24nOgorCXsKKwkJc2l6ZV90IHBhcnRubzsKKwkJcmMgPSBmZGlza19hZGRfcGFydGl0aW9uKGN4dCwgTlVMTCwgJnBhcnRubyk7CisJCWlmICghcmMpCisJCQlyYyA9IGFza19mb3Jfd2lwZShjeHQsIHBhcnRubyk7CisJCWJyZWFrOworCX0KKwljYXNlICd0JzoKKwkJY2hhbmdlX3BhcnRpdGlvbl90eXBlKGN4dCk7CisJCWJyZWFrOworCWNhc2UgJ3UnOgorCQlmZGlza19zZXRfdW5pdChjeHQsCisJCQlmZGlza191c2VfY3lsaW5kZXJzKGN4dCkgPyAic2VjdG9ycyIgOgorCQkJCQkJCSAgICJjeWxpbmRlcnMiKTsKKwkJaWYgKGZkaXNrX3VzZV9jeWxpbmRlcnMoY3h0KSkKKwkJCWZkaXNrX2luZm8oY3h0LCBfKCJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIGN5bGluZGVycyAoREVQUkVDQVRFRCEpLiIpKTsKKwkJZWxzZQorCQkJZmRpc2tfaW5mbyhjeHQsIF8oIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gc2VjdG9ycy4iKSk7CisJCWJyZWFrOworCWNhc2UgJ3gnOgorCQlmZGlza19lbmFibGVfZGV0YWlscyhjeHQsIDEpOworCQlicmVhazsKKwljYXNlICdyJzoKKwkJLyogcmV0dXJuIGZyb20gbmVzdGVkIEJTRCB0byBET1MgKi8KKwkJaWYgKGZkaXNrX2dldF9wYXJlbnQoY3h0KSkgeworCQkJKmN4dDAgPSBmZGlza19nZXRfcGFyZW50KGN4dCk7CisKKwkJCWZkaXNrX2luZm8oY3h0LCBfKCJMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuIikpOworCQkJZmRpc2tfdW5yZWZfY29udGV4dChjeHQpOworCQl9CisJCWJyZWFrOworCX0KKworCXJldHVybiByYzsKK30KKworCisvKgorICogVGhpcyBpcyBmZGlzayBmcm9udGVuZCBmb3IgR1BUIHNwZWNpZmljIGxpYmZkaXNrIGZ1bmN0aW9ucyB0aGF0CisgKiBhcmUgbm90IGV4cG9ydGVkIGJ5IGdlbmVyaWMgbGliZmRpc2sgQVBJLgorICovCitzdGF0aWMgaW50IGdwdF9tZW51X2NiKHN0cnVjdCBmZGlza19jb250ZXh0ICoqY3h0MCwKKwkJICAgICAgIGNvbnN0IHN0cnVjdCBtZW51ICptZW51IF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwKKwkJICAgICAgIGNvbnN0IHN0cnVjdCBtZW51X2VudHJ5ICplbnQpCit7CisJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCA9ICpjeHQwOworCXN0cnVjdCBmZGlza19jb250ZXh0ICptYnI7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBOVUxMOworCXNpemVfdCBuOworCWludCByYyA9IDA7CisJdWludG1heF90IGxlbmd0aCA9IDA7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoZW50KTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBHUFQpKTsKKworCURCRyhNRU5VLCB1bF9kZWJ1ZygiZW50ZXIgR1BUIG1lbnUiKSk7CisKKwlpZiAoZW50LT5leHBlcnQpIHsKKwkJc3dpdGNoIChlbnQtPmtleSkgeworCQljYXNlICdpJzoKKwkJCXJldHVybiBmZGlza19zZXRfZGlza2xhYmVsX2lkKGN4dCk7CisJCWNhc2UgJ2wnOgorCSAgICAgICAgICAgICAgICByYyA9ICBmZGlza19hc2tfbnVtYmVyKGN4dCwgMSwgZmRpc2tfZ2V0X25wYXJ0aXRpb25zKGN4dCksCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+KHVpbnQzMl90KTAsIF8oIk5ldyBtYXhpbXVtIGVudHJpZXMiKSwgJmxlbmd0aCk7CisJCQlpZiAocmMpCisJCQkJcmV0dXJuIHJjOworCQkJcmV0dXJuIGZkaXNrX2dwdF9zZXRfbnBhcnRpdGlvbnMoY3h0LCAodWludDMyX3QpIGxlbmd0aCk7CisJCWNhc2UgJ00nOgorCQkJbWJyID0gZmRpc2tfbmV3X25lc3RlZF9jb250ZXh0KGN4dCwgImRvcyIpOworCQkJaWYgKCFtYnIpCisJCQkJcmV0dXJuIC1FTk9NRU07CisJCQkqY3h0MCA9IGN4dCA9IG1icjsKKwkJCWZkaXNrX2VuYWJsZV9kZXRhaWxzKGN4dCwgMSk7CS8qIGtlZXAgdXMgaW4gZXhwZXJ0IG1vZGUgKi8KKwkJCWZkaXNrX2luZm8oY3h0LCBfKCJFbnRlcmluZyBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgZGlza2xhYmVsLiIpKTsKKwkJCXJldHVybiAwOworCQl9CisKKwkJLyogYWN0aW9ucyB3aGVyZSBpcyBuZWNlc3NhcnkgcGFydG51bSAqLworCQlyYyA9IGZkaXNrX2Fza19wYXJ0bnVtKGN4dCwgJm4sIEZBTFNFKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCisJCXN3aXRjaChlbnQtPmtleSkgeworCQljYXNlICd1JzoKKwkJCXBhID0gZmRpc2tfbmV3X3BhcnRpdGlvbigpOwkvKiBuZXcgdGVtcGxhdGUgKi8KKwkJCWlmICghcGEpCisJCQkJcmMgPSAtRU5PTUVNOworCQkJZWxzZSB7CisJCQkJY2hhciAqc3RyID0gTlVMTDsKKwkJCQlyYyA9IGZkaXNrX2Fza19zdHJpbmcoY3h0LCBfKCJOZXcgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIiksICZzdHIpOworCQkJCWlmICghcmMpCisJCQkJCXJjID0gZmRpc2tfcGFydGl0aW9uX3NldF91dWlkKHBhLCBzdHIpOworCQkJCWlmICghcmMpCisJCQkJCXJjID0gZmRpc2tfc2V0X3BhcnRpdGlvbihjeHQsIG4sIHBhKTsKKwkJCQlmcmVlKHN0cik7CisJCQkJZmRpc2tfdW5yZWZfcGFydGl0aW9uKHBhKTsKKwkJCX0KKwkJCWJyZWFrOworCQljYXNlICduJzoKKwkJCXBhID0gZmRpc2tfbmV3X3BhcnRpdGlvbigpOwkvKiBuZXcgdGVtcGxhdGUgKi8KKwkJCWlmICghcGEpCisJCQkJcmMgPSAtRU5PTUVNOworCQkJZWxzZSB7CisJCQkJY2hhciAqc3RyID0gTlVMTDsKKwkJCQlyYyA9IGZkaXNrX2Fza19zdHJpbmcoY3h0LCBfKCJOZXcgbmFtZSIpLCAmc3RyKTsKKwkJCQlpZiAoIXJjKQorCQkJCQlyYyA9IGZkaXNrX3BhcnRpdGlvbl9zZXRfbmFtZShwYSwgc3RyKTsKKwkJCQlpZiAoIXJjKQorCQkJCQlyYyA9IGZkaXNrX3NldF9wYXJ0aXRpb24oY3h0LCBuLCBwYSk7CisJCQkJZnJlZShzdHIpOworCQkJCWZkaXNrX3VucmVmX3BhcnRpdGlvbihwYSk7CisJCQl9CisJCQlicmVhazsKKwkJY2FzZSAnQSc6CisJCQlyYyA9IGZkaXNrX3RvZ2dsZV9wYXJ0aXRpb25fZmxhZyhjeHQsIG4sIEdQVF9GTEFHX0xFR0FDWUJPT1QpOworCQkJYnJlYWs7CisJCWNhc2UgJ0InOgorCQkJcmMgPSBmZGlza190b2dnbGVfcGFydGl0aW9uX2ZsYWcoY3h0LCBuLCBHUFRfRkxBR19OT0JMT0NLKTsKKwkJCWJyZWFrOworCQljYXNlICdSJzoKKwkJCXJjID0gZmRpc2tfdG9nZ2xlX3BhcnRpdGlvbl9mbGFnKGN4dCwgbiwgR1BUX0ZMQUdfUkVRVUlSRUQpOworCQkJYnJlYWs7CisJCWNhc2UgJ1MnOgorCQkJcmMgPSBmZGlza190b2dnbGVfcGFydGl0aW9uX2ZsYWcoY3h0LCBuLCBHUFRfRkxBR19HVUlEU1BFQ0lGSUMpOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlyZXR1cm4gcmM7Cit9CisKKworLyoKKyAqIFRoaXMgaXMgZmRpc2sgZnJvbnRlbmQgZm9yIE1CUiBzcGVjaWZpYyBsaWJmZGlzayBmdW5jdGlvbnMgdGhhdAorICogYXJlIG5vdCBleHBvcnRlZCBieSBnZW5lcmljIGxpYmZkaXNrIEFQSS4KKyAqLworc3RhdGljIGludCBkb3NfbWVudV9jYihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqKmN4dDAsCisJCSAgICAgICBjb25zdCBzdHJ1Y3QgbWVudSAqbWVudSBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSksCisJCSAgICAgICBjb25zdCBzdHJ1Y3QgbWVudV9lbnRyeSAqZW50KQoreworCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQgPSAqY3h0MDsKKwlpbnQgcmMgPSAwOworCisJREJHKE1FTlUsIHVsX2RlYnVnKCJlbnRlciBET1MgbWVudSIpKTsKKworCWlmICghZW50LT5leHBlcnQpIHsKKwkJc3dpdGNoIChlbnQtPmtleSkgeworCQljYXNlICdhJzoKKwkJeworCQkJc2l6ZV90IG47CisJCQlyYyA9IGZkaXNrX2Fza19wYXJ0bnVtKGN4dCwgJm4sIEZBTFNFKTsKKwkJCWlmICghcmMpCisJCQkJcmMgPSBmZGlza190b2dnbGVfcGFydGl0aW9uX2ZsYWcoY3h0LCBuLCBET1NfRkxBR19BQ1RJVkUpOworCQkJYnJlYWs7CisJCX0KKwkJY2FzZSAnYic6CisJCXsKKwkJCXN0cnVjdCBmZGlza19jb250ZXh0ICpic2QKKwkJCQkJPSBmZGlza19uZXdfbmVzdGVkX2NvbnRleHQoY3h0LCAiYnNkIik7CisJCQlpZiAoIWJzZCkKKwkJCQlyZXR1cm4gLUVOT01FTTsKKwkJCWlmICghZmRpc2tfaGFzX2xhYmVsKGJzZCkpCisJCQkJcmMgPSBmZGlza19jcmVhdGVfZGlza2xhYmVsKGJzZCwgImJzZCIpOworCQkJaWYgKHJjKQorCQkJCWZkaXNrX3VucmVmX2NvbnRleHQoYnNkKTsKKwkJCWVsc2UgeworCQkJCSpjeHQwID0gY3h0ID0gYnNkOworCQkJCWZkaXNrX2luZm8oY3h0LAlfKCJFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4iKSk7CisJCQl9CisJCQlicmVhazsKKwkJfQorCQljYXNlICdjJzoKKwkJCXRvZ2dsZV9kb3NfY29tcGF0aWJpbGl0eV9mbGFnKGN4dCk7CisJCQlicmVhazsKKwkJfQorCQlyZXR1cm4gcmM7CisJfQorCisJLyogZXhwZXJ0IG1vZGUgKi8KKwlzd2l0Y2ggKGVudC0+a2V5KSB7CisJY2FzZSAnYic6CisJeworCQlzaXplX3QgbjsKKwkJcmMgPSBmZGlza19hc2tfcGFydG51bShjeHQsICZuLCBGQUxTRSk7CisJCWlmICghcmMpCisJCQlyYyA9IGZkaXNrX2Rvc19tb3ZlX2JlZ2luKGN4dCwgbik7CisJCWJyZWFrOworCX0KKwljYXNlICdpJzoKKwkJcmMgPSBmZGlza19zZXRfZGlza2xhYmVsX2lkKGN4dCk7CisJCWJyZWFrOworCWNhc2UgJ00nOgorCQkvKiByZXR1cm4gZnJvbSBuZXN0ZWQgTUJSIHRvIEdQVCAqLworCQlpZiAoZmRpc2tfZ2V0X3BhcmVudChjeHQpKSB7CisJCQkqY3h0MCA9IGZkaXNrX2dldF9wYXJlbnQoY3h0KTsKKworCQkJZmRpc2tfaW5mbyhjeHQsIF8oIkxlYXZpbmcgbmVzdGVkIGRpc2tsYWJlbC4iKSk7CisJCQlmZGlza191bnJlZl9jb250ZXh0KGN4dCk7CisJCX0KKwkJYnJlYWs7CisJfQorCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBzdW5fbWVudV9jYihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqKmN4dDAsCisJCSAgICAgICBjb25zdCBzdHJ1Y3QgbWVudSAqbWVudSBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSksCisJCSAgICAgICBjb25zdCBzdHJ1Y3QgbWVudV9lbnRyeSAqZW50KQoreworCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQgPSAqY3h0MDsKKwlpbnQgcmMgPSAwOworCisJREJHKE1FTlUsIHVsX2RlYnVnKCJlbnRlciBTVU4gbWVudSIpKTsKKworCWFzc2VydChjeHQpOworCWFzc2VydChlbnQpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIFNVTikpOworCisJREJHKE1FTlUsIHVsX2RlYnVnKCJlbnRlciBTVU4gbWVudSIpKTsKKworCS8qIG5vcm1hbCBtb2RlICovCisJaWYgKCFlbnQtPmV4cGVydCkgeworCQlzaXplX3QgbjsKKworCQlyYyA9IGZkaXNrX2Fza19wYXJ0bnVtKGN4dCwgJm4sIEZBTFNFKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCQlzd2l0Y2ggKGVudC0+a2V5KSB7CisJCWNhc2UgJ2EnOgorCQkJcmMgPSBmZGlza190b2dnbGVfcGFydGl0aW9uX2ZsYWcoY3h0LCBuLCBTVU5fRkxBR19ST05MWSk7CisJCQlicmVhazsKKwkJY2FzZSAnYyc6CisJCQlyYyA9IGZkaXNrX3RvZ2dsZV9wYXJ0aXRpb25fZmxhZyhjeHQsIG4sIFNVTl9GTEFHX1VOTU5UKTsKKwkJCWJyZWFrOworCQl9CisJCXJldHVybiByYzsKKwl9CisKKwkvKiBleHBlcnQgbW9kZSAqLworCXN3aXRjaCAoZW50LT5rZXkpIHsKKwljYXNlICdhJzoKKwkJcmMgPSBmZGlza19zdW5fc2V0X2FsdF9jeWwoY3h0KTsKKwkJYnJlYWs7CisJY2FzZSAnZSc6CisJCXJjID0gZmRpc2tfc3VuX3NldF94Y3lsKGN4dCk7CisJCWJyZWFrOworCWNhc2UgJ2knOgorCQlyYyA9IGZkaXNrX3N1bl9zZXRfaWxmYWN0KGN4dCk7CisJCWJyZWFrOworCWNhc2UgJ28nOgorCQlyYyA9IGZkaXNrX3N1bl9zZXRfcnNwZWVkKGN4dCk7CisJCWJyZWFrOworCWNhc2UgJ3knOgorCQlyYyA9IGZkaXNrX3N1bl9zZXRfcGN5bGNvdW50KGN4dCk7CisJCWJyZWFrOworCX0KKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgc2dpX21lbnVfY2Ioc3RydWN0IGZkaXNrX2NvbnRleHQgKipjeHQwLAorCQkgICAgICAgY29uc3Qgc3RydWN0IG1lbnUgKm1lbnUgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpLAorCQkgICAgICAgY29uc3Qgc3RydWN0IG1lbnVfZW50cnkgKmVudCkKK3sKKwlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0ID0gKmN4dDA7CisJaW50IHJjID0gLUVJTlZBTDsKKwlzaXplX3QgbiA9IDA7CisKKwlEQkcoTUVOVSwgdWxfZGVidWcoImVudGVyIFNHSSBtZW51IikpOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGVudCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgU0dJKSk7CisKKwlpZiAoZW50LT5leHBlcnQpCisJCXJldHVybiByYzsKKworCXN3aXRjaCAoZW50LT5rZXkpIHsKKwljYXNlICdhJzoKKwkJcmMgPSBmZGlza19hc2tfcGFydG51bShjeHQsICZuLCBGQUxTRSk7CisJCWlmICghcmMpCisJCQlyYyA9IGZkaXNrX3RvZ2dsZV9wYXJ0aXRpb25fZmxhZyhjeHQsIG4sIFNHSV9GTEFHX0JPT1QpOworCQlicmVhazsKKwljYXNlICdiJzoKKwkJZmRpc2tfc2dpX3NldF9ib290ZmlsZShjeHQpOworCQlicmVhazsKKwljYXNlICdjJzoKKwkJcmMgPSBmZGlza19hc2tfcGFydG51bShjeHQsICZuLCBGQUxTRSk7CisJCWlmICghcmMpCisJCQlyYyA9IGZkaXNrX3RvZ2dsZV9wYXJ0aXRpb25fZmxhZyhjeHQsIG4sIFNHSV9GTEFHX1NXQVApOworCQlicmVhazsKKwljYXNlICdpJzoKKwkJcmMgPSBmZGlza19zZ2lfY3JlYXRlX2luZm8oY3h0KTsKKwkJYnJlYWs7CisJfQorCisJcmV0dXJuIHJjOworfQorCisvKgorICogVGhpcyBpcyBmZGlzayBmcm9udGVuZCBmb3IgQlNEIHNwZWNpZmljIGxpYmZkaXNrIGZ1bmN0aW9ucyB0aGF0CisgKiBhcmUgbm90IGV4cG9ydGVkIGJ5IGdlbmVyaWMgbGliZmRpc2sgQVBJLgorICovCitzdGF0aWMgaW50IGJzZF9tZW51X2NiKHN0cnVjdCBmZGlza19jb250ZXh0ICoqY3h0MCwKKwkJICAgICAgIGNvbnN0IHN0cnVjdCBtZW51ICptZW51IF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwKKwkJICAgICAgIGNvbnN0IHN0cnVjdCBtZW51X2VudHJ5ICplbnQpCit7CisJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCA9ICpjeHQwOworCWludCByYyA9IDAsIG9yZzsKKworCWFzc2VydChjeHQpOworCWFzc2VydChlbnQpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIEJTRCkpOworCisJREJHKE1FTlUsIHVsX2RlYnVnKCJlbnRlciBCU0QgbWVudSIpKTsKKworCXN3aXRjaChlbnQtPmtleSkgeworCWNhc2UgJ2UnOgorCQlyYyA9IGZkaXNrX2JzZF9lZGl0X2Rpc2tsYWJlbChjeHQpOworCQlicmVhazsKKwljYXNlICdpJzoKKwkJcmMgPSBmZGlza19ic2Rfd3JpdGVfYm9vdHN0cmFwKGN4dCk7CisJCWJyZWFrOworCWNhc2UgJ3MnOgorCQlvcmcgPSBmZGlza19pc19kZXRhaWxzKGN4dCk7CisKKwkJZmRpc2tfZW5hYmxlX2RldGFpbHMoY3h0LCAxKTsKKwkJbGlzdF9kaXNrbGFiZWwoY3h0KTsKKwkJZmRpc2tfZW5hYmxlX2RldGFpbHMoY3h0LCBvcmcpOworCQlicmVhazsKKwljYXNlICd4JzoKKwkJcmMgPSBmZGlza19ic2RfbGlua19wYXJ0aXRpb24oY3h0KTsKKwkJYnJlYWs7CisJfQorCXJldHVybiByYzsKK30KKworLyogQy9IL1MgY29tbWFuZHMgKi8KK3N0YXRpYyBpbnQgZ2VvX21lbnVfY2Ioc3RydWN0IGZkaXNrX2NvbnRleHQgKipjeHQwLAorCQkgICAgICAgY29uc3Qgc3RydWN0IG1lbnUgKm1lbnUgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpLAorCQkgICAgICAgY29uc3Qgc3RydWN0IG1lbnVfZW50cnkgKmVudCkKK3sKKwlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0ID0gKmN4dDA7CisJaW50IHJjID0gLUVJTlZBTDsKKwl1aW50bWF4X3QgYyA9IDAsIGggPSAwLCBzID0gMDsKKworCURCRyhNRU5VLCB1bF9kZWJ1ZygiZW50ZXIgR0VPIG1lbnUiKSk7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoZW50KTsKKworCXN3aXRjaCAoZW50LT5rZXkpIHsKKwljYXNlICdjJzoKKwkJcmMgPSAgZmRpc2tfYXNrX251bWJlcihjeHQsIDEsIGZkaXNrX2dldF9nZW9tX2N5bGluZGVycyhjeHQpLAorCQkJCTEwNDg1NzYsIF8oIk51bWJlciBvZiBjeWxpbmRlcnMiKSwgJmMpOworCQlicmVhazsKKwljYXNlICdoJzoKKwkJcmMgPSAgZmRpc2tfYXNrX251bWJlcihjeHQsIDEsIGZkaXNrX2dldF9nZW9tX2hlYWRzKGN4dCksCisJCQkJMjU2LCBfKCJOdW1iZXIgb2YgaGVhZHMiKSwgJmgpOworCQlicmVhazsKKwljYXNlICdzJzoKKwkJcmMgPSAgZmRpc2tfYXNrX251bWJlcihjeHQsIDEsIGZkaXNrX2dldF9nZW9tX3NlY3RvcnMoY3h0KSwKKwkJCQk2MywgXygiTnVtYmVyIG9mIHNlY3RvcnMiKSwgJnMpOworCQlicmVhazsKKwl9CisKKwlpZiAoIXJjKQorCQlmZGlza19vdmVycmlkZV9nZW9tZXRyeShjeHQsIGMsIGgsIHMpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBjcmVhdGVsYWJlbF9tZW51X2NiKHN0cnVjdCBmZGlza19jb250ZXh0ICoqY3h0MCwKKwkJICAgICAgIGNvbnN0IHN0cnVjdCBtZW51ICptZW51IF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwKKwkJICAgICAgIGNvbnN0IHN0cnVjdCBtZW51X2VudHJ5ICplbnQpCit7CisJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCA9ICpjeHQwOworCWludCByYyA9IC1FSU5WQUw7CisKKwlEQkcoTUVOVSwgdWxfZGVidWcoImVudGVyIENyZWF0ZSBsYWJlbCBtZW51IikpOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGVudCk7CisKKwlpZiAoZW50LT5leHBlcnQpIHsKKwkJc3dpdGNoIChlbnQtPmtleSkgeworCQljYXNlICdnJzoKKwkJCS8qIERlcHJlY2F0ZWQsIHVzZSAnRycgaW4gbWFpbiBtZW51LCBqdXN0IGZvciBiYWNrd2FyZAorCQkJICogY29tcGF0aWJpbGl0eSBvbmx5LiAqLworCQkJcmMgPSBmZGlza19jcmVhdGVfZGlza2xhYmVsKGN4dCwgInNnaSIpOworCQkJYnJlYWs7CisJCX0KKwkJcmV0dXJuIHJjOworCX0KKworCXN3aXRjaCAoZW50LT5rZXkpIHsKKwkJY2FzZSAnZyc6CisJCQlmZGlza19jcmVhdGVfZGlza2xhYmVsKGN4dCwgImdwdCIpOworCQkJYnJlYWs7CisJCWNhc2UgJ0cnOgorCQkJZmRpc2tfY3JlYXRlX2Rpc2tsYWJlbChjeHQsICJzZ2kiKTsKKwkJCWJyZWFrOworCQljYXNlICdvJzoKKwkJCWZkaXNrX2NyZWF0ZV9kaXNrbGFiZWwoY3h0LCAiZG9zIik7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQlmZGlza19jcmVhdGVfZGlza2xhYmVsKGN4dCwgInN1biIpOworCQkJYnJlYWs7CisJfQorCXJldHVybiByYzsKK30KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvZmRpc2suOCBiL2Rpc2stdXRpbHMvZmRpc2suOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZGIzMTY4Ci0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9mZGlzay44CkBAIC0wLDAgKzEsMzY4IEBACisuXCIgQ29weXJpZ2h0IDE5OTIsIDE5OTMgUmlja2FyZCBFLiBGYWl0aCAoZmFpdGhAY3MudW5jLmVkdSkKKy5cIiBDb3B5cmlnaHQgMTk5OCBBbmRyaWVzIEUuIEJyb3V3ZXIgKGFlYkBjd2kubmwpCisuXCIgQ29weXJpZ2h0IDIwMTIgRGF2aWRsb2hyIEJ1ZXNvIDxkYXZlQGdudS5vcmc+CisuXCIgQ29weXJpZ2h0IChDKSAyMDEzIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorLlwiIE1heSBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy5USCBGRElTSyA4ICJGZWJydWFyeSAyMDE2IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKworLlNIIE5BTUUKK2ZkaXNrIFwtIG1hbmlwdWxhdGUgZGlzayBwYXJ0aXRpb24gdGFibGUKKworLlNIIFNZTk9QU0lTCisuQiBmZGlzaworW29wdGlvbnNdCisuSSBkZXZpY2UKKy5zcAorLkIgZmRpc2sgXC1sCisuUkkgWyBkZXZpY2UgLi4uXQorCisuU0ggREVTQ1JJUFRJT04KKy5CIGZkaXNrCitpcyBhIGRpYWxvZy1kcml2ZW4gcHJvZ3JhbSBmb3IgY3JlYXRpb24gYW5kIG1hbmlwdWxhdGlvbiBvZiBwYXJ0aXRpb24gdGFibGVzLgorSXQgdW5kZXJzdGFuZHMgR1BULCBNQlIsIFN1biwgU0dJIGFuZCBCU0QgcGFydGl0aW9uIHRhYmxlcy4KKworQmxvY2sgZGV2aWNlcyBjYW4gYmUgZGl2aWRlZCBpbnRvIG9uZSBvciBtb3JlIGxvZ2ljYWwgZGlza3MgY2FsbGVkCisuSVIgcGFydGl0aW9ucyAuCitUaGlzIGRpdmlzaW9uIGlzIHJlY29yZGVkIGluIHRoZQorLklSICJwYXJ0aXRpb24gdGFibGUiICwKK3VzdWFsbHkgZm91bmQgaW4gc2VjdG9yIDAgb2YgdGhlIGRpc2suCisoSW4gdGhlIEJTRCB3b3JsZCBvbmUgdGFsa3MgYWJvdXQgYGRpc2sgc2xpY2VzJyBhbmQgYSBgZGlza2xhYmVsJy4pCisKK0FsbCBwYXJ0aXRpb25pbmcgaXMgZHJpdmVuIGJ5IGRldmljZSBJL08gbGltaXRzICh0aGUgdG9wb2xvZ3kpIGJ5IGRlZmF1bHQuCisuQiBmZGlzaworaXMgYWJsZSB0byBvcHRpbWl6ZSB0aGUgZGlzayBsYXlvdXQgZm9yIGEgNEstc2VjdG9yIHNpemUgYW5kIHVzZSBhbiBhbGlnbm1lbnQgb2Zmc2V0IG9uCittb2Rlcm4gZGV2aWNlcyBmb3IgTUJSIGFuZCBHUFQuICBJdCBpcyBhbHdheXMgYSBnb29kIGlkZWEgdG8gZm9sbG93IFxmQmZkaXNrXGZSJ3MgZGVmYXVsdHMKK2FzIHRoZSBkZWZhdWx0IHZhbHVlcyAoZS5nLiBmaXJzdCBhbmQgbGFzdCBwYXJ0aXRpb24gc2VjdG9ycykgYW5kIHBhcnRpdGlvbgorc2l6ZXMgc3BlY2lmaWVkIGJ5IHRoZSArPHNpemU+e00sRywuLi59IG5vdGF0aW9uIGFyZSBhbHdheXMgYWxpZ25lZCBhY2NvcmRpbmcKK3RvIHRoZSBkZXZpY2UgcHJvcGVydGllcy4KKworTm90ZSB0aGF0CisuQlIgcGFydHggKDgpCitwcm92aWRlcyBhIHJpY2ggaW50ZXJmYWNlIGZvciBzY3JpcHRzIHRvIHByaW50IGRpc2sgbGF5b3V0cywKKy5CIGZkaXNrCitpcyBtb3N0bHkgZGVzaWduZWQgZm9yIGh1bWFucy4gIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgaW4gdGhlIG91dHB1dCBvZgorLkIgZmRpc2sKK2lzIG5vdCBndWFyYW50ZWVkLiAgVGhlIGlucHV0ICh0aGUgY29tbWFuZHMpIHNob3VsZCBhbHdheXMgYmUgYmFja3dhcmQgY29tcGF0aWJsZS4KKworLlNIIE9QVElPTlMKKy5UUAorXGZCXC1iXGZSLCBcZkJcLVwtc2VjdG9yXC1zaXplXGZSIFxmSXNlY3RvcnNpemVcZlAKK1NwZWNpZnkgdGhlIHNlY3RvciBzaXplIG9mIHRoZSBkaXNrLiAgVmFsaWQgdmFsdWVzIGFyZSA1MTIsIDEwMjQsIDIwNDgsIGFuZCA0MDk2LgorKFJlY2VudCBrZXJuZWxzIGtub3cgdGhlIHNlY3RvciBzaXplLiAgVXNlIHRoaXMgb3B0aW9uIG9ubHkgb24gb2xkIGtlcm5lbHMgb3IKK3RvIG92ZXJyaWRlIHRoZSBrZXJuZWwncyBpZGVhcy4pICBTaW5jZSB1dGlsLWxpbnV4LTIuMTcsIFxmQmZkaXNrXGZSIGRpZmZlcmVudGlhdGVzCitiZXR3ZWVuIGxvZ2ljYWwgYW5kIHBoeXNpY2FsIHNlY3RvciBzaXplLiAgVGhpcyBvcHRpb24gY2hhbmdlcyBib3RoIHNlY3RvciBzaXplcyB0bworLklCIHNlY3RvcnNpemUgLgorLlRQCitcZkJcLUJcZlIsIFxmQlwtXC1wcm90ZWN0XC1ib290XGZQCitEb24ndCBlcmFzZSB0aGUgYmVnaW4gb2YgdGhlIGZpcnN0IGRpc2sgc2VjdG9yIHdoZW4gY3JlYXRlIGEgbmV3IGRpc2sgbGFiZWwuICBUaGlzCitmZWF0dXJlIGlzIHN1cHBvcnRlZCBmb3IgR1BUIGFuZCBNQlIuCisuVFAKK1xmQlwtY1xmUiwgXGZCXC1cLWNvbXBhdGliaWxpdHlcZlJbPVxmSW1vZGVcZlJdCitTcGVjaWZ5IHRoZSBjb21wYXRpYmlsaXR5IG1vZGUsICdkb3MnIG9yICdub25kb3MnLiAgVGhlIGRlZmF1bHQgaXMgbm9uLURPUworbW9kZS4gIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCBpdCBpcyBwb3NzaWJsZSB0byB1c2UgdGhlIG9wdGlvbiB3aXRob3V0Cit0aGUgXGZJbW9kZVxmUiBhcmd1bWVudCAtLSB0aGVuIHRoZSBkZWZhdWx0IGlzIHVzZWQuICBOb3RlIHRoYXQgdGhlIG9wdGlvbmFsCitcZkltb2RlXGZSIGFyZ3VtZW50IGNhbm5vdCBiZSBzZXBhcmF0ZWQgZnJvbSB0aGUgXGZCLWNcZlIgb3B0aW9uIGJ5IGEgc3BhY2UsCit0aGUgY29ycmVjdCBmb3JtIGlzIGZvciBleGFtcGxlICctYz1kb3MnLgorLlRQCitcZkJcLWhcZlIsIFxmQlwtXC1oZWxwXGZSCitEaXNwbGF5IGEgaGVscCB0ZXh0IGFuZCBleGl0LgorLlRQCitcZkJcLUxcZlIsIFxmQlwtXC1jb2xvclxmUls9XGZJd2hlblxmUl0KK0NvbG9yaXplIHRoZSBvdXRwdXQuICBUaGUgb3B0aW9uYWwgYXJndW1lbnQgXGZJd2hlblxmUAorY2FuIGJlIFxmQmF1dG9cZlIsIFxmQm5ldmVyXGZSIG9yIFxmQmFsd2F5c1xmUi4gIElmIHRoZSBcZkl3aGVuXGZSIGFyZ3VtZW50IGlzIG9taXR0ZWQsCitpdCBkZWZhdWx0cyB0byBcZkJhdXRvXGZSLiAgVGhlIGNvbG9ycyBjYW4gYmUgZGlzYWJsZWQ7IGZvciB0aGUgY3VycmVudCBidWlsdC1pbiBkZWZhdWx0CitzZWUgdGhlIFxmQlwtXC1oZWxwXGZSIG91dHB1dC4gIFNlZSBhbHNvIHRoZSBcZkJDT0xPUlNcZlIgc2VjdGlvbi4KKy5UUAorXGZCXC1sXGZSLCBcZkJcLVwtbGlzdFxmUgorTGlzdCB0aGUgcGFydGl0aW9uIHRhYmxlcyBmb3IgdGhlIHNwZWNpZmllZCBkZXZpY2VzIGFuZCB0aGVuIGV4aXQuCitJZiBubyBkZXZpY2VzIGFyZSBnaXZlbiwgdGhvc2UgbWVudGlvbmVkIGluCisuSSAvcHJvYy9wYXJ0aXRpb25zCisoaWYgdGhhdCBmaWxlIGV4aXN0cykgYXJlIHVzZWQuCisuVFAKKy5CUiBcLW8gLCAiIFwtXC1vdXRwdXQgIiBcZklsaXN0XGZQCitTcGVjaWZ5IHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHByaW50LiAgVXNlCisuQiBcLVwtaGVscAordG8gZ2V0IGEgbGlzdCBvZiBhbGwgc3VwcG9ydGVkIGNvbHVtbnMuCisKK1RoZSBkZWZhdWx0IGxpc3Qgb2YgY29sdW1ucyBtYXkgYmUgZXh0ZW5kZWQgaWYgXGZJbGlzdFxmUCBpcworc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgXGZJK2xpc3RcZlAgKGUuZy4gXGZCLW8gK1VVSURcZlApLgorLlRQCitcZkJcLXNcZlIsIFxmQlwtXC1nZXRzelxmUgorUHJpbnQgdGhlIHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9ycyBvZiBlYWNoIGdpdmVuIGJsb2NrIGRldmljZS4gIFRoaXMgb3B0aW9uIGlzIERFUFJFQ0FURUQKK2luIGZhdm91ciBvZgorLkJSIGJsb2NrZGV2ICgxKS4KKy5UUAorXGZCXC10XGZSLCBcZkJcLVwtdHlwZVxmUiBcZkl0eXBlXGZSCitFbmFibGUgc3VwcG9ydCBvbmx5IGZvciBkaXNrbGFiZWxzIG9mIHRoZSBzcGVjaWZpZWQgXGZJdHlwZVxmUCwgYW5kIGRpc2FibGUKK3N1cHBvcnQgZm9yIGFsbCBvdGhlciB0eXBlcy4KKy5UUAorXGZCXC11XGZSLCBcZkJcLVwtdW5pdHNcZlJbPVxmSXVuaXRcZlJdCitXaGVuIGxpc3RpbmcgcGFydGl0aW9uIHRhYmxlcywgc2hvdyBzaXplcyBpbiAnc2VjdG9ycycgb3IgaW4gJ2N5bGluZGVycycuICBUaGUKK2RlZmF1bHQgaXMgdG8gc2hvdyBzaXplcyBpbiBzZWN0b3JzLiAgRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIGl0IGlzIHBvc3NpYmxlCit0byB1c2UgdGhlIG9wdGlvbiB3aXRob3V0IHRoZSBcZkl1bml0XGZSIGFyZ3VtZW50IC0tIHRoZW4gdGhlIGRlZmF1bHQgaXMgdXNlZC4KK05vdGUgdGhhdCB0aGUgb3B0aW9uYWwgXGZJdW5pdFxmUiBhcmd1bWVudCBjYW5ub3QgYmUgc2VwYXJhdGVkIGZyb20gdGhlIFxmQi11XGZSCitvcHRpb24gYnkgYSBzcGFjZSwgdGhlIGNvcnJlY3QgZm9ybSBpcyBmb3IgZXhhbXBsZSAnLXU9Y3lsaW5kZXJzJy4KKworLlRQCitcZkJcLUNcZlIsIFxmQlwtXC1jeWxpbmRlcnNcZlIgXGZJbnVtYmVyXGZSCitTcGVjaWZ5IHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzIG9mIHRoZSBkaXNrLgorSSBoYXZlIG5vIGlkZWEgd2h5IGFueWJvZHkgd291bGQgd2FudCB0byBkbyBzby4KKy5UUAorXGZCXC1IXGZSLCBcZkJcLVwtaGVhZHNcZlIgXGZJbnVtYmVyXGZSCitTcGVjaWZ5IHRoZSBudW1iZXIgb2YgaGVhZHMgb2YgdGhlIGRpc2suICAoTm90IHRoZSBwaHlzaWNhbCBudW1iZXIsCitvZiBjb3Vyc2UsIGJ1dCB0aGUgbnVtYmVyIHVzZWQgZm9yIHBhcnRpdGlvbiB0YWJsZXMuKQorUmVhc29uYWJsZSB2YWx1ZXMgYXJlIDI1NSBhbmQgMTYuCisuVFAKK1xmQlwtU1xmUiwgXGZCXC1cLXNlY3RvcnNcZlIgXGZJbnVtYmVyXGZSCitTcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2sgb2YgdGhlIGRpc2suCisoTm90IHRoZSBwaHlzaWNhbCBudW1iZXIsIG9mIGNvdXJzZSwgYnV0IHRoZSBudW1iZXIgdXNlZCBmb3IKK3BhcnRpdGlvbiB0YWJsZXMuKSBBIHJlYXNvbmFibGUgdmFsdWUgaXMgNjMuCisKKy5UUAorXGZCXC13XGZSLCBcZkJcLVwtd2lwZVxmUiBcZkl3aGVuXGZSCitXaXBlIGZpbGVzeXN0ZW0sIFJBSUQgYW5kIHBhcnRpdGlvbi10YWJsZSBzaWduYXR1cmVzIGZyb20gdGhlIGRldmljZSwgaW4gb3JkZXIKK3RvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuICBUaGUgYXJndW1lbnQgXGZJd2hlblxmUiBjYW4gYmUgXGZCYXV0b1xmUiwKK1xmQm5ldmVyXGZSIG9yIFxmQmFsd2F5c1xmUi4gIFdoZW4gdGhpcyBvcHRpb24gaXMgbm90IGdpdmVuLCB0aGUgZGVmYXVsdCBpcworXGZCYXV0b1xmUiwgaW4gd2hpY2ggY2FzZSBzaWduYXR1cmVzIGFyZSB3aXBlZCBvbmx5IHdoZW4gaW4gaW50ZXJhY3RpdmUgbW9kZS4KK0luIGFsbCBjYXNlcyBkZXRlY3RlZCBzaWduYXR1cmVzIGFyZSByZXBvcnRlZCBieSB3YXJuaW5nIG1lc3NhZ2VzCitiZWZvcmUgYSBuZXcgcGFydGl0aW9uIHRhYmxlIGlzIGNyZWF0ZWQuICBTZWUgYWxzbworLkJSIHdpcGVmcyAoOCkKK2NvbW1hbmQuCisKKy5UUAorXGZCXC1XXGZSLCBcZkJcLVwtd2lwZS1wYXJ0aXRpb25cZlIgXGZJd2hlblxmUgorV2lwZSBmaWxlc3lzdGVtLCBSQUlEIGFuZCBwYXJ0aXRpb24tdGFibGUgc2lnbmF0dXJlcyBmcm9tIGEgbmV3bHkgY3JlYXRlZAorcGFydGl0aW9ucywgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4gIFRoZSBhcmd1bWVudCBcZkl3aGVuXGZSIGNhbgorYmUgXGZCYXV0b1xmUiwgXGZCbmV2ZXJcZlIgb3IgXGZCYWx3YXlzXGZSLiAgV2hlbiB0aGlzIG9wdGlvbiBpcyBub3QgZ2l2ZW4sIHRoZQorZGVmYXVsdCBpcyBcZkJhdXRvXGZSLCBpbiB3aGljaCBjYXNlIHNpZ25hdHVyZXMgYXJlIHdpcGVkIG9ubHkgd2hlbiBpbgoraW50ZXJhY3RpdmUgbW9kZSBhbmQgYWZ0ZXIgY29uZmlybWF0aW9uIGJ5IHVzZXIuICBJbiBhbGwgY2FzZXMgZGV0ZWN0ZWQKK3NpZ25hdHVyZXMgYXJlIHJlcG9ydGVkIGJ5IHdhcm5pbmcgbWVzc2FnZXMgYmVmb3JlIGEgbmV3IHBhcnRpdGlvbiBpcworY3JlYXRlZC4gIFNlZSBhbHNvCisuQlIgd2lwZWZzICg4KQorY29tbWFuZC4KKworLlRQCitcZkJcLVZcZlIsIFxmQlwtXC12ZXJzaW9uXGZSCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisKKy5TSCBERVZJQ0VTCitUaGUKKy5JIGRldmljZQoraXMgdXN1YWxseSAvZGV2L3NkYSwgL2Rldi9zZGIgb3Igc28uICBBIGRldmljZSBuYW1lIHJlZmVycyB0byB0aGUgZW50aXJlIGRpc2suCitPbGQgc3lzdGVtcyB3aXRob3V0IGxpYmF0YSAoYSBsaWJyYXJ5IHVzZWQgaW5zaWRlIHRoZSBMaW51eCBrZXJuZWwgdG8gc3VwcG9ydAorQVRBIGhvc3QgY29udHJvbGxlcnMgYW5kIGRldmljZXMpIG1ha2UgYSBkaWZmZXJlbmNlIGJldHdlZW4gSURFIGFuZCBTQ1NJIGRpc2tzLgorSW4gc3VjaCBjYXNlcyB0aGUgZGV2aWNlIG5hbWUgd2lsbCBiZSAvZGV2L2hkKiAoSURFKSBvciAvZGV2L3NkKiAoU0NTSSkuCisKK1RoZQorLkkgcGFydGl0aW9uCitpcyBhIGRldmljZSBuYW1lIGZvbGxvd2VkIGJ5IGEgcGFydGl0aW9uIG51bWJlci4gIEZvciBleGFtcGxlLCAvZGV2L3NkYTEgaXMgdGhlCitmaXJzdCBwYXJ0aXRpb24gb24gdGhlIGZpcnN0IGhhcmQgZGlzayBpbiB0aGUgc3lzdGVtLiAgU2VlIGFsc28gTGludXgga2VybmVsCitkb2N1bWVudGF0aW9uICh0aGUgRG9jdW1lbnRhdGlvbi9kZXZpY2VzLnR4dCBmaWxlKS4KKworLlNIIFNJWkVTCitUaGUgImxhc3Qgc2VjdG9yIiBkaWFsb2cgYWNjZXB0cyBwYXJ0aXRpb24gc2l6ZSBzcGVjaWZpZWQgYnkgbnVtYmVyIG9mIHNlY3RvcnMKK29yIGJ5ICs8c2l6ZT57SyxCLE0sRywuLi59IG5vdGF0aW9uLiAKKworSWYgdGhlIHNpemUgaXMgcHJlZml4ZWQgYnkgICcrJyB0aGVuIGl0IGlzIGludGVycHJldGVkIGFzIHJlbGF0aXZlIHRvIHRoZQorcGFydGl0aW9uIGZpcnN0IHNlY3Rvci4gSW4gdGhpcyBjYXNlIHRoZSBzaXplIGlzIGV4cGVjdGVkIGluIGJ5dGVzIGFuZCB0aGUKK251bWJlciBtYXkgYmUgZm9sbG93ZWQgYnkgdGhlIG11bHRpcGxpY2F0aXZlIHN1ZmZpeGVzIEtpQj0xMDI0LCBNaUI9MTAyNCoxMDI0LAorYW5kIHNvIG9uIGZvciBHaUIsIFRpQiwgUGlCLCBFaUIsIFppQiBhbmQgWWlCLiBUaGUgImlCIiBpcyBvcHRpb25hbCwgZS5nLiAiSyIKK2hhcyB0aGUgc2FtZSBtZWFuaW5nIGFzICJLaUIiLiAKKworVGhlIHJlbGF0aXZlIHNpemVzIGFyZSBhbHdheXMgYWxpZ25lZCBhY2NvcmRpbmcgdG8gZGV2aWNlIEkvTyBsaW1pdHMuICBUaGUKKys8c2l6ZT57SyxCLE0sRywuLi59IG5vdGF0aW9uIGlzIHJlY29tbWVuZGVkLgorCitGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBmZGlzayBhbHNvIGFjY2VwdHMgdGhlIHN1ZmZpeGVzIEtCPTEwMDAsCitNQj0xMDAwKjEwMDAsIGFuZCBzbyBvbiBmb3IgR0IsIFRCLCBQQiwgRUIsIFpCIGFuZCBZQi4gVGhlc2UgMTBeTiBzdWZmaXhlcworYXJlIGRlcHJlY2F0ZWQuCisKKy5TSCBTQ1JJUFQgRklMRVMKKy5CIGZkaXNrCithbGxvd3MgdG8gcmVhZCAoYnkgJ0knIGNvbW1hbmQpIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlcy4gVGhlIHNjcmlwdCBpcworYXBwbGllZCB0byBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlLCBhbmQgdGhlbiBpdCBpcyBwb3NzaWJsZSB0byBtb2RpZnkgdGhlCitwYXJ0aXRpb24gdGFibGUgYmVmb3JlIHlvdSB3cml0ZSBpdCB0byB0aGUgZGV2aWNlLgorLlBQCitBbmQgdmljZS12ZXJzYSBpdCBpcyBwb3NzaWJsZSB0byB3cml0ZSB0aGUgY3VycmVudCBpbi1tZW1vcnkgZGlzayBsYXlvdXQKK3RvIHRoZSBzY3JpcHQgZmlsZSBieSBjb21tYW5kICdPJy4KKy5QUAorVGhlIHNjcmlwdCBmaWxlcyBhcmUgY29tcGF0aWJsZSBiZXR3ZWVuIGNmZGlzaywgc2ZkaXNrLCBmZGlzayBhbmQgYW5vdGhlcgorbGliZmRpc2sgYXBwbGljYXRpb25zLiBGb3IgbW9yZSBkZXRhaWxzIHNlZQorLkJSIHNmZGlzayAoOCkuCisKKy5TSCBESVNLIExBQkVMUworLkIgR1BUIChHVUlEIFBhcnRpdGlvbiBUYWJsZSkKKy5SUworR1BUIGlzIG1vZGVybiBzdGFuZGFyZCBmb3IgdGhlIGxheW91dCBvZiB0aGUgcGFydGl0aW9uIHRhYmxlLiAgR1BUIHVzZXMgNjQtYml0Citsb2dpY2FsIGJsb2NrIGFkZHJlc3NlcywgY2hlY2tzdW1zLCBVVUlEcyBhbmQgbmFtZXMgZm9yIHBhcnRpdGlvbnMgYW5kIGFuCit1bmxpbWl0ZWQgbnVtYmVyIG9mIHBhcnRpdGlvbnMgKGFsdGhvdWdoIHRoZSBudW1iZXIgb2YgcGFydGl0aW9ucyBpcwordXN1YWxseSByZXN0cmljdGVkIHRvIDEyOCBpbiBtYW55IHBhcnRpdGlvbmluZyB0b29scykuCisKK05vdGUgdGhhdCB0aGUgZmlyc3Qgc2VjdG9yIGlzIHN0aWxsIHJlc2VydmVkIGZvciBhCisuQiBwcm90ZWN0aXZlIE1CUgoraW4gdGhlIEdQVCBzcGVjaWZpY2F0aW9uLiAgSXQgcHJldmVudHMgTUJSLW9ubHkgcGFydGl0aW9uaW5nIHRvb2xzCitmcm9tIG1pcy1yZWNvZ25pemluZyBhbmQgb3ZlcndyaXRpbmcgR1BUIGRpc2tzLgorCitHUFQgaXMgYWx3YXlzIGEgYmV0dGVyIGNob2ljZSB0aGFuIE1CUiwgZXNwZWNpYWxseSBvbiBtb2Rlcm4gaGFyZHdhcmUgd2l0aCBhIFVFRkkKK2Jvb3QgbG9hZGVyLgorLlJFCisKKy5CIERPUy10eXBlIChNQlIpCisuUlMKK0EgRE9TLXR5cGUgcGFydGl0aW9uIHRhYmxlIGNhbiBkZXNjcmliZSBhbiB1bmxpbWl0ZWQgbnVtYmVyIG9mIHBhcnRpdGlvbnMuICBJbiBzZWN0b3IgMAordGhlcmUgaXMgcm9vbSBmb3IgdGhlIGRlc2NyaXB0aW9uIG9mIDQgcGFydGl0aW9ucyAoY2FsbGVkIGBwcmltYXJ5JykuICBPbmUgb2YKK3RoZXNlIG1heSBiZSBhbiBleHRlbmRlZCBwYXJ0aXRpb247IHRoaXMgaXMgYSBib3ggaG9sZGluZyBsb2dpY2FsIHBhcnRpdGlvbnMsCit3aXRoIGRlc2NyaXB0b3JzIGZvdW5kIGluIGEgbGlua2VkIGxpc3Qgb2Ygc2VjdG9ycywgZWFjaCBwcmVjZWRpbmcgdGhlCitjb3JyZXNwb25kaW5nIGxvZ2ljYWwgcGFydGl0aW9ucy4gIFRoZSBmb3VyIHByaW1hcnkgcGFydGl0aW9ucywgcHJlc2VudCBvciBub3QsCitnZXQgbnVtYmVycyAxLTQuICBMb2dpY2FsIHBhcnRpdGlvbnMgYXJlIG51bWJlcmVkIHN0YXJ0aW5nIGZyb20gNS4KKworSW4gYSBET1MtdHlwZSBwYXJ0aXRpb24gdGFibGUgdGhlIHN0YXJ0aW5nIG9mZnNldCBhbmQgdGhlIHNpemUgb2YgZWFjaAorcGFydGl0aW9uIGlzIHN0b3JlZCBpbiB0d28gd2F5czogYXMgYW4gYWJzb2x1dGUgbnVtYmVyIG9mIHNlY3RvcnMgKGdpdmVuIGluIDMyCitiaXRzKSwgYW5kIGFzIGEKKy5CIEN5bGluZGVycy9IZWFkcy9TZWN0b3JzCit0cmlwbGUgKGdpdmVuIGluIDEwKzgrNiBiaXRzKS4gIFRoZSBmb3JtZXIgaXMgT0sgLS0gd2l0aCA1MTItYnl0ZSBzZWN0b3JzIHRoaXMKK3dpbGwgd29yayB1cCB0byAyIFRCLiAgVGhlIGxhdHRlciBoYXMgdHdvIHByb2JsZW1zLiAgRmlyc3QsIHRoZXNlIEMvSC9TIGZpZWxkcworY2FuIGJlIGZpbGxlZCBvbmx5IHdoZW4gdGhlIG51bWJlciBvZiBoZWFkcyBhbmQgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFjaworYXJlIGtub3duLiAgQW5kIHNlY29uZCwgZXZlbiBpZiB3ZSBrbm93IHdoYXQgdGhlc2UgbnVtYmVycyBzaG91bGQgYmUsIHRoZSAyNAorYml0cyB0aGF0IGFyZSBhdmFpbGFibGUgZG8gbm90IHN1ZmZpY2UuICBET1MgdXNlcyBDL0gvUyBvbmx5LCBXaW5kb3dzIHVzZXMKK2JvdGgsIExpbnV4IG5ldmVyIHVzZXMgQy9IL1MuICBUaGUKKy5CIEMvSC9TIGFkZHJlc3NpbmcgaXMgZGVwcmVjYXRlZAorYW5kIG1heSBiZSB1bnN1cHBvcnRlZCBpbiBzb21lIGxhdGVyIGZkaXNrIHZlcnNpb24uCisKKy5CIFBsZWFzZSwgcmVhZCB0aGUgRE9TLW1vZGUgc2VjdGlvbiBpZiB5b3Ugd2FudCBET1MtY29tcGF0aWJsZSBwYXJ0aXRpb25zLgorLkIgZmRpc2sKK2RvZXMgbm90IGNhcmUgYWJvdXQgY3lsaW5kZXIgYm91bmRhcmllcyBieSBkZWZhdWx0LgorLlJFCisKKy5CIEJTRC9TdW4tdHlwZQorLlJTCitBIEJTRC9TdW4gZGlza2xhYmVsIGNhbiBkZXNjcmliZSA4IHBhcnRpdGlvbnMsIHRoZSB0aGlyZCBvZiB3aGljaCBzaG91bGQgYmUgYSBgd2hvbGUKK2Rpc2snIHBhcnRpdGlvbi4gIERvIG5vdCBzdGFydCBhIHBhcnRpdGlvbiB0aGF0IGFjdHVhbGx5IHVzZXMgaXRzIGZpcnN0IHNlY3RvcgorKGxpa2UgYSBzd2FwIHBhcnRpdGlvbikgYXQgY3lsaW5kZXIgMCwgc2luY2UgdGhhdCB3aWxsIGRlc3Ryb3kgdGhlIGRpc2tsYWJlbC4KK05vdGUgdGhhdCBhCisuQiBCU0QgbGFiZWwKK2lzIHVzdWFsbHkgbmVzdGVkIHdpdGhpbiBhIERPUyBwYXJ0aXRpb24uCisuUkUKKworLkIgSVJJWC9TR0ktdHlwZQorLlJTCitBbiBJUklYL1NHSSBkaXNrbGFiZWwgY2FuIGRlc2NyaWJlIDE2IHBhcnRpdGlvbnMsIHRoZSBlbGV2ZW50aCBvZiB3aGljaCBzaG91bGQgYmUgYW4gZW50aXJlCitgdm9sdW1lJyBwYXJ0aXRpb24sIHdoaWxlIHRoZSBuaW50aCBzaG91bGQgYmUgbGFiZWxlZCBgdm9sdW1lIGhlYWRlcicuICBUaGUKK3ZvbHVtZSBoZWFkZXIgd2lsbCBhbHNvIGNvdmVyIHRoZSBwYXJ0aXRpb24gdGFibGUsIGkuZS4sIGl0IHN0YXJ0cyBhdCBibG9jaworemVybyBhbmQgZXh0ZW5kcyBieSBkZWZhdWx0IG92ZXIgZml2ZSBjeWxpbmRlcnMuICBUaGUgcmVtYWluaW5nIHNwYWNlIGluIHRoZQordm9sdW1lIGhlYWRlciBtYXkgYmUgdXNlZCBieSBoZWFkZXIgZGlyZWN0b3J5IGVudHJpZXMuICBObyBwYXJ0aXRpb25zIG1heQorb3ZlcmxhcCB3aXRoIHRoZSB2b2x1bWUgaGVhZGVyLiAgQWxzbyBkbyBub3QgY2hhbmdlIGl0cyB0eXBlIG9yIG1ha2Ugc29tZQorZmlsZXN5c3RlbSBvbiBpdCwgc2luY2UgeW91IHdpbGwgbG9zZSB0aGUgcGFydGl0aW9uIHRhYmxlLiAgVXNlIHRoaXMgdHlwZSBvZgorbGFiZWwgb25seSB3aGVuIHdvcmtpbmcgd2l0aCBMaW51eCBvbiBJUklYL1NHSSBtYWNoaW5lcyBvciBJUklYL1NHSSBkaXNrcyB1bmRlcgorTGludXguCisuUkUKKworQSBzeW5jKCkgYW5kIGFuIGlvY3RsKEJMS1JSUEFSVCkgKHJlcmVhZGluZyB0aGUgcGFydGl0aW9uIHRhYmxlIGZyb20gZGlzaykKK2FyZSBwZXJmb3JtZWQgYmVmb3JlIGV4aXRpbmcgd2hlbiB0aGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIHVwZGF0ZWQuCisKKy5TSCAiRE9TIG1vZGUgYW5kIERPUyA2LnggV0FSTklORyIKKy5CIE5vdGUgdGhhdCBhbGwgdGhpcyBpcyBkZXByZWNhdGVkLiAgWW91IGRvbid0IGhhdmUgdG8gY2FyZSBhYm91dCB0aGluZ3MgbGlrZQorLkIgZ2VvbWV0cnkgYW5kIGN5bGluZGVycyBvbiBtb2Rlcm4gb3BlcmF0aW5nIHN5c3RlbXMuICBJZiB5b3UgcmVhbGx5IHdhbnQKKy5CIERPUy1jb21wYXRpYmxlIHBhcnRpdGlvbmluZyB0aGVuIHlvdSBoYXZlIHRvIGVuYWJsZSBET1MgbW9kZSBhbmQgY3lsaW5kZXIKKy5CIHVuaXRzIGJ5IHVzaW5nIHRoZSAnLWM9ZG9zIC11PWN5bGluZGVycycgZmRpc2sgY29tbWFuZC1saW5lIG9wdGlvbnMuCisKK1RoZSBET1MgNi54IEZPUk1BVCBjb21tYW5kIGxvb2tzIGZvciBzb21lIGluZm9ybWF0aW9uIGluIHRoZSBmaXJzdCBzZWN0b3Igb2YKK3RoZSBkYXRhIGFyZWEgb2YgdGhlIHBhcnRpdGlvbiwgYW5kIHRyZWF0cyB0aGlzIGluZm9ybWF0aW9uIGFzIG1vcmUgcmVsaWFibGUKK3RoYW4gdGhlIGluZm9ybWF0aW9uIGluIHRoZSBwYXJ0aXRpb24gdGFibGUuICBET1MgRk9STUFUIGV4cGVjdHMgRE9TIEZESVNLIHRvCitjbGVhciB0aGUgZmlyc3QgNTEyIGJ5dGVzIG9mIHRoZSBkYXRhIGFyZWEgb2YgYSBwYXJ0aXRpb24gd2hlbmV2ZXIgYSBzaXplCitjaGFuZ2Ugb2NjdXJzLiAgRE9TIEZPUk1BVCB3aWxsIGxvb2sgYXQgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBldmVuIGlmIHRoZSAvVQorZmxhZyBpcyBnaXZlbiAtLSB3ZSBjb25zaWRlciB0aGlzIGEgYnVnIGluIERPUyBGT1JNQVQgYW5kIERPUyBGRElTSy4KKworVGhlIGJvdHRvbSBsaW5lIGlzIHRoYXQgaWYgeW91IHVzZSBcZkJmZGlza1xmUiBvciBcZkJjZmRpc2tcZlIgdG8gY2hhbmdlIHRoZQorc2l6ZSBvZiBhIERPUyBwYXJ0aXRpb24gdGFibGUgZW50cnksIHRoZW4geW91IG11c3QgYWxzbyB1c2UKKy5CUiBkZCAiKDEpIHRvICIgInplcm8gdGhlIGZpcnN0IDUxMiBieXRlcyIKK29mIHRoYXQgcGFydGl0aW9uIGJlZm9yZSB1c2luZyBET1MgRk9STUFUIHRvIGZvcm1hdCB0aGUgcGFydGl0aW9uLiAgRm9yCitleGFtcGxlLCBpZiB5b3Ugd2VyZSB1c2luZyBcZkJmZGlza1xmUiB0byBtYWtlIGEgRE9TIHBhcnRpdGlvbiB0YWJsZSBlbnRyeSBmb3IKKy9kZXYvc2RhMSwgdGhlbiAoYWZ0ZXIgZXhpdGluZyBcZkJmZGlza1xmUiBhbmQgcmVib290aW5nIExpbnV4IHNvIHRoYXQgdGhlCitwYXJ0aXRpb24gdGFibGUgaW5mb3JtYXRpb24gaXMgdmFsaWQpIHlvdSB3b3VsZCB1c2UgdGhlIGNvbW1hbmQgImRkCitpZj0vZGV2L3plcm8gb2Y9L2Rldi9zZGExIGJzPTUxMiBjb3VudD0xIiB0byB6ZXJvIHRoZSBmaXJzdCA1MTIgYnl0ZXMgb2YgdGhlCitwYXJ0aXRpb24uCisKKy5CIGZkaXNrCit1c3VhbGx5IG9idGFpbnMgdGhlIGRpc2sgZ2VvbWV0cnkgYXV0b21hdGljYWxseS4gIFRoaXMgaXMgbm90IG5lY2Vzc2FyaWx5IHRoZQorcGh5c2ljYWwgZGlzayBnZW9tZXRyeSAoaW5kZWVkLCBtb2Rlcm4gZGlza3MgZG8gbm90IHJlYWxseSBoYXZlIGFueXRoaW5nIGxpa2UgYQorcGh5c2ljYWwgZ2VvbWV0cnksIGNlcnRhaW5seSBub3Qgc29tZXRoaW5nIHRoYXQgY2FuIGJlIGRlc2NyaWJlZCBpbiB0aGUgc2ltcGxpc3RpYworQ3lsaW5kZXJzL0hlYWRzL1NlY3RvcnMgZm9ybSksIGJ1dCBpdCBpcyB0aGUgZGlzayBnZW9tZXRyeSB0aGF0IE1TLURPUyB1c2VzIGZvcgordGhlIHBhcnRpdGlvbiB0YWJsZS4KKworVXN1YWxseSBhbGwgZ29lcyB3ZWxsIGJ5IGRlZmF1bHQsIGFuZCB0aGVyZSBhcmUgbm8gcHJvYmxlbXMgaWYgTGludXggaXMgdGhlCitvbmx5IHN5c3RlbSBvbiB0aGUgZGlzay4gIEhvd2V2ZXIsIGlmIHRoZSBkaXNrIGhhcyB0byBiZSBzaGFyZWQgd2l0aCBvdGhlcgorb3BlcmF0aW5nIHN5c3RlbXMsIGl0IGlzIG9mdGVuIGEgZ29vZCBpZGVhIHRvIGxldCBhbiBmZGlzayBmcm9tIGFub3RoZXIKK29wZXJhdGluZyBzeXN0ZW0gbWFrZSBhdCBsZWFzdCBvbmUgcGFydGl0aW9uLiAgV2hlbiBMaW51eCBib290cyBpdCBsb29rcyBhdCB0aGUKK3BhcnRpdGlvbiB0YWJsZSwgYW5kIHRyaWVzIHRvIGRlZHVjZSB3aGF0IChmYWtlKSBnZW9tZXRyeSBpcyByZXF1aXJlZCBmb3IgZ29vZAorY29vcGVyYXRpb24gd2l0aCBvdGhlciBzeXN0ZW1zLgorCitXaGVuZXZlciBhIHBhcnRpdGlvbiB0YWJsZSBpcyBwcmludGVkIG91dCBpbiBET1MgbW9kZSwgYSBjb25zaXN0ZW5jeSBjaGVjayBpcworcGVyZm9ybWVkIG9uIHRoZSBwYXJ0aXRpb24gdGFibGUgZW50cmllcy4gIFRoaXMgY2hlY2sgdmVyaWZpZXMgdGhhdCB0aGUKK3BoeXNpY2FsIGFuZCBsb2dpY2FsIHN0YXJ0IGFuZCBlbmQgcG9pbnRzIGFyZSBpZGVudGljYWwsIGFuZCB0aGF0IGVhY2gKK3BhcnRpdGlvbiBzdGFydHMgYW5kIGVuZHMgb24gYSBjeWxpbmRlciBib3VuZGFyeSAoZXhjZXB0IGZvciB0aGUgZmlyc3QKK3BhcnRpdGlvbikuCisKK1NvbWUgdmVyc2lvbnMgb2YgTVMtRE9TIGNyZWF0ZSBhIGZpcnN0IHBhcnRpdGlvbiB3aGljaCBkb2VzIG5vdCBiZWdpbgorb24gYSBjeWxpbmRlciBib3VuZGFyeSwgYnV0IG9uIHNlY3RvciAyIG9mIHRoZSBmaXJzdCBjeWxpbmRlci4KK1BhcnRpdGlvbnMgYmVnaW5uaW5nIGluIGN5bGluZGVyIDEgY2Fubm90IGJlZ2luIG9uIGEgY3lsaW5kZXIgYm91bmRhcnksIGJ1dAordGhpcyBpcyB1bmxpa2VseSB0byBjYXVzZSBkaWZmaWN1bHR5IHVubGVzcyB5b3UgaGF2ZSBPUy8yIG9uIHlvdXIgbWFjaGluZS4KKworRm9yIGJlc3QgcmVzdWx0cywgeW91IHNob3VsZCBhbHdheXMgdXNlIGFuIE9TLXNwZWNpZmljIHBhcnRpdGlvbiB0YWJsZQorcHJvZ3JhbS4gIEZvciBleGFtcGxlLCB5b3Ugc2hvdWxkIG1ha2UgRE9TIHBhcnRpdGlvbnMgd2l0aCB0aGUgRE9TIEZESVNLCitwcm9ncmFtIGFuZCBMaW51eCBwYXJ0aXRpb25zIHdpdGggdGhlIExpbnV4IGZkaXNrIG9yIExpbnV4IGNmZGlzayBwcm9ncmFtcy4KKy5TSCBDT0xPUlMKK0ltcGxpY2l0IGNvbG9yaW5nIGNhbiBiZSBkaXNhYmxlZCBieSBhbiBlbXB0eSBmaWxlIFxmSS9ldGMvdGVybWluYWwtY29sb3JzLmQvZmRpc2suZGlzYWJsZVxmUi4KKworU2VlCisuQlIgdGVybWluYWwtY29sb3JzLmQgKDUpCitmb3IgbW9yZSBkZXRhaWxzIGFib3V0IGNvbG9yaXphdGlvbiBjb25maWd1cmF0aW9uLiBUaGUgbG9naWNhbCBjb2xvciBuYW1lcworc3VwcG9ydGVkIGJ5CisuQiBmZGlzaworYXJlOgorLlRQCisuQiBoZWFkZXIKK1RoZSBoZWFkZXIgb2YgdGhlIG91dHB1dCB0YWJsZXMuCisuVFAKKy5CIGhlbHAtdGl0bGUKK1RoZSBoZWxwIHNlY3Rpb24gdGl0bGVzLgorLlRQCisuQiB3YXJuCitUaGUgd2FybmluZyBtZXNzYWdlcy4KKy5UUAorLkIgd2VsY29tZQorVGhlIHdlbGNvbWUgbWVzc2FnZS4KKworLlNIIEFVVEhPUlMKKy5NVCBremFrQHJlZGhhdC5jb20KK0thcmVsIFphaworLk1FCisuYnIKKy5NVCBkYXZlQGdudS5vcmcKK0RhdmlkbG9ociBCdWVzbworLk1FCisuYnIKKy5QUAorVGhlIG9yaWdpbmFsIHZlcnNpb24gd2FzIHdyaXR0ZW4gYnkKK0FuZHJpZXMgRS4gQnJvdXdlciwgQS4gVi4gTGUgQmxhbmMgYW5kIG90aGVycy4KKworLlNIIEVOVklST05NRU5UCisuSVAgRkRJU0tfREVCVUc9YWxsCitlbmFibGVzIGZkaXNrIGRlYnVnIG91dHB1dC4KKy5JUCBMSUJGRElTS19ERUJVRz1hbGwKK2VuYWJsZXMgbGliZmRpc2sgZGVidWcgb3V0cHV0LgorLklQIExJQkJMS0lEX0RFQlVHPWFsbAorZW5hYmxlcyBsaWJibGtpZCBkZWJ1ZyBvdXRwdXQuCisuSVAgTElCU01BUlRDT0xTX0RFQlVHPWFsbAorZW5hYmxlcyBsaWJzbWFydGNvbHMgZGVidWcgb3V0cHV0LgorLklQIExJQlNNQVJUQ09MU19ERUJVR19QQURESU5HPW9uCit1c2UgdmlzaWJsZSBwYWRkaW5nIGNoYXJhY3RlcnMuIFJlcXVpcmVzIGVuYWJsZWQgTElCU01BUlRDT0xTX0RFQlVHLgorCisuU0ggIlNFRSBBTFNPIgorLkJSIGNmZGlzayAoOCksCisuQlIgbWtmcyAoOCksCisuQlIgcGFydHggKDgpLAorLkJSIHNmZGlzayAoOCkKKworLlNIIEFWQUlMQUJJTElUWQorVGhlIGZkaXNrIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9mZGlzay5jIGIvZGlzay11dGlscy9mZGlzay5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmN2YwY2UKLS0tIC9kZXYvbnVsbAorKysgYi9kaXNrLXV0aWxzL2ZkaXNrLmMKQEAgLTAsMCArMSwxMDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAxOTkyICBBLiBWLiBMZSBCbGFuYyAoTGVCbGFuY0BtY2MuYWMudWspCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgIERhdmlkbG9ociBCdWVzbyA8ZGF2ZUBnbnUub3JnPgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDEzIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlLiAgWW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb246IGVpdGhlciB2ZXJzaW9uIDEgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKi8KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNpbmNsdWRlIDx0aW1lLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8bGlic21hcnRjb2xzLmg+CisjaWZkZWYgSEFWRV9MSUJSRUFETElORQorIyBpbmNsdWRlIDxyZWFkbGluZS9yZWFkbGluZS5oPgorI2VuZGlmCisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAiYWxsLWlvLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAicnBtYXRjaC5oIgorI2luY2x1ZGUgImJsa2Rldi5oIgorI2luY2x1ZGUgIm1ic2FsaWduLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAiY2Fub25pY2FsaXplLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgInBhZ2VyLmgiCisKKyNpbmNsdWRlICJmZGlzay5oIgorCisjaW5jbHVkZSAicHQtc3VuLmgiCQkvKiB0byB0b2dnbGUgZmxhZ3MgKi8KKworI2lmZGVmIEhBVkVfTElOVVhfQ09NUElMRVJfSAorIyBpbmNsdWRlIDxsaW51eC9jb21waWxlci5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9MSU5VWF9CTEtQR19ICisjIGluY2x1ZGUgPGxpbnV4L2Jsa3BnLmg+CisjZW5kaWYKKworaW50IHB3aXBlbW9kZSA9IFdJUEVNT0RFX0FVVE87CisKKy8qCisgKiBmZGlzayBkZWJ1ZyBzdHVmZiAoc2VlIGZkaXNrLmggYW5kIGluY2x1ZGUvZGVidWcuaCkKKyAqLworVUxfREVCVUdfREVGSU5FX01BU0soZmRpc2spOworVUxfREVCVUdfREVGSU5FX01BU0tOQU1FUyhmZGlzaykgPSBVTF9ERUJVR19FTVBUWV9NQVNLTkFNRVM7CisKK3N0YXRpYyB2b2lkIGZkaXNrcHJvZ19pbml0X2RlYnVnKHZvaWQpCit7CisJX19VTF9JTklUX0RFQlVHKGZkaXNrLCBGRElTS1BST0dfREVCVUdfLCAwLCBGRElTS19ERUJVRyk7Cit9CisKKyNpZmRlZiBIQVZFX0xJQlJFQURMSU5FCitzdGF0aWMgY2hhciAqcmxfZmdldHMoY2hhciAqcywgaW50IG4sIEZJTEUgKnN0cmVhbSwgY29uc3QgY2hhciAqcHJvbXB0KQoreworCWNoYXIgKnA7CisKKwlybF9vdXRzdHJlYW0gPSBzdHJlYW07CisJcCA9IHJlYWRsaW5lKHByb21wdCk7CisJaWYgKCFwKQorCQlyZXR1cm4gTlVMTDsKKworCXN0cm5jcHkocywgcCwgbik7CisJc1tuIC0gMV0gPSAnXDAnOworCWZyZWUocCk7CisJcmV0dXJuIHM7Cit9CisjZW5kaWYKKworaW50IGdldF91c2VyX3JlcGx5KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKnByb21wdCwKKwkJCSAgY2hhciAqYnVmLCBzaXplX3QgYnVmc3opCit7CisJY2hhciAqcDsKKwlzaXplX3Qgc3o7CisKKwlkbyB7CisjaWZkZWYgSEFWRV9MSUJSRUFETElORQorCQlpZiAoaXNhdHR5KFNURElOX0ZJTEVOTykpIHsKKwkJCWlmICghcmxfZmdldHMoYnVmLCBidWZzeiwgc3Rkb3V0LCBwcm9tcHQpKSB7CisJCQkJaWYgKGZkaXNrX2xhYmVsX2lzX2NoYW5nZWQoZmRpc2tfZ2V0X2xhYmVsKGN4dCwgTlVMTCkpKSB7CisJCQkJCWlmIChybF9mZ2V0cyhidWYsIGJ1ZnN6LCBzdGRlcnIsCisJCQkJCQkJXygiXG5EbyB5b3UgcmVhbGx5IHdhbnQgdG8gcXVpdD8gIikpCisJCQkJCQkJJiYgIXJwbWF0Y2goYnVmKSkKKwkJCQkJCWNvbnRpbnVlOworCQkJCX0KKwkJCQlmZGlza191bnJlZl9jb250ZXh0KGN4dCk7CisJCQkJZXhpdChFWElUX0ZBSUxVUkUpOworCQkJfSBlbHNlCisJCQkJYnJlYWs7CisJCX0KKwkJZWxzZQorI2VuZGlmCisJCXsKKwkJCWZwdXRzKHByb21wdCwgc3Rkb3V0KTsKKwkJCWZmbHVzaChzdGRvdXQpOworCQkJaWYgKCFmZ2V0cyhidWYsIGJ1ZnN6LCBzdGRpbikpIHsKKwkJCQlpZiAoZmRpc2tfbGFiZWxfaXNfY2hhbmdlZChmZGlza19nZXRfbGFiZWwoY3h0LCBOVUxMKSkpIHsKKwkJCQkJZnByaW50ZihzdGRlcnIsIF8oIlxuRG8geW91IHJlYWxseSB3YW50IHRvIHF1aXQ/ICIpKTsKKworCQkJCQlpZiAoZmdldHMoYnVmLCBidWZzeiwgc3RkaW4pICYmICFycG1hdGNoKGJ1ZikpCisJCQkJCQljb250aW51ZTsKKwkJCQl9CisJCQkJZmRpc2tfdW5yZWZfY29udGV4dChjeHQpOworCQkJCWV4aXQoRVhJVF9GQUlMVVJFKTsKKwkJCX0gZWxzZQorCQkJCWJyZWFrOworCQl9CisJfSB3aGlsZSAoMSk7CisKKwlmb3IgKHAgPSBidWY7ICpwICYmICFpc2dyYXBoKCpwKTsgcCsrKTsJLyogZ2V0IGZpcnN0IG5vbi1ibGFuayAqLworCisJaWYgKHAgPiBidWYpCisJCW1lbW1vdmUoYnVmLCBwLCBwIC0gYnVmKTsJCS8qIHJlbW92ZSBibGFuayBzcGFjZSAqLworCXN6ID0gc3RybGVuKGJ1Zik7CisJaWYgKHN6ICYmICooYnVmICsgc3ogLSAxKSA9PSAnXG4nKQorCQkqKGJ1ZiArIHN6IC0gMSkgPSAnXDAnOworCisJREJHKEFTSywgdWxfZGVidWcoInVzZXIncyByZXBseTogPj4+JXM8PDwiLCBidWYpKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhc2tfbWVudShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzdHJ1Y3QgZmRpc2tfYXNrICphc2ssCisJCSAgICBjaGFyICpidWYsIHNpemVfdCBidWZzeikKKworeworCWNvbnN0IGNoYXIgKnEgPSBmZGlza19hc2tfZ2V0X3F1ZXJ5KGFzayk7CisJaW50IGRmdCA9IGZkaXNrX2Fza19tZW51X2dldF9kZWZhdWx0KGFzayk7CisKKwlpZiAocSkgeworCQlmcHV0cyhxLCBzdGRvdXQpOwkJLyogcHJpbnQgaGVhZGVyICovCisJCWZwdXRjKCdcbicsIHN0ZG91dCk7CisJfQorCisJZG8geworCQljaGFyIHByb21wdFsxMjhdOworCQlpbnQga2V5LCBjLCByYzsKKwkJY29uc3QgY2hhciAqbmFtZSwgKmRlc2M7CisJCXNpemVfdCBpID0gMDsKKworCQkvKiBwcmludCBtZW51IGl0ZW1zICovCisJCXdoaWxlIChmZGlza19hc2tfbWVudV9nZXRfaXRlbShhc2ssIGkrKywgJmtleSwgJm5hbWUsICZkZXNjKSA9PSAwKQorCQkJZnByaW50ZihzdGRvdXQsICIgICAlYyAgICVzICglcylcbiIsIGtleSwgbmFtZSwgZGVzYyk7CisKKwkJLyogYXNrIGZvciBrZXkgKi8KKwkJc25wcmludGYocHJvbXB0LCBzaXplb2YocHJvbXB0KSwgXygiU2VsZWN0IChkZWZhdWx0ICVjKTogIiksIGRmdCk7CisJCXJjID0gZ2V0X3VzZXJfcmVwbHkoY3h0LCBwcm9tcHQsIGJ1ZiwgYnVmc3opOworCQlpZiAocmMpCisJCQlyZXR1cm4gcmM7CisJCWlmICghKmJ1ZikgeworCQkJZmRpc2tfaW5mbyhjeHQsIF8oIlVzaW5nIGRlZmF1bHQgcmVzcG9uc2UgJWMuIiksIGRmdCk7CisJCQljID0gZGZ0OworCQl9IGVsc2UKKwkJCWMgPSB0b2xvd2VyKGJ1ZlswXSk7CisKKwkJLyogY2hlY2sgcmVzdWx0ICovCisJCWkgPSAwOworCQl3aGlsZSAoZmRpc2tfYXNrX21lbnVfZ2V0X2l0ZW0oYXNrLCBpKyssICZrZXksIE5VTEwsIE5VTEwpID09IDApIHsKKwkJCWlmIChjID09IGtleSkgeworCQkJCWZkaXNrX2Fza19tZW51X3NldF9yZXN1bHQoYXNrLCBjKTsKKwkJCQlyZXR1cm4gMDsJLyogc3VjY2VzcyAqLworCQkJfQorCQl9CisJCWZkaXNrX3dhcm54KGN4dCwgXygiVmFsdWUgb3V0IG9mIHJhbmdlLiIpKTsKKwl9IHdoaWxlICgxKTsKKworCXJldHVybiAtRUlOVkFMOworfQorCisKKyNkZWZpbmUgdG9jaGFyKG51bSkJKChpbnQpICgnYScgKyBudW0gLSAxKSkKK3N0YXRpYyBpbnQgYXNrX251bWJlcihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkgICAgICBzdHJ1Y3QgZmRpc2tfYXNrICphc2ssCisJCSAgICAgIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnN6KQoreworCWNoYXIgcHJvbXB0WzEyOF0gPSB7ICdcMCcgfTsKKwljb25zdCBjaGFyICpxID0gZmRpc2tfYXNrX2dldF9xdWVyeShhc2spOworCWNvbnN0IGNoYXIgKnJhbmdlID0gZmRpc2tfYXNrX251bWJlcl9nZXRfcmFuZ2UoYXNrKTsKKworCXVpbnQ2NF90IGRmbHQgPSBmZGlza19hc2tfbnVtYmVyX2dldF9kZWZhdWx0KGFzayksCisJCSBsb3cgPSBmZGlza19hc2tfbnVtYmVyX2dldF9sb3coYXNrKSwKKwkJIGhpZ2ggPSBmZGlza19hc2tfbnVtYmVyX2dldF9oaWdoKGFzayk7CisJaW50IGluY2hhciA9IGZkaXNrX2Fza19udW1iZXJfaW5jaGFycyhhc2spOworCisJYXNzZXJ0KHEpOworCisJREJHKEFTSywgdWxfZGVidWcoImFza2luZyBmb3IgbnVtYmVyICIKKwkJCSJbJyVzJywgPCUiUFJJdTY0IiwlIlBSSXU2NCI+LCBkZWZhdWx0PSUiUFJJdTY0IiwgcmFuZ2U6ICVzXSIsCisJCQlxLCBsb3csIGhpZ2gsIGRmbHQsIHJhbmdlKSk7CisKKwlpZiAocmFuZ2UgJiYgZGZsdCA+PSBsb3cgJiYgZGZsdCA8PSBoaWdoKSB7CisJCWlmIChpbmNoYXIpCisJCQlzbnByaW50Zihwcm9tcHQsIHNpemVvZihwcm9tcHQpLCBfKCIlcyAoJXMsIGRlZmF1bHQgJWMpOiAiKSwKKwkJCQkJcSwgcmFuZ2UsIHRvY2hhcihkZmx0KSk7CisJCWVsc2UKKwkJCXNucHJpbnRmKHByb21wdCwgc2l6ZW9mKHByb21wdCksIF8oIiVzICglcywgZGVmYXVsdCAlIlBSSXU2NCIpOiAiKSwKKwkJCQkJcSwgcmFuZ2UsIGRmbHQpOworCisJfSBlbHNlIGlmIChkZmx0ID49IGxvdyAmJiBkZmx0IDw9IGhpZ2gpIHsKKwkJaWYgKGluY2hhcikKKwkJCXNucHJpbnRmKHByb21wdCwgc2l6ZW9mKHByb21wdCksIF8oIiVzICglYy0lYywgZGVmYXVsdCAlYyk6ICIpLAorCQkJCQlxLCB0b2NoYXIobG93KSwgdG9jaGFyKGhpZ2gpLCB0b2NoYXIoZGZsdCkpOworCQllbHNlCisJCQlzbnByaW50Zihwcm9tcHQsIHNpemVvZihwcm9tcHQpLAorCQkJCQlfKCIlcyAoJSJQUkl1NjQiLSUiUFJJdTY0IiwgZGVmYXVsdCAlIlBSSXU2NCIpOiAiKSwKKwkJCQkJcSwgbG93LCBoaWdoLCBkZmx0KTsKKwl9IGVsc2UgaWYgKGluY2hhcikKKwkJc25wcmludGYocHJvbXB0LCBzaXplb2YocHJvbXB0KSwgXygiJXMgKCVjLSVjKTogIiksCisJCQkJcSwgdG9jaGFyKGxvdyksIHRvY2hhcihoaWdoKSk7CisJZWxzZQorCQlzbnByaW50Zihwcm9tcHQsIHNpemVvZihwcm9tcHQpLCBfKCIlcyAoJSJQUkl1NjQiLSUiUFJJdTY0Iik6ICIpLAorCQkJCXEsIGxvdywgaGlnaCk7CisKKwlkbyB7CisJCWludCByYyA9IGdldF91c2VyX3JlcGx5KGN4dCwgcHJvbXB0LCBidWYsIGJ1ZnN6KTsKKwkJdWludDY0X3QgbnVtOworCisJCWlmIChyYykKKwkJCXJldHVybiByYzsKKwkJaWYgKCEqYnVmICYmIGRmbHQgPj0gbG93ICYmIGRmbHQgPD0gaGlnaCkKKwkJCXJldHVybiBmZGlza19hc2tfbnVtYmVyX3NldF9yZXN1bHQoYXNrLCBkZmx0KTsKKworCQlpZiAoaXNkaWdpdF9zdHJpbmcoYnVmKSkgeworCQkJY2hhciAqZW5kOworCisJCQllcnJubyA9IDA7CisJCQludW0gPSBzdHJ0b3VtYXgoYnVmLCAmZW5kLCAxMCk7CisJCQlpZiAoZXJybm8gfHwgYnVmID09IGVuZCB8fCAoZW5kICYmICplbmQpKQorCQkJCWNvbnRpbnVlOworCQl9IGVsc2UgaWYgKGluY2hhciAmJiBpc2FscGhhKCpidWYpKSB7CisJCQludW0gPSB0b2xvd2VyKCpidWYpIC0gJ2EnICsgMTsKKwkJfSBlbHNlCisJCQlyYyA9IC1FSU5WQUw7CisKKwkJaWYgKHJjID09IDAgJiYgbnVtID49IGxvdyAmJiBudW0gPD0gaGlnaCkKKwkJCXJldHVybiBmZGlza19hc2tfbnVtYmVyX3NldF9yZXN1bHQoYXNrLCBudW0pOworCisJCWZkaXNrX3dhcm54KGN4dCwgXygiVmFsdWUgb3V0IG9mIHJhbmdlLiIpKTsKKwl9IHdoaWxlICgxKTsKKworCXJldHVybiAtMTsKK30KKworc3RhdGljIGludCBhc2tfb2Zmc2V0KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCSAgICAgIHN0cnVjdCBmZGlza19hc2sgKmFzaywKKwkJICAgICAgY2hhciAqYnVmLCBzaXplX3QgYnVmc3opCit7CisJY2hhciBwcm9tcHRbMTI4XSA9IHsgJ1wwJyB9OworCWNvbnN0IGNoYXIgKnEgPSBmZGlza19hc2tfZ2V0X3F1ZXJ5KGFzayk7CisJY29uc3QgY2hhciAqcmFuZ2UgPSBmZGlza19hc2tfbnVtYmVyX2dldF9yYW5nZShhc2spOworCisJdWludDY0X3QgZGZsdCA9IGZkaXNrX2Fza19udW1iZXJfZ2V0X2RlZmF1bHQoYXNrKSwKKwkJIGxvdyA9IGZkaXNrX2Fza19udW1iZXJfZ2V0X2xvdyhhc2spLAorCQkgaGlnaCA9IGZkaXNrX2Fza19udW1iZXJfZ2V0X2hpZ2goYXNrKSwKKwkJIGJhc2UgPSBmZGlza19hc2tfbnVtYmVyX2dldF9iYXNlKGFzayk7CisKKwlhc3NlcnQocSk7CisKKwlEQkcoQVNLLCB1bF9kZWJ1ZygiYXNraW5nIGZvciBvZmZzZXQgWyclcycsIDwlIlBSSXU2NCIsJSJQUkl1NjQiPiwgYmFzZT0lIlBSSXU2NCIsIGRlZmF1bHQ9JSJQUkl1NjQiLCByYW5nZTogJXNdIiwKKwkJCQlxLCBsb3csIGhpZ2gsIGJhc2UsIGRmbHQsIHJhbmdlKSk7CisKKwlpZiAocmFuZ2UgJiYgZGZsdCA+PSBsb3cgJiYgZGZsdCA8PSBoaWdoKQorCQlzbnByaW50Zihwcm9tcHQsIHNpemVvZihwcm9tcHQpLCBfKCIlcyAoJXMsIGRlZmF1bHQgJSJQUkl1NjQiKTogIiksCisJCSAgICAgICAgIHEsIHJhbmdlLCBkZmx0KTsKKwllbHNlIGlmIChkZmx0ID49IGxvdyAmJiBkZmx0IDw9IGhpZ2gpCisJCXNucHJpbnRmKHByb21wdCwgc2l6ZW9mKHByb21wdCksCisJCSAgICAgICAgIF8oIiVzICglIlBSSXU2NCItJSJQUkl1NjQiLCBkZWZhdWx0ICUiUFJJdTY0Iik6ICIpLAorCQkgICAgICAgICBxLCBsb3csIGhpZ2gsIGRmbHQpOworCWVsc2UKKwkJc25wcmludGYocHJvbXB0LCBzaXplb2YocHJvbXB0KSwgXygiJXMgKCUiUFJJdTY0Ii0lIlBSSXU2NCIpOiAiKSwKKwkJICAgICAgICAgcSwgbG93LCBoaWdoKTsKKworCWRvIHsKKwkJdWludG1heF90IG51bSA9IDA7CisJCWNoYXIgc2lnID0gMCwgKnA7CisJCWludCBwd3IgPSAwOworCisJCWludCByYyA9IGdldF91c2VyX3JlcGx5KGN4dCwgcHJvbXB0LCBidWYsIGJ1ZnN6KTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCQlpZiAoISpidWYgJiYgZGZsdCA+PSBsb3cgJiYgZGZsdCA8PSBoaWdoKQorCQkJcmV0dXJuIGZkaXNrX2Fza19udW1iZXJfc2V0X3Jlc3VsdChhc2ssIGRmbHQpOworCisJCXAgPSBidWY7CisJCWlmICgqcCA9PSAnKycgfHwgKnAgPT0gJy0nKSB7CisJCQlzaWcgPSAqYnVmOworCQkJcCsrOworCQl9CisKKwkJcmMgPSBwYXJzZV9zaXplKHAsICZudW0sICZwd3IpOworCQlpZiAocmMpCisJCQljb250aW51ZTsKKwkJREJHKEFTSywgdWxfZGVidWcoInBhcnNlZCBzaXplOiAlanUiLCBudW0pKTsKKwkJaWYgKHNpZyAmJiBwd3IpIHsKKwkJCS8qICt7c2l6ZX17SyxNLC4uLn0gc3BlY2lmaWVkLCB0aGUgIm51bSIgaXMgaW4gYnl0ZXMgKi8KKwkJCXVpbnQ2NF90IHVuaXQgPSBmZGlza19hc2tfbnVtYmVyX2dldF91bml0KGFzayk7CisJCQludW0gKz0gdW5pdC8yOwkvKiByb3VuZCAqLworCQkJbnVtIC89IHVuaXQ7CisJCX0KKwkJaWYgKHNpZyA9PSAnKycpCisJCQludW0gKz0gYmFzZTsKKwkJZWxzZSBpZiAoc2lnID09ICctJykKKwkJCW51bSA9IGJhc2UgLSBudW07CisKKwkJREJHKEFTSywgdWxfZGVidWcoImZpbmFsIG9mZnNldDogJWp1IFtzaWc6ICVjLCBwb3dlcjogJWQsICVzXSIsCisJCQkJbnVtLCBzaWcsIHB3ciwKKwkJCQlzaWcgPyAicmVsYXRpdmUiIDogImFic29sdXRlIikpOworCQlpZiAobnVtID49IGxvdyAmJiBudW0gPD0gaGlnaCkgeworCQkJaWYgKHNpZyAmJiBwd3IpCisJCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfcmVsYXRpdmUoYXNrLCAxKTsKKwkJCXJldHVybiBmZGlza19hc2tfbnVtYmVyX3NldF9yZXN1bHQoYXNrLCAodWludDY0X3QpbnVtKTsKKwkJfQorCQlmZGlza193YXJueChjeHQsIF8oIlZhbHVlIG91dCBvZiByYW5nZS4iKSk7CisJfSB3aGlsZSAoMSk7CisKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgaW5mb19jb3VudDsKKworc3RhdGljIHZvaWQgZnB1dHNfaW5mbyhzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIEZJTEUgKm91dCkKK3sKKwljb25zdCBjaGFyICptc2c7CisJYXNzZXJ0KGFzayk7CisKKwltc2cgPSBmZGlza19hc2tfcHJpbnRfZ2V0X21lc2coYXNrKTsKKwlpZiAoIW1zZykKKwkJcmV0dXJuOworCWlmIChpbmZvX2NvdW50ID09IDEpCisJCWZwdXRjKCdcbicsIG91dCk7CisKKwlmcHV0cyhtc2csIG91dCk7CisJZnB1dGMoJ1xuJywgb3V0KTsKK30KKworaW50IGFza19jYWxsYmFjayhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzdHJ1Y3QgZmRpc2tfYXNrICphc2ssCisJCSAgICB2b2lkICpkYXRhIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlpbnQgcmMgPSAwOworCWNoYXIgYnVmW0JVRlNJWl07CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoYXNrKTsKKworCWlmIChmZGlza19hc2tfZ2V0X3R5cGUoYXNrKSAhPSBGRElTS19BU0tUWVBFX0lORk8pCisJCWluZm9fY291bnQgPSAwOworCisJc3dpdGNoKGZkaXNrX2Fza19nZXRfdHlwZShhc2spKSB7CisJY2FzZSBGRElTS19BU0tUWVBFX01FTlU6CisJCXJldHVybiBhc2tfbWVudShjeHQsIGFzaywgYnVmLCBzaXplb2YoYnVmKSk7CisJY2FzZSBGRElTS19BU0tUWVBFX05VTUJFUjoKKwkJcmV0dXJuIGFza19udW1iZXIoY3h0LCBhc2ssIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCWNhc2UgRkRJU0tfQVNLVFlQRV9PRkZTRVQ6CisJCXJldHVybiBhc2tfb2Zmc2V0KGN4dCwgYXNrLCBidWYsIHNpemVvZihidWYpKTsKKwljYXNlIEZESVNLX0FTS1RZUEVfSU5GTzoKKwkJaWYgKCFmZGlza19pc19saXN0b25seShjeHQpKQorCQkJaW5mb19jb3VudCsrOworCQlmcHV0c19pbmZvKGFzaywgc3Rkb3V0KTsKKwkJYnJlYWs7CisJY2FzZSBGRElTS19BU0tUWVBFX1dBUk5YOgorCQlmZmx1c2goc3Rkb3V0KTsKKwkJY29sb3Jfc2NoZW1lX2ZlbmFibGUoIndhcm4iLCBVTF9DT0xPUl9SRUQsIHN0ZGVycik7CisJCWZwdXRzKGZkaXNrX2Fza19wcmludF9nZXRfbWVzZyhhc2spLCBzdGRlcnIpOworCQljb2xvcl9mZGlzYWJsZShzdGRlcnIpOworCQlmcHV0YygnXG4nLCBzdGRlcnIpOworCQlicmVhazsKKwljYXNlIEZESVNLX0FTS1RZUEVfV0FSTjoKKwkJZmZsdXNoKHN0ZG91dCk7CisJCWNvbG9yX3NjaGVtZV9mZW5hYmxlKCJ3YXJuIiwgVUxfQ09MT1JfUkVELCBzdGRlcnIpOworCQlmcHV0cyhmZGlza19hc2tfcHJpbnRfZ2V0X21lc2coYXNrKSwgc3RkZXJyKTsKKwkJZXJybm8gPSBmZGlza19hc2tfcHJpbnRfZ2V0X2Vycm5vKGFzayk7CisJCWZwcmludGYoc3RkZXJyLCAiOiAlbVxuIik7CisJCWNvbG9yX2ZkaXNhYmxlKHN0ZGVycik7CisJCWJyZWFrOworCWNhc2UgRkRJU0tfQVNLVFlQRV9ZRVNOTzoKKwkJZnB1dGMoJ1xuJywgc3Rkb3V0KTsKKwkJZG8geworCQkJaW50IHg7CisJCQlmcHV0cyhmZGlza19hc2tfZ2V0X3F1ZXJ5KGFzayksIHN0ZG91dCk7CisJCQlyYyA9IGdldF91c2VyX3JlcGx5KGN4dCwgXygiIFtZXWVzL1tOXW86ICIpLCBidWYsIHNpemVvZihidWYpKTsKKwkJCWlmIChyYykKKwkJCQlicmVhazsKKwkJCXggPSBycG1hdGNoKGJ1Zik7CisJCQlpZiAoeCA9PSBSUE1BVENIX1lFUyB8fCB4ID09IFJQTUFUQ0hfTk8pIHsKKwkJCQlmZGlza19hc2tfeWVzbm9fc2V0X3Jlc3VsdChhc2ssIHgpOworCQkJCWJyZWFrOworCQkJfQorCQl9IHdoaWxlKDEpOworCQlEQkcoQVNLLCB1bF9kZWJ1ZygieWVzLW5vIGFzazogcmVwbHkgJyVzJyBbcmM9JWRdIiwgYnVmLCByYykpOworCQlicmVhazsKKwljYXNlIEZESVNLX0FTS1RZUEVfU1RSSU5HOgorCXsKKwkJY2hhciBwcm10W0JVRlNJWl07CisJCXNucHJpbnRmKHBybXQsIHNpemVvZihwcm10KSwgIiVzOiAiLCBmZGlza19hc2tfZ2V0X3F1ZXJ5KGFzaykpOworCQlmcHV0YygnXG4nLCBzdGRvdXQpOworCQlyYyA9IGdldF91c2VyX3JlcGx5KGN4dCwgcHJtdCwgYnVmLCBzaXplb2YoYnVmKSk7CisJCWlmIChyYyA9PSAwKQorCQkJZmRpc2tfYXNrX3N0cmluZ19zZXRfcmVzdWx0KGFzaywgeHN0cmR1cChidWYpKTsKKwkJREJHKEFTSywgdWxfZGVidWcoInN0cmluZyBhc2s6IHJlcGx5ICclcycgW3JjPSVkXSIsIGJ1ZiwgcmMpKTsKKwkJYnJlYWs7CisJfQorCWRlZmF1bHQ6CisJCXdhcm54KF8oImludGVybmFsIGVycm9yOiB1bnN1cHBvcnRlZCBkaWFsb2cgdHlwZSAlZCIpLCBmZGlza19hc2tfZ2V0X3R5cGUoYXNrKSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKmFza19wYXJ0aXRpb25fdHlwZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWNvbnN0IGNoYXIgKnE7CisJc3RydWN0IGZkaXNrX2xhYmVsICpsYjsKKworCWFzc2VydChjeHQpOworCWxiID0gZmRpc2tfZ2V0X2xhYmVsKGN4dCwgTlVMTCk7CisKKwlpZiAoIWxiKQorCQlyZXR1cm4gTlVMTDsKKworICAgICAgICBxID0gZmRpc2tfbGFiZWxfaGFzX2NvZGVfcGFydHR5cGVzKGxiKSA/CisJCV8oIlBhcnRpdGlvbiB0eXBlICh0eXBlIEwgdG8gbGlzdCBhbGwgdHlwZXMpOiAiKSA6CisJCV8oIkhleCBjb2RlICh0eXBlIEwgdG8gbGlzdCBhbGwgY29kZXMpOiAiKTsKKwlkbyB7CisJCWNoYXIgYnVmWzI1Nl07CisJCWludCByYyA9IGdldF91c2VyX3JlcGx5KGN4dCwgcSwgYnVmLCBzaXplb2YoYnVmKSk7CisKKwkJaWYgKHJjKQorCQkJYnJlYWs7CisKKwkJaWYgKGJ1ZlsxXSA9PSAnXDAnICYmIHRvdXBwZXIoKmJ1ZikgPT0gJ0wnKQorCQkJbGlzdF9wYXJ0aXRpb25fdHlwZXMoY3h0KTsKKwkJZWxzZSBpZiAoKmJ1ZikKKwkJCXJldHVybiBmZGlza19sYWJlbF9wYXJzZV9wYXJ0dHlwZShsYiwgYnVmKTsKKyAgICAgICAgfSB3aGlsZSAoMSk7CisKKwlyZXR1cm4gTlVMTDsKK30KKworCit2b2lkIGxpc3RfcGFydGl0aW9uX3R5cGVzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc2l6ZV90IG50eXBlcyA9IDA7CisJc3RydWN0IGZkaXNrX2xhYmVsICpsYjsKKworCWFzc2VydChjeHQpOworCWxiID0gZmRpc2tfZ2V0X2xhYmVsKGN4dCwgTlVMTCk7CisJaWYgKCFsYikKKwkJcmV0dXJuOworCW50eXBlcyA9IGZkaXNrX2xhYmVsX2dldF9ucGFydHR5cGVzKGxiKTsKKwlpZiAoIW50eXBlcykKKwkJcmV0dXJuOworCisJaWYgKGZkaXNrX2xhYmVsX2hhc19jb2RlX3BhcnR0eXBlcyhsYikpIHsKKwkJLyoKKwkJICogUHJpbnRzIGluIDQgY29sdW1ucyBpbiBmb3JtYXQgPGhleD4gPG5hbWU+CisJCSAqLworCQlzaXplX3QgbGFzdFs0XSwgZG9uZSA9IDAsIG5leHQgPSAwLCBzaXplOworCQlpbnQgaTsKKworCQlzaXplID0gbnR5cGVzOworCisJCWZvciAoaSA9IDM7IGkgPj0gMDsgaS0tKQorCQkJbGFzdFszIC0gaV0gPSBkb25lICs9IChzaXplICsgaSAtIGRvbmUpIC8gKGkgKyAxKTsKKwkJaSA9IGRvbmUgPSAwOworCisJCWRvIHsKKwkJCSNkZWZpbmUgTkFNRV9XSURUSCAxNQorCQkJY2hhciBuYW1lW05BTUVfV0lEVEggKiBNQl9MRU5fTUFYXTsKKwkJCXNpemVfdCB3aWR0aCA9IE5BTUVfV0lEVEg7CisJCQljb25zdCBzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQgPSBmZGlza19sYWJlbF9nZXRfcGFydHR5cGUobGIsIG5leHQpOworCQkJc2l6ZV90IHJldDsKKworCQkJaWYgKGZkaXNrX3BhcnR0eXBlX2dldF9uYW1lKHQpKSB7CisJCQkJcHJpbnRmKCIlYyUyeCAgIiwgaSA/ICcgJyA6ICdcbicsCisJCQkJCQlmZGlza19wYXJ0dHlwZV9nZXRfY29kZSh0KSk7CisJCQkJcmV0ID0gbWJzYWxpZ24oXyhmZGlza19wYXJ0dHlwZV9nZXRfbmFtZSh0KSksCisJCQkJCQluYW1lLCBzaXplb2YobmFtZSksCisJCQkJCQkmd2lkdGgsIE1CU19BTElHTl9MRUZULCAwKTsKKworCQkJCWlmIChyZXQgPT0gKHNpemVfdCktMSB8fCByZXQgPj0gc2l6ZW9mKG5hbWUpKQorCQkJCQlwcmludGYoIiUtMTUuMTVzIiwKKwkJCQkJCV8oZmRpc2tfcGFydHR5cGVfZ2V0X25hbWUodCkpKTsKKwkJCQllbHNlCisJCQkJCWZwdXRzKG5hbWUsIHN0ZG91dCk7CisJCQl9CisKKwkJCW5leHQgPSBsYXN0W2krK10gKyBkb25lOworCQkJaWYgKGkgPiAzIHx8IG5leHQgPj0gbGFzdFtpXSkgeworCQkJCWkgPSAwOworCQkJCW5leHQgPSArK2RvbmU7CisJCQl9CisJCX0gd2hpbGUgKGRvbmUgPCBsYXN0WzBdKTsKKworCX0gZWxzZSB7CisJCS8qCisJCSAqIFByaW50cyAxIGNvbHVtbiBpbiBmb3JtYXQgPGlkeD4gPG5hbWU+IDx0eXBlc3RyPgorCQkgKi8KKwkJc2l6ZV90IGk7CisKKwkJcGFnZXJfb3BlbigpOworCisJCWZvciAoaSA9IDA7IGkgPCBudHlwZXM7IGkrKykgeworCQkJY29uc3Qgc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0ID0gZmRpc2tfbGFiZWxfZ2V0X3BhcnR0eXBlKGxiLCBpKTsKKwkJCXByaW50ZigiJTN6dSAlLTMwcyAlc1xuIiwgaSArIDEsCisJCQkJCWZkaXNrX3BhcnR0eXBlX2dldF9uYW1lKHQpLAorCQkJCQlmZGlza19wYXJ0dHlwZV9nZXRfc3RyaW5nKHQpKTsKKwkJfQorCisJCXBhZ2VyX2Nsb3NlKCk7CisJfQorCXB1dGNoYXIoJ1xuJyk7Cit9CisKK3ZvaWQgdG9nZ2xlX2Rvc19jb21wYXRpYmlsaXR5X2ZsYWcoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiID0gZmRpc2tfZ2V0X2xhYmVsKGN4dCwgImRvcyIpOworCWludCBmbGFnOworCisJaWYgKCFsYikKKwkJcmV0dXJuOworCisJZmxhZyA9ICFmZGlza19kb3NfaXNfY29tcGF0aWJsZShsYik7CisJZmRpc2tfaW5mbyhjeHQsIGZsYWcgPworCQkJXygiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBzZXQgKERFUFJFQ0FURUQhKSIpIDoKKwkJCV8oIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgbm90IHNldCIpKTsKKworCWZkaXNrX2Rvc19lbmFibGVfY29tcGF0aWJsZShsYiwgZmxhZyk7CisKKwlpZiAoZmRpc2tfaXNfbGFiZWwoY3h0LCBET1MpKQorCQlmZGlza19yZXNldF9hbGlnbm1lbnQoY3h0KTsJLyogcmVzZXQgdGhlIGN1cnJlbnQgbGFiZWwgKi8KK30KKwordm9pZCBjaGFuZ2VfcGFydGl0aW9uX3R5cGUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzaXplX3QgaTsKKwlzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQgPSBOVUxMOworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhID0gTlVMTDsKKwljb25zdCBjaGFyICpvbGQgPSBOVUxMOworCisJYXNzZXJ0KGN4dCk7CisKKwlpZiAoZmRpc2tfYXNrX3BhcnRudW0oY3h0LCAmaSwgRkFMU0UpKQorCQlyZXR1cm47CisKKwlpZiAoZmRpc2tfZ2V0X3BhcnRpdGlvbihjeHQsIGksICZwYSkpIHsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IGV4aXN0IHlldCEiKSwgaSArIDEpOworCQlyZXR1cm47CisJfQorCisJdCA9IChzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKikgZmRpc2tfcGFydGl0aW9uX2dldF90eXBlKHBhKTsKKwlvbGQgPSB0ID8gZmRpc2tfcGFydHR5cGVfZ2V0X25hbWUodCkgOiBfKCJVbmtub3duIik7CisKKwlkbyB7CisJCXQgPSBhc2tfcGFydGl0aW9uX3R5cGUoY3h0KTsKKwl9IHdoaWxlICghdCk7CisKKwlpZiAoZmRpc2tfc2V0X3BhcnRpdGlvbl90eXBlKGN4dCwgaSwgdCkgPT0gMCkKKwkJZmRpc2tfaW5mbyhjeHQsCisJCQlfKCJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICclcycgdG8gJyVzJy4iKSwKKwkJCW9sZCwgdCA/IGZkaXNrX3BhcnR0eXBlX2dldF9uYW1lKHQpIDogXygiVW5rbm93biIpKTsKKwllbHNlCisJCWZkaXNrX2luZm8oY3h0LAorCQkJXygiVHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZDogJXMuIiksCisJCQlpICsgMSwgb2xkKTsKKworCWZkaXNrX3VucmVmX3BhcnRpdGlvbihwYSk7CisJZmRpc2tfdW5yZWZfcGFydHR5cGUodCk7Cit9CisKK2ludCBwcmludF9wYXJ0aXRpb25faW5mbyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhID0gTlVMTDsKKwlpbnQgcmMgPSAwOworCXNpemVfdCBpLCBuZmllbGRzOworCWludCAqZmllbGRzID0gTlVMTDsKKwlzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiID0gZmRpc2tfZ2V0X2xhYmVsKGN4dCwgTlVMTCk7CisKKwlpZiAoKHJjID0gZmRpc2tfYXNrX3BhcnRudW0oY3h0LCAmaSwgRkFMU0UpKSkKKwkJcmV0dXJuIHJjOworCisJaWYgKChyYyA9IGZkaXNrX2dldF9wYXJ0aXRpb24oY3h0LCBpLCAmcGEpKSkgeworCQlmZGlza193YXJueChjeHQsIF8oIlBhcnRpdGlvbiAlenUgZG9lcyBub3QgZXhpc3QgeWV0ISIpLCBpICsgMSk7CisJCXJldHVybiByYzsKKwl9CisKKwlpZiAoKHJjID0gZmRpc2tfbGFiZWxfZ2V0X2ZpZWxkc19pZHNfYWxsKGxiLCBjeHQsICZmaWVsZHMsICZuZmllbGRzKSkpCisJCWdvdG8gY2xlYW5fZGF0YTsKKworCWZvciAoaSA9IDA7IGkgPCBuZmllbGRzOyArK2kpIHsKKwkJaW50IGlkID0gZmllbGRzW2ldOworCQljaGFyICpkYXRhID0gTlVMTDsKKwkJY29uc3Qgc3RydWN0IGZkaXNrX2ZpZWxkICpmZCA9IGZkaXNrX2xhYmVsX2dldF9maWVsZChsYiwgaWQpOworCisJCWlmICghZmQpCisJCQljb250aW51ZTsKKworCQlyYyA9IGZkaXNrX3BhcnRpdGlvbl90b19zdHJpbmcocGEsIGN4dCwgaWQsICZkYXRhKTsKKwkJaWYgKHJjIDwgMCkKKwkJCWdvdG8gY2xlYW5fZGF0YTsKKwkJaWYgKCFkYXRhIHx8ICEqZGF0YSkKKwkJCWNvbnRpbnVlOworCQlmZGlza19pbmZvKGN4dCwgXygiJTE1czogJXMiKSwgZmRpc2tfZmllbGRfZ2V0X25hbWUoZmQpLCBkYXRhKTsKKwkJZnJlZShkYXRhKTsKKwl9CisKK2NsZWFuX2RhdGE6CisJZmRpc2tfdW5yZWZfcGFydGl0aW9uKHBhKTsKKwlmcmVlKGZpZWxkcyk7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgc2l6ZV90IHNraXBfZW1wdHkoY29uc3QgdW5zaWduZWQgY2hhciAqYnVmLCBzaXplX3QgaSwgc2l6ZV90IHN6KQoreworCXNpemVfdCBuZXh0OworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnAwID0gYnVmICsgaTsKKworCWZvciAobmV4dCA9IGkgKyAxNjsgbmV4dCA8IHN6OyBuZXh0ICs9IDE2KSB7CisJCWlmIChtZW1jbXAocDAsIGJ1ZiArIG5leHQsIDE2KSAhPSAwKQorCQkJYnJlYWs7CisJfQorCisJcmV0dXJuIG5leHQgPT0gaSArIDE2ID8gaSA6IG5leHQ7Cit9CisKK3N0YXRpYyB2b2lkIGR1bXBfYnVmZmVyKG9mZl90IGJhc2UsIHVuc2lnbmVkIGNoYXIgKmJ1Ziwgc2l6ZV90IHN6LCBpbnQgYWxsKQoreworCXNpemVfdCBpLCBsLCBuZXh0ID0gMDsKKworCWlmICghYnVmKQorCQlyZXR1cm47CisJZm9yIChpID0gMCwgbCA9IDA7IGkgPCBzejsgaSsrLCBsKyspIHsKKwkJaWYgKGwgPT0gMCkgeworCQkJaWYgKGFsbCA9PSAwICYmICFuZXh0KQorCQkJCW5leHQgPSBza2lwX2VtcHR5KGJ1ZiwgaSwgc3opOworCQkJcHJpbnRmKCIlMDhqeCAiLCAoaW50bWF4X3QpYmFzZSArIGkpOworCQl9CisJCXByaW50ZigiICUwMngiLCBidWZbaV0pOworCQlpZiAobCA9PSA3KQkJCQkvKiB3b3JkcyBzZXBhcmF0b3IgKi8KKwkJCWZwdXRzKCIgIiwgc3Rkb3V0KTsKKwkJZWxzZSBpZiAobCA9PSAxNSkgeworCQkJZnB1dGMoJ1xuJywgc3Rkb3V0KTsJCS8qIG5leHQgbGluZSAqLworCQkJbCA9IC0xOworCQkJaWYgKG5leHQgPiBpKSB7CisJCQkJcHJpbnRmKCIqXG4iKTsKKwkJCQlpID0gbmV4dCAtIDE7CisJCQl9CisJCQluZXh0ID0gMDsKKwkJfQorCX0KKwlpZiAobCA+IDApCisJCXByaW50ZigiXG4iKTsKK30KKworc3RhdGljIHZvaWQgZHVtcF9ibGtkZXYoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqbmFtZSwKKwkJCXVpbnQ2NF90IG9mZnNldCwgc2l6ZV90IHNpemUsIGludCBhbGwpCit7CisJaW50IGZkID0gZmRpc2tfZ2V0X2RldmZkKGN4dCk7CisKKwlmZGlza19pbmZvKGN4dCwgXygiXG4lczogb2Zmc2V0ID0gJSJQUkl1NjQiLCBzaXplID0gJXp1IGJ5dGVzLiIpLAorCQkJbmFtZSwgb2Zmc2V0LCBzaXplKTsKKworCWFzc2VydChmZCA+PSAwKTsKKworCWlmIChsc2VlayhmZCwgKG9mZl90KSBvZmZzZXQsIFNFRUtfU0VUKSA9PSAob2ZmX3QpIC0xKQorCQlmZGlza193YXJuKGN4dCwgXygiY2Fubm90IHNlZWsiKSk7CisJZWxzZSB7CisJCXVuc2lnbmVkIGNoYXIgKmJ1ZiA9IHhtYWxsb2Moc2l6ZSk7CisKKwkJaWYgKHJlYWRfYWxsKGZkLCAoY2hhciAqKSBidWYsIHNpemUpICE9IChzc2l6ZV90KSBzaXplKQorCQkJZmRpc2tfd2FybihjeHQsIF8oImNhbm5vdCByZWFkIikpOworCQllbHNlCisJCQlkdW1wX2J1ZmZlcihvZmZzZXQsIGJ1Ziwgc2l6ZSwgYWxsKTsKKwkJZnJlZShidWYpOworCX0KK30KKwordm9pZCBkdW1wX2ZpcnN0c2VjdG9yKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJaW50IGFsbCA9ICFpc2F0dHkoU1RET1VUX0ZJTEVOTyk7CisKKwlhc3NlcnQoY3h0KTsKKworCWR1bXBfYmxrZGV2KGN4dCwgXygiRmlyc3Qgc2VjdG9yIiksIDAsIGZkaXNrX2dldF9zZWN0b3Jfc2l6ZShjeHQpLCBhbGwpOworfQorCit2b2lkIGR1bXBfZGlza2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJaW50IGFsbCA9ICFpc2F0dHkoU1RET1VUX0ZJTEVOTyk7CisJaW50IGkgPSAwOworCWNvbnN0IGNoYXIgKm5hbWUgPSBOVUxMOworCXVpbnQ2NF90IG9mZnNldCA9IDA7CisJc2l6ZV90IHNpemUgPSAwOworCisJYXNzZXJ0KGN4dCk7CisKKwl3aGlsZSAoZmRpc2tfbG9jYXRlX2Rpc2tsYWJlbChjeHQsIGkrKywgJm5hbWUsICZvZmZzZXQsICZzaXplKSA9PSAwICYmIHNpemUpCisJCWR1bXBfYmxrZGV2KGN4dCwgbmFtZSwgb2Zmc2V0LCBzaXplLCBhbGwpOworfQorCitzdGF0aWMgZmRpc2tfc2VjdG9yX3QgZ2V0X2Rldl9ibG9ja3MoY2hhciAqZGV2KQoreworCWludCBmZCwgcmV0OworCWZkaXNrX3NlY3Rvcl90IHNpemU7CisKKwlpZiAoKGZkID0gb3BlbihkZXYsIE9fUkRPTkxZKSkgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBkZXYpOworCXJldCA9IGJsa2Rldl9nZXRfc2VjdG9ycyhmZCwgKHVuc2lnbmVkIGxvbmcgbG9uZyAqKSAmc2l6ZSk7CisJY2xvc2UoZmQpOworCWlmIChyZXQgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcyIpLCBkZXYpOworCXJldHVybiBzaXplLzI7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKSB1c2FnZShGSUxFICpvdXQpCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCisJZnByaW50ZihvdXQsCisJICAgICAgXygiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICAgIGNoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKwkgICAgICAgICIgJTEkcyBbb3B0aW9uc10gLWwgWzxkaXNrPl0gbGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIpLAorCSAgICAgICBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiRGlzcGxheSBvciBtYW5pcHVsYXRlIGEgZGlzayBwYXJ0aXRpb24gdGFibGUuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1iLCAtLXNlY3Rvci1zaXplIDxzaXplPiAgICAgIHBoeXNpY2FsIGFuZCBsb2dpY2FsIHNlY3RvciBzaXplXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAgZG9uJ3QgZXJhc2UgYm9vdGJpdHMgd2hlbiBjcmVhdGluZyBhIG5ldyBsYWJlbFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2RlPl0gIG1vZGUgaXMgJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iKSwgb3V0KTsKKwlmcHJpbnRmKG91dCwKKwkgICAgICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlc1xuIiwgVVNBR0VfQ09MT1JTX0RFRkFVTFQpOworCWZwdXRzKF8oIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHBhcnRpdGlvbnMgYW5kIGV4aXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgICAgICBvdXRwdXQgY29sdW1uc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC10LCAtLXR5cGUgPHR5cGU+ICAgICAgICAgICAgIHJlY29nbml6ZSBzcGVjaWZpZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUgb25seVxuIiksIG91dCk7CisJZnB1dHMoXygiIC11LCAtLXVuaXRzWz08dW5pdD5dICAgICAgICAgIGRpc3BsYXkgdW5pdHM6ICdjeWxpbmRlcnMnIG9yICdzZWN0b3JzJyAoZGVmYXVsdClcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcywgLS1nZXRzeiAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGRldmljZSBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnMgW0RFUFJFQ0FURURdXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtVywgLS13aXBlLXBhcnRpdGlvbnMgPG1vZGU+ICB3aXBlIHNpZ25hdHVyZXMgZnJvbSBuZXcgcGFydGl0aW9ucyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiIC1DLCAtLWN5bGluZGVycyA8bnVtYmVyPiAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBjeWxpbmRlcnNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtSCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgaGVhZHNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKFVTQUdFX0hFTFAsIG91dCk7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgb3V0KTsKKworCWxpc3RfYXZhaWxhYmxlX2NvbHVtbnMob3V0KTsKKworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgiZmRpc2soOCkiKSk7CisJZXhpdChvdXQgPT0gc3RkZXJyID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTKTsKK30KKworCitlbnVtIHsKKwlBQ1RfRkRJU0sgPSAwLAkvKiBkZWZhdWx0ICovCisJQUNUX0xJU1QsCisJQUNUX1NIT1dTSVpFCit9OworCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IHJjLCBpLCBjLCBhY3QgPSBBQ1RfRkRJU0s7CisJaW50IGNvbG9ybW9kZSA9IFVMX0NPTE9STU9ERV9VTkRFRjsKKwlpbnQgd2lwZW1vZGUgPSBXSVBFTU9ERV9BVVRPOworCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQ7CisJY2hhciAqb3V0YXJnID0gTlVMTDsKKwllbnVtIHsKKwkJT1BUX0JZVEVTCT0gQ0hBUl9NQVggKyAxCisJfTsKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJieXRlcyIsICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCBPUFRfQllURVMgfSwKKwkJeyAiY29sb3IiLCAgICAgICAgICBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgJ0wnIH0sCisJCXsgImNvbXBhdGliaWxpdHkiLCAgb3B0aW9uYWxfYXJndW1lbnQsIE5VTEwsICdjJyB9LAorCQl7ICJjeWxpbmRlcnMiLCAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnQycgfSwKKwkJeyAiaGVhZHMiLAkgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdIJyB9LAorCQl7ICJzZWN0b3JzIiwgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnUycgfSwKKwkJeyAiZ2V0c3oiLCAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ3MnIH0sCisJCXsgImhlbHAiLCAgICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdoJyB9LAorCQl7ICJsaXN0IiwgICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnbCcgfSwKKwkJeyAic2VjdG9yLXNpemUiLCAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2InIH0sCisJCXsgInR5cGUiLCAgICAgICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICd0JyB9LAorCQl7ICJ1bml0cyIsICAgICAgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAndScgfSwKKwkJeyAidmVyc2lvbiIsICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ1YnIH0sCisJCXsgIm91dHB1dCIsICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdvJyB9LAorCQl7ICJwcm90ZWN0LWJvb3QiLCAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnQicgfSwKKwkJeyAid2lwZSIsICAgICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3cnIH0sCisJCXsgIndpcGUtcGFydGl0aW9ucyIscmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdXJyB9LAorCQl7IE5VTEwsIDAsIE5VTEwsIDAgfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJZmRpc2tfaW5pdF9kZWJ1ZygwKTsKKwlzY29sc19pbml0X2RlYnVnKDApOworCWZkaXNrcHJvZ19pbml0X2RlYnVnKCk7CisKKwljeHQgPSBmZGlza19uZXdfY29udGV4dCgpOworCWlmICghY3h0KQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWxsb2NhdGUgbGliZmRpc2sgY29udGV4dCIpKTsKKworCWZkaXNrX3NldF9hc2soY3h0LCBhc2tfY2FsbGJhY2ssIE5VTEwpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImI6QmM6OkM6aEg6bEw6Om86c1M6dDp1Ojp2Vnc6VzoiLAorCQkJCWxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ2InOgorCQl7CisJCQlzaXplX3Qgc3ogPSBzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLAorCQkJCQlfKCJpbnZhbGlkIHNlY3RvciBzaXplIGFyZ3VtZW50IikpOworCQkJaWYgKHN6ICE9IDUxMiAmJiBzeiAhPSAxMDI0ICYmIHN6ICE9IDIwNDggJiYgc3ogIT0gNDA5NikKKwkJCQl1c2FnZShzdGRlcnIpOworCQkJZmRpc2tfc2F2ZV91c2VyX3NlY3Rvcl9zaXplKGN4dCwgc3osIHN6KTsKKwkJCWJyZWFrOworCQl9CisJCWNhc2UgJ0InOgorCQkJZmRpc2tfZW5hYmxlX2Jvb3RiaXRzX3Byb3RlY3Rpb24oY3h0LCAxKTsKKwkJCWJyZWFrOworCQljYXNlICdDJzoKKwkJCWZkaXNrX3NhdmVfdXNlcl9nZW9tZXRyeShjeHQsCisJCQkJc3RydG91MzJfb3JfZXJyKG9wdGFyZywKKwkJCQkJCV8oImludmFsaWQgY3lsaW5kZXJzIGFyZ3VtZW50IikpLAorCQkJCTAsIDApOworCQkJYnJlYWs7CisJCWNhc2UgJ2MnOgorCQkJaWYgKG9wdGFyZykgeworCQkJCS8qIHRoaXMgc2V0dGluZyBpcyBpbmRlcGVuZGVudCBvbiB0aGUgY3VycmVudAorCQkJCSAqIGFjdGl2ZWx5IHVzZWQgbGFiZWwKKwkJCQkgKi8KKwkJCQljaGFyICpwID0gKm9wdGFyZyA9PSAnPScgPyBvcHRhcmcgKyAxIDogb3B0YXJnOworCQkJCXN0cnVjdCBmZGlza19sYWJlbCAqbGIgPSBmZGlza19nZXRfbGFiZWwoY3h0LCAiZG9zIik7CisKKwkJCQlpZiAoIWxiKQorCQkJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJub3QgZm91bmQgRE9TIGxhYmVsIGRyaXZlciIpKTsKKwkJCQlpZiAoc3RyY21wKHAsICJkb3MiKSA9PSAwKQorCQkJCQlmZGlza19kb3NfZW5hYmxlX2NvbXBhdGlibGUobGIsIFRSVUUpOworCQkJCWVsc2UgaWYgKHN0cmNtcChwLCAibm9uZG9zIikgPT0gMCkKKwkJCQkJZmRpc2tfZG9zX2VuYWJsZV9jb21wYXRpYmxlKGxiLCBGQUxTRSk7CisJCQkJZWxzZSB7CisJCQkJCXdhcm54KF8oInVua25vd24gY29tcGF0aWJpbGl0eSBtb2RlICclcyciKSwgcCk7CisJCQkJCXVzYWdlKHN0ZGVycik7CisJCQkJfQorCQkJfQorCQkJLyogdXNlIGRlZmF1bHQgaWYgbm8gb3B0YXJnIHNwZWNpZmllZCAqLworCQkJYnJlYWs7CisJCWNhc2UgJ0gnOgorCQkJZmRpc2tfc2F2ZV91c2VyX2dlb21ldHJ5KGN4dCwgMCwKKwkJCQlzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLAorCQkJCQkJXygiaW52YWxpZCBoZWFkcyBhcmd1bWVudCIpKSwKKwkJCQkwKTsKKwkJCWJyZWFrOworCQljYXNlICdTJzoKKwkJCWZkaXNrX3NhdmVfdXNlcl9nZW9tZXRyeShjeHQsIDAsIDAsCisJCQkJc3RydG91MzJfb3JfZXJyKG9wdGFyZywKKwkJCQkJXygiaW52YWxpZCBzZWN0b3JzIGFyZ3VtZW50IikpKTsKKwkJCWJyZWFrOworCQljYXNlICdsJzoKKwkJCWFjdCA9IEFDVF9MSVNUOworCQkJYnJlYWs7CisJCWNhc2UgJ0wnOgorCQkJY29sb3Jtb2RlID0gVUxfQ09MT1JNT0RFX0FVVE87CisJCQlpZiAob3B0YXJnKQorCQkJCWNvbG9ybW9kZSA9IGNvbG9ybW9kZV9vcl9lcnIob3B0YXJnLAorCQkJCQkJXygidW5zdXBwb3J0ZWQgY29sb3IgbW9kZSIpKTsKKwkJCWJyZWFrOworCQljYXNlICdvJzoKKwkJCW91dGFyZyA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdzJzoKKwkJCWFjdCA9IEFDVF9TSE9XU0laRTsKKwkJCWJyZWFrOworCQljYXNlICd0JzoKKwkJeworCQkJc3RydWN0IGZkaXNrX2xhYmVsICpsYiA9IE5VTEw7CisKKwkJCXdoaWxlIChmZGlza19uZXh0X2xhYmVsKGN4dCwgJmxiKSA9PSAwKQorCQkJCWZkaXNrX2xhYmVsX3NldF9kaXNhYmxlZChsYiwgMSk7CisKKwkJCWxiID0gZmRpc2tfZ2V0X2xhYmVsKGN4dCwgb3B0YXJnKTsKKwkJCWlmICghbGIpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuc3VwcG9ydGVkIGRpc2tsYWJlbDogJXMiKSwgb3B0YXJnKTsKKwkJCWZkaXNrX2xhYmVsX3NldF9kaXNhYmxlZChsYiwgMCk7CisJCQlicmVhazsKKwkJfQorCQljYXNlICd1JzoKKwkJCWlmIChvcHRhcmcgJiYgKm9wdGFyZyA9PSAnPScpCisJCQkJb3B0YXJnKys7CisJCQlpZiAoZmRpc2tfc2V0X3VuaXQoY3h0LCBvcHRhcmcpICE9IDApCisJCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJCWJyZWFrOworCQljYXNlICdWJzogLyogcHJlZmVycmVkIGZvciB1dGlsLWxpbnV4ICovCisJCWNhc2UgJ3YnOiAvKiBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBvbmx5ICovCisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ3cnOgorCQkJd2lwZW1vZGUgPSB3aXBlbW9kZV9mcm9tX3N0cmluZyhvcHRhcmcpOworCQkJaWYgKHdpcGVtb2RlIDwgMCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5zdXBwb3J0ZWQgd2lwZSBtb2RlIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ1cnOgorCQkJcHdpcGVtb2RlID0gd2lwZW1vZGVfZnJvbV9zdHJpbmcob3B0YXJnKTsKKwkJCWlmIChwd2lwZW1vZGUgPCAwKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1bnN1cHBvcnRlZCB3aXBlIG1vZGUiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShzdGRvdXQpOworCQljYXNlIE9QVF9CWVRFUzoKKwkJCWZkaXNrX3NldF9zaXplX3VuaXQoY3h0LCBGRElTS19TSVpFVU5JVF9CWVRFUyk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKHN0ZGVycik7CisJCX0KKwl9CisKKwlpZiAoYXJnYy1vcHRpbmQgIT0gMSAmJiBmZGlza19oYXNfdXNlcl9kZXZpY2VfcHJvcGVydGllcyhjeHQpKQorCQl3YXJueChfKCJUaGUgZGV2aWNlIHByb3BlcnRpZXMgKHNlY3RvciBzaXplIGFuZCBnZW9tZXRyeSkgc2hvdWxkIgorCQkJIiBiZSB1c2VkIHdpdGggb25lIHNwZWNpZmllZCBkZXZpY2Ugb25seS4iKSk7CisKKwljb2xvcnNfaW5pdChjb2xvcm1vZGUsICJmZGlzayIpOworCisJc3dpdGNoIChhY3QpIHsKKwljYXNlIEFDVF9MSVNUOgorCQlmZGlza19lbmFibGVfbGlzdG9ubHkoY3h0LCAxKTsKKwkJaW5pdF9maWVsZHMoY3h0LCBvdXRhcmcsIE5VTEwpOworCisJCWlmIChhcmdjID4gb3B0aW5kKSB7CisJCQlpbnQgazsKKwkJCWludCBjdCA9IDA7CisKKwkJCWZvciAocmMgPSAwLCBrID0gb3B0aW5kOyBrIDwgYXJnYzsgaysrKSB7CisJCQkJaWYgKGN0KQorCQkJCSAgICBmcHV0cygiXG5cbiIsIHN0ZG91dCk7CisKKwkJCQlyYyArPSBwcmludF9kZXZpY2VfcHQoY3h0LCBhcmd2W2tdLCAxLCAwKTsKKwkJCQljdCsrOworCQkJfQorCQkJaWYgKHJjKQorCQkJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJCX0gZWxzZQorCQkJcHJpbnRfYWxsX2RldmljZXNfcHQoY3h0LCAwKTsKKwkJYnJlYWs7CisKKwljYXNlIEFDVF9TSE9XU0laRToKKwkJLyogZGVwcmVjYXRlZCAqLworCQlpZiAoYXJnYyAtIG9wdGluZCA8PSAwKQorCQkJdXNhZ2Uoc3RkZXJyKTsKKworCQlmb3IgKGkgPSBvcHRpbmQ7IGkgPCBhcmdjOyBpKyspIHsKKwkJCXVpbnRtYXhfdCBibGtzID0gZ2V0X2Rldl9ibG9ja3MoYXJndltpXSk7CisKKwkJCWlmIChhcmdjIC0gb3B0aW5kID09IDEpCisJCQkJcHJpbnRmKCIlanVcbiIsIGJsa3MpOworCQkJZWxzZQorCQkJCXByaW50ZigiJXM6ICVqdVxuIiwgYXJndltpXSwgYmxrcyk7CisJCX0KKwkJYnJlYWs7CisKKwljYXNlIEFDVF9GRElTSzoKKwkJaWYgKGFyZ2Mtb3B0aW5kICE9IDEpCisJCQl1c2FnZShzdGRlcnIpOworCisJCS8qIEhlcmUgc3RhcnRzIGludGVyYWN0aXZlIG1vZGUsIHVzZSBmZGlza197d2FybixpbmZvLC4ufSBmdW5jdGlvbnMgKi8KKwkJY29sb3Jfc2NoZW1lX2VuYWJsZSgid2VsY29tZSIsIFVMX0NPTE9SX0dSRUVOKTsKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIldlbGNvbWUgdG8gZmRpc2sgKCVzKS4iKSwgUEFDS0FHRV9TVFJJTkcpOworCQljb2xvcl9kaXNhYmxlKCk7CisJCWZkaXNrX2luZm8oY3h0LCBfKCJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisJCQkJICAiQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuXG4iKSk7CisKKwkJcmMgPSBmZGlza19hc3NpZ25fZGV2aWNlKGN4dCwgYXJndltvcHRpbmRdLCAwKTsKKwkJaWYgKHJjID09IC1FQUNDRVMpIHsKKwkJCXJjID0gZmRpc2tfYXNzaWduX2RldmljZShjeHQsIGFyZ3Zbb3B0aW5kXSwgMSk7CisJCQlpZiAocmMgPT0gMCkKKwkJCQlmZGlza193YXJueChjeHQsIF8oIkRldmljZSBpcyBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIpKTsKKwkJfQorCQlpZiAocmMpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBhcmd2W29wdGluZF0pOworCisJCWZmbHVzaChzdGRvdXQpOworCisJCWlmIChmZGlza19nZXRfY29sbGlzaW9uKGN4dCkpIHsKKwkJCWludCBkb3dpcGUgPSB3aXBlbW9kZSA9PSBXSVBFTU9ERV9BTFdBWVMgPyAxIDogMDsKKworCQkJZmRpc2tfd2FybngoY3h0LCBfKCJEZXZpY2UgJXMgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iKSwKKwkJCQlhcmd2W29wdGluZF0sIGZkaXNrX2dldF9jb2xsaXNpb24oY3h0KSk7CisKKwkJCWlmIChpc2F0dHkoU1RESU5fRklMRU5PKSAmJiB3aXBlbW9kZSA9PSBXSVBFTU9ERV9BVVRPKQorCQkJCWRvd2lwZSA9IDE7CS8qIGRvIGl0IGluIGludGVyYWN0aXZlIG1vZGUgKi8KKworCQkJZmRpc2tfZW5hYmxlX3dpcGUoY3h0LCBkb3dpcGUpOworCQkJaWYgKGRvd2lwZSkKKwkJCQlmZGlza193YXJueChjeHQsIF8oCisJCQkJCSJUaGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIikpOworCQkJZWxzZQorCQkJCWZkaXNrX3dhcm54KGN4dCwgXygKKwkJCQkJIkl0IGlzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoICIKKwkJCQkJIndpcGVmcyg4KSwgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4iKSk7CisJCX0KKwkJaWYgKCFmZGlza19oYXNfbGFiZWwoY3h0KSkgeworCQkJZmRpc2tfaW5mbyhjeHQsIF8oIkRldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuIikpOworCQkJZmRpc2tfY3JlYXRlX2Rpc2tsYWJlbChjeHQsIE5VTEwpOworCisJCX0gZWxzZSBpZiAoZmRpc2tfaXNfbGFiZWwoY3h0LCBHUFQpICYmIGZkaXNrX2dwdF9pc19oeWJyaWQoY3h0KSkKKwkJCWZkaXNrX3dhcm54KGN4dCwgXygKKwkJCQkgICJBIGh5YnJpZCBHUFQgd2FzIGRldGVjdGVkLiBZb3UgaGF2ZSB0byBzeW5jICIKKwkJCQkgICJ0aGUgaHlicmlkIE1CUiBtYW51YWxseSAoZXhwZXJ0IGNvbW1hbmQgJ00nKS4iKSk7CisKKwkJaW5pdF9maWVsZHMoY3h0LCBvdXRhcmcsIE5VTEwpOwkJLyogLW8gPGNvbHVtbnM+ICovCisKKwkJd2hpbGUgKDEpCisJCQlwcm9jZXNzX2ZkaXNrX21lbnUoJmN4dCk7CisJfQorCisJZmRpc2tfdW5yZWZfY29udGV4dChjeHQpOworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL2ZkaXNrLmggYi9kaXNrLXV0aWxzL2ZkaXNrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E3ZmI4NQotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvZmRpc2suaApAQCAtMCwwICsxLDUyIEBACisjaWZuZGVmIFVUSUxfTElOVVhfRkRJU0tfSAorI2RlZmluZSBVVElMX0xJTlVYX0ZESVNLX0gKKy8qCisgKiAgIGZkaXNrLmgKKyAqLworCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgPGFzc2VydC5oPgorI2luY2x1ZGUgPGxpYmZkaXNrLmg+CisKKy8qIExldCdzIHRlbXBvcmFyeSBpbmNsdWRlIHByaXZhdGUgbGliZmRpc2sgaGVhZGVyIGZpbGUuIFRoZSBmaW5hbCBsaWJmZGlzay5oCisgKiBtYXliZSBpbmNsdWRlZCB3aGVuIGZkaXNrLmMgYW5kIGxpYmZkaXNrIGNvZGUgd2lsbCBiZSBjb21wbGV0ZWx5IHNwaXQuCisgKi8KKyNpbmNsdWRlICJibGtkZXYuaCIKKyNpbmNsdWRlICJjb2xvcnMuaCIKKyNpbmNsdWRlICJkZWJ1Zy5oIgorI2luY2x1ZGUgIm5scy5oIgorCisjaW5jbHVkZSAiZmRpc2stbGlzdC5oIgorCisjZGVmaW5lIEZESVNLUFJPR19ERUJVR19JTklUCSgxIDw8IDEpCisjZGVmaW5lIEZESVNLUFJPR19ERUJVR19NRU5VCSgxIDw8IDMpCisjZGVmaW5lIEZESVNLUFJPR19ERUJVR19NSVNDCSgxIDw8IDQpCisjZGVmaW5lIEZESVNLUFJPR19ERUJVR19BU0sJKDEgPDwgNSkKKyNkZWZpbmUgRkRJU0tQUk9HX0RFQlVHX0FMTAkweEZGRkYKKworZXh0ZXJuIGludCBwd2lwZW1vZGU7CisKK1VMX0RFQlVHX0RFQ0xBUkVfTUFTSyhmZGlzayk7CisjZGVmaW5lIERCRyhtLCB4KSAgICAgICBfX1VMX0RCRyhmZGlzaywgRkRJU0tQUk9HX0RFQlVHXywgbSwgeCkKKyNkZWZpbmUgT05fREJHKG0sIHgpICAgIF9fVUxfREJHX0NBTEwoZmRpc2ssIEZESVNLUFJPR19ERUJVR18sIG0sIHgpCisKK2V4dGVybiBpbnQgZ2V0X3VzZXJfcmVwbHkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCSAgY29uc3QgY2hhciAqcHJvbXB0LAorCQkJICBjaGFyICpidWYsIHNpemVfdCBidWZzeik7CitleHRlcm4gaW50IHByb2Nlc3NfZmRpc2tfbWVudShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqKmN4dCk7CisKK2V4dGVybiBpbnQgYXNrX2NhbGxiYWNrKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHN0cnVjdCBmZGlza19hc2sgKmFzaywKKwkJICAgIHZvaWQgKmRhdGEgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKTsKKworZXh0ZXJuIGludCBwcmludF9wYXJ0aXRpb25faW5mbyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKKworLyogcHJvdG90eXBlcyBmb3IgZmRpc2suYyAqLworZXh0ZXJuIHZvaWQgZHVtcF9maXJzdHNlY3RvcihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2V4dGVybiB2b2lkIGR1bXBfZGlza2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCitleHRlcm4gdm9pZCBsaXN0X3BhcnRpdGlvbl90eXBlcyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2V4dGVybiB2b2lkIGNoYW5nZV9wYXJ0aXRpb25fdHlwZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKKworZXh0ZXJuIHZvaWQgdG9nZ2xlX2Rvc19jb21wYXRpYmlsaXR5X2ZsYWcoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CisKKyNlbmRpZiAvKiBVVElMX0xJTlVYX0ZESVNLX0ggKi8KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvZnNjay44IGIvZGlzay11dGlscy9mc2NrLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGMzZjVhNwotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvZnNjay44CkBAIC0wLDAgKzEsNDEyIEBACisuXCIgQ29weXJpZ2h0IDE5OTMsIDE5OTQsIDE5OTUgYnkgVGhlb2RvcmUgVHMnby4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisuXCIgVGhpcyBmaWxlIG1heSBiZSBjb3BpZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgUHVibGljIExpY2Vuc2UuCisuXCIKKy5USCBGU0NLIDggIkZlYnJ1YXJ5IDIwMDkiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK2ZzY2sgXC0gY2hlY2sgYW5kIHJlcGFpciBhIExpbnV4IGZpbGVzeXN0ZW0KKy5TSCBTWU5PUFNJUworLkIgZnNjaworLlJCIFsgXC1sc0FWUlRNTlAgXQorLlJCIFsgXC1yCisuUkkgWyBmZCBdXQorLlJCIFsgXC1DCisuUkkgWyBmZCBdXQorLlJCIFsgXC10CisuSVIgZnN0eXBlIF0KKy5SSSBbIGZpbGVzeXN0ZW0gXCYuLi5cJl0KKy5SQiBbIFwtXC0gXQorLlJJIFsgZnMtc3BlY2lmaWMtb3B0aW9ucyBdCisuU0ggREVTQ1JJUFRJT04KKy5CIGZzY2sKK2lzIHVzZWQgdG8gY2hlY2sgYW5kIG9wdGlvbmFsbHkgcmVwYWlyIG9uZSBvciBtb3JlIExpbnV4IGZpbGVzeXN0ZW1zLgorLkkgZmlsZXN5cworY2FuIGJlIGEgZGV2aWNlIG5hbWUgKGUuZy4KKy5JUiAvZGV2L2hkYzEgIiwgIiAvZGV2L3NkYjIgKSwKK2EgbW91bnQgcG9pbnQgKGUuZy4KKy5JUiAvICIsICIgL3VzciAiLCAiIC9ob21lICksCitvciBhbiBleHQyIGxhYmVsIG9yIFVVSUQgc3BlY2lmaWVyIChlLmcuCitVVUlEPTg4NjhhYmY2LTg4YzUtNGE4My05OGI4LWJmYzI0MDU3ZjdiZCBvciBMQUJFTD1yb290KS4KK05vcm1hbGx5LCB0aGUKKy5CIGZzY2sKK3Byb2dyYW0gd2lsbCB0cnkgdG8gaGFuZGxlIGZpbGVzeXN0ZW1zIG9uIGRpZmZlcmVudCBwaHlzaWNhbCBkaXNrIGRyaXZlcworaW4gcGFyYWxsZWwgdG8gcmVkdWNlIHRoZSB0b3RhbCBhbW91bnQgb2YgdGltZSBuZWVkZWQgdG8gY2hlY2sgYWxsIG9mIHRoZW0uCisuUFAKK0lmIG5vIGZpbGVzeXN0ZW1zIGFyZSBzcGVjaWZpZWQgb24gdGhlIGNvbW1hbmQgbGluZSwgYW5kIHRoZQorLkIgXC1BCitvcHRpb24gaXMgbm90IHNwZWNpZmllZCwKKy5CIGZzY2sKK3dpbGwgZGVmYXVsdCB0byBjaGVja2luZyBmaWxlc3lzdGVtcyBpbgorLkkgL2V0Yy9mc3RhYgorc2VyaWFsbHkuICBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gdGhlCisuQiBcLUFzCitvcHRpb25zLgorLlBQCitUaGUgZXhpdCBjb2RlIHJldHVybmVkIGJ5CisuQiBmc2NrCitpcyB0aGUgc3VtIG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKy5QUAorLlJTCisuUEQgMAorLlRQCisuQiAwCitObyBlcnJvcnMKKy5UUAorLkIgMQorRmlsZXN5c3RlbSBlcnJvcnMgY29ycmVjdGVkCisuVFAKKy5CIDIKK1N5c3RlbSBzaG91bGQgYmUgcmVib290ZWQKKy5UUAorLkIgNAorRmlsZXN5c3RlbSBlcnJvcnMgbGVmdCB1bmNvcnJlY3RlZAorLlRQCisuQiA4CitPcGVyYXRpb25hbCBlcnJvcgorLlRQCisuQiAxNgorVXNhZ2Ugb3Igc3ludGF4IGVycm9yCisuVFAKKy5CIDMyCitDaGVja2luZyBjYW5jZWxlZCBieSB1c2VyIHJlcXVlc3QKKy5UUAorLkIgMTI4CitTaGFyZWQtbGlicmFyeSBlcnJvcgorLlBECisuUkUKKy5QUAorVGhlIGV4aXQgY29kZSByZXR1cm5lZCB3aGVuIG11bHRpcGxlIGZpbGVzeXN0ZW1zIGFyZSBjaGVja2VkCitpcyB0aGUgYml0LXdpc2UgT1Igb2YgdGhlIGV4aXQgY29kZXMgZm9yIGVhY2gKK2ZpbGVzeXN0ZW0gdGhhdCBpcyBjaGVja2VkLgorLlBQCitJbiBhY3R1YWxpdHksCisuQiBmc2NrCitpcyBzaW1wbHkgYSBmcm9udC1lbmQgZm9yIHRoZSB2YXJpb3VzIGZpbGVzeXN0ZW0gY2hlY2tlcnMKKyhcZkJmc2NrXGZSLlxmSWZzdHlwZVxmUikgYXZhaWxhYmxlIHVuZGVyIExpbnV4LiAgVGhlCitmaWxlc3lzdGVtLXNwZWNpZmljIGNoZWNrZXIgaXMgc2VhcmNoZWQgZm9yIGluIHRoZQorUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZS4gSWYgdGhlIFBBVEggaXMgdW5kZWZpbmVkIHRoZW4KK2ZhbGxiYWNrIHRvICIvc2JpbiIuCisuUFAKK1BsZWFzZSBzZWUgdGhlIGZpbGVzeXN0ZW0tc3BlY2lmaWMgY2hlY2tlciBtYW51YWwgcGFnZXMgZm9yCitmdXJ0aGVyIGRldGFpbHMuCisuU0ggT1BUSU9OUworLlRQCisuQiBcLWwKK0NyZWF0ZSBhbiBleGNsdXNpdmUKKy5CUiBmbG9jayAoMikKK2xvY2sgZmlsZSAoL3J1bi9mc2NrLzxkaXNrbmFtZT4ubG9jaykgZm9yIHdob2xlLWRpc2sgZGV2aWNlLgorVGhpcyBvcHRpb24gY2FuIGJlIHVzZWQgd2l0aCBvbmUgZGV2aWNlIG9ubHkgKHRoaXMgbWVhbnMgdGhhdCBcZkJcLUFcZlIgYW5kCitcZkJcLWxcZlIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSkuICBUaGlzIG9wdGlvbiBpcyByZWNvbW1lbmRlZCB3aGVuIG1vcmUKKy5CUiBmc2NrICg4KQoraW5zdGFuY2VzIGFyZSBleGVjdXRlZCBpbiB0aGUgc2FtZSB0aW1lLiAgVGhlIG9wdGlvbiBpcyBpZ25vcmVkIHdoZW4gdXNlZCBmb3IKK211bHRpcGxlIGRldmljZXMgb3IgZm9yIG5vbi1yb3RhdGluZyBkaXNrcy4gIFxmQmZzY2tcZlIgZG9lcyBub3QgbG9jayB1bmRlcmx5aW5nCitkZXZpY2VzIHdoZW4gZXhlY3V0ZWQgdG8gY2hlY2sgc3RhY2tlZCBkZXZpY2VzIChlLmcuXCYgTUQgb3IgRE0pIFwoZW4gdGhpcyBmZWF0dXJlIGlzCitub3QgaW1wbGVtZW50ZWQgeWV0LgorLlRQCisuQlIgXC1yIFwgWyBcZklmZFxmUiBdCitSZXBvcnQgY2VydGFpbiBzdGF0aXN0aWNzIGZvciBlYWNoIGZzY2sgd2hlbiBpdCBjb21wbGV0ZXMuICBUaGVzZSBzdGF0aXN0aWNzCitpbmNsdWRlIHRoZSBleGl0IHN0YXR1cywgdGhlIG1heGltdW0gcnVuIHNldCBzaXplIChpbiBraWxvYnl0ZXMpLCB0aGUgZWxhcHNlZAorYWxsLWNsb2NrIHRpbWUgYW5kIHRoZSB1c2VyIGFuZCBzeXN0ZW0gQ1BVIHRpbWUgdXNlZCBieSB0aGUgZnNjayBydW4uICBGb3IKK2V4YW1wbGU6CisKKy9kZXYvc2RhMTogc3RhdHVzIDAsIHJzcyA5MjgyOCwgcmVhbCA0LjAwMjgwNCwgdXNlciAyLjY3NzU5Miwgc3lzIDAuODYxODYKKworR1VJIGZyb250LWVuZHMgbWF5IHNwZWNpZnkgYSBmaWxlIGRlc2NyaXB0b3IKKy5JUiBmZCAsCitpbiB3aGljaCBjYXNlIHRoZSBwcm9ncmVzcyBiYXIgaW5mb3JtYXRpb24gd2lsbCBiZSBzZW50IHRvIHRoYXQgZmlsZSBkZXNjcmlwdG9yCitpbiBhIG1hY2hpbmUgcGFyc2FibGUgZm9ybWF0LiAgRm9yIGV4YW1wbGU6CisKKy9kZXYvc2RhMSAwIDkyODI4IDQuMDAyODA0IDIuNjc3NTkyIDAuODYxODYKKy5UUAorLkIgXC1zCitTZXJpYWxpemUKKy5CIGZzY2sKK29wZXJhdGlvbnMuICBUaGlzIGlzIGEgZ29vZCBpZGVhIGlmIHlvdSBhcmUgY2hlY2tpbmcgbXVsdGlwbGUKK2ZpbGVzeXN0ZW1zIGFuZCB0aGUgY2hlY2tlcnMgYXJlIGluIGFuIGludGVyYWN0aXZlIG1vZGUuICAoTm90ZToKKy5CUiBlMmZzY2sgKDgpCitydW5zIGluIGFuIGludGVyYWN0aXZlIG1vZGUgYnkgZGVmYXVsdC4gIFRvIG1ha2UKKy5CUiBlMmZzY2sgKDgpCitydW4gaW4gYSBub24taW50ZXJhY3RpdmUgbW9kZSwgeW91IG11c3QgZWl0aGVyIHNwZWNpZnkgdGhlCisuQiBcLXAKK29yCisuQiBcLWEKK29wdGlvbiwgaWYgeW91IHdpc2ggZm9yIGVycm9ycyB0byBiZSBjb3JyZWN0ZWQgYXV0b21hdGljYWxseSwgb3IgdGhlCisuQiBcLW4KK29wdGlvbiBpZiB5b3UgZG8gbm90LikKKy5UUAorLkJJIFwtdCAiIGZzbGlzdCIKK1NwZWNpZmllcyB0aGUgdHlwZShzKSBvZiBmaWxlc3lzdGVtIHRvIGJlIGNoZWNrZWQuICBXaGVuIHRoZQorLkIgXC1BCitmbGFnIGlzIHNwZWNpZmllZCwgb25seSBmaWxlc3lzdGVtcyB0aGF0IG1hdGNoCisuSSBmc2xpc3QKK2FyZSBjaGVja2VkLiAgVGhlCisuSSBmc2xpc3QKK3BhcmFtZXRlciBpcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGZpbGVzeXN0ZW1zIGFuZCBvcHRpb25zCitzcGVjaWZpZXJzLiAgQWxsIG9mIHRoZSBmaWxlc3lzdGVtcyBpbiB0aGlzIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG1heSBiZQorcHJlZml4ZWQgYnkgYSBuZWdhdGlvbiBvcGVyYXRvcgorLlJCICcgbm8gJworb3IKKy5SQiAnICEgJywKK3doaWNoIHJlcXVlc3RzIHRoYXQgb25seSB0aG9zZSBmaWxlc3lzdGVtcyBub3QgbGlzdGVkIGluCisuSSBmc2xpc3QKK3dpbGwgYmUgY2hlY2tlZC4gIElmIG5vbmUgb2YgdGhlIGZpbGVzeXN0ZW1zIGluCisuSSBmc2xpc3QKK2lzIHByZWZpeGVkIGJ5IGEgbmVnYXRpb24gb3BlcmF0b3IsIHRoZW4gb25seSB0aG9zZSBsaXN0ZWQgZmlsZXN5c3RlbXMKK3dpbGwgYmUgY2hlY2tlZC4KKy5zcAorT3B0aW9ucyBzcGVjaWZpZXJzIG1heSBiZSBpbmNsdWRlZCBpbiB0aGUgY29tbWEtc2VwYXJhdGVkCisuSVIgZnNsaXN0IC4KK1RoZXkgbXVzdCBoYXZlIHRoZSBmb3JtYXQKKy5CSSBvcHRzPSBmcy1vcHRpb25cZlIuCitJZiBhbiBvcHRpb25zIHNwZWNpZmllciBpcyBwcmVzZW50LCB0aGVuIG9ubHkgZmlsZXN5c3RlbXMgd2hpY2ggY29udGFpbgorLkkgZnMtb3B0aW9uCitpbiB0aGVpciBtb3VudCBvcHRpb25zIGZpZWxkIG9mCisuSSAvZXRjL2ZzdGFiCit3aWxsIGJlIGNoZWNrZWQuICBJZiB0aGUgb3B0aW9ucyBzcGVjaWZpZXIgaXMgcHJlZml4ZWQgYnkgYSBuZWdhdGlvbgorb3BlcmF0b3IsIHRoZW4gb25seQordGhvc2UgZmlsZXN5c3RlbXMgdGhhdCBkbyBub3QgaGF2ZQorLkkgZnMtb3B0aW9uCitpbiB0aGVpciBtb3VudCBvcHRpb25zIGZpZWxkIG9mCisuSSAvZXRjL2ZzdGFiCit3aWxsIGJlIGNoZWNrZWQuCisuc3AKK0ZvciBleGFtcGxlLCBpZgorLkIgb3B0cz1ybworYXBwZWFycyBpbgorLklSIGZzbGlzdCAsCit0aGVuIG9ubHkgZmlsZXN5c3RlbXMgbGlzdGVkIGluCisuSSAvZXRjL2ZzdGFiCit3aXRoIHRoZQorLkIgcm8KK29wdGlvbiB3aWxsIGJlIGNoZWNrZWQuCisuc3AKK0ZvciBjb21wYXRpYmlsaXR5IHdpdGggTWFuZHJha2UgZGlzdHJpYnV0aW9ucyB3aG9zZSBib290IHNjcmlwdHMKK2RlcGVuZCB1cG9uIGFuIHVuYXV0aG9yaXplZCBVSSBjaGFuZ2UgdG8gdGhlCisuQiBmc2NrCitwcm9ncmFtLCBpZiBhIGZpbGVzeXN0ZW0gdHlwZSBvZgorLkIgbG9vcAoraXMgZm91bmQgaW4KKy5JUiBmc2xpc3QgLAoraXQgaXMgdHJlYXRlZCBhcyBpZgorLkIgb3B0cz1sb29wCit3ZXJlIHNwZWNpZmllZCBhcyBhbiBhcmd1bWVudCB0byB0aGUKKy5CIFwtdAorb3B0aW9uLgorLnNwCitOb3JtYWxseSwgdGhlIGZpbGVzeXN0ZW0gdHlwZSBpcyBkZWR1Y2VkIGJ5IHNlYXJjaGluZyBmb3IKKy5JIGZpbGVzeXMKK2luIHRoZQorLkkgL2V0Yy9mc3RhYgorZmlsZSBhbmQgdXNpbmcgdGhlIGNvcnJlc3BvbmRpbmcgZW50cnkuCitJZiB0aGUgdHlwZSBjYW4gbm90IGJlIGRlZHVjZWQsIGFuZCB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIGZpbGVzeXN0ZW0KK2dpdmVuIGFzIGFuIGFyZ3VtZW50IHRvIHRoZQorLkIgXC10CitvcHRpb24sCisuQiBmc2NrCit3aWxsIHVzZSB0aGUgc3BlY2lmaWVkIGZpbGVzeXN0ZW0gdHlwZS4gIElmIHRoaXMgdHlwZSBpcyBub3QKK2F2YWlsYWJsZSwgdGhlbiB0aGUgZGVmYXVsdCBmaWxlc3lzdGVtIHR5cGUgKGN1cnJlbnRseSBleHQyKSBpcyB1c2VkLgorLlRQCisuQiBcLUEKK1dhbGsgdGhyb3VnaCB0aGUKKy5JIC9ldGMvZnN0YWIKK2ZpbGUgYW5kIHRyeSB0byBjaGVjayBhbGwgZmlsZXN5c3RlbXMgaW4gb25lIHJ1bi4gIFRoaXMgb3B0aW9uIGlzCit0eXBpY2FsbHkgdXNlZCBmcm9tIHRoZQorLkkgL2V0Yy9yYworc3lzdGVtIGluaXRpYWxpemF0aW9uIGZpbGUsIGluc3RlYWQgb2YgbXVsdGlwbGUgY29tbWFuZHMgZm9yIGNoZWNraW5nCithIHNpbmdsZSBmaWxlc3lzdGVtLgorLnNwCitUaGUgcm9vdCBmaWxlc3lzdGVtIHdpbGwgYmUgY2hlY2tlZCBmaXJzdCB1bmxlc3MgdGhlCisuQiBcLVAKK29wdGlvbiBpcyBzcGVjaWZpZWQgKHNlZSBiZWxvdykuICBBZnRlciB0aGF0LAorZmlsZXN5c3RlbXMgd2lsbCBiZSBjaGVja2VkIGluIHRoZSBvcmRlciBzcGVjaWZpZWQgYnkgdGhlCisuSSBmc19wYXNzbm8KKyh0aGUgc2l4dGgpIGZpZWxkIGluIHRoZQorLkkgL2V0Yy9mc3RhYgorZmlsZS4KK0ZpbGVzeXN0ZW1zIHdpdGggYQorLkkgZnNfcGFzc25vCit2YWx1ZSBvZiAwIGFyZSBza2lwcGVkIGFuZCBhcmUgbm90IGNoZWNrZWQgYXQgYWxsLiAgRmlsZXN5c3RlbXMgd2l0aCBhCisuSSBmc19wYXNzbm8KK3ZhbHVlIG9mIGdyZWF0ZXIgdGhhbiB6ZXJvIHdpbGwgYmUgY2hlY2tlZCBpbiBvcmRlciwKK3dpdGggZmlsZXN5c3RlbXMgd2l0aCB0aGUgbG93ZXN0CisuSSBmc19wYXNzbm8KK251bWJlciBiZWluZyBjaGVja2VkIGZpcnN0LgorSWYgdGhlcmUgYXJlIG11bHRpcGxlIGZpbGVzeXN0ZW1zIHdpdGggdGhlIHNhbWUgcGFzcyBudW1iZXIsCisuQiBmc2NrCit3aWxsIGF0dGVtcHQgdG8gY2hlY2sgdGhlbSBpbiBwYXJhbGxlbCwgYWx0aG91Z2ggaXQgd2lsbCBhdm9pZCBydW5uaW5nCittdWx0aXBsZSBmaWxlc3lzdGVtIGNoZWNrcyBvbiB0aGUgc2FtZSBwaHlzaWNhbCBkaXNrLgorLnNwCisuQiBmc2NrCitkb2VzIG5vdCBjaGVjayBzdGFja2VkIGRldmljZXMgKFJBSURzLCBkbS1jcnlwdCwgXCYuLi5cJikgaW4gcGFyYWxsZWwgd2l0aCBhbnkgb3RoZXIKK2RldmljZS4gIFNlZSBiZWxvdyBmb3IgRlNDS19GT1JDRV9BTExfUEFSQUxMRUwgc2V0dGluZy4gIFRoZSAvc3lzIGZpbGVzeXN0ZW0gaXMKK3VzZWQgdG8gZGV0ZXJtaW5lIGRlcGVuZGVuY2llcyBiZXR3ZWVuIGRldmljZXMuCisuc3AKK0hlbmNlLCBhIHZlcnkgY29tbW9uIGNvbmZpZ3VyYXRpb24gaW4KKy5JIC9ldGMvZnN0YWIKK2ZpbGVzIGlzIHRvIHNldCB0aGUgcm9vdCBmaWxlc3lzdGVtIHRvIGhhdmUgYQorLkkgZnNfcGFzc25vCit2YWx1ZSBvZiAxCithbmQgdG8gc2V0IGFsbCBvdGhlciBmaWxlc3lzdGVtcyB0byBoYXZlIGEKKy5JIGZzX3Bhc3NubwordmFsdWUgb2YgMi4gIFRoaXMgd2lsbCBhbGxvdworLkIgZnNjawordG8gYXV0b21hdGljYWxseSBydW4gZmlsZXN5c3RlbSBjaGVja2VycyBpbiBwYXJhbGxlbCBpZiBpdCBpcyBhZHZhbnRhZ2VvdXMKK3RvIGRvIHNvLiAgU3lzdGVtIGFkbWluaXN0cmF0b3JzIG1pZ2h0IGNob29zZQorbm90IHRvIHVzZSB0aGlzIGNvbmZpZ3VyYXRpb24gaWYgdGhleSBuZWVkIHRvIGF2b2lkIG11bHRpcGxlIGZpbGVzeXN0ZW0KK2NoZWNrcyBydW5uaW5nIGluIHBhcmFsbGVsIGZvciBzb21lIHJlYXNvbiBcKGVuIGZvciBleGFtcGxlLCBpZiB0aGUKK21hY2hpbmUgaW4gcXVlc3Rpb24gaXMgc2hvcnQgb24gbWVtb3J5IHNvIHRoYXQKK2V4Y2Vzc2l2ZSBwYWdpbmcgaXMgYSBjb25jZXJuLgorLnNwCisuQiBmc2NrCitub3JtYWxseSBkb2VzIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBkZXZpY2UgYWN0dWFsbHkgZXhpc3RzIGJlZm9yZQorY2FsbGluZyBhIGZpbGVzeXN0ZW0gc3BlY2lmaWMgY2hlY2tlci4gIFRoZXJlZm9yZSBub24tZXhpc3RpbmcKK2RldmljZXMgbWF5IGNhdXNlIHRoZSBzeXN0ZW0gdG8gZW50ZXIgZmlsZXN5c3RlbSByZXBhaXIgbW9kZSBkdXJpbmcKK2Jvb3QgaWYgdGhlIGZpbGVzeXN0ZW0gc3BlY2lmaWMgY2hlY2tlciByZXR1cm5zIGEgZmF0YWwgZXJyb3IuICBUaGUKKy5JIC9ldGMvZnN0YWIKK21vdW50IG9wdGlvbgorLkIgbm9mYWlsCittYXkgYmUgdXNlZCB0byBoYXZlCisuQiBmc2NrCitza2lwIG5vbi1leGlzdGluZyBkZXZpY2VzLgorLkIgZnNjaworYWxzbyBza2lwcyBub24tZXhpc3RpbmcgZGV2aWNlcyB0aGF0IGhhdmUgdGhlIHNwZWNpYWwgZmlsZXN5c3RlbSB0eXBlCisuQlIgYXV0byAuCisuVFAKKy5CUiBcLUMgXCBbIFxmSWZkXGZSIF0KK0Rpc3BsYXkgY29tcGxldGlvbi9wcm9ncmVzcyBiYXJzIGZvciB0aG9zZSBmaWxlc3lzdGVtIGNoZWNrZXJzIChjdXJyZW50bHkKK29ubHkgZm9yIGV4dFsyMzRdKSB3aGljaCBzdXBwb3J0IHRoZW0uICBcZkJmc2NrXGZSIHdpbGwgbWFuYWdlIHRoZQorZmlsZXN5c3RlbSBjaGVja2VycyBzbyB0aGF0IG9ubHkgb25lIG9mIHRoZW0gd2lsbCBkaXNwbGF5CithIHByb2dyZXNzIGJhciBhdCBhIHRpbWUuICBHVUkgZnJvbnQtZW5kcyBtYXkgc3BlY2lmeSBhIGZpbGUgZGVzY3JpcHRvcgorLklSIGZkICwKK2luIHdoaWNoIGNhc2UgdGhlIHByb2dyZXNzIGJhciBpbmZvcm1hdGlvbiB3aWxsIGJlIHNlbnQgdG8gdGhhdCBmaWxlIGRlc2NyaXB0b3IuCisuVFAKKy5CIFwtTQorRG8gbm90IGNoZWNrIG1vdW50ZWQgZmlsZXN5c3RlbXMgYW5kIHJldHVybiBhbiBleGl0IGNvZGUgb2YgMAorZm9yIG1vdW50ZWQgZmlsZXN5c3RlbXMuCisuVFAKKy5CIFwtTgorRG9uJ3QgZXhlY3V0ZSwganVzdCBzaG93IHdoYXQgd291bGQgYmUgZG9uZS4KKy5UUAorLkIgXC1QCitXaGVuIHRoZQorLkIgXC1BCitmbGFnIGlzIHNldCwgY2hlY2sgdGhlIHJvb3QgZmlsZXN5c3RlbSBpbiBwYXJhbGxlbCB3aXRoIHRoZSBvdGhlciBmaWxlc3lzdGVtcy4KK1RoaXMgaXMgbm90IHRoZSBzYWZlc3QgdGhpbmcgaW4gdGhlIHdvcmxkIHRvIGRvLAorc2luY2UgaWYgdGhlIHJvb3QgZmlsZXN5c3RlbSBpcyBpbiBkb3VidCB0aGluZ3MgbGlrZSB0aGUKKy5CUiBlMmZzY2sgKDgpCitleGVjdXRhYmxlIG1pZ2h0IGJlIGNvcnJ1cHRlZCEgIFRoaXMgb3B0aW9uIGlzIG1haW5seSBwcm92aWRlZAorZm9yIHRob3NlIHN5c2FkbWlucyB3aG8gZG9uJ3Qgd2FudCB0byByZXBhcnRpdGlvbiB0aGUgcm9vdAorZmlsZXN5c3RlbSB0byBiZSBzbWFsbCBhbmQgY29tcGFjdCAod2hpY2ggaXMgcmVhbGx5IHRoZSByaWdodCBzb2x1dGlvbikuCisuVFAKKy5CIFwtUgorV2hlbiBjaGVja2luZyBhbGwgZmlsZXN5c3RlbXMgd2l0aCB0aGUKKy5CIFwtQQorZmxhZywgc2tpcCB0aGUgcm9vdCBmaWxlc3lzdGVtLiAgKFRoaXMgaXMgdXNlZnVsIGluIGNhc2UgdGhlIHJvb3QKK2ZpbGVzeXN0ZW0gaGFzIGFscmVhZHkgYmVlbiBtb3VudGVkIHJlYWQtd3JpdGUuKQorLlRQCisuQiBcLVQKK0Rvbid0IHNob3cgdGhlIHRpdGxlIG9uIHN0YXJ0dXAuCisuVFAKKy5CIFwtVgorUHJvZHVjZSB2ZXJib3NlIG91dHB1dCwgaW5jbHVkaW5nIGFsbCBmaWxlc3lzdGVtLXNwZWNpZmljIGNvbW1hbmRzCit0aGF0IGFyZSBleGVjdXRlZC4KKy5TSCBGSUxFU1lTVEVNIFNQRUNJRklDIE9QVElPTlMKKy5CIE9wdGlvbnMgd2hpY2ggYXJlIG5vdCB1bmRlcnN0b29kIGJ5IGZzY2sgYXJlIHBhc3NlZCB0byB0aGUgZmlsZXN5c3RlbS1zcGVjaWZpYyBjaGVja2VyISAKKy5QUAorVGhlc2Ugb3B0aW9ucworLkIgbXVzdAorbm90IHRha2UgYXJndW1lbnRzLCBhcyB0aGVyZSBpcyBubword2F5IGZvcgorLkIgZnNjawordG8gYmUgYWJsZSB0byBwcm9wZXJseSBndWVzcyB3aGljaCBvcHRpb25zIHRha2UgYXJndW1lbnRzIGFuZCB3aGljaAorZG9uJ3QuCisuUFAKK09wdGlvbnMgYW5kIGFyZ3VtZW50cyB3aGljaCBmb2xsb3cgdGhlCisuQiBcLVwtCithcmUgdHJlYXRlZCBhcyBmaWxlc3lzdGVtLXNwZWNpZmljIG9wdGlvbnMgdG8gYmUgcGFzc2VkIHRvIHRoZQorZmlsZXN5c3RlbS1zcGVjaWZpYyBjaGVja2VyLgorLlBQCitQbGVhc2Ugbm90ZSB0aGF0IFxmQmZzY2tcZlIgaXMgbm90CitkZXNpZ25lZCB0byBwYXNzIGFyYml0cmFyaWx5IGNvbXBsaWNhdGVkIG9wdGlvbnMgdG8gZmlsZXN5c3RlbS1zcGVjaWZpYworY2hlY2tlcnMuICBJZiB5b3UncmUgZG9pbmcgc29tZXRoaW5nIGNvbXBsaWNhdGVkLCBwbGVhc2UganVzdAorZXhlY3V0ZSB0aGUgZmlsZXN5c3RlbS1zcGVjaWZpYyBjaGVja2VyIGRpcmVjdGx5LiAgSWYgeW91IHBhc3MKKy5CIGZzY2sKK3NvbWUgaG9ycmlibHkgY29tcGxpY2F0ZWQgb3B0aW9ucyBhbmQgYXJndW1lbnRzLCBhbmQgaXQgZG9lc24ndCBkbword2hhdCB5b3UgZXhwZWN0LAorLkIgZG9uJ3QgYm90aGVyIHJlcG9ydGluZyBpdCBhcyBhIGJ1Zy4KK1lvdSdyZSBhbG1vc3QgY2VydGFpbmx5IGRvaW5nIHNvbWV0aGluZyB0aGF0IHlvdSBzaG91bGRuJ3QgYmUgZG9pbmcKK3dpdGgKKy5CUiBmc2NrIC4KK09wdGlvbnMgdG8gZGlmZmVyZW50IGZpbGVzeXN0ZW0tc3BlY2lmaWMgZnNjaydzIGFyZSBub3Qgc3RhbmRhcmRpemVkLgorLlNIIEZJTEVTCisuSVIgL2V0Yy9mc3RhYgorLlNIIEVOVklST05NRU5UIFZBUklBQkxFUworVGhlCisuQiBmc2NrCitwcm9ncmFtJ3MgYmVoYXZpb3IgaXMgYWZmZWN0ZWQgYnkgdGhlIGZvbGxvd2luZyBlbnZpcm9ubWVudCB2YXJpYWJsZXM6CisuVFAKKy5CIEZTQ0tfRk9SQ0VfQUxMX1BBUkFMTEVMCitJZiB0aGlzIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHNldCwKKy5CIGZzY2sKK3dpbGwgYXR0ZW1wdCB0byBjaGVjayBhbGwgb2YgdGhlIHNwZWNpZmllZCBmaWxlc3lzdGVtcyBpbiBwYXJhbGxlbCwgcmVnYXJkbGVzcyBvZgord2hldGhlciB0aGUgZmlsZXN5c3RlbXMgYXBwZWFyIHRvIGJlIG9uIHRoZSBzYW1lIGRldmljZS4gIChUaGlzIGlzIHVzZWZ1bCBmb3IKK1JBSUQgc3lzdGVtcyBvciBoaWdoLWVuZCBzdG9yYWdlIHN5c3RlbXMgc3VjaCBhcyB0aG9zZSBzb2xkIGJ5IGNvbXBhbmllcyBzdWNoCithcyBJQk0gb3IgRU1DLikgIE5vdGUgdGhhdCB0aGUgZnNfcGFzc25vIHZhbHVlIGlzIHN0aWxsIHVzZWQuCisuVFAKKy5CIEZTQ0tfTUFYX0lOU1QKK1RoaXMgZW52aXJvbm1lbnQgdmFyaWFibGUgd2lsbCBsaW1pdCB0aGUgbWF4aW11bSBudW1iZXIgb2YgZmlsZXN5c3RlbQorY2hlY2tlcnMgdGhhdCBjYW4gYmUgcnVubmluZyBhdCBvbmUgdGltZS4gIFRoaXMgYWxsb3dzIGNvbmZpZ3VyYXRpb25zCit3aGljaCBoYXZlIGEgbGFyZ2UgbnVtYmVyIG9mIGRpc2tzIHRvIGF2b2lkCisuQiBmc2NrCitzdGFydGluZyB0b28gbWFueSBmaWxlc3lzdGVtIGNoZWNrZXJzIGF0IG9uY2UsIHdoaWNoIG1pZ2h0IG92ZXJsb2FkCitDUFUgYW5kIG1lbW9yeSByZXNvdXJjZXMgYXZhaWxhYmxlIG9uIHRoZSBzeXN0ZW0uICBJZiB0aGlzIHZhbHVlIGlzCit6ZXJvLCB0aGVuIGFuIHVubGltaXRlZCBudW1iZXIgb2YgcHJvY2Vzc2VzIGNhbiBiZSBzcGF3bmVkLiAgVGhpcyBpcworY3VycmVudGx5IHRoZSBkZWZhdWx0LCBidXQgZnV0dXJlIHZlcnNpb25zIG9mCisuQiBmc2NrCittYXkgYXR0ZW1wdCB0byBhdXRvbWF0aWNhbGx5IGRldGVybWluZSBob3cgbWFueSBmaWxlc3lzdGVtIGNoZWNrcyBjYW4KK2JlIHJ1biBiYXNlZCBvbiBnYXRoZXJpbmcgYWNjb3VudGluZyBkYXRhIGZyb20gdGhlIG9wZXJhdGluZyBzeXN0ZW0uCisuVFAKKy5CIFBBVEgKK1RoZQorLkIgUEFUSAorZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgdXNlZCB0byBmaW5kIGZpbGVzeXN0ZW0gY2hlY2tlcnMuCisuVFAKKy5CIEZTVEFCX0ZJTEUKK1RoaXMgZW52aXJvbm1lbnQgdmFyaWFibGUgYWxsb3dzIHRoZSBzeXN0ZW0gYWRtaW5pc3RyYXRvcgordG8gb3ZlcnJpZGUgdGhlIHN0YW5kYXJkIGxvY2F0aW9uIG9mIHRoZQorLkkgL2V0Yy9mc3RhYgorZmlsZS4gIEl0IGlzIGFsc28gdXNlZnVsIGZvciBkZXZlbG9wZXJzIHdobyBhcmUgdGVzdGluZworLkJSIGZzY2sgLgorLlRQCisuQiBMSUJCTEtJRF9ERUJVRz1hbGwKK2VuYWJsZXMgbGliYmxraWQgZGVidWcgb3V0cHV0LgorLlRQCisuQiBMSUJNT1VOVF9ERUJVRz1hbGwKK2VuYWJsZXMgbGlibW91bnQgZGVidWcgb3V0cHV0LgorLlNIIFNFRSBBTFNPCisubmEKKy5CUiBmc3RhYiAoNSksCisuQlIgbWtmcyAoOCksCisuQlIgZnNjay5leHQyICg4KQorb3IKKy5CUiBmc2NrLmV4dDMgKDgpCitvcgorLkJSIGUyZnNjayAoOCksCisuQlIgY3JhbWZzY2sgKDgpLAorLkJSIGZzY2suamZzICg4KSwKKy5CUiBmc2NrLm5mcyAoOCksCisuQlIgZnNjay5taW5peCAoOCksCisuQlIgZnNjay5tc2RvcyAoOCksCisuQlIgZnNjay52ZmF0ICg4KSwKKy5CUiBmc2NrLnhmcyAoOCksCisuQlIgcmVpc2VyZnNjayAoOCkKKy5hZAorLlNIIEFVVEhPUlMKKy5uZgorVGhlb2RvcmUgVHMnbyA8dHl0c29AbWl0LmVkdT4KK0thcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorLmZpLgorLlNIIEFWQUlMQUJJTElUWQorVGhlIGZzY2sgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgZnRwOi8vXDpmdHAua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL2ZzY2suYyBiL2Rpc2stdXRpbHMvZnNjay5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4Yjc2OGUKLS0tIC9kZXYvbnVsbAorKysgYi9kaXNrLXV0aWxzL2ZzY2suYwpAQCAtMCwwICsxLDE2NjcgQEAKKy8qCisgKiBmc2NrIC0tLSBBIGdlbmVyaWMsIHBhcmFsbGVsaXppbmcgZnJvbnQtZW5kIGZvciB0aGUgZnNjayBwcm9ncmFtLgorICogSXQgd2lsbCBhdXRvbWF0aWNhbGx5IHRyeSB0byBydW4gZnNjayBwcm9ncmFtcyBpbiBwYXJhbGxlbCBpZiB0aGUKKyAqIGRldmljZXMgYXJlIG9uIHNlcGFyYXRlIHNwaW5kbGVzLiAgSXQgaXMgYmFzZWQgb24gdGhlIHNhbWUgaWRlYXMgYXMKKyAqIHRoZSBnZW5lcmljIGZyb250IGVuZCBmb3IgZnNjayBieSBEYXZpZCBFbmdlbCBhbmQgRnJlZCB2YW4gS2VtcGVuLAorICogYnV0IGl0IGhhcyBiZWVuIGNvbXBsZXRlbHkgcmV3cml0dGVuIGZyb20gc2NyYXRjaCB0byBzdXBwb3J0CisgKiBwYXJhbGxlbCBleGVjdXRpb24uCisgKgorICogV3JpdHRlbiBieSBUaGVvZG9yZSBUcydvLCA8dHl0c29AbWl0LmVkdT4KKyAqCisgKiBNaXF1ZWwgdmFuIFNtb29yZW5idXJnIChtaXF1ZWxzQGRyaW5rZWwub3cub3JnKSAyMC1PY3QtMTk5NDoKKyAqICAgbyBDaGFuZ2VkIC10IGZzdHlwZSB0byBiZWhhdmUgbGlrZSB3aXRoIG1vdW50IHdoZW4gLUEgKGFsbCBmaWxlCisgKiAgICAgc3lzdGVtcykgb3IgLU0gKGxpa2UgbW91bnQpIGlzIHNwZWNpZmllZC4KKyAqICAgbyBmc2NrIGxvb2tzIGlmIGl0IGNhbiBmaW5kIHRoZSBmc2NrLnR5cGUgcHJvZ3JhbSB0byBkZWNpZGUKKyAqICAgICBpZiBpdCBzaG91bGQgaWdub3JlIHRoZSBmcyB0eXBlLiBUaGlzIHdheSBtb3JlIGZzY2sgcHJvZ3JhbXMKKyAqICAgICBjYW4gYmUgYWRkZWQgd2l0aG91dCBjaGFuZ2luZyB0aGlzIGZyb250LWVuZC4KKyAqICAgbyAtUiBmbGFnIHNraXAgcm9vdCBmaWxlIHN5c3RlbS4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYsIDE5OTcsIDE5OTgsIDE5OTksIDIwMDAsCisgKgkgICAgICAgICAyMDAxLCAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1IGJ5ICBUaGVvZG9yZSBUcydvLgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOS0yMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBQdWJsaWMKKyAqIExpY2Vuc2UuCisgKi8KKworI2RlZmluZSBfWE9QRU5fU09VUkNFIDYwMCAvKiBmb3IgaW5jbHVzaW9uIG9mIHNhX2hhbmRsZXIgaW4gU29sYXJpcyAqLworCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3dhaXQuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy9maWxlLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dGltZS5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHBhdGhzLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzaWduYWwuaD4KKyNpbmNsdWRlIDxkaXJlbnQuaD4KKyNpbmNsdWRlIDxzeXMvcmVzb3VyY2UuaD4KKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorI2luY2x1ZGUgPGJsa2lkLmg+CisjaW5jbHVkZSA8bGlibW91bnQuaD4KKworI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgImV4aXRjb2Rlcy5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJmaWxldXRpbHMuaCIKKyNpbmNsdWRlICJtb25vdG9uaWMuaCIKKworI2RlZmluZSBTVFJUT1hYX0VYSVRfQ09ERQlGU0NLX0VYX0VSUk9SCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKworI2RlZmluZSBYQUxMT0NfRVhJVF9DT0RFCUZTQ0tfRVhfRVJST1IKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKworI2RlZmluZSBDTE9TRV9FWElUX0NPREUJCUZTQ0tfRVhfRVJST1IKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCisjaWZuZGVmIERFRkFVTFRfRlNUWVBFCisjIGRlZmluZSBERUZBVUxUX0ZTVFlQRQkiZXh0MiIKKyNlbmRpZgorCisjZGVmaW5lIE1BWF9ERVZJQ0VTIDMyCisjZGVmaW5lIE1BWF9BUkdTIDMyCisKKyNkZWZpbmUgRlNDS19SVU5USU1FX0RJUk5BTUUJIi9ydW4vZnNjayIKKworc3RhdGljIGNvbnN0IGNoYXIgKmlnbm9yZWRfdHlwZXNbXSA9IHsKKwkiaWdub3JlIiwKKwkiaXNvOTY2MCIsCisJInN3IiwKKwlOVUxMCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqcmVhbGx5X3dhbnRlZFtdID0geworCSJtaW5peCIsCisJImV4dDIiLAorCSJleHQzIiwKKwkiZXh0NCIsCisJImV4dDRkZXYiLAorCSJqZnMiLAorCSJyZWlzZXJmcyIKK307CisKKy8qCisgKiBJbnRlcm5hbCBzdHJ1Y3R1cmUgZm9yIG1vdW50IHRhYmxlIGVudHJpZXMuCisgKi8KK3N0cnVjdCBmc2NrX2ZzX2RhdGEKK3sKKwljb25zdCBjaGFyCSpkZXZpY2U7CisJZGV2X3QJCWRpc2s7CisJdW5zaWduZWQgaW50CXN0YWNrZWQ6MSwKKwkJCWRvbmU6MSwKKwkJCWV2YWxfZGV2aWNlOjE7Cit9OworCisvKgorICogU3RydWN0dXJlIHRvIGFsbG93IGV4aXQgY29kZXMgdG8gYmUgc3RvcmVkCisgKi8KK3N0cnVjdCBmc2NrX2luc3RhbmNlIHsKKwlpbnQJcGlkOworCWludAlmbGFnczsJCS8qIEZMQUdfe0RPTkV8UFJPR1JFU1N9ICovCisKKwlpbnQJbG9jazsJCS8qIGZsb2NrKCllZCBsb2NrcGF0aCBmaWxlIGRlc2NyaXB0b3Igb3IgLTEgKi8KKwljaGFyCSpsb2NrcGF0aDsJLyogL3J1bi9mc2NrLzxkaXNrbmFtZT4ubG9jayBvciBOVUxMICovCisKKwlpbnQJZXhpdF9zdGF0dXM7CisJc3RydWN0IHRpbWV2YWwgc3RhcnRfdGltZTsKKwlzdHJ1Y3QgdGltZXZhbCBlbmRfdGltZTsKKwljaGFyICoJcHJvZzsKKwljaGFyICoJdHlwZTsKKworCXN0cnVjdCBydXNhZ2UgcnVzYWdlOworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCXN0cnVjdCBmc2NrX2luc3RhbmNlICpuZXh0OworfTsKKworI2RlZmluZSBGTEFHX0RPTkUgMQorI2RlZmluZSBGTEFHX1BST0dSRVNTIDIKKworLyoKKyAqIEdsb2JhbCB2YXJpYWJsZXMgZm9yIG9wdGlvbnMKKyAqLworc3RhdGljIGNoYXIgKmRldmljZXNbTUFYX0RFVklDRVNdOworc3RhdGljIGNoYXIgKmFyZ3NbTUFYX0FSR1NdOworc3RhdGljIGludCBudW1fZGV2aWNlcywgbnVtX2FyZ3M7CisKK3N0YXRpYyBpbnQgbG9ja2Rpc2s7CitzdGF0aWMgaW50IHZlcmJvc2U7CitzdGF0aWMgaW50IGRvYWxsOworc3RhdGljIGludCBub2V4ZWN1dGU7CitzdGF0aWMgaW50IHNlcmlhbGl6ZTsKK3N0YXRpYyBpbnQgc2tpcF9yb290Oworc3RhdGljIGludCBpZ25vcmVfbW91bnRlZDsKK3N0YXRpYyBpbnQgbm90aXRsZTsKK3N0YXRpYyBpbnQgcGFyYWxsZWxfcm9vdDsKK3N0YXRpYyBpbnQgcHJvZ3Jlc3M7CitzdGF0aWMgaW50IHByb2dyZXNzX2ZkOworc3RhdGljIGludCBmb3JjZV9hbGxfcGFyYWxsZWw7CitzdGF0aWMgaW50IHJlcG9ydF9zdGF0czsKK3N0YXRpYyBGSUxFICpyZXBvcnRfc3RhdHNfZmlsZTsKKworc3RhdGljIGludCBudW1fcnVubmluZzsKK3N0YXRpYyBpbnQgbWF4X3J1bm5pbmc7CisKK3N0YXRpYyB2b2xhdGlsZSBpbnQgY2FuY2VsX3JlcXVlc3RlZDsKK3N0YXRpYyBpbnQga2lsbF9zZW50Oworc3RhdGljIGNoYXIgKmZzdHlwZTsKK3N0YXRpYyBzdHJ1Y3QgZnNja19pbnN0YW5jZSAqaW5zdGFuY2VfbGlzdDsKKworI2RlZmluZSBGU0NLX0RFRkFVTFRfUEFUSCAiL3NiaW4iCitzdGF0aWMgY2hhciAqZnNja19wYXRoOworCisKKy8qIHBhcnNlZCBmc3RhYiBhbmQgbXRhYiAqLworc3RhdGljIHN0cnVjdCBsaWJtbnRfdGFibGUgKmZzdGFiLCAqbXRhYjsKK3N0YXRpYyBzdHJ1Y3QgbGlibW50X2NhY2hlICptbnRjYWNoZTsKKworc3RhdGljIGludCBjb3VudF9zbGF2ZXMoZGV2X3QgZGlzayk7CisKK3N0YXRpYyBpbnQgc3RyaW5nX3RvX2ludChjb25zdCBjaGFyICpzKQoreworCWxvbmcgbDsKKwljaGFyICpwOworCisJbCA9IHN0cnRvbChzLCAmcCwgMCk7CisJaWYgKCpwIHx8IGwgPT0gTE9OR19NSU4gfHwgbCA9PSBMT05HX01BWCB8fCBsIDwgMCB8fCBsID4gSU5UX01BWCkKKwkJcmV0dXJuIC0xOworCWVsc2UKKwkJcmV0dXJuIChpbnQpIGw7Cit9CisKKy8qIERvIHdlIHJlYWxseSByZWFsbHkgd2FudCB0byBjaGVjayB0aGlzIGZzPyAqLworc3RhdGljIGludCBmc19jaGVja19yZXF1aXJlZChjb25zdCBjaGFyICp0eXBlKQoreworCXNpemVfdCBpOworCisJZm9yKGkgPSAwOyBpIDwgQVJSQVlfU0laRShyZWFsbHlfd2FudGVkKTsgaSsrKSB7CisJCWlmIChzdHJjbXAodHlwZSwgcmVhbGx5X3dhbnRlZFtpXSkgPT0gMCkKKwkJCXJldHVybiAxOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGlzX21vdW50ZWQoc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJaW50IHJjOworCWNvbnN0IGNoYXIgKnNyYzsKKworCXNyYyA9IG1udF9mc19nZXRfc291cmNlKGZzKTsKKwlpZiAoIXNyYykKKwkJcmV0dXJuIDA7CisJaWYgKCFtbnRjYWNoZSkKKwkJbW50Y2FjaGUgPSBtbnRfbmV3X2NhY2hlKCk7CisJaWYgKCFtdGFiKSB7CisJCW10YWIgPSBtbnRfbmV3X3RhYmxlKCk7CisJCWlmICghbXRhYikKKwkJCWVycihGU0NLX0VYX0VSUk9SLCAoImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmxlIikpOworCQltbnRfdGFibGVfc2V0X2NhY2hlKG10YWIsIG1udGNhY2hlKTsKKwkJbW50X3RhYmxlX3BhcnNlX210YWIobXRhYiwgTlVMTCk7CisJfQorCisJcmMgPSBtbnRfdGFibGVfZmluZF9zb3VyY2UobXRhYiwgc3JjLCBNTlRfSVRFUl9CQUNLV0FSRCkgPyAxIDogMDsKKwlpZiAodmVyYm9zZSkgeworCQlpZiAocmMpCisJCQlwcmludGYoXygiJXMgaXMgbW91bnRlZFxuIiksIHNyYyk7CisJCWVsc2UKKwkJCXByaW50ZihfKCIlcyBpcyBub3QgbW91bnRlZFxuIiksIHNyYyk7CisJfQorCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBpZ25vcmUoc3RydWN0IGxpYm1udF9mcyAqKTsKKworc3RhdGljIHN0cnVjdCBmc2NrX2ZzX2RhdGEgKmZzX2NyZWF0ZV9kYXRhKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXN0cnVjdCBmc2NrX2ZzX2RhdGEgKmRhdGEgPSBtbnRfZnNfZ2V0X3VzZXJkYXRhKGZzKTsKKworCWlmICghZGF0YSkgeworCQlkYXRhID0geGNhbGxvYygxLCBzaXplb2YoKmRhdGEpKTsKKwkJbW50X2ZzX3NldF91c2VyZGF0YShmcywgZGF0YSk7CisJfQorCXJldHVybiBkYXRhOworfQorCisvKgorICogZnMgZnJvbSBmc3RhYiBtaWdodCBjb250YWlucyByZWFsIGRldmljZSBuYW1lIGFzIHdlbGwgYXMgc3ltbGluaywKKyAqIExBQkVMIG9yIFVVSUQsIHRoaXMgZnVuY3Rpb24gcmV0dXJucyBjYW5vbmljYWxpemVkIHJlc3VsdC4KKyAqLworc3RhdGljIGNvbnN0IGNoYXIgKmZzX2dldF9kZXZpY2Uoc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJc3RydWN0IGZzY2tfZnNfZGF0YSAqZGF0YSA9IG1udF9mc19nZXRfdXNlcmRhdGEoZnMpOworCisJaWYgKCFkYXRhIHx8ICFkYXRhLT5ldmFsX2RldmljZSkgeworCQljb25zdCBjaGFyICpzcGVjID0gbW50X2ZzX2dldF9zb3VyY2UoZnMpOworCisJCWlmICghZGF0YSkKKwkJCWRhdGEgPSBmc19jcmVhdGVfZGF0YShmcyk7CisKKwkJZGF0YS0+ZXZhbF9kZXZpY2UgPSAxOworCQlkYXRhLT5kZXZpY2UgPSBtbnRfcmVzb2x2ZV9zcGVjKHNwZWMsIG1udF90YWJsZV9nZXRfY2FjaGUoZnN0YWIpKTsKKwkJaWYgKCFkYXRhLT5kZXZpY2UpCisJCQlkYXRhLT5kZXZpY2UgPSB4c3RyZHVwKHNwZWMpOworCX0KKworCXJldHVybiBkYXRhLT5kZXZpY2U7Cit9CisKK3N0YXRpYyBkZXZfdCBmc19nZXRfZGlzayhzdHJ1Y3QgbGlibW50X2ZzICpmcywgaW50IGNoZWNrKQoreworCXN0cnVjdCBmc2NrX2ZzX2RhdGEgKmRhdGE7CisJY29uc3QgY2hhciAqZGV2aWNlOworCXN0cnVjdCBzdGF0IHN0OworCisJZGF0YSA9IG1udF9mc19nZXRfdXNlcmRhdGEoZnMpOworCWlmIChkYXRhICYmIGRhdGEtPmRpc2spCisJCXJldHVybiBkYXRhLT5kaXNrOworCisJaWYgKCFjaGVjaykKKwkJcmV0dXJuIDA7CisKKwlpZiAobW50X2ZzX2lzX25ldGZzKGZzKSB8fCBtbnRfZnNfaXNfcHNldWRvZnMoZnMpKQorCQlyZXR1cm4gMDsKKworCWRldmljZSA9IGZzX2dldF9kZXZpY2UoZnMpOworCWlmICghZGV2aWNlKQorCQlyZXR1cm4gMDsKKworCWRhdGEgPSBmc19jcmVhdGVfZGF0YShmcyk7CisKKwlpZiAoIXN0YXQoZGV2aWNlLCAmc3QpICYmCisJICAgICFibGtpZF9kZXZub190b193aG9sZWRpc2soc3Quc3RfcmRldiwgTlVMTCwgMCwgJmRhdGEtPmRpc2spKSB7CisKKwkJaWYgKGRhdGEtPmRpc2spCisJCQlkYXRhLT5zdGFja2VkID0gY291bnRfc2xhdmVzKGRhdGEtPmRpc2spID4gMCA/IDEgOiAwOworCQlyZXR1cm4gZGF0YS0+ZGlzazsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZnNfaXNfc3RhY2tlZChzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlzdHJ1Y3QgZnNja19mc19kYXRhICpkYXRhID0gbW50X2ZzX2dldF91c2VyZGF0YShmcyk7CisJcmV0dXJuIGRhdGEgPyBkYXRhLT5zdGFja2VkIDogMDsKK30KKworc3RhdGljIGludCBmc19pc19kb25lKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXN0cnVjdCBmc2NrX2ZzX2RhdGEgKmRhdGEgPSBtbnRfZnNfZ2V0X3VzZXJkYXRhKGZzKTsKKwlyZXR1cm4gZGF0YSA/IGRhdGEtPmRvbmUgOiAwOworfQorCitzdGF0aWMgdm9pZCBmc19zZXRfZG9uZShzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlzdHJ1Y3QgZnNja19mc19kYXRhICpkYXRhID0gZnNfY3JlYXRlX2RhdGEoZnMpOworCisJaWYgKGRhdGEpCisJCWRhdGEtPmRvbmUgPSAxOworfQorCitzdGF0aWMgaW50IGlzX2lycm90YXRpb25hbF9kaXNrKGRldl90IGRpc2spCit7CisJY2hhciBwYXRoW1BBVEhfTUFYXTsKKwlGSUxFICpmOworCWludCByYywgeDsKKworCisJcmMgPSBzbnByaW50ZihwYXRoLCBzaXplb2YocGF0aCksCisJCQkiL3N5cy9kZXYvYmxvY2svJWQ6JWQvcXVldWUvcm90YXRpb25hbCIsCisJCQltYWpvcihkaXNrKSwgbWlub3IoZGlzaykpOworCisJaWYgKHJjIDwgMCB8fCAodW5zaWduZWQgaW50KSByYyA+PSBzaXplb2YocGF0aCkpCisJCXJldHVybiAwOworCisJZiA9IGZvcGVuKHBhdGgsICJyIik7CisJaWYgKCFmKQorCQlyZXR1cm4gMDsKKworCXJjID0gZnNjYW5mKGYsICIlZCIsICZ4KTsKKwlpZiAocmMgIT0gMSkgeworCQlpZiAoZmVycm9yKGYpKQorCQkJd2FybihfKCJjYW5ub3QgcmVhZCAlcyIpLCBwYXRoKTsKKwkJZWxzZQorCQkJd2FybngoXygicGFyc2UgZXJyb3I6ICVzIiksIHBhdGgpOworCX0KKwlmY2xvc2UoZik7CisKKwlyZXR1cm4gcmMgPT0gMSA/ICF4IDogMDsKK30KKworc3RhdGljIHZvaWQgbG9ja19kaXNrKHN0cnVjdCBmc2NrX2luc3RhbmNlICppbnN0KQoreworCWRldl90IGRpc2sgPSBmc19nZXRfZGlzayhpbnN0LT5mcywgMSk7CisJY2hhciAqZGlza3BhdGggPSBOVUxMLCAqZGlza25hbWU7CisKKwlpbnN0LT5sb2NrID0gLTE7CisKKwlpZiAoIWRpc2sgfHwgaXNfaXJyb3RhdGlvbmFsX2Rpc2soZGlzaykpCisJCWdvdG8gZG9uZTsKKworCWRpc2twYXRoID0gYmxraWRfZGV2bm9fdG9fZGV2bmFtZShkaXNrKTsKKwlpZiAoIWRpc2twYXRoKQorCQlnb3RvIGRvbmU7CisKKwlpZiAoYWNjZXNzKEZTQ0tfUlVOVElNRV9ESVJOQU1FLCBGX09LKSAhPSAwKSB7CisJCWludCByYyA9IG1rZGlyKEZTQ0tfUlVOVElNRV9ESVJOQU1FLAorCQkJCSAgICBTX0lXVVNSfAorCQkJCSAgICBTX0lSVVNSfFNfSVJHUlB8U19JUk9USHwKKwkJCQkgICAgU19JWFVTUnxTX0lYR1JQfFNfSVhPVEgpOworCQlpZiAocmMgJiYgZXJybm8gIT0gRUVYSVNUKSB7CisJCQl3YXJuKF8oImNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5ICVzIiksCisJCQkJCUZTQ0tfUlVOVElNRV9ESVJOQU1FKTsKKwkJCWdvdG8gZG9uZTsKKwkJfQorCX0KKworCWRpc2tuYW1lID0gc3RyaXBvZmZfbGFzdF9jb21wb25lbnQoZGlza3BhdGgpOworCWlmICghZGlza25hbWUpCisJCWRpc2tuYW1lID0gZGlza3BhdGg7CisKKwl4YXNwcmludGYoJmluc3QtPmxvY2twYXRoLCBGU0NLX1JVTlRJTUVfRElSTkFNRSAiLyVzLmxvY2siLCBkaXNrbmFtZSk7CisKKwlpZiAodmVyYm9zZSkKKwkJcHJpbnRmKF8oIkxvY2tpbmcgZGlzayBieSAlcyAuLi4gIiksIGluc3QtPmxvY2twYXRoKTsKKworCWluc3QtPmxvY2sgPSBvcGVuKGluc3QtPmxvY2twYXRoLCBPX1JET05MWXxPX0NSRUFUfE9fQ0xPRVhFQywKKwkJCQkgICAgU19JV1VTUnxTX0lSVVNSfFNfSVJHUlB8U19JUk9USCk7CisJaWYgKGluc3QtPmxvY2sgPj0gMCkgeworCQlpbnQgcmMgPSAtMTsKKworCQkvKiBpbmZvcm0gdXNlcnMgdGhhdCB3ZSdyZSB3YWl0aW5nIG9uIHRoZSBsb2NrICovCisJCWlmICh2ZXJib3NlICYmCisJCSAgICAocmMgPSBmbG9jayhpbnN0LT5sb2NrLCBMT0NLX0VYIHwgTE9DS19OQikpICE9IDAgJiYKKwkJICAgIGVycm5vID09IEVXT1VMREJMT0NLKQorCQkJcHJpbnRmKF8oIih3YWl0aW5nKSAiKSk7CisKKwkJaWYgKHJjICE9IDAgJiYgZmxvY2soaW5zdC0+bG9jaywgTE9DS19FWCkgIT0gMCkgeworCQkJY2xvc2UoaW5zdC0+bG9jayk7CQkJLyogZmFpbGVkICovCisJCQlpbnN0LT5sb2NrID0gLTE7CisJCX0KKwl9CisKKwlpZiAodmVyYm9zZSkKKwkJLyogVFJBTlNMQVRPUlM6IFRoZXNlIGFyZSBmb2xsb3d1cHMgdG8gIkxvY2tpbmcgZGlzay4uLiIuICovCisJCXByaW50ZigiJXMuXG4iLCBpbnN0LT5sb2NrID49IDAgPyBfKCJzdWNjZWVkZWQiKSA6IF8oImZhaWxlZCIpKTsKKworCitkb25lOgorCWlmIChpbnN0LT5sb2NrIDwgMCkgeworCQlmcmVlKGluc3QtPmxvY2twYXRoKTsKKwkJaW5zdC0+bG9ja3BhdGggPSBOVUxMOworCX0KKwlmcmVlKGRpc2twYXRoKTsKKwlyZXR1cm47Cit9CisKK3N0YXRpYyB2b2lkIHVubG9ja19kaXNrKHN0cnVjdCBmc2NrX2luc3RhbmNlICppbnN0KQoreworCWlmIChpbnN0LT5sb2NrIDwgMCkKKwkJcmV0dXJuOworCisJaWYgKHZlcmJvc2UpCisJCXByaW50ZihfKCJVbmxvY2tpbmcgJXMuXG4iKSwgaW5zdC0+bG9ja3BhdGgpOworCisJY2xvc2UoaW5zdC0+bG9jayk7CQkJLyogdW5sb2NrICovCisKKwlmcmVlKGluc3QtPmxvY2twYXRoKTsKKworCWluc3QtPmxvY2sgPSAtMTsKKwlpbnN0LT5sb2NrcGF0aCA9IE5VTEw7Cit9CisKK3N0YXRpYyB2b2lkIGZyZWVfaW5zdGFuY2Uoc3RydWN0IGZzY2tfaW5zdGFuY2UgKmkpCit7CisJaWYgKGxvY2tkaXNrKQorCQl1bmxvY2tfZGlzayhpKTsKKwlmcmVlKGktPnByb2cpOworCWZyZWUoaS0+bG9ja3BhdGgpOworCW1udF91bnJlZl9mcyhpLT5mcyk7CisJZnJlZShpKTsKKwlyZXR1cm47Cit9CisKK3N0YXRpYyBzdHJ1Y3QgbGlibW50X2ZzICphZGRfZHVtbXlfZnMoY29uc3QgY2hhciAqZGV2aWNlKQoreworCXN0cnVjdCBsaWJtbnRfZnMgKmZzID0gbW50X25ld19mcygpOworCisJaWYgKGZzICYmIG1udF9mc19zZXRfc291cmNlKGZzLCBkZXZpY2UpID09IDAgJiYKKwkJCQkgIG1udF90YWJsZV9hZGRfZnMoZnN0YWIsIGZzKSA9PSAwKSB7CisJCW1udF91bnJlZl9mcyhmcyk7CisJCXJldHVybiBmczsKKwl9CisKKwltbnRfdW5yZWZfZnMoZnMpOworCWVycihGU0NLX0VYX0VSUk9SLCBfKCJmYWlsZWQgdG8gc2V0dXAgZGVzY3JpcHRpb24gZm9yICVzIiksIGRldmljZSk7Cit9CisKK3N0YXRpYyB2b2lkIGZzX2ludGVycHJldF90eXBlKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCWNvbnN0IGNoYXIgKmRldmljZTsKKwljb25zdCBjaGFyICp0eXBlID0gbW50X2ZzX2dldF9mc3R5cGUoZnMpOworCisJaWYgKHR5cGUgJiYgc3RyY21wKHR5cGUsICJhdXRvIikgIT0gMCkKKwkJcmV0dXJuOworCisJbW50X2ZzX3NldF9mc3R5cGUoZnMsIE5VTEwpOworCisJZGV2aWNlID0gZnNfZ2V0X2RldmljZShmcyk7CisJaWYgKGRldmljZSkgeworCQlpbnQgYW1iaSA9IDA7CisJCWNoYXIgKnRwOworCQlzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSA9IG1udF90YWJsZV9nZXRfY2FjaGUoZnN0YWIpOworCisJCXRwID0gbW50X2dldF9mc3R5cGUoZGV2aWNlLCAmYW1iaSwgY2FjaGUpOworCQlpZiAoIWFtYmkpCisJCQltbnRfZnNfc2V0X2ZzdHlwZShmcywgdHApOworCQlpZiAoIWNhY2hlKQorCQkJZnJlZSh0cCk7CisJfQorfQorCitzdGF0aWMgaW50IHBhcnNlcl9lcnJjYihzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiBfX2F0dHJpYnV0ZV9fICgoX191bnVzZWRfXykpLAorCQkJY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCBsaW5lKQoreworCXdhcm54KF8oIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIC0tIGlnbm9yZWQiKSwgZmlsZW5hbWUsIGxpbmUpOworCXJldHVybiAxOworfQorCisvKgorICogTG9hZCB0aGUgZmlsZXN5c3RlbSBkYXRhYmFzZSBmcm9tIC9ldGMvZnN0YWIKKyAqLworc3RhdGljIHZvaWQgbG9hZF9mc19pbmZvKHZvaWQpCit7CisJY29uc3QgY2hhciAqcGF0aDsKKworCWZzdGFiID0gbW50X25ld190YWJsZSgpOworCWlmICghZnN0YWIpCisJCWVycihGU0NLX0VYX0VSUk9SLCAoImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmxlIikpOworCisJbW50X3RhYmxlX3NldF9wYXJzZXJfZXJyY2IoZnN0YWIsIHBhcnNlcl9lcnJjYik7CisJbW50X3RhYmxlX3NldF9jYWNoZShmc3RhYiwgbW50Y2FjaGUpOworCisJZXJybm8gPSAwOworCisJLyoKKwkgKiBMZXQncyBmb2xsb3cgbGlibW91bnQgZGVmYXVsdHMgaWYgJEZTVEFCX0ZJTEUgaXMgbm90IHNwZWNpZmllZAorCSAqLworCXBhdGggPSBnZXRlbnYoIkZTVEFCX0ZJTEUiKTsKKworCWlmIChtbnRfdGFibGVfcGFyc2VfZnN0YWIoZnN0YWIsIHBhdGgpKSB7CisJCWlmICghcGF0aCkKKwkJCXBhdGggPSBtbnRfZ2V0X2ZzdGFiX3BhdGgoKTsKKworCQkvKiBkb24ndCBwcmludCBlcnJvciB3aGVuIHRoZXJlIGlzIG5vIGZzdGFiIGF0IGFsbCAqLworCQlpZiAoYWNjZXNzKHBhdGgsIEZfT0spID09IDApIHsKKwkJCWlmIChlcnJubykKKwkJCQl3YXJuKF8oIiVzOiBmYWlsZWQgdG8gcGFyc2UgZnN0YWIiKSwgcGF0aCk7CisJCQllbHNlCisJCQkJd2FybngoXygiJXM6IGZhaWxlZCB0byBwYXJzZSBmc3RhYiIpLCBwYXRoKTsKKwkJfQorCX0KK30KKworLyoKKyAqIExvb2t1cCBmaWxlc3lzIGluIC9ldGMvZnN0YWIgYW5kIHJldHVybiB0aGUgY29ycmVzcG9uZGluZyBlbnRyeS4KKyAqIFRoZSBAcGF0aCBoYXMgdG8gYmUgcmVhbCBwYXRoIChubyBUQUcpIGJ5IG1udF9yZXNvbHZlX3NwZWMoKS4KKyAqLworc3RhdGljIHN0cnVjdCBsaWJtbnRfZnMgKmxvb2t1cChjaGFyICpwYXRoKQoreworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCisJaWYgKCFwYXRoKQorCQlyZXR1cm4gTlVMTDsKKworCWZzID0gbW50X3RhYmxlX2ZpbmRfc3JjcGF0aChmc3RhYiwgcGF0aCwgTU5UX0lURVJfRk9SV0FSRCk7CisJaWYgKCFmcykgeworCQkvKgorCQkgKiBNYXliZSBtb3VudHBvaW50IGhhcyBiZWVuIHNwZWNpZmllZCBvbiBmc2NrIGNvbW1hbmQgbGluZS4KKwkJICogWWVhaCwgY3JhenkgZmVhdHVyZS4uLgorCQkgKgorCQkgKiBOb3RlIHRoYXQgbW50X3RhYmxlX2ZpbmRfdGFyZ2V0KCkgbWF5IGNhbm9uaWNhbGl6ZSBwYXRocyBpbgorCQkgKiB0aGUgZnN0YWIgdG8gc3VwcG9ydCBzeW1saW5rcy4gVGhpcyBpcyByZWFsbHkgdW53YW50ZWQsCisJCSAqIGJlY2F1c2UgcmVhZGxpbmsoKSBvbiBtb3VudHBvaW50cyBtYXkgdHJpZ2dlciBhdXRvbW91bnRzLgorCQkgKgorCQkgKiBTbywgZGlzYWJsZSB0aGUgY2FjaGUgYW5kIGNvbXBhcmUgdGhlIHBhdGhzIGFzIHN0cmluZ3MKKwkJICogd2l0aG91dCBjYXJlIGFib3V0IHN5bWxpbmtzLi4uCisJCSAqLworCQltbnRfdGFibGVfc2V0X2NhY2hlKGZzdGFiLCBOVUxMKTsKKwkJZnMgPSBtbnRfdGFibGVfZmluZF90YXJnZXQoZnN0YWIsIHBhdGgsIE1OVF9JVEVSX0ZPUldBUkQpOworCQltbnRfdGFibGVfc2V0X2NhY2hlKGZzdGFiLCBtbnRjYWNoZSk7CisJfQorCXJldHVybiBmczsKK30KKworLyogRmluZCBmc2NrIHByb2dyYW0gZm9yIGEgZ2l2ZW4gZnMgdHlwZS4gKi8KK3N0YXRpYyBjaGFyICpmaW5kX2ZzY2soY29uc3QgY2hhciAqdHlwZSkKK3sKKwljaGFyICpzOworCWNvbnN0IGNoYXIgKnRwbDsKKwlzdGF0aWMgY2hhciBwcm9nWzI1Nl07CisJY2hhciAqcCA9IHhzdHJkdXAoZnNja19wYXRoKTsKKworCS8qIEFyZSB3ZSBsb29raW5nIGZvciBhIHByb2dyYW0gb3IganVzdCBhIHR5cGU/ICovCisJdHBsID0gKHN0cm5jbXAodHlwZSwgImZzY2suIiwgNSkgPyAiJXMvZnNjay4lcyIgOiAiJXMvJXMiKTsKKworCWZvcihzID0gc3RydG9rKHAsICI6Iik7IHM7IHMgPSBzdHJ0b2soTlVMTCwgIjoiKSkgeworCQlzcHJpbnRmKHByb2csIHRwbCwgcywgdHlwZSk7CisJCWlmIChhY2Nlc3MocHJvZywgWF9PSykgPT0gMCkKKwkJCWJyZWFrOworCX0KKwlmcmVlKHApOworCisJcmV0dXJuKHMgPyBwcm9nIDogTlVMTCk7Cit9CisKK3N0YXRpYyBpbnQgcHJvZ3Jlc3NfYWN0aXZlKHZvaWQpCit7CisJc3RydWN0IGZzY2tfaW5zdGFuY2UgKmluc3Q7CisKKwlmb3IgKGluc3QgPSBpbnN0YW5jZV9saXN0OyBpbnN0OyBpbnN0ID0gaW5zdC0+bmV4dCkgeworCQlpZiAoaW5zdC0+ZmxhZ3MgJiBGTEFHX0RPTkUpCisJCQljb250aW51ZTsKKwkJaWYgKGluc3QtPmZsYWdzICYgRkxBR19QUk9HUkVTUykKKwkJCXJldHVybiAxOworCX0KKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFByb2Nlc3MgcnVuIHN0YXRpc3RpY3MgZm9yIGZpbmlzaGVkIGZzY2sgaW5zdGFuY2VzLgorICoKKyAqIElmIHJlcG9ydF9zdGF0cyBpcyAwLCBkbyBub3RoaW5nLCBvdGhlcndpc2UgcHJpbnQgYSBzZWxlY3Rpb24gb2YKKyAqIGludGVyZXN0aW5nIHJ1c2FnZSBzdGF0aXN0aWNzIGFzIHdlbGwgYXMgZWxhcHNlZCB3YWxsY2xvY2sgdGltZS4KKyAqLworc3RhdGljIHZvaWQgcHJpbnRfc3RhdHMoc3RydWN0IGZzY2tfaW5zdGFuY2UgKmluc3QpCit7CisJc3RydWN0IHRpbWV2YWwgZGVsdGE7CisKKwlpZiAoIWluc3QgfHwgIXJlcG9ydF9zdGF0cyB8fCBub2V4ZWN1dGUpCisJCXJldHVybjsKKworCXRpbWVyc3ViKCZpbnN0LT5lbmRfdGltZSwgJmluc3QtPnN0YXJ0X3RpbWUsICZkZWx0YSk7CisKKwlpZiAocmVwb3J0X3N0YXRzX2ZpbGUpCisJCWZwcmludGYocmVwb3J0X3N0YXRzX2ZpbGUsICIlcyAlZCAlbGQgIgorCQkJCQkgICAiJWxkLiUwNmxkICVsZC4lMDZsZCAlbGQuJTA2bGRcbiIsCisJCQlmc19nZXRfZGV2aWNlKGluc3QtPmZzKSwKKwkJCWluc3QtPmV4aXRfc3RhdHVzLAorCQkJaW5zdC0+cnVzYWdlLnJ1X21heHJzcywKKwkJCShsb25nKWRlbHRhLnR2X3NlYywgKGxvbmcpZGVsdGEudHZfdXNlYywKKwkJCShsb25nKWluc3QtPnJ1c2FnZS5ydV91dGltZS50dl9zZWMsCisJCQkobG9uZylpbnN0LT5ydXNhZ2UucnVfdXRpbWUudHZfdXNlYywKKwkJCShsb25nKWluc3QtPnJ1c2FnZS5ydV9zdGltZS50dl9zZWMsCisJCQkobG9uZylpbnN0LT5ydXNhZ2UucnVfc3RpbWUudHZfdXNlYyk7CisJZWxzZQorCQlmcHJpbnRmKHN0ZG91dCwgIiVzOiBzdGF0dXMgJWQsIHJzcyAlbGQsICIKKwkJCQkicmVhbCAlbGQuJTA2bGQsIHVzZXIgJWxkLiUwNmxkLCBzeXMgJWxkLiUwNmxkXG4iLAorCQkJZnNfZ2V0X2RldmljZShpbnN0LT5mcyksCisJCQlpbnN0LT5leGl0X3N0YXR1cywKKwkJCWluc3QtPnJ1c2FnZS5ydV9tYXhyc3MsCisJCQkobG9uZylkZWx0YS50dl9zZWMsIChsb25nKWRlbHRhLnR2X3VzZWMsCisJCQkobG9uZylpbnN0LT5ydXNhZ2UucnVfdXRpbWUudHZfc2VjLAorCQkJKGxvbmcpaW5zdC0+cnVzYWdlLnJ1X3V0aW1lLnR2X3VzZWMsCisJCQkobG9uZylpbnN0LT5ydXNhZ2UucnVfc3RpbWUudHZfc2VjLAorCQkJKGxvbmcpaW5zdC0+cnVzYWdlLnJ1X3N0aW1lLnR2X3VzZWMpOworfQorCisvKgorICogRXhlY3V0ZSBhIHBhcnRpY3VsYXIgZnNjayBwcm9ncmFtLCBhbmQgbGluayBpdCBpbnRvIHRoZSBsaXN0IG9mCisgKiBjaGlsZCBwcm9jZXNzZXMgd2UgYXJlIHdhaXRpbmcgZm9yLgorICovCitzdGF0aWMgaW50IGV4ZWN1dGUoY29uc3QgY2hhciAqcHJvZ25hbWUsIGNvbnN0IGNoYXIgKnByb2dwYXRoLAorCQkgICBjb25zdCBjaGFyICp0eXBlLCBzdHJ1Y3QgbGlibW50X2ZzICpmcywgaW50IGludGVyYWN0aXZlKQoreworCWNoYXIgKmFyZ3ZbODBdOworCWludCAgYXJnYywgaTsKKwlzdHJ1Y3QgZnNja19pbnN0YW5jZSAqaW5zdCwgKnA7CisJcGlkX3QJcGlkOworCisJaW5zdCA9IHhjYWxsb2MoMSwgc2l6ZW9mKCppbnN0KSk7CisKKwlhcmd2WzBdID0geHN0cmR1cChwcm9nbmFtZSk7CisJYXJnYyA9IDE7CisKKwlmb3IgKGk9MDsgaSA8bnVtX2FyZ3M7IGkrKykKKwkJYXJndlthcmdjKytdID0geHN0cmR1cChhcmdzW2ldKTsKKworCWlmIChwcm9ncmVzcyAmJgorCSAgICAgICAoKHN0cmNtcCh0eXBlLCAiZXh0MiIpID09IDApIHx8CisJCShzdHJjbXAodHlwZSwgImV4dDMiKSA9PSAwKSB8fAorCQkoc3RyY21wKHR5cGUsICJleHQ0IikgPT0gMCkgfHwKKwkJKHN0cmNtcCh0eXBlLCAiZXh0NGRldiIpID09IDApKSkgeworCisJCWNoYXIgdG1wWzgwXTsKKwkJdG1wWzBdID0gMDsKKwkJaWYgKCFwcm9ncmVzc19hY3RpdmUoKSkgeworCQkJc25wcmludGYodG1wLCA4MCwgIi1DJWQiLCBwcm9ncmVzc19mZCk7CisJCQlpbnN0LT5mbGFncyB8PSBGTEFHX1BST0dSRVNTOworCQl9IGVsc2UgaWYgKHByb2dyZXNzX2ZkKQorCQkJc25wcmludGYodG1wLCA4MCwgIi1DJWQiLCBwcm9ncmVzc19mZCAqIC0xKTsKKwkJaWYgKHRtcFswXSkKKwkJCWFyZ3ZbYXJnYysrXSA9IHhzdHJkdXAodG1wKTsKKwl9CisKKwlhcmd2W2FyZ2MrK10gPSB4c3RyZHVwKGZzX2dldF9kZXZpY2UoZnMpKTsKKwlhcmd2W2FyZ2NdID0gMDsKKworCWlmICh2ZXJib3NlIHx8IG5vZXhlY3V0ZSkgeworCQljb25zdCBjaGFyICp0Z3QgPSBtbnRfZnNfZ2V0X3RhcmdldChmcyk7CisKKwkJaWYgKCF0Z3QpCisJCQl0Z3QgPSBmc19nZXRfZGV2aWNlKGZzKTsKKwkJcHJpbnRmKCJbJXMgKCVkKSAtLSAlc10gIiwgcHJvZ3BhdGgsIG51bV9ydW5uaW5nLCB0Z3QpOworCQlmb3IgKGk9MDsgaSA8IGFyZ2M7IGkrKykKKwkJCXByaW50ZigiJXMgIiwgYXJndltpXSk7CisJCXByaW50ZigiXG4iKTsKKwl9CisKKwltbnRfcmVmX2ZzKGZzKTsKKwlpbnN0LT5mcyA9IGZzOworCWluc3QtPmxvY2sgPSAtMTsKKworCWlmIChsb2NrZGlzaykKKwkJbG9ja19kaXNrKGluc3QpOworCisJLyogRm9yayBhbmQgZXhlY3V0ZSB0aGUgY29ycmVjdCBwcm9ncmFtLiAqLworCWlmIChub2V4ZWN1dGUpCisJCXBpZCA9IC0xOworCWVsc2UgaWYgKChwaWQgPSBmb3JrKCkpIDwgMCkgeworCQl3YXJuKF8oImZvcmsgZmFpbGVkIikpOworCQlmcmVlX2luc3RhbmNlKGluc3QpOworCQlyZXR1cm4gZXJybm87CisJfSBlbHNlIGlmIChwaWQgPT0gMCkgeworCQlpZiAoIWludGVyYWN0aXZlKQorCQkJY2xvc2UoMCk7CisJCWV4ZWN2KHByb2dwYXRoLCBhcmd2KTsKKwkJZXJyKEZTQ0tfRVhfRVJST1IsIF8oIiVzOiBleGVjdXRlIGZhaWxlZCIpLCBwcm9ncGF0aCk7CisJfQorCisJZm9yIChpPTA7IGkgPCBhcmdjOyBpKyspCisJCWZyZWUoYXJndltpXSk7CisKKwlpbnN0LT5waWQgPSBwaWQ7CisJaW5zdC0+cHJvZyA9IHhzdHJkdXAocHJvZ25hbWUpOworCWluc3QtPnR5cGUgPSB4c3RyZHVwKHR5cGUpOworCWdldHRpbWVfbW9ub3RvbmljKCZpbnN0LT5zdGFydF90aW1lKTsKKwlpbnN0LT5uZXh0ID0gTlVMTDsKKworCS8qCisJICogRmluZCB0aGUgZW5kIG9mIHRoZSBsaXN0LCBzbyB3ZSBhZGQgdGhlIGluc3RhbmNlIG9uIGF0IHRoZSBlbmQuCisJICovCisJZm9yIChwID0gaW5zdGFuY2VfbGlzdDsgcCAmJiBwLT5uZXh0OyBwID0gcC0+bmV4dCk7CisKKwlpZiAocCkKKwkJcC0+bmV4dCA9IGluc3Q7CisJZWxzZQorCQlpbnN0YW5jZV9saXN0ID0gaW5zdDsKKworCXJldHVybiAwOworfQorCisvKgorICogU2VuZCBhIHNpZ25hbCB0byBhbGwgb3V0c3RhbmRpbmcgZnNjayBjaGlsZCBwcm9jZXNzZXMKKyAqLworc3RhdGljIGludCBraWxsX2FsbChpbnQgc2lnbnVtKQoreworCXN0cnVjdCBmc2NrX2luc3RhbmNlICppbnN0OworCWludAluID0gMDsKKworCWZvciAoaW5zdCA9IGluc3RhbmNlX2xpc3Q7IGluc3Q7IGluc3QgPSBpbnN0LT5uZXh0KSB7CisJCWlmIChpbnN0LT5mbGFncyAmIEZMQUdfRE9ORSkKKwkJCWNvbnRpbnVlOworCQlraWxsKGluc3QtPnBpZCwgc2lnbnVtKTsKKwkJbisrOworCX0KKwlyZXR1cm4gbjsKK30KKworLyoKKyAqIFdhaXQgZm9yIG9uZSBjaGlsZCBwcm9jZXNzIHRvIGV4aXQ7IHdoZW4gaXQgZG9lcywgdW5saW5rIGl0IGZyb20KKyAqIHRoZSBsaXN0IG9mIGV4ZWN1dGluZyBjaGlsZCBwcm9jZXNzZXMsIGFuZCByZXR1cm4gaXQuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgZnNja19pbnN0YW5jZSAqd2FpdF9vbmUoaW50IGZsYWdzKQoreworCWludAlzdGF0dXMgPSAwOworCWludAlzaWc7CisJc3RydWN0IGZzY2tfaW5zdGFuY2UgKmluc3QsICppbnN0MiwgKnByZXY7CisJcGlkX3QJcGlkOworCXN0cnVjdCBydXNhZ2UgcnVzYWdlOworCisJaWYgKCFpbnN0YW5jZV9saXN0KQorCQlyZXR1cm4gTlVMTDsKKworCWlmIChub2V4ZWN1dGUpIHsKKwkJaW5zdCA9IGluc3RhbmNlX2xpc3Q7CisJCXByZXYgPSAwOworI2lmZGVmIFJBTkRPTV9ERUJVRworCQl3aGlsZSAoaW5zdC0+bmV4dCAmJiAocmFuZG9tKCkgJiAxKSkgeworCQkJcHJldiA9IGluc3Q7CisJCQlpbnN0ID0gaW5zdC0+bmV4dDsKKwkJfQorI2VuZGlmCisJCWluc3QtPmV4aXRfc3RhdHVzID0gMDsKKwkJZ290byByZXRfaW5zdDsKKwl9CisKKwkvKgorCSAqIGdjYyAtV2FsbCBmYWlscyBzYXZpbmcgdGhyb3cgYWdhaW5zdCBzdHVwaWRpdHkKKwkgKiAoaW5zdCBhbmQgcHJldiBhcmUgdGhvdWdodCB0byBiZSB1bmluaXRpYWxpemVkIHZhcmlhYmxlcykKKwkgKi8KKwlpbnN0ID0gcHJldiA9IE5VTEw7CisKKwlkbyB7CisJCXBpZCA9IHdhaXQ0KC0xLCAmc3RhdHVzLCBmbGFncywgJnJ1c2FnZSk7CisJCWlmIChjYW5jZWxfcmVxdWVzdGVkICYmICFraWxsX3NlbnQpIHsKKwkJCWtpbGxfYWxsKFNJR1RFUk0pOworCQkJa2lsbF9zZW50Kys7CisJCX0KKwkJaWYgKChwaWQgPT0gMCkgJiYgKGZsYWdzICYgV05PSEFORykpCisJCQlyZXR1cm4gTlVMTDsKKwkJaWYgKHBpZCA8IDApIHsKKwkJCWlmICgoZXJybm8gPT0gRUlOVFIpIHx8IChlcnJubyA9PSBFQUdBSU4pKQorCQkJCWNvbnRpbnVlOworCQkJaWYgKGVycm5vID09IEVDSElMRCkgeworCQkJCXdhcm54KF8oIndhaXQ6IG5vIG1vcmUgY2hpbGQgcHJvY2Vzcz8hPyIpKTsKKwkJCQlyZXR1cm4gTlVMTDsKKwkJCX0KKwkJCXdhcm4oXygid2FpdHBpZCBmYWlsZWQiKSk7CisJCQljb250aW51ZTsKKwkJfQorCQlmb3IgKHByZXYgPSAwLCBpbnN0ID0gaW5zdGFuY2VfbGlzdDsKKwkJICAgICBpbnN0OworCQkgICAgIHByZXYgPSBpbnN0LCBpbnN0ID0gaW5zdC0+bmV4dCkgeworCQkJaWYgKGluc3QtPnBpZCA9PSBwaWQpCisJCQkJYnJlYWs7CisJCX0KKwl9IHdoaWxlICghaW5zdCk7CisKKwlpZiAoV0lGRVhJVEVEKHN0YXR1cykpCisJCXN0YXR1cyA9IFdFWElUU1RBVFVTKHN0YXR1cyk7CisJZWxzZSBpZiAoV0lGU0lHTkFMRUQoc3RhdHVzKSkgeworCQlzaWcgPSBXVEVSTVNJRyhzdGF0dXMpOworCQlpZiAoc2lnID09IFNJR0lOVCkgeworCQkJc3RhdHVzID0gRlNDS19FWF9VTkNPUlJFQ1RFRDsKKwkJfSBlbHNlIHsKKwkJCXdhcm54KF8oIldhcm5pbmcuLi4gJXMgZm9yIGRldmljZSAlcyBleGl0ZWQgIgorCQkJICAgICAgICJ3aXRoIHNpZ25hbCAlZC4iKSwKKwkJCSAgICAgICBpbnN0LT5wcm9nLCBmc19nZXRfZGV2aWNlKGluc3QtPmZzKSwgc2lnKTsKKwkJCXN0YXR1cyA9IEZTQ0tfRVhfRVJST1I7CisJCX0KKwl9IGVsc2UgeworCQl3YXJueChfKCIlcyAlczogc3RhdHVzIGlzICV4LCBzaG91bGQgbmV2ZXIgaGFwcGVuLiIpLAorCQkgICAgICAgaW5zdC0+cHJvZywgZnNfZ2V0X2RldmljZShpbnN0LT5mcyksIHN0YXR1cyk7CisJCXN0YXR1cyA9IEZTQ0tfRVhfRVJST1I7CisJfQorCisJaW5zdC0+ZXhpdF9zdGF0dXMgPSBzdGF0dXM7CisJaW5zdC0+ZmxhZ3MgfD0gRkxBR19ET05FOworCWdldHRpbWVfbW9ub3RvbmljKCZpbnN0LT5lbmRfdGltZSk7CisJbWVtY3B5KCZpbnN0LT5ydXNhZ2UsICZydXNhZ2UsIHNpemVvZihzdHJ1Y3QgcnVzYWdlKSk7CisKKwlpZiAocHJvZ3Jlc3MgJiYgKGluc3QtPmZsYWdzICYgRkxBR19QUk9HUkVTUykgJiYKKwkgICAgIXByb2dyZXNzX2FjdGl2ZSgpKSB7CisJCWZvciAoaW5zdDIgPSBpbnN0YW5jZV9saXN0OyBpbnN0MjsgaW5zdDIgPSBpbnN0Mi0+bmV4dCkgeworCQkJaWYgKGluc3QyLT5mbGFncyAmIEZMQUdfRE9ORSkKKwkJCQljb250aW51ZTsKKwkJCWlmIChzdHJjbXAoaW5zdDItPnR5cGUsICJleHQyIikgJiYKKwkJCSAgICBzdHJjbXAoaW5zdDItPnR5cGUsICJleHQzIikgJiYKKwkJCSAgICBzdHJjbXAoaW5zdDItPnR5cGUsICJleHQ0IikgJiYKKwkJCSAgICBzdHJjbXAoaW5zdDItPnR5cGUsICJleHQ0ZGV2IikpCisJCQkJY29udGludWU7CisJCQkvKgorCQkJICogSWYgd2UndmUganVzdCBzdGFydGVkIHRoZSBmc2NrLCB3YWl0IGEgdGlueQorCQkJICogYml0IGJlZm9yZSBzZW5kaW5nIHRoZSBraWxsLCB0byBnaXZlIGl0CisJCQkgKiB0aW1lIHRvIHNldCB1cCB0aGUgc2lnbmFsIGhhbmRsZXIKKwkJCSAqLworCQkJaWYgKGluc3QyLT5zdGFydF90aW1lLnR2X3NlYyA8IHRpbWUoMCkgKyAyKSB7CisJCQkJaWYgKGZvcmsoKSA9PSAwKSB7CisJCQkJCXNsZWVwKDEpOworCQkJCQlraWxsKGluc3QyLT5waWQsIFNJR1VTUjEpOworCQkJCQlleGl0KEZTQ0tfRVhfT0spOworCQkJCX0KKwkJCX0gZWxzZQorCQkJCWtpbGwoaW5zdDItPnBpZCwgU0lHVVNSMSk7CisJCQlpbnN0Mi0+ZmxhZ3MgfD0gRkxBR19QUk9HUkVTUzsKKwkJCWJyZWFrOworCQl9CisJfQorcmV0X2luc3Q6CisJaWYgKHByZXYpCisJCXByZXYtPm5leHQgPSBpbnN0LT5uZXh0OworCWVsc2UKKwkJaW5zdGFuY2VfbGlzdCA9IGluc3QtPm5leHQ7CisKKwlwcmludF9zdGF0cyhpbnN0KTsKKworCWlmICh2ZXJib3NlID4gMSkKKwkJcHJpbnRmKF8oIkZpbmlzaGVkIHdpdGggJXMgKGV4aXQgc3RhdHVzICVkKVxuIiksCisJCSAgICAgICBmc19nZXRfZGV2aWNlKGluc3QtPmZzKSwgaW5zdC0+ZXhpdF9zdGF0dXMpOworCW51bV9ydW5uaW5nLS07CisJcmV0dXJuIGluc3Q7Cit9CisKKyNkZWZpbmUgRkxBR19XQUlUX0FMTAkJMAorI2RlZmluZSBGTEFHX1dBSVRfQVRMRUFTVF9PTkUJMQorLyoKKyAqIFdhaXQgdW50aWwgYWxsIGV4ZWN1dGluZyBjaGlsZCBwcm9jZXNzZXMgaGF2ZSBleGl0ZWQ7IHJldHVybiB0aGUKKyAqIGxvZ2ljYWwgT1Igb2YgYWxsIG9mIHRoZWlyIGV4aXQgY29kZSB2YWx1ZXMuCisgKi8KK3N0YXRpYyBpbnQgd2FpdF9tYW55KGludCBmbGFncykKK3sKKwlzdHJ1Y3QgZnNja19pbnN0YW5jZSAqaW5zdDsKKwlpbnQJZ2xvYmFsX3N0YXR1cyA9IDA7CisJaW50CXdhaXRfZmxhZ3MgPSAwOworCisJd2hpbGUgKChpbnN0ID0gd2FpdF9vbmUod2FpdF9mbGFncykpKSB7CisJCWdsb2JhbF9zdGF0dXMgfD0gaW5zdC0+ZXhpdF9zdGF0dXM7CisJCWZyZWVfaW5zdGFuY2UoaW5zdCk7CisjaWZkZWYgUkFORE9NX0RFQlVHCisJCWlmIChub2V4ZWN1dGUgJiYgKGZsYWdzICYgV05PSEFORykgJiYgIShyYW5kb20oKSAlIDMpKQorCQkJYnJlYWs7CisjZW5kaWYKKwkJaWYgKGZsYWdzICYgRkxBR19XQUlUX0FUTEVBU1RfT05FKQorCQkJd2FpdF9mbGFncyA9IFdOT0hBTkc7CisJfQorCXJldHVybiBnbG9iYWxfc3RhdHVzOworfQorCisvKgorICogUnVuIHRoZSBmc2NrIHByb2dyYW0gb24gYSBwYXJ0aWN1bGFyIGRldmljZQorICoKKyAqIElmIHRoZSB0eXBlIGlzIHNwZWNpZmllZCB1c2luZyAtdCwgYW5kIGl0IGlzbid0IHByZWZpeGVkIHdpdGggIm5vIgorICogKGFzIGluICJub2V4dDIiKSBhbmQgb25seSBvbmUgZmlsZXN5c3RlbSB0eXBlIGlzIHNwZWNpZmllZCwgdGhlbgorICogdXNlIHRoYXQgdHlwZSByZWdhcmRsZXNzIG9mIHdoYXQgaXMgc3BlY2lmaWVkIGluIC9ldGMvZnN0YWIuCisgKgorICogSWYgdGhlIHR5cGUgaXNuJ3Qgc3BlY2lmaWVkIGJ5IHRoZSB1c2VyLCB0aGVuIHVzZSBlaXRoZXIgdGhlIHR5cGUKKyAqIHNwZWNpZmllZCBpbiAvZXRjL2ZzdGFiLCBvciBERUZBVUxUX0ZTVFlQRS4KKyAqLworc3RhdGljIGludCBmc2NrX2RldmljZShzdHJ1Y3QgbGlibW50X2ZzICpmcywgaW50IGludGVyYWN0aXZlKQoreworCWNoYXIgcHJvZ25hbWVbODBdLCAqcHJvZ3BhdGg7CisJY29uc3QgY2hhciAqdHlwZTsKKwlpbnQgcmV0dmFsOworCisJZnNfaW50ZXJwcmV0X3R5cGUoZnMpOworCisJdHlwZSA9IG1udF9mc19nZXRfZnN0eXBlKGZzKTsKKworCWlmICh0eXBlICYmIHN0cmNtcCh0eXBlLCAiYXV0byIpICE9IDApCisJCTsKKwllbHNlIGlmIChmc3R5cGUgJiYgc3RybmNtcChmc3R5cGUsICJubyIsIDIpICYmCisJICAgIHN0cm5jbXAoZnN0eXBlLCAib3B0cz0iLCA1KSAmJiBzdHJuY21wKGZzdHlwZSwgImxvb3AiLCA0KSAmJgorCSAgICAhc3RyY2hyKGZzdHlwZSwgJywnKSkKKwkJdHlwZSA9IGZzdHlwZTsKKwllbHNlCisJCXR5cGUgPSBERUZBVUxUX0ZTVFlQRTsKKworCXNwcmludGYocHJvZ25hbWUsICJmc2NrLiVzIiwgdHlwZSk7CisJcHJvZ3BhdGggPSBmaW5kX2ZzY2socHJvZ25hbWUpOworCWlmIChwcm9ncGF0aCA9PSBOVUxMKSB7CisJCWlmIChmc19jaGVja19yZXF1aXJlZCh0eXBlKSkgeworCQkJcmV0dmFsID0gRU5PRU5UOworCQkJZ290byBlcnI7CisJCX0KKwkJcmV0dXJuIDA7CisJfQorCisJbnVtX3J1bm5pbmcrKzsKKwlyZXR2YWwgPSBleGVjdXRlKHByb2duYW1lLCBwcm9ncGF0aCwgdHlwZSwgZnMsIGludGVyYWN0aXZlKTsKKwlpZiAocmV0dmFsKSB7CisJCW51bV9ydW5uaW5nLS07CisJCWdvdG8gZXJyOworCX0KKwlyZXR1cm4gMDsKK2VycjoKKwl3YXJueChfKCJlcnJvciAlZCAoJW0pIHdoaWxlIGV4ZWN1dGluZyBmc2NrLiVzIGZvciAlcyIpLAorCQkJcmV0dmFsLCB0eXBlLCBmc19nZXRfZGV2aWNlKGZzKSk7CisJcmV0dXJuIEZTQ0tfRVhfRVJST1I7Cit9CisKKworLyoKKyAqIERlYWwgd2l0aCB0aGUgZnNjayAtdCBhcmd1bWVudC4KKyAqLworc3RydWN0IGZzX3R5cGVfY29tcGlsZSB7CisJY2hhciAqKmxpc3Q7CisJaW50ICp0eXBlOworCWludCAgbmVnYXRlOworfSBmc190eXBlX2NvbXBpbGVkOworCisjZGVmaW5lIEZTX1RZUEVfTk9STUFMCTAKKyNkZWZpbmUgRlNfVFlQRV9PUFQJMQorI2RlZmluZSBGU19UWVBFX05FR09QVAkyCisKK3N0YXRpYyB2b2lkIGNvbXBpbGVfZnNfdHlwZShjaGFyICpmc190eXBlLCBzdHJ1Y3QgZnNfdHlwZV9jb21waWxlICpjbXApCit7CisJY2hhcgkqY3AsICpsaXN0LCAqczsKKwlpbnQJbnVtID0gMjsKKwlpbnQJbmVnYXRlLCBmaXJzdF9uZWdhdGUgPSAxOworCisJaWYgKGZzX3R5cGUpIHsKKwkJZm9yIChjcD1mc190eXBlOyAqY3A7IGNwKyspIHsKKwkJCWlmICgqY3AgPT0gJywnKQorCQkJCW51bSsrOworCQl9CisJfQorCisJY21wLT5saXN0ID0geGNhbGxvYyhudW0sIHNpemVvZihjaGFyICopKTsKKwljbXAtPnR5cGUgPSB4Y2FsbG9jKG51bSwgc2l6ZW9mKGludCkpOworCWNtcC0+bmVnYXRlID0gMDsKKworCWlmICghZnNfdHlwZSkKKwkJcmV0dXJuOworCisJbGlzdCA9IHhzdHJkdXAoZnNfdHlwZSk7CisJbnVtID0gMDsKKwlzID0gc3RydG9rKGxpc3QsICIsIik7CisJd2hpbGUocykgeworCQluZWdhdGUgPSAwOworCQlpZiAoc3RybmNtcChzLCAibm8iLCAyKSA9PSAwKSB7CisJCQlzICs9IDI7CisJCQluZWdhdGUgPSAxOworCQl9IGVsc2UgaWYgKCpzID09ICchJykgeworCQkJcysrOworCQkJbmVnYXRlID0gMTsKKwkJfQorCQlpZiAoc3RyY21wKHMsICJsb29wIikgPT0gMCkKKwkJCS8qIGxvb3AgaXMgcmVhbGx5IHNob3J0LWhhbmQgZm9yIG9wdHM9bG9vcCAqLworCQkJZ290byBsb29wX3NwZWNpYWxfY2FzZTsKKwkJZWxzZSBpZiAoc3RybmNtcChzLCAib3B0cz0iLCA1KSA9PSAwKSB7CisJCQlzICs9IDU7CisJCWxvb3Bfc3BlY2lhbF9jYXNlOgorCQkJY21wLT50eXBlW251bV0gPSBuZWdhdGUgPyBGU19UWVBFX05FR09QVCA6IEZTX1RZUEVfT1BUOworCQl9IGVsc2UgeworCQkJaWYgKGZpcnN0X25lZ2F0ZSkgeworCQkJCWNtcC0+bmVnYXRlID0gbmVnYXRlOworCQkJCWZpcnN0X25lZ2F0ZSA9IDA7CisJCQl9CisJCQlpZiAoKG5lZ2F0ZSAmJiAhY21wLT5uZWdhdGUpIHx8CisJCQkgICAgKCFuZWdhdGUgJiYgY21wLT5uZWdhdGUpKSB7CisJCQkJZXJyeChGU0NLX0VYX1VTQUdFLAorCQkJCQlfKCJFaXRoZXIgYWxsIG9yIG5vbmUgb2YgdGhlIGZpbGVzeXN0ZW0gdHlwZXMgcGFzc2VkIHRvIC10IG11c3QgYmUgcHJlZml4ZWRcbiIKKwkJCQkJICAid2l0aCAnbm8nIG9yICchJy4iKSk7CisJCQl9CisJCX0KKworCQljbXAtPmxpc3RbbnVtKytdID0geHN0cmR1cChzKTsKKwkJcyA9IHN0cnRvayhOVUxMLCAiLCIpOworCX0KKwlmcmVlKGxpc3QpOworfQorCisvKgorICogVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRydWUgaWYgYSBwYXJ0aWN1bGFyIG9wdGlvbiBhcHBlYXJzIGluIGEKKyAqIGNvbW1hLWRlbGltaXRlZCBvcHRpb25zIGxpc3QKKyAqLworc3RhdGljIGludCBvcHRfaW5fbGlzdChjb25zdCBjaGFyICpvcHQsIGNvbnN0IGNoYXIgKm9wdGxpc3QpCit7CisJY2hhcgkqbGlzdCwgKnM7CisKKwlpZiAoIW9wdGxpc3QpCisJCXJldHVybiAwOworCWxpc3QgPSB4c3RyZHVwKG9wdGxpc3QpOworCisJcyA9IHN0cnRvayhsaXN0LCAiLCIpOworCXdoaWxlKHMpIHsKKwkJaWYgKHN0cmNtcChzLCBvcHQpID09IDApIHsKKwkJCWZyZWUobGlzdCk7CisJCQlyZXR1cm4gMTsKKwkJfQorCQlzID0gc3RydG9rKE5VTEwsICIsIik7CisJfQorCWZyZWUobGlzdCk7CisJcmV0dXJuIDA7Cit9CisKKy8qIFNlZSBpZiB0aGUgZmlsZXN5c3RlbSBtYXRjaGVzIHRoZSBjcml0ZXJpYSBnaXZlbiBieSB0aGUgLXQgb3B0aW9uICovCitzdGF0aWMgaW50IGZzX21hdGNoKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBzdHJ1Y3QgZnNfdHlwZV9jb21waWxlICpjbXApCit7CisJaW50IG4sIHJldCA9IDAsIGNoZWNrZWRfdHlwZSA9IDA7CisJY2hhciAqY3A7CisKKwlpZiAoY21wLT5saXN0ID09IDAgfHwgY21wLT5saXN0WzBdID09IDApCisJCXJldHVybiAxOworCisJZm9yIChuPTA7IChjcCA9IGNtcC0+bGlzdFtuXSk7IG4rKykgeworCQlzd2l0Y2ggKGNtcC0+dHlwZVtuXSkgeworCQljYXNlIEZTX1RZUEVfTk9STUFMOgorCQl7CisJCQljb25zdCBjaGFyICp0eXBlID0gbW50X2ZzX2dldF9mc3R5cGUoZnMpOworCisJCQljaGVja2VkX3R5cGUrKzsKKwkJCWlmICh0eXBlICYmIHN0cmNtcChjcCwgdHlwZSkgPT0gMCkKKwkJCQlyZXQgPSAxOworCQkJYnJlYWs7CisJCX0KKwkJY2FzZSBGU19UWVBFX05FR09QVDoKKwkJCWlmIChvcHRfaW5fbGlzdChjcCwgbW50X2ZzX2dldF9vcHRpb25zKGZzKSkpCisJCQkJcmV0dXJuIDA7CisJCQlicmVhazsKKwkJY2FzZSBGU19UWVBFX09QVDoKKwkJCWlmICghb3B0X2luX2xpc3QoY3AsIG1udF9mc19nZXRfb3B0aW9ucyhmcykpKQorCQkJCXJldHVybiAwOworCQkJYnJlYWs7CisJCX0KKwl9CisJaWYgKGNoZWNrZWRfdHlwZSA9PSAwKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gKGNtcC0+bmVnYXRlID8gIXJldCA6IHJldCk7Cit9CisKKy8qCisgKiBDaGVjayBpZiBhIGRldmljZSBleGlzdHMKKyAqLworc3RhdGljIGludCBkZXZpY2VfZXhpc3RzKGNvbnN0IGNoYXIgKmRldmljZSkKK3sKKwlzdHJ1Y3Qgc3RhdCBzdDsKKworCWlmIChzdGF0KGRldmljZSwgJnN0KSA9PSAtMSkKKwkJcmV0dXJuIDA7CisJaWYgKCFTX0lTQkxLKHN0LnN0X21vZGUpKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBmc19pZ25vcmVkX3R5cGUoc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJY29uc3QgY2hhciAqKmlwLCAqdHlwZTsKKworCWlmIChtbnRfZnNfaXNfbmV0ZnMoZnMpIHx8IG1udF9mc19pc19wc2V1ZG9mcyhmcykgfHwgbW50X2ZzX2lzX3N3YXBhcmVhKGZzKSkKKwkJcmV0dXJuIDE7CisKKwl0eXBlID0gbW50X2ZzX2dldF9mc3R5cGUoZnMpOworCisJZm9yKGlwID0gaWdub3JlZF90eXBlczsgdHlwZSAmJiAqaXA7IGlwKyspIHsKKwkJaWYgKHN0cmNtcCh0eXBlLCAqaXApID09IDApCisJCQlyZXR1cm4gMTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyogQ2hlY2sgaWYgd2Ugc2hvdWxkIGlnbm9yZSB0aGlzIGZpbGVzeXN0ZW0uICovCitzdGF0aWMgaW50IGlnbm9yZShzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwljb25zdCBjaGFyICp0eXBlOworCisJLyoKKwkgKiBJZiB0aGUgcGFzcyBudW1iZXIgaXMgMCwgaWdub3JlIGl0LgorCSAqLworCWlmIChtbnRfZnNfZ2V0X3Bhc3NubyhmcykgPT0gMCkKKwkJcmV0dXJuIDE7CisKKwkvKgorCSAqIElmIHRoaXMgaXMgYSBiaW5kIG1vdW50LCBpZ25vcmUgaXQuCisJICovCisJaWYgKG9wdF9pbl9saXN0KCJiaW5kIiwgbW50X2ZzX2dldF9vcHRpb25zKGZzKSkpIHsKKwkJd2FybngoXygiJXM6IHNraXBwaW5nIGJhZCBsaW5lIGluIC9ldGMvZnN0YWI6ICIKKwkJCSJiaW5kIG1vdW50IHdpdGggbm9uemVybyBmc2NrIHBhc3MgbnVtYmVyIiksCisJCQltbnRfZnNfZ2V0X3RhcmdldChmcykpOworCQlyZXR1cm4gMTsKKwl9CisKKwkvKgorCSAqIGlnbm9yZSBkZXZpY2VzIHRoYXQgZG9uJ3QgZXhpc3QgYW5kIGhhdmUgdGhlICJub2ZhaWwiIG1vdW50IG9wdGlvbgorCSAqLworCWlmICghZGV2aWNlX2V4aXN0cyhmc19nZXRfZGV2aWNlKGZzKSkpIHsKKwkJaWYgKG9wdF9pbl9saXN0KCJub2ZhaWwiLCBtbnRfZnNfZ2V0X29wdGlvbnMoZnMpKSkgeworCQkJaWYgKHZlcmJvc2UpCisJCQkJcHJpbnRmKF8oIiVzOiBza2lwcGluZyBub25leGlzdGVudCBkZXZpY2VcbiIpLAorCQkJCQkJCWZzX2dldF9kZXZpY2UoZnMpKTsKKwkJCXJldHVybiAxOworCQl9CisJCWlmICh2ZXJib3NlKQorCQkJcHJpbnRmKF8oIiVzOiBub25leGlzdGVudCBkZXZpY2UgKFwibm9mYWlsXCIgZnN0YWIgIgorCQkJCSAib3B0aW9uIG1heSBiZSB1c2VkIHRvIHNraXAgdGhpcyBkZXZpY2UpXG4iKSwKKwkJCQlmc19nZXRfZGV2aWNlKGZzKSk7CisJfQorCisJZnNfaW50ZXJwcmV0X3R5cGUoZnMpOworCisJLyoKKwkgKiBJZiBhIHNwZWNpZmljIGZzdHlwZSBpcyBzcGVjaWZpZWQsIGFuZCBpdCBkb2Vzbid0IG1hdGNoLAorCSAqIGlnbm9yZSBpdC4KKwkgKi8KKwlpZiAoIWZzX21hdGNoKGZzLCAmZnNfdHlwZV9jb21waWxlZCkpCisJCXJldHVybiAxOworCisJdHlwZSA9IG1udF9mc19nZXRfZnN0eXBlKGZzKTsKKwlpZiAoIXR5cGUpIHsKKwkJaWYgKHZlcmJvc2UpCisJCQlwcmludGYoXygiJXM6IHNraXBwaW5nIHVua25vd24gZmlsZXN5c3RlbSB0eXBlXG4iKSwKKwkJCQlmc19nZXRfZGV2aWNlKGZzKSk7CisJCXJldHVybiAxOworCX0KKworCS8qIEFyZSB3ZSBpZ25vcmluZyB0aGlzIHR5cGU/ICovCisJaWYgKGZzX2lnbm9yZWRfdHlwZShmcykpCisJCXJldHVybiAxOworCisKKworCS8qIFNlZSBpZiB0aGUgPGZzY2suZnM+IHByb2dyYW0gaXMgYXZhaWxhYmxlLiAqLworCWlmIChmaW5kX2ZzY2sodHlwZSkgPT0gTlVMTCkgeworCQlpZiAoZnNfY2hlY2tfcmVxdWlyZWQodHlwZSkpCisJCQl3YXJueChfKCJjYW5ub3QgY2hlY2sgJXM6IGZzY2suJXMgbm90IGZvdW5kIiksCisJCQkJZnNfZ2V0X2RldmljZShmcyksIHR5cGUpOworCQlyZXR1cm4gMTsKKwl9CisKKwkvKiBXZSBjYW4gYW5kIHdhbnQgdG8gY2hlY2sgdGhpcyBmaWxlIHN5c3RlbSB0eXBlLiAqLworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNvdW50X3NsYXZlcyhkZXZfdCBkaXNrKQoreworCURJUiAqZGlyOworCXN0cnVjdCBkaXJlbnQgKmRwOworCWNoYXIgZGlybmFtZVtQQVRIX01BWF07CisJaW50IGNvdW50ID0gMDsKKworCXNucHJpbnRmKGRpcm5hbWUsIHNpemVvZihkaXJuYW1lKSwKKwkJCSIvc3lzL2Rldi9ibG9jay8ldToldS9zbGF2ZXMvIiwKKwkJCW1ham9yKGRpc2spLCBtaW5vcihkaXNrKSk7CisKKwlpZiAoIShkaXIgPSBvcGVuZGlyKGRpcm5hbWUpKSkKKwkJcmV0dXJuIC0xOworCisJd2hpbGUgKChkcCA9IHJlYWRkaXIoZGlyKSkgIT0gMCkgeworI2lmZGVmIF9ESVJFTlRfSEFWRV9EX1RZUEUKKwkJaWYgKGRwLT5kX3R5cGUgIT0gRFRfVU5LTk9XTiAmJiBkcC0+ZF90eXBlICE9IERUX0xOSykKKwkJCWNvbnRpbnVlOworI2VuZGlmCisJCWlmIChkcC0+ZF9uYW1lWzBdID09ICcuJyAmJgorCQkgICAgKChkcC0+ZF9uYW1lWzFdID09IDApIHx8CisJCSAgICAgKChkcC0+ZF9uYW1lWzFdID09ICcuJykgJiYgKGRwLT5kX25hbWVbMl0gPT0gMCkpKSkKKwkJCWNvbnRpbnVlOworCisJCWNvdW50Kys7CisJfQorCisJY2xvc2VkaXIoZGlyKTsKKwlyZXR1cm4gY291bnQ7Cit9CisKKy8qCisgKiBSZXR1cm5zIFRSVUUgaWYgYSBwYXJ0aXRpb24gb24gdGhlIHNhbWUgZGlzayBpcyBhbHJlYWR5IGJlaW5nCisgKiBjaGVja2VkLgorICovCitzdGF0aWMgaW50IGRpc2tfYWxyZWFkeV9hY3RpdmUoc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJc3RydWN0IGZzY2tfaW5zdGFuY2UgKmluc3Q7CisJZGV2X3QgZGlzazsKKworCWlmIChmb3JjZV9hbGxfcGFyYWxsZWwpCisJCXJldHVybiAwOworCisJaWYgKGluc3RhbmNlX2xpc3QgJiYgZnNfaXNfc3RhY2tlZChpbnN0YW5jZV9saXN0LT5mcykpCisJCS8qIGFueSBpbnN0YW5jZSBmb3IgYSBzdGFja2VkIGRldmljZSBpcyBhbHJlYWR5IHJ1bm5pbmcgKi8KKwkJcmV0dXJuIDE7CisKKwlkaXNrID0gZnNfZ2V0X2Rpc2soZnMsIDEpOworCisJLyoKKwkgKiBJZiB3ZSBkb24ndCBrbm93IHRoZSBiYXNlIGRldmljZSwgYXNzdW1lIHRoYXQgdGhlIGRldmljZSBpcworCSAqIGFscmVhZHkgYWN0aXZlIGlmIHRoZXJlIGFyZSBhbnkgZnNjayBpbnN0YW5jZXMgcnVubmluZy4KKwkgKgorCSAqIERvbid0IGNoZWNrIGEgc3RhY2tlZCBkZXZpY2Ugd2l0aCBhbnkgb3RoZXIgZGlzayB0b28uCisJICovCisJaWYgKCFkaXNrIHx8IGZzX2lzX3N0YWNrZWQoZnMpKQorCQlyZXR1cm4gKGluc3RhbmNlX2xpc3QgIT0gMCk7CisKKwlmb3IgKGluc3QgPSBpbnN0YW5jZV9saXN0OyBpbnN0OyBpbnN0ID0gaW5zdC0+bmV4dCkgeworCQlkZXZfdCBpZGlzayA9IGZzX2dldF9kaXNrKGluc3QtPmZzLCAwKTsKKworCQlpZiAoIWlkaXNrIHx8IGRpc2sgPT0gaWRpc2spCisJCQlyZXR1cm4gMTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyogQ2hlY2sgYWxsIGZpbGUgc3lzdGVtcywgdXNpbmcgdGhlIC9ldGMvZnN0YWIgdGFibGUuICovCitzdGF0aWMgaW50IGNoZWNrX2FsbCh2b2lkKQoreworCWludCBub3RfZG9uZV95ZXQgPSAxOworCWludCBwYXNzbm8gPSAxOworCWludCBwYXNzX2RvbmU7CisJaW50IHN0YXR1cyA9IEZTQ0tfRVhfT0s7CisKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciA9IG1udF9uZXdfaXRlcihNTlRfSVRFUl9GT1JXQVJEKTsKKworCWlmICghaXRyKQorCQllcnIoRlNDS19FWF9FUlJPUiwgXygiZmFpbGVkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIikpOworCisJLyoKKwkgKiBEbyBhbiBpbml0aWFsIHNjYW4gb3ZlciB0aGUgZmlsZXN5c3RlbTsgbWFyayBmaWxlc3lzdGVtcworCSAqIHdoaWNoIHNob3VsZCBiZSBpZ25vcmVkIGFzIGRvbmUsIGFuZCByZXNvbHZlIGFueSAiYXV0byIKKwkgKiBmaWxlc3lzdGVtIHR5cGVzIChkb25lIGFzIGEgc2lkZS1lZmZlY3Qgb2YgY2FsbGluZyBpZ25vcmUoKSkuCisJICovCisJd2hpbGUgKG1udF90YWJsZV9uZXh0X2ZzKGZzdGFiLCBpdHIsICZmcykgPT0gMCkgeworCQlpZiAoaWdub3JlKGZzKSkgeworCQkJZnNfc2V0X2RvbmUoZnMpOworCQkJY29udGludWU7CisJCX0KKwl9CisKKwlpZiAodmVyYm9zZSkKKwkJZnB1dHMoXygiQ2hlY2tpbmcgYWxsIGZpbGUgc3lzdGVtcy5cbiIpLCBzdGRvdXQpOworCisJLyoKKwkgKiBGaW5kIGFuZCBjaGVjayB0aGUgcm9vdCBmaWxlc3lzdGVtLgorCSAqLworCWlmICghcGFyYWxsZWxfcm9vdCkgeworCQlmcyA9IG1udF90YWJsZV9maW5kX3RhcmdldChmc3RhYiwgIi8iLCBNTlRfSVRFUl9GT1JXQVJEKTsKKwkJaWYgKGZzKSB7CisJCQlpZiAoIXNraXBfcm9vdCAmJgorCQkJICAgICFmc19pc19kb25lKGZzKSAmJgorCQkJICAgICEoaWdub3JlX21vdW50ZWQgJiYgaXNfbW91bnRlZChmcykpKSB7CisJCQkJc3RhdHVzIHw9IGZzY2tfZGV2aWNlKGZzLCAxKTsKKwkJCQlzdGF0dXMgfD0gd2FpdF9tYW55KEZMQUdfV0FJVF9BTEwpOworCQkJCWlmIChzdGF0dXMgPiBGU0NLX0VYX05PTkRFU1RSVUNUKSB7CisJCQkJCW1udF9mcmVlX2l0ZXIoaXRyKTsKKwkJCQkJcmV0dXJuIHN0YXR1czsKKwkJCQl9CisJCQl9CisJCQlmc19zZXRfZG9uZShmcyk7CisJCX0KKwl9CisKKwkvKgorCSAqIFRoaXMgaXMgZm9yIHRoZSBib25lLWhlYWRlZCB1c2VyIHdobyBlbnRlcnMgdGhlIHJvb3QKKwkgKiBmaWxlc3lzdGVtIHR3aWNlLiAgU2tpcCByb290IHdpbGwgc2tpcCBhbGwgcm9vdCBlbnRyaWVzLgorCSAqLworCWlmIChza2lwX3Jvb3QpIHsKKwkJbW50X3Jlc2V0X2l0ZXIoaXRyLCBNTlRfSVRFUl9GT1JXQVJEKTsKKworCQl3aGlsZShtbnRfdGFibGVfbmV4dF9mcyhmc3RhYiwgaXRyLCAmZnMpID09IDApIHsKKwkJCWNvbnN0IGNoYXIgKnRndCA9IG1udF9mc19nZXRfdGFyZ2V0KGZzKTsKKworCQkJaWYgKHRndCAmJiBzdHJjbXAodGd0LCAiLyIpID09IDApCisJCQkJZnNfc2V0X2RvbmUoZnMpOworCQl9CisJfQorCisJd2hpbGUgKG5vdF9kb25lX3lldCkgeworCQlub3RfZG9uZV95ZXQgPSAwOworCQlwYXNzX2RvbmUgPSAxOworCisJCW1udF9yZXNldF9pdGVyKGl0ciwgTU5UX0lURVJfRk9SV0FSRCk7CisKKwkJd2hpbGUobW50X3RhYmxlX25leHRfZnMoZnN0YWIsIGl0ciwgJmZzKSA9PSAwKSB7CisKKwkJCWlmIChjYW5jZWxfcmVxdWVzdGVkKQorCQkJCWJyZWFrOworCQkJaWYgKGZzX2lzX2RvbmUoZnMpKQorCQkJCWNvbnRpbnVlOworCQkJLyoKKwkJCSAqIElmIHRoZSBmaWxlc3lzdGVtJ3MgcGFzcyBudW1iZXIgaXMgaGlnaGVyCisJCQkgKiB0aGFuIHRoZSBjdXJyZW50IHBhc3MgbnVtYmVyLCB0aGVuIHdlIGRvbid0CisJCQkgKiBkbyBpdCB5ZXQuCisJCQkgKi8KKwkJCWlmIChtbnRfZnNfZ2V0X3Bhc3NubyhmcykgPiBwYXNzbm8pIHsKKwkJCQlub3RfZG9uZV95ZXQrKzsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCWlmIChpZ25vcmVfbW91bnRlZCAmJiBpc19tb3VudGVkKGZzKSkgeworCQkJCWZzX3NldF9kb25lKGZzKTsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCS8qCisJCQkgKiBJZiBhIGZpbGVzeXN0ZW0gb24gYSBwYXJ0aWN1bGFyIGRldmljZSBoYXMKKwkJCSAqIGFscmVhZHkgYmVlbiBzcGF3bmVkLCB0aGVuIHdlIG5lZWQgdG8gZGVmZXIKKwkJCSAqIHRoaXMgdG8gYW5vdGhlciBwYXNzLgorCQkJICovCisJCQlpZiAoZGlza19hbHJlYWR5X2FjdGl2ZShmcykpIHsKKwkJCQlwYXNzX2RvbmUgPSAwOworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJLyoKKwkJCSAqIFNwYXduIG9mZiB0aGUgZnNjayBwcm9jZXNzCisJCQkgKi8KKwkJCXN0YXR1cyB8PSBmc2NrX2RldmljZShmcywgc2VyaWFsaXplKTsKKwkJCWZzX3NldF9kb25lKGZzKTsKKworCQkJLyoKKwkJCSAqIE9ubHkgZG8gb25lIGZpbGVzeXN0ZW0gYXQgYSB0aW1lLCBvciBpZiB3ZQorCQkJICogaGF2ZSBhIGxpbWl0IG9uIHRoZSBudW1iZXIgb2YgZnNjaydzIGV4dGFudAorCQkJICogYXQgb25lIHRpbWUsIGFwcGx5IHRoYXQgbGltaXQuCisJCQkgKi8KKwkJCWlmIChzZXJpYWxpemUgfHwKKwkJCSAgICAobWF4X3J1bm5pbmcgJiYgKG51bV9ydW5uaW5nID49IG1heF9ydW5uaW5nKSkpIHsKKwkJCQlwYXNzX2RvbmUgPSAwOworCQkJCWJyZWFrOworCQkJfQorCQl9CisJCWlmIChjYW5jZWxfcmVxdWVzdGVkKQorCQkJYnJlYWs7CisJCWlmICh2ZXJib3NlID4gMSkKKwkJCXByaW50ZihfKCItLXdhaXRpbmctLSAocGFzcyAlZClcbiIpLCBwYXNzbm8pOworCisJCXN0YXR1cyB8PSB3YWl0X21hbnkocGFzc19kb25lID8gRkxBR19XQUlUX0FMTCA6CisJCQkJICAgIEZMQUdfV0FJVF9BVExFQVNUX09ORSk7CisJCWlmIChwYXNzX2RvbmUpIHsKKwkJCWlmICh2ZXJib3NlID4gMSkKKwkJCQlwcmludGYoIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIpOworCQkJcGFzc25vKys7CisJCX0gZWxzZQorCQkJbm90X2RvbmVfeWV0Kys7CisJfQorCisJaWYgKGNhbmNlbF9yZXF1ZXN0ZWQgJiYgIWtpbGxfc2VudCkgeworCQlraWxsX2FsbChTSUdURVJNKTsKKwkJa2lsbF9zZW50Kys7CisJfQorCisJc3RhdHVzIHw9IHdhaXRfbWFueShGTEFHX1dBSVRfQVRMRUFTVF9PTkUpOworCW1udF9mcmVlX2l0ZXIoaXRyKTsKKwlyZXR1cm4gc3RhdHVzOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZShGSUxFICpvdXQpCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJXMgW29wdGlvbnNdIC0tIFtmcy1vcHRpb25zXSBbPGZpbGVzeXN0ZW0+IC4uLl1cbiIpLAorCQkJIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJDaGVjayBhbmQgcmVwYWlyIGEgTGludXggZmlsZXN5c3RlbS5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLUEgICAgICAgICBjaGVjayBhbGwgZmlsZXN5c3RlbXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtQyBbPGZkPl0gIGRpc3BsYXkgcHJvZ3Jlc3MgYmFyOyBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbCAgICAgICAgIGxvY2sgdGhlIGRldmljZSB0byBndWFyYW50ZWUgZXhjbHVzaXZlIGFjY2Vzc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1NICAgICAgICAgZG8gbm90IGNoZWNrIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVAgICAgICAgICBjaGVjayBmaWxlc3lzdGVtcyBpbiBwYXJhbGxlbCwgaW5jbHVkaW5nIHJvb3RcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtUiAgICAgICAgIHNraXAgcm9vdCBmaWxlc3lzdGVtOyB1c2VmdWwgb25seSB3aXRoICctQSdcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtciBbPGZkPl0gIHJlcG9ydCBzdGF0aXN0aWNzIGZvciBlYWNoIGRldmljZSBjaGVja2VkO1xuIgorCQkiICAgICAgICAgICAgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXMgICAgICAgICBzZXJpYWxpemUgdGhlIGNoZWNraW5nIG9wZXJhdGlvbnNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtVCAgICAgICAgIGRvIG5vdCBzaG93IHRoZSB0aXRsZSBvbiBzdGFydHVwXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXQgPHR5cGU+ICBzcGVjaWZ5IGZpbGVzeXN0ZW0gdHlwZXMgdG8gYmUgY2hlY2tlZDtcbiIKKwkJIiAgICAgICAgICAgIDx0eXBlPiBpcyBhbGxvd2VkIHRvIGJlIGEgY29tbWEtc2VwYXJhdGVkIGxpc3RcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtViAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLT8gICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiU2VlIHRoZSBzcGVjaWZpYyBmc2NrLiogY29tbWFuZHMgZm9yIGF2YWlsYWJsZSBmcy1vcHRpb25zLiIpLCBvdXQpOworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgiZnNjayg4KSIpKTsKKworCWV4aXQob3V0ID09IHN0ZGVyciA/IEZTQ0tfRVhfVVNBR0UgOiBGU0NLX0VYX09LKTsKK30KKworc3RhdGljIHZvaWQgc2lnbmFsX2NhbmNlbChpbnQgc2lnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwljYW5jZWxfcmVxdWVzdGVkKys7Cit9CisKK3N0YXRpYyB2b2lkIHBhcnNlX2FyZ3YoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlpbnQJaSwgajsKKwljaGFyCSphcmcsICpkZXYsICp0bXAgPSAwOworCWNoYXIJb3B0aW9uc1sxMjhdOworCWludAlvcHQgPSAwOworCWludCAgICAgb3B0c19mb3JfZnNjayA9IDA7CisJc3RydWN0IHNpZ2FjdGlvbglzYTsKKwlpbnQJcmVwb3J0X3N0YXRzX2ZkID0gLTE7CisKKwkvKgorCSAqIFNldCB1cCBzaWduYWwgYWN0aW9uCisJICovCisJbWVtc2V0KCZzYSwgMCwgc2l6ZW9mKHN0cnVjdCBzaWdhY3Rpb24pKTsKKwlzYS5zYV9oYW5kbGVyID0gc2lnbmFsX2NhbmNlbDsKKwlzaWdhY3Rpb24oU0lHSU5ULCAmc2EsIDApOworCXNpZ2FjdGlvbihTSUdURVJNLCAmc2EsIDApOworCisJbnVtX2RldmljZXMgPSAwOworCW51bV9hcmdzID0gMDsKKwlpbnN0YW5jZV9saXN0ID0gMDsKKworCWZvciAoaT0xOyBpIDwgYXJnYzsgaSsrKSB7CisJCWFyZyA9IGFyZ3ZbaV07CisJCWlmICghYXJnKQorCQkJY29udGludWU7CisJCWlmICgoYXJnWzBdID09ICcvJyAmJiAhb3B0c19mb3JfZnNjaykgfHwgc3RyY2hyKGFyZywgJz0nKSkgeworCQkJaWYgKG51bV9kZXZpY2VzID49IE1BWF9ERVZJQ0VTKQorCQkJCWVycngoRlNDS19FWF9FUlJPUiwgXygidG9vIG1hbnkgZGV2aWNlcyIpKTsKKworCQkJZGV2ID0gbW50X3Jlc29sdmVfc3BlYyhhcmcsIG1udGNhY2hlKTsKKworCQkJaWYgKCFkZXYgJiYgc3RyY2hyKGFyZywgJz0nKSkgeworCQkJCS8qCisJCQkJICogQ2hlY2sgdG8gc2VlIGlmIHdlIGZhaWxlZCBiZWNhdXNlCisJCQkJICogL3Byb2MvcGFydGl0aW9ucyBpc24ndCBmb3VuZC4KKwkJCQkgKi8KKwkJCQlpZiAoYWNjZXNzKF9QQVRIX1BST0NfUEFSVElUSU9OUywgUl9PSykgPCAwKSB7CisJCQkJCXdhcm4oXygiY2Fubm90IG9wZW4gJXMiKSwKKwkJCQkJCV9QQVRIX1BST0NfUEFSVElUSU9OUyk7CisJCQkJCWVycngoRlNDS19FWF9FUlJPUiwgXygiSXMgL3Byb2MgbW91bnRlZD8iKSk7CisJCQkJfQorCQkJCS8qCisJCQkJICogQ2hlY2sgdG8gc2VlIGlmIHRoaXMgaXMgYmVjYXVzZQorCQkJCSAqIHdlJ3JlIG5vdCBydW5uaW5nIGFzIHJvb3QKKwkJCQkgKi8KKwkJCQlpZiAoZ2V0ZXVpZCgpKQorCQkJCQllcnJ4KEZTQ0tfRVhfRVJST1IsCisJCQkJCQlfKCJtdXN0IGJlIHJvb3QgdG8gc2NhbiBmb3IgbWF0Y2hpbmcgZmlsZXN5c3RlbXM6ICVzIiksCisJCQkJCQlhcmcpOworCQkJCWVsc2UKKwkJCQkJZXJyeChGU0NLX0VYX0VSUk9SLAorCQkJCQkJXygiY291bGRuJ3QgZmluZCBtYXRjaGluZyBmaWxlc3lzdGVtOiAlcyIpLAorCQkJCQkJYXJnKTsKKwkJCX0KKwkJCWRldmljZXNbbnVtX2RldmljZXMrK10gPSBkZXYgPyBkZXYgOiB4c3RyZHVwKGFyZyk7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoYXJnWzBdICE9ICctJyB8fCBvcHRzX2Zvcl9mc2NrKSB7CisJCQlpZiAobnVtX2FyZ3MgPj0gTUFYX0FSR1MpCisJCQkJZXJyeChGU0NLX0VYX0VSUk9SLCBfKCJ0b28gbWFueSBhcmd1bWVudHMiKSk7CisJCQlhcmdzW251bV9hcmdzKytdID0geHN0cmR1cChhcmcpOworCQkJY29udGludWU7CisJCX0KKwkJZm9yIChqPTE7IGFyZ1tqXTsgaisrKSB7CisJCQlpZiAob3B0c19mb3JfZnNjaykgeworCQkJCW9wdGlvbnNbKytvcHRdID0gYXJnW2pdOworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJc3dpdGNoIChhcmdbal0pIHsKKwkJCWNhc2UgJ0EnOgorCQkJCWRvYWxsID0gMTsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ0MnOgorCQkJCXByb2dyZXNzID0gMTsKKwkJCQlpZiAoYXJnW2orMV0pIHsJCQkJCS8qIC1DPGZkPiAqLworCQkJCQlwcm9ncmVzc19mZCA9IHN0cmluZ190b19pbnQoYXJnK2orMSk7CisJCQkJCWlmIChwcm9ncmVzc19mZCA8IDApCisJCQkJCQlwcm9ncmVzc19mZCA9IDA7CisJCQkJCWVsc2UKKwkJCQkJCWdvdG8gbmV4dF9hcmc7CisJCQkJfSBlbHNlIGlmIChpKzEgPCBhcmdjICYmICphcmd2W2krMV0gIT0gJy0nKSB7CS8qIC1DIDxmZD4gKi8KKwkJCQkJcHJvZ3Jlc3NfZmQgPSBzdHJpbmdfdG9faW50KGFyZ3ZbaSsxXSk7CisJCQkJCWlmIChwcm9ncmVzc19mZCA8IDApCisJCQkJCQlwcm9ncmVzc19mZCA9IDA7CisJCQkJCWVsc2UgeworCQkJCQkJKytpOworCQkJCQkJZ290byBuZXh0X2FyZzsKKwkJCQkJfQorCQkJCX0KKwkJCQlicmVhazsKKwkJCWNhc2UgJ2wnOgorCQkJCWxvY2tkaXNrID0gMTsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ1YnOgorCQkJCXZlcmJvc2UrKzsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ04nOgorCQkJCW5vZXhlY3V0ZSA9IDE7CisJCQkJYnJlYWs7CisJCQljYXNlICdSJzoKKwkJCQlza2lwX3Jvb3QgPSAxOworCQkJCWJyZWFrOworCQkJY2FzZSAnVCc6CisJCQkJbm90aXRsZSA9IDE7CisJCQkJYnJlYWs7CisJCQljYXNlICdNJzoKKwkJCQlpZ25vcmVfbW91bnRlZCA9IDE7CisJCQkJYnJlYWs7CisJCQljYXNlICdQJzoKKwkJCQlwYXJhbGxlbF9yb290ID0gMTsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ3InOgorCQkJCXJlcG9ydF9zdGF0cyA9IDE7CisJCQkJaWYgKGFyZ1tqKzFdKSB7CQkJCQkvKiAtcjxmZD4gKi8KKwkJCQkJcmVwb3J0X3N0YXRzX2ZkID0gc3RydG91MzJfb3JfZXJyKGFyZytqKzEsIF8oImludmFsaWQgYXJndW1lbnQgb2YgLXIiKSk7CisJCQkJCWdvdG8gbmV4dF9hcmc7CisJCQkJfSBlbHNlIGlmIChpKzEgPCBhcmdjICYmICphcmd2W2krMV0gPj0gJzAnICYmICphcmd2W2krMV0gPD0gJzknKSB7CS8qIC1yIDxmZD4gKi8KKwkJCQkJcmVwb3J0X3N0YXRzX2ZkID0gc3RydG91MzJfb3JfZXJyKGFyZ3ZbaSsxXSwgXygiaW52YWxpZCBhcmd1bWVudCBvZiAtciIpKTsKKwkJCQkJKytpOworCQkJCQlnb3RvIG5leHRfYXJnOworCQkJCX0KKwkJCQlicmVhazsKKwkJCWNhc2UgJ3MnOgorCQkJCXNlcmlhbGl6ZSA9IDE7CisJCQkJYnJlYWs7CisJCQljYXNlICd0JzoKKwkJCQl0bXAgPSAwOworCQkJCWlmIChmc3R5cGUpCisJCQkJCXVzYWdlKHN0ZGVycik7CisJCQkJaWYgKGFyZ1tqKzFdKQorCQkJCQl0bXAgPSBhcmcraisxOworCQkJCWVsc2UgaWYgKChpKzEpIDwgYXJnYykKKwkJCQkJdG1wID0gYXJndlsrK2ldOworCQkJCWVsc2UKKwkJCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJCQlmc3R5cGUgPSB4c3RyZHVwKHRtcCk7CisJCQkJY29tcGlsZV9mc190eXBlKGZzdHlwZSwgJmZzX3R5cGVfY29tcGlsZWQpOworCQkJCWdvdG8gbmV4dF9hcmc7CisJCQljYXNlICctJzoKKwkJCQlvcHRzX2Zvcl9mc2NrKys7CisJCQkJYnJlYWs7CisJCQljYXNlICc/JzoKKwkJCQl1c2FnZShzdGRvdXQpOworCQkJCWJyZWFrOworCQkJZGVmYXVsdDoKKwkJCQlvcHRpb25zWysrb3B0XSA9IGFyZ1tqXTsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCW5leHRfYXJnOgorCQlpZiAob3B0KSB7CisJCQlvcHRpb25zWzBdID0gJy0nOworCQkJb3B0aW9uc1srK29wdF0gPSAnXDAnOworCQkJaWYgKG51bV9hcmdzID49IE1BWF9BUkdTKQorCQkJCWVycngoRlNDS19FWF9FUlJPUiwgXygidG9vIG1hbnkgYXJndW1lbnRzIikpOworCQkJYXJnc1tudW1fYXJncysrXSA9IHhzdHJkdXAob3B0aW9ucyk7CisJCQlvcHQgPSAwOworCQl9CisJfQorCisJLyogVmFsaWRhdGUgdGhlIHJlcG9ydCBzdGF0cyBmaWxlIGRlc2NyaXB0b3IgdG8gYXZvaWQgZGlzYXN0ZXJzICovCisJaWYgKHJlcG9ydF9zdGF0c19mZCA+PSAwKSB7CisJCXJlcG9ydF9zdGF0c19maWxlID0gZmRvcGVuKHJlcG9ydF9zdGF0c19mZCwgInciKTsKKwkJaWYgKCFyZXBvcnRfc3RhdHNfZmlsZSkKKwkJCWVycihGU0NLX0VYX0VSUk9SLAorCQkJCV8oImludmFsaWQgYXJndW1lbnQgb2YgLXI6ICVkIiksCisJCQkJcmVwb3J0X3N0YXRzX2ZkKTsKKwl9CisKKwlpZiAoZ2V0ZW52KCJGU0NLX0ZPUkNFX0FMTF9QQVJBTExFTCIpKQorCQlmb3JjZV9hbGxfcGFyYWxsZWwrKzsKKwlpZiAoKHRtcCA9IGdldGVudigiRlNDS19NQVhfSU5TVCIpKSkKKwkgICAgbWF4X3J1bm5pbmcgPSBhdG9pKHRtcCk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJaW50IGksIHN0YXR1cyA9IDA7CisJaW50IGludGVyYWN0aXZlID0gMDsKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKwljb25zdCBjaGFyICpwYXRoID0gZ2V0ZW52KCJQQVRIIik7CisKKwlzZXR2YnVmKHN0ZG91dCwgTlVMTCwgX0lPTkJGLCBCVUZTSVopOworCXNldHZidWYoc3RkZXJyLCBOVUxMLCBfSU9OQkYsIEJVRlNJWik7CisKKwlzZXRsb2NhbGUoTENfTUVTU0FHRVMsICIiKTsKKwlzZXRsb2NhbGUoTENfQ1RZUEUsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwltbnRfaW5pdF9kZWJ1ZygwKTsJCS8qIGluaXQgbGlibW91bnQgZGVidWcgbWFzayAqLworCW1udGNhY2hlID0gbW50X25ld19jYWNoZSgpOwkvKiBubyBmYXRhbCBlcnJvciBpZiBmYWlsZWQgKi8KKworCXBhcnNlX2FyZ3YoYXJnYywgYXJndik7CisKKwlpZiAoIW5vdGl0bGUpCisJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCisJbG9hZF9mc19pbmZvKCk7CisKKwlmc2NrX3BhdGggPSB4c3RyZHVwKHBhdGggJiYgKnBhdGggPyBwYXRoIDogRlNDS19ERUZBVUxUX1BBVEgpOworCisJaWYgKChudW1fZGV2aWNlcyA9PSAxKSB8fCAoc2VyaWFsaXplKSkKKwkJaW50ZXJhY3RpdmUgPSAxOworCisJaWYgKGxvY2tkaXNrICYmIChkb2FsbCB8fCBudW1fZGV2aWNlcyA+IDEpKSB7CisJCXdhcm54KF8oInRoZSAtbCBvcHRpb24gY2FuIGJlIHVzZWQgd2l0aCBvbmUgIgorCQkJCSAgImRldmljZSBvbmx5IC0tIGlnbm9yZSIpKTsKKwkJbG9ja2Rpc2sgPSAwOworCX0KKworCS8qIElmIC1BIHdhcyBzcGVjaWZpZWQgKCJjaGVjayBhbGwiKSwgZG8gdGhhdCEgKi8KKwlpZiAoZG9hbGwpCisJCXJldHVybiBjaGVja19hbGwoKTsKKworCWlmIChudW1fZGV2aWNlcyA9PSAwKSB7CisJCXNlcmlhbGl6ZSsrOworCQlpbnRlcmFjdGl2ZSsrOworCQlyZXR1cm4gY2hlY2tfYWxsKCk7CisJfQorCWZvciAoaSA9IDAgOyBpIDwgbnVtX2RldmljZXM7IGkrKykgeworCQlpZiAoY2FuY2VsX3JlcXVlc3RlZCkgeworCQkJaWYgKCFraWxsX3NlbnQpIHsKKwkJCQlraWxsX2FsbChTSUdURVJNKTsKKwkJCQlraWxsX3NlbnQrKzsKKwkJCX0KKwkJCWJyZWFrOworCQl9CisJCWZzID0gbG9va3VwKGRldmljZXNbaV0pOworCQlpZiAoIWZzKQorCQkJZnMgPSBhZGRfZHVtbXlfZnMoZGV2aWNlc1tpXSk7CisJCWVsc2UgaWYgKGZzX2lnbm9yZWRfdHlwZShmcykpCisJCQljb250aW51ZTsKKwkJaWYgKGlnbm9yZV9tb3VudGVkICYmIGlzX21vdW50ZWQoZnMpKQorCQkJY29udGludWU7CisJCXN0YXR1cyB8PSBmc2NrX2RldmljZShmcywgaW50ZXJhY3RpdmUpOworCQlpZiAoc2VyaWFsaXplIHx8CisJCSAgICAobWF4X3J1bm5pbmcgJiYgKG51bV9ydW5uaW5nID49IG1heF9ydW5uaW5nKSkpIHsKKwkJCXN0cnVjdCBmc2NrX2luc3RhbmNlICppbnN0OworCisJCQlpbnN0ID0gd2FpdF9vbmUoMCk7CisJCQlpZiAoaW5zdCkgeworCQkJCXN0YXR1cyB8PSBpbnN0LT5leGl0X3N0YXR1czsKKwkJCQlmcmVlX2luc3RhbmNlKGluc3QpOworCQkJfQorCQkJaWYgKHZlcmJvc2UgPiAxKQorCQkJCXByaW50ZigiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIik7CisJCX0KKwl9CisJc3RhdHVzIHw9IHdhaXRfbWFueShGTEFHX1dBSVRfQUxMKTsKKwlmcmVlKGZzY2tfcGF0aCk7CisJbW50X3VucmVmX2NhY2hlKG1udGNhY2hlKTsKKwltbnRfdW5yZWZfdGFibGUoZnN0YWIpOworCW1udF91bnJlZl90YWJsZShtdGFiKTsKKwlyZXR1cm4gc3RhdHVzOworfQpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9mc2NrLmNyYW1mcy44IGIvZGlzay11dGlscy9mc2NrLmNyYW1mcy44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhNmUxZDMKLS0tIC9kZXYvbnVsbAorKysgYi9kaXNrLXV0aWxzL2ZzY2suY3JhbWZzLjgKQEAgLTAsMCArMSw2MSBAQAorLlRIIEZTQ0suQ1JBTUZTIDggIkFwcmlsIDIwMTMiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK2ZzY2suY3JhbWZzIFwtIGZzY2sgY29tcHJlc3NlZCBST00gZmlsZSBzeXN0ZW0KKy5TSCBTWU5PUFNJUworLkIgZnNjay5jcmFtZnMKK1tvcHRpb25zXQorLkkgZmlsZQorLlNIIERFU0NSSVBUSU9OCisuSSBmc2NrLmNyYW1mcworaXMgdXNlZCB0byBjaGVjayB0aGUgY3JhbWZzIGZpbGUgc3lzdGVtLgorLlNIIE9QVElPTlMKKy5UUAorXGZCXC12XGZSLCBcZkJcLVwtdmVyYm9zZVxmUgorRW5hYmxlIHZlcmJvc2UgbWVzc2FnaW5nLgorLlRQCitcZkJcLWJcZlIsIFxmQlwtXC1ibG9ja3NpemVcZlIgXGZJYmxvY2tzaXplXGZSCitVc2UgdGhpcyBibG9ja3NpemUsIGRlZmF1bHRzIHRvIHBhZ2Ugc2l6ZS4gTXVzdCBiZSBlcXVhbCB0byB3aGF0IHdhcyBzZXQgYXQKK2NyZWF0aW9uIHRpbWUuIE9ubHkgdXNlZCBmb3IgXC1cLWV4dHJhY3QuCisuVFAKK1xmQlwtXC1leHRyYWN0XGZSWz1cZklkaXJlY3RvcnlcZlJdCitUZXN0IHRvIHVuY29tcHJlc3MgdGhlIHdob2xlIGZpbGUgc3lzdGVtLiBPcHRpb25hbGx5IGV4dHJhY3QgY29udGVudHMgb2YgdGhlCisuSSBmaWxlCit0bworLklSIGRpcmVjdG9yeSAuCisuVFAKK1xmQlwtYVxmUgorVGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZC4KKy5UUAorXGZCXC15XGZSCitUaGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkLgorLlRQCitcZkJcLVZcZlIsIFxmQlwtXC12ZXJzaW9uXGZSCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKK1xmQlwtaFxmUiwgXGZCXC1cLWhlbHBcZlIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIICJFWElUIFNUQVRVUyIKKy5SUworLlBEIDAKKy5UUAorLkIgMAorc3VjY2VzcworLlRQCisuQiA0CitmaWxlIHN5c3RlbSB3YXMgbGVmdCB1bmNvcnJlY3RlZAorLlRQCisuQiA4CitvcGVyYXRpb24gZXJyb3IsIHN1Y2ggYXMgdW5hYmxlIHRvIGFsbG9jYXRlIG1lbW9yeQorLlRQCisuQiAxNgordXNhZ2UgaW5mb3JtYXRpb24gd2FzIHByaW50ZWQKKy5QRAorLlJFCisuU0ggIlNFRSBBTFNPIgorLkJSIG1vdW50ICg4KSwKKy5CUiBta2ZzLmNyYW1mcyAoOCkKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBleGFtcGxlIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGZ0cDovL1w6ZnRwLmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9mc2NrLmNyYW1mcy5jIGIvZGlzay11dGlscy9mc2NrLmNyYW1mcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxNWMwYzkKLS0tIC9kZXYvbnVsbAorKysgYi9kaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmMKQEAgLTAsMCArMSw3MDggQEAKKy8qCisgKiBjcmFtZnNjayAtIGNoZWNrIGEgY3JhbWZzIGZpbGUgc3lzdGVtCisgKgorICogQ29weXJpZ2h0IChDKSAyMDAwLTIwMDIgVHJhbnNtZXRhIENvcnBvcmF0aW9uCisgKiAgICAgICAgICAgICAgIDIwMDUgQWRyaWFuIEJ1bmsKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKyAqIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisgKiA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorICoKKyAqIDE5OTkvMTIvMDM6IExpbnVzIFRvcnZhbGRzIChjcmFtZnMgdGVzdGVyIGFuZCB1bmFyY2hpdmUgcHJvZ3JhbSkKKyAqIDIwMDAvMDYvMDM6IERhbmllbCBRdWlubGFuIChDUkMgYW5kIGxlbmd0aCBjaGVja2luZyBwcm9ncmFtKQorICogMjAwMC8wNi8wNDogRGFuaWVsIFF1aW5sYW4gKG1lcmdlZCBwcm9ncmFtcywgYWRkZWQgb3B0aW9ucywgc3VwcG9ydAorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHNwZWNpYWwgZmlsZXMsIHByZXNlcnZlIHBlcm1pc3Npb25zIGFuZAorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3duZXJzaGlwLCBjcmFtZnMgc3VwZXJibG9jayB2MiwgYm9ndXMgbW9kZQorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdCwgcGF0aG5hbWUgbGVuZ3RoIHRlc3QsIGV0Yy4pCisgKiAyMDAwLzA2LzA2OiBEYW5pZWwgUXVpbmxhbiAoc3VwcG9ydCBmb3IgaG9sZXMsIHByZXR0eS1wcmludGluZywKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5bWxpbmsgc2l6ZSB0ZXN0KQorICogMjAwMC8wNy8xMTogRGFuaWVsIFF1aW5sYW4gKGZpbGUgbGVuZ3RoIHRlc3RzLCBzdGFydCBhdCBvZmZzZXQgMCBvciA1MTIsCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmc2NrLWNvbXBhdGlibGUgZXhpdCBjb2RlcykKKyAqIDIwMDAvMDcvMTU6IERhbmllbCBRdWlubGFuIChpbml0aWFsIHN1cHBvcnQgZm9yIGJsb2NrIGRldmljZXMpCisgKiAyMDAyLzAxLzEwOiBEYW5pZWwgUXVpbmxhbiAoYWRkaXRpb25hbCBjaGVja3MsIHRlc3QgbW9yZSByZXR1cm4gY29kZXMsCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgcmVhZCBpZiBtbWFwIGZhaWxzLCBzdGFuZGFyZGl6ZSBtZXNzYWdlcykKKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxkaXJlbnQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHV0aW1lLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKworLyogV2UgZG9uJ3QgdXNlIG91ciBpbmNsdWRlL2NyYzMyLmgsIGJ1dCBjcmMzMiBmcm9tIHpsaWIhCisgKgorICogVGhlIHpsaWIgaW1wbGVtZW5hdGlvbiBwZXJmb3JtcyBwcmUvcG9zdC1jb25kaXRpb25pbmcuIFRoZSB1dGlsLWxpbnV4CisgKiBpbWxlbWVuYXRpb24gcmVxdWlyZXMgcG9zdC1jb25kaXRpb25pbmcgKHhvcikgaW4gdGhlIGFwcGxpY2F0aW9ucy4KKyAqLworI2luY2x1ZGUgPHpsaWIuaD4KKworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL21tYW4uaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJjcmFtZnMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJibGtkZXYuaCIKKyNpbmNsdWRlICJleGl0Y29kZXMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisKKyNkZWZpbmUgWEFMTE9DX0VYSVRfQ09ERSBGU0NLX0VYX0VSUk9SCisjaW5jbHVkZSAieGFsbG9jLmgiCisKK3N0YXRpYyBpbnQgZmQ7CQkJLyogUk9NIGltYWdlIGZpbGUgZGVzY3JpcHRvciAqLworc3RhdGljIGNoYXIgKmZpbGVuYW1lOwkJLyogUk9NIGltYWdlIGZpbGVuYW1lICovCitzdHJ1Y3QgY3JhbWZzX3N1cGVyIHN1cGVyOwkvKiBqdXN0IGZpbmQgdGhlIGNyYW1mcyBzdXBlcmJsb2NrIG9uY2UgKi8KK3N0YXRpYyBpbnQgY3JhbWZzX2lzX2JpZ19lbmRpYW4gPSAwOwkvKiBzb3VyY2UgaXMgYmlnIGVuZGlhbiAqLworc3RhdGljIGludCBvcHRfdmVyYm9zZSA9IDA7CS8qIDEgPSB2ZXJib3NlICgtdiksIDIrID0gdmVyeSB2ZXJib3NlICgtdnYpICovCitzdGF0aWMgaW50IG9wdF9leHRyYWN0ID0gMDsJLyogZXh0cmFjdCBjcmFtZnMgKC14KSAqLworY2hhciAqZXh0cmFjdF9kaXIgPSAiIjsJCS8qIG9wdGlvbmFsIGV4dHJhY3Rpb24gZGlyZWN0b3J5ICgteCkgKi8KKworI2RlZmluZSBQQURfU0laRSA1MTIKKworc3RhdGljIHVpZF90IGV1aWQ7CQkvKiBlZmZlY3RpdmUgVUlEICovCisKKy8qIChjcmFtZnNfc3VwZXIgKyBzdGFydCkgPD0gc3RhcnRfZGlyIDwgZW5kX2RpciA8PSBzdGFydF9kYXRhIDw9IGVuZF9kYXRhICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyBzdGFydF9kaXIgPSB+MFVMOwkvKiBzdGFydCBvZiBmaXJzdCBub24tcm9vdCBpbm9kZSAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcgZW5kX2RpciA9IDA7CS8qIGVuZCBvZiB0aGUgZGlyZWN0b3J5IHN0cnVjdHVyZSAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcgc3RhcnRfZGF0YSA9IH4wVUw7CS8qIHN0YXJ0IG9mIHRoZSBkYXRhICgyNTYgTUIgPSBtYXgpICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyBlbmRfZGF0YSA9IDA7CS8qIGVuZCBvZiB0aGUgZGF0YSAqLworCisKKy8qIEd1YXJhbnRlZSBhY2Nlc3MgdG8gYXQgbGVhc3QgOGtCIGF0IGEgdGltZSAqLworI2RlZmluZSBST01CVUZGRVJfQklUUwkxMworI2RlZmluZSBST01CVUZGRVJTSVpFCSgxIDw8IFJPTUJVRkZFUl9CSVRTKQorI2RlZmluZSBST01CVUZGRVJNQVNLCShST01CVUZGRVJTSVpFIC0gMSkKK3N0YXRpYyBjaGFyIHJlYWRfYnVmZmVyW1JPTUJVRkZFUlNJWkUgKiAyXTsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIHJlYWRfYnVmZmVyX2Jsb2NrID0gfjBVTDsKKworc3RhdGljIHpfc3RyZWFtIHN0cmVhbTsKKworLyogUHJvdG90eXBlcyAqLworc3RhdGljIHZvaWQgZXhwYW5kX2ZzKGNoYXIgKiwgc3RydWN0IGNyYW1mc19pbm9kZSAqKTsKKworc3RhdGljIGNoYXIgKm91dGJ1ZmZlcjsKKworc3RhdGljIHNpemVfdCBibGtzaXplID0gMDsKKworCisvKiBJbnB1dCBzdGF0dXMgb2YgMCB0byBwcmludCBoZWxwIGFuZCBleGl0IHdpdGhvdXQgYW4gZXJyb3IuICovCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZShpbnQgc3RhdHVzKQoreworCUZJTEUgKm91dCA9IHN0YXR1cyA/IHN0ZGVyciA6IHN0ZG91dDsKKworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwKKwkJXygiICVzIFtvcHRpb25zXSA8ZmlsZT5cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiQ2hlY2sgYW5kIHJlcGFpciBhIGNvbXByZXNzZWQgUk9NIGZpbGVzeXN0ZW0uXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1hICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC15ICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWIsIC0tYmxvY2tzaXplIDxzaXplPiAgIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgZGVmYXVsdHMgdG8gcGFnZSBzaXplXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tZXh0cmFjdFs9PGRpcj5dICAgIHRlc3QgdW5jb21wcmVzc2lvbiwgb3B0aW9uYWxseSBleHRyYWN0IGludG8gPGRpcj5cbiIpLCBvdXQpOworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dCk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCisJZXhpdChzdGF0dXMpOworfQorCitzdGF0aWMgaW50IGdldF9zdXBlcmJsb2NrX2VuZGlhbm5lc3ModWludDMyX3QgbWFnaWMpCit7CisJaWYgKG1hZ2ljID09IENSQU1GU19NQUdJQykgeworCQljcmFtZnNfaXNfYmlnX2VuZGlhbiA9IEhPU1RfSVNfQklHX0VORElBTjsKKwkJcmV0dXJuIDA7CisJfSBlbHNlIGlmIChtYWdpYyA9PQorCQkgICB1MzJfdG9nZ2xlX2VuZGlhbm5lc3MoIUhPU1RfSVNfQklHX0VORElBTiwgQ1JBTUZTX01BR0lDKSkgeworCQljcmFtZnNfaXNfYmlnX2VuZGlhbiA9ICFIT1NUX0lTX0JJR19FTkRJQU47CisJCXJldHVybiAwOworCX0gZWxzZQorCQlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyB2b2lkIHRlc3Rfc3VwZXIoaW50ICpzdGFydCwgc2l6ZV90ICogbGVuZ3RoKQoreworCXN0cnVjdCBzdGF0IHN0OworCisJLyogZmluZCB0aGUgcGh5c2ljYWwgc2l6ZSBvZiB0aGUgZmlsZSBvciBibG9jayBkZXZpY2UgKi8KKwlpZiAoc3RhdChmaWxlbmFtZSwgJnN0KSA8IDApCisJCWVycihGU0NLX0VYX0VSUk9SLCBfKCJzdGF0IG9mICVzIGZhaWxlZCIpLCBmaWxlbmFtZSk7CisKKwlmZCA9IG9wZW4oZmlsZW5hbWUsIE9fUkRPTkxZKTsKKwlpZiAoZmQgPCAwKQorCQllcnIoRlNDS19FWF9FUlJPUiwgXygiY2Fubm90IG9wZW4gJXMiKSwgZmlsZW5hbWUpOworCisJaWYgKFNfSVNCTEsoc3Quc3RfbW9kZSkpIHsKKwkJdW5zaWduZWQgbG9uZyBsb25nIGJ5dGVzOworCQlpZiAoYmxrZGV2X2dldF9zaXplKGZkLCAmYnl0ZXMpKQorCQkJZXJyKEZTQ0tfRVhfRVJST1IsCisJCQkgICAgXygiaW9jdGwgZmFpbGVkOiB1bmFibGUgdG8gZGV0ZXJtaW5lIGRldmljZSBzaXplOiAlcyIpLAorCQkJICAgIGZpbGVuYW1lKTsKKwkJKmxlbmd0aCA9IGJ5dGVzOworCX0gZWxzZSBpZiAoU19JU1JFRyhzdC5zdF9tb2RlKSkKKwkJKmxlbmd0aCA9IHN0LnN0X3NpemU7CisJZWxzZQorCQllcnJ4KEZTQ0tfRVhfRVJST1IsIF8oIm5vdCBhIGJsb2NrIGRldmljZSBvciBmaWxlOiAlcyIpLCBmaWxlbmFtZSk7CisKKwlpZiAoKmxlbmd0aCA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSkKKwkJZXJyeChGU0NLX0VYX1VOQ09SUkVDVEVELCBfKCJmaWxlIGxlbmd0aCB0b28gc2hvcnQiKSk7CisKKwkvKiBmaW5kIHN1cGVyYmxvY2sgKi8KKwlpZiAocmVhZChmZCwgJnN1cGVyLCBzaXplb2Yoc3VwZXIpKSAhPSBzaXplb2Yoc3VwZXIpKQorCQllcnIoRlNDS19FWF9FUlJPUiwgXygiY2Fubm90IHJlYWQgJXMiKSwgZmlsZW5hbWUpOworCWlmIChnZXRfc3VwZXJibG9ja19lbmRpYW5uZXNzKHN1cGVyLm1hZ2ljKSAhPSAtMSkKKwkJKnN0YXJ0ID0gMDsKKwllbHNlIGlmICgqbGVuZ3RoID49IChQQURfU0laRSArIHNpemVvZihzdXBlcikpKSB7CisJCWlmIChsc2VlayhmZCwgUEFEX1NJWkUsIFNFRUtfU0VUKSA9PSAob2ZmX3QpIC0xKQorCQkJZXJyKEZTQ0tfRVhfRVJST1IsIF8oInNlZWsgb24gJXMgZmFpbGVkIiksIGZpbGVuYW1lKTsKKwkJaWYgKHJlYWQoZmQsICZzdXBlciwgc2l6ZW9mKHN1cGVyKSkgIT0gc2l6ZW9mKHN1cGVyKSkKKwkJCWVycihGU0NLX0VYX0VSUk9SLCBfKCJjYW5ub3QgcmVhZCAlcyIpLCBmaWxlbmFtZSk7CisJCWlmIChnZXRfc3VwZXJibG9ja19lbmRpYW5uZXNzKHN1cGVyLm1hZ2ljKSAhPSAtMSkKKwkJCSpzdGFydCA9IFBBRF9TSVpFOworCQllbHNlCisJCQllcnJ4KEZTQ0tfRVhfVU5DT1JSRUNURUQsIF8oInN1cGVyYmxvY2sgbWFnaWMgbm90IGZvdW5kIikpOworCX0gZWxzZQorCQllcnJ4KEZTQ0tfRVhfVU5DT1JSRUNURUQsIF8oInN1cGVyYmxvY2sgbWFnaWMgbm90IGZvdW5kIikpOworCisJaWYgKG9wdF92ZXJib3NlKQorCQlwcmludGYoXygiY3JhbWZzIGVuZGlhbm5lc3MgaXMgJXNcbiIpLAorCQkgICAgICAgY3JhbWZzX2lzX2JpZ19lbmRpYW4gPyBfKCJiaWciKSA6IF8oImxpdHRsZSIpKTsKKworCXN1cGVyX3RvZ2dsZV9lbmRpYW5uZXNzKGNyYW1mc19pc19iaWdfZW5kaWFuLCAmc3VwZXIpOworCWlmIChzdXBlci5mbGFncyAmIH5DUkFNRlNfU1VQUE9SVEVEX0ZMQUdTKQorCQllcnJ4KEZTQ0tfRVhfRVJST1IsIF8oInVuc3VwcG9ydGVkIGZpbGVzeXN0ZW0gZmVhdHVyZXMiKSk7CisKKwkvKiBXaGF0IGFyZSB2YWxpZCBzdXBlcmJsb2NrIHNpemVzPyAqLworCWlmIChzdXBlci5zaXplIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpKQorCQllcnJ4KEZTQ0tfRVhfVU5DT1JSRUNURUQsIF8oInN1cGVyYmxvY2sgc2l6ZSAoJWQpIHRvbyBzbWFsbCIpLAorCQkgICAgIHN1cGVyLnNpemUpOworCisJaWYgKHN1cGVyLmZsYWdzICYgQ1JBTUZTX0ZMQUdfRlNJRF9WRVJTSU9OXzIpIHsKKwkJaWYgKHN1cGVyLmZzaWQuZmlsZXMgPT0gMCkKKwkJCWVycngoRlNDS19FWF9VTkNPUlJFQ1RFRCwgXygiemVybyBmaWxlIGNvdW50IikpOworCQlpZiAoKmxlbmd0aCA8IHN1cGVyLnNpemUpCisJCQllcnJ4KEZTQ0tfRVhfVU5DT1JSRUNURUQsIF8oImZpbGUgbGVuZ3RoIHRvbyBzaG9ydCIpKTsKKwkJZWxzZSBpZiAoKmxlbmd0aCA+IHN1cGVyLnNpemUpCisJCQl3YXJueChfKCJmaWxlIGV4dGVuZHMgcGFzdCBlbmQgb2YgZmlsZXN5c3RlbSIpKTsKKwl9IGVsc2UKKwkJd2FybngoXygib2xkIGNyYW1mcyBmb3JtYXQiKSk7Cit9CisKK3N0YXRpYyB2b2lkIHRlc3RfY3JjKGludCBzdGFydCkKK3sKKwl2b2lkICpidWY7CisJdWludDMyX3QgY3JjOworCisJaWYgKCEoc3VwZXIuZmxhZ3MgJiBDUkFNRlNfRkxBR19GU0lEX1ZFUlNJT05fMikpIHsKKwkJd2FybngoXygidW5hYmxlIHRvIHRlc3QgQ1JDOiBvbGQgY3JhbWZzIGZvcm1hdCIpKTsKKwkJcmV0dXJuOworCX0KKworCWNyYyA9IGNyYzMyKDBMLCBaX05VTEwsIDApOworCisJYnVmID0KKwkgICAgbW1hcChOVUxMLCBzdXBlci5zaXplLCBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLCBNQVBfUFJJVkFURSwgZmQsIDApOworCWlmIChidWYgPT0gTUFQX0ZBSUxFRCkgeworCQlidWYgPQorCQkgICAgbW1hcChOVUxMLCBzdXBlci5zaXplLCBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLAorCQkJIE1BUF9QUklWQVRFIHwgTUFQX0FOT05ZTU9VUywgLTEsIDApOworCQlpZiAoYnVmICE9IE1BUF9GQUlMRUQpIHsKKwkJCWlmIChsc2VlayhmZCwgMCwgU0VFS19TRVQpID09IChvZmZfdCkgLTEpCisJCQkJZXJyKEZTQ0tfRVhfRVJST1IsIF8oInNlZWsgb24gJXMgZmFpbGVkIiksIGZpbGVuYW1lKTsKKwkJCWlmIChyZWFkKGZkLCBidWYsIHN1cGVyLnNpemUpICE9IChzc2l6ZV90KSBzdXBlci5zaXplKQorCQkJCWVycihGU0NLX0VYX0VSUk9SLCBfKCJjYW5ub3QgcmVhZCAlcyIpLCBmaWxlbmFtZSk7CisJCX0KKwl9CisJaWYgKGJ1ZiAhPSBNQVBfRkFJTEVEKSB7CisJCSgoc3RydWN0IGNyYW1mc19zdXBlciAqKSgodW5zaWduZWQgY2hhciAqKSBidWYgKyBzdGFydCkpLT5mc2lkLmNyYyA9CisJCSAgICBjcmMzMigwTCwgWl9OVUxMLCAwKTsKKwkJY3JjID0gY3JjMzIoY3JjLCAodW5zaWduZWQgY2hhciAqKSBidWYgKyBzdGFydCwgc3VwZXIuc2l6ZSAtIHN0YXJ0KTsKKwkJbXVubWFwKGJ1Ziwgc3VwZXIuc2l6ZSk7CisJfSBlbHNlIHsKKwkJaW50IHJldHZhbDsKKwkJc2l6ZV90IGxlbmd0aCA9IDA7CisKKwkJYnVmID0geG1hbGxvYyg0MDk2KTsKKwkJaWYgKGxzZWVrKGZkLCBzdGFydCwgU0VFS19TRVQpID09IChvZmZfdCkgLTEpCisJCQllcnIoRlNDS19FWF9FUlJPUiwgXygic2VlayBvbiAlcyBmYWlsZWQiKSwgZmlsZW5hbWUpOworCQlmb3IgKDs7KSB7CisJCQlyZXR2YWwgPSByZWFkKGZkLCBidWYsIDQwOTYpOworCQkJaWYgKHJldHZhbCA8IDApCisJCQkJZXJyKEZTQ0tfRVhfRVJST1IsIF8oImNhbm5vdCByZWFkICVzIiksIGZpbGVuYW1lKTsKKwkJCWVsc2UgaWYgKHJldHZhbCA9PSAwKQorCQkJCWJyZWFrOworCQkJaWYgKGxlbmd0aCA9PSAwKQorCQkJCSgoc3RydWN0IGNyYW1mc19zdXBlciAqKWJ1ZiktPmZzaWQuY3JjID0KKwkJCQkgICAgY3JjMzIoMEwsIFpfTlVMTCwgMCk7CisJCQlsZW5ndGggKz0gcmV0dmFsOworCQkJaWYgKGxlbmd0aCA+IChzdXBlci5zaXplIC0gc3RhcnQpKSB7CisJCQkJY3JjID0gY3JjMzIoY3JjLCBidWYsCisJCQkJCSAgcmV0dmFsIC0gKGxlbmd0aCAtCisJCQkJCQkgICAgKHN1cGVyLnNpemUgLSBzdGFydCkpKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWNyYyA9IGNyYzMyKGNyYywgYnVmLCByZXR2YWwpOworCQl9CisJCWZyZWUoYnVmKTsKKwl9CisKKwlpZiAoY3JjICE9IHN1cGVyLmZzaWQuY3JjKQorCQllcnJ4KEZTQ0tfRVhfVU5DT1JSRUNURUQsIF8oImNyYyBlcnJvciIpKTsKK30KKworc3RhdGljIHZvaWQgcHJpbnRfbm9kZShjaGFyIHR5cGUsIHN0cnVjdCBjcmFtZnNfaW5vZGUgKmksIGNoYXIgKm5hbWUpCit7CisJY2hhciBpbmZvWzEwXTsKKworCWlmIChTX0lTQ0hSKGktPm1vZGUpIHx8IChTX0lTQkxLKGktPm1vZGUpKSkKKwkJLyogbWFqb3IvbWlub3IgbnVtYmVycyBjYW4gYmUgYXMgaGlnaCBhcyAyXjEyIG9yIDQwOTYgKi8KKwkJc25wcmludGYoaW5mbywgMTAsICIlNGQsJTRkIiwgbWFqb3IoaS0+c2l6ZSksIG1pbm9yKGktPnNpemUpKTsKKwllbHNlCisJCS8qIHNpemUgYmUgYXMgaGlnaCBhcyAyXjI0IG9yIDE2Nzc3MjE2ICovCisJCXNucHJpbnRmKGluZm8sIDEwLCAiJTlkIiwgaS0+c2l6ZSk7CisKKwlwcmludGYoIiVjICUwNG8gJXMgJTVkOiUtM2QgJXNcbiIsCisJICAgICAgIHR5cGUsIGktPm1vZGUgJiB+U19JRk1ULCBpbmZvLCBpLT51aWQsIGktPmdpZCwKKwkgICAgICAgISpuYW1lICYmIHR5cGUgPT0gJ2QnID8gIi8iIDogbmFtZSk7Cit9CisKKy8qCisgKiBDcmVhdGUgYSBmYWtlICJibG9ja2VkIiBhY2Nlc3MKKyAqLworc3RhdGljIHZvaWQgKnJvbWZzX3JlYWQodW5zaWduZWQgbG9uZyBvZmZzZXQpCit7CisJdW5zaWduZWQgaW50IGJsb2NrID0gb2Zmc2V0ID4+IFJPTUJVRkZFUl9CSVRTOworCWlmIChibG9jayAhPSByZWFkX2J1ZmZlcl9ibG9jaykgeworCQlzc2l6ZV90IHg7CisKKwkJcmVhZF9idWZmZXJfYmxvY2sgPSBibG9jazsKKwkJaWYgKGxzZWVrKGZkLCBibG9jayA8PCBST01CVUZGRVJfQklUUywgU0VFS19TRVQpID09IChvZmZfdCkgLTEpCisJCQl3YXJuKF8oInNlZWsgZmFpbGVkIikpOworCisJCXggPSByZWFkKGZkLCByZWFkX2J1ZmZlciwgUk9NQlVGRkVSU0laRSAqIDIpOworCQlpZiAoeCA8IDApCisJCQl3YXJuKF8oInJlYWQgcm9tZnMgZmFpbGVkIikpOworCX0KKwlyZXR1cm4gcmVhZF9idWZmZXIgKyAob2Zmc2V0ICYgUk9NQlVGRkVSTUFTSyk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY3JhbWZzX2lub2RlICpjcmFtZnNfaWdldChzdHJ1Y3QgY3JhbWZzX2lub2RlICppKQoreworCXN0cnVjdCBjcmFtZnNfaW5vZGUgKmlub2RlID0geG1hbGxvYyhzaXplb2Yoc3RydWN0IGNyYW1mc19pbm9kZSkpOworCisJaW5vZGVfdG9faG9zdChjcmFtZnNfaXNfYmlnX2VuZGlhbiwgaSwgaW5vZGUpOworCXJldHVybiBpbm9kZTsKK30KKworc3RhdGljIHN0cnVjdCBjcmFtZnNfaW5vZGUgKmlnZXQodW5zaWduZWQgaW50IGlubykKK3sKKwlyZXR1cm4gY3JhbWZzX2lnZXQocm9tZnNfcmVhZChpbm8pKTsKK30KKworc3RhdGljIHZvaWQgaXB1dChzdHJ1Y3QgY3JhbWZzX2lub2RlICppbm9kZSkKK3sKKwlmcmVlKGlub2RlKTsKK30KKworLyoKKyAqIFJldHVybiB0aGUgb2Zmc2V0IG9mIHRoZSByb290IGRpcmVjdG9yeQorICovCitzdGF0aWMgc3RydWN0IGNyYW1mc19pbm9kZSAqcmVhZF9zdXBlcih2b2lkKQoreworCXN0cnVjdCBjcmFtZnNfaW5vZGUgKnJvb3QgPSBjcmFtZnNfaWdldCgmc3VwZXIucm9vdCk7CisJdW5zaWduZWQgbG9uZyBvZmZzZXQgPSByb290LT5vZmZzZXQgPDwgMjsKKworCWlmICghU19JU0RJUihyb290LT5tb2RlKSkKKwkJZXJyeChGU0NLX0VYX1VOQ09SUkVDVEVELCBfKCJyb290IGlub2RlIGlzIG5vdCBkaXJlY3RvcnkiKSk7CisJaWYgKCEoc3VwZXIuZmxhZ3MgJiBDUkFNRlNfRkxBR19TSElGVEVEX1JPT1RfT0ZGU0VUKSAmJgorCSAgICAoKG9mZnNldCAhPSBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikpICYmCisJICAgICAob2Zmc2V0ICE9IFBBRF9TSVpFICsgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpKSkpIHsKKwkJZXJyeChGU0NLX0VYX1VOQ09SUkVDVEVELCBfKCJiYWQgcm9vdCBvZmZzZXQgKCVsdSkiKSwgb2Zmc2V0KTsKKwl9CisJcmV0dXJuIHJvb3Q7Cit9CisKK3N0YXRpYyBpbnQgdW5jb21wcmVzc19ibG9jayh2b2lkICpzcmMsIHNpemVfdCBsZW4pCit7CisJaW50IGVycjsKKworCXN0cmVhbS5uZXh0X2luID0gc3JjOworCXN0cmVhbS5hdmFpbF9pbiA9IGxlbjsKKworCXN0cmVhbS5uZXh0X291dCA9ICh1bnNpZ25lZCBjaGFyICopb3V0YnVmZmVyOworCXN0cmVhbS5hdmFpbF9vdXQgPSBibGtzaXplICogMjsKKworCWluZmxhdGVSZXNldCgmc3RyZWFtKTsKKworCWlmIChsZW4gPiBibGtzaXplICogMikKKwkJZXJyeChGU0NLX0VYX1VOQ09SUkVDVEVELCBfKCJkYXRhIGJsb2NrIHRvbyBsYXJnZSIpKTsKKworCWVyciA9IGluZmxhdGUoJnN0cmVhbSwgWl9GSU5JU0gpOworCWlmIChlcnIgIT0gWl9TVFJFQU1fRU5EKQorCQllcnJ4KEZTQ0tfRVhfVU5DT1JSRUNURUQsIF8oImRlY29tcHJlc3Npb24gZXJyb3I6ICVzIiksCisJCSAgICAgekVycm9yKGVycikpOworCXJldHVybiBzdHJlYW0udG90YWxfb3V0OworfQorCisjaWYgIUhBVkVfTENIT1dOCisjZGVmaW5lIGxjaG93biBjaG93bgorI2VuZGlmCisKK3N0YXRpYyB2b2lkIGRvX3VuY29tcHJlc3MoY2hhciAqcGF0aCwgaW50IG91dGZkLCB1bnNpZ25lZCBsb25nIG9mZnNldCwKKwkJCSAgdW5zaWduZWQgbG9uZyBzaXplKQoreworCXVuc2lnbmVkIGxvbmcgY3VyciA9IG9mZnNldCArIDQgKiAoKHNpemUgKyBibGtzaXplIC0gMSkgLyBibGtzaXplKTsKKworCWRvIHsKKwkJdW5zaWduZWQgbG9uZyBvdXQgPSBibGtzaXplOworCQl1bnNpZ25lZCBsb25nIG5leHQgPSB1MzJfdG9nZ2xlX2VuZGlhbm5lc3MoY3JhbWZzX2lzX2JpZ19lbmRpYW4sCisJCQkJCQkJICAgKih1aW50MzJfdCAqKQorCQkJCQkJCSAgIHJvbWZzX3JlYWQob2Zmc2V0KSk7CisKKwkJaWYgKG5leHQgPiBlbmRfZGF0YSkKKwkJCWVuZF9kYXRhID0gbmV4dDsKKworCQlvZmZzZXQgKz0gNDsKKwkJaWYgKGN1cnIgPT0gbmV4dCkgeworCQkJaWYgKG9wdF92ZXJib3NlID4gMSkKKwkJCQlwcmludGYoXygiICBob2xlIGF0ICVsdSAoJXp1KVxuIiksIGN1cnIsCisJCQkJICAgICAgIGJsa3NpemUpOworCQkJaWYgKHNpemUgPCBibGtzaXplKQorCQkJCW91dCA9IHNpemU7CisJCQltZW1zZXQob3V0YnVmZmVyLCAweDAwLCBvdXQpOworCQl9IGVsc2UgeworCQkJaWYgKG9wdF92ZXJib3NlID4gMSkKKwkJCQlwcmludGYoXygiICB1bmNvbXByZXNzaW5nIGJsb2NrIGF0ICVsdSB0byAlbHUgKCVsdSlcbiIpLAorCQkJCSAgICAgICBjdXJyLCBuZXh0LCBuZXh0IC0gY3Vycik7CisJCQlvdXQgPSB1bmNvbXByZXNzX2Jsb2NrKHJvbWZzX3JlYWQoY3VyciksIG5leHQgLSBjdXJyKTsKKwkJfQorCQlpZiAoc2l6ZSA+PSBibGtzaXplKSB7CisJCQlpZiAob3V0ICE9IGJsa3NpemUpCisJCQkJZXJyeChGU0NLX0VYX1VOQ09SUkVDVEVELAorCQkJCSAgICAgXygibm9uLWJsb2NrICglbGQpIGJ5dGVzIiksIG91dCk7CisJCX0gZWxzZSB7CisJCQlpZiAob3V0ICE9IHNpemUpCisJCQkJZXJyeChGU0NLX0VYX1VOQ09SUkVDVEVELAorCQkJCSAgICAgXygibm9uLXNpemUgKCVsZCB2cyAlbGQpIGJ5dGVzIiksIG91dCwKKwkJCQkgICAgIHNpemUpOworCQl9CisJCXNpemUgLT0gb3V0OworCQlpZiAoKmV4dHJhY3RfZGlyICE9ICdcMCcgJiYgd3JpdGUob3V0ZmQsIG91dGJ1ZmZlciwgb3V0KSA8IDApCisJCQllcnIoRlNDS19FWF9FUlJPUiwgXygid3JpdGUgZmFpbGVkOiAlcyIpLCBwYXRoKTsKKwkJY3VyciA9IG5leHQ7CisJfSB3aGlsZSAoc2l6ZSk7Cit9CisKK3N0YXRpYyB2b2lkIGNoYW5nZV9maWxlX3N0YXR1cyhjaGFyICpwYXRoLCBzdHJ1Y3QgY3JhbWZzX2lub2RlICppKQoreworCXN0cnVjdCB1dGltYnVmIGVwb2NoID0geyAwLCAwIH07CisKKwlpZiAoZXVpZCA9PSAwKSB7CisJCWlmIChsY2hvd24ocGF0aCwgaS0+dWlkLCBpLT5naWQpIDwgMCkKKwkJCWVycihGU0NLX0VYX0VSUk9SLCBfKCJsY2hvd24gZmFpbGVkOiAlcyIpLCBwYXRoKTsKKwkJaWYgKFNfSVNMTksoaS0+bW9kZSkpCisJCQlyZXR1cm47CisJCWlmICgoKFNfSVNVSUQgfCBTX0lTR0lEKSAmIGktPm1vZGUpICYmIGNobW9kKHBhdGgsIGktPm1vZGUpIDwgMCkKKwkJCWVycihGU0NLX0VYX0VSUk9SLCBfKCJjaG93biBmYWlsZWQ6ICVzIiksIHBhdGgpOworCX0KKwlpZiAoU19JU0xOSyhpLT5tb2RlKSkKKwkJcmV0dXJuOworCWlmICh1dGltZShwYXRoLCAmZXBvY2gpIDwgMCkKKwkJZXJyKEZTQ0tfRVhfRVJST1IsIF8oInV0aW1lIGZhaWxlZDogJXMiKSwgcGF0aCk7Cit9CisKK3N0YXRpYyB2b2lkIGRvX2RpcmVjdG9yeShjaGFyICpwYXRoLCBzdHJ1Y3QgY3JhbWZzX2lub2RlICppKQoreworCWludCBwYXRobGVuID0gc3RybGVuKHBhdGgpOworCWludCBjb3VudCA9IGktPnNpemU7CisJdW5zaWduZWQgbG9uZyBvZmZzZXQgPSBpLT5vZmZzZXQgPDwgMjsKKwljaGFyICpuZXdwYXRoID0geG1hbGxvYyhwYXRobGVuICsgMjU2KTsKKworCWlmIChvZmZzZXQgPT0gMCAmJiBjb3VudCAhPSAwKQorCQllcnJ4KEZTQ0tfRVhfVU5DT1JSRUNURUQsCisJCSAgICAgXygiZGlyZWN0b3J5IGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZTogJXMiKSwKKwkJICAgICBwYXRoKTsKKworCWlmIChvZmZzZXQgIT0gMCAmJiBvZmZzZXQgPCBzdGFydF9kaXIpCisJCXN0YXJ0X2RpciA9IG9mZnNldDsKKworCS8qIFRPRE86IERvIHdlIG5lZWQgdG8gY2hlY2sgZW5kX2RpciBmb3IgZW1wdHkgY2FzZT8gKi8KKwltZW1jcHkobmV3cGF0aCwgcGF0aCwgcGF0aGxlbik7CisJbmV3cGF0aFtwYXRobGVuXSA9ICcvJzsKKwlwYXRobGVuKys7CisJaWYgKG9wdF92ZXJib3NlKQorCQlwcmludF9ub2RlKCdkJywgaSwgcGF0aCk7CisKKwlpZiAoKmV4dHJhY3RfZGlyICE9ICdcMCcpIHsKKwkJaWYgKG1rZGlyKHBhdGgsIGktPm1vZGUpIDwgMCkKKwkJCWVycihGU0NLX0VYX0VSUk9SLCBfKCJta2RpciBmYWlsZWQ6ICVzIiksIHBhdGgpOworCQljaGFuZ2VfZmlsZV9zdGF0dXMocGF0aCwgaSk7CisJfQorCXdoaWxlIChjb3VudCA+IDApIHsKKwkJc3RydWN0IGNyYW1mc19pbm9kZSAqY2hpbGQgPSBpZ2V0KG9mZnNldCk7CisJCWludCBzaXplOworCQlpbnQgbmV3bGVuID0gY2hpbGQtPm5hbWVsZW4gPDwgMjsKKworCQlzaXplID0gc2l6ZW9mKHN0cnVjdCBjcmFtZnNfaW5vZGUpICsgbmV3bGVuOworCQljb3VudCAtPSBzaXplOworCisJCW9mZnNldCArPSBzaXplb2Yoc3RydWN0IGNyYW1mc19pbm9kZSk7CisKKwkJbWVtY3B5KG5ld3BhdGggKyBwYXRobGVuLCByb21mc19yZWFkKG9mZnNldCksIG5ld2xlbik7CisJCW5ld3BhdGhbcGF0aGxlbiArIG5ld2xlbl0gPSAwOworCQlpZiAobmV3bGVuID09IDApCisJCQllcnJ4KEZTQ0tfRVhfVU5DT1JSRUNURUQsIF8oImZpbGVuYW1lIGxlbmd0aCBpcyB6ZXJvIikpOworCQlpZiAoKHBhdGhsZW4gKyBuZXdsZW4pIC0gc3RybGVuKG5ld3BhdGgpID4gMykKKwkJCWVycngoRlNDS19FWF9VTkNPUlJFQ1RFRCwgXygiYmFkIGZpbGVuYW1lIGxlbmd0aCIpKTsKKwkJZXhwYW5kX2ZzKG5ld3BhdGgsIGNoaWxkKTsKKworCQlvZmZzZXQgKz0gbmV3bGVuOworCisJCWlmIChvZmZzZXQgPD0gc3RhcnRfZGlyKQorCQkJZXJyeChGU0NLX0VYX1VOQ09SUkVDVEVELCBfKCJiYWQgaW5vZGUgb2Zmc2V0IikpOworCQlpZiAob2Zmc2V0ID4gZW5kX2RpcikKKwkJCWVuZF9kaXIgPSBvZmZzZXQ7CisJCWlwdXQoY2hpbGQpOwkvKiBmcmVlKGNoaWxkKSAqLworCX0KKwlmcmVlKG5ld3BhdGgpOworfQorCitzdGF0aWMgdm9pZCBkb19maWxlKGNoYXIgKnBhdGgsIHN0cnVjdCBjcmFtZnNfaW5vZGUgKmkpCit7CisJdW5zaWduZWQgbG9uZyBvZmZzZXQgPSBpLT5vZmZzZXQgPDwgMjsKKwlpbnQgb3V0ZmQgPSAwOworCisJaWYgKG9mZnNldCA9PSAwICYmIGktPnNpemUgIT0gMCkKKwkJZXJyeChGU0NLX0VYX1VOQ09SUkVDVEVELAorCQkgICAgIF8oImZpbGUgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplIikpOworCWlmIChpLT5zaXplID09IDAgJiYgb2Zmc2V0ICE9IDApCisJCWVycngoRlNDS19FWF9VTkNPUlJFQ1RFRCwKKwkJICAgICBfKCJmaWxlIGlub2RlIGhhcyB6ZXJvIHNpemUgYW5kIG5vbi16ZXJvIG9mZnNldCIpKTsKKwlpZiAob2Zmc2V0ICE9IDAgJiYgb2Zmc2V0IDwgc3RhcnRfZGF0YSkKKwkJc3RhcnRfZGF0YSA9IG9mZnNldDsKKwlpZiAob3B0X3ZlcmJvc2UpCisJCXByaW50X25vZGUoJ2YnLCBpLCBwYXRoKTsKKwlpZiAoKmV4dHJhY3RfZGlyICE9ICdcMCcpIHsKKwkJb3V0ZmQgPSBvcGVuKHBhdGgsIE9fV1JPTkxZIHwgT19DUkVBVCB8IE9fVFJVTkMsIGktPm1vZGUpOworCQlpZiAob3V0ZmQgPCAwKQorCQkJZXJyKEZTQ0tfRVhfRVJST1IsIF8oImNhbm5vdCBvcGVuICVzIiksIHBhdGgpOworCX0KKwlpZiAoaS0+c2l6ZSkKKwkJZG9fdW5jb21wcmVzcyhwYXRoLCBvdXRmZCwgb2Zmc2V0LCBpLT5zaXplKTsKKwlpZiAoICpleHRyYWN0X2RpciAhPSAnXDAnKSB7CisJCWlmIChjbG9zZV9mZChvdXRmZCkgIT0gMCkKKwkJCWVycihGU0NLX0VYX0VSUk9SLCBfKCJ3cml0ZSBmYWlsZWQ6ICVzIiksIHBhdGgpOworCQljaGFuZ2VfZmlsZV9zdGF0dXMocGF0aCwgaSk7CisJfQorfQorCitzdGF0aWMgdm9pZCBkb19zeW1saW5rKGNoYXIgKnBhdGgsIHN0cnVjdCBjcmFtZnNfaW5vZGUgKmkpCit7CisJdW5zaWduZWQgbG9uZyBvZmZzZXQgPSBpLT5vZmZzZXQgPDwgMjsKKwl1bnNpZ25lZCBsb25nIGN1cnIgPSBvZmZzZXQgKyA0OworCXVuc2lnbmVkIGxvbmcgbmV4dCA9CisJICAgIHUzMl90b2dnbGVfZW5kaWFubmVzcyhjcmFtZnNfaXNfYmlnX2VuZGlhbiwKKwkJCQkgICoodWludDMyX3QgKikgcm9tZnNfcmVhZChvZmZzZXQpKTsKKwl1bnNpZ25lZCBsb25nIHNpemU7CisKKwlpZiAob2Zmc2V0ID09IDApCisJCWVycngoRlNDS19FWF9VTkNPUlJFQ1RFRCwgXygic3ltYm9saWMgbGluayBoYXMgemVybyBvZmZzZXQiKSk7CisJaWYgKGktPnNpemUgPT0gMCkKKwkJZXJyeChGU0NLX0VYX1VOQ09SUkVDVEVELCBfKCJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIHNpemUiKSk7CisKKwlpZiAob2Zmc2V0IDwgc3RhcnRfZGF0YSkKKwkJc3RhcnRfZGF0YSA9IG9mZnNldDsKKwlpZiAobmV4dCA+IGVuZF9kYXRhKQorCQllbmRfZGF0YSA9IG5leHQ7CisKKwlzaXplID0gdW5jb21wcmVzc19ibG9jayhyb21mc19yZWFkKGN1cnIpLCBuZXh0IC0gY3Vycik7CisJaWYgKHNpemUgIT0gaS0+c2l6ZSkKKwkJZXJyeChGU0NLX0VYX1VOQ09SUkVDVEVELCBfKCJzaXplIGVycm9yIGluIHN5bWxpbms6ICVzIiksIHBhdGgpOworCW91dGJ1ZmZlcltzaXplXSA9IDA7CisJaWYgKG9wdF92ZXJib3NlKSB7CisJCWNoYXIgKnN0cjsKKworCQl4YXNwcmludGYoJnN0ciwgIiVzIC0+ICVzIiwgcGF0aCwgb3V0YnVmZmVyKTsKKwkJcHJpbnRfbm9kZSgnbCcsIGksIHN0cik7CisJCWlmIChvcHRfdmVyYm9zZSA+IDEpCisJCQlwcmludGYoXygiICB1bmNvbXByZXNzaW5nIGJsb2NrIGF0ICVsdSB0byAlbHUgKCVsdSlcbiIpLAorCQkJICAgICAgIGN1cnIsIG5leHQsIG5leHQgLSBjdXJyKTsKKwkJZnJlZShzdHIpOworCX0KKwlpZiAoKmV4dHJhY3RfZGlyICE9ICdcMCcpIHsKKwkJaWYgKHN5bWxpbmsob3V0YnVmZmVyLCBwYXRoKSA8IDApCisJCQllcnIoRlNDS19FWF9FUlJPUiwgXygic3ltbGluayBmYWlsZWQ6ICVzIiksIHBhdGgpOworCQljaGFuZ2VfZmlsZV9zdGF0dXMocGF0aCwgaSk7CisJfQorfQorCitzdGF0aWMgdm9pZCBkb19zcGVjaWFsX2lub2RlKGNoYXIgKnBhdGgsIHN0cnVjdCBjcmFtZnNfaW5vZGUgKmkpCit7CisJZGV2X3QgZGV2dHlwZSA9IDA7CisJY2hhciB0eXBlOworCisJaWYgKGktPm9mZnNldCkKKwkJLyogbm8gbmVlZCB0byBzaGlmdCBvZmZzZXQgKi8KKwkJZXJyeChGU0NLX0VYX1VOQ09SUkVDVEVELAorCQkgICAgIF8oInNwZWNpYWwgZmlsZSBoYXMgbm9uLXplcm8gb2Zmc2V0OiAlcyIpLCBwYXRoKTsKKworCWlmIChTX0lTQ0hSKGktPm1vZGUpKSB7CisJCWRldnR5cGUgPSBpLT5zaXplOworCQl0eXBlID0gJ2MnOworCX0gZWxzZSBpZiAoU19JU0JMSyhpLT5tb2RlKSkgeworCQlkZXZ0eXBlID0gaS0+c2l6ZTsKKwkJdHlwZSA9ICdiJzsKKwl9IGVsc2UgaWYgKFNfSVNGSUZPKGktPm1vZGUpKSB7CisJCWlmIChpLT5zaXplICE9IDApCisJCQllcnJ4KEZTQ0tfRVhfVU5DT1JSRUNURUQsIF8oImZpZm8gaGFzIG5vbi16ZXJvIHNpemU6ICVzIiksCisJCQkgICAgIHBhdGgpOworCQl0eXBlID0gJ3AnOworCX0gZWxzZSBpZiAoU19JU1NPQ0soaS0+bW9kZSkpIHsKKwkJaWYgKGktPnNpemUgIT0gMCkKKwkJCWVycngoRlNDS19FWF9VTkNPUlJFQ1RFRCwKKwkJCSAgICAgXygic29ja2V0IGhhcyBub24temVybyBzaXplOiAlcyIpLCBwYXRoKTsKKwkJdHlwZSA9ICdzJzsKKwl9IGVsc2UgeworCQllcnJ4KEZTQ0tfRVhfVU5DT1JSRUNURUQsIF8oImJvZ3VzIG1vZGU6ICVzICglbykiKSwgcGF0aCwgaS0+bW9kZSk7CisJCXJldHVybjsJCS8qIG5vdCByZWFjaGVkICovCisJfQorCisJaWYgKG9wdF92ZXJib3NlKQorCQlwcmludF9ub2RlKHR5cGUsIGksIHBhdGgpOworCisJaWYgKCpleHRyYWN0X2RpciAhPSAnXDAnKSB7CisJCWlmIChta25vZChwYXRoLCBpLT5tb2RlLCBkZXZ0eXBlKSA8IDApCisJCQllcnIoRlNDS19FWF9FUlJPUiwgXygibWtub2QgZmFpbGVkOiAlcyIpLCBwYXRoKTsKKwkJY2hhbmdlX2ZpbGVfc3RhdHVzKHBhdGgsIGkpOworCX0KK30KKworc3RhdGljIHZvaWQgZXhwYW5kX2ZzKGNoYXIgKnBhdGgsIHN0cnVjdCBjcmFtZnNfaW5vZGUgKmlub2RlKQoreworCWlmIChTX0lTRElSKGlub2RlLT5tb2RlKSkKKwkJZG9fZGlyZWN0b3J5KHBhdGgsIGlub2RlKTsKKwllbHNlIGlmIChTX0lTUkVHKGlub2RlLT5tb2RlKSkKKwkJZG9fZmlsZShwYXRoLCBpbm9kZSk7CisJZWxzZSBpZiAoU19JU0xOSyhpbm9kZS0+bW9kZSkpCisJCWRvX3N5bWxpbmsocGF0aCwgaW5vZGUpOworCWVsc2UKKwkJZG9fc3BlY2lhbF9pbm9kZShwYXRoLCBpbm9kZSk7Cit9CisKK3N0YXRpYyB2b2lkIHRlc3RfZnMoaW50IHN0YXJ0KQoreworCXN0cnVjdCBjcmFtZnNfaW5vZGUgKnJvb3Q7CisKKwlyb290ID0gcmVhZF9zdXBlcigpOworCXVtYXNrKDApOworCWV1aWQgPSBnZXRldWlkKCk7CisJc3RyZWFtLm5leHRfaW4gPSBOVUxMOworCXN0cmVhbS5hdmFpbF9pbiA9IDA7CisJaW5mbGF0ZUluaXQoJnN0cmVhbSk7CisJZXhwYW5kX2ZzKGV4dHJhY3RfZGlyLCByb290KTsKKwlpbmZsYXRlRW5kKCZzdHJlYW0pOworCWlmIChzdGFydF9kYXRhICE9IH4wVUwpIHsKKwkJaWYgKHN0YXJ0X2RhdGEgPCAoc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQpKQorCQkJZXJyeChGU0NLX0VYX1VOQ09SUkVDVEVELAorCQkJICAgICBfKCJkaXJlY3RvcnkgZGF0YSBzdGFydCAoJWx1KSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIHN0YXJ0ICglenUpIiksCisJCQkgICAgIHN0YXJ0X2RhdGEsIHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIHN0YXJ0KTsKKwkJaWYgKGVuZF9kaXIgIT0gc3RhcnRfZGF0YSkKKwkJCWVycngoRlNDS19FWF9VTkNPUlJFQ1RFRCwKKwkJCSAgICAgXygiZGlyZWN0b3J5IGRhdGEgZW5kICglbHUpICE9IGZpbGUgZGF0YSBzdGFydCAoJWx1KSIpLAorCQkJICAgICBlbmRfZGlyLCBzdGFydF9kYXRhKTsKKwl9CisJaWYgKHN1cGVyLmZsYWdzICYgQ1JBTUZTX0ZMQUdfRlNJRF9WRVJTSU9OXzIgJiYgZW5kX2RhdGEgPiBzdXBlci5zaXplKQorCQllcnJ4KEZTQ0tfRVhfVU5DT1JSRUNURUQsIF8oImludmFsaWQgZmlsZSBkYXRhIG9mZnNldCIpKTsKKworCWlwdXQocm9vdCk7CQkvKiBmcmVlKHJvb3QpICovCit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlpbnQgYzsJCQkvKiBmb3IgZ2V0b3B0ICovCisJaW50IHN0YXJ0ID0gMDsKKwlzaXplX3QgbGVuZ3RoID0gMDsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsidmVyYm9zZSIsIG5vX2FyZ3VtZW50LCAwLCAndid9LAorCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgMCwgJ1YnfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIDAsICdoJ30sCisJCXsiYmxvY2tzaXplIiwgcmVxdWlyZWRfYXJndW1lbnQsIDAsICdiJ30sCisJCXsiZXh0cmFjdCIsIG9wdGlvbmFsX2FyZ3VtZW50LCAwLCAneCd9LAorCQl7TlVMTCwgbm9fYXJndW1lbnQsIDAsICcwJ30sCisJfTsKKworCXNldGxvY2FsZShMQ19NRVNTQUdFUywgIiIpOworCXNldGxvY2FsZShMQ19DVFlQRSwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCS8qIGNvbW1hbmQgbGluZSBvcHRpb25zICovCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImF5dlZoYjoiLCBsb25nb3B0cywgTlVMTCkpICE9IEVPRikKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ2EnOgkJLyogaWdub3JlICovCisJCWNhc2UgJ3knOgorCQkJYnJlYWs7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoRlNDS19FWF9PSyk7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ3gnOgorCQkJb3B0X2V4dHJhY3QgPSAxOworCQkJaWYob3B0YXJnKQorCQkJCWV4dHJhY3RfZGlyID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ3YnOgorCQkJb3B0X3ZlcmJvc2UrKzsKKwkJCWJyZWFrOworCQljYXNlICdiJzoKKwkJCWJsa3NpemUgPSBzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLCBfKCJpbnZhbGlkIGJsb2Nrc2l6ZSBhcmd1bWVudCIpKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJdXNhZ2UoRlNDS19FWF9VU0FHRSk7CisJCX0KKworCWlmICgoYXJnYyAtIG9wdGluZCkgIT0gMSkKKwkJdXNhZ2UoRlNDS19FWF9VU0FHRSk7CisJZmlsZW5hbWUgPSBhcmd2W29wdGluZF07CisKKwl0ZXN0X3N1cGVyKCZzdGFydCwgJmxlbmd0aCk7CisJdGVzdF9jcmMoc3RhcnQpOworCisJaWYob3B0X2V4dHJhY3QpIHsKKwkJaWYgKGJsa3NpemUgPT0gMCkKKwkJCWJsa3NpemUgPSBnZXRwYWdlc2l6ZSgpOworCQlvdXRidWZmZXIgPSB4bWFsbG9jKGJsa3NpemUgKiAyKTsKKwkJdGVzdF9mcyhzdGFydCk7CisJfQorCisJaWYgKG9wdF92ZXJib3NlKQorCQlwcmludGYoXygiJXM6IE9LXG4iKSwgZmlsZW5hbWUpOworCisJZXhpdChGU0NLX0VYX09LKTsKK30KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvZnNjay5taW5peC44IGIvZGlzay11dGlscy9mc2NrLm1pbml4LjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmM3ZWY3OAotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvZnNjay5taW5peC44CkBAIC0wLDAgKzEsMTY4IEBACisuXCIgQ29weXJpZ2h0IDE5OTIsIDE5OTMsIDE5OTQgUmlja2FyZCBFLiBGYWl0aCAoZmFpdGhAY3MudW5jLmVkdSkKKy5cIiBNYXkgYmUgZnJlZWx5IGRpc3RyaWJ1dGVkLgorLlRIIEZTQ0suTUlOSVggOCAiSnVuZSAyMDE1IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitmc2NrLm1pbml4IFwtIGNoZWNrIGNvbnNpc3RlbmN5IG9mIE1pbml4IGZpbGVzeXN0ZW0KKy5TSCBTWU5PUFNJUworLkIgZnNjay5taW5peAorW29wdGlvbnNdCisuSSBkZXZpY2UKKy5TSCBERVNDUklQVElPTgorLkIgZnNjay5taW5peAorcGVyZm9ybXMgYSBjb25zaXN0ZW5jeSBjaGVjayBmb3IgdGhlIExpbnV4IE1JTklYIGZpbGVzeXN0ZW0uCisuUFAKK1RoZSBwcm9ncmFtIGFzc3VtZXMgdGhlIGZpbGVzeXN0ZW0gaXMgcXVpZXNjZW50LgorLkIgZnNjay5taW5peAorc2hvdWxkIG5vdCBiZSB1c2VkIG9uIGEgbW91bnRlZCBkZXZpY2UgdW5sZXNzIHlvdSBjYW4gYmUgc3VyZSBub2JvZHkgaXMKK3dyaXRpbmcgdG8gaXQuICBSZW1lbWJlciB0aGF0IHRoZSBrZXJuZWwgY2FuIHdyaXRlIHRvIGRldmljZSB3aGVuIGl0CitzZWFyY2hlcyBmb3IgZmlsZXMuCisuUFAKK1RoZSBcZklkZXZpY2VcZlIgbmFtZSB3aWxsIHVzdWFsbHkgaGF2ZSB0aGUgZm9sbG93aW5nIGZvcm06CisuUlMKKy5UUwordGFiKDopOworbGVmdCBsIGwuCisvZGV2L2hkYVsxXChlbjYzXTpJREUgZGlzayAxCisvZGV2L2hkYlsxXChlbjYzXTpJREUgZGlzayAyCisvZGV2L3NkYVsxXChlbjE1XTpTQ1NJIGRpc2sgMQorL2Rldi9zZGJbMVwoZW4xNV06U0NTSSBkaXNrIDIKKy5URQorLlJFCisuUFAKK0lmIHRoZSBmaWxlc3lzdGVtIHdhcyBjaGFuZ2VkLCBpLmUuLCByZXBhaXJlZCwgdGhlbgorLkIgZnNjay5taW5peAord2lsbCBwcmludCAiRklMRSBTWVNURU0gSEFTIENIQU5HRUQiIGFuZCB3aWxsCisuQlIgc3luYyAoMikKK3RocmVlIHRpbWVzIGJlZm9yZSBleGl0aW5nLiAgVGhlcmUgaXMKKy5JIG5vCituZWVkIHRvIHJlYm9vdCBhZnRlciBjaGVjay4KKy5TSCBXQVJOSU5HCisuQiBmc2NrLm1pbml4CitzaG91bGQKKy5CIG5vdAorYmUgdXNlZCBvbiBhIG1vdW50ZWQgZmlsZXN5c3RlbS4gIFVzaW5nCisuQiBmc2NrLm1pbml4CitvbiBhIG1vdW50ZWQgZmlsZXN5c3RlbSBpcyB2ZXJ5IGRhbmdlcm91cywgZHVlIHRvIHRoZSBwb3NzaWJpbGl0eSB0aGF0CitkZWxldGVkIGZpbGVzIGFyZSBzdGlsbCBpbiB1c2UsIGFuZCBjYW4gc2VyaW91c2x5IGRhbWFnZSBhIHBlcmZlY3RseSBnb29kCitmaWxlc3lzdGVtISAgSWYgeW91IGFic29sdXRlbHkgaGF2ZSB0byBydW4KKy5CIGZzY2subWluaXgKK29uIGEgbW91bnRlZCBmaWxlc3lzdGVtLCBzdWNoIGFzIHRoZSByb290IGZpbGVzeXN0ZW0sIG1ha2Ugc3VyZSBub3RoaW5nCitpcyB3cml0aW5nIHRvIHRoZSBkaXNrLCBhbmQgdGhhdCBubyBmaWxlcyBhcmUgInpvbWJpZXMiIHdhaXRpbmcgZm9yCitkZWxldGlvbi4KKy5TSCBPUFRJT05TCisuVFAKK1xmQlwtbFxmUiwgXGZCXC1cLWxpc3RcZlIKK0xpc3QgYWxsIGZpbGVuYW1lcy4KKy5UUAorXGZCXC1yXGZSLCBcZkJcLVwtcmVwYWlyXGZSCitQZXJmb3JtIGludGVyYWN0aXZlIHJlcGFpcnMuCisuVFAKK1xmQlwtYVxmUiwgXGZCXC1cLWF1dG9cZlIKK1BlcmZvcm0gYXV0b21hdGljIHJlcGFpcnMuICBUaGlzIG9wdGlvbiBpbXBsaWVzCisuQiBcLVwtcmVwYWlyCithbmQgc2VydmVzIHRvIGFuc3dlciBhbGwgb2YgdGhlIHF1ZXN0aW9ucyBhc2tlZCB3aXRoIHRoZSBkZWZhdWx0LiAgTm90ZQordGhhdCB0aGlzIGNhbiBiZSBleHRyZW1lbHkgZGFuZ2Vyb3VzIGluIHRoZSBjYXNlIG9mIGV4dGVuc2l2ZSBmaWxlc3lzdGVtCitkYW1hZ2UuCisuVFAKK1xmQlwtdlxmUiwgXGZCXC1cLXZlcmJvc2VcZlIKK0JlIHZlcmJvc2UuCisuVFAKK1xmQlwtc1xmUiwgXGZCXC1cLXN1cGVyXGZSCitPdXRwdXQgc3VwZXItYmxvY2sgaW5mb3JtYXRpb24uCisuVFAKK1xmQlwtbVxmUiwgXGZCXC1cLXVuY2xlYXJlZFxmUgorQWN0aXZhdGUgTUlOSVgtbGlrZSAibW9kZSBub3QgY2xlYXJlZCIgd2FybmluZ3MuCisuVFAKK1xmQlwtZlxmUiwgXGZCXC1cLWZvcmNlXGZSCitGb3JjZSBhIGZpbGVzeXN0ZW0gY2hlY2sgZXZlbiBpZiB0aGUgZmlsZXN5c3RlbSB3YXMgbWFya2VkIGFzIHZhbGlkLgorTWFya2luZyBpcyBkb25lIGJ5IHRoZSBrZXJuZWwgd2hlbiB0aGUgZmlsZXN5c3RlbSBpcyB1bm1vdW50ZWQuCisuVFAKK1xmQlwtVlxmUiwgXGZCXC1cLXZlcnNpb25cZlIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorXGZCXC1oXGZSLCBcZkJcLVwtaGVscFxmUgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggRElBR05PU1RJQ1MKK1RoZXJlIGFyZSBudW1lcm91cyBkaWFnbm9zdGljIG1lc3NhZ2VzLiAgVGhlIG9uZXMgbWVudGlvbmVkIGhlcmUgYXJlIHRoZQorbW9zdCBjb21tb25seSBzZWVuIGluIG5vcm1hbCB1c2FnZS4KKy5QUAorSWYgdGhlIGRldmljZSBkb2VzIG5vdCBleGlzdCwKKy5CIGZzY2subWluaXgKK3dpbGwgcHJpbnQgInVuYWJsZSB0byByZWFkIHN1cGVyIGJsb2NrIi4gIElmIHRoZSBkZXZpY2UgZXhpc3RzLCBidXQgaXMgbm90CithIE1JTklYIGZpbGVzeXN0ZW0sCisuQiBmc2NrLm1pbml4Cit3aWxsIHByaW50ICJiYWQgbWFnaWMgbnVtYmVyIGluIHN1cGVyLWJsb2NrIi4KKy5TSCAiRVhJVCBDT0RFUyIKK1RoZSBleGl0IGNvZGUgcmV0dXJuZWQgYnkKKy5CIGZzY2subWluaXgKK2lzIHRoZSBzdW0gb2YgdGhlIGZvbGxvd2luZzoKKy5QUAorLlJTCisuUEQgMAorLlRQCisuQiAwCitObyBlcnJvcnMKKy5UUAorLkIgMworRmlsZXN5c3RlbSBlcnJvcnMgY29ycmVjdGVkLCBzeXN0ZW0gc2hvdWxkIGJlIHJlYm9vdGVkIGlmIGZpbGVzeXN0ZW0gd2FzCittb3VudGVkCisuVFAKKy5CIDQKK0ZpbGVzeXN0ZW0gZXJyb3JzIGxlZnQgdW5jb3JyZWN0ZWQKKy5UUAorLkIgNworQ29tYmluYXRpb24gb2YgZXhpdCBjb2RlcyAzIGFuZCA0CisuVFAKKy5CIDgKK09wZXJhdGlvbmFsIGVycm9yCisuVFAKKy5CIDE2CitVc2FnZSBvciBzeW50YXggZXJyb3IKKy5QRAorLlJFCisuUFAKKy5TSCBBVVRIT1JTCisuTVQgdG9ydmFsZHNAXDpjcy5cOmhlbHNpbmtpLlw6ZmkKK0xpbnVzIFRvcnZhbGRzCisuTUUKKy5icgorRXJyb3IgY29kZSB2YWx1ZXMgYnkKKy5NVCBmYWl0aEBcOmNzLlw6dW5jLlw6ZWR1CitSaWsgRmFpdGgKKy5NRQorLmJyCitBZGRlZCBzdXBwb3J0IGZvciBmaWxlc3lzdGVtIHZhbGlkIGZsYWc6CisuTVQgZ3JlZyVcOndpbmQuXDp1dWNwQFw6cGxhaW5zLlw6bm9kYWsuXDplZHUKK0RyLlwmIFdldHRzdGVpbgorLk1FIC4KKy5icgorQ2hlY2sgdG8gcHJldmVudCBmc2NrIG9mIG1vdW50ZWQgZmlsZXN5c3RlbSBhZGRlZCBieQorLk1UIHF1aW5sYW5AXDp5Z2dkcmFzaWwuXDpjb20KK0RhbmllbCBRdWlubGFuCisuTUUgLgorLmJyCitNaW5peCB2MiBmcyBzdXBwb3J0IGJ5CisuTVQgc2Nod2FiQFw6aXNzYW4uXDppbmZvcm1hdGlrLlw6dW5pLWRvcnRtdW5kLlw6ZGUKK0FuZHJlYXMgU2Nod2FiCisuTUUgLAordXBkYXRlZCBieQorLk1UIGphbmxAXDptYXRoLlw6dWlvLlw6bm8KK05pY29sYWkgTGFuZ2ZlbGR0CisuTUUgLgorLmJyCitQb3J0YWJpbGl0eSBwYXRjaCBieQorLk1UIHJta0BcOmVjcy5cOnNvdG9uLlw6YWMuXDp1aworUnVzc2VsbCBLaW5nCisuTUUgLgorLlNIICJTRUUgQUxTTyIKKy5CUiBmc2NrICg4KSwKKy5CUiBmc2NrLmV4dDIgKDgpLAorLkJSIG1rZnMgKDgpLAorLkJSIG1rZnMuZXh0MiAoOCksCisuQlIgbWtmcy5taW5peCAoOCksCisuQlIgcmVib290ICg4KQorLlNIIEFWQUlMQUJJTElUWQorVGhlIGZzY2subWluaXggY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgZnRwOi8vXDpmdHAua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL2ZzY2subWluaXguYyBiL2Rpc2stdXRpbHMvZnNjay5taW5peC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3ZTU1OGIKLS0tIC9kZXYvbnVsbAorKysgYi9kaXNrLXV0aWxzL2ZzY2subWluaXguYwpAQCAtMCwwICsxLDE0MjkgQEAKKy8qCisgKiBmc2NrLm1pbml4LmMgLSBhIGZpbGUgc3lzdGVtIGNvbnNpc3RlbmN5IGNoZWNrZXIgZm9yIExpbnV4LgorICoKKyAqIChDKSAxOTkxLCAxOTkyIExpbnVzIFRvcnZhbGRzLiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQKKyAqIGFzIHBlciB0aGUgR05VIGNvcHlsZWZ0LgorICovCisKKy8qCisgKiAwOS4xMS45MSAgLSAgbWFkZSB0aGUgZmlyc3QgcnVkaW1lbnRhcnkgZnVuY3Rpb25zCisgKgorICogMTAuMTEuOTEgIC0gIHVwZGF0ZWQsIGRvZXMgY2hlY2tpbmcsIG5vIHJlcGFpcnMgeWV0LgorICoJCVNlbnQgb3V0IHRvIHRoZSBtYWlsaW5nLWxpc3QgZm9yIHRlc3RpbmcuCisgKgorICogMTQuMTEuOTEgIC0JVGVzdGluZyBzZWVtcyB0byBoYXZlIGdvbmUgd2VsbC4gQWRkZWQgc29tZQorICoJCWNvcnJlY3Rpb24tY29kZSwgYW5kIGNoYW5nZWQgc29tZSBmdW5jdGlvbnMuCisgKgorICogMTUuMTEuOTEgIC0gIE1vcmUgY29ycmVjdGlvbiBjb2RlLiBIb3BlZnVsbHkgaXQgbm90aWNlcyBtb3N0CisgKgkJY2FzZXMgbm93LCBhbmQgdHJpZXMgdG8gZG8gc29tZXRoaW5nIGFib3V0IHRoZW0uCisgKgorICogMTYuMTEuOTEgIC0gIE1vcmUgY29ycmVjdGlvbnMgKHRoYW5rcyB0byBNaWthIEphbGF2YSkuIE1vc3QKKyAqCQl0aGluZ3Mgc2VlbSB0byB3b3JrIG5vdy4gWWVhaCwgc3VyZS4KKyAqCisgKgorICogMTkuMDQuOTIgIC0JSGFkIHRvIHN0YXJ0IG92ZXIgYWdhaW4gZnJvbSB0aGlzIG9sZCB2ZXJzaW9uLCBhcyBhCisgKgkJa2VybmVsIGJ1ZyBhdGUgbXkgZW5oYW5jZWQgZnNjayBpbiBGZWJydWFyeS4KKyAqCisgKiAyOC4wMi45MyAgLQlhZGRlZCBzdXBwb3J0IGZvciBkaWZmZXJlbnQgZGlyZWN0b3J5IGVudHJ5IHNpemVzLi4KKyAqCisgKiBTYXQgTWFyICA2IDE4OjU5OjQyIDE5OTMsIGZhaXRoQGNzLnVuYy5lZHU6IE91dHB1dCBuYW1lbGVuIHdpdGgKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwZXItYmxvY2sgaW5mb3JtYXRpb24KKyAqCisgKiBTYXQgT2N0ICA5IDExOjE3OjExIDE5OTMsIGZhaXRoQGNzLnVuYy5lZHU6IG1ha2UgZXhpdCBzdGF0dXMgY29uZm9ybQorICogICAgICAgICAgICAgICAgICAgICAgICAgICB0byB0aGF0IHJlcXVpcmVkIGJ5IGZzdXRpbAorICoKKyAqIE1vbiBKYW4gIDMgMTE6MDY6NTIgMTk5NCAtIERyLiBXZXR0c3RlaW4gKGdyZWcld2luZC51dWNwQHBsYWlucy5ub2Rhay5lZHUpCisgKgkJCSAgICAgIEFkZGVkIHN1cHBvcnQgZm9yIGZpbGUgc3lzdGVtIHZhbGlkIGZsYWcuICBBbHNvCisgKgkJCSAgICAgIGFkZGVkIHByb2dyYW1fdmVyc2lvbiB2YXJpYWJsZSBhbmQgb3V0cHV0IG9mCisgKgkJCSAgICAgIHByb2dyYW0gbmFtZSBhbmQgdmVyc2lvbiBudW1iZXIgd2hlbiBwcm9ncmFtCisgKgkJCSAgICAgIGlzIGV4ZWN1dGVkLgorICoKKyAqIDMwLjEwLjk0IC0gYWRkZWQgc3VwcG9ydCBmb3IgdjIgZmlsZXN5c3RlbQorICogICAgICAgICAgICAoQW5kcmVhcyBTY2h3YWIsIHNjaHdhYkBpc3Nhbi5pbmZvcm1hdGlrLnVuaS1kb3J0bXVuZC5kZSkKKyAqCisgKiAxMC4xMi45NCAgLSAgYWRkZWQgdGVzdCB0byBwcmV2ZW50IGNoZWNraW5nIG9mIG1vdW50ZWQgZnMgYWRhcHRlZAorICogICAgICAgICAgICAgIGZyb20gVGhlb2RvcmUgVHMnbydzICh0eXRzb0BhdGhlbmEubWl0LmVkdSkgZTJmc2NrCisgKiAgICAgICAgICAgICAgcHJvZ3JhbS4gIChEYW5pZWwgUXVpbmxhbiwgcXVpbmxhbkB5Z2dkcmFzaWwuY29tKQorICoKKyAqIDAxLjA3Ljk2ICAtIEZpeGVkIHRoZSB2MiBmcyBzdHVmZiB0byB1c2UgdGhlIHJpZ2h0ICNkZWZpbmVzIGFuZCBzdWNoCisgKgkgICAgICAgZm9yIG1vZGVybiBsaWJjcyAoamFubEBtYXRoLnVpby5ubywgTmljb2xhaSBMYW5nZmVsZHQpCisgKgorICogMDIuMDcuOTYgIC0gQWRkZWQgQyBiaXQgZmlkZGxpbmcgcm91dGluZXMgZnJvbSBybWtAZWNzLnNvdG9uLmFjLnVrCisgKiAgICAgICAgICAgICAoUnVzc2VsbCBLaW5nKS4gIEhlIG1hZGUgdGhlbSBmb3IgQVJNLiAgSXQgd291bGQgc2VlbQorICoJICAgICAgIHRoYXQgdGhlIEFSTSBpcyBwb3dlcmZ1bCBlbm91Z2ggdG8gZG8gdGhpcyBpbiBDIHdoZXJlYXMKKyAqICAgICAgICAgICAgIGkzODYgYW5kIG02NGsgbXVzdCB1c2UgYXNzZW1ibHkgdG8gZ2V0IGl0IGZhc3QgPjotKQorICoJICAgICAgIFRoaXMgc2hvdWxkIG1ha2UgbWluaXggZnNjayBzeXN0ZW1pbmRlcGVuZGVudC4KKyAqCSAgICAgICAoamFubEBtYXRoLnVpby5ubywgTmljb2xhaSBMYW5nZmVsZHQpCisgKgorICogMDQuMTEuOTYgIC0gQWRkZWQgbWlub3IgZml4ZXMgZnJvbSBBbmRyZWFzIFNjaHdhYiB0byBhdm9pZCBjb21waWxlcgorICogICAgICAgICAgICAgd2FybmluZ3MuICBBZGRlZCBtYzY4ayBiaXRvcHMgZnJvbQorICoJICAgICAgIEpvZXJnIERvcmNoYWluIDxkb3JjaGFpbkBtcGktc2IubXBnLmRlPi4KKyAqCisgKiAwNi4xMS45NiAgLSBBZGRlZCB2MiBjb2RlIHN1Ym1pdHRlZCBieSBKb2VyZyBEb3JjaGFpbiwgYnV0IHdyaXR0ZW4gYnkKKyAqICAgICAgICAgICAgIEFuZHJlYXMgU2Nod2FiLgorICoKKyAqIDE5OTktMDItMjIgQXJrYWRpdXN6IE1pxZtraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4KKyAqIC0gYWRkZWQgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKKyAqCisgKiAyMDA4LTA0LTA2IEphbWVzIFlvdW5nbWFuIDxqYXlAZ251Lm9yZz4KKyAqIC0gSXNzdWUgYmV0dGVyIGVycm9yIG1lc3NhZ2UgaWYgd2UgZmFpbCB0byBvcGVuIHRoZSBkZXZpY2UuCisgKiAtIFJlc3RvcmUgdGVybWluYWwgc3RhdGUgaWYgd2UgZ2V0IGEgZmF0YWwgc2lnbmFsLgorICoKKyAqCisgKiBJJ3ZlIGhhZCBubyB0aW1lIHRvIGFkZCBjb21tZW50cyAtIGhvcGVmdWxseSB0aGUgZnVuY3Rpb24gbmFtZXMKKyAqIGFyZSBjb21tZW50cyBlbm91Z2guIEFzIHdpdGggYWxsIGZpbGUgc3lzdGVtIGNoZWNrZXJzLCB0aGlzIGFzc3VtZXMKKyAqIHRoZSBmaWxlIHN5c3RlbSBpcyBxdWllc2NlbnQgLSBkb24ndCB1c2UgaXQgb24gYSBtb3VudGVkIGRldmljZQorICogdW5sZXNzIHlvdSBjYW4gYmUgc3VyZSBub2JvZHkgaXMgd3JpdGluZyB0byBpdCAoYW5kIHJlbWVtYmVyIHRoYXQgdGhlCisgKiBrZXJuZWwgY2FuIHdyaXRlIHRvIGl0IHdoZW4gaXQgc2VhcmNoZXMgZm9yIGZpbGVzKS4KKyAqCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkYXJnLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dGVybWlvcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiZXhpdGNvZGVzLmgiCisjaW5jbHVkZSAibWluaXhfcHJvZ3JhbXMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJiaXRvcHMuaCIKKyNpbmNsdWRlICJpc21vdW50ZWQuaCIKKyNpbmNsdWRlICJhbGwtaW8uaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgInJwbWF0Y2guaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorCisjZGVmaW5lIFJPT1RfSU5PIDEKKyNkZWZpbmUgWUVTTk9fTEVOR1RIIDY0CisKKy8qIEdsb2JhbCB2YXJpYWJsZXMgdXNlZCBpbiBtaW5peF9wcm9ncmFtcy5oIGlubGluZSBmdW5jdGlvbnMgKi8KK2ludCBmc192ZXJzaW9uID0gMTsKK2NoYXIgKnN1cGVyX2Jsb2NrX2J1ZmZlcjsKKworc3RhdGljIGNoYXIgKmlub2RlX2J1ZmZlcjsKKworI2RlZmluZSBJbm9kZSAoKChzdHJ1Y3QgbWluaXhfaW5vZGUgKikgaW5vZGVfYnVmZmVyKSAtIDEpCisjZGVmaW5lIElub2RlMiAoKChzdHJ1Y3QgbWluaXgyX2lub2RlICopIGlub2RlX2J1ZmZlcikgLSAxKQorCitzdGF0aWMgY2hhciAqZGV2aWNlX25hbWU7CitzdGF0aWMgaW50IGRldmljZV9mZDsKK3N0YXRpYyBpbnQgcmVwYWlyLCBhdXRvbWF0aWMsIHZlcmJvc2UsIGxpc3QsIHNob3csIHdhcm5fbW9kZSwgZm9yY2U7CitzdGF0aWMgaW50IGRpcmVjdG9yeSwgcmVndWxhciwgYmxvY2tkZXYsIGNoYXJkZXYsIGxpbmtzLCBzeW1saW5rcywgdG90YWw7CisKK3N0YXRpYyBpbnQgY2hhbmdlZDsJCS8qIGZsYWdzIGlmIHRoZSBmaWxlc3lzdGVtIGhhcyBiZWVuIGNoYW5nZWQgKi8KK3N0YXRpYyBpbnQgZXJyb3JzX3VuY29ycmVjdGVkOwkvKiBmbGFnIGlmIHNvbWUgZXJyb3Igd2FzIG5vdCBjb3JyZWN0ZWQgKi8KK3N0YXRpYyBzaXplX3QgZGlyc2l6ZSA9IDE2Oworc3RhdGljIHNpemVfdCBuYW1lbGVuID0gMTQ7CitzdGF0aWMgc3RydWN0IHRlcm1pb3MgdGVybWlvczsKK3N0YXRpYyB2b2xhdGlsZSBzaWdfYXRvbWljX3QgdGVybWlvc19zZXQ7CisKKy8qIEZpbGUtbmFtZSBkYXRhICovCisjZGVmaW5lIE1BWF9ERVBUSCA1MAorc3RhdGljIGludCBuYW1lX2RlcHRoOworc3RhdGljIGNoYXIgbmFtZV9saXN0W01BWF9ERVBUSF1bTUlOSVhfTkFNRV9NQVggKyAxXTsKKworLyogQ29weSBvZiB0aGUgcHJldmlvdXMsIGp1c3QgZm9yIGVycm9yIHJlcG9ydGluZyAtIHNlZSBnZXRfY3VycmVudF9uYW1lLiAgVGhpcworICogaXMgYSB3YXN0ZSBvZiAxMmtCIG9yIHNvLiAgKi8KK3N0YXRpYyBjaGFyIGN1cnJlbnRfbmFtZVtNQVhfREVQVEggKiAoTUlOSVhfTkFNRV9NQVggKyAxKSArIDFdOworCitzdGF0aWMgdW5zaWduZWQgY2hhciAqaW5vZGVfY291bnQgPSBOVUxMOworc3RhdGljIHVuc2lnbmVkIGNoYXIgKnpvbmVfY291bnQgPSBOVUxMOworCitzdGF0aWMgdm9pZCByZWN1cnNpdmVfY2hlY2sodW5zaWduZWQgaW50IGlubyk7CitzdGF0aWMgdm9pZCByZWN1cnNpdmVfY2hlY2syKHVuc2lnbmVkIGludCBpbm8pOworCitzdGF0aWMgY2hhciAqaW5vZGVfbWFwOworc3RhdGljIGNoYXIgKnpvbmVfbWFwOworCisjZGVmaW5lIGlub2RlX2luX3VzZSh4KSAoaXNzZXQoaW5vZGVfbWFwLCh4KSkgIT0gMCkKKyNkZWZpbmUgem9uZV9pbl91c2UoeCkgKGlzc2V0KHpvbmVfbWFwLCh4KS1nZXRfZmlyc3Rfem9uZSgpKzEpICE9IDApCisKKyNkZWZpbmUgbWFya19pbm9kZSh4KSAoc2V0Yml0KGlub2RlX21hcCwoeCkpLGNoYW5nZWQ9MSkKKyNkZWZpbmUgdW5tYXJrX2lub2RlKHgpIChjbHJiaXQoaW5vZGVfbWFwLCh4KSksY2hhbmdlZD0xKQorCisjZGVmaW5lIG1hcmtfem9uZSh4KSAoc2V0Yml0KHpvbmVfbWFwLCh4KS1nZXRfZmlyc3Rfem9uZSgpKzEpLGNoYW5nZWQ9MSkKKyNkZWZpbmUgdW5tYXJrX3pvbmUoeCkgKGNscmJpdCh6b25lX21hcCwoeCktZ2V0X2ZpcnN0X3pvbmUoKSsxKSxjaGFuZ2VkPTEpCisKK3N0YXRpYyB2b2lkCityZXNldCh2b2lkKSB7CisJaWYgKHRlcm1pb3Nfc2V0KQorCQl0Y3NldGF0dHIoU1RESU5fRklMRU5PLCBUQ1NBTk9XLCAmdGVybWlvcyk7Cit9CisKK3N0YXRpYyB2b2lkCitmYXRhbHNpZyhpbnQgc2lnKSB7CisJLyogV2UgcmVjZWl2ZWQgYSBmYXRhbCBzaWduYWwuICBSZXNldCB0aGUgdGVybWluYWwuICBBbHNvIHJlc2V0IHRoZQorCSAqIHNpZ25hbCBoYW5kbGVyIGFuZCByZS1zZW5kIHRoZSBzaWduYWwsIHNvIHRoYXQgdGhlIHBhcmVudCBwcm9jZXNzCisJICoga25vd3Mgd2hpY2ggc2lnbmFsIGFjdHVhbGx5IGNhdXNlZCBvdXIgZGVhdGguICAqLworCXNpZ25hbChzaWcsIFNJR19ERkwpOworCXJlc2V0KCk7CisJcmFpc2Uoc2lnKTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkKK2xlYXZlKGludCBzdGF0dXMpIHsKKwlyZXNldCgpOworCWV4aXQoc3RhdHVzKTsKK30KKworc3RhdGljIHZvaWQKK3VzYWdlKEZJTEUgKm91dCkgeworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygiICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiQ2hlY2sgdGhlIGNvbnNpc3RlbmN5IG9mIGEgTWluaXggZmlsZXN5c3RlbS5cbiIpLCBvdXQpOworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1sLCAtLWxpc3QgICAgICAgbGlzdCBhbGwgZmlsZW5hbWVzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWEsIC0tYXV0byAgICAgICBhdXRvbWF0aWMgcmVwYWlyXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXIsIC0tcmVwYWlyICAgICBpbnRlcmFjdGl2ZSByZXBhaXJcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdiwgLS12ZXJib3NlICAgIGJlIHZlcmJvc2VcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcywgLS1zdXBlciAgICAgIG91dHB1dCBzdXBlci1ibG9jayBpbmZvcm1hdGlvblxuIiksIG91dCk7CisJZnB1dHMoXygiIC1tLCAtLXVuY2xlYXJlZCAgYWN0aXZhdGUgbW9kZSBub3QgY2xlYXJlZCB3YXJuaW5nc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1mLCAtLWZvcmNlICAgICAgZm9yY2UgY2hlY2tcbiIpLCBvdXQpOworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dCk7CisJZnByaW50ZihvdXQsIFVTQUdFX01BTl9UQUlMKCJmc2NrLm1pbml4KDgpIikpOworCWxlYXZlKG91dCA9PSBzdGRlcnIgPyBGU0NLX0VYX1VTQUdFIDogRlNDS19FWF9PSyk7Cit9CisKK3N0YXRpYyB2b2lkIGRpZShjb25zdCBjaGFyICpmbXQsIC4uLikKKyAgICBfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyhfX3ByaW50Zl9fLCAxLCAyKSkpOworCitzdGF0aWMgdm9pZAorZGllKGNvbnN0IGNoYXIgKmZtdCwgLi4uKSB7CisJdmFfbGlzdCBhcDsKKworCWZwcmludGYoc3RkZXJyLCBVVElMX0xJTlVYX1ZFUlNJT04pOworCXZhX3N0YXJ0KGFwLCBmbXQpOworCXZmcHJpbnRmKHN0ZGVyciwgZm10LCBhcCk7CisJdmFfZW5kKGFwKTsKKwlmcHV0YygnXG4nLCBzdGRlcnIpOworCWxlYXZlKEZTQ0tfRVhfRVJST1IpOworfQorCisvKiBUaGlzIHNpbXBseSBnb2VzIHRocm91Z2ggdGhlIGZpbGUtbmFtZSBkYXRhIGFuZCBwcmludHMgb3V0IHRoZSBjdXJyZW50IGZpbGUuICAqLworc3RhdGljIHZvaWQKK2dldF9jdXJyZW50X25hbWUodm9pZCkgeworCWludCBpID0gMCwgY3Q7CisJY2hhciAqcCwgKnE7CisKKwlxID0gY3VycmVudF9uYW1lOworCXdoaWxlIChpIDwgbmFtZV9kZXB0aCkgeworCQlwID0gbmFtZV9saXN0W2krK107CisJCWN0ID0gbmFtZWxlbjsKKwkJKnErKyA9ICcvJzsKKwkJd2hpbGUgKGN0LS0gJiYgKnApCisJCQkqcSsrID0gKnArKzsKKwl9CisJaWYgKGkgPT0gMCkKKwkJKnErKyA9ICcvJzsKKwkqcSA9IDA7Cit9CisKK3N0YXRpYyBpbnQKK2Fzayhjb25zdCBjaGFyICpzdHJpbmcsIGludCBkZWYpIHsKKwlpbnQgcmVzcDsKKwljaGFyIGlucHV0W1lFU05PX0xFTkdUSF07CisKKwlpZiAoIXJlcGFpcikgeworCQlwcmludGYoIlxuIik7CisJCWVycm9yc191bmNvcnJlY3RlZCA9IDE7CisJCXJldHVybiAwOworCX0KKwlpZiAoYXV0b21hdGljKSB7CisJCXByaW50ZigiXG4iKTsKKwkJaWYgKCFkZWYpCisJCQllcnJvcnNfdW5jb3JyZWN0ZWQgPSAxOworCQlyZXR1cm4gZGVmOworCX0KKwkvKiBUUkFOU0xBVE9SUzogdGhlc2UgeWVzIG5vIHF1ZXN0aW9ucyB1c2VzIHJwbWF0Y2goKSwgYW5kIHNob3VsZCBiZQorCSAqIHRyYW5zbGF0ZWQuICAqLworCXByaW50ZihkZWYgPyBfKCIlcyAoeS9uKT8gIikgOiBfKCIlcyAobi95KT8gIiksIHN0cmluZyk7CisJZmZsdXNoKHN0ZG91dCk7CisJaWdub3JlX3Jlc3VsdCggZmdldHMoaW5wdXQsIFlFU05PX0xFTkdUSCwgc3RkaW4pICk7CisJcmVzcCA9IHJwbWF0Y2goaW5wdXQpOworCXN3aXRjaCAocmVzcCkgeworCWNhc2UgUlBNQVRDSF9JTlZBTElEOgorCQkvKiBkZWYgPSBkZWYgKi8KKwkJYnJlYWs7CisJY2FzZSBSUE1BVENIX05POgorCWNhc2UgUlBNQVRDSF9ZRVM6CisJCWRlZiA9IHJlc3A7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCS8qIHJwbWF0Y2ggYnVnPyAqLworCQlhYm9ydCgpOworCX0KKwlpZiAoZGVmKQorCQlwcmludGYoXygieVxuIikpOworCWVsc2UgeworCQlwcmludGYoXygiblxuIikpOworCQllcnJvcnNfdW5jb3JyZWN0ZWQgPSAxOworCX0KKwlyZXR1cm4gZGVmOworfQorCisvKiBNYWtlIGNlcnRhaW4gdGhhdCB3ZSBhcmVuJ3QgY2hlY2tpbmcgYSBmaWxlc3lzdGVtIHRoYXQgaXMgb24gYSBtb3VudGVkCisgKiBwYXJ0aXRpb24uICBDb2RlIGFkYXB0ZWQgZnJvbSBlMmZzY2ssIENvcHlyaWdodCAoQykgMTk5MywgMTk5NCBUaGVvZG9yZQorICogVHMnby4gIEFsc28gbGljZW5zZWQgdW5kZXIgR1BMLiAgKi8KK3N0YXRpYyB2b2lkCitjaGVja19tb3VudCh2b2lkKSB7CisJaW50IGNvbnQ7CisKKwlpZiAoIWlzX21vdW50ZWQoZGV2aWNlX25hbWUpKQorCQlyZXR1cm47CisKKwlwcmludGYoXygiJXMgaXMgbW91bnRlZC4JICIpLCBkZXZpY2VfbmFtZSk7CisJaWYgKGlzYXR0eShTVERJTl9GSUxFTk8pICYmIGlzYXR0eShTVERPVVRfRklMRU5PKSkKKwkJY29udCA9IGFzayhfKCJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gY29udGludWUiKSwgMCk7CisJZWxzZQorCQljb250ID0gMDsKKwlpZiAoIWNvbnQpIHsKKwkJcHJpbnRmKF8oImNoZWNrIGFib3J0ZWQuXG4iKSk7CisJCWV4aXQoRlNDS19FWF9PSyk7CisJfQorCXJldHVybjsKK30KKworCitzdGF0aWMgaW50IGlzX3ZhbGlkX3pvbmVfbnIodW5zaWduZWQgc2hvcnQgbnIpCit7CisJaWYgKG5yIDwgZ2V0X2ZpcnN0X3pvbmUoKSkKKwkJcmV0dXJuIDA7CisJZWxzZSBpZiAobnIgPj0gZ2V0X256b25lcygpKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gMTsKK30KKworLyogY2hlY2tfem9uZV9uciBjaGVja3MgdG8gc2VlIHRoYXQgKm5yIGlzIGEgdmFsaWQgem9uZSBuci4gIElmIGl0IGlzbid0LCBpdAorICogd2lsbCBwb3NzaWJseSBiZSByZXBhaXJlZC4gIENoZWNrX3pvbmVfbnIgc2V0cyAqY29ycmVjdGVkIGlmIGFuIGVycm9yIHdhcworICogY29ycmVjdGVkLCBhbmQgcmV0dXJucyB0aGUgem9uZSAoMCBmb3Igbm8gem9uZSBvciBhIGJhZCB6b25lLW51bWJlcikuICAqLworc3RhdGljIGludAorY2hlY2tfem9uZV9ucih1bnNpZ25lZCBzaG9ydCAqbnIsIGludCAqY29ycmVjdGVkKSB7CisJaWYgKCEqbnIpCisJCXJldHVybiAwOworCisJaWYgKCpuciA8IGdldF9maXJzdF96b25lKCkpIHsKKwkJZ2V0X2N1cnJlbnRfbmFtZSgpOworCQlwcmludGYoXygiWm9uZSBuciA8IEZJUlNUWk9ORSBpbiBmaWxlIGAlcycuIiksIGN1cnJlbnRfbmFtZSk7CisJfSBlbHNlIGlmICgqbnIgPj0gZ2V0X256b25lcygpKSB7CisJCWdldF9jdXJyZW50X25hbWUoKTsKKwkJcHJpbnRmKF8oIlpvbmUgbnIgPj0gWk9ORVMgaW4gZmlsZSBgJXMnLiIpLCBjdXJyZW50X25hbWUpOworCX0gZWxzZQorCQlyZXR1cm4gKm5yOworCisJaWYgKGFzayhfKCJSZW1vdmUgYmxvY2siKSwgMSkpIHsKKwkJKm5yID0gMDsKKwkJKmNvcnJlY3RlZCA9IDE7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50CitjaGVja196b25lX25yMih1bnNpZ25lZCBpbnQgKm5yLCBpbnQgKmNvcnJlY3RlZCkgeworCWlmICghKm5yKQorCQlyZXR1cm4gMDsKKworCWlmICgqbnIgPCBnZXRfZmlyc3Rfem9uZSgpKSB7CisJCWdldF9jdXJyZW50X25hbWUoKTsKKwkJcHJpbnRmKF8oIlpvbmUgbnIgPCBGSVJTVFpPTkUgaW4gZmlsZSBgJXMnLiIpLCBjdXJyZW50X25hbWUpOworCX0gZWxzZSBpZiAoKm5yID49IGdldF9uem9uZXMoKSkgeworCQlnZXRfY3VycmVudF9uYW1lKCk7CisJCXByaW50ZihfKCJab25lIG5yID49IFpPTkVTIGluIGZpbGUgYCVzJy4iKSwgY3VycmVudF9uYW1lKTsKKwl9IGVsc2UKKwkJcmV0dXJuICpucjsKKworCWlmIChhc2soXygiUmVtb3ZlIGJsb2NrIiksIDEpKSB7CisJCSpuciA9IDA7CisJCSpjb3JyZWN0ZWQgPSAxOworCX0KKwlyZXR1cm4gMDsKK30KKworLyogcmVhZC1ibG9jayByZWFkcyBibG9jayBuciBpbnRvIHRoZSBidWZmZXIgYXQgYWRkci4gICovCitzdGF0aWMgdm9pZAorcmVhZF9ibG9jayh1bnNpZ25lZCBpbnQgbnIsIGNoYXIgKmFkZHIpIHsKKwlpZiAoIW5yKSB7CisJCW1lbXNldChhZGRyLCAwLCBNSU5JWF9CTE9DS19TSVpFKTsKKwkJcmV0dXJuOworCX0KKwlpZiAoTUlOSVhfQkxPQ0tfU0laRSAqIG5yICE9IGxzZWVrKGRldmljZV9mZCwgTUlOSVhfQkxPQ0tfU0laRSAqIG5yLCBTRUVLX1NFVCkpIHsKKwkJZ2V0X2N1cnJlbnRfbmFtZSgpOworCQlwcmludGYoXygiUmVhZCBlcnJvcjogdW5hYmxlIHRvIHNlZWsgdG8gYmxvY2sgaW4gZmlsZSAnJXMnXG4iKSwKKwkJICAgICAgIGN1cnJlbnRfbmFtZSk7CisJCW1lbXNldChhZGRyLCAwLCBNSU5JWF9CTE9DS19TSVpFKTsKKwkJZXJyb3JzX3VuY29ycmVjdGVkID0gMTsKKwl9IGVsc2UgaWYgKE1JTklYX0JMT0NLX1NJWkUgIT0gcmVhZChkZXZpY2VfZmQsIGFkZHIsIE1JTklYX0JMT0NLX1NJWkUpKSB7CisJCWdldF9jdXJyZW50X25hbWUoKTsKKwkJcHJpbnRmKF8oIlJlYWQgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIpLCBjdXJyZW50X25hbWUpOworCQltZW1zZXQoYWRkciwgMCwgTUlOSVhfQkxPQ0tfU0laRSk7CisJCWVycm9yc191bmNvcnJlY3RlZCA9IDE7CisJfQorfQorCisvKiB3cml0ZV9ibG9jayB3cml0ZXMgYmxvY2sgbnIgdG8gZGlzay4gICovCitzdGF0aWMgdm9pZAord3JpdGVfYmxvY2sodW5zaWduZWQgaW50IG5yLCBjaGFyICphZGRyKSB7CisJaWYgKCFucikKKwkJcmV0dXJuOworCWlmIChuciA8IGdldF9maXJzdF96b25lKCkgfHwgbnIgPj0gZ2V0X256b25lcygpKSB7CisJCXByaW50ZihfKCJJbnRlcm5hbCBlcnJvcjogdHJ5aW5nIHRvIHdyaXRlIGJhZCBibG9ja1xuIgorCQkJICJXcml0ZSByZXF1ZXN0IGlnbm9yZWRcbiIpKTsKKwkJZXJyb3JzX3VuY29ycmVjdGVkID0gMTsKKwkJcmV0dXJuOworCX0KKwlpZiAoTUlOSVhfQkxPQ0tfU0laRSAqIG5yICE9IGxzZWVrKGRldmljZV9mZCwgTUlOSVhfQkxPQ0tfU0laRSAqIG5yLCBTRUVLX1NFVCkpCisJCWRpZShfKCJzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIpKTsKKwlpZiAoTUlOSVhfQkxPQ0tfU0laRSAhPSB3cml0ZShkZXZpY2VfZmQsIGFkZHIsIE1JTklYX0JMT0NLX1NJWkUpKSB7CisJCWdldF9jdXJyZW50X25hbWUoKTsKKwkJcHJpbnRmKF8oIldyaXRlIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iKSwKKwkJICAgICAgIGN1cnJlbnRfbmFtZSk7CisJCWVycm9yc191bmNvcnJlY3RlZCA9IDE7CisJfQorfQorCisvKiBtYXAtYmxvY2sgY2FsY3VsYXRlcyB0aGUgYWJzb2x1dGUgYmxvY2sgbnIgb2YgYSBibG9jayBpbiBhIGZpbGUuICBJdCBzZXRzCisgKiAnY2hhbmdlZCcgaWYgdGhlIGlub2RlIGhhcyBuZWVkZWQgY2hhbmdpbmcsIGFuZCByZS13cml0ZXMgYW55IGluZGlyZWN0CisgKiBibG9ja3Mgd2l0aCBlcnJvcnMuICAqLworc3RhdGljIGludAorbWFwX2Jsb2NrKHN0cnVjdCBtaW5peF9pbm9kZSAqaW5vZGUsIHVuc2lnbmVkIGludCBibGtucikgeworCXVuc2lnbmVkIHNob3J0IGluZFtNSU5JWF9CTE9DS19TSVpFID4+IDFdOworCXVuc2lnbmVkIHNob3J0IGRpbmRbTUlOSVhfQkxPQ0tfU0laRSA+PiAxXTsKKwlpbnQgYmxrX2NoZywgYmxvY2ssIHJlc3VsdDsKKworCWlmIChibGtuciA8IDcpCisJCXJldHVybiBjaGVja196b25lX25yKGlub2RlLT5pX3pvbmUgKyBibGtuciwgJmNoYW5nZWQpOworCWJsa25yIC09IDc7CisJaWYgKGJsa25yIDwgNTEyKSB7CisJCWJsb2NrID0gY2hlY2tfem9uZV9ucihpbm9kZS0+aV96b25lICsgNywgJmNoYW5nZWQpOworCQlyZWFkX2Jsb2NrKGJsb2NrLCAoY2hhciAqKWluZCk7CisJCWJsa19jaGcgPSAwOworCQlyZXN1bHQgPSBjaGVja196b25lX25yKGJsa25yICsgaW5kLCAmYmxrX2NoZyk7CisJCWlmIChibGtfY2hnKQorCQkJd3JpdGVfYmxvY2soYmxvY2ssIChjaGFyICopaW5kKTsKKwkJcmV0dXJuIHJlc3VsdDsKKwl9CisJYmxrbnIgLT0gNTEyOworCWJsb2NrID0gY2hlY2tfem9uZV9ucihpbm9kZS0+aV96b25lICsgOCwgJmNoYW5nZWQpOworCXJlYWRfYmxvY2soYmxvY2ssIChjaGFyICopZGluZCk7CisJYmxrX2NoZyA9IDA7CisJcmVzdWx0ID0gY2hlY2tfem9uZV9ucihkaW5kICsgKGJsa25yIC8gNTEyKSwgJmJsa19jaGcpOworCWlmIChibGtfY2hnKQorCQl3cml0ZV9ibG9jayhibG9jaywgKGNoYXIgKilkaW5kKTsKKwlibG9jayA9IHJlc3VsdDsKKwlyZWFkX2Jsb2NrKGJsb2NrLCAoY2hhciAqKWluZCk7CisJYmxrX2NoZyA9IDA7CisJcmVzdWx0ID0gY2hlY2tfem9uZV9ucihpbmQgKyAoYmxrbnIgJSA1MTIpLCAmYmxrX2NoZyk7CisJaWYgKGJsa19jaGcpCisJCXdyaXRlX2Jsb2NrKGJsb2NrLCAoY2hhciAqKWluZCk7CisJcmV0dXJuIHJlc3VsdDsKK30KKworc3RhdGljIGludAorbWFwX2Jsb2NrMihzdHJ1Y3QgbWluaXgyX2lub2RlICppbm9kZSwgdW5zaWduZWQgaW50IGJsa25yKSB7CisJdW5zaWduZWQgaW50IGluZFtNSU5JWF9CTE9DS19TSVpFID4+IDJdOworCXVuc2lnbmVkIGludCBkaW5kW01JTklYX0JMT0NLX1NJWkUgPj4gMl07CisJdW5zaWduZWQgaW50IHRpbmRbTUlOSVhfQkxPQ0tfU0laRSA+PiAyXTsKKwlpbnQgYmxrX2NoZywgYmxvY2ssIHJlc3VsdDsKKworCWlmIChibGtuciA8IDcpCisJCXJldHVybiBjaGVja196b25lX25yMihpbm9kZS0+aV96b25lICsgYmxrbnIsICZjaGFuZ2VkKTsKKwlibGtuciAtPSA3OworCWlmIChibGtuciA8IDI1NikgeworCQlibG9jayA9IGNoZWNrX3pvbmVfbnIyKGlub2RlLT5pX3pvbmUgKyA3LCAmY2hhbmdlZCk7CisJCXJlYWRfYmxvY2soYmxvY2ssIChjaGFyICopaW5kKTsKKwkJYmxrX2NoZyA9IDA7CisJCXJlc3VsdCA9IGNoZWNrX3pvbmVfbnIyKGJsa25yICsgaW5kLCAmYmxrX2NoZyk7CisJCWlmIChibGtfY2hnKQorCQkJd3JpdGVfYmxvY2soYmxvY2ssIChjaGFyICopaW5kKTsKKwkJcmV0dXJuIHJlc3VsdDsKKwl9CisJYmxrbnIgLT0gMjU2OworCWlmIChibGtuciA8IDI1NiAqIDI1NikgeworCQlibG9jayA9IGNoZWNrX3pvbmVfbnIyKGlub2RlLT5pX3pvbmUgKyA4LCAmY2hhbmdlZCk7CisJCXJlYWRfYmxvY2soYmxvY2ssIChjaGFyICopZGluZCk7CisJCWJsa19jaGcgPSAwOworCQlyZXN1bHQgPSBjaGVja196b25lX25yMihkaW5kICsgYmxrbnIgLyAyNTYsICZibGtfY2hnKTsKKwkJaWYgKGJsa19jaGcpCisJCQl3cml0ZV9ibG9jayhibG9jaywgKGNoYXIgKilkaW5kKTsKKwkJYmxvY2sgPSByZXN1bHQ7CisJCXJlYWRfYmxvY2soYmxvY2ssIChjaGFyICopaW5kKTsKKwkJYmxrX2NoZyA9IDA7CisJCXJlc3VsdCA9IGNoZWNrX3pvbmVfbnIyKGluZCArIGJsa25yICUgMjU2LCAmYmxrX2NoZyk7CisJCWlmIChibGtfY2hnKQorCQkJd3JpdGVfYmxvY2soYmxvY2ssIChjaGFyICopaW5kKTsKKwkJcmV0dXJuIHJlc3VsdDsKKwl9CisJYmxrbnIgLT0gMjU2ICogMjU2OworCWJsb2NrID0gY2hlY2tfem9uZV9ucjIoaW5vZGUtPmlfem9uZSArIDksICZjaGFuZ2VkKTsKKwlyZWFkX2Jsb2NrKGJsb2NrLCAoY2hhciAqKXRpbmQpOworCWJsa19jaGcgPSAwOworCXJlc3VsdCA9IGNoZWNrX3pvbmVfbnIyKHRpbmQgKyBibGtuciAvICgyNTYgKiAyNTYpLCAmYmxrX2NoZyk7CisJaWYgKGJsa19jaGcpCisJCXdyaXRlX2Jsb2NrKGJsb2NrLCAoY2hhciAqKXRpbmQpOworCWJsb2NrID0gcmVzdWx0OworCXJlYWRfYmxvY2soYmxvY2ssIChjaGFyICopZGluZCk7CisJYmxrX2NoZyA9IDA7CisJcmVzdWx0ID0gY2hlY2tfem9uZV9ucjIoZGluZCArIChibGtuciAvIDI1NikgJSAyNTYsICZibGtfY2hnKTsKKwlpZiAoYmxrX2NoZykKKwkJd3JpdGVfYmxvY2soYmxvY2ssIChjaGFyICopZGluZCk7CisJYmxvY2sgPSByZXN1bHQ7CisJcmVhZF9ibG9jayhibG9jaywgKGNoYXIgKilpbmQpOworCWJsa19jaGcgPSAwOworCXJlc3VsdCA9IGNoZWNrX3pvbmVfbnIyKGluZCArIGJsa25yICUgMjU2LCAmYmxrX2NoZyk7CisJaWYgKGJsa19jaGcpCisJCXdyaXRlX2Jsb2NrKGJsb2NrLCAoY2hhciAqKWluZCk7CisJcmV0dXJuIHJlc3VsdDsKK30KKworc3RhdGljIHZvaWQKK3dyaXRlX3N1cGVyX2Jsb2NrKHZvaWQpIHsKKwkvKiB2MyBzdXBlciBibG9jayBkb2VzIG5vdCB0cmFjayBzdGF0ZSAqLworCWlmIChmc192ZXJzaW9uID09IDMpCisJCXJldHVybjsKKwkvKiBTZXQgdGhlIHN0YXRlIG9mIHRoZSBmaWxlc3lzdGVtIGJhc2VkIG9uIHdoZXRoZXIgb3Igbm90IHRoZXJlIGFyZQorCSAqIHVuY29ycmVjdGVkIGVycm9ycy4gIFRoZSBmaWxlc3lzdGVtIHZhbGlkIGZsYWcgaXMgdW5jb25kaXRpb25hbGx5CisJICogc2V0IGlmIHdlIGdldCB0aGlzIGZhci4gICovCisJU3VwZXIuc19zdGF0ZSB8PSBNSU5JWF9WQUxJRF9GUzsKKwlpZiAoZXJyb3JzX3VuY29ycmVjdGVkKQorCQlTdXBlci5zX3N0YXRlIHw9IE1JTklYX0VSUk9SX0ZTOworCWVsc2UKKwkJU3VwZXIuc19zdGF0ZSAmPSB+TUlOSVhfRVJST1JfRlM7CisKKwlpZiAoTUlOSVhfQkxPQ0tfU0laRSAhPSBsc2VlayhkZXZpY2VfZmQsIE1JTklYX0JMT0NLX1NJWkUsIFNFRUtfU0VUKSkKKwkJZGllKF8oInNlZWsgZmFpbGVkIGluIHdyaXRlX3N1cGVyX2Jsb2NrIikpOworCWlmIChNSU5JWF9CTE9DS19TSVpFICE9IHdyaXRlKGRldmljZV9mZCwgc3VwZXJfYmxvY2tfYnVmZmVyLCBNSU5JWF9CTE9DS19TSVpFKSkKKwkJZGllKF8oInVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIpKTsKKwlyZXR1cm47Cit9CisKK3N0YXRpYyB2b2lkCit3cml0ZV90YWJsZXModm9pZCkgeworCXVuc2lnbmVkIGxvbmcgYnVmZnN6ID0gZ2V0X2lub2RlX2J1ZmZlcl9zaXplKCk7CisJdW5zaWduZWQgbG9uZyBpbWFwcyA9IGdldF9uaW1hcHMoKTsKKwl1bnNpZ25lZCBsb25nIHptYXBzID0gZ2V0X256bWFwcygpOworCisJd3JpdGVfc3VwZXJfYmxvY2soKTsKKworCWlmICh3cml0ZV9hbGwoZGV2aWNlX2ZkLCBpbm9kZV9tYXAsIGltYXBzICogTUlOSVhfQkxPQ0tfU0laRSkpCisJCWRpZShfKCJVbmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIikpOworCisJaWYgKHdyaXRlX2FsbChkZXZpY2VfZmQsIHpvbmVfbWFwLCB6bWFwcyAqIE1JTklYX0JMT0NLX1NJWkUpKQorCQlkaWUoXygiVW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIikpOworCisJaWYgKHdyaXRlX2FsbChkZXZpY2VfZmQsIGlub2RlX2J1ZmZlciwgYnVmZnN6KSkKKwkJZGllKF8oIlVuYWJsZSB0byB3cml0ZSBpbm9kZXMiKSk7Cit9CisKK3N0YXRpYyB2b2lkCitnZXRfZGlyc2l6ZSh2b2lkKSB7CisJaW50IGJsb2NrOworCWNoYXIgYmxrW01JTklYX0JMT0NLX1NJWkVdOworCXNpemVfdCBzaXplOworCisJaWYgKGZzX3ZlcnNpb24gPT0gMiB8fCBmc192ZXJzaW9uID09IDMpCisJCWJsb2NrID0gSW5vZGUyW1JPT1RfSU5PXS5pX3pvbmVbMF07CisJZWxzZQorCQlibG9jayA9IElub2RlW1JPT1RfSU5PXS5pX3pvbmVbMF07CisJcmVhZF9ibG9jayhibG9jaywgYmxrKTsKKworCWZvciAoc2l6ZSA9IDE2OyBzaXplIDwgTUlOSVhfQkxPQ0tfU0laRTsgc2l6ZSA8PD0gMSkgeworCQlpZiAoc3RyY21wKGJsayArIHNpemUgKyAyLCAiLi4iKSA9PSAwKSB7CisJCQlkaXJzaXplID0gc2l6ZTsKKwkJCW5hbWVsZW4gPSBzaXplIC0gMjsKKwkJCXJldHVybjsKKwkJfQorCX0KKwkvKiB1c2UgZGVmYXVsdHMgKi8KK30KKworc3RhdGljIHZvaWQKK3JlYWRfc3VwZXJibG9jayh2b2lkKSB7CisJaWYgKE1JTklYX0JMT0NLX1NJWkUgIT0gbHNlZWsoZGV2aWNlX2ZkLCBNSU5JWF9CTE9DS19TSVpFLCBTRUVLX1NFVCkpCisJCWRpZShfKCJzZWVrIGZhaWxlZCIpKTsKKworCXN1cGVyX2Jsb2NrX2J1ZmZlciA9IGNhbGxvYygxLCBNSU5JWF9CTE9DS19TSVpFKTsKKwlpZiAoIXN1cGVyX2Jsb2NrX2J1ZmZlcikKKwkJZGllKF8oInVuYWJsZSB0byBhbGxvYyBidWZmZXIgZm9yIHN1cGVyYmxvY2siKSk7CisKKwlpZiAoTUlOSVhfQkxPQ0tfU0laRSAhPSByZWFkKGRldmljZV9mZCwgc3VwZXJfYmxvY2tfYnVmZmVyLCBNSU5JWF9CTE9DS19TSVpFKSkKKwkJZGllKF8oInVuYWJsZSB0byByZWFkIHN1cGVyIGJsb2NrIikpOworCWlmIChTdXBlci5zX21hZ2ljID09IE1JTklYX1NVUEVSX01BR0lDKSB7CisJCW5hbWVsZW4gPSAxNDsKKwkJZGlyc2l6ZSA9IDE2OworCQlmc192ZXJzaW9uID0gMTsKKwl9IGVsc2UgaWYgKFN1cGVyLnNfbWFnaWMgPT0gTUlOSVhfU1VQRVJfTUFHSUMyKSB7CisJCW5hbWVsZW4gPSAzMDsKKwkJZGlyc2l6ZSA9IDMyOworCQlmc192ZXJzaW9uID0gMTsKKwl9IGVsc2UgaWYgKFN1cGVyLnNfbWFnaWMgPT0gTUlOSVgyX1NVUEVSX01BR0lDKSB7CisJCW5hbWVsZW4gPSAxNDsKKwkJZGlyc2l6ZSA9IDE2OworCQlmc192ZXJzaW9uID0gMjsKKwl9IGVsc2UgaWYgKFN1cGVyLnNfbWFnaWMgPT0gTUlOSVgyX1NVUEVSX01BR0lDMikgeworCQluYW1lbGVuID0gMzA7CisJCWRpcnNpemUgPSAzMjsKKwkJZnNfdmVyc2lvbiA9IDI7CisJfSBlbHNlIGlmIChTdXBlcjMuc19tYWdpYyA9PSBNSU5JWDNfU1VQRVJfTUFHSUMpIHsKKwkJbmFtZWxlbiA9IDYwOworCQlkaXJzaXplID0gNjQ7CisJCWZzX3ZlcnNpb24gPSAzOworCX0gZWxzZQorCQlkaWUoXygiYmFkIG1hZ2ljIG51bWJlciBpbiBzdXBlci1ibG9jayIpKTsKKwlpZiAoZ2V0X3pvbmVfc2l6ZSgpICE9IDAgfHwgTUlOSVhfQkxPQ0tfU0laRSAhPSAxMDI0KQorCQlkaWUoXygiT25seSAxayBibG9ja3Mvem9uZXMgc3VwcG9ydGVkIikpOworCWlmIChnZXRfbmlub2RlcygpID09IDAgfHwgZ2V0X25pbm9kZXMoKSA9PSBVSU5UMzJfTUFYKQorCQlkaWUoXygiYmFkIHNfbmlub2RlcyBmaWVsZCBpbiBzdXBlci1ibG9jayIpKTsKKwlpZiAoZ2V0X25pbWFwcygpICogTUlOSVhfQkxPQ0tfU0laRSAqIDggPCBnZXRfbmlub2RlcygpICsgMSkKKwkJZGllKF8oImJhZCBzX2ltYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIikpOworCWlmIChnZXRfZmlyc3Rfem9uZSgpID4gKG9mZl90KSBnZXRfbnpvbmVzKCkpCisJCWRpZShfKCJiYWQgc19maXJzdGRhdGF6b25lIGZpZWxkIGluIHN1cGVyLWJsb2NrIikpOworCWlmIChnZXRfbnptYXBzKCkgKiBNSU5JWF9CTE9DS19TSVpFICogOCA8CisJICAgIGdldF9uem9uZXMoKSAtIGdldF9maXJzdF96b25lKCkgKyAxKQorCQlkaWUoXygiYmFkIHNfem1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siKSk7Cit9CisKK3N0YXRpYyB2b2lkCityZWFkX3RhYmxlcyh2b2lkKSB7CisJdW5zaWduZWQgbG9uZyBpbm9kZXMgPSBnZXRfbmlub2RlcygpOworCXNpemVfdCBidWZmc3ogPSBnZXRfaW5vZGVfYnVmZmVyX3NpemUoKTsKKwlvZmZfdCBub3JtX2ZpcnN0X3pvbmUgPSBmaXJzdF96b25lX2RhdGEoKTsKKwlvZmZfdCBmaXJzdF96b25lID0gZ2V0X2ZpcnN0X3pvbmUoKTsKKwl1bnNpZ25lZCBsb25nIHpvbmVzID0gZ2V0X256b25lcygpOworCXVuc2lnbmVkIGxvbmcgaW1hcHMgPSBnZXRfbmltYXBzKCk7CisJdW5zaWduZWQgbG9uZyB6bWFwcyA9IGdldF9uem1hcHMoKTsKKwlzc2l6ZV90IHJjOworCisJaW5vZGVfbWFwID0gbWFsbG9jKGltYXBzICogTUlOSVhfQkxPQ0tfU0laRSk7CisJaWYgKCFpbm9kZV9tYXApCisJCWRpZShfKCJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBtYXAiKSk7CisJem9uZV9tYXAgPSBtYWxsb2Moem1hcHMgKiBNSU5JWF9CTE9DS19TSVpFKTsKKwlpZiAoIXpvbmVfbWFwKQorCQlkaWUoXygiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBtYXAiKSk7CisJaW5vZGVfYnVmZmVyID0gbWFsbG9jKGJ1ZmZzeik7CisJaWYgKCFpbm9kZV9idWZmZXIpCisJCWRpZShfKCJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiKSk7CisJaW5vZGVfY291bnQgPSBjYWxsb2MoMSwgaW5vZGVzICsgMSk7CisJaWYgKCFpbm9kZV9jb3VudCkKKwkJZGllKF8oIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIGNvdW50IikpOworCXpvbmVfY291bnQgPSBjYWxsb2MoMSwgem9uZXMpOworCWlmICghem9uZV9jb3VudCkKKwkJZGllKF8oIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgY291bnQiKSk7CisKKwlyYyA9IHJlYWQoZGV2aWNlX2ZkLCBpbm9kZV9tYXAsIGltYXBzICogTUlOSVhfQkxPQ0tfU0laRSk7CisJaWYgKHJjIDwgMCB8fCBpbWFwcyAqIE1JTklYX0JMT0NLX1NJWkUgIT0gKHNpemVfdCkgcmMpCisJCWRpZShfKCJVbmFibGUgdG8gcmVhZCBpbm9kZSBtYXAiKSk7CisKKwlyYyA9IHJlYWQoZGV2aWNlX2ZkLCB6b25lX21hcCwgem1hcHMgKiBNSU5JWF9CTE9DS19TSVpFKTsKKwlpZiAocmMgPCAwIHx8IHptYXBzICogTUlOSVhfQkxPQ0tfU0laRSAhPSAoc2l6ZV90KSByYykKKwkJZGllKF8oIlVuYWJsZSB0byByZWFkIHpvbmUgbWFwIikpOworCisJcmMgPSByZWFkKGRldmljZV9mZCwgaW5vZGVfYnVmZmVyLCBidWZmc3opOworCWlmIChyYyA8IDAgfHwgYnVmZnN6ICE9IChzaXplX3QpIHJjKQorCQlkaWUoXygiVW5hYmxlIHRvIHJlYWQgaW5vZGVzIikpOworCWlmIChub3JtX2ZpcnN0X3pvbmUgIT0gZmlyc3Rfem9uZSkgeworCQlwcmludGYoXygiV2FybmluZzogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iKSk7CisJCWVycm9yc191bmNvcnJlY3RlZCA9IDE7CisJfQorCWdldF9kaXJzaXplKCk7CisJaWYgKHNob3cpIHsKKwkJcHJpbnRmKF8oIiVsZCBpbm9kZXNcbiIpLCBpbm9kZXMpOworCQlwcmludGYoXygiJWxkIGJsb2Nrc1xuIiksIHpvbmVzKTsKKwkJcHJpbnRmKF8oIkZpcnN0ZGF0YXpvbmU9JWpkICglamQpXG4iKSwKKwkJCShpbnRtYXhfdClmaXJzdF96b25lLCAoaW50bWF4X3Qpbm9ybV9maXJzdF96b25lKTsKKwkJcHJpbnRmKF8oIlpvbmVzaXplPSVkXG4iKSwgTUlOSVhfQkxPQ0tfU0laRSA8PCBnZXRfem9uZV9zaXplKCkpOworCQlwcmludGYoXygiTWF4c2l6ZT0lenVcbiIpLCBnZXRfbWF4X3NpemUoKSk7CisJCWlmIChmc192ZXJzaW9uIDwgMykKKwkJCXByaW50ZihfKCJGaWxlc3lzdGVtIHN0YXRlPSVkXG4iKSwgU3VwZXIuc19zdGF0ZSk7CisJCXByaW50ZihfKCJuYW1lbGVuPSV6ZFxuXG4iKSwgbmFtZWxlbik7CisJfQorfQorCitzdGF0aWMgc3RydWN0IG1pbml4X2lub2RlICoKK2dldF9pbm9kZSh1bnNpZ25lZCBpbnQgbnIpIHsKKwlzdHJ1Y3QgbWluaXhfaW5vZGUgKmlub2RlOworCisJaWYgKCFuciB8fCBuciA+IGdldF9uaW5vZGVzKCkpCisJCXJldHVybiBOVUxMOworCXRvdGFsKys7CisJaW5vZGUgPSBJbm9kZSArIG5yOworCWlmICghaW5vZGVfY291bnRbbnJdKSB7CisJCWlmICghaW5vZGVfaW5fdXNlKG5yKSkgeworCQkJZ2V0X2N1cnJlbnRfbmFtZSgpOworCQkJcHJpbnRmKF8oIklub2RlICVkIG1hcmtlZCB1bnVzZWQsICIKKwkJCQkgImJ1dCB1c2VkIGZvciBmaWxlICclcydcbiIpLCBuciwgY3VycmVudF9uYW1lKTsKKwkJCWlmIChyZXBhaXIpIHsKKwkJCQlpZiAoYXNrKF8oIk1hcmsgaW4gdXNlIiksIDEpKQorCQkJCQltYXJrX2lub2RlKG5yKTsKKwkJCX0gZWxzZSB7CisJCQkJZXJyb3JzX3VuY29ycmVjdGVkID0gMTsKKwkJCX0KKwkJfQorCQlpZiAoU19JU0RJUihpbm9kZS0+aV9tb2RlKSkKKwkJCWRpcmVjdG9yeSsrOworCQllbHNlIGlmIChTX0lTUkVHKGlub2RlLT5pX21vZGUpKQorCQkJcmVndWxhcisrOworCQllbHNlIGlmIChTX0lTQ0hSKGlub2RlLT5pX21vZGUpKQorCQkJY2hhcmRldisrOworCQllbHNlIGlmIChTX0lTQkxLKGlub2RlLT5pX21vZGUpKQorCQkJYmxvY2tkZXYrKzsKKwkJZWxzZSBpZiAoU19JU0xOSyhpbm9kZS0+aV9tb2RlKSkKKwkJCXN5bWxpbmtzKys7CisJCWVsc2UgaWYgKFNfSVNTT0NLKGlub2RlLT5pX21vZGUpKQorCQkJOworCQllbHNlIGlmIChTX0lTRklGTyhpbm9kZS0+aV9tb2RlKSkKKwkJCTsKKwkJZWxzZSB7CisJCQlnZXRfY3VycmVudF9uYW1lKCk7CisJCQlwcmludGYoXygiVGhlIGZpbGUgYCVzJyBoYXMgbW9kZSAlMDVvXG4iKSwKKwkJCSAgICAgICBjdXJyZW50X25hbWUsIGlub2RlLT5pX21vZGUpOworCQl9CisKKwl9IGVsc2UKKwkJbGlua3MrKzsKKwlpZiAoISsraW5vZGVfY291bnRbbnJdKSB7CisJCXByaW50ZihfKCJXYXJuaW5nOiBpbm9kZSBjb3VudCB0b28gYmlnLlxuIikpOworCQlpbm9kZV9jb3VudFtucl0tLTsKKwkJZXJyb3JzX3VuY29ycmVjdGVkID0gMTsKKwl9CisJcmV0dXJuIGlub2RlOworfQorCitzdGF0aWMgc3RydWN0IG1pbml4Ml9pbm9kZSAqCitnZXRfaW5vZGUyKHVuc2lnbmVkIGludCBucikgeworCXN0cnVjdCBtaW5peDJfaW5vZGUgKmlub2RlOworCisJaWYgKCFuciB8fCBuciA+IGdldF9uaW5vZGVzKCkpCisJCXJldHVybiBOVUxMOworCXRvdGFsKys7CisJaW5vZGUgPSBJbm9kZTIgKyBucjsKKwlpZiAoIWlub2RlX2NvdW50W25yXSkgeworCQlpZiAoIWlub2RlX2luX3VzZShucikpIHsKKwkJCWdldF9jdXJyZW50X25hbWUoKTsKKwkJCXByaW50ZihfKCJJbm9kZSAlZCBtYXJrZWQgdW51c2VkLCAiCisJCQkJICJidXQgdXNlZCBmb3IgZmlsZSAnJXMnXG4iKSwgbnIsIGN1cnJlbnRfbmFtZSk7CisJCQlpZiAocmVwYWlyKSB7CisJCQkJaWYgKGFzayhfKCJNYXJrIGluIHVzZSIpLCAxKSkKKwkJCQkJbWFya19pbm9kZShucik7CisJCQkJZWxzZQorCQkJCQllcnJvcnNfdW5jb3JyZWN0ZWQgPSAxOworCQkJfQorCQl9CisJCWlmIChTX0lTRElSKGlub2RlLT5pX21vZGUpKQorCQkJZGlyZWN0b3J5Kys7CisJCWVsc2UgaWYgKFNfSVNSRUcoaW5vZGUtPmlfbW9kZSkpCisJCQlyZWd1bGFyKys7CisJCWVsc2UgaWYgKFNfSVNDSFIoaW5vZGUtPmlfbW9kZSkpCisJCQljaGFyZGV2Kys7CisJCWVsc2UgaWYgKFNfSVNCTEsoaW5vZGUtPmlfbW9kZSkpCisJCQlibG9ja2RldisrOworCQllbHNlIGlmIChTX0lTTE5LKGlub2RlLT5pX21vZGUpKQorCQkJc3ltbGlua3MrKzsKKwkJZWxzZSBpZiAoU19JU1NPQ0soaW5vZGUtPmlfbW9kZSkpIDsKKwkJZWxzZSBpZiAoU19JU0ZJRk8oaW5vZGUtPmlfbW9kZSkpIDsKKwkJZWxzZSB7CisJCQlnZXRfY3VycmVudF9uYW1lKCk7CisJCQlwcmludGYoXygiVGhlIGZpbGUgYCVzJyBoYXMgbW9kZSAlMDVvXG4iKSwKKwkJCSAgICAgICBjdXJyZW50X25hbWUsIGlub2RlLT5pX21vZGUpOworCQl9CisJfSBlbHNlCisJCWxpbmtzKys7CisJaWYgKCErK2lub2RlX2NvdW50W25yXSkgeworCQlwcmludGYoXygiV2FybmluZzogaW5vZGUgY291bnQgdG9vIGJpZy5cbiIpKTsKKwkJaW5vZGVfY291bnRbbnJdLS07CisJCWVycm9yc191bmNvcnJlY3RlZCA9IDE7CisJfQorCXJldHVybiBpbm9kZTsKK30KKworc3RhdGljIHZvaWQKK2NoZWNrX3Jvb3Qodm9pZCkgeworCXN0cnVjdCBtaW5peF9pbm9kZSAqaW5vZGUgPSBJbm9kZSArIFJPT1RfSU5POworCisJaWYgKCFpbm9kZSB8fCAhU19JU0RJUihpbm9kZS0+aV9tb2RlKSkKKwkJZGllKF8oInJvb3QgaW5vZGUgaXNuJ3QgYSBkaXJlY3RvcnkiKSk7Cit9CisKK3N0YXRpYyB2b2lkCitjaGVja19yb290Mih2b2lkKSB7CisJc3RydWN0IG1pbml4Ml9pbm9kZSAqaW5vZGUgPSBJbm9kZTIgKyBST09UX0lOTzsKKworCWlmICghaW5vZGUgfHwgIVNfSVNESVIoaW5vZGUtPmlfbW9kZSkpCisJCWRpZShfKCJyb290IGlub2RlIGlzbid0IGEgZGlyZWN0b3J5IikpOworfQorCitzdGF0aWMgaW50CithZGRfem9uZSh1bnNpZ25lZCBzaG9ydCAqem5yLCBpbnQgKmNvcnJlY3RlZCkgeworCWludCBibG9jazsKKworCWJsb2NrID0gY2hlY2tfem9uZV9ucih6bnIsIGNvcnJlY3RlZCk7CisJaWYgKCFibG9jaykKKwkJcmV0dXJuIDA7CisJaWYgKHpvbmVfY291bnRbYmxvY2tdKSB7CisJCWdldF9jdXJyZW50X25hbWUoKTsKKwkJcHJpbnRmKF8oIkJsb2NrIGhhcyBiZWVuIHVzZWQgYmVmb3JlLiBOb3cgaW4gZmlsZSBgJXMnLiIpLAorCQkgICAgICAgY3VycmVudF9uYW1lKTsKKwkJaWYgKGFzayhfKCJDbGVhciIpLCAxKSkgeworCQkJKnpuciA9IDA7CisJCQlibG9jayA9IDA7CisJCQkqY29ycmVjdGVkID0gMTsKKwkJfQorCX0KKwlpZiAoIWJsb2NrKQorCQlyZXR1cm4gMDsKKwlpZiAoIXpvbmVfaW5fdXNlKGJsb2NrKSkgeworCQlnZXRfY3VycmVudF9uYW1lKCk7CisJCXByaW50ZihfKCJCbG9jayAlZCBpbiBmaWxlIGAlcycgaXMgbWFya2VkIG5vdCBpbiB1c2UuIiksCisJCSAgICAgICBibG9jaywgY3VycmVudF9uYW1lKTsKKwkJaWYgKGFzayhfKCJDb3JyZWN0IiksIDEpKQorCQkJbWFya196b25lKGJsb2NrKTsKKwl9CisJaWYgKCErK3pvbmVfY291bnRbYmxvY2tdKQorCQl6b25lX2NvdW50W2Jsb2NrXS0tOworCXJldHVybiBibG9jazsKK30KKworc3RhdGljIGludAorYWRkX3pvbmUyKHVuc2lnbmVkIGludCAqem5yLCBpbnQgKmNvcnJlY3RlZCkgeworCWludCBibG9jazsKKworCWJsb2NrID0gY2hlY2tfem9uZV9ucjIoem5yLCBjb3JyZWN0ZWQpOworCWlmICghYmxvY2spCisJCXJldHVybiAwOworCWlmICh6b25lX2NvdW50W2Jsb2NrXSkgeworCQlnZXRfY3VycmVudF9uYW1lKCk7CisJCXByaW50ZihfKCJCbG9jayBoYXMgYmVlbiB1c2VkIGJlZm9yZS4gTm93IGluIGZpbGUgYCVzJy4iKSwKKwkJICAgICAgIGN1cnJlbnRfbmFtZSk7CisJCWlmIChhc2soXygiQ2xlYXIiKSwgMSkpIHsKKwkJCSp6bnIgPSAwOworCQkJYmxvY2sgPSAwOworCQkJKmNvcnJlY3RlZCA9IDE7CisJCX0KKwl9CisJaWYgKCFibG9jaykKKwkJcmV0dXJuIDA7CisJaWYgKCF6b25lX2luX3VzZShibG9jaykpIHsKKwkJZ2V0X2N1cnJlbnRfbmFtZSgpOworCQlwcmludGYoXygiQmxvY2sgJWQgaW4gZmlsZSBgJXMnIGlzIG1hcmtlZCBub3QgaW4gdXNlLiIpLAorCQkgICAgICAgYmxvY2ssIGN1cnJlbnRfbmFtZSk7CisJCWlmIChhc2soXygiQ29ycmVjdCIpLCAxKSkKKwkJCW1hcmtfem9uZShibG9jayk7CisJfQorCWlmICghKyt6b25lX2NvdW50W2Jsb2NrXSkKKwkJem9uZV9jb3VudFtibG9ja10tLTsKKwlyZXR1cm4gYmxvY2s7Cit9CisKK3N0YXRpYyB2b2lkCithZGRfem9uZV9pbmQodW5zaWduZWQgc2hvcnQgKnpuciwgaW50ICpjb3JyZWN0ZWQpIHsKKwlzdGF0aWMgY2hhciBibGtbTUlOSVhfQkxPQ0tfU0laRV07CisJaW50IGksIGNoZ19ibGsgPSAwOworCWludCBibG9jazsKKworCWJsb2NrID0gYWRkX3pvbmUoem5yLCBjb3JyZWN0ZWQpOworCWlmICghYmxvY2spCisJCXJldHVybjsKKwlyZWFkX2Jsb2NrKGJsb2NrLCBibGspOworCWZvciAoaSA9IDA7IGkgPCAoTUlOSVhfQkxPQ0tfU0laRSA+PiAxKTsgaSsrKQorCQlhZGRfem9uZShpICsgKHVuc2lnbmVkIHNob3J0ICopYmxrLCAmY2hnX2Jsayk7CisJaWYgKGNoZ19ibGspCisJCXdyaXRlX2Jsb2NrKGJsb2NrLCBibGspOworfQorCitzdGF0aWMgdm9pZAorYWRkX3pvbmVfaW5kMih1bnNpZ25lZCBpbnQgKnpuciwgaW50ICpjb3JyZWN0ZWQpIHsKKwlzdGF0aWMgY2hhciBibGtbTUlOSVhfQkxPQ0tfU0laRV07CisJaW50IGksIGNoZ19ibGsgPSAwOworCWludCBibG9jazsKKworCWJsb2NrID0gYWRkX3pvbmUyKHpuciwgY29ycmVjdGVkKTsKKwlpZiAoIWJsb2NrKQorCQlyZXR1cm47CisJcmVhZF9ibG9jayhibG9jaywgYmxrKTsKKwlmb3IgKGkgPSAwOyBpIDwgTUlOSVhfQkxPQ0tfU0laRSA+PiAyOyBpKyspCisJCWFkZF96b25lMihpICsgKHVuc2lnbmVkIGludCAqKWJsaywgJmNoZ19ibGspOworCWlmIChjaGdfYmxrKQorCQl3cml0ZV9ibG9jayhibG9jaywgYmxrKTsKK30KKworc3RhdGljIHZvaWQKK2FkZF96b25lX2RpbmQodW5zaWduZWQgc2hvcnQgKnpuciwgaW50ICpjb3JyZWN0ZWQpIHsKKwlzdGF0aWMgY2hhciBibGtbTUlOSVhfQkxPQ0tfU0laRV07CisJaW50IGksIGJsa19jaGcgPSAwOworCWludCBibG9jazsKKworCWJsb2NrID0gYWRkX3pvbmUoem5yLCBjb3JyZWN0ZWQpOworCWlmICghYmxvY2spCisJCXJldHVybjsKKwlyZWFkX2Jsb2NrKGJsb2NrLCBibGspOworCWZvciAoaSA9IDA7IGkgPCAoTUlOSVhfQkxPQ0tfU0laRSA+PiAxKTsgaSsrKQorCQlhZGRfem9uZV9pbmQoaSArICh1bnNpZ25lZCBzaG9ydCAqKWJsaywgJmJsa19jaGcpOworCWlmIChibGtfY2hnKQorCQl3cml0ZV9ibG9jayhibG9jaywgYmxrKTsKK30KKworc3RhdGljIHZvaWQKK2FkZF96b25lX2RpbmQyKHVuc2lnbmVkIGludCAqem5yLCBpbnQgKmNvcnJlY3RlZCkgeworCXN0YXRpYyBjaGFyIGJsa1tNSU5JWF9CTE9DS19TSVpFXTsKKwlpbnQgaSwgYmxrX2NoZyA9IDA7CisJaW50IGJsb2NrOworCisJYmxvY2sgPSBhZGRfem9uZTIoem5yLCBjb3JyZWN0ZWQpOworCWlmICghYmxvY2spCisJCXJldHVybjsKKwlyZWFkX2Jsb2NrKGJsb2NrLCBibGspOworCWZvciAoaSA9IDA7IGkgPCBNSU5JWF9CTE9DS19TSVpFID4+IDI7IGkrKykKKwkJYWRkX3pvbmVfaW5kMihpICsgKHVuc2lnbmVkIGludCAqKWJsaywgJmJsa19jaGcpOworCWlmIChibGtfY2hnKQorCQl3cml0ZV9ibG9jayhibG9jaywgYmxrKTsKK30KKworc3RhdGljIHZvaWQKK2FkZF96b25lX3RpbmQyKHVuc2lnbmVkIGludCAqem5yLCBpbnQgKmNvcnJlY3RlZCkgeworCXN0YXRpYyBjaGFyIGJsa1tNSU5JWF9CTE9DS19TSVpFXTsKKwlpbnQgaSwgYmxrX2NoZyA9IDA7CisJaW50IGJsb2NrOworCisJYmxvY2sgPSBhZGRfem9uZTIoem5yLCBjb3JyZWN0ZWQpOworCWlmICghYmxvY2spCisJCXJldHVybjsKKwlyZWFkX2Jsb2NrKGJsb2NrLCBibGspOworCWZvciAoaSA9IDA7IGkgPCBNSU5JWF9CTE9DS19TSVpFID4+IDI7IGkrKykKKwkJYWRkX3pvbmVfZGluZDIoaSArICh1bnNpZ25lZCBpbnQgKilibGssICZibGtfY2hnKTsKKwlpZiAoYmxrX2NoZykKKwkJd3JpdGVfYmxvY2soYmxvY2ssIGJsayk7Cit9CisKK3N0YXRpYyB2b2lkCitjaGVja196b25lcyh1bnNpZ25lZCBpbnQgaSkgeworCXN0cnVjdCBtaW5peF9pbm9kZSAqaW5vZGU7CisKKwlpZiAoIWkgfHwgaSA+IGdldF9uaW5vZGVzKCkpCisJCXJldHVybjsKKwlpZiAoaW5vZGVfY291bnRbaV0gPiAxKQkvKiBoYXZlIHdlIGNvdW50ZWQgdGhpcyBmaWxlIGFscmVhZHk/ICovCisJCXJldHVybjsKKwlpbm9kZSA9IElub2RlICsgaTsKKwlpZiAoIVNfSVNESVIoaW5vZGUtPmlfbW9kZSkgJiYgIVNfSVNSRUcoaW5vZGUtPmlfbW9kZSkgJiYKKwkgICAgIVNfSVNMTksoaW5vZGUtPmlfbW9kZSkpCisJCXJldHVybjsKKwlmb3IgKGkgPSAwOyBpIDwgNzsgaSsrKQorCQlhZGRfem9uZShpICsgaW5vZGUtPmlfem9uZSwgJmNoYW5nZWQpOworCWFkZF96b25lX2luZCg3ICsgaW5vZGUtPmlfem9uZSwgJmNoYW5nZWQpOworCWFkZF96b25lX2RpbmQoOCArIGlub2RlLT5pX3pvbmUsICZjaGFuZ2VkKTsKK30KKworc3RhdGljIHZvaWQKK2NoZWNrX3pvbmVzMih1bnNpZ25lZCBpbnQgaSkgeworCXN0cnVjdCBtaW5peDJfaW5vZGUgKmlub2RlOworCisJaWYgKCFpIHx8IGkgPiBnZXRfbmlub2RlcygpKQorCQlyZXR1cm47CisJaWYgKGlub2RlX2NvdW50W2ldID4gMSkJLyogaGF2ZSB3ZSBjb3VudGVkIHRoaXMgZmlsZSBhbHJlYWR5PyAqLworCQlyZXR1cm47CisJaW5vZGUgPSBJbm9kZTIgKyBpOworCWlmICghU19JU0RJUihpbm9kZS0+aV9tb2RlKSAmJiAhU19JU1JFRyhpbm9kZS0+aV9tb2RlKQorCSAgICAmJiAhU19JU0xOSyhpbm9kZS0+aV9tb2RlKSkKKwkJcmV0dXJuOworCWZvciAoaSA9IDA7IGkgPCA3OyBpKyspCisJCWFkZF96b25lMihpICsgaW5vZGUtPmlfem9uZSwgJmNoYW5nZWQpOworCWFkZF96b25lX2luZDIoNyArIGlub2RlLT5pX3pvbmUsICZjaGFuZ2VkKTsKKwlhZGRfem9uZV9kaW5kMig4ICsgaW5vZGUtPmlfem9uZSwgJmNoYW5nZWQpOworCWFkZF96b25lX3RpbmQyKDkgKyBpbm9kZS0+aV96b25lLCAmY2hhbmdlZCk7Cit9CisKK3N0YXRpYyB2b2lkCitjaGVja19maWxlKHN0cnVjdCBtaW5peF9pbm9kZSAqZGlyLCB1bnNpZ25lZCBpbnQgb2Zmc2V0KSB7CisJc3RhdGljIGNoYXIgYmxrW01JTklYX0JMT0NLX1NJWkUgKyAyXTsKKwlzdHJ1Y3QgbWluaXhfaW5vZGUgKmlub2RlOworCXVuc2lnbmVkIGludCBpbm87CisJY2hhciAqbmFtZTsKKwlpbnQgYmxvY2s7CisKKwlibG9jayA9IG1hcF9ibG9jayhkaXIsIG9mZnNldCAvIE1JTklYX0JMT0NLX1NJWkUpOworCXJlYWRfYmxvY2soYmxvY2ssIGJsayk7CisJbmFtZSA9IGJsayArIChvZmZzZXQgJSBNSU5JWF9CTE9DS19TSVpFKSArIDI7CisJaW5vID0gKih1bnNpZ25lZCBzaG9ydCAqKShuYW1lIC0gMik7CisJaWYgKGlubyA+IGdldF9uaW5vZGVzKCkpIHsKKwkJZ2V0X2N1cnJlbnRfbmFtZSgpOworCQlwcmludGYoXygiVGhlIGRpcmVjdG9yeSAnJXMnIGNvbnRhaW5zIGEgYmFkIGlub2RlIG51bWJlciAiCisJCQkgImZvciBmaWxlICclLipzJy4iKSwgY3VycmVudF9uYW1lLCAoaW50KW5hbWVsZW4sIG5hbWUpOworCQlpZiAoYXNrKF8oIiBSZW1vdmUiKSwgMSkpIHsKKwkJCSoodW5zaWduZWQgc2hvcnQgKikobmFtZSAtIDIpID0gMDsKKwkJCXdyaXRlX2Jsb2NrKGJsb2NrLCBibGspOworCQl9CisJCWlubyA9IDA7CisJfQorCWlmIChuYW1lX2RlcHRoIDwgTUFYX0RFUFRIKQorCQl4c3RybmNweShuYW1lX2xpc3RbbmFtZV9kZXB0aF0sIG5hbWUsIG5hbWVsZW4pOworCWVsc2UKKwkJcmV0dXJuOworCW5hbWVfZGVwdGgrKzsKKwlpbm9kZSA9IGdldF9pbm9kZShpbm8pOworCW5hbWVfZGVwdGgtLTsKKwlpZiAoIW9mZnNldCkgeworCQlpZiAoIWlub2RlIHx8IHN0cmNtcCgiLiIsIG5hbWUpKSB7CisJCQlnZXRfY3VycmVudF9uYW1lKCk7CisJCQlwcmludGYoXygiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdFxuIiksCisJCQkgICAgICAgY3VycmVudF9uYW1lKTsKKwkJCWVycm9yc191bmNvcnJlY3RlZCA9IDE7CisJCX0gZWxzZQorCQkJcmV0dXJuOworCX0KKwlpZiAob2Zmc2V0ID09IGRpcnNpemUpIHsKKwkJaWYgKCFpbm9kZSB8fCBzdHJjbXAoIi4uIiwgbmFtZSkpIHsKKwkJCWdldF9jdXJyZW50X25hbWUoKTsKKwkJCXByaW50ZihfKCIlczogYmFkIGRpcmVjdG9yeTogJy4uJyBpc24ndCBzZWNvbmRcbiIpLAorCQkJICAgICAgIGN1cnJlbnRfbmFtZSk7CisJCQllcnJvcnNfdW5jb3JyZWN0ZWQgPSAxOworCQl9IGVsc2UKKwkJCXJldHVybjsKKwl9CisJaWYgKCFpbm9kZSkKKwkJcmV0dXJuOworCWlmIChuYW1lX2RlcHRoIDwgTUFYX0RFUFRIKQorCQl4c3RybmNweShuYW1lX2xpc3RbbmFtZV9kZXB0aF0sIG5hbWUsIG5hbWVsZW4pOworCWVsc2UKKwkJcmV0dXJuOworCW5hbWVfZGVwdGgrKzsKKwlpZiAobGlzdCkgeworCQlpZiAodmVyYm9zZSkKKwkJCXByaW50ZigiJTZkICUwN28gJTNkICIsIGlubywKKwkJCSAgICAgICBpbm9kZS0+aV9tb2RlLCBpbm9kZS0+aV9ubGlua3MpOworCQlnZXRfY3VycmVudF9uYW1lKCk7CisJCXByaW50ZigiJXMiLCBjdXJyZW50X25hbWUpOworCQlpZiAoU19JU0RJUihpbm9kZS0+aV9tb2RlKSkKKwkJCXByaW50ZigiOlxuIik7CisJCWVsc2UKKwkJCXByaW50ZigiXG4iKTsKKwl9CisJY2hlY2tfem9uZXMoaW5vKTsKKwlpZiAoaW5vZGUgJiYgU19JU0RJUihpbm9kZS0+aV9tb2RlKSkKKwkJcmVjdXJzaXZlX2NoZWNrKGlubyk7CisJbmFtZV9kZXB0aC0tOworCXJldHVybjsKK30KKworc3RhdGljIHZvaWQKK2NoZWNrX2ZpbGUyKHN0cnVjdCBtaW5peDJfaW5vZGUgKmRpciwgdW5zaWduZWQgaW50IG9mZnNldCkgeworCXN0YXRpYyBjaGFyIGJsa1tNSU5JWF9CTE9DS19TSVpFICsgNF07CisJc3RydWN0IG1pbml4Ml9pbm9kZSAqaW5vZGU7CisJaW5vX3QgaW5vOworCWNoYXIgKm5hbWU7CisJaW50IGJsb2NrOworCWNvbnN0IGludCB2ZXJzaW9uX29mZnNldCA9IGZzX3ZlcnNpb24gPT0gMyA/IDQgOiAyOworCisJYmxvY2sgPSBtYXBfYmxvY2syKGRpciwgb2Zmc2V0IC8gTUlOSVhfQkxPQ0tfU0laRSk7CisJcmVhZF9ibG9jayhibG9jaywgYmxrKTsKKwluYW1lID0gYmxrICsgKG9mZnNldCAlIE1JTklYX0JMT0NLX1NJWkUpICsgdmVyc2lvbl9vZmZzZXQ7CisJaW5vID0gdmVyc2lvbl9vZmZzZXQgPT0gNCA/ICoodWludDMyX3QgKikobmFtZSAtIHZlcnNpb25fb2Zmc2V0KQorCSAgICAgICAgICAgICAgICAgICAgICAgICAgOiAqKHVpbnQxNl90ICopKG5hbWUgLSB2ZXJzaW9uX29mZnNldCk7CisJaWYgKGlubyA+IGdldF9uaW5vZGVzKCkpIHsKKwkJZ2V0X2N1cnJlbnRfbmFtZSgpOworCQlwcmludGYoXygiVGhlIGRpcmVjdG9yeSAnJXMnIGNvbnRhaW5zIGEgYmFkIGlub2RlIG51bWJlciAiCisJCQkgImZvciBmaWxlICclLipzJy4iKSwgY3VycmVudF9uYW1lLCAoaW50KW5hbWVsZW4sIG5hbWUpOworCQlpZiAoYXNrKF8oIiBSZW1vdmUiKSwgMSkpIHsKKwkJCW1lbXNldChuYW1lIC0gdmVyc2lvbl9vZmZzZXQsIDAsIHZlcnNpb25fb2Zmc2V0KTsKKwkJCXdyaXRlX2Jsb2NrKGJsb2NrLCBibGspOworCQl9CisJCWlubyA9IDA7CisJfQorCWlmIChuYW1lX2RlcHRoIDwgTUFYX0RFUFRIKQorCQl4c3RybmNweShuYW1lX2xpc3RbbmFtZV9kZXB0aF0sIG5hbWUsIG5hbWVsZW4pOworCWVsc2UKKwkJcmV0dXJuOworCW5hbWVfZGVwdGgrKzsKKwlpbm9kZSA9IGdldF9pbm9kZTIoaW5vKTsKKwluYW1lX2RlcHRoLS07CisJaWYgKCFvZmZzZXQpIHsKKwkJaWYgKCFpbm9kZSB8fCBzdHJjbXAoIi4iLCBuYW1lKSkgeworCQkJZ2V0X2N1cnJlbnRfbmFtZSgpOworCQkJcHJpbnRmKF8oIiVzOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIpLAorCQkJICAgICAgIGN1cnJlbnRfbmFtZSk7CisJCQllcnJvcnNfdW5jb3JyZWN0ZWQgPSAxOworCQl9IGVsc2UKKwkJCXJldHVybjsKKwl9CisJaWYgKG9mZnNldCA9PSBkaXJzaXplKSB7CisJCWlmICghaW5vZGUgfHwgc3RyY21wKCIuLiIsIG5hbWUpKSB7CisJCQlnZXRfY3VycmVudF9uYW1lKCk7CisJCQlwcmludGYoXygiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuLicgaXNuJ3Qgc2Vjb25kXG4iKSwKKwkJCSAgICAgICBjdXJyZW50X25hbWUpOworCQkJZXJyb3JzX3VuY29ycmVjdGVkID0gMTsKKwkJfSBlbHNlCisJCQlyZXR1cm47CisJfQorCWlmICghaW5vZGUpCisJCXJldHVybjsKKwluYW1lX2RlcHRoKys7CisJaWYgKGxpc3QpIHsKKwkJaWYgKHZlcmJvc2UpCisJCQlwcmludGYoIiU2anUgJTA3byAlM2QgIiwgKHVpbnRtYXhfdClpbm8sIGlub2RlLT5pX21vZGUsCisJCQkgICAgICAgaW5vZGUtPmlfbmxpbmtzKTsKKwkJZ2V0X2N1cnJlbnRfbmFtZSgpOworCQlwcmludGYoIiVzIiwgY3VycmVudF9uYW1lKTsKKwkJaWYgKFNfSVNESVIoaW5vZGUtPmlfbW9kZSkpCisJCQlwcmludGYoIjpcbiIpOworCQllbHNlCisJCQlwcmludGYoIlxuIik7CisJfQorCWNoZWNrX3pvbmVzMihpbm8pOworCWlmIChpbm9kZSAmJiBTX0lTRElSKGlub2RlLT5pX21vZGUpKQorCQlyZWN1cnNpdmVfY2hlY2syKGlubyk7CisJbmFtZV9kZXB0aC0tOworCXJldHVybjsKK30KKworc3RhdGljIHZvaWQKK3JlY3Vyc2l2ZV9jaGVjayh1bnNpZ25lZCBpbnQgaW5vKSB7CisJc3RydWN0IG1pbml4X2lub2RlICpkaXI7CisJb2ZmX3Qgb2Zmc2V0OworCisJZGlyID0gSW5vZGUgKyBpbm87CisJaWYgKCFTX0lTRElSKGRpci0+aV9tb2RlKSkKKwkJZGllKF8oImludGVybmFsIGVycm9yIikpOworCWlmIChkaXItPmlfc2l6ZSA8IDIgKiBkaXJzaXplKSB7CisJCWdldF9jdXJyZW50X25hbWUoKTsKKwkJcHJpbnRmKF8oIiVzOiBiYWQgZGlyZWN0b3J5OiBzaXplIDwgMzIiKSwgY3VycmVudF9uYW1lKTsKKwkJZXJyb3JzX3VuY29ycmVjdGVkID0gMTsKKwl9CisKKwlpZiAoKCFyZXBhaXIgfHwgYXV0b21hdGljKSAmJiAhaXNfdmFsaWRfem9uZV9ucigqZGlyLT5pX3pvbmUpKSB7CisJCWdldF9jdXJyZW50X25hbWUoKTsKKwkJcHJpbnRmKF8oIiVzOiBiYWQgZGlyZWN0b3J5OiBpbnZhbGlkIGlfem9uZSwgdXNlIC0tcmVwYWlyIHRvIGZpeFxuIiksIGN1cnJlbnRfbmFtZSk7CisJCXJldHVybjsKKwl9CisJZm9yIChvZmZzZXQgPSAwOyBvZmZzZXQgPCBkaXItPmlfc2l6ZTsgb2Zmc2V0ICs9IGRpcnNpemUpCisJCWNoZWNrX2ZpbGUoZGlyLCBvZmZzZXQpOworfQorCitzdGF0aWMgdm9pZAorcmVjdXJzaXZlX2NoZWNrMih1bnNpZ25lZCBpbnQgaW5vKSB7CisJc3RydWN0IG1pbml4Ml9pbm9kZSAqZGlyOworCW9mZl90IG9mZnNldDsKKworCWRpciA9IElub2RlMiArIGlubzsKKwlpZiAoIVNfSVNESVIoZGlyLT5pX21vZGUpKQorCQlkaWUoXygiaW50ZXJuYWwgZXJyb3IiKSk7CisJaWYgKGRpci0+aV9zaXplIDwgMiAqIGRpcnNpemUpIHsKKwkJZ2V0X2N1cnJlbnRfbmFtZSgpOworCQlwcmludGYoXygiJXM6IGJhZCBkaXJlY3Rvcnk6IHNpemUgPCAzMiIpLCBjdXJyZW50X25hbWUpOworCQllcnJvcnNfdW5jb3JyZWN0ZWQgPSAxOworCX0KKwlmb3IgKG9mZnNldCA9IDA7IG9mZnNldCA8IGRpci0+aV9zaXplOyBvZmZzZXQgKz0gZGlyc2l6ZSkKKwkJY2hlY2tfZmlsZTIoZGlyLCBvZmZzZXQpOworfQorCitzdGF0aWMgaW50CitiYWRfem9uZShpbnQgaSkgeworCWNoYXIgYnVmZmVyWzEwMjRdOworCisJaWYgKE1JTklYX0JMT0NLX1NJWkUgKiBpICE9IGxzZWVrKGRldmljZV9mZCwgTUlOSVhfQkxPQ0tfU0laRSAqIGksIFNFRUtfU0VUKSkKKwkJZGllKF8oInNlZWsgZmFpbGVkIGluIGJhZF96b25lIikpOworCXJldHVybiAoTUlOSVhfQkxPQ0tfU0laRSAhPSByZWFkKGRldmljZV9mZCwgYnVmZmVyLCBNSU5JWF9CTE9DS19TSVpFKSk7Cit9CisKK3N0YXRpYyB2b2lkCitjaGVja19jb3VudHModm9pZCkgeworCXVuc2lnbmVkIGxvbmcgaTsKKworCWZvciAoaSA9IDE7IGkgPD0gZ2V0X25pbm9kZXMoKTsgaSsrKSB7CisJCWlmICghaW5vZGVfaW5fdXNlKGkpICYmIElub2RlW2ldLmlfbW9kZSAmJiB3YXJuX21vZGUpIHsKKwkJCXByaW50ZihfKCJJbm9kZSAlbHUgbW9kZSBub3QgY2xlYXJlZC4iKSwgaSk7CisJCQlpZiAoYXNrKF8oIkNsZWFyIiksIDEpKSB7CisJCQkJSW5vZGVbaV0uaV9tb2RlID0gMDsKKwkJCQljaGFuZ2VkID0gMTsKKwkJCX0KKwkJfQorCQlpZiAoIWlub2RlX2NvdW50W2ldKSB7CisJCQlpZiAoIWlub2RlX2luX3VzZShpKSkKKwkJCQljb250aW51ZTsKKwkJCXByaW50ZihfKCJJbm9kZSAlbHUgbm90IHVzZWQsIG1hcmtlZCB1c2VkIGluIHRoZSBiaXRtYXAuIiksIGkpOworCQkJaWYgKGFzayhfKCJDbGVhciIpLCAxKSkKKwkJCQl1bm1hcmtfaW5vZGUoaSk7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoIWlub2RlX2luX3VzZShpKSkgeworCQkJcHJpbnRmKF8oIklub2RlICVsdSB1c2VkLCBtYXJrZWQgdW51c2VkIGluIHRoZSBiaXRtYXAuIiksIGkpOworCQkJaWYgKGFzayhfKCJTZXQiKSwgMSkpCisJCQkJbWFya19pbm9kZShpKTsKKwkJfQorCQlpZiAoSW5vZGVbaV0uaV9ubGlua3MgIT0gaW5vZGVfY291bnRbaV0pIHsKKwkJCXByaW50ZihfKCJJbm9kZSAlbHUgKG1vZGUgPSAlMDdvKSwgaV9ubGlua3M9JWQsIGNvdW50ZWQ9JWQuIiksCisJCQkgICAgICAgaSwgSW5vZGVbaV0uaV9tb2RlLCBJbm9kZVtpXS5pX25saW5rcywKKwkJCSAgICAgICBpbm9kZV9jb3VudFtpXSk7CisJCQlpZiAoYXNrKF8oIlNldCBpX25saW5rcyB0byBjb3VudCIpLCAxKSkgeworCQkJCUlub2RlW2ldLmlfbmxpbmtzID0gaW5vZGVfY291bnRbaV07CisJCQkJY2hhbmdlZCA9IDE7CisJCQl9CisJCX0KKwl9CisJZm9yIChpID0gZ2V0X2ZpcnN0X3pvbmUoKTsgaSA8IGdldF9uem9uZXMoKTsgaSsrKSB7CisJCWlmICh6b25lX2luX3VzZShpKSA9PSB6b25lX2NvdW50W2ldKQorCQkJY29udGludWU7CisJCWlmICghem9uZV9jb3VudFtpXSkgeworCQkJaWYgKGJhZF96b25lKGkpKQorCQkJCWNvbnRpbnVlOworCQkJcHJpbnRmKF8oIlpvbmUgJWx1OiBtYXJrZWQgaW4gdXNlLCBubyBmaWxlIHVzZXMgaXQuIiksCisJCQkgICAgICAgaSk7CisJCQlpZiAoYXNrKF8oIlVubWFyayIpLCAxKSkKKwkJCQl1bm1hcmtfem9uZShpKTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmICh6b25lX2luX3VzZShpKSkKKwkJCXByaW50ZihfKCJab25lICVsdTogaW4gdXNlLCBjb3VudGVkPSVkXG4iKSwKKwkJCSAgICAgICBpLCB6b25lX2NvdW50W2ldKTsKKwkJZWxzZQorCQkJcHJpbnRmKF8oIlpvbmUgJWx1OiBub3QgaW4gdXNlLCBjb3VudGVkPSVkXG4iKSwKKwkJCSAgICAgICBpLCB6b25lX2NvdW50W2ldKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkCitjaGVja19jb3VudHMyKHZvaWQpIHsKKwl1bnNpZ25lZCBsb25nIGk7CisKKwlmb3IgKGkgPSAxOyBpIDw9IGdldF9uaW5vZGVzKCk7IGkrKykgeworCQlpZiAoIWlub2RlX2luX3VzZShpKSAmJiBJbm9kZTJbaV0uaV9tb2RlICYmIHdhcm5fbW9kZSkgeworCQkJcHJpbnRmKF8oIklub2RlICVsdSBtb2RlIG5vdCBjbGVhcmVkLiIpLCBpKTsKKwkJCWlmIChhc2soXygiQ2xlYXIiKSwgMSkpIHsKKwkJCQlJbm9kZTJbaV0uaV9tb2RlID0gMDsKKwkJCQljaGFuZ2VkID0gMTsKKwkJCX0KKwkJfQorCQlpZiAoIWlub2RlX2NvdW50W2ldKSB7CisJCQlpZiAoIWlub2RlX2luX3VzZShpKSkKKwkJCQljb250aW51ZTsKKwkJCXByaW50ZihfKCJJbm9kZSAlbHUgbm90IHVzZWQsIG1hcmtlZCB1c2VkIGluIHRoZSBiaXRtYXAuIiksIGkpOworCQkJaWYgKGFzayhfKCJDbGVhciIpLCAxKSkKKwkJCQl1bm1hcmtfaW5vZGUoaSk7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoIWlub2RlX2luX3VzZShpKSkgeworCQkJcHJpbnRmKF8oIklub2RlICVsdSB1c2VkLCBtYXJrZWQgdW51c2VkIGluIHRoZSBiaXRtYXAuIiksIGkpOworCQkJaWYgKGFzayhfKCJTZXQiKSwgMSkpCisJCQkJbWFya19pbm9kZShpKTsKKwkJfQorCQlpZiAoSW5vZGUyW2ldLmlfbmxpbmtzICE9IGlub2RlX2NvdW50W2ldKSB7CisJCQlwcmludGYoXygiSW5vZGUgJWx1IChtb2RlID0gJTA3byksIGlfbmxpbmtzPSVkLCBjb3VudGVkPSVkLiIpLAorCQkJICAgICAgIGksIElub2RlMltpXS5pX21vZGUsIElub2RlMltpXS5pX25saW5rcywKKwkJCSAgICAgICBpbm9kZV9jb3VudFtpXSk7CisJCQlpZiAoYXNrKF8oIlNldCBpX25saW5rcyB0byBjb3VudCIpLCAxKSkgeworCQkJCUlub2RlMltpXS5pX25saW5rcyA9IGlub2RlX2NvdW50W2ldOworCQkJCWNoYW5nZWQgPSAxOworCQkJfQorCQl9CisJfQorCWZvciAoaSA9IGdldF9maXJzdF96b25lKCk7IGkgPCBnZXRfbnpvbmVzKCk7IGkrKykgeworCQlpZiAoem9uZV9pbl91c2UoaSkgPT0gem9uZV9jb3VudFtpXSkKKwkJCWNvbnRpbnVlOworCQlpZiAoIXpvbmVfY291bnRbaV0pIHsKKwkJCWlmIChiYWRfem9uZShpKSkKKwkJCQljb250aW51ZTsKKwkJCXByaW50ZihfKCJab25lICVsdTogbWFya2VkIGluIHVzZSwgbm8gZmlsZSB1c2VzIGl0LiIpLAorCQkJICAgICAgIGkpOworCQkJaWYgKGFzayhfKCJVbm1hcmsiKSwgMSkpCisJCQkJdW5tYXJrX3pvbmUoaSk7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoem9uZV9pbl91c2UoaSkpCisJCQlwcmludGYoXygiWm9uZSAlbHU6IGluIHVzZSwgY291bnRlZD0lZFxuIiksCisJCQkgICAgICAgaSwgem9uZV9jb3VudFtpXSk7CisJCWVsc2UKKwkJCXByaW50ZihfKCJab25lICVsdTogbm90IGluIHVzZSwgY291bnRlZD0lZFxuIiksCisJCQkgICAgICAgaSwgem9uZV9jb3VudFtpXSk7CisJfQorfQorCitzdGF0aWMgdm9pZAorY2hlY2sodm9pZCkgeworCW1lbXNldChpbm9kZV9jb3VudCwgMCwgKGdldF9uaW5vZGVzKCkgKyAxKSAqIHNpemVvZigqaW5vZGVfY291bnQpKTsKKwltZW1zZXQoem9uZV9jb3VudCwgMCwgZ2V0X256b25lcygpICogc2l6ZW9mKCp6b25lX2NvdW50KSk7CisJY2hlY2tfem9uZXMoUk9PVF9JTk8pOworCXJlY3Vyc2l2ZV9jaGVjayhST09UX0lOTyk7CisJY2hlY2tfY291bnRzKCk7Cit9CisKK3N0YXRpYyB2b2lkCitjaGVjazIodm9pZCkgeworCW1lbXNldChpbm9kZV9jb3VudCwgMCwgKGdldF9uaW5vZGVzKCkgKyAxKSAqIHNpemVvZigqaW5vZGVfY291bnQpKTsKKwltZW1zZXQoem9uZV9jb3VudCwgMCwgZ2V0X256b25lcygpICogc2l6ZW9mKCp6b25lX2NvdW50KSk7CisJY2hlY2tfem9uZXMyKFJPT1RfSU5PKTsKKwlyZWN1cnNpdmVfY2hlY2syKFJPT1RfSU5PKTsKKwljaGVja19jb3VudHMyKCk7Cit9CisKK2ludAorbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKwlzdHJ1Y3QgdGVybWlvcyB0bXA7CisJaW50IGNvdW50OworCWludCByZXRjb2RlID0gRlNDS19FWF9PSzsKKwlpbnQgaTsKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7Imxpc3QiLCBub19hcmd1bWVudCwgTlVMTCwgJ2wnfSwKKwkJeyJhdXRvIiwgbm9fYXJndW1lbnQsIE5VTEwsICdhJ30sCisJCXsicmVwYWlyIiwgbm9fYXJndW1lbnQsIE5VTEwsICdyJ30sCisJCXsidmVyYm9zZSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAndid9LAorCQl7InN1cGVyIiwgbm9fYXJndW1lbnQsIE5VTEwsICdzJ30sCisJCXsidW5jbGVhcmVkIiwgbm9fYXJndW1lbnQsIE5VTEwsICdtJ30sCisJCXsiZm9yY2UiLCBub19hcmd1bWVudCwgTlVMTCwgJ2YnfSwKKwkJeyJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsIE5VTEwsICdWJ30sCisJCXsiaGVscCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCd9LAorCQl7TlVMTCwgMCwgTlVMTCwgMH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCWlmIChJTk9ERV9TSVpFICogTUlOSVhfSU5PREVTX1BFUl9CTE9DSyAhPSBNSU5JWF9CTE9DS19TSVpFKQorCQlkaWUoXygiYmFkIGlub2RlIHNpemUiKSk7CisJaWYgKElOT0RFMl9TSVpFICogTUlOSVgyX0lOT0RFU19QRVJfQkxPQ0sgIT0gTUlOSVhfQkxPQ0tfU0laRSkKKwkJZGllKF8oImJhZCB2MiBpbm9kZSBzaXplIikpOworCisJd2hpbGUgKChpID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImxhcnZzbWZWaCIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpCisJCXN3aXRjaCAoaSkgeworCQljYXNlICdsJzoKKwkJCWxpc3QgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2EnOgorCQkJYXV0b21hdGljID0gMTsKKwkJCXJlcGFpciA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAncic6CisJCQlhdXRvbWF0aWMgPSAwOworCQkJcmVwYWlyID0gMTsKKwkJCWJyZWFrOworCQljYXNlICd2JzoKKwkJCXZlcmJvc2UgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3MnOgorCQkJc2hvdyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnbSc6CisJCQl3YXJuX21vZGUgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2YnOgorCQkJZm9yY2UgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRlNDS19FWF9PSzsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShzdGRvdXQpOworCQlkZWZhdWx0OgorCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJfQorCWFyZ2MgLT0gb3B0aW5kOworCWFyZ3YgKz0gb3B0aW5kOworCWlmICgwIDwgYXJnYykgeworCQlkZXZpY2VfbmFtZSA9IGFyZ3ZbMF07CisJfSBlbHNlCisJCXVzYWdlKHN0ZGVycik7CisKKwljaGVja19tb3VudCgpOwkJLyogdHJ5aW5nIHRvIGNoZWNrIGEgbW91bnRlZCBmaWxlc3lzdGVtPyAqLworCWlmIChyZXBhaXIgJiYgIWF1dG9tYXRpYyAmJiAoIWlzYXR0eShTVERJTl9GSUxFTk8pIHx8ICFpc2F0dHkoU1RET1VUX0ZJTEVOTykpKQorCQlkaWUoXygibmVlZCB0ZXJtaW5hbCBmb3IgaW50ZXJhY3RpdmUgcmVwYWlycyIpKTsKKworCWRldmljZV9mZCA9IG9wZW4oZGV2aWNlX25hbWUsIHJlcGFpciA/IE9fUkRXUiA6IE9fUkRPTkxZKTsKKwlpZiAoZGV2aWNlX2ZkIDwgMCkKKwkJZGllKF8oImNhbm5vdCBvcGVuICVzOiAlcyIpLCBkZXZpY2VfbmFtZSwgc3RyZXJyb3IoZXJybm8pKTsKKwlmb3IgKGNvdW50ID0gMDsgY291bnQgPCAzOyBjb3VudCsrKQorCQlzeW5jKCk7CisJcmVhZF9zdXBlcmJsb2NrKCk7CisKKwkvKiBEZXRlcm1pbmUgd2hldGhlciBvciBub3Qgd2Ugc2hvdWxkIGNvbnRpbnVlIHdpdGggdGhlIGNoZWNraW5nLiAgVGhpcworCSAqIGlzIGJhc2VkIG9uIHRoZSBzdGF0dXMgb2YgdGhlIGZpbGVzeXN0ZW0gdmFsaWQgYW5kIGVycm9yIGZsYWdzIGFuZAorCSAqIHdoZXRoZXIgb3Igbm90IHRoZSAtZiBzd2l0Y2ggd2FzIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZCBsaW5lLiAgKi8KKwlpZiAoZnNfdmVyc2lvbiA8IDMgJiYgIShTdXBlci5zX3N0YXRlICYgTUlOSVhfRVJST1JfRlMpICYmCisJICAgIChTdXBlci5zX3N0YXRlICYgTUlOSVhfVkFMSURfRlMpICYmICFmb3JjZSkgeworCQlpZiAocmVwYWlyKQorCQkJcHJpbnRmKF8oIiVzIGlzIGNsZWFuLCBubyBjaGVjay5cbiIpLCBkZXZpY2VfbmFtZSk7CisJCXJldHVybiByZXRjb2RlOworCX0gZWxzZSBpZiAoZm9yY2UpCisJCXByaW50ZihfKCJGb3JjaW5nIGZpbGVzeXN0ZW0gY2hlY2sgb24gJXMuXG4iKSwgZGV2aWNlX25hbWUpOworCWVsc2UgaWYgKHJlcGFpcikKKwkJcHJpbnRmKF8oIkZpbGVzeXN0ZW0gb24gJXMgaXMgZGlydHksIG5lZWRzIGNoZWNraW5nLlxuIiksCisJCSAgICAgICBkZXZpY2VfbmFtZSk7CisKKwlyZWFkX3RhYmxlcygpOworCisJLyogUmVzdG9yZSB0aGUgdGVybWluYWwgc3RhdGUgb24gZmF0YWwgc2lnbmFscy4gIFdlIGRvbid0IGRvIHRoaXMgZm9yCisJICogU0lHQUxSTSwgU0lHVVNSMSBvciBTSUdVU1IyLiAgKi8KKwlzaWduYWwoU0lHSU5ULCBmYXRhbHNpZyk7CisJc2lnbmFsKFNJR1FVSVQsIGZhdGFsc2lnKTsKKwlzaWduYWwoU0lHVEVSTSwgZmF0YWxzaWcpOworCisJaWYgKHJlcGFpciAmJiAhYXV0b21hdGljKSB7CisJCXRjZ2V0YXR0cihTVERJTl9GSUxFTk8sICZ0ZXJtaW9zKTsKKwkJdG1wID0gdGVybWlvczsKKwkJdG1wLmNfbGZsYWcgJj0gfihJQ0FOT04gfCBFQ0hPKTsKKwkJdGNzZXRhdHRyKFNURElOX0ZJTEVOTywgVENTQU5PVywgJnRtcCk7CisJCXRlcm1pb3Nfc2V0ID0gMTsKKwl9CisKKwlpZiAoZnNfdmVyc2lvbiA9PSAyIHx8IGZzX3ZlcnNpb24gPT0gMykgeworCQljaGVja19yb290MigpOworCQljaGVjazIoKTsKKwl9IGVsc2UgeworCQljaGVja19yb290KCk7CisJCWNoZWNrKCk7CisJfQorCWlmICh2ZXJib3NlKSB7CisJCXVuc2lnbmVkIGxvbmcgaW5vZGUsIGZyZWU7CisKKwkJZm9yIChpbm9kZSA9IDEsIGZyZWUgPSAwOyBpbm9kZSA8PSBnZXRfbmlub2RlcygpOyBpbm9kZSsrKQorCQkJaWYgKCFpbm9kZV9pbl91c2UoaW5vZGUpKQorCQkJCWZyZWUrKzsKKwkJcHJpbnRmKF8oIlxuJTZsZCBpbm9kZXMgdXNlZCAoJWxkJSUpXG4iKSwKKwkJICAgICAgIChnZXRfbmlub2RlcygpIC0gZnJlZSksCisJCSAgICAgICAxMDAgKiAoZ2V0X25pbm9kZXMoKSAtIGZyZWUpIC8gZ2V0X25pbm9kZXMoKSk7CisJCWZvciAoaW5vZGUgPSBnZXRfZmlyc3Rfem9uZSgpLCBmcmVlID0gMDsgaW5vZGUgPCBnZXRfbnpvbmVzKCk7IGlub2RlKyspCisJCQlpZiAoIXpvbmVfaW5fdXNlKGlub2RlKSkKKwkJCQlmcmVlKys7CisJCXByaW50ZihfKCIlNmxkIHpvbmVzIHVzZWQgKCVsZCUlKVxuIiksIChnZXRfbnpvbmVzKCkgLSBmcmVlKSwKKwkJICAgICAgIDEwMCAqIChnZXRfbnpvbmVzKCkgLSBmcmVlKSAvIGdldF9uem9uZXMoKSk7CisJCXByaW50ZihfKCJcbiU2ZCByZWd1bGFyIGZpbGVzXG4iCisJCQkgIiU2ZCBkaXJlY3Rvcmllc1xuIgorCQkJICIlNmQgY2hhcmFjdGVyIGRldmljZSBmaWxlc1xuIgorCQkJICIlNmQgYmxvY2sgZGV2aWNlIGZpbGVzXG4iCisJCQkgIiU2ZCBsaW5rc1xuIgorCQkJICIlNmQgc3ltYm9saWMgbGlua3NcbiIKKwkJCSAiLS0tLS0tXG4iCisJCQkgIiU2ZCBmaWxlc1xuIiksCisJCSAgICAgICByZWd1bGFyLCBkaXJlY3RvcnksIGNoYXJkZXYsIGJsb2NrZGV2LAorCQkgICAgICAgbGlua3MgLSAyICogZGlyZWN0b3J5ICsgMSwgc3ltbGlua3MsCisJCSAgICAgICB0b3RhbCAtIDIgKiBkaXJlY3RvcnkgKyAxKTsKKwl9CisJaWYgKGNoYW5nZWQpIHsKKwkJd3JpdGVfdGFibGVzKCk7CisJCXByaW50ZihfKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisJCQkgIkZJTEUgU1lTVEVNIEhBUyBCRUVOIENIQU5HRURcbiIKKwkJCSAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIikpOworCQlmb3IgKGNvdW50ID0gMDsgY291bnQgPCAzOyBjb3VudCsrKQorCQkJc3luYygpOworCX0gZWxzZSBpZiAocmVwYWlyKQorCQl3cml0ZV9zdXBlcl9ibG9jaygpOworCisJaWYgKHJlcGFpciAmJiAhYXV0b21hdGljKQorCQl0Y3NldGF0dHIoU1RESU5fRklMRU5PLCBUQ1NBTk9XLCAmdGVybWlvcyk7CisKKwlpZiAoY2xvc2VfZmQoZGV2aWNlX2ZkKSAhPSAwKQorCQllcnIoRlNDS19FWF9FUlJPUiwgXygid3JpdGUgZmFpbGVkIikpOworCWlmIChjaGFuZ2VkKQorCQlyZXRjb2RlICs9IDM7CisJaWYgKGVycm9yc191bmNvcnJlY3RlZCkKKwkJcmV0Y29kZSArPSA0OworCXJldHVybiByZXRjb2RlOworfQpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9pc29zaXplLjggYi9kaXNrLXV0aWxzL2lzb3NpemUuOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ODM4MmYyCi0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9pc29zaXplLjgKQEAgLTAsMCArMSwzOSBAQAorLlRIIElTT1NJWkUgOCAiSnVuZSAyMDExIiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitpc29zaXplIFwtIG91dHB1dCB0aGUgbGVuZ3RoIG9mIGFuIGlzbzk2NjAgZmlsZXN5c3RlbQorLlNIIFNZTk9QU0lTCisuQiBpc29zaXplCisuUkkgW29wdGlvbnNdICIgaXNvOTY2MF9pbWFnZV9maWxlIgorLlNIIERFU0NSSVBUSU9OCisuUFAKK1RoaXMgY29tbWFuZCBvdXRwdXRzIHRoZSBsZW5ndGggb2YgYW4gaXNvOTY2MCBmaWxlc3lzdGVtIHRoYXQKK2lzIGNvbnRhaW5lZCBpbiB0aGUgc3BlY2lmaWVkIGZpbGUuICBUaGlzIGZpbGUgbWF5IGJlIGEgbm9ybWFsIGZpbGUgb3IKK2EgYmxvY2sgZGV2aWNlIChlLmcuXCYgL2Rldi9oZGQgb3IgL2Rldi9zcjApLiAgSW4gdGhlIGFic2VuY2Ugb2YKK2FueSBvcHRpb25zIChhbmQgZXJyb3JzKSwgaXQgd2lsbCBvdXRwdXQgdGhlIHNpemUgb2YgdGhlIGlzbzk2NjAKK2ZpbGVzeXN0ZW0gaW4gYnl0ZXMuICBUaGlzIGNhbiBub3cgYmUgYSBsYXJnZSBudW1iZXIgKD4+IDRcIEdCKS4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLXggLCAiIFwtXC1zZWN0b3JzIgorU2hvdyB0aGUgYmxvY2sgY291bnQgYW5kIGJsb2NrIHNpemUgaW4gaHVtYW4tcmVhZGFibGUgZm9ybS4KK1RoZSBvdXRwdXQgdXNlcyB0aGUgdGVybSAic2VjdG9ycyIgZm9yICJibG9ja3MiLgorLlRQCisuQlIgXC1kICwgIiBcLVwtZGl2aXNvciAiIFxmSW51bWJlclxmUgorT25seSBoYXMgYW4gZWZmZWN0IHdoZW4KKy5CIFwteAoraXMgbm90IGdpdmVuLiAgVGhlIHZhbHVlIHNob3duIChpZiBubyBlcnJvcnMpCitpcyB0aGUgaXNvOTY2MCBmaWxlIHNpemUgaW4gYnl0ZXMgZGl2aWRlZCBieQorLklSIG51bWJlciAuCitTbyBpZgorLkkgbnVtYmVyCitpcyB0aGUgYmxvY2sgc2l6ZSB0aGVuIHRoZSBzaG93biB2YWx1ZSB3aWxsIGJlIHRoZSBibG9jayBjb3VudC4KKy5QUAorVGhlIHNpemUgb2YgdGhlIGZpbGUgKG9yIGJsb2NrIGRldmljZSkgaG9sZGluZyBhbiBpc285NjYwCitmaWxlc3lzdGVtIGNhbiBiZSBtYXJnaW5hbGx5IGxhcmdlciB0aGFuIHRoZSBhY3R1YWwgc2l6ZSBvZiB0aGUKK2lzbzk2NjAgZmlsZXN5c3RlbS4gIE9uZSByZWFzb24gZm9yIHRoaXMgaXMgdGhhdCBjZCB3cml0ZXJzCithcmUgYWxsb3dlZCB0byBhZGQgInJ1biBvdXQiIHNlY3RvcnMgYXQgdGhlIGVuZCBvZiBhbiBpc285NjYwCitpbWFnZS4KKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBpc29zaXplIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGZ0cDovL1w6ZnRwLmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9pc29zaXplLmMgYi9kaXNrLXV0aWxzL2lzb3NpemUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMzViZTZjCi0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9pc29zaXplLmMKQEAgLTAsMCArMSwyMzMgQEAKKy8qCisgKiBpc29zaXplLmMgLSBBbmRyaWVzIEJyb3V3ZXIsIDAwMDYwOAorICoKKyAqIHVzZSBoZWFkZXIgaW5mbyB0byBmaW5kIHNpemUgb2YgaXNvOTY2MCBmaWxlIHN5c3RlbQorICogb3V0cHV0IGEgbnVtYmVyIC0gdXNlZnVsIGluIHNjcmlwdHMKKyAqCisgKiBTeW5vcHNpczoKKyAqICAgIGlzb3NpemUgWy14XSBbLWQgPG51bT5dIDxmaWxlbmFtZT4KKyAqICAgICAgICB3aGVyZSAiLXgiIGdpdmVzIGxlbmd0aCBpbiBzZWN0b3JzIGFuZCBzZWN0b3Igc2l6ZSB3aGlsZQorICogICAgICAgICAgICAgIHdpdGhvdXQgdGhpcyBhcmd1bWVudCB0aGUgc2l6ZSBpcyBnaXZlbiBpbiBieXRlcworICogICAgICAgIHdpdGhvdXQgIi14IiBnaXZlcyBsZW5ndGggaW4gYnl0ZXMgdW5sZXNzICItZCA8bnVtPiIgaXMKKyAqCQlnaXZlbi4gSW4gdGhlIGxhdHRlciBjYXNlIHRoZSBsZW5ndGggaW4gYnl0ZXMgZGl2aWRlZAorICoJCWJ5IDxudW0+IGlzIGdpdmVuCisgKgorICogIFZlcnNpb24gMi4wMyAyMDAwLzEyLzIxCisgKiAgICAgLSBhZGQgIi1kIDxudW0+IiBvcHRpb24gYW5kIHVzZSBsb25nIGxvbmcgdG8gZml4IHRoaW5ncyA+IDIgR0IKKyAqICBWZXJzaW9uIDIuMDIgMjAwMC8xMC8xMQorICogICAgIC0gZXJyb3IgbWVzc2FnZXMgb24gSU8gZmFpbHVyZXMgW0QuIEdpbGJlcnRdCisgKgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCisjZGVmaW5lIElTT0RDTChmcm9tLCB0bykgKHRvIC0gZnJvbSArIDEpCisKK3N0YXRpYyBpbnQgaXNfaXNvKGludCBmZCkKK3sKKwljaGFyIGxhYmVsWzhdOworCWlmIChwcmVhZChmZCwgJmxhYmVsLCA4LCAweDgwMDApID09IC0xKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gbWVtY21wKCZsYWJlbCwgJiJcMUNEMDAxXDEiLCA4KTsKK30KKworc3RhdGljIGludCBpc29udW1fNzIxKHVuc2lnbmVkIGNoYXIgKnApCit7CisJcmV0dXJuICgocFswXSAmIDB4ZmYpCisJCXwgKChwWzFdICYgMHhmZikgPDwgOCkpOworfQorCitzdGF0aWMgaW50IGlzb251bV83MjIodW5zaWduZWQgY2hhciAqcCkKK3sKKwlyZXR1cm4gKChwWzFdICYgMHhmZikKKwkJfCAoKHBbMF0gJiAweGZmKSA8PCA4KSk7Cit9CisKK3N0YXRpYyBpbnQgaXNvbnVtXzcyMyh1bnNpZ25lZCBjaGFyICpwLCBpbnQgeGZsYWcpCit7CisJaW50IGxlID0gaXNvbnVtXzcyMShwKTsKKwlpbnQgYmUgPSBpc29udW1fNzIyKHAgKyAyKTsKKwlpZiAoeGZsYWcgJiYgbGUgIT0gYmUpCisJCS8qIHRyYW5zbGF0aW9uIGlzIHVzZWxlc3MgKi8KKwkJd2FybngoIjcyM2Vycm9yOiBsZT0lZCBiZT0lZCIsIGxlLCBiZSk7CisJcmV0dXJuIChsZSk7Cit9CisKK3N0YXRpYyBpbnQgaXNvbnVtXzczMSh1bnNpZ25lZCBjaGFyICpwKQoreworCXJldHVybiAoKHBbMF0gJiAweGZmKQorCQl8ICgocFsxXSAmIDB4ZmYpIDw8IDgpCisJCXwgKChwWzJdICYgMHhmZikgPDwgMTYpCisJCXwgKChwWzNdICYgMHhmZikgPDwgMjQpKTsKK30KKworc3RhdGljIGludCBpc29udW1fNzMyKHVuc2lnbmVkIGNoYXIgKnApCit7CisJcmV0dXJuICgocFszXSAmIDB4ZmYpCisJCXwgKChwWzJdICYgMHhmZikgPDwgOCkKKwkJfCAoKHBbMV0gJiAweGZmKSA8PCAxNikKKwkJfCAoKHBbMF0gJiAweGZmKSA8PCAyNCkpOworfQorCitzdGF0aWMgaW50IGlzb251bV83MzModW5zaWduZWQgY2hhciAqcCwgaW50IHhmbGFnKQoreworCWludCBsZSA9IGlzb251bV83MzEocCk7CisJaW50IGJlID0gaXNvbnVtXzczMihwICsgNCk7CisJaWYgKHhmbGFnICYmIGxlICE9IGJlKQorCQkvKiB0cmFuc2xhdGlvbiBpcyB1c2VsZXNzICovCisJCXdhcm54KCI3MzNlcnJvcjogbGU9JWQgYmU9JWQiLCBsZSwgYmUpOworCXJldHVybiAobGUpOworfQorCitzdHJ1Y3QgaXNvX3ByaW1hcnlfZGVzY3JpcHRvcgoreworCXVuc2lnbmVkIGNoYXIgdHlwZQkJCVtJU09EQ0wgKCAgIDEsCSAgMSldOyAvKiA3MTEgKi8KKwl1bnNpZ25lZCBjaGFyIGlkCQkJW0lTT0RDTCAoICAgMiwJICA2KV07CisJdW5zaWduZWQgY2hhciB2ZXJzaW9uCQkJW0lTT0RDTCAoICAgNywJICA3KV07IC8qIDcxMSAqLworCXVuc2lnbmVkIGNoYXIgdW51c2VkMQkJCVtJU09EQ0wgKCAgIDgsCSAgOCldOworCXVuc2lnbmVkIGNoYXIgc3lzdGVtX2lkCQkJW0lTT0RDTCAoICAgOSwJIDQwKV07IC8qIGF1Y2hhcnMgKi8KKwl1bnNpZ25lZCBjaGFyIHZvbHVtZV9pZAkJCVtJU09EQ0wgKCAgNDEsCSA3MildOyAvKiBkdWNoYXJzICovCisJdW5zaWduZWQgY2hhciB1bnVzZWQyCQkJW0lTT0RDTCAoICA3MywJIDgwKV07CisJdW5zaWduZWQgY2hhciB2b2x1bWVfc3BhY2Vfc2l6ZQkJW0lTT0RDTCAoICA4MSwJIDg4KV07IC8qIDczMyAqLworCXVuc2lnbmVkIGNoYXIgdW51c2VkMwkJCVtJU09EQ0wgKCAgODksCTEyMCldOworCXVuc2lnbmVkIGNoYXIgdm9sdW1lX3NldF9zaXplCQlbSVNPRENMICggMTIxLAkxMjQpXTsgLyogNzIzICovCisJdW5zaWduZWQgY2hhciB2b2x1bWVfc2VxdWVuY2VfbnVtYmVyCVtJU09EQ0wgKCAxMjUsCTEyOCldOyAvKiA3MjMgKi8KKwl1bnNpZ25lZCBjaGFyIGxvZ2ljYWxfYmxvY2tfc2l6ZQlbSVNPRENMICggMTI5LAkxMzIpXTsgLyogNzIzICovCisJdW5zaWduZWQgY2hhciBwYXRoX3RhYmxlX3NpemUJCVtJU09EQ0wgKCAxMzMsCTE0MCldOyAvKiA3MzMgKi8KKwl1bnNpZ25lZCBjaGFyIHR5cGVfbF9wYXRoX3RhYmxlCQlbSVNPRENMICggMTQxLAkxNDQpXTsgLyogNzMxICovCisJdW5zaWduZWQgY2hhciBvcHRfdHlwZV9sX3BhdGhfdGFibGUJW0lTT0RDTCAoIDE0NSwJMTQ4KV07IC8qIDczMSAqLworCXVuc2lnbmVkIGNoYXIgdHlwZV9tX3BhdGhfdGFibGUJCVtJU09EQ0wgKCAxNDksCTE1MildOyAvKiA3MzIgKi8KKwl1bnNpZ25lZCBjaGFyIG9wdF90eXBlX21fcGF0aF90YWJsZQlbSVNPRENMICggMTUzLAkxNTYpXTsgLyogNzMyICovCisJdW5zaWduZWQgY2hhciByb290X2RpcmVjdG9yeV9yZWNvcmQJW0lTT0RDTCAoIDE1NywJMTkwKV07IC8qIDkuMSAqLworCXVuc2lnbmVkIGNoYXIgdm9sdW1lX3NldF9pZAkJW0lTT0RDTCAoIDE5MSwJMzE4KV07IC8qIGR1Y2hhcnMgKi8KKwl1bnNpZ25lZCBjaGFyIHB1Ymxpc2hlcl9pZAkJW0lTT0RDTCAoIDMxOSwJNDQ2KV07IC8qIGFjaGFycyAqLworCXVuc2lnbmVkIGNoYXIgcHJlcGFyZXJfaWQJCVtJU09EQ0wgKCA0NDcsCTU3NCldOyAvKiBhY2hhcnMgKi8KKwl1bnNpZ25lZCBjaGFyIGFwcGxpY2F0aW9uX2lkCQlbSVNPRENMICggNTc1LAk3MDIpXTsgLyogYWNoYXJzICovCisJdW5zaWduZWQgY2hhciBjb3B5cmlnaHRfZmlsZV9pZAkJW0lTT0RDTCAoIDcwMywJNzM5KV07IC8qIDcuNSBkY2hhcnMgKi8KKwl1bnNpZ25lZCBjaGFyIGFic3RyYWN0X2ZpbGVfaWQJCVtJU09EQ0wgKCA3NDAsCTc3NildOyAvKiA3LjUgZGNoYXJzICovCisJdW5zaWduZWQgY2hhciBiaWJsaW9ncmFwaGljX2ZpbGVfaWQJW0lTT0RDTCAoIDc3NywJODEzKV07IC8qIDcuNSBkY2hhcnMgKi8KKwl1bnNpZ25lZCBjaGFyIGNyZWF0aW9uX2RhdGUJCVtJU09EQ0wgKCA4MTQsCTgzMCldOyAvKiA4LjQuMjYuMSAqLworCXVuc2lnbmVkIGNoYXIgbW9kaWZpY2F0aW9uX2RhdGUJCVtJU09EQ0wgKCA4MzEsCTg0NyldOyAvKiA4LjQuMjYuMSAqLworCXVuc2lnbmVkIGNoYXIgZXhwaXJhdGlvbl9kYXRlCQlbSVNPRENMICggODQ4LAk4NjQpXTsgLyogOC40LjI2LjEgKi8KKwl1bnNpZ25lZCBjaGFyIGVmZmVjdGl2ZV9kYXRlCQlbSVNPRENMICggODY1LAk4ODEpXTsgLyogOC40LjI2LjEgKi8KKwl1bnNpZ25lZCBjaGFyIGZpbGVfc3RydWN0dXJlX3ZlcnNpb24JW0lTT0RDTCAoIDg4MiwJODgyKV07IC8qIDcxMSAqLworCXVuc2lnbmVkIGNoYXIgdW51c2VkNAkJCVtJU09EQ0wgKCA4ODMsCTg4MyldOworCXVuc2lnbmVkIGNoYXIgYXBwbGljYXRpb25fZGF0YQkJW0lTT0RDTCAoIDg4NCwgMTM5NSldOworCXVuc2lnbmVkIGNoYXIgdW51c2VkNQkJCVtJU09EQ0wgKDEzOTYsIDIwNDgpXTsKK307CisKK3N0YXRpYyB2b2lkIGlzb3NpemUoaW50IGFyZ2MsIGNoYXIgKmZpbGVuYW1lcCwgaW50IHhmbGFnLCBsb25nIGRpdmlzb3IpCit7CisJaW50IGZkLCBuc2Vjcywgc3NpemU7CisJc3RydWN0IGlzb19wcmltYXJ5X2Rlc2NyaXB0b3IgaXBkOworCisJaWYgKChmZCA9IG9wZW4oZmlsZW5hbWVwLCBPX1JET05MWSkpIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgZmlsZW5hbWVwKTsKKwlpZiAoaXNfaXNvKGZkKSkKKwkJd2FybngoXygiJXM6IG1pZ2h0IG5vdCBiZSBhbiBJU08gZmlsZXN5c3RlbSIpLCBmaWxlbmFtZXApOworCisJaWYgKGxzZWVrKGZkLCAxNiA8PCAxMSwgMCkgPT0gKG9mZl90KSAtIDEpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oInNlZWsgZXJyb3Igb24gJXMiKSwgZmlsZW5hbWVwKTsKKworCWlmIChyZWFkKGZkLCAmaXBkLCBzaXplb2YoaXBkKSkgPD0gMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygicmVhZCBlcnJvciBvbiAlcyIpLCBmaWxlbmFtZXApOworCisJbnNlY3MgPSBpc29udW1fNzMzKGlwZC52b2x1bWVfc3BhY2Vfc2l6ZSwgeGZsYWcpOworCS8qIGlzb251bV83MjMgcmV0dXJucyBub3dhZGF5cyBhbHdheXMgMjA0OCAqLworCXNzaXplID0gaXNvbnVtXzcyMyhpcGQubG9naWNhbF9ibG9ja19zaXplLCB4ZmxhZyk7CisKKwlpZiAoMSA8IGFyZ2MpCisJCXByaW50ZigiJXM6ICIsIGZpbGVuYW1lcCk7CisJaWYgKHhmbGFnKSB7CisJCXByaW50ZihfKCJzZWN0b3IgY291bnQ6ICVkLCBzZWN0b3Igc2l6ZTogJWRcbiIpLCBuc2Vjcywgc3NpemUpOworCX0gZWxzZSB7CisJCWxvbmcgbG9uZyBwcm9kdWN0ID0gbnNlY3M7CisKKwkJaWYgKGRpdmlzb3IgPT0gMCkKKwkJCXByaW50ZigiJWxsZFxuIiwgcHJvZHVjdCAqIHNzaXplKTsKKwkJZWxzZSBpZiAoZGl2aXNvciA9PSBzc2l6ZSkKKwkJCXByaW50ZigiJWRcbiIsIG5zZWNzKTsKKwkJZWxzZQorCQkJcHJpbnRmKCIlbGxkXG4iLCAocHJvZHVjdCAqIHNzaXplKSAvIGRpdmlzb3IpOworCX0KKworCWNsb3NlKGZkKTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqb3V0KQoreworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwKKwkJXygiICVzIFtvcHRpb25zXSA8aXNvOTY2MF9pbWFnZV9maWxlPlxuIiksCisJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJTaG93IHRoZSBsZW5ndGggb2YgYW4gSVNPLTk2NjAgZmlsZXN5c3RlbS5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWQsIC0tZGl2aXNvcj08bnVtYmVyPiAgZGl2aWRlIHRoZSBhbW91bnQgb2YgYnl0ZXMgYnkgPG51bWJlcj5cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBzaG93IHNlY3RvciBjb3VudCBhbmQgc2l6ZVxuIiksIG91dCk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKFVTQUdFX0hFTFAsIG91dCk7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoImlzb3NpemUoOCkiKSk7CisKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IGosIGN0LCBvcHQsIHhmbGFnID0gMDsKKwlsb25nIGRpdmlzb3IgPSAwOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJkaXZpc29yIiwgcmVxdWlyZWRfYXJndW1lbnQsIDAsICdkJ30sCisJCXsic2VjdG9ycyIsIG5vX2FyZ3VtZW50LCAwLCAneCd9LAorCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgMCwgJ1YnfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIDAsICdoJ30sCisJCXtOVUxMLCAwLCAwLCAwfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChvcHQgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiZDp4VmgiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKQorCQlzd2l0Y2ggKG9wdCkgeworCQljYXNlICdkJzoKKwkJCWRpdmlzb3IgPQorCQkJICAgIHN0cnRvbF9vcl9lcnIob3B0YXJnLAorCQkJCQkgIF8oImludmFsaWQgZGl2aXNvciBhcmd1bWVudCIpKTsKKwkJCWJyZWFrOworCQljYXNlICd4JzoKKwkJCXhmbGFnID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShzdGRvdXQpOworCQlkZWZhdWx0OgorCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJfQorCisJY3QgPSBhcmdjIC0gb3B0aW5kOworCisJaWYgKGN0IDw9IDApCisJCXVzYWdlKHN0ZGVycik7CisKKwlmb3IgKGogPSBvcHRpbmQ7IGogPCBhcmdjOyBqKyspCisJCWlzb3NpemUoY3QsIGFyZ3Zbal0sIHhmbGFnLCBkaXZpc29yKTsKKworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL21pbml4X3Byb2dyYW1zLmggYi9kaXNrLXV0aWxzL21pbml4X3Byb2dyYW1zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2FkMzA4ZAotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvbWluaXhfcHJvZ3JhbXMuaApAQCAtMCwwICsxLDExOCBAQAorI2lmbmRlZiBVVElMX0xJTlVYX01JTklYX1BST0dSQU1TX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9NSU5JWF9QUk9HUkFNU19ICisKKyNpbmNsdWRlICJtaW5peC5oIgorCisvKgorICogR2xvYmFsIHZhcmlhYmxlcy4KKyAqLworZXh0ZXJuIGludCBmc192ZXJzaW9uOworZXh0ZXJuIGNoYXIgKnN1cGVyX2Jsb2NrX2J1ZmZlcjsKKworI2RlZmluZSBTdXBlciAoKihzdHJ1Y3QgbWluaXhfc3VwZXJfYmxvY2sgKikgc3VwZXJfYmxvY2tfYnVmZmVyKQorI2RlZmluZSBTdXBlcjMgKCooc3RydWN0IG1pbml4M19zdXBlcl9ibG9jayAqKSBzdXBlcl9ibG9ja19idWZmZXIpCisKKyNkZWZpbmUgSU5PREVfU0laRSAoc2l6ZW9mKHN0cnVjdCBtaW5peF9pbm9kZSkpCisjZGVmaW5lIElOT0RFMl9TSVpFIChzaXplb2Yoc3RydWN0IG1pbml4Ml9pbm9kZSkpCisKKyNkZWZpbmUgQklUU19QRVJfQkxPQ0sgKE1JTklYX0JMT0NLX1NJWkUgPDwgMykKKworI2RlZmluZSBVUFBFUihzaXplLG4pICgoc2l6ZSsoKG4pLTEpKS8obikpCisKKy8qCisgKiBJbmxpbmUgZnVuY3Rpb25zLgorICovCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgZ2V0X25pbm9kZXModm9pZCkKK3sKKwlzd2l0Y2ggKGZzX3ZlcnNpb24pIHsKKwljYXNlIDM6CisJCXJldHVybiBTdXBlcjMuc19uaW5vZGVzOworCWRlZmF1bHQ6CisJCXJldHVybiBTdXBlci5zX25pbm9kZXM7CisJfQorfQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgZ2V0X256b25lcyh2b2lkKQoreworCXN3aXRjaCAoZnNfdmVyc2lvbikgeworCWNhc2UgMzoKKwkJcmV0dXJuIFN1cGVyMy5zX3pvbmVzOworCWNhc2UgMjoKKwkJcmV0dXJuIFN1cGVyLnNfem9uZXM7CisJZGVmYXVsdDoKKwkJcmV0dXJuIFN1cGVyLnNfbnpvbmVzOworCX0KK30KKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGdldF9uaW1hcHModm9pZCkKK3sKKwlzd2l0Y2ggKGZzX3ZlcnNpb24pIHsKKwljYXNlIDM6CisJCXJldHVybiBTdXBlcjMuc19pbWFwX2Jsb2NrczsKKwlkZWZhdWx0OgorCQlyZXR1cm4gU3VwZXIuc19pbWFwX2Jsb2NrczsKKwl9Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBnZXRfbnptYXBzKHZvaWQpCit7CisJc3dpdGNoIChmc192ZXJzaW9uKSB7CisJY2FzZSAzOgorCQlyZXR1cm4gU3VwZXIzLnNfem1hcF9ibG9ja3M7CisJZGVmYXVsdDoKKwkJcmV0dXJuIFN1cGVyLnNfem1hcF9ibG9ja3M7CisJfQorfQorCitzdGF0aWMgaW5saW5lIG9mZl90IGdldF9maXJzdF96b25lKHZvaWQpCit7CisJc3dpdGNoIChmc192ZXJzaW9uKSB7CisJY2FzZSAzOgorCQlyZXR1cm4gU3VwZXIzLnNfZmlyc3RkYXRhem9uZTsKKwlkZWZhdWx0OgorCQlyZXR1cm4gU3VwZXIuc19maXJzdGRhdGF6b25lOworCX0KK30KKworc3RhdGljIGlubGluZSBzaXplX3QgZ2V0X3pvbmVfc2l6ZSh2b2lkKQoreworCXN3aXRjaCAoZnNfdmVyc2lvbikgeworCWNhc2UgMzoKKwkJcmV0dXJuIFN1cGVyMy5zX2xvZ196b25lX3NpemU7CisJZGVmYXVsdDoKKwkJcmV0dXJuIFN1cGVyLnNfbG9nX3pvbmVfc2l6ZTsKKwl9Cit9CisKK3N0YXRpYyBpbmxpbmUgc2l6ZV90IGdldF9tYXhfc2l6ZSh2b2lkKQoreworCXN3aXRjaCAoZnNfdmVyc2lvbikgeworCWNhc2UgMzoKKwkJcmV0dXJuIFN1cGVyMy5zX21heF9zaXplOworCWRlZmF1bHQ6CisJCXJldHVybiBTdXBlci5zX21heF9zaXplOworCX0KK30KKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGlub2RlX2Jsb2Nrcyh2b2lkKQoreworCXN3aXRjaCAoZnNfdmVyc2lvbikgeworCWNhc2UgMzoKKwljYXNlIDI6CisJCXJldHVybiBVUFBFUihnZXRfbmlub2RlcygpLCBNSU5JWDJfSU5PREVTX1BFUl9CTE9DSyk7CisJZGVmYXVsdDoKKwkJcmV0dXJuIFVQUEVSKGdldF9uaW5vZGVzKCksIE1JTklYX0lOT0RFU19QRVJfQkxPQ0spOworCX0KK30KKworc3RhdGljIGlubGluZSBvZmZfdCBmaXJzdF96b25lX2RhdGEodm9pZCkKK3sKKwlyZXR1cm4gMiArIGdldF9uaW1hcHMoKSArIGdldF9uem1hcHMoKSArIGlub2RlX2Jsb2NrcygpOworfQorCitzdGF0aWMgaW5saW5lIHNpemVfdCBnZXRfaW5vZGVfYnVmZmVyX3NpemUodm9pZCkKK3sKKwlyZXR1cm4gaW5vZGVfYmxvY2tzKCkgKiBNSU5JWF9CTE9DS19TSVpFOworfQorCisjZW5kaWYJCQkJLyogVVRJTF9MSU5VWF9NSU5JWF9QUk9HUkFNU19IICovCmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL21rZnMuOCBiL2Rpc2stdXRpbHMvbWtmcy44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyNzkyNjAKLS0tIC9kZXYvbnVsbAorKysgYi9kaXNrLXV0aWxzL21rZnMuOApAQCAtMCwwICsxLDk0IEBACisuVEggTUtGUyA4ICJKdW5lIDIwMTEiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK21rZnMgXC0gYnVpbGQgYSBMaW51eCBmaWxlc3lzdGVtCisuU0ggU1lOT1BTSVMKKy5CIG1rZnMKK1tvcHRpb25zXQorLlJCIFsgXC10CisuSVIgdHlwZSAiXSBbIiBmcy1vcHRpb25zIF0gIiBkZXZpY2UgIiBbIHNpemUgXQorLlNIIERFU0NSSVBUSU9OCisuQiBUaGlzIG1rZnMgZnJvbnRlbmQgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgZmlsZXN5c3RlbSBzcGVjaWZpYyBta2ZzLjx0eXBlPiB1dGlscy4KKy5QUAorLkIgbWtmcworaXMgdXNlZCB0byBidWlsZCBhIExpbnV4IGZpbGVzeXN0ZW0gb24gYSBkZXZpY2UsIHVzdWFsbHkKK2EgaGFyZCBkaXNrIHBhcnRpdGlvbi4gIFRoZQorLkkgZGV2aWNlCithcmd1bWVudCBpcyBlaXRoZXIgdGhlIGRldmljZSBuYW1lIChlLmcuCisuSVIgL2Rldi9oZGExICwKKy5JUiAvZGV2L3NkYjIgKSwKK29yIGEgcmVndWxhciBmaWxlIHRoYXQgc2hhbGwgY29udGFpbiB0aGUgZmlsZXN5c3RlbS4gIFRoZQorLkkgc2l6ZQorYXJndW1lbnQgaXMgdGhlIG51bWJlciBvZiBibG9ja3MgdG8gYmUgdXNlZCBmb3IgdGhlIGZpbGVzeXN0ZW0uCisuUFAKK1RoZSBleGl0IGNvZGUgcmV0dXJuZWQgYnkKKy5CIG1rZnMKK2lzIDAgb24gc3VjY2VzcyBhbmQgMSBvbiBmYWlsdXJlLgorLlBQCitJbiBhY3R1YWxpdHksCisuQiBta2ZzCitpcyBzaW1wbHkgYSBmcm9udC1lbmQgZm9yIHRoZSB2YXJpb3VzIGZpbGVzeXN0ZW0gYnVpbGRlcnMKKyhcZkJta2ZzLlxmSWZzdHlwZVxmUikKK2F2YWlsYWJsZSB1bmRlciBMaW51eC4KK1RoZSBmaWxlc3lzdGVtLXNwZWNpZmljIGJ1aWxkZXIgaXMgc2VhcmNoZWQgZm9yIHZpYSB5b3VyIFBBVEgKK2Vudmlyb25tZW50IHNldHRpbmcgb25seS4KK1BsZWFzZSBzZWUgdGhlIGZpbGVzeXN0ZW0tc3BlY2lmaWMgYnVpbGRlciBtYW51YWwgcGFnZXMgZm9yCitmdXJ0aGVyIGRldGFpbHMuCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC10ICwgIiBcLVwtdHlwZSAiIFxmSXR5cGVcZlIKK1NwZWNpZnkgdGhlIFxmSXR5cGVcZlIgb2YgZmlsZXN5c3RlbSB0byBiZSBidWlsdC4KK0lmIG5vdCBzcGVjaWZpZWQsIHRoZSBkZWZhdWx0IGZpbGVzeXN0ZW0gdHlwZQorKGN1cnJlbnRseSBleHQyKSBpcyB1c2VkLgorLlRQCisuSSBmcy1vcHRpb25zCitGaWxlc3lzdGVtLXNwZWNpZmljIG9wdGlvbnMgdG8gYmUgcGFzc2VkIHRvIHRoZSByZWFsIGZpbGVzeXN0ZW0gYnVpbGRlci4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcmJvc2UiCitQcm9kdWNlIHZlcmJvc2Ugb3V0cHV0LCBpbmNsdWRpbmcgYWxsIGZpbGVzeXN0ZW0tc3BlY2lmaWMgY29tbWFuZHMKK3RoYXQgYXJlIGV4ZWN1dGVkLgorU3BlY2lmeWluZyB0aGlzIG9wdGlvbiBtb3JlIHRoYW4gb25jZSBpbmhpYml0cyBleGVjdXRpb24gb2YgYW55CitmaWxlc3lzdGVtLXNwZWNpZmljIGNvbW1hbmRzLgorVGhpcyBpcyByZWFsbHkgb25seSB1c2VmdWwgZm9yIHRlc3RpbmcuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LiAgKE9wdGlvbiBcZkJcLVZcZlIgd2lsbCBkaXNwbGF5Cit2ZXJzaW9uIGluZm9ybWF0aW9uIG9ubHkgd2hlbiBpdCBpcyB0aGUgb25seSBwYXJhbWV0ZXIsIG90aGVyd2lzZSBpdAord2lsbCB3b3JrIGFzIFxmQlwtXC12ZXJib3NlXGZSLikKKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBCVUdTCitBbGwgZ2VuZXJpYyBvcHRpb25zIG11c3QgcHJlY2VkZSBhbmQgbm90IGJlIGNvbWJpbmVkIHdpdGgKK2ZpbGVzeXN0ZW0tc3BlY2lmaWMgb3B0aW9ucy4KK1NvbWUgZmlsZXN5c3RlbS1zcGVjaWZpYyBwcm9ncmFtcyBkbyBub3QgYXV0b21hdGljYWxseQorZGV0ZWN0IHRoZSBkZXZpY2Ugc2l6ZSBhbmQgcmVxdWlyZSB0aGUKKy5JIHNpemUKK3BhcmFtZXRlciB0byBiZSBzcGVjaWZpZWQuCisuU0ggQVVUSE9SUworRGF2aWQgRW5nZWwgKGRhdmlkQG9kcy5jb20pCisuYnIKK0ZyZWQgTi5cJiB2YW4gS2VtcGVuICh3YWx0amVAdXdhbHQubmwubXVnbmV0Lm9yZykKKy5icgorUm9uIFNvbW1lbGluZyAoc29tbWVsQHNjaS5rdW4ubmwpCisuYnIKK1RoZSBtYW51YWwgcGFnZSB3YXMgc2hhbWVsZXNzbHkgYWRhcHRlZCBmcm9tIFJlbXkgQ2FyZCdzIHZlcnNpb24KK2ZvciB0aGUgZXh0MiBmaWxlc3lzdGVtLgorLlNIIFNFRSBBTFNPCisubmEKKy5CUiBmcyAoNSksCisuQlIgYmFkYmxvY2tzICg4KSwKKy5CUiBmc2NrICg4KSwKKy5CUiBta2Rvc2ZzICg4KSwKKy5CUiBta2UyZnMgKDgpLAorLkJSIG1rZnMuYmZzICg4KSwKKy5CUiBta2ZzLmV4dDIgKDgpLAorLkJSIG1rZnMuZXh0MyAoOCksCisuQlIgbWtmcy5leHQ0ICg4KSwKKy5CUiBta2ZzLm1pbml4ICg4KSwKKy5CUiBta2ZzLm1zZG9zICg4KSwKKy5CUiBta2ZzLnZmYXQgKDgpLAorLkJSIG1rZnMueGZzICg4KQorLmFkCisuU0ggQVZBSUxBQklMSVRZCitUaGUgbWtmcyBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2Z0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvbWtmcy5iZnMuOCBiL2Rpc2stdXRpbHMvbWtmcy5iZnMuOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzY5MTA1Ci0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9ta2ZzLmJmcy44CkBAIC0wLDAgKzEsNTggQEAKKy5cIiBDb3B5cmlnaHQgMTk5OSBBbmRyaWVzIEUuIEJyb3V3ZXIgKGFlYkBjd2kubmwpCisuXCIgTWF5IGJlIGZyZWVseSBkaXN0cmlidXRlZC4KKy5USCBNS0ZTLkJGUyA4ICJKdWx5IDIwMTEiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK21rZnMuYmZzIFwtIG1ha2UgYW4gU0NPIGJmcyBmaWxlc3lzdGVtCisuU0ggU1lOT1BTSVMKKy5CIG1rZnMuYmZzCisuUkkgW29wdGlvbnNdICIgZGV2aWNlICIgWyBibG9jay1jb3VudCBdCisuU0ggREVTQ1JJUFRJT04KKy5CIG1rZnMuYmZzCitjcmVhdGVzIGFuIFNDTyBiZnMgZmlsZXN5c3RlbSBvbiBhIGJsb2NrIGRldmljZQorKHVzdWFsbHkgYSBkaXNrIHBhcnRpdGlvbiBvciBhIGZpbGUgYWNjZXNzZWQgdmlhIHRoZSBsb29wIGRldmljZSkuCisuUFAKK1RoZQorLkkgYmxvY2stY291bnQKK3BhcmFtZXRlciBpcyB0aGUgZGVzaXJlZCBzaXplIG9mIHRoZSBmaWxlc3lzdGVtLCBpbiBibG9ja3MuCitJZiBub3RoaW5nIGlzIHNwZWNpZmllZCwgdGhlIGVudGlyZSBwYXJ0aXRpb24gd2lsbCBiZSB1c2VkLgorLlNIIE9QVElPTlMKKy5UUAorLkJSIFwtTiAsICIgXC1cLWlub2RlcyAiIFxmSW51bWJlclxmUgorU3BlY2lmeSB0aGUgZGVzaXJlZCBcZkludW1iZXJcZlIgb2YgaW5vZGVzIChhdCBtb3N0IDUxMikuCitJZiBub3RoaW5nIGlzIHNwZWNpZmllZCwgc29tZSBkZWZhdWx0IG51bWJlciBpbiB0aGUgcmFuZ2UgNDhcKGVuNTEyIGlzIHBpY2tlZAorZGVwZW5kaW5nIG9uIHRoZSBzaXplIG9mIHRoZSBwYXJ0aXRpb24uCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12bmFtZSAiIFxmSWxhYmVsXGZSCitTcGVjaWZ5IHRoZSB2b2x1bWUgXGZJbGFiZWxcZlIuICBJIGhhdmUgbm8gaWRlYSBpZi93aGVyZSB0aGlzIGlzIHVzZWQuCisuVFAKKy5CUiBcLUYgLCAiIFwtXC1mbmFtZSAiIFxmSW5hbWVcZlIKK1NwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gXGZJbmFtZVxmUi4gIEkgaGF2ZSBubyBpZGVhIGlmL3doZXJlIHRoaXMgaXMgdXNlZC4KKy5UUAorLkJSIFwtdiAsICIgXC1cLXZlcmJvc2UiCitFeHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZS4KKy5UUAorLkIgXC1jCitUaGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkLgorLlRQCisuQiBcLWwKK1RoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorT3B0aW9uCisuQiBcLVYKK29ubHkgd29ya3MgYXMKKy5CIFwtXC12ZXJzaW9uCit3aGVuIGl0IGlzIHRoZSBvbmx5IG9wdGlvbi4KKy5TSCAiRVhJVCBDT0RFUyIKK1RoZSBleGl0IGNvZGUgcmV0dXJuZWQgYnkKKy5CIG1rZnMuYmZzCitpcyAwIHdoZW4gYWxsIHdlbnQgd2VsbCwgYW5kIDEgd2hlbiBzb21ldGhpbmcgd2VudCB3cm9uZy4KKy5TSCAiU0VFIEFMU08iCisuQlIgbWtmcyAoOCkKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBta2ZzLmJmcyBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2Z0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvbWtmcy5iZnMuYyBiL2Rpc2stdXRpbHMvbWtmcy5iZnMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNjZkYTE0Ci0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9ta2ZzLmJmcy5jCkBAIC0wLDAgKzEsMzAyIEBACisvKgorICogIG1rZnMuYmZzIC0gQ3JlYXRlIFNDTyBCRlMgZmlsZXN5c3RlbSAtIGFlYiwgMTk5OS0wOS0wNworICoKKyAqCVVzYWdlOiBta2ZzLmJmcyBbLU4gbnItb2YtaW5vZGVzXSBbLVYgdm9sdW1lLW5hbWVdIFstRiBmc25hbWVdIGRldmljZQorICovCisKKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHRpbWUuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgImJsa2Rldi5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAiYml0b3BzLmgiCisKKyNkZWZpbmUgQkZTX1JPT1RfSU5PCQkyCisjZGVmaW5lIEJGU19OQU1FTEVOCQkxNAorI2RlZmluZSBCRlNfQkxPQ0tTSVpFCQk1MTIKKyNkZWZpbmUgQkZTX1NVUEVSX01BR0lDCQkweDFiYWRmYWNlCisKKy8qIHN1cGVyYmxvY2sgLSA1MTIgYnl0ZXMgKi8KK3N0cnVjdCBiZnNzYiB7CisJdWludDMyX3Qgc19tYWdpYzsKKwl1aW50MzJfdCBzX3N0YXJ0OwkvKiBieXRlIG9mZnNldCBvZiBzdGFydCBvZiBkYXRhICovCisJdWludDMyX3Qgc19lbmQ7CS8qIHNpemVvZihzbGljZSktMSAqLworCisJLyogZm9yIHJlY292ZXJ5IGR1cmluZyBjb21wYWN0aW9uICovCisJdWludDMyX3Qgc19mcm9tLCBzX3RvOwkvKiBzcmMgYW5kIGRlc3QgYmxvY2sgb2YgY3VycmVudCB0cmFuc2ZlciAqLworCWludDMyX3Qgc19iYWNrdXBfZnJvbSwgc19iYWNrdXBfdG87CisKKwkvKiBsYWJlbHMgLSBtYXkgd2VsbCBjb250YWluIGdhcmJhZ2UgKi8KKwljaGFyIHNfZnNuYW1lWzZdOworCWNoYXIgc192b2x1bWVbNl07CisJY2hhciBzX3BhZFs0NzJdOworfTsKKworLyogaW5vZGUgLSA2NCBieXRlcyAqLworc3RydWN0IGJmc2kgeworCXVpbnQxNl90IGlfaW5vOworCXVuc2lnbmVkIGNoYXIgaV9wYWQxWzJdOworCXVpbnQzMl90IGlfZmlyc3RfYmxvY2s7CisJdWludDMyX3QgaV9sYXN0X2Jsb2NrOworCXVpbnQzMl90IGlfYnl0ZXNfdG9fZW5kOworCXVpbnQzMl90IGlfdHlwZTsJLyogMTogZmlsZSwgMjogdGhlIHVuaXF1ZSBkaXIgKi8KKwl1aW50MzJfdCBpX21vZGU7CisJdWludDMyX3QgaV91aWQsIGlfZ2lkOworCXVpbnQzMl90IGlfbmxpbmtzOworCXVpbnQzMl90IGlfYXRpbWUsIGlfbXRpbWUsIGlfY3RpbWU7CisJdW5zaWduZWQgY2hhciBpX3BhZDJbMTZdOworfTsKKworI2RlZmluZSBCRlNfRElSX1RZUEUJMgorCisvKiBkaXJlY3RvcnkgZW50cnkgLSAxNiBieXRlcyAqLworc3RydWN0IGJmc2RlIHsKKwl1aW50MTZfdCBkX2lubzsKKwljaGFyIGRfbmFtZVtCRlNfTkFNRUxFTl07Cit9OworCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqIG91dCkKK3sKKwlmcHJpbnRmKG91dCwKKwkJXygiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIiksCisJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJNYWtlIGFuIFNDTyBiZnMgZmlsZXN5c3RlbS5cbiIpLCBvdXQpOworCisJZnByaW50ZihvdXQsIF8oIlxuT3B0aW9uczpcbiIKKwkJICAgICAgICIgLU4sIC0taW5vZGVzPU5VTSAgICBzcGVjaWZ5IGRlc2lyZWQgbnVtYmVyIG9mIGlub2Rlc1xuIgorCQkgICAgICAgIiAtViwgLS12bmFtZT1OQU1FICAgIHNwZWNpZnkgdm9sdW1lIG5hbWVcbiIKKwkJICAgICAgICIgLUYsIC0tZm5hbWU9TkFNRSAgICBzcGVjaWZ5IGZpbGUgc3lzdGVtIG5hbWVcbiIKKwkJICAgICAgICIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorCQkgICAgICAgIiAtYyAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKKwkJICAgICAgICIgLWwgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisJCSAgICAgICAiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKwkJICAgICAgICIgICAgICAgICAgICAgICAgICAgICAtViBhcyB2ZXJzaW9uIG11c3QgYmUgb25seSBvcHRpb25cbiIKKwkJICAgICAgICIgLWgsIC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuXG4iKSk7CisKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoIm1rZnMuYmZzKDgpIikpOworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKSBwcmludF92ZXJzaW9uKHZvaWQpCit7CisJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJY2hhciAqZGV2aWNlLCAqdm9sdW1lLCAqZnNuYW1lOworCWxvbmcgaW5vZGVzOworCXVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbF9ibG9ja3MsIGlub19ieXRlcywgaW5vX2Jsb2NrcywgZGF0YV9ibG9ja3M7CisJdW5zaWduZWQgbG9uZyBsb25nIHVzZXJfc3BlY2lmaWVkX3RvdGFsX2Jsb2NrcyA9IDA7CisJaW50IHZlcmJvc2UgPSAwOworCWludCBmZDsKKwl1aW50MzJfdCBmaXJzdF9ibG9jazsKKwlzdHJ1Y3QgYmZzc2Igc2I7CisJc3RydWN0IGJmc2kgcmk7CisJc3RydWN0IGJmc2RlIGRlOworCXN0cnVjdCBzdGF0IHN0YXRidWY7CisJdGltZV90IG5vdzsKKwlpbnQgYywgaSwgbGVuOworCisJZW51bSB7IFZFUlNJT05fT1BUSU9OID0gQ0hBUl9NQVggKyAxIH07CisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJpbm9kZXMiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ04nfSwKKwkJeyJ2bmFtZSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnVid9LAorCQl7ImZuYW1lIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdGJ30sCisJCXsidmVyYm9zZSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAndid9LAorCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgVkVSU0lPTl9PUFRJT059LAorCQl7ImhlbHAiLCBub19hcmd1bWVudCwgTlVMTCwgJ2gnfSwKKwkJe05VTEwsIDAsIE5VTEwsIDB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlpZiAoYXJnYyA8IDIpCisJCXVzYWdlKHN0ZGVycik7CisKKwlpZiAoYXJnYyA9PSAyICYmICFzdHJjbXAoYXJndlsxXSwgIi1WIikpCisJCXByaW50X3ZlcnNpb24oKTsKKworCXZvbHVtZSA9IGZzbmFtZSA9ICIgICAgICAiOwkvKiBpcyB0aGVyZSBhIGRlZmF1bHQ/ICovCisJaW5vZGVzID0gMDsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJOOlY6Rjp2aGNsIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnTic6CisJCQlpbm9kZXMgPSBzdHJ0b2xfb3JfZXJyKG9wdGFyZywgXygiaW52YWxpZCBudW1iZXIgb2YgaW5vZGVzIikpOworCQkJYnJlYWs7CisKKwkJY2FzZSAnVic6CisJCQlsZW4gPSBzdHJsZW4ob3B0YXJnKTsKKwkJCWlmIChsZW4gPD0gMCB8fCBsZW4gPiA2KQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ2b2x1bWUgbmFtZSB0b28gbG9uZyIpKTsKKwkJCXZvbHVtZSA9IHhzdHJkdXAob3B0YXJnKTsKKwkJCWJyZWFrOworCisJCWNhc2UgJ0YnOgorCQkJbGVuID0gc3RybGVuKG9wdGFyZyk7CisJCQlpZiAobGVuIDw9IDAgfHwgbGVuID4gNikKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiZnNuYW1lIG5hbWUgdG9vIGxvbmciKSk7CisJCQlmc25hbWUgPSB4c3RyZHVwKG9wdGFyZyk7CisJCQlicmVhazsKKworCQljYXNlICd2JzoKKwkJCXZlcmJvc2UgPSAxOworCQkJYnJlYWs7CisKKwkJY2FzZSAnYyc6CisJCWNhc2UgJ2wnOgorCQkJLyogd2hlbiBjYWxsZWQgdmlhIG1rZnMgd2UgbWF5IGdldCBvcHRpb25zIGMsbCx2ICovCisJCQlicmVhazsKKworCQljYXNlIFZFUlNJT05fT1BUSU9OOgorCQkJcHJpbnRfdmVyc2lvbigpOworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQl9CisJfQorCisJaWYgKG9wdGluZCA9PSBhcmdjKQorCQl1c2FnZShzdGRlcnIpOworCisJZGV2aWNlID0gYXJndltvcHRpbmQrK107CisKKwlpZiAoc3RhdChkZXZpY2UsICZzdGF0YnVmKSA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oInN0YXQgb2YgJXMgZmFpbGVkIiksIGRldmljZSk7CisKKwlmZCA9IG9wZW5fYmxrZGV2X29yX2ZpbGUoJnN0YXRidWYsIGRldmljZSwgT19SRFdSKTsKKwlpZiAoZmQgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBkZXZpY2UpOworCisJaWYgKG9wdGluZCA9PSBhcmdjIC0gMSkKKwkJdXNlcl9zcGVjaWZpZWRfdG90YWxfYmxvY2tzID0KKwkJCXN0cnRvdTY0X29yX2Vycihhcmd2W29wdGluZF0sIF8oImludmFsaWQgYmxvY2stY291bnQiKSk7CisJZWxzZSBpZiAob3B0aW5kICE9IGFyZ2MpCisJCXVzYWdlKHN0ZGVycik7CisKKwlpZiAoYmxrZGV2X2dldF9zZWN0b3JzKGZkLCAmdG90YWxfYmxvY2tzKSA9PSAtMSkgeworCQlpZiAoIXVzZXJfc3BlY2lmaWVkX3RvdGFsX2Jsb2NrcykKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIpLCBkZXZpY2UpOworCQl0b3RhbF9ibG9ja3MgPSB1c2VyX3NwZWNpZmllZF90b3RhbF9ibG9ja3M7CisJfSBlbHNlIGlmICh1c2VyX3NwZWNpZmllZF90b3RhbF9ibG9ja3MpIHsKKwkJaWYgKHVzZXJfc3BlY2lmaWVkX3RvdGFsX2Jsb2NrcyA+IHRvdGFsX2Jsb2NrcykKKwkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJICAgICBfKCJibG9ja3MgYXJndW1lbnQgdG9vIGxhcmdlLCBtYXggaXMgJWxsdSIpLAorCQkJICAgICB0b3RhbF9ibG9ja3MpOworCQl0b3RhbF9ibG9ja3MgPSB1c2VyX3NwZWNpZmllZF90b3RhbF9ibG9ja3M7CisJfQorCisJaWYgKCFpbm9kZXMpIHsKKwkJLyogcGljayBzb21lIHJlYXNvbmFibGUgZGVmYXVsdCAqLworCQlpbm9kZXMgPSA4ICogKHRvdGFsX2Jsb2NrcyAvIDgwMCk7CisJCWlmIChpbm9kZXMgPCA0OCkKKwkJCWlub2RlcyA9IDQ4OworCQlpZiAoNTEyIDwgaW5vZGVzKQorCQkJaW5vZGVzID0gNTEyOworCX0gZWxzZSB7CisJCS8qIGJlbGlldmUgdGhlIHVzZXIgKi8KKwkJaWYgKDUxMiA8IGlub2RlcykKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ0b28gbWFueSBpbm9kZXMgLSBtYXggaXMgNTEyIikpOworCX0KKworCWlub19ieXRlcyA9IGlub2RlcyAqIHNpemVvZihzdHJ1Y3QgYmZzaSk7CisJaW5vX2Jsb2NrcyA9IChpbm9fYnl0ZXMgKyBCRlNfQkxPQ0tTSVpFIC0gMSkgLyBCRlNfQkxPQ0tTSVpFOworCWRhdGFfYmxvY2tzID0gdG90YWxfYmxvY2tzIC0gaW5vX2Jsb2NrcyAtIDE7CisKKwkvKiBtaW1pYyB0aGUgYmVoYXZpb3Igb2YgU0NPJ3MgbWtmcyAtIG1heWJlIHRoaXMgbGltaXQgaXMgbmVlZGVkICovCisJaWYgKGRhdGFfYmxvY2tzIDwgMzIpCisJCWVycngoRVhJVF9GQUlMVVJFLAorCQkgICAgIF8oIm5vdCBlbm91Z2ggc3BhY2UsIG5lZWQgYXQgbGVhc3QgJWxsdSBibG9ja3MiKSwKKwkJICAgICBpbm9fYmxvY2tzICsgMzMpOworCisJbWVtc2V0KCZzYiwgMCwgc2l6ZW9mKHNiKSk7CisJc2Iuc19tYWdpYyA9IGNwdV90b19sZTMyKEJGU19TVVBFUl9NQUdJQyk7CisJc2Iuc19zdGFydCA9IGNwdV90b19sZTMyKGlub19ieXRlcyArIHNpemVvZihzdHJ1Y3QgYmZzc2IpKTsKKwlzYi5zX2VuZCA9IGNwdV90b19sZTMyKHRvdGFsX2Jsb2NrcyAqIEJGU19CTE9DS1NJWkUgLSAxKTsKKwlzYi5zX2Zyb20gPSBzYi5zX3RvID0gc2Iuc19iYWNrdXBfZnJvbSA9IHNiLnNfYmFja3VwX3RvID0gLTE7CisJbWVtY3B5KHNiLnNfZnNuYW1lLCBmc25hbWUsIDYpOworCW1lbWNweShzYi5zX3ZvbHVtZSwgdm9sdW1lLCA2KTsKKworCWlmICh2ZXJib3NlKSB7CisJCWZwcmludGYoc3RkZXJyLCBfKCJEZXZpY2U6ICVzXG4iKSwgZGV2aWNlKTsKKwkJZnByaW50ZihzdGRlcnIsIF8oIlZvbHVtZTogPCUtNnM+XG4iKSwgdm9sdW1lKTsKKwkJZnByaW50ZihzdGRlcnIsIF8oIkZTbmFtZTogPCUtNnM+XG4iKSwgZnNuYW1lKTsKKwkJZnByaW50ZihzdGRlcnIsIF8oIkJsb2NrU2l6ZTogJWRcbiIpLCBCRlNfQkxPQ0tTSVpFKTsKKwkJaWYgKGlub19ibG9ja3MgPT0gMSkKKwkJCWZwcmludGYoc3RkZXJyLCBfKCJJbm9kZXM6ICVsZCAoaW4gMSBibG9jaylcbiIpLAorCQkJCWlub2Rlcyk7CisJCWVsc2UKKwkJCWZwcmludGYoc3RkZXJyLCBfKCJJbm9kZXM6ICVsZCAoaW4gJWxsdSBibG9ja3MpXG4iKSwKKwkJCQlpbm9kZXMsIGlub19ibG9ja3MpOworCQlmcHJpbnRmKHN0ZGVyciwgXygiQmxvY2tzOiAlbGx1XG4iKSwgdG90YWxfYmxvY2tzKTsKKwkJZnByaW50ZihzdGRlcnIsIF8oIklub2RlIGVuZDogJWQsIERhdGEgZW5kOiAlZFxuIiksCisJCQlsZTMyX3RvX2NwdShzYi5zX3N0YXJ0KSAtIDEsIGxlMzJfdG9fY3B1KHNiLnNfZW5kKSk7CisJfQorCisJaWYgKHdyaXRlKGZkLCAmc2IsIHNpemVvZihzYikpICE9IHNpemVvZihzYikpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImVycm9yIHdyaXRpbmcgc3VwZXJibG9jayIpKTsKKworCW1lbXNldCgmcmksIDAsIHNpemVvZihyaSkpOworCXJpLmlfaW5vID0gY3B1X3RvX2xlMTYoQkZTX1JPT1RfSU5PKTsKKwlmaXJzdF9ibG9jayA9IDEgKyBpbm9fYmxvY2tzOworCXJpLmlfZmlyc3RfYmxvY2sgPSBjcHVfdG9fbGUzMihmaXJzdF9ibG9jayk7CisJcmkuaV9sYXN0X2Jsb2NrID0gY3B1X3RvX2xlMzIoZmlyc3RfYmxvY2sgKworCSAgICAoaW5vZGVzICogc2l6ZW9mKGRlKSAtIDEpIC8gQkZTX0JMT0NLU0laRSk7CisJcmkuaV9ieXRlc190b19lbmQgPSBjcHVfdG9fbGUzMihmaXJzdF9ibG9jayAqIEJGU19CTE9DS1NJWkUKKwkgICAgKyAyICogc2l6ZW9mKHN0cnVjdCBiZnNkZSkgLSAxKTsKKwlyaS5pX3R5cGUgPSBjcHVfdG9fbGUzMihCRlNfRElSX1RZUEUpOworCXJpLmlfbW9kZSA9IGNwdV90b19sZTMyKFNfSUZESVIgfCAwNzU1KTsJLyogb3IganVzdCAwNzU1ICovCisJcmkuaV91aWQgPSBjcHVfdG9fbGUzMigwKTsKKwlyaS5pX2dpZCA9IGNwdV90b19sZTMyKDEpOwkJCS8qIHJhbmRvbSAqLworCXJpLmlfbmxpbmtzID0gMjsKKwl0aW1lKCZub3cpOworCXJpLmlfYXRpbWUgPSBjcHVfdG9fbGUzMihub3cpOworCXJpLmlfbXRpbWUgPSBjcHVfdG9fbGUzMihub3cpOworCXJpLmlfY3RpbWUgPSBjcHVfdG9fbGUzMihub3cpOworCisJaWYgKHdyaXRlKGZkLCAmcmksIHNpemVvZihyaSkpICE9IHNpemVvZihyaSkpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIpKTsKKworCW1lbXNldCgmcmksIDAsIHNpemVvZihyaSkpOworCWZvciAoaSA9IDE7IGkgPCBpbm9kZXM7IGkrKykKKwkJaWYgKHdyaXRlKGZkLCAmcmksIHNpemVvZihyaSkpICE9IHNpemVvZihyaSkpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJlcnJvciB3cml0aW5nIGlub2RlIikpOworCisJaWYgKGxzZWVrKGZkLCAoMSArIGlub19ibG9ja3MpICogQkZTX0JMT0NLU0laRSwgU0VFS19TRVQpID09IC0xKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJzZWVrIGVycm9yIikpOworCisJbWVtc2V0KCZkZSwgMCwgc2l6ZW9mKGRlKSk7CisJZGUuZF9pbm8gPSBjcHVfdG9fbGUxNihCRlNfUk9PVF9JTk8pOworCW1lbWNweShkZS5kX25hbWUsICIuIiwgMSk7CisJaWYgKHdyaXRlKGZkLCAmZGUsIHNpemVvZihkZSkpICE9IHNpemVvZihkZSkpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImVycm9yIHdyaXRpbmcgLiBlbnRyeSIpKTsKKworCW1lbWNweShkZS5kX25hbWUsICIuLiIsIDIpOworCWlmICh3cml0ZShmZCwgJmRlLCBzaXplb2YoZGUpKSAhPSBzaXplb2YoZGUpKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJlcnJvciB3cml0aW5nIC4uIGVudHJ5IikpOworCisJaWYgKGNsb3NlX2ZkKGZkKSAhPSAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJlcnJvciBjbG9zaW5nICVzIiksIGRldmljZSk7CisKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9ta2ZzLmMgYi9kaXNrLXV0aWxzL21rZnMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZjFhMzEyCi0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9ta2ZzLmMKQEAgLTAsMCArMSwxNDAgQEAKKy8qCisgKiBta2ZzCQlBIHNpbXBsZSBnZW5lcmljIGZyb250ZW5kIGZvciB0aGUgZm9yIHRoZSBta2ZzIHByb2dyYW0KKyAqCQl1bmRlciBMaW51eC4gIFNlZSB0aGUgbWFudWFsIHBhZ2UgZm9yIGRldGFpbHMuCisgKgorICogQXV0aG9yczoJRGF2aWQgRW5nZWwsIDxkYXZpZEBvZHMuY29tPgorICoJCUZyZWQgTi4gdmFuIEtlbXBlbiwgPHdhbHRqZUB1V2FsdC5OTC5NdWduZXQuT1JHPgorICoJCVJvbiBTb21tZWxpbmcsIDxzb21tZWxAc2NpLmt1bi5ubD4KKyAqCisgKiBNb24gSnVsICAxIDE4OjUyOjU4IDE5OTY6IGphbmxAbWF0aC51aW8ubm8gKE5pY29sYWkgTGFuZ2ZlbGR0KToKKyAqCUluY29ycG9yYXRlZCBmaXggYnkgSm9uYXRoYW4gS2FtZW5zIDxqaWtAYW5uZXgtMS1zbGlwLWppay5jYW0ub3YuY29tPgorICogMTk5OS0wMi0yMiBBcmthZGl1c3ogTWnFm2tpZXdpY3ogPG1pc2lla0BwbGQuT1JHLlBMPgorICogLSBhZGRlZCBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAorICoJCisgKi8KKworLyoKKyAqIFRoaXMgY29tbWFuZCBpcyBkZXByZWNhdGVkLiAgVGhlIHV0aWxpdHkgaXMgaW4gbWFpbnRlbmFuY2UgbW9kZSwKKyAqIG1lYW5pbmcgd2Uga2VlcCB0aGVtIGluIHNvdXJjZSB0cmVlIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5CisgKiBvbmx5LiAgRG8gbm90IHdhc3RlIHRpbWUgbWFraW5nIHRoaXMgY29tbWFuZCBiZXR0ZXIsIHVubGVzcyB0aGUKKyAqIGZpeCBpcyBhYm91dCBzZWN1cml0eSBvciBvdGhlciB2ZXJ5IGNyaXRpY2FsIGlzc3VlLgorICoKKyAqIFNlZSBEb2N1bWVudGF0aW9uL2RlcHJlY2F0ZWQudHh0IGZvciBtb3JlIGluZm9ybWF0aW9uLgorICovCisKKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisKKyNpZm5kZWYgREVGQVVMVF9GU1RZUEUKKyNkZWZpbmUgREVGQVVMVF9GU1RZUEUJImV4dDIiCisjZW5kaWYKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXyAoKF9fbm9yZXR1cm5fXykpIHVzYWdlKEZJTEUgKiBvdXQpCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJXMgW29wdGlvbnNdIFstdCA8dHlwZT5dIFtmcy1vcHRpb25zXSA8ZGV2aWNlPiBbPHNpemU+XVxuIiksCisJCSAgICAgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIk1ha2UgYSBMaW51eCBmaWxlc3lzdGVtLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgLXQsIC0tdHlwZT08dHlwZT4gIGZpbGVzeXN0ZW0gdHlwZTsgd2hlbiB1bnNwZWNpZmllZCwgZXh0MiBpcyB1c2VkXG4iKSk7CisJZnByaW50ZihvdXQsIF8oIiAgICAgZnMtb3B0aW9ucyAgICAgcGFyYW1ldGVycyBmb3IgdGhlIHJlYWwgZmlsZXN5c3RlbSBidWlsZGVyXG4iKSk7CisJZnByaW50ZihvdXQsIF8oIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIpKTsKKwlmcHJpbnRmKG91dCwgXygiICAgICA8c2l6ZT4gICAgICAgICBudW1iZXIgb2YgYmxvY2tzIHRvIGJlIHVzZWQgb24gdGhlIGRldmljZVxuIikpOworCWZwcmludGYob3V0LCBfKCIgLVYsIC0tdmVyYm9zZSAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lO1xuIgorCQkgICAgICAgIiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5aW5nIC1WIG1vcmUgdGhhbiBvbmNlIHdpbGwgY2F1c2UgYSBkcnktcnVuXG4iKSk7CisJZnByaW50ZihvdXQsIF8oIiAtViwgLS12ZXJzaW9uICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0O1xuIgorCQkgICAgICAgIiAgICAgICAgICAgICAgICAgICAgICAtViBhcyAtLXZlcnNpb24gbXVzdCBiZSB0aGUgb25seSBvcHRpb25cbiIpKTsKKwlmcHJpbnRmKG91dCwgXygiIC1oLCAtLWhlbHAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iKSk7CisKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoIm1rZnMoOCkiKSk7CisKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgcHJpbnRfdmVyc2lvbih2b2lkKQoreworCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWNoYXIgKnByb2duYW1lOwkJLyogbmFtZSBvZiBleGVjdXRhYmxlIHRvIGJlIGNhbGxlZCAqLworCWNoYXIgKmZzdHlwZSA9IE5VTEw7CisJaW50IGksIG1vcmUgPSAwLCB2ZXJib3NlID0gMDsKKworCWVudW0geyBWRVJTSU9OX09QVElPTiA9IENIQVJfTUFYICsgMSB9OworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJ0eXBlIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICd0J30sCisJCXsidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCBOVUxMLCBWRVJTSU9OX09QVElPTn0sCisJCXsidmVyYm9zZSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnVid9LAorCQl7ImhlbHAiLCBub19hcmd1bWVudCwgTlVMTCwgJ2gnfSwKKwkJe05VTEwsIDAsIE5VTEwsIDB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlpZiAoYXJnYyA9PSAyICYmICFzdHJjbXAoYXJndlsxXSwgIi1WIikpCisJCXByaW50X3ZlcnNpb24oKTsKKworCS8qIENoZWNrIGNvbW1hbmRsaW5lIG9wdGlvbnMuICovCisJb3B0ZXJyID0gMDsKKwl3aGlsZSAoKG1vcmUgPT0gMCkKKwkgICAgICAgJiYgKChpID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIlZ0OmgiLCBsb25nb3B0cywgTlVMTCkpCisJCSAgICE9IC0xKSkKKwkJc3dpdGNoIChpKSB7CisJCWNhc2UgJ1YnOgorCQkJdmVyYm9zZSsrOworCQkJYnJlYWs7CisJCWNhc2UgJ3QnOgorCQkJZnN0eXBlID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2Uoc3Rkb3V0KTsKKwkJY2FzZSBWRVJTSU9OX09QVElPTjoKKwkJCXByaW50X3ZlcnNpb24oKTsKKwkJZGVmYXVsdDoKKwkJCW9wdGluZC0tOworCQkJbW9yZSA9IDE7CisJCQlicmVhazsJLyogc3RhcnQgb2Ygc3BlY2lmaWMgYXJndW1lbnRzICovCisJCX0KKwlpZiAob3B0aW5kID09IGFyZ2MpCisJCXVzYWdlKHN0ZGVycik7CisKKwkvKiBJZiAtdCB3YXNuJ3Qgc3BlY2lmaWVkLCB1c2UgdGhlIGRlZmF1bHQgKi8KKwlpZiAoZnN0eXBlID09IE5VTEwpCisJCWZzdHlwZSA9IERFRkFVTFRfRlNUWVBFOworCisJeGFzcHJpbnRmKCZwcm9nbmFtZSwgIm1rZnMuJXMiLCBmc3R5cGUpOworCWFyZ3ZbLS1vcHRpbmRdID0gcHJvZ25hbWU7CisKKwlpZiAodmVyYm9zZSkgeworCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJaSA9IG9wdGluZDsKKwkJd2hpbGUgKGFyZ3ZbaV0pCisJCQlwcmludGYoIiVzICIsIGFyZ3ZbaSsrXSk7CisJCXByaW50ZigiXG4iKTsKKwkJaWYgKHZlcmJvc2UgPiAxKQorCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwl9CisKKwkvKiBFeGVjdXRlIHRoZSBwcm9ncmFtICovCisJZXhlY3ZwKHByb2duYW1lLCBhcmd2ICsgb3B0aW5kKTsKKwllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIpLCBwcm9nbmFtZSk7Cit9CmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL21rZnMuY3JhbWZzLjggYi9kaXNrLXV0aWxzL21rZnMuY3JhbWZzLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzQ4NjdjOAotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvbWtmcy5jcmFtZnMuOApAQCAtMCwwICsxLDkwIEBACisuVEggTUtGUy5DUkFNRlMgOCAiQXByaWwgMjAxMyIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQorbWtmcy5jcmFtZnMgXC0gbWFrZSBjb21wcmVzc2VkIFJPTSBmaWxlIHN5c3RlbQorLlNIIFNZTk9QU0lTCisuQiBta2ZzLmNyYW1mcworW29wdGlvbnNdCisuSSBkaXJlY3RvcnkgZmlsZQorLlNIIERFU0NSSVBUSU9OCitGaWxlcyBvbiBjcmFtZnMgZmlsZSBzeXN0ZW1zIGFyZSB6bGliLWNvbXByZXNzZWQgb25lIHBhZ2UgYXQgYSB0aW1lIHRvCithbGxvdyByYW5kb20gcmVhZCBhY2Nlc3MuICBUaGUgbWV0YWRhdGEgaXMgbm90IGNvbXByZXNzZWQsIGJ1dCBpcworZXhwcmVzc2VkIGluIGEgdGVyc2UgcmVwcmVzZW50YXRpb24gdGhhdCBpcyBtb3JlIHNwYWNlLWVmZmljaWVudCB0aGFuCitjb252ZW50aW9uYWwgZmlsZSBzeXN0ZW1zLgorLlBQCitUaGUgZmlsZSBzeXN0ZW0gaXMgaW50ZW50aW9uYWxseSByZWFkLW9ubHkgdG8gc2ltcGxpZnkgaXRzIGRlc2lnbjsgcmFuZG9tCit3cml0ZSBhY2Nlc3MgZm9yIGNvbXByZXNzZWQgZmlsZXMgaXMgZGlmZmljdWx0IHRvIGltcGxlbWVudC4gIGNyYW1mcworc2hpcHMgd2l0aCBhIHV0aWxpdHkgKG1rY3JhbWZzKSB0byBwYWNrIGZpbGVzIGludG8gbmV3IGNyYW1mcyBpbWFnZXMuCisuUFAKK0ZpbGUgc2l6ZXMgYXJlIGxpbWl0ZWQgdG8gbGVzcyB0aGFuIDE2XCBNQi4KKy5QUAorTWF4aW11bSBmaWxlIHN5c3RlbSBzaXplIGlzIGEgbGl0dGxlIHVuZGVyIDI3MlwgTUIuICAoVGhlIGxhc3QgZmlsZSBvbiB0aGUKK2ZpbGUgc3lzdGVtIG11c3QgYmVnaW4gYmVmb3JlIHRoZSAyNTZcIE1CIGJsb2NrLCBidXQgY2FuIGV4dGVuZCBwYXN0IGl0LikKKy5TSCBBUkdVTUVOVFMKK1RoZQorLkkgZGlyZWN0b3J5CitpcyBzaW1wbHkgdGhlIHJvb3Qgb2YgdGhlIGRpcmVjdG9yeSB0cmVlIHRoYXQgd2Ugd2FudCB0byBnZW5lcmF0ZSBhCitjb21wcmVzc2VkIGZpbGVzeXN0ZW0gb3V0IG9mLgorLlBQCitUaGUKKy5JIGZpbGUKK3dpbGwgY29udGFpbiB0aGUgY3JhbSBmaWxlIHN5c3RlbSwgd2hpY2ggbGF0ZXIgY2FuIGJlIG1vdW50ZWQuCisuU0ggT1BUSU9OUworLlRQCitcZkJcLXZcZlIKK0VuYWJsZSB2ZXJib3NlIG1lc3NhZ2luZy4KKy5UUAorXGZCXC1FXGZSCitUcmVhdCBhbGwgd2FybmluZ3MgYXMgZXJyb3JzLCB3aGljaCBhcmUgcmVmbGVjdGVkIGFzIGNvbW1hbmQgcmV0dXJuIHZhbHVlLgorLlRQCitcZkJcLWJcZlIgXGZJYmxvY2tzaXplXGZSCitVc2UgZGVmaW5lZCBibG9jayBzaXplLCB3aGljaCBoYXMgdG8gYmUgZGl2aXNpYmxlIGJ5IHBhZ2Ugc2l6ZS4KKy5UUAorXGZCXC1lXGZSIFxmSWVkaXRpb25cZlIKK1VzZSBkZWZpbmVkIGZpbGUgc3lzdGVtIGVkaXRpb24gbnVtYmVyIGluIHN1cGVyYmxvY2suCisuVFAKK1xmQlwtTlxmUiBcZkliaWcsIGxpdHRsZSwgaG9zdFxmUgorVXNlIGRlZmluZWQgZW5kaWFubmVzcy4gIFZhbHVlIGRlZmF1bHRzIHRvCisuSVIgaG9zdCAuCisuVFAKK1xmQlwtaVxmUiBcZklmaWxlXGZSCitJbnNlcnQgYQorLkkgZmlsZQordG8gY3JhbWZzIGZpbGUgc3lzdGVtLgorLlRQCitcZkJcLW5cZlIgXGZJbmFtZVxmUgorU2V0IG5hbWUgb2YgdGhlIGNyYW1mcyBmaWxlIHN5c3RlbS4KKy5UUAorXGZCXC1wXGZSCitQYWQgYnkgNTEyIGJ5dGVzIGZvciBib290IGNvZGUuCisuVFAKK1xmQlwtc1xmUgorVGhpcyBvcHRpb24gaXMgaWdub3JlZC4gIE9yaWdpbmFsbHkgdGhlIFwtcyB0dXJuZWQgb24gZGlyZWN0b3J5IGVudHJ5Citzb3J0aW5nLgorLlRQCitcZkJcLXpcZlIKK01ha2UgZXhwbGljaXQgaG9sZXMuICBVc2Ugb2YgdGhpcyBvcHRpb24gd2lsbCByZXF1aXJlIDIuMy4zOSBrZXJuZWwsIG9yIG5ld2VyLgorLlRQCitcZkJcLVZcZlIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorXGZCXC1oXGZSCitEaXNwbGF5IGhlbHAgYW5kIGV4aXQuCisuU0ggIkVYSVQgU1RBVFVTIgorLlJTCisuUEQgMAorLlRQCisuQiAwCitzdWNjZXNzCisuVFAKKy5CIDgKK29wZXJhdGlvbiBlcnJvciwgc3VjaCBhcyB1bmFibGUgdG8gYWxsb2NhdGUgbWVtb3J5CisuUEQKKy5SRQorLlNIICJTRUUgQUxTTyIKKy5CUiBmc2NrLmNyYW1mcyAoOCksCisuQlIgbW91bnQgKDgpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgZXhhbXBsZSBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBmdHA6Ly9cOmZ0cC5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvbWtmcy5jcmFtZnMuYyBiL2Rpc2stdXRpbHMvbWtmcy5jcmFtZnMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZjdmMDA4Ci0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jCkBAIC0wLDAgKzEsOTE0IEBACisvKgorICogbWtjcmFtZnMgLSBtYWtlIGEgY3JhbWZzIGZpbGUgc3lzdGVtCisgKgorICogQ29weXJpZ2h0IChDKSAxOTk5LTIwMDIgVHJhbnNtZXRhIENvcnBvcmF0aW9uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgKiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqLworCisvKgorICogT2xkIHZlcnNpb24gd291bGQgZGllIG9uIGxhcmdpc2ggZmlsZXN5c3RlbXMuIENoYW5nZSB0byBtbWFwIHRoZQorICogZmlsZXMgb25lIGJ5IG9uZSBpbnN0ZWFkIG9mIGFsbCBzaW11bHRhbmVvdXNseS4gLSBhZWIsIDIwMDItMTEtMDEKKyAqLworCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN5cy9tbWFuLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxkaXJlbnQuaD4KKyNpbmNsdWRlIDxzdGRkZWYuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHpjb25mLmg+CisKKy8qIFdlIGRvbid0IHVzZSBvdXIgaW5jbHVkZS9jcmMzMi5oLCBidXQgY3JjMzIgZnJvbSB6bGliIQorICoKKyAqIFRoZSB6bGliIGltcGxlbWVuYXRpb24gcGVyZm9ybXMgcHJlL3Bvc3QtY29uZGl0aW9uaW5nLiBUaGUgdXRpbC1saW51eAorICogaW1sZW1lbmF0aW9uIHJlcXVpcmVzIHBvc3QtY29uZGl0aW9uaW5nICh4b3IpIGluIHRoZSBhcHBsaWNhdGlvbnMuCisgKi8KKyNpbmNsdWRlIDx6bGliLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY3JhbWZzLmgiCisjaW5jbHVkZSAibWQ1LmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiZXhpdGNvZGVzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKworI2RlZmluZSBDTE9TRV9FWElUX0NPREUJIE1LRlNfRVhfRVJST1IKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCisjZGVmaW5lIFhBTExPQ19FWElUX0NPREUgTUtGU19FWF9FUlJPUgorI2luY2x1ZGUgInhhbGxvYy5oIgorCisvKiBUaGUga2VybmVsIG9ubHkgc3VwcG9ydHMgUEFEX1NJWkUgb2YgMCBhbmQgNTEyLiAqLworI2RlZmluZSBQQURfU0laRSA1MTIKKworc3RhdGljIGludCB2ZXJib3NlID0gMDsKKworc3RhdGljIHVuc2lnbmVkIGludCBibGtzaXplID0gMDsgLyogc2V0dGFibGUgdmlhIC1iIG9wdGlvbiwgZGVmYXVsdCBwYWdlIHNpemUgKi8KK3N0YXRpYyBsb25nIHRvdGFsX2Jsb2NrcyA9IDAsIHRvdGFsX25vZGVzID0gMTsgLyogcHJlLWNvdW50IHRoZSByb290IG5vZGUgKi8KK3N0YXRpYyBpbnQgaW1hZ2VfbGVuZ3RoID0gMDsKK3N0YXRpYyBpbnQgY3JhbWZzX2lzX2JpZ19lbmRpYW4gPSAwOyAvKiB0YXJnZXQgaXMgYmlnIGVuZGlhbiAqLworCisvKgorICogSWYgb3B0X2hvbGVzIGlzIHNldCwgdGhlbiBta2NyYW1mcyBjYW4gY3JlYXRlIGV4cGxpY2l0IGhvbGVzIGluIHRoZQorICogZGF0YSwgd2hpY2ggc2F2ZXMgMjYgYnl0ZXMgcGVyIGhvbGUgKHdoaWNoIGlzIGEgbG90IHNtYWxsZXIgYQorICogc2F2aW5nIHRoYW4gZm9yIG1vc3QgZmlsZXN5c3RlbXMpLgorICoKKyAqIE5vdGUgdGhhdCBrZXJuZWxzIHVwIHRvIGF0IGxlYXN0IDIuMy4zOSBkb24ndCBzdXBwb3J0IGNyYW1mcyBob2xlcywKKyAqIHdoaWNoIGlzIHdoeSB0aGlzIGlzIHR1cm5lZCBvZmYgYnkgZGVmYXVsdC4KKyAqLworc3RhdGljIHVuc2lnbmVkIGludCBvcHRfZWRpdGlvbiA9IDA7CitzdGF0aWMgaW50IG9wdF9lcnJvcnMgPSAwOworc3RhdGljIGludCBvcHRfaG9sZXMgPSAwOworc3RhdGljIGludCBvcHRfcGFkID0gMDsKK3N0YXRpYyBjaGFyICpvcHRfaW1hZ2UgPSBOVUxMOworc3RhdGljIGNoYXIgKm9wdF9uYW1lID0gTlVMTDsKKworc3RhdGljIGludCB3YXJuX2RldiA9IDA7CitzdGF0aWMgaW50IHdhcm5fZ2lkID0gMDsKK3N0YXRpYyBpbnQgd2Fybl9uYW1lbGVuID0gMDsKK3N0YXRpYyBpbnQgd2Fybl9za2lwID0gMDsKK3N0YXRpYyBpbnQgd2Fybl9zaXplID0gMDsKK3N0YXRpYyBpbnQgd2Fybl91aWQgPSAwOworCisvKiBlbnRyeS5mbGFncyAqLworI2RlZmluZSBDUkFNRlNfRUZMQUdfTUQ1CTEKKyNkZWZpbmUgQ1JBTUZTX0VGTEFHX0lOVkFMSUQJMgorCisvKiBJbi1jb3JlIHZlcnNpb24gb2YgaW5vZGUgLyBkaXJlY3RvcnkgZW50cnkuICovCitzdHJ1Y3QgZW50cnkgeworCS8qIHN0YXRzICovCisJdW5zaWduZWQgY2hhciAqbmFtZTsKKwl1bnNpZ25lZCBpbnQgbW9kZSwgc2l6ZSwgdWlkLCBnaWQ7CisJdW5zaWduZWQgY2hhciBtZDVzdW1bTUQ1TEVOR1RIXTsKKwl1bnNpZ25lZCBjaGFyIGZsYWdzOwkgICAvKiBDUkFNRlNfRUZMQUdfKiAqLworCisJLyogRlMgZGF0YSAqLworCWNoYXIgKnBhdGg7CisJaW50IGZkOwkJCSAgICAvKiB0ZW1wb3JhcmlseSBvcGVuIGZpbGVzIHdoaWxlIG1tYXBwZWQgKi8KKwlzdHJ1Y3QgZW50cnkgKnNhbWU7CSAgICAvKiBwb2ludHMgdG8gb3RoZXIgaWRlbnRpY2FsIGZpbGUgKi8KKwl1bnNpZ25lZCBpbnQgb2Zmc2V0OyAgICAgICAgLyogcG9pbnRlciB0byBjb21wcmVzc2VkIGRhdGEgaW4gYXJjaGl2ZSAqLworCXVuc2lnbmVkIGludCBkaXJfb2Zmc2V0OyAgICAvKiBvZmZzZXQgb2YgZGlyZWN0b3J5IGVudHJ5IGluIGFyY2hpdmUgKi8KKworCS8qIG9yZ2FuaXphdGlvbiAqLworCXN0cnVjdCBlbnRyeSAqY2hpbGQ7CSAgICAvKiBOVUxMIGZvciBub24tZGlyZWN0b3J5IGFuZCBlbXB0eSBkaXIgKi8KKwlzdHJ1Y3QgZW50cnkgKm5leHQ7Cit9OworCisvKgorICogV2lkdGggb2YgdmFyaW91cyBiaXRmaWVsZHMgaW4gc3RydWN0IGNyYW1mc19pbm9kZS4KKyAqIFVzZWQgb25seSB0byBnZW5lcmF0ZSB3YXJuaW5ncy4KKyAqLworI2RlZmluZSBDUkFNRlNfU0laRV9XSURUSCAyNAorI2RlZmluZSBDUkFNRlNfVUlEX1dJRFRIIDE2CisjZGVmaW5lIENSQU1GU19HSURfV0lEVEggOAorI2RlZmluZSBDUkFNRlNfT0ZGU0VUX1dJRFRIIDI2CisKKy8qIElucHV0IHN0YXR1cyBvZiAwIHRvIHByaW50IGhlbHAgYW5kIGV4aXQgd2l0aG91dCBhbiBlcnJvci4gKi8KK3N0YXRpYyB2b2lkCit1c2FnZShpbnQgc3RhdHVzKSB7CisJRklMRSAqc3RyZWFtID0gc3RhdHVzID8gc3RkZXJyIDogc3Rkb3V0OworCisJZnByaW50ZihzdHJlYW0sCisJCV8oInVzYWdlOiAlcyBbLWhdIFstdl0gWy1iIGJsa3NpemVdIFstZSBlZGl0aW9uXSBbLU4gZW5kaWFuXSBbLWkgZmlsZV0gIgorCQkgICJbLW4gbmFtZV0gZGlybmFtZSBvdXRmaWxlXG4iCisJCSAgIiAtaCAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorCQkgICIgLXYgICAgICAgICBiZSB2ZXJib3NlXG4iCisJCSAgIiAtRSAgICAgICAgIG1ha2UgYWxsIHdhcm5pbmdzIGVycm9ycyAiCisJCSAgICAiKG5vbi16ZXJvIGV4aXQgc3RhdHVzKVxuIgorCQkgICIgLWIgYmxrc2l6ZSB1c2UgdGhpcyBibG9ja3NpemUsIG11c3QgZXF1YWwgcGFnZSBzaXplXG4iCisJCSAgIiAtZSBlZGl0aW9uIHNldCBlZGl0aW9uIG51bWJlciAocGFydCBvZiBmc2lkKVxuIgorCQkgICIgLU4gZW5kaWFuICBzZXQgY3JhbWZzIGVuZGlhbm5lc3MgKGJpZ3xsaXR0bGV8aG9zdCksIGRlZmF1bHQgaG9zdFxuIgorCQkgICIgLWkgZmlsZSAgICBpbnNlcnQgYSBmaWxlIGltYWdlIGludG8gdGhlIGZpbGVzeXN0ZW0gIgorCQkgICAgIihyZXF1aXJlcyA+PSAyLjQuMClcbiIKKwkJICAiIC1uIG5hbWUgICAgc2V0IG5hbWUgb2YgY3JhbWZzIGZpbGVzeXN0ZW1cbiIKKwkJICAiIC1wICAgICAgICAgcGFkIGJ5ICVkIGJ5dGVzIGZvciBib290IGNvZGVcbiIKKwkJICAiIC1zICAgICAgICAgc29ydCBkaXJlY3RvcnkgZW50cmllcyAob2xkIG9wdGlvbiwgaWdub3JlZClcbiIKKwkJICAiIC16ICAgICAgICAgbWFrZSBleHBsaWNpdCBob2xlcyAocmVxdWlyZXMgPj0gMi4zLjM5KVxuIgorCQkgICIgZGlybmFtZSAgICByb290IG9mIHRoZSBmaWxlc3lzdGVtIHRvIGJlIGNvbXByZXNzZWRcbiIKKwkJICAiIG91dGZpbGUgICAgb3V0cHV0IGZpbGVcbiIpLAorCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSwgUEFEX1NJWkUpOworCisJZXhpdChzdGF0dXMpOworfQorCitzdGF0aWMgY2hhciAqCitkb19tbWFwKGNoYXIgKnBhdGgsIHVuc2lnbmVkIGludCBzaXplLCB1bnNpZ25lZCBpbnQgbW9kZSl7CisJaW50IGZkOworCWNoYXIgKnN0YXJ0ID0gTlVMTDsKKworCWlmICghc2l6ZSkKKwkJcmV0dXJuIE5VTEw7CisKKwlpZiAoU19JU0xOSyhtb2RlKSkgeworCQlzdGFydCA9IHhtYWxsb2Moc2l6ZSk7CisJCWlmIChyZWFkbGluayhwYXRoLCBzdGFydCwgc2l6ZSkgPCAwKSB7CisJCQl3YXJuKF8oInJlYWRsaW5rIGZhaWxlZDogJXMiKSwgcGF0aCk7CisJCQl3YXJuX3NraXAgPSAxOworCQkJZ290byBlcnI7CisJCX0KKwkJcmV0dXJuIHN0YXJ0OworCX0KKworCWZkID0gb3BlbihwYXRoLCBPX1JET05MWSk7CisJaWYgKGZkIDwgMCkgeworCQl3YXJuKF8oImNhbm5vdCBvcGVuICVzIiksIHBhdGgpOworCQl3YXJuX3NraXAgPSAxOworCQlnb3RvIGVycjsKKwl9CisKKwlzdGFydCA9IG1tYXAoTlVMTCwgc2l6ZSwgUFJPVF9SRUFELCBNQVBfUFJJVkFURSwgZmQsIDApOworCWNsb3NlKGZkKTsKKwlpZiAoc3RhcnQgPT0gTUFQX0ZBSUxFRCkKKwkJZXJyKE1LRlNfRVhfRVJST1IsICJtbWFwIik7CisJcmV0dXJuIHN0YXJ0OworZXJyOgorCWZyZWUoc3RhcnQpOworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgdm9pZAorZG9fbXVubWFwKGNoYXIgKnN0YXJ0LCB1bnNpZ25lZCBpbnQgc2l6ZSwgdW5zaWduZWQgaW50IG1vZGUpeworCWlmIChTX0lTTE5LKG1vZGUpKQorCQlmcmVlKHN0YXJ0KTsKKwllbHNlCisJCW11bm1hcChzdGFydCwgc2l6ZSk7Cit9CisKKy8qIGNvbXB1dGUgbWQ1c3Vtcywgc28gdGhhdCB3ZSBkbyBub3QgaGF2ZSB0byBjb21wYXJlIGV2ZXJ5IHBhaXIgb2YgZmlsZXMgKi8KK3N0YXRpYyB2b2lkCittZGZpbGUoc3RydWN0IGVudHJ5ICplKSB7CisJTUQ1X0NUWCBjdHg7CisJY2hhciAqc3RhcnQ7CisKKwlzdGFydCA9IGRvX21tYXAoZS0+cGF0aCwgZS0+c2l6ZSwgZS0+bW9kZSk7CisJaWYgKHN0YXJ0ID09IE5VTEwpIHsKKwkJZS0+ZmxhZ3MgfD0gQ1JBTUZTX0VGTEFHX0lOVkFMSUQ7CisJfSBlbHNlIHsKKwkJTUQ1SW5pdCgmY3R4KTsKKwkJTUQ1VXBkYXRlKCZjdHgsICh1bnNpZ25lZCBjaGFyICopIHN0YXJ0LCBlLT5zaXplKTsKKwkJTUQ1RmluYWwoZS0+bWQ1c3VtLCAmY3R4KTsKKworCQlkb19tdW5tYXAoc3RhcnQsIGUtPnNpemUsIGUtPm1vZGUpOworCisJCWUtPmZsYWdzIHw9IENSQU1GU19FRkxBR19NRDU7CisJfQorfQorCisvKiBtZDUgZGlnZXN0cyBhcmUgZXF1YWw7IGZpbGVzIGFyZSBhbG1vc3QgY2VydGFpbmx5IHRoZSBzYW1lLAorICAgYnV0IGp1c3QgdG8gYmUgc3VyZSwgZG8gdGhlIGNvbXBhcmlzb24gKi8KK3N0YXRpYyBpbnQKK2lkZW50aWNhbF9maWxlKHN0cnVjdCBlbnRyeSAqZTEsIHN0cnVjdCBlbnRyeSAqZTIpeworCWNoYXIgKnN0YXJ0MSwgKnN0YXJ0MjsKKwlpbnQgZXF1YWw7CisKKwlzdGFydDEgPSBkb19tbWFwKGUxLT5wYXRoLCBlMS0+c2l6ZSwgZTEtPm1vZGUpOworCWlmICghc3RhcnQxKQorCQlyZXR1cm4gMDsKKwlzdGFydDIgPSBkb19tbWFwKGUyLT5wYXRoLCBlMi0+c2l6ZSwgZTItPm1vZGUpOworCWlmICghc3RhcnQyKSB7CisJCWRvX211bm1hcChzdGFydDEsIGUxLT5zaXplLCBlMS0+bW9kZSk7CisJCXJldHVybiAwOworCX0KKwllcXVhbCA9ICFtZW1jbXAoc3RhcnQxLCBzdGFydDIsIGUxLT5zaXplKTsKKwlkb19tdW5tYXAoc3RhcnQxLCBlMS0+c2l6ZSwgZTEtPm1vZGUpOworCWRvX211bm1hcChzdGFydDIsIGUyLT5zaXplLCBlMi0+bW9kZSk7CisJcmV0dXJuIGVxdWFsOworfQorCisvKgorICogVGhlIGxvbmdlc3QgZmlsZSBuYW1lIGNvbXBvbmVudCB0byBhbGxvdyBmb3IgaW4gdGhlIGlucHV0IGRpcmVjdG9yeSB0cmVlLgorICogRXh0MmZzIChhbmQgbWFueSBvdGhlcnMpIGFsbG93IHVwIHRvIDI1NSBieXRlcy4gIEEgY291cGxlIG9mIGZpbGVzeXN0ZW1zCisgKiBhbGxvdyBsb25nZXIgKGUuZy4gc21iZnMgMTAyNCksIGJ1dCB0aGVyZSBpc24ndCBtdWNoIHVzZSBpbiBzdXBwb3J0aW5nCisgKiA+MjU1LWJ5dGUgbmFtZXMgaW4gdGhlIGlucHV0IGRpcmVjdG9yeSB0cmVlIGdpdmVuIHRoYXQgc3VjaCBuYW1lcyBnZXQKKyAqIHRydW5jYXRlZCB0byAyNTUgYnl0ZXMgd2hlbiB3cml0dGVuIHRvIGNyYW1mcy4KKyAqLworI2RlZmluZSBNQVhfSU5QVVRfTkFNRUxFTiAyNTUKKworc3RhdGljIGludCBmaW5kX2lkZW50aWNhbF9maWxlKHN0cnVjdCBlbnRyeSAqb3JpZywgc3RydWN0IGVudHJ5ICpuZXcsIGxvZmZfdCAqZnNsZW5fdWIpCit7CisJaWYgKG9yaWcgPT0gbmV3KQorCQlyZXR1cm4gMTsKKwlpZiAoIW9yaWcpCisJCXJldHVybiAwOworCWlmIChvcmlnLT5zaXplID09IG5ldy0+c2l6ZSAmJiBvcmlnLT5wYXRoKSB7CisJCWlmICghb3JpZy0+ZmxhZ3MpCisJCQltZGZpbGUob3JpZyk7CisJCWlmICghbmV3LT5mbGFncykKKwkJCW1kZmlsZShuZXcpOworCisJCWlmICgob3JpZy0+ZmxhZ3MgJiBDUkFNRlNfRUZMQUdfTUQ1KSAmJgorCQkgICAgKG5ldy0+ZmxhZ3MgJiBDUkFNRlNfRUZMQUdfTUQ1KSAmJgorCQkgICAgIW1lbWNtcChvcmlnLT5tZDVzdW0sIG5ldy0+bWQ1c3VtLCBNRDVMRU5HVEgpICYmCisJCSAgICBpZGVudGljYWxfZmlsZShvcmlnLCBuZXcpKSB7CisJCQluZXctPnNhbWUgPSBvcmlnOworCQkJKmZzbGVuX3ViIC09IG5ldy0+c2l6ZTsKKwkJCXJldHVybiAxOworCQl9CisJfQorCXJldHVybiBmaW5kX2lkZW50aWNhbF9maWxlKG9yaWctPmNoaWxkLCBuZXcsIGZzbGVuX3ViKSB8fAorCQkgICBmaW5kX2lkZW50aWNhbF9maWxlKG9yaWctPm5leHQsIG5ldywgZnNsZW5fdWIpOworfQorCitzdGF0aWMgdm9pZCBlbGltaW5hdGVfZG91YmxlcyhzdHJ1Y3QgZW50cnkgKnJvb3QsIHN0cnVjdCBlbnRyeSAqb3JpZywgbG9mZl90ICpmc2xlbl91YikgeworCWlmIChvcmlnKSB7CisJCWlmIChvcmlnLT5zaXplICYmIG9yaWctPnBhdGgpCisJCQlmaW5kX2lkZW50aWNhbF9maWxlKHJvb3Qsb3JpZywgZnNsZW5fdWIpOworCQllbGltaW5hdGVfZG91Ymxlcyhyb290LG9yaWctPmNoaWxkLCBmc2xlbl91Yik7CisJCWVsaW1pbmF0ZV9kb3VibGVzKHJvb3Qsb3JpZy0+bmV4dCwgZnNsZW5fdWIpOworCX0KK30KKworLyoKKyAqIFdlIGRlZmluZSBvdXIgb3duIHNvcnRpbmcgZnVuY3Rpb24gaW5zdGVhZCBvZiB1c2luZyBhbHBoYXNvcnQgd2hpY2gKKyAqIHVzZXMgc3RyY29sbCBhbmQgY2hhbmdlcyBvcmRlcmluZyBiYXNlZCBvbiBsb2NhbGUgaW5mb3JtYXRpb24uCisgKi8KK3N0YXRpYyBpbnQgY3JhbXNvcnQgKGNvbnN0IHN0cnVjdCBkaXJlbnQgKiphLCBjb25zdCBzdHJ1Y3QgZGlyZW50ICoqYikKK3sKKwlyZXR1cm4gc3RyY21wKCgqYSktPmRfbmFtZSwgKCpiKS0+ZF9uYW1lKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGludCBwYXJzZV9kaXJlY3Rvcnkoc3RydWN0IGVudHJ5ICpyb290X2VudHJ5LCBjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3QgZW50cnkgKipwcmV2LCBsb2ZmX3QgKmZzbGVuX3ViKQoreworCXN0cnVjdCBkaXJlbnQgKipkaXJsaXN0OworCWludCB0b3RhbHNpemUgPSAwLCBkaXJjb3VudCwgZGlyaW5kZXg7CisJY2hhciAqcGF0aCwgKmVuZHBhdGg7CisJc2l6ZV90IGxlbiA9IHN0cmxlbihuYW1lKTsKKworCS8qIFNldCB1cCB0aGUgcGF0aC4gKi8KKwkvKiBUT0RPOiBSZXVzZSB0aGUgcGFyZW50J3MgYnVmZmVyIHRvIHNhdmUgbWVtY3B5J2luZyBhbmQgZHVwbGljYXRpb24uICovCisJcGF0aCA9IHhtYWxsb2MobGVuICsgMSArIE1BWF9JTlBVVF9OQU1FTEVOICsgMSk7CisJbWVtY3B5KHBhdGgsIG5hbWUsIGxlbik7CisJZW5kcGF0aCA9IHBhdGggKyBsZW47CisJKmVuZHBhdGggPSAnLyc7CisJZW5kcGF0aCsrOworCisJLyogcmVhZCBpbiB0aGUgZGlyZWN0b3J5IGFuZCBzb3J0ICovCisJZGlyY291bnQgPSBzY2FuZGlyKG5hbWUsICZkaXJsaXN0LCAwLCBjcmFtc29ydCk7CisKKwlpZiAoZGlyY291bnQgPCAwKQorCQllcnIoTUtGU19FWF9FUlJPUiwgXygiY291bGQgbm90IHJlYWQgZGlyZWN0b3J5ICVzIiksIG5hbWUpOworCisJLyogcHJvY2VzcyBkaXJlY3RvcnkgKi8KKwlmb3IgKGRpcmluZGV4ID0gMDsgZGlyaW5kZXggPCBkaXJjb3VudDsgZGlyaW5kZXgrKykgeworCQlzdHJ1Y3QgZGlyZW50ICpkaXJlbnQ7CisJCXN0cnVjdCBlbnRyeSAqZW50cnk7CisJCXN0cnVjdCBzdGF0IHN0OworCQlpbnQgc2l6ZTsKKwkJc2l6ZV90IG5hbWVsZW47CisKKwkJZGlyZW50ID0gZGlybGlzdFtkaXJpbmRleF07CisKKwkJLyogSWdub3JlICIuIiBhbmQgIi4uIiAtIHdlIHdvbid0IGJlIGFkZGluZyB0aGVtCisJCSAgIHRvIHRoZSBhcmNoaXZlICovCisJCWlmIChkaXJlbnQtPmRfbmFtZVswXSA9PSAnLicpIHsKKwkJCWlmIChkaXJlbnQtPmRfbmFtZVsxXSA9PSAnXDAnKQorCQkJCWNvbnRpbnVlOworCQkJaWYgKGRpcmVudC0+ZF9uYW1lWzFdID09ICcuJyAmJgorCQkJICAgIGRpcmVudC0+ZF9uYW1lWzJdID09ICdcMCcpCisJCQkJY29udGludWU7CisJCX0KKwkJbmFtZWxlbiA9IHN0cmxlbihkaXJlbnQtPmRfbmFtZSk7CisJCWlmIChuYW1lbGVuID4gTUFYX0lOUFVUX05BTUVMRU4pIHsKKwkJCW5hbWVsZW4gPSBNQVhfSU5QVVRfTkFNRUxFTjsKKwkJCXdhcm5fbmFtZWxlbiA9IDE7CisJCX0KKworCQltZW1jcHkoZW5kcGF0aCwgZGlyZW50LT5kX25hbWUsIG5hbWVsZW4gKyAxKTsKKworCQlpZiAobHN0YXQocGF0aCwgJnN0KSA8IDApIHsKKwkJCXdhcm4oXygic3RhdCBvZiAlcyBmYWlsZWQiKSwgZW5kcGF0aCk7CisJCQl3YXJuX3NraXAgPSAxOworCQkJY29udGludWU7CisJCX0KKwkJZW50cnkgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgZW50cnkpKTsKKwkJZW50cnktPm5hbWUgPSAodW5zaWduZWQgY2hhciAqKXhzdHJuZHVwKGRpcmVudC0+ZF9uYW1lLCBuYW1lbGVuKTsKKwkJZW50cnktPm1vZGUgPSBzdC5zdF9tb2RlOworCQllbnRyeS0+c2l6ZSA9IHN0LnN0X3NpemU7CisJCWVudHJ5LT51aWQgPSBzdC5zdF91aWQ7CisJCWlmIChlbnRyeS0+dWlkID49IDEgPDwgQ1JBTUZTX1VJRF9XSURUSCkKKwkJCXdhcm5fdWlkID0gMTsKKwkJZW50cnktPmdpZCA9IHN0LnN0X2dpZDsKKwkJaWYgKGVudHJ5LT5naWQgPj0gMSA8PCBDUkFNRlNfR0lEX1dJRFRIKQorCQkJLyogVE9ETzogV2Ugb3VnaHQgdG8gcmVwbGFjZSB3aXRoIGEgZGVmYXVsdAorCQkJICAgZ2lkIGluc3RlYWQgb2YgdHJ1bmNhdGluZzsgb3RoZXJ3aXNlIHRoZXJlCisJCQkgICBhcmUgc2VjdXJpdHkgcHJvYmxlbXMuICBNYXliZSBtb2RlIHNob3VsZAorCQkJICAgYmUgJj0gfjA3MC4gIFNhbWUgZ29lcyBmb3IgdWlkIG9uY2UgTGludXgKKwkJCSAgIHN1cHBvcnRzID4xNi1iaXQgdWlkcy4gKi8KKwkJCXdhcm5fZ2lkID0gMTsKKwkJc2l6ZSA9IHNpemVvZihzdHJ1Y3QgY3JhbWZzX2lub2RlKSArICgobmFtZWxlbiArIDMpICYgfjMpOworCQkqZnNsZW5fdWIgKz0gc2l6ZTsKKwkJaWYgKFNfSVNESVIoc3Quc3RfbW9kZSkpIHsKKwkJCWVudHJ5LT5zaXplID0gcGFyc2VfZGlyZWN0b3J5KHJvb3RfZW50cnksIHBhdGgsICZlbnRyeS0+Y2hpbGQsIGZzbGVuX3ViKTsKKwkJfSBlbHNlIGlmIChTX0lTUkVHKHN0LnN0X21vZGUpKSB7CisJCQllbnRyeS0+cGF0aCA9IHhzdHJkdXAocGF0aCk7CisJCQlpZiAoZW50cnktPnNpemUgJiYgZW50cnktPnNpemUgPj0gKDEgPDwgQ1JBTUZTX1NJWkVfV0lEVEgpKSB7CisJCQkJd2Fybl9zaXplID0gMTsKKwkJCQllbnRyeS0+c2l6ZSA9ICgxIDw8IENSQU1GU19TSVpFX1dJRFRIKSAtIDE7CisJCQl9CisJCX0gZWxzZSBpZiAoU19JU0xOSyhzdC5zdF9tb2RlKSkgeworCQkJZW50cnktPnBhdGggPSB4c3RyZHVwKHBhdGgpOworCQl9IGVsc2UgaWYgKFNfSVNGSUZPKHN0LnN0X21vZGUpIHx8IFNfSVNTT0NLKHN0LnN0X21vZGUpKSB7CisJCQkvKiBtYXliZSB3ZSBzaG91bGQgc2tpcCBzb2NrZXRzICovCisJCQllbnRyeS0+c2l6ZSA9IDA7CisJCX0gZWxzZSB7CisJCQllbnRyeS0+c2l6ZSA9IHN0LnN0X3JkZXY7CisJCQlpZiAoZW50cnktPnNpemUgJiAtKDE8PENSQU1GU19TSVpFX1dJRFRIKSkKKwkJCQl3YXJuX2RldiA9IDE7CisJCX0KKworCQlpZiAoU19JU1JFRyhzdC5zdF9tb2RlKSB8fCBTX0lTTE5LKHN0LnN0X21vZGUpKSB7CisJCQlpbnQgYmxvY2tzID0gKChlbnRyeS0+c2l6ZSAtIDEpIC8gYmxrc2l6ZSArIDEpOworCisJCQkvKiBibG9jayBwb2ludGVycyAmIGRhdGEgZXhwYW5zaW9uIGFsbG93YW5jZSArIGRhdGEgKi8KKwkJCWlmIChlbnRyeS0+c2l6ZSkKKwkJCQkqZnNsZW5fdWIgKz0gKDQrMjYpKmJsb2NrcyArIGVudHJ5LT5zaXplICsgMzsKKwkJfQorCisJCS8qIExpbmsgaXQgaW50byB0aGUgbGlzdCAqLworCQkqcHJldiA9IGVudHJ5OworCQlwcmV2ID0gJmVudHJ5LT5uZXh0OworCQl0b3RhbHNpemUgKz0gc2l6ZTsKKwl9CisJZnJlZShwYXRoKTsKKwlmcmVlKGRpcmxpc3QpOwkJLyogYWxsb2NhdGVkIGJ5IHNjYW5kaXIoKSB3aXRoIG1hbGxvYygpICovCisJcmV0dXJuIHRvdGFsc2l6ZTsKK30KKworLyogUmV0dXJucyBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlciksIHdoaWNoIGluY2x1ZGVzIHRoZSByb290IGlub2RlLiAqLworc3RhdGljIHVuc2lnbmVkIGludCB3cml0ZV9zdXBlcmJsb2NrKHN0cnVjdCBlbnRyeSAqcm9vdCwgY2hhciAqYmFzZSwgaW50IHNpemUpCit7CisJc3RydWN0IGNyYW1mc19zdXBlciAqc3VwZXIgPSAoc3RydWN0IGNyYW1mc19zdXBlciAqKSBiYXNlOworCXVuc2lnbmVkIGludCBvZmZzZXQgPSBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikgKyBpbWFnZV9sZW5ndGg7CisKKwlpZiAob3B0X3BhZCkgeworCQlvZmZzZXQgKz0gb3B0X3BhZDsKKwl9CisKKwlzdXBlci0+bWFnaWMgPSBDUkFNRlNfTUFHSUM7CisJc3VwZXItPmZsYWdzID0gQ1JBTUZTX0ZMQUdfRlNJRF9WRVJTSU9OXzIgfCBDUkFNRlNfRkxBR19TT1JURURfRElSUzsKKwlpZiAob3B0X2hvbGVzKQorCQlzdXBlci0+ZmxhZ3MgfD0gQ1JBTUZTX0ZMQUdfSE9MRVM7CisJaWYgKGltYWdlX2xlbmd0aCA+IDApCisJCXN1cGVyLT5mbGFncyB8PSBDUkFNRlNfRkxBR19TSElGVEVEX1JPT1RfT0ZGU0VUOworCXN1cGVyLT5zaXplID0gc2l6ZTsKKwltZW1jcHkoc3VwZXItPnNpZ25hdHVyZSwgQ1JBTUZTX1NJR05BVFVSRSwgc2l6ZW9mKHN1cGVyLT5zaWduYXR1cmUpKTsKKworCXN1cGVyLT5mc2lkLmNyYyA9IGNyYzMyKDBMLCBaX05VTEwsIDApOworCXN1cGVyLT5mc2lkLmVkaXRpb24gPSBvcHRfZWRpdGlvbjsKKwlzdXBlci0+ZnNpZC5ibG9ja3MgPSB0b3RhbF9ibG9ja3M7CisJc3VwZXItPmZzaWQuZmlsZXMgPSB0b3RhbF9ub2RlczsKKworCW1lbXNldChzdXBlci0+bmFtZSwgMHgwMCwgc2l6ZW9mKHN1cGVyLT5uYW1lKSk7CisJaWYgKG9wdF9uYW1lKQorCQlzdHJuY3B5KChjaGFyICopc3VwZXItPm5hbWUsIG9wdF9uYW1lLCBzaXplb2Yoc3VwZXItPm5hbWUpKTsKKwllbHNlCisJCXN0cm5jcHkoKGNoYXIgKilzdXBlci0+bmFtZSwgIkNvbXByZXNzZWQiLCBzaXplb2Yoc3VwZXItPm5hbWUpKTsKKworCXN1cGVyLT5yb290Lm1vZGUgPSByb290LT5tb2RlOworCXN1cGVyLT5yb290LnVpZCA9IHJvb3QtPnVpZDsKKwlzdXBlci0+cm9vdC5naWQgPSByb290LT5naWQ7CisJc3VwZXItPnJvb3Quc2l6ZSA9IHJvb3QtPnNpemU7CisJc3VwZXItPnJvb3Qub2Zmc2V0ID0gb2Zmc2V0ID4+IDI7CisKKwlzdXBlcl90b2dnbGVfZW5kaWFubmVzcyhjcmFtZnNfaXNfYmlnX2VuZGlhbiwgc3VwZXIpOworCWlub2RlX2Zyb21faG9zdChjcmFtZnNfaXNfYmlnX2VuZGlhbiwgJnN1cGVyLT5yb290LCAmc3VwZXItPnJvb3QpOworCisJcmV0dXJuIG9mZnNldDsKK30KKworc3RhdGljIHZvaWQgc2V0X2RhdGFfb2Zmc2V0KHN0cnVjdCBlbnRyeSAqZW50cnksIGNoYXIgKmJhc2UsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0KQoreworCXN0cnVjdCBjcmFtZnNfaW5vZGUgKmlub2RlID0gKHN0cnVjdCBjcmFtZnNfaW5vZGUgKikgKGJhc2UgKyBlbnRyeS0+ZGlyX29mZnNldCk7CisJaW5vZGVfdG9faG9zdChjcmFtZnNfaXNfYmlnX2VuZGlhbiwgaW5vZGUsIGlub2RlKTsKKwlpZiAob2Zmc2V0ID49ICgxIDw8ICgyICsgQ1JBTUZTX09GRlNFVF9XSURUSCkpKQorCQllcnJ4KE1LRlNfRVhfRVJST1IsIF8oImZpbGVzeXN0ZW0gdG9vIGJpZy4gIEV4aXRpbmcuIikpOworCWlub2RlLT5vZmZzZXQgPSAob2Zmc2V0ID4+IDIpOworCWlub2RlX2Zyb21faG9zdChjcmFtZnNfaXNfYmlnX2VuZGlhbiwgaW5vZGUsIGlub2RlKTsKK30KKworCisvKgorICogV2UgZG8gYSB3aWR0aC1maXJzdCBwcmludG91dCBvZiB0aGUgZGlyZWN0b3J5CisgKiBlbnRyaWVzLCB1c2luZyBhIHN0YWNrIHRvIHJlbWVtYmVyIHRoZSBkaXJlY3RvcmllcworICogd2UndmUgc2Vlbi4KKyAqLworc3RhdGljIHVuc2lnbmVkIGludCB3cml0ZV9kaXJlY3Rvcnlfc3RydWN0dXJlKHN0cnVjdCBlbnRyeSAqZW50cnksIGNoYXIgKmJhc2UsIHVuc2lnbmVkIGludCBvZmZzZXQpCit7CisJaW50IHN0YWNrX2VudHJpZXMgPSAwOworCWludCBzdGFja19zaXplID0gNjQ7CisJc3RydWN0IGVudHJ5ICoqZW50cnlfc3RhY2s7CisKKwllbnRyeV9zdGFjayA9IHhtYWxsb2Moc3RhY2tfc2l6ZSAqIHNpemVvZihzdHJ1Y3QgZW50cnkgKikpOworCisJZm9yICg7OykgeworCQlpbnQgZGlyX3N0YXJ0ID0gc3RhY2tfZW50cmllczsKKwkJd2hpbGUgKGVudHJ5KSB7CisJCQlzdHJ1Y3QgY3JhbWZzX2lub2RlICppbm9kZSA9CisJCQkJKHN0cnVjdCBjcmFtZnNfaW5vZGUgKikgKGJhc2UgKyBvZmZzZXQpOworCQkJc2l6ZV90IGxlbiA9IHN0cmxlbigoY29uc3QgY2hhciAqKWVudHJ5LT5uYW1lKTsKKworCQkJZW50cnktPmRpcl9vZmZzZXQgPSBvZmZzZXQ7CisKKwkJCWlub2RlLT5tb2RlID0gZW50cnktPm1vZGU7CisJCQlpbm9kZS0+dWlkID0gZW50cnktPnVpZDsKKwkJCWlub2RlLT5naWQgPSBlbnRyeS0+Z2lkOworCQkJaW5vZGUtPnNpemUgPSBlbnRyeS0+c2l6ZTsKKwkJCWlub2RlLT5vZmZzZXQgPSAwOworCQkJLyogTm9uLWVtcHR5IGRpcmVjdG9yaWVzLCByZWdmaWxlcyBhbmQgc3ltbGlua3Mgd2lsbAorCQkJICAgd3JpdGUgb3ZlciBpbm9kZS0+b2Zmc2V0IGxhdGVyLiAqLworCisJCQlvZmZzZXQgKz0gc2l6ZW9mKHN0cnVjdCBjcmFtZnNfaW5vZGUpOworCQkJdG90YWxfbm9kZXMrKzsJLyogYW5vdGhlciBub2RlICovCisJCQltZW1jcHkoYmFzZSArIG9mZnNldCwgZW50cnktPm5hbWUsIGxlbik7CisJCQkvKiBQYWQgdXAgdGhlIG5hbWUgdG8gYSA0LWJ5dGUgYm91bmRhcnkgKi8KKwkJCXdoaWxlIChsZW4gJiAzKSB7CisJCQkJKihiYXNlICsgb2Zmc2V0ICsgbGVuKSA9ICdcMCc7CisJCQkJbGVuKys7CisJCQl9CisJCQlpbm9kZS0+bmFtZWxlbiA9IGxlbiA+PiAyOworCQkJb2Zmc2V0ICs9IGxlbjsKKworCQkJaWYgKHZlcmJvc2UpCisJCQkJcHJpbnRmKCIgICVzXG4iLCBlbnRyeS0+bmFtZSk7CisJCQlpZiAoZW50cnktPmNoaWxkKSB7CisJCQkJaWYgKHN0YWNrX2VudHJpZXMgPj0gc3RhY2tfc2l6ZSkgeworCQkJCQlzdGFja19zaXplICo9IDI7CisJCQkJCWVudHJ5X3N0YWNrID0geHJlYWxsb2MoZW50cnlfc3RhY2ssIHN0YWNrX3NpemUgKiBzaXplb2Yoc3RydWN0IGVudHJ5ICopKTsKKwkJCQl9CisJCQkJZW50cnlfc3RhY2tbc3RhY2tfZW50cmllc10gPSBlbnRyeTsKKwkJCQlzdGFja19lbnRyaWVzKys7CisJCQl9CisJCQlpbm9kZV9mcm9tX2hvc3QoY3JhbWZzX2lzX2JpZ19lbmRpYW4sIGlub2RlLCBpbm9kZSk7CisJCQllbnRyeSA9IGVudHJ5LT5uZXh0OworCQl9CisKKwkJLyoKKwkJICogUmV2ZXJzZSB0aGUgb3JkZXIgdGhlIHN0YWNrIGVudHJpZXMgcHVzaGVkIGR1cmluZworCQkgKiB0aGlzIGRpcmVjdG9yeSwgZm9yIGEgc21hbGwgb3B0aW1pemF0aW9uIG9mIGRpc2sKKwkJICogYWNjZXNzIGluIHRoZSBjcmVhdGVkIGZzLiAgVGhpcyBjaGFuZ2UgbWFrZXMgdGhpbmdzCisJCSAqIGBscyAtVVInIG9yZGVyLgorCQkgKi8KKwkJeworCQkJc3RydWN0IGVudHJ5ICoqbG8gPSBlbnRyeV9zdGFjayArIGRpcl9zdGFydDsKKwkJCXN0cnVjdCBlbnRyeSAqKmhpID0gZW50cnlfc3RhY2sgKyBzdGFja19lbnRyaWVzOworCQkJc3RydWN0IGVudHJ5ICp0bXA7CisKKwkJCXdoaWxlIChsbyA8IC0taGkpIHsKKwkJCQl0bXAgPSAqbG87CisJCQkJKmxvKysgPSAqaGk7CisJCQkJKmhpID0gdG1wOworCQkJfQorCQl9CisKKwkJLyogUG9wIGEgc3ViZGlyZWN0b3J5IGVudHJ5IGZyb20gdGhlIHN0YWNrLCBhbmQgcmVjdXJzZS4gKi8KKwkJaWYgKCFzdGFja19lbnRyaWVzKQorCQkJYnJlYWs7CisJCXN0YWNrX2VudHJpZXMtLTsKKwkJZW50cnkgPSBlbnRyeV9zdGFja1tzdGFja19lbnRyaWVzXTsKKworCQlzZXRfZGF0YV9vZmZzZXQoZW50cnksIGJhc2UsIG9mZnNldCk7CisJCWlmICh2ZXJib3NlKQorCQkJcHJpbnRmKCInJXMnOlxuIiwgZW50cnktPm5hbWUpOworCQllbnRyeSA9IGVudHJ5LT5jaGlsZDsKKwl9CisJZnJlZShlbnRyeV9zdGFjayk7CisJcmV0dXJuIG9mZnNldDsKK30KKworc3RhdGljIGludCBpc196ZXJvKHVuc2lnbmVkIGNoYXIgY29uc3QgKmJlZ2luLCB1bnNpZ25lZCBsZW4pCit7CisJaWYgKG9wdF9ob2xlcykKKwkJLyogUmV0dXJucyBub24temVybyBpZmYgdGhlIGZpcnN0IExFTiBieXRlcyBmcm9tIEJFR0lOIGFyZQorCQkgICBhbGwgTlVMcy4gKi8KKwkJcmV0dXJuIChsZW4tLSA9PSAwIHx8CisJCQkoYmVnaW5bMF0gPT0gJ1wwJyAmJgorCQkJIChsZW4tLSA9PSAwIHx8CisJCQkgIChiZWdpblsxXSA9PSAnXDAnICYmCisJCQkgICAobGVuLS0gPT0gMCB8fAorCQkJICAgIChiZWdpblsyXSA9PSAnXDAnICYmCisJCQkgICAgIChsZW4tLSA9PSAwIHx8CisJCQkgICAgICAoYmVnaW5bM10gPT0gJ1wwJyAmJgorCQkJICAgICAgIG1lbWNtcChiZWdpbiwgYmVnaW4gKyA0LCBsZW4pID09IDApKSkpKSkpKTsKKwllbHNlCisJCS8qIE5ldmVyIGNyZWF0ZSBob2xlcy4gKi8KKwkJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBPbmUgNC1ieXRlIHBvaW50ZXIgcGVyIGJsb2NrIGFuZCB0aGVuIHRoZSBhY3R1YWwgYmxvY2tlZAorICogb3V0cHV0LiBUaGUgZmlyc3QgYmxvY2sgZG9lcyBub3QgbmVlZCBhbiBvZmZzZXQgcG9pbnRlciwKKyAqIGFzIGl0IHdpbGwgc3RhcnQgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIHBvaW50ZXIgYmxvY2s7CisgKiBzbyB0aGUgaSd0aCBwb2ludGVyIHBvaW50cyB0byB0aGUgZW5kIG9mIHRoZSBpJ3RoIGJsb2NrCisgKiAoaS5lLiB0aGUgc3RhcnQgb2YgdGhlIChpKzEpJ3RoIGJsb2NrIG9yIHBhc3QgRU9GKS4KKyAqCisgKiBOb3RlIHRoYXQgc2l6ZSA+IDAsIGFzIGEgemVyby1zaXplZCBmaWxlIHdvdWxkbid0IGV2ZXIKKyAqIGhhdmUgZ290dGVuIGhlcmUgaW4gdGhlIGZpcnN0IHBsYWNlLgorICovCitzdGF0aWMgdW5zaWduZWQgaW50Citkb19jb21wcmVzcyhjaGFyICpiYXNlLCB1bnNpZ25lZCBpbnQgb2Zmc2V0LCB1bnNpZ25lZCBjaGFyIGNvbnN0ICpuYW1lLAorCSAgICBjaGFyICpwYXRoLCB1bnNpZ25lZCBpbnQgc2l6ZSwgdW5zaWduZWQgaW50IG1vZGUpCit7CisJdW5zaWduZWQgbG9uZyBvcmlnaW5hbF9zaXplLCBvcmlnaW5hbF9vZmZzZXQsIG5ld19zaXplLCBibG9ja3MsIGN1cnI7CisJbG9uZyBjaGFuZ2U7CisJY2hhciAqc3RhcnQ7CisJQnl0ZWYgKnA7CisKKwkvKiBnZXQgdW5jb21wcmVzc2VkIGRhdGEgKi8KKwlzdGFydCA9IGRvX21tYXAocGF0aCwgc2l6ZSwgbW9kZSk7CisJaWYgKHN0YXJ0ID09IE5VTEwpCisJCXJldHVybiBvZmZzZXQ7CisJcCA9IChCeXRlZiAqKSBzdGFydDsKKworCW9yaWdpbmFsX3NpemUgPSBzaXplOworCW9yaWdpbmFsX29mZnNldCA9IG9mZnNldDsKKwlibG9ja3MgPSAoc2l6ZSAtIDEpIC8gYmxrc2l6ZSArIDE7CisJY3VyciA9IG9mZnNldCArIDQgKiBibG9ja3M7CisKKwl0b3RhbF9ibG9ja3MgKz0gYmxvY2tzOworCisJZG8geworCQl1TG9uZ2YgbGVuID0gMiAqIGJsa3NpemU7CisJCXVMb25nZiBpbnB1dCA9IHNpemU7CisJCWlmIChpbnB1dCA+IGJsa3NpemUpCisJCQlpbnB1dCA9IGJsa3NpemU7CisJCXNpemUgLT0gaW5wdXQ7CisJCWlmICghaXNfemVybyAocCwgaW5wdXQpKSB7CisJCQljb21wcmVzcygoQnl0ZWYgKikoYmFzZSArIGN1cnIpLCAmbGVuLCBwLCBpbnB1dCk7CisJCQljdXJyICs9IGxlbjsKKwkJfQorCQlwICs9IGlucHV0OworCisJCWlmIChsZW4gPiBibGtzaXplKjIpIHsKKwkJCS8qIChJIGRvbid0IHRoaW5rIHRoaXMgY2FuIGhhcHBlbiB3aXRoIHpsaWIuKSAqLworCQkJcHJpbnRmKF8oIkFJRUVFOiBibG9jayBcImNvbXByZXNzZWRcIiB0byA+ICIKKwkJCQkgIjIqYmxvY2tsZW5ndGggKCVsZClcbiIpLAorCQkJICAgICAgIGxlbik7CisJCQlleGl0KE1LRlNfRVhfRVJST1IpOworCQl9CisKKwkJKih1aW50MzJfdCAqKSAoYmFzZSArIG9mZnNldCkgPSB1MzJfdG9nZ2xlX2VuZGlhbm5lc3MoY3JhbWZzX2lzX2JpZ19lbmRpYW4sIGN1cnIpOworCQlvZmZzZXQgKz0gNDsKKwl9IHdoaWxlIChzaXplKTsKKworCWRvX211bm1hcChzdGFydCwgb3JpZ2luYWxfc2l6ZSwgbW9kZSk7CisKKwljdXJyID0gKGN1cnIgKyAzKSAmIH4zOworCW5ld19zaXplID0gY3VyciAtIG9yaWdpbmFsX29mZnNldDsKKwkvKiBUT0RPOiBBcmd1YWJseSwgb3JpZ2luYWxfc2l6ZSBpbiB0aGVzZSAyIGxpbmVzIHNob3VsZCBiZQorCSAgIHN0X2Jsb2NrcyAqIDUxMi4gIEJ1dCBpZiB5b3Ugc2F5IHRoYXQsIHRoZW4gcGVyaGFwcworCSAgIGFkbWluaXN0cmF0aXZlIGRhdGEgc2hvdWxkIGFsc28gYmUgaW5jbHVkZWQgaW4gYm90aC4gKi8KKwljaGFuZ2UgPSBuZXdfc2l6ZSAtIG9yaWdpbmFsX3NpemU7CisJaWYgKHZlcmJvc2UpCisJCXByaW50ZihfKCIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIpLAorCQkgICAgICAgKGNoYW5nZSAqIDEwMCkgLyAoZG91YmxlKSBvcmlnaW5hbF9zaXplLCBjaGFuZ2UsIG5hbWUpOworCisJcmV0dXJuIGN1cnI7Cit9CisKKworLyoKKyAqIFRyYXZlcnNlIHRoZSBlbnRyeSB0cmVlLCB3cml0aW5nIGRhdGEgZm9yIGV2ZXJ5IGl0ZW0gdGhhdCBoYXMKKyAqIG5vbi1udWxsIGVudHJ5LT5wYXRoIChpLmUuIGV2ZXJ5IHN5bWxpbmsgYW5kIG5vbi1lbXB0eQorICogcmVnZmlsZSkuCisgKi8KK3N0YXRpYyB1bnNpZ25lZCBpbnQKK3dyaXRlX2RhdGEoc3RydWN0IGVudHJ5ICplbnRyeSwgY2hhciAqYmFzZSwgdW5zaWduZWQgaW50IG9mZnNldCkgeworCXN0cnVjdCBlbnRyeSAqZTsKKworCWZvciAoZSA9IGVudHJ5OyBlOyBlID0gZS0+bmV4dCkgeworCQlpZiAoZS0+cGF0aCkgeworCQkJaWYgKGUtPnNhbWUpIHsKKwkJCQlzZXRfZGF0YV9vZmZzZXQoZSwgYmFzZSwgZS0+c2FtZS0+b2Zmc2V0KTsKKwkJCQllLT5vZmZzZXQgPSBlLT5zYW1lLT5vZmZzZXQ7CisJCQl9IGVsc2UgaWYgKGUtPnNpemUpIHsKKwkJCQlzZXRfZGF0YV9vZmZzZXQoZSwgYmFzZSwgb2Zmc2V0KTsKKwkJCQllLT5vZmZzZXQgPSBvZmZzZXQ7CisJCQkJb2Zmc2V0ID0gZG9fY29tcHJlc3MoYmFzZSwgb2Zmc2V0LCBlLT5uYW1lLAorCQkJCQkJICAgICBlLT5wYXRoLCBlLT5zaXplLGUtPm1vZGUpOworCQkJfQorCQl9IGVsc2UgaWYgKGUtPmNoaWxkKQorCQkJb2Zmc2V0ID0gd3JpdGVfZGF0YShlLT5jaGlsZCwgYmFzZSwgb2Zmc2V0KTsKKwl9CisJcmV0dXJuIG9mZnNldDsKK30KKworc3RhdGljIHVuc2lnbmVkIGludCB3cml0ZV9maWxlKGNoYXIgKmZpbGUsIGNoYXIgKmJhc2UsIHVuc2lnbmVkIGludCBvZmZzZXQpCit7CisJaW50IGZkOworCWNoYXIgKmJ1ZjsKKworCWZkID0gb3BlbihmaWxlLCBPX1JET05MWSk7CisJaWYgKGZkIDwgMCkKKwkJZXJyKE1LRlNfRVhfRVJST1IsIF8oImNhbm5vdCBvcGVuICVzIiksIGZpbGUpOworCWJ1ZiA9IG1tYXAoTlVMTCwgaW1hZ2VfbGVuZ3RoLCBQUk9UX1JFQUQsIE1BUF9QUklWQVRFLCBmZCwgMCk7CisJbWVtY3B5KGJhc2UgKyBvZmZzZXQsIGJ1ZiwgaW1hZ2VfbGVuZ3RoKTsKKwltdW5tYXAoYnVmLCBpbWFnZV9sZW5ndGgpOworCWlmIChjbG9zZSAoZmQpIDwgMCkKKwkJZXJyKE1LRlNfRVhfRVJST1IsIF8oImNhbm5vdCBjbG9zZSBmaWxlICVzIiksIGZpbGUpOworCS8qIFBhZCB1cCB0aGUgaW1hZ2VfbGVuZ3RoIHRvIGEgNC1ieXRlIGJvdW5kYXJ5ICovCisJd2hpbGUgKGltYWdlX2xlbmd0aCAmIDMpIHsKKwkJKihiYXNlICsgb2Zmc2V0ICsgaW1hZ2VfbGVuZ3RoKSA9ICdcMCc7CisJCWltYWdlX2xlbmd0aCsrOworCX0KKwlyZXR1cm4gKG9mZnNldCArIGltYWdlX2xlbmd0aCk7Cit9CisKKy8qCisgKiBNYXhpbXVtIHNpemUgZnMgeW91IGNhbiBjcmVhdGUgaXMgcm91Z2hseSAyNTZNQi4gIChUaGUgbGFzdCBmaWxlJ3MKKyAqIGRhdGEgbXVzdCBiZWdpbiB3aXRoaW4gMjU2TUIgYm91bmRhcnkgYnV0IGNhbiBleHRlbmQgYmV5b25kIHRoYXQuKQorICoKKyAqIE5vdGUgdGhhdCBpZiB5b3Ugd2FudCBpdCB0byBmaXQgaW4gYSBST00gdGhlbiB5b3UncmUgbGltaXRlZCB0byB3aGF0IHRoZQorICogaGFyZHdhcmUgYW5kIGtlcm5lbCBjYW4gc3VwcG9ydCAoNjRNQj8pLgorICovCitzdGF0aWMgdW5zaWduZWQgaW50CittYXhmc2xlbih2b2lkKSB7CisJcmV0dXJuICgoKDEgPDwgQ1JBTUZTX09GRlNFVF9XSURUSCkgLSAxKSA8PCAyKSAgICAvKiBvZmZzZXQgKi8KKwkJKyAoMSA8PCBDUkFNRlNfU0laRV9XSURUSCkgLSAxICAgICAgICAgICAgLyogZmlsZXNpemUgKi8KKwkJKyAoMSA8PCBDUkFNRlNfU0laRV9XSURUSCkgKiA0IC8gYmxrc2l6ZTsgLyogYmxvY2sgcG9pbnRlcnMgKi8KK30KKworLyoKKyAqIFVzYWdlOgorICoKKyAqICAgICAgbWtjcmFtZnMgZGlyZWN0b3J5LW5hbWUgb3V0ZmlsZQorICoKKyAqIHdoZXJlICJkaXJlY3RvcnktbmFtZSIgaXMgc2ltcGx5IHRoZSByb290IG9mIHRoZSBkaXJlY3RvcnkKKyAqIHRyZWUgdGhhdCB3ZSB3YW50IHRvIGdlbmVyYXRlIGEgY29tcHJlc3NlZCBmaWxlc3lzdGVtIG91dAorICogb2YuCisgKi8KK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlzdHJ1Y3Qgc3RhdCBzdDsJCS8qIHVzZWQgdHdpY2UuLi4gKi8KKwlzdHJ1Y3QgZW50cnkgKnJvb3RfZW50cnk7CisJY2hhciAqcm9tX2ltYWdlOworCXNzaXplX3Qgb2Zmc2V0LCB3cml0dGVuOworCWludCBmZDsKKwkvKiBpbml0aWFsIGd1ZXNzICh1cHBlci1ib3VuZCkgb2YgcmVxdWlyZWQgZmlsZXN5c3RlbSBzaXplICovCisJbG9mZl90IGZzbGVuX3ViID0gc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpOworCXVuc2lnbmVkIGludCBmc2xlbl9tYXg7CisJY2hhciBjb25zdCAqZGlybmFtZSwgKm91dGZpbGU7CisJdWludDMyX3QgY3JjID0gY3JjMzIoMEwsIFpfTlVMTCwgMCk7CisJaW50IGM7CisJY3JhbWZzX2lzX2JpZ19lbmRpYW4gPSBIT1NUX0lTX0JJR19FTkRJQU47IC8qIGRlZmF1bHQgaXMgdG8gdXNlIGhvc3Qgb3JkZXIgKi8KKworCXRvdGFsX2Jsb2NrcyA9IDA7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJLyogY29tbWFuZCBsaW5lIG9wdGlvbnMgKi8KKwl3aGlsZSAoKGMgPSBnZXRvcHQoYXJnYywgYXJndiwgImhiOkVlOmk6bjpOOnBzVnZ6IikpICE9IEVPRikgeworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShNS0ZTX0VYX09LKTsKKwkJY2FzZSAnYic6CisJCQlibGtzaXplID0gc3RydG91MzJfb3JfZXJyKG9wdGFyZywgXygiaW52YWxpZCBibG9ja3NpemUgYXJndW1lbnQiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnRSc6CisJCQlvcHRfZXJyb3JzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdlJzoKKwkJCW9wdF9lZGl0aW9uID0gc3RydG91MzJfb3JfZXJyKG9wdGFyZywgXygiaW52YWxpZCBlZGl0aW9uIG51bWJlciBhcmd1bWVudCIpKTsKKwkJCWJyZWFrOworCQljYXNlICdOJzoKKwkJCWlmIChzdHJjbXAob3B0YXJnLCAiYmlnIikgPT0gMCkKKwkJCQljcmFtZnNfaXNfYmlnX2VuZGlhbiA9IDE7CisJCQllbHNlIGlmIChzdHJjbXAob3B0YXJnLCAibGl0dGxlIikgPT0gMCkKKwkJCQljcmFtZnNfaXNfYmlnX2VuZGlhbiA9IDA7CisJCQllbHNlIGlmIChzdHJjbXAob3B0YXJnLCAiaG9zdCIpID09IDApCisJCQkJLyogZGVmYXVsdCAqLyA7CisJCQllbHNlCisJCQkJZXJyeChNS0ZTX0VYX1VTQUdFLCBfKCJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IgorCQkJCQkJICAgIiBtdXN0IGJlICdiaWcnLCAnbGl0dGxlJywgb3IgJ2hvc3QnIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ2knOgorCQkJb3B0X2ltYWdlID0gb3B0YXJnOworCQkJaWYgKGxzdGF0KG9wdF9pbWFnZSwgJnN0KSA8IDApCisJCQkJZXJyKE1LRlNfRVhfVVNBR0UsIF8oInN0YXQgb2YgJXMgZmFpbGVkIiksIG9wdF9pbWFnZSk7CisJCQlpbWFnZV9sZW5ndGggPSBzdC5zdF9zaXplOyAvKiBtYXkgYmUgcGFkZGVkIGxhdGVyICovCisJCQlmc2xlbl91YiArPSAoaW1hZ2VfbGVuZ3RoICsgMyk7IC8qIDMgaXMgZm9yIHBhZGRpbmcgKi8KKwkJCWJyZWFrOworCQljYXNlICduJzoKKwkJCW9wdF9uYW1lID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ3AnOgorCQkJb3B0X3BhZCA9IFBBRF9TSVpFOworCQkJZnNsZW5fdWIgKz0gUEFEX1NJWkU7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQkvKiBvbGQgb3B0aW9uLCBpZ25vcmVkICovCisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCWV4aXQoTUtGU19FWF9PSyk7CisJCWNhc2UgJ3YnOgorCQkJdmVyYm9zZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAneic6CisJCQlvcHRfaG9sZXMgPSAxOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShGU0NLX0VYX1VTQUdFKTsKKwkJfQorCX0KKworCWlmICgoYXJnYyAtIG9wdGluZCkgIT0gMikKKwkJdXNhZ2UoTUtGU19FWF9VU0FHRSk7CisJZGlybmFtZSA9IGFyZ3Zbb3B0aW5kXTsKKwlvdXRmaWxlID0gYXJndltvcHRpbmQgKyAxXTsKKworCWlmIChibGtzaXplID09IDApCisJCWJsa3NpemUgPSBnZXRwYWdlc2l6ZSgpOworCisJaWYgKHN0YXQoZGlybmFtZSwgJnN0KSA8IDApCisJCWVycihNS0ZTX0VYX1VTQUdFLCBfKCJzdGF0IG9mICVzIGZhaWxlZCIpLCBkaXJuYW1lKTsKKwlmZCA9IG9wZW4ob3V0ZmlsZSwgT19XUk9OTFkgfCBPX0NSRUFUIHwgT19UUlVOQywgMDY2Nik7CisJaWYgKGZkIDwgMCkKKwkJZXJyKE1LRlNfRVhfVVNBR0UsIF8oImNhbm5vdCBvcGVuICVzIiksIG91dGZpbGUpOworCisJcm9vdF9lbnRyeSA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBlbnRyeSkpOworCXJvb3RfZW50cnktPm1vZGUgPSBzdC5zdF9tb2RlOworCXJvb3RfZW50cnktPnVpZCA9IHN0LnN0X3VpZDsKKwlyb290X2VudHJ5LT5naWQgPSBzdC5zdF9naWQ7CisKKwlyb290X2VudHJ5LT5zaXplID0gcGFyc2VfZGlyZWN0b3J5KHJvb3RfZW50cnksIGRpcm5hbWUsICZyb290X2VudHJ5LT5jaGlsZCwgJmZzbGVuX3ViKTsKKworCS8qIGZpbmQgZHVwbGljYXRlIGZpbGVzICovCisJZWxpbWluYXRlX2RvdWJsZXMocm9vdF9lbnRyeSxyb290X2VudHJ5LCAmZnNsZW5fdWIpOworCisJLyogYWx3YXlzIGFsbG9jYXRlIGEgbXVsdGlwbGUgb2YgYmxrc2l6ZSBieXRlcyBiZWNhdXNlIHRoYXQncworCSAgIHdoYXQgd2UncmUgZ29pbmcgdG8gd3JpdGUgbGF0ZXIgb24gKi8KKwlmc2xlbl91YiA9ICgoZnNsZW5fdWIgLSAxKSB8IChibGtzaXplIC0gMSkpICsgMTsKKwlmc2xlbl9tYXggPSBtYXhmc2xlbigpOworCisJaWYgKGZzbGVuX3ViID4gZnNsZW5fbWF4KSB7CisJCXdhcm54KAlfKCJ3YXJuaW5nOiBndWVzdGltYXRlIG9mIHJlcXVpcmVkIHNpemUgKHVwcGVyIGJvdW5kKSAiCisJCQkgICJpcyAlbGxkTUIsIGJ1dCBtYXhpbXVtIGltYWdlIHNpemUgaXMgJXVNQi4gICIKKwkJCSAgIldlIG1pZ2h0IGRpZSBwcmVtYXR1cmVseS4iKSwKKwkJCShsb25nIGxvbmcpZnNsZW5fdWIgPj4gMjAsCisJCQlmc2xlbl9tYXggPj4gMjApOworCQlmc2xlbl91YiA9IGZzbGVuX21heDsKKwl9CisKKwkvKiBUT0RPOiBXaHkgZG8gd2UgdXNlIGEgcHJpdmF0ZS9hbm9ueW1vdXMgbWFwcGluZyBoZXJlCisJICAgZm9sbG93ZWQgYnkgYSB3cml0ZSBiZWxvdywgaW5zdGVhZCBvZiBqdXN0IGEgc2hhcmVkIG1hcHBpbmcKKwkgICBhbmQgYSBjb3VwbGUgb2YgZnRydW5jYXRlIGNhbGxzPyAgSXMgaXQganVzdCB0byBzYXZlIHVzCisJICAgaGF2aW5nIHRvIGRlYWwgd2l0aCByZW1vdmluZyB0aGUgZmlsZSBhZnRlcndhcmRzPyAgSWYgd2UKKwkgICByZWFsbHkgbmVlZCB0aGlzIGh1Z2UgYW5vbnltb3VzIG1hcHBpbmcsIHdlIG91Z2h0IHRvIG1tYXAKKwkgICBpbiBzbWFsbGVyIGNodW5rcywgc28gdGhhdCB0aGUgdXNlciBkb2Vzbid0IG5lZWQgbm4gTUIgb2YKKwkgICBSQU0gZnJlZS4gIElmIHRoZSByZWFzb24gaXMgdG8gYmUgYWJsZSB0byB3cml0ZSB0bworCSAgIHVuLW1tYXBwYWJsZSBibG9jayBkZXZpY2VzLCB0aGVuIHdlIGNvdWxkIHRyeSBzaGFyZWQgbW1hcAorCSAgIGFuZCByZXZlcnQgdG8gYW5vbnltb3VzIG1tYXAgaWYgdGhlIHNoYXJlZCBtbWFwIGZhaWxzLiAqLworCXJvbV9pbWFnZSA9IG1tYXAoTlVMTCwKKwkJCSBmc2xlbl91Yj9mc2xlbl91YjoxLAorCQkJIFBST1RfUkVBRCB8IFBST1RfV1JJVEUsCisJCQkgTUFQX1BSSVZBVEUgfCBNQVBfQU5PTllNT1VTLAorCQkJIC0xLCAwKTsKKworCWlmICgtMSA9PSAoaW50KSAobG9uZykgcm9tX2ltYWdlKQorCQllcnIoTUtGU19FWF9FUlJPUiwgXygiUk9NIGltYWdlIG1hcCIpKTsKKworCS8qIFNraXAgdGhlIGZpcnN0IG9wdF9wYWQgYnl0ZXMgZm9yIGJvb3QgbG9hZGVyIGNvZGUgKi8KKwlvZmZzZXQgPSBvcHRfcGFkOworCW1lbXNldChyb21faW1hZ2UsIDB4MDAsIG9wdF9wYWQpOworCisJLyogU2tpcCB0aGUgc3VwZXJibG9jayBhbmQgY29tZSBiYWNrIHRvIHdyaXRlIGl0IGxhdGVyLiAqLworCW9mZnNldCArPSBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcik7CisKKwkvKiBJbnNlcnQgYSBmaWxlIGltYWdlLiAqLworCWlmIChvcHRfaW1hZ2UpIHsKKwkJaWYgKHZlcmJvc2UpCisJCQlwcmludGYoXygiSW5jbHVkaW5nOiAlc1xuIiksIG9wdF9pbWFnZSk7CisJCW9mZnNldCA9IHdyaXRlX2ZpbGUob3B0X2ltYWdlLCByb21faW1hZ2UsIG9mZnNldCk7CisJfQorCisJb2Zmc2V0ID0gd3JpdGVfZGlyZWN0b3J5X3N0cnVjdHVyZShyb290X2VudHJ5LT5jaGlsZCwgcm9tX2ltYWdlLCBvZmZzZXQpOworCWlmICh2ZXJib3NlKQorCQlwcmludGYoXygiRGlyZWN0b3J5IGRhdGE6ICV6ZCBieXRlc1xuIiksIG9mZnNldCk7CisKKwlvZmZzZXQgPSB3cml0ZV9kYXRhKHJvb3RfZW50cnksIHJvbV9pbWFnZSwgb2Zmc2V0KTsKKworCS8qIFdlIGFsd2F5cyB3cml0ZSBhIG11bHRpcGxlIG9mIGJsa3NpemUgYnl0ZXMsIHNvIHRoYXQKKwkgICBsb3NldHVwIHdvcmtzLiAqLworCW9mZnNldCA9ICgob2Zmc2V0IC0gMSkgfCAoYmxrc2l6ZSAtIDEpKSArIDE7CisJaWYgKHZlcmJvc2UpCisJCXByaW50ZihfKCJFdmVyeXRoaW5nOiAlemQga2lsb2J5dGVzXG4iKSwgb2Zmc2V0ID4+IDEwKTsKKworCS8qIFdyaXRlIHRoZSBzdXBlcmJsb2NrIG5vdyB0aGF0IHdlIGNhbiBmaWxsIGluIGFsbCBvZiB0aGUgZmllbGRzLiAqLworCXdyaXRlX3N1cGVyYmxvY2socm9vdF9lbnRyeSwgcm9tX2ltYWdlK29wdF9wYWQsIG9mZnNldCk7CisJaWYgKHZlcmJvc2UpCisJCXByaW50ZihfKCJTdXBlciBibG9jazogJXpkIGJ5dGVzXG4iKSwKKwkJICAgICAgIHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSk7CisKKwkvKiBQdXQgdGhlIGNoZWNrc3VtIGluLiAqLworCWNyYyA9IGNyYzMyKGNyYywgKHVuc2lnbmVkIGNoYXIgKikgKHJvbV9pbWFnZStvcHRfcGFkKSwgKG9mZnNldC1vcHRfcGFkKSk7CisJKChzdHJ1Y3QgY3JhbWZzX3N1cGVyICopIChyb21faW1hZ2Urb3B0X3BhZCkpLT5mc2lkLmNyYyA9IHUzMl90b2dnbGVfZW5kaWFubmVzcyhjcmFtZnNfaXNfYmlnX2VuZGlhbiwgY3JjKTsKKwlpZiAodmVyYm9zZSkKKwkJcHJpbnRmKF8oIkNSQzogJXhcbiIpLCBjcmMpOworCisJLyogQ2hlY2sgdG8gbWFrZSBzdXJlIHdlIGFsbG9jYXRlZCBlbm91Z2ggc3BhY2UuICovCisJaWYgKGZzbGVuX3ViIDwgb2Zmc2V0KQorCQllcnJ4KE1LRlNfRVhfRVJST1IsCisJCQlfKCJub3QgZW5vdWdoIHNwYWNlIGFsbG9jYXRlZCBmb3IgUk9NIGltYWdlICIKKwkJCSAgIiglbGxkIGFsbG9jYXRlZCwgJXp1IHVzZWQpIiksCisJCQkobG9uZyBsb25nKSBmc2xlbl91Yiwgb2Zmc2V0KTsKKworCXdyaXR0ZW4gPSB3cml0ZShmZCwgcm9tX2ltYWdlLCBvZmZzZXQpOworCWlmIChvZmZzZXQgIT0gd3JpdHRlbikKKwkJZXJyeChNS0ZTX0VYX0VSUk9SLCBfKCJST00gaW1hZ2Ugd3JpdGUgZmFpbGVkICglemQgJXpkKSIpLAorCQkJd3JpdHRlbiwgb2Zmc2V0KTsKKwlpZiAoY2xvc2VfZmQoZmQpICE9IDApCisJCWVycihNS0ZTX0VYX0VSUk9SLCBfKCJST00gaW1hZ2UiKSk7CisKKwkvKgorCSAqIChUaGVzZSB3YXJuaW5ncyB1c2VkIHRvIGNvbWUgYXQgdGhlIHN0YXJ0LCBidXQgdGhleSBzY3JvbGwgb2ZmCisJICogdGhlIHNjcmVlbiB0b28gcXVpY2tseS4pCisJICovCisJaWYgKHdhcm5fbmFtZWxlbikKKwkJLyogQ2FuJ3QgaGFwcGVuIHdoZW4gcmVhZGluZyBmcm9tIGV4dDJmcy4gKi8KKwkJLyogQnl0ZXMsIG5vdCBjaGFyczogdGhpbmsgVVRGOC4gKi8KKwkJd2FybngoXygid2FybmluZzogZmlsZW5hbWVzIHRydW5jYXRlZCB0byAldSBieXRlcy4iKSwgTUFYX0lOUFVUX05BTUVMRU4pOworCWlmICh3YXJuX3NraXApCisJCXdhcm54KF8oIndhcm5pbmc6IGZpbGVzIHdlcmUgc2tpcHBlZCBkdWUgdG8gZXJyb3JzLiIpKTsKKwlpZiAod2Fybl9zaXplKQorCQl3YXJueChfKCJ3YXJuaW5nOiBmaWxlIHNpemVzIHRydW5jYXRlZCB0byAlbHVNQiAiCisJCQkiKG1pbnVzIDEgYnl0ZSkuIiksIDFMIDw8IChDUkFNRlNfU0laRV9XSURUSCAtIDIwKSk7CisJaWYgKHdhcm5fdWlkKQorCQkvKiAobm90IHBvc3NpYmxlIHdpdGggY3VycmVudCBMaW51eCB2ZXJzaW9ucykgKi8KKwkJd2FybngoXygid2FybmluZzogdWlkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gICIKKwkJCSIoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiKSwgQ1JBTUZTX1VJRF9XSURUSCk7CisJaWYgKHdhcm5fZ2lkKQorCQl3YXJueChfKCJ3YXJuaW5nOiBnaWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgIgorCQkJIihUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIpLCBDUkFNRlNfR0lEX1dJRFRIKTsKKwlpZiAod2Fybl9kZXYpCisJCXdhcm54KF8oIldBUk5JTkc6IGRldmljZSBudW1iZXJzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgIgorCQkJIlRoaXMgYWxtb3N0IGNlcnRhaW5seSBtZWFuc1xuIgorCQkJInRoYXQgc29tZSBkZXZpY2UgZmlsZXMgd2lsbCBiZSB3cm9uZy4iKSwKKwkJICAgICAgQ1JBTUZTX09GRlNFVF9XSURUSCk7CisJaWYgKG9wdF9lcnJvcnMgJiYKKwkgICAgKHdhcm5fbmFtZWxlbnx3YXJuX3NraXB8d2Fybl9zaXplfHdhcm5fdWlkfHdhcm5fZ2lkfHdhcm5fZGV2KSkKKwkJZXhpdChNS0ZTX0VYX0VSUk9SKTsKKworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL21rZnMubWluaXguOCBiL2Rpc2stdXRpbHMvbWtmcy5taW5peC44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlNzA1MGQKLS0tIC9kZXYvbnVsbAorKysgYi9kaXNrLXV0aWxzL21rZnMubWluaXguOApAQCAtMCwwICsxLDg5IEBACisuXCIgQ29weXJpZ2h0IDE5OTIsIDE5OTMsIDE5OTQgUmlja2FyZCBFLiBGYWl0aCAoZmFpdGhAY3MudW5jLmVkdSkKKy5cIiBNYXkgYmUgZnJlZWx5IGRpc3RyaWJ1dGVkLgorLlRIIE1LRlMuTUlOSVggOCAiSnVuZSAyMDE1IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitta2ZzLm1pbml4IFwtIG1ha2UgYSBNaW5peCBmaWxlc3lzdGVtCisuU0ggU1lOT1BTSVMKKy5CIG1rZnMubWluaXgKK1tvcHRpb25zXQorLkkgZGV2aWNlCisuUkkgWyBzaXplLWluLWJsb2NrcyBdCisuU0ggREVTQ1JJUFRJT04KKy5CIG1rZnMubWluaXgKK2NyZWF0ZXMgYSBMaW51eCBNSU5JWCBmaWxlc3lzdGVtIG9uIGEgZGV2aWNlICh1c3VhbGx5IGEgZGlzayBwYXJ0aXRpb24pLgorCitUaGUKKy5JIGRldmljZQoraXMgdXN1YWxseSBvZiB0aGUgZm9sbG93aW5nIGZvcm06CisKKy5uZgorLlJTCisvZGV2L2hkYVsxXChlbjhdIChJREUgZGlzayAxKQorL2Rldi9oZGJbMVwoZW44XSAoSURFIGRpc2sgMikKKy9kZXYvc2RhWzFcKGVuOF0gKFNDU0kgZGlzayAxKQorL2Rldi9zZGJbMVwoZW44XSAoU0NTSSBkaXNrIDIpCisuUkUKKy5maQorCitUaGUgZGV2aWNlIG1heSBiZSBhIGJsb2NrIGRldmljZSBvciBhIGltYWdlIGZpbGUgb2Ygb25lLCBidXQgdGhpcyBpcyBub3QKK2VuZm9yY2VkLiAgRXhwZWN0IG5vdCBtdWNoIGZ1biBvbiBhIGNoYXJhY3RlciBkZXZpY2UgOi0pLgorLlBQCitUaGUKKy5JIHNpemUtaW4tYmxvY2tzCitwYXJhbWV0ZXIgaXMgdGhlIGRlc2lyZWQgc2l6ZSBvZiB0aGUgZmlsZSBzeXN0ZW0sIGluIGJsb2Nrcy4KK0l0IGlzIHByZXNlbnQgb25seSBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuCitJZiBvbWl0dGVkIHRoZSBzaXplIHdpbGwgYmUgZGV0ZXJtaW5lZCBhdXRvbWF0aWNhbGx5LgorT25seSBibG9jayBjb3VudHMgc3RyaWN0bHkgZ3JlYXRlciB0aGFuIDEwIGFuZCBzdHJpY3RseSBsZXNzIHRoYW4KKzY1NTM2IGFyZSBhbGxvd2VkLgorLlNIIE9QVElPTlMKKy5UUAorXGZCXC1jXGZSLCBcZkJcLVwtY2hlY2tcZlIKK0NoZWNrIHRoZSBkZXZpY2UgZm9yIGJhZCBibG9ja3MgYmVmb3JlIGNyZWF0aW5nIHRoZSBmaWxlc3lzdGVtLiAgSWYgYW55CithcmUgZm91bmQsIHRoZSBjb3VudCBpcyBwcmludGVkLgorLlRQCitcZkJcLW5cZlIsIFxmQlwtXC1uYW1lbGVuZ3RoXGZSIFxmSWxlbmd0aFxmUgorU3BlY2lmeSB0aGUgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzLiAgQ3VycmVudGx5LCB0aGUgb25seSBhbGxvd2FibGUKK3ZhbHVlcyBhcmUgMTQgYW5kIDMwIGZvciBmaWxlIHN5c3RlbSB2ZXJzaW9ucyAxIGFuZCAyLiAgVmVyc2lvbiAzIGFsbG93cworb25seSB2YWx1ZSA2MC4gIFRoZSBkZWZhdWx0IGlzIDMwLgorLlRQCitcZkJcLWlcZlIsIFxmQlwtXC1pbm9kZXNcZlIgXGZJbnVtYmVyXGZSCitTcGVjaWZ5IHRoZSBudW1iZXIgb2YgaW5vZGVzIGZvciB0aGUgZmlsZXN5c3RlbS4KKy5UUAorXGZCXC1sXGZSLCBcZkJcLVwtYmFkYmxvY2tzXGZSIFxmSWZpbGVuYW1lXGZSCitSZWFkIHRoZSBsaXN0IG9mIGJhZCBibG9ja3MgZnJvbQorLklSIGZpbGVuYW1lIC4KK1RoZSBmaWxlIGhhcyBvbmUgYmFkLWJsb2NrIG51bWJlciBwZXIgbGluZS4gIFRoZSBjb3VudCBvZiBiYWQgYmxvY2tzIHJlYWQKK2lzIHByaW50ZWQuCisuVFAKKy5CIFwtMQorTWFrZSBhIE1pbml4IHZlcnNpb24gMSBmaWxlc3lzdGVtLiAgVGhpcyBpcyB0aGUgZGVmYXVsdC4KKy5UUAorLkJSIFwtMiAsICIgXC12IgorTWFrZSBhIE1pbml4IHZlcnNpb24gMiBmaWxlc3lzdGVtLgorLlRQCisuQiBcLTMKK01ha2UgYSBNaW5peCB2ZXJzaW9uIDMgZmlsZXN5c3RlbS4KKy5UUAorXGZCXC1WXGZSLCBcZkJcLVwtdmVyc2lvblxmUgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LiAgVGhlIGxvbmcgb3B0aW9uIGNhbm5vdCBiZSBjb21iaW5lZAord2l0aCBvdGhlciBvcHRpb25zLgorLlRQCitcZkJcLWhcZlIsIFxmQlwtXC1oZWxwXGZSCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCAiRVhJVCBDT0RFUyIKK1RoZSBleGl0IGNvZGUgcmV0dXJuZWQgYnkKKy5CIG1rZnMubWluaXgKK2lzIG9uZSBvZiB0aGUgZm9sbG93aW5nOgorLklQIDAKK05vIGVycm9ycworLklQIDgKK09wZXJhdGlvbmFsIGVycm9yCisuSVAgMTYKK1VzYWdlIG9yIHN5bnRheCBlcnJvcgorLlNIICJTRUUgQUxTTyIKKy5CUiBmc2NrICg4KSwKKy5CUiBta2ZzICg4KSwKKy5CUiByZWJvb3QgKDgpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgbWtmcy5taW5peCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2Z0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvbWtmcy5taW5peC5jIGIvZGlzay11dGlscy9ta2ZzLm1pbml4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWY0OWVhNwotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvbWtmcy5taW5peC5jCkBAIC0wLDAgKzEsODM2IEBACisvKgorICogbWtmcy5taW5peC5jIC0gbWFrZSBhIGxpbnV4IChtaW5peCkgZmlsZS1zeXN0ZW0uCisgKgorICogKEMpIDE5OTEgTGludXMgVG9ydmFsZHMuIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCBhcyBwZXIKKyAqIHRoZSBMaW51eCBjb3B5cmlnaHQuCisgKi8KKworLyoKKyAqIERELk1NLllZCisgKgorICogMjQuMTEuOTEgIC0JVGltZSBiZWdhbi4gVXNlZCB0aGUgZnNjayBzb3VyY2VzIHRvIGdldCBzdGFydGVkLgorICoKKyAqIDI1LjExLjkxICAtCUNvcnJlY3RlZCBzb21lIGJ1Z3MuIEFkZGVkIHN1cHBvcnQgZm9yICIuYmFkYmxvY2tzIgorICoJCVRoZSBhbGdvcml0aG0gZm9yICIuYmFkYmxvY2tzIiBpcyBhIGJpdCB3ZWlyZCwgYnV0CisgKgkJaXQgc2hvdWxkIHdvcmsuIE9oLCB3ZWxsLgorICoKKyAqIDI1LjAxLjkyICAtCUFkZGVkIHRoZSAtbCBvcHRpb24gZm9yIGdldHRpbmcgdGhlIGxpc3Qgb2YgYmFkIGJsb2NrcworICoJCW91dCBvZiBhIG5hbWVkIGZpbGUuIChEYXZlIFJpdmVycywgcml2ZXJzQHBvbmRzLnV1Y3ApCisgKgorICogMjguMDIuOTIgIC0JQWRkZWQgJS1pbmZvcm1hdGlvbiB3aGVuIHVzaW5nIC1jLgorICoKKyAqIDI4LjAyLjkzICAtCUFkZGVkIHN1cHBvcnQgZm9yIG90aGVyIG5hbWVsZW5ndGhzIHRoYW4gdGhlIG9yaWdpbmFsCisgKgkJMTQgY2hhcmFjdGVycyBzbyB0aGF0IEkgY2FuIHRlc3QgdGhlIG5ldyBrZXJuZWwgcm91dGluZXMuLgorICoKKyAqIDA5LjEwLjkzICAtCU1ha2UgZXhpdCBzdGF0dXMgY29uZm9ybSB0byB0aGF0IHJlcXVpcmVkIGJ5IGZzdXRpbAorICoJCShSaWsgRmFpdGgsIGZhaXRoQGNzLnVuYy5lZHUpCisgKgorICogMzEuMTAuOTMgIC0JQWRkZWQgaW5vZGUgcmVxdWVzdCBmZWF0dXJlLCBmb3IgYmFja3VwIGZsb3BwaWVzOiB1c2UKKyAqCQkzMiBpbm9kZXMsIGZvciBhIG5ld3MgcGFydGl0aW9uIHVzZSBtb3JlLgorICoJCShTY290dCBIZWF2bmVyLCBzZGhAcG8uY3dydS5lZHUpCisgKgorICogMDMuMDEuOTQgIC0JQWRkZWQgc3VwcG9ydCBmb3IgZmlsZSBzeXN0ZW0gdmFsaWQgZmxhZy4KKyAqCQkoRHIuIFdldHRzdGVpbiwgZ3JlZyV3aW5kLnV1Y3BAcGxhaW5zLm5vZGFrLmVkdSkKKyAqCisgKiAzMC4xMC45NCAgLSAgQWRkZWQgc3VwcG9ydCBmb3IgdjIgZmlsZXN5c3RlbQorICoJCShBbmRyZWFzIFNjaHdhYiwgc2Nod2FiQGlzc2FuLmluZm9ybWF0aWsudW5pLWRvcnRtdW5kLmRlKQorICogCisgKiAwOS4xMS45NCAgLQlBZGRlZCB0ZXN0IHRvIHByZXZlbnQgb3ZlcndyaXRlIG9mIG1vdW50ZWQgZnMgYWRhcHRlZAorICoJCWZyb20gVGhlb2RvcmUgVHMnbydzICh0eXRzb0BhdGhlbmEubWl0LmVkdSkgbWtlMmZzCisgKgkJcHJvZ3JhbS4gIChEYW5pZWwgUXVpbmxhbiwgcXVpbmxhbkB5Z2dkcmFzaWwuY29tKQorICoKKyAqIDAzLjIwLjk1ICAtCUNsZWFyIGZpcnN0IDUxMiBieXRlcyBvZiBmaWxlc3lzdGVtIHRvIG1ha2UgY2VydGFpbiB0aGF0CisgKgkJdGhlIGZpbGVzeXN0ZW0gaXMgbm90IG1pc2lkZW50aWZpZWQgYXMgYSBNUy1ET1MgRkFUIGZpbGVzeXN0ZW0uCisgKgkJKERhbmllbCBRdWlubGFuLCBxdWlubGFuQHlnZ2RyYXNpbC5jb20pCisgKgorICogMDIuMDcuOTYgIC0gIEFkZGVkIHNtYWxsIHBhdGNoIGZyb20gUnVzc2VsbCBLaW5nIHRvIG1ha2UgdGhlIHByb2dyYW0gYQorICoJCWdvb2QgZGVhbCBtb3JlIHBvcnRhYmxlIChqYW5sQG1hdGgudWlvLm5vKQorICoKKyAqIDA2LjI5LjExICAtICBPdmVyYWxsIGNsZWFudXBzIGZvciB1dGlsLWxpbnV4IGFuZCB2MyBzdXBwb3J0CisgKiAgICAgICAgICAgICAgRGF2aWRsb2hyIEJ1ZXNvIDxkYXZlQGdudS5vcmc+CisgKgorICogMDYuMjAuMTUgIC0gIERvIG5vdCBpbmZpbml0ZSBsb29wIG9yIGNyYXNoIG9uIGxhcmdlIGRldmljZXMKKyAqICAgICAgICAgICAgICBKb3NodWEgSHVkc29uIDxqb3NodWRzb25AZ21haWwuY29tPgorICoKKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDx0aW1lLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHRlcm1pb3MuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPGVyci5oPgorCisjaW5jbHVkZSAiYmxrZGV2LmgiCisjaW5jbHVkZSAibWluaXhfcHJvZ3JhbXMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJiaXRvcHMuaCIKKyNpbmNsdWRlICJleGl0Y29kZXMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgImFsbC1pby5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAiaXNtb3VudGVkLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisKKyNkZWZpbmUgTUlOSVhfUk9PVF9JTk8gMQorI2RlZmluZSBNSU5JWF9CQURfSU5PIDIKKworI2RlZmluZSBURVNUX0JVRkZFUl9CTE9DS1MgMTYKKyNkZWZpbmUgTUFYX0dPT0RfQkxPQ0tTIDUxMgorCisjZGVmaW5lIE1JTklYX01BWF9JTk9ERVMgNjU1MzUKKworI2RlZmluZSBERUZBVUxUX0ZTX1ZFUlNJT04gMQorCisvKgorICogR2xvYmFsIHZhcmlhYmxlcyB1c2VkIGluIG1pbml4X3Byb2dyYW1zLmggaW5saW5lIGZ1bmN0aW9ucworICovCitpbnQgZnNfdmVyc2lvbiA9IERFRkFVTFRfRlNfVkVSU0lPTjsKK2NoYXIgKnN1cGVyX2Jsb2NrX2J1ZmZlcjsKKworc3RhdGljIGNoYXIgKmlub2RlX2J1ZmZlciA9IE5VTEw7CisKKyNkZWZpbmUgSW5vZGUgKCgoc3RydWN0IG1pbml4X2lub2RlICopIGlub2RlX2J1ZmZlcikgLSAxKQorI2RlZmluZSBJbm9kZTIgKCgoc3RydWN0IG1pbml4Ml9pbm9kZSAqKSBpbm9kZV9idWZmZXIpIC0gMSkKKworc3RydWN0IGZzX2NvbnRyb2wgeworCWNoYXIgKmRldmljZV9uYW1lOwkJLyogZGV2aWNlIG9uIGEgTWluaXggZmlsZSBzeXN0ZW0gaXMgY3JlYXRlZCAqLworCWludCBkZXZpY2VfZmQ7CQkJLyogb3BlbiBmaWxlIGRlc2NyaXB0b3Igb2YgdGhlIGRldmljZSAqLworCXVuc2lnbmVkIGxvbmcgbG9uZyBmc19ibG9ja3M7CS8qIGRldmljZSBibG9jayBjb3VudCBmb3IgdGhlIGZpbGUgc3lzdGVtICovCisJaW50IGZzX3VzZWRfYmxvY2tzOwkJLyogdXNlZCBibG9ja3Mgb24gYSBkZXZpY2UgKi8KKwlpbnQgZnNfYmFkX2Jsb2NrczsJCS8qIG51bWJlciBvZiBiYWQgYmxvY2tzIGZvdW5kIGZyb20gZGV2aWNlICovCisJdWludDE2X3QgZnNfbmFtZWxlbjsJCS8qIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lcyAqLworCXNpemVfdCBmc19kaXJzaXplOwkJLyogbWF4aW11bSBzaXplIG9mIGRpcmVjdG9yeSAqLworCXVuc2lnbmVkIGxvbmcgZnNfaW5vZGVzOwkvKiBudW1iZXIgb2YgaW5vZGVzICovCisJaW50IGZzX21hZ2ljOwkJCS8qIGZpbGUgc3lzdGVtIG1hZ2ljIG51bWJlciAqLworCXVuc2lnbmVkIGludAorCSBjaGVja19ibG9ja3M6MTsJCS8qIGNoZWNrIGZvciBiYWQgYmxvY2tzICovCit9OworCitzdGF0aWMgY2hhciByb290X2Jsb2NrW01JTklYX0JMT0NLX1NJWkVdOworc3RhdGljIGNoYXIgYm9vdF9ibG9ja19idWZmZXJbNTEyXTsKK3N0YXRpYyB1bnNpZ25lZCBzaG9ydCBnb29kX2Jsb2Nrc190YWJsZVtNQVhfR09PRF9CTE9DS1NdOworCitzdGF0aWMgY2hhciAqaW5vZGVfbWFwOworc3RhdGljIGNoYXIgKnpvbmVfbWFwOworCisjZGVmaW5lIHpvbmVfaW5fdXNlKHgpIChpc3NldCh6b25lX21hcCwoeCktZ2V0X2ZpcnN0X3pvbmUoKSsxKSAhPSAwKQorCisjZGVmaW5lIG1hcmtfaW5vZGUoeCkgKHNldGJpdChpbm9kZV9tYXAsKHgpKSkKKyNkZWZpbmUgdW5tYXJrX2lub2RlKHgpIChjbHJiaXQoaW5vZGVfbWFwLCh4KSkpCisKKyNkZWZpbmUgbWFya196b25lKHgpIChzZXRiaXQoem9uZV9tYXAsKHgpLWdldF9maXJzdF96b25lKCkrMSkpCisjZGVmaW5lIHVubWFya196b25lKHgpIChjbHJiaXQoem9uZV9tYXAsKHgpLWdldF9maXJzdF96b25lKCkrMSkpCisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKEZJTEUgKm91dCkKK3sKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc10gL2Rldi9uYW1lIFtibG9ja3NdXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC0xICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDFcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtMiwgLXYgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAyXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLTMgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gM1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1uLCAtLW5hbWVsZW5ndGggPG51bT4gIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1pLCAtLWlub2RlcyA8bnVtPiAgICAgIG51bWJlciBvZiBpbm9kZXMgZm9yIHRoZSBmaWxlc3lzdGVtXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgY2hlY2sgdGhlIGRldmljZSBmb3IgYmFkIGJsb2Nrc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1sLCAtLWJhZGJsb2NrcyA8ZmlsZT4gIGxpc3Qgb2YgYmFkIGJsb2NrcyBmcm9tIGZpbGVcbiIpLCBvdXQpOworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dCk7CisJZnByaW50ZihvdXQsIFVTQUdFX01BTl9UQUlMKCJta2ZzLm1pbml4KDgpIikpOworCWV4aXQob3V0ID09IHN0ZGVyciA/IE1LRlNfRVhfVVNBR0UgOiBNS0ZTX0VYX09LKTsKK30KKworI2lmZGVmIFRFU1RfU0NSSVBUCitzdGF0aWMgaW5saW5lIHRpbWVfdCBta2ZzX21pbml4X3RpbWUodGltZV90ICp0KQoreworCWNvbnN0IGNoYXIgKnN0ciA9IGdldGVudigiTUtGU19NSU5JWF9URVNUX1NFQ09ORF9TSU5DRV9FUE9DSCIpOworCXRpbWVfdCBzZWM7CisKKwlpZiAoc3RyICYmIHNzY2FuZihzdHIsICIlbGQiLCAmc2VjKSA9PSAxKQorCQlyZXR1cm4gc2VjOworCXJldHVybiB0aW1lKHQpOworfQorI2Vsc2UJCQkJLyogIVRFU1RfU0NSSVBUICovCisjIGRlZmluZSBta2ZzX21pbml4X3RpbWUoeCkgdGltZSh4KQorI2VuZGlmCisKK3N0YXRpYyB2b2lkIHN1cGVyX3NldF9zdGF0ZSh2b2lkKQoreworCXN3aXRjaCAoZnNfdmVyc2lvbikgeworCWNhc2UgMToKKwljYXNlIDI6CisJCVN1cGVyLnNfc3RhdGUgfD0gTUlOSVhfVkFMSURfRlM7CisJCVN1cGVyLnNfc3RhdGUgJj0gfk1JTklYX0VSUk9SX0ZTOworCQlicmVhazsKKwlkZWZhdWx0OiAvKiB2MyAqLworCQlicmVhazsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHdyaXRlX3RhYmxlcyhjb25zdCBzdHJ1Y3QgZnNfY29udHJvbCAqY3RsKSB7CisJdW5zaWduZWQgbG9uZyBpbWFwcyA9IGdldF9uaW1hcHMoKTsKKwl1bnNpZ25lZCBsb25nIHptYXBzID0gZ2V0X256bWFwcygpOworCXNpemVfdCBidWZmc3ogPSBnZXRfaW5vZGVfYnVmZmVyX3NpemUoKTsKKworCS8qIE1hcmsgdGhlIHN1cGVyIGJsb2NrIHZhbGlkLiAqLworCXN1cGVyX3NldF9zdGF0ZSgpOworCisJaWYgKGxzZWVrKGN0bC0+ZGV2aWNlX2ZkLCAwLCBTRUVLX1NFVCkpCisJCWVycihNS0ZTX0VYX0VSUk9SLCBfKCIlczogc2VlayB0byBib290IGJsb2NrIGZhaWxlZCAiCisJCQkJICAgIiBpbiB3cml0ZV90YWJsZXMiKSwgY3RsLT5kZXZpY2VfbmFtZSk7CisJaWYgKHdyaXRlX2FsbChjdGwtPmRldmljZV9mZCwgYm9vdF9ibG9ja19idWZmZXIsIDUxMikpCisJCWVycihNS0ZTX0VYX0VSUk9SLCBfKCIlczogdW5hYmxlIHRvIGNsZWFyIGJvb3Qgc2VjdG9yIiksIGN0bC0+ZGV2aWNlX25hbWUpOworCWlmIChNSU5JWF9CTE9DS19TSVpFICE9IGxzZWVrKGN0bC0+ZGV2aWNlX2ZkLCBNSU5JWF9CTE9DS19TSVpFLCBTRUVLX1NFVCkpCisJCWVycihNS0ZTX0VYX0VSUk9SLCBfKCIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfdGFibGVzIiksIGN0bC0+ZGV2aWNlX25hbWUpOworCisJaWYgKHdyaXRlX2FsbChjdGwtPmRldmljZV9mZCwgc3VwZXJfYmxvY2tfYnVmZmVyLCBNSU5JWF9CTE9DS19TSVpFKSkKKwkJZXJyKE1LRlNfRVhfRVJST1IsIF8oIiVzOiB1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siKSwgY3RsLT5kZXZpY2VfbmFtZSk7CisKKwlpZiAod3JpdGVfYWxsKGN0bC0+ZGV2aWNlX2ZkLCBpbm9kZV9tYXAsIGltYXBzICogTUlOSVhfQkxPQ0tfU0laRSkpCisJCWVycihNS0ZTX0VYX0VSUk9SLCBfKCIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIpLCBjdGwtPmRldmljZV9uYW1lKTsKKworCWlmICh3cml0ZV9hbGwoY3RsLT5kZXZpY2VfZmQsIHpvbmVfbWFwLCB6bWFwcyAqIE1JTklYX0JMT0NLX1NJWkUpKQorCQllcnIoTUtGU19FWF9FUlJPUiwgXygiJXM6IHVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIpLCBjdGwtPmRldmljZV9uYW1lKTsKKworCWlmICh3cml0ZV9hbGwoY3RsLT5kZXZpY2VfZmQsIGlub2RlX2J1ZmZlciwgYnVmZnN6KSkKKwkJZXJyKE1LRlNfRVhfRVJST1IsIF8oIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGVzIiksIGN0bC0+ZGV2aWNlX25hbWUpOworfQorCitzdGF0aWMgdm9pZCB3cml0ZV9ibG9jayhjb25zdCBzdHJ1Y3QgZnNfY29udHJvbCAqY3RsLCBpbnQgYmxrLCBjaGFyICogYnVmZmVyKSB7CisJaWYgKGJsayAqIE1JTklYX0JMT0NLX1NJWkUgIT0gbHNlZWsoY3RsLT5kZXZpY2VfZmQsIGJsayAqIE1JTklYX0JMT0NLX1NJWkUsIFNFRUtfU0VUKSkKKwkJZXJyeChNS0ZTX0VYX0VSUk9SLCBfKCIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siKSwgY3RsLT5kZXZpY2VfbmFtZSk7CisKKwlpZiAod3JpdGVfYWxsKGN0bC0+ZGV2aWNlX2ZkLCBidWZmZXIsIE1JTklYX0JMT0NLX1NJWkUpKQorCQllcnJ4KE1LRlNfRVhfRVJST1IsIF8oIiVzOiB3cml0ZSBmYWlsZWQgaW4gd3JpdGVfYmxvY2siKSwgY3RsLT5kZXZpY2VfbmFtZSk7Cit9CisKK3N0YXRpYyBpbnQgZ2V0X2ZyZWVfYmxvY2soc3RydWN0IGZzX2NvbnRyb2wgKmN0bCkgeworCXVuc2lnbmVkIGludCBibGs7CisJdW5zaWduZWQgaW50IHpvbmVzID0gZ2V0X256b25lcygpOworCXVuc2lnbmVkIGludCBmaXJzdF96b25lID0gZ2V0X2ZpcnN0X3pvbmUoKTsKKworCWlmIChjdGwtPmZzX3VzZWRfYmxvY2tzICsgMSA+PSBNQVhfR09PRF9CTE9DS1MpCisJCWVycngoTUtGU19FWF9FUlJPUiwgXygiJXM6IHRvbyBtYW55IGJhZCBibG9ja3MiKSwgY3RsLT5kZXZpY2VfbmFtZSk7CisJaWYgKGN0bC0+ZnNfdXNlZF9ibG9ja3MpCisJCWJsayA9IGdvb2RfYmxvY2tzX3RhYmxlW2N0bC0+ZnNfdXNlZF9ibG9ja3MgLSAxXSArIDE7CisJZWxzZQorCQlibGsgPSBmaXJzdF96b25lOworCXdoaWxlIChibGsgPCB6b25lcyAmJiB6b25lX2luX3VzZShibGspKQorCQlibGsrKzsKKwlpZiAoYmxrID49IHpvbmVzKQorCQllcnJ4KE1LRlNfRVhfRVJST1IsIF8oIiVzOiBub3QgZW5vdWdoIGdvb2QgYmxvY2tzIiksIGN0bC0+ZGV2aWNlX25hbWUpOworCWdvb2RfYmxvY2tzX3RhYmxlW2N0bC0+ZnNfdXNlZF9ibG9ja3NdID0gYmxrOworCWN0bC0+ZnNfdXNlZF9ibG9ja3MrKzsKKwlyZXR1cm4gYmxrOworfQorCitzdGF0aWMgdm9pZCBtYXJrX2dvb2RfYmxvY2tzKGNvbnN0IHN0cnVjdCBmc19jb250cm9sICpjdGwpIHsKKwlpbnQgYmxrOworCisJZm9yIChibGs9MCA7IGJsayA8IGN0bC0+ZnNfdXNlZF9ibG9ja3MgOyBibGsrKykKKwkJbWFya196b25lKGdvb2RfYmxvY2tzX3RhYmxlW2Jsa10pOworfQorCitzdGF0aWMgaW5saW5lIGludCBuZXh0KHVuc2lnbmVkIGxvbmcgem9uZSkgeworCXVuc2lnbmVkIGxvbmcgem9uZXMgPSBnZXRfbnpvbmVzKCk7CisJdW5zaWduZWQgbG9uZyBmaXJzdF96b25lID0gZ2V0X2ZpcnN0X3pvbmUoKTsKKworCWlmICghem9uZSkKKwkJem9uZSA9IGZpcnN0X3pvbmUtMTsKKwl3aGlsZSAoKyt6b25lIDwgem9uZXMpCisJCWlmICh6b25lX2luX3VzZSh6b25lKSkKKwkJCXJldHVybiB6b25lOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBtYWtlX2JhZF9pbm9kZV92MShzdHJ1Y3QgZnNfY29udHJvbCAqY3RsKQoreworCXN0cnVjdCBtaW5peF9pbm9kZSAqIGlub2RlID0gJklub2RlW01JTklYX0JBRF9JTk9dOworCWludCBpLGosem9uZTsKKwlpbnQgaW5kPTAsZGluZD0wOworCXVuc2lnbmVkIHNob3J0IGluZF9ibG9ja1tNSU5JWF9CTE9DS19TSVpFPj4xXTsKKwl1bnNpZ25lZCBzaG9ydCBkaW5kX2Jsb2NrW01JTklYX0JMT0NLX1NJWkU+PjFdOworCisjZGVmaW5lIE5FWFRfQkFEICh6b25lID0gbmV4dCh6b25lKSkKKworCWlmICghY3RsLT5mc19iYWRfYmxvY2tzKQorCQlyZXR1cm47CisJbWFya19pbm9kZShNSU5JWF9CQURfSU5PKTsKKwlpbm9kZS0+aV9ubGlua3MgPSAxOworCWlub2RlLT5pX3RpbWUgPSBta2ZzX21pbml4X3RpbWUoTlVMTCk7CisJaW5vZGUtPmlfbW9kZSA9IFNfSUZSRUcgKyAwMDAwOworCWlub2RlLT5pX3NpemUgPSBjdGwtPmZzX2JhZF9ibG9ja3MgKiBNSU5JWF9CTE9DS19TSVpFOworCXpvbmUgPSBuZXh0KDApOworCWZvciAoaT0wIDsgaTw3IDsgaSsrKSB7CisJCWlub2RlLT5pX3pvbmVbaV0gPSB6b25lOworCQlpZiAoIU5FWFRfQkFEKQorCQkJZ290byBlbmRfYmFkOworCX0KKwlpbm9kZS0+aV96b25lWzddID0gaW5kID0gZ2V0X2ZyZWVfYmxvY2soY3RsKTsKKwltZW1zZXQoaW5kX2Jsb2NrLDAsTUlOSVhfQkxPQ0tfU0laRSk7CisJZm9yIChpPTAgOyBpPDUxMiA7IGkrKykgeworCQlpbmRfYmxvY2tbaV0gPSB6b25lOworCQlpZiAoIU5FWFRfQkFEKQorCQkJZ290byBlbmRfYmFkOworCX0KKwlpbm9kZS0+aV96b25lWzhdID0gZGluZCA9IGdldF9mcmVlX2Jsb2NrKGN0bCk7CisJbWVtc2V0KGRpbmRfYmxvY2ssMCxNSU5JWF9CTE9DS19TSVpFKTsKKwlmb3IgKGk9MCA7IGk8NTEyIDsgaSsrKSB7CisJCXdyaXRlX2Jsb2NrKGN0bCwgaW5kLChjaGFyICopIGluZF9ibG9jayk7CisJCWRpbmRfYmxvY2tbaV0gPSBpbmQgPSBnZXRfZnJlZV9ibG9jayhjdGwpOworCQltZW1zZXQoaW5kX2Jsb2NrLDAsTUlOSVhfQkxPQ0tfU0laRSk7CisJCWZvciAoaj0wIDsgajw1MTIgOyBqKyspIHsKKwkJCWluZF9ibG9ja1tqXSA9IHpvbmU7CisJCQlpZiAoIU5FWFRfQkFEKQorCQkJCWdvdG8gZW5kX2JhZDsKKwkJfQorCX0KKwllcnJ4KE1LRlNfRVhfRVJST1IsIF8oIiVzOiB0b28gbWFueSBiYWQgYmxvY2tzIiksIGN0bC0+ZGV2aWNlX25hbWUpOworZW5kX2JhZDoKKwlpZiAoaW5kKQorCQl3cml0ZV9ibG9jayhjdGwsIGluZCwgKGNoYXIgKikgaW5kX2Jsb2NrKTsKKwlpZiAoZGluZCkKKwkJd3JpdGVfYmxvY2soY3RsLCBkaW5kLCAoY2hhciAqKSBkaW5kX2Jsb2NrKTsKK30KKworc3RhdGljIHZvaWQgbWFrZV9iYWRfaW5vZGVfdjJfdjMgKHN0cnVjdCBmc19jb250cm9sICpjdGwpCit7CisJc3RydWN0IG1pbml4Ml9pbm9kZSAqaW5vZGUgPSAmSW5vZGUyW01JTklYX0JBRF9JTk9dOworCWludCBpLCBqLCB6b25lOworCWludCBpbmQgPSAwLCBkaW5kID0gMDsKKwl1bnNpZ25lZCBsb25nIGluZF9ibG9ja1tNSU5JWF9CTE9DS19TSVpFID4+IDJdOworCXVuc2lnbmVkIGxvbmcgZGluZF9ibG9ja1tNSU5JWF9CTE9DS19TSVpFID4+IDJdOworCisJaWYgKCFjdGwtPmZzX2JhZF9ibG9ja3MpCisJCXJldHVybjsKKwltYXJrX2lub2RlIChNSU5JWF9CQURfSU5PKTsKKwlpbm9kZS0+aV9ubGlua3MgPSAxOworCWlub2RlLT5pX2F0aW1lID0gaW5vZGUtPmlfbXRpbWUgPSBpbm9kZS0+aV9jdGltZSA9IG1rZnNfbWluaXhfdGltZShOVUxMKTsKKwlpbm9kZS0+aV9tb2RlID0gU19JRlJFRyArIDAwMDA7CisJaW5vZGUtPmlfc2l6ZSA9IGN0bC0+ZnNfYmFkX2Jsb2NrcyAqIE1JTklYX0JMT0NLX1NJWkU7CisJem9uZSA9IG5leHQgKDApOworCWZvciAoaSA9IDA7IGkgPCA3OyBpKyspIHsKKwkJaW5vZGUtPmlfem9uZVtpXSA9IHpvbmU7CisJCWlmICghTkVYVF9CQUQpCisJCQlnb3RvIGVuZF9iYWQ7CisJfQorCWlub2RlLT5pX3pvbmVbN10gPSBpbmQgPSBnZXRfZnJlZV9ibG9jayAoY3RsKTsKKwltZW1zZXQgKGluZF9ibG9jaywgMCwgTUlOSVhfQkxPQ0tfU0laRSk7CisJZm9yIChpID0gMDsgaSA8IDI1NjsgaSsrKSB7CisJCWluZF9ibG9ja1tpXSA9IHpvbmU7CisJCWlmICghTkVYVF9CQUQpCisJCQlnb3RvIGVuZF9iYWQ7CisJfQorCWlub2RlLT5pX3pvbmVbOF0gPSBkaW5kID0gZ2V0X2ZyZWVfYmxvY2sgKGN0bCk7CisJbWVtc2V0IChkaW5kX2Jsb2NrLCAwLCBNSU5JWF9CTE9DS19TSVpFKTsKKwlmb3IgKGkgPSAwOyBpIDwgMjU2OyBpKyspIHsKKwkJd3JpdGVfYmxvY2sgKGN0bCwgaW5kLCAoY2hhciAqKSBpbmRfYmxvY2spOworCQlkaW5kX2Jsb2NrW2ldID0gaW5kID0gZ2V0X2ZyZWVfYmxvY2sgKGN0bCk7CisJCW1lbXNldCAoaW5kX2Jsb2NrLCAwLCBNSU5JWF9CTE9DS19TSVpFKTsKKwkJZm9yIChqID0gMDsgaiA8IDI1NjsgaisrKSB7CisJCQlpbmRfYmxvY2tbal0gPSB6b25lOworCQkJaWYgKCFORVhUX0JBRCkKKwkJCQlnb3RvIGVuZF9iYWQ7CisJCX0KKwl9CisJLyogQ291bGQgbWFrZSB0cmlwbGUgaW5kaXJlY3QgYmxvY2sgaGVyZSAqLworCWVycngoTUtGU19FWF9FUlJPUiwgXygiJXM6IHRvbyBtYW55IGJhZCBibG9ja3MiKSwgY3RsLT5kZXZpY2VfbmFtZSk7CisgZW5kX2JhZDoKKwlpZiAoaW5kKQorCQl3cml0ZV9ibG9jayAoY3RsLCBpbmQsIChjaGFyICopIGluZF9ibG9jayk7CisJaWYgKGRpbmQpCisJCXdyaXRlX2Jsb2NrIChjdGwsIGRpbmQsIChjaGFyICopIGRpbmRfYmxvY2spOworfQorCitzdGF0aWMgdm9pZCBtYWtlX2JhZF9pbm9kZShzdHJ1Y3QgZnNfY29udHJvbCAqY3RsKQoreworCWlmIChmc192ZXJzaW9uIDwgMikgeworCQltYWtlX2JhZF9pbm9kZV92MShjdGwpOworCQlyZXR1cm47CisJfQorCW1ha2VfYmFkX2lub2RlX3YyX3YzKGN0bCk7Cit9CisKK3N0YXRpYyB2b2lkIG1ha2Vfcm9vdF9pbm9kZV92MShzdHJ1Y3QgZnNfY29udHJvbCAqY3RsKSB7CisJc3RydWN0IG1pbml4X2lub2RlICogaW5vZGUgPSAmSW5vZGVbTUlOSVhfUk9PVF9JTk9dOworCisJbWFya19pbm9kZShNSU5JWF9ST09UX0lOTyk7CisJaW5vZGUtPmlfem9uZVswXSA9IGdldF9mcmVlX2Jsb2NrKGN0bCk7CisJaW5vZGUtPmlfbmxpbmtzID0gMjsKKwlpbm9kZS0+aV90aW1lID0gbWtmc19taW5peF90aW1lKE5VTEwpOworCWlmIChjdGwtPmZzX2JhZF9ibG9ja3MpCisJCWlub2RlLT5pX3NpemUgPSAzICogY3RsLT5mc19kaXJzaXplOworCWVsc2UgeworCQltZW1zZXQoJnJvb3RfYmxvY2tbMiAqIGN0bC0+ZnNfZGlyc2l6ZV0sIDAsIGN0bC0+ZnNfZGlyc2l6ZSk7CisJCWlub2RlLT5pX3NpemUgPSAyICogY3RsLT5mc19kaXJzaXplOworCX0KKwlpbm9kZS0+aV9tb2RlID0gU19JRkRJUiArIDA3NTU7CisJaW5vZGUtPmlfdWlkID0gZ2V0dWlkKCk7CisJaWYgKGlub2RlLT5pX3VpZCkKKwkJaW5vZGUtPmlfZ2lkID0gZ2V0Z2lkKCk7CisJd3JpdGVfYmxvY2soY3RsLCBpbm9kZS0+aV96b25lWzBdLHJvb3RfYmxvY2spOworfQorCitzdGF0aWMgdm9pZCBtYWtlX3Jvb3RfaW5vZGVfdjJfdjMgKHN0cnVjdCBmc19jb250cm9sICpjdGwpIHsKKwlzdHJ1Y3QgbWluaXgyX2lub2RlICppbm9kZSA9ICZJbm9kZTJbTUlOSVhfUk9PVF9JTk9dOworCisJbWFya19pbm9kZSAoTUlOSVhfUk9PVF9JTk8pOworCWlub2RlLT5pX3pvbmVbMF0gPSBnZXRfZnJlZV9ibG9jayAoY3RsKTsKKwlpbm9kZS0+aV9ubGlua3MgPSAyOworCWlub2RlLT5pX2F0aW1lID0gaW5vZGUtPmlfbXRpbWUgPSBpbm9kZS0+aV9jdGltZSA9IG1rZnNfbWluaXhfdGltZShOVUxMKTsKKworCWlmIChjdGwtPmZzX2JhZF9ibG9ja3MpCisJCWlub2RlLT5pX3NpemUgPSAzICogY3RsLT5mc19kaXJzaXplOworCWVsc2UgeworCQltZW1zZXQoJnJvb3RfYmxvY2tbMiAqIGN0bC0+ZnNfZGlyc2l6ZV0sIDAsIGN0bC0+ZnNfZGlyc2l6ZSk7CisJCWlub2RlLT5pX3NpemUgPSAyICogY3RsLT5mc19kaXJzaXplOworCX0KKworCWlub2RlLT5pX21vZGUgPSBTX0lGRElSICsgMDc1NTsKKwlpbm9kZS0+aV91aWQgPSBnZXR1aWQoKTsKKwlpZiAoaW5vZGUtPmlfdWlkKQorCQlpbm9kZS0+aV9naWQgPSBnZXRnaWQoKTsKKwl3cml0ZV9ibG9jayAoY3RsLCBpbm9kZS0+aV96b25lWzBdLCByb290X2Jsb2NrKTsKK30KKworc3RhdGljIHZvaWQgbWFrZV9yb290X2lub2RlKHN0cnVjdCBmc19jb250cm9sICpjdGwpCit7CisJY2hhciAqdG1wID0gcm9vdF9ibG9jazsKKworCWlmIChmc192ZXJzaW9uID09IDMpIHsKKwkJKih1aW50MzJfdCAqKSB0bXAgPSAxOworCQlzdHJjcHkodG1wICsgNCwgIi4iKTsKKwkJdG1wICs9IGN0bC0+ZnNfZGlyc2l6ZTsKKwkJKih1aW50MzJfdCAqKSB0bXAgPSAxOworCQlzdHJjcHkodG1wICsgNCwgIi4uIik7CisJCXRtcCArPSBjdGwtPmZzX2RpcnNpemU7CisJCSoodWludDMyX3QgKikgdG1wID0gMjsKKwkJc3RyY3B5KHRtcCArIDQsICIuYmFkYmxvY2tzIik7CisJfSBlbHNlIHsKKwkJKih1aW50MTZfdCAqKSB0bXAgPSAxOworCQlzdHJjcHkodG1wICsgMiwgIi4iKTsKKwkJdG1wICs9IGN0bC0+ZnNfZGlyc2l6ZTsKKwkJKih1aW50MTZfdCAqKSB0bXAgPSAxOworCQlzdHJjcHkodG1wICsgMiwgIi4uIik7CisJCXRtcCArPSBjdGwtPmZzX2RpcnNpemU7CisJCSoodWludDE2X3QgKikgdG1wID0gMjsKKwkJc3RyY3B5KHRtcCArIDIsICIuYmFkYmxvY2tzIik7CisJfQorCWlmIChmc192ZXJzaW9uIDwgMikgeworCQltYWtlX3Jvb3RfaW5vZGVfdjEoY3RsKTsKKwkJcmV0dXJuOworCX0KKwltYWtlX3Jvb3RfaW5vZGVfdjJfdjMoY3RsKTsKK30KKworc3RhdGljIHZvaWQgc3VwZXJfc2V0X256b25lcyhjb25zdCBzdHJ1Y3QgZnNfY29udHJvbCAqY3RsKQoreworCXN3aXRjaCAoZnNfdmVyc2lvbikgeworCWNhc2UgMzoKKwkJU3VwZXIzLnNfem9uZXMgPSBjdGwtPmZzX2Jsb2NrczsKKwkJYnJlYWs7CisJY2FzZSAyOgorCQlTdXBlci5zX3pvbmVzID0gY3RsLT5mc19ibG9ja3M7CisJCWJyZWFrOworCWRlZmF1bHQ6IC8qIHYxICovCisJCVN1cGVyLnNfbnpvbmVzID0gY3RsLT5mc19ibG9ja3M7CisJCWJyZWFrOworCX0KK30KKworc3RhdGljIHZvaWQgc3VwZXJfaW5pdF9tYXhzaXplKHZvaWQpCit7CisJc3dpdGNoIChmc192ZXJzaW9uKSB7CisJY2FzZSAzOgorCQlTdXBlcjMuc19tYXhfc2l6ZSA9IDIxNDc0ODM2NDdMOworCQlicmVhazsKKwljYXNlIDI6CisJCVN1cGVyLnNfbWF4X3NpemUgPSAgMHg3ZmZmZmZmZjsKKwkJYnJlYWs7CisJZGVmYXVsdDogLyogdjEgKi8KKwkJU3VwZXIuc19tYXhfc2l6ZSA9ICg3KzUxMis1MTIqNTEyKSoxMDI0OworCQlicmVhazsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHN1cGVyX3NldF9tYXBfYmxvY2tzKGNvbnN0IHN0cnVjdCBmc19jb250cm9sICpjdGwsIHVuc2lnbmVkIGxvbmcgaW5vZGVzKQoreworCXN3aXRjaCAoZnNfdmVyc2lvbikgeworCWNhc2UgMzoKKwkJU3VwZXIzLnNfaW1hcF9ibG9ja3MgPSBVUFBFUihpbm9kZXMgKyAxLCBCSVRTX1BFUl9CTE9DSyk7CisJCVN1cGVyMy5zX3ptYXBfYmxvY2tzID0gVVBQRVIoY3RsLT5mc19ibG9ja3MgLSAoMSArIGdldF9uaW1hcHMoKSArIGlub2RlX2Jsb2NrcygpKSwKKwkJCQkJICAgICBCSVRTX1BFUl9CTE9DSyArIDEpOworCQlTdXBlcjMuc19maXJzdGRhdGF6b25lID0gZmlyc3Rfem9uZV9kYXRhKCk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCVN1cGVyLnNfaW1hcF9ibG9ja3MgPSBVUFBFUihpbm9kZXMgKyAxLCBCSVRTX1BFUl9CTE9DSyk7CisJCVN1cGVyLnNfem1hcF9ibG9ja3MgPSBVUFBFUihjdGwtPmZzX2Jsb2NrcyAtICgxICsgZ2V0X25pbWFwcygpICsgaW5vZGVfYmxvY2tzKCkpLAorCQkJCQkgICAgIEJJVFNfUEVSX0JMT0NLICsgMSk7CisJCVN1cGVyLnNfZmlyc3RkYXRhem9uZSA9IGZpcnN0X3pvbmVfZGF0YSgpOworCQlicmVhazsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHN1cGVyX3NldF9tYWdpYyhjb25zdCBzdHJ1Y3QgZnNfY29udHJvbCAqY3RsKQoreworCXN3aXRjaCAoZnNfdmVyc2lvbikgeworCWNhc2UgMzoKKwkJU3VwZXIzLnNfbWFnaWMgPSBjdGwtPmZzX21hZ2ljOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlTdXBlci5zX21hZ2ljID0gY3RsLT5mc19tYWdpYzsKKwkJYnJlYWs7CisJfQorfQorCitzdGF0aWMgdm9pZCBzZXR1cF90YWJsZXMoY29uc3Qgc3RydWN0IGZzX2NvbnRyb2wgKmN0bCkgeworCXVuc2lnbmVkIGxvbmcgaW5vZGVzLCB6bWFwcywgaW1hcHMsIHpvbmVzLCBpOworCisJc3VwZXJfYmxvY2tfYnVmZmVyID0geGNhbGxvYygxLCBNSU5JWF9CTE9DS19TSVpFKTsKKworCW1lbXNldChib290X2Jsb2NrX2J1ZmZlciwwLDUxMik7CisJc3VwZXJfc2V0X21hZ2ljKGN0bCk7CisKKwlpZiAoZnNfdmVyc2lvbiA9PSAzKSB7CisJCVN1cGVyMy5zX2xvZ196b25lX3NpemUgPSAwOworCQlTdXBlcjMuc19ibG9ja3NpemUgPSBNSU5JWF9CTE9DS19TSVpFOworCX0KKwllbHNlIHsKKwkJU3VwZXIuc19sb2dfem9uZV9zaXplID0gMDsKKwl9CisKKwlzdXBlcl9pbml0X21heHNpemUoKTsKKwlzdXBlcl9zZXRfbnpvbmVzKGN0bCk7CisJem9uZXMgPSBnZXRfbnpvbmVzKCk7CisKKwkvKiBzb21lIG1hZ2ljIG5yczogMSBpbm9kZSAvIDMgYmxvY2tzIGZvciBzbWFsbGVyIGZpbGVzeXN0ZW1zLAorCSAqIGZvciBvbmUgaW5vZGUgLyAxNiBibG9ja3MgZm9yIGxhcmdlIG9uZXMuIG1rZnMgd2lsbCBldmVudHVhbGx5CisJICogY3JhYiBhYm91dCB0b28gZmFyIHdoZW4gZ2V0dGluZyBjbG9zZSB0byB0aGUgbWF4aW11bSBzaXplLiAqLworCWlmIChjdGwtPmZzX2lub2RlcyA9PSAwKQorCQlpZiAoMjA0OCAqIDEwMjQgPCBjdGwtPmZzX2Jsb2NrcykJLyogMkdCICovCisJCQlpbm9kZXMgPSBjdGwtPmZzX2Jsb2NrcyAvIDE2OworCQllbHNlIGlmICg1MTIgKiAxMDI0IDwgY3RsLT5mc19ibG9ja3MpCS8qIDAuNUdCICovCisJCQlpbm9kZXMgPSBjdGwtPmZzX2Jsb2NrcyAvIDg7CisJCWVsc2UKKwkJCWlub2RlcyA9IGN0bC0+ZnNfYmxvY2tzIC8gMzsKKwllbHNlCisJCWlub2RlcyA9IGN0bC0+ZnNfaW5vZGVzOworCS8qIFJvdW5kIHVwIGlub2RlIGNvdW50IHRvIGZpbGwgYmxvY2sgc2l6ZSAqLworCWlmIChmc192ZXJzaW9uID09IDIgfHwgZnNfdmVyc2lvbiA9PSAzKQorCQlpbm9kZXMgPSAoKGlub2RlcyArIE1JTklYMl9JTk9ERVNfUEVSX0JMT0NLIC0gMSkgJgorCQkJICB+KE1JTklYMl9JTk9ERVNfUEVSX0JMT0NLIC0gMSkpOworCWVsc2UKKwkJaW5vZGVzID0gKChpbm9kZXMgKyBNSU5JWF9JTk9ERVNfUEVSX0JMT0NLIC0gMSkgJgorCQkJICB+KE1JTklYX0lOT0RFU19QRVJfQkxPQ0sgLSAxKSk7CisKKwlpZiAoZnNfdmVyc2lvbiA9PSAzKQorCQlTdXBlcjMuc19uaW5vZGVzID0gaW5vZGVzOworCWVsc2UgeworCQlpZiAoaW5vZGVzID4gTUlOSVhfTUFYX0lOT0RFUykKKwkJCWlub2RlcyA9IE1JTklYX01BWF9JTk9ERVM7CisJCVN1cGVyLnNfbmlub2RlcyA9IGlub2RlczsKKwl9CisJc3VwZXJfc2V0X21hcF9ibG9ja3MoY3RsLCBpbm9kZXMpOworCWlmIChNSU5JWF9NQVhfSU5PREVTIDwgZmlyc3Rfem9uZV9kYXRhKCkpCisJCWVycngoTUtGU19FWF9FUlJPUiwKKwkJICAgICBfKCJGaXJzdCBkYXRhIGJsb2NrIGF0ICVqZCwgd2hpY2ggaXMgdG9vIGZhciAobWF4ICVkKS5cbiIKKwkJICAgICAgICJUcnkgc3BlY2lmeWluZyBmZXdlciBpbm9kZXMgYnkgcGFzc2luZyAtLWlub2RlcyA8bnVtPiIpLAorCQkgICAgIChpbnRtYXhfdClmaXJzdF96b25lX2RhdGEoKSwKKwkJICAgICBNSU5JWF9NQVhfSU5PREVTKTsKKwlpbWFwcyA9IGdldF9uaW1hcHMoKTsKKwl6bWFwcyA9IGdldF9uem1hcHMoKTsKKworCWlub2RlX21hcCA9IHhtYWxsb2MoaW1hcHMgKiBNSU5JWF9CTE9DS19TSVpFKTsKKwl6b25lX21hcCA9IHhtYWxsb2Moem1hcHMgKiBNSU5JWF9CTE9DS19TSVpFKTsKKwltZW1zZXQoaW5vZGVfbWFwLDB4ZmYsaW1hcHMgKiBNSU5JWF9CTE9DS19TSVpFKTsKKwltZW1zZXQoem9uZV9tYXAsMHhmZix6bWFwcyAqIE1JTklYX0JMT0NLX1NJWkUpOworCisJZm9yIChpID0gZ2V0X2ZpcnN0X3pvbmUoKSA7IGk8em9uZXMgOyBpKyspCisJCXVubWFya196b25lKGkpOworCWZvciAoaSA9IE1JTklYX1JPT1RfSU5PIDsgaTw9aW5vZGVzOyBpKyspCisJCXVubWFya19pbm9kZShpKTsKKworCWlub2RlX2J1ZmZlciA9IHhtYWxsb2MoZ2V0X2lub2RlX2J1ZmZlcl9zaXplKCkpOworCW1lbXNldChpbm9kZV9idWZmZXIsMCwgZ2V0X2lub2RlX2J1ZmZlcl9zaXplKCkpOworCisJcHJpbnRmKFBfKCIlbHUgaW5vZGVcbiIsICIlbHUgaW5vZGVzXG4iLCBpbm9kZXMpLCBpbm9kZXMpOworCXByaW50ZihQXygiJWx1IGJsb2NrXG4iLCAiJWx1IGJsb2Nrc1xuIiwgem9uZXMpLCB6b25lcyk7CisJcHJpbnRmKF8oIkZpcnN0ZGF0YXpvbmU9JWpkICglamQpXG4iKSwKKwkJKGludG1heF90KWdldF9maXJzdF96b25lKCksIChpbnRtYXhfdClmaXJzdF96b25lX2RhdGEoKSk7CisJcHJpbnRmKF8oIlpvbmVzaXplPSV6dVxuIiksIChzaXplX3QpIE1JTklYX0JMT0NLX1NJWkUgPDwgZ2V0X3pvbmVfc2l6ZSgpKTsKKwlwcmludGYoXygiTWF4c2l6ZT0lenVcblxuIiksZ2V0X21heF9zaXplKCkpOworfQorCisvKgorICogUGVyZm9ybSBhIHRlc3Qgb2YgYSBibG9jazsgcmV0dXJuIHRoZSBudW1iZXIgb2YKKyAqIGJsb2NrcyByZWFkYWJsZS93cml0YWJsZS4KKyAqLworc3RhdGljIHNpemVfdCBkb19jaGVjayhjb25zdCBzdHJ1Y3QgZnNfY29udHJvbCAqY3RsLCBjaGFyICogYnVmZmVyLCBpbnQgdHJ5LCB1bnNpZ25lZCBpbnQgY3VycmVudF9ibG9jaykgeworCXNzaXplX3QgZ290OworCQorCS8qIFNlZWsgdG8gdGhlIGNvcnJlY3QgbG9jLiAqLworCWlmIChsc2VlayhjdGwtPmRldmljZV9mZCwgY3VycmVudF9ibG9jayAqIE1JTklYX0JMT0NLX1NJWkUsIFNFRUtfU0VUKSAhPQorCQkgICAgICAgY3VycmVudF9ibG9jayAqIE1JTklYX0JMT0NLX1NJWkUgKQorCQllcnIoTUtGU19FWF9FUlJPUiwgXygiJXM6IHNlZWsgZmFpbGVkIGR1cmluZyB0ZXN0aW5nIG9mIGJsb2NrcyIpLAorCQkJCWN0bC0+ZGV2aWNlX25hbWUpOworCisJLyogVHJ5IHRoZSByZWFkICovCisJZ290ID0gcmVhZChjdGwtPmRldmljZV9mZCwgYnVmZmVyLCB0cnkgKiBNSU5JWF9CTE9DS19TSVpFKTsKKwlpZiAoZ290IDwgMCkgZ290ID0gMDsJCisJaWYgKGdvdCAmIChNSU5JWF9CTE9DS19TSVpFIC0gMSApKSB7CisJCXByaW50ZihfKCJXZWlyZCB2YWx1ZXMgaW4gZG9fY2hlY2s6IHByb2JhYmx5IGJ1Z3NcbiIpKTsKKwl9CisJZ290IC89IE1JTklYX0JMT0NLX1NJWkU7CisJcmV0dXJuIGdvdDsKK30KKworc3RhdGljIHVuc2lnbmVkIGludCBjdXJyZW50bHlfdGVzdGluZyA9IDA7CisKK3N0YXRpYyB2b2lkIGFsYXJtX2ludHIoaW50IGFsbnVtIF9fYXR0cmlidXRlX18gKChfX3VudXNlZF9fKSkpIHsKKwl1bnNpZ25lZCBsb25nIHpvbmVzID0gZ2V0X256b25lcygpOworCisJaWYgKGN1cnJlbnRseV90ZXN0aW5nID49IHpvbmVzKQorCQlyZXR1cm47CisJc2lnbmFsKFNJR0FMUk0sYWxhcm1faW50cik7CisJYWxhcm0oNSk7CisJaWYgKCFjdXJyZW50bHlfdGVzdGluZykKKwkJcmV0dXJuOworCXByaW50ZigiJWQgLi4uIiwgY3VycmVudGx5X3Rlc3RpbmcpOworCWZmbHVzaChzdGRvdXQpOworfQorCitzdGF0aWMgdm9pZCBjaGVja19ibG9ja3Moc3RydWN0IGZzX2NvbnRyb2wgKmN0bCkgeworCXNpemVfdCB0cnksIGdvdDsKKwlzdGF0aWMgY2hhciBidWZmZXJbTUlOSVhfQkxPQ0tfU0laRSAqIFRFU1RfQlVGRkVSX0JMT0NLU107CisJdW5zaWduZWQgbG9uZyB6b25lcyA9IGdldF9uem9uZXMoKTsKKwl1bnNpZ25lZCBsb25nIGZpcnN0X3pvbmUgPSBnZXRfZmlyc3Rfem9uZSgpOworCisJY3VycmVudGx5X3Rlc3Rpbmc9MDsKKwlzaWduYWwoU0lHQUxSTSxhbGFybV9pbnRyKTsKKwlhbGFybSg1KTsKKwl3aGlsZSAoY3VycmVudGx5X3Rlc3RpbmcgPCB6b25lcykgeworCQlpZiAobHNlZWsoY3RsLT5kZXZpY2VfZmQsIGN1cnJlbnRseV90ZXN0aW5nICogTUlOSVhfQkxPQ0tfU0laRSxTRUVLX1NFVCkgIT0KKwkJICAgIGN1cnJlbnRseV90ZXN0aW5nKk1JTklYX0JMT0NLX1NJWkUpCisJCQllcnJ4KE1LRlNfRVhfRVJST1IsIF8oIiVzOiBzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiKSwKKwkJCQkJY3RsLT5kZXZpY2VfbmFtZSk7CisJCXRyeSA9IFRFU1RfQlVGRkVSX0JMT0NLUzsKKwkJaWYgKGN1cnJlbnRseV90ZXN0aW5nICsgdHJ5ID4gem9uZXMpCisJCQl0cnkgPSB6b25lcy1jdXJyZW50bHlfdGVzdGluZzsKKwkJZ290ID0gZG9fY2hlY2soY3RsLCBidWZmZXIsIHRyeSwgY3VycmVudGx5X3Rlc3RpbmcpOworCQljdXJyZW50bHlfdGVzdGluZyArPSBnb3Q7CisJCWlmIChnb3QgPT0gdHJ5KQorCQkJY29udGludWU7CisJCWlmIChjdXJyZW50bHlfdGVzdGluZyA8IGZpcnN0X3pvbmUpCisJCQllcnJ4KE1LRlNfRVhfRVJST1IsIF8oIiVzOiBiYWQgYmxvY2tzIGJlZm9yZSBkYXRhLWFyZWE6ICIKKwkJCQkJImNhbm5vdCBtYWtlIGZzIiksIGN0bC0+ZGV2aWNlX25hbWUpOworCQltYXJrX3pvbmUoY3VycmVudGx5X3Rlc3RpbmcpOworCQljdGwtPmZzX2JhZF9ibG9ja3MrKzsKKwkJY3VycmVudGx5X3Rlc3RpbmcrKzsKKwl9CisJaWYgKGN0bC0+ZnNfYmFkX2Jsb2NrcyA+IDApCisJCXByaW50ZihQXygiJWQgYmFkIGJsb2NrXG4iLCAiJWQgYmFkIGJsb2Nrc1xuIiwgY3RsLT5mc19iYWRfYmxvY2tzKSwgY3RsLT5mc19iYWRfYmxvY2tzKTsKK30KKworc3RhdGljIHZvaWQgZ2V0X2xpc3RfYmxvY2tzKHN0cnVjdCBmc19jb250cm9sICpjdGwsIGNoYXIgKmZpbGVuYW1lKSB7CisJRklMRSAqbGlzdGZpbGU7CisJdW5zaWduZWQgbG9uZyBibG9ja25vOworCisJbGlzdGZpbGUgPSBmb3BlbihmaWxlbmFtZSwiciIpOworCWlmIChsaXN0ZmlsZSA9PSBOVUxMKQorCQllcnIoTUtGU19FWF9FUlJPUiwgXygiJXM6IGNhbid0IG9wZW4gZmlsZSBvZiBiYWQgYmxvY2tzIiksCisJCQkJY3RsLT5kZXZpY2VfbmFtZSk7CisKKwl3aGlsZSAoIWZlb2YobGlzdGZpbGUpKSB7CisJCWlmIChmc2NhbmYobGlzdGZpbGUsIiVsdVxuIiwgJmJsb2Nrbm8pICE9IDEpIHsKKwkJCXByaW50ZihfKCJiYWRibG9jayBudW1iZXIgaW5wdXQgZXJyb3Igb24gbGluZSAlZFxuIiksIGN0bC0+ZnNfYmFkX2Jsb2NrcyArIDEpOworCQkJZXJyeChNS0ZTX0VYX0VSUk9SLCBfKCIlczogY2Fubm90IHJlYWQgYmFkYmxvY2tzIGZpbGUiKSwKKwkJCQkJY3RsLT5kZXZpY2VfbmFtZSk7CisJCX0KKwkJbWFya196b25lKGJsb2Nrbm8pOworCQljdGwtPmZzX2JhZF9ibG9ja3MrKzsKKwl9CisJZmNsb3NlKGxpc3RmaWxlKTsKKworCWlmIChjdGwtPmZzX2JhZF9ibG9ja3MgPiAwKQorCQlwcmludGYoUF8oIiVkIGJhZCBibG9ja1xuIiwgIiVkIGJhZCBibG9ja3NcbiIsIGN0bC0+ZnNfYmFkX2Jsb2NrcyksIGN0bC0+ZnNfYmFkX2Jsb2Nrcyk7Cit9CisKK3N0YXRpYyBpbnQgZmluZF9zdXBlcl9tYWdpYyhjb25zdCBzdHJ1Y3QgZnNfY29udHJvbCAqY3RsKQoreworCXN3aXRjaCAoZnNfdmVyc2lvbikgeworCWNhc2UgMToKKwkJaWYgKGN0bC0+ZnNfbmFtZWxlbiA9PSAxNCkKKwkJCXJldHVybiBNSU5JWF9TVVBFUl9NQUdJQzsKKwkJcmV0dXJuIE1JTklYX1NVUEVSX01BR0lDMjsKKwljYXNlIDI6CisJCWlmIChjdGwtPmZzX25hbWVsZW4gPT0gMTQpCisJCQlyZXR1cm4gTUlOSVgyX1NVUEVSX01BR0lDOworCQlyZXR1cm4gTUlOSVgyX1NVUEVSX01BR0lDMjsKKwljYXNlIDM6CisJCXJldHVybiBNSU5JWDNfU1VQRVJfTUFHSUM7CisJZGVmYXVsdDoKKwkJYWJvcnQoKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGRldGVybWluZV9kZXZpY2VfYmxvY2tzKHN0cnVjdCBmc19jb250cm9sICpjdGwsIGNvbnN0IHN0cnVjdCBzdGF0ICpzdGF0YnVmKQoreworCXVuc2lnbmVkIGxvbmcgbG9uZyBkZXZfYmxvY2tzOworCisJaWYgKFNfSVNCTEsoc3RhdGJ1Zi0+c3RfbW9kZSkpIHsKKwkJaW50IHNlY3RvcnNpemU7CisKKwkJaWYgKGJsa2Rldl9nZXRfc2VjdG9yX3NpemUoY3RsLT5kZXZpY2VfZmQsICZzZWN0b3JzaXplKSA9PSAtMSkKKwkJCXNlY3RvcnNpemUgPSBERUZBVUxUX1NFQ1RPUl9TSVpFOwkvKiBrZXJuZWwgPCAyLjMuMyAqLworCQlpZiAoTUlOSVhfQkxPQ0tfU0laRSA8IHNlY3RvcnNpemUpCisJCQllcnJ4KE1LRlNfRVhfRVJST1IsIF8oImJsb2NrIHNpemUgc21hbGxlciB0aGFuIHBoeXNpY2FsICIKKwkJCQkJICAgICAgInNlY3RvciBzaXplIG9mICVzIiksIGN0bC0+ZGV2aWNlX25hbWUpOworCQlpZiAoYmxrZGV2X2dldF9zaXplKGN0bC0+ZGV2aWNlX2ZkLCAmZGV2X2Jsb2NrcykgPT0gLTEpCisJCQllcnJ4KE1LRlNfRVhfRVJST1IsIF8oImNhbm5vdCBkZXRlcm1pbmUgc2l6ZSBvZiAlcyIpLCBjdGwtPmRldmljZV9uYW1lKTsKKwkJZGV2X2Jsb2NrcyAvPSBNSU5JWF9CTE9DS19TSVpFOworCX0gZWxzZSBpZiAoIVNfSVNCTEsoc3RhdGJ1Zi0+c3RfbW9kZSkpCisJCWRldl9ibG9ja3MgPSBzdGF0YnVmLT5zdF9zaXplIC8gTUlOSVhfQkxPQ0tfU0laRTsKKwlpZiAoIWN0bC0+ZnNfYmxvY2tzKQorCQljdGwtPmZzX2Jsb2NrcyA9IGRldl9ibG9ja3M7CisJZWxzZSBpZiAoZGV2X2Jsb2NrcyA8IGN0bC0+ZnNfYmxvY2tzKQorCQllcnJ4KE1LRlNfRVhfRVJST1IsCisJCSAgICAgXygiJXM6IHJlcXVlc3RlZCBibG9ja3MgKCVsbHUpIGV4Y2VlZHMgYXZhaWxhYmxlICglbGx1KSBibG9ja3NcbiIpLAorCQkgICAgIGN0bC0+ZGV2aWNlX25hbWUsIGN0bC0+ZnNfYmxvY2tzLCBkZXZfYmxvY2tzKTsKKwlpZiAoY3RsLT5mc19ibG9ja3MgPCAxMCkKKwkJZXJyeChNS0ZTX0VYX0VSUk9SLCBfKCIlczogbnVtYmVyIG9mIGJsb2NrcyB0b28gc21hbGwiKSwgY3RsLT5kZXZpY2VfbmFtZSk7CisJaWYgKGZzX3ZlcnNpb24gPT0gMSAmJiBjdGwtPmZzX2Jsb2NrcyA+IE1JTklYX01BWF9JTk9ERVMpCisJCWN0bC0+ZnNfYmxvY2tzID0gTUlOSVhfTUFYX0lOT0RFUzsKKwlpZiAoY3RsLT5mc19ibG9ja3MgPiAoNCArICgoTUlOSVhfTUFYX0lOT0RFUyAtIDQpICogQklUU19QRVJfQkxPQ0spKSkKKwkJY3RsLT5mc19ibG9ja3MgPSA0ICsgKChNSU5JWF9NQVhfSU5PREVTIC0gNCkgKiBCSVRTX1BFUl9CTE9DSyk7CS8qIFV0dGVyIG1heGltdW06IENsaXAuICovCit9CisKK3N0YXRpYyB2b2lkIGNoZWNrX3VzZXJfaW5zdHJ1Y3Rpb25zKHN0cnVjdCBmc19jb250cm9sICpjdGwpCit7CisJc3dpdGNoIChmc192ZXJzaW9uKSB7CisJY2FzZSAxOgorCWNhc2UgMjoKKwkJaWYgKGN0bC0+ZnNfbmFtZWxlbiA9PSAxNCB8fCBjdGwtPmZzX25hbWVsZW4gPT0gMzApCisJCQljdGwtPmZzX2RpcnNpemUgPSBjdGwtPmZzX25hbWVsZW4gKyAyOworCQllbHNlCisJCQllcnJ4KE1LRlNfRVhfRVJST1IsIF8oInVuc3VwcG9ydGVkIG5hbWUgbGVuZ3RoOiAlZCIpLCBjdGwtPmZzX25hbWVsZW4pOworCQlicmVhazsKKwljYXNlIDM6CisJCWlmIChjdGwtPmZzX25hbWVsZW4gPT0gNjApCisJCQljdGwtPmZzX2RpcnNpemUgPSBjdGwtPmZzX25hbWVsZW4gKyA0OworCQllbHNlCisJCQllcnJ4KE1LRlNfRVhfRVJST1IsIF8oInVuc3VwcG9ydGVkIG5hbWUgbGVuZ3RoOiAlZCIpLCBjdGwtPmZzX25hbWVsZW4pOworCQlicmVhazsKKwlkZWZhdWx0OgorCQllcnJ4KE1LRlNfRVhfRVJST1IsIF8oInVuc3VwcG9ydGVkIG1pbml4IGZpbGUgc3lzdGVtIHZlcnNpb246ICVkIiksIGZzX3ZlcnNpb24pOworCX0KKwljdGwtPmZzX21hZ2ljID0gZmluZF9zdXBlcl9tYWdpYyhjdGwpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKiBhcmd2KQoreworCXN0cnVjdCBmc19jb250cm9sIGN0bCA9IHsKKwkJLmZzX25hbWVsZW4gPSAzMCwJLyoga2VlcCBpbiBzeW5jIHdpdGggREVGQVVMVF9GU19WRVJTSU9OICovCisJCTAKKwl9OworCWludCBpOworCXN0cnVjdCBzdGF0IHN0YXRidWY7CisJY2hhciAqIGxpc3RmaWxlID0gTlVMTDsKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7Im5hbWVsZW5ndGgiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ24nfSwKKwkJeyJpbm9kZXMiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2knfSwKKwkJeyJjaGVjayIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnYyd9LAorCQl7ImJhZGJsb2NrcyIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbCd9LAorCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1YnfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIE5VTEwsICdoJ30sCisJCXtOVUxMLCAwLCBOVUxMLCAwfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChpID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIjF2MjNuOmk6Y2w6VmgiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKQorCQlzd2l0Y2ggKGkpIHsKKwkJY2FzZSAnMSc6CisJCQlmc192ZXJzaW9uID0gMTsKKwkJCWJyZWFrOworCQljYXNlICd2JzogLyoga2VwdCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKi8KKwkJCXdhcm54KF8oIi12IGlzIGFtYmlndW91cywgdXNlICctMicgaW5zdGVhZCIpKTsKKwkJCS8qIGZhbGx0aHJvdWdoICovCisJCWNhc2UgJzInOgorCQkJZnNfdmVyc2lvbiA9IDI7CisJCQlicmVhazsKKwkJY2FzZSAnMyc6CisJCQlmc192ZXJzaW9uID0gMzsKKwkJCWN0bC5mc19uYW1lbGVuID0gNjA7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQljdGwuZnNfbmFtZWxlbiA9IHN0cnRvdTE2X29yX2VycihvcHRhcmcsCisJCQkJCV8oImZhaWxlZCB0byBwYXJzZSBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXMiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnaSc6CisJCQljdGwuZnNfaW5vZGVzID0gc3RydG91bF9vcl9lcnIob3B0YXJnLAorCQkJCQlfKCJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGlub2RlcyIpKTsKKwkJCWJyZWFrOworCQljYXNlICdjJzoKKwkJCWN0bC5jaGVja19ibG9ja3MgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2wnOgorCQkJbGlzdGZpbGUgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBNS0ZTX0VYX09LOworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQl9CisJYXJnYyAtPSBvcHRpbmQ7CisJYXJndiArPSBvcHRpbmQ7CisJaWYgKGFyZ2MgPiAwKSB7CisJCWN0bC5kZXZpY2VfbmFtZSA9IGFyZ3ZbMF07CisJCWFyZ2MtLTsKKwkJYXJndisrOworCX0KKwlpZiAoYXJnYyA+IDApCisJCWN0bC5mc19ibG9ja3MgPSBzdHJ0b3VsX29yX2Vycihhcmd2WzBdLCBfKCJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGJsb2NrcyIpKTsKKworCWlmICghY3RsLmRldmljZV9uYW1lKSB7CisJCXVzYWdlKHN0ZGVycik7CisJfQorCWNoZWNrX3VzZXJfaW5zdHJ1Y3Rpb25zKCZjdGwpOworCWlmIChpc19tb3VudGVkKGN0bC5kZXZpY2VfbmFtZSkpCisJCWVycngoTUtGU19FWF9FUlJPUiwgXygiJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBhIGZpbGVzeXN0ZW0gaGVyZSEiKSwKKwkJCWN0bC5kZXZpY2VfbmFtZSk7CisJaWYgKHN0YXQoY3RsLmRldmljZV9uYW1lLCAmc3RhdGJ1ZikgPCAwKQorCQllcnIoTUtGU19FWF9FUlJPUiwgXygic3RhdCBvZiAlcyBmYWlsZWQiKSwgY3RsLmRldmljZV9uYW1lKTsKKwljdGwuZGV2aWNlX2ZkID0gb3Blbl9ibGtkZXZfb3JfZmlsZSgmc3RhdGJ1ZiwgY3RsLmRldmljZV9uYW1lLCBPX1JEV1IpOworCWlmIChjdGwuZGV2aWNlX2ZkIDwgMCkKKwkJZXJyKE1LRlNfRVhfRVJST1IsIF8oImNhbm5vdCBvcGVuICVzIiksIGN0bC5kZXZpY2VfbmFtZSk7CisJZGV0ZXJtaW5lX2RldmljZV9ibG9ja3MoJmN0bCwgJnN0YXRidWYpOworCXNldHVwX3RhYmxlcygmY3RsKTsKKwlpZiAoY3RsLmNoZWNrX2Jsb2NrcykKKwkJY2hlY2tfYmxvY2tzKCZjdGwpOworCWVsc2UgaWYgKGxpc3RmaWxlKQorCQlnZXRfbGlzdF9ibG9ja3MoJmN0bCwgbGlzdGZpbGUpOworCisJbWFrZV9yb290X2lub2RlKCZjdGwpOworCW1ha2VfYmFkX2lub2RlKCZjdGwpOworCisJbWFya19nb29kX2Jsb2NrcygmY3RsKTsKKwl3cml0ZV90YWJsZXMoJmN0bCk7CisJaWYgKGNsb3NlX2ZkKGN0bC5kZXZpY2VfZmQpICE9IDApCisJCWVycihNS0ZTX0VYX0VSUk9SLCBfKCJ3cml0ZSBmYWlsZWQiKSk7CisKKwlyZXR1cm4gTUtGU19FWF9PSzsKK30KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvbWtzd2FwLjggYi9kaXNrLXV0aWxzL21rc3dhcC44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2NTUzNTcKLS0tIC9kZXYvbnVsbAorKysgYi9kaXNrLXV0aWxzL21rc3dhcC44CkBAIC0wLDAgKzEsMTU0IEBACisuXCIgQ29weXJpZ2h0IDE5OTggQW5kcmllcyBFLiBCcm91d2VyIChhZWJAY3dpLm5sKQorLlwiCisuXCIgTWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLlwiCisuVEggTUtTV0FQIDggIk1hcmNoIDIwMDkiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK21rc3dhcCBcLSBzZXQgdXAgYSBMaW51eCBzd2FwIGFyZWEKKy5TSCBTWU5PUFNJUworLkIgbWtzd2FwCitbb3B0aW9uc10KKy5JIGRldmljZQorLlJJIFsgc2l6ZSBdCisuU0ggREVTQ1JJUFRJT04KKy5CIG1rc3dhcAorc2V0cyB1cCBhIExpbnV4IHN3YXAgYXJlYSBvbiBhIGRldmljZSBvciBpbiBhIGZpbGUuCisKK1RoZQorLkkgZGV2aWNlCithcmd1bWVudCB3aWxsIHVzdWFsbHkgYmUgYSBkaXNrIHBhcnRpdGlvbiAoc29tZXRoaW5nIGxpa2UKKy5JUiAvZGV2L3NkYjcgKQorYnV0IGNhbiBhbHNvIGJlIGEgZmlsZS4KK1RoZSBMaW51eCBrZXJuZWwgZG9lcyBub3QgbG9vayBhdCBwYXJ0aXRpb24gSURzLCBidXQKK21hbnkgaW5zdGFsbGF0aW9uIHNjcmlwdHMgd2lsbCBhc3N1bWUgdGhhdCBwYXJ0aXRpb25zCitvZiBoZXggdHlwZSA4MiAoTElOVVhfU1dBUCkgYXJlIG1lYW50IHRvIGJlIHN3YXAgcGFydGl0aW9ucy4KKyhcZkJXYXJuaW5nOiBTb2xhcmlzIGFsc28gdXNlcyB0aGlzIHR5cGUuICBCZSBjYXJlZnVsIG5vdCB0byBraWxsCit5b3VyIFNvbGFyaXMgcGFydGl0aW9ucy5cZlApCisKK1RoZQorLkkgc2l6ZQorcGFyYW1ldGVyIGlzIHN1cGVyZmx1b3VzIGJ1dCByZXRhaW5lZCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuCisoSXQgc3BlY2lmaWVzIHRoZSBkZXNpcmVkIHNpemUgb2YgdGhlIHN3YXAgYXJlYSBpbiAxMDI0LWJ5dGUgYmxvY2tzLgorLkIgbWtzd2FwCit3aWxsIHVzZSB0aGUgZW50aXJlIHBhcnRpdGlvbiBvciBmaWxlIGlmIGl0IGlzIG9taXR0ZWQuCitTcGVjaWZ5aW5nIGl0IGlzIHVud2lzZSBcKGVuIGEgdHlwbyBtYXkgZGVzdHJveSB5b3VyIGRpc2suKQorCitBZnRlciBjcmVhdGluZyB0aGUgc3dhcCBhcmVhLCB5b3UgbmVlZCB0aGUKKy5CIHN3YXBvbgorY29tbWFuZCB0byBzdGFydCB1c2luZyBpdC4gIFVzdWFsbHkgc3dhcCBhcmVhcyBhcmUgbGlzdGVkIGluCisuSSAvZXRjL2ZzdGFiCitzbyB0aGF0IHRoZXkgY2FuIGJlIHRha2VuIGludG8gdXNlIGF0IGJvb3QgdGltZSBieSBhCisuQiBzd2Fwb24gXC1hCitjb21tYW5kIGluIHNvbWUgYm9vdCBzY3JpcHQuCisKKy5TSCBXQVJOSU5HCitUaGUgc3dhcCBoZWFkZXIgZG9lcyBub3QgdG91Y2ggdGhlIGZpcnN0IGJsb2NrLiAgQSBib290IGxvYWRlciBvciBkaXNrIGxhYmVsCitjYW4gYmUgdGhlcmUsIGJ1dCBpdCBpcyBub3QgYSByZWNvbW1lbmRlZCBzZXR1cC4gIFRoZSByZWNvbW1lbmRlZCBzZXR1cCBpcyB0bwordXNlIGEgc2VwYXJhdGUgcGFydGl0aW9uIGZvciBhIExpbnV4IHN3YXAgYXJlYS4KKworLkJSIG1rc3dhcCAsCitsaWtlIG1hbnkgb3RoZXJzIG1rZnMtbGlrZSB1dGlscywKKy5CIGVyYXNlcyB0aGUgZmlyc3QgcGFydGl0aW9uIGJsb2NrIHRvIG1ha2UgYW55IHByZXZpb3VzIGZpbGVzeXN0ZW0gaW52aXNpYmxlLgorCitIb3dldmVyLAorLkIgbWtzd2FwCityZWZ1c2VzIHRvIGVyYXNlIHRoZSBmaXJzdCBibG9jayBvbiBhIGRldmljZSB3aXRoIGEgZGlzaworbGFiZWwgKFNVTiwgQlNELCBcJi4uLlwmKS4KKworLlNIIE9QVElPTlMKKy5UUAorLkJSIFwtYyAsICIgXC1cLWNoZWNrIgorQ2hlY2sgdGhlIGRldmljZSAoaWYgaXQgaXMgYSBibG9jayBkZXZpY2UpIGZvciBiYWQgYmxvY2tzCitiZWZvcmUgY3JlYXRpbmcgdGhlIHN3YXAgYXJlYS4KK0lmIGFueSBiYWQgYmxvY2tzIGFyZSBmb3VuZCwgdGhlIGNvdW50IGlzIHByaW50ZWQuCisuVFAKKy5CUiBcLWYgLCAiIFwtXC1mb3JjZSIKK0dvIGFoZWFkIGV2ZW4gaWYgdGhlIGNvbW1hbmQgaXMgc3R1cGlkLgorVGhpcyBhbGxvd3MgdGhlIGNyZWF0aW9uIG9mIGEgc3dhcCBhcmVhIGxhcmdlciB0aGFuIHRoZSBmaWxlCitvciBwYXJ0aXRpb24gaXQgcmVzaWRlcyBvbi4KKworQWxzbywgd2l0aG91dCB0aGlzIG9wdGlvbiwKKy5CIG1rc3dhcAord2lsbCByZWZ1c2UgdG8gZXJhc2UgdGhlIGZpcnN0IGJsb2NrIG9uIGEgZGV2aWNlIHdpdGggYSBwYXJ0aXRpb24gdGFibGUuCisuVFAKKy5CUiBcLUwgLCAiIFwtXC1sYWJlbCAiIFxmSWxhYmVsXGZSCitTcGVjaWZ5IGEgXGZJbGFiZWxcZlIgZm9yIHRoZSBkZXZpY2UsIHRvIGFsbG93CisuQiBzd2Fwb24KK2J5IGxhYmVsLgorLlRQCisuQlIgXC1wICwgIiBcLVwtcGFnZXNpemUgIiBcZklzaXplXGZSCitTcGVjaWZ5IHRoZSBwYWdlIFxmSXNpemVcZlIgKGluIGJ5dGVzKSB0byB1c2UuICBUaGlzIG9wdGlvbiBpcyB1c3VhbGx5IHVubmVjZXNzYXJ5OworLkIgbWtzd2FwCityZWFkcyB0aGUgc2l6ZSBmcm9tIHRoZSBrZXJuZWwuCisuVFAKKy5CUiBcLVUgLCAiIFwtXC11dWlkICIgXGZJVVVJRFxmUgorU3BlY2lmeSB0aGUgXGZJVVVJRFxmUiB0byB1c2UuICBUaGUgZGVmYXVsdCBpcyB0byBnZW5lcmF0ZSBhIFVVSUQuCisuVFAKKy5CUiBcLXYgLCAiIFwtXC1zd2FwdmVyc2lvbiAxIgorU3BlY2lmeSB0aGUgc3dhcC1zcGFjZSB2ZXJzaW9uLiAgKFRoaXMgb3B0aW9uIGlzIGN1cnJlbnRseSBwb2ludGxlc3MsIGFzIHRoZSBvbGQKKy5CIFwtdiAwCitvcHRpb24gaGFzIGJlY29tZSBvYnNvbGV0ZSBhbmQgbm93IG9ubHkKKy5CIFwtdiAxCitpcyBzdXBwb3J0ZWQuCitUaGUga2VybmVsIGhhcyBub3Qgc3VwcG9ydGVkIHYwIHN3YXAtc3BhY2UgZm9ybWF0IHNpbmNlIDIuNS4yMiAoSnVuZSAyMDAyKS4KK1RoZSBuZXcgdmVyc2lvbiB2MSBpcyBzdXBwb3J0ZWQgc2luY2UgMi4xLjExNyAoQXVndXN0IDE5OTgpLikKKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisKKy5TSCBOT1RFUworVGhlIG1heGltdW0gdXNlZnVsIHNpemUgb2YgYSBzd2FwIGFyZWEgZGVwZW5kcyBvbiB0aGUgYXJjaGl0ZWN0dXJlIGFuZAordGhlIGtlcm5lbCB2ZXJzaW9uLgorCitUaGUgbWF4aW11bSBudW1iZXIgb2YgdGhlIHBhZ2VzIHRoYXQgaXMgcG9zc2libGUgdG8gYWRkcmVzcyBieSBzd2FwIGFyZWEgaGVhZGVyCitpcyA0Mjk0OTY3Mjk1IChVSU5UX01BWCkuICBUaGUgcmVtYWluaW5nIHNwYWNlIG9uIHRoZSBzd2FwIGRldmljZSBpcyBpZ25vcmVkLgorCitQcmVzZW50bHksIExpbnV4IGFsbG93cyAzMiBzd2FwIGFyZWFzLgorVGhlIGFyZWFzIGluIHVzZSBjYW4gYmUgc2VlbiBpbiB0aGUgZmlsZQorLkkgL3Byb2Mvc3dhcHMKKworLkIgbWtzd2FwCityZWZ1c2VzIGFyZWFzIHNtYWxsZXIgdGhhbiAxMCBwYWdlcy4KKworSWYgeW91IGRvbid0IGtub3cgdGhlIHBhZ2Ugc2l6ZSB0aGF0IHlvdXIgbWFjaGluZSB1c2VzLCB5b3UgbWF5IGJlCithYmxlIHRvIGxvb2sgaXQgdXAgd2l0aCAiY2F0IC9wcm9jL2NwdWluZm8iIChvciB5b3UgbWF5IG5vdCBcKGVuCit0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlIGRlcGVuZCBvbiBhcmNoaXRlY3R1cmUgYW5kIGtlcm5lbCB2ZXJzaW9uKS4KKworVG8gc2V0IHVwIGEgc3dhcCBmaWxlLCBpdCBpcyBuZWNlc3NhcnkgdG8gY3JlYXRlIHRoYXQgZmlsZSBiZWZvcmUKK2luaXRpYWxpemluZyBpdCB3aXRoCisuQlIgbWtzd2FwICwKK2UuZy5cJiB1c2luZyBhIGNvbW1hbmQgbGlrZQorCisubmYKKy5SUworIyBmYWxsb2NhdGUgXC1cLWxlbmd0aCA4R2lCIHN3YXBmaWxlCisuUkUKKy5maQorCitOb3RlIHRoYXQgYSBzd2FwIGZpbGUgbXVzdCBub3QgY29udGFpbiBhbnkgaG9sZXMuICBVc2luZworLkJSIGNwICgxKQordG8gY3JlYXRlIHRoZSBmaWxlIGlzIG5vdCBhY2NlcHRhYmxlLiAgTmVpdGhlciBpcyB1c2Ugb2YKKy5CUiBmYWxsb2NhdGUgKDEpCitvbiBmaWxlIHN5c3RlbXMgdGhhdCBzdXBwb3J0IHByZWFsbG9jYXRlZCBmaWxlcywgc3VjaCBhcworLkJSIFhGUyAiIG9yICIgZXh0NCAsCitvciBvbiBjb3B5LW9uLXdyaXRlIGZpbGVzeXN0ZW1zIGxpa2UKKy5CUiBidHJmcyAuCitJdCBpcyByZWNvbW1lbmRlZCB0byB1c2UKKy5CUiBkZCAoMSkKK2FuZCAvZGV2L3plcm8gaW4gdGhlc2UgY2FzZXMuICBQbGVhc2UgcmVhZCBub3RlcyBmcm9tCisuQlIgc3dhcG9uICg4KQorYmVmb3JlIGFkZGluZyBhIHN3YXAgZmlsZSB0byBjb3B5LW9uLXdyaXRlIGZpbGVzeXN0ZW1zLgorCisuU0ggRU5WSVJPTk1FTlQKKy5JUCBMSUJCTEtJRF9ERUJVRz1hbGwKK2VuYWJsZXMgbGliYmxraWQgZGVidWcgb3V0cHV0LgorCisuU0ggIlNFRSBBTFNPIgorLkJSIGZkaXNrICg4KSwKKy5CUiBzd2Fwb24gKDgpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgbWtzd2FwIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9ta3N3YXAuYyBiL2Rpc2stdXRpbHMvbWtzd2FwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTNhMTVkZQotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvbWtzd2FwLmMKQEAgLTAsMCArMSw1NDEgQEAKKy8qCisgKiBta3N3YXAuYyAtIHNldCB1cCBhIGxpbnV4IHN3YXAgZGV2aWNlCisgKgorICogQ29weXJpZ2h0IChDKSAxOTkxIExpbnVzIFRvcnZhbGRzCisgKiAgICAgICAgICAgICAgIDIwLjEyLjkxIC0gdGltZSBiZWdhbi4gR290IFZNIHdvcmtpbmcgeWVzdGVyZGF5IGJ5IGRvaW5nIHRoaXMgYnkgaGFuZC4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTkgSmFrdWIgSmVsaW5layA8ampAdWx0cmEubGludXguY3o+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPGFzc2VydC5oPgorI2lmZGVmIEhBVkVfTElCU0VMSU5VWAorI2luY2x1ZGUgPHNlbGludXgvc2VsaW51eC5oPgorI2luY2x1ZGUgPHNlbGludXgvY29udGV4dC5oPgorI2VuZGlmCisKKyNpbmNsdWRlICJsaW51eF92ZXJzaW9uLmgiCisjaW5jbHVkZSAic3dhcGhlYWRlci5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiYmxrZGV2LmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAiYWxsLWlvLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAiaXNtb3VudGVkLmgiCisKKyNpZmRlZiBIQVZFX0xJQlVVSUQKKyMgaW5jbHVkZSA8dXVpZC5oPgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0xJQkJMS0lECisjIGluY2x1ZGUgPGJsa2lkLmg+CisjZW5kaWYKKworI2RlZmluZSBNSU5fR09PRFBBR0VTCTEwCisKKyNkZWZpbmUgU0VMSU5VWF9TV0FQRklMRV9UWVBFCSJzd2FwZmlsZV90IgorCitzdHJ1Y3QgbWtzd2FwX2NvbnRyb2wgeworCXN0cnVjdCBzd2FwX2hlYWRlcl92MV8yCSpoZHI7CQkvKiBzd2FwIGhlYWRlciAqLworCXZvaWQJCQkqc2lnbmF0dXJlX3BhZ2U7LyogYnVmZmVyIHdpdGggc3dhcCBoZWFkZXIgKi8KKworCWNoYXIJCQkqZGV2bmFtZTsJLyogZGV2aWNlIG9yIGZpbGUgbmFtZSAqLworCXN0cnVjdCBzdGF0CQlkZXZzdGF0OwkvKiBzdGF0KCkgcmVzdWx0ICovCisJaW50CQkJZmQ7CQkvKiBzd2FwIGZpbGUgZGVzY3JpcHRvciAqLworCisJdW5zaWduZWQgbG9uZyBsb25nCW5wYWdlczsJCS8qIG51bWJlciBvZiBwYWdlcyAqLworCXVuc2lnbmVkIGxvbmcJCW5iYWRwYWdlczsJLyogbnVtYmVyIG9mIGJhZCBwYWdlcyAqLworCisJaW50CQkJdXNlcl9wYWdlc2l6ZTsJLyogLS1wYWdlc2l6ZSAqLworCWludAkJCXBhZ2VzaXplOwkvKiBmaW5hbCBwYWdlc2l6ZSB1c2VkIGZvciB0aGUgaGVhZGVyICovCisKKwljaGFyCQkJKm9wdF9sYWJlbDsJLyogTEFCRUwgYXMgc3BlY2lmaWVkIG9uIGNvbW1hbmQgbGluZSAqLworCXVuc2lnbmVkIGNoYXIJCSp1dWlkOwkJLyogVVVJRCBwYXJzZWQgYnkgbGliYnV1aWQgKi8KKworCXVuc2lnbmVkIGludAkJY2hlY2s6MSwJLyogLS1jaGVjayAqLworCQkJCWZvcmNlOjE7CS8qIC0tZm9yY2UgKi8KK307CisKK3N0YXRpYyB2b2lkIGluaXRfc2lnbmF0dXJlX3BhZ2Uoc3RydWN0IG1rc3dhcF9jb250cm9sICpjdGwpCit7CisJY29uc3QgaW50IGtlcm5lbF9wYWdlc2l6ZSA9IGdldHBhZ2VzaXplKCk7CisKKwlpZiAoY3RsLT51c2VyX3BhZ2VzaXplKSB7CisJCWlmIChjdGwtPnVzZXJfcGFnZXNpemUgPCAwIHx8ICFpc19wb3dlcl9vZl8yKGN0bC0+dXNlcl9wYWdlc2l6ZSkgfHwKKwkJICAgIChzaXplX3QpIGN0bC0+dXNlcl9wYWdlc2l6ZSA8IHNpemVvZihzdHJ1Y3Qgc3dhcF9oZWFkZXJfdjFfMikgKyAxMCkKKwkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJICAgICBfKCJCYWQgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICV1IiksCisJCQkgICAgICAgY3RsLT51c2VyX3BhZ2VzaXplKTsKKwkJaWYgKGN0bC0+dXNlcl9wYWdlc2l6ZSAhPSBrZXJuZWxfcGFnZXNpemUpCisJCQl3YXJueChfKCJVc2luZyB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJWQsICIKKwkJCQkiaW5zdGVhZCBvZiB0aGUgc3lzdGVtIHZhbHVlICVkIiksCisJCQkJY3RsLT5wYWdlc2l6ZSwga2VybmVsX3BhZ2VzaXplKTsKKwkJY3RsLT5wYWdlc2l6ZSA9IGN0bC0+dXNlcl9wYWdlc2l6ZTsKKwl9IGVsc2UKKwkJY3RsLT5wYWdlc2l6ZSA9IGtlcm5lbF9wYWdlc2l6ZTsKKworCWN0bC0+c2lnbmF0dXJlX3BhZ2UgPSB4Y2FsbG9jKDEsIGN0bC0+cGFnZXNpemUpOworCWN0bC0+aGRyID0gKHN0cnVjdCBzd2FwX2hlYWRlcl92MV8yICopIGN0bC0+c2lnbmF0dXJlX3BhZ2U7Cit9CisKK3N0YXRpYyB2b2lkIGRlaW5pdF9zaWduYXR1cmVfcGFnZShzdHJ1Y3QgbWtzd2FwX2NvbnRyb2wgKmN0bCkKK3sKKwlmcmVlKGN0bC0+c2lnbmF0dXJlX3BhZ2UpOworCisJY3RsLT5oZHIgPSBOVUxMOworCWN0bC0+c2lnbmF0dXJlX3BhZ2UgPSBOVUxMOworfQorCitzdGF0aWMgdm9pZCBzZXRfc2lnbmF0dXJlKGNvbnN0IHN0cnVjdCBta3N3YXBfY29udHJvbCAqY3RsKQoreworCWNoYXIgKnNwID0gKGNoYXIgKikgY3RsLT5zaWduYXR1cmVfcGFnZTsKKworCWFzc2VydChzcCk7CisJc3RybmNweShzcCArIGN0bC0+cGFnZXNpemUgLSBTV0FQX1NJR05BVFVSRV9TWiwgU1dBUF9TSUdOQVRVUkUsIFNXQVBfU0lHTkFUVVJFX1NaKTsKK30KKworc3RhdGljIHZvaWQgc2V0X3V1aWRfYW5kX2xhYmVsKGNvbnN0IHN0cnVjdCBta3N3YXBfY29udHJvbCAqY3RsKQoreworCWFzc2VydChjdGwpOworCWFzc2VydChjdGwtPmhkcik7CisKKwkvKiBzZXQgVVVJRCAqLworCWlmIChjdGwtPnV1aWQpCisJCW1lbWNweShjdGwtPmhkci0+dXVpZCwgY3RsLT51dWlkLCBzaXplb2YoY3RsLT5oZHItPnV1aWQpKTsKKworCS8qIHNldCBMQUJFTCAqLworCWlmIChjdGwtPm9wdF9sYWJlbCkgeworCQl4c3RybmNweShjdGwtPmhkci0+dm9sdW1lX25hbWUsCisJCQkgY3RsLT5vcHRfbGFiZWwsIHNpemVvZihjdGwtPmhkci0+dm9sdW1lX25hbWUpKTsKKwkJaWYgKHN0cmxlbihjdGwtPm9wdF9sYWJlbCkgPiBzdHJsZW4oY3RsLT5oZHItPnZvbHVtZV9uYW1lKSkKKwkJCXdhcm54KF8oIkxhYmVsIHdhcyB0cnVuY2F0ZWQuIikpOworCX0KKworCS8qIHJlcG9ydCByZXN1bHRzICovCisJaWYgKGN0bC0+dXVpZCB8fCBjdGwtPm9wdF9sYWJlbCkgeworCQlpZiAoY3RsLT5vcHRfbGFiZWwpCisJCQlwcmludGYoIkxBQkVMPSVzLCAiLCBjdGwtPmhkci0+dm9sdW1lX25hbWUpOworCQllbHNlCisJCQlwcmludGYoXygibm8gbGFiZWwsICIpKTsKKyNpZmRlZiBIQVZFX0xJQlVVSUQKKwkJaWYgKGN0bC0+dXVpZCkgeworCQkJY2hhciB1dWlkX3N0cmluZ1szN107CisJCQl1dWlkX3VucGFyc2UoY3RsLT51dWlkLCB1dWlkX3N0cmluZyk7CisJCQlwcmludGYoIlVVSUQ9JXNcbiIsIHV1aWRfc3RyaW5nKTsKKwkJfSBlbHNlCisjZW5kaWYKKwkJCXByaW50ZihfKCJubyB1dWlkXG4iKSk7CisJfQorfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqb3V0KQoreworCWZwcmludGYob3V0LAorCQlfKCJcblVzYWdlOlxuIgorCQkgICIgJXMgW29wdGlvbnNdIGRldmljZSBbc2l6ZV1cbiIpLAorCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiU2V0IHVwIGEgTGludXggc3dhcCBhcmVhLlxuIiksIG91dCk7CisKKwlmcHJpbnRmKG91dCwgXygKKwkJIlxuT3B0aW9uczpcbiIKKwkJIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIGNoZWNrIGJhZCBibG9ja3MgYmVmb3JlIGNyZWF0aW5nIHRoZSBzd2FwIGFyZWFcbiIKKwkJIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGFsbG93IHN3YXAgc2l6ZSBhcmVhIGJlIGxhcmdlciB0aGFuIGRldmljZVxuIgorCQkiIC1wLCAtLXBhZ2VzaXplIFNJWkUgICAgICAgc3BlY2lmeSBwYWdlIHNpemUgaW4gYnl0ZXNcbiIKKwkJIiAtTCwgLS1sYWJlbCBMQUJFTCAgICAgICAgIHNwZWNpZnkgbGFiZWxcbiIKKwkJIiAtdiwgLS1zd2FwdmVyc2lvbiBOVU0gICAgIHNwZWNpZnkgc3dhcC1zcGFjZSB2ZXJzaW9uIG51bWJlclxuIgorCQkiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgc3BlY2lmeSB0aGUgdXVpZCB0byB1c2VcbiIKKwkJIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisJCSIgLWgsIC0taGVscCAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuXG4iKSk7CisKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgdm9pZCBwYWdlX2JhZChzdHJ1Y3QgbWtzd2FwX2NvbnRyb2wgKmN0bCwgdW5zaWduZWQgaW50IHBhZ2UpCit7CisJY29uc3QgdW5zaWduZWQgbG9uZyBtYXhfYmFkcGFnZXMgPQorCQkoY3RsLT5wYWdlc2l6ZSAtIDEwMjQgLSAxMjggKiBzaXplb2YoaW50KSAtIDEwKSAvIHNpemVvZihpbnQpOworCisJaWYgKGN0bC0+bmJhZHBhZ2VzID09IG1heF9iYWRwYWdlcykKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInRvbyBtYW55IGJhZCBwYWdlczogJWx1IiksIG1heF9iYWRwYWdlcyk7CisKKwljdGwtPmhkci0+YmFkcGFnZXNbY3RsLT5uYmFkcGFnZXNdID0gcGFnZTsKKwljdGwtPm5iYWRwYWdlcysrOworfQorCitzdGF0aWMgdm9pZCBjaGVja19ibG9ja3Moc3RydWN0IG1rc3dhcF9jb250cm9sICpjdGwpCit7CisJdW5zaWduZWQgaW50IGN1cnJlbnRfcGFnZSA9IDA7CisJaW50IGRvX3NlZWsgPSAxOworCWNoYXIgKmJ1ZmZlcjsKKworCWFzc2VydChjdGwpOworCWFzc2VydChjdGwtPmZkID4gLTEpOworCisJYnVmZmVyID0geG1hbGxvYyhjdGwtPnBhZ2VzaXplKTsKKwl3aGlsZSAoY3VycmVudF9wYWdlIDwgY3RsLT5ucGFnZXMpIHsKKwkJc3NpemVfdCByYzsKKworCQlpZiAoZG9fc2VlayAmJiBsc2VlayhjdGwtPmZkLCBjdXJyZW50X3BhZ2UgKiBjdGwtPnBhZ2VzaXplLCBTRUVLX1NFVCkgIT0KKwkJICAgIGN1cnJlbnRfcGFnZSAqIGN0bC0+cGFnZXNpemUpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygic2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIikpOworCisJCXJjID0gcmVhZChjdGwtPmZkLCBidWZmZXIsIGN0bC0+cGFnZXNpemUpOworCQlkb19zZWVrID0gKHJjIDwgMCB8fCByYyAhPSBjdGwtPnBhZ2VzaXplKTsKKwkJaWYgKGRvX3NlZWspCisJCQlwYWdlX2JhZChjdGwsIGN1cnJlbnRfcGFnZSk7CisJCWN1cnJlbnRfcGFnZSsrOworCX0KKwlwcmludGYoUF8oIiVsdSBiYWQgcGFnZVxuIiwgIiVsdSBiYWQgcGFnZXNcbiIsIGN0bC0+bmJhZHBhZ2VzKSwgY3RsLT5uYmFkcGFnZXMpOworCWZyZWUoYnVmZmVyKTsKK30KKworLyogcmV0dXJuIHNpemUgaW4gcGFnZXMgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcgZ2V0X3NpemUoY29uc3Qgc3RydWN0IG1rc3dhcF9jb250cm9sICpjdGwpCit7CisJaW50IGZkOworCXVuc2lnbmVkIGxvbmcgbG9uZyBzaXplOworCisJZmQgPSBvcGVuKGN0bC0+ZGV2bmFtZSwgT19SRE9OTFkpOworCWlmIChmZCA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksIGN0bC0+ZGV2bmFtZSk7CisJaWYgKGJsa2Rldl9nZXRfc2l6ZShmZCwgJnNpemUpID09IDApCisJCXNpemUgLz0gY3RsLT5wYWdlc2l6ZTsKKworCWNsb3NlKGZkKTsKKwlyZXR1cm4gc2l6ZTsKK30KKworI2lmZGVmIEhBVkVfTElCQkxLSUQKK3N0YXRpYyBibGtpZF9wcm9iZSBuZXdfcHJvYmVyKGNvbnN0IHN0cnVjdCBta3N3YXBfY29udHJvbCAqY3RsKQoreworCWJsa2lkX3Byb2JlIHByID0gYmxraWRfbmV3X3Byb2JlKCk7CisJaWYgKCFwcikKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuYWJsZSB0byBhbGxvYyBuZXcgbGliYmxraWQgcHJvYmUiKSk7CisJaWYgKGJsa2lkX3Byb2JlX3NldF9kZXZpY2UocHIsIGN0bC0+ZmQsIDAsIDApKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5hYmxlIHRvIGFzc2lnbiBkZXZpY2UgdG8gbGliYmxraWQgcHJvYmUiKSk7CisJcmV0dXJuIHByOworfQorI2VuZGlmCisKK3N0YXRpYyB2b2lkIG9wZW5fZGV2aWNlKHN0cnVjdCBta3N3YXBfY29udHJvbCAqY3RsKQoreworCWFzc2VydChjdGwpOworCWFzc2VydChjdGwtPmRldm5hbWUpOworCisJaWYgKHN0YXQoY3RsLT5kZXZuYW1lLCAmY3RsLT5kZXZzdGF0KSA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oInN0YXQgb2YgJXMgZmFpbGVkIiksIGN0bC0+ZGV2bmFtZSk7CisJY3RsLT5mZCA9IG9wZW5fYmxrZGV2X29yX2ZpbGUoJmN0bC0+ZGV2c3RhdCwgY3RsLT5kZXZuYW1lLCBPX1JEV1IpOworCWlmIChjdGwtPmZkIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgY3RsLT5kZXZuYW1lKTsKKwlpZiAoY3RsLT5jaGVjayAmJiBTX0lTUkVHKGN0bC0+ZGV2c3RhdC5zdF9tb2RlKSkgeworCQljdGwtPmNoZWNrID0gMDsKKwkJd2FybngoXygid2FybmluZzogY2hlY2tpbmcgYmFkIGJsb2NrcyBmcm9tIHN3YXAgZmlsZSBpcyBub3Qgc3VwcG9ydGVkOiAlcyIpLAorCQkgICAgICAgY3RsLT5kZXZuYW1lKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHdpcGVfZGV2aWNlKHN0cnVjdCBta3N3YXBfY29udHJvbCAqY3RsKQoreworCWNoYXIgKnR5cGUgPSBOVUxMOworCWludCB6YXAgPSAxOworI2lmZGVmIEhBVkVfTElCQkxLSUQKKwlibGtpZF9wcm9iZSBwciA9IE5VTEw7CisjZW5kaWYKKwlpZiAoIWN0bC0+Zm9yY2UpIHsKKwkJaWYgKGxzZWVrKGN0bC0+ZmQsIDAsIFNFRUtfU0VUKSAhPSAwKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuYWJsZSB0byByZXdpbmQgc3dhcC1kZXZpY2UiKSk7CisKKyNpZmRlZiBIQVZFX0xJQkJMS0lECisJCXByID0gbmV3X3Byb2JlcihjdGwpOworCQlibGtpZF9wcm9iZV9lbmFibGVfcGFydGl0aW9ucyhwciwgMSk7CisJCWJsa2lkX3Byb2JlX2VuYWJsZV9zdXBlcmJsb2NrcyhwciwgMCk7CisKKwkJaWYgKGJsa2lkX2RvX2Z1bGxwcm9iZShwcikgPT0gMCAmJgorCQkgICAgYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlKHByLCAiUFRUWVBFIiwKKwkJCQkoY29uc3QgY2hhciAqKikgJnR5cGUsIE5VTEwpID09IDAgJiYgdHlwZSkgeworCQkJdHlwZSA9IHhzdHJkdXAodHlwZSk7CisJCQl6YXAgPSAwOworCQl9CisjZWxzZQorCQkvKiBkb24ndCB6YXAgaWYgY29tcGlsZWQgd2l0aG91dCBsaWJibGtpZCAqLworCQl6YXAgPSAwOworI2VuZGlmCisJfQorCisJaWYgKHphcCkgeworCQkvKgorCQkgKiBXaXBlIGJvb3RiaXRzCisJCSAqLworCQljaGFyIGJ1ZlsxMDI0XSA9IHsgJ1wwJyB9OworCisJCWlmIChsc2VlayhjdGwtPmZkLCAwLCBTRUVLX1NFVCkgIT0gMCkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1bmFibGUgdG8gcmV3aW5kIHN3YXAtZGV2aWNlIikpOworCisJCWlmICh3cml0ZV9hbGwoY3RsLT5mZCwgYnVmLCBzaXplb2YoYnVmKSkpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5hYmxlIHRvIGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiKSk7CisjaWZkZWYgSEFWRV9MSUJCTEtJRAorCQkvKgorCQkgKiBXaXBlIHJlc3Qgb2YgdGhlIGRldmljZQorCQkgKi8KKwkJaWYgKCFwcikKKwkJCXByID0gbmV3X3Byb2JlcihjdGwpOworCisJCWJsa2lkX3Byb2JlX2VuYWJsZV9zdXBlcmJsb2NrcyhwciwgMSk7CisJCWJsa2lkX3Byb2JlX2VuYWJsZV9wYXJ0aXRpb25zKHByLCAwKTsKKwkJYmxraWRfcHJvYmVfc2V0X3N1cGVyYmxvY2tzX2ZsYWdzKHByLCBCTEtJRF9TVUJMS1NfTUFHSUN8QkxLSURfU1VCTEtTX1RZUEUpOworCisJCXdoaWxlIChibGtpZF9kb19wcm9iZShwcikgPT0gMCkgeworCQkJY29uc3QgY2hhciAqZGF0YSA9IE5VTEw7CisKKwkJCWlmIChibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJUWVBFIiwgJmRhdGEsIE5VTEwpID09IDAgJiYgZGF0YSkKKwkJCQl3YXJueChfKCIlczogd2FybmluZzogd2lwaW5nIG9sZCAlcyBzaWduYXR1cmUuIiksIGN0bC0+ZGV2bmFtZSwgZGF0YSk7CisJCQlibGtpZF9kb193aXBlKHByLCAwKTsKKwkJfQorI2VuZGlmCisJfSBlbHNlIHsKKwkJd2FybngoXygiJXM6IHdhcm5pbmc6IGRvbid0IGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiKSwKKwkJCWN0bC0+ZGV2bmFtZSk7CisJCWlmICh0eXBlKQorCQkJZnByaW50ZihzdGRlcnIsIF8oIiAgICAgICAgKCVzIHBhcnRpdGlvbiB0YWJsZSBkZXRlY3RlZCkuICIpLCB0eXBlKTsKKwkJZWxzZQorCQkJZnByaW50ZihzdGRlcnIsIF8oIiAgICAgICAgKGNvbXBpbGVkIHdpdGhvdXQgbGliYmxraWQpLiAiKSk7CisJCWZwcmludGYoc3RkZXJyLCBfKCJVc2UgLWYgdG8gZm9yY2UuXG4iKSk7CisJfQorCWZyZWUodHlwZSk7CisjaWZkZWYgSEFWRV9MSUJCTEtJRAorCWJsa2lkX2ZyZWVfcHJvYmUocHIpOworI2VuZGlmCit9CisKKyNkZWZpbmUgU0lHTkFUVVJFX09GRlNFVAkxMDI0CisKK3N0YXRpYyB2b2lkIHdyaXRlX2hlYWRlcl90b19kZXZpY2Uoc3RydWN0IG1rc3dhcF9jb250cm9sICpjdGwpCit7CisJYXNzZXJ0KGN0bCk7CisJYXNzZXJ0KGN0bC0+ZmQgPiAtMSk7CisJYXNzZXJ0KGN0bC0+c2lnbmF0dXJlX3BhZ2UpOworCisJaWYgKGxzZWVrKGN0bC0+ZmQsIFNJR05BVFVSRV9PRkZTRVQsIFNFRUtfU0VUKSAhPSBTSUdOQVRVUkVfT0ZGU0VUKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5hYmxlIHRvIHJld2luZCBzd2FwLWRldmljZSIpKTsKKworCWlmICh3cml0ZV9hbGwoY3RsLT5mZCwgKGNoYXIgKikgY3RsLT5zaWduYXR1cmVfcGFnZSArIFNJR05BVFVSRV9PRkZTRVQsCisJCSAgICAgIGN0bC0+cGFnZXNpemUgLSBTSUdOQVRVUkVfT0ZGU0VUKSA9PSAtMSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwKKwkJCV8oIiVzOiB1bmFibGUgdG8gd3JpdGUgc2lnbmF0dXJlIHBhZ2UiKSwKKwkJCWN0bC0+ZGV2bmFtZSk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlzdHJ1Y3QgbWtzd2FwX2NvbnRyb2wgY3RsID0geyAuZmQgPSAtMSB9OworCWludCBjLCBwZXJtTWFzazsKKwl1aW50NjRfdCBzejsKKwlpbnQgdmVyc2lvbiA9IFNXQVBfVkVSU0lPTjsKKwljaGFyICpibG9ja19jb3VudCA9IE5VTEwsICpzdHJzeiA9IE5VTEw7CisjaWZkZWYgSEFWRV9MSUJVVUlECisJY29uc3QgY2hhciAqb3B0X3V1aWQgPSBOVUxMOworCXV1aWRfdCB1dWlkX2RhdDsKKyNlbmRpZgorCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsgImNoZWNrIiwgICAgICAgbm9fYXJndW1lbnQsICAgICAgIDAsICdjJyB9LAorCQl7ICJmb3JjZSIsICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICAwLCAnZicgfSwKKwkJeyAicGFnZXNpemUiLCAgICByZXF1aXJlZF9hcmd1bWVudCwgMCwgJ3AnIH0sCisJCXsgImxhYmVsIiwgICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIDAsICdMJyB9LAorCQl7ICJzd2FwdmVyc2lvbiIsIHJlcXVpcmVkX2FyZ3VtZW50LCAwLCAndicgfSwKKwkJeyAidXVpZCIsICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgMCwgJ1UnIH0sCisJCXsgInZlcnNpb24iLCAgICAgbm9fYXJndW1lbnQsICAgICAgIDAsICdWJyB9LAorCQl7ICJoZWxwIiwgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICAwLCAnaCcgfSwKKwkJeyBOVUxMLCAgICAgICAgICAwLCAwLCAwIH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImNmcDpMOnY6VTpWaCIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ2MnOgorCQkJY3RsLmNoZWNrID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdmJzoKKwkJCWN0bC5mb3JjZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAncCc6CisJCQljdGwudXNlcl9wYWdlc2l6ZSA9IHN0cnRvdTMyX29yX2VycihvcHRhcmcsIF8oInBhcnNpbmcgcGFnZSBzaXplIGZhaWxlZCIpKTsKKwkJCWJyZWFrOworCQljYXNlICdMJzoKKwkJCWN0bC5vcHRfbGFiZWwgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAndic6CisJCQl2ZXJzaW9uID0gc3RydG9zMzJfb3JfZXJyKG9wdGFyZywgXygicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiKSk7CisJCQlpZiAodmVyc2lvbiAhPSBTV0FQX1ZFUlNJT04pCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkJCV8oInN3YXBzcGFjZSB2ZXJzaW9uICVkIGlzIG5vdCBzdXBwb3J0ZWQiKSwgdmVyc2lvbik7CisJCQlicmVhazsKKwkJY2FzZSAnVSc6CisjaWZkZWYgSEFWRV9MSUJVVUlECisJCQlvcHRfdXVpZCA9IG9wdGFyZzsKKyNlbHNlCisJCQl3YXJueChfKCJ3YXJuaW5nOiBpZ25vcmluZyAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkIGJ5ICVzKSIpLAorCQkJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKyNlbmRpZgorCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlleGl0KEVYSVRfU1VDQ0VTUyk7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2Uoc3Rkb3V0KTsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKHN0ZGVycik7CisJCX0KKwl9CisKKwlpZiAob3B0aW5kIDwgYXJnYykKKwkJY3RsLmRldm5hbWUgPSBhcmd2W29wdGluZCsrXTsKKwlpZiAob3B0aW5kIDwgYXJnYykKKwkJYmxvY2tfY291bnQgPSBhcmd2W29wdGluZCsrXTsKKwlpZiAob3B0aW5kICE9IGFyZ2MpIHsKKwkJd2FybngoXygib25seSBvbmUgZGV2aWNlIGFyZ3VtZW50IGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQiKSk7CisJCXVzYWdlKHN0ZGVycik7CisJfQorCisjaWZkZWYgSEFWRV9MSUJVVUlECisJaWYob3B0X3V1aWQpIHsKKwkJaWYgKHV1aWRfcGFyc2Uob3B0X3V1aWQsIHV1aWRfZGF0KSAhPSAwKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImVycm9yOiBwYXJzaW5nIFVVSUQgZmFpbGVkIikpOworCX0gZWxzZQorCQl1dWlkX2dlbmVyYXRlKHV1aWRfZGF0KTsKKwljdGwudXVpZCA9IHV1aWRfZGF0OworI2VuZGlmCisKKwlpbml0X3NpZ25hdHVyZV9wYWdlKCZjdGwpOwkvKiBnZXQgcGFnZXNpemUgYW5kIGFsbG9jYXRlIHNpZ25hdHVyZSBwYWdlICovCisKKwlpZiAoIWN0bC5kZXZuYW1lKSB7CisJCXdhcm54KF8oImVycm9yOiBOb3doZXJlIHRvIHNldCB1cCBzd2FwIG9uPyIpKTsKKwkJdXNhZ2Uoc3RkZXJyKTsKKwl9CisJaWYgKGJsb2NrX2NvdW50KSB7CisJCS8qIHRoaXMgc2lsbHkgdXNlciBzcGVjaWZpZWQgdGhlIG51bWJlciBvZiBibG9ja3MgZXhwbGljaXRseSAqLworCQl1aW50NjRfdCBibGtzID0gc3RydG91NjRfb3JfZXJyKGJsb2NrX2NvdW50LAorCQkJCQlfKCJpbnZhbGlkIGJsb2NrIGNvdW50IGFyZ3VtZW50IikpOworCQljdGwubnBhZ2VzID0gYmxrcyAvIChjdGwucGFnZXNpemUgLyAxMDI0KTsKKwl9CisKKwlzeiA9IGdldF9zaXplKCZjdGwpOworCWlmICghY3RsLm5wYWdlcykKKwkJY3RsLm5wYWdlcyA9IHN6OworCWVsc2UgaWYgKGN0bC5ucGFnZXMgPiBzeiAmJiAhY3RsLmZvcmNlKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCV8oImVycm9yOiAiCisJCQkgICJzaXplICVsbHUgS2lCIGlzIGxhcmdlciB0aGFuIGRldmljZSBzaXplICUiUFJJdTY0IiBLaUIiKSwKKwkJCWN0bC5ucGFnZXMgKiAoY3RsLnBhZ2VzaXplIC8gMTAyNCksIHN6ICogKGN0bC5wYWdlc2l6ZSAvIDEwMjQpKTsKKworCWlmIChjdGwubnBhZ2VzIDwgTUlOX0dPT0RQQUdFUykKKwkJZXJyeChFWElUX0ZBSUxVUkUsCisJCSAgICAgXygiZXJyb3I6IHN3YXAgYXJlYSBuZWVkcyB0byBiZSBhdCBsZWFzdCAlbGQgS2lCIiksCisJCSAgICAgKGxvbmcpKE1JTl9HT09EUEFHRVMgKiBjdGwucGFnZXNpemUgLyAxMDI0KSk7CisJaWYgKGN0bC5ucGFnZXMgPiBVSU5UMzJfTUFYKSB7CisJCS8qIHRydWUgd2hlbiBzd2FwIGlzIGJpZ2dlciB0aGFuIDE3LjU5IHRlcmFieXRlcyAqLworCQljdGwubnBhZ2VzID0gVUlOVDMyX01BWDsKKwkJd2FybngoXygid2FybmluZzogdHJ1bmNhdGluZyBzd2FwIGFyZWEgdG8gJWxsdSBLaUIiKSwKKwkJCWN0bC5ucGFnZXMgKiBjdGwucGFnZXNpemUgLyAxMDI0KTsKKwl9CisKKwlpZiAoaXNfbW91bnRlZChjdGwuZGV2bmFtZSkpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJlcnJvcjogIgorCQkJIiVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2Ugc3dhcHNwYWNlIiksCisJCQljdGwuZGV2bmFtZSk7CisKKwlvcGVuX2RldmljZSgmY3RsKTsKKwlwZXJtTWFzayA9IFNfSVNCTEsoY3RsLmRldnN0YXQuc3RfbW9kZSkgPyAwNzAwNyA6IDA3MDc3OworCWlmICgoY3RsLmRldnN0YXQuc3RfbW9kZSAmIHBlcm1NYXNrKSAhPSAwKQorCQl3YXJueChfKCIlczogaW5zZWN1cmUgcGVybWlzc2lvbnMgJTA0bywgJTA0byBzdWdnZXN0ZWQuIiksCisJCQljdGwuZGV2bmFtZSwgY3RsLmRldnN0YXQuc3RfbW9kZSAmIDA3Nzc3LAorCQkJfnBlcm1NYXNrICYgMDY2Nik7CisJaWYgKGdldHVpZCgpID09IDAgJiYgU19JU1JFRyhjdGwuZGV2c3RhdC5zdF9tb2RlKSAmJiBjdGwuZGV2c3RhdC5zdF91aWQgIT0gMCkKKwkJd2FybngoXygiJXM6IGluc2VjdXJlIGZpbGUgb3duZXIgJWQsIDAgKHJvb3QpIHN1Z2dlc3RlZC4iKSwKKwkJCWN0bC5kZXZuYW1lLCBjdGwuZGV2c3RhdC5zdF91aWQpOworCisKKwlpZiAoY3RsLmNoZWNrKQorCQljaGVja19ibG9ja3MoJmN0bCk7CisKKwl3aXBlX2RldmljZSgmY3RsKTsKKworCWFzc2VydChjdGwuaGRyKTsKKwljdGwuaGRyLT52ZXJzaW9uID0gdmVyc2lvbjsKKwljdGwuaGRyLT5sYXN0X3BhZ2UgPSBjdGwubnBhZ2VzIC0gMTsKKwljdGwuaGRyLT5ucl9iYWRwYWdlcyA9IGN0bC5uYmFkcGFnZXM7CisKKwlpZiAoKGN0bC5ucGFnZXMgLSBNSU5fR09PRFBBR0VTKSA8IGN0bC5uYmFkcGFnZXMpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJVbmFibGUgdG8gc2V0IHVwIHN3YXAtc3BhY2U6IHVucmVhZGFibGUiKSk7CisKKwlzeiA9IChjdGwubnBhZ2VzIC0gY3RsLm5iYWRwYWdlcyAtIDEpICogY3RsLnBhZ2VzaXplOworCXN0cnN6ID0gc2l6ZV90b19odW1hbl9zdHJpbmcoU0laRV9TVUZGSVhfU1BBQ0UgfCBTSVpFX1NVRkZJWF8zTEVUVEVSLCBzeik7CisKKwlwcmludGYoXygiU2V0dGluZyB1cCBzd2Fwc3BhY2UgdmVyc2lvbiAlZCwgc2l6ZSA9ICVzICglIlBSSXU2NCIgYnl0ZXMpXG4iKSwKKwkJdmVyc2lvbiwgc3Ryc3osIHN6KTsKKwlmcmVlKHN0cnN6KTsKKworCXNldF9zaWduYXR1cmUoJmN0bCk7CisJc2V0X3V1aWRfYW5kX2xhYmVsKCZjdGwpOworCisJd3JpdGVfaGVhZGVyX3RvX2RldmljZSgmY3RsKTsKKworCWRlaW5pdF9zaWduYXR1cmVfcGFnZSgmY3RsKTsKKworI2lmZGVmIEhBVkVfTElCU0VMSU5VWAorCWlmIChTX0lTUkVHKGN0bC5kZXZzdGF0LnN0X21vZGUpICYmIGlzX3NlbGludXhfZW5hYmxlZCgpID4gMCkgeworCQlzZWN1cml0eV9jb250ZXh0X3QgY29udGV4dF9zdHJpbmc7CisJCXNlY3VyaXR5X2NvbnRleHRfdCBvbGRjb250ZXh0OworCQljb250ZXh0X3QgbmV3Y29udGV4dDsKKworCQlpZiAoZmdldGZpbGVjb24oY3RsLmZkLCAmb2xkY29udGV4dCkgPCAwKSB7CisJCQlpZiAoZXJybm8gIT0gRU5PREFUQSkKKwkJCQllcnIoRVhJVF9GQUlMVVJFLAorCQkJCQlfKCIlczogdW5hYmxlIHRvIG9idGFpbiBzZWxpbnV4IGZpbGUgbGFiZWwiKSwKKwkJCQkJY3RsLmRldm5hbWUpOworCQkJaWYgKG1hdGNocGF0aGNvbihjdGwuZGV2bmFtZSwgY3RsLmRldnN0YXQuc3RfbW9kZSwgJm9sZGNvbnRleHQpKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1bmFibGUgdG8gbWF0Y2hwYXRoY29uKCkiKSk7CisJCX0KKwkJaWYgKCEobmV3Y29udGV4dCA9IGNvbnRleHRfbmV3KG9sZGNvbnRleHQpKSkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1bmFibGUgdG8gY3JlYXRlIG5ldyBzZWxpbnV4IGNvbnRleHQiKSk7CisJCWlmIChjb250ZXh0X3R5cGVfc2V0KG5ld2NvbnRleHQsIFNFTElOVVhfU1dBUEZJTEVfVFlQRSkpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiY291bGRuJ3QgY29tcHV0ZSBzZWxpbnV4IGNvbnRleHQiKSk7CisKKwkJY29udGV4dF9zdHJpbmcgPSBjb250ZXh0X3N0cihuZXdjb250ZXh0KTsKKworCQlpZiAoc3RyY21wKGNvbnRleHRfc3RyaW5nLCBvbGRjb250ZXh0KSE9MCkgeworCQkJaWYgKGZzZXRmaWxlY29uKGN0bC5mZCwgY29udGV4dF9zdHJpbmcpICYmIGVycm5vICE9IEVOT1RTVVApCisJCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygidW5hYmxlIHRvIHJlbGFiZWwgJXMgdG8gJXMiKSwKKwkJCQkJCWN0bC5kZXZuYW1lLCBjb250ZXh0X3N0cmluZyk7CisJCX0KKwkJY29udGV4dF9mcmVlKG5ld2NvbnRleHQpOworCQlmcmVlY29uKG9sZGNvbnRleHQpOworCX0KKyNlbmRpZgorCS8qCisJICogQSBzdWJzZXF1ZW50IHN3YXBvbigpIHdpbGwgZmFpbCBpZiB0aGUgc2lnbmF0dXJlCisJICogaXMgbm90IGFjdHVhbGx5IG9uIGRpc2suIChUaGlzIGlzIGEga2VybmVsIGJ1Zy4pCisJICogVGhlIGZzeW5jKCkgaW4gY2xvc2VfZmQoKSB3aWxsIHRha2UgY2FyZSBvZiB3cml0aW5nLgorCSAqLworCWlmIChjbG9zZV9mZChjdGwuZmQpICE9IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oIndyaXRlIGZhaWxlZCIpKTsKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9wYXJ0eC44IGIvZGlzay11dGlscy9wYXJ0eC44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4MzBhZmIKLS0tIC9kZXYvbnVsbAorKysgYi9kaXNrLXV0aWxzL3BhcnR4LjgKQEAgLTAsMCArMSwxOTggQEAKKy5cIiBwYXJ0eC44IC0tIG1hbiBwYWdlIGZvciBwYXJ0eAorLlwiIENvcHlyaWdodCAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorLlwiIENvcHlyaWdodCAyMDA3IFJlZCBIYXQsIEluYy4KKy5cIiBDb3B5cmlnaHQgMjAxMCBEYXZpZGxvaHIgQnVlc28gPGRhdmVAZ251Lm9yZz4KKy5cIiBNYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisuXCIKKy5USCBQQVJUWCAiOCIgIkRlY2VtYmVyIDIwMTQiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK3BhcnR4IFwtIHRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgcHJlc2VuY2UgYW5kIG51bWJlcmluZyBvZiBvbi1kaXNrIHBhcnRpdGlvbnMKKy5TSCBTWU5PUFNJUworLkIgcGFydHgKKy5SQiBbIFwtYSB8IFwtZCB8IFwtUCB8IFwtciB8IFwtcyB8IFwtdSBdCisuUkIgWyBcLXQgIiBcZkl0eXBlXGZSXSIKKy5SQiBbIFwtbiAiIFxmSU0iIDogXGZJTlxmUl0KKy5SQiBbIFwtICJdICIgXGZJZGlzaworLmJyCisuQiBwYXJ0eAorLlJCIFsgXC1hIHwgXC1kIHwgXC1QIHwgXC1yIHwgXC1zIHwgXC11IF0KKy5SQiBbIFwtdCAiIFxmSXR5cGVcZlJdIgorLklSIHBhcnRpdGlvbiAiIFsiIGRpc2sgXQorLlNIIERFU0NSSVBUSU9OCitHaXZlbiBhIGRldmljZSBvciBkaXNrLWltYWdlLAorLkIgcGFydHgKK3RyaWVzIHRvIHBhcnNlIHRoZSBwYXJ0aXRpb24gdGFibGUgYW5kIGxpc3QgaXRzIGNvbnRlbnRzLiAgSXQKK2NhbiBhbHNvIHRlbGwgdGhlIGtlcm5lbCB0byBhZGQgb3IgcmVtb3ZlIHBhcnRpdGlvbnMgZnJvbSBpdHMKK2Jvb2trZWVwaW5nLgorLlBQCitUaGUKKy5JIGRpc2sKK2FyZ3VtZW50IGlzIG9wdGlvbmFsIHdoZW4gYQorLkkgcGFydGl0aW9uCithcmd1bWVudCBpcyBwcm92aWRlZC4gIFRvIGZvcmNlIHNjYW5uaW5nIGEgcGFydGl0aW9uIGFzIGlmIGl0IHdlcmUgYSB3aG9sZSBkaXNrCisoZm9yIGV4YW1wbGUgdG8gbGlzdCBuZXN0ZWQgc3VicGFydGl0aW9ucyksIHVzZSB0aGUgYXJndW1lbnQgIlwtIiAoaHlwaGVuLW1pbnVzKS4KK0ZvciBleGFtcGxlOgorCisuUlMgNworLlRQCitwYXJ0eCBcLVwtc2hvdyBcLSAvZGV2L3NkYTMKKy5SRQorLlBQCitUaGlzIHdpbGwgc2VlIHNkYTMgYXMgYSB3aG9sZS1kaXNrIHJhdGhlciB0aGFuIGFzIGEgcGFydGl0aW9uLgorLlBQCisuQiBwYXJ0eCBpcyBub3QgYW4gZmRpc2sgcHJvZ3JhbQorXChlbiBhZGRpbmcgYW5kIHJlbW92aW5nIHBhcnRpdGlvbnMgZG9lcyBub3QgY2hhbmdlIHRoZSBkaXNrLCBpdCBqdXN0Cit0ZWxscyB0aGUga2VybmVsIGFib3V0IHRoZSBwcmVzZW5jZSBhbmQgbnVtYmVyaW5nIG9mIG9uLWRpc2sKK3BhcnRpdGlvbnMuCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1hICwgIiBcLVwtYWRkIgorQWRkIHRoZSBzcGVjaWZpZWQgcGFydGl0aW9ucywgb3IgcmVhZCB0aGUgZGlzayBhbmQgYWRkIGFsbCBwYXJ0aXRpb25zLgorLlRQCisuQlIgXC1iICwgIiBcLVwtYnl0ZXMiCitQcmludCB0aGUgU0laRSBjb2x1bW4gaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0LgorLlRQCisuQlIgXC1kICwgIiBcLVwtZGVsZXRlIgorRGVsZXRlIHRoZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgcGFydGl0aW9ucy4KKy5UUAorLkJSIFwtZyAsICIgXC1cLW5vaGVhZGluZ3MiCitEbyBub3QgcHJpbnQgYSBoZWFkZXIgbGluZSB3aXRoIFxmQlwtXC1zaG93XGZSIG9yIFxmQlwtXC1yYXdcZlIuCisuVFAKKy5CUiBcLWwgLCAiIFwtXC1saXN0IgorTGlzdCB0aGUgcGFydGl0aW9ucy4gIE5vdGUgdGhhdCBhbGwgbnVtYmVycyBhcmUgaW4gNTEyLWJ5dGUgc2VjdG9ycy4KK1RoaXMgb3V0cHV0IGZvcm1hdCBpcyBERVBSRUNBVEVEIGluIGZhdm91ciBvZgorLkJSIFwtXC1zaG93IC4KK0RvIG5vdCB1c2UgaXQgaW4gbmV3bHkgd3JpdHRlbiBzY3JpcHRzLgorLlRQCisuQlIgXC1uICwgIiBcLVwtbnIgIiBcZklNIDogXGZJTgorU3BlY2lmeSB0aGUgcmFuZ2Ugb2YgcGFydGl0aW9ucy4gIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGFsc28gdGhlCitmb3JtYXQgXGZJTVxmQlwtXGZJTlxmUiBpcyBzdXBwb3J0ZWQuCitUaGUgcmFuZ2UgbWF5IGNvbnRhaW4gbmVnYXRpdmUgbnVtYmVycywgZm9yIGV4YW1wbGUKKy5CIFwtXC1uciAtXDE6XC0xCittZWFucyB0aGUgbGFzdCBwYXJ0aXRpb24sIGFuZAorLkIgXC1cLW5yIFwtMjpcLTEKK21lYW5zIHRoZSBsYXN0IHR3byBwYXJ0aXRpb25zLiAgU3VwcG9ydGVkIHJhbmdlIHNwZWNpZmljYXRpb25zIGFyZToKKy5SUyAxNAorLlRQCisuSSBNCitTcGVjaWZpZXMganVzdCBvbmUgcGFydGl0aW9uIChlLmcuXCYgXGZCXC1cLW5yIDNcZlIpLgorLlRQCisuSUIgTSA6CitTcGVjaWZpZXMgdGhlIGxvd2VyIGxpbWl0IG9ubHkgKGUuZy5cJiBcZkJcLVwtbnIgMjpcZlIpLgorLlRQCisuQkkgOiBOCitTcGVjaWZpZXMgdGhlIHVwcGVyIGxpbWl0IG9ubHkgKGUuZy5cJiBcZkJcLVwtbnIgOjRcZlIpLgorLlRQCisuSUIgTSA6IE4KK1NwZWNpZmllcyB0aGUgbG93ZXIgYW5kIHVwcGVyIGxpbWl0cyAoZS5nLlwmIFxmQlwtXC1uciAyOjRcZlIpLgorLlJFCisuVFAKKy5CUiBcLW8gLCAiIFwtXC1vdXRwdXQgIiBcZklsaXN0CitEZWZpbmUgdGhlIG91dHB1dCBjb2x1bW5zIHRvIHVzZSBmb3IKKy5CUiBcLVwtc2hvdyAsCisuQiBcLVwtcGFpcnMKK2FuZAorLkIgXC1cLXJhdworb3V0cHV0LiAgSWYgbm8gb3V0cHV0IGFycmFuZ2VtZW50IGlzIHNwZWNpZmllZCwgdGhlbiBhIGRlZmF1bHQgc2V0IGlzCit1c2VkLiAgVXNlCisuQiBcLVwtaGVscAordG8gZ2V0CisuSSBsaXN0CitvZiBhbGwgc3VwcG9ydGVkIGNvbHVtbnMuICBUaGlzIG9wdGlvbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCB0aGUKKy5CUiBcLVwtYWRkICwKKy5CUiBcLVwtZGVsZXRlICwKKy5CUiBcLVwtdXBkYXRlCitvcgorLkIgXC1cLWxpc3QKK29wdGlvbnMuCisuVFAKKy5CUiBcLVAgLCAiIFwtXC1wYWlycyIKK0xpc3QgdGhlIHBhcnRpdGlvbnMgdXNpbmcgdGhlIEtFWT0idmFsdWUiIGZvcm1hdC4KKy5UUAorLkJSIFwtciAsICIgXC1cLXJhdyIKK0xpc3QgdGhlIHBhcnRpdGlvbnMgdXNpbmcgdGhlIHJhdyBvdXRwdXQgZm9ybWF0LgorLlRQCisuQlIgXC1zICwgIiBcLVwtc2hvdyIKK0xpc3QgdGhlIHBhcnRpdGlvbnMuCitUaGUgb3V0cHV0IGNvbHVtbnMgY2FuIGJlIHNlbGVjdGVkIGFuZCByZWFycmFuZ2VkIHdpdGggdGhlCitcZkJcLVwtb3V0cHV0XGZSIG9wdGlvbi4KK0FsbCBudW1iZXJzIChleGNlcHQgU0laRSkgYXJlIGluIDUxMi1ieXRlIHNlY3RvcnMuCisuVFAKKy5CUiBcLXQgLCAiIFwtXC10eXBlICIgXGZJdHlwZQorU3BlY2lmeSB0aGUgcGFydGl0aW9uIHRhYmxlIHR5cGUsIHdoaWNoIGNhbiBiZSBvbmUgb2YKKy5CUiBhaXggLAorLkJSIGJzZCAsCisuQlIgZG9zICwKKy5CUiBncHQgLAorLkJSIG1hYyAsCisuQlIgbWluaXggLAorLkJSIHNnaSAsCisuQlIgc29sYXJpc194ODYgLAorLkJSIHN1biAsCisuQlIgdWx0cml4ICwKK29yCisuQlIgdW5peHdhcmUgLgorLlRQCisuQlIgXC11ICwgIiBcLVwtdXBkYXRlIgorVXBkYXRlIHRoZSBzcGVjaWZpZWQgcGFydGl0aW9ucy4KKy5UUAorLkJSIFwtdiAsICIgXC1cLXZlcmJvc2UiCitWZXJib3NlIG1vZGUuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIIEVYQU1QTEVTCisuVFAKK3BhcnR4IFwtXC1zaG93IC9kZXYvc2RiMworLlRRCitwYXJ0eCBcLVwtc2hvdyBcLVwtbnIgMyAvZGV2L3NkYgorLlRRCitwYXJ0eCBcLVwtc2hvdyAvZGV2L3NkYjMgL2Rldi9zZGIKK0FsbCB0aHJlZSBjb21tYW5kcyBsaXN0IHBhcnRpdGlvbiAzIG9mIC9kZXYvc2RiLgorLlRQCitwYXJ0eCBcLVwtc2hvdyBcLSAvZGV2L3NkYjMKK0xpc3RzIGFsbCBzdWJwYXJ0aXRpb25zIG9uIC9kZXYvc2RiMyAodGhlIGRldmljZSBpcyB1c2VkIGFzCit3aG9sZS1kaXNrKS4KKy5UUAorcGFydHggXC1vIFNUQVJUIFwtZyBcLVwtbnIgNSAvZGV2L3NkYgorUHJpbnRzIHRoZSBzdGFydCBzZWN0b3Igb2YgcGFydGl0aW9uIDUgb24gL2Rldi9zZGIgd2l0aG91dCBoZWFkZXIuCisuVFAKK3BhcnR4IFwtbyBTRUNUT1JTLFNJWkUgL2Rldi9zZGE1IC9kZXYvc2RhCitMaXN0cyB0aGUgbGVuZ3RoIGluIHNlY3RvcnMgYW5kIGh1bWFuLXJlYWRhYmxlIHNpemUgb2YgcGFydGl0aW9uIDUgb24KKy9kZXYvc2RhLgorLlRQCitwYXJ0eCBcLVwtYWRkIFwtXC1uciAzOjUgL2Rldi9zZGQKK0FkZHMgYWxsIGF2YWlsYWJsZSBwYXJ0aXRpb25zIGZyb20gMyB0byA1IChpbmNsdXNpdmUpIG9uIC9kZXYvc2RkLgorLlRQCitwYXJ0eCBcLWQgXC1cLW5yIDpcLTEgL2Rldi9zZGQKK1JlbW92ZXMgdGhlIGxhc3QgcGFydGl0aW9uIG9uIC9kZXYvc2RkLgorLlNIIFNFRSBBTFNPCisuQlIgYWRkcGFydCAoOCksCisuQlIgZGVscGFydCAoOCksCisuQlIgZmRpc2sgKDgpLAorLkJSIHBhcnRlZCAoOCksCisuQlIgcGFydHByb2JlICg4KQorLlNIIEFVVEhPUlMKKy5NVCBkYXZlQGdudS5vcmcKK0RhdmlkbG9ociBCdWVzbworLk1FCisuYnIKKy5NVCBremFrQHJlZGhhdC5jb20KK0thcmVsIFphaworLk1FCisuUFAKK1RoZSBvcmlnaW5hbCB2ZXJzaW9uIHdhcyB3cml0dGVuIGJ5CisuTVQgYWViQGN3aS5ubAorQW5kcmllcyBFLlwmIEJyb3V3ZXIKKy5NRSAuCisuU0ggRU5WSVJPTk1FTlQKKy5JUCBMSUJCTEtJRF9ERUJVRz1hbGwKK2VuYWJsZXMgbGliYmxraWQgZGVidWcgb3V0cHV0LgorLlNIIEFWQUlMQUJJTElUWQorVGhlIHBhcnR4IGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGZ0cDovL1w6ZnRwLmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9wYXJ0eC5jIGIvZGlzay11dGlscy9wYXJ0eC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmZjE2MGYKLS0tIC9kZXYvbnVsbAorKysgYi9kaXNrLXV0aWxzL3BhcnR4LmMKQEAgLTAsMCArMSwxMDM4IEBACisvKgorICogcGFydHg6IHRlbGwgdGhlIGtlcm5lbCBhYm91dCB5b3VyIGRpc2sncyBwYXJ0aXRpb25zCisgKiBbVGhpcyBpcyBub3QgYW4gZmRpc2sgLSBhZGRpbmcgYW5kIHJlbW92aW5nIHBhcnRpdGlvbnMKKyAqIGlzIG5vdCBhIGNoYW5nZSBvZiB0aGUgZGlzaywgYnV0IGp1c3QgdGVsbGluZyB0aGUga2VybmVsCisgKiBhYm91dCBwcmVzZW5jZSBhbmQgbnVtYmVyaW5nIG9mIG9uLWRpc2sgcGFydGl0aW9ucy5dCisgKgorICogYWViLCAyMDAwLTAzLTIxIC0tIHNhaCBpcyA0MiBub3cKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgRGF2aWRsb2hyIEJ1ZXNvIDxkYXZlQGdudS5vcmc+CisgKiAgICAgIFJld3JpdHRlbiB0byB1c2UgbGliYmxraWQgZm9yIHV0aWwtbGludXgKKyAqICAgICAgYmFzZWQgb24gaWRlYXMgZnJvbSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisjaW5jbHVkZSA8ZGlyZW50Lmg+CisKKyNpbmNsdWRlIDxibGtpZC5oPgorI2luY2x1ZGUgPGxpYnNtYXJ0Y29scy5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgImJsa2Rldi5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAicGFydHguaCIKKyNpbmNsdWRlICJzeXNmcy5oIgorI2luY2x1ZGUgImxvb3BkZXYuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgIm9wdHV0aWxzLmgiCisKKy8qIHRoaXMgaXMgdGhlIGRlZmF1bHQgdXBwZXIgbGltaXQsIGNvdWxkIGJlIG1vZGlmaWVkIGJ5IC0tbnIgKi8KKyNkZWZpbmUgU0xJQ0VTX01BWAkyNTYKKworLyogYmFzaWMgdGFibGUgc2V0dGluZ3MgKi8KK2VudW0geworCVBBUlRYX1JBVyA9CQkoMSA8PCAwKSwKKwlQQVJUWF9OT0hFQURJTkdTID0JKDEgPDwgMSksCisJUEFSVFhfRVhQT1JUID0JCSgxIDw8IDIpLAorfTsKKworLyogYWxsIHRoZSBjb2x1bW5zICgtbyBvcHRpb24pICovCitlbnVtIHsKKwlDT0xfUEFSVE5PLAorCUNPTF9TVEFSVCwKKwlDT0xfRU5ELAorCUNPTF9TRUNUT1JTLAorCUNPTF9TSVpFLAorCUNPTF9OQU1FLAorCUNPTF9VVUlELAorCUNPTF9UWVBFLAorCUNPTF9GTEFHUywKKwlDT0xfU0NIRU1FLAorfTsKKworI2RlZmluZSBBQ1RfRVJST1IgIi0te2FkZCxkZWxldGUsc2hvdyxsaXN0LHJhdyxwYWlyc30iCitlbnVtIHsKKwlBQ1RfTk9ORSwKKwlBQ1RfTElTVCwKKwlBQ1RfU0hPVywKKwlBQ1RfQURELAorCUFDVF9VUEQsCisJQUNUX0RFTEVURQorfTsKKworZW51bSB7CisJRkxfQllURVMgPSAoMSA8PCAxKQorfTsKKworLyogY29sdW1uIG5hbWVzICovCitzdHJ1Y3QgY29saW5mbyB7CisJY29uc3QgY2hhcgkqbmFtZTsJLyogaGVhZGVyICovCisJZG91YmxlCQl3aGludDsJLyogd2lkdGggaGludCAoTiA8IDEgaXMgaW4gcGVyY2VudCBvZiB0ZXJtd2lkdGgpICovCisJaW50CQlmbGFnczsJLyogU0NPTFNfRkxfKiAqLworCWNvbnN0IGNoYXIgICAgICAqaGVscDsKK307CisKKy8qIGNvbHVtbnMgZGVzY3JpcHRpb25zICovCitzdHJ1Y3QgY29saW5mbyBpbmZvc1tdID0geworCVtDT0xfUEFSVE5PXSAgID0geyAiTlIiLCAgICAwLjI1LCBTQ09MU19GTF9SSUdIVCwgTl8oInBhcnRpdGlvbiBudW1iZXIiKSB9LAorCVtDT0xfU1RBUlRdICAgID0geyAiU1RBUlQiLCAgIDAuMzAsIFNDT0xTX0ZMX1JJR0hULCBOXygic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIikgfSwKKwlbQ09MX0VORF0gICAgICA9IHsgIkVORCIsICAgICAwLjMwLCBTQ09MU19GTF9SSUdIVCwgTl8oImVuZCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiKSB9LAorCVtDT0xfU0VDVE9SU10gID0geyAiU0VDVE9SUyIsIDAuMzAsIFNDT0xTX0ZMX1JJR0hULCBOXygibnVtYmVyIG9mIHNlY3RvcnMiKSB9LAorCVtDT0xfU0laRV0gICAgID0geyAiU0laRSIsICAgIDAuMzAsIFNDT0xTX0ZMX1JJR0hULCBOXygiaHVtYW4gcmVhZGFibGUgc2l6ZSIpIH0sCisJW0NPTF9OQU1FXSAgICAgPSB7ICJOQU1FIiwgICAgMC4zMCwgU0NPTFNfRkxfVFJVTkMsIE5fKCJwYXJ0aXRpb24gbmFtZSIpIH0sCisJW0NPTF9VVUlEXSAgICAgPSB7ICJVVUlEIiwgICAgMzYsIDAsIE5fKCJwYXJ0aXRpb24gVVVJRCIpfSwKKwlbQ09MX1NDSEVNRV0gICA9IHsgIlNDSEVNRSIsICAwLjEsIFNDT0xTX0ZMX1RSVU5DLCBOXygicGFydGl0aW9uIHRhYmxlIHR5cGUgKGRvcywgZ3B0LCAuLi4pIil9LAorCVtDT0xfRkxBR1NdICAgID0geyAiRkxBR1MiLCAgIDAuMSwgU0NPTFNfRkxfVFJVTkMsIE5fKCJwYXJ0aXRpb24gZmxhZ3MiKX0sCisJW0NPTF9UWVBFXSAgICAgPSB7ICJUWVBFIiwgICAgMSwgU0NPTFNfRkxfUklHSFQsIE5fKCJwYXJ0aXRpb24gdHlwZSAoYSBzdHJpbmcsIGEgVVVJRCwgb3IgaGV4KSIpfSwKK307CisKKyNkZWZpbmUgTkNPTFMgQVJSQVlfU0laRShpbmZvcykKKworLyogYXJyYXkgd2l0aCBJRHMgb2YgZW5hYmxlZCBjb2x1bW5zICovCitzdGF0aWMgaW50IGNvbHVtbnNbTkNPTFNdOworc2l6ZV90IG5jb2x1bW5zOworCitzdGF0aWMgaW50IHZlcmJvc2U7CitzdGF0aWMgaW50IHBhcnR4X2ZsYWdzOworc3RhdGljIHN0cnVjdCBsb29wZGV2X2N4dCBsYzsKK3N0YXRpYyBpbnQgbG9vcGRldjsKKworc3RhdGljIHZvaWQgYXNzb2NfbG9vcGRldihjb25zdCBjaGFyICpmbmFtZSkKK3sKKwlpbnQgcmM7CisKKwlpZiAobG9vcGN4dF9pbml0KCZsYywgMCkpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BjeHQiKSk7CisKKwlyYyA9IGxvb3BjeHRfZmluZF91bnVzZWQoJmxjKTsKKwlpZiAocmMpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oIiVzOiBmYWlsZWQgdG8gZmluZCB1bnVzZWQgbG9vcCBkZXZpY2UiKSwKKwkJICAgIGZuYW1lKTsKKworCWlmICh2ZXJib3NlKQorCQlwcmludGYoXygiVHJ5aW5nIHRvIHVzZSAnJXMnIGZvciB0aGUgbG9vcCBkZXZpY2VcbiIpLAorCQkgICAgICAgbG9vcGN4dF9nZXRfZGV2aWNlKCZsYykpOworCisJaWYgKGxvb3BjeHRfc2V0X2JhY2tpbmdfZmlsZSgmbGMsIGZuYW1lKSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiJXM6IGZhaWxlZCB0byBzZXQgYmFja2luZyBmaWxlIiksIGZuYW1lKTsKKworCXJjID0gbG9vcGN4dF9zZXR1cF9kZXZpY2UoJmxjKTsKKworCWlmIChyYyA9PSAtRUJVU1kpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlIiksIGZuYW1lKTsKKworCWxvb3BkZXYgPSAxOworfQorCitzdGF0aWMgaW5saW5lIGludCBnZXRfY29sdW1uX2lkKGludCBudW0pCit7CisJYXNzZXJ0KEFSUkFZX1NJWkUoY29sdW1ucykgPT0gTkNPTFMpOworCWFzc2VydCgoc2l6ZV90KW51bSA8IG5jb2x1bW5zKTsKKwlhc3NlcnQoY29sdW1uc1tudW1dIDwgKGludCkgTkNPTFMpOworCXJldHVybiBjb2x1bW5zW251bV07Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGNvbGluZm8gKmdldF9jb2x1bW5faW5mbyhpbnQgbnVtKQoreworCXJldHVybiAmaW5mb3NbIGdldF9jb2x1bW5faWQobnVtKSBdOworfQorCitzdGF0aWMgaW50IGNvbHVtbl9uYW1lX3RvX2lkKGNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBuYW1lc3opCit7CisJc2l6ZV90IGk7CisKKwlhc3NlcnQobmFtZSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgTkNPTFM7IGkrKykgeworCQljb25zdCBjaGFyICpjbiA9IGluZm9zW2ldLm5hbWU7CisKKwkJaWYgKCFzdHJuY2FzZWNtcChuYW1lLCBjbiwgbmFtZXN6KSAmJiAhKihjbiArIG5hbWVzeikpCisJCQlyZXR1cm4gaTsKKwl9CisJd2FybngoXygidW5rbm93biBjb2x1bW46ICVzIiksIG5hbWUpOworCXJldHVybiAtMTsKK30KKworLyoKKyAqIEdpdmVuIGEgcGFydGl0aW9uIHJldHVybiB0aGUgY29ycmVzcG9uZGluZyBwYXJ0aXRpb24gbnVtYmVyLgorICoKKyAqIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIHRyaWVzIHRvIHVzZSBzeXNmcywgb3RoZXJ3aXNlIGl0IGFzc3VtZXMgdGhhdCB0aGUKKyAqIGxhc3QgY2hhcmFjdGVycyBhcmUgYWx3YXlzIG51bWVyaWMgKHNkYTEsIHNkYzIwLCBldGMpLgorICovCitzdGF0aWMgaW50IGdldF9wYXJ0bm9fZnJvbV9kZXZpY2UoY2hhciAqcGFydGl0aW9uLCBkZXZfdCBkZXZubykKK3sKKwlpbnQgcGFydG5vID0gMDsKKwlzaXplX3Qgc3o7CisJY2hhciAqcCwgKmVuZCA9IE5VTEw7CisKKwlhc3NlcnQocGFydGl0aW9uKTsKKworCWlmIChkZXZubykgeworCQlzdHJ1Y3Qgc3lzZnNfY3h0IGN4dDsKKwkJaW50IHJjOworCisJCWlmIChzeXNmc19pbml0KCZjeHQsIGRldm5vLCBOVUxMKSkKKwkJCWdvdG8gZXJyOworCisJCXJjID0gc3lzZnNfcmVhZF9pbnQoJmN4dCwgInBhcnRpdGlvbiIsICZwYXJ0bm8pOworCQlzeXNmc19kZWluaXQoJmN4dCk7CisKKwkJaWYgKHJjID09IDApCisJCQlyZXR1cm4gcGFydG5vOworCX0KKworCXN6ID0gc3RybGVuKHBhcnRpdGlvbik7CisJcCA9IHBhcnRpdGlvbiArIHN6IC0gMTsKKworCWlmICghaXNkaWdpdCgodW5zaWduZWQgY2hhcikgKnApKQorCQlnb3RvIGVycjsKKworCXdoaWxlIChpc2RpZ2l0KCh1bnNpZ25lZCBjaGFyKSAqKHAgLSAxKSkpIHAtLTsKKworCWVycm5vID0gMDsKKwlwYXJ0bm8gPSBzdHJ0b2wocCwgJmVuZCwgMTApOworCWlmIChlcnJubyB8fCAhZW5kIHx8ICplbmQgfHwgcCA9PSBlbmQpCisJCWdvdG8gZXJyOworCisJcmV0dXJuIHBhcnRubzsKK2VycjoKKwllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXM6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG51bWJlciIpLCBwYXJ0aXRpb24pOworfQorCitzdGF0aWMgaW50IGdldF9tYXhfcGFydG5vKGNvbnN0IGNoYXIgKmRpc2ssIGRldl90IGRldm5vKQoreworCWNoYXIgcGF0aFtQQVRIX01BWF0sICpwYXJlbnQsICpkaXJuYW1lID0gTlVMTDsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwlESVIgKmRpcjsKKwlzdHJ1Y3QgZGlyZW50ICpkOworCWludCBwYXJ0bm8gPSAwOworCisJaWYgKCFkZXZubyAmJiAhc3RhdChkaXNrLCAmc3QpKQorCQlkZXZubyA9IHN0LnN0X3JkZXY7CisJaWYgKCFkZXZubykKKwkJZ290byBkZmx0OworCXBhcmVudCA9IHN0cnJjaHIoZGlzaywgJy8nKTsKKwlpZiAoIXBhcmVudCkKKwkJZ290byBkZmx0OworCXBhcmVudCsrOworCisJc25wcmludGYocGF0aCwgc2l6ZW9mKHBhdGgpLCBfUEFUSF9TWVNfREVWQkxPQ0sgIi8lZDolZC8iLAorCQkJbWFqb3IoZGV2bm8pLCBtaW5vcihkZXZubykpOworCisJZGlyID0gb3BlbmRpcihwYXRoKTsKKwlpZiAoIWRpcikKKwkJZ290byBkZmx0OworCisJZGlybmFtZSA9IHhzdHJkdXAocGF0aCk7CisKKwl3aGlsZSAoKGQgPSByZWFkZGlyKGRpcikpKSB7CisJCWludCBmZDsKKworCQlpZiAoIXN0cmNtcChkLT5kX25hbWUsICIuIikgfHwKKwkJICAgICFzdHJjbXAoZC0+ZF9uYW1lLCAiLi4iKSkKKwkJCWNvbnRpbnVlOworI2lmZGVmIF9ESVJFTlRfSEFWRV9EX1RZUEUKKwkJaWYgKGQtPmRfdHlwZSAhPSBEVF9ESVIgJiYgZC0+ZF90eXBlICE9IERUX1VOS05PV04pCisJCQljb250aW51ZTsKKyNlbmRpZgorCQlpZiAoc3RybmNtcChwYXJlbnQsIGQtPmRfbmFtZSwgc3RybGVuKHBhcmVudCkpKQorCQkJY29udGludWU7CisJCXNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwgIiVzL3BhcnRpdGlvbiIsIGQtPmRfbmFtZSk7CisKKwkJZmQgPSBvcGVuYXQoZGlyZmQoZGlyKSwgcGF0aCwgT19SRE9OTFkpOworCQlpZiAoZmQpIHsKKwkJCWludCB4ID0gMDsKKwkJCUZJTEUgKmYgPSBmZG9wZW4oZmQsICJyIik7CisJCQlpZiAoZikgeworCQkJCWlmIChmc2NhbmYoZiwgIiVkIiwgJngpID09IDEgJiYgeCA+IHBhcnRubykKKwkJCQkJcGFydG5vID0geDsKKwkJCQlmY2xvc2UoZik7CisJCQl9CisJCX0KKwl9CisKKwlmcmVlKGRpcm5hbWUpOworCWNsb3NlZGlyKGRpcik7CisJcmV0dXJuIHBhcnRubzsKK2RmbHQ6CisJcmV0dXJuIFNMSUNFU19NQVg7Cit9CisKK3N0YXRpYyBpbnQgcmVjb3VudF9yYW5nZV9ieV9wdChibGtpZF9wYXJ0bGlzdCBscywgaW50ICpsb3dlciwgaW50ICp1cHBlcikKK3sKKwlpbnQgbiA9IDAsIGksIG5wYXJ0cyA9IGJsa2lkX3BhcnRsaXN0X251bW9mX3BhcnRpdGlvbnMobHMpOworCisJZm9yIChpID0gMDsgaSA8IG5wYXJ0czsgaSsrKSB7CisJCWJsa2lkX3BhcnRpdGlvbiBwYXIgPSBibGtpZF9wYXJ0bGlzdF9nZXRfcGFydGl0aW9uKGxzLCBpKTsKKwkJaW50IHBhcnRubyA9IGJsa2lkX3BhcnRpdGlvbl9nZXRfcGFydG5vKHBhcik7CisJCW4gPSBtYXgocGFydG5vLCBuKTsKKwl9CisKKwlpZiAoKmxvd2VyIDwgMCkKKwkJKmxvd2VyID0gbiArICpsb3dlciArIDE7CisJaWYgKCp1cHBlciA8IDApCisJCSp1cHBlciA9IG4gKyAqdXBwZXIgKyAxOworCisJaWYgKCpsb3dlciA+ICp1cHBlciAmJiAqdXBwZXIgIT0gMCkgeworCQl3YXJueChfKCJzcGVjaWZpZWQgcmFuZ2UgPCVkOiVkPiBkb2VzIG5vdCBtYWtlIHNlbnNlIiksICpsb3dlciwgKnVwcGVyKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCWlmICh2ZXJib3NlKQorCQlwcmludGYoXygicmFuZ2UgcmVjb3VudDogbWF4IHBhcnRubz0lZCwgbG93ZXI9JWQsIHVwcGVyPSVkXG4iKSwgbiwgKmxvd2VyLCAqdXBwZXIpOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBkZWxfcGFydHNfd2FybngoY29uc3QgY2hhciAqZGV2aWNlLCBpbnQgZmlyc3QsIGludCBsYXN0KQoreworCWlmIChmaXJzdCA9PSBsYXN0KQorCQl3YXJueChfKCIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9uICVkIiksIGRldmljZSwgZmlyc3QpOworCWVsc2UKKwkJd2FybngoXygiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbnMgJWQtJWQiKSwKKwkJCQlkZXZpY2UsIGZpcnN0LCBsYXN0KTsKK30KKworc3RhdGljIGludCBkZWxfcGFydHMoaW50IGZkLCBjb25zdCBjaGFyICpkZXZpY2UsIGRldl90IGRldm5vLAorCQkgICAgIGludCBsb3dlciwgaW50IHVwcGVyKQoreworCWludCByYyA9IDAsIGksIGVycmZpcnN0ID0gMCwgZXJybGFzdCA9IDA7CisKKwlhc3NlcnQoZmQgPj0gMCk7CisJYXNzZXJ0KGRldmljZSk7CisKKwkvKiByZWNvdW50IHJhbmdlIGJ5IGluZm9ybWF0aW9uIGluIC9zeXMgKi8KKwlpZiAoIWxvd2VyKQorCQlsb3dlciA9IDE7CisJaWYgKCF1cHBlciB8fCBsb3dlciA8IDAgfHwgdXBwZXIgPCAwKSB7CisJCWludCBuID0gZ2V0X21heF9wYXJ0bm8oZGV2aWNlLCBkZXZubyk7CisJCWlmICghdXBwZXIpCisJCQl1cHBlciA9IG47CisJCWVsc2UgaWYgKHVwcGVyIDwgMCkKKwkJCXVwcGVyID0gbiArIHVwcGVyICsgMTsKKwkJaWYgKGxvd2VyIDwgMCkKKwkJCWxvd2VyID0gbiArIGxvd2VyICsgMTsKKwl9CisJaWYgKGxvd2VyID4gdXBwZXIpIHsKKwkJd2FybngoXygic3BlY2lmaWVkIHJhbmdlIDwlZDolZD4gIgorCQkJImRvZXMgbm90IG1ha2Ugc2Vuc2UiKSwgbG93ZXIsIHVwcGVyKTsKKwkJcmV0dXJuIC0xOworCX0KKworCWZvciAoaSA9IGxvd2VyOyBpIDw9IHVwcGVyOyBpKyspIHsKKwkJcmMgPSBwYXJ0eF9kZWxfcGFydGl0aW9uKGZkLCBpKTsKKwkJaWYgKHJjID09IDApIHsKKwkJCWlmICh2ZXJib3NlKQorCQkJCXByaW50ZihfKCIlczogcGFydGl0aW9uICMlZCByZW1vdmVkXG4iKSwgZGV2aWNlLCBpKTsKKwkJCWNvbnRpbnVlOworCQl9IGVsc2UgaWYgKGVycm5vID09IEVOWElPKSB7CisJCQlpZiAodmVyYm9zZSkKKwkJCQlwcmludGYoXygiJXM6IHBhcnRpdGlvbiAjJWQgZG9lc24ndCBleGlzdFxuIiksIGRldmljZSwgaSk7CisJCQljb250aW51ZTsKKwkJfQorCQlyYyA9IC0xOworCQlpZiAodmVyYm9zZSkKKwkJCXdhcm4oXygiJXM6IGRlbGV0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIiksIGRldmljZSwgaSk7CisJCWlmICghZXJyZmlyc3QpCisJCQllcnJsYXN0ID0gZXJyZmlyc3QgPSBpOworCQllbHNlIGlmIChlcnJsYXN0ICsgMSA9PSBpKQorCQkJZXJybGFzdCsrOworCQllbHNlIHsKKwkJCWRlbF9wYXJ0c193YXJueChkZXZpY2UsIGVycmZpcnN0LCBlcnJsYXN0KTsKKwkJCWVycmxhc3QgPSBlcnJmaXJzdCA9IGk7CisJCX0KKwl9CisKKwlpZiAoZXJyZmlyc3QpCisJCWRlbF9wYXJ0c193YXJueChkZXZpY2UsIGVycmZpcnN0LCBlcnJsYXN0KTsKKwlyZXR1cm4gcmM7Cit9CisKKworc3RhdGljIHZvaWQgYWRkX3BhcnRzX3dhcm54KGNvbnN0IGNoYXIgKmRldmljZSwgaW50IGZpcnN0LCBpbnQgbGFzdCkKK3sKKwlpZiAoZmlyc3QgPT0gbGFzdCkKKwkJd2FybngoXygiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb24gJWQiKSwgZGV2aWNlLCBmaXJzdCk7CisJZWxzZQorCQl3YXJueChfKCIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbnMgJWQtJWQiKSwKKwkJCQlkZXZpY2UsIGZpcnN0LCBsYXN0KTsKK30KKworc3RhdGljIGludCBhZGRfcGFydHMoaW50IGZkLCBjb25zdCBjaGFyICpkZXZpY2UsCisJCSAgICAgYmxraWRfcGFydGxpc3QgbHMsIGludCBsb3dlciwgaW50IHVwcGVyKQoreworCWludCBpLCBucGFydHMsIHJjLCBlcnJmaXJzdCA9IDAsIGVycmxhc3QgPSAwOworCisJYXNzZXJ0KGZkID49IDApOworCWFzc2VydChkZXZpY2UpOworCWFzc2VydChscyk7CisKKwlyYyA9IHJlY291bnRfcmFuZ2VfYnlfcHQobHMsICZsb3dlciwgJnVwcGVyKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCW5wYXJ0cyA9IGJsa2lkX3BhcnRsaXN0X251bW9mX3BhcnRpdGlvbnMobHMpOworCisJZm9yIChpID0gMDsgaSA8IG5wYXJ0czsgaSsrKSB7CisJCWJsa2lkX3BhcnRpdGlvbiBwYXIgPSBibGtpZF9wYXJ0bGlzdF9nZXRfcGFydGl0aW9uKGxzLCBpKTsKKwkJaW50IG4gPSBibGtpZF9wYXJ0aXRpb25fZ2V0X3BhcnRubyhwYXIpOworCQl1aW50bWF4X3Qgc3RhcnQsIHNpemU7CisKKwkJaWYgKGxvd2VyICYmIG4gPCBsb3dlcikKKwkJCWNvbnRpbnVlOworCQlpZiAodXBwZXIgJiYgbiA+IHVwcGVyKQorCQkJY29udGludWU7CisKKwkJc3RhcnQgPSBibGtpZF9wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBhcik7CisJCXNpemUgPSAgYmxraWRfcGFydGl0aW9uX2dldF9zaXplKHBhcik7CisKKwkJaWYgKGJsa2lkX3BhcnRpdGlvbl9pc19leHRlbmRlZChwYXIpKQorCQkJLyoKKwkJCSAqIExldCdzIGZvbGxvdyB0aGUgTGludXgga2VybmVsIGFuZCByZWR1Y2UKKwkJCSAqIERPUyBleHRlbmRlZCBwYXJ0aXRpb24gdG8gMSBvciAyIHNlY3RvcnMuCisJCQkgKi8KKwkJCXNpemUgPSBtaW4oc2l6ZSwgKHVpbnRtYXhfdCkgMik7CisKKwkJaWYgKHBhcnR4X2FkZF9wYXJ0aXRpb24oZmQsIG4sIHN0YXJ0LCBzaXplKSA9PSAwKSB7CisJCQlpZiAodmVyYm9zZSkKKwkJCQlwcmludGYoXygiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIpLCBkZXZpY2UsIG4pOworCQkJY29udGludWU7CisJCX0KKwkJcmMgPSAtMTsKKwkJaWYgKHZlcmJvc2UpCisJCQl3YXJuKF8oIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiKSwgZGV2aWNlLCBuKTsKKwkJaWYgKCFlcnJmaXJzdCkKKwkJCWVycmxhc3QgPSBlcnJmaXJzdCA9IG47CisJCWVsc2UgaWYgKGVycmxhc3QgKyAxID09IG4pCisJCQllcnJsYXN0Kys7CisJCWVsc2UgeworCQkJYWRkX3BhcnRzX3dhcm54KGRldmljZSwgZXJyZmlyc3QsIGVycmxhc3QpOworCQkJZXJybGFzdCA9IGVycmZpcnN0ID0gbjsKKwkJfQorCX0KKworCWlmIChlcnJmaXJzdCkKKwkJYWRkX3BhcnRzX3dhcm54KGRldmljZSwgZXJyZmlyc3QsIGVycmxhc3QpOworCisJLyoKKwkgKiBUaGUga2VybmVsIHdpdGggZW5hYmxlZCBwYXJ0aXRpb25zIHNjYW5uZXIgZm9yIGxvb3AgZGV2aWNlcyBhZGQgKmFsbCoKKwkgKiBwYXJ0aXRpb25zLCBzbyB3ZSBzaG91bGQgZGVsZXRlIGFueSBleHRyYSwgdW53YW50ZWQgb25lcywgd2hlbiB0aGUgLW4KKwkgKiBvcHRpb24gaXMgcGFzc2VkLgorCSAqLworCWlmIChsb29wZGV2ICYmIGxvb3BjeHRfaXNfcGFydHNjYW4oJmxjKSAmJiAobG93ZXIgfHwgdXBwZXIpKSB7CisJCWZvciAoaSA9IDA7IGkgPCBucGFydHM7IGkrKykgeworCQkJYmxraWRfcGFydGl0aW9uIHBhciA9IGJsa2lkX3BhcnRsaXN0X2dldF9wYXJ0aXRpb24obHMsIGkpOworCQkJaW50IG4gPSBibGtpZF9wYXJ0aXRpb25fZ2V0X3BhcnRubyhwYXIpOworCisJCQlpZiAobiA8IGxvd2VyIHx8IG4gPiB1cHBlcikKKwkJCQlwYXJ0eF9kZWxfcGFydGl0aW9uKGZkLCBuKTsKKwkJfQorCX0KKworCXJldHVybiByYzsKK30KKworc3RhdGljIHZvaWQgdXBkX3BhcnRzX3dhcm54KGNvbnN0IGNoYXIgKmRldmljZSwgaW50IGZpcnN0LCBpbnQgbGFzdCkKK3sKKwlpZiAoZmlyc3QgPT0gbGFzdCkKKwkJd2FybngoXygiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbiAlZCIpLCBkZXZpY2UsIGZpcnN0KTsKKwllbHNlCisJCXdhcm54KF8oIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb25zICVkLSVkIiksCisJCQkJZGV2aWNlLCBmaXJzdCwgbGFzdCk7Cit9CisKK3N0YXRpYyBpbnQgdXBkX3BhcnRzKGludCBmZCwgY29uc3QgY2hhciAqZGV2aWNlLCBkZXZfdCBkZXZubywKKwkJICAgICBibGtpZF9wYXJ0bGlzdCBscywgaW50IGxvd2VyLCBpbnQgdXBwZXIpCit7CisJaW50IG4sIG5wYXJ0cywgcmMgPSAwLCBlcnJmaXJzdCA9IDAsIGVycmxhc3QgPSAwLCBlcnI7CisJYmxraWRfcGFydGl0aW9uIHBhcjsKKwl1aW50bWF4X3Qgc3RhcnQsIHNpemU7CisKKwlhc3NlcnQoZmQgPj0gMCk7CisJYXNzZXJ0KGRldmljZSk7CisJYXNzZXJ0KGxzKTsKKworCS8qIHJlY291bnQgcmFuZ2UgYnkgaW5mb3JtYXRpb24gaW4gL3N5cywgaWYgb24gZGlzayBudW1iZXIgb2YKKwkgKiBwYXJ0aXRpb25zIGlzIGdyZWF0ZXIgdGhhbiBpbiAvc3lzIHRoZSB1c2Ugb24tZGlzayBsaW1pdCAqLworCW5wYXJ0cyA9IGJsa2lkX3BhcnRsaXN0X251bW9mX3BhcnRpdGlvbnMobHMpOworCWlmICghbG93ZXIpCisJCWxvd2VyID0gMTsKKwlpZiAoIXVwcGVyIHx8IGxvd2VyIDwgMCB8fCB1cHBlciA8IDApIHsKKwkJbiA9IGdldF9tYXhfcGFydG5vKGRldmljZSwgZGV2bm8pOworCQlpZiAoIXVwcGVyKQorCQkJdXBwZXIgPSBuID4gbnBhcnRzID8gbiA6IG5wYXJ0czsKKwkJZWxzZSBpZiAodXBwZXIgPCAwKQorCQkJdXBwZXIgPSBuICsgdXBwZXIgKyAxOworCQlpZiAobG93ZXIgPCAwKQorCQkJbG93ZXIgPSBuICsgbG93ZXIgKyAxOworCX0KKwlpZiAobG93ZXIgPiB1cHBlcikgeworCQl3YXJueChfKCJzcGVjaWZpZWQgcmFuZ2UgPCVkOiVkPiAiCisJCQkiZG9lcyBub3QgbWFrZSBzZW5zZSIpLCBsb3dlciwgdXBwZXIpOworCQlyZXR1cm4gLTE7CisJfQorCisJZm9yIChuID0gbG93ZXI7IG4gPD0gdXBwZXI7IG4rKykgeworCQlwYXIgPSBibGtpZF9wYXJ0bGlzdF9nZXRfcGFydGl0aW9uX2J5X3BhcnRubyhscywgbik7CisJCWlmICghcGFyKSB7CisJCQlpZiAodmVyYm9zZSkKKwkJCQl3YXJuKF8oIiVzOiBubyBwYXJ0aXRpb24gIyVkIiksIGRldmljZSwgbik7CisJCQljb250aW51ZTsKKwkJfQorCisJCXN0YXJ0ID0gYmxraWRfcGFydGl0aW9uX2dldF9zdGFydChwYXIpOworCQlzaXplID0gIGJsa2lkX3BhcnRpdGlvbl9nZXRfc2l6ZShwYXIpOworCQlpZiAoYmxraWRfcGFydGl0aW9uX2lzX2V4dGVuZGVkKHBhcikpCisJCQkvKgorCQkJICogTGV0J3MgZm9sbG93IHRoZSBMaW51eCBrZXJuZWwgYW5kIHJlZHVjZQorCQkJICogRE9TIGV4dGVuZGVkIHBhcnRpdGlvbiB0byAxIG9yIDIgc2VjdG9ycy4KKwkJCSAqLworCQkJc2l6ZSA9IG1pbihzaXplLCAodWludG1heF90KSAyKTsKKworCQllcnIgPSBwYXJ0eF9kZWxfcGFydGl0aW9uKGZkLCBuKTsKKwkJaWYgKGVyciA9PSAtMSAmJiBlcnJubyA9PSBFTlhJTykKKwkJCWVyciA9IDA7IC8qIGdvb2QsIGl0IGFscmVhZHkgZG9lc24ndCBleGlzdCAqLworCQlpZiAoZXJyID09IC0xICYmIGVycm5vID09IEVCVVNZKQorCQl7CisJCQkvKiB0cnkgdG8gcmVzaXplICovCisJCQllcnIgPSBwYXJ0eF9yZXNpemVfcGFydGl0aW9uKGZkLCBuLCBzdGFydCwgc2l6ZSk7CisJCQlpZiAodmVyYm9zZSkKKwkJCQlwcmludGYoXygiJXM6IHBhcnRpdGlvbiAjJWQgcmVzaXplZFxuIiksIGRldmljZSwgbik7CisJCQlpZiAoZXJyID09IDApCisJCQkJY29udGludWU7CisJCX0KKwkJaWYgKGVyciA9PSAwICYmIHBhcnR4X2FkZF9wYXJ0aXRpb24oZmQsIG4sIHN0YXJ0LCBzaXplKSA9PSAwKSB7CisJCQlpZiAodmVyYm9zZSkKKwkJCQlwcmludGYoXygiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIpLCBkZXZpY2UsIG4pOworCQkJY29udGludWU7CisJCX0KKworCQlpZiAoZXJyID09IDApCisJCQljb250aW51ZTsKKwkJcmMgPSAtMTsKKwkJaWYgKHZlcmJvc2UpCisJCQl3YXJuKF8oIiVzOiB1cGRhdGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIpLCBkZXZpY2UsIG4pOworCQlpZiAoIWVycmZpcnN0KQorCQkJZXJybGFzdCA9IGVycmZpcnN0ID0gbjsKKwkJZWxzZSBpZiAoZXJybGFzdCArIDEgPT0gbikKKwkJCWVycmxhc3QrKzsKKwkJZWxzZSB7CisJCQl1cGRfcGFydHNfd2FybngoZGV2aWNlLCBlcnJmaXJzdCwgZXJybGFzdCk7CisJCQllcnJsYXN0ID0gZXJyZmlyc3QgPSBuOworCQl9CisJfQorCisJaWYgKGVycmZpcnN0KQorCQl1cGRfcGFydHNfd2FybngoZGV2aWNlLCBlcnJmaXJzdCwgZXJybGFzdCk7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IGxpc3RfcGFydHMoYmxraWRfcGFydGxpc3QgbHMsIGludCBsb3dlciwgaW50IHVwcGVyKQoreworCWludCBpLCBucGFydHMsIHJjOworCisJYXNzZXJ0KGxzKTsKKworCXJjID0gcmVjb3VudF9yYW5nZV9ieV9wdChscywgJmxvd2VyLCAmdXBwZXIpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJbnBhcnRzID0gYmxraWRfcGFydGxpc3RfbnVtb2ZfcGFydGl0aW9ucyhscyk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnBhcnRzOyBpKyspIHsKKwkJYmxraWRfcGFydGl0aW9uIHBhciA9IGJsa2lkX3BhcnRsaXN0X2dldF9wYXJ0aXRpb24obHMsIGkpOworCQlpbnQgbiA9IGJsa2lkX3BhcnRpdGlvbl9nZXRfcGFydG5vKHBhcik7CisJCXVpbnRtYXhfdCBzdGFydCwgc2l6ZTsKKworCQlpZiAobG93ZXIgJiYgbiA8IGxvd2VyKQorCQkJY29udGludWU7CisJCWlmICh1cHBlciAmJiBuID4gdXBwZXIpCisJCQljb250aW51ZTsKKworCQlzdGFydCA9IGJsa2lkX3BhcnRpdGlvbl9nZXRfc3RhcnQocGFyKTsKKwkJc2l6ZSA9ICBibGtpZF9wYXJ0aXRpb25fZ2V0X3NpemUocGFyKTsKKworCQlwcmludGYoUF8oIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWN0b3IsICU2anUgTUIpXG4iLAorCQkJICAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvcnMsICU2anUgTUIpXG4iLAorCQkJICBzaXplKSwKKwkJICAgICAgIG4sIHN0YXJ0LCBzdGFydCArIHNpemUgLTEsCisJCSAgICAgICBzaXplLCAoc2l6ZSA8PCA5KSAvIDEwMDAwMDApOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhZGRfc2NvbHNfbGluZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRhYmxlLCBibGtpZF9wYXJ0aXRpb24gcGFyKQoreworCXN0cnVjdCBsaWJzY29sc19saW5lICpsaW5lOworCWludCBpLCByYyA9IDA7CisKKwlhc3NlcnQodGFibGUpOworCWFzc2VydChwYXIpOworCisJbGluZSA9IHNjb2xzX3RhYmxlX25ld19saW5lKHRhYmxlLCBOVUxMKTsKKwlpZiAoIWxpbmUpIHsKKwkJd2FybihfKCJmYWlsZWQgdG8gYWRkIGxpbmUgdG8gb3V0cHV0IikpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisKKwlmb3IgKGkgPSAwOyAoc2l6ZV90KWkgPCBuY29sdW1uczsgaSsrKSB7CisJCWNoYXIgKnN0ciA9IE5VTEw7CQkJLyogYWxsb2NhdGVkIHN0cmluZyAqLworCQljb25zdCBjaGFyICpjc3RyID0gTlVMTDsJCS8qIGZvcmVpZ24gc3RyaW5nICovCisKKwkJc3dpdGNoIChnZXRfY29sdW1uX2lkKGkpKSB7CisJCWNhc2UgQ09MX1BBUlROTzoKKwkJCXhhc3ByaW50Zigmc3RyLCAiJWQiLCBibGtpZF9wYXJ0aXRpb25fZ2V0X3BhcnRubyhwYXIpKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9TVEFSVDoKKwkJCXhhc3ByaW50Zigmc3RyLCAiJWp1IiwgYmxraWRfcGFydGl0aW9uX2dldF9zdGFydChwYXIpKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9FTkQ6CisJCQl4YXNwcmludGYoJnN0ciwgIiVqdSIsCisJCQkJCWJsa2lkX3BhcnRpdGlvbl9nZXRfc3RhcnQocGFyKSArCisJCQkJCWJsa2lkX3BhcnRpdGlvbl9nZXRfc2l6ZShwYXIpIC0gMSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfU0VDVE9SUzoKKwkJCXhhc3ByaW50Zigmc3RyLCAiJWp1IiwgYmxraWRfcGFydGl0aW9uX2dldF9zaXplKHBhcikpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1NJWkU6CisJCQlpZiAocGFydHhfZmxhZ3MgJiBGTF9CWVRFUykKKwkJCQl4YXNwcmludGYoJnN0ciwgIiVqdSIsICh1aW50bWF4X3QpCisJCQkJCWJsa2lkX3BhcnRpdGlvbl9nZXRfc2l6ZShwYXIpIDw8IDkpOworCQkJZWxzZQorCQkJCXN0ciA9IHNpemVfdG9faHVtYW5fc3RyaW5nKFNJWkVfU1VGRklYXzFMRVRURVIsCisJCQkJCWJsa2lkX3BhcnRpdGlvbl9nZXRfc2l6ZShwYXIpIDw8IDkpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX05BTUU6CisJCQljc3RyID0gYmxraWRfcGFydGl0aW9uX2dldF9uYW1lKHBhcik7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfVVVJRDoKKwkJCWNzdHIgPSBibGtpZF9wYXJ0aXRpb25fZ2V0X3V1aWQocGFyKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9UWVBFOgorCQkJaWYgKGJsa2lkX3BhcnRpdGlvbl9nZXRfdHlwZV9zdHJpbmcocGFyKSkKKwkJCQljc3RyID0gYmxraWRfcGFydGl0aW9uX2dldF90eXBlX3N0cmluZyhwYXIpOworCQkJZWxzZQorCQkJCXhhc3ByaW50Zigmc3RyLCAiMHgleCIsCisJCQkJCWJsa2lkX3BhcnRpdGlvbl9nZXRfdHlwZShwYXIpKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9GTEFHUzoKKwkJCXhhc3ByaW50Zigmc3RyLCAiMHglbGx4IiwgYmxraWRfcGFydGl0aW9uX2dldF9mbGFncyhwYXIpKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9TQ0hFTUU6CisJCXsKKwkJCWJsa2lkX3BhcnR0YWJsZSB0YWIgPSBibGtpZF9wYXJ0aXRpb25fZ2V0X3RhYmxlKHBhcik7CisJCQlpZiAodGFiKQorCQkJCWNzdHIgPSBibGtpZF9wYXJ0dGFibGVfZ2V0X3R5cGUodGFiKTsKKwkJCWJyZWFrOworCQl9CisJCWRlZmF1bHQ6CisJCQlicmVhazsKKwkJfQorCisJCWlmIChjc3RyKQorCQkJcmMgPSBzY29sc19saW5lX3NldF9kYXRhKGxpbmUsIGksIGNzdHIpOworCQllbHNlIGlmIChzdHIpCisJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsaW5lLCBpLCBzdHIpOworCQlpZiAocmMpIHsKKwkJCXdhcm4oXygiZmFpbGVkIHRvIGFkZCBkYXRhIHRvIG91dHB1dCB0YWJsZSIpKTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHNob3dfcGFydHMoYmxraWRfcGFydGxpc3QgbHMsIGludCBzY29sc19mbGFncywgaW50IGxvd2VyLCBpbnQgdXBwZXIpCit7CisJaW50IGksIHJjID0gLTE7CisJc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YWJsZTsKKwlpbnQgbnBhcnRzOworCisJYXNzZXJ0KGxzKTsKKworCW5wYXJ0cyA9IGJsa2lkX3BhcnRsaXN0X251bW9mX3BhcnRpdGlvbnMobHMpOworCWlmICghbnBhcnRzKQorCQlyZXR1cm4gMDsKKworCXNjb2xzX2luaXRfZGVidWcoMCk7CisJdGFibGUgPSBzY29sc19uZXdfdGFibGUoKTsKKwlpZiAoIXRhYmxlKSB7CisJCXdhcm4oXygiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IHRhYmxlIikpOworCQlyZXR1cm4gLTE7CisJfQorCXNjb2xzX3RhYmxlX2VuYWJsZV9yYXcodGFibGUsICEhKHNjb2xzX2ZsYWdzICYgUEFSVFhfUkFXKSk7CisJc2NvbHNfdGFibGVfZW5hYmxlX2V4cG9ydCh0YWJsZSwgISEoc2NvbHNfZmxhZ3MgJiBQQVJUWF9FWFBPUlQpKTsKKwlzY29sc190YWJsZV9lbmFibGVfbm9oZWFkaW5ncyh0YWJsZSwgISEoc2NvbHNfZmxhZ3MgJiBQQVJUWF9OT0hFQURJTkdTKSk7CisKKwlmb3IgKGkgPSAwOyAoc2l6ZV90KWkgPCBuY29sdW1uczsgaSsrKSB7CisJCXN0cnVjdCBjb2xpbmZvICpjb2wgPSBnZXRfY29sdW1uX2luZm8oaSk7CisKKwkJaWYgKCFzY29sc190YWJsZV9uZXdfY29sdW1uKHRhYmxlLCBjb2wtPm5hbWUsIGNvbC0+d2hpbnQsIGNvbC0+ZmxhZ3MpKSB7CisJCQl3YXJueChfKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIikpOworCQkJZ290byBkb25lOworCQl9CisJfQorCisJcmMgPSByZWNvdW50X3JhbmdlX2J5X3B0KGxzLCAmbG93ZXIsICZ1cHBlcik7CisJaWYgKHJjKQorCQlnb3RvIGRvbmU7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnBhcnRzOyBpKyspIHsKKwkJYmxraWRfcGFydGl0aW9uIHBhciA9IGJsa2lkX3BhcnRsaXN0X2dldF9wYXJ0aXRpb24obHMsIGkpOworCQlpbnQgbiA9IGJsa2lkX3BhcnRpdGlvbl9nZXRfcGFydG5vKHBhcik7CisKKwkJaWYgKGxvd2VyICYmIG4gPCBsb3dlcikKKwkJCWNvbnRpbnVlOworCQlpZiAodXBwZXIgJiYgbiA+IHVwcGVyKQorCQkJY29udGludWU7CisKKwkJcmMgPSBhZGRfc2NvbHNfbGluZSh0YWJsZSwgcGFyKTsKKwkJaWYgKHJjKQorCQkJYnJlYWs7CisJfQorCisJcmMgPSAwOworCXNjb2xzX3ByaW50X3RhYmxlKHRhYmxlKTsKK2RvbmU6CisJc2NvbHNfdW5yZWZfdGFibGUodGFibGUpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGJsa2lkX3BhcnRsaXN0IGdldF9wYXJ0bGlzdChibGtpZF9wcm9iZSBwciwKKwkJCWNvbnN0IGNoYXIgKmRldmljZSwgY2hhciAqdHlwZSkKK3sKKwlibGtpZF9wYXJ0bGlzdCBsczsKKwlibGtpZF9wYXJ0dGFibGUgdGFiOworCisJYXNzZXJ0KHByKTsKKwlhc3NlcnQoZGV2aWNlKTsKKworCWlmICh0eXBlKSB7CisJCWNoYXIgKm5hbWVbXSA9IHsgdHlwZSwgTlVMTCB9OworCisJCWlmIChibGtpZF9wcm9iZV9maWx0ZXJfcGFydGl0aW9uc190eXBlKHByLAorCQkJCUJMS0lEX0ZMVFJfT05MWUlOLCBuYW1lKSkgeworCQkJd2FybngoXygiZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgIgorCQkJCSJmaWx0ZXIgZm9yICclcyciKSwgdHlwZSk7CisJCQlyZXR1cm4gTlVMTDsKKwkJfQorCX0KKworCWxzID0gYmxraWRfcHJvYmVfZ2V0X3BhcnRpdGlvbnMocHIpOworCWlmICghbHMpIHsKKwkJd2FybngoXygiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiB0YWJsZSIpLCBkZXZpY2UpOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwl0YWIgPSBibGtpZF9wYXJ0bGlzdF9nZXRfdGFibGUobHMpOworCWlmICh2ZXJib3NlICYmIHRhYikgeworCQlwcmludGYoXygiJXM6IHBhcnRpdGlvbiB0YWJsZSB0eXBlICclcycgZGV0ZWN0ZWRcbiIpLAorCQkJICAgICAgIGRldmljZSwgYmxraWRfcGFydHRhYmxlX2dldF90eXBlKHRhYikpOworCisJCWlmICghYmxraWRfcGFydGxpc3RfbnVtb2ZfcGFydGl0aW9ucyhscykpCisJCQlwcmludGYoXygiJXM6IHBhcnRpdGlvbiB0YWJsZSB3aXRoIG5vIHBhcnRpdGlvbnMiKSwgZGV2aWNlKTsKKwl9CisKKwlyZXR1cm4gbHM7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKEZJTEUgKm91dCkKK3sKKwlzaXplX3QgaTsKKworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwKKwkgICAgICBfKCIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0aXRpb24+XSA8ZGlzaz5cbiIpLAorCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBwcmVzZW5jZSBhbmQgbnVtYmVyaW5nIG9mIHBhcnRpdGlvbnMuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWFkZCAgICAgICAgICAgIGFkZCBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1kLCAtLWRlbGV0ZSAgICAgICAgIGRlbGV0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIiksIG91dCk7CisJZnB1dHMoXygiIC11LCAtLXVwZGF0ZSAgICAgICAgIHVwZGF0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1zLCAtLXNob3cgICAgICAgICAgIGxpc3QgcGFydGl0aW9uc1xuXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWIsIC0tYnl0ZXMgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZywgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1zaG93XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW4sIC0tbnIgPG46bT4gICAgICAgc3BlY2lmeSB0aGUgcmFuZ2Ugb2YgcGFydGl0aW9ucyAoZS5nLiAtLW5yIDI6NClcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1yLCAtLXJhdyAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIiksIG91dCk7CisJZnB1dHMoXygiIC10LCAtLXR5cGUgPHR5cGU+ICAgIHNwZWNpZnkgdGhlIHBhcnRpdGlvbiB0eXBlIChkb3MsIGJzZCwgc29sYXJpcywgZXRjLilcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdiwgLS12ZXJib3NlICAgICAgICB2ZXJib3NlIG1vZGVcbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKFVTQUdFX0hFTFAsIG91dCk7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgb3V0KTsKKworCWZwdXRzKF8oIlxuQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3csIC0tcmF3IG9yIC0tcGFpcnMpOlxuIiksIG91dCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgTkNPTFM7IGkrKykKKwkJZnByaW50ZihvdXQsICIgJTEwcyAgJXNcbiIsIGluZm9zW2ldLm5hbWUsIF8oaW5mb3NbaV0uaGVscCkpOworCisJZnByaW50ZihvdXQsIFVTQUdFX01BTl9UQUlMKCJwYXJ0eCg4KSIpKTsKKworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlpbnQgZmQsIGMsIHdoYXQgPSBBQ1RfTk9ORSwgbG93ZXIgPSAwLCB1cHBlciA9IDAsIHJjID0gMDsKKwlpbnQgc2NvbHNfZmxhZ3MgPSAwOworCWNoYXIgKnR5cGUgPSBOVUxMOworCWNoYXIgKmRldmljZSA9IE5VTEw7IC8qIHBvaW50ZXIgdG8gYXJndltdLCBpZTogL2Rldi9zZGExICovCisJY2hhciAqd2hvbGVkaXNrID0gTlVMTDsgLyogYWxsb2NhdGVkLCBpZTogL2Rldi9zZGEgKi8KKwljaGFyICpvdXRhcmcgPSBOVUxMOworCWRldl90IGRpc2tfZGV2bm8gPSAwLCBwYXJ0X2Rldm5vID0gMDsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdfb3B0c1tdID0geworCQl7ICJieXRlcyIsCW5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnYicgfSwKKwkJeyAibm9oZWFkaW5ncyIsCW5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnZycgfSwKKwkJeyAicmF3IiwJbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdyJyB9LAorCQl7ICJsaXN0IiwJbm9fYXJndW1lbnQsCSAgIE5VTEwsICdsJyB9LAorCQl7ICJzaG93IiwJbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdzJyB9LAorCQl7ICJhZGQiLAlub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2EnIH0sCisJCXsgImRlbGV0ZSIsCW5vX2FyZ3VtZW50LAkgICBOVUxMLCAnZCcgfSwKKwkJeyAidXBkYXRlIiwgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAndScgfSwKKwkJeyAidHlwZSIsCXJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAndCcgfSwKKwkJeyAibnIiLAkJcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICduJyB9LAorCQl7ICJvdXRwdXQiLAlyZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ28nIH0sCisJCXsgInBhaXJzIiwgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ1AnIH0sCisJCXsgImhlbHAiLAlub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2gnIH0sCisJCXsgInZlcnNpb24iLCAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ1YnIH0sCisJCXsgInZlcmJvc2UiLAlub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ3YnIH0sCisJCXsgTlVMTCwgMCwgTlVMTCwgMCB9CisJfTsKKworCXN0YXRpYyBjb25zdCB1bF9leGNsX3QgZXhjbFtdID0gewkvKiByb3dzIGFuZCBjb2xzIGluIGluIEFTQ0lJIG9yZGVyICovCisJCXsgJ1AnLCdhJywnZCcsJ2wnLCdyJywncycsJ3UnIH0sCisJCXsgMCB9CisJfTsKKwlpbnQgZXhjbF9zdFtBUlJBWV9TSVpFKGV4Y2wpXSA9IFVMX0VYQ0xfU1RBVFVTX0lOSVQ7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwKKwkJCQkiYWJkZ2xyc3V2bjp0Om86UGhWIiwgbG9uZ19vcHRzLCBOVUxMKSkgIT0gLTEpIHsKKworCQllcnJfZXhjbHVzaXZlX29wdGlvbnMoYywgbG9uZ19vcHRzLCBleGNsLCBleGNsX3N0KTsKKworCQlzd2l0Y2goYykgeworCQljYXNlICdhJzoKKwkJCXdoYXQgPSBBQ1RfQUREOworCQkJYnJlYWs7CisJCWNhc2UgJ2InOgorCQkJcGFydHhfZmxhZ3MgfD0gRkxfQllURVM7CisJCQlicmVhazsKKwkJY2FzZSAnZCc6CisJCQl3aGF0ID0gQUNUX0RFTEVURTsKKwkJCWJyZWFrOworCQljYXNlICdnJzoKKwkJCXNjb2xzX2ZsYWdzIHw9IFBBUlRYX05PSEVBRElOR1M7CisJCQlicmVhazsKKwkJY2FzZSAnbCc6CisJCQl3aGF0ID0gQUNUX0xJU1Q7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQlpZiAocGFyc2VfcmFuZ2Uob3B0YXJnLCAmbG93ZXIsICZ1cHBlciwgMCkpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBwYXJzZSAtLW5yIDxNLU4+IHJhbmdlIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ28nOgorCQkJb3V0YXJnID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ1AnOgorCQkJc2NvbHNfZmxhZ3MgfD0gUEFSVFhfRVhQT1JUOworCQkJd2hhdCA9IEFDVF9TSE9XOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJc2NvbHNfZmxhZ3MgfD0gUEFSVFhfUkFXOworCQkJd2hhdCA9IEFDVF9TSE9XOworCQkJYnJlYWs7CisJCWNhc2UgJ3MnOgorCQkJd2hhdCA9IEFDVF9TSE9XOworCQkJYnJlYWs7CisJCWNhc2UgJ3QnOgorCQkJdHlwZSA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICd1JzoKKwkJCXdoYXQgPSBBQ1RfVVBEOworCQkJYnJlYWs7CisJCWNhc2UgJ3YnOgorCQkJdmVyYm9zZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShzdGRvdXQpOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnPyc6CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQl9CisJfQorCisJaWYgKHdoYXQgPT0gQUNUX05PTkUpCisJCXdoYXQgPSBBQ1RfU0hPVzsKKworCS8qIC0tc2hvdyBkZWZhdWx0LCBjb3VsZCBieSBtb2RpZmllZCBieSAtbyAgKi8KKwlpZiAod2hhdCA9PSBBQ1RfU0hPVyAmJiAhbmNvbHVtbnMpIHsKKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9QQVJUTk87CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfU1RBUlQ7CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfRU5EOworCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX1NFQ1RPUlM7CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfU0laRTsKKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9OQU1FOworCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX1VVSUQ7CisJfQorCisJaWYgKHdoYXQgPT0gQUNUX1NIT1cgJiYgb3V0YXJnICYmCisJICAgIHN0cmluZ19hZGRfdG9faWRhcnJheShvdXRhcmcsIGNvbHVtbnMsIEFSUkFZX1NJWkUoY29sdW1ucyksCisJCQkJICAgJm5jb2x1bW5zLCBjb2x1bW5fbmFtZV90b19pZCkgPCAwKQorCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCisJLyoKKwkgKiBOb3RlIHRoYXQgJ3BhcnR4IC9kZXYvc2RhMScgPT0gJ3BhcnR4IC9kZXYvc2RhMSAvZGV2L3NkYScKKwkgKiBzbyBhc3N1bWUgdGhhdCB0aGUgZGV2aWNlIGFuZC9vciBkaXNrIGFyZSBhbHdheXMgdGhlIGxhc3QKKwkgKiBhcmd1bWVudHMgdG8gYmUgcGFzc2VkIHRvIHBhcnR4LgorCSAqLworCWlmIChvcHRpbmQgPT0gYXJnYyAtIDIpIHsKKwkJLyogcGFzc2VkIDIgYXJndW1lbnRzOgorCQkgKiAgIC9kZXYvc2RhMSAvZGV2L3NkYSAgOiBwYXJ0aXRpb24gKyB3aG9sZS1kaXNrCisJCSAqICAgLS0gL2Rldi9zZGExCSA6IHBhcnRpdGlvbiB0aGF0IHNob3VsZCBiZSB1c2VkIGFzIGEgd2hvbGUtZGlzaworCQkgKi8KKwkJZGV2aWNlID0gYXJndltvcHRpbmRdOworCisJCWlmIChzdHJjbXAoZGV2aWNlLCAiLSIpID09IDApIHsKKwkJCWRldmljZSA9IE5VTEw7CisJCQl3aG9sZWRpc2sgPSB4c3RyZHVwKGFyZ3Zbb3B0aW5kICsgMV0pOworCQl9IGVsc2UgeworCQkJZGV2aWNlID0gYXJndltvcHRpbmRdOworCQkJd2hvbGVkaXNrID0geHN0cmR1cChhcmd2W29wdGluZCArIDFdKTsKKworCQkJaWYgKGRldmljZSAmJiB3aG9sZWRpc2sgJiYgIXN0YXJ0c3dpdGgoZGV2aWNlLCB3aG9sZWRpc2spKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJwYXJ0aXRpb24gYW5kIGRpc2sgbmFtZSBkbyBub3QgbWF0Y2giKSk7CisJCX0KKwl9IGVsc2UgaWYgKG9wdGluZCA9PSBhcmdjIC0gMSkgeworCQkvKiBwYXNzZWQgb25seSBvbmUgYXJnIChpZTogL2Rldi9zZGEzIG9yIC9kZXYvc2RhKSAqLworCQlzdHJ1Y3Qgc3RhdCBzYjsKKworCQlkZXZpY2UgPSBhcmd2W29wdGluZF07CisKKwkJaWYgKHN0YXQoZGV2aWNlLCAmc2IpKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygic3RhdCBvZiAlcyBmYWlsZWQiKSwgZGV2aWNlKTsKKworCQlwYXJ0X2Rldm5vID0gc2Iuc3RfcmRldjsKKworCQlpZiAoYmxraWRfZGV2bm9fdG9fd2hvbGVkaXNrKHBhcnRfZGV2bm8sCisJCQkJCSAgICAgTlVMTCwgMCwgJmRpc2tfZGV2bm8pID09IDAgJiYKKwkJICAgIHBhcnRfZGV2bm8gIT0gZGlza19kZXZubykKKwkJCXdob2xlZGlzayA9IGJsa2lkX2Rldm5vX3RvX2Rldm5hbWUoZGlza19kZXZubyk7CisKKwkJaWYgKCF3aG9sZWRpc2spIHsKKwkJCXdob2xlZGlzayA9IHhzdHJkdXAoZGV2aWNlKTsKKwkJCWRpc2tfZGV2bm8gPSBwYXJ0X2Rldm5vOworCQkJZGV2aWNlID0gTlVMTDsKKwkJCXBhcnRfZGV2bm8gPSAwOworCQl9CisJfSBlbHNlCisJCXVzYWdlKHN0ZGVycik7CisKKwlpZiAoZGV2aWNlICYmICh1cHBlciB8fCBsb3dlcikpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCItLW5yIGFuZCA8cGFydGl0aW9uPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIikpOworCisJYXNzZXJ0KHdob2xlZGlzayk7CisKKwlpZiAoZGV2aWNlKSB7CisJCS8qIHVzZSBwYXJ0bm8gZnJvbSBnaXZlbiBwYXJ0aXRpb24gaW5zdGVhZCBvZiAtLW5yIHJhbmdlLCBlLmc6CisJCSAqICAgcGFydHggLWQgL2Rldi9zZGEzCisJCSAqIGlzIHRoZSBzYW1lIGxpa2U6CisJCSAqICAgcGFydHggLWQgLS1uciAzIC9kZXYvc2RhCisJCSAqLworCQlzdHJ1Y3Qgc3RhdCBzYjsKKworCQlpZiAoIXBhcnRfZGV2bm8gJiYgIXN0YXQoZGV2aWNlLCAmc2IpKQorCQkJcGFydF9kZXZubyA9IHNiLnN0X3JkZXY7CisKKwkJbG93ZXIgPSB1cHBlciA9IGdldF9wYXJ0bm9fZnJvbV9kZXZpY2UoZGV2aWNlLCBwYXJ0X2Rldm5vKTsKKwl9CisKKwlpZiAodmVyYm9zZSkKKwkJcHJpbnRmKF8oInBhcnRpdGlvbjogJXMsIGRpc2s6ICVzLCBsb3dlcjogJWQsIHVwcGVyOiAlZFxuIiksCisJCSAgICAgICBkZXZpY2UgPyBkZXZpY2UgOiAibm9uZSIsIHdob2xlZGlzaywgbG93ZXIsIHVwcGVyKTsKKworCWlmICh3aGF0ID09IEFDVF9BREQgfHwgd2hhdCA9PSBBQ1RfREVMRVRFKSB7CisJCXN0cnVjdCBzdGF0IHg7CisKKwkJaWYgKHN0YXQod2hvbGVkaXNrLCAmeCkpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgIiVzIiwgd2hvbGVkaXNrKTsKKworCQlpZiAgKFNfSVNSRUcoeC5zdF9tb2RlKSkgeworCQkJLyogbm90IGEgYmxrZGV2LCB0cnkgdG8gYXNzb2NpYXRlIGl0IHRvIGEgbG9vcCBkZXZpY2UgKi8KKwkJCWlmICh3aGF0ID09IEFDVF9ERUxFVEUpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzOiBjYW5ub3QgZGVsZXRlIHBhcnRpdGlvbnMiKSwKKwkJCQkgICAgIHdob2xlZGlzayk7CisJCQlpZiAoIWxvb3Btb2Rfc3VwcG9ydHNfcGFydHNjYW4oKSkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXM6IHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlcyB1bnN1cHBvcnRlZCIpLAorCQkJCSAgICAgd2hvbGVkaXNrKTsKKwkJCWFzc29jX2xvb3BkZXYod2hvbGVkaXNrKTsKKwkJCXdob2xlZGlzayA9IHhzdHJkdXAobGMuZGV2aWNlKTsKKwkJfSBlbHNlIGlmICghU19JU0JMSyh4LnN0X21vZGUpKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzOiBub3QgYSBibG9jayBkZXZpY2UiKSwgd2hvbGVkaXNrKTsKKwl9CisJaWYgKChmZCA9IG9wZW4od2hvbGVkaXNrLCBPX1JET05MWSkpID09IC0xKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCB3aG9sZWRpc2spOworCisJaWYgKHdoYXQgPT0gQUNUX0RFTEVURSkKKwkJcmMgPSBkZWxfcGFydHMoZmQsIHdob2xlZGlzaywgZGlza19kZXZubywgbG93ZXIsIHVwcGVyKTsKKwllbHNlIHsKKwkJYmxraWRfcHJvYmUgcHIgPSBibGtpZF9uZXdfcHJvYmUoKTsKKwkJYmxraWRfcGFydGxpc3QgbHMgPSBOVUxMOworCisJCWlmICghcHIgfHwgYmxraWRfcHJvYmVfc2V0X2RldmljZShwciwgZmQsIDAsIDApKQorCQkJd2FybngoXygiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIHByb2JlciIpLAorCQkJCQl3aG9sZWRpc2spOworCQllbHNlCisJCQlscyA9IGdldF9wYXJ0bGlzdChwciwgd2hvbGVkaXNrLCB0eXBlKTsKKworCQlpZiAobHMpIHsKKwkJCXN3aXRjaCAod2hhdCkgeworCQkJY2FzZSBBQ1RfU0hPVzoKKwkJCQlyYyA9IHNob3dfcGFydHMobHMsIHNjb2xzX2ZsYWdzLCBsb3dlciwgdXBwZXIpOworCQkJCWJyZWFrOworCQkJY2FzZSBBQ1RfTElTVDoKKwkJCQlyYyA9IGxpc3RfcGFydHMobHMsIGxvd2VyLCB1cHBlcik7CisJCQkJYnJlYWs7CisJCQljYXNlIEFDVF9BREQ6CisJCQkJcmMgPSBhZGRfcGFydHMoZmQsIHdob2xlZGlzaywgbHMsIGxvd2VyLCB1cHBlcik7CisJCQkJYnJlYWs7CisJCQljYXNlIEFDVF9VUEQ6CisJCQkJcmMgPSB1cGRfcGFydHMoZmQsIHdob2xlZGlzaywgZGlza19kZXZubywgbHMsIGxvd2VyLCB1cHBlcik7CisJCQkJYnJlYWs7CisJCQljYXNlIEFDVF9OT05FOgorCQkJCWJyZWFrOworCQkJZGVmYXVsdDoKKwkJCQlhYm9ydCgpOworCQkJfQorCQl9CisJCWJsa2lkX2ZyZWVfcHJvYmUocHIpOworCX0KKworCWlmIChsb29wZGV2KQorCQlsb29wY3h0X2RlaW5pdCgmbGMpOworCisJaWYgKGNsb3NlX2ZkKGZkKSAhPSAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJ3cml0ZSBmYWlsZWQiKSk7CisKKwlyZXR1cm4gcmMgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL3BhcnR4LmggYi9kaXNrLXV0aWxzL3BhcnR4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTYyMDZiZAotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvcGFydHguaApAQCAtMCwwICsxLDYyIEBACisjaWZuZGVmIFVUSUxfTElOVVhfUEFSVFhfSAorI2RlZmluZSBVVElMX0xJTlVYX1BBUlRYX0gKKworI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2luY2x1ZGUgPGxpbnV4L2Jsa3BnLmg+CisKKyNpZm5kZWYgQkxLUEdfQUREX1BBUlRJVElPTgorIyBkZWZpbmUgQkxLUEdfQUREX1BBUlRJVElPTgkxCisjZW5kaWYKKworI2lmbmRlZiBCTEtQR19ERUxfUEFSVElUSU9OCisjIGRlZmluZSBCTEtQR19ERUxfUEFSVElUSU9OCTIKKyNlbmRpZgorCisjaWZuZGVmIEJMS1BHX1JFU0laRV9QQVJUSVRJT04KKyMgZGVmaW5lIEJMS1BHX1JFU0laRV9QQVJUSVRJT04JMwkJLyogc2luY2UgTGludXggMy42ICovCisjZW5kaWYKKworCisjZGVmaW5lIElOSVRfQkxLUEdfUEFSVElUSU9OKF9wYXJ0bm8sIF9zdGFydCwgX3NpemUpIHsJXAorCQkucG5vICAgID0gKF9wYXJ0bm8pLAkJCVwKKwkJLnN0YXJ0ICA9IChfc3RhcnQpIDw8IDksCQlcCisJCS5sZW5ndGggPSAoX3NpemUpIDw8IDksCQkJXAorCQkuZGV2bmFtZVswXSA9IDAsCQkJXAorCQkudm9sbmFtZVswXSA9IDAJCQkJXAorfQorCisjZGVmaW5lIElOSVRfQkxLUEdfQVJHKF9hY3Rpb24sIF9wYXJ0KSB7CQlcCisJCS5vcCAgICAgID0gKF9hY3Rpb24pLAkJCVwKKwkJLmZsYWdzICAgPSAwLAkJCQlcCisJCS5kYXRhbGVuID0gc2l6ZW9mKCooX3BhcnQpKSwJCVwKKwkJLmRhdGEgPSAoX3BhcnQpCQkJCVwKK30KKworCitzdGF0aWMgaW5saW5lIGludCBwYXJ0eF9kZWxfcGFydGl0aW9uKGludCBmZCwgdW5zaWduZWQgaW50IHBhcnRubykKK3sKKwlzdHJ1Y3QgYmxrcGdfcGFydGl0aW9uIHAgPSBJTklUX0JMS1BHX1BBUlRJVElPTihwYXJ0bm8sIDAsIDApOworCXN0cnVjdCBibGtwZ19pb2N0bF9hcmcgYSA9IElOSVRfQkxLUEdfQVJHKEJMS1BHX0RFTF9QQVJUSVRJT04sICZwKTsKKworCXJldHVybiBpb2N0bChmZCwgQkxLUEcsICZhKTsKK30KKworc3RhdGljIGlubGluZSBpbnQgcGFydHhfYWRkX3BhcnRpdGlvbihpbnQgZmQsIGludCBwYXJ0bm8sCisJCQl1aW50NjRfdCBzdGFydCwgdWludDY0X3Qgc2l6ZSkKK3sKKwlzdHJ1Y3QgYmxrcGdfcGFydGl0aW9uIHAgPSBJTklUX0JMS1BHX1BBUlRJVElPTihwYXJ0bm8sIHN0YXJ0LCBzaXplKTsKKwlzdHJ1Y3QgYmxrcGdfaW9jdGxfYXJnIGEgPSBJTklUX0JMS1BHX0FSRyhCTEtQR19BRERfUEFSVElUSU9OLCAmcCk7CisKKwlyZXR1cm4gaW9jdGwoZmQsIEJMS1BHLCAmYSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IHBhcnR4X3Jlc2l6ZV9wYXJ0aXRpb24oaW50IGZkLCBpbnQgcGFydG5vLAorCQkJdWludDY0X3Qgc3RhcnQsIHVpbnQ2NF90IHNpemUpCit7CisJc3RydWN0IGJsa3BnX3BhcnRpdGlvbiBwID0gSU5JVF9CTEtQR19QQVJUSVRJT04ocGFydG5vLCBzdGFydCwgc2l6ZSk7CisJc3RydWN0IGJsa3BnX2lvY3RsX2FyZyBhID0gSU5JVF9CTEtQR19BUkcoQkxLUEdfUkVTSVpFX1BBUlRJVElPTiwgJnApOworCisJcmV0dXJuIGlvY3RsKGZkLCBCTEtQRywgJmEpOworfQorCisjZW5kaWYgLyogIFVUSUxfTElOVVhfUEFSVFhfSCAqLwpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9yYXcuOCBiL2Rpc2stdXRpbHMvcmF3LjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTlkNmIwMQotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvcmF3LjgKQEAgLTAsMCArMSw5NSBAQAorLlRIIFJBVyA4ICJBdWd1c3QgMTk5OSIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQorcmF3IFwtIGJpbmQgYSBMaW51eCByYXcgY2hhcmFjdGVyIGRldmljZQorLlNIIFNZTk9QU0lTCisuQiByYXcKKy5JIC9kZXYvcmF3L3JhdzxOPiA8bWFqb3I+IDxtaW5vcj4KKy5QUAorLkIgcmF3CisuSSAvZGV2L3Jhdy9yYXc8Tj4gL2Rldi88YmxvY2tkZXY+CisuUFAKKy5CIHJhdyBcLXEKKy5JIC9kZXYvcmF3L3JhdzxOPgorLlBQCisuQiByYXcgXC1xYQorLlNIIERFU0NSSVBUSU9OCisuQiByYXcKK2lzIHVzZWQgdG8gYmluZCBhIExpbnV4IHJhdyBjaGFyYWN0ZXIgZGV2aWNlIHRvIGEgYmxvY2sgZGV2aWNlLiAgQW55CitibG9jayBkZXZpY2UgbWF5IGJlIHVzZWQ6IGF0IHRoZSB0aW1lIG9mIGJpbmRpbmcsIHRoZSBkZXZpY2UgZHJpdmVyIGRvZXMKK25vdCBldmVuIGhhdmUgdG8gYmUgYWNjZXNzaWJsZSAoaXQgbWF5IGJlIGxvYWRlZCBvbiBkZW1hbmQgYXMgYSBrZXJuZWwKK21vZHVsZSBsYXRlcikuCisuUFAKKy5CIHJhdworaXMgdXNlZCBpbiB0d28gbW9kZXM6IGl0IGVpdGhlciBzZXRzIHJhdyBkZXZpY2UgYmluZGluZ3MsIG9yIGl0IHF1ZXJpZXMKK2V4aXN0aW5nIGJpbmRpbmdzLiAgV2hlbiBzZXR0aW5nIGEgcmF3IGRldmljZSwKKy5JIC9kZXYvcmF3L3JhdzxOPgoraXMgdGhlIGRldmljZSBuYW1lIG9mIGFuIGV4aXN0aW5nIHJhdyBkZXZpY2Ugbm9kZSBpbiB0aGUgZmlsZXN5c3RlbS4KK1RoZSBibG9jayBkZXZpY2UgdG8gd2hpY2ggaXQgaXMgdG8gYmUgYm91bmQgY2FuIGJlIHNwZWNpZmllZCBlaXRoZXIgaW4KK3Rlcm1zIG9mIGl0cworLkkgbWFqb3IKK2FuZAorLkkgbWlub3IKK2RldmljZSBudW1iZXJzLCBvciBhcyBhIHBhdGggbmFtZQorLkkgL2Rldi88YmxvY2tkZXY+Cit0byBhbiBleGlzdGluZyBibG9jayBkZXZpY2UgZmlsZS4KKy5QUAorVGhlIGJpbmRpbmdzIGFscmVhZHkgaW4gZXhpc3RlbmNlIGNhbiBiZSBxdWVyaWVkIHdpdGggdGhlCisuSSBcLXEKK29wdGlvbiwgd2hpY2ggaXMgdXNlZCBlaXRoZXIgd2l0aCBhIHJhdyBkZXZpY2UgZmlsZW5hbWUgdG8gcXVlcnkgdGhhdCBvbmUKK2RldmljZSwgb3Igd2l0aCB0aGUKKy5JIFwtYQorb3B0aW9uIHRvIHF1ZXJ5IGFsbCBib3VuZCByYXcgZGV2aWNlcy4KKy5QUAorVW5iaW5kaW5nIGNhbiBiZSBkb25lIGJ5IHNwZWNpZnlpbmcgbWFqb3IgYW5kIG1pbm9yIDAuCisuUFAKK09uY2UgYm91bmQgdG8gYSBibG9jayBkZXZpY2UsIGEgcmF3IGRldmljZSBjYW4gYmUgb3BlbmVkLCByZWFkIGFuZAord3JpdHRlbiwganVzdCBsaWtlIHRoZSBibG9jayBkZXZpY2UgaXQgaXMgYm91bmQgdG8uICBIb3dldmVyLCB0aGUgcmF3CitkZXZpY2UgZG9lcyBub3QgYmVoYXZlIGV4YWN0bHkgbGlrZSB0aGUgYmxvY2sgZGV2aWNlLiAgSW4gcGFydGljdWxhciwKK2FjY2VzcyB0byB0aGUgcmF3IGRldmljZSBieXBhc3NlcyB0aGUga2VybmVsJ3MgYmxvY2sgYnVmZmVyIGNhY2hlCitlbnRpcmVseTogYWxsIEkvTyBpcyBkb25lIGRpcmVjdGx5IHRvIGFuZCBmcm9tIHRoZSBhZGRyZXNzIHNwYWNlIG9mIHRoZQorcHJvY2VzcyBwZXJmb3JtaW5nIHRoZSBJL08uICBJZiB0aGUgdW5kZXJseWluZyBibG9jayBkZXZpY2UgZHJpdmVyIGNhbgorc3VwcG9ydCBETUEsIHRoZW4gbm8gZGF0YSBjb3B5aW5nIGF0IGFsbCBpcyByZXF1aXJlZCB0byBjb21wbGV0ZSB0aGUKK0kvTy4KKy5QUAorQmVjYXVzZSByYXcgSS9PIGludm9sdmVzIGRpcmVjdCBoYXJkd2FyZSBhY2Nlc3MgdG8gYSBwcm9jZXNzJ3MgbWVtb3J5LCBhCitmZXcgZXh0cmEgcmVzdHJpY3Rpb25zIG11c3QgYmUgb2JzZXJ2ZWQuICBBbGwgSS9PcyBtdXN0IGJlIGNvcnJlY3RseQorYWxpZ25lZCBpbiBtZW1vcnkgYW5kIG9uIGRpc2s6IHRoZXkgbXVzdCBzdGFydCBhdCBhIHNlY3RvciBvZmZzZXQgb24KK2Rpc2ssIHRoZXkgbXVzdCBiZSBhbiBleGFjdCBudW1iZXIgb2Ygc2VjdG9ycyBsb25nLCBhbmQgdGhlIGRhdGEgYnVmZmVyCitpbiB2aXJ0dWFsIG1lbW9yeSBtdXN0IGFsc28gYmUgYWxpZ25lZCB0byBhIG11bHRpcGxlIG9mIHRoZSBzZWN0b3IKK3NpemUuICBUaGUgc2VjdG9yIHNpemUgaXMgNTEyIGJ5dGVzIGZvciBtb3N0IGRldmljZXMuCisuU0ggT1BUSU9OUworLlRQCitcZkJcLXFcZlIsIFxmQlwtXC1xdWVyeVxmUgorU2V0IHF1ZXJ5IG1vZGUuCisuQiByYXcKK3dpbGwgcXVlcnkgYW4gZXhpc3RpbmcgYmluZGluZyBpbnN0ZWFkIG9mIHNldHRpbmcgYSBuZXcgb25lLgorLlRQCitcZkJcLWFcZlIsIFxmQlwtXC1hbGxcZlIKK1dpdGgKKy5CIFwtcQorLCBzcGVjaWZ5IHRoYXQgYWxsIGJvdW5kIHJhdyBkZXZpY2VzIHNob3VsZCBiZSBxdWVyaWVkLgorLlRQCitcZkJcLWhcZlIsIFxmQlwtXC1oZWxwXGZSCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5UUAorXGZCXC1WXGZSLCBcZkJcLVwtdmVyc2lvblxmUgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorCisuU0ggQlVHUworVGhlIExpbnV4CisuQlIgZGQgKDEpCitjb21tYW5kIHNob3VsZCBiZSB1c2VkIHdpdGhvdXQgdGhlIFxmQmJzPVxmUiBvcHRpb24sIG9yIHRoZSBibG9ja3NpemUKK25lZWRzIHRvIGJlIGEgbXVsdGlwbGUgb2YgdGhlIHNlY3RvciBzaXplIG9mIHRoZSBkZXZpY2UgKDUxMiBieXRlcyB1c3VhbGx5KSwKK290aGVyd2lzZSBpdCB3aWxsIGZhaWwgd2l0aCAiSW52YWxpZCBBcmd1bWVudCIgbWVzc2FnZXMgKEVJTlZBTCkuCisKKy5QUAorUmF3IEkvTyBkZXZpY2VzIGRvIG5vdCBtYWludGFpbiBjYWNoZSBjb2hlcmVuY3kgd2l0aCB0aGUgTGludXggYmxvY2sKK2RldmljZSBidWZmZXIgY2FjaGUuICBJZiB5b3UgdXNlIHJhdyBJL08gdG8gb3ZlcndyaXRlIGRhdGEgYWxyZWFkeSBpbgordGhlIGJ1ZmZlciBjYWNoZSwgdGhlIGJ1ZmZlciBjYWNoZSB3aWxsIG5vIGxvbmdlciBjb3JyZXNwb25kIHRvIHRoZQorY29udGVudHMgb2YgdGhlIGFjdHVhbCBzdG9yYWdlIGRldmljZSB1bmRlcm5lYXRoLiAgVGhpcyBpcyBkZWxpYmVyYXRlLAorYnV0IGlzIHJlZ2FyZGVkIGVpdGhlciBhIGJ1ZyBvciBhIGZlYXR1cmUgZGVwZW5kaW5nIG9uIHdobyB5b3UgYXNrIQorLlNIIEFVVEhPUgorU3RlcGhlbiBUd2VlZGllIChzY3RAcmVkaGF0LmNvbSkKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSByYXcgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL3Jhdy5jIGIvZGlzay11dGlscy9yYXcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOGRiZTcyCi0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9yYXcuYwpAQCAtMCwwICsxLDI3MyBAQAorLyoKKyAqIHJhdy5jOiBVc2VyIG1vZGUgdG9vbCB0byBiaW5kIGFuZCBxdWVyeSByYXcgY2hhcmFjdGVyIGRldmljZXMuCisgKgorICogU3RlcGhlbiBUd2VlZGllLCAxOTk5LCAyMDAwCisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwKKyAqIFB1YmxpYyBMaWNlbnNlLCB2ZXJzaW9uIDIuCisgKgorICogQ29weXJpZ2h0IFJlZCBIYXQgU29mdHdhcmUsIDE5OTksIDIwMDAKKyAqCisgKi8KKworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxsaW51eC9tYWpvci5oPgorI2luY2x1ZGUgPGxpbnV4L3Jhdy5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorCisjZGVmaW5lIEVYSVRfUkFXX0FDQ0VTUyAzCisjZGVmaW5lIEVYSVRfUkFXX0lPQ1RMIDQKKworI2RlZmluZSBSQVdfTlJfTUlOT1JTIDgxOTIKKworaW50IGRvX3F1ZXJ5OworaW50IGRvX3F1ZXJ5X2FsbDsKKworaW50IG1hc3Rlcl9mZDsKK2ludCByYXdfbWlub3I7CisKK3ZvaWQgb3Blbl9yYXdfY3RsKHZvaWQpOworc3RhdGljIGludCBxdWVyeShpbnQgbWlub3JfcmF3LCBjb25zdCBjaGFyICpyYXdfbmFtZSwgaW50IHF1aWV0KTsKK3N0YXRpYyBpbnQgYmluZChpbnQgbWlub3JfcmF3LCBpbnQgYmxvY2tfbWFqb3IsIGludCBibG9ja19taW5vcik7CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKSB1c2FnZShpbnQgZXJyKQoreworCUZJTEUgKm91dCA9IGVyciA9PSBFWElUX1NVQ0NFU1MgPyBzdGRvdXQgOiBzdGRlcnI7CisKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsCisJCV8oIiAlMSRzICUyJHNyYXdOIDxtYWpvcj4gPG1pbm9yPlxuIgorCQkgICIgJTEkcyAlMiRzcmF3TiAvZGV2LzxibG9ja2RldmljZT5cbiIKKwkJICAiICUxJHMgLXEgJTIkc3Jhd05cbiIKKwkJICAiICUxJHMgLXFhXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUsCisJCV9QQVRIX1JBV0RFVkRJUik7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiQmluZCBhIHJhdyBjaGFyYWN0ZXIgZGV2aWNlIHRvIGEgYmxvY2sgZGV2aWNlLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtcSwgLS1xdWVyeSAgICBzZXQgcXVlcnkgbW9kZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWFsbCAgICAgIHF1ZXJ5IGFsbCByYXcgZGV2aWNlc1xuIiksIG91dCk7CisJZnB1dHMoVVNBR0VfSEVMUCwgb3V0KTsKKwlmcHV0cyhVU0FHRV9WRVJTSU9OLCBvdXQpOworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgicmF3KDgpIikpOworCWV4aXQoZXJyKTsKK30KKworc3RhdGljIGxvbmcgc3RydG9sX29jdGFsX29yX2Vycihjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKmVycm1lc2cpCit7CisJbG9uZyBudW07CisJY2hhciAqZW5kID0gTlVMTDsKKworCWlmIChzdHIgPT0gTlVMTCB8fCAqc3RyID09ICdcMCcpCisJCWdvdG8gZXJyOworCWVycm5vID0gMDsKKwludW0gPSBzdHJ0b2woc3RyLCAmZW5kLCAwKTsKKworCWlmIChlcnJubyB8fCBzdHIgPT0gZW5kIHx8IChlbmQgJiYgKmVuZCkpCisJCWdvdG8gZXJyOworCisJcmV0dXJuIG51bTsKKyBlcnI6CisJaWYgKGVycm5vKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiJXM6ICclcyciLCBlcnJtZXNnLCBzdHIpOworCWVsc2UKKwkJZXJyeChFWElUX0ZBSUxVUkUsICIlczogJyVzJyIsIGVycm1lc2csIHN0cik7CisJcmV0dXJuIDA7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJaW50IGM7CisJY2hhciAqcmF3X25hbWU7CisJY2hhciAqYmxvY2tfbmFtZTsKKwlpbnQgcmV0dmFsOworCWludCBibG9ja19tYWpvciwgYmxvY2tfbWlub3I7CisJaW50IGksIHJjOworCisJc3RydWN0IHN0YXQgc3RhdGJ1ZjsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsicXVlcnkiLCBub19hcmd1bWVudCwgMCwgJ3EnfSwKKwkJeyJhbGwiLCBub19hcmd1bWVudCwgMCwgJ2EnfSwKKwkJeyJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsIDAsICdWJ30sCisJCXsiaGVscCIsIG5vX2FyZ3VtZW50LCAwLCAnaCd9LAorCQl7TlVMTCwgbm9fYXJndW1lbnQsIDAsICcwJ30sCisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAicWFWaCIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpCisJCXN3aXRjaCAoYykgeworCQljYXNlICdxJzoKKwkJCWRvX3F1ZXJ5ID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdhJzoKKwkJCWRvX3F1ZXJ5X2FsbCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoRVhJVF9TVUNDRVNTKTsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKEVYSVRfRkFJTFVSRSk7CisJCX0KKworCS8qCisJICogQ2hlY2sgZm9yLCBhbmQgb3BlbiwgdGhlIG1hc3RlciByYXcgZGV2aWNlLCAvZGV2L3JhdworCSAqLworCW9wZW5fcmF3X2N0bCgpOworCisJaWYgKGRvX3F1ZXJ5X2FsbCkgeworCQlpZiAob3B0aW5kIDwgYXJnYykKKwkJCXVzYWdlKEVYSVRfRkFJTFVSRSk7CisJCWZvciAoaSA9IDE7IGkgPCBSQVdfTlJfTUlOT1JTOyBpKyspCisJCQlxdWVyeShpLCBOVUxMLCAxKTsKKwkJZXhpdChFWElUX1NVQ0NFU1MpOworCX0KKworCS8qCisJICogSXQncyBhIGJpbmQgb3IgYSBzaW5nbGUgcXVlcnkuICBFaXRoZXIgd2F5IHdlIG5lZWQgYSByYXcgZGV2aWNlLgorCSAqLworCisJaWYgKG9wdGluZCA+PSBhcmdjKQorCQl1c2FnZShFWElUX0ZBSUxVUkUpOworCXJhd19uYW1lID0gYXJndltvcHRpbmQrK107CisKKwkvKgorCSAqIHRyeSB0byBjaGVjayB0aGUgZGV2aWNlIG5hbWUgYmVmb3JlIHN0YXQoKSwgYmVjYXVzZSBvbiBzeXN0ZW1zIHdpdGgKKwkgKiB1ZGV2IHRoZSByYXcwIGNhdXNlcyBhIGNyZWF0ZSB1ZGV2IGV2ZW50IGZvciBjaGFyIDE2Mi8wLCB3aGljaAorCSAqIGNhdXNlcyB1ZGV2IHRvICpyZW1vdmUqIC9kZXYvcmF3Y3RsCisJICovCisJcmMgPSBzc2NhbmYocmF3X25hbWUsIF9QQVRIX1JBV0RFVkRJUiAicmF3JWQiLCAmcmF3X21pbm9yKTsKKwlpZiAocmMgIT0gMSkKKwkJdXNhZ2UoRVhJVF9GQUlMVVJFKTsKKworCWlmIChyYXdfbWlub3IgPT0gMCkKKwkJZXJyeChFWElUX1JBV19BQ0NFU1MsCisJCSAgICAgXygiRGV2aWNlICclcycgaXMgdGhlIGNvbnRyb2wgcmF3IGRldmljZSAiCisJCSAgICAgICAiKHVzZSByYXc8Tj4gd2hlcmUgPE4+IGlzIGdyZWF0ZXIgdGhhbiB6ZXJvKSIpLAorCQkgICAgIHJhd19uYW1lKTsKKworCWlmIChkb19xdWVyeSkKKwkJcmV0dXJuIHF1ZXJ5KHJhd19taW5vciwgcmF3X25hbWUsIDApOworCisJLyoKKwkgKiBJdCdzIG5vdCBhIHF1ZXJ5LCBzbyB3ZSBzdGlsbCBoYXZlIHNvbWUgcGFyc2luZyB0byBkby4gIEhhdmUgd2UgYmVlbgorCSAqIGdpdmVuIGEgYmxvY2sgZGV2aWNlIGZpbGVuYW1lIG9yIGEgbWFqb3IvbWlub3IgcGFpcj8KKwkgKi8KKwlzd2l0Y2ggKGFyZ2MgLSBvcHRpbmQpIHsKKwljYXNlIDE6CisJCWJsb2NrX25hbWUgPSBhcmd2W29wdGluZF07CisJCXJldHZhbCA9IHN0YXQoYmxvY2tfbmFtZSwgJnN0YXRidWYpOworCQlpZiAocmV0dmFsKQorCQkJZXJyKEVYSVRfUkFXX0FDQ0VTUywKKwkJCSAgICBfKCJDYW5ub3QgbG9jYXRlIGJsb2NrIGRldmljZSAnJXMnIiksIGJsb2NrX25hbWUpOworCQlpZiAoIVNfSVNCTEsoc3RhdGJ1Zi5zdF9tb2RlKSkKKwkJCWVycngoRVhJVF9SQVdfQUNDRVNTLAorCQkJICAgICBfKCJEZXZpY2UgJyVzJyBpcyBub3QgYSBibG9jayBkZXZpY2UiKSwKKwkJCSAgICAgYmxvY2tfbmFtZSk7CisJCWJsb2NrX21ham9yID0gbWFqb3Ioc3RhdGJ1Zi5zdF9yZGV2KTsKKwkJYmxvY2tfbWlub3IgPSBtaW5vcihzdGF0YnVmLnN0X3JkZXYpOworCQlicmVhazsKKworCWNhc2UgMjoKKwkJYmxvY2tfbWFqb3IgPQorCQkgICAgc3RydG9sX29jdGFsX29yX2Vycihhcmd2W29wdGluZF0sCisJCQkJCV8oImZhaWxlZCB0byBwYXJzZSBhcmd1bWVudCIpKTsKKwkJYmxvY2tfbWlub3IgPQorCQkgICAgc3RydG9sX29jdGFsX29yX2Vycihhcmd2W29wdGluZCArIDFdLAorCQkJCQlfKCJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiKSk7CisJCWJyZWFrOworCisJZGVmYXVsdDoKKwkJdXNhZ2UoRVhJVF9GQUlMVVJFKTsKKwl9CisKKwlyZXR1cm4gYmluZChyYXdfbWlub3IsIGJsb2NrX21ham9yLCBibG9ja19taW5vcik7Cit9CisKK3ZvaWQgb3Blbl9yYXdfY3RsKHZvaWQpCit7CisJbWFzdGVyX2ZkID0gb3BlbihfUEFUSF9SQVdERVZDVEwsIE9fUkRXUiwgMCk7CisJaWYgKG1hc3Rlcl9mZCA8IDApIHsKKwkJbWFzdGVyX2ZkID0gb3BlbihfUEFUSF9SQVdERVZDVExfT0xELCBPX1JEV1IsIDApOworCQlpZiAobWFzdGVyX2ZkIDwgMCkKKwkJCWVycihFWElUX1JBV19BQ0NFU1MsCisJCQkgICAgXygiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyIpLAorCQkJICAgIF9QQVRIX1JBV0RFVkNUTCk7CisJfQorfQorCitzdGF0aWMgaW50IHF1ZXJ5KGludCBtaW5vcl9yYXcsIGNvbnN0IGNoYXIgKnJhd19uYW1lLCBpbnQgcXVpZXQpCit7CisJc3RydWN0IHJhd19jb25maWdfcmVxdWVzdCBycTsKKwlzdGF0aWMgaW50IGhhc193b3JrZWQgPSAwOworCisJaWYgKHJhd19uYW1lKSB7CisJCXN0cnVjdCBzdGF0IHN0YXRidWY7CisKKwkJaWYgKHN0YXQocmF3X25hbWUsICZzdGF0YnVmKSAhPSAwKQorCQkJZXJyKEVYSVRfUkFXX0FDQ0VTUywKKwkJCSAgICBfKCJDYW5ub3QgbG9jYXRlIHJhdyBkZXZpY2UgJyVzJyIpLCByYXdfbmFtZSk7CisJCWlmICghU19JU0NIUihzdGF0YnVmLnN0X21vZGUpKQorCQkJZXJyeChFWElUX1JBV19BQ0NFU1MsCisJCQkgICAgIF8oIlJhdyBkZXZpY2UgJyVzJyBpcyBub3QgYSBjaGFyYWN0ZXIgZGV2IiksCisJCQkgICAgIHJhd19uYW1lKTsKKwkJaWYgKG1ham9yKHN0YXRidWYuc3RfcmRldikgIT0gUkFXX01BSk9SKQorCQkJZXJyeChFWElUX1JBV19BQ0NFU1MsCisJCQkgICAgIF8oIkRldmljZSAnJXMnIGlzIG5vdCBhIHJhdyBkZXYiKSwgcmF3X25hbWUpOworCQltaW5vcl9yYXcgPSBtaW5vcihzdGF0YnVmLnN0X3JkZXYpOworCX0KKworCXJxLnJhd19taW5vciA9IG1pbm9yX3JhdzsKKwlpZiAoaW9jdGwobWFzdGVyX2ZkLCBSQVdfR0VUQklORCwgJnJxKSA8IDApIHsKKwkJaWYgKHF1aWV0ICYmIGVycm5vID09IEVOT0RFVikKKwkJCXJldHVybiAzOworCQlpZiAoaGFzX3dvcmtlZCAmJiBlcnJubyA9PSBFSU5WQUwpCisJCQlyZXR1cm4gMDsKKwkJZXJyKEVYSVRfUkFXX0lPQ1RMLCBfKCJFcnJvciBxdWVyeWluZyByYXcgZGV2aWNlIikpOworCX0KKworCS8qIElmIG9uZSBxdWVyeSBoYXMgd29ya2VkLCBtYXJrIHRoYXQgZmFjdCBzbyB0aGF0IHdlIGRvbid0IHJlcG9ydAorCSAqIHNwdXJpb3VzIGZhdGFsIGVycm9ycyBpZiByYXcoOCkgaGFzIGJlZW4gYnVpbHQgdG8gc3VwcG9ydCBtb3JlIHJhdworCSAqIG1pbm9yIG51bWJlcnMgdGhhbiB0aGUga2VybmVsIGhhcy4gKi8KKwloYXNfd29ya2VkID0gMTsKKwlpZiAocXVpZXQgJiYgIXJxLmJsb2NrX21ham9yICYmICFycS5ibG9ja19taW5vcikKKwkJcmV0dXJuIDA7CisJcHJpbnRmKF8oIiVzcmF3JWQ6ICBib3VuZCB0byBtYWpvciAlZCwgbWlub3IgJWRcbiIpLAorCSAgICAgICBfUEFUSF9SQVdERVZESVIsIG1pbm9yX3JhdywgKGludClycS5ibG9ja19tYWpvciwKKwkgICAgICAgKGludClycS5ibG9ja19taW5vcik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYmluZChpbnQgbWlub3JfcmF3LCBpbnQgYmxvY2tfbWFqb3IsIGludCBibG9ja19taW5vcikKK3sKKwlzdHJ1Y3QgcmF3X2NvbmZpZ19yZXF1ZXN0IHJxOworCisJcnEucmF3X21pbm9yID0gbWlub3JfcmF3OworCXJxLmJsb2NrX21ham9yID0gYmxvY2tfbWFqb3I7CisJcnEuYmxvY2tfbWlub3IgPSBibG9ja19taW5vcjsKKwlpZiAoaW9jdGwobWFzdGVyX2ZkLCBSQVdfU0VUQklORCwgJnJxKSA8IDApCisJCWVycihFWElUX1JBV19JT0NUTCwgXygiRXJyb3Igc2V0dGluZyByYXcgZGV2aWNlIikpOworCXByaW50ZihfKCIlc3JhdyVkOiAgYm91bmQgdG8gbWFqb3IgJWQsIG1pbm9yICVkXG4iKSwKKwkgICAgICAgX1BBVEhfUkFXREVWRElSLCByYXdfbWlub3IsIChpbnQpcnEuYmxvY2tfbWFqb3IsCisJICAgICAgIChpbnQpcnEuYmxvY2tfbWlub3IpOworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9yZXNpemVwYXJ0LjggYi9kaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjNlYWJkCi0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9yZXNpemVwYXJ0LjgKQEAgLTAsMCArMSwzOCBAQAorLlwiIHJlc2l6ZXBhcnQuOCAtLSBtYW4gcGFnZSBmb3IgcmVzaXplcGFydAorLlwiIENvcHlyaWdodCAyMDEyIFZpdmVrIEdveWFsIDx2Z295YWxAcmVkaGF0LmNvbT4KKy5cIiBDb3B5cmlnaHQgMjAxMiBSZWQgSGF0LCBJbmMuCisuXCIgTWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLlRIIFJFU0laRVBBUlQgOCAiSmFudWFyeSAyMDE1IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCityZXNpemVwYXJ0IFwtIHRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgbmV3IHNpemUgb2YgYSBwYXJ0aXRpb24KKy5TSCBTWU5PUFNJUworLkIgcmVzaXplcGFydAorLkkgZGV2aWNlIHBhcnRpdGlvbiBsZW5ndGgKKy5TSCBERVNDUklQVElPTgorLkIgcmVzaXplcGFydAordGVsbHMgdGhlIExpbnV4IGtlcm5lbCBhYm91dCB0aGUgbmV3IHNpemUgb2YgdGhlIHNwZWNpZmllZCBwYXJ0aXRpb24uCitUaGUgY29tbWFuZCBpcyBhIHNpbXBsZSB3cmFwcGVyIGFyb3VuZCB0aGUgInJlc2l6ZSBwYXJ0aXRpb24iIGlvY3RsLgorCitUaGlzIGNvbW1hbmQgZG9lc24ndCBtYW5pcHVsYXRlIHBhcnRpdGlvbnMgb24gYSBibG9jayBkZXZpY2UuCisKKy5TSCBQQVJBTUVURVJTCisuVFAKKy5JIGRldmljZQorVGhlIGRpc2sgZGV2aWNlLgorLlRQCisuSSBwYXJ0aXRpb24KK1RoZSBwYXJ0aXRpb24gbnVtYmVyLgorLlRQCisuSSBsZW5ndGgKK1RoZSBuZXcgbGVuZ3RoIG9mIHRoZSBwYXJ0aXRpb24gKGluIDUxMi1ieXRlIHNlY3RvcnMpLgorCisuU0ggU0VFIEFMU08KKy5CUiBhZGRwYXJ0ICg4KSwKKy5CUiBkZWxwYXJ0ICg4KSwKKy5CUiBmZGlzayAoOCksCisuQlIgcGFydGVkICg4KSwKKy5CUiBwYXJ0cHJvYmUgKDgpLAorLkJSIHBhcnR4ICg4KQorLlNIIEFWQUlMQUJJTElUWQorVGhlIHJlc2l6ZXBhcnQgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYyBiL2Rpc2stdXRpbHMvcmVzaXplcGFydC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhNjIzNWIKLS0tIC9kZXYvbnVsbAorKysgYi9kaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYwpAQCAtMCwwICsxLDExNSBAQAorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInBhcnR4LmgiCisjaW5jbHVkZSAic3lzZnMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKSB1c2FnZShGSUxFICogb3V0KQoreworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxsZW5ndGg+XG4iKSwKKwkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgbmV3IHNpemUgb2YgYSBwYXJ0aXRpb24uXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoVVNBR0VfSEVMUCwgb3V0KTsKKwlmcHV0cyhVU0FHRV9WRVJTSU9OLCBvdXQpOworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgicmVzaXplcGFydCg4KSIpKTsKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgaW50IGdldF9wYXJ0aXRpb25fc3RhcnQoaW50IGZkLCBpbnQgcGFydG5vLCB1aW50NjRfdCAqc3RhcnQpCit7CisJc3RydWN0IHN0YXQgc3Q7CisJc3RydWN0IHN5c2ZzX2N4dCBkaXNrID0gVUxfU1lTRlNDWFRfRU1QVFksCisJCQkgcGFydCA9IFVMX1NZU0ZTQ1hUX0VNUFRZOworCWRldl90IGRldm5vID0gMDsKKwlpbnQgcmMgPSAtMTsKKworCS8qCisJICogd2hvbGVkaXNrCisJICovCisJaWYgKGZzdGF0KGZkLCAmc3QpIHx8ICFTX0lTQkxLKHN0LnN0X21vZGUpKQorCQlnb3RvIGRvbmU7CisJZGV2bm8gPSBzdC5zdF9yZGV2OworCWlmIChzeXNmc19pbml0KCZkaXNrLCBkZXZubywgTlVMTCkpCisJCWdvdG8gZG9uZTsKKwkvKgorCSAqIHBhcnRpdGlvbgorCSAqLworCWRldm5vID0gc3lzZnNfcGFydG5vX3RvX2Rldm5vKCZkaXNrLCBwYXJ0bm8pOworCWlmICghZGV2bm8pCisJCWdvdG8gZG9uZTsKKwlpZiAoc3lzZnNfaW5pdCgmcGFydCwgZGV2bm8sICZkaXNrKSkKKwkJZ290byBkb25lOworCWlmIChzeXNmc19yZWFkX3U2NCgmcGFydCwgInN0YXJ0Iiwgc3RhcnQpKQorCQlnb3RvIGRvbmU7CisKKwlyYyA9IDA7Citkb25lOgorCXN5c2ZzX2RlaW5pdCgmcGFydCk7CisJc3lzZnNfZGVpbml0KCZkaXNrKTsKKwlyZXR1cm4gcmM7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlpbnQgYywgZmQsIHBhcnRubzsKKwljb25zdCBjaGFyICp3aG9sZWRpc2s7CisJdWludDY0X3Qgc3RhcnQ7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ImhlbHAiLCBub19hcmd1bWVudCwgMCwgJ2gnfSwKKwkJeyJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsIDAsICdWJ30sCisJCXtOVUxMLCBub19hcmd1bWVudCwgMCwgJzAnfSwKKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJWaCIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpCisJCXN3aXRjaCAoYykgeworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShzdGRvdXQpOworCQlkZWZhdWx0OgorCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJfQorCisJaWYgKGFyZ2MgIT0gNCkKKwkJdXNhZ2Uoc3RkZXJyKTsKKworCXdob2xlZGlzayA9IGFyZ3ZbMV07CisJcGFydG5vID0gc3RydG91MzJfb3JfZXJyKGFyZ3ZbMl0sIF8oImludmFsaWQgcGFydGl0aW9uIG51bWJlciBhcmd1bWVudCIpKTsKKworCWlmICgoZmQgPSBvcGVuKHdob2xlZGlzaywgT19SRE9OTFkpKSA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksIHdob2xlZGlzayk7CisKKwlpZiAoZ2V0X3BhcnRpdGlvbl9zdGFydChmZCwgcGFydG5vLCAmc3RhcnQpKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCIlczogZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgcGFydGl0aW9uIG51bWJlciAlcyIpLAorCQkJCXdob2xlZGlzaywgYXJndlsyXSk7CisKKwlpZiAocGFydHhfcmVzaXplX3BhcnRpdGlvbihmZCwgcGFydG5vLCBzdGFydCwKKwkJCXN0cnRvdTY0X29yX2Vycihhcmd2WzNdLCBfKCJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIpKSkpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uIikpOworCisJaWYgKGNsb3NlX2ZkKGZkKSAhPSAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJ3cml0ZSBmYWlsZWQiKSk7CisKKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvc2ZkaXNrLjggYi9kaXNrLXV0aWxzL3NmZGlzay44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZjZGU4NzIKLS0tIC9kZXYvbnVsbAorKysgYi9kaXNrLXV0aWxzL3NmZGlzay44CkBAIC0wLDAgKzEsNTA3IEBACisuXCIgc2ZkaXNrLjggLS0gbWFuIHBhZ2UgZm9yIHNmZGlzaworLlwiIENvcHlyaWdodCAoQykgMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKy5cIgorLlwiIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBtYWtlIGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcyBvZiB0aGlzCisuXCIgbWFudWFsIHByb3ZpZGVkIHRoZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIGFyZQorLlwiIHByZXNlcnZlZCBvbiBhbGwgY29waWVzLgorLlwiCisuXCIgUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgdGhpcworLlwiIG1hbnVhbCB1bmRlciB0aGUgY29uZGl0aW9ucyBmb3IgdmVyYmF0aW0gY29weWluZywgcHJvdmlkZWQgdGhhdCB0aGUKKy5cIiBlbnRpcmUgcmVzdWx0aW5nIGRlcml2ZWQgd29yayBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgYQorLlwiIHBlcm1pc3Npb24gbm90aWNlIGlkZW50aWNhbCB0byB0aGlzIG9uZS4KKy5cIgorLlRIIFNGRElTSyA4ICJKdW5lIDIwMTUiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK3NmZGlzayBcLSBkaXNwbGF5IG9yIG1hbmlwdWxhdGUgYSBkaXNrIHBhcnRpdGlvbiB0YWJsZQorLlNIIFNZTk9QU0lTCisuQiBzZmRpc2sKK1tvcHRpb25zXQorLkkgZGV2aWNlCisuUkIgWyBcLU4KKy5JUiBwYXJ0aXRpb24tbnVtYmVyIF0KKy5zcAorLkIgc2ZkaXNrCitbb3B0aW9uc10KKy5JIGNvbW1hbmQKKy5TSCBERVNDUklQVElPTgorLkIgc2ZkaXNrCitpcyBhIHNjcmlwdC1vcmllbnRlZCB0b29sIGZvciBwYXJ0aXRpb25pbmcgYW55IGJsb2NrIGRldmljZS4KKworU2luY2UgdmVyc2lvbiAyLjI2CisuQiBzZmRpc2sKK3N1cHBvcnRzIE1CUiAoRE9TKSwgR1BULCBTVU4gYW5kIFNHSSBkaXNrIGxhYmVscywgYnV0IG5vIGxvbmdlciBwcm92aWRlcyBhbnkKK2Z1bmN0aW9uYWxpdHkgZm9yIENIUyAoQ3lsaW5kZXItSGVhZC1TZWN0b3IpIGFkZHJlc3NpbmcuICBDSFMgaGFzCituZXZlciBiZWVuIGltcG9ydGFudCBmb3IgTGludXgsIGFuZCB0aGlzIGFkZHJlc3NpbmcgY29uY2VwdCBkb2VzIG5vdCBtYWtlIGFueQorc2Vuc2UgZm9yIG5ldyBkZXZpY2VzLgorLnNwCisuQiBzZmRpc2sKKyhzaW5jZSB2ZXJzaW9uIDIuMjYpIGFsaWducyB0aGUgc3RhcnQgYW5kIGVuZCBvZiBwYXJ0aXRpb25zIHRvCitibG9jay1kZXZpY2UgSS9PIGxpbWl0cyB3aGVuIHJlbGF0aXZlIHNpemVzIGFyZSBzcGVjaWZpZWQsIG9yIHdoZW4gdGhlCitkZWZhdWx0IHZhbHVlcyBhcmUgdXNlZC4KKy5zcAorLkIgc2ZkaXNrCitkb2VzIG5vdCBjcmVhdGUgdGhlIHN0YW5kYXJkIHN5c3RlbSBwYXJ0aXRpb25zIGZvciBTR0kgYW5kIFNVTiBkaXNrIGxhYmVscyBsaWtlCisuQlIgZmRpc2sgKDgpCitkb2VzLgorSXQgaXMgbmVjZXNzYXJ5IHRvIGV4cGxpY2l0bHkgY3JlYXRlIGFsbCBwYXJ0aXRpb25zIGluY2x1ZGluZyB3aG9sZS1kaXNrIHN5c3RlbQorcGFydGl0aW9ucy4KKworLlNIIENPTU1BTkRTCitUaGUgY29tbWFuZHMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4KKy5UUAorLlJCIFsgXC1OICIgXGZJcGFydGl0aW9uLW51bWJlclxmUl0gIiBcZklkZXZpY2VcZlIKK1RoZSBkZWZhdWx0IFxmQnNmZGlza1xmUiBjb21tYW5kIGlzIHRvIHJlYWQgdGhlIHNwZWNpZmljYXRpb24gZm9yIHRoZSBkZXNpcmVkCitwYXJ0aXRpb25pbmcgb2YgXGZJZGV2aWNlXGZSIGZyb20gc3RhbmRhcmQgaW5wdXQsIGFuZCB0aGVuIGNyZWF0ZSBhIHBhcnRpdGlvbgordGFibGUgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpY2F0aW9uLiAgU2VlIGJlbG93IGZvciB0aGUgZGVzY3JpcHRpb24gb2YgdGhlCitpbnB1dCBmb3JtYXQuICBJZiBzdGFuZGFyZCBpbnB1dCBpcyBhIHRlcm1pbmFsLCB0aGVuIFxmQnNmZGlza1xmUiBzdGFydHMgYW4KK2ludGVyYWN0aXZlIHNlc3Npb24uCisuc3AKK0lmIHRoZSBvcHRpb24gXGZCXC1OXGZSIGlzIHNwZWNpZmllZCwgdGhlbiB0aGUgY2hhbmdlcyBhcmUgYXBwbGllZCB0bwordGhlIHBhcnRpdGlvbiBhZGRyZXNzZWQgYnkgXGZJcGFydGl0aW9uLW51bWJlclxmUi4gIFRoZSB1bnNwZWNpZmllZCBmaWVsZHMKK29mIHRoZSBwYXJ0aXRpb24gYXJlIG5vdCBtb2RpZmllZC4KKy5zcAorTm90ZSB0aGF0IGl0J3MgcG9zc2libGUgdG8gYWRkcmVzcyBhbiB1bnVzZWQgcGFydGl0aW9uIHdpdGggXGZCXC1OXGZSLgorRm9yIGV4YW1wbGUsIGFuIE1CUiBhbHdheXMgY29udGFpbnMgNCBwYXJ0aXRpb25zLCBidXQgdGhlIG51bWJlciBvZiB1c2VkCitwYXJ0aXRpb25zIG1heSBiZSBzbWFsbGVyLiAgSW4gdGhpcyBjYXNlIFxmQnNmZGlza1xmUiBmb2xsb3dzIHRoZSBkZWZhdWx0Cit2YWx1ZXMgZnJvbSB0aGUgcGFydGl0aW9uIHRhYmxlIGFuZCBkb2VzIG5vdCB1c2UgYnVpbHQtaW4gZGVmYXVsdHMgZm9yIHRoZQordW51c2VkIHBhcnRpdGlvbiBnaXZlbiB3aXRoIFxmQlwtTlxmUi4gIFNlZSBhbHNvIFxmQlwtXC1hcHBlbmRcZlIuCisuVFAKKy5CUiBcLUEgLCAiIFwtXC1hY3RpdmF0ZSBcZklkZXZpY2UgIiBbIFxmSXBhcnRpdGlvbi1udW1iZXIgLi4uXQorU3dpdGNoIG9uIHRoZSBib290YWJsZSBmbGFnIGZvciB0aGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMuCitJZiBubyBcZklwYXJ0aXRpb24tbnVtYmVyXGZSIGlzIHNwZWNpZmllZCwKK3RoZW4gbGlzdCB0aGUgcGFydGl0aW9ucyB3aXRoIGFuIGVuYWJsZWQgZmxhZy4KKy5UUAorLkJSICJcLVwtZGVsZXRlIFxmSWRldmljZSAiIFsgXGZJcGFydGl0aW9uLW51bWJlciAuLi5dCitEZWxldGUgYWxsIG9yIHRoZSBzcGVjaWZpZWQgcGFydGl0aW9ucy4KKy5UUAorLkJSIFwtZCAsICIgXC1cLWR1bXAgIiBcZklkZXZpY2VcZlIKK0R1bXAgdGhlIHBhcnRpdGlvbnMgb2YgYSBkZXZpY2UgaW4gYSBmb3JtYXQgdGhhdCBpcyB1c2FibGUgYXMgaW5wdXQgdG8gXGZCc2ZkaXNrXGZSLgorU2VlIHRoZSBzZWN0aW9uIFxmQkJBQ0tJTkcgVVAgVEhFIFBBUlRJVElPTiBUQUJMRVxmUi4KKy5UUAorLkJSIFwtZyAsICIgXC1cLXNob3dcLWdlb21ldHJ5ICIgWyBcZklkZXZpY2UgLi4uXQorTGlzdCB0aGUgZ2VvbWV0cnkgb2YgYWxsIG9yIHRoZSBzcGVjaWZpZWQgZGV2aWNlcy4gRm9yIGJhY2t3YXJkCitjb21wYXRpYmlsaXR5IHRoZSBkZXByZWNhdGVkIG9wdGlvbiBcZkJcLVwtc2hvd1wtcHRcLWdlb21ldHJ5XGZSIGhhdmUgdGhlIHNhbWUKK21lYW5pbmcgYXMgdGhpcyBvbmUuCisuVFAKKy5CUiBcLUogLCAiIFwtXC1qc29uICIgXGZJZGV2aWNlXGZSCitEdW1wIHRoZSBwYXJ0aXRpb25zIG9mIGEgZGV2aWNlIGluIEpTT04gZm9ybWF0LiAgTm90ZSB0aGF0IFxmQnNmZGlza1xmUiBpcworbm90IGFibGUgdG8gdXNlIEpTT04gYXMgaW5wdXQgZm9ybWF0LgorLlRQCisuQlIgXC1sICwgIiBcLVwtbGlzdCAiIFsgXGZJZGV2aWNlIC4uLl0KK0xpc3QgdGhlIHBhcnRpdGlvbnMgb2YgYWxsIG9yIHRoZSBzcGVjaWZpZWQgZGV2aWNlcy4gIFRoaXMgY29tbWFuZCBjYW4gYmUgdXNlZAordG9nZXRoZXIgd2l0aCBcZkJcLVwtdmVyaWZ5XGZSLgorLlRQCisuQlIgXC1GICwgIiBcLVwtbGlzdC1mcmVlICIgWyBcZklkZXZpY2UgLi4uXQorTGlzdCB0aGUgZnJlZSB1bnBhcnRpdGlvbmVkIGFyZWFzIG9uIGFsbCBvciB0aGUgc3BlY2lmaWVkIGRldmljZXMuCisuVFAKKy5CUiAiXC1cLXBhcnRcLWF0dHJzIFxmSWRldmljZSBwYXJ0aXRpb24tbnVtYmVyICIgWyBcZklhdHRyaWJ1dGVzIF0KK0NoYW5nZSB0aGUgR1BUIHBhcnRpdGlvbiBhdHRyaWJ1dGUgYml0cy4gIElmIFxmSWF0dHJpYnV0ZXNcZlIgaXMgbm90IHNwZWNpZmllZCwKK3RoZW4gcHJpbnQgdGhlIGN1cnJlbnQgcGFydGl0aW9uIHNldHRpbmdzLiAgVGhlIFxmSWF0dHJpYnV0ZXNcZlIgYXJndW1lbnQgaXMgYQorY29tbWEtIG9yIHNwYWNlLWRlbGltaXRlZCBsaXN0IG9mIGJpdHMuICBUaGUgY3VycmVudGx5IHN1cHBvcnRlZCBhdHRyaWJ1dGUKK2JpdHMgYXJlOiBSZXF1aXJlZFBhcnRpdGlvbiwgTm9CbG9ja0lPUHJvdG9jb2wsIExlZ2FjeUJJT1NCb290YWJsZQorYW5kIEdVSUQtc3BlY2lmaWMgYml0cyBpbiB0aGUgcmFuZ2UgZnJvbSA0OCB0byA2My4gIEZvciBleGFtcGxlLCB0aGUgc3RyaW5nCisiUmVxdWlyZWRQYXJ0aXRpb24sNTAsNTEiIHNldHMgdGhyZWUgYml0cy4KKy5UUAorLkJSICJcLVwtcGFydFwtbGFiZWwgXGZJZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIgIiBbIFxmSWxhYmVsIF0KK0NoYW5nZSB0aGUgR1BUIHBhcnRpdGlvbiBuYW1lIChsYWJlbCkuICBJZiBcZklsYWJlbFxmUiBpcyBub3Qgc3BlY2lmaWVkLAordGhlbiBwcmludCB0aGUgY3VycmVudCBwYXJ0aXRpb24gbGFiZWwuCisuVFAKKy5CUiAiXC1cLXBhcnRcLXR5cGUgXGZJZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIgIiBbIFxmSXR5cGUgXQorQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZS4gIElmIFxmSXR5cGVcZlIgaXMgbm90IHNwZWNpZmllZCwgdGhlbiBwcmludCB0aGUKK2N1cnJlbnQgcGFydGl0aW9uIHR5cGUuICBUaGUgXGZJdHlwZVxmUiBhcmd1bWVudCBpcyBoZXhhZGVjaW1hbCBmb3IgTUJSLAorb3IgYSBHVUlEIGZvciBHUFQuICBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB0aGUgb3B0aW9ucyBcZkJcLWNcZlIgYW5kCitcZkJcLVwtaWRcZlIgaGF2ZSB0aGUgc2FtZSBtZWFuaW5nIGFzIHRoaXMgb25lLgorLlRQCisuQlIgIlwtXC1wYXJ0XC11dWlkIFxmSWRldmljZSBwYXJ0aXRpb24tbnVtYmVyICIgWyBcZkl1dWlkIF0KK0NoYW5nZSB0aGUgR1BUIHBhcnRpdGlvbiBVVUlELiAgSWYgXGZJdXVpZFxmUiBpcyBub3Qgc3BlY2lmaWVkLAordGhlbiBwcmludCB0aGUgY3VycmVudCBwYXJ0aXRpb24gVVVJRC4KKy5UUAorLkJSIFwtciAsICIgXC1cLXJlb3JkZXIgIiBcZklkZXZpY2UKK1JlbnVtYmVyIHRoZSBwYXJ0aXRpb25zLCBvcmRlcmluZyB0aGVtIGJ5IHRoZWlyIHN0YXJ0IG9mZnNldC4KKy5UUAorLkJSIFwtcyAsICIgXC1cLXNob3dcLXNpemUgIiBbIFxmSWRldmljZSAuLi5dCitMaXN0IHRoZSBzaXplcyBvZiBhbGwgb3IgdGhlIHNwZWNpZmllZCBkZXZpY2VzLgorLlRQCisuQlIgXC1UICwgIiBcLVwtbGlzdFwtdHlwZXMiCitQcmludCBhbGwgc3VwcG9ydGVkIHR5cGVzIGZvciB0aGUgY3VycmVudCBkaXNrIGxhYmVsIG9yIHRoZSBsYWJlbCBzcGVjaWZpZWQgYnkKK1xmQlwtXC1sYWJlbFxmUi4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcmlmeSAiIFsgXGZJZGV2aWNlIC4uLl0KK1Rlc3Qgd2hldGhlciB0aGUgcGFydGl0aW9uIHRhYmxlIGFuZCBwYXJ0aXRpb25zIHNlZW0gY29ycmVjdC4KKworLlNIIE9QVElPTlMKKy5UUAorLkJSIFwtYSAsICIgXC1cLWFwcGVuZCIKK0Rvbid0IGNyZWF0ZSBhIG5ldyBwYXJ0aXRpb24gdGFibGUsIGJ1dCBvbmx5IGFwcGVuZCB0aGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMuCisuVFAKKy5CUiBcLWIgLCAiIFwtXC1iYWNrdXAiCitCYWNrIHVwIHRoZSBjdXJyZW50IHBhcnRpdGlvbiB0YWJsZSBzZWN0b3JzIGJlZm9yZSBzdGFydGluZyB0aGUgcGFydGl0aW9uaW5nLgorVGhlIGRlZmF1bHQgYmFja3VwIGZpbGUgbmFtZSBpcyB+L3NmZGlzay08ZGV2aWNlPi08b2Zmc2V0Pi5iYWs7IHRvIHVzZSBhbm90aGVyCituYW1lIHNlZSBvcHRpb24gXGZCXC1PXGZSLCBcZkJcLVwtYmFja3VwXC1maWxlXGZSLgorLlRQCisuQlIgXC1cLWNvbG9yIFsgPVxmSXdoZW4gXQorQ29sb3JpemUgdGhlIG91dHB1dC4gIFRoZSBvcHRpb25hbCBhcmd1bWVudCBcZkl3aGVuXGZQCitjYW4gYmUgXGZCYXV0b1xmUiwgXGZCbmV2ZXJcZlIgb3IgXGZCYWx3YXlzXGZSLiAgSWYgdGhlIFxmSXdoZW5cZlIgYXJndW1lbnQgaXMgb21pdHRlZCwKK2l0IGRlZmF1bHRzIHRvIFxmQmF1dG9cZlIuICBUaGUgY29sb3JzIGNhbiBiZSBkaXNhYmxlZDsgZm9yIHRoZSBjdXJyZW50IGJ1aWx0LWluIGRlZmF1bHQKK3NlZSB0aGUgXGZCXC1cLWhlbHBcZlIgb3V0cHV0LiAgU2VlIGFsc28gdGhlIFxmQkNPTE9SU1xmUiBzZWN0aW9uLgorLlRQCisuQlIgXC1mICwgIiBcLVwtZm9yY2UiCitEaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZy4KKy5UUAorLkJSIFwtXC1MaW51eAorRGVwcmVjYXRlZCBhbmQgaWdub3JlZCBvcHRpb24uICBQYXJ0aXRpb25pbmcgdGhhdCBpcyBjb21wYXRpYmxlIHdpdGgKK0xpbnV4IChhbmQgb3RoZXIgbW9kZXJuIG9wZXJhdGluZyBzeXN0ZW1zKSBpcyB0aGUgZGVmYXVsdC4KKy5UUAorLkJSIFwtbiAsICIgXC1cLW5vXC1hY3QiCitEbyBldmVyeXRoaW5nIGV4Y2VwdCB3cml0aW5nIHRvIHRoZSBkZXZpY2UuCisuVFAKKy5CIFwtXC1ub1wtcmVyZWFkCitEbyBub3QgY2hlY2sgdGhyb3VnaCB0aGUgcmUtcmVhZC1wYXJ0aXRpb24tdGFibGUgaW9jdGwgd2hldGhlciB0aGUgZGV2aWNlIGlzIGluIHVzZS4KKy5UUAorLkIgXC1cLW5vXC10ZWxsXC1rZXJuZWwKK0Rvbid0IHRlbGwgdGhlIGtlcm5lbCBhYm91dCBwYXJ0aXRpb24gY2hhbmdlcy4gVGhpcyBvcHRpb24gaXMgcmVjb21tZW5kZWQgdG9nZXRoZXIKK3dpdGggXGZCXC1cLW5vXC1yZXJlYWRcZlIgdG8gbW9kaWZ5IGEgcGFydGl0aW9uIG9uIHVzZWQgZGlzay4gVGhlIG1vZGlmaWVkIHBhcnRpdGlvbgorc2hvdWxkIG5vdCBiZSB1c2VkIChlLmcuIG1vdW50ZWQpLgorLlRQCisuQlIgXC1PICwgIiBcLVwtYmFja3VwXC1maWxlICIgXGZJcGF0aAorT3ZlcnJpZGUgdGhlIGRlZmF1bHQgYmFja3VwIGZpbGUgbmFtZS4gIE5vdGUgdGhhdCB0aGUgZGV2aWNlIG5hbWUgYW5kIG9mZnNldAorYXJlIGFsd2F5cyBhcHBlbmRlZCB0byB0aGUgZmlsZSBuYW1lLgorLlRQCisuQlIgXC1cLW1vdmUtZGF0YSBbID1cZklwYXRoIF0KK01vdmUgZGF0YSBhZnRlciBwYXJ0aXRpb24gcmVsb2NhdGlvbiwgZm9yIGV4YW1wbGUgd2hlbiBtb3ZpbmcgdGhlIGJlZ2lubmluZworb2YgYSBwYXJ0aXRpb24gdG8gYW5vdGhlciBwbGFjZSBvbiB0aGUgZGlzay4gIFRoZSBzaXplIG9mIHRoZSBwYXJ0aXRpb24gaGFzCit0byByZW1haW4gdGhlIHNhbWUsIHRoZSBuZXcgYW5kIG9sZCBsb2NhdGlvbiBtYXkgb3ZlcmxhcC4gIFRoaXMgb3B0aW9uIHJlcXVpcmVzCitvcHRpb24gXGZCXC1OXGZSIGluIG9yZGVyIHRvIGJlIHByb2Nlc3NlZCBvbiBvbmUgc3BlY2lmaWMgcGFydGl0aW9uIG9ubHkuCisKK1RoZSBcZklwYXRoXGZSIG92ZXJyaWRlcyB0aGUgZGVmYXVsdCBsb2cgZmlsZSBuYW1lCisodGhlIGRlZmF1bHQgaXMgfi9zZmRpc2stPGRldm5hbWU+Lm1vdmUpLiAgVGhlIGxvZyBmaWxlIGNvbnRhaW5zIGluZm9ybWF0aW9uCithYm91dCBhbGwgcmVhZC93cml0ZSBvcGVyYXRpb25zIG9uIHRoZSBwYXJ0aXRpb24gZGF0YS4KKworTm90ZSB0aGF0IHRoaXMgb3BlcmF0aW9uIGlzIHJpc2t5IGFuZCBub3QgYXRvbWljLiBcZkJEb24ndCBmb3JnZXQgdG8gYmFja3VwIHlvdXIgZGF0YSFcZlIKKworSW4gdGhlIGV4YW1wbGUgYmVsb3csIHRoZSBmaXJzdCBjb21tYW5kIGNyZWF0ZXMgYSAxMDBNaUIgZnJlZSBhcmVhIGJlZm9yZQordGhlIGZpcnN0IHBhcnRpdGlvbiBhbmQgbW92ZXMgdGhlIGRhdGEgaXQgY29udGFpbnMgKGUuZy4gYSBmaWxlc3lzdGVtKSwKK3RoZSBuZXh0IGNvbW1hbmQgY3JlYXRlcyBhIG5ldyBwYXJ0aXRpb24gZnJvbSB0aGUgZnJlZSBzcGFjZSAoYXQgb2Zmc2V0IDIwNDgpLAorYW5kIHRoZSBsYXN0IGNvbW1hbmQgcmVvcmRlcnMgcGFydGl0aW9ucyB0byBtYXRjaCBkaXNrIG9yZGVyCisodGhlIG9yaWdpbmFsIHNkYzEgd2lsbCBiZWNvbWUgc2RjMikuCisuUlMKKy5zcAorLkIgImVjaG8gJysxMDBNLCcgfCBzZmRpc2sgLS1tb3ZlLWRhdGEgL2Rldi9zZGMgLU4gMSIKKy5icgorLkIgImVjaG8gJzIwNDgsJyB8IHNmZGlzayAvZGV2L3NkYyAtLWFwcGVuZAorLmJyCisuQiBzZmRpc2sgL2Rldi9zZGMgLS1yZW9yZGVyCisuc3AKKy5SRQorCisuVFAKKy5CUiBcLW8gLCAiIFwtXC1vdXRwdXQgIiBcZklsaXN0CitTcGVjaWZ5IHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHByaW50LiAgVXNlCisuQiBcLVwtaGVscAordG8gZ2V0IGEgbGlzdCBvZiBhbGwgc3VwcG9ydGVkIGNvbHVtbnMuCisuc3AKK1RoZSBkZWZhdWx0IGxpc3Qgb2YgY29sdW1ucyBtYXkgYmUgZXh0ZW5kZWQgaWYgXGZJbGlzdFxmUCBpcworc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgXGZJK2xpc3RcZlAgKGUuZy4gXGZCLW8gK1VVSURcZlApLgorLlRQCisuQlIgXC1xICwgIiBcLVwtcXVpZXQiCitTdXBwcmVzcyBleHRyYSBpbmZvIG1lc3NhZ2VzLgorLlRQCisuQlIgXC11ICwgIiBcLVwtdW5pdCBTIgorRGVwcmVjYXRlZCBvcHRpb24uICBPbmx5IHRoZSBzZWN0b3IgdW5pdCBpcyBzdXBwb3J0ZWQuCisuVFAKKy5CUiBcLVggLCAiIFwtXC1sYWJlbCAiIFxmSXR5cGUKK1NwZWNpZnkgdGhlIGRpc2sgbGFiZWwgdHlwZSAoZS5nLiBcZkJkb3NcZlIsIFxmQmdwdFxmUiwgLi4uKS4gIElmIHRoaXMgb3B0aW9uCitpcyBub3QgZ2l2ZW4sIHRoZW4gXGZCc2ZkaXNrXGZSIGRlZmF1bHRzIHRvIHRoZSBleGlzdGluZyBsYWJlbCwgYnV0IGlmIHRoZXJlCitpcyBubyBsYWJlbCBvbiB0aGUgZGV2aWNlIHlldCwgdGhlbiB0aGUgdHlwZSBkZWZhdWx0cyB0byBcZkJkb3NcZlIuCisuVFAKKy5CUiBcLVkgLCAiIFwtXC1sYWJlbFwtbmVzdGVkICIgXGZJdHlwZQorRm9yY2UgZWRpdGluZyBvZiBhIG5lc3RlZCBkaXNrIGxhYmVsLiAgVGhlIHByaW1hcnkgZGlzayBsYWJlbCBoYXMgdG8gZXhpc3QgYWxyZWFkeS4KK1RoaXMgb3B0aW9uIGFsbG93cyB0byBlZGl0IGZvciBleGFtcGxlIGEgaHlicmlkL3Byb3RlY3RpdmUgTUJSIG9uIGRldmljZXMgd2l0aCBHUFQuCisKKy5UUAorLkJSIC13ICwgIiBcLVwtd2lwZSAiXGZJd2hlbgorV2lwZSBmaWxlc3lzdGVtLCBSQUlEIGFuZCBwYXJ0aXRpb24tdGFibGUgc2lnbmF0dXJlcyBmcm9tIHRoZSBkZXZpY2UsIGluIG9yZGVyCit0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zLiAgVGhlIGFyZ3VtZW50IFxmSXdoZW5cZlIgY2FuIGJlIFxmQmF1dG9cZlIsCitcZkJuZXZlclxmUiBvciBcZkJhbHdheXNcZlIuICBXaGVuIHRoaXMgb3B0aW9uIGlzIG5vdCBnaXZlbiwgdGhlIGRlZmF1bHQgaXMKK1xmQmF1dG9cZlIsIGluIHdoaWNoIGNhc2Ugc2lnbmF0dXJlcyBhcmUgd2lwZWQgb25seSB3aGVuIGluIGludGVyYWN0aXZlIG1vZGUuCitJbiBhbGwgY2FzZXMgZGV0ZWN0ZWQgc2lnbmF0dXJlcyBhcmUgcmVwb3J0ZWQgYnkgd2FybmluZyBtZXNzYWdlcworYmVmb3JlIGEgbmV3IHBhcnRpdGlvbiB0YWJsZSBpcyBjcmVhdGVkLiAgU2VlIGFsc28KKy5CUiB3aXBlZnMgKDgpCitjb21tYW5kLgorCisuVFAKKy5CUiAtVyAsICIgXC1cLXdpcGUtcGFydGl0aW9ucyAiXGZJd2hlbgorV2lwZSBmaWxlc3lzdGVtLCBSQUlEIGFuZCBwYXJ0aXRpb24tdGFibGUgc2lnbmF0dXJlcyBmcm9tIGEgbmV3bHkgY3JlYXRlZAorcGFydGl0aW9ucywgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4gIFRoZSBhcmd1bWVudCBcZkl3aGVuXGZSIGNhbgorYmUgXGZCYXV0b1xmUiwgXGZCbmV2ZXJcZlIgb3IgXGZCYWx3YXlzXGZSLiAgV2hlbiB0aGlzIG9wdGlvbiBpcyBub3QgZ2l2ZW4sIHRoZQorZGVmYXVsdCBpcyBcZkJhdXRvXGZSLCBpbiB3aGljaCBjYXNlIHNpZ25hdHVyZXMgYXJlIHdpcGVkIG9ubHkgd2hlbiBpbgoraW50ZXJhY3RpdmUgbW9kZSBhbmQgYWZ0ZXIgY29uZmlybWF0aW9uIGJ5IHVzZXIuICBJbiBhbGwgY2FzZXMgZGV0ZWN0ZWQKK3NpZ25hdHVyZXMgYXJlIHJlcG9ydGVkIGJ5IHdhcm5pbmcgbWVzc2FnZXMgYWZ0ZXIgYSBuZXcgcGFydGl0aW9uIGlzIGNyZWF0ZWQuCitTZWUgYWxzbworLkJSIHdpcGVmcyAoOCkKK2NvbW1hbmQuCisKKy5UUAorLkJSIFwtdiAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisKKy5TSCAiSU5QVVQgRk9STUFUUyIKKy5CIHNmZGlzaworc3VwcG9ydHMgdHdvIGlucHV0IGZvcm1hdHMgYW5kIGdlbmVyaWMgaGVhZGVyIGxpbmVzLgorCisuQiBIZWFkZXIgbGluZXMKKy5SUworVGhlIG9wdGlvbmFsIGhlYWRlciBsaW5lcyBzcGVjaWZ5IGdlbmVyaWMgaW5mb3JtYXRpb24gdGhhdCBhcHBseSB0byB0aGUgcGFydGl0aW9uCit0YWJsZS4gIFRoZSBoZWFkZXItbGluZSBmb3JtYXQgaXM6CisuUlMKKy5zcAorLkIgIjxuYW1lPjogPHZhbHVlPiIKKy5zcAorLlJFCitUaGUgY3VycmVudGx5IHJlY29nbml6ZWQgaGVhZGVycyBhcmU6CisuUlMKKy5UUAorLkIgdW5pdAorU3BlY2lmeSB0aGUgcGFydGl0aW9uaW5nIHVuaXQuICBUaGUgb25seSBzdXBwb3J0ZWQgdW5pdCBpcyBcZkJzZWN0b3JzXGZSLgorLlRQCisuQiBsYWJlbAorU3BlY2lmeSB0aGUgcGFydGl0aW9uIHRhYmxlIHR5cGUuICBGb3IgZXhhbXBsZSBcZkJkb3NcZlIgb3IgXGZCZ3B0XGZSLgorLlRQCisuQiBsYWJlbC1pZAorU3BlY2lmeSB0aGUgcGFydGl0aW9uIHRhYmxlIGlkZW50aWZpZXIuICBJdCBzaG91bGQgYmUgYSAgaGV4YWRlY2ltYWwgbnVtYmVyCisod2l0aCBhIDB4IHByZWZpeCkgZm9yIE1CUiBhbmQgYSBVVUlEIGZvciBHUFQuCisuUkUKKy5zcAorTm90ZSB0aGF0IGl0IGlzIG9ubHkgcG9zc2libGUgdG8gdXNlIGhlYWRlciBsaW5lcyBiZWZvcmUgdGhlIGZpcnN0IHBhcnRpdGlvbgoraXMgc3BlY2lmaWVkIGluIHRoZSBpbnB1dC4KKy5SRQorCisuQiBVbm5hbWVkLWZpZWxkcyBmb3JtYXQKKy5SUworLlJTCisuc3AKKy5JIHN0YXJ0IHNpemUgdHlwZSBib290YWJsZQorLnNwCisuUkUKK3doZXJlIGVhY2ggbGluZSBmaWxscyBvbmUgcGFydGl0aW9uIGRlc2NyaXB0b3IuCisuc3AKK0ZpZWxkcyBhcmUgc2VwYXJhdGVkIGJ5IHdoaXRlc3BhY2UsIGNvbW1hIG9yIHNlbWljb2xvbiBwb3NzaWJseQorZm9sbG93ZWQgYnkgd2hpdGVzcGFjZTsgaW5pdGlhbCBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZSBpcyBpZ25vcmVkLgorTnVtYmVycyBjYW4gYmUgb2N0YWwsIGRlY2ltYWwgb3IgaGV4YWRlY2ltYWw7IGRlY2ltYWwgaXMgdGhlIGRlZmF1bHQuCitXaGVuIGEgZmllbGQgaXMgYWJzZW50LCBlbXB0eSBvciBzcGVjaWZpZWQgYXMgJy0nIGEgZGVmYXVsdCB2YWx1ZSBpcwordXNlZC4gIEJ1dCB3aGVuIHRoZSBcZkItTlxmUiBvcHRpb24gKGNoYW5nZSBhIHNpbmdsZSBwYXJ0aXRpb24pIGlzCitnaXZlbiwgdGhlIGRlZmF1bHQgZm9yIGVhY2ggZmllbGQgaXMgaXRzIHByZXZpb3VzIHZhbHVlLgorLnNwCitUaGUgZGVmYXVsdCB2YWx1ZSBvZgorLkkgc3RhcnQKK2lzIHRoZSBmaXJzdCBub24tYXNzaWduZWQgc2VjdG9yIGFsaWduZWQgYWNjb3JkaW5nIHRvIGRldmljZSBJL08gbGltaXRzLgorVGhlIGRlZmF1bHQgc3RhcnQgb2Zmc2V0IGZvciB0aGUgZmlyc3QgcGFydGl0aW9uIGlzIDEgTWlCLiAgVGhlIG9mZnNldCBtYXkKK2JlIGZvbGxvd2VkIGJ5IHRoZSBtdWx0aXBsaWNhdGl2ZSBzdWZmaXhlcyAoS2lCLCBNaUIsIEdpQiwgVGlCLCBQaUIsCitFaUIsIFppQiBhbmQgWWlCKSB0aGVuIHRoZSBudW1iZXIgaXMgaW50ZXJwcmV0ZWQgYXMgb2Zmc2V0IGluIGJ5dGVzLgorLnNwCitUaGUgZGVmYXVsdCB2YWx1ZSBvZgorLkkgc2l6ZQoraW5kaWNhdGVzICJhcyBtdWNoIGFzIHBvc3NpYmxlIjsgaS5lLiB1bnRpbCB0aGUgbmV4dCBwYXJ0aXRpb24gb3IKK2VuZC1vZi1kZXZpY2UuICBBIG51bWVyaWNhbCBhcmd1bWVudCBpcyBieSBkZWZhdWx0IGludGVycHJldGVkIGFzIGEKK251bWJlciBvZiBzZWN0b3JzLCBob3dldmVyIGlmIHRoZSBzaXplIGlzIGZvbGxvd2VkIGJ5IG9uZSBvZiB0aGUKK211bHRpcGxpY2F0aXZlIHN1ZmZpeGVzIChLaUIsIE1pQiwgR2lCLCBUaUIsIFBpQiwgRWlCLCBaaUIgYW5kIFlpQikKK3RoZW4gdGhlIG51bWJlciBpcyBpbnRlcnByZXRlZCBhcyB0aGUgc2l6ZSBvZiB0aGUgcGFydGl0aW9uIGluIGJ5dGVzCithbmQgaXQgaXMgdGhlbiBhbGlnbmVkIGFjY29yZGluZyB0byB0aGUgZGV2aWNlIEkvTyBsaW1pdHMuICBBICcrJyBjYW4KK2JlIHVzZWQgaW5zdGVhZCBvZiBhIG51bWJlciB0byBlbmxhcmdlIHRoZSBwYXJ0aXRpb24gYXMgbXVjaCBhcworcG9zc2libGUuICBOb3RlICcrJyBpcyBlcXVpdmFsZW50IHRvIHRoZSBkZWZhdWx0IGJlaGF2aW91ciBmb3IgYSBuZXcKK3BhcnRpdGlvbjsgZXhpc3RpbmcgcGFydGl0aW9ucyB3aWxsIGJlIHJlc2l6ZWQgYXMgcmVxdWlyZWQuCisuc3AKK1RoZSBwYXJ0aXRpb24KKy5JIHR5cGUKK2lzIGdpdmVuIGluIGhleCBmb3IgTUJSIChET1MpLCB3aXRob3V0IHRoZSAweCBwcmVmaXgsIGEgR1VJRCBzdHJpbmcgZm9yIEdQVCwgb3IKK2Egc2hvcnRjdXQ6CisuUlMKKy5UUAorLkIgTAorTGludXg7IG1lYW5zIDgzIGZvciBNQlIgYW5kIDBGQzYzREFGLTg0ODMtNDc3Mi04RTc5LTNENjlEODQ3N0RFNCBmb3IgR1BULgorLlRQCisuQiBTCitzd2FwIGFyZWE7IG1lYW5zIDgyIGZvciBNQlIgYW5kIDA2NTdGRDZELUE0QUItNDNDNC04NEU1LTA5MzNDODRCNEY0RiBmb3IgR1BUCisuVFAKKy5CIEUKK2V4dGVuZGVkIHBhcnRpdGlvbjsgbWVhbnMgNSBmb3IgTUJSCisuVFAKKy5CIEgKK2hvbWUgcGFydGl0aW9uOyBtZWFucyA5MzNBQzdFMS0yRUI0LTRGMTMtQjg0NC0wRTE0RTJBRUY5MTUgZm9yIEdQVAorLlRQCisuQiBYCitsaW51eCBleHRlbmRlZCBwYXJ0aXRpb247IG1lYW5zIDg1IGZvciBNQlIuCisuVFAKKy5CIFUKK0VGSSBTeXN0ZW0gcGFydGl0aW9uLCBtZWFucyBFRiBmb3IgTUJSIGFuZCBDMTJBNzMyOC1GODFGLTExRDItQkE0Qi0wMEEwQzkzRUM5M0IgZm9yIEdQVAorLlJFCisuUFAKK1RoZSBkZWZhdWx0CisuSSB0eXBlCit2YWx1ZSBpcworLkkgTAorCisuSSBib290YWJsZQoraXMgc3BlY2lmaWVkIGFzIFtcZkIqXGZSfFxmQi1cZlJdLCB3aXRoIGFzIGRlZmF1bHQgbm90LWJvb3RhYmxlLiAgVGhlCit2YWx1ZSBvZiB0aGlzIGZpZWxkIGlzIGlycmVsZXZhbnQgZm9yIExpbnV4IC0gd2hlbiBMaW51eCBydW5zIGl0IGhhcworYmVlbiBib290ZWQgYWxyZWFkeSAtIGJ1dCBpciBtaWdodCBwbGF5IGEgcm9sZSBmb3IgY2VydGFpbiBib290Citsb2FkZXJzIGFuZCBmb3Igb3RoZXIgb3BlcmF0aW5nIHN5c3RlbXMuCisuUkUKKworLkIgTmFtZWQtZmllbGRzIGZvcm1hdAorLlJTCitUaGlzIGZvcm1hdCBpcyBtb3JlIHJlYWRhYmxlLCByb2J1c3QsIGV4dGVuc2libGUgYW5kIGFsbG93cyB0byBzcGVjaWZ5IGFkZGl0aW9uYWwKK2luZm9ybWF0aW9uIChlLmcuIGEgVVVJRCkuICBJdCBpcyByZWNvbW1lbmRlZCB0byB1c2UgdGhpcyBmb3JtYXQgdG8ga2VlcCB5b3VyIHNjcmlwdHMKK21vcmUgcmVhZGFibGUuCisuUlMKKy5zcAorLlJJIFsgImRldmljZSBcZkI6IiBdICIgbmFtZSIgW1xmQj0gdmFsdWUgIl0sIC4uLiIKKy5zcAorLlJFCitUaGUKKy5JIGRldmljZQorZmllbGQgaXMgb3B0aW9uYWwuICBcZkJzZmRpc2tcZlIgZXh0cmFjdHMgdGhlIHBhcnRpdGlvbiBudW1iZXIgZnJvbSB0aGUKK2RldmljZSBuYW1lLiAgSXQgYWxsb3dzIHRvIHNwZWNpZnkgdGhlIHBhcnRpdGlvbnMgaW4gcmFuZG9tIG9yZGVyLgorVGhpcyBmdW5jdGlvbmFsaXR5IGlzIG1vc3RseSB1c2VkIGJ5IFxmQlwtXC1kdW1wXGZSLgorRG9uJ3QgdXNlIGl0IGlmIHlvdSBhcmUgbm90IHN1cmUuCisKK1RoZQorLkkgdmFsdWUKK2NhbiBiZSBiZXR3ZWVuIHF1b3RhdGlvbiBtYXJrcyAoZS5nLiBuYW1lPSJUaGlzIGlzIHBhcnRpdGlvbiBuYW1lIikuCitUaGUgY3VycmVudGx5IHN1cHBvcnRlZCBmaWVsZHMgYXJlOgorLlJTCisuVFAKKy5CSSBzdGFydD0gbnVtYmVyCitUaGUgZmlyc3Qgbm9uLWFzc2lnbmVkIHNlY3RvciBhbGlnbmVkIGFjY29yZGluZyB0byBkZXZpY2UgSS9PIGxpbWl0cy4gIFRoZSBkZWZhdWx0CitzdGFydCBvZmZzZXQgZm9yIHRoZSBmaXJzdCBwYXJ0aXRpb24gaXMgMSBNaUIuIFRoZSBvZmZzZXQgbWF5IGJlIGZvbGxvd2VkIGJ5Cit0aGUgbXVsdGlwbGljYXRpdmUgc3VmZml4ZXMgKEtpQiwgTWlCLCBHaUIsIFRpQiwgUGlCLCBFaUIsIFppQiBhbmQgWWlCKSB0aGVuCit0aGUgbnVtYmVyIGlzIGludGVycHJldGVkIGFzIG9mZnNldCBpbiBieXRlcy4KKy5UUAorLkJJIHNpemU9IG51bWJlcgorU3BlY2lmeSB0aGUgcGFydGl0aW9uIHNpemUgaW4gc2VjdG9ycy4gIFRoZSBudW1iZXIgbWF5IGJlIGZvbGxvd2VkIGJ5IHRoZSBtdWx0aXBsaWNhdGl2ZQorc3VmZml4ZXMgKEtpQiwgTWlCLCBHaUIsIFRpQiwgUGlCLCBFaUIsIFppQiBhbmQgWWlCKSwgdGhlbiBpdCdzIGludGVycHJldGVkIGFzIHNpemUKK2luIGJ5dGVzIGFuZCB0aGUgc2l6ZSBpcyBhbGlnbmVkIGFjY29yZGluZyB0byBkZXZpY2UgSS9PIGxpbWl0cy4KKy5UUAorLkIgYm9vdGFibGUKK01hcmsgdGhlIHBhcnRpdGlvbiBhcyBib290YWJsZS4KKy5UUAorLkJJIGF0dHJzPSBzdHJpbmcKK1BhcnRpdGlvbiBhdHRyaWJ1dGVzLCB1c3VhbGx5IEdQVCBwYXJ0aXRpb24gYXR0cmlidXRlIGJpdHMuICBTZWUKK1xmQlwtXC1wYXJ0XC1hdHRyc1xmUiBmb3IgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBHUFQtYml0cyBzdHJpbmcgZm9ybWF0LgorLlRQCisuQkkgdXVpZD0gc3RyaW5nCitHUFQgcGFydGl0aW9uIFVVSUQuCisuVFAKKy5CSSBuYW1lPSBzdHJpbmcKK0dQVCBwYXJ0aXRpb24gbmFtZS4KKy5UUAorLkJJIHR5cGU9IGNvZGUKK0EgaGV4YWRlY2ltYWwgbnVtYmVyICh3aXRob3V0IDB4KSBmb3IgYW4gTUJSIHBhcnRpdGlvbiwgb3IgYSBHVUlEIGZvciBhIEdQVCBwYXJ0aXRpb24uCitGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB0aGUgXGZCSWQ9XGZSIGZpZWxkIGhhcyB0aGUgc2FtZSBtZWFuaW5nLgorLlJFCisuUkUKKworLlNIICJCQUNLSU5HIFVQIFRIRSBQQVJUSVRJT04gVEFCTEUiCitJdCBpcyByZWNvbW1lbmRlZCB0byBzYXZlIHRoZSBsYXlvdXQgb2YgeW91ciBkZXZpY2VzLgorLkIgc2ZkaXNrCitzdXBwb3J0cyB0d28gd2F5cy4KKy5zcAorVXNlIHRoZSBcZkJcLVwtZHVtcFxmUiBvcHRpb24gdG8gc2F2ZSBhIGRlc2NyaXB0aW9uIG9mIHRoZSBkZXZpY2UgbGF5b3V0Cit0byBhIHRleHQgZmlsZS4gIFRoZSBkdW1wIGZvcm1hdCBpcyBzdWl0YWJsZSBmb3IgbGF0ZXIgXGZCc2ZkaXNrXGZSIGlucHV0LgorRm9yIGV4YW1wbGU6CisuUlMKKy5zcAorLkIgInNmZGlzayAtLWR1bXAgL2Rldi9zZGEgPiBzZGEuZHVtcCIKKy5zcAorLlJFCitUaGlzIGNhbiBsYXRlciBiZSByZXN0b3JlZCBieToKKy5SUworLnNwCisuQiAic2ZkaXNrIC9kZXYvc2RhIDwgc2RhLmR1bXAiCisuUkUKKworSWYgeW91IHdhbnQgdG8gZG8gYSBmdWxsIChiaW5hcnkpIGJhY2t1cCBvZiBhbGwgc2VjdG9ycyB3aGVyZSB0aGUKK3BhcnRpdGlvbiB0YWJsZSBpcyBzdG9yZWQsCit0aGVuIHVzZSB0aGUgXGZCXC1cLWJhY2t1cFxmUiBvcHRpb24uICBJdCB3cml0ZXMgdGhlIHNlY3RvcnMgdG8KK34vc2ZkaXNrLTxkZXZpY2U+LTxvZmZzZXQ+LmJhayBmaWxlcy4gIFRoZSBkZWZhdWx0IG5hbWUgb2YgdGhlIGJhY2t1cCBmaWxlIGNhbgorYmUgY2hhbmdlZCB3aXRoIHRoZSBcZkJcLVwtYmFja3VwXC1maWxlXGZSIG9wdGlvbi4gIFRoZSBiYWNrdXAgZmlsZXMKK2NvbnRhaW4gb25seSByYXcgZGF0YSBmcm9tIHRoZSBcZklkZXZpY2VcZlIuCitOb3RlIHRoYXQgdGhlIHNhbWUgY29uY2VwdCBvZiBiYWNrdXAgZmlsZXMgaXMgdXNlZCBieQorLkJSIHdpcGVmcyAoOCkuCitGb3IgZXhhbXBsZToKKy5SUworLnNwCisuQiAic2ZkaXNrIC0tYmFja3VwIC9kZXYvc2RhIgorLnNwCisuUkUKK1RoZSBHUFQgaGVhZGVyIGNhbiBsYXRlciBiZSByZXN0b3JlZCBieToKKy5SUworLnNwCisubmYKKy5CICJkZCAgaWY9fi9zZmRpc2stc2RhLTB4MDAwMDAyMDAuYmFrICBvZj0vZGV2L3NkYSAgXGUiCisuQiAiICBzZWVrPSQoKDB4MDAwMDAyMDApKSAgYnM9MSAgY29udj1ub3RydW5jIgorLmZpCisuc3AKKy5SRQorTm90ZSB0aGF0IFxmQnNmZGlza1xmUiBzaW5jZSB2ZXJzaW9uIDIuMjYgbm8gbG9uZ2VyIHByb3ZpZGVzIHRoZSBcZkJcLUlcZlIgb3B0aW9uIHRvCityZXN0b3JlIHNlY3RvcnMuCisuQlIgZGQgKDEpCitwcm92aWRlcyBhbGwgbmVjZXNzYXJ5IGZ1bmN0aW9uYWxpdHkuCisKKy5TSCBDT0xPUlMKK0ltcGxpY2l0IGNvbG9yaW5nIGNhbiBiZSBkaXNhYmxlZCBieSBhbiBlbXB0eSBmaWxlIFxmSS9ldGMvdGVybWluYWwtY29sb3JzLmQvc2ZkaXNrLmRpc2FibGVcZlIuCisKK1NlZQorLkJSIHRlcm1pbmFsLWNvbG9ycy5kICg1KQorZm9yIG1vcmUgZGV0YWlscyBhYm91dCBjb2xvcml6YXRpb24gY29uZmlndXJhdGlvbi4gVGhlIGxvZ2ljYWwgY29sb3IgbmFtZXMKK3N1cHBvcnRlZCBieQorLkIgc2ZkaXNrCithcmU6CisuVFAKKy5CIGhlYWRlcgorVGhlIGhlYWRlciBvZiB0aGUgb3V0cHV0IHRhYmxlcy4KKy5UUAorLkIgd2FybgorVGhlIHdhcm5pbmcgbWVzc2FnZXMuCisuVFAKKy5CIHdlbGNvbWUKK1RoZSB3ZWxjb21lIG1lc3NhZ2UuCisKKy5TSCBOT1RFUworU2luY2UgdmVyc2lvbiAyLjI2IFxmQnNmZGlza1xmUiBubyBsb25nZXIgcHJvdmlkZXMgdGhlIFxmQlwtUlxmUiBvcgorXGZCXC1cLXJlXC1yZWFkXGZSIG9wdGlvbiB0byBmb3JjZSB0aGUga2VybmVsIHRvIHJlcmVhZCB0aGUgcGFydGl0aW9uIHRhYmxlLgorVXNlIFxmQmJsb2NrZGV2IFwtXC1yZXJlYWRwdFxmUiBpbnN0ZWFkLgorLlBQCitTaW5jZSB2ZXJzaW9uIDIuMjYgXGZCc2ZkaXNrXGZSIGRvZXMgbm90IHByb3ZpZGUgdGhlIFxmQlwtXC1ET1NcZlIsIFxmQlwtXC1JQk1cZlIsIFxmQlwtXC1ET1NcLWV4dGVuZGVkXGZSLAorXGZCXC1cLXVuaGlkZVxmUiwgXGZCXC1cLXNob3dcLWV4dGVuZGVkXGZSLCBcZkJcLVwtY3lsaW5kZXJzXGZSLCBcZkJcLVwtaGVhZHNcZlIsIFxmQlwtXC1zZWN0b3JzXGZSLAorXGZCXC1cLWluc2lkZVwtb3V0ZXJcZlIsIFxmQlwtXC1ub3RcLWluc2lkZVwtb3V0ZXJcZlIgb3B0aW9ucy4KKworLlNIIEVOVklST05NRU5UCisuSVAgU0ZESVNLX0RFQlVHPWFsbAorZW5hYmxlcyBzZmRpc2sgZGVidWcgb3V0cHV0LgorLklQIExJQkZESVNLX0RFQlVHPWFsbAorZW5hYmxlcyBsaWJmZGlzayBkZWJ1ZyBvdXRwdXQuCisuSVAgTElCQkxLSURfREVCVUc9YWxsCitlbmFibGVzIGxpYmJsa2lkIGRlYnVnIG91dHB1dC4KKy5JUCBMSUJTTUFSVENPTFNfREVCVUc9YWxsCitlbmFibGVzIGxpYnNtYXJ0Y29scyBkZWJ1ZyBvdXRwdXQuCisKKy5TSCAiU0VFIEFMU08iCisuQlIgZmRpc2sgKDgpLAorLkJSIGNmZGlzayAoOCksCisuQlIgcGFydGVkICg4KSwKKy5CUiBwYXJ0cHJvYmUgKDgpLAorLkJSIHBhcnR4ICg4KQorCisuU0ggQVVUSE9SCitLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKy5QUAorVGhlIGN1cnJlbnQgc2ZkaXNrIGltcGxlbWVudGF0aW9uIGlzIGJhc2VkIG9uIHRoZSBvcmlnaW5hbCBzZmRpc2sKK2Zyb20gQW5kcmllcyBFLiBCcm91d2VyLgorCisuU0ggQVZBSUxBQklMSVRZCitUaGUgc2ZkaXNrIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9zZmRpc2suYyBiL2Rpc2stdXRpbHMvc2ZkaXNrLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWUwZTBkZQotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvc2ZkaXNrLmMKQEAgLTAsMCArMSwyMTc4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAxOTk1ICBBbmRyaWVzIEUuIEJyb3V3ZXIgKGFlYkBjd2kubmwpCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmUuIFlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOiBlaXRoZXIgVmVyc2lvbiAxCisgKiBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIEEuVi4gTGUgQmxhbmMgKExlQmxhbmNAbWNjLmFjLnVrKSB3cm90ZSBMaW51eCBmZGlzayAxOTkyLTE5OTQsCisgKiBwYXRjaGVkIGJ5IHZhcmlvdXMgcGVvcGxlIChmYWl0aEBjcy51bmMuZWR1LCBtYXJ0aW5AY3MudW5jLmVkdSwKKyAqIGxlaXNuZXJAc2RzcC5tYy54ZXJveC5jb20sIGVzckBzbmFyay50aHlyc3VzLmNvbSwgYWViQGN3aS5ubCkKKyAqIDE5OTMtMTk5NSwgd2l0aCB2ZXJzaW9uIG51bWJlcnMgKGFzIGZhciBhcyBJIGhhdmUgc2VlbikgMC45MyAtIDIuMGUuCisgKiBUaGlzIHByb2dyYW0gaGFkIChoZWFkLHNlY3RvcixjeWxpbmRlcikgYXMgYmFzaWMgdW5pdCwgYW5kIHdhcworICogKHRoZXJlZm9yZSkgYnJva2VuIGluIHNldmVyYWwgd2F5cyBmb3IgdGhlIHVzZSBvbiBsYXJnZXIgZGlza3MgLQorICogZm9yIGV4YW1wbGUsIG15IGxhc3QgcGF0Y2ggKGZyb20gMi4wZCB0byAyLjBlKSB3YXMgcmVxdWlyZWQKKyAqIHRvIGFsbG93IGEgcGFydGl0aW9uIHRvIGNyb3NzIGN5bGluZGVyIDgwNjQsIGFuZCB0byB3cml0ZSBhbgorICogZXh0ZW5kZWQgcGFydGl0aW9uIHBhc3QgdGhlIDRHQiBtYXJrLgorICoKKyAqIEthcmVsIFphayB3cm90ZSBuZXcgc2ZkaXNrIGJhc2VkIG9uIGxpYmZkaXNrIGZyb20gdXRpbC1saW51eAorICogaW4gMjAxNC4KKyAqLworCisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxhc3NlcnQuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPGxpYnNtYXJ0Y29scy5oPgorI2lmZGVmIEhBVkVfTElCUkVBRExJTkUKKyMgaW5jbHVkZSA8cmVhZGxpbmUvcmVhZGxpbmUuaD4KKyNlbmRpZgorI2luY2x1ZGUgPGxpYmdlbi5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgImRlYnVnLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgImNvbG9ycy5oIgorI2luY2x1ZGUgImJsa2Rldi5oIgorI2luY2x1ZGUgImFsbC1pby5oIgorI2luY2x1ZGUgInJwbWF0Y2guaCIKKyNpbmNsdWRlICJsb29wZGV2LmgiCisKKyNpbmNsdWRlICJsaWJmZGlzay5oIgorI2luY2x1ZGUgImZkaXNrLWxpc3QuaCIKKworLyoKKyAqIHNmZGlzayBkZWJ1ZyBzdHVmZiAoc2VlIGZkaXNrLmggYW5kIGluY2x1ZGUvZGVidWcuaCkKKyAqLworVUxfREVCVUdfREVGSU5FX01BU0soc2ZkaXNrKTsKK1VMX0RFQlVHX0RFRklORV9NQVNLTkFNRVMoc2ZkaXNrKSA9IFVMX0RFQlVHX0VNUFRZX01BU0tOQU1FUzsKKworI2RlZmluZSBTRkRJU0tQUk9HX0RFQlVHX0lOSVQJKDEgPDwgMSkKKyNkZWZpbmUgU0ZESVNLUFJPR19ERUJVR19QQVJTRQkoMSA8PCAyKQorI2RlZmluZSBTRkRJU0tQUk9HX0RFQlVHX01JU0MJKDEgPDwgMykKKyNkZWZpbmUgU0ZESVNLUFJPR19ERUJVR19BU0sJKDEgPDwgNCkKKyNkZWZpbmUgU0ZESVNLUFJPR19ERUJVR19BTEwJMHhGRkZGCisKKyNkZWZpbmUgREJHKG0sIHgpICAgICAgIF9fVUxfREJHKHNmZGlzaywgU0ZESVNLUFJPR19ERUJVR18sIG0sIHgpCisjZGVmaW5lIE9OX0RCRyhtLCB4KSAgICBfX1VMX0RCR19DQUxMKHNmZGlzaywgU0ZESVNLUFJPR19ERUJVR18sIG0sIHgpCisKK2VudW0geworCUFDVF9GRElTSyA9IDEsCisJQUNUX0FDVElWQVRFLAorCUFDVF9DSEFOR0VfSUQsCisJQUNUX0RVTVAsCisJQUNUX0xJU1QsCisJQUNUX0xJU1RfRlJFRSwKKwlBQ1RfTElTVF9UWVBFUywKKwlBQ1RfUkVPUkRFUiwKKwlBQ1RfU0hPV19TSVpFLAorCUFDVF9TSE9XX0dFT00sCisJQUNUX1ZFUklGWSwKKwlBQ1RfUEFSVFRZUEUsCisJQUNUX1BBUlRVVUlELAorCUFDVF9QQVJUTEFCRUwsCisJQUNUX1BBUlRBVFRSUywKKwlBQ1RfREVMRVRFCit9OworCitzdHJ1Y3Qgc2ZkaXNrIHsKKwlpbnQJCWFjdDsJCS8qIEFDVF8qICovCisJaW50CQlwYXJ0bm87CQkvKiAtTiA8cGFydG5vPiwgZGVmYXVsdCAtMSAqLworCWludAkJd2lwZW1vZGU7CS8qIHJlbW92ZSBmb3JlaWduIHNpZ25hdHVyZXMgZnJvbSBkaXNrICovCisJaW50CQlwd2lwZW1vZGU7CS8qIHJlbW92ZSBmb3JlaWduIHNpZ25hdHVyZXMgZnJvbSBwYXJ0aXRpb25zICovCisJY29uc3QgY2hhcgkqbGFiZWw7CQkvKiAtLWxhYmVsIDxsYWJlbD4gKi8KKwljb25zdCBjaGFyCSpsYWJlbF9uZXN0ZWQ7CS8qIC0tbGFiZWwtbmVzdGVkIDxsYWJlbD4gKi8KKwljb25zdCBjaGFyCSpiYWNrdXBfZmlsZTsJLyogLU8gPHBhdGg+ICovCisJY29uc3QgY2hhcgkqbW92ZV90eXBlc2NyaXB0OyAvKiAtLW1vdmVkYXRhIDx0eXBlc2NyaXB0PiAqLworCWNoYXIJCSpwcm9tcHQ7CisKKwlzdHJ1Y3QgZmRpc2tfY29udGV4dAkqY3h0OwkJLyogbGliZmRpc2sgY29udGV4dCAqLworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gICpvcmlnX3BhOwkvKiAtTiA8cGFydG5vPiBiZWZvcmUgdGhlIGNoYW5nZSAqLworCisJdW5zaWduZWQgaW50IHZlcmlmeSA6IDEsCS8qIGNhbGwgZmRpc2tfdmVyaWZ5X2Rpc2tsYWJlbCgpICovCisJCSAgICAgcXVpZXQgIDogMSwJLyogc3VwcHJlc3MgZXh0cmEgbWVzc2FnZXMgKi8KKwkJICAgICBpbnRlcmFjdGl2ZSA6IDEsCS8qIHJ1bm5pbmcgb24gdHR5ICovCisJCSAgICAgbm9yZXJlYWQgOiAxLAkvKiBkb24ndCBjaGVjayBkZXZpY2UgaXMgaW4gdXNlICovCisJCSAgICAgZm9yY2UgIDogMSwJLyogZG8gYWxzbyBzdHVwaWQgdGhpbmdzICovCisJCSAgICAgYmFja3VwIDogMSwJLyogYmFja3VwIHNlY3RvcnMgYmVmb3JlIHdyaXRlIFBUICovCisJCSAgICAgY29udGFpbmVyIDogMSwJLyogUFQgY29udGFpbnMgY29udGFpbmVyIChNQlIgZXh0ZW5kZWQpIHBhcnRpdGlvbnMgKi8KKwkJICAgICBhcHBlbmQgOiAxLAkvKiBkb24ndCBjcmVhdGUgbmV3IFBULCBhcHBlbmQgcGFydGl0aW9ucyBvbmx5ICovCisJCSAgICAganNvbiA6IDEsCQkvKiBKU09OIGR1bXAgKi8KKwkJICAgICBtb3ZlZGF0YTogMSwJLyogbW92ZSBkYXRhIGFmdGVyIHJlc2l6ZSAqLworCQkgICAgIG5vdGVsbCA6IDEsCS8qIGRvbid0IHRlbGwga2VybmVsIGFvdXQgbmV3IFBUICovCisJCSAgICAgbm9hY3QgIDogMTsJLyogZG8gbm90IHdyaXRlIHRvIGRldmljZSAqLworfTsKKworI2RlZmluZSBTRkRJU0tfUFJPTVBUCSI+Pj4gIgorCitzdGF0aWMgdm9pZCBzZmRpc2twcm9nX2luaXRfZGVidWcodm9pZCkKK3sKKwlfX1VMX0lOSVRfREVCVUcoc2ZkaXNrLCBTRkRJU0tQUk9HX0RFQlVHXywgMCwgU0ZESVNLX0RFQlVHKTsKK30KKworCitzdGF0aWMgaW50IGdldF91c2VyX3JlcGx5KGNvbnN0IGNoYXIgKnByb21wdCwgY2hhciAqYnVmLCBzaXplX3QgYnVmc3opCit7CisJY2hhciAqcDsKKwlzaXplX3Qgc3o7CisKKyNpZmRlZiBIQVZFX0xJQlJFQURMSU5FCisJaWYgKGlzYXR0eShTVERJTl9GSUxFTk8pKSB7CisJCXAgPSByZWFkbGluZShwcm9tcHQpOworCQlpZiAoIXApCisJCQlyZXR1cm4gMTsKKwkJbWVtY3B5KGJ1ZiwgcCwgYnVmc3opOworCQlmcmVlKHApOworCX0gZWxzZQorI2VuZGlmCisJeworCQlmcHV0cyhwcm9tcHQsIHN0ZG91dCk7CisJCWZmbHVzaChzdGRvdXQpOworCisJCWlmICghZmdldHMoYnVmLCBidWZzeiwgc3RkaW4pKQorCQkJcmV0dXJuIDE7CisJfQorCisJZm9yIChwID0gYnVmOyAqcCAmJiAhaXNncmFwaCgqcCk7IHArKyk7CS8qIGdldCBmaXJzdCBub24tYmxhbmsgKi8KKworCWlmIChwID4gYnVmKQorCQltZW1tb3ZlKGJ1ZiwgcCwgcCAtIGJ1Zik7CS8qIHJlbW92ZSBibGFuayBzcGFjZSAqLworCXN6ID0gc3RybGVuKGJ1Zik7CisJaWYgKHN6ICYmICooYnVmICsgc3ogLSAxKSA9PSAnXG4nKQorCQkqKGJ1ZiArIHN6IC0gMSkgPSAnXDAnOworCisJREJHKEFTSywgdWxfZGVidWcoInVzZXIncyByZXBseTogPj4+JXM8PDwiLCBidWYpKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhc2tfY2FsbGJhY2soc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSksCisJCQlzdHJ1Y3QgZmRpc2tfYXNrICphc2ssCisJCQl2b2lkICpkYXRhKQoreworCXN0cnVjdCBzZmRpc2sgKnNmID0gKHN0cnVjdCBzZmRpc2sgKikgZGF0YTsKKwlpbnQgcmMgPSAwOworCisJYXNzZXJ0KGFzayk7CisKKwlzd2l0Y2goZmRpc2tfYXNrX2dldF90eXBlKGFzaykpIHsKKwljYXNlIEZESVNLX0FTS1RZUEVfSU5GTzoKKwkJaWYgKHNmLT5xdWlldCkKKwkJCWJyZWFrOworCQlmcHV0cyhmZGlza19hc2tfcHJpbnRfZ2V0X21lc2coYXNrKSwgc3Rkb3V0KTsKKwkJZnB1dGMoJ1xuJywgc3Rkb3V0KTsKKwkJYnJlYWs7CisJY2FzZSBGRElTS19BU0tUWVBFX1dBUk5YOgorCQlmZmx1c2goc3Rkb3V0KTsKKwkJY29sb3Jfc2NoZW1lX2ZlbmFibGUoIndhcm4iLCBVTF9DT0xPUl9SRUQsIHN0ZGVycik7CisJCWZwdXRzKGZkaXNrX2Fza19wcmludF9nZXRfbWVzZyhhc2spLCBzdGRlcnIpOworCQljb2xvcl9mZGlzYWJsZShzdGRlcnIpOworCQlmcHV0YygnXG4nLCBzdGRlcnIpOworCQlicmVhazsKKwljYXNlIEZESVNLX0FTS1RZUEVfV0FSTjoKKwkJZmZsdXNoKHN0ZG91dCk7CisJCWNvbG9yX3NjaGVtZV9mZW5hYmxlKCJ3YXJuIiwgVUxfQ09MT1JfUkVELCBzdGRlcnIpOworCQlmcHV0cyhmZGlza19hc2tfcHJpbnRfZ2V0X21lc2coYXNrKSwgc3RkZXJyKTsKKwkJZXJybm8gPSBmZGlza19hc2tfcHJpbnRfZ2V0X2Vycm5vKGFzayk7CisJCWZwcmludGYoc3RkZXJyLCAiOiAlbVxuIik7CisJCWNvbG9yX2ZkaXNhYmxlKHN0ZGVycik7CisJCWJyZWFrOworCWNhc2UgRkRJU0tfQVNLVFlQRV9ZRVNOTzoKKwl7CisJCWNoYXIgYnVmW0JVRlNJWl07CisJCWZwdXRjKCdcbicsIHN0ZG91dCk7CisJCWRvIHsKKwkJCWludCB4OworCQkJZnB1dHMoZmRpc2tfYXNrX2dldF9xdWVyeShhc2spLCBzdGRvdXQpOworCQkJcmMgPSBnZXRfdXNlcl9yZXBseShfKCIgW1ldZXMvW05dbzogIiksIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCQkJaWYgKHJjKQorCQkJCWJyZWFrOworCQkJeCA9IHJwbWF0Y2goYnVmKTsKKwkJCWlmICh4ID09IFJQTUFUQ0hfWUVTIHx8IHggPT0gUlBNQVRDSF9OTykgeworCQkJCWZkaXNrX2Fza195ZXNub19zZXRfcmVzdWx0KGFzaywgeCk7CisJCQkJYnJlYWs7CisJCQl9CisJCX0gd2hpbGUoMSk7CisJCURCRyhBU0ssIHVsX2RlYnVnKCJ5ZXMtbm8gYXNrOiByZXBseSAnJXMnIFtyYz0lZF0iLCBidWYsIHJjKSk7CisJCWJyZWFrOworCX0KKwlkZWZhdWx0OgorCQlicmVhazsKKwl9CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgdm9pZCBzZmRpc2tfaW5pdChzdHJ1Y3Qgc2ZkaXNrICpzZikKK3sKKwlmZGlza19pbml0X2RlYnVnKDApOworCXNjb2xzX2luaXRfZGVidWcoMCk7CisJc2ZkaXNrcHJvZ19pbml0X2RlYnVnKCk7CisKKwlzZi0+Y3h0ID0gZmRpc2tfbmV3X2NvbnRleHQoKTsKKwlpZiAoIXNmLT5jeHQpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBsaWJmZGlzayBjb250ZXh0IikpOworCWZkaXNrX3NldF9hc2soc2YtPmN4dCwgYXNrX2NhbGxiYWNrLCAodm9pZCAqKSBzZik7CisJZmRpc2tfZW5hYmxlX2Jvb3RiaXRzX3Byb3RlY3Rpb24oc2YtPmN4dCwgMSk7CisKKwlpZiAoc2YtPmxhYmVsX25lc3RlZCkgeworCQlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqeCA9IGZkaXNrX25ld19uZXN0ZWRfY29udGV4dChzZi0+Y3h0LAorCQkJCQkJCXNmLT5sYWJlbF9uZXN0ZWQpOworCQlpZiAoIXgpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWxsb2NhdGUgbmVzdGVkIGxpYmZkaXNrIGNvbnRleHQiKSk7CisJCS8qIHRoZSBvcmlnaW5hbCBjb250ZXh0IGlzIGF2YWlsYWJsZSBieSBmZGlza19nZXRfcGFyZW50KCkgKi8KKwkJc2YtPmN4dCA9IHg7CisJfQorfQorCitzdGF0aWMgaW50IHNmZGlza19kZWluaXQoc3RydWN0IHNmZGlzayAqc2YpCit7CisJc3RydWN0IGZkaXNrX2NvbnRleHQgKnBhcmVudDsKKworCWFzc2VydChzZik7CisJYXNzZXJ0KHNmLT5jeHQpOworCisJcGFyZW50ID0gZmRpc2tfZ2V0X3BhcmVudChzZi0+Y3h0KTsKKwlpZiAocGFyZW50KSB7CisJCWZkaXNrX3VucmVmX2NvbnRleHQoc2YtPmN4dCk7CisJCXNmLT5jeHQgPSBwYXJlbnQ7CisJfQorCisJZmRpc2tfdW5yZWZfY29udGV4dChzZi0+Y3h0KTsKKwlmcmVlKHNmLT5wcm9tcHQpOworCisJbWVtc2V0KHNmLCAwLCBzaXplb2YoKnNmKSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpnZXRfcGFydGl0aW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBwYXJ0bm8pCit7CisJc3RydWN0IGZkaXNrX3RhYmxlICp0YiA9IE5VTEw7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGE7CisKKwlpZiAoZmRpc2tfZ2V0X3BhcnRpdGlvbnMoY3h0LCAmdGIpICE9IDApCisJCXJldHVybiBOVUxMOworCisJcGEgPSBmZGlza190YWJsZV9nZXRfcGFydGl0aW9uX2J5X3BhcnRubyh0YiwgcGFydG5vKTsKKwlpZiAocGEpCisJCWZkaXNrX3JlZl9wYXJ0aXRpb24ocGEpOworCWZkaXNrX3VucmVmX3RhYmxlKHRiKTsKKwlyZXR1cm4gcGE7Cit9CisKK3N0YXRpYyB2b2lkIGJhY2t1cF9zZWN0b3JzKHN0cnVjdCBzZmRpc2sgKnNmLAorCQkJICAgY29uc3QgY2hhciAqdHBsLAorCQkJICAgY29uc3QgY2hhciAqbmFtZSwKKwkJCSAgIGNvbnN0IGNoYXIgKmRldm5hbWUsCisJCQkgICB1aW50NjRfdCBvZmZzZXQsIHNpemVfdCBzaXplKQoreworCWNoYXIgKmZuYW1lOworCWludCBmZCwgZGV2ZmQ7CisKKwlkZXZmZCA9IGZkaXNrX2dldF9kZXZmZChzZi0+Y3h0KTsKKwlhc3NlcnQoZGV2ZmQgPj0gMCk7CisKKwl4YXNwcmludGYoJmZuYW1lLCAiJXMweCUwOCJQUkl4NjQiLmJhayIsIHRwbCwgb2Zmc2V0KTsKKworCWZkID0gb3BlbihmbmFtZSwgT19DUkVBVCB8IE9fV1JPTkxZLCBTX0lSVVNSIHwgU19JV1VTUik7CisJaWYgKGZkIDwgMCkKKwkJZ290byBmYWlsOworCisJaWYgKGxzZWVrKGRldmZkLCAob2ZmX3QpIG9mZnNldCwgU0VFS19TRVQpID09IChvZmZfdCkgLTEpIHsKKwkJZmRpc2tfd2FybihzZi0+Y3h0LCBfKCJjYW5ub3Qgc2VlayAlcyIpLCBkZXZuYW1lKTsKKwkJZ290byBmYWlsOworCX0gZWxzZSB7CisJCXVuc2lnbmVkIGNoYXIgKmJ1ZiA9IHhtYWxsb2Moc2l6ZSk7CisKKwkJaWYgKHJlYWRfYWxsKGRldmZkLCAoY2hhciAqKSBidWYsIHNpemUpICE9IChzc2l6ZV90KSBzaXplKSB7CisJCQlmZGlza193YXJuKHNmLT5jeHQsIF8oImNhbm5vdCByZWFkICVzIiksIGRldm5hbWUpOworCQkJZnJlZShidWYpOworCQkJZ290byBmYWlsOworCQl9CisJCWlmICh3cml0ZV9hbGwoZmQsIGJ1Ziwgc2l6ZSkgIT0gMCkgeworCQkJZmRpc2tfd2FybihzZi0+Y3h0LCBfKCJjYW5ub3Qgd3JpdGUgJXMiKSwgZm5hbWUpOworCQkJZnJlZShidWYpOworCQkJZ290byBmYWlsOworCQl9CisJCWZyZWUoYnVmKTsKKwl9CisKKwlmZGlza19pbmZvKHNmLT5jeHQsIF8oIiUxMnMgKG9mZnNldCAlNWp1LCBzaXplICU1anUpOiAlcyIpLAorCQkJbmFtZSwgKHVpbnRtYXhfdCkgb2Zmc2V0LCAodWludG1heF90KSBzaXplLCBmbmFtZSk7CisJY2xvc2UoZmQpOworCWZyZWUoZm5hbWUpOworCXJldHVybjsKK2ZhaWw6CisJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIiksIGRldm5hbWUpOworfQorCitzdGF0aWMgY2hhciAqbWtfYmFja3VwX2ZpbGVuYW1lX3RwbChjb25zdCBjaGFyICpmaWxlbmFtZSwgY29uc3QgY2hhciAqZGV2bmFtZSwgY29uc3QgY2hhciAqc3VmZml4KQoreworCWNoYXIgKnRwbCA9IE5VTEw7CisJY2hhciAqbmFtZSwgKmJ1ZiA9IHhzdHJkdXAoZGV2bmFtZSk7CisKKwluYW1lID0gYmFzZW5hbWUoYnVmKTsKKworCWlmICghZmlsZW5hbWUpIHsKKwkJY29uc3QgY2hhciAqaG9tZSA9IGdldGVudiAoIkhPTUUiKTsKKwkJaWYgKCFob21lKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAgZmlsZSwgJEhPTUUgdW5kZWZpbmVkIikpOworCQl4YXNwcmludGYoJnRwbCwgIiVzL3NmZGlzay0lcyVzIiwgaG9tZSwgbmFtZSwgc3VmZml4KTsKKwl9IGVsc2UKKwkJeGFzcHJpbnRmKCZ0cGwsICIlcy0lcyVzIiwgZmlsZW5hbWUsIG5hbWUsIHN1ZmZpeCk7CisKKwlmcmVlKGJ1Zik7CisJcmV0dXJuIHRwbDsKK30KKworCitzdGF0aWMgdm9pZCBiYWNrdXBfcGFydGl0aW9uX3RhYmxlKHN0cnVjdCBzZmRpc2sgKnNmLCBjb25zdCBjaGFyICpkZXZuYW1lKQoreworCWNvbnN0IGNoYXIgKm5hbWU7CisJY2hhciAqdHBsOworCXVpbnQ2NF90IG9mZnNldCA9IDA7CisJc2l6ZV90IHNpemUgPSAwOworCWludCBpID0gMDsKKworCWFzc2VydChzZik7CisKKwlpZiAoIWZkaXNrX2hhc19sYWJlbChzZi0+Y3h0KSkKKwkJcmV0dXJuOworCisJdHBsID0gbWtfYmFja3VwX2ZpbGVuYW1lX3RwbChzZi0+YmFja3VwX2ZpbGUsIGRldm5hbWUsICItIik7CisKKwljb2xvcl9zY2hlbWVfZW5hYmxlKCJoZWFkZXIiLCBVTF9DT0xPUl9CT0xEKTsKKwlmZGlza19pbmZvKHNmLT5jeHQsIF8oIkJhY2t1cCBmaWxlczoiKSk7CisJY29sb3JfZGlzYWJsZSgpOworCisJd2hpbGUgKGZkaXNrX2xvY2F0ZV9kaXNrbGFiZWwoc2YtPmN4dCwgaSsrLCAmbmFtZSwgJm9mZnNldCwgJnNpemUpID09IDAgJiYgc2l6ZSkKKwkJYmFja3VwX3NlY3RvcnMoc2YsIHRwbCwgbmFtZSwgZGV2bmFtZSwgb2Zmc2V0LCBzaXplKTsKKworCWlmICghc2YtPnF1aWV0KQorCQlmcHV0YygnXG4nLCBzdGRvdXQpOworCWZyZWUodHBsKTsKK30KKworc3RhdGljIGludCBtb3ZlX3BhcnRpdGlvbl9kYXRhKHN0cnVjdCBzZmRpc2sgKnNmLCBzaXplX3QgcGFydG5vLCBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpvcmlnX3BhKQoreworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhID0gZ2V0X3BhcnRpdGlvbihzZi0+Y3h0LCBwYXJ0bm8pOworCWNoYXIgKmRldm5hbWUgPSBOVUxMLCAqdHlwZXNjcmlwdCA9IE5VTEwsICpidWYgPSBOVUxMOworCUZJTEUgKmYgPSBOVUxMOworCWludCBvayA9IDAsIGZkLCBiYWNrd2FyZCA9IDA7CisJZmRpc2tfc2VjdG9yX3QgbnNlY3RvcnMsIGZyb20sIHRvLCBzdGVwLCBpOworCXNpemVfdCBzcywgc3RlcF9ieXRlcywgY2M7CisJdWludG1heF90IHNyYywgZHN0OworCWludCBlcnJzdjsKKworCWFzc2VydChzZi0+bW92ZWRhdGEpOworCisJaWYgKCFwYSkKKwkJd2FybngoXygiZmFpbGVkIHRvIHJlYWQgbmV3IHBhcnRpdGlvbiBmcm9tIGRldmljZTsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiKSk7CisJZWxzZSBpZiAoIWZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkpCisJCXdhcm54KF8oImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiKSk7CisJZWxzZSBpZiAoIWZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpKQorCQl3YXJueChfKCJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIpKTsKKwllbHNlIGlmICghZmRpc2tfcGFydGl0aW9uX2hhc19zaXplKG9yaWdfcGEpKQorCQl3YXJueChfKCJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIikpOworCWVsc2UgaWYgKCFmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KG9yaWdfcGEpKQorCQl3YXJueChfKCJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIpKTsKKwllbHNlIGlmIChmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBhKSA9PSBmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0KG9yaWdfcGEpKQorCQl3YXJueChfKCJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGhhcyBub3QgYmVlbiBtb3ZlZDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiKSk7CisJZWxzZSBpZiAoZmRpc2tfcGFydGl0aW9uX2dldF9zaXplKG9yaWdfcGEpIDwgZmRpc2tfcGFydGl0aW9uX2dldF9zaXplKHBhKSkKKwkJd2FybngoXygibmV3IHBhcnRpdGlvbiBpcyBzbWFsbGVyIHRoYW4gb3JpZ2luYWw7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIikpOworCWVsc2UKKwkJb2sgPSAxOworCWlmICghb2spCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKE1JU0MsIHVsX2RlYnVnKCJtb3ZpbmcgZGF0YSIpKTsKKworCWZkID0gZmRpc2tfZ2V0X2RldmZkKHNmLT5jeHQpOworCisJc3MgPSBmZGlza19nZXRfc2VjdG9yX3NpemUoc2YtPmN4dCk7CisJbnNlY3RvcnMgPSBmZGlza19wYXJ0aXRpb25fZ2V0X3NpemUob3JpZ19wYSk7CisJZnJvbSA9IGZkaXNrX3BhcnRpdGlvbl9nZXRfc3RhcnQob3JpZ19wYSk7CisJdG8gPSBmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBhKTsKKworCWlmICgodG8gPj0gZnJvbSAmJiBmcm9tICsgbnNlY3RvcnMgPj0gdG8pIHx8CisJICAgIChmcm9tID49IHRvICYmIHRvICsgbnNlY3RvcnMgPj0gZnJvbSkpIHsKKwkJLyogc291cmNlIGFuZCB0YXJnZXQgb3ZlcmxheSwgY2hlY2sgaWYgd2UgbmVlZCB0byBjb3B5CisJCSAqIGJhY2t3YXJkbHkgZnJvbSBlbmQgb2YgdGhlIHNvdXJjZSAqLworCQlEQkcoTUlTQywgdWxfZGVidWcoIm92ZXJsYXkgYmV0d2VlbiBzb3VyY2UgYW5kIHRhcmdldCIpKTsKKwkJYmFja3dhcmQgPSBmcm9tIDwgdG87CisJCURCRyhNSVNDLCB1bF9kZWJ1ZygiIGNvcHkgb3JkZXI6ICVzIiwgYmFja3dhcmQgPyAiYmFja3dhcmQiIDogImZvcndhcmQiKSk7CisKKwkJc3RlcCA9IGZyb20gPiB0byA/IGZyb20gLSB0byA6IHRvIC0gZnJvbTsKKwkJaWYgKHN0ZXAgPiBuc2VjdG9ycykKKwkJCXN0ZXAgPSBuc2VjdG9yczsKKwl9IGVsc2UKKwkJc3RlcCA9IG5zZWN0b3JzOworCisJLyogbWFrZSBzdGVwIHVzYWJsZSBmb3IgbWFsbG9jKCkgKi8KKwlpZiAoc3RlcCAqIHNzID4gKGdldHBhZ2VzaXplKCkgKiAyNTZVKSkKKwkJc3RlcCA9IChnZXRwYWdlc2l6ZSgpICogMjU2KSAvIHNzOworCisJLyogYWxpZ24gdGhlIHN0ZXAgKG5vdGUgdGhhdCBuc2VjdG9ycyBkb2VzIG5vdCBoYXZlIHRvIGJlIHBvd2VyIG9mIDIpICovCisJd2hpbGUgKG5zZWN0b3JzICUgc3RlcCkKKwkJc3RlcC0tOworCisJc3RlcF9ieXRlcyA9IHN0ZXAgKiBzczsKKwlEQkcoTUlTQywgdWxfZGVidWcoIiBzdGVwOiAlanUgKCV6dSBieXRlcykiLCAodWludG1heF90KXN0ZXAsIHN0ZXBfYnl0ZXMpKTsKKworI2lmIGRlZmluZWQoUE9TSVhfRkFEVl9TRVFVRU5USUFMKSAmJiBkZWZpbmVkKEhBVkVfUE9TSVhfRkFEVklTRSkKKwlpZiAoIWJhY2t3YXJkKQorCQlwb3NpeF9mYWR2aXNlKGZkLCBmcm9tICogc3MsIG5zZWN0b3JzICogc3MsIFBPU0lYX0ZBRFZfU0VRVUVOVElBTCk7CisjZW5kaWYKKwlkZXZuYW1lID0gZmRpc2tfcGFydG5hbWUoZmRpc2tfZ2V0X2Rldm5hbWUoc2YtPmN4dCksIHBhcnRubysxKTsKKwl0eXBlc2NyaXB0ID0gbWtfYmFja3VwX2ZpbGVuYW1lX3RwbChzZi0+bW92ZV90eXBlc2NyaXB0LCBkZXZuYW1lLCAiLm1vdmUiKTsKKworCWlmICghc2YtPnF1aWV0KSB7CisJCWZkaXNrX2luZm8oc2YtPmN4dCwiIik7CisJCWNvbG9yX3NjaGVtZV9lbmFibGUoImhlYWRlciIsIFVMX0NPTE9SX0JPTEQpOworCQlmZGlza19pbmZvKHNmLT5jeHQsIF8oIkRhdGEgbW92ZToiKSk7CisJCWNvbG9yX2Rpc2FibGUoKTsKKwkJZmRpc2tfaW5mbyhzZi0+Y3h0LCBfKCIgdHlwZXNjcmlwdCBmaWxlOiAlcyIpLCB0eXBlc2NyaXB0KTsKKwkJcHJpbnRmKF8oIiBvbGQgc3RhcnQ6ICVqdSwgbmV3IHN0YXJ0OiAlanUgKG1vdmUgJWp1IHNlY3RvcnMpXG4iKSwKKwkJCSh1aW50bWF4X3QpIGZyb20sICh1aW50bWF4X3QpIHRvLCAodWludG1heF90KSBuc2VjdG9ycyk7CisJCWZmbHVzaChzdGRvdXQpOworCX0KKworCWlmIChzZi0+aW50ZXJhY3RpdmUpIHsKKwkJaW50IHllcyA9IDA7CisJCWZkaXNrX2Fza195ZXNubyhzZi0+Y3h0LCBfKCJEbyB5b3Ugd2FudCB0byBtb3ZlIHBhcnRpdGlvbiBkYXRhPyIpLCAmeWVzKTsKKwkJaWYgKCF5ZXMpIHsKKwkJCWZkaXNrX2luZm8oc2YtPmN4dCwgXygiTGVhdmluZy4iKSk7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0KKworCWYgPSBmb3Blbih0eXBlc2NyaXB0LCAidyIpOworCWlmICghZikKKwkJZ290byBmYWlsOworCisJLyogZG9uJ3QgdHJhbnNsYXRlICovCisJZnByaW50ZihmLCAiIyBzZmRpc2s6ICIgUEFDS0FHRV9TVFJJTkcgIlxuIik7CisJZnByaW50ZihmLCAiIyBEaXNrOiAlc1xuIiwgZGV2bmFtZSk7CisJZnByaW50ZihmLCAiIyBQYXJ0aXRpb246ICV6dVxuIiwgcGFydG5vICsgMSk7CisJZnByaW50ZihmLCAiIyBPcGVyYXRpb246IG1vdmUgZGF0YVxuIik7CisJZnByaW50ZihmLCAiIyBPcmlnaW5hbCBzdGFydCBvZmZzZXQgKHNlY3RvcnMvYnl0ZXMpOiAlanUvJWp1XG4iLAorCSAgICAgICAgKHVpbnRtYXhfdClmcm9tLCAodWludG1heF90KWZyb20gKiBzcyk7CisJZnByaW50ZihmLCAiIyBOZXcgc3RhcnQgb2Zmc2V0IChzZWN0b3JzL2J5dGVzKTogJWp1LyVqdVxuIiwKKwkgICAgICAgICh1aW50bWF4X3QpdG8sICh1aW50bWF4X3QpdG8gKiBzcyk7CisJZnByaW50ZihmLCAiIyBBcmVhIHNpemUgKHNlY3RvcnMvYnl0ZXMpOiAlanUvJWp1XG4iLAorCSAgICAgICAgKHVpbnRtYXhfdCluc2VjdG9ycywgKHVpbnRtYXhfdCluc2VjdG9ycyAqIHNzKTsKKwlmcHJpbnRmKGYsICIjIFNlY3RvciBzaXplOiAlenVcbiIsIHNzKTsKKwlmcHJpbnRmKGYsICIjIFN0ZXAgc2l6ZSAoaW4gYnl0ZXMpOiAlenVcbiIsIHN0ZXBfYnl0ZXMpOworCWZwcmludGYoZiwgIiMgU3RlcHM6ICVqdVxuIiwgKHVpbnRtYXhfdCkobnNlY3RvcnMgLyBzdGVwKSk7CisJZnByaW50ZihmLCAiI1xuIik7CisJZnByaW50ZihmLCAiIyA8c3RlcD46IDxmcm9tPiA8dG8+IChzdGVwIG9mZnNldHMgaW4gYnl0ZXMpXG4iKTsKKworCXNyYyA9IChiYWNrd2FyZCA/IGZyb20gKyBuc2VjdG9ycyA6IGZyb20pICogc3M7CisJZHN0ID0gKGJhY2t3YXJkID8gdG8gKyBuc2VjdG9ycyA6IHRvKSAqIHNzOworCWJ1ZiA9IHhtYWxsb2Moc3RlcF9ieXRlcyk7CisKKwlEQkcoTUlTQywgdWxfZGVidWcoIiBpbml0aWFsOiBzcmM9JWp1IGRzdD0lanUiLCBzcmMsIGRzdCkpOworCisJZm9yIChjYyA9IDEsIGkgPSAwOyBpIDwgbnNlY3RvcnM7IGkgKz0gc3RlcCwgY2MrKykgeworCQlzc2l6ZV90IHJjOworCisJCWlmIChiYWNrd2FyZCkKKwkJCXNyYyAtPSBzdGVwX2J5dGVzLCBkc3QgLT0gc3RlcF9ieXRlczsKKworCQlEQkcoTUlTQywgdWxfZGVidWcoIiMlMDV6dTogc3JjPSVqdSBkc3Q9JWp1IiwgY2MsIHNyYywgZHN0KSk7CisKKwkJLyogcmVhZCBzb3VyY2UgKi8KKwkJaWYgKGxzZWVrKGZkLCBzcmMsIFNFRUtfU0VUKSA9PSAob2ZmX3QpIC0xKQorCQkJZ290byBmYWlsOworCQlyYyA9IHJlYWQoZmQsIGJ1Ziwgc3RlcF9ieXRlcyk7CisJCWlmIChyYyA8IDAgfHwgcmMgIT0gKHNzaXplX3QpIHN0ZXBfYnl0ZXMpCisJCQlnb3RvIGZhaWw7CisKKwkJLyogd3JpdGUgdGFyZ2V0ICovCisJCWlmIChsc2VlayhmZCwgZHN0LCBTRUVLX1NFVCkgPT0gKG9mZl90KSAtMSkKKwkJCWdvdG8gZmFpbDsKKwkJcmMgPSB3cml0ZShmZCwgYnVmLCBzdGVwX2J5dGVzKTsKKwkJaWYgKHJjIDwgMCB8fCByYyAhPSAoc3NpemVfdCkgc3RlcF9ieXRlcykKKwkJCWdvdG8gZmFpbDsKKwkJZnN5bmMoZmQpOworCisJCS8qIHdyaXRlIGxvZyAqLworCQlmcHJpbnRmKGYsICIlMDV6dTogJTEyanUgJTEyanVcbiIsIGNjLCBzcmMsIGRzdCk7CisKKyNpZiBkZWZpbmVkKFBPU0lYX0ZBRFZfRE9OVE5FRUQpICYmIGRlZmluZWQoSEFWRV9QT1NJWF9GQURWSVNFKQorCQlwb3NpeF9mYWR2aXNlKGZkLCBzcmMsIHN0ZXBfYnl0ZXMsIFBPU0lYX0ZBRFZfRE9OVE5FRUQpOworI2VuZGlmCisJCWlmICghYmFja3dhcmQpCisJCQlzcmMgKz0gc3RlcF9ieXRlcywgZHN0ICs9IHN0ZXBfYnl0ZXM7CisJfQorCisJZmNsb3NlKGYpOworCWZyZWUoYnVmKTsKKwlmcmVlKGRldm5hbWUpOworCWZyZWUodHlwZXNjcmlwdCk7CisKKwlyZXR1cm4gMDsKK2ZhaWw6CisJZXJyc3YgPSAtZXJybm87CisJd2FybihfKCIlczogZmFpbGVkIHRvIG1vdmUgZGF0YSIpLCBkZXZuYW1lKTsKKwlpZiAoZikKKwkJZmNsb3NlKGYpOworCWZyZWUoYnVmKTsKKwlmcmVlKGRldm5hbWUpOworCWZyZWUodHlwZXNjcmlwdCk7CisKKwlyZXR1cm4gZXJyc3Y7Cit9CisKK3N0YXRpYyBpbnQgd3JpdGVfY2hhbmdlcyhzdHJ1Y3Qgc2ZkaXNrICpzZikKK3sKKwlpbnQgcmMgPSAwOworCisJaWYgKHNmLT5ub2FjdCkKKwkJZmRpc2tfaW5mbyhzZi0+Y3h0LCBfKCJUaGUgcGFydGl0aW9uIHRhYmxlIGlzIHVuY2hhbmdlZCAoLS1uby1hY3QpLiIpKTsKKwllbHNlIHsKKwkJcmMgPSBmZGlza193cml0ZV9kaXNrbGFiZWwoc2YtPmN4dCk7CisJCWlmIChyYyA9PSAwICYmIHNmLT5tb3ZlZGF0YSAmJiBzZi0+b3JpZ19wYSkKKwkJCXJjID0gbW92ZV9wYXJ0aXRpb25fZGF0YShzZiwgc2YtPnBhcnRubywgc2YtPm9yaWdfcGEpOworCQlpZiAoIXJjKSB7CisJCQlmZGlza19pbmZvKHNmLT5jeHQsIF8oIlxuVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIpKTsKKwkJCWlmICghc2YtPm5vdGVsbCkKKwkJCQlmZGlza19yZXJlYWRfcGFydGl0aW9uX3RhYmxlKHNmLT5jeHQpOworCQl9CisJfQorCWlmICghcmMpCisJCXJjID0gZmRpc2tfZGVhc3NpZ25fZGV2aWNlKHNmLT5jeHQsCisJCQkJc2YtPm5vYWN0IHx8IHNmLT5ub3RlbGwpOwkvKiBuby1zeW5jICovCisJcmV0dXJuIHJjOworfQorCisvKgorICogc2ZkaXNrIC0tbGlzdCBbPGRldmljZSAuLl0KKyAqLworc3RhdGljIGludCBjb21tYW5kX2xpc3RfcGFydGl0aW9ucyhzdHJ1Y3Qgc2ZkaXNrICpzZiwgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBmYWlsID0gMDsKKwlmZGlza19lbmFibGVfbGlzdG9ubHkoc2YtPmN4dCwgMSk7CisKKwlpZiAoYXJnYykgeworCQlpbnQgaSwgY3QgPSAwOworCisJCWZvciAoaSA9IDA7IGkgPCBhcmdjOyBpKyspIHsKKwkJCWlmIChjdCkKKwkJCQlmcHV0cygiXG5cbiIsIHN0ZG91dCk7CisJCQlpZiAocHJpbnRfZGV2aWNlX3B0KHNmLT5jeHQsIGFyZ3ZbaV0sIDEsIHNmLT52ZXJpZnkpICE9IDApCisJCQkJZmFpbCsrOworCQkJY3QrKzsKKwkJfQorCX0gZWxzZQorCQlwcmludF9hbGxfZGV2aWNlc19wdChzZi0+Y3h0LCBzZi0+dmVyaWZ5KTsKKworCXJldHVybiBmYWlsOworfQorCisvKgorICogc2ZkaXNrIC0tbGlzdC1mcmVlIFs8ZGV2aWNlIC4uXQorICovCitzdGF0aWMgaW50IGNvbW1hbmRfbGlzdF9mcmVlc3BhY2Uoc3RydWN0IHNmZGlzayAqc2YsIGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlpbnQgZmFpbCA9IDA7CisJZmRpc2tfZW5hYmxlX2xpc3Rvbmx5KHNmLT5jeHQsIDEpOworCisJaWYgKGFyZ2MpIHsKKwkJaW50IGksIGN0ID0gMDsKKworCQlmb3IgKGkgPSAwOyBpIDwgYXJnYzsgaSsrKSB7CisJCQlpZiAoY3QpCisJCQkJZnB1dHMoIlxuXG4iLCBzdGRvdXQpOworCQkJaWYgKHByaW50X2RldmljZV9mcmVlc3BhY2Uoc2YtPmN4dCwgYXJndltpXSwgMSkgIT0gMCkKKwkJCQlmYWlsKys7CisJCQljdCsrOworCQl9CisJfSBlbHNlCisJCXByaW50X2FsbF9kZXZpY2VzX2ZyZWVzcGFjZShzZi0+Y3h0KTsKKworCXJldHVybiBmYWlsOworfQorCisvKgorICogc2ZkaXNrIC0tbGlzdC10eXBlcworICovCitzdGF0aWMgaW50IGNvbW1hbmRfbGlzdF90eXBlcyhzdHJ1Y3Qgc2ZkaXNrICpzZikKK3sKKwljb25zdCBzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQ7CisJc3RydWN0IGZkaXNrX2xhYmVsICpsYjsKKwljb25zdCBjaGFyICpuYW1lOworCXNpemVfdCBpID0gMDsKKwlpbnQgY29kZXM7CisKKwlhc3NlcnQoc2YpOworCWFzc2VydChzZi0+Y3h0KTsKKworCW5hbWUgPSBzZi0+bGFiZWwgPyBzZi0+bGFiZWwgOiAiZG9zIjsKKwlsYiA9IGZkaXNrX2dldF9sYWJlbChzZi0+Y3h0LCBuYW1lKTsKKwlpZiAoIWxiKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5zdXBwb3J0ZWQgbGFiZWwgJyVzJyIpLCBuYW1lKTsKKworCWNvZGVzID0gZmRpc2tfbGFiZWxfaGFzX2NvZGVfcGFydHR5cGVzKGxiKTsKKwlmcHV0cyhfKCJJZCAgTmFtZVxuXG4iKSwgc3Rkb3V0KTsKKworCXdoaWxlICgodCA9IGZkaXNrX2xhYmVsX2dldF9wYXJ0dHlwZShsYiwgaSsrKSkpIHsKKwkJaWYgKGNvZGVzKQorCQkJcHJpbnRmKCIlMnggICVzXG4iLCBmZGlza19wYXJ0dHlwZV9nZXRfY29kZSh0KSwKKwkJCQkJICAgZmRpc2tfcGFydHR5cGVfZ2V0X25hbWUodCkpOworCQllbHNlCisJCQlwcmludGYoIiVzICAlc1xuIiwgZmRpc2tfcGFydHR5cGVfZ2V0X3N0cmluZyh0KSwKKwkJCQkJICBmZGlza19wYXJ0dHlwZV9nZXRfbmFtZSh0KSk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdmVyaWZ5X2RldmljZShzdHJ1Y3Qgc2ZkaXNrICpzZiwgY29uc3QgY2hhciAqZGV2bmFtZSkKK3sKKwlpbnQgcmMgPSAxOworCisJZmRpc2tfZW5hYmxlX2xpc3Rvbmx5KHNmLT5jeHQsIDEpOworCisJaWYgKGZkaXNrX2Fzc2lnbl9kZXZpY2Uoc2YtPmN4dCwgZGV2bmFtZSwgMSkpIHsKKwkJd2FybihfKCJjYW5ub3Qgb3BlbiAlcyIpLCBkZXZuYW1lKTsKKwkJcmV0dXJuIDE7CisJfQorCisJY29sb3Jfc2NoZW1lX2VuYWJsZSgiaGVhZGVyIiwgVUxfQ09MT1JfQk9MRCk7CisJZmRpc2tfaW5mbyhzZi0+Y3h0LCAiJXM6IiwgZGV2bmFtZSk7CisJY29sb3JfZGlzYWJsZSgpOworCisJaWYgKCFmZGlza19oYXNfbGFiZWwoc2YtPmN4dCkpCisJCWZkaXNrX2luZm8oc2YtPmN4dCwgXygidW5yZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIikpOworCWVsc2UKKwkJcmMgPSBmZGlza192ZXJpZnlfZGlza2xhYmVsKHNmLT5jeHQpOworCisJZmRpc2tfZGVhc3NpZ25fZGV2aWNlKHNmLT5jeHQsIDEpOworCXJldHVybiByYzsKK30KKworLyoKKyAqIHNmZGlzayAtLXZlcmlmeSBbPGRldmljZSAuLl0KKyAqLworc3RhdGljIGludCBjb21tYW5kX3ZlcmlmeShzdHJ1Y3Qgc2ZkaXNrICpzZiwgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBuZmFpbHMgPSAwLCBjdCA9IDA7CisKKwlpZiAoYXJnYykgeworCQlpbnQgaTsKKwkJZm9yIChpID0gMDsgaSA8IGFyZ2M7IGkrKykgeworCQkJaWYgKGkpCisJCQkJZmRpc2tfaW5mbyhzZi0+Y3h0LCAiICIpOworCQkJaWYgKHZlcmlmeV9kZXZpY2Uoc2YsIGFyZ3ZbaV0pIDwgMCkKKwkJCQluZmFpbHMrKzsKKwkJfQorCX0gZWxzZSB7CisJCUZJTEUgKmYgPSBOVUxMOworCQljaGFyICpkZXY7CisKKwkJd2hpbGUgKChkZXYgPSBuZXh0X3Byb2NfcGFydGl0aW9uKCZmKSkpIHsKKwkJCWlmIChjdCkKKwkJCQlmZGlza19pbmZvKHNmLT5jeHQsICIgIik7CisJCQlpZiAodmVyaWZ5X2RldmljZShzZiwgZGV2KSA8IDApCisJCQkJbmZhaWxzKys7CisJCQlmcmVlKGRldik7CisJCQljdCsrOworCQl9CisJfQorCisJcmV0dXJuIG5mYWlsczsKK30KKworc3RhdGljIGludCBnZXRfc2l6ZShjb25zdCBjaGFyICpkZXYsIGludCBzaWxlbnQsIHVpbnRtYXhfdCAqc3opCit7CisJaW50IGZkLCByYyA9IDA7CisKKwlmZCA9IG9wZW4oZGV2LCBPX1JET05MWSk7CisJaWYgKGZkIDwgMCkgeworCQlpZiAoIXNpbGVudCkKKwkJCXdhcm4oXygiY2Fubm90IG9wZW4gJXMiKSwgZGV2KTsKKwkJcmV0dXJuIC1lcnJubzsKKwl9CisKKwlpZiAoYmxrZGV2X2dldF9zZWN0b3JzKGZkLCAodW5zaWduZWQgbG9uZyBsb25nICopIHN6KSA9PSAtMSkgeworCQlpZiAoIXNpbGVudCkKKwkJCXdhcm4oXygiQ2Fubm90IGdldCBzaXplIG9mICVzIiksIGRldik7CisJCXJjID0gLWVycm5vOworCX0KKworCWNsb3NlKGZkKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBzZmRpc2sgLS1zaG93LXNpemUgWzxkZXZpY2UgLi5dCisgKgorICogKHNpbGx5LCBidXQganVzdCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSkKKyAqLworc3RhdGljIGludCBjb21tYW5kX3Nob3dfc2l6ZShzdHJ1Y3Qgc2ZkaXNrICpzZiBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSksCisJCQkgICAgIGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwl1aW50bWF4X3Qgc3o7CisKKwlpZiAoYXJnYykgeworCQlpbnQgaTsKKwkJZm9yIChpID0gMDsgaSA8IGFyZ2M7IGkrKykgeworCQkJaWYgKGdldF9zaXplKGFyZ3ZbaV0sIDAsICZzeikgPT0gMCkKKwkJCQlwcmludGYoIiVqdVxuIiwgc3ogLyAyKTsKKwkJfQorCX0gZWxzZSB7CisJCUZJTEUgKmYgPSBOVUxMOworCQl1aW50bWF4X3QgdG90YWwgPSAwOworCQljaGFyICpkZXY7CisKKwkJd2hpbGUgKChkZXYgPSBuZXh0X3Byb2NfcGFydGl0aW9uKCZmKSkpIHsKKwkJCWlmIChnZXRfc2l6ZShkZXYsIDEsICZzeikgPT0gMCkgeworCQkJCXByaW50ZigiJXM6ICU5anVcbiIsIGRldiwgc3ogLyAyKTsKKwkJCQl0b3RhbCArPSBzeiAvIDI7CisJCQl9CisJCQlmcmVlKGRldik7CisJCX0KKwkJaWYgKHRvdGFsKQorCQkJcHJpbnRmKF8oInRvdGFsOiAlanUgYmxvY2tzXG4iKSwgdG90YWwpOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHByaW50X2dlb20oc3RydWN0IHNmZGlzayAqc2YsIGNvbnN0IGNoYXIgKmRldm5hbWUpCit7CisJZmRpc2tfZW5hYmxlX2xpc3Rvbmx5KHNmLT5jeHQsIDEpOworCisJaWYgKGZkaXNrX2Fzc2lnbl9kZXZpY2Uoc2YtPmN4dCwgZGV2bmFtZSwgMSkpIHsKKwkJd2FybihfKCJjYW5ub3Qgb3BlbiAlcyIpLCBkZXZuYW1lKTsKKwkJcmV0dXJuIDE7CisJfQorCisJZmRpc2tfaW5mbyhzZi0+Y3h0LCAiJXM6ICVqdSBjeWxpbmRlcnMsICVqdSBoZWFkcywgJWp1IHNlY3RvcnMvdHJhY2siLAorCQkJZGV2bmFtZSwKKwkJCSh1aW50bWF4X3QpIGZkaXNrX2dldF9nZW9tX2N5bGluZGVycyhzZi0+Y3h0KSwKKwkJCSh1aW50bWF4X3QpIGZkaXNrX2dldF9nZW9tX2hlYWRzKHNmLT5jeHQpLAorCQkJKHVpbnRtYXhfdCkgZmRpc2tfZ2V0X2dlb21fc2VjdG9ycyhzZi0+Y3h0KSk7CisKKwlmZGlza19kZWFzc2lnbl9kZXZpY2Uoc2YtPmN4dCwgMSk7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBzZmRpc2sgLS1zaG93LWdlb21ldHJ5IFs8ZGV2aWNlIC4uXQorICovCitzdGF0aWMgaW50IGNvbW1hbmRfc2hvd19nZW9tZXRyeShzdHJ1Y3Qgc2ZkaXNrICpzZiwgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBuZmFpbHMgPSAwOworCisJaWYgKGFyZ2MpIHsKKwkJaW50IGk7CisJCWZvciAoaSA9IDA7IGkgPCBhcmdjOyBpKyspIHsKKwkJCWlmIChwcmludF9nZW9tKHNmLCBhcmd2W2ldKSA8IDApCisJCQkJbmZhaWxzKys7CisJCX0KKwl9IGVsc2UgeworCQlGSUxFICpmID0gTlVMTDsKKwkJY2hhciAqZGV2OworCisJCXdoaWxlICgoZGV2ID0gbmV4dF9wcm9jX3BhcnRpdGlvbigmZikpKSB7CisJCQlpZiAocHJpbnRfZ2VvbShzZiwgZGV2KSA8IDApCisJCQkJbmZhaWxzKys7CisJCQlmcmVlKGRldik7CisJCX0KKwl9CisKKwlyZXR1cm4gbmZhaWxzOworfQorCisvKgorICogc2ZkaXNrIC0tYWN0aXZhdGUgPGRldmljZT4gWzxwYXJ0bm8+IC4uLl0KKyAqLworc3RhdGljIGludCBjb21tYW5kX2FjdGl2YXRlKHN0cnVjdCBzZmRpc2sgKnNmLCBpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IHJjLCBucGFydHMsIGksIGxpc3Rvbmx5OworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhID0gTlVMTDsKKwljb25zdCBjaGFyICpkZXZuYW1lID0gTlVMTDsKKworCWlmIChhcmdjIDwgMSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIm5vIGRpc2sgZGV2aWNlIHNwZWNpZmllZCIpKTsKKwlkZXZuYW1lID0gYXJndlswXTsKKworCS8qICAtLWFjdGl2YXRlIDxkZXZpY2U+ICovCisJbGlzdG9ubHkgPSBhcmdjID09IDE7CisKKwlyYyA9IGZkaXNrX2Fzc2lnbl9kZXZpY2Uoc2YtPmN4dCwgZGV2bmFtZSwgbGlzdG9ubHkpOworCWlmIChyYykKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgZGV2bmFtZSk7CisKKwlpZiAoIWZkaXNrX2lzX2xhYmVsKHNmLT5jeHQsIERPUykpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ0b2dnbGUgYm9vdCBmbGFncyBpcyBzdXBwb3J0ZWQgZm9yIE1CUiBvbmx5IikpOworCisJaWYgKCFsaXN0b25seSAmJiBzZi0+YmFja3VwKQorCQliYWNrdXBfcGFydGl0aW9uX3RhYmxlKHNmLCBkZXZuYW1lKTsKKworCW5wYXJ0cyA9IGZkaXNrX2dldF9ucGFydGl0aW9ucyhzZi0+Y3h0KTsKKwlmb3IgKGkgPSAwOyBpIDwgbnBhcnRzOyBpKyspIHsKKwkJY2hhciAqZGF0YSA9IE5VTEw7CisKKwkJLyogbm90ZSB0aGF0IGZkaXNrX2dldF9wYXJ0aXRpb24oKSByZXVzZXMgdGhlIEBwYSBwb2ludGVyLCB5b3UKKwkJICogZG9uJ3QgaGF2ZSB0byAocmUpYWxsb2NhdGUgaXQgKi8KKwkJaWYgKGZkaXNrX2dldF9wYXJ0aXRpb24oc2YtPmN4dCwgaSwgJnBhKSAhPSAwKQorCQkJY29udGludWU7CisKKwkJLyogc2ZkaXNrIC0tYWN0aXZhdGUgIGxpc3QgYm9vdGFibGUgcGFydGl0aW9ucyAqLworCQlpZiAobGlzdG9ubHkpIHsKKwkJCWlmICghZmRpc2tfcGFydGl0aW9uX2lzX2Jvb3RhYmxlKHBhKSkKKwkJCQljb250aW51ZTsKKwkJCWlmIChmZGlza19wYXJ0aXRpb25fdG9fc3RyaW5nKHBhLCBzZi0+Y3h0LAorCQkJCQkJRkRJU0tfRklFTERfREVWSUNFLCAmZGF0YSkgPT0gMCkgeworCQkJCXByaW50ZigiJXNcbiIsIGRhdGEpOworCQkJCWZyZWUoZGF0YSk7CisJCQl9CisKKwkJLyogZGVhY3RpdmF0ZSBhbGwgYWN0aXZlIHBhcnRpdGlvbnMgKi8KKwkJfSBlbHNlIGlmIChmZGlza19wYXJ0aXRpb25faXNfYm9vdGFibGUocGEpKQorCQkJZmRpc2tfdG9nZ2xlX3BhcnRpdGlvbl9mbGFnKHNmLT5jeHQsIGksIERPU19GTEFHX0FDVElWRSk7CisJfQorCisJLyogc2ZkaXNrIC0tYWN0aXZhdGUgPHBhcnRubz4gWy4uXSAqLworCWZvciAoaSA9IDE7IGkgPCBhcmdjOyBpKyspIHsKKwkJaW50IG4gPSBzdHJ0b3UzMl9vcl9lcnIoYXJndltpXSwgXygiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiKSk7CisKKwkJcmMgPSBmZGlza190b2dnbGVfcGFydGl0aW9uX2ZsYWcoc2YtPmN4dCwgbiAtIDEsIERPU19GTEFHX0FDVElWRSk7CisJCWlmIChyYykKKwkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJCV8oIiVzOiBwYXJ0aXRpb24gJWQ6IGZhaWxlZCB0byB0b2dnbGUgYm9vdGFibGUgZmxhZyIpLAorCQkJCWRldm5hbWUsIGkgKyAxKTsKKwl9CisKKwlmZGlza191bnJlZl9wYXJ0aXRpb24ocGEpOworCWlmIChsaXN0b25seSkKKwkJcmMgPSBmZGlza19kZWFzc2lnbl9kZXZpY2Uoc2YtPmN4dCwgMSk7CisJZWxzZQorCQlyYyA9IHdyaXRlX2NoYW5nZXMoc2YpOworCXJldHVybiByYzsKK30KKworLyoKKyAqIHNmZGlzayAtLWRlbGV0ZSA8ZGV2aWNlPiBbPHBhcnRubz4gLi4uXQorICovCitzdGF0aWMgaW50IGNvbW1hbmRfZGVsZXRlKHN0cnVjdCBzZmRpc2sgKnNmLCBpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJc2l6ZV90IGk7CisJY29uc3QgY2hhciAqZGV2bmFtZSA9IE5VTEw7CisKKwlpZiAoYXJnYyA8IDEpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiKSk7CisJZGV2bmFtZSA9IGFyZ3ZbMF07CisKKwlpZiAoZmRpc2tfYXNzaWduX2RldmljZShzZi0+Y3h0LCBkZXZuYW1lLCAwKSAhPSAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBkZXZuYW1lKTsKKworCWlmIChzZi0+YmFja3VwKQorCQliYWNrdXBfcGFydGl0aW9uX3RhYmxlKHNmLCBkZXZuYW1lKTsKKworCS8qIGRlbGV0ZSBhbGwgKi8KKwlpZiAoYXJnYyA9PSAxKSB7CisJCXNpemVfdCBucGFydHMgPSBmZGlza19nZXRfbnBhcnRpdGlvbnMoc2YtPmN4dCk7CisJCWZvciAoaSA9IDA7IGkgPCBucGFydHM7IGkrKykgeworCQkJaWYgKGZkaXNrX2lzX3BhcnRpdGlvbl91c2VkKHNmLT5jeHQsIGkpICYmCisJCQkgICAgZmRpc2tfZGVsZXRlX3BhcnRpdGlvbihzZi0+Y3h0LCBpKSAhPSAwKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGRlbGV0ZSIpLCBkZXZuYW1lLCBpICsgMSk7CisJCX0KKwkvKiBkZWxldGUgc3BlY2lmaWVkICovCisJfSBlbHNlIHsKKwkJZm9yIChpID0gMTsgaSA8IChzaXplX3QpIGFyZ2M7IGkrKykgeworCQkJc2l6ZV90IG4gPSBzdHJ0b3UzMl9vcl9lcnIoYXJndltpXSwgXygiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiKSk7CisKKwkJCWlmIChmZGlza19kZWxldGVfcGFydGl0aW9uKHNmLT5jeHQsIG4gLSAxKSAhPSAwKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGRlbGV0ZSIpLCBkZXZuYW1lLCBuKTsKKwkJfQorCX0KKworCXJldHVybiB3cml0ZV9jaGFuZ2VzKHNmKTsKK30KKworLyoKKyAqIHNmZGlzayAtLXJlb3JkZXIgPGRldmljZT4KKyAqLworc3RhdGljIGludCBjb21tYW5kX3Jlb3JkZXIoc3RydWN0IHNmZGlzayAqc2YsIGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwljb25zdCBjaGFyICpkZXZuYW1lID0gTlVMTDsKKwlpbnQgcmM7CisKKwlpZiAoYXJnYykKKwkJZGV2bmFtZSA9IGFyZ3ZbMF07CisJaWYgKCFkZXZuYW1lKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibm8gZGlzayBkZXZpY2Ugc3BlY2lmaWVkIikpOworCisJcmMgPSBmZGlza19hc3NpZ25fZGV2aWNlKHNmLT5jeHQsIGRldm5hbWUsIDApOwkvKiByZWFkLXdyaXRlICovCisJaWYgKHJjKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBkZXZuYW1lKTsKKworCWlmIChzZi0+YmFja3VwKQorCQliYWNrdXBfcGFydGl0aW9uX3RhYmxlKHNmLCBkZXZuYW1lKTsKKworCWlmIChmZGlza19yZW9yZGVyX3BhcnRpdGlvbnMoc2YtPmN4dCkgPT0gMSkJLyogdW5jaGFuZ2VkICovCisJCXJjID0gZmRpc2tfZGVhc3NpZ25fZGV2aWNlKHNmLT5jeHQsIDEpOworCWVsc2UKKwkJcmMgPSB3cml0ZV9jaGFuZ2VzKHNmKTsKKworCXJldHVybiByYzsKK30KKworCisvKgorICogc2ZkaXNrIC0tZHVtcCA8ZGV2aWNlPgorICovCitzdGF0aWMgaW50IGNvbW1hbmRfZHVtcChzdHJ1Y3Qgc2ZkaXNrICpzZiwgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWNvbnN0IGNoYXIgKmRldm5hbWUgPSBOVUxMOworCXN0cnVjdCBmZGlza19zY3JpcHQgKmRwOworCWludCByYzsKKworCWlmIChhcmdjKQorCQlkZXZuYW1lID0gYXJndlswXTsKKwlpZiAoIWRldm5hbWUpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiKSk7CisKKwlyYyA9IGZkaXNrX2Fzc2lnbl9kZXZpY2Uoc2YtPmN4dCwgZGV2bmFtZSwgMSk7CS8qIHJlYWQtb25seSAqLworCWlmIChyYykKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgZGV2bmFtZSk7CisKKwlpZiAoIWZkaXNrX2hhc19sYWJlbChzZi0+Y3h0KSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzOiBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUiKSwgZGV2bmFtZSk7CisKKwlkcCA9IGZkaXNrX25ld19zY3JpcHQoc2YtPmN4dCk7CisJaWYgKCFkcCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFsbG9jYXRlIGR1bXAgc3RydWN0IikpOworCisJcmMgPSBmZGlza19zY3JpcHRfcmVhZF9jb250ZXh0KGRwLCBOVUxMKTsKKwlpZiAocmMpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogZmFpbGVkIHRvIGR1bXAgcGFydGl0aW9uIHRhYmxlIiksIGRldm5hbWUpOworCisJaWYgKHNmLT5qc29uKQorCQlmZGlza19zY3JpcHRfZW5hYmxlX2pzb24oZHAsIDEpOworCWZkaXNrX3NjcmlwdF93cml0ZV9maWxlKGRwLCBzdGRvdXQpOworCisJZmRpc2tfdW5yZWZfc2NyaXB0KGRwKTsKKwlmZGlza19kZWFzc2lnbl9kZXZpY2Uoc2YtPmN4dCwgMSk7CQkvKiBuby1zeW5jKCkgKi8KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgYXNzaWduX2RldmljZV9wYXJ0aXRpb24oc3RydWN0IHNmZGlzayAqc2YsCisJCQkJY29uc3QgY2hhciAqZGV2bmFtZSwKKwkJCQlzaXplX3QgcGFydG5vLAorCQkJCWludCByZG9ubHkpCit7CisJaW50IHJjOworCXNpemVfdCBuOworCXN0cnVjdCBmZGlza19sYWJlbCAqbGIgPSBOVUxMOworCisJYXNzZXJ0KHNmKTsKKwlhc3NlcnQoZGV2bmFtZSk7CisKKwkvKiByZWFkLW9ubHkgd2hlbiBhIG5ldyA8dHlwZT4gdW5kZWZpbmVkICovCisJcmMgPSBmZGlza19hc3NpZ25fZGV2aWNlKHNmLT5jeHQsIGRldm5hbWUsIHJkb25seSk7CisJaWYgKHJjKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBkZXZuYW1lKTsKKworCWxiID0gZmRpc2tfZ2V0X2xhYmVsKHNmLT5jeHQsIE5VTEwpOworCWlmICghbGIpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogbm8gcGFydGl0aW9uIHRhYmxlIGZvdW5kIiksIGRldm5hbWUpOworCisJbiA9IGZkaXNrX2dldF9ucGFydGl0aW9ucyhzZi0+Y3h0KTsKKwlpZiAocGFydG5vID4gbikKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgIgorCQkJCSAgICAgIm9ubHkgJXp1IHBhcnRpdGlvbnMiKSwgZGV2bmFtZSwgcGFydG5vLCBuKTsKKwlpZiAoIWZkaXNrX2lzX3BhcnRpdGlvbl91c2VkKHNmLT5jeHQsIHBhcnRubyAtIDEpKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiBpcyB1bnVzZWQiKSwKKwkJCQlkZXZuYW1lLCBwYXJ0bm8pOworfQorCisvKgorICogc2ZkaXNrIC0tcGFydC10eXBlIDxkZXZpY2U+IDxwYXJ0bm8+IFs8dHlwZT5dCisgKi8KK3N0YXRpYyBpbnQgY29tbWFuZF9wYXJ0dHlwZShzdHJ1Y3Qgc2ZkaXNrICpzZiwgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCXNpemVfdCBwYXJ0bm87CisJc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0eXBlID0gTlVMTDsKKwlzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiOworCWNvbnN0IGNoYXIgKmRldm5hbWUgPSBOVUxMLCAqdHlwZXN0ciA9IE5VTEw7CisKKwlpZiAoIWFyZ2MpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiKSk7CisJZGV2bmFtZSA9IGFyZ3ZbMF07CisKKwlpZiAoYXJnYyA8IDIpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBwYXJ0aXRpb24gbnVtYmVyIHNwZWNpZmllZCIpKTsKKwlwYXJ0bm8gPSBzdHJ0b3UzMl9vcl9lcnIoYXJndlsxXSwgXygiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiKSk7CisKKwlpZiAoYXJnYyA9PSAzKQorCQl0eXBlc3RyID0gYXJndlsyXTsKKwllbHNlIGlmIChhcmdjID4gMykKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuZXhwZWN0ZWQgYXJndW1lbnRzIikpOworCisJLyogcmVhZC1vbmx5IHdoZW4gYSBuZXcgPHR5cGU+IHVuZGVmaW5lZCAqLworCWFzc2lnbl9kZXZpY2VfcGFydGl0aW9uKHNmLCBkZXZuYW1lLCBwYXJ0bm8sICF0eXBlc3RyKTsKKworCWxiID0gZmRpc2tfZ2V0X2xhYmVsKHNmLT5jeHQsIE5VTEwpOworCisJLyogcHJpbnQgcGFydGl0aW9uIHR5cGUgKi8KKwlpZiAoIXR5cGVzdHIpIHsKKwkJY29uc3Qgc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0ID0gTlVMTDsKKwkJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBOVUxMOworCisJCWlmIChmZGlza19nZXRfcGFydGl0aW9uKHNmLT5jeHQsIHBhcnRubyAtIDEsICZwYSkgPT0gMCkKKwkJCXQgPSBmZGlza19wYXJ0aXRpb25fZ2V0X3R5cGUocGEpOworCQlpZiAoIXQpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIHR5cGUiKSwKKwkJCQkJCWRldm5hbWUsIHBhcnRubyk7CisKKwkJaWYgKGZkaXNrX2xhYmVsX2hhc19jb2RlX3BhcnR0eXBlcyhsYikpCisJCQlwcmludGYoIiUyeFxuIiwgZmRpc2tfcGFydHR5cGVfZ2V0X2NvZGUodCkpOworCQllbHNlCisJCQlwcmludGYoIiVzXG4iLCBmZGlza19wYXJ0dHlwZV9nZXRfc3RyaW5nKHQpKTsKKworCQlmZGlza191bnJlZl9wYXJ0aXRpb24ocGEpOworCQlmZGlza19kZWFzc2lnbl9kZXZpY2Uoc2YtPmN4dCwgMSk7CisJCXJldHVybiAwOworCX0KKworCWlmIChzZi0+YmFja3VwKQorCQliYWNrdXBfcGFydGl0aW9uX3RhYmxlKHNmLCBkZXZuYW1lKTsKKworCS8qIHBhcnNlIDx0eXBlPiBhbmQgYXBwbHkgdG8gUFQgKi8KKwl0eXBlID0gZmRpc2tfbGFiZWxfcGFyc2VfcGFydHR5cGUobGIsIHR5cGVzdHIpOworCWlmICghdHlwZSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBwYXJzZSAlcyBwYXJ0aXRpb24gdHlwZSAnJXMnIiksCisJCQkJZmRpc2tfbGFiZWxfZ2V0X25hbWUobGIpLCB0eXBlc3RyKTsKKworCWVsc2UgaWYgKGZkaXNrX3NldF9wYXJ0aXRpb25fdHlwZShzZi0+Y3h0LCBwYXJ0bm8gLSAxLCB0eXBlKSAhPSAwKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIHR5cGUiKSwKKwkJCQkJCWRldm5hbWUsIHBhcnRubyk7CisJZmRpc2tfdW5yZWZfcGFydHR5cGUodHlwZSk7CisJcmV0dXJuIHdyaXRlX2NoYW5nZXMoc2YpOworfQorCisvKgorICogc2ZkaXNrIC0tcGFydC11dWlkIDxkZXZpY2U+IDxwYXJ0bm8+IFs8dXVpZD5dCisgKi8KK3N0YXRpYyBpbnQgY29tbWFuZF9wYXJ0dXVpZChzdHJ1Y3Qgc2ZkaXNrICpzZiwgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCXNpemVfdCBwYXJ0bm87CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBOVUxMOworCWNvbnN0IGNoYXIgKmRldm5hbWUgPSBOVUxMLCAqdXVpZCA9IE5VTEw7CisKKwlpZiAoIWFyZ2MpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiKSk7CisJZGV2bmFtZSA9IGFyZ3ZbMF07CisKKwlpZiAoYXJnYyA8IDIpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBwYXJ0aXRpb24gbnVtYmVyIHNwZWNpZmllZCIpKTsKKwlwYXJ0bm8gPSBzdHJ0b3UzMl9vcl9lcnIoYXJndlsxXSwgXygiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiKSk7CisKKwlpZiAoYXJnYyA9PSAzKQorCQl1dWlkID0gYXJndlsyXTsKKwllbHNlIGlmIChhcmdjID4gMykKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuZXhwZWN0ZWQgYXJndW1lbnRzIikpOworCisJLyogcmVhZC1vbmx5IGlmIHV1aWQgbm90IGdpdmVuICovCisJYXNzaWduX2RldmljZV9wYXJ0aXRpb24oc2YsIGRldm5hbWUsIHBhcnRubywgIXV1aWQpOworCisJLyogcHJpbnQgcGFydGl0aW9uIHV1aWQgKi8KKwlpZiAoIXV1aWQpIHsKKwkJY29uc3QgY2hhciAqc3RyID0gTlVMTDsKKworCQlpZiAoZmRpc2tfZ2V0X3BhcnRpdGlvbihzZi0+Y3h0LCBwYXJ0bm8gLSAxLCAmcGEpID09IDApCisJCQlzdHIgPSBmZGlza19wYXJ0aXRpb25fZ2V0X3V1aWQocGEpOworCQlpZiAoIXN0cikKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gVVVJRCIpLAorCQkJCQkJZGV2bmFtZSwgcGFydG5vKTsKKwkJcHJpbnRmKCIlc1xuIiwgc3RyKTsKKwkJZmRpc2tfdW5yZWZfcGFydGl0aW9uKHBhKTsKKwkJZmRpc2tfZGVhc3NpZ25fZGV2aWNlKHNmLT5jeHQsIDEpOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAoc2YtPmJhY2t1cCkKKwkJYmFja3VwX3BhcnRpdGlvbl90YWJsZShzZiwgZGV2bmFtZSk7CisKKwlwYSA9IGZkaXNrX25ld19wYXJ0aXRpb24oKTsKKwlpZiAoIXBhKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG9iamVjdCIpKTsKKworCWlmIChmZGlza19wYXJ0aXRpb25fc2V0X3V1aWQocGEsIHV1aWQpICE9IDAgfHwKKwkgICAgZmRpc2tfc2V0X3BhcnRpdGlvbihzZi0+Y3h0LCBwYXJ0bm8gLSAxLCBwYSkgIT0gMCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBVVUlEIiksCisJCQkJCQlkZXZuYW1lLCBwYXJ0bm8pOworCWZkaXNrX3VucmVmX3BhcnRpdGlvbihwYSk7CisJcmV0dXJuIHdyaXRlX2NoYW5nZXMoc2YpOworfQorCisvKgorICogc2ZkaXNrIC0tcGFydC1sYWJlbCA8ZGV2aWNlPiA8cGFydG5vPiBbPGxhYmVsPl0KKyAqLworc3RhdGljIGludCBjb21tYW5kX3BhcnRsYWJlbChzdHJ1Y3Qgc2ZkaXNrICpzZiwgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCXNpemVfdCBwYXJ0bm87CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBOVUxMOworCWNvbnN0IGNoYXIgKmRldm5hbWUgPSBOVUxMLCAqbmFtZSA9IE5VTEw7CisKKwlpZiAoIWFyZ2MpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiKSk7CisJZGV2bmFtZSA9IGFyZ3ZbMF07CisKKwlpZiAoYXJnYyA8IDIpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBwYXJ0aXRpb24gbnVtYmVyIHNwZWNpZmllZCIpKTsKKwlwYXJ0bm8gPSBzdHJ0b3UzMl9vcl9lcnIoYXJndlsxXSwgXygiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiKSk7CisKKwlpZiAoYXJnYyA9PSAzKQorCQluYW1lID0gYXJndlsyXTsKKwllbHNlIGlmIChhcmdjID4gMykKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuZXhwZWN0ZWQgYXJndW1lbnRzIikpOworCisJLyogcmVhZC1vbmx5IGlmIG5hbWUgbm90IGdpdmVuICovCisJYXNzaWduX2RldmljZV9wYXJ0aXRpb24oc2YsIGRldm5hbWUsIHBhcnRubywgIW5hbWUpOworCisJLyogcHJpbnQgcGFydGl0aW9uIG5hbWUgKi8KKwlpZiAoIW5hbWUpIHsKKwkJY29uc3QgY2hhciAqc3RyID0gTlVMTDsKKworCQlpZiAoZmRpc2tfZ2V0X3BhcnRpdGlvbihzZi0+Y3h0LCBwYXJ0bm8gLSAxLCAmcGEpID09IDApCisJCQlzdHIgPSBmZGlza19wYXJ0aXRpb25fZ2V0X25hbWUocGEpOworCQlpZiAoIXN0cikKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbmFtZSIpLAorCQkJCQkJZGV2bmFtZSwgcGFydG5vKTsKKwkJcHJpbnRmKCIlc1xuIiwgc3RyKTsKKwkJZmRpc2tfdW5yZWZfcGFydGl0aW9uKHBhKTsKKwkJZmRpc2tfZGVhc3NpZ25fZGV2aWNlKHNmLT5jeHQsIDEpOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAoc2YtPmJhY2t1cCkKKwkJYmFja3VwX3BhcnRpdGlvbl90YWJsZShzZiwgZGV2bmFtZSk7CisKKwlwYSA9IGZkaXNrX25ld19wYXJ0aXRpb24oKTsKKwlpZiAoIXBhKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG9iamVjdCIpKTsKKworCWlmIChmZGlza19wYXJ0aXRpb25fc2V0X25hbWUocGEsIG5hbWUpICE9IDAgfHwKKwkgICAgZmRpc2tfc2V0X3BhcnRpdGlvbihzZi0+Y3h0LCBwYXJ0bm8gLSAxLCBwYSkgIT0gMCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBuYW1lIiksCisJCQkJZGV2bmFtZSwgcGFydG5vKTsKKworCWZkaXNrX3VucmVmX3BhcnRpdGlvbihwYSk7CisJcmV0dXJuIHdyaXRlX2NoYW5nZXMoc2YpOworfQorCisvKgorICogc2ZkaXNrIC0tcGFydC1hdHRycyA8ZGV2aWNlPiA8cGFydG5vPiBbPGF0dHJzPl0KKyAqLworc3RhdGljIGludCBjb21tYW5kX3BhcnRhdHRycyhzdHJ1Y3Qgc2ZkaXNrICpzZiwgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCXNpemVfdCBwYXJ0bm87CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBOVUxMOworCWNvbnN0IGNoYXIgKmRldm5hbWUgPSBOVUxMLCAqYXR0cnMgPSBOVUxMOworCisJaWYgKCFhcmdjKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibm8gZGlzayBkZXZpY2Ugc3BlY2lmaWVkIikpOworCWRldm5hbWUgPSBhcmd2WzBdOworCisJaWYgKGFyZ2MgPCAyKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiKSk7CisJcGFydG5vID0gc3RydG91MzJfb3JfZXJyKGFyZ3ZbMV0sIF8oImZhaWxlZCB0byBwYXJzZSBwYXJ0aXRpb24gbnVtYmVyIikpOworCisJaWYgKGFyZ2MgPT0gMykKKwkJYXR0cnMgPSBhcmd2WzJdOworCWVsc2UgaWYgKGFyZ2MgPiAzKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5leHBlY3RlZCBhcmd1bWVudHMiKSk7CisKKwkvKiByZWFkLW9ubHkgaWYgbmFtZSBub3QgZ2l2ZW4gKi8KKwlhc3NpZ25fZGV2aWNlX3BhcnRpdGlvbihzZiwgZGV2bmFtZSwgcGFydG5vLCAhYXR0cnMpOworCisJLyogcHJpbnQgcGFydGl0aW9uIG5hbWUgKi8KKwlpZiAoIWF0dHJzKSB7CisJCWNvbnN0IGNoYXIgKnN0ciA9IE5VTEw7CisKKwkJaWYgKGZkaXNrX2dldF9wYXJ0aXRpb24oc2YtPmN4dCwgcGFydG5vIC0gMSwgJnBhKSA9PSAwKQorCQkJc3RyID0gZmRpc2tfcGFydGl0aW9uX2dldF9hdHRycyhwYSk7CisJCWlmIChzdHIpCisJCQlwcmludGYoIiVzXG4iLCBzdHIpOworCQlmZGlza191bnJlZl9wYXJ0aXRpb24ocGEpOworCQlmZGlza19kZWFzc2lnbl9kZXZpY2Uoc2YtPmN4dCwgMSk7CisJCXJldHVybiAwOworCX0KKworCWlmIChzZi0+YmFja3VwKQorCQliYWNrdXBfcGFydGl0aW9uX3RhYmxlKHNmLCBkZXZuYW1lKTsKKworCXBhID0gZmRpc2tfbmV3X3BhcnRpdGlvbigpOworCWlmICghcGEpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gb2JqZWN0IikpOworCisJaWYgKGZkaXNrX3BhcnRpdGlvbl9zZXRfYXR0cnMocGEsIGF0dHJzKSAhPSAwIHx8CisJICAgIGZkaXNrX3NldF9wYXJ0aXRpb24oc2YtPmN4dCwgcGFydG5vIC0gMSwgcGEpICE9IDApCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gYXR0cmlidXRlcyIpLAorCQkJCWRldm5hbWUsIHBhcnRubyk7CisKKwlmZGlza191bnJlZl9wYXJ0aXRpb24ocGEpOworCXJldHVybiB3cml0ZV9jaGFuZ2VzKHNmKTsKK30KKworc3RhdGljIHZvaWQgc2ZkaXNrX3ByaW50X3BhcnRpdGlvbihzdHJ1Y3Qgc2ZkaXNrICpzZiwgc2l6ZV90IG4pCit7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBOVUxMOworCWNoYXIgKmRhdGE7CisKKwlhc3NlcnQoc2YpOworCisJaWYgKHNmLT5xdWlldCkKKwkJcmV0dXJuOworCWlmIChmZGlza19nZXRfcGFydGl0aW9uKHNmLT5jeHQsIG4sICZwYSkgIT0gMCkKKwkJcmV0dXJuOworCisJZmRpc2tfcGFydGl0aW9uX3RvX3N0cmluZyhwYSwgc2YtPmN4dCwgRkRJU0tfRklFTERfREVWSUNFLCAmZGF0YSk7CisJcHJpbnRmKCIlMTJzIDogIiwgZGF0YSk7CisKKwlmZGlza19wYXJ0aXRpb25fdG9fc3RyaW5nKHBhLCBzZi0+Y3h0LCBGRElTS19GSUVMRF9TVEFSVCwgJmRhdGEpOworCXByaW50ZigiJTEycyAiLCBkYXRhKTsKKworCWZkaXNrX3BhcnRpdGlvbl90b19zdHJpbmcocGEsIHNmLT5jeHQsIEZESVNLX0ZJRUxEX0VORCwgJmRhdGEpOworCXByaW50ZigiJTEycyAiLCBkYXRhKTsKKworCWZkaXNrX3BhcnRpdGlvbl90b19zdHJpbmcocGEsIHNmLT5jeHQsIEZESVNLX0ZJRUxEX1NJWkUsICZkYXRhKTsKKwlwcmludGYoIiglcykgIiwgZGF0YSk7CisKKwlmZGlza19wYXJ0aXRpb25fdG9fc3RyaW5nKHBhLCBzZi0+Y3h0LCBGRElTS19GSUVMRF9UWVBFLCAmZGF0YSk7CisJcHJpbnRmKCIlc1xuIiwgZGF0YSk7CisKKwlmZGlza191bnJlZl9wYXJ0aXRpb24ocGEpOworfQorCitzdGF0aWMgdm9pZCBjb21tYW5kX2ZkaXNrX2hlbHAodm9pZCkKK3sKKwlmcHV0cyhfKCJcbkhlbHA6XG4iKSwgc3Rkb3V0KTsKKworCWZwdXRjKCdcbicsIHN0ZG91dCk7CisJY29sb3Jfc2NoZW1lX2VuYWJsZSgiaGVscC10aXRsZSIsIFVMX0NPTE9SX0JPTEQpOworCWZwdXRzKF8oIiBDb21tYW5kczpcbiIpLCBzdGRvdXQpOworCWNvbG9yX2Rpc2FibGUoKTsKKwlmcHV0cyhfKCIgICB3cml0ZSAgICB3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0XG4iKSwgc3Rkb3V0KTsKKwlmcHV0cyhfKCIgICBxdWl0ICAgICBzaG93IG5ldyBzaXR1YXRpb24gYW5kIHdhaXQgZm9yIHVzZXIncyBmZWVkYmFjayBiZWZvcmUgd3JpdGVcbiIpLCBzdGRvdXQpOworCWZwdXRzKF8oIiAgIGFib3J0ICAgIGV4aXQgc2ZkaXNrIHNoZWxsXG4iKSwgc3Rkb3V0KTsKKwlmcHV0cyhfKCIgICBwcmludCAgICBkaXNwbGF5IHRoZSBwYXJ0aXRpb24gdGFibGVcbiIpLCBzdGRvdXQpOworCWZwdXRzKF8oIiAgIGhlbHAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIpLCBzdGRvdXQpOworCWZwdXRjKCdcbicsIHN0ZG91dCk7CisJZnB1dHMoXygiICAgQ3RybC1EICAgdGhlIHNhbWUgYXMgJ3F1aXQnXG4iKSwgc3Rkb3V0KTsKKworCWZwdXRjKCdcbicsIHN0ZG91dCk7CisJY29sb3Jfc2NoZW1lX2VuYWJsZSgiaGVscC10aXRsZSIsIFVMX0NPTE9SX0JPTEQpOworCWZwdXRzKF8oIiBJbnB1dCBmb3JtYXQ6XG4iKSwgc3Rkb3V0KTsKKwljb2xvcl9kaXNhYmxlKCk7CisJZnB1dHMoXygiICAgPHN0YXJ0PiwgPHNpemU+LCA8dHlwZT4sIDxib290YWJsZT5cbiIpLCBzdGRvdXQpOworCisJZnB1dGMoJ1xuJywgc3Rkb3V0KTsKKwlmcHV0cyhfKCIgICA8c3RhcnQ+ICBCZWdpbm5pbmcgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorCQkiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKwkJIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIHRoZSBmaXJzdCBmcmVlIHNwYWNlLlxuIiksIHN0ZG91dCk7CisKKwlmcHV0YygnXG4nLCBzdGRvdXQpOworCWZwdXRzKF8oIiAgIDxzaXplPiAgIFNpemUgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorCQkiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKwkJIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIGFsbCBhdmFpbGFibGUgc3BhY2UuXG4iKSwgc3Rkb3V0KTsKKworCWZwdXRjKCdcbicsIHN0ZG91dCk7CisJZnB1dHMoXygiICAgPHR5cGU+ICAgVGhlIHBhcnRpdGlvbiB0eXBlLiAgRGVmYXVsdCBpcyBhIExpbnV4IGRhdGEgcGFydGl0aW9uLlxuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiICAgICAgICAgICAgTUJSOiBoZXggb3IgTCxTLEUsWCBzaG9ydGN1dHMuXG4iKSwgc3Rkb3V0KTsKKwlmcHV0cyhfKCIgICAgICAgICAgICBHUFQ6IFVVSUQgb3IgTCxTLEggc2hvcnRjdXRzLlxuIiksIHN0ZG91dCk7CisKKwlmcHV0YygnXG4nLCBzdGRvdXQpOworCWZwdXRzKF8oIiAgIDxib290YWJsZT4gIFVzZSAnKicgdG8gbWFyayBhbiBNQlIgcGFydGl0aW9uIGFzIGJvb3RhYmxlLlxuIiksIHN0ZG91dCk7CisKKwlmcHV0YygnXG4nLCBzdGRvdXQpOworCWNvbG9yX3NjaGVtZV9lbmFibGUoImhlbHAtdGl0bGUiLCBVTF9DT0xPUl9CT0xEKTsKKwlmcHV0cyhfKCIgRXhhbXBsZTpcbiIpLCBzdGRvdXQpOworCWNvbG9yX2Rpc2FibGUoKTsKKwlmcHV0cyhfKCIgICAsIDRHICAgICBDcmVhdGVzIGEgNEdpQiBwYXJ0aXRpb24gYXQgZGVmYXVsdCBzdGFydCBvZmZzZXQuXG4iKSwgc3Rkb3V0KTsKKwlmcHV0YygnXG4nLCBzdGRvdXQpOworfQorCitlbnVtIHsKKwlTRkRJU0tfRE9ORV9OT05FID0gMCwKKwlTRkRJU0tfRE9ORV9FT0YsCisJU0ZESVNLX0RPTkVfQUJPUlQsCisJU0ZESVNLX0RPTkVfV1JJVEUsCisJU0ZESVNLX0RPTkVfQVNLCit9OworCisvKiByZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLCAxIHN1Y2Nlc3NmdWxseSBzdG9wIHNmZGlzayAqLworc3RhdGljIGludCBsb29wX2NvbnRyb2xfY29tbWFuZHMoc3RydWN0IHNmZGlzayAqc2YsCisJCQkJIHN0cnVjdCBmZGlza19zY3JpcHQgKmRwLAorCQkJCSBjaGFyICpidWYpCit7CisJY29uc3QgY2hhciAqcCA9IHNraXBfYmxhbmsoYnVmKTsKKwlpbnQgcmMgPSBTRkRJU0tfRE9ORV9OT05FOworCisJaWYgKHN0cmNtcChwLCAicHJpbnQiKSA9PSAwKQorCQlsaXN0X2Rpc2tsYWJlbChzZi0+Y3h0KTsKKwllbHNlIGlmIChzdHJjbXAocCwgImhlbHAiKSA9PSAwKQorCQljb21tYW5kX2ZkaXNrX2hlbHAoKTsKKwllbHNlIGlmIChzdHJjbXAocCwgInF1aXQiKSA9PSAwKQorCQlyYyA9IFNGRElTS19ET05FX0FTSzsKKwllbHNlIGlmIChzdHJjbXAocCwgIndyaXRlIikgPT0gMCkKKwkJcmMgPSBTRkRJU0tfRE9ORV9XUklURTsKKwllbHNlIGlmIChzdHJjbXAocCwgImFib3J0IikgPT0gMCkKKwkJcmMgPSBTRkRJU0tfRE9ORV9BQk9SVDsKKwllbHNlIHsKKwkJaWYgKHNmLT5pbnRlcmFjdGl2ZSkKKwkJCWZkaXNrX3dhcm54KHNmLT5jeHQsIF8oInVuc3VwcG9ydGVkIGNvbW1hbmQiKSk7CisJCWVsc2UgeworCQkJZmRpc2tfd2Fybngoc2YtPmN4dCwgXygibGluZSAlZDogdW5zdXBwb3J0ZWQgY29tbWFuZCIpLAorCQkJCQlmZGlza19zY3JpcHRfZ2V0X25saW5lcyhkcCkpOworCQkJcmMgPSAtRUlOVkFMOworCQl9CisJfQorCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBoYXNfY29udGFpbmVyKHN0cnVjdCBzZmRpc2sgKnNmKQoreworCXNpemVfdCBpLCBucGFydHM7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBOVUxMOworCisJaWYgKHNmLT5jb250YWluZXIpCisJCXJldHVybiBzZi0+Y29udGFpbmVyOworCisJbnBhcnRzID0gZmRpc2tfZ2V0X25wYXJ0aXRpb25zKHNmLT5jeHQpOworCWZvciAoaSA9IDA7IGkgPCBucGFydHM7IGkrKykgeworCQlpZiAoZmRpc2tfZ2V0X3BhcnRpdGlvbihzZi0+Y3h0LCBpLCAmcGEpICE9IDApCisJCQljb250aW51ZTsKKwkJaWYgKGZkaXNrX3BhcnRpdGlvbl9pc19jb250YWluZXIocGEpKSB7CisJCQlzZi0+Y29udGFpbmVyID0gMTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJZmRpc2tfdW5yZWZfcGFydGl0aW9uKHBhKTsKKwlyZXR1cm4gc2YtPmNvbnRhaW5lcjsKK30KKworc3RhdGljIHNpemVfdCBsYXN0X3B0X3BhcnRubyhzdHJ1Y3Qgc2ZkaXNrICpzZikKK3sKKwlzaXplX3QgaSwgbnBhcnRzLCBwYXJ0bm8gPSAwOworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhID0gTlVMTDsKKworCisJbnBhcnRzID0gZmRpc2tfZ2V0X25wYXJ0aXRpb25zKHNmLT5jeHQpOworCWZvciAoaSA9IDA7IGkgPCBucGFydHM7IGkrKykgeworCQlzaXplX3QgeDsKKworCQlpZiAoZmRpc2tfZ2V0X3BhcnRpdGlvbihzZi0+Y3h0LCBpLCAmcGEpICE9IDAgfHwKKwkJICAgICFmZGlza19wYXJ0aXRpb25faXNfdXNlZChwYSkpCisJCQljb250aW51ZTsKKwkJeCA9IGZkaXNrX3BhcnRpdGlvbl9nZXRfcGFydG5vKHBhKTsKKwkJaWYgKHggPiBwYXJ0bm8pCisJCQlwYXJ0bm8gPSB4OworCX0KKworCWZkaXNrX3VucmVmX3BhcnRpdGlvbihwYSk7CisJcmV0dXJuIHBhcnRubzsKK30KKworc3RhdGljIGludCBpc19kZXZpY2VfdXNlZChzdHJ1Y3Qgc2ZkaXNrICpzZikKK3sKKyNpZmRlZiBCTEtSUlBBUlQKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwlpbnQgZmQ7CisKKwlhc3NlcnQoc2YpOworCWFzc2VydChzZi0+Y3h0KTsKKworCWZkID0gZmRpc2tfZ2V0X2RldmZkKHNmLT5jeHQpOworCWlmIChmZCA8IDApCisJCXJldHVybiAwOworCisJaWYgKGZzdGF0KGZkLCAmc3QpID09IDAgJiYgU19JU0JMSyhzdC5zdF9tb2RlKQorCSAgICAmJiBtYWpvcihzdC5zdF9yZGV2KSAhPSBMT09QREVWX01BSk9SKQorCQlyZXR1cm4gaW9jdGwoZmQsIEJMS1JSUEFSVCkgIT0gMDsKKyNlbmRpZgorCXJldHVybiAwOworfQorCisjaWZkZWYgSEFWRV9MSUJSRUFETElORQorc3RhdGljIGNoYXIgKnNmZGlza19mZ2V0cyhzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCwKKwkJCSAgY2hhciAqYnVmLCBzaXplX3QgYnVmc3osIEZJTEUgKmYpCit7CisJc3RydWN0IHNmZGlzayAqc2YgPSAoc3RydWN0IHNmZGlzayAqKSBmZGlza19zY3JpcHRfZ2V0X3VzZXJkYXRhKGRwKTsKKworCWFzc2VydChkcCk7CisJYXNzZXJ0KGJ1Zik7CisJYXNzZXJ0KGJ1ZnN6ID4gMik7CisKKwlpZiAoc2YtPmludGVyYWN0aXZlKSB7CisJCWNoYXIgKnAgPSByZWFkbGluZShzZi0+cHJvbXB0KTsKKwkJc2l6ZV90IGxlbjsKKworCQlpZiAoIXApCisJCQlyZXR1cm4gTlVMTDsKKwkJbGVuID0gc3RybGVuKHApOworCQlpZiAobGVuID4gYnVmc3ogLSAyKQorCQkJbGVuID0gYnVmc3ogLSAyOworCisJCW1lbWNweShidWYsIHAsIGxlbik7CisJCWJ1ZltsZW5dID0gJ1xuJzsJCS8qIGFwcGVuZCBcbiB0byBiZSBjb21wYXRpYmxlIHdpdGggbGliYyBmZ2V0YygpICovCisJCWJ1ZltsZW4gKyAxXSA9ICdcMCc7CisJCWZyZWUocCk7CisJCWZmbHVzaChzdGRvdXQpOworCQlyZXR1cm4gYnVmOworCX0KKwlyZXR1cm4gZmdldHMoYnVmLCBidWZzeiwgZik7Cit9CisjZW5kaWYKKworc3RhdGljIGludCBpZ25vcmVfcGFydGl0aW9uKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKQoreworCS8qIGluY29tcGxldGUgcGFydGl0aW9uIHNldHRpbmcgKi8KKwlpZiAoIWZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpICYmICFmZGlza19wYXJ0aXRpb25fc3RhcnRfaXNfZGVmYXVsdChwYSkpCisJCXJldHVybiAxOworCWlmICghZmRpc2tfcGFydGl0aW9uX2hhc19zaXplKHBhKSAmJiAhZmRpc2tfcGFydGl0aW9uX2VuZF9pc19kZWZhdWx0KHBhKSkKKwkJcmV0dXJuIDE7CisKKwkvKiBwcm9iYWJseSBkdW1wIGZyb20gb2xkIHNmZGlzayB3aXRoIHN0YXJ0PTAgc2l6ZT0wICovCisJaWYgKGZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpICYmIGZkaXNrX3BhcnRpdGlvbl9nZXRfc3RhcnQocGEpID09IDAgJiYKKwkgICAgZmRpc2tfcGFydGl0aW9uX2hhc19zaXplKHBhKSAmJiBmZGlza19wYXJ0aXRpb25fZ2V0X3NpemUocGEpID09IDApCisJCXJldHVybiAxOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgd2lwZV9wYXJ0aXRpb24oc3RydWN0IHNmZGlzayAqc2YsIHNpemVfdCBwYXJ0bm8pCit7CisJaW50IHJjLCB5ZXMgPSAwOworCWNoYXIgKmZzdHlwZSA9IE5VTEw7OworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnRtcCA9IE5VTEw7CisKKwlEQkcoTUlTQywgdWxfZGVidWcoImNoZWNraW5nIGZvciBzaWduYXR1cmUiKSk7CisKKwlyYyA9IGZkaXNrX2dldF9wYXJ0aXRpb24oc2YtPmN4dCwgcGFydG5vLCAmdG1wKTsKKwlpZiAocmMpCisJCWdvdG8gZG9uZTsKKworCXJjID0gZmRpc2tfcGFydGl0aW9uX3RvX3N0cmluZyh0bXAsIHNmLT5jeHQsIEZESVNLX0ZJRUxEX0ZTVFlQRSwgJmZzdHlwZSk7CisJaWYgKHJjIHx8IGZzdHlwZSA9PSBOVUxMKQorCQlnb3RvIGRvbmU7CisKKwlmZGlza193YXJueChzZi0+Y3h0LCBfKCJQYXJ0aXRpb24gIyV6dSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iKSwgcGFydG5vICsgMSwgZnN0eXBlKTsKKworCWlmIChzZi0+cHdpcGVtb2RlID09IFdJUEVNT0RFX0FVVE8gJiYgaXNhdHR5KFNURElOX0ZJTEVOTykpCisJCWZkaXNrX2Fza195ZXNubyhzZi0+Y3h0LCBfKCJEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlIHNpZ25hdHVyZT8iKSwgJnllcyk7CisJZWxzZSBpZiAoc2YtPnB3aXBlbW9kZSA9PSBXSVBFTU9ERV9BTFdBWVMpCisJCXllcyA9IDE7CisKKwlpZiAoeWVzKSB7CisJCWZkaXNrX2luZm8oc2YtPmN4dCwgXygiVGhlIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIpKTsKKwkJcmMgPSBmZGlza193aXBlX3BhcnRpdGlvbihzZi0+Y3h0LCBwYXJ0bm8sIFRSVUUpOworCX0KK2RvbmU6CisJZmRpc2tfdW5yZWZfcGFydGl0aW9uKHRtcCk7CisJZnJlZShmc3R5cGUpOworCURCRyhNSVNDLCB1bF9kZWJ1ZygicGFydGl0aW9uIHdpcGUgY2hlY2sgZW5kIFtyYz0lZF0iLCByYykpOworCXJldHVybiByYzsKK30KKworc3RhdGljIHZvaWQgcmVmcmVzaF9wcm9tcHRfYnVmZmVyKHN0cnVjdCBzZmRpc2sgKnNmLCBjb25zdCBjaGFyICpkZXZuYW1lLAorCQkgICAgICAgICAgICAgICAgICBzaXplX3QgbmV4dF9wYXJ0bm8sIGludCBjcmVhdGVkKQoreworCWlmIChjcmVhdGVkKSB7CisJCWNoYXIgKnBhcnRuYW1lID0gZmRpc2tfcGFydG5hbWUoZGV2bmFtZSwgbmV4dF9wYXJ0bm8gKyAxKTsKKwkJaWYgKCFwYXJ0bmFtZSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gbmFtZSIpKTsKKworCQlpZiAoIXNmLT5wcm9tcHQgfHwgIXN0YXJ0c3dpdGgoc2YtPnByb21wdCwgcGFydG5hbWUpKSB7CisJCQlmcmVlKHNmLT5wcm9tcHQpOworCQkJeGFzcHJpbnRmKCZzZi0+cHJvbXB0LCIlczogIiwgcGFydG5hbWUpOworCQl9CisJCWZyZWUocGFydG5hbWUpOworCX0gZWxzZSBpZiAoIXNmLT5wcm9tcHQgfHwgIXN0YXJ0c3dpdGgoc2YtPnByb21wdCwgU0ZESVNLX1BST01QVCkpIHsKKwkJZnJlZShzZi0+cHJvbXB0KTsKKwkJc2YtPnByb21wdCA9IHhzdHJkdXAoU0ZESVNLX1BST01QVCk7CisJfQorfQorCisvKgorICogc2ZkaXNrIDxkZXZpY2U+IFtbLU5dIDxwYXJ0bm8+XQorICoKKyAqIE5vdGUgdGhhdCB0aGUgb3B0aW9uIC1OIGlzIHRoZXJlIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IG9ubHkuCisgKi8KK3N0YXRpYyBpbnQgY29tbWFuZF9mZGlzayhzdHJ1Y3Qgc2ZkaXNrICpzZiwgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCByYyA9IDAsIHBhcnRubyA9IHNmLT5wYXJ0bm8sIGNyZWF0ZWQgPSAwLCB1bnVzZWQgPSAwOworCXN0cnVjdCBmZGlza19zY3JpcHQgKmRwOworCXN0cnVjdCBmZGlza190YWJsZSAqdGIgPSBOVUxMOworCWNvbnN0IGNoYXIgKmRldm5hbWUgPSBOVUxMLCAqbGFiZWw7CisJY2hhciBidWZbQlVGU0laXTsKKwlzaXplX3QgbmV4dF9wYXJ0bm8gPSAoc2l6ZV90KSAtMTsKKworCWlmIChhcmdjKQorCQlkZXZuYW1lID0gYXJndlswXTsKKwlpZiAocGFydG5vIDwgMCAmJiBhcmdjID4gMSkKKwkJcGFydG5vID0gc3RydG91MzJfb3JfZXJyKGFyZ3ZbMV0sCisJCQkJXygiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiKSk7CisJaWYgKCFkZXZuYW1lKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibm8gZGlzayBkZXZpY2Ugc3BlY2lmaWVkIikpOworCisJcmMgPSBmZGlza19hc3NpZ25fZGV2aWNlKHNmLT5jeHQsIGRldm5hbWUsIDApOworCWlmIChyYykKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgZGV2bmFtZSk7CisKKwlkcCA9IGZkaXNrX25ld19zY3JpcHQoc2YtPmN4dCk7CisJaWYgKCFkcCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIikpOworCWZkaXNrX3NldF9zY3JpcHQoc2YtPmN4dCwgZHApOworI2lmZGVmIEhBVkVfTElCUkVBRExJTkUKKwlmZGlza19zY3JpcHRfc2V0X2ZnZXRzKGRwLCBzZmRpc2tfZmdldHMpOworI2VuZGlmCisJZmRpc2tfc2NyaXB0X3NldF91c2VyZGF0YShkcCwgKHZvaWQgKikgc2YpOworCisJLyoKKwkgKiBEb24ndCBjcmVhdGUgYSBuZXcgZGlza2xhYmVsIHdoZW4gWy1OXSA8cGFydG5vPiBzcGVjaWZpZWQuIEluIHRoaXMKKwkgKiBjYXNlIHJldXNlIGFscmVhZHkgc3BlY2lmaWVkIGRpc2tsYWJlbC4gTGV0J3MgY2hlY2sgdGhhdCB0aGUgZGlzaworCSAqIHJlYWxseSBjb250YWlucyB0aGUgcGFydGl0aW9uLgorCSAqLworCWlmIChwYXJ0bm8gPj0gMCkgeworCQlzaXplX3QgbjsKKworCQlpZiAoIWZkaXNrX2hhc19sYWJlbChzZi0+Y3h0KSkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6ICIKKwkJCQkJICAgICAibm8gcGFydGl0aW9uIHRhYmxlIHdhcyBmb3VuZCIpLAorCQkJCQlkZXZuYW1lLCBwYXJ0bm8gKyAxKTsKKwkJbiA9IGZkaXNrX2dldF9ucGFydGl0aW9ucyhzZi0+Y3h0KTsKKwkJaWYgKChzaXplX3QpIHBhcnRubyA+IG4pCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiAiCisJCQkJCSAgICAgInBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSAiCisJCQkJCSAgICAgInBhcnRpdGlvbnMiKSwKKwkJCQkJZGV2bmFtZSwgcGFydG5vICsgMSwgbik7CisKKwkJaWYgKCFmZGlza19pc19wYXJ0aXRpb25fdXNlZChzZi0+Y3h0LCBwYXJ0bm8pKSB7CisJCQlmZGlza193YXJueChzZi0+Y3h0LCBfKCJ3YXJuaW5nOiAlczogcGFydGl0aW9uICVkIGlzIG5vdCBkZWZpbmVkIHlldCIpLAorCQkJCQlkZXZuYW1lLCBwYXJ0bm8gKyAxKTsKKwkJCXVudXNlZCA9IDE7CisJCX0KKwkJY3JlYXRlZCA9IDE7CisJCW5leHRfcGFydG5vID0gcGFydG5vOworCisJCWlmIChzZi0+bW92ZWRhdGEpCisJCQlzZi0+b3JpZ19wYSA9IGdldF9wYXJ0aXRpb24oc2YtPmN4dCwgcGFydG5vKTsKKwl9CisKKwlpZiAoc2YtPmFwcGVuZCkgeworCQljcmVhdGVkID0gMTsKKwkJbmV4dF9wYXJ0bm8gPSBsYXN0X3B0X3BhcnRubyhzZikgKyAxOworCX0KKworCWlmICghc2YtPnF1aWV0ICYmIHNmLT5pbnRlcmFjdGl2ZSkgeworCQljb2xvcl9zY2hlbWVfZW5hYmxlKCJ3ZWxjb21lIiwgVUxfQ09MT1JfR1JFRU4pOworCQlmZGlza19pbmZvKHNmLT5jeHQsIF8oIlxuV2VsY29tZSB0byBzZmRpc2sgKCVzKS4iKSwgUEFDS0FHRV9TVFJJTkcpOworCQljb2xvcl9kaXNhYmxlKCk7CisJCWZkaXNrX2luZm8oc2YtPmN4dCwgXygiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorCQkJCSAgIkJlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLlxuIikpOworCX0KKworCWlmICghc2YtPm5vYWN0ICYmICFzZi0+bm9yZXJlYWQpIHsKKwkJaWYgKCFzZi0+cXVpZXQpCisJCQlmcHV0cyhfKCJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIpLCBzdGRvdXQpOworCQlpZiAoaXNfZGV2aWNlX3VzZWQoc2YpKSB7CisJCQlpZiAoIXNmLT5xdWlldCkKKwkJCQlmcHV0cyhfKCIgRkFJTEVEXG5cbiIpLCBzdGRvdXQpOworCisJCQlmZGlza193YXJueChzZi0+Y3h0LCBfKAorCQkJIlRoaXMgZGlzayBpcyBjdXJyZW50bHkgaW4gdXNlIC0gcmVwYXJ0aXRpb25pbmcgaXMgcHJvYmFibHkgYSBiYWQgaWRlYS5cbiIKKwkJCSJVbW91bnQgYWxsIGZpbGUgc3lzdGVtcywgYW5kIHN3YXBvZmYgYWxsIHN3YXAgcGFydGl0aW9ucyBvbiB0aGlzIGRpc2suXG4iCisJCQkiVXNlIHRoZSAtLW5vLXJlcmVhZCBmbGFnIHRvIHN1cHByZXNzIHRoaXMgY2hlY2suXG4iKSk7CisKKwkJCWlmICghc2YtPmZvcmNlKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJVc2UgdGhlIC0tZm9yY2UgZmxhZyB0byBvdmVycnVsZSBhbGwgY2hlY2tzLiIpKTsKKwkJfSBlbHNlIGlmICghc2YtPnF1aWV0KQorCQkJZnB1dHMoXygiIE9LXG5cbiIpLCBzdGRvdXQpOworCX0KKworCWlmIChmZGlza19nZXRfY29sbGlzaW9uKHNmLT5jeHQpKSB7CisJCWludCBkb3dpcGUgPSBzZi0+d2lwZW1vZGUgPT0gV0lQRU1PREVfQUxXQVlTID8gMSA6IDA7CisKKwkJZmRpc2tfd2Fybngoc2YtPmN4dCwgXygiRGV2aWNlICVzIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmUuIiksCisJCQlkZXZuYW1lLCBmZGlza19nZXRfY29sbGlzaW9uKHNmLT5jeHQpKTsKKworCQlpZiAoc2YtPmludGVyYWN0aXZlICYmIHNmLT53aXBlbW9kZSA9PSBXSVBFTU9ERV9BVVRPKQorCQkJZG93aXBlID0gMTsJLyogZG8gaXQgaW4gaW50ZXJhY3RpdmUgbW9kZSAqLworCisJCWZkaXNrX2VuYWJsZV93aXBlKHNmLT5jeHQsIGRvd2lwZSk7CisJCWlmIChkb3dpcGUpCisJCQlmZGlza193YXJueChzZi0+Y3h0LCBfKAorCQkJCSJUaGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIikpOworCQllbHNlCisJCQlmZGlza193YXJueChzZi0+Y3h0LCBfKAorCQkJCSJJdCBpcyBzdHJvbmdseSByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSBkZXZpY2Ugd2l0aCAiCisJCQkJIndpcGVmcyg4KSwgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4iKSk7CisJCWZwdXRjKCdcbicsIHN0ZGVycik7CisJfQorCisJaWYgKHNmLT5iYWNrdXApCisJCWJhY2t1cF9wYXJ0aXRpb25fdGFibGUoc2YsIGRldm5hbWUpOworCisJaWYgKCFzZi0+cXVpZXQpIHsKKwkJbGlzdF9kaXNrX2dlb21ldHJ5KHNmLT5jeHQpOworCQlpZiAoZmRpc2tfaGFzX2xhYmVsKHNmLT5jeHQpKSB7CisJCQlmZGlza19pbmZvKHNmLT5jeHQsIF8oIlxuT2xkIHNpdHVhdGlvbjoiKSk7CisJCQlsaXN0X2Rpc2tsYWJlbChzZi0+Y3h0KTsKKwkJfQorCX0KKworCWlmIChzZi0+bGFiZWwpCisJCWxhYmVsID0gc2YtPmxhYmVsOworCWVsc2UgaWYgKGZkaXNrX2hhc19sYWJlbChzZi0+Y3h0KSkKKwkJbGFiZWwgPSBmZGlza19sYWJlbF9nZXRfbmFtZShmZGlza19nZXRfbGFiZWwoc2YtPmN4dCwgTlVMTCkpOworCWVsc2UKKwkJbGFiZWwgPSAiZG9zIjsJLyoganVzdCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAqLworCisJZmRpc2tfc2NyaXB0X3NldF9oZWFkZXIoZHAsICJsYWJlbCIsIGxhYmVsKTsKKworCisJaWYgKCFzZi0+cXVpZXQgJiYgc2YtPmludGVyYWN0aXZlKSB7CisJCWlmICghZmRpc2tfaGFzX2xhYmVsKHNmLT5jeHQpICYmICFzZi0+bGFiZWwpCisJCQlmZGlza19pbmZvKHNmLT5jeHQsCisJCQkJXygiXG5zZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKwkJCQkgICJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisJCQkJICAidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIiksIGxhYmVsKTsKKwkJZmRpc2tfaW5mbyhzZi0+Y3h0LCBfKCJcblR5cGUgJ2hlbHAnIHRvIGdldCBtb3JlIGluZm9ybWF0aW9uLlxuIikpOworCX0gZWxzZSBpZiAoIXNmLT5xdWlldCkKKwkJZnB1dGMoJ1xuJywgc3Rkb3V0KTsKKworCXRiID0gZmRpc2tfc2NyaXB0X2dldF90YWJsZShkcCk7CisJYXNzZXJ0KHRiKTsKKworCWRvIHsKKwkJc2l6ZV90IG5wYXJ0czsKKworCQlEQkcoUEFSU0UsIHVsX2RlYnVnKCI8LS0tbmV4dC1saW5lLS0tPiIpKTsKKwkJaWYgKG5leHRfcGFydG5vID09IChzaXplX3QpIC0xKQorCQkJbmV4dF9wYXJ0bm8gPSBmZGlza190YWJsZV9nZXRfbmVudHModGIpOworCisJCWlmIChjcmVhdGVkCisJCSAgICAmJiBwYXJ0bm8gPCAwCisJCSAgICAmJiBuZXh0X3BhcnRubyA9PSBmZGlza19nZXRfbnBhcnRpdGlvbnMoc2YtPmN4dCkKKwkJICAgICYmICFoYXNfY29udGFpbmVyKHNmKSkgeworCQkJZmRpc2tfaW5mbyhzZi0+Y3h0LCBfKCJBbGwgcGFydGl0aW9ucyB1c2VkLiIpKTsKKwkJCXJjID0gU0ZESVNLX0RPTkVfQVNLOworCQkJYnJlYWs7CisJCX0KKworCQlyZWZyZXNoX3Byb21wdF9idWZmZXIoc2YsIGRldm5hbWUsIG5leHRfcGFydG5vLCBjcmVhdGVkKTsKKworCisJCWlmIChzZi0+cHJvbXB0ICYmIChzZi0+aW50ZXJhY3RpdmUgfHwgIXNmLT5xdWlldCkpIHsKKyNpZm5kZWYgSEFWRV9MSUJSRUFETElORQorCQkJZnB1dHMoc2YtPnByb21wdCwgc3Rkb3V0KTsKKyNlbHNlCisJCQlpZiAoIXNmLT5pbnRlcmFjdGl2ZSkKKwkJCQlmcHV0cyhzZi0+cHJvbXB0LCBzdGRvdXQpOworI2VuZGlmCisJCX0KKworCQlyYyA9IGZkaXNrX3NjcmlwdF9yZWFkX2xpbmUoZHAsIHN0ZGluLCBidWYsIHNpemVvZihidWYpKTsKKwkJaWYgKHJjIDwgMCkgeworCQkJREJHKFBBUlNFLCB1bF9kZWJ1Zygic2NyaXB0IHBhcnNpbmcgZmFpbGVkLCB0cnlpbmcgc2ZkaXNrIHNwZWNpZmljIGNvbW1hbmRzIikpOworCQkJYnVmW3NpemVvZihidWYpIC0gMV0gPSAnXDAnOworCQkJcmMgPSBsb29wX2NvbnRyb2xfY29tbWFuZHMoc2YsIGRwLCBidWYpOworCQkJaWYgKHJjKQorCQkJCWJyZWFrOworCQkJY29udGludWU7CisJCX0gZWxzZSBpZiAocmMgPT0gMSkgeworCQkJcmMgPSBTRkRJU0tfRE9ORV9FT0Y7CisJCQlpZiAoIXNmLT5xdWlldCkKKwkJCQlmcHV0cyhfKCJEb25lLlxuIiksIHN0ZG91dCk7CisJCQlicmVhazsKKwkJfQorCisJCW5wYXJ0cyA9IGZkaXNrX3RhYmxlX2dldF9uZW50cyh0Yik7CisJCWlmIChucGFydHMpIHsKKwkJCXNpemVfdCBjdXJfcGFydG5vOworCQkJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBmZGlza190YWJsZV9nZXRfcGFydGl0aW9uKHRiLCBucGFydHMgLSAxKTsKKworCQkJYXNzZXJ0KHBhKTsKKworCQkJaWYgKGlnbm9yZV9wYXJ0aXRpb24ocGEpKSB7CisJCQkJZmRpc2tfaW5mbyhzZi0+Y3h0LCBfKCJJZ25vcmluZyBwYXJ0aXRpb24uIikpOworCQkJCW5leHRfcGFydG5vKys7CisJCQkJY29udGludWU7CisJCQl9CisJCQlpZiAoIWNyZWF0ZWQpIHsJCS8qIGNyZWF0ZSBhIG5ldyBkaXNrbGFiZWwgKi8KKwkJCQlyYyA9IGZkaXNrX2FwcGx5X3NjcmlwdF9oZWFkZXJzKHNmLT5jeHQsIGRwKTsKKwkJCQljcmVhdGVkID0gIXJjOworCQkJCWlmIChyYykKKwkJCQkJZmRpc2tfd2Fybngoc2YtPmN4dCwgXygKKwkJCQkJICAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCBoZWFkZXJzLCAiCisJCQkJCSAgImRpc2sgbGFiZWwgbm90IGNyZWF0ZWQuIikpOworCQkJfQorCQkJaWYgKCFyYyAmJiBwYXJ0bm8gPj0gMCkgewkvKiAtTiA8cGFydG5vPiwgbW9kaWZ5IHBhcnRpdGlvbiAqLworCQkJCXJjID0gZmRpc2tfc2V0X3BhcnRpdGlvbihzZi0+Y3h0LCBwYXJ0bm8sIHBhKTsKKwkJCQlyYyA9IHJjID09IDAgPyBTRkRJU0tfRE9ORV9BU0sgOiBTRkRJU0tfRE9ORV9BQk9SVDsKKwkJCQlicmVhazsKKwkJCX0gZWxzZSBpZiAoIXJjKSB7CQkvKiBhZGQgcGFydGl0aW9uICovCisJCQkJaWYgKCFzZi0+aW50ZXJhY3RpdmUgJiYgIXNmLT5xdWlldCAmJgorCQkJCSAgICAoIXNmLT5wcm9tcHQgfHwgc3RhcnRzd2l0aChzZi0+cHJvbXB0LCBTRkRJU0tfUFJPTVBUKSkpIHsKKwkJCQkJcmVmcmVzaF9wcm9tcHRfYnVmZmVyKHNmLCBkZXZuYW1lLCBuZXh0X3BhcnRubywgY3JlYXRlZCk7CisJCQkJCWZwdXRzKHNmLT5wcm9tcHQsIHN0ZG91dCk7CisJCQkJfQorCQkJCXJjID0gZmRpc2tfYWRkX3BhcnRpdGlvbihzZi0+Y3h0LCBwYSwgJmN1cl9wYXJ0bm8pOworCQkJCWlmIChyYykgeworCQkJCQllcnJubyA9IC1yYzsKKwkJCQkJZmRpc2tfd2FybihzZi0+Y3h0LCBfKCJGYWlsZWQgdG8gYWRkICMlZCBwYXJ0aXRpb24iKSwgbmV4dF9wYXJ0bm8gKyAxKTsKKwkJCQl9CisJCQl9CisKKwkJCS8qIHdpcGUgcGFydGl0aW9uIG9uIHN1Y2Nlc3MKKwkJCSAqCisJCQkgKiBOb3RlIHRoYXQgdW51c2VkPTEgbWVhbnMgLU4gPHBhcnRubz4gZm9yIHVudXNlZCwKKwkJCSAqIG90aGVyd2lzZSB3ZSB3aXBlIG9ubHkgbmV3bHkgY3JlYXRlZCBwYXJ0aXRpb25zLgorCQkJICovCisJCQlpZiAocmMgPT0gMCAmJiAodW51c2VkIHx8IHBhcnRubyA8IDApKSB7CisJCQkJcmMgPSB3aXBlX3BhcnRpdGlvbihzZiwgdW51c2VkID8gKHNpemVfdCkgcGFydG5vIDogY3VyX3BhcnRubyk7CisJCQkJaWYgKHJjKQorCQkJCQllcnJubyA9IC1yYzsKKwkJCX0KKworCQkJaWYgKCFyYykgeworCQkJCS8qIHN1Y2Nlc3MgcHJpbnQgcmVzdWx0ICovCisJCQkJaWYgKHNmLT5pbnRlcmFjdGl2ZSkKKwkJCQkJc2ZkaXNrX3ByaW50X3BhcnRpdGlvbihzZiwgY3VyX3BhcnRubyk7CisJCQkJbmV4dF9wYXJ0bm8gPSBjdXJfcGFydG5vICsgMTsKKwkJCX0gZWxzZSBpZiAocGEpCQkvKiBlcnJvciwgZHJvcCBwYXJ0aXRpb24gZnJvbSBzY3JpcHQgKi8KKwkJCQlmZGlza190YWJsZV9yZW1vdmVfcGFydGl0aW9uKHRiLCBwYSk7CisJCX0gZWxzZQorCQkJZmRpc2tfaW5mbyhzZi0+Y3h0LCBfKCJTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLiIpKTsKKworCQlpZiAocmMgJiYgIXNmLT5pbnRlcmFjdGl2ZSkgeworCQkJcmMgPSAgU0ZESVNLX0RPTkVfQUJPUlQ7CisJCQlicmVhazsKKwkJfQorCX0gd2hpbGUgKDEpOworCisJaWYgKCFzZi0+cXVpZXQgJiYgcmMgIT0gU0ZESVNLX0RPTkVfQUJPUlQpIHsKKwkJZmRpc2tfaW5mbyhzZi0+Y3h0LCBfKCJcbk5ldyBzaXR1YXRpb246IikpOworCQlsaXN0X2Rpc2tsYWJlbChzZi0+Y3h0KTsKKwl9CisKKwlzd2l0Y2ggKHJjKSB7CisJY2FzZSBTRkRJU0tfRE9ORV9BU0s6CisJY2FzZSBTRkRJU0tfRE9ORV9FT0Y6CisJCWlmIChzZi0+aW50ZXJhY3RpdmUpIHsKKwkJCWludCB5ZXMgPSAwOworCQkJZmRpc2tfYXNrX3llc25vKHNmLT5jeHQsIF8oIkRvIHlvdSB3YW50IHRvIHdyaXRlIHRoaXMgdG8gZGlzaz8iKSwgJnllcyk7CisJCQlpZiAoIXllcykgeworCQkJCWZkaXNrX2luZm8oc2YtPmN4dCwgXygiTGVhdmluZy4iKSk7CisJCQkJcmMgPSAwOworCQkJCWJyZWFrOworCQkJfQorCQl9CisJY2FzZSBTRkRJU0tfRE9ORV9XUklURToKKwkJcmMgPSB3cml0ZV9jaGFuZ2VzKHNmKTsKKwkJYnJlYWs7CisJY2FzZSBTRkRJU0tfRE9ORV9BQk9SVDoKKwlkZWZhdWx0OgkJCQkvKiByYyA8IDAgb24gZXJyb3IgKi8KKwkJZmRpc2tfaW5mbyhzZi0+Y3h0LCBfKCJMZWF2aW5nLlxuIikpOworCQlicmVhazsKKwl9CisKKwlmZGlza191bnJlZl9zY3JpcHQoZHApOworCXJldHVybiByYzsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXyAoKF9fbm9yZXR1cm5fXykpIHVzYWdlKEZJTEUgKm91dCkKK3sKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisKKwlmcHJpbnRmKG91dCwKKwkgICAgICBfKCIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorCQkiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgYSBkaXNrIHBhcnRpdGlvbiB0YWJsZS5cbiIpLCBvdXQpOworCisJZnB1dHMoXygiXG5Db21tYW5kczpcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtQSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gbGlzdCBvciBzZXQgYm9vdGFibGUgTUJSIHBhcnRpdGlvbnNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZCwgLS1kdW1wIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgKHVzYWJsZSBmb3IgbGF0ZXIgaW5wdXQpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUosIC0tanNvbiA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlIGluIEpTT04gZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWcsIC0tc2hvdy1nZW9tZXRyeSBbPGRldj4gLi4uXSAgIGxpc3QgZ2VvbWV0cnkgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWwsIC0tbGlzdCBbPGRldj4gLi4uXSAgICAgICAgICAgIGxpc3QgcGFydGl0aW9ucyBvZiBlYWNoIGRldmljZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1GLCAtLWxpc3QtZnJlZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHVucGFydGl0aW9uZWQgZnJlZSBhcmVhcyBvZiBlYWNoIGRldmljZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1yLCAtLXJlb3JkZXIgPGRldj4gICAgICAgICAgICAgICBmaXggcGFydGl0aW9ucyBvcmRlciAoYnkgc3RhcnQgb2Zmc2V0KVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1zLCAtLXNob3ctc2l6ZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHNpemVzIG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmVjb2duaXplZCB0eXBlcyAoc2VlIC1YKVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1WLCAtLXZlcmlmeSBbPGRldj4gLi4uXSAgICAgICAgICB0ZXN0IHdoZXRoZXIgcGFydGl0aW9ucyBzZWVtIGNvcnJlY3RcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1kZWxldGUgPGRldj4gWzxwYXJ0PiAuLi5dICAgZGVsZXRlIGFsbCBvciBzcGVjaWZpZWQgcGFydGl0aW9uc1xuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiIC0tcGFydC1sYWJlbCA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGxhYmVsXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1wYXJ0LXR5cGUgPGRldj4gPHBhcnQ+IFs8dHlwZT5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdHlwZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC0tcGFydC11dWlkIDxkZXY+IDxwYXJ0PiBbPHV1aWQ+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHV1aWRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLXBhcnQtYXR0cnMgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBhdHRyaWJ1dGVzXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCIgPGRldj4gICAgICAgICAgICAgICAgICAgICBkZXZpY2UgKHVzdWFsbHkgZGlzaykgcGF0aFxuIiksIG91dCk7CisJZnB1dHMoXygiIDxwYXJ0PiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIG51bWJlclxuIiksIG91dCk7CisJZnB1dHMoXygiIDx0eXBlPiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIHR5cGUsIEdVSUQgZm9yIEdQVCwgaGV4IGZvciBNQlJcbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICBhcHBlbmQgcGFydGl0aW9ucyB0byBleGlzdGluZyBwYXJ0aXRpb24gdGFibGVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtYiwgLS1iYWNrdXAgICAgICAgICAgICAgIGJhY2t1cCBwYXJ0aXRpb24gdGFibGUgc2VjdG9ycyAoc2VlIC1PKVxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1tb3ZlLWRhdGFbPTx0eXBlc2NyaXB0Pl0gbW92ZSBwYXJ0aXRpb24gZGF0YSBhZnRlciByZWxvY2F0aW9uIChyZXF1aXJlcyAtTilcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGNvbnNpc3RlbmN5IGNoZWNraW5nXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tY29sb3JbPTx3aGVuPl0gICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIpLCBvdXQpOworCWZwcmludGYob3V0LAorCSAgICAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJXNcbiIsIFVTQUdFX0NPTE9SU19ERUZBVUxUKTsKKwlmcHV0cyhfKCIgLU4sIC0tcGFydG5vIDxudW0+ICAgICAgICBzcGVjaWZ5IHBhcnRpdGlvbiBudW1iZXJcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHdyaXRlIHRvIGRldmljZVxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLW5vLXJlcmVhZCAgICAgICAgICAgZG8gbm90IGNoZWNrIHdoZXRoZXIgdGhlIGRldmljZSBpcyBpbiB1c2VcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIGRvIG5vdCB0ZWxsIGtlcm5lbCBhYm91dCBjaGFuZ2VzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLU8sIC0tYmFja3VwLWZpbGUgPHBhdGg+ICBvdmVycmlkZSBkZWZhdWx0IGJhY2t1cCBmaWxlIG5hbWVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIG91dHB1dCBjb2x1bW5zXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBzdXBwcmVzcyBleHRyYSBpbmZvIG1lc3NhZ2VzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtVywgLS13aXBlLXBhcnRpdGlvbnMgPG1vZGU+ICB3aXBlIHNpZ25hdHVyZXMgZnJvbSBuZXcgcGFydGl0aW9ucyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1YLCAtLWxhYmVsIDxuYW1lPiAgICAgICAgc3BlY2lmeSBsYWJlbCB0eXBlIChkb3MsIGdwdCwgLi4uKVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1ZLCAtLWxhYmVsLW5lc3RlZCA8bmFtZT4gc3BlY2lmeSBuZXN0ZWQgbGFiZWwgdHlwZSAoZG9zLCBic2QpXG4iKSwgb3V0KTsKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgZGVwcmVjYXRlZCwgYWxpYXMgdG8gLS1zaG93LWdlb21ldHJ5XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IHNlY3RvciB1bml0IGlzIHN1cHBvcnRlZFxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoVVNBR0VfSEVMUCwgb3V0KTsKKwlmcHV0cyhfKCIgLXYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIpLCBvdXQpOworCisJbGlzdF9hdmFpbGFibGVfY29sdW1ucyhvdXQpOworCisJZnByaW50ZihvdXQsIFVTQUdFX01BTl9UQUlMKCJzZmRpc2soOCkiKSk7CisJZXhpdChvdXQgPT0gc3RkZXJyID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTKTsKK30KKworCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNvbnN0IGNoYXIgKm91dGFyZyA9IE5VTEw7CisJaW50IHJjID0gLUVJTlZBTCwgYywgbG9uZ2lkeCA9IC0xLCBieXRlcyA9IDA7CisJaW50IGNvbG9ybW9kZSA9IFVMX0NPTE9STU9ERV9VTkRFRjsKKwlzdHJ1Y3Qgc2ZkaXNrIF9zZiA9IHsKKwkJLnBhcnRubyA9IC0xLAorCQkud2lwZW1vZGUgPSBXSVBFTU9ERV9BVVRPLAorCQkucHdpcGVtb2RlID0gV0lQRU1PREVfQVVUTywKKwkJLmludGVyYWN0aXZlID0gaXNhdHR5KFNURElOX0ZJTEVOTykgPyAxIDogMCwKKwl9LCAqc2YgPSAmX3NmOworCisJZW51bSB7CisJCU9QVF9DSEFOR0VfSUQgPSBDSEFSX01BWCArIDEsCisJCU9QVF9QUklOVF9JRCwKKwkJT1BUX0lELAorCQlPUFRfTk9SRVJFQUQsCisJCU9QVF9QQVJUVVVJRCwKKwkJT1BUX1BBUlRMQUJFTCwKKwkJT1BUX1BBUlRUWVBFLAorCQlPUFRfUEFSVEFUVFJTLAorCQlPUFRfQllURVMsCisJCU9QVF9DT0xPUiwKKwkJT1BUX01PVkVEQVRBLAorCQlPUFRfREVMRVRFLAorCQlPUFRfTk9URUxMCisJfTsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsgImFjdGl2YXRlIixub19hcmd1bWVudCwJTlVMTCwgJ0EnIH0sCisJCXsgImFwcGVuZCIsICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2EnIH0sCisJCXsgImJhY2t1cCIsICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2InIH0sCisJCXsgImJhY2t1cC1maWxlIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdPJyB9LAorCQl7ICJieXRlcyIsICAgbm9fYXJndW1lbnQsCU5VTEwsIE9QVF9CWVRFUyB9LAorCQl7ICJjb2xvciIsICAgb3B0aW9uYWxfYXJndW1lbnQsIE5VTEwsIE9QVF9DT0xPUiB9LAorCQl7ICJkZWxldGUiLCAgbm9fYXJndW1lbnQsCU5VTEwsIE9QVF9ERUxFVEUgfSwKKwkJeyAiZHVtcCIsICAgIG5vX2FyZ3VtZW50LAlOVUxMLCAnZCcgfSwKKwkJeyAiaGVscCIsICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnaCcgfSwKKwkJeyAiZm9yY2UiLCAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnZicgfSwKKwkJeyAianNvbiIsICAgIG5vX2FyZ3VtZW50LAlOVUxMLCAnSicgfSwKKwkJeyAibGFiZWwiLCAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnWCcgfSwKKwkJeyAibGFiZWwtbmVzdGVkIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdZJyB9LAorCQl7ICJsaXN0IiwgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdsJyB9LAorCQl7ICJsaXN0LWZyZWUiLCBub19hcmd1bWVudCwgICAgIE5VTEwsICdGJyB9LAorCQl7ICJsaXN0LXR5cGVzIiwgbm9fYXJndW1lbnQsCU5VTEwsICdUJyB9LAorCQl7ICJuby1hY3QiLCAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICduJyB9LAorCQl7ICJuby1yZXJlYWQiLCBub19hcmd1bWVudCwgICAgIE5VTEwsIE9QVF9OT1JFUkVBRCB9LAorCQl7ICJuby10ZWxsLWtlcm5lbCIsIG5vX2FyZ3VtZW50LCBOVUxMLCBPUFRfTk9URUxMIH0sCisJCXsgIm1vdmUtZGF0YSIsIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCBPUFRfTU9WRURBVEEgfSwKKwkJeyAib3V0cHV0IiwgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbycgfSwKKwkJeyAicGFydG5vIiwgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnTicgfSwKKwkJeyAicmVvcmRlciIsIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAncicgfSwKKwkJeyAic2hvdy1zaXplIiwgbm9fYXJndW1lbnQsCU5VTEwsICdzJyB9LAorCQl7ICJzaG93LWdlb21ldHJ5Iiwgbm9fYXJndW1lbnQsIE5VTEwsICdnJyB9LAorCQl7ICJxdWlldCIsICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdxJyB9LAorCQl7ICJ2ZXJpZnkiLCAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdWJyB9LAorCQl7ICJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICd2JyB9LAorCQl7ICJ3aXBlIiwgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICd3JyB9LAorCQl7ICJ3aXBlLXBhcnRpdGlvbnMiLCAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ1cnIH0sCisKKwkJeyAicGFydC11dWlkIiwgIG5vX2FyZ3VtZW50LCAgICBOVUxMLCBPUFRfUEFSVFVVSUQgfSwKKwkJeyAicGFydC1sYWJlbCIsIG5vX2FyZ3VtZW50LCAgICBOVUxMLCBPUFRfUEFSVExBQkVMIH0sCisJCXsgInBhcnQtdHlwZSIsICBub19hcmd1bWVudCwgICAgTlVMTCwgT1BUX1BBUlRUWVBFIH0sCisJCXsgInBhcnQtYXR0cnMiLCBub19hcmd1bWVudCwgICAgTlVMTCwgT1BUX1BBUlRBVFRSUyB9LAorCisJCXsgInNob3ctcHQtZ2VvbWV0cnkiLCBub19hcmd1bWVudCwgTlVMTCwgJ0cnIH0sCQkvKiBkZXByZWNhdGVkICovCisJCXsgInVuaXQiLCAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3UnIH0sCisJCXsgIkxpbnV4IiwgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ0wnIH0sCQkvKiBkZXByZWNhdGVkICovCisKKwkJeyAiY2hhbmdlLWlkIixub19hcmd1bWVudCwgICAgICBOVUxMLCBPUFRfQ0hBTkdFX0lEIH0sCS8qIGRlcHJlY2F0ZWQgKi8KKwkJeyAiaWQiLCAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnYycgfSwJCS8qIGRlcHJlY2F0ZWQgKi8KKwkJeyAicHJpbnQtaWQiLG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCBPUFRfUFJJTlRfSUQgfSwJLyogZGVwcmVjYXRlZCAqLworCisJCXsgTlVMTCwgMCwgMCwgMCB9LAorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImFBYmNkZkZnR2hKbExvOk86bk46cXJzVHU6dlZYOlk6dzpXOiIsCisJCQkJCWxvbmdvcHRzLCAmbG9uZ2lkeCkpICE9IC0xKSB7CisJCXN3aXRjaChjKSB7CisJCWNhc2UgJ0EnOgorCQkJc2YtPmFjdCA9IEFDVF9BQ1RJVkFURTsKKwkJCWJyZWFrOworCQljYXNlICdhJzoKKwkJCXNmLT5hcHBlbmQgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2InOgorCQkJc2YtPmJhY2t1cCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfQ0hBTkdFX0lEOgorCQljYXNlIE9QVF9QUklOVF9JRDoKKwkJY2FzZSBPUFRfSUQ6CisJCQl3YXJueChfKCIlcyBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIpLAorCQkJCWxvbmdvcHRzW2xvbmdpZHhdLm5hbWUpOworCQkJc2YtPmFjdCA9IEFDVF9QQVJUVFlQRTsKKwkJCWJyZWFrOworCQljYXNlICdjJzoKKwkJCXdhcm54KF8oIi0taWQgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiKSk7CisJCQlzZi0+YWN0ID0gQUNUX1BBUlRUWVBFOworCQkJYnJlYWs7CisJCWNhc2UgJ0onOgorCQkJc2YtPmpzb24gPSAxOworCQkJLyogZmFsbHRocm91Z2ggKi8KKwkJY2FzZSAnZCc6CisJCQlzZi0+YWN0ID0gQUNUX0RVTVA7CisJCQlicmVhazsKKwkJY2FzZSAnRic6CisJCQlzZi0+YWN0ID0gQUNUX0xJU1RfRlJFRTsKKwkJCWJyZWFrOworCQljYXNlICdmJzoKKwkJCXNmLT5mb3JjZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnRyc6CisJCQl3YXJueChfKCItLXNob3ctcHQtZ2VvbWV0cnkgaXMgbm8gbW9yZSBpbXBsZW1lbnRlZC4gVXNpbmcgLS1zaG93LWdlb21ldHJ5LiIpKTsKKwkJY2FzZSAnZyc6CisJCQlzZi0+YWN0ID0gQUNUX1NIT1dfR0VPTTsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCQlicmVhazsKKwkJY2FzZSAnbCc6CisJCQlzZi0+YWN0ID0gQUNUX0xJU1Q7CisJCQlicmVhazsKKwkJY2FzZSAnTCc6CisJCQl3YXJueChfKCItLUxpbnV4IG9wdGlvbiBpcyB1bm5lY2Vzc2FyeSBhbmQgZGVwcmVjYXRlZCIpKTsKKwkJCWJyZWFrOworCQljYXNlICdvJzoKKwkJCW91dGFyZyA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdPJzoKKwkJCXNmLT5iYWNrdXAgPSAxOworCQkJc2YtPmJhY2t1cF9maWxlID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJc2YtPm5vYWN0ID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdOJzoKKwkJCXNmLT5wYXJ0bm8gPSBzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLCBfKCJmYWlsZWQgdG8gcGFyc2UgcGFydGl0aW9uIG51bWJlciIpKSAtIDE7CisJCQlicmVhazsKKwkJY2FzZSAncSc6CisJCQlzZi0+cXVpZXQgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJc2YtPmFjdCA9IEFDVF9SRU9SREVSOworCQkJYnJlYWs7CisJCWNhc2UgJ3MnOgorCQkJc2YtPmFjdCA9IEFDVF9TSE9XX1NJWkU7CisJCQlicmVhazsKKwkJY2FzZSAnVCc6CisJCQlzZi0+YWN0ID0gQUNUX0xJU1RfVFlQRVM7CisJCQlicmVhazsKKwkJY2FzZSAndSc6CisJCQlpZiAoKm9wdGFyZyAhPSAnUycpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuc3VwcG9ydGVkIHVuaXQgJyVjJyIpLCAqb3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICd2JzoKKwkJCXByaW50ZihfKCIlcyBmcm9tICVzXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUsCisJCQkJCQkgIFBBQ0tBR0VfU1RSSU5HKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ1YnOgorCQkJc2YtPnZlcmlmeSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAndyc6CisJCQlzZi0+d2lwZW1vZGUgPSB3aXBlbW9kZV9mcm9tX3N0cmluZyhvcHRhcmcpOworCQkJaWYgKHNmLT53aXBlbW9kZSA8IDApCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuc3VwcG9ydGVkIHdpcGUgbW9kZSIpKTsKKwkJCWJyZWFrOworCQljYXNlICdXJzoKKwkJCXNmLT5wd2lwZW1vZGUgPSB3aXBlbW9kZV9mcm9tX3N0cmluZyhvcHRhcmcpOworCQkJaWYgKHNmLT5wd2lwZW1vZGUgPCAwKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1bnN1cHBvcnRlZCB3aXBlIG1vZGUiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnWCc6CisJCQlzZi0+bGFiZWwgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnWSc6CisJCQlzZi0+bGFiZWxfbmVzdGVkID0gb3B0YXJnOworCQkJYnJlYWs7CisKKwkJY2FzZSBPUFRfUEFSVFVVSUQ6CisJCQlzZi0+YWN0ID0gQUNUX1BBUlRVVUlEOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX1BBUlRUWVBFOgorCQkJc2YtPmFjdCA9IEFDVF9QQVJUVFlQRTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9QQVJUTEFCRUw6CisJCQlzZi0+YWN0ID0gQUNUX1BBUlRMQUJFTDsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9QQVJUQVRUUlM6CisJCQlzZi0+YWN0ID0gQUNUX1BBUlRBVFRSUzsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9OT1JFUkVBRDoKKwkJCXNmLT5ub3JlcmVhZCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfQllURVM6CisJCQlieXRlcyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfQ09MT1I6CisJCQljb2xvcm1vZGUgPSBVTF9DT0xPUk1PREVfQVVUTzsKKwkJCWlmIChvcHRhcmcpCisJCQkJY29sb3Jtb2RlID0gY29sb3Jtb2RlX29yX2VycihvcHRhcmcsCisJCQkJCQlfKCJ1bnN1cHBvcnRlZCBjb2xvciBtb2RlIikpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX01PVkVEQVRBOgorCQkJc2YtPm1vdmVkYXRhID0gMTsKKwkJCXNmLT5tb3ZlX3R5cGVzY3JpcHQgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfREVMRVRFOgorCQkJc2YtPmFjdCA9IEFDVF9ERUxFVEU7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfTk9URUxMOgorCQkJc2YtPm5vdGVsbCA9IDE7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKHN0ZGVycik7CisJCX0KKwl9CisKKwljb2xvcnNfaW5pdChjb2xvcm1vZGUsICJzZmRpc2siKTsKKworCXNmZGlza19pbml0KHNmKTsKKwlpZiAoYnl0ZXMpCisJCWZkaXNrX3NldF9zaXplX3VuaXQoc2YtPmN4dCwgRkRJU0tfU0laRVVOSVRfQllURVMpOworCisJaWYgKG91dGFyZykKKwkJaW5pdF9maWVsZHMoTlVMTCwgb3V0YXJnLCBOVUxMKTsKKworCWlmIChzZi0+dmVyaWZ5ICYmICFzZi0+YWN0KQorCQlzZi0+YWN0ID0gQUNUX1ZFUklGWTsJLyogLS12ZXJpZnkgbWFrZSBiZSB1c2VkIHdpdGggLS1saXN0IHRvbyAqLworCWVsc2UgaWYgKCFzZi0+YWN0KQorCQlzZi0+YWN0ID0gQUNUX0ZESVNLOwkvKiBkZWZhdWx0ICovCisKKwlpZiAoc2YtPm1vdmVkYXRhICYmICEoc2YtPmFjdCA9PSBBQ1RfRkRJU0sgJiYgc2YtPnBhcnRubyA+PSAwKSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIi0tbW92ZWRhdGEgcmVxdWlyZXMgLU4iKSk7CisKKwlzd2l0Y2ggKHNmLT5hY3QpIHsKKwljYXNlIEFDVF9BQ1RJVkFURToKKwkJcmMgPSBjb21tYW5kX2FjdGl2YXRlKHNmLCBhcmdjIC0gb3B0aW5kLCBhcmd2ICsgb3B0aW5kKTsKKwkJYnJlYWs7CisKKwljYXNlIEFDVF9ERUxFVEU6CisJCXJjID0gY29tbWFuZF9kZWxldGUoc2YsIGFyZ2MgLSBvcHRpbmQsIGFyZ3YgKyBvcHRpbmQpOworCQlicmVhazsKKworCWNhc2UgQUNUX0xJU1Q6CisJCXJjID0gY29tbWFuZF9saXN0X3BhcnRpdGlvbnMoc2YsIGFyZ2MgLSBvcHRpbmQsIGFyZ3YgKyBvcHRpbmQpOworCQlicmVhazsKKworCWNhc2UgQUNUX0xJU1RfVFlQRVM6CisJCXJjID0gY29tbWFuZF9saXN0X3R5cGVzKHNmKTsKKwkJYnJlYWs7CisKKwljYXNlIEFDVF9MSVNUX0ZSRUU6CisJCXJjID0gY29tbWFuZF9saXN0X2ZyZWVzcGFjZShzZiwgYXJnYyAtIG9wdGluZCwgYXJndiArIG9wdGluZCk7CisJCWJyZWFrOworCisJY2FzZSBBQ1RfRkRJU0s6CisJCXJjID0gY29tbWFuZF9mZGlzayhzZiwgYXJnYyAtIG9wdGluZCwgYXJndiArIG9wdGluZCk7CisJCWJyZWFrOworCisJY2FzZSBBQ1RfRFVNUDoKKwkJcmMgPSBjb21tYW5kX2R1bXAoc2YsIGFyZ2MgLSBvcHRpbmQsIGFyZ3YgKyBvcHRpbmQpOworCQlicmVhazsKKworCWNhc2UgQUNUX1NIT1dfU0laRToKKwkJcmMgPSBjb21tYW5kX3Nob3dfc2l6ZShzZiwgYXJnYyAtIG9wdGluZCwgYXJndiArIG9wdGluZCk7CisJCWJyZWFrOworCisJY2FzZSBBQ1RfU0hPV19HRU9NOgorCQlyYyA9IGNvbW1hbmRfc2hvd19nZW9tZXRyeShzZiwgYXJnYyAtIG9wdGluZCwgYXJndiArIG9wdGluZCk7CisJCWJyZWFrOworCisJY2FzZSBBQ1RfVkVSSUZZOgorCQlyYyA9IGNvbW1hbmRfdmVyaWZ5KHNmLCBhcmdjIC0gb3B0aW5kLCBhcmd2ICsgb3B0aW5kKTsKKwkJYnJlYWs7CisKKwljYXNlIEFDVF9QQVJUVFlQRToKKwkJcmMgPSBjb21tYW5kX3BhcnR0eXBlKHNmLCBhcmdjIC0gb3B0aW5kLCBhcmd2ICsgb3B0aW5kKTsKKwkJYnJlYWs7CisKKwljYXNlIEFDVF9QQVJUVVVJRDoKKwkJcmMgPSBjb21tYW5kX3BhcnR1dWlkKHNmLCBhcmdjIC0gb3B0aW5kLCBhcmd2ICsgb3B0aW5kKTsKKwkJYnJlYWs7CisKKwljYXNlIEFDVF9QQVJUTEFCRUw6CisJCXJjID0gY29tbWFuZF9wYXJ0bGFiZWwoc2YsIGFyZ2MgLSBvcHRpbmQsIGFyZ3YgKyBvcHRpbmQpOworCQlicmVhazsKKworCWNhc2UgQUNUX1BBUlRBVFRSUzoKKwkJcmMgPSBjb21tYW5kX3BhcnRhdHRycyhzZiwgYXJnYyAtIG9wdGluZCwgYXJndiArIG9wdGluZCk7CisJCWJyZWFrOworCisJY2FzZSBBQ1RfUkVPUkRFUjoKKwkJcmMgPSBjb21tYW5kX3Jlb3JkZXIoc2YsIGFyZ2MgLSBvcHRpbmQsIGFyZ3YgKyBvcHRpbmQpOworCQlicmVhazsKKwl9CisKKwlzZmRpc2tfZGVpbml0KHNmKTsKKworCURCRyhNSVNDLCB1bF9kZWJ1ZygiYnllISBbcmM9JWRdIiwgcmMpKTsKKwlyZXR1cm4gcmMgPT0gMCA/IEVYSVRfU1VDQ0VTUyA6IEVYSVRfRkFJTFVSRTsKK30KKwpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9zd2FwbGFiZWwuOCBiL2Rpc2stdXRpbHMvc3dhcGxhYmVsLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGJhYzMzMQotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvc3dhcGxhYmVsLjgKQEAgLTAsMCArMSw3MCBAQAorLlwiIENvcHlyaWdodCAyMDEwIEphc29uIEJvcmRlbiA8amJvcmRlbkBibHVlaG9zdC5jb20+CisuXCIKKy5cIiBUaGlzIGZpbGUgbWF5IGJlIGNvcGllZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBQdWJsaWMgTGljZW5zZS4KKy5cIgorLlRIIFNXQVBMQUJFTCA4ICJBcHJpbCAyMDEwIiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitzd2FwbGFiZWwgXC0gcHJpbnQgb3IgY2hhbmdlIHRoZSBsYWJlbCBvciBVVUlEIG9mIGEgc3dhcCBhcmVhCisuU0ggU1lOT1BTSVMKKy5CIHN3YXBsYWJlbAorLlJCIFsgXC1MCisuSVIgbGFiZWwgXQorLlJCIFsgXC1VCisuSVIgVVVJRCBdCisuSSBkZXZpY2UKKy5TSCBERVNDUklQVElPTgorLkIgc3dhcGxhYmVsCit3aWxsIGRpc3BsYXkgb3IgY2hhbmdlIHRoZSBsYWJlbCBvciBVVUlEIG9mIGEgc3dhcCBwYXJ0aXRpb24gbG9jYXRlZCBvbgorLkkgZGV2aWNlCisob3IgcmVndWxhciBmaWxlKS4KKy5QUAorSWYgdGhlIG9wdGlvbmFsIGFyZ3VtZW50cworLkIgXC1MCithbmQKKy5CIFwtVQorYXJlIG5vdCBnaXZlbiwKKy5CIHN3YXBsYWJlbAord2lsbCBzaW1wbHkgZGlzcGxheSB0aGUgY3VycmVudCBzd2FwLWFyZWEgbGFiZWwgYW5kIFVVSUQgb2YKKy5JUiBkZXZpY2UgLgorLlBQCitJZiBhbiBvcHRpb25hbCBhcmd1bWVudCBpcyBwcmVzZW50LCB0aGVuCisuQiBzd2FwbGFiZWwKK3dpbGwgY2hhbmdlIHRoZSBhcHByb3ByaWF0ZSB2YWx1ZSBvbgorLklSIGRldmljZSAuCitUaGVzZSB2YWx1ZXMgY2FuIGFsc28gYmUgc2V0IGR1cmluZyBzd2FwIGNyZWF0aW9uIHVzaW5nCisuQlIgbWtzd2FwICg4KS4KK1RoZQorLkIgc3dhcGxhYmVsCit1dGlsaXR5IGFsbG93cyB0byBjaGFuZ2UgdGhlIGxhYmVsIG9yIFVVSUQgb24gYW4gYWN0aXZlbHkgdXNlZCBzd2FwIGRldmljZS4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuVFAKKy5CUiBcLUwgLCAiIFwtXC1sYWJlbCAiIFxmSWxhYmVsXGZSCitTcGVjaWZ5IGEgbmV3IFxmSWxhYmVsXGZSIGZvciB0aGUgZGV2aWNlLgorU3dhcCBwYXJ0aXRpb24gbGFiZWxzIGNhbiBiZSBhdCBtb3N0IDE2IGNoYXJhY3RlcnMgbG9uZy4gIElmCisuSSBsYWJlbAoraXMgbG9uZ2VyIHRoYW4gMTYgY2hhcmFjdGVycywKKy5CIHN3YXBsYWJlbAord2lsbCB0cnVuY2F0ZSBpdCBhbmQgcHJpbnQgYSB3YXJuaW5nIG1lc3NhZ2UuCisuVFAKKy5CUiBcLVUgLCAiIFwtXC11dWlkICIgXGZJVVVJRFxmUgorU3BlY2lmeSBhIG5ldyBcZklVVUlEXGZSIGZvciB0aGUgZGV2aWNlLgorVGhlIFxmSSBVVUlEXGZSCittdXN0IGJlIGluIHRoZSBzdGFuZGFyZCA4LTQtNC00LTEyIGNoYXJhY3RlciBmb3JtYXQsIHN1Y2ggYXMgaXMgb3V0cHV0IGJ5CisuQlIgdXVpZGdlbiAoMSkuCisuUFAKKy5TSCBBVVRIT1IKKy5CIHN3YXBsYWJlbAord2FzIHdyaXR0ZW4gYnkgSmFzb24gQm9yZGVuIDxqYm9yZGVuQGJsdWVob3N0LmNvbT4gYW5kIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPi4KKy5TSCBFTlZJUk9OTUVOVAorLklQIExJQkJMS0lEX0RFQlVHPWFsbAorZW5hYmxlcyBsaWJibGtpZCBkZWJ1ZyBvdXRwdXQuCisuU0ggQVZBSUxBQklMSVRZCitUaGUgc3dhcGxhYmVsIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgorLlNIIFNFRSBBTFNPCisuQlIgdXVpZGdlbiAoMSksCisuQlIgbWtzd2FwICg4KSwKKy5CUiBzd2Fwb24gKDgpCmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL3N3YXBsYWJlbC5jIGIvZGlzay11dGlscy9zd2FwbGFiZWwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OWJlMmFlCi0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9zd2FwbGFiZWwuYwpAQCAtMCwwICsxLDE5MCBAQAorLyoKKyAqIHN3YXBsYWJlbC5jIC0gUHJpbnQgb3IgY2hhbmdlIHRoZSBsYWJlbCAvIFVVSUQgb2YgYSBzd2FwIHBhcnRpdGlvbgorICoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBKYXNvbiBCb3JkZW4gPGpib3JkZW5AYmx1ZWhvc3QuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDEwIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFVzYWdlOiBzd2FwbGFiZWwgWy1MIGxhYmVsXSBbLVUgVVVJRF0gZGV2aWNlCisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIFB1YmxpYyBMaWNlbnNlCisgKiB2ZXJzaW9uIDIgb3IgbGF0ZXIuCisgKgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRkZWYuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisKKyNpZmRlZiBIQVZFX0xJQlVVSUQKKyMgaW5jbHVkZSA8dXVpZC5oPgorI2VuZGlmCisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiYWxsLWlvLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCisjaW5jbHVkZSAic3dhcGhlYWRlci5oIgorI2luY2x1ZGUgInN3YXBwcm9iZXIuaCIKKworI2RlZmluZSBTV0FQX1VVSURfT0ZGU0VUCShvZmZzZXRvZihzdHJ1Y3Qgc3dhcF9oZWFkZXJfdjFfMiwgdXVpZCkpCisjZGVmaW5lIFNXQVBfTEFCRUxfT0ZGU0VUCShvZmZzZXRvZihzdHJ1Y3Qgc3dhcF9oZWFkZXJfdjFfMiwgdm9sdW1lX25hbWUpKQorCisvKiBQcmludCB0aGUgc3dhcCBwYXJ0aXRpb24gaW5mb3JtYXRpb24gKi8KK3N0YXRpYyBpbnQgcHJpbnRfaW5mbyhibGtpZF9wcm9iZSBwcikKK3sKKwljb25zdCBjaGFyICpkYXRhOworCisJaWYgKCFibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJMQUJFTCIsICZkYXRhLCBOVUxMKSkKKwkJcHJpbnRmKCJMQUJFTDogJXNcbiIsIGRhdGEpOworCisJaWYgKCFibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJVVUlEIiwgJmRhdGEsIE5VTEwpKQorCQlwcmludGYoIlVVSUQ6ICAlc1xuIiwgZGF0YSk7CisKKwlyZXR1cm4gMDsKK30KKworLyogQ2hhbmdlIHRoZSBzd2FwIHBhcnRpdGlvbiBpbmZvICovCitzdGF0aWMgaW50IGNoYW5nZV9pbmZvKGNvbnN0IGNoYXIgKmRldm5hbWUsIGNvbnN0IGNoYXIgKmxhYmVsLCBjb25zdCBjaGFyICp1dWlkKQoreworCWludCBmZDsKKworCWZkID0gb3BlbihkZXZuYW1lLCBPX1JEV1IpOworCWlmIChmZCA8IDApIHsKKwkJd2FybihfKCJjYW5ub3Qgb3BlbiAlcyIpLCBkZXZuYW1lKTsKKwkJZ290byBlcnI7CisJfQorI2lmZGVmIEhBVkVfTElCVVVJRAorCS8qIFdyaXRlIHRoZSB1dWlkIGlmIGl0IHdhcyBwcm92aWRlZCAqLworCWlmICh1dWlkKSB7CisJCXV1aWRfdCBuZXd1dWlkOworCisJCWlmICh1dWlkX3BhcnNlKHV1aWQsIG5ld3V1aWQpID09IC0xKQorCQkJd2FybngoXygiZmFpbGVkIHRvIHBhcnNlIFVVSUQ6ICVzIiksIHV1aWQpOworCQllbHNlIHsKKwkJCWlmIChsc2VlayhmZCwgU1dBUF9VVUlEX09GRlNFVCwgU0VFS19TRVQpICE9CisJCQkJCQkJU1dBUF9VVUlEX09GRlNFVCkgeworCQkJCXdhcm4oXygiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgVVVJRCIpLCBkZXZuYW1lKTsKKwkJCQlnb3RvIGVycjsKKworCQkJfSBlbHNlIGlmICh3cml0ZV9hbGwoZmQsIG5ld3V1aWQsIHNpemVvZihuZXd1dWlkKSkpIHsKKwkJCQl3YXJuKF8oIiVzOiBmYWlsZWQgdG8gd3JpdGUgVVVJRCIpLCBkZXZuYW1lKTsKKwkJCQlnb3RvIGVycjsKKwkJCX0KKwkJfQorCX0KKyNlbmRpZgorCS8qIFdyaXRlIHRoZSBsYWJlbCBpZiBpdCB3YXMgcHJvdmlkZWQgKi8KKwlpZiAobGFiZWwpIHsKKwkJY2hhciBuZXdsYWJlbFtTV0FQX0xBQkVMX0xFTkdUSF07CisKKwkJaWYgKGxzZWVrKGZkLCBTV0FQX0xBQkVMX09GRlNFVCwgU0VFS19TRVQpICE9IFNXQVBfTEFCRUxfT0ZGU0VUKSB7CisJCQl3YXJuKF8oIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIGxhYmVsICIpLCBkZXZuYW1lKTsKKwkJCWdvdG8gZXJyOworCQl9CisJCW1lbXNldChuZXdsYWJlbCwgMCwgc2l6ZW9mKG5ld2xhYmVsKSk7CisJCXhzdHJuY3B5KG5ld2xhYmVsLCBsYWJlbCwgc2l6ZW9mKG5ld2xhYmVsKSk7CisKKwkJaWYgKHN0cmxlbihsYWJlbCkgPiBzdHJsZW4obmV3bGFiZWwpKQorCQkJd2FybngoXygibGFiZWwgaXMgdG9vIGxvbmcuIFRydW5jYXRpbmcgaXQgdG8gJyVzJyIpLAorCQkJCQluZXdsYWJlbCk7CisJCWlmICh3cml0ZV9hbGwoZmQsIG5ld2xhYmVsLCBzaXplb2YobmV3bGFiZWwpKSkgeworCQkJd2FybihfKCIlczogZmFpbGVkIHRvIHdyaXRlIGxhYmVsIiksIGRldm5hbWUpOworCQkJZ290byBlcnI7CisJCX0KKwl9CisKKwlpZiAoY2xvc2VfZmQoZmQpICE9IDApIHsKKwkJd2FybihfKCJ3cml0ZSBmYWlsZWQ6ICVzIiksIGRldm5hbWUpOworCQlyZXR1cm4gLTE7CisJfQorCXJldHVybiAwOworZXJyOgorCWlmIChmZCA+PSAwKQorCQljbG9zZShmZCk7CisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZShGSUxFICpvdXQpCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iKSwKKwkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkRpc3BsYXkgb3IgY2hhbmdlIHRoZSBsYWJlbCBvciBVVUlEIG9mIGEgc3dhcCBhcmVhLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtTCwgLS1sYWJlbCA8bGFiZWw+IHNwZWNpZnkgYSBuZXcgbGFiZWxcbiIKKwkJIiAtVSwgLS11dWlkIDx1dWlkPiAgIHNwZWNpZnkgYSBuZXcgdXVpZFxuIiksIG91dCk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKFVTQUdFX0hFTFAsIG91dCk7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoInN3YXBsYWJlbCg4KSIpKTsKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWJsa2lkX3Byb2JlIHByID0gTlVMTDsKKwljaGFyICp1dWlkID0gTlVMTCwgKmxhYmVsID0gTlVMTCwgKmRldm5hbWU7CisJaW50IGMsIHJjID0gLTE7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCSAgICB7ICJoZWxwIiwgICAgICAwLCAwLCAnaCcgfSwKKwkgICAgeyAidmVyc2lvbiIsICAgMCwgMCwgJ1YnIH0sCisJICAgIHsgImxhYmVsIiwgICAgIDEsIDAsICdMJyB9LAorCSAgICB7ICJ1dWlkIiwgICAgICAxLCAwLCAnVScgfSwKKwkgICAgeyBOVUxMLCAgICAgICAgMCwgMCwgMCB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiaFZMOlU6IiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShzdGRvdXQpOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdMJzoKKwkJCWxhYmVsID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ1UnOgorI2lmZGVmIEhBVkVfTElCVVVJRAorCQkJdXVpZCA9IG9wdGFyZzsKKyNlbHNlCisJCQl3YXJueChfKCJpZ25vcmUgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCkiKSk7CisjZW5kaWYKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJaWYgKG9wdGluZCA9PSBhcmdjKQorCQl1c2FnZShzdGRlcnIpOworCisJZGV2bmFtZSA9IGFyZ3Zbb3B0aW5kXTsKKwlwciA9IGdldF9zd2FwX3Byb2JlcihkZXZuYW1lKTsKKwlpZiAocHIpIHsKKwkJaWYgKHV1aWQgfHwgbGFiZWwpCisJCQlyYyA9IGNoYW5nZV9pbmZvKGRldm5hbWUsIGxhYmVsLCB1dWlkKTsKKwkJZWxzZQorCQkJcmMgID0gcHJpbnRfaW5mbyhwcik7CisJCWJsa2lkX2ZyZWVfcHJvYmUocHIpOworCX0KKwlyZXR1cm4gcmMgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1M7Cit9CisKZGlmZiAtLWdpdCBhL2luY2x1ZGUvTWFrZW1vZHVsZS5hbSBiL2luY2x1ZGUvTWFrZW1vZHVsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Y2VmZjBhCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9NYWtlbW9kdWxlLmFtCkBAIC0wLDAgKzEsNTcgQEAKKworZGlzdF9ub2luc3RfSEVBREVSUyArPSBcCisJaW5jbHVkZS9hbGwtaW8uaCBcCisJaW5jbHVkZS9iaXRvcHMuaCBcCisJaW5jbHVkZS9ibGtkZXYuaCBcCisJaW5jbHVkZS9jYW5vbmljYWxpemUuaCBcCisJaW5jbHVkZS9jYXJlZnVscHV0Yy5oIFwKKwlpbmNsdWRlL2MuaCBcCisJaW5jbHVkZS9jbG9zZXN0cmVhbS5oIFwKKwlpbmNsdWRlL2NvbG9ycy5oIFwKKwlpbmNsdWRlL2NvbG9yLW5hbWVzLmggXAorCWluY2x1ZGUvY3B1c2V0LmggXAorCWluY2x1ZGUvY3JjMzIuaCBcCisJaW5jbHVkZS9kZWJ1Zy5oIFwKKwlpbmNsdWRlL2Vudi5oIFwKKwlpbmNsdWRlL2V4ZWNfc2hlbGwuaCBcCisJaW5jbHVkZS9leGl0Y29kZXMuaCBcCisJaW5jbHVkZS9maWxldXRpbHMuaCBcCisJaW5jbHVkZS9pZGNhY2hlLmggXAorCWluY2x1ZGUvaXNtb3VudGVkLmggXAorCWluY2x1ZGUvbGludXhfdmVyc2lvbi5oIFwKKwlpbmNsdWRlL2xpc3QuaCBcCisJaW5jbHVkZS9sb29wZGV2LmggXAorCWluY2x1ZGUvbWFuZ2xlLmggXAorCWluY2x1ZGUvbWF0Y2guaCBcCisJaW5jbHVkZS9tYnNhbGlnbi5oIFwKKwlpbmNsdWRlL21kNS5oIFwKKwlpbmNsdWRlL21pbml4LmggXAorCWluY2x1ZGUvbW9ub3RvbmljLmggXAorCWluY2x1ZGUvbmFtZXNwYWNlLmggXAorCWluY2x1ZGUvbmxzLmggXAorCWluY2x1ZGUvb3B0dXRpbHMuaCBcCisJaW5jbHVkZS9wYWdlci5oIFwKKwlpbmNsdWRlL3BhbWZhaWwuaCBcCisJaW5jbHVkZS9wYXRoLmggXAorCWluY2x1ZGUvcGF0aG5hbWVzLmggXAorCWluY2x1ZGUvcGx5bW91dGgtY3RybC5oIFwKKwlpbmNsdWRlL3Byb2N1dGlscy5oIFwKKwlpbmNsdWRlL3B0LWJzZC5oIFwKKwlpbmNsdWRlL3B0LW1ici5oIFwKKwlpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaCBcCisJaW5jbHVkZS9wdC1zZ2kuaCBcCisJaW5jbHVkZS9wdC1zdW4uaCBcCisJaW5jbHVkZS9yYW5kdXRpbHMuaCBcCisJaW5jbHVkZS9ycG1hdGNoLmggXAorCWluY2x1ZGUvc2V0cHJvY3RpdGxlLmggXAorCWluY2x1ZGUvc3RhdGZzX21hZ2ljLmggXAorCWluY2x1ZGUvc3RydXRpbHMuaCBcCisJaW5jbHVkZS9zdHJ2LmggXAorCWluY2x1ZGUvc3dhcGhlYWRlci5oIFwKKwlpbmNsdWRlL3N3YXBwcm9iZXIuaCBcCisJaW5jbHVkZS9zeXNmcy5oIFwKKwlpbmNsdWRlL3RpbWVyLmggXAorCWluY2x1ZGUvdGltZXV0aWxzLmggXAorCWluY2x1ZGUvdHR5dXRpbHMuaCBcCisJaW5jbHVkZS93aWRlY2hhci5oIFwKKwlpbmNsdWRlL3hhbGxvYy5oCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FsbC1pby5oIGIvaW5jbHVkZS9hbGwtaW8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjIzNjkyCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hbGwtaW8uaApAQCAtMCwwICsxLDgyIEBACisvKgorICogTm8gY29weXJpZ2h0IGlzIGNsYWltZWQuICBUaGlzIGNvZGUgaXMgaW4gdGhlIHB1YmxpYyBkb21haW47IGRvIHdpdGgKKyAqIGl0IHdoYXQgeW91IHdpc2guCisgKgorICogV3JpdHRlbiBieSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqICAgICAgICAgICAgUGV0ciBVemVsIDxwZXRyLnV6ZWxAc3VzZS5jej4KKyAqLworCisjaWZuZGVmIFVUSUxfTElOVVhfQUxMX0lPX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9BTExfSU9fSAorCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKworI2luY2x1ZGUgImMuaCIKKworc3RhdGljIGlubGluZSBpbnQgd3JpdGVfYWxsKGludCBmZCwgY29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgY291bnQpCit7CisJd2hpbGUgKGNvdW50KSB7CisJCXNzaXplX3QgdG1wOworCisJCWVycm5vID0gMDsKKwkJdG1wID0gd3JpdGUoZmQsIGJ1ZiwgY291bnQpOworCQlpZiAodG1wID4gMCkgeworCQkJY291bnQgLT0gdG1wOworCQkJaWYgKGNvdW50KQorCQkJCWJ1ZiA9ICh2b2lkICopICgoY2hhciAqKSBidWYgKyB0bXApOworCQl9IGVsc2UgaWYgKGVycm5vICE9IEVJTlRSICYmIGVycm5vICE9IEVBR0FJTikKKwkJCXJldHVybiAtMTsKKwkJaWYgKGVycm5vID09IEVBR0FJTikJLyogVHJ5IGxhdGVyLCAqc2lnaCogKi8KKwkJCXh1c2xlZXAoMjUwMDAwKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGZ3cml0ZV9hbGwoY29uc3Qgdm9pZCAqcHRyLCBzaXplX3Qgc2l6ZSwKKwkJCSAgICAgc2l6ZV90IG5tZW1iLCBGSUxFICpzdHJlYW0pCit7CisJd2hpbGUgKG5tZW1iKSB7CisJCXNpemVfdCB0bXA7CisKKwkJZXJybm8gPSAwOworCQl0bXAgPSBmd3JpdGUocHRyLCBzaXplLCBubWVtYiwgc3RyZWFtKTsKKwkJaWYgKHRtcCA+IDApIHsKKwkJCW5tZW1iIC09IHRtcDsKKwkJCWlmIChubWVtYikKKwkJCQlwdHIgPSAodm9pZCAqKSAoKGNoYXIgKikgcHRyICsgKHRtcCAqIHNpemUpKTsKKwkJfSBlbHNlIGlmIChlcnJubyAhPSBFSU5UUiAmJiBlcnJubyAhPSBFQUdBSU4pCisJCQlyZXR1cm4gLTE7CisJCWlmIChlcnJubyA9PSBFQUdBSU4pCS8qIFRyeSBsYXRlciwgKnNpZ2gqICovCisJCQl4dXNsZWVwKDI1MDAwMCk7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW5saW5lIHNzaXplX3QgcmVhZF9hbGwoaW50IGZkLCBjaGFyICpidWYsIHNpemVfdCBjb3VudCkKK3sKKwlzc2l6ZV90IHJldDsKKwlzc2l6ZV90IGMgPSAwOworCWludCB0cmllcyA9IDA7CisKKwltZW1zZXQoYnVmLCAwLCBjb3VudCk7CisJd2hpbGUgKGNvdW50ID4gMCkgeworCQlyZXQgPSByZWFkKGZkLCBidWYsIGNvdW50KTsKKwkJaWYgKHJldCA8PSAwKSB7CisJCQlpZiAocmV0IDwgMCAmJiAoZXJybm8gPT0gRUFHQUlOIHx8IGVycm5vID09IEVJTlRSKSAmJiAodHJpZXMrKyA8IDUpKSB7CisJCQkJeHVzbGVlcCgyNTAwMDApOworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJcmV0dXJuIGMgPyBjIDogLTE7CisJCX0KKwkJaWYgKHJldCA+IDApCisJCQl0cmllcyA9IDA7CisJCWNvdW50IC09IHJldDsKKwkJYnVmICs9IHJldDsKKwkJYyArPSByZXQ7CisJfQorCXJldHVybiBjOworfQorCisjZW5kaWYgLyogVVRJTF9MSU5VWF9BTExfSU9fSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9iaXRvcHMuaCBiL2luY2x1ZGUvYml0b3BzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjg3ZDRhZgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYml0b3BzLmgKQEAgLTAsMCArMSwxNTAgQEAKKy8qCisgKiBObyBjb3B5cmlnaHQgaXMgY2xhaW1lZC4gIFRoaXMgY29kZSBpcyBpbiB0aGUgcHVibGljIGRvbWFpbjsgZG8gd2l0aAorICogaXQgd2hhdCB5b3Ugd2lzaC4KKyAqCisgKiBXcml0dGVuIGJ5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICovCisjaWZuZGVmIEJJVE9QU19ICisjZGVmaW5lIEJJVE9QU19ICisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KKworI2lmIGRlZmluZWQoSEFWRV9CWVRFU1dBUF9IKQorIyBpbmNsdWRlIDxieXRlc3dhcC5oPgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKEhBVkVfRU5ESUFOX0gpCisjICBpbmNsdWRlIDxlbmRpYW4uaD4KKyNlbGlmIGRlZmluZWQoSEFWRV9TWVNfRU5ESUFOX0gpCS8qIEJTRHMgaGF2ZSB0aGVtIGhlcmUgKi8KKyMgIGluY2x1ZGUgPHN5cy9lbmRpYW4uaD4KKyNlbmRpZgorCisjaWYgZGVmaW5lZChfX09wZW5CU0RfXykKKyMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjIGRlZmluZSBiZTE2dG9oKHgpIGJldG9oMTYoeCkKKyMgZGVmaW5lIGJlMzJ0b2goeCkgYmV0b2gzMih4KQorIyBkZWZpbmUgYmU2NHRvaCh4KSBiZXRvaDY0KHgpCisjZWxpZiBkZWZpbmVkKF9fTmV0QlNEX18pIHx8IGRlZmluZWQoX19GcmVlQlNEX18pIHx8IGRlZmluZWQoX19EcmFnb25GbHlfXykKKyMgZGVmaW5lIGJzd2FwXzE2KHgpIGJzd2FwMTYoeCkKKyMgZGVmaW5lIGJzd2FwXzMyKHgpIGJzd2FwMzIoeCkKKyMgZGVmaW5lIGJzd2FwXzY0KHgpIGJzd2FwNjQoeCkKKyNlbGlmIGRlZmluZWQoX19BUFBMRV9fKQorIyBpbmNsdWRlIDxsaWJrZXJuL09TQnl0ZU9yZGVyLmg+CisjIGRlZmluZSBodG9iZTE2KHgpIE9TU3dhcEhvc3RUb0JpZ0ludDE2KHgpCisjIGRlZmluZSBodG9sZTE2KHgpIE9TU3dhcEhvc3RUb0xpdHRsZUludDE2KHgpCisjIGRlZmluZSBiZTE2dG9oKHgpIE9TU3dhcEJpZ1RvSG9zdEludDE2KHgpCisjIGRlZmluZSBsZTE2dG9oKHgpIE9TU3dhcExpdHRsZVRvSG9zdEludDE2KHgpCisjIGRlZmluZSBodG9iZTMyKHgpIE9TU3dhcEhvc3RUb0JpZ0ludDMyKHgpCisjIGRlZmluZSBodG9sZTMyKHgpIE9TU3dhcEhvc3RUb0xpdHRsZUludDMyKHgpCisjIGRlZmluZSBiZTMydG9oKHgpIE9TU3dhcEJpZ1RvSG9zdEludDMyKHgpCisjIGRlZmluZSBsZTMydG9oKHgpIE9TU3dhcExpdHRsZVRvSG9zdEludDMyKHgpCisjIGRlZmluZSBodG9iZTY0KHgpIE9TU3dhcEhvc3RUb0JpZ0ludDY0KHgpCisjIGRlZmluZSBodG9sZTY0KHgpIE9TU3dhcEhvc3RUb0xpdHRsZUludDY0KHgpCisjIGRlZmluZSBiZTY0dG9oKHgpIE9TU3dhcEJpZ1RvSG9zdEludDY0KHgpCisjIGRlZmluZSBsZTY0dG9oKHgpIE9TU3dhcExpdHRsZVRvSG9zdEludDY0KHgpCisjIGRlZmluZSBic3dhcF8xNih4KSBPU1N3YXBJbnQxNih4KQorIyBkZWZpbmUgYnN3YXBfMzIoeCkgT1NTd2FwSW50MzIoeCkKKyMgZGVmaW5lIGJzd2FwXzY0KHgpIE9TU3dhcEludDY0KHgpCisjZW5kaWYKKworLyoKKyAqIEZhbGxiYWNrcworICogY2FzdHMgYXJlIG5lY2Vzc2FyeSBmb3IgY29uc3RhbnRzLCBiZWNhdXNlIHdlIG5ldmVyIGtub3cgaG93IGZvciBzdXJlCisgKiBob3cgVS9VTC9VTEwgbWFwIHRvIF9fdTE2LCBfX3UzMiwgX191NjQuIEF0IGxlYXN0IG5vdCBpbiBhIHBvcnRhYmxlIHdheS4KKyAqLworI2lmbmRlZiBic3dhcF8xNgorIyBkZWZpbmUgYnN3YXBfMTYoeCkgKCh1aW50MTZfdCkoIFwKKwkoKCh1aW50MTZfdCkoeCkgJiAweDAwRkYpIDw8IDgpIHwgXAorCSgoKHVpbnQxNl90KSh4KSAmIDB4RkYwMCkgPj4gOCkpKQorI2VuZGlmCisKKyNpZm5kZWYgYnN3YXBfMzIKKyMgZGVmaW5lIGJzd2FwXzMyKHgpICgodWludDMyX3QpKCBcCisJKCgodWludDMyX3QpKHgpICYgMHgwMDAwMDBGRikgPDwgMjQpIHwgXAorCSgoKHVpbnQzMl90KSh4KSAmIDB4MDAwMEZGMDApIDw8IDgpICB8IFwKKwkoKCh1aW50MzJfdCkoeCkgJiAweDAwRkYwMDAwKSA+PiA4KSAgfCBcCisJKCgodWludDMyX3QpKHgpICYgMHhGRjAwMDAwMCkgPj4gMjQpKSkKKyNlbmRpZgorCisjaWZuZGVmIGJzd2FwXzY0CisjIGRlZmluZSBic3dhcF82NCh4KSAoKHVpbnQ2NF90KSggXAorCSgoKHVpbnQ2NF90KSh4KSAmIDB4MDAwMDAwMDAwMDAwMDBGRlVMTCkgPDwgNTYpIHwgXAorCSgoKHVpbnQ2NF90KSh4KSAmIDB4MDAwMDAwMDAwMDAwRkYwMFVMTCkgPDwgNDApIHwgXAorCSgoKHVpbnQ2NF90KSh4KSAmIDB4MDAwMDAwMDAwMEZGMDAwMFVMTCkgPDwgMjQpIHwgXAorCSgoKHVpbnQ2NF90KSh4KSAmIDB4MDAwMDAwMDBGRjAwMDAwMFVMTCkgPDwgOCkgIHwgXAorCSgoKHVpbnQ2NF90KSh4KSAmIDB4MDAwMDAwRkYwMDAwMDAwMFVMTCkgPj4gOCkgIHwgXAorCSgoKHVpbnQ2NF90KSh4KSAmIDB4MDAwMEZGMDAwMDAwMDAwMFVMTCkgPj4gMjQpIHwgXAorCSgoKHVpbnQ2NF90KSh4KSAmIDB4MDBGRjAwMDAwMDAwMDAwMFVMTCkgPj4gNDApIHwgXAorCSgoKHVpbnQ2NF90KSh4KSAmIDB4RkYwMDAwMDAwMDAwMDAwMFVMTCkgPj4gNTYpKSkKKyNlbmRpZgorCisjaWZuZGVmIGh0b2JlMTYKKyMgaWYgIWRlZmluZWQoV09SRFNfQklHRU5ESUFOKQorIyAgZGVmaW5lIGh0b2JlMTYoeCkgYnN3YXBfMTYgKHgpCisjICBkZWZpbmUgaHRvbGUxNih4KSAoeCkKKyMgIGRlZmluZSBiZTE2dG9oKHgpIGJzd2FwXzE2ICh4KQorIyAgZGVmaW5lIGxlMTZ0b2goeCkgKHgpCisjICBkZWZpbmUgaHRvYmUzMih4KSBic3dhcF8zMiAoeCkKKyMgIGRlZmluZSBodG9sZTMyKHgpICh4KQorIyAgZGVmaW5lIGJlMzJ0b2goeCkgYnN3YXBfMzIgKHgpCisjICBkZWZpbmUgbGUzMnRvaCh4KSAoeCkKKyMgIGRlZmluZSBodG9iZTY0KHgpIGJzd2FwXzY0ICh4KQorIyAgZGVmaW5lIGh0b2xlNjQoeCkgKHgpCisjICBkZWZpbmUgYmU2NHRvaCh4KSBic3dhcF82NCAoeCkKKyMgIGRlZmluZSBsZTY0dG9oKHgpICh4KQorIyBlbHNlCisjICBkZWZpbmUgaHRvYmUxNih4KSAoeCkKKyMgIGRlZmluZSBodG9sZTE2KHgpIGJzd2FwXzE2ICh4KQorIyAgZGVmaW5lIGJlMTZ0b2goeCkgKHgpCisjICBkZWZpbmUgbGUxNnRvaCh4KSBic3dhcF8xNiAoeCkKKyMgIGRlZmluZSBodG9iZTMyKHgpICh4KQorIyAgZGVmaW5lIGh0b2xlMzIoeCkgYnN3YXBfMzIgKHgpCisjICBkZWZpbmUgYmUzMnRvaCh4KSAoeCkKKyMgIGRlZmluZSBsZTMydG9oKHgpIGJzd2FwXzMyICh4KQorIyAgZGVmaW5lIGh0b2JlNjQoeCkgKHgpCisjICBkZWZpbmUgaHRvbGU2NCh4KSBic3dhcF82NCAoeCkKKyMgIGRlZmluZSBiZTY0dG9oKHgpICh4KQorIyAgZGVmaW5lIGxlNjR0b2goeCkgYnN3YXBfNjQgKHgpCisjIGVuZGlmCisjZW5kaWYKKworLyoKKyAqIEJ5dGUgc3dhYiBtYWNyb3MgKGJhc2VkIG9uIGxpbnV4L2J5dGVvcmRlci9zd2FiLmgpCisgKi8KKyNkZWZpbmUgc3dhYjE2KHgpIGJzd2FwXzE2KHgpCisjZGVmaW5lIHN3YWIzMih4KSBic3dhcF8zMih4KQorI2RlZmluZSBzd2FiNjQoeCkgYnN3YXBfNjQoeCkKKworI2RlZmluZSBjcHVfdG9fbGUxNih4KSAoKHVpbnQxNl90KSBodG9sZTE2KHgpKQorI2RlZmluZSBjcHVfdG9fbGUzMih4KSAoKHVpbnQzMl90KSBodG9sZTMyKHgpKQorI2RlZmluZSBjcHVfdG9fbGU2NCh4KSAoKHVpbnQ2NF90KSBodG9sZTY0KHgpKQorCisjZGVmaW5lIGNwdV90b19iZTE2KHgpICgodWludDE2X3QpIGh0b2JlMTYoeCkpCisjZGVmaW5lIGNwdV90b19iZTMyKHgpICgodWludDMyX3QpIGh0b2JlMzIoeCkpCisjZGVmaW5lIGNwdV90b19iZTY0KHgpICgodWludDY0X3QpIGh0b2JlNjQoeCkpCisKKyNkZWZpbmUgbGUxNl90b19jcHUoeCkgKCh1aW50MTZfdCkgbGUxNnRvaCh4KSkKKyNkZWZpbmUgbGUzMl90b19jcHUoeCkgKCh1aW50MzJfdCkgbGUzMnRvaCh4KSkKKyNkZWZpbmUgbGU2NF90b19jcHUoeCkgKCh1aW50NjRfdCkgbGU2NHRvaCh4KSkKKworI2RlZmluZSBiZTE2X3RvX2NwdSh4KSAoKHVpbnQxNl90KSBiZTE2dG9oKHgpKQorI2RlZmluZSBiZTMyX3RvX2NwdSh4KSAoKHVpbnQzMl90KSBiZTMydG9oKHgpKQorI2RlZmluZSBiZTY0X3RvX2NwdSh4KSAoKHVpbnQ2NF90KSBiZTY0dG9oKHgpKQorCisvKgorICogQml0IG1hcCByZWxhdGVkIG1hY3Jvcy4gVXN1YWxseSBwcm92aWRlZCBieSBsaWJjLgorICovCisjaWZuZGVmIE5CQlkKKyMgZGVmaW5lIE5CQlkgICAgICAgICAgICBDSEFSX0JJVAorI2VuZGlmCisKKyNpZm5kZWYgc2V0Yml0CisjIGRlZmluZSBzZXRiaXQoYSxpKQkoKGEpWyhpKS9OQkJZXSB8PSAxPDwoKGkpJU5CQlkpKQorIyBkZWZpbmUgY2xyYml0KGEsaSkJKChhKVsoaSkvTkJCWV0gJj0gfigxPDwoKGkpJU5CQlkpKSkKKyMgZGVmaW5lIGlzc2V0KGEsaSkJKChhKVsoaSkvTkJCWV0gJiAoMTw8KChpKSVOQkJZKSkpCisjIGRlZmluZSBpc2NscihhLGkpCSgoKGEpWyhpKS9OQkJZXSAmICgxPDwoKGkpJU5CQlkpKSkgPT0gMCkKKyNlbmRpZgorCisjZW5kaWYgLyogQklUT1BTX0ggKi8KKwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9ibGtkZXYuaCBiL2luY2x1ZGUvYmxrZGV2LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjJlZGE4MgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYmxrZGV2LmgKQEAgLTAsMCArMSwxNTAgQEAKKy8qCisgKiBObyBjb3B5cmlnaHQgaXMgY2xhaW1lZC4gIFRoaXMgY29kZSBpcyBpbiB0aGUgcHVibGljIGRvbWFpbjsgZG8gd2l0aAorICogaXQgd2hhdCB5b3Ugd2lzaC4KKyAqCisgKiBXcml0dGVuIGJ5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICovCisjaWZuZGVmIEJMS0RFVl9ICisjZGVmaW5lIEJMS0RFVl9ICisKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyNpZmRlZiBIQVZFX1NZU19JT0NDT01fSAorIyBpbmNsdWRlIDxzeXMvaW9jY29tLmg+IC8qIGZvciBfSU8gbWFjcm8gb24gZS5nLiBTb2xhcmlzICovCisjZW5kaWYKKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisKKyNpZmRlZiBIQVZFX1NZU19NS0RFVl9ICisjIGluY2x1ZGUgPHN5cy9ta2Rldi5oPgkJLyogbWFqb3IgYW5kIG1pbm9yIG9uIFNvbGFyaXMgKi8KKyNlbmRpZgorCisjZGVmaW5lIERFRkFVTFRfU0VDVE9SX1NJWkUgICAgICAgNTEyCisKKyNpZmRlZiBfX2xpbnV4X18KKy8qIHZlcnkgYmFzaWMgaW9jdGxzLCBzaG91bGQgYmUgYXZhaWxhYmxlIGV2ZXJ5d2hlcmUgKi8KKyMgaWZuZGVmIEJMS1JPU0VUCisjICBkZWZpbmUgQkxLUk9TRVQgICBfSU8oMHgxMiw5MykJLyogc2V0IGRldmljZSByZWFkLW9ubHkgKDAgPSByZWFkLXdyaXRlKSAqLworIyAgZGVmaW5lIEJMS1JPR0VUICAgX0lPKDB4MTIsOTQpCS8qIGdldCByZWFkLW9ubHkgc3RhdHVzICgwID0gcmVhZF93cml0ZSkgKi8KKyMgIGRlZmluZSBCTEtSUlBBUlQgIF9JTygweDEyLDk1KQkvKiByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZSAqLworIyAgZGVmaW5lIEJMS0dFVFNJWkUgX0lPKDB4MTIsOTYpCS8qIHJldHVybiBkZXZpY2Ugc2l6ZSAvNTEyIChsb25nICphcmcpICovCisjICBkZWZpbmUgQkxLRkxTQlVGICBfSU8oMHgxMiw5NykJLyogZmx1c2ggYnVmZmVyIGNhY2hlICovCisjICBkZWZpbmUgQkxLUkFTRVQgICBfSU8oMHgxMiw5OCkJLyogc2V0IHJlYWQgYWhlYWQgZm9yIGJsb2NrIGRldmljZSAqLworIyAgZGVmaW5lIEJMS1JBR0VUICAgX0lPKDB4MTIsOTkpCS8qIGdldCBjdXJyZW50IHJlYWQgYWhlYWQgc2V0dGluZyAqLworIyAgZGVmaW5lIEJMS0ZSQVNFVCAgX0lPKDB4MTIsMTAwKQkvKiBzZXQgZmlsZXN5c3RlbSAobW0vZmlsZW1hcC5jKSByZWFkLWFoZWFkICovCisjICBkZWZpbmUgQkxLRlJBR0VUICBfSU8oMHgxMiwxMDEpCS8qIGdldCBmaWxlc3lzdGVtIChtbS9maWxlbWFwLmMpIHJlYWQtYWhlYWQgKi8KKyMgIGRlZmluZSBCTEtTRUNUU0VUIF9JTygweDEyLDEwMikJLyogc2V0IG1heCBzZWN0b3JzIHBlciByZXF1ZXN0IChsbF9yd19ibGsuYykgKi8KKyMgIGRlZmluZSBCTEtTRUNUR0VUIF9JTygweDEyLDEwMykJLyogZ2V0IG1heCBzZWN0b3JzIHBlciByZXF1ZXN0IChsbF9yd19ibGsuYykgKi8KKyMgIGRlZmluZSBCTEtTU1pHRVQgIF9JTygweDEyLDEwNCkJLyogZ2V0IGJsb2NrIGRldmljZSBzZWN0b3Igc2l6ZSAqLworCisvKiBpb2N0bHMgaW50cm9kdWNlZCBpbiAyLjIuMTYsIHJlbW92ZWQgaW4gMi41LjU4ICovCisjICBkZWZpbmUgQkxLRUxWR0VUICBfSU9SKDB4MTIsMTA2LHNpemVfdCkgLyogZWxldmF0b3IgZ2V0ICovCisjICBkZWZpbmUgQkxLRUxWU0VUICBfSU9XKDB4MTIsMTA3LHNpemVfdCkgLyogZWxldmF0b3Igc2V0ICovCisKKyMgIGRlZmluZSBCTEtCU1pHRVQgIF9JT1IoMHgxMiwxMTIsc2l6ZV90KQorIyAgZGVmaW5lIEJMS0JTWlNFVCAgX0lPVygweDEyLDExMyxzaXplX3QpCisjIGVuZGlmIC8qICFCTEtST1NFVCAqLworCisjIGlmbmRlZiBCTEtHRVRTSVpFNjQKKyMgIGRlZmluZSBCTEtHRVRTSVpFNjQgX0lPUigweDEyLDExNCxzaXplX3QpIC8qIHJldHVybiBkZXZpY2Ugc2l6ZSBpbiBieXRlcyAodTY0ICphcmcpICovCisjIGVuZGlmCisKKy8qIGJsb2NrIGRldmljZSB0b3BvbG9neSBpb2N0bHMsIGludHJvZHVjZWQgaW4gMi42LjMyIChjb21taXQgYWM0ODFjMjApICovCisjIGlmbmRlZiBCTEtJT01JTgorIyAgZGVmaW5lIEJMS0lPTUlOICAgX0lPKDB4MTIsMTIwKQorIyAgZGVmaW5lIEJMS0lPT1BUICAgX0lPKDB4MTIsMTIxKQorIyAgZGVmaW5lIEJMS0FMSUdOT0ZGIF9JTygweDEyLDEyMikKKyMgIGRlZmluZSBCTEtQQlNaR0VUIF9JTygweDEyLDEyMykKKyMgZW5kaWYKKworLyogZGlzY2FyZCB6ZXJvZXMgc3VwcG9ydCwgaW50cm9kdWNlZCBpbiAyLjYuMzMgKGNvbW1pdCA5ODI2MmYyNykgKi8KKyMgaWZuZGVmIEJMS0RJU0NBUkRaRVJPRVMKKyMgIGRlZmluZSBCTEtESVNDQVJEWkVST0VTIF9JTygweDEyLDEyNCkKKyMgZW5kaWYKKworLyogZmlsZXN5c3RlbSBmcmVlemUsIGludHJvZHVjZWQgaW4gMi42LjI5IChjb21taXQgZmNjY2Y1MDIpICovCisjIGlmbmRlZiBGSUZSRUVaRQorIyAgZGVmaW5lIEZJRlJFRVpFICAgX0lPV1IoJ1gnLCAxMTksIGludCkgICAgLyogRnJlZXplICovCisjICBkZWZpbmUgRklUSEFXICAgICBfSU9XUignWCcsIDEyMCwgaW50KSAgICAvKiBUaGF3ICovCisjIGVuZGlmCisKKy8qIHVuaWZvcm0gQ0QtUk9NIGluZm9ybWF0aW9uICovCisjIGlmbmRlZiBDRFJPTV9HRVRfQ0FQQUJJTElUWQorIyAgZGVmaW5lIENEUk9NX0dFVF9DQVBBQklMSVRZIDB4NTMzMQorIyBlbmRpZgorCisjZW5kaWYgLyogX19saW51eCAqLworCisKKyNpZmRlZiBBUFBMRV9EQVJXSU4KKyMgZGVmaW5lIEJMS0dFVFNJWkUgREtJT0NHRVRCTE9DS0NPVU5UMzIKKyNlbmRpZgorCisjaWZuZGVmIEhESU9fR0VUR0VPCisjIGlmZGVmIF9fbGludXhfXworIyAgZGVmaW5lIEhESU9fR0VUR0VPIDB4MDMwMQorIyBlbmRpZgorCitzdHJ1Y3QgaGRfZ2VvbWV0cnkgeworCXVuc2lnbmVkIGNoYXIgaGVhZHM7CisJdW5zaWduZWQgY2hhciBzZWN0b3JzOworCXVuc2lnbmVkIHNob3J0IGN5bGluZGVyczsJLyogdHJ1bmNhdGVkICovCisJdW5zaWduZWQgbG9uZyBzdGFydDsKK307CisjZW5kaWYgLyogSERJT19HRVRHRU8gKi8KKworCisvKiBhcmUgd2Ugd29ya2luZyB3aXRoIGJsb2NrIGRldmljZT8gKi8KK2ludCBpc19ibGtkZXYoaW50IGZkKTsKKworLyogb3BlbiBibG9jayBkZXZpY2Ugb3IgZmlsZSAqLworaW50IG9wZW5fYmxrZGV2X29yX2ZpbGUoY29uc3Qgc3RydWN0IHN0YXQgKnN0LCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBpbnQgb2ZsYWcpOworCisvKiBEZXRlcm1pbmUgc2l6ZSBpbiBieXRlcyAqLworb2ZmX3QgYmxrZGV2X2ZpbmRfc2l6ZSAoaW50IGZkKTsKKworLyogZ2V0IHNpemUgaW4gYnl0ZXMgKi8KK2ludCBibGtkZXZfZ2V0X3NpemUoaW50IGZkLCB1bnNpZ25lZCBsb25nIGxvbmcgKmJ5dGVzKTsKKworLyogZ2V0IDUxMi1ieXRlIHNlY3RvciBjb3VudCAqLworaW50IGJsa2Rldl9nZXRfc2VjdG9ycyhpbnQgZmQsIHVuc2lnbmVkIGxvbmcgbG9uZyAqc2VjdG9ycyk7CisKKy8qIGdldCBoYXJkd2FyZSBzZWN0b3Igc2l6ZSAqLworaW50IGJsa2Rldl9nZXRfc2VjdG9yX3NpemUoaW50IGZkLCBpbnQgKnNlY3Rvcl9zaXplKTsKKworLyogc3BlY2lmaWVzIHdoZXRoZXIgb3Igbm90IHRoZSBkZXZpY2UgaXMgbWlzYWxpZ25lZCAqLworaW50IGJsa2Rldl9pc19taXNhbGlnbmVkKGludCBmZCk7CisKKy8qIGdldCBwaHlzaWNhbCBibG9jayBkZXZpY2Ugc2l6ZSAqLworaW50IGJsa2Rldl9nZXRfcGh5c2VjdG9yX3NpemUoaW50IGZkLCBpbnQgKnNlY3Rvcl9zaXplKTsKKworLyogaXMgdGhlIGRldmljZSBjZHJvbSBjYXBhYmxlPyAqLworaW50IGJsa2Rldl9pc19jZHJvbShpbnQgZmQpOworCisvKiBnZXQgZGV2aWNlJ3MgZ2VvbWV0cnkgLSBsZWdhY3kgKi8KK2ludCBibGtkZXZfZ2V0X2dlb21ldHJ5KGludCBmZCwgdW5zaWduZWQgaW50ICpoLCB1bnNpZ25lZCBpbnQgKnMpOworCisvKiBTQ1NJIGRldmljZSB0eXBlcy4gIENvcGllZCBhbG1vc3QgYXMtaXMgZnJvbSBrZXJuZWwgaGVhZGVyLgorICogaHR0cDovL2dpdC5rZXJuZWwub3JnL2NnaXQvbGludXgva2VybmVsL2dpdC90b3J2YWxkcy9saW51eC5naXQvdHJlZS9pbmNsdWRlL3Njc2kvc2NzaS5oICovCisjZGVmaW5lIFNDU0lfVFlQRV9ESVNLCQkJMHgwMAorI2RlZmluZSBTQ1NJX1RZUEVfVEFQRQkJCTB4MDEKKyNkZWZpbmUgU0NTSV9UWVBFX1BSSU5URVIJCTB4MDIKKyNkZWZpbmUgU0NTSV9UWVBFX1BST0NFU1NPUgkJMHgwMwkvKiBIUCBzY2FubmVycyB1c2UgdGhpcyAqLworI2RlZmluZSBTQ1NJX1RZUEVfV09STQkJCTB4MDQJLyogVHJlYXRlZCBhcyBST00gYnkgb3VyIHN5c3RlbSAqLworI2RlZmluZSBTQ1NJX1RZUEVfUk9NCQkJMHgwNQorI2RlZmluZSBTQ1NJX1RZUEVfU0NBTk5FUgkJMHgwNgorI2RlZmluZSBTQ1NJX1RZUEVfTU9ECQkJMHgwNwkvKiBNYWduZXRvLW9wdGljYWwgZGlzayAtIHRyZWF0ZWQgYXMgU0NTSV9UWVBFX0RJU0sgKi8KKyNkZWZpbmUgU0NTSV9UWVBFX01FRElVTV9DSEFOR0VSCTB4MDgKKyNkZWZpbmUgU0NTSV9UWVBFX0NPTU0JCQkweDA5CS8qIENvbW11bmljYXRpb25zIGRldmljZSAqLworI2RlZmluZSBTQ1NJX1RZUEVfUkFJRAkJCTB4MGMKKyNkZWZpbmUgU0NTSV9UWVBFX0VOQ0xPU1VSRQkJMHgwZAkvKiBFbmNsb3N1cmUgU2VydmljZXMgRGV2aWNlICovCisjZGVmaW5lIFNDU0lfVFlQRV9SQkMJCQkweDBlCisjZGVmaW5lIFNDU0lfVFlQRV9PU0QJCQkweDExCisjZGVmaW5lIFNDU0lfVFlQRV9OT19MVU4JCTB4N2YKKworLyogY29udmVydCBzY3NpIHR5cGUgY29kZSB0byBuYW1lICovCitjb25zdCBjaGFyICpibGtkZXZfc2NzaV90eXBlX3RvX25hbWUoaW50IHR5cGUpOworCisKKyNlbmRpZiAvKiBCTEtERVZfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9jLmggYi9pbmNsdWRlL2MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOGRhYjkzCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9jLmgKQEAgLTAsMCArMSwzNzAgQEAKKy8qCisgKiBGdW5kYW1lbnRhbCBDIGRlZmluaXRpb25zLgorICovCisKKyNpZm5kZWYgVVRJTF9MSU5VWF9DX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9DX0gKKworI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPHN0ZGRlZi5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RkYXJnLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKworI2luY2x1ZGUgPGFzc2VydC5oPgorCisjaWZkZWYgSEFWRV9FUlJfSAorIyBpbmNsdWRlIDxlcnIuaD4KKyNlbmRpZgorCisjaWZkZWYgSEFWRV9TWVNfU1lTTUFDUk9TX0gKKyMgaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPiAgICAgLyogZm9yIG1ham9yLCBtaW5vciAqLworI2VuZGlmCisKKy8qCisgKiBDb21waWxlci1zcGVjaWZpYyBzdHVmZgorICovCisjaWZuZGVmIF9fR05VQ19QUkVSRVEKKyMgaWYgZGVmaW5lZCBfX0dOVUNfXyAmJiBkZWZpbmVkIF9fR05VQ19NSU5PUl9fCisjICBkZWZpbmUgX19HTlVDX1BSRVJFUShtYWosIG1pbikgXAorCSgoX19HTlVDX18gPDwgMTYpICsgX19HTlVDX01JTk9SX18gPj0gKChtYWopIDw8IDE2KSArIChtaW4pKQorIyBlbHNlCisjICBkZWZpbmUgX19HTlVDX1BSRVJFUShtYWosIG1pbikgMAorIyBlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBfX0dOVUNfXworCisvKiAmYVswXSBkZWdyYWRlcyB0byBhIHBvaW50ZXI6IGEgZGlmZmVyZW50IHR5cGUgZnJvbSBhbiBhcnJheSAqLworIyBkZWZpbmUgX19tdXN0X2JlX2FycmF5KGEpIFwKKwlVTF9CVUlMRF9CVUdfT05fWkVSTyhfX2J1aWx0aW5fdHlwZXNfY29tcGF0aWJsZV9wKF9fdHlwZW9mX18oYSksIF9fdHlwZW9mX18oJmFbMF0pKSkKKworIyBkZWZpbmUgaWdub3JlX3Jlc3VsdCh4KSBfX2V4dGVuc2lvbl9fICh7IFwKKwlfX3R5cGVvZl9fKHgpIF9fZHVtbXkgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpID0gKHgpOyAodm9pZCkgX19kdW1teTsgXAorfSkKKworI2Vsc2UgLyogIV9fR05VQ19fICovCisjIGRlZmluZSBfX211c3RfYmVfYXJyYXkoYSkJMAorIyBkZWZpbmUgX19hdHRyaWJ1dGVfXyhfYXJnXykKKyMgZGVmaW5lIGlnbm9yZV9yZXN1bHQoeCkgKCh2b2lkKSAoeCkpCisjZW5kaWYgLyogIV9fR05VQ19fICovCisKKy8qCisgKiBGdW5jdGlvbiBhdHRyaWJ1dGVzCisgKi8KKyNpZm5kZWYgX191bF9hbGxvY19zaXplCisjIGlmIF9fR05VQ19QUkVSRVEgKDQsIDMpCisjICBkZWZpbmUgX191bF9hbGxvY19zaXplKHMpIF9fYXR0cmlidXRlX18oKGFsbG9jX3NpemUocyksIHdhcm5fdW51c2VkX3Jlc3VsdCkpCisjIGVsc2UKKyMgIGRlZmluZSBfX3VsX2FsbG9jX3NpemUocykKKyMgZW5kaWYKKyNlbmRpZgorCisjaWZuZGVmIF9fdWxfY2FsbG9jX3NpemUKKyMgaWYgX19HTlVDX1BSRVJFUSAoNCwgMykKKyMgIGRlZmluZSBfX3VsX2NhbGxvY19zaXplKG4sIHMpIF9fYXR0cmlidXRlX18oKGFsbG9jX3NpemUobiwgcyksIHdhcm5fdW51c2VkX3Jlc3VsdCkpCisjIGVsc2UKKyMgIGRlZmluZSBfX3VsX2NhbGxvY19zaXplKG4sIHMpCisjIGVuZGlmCisjZW5kaWYKKworLyoKKyAqIEZvcmNlIGEgY29tcGlsYXRpb24gZXJyb3IgaWYgY29uZGl0aW9uIGlzIHRydWUsIGJ1dCBhbHNvIHByb2R1Y2UgYQorICogcmVzdWx0IChvZiB2YWx1ZSAwIGFuZCB0eXBlIHNpemVfdCksIHNvIHRoZSBleHByZXNzaW9uIGNhbiBiZSB1c2VkCisgKiBlLmcuIGluIGEgc3RydWN0dXJlIGluaXRpYWxpemVyIChvciB3aGVyZXZlciBlbHNlIGNvbW1hIGV4cHJlc3Npb25zCisgKiBhcmVuJ3QgcGVybWl0dGVkKS4KKyAqLworI2RlZmluZSBVTF9CVUlMRF9CVUdfT05fWkVSTyhlKSBfX2V4dGVuc2lvbl9fIChzaXplb2Yoc3RydWN0IHsgaW50Oi0hIShlKTsgfSkpCisjZGVmaW5lIEJVSUxEX0JVR19PTl9OVUxMKGUpICgodm9pZCAqKXNpemVvZihzdHJ1Y3QgeyBpbnQ6LSEhKGUpOyB9KSkKKworI2lmbmRlZiBBUlJBWV9TSVpFCisjIGRlZmluZSBBUlJBWV9TSVpFKGFycikgKHNpemVvZihhcnIpIC8gc2l6ZW9mKChhcnIpWzBdKSArIF9fbXVzdF9iZV9hcnJheShhcnIpKQorI2VuZGlmCisKKyNpZm5kZWYgUEFUSF9NQVgKKyMgZGVmaW5lIFBBVEhfTUFYIDQwOTYKKyNlbmRpZgorCisjaWZuZGVmIFRSVUUKKyMgZGVmaW5lIFRSVUUgMQorI2VuZGlmCisKKyNpZm5kZWYgRkFMU0UKKyMgZGVmaW5lIEZBTFNFIDAKKyNlbmRpZgorCisjaWZuZGVmIG1pbgorIyBkZWZpbmUgbWluKHgsIHkpIF9fZXh0ZW5zaW9uX18gKHsJCVwKKwlfX3R5cGVvZl9fKHgpIF9taW4xID0gKHgpOwkJXAorCV9fdHlwZW9mX18oeSkgX21pbjIgPSAoeSk7CQlcCisJKHZvaWQpICgmX21pbjEgPT0gJl9taW4yKTsJCVwKKwlfbWluMSA8IF9taW4yID8gX21pbjEgOiBfbWluMjsgfSkKKyNlbmRpZgorCisjaWZuZGVmIG1heAorIyBkZWZpbmUgbWF4KHgsIHkpIF9fZXh0ZW5zaW9uX18gKHsJCVwKKwlfX3R5cGVvZl9fKHgpIF9tYXgxID0gKHgpOwkJXAorCV9fdHlwZW9mX18oeSkgX21heDIgPSAoeSk7CQlcCisJKHZvaWQpICgmX21heDEgPT0gJl9tYXgyKTsJCVwKKwlfbWF4MSA+IF9tYXgyID8gX21heDEgOiBfbWF4MjsgfSkKKyNlbmRpZgorCisjaWZuZGVmIGNtcF9udW1iZXJzCisjIGRlZmluZSBjbXBfbnVtYmVycyh4LCB5KSBfX2V4dGVuc2lvbl9fICh7CVwKKwlfX3R5cGVvZl9fKHgpIF9hID0gKHgpOwkJCVwKKwlfX3R5cGVvZl9fKHkpIF9iID0gKHkpOwkJCVwKKwkodm9pZCkgKCZfYSA9PSAmX2IpOwkJCVwKKwlfYSA9PSBfYiA/IDAgOiBfYSA+IF9iID8gMSA6IC0xOyB9KQorI2VuZGlmCisKKyNpZm5kZWYgb2Zmc2V0b2YKKyNkZWZpbmUgb2Zmc2V0b2YoVFlQRSwgTUVNQkVSKSAoKHNpemVfdCkgJigoVFlQRSAqKTApLT5NRU1CRVIpCisjZW5kaWYKKworI2lmbmRlZiBjb250YWluZXJfb2YKKyNkZWZpbmUgY29udGFpbmVyX29mKHB0ciwgdHlwZSwgbWVtYmVyKSBfX2V4dGVuc2lvbl9fICh7CSBcCisJY29uc3QgX190eXBlb2ZfXyggKCh0eXBlICopMCktPm1lbWJlciApICpfX21wdHIgPSAocHRyKTsgXAorCSh0eXBlICopKCAoY2hhciAqKV9fbXB0ciAtIG9mZnNldG9mKHR5cGUsbWVtYmVyKSApO30pCisjZW5kaWYKKworI2lmbmRlZiBIQVZFX1BST0dSQU1fSU5WT0NBVElPTl9TSE9SVF9OQU1FCisjIGlmZGVmIEhBVkVfX19QUk9HTkFNRQorZXh0ZXJuIGNoYXIgKl9fcHJvZ25hbWU7CisjICBkZWZpbmUgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUgX19wcm9nbmFtZQorIyBlbHNlCisjICBpZmRlZiBIQVZFX0dFVEVYRUNOQU1FCisjICAgZGVmaW5lIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lIFwKKwkJcHJvZ19pbnZfc2hfbm1fZnJvbV9maWxlKGdldGV4ZWNuYW1lKCksIDApCisjICBlbHNlCisjICAgZGVmaW5lIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lIFwKKwkJcHJvZ19pbnZfc2hfbm1fZnJvbV9maWxlKF9fRklMRV9fLCAxKQorIyAgZW5kaWYKK3N0YXRpYyBjaGFyIHByb2dfaW52X3NoX25tX2J1ZlsyNTZdOworc3RhdGljIGlubGluZSBjaGFyICoKK3Byb2dfaW52X3NoX25tX2Zyb21fZmlsZShjaGFyICpmLCBjaGFyIHN0cmlwZXh0KQoreworCWNoYXIgKnQ7CisKKwlpZiAoKHQgPSBzdHJyY2hyKGYsICcvJykpICE9IE5VTEwpCisJCXQrKzsKKwllbHNlCisJCXQgPSBmOworCisJc3RybmNweShwcm9nX2ludl9zaF9ubV9idWYsIHQsIHNpemVvZihwcm9nX2ludl9zaF9ubV9idWYpIC0gMSk7CisJcHJvZ19pbnZfc2hfbm1fYnVmW3NpemVvZihwcm9nX2ludl9zaF9ubV9idWYpIC0gMV0gPSAnXDAnOworCisJaWYgKHN0cmlwZXh0ICYmICh0ID0gc3RycmNocihwcm9nX2ludl9zaF9ubV9idWYsICcuJykpICE9IE5VTEwpCisJCSp0ID0gJ1wwJzsKKworCXJldHVybiBwcm9nX2ludl9zaF9ubV9idWY7Cit9CisjIGVuZGlmCisjZW5kaWYKKworCisjaWZuZGVmIEhBVkVfRVJSX0gKK3N0YXRpYyBpbmxpbmUgdm9pZAorZXJybXNnKGNoYXIgZG9leGl0LCBpbnQgZXhjb2RlLCBjaGFyIGFkZGVyciwgY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJZnByaW50ZihzdGRlcnIsICIlczogIiwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCWlmIChmbXQgIT0gTlVMTCkgeworCQl2YV9saXN0IGFyZ3A7CisJCXZhX3N0YXJ0KGFyZ3AsIGZtdCk7CisJCXZmcHJpbnRmKHN0ZGVyciwgZm10LCBhcmdwKTsKKwkJdmFfZW5kKGFyZ3ApOworCQlpZiAoYWRkZXJyKQorCQkJZnByaW50ZihzdGRlcnIsICI6ICIpOworCX0KKwlpZiAoYWRkZXJyKQorCQlmcHJpbnRmKHN0ZGVyciwgIiVtIik7CisJZnByaW50ZihzdGRlcnIsICJcbiIpOworCWlmIChkb2V4aXQpCisJCWV4aXQoZXhjb2RlKTsKK30KKworI2lmbmRlZiBIQVZFX0VSUgorIyBkZWZpbmUgZXJyKEUsIEZNVC4uLikgZXJybXNnKDEsIEUsIDEsIEZNVCkKKyNlbmRpZgorCisjaWZuZGVmIEhBVkVfRVJSWAorIyBkZWZpbmUgZXJyeChFLCBGTVQuLi4pIGVycm1zZygxLCBFLCAwLCBGTVQpCisjZW5kaWYKKworI2lmbmRlZiBIQVZFX1dBUk4KKyMgZGVmaW5lIHdhcm4oRk1ULi4uKSBlcnJtc2coMCwgMCwgMSwgRk1UKQorI2VuZGlmCisKKyNpZm5kZWYgSEFWRV9XQVJOWAorIyBkZWZpbmUgd2FybngoRk1ULi4uKSBlcnJtc2coMCwgMCwgMCwgRk1UKQorI2VuZGlmCisjZW5kaWYgLyogIUhBVkVfRVJSX0ggKi8KKworCitzdGF0aWMgaW5saW5lIF9fYXR0cmlidXRlX18oKGNvbnN0KSkgaW50IGlzX3Bvd2VyX29mXzIodW5zaWduZWQgbG9uZyBudW0pCit7CisJcmV0dXJuIChudW0gIT0gMCAmJiAoKG51bSAmIChudW0gLSAxKSkgPT0gMCkpOworfQorCisjaWZuZGVmIEhBVkVfTE9GRl9UCit0eXBlZGVmIGludDY0X3QgbG9mZl90OworI2VuZGlmCisKKyNpZiAhZGVmaW5lZChIQVZFX0RJUkZEKSAmJiAoIWRlZmluZWQoSEFWRV9ERUNMX0RJUkZEKSB8fCBIQVZFX0RFQ0xfRElSRkQgPT0gMCkgJiYgZGVmaW5lZChIQVZFX0RJUl9ERF9GRCkKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxkaXJlbnQuaD4KK3N0YXRpYyBpbmxpbmUgaW50IGRpcmZkKERJUiAqZCkKK3sKKwlyZXR1cm4gZC0+ZGRfZmQ7Cit9CisjZW5kaWYKKworLyoKKyAqIEZhbGxiYWNrIGRlZmluZXMgZm9yIG9sZCB2ZXJzaW9ucyBvZiBnbGliYworICovCisjaW5jbHVkZSA8ZmNudGwuaD4KKworI2lmZGVmIE9fQ0xPRVhFQworI2RlZmluZSBVTF9DTE9FWEVDU1RSCSJlIgorI2Vsc2UKKyNkZWZpbmUgVUxfQ0xPRVhFQ1NUUgkiIgorI2VuZGlmCisKKyNpZm5kZWYgT19DTE9FWEVDCisjZGVmaW5lIE9fQ0xPRVhFQyAwCisjZW5kaWYKKworI2lmZGVmIF9fRnJlZUJTRF9rZXJuZWxfXworI2lmbmRlZiBGX0RVUEZEX0NMT0VYRUMKKyNkZWZpbmUgRl9EVVBGRF9DTE9FWEVDCTE3CS8qIExpa2UgRl9EVVBGRCwgYnV0IEZEX0NMT0VYRUMgaXMgc2V0ICovCisjZW5kaWYKKyNlbmRpZgorCisKKyNpZm5kZWYgQUlfQUREUkNPTkZJRworI2RlZmluZSBBSV9BRERSQ09ORklHIDB4MDAyMAorI2VuZGlmCisKKyNpZm5kZWYgSVVURjgKKyNkZWZpbmUgSVVURjggMDA0MDAwMAorI2VuZGlmCisKKy8qCisgKiBNQVhIT1NUTkFNRUxFTiByZXBsYWNlbWVudAorICovCitzdGF0aWMgaW5saW5lIHNpemVfdCBnZXRfaG9zdG5hbWVfbWF4KHZvaWQpCit7CisJbG9uZyBsZW4gPSBzeXNjb25mKF9TQ19IT1NUX05BTUVfTUFYKTsKKworCWlmICgwIDwgbGVuKQorCQlyZXR1cm4gbGVuOworCisjaWZkZWYgTUFYSE9TVE5BTUVMRU4KKwlyZXR1cm4gTUFYSE9TVE5BTUVMRU47CisjZWxpZiBIT1NUX05BTUVfTUFYCisJcmV0dXJuIEhPU1RfTkFNRV9NQVg7CisjZW5kaWYKKwlyZXR1cm4gNjQ7Cit9CisKKy8qCisgKiBUaGUgdXNsZWVwIGZ1bmN0aW9uIHdhcyBtYXJrZWQgb2Jzb2xldGUgaW4gUE9TSVguMS0yMDAxIGFuZCB3YXMgcmVtb3ZlZAorICogaW4gUE9TSVguMS0yMDA4LiAgSXQgd2FzIHJlcGxhY2VkIHdpdGggbmFub3NsZWVwKCkgdGhhdCBwcm92aWRlcyBtb3JlCisgKiBhZHZhbnRhZ2VzIChsaWtlIG5vIGludGVyYWN0aW9uIHdpdGggc2lnbmFscyBhbmQgb3RoZXIgdGltZXIgZnVuY3Rpb25zKS4KKyAqLworI2luY2x1ZGUgPHRpbWUuaD4KKworc3RhdGljIGlubGluZSBpbnQgeHVzbGVlcCh1c2Vjb25kc190IHVzZWMpCit7CisjaWZkZWYgSEFWRV9OQU5PU0xFRVAKKwlzdHJ1Y3QgdGltZXNwZWMgd2FpdHRpbWUgPSB7CisJCS50dl9zZWMgICA9ICB1c2VjIC8gMTAwMDAwMEwsCisJCS50dl9uc2VjICA9ICh1c2VjICUgMTAwMDAwMEwpICogMTAwMAorCX07CisJcmV0dXJuIG5hbm9zbGVlcCgmd2FpdHRpbWUsIE5VTEwpOworI2VsaWYgZGVmaW5lZChIQVZFX1VTTEVFUCkKKwlyZXR1cm4gdXNsZWVwKHVzZWMpOworI2Vsc2UKKyMgZXJyb3IJIlN5c3RlbSB3aXRoIHVzbGVlcCgpIG9yIG5hbm9zbGVlcCgpIHJlcXVpcmVkISIKKyNlbmRpZgorfQorCisvKgorICogQ29uc3RhbnQgc3RyaW5ncyBmb3IgdXNhZ2UoKSBmdW5jdGlvbnMuIEZvciBtb3JlIGluZm8gc2VlCisgKiBEb2N1bWVudGF0aW9uL2hvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCBhbmQgZGlzay11dGlscy9kZWxwYXJ0LmMKKyAqLworI2RlZmluZSBVU0FHRV9IRUFERVIgICAgIF8oIlxuVXNhZ2U6XG4iKQorI2RlZmluZSBVU0FHRV9PUFRJT05TICAgIF8oIlxuT3B0aW9uczpcbiIpCisjZGVmaW5lIFVTQUdFX1NFUEFSQVRPUiAgICAiXG4iCisjZGVmaW5lIFVTQUdFX0hFTFAgICAgICAgXygiIC1oLCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iKQorI2RlZmluZSBVU0FHRV9WRVJTSU9OICAgIF8oIiAtViwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIikKKyNkZWZpbmUgVVNBR0VfTUFOX1RBSUwoX21hbikgICBfKCJcbkZvciBtb3JlIGRldGFpbHMgc2VlICVzLlxuIiksIF9tYW4KKworI2RlZmluZSBVVElMX0xJTlVYX1ZFUlNJT04gXygiJXMgZnJvbSAlc1xuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lLCBQQUNLQUdFX1NUUklORworCisvKgorICogc2NhbmYgbW9kaWZpZXJzIGZvciAic3RyaW5ncyBhbGxvY2F0aW9uIgorICovCisjaWZkZWYgSEFWRV9TQ0FORl9NU19NT0RJRklFUgorI2RlZmluZSBVTF9TQ05zQQkiJW1zIgorI2VsaWYgZGVmaW5lZChIQVZFX1NDQU5GX0FTX01PRElGSUVSKQorI2RlZmluZSBVTF9TQ05zQQkiJWFzIgorI2VuZGlmCisKKy8qCisgKiBzZWVrIHN0dWZmCisgKi8KKyNpZm5kZWYgU0VFS19EQVRBCisjIGRlZmluZSBTRUVLX0RBVEEJMworI2VuZGlmCisjaWZuZGVmIFNFRUtfSE9MRQorIyBkZWZpbmUgU0VFS19IT0xFCTQKKyNlbmRpZgorCisKKy8qCisgKiBNYWNyb3MgdG8gY29udmVydCAjZGVmaW5lJ2l0aW9ucyB0byBzdHJpbmdzLCBmb3IgZXhhbXBsZQorICogI2RlZmluZSBYWVhYWSA0MgorICogcHJpbnRmICgiJXM9JXNcbiIsIHN0cmluZ2lmeShYWVhYWSksIHN0cmluZ2lmeV92YWx1ZShYWVhYWSkpOworICovCisjZGVmaW5lIHN0cmluZ2lmeV92YWx1ZShzKSBzdHJpbmdpZnkocykKKyNkZWZpbmUgc3RyaW5naWZ5KHMpICNzCisKKy8qCisgKiBVTF9BU0FOX0JMQUNLTElTVCBpcyBhIG1hY3JvIHRvIHRlbGwgQWRkcmVzc1Nhbml0aXplciAoYSBjb21waWxlLXRpbWUKKyAqIGluc3RydW1lbnRhdGlvbiBzaGlwcGVkIHdpdGggQ2xhbmcgYW5kIEdDQykgdG8gbm90IGluc3RydW1lbnQgdGhlCisgKiBhbm5vdGF0ZWQgZnVuY3Rpb24uICBGdXJ0aGVybW9yZSwgaXQgd2lsbCBwcmV2ZW50IHRoZSBjb21waWxlciBmcm9tCisgKiBpbmxpbmluZyB0aGUgZnVuY3Rpb24gYmVjYXVzZSBpbmxpbmluZyBjdXJyZW50bHkgYnJlYWtzIHRoZSBibGFja2xpc3RpbmcKKyAqIG1lY2hhbmlzbSBvZiBBZGRyZXNzU2FuaXRpemVyLgorICovCisjaWYgZGVmaW5lZChfX2hhc19mZWF0dXJlKQorIyBpZiBfX2hhc19mZWF0dXJlKGFkZHJlc3Nfc2FuaXRpemVyKQorIyAgZGVmaW5lIFVMX0FTQU5fQkxBQ0tMSVNUIF9fYXR0cmlidXRlX18oKG5vaW5saW5lKSkgX19hdHRyaWJ1dGVfXygobm9fc2FuaXRpemVfbWVtb3J5KSkgX19hdHRyaWJ1dGVfXygobm9fc2FuaXRpemVfYWRkcmVzcykpCisjIGVsc2UKKyMgIGRlZmluZSBVTF9BU0FOX0JMQUNLTElTVAkvKiBub3RoaW5nICovCisjIGVuZGlmCisjZWxzZQorIyBkZWZpbmUgVUxfQVNBTl9CTEFDS0xJU1QJLyogbm90aGluZyAqLworI2VuZGlmCisKKworCisvKgorICogTm90ZSB0aGF0IHN5c2NvbmYoX1NDX0dFVFBXX1JfU0laRV9NQVgpIHJldHVybnMgKmluaXRpYWwqIHN1Z2dlc3RlZCBzaXplIGZvcgorICogcHdkIGJ1ZmZlciBhbmQgaW4gc29tZSBjYXNlcyBpdCBpcyBub3QgbGFyZ2UgZW5vdWdoLiBTZWUgUE9TSVggYW5kCisgKiBnZXRwd25hbV9yIG1hbiBwYWdlIGZvciBtb3JlIGRldGFpbHMuCisgKi8KKyNkZWZpbmUgVUxfR0VUUFdfQlVGU0laCSgxNiAqIDEwMjQpCisKKy8qCisgKiBEYXJ3aW4gb3Igb3RoZXIgQlNEcyBtYXkgb25seSBoYXZlIE1BUF9BTk9OLiBUbyBnZXQgaXQgb24gRGFyd2luIHdlIG11c3QKKyAqIGRlZmluZSBfREFSV0lOX0NfU09VUkNFIGJlZm9yZSBpbmNsdWRpbmcgc3lzL21tYW4uaC4gV2UgZG8gdGhpcyBpbiBjb25maWcuaC4KKyAqLworI2lmICFkZWZpbmVkIE1BUF9BTk9OWU1PVVMgJiYgZGVmaW5lZCBNQVBfQU5PTgorIyBkZWZpbmUgTUFQX0FOT05ZTU9VUyAgKE1BUF9BTk9OKQorI2VuZGlmCisKKyNlbmRpZiAvKiBVVElMX0xJTlVYX0NfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9jYW5vbmljYWxpemUuaCBiL2luY2x1ZGUvY2Fub25pY2FsaXplLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGEyOTJmYwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvY2Fub25pY2FsaXplLmgKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0IHlvdXIgb3B0aW9uKQorICogYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIExpYnJhcnkgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqLworI2lmbmRlZiBDQU5PTklDQUxJWkVfSAorI2RlZmluZSBDQU5PTklDQUxJWkVfSAorCisjaW5jbHVkZSAiYy5oIgkvKiBmb3IgUEFUSF9NQVggKi8KKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorCitleHRlcm4gY2hhciAqY2Fub25pY2FsaXplX3BhdGgoY29uc3QgY2hhciAqcGF0aCk7CitleHRlcm4gY2hhciAqY2Fub25pY2FsaXplX3BhdGhfcmVzdHJpY3RlZChjb25zdCBjaGFyICpwYXRoKTsKK2V4dGVybiBjaGFyICpjYW5vbmljYWxpemVfZG1fbmFtZShjb25zdCBjaGFyICpwdG5hbWUpOworCitleHRlcm4gY2hhciAqYWJzb2x1dGVfcGF0aChjb25zdCBjaGFyICpwYXRoKTsKKworc3RhdGljIGlubGluZSBpbnQgaXNfcmVsYXRpdmVfcGF0aChjb25zdCBjaGFyICpwYXRoKQoreworCWlmICghcGF0aCB8fCAqcGF0aCA9PSAnLycpCisJCXJldHVybiAwOworCXJldHVybiAxOworfQorCisjZW5kaWYgLyogQ0FOT05JQ0FMSVpFX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvY2FyZWZ1bHB1dGMuaCBiL2luY2x1ZGUvY2FyZWZ1bHB1dGMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ODg0MzVlCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9jYXJlZnVscHV0Yy5oCkBAIC0wLDAgKzEsMTUzIEBACisjaWZuZGVmIFVUSUxfTElOVVhfQ0FSRUZVVUxQVVRDX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9DQVJFRlVVTFBVVENfSAorCisvKgorICogQSBwdXRjKCkgZm9yIHVzZSBpbiB3cml0ZSBhbmQgd2FsbCAodGhhdCBzb21ldGltZXMgYXJlIHNnaWQgdHR5KS4KKyAqIEl0IGF2b2lkcyBjb250cm9sIGNoYXJhY3RlcnMgaW4gb3VyIGxvY2FsZSwgYW5kIGFsc28gQVNDSUkgY29udHJvbAorICogY2hhcmFjdGVycy4gICBOb3RlIHRoYXQgdGhlIGxvY2FsZSBvZiB0aGUgcmVjaXBpZW50IGlzIHVua25vd24uCisqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKworc3RhdGljIGlubGluZSBpbnQgZnB1dGNfY2FyZWZ1bChpbnQgYywgRklMRSAqZnAsIGNvbnN0IGNoYXIgZmFpbCkKK3sKKwlpbnQgcmV0OworCisJaWYgKGlzcHJpbnQoYykgfHwgYyA9PSAnXGEnIHx8IGMgPT0gJ1x0JyB8fCBjID09ICdccicgfHwgYyA9PSAnXG4nKQorCQlyZXQgPSBwdXRjKGMsIGZwKTsKKwllbHNlIGlmICghaXNhc2NpaShjKSkKKwkJcmV0ID0gZnByaW50ZihmcCwgIlxcJTNvIiwgKHVuc2lnbmVkIGNoYXIpYyk7CisJZWxzZSB7CisJCXJldCA9IHB1dGMoZmFpbCwgZnApOworCQlpZiAocmV0ICE9IEVPRikKKwkJCXJldCA9IHB1dGMoYyBeIDB4NDAsIGZwKTsKKwl9CisJcmV0dXJuIChyZXQgPCAwKSA/IEVPRiA6IDA7Cit9CisKKy8qCisgKiBSZXF1aXJlbWVudHMgZW51bWVyYXRlZCB2aWEgdGVzdGluZyAoVjgsIEZpcmVmb3gsIElFMTEpOgorICoKKyAqIHZhciBjaGFyc1RvRXNjYXBlID0gW107CisgKiBmb3IgKHZhciBpID0gMDsgaSA8IDY1NTM1OyBpICs9IDEpIHsKKyAqCXRyeSB7CisgKgkJSlNPTi5wYXJzZSgneyJzYW1wbGUiOiAiJyArIFN0cmluZy5mcm9tQ29kZVBvaW50KGkpICsgJyJ9Jyk7CisgKgl9IGNhdGNoIChlKSB7CisgKgkJY2hhcnNUb0VzY2FwZS5wdXNoKGkpOworICoJfQorICogfQorICovCitzdGF0aWMgaW5saW5lIHZvaWQgZnB1dHNfcXVvdGVkX2Nhc2VfanNvbihjb25zdCBjaGFyICpkYXRhLCBGSUxFICpvdXQsIGludCBkaXIpCit7CisJY29uc3QgY2hhciAqcDsKKworCWZwdXRjKCciJywgb3V0KTsKKwlmb3IgKHAgPSBkYXRhOyBwICYmICpwOyBwKyspIHsKKworCQljb25zdCB1bnNpZ25lZCBjaGFyIGMgPSAodW5zaWduZWQgY2hhcikgKnA7CisKKwkJLyogRnJvbSBodHRwOi8vd3d3Lmpzb24ub3JnCisJCSAqCisJCSAqIFRoZSBkb3VibGUtcXVvdGUgYW5kIGJhY2tzbGFzaGVzIHdvdWxkIGJyZWFrIG91dCBhIHN0cmluZyBvcgorCQkgKiBpbml0IGFuIGVzY2FwZSBzZXF1ZW5jZSBpZiBub3QgZXNjYXBlZC4KKwkJICoKKwkJICogTm90ZSB0aGF0IHNpbmdsZS1xdW90ZXMgYW5kIGZvcndhcmQgc2xhc2hlcywgd2hpbGUgdGhleSdyZQorCQkgKiBpbiB0aGUgSlNPTiBzcGVjLCBkb24ndCBicmVhayBkb3VibGUtcXVvdGVkIHN0cmluZ3MuCisJCSAqLworCQlpZiAoYyA9PSAnIicgfHwgYyA9PSAnXFwnKSB7CisJCQlmcHV0YygnXFwnLCBvdXQpOworCQkJZnB1dGMoYywgb3V0KTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJLyogQWxsIG5vbi1jb250cm9sIGNoYXJhY3RlcnMgT0s7IGRvIHRoZSBjYXNlIHN3YXAgYXMgcmVxdWlyZWQuICovCisJCWlmIChjID49IDB4MjApIHsKKwkJCWZwdXRjKGRpciA9PSAgMSA/IHRvdXBwZXIoYykgOgorCQkJICAgICAgZGlyID09IC0xID8gdG9sb3dlcihjKSA6ICpwLCBvdXQpOworCQkJY29udGludWU7CisJCX0KKworCQkvKiBJbiBhZGRpdGlvbiwgYWxsIGNoYXJzIHVuZGVyICcgJyBicmVhayBOb2RlJ3MvVjgvQ2hyb21lJ3MsIGFuZAorCQkgKiBGaXJlZm94J3MgSlNPTi5wYXJzZSBmdW5jdGlvbgorCQkgKi8KKwkJc3dpdGNoIChjKSB7CisJCQkvKiBIYW5kbGUgc2hvcnQtaGFuZCBjYXNlcyB0byByZWR1Y2Ugb3V0cHV0IHNpemUuICBDCisJCQkgKiBoYXMgbW9zdCBvZiB0aGUgc2FtZSBzdHVmZiBoZXJlLCBzbyBpZiB0aGVyZSdzIGFuCisJCQkgKiAiRXNjYXBlIGZvciBDIiBmdW5jdGlvbiBzb21ld2hlcmUgaW4gdGhlIFNUTCwgd2UKKwkJCSAqIHNob3VsZCBwcm9iYWJseSBiZSB1c2luZyBpdC4KKwkJCSAqLworCQkJY2FzZSAnXGInOgorCQkJCWZwdXRzKCJcXGIiLCBvdXQpOworCQkJCWJyZWFrOworCQkJY2FzZSAnXHQnOgorCQkJCWZwdXRzKCJcXHQiLCBvdXQpOworCQkJCWJyZWFrOworCQkJY2FzZSAnXG4nOgorCQkJCWZwdXRzKCJcXG4iLCBvdXQpOworCQkJCWJyZWFrOworCQkJY2FzZSAnXGYnOgorCQkJCWZwdXRzKCJcXGYiLCBvdXQpOworCQkJCWJyZWFrOworCQkJY2FzZSAnXHInOgorCQkJCWZwdXRzKCJcXHIiLCBvdXQpOworCQkJCWJyZWFrOworCQkJZGVmYXVsdDoKKwkJCQkvKiBPdGhlciBhc3NvcnRlZCBjb250cm9sIGNoYXJhY3RlcnMgKi8KKwkJCQlmcHJpbnRmKG91dCwgIlxcdTAwJTAyeCIsIGMpOworCQkJCWJyZWFrOworCQl9CisJfQorCWZwdXRjKCciJywgb3V0KTsKK30KKworCitzdGF0aWMgaW5saW5lIHZvaWQgZnB1dHNfcXVvdGVkX2Nhc2UoY29uc3QgY2hhciAqZGF0YSwgRklMRSAqb3V0LCBpbnQgZGlyKQoreworCWNvbnN0IGNoYXIgKnA7CisKKwlmcHV0YygnIicsIG91dCk7CisJZm9yIChwID0gZGF0YTsgcCAmJiAqcDsgcCsrKSB7CisJCWlmICgodW5zaWduZWQgY2hhcikgKnAgPT0gMHgyMiB8fAkJLyogIiAqLworCQkgICAgKHVuc2lnbmVkIGNoYXIpICpwID09IDB4NWMgfHwJCS8qIFwgKi8KKwkJICAgICh1bnNpZ25lZCBjaGFyKSAqcCA9PSAweDYwIHx8CQkvKiBgICovCisJCSAgICAodW5zaWduZWQgY2hhcikgKnAgPT0gMHgyNCB8fAkJLyogJCAqLworCQkgICAgIWlzcHJpbnQoKHVuc2lnbmVkIGNoYXIpICpwKSB8fAorCQkgICAgaXNjbnRybCgodW5zaWduZWQgY2hhcikgKnApKSB7CisKKwkJCWZwcmludGYob3V0LCAiXFx4JTAyeCIsICh1bnNpZ25lZCBjaGFyKSAqcCk7CisJCX0gZWxzZQorCQkJZnB1dGMoZGlyID09ICAxID8gdG91cHBlcigqcCkgOgorCQkJICAgICAgZGlyID09IC0xID8gdG9sb3dlcigqcCkgOgorCQkJICAgICAgKnAsIG91dCk7CisJfQorCWZwdXRjKCciJywgb3V0KTsKK30KKworI2RlZmluZSBmcHV0c19xdW90ZWQoX2QsIF9vKQkJZnB1dHNfcXVvdGVkX2Nhc2UoX2QsIF9vLCAwKQorI2RlZmluZSBmcHV0c19xdW90ZWRfdXBwZXIoX2QsIF9vKQlmcHV0c19xdW90ZWRfY2FzZShfZCwgX28sIDEpCisjZGVmaW5lIGZwdXRzX3F1b3RlZF9sb3dlcihfZCwgX28pCWZwdXRzX3F1b3RlZF9jYXNlKF9kLCBfbywgLTEpCisKKyNkZWZpbmUgZnB1dHNfcXVvdGVkX2pzb24oX2QsIF9vKSAgICAgICBmcHV0c19xdW90ZWRfY2FzZV9qc29uKF9kLCBfbywgMCkKKyNkZWZpbmUgZnB1dHNfcXVvdGVkX2pzb25fdXBwZXIoX2QsIF9vKSBmcHV0c19xdW90ZWRfY2FzZV9qc29uKF9kLCBfbywgMSkKKyNkZWZpbmUgZnB1dHNfcXVvdGVkX2pzb25fbG93ZXIoX2QsIF9vKSBmcHV0c19xdW90ZWRfY2FzZV9qc29uKF9kLCBfbywgLTEpCisKK3N0YXRpYyBpbmxpbmUgdm9pZCBmcHV0c19ub25ibGFuayhjb25zdCBjaGFyICpkYXRhLCBGSUxFICpvdXQpCit7CisJY29uc3QgY2hhciAqcDsKKworCWZvciAocCA9IGRhdGE7IHAgJiYgKnA7IHArKykgeworCQlpZiAoaXNibGFuaygodW5zaWduZWQgY2hhcikgKnApIHx8CisJCSAgICAodW5zaWduZWQgY2hhcikgKnAgPT0gMHg1YyB8fAkJLyogXCAqLworCQkgICAgIWlzcHJpbnQoKHVuc2lnbmVkIGNoYXIpICpwKSB8fAorCQkgICAgaXNjbnRybCgodW5zaWduZWQgY2hhcikgKnApKSB7CisKKwkJCWZwcmludGYob3V0LCAiXFx4JTAyeCIsICh1bnNpZ25lZCBjaGFyKSAqcCk7CisKKwkJfSBlbHNlCisJCQlmcHV0YygqcCwgb3V0KTsKKwl9Cit9CisKKworI2VuZGlmICAvKiAgX0NBUkVGVVVMUFVUQ19IICAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9jbG9zZXN0cmVhbS5oIGIvaW5jbHVkZS9jbG9zZXN0cmVhbS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkZmUxMTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2Nsb3Nlc3RyZWFtLmgKQEAgLTAsMCArMSw3NSBAQAorI2lmbmRlZiBVVElMX0xJTlVYX0NMT1NFU1RSRUFNX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9DTE9TRVNUUkVBTV9ICisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2lmZGVmIEhBVkVfU1RESU9fRVhUX0gKKyNpbmNsdWRlIDxzdGRpb19leHQuaD4KKyNlbmRpZgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm5scy5oIgorCisjaWZuZGVmIENMT1NFX0VYSVRfQ09ERQorIyBkZWZpbmUgQ0xPU0VfRVhJVF9DT0RFIEVYSVRfRkFJTFVSRQorI2VuZGlmCisKKyNpZm5kZWYgSEFWRV9fX0ZQRU5ESU5HCitzdGF0aWMgaW5saW5lIGludAorX19mcGVuZGluZyhGSUxFICpzdHJlYW0gX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXJldHVybiAwOworfQorI2VuZGlmCisKK3N0YXRpYyBpbmxpbmUgaW50CitjbG9zZV9zdHJlYW0oRklMRSAqIHN0cmVhbSkKK3sKKwljb25zdCBpbnQgc29tZV9wZW5kaW5nID0gKF9fZnBlbmRpbmcoc3RyZWFtKSAhPSAwKTsKKwljb25zdCBpbnQgcHJldl9mYWlsID0gKGZlcnJvcihzdHJlYW0pICE9IDApOworCWNvbnN0IGludCBmY2xvc2VfZmFpbCA9IChmY2xvc2Uoc3RyZWFtKSAhPSAwKTsKKworCWlmIChwcmV2X2ZhaWwgfHwgKGZjbG9zZV9mYWlsICYmIChzb21lX3BlbmRpbmcgfHwgZXJybm8gIT0gRUJBREYpKSkgeworCQlpZiAoIWZjbG9zZV9mYWlsICYmICEoZXJybm8gPT0gRVBJUEUpKQorCQkJZXJybm8gPSAwOworCQlyZXR1cm4gRU9GOworCX0KKwlyZXR1cm4gMDsKK30KKworLyogTWVhbnQgdG8gYmUgdXNlZCBhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZAorY2xvc2Vfc3Rkb3V0KHZvaWQpCit7CisJaWYgKGNsb3NlX3N0cmVhbShzdGRvdXQpICE9IDAgJiYgIShlcnJubyA9PSBFUElQRSkpIHsKKwkJaWYgKGVycm5vKQorCQkJd2FybihfKCJ3cml0ZSBlcnJvciIpKTsKKwkJZWxzZQorCQkJd2FybngoXygid3JpdGUgZXJyb3IiKSk7CisJCV9leGl0KENMT1NFX0VYSVRfQ09ERSk7CisJfQorCisJaWYgKGNsb3NlX3N0cmVhbShzdGRlcnIpICE9IDApCisJCV9leGl0KENMT1NFX0VYSVRfQ09ERSk7Cit9CisKKyNpZm5kZWYgSEFWRV9GU1lOQworc3RhdGljIGlubGluZSBpbnQKK2ZzeW5jKGludCBmZCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKworc3RhdGljIGlubGluZSBpbnQKK2Nsb3NlX2ZkKGludCBmZCkKK3sKKwljb25zdCBpbnQgZnN5bmNfZmFpbCA9IChmc3luYyhmZCkgIT0gMCk7CisJY29uc3QgaW50IGNsb3NlX2ZhaWwgPSAoY2xvc2UoZmQpICE9IDApOworCisJaWYgKGZzeW5jX2ZhaWwgfHwgY2xvc2VfZmFpbCkKKwkJcmV0dXJuIEVPRjsKKwlyZXR1cm4gMDsKK30KKworI2VuZGlmIC8qIFVUSUxfTElOVVhfQ0xPU0VTVFJFQU1fSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9jb2xvci1uYW1lcy5oIGIvaW5jbHVkZS9jb2xvci1uYW1lcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyZjZmOGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2NvbG9yLW5hbWVzLmgKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE1IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaWZuZGVmIFVUSUxfTElOVVhfQ09MT1JfTkFNRVNfSAorI2RlZmluZSBVVElMX0xJTlVYX0NPTE9SX05BTUVTX0gKKworI2RlZmluZSBVTF9DT0xPUl9SRVNFVAkJIlwwMzNbMG0iCisjZGVmaW5lIFVMX0NPTE9SX0JPTEQJCSJcMDMzWzFtIgorI2RlZmluZSBVTF9DT0xPUl9IQUxGQlJJR0hUCSJcMDMzWzJtIgorI2RlZmluZSBVTF9DT0xPUl9VTkRFUlNDT1JFCSJcMDMzWzRtIgorI2RlZmluZSBVTF9DT0xPUl9CTElOSwkJIlwwMzNbNW0iCisjZGVmaW5lIFVMX0NPTE9SX1JFVkVSU0UJIlwwMzNbN20iCisKKy8qIFN0YW5kYXJkIGNvbG9ycyAqLworI2RlZmluZSBVTF9DT0xPUl9CTEFDSwkJIlwwMzNbMzBtIgorI2RlZmluZSBVTF9DT0xPUl9SRUQJCSJcMDMzWzMxbSIKKyNkZWZpbmUgVUxfQ09MT1JfR1JFRU4JCSJcMDMzWzMybSIKKyNkZWZpbmUgVUxfQ09MT1JfQlJPV04JCSJcMDMzWzMzbSIJLyogd2VsbCwgYnJvd24gKi8KKyNkZWZpbmUgVUxfQ09MT1JfQkxVRQkJIlwwMzNbMzRtIgorI2RlZmluZSBVTF9DT0xPUl9NQUdFTlRBCSJcMDMzWzM1bSIKKyNkZWZpbmUgVUxfQ09MT1JfQ1lBTgkJIlwwMzNbMzZtIgorI2RlZmluZSBVTF9DT0xPUl9HUkFZCQkiXDAzM1szN20iCisKKy8qIEJvbGQgdmFyaWFudHMgKi8KKyNkZWZpbmUgVUxfQ09MT1JfREFSS19HUkFZCSJcMDMzWzE7MzBtIgorI2RlZmluZSBVTF9DT0xPUl9CT0xEX1JFRAkiXDAzM1sxOzMxbSIKKyNkZWZpbmUgVUxfQ09MT1JfQk9MRF9HUkVFTgkiXDAzM1sxOzMybSIKKyNkZWZpbmUgVUxfQ09MT1JfQk9MRF9ZRUxMT1cJIlwwMzNbMTszM20iCisjZGVmaW5lIFVMX0NPTE9SX0JPTERfQkxVRQkiXDAzM1sxOzM0bSIKKyNkZWZpbmUgVUxfQ09MT1JfQk9MRF9NQUdFTlRBCSJcMDMzWzE7MzVtIgorI2RlZmluZSBVTF9DT0xPUl9CT0xEX0NZQU4JIlwwMzNbMTszNm0iCisKKyNkZWZpbmUgVUxfQ09MT1JfV0hJVEUJCSJcMDMzWzE7MzdtIgorCisKKy8qIG1heGltYWwgbGVuZ3RoIG9mIGh1bWFuIHJlYWRhYmxlIG5hbWUgb2YgRVNDIHNlcS4gKi8KKyNkZWZpbmUgVUxfQ09MT1JOQU1FX01BWFNaCTMyCisKK2V4dGVybiBjb25zdCBjaGFyICpjb2xvcl9zZXF1ZW5jZV9mcm9tX2NvbG9ybmFtZShjb25zdCBjaGFyICpzdHIpOworCisjZW5kaWYgLyogVVRJTF9MSU5VWF9DT0xPUl9OQU1FU19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2NvbG9ycy5oIGIvaW5jbHVkZS9jb2xvcnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZDM0YTRmCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9jb2xvcnMuaApAQCAtMCwwICsxLDcwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIE9uZHJlaiBPcHJhbGEgPG9vcHJhbGFAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaWZuZGVmIFVUSUxfTElOVVhfQ09MT1JTX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9DT0xPUlNfSAorCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgImNvbG9yLW5hbWVzLmgiCisKKy8qIC0tY29sb3JbPVdIRU5dICovCitlbnVtIGNvbG9ydG1vZGUgeworCVVMX0NPTE9STU9ERV9BVVRPID0gMCwKKwlVTF9DT0xPUk1PREVfTkVWRVIsCisJVUxfQ09MT1JNT0RFX0FMV0FZUywKKwlVTF9DT0xPUk1PREVfVU5ERUYsCisKKwlfX1VMX05DT0xPUk1PREVTCS8qIGxhc3QgKi8KK307CisKKyNpZmRlZiBVU0VfQ09MT1JTX0JZX0RFRkFVTFQKKyMgZGVmaW5lIFVTQUdFX0NPTE9SU19ERUZBVUxUCU5fKCJjb2xvcnMgYXJlIGVuYWJsZWQgYnkgZGVmYXVsdCIpCisjZWxzZQorIyBkZWZpbmUgVVNBR0VfQ09MT1JTX0RFRkFVTFQgICBOXygiY29sb3JzIGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0IikKKyNlbmRpZgorCitleHRlcm4gaW50IGNvbG9ybW9kZV9mcm9tX3N0cmluZyhjb25zdCBjaGFyICpzdHIpOworZXh0ZXJuIGludCBjb2xvcm1vZGVfb3JfZXJyKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqZXJybXNnKTsKKworLyogSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlIFVMX0NPTE9SX1RFUk1fT0sgKi8KK2V4dGVybiBpbnQgY29sb3JzX2luaXQoaW50IG1vZGUsIGNvbnN0IGNoYXIgKnV0aWxfbmFtZSk7CisKKy8qIFJldHVybnMgMSBvciAwICovCitleHRlcm4gaW50IGNvbG9yc193YW50ZWQodm9pZCk7CisKKy8qIHRlbXBvcmFyeSBlbmFibGUvZGlzYWJsZSBjb2xvcnMgKi8KK2V4dGVybiB2b2lkIGNvbG9yc19vZmYodm9pZCk7CitleHRlcm4gdm9pZCBjb2xvcnNfb24odm9pZCk7CisKKworLyogU2V0IHRoZSBjb2xvciAqLworZXh0ZXJuIHZvaWQgY29sb3JfZmVuYWJsZShjb25zdCBjaGFyICpzZXEsIEZJTEUgKmYpOworCitleHRlcm4gdm9pZCBjb2xvcl9zY2hlbWVfZmVuYWJsZShjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpkZmx0LCBGSUxFICpmKTsKK2V4dGVybiBjb25zdCBjaGFyICpjb2xvcl9zY2hlbWVfZ2V0X3NlcXVlbmNlKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKmRmbHQpOworCitzdGF0aWMgaW5saW5lIHZvaWQgY29sb3JfZW5hYmxlKGNvbnN0IGNoYXIgKnNlcSkKK3sKKwljb2xvcl9mZW5hYmxlKHNlcSwgc3Rkb3V0KTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGNvbG9yX3NjaGVtZV9lbmFibGUoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqZGZsdCkKK3sKKwljb2xvcl9zY2hlbWVfZmVuYWJsZShuYW1lLCBkZmx0LCBzdGRvdXQpOworfQorCisvKiBSZXNldCBjb2xvcnMgdG8gZGVmYXVsdCAqLworZXh0ZXJuIHZvaWQgY29sb3JfZmRpc2FibGUoRklMRSAqZik7CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBjb2xvcl9kaXNhYmxlKHZvaWQpCit7CisJY29sb3JfZmRpc2FibGUoc3Rkb3V0KTsKK30KKworI2VuZGlmIC8qIFVUSUxfTElOVVhfQ09MT1JTX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvY3B1c2V0LmggYi9pbmNsdWRlL2NwdXNldC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhNTMxYmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2NwdXNldC5oCkBAIC0wLDAgKzEsOTkgQEAKKy8qCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaWZuZGVmIFVUSUxfTElOVVhfQ1BVU0VUX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9DUFVTRVRfSAorCisjaW5jbHVkZSA8c2NoZWQuaD4KKworLyoKKyAqIEZhbGxiYWNrIGZvciBvbGQgb3Igb2JzY3VyZSBsaWJjcyB3aXRob3V0IGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBjcHVzZXRzCisgKgorICogVGhlIGZvbGxvd2luZyBtYWNyb3MgYXJlIGJhc2VkIG9uIGNvZGUgZnJvbSBnbGliYy4KKyAqCisgKiBUaGUgR05VIEMgTGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKi8KKyNpZiAhSEFWRV9ERUNMX0NQVV9BTExPQworCisjIGRlZmluZSBDUFVfWkVST19TKHNldHNpemUsIGNwdXNldHApIFwKKyAgZG8gewkJCQkJCQkJCSAgICAgIFwKKyAgICBzaXplX3QgX19pOwkJCQkJCQkJICAgICAgXAorICAgIHNpemVfdCBfX2ltYXggPSAoc2V0c2l6ZSkgLyBzaXplb2YgKF9fY3B1X21hc2spOwkJCSAgICAgIFwKKyAgICBfX2NwdV9tYXNrICpfX2JpdHMgPSAoY3B1c2V0cCktPl9fYml0czsJCQkJICAgICAgXAorICAgIGZvciAoX19pID0gMDsgX19pIDwgX19pbWF4OyArK19faSkJCQkJCSAgICAgIFwKKyAgICAgIF9fYml0c1tfX2ldID0gMDsJCQkJCQkJICAgICAgXAorICB9IHdoaWxlICgwKQorCisjIGRlZmluZSBDUFVfU0VUX1MoY3B1LCBzZXRzaXplLCBjcHVzZXRwKSBcCisgICAoeyBzaXplX3QgX19jcHUgPSAoY3B1KTsJCQkJCQkgICAgICBcCisgICAgICBfX2NwdSA8IDggKiAoc2V0c2l6ZSkJCQkJCQkgICAgICBcCisgICAgICA/ICgoKF9fY3B1X21hc2sgKikgKChjcHVzZXRwKS0+X19iaXRzKSlbX19DUFVFTFQgKF9fY3B1KV0JCSAgICAgIFwKKwkgfD0gX19DUFVNQVNLIChfX2NwdSkpCQkJCQkJICAgICAgXAorICAgICAgOiAwOyB9KQorCisjIGRlZmluZSBDUFVfSVNTRVRfUyhjcHUsIHNldHNpemUsIGNwdXNldHApIFwKKyAgICh7IHNpemVfdCBfX2NwdSA9IChjcHUpOwkJCQkJCSAgICAgIFwKKyAgICAgIF9fY3B1IDwgOCAqIChzZXRzaXplKQkJCQkJCSAgICAgIFwKKyAgICAgID8gKCgoKF9fY3B1X21hc2sgKikgKChjcHVzZXRwKS0+X19iaXRzKSlbX19DUFVFTFQgKF9fY3B1KV0JICAgICAgXAorCSAgJiBfX0NQVU1BU0sgKF9fY3B1KSkpICE9IDAJCQkJCSAgICAgIFwKKyAgICAgIDogMDsgfSkKKworIyBkZWZpbmUgQ1BVX0VRVUFMX1Moc2V0c2l6ZSwgY3B1c2V0cDEsIGNwdXNldHAyKSBcCisgICAoeyBfX2NwdV9tYXNrICpfX2FycjEgPSAoY3B1c2V0cDEpLT5fX2JpdHM7CQkJCSAgICAgIFwKKyAgICAgIF9fY3B1X21hc2sgKl9fYXJyMiA9IChjcHVzZXRwMiktPl9fYml0czsJCQkJICAgICAgXAorICAgICAgc2l6ZV90IF9faW1heCA9IChzZXRzaXplKSAvIHNpemVvZiAoX19jcHVfbWFzayk7CQkJICAgICAgXAorICAgICAgc2l6ZV90IF9faTsJCQkJCQkJICAgICAgXAorICAgICAgZm9yIChfX2kgPSAwOyBfX2kgPCBfX2ltYXg7ICsrX19pKQkJCQkgICAgICBcCisJaWYgKF9fYXJyMVtfX2ldICE9IF9fYXJyMltfX2ldKQkJCQkJICAgICAgXAorCSAgYnJlYWs7CQkJCQkJCSAgICAgIFwKKyAgICAgIF9faSA9PSBfX2ltYXg7IH0pCisKK2V4dGVybiBpbnQgX19jcHVzZXRfY291bnRfcyhzaXplX3Qgc2V0c2l6ZSwgY29uc3QgY3B1X3NldF90ICpzZXQpOworIyBkZWZpbmUgQ1BVX0NPVU5UX1Moc2V0c2l6ZSwgY3B1c2V0cCkJX19jcHVzZXRfY291bnRfcyhzZXRzaXplLCBjcHVzZXRwKQorCisjIGRlZmluZSBDUFVfQUxMT0NfU0laRShjb3VudCkgXAorCSAgKCgoKGNvdW50KSArIF9fTkNQVUJJVFMgLSAxKSAvIF9fTkNQVUJJVFMpICogc2l6ZW9mIChfX2NwdV9tYXNrKSkKKyMgZGVmaW5lIENQVV9BTExPQyhjb3VudCkJKG1hbGxvYyhDUFVfQUxMT0NfU0laRShjb3VudCkpKQorIyBkZWZpbmUgQ1BVX0ZSRUUoY3B1c2V0KQkoZnJlZShjcHVzZXQpKQorCisjZW5kaWYgLyogIUhBVkVfREVDTF9DUFVfQUxMT0MgKi8KKworCisjZGVmaW5lIGNwdXNldF9uYml0cyhzZXRzaXplKQkoOCAqIChzZXRzaXplKSkKKworLyoKKyAqIFRoZSBAaWR4IHBhcmFtZXRlciByZXR1cm5zIGFuIGluZGV4IG9mIHRoZSBmaXJzdCBtYXNrIGZyb20gQGFyeSBhcnJheSB3aGVyZQorICogdGhlIEBjcHUgaXMgc2V0LgorICoKKyAqIFJldHVybnM6IDAgaWYgZm91bmQsIG90aGVyd2lzZSAxLgorICovCitzdGF0aWMgaW5saW5lIGludCBjcHVzZXRfYXJ5X2lzc2V0KHNpemVfdCBjcHUsIGNwdV9zZXRfdCAqKmFyeSwgc2l6ZV90IG5tZW1iLAorCQkJCSAgIHNpemVfdCBzZXRzaXplLCBzaXplX3QgKmlkeCkKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBubWVtYjsgaSsrKSB7CisJCWlmIChDUFVfSVNTRVRfUyhjcHUsIHNldHNpemUsIGFyeVtpXSkpIHsKKwkJCSppZHggPSBpOworCQkJcmV0dXJuIDA7CisJCX0KKwl9CisJcmV0dXJuIDE7Cit9CisKK2V4dGVybiBpbnQgZ2V0X21heF9udW1iZXJfb2ZfY3B1cyh2b2lkKTsKKworZXh0ZXJuIGNwdV9zZXRfdCAqY3B1c2V0X2FsbG9jKGludCBuY3B1cywgc2l6ZV90ICpzZXRzaXplLCBzaXplX3QgKm5iaXRzKTsKK2V4dGVybiB2b2lkIGNwdXNldF9mcmVlKGNwdV9zZXRfdCAqc2V0KTsKKworZXh0ZXJuIGNoYXIgKmNwdWxpc3RfY3JlYXRlKGNoYXIgKnN0ciwgc2l6ZV90IGxlbiwgY3B1X3NldF90ICpzZXQsIHNpemVfdCBzZXRzaXplKTsKK2V4dGVybiBpbnQgY3B1bGlzdF9wYXJzZShjb25zdCBjaGFyICpzdHIsIGNwdV9zZXRfdCAqc2V0LCBzaXplX3Qgc2V0c2l6ZSwgaW50IGZhaWwpOworCitleHRlcm4gY2hhciAqY3B1bWFza19jcmVhdGUoY2hhciAqc3RyLCBzaXplX3QgbGVuLCBjcHVfc2V0X3QgKnNldCwgc2l6ZV90IHNldHNpemUpOworZXh0ZXJuIGludCBjcHVtYXNrX3BhcnNlKGNvbnN0IGNoYXIgKnN0ciwgY3B1X3NldF90ICpzZXQsIHNpemVfdCBzZXRzaXplKTsKKworI2VuZGlmIC8qIFVUSUxfTElOVVhfQ1BVU0VUX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvY3JjMzIuaCBiL2luY2x1ZGUvY3JjMzIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTUxZjUwCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9jcmMzMi5oCkBAIC0wLDAgKzEsMTIgQEAKKyNpZm5kZWYgVUxfTkdfQ1JDMzJfSAorI2RlZmluZSBVTF9OR19DUkMzMl9ICisKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworZXh0ZXJuIHVpbnQzMl90IHVsX2NyYzMyKHVpbnQzMl90IHNlZWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbik7CitleHRlcm4gdWludDMyX3QgdWxfY3JjMzJfZXhjbHVkZV9vZmZzZXQodWludDMyX3Qgc2VlZCwgY29uc3QgdW5zaWduZWQgY2hhciAqYnVmLCBzaXplX3QgbGVuLAorCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgZXhjbHVkZV9vZmYsIHNpemVfdCBleGNsdWRlX2xlbik7CisKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RlYnVnLmggYi9pbmNsdWRlL2RlYnVnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTdjMGUxZgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvZGVidWcuaApAQCAtMCwwICsxLDE3OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBPbmRyZWogT3ByYWxhIDxvb3ByYWxhQHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpZm5kZWYgVVRJTF9MSU5VWF9ERUJVR19ICisjZGVmaW5lIFVUSUxfTElOVVhfREVCVUdfSAorCisKKy8qCisgKiB1dGlsLWxpbnV4IGRlYnVnIG1hY3JvcworICoKKyAqIFRoZSBkZWJ1ZyBzdHVmZiBpcyBiYXNlZCBvbiA8bmFtZT5fZGVidWdfbWFzayB0aGF0IGNvbnRyb2xzIHdoYXQgb3V0cHV0cyBpcworICogZXhwZWN0ZWQuIFRoZSBtYXNrIGlzIHVzdWFsbHkgaW5pdGlhbGl6ZWQgYnkgPE5BTUU+X0RFQlVHPSBlbnYudmFyaWFibGUKKyAqCisgKiBBZnRlciBzdWNjZXNzZnVsIGluaXRpYWxpemF0aW9uIHRoZSBmbGFnIDxQUkVGSVg+X0RFQlVHX0lOSVQgaXMgYWx3YXlzIHNldAorICogdG8gdGhlIG1hc2sgKHRoaXMgZmxhZyBpcyByZXF1aXJlZCkuIFRoZSA8UFJFRklYPiBpcyB1c3VhbGx5IGxpYnJhcnkgQVBJCisgKiBwcmVmaXggKGUuZy4gTU5UXykgb3IgcHJvZ3JhbSBuYW1lIChlLmcuIENGRElTS18pCisgKgorICogSW4gdGhlIGNvZGUgaXMgcG9zc2libGUgdG8gdXNlCisgKgorICoJREJHKEZPTywgdWxfZGVidWcoInRoaXMgaXMgb3V0cHV0IGZvciBmb28iKSk7CisgKgorICogd2hlcmUgZm9yIHRoZSBGT08gaGFzIHRvIGJlIGRlZmluZWQgPFBSRUZJWD5fREVCVUdfRk9PLgorICoKKyAqIEl0J3MgcG9zc2libGUgdG8gaW5pdGlhbGl6ZSB0aGUgbWFzayBieSBjb21tYSBkZWxpbWl0ZWQgc3RyaW5ncyB3aXRoCisgKiBzdWJzeXN0ZW0gbmFtZXMgKGUuZy4gIkxJQk1PVU5UX0RFQlVHPW9wdGlvbnMsdGFiIikuIEluIHRoaXMgY2FzZSBpcworICogbmVjZXNzYXJ5IHRvIGRlZmluZSBtYXNrIG5hbWVzIGFycmF5LiBUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgb3B0aW9uYWwuCisgKgorICogSXQncyBzdHJvbmdseSByZWNvbW1lbmRlZCB0byB1c2UgVUxfKiBtYWNyb3MgdG8gZGVmaW5lL2RlY2xhcmUvdXNlCisgKiB0aGUgZGVidWcgc3R1ZmYuCisgKgorICogU2VlIGRpc2stdXRpbHMvY2ZkaXNrLmM6IGNmZGlza19pbml0X2RlYnVnKCkgIGZvciBwcm9ncmFtcyBkZWJ1ZworICogIG9yIGxpYm1vdW50L3NyYy9pbml0LmM6IG1udF9pbml0X2RlYnVnKCkgICAgIGZvciBsaWJyYXJ5IGRlYnVnCisgKgorICovCisKKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworc3RydWN0IHVsX2RlYnVnX21hc2tuYW1lIHsKKwljb25zdCBjaGFyICpuYW1lOworCWludCBtYXNrOworCWNvbnN0IGNoYXIgKmhlbHA7Cit9OworI2RlZmluZSBVTF9ERUJVR19FTVBUWV9NQVNLTkFNRVMge3sgTlVMTCwgMCwgTlVMTCB9fQorI2RlZmluZSBVTF9ERUJVR19ERUZJTkVfTUFTS05BTUVTKG0pIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdWxfZGVidWdfbWFza25hbWUgbSAjIyBfbWFza25hbWVzW10KKyNkZWZpbmUgVUxfREVCVUdfTUFTS05BTUVTKG0pCW0gIyMgX21hc2tuYW1lcworCisjZGVmaW5lIFVMX0RFQlVHX0RFRklORV9NQVNLKG0pIGludCBtICMjIF9kZWJ1Z19tYXNrCisjZGVmaW5lIFVMX0RFQlVHX0RFQ0xBUkVfTUFTSyhtKSBleHRlcm4gVUxfREVCVUdfREVGSU5FX01BU0sobSkKKworLyogcCAtIGZsYWcgcHJlZml4LCBtIC0gZmxhZyBwb3N0Zml4ICovCisjZGVmaW5lIFVMX0RFQlVHX0RFRklORV9GTEFHKHAsIG0pIHAgIyMgbQorCisvKiBsIC0gbGlicmFyeSBuYW1lLCBwIC0gZmxhZyBwcmVmaXgsIG0gLSBmbGFnIHBvc3RmaXgsIHggLSBmdW5jdGlvbiAqLworI2RlZmluZSBfX1VMX0RCRyhsLCBwLCBtLCB4KSBcCisJZG8geyBcCisJCWlmICgocCAjIyBtKSAmIGwgIyMgX2RlYnVnX21hc2spIHsgXAorCQkJZnByaW50ZihzdGRlcnIsICIlZDogJXM6ICU4czogIiwgZ2V0cGlkKCksICMgbCwgIyBtKTsgXAorCQkJeDsgXAorCQl9IFwKKwl9IHdoaWxlICgwKQorCisjZGVmaW5lIF9fVUxfREJHX0NBTEwobCwgcCwgbSwgeCkgXAorCWRvIHsgXAorCQlpZiAoKHAgIyMgbSkgJiBsICMjIF9kZWJ1Z19tYXNrKSB7IFwKKwkJCXg7IFwKKwkJfSBcCisJfSB3aGlsZSAoMCkKKworI2RlZmluZSBfX1VMX0RCR19GTFVTSChsLCBwKSBcCisJZG8geyBcCisJCWlmIChsICMjIF9kZWJ1Z19tYXNrICYmIFwKKwkJICAgIGwgIyMgX2RlYnVnX21hc2sgIT0gcCAjIyBJTklUKSB7IFwKKwkJCWZmbHVzaChzdGRlcnIpOyBcCisJCX0gXAorCX0gd2hpbGUgKDApCisKKworI2RlZmluZSBfX1VMX0lOSVRfREVCVUcobGliLCBwcmVmLCBtYXNrLCBlbnYpIFwKKwlkbyB7IFwKKwkJaWYgKGxpYiAjIyBfZGVidWdfbWFzayAmIHByZWYgIyMgSU5JVCkgXAorCQk7IFwKKwkJZWxzZSBpZiAoIW1hc2spIHsgXAorCQkJY2hhciAqc3RyID0gZ2V0ZW52KCMgZW52KTsgXAorCQkJaWYgKHN0cikgXAorCQkJCWxpYiAjIyBfZGVidWdfbWFzayA9IHVsX2RlYnVnX3BhcnNlX2Vudm1hc2sobGliICMjIF9tYXNrbmFtZXMsIHN0cik7IFwKKwkJfSBlbHNlIFwKKwkJCWxpYiAjIyBfZGVidWdfbWFzayA9IG1hc2s7IFwKKwkJbGliICMjIF9kZWJ1Z19tYXNrIHw9IHByZWYgIyMgSU5JVDsgXAorCX0gd2hpbGUgKDApCisKKworc3RhdGljIGlubGluZSB2b2lkIF9fYXR0cmlidXRlX18gKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAxLCAyKSkpCit1bF9kZWJ1Zyhjb25zdCBjaGFyICptZXNnLCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKwl2YV9zdGFydChhcCwgbWVzZyk7CisJdmZwcmludGYoc3RkZXJyLCBtZXNnLCBhcCk7CisJdmFfZW5kKGFwKTsKKwlmcHV0YygnXG4nLCBzdGRlcnIpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0X18gKF9fcHJpbnRmX18sIDIsIDMpKSkKK3VsX2RlYnVnb2JqKGNvbnN0IHZvaWQgKmhhbmRsZXIsIGNvbnN0IGNoYXIgKm1lc2csIC4uLikKK3sKKwl2YV9saXN0IGFwOworCisJaWYgKGhhbmRsZXIpCisJCWZwcmludGYoc3RkZXJyLCAiWyVwXTogIiwgaGFuZGxlcik7CisJdmFfc3RhcnQoYXAsIG1lc2cpOworCXZmcHJpbnRmKHN0ZGVyciwgbWVzZywgYXApOworCXZhX2VuZChhcCk7CisJZnB1dGMoJ1xuJywgc3RkZXJyKTsKK30KKworc3RhdGljIGlubGluZSBpbnQgdWxfZGVidWdfcGFyc2VfZW52bWFzaygKKwkJCWNvbnN0IHN0cnVjdCB1bF9kZWJ1Z19tYXNrbmFtZSBmbGFnbmFtZXNbXSwKKwkJCWNvbnN0IGNoYXIgKm1hc2spCit7CisJaW50IHJlczsKKwljaGFyICpwdHI7CisKKwkvKiBsZXQncyBjaGVjayBmb3IgYSBudW1lcmljIG1hc2sgZmlyc3QgKi8KKwlyZXMgPSBzdHJ0b3VsKG1hc2ssICZwdHIsIDApOworCisJLyogcGVyaGFwcyBpdCdzIGEgY29tbWEtc2VwYXJhdGVkIHN0cmluZz8gKi8KKwlpZiAocHRyICYmICpwdHIgJiYgZmxhZ25hbWVzICYmIGZsYWduYW1lc1swXS5uYW1lKSB7CisJCWNoYXIgKm1zYnVmLCAqbXMsICpuYW1lOworCQlyZXMgPSAwOworCisJCW1zID0gbXNidWYgPSBzdHJkdXAobWFzayk7CisJCWlmICghbXMpCisJCQlyZXR1cm4gcmVzOworCisJCXdoaWxlICgobmFtZSA9IHN0cnRva19yKG1zLCAiLCIsICZwdHIpKSkgeworCQkJY29uc3Qgc3RydWN0IHVsX2RlYnVnX21hc2tuYW1lICpkOworCQkJbXMgPSBwdHI7CisKKwkJCWZvciAoZCA9IGZsYWduYW1lczsgZCAmJiBkLT5uYW1lOyBkKyspIHsKKwkJCQlpZiAoc3RyY21wKG5hbWUsIGQtPm5hbWUpID09IDApIHsKKwkJCQkJcmVzIHw9IGQtPm1hc2s7CisJCQkJCWJyZWFrOworCQkJCX0KKwkJCX0KKwkJCS8qIG5vdGhpbmcgZWxzZSB3ZSBjYW4gZG8gYnkgT1ItaW5nIHRoZSBtYXNrICovCisJCQlpZiAocmVzID09IDB4ZmZmZikKKwkJCQlicmVhazsKKwkJfQorCQlmcmVlKG1zYnVmKTsKKwl9IGVsc2UgaWYgKHB0ciAmJiBzdHJjbXAocHRyLCAiYWxsIikgPT0gMCkKKwkJcmVzID0gMHhmZmZmOworCisJcmV0dXJuIHJlczsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHVsX2RlYnVnX3ByaW50X21hc2tzKAorCQkJY29uc3QgY2hhciAqZW52LAorCQkJY29uc3Qgc3RydWN0IHVsX2RlYnVnX21hc2tuYW1lIGZsYWduYW1lc1tdKQoreworCWNvbnN0IHN0cnVjdCB1bF9kZWJ1Z19tYXNrbmFtZSAqZDsKKworCWlmICghZmxhZ25hbWVzKQorCQlyZXR1cm47CisKKwlmcHJpbnRmKHN0ZGVyciwgIkF2YWlsYWJsZSBcIiVzPTxuYW1lPlssLi4uXXw8bWFzaz5cIiBkZWJ1ZyBtYXNrczpcbiIsCisJCQllbnYpOworCWZvciAoZCA9IGZsYWduYW1lczsgZCAmJiBkLT5uYW1lOyBkKyspIHsKKwkJaWYgKCFkLT5oZWxwKQorCQkJY29udGludWU7CisJCWZwcmludGYoc3RkZXJyLCAiICAgJS04cyBbMHglMDR4XSA6ICVzXG4iLAorCQkJCWQtPm5hbWUsIGQtPm1hc2ssIGQtPmhlbHApOworCX0KK30KKworI2VuZGlmIC8qIFVUSUxfTElOVVhfREVCVUdfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9lbnYuaCBiL2luY2x1ZGUvZW52LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGI2Zjk1OQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvZW52LmgKQEAgLTAsMCArMSwyMiBAQAorI2lmbmRlZiBVVElMX0xJTlVYX0VOVl9ICisjZGVmaW5lIFVUSUxfTElOVVhfRU5WX0gKKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKworZXh0ZXJuIHZvaWQgc2FuaXRpemVfZW52KHZvaWQpOworZXh0ZXJuIGNoYXIgKnNhZmVfZ2V0ZW52KGNvbnN0IGNoYXIgKmFyZyk7CisKKworI2lmbmRlZiBYU0VURU5WX0VYSVRfQ09ERQorIyBkZWZpbmUgWFNFVEVOVl9FWElUX0NPREUgRVhJVF9GQUlMVVJFCisjZW5kaWYKKworc3RhdGljIGlubGluZSB2b2lkIHhzZXRlbnYoY2hhciBjb25zdCAqbmFtZSwgY2hhciBjb25zdCAqdmFsLCBpbnQgb3ZlcndyaXRlKQoreworCWlmIChzZXRlbnYobmFtZSwgdmFsLCBvdmVyd3JpdGUpICE9IDApCisJCWVycihYU0VURU5WX0VYSVRfQ09ERSwgXygiZmFpbGVkIHRvIHNldCB0aGUgJXMgZW52aXJvbm1lbnQgdmFyaWFibGUiKSwgbmFtZSk7Cit9CisKKyNlbmRpZiAvKiBVVElMX0xJTlVYX0VOVl9IICovCisKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZXhlY19zaGVsbC5oIGIvaW5jbHVkZS9leGVjX3NoZWxsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTJhYTc1NwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvZXhlY19zaGVsbC5oCkBAIC0wLDAgKzEgQEAKK2V4dGVybiB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIGV4ZWNfc2hlbGwodm9pZCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2V4aXRjb2Rlcy5oIGIvaW5jbHVkZS9leGl0Y29kZXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNGVlMTIzCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9leGl0Y29kZXMuaApAQCAtMCwwICsxLDM1IEBACisjaWZuZGVmIFVUSUxfTElOVVhfRVhJVENPREVTX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9FWElUQ09ERVNfSAorLyoKKyAqIEJFIENBUkVGVUwKKyAqCisgKiBUaGVzZSBleGl0IGNvZGVzIGFyZSBwYXJ0IG9mIHRoZSBvZmZpY2lhbCBpbnRlcmZhY2UgZm9yIG1vdW50LAorICogZnNjaywgbWtmcywgZXRjLiB3cmFwcGVycy4KKyAqLworCisvKiBFeGl0IGNvZGVzIHVzZWQgYnkgbWtmcy10eXBlIHByb2dyYW1zICovCisjZGVmaW5lIE1LRlNfRVhfT0sJMAkvKiBObyBlcnJvcnMgKi8KKyNkZWZpbmUgTUtGU19FWF9FUlJPUgk4CS8qIE9wZXJhdGlvbmFsIGVycm9yICovCisjZGVmaW5lIE1LRlNfRVhfVVNBR0UJMTYJLyogVXNhZ2Ugb3Igc3ludGF4IGVycm9yICovCisKKy8qIEV4aXQgY29kZXMgdXNlZCBieSBmc2NrLXR5cGUgcHJvZ3JhbXMgKi8KKyNkZWZpbmUgRlNDS19FWF9PSwkJMAkvKiBObyBlcnJvcnMgKi8KKyNkZWZpbmUgRlNDS19FWF9OT05ERVNUUlVDVAkxCS8qIEZpbGUgc3lzdGVtIGVycm9ycyBjb3JyZWN0ZWQgKi8KKyNkZWZpbmUgRlNDS19FWF9SRUJPT1QJCTIJLyogU3lzdGVtIHNob3VsZCBiZSByZWJvb3RlZCAqLworI2RlZmluZSBGU0NLX0VYX0RFU1RSVUNUCUZTQ0tfRVhfUkVCT09UCS8qIEFsaWFzICovCisjZGVmaW5lIEZTQ0tfRVhfVU5DT1JSRUNURUQJNAkvKiBGaWxlIHN5c3RlbSBlcnJvcnMgbGVmdCB1bmNvcnJlY3RlZCAqLworI2RlZmluZSBGU0NLX0VYX0VSUk9SCQk4CS8qIE9wZXJhdGlvbmFsIGVycm9yICovCisjZGVmaW5lIEZTQ0tfRVhfVVNBR0UJCTE2CS8qIFVzYWdlIG9yIHN5bnRheCBlcnJvciAqLworI2RlZmluZSBGU0NLX0VYX0xJQlJBUlkJCTEyOAkvKiBTaGFyZWQgbGlicmFyeSBlcnJvciAqLworCisvKiBFeGl0IGNvZGVzIHVzZWQgYnkgbW91bnQtbGluZSBwcm9ncmFtcyAqLworI2RlZmluZSBNT1VOVF9FWF9TVUNDRVNTCTAJLyogTm8gZXJyb3JzICovCisjZGVmaW5lIE1PVU5UX0VYX1VTQUdFCQkxCS8qIGluY29ycmVjdCBpbnZvY2F0aW9uIG9yIHBlcm1pc3Npb24gKi8KKyNkZWZpbmUgTU9VTlRfRVhfU1lTRVJSCQkyCS8qIG91dCBvZiBtZW1vcnksIGNhbm5vdCBmb3JrLCAuLi4gKi8KKyNkZWZpbmUgTU9VTlRfRVhfU09GVFdBUkUJNAkvKiBpbnRlcm5hbCBtb3VudCBidWcgb3Igd3JvbmcgdmVyc2lvbiAqLworI2RlZmluZSBNT1VOVF9FWF9VU0VSCQk4CS8qIHVzZXIgaW50ZXJydXB0ICovCisjZGVmaW5lIE1PVU5UX0VYX0ZJTEVJTwkJMTYJLyogcHJvYmxlbXMgd3JpdGluZywgbG9ja2luZywgLi4uIG10YWIvZnN0YWIgKi8KKyNkZWZpbmUgTU9VTlRfRVhfRkFJTAkJMzIJLyogbW91bnQgZmFpbHVyZSAqLworI2RlZmluZSBNT1VOVF9FWF9TT01FT0sJCTY0CS8qIHNvbWUgbW91bnQgc3VjY2VlZGVkICovCisKKyNlbmRpZgkvKiBVVElMX0xJTlVYX0VYSVRDT0RFU19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2ZpbGV1dGlscy5oIGIvaW5jbHVkZS9maWxldXRpbHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YTdlNjYyCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9maWxldXRpbHMuaApAQCAtMCwwICsxLDYwIEBACisjaWZuZGVmIFVUSUxfTElOVVhfRklMRVVUSUxTCisjZGVmaW5lIFVUSUxfTElOVVhfRklMRVVUSUxTCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKworI2luY2x1ZGUgImMuaCIKKworZXh0ZXJuIGludCBta3N0ZW1wX2Nsb2V4ZWMoY2hhciAqdGVtcGxhdGUpOworCitleHRlcm4gaW50IHhta3N0ZW1wKGNoYXIgKip0bXBuYW1lLCBjb25zdCBjaGFyICpkaXIsIGNvbnN0IGNoYXIgKnByZWZpeCk7CisKK3N0YXRpYyBpbmxpbmUgRklMRSAqeGZta3N0ZW1wKGNoYXIgKip0bXBuYW1lLCBjb25zdCBjaGFyICpkaXIsIGNvbnN0IGNoYXIgKnByZWZpeCkKK3sKKwlpbnQgZmQ7CisJRklMRSAqcmV0OworCisJZmQgPSB4bWtzdGVtcCh0bXBuYW1lLCBkaXIsIHByZWZpeCk7CisJaWYgKGZkID09IC0xKQorCQlyZXR1cm4gTlVMTDsKKworCWlmICghKHJldCA9IGZkb3BlbihmZCwgIncrIiBVTF9DTE9FWEVDU1RSKSkpIHsKKwkJY2xvc2UoZmQpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmV0dXJuIHJldDsKK30KKworI2lmZGVmIEhBVkVfT1BFTkFUCitzdGF0aWMgaW5saW5lIEZJTEUgKmZvcGVuX2F0KGludCBkaXIsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZmxhZ3MsIGNvbnN0IGNoYXIgKm1vZGUpCit7CisJaW50IGZkID0gb3BlbmF0KGRpciwgZmlsZW5hbWUsIGZsYWdzKTsKKwlpZiAoZmQgPCAwKQorCQlyZXR1cm4gTlVMTDsKKworCXJldHVybiBmZG9wZW4oZmQsIG1vZGUpOworfQorI2VuZGlmCisKK3N0YXRpYyBpbmxpbmUgaW50IGlzX3NhbWVfaW5vZGUoY29uc3QgaW50IGZkLCBjb25zdCBzdHJ1Y3Qgc3RhdCAqc3QpCit7CisJc3RydWN0IHN0YXQgZjsKKworCWlmIChmc3RhdChmZCwgJmYpIDwgMCkKKwkJcmV0dXJuIDA7CisJZWxzZSBpZiAoZi5zdF9kZXYgIT0gc3QtPnN0X2RldiB8fCBmLnN0X2lubyAhPSBzdC0+c3RfaW5vKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gMTsKK30KKworZXh0ZXJuIGludCBkdXBfZmRfY2xvZXhlYyhpbnQgb2xkZmQsIGludCBsb3dmZCk7CitleHRlcm4gaW50IGdldF9mZF90YWJzaXplKHZvaWQpOworCitleHRlcm4gaW50IG1rZGlyX3AoY29uc3QgY2hhciAqcGF0aCwgbW9kZV90IG1vZGUpOworZXh0ZXJuIGNoYXIgKnN0cmlwb2ZmX2xhc3RfY29tcG9uZW50KGNoYXIgKnBhdGgpOworCisjZW5kaWYgLyogVVRJTF9MSU5VWF9GSUxFVVRJTFMgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvaWRjYWNoZS5oIGIvaW5jbHVkZS9pZGNhY2hlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTEyZWRkNQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvaWRjYWNoZS5oCkBAIC0wLDAgKzEsMjggQEAKKyNpZm5kZWYgVVRJTF9MSU5VWF9JRENBQ0hFX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9JRENBQ0hFX0gKKworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHB3ZC5oPgorCisjZGVmaW5lIElEQ0FDSEVfRkxBR1NfTkFNRUxFTgkoMSA8PCAxKQorCitzdHJ1Y3QgaWRlbnRyeSB7CisJdW5zaWduZWQgbG9uZyBpbnQJaWQ7CisJY2hhcgkJCSpuYW1lOworCXN0cnVjdCBpZGVudHJ5CQkqbmV4dDsKK307CisKK3N0cnVjdCBpZGNhY2hlIHsKKwlzdHJ1Y3QgaWRlbnRyeQkqZW50OwkvKiBmaXJzdCBlbnRyeSAqLworCWludAkJd2lkdGg7CS8qIG5hbWUgd2lkdGggKi8KK307CisKKworZXh0ZXJuIHN0cnVjdCBpZGNhY2hlICpuZXdfaWRjYWNoZSh2b2lkKTsKK2V4dGVybiB2b2lkIGFkZF9naWQoc3RydWN0IGlkY2FjaGUgKmNhY2hlLCB1bnNpZ25lZCBsb25nIGludCBpZCk7CitleHRlcm4gdm9pZCBhZGRfdWlkKHN0cnVjdCBpZGNhY2hlICpjYWNoZSwgdW5zaWduZWQgbG9uZyBpbnQgaWQpOworCitleHRlcm4gdm9pZCBmcmVlX2lkY2FjaGUoc3RydWN0IGlkY2FjaGUgKmljKTsKK2V4dGVybiBzdHJ1Y3QgaWRlbnRyeSAqZ2V0X2lkKHN0cnVjdCBpZGNhY2hlICppYywgdW5zaWduZWQgbG9uZyBpbnQgaWQpOworCisjZW5kaWYgLyogVVRJTF9MSU5VWF9JRENBQ0hFX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvaXNtb3VudGVkLmggYi9pbmNsdWRlL2lzbW91bnRlZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3OTE4Y2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2lzbW91bnRlZC5oCkBAIC0wLDAgKzEsMTQgQEAKKyNpZm5kZWYgSVNfTU9VTlRFRF9ICisjZGVmaW5lIElTX01PVU5URURfSAorCisjZGVmaW5lIE1GX01PVU5URUQJMQorI2RlZmluZSBNRl9JU1JPT1QJMgorI2RlZmluZSBNRl9SRUFET05MWQk0CisjZGVmaW5lIE1GX1NXQVAJCTgKKyNkZWZpbmUgTUZfQlVTWQkJMTYKKworZXh0ZXJuIGludCBpc19tb3VudGVkKGNvbnN0IGNoYXIgKmZpbGUpOworZXh0ZXJuIGludCBjaGVja19tb3VudF9wb2ludChjb25zdCBjaGFyICpkZXZpY2UsIGludCAqbW91bnRfZmxhZ3MsCisJCQkJIGNoYXIgKm10cHQsIGludCBtdGxlbik7CisKKyNlbmRpZiAvKiBJU19NT1VOVEVEX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXhfdmVyc2lvbi5oIGIvaW5jbHVkZS9saW51eF92ZXJzaW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTZhMWU5OQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvbGludXhfdmVyc2lvbi5oCkBAIC0wLDAgKzEsMTQgQEAKKyNpZm5kZWYgTElOVVhfVkVSU0lPTl9ICisjZGVmaW5lIExJTlVYX1ZFUlNJT05fSAorCisjaWZkZWYgSEFWRV9MSU5VWF9WRVJTSU9OX0gKKyMgaW5jbHVkZSA8bGludXgvdmVyc2lvbi5oPgorI2VuZGlmCisKKyNpZm5kZWYgS0VSTkVMX1ZFUlNJT04KKyMgZGVmaW5lIEtFUk5FTF9WRVJTSU9OKGEsYixjKSAoKChhKSA8PCAxNikgKyAoKGIpIDw8IDgpICsgKGMpKQorI2VuZGlmCisKK2ludCBnZXRfbGludXhfdmVyc2lvbih2b2lkKTsKKworI2VuZGlmIC8qIExJTlVYX1ZFUlNJT05fSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saXN0LmggYi9pbmNsdWRlL2xpc3QuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzA4YWE1Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9saXN0LmgKQEAgLTAsMCArMSwzNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDE5OTktMjAwOCBieSBUaGVvZG9yZSBUcydvCisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqCisgKiAoYmFzZWQgb24gbGlzdC5oIGZyb20gZTJmc3Byb2dzKQorICogTWVyZ2Ugc29ydCBiYXNlZCBvbiBrZXJuZWwncyBpbXBsZW1lbnRhdGlvbi4KKyAqLworCisjaWZuZGVmIFVUSUxfTElOVVhfTElTVF9ICisjZGVmaW5lIFVUSUxfTElOVVhfTElTVF9ICisKKy8qIFRPRE86IHVzZSBBQ19DX0lOTElORSAqLworI2lmZGVmIF9fR05VQ19fCisjZGVmaW5lIF9JTkxJTkVfIHN0YXRpYyBfX2lubGluZV9fCisjZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAvKiBGb3IgV2F0Y29tIEMgKi8KKyNkZWZpbmUgX0lOTElORV8gc3RhdGljIGlubGluZQorI2VuZGlmCisKKy8qCisgKiBTaW1wbGUgZG91Ymx5IGxpbmtlZCBsaXN0IGltcGxlbWVudGF0aW9uLgorICoKKyAqIFNvbWUgb2YgdGhlIGludGVybmFsIGZ1bmN0aW9ucyAoIl9feHh4IikgYXJlIHVzZWZ1bCB3aGVuCisgKiBtYW5pcHVsYXRpbmcgd2hvbGUgbGlzdHMgcmF0aGVyIHRoYW4gc2luZ2xlIGVudHJpZXMsIGFzCisgKiBzb21ldGltZXMgd2UgYWxyZWFkeSBrbm93IHRoZSBuZXh0L3ByZXYgZW50cmllcyBhbmQgd2UgY2FuCisgKiBnZW5lcmF0ZSBiZXR0ZXIgY29kZSBieSB1c2luZyB0aGVtIGRpcmVjdGx5IHJhdGhlciB0aGFuCisgKiB1c2luZyB0aGUgZ2VuZXJpYyBzaW5nbGUtZW50cnkgcm91dGluZXMuCisgKi8KKworc3RydWN0IGxpc3RfaGVhZCB7CisJc3RydWN0IGxpc3RfaGVhZCAqbmV4dCwgKnByZXY7Cit9OworCisjZGVmaW5lIExJU1RfSEVBRF9JTklUKG5hbWUpIHsgJihuYW1lKSwgJihuYW1lKSB9CisKKyNkZWZpbmUgTElTVF9IRUFEKG5hbWUpIFwKKwlzdHJ1Y3QgbGlzdF9oZWFkIG5hbWUgPSBMSVNUX0hFQURfSU5JVChuYW1lKQorCisjZGVmaW5lIElOSVRfTElTVF9IRUFEKHB0cikgZG8geyBcCisJKHB0ciktPm5leHQgPSAocHRyKTsgKHB0ciktPnByZXYgPSAocHRyKTsgXAorfSB3aGlsZSAoMCkKKworLyoKKyAqIEluc2VydCBhIG5ldyBlbnRyeSBiZXR3ZWVuIHR3byBrbm93biBjb25zZWN1dGl2ZSBlbnRyaWVzLgorICoKKyAqIFRoaXMgaXMgb25seSBmb3IgaW50ZXJuYWwgbGlzdCBtYW5pcHVsYXRpb24gd2hlcmUgd2Uga25vdworICogdGhlIHByZXYvbmV4dCBlbnRyaWVzIGFscmVhZHkhCisgKi8KK19JTkxJTkVfIHZvaWQgX19saXN0X2FkZChzdHJ1Y3QgbGlzdF9oZWFkICogYWRkLAorCXN0cnVjdCBsaXN0X2hlYWQgKiBwcmV2LAorCXN0cnVjdCBsaXN0X2hlYWQgKiBuZXh0KQoreworCW5leHQtPnByZXYgPSBhZGQ7CisJYWRkLT5uZXh0ID0gbmV4dDsKKwlhZGQtPnByZXYgPSBwcmV2OworCXByZXYtPm5leHQgPSBhZGQ7Cit9CisKKy8qKgorICogbGlzdF9hZGQgLSBhZGQgYSBuZXcgZW50cnkKKyAqIEBhZGQ6CW5ldyBlbnRyeSB0byBiZSBhZGRlZAorICogQGhlYWQ6CWxpc3QgaGVhZCB0byBhZGQgaXQgYWZ0ZXIKKyAqCisgKiBJbnNlcnQgYSBuZXcgZW50cnkgYWZ0ZXIgdGhlIHNwZWNpZmllZCBoZWFkLgorICogVGhpcyBpcyBnb29kIGZvciBpbXBsZW1lbnRpbmcgc3RhY2tzLgorICovCitfSU5MSU5FXyB2b2lkIGxpc3RfYWRkKHN0cnVjdCBsaXN0X2hlYWQgKmFkZCwgc3RydWN0IGxpc3RfaGVhZCAqaGVhZCkKK3sKKwlfX2xpc3RfYWRkKGFkZCwgaGVhZCwgaGVhZC0+bmV4dCk7Cit9CisKKy8qKgorICogbGlzdF9hZGRfdGFpbCAtIGFkZCBhIG5ldyBlbnRyeQorICogQGFkZDoJbmV3IGVudHJ5IHRvIGJlIGFkZGVkCisgKiBAaGVhZDoJbGlzdCBoZWFkIHRvIGFkZCBpdCBiZWZvcmUKKyAqCisgKiBJbnNlcnQgYSBuZXcgZW50cnkgYmVmb3JlIHRoZSBzcGVjaWZpZWQgaGVhZC4KKyAqIFRoaXMgaXMgdXNlZnVsIGZvciBpbXBsZW1lbnRpbmcgcXVldWVzLgorICovCitfSU5MSU5FXyB2b2lkIGxpc3RfYWRkX3RhaWwoc3RydWN0IGxpc3RfaGVhZCAqYWRkLCBzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkKQoreworCV9fbGlzdF9hZGQoYWRkLCBoZWFkLT5wcmV2LCBoZWFkKTsKK30KKworLyoKKyAqIERlbGV0ZSBhIGxpc3QgZW50cnkgYnkgbWFraW5nIHRoZSBwcmV2L25leHQgZW50cmllcworICogcG9pbnQgdG8gZWFjaCBvdGhlci4KKyAqCisgKiBUaGlzIGlzIG9ubHkgZm9yIGludGVybmFsIGxpc3QgbWFuaXB1bGF0aW9uIHdoZXJlIHdlIGtub3cKKyAqIHRoZSBwcmV2L25leHQgZW50cmllcyBhbHJlYWR5IQorICovCitfSU5MSU5FXyB2b2lkIF9fbGlzdF9kZWwoc3RydWN0IGxpc3RfaGVhZCAqIHByZXYsCisJCQkJICBzdHJ1Y3QgbGlzdF9oZWFkICogbmV4dCkKK3sKKwluZXh0LT5wcmV2ID0gcHJldjsKKwlwcmV2LT5uZXh0ID0gbmV4dDsKK30KKworLyoqCisgKiBsaXN0X2RlbCAtIGRlbGV0ZXMgZW50cnkgZnJvbSBsaXN0LgorICogQGVudHJ5Ogl0aGUgZWxlbWVudCB0byBkZWxldGUgZnJvbSB0aGUgbGlzdC4KKyAqCisgKiBsaXN0X2VtcHR5KCkgb24gQGVudHJ5IGRvZXMgbm90IHJldHVybiB0cnVlIGFmdGVyIHRoaXMsIEBlbnRyeSBpcworICogaW4gYW4gdW5kZWZpbmVkIHN0YXRlLgorICovCitfSU5MSU5FXyB2b2lkIGxpc3RfZGVsKHN0cnVjdCBsaXN0X2hlYWQgKmVudHJ5KQoreworCV9fbGlzdF9kZWwoZW50cnktPnByZXYsIGVudHJ5LT5uZXh0KTsKK30KKworLyoqCisgKiBsaXN0X2RlbF9pbml0IC0gZGVsZXRlcyBlbnRyeSBmcm9tIGxpc3QgYW5kIHJlaW5pdGlhbGl6ZSBpdC4KKyAqIEBlbnRyeToJdGhlIGVsZW1lbnQgdG8gZGVsZXRlIGZyb20gdGhlIGxpc3QuCisgKi8KK19JTkxJTkVfIHZvaWQgbGlzdF9kZWxfaW5pdChzdHJ1Y3QgbGlzdF9oZWFkICplbnRyeSkKK3sKKwlfX2xpc3RfZGVsKGVudHJ5LT5wcmV2LCBlbnRyeS0+bmV4dCk7CisJSU5JVF9MSVNUX0hFQUQoZW50cnkpOworfQorCisvKioKKyAqIGxpc3RfZW1wdHkgLSB0ZXN0cyB3aGV0aGVyIGEgbGlzdCBpcyBlbXB0eQorICogQGhlYWQ6CXRoZSBsaXN0IHRvIHRlc3QuCisgKi8KK19JTkxJTkVfIGludCBsaXN0X2VtcHR5KHN0cnVjdCBsaXN0X2hlYWQgKmhlYWQpCit7CisJcmV0dXJuIGhlYWQtPm5leHQgPT0gaGVhZDsKK30KKworLyoqCisgKiBsaXN0X2VudHJ5X2lzX2xhc3QgLSB0ZXN0cyB3aGV0aGVyIGlzIGVudHJ5IGxhc3QgaW4gdGhlIGxpc3QKKyAqIEBlbnRyeToJdGhlIGVudHJ5IHRvIHRlc3QuCisgKiBAaGVhZDoJdGhlIGxpc3QgdG8gdGVzdC4KKyAqLworX0lOTElORV8gaW50IGxpc3RfZW50cnlfaXNfbGFzdChzdHJ1Y3QgbGlzdF9oZWFkICplbnRyeSwgc3RydWN0IGxpc3RfaGVhZCAqaGVhZCkKK3sKKwlyZXR1cm4gaGVhZC0+cHJldiA9PSBlbnRyeTsKK30KKworLyoqCisgKiBsaXN0X3NwbGljZSAtIGpvaW4gdHdvIGxpc3RzCisgKiBAbGlzdDoJdGhlIG5ldyBsaXN0IHRvIGFkZC4KKyAqIEBoZWFkOgl0aGUgcGxhY2UgdG8gYWRkIGl0IGluIHRoZSBmaXJzdCBsaXN0LgorICovCitfSU5MSU5FXyB2b2lkIGxpc3Rfc3BsaWNlKHN0cnVjdCBsaXN0X2hlYWQgKmxpc3QsIHN0cnVjdCBsaXN0X2hlYWQgKmhlYWQpCit7CisJc3RydWN0IGxpc3RfaGVhZCAqZmlyc3QgPSBsaXN0LT5uZXh0OworCisJaWYgKGZpcnN0ICE9IGxpc3QpIHsKKwkJc3RydWN0IGxpc3RfaGVhZCAqbGFzdCA9IGxpc3QtPnByZXY7CisJCXN0cnVjdCBsaXN0X2hlYWQgKmF0ID0gaGVhZC0+bmV4dDsKKworCQlmaXJzdC0+cHJldiA9IGhlYWQ7CisJCWhlYWQtPm5leHQgPSBmaXJzdDsKKworCQlsYXN0LT5uZXh0ID0gYXQ7CisJCWF0LT5wcmV2ID0gbGFzdDsKKwl9Cit9CisKKy8qKgorICogbGlzdF9lbnRyeSAtIGdldCB0aGUgc3RydWN0IGZvciB0aGlzIGVudHJ5CisgKiBAcHRyOgl0aGUgJnN0cnVjdCBsaXN0X2hlYWQgcG9pbnRlci4KKyAqIEB0eXBlOgl0aGUgdHlwZSBvZiB0aGUgc3RydWN0IHRoaXMgaXMgZW1iZWRkZWQgaW4uCisgKiBAbWVtYmVyOgl0aGUgbmFtZSBvZiB0aGUgbGlzdF9zdHJ1Y3Qgd2l0aGluIHRoZSBzdHJ1Y3QuCisgKi8KKyNkZWZpbmUgbGlzdF9lbnRyeShwdHIsIHR5cGUsIG1lbWJlcikgX19leHRlbnNpb25fXyAoeyAgICAgICAgICAgICAgXAorCWNvbnN0IHR5cGVvZiggKCh0eXBlICopMCktPm1lbWJlciApICpfX21wdHIgPSAocHRyKTsgICBcCisJKHR5cGUgKikoIChjaGFyICopX19tcHRyIC0gb2Zmc2V0b2YodHlwZSxtZW1iZXIpICk7fSkKKworCisjZGVmaW5lIGxpc3RfZmlyc3RfZW50cnkoaGVhZCwgdHlwZSwgbWVtYmVyKSBcCisJKChoZWFkKSAmJiAoaGVhZCktPm5leHQgIT0gKGhlYWQpID8gbGlzdF9lbnRyeSgoaGVhZCktPm5leHQsIHR5cGUsIG1lbWJlcikgOiBOVUxMKQorCisjZGVmaW5lIGxpc3RfbGFzdF9lbnRyeShoZWFkLCB0eXBlLCBtZW1iZXIpIFwKKwkoKGhlYWQpICYmIChoZWFkKS0+cHJldiAhPSAoaGVhZCkgPyBsaXN0X2VudHJ5KChoZWFkKS0+cHJldiwgdHlwZSwgbWVtYmVyKSA6IE5VTEwpCisKKy8qKgorICogbGlzdF9mb3JfZWFjaCAtIGl0ZXJhdGUgb3ZlciBlbGVtZW50cyBpbiBhIGxpc3QKKyAqIEBwb3M6CXRoZSAmc3RydWN0IGxpc3RfaGVhZCB0byB1c2UgYXMgYSBsb29wIGNvdW50ZXIuCisgKiBAaGVhZDoJdGhlIGhlYWQgZm9yIHlvdXIgbGlzdC4KKyAqLworI2RlZmluZSBsaXN0X2Zvcl9lYWNoKHBvcywgaGVhZCkgXAorCWZvciAocG9zID0gKGhlYWQpLT5uZXh0OyBwb3MgIT0gKGhlYWQpOyBwb3MgPSBwb3MtPm5leHQpCisKKy8qKgorICogbGlzdF9mb3JfZWFjaF9iYWNrd2FyZGx5IC0gaXRlcmF0ZSBvdmVyIGVsZW1lbnRzIGluIGEgbGlzdCBpbiByZXZlcnNlCisgKiBAcG9zOgl0aGUgJnN0cnVjdCBsaXN0X2hlYWQgdG8gdXNlIGFzIGEgbG9vcCBjb3VudGVyLgorICogQGhlYWQ6CXRoZSBoZWFkIGZvciB5b3VyIGxpc3QuCisgKi8KKyNkZWZpbmUgbGlzdF9mb3JfZWFjaF9iYWNrd2FyZGx5KHBvcywgaGVhZCkgXAorCWZvciAocG9zID0gKGhlYWQpLT5wcmV2OyBwb3MgIT0gKGhlYWQpOyBwb3MgPSBwb3MtPnByZXYpCisKKy8qKgorICogbGlzdF9mb3JfZWFjaF9zYWZlIC0gaXRlcmF0ZSBvdmVyIGVsZW1lbnRzIGluIGEgbGlzdCwgYnV0IGRvbid0IGRlcmVmZXJlbmNlCisgKiAgICAgICAgICAgICAgICAgICAgICBwb3MgYWZ0ZXIgdGhlIGJvZHkgaXMgZG9uZSAoaW4gY2FzZSBpdCBpcyBmcmVlZCkKKyAqIEBwb3M6CXRoZSAmc3RydWN0IGxpc3RfaGVhZCB0byB1c2UgYXMgYSBsb29wIGNvdW50ZXIuCisgKiBAcG5leHQ6CXRoZSAmc3RydWN0IGxpc3RfaGVhZCB0byB1c2UgYXMgYSBwb2ludGVyIHRvIHRoZSBuZXh0IGl0ZW0uCisgKiBAaGVhZDoJdGhlIGhlYWQgZm9yIHlvdXIgbGlzdCAobm90IGluY2x1ZGVkIGluIGl0ZXJhdGlvbikuCisgKi8KKyNkZWZpbmUgbGlzdF9mb3JfZWFjaF9zYWZlKHBvcywgcG5leHQsIGhlYWQpIFwKKwlmb3IgKHBvcyA9IChoZWFkKS0+bmV4dCwgcG5leHQgPSBwb3MtPm5leHQ7IHBvcyAhPSAoaGVhZCk7IFwKKwkgICAgIHBvcyA9IHBuZXh0LCBwbmV4dCA9IHBvcy0+bmV4dCkKKworI2RlZmluZSBNQVhfTElTVF9MRU5HVEhfQklUUyAyMAorCisvKgorICogUmV0dXJucyBhIGxpc3Qgb3JnYW5pemVkIGluIGFuIGludGVybWVkaWF0ZSBmb3JtYXQgc3VpdGVkCisgKiB0byBjaGFpbmluZyBvZiBtZXJnZSgpIGNhbGxzOiBudWxsLXRlcm1pbmF0ZWQsIG5vIHJlc2VydmVkIG9yCisgKiBzZW50aW5lbCBoZWFkIG5vZGUsICJwcmV2IiBsaW5rcyBub3QgbWFpbnRhaW5lZC4KKyAqLworX0lOTElORV8gc3RydWN0IGxpc3RfaGVhZCAqbWVyZ2UoaW50ICgqY21wKShzdHJ1Y3QgbGlzdF9oZWFkICphLAorCQkJCQkgIHN0cnVjdCBsaXN0X2hlYWQgKmIsCisJCQkJCSAgdm9pZCAqZGF0YSksCisJCQkgICAgICAgdm9pZCAqZGF0YSwKKwkJCSAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkICphLCBzdHJ1Y3QgbGlzdF9oZWFkICpiKQoreworCXN0cnVjdCBsaXN0X2hlYWQgaGVhZCwgKnRhaWwgPSAmaGVhZDsKKworCXdoaWxlIChhICYmIGIpIHsKKwkJLyogaWYgZXF1YWwsIHRha2UgJ2EnIC0tIGltcG9ydGFudCBmb3Igc29ydCBzdGFiaWxpdHkgKi8KKwkJaWYgKCgqY21wKShhLCBiLCBkYXRhKSA8PSAwKSB7CisJCQl0YWlsLT5uZXh0ID0gYTsKKwkJCWEgPSBhLT5uZXh0OworCQl9IGVsc2UgeworCQkJdGFpbC0+bmV4dCA9IGI7CisJCQliID0gYi0+bmV4dDsKKwkJfQorCQl0YWlsID0gdGFpbC0+bmV4dDsKKwl9CisJdGFpbC0+bmV4dCA9IGEgPyBhIDogYjsKKwlyZXR1cm4gaGVhZC5uZXh0OworfQorCisvKgorICogQ29tYmluZSBmaW5hbCBsaXN0IG1lcmdlIHdpdGggcmVzdG9yYXRpb24gb2Ygc3RhbmRhcmQgZG91Ymx5LWxpbmtlZAorICogbGlzdCBzdHJ1Y3R1cmUuICBUaGlzIGFwcHJvYWNoIGR1cGxpY2F0ZXMgY29kZSBmcm9tIG1lcmdlKCksIGJ1dAorICogcnVucyBmYXN0ZXIgdGhhbiB0aGUgdGlkaWVyIGFsdGVybmF0aXZlcyBvZiBlaXRoZXIgYSBzZXBhcmF0ZSBmaW5hbAorICogcHJldi1saW5rIHJlc3RvcmF0aW9uIHBhc3MsIG9yIG1haW50YWluaW5nIHRoZSBwcmV2IGxpbmtzCisgKiB0aHJvdWdob3V0LgorICovCitfSU5MSU5FXyB2b2lkIG1lcmdlX2FuZF9yZXN0b3JlX2JhY2tfbGlua3MoaW50ICgqY21wKShzdHJ1Y3QgbGlzdF9oZWFkICphLAorCQkJCQkJICAgIHN0cnVjdCBsaXN0X2hlYWQgKmIsCisJCQkJCQkgICAgdm9pZCAqZGF0YSksCisJCQkJCSB2b2lkICpkYXRhLAorCQkJCQkgc3RydWN0IGxpc3RfaGVhZCAqaGVhZCwKKwkJCQkJIHN0cnVjdCBsaXN0X2hlYWQgKmEsIHN0cnVjdCBsaXN0X2hlYWQgKmIpCit7CisJc3RydWN0IGxpc3RfaGVhZCAqdGFpbCA9IGhlYWQ7CisKKwl3aGlsZSAoYSAmJiBiKSB7CisJCS8qIGlmIGVxdWFsLCB0YWtlICdhJyAtLSBpbXBvcnRhbnQgZm9yIHNvcnQgc3RhYmlsaXR5ICovCisJCWlmICgoKmNtcCkoYSwgYiwgZGF0YSkgPD0gMCkgeworCQkJdGFpbC0+bmV4dCA9IGE7CisJCQlhLT5wcmV2ID0gdGFpbDsKKwkJCWEgPSBhLT5uZXh0OworCQl9IGVsc2UgeworCQkJdGFpbC0+bmV4dCA9IGI7CisJCQliLT5wcmV2ID0gdGFpbDsKKwkJCWIgPSBiLT5uZXh0OworCQl9CisJCXRhaWwgPSB0YWlsLT5uZXh0OworCX0KKwl0YWlsLT5uZXh0ID0gYSA/IGEgOiBiOworCisJZG8geworCQkvKgorCQkgKiBJbiB3b3JzdCBjYXNlcyB0aGlzIGxvb3AgbWF5IHJ1biBtYW55IGl0ZXJhdGlvbnMuCisJCSAqIENvbnRpbnVlIGNhbGxiYWNrcyB0byB0aGUgY2xpZW50IGV2ZW4gdGhvdWdoIG5vCisJCSAqIGVsZW1lbnQgY29tcGFyaXNvbiBpcyBuZWVkZWQsIHNvIHRoZSBjbGllbnQncyBjbXAoKQorCQkgKiByb3V0aW5lIGNhbiBpbnZva2UgY29uZF9yZXNjaGVkKCkgcGVyaW9kaWNhbGx5LgorCQkgKi8KKwkJKCpjbXApKHRhaWwtPm5leHQsIHRhaWwtPm5leHQsIGRhdGEpOworCisJCXRhaWwtPm5leHQtPnByZXYgPSB0YWlsOworCQl0YWlsID0gdGFpbC0+bmV4dDsKKwl9IHdoaWxlICh0YWlsLT5uZXh0KTsKKworCXRhaWwtPm5leHQgPSBoZWFkOworCWhlYWQtPnByZXYgPSB0YWlsOworfQorCisKKy8qKgorICogbGlzdF9zb3J0IC0gc29ydCBhIGxpc3QKKyAqIEBoZWFkOiB0aGUgbGlzdCB0byBzb3J0CisgKiBAY21wOiB0aGUgZWxlbWVudHMgY29tcGFyaXNvbiBmdW5jdGlvbgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaW1wbGVtZW50cyAibWVyZ2Ugc29ydCIsIHdoaWNoIGhhcyBPKG5sb2cobikpCisgKiBjb21wbGV4aXR5LgorICoKKyAqIFRoZSBjb21wYXJpc29uIGZ1bmN0aW9uIEBjbXAgbXVzdCByZXR1cm4gYSBuZWdhdGl2ZSB2YWx1ZSBpZiBAYQorICogc2hvdWxkIHNvcnQgYmVmb3JlIEBiLCBhbmQgYSBwb3NpdGl2ZSB2YWx1ZSBpZiBAYSBzaG91bGQgc29ydCBhZnRlcgorICogQGIuIElmIEBhIGFuZCBAYiBhcmUgZXF1aXZhbGVudCwgYW5kIHRoZWlyIG9yaWdpbmFsIHJlbGF0aXZlCisgKiBvcmRlcmluZyBpcyB0byBiZSBwcmVzZXJ2ZWQsIEBjbXAgbXVzdCByZXR1cm4gMC4KKyAqLworX0lOTElORV8gdm9pZCBsaXN0X3NvcnQoc3RydWN0IGxpc3RfaGVhZCAqaGVhZCwKKwkJCWludCAoKmNtcCkoc3RydWN0IGxpc3RfaGVhZCAqYSwKKwkJCQkgICBzdHJ1Y3QgbGlzdF9oZWFkICpiLAorCQkJCSAgIHZvaWQgKmRhdGEpLAorCQkJdm9pZCAqZGF0YSkKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwYXJ0W01BWF9MSVNUX0xFTkdUSF9CSVRTKzFdOyAvKiBzb3J0ZWQgcGFydGlhbCBsaXN0cworCQkJCQkJCSAgIC0tIGxhc3Qgc2xvdCBpcyBhIHNlbnRpbmVsICovCisJc2l6ZV90IGxldjsgIC8qIGluZGV4IGludG8gcGFydFtdICovCisJc2l6ZV90IG1heF9sZXYgPSAwOworCXN0cnVjdCBsaXN0X2hlYWQgKmxpc3Q7CisKKwlpZiAobGlzdF9lbXB0eShoZWFkKSkKKwkJcmV0dXJuOworCisJbWVtc2V0KHBhcnQsIDAsIHNpemVvZihwYXJ0KSk7CisKKwloZWFkLT5wcmV2LT5uZXh0ID0gTlVMTDsKKwlsaXN0ID0gaGVhZC0+bmV4dDsKKworCXdoaWxlIChsaXN0KSB7CisJCXN0cnVjdCBsaXN0X2hlYWQgKmN1ciA9IGxpc3Q7CisJCWxpc3QgPSBsaXN0LT5uZXh0OworCQljdXItPm5leHQgPSBOVUxMOworCisJCWZvciAobGV2ID0gMDsgcGFydFtsZXZdOyBsZXYrKykgeworCQkJY3VyID0gbWVyZ2UoY21wLCBkYXRhLCBwYXJ0W2xldl0sIGN1cik7CisJCQlwYXJ0W2xldl0gPSBOVUxMOworCQl9CisJCWlmIChsZXYgPiBtYXhfbGV2KSB7CisJCQkvKiBsaXN0IHBhc3NlZCB0byBsaXN0X3NvcnQoKSB0b28gbG9uZyBmb3IgZWZmaWNpZW5jeSAqLworCQkJaWYgKGxldiA+PSBBUlJBWV9TSVpFKHBhcnQpIC0gMSkKKwkJCQlsZXYtLTsKKwkJCW1heF9sZXYgPSBsZXY7CisJCX0KKwkJcGFydFtsZXZdID0gY3VyOworCX0KKworCWZvciAobGV2ID0gMDsgbGV2IDwgbWF4X2xldjsgbGV2KyspCisJCWlmIChwYXJ0W2xldl0pCisJCQlsaXN0ID0gbWVyZ2UoY21wLCBkYXRhLCBwYXJ0W2xldl0sIGxpc3QpOworCisJbWVyZ2VfYW5kX3Jlc3RvcmVfYmFja19saW5rcyhjbXAsIGRhdGEsIGhlYWQsIHBhcnRbbWF4X2xldl0sIGxpc3QpOworfQorCisjdW5kZWYgX0lOTElORV8KKworI2VuZGlmIC8qIFVUSUxfTElOVVhfTElTVF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xvb3BkZXYuaCBiL2luY2x1ZGUvbG9vcGRldi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1M2QyZGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2xvb3BkZXYuaApAQCAtMCwwICsxLDIwMyBAQAorI2lmbmRlZiBVVElMX0xJTlVYX0xPT1BERVZfSAorI2RlZmluZSBVVElMX0xJTlVYX0xPT1BERVZfSAorCisjaW5jbHVkZSAic3lzZnMuaCIKKworLyoKKyAqIGxvb3BfaW5mby5sb19lbmNyeXB0X3R5cGUKKyAqLworI2RlZmluZSBMT19DUllQVF9OT05FCTAKKyNkZWZpbmUgTE9fQ1JZUFRfWE9SCTEKKyNkZWZpbmUgTE9fQ1JZUFRfREVTCTIKKyNkZWZpbmUgTE9fQ1JZUFRfQ1JZUFRPQVBJIDE4CisKKyNkZWZpbmUgTE9PUF9TRVRfRkQJCTB4NEMwMAorI2RlZmluZSBMT09QX0NMUl9GRAkJMHg0QzAxCisvKgorICogT2Jzb2xldGUgKGtlcm5lbCA8IDIuNikKKyAqCisgKiAjZGVmaW5lIExPT1BfU0VUX1NUQVRVUwkweDRDMDIKKyAqICNkZWZpbmUgTE9PUF9HRVRfU1RBVFVTCTB4NEMwMworICovCisjZGVmaW5lIExPT1BfU0VUX1NUQVRVUzY0CTB4NEMwNAorI2RlZmluZSBMT09QX0dFVF9TVEFUVVM2NAkweDRDMDUKKy8qICNkZWZpbmUgTE9PUF9DSEFOR0VfRkQJMHg0QzA2ICovCisjZGVmaW5lIExPT1BfU0VUX0NBUEFDSVRZCTB4NEMwNworI2RlZmluZSBMT09QX1NFVF9ESVJFQ1RfSU8JMHg0QzA4CisKKy8qIC9kZXYvbG9vcC1jb250cm9sIGludGVyZmFjZSAqLworI2lmbmRlZiBMT09QX0NUTF9BREQKKyMgZGVmaW5lIExPT1BfQ1RMX0FERAkJMHg0QzgwCisjIGRlZmluZSBMT09QX0NUTF9SRU1PVkUJMHg0QzgxCisjIGRlZmluZSBMT09QX0NUTF9HRVRfRlJFRQkweDRDODIKKyNlbmRpZgorCisvKgorICogbG9vcF9pbmZvLmxvX2ZsYWdzCisgKi8KK2VudW0geworCUxPX0ZMQUdTX1JFQURfT05MWSAgPSAxLAorCUxPX0ZMQUdTX1VTRV9BT1BTICAgPSAyLAorCUxPX0ZMQUdTX0FVVE9DTEVBUiAgPSA0LAkvKiBrZXJuZWwgPj0gMi42LjI1ICovCisJTE9fRkxBR1NfUEFSVFNDQU4gICA9IDgsCS8qIGtlcm5lbCA+PSAzLjIgKi8KKwlMT19GTEFHU19ESVJFQ1RfSU8gID0gMTYsCS8qIGtlcm5lbCA+PSA0LjIgKi8KK307CisKKyNkZWZpbmUgTE9fTkFNRV9TSVpFCTY0CisjZGVmaW5lIExPX0tFWV9TSVpFCTMyCisKKy8qCisgKiBMaW51eCBMT09QX3tTRVQsR0VUfV9TVEFUVVM2NCBpb2N0bCBzdHJ1Y3QKKyAqLworc3RydWN0IGxvb3BfaW5mbzY0IHsKKwl1aW50NjRfdAlsb19kZXZpY2U7CisJdWludDY0X3QJbG9faW5vZGU7CisJdWludDY0X3QJbG9fcmRldmljZTsKKwl1aW50NjRfdAlsb19vZmZzZXQ7CisJdWludDY0X3QJbG9fc2l6ZWxpbWl0OyAvKiBieXRlcywgMCA9PSBtYXggYXZhaWxhYmxlICovCisJdWludDMyX3QJbG9fbnVtYmVyOworCXVpbnQzMl90CWxvX2VuY3J5cHRfdHlwZTsKKwl1aW50MzJfdAlsb19lbmNyeXB0X2tleV9zaXplOworCXVpbnQzMl90CWxvX2ZsYWdzOworCXVpbnQ4X3QJCWxvX2ZpbGVfbmFtZVtMT19OQU1FX1NJWkVdOworCXVpbnQ4X3QJCWxvX2NyeXB0X25hbWVbTE9fTkFNRV9TSVpFXTsKKwl1aW50OF90CQlsb19lbmNyeXB0X2tleVtMT19LRVlfU0laRV07CisJdWludDY0X3QJbG9faW5pdFsyXTsKK307CisKKyNkZWZpbmUgTE9PUERFVl9NQUpPUgkJNwkvKiBsb29wIG1ham9yIG51bWJlciAqLworI2RlZmluZSBMT09QREVWX0RFRkFVTFRfTk5PREVTCTgJLyogZGVmYXVsdCBudW1iZXIgb2YgbG9vcCBkZXZpY2VzICovCisKK3N0cnVjdCBsb29wZGV2X2l0ZXIgeworCUZJTEUJCSpwcm9jOwkJLyogL3Byb2MvcGFydGl0aW9ucyAqLworCURJUgkJKnN5c2Jsb2NrOwkvKiAvc3lzL2Jsb2NrICovCisJaW50CQluY3VyOwkJLyogY3VycmVudCBwb3NpdGlvbiAqLworCWludAkJKm1pbm9yczsJLyogYXJ5IG9mIG1pbm9yIG51bWJlcnMgKHdoZW4gc2NhbiB3aG9sZSAvZGV2KSAqLworCWludAkJbm1pbm9yczsJLyogbnVtYmVyIG9mIGl0ZW1zIGluICptaW5vcnMgKi8KKwlpbnQJCWN0X3Blcm07CS8qIGNvdW50IHBlcm1pc3Npb24gcHJvYmxlbXMgKi8KKwlpbnQJCWN0X3N1Y2M7CS8qIGNvdW50IG51bWJlciBvZiBkZXRlY3RlZCBkZXZpY2VzICovCisKKwl1bnNpZ25lZCBpbnQJZG9uZToxOwkJLyogc2Nhbm5pbmcgZG9uZSAqLworCXVuc2lnbmVkIGludAlkZWZhdWx0X2NoZWNrOjE7LyogY2hlY2sgZmlyc3QgTE9PUERFVl9OTE9PUFMgKi8KKwlpbnQJCWZsYWdzOwkJLyogTE9PUElURVJfRkxfKiBmbGFncyAqLworfTsKKworZW51bSB7CisJTE9PUElURVJfRkxfRlJFRQk9ICgxIDw8IDApLAorCUxPT1BJVEVSX0ZMX1VTRUQJPSAoMSA8PCAxKQorfTsKKworLyoKKyAqIGhhbmRsZXIgZm9yIHdvcmsgd2l0aCBsb29wIGRldmljZXMKKyAqLworc3RydWN0IGxvb3BkZXZfY3h0IHsKKwljaGFyCQlkZXZpY2VbMTI4XTsJLyogZGV2aWNlIHBhdGggKGUuZy4gL2Rldi9sb29wPE4+KSAqLworCWNoYXIJCSpmaWxlbmFtZTsJLyogYmFja2luZyBmaWxlIGZvciBsb29wY3h0X3NldF8uLi4gKi8KKwlpbnQJCWZkOwkJLyogb3BlbigvZGV2L2xvb288Tj4pICovCisJaW50CQltb2RlOwkJLyogZmQgbW9kZSBPX3tSRE9OTFksUkRXUn0gKi8KKworCWludAkJZmxhZ3M7CQkvKiBMT09QREVWX0ZMXyogZmxhZ3MgKi8KKwl1bnNpZ25lZCBpbnQJaGFzX2luZm86MTsJLyogLmluZm8gY29udGFpbnMgZGF0YSAqLworCXVuc2lnbmVkIGludAlleHRyYV9jaGVjazoxOwkvKiB1bnVzdWFsIHN0dWZmIGZvciBpdGVyYXRvciAqLworCXVuc2lnbmVkIGludAlpbmZvX2ZhaWxlZDoxOwkvKiBMT09QX0dFVF9TVEFUVVMgaW9jdGwgZmFpbGVkICovCisJdW5zaWduZWQgaW50ICAgIGNvbnRyb2xfb2s6MTsJLyogL2Rldi9sb29wLWNvbnRyb2wgc3VjY2VzcyAqLworCisJc3RydWN0IHN5c2ZzX2N4dAlzeXNmczsJLyogcG9pbnRlciB0byAvc3lzL2Rldi9ibG9jay88bWFqOm1pbj4vICovCisJc3RydWN0IGxvb3BfaW5mbzY0CWluZm87CS8qIGZvciBHRVQvU0VUIGlvY3RsICovCisJc3RydWN0IGxvb3BkZXZfaXRlcglpdGVyOwkvKiBzY2FucyAvc3lzIG9yIC9kZXYgZm9yIHVzZWQvZnJlZSBkZXZpY2VzICovCit9OworCisjZGVmaW5lIFVMX0xPT1BERVZDWFRfRU1QVFkgeyAuZmQgPSAtMSwgLnN5c2ZzID0gVUxfU1lTRlNDWFRfRU1QVFkgfQorCisvKgorICogbG9vcGRldl9jeHQuZmxhZ3MKKyAqLworZW51bSB7CisJTE9PUERFVl9GTF9SRE9OTFkJPSAoMSA8PCAwKSwJLyogb3BlbigvZGV2L2xvb3ApIG1vZGU7IGRlZmF1bHQgKi8KKwlMT09QREVWX0ZMX1JEV1IJCT0gKDEgPDwgMSksCS8qIG5lY2Vzc2FyeSBmb3IgbG9vcCBzZXR1cCBvbmx5ICovCisJTE9PUERFVl9GTF9PRkZTRVQJPSAoMSA8PCA0KSwKKwlMT09QREVWX0ZMX05PU1lTRlMJPSAoMSA8PCA1KSwKKwlMT09QREVWX0ZMX05PSU9DVEwJPSAoMSA8PCA2KSwKKwlMT09QREVWX0ZMX0RFVlNVQkRJUgk9ICgxIDw8IDcpLAorCUxPT1BERVZfRkxfQ09OVFJPTAk9ICgxIDw8IDgpLAkvKiBzeXN0ZW0gd2l0aCAvZGV2L2xvb3AtY29udHJvbCAqLworCUxPT1BERVZfRkxfU0laRUxJTUlUCT0gKDEgPDwgOSkKK307CisKKy8qCisgKiBIaWdoLWxldmVsCisgKi8KK2V4dGVybiBpbnQgbG9vcG1vZF9zdXBwb3J0c19wYXJ0c2Nhbih2b2lkKTsKKworZXh0ZXJuIGludCBpc19sb29wZGV2KGNvbnN0IGNoYXIgKmRldmljZSk7CitleHRlcm4gaW50IGxvb3BkZXZfaXNfYXV0b2NsZWFyKGNvbnN0IGNoYXIgKmRldmljZSk7CisKK2V4dGVybiBjaGFyICpsb29wZGV2X2dldF9iYWNraW5nX2ZpbGUoY29uc3QgY2hhciAqZGV2aWNlKTsKK2V4dGVybiBpbnQgbG9vcGRldl9pc191c2VkKGNvbnN0IGNoYXIgKmRldmljZSwgY29uc3QgY2hhciAqZmlsZW5hbWUsCisJCQkgICB1aW50NjRfdCBvZmZzZXQsIHVpbnQ2NF90IHNpemVsaW1pdCwgaW50IGZsYWdzKTsKK2V4dGVybiBjaGFyICpsb29wZGV2X2ZpbmRfYnlfYmFja2luZ19maWxlKGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorCQkJCXVpbnQ2NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZWxpbWl0LCBpbnQgZmxhZ3MpOworZXh0ZXJuIGludCBsb29wY3h0X2ZpbmRfdW51c2VkKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpOworZXh0ZXJuIGludCBsb29wZGV2X2RlbGV0ZShjb25zdCBjaGFyICpkZXZpY2UpOworZXh0ZXJuIGludCBsb29wZGV2X2NvdW50X2J5X2JhY2tpbmdfZmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSwgY2hhciAqKmxvb3BkZXYpOworCisvKgorICogTG93LWxldmVsCisgKi8KK2V4dGVybiBpbnQgbG9vcGN4dF9pbml0KHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsIGludCBmbGFncykKKwkJCQlfX2F0dHJpYnV0ZV9fICgod2Fybl91bnVzZWRfcmVzdWx0KSk7CitleHRlcm4gdm9pZCBsb29wY3h0X2RlaW5pdChzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKTsKKworZXh0ZXJuIGludCBsb29wY3h0X3NldF9kZXZpY2Uoc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgY29uc3QgY2hhciAqZGV2aWNlKQorCQkJCV9fYXR0cmlidXRlX18gKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKK2V4dGVybiBpbnQgbG9vcGN4dF9oYXNfZGV2aWNlKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpOworZXh0ZXJuIGludCBsb29wY3h0X2FkZF9kZXZpY2Uoc3RydWN0IGxvb3BkZXZfY3h0ICpsYyk7CitleHRlcm4gY2hhciAqbG9vcGN4dF9zdHJkdXBfZGV2aWNlKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpOworZXh0ZXJuIGNvbnN0IGNoYXIgKmxvb3BjeHRfZ2V0X2RldmljZShzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKTsKK2V4dGVybiBzdHJ1Y3Qgc3lzZnNfY3h0ICpsb29wY3h0X2dldF9zeXNmcyhzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKTsKK2V4dGVybiBzdHJ1Y3QgbG9vcF9pbmZvNjQgKmxvb3BjeHRfZ2V0X2luZm8oc3RydWN0IGxvb3BkZXZfY3h0ICpsYyk7CisKK2V4dGVybiBpbnQgbG9vcGN4dF9nZXRfZmQoc3RydWN0IGxvb3BkZXZfY3h0ICpsYyk7CitleHRlcm4gaW50IGxvb3BjeHRfc2V0X2ZkKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsIGludCBmZCwgaW50IG1vZGUpOworCitleHRlcm4gaW50IGxvb3BjeHRfaW5pdF9pdGVyYXRvcihzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjLCBpbnQgZmxhZ3MpOworZXh0ZXJuIGludCBsb29wY3h0X2RlaW5pdF9pdGVyYXRvcihzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKTsKK2V4dGVybiBpbnQgbG9vcGN4dF9uZXh0KHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpOworCitleHRlcm4gaW50IGxvb3BjeHRfc2V0dXBfZGV2aWNlKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpOworZXh0ZXJuIGludCBsb29wY3h0X3NldF9zdGF0dXMoc3RydWN0IGxvb3BkZXZfY3h0ICpsYyk7CitleHRlcm4gaW50IGxvb3BjeHRfZGVsZXRlX2RldmljZShzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKTsKK2V4dGVybiBpbnQgbG9vcGN4dF9zZXRfY2FwYWNpdHkoc3RydWN0IGxvb3BkZXZfY3h0ICpsYyk7CitleHRlcm4gaW50IGxvb3BjeHRfc2V0X2RpbyhzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjLCB1bnNpZ25lZCBsb25nIHVzZV9kaW8pOworCitpbnQgbG9vcGN4dF9zZXRfb2Zmc2V0KHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsIHVpbnQ2NF90IG9mZnNldCk7CitpbnQgbG9vcGN4dF9zZXRfc2l6ZWxpbWl0KHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsIHVpbnQ2NF90IHNpemVsaW1pdCk7CitpbnQgbG9vcGN4dF9zZXRfZmxhZ3Moc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgdWludDMyX3QgZmxhZ3MpOworaW50IGxvb3BjeHRfc2V0X2JhY2tpbmdfZmlsZShzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjLCBjb25zdCBjaGFyICpmaWxlbmFtZSk7CisKK2V4dGVybiBjaGFyICpsb29wY3h0X2dldF9iYWNraW5nX2ZpbGUoc3RydWN0IGxvb3BkZXZfY3h0ICpsYyk7CitleHRlcm4gaW50IGxvb3BjeHRfZ2V0X2JhY2tpbmdfZGV2bm8oc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgZGV2X3QgKmRldm5vKTsKK2V4dGVybiBpbnQgbG9vcGN4dF9nZXRfYmFja2luZ19pbm9kZShzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjLCBpbm9fdCAqaW5vKTsKK2V4dGVybiBpbnQgbG9vcGN4dF9nZXRfb2Zmc2V0KHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsIHVpbnQ2NF90ICpvZmZzZXQpOworZXh0ZXJuIGludCBsb29wY3h0X2dldF9zaXplbGltaXQoc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgdWludDY0X3QgKnNpemUpOworZXh0ZXJuIGludCBsb29wY3h0X2dldF9lbmNyeXB0X3R5cGUoc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgdWludDMyX3QgKnR5cGUpOworZXh0ZXJuIGNvbnN0IGNoYXIgKmxvb3BjeHRfZ2V0X2NyeXB0X25hbWUoc3RydWN0IGxvb3BkZXZfY3h0ICpsYyk7CitleHRlcm4gaW50IGxvb3BjeHRfaXNfYXV0b2NsZWFyKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpOworZXh0ZXJuIGludCBsb29wY3h0X2lzX3JlYWRvbmx5KHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpOworZXh0ZXJuIGludCBsb29wY3h0X2lzX2RpbyhzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKTsKK2V4dGVybiBpbnQgbG9vcGN4dF9pc19wYXJ0c2NhbihzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKTsKK2V4dGVybiBpbnQgbG9vcGN4dF9maW5kX2J5X2JhY2tpbmdfZmlsZShzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjLAorCQkJCWNvbnN0IGNoYXIgKmZpbGVuYW1lLAorCQkJCXVpbnQ2NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZWxpbWl0LAorCQkJCWludCBmbGFncyk7CitleHRlcm4gaW50IGxvb3BjeHRfZmluZF9vdmVybGFwKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsCisJCQkJY29uc3QgY2hhciAqZmlsZW5hbWUsCisJCQkJdWludDY0X3Qgb2Zmc2V0LCB1aW50NjRfdCBzaXplbGltaXQpOworCitleHRlcm4gaW50IGxvb3BjeHRfaXNfdXNlZChzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjLAorICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc3RhdCAqc3QsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmJhY2tpbmdfZmlsZSwKKyAgICAgICAgICAgICAgICAgICAgdWludDY0X3Qgb2Zmc2V0LAorICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBzaXplbGltaXQsCisgICAgICAgICAgICAgICAgICAgIGludCBmbGFncyk7CisKKyNlbmRpZiAvKiBVVElMX0xJTlVYX0xPT1BERVZfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9tYW5nbGUuaCBiL2luY2x1ZGUvbWFuZ2xlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWM0OTJiNQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvbWFuZ2xlLmgKQEAgLTAsMCArMSwyNiBAQAorI2lmbmRlZiBVVElMX0xJTlVYX01BTkdMRV9ICisjZGVmaW5lIFVUSUxfTElOVVhfTUFOR0xFX0gKKworLyoKKyAqIEZ1bmN0aW9ucyBmb3IgXG9jdCBlbmNvZGluZyB1c2VkIGluIG10YWIvZnN0YWIvc3dhcHMvZXRjLgorICovCisKK2V4dGVybiBjaGFyICptYW5nbGUoY29uc3QgY2hhciAqcyk7CisKK2V4dGVybiB2b2lkIHVubWFuZ2xlX3RvX2J1ZmZlcihjb25zdCBjaGFyICpzLCBjaGFyICpidWYsIHNpemVfdCBsZW4pOwordm9pZCB1bmhleG1hbmdsZV90b19idWZmZXIoY29uc3QgY2hhciAqcywgY2hhciAqYnVmLCBzaXplX3QgbGVuKTsKKworZXh0ZXJuIGNoYXIgKnVubWFuZ2xlKGNvbnN0IGNoYXIgKnMsIGNoYXIgKiplbmQpOworCitzdGF0aWMgaW5saW5lIHZvaWQgdW5tYW5nbGVfc3RyaW5nKGNoYXIgKnMpCit7CisJdW5tYW5nbGVfdG9fYnVmZmVyKHMsIHMsIHN0cmxlbihzKSArIDEpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgdW5oZXhtYW5nbGVfc3RyaW5nKGNoYXIgKnMpCit7CisJdW5oZXhtYW5nbGVfdG9fYnVmZmVyKHMsIHMsIHN0cmxlbihzKSArIDEpOworfQorCisjZW5kaWYgLyogVVRJTF9MSU5VWF9NQU5HTEVfSCAqLworCmRpZmYgLS1naXQgYS9pbmNsdWRlL21hdGNoLmggYi9pbmNsdWRlL21hdGNoLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTQ0NDBjMgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvbWF0Y2guaApAQCAtMCwwICsxLDEyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpZm5kZWYgVVRJTF9MSU5VWF9NQVRDSF9ICisjZGVmaW5lIFVUSUxfTElOVVhfTUFUQ0hfSAorCitleHRlcm4gaW50IG1hdGNoX2ZzdHlwZShjb25zdCBjaGFyICp0eXBlLCBjb25zdCBjaGFyICpwYXR0ZXJuKTsKKworI2VuZGlmIC8qIFVUSUxfTElOVVhfTUFUQ0hfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9tYnNhbGlnbi5oIGIvaW5jbHVkZS9tYnNhbGlnbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiZGI1MGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL21ic2FsaWduLmgKQEAgLTAsMCArMSw2MCBAQAorLyogQWxpZ24vVHJ1bmNhdGUgYSBzdHJpbmcgaW4gYSBnaXZlbiBzY3JlZW4gd2lkdGgKKyAgIENvcHlyaWdodCAoQykgMjAwOS0yMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICAgQ29weXJpZ2h0IChDKSAyMDEwLTIwMTMgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IKKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisjaWZuZGVmIFVUSUxfTElOVVhfTUJTQUxJR05fSAorIyBkZWZpbmUgVVRJTF9MSU5VWF9NQlNBTElHTl9ICisjIGluY2x1ZGUgPHN0ZGRlZi5oPgorCit0eXBlZGVmIGVudW0geyBNQlNfQUxJR05fTEVGVCwgTUJTX0FMSUdOX1JJR0hULCBNQlNfQUxJR05fQ0VOVEVSIH0gbWJzX2FsaWduX3Q7CisKK2VudW0geworICAvKiBVc2UgdW5pYnl0ZSBtb2RlIGZvciBpbnZhbGlkIG11bHRpYnl0ZSBzdHJpbmdzIG9yCisgICAgIG9yIHdoZW4gaGVhcCBtZW1vcnkgaXMgZXhoYXVzdGVkLiAgKi8KKyAgTUJBX1VOSUJZVEVfRkFMTEJBQ0sgPSAweDAwMDEsCisKKyNpZiAwIC8qIE90aGVyIHBvc3NpYmxlIG9wdGlvbnMuICAqLworICAvKiBTa2lwIGludmFsaWQgbXVsdGlieXRlIGNoYXJzIHJhdGhlciB0aGFuIGZhaWxpbmcgICovCisgIE1CQV9JR05PUkVfSU5WQUxJRCAgID0gMHgwMDAyLAorCisgIC8qIEFsaWduIG11bHRpYnl0ZSBzdHJpbmdzIHVzaW5nICJmaWd1cmUgc3BhY2UiIChcdTIwMDcpICAqLworICBNQkFfVVNFX0ZJR1VSRV9TUEFDRSA9IDB4MDAwNCwKKworICAvKiBEb24ndCBhZGQgYW55IHBhZGRpbmcgICovCisgIE1CQV9UUlVOQ0FURV9PTkxZICAgID0gMHgwMDA4LAorCisgIC8qIERvbid0IHRydW5jYXRlICAqLworICBNQkFfUEFEX09OTFkgICAgICAgICA9IDB4MDAxMCwKKyNlbmRpZgorfTsKKworZXh0ZXJuIHNpemVfdCBtYnNfdHJ1bmNhdGUoY2hhciAqc3RyLCBzaXplX3QgKndpZHRoKTsKKworZXh0ZXJuIHNpemVfdCBtYnNhbGlnbiAoY29uc3QgY2hhciAqc3JjLCBjaGFyICpkZXN0LAorCQkJc2l6ZV90IGRlc3Rfc2l6ZSwgIHNpemVfdCAqd2lkdGgsCisJCQltYnNfYWxpZ25fdCBhbGlnbiwgaW50IGZsYWdzKTsKKworZXh0ZXJuIHNpemVfdCBtYnNhbGlnbl93aXRoX3BhZGRpbmcgKGNvbnN0IGNoYXIgKnNyYywgY2hhciAqZGVzdCwgc2l6ZV90IGRlc3Rfc2l6ZSwKKwkgICAgICAgICAgICAgICBzaXplX3QgKndpZHRoLCBtYnNfYWxpZ25fdCBhbGlnbiwgaW50IGZsYWdzLAorCQkgICAgICAgaW50IHBhZGNoYXIpOworCitleHRlcm4gc2l6ZV90IG1ic19zYWZlX253aWR0aChjb25zdCBjaGFyICpidWYsIHNpemVfdCBidWZzeiwgc2l6ZV90ICpzeik7CitleHRlcm4gc2l6ZV90IG1ic19zYWZlX3dpZHRoKGNvbnN0IGNoYXIgKnMpOworCitleHRlcm4gY2hhciAqbWJzX3NhZmVfZW5jb2RlKGNvbnN0IGNoYXIgKnMsIHNpemVfdCAqd2lkdGgpOworZXh0ZXJuIGNoYXIgKm1ic19zYWZlX2VuY29kZV90b19idWZmZXIoY29uc3QgY2hhciAqcywgc2l6ZV90ICp3aWR0aCwgY2hhciAqYnVmLCBjb25zdCBjaGFyICpzYWZlY2hhcnMpOworZXh0ZXJuIHNpemVfdCBtYnNfc2FmZV9lbmNvZGVfc2l6ZShzaXplX3QgYnl0ZXMpOworCisjZW5kaWYgLyogVVRJTF9MSU5VWF9NQlNBTElHTl9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL21kNS5oIGIvaW5jbHVkZS9tZDUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTk3ZTM3Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9tZDUuaApAQCAtMCwwICsxLDI5IEBACisjaWZuZGVmIE1ENV9ICisjZGVmaW5lIE1ENV9ICisKKyNpZmRlZiBIQVZFX1NURElOVF9ICisjaW5jbHVkZSA8c3RkaW50Lmg+CisjZWxzZQordHlwZWRlZiB1bnNpZ25lZCBpbnQgdWludDMyX3Q7CisjZW5kaWYKKworI2RlZmluZSBNRDVMRU5HVEggMTYKKworc3RydWN0IE1ENUNvbnRleHQgeworCXVpbnQzMl90IGJ1Zls0XTsKKwl1aW50MzJfdCBiaXRzWzJdOworCXVuc2lnbmVkIGNoYXIgaW5bNjRdOworfTsKKwordm9pZCBNRDVJbml0KHN0cnVjdCBNRDVDb250ZXh0ICpjb250ZXh0KTsKK3ZvaWQgTUQ1VXBkYXRlKHN0cnVjdCBNRDVDb250ZXh0ICpjb250ZXh0LCB1bnNpZ25lZCBjaGFyIGNvbnN0ICpidWYsCisJICAgICAgIHVuc2lnbmVkIGxlbik7Cit2b2lkIE1ENUZpbmFsKHVuc2lnbmVkIGNoYXIgZGlnZXN0W01ENUxFTkdUSF0sIHN0cnVjdCBNRDVDb250ZXh0ICpjb250ZXh0KTsKK3ZvaWQgTUQ1VHJhbnNmb3JtKHVpbnQzMl90IGJ1Zls0XSwgdWludDMyX3QgY29uc3QgaW5bMTZdKTsKKworLyoKKyAqIFRoaXMgaXMgbmVlZGVkIHRvIG1ha2UgUlNBUkVGIGhhcHB5IG9uIHNvbWUgTVMtRE9TIGNvbXBpbGVycy4KKyAqLwordHlwZWRlZiBzdHJ1Y3QgTUQ1Q29udGV4dCBNRDVfQ1RYOworCisjZW5kaWYgLyogIU1ENV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL21pbml4LmggYi9pbmNsdWRlL21pbml4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjI4OTkxYwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvbWluaXguaApAQCAtMCwwICsxLDg1IEBACisjaWZuZGVmIFVUSUxfTElOVVhfTUlOSVhfSAorI2RlZmluZSBVVElMX0xJTlVYX01JTklYX0gKKworI2luY2x1ZGUgPHN0ZGludC5oPgorCitzdHJ1Y3QgbWluaXhfaW5vZGUgeworCXVpbnQxNl90IGlfbW9kZTsKKwl1aW50MTZfdCBpX3VpZDsKKwl1aW50MzJfdCBpX3NpemU7CisJdWludDMyX3QgaV90aW1lOworCXVpbnQ4X3QgIGlfZ2lkOworCXVpbnQ4X3QgIGlfbmxpbmtzOworCXVpbnQxNl90IGlfem9uZVs5XTsKK307CisKK3N0cnVjdCBtaW5peDJfaW5vZGUgeworCXVpbnQxNl90IGlfbW9kZTsKKwl1aW50MTZfdCBpX25saW5rczsKKwl1aW50MTZfdCBpX3VpZDsKKwl1aW50MTZfdCBpX2dpZDsKKwl1aW50MzJfdCBpX3NpemU7CisJdWludDMyX3QgaV9hdGltZTsKKwl1aW50MzJfdCBpX210aW1lOworCXVpbnQzMl90IGlfY3RpbWU7CisJdWludDMyX3QgaV96b25lWzEwXTsKK307CisKK3N0cnVjdCBtaW5peF9zdXBlcl9ibG9jayB7CisJdWludDE2X3Qgc19uaW5vZGVzOworCXVpbnQxNl90IHNfbnpvbmVzOworCXVpbnQxNl90IHNfaW1hcF9ibG9ja3M7CisJdWludDE2X3Qgc196bWFwX2Jsb2NrczsKKwl1aW50MTZfdCBzX2ZpcnN0ZGF0YXpvbmU7CisJdWludDE2X3Qgc19sb2dfem9uZV9zaXplOworCXVpbnQzMl90IHNfbWF4X3NpemU7CisJdWludDE2X3Qgc19tYWdpYzsKKwl1aW50MTZfdCBzX3N0YXRlOworCXVpbnQzMl90IHNfem9uZXM7Cit9OworCisvKiBWMyBtaW5peCBzdXBlci1ibG9jayBkYXRhIG9uIGRpc2sgKi8KK3N0cnVjdCBtaW5peDNfc3VwZXJfYmxvY2sgeworCXVpbnQzMl90IHNfbmlub2RlczsKKwl1aW50MTZfdCBzX3BhZDA7CisJdWludDE2X3Qgc19pbWFwX2Jsb2NrczsKKwl1aW50MTZfdCBzX3ptYXBfYmxvY2tzOworCXVpbnQxNl90IHNfZmlyc3RkYXRhem9uZTsKKwl1aW50MTZfdCBzX2xvZ196b25lX3NpemU7CisJdWludDE2X3Qgc19wYWQxOworCXVpbnQzMl90IHNfbWF4X3NpemU7CisJdWludDMyX3Qgc196b25lczsKKwl1aW50MTZfdCBzX21hZ2ljOworCXVpbnQxNl90IHNfcGFkMjsKKwl1aW50MTZfdCBzX2Jsb2Nrc2l6ZTsKKwl1aW50OF90ICBzX2Rpc2tfdmVyc2lvbjsKK307CisKKy8qCisgKiBNaW5peCBzdWJwYXJ0aXRpb25zIGFyZSBhbHdheXMgd2l0aGluIHByaW1hcnkgZG9zIHBhcnRpdGlvbi4KKyAqLworI2RlZmluZSBNSU5JWF9NQVhQQVJUSVRJT05TICA0CisKKyNkZWZpbmUgTUlOSVhfQkxPQ0tfU0laRV9CSVRTIDEwCisjZGVmaW5lIE1JTklYX0JMT0NLX1NJWkUgICAgICgxIDw8IE1JTklYX0JMT0NLX1NJWkVfQklUUykKKworI2RlZmluZSBNSU5JWF9OQU1FX01BWCAgICAgICAyNTUgICAgICAgICAgICAgLyogIyBjaGFycyBpbiBhIGZpbGUgbmFtZSAqLworI2RlZmluZSBNSU5JWF9NQVhfSU5PREVTICAgICA2NTUzNQorCisjZGVmaW5lIE1JTklYX0lOT0RFU19QRVJfQkxPQ0sgKChNSU5JWF9CTE9DS19TSVpFKS8oc2l6ZW9mIChzdHJ1Y3QgbWluaXhfaW5vZGUpKSkKKyNkZWZpbmUgTUlOSVgyX0lOT0RFU19QRVJfQkxPQ0sgKChNSU5JWF9CTE9DS19TSVpFKS8oc2l6ZW9mIChzdHJ1Y3QgbWluaXgyX2lub2RlKSkpCisKKy8qIG1pbml4X3N1cGVyX2Jsb2NrLnNfc3RhdGUgKi8KKyNkZWZpbmUgTUlOSVhfVkFMSURfRlMgICAgICAgMHgwMDAxICAgICAgICAgIC8qIENsZWFuIGZzLiAqLworI2RlZmluZSBNSU5JWF9FUlJPUl9GUyAgICAgICAweDAwMDIgICAgICAgICAgLyogZnMgaGFzIGVycm9ycy4gKi8KKworCisjZGVmaW5lIE1JTklYX1NVUEVSX01BR0lDICAgIDB4MTM3RiAgICAgICAgICAvKiBtaW5peCBWMSBmcywgMTQgY2hhciBuYW1lcyAqLworI2RlZmluZSBNSU5JWF9TVVBFUl9NQUdJQzIgICAweDEzOEYgICAgICAgICAgLyogbWluaXggVjEgZnMsIDMwIGNoYXIgbmFtZXMgKi8KKworI2RlZmluZSBNSU5JWDJfU1VQRVJfTUFHSUMgICAweDI0NjgJICAgICAvKiBtaW5peCBWMiBmcywgMTQgY2hhciBuYW1lcyAqLworI2RlZmluZSBNSU5JWDJfU1VQRVJfTUFHSUMyICAweDI0NzgJICAgICAvKiBtaW5peCBWMiBmcywgMzAgY2hhciBuYW1lcyAqLworCisjZGVmaW5lIE1JTklYM19TVVBFUl9NQUdJQyAgIDB4NGQ1YSAgICAgICAgICAvKiBtaW5peCBWMyBmcyAoNjAgY2hhciBuYW1lcykgKi8KKworI2VuZGlmIC8qIFVUSUxfTElOVVhfTUlOSVhfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9tb25vdG9uaWMuaCBiL2luY2x1ZGUvbW9ub3RvbmljLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTQ5OWZhMwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvbW9ub3RvbmljLmgKQEAgLTAsMCArMSwxMCBAQAorI2lmbmRlZiBVVElMX0xJTlVYX01PTk9UT05JQ19ICisjZGVmaW5lIFVUSUxfTElOVVhfTU9OT1RPTklDX0gKKworI2luY2x1ZGUgPHN5cy90aW1lLmg+CisKK2V4dGVybiBpbnQgZ2V0X2Jvb3RfdGltZShzdHJ1Y3QgdGltZXZhbCAqYm9vdF90aW1lKTsKKworZXh0ZXJuIGludCBnZXR0aW1lX21vbm90b25pYyhzdHJ1Y3QgdGltZXZhbCAqdHYpOworCisjZW5kaWYgLyogVVRJTF9MSU5VWF9NT05PVE9OSUNfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9uYW1lc3BhY2UuaCBiL2luY2x1ZGUvbmFtZXNwYWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWRiZTg4YQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvbmFtZXNwYWNlLmgKQEAgLTAsMCArMSw0NyBAQAorLyogQ29tcGF0IGNvZGUgc28gdW5zaGFyZSBhbmQgc2V0bnMgY2FuIGJlIHVzZWQgd2l0aCBvbGRlciBsaWJjcyAqLworI2lmbmRlZiBVVElMX0xJTlVYX05BTUVTUEFDRV9ICisjIGRlZmluZSBVVElMX0xJTlVYX05BTUVTUEFDRV9ICisKKyMgaW5jbHVkZSA8c2NoZWQuaD4KKworIyBpZm5kZWYgQ0xPTkVfTkVXTlMKKyMgIGRlZmluZSBDTE9ORV9ORVdOUyAweDAwMDIwMDAwCisjIGVuZGlmCisjIGlmbmRlZiBDTE9ORV9ORVdDR1JPVVAKKyMgIGRlZmluZSBDTE9ORV9ORVdDR1JPVVAgMHgwMjAwMDAwMAorIyBlbmRpZgorIyBpZm5kZWYgQ0xPTkVfTkVXVVRTCisjICBkZWZpbmUgQ0xPTkVfTkVXVVRTIDB4MDQwMDAwMDAKKyMgZW5kaWYKKyMgaWZuZGVmIENMT05FX05FV0lQQworIyAgZGVmaW5lIENMT05FX05FV0lQQyAweDA4MDAwMDAwCisjIGVuZGlmCisjIGlmbmRlZiBDTE9ORV9ORVdORVQKKyMgIGRlZmluZSBDTE9ORV9ORVdORVQgMHg0MDAwMDAwMAorIyBlbmRpZgorIyBpZm5kZWYgQ0xPTkVfTkVXVVNFUgorIyAgZGVmaW5lIENMT05FX05FV1VTRVIgMHgxMDAwMDAwMAorIyBlbmRpZgorIyBpZm5kZWYgQ0xPTkVfTkVXUElECisjICBkZWZpbmUgQ0xPTkVfTkVXUElEIDB4MjAwMDAwMDAKKyMgZW5kaWYKKworIyBpZiAhZGVmaW5lZChIQVZFX1VOU0hBUkUpIHx8ICFkZWZpbmVkKEhBVkVfU0VUTlMpCisjICBpbmNsdWRlIDxzeXMvc3lzY2FsbC5oPgorIyBlbmRpZgorCisjIGlmICFkZWZpbmVkKEhBVkVfVU5TSEFSRSkgJiYgZGVmaW5lZChTWVNfdW5zaGFyZSkKK3N0YXRpYyBpbmxpbmUgaW50IHVuc2hhcmUoaW50IGZsYWdzKQoreworCXJldHVybiBzeXNjYWxsKFNZU191bnNoYXJlLCBmbGFncyk7Cit9CisjIGVuZGlmCisKKyMgaWYgIWRlZmluZWQoSEFWRV9TRVROUykgJiYgZGVmaW5lZChTWVNfc2V0bnMpCitzdGF0aWMgaW5saW5lIGludCBzZXRucyhpbnQgZmQsIGludCBuc3R5cGUpCit7CisJcmV0dXJuIHN5c2NhbGwoU1lTX3NldG5zLCBmZCwgbnN0eXBlKTsKK30KKyMgZW5kaWYKKworI2VuZGlmCS8qIFVUSUxfTElOVVhfTkFNRVNQQUNFX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbmxzLmggYi9pbmNsdWRlL25scy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlYWJmZTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL25scy5oCkBAIC0wLDAgKzEsMTE1IEBACisjaWZuZGVmIFVUSUxfTElOVVhfTkxTX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9OTFNfSAorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKTsKKworI2lmbmRlZiBMT0NBTEVESVIKKyNkZWZpbmUgTE9DQUxFRElSICIvdXNyL3NoYXJlL2xvY2FsZSIKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9MT0NBTEVfSAorIyBpbmNsdWRlIDxsb2NhbGUuaD4KKyNlbHNlCisjIHVuZGVmIHNldGxvY2FsZQorIyBkZWZpbmUgc2V0bG9jYWxlKENhdGVnb3J5LCBMb2NhbGUpIC8qIGVtcHR5ICovCitzdHJ1Y3QgbGNvbnYKK3sKKwljaGFyICpkZWNpbWFsX3BvaW50OworfTsKKyMgdW5kZWYgbG9jYWxlY29udgorIyBkZWZpbmUgbG9jYWxlY29udigpIE5VTEwKKyNlbmRpZgorCisjaWZkZWYgRU5BQkxFX05MUworIyBpbmNsdWRlIDxsaWJpbnRsLmg+CisjIGRlZmluZSBfKFRleHQpIGdldHRleHQgKFRleHQpCisjIGlmZGVmIGdldHRleHRfbm9vcAorIyAgZGVmaW5lIE5fKFN0cmluZykgZ2V0dGV4dF9ub29wIChTdHJpbmcpCisjIGVsc2UKKyMgIGRlZmluZSBOXyhTdHJpbmcpIChTdHJpbmcpCisjIGVuZGlmCisjIGRlZmluZSBQXyhTaW5ndWxhciwgUGx1cmFsLCBuKSBuZ2V0dGV4dCAoU2luZ3VsYXIsIFBsdXJhbCwgbikKKyNlbHNlCisjIHVuZGVmIGJpbmR0ZXh0ZG9tYWluCisjIGRlZmluZSBiaW5kdGV4dGRvbWFpbihEb21haW4sIERpcmVjdG9yeSkgLyogZW1wdHkgKi8KKyMgdW5kZWYgdGV4dGRvbWFpbgorIyBkZWZpbmUgdGV4dGRvbWFpbihEb21haW4pIC8qIGVtcHR5ICovCisjIGRlZmluZSBfKFRleHQpIChUZXh0KQorIyBkZWZpbmUgTl8oVGV4dCkgKFRleHQpCisjIGRlZmluZSBQXyhTaW5ndWxhciwgUGx1cmFsLCBuKSAoKG4pID09IDEgPyAoU2luZ3VsYXIpIDogKFBsdXJhbCkpCisjZW5kaWYKKworI2lmZGVmIEhBVkVfTEFOR0lORk9fSAorIyBpbmNsdWRlIDxsYW5naW5mby5oPgorI2Vsc2UKKwordHlwZWRlZiBpbnQgbmxfaXRlbTsKK2V4dGVybiBjaGFyICpsYW5naW5mb19mYWxsYmFjayhubF9pdGVtIGl0ZW0pOworCisjIGRlZmluZSBubF9sYW5naW5mbwlsYW5naW5mb19mYWxsYmFjaworCitlbnVtIHsKKwlDT0RFU0VUID0gMSwKKwlSQURJWENIQVIsCisJVEhPVVNFUCwKKwlEX1RfRk1ULAorCURfRk1ULAorCVRfRk1ULAorCVRfRk1UX0FNUE0sCisJQU1fU1RSLAorCVBNX1NUUiwKKworCURBWV8xLAorCURBWV8yLAorCURBWV8zLAorCURBWV80LAorCURBWV81LAorCURBWV82LAorCURBWV83LAorCisJQUJEQVlfMSwKKwlBQkRBWV8yLAorCUFCREFZXzMsCisJQUJEQVlfNCwKKwlBQkRBWV81LAorCUFCREFZXzYsCisJQUJEQVlfNywKKworCU1PTl8xLAorCU1PTl8yLAorCU1PTl8zLAorCU1PTl80LAorCU1PTl81LAorCU1PTl82LAorCU1PTl83LAorCU1PTl84LAorCU1PTl85LAorCU1PTl8xMCwKKwlNT05fMTEsCisJTU9OXzEyLAorCisJQUJNT05fMSwKKwlBQk1PTl8yLAorCUFCTU9OXzMsCisJQUJNT05fNCwKKwlBQk1PTl81LAorCUFCTU9OXzYsCisJQUJNT05fNywKKwlBQk1PTl84LAorCUFCTU9OXzksCisJQUJNT05fMTAsCisJQUJNT05fMTEsCisJQUJNT05fMTIsCisKKwlFUkFfRF9GTVQsCisJRVJBX0RfVF9GTVQsCisJRVJBX1RfRk1ULAorCUFMVF9ESUdJVFMsCisJQ1JOQ1lTVFIsCisJWUVTRVhQUiwKKwlOT0VYUFIKK307CisKKyNlbmRpZiAvKiAhSEFWRV9MQU5HSU5GT19IICovCisKKyNlbmRpZiAvKiBVVElMX0xJTlVYX05MU19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL29wdHV0aWxzLmggYi9pbmNsdWRlL29wdHV0aWxzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTlhZDdlNAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvb3B0dXRpbHMuaApAQCAtMCwwICsxLDEwMyBAQAorI2lmbmRlZiBVVElMX0xJTlVYX09QVFVUSUxTX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9PUFRVVElMU19ICisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisKK3N0YXRpYyBpbmxpbmUgY29uc3QgY2hhciAqb3B0aW9uX3RvX2xvbmdvcHQoaW50IGMsIGNvbnN0IHN0cnVjdCBvcHRpb24gKm9wdHMpCit7CisJY29uc3Qgc3RydWN0IG9wdGlvbiAqbzsKKworCWZvciAobyA9IG9wdHM7IG8tPm5hbWU7IG8rKykKKwkJaWYgKG8tPnZhbCA9PSBjKQorCQkJcmV0dXJuIG8tPm5hbWU7CisJcmV0dXJuIE5VTEw7Cit9CisKKyNpZm5kZWYgT1BUVVRJTFNfRVhJVF9DT0RFCisjIGRlZmluZSBPUFRVVElMU19FWElUX0NPREUgRVhJVF9GQUlMVVJFCisjZW5kaWYKKworLyoKKyAqIENoZWNrIGNvbGxpc2lvbnMgYmV0d2VlbiBvcHRpb25zLgorICoKKyAqIFRoZSBjb25mbGljdHMgYmV0d2VlbiBvcHRpb25zIGFyZSBkZXNjcmliZWQgaW4gdWxfZXhjbF90IGFycmF5LiBUaGUKKyAqIGFycmF5IGNvbnRhaW5zIGdyb3VwcyBvZiBtdXR1YWxseSBleGNsdXNpdmUgb3B0aW9ucy4gRm9yIGV4YW1wbGUKKyAqCisgKglzdGF0aWMgY29uc3QgdWxfZXhjbF90IGV4Y2xbXSA9IHsKKyAqCQl7ICdaJywnYicsJ2MnIH0sCQkvLyBmaXJzdCBncm91cAorICoJCXsgJ2InLCd4JyB9LAkJCS8vIHNlY29uZCBncm91cAorICoJCXsgMCB9CisgKgl9OworICoKKyAqCWludCBleGNsX3N0W0FSUkFZX1NJWkUoZXhjbCldID0gVUxfRVhDTF9TVEFUVVNfSU5JVDsKKyAqCisgKgl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiWmJjeCIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKyAqCisgKgkJZXJyX2V4Y2x1c2l2ZV9vcHRpb25zKGMsIGxvbmdvcHRzLCBleGNsLCBleGNsX3N0KTsKKyAqCisgKgkJc3dpdGNoIChjKSB7CisgKgkJY2FzZSAnWic6CisgKgkJICAgLi4uLgorICoJCX0KKyAqCX0KKyAqCisgKiBUaGUgYXJyYXkgZXhjbFtdIGRlZmluZXMgdHdvIGdyb3VwcyBvZiB0aGUgbXV0dWFsbHkgZXhjbHVzaXZlIG9wdGlvbnMuIFRoZQorICogb3B0aW9uICctYicgaXMgaW4gdGhlIGJvdGggZ3JvdXBzLgorICoKKyAqIE5vdGUgdGhhdCB0aGUgb3B0aW9ucyBpbiB0aGUgZ3JvdXAgaGF2ZSB0byBiZSBpbiBBU0NJSSBvcmRlciAoQUJDLi5hYmMuLikgYW5kCisgKiBncm91cHMgaGF2ZSB0byBiZSBhbHNvIGluIEFTQ0lJIG9yZGVyLgorICoKKyAqIFRoZSBtYXhpbWFsIG51bWJlciBvZiB0aGUgb3B0aW9ucyBpbiB0aGUgZ3JvdXAgaXMgMTUgKHNpemUgb2YgdGhlIGFycmF5IGlzCisgKiAxNiwgbGFzdCBpcyB6ZXJvKS4KKyAqCisgKiBUaGUgY3VycmVudCBzdGF0dXMgb2Ygb3B0aW9ucyBpcyBzdG9yZWQgaW4gZXhjbF9zdCBhcnJheS4gVGhlIHNpemUgb2YgdGhlIGFycmF5CisgKiBtdXN0IGJlIHRoZSBzYW1lIGFzIG51bWJlciBvZiB0aGUgZ3JvdXBzIGluIHRoZSB1bF9leGNsX3QgYXJyYXkuCisgKgorICogSWYgeW91J3JlIHVuc3VyZSB0aGVuIHNlZSBzeXMtdXRpbHMvbW91bnQuYyBvciBtaXNjLXV0aWxzL2ZpbmRtbnQuYy4KKyAqLworI2RlZmluZSBVTF9FWENMX1NUQVRVU19JTklUCXsgMCB9Cit0eXBlZGVmIGludCB1bF9leGNsX3RbMTZdOworCitzdGF0aWMgaW5saW5lIHZvaWQgZXJyX2V4Y2x1c2l2ZV9vcHRpb25zKAorCQkJaW50IGMsCisJCQljb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHRzLAorCQkJY29uc3QgdWxfZXhjbF90ICpleGNsLAorCQkJaW50ICpzdGF0dXMpCit7CisJaW50IGU7CisKKwlmb3IgKGUgPSAwOyBleGNsW2VdWzBdICYmIGV4Y2xbZV1bMF0gPD0gYzsgZSsrKSB7CisJCWNvbnN0IGludCAqb3AgPSBleGNsW2VdOworCisJCWZvciAoOyAqb3AgJiYgKm9wIDw9IGM7IG9wKyspIHsKKwkJCWlmICgqb3AgIT0gYykKKwkJCQljb250aW51ZTsKKwkJCWlmIChzdGF0dXNbZV0gPT0gMCkKKwkJCQlzdGF0dXNbZV0gPSBjOworCQkJZWxzZSBpZiAoc3RhdHVzW2VdICE9IGMpIHsKKwkJCQlzaXplX3QgY3QgPSAwOworCisJCQkJZnByaW50ZihzdGRlcnIsIF8oIiVzOiB0aGVzZSBvcHRpb25zIGFyZSAiCisJCQkJCQkgICJtdXR1YWxseSBleGNsdXNpdmU6IiksCisJCQkJCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwkJCQlmb3IgKG9wID0gZXhjbFtlXTsKKwkJCQkgICAgIGN0ICsgMSA8IEFSUkFZX1NJWkUoZXhjbFswXSkgJiYgKm9wOworCQkJCSAgICAgb3ArKywgY3QrKykgeworCQkJCQljb25zdCBjaGFyICpuID0gb3B0aW9uX3RvX2xvbmdvcHQoKm9wLCBvcHRzKTsKKwkJCQkJaWYgKG4pCisJCQkJCQlmcHJpbnRmKHN0ZGVyciwgIiAtLSVzIiwgbik7CisJCQkJCWVsc2UKKwkJCQkJCWZwcmludGYoc3RkZXJyLCAiIC0lYyIsICpvcCk7CisJCQkJfQorCQkJCWZwdXRjKCdcbicsIHN0ZGVycik7CisJCQkJZXhpdChPUFRVVElMU19FWElUX0NPREUpOworCQkJfQorCQkJYnJlYWs7CisJCX0KKwl9Cit9CisKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9pbmNsdWRlL3BhZ2VyLmggYi9pbmNsdWRlL3BhZ2VyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGE3MTQwZAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvcGFnZXIuaApAQCAtMCwwICsxLDkgQEAKKyNpZm5kZWYgVVRJTF9MSU5VWF9QQUdFUgorI2RlZmluZSBVVElMX0xJTlVYX1BBR0VSCisKK3ZvaWQgcGFnZXJfcmVkaXJlY3Qodm9pZCk7CisKK3ZvaWQgcGFnZXJfb3Blbih2b2lkKTsKK3ZvaWQgcGFnZXJfY2xvc2Uodm9pZCk7CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9wYW1mYWlsLmggYi9pbmNsdWRlL3BhbWZhaWwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjgzYjk0Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9wYW1mYWlsLmgKQEAgLTAsMCArMSwyNiBAQAorLyoKKyAqIE5vIGNvcHlyaWdodCBpcyBjbGFpbWVkLiAgVGhpcyBjb2RlIGlzIGluIHRoZSBwdWJsaWMgZG9tYWluOyBkbyB3aXRoCisgKiBpdCB3aGF0IHlvdSB3aXNoLgorICoKKyAqIFdyaXR0ZW4gYnkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKi8KKyNpZm5kZWYgVVRJTF9MSU5VWF9QQU1GQUlMX0gKKyNpbmNsdWRlIDxzZWN1cml0eS9wYW1fYXBwbC5oPgorI2lmZGVmIEhBVkVfU0VDVVJJVFlfUEFNX01JU0NfSAorIyBpbmNsdWRlIDxzZWN1cml0eS9wYW1fbWlzYy5oPgorI2VsaWYgZGVmaW5lZChIQVZFX1NFQ1VSSVRZX09QRU5QQU1fSCkKKyMgaW5jbHVkZSA8c2VjdXJpdHkvb3BlbnBhbS5oPgorI2VuZGlmCisjaW5jbHVkZSAiYy5oIgorCitzdGF0aWMgaW5saW5lIGludAorcGFtX2ZhaWxfY2hlY2socGFtX2hhbmRsZV90ICpwYW1oLCBpbnQgcmV0Y29kZSkKK3sKKwlpZiAocmV0Y29kZSA9PSBQQU1fU1VDQ0VTUykKKwkJcmV0dXJuIDA7CisJd2FybngoIiVzIiwgcGFtX3N0cmVycm9yKHBhbWgsIHJldGNvZGUpKTsKKwlwYW1fZW5kKHBhbWgsIHJldGNvZGUpOworCXJldHVybiAxOworfQorCisjZW5kaWYgLyogVVRJTF9MSU5VWF9QQU1GQUlMX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvcGF0aC5oIGIvaW5jbHVkZS9wYXRoLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDVkYTY5MgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvcGF0aC5oCkBAIC0wLDAgKzEsMzMgQEAKKyNpZm5kZWYgVVRJTF9MSU5VWF9QQVRIX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9QQVRIX0gKKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKK2V4dGVybiBjaGFyICpwYXRoX3N0cmR1cChjb25zdCBjaGFyICpwYXRoLCAuLi4pCisJCQlfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyAoX19wcmludGZfXywgMSwgMikpKTsKK2V4dGVybiBGSUxFICpwYXRoX2ZvcGVuKGNvbnN0IGNoYXIgKm1vZGUsIGludCBleGl0X29uX2VyciwgY29uc3QgY2hhciAqcGF0aCwgLi4uKQorCQkJX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0X18gKF9fcHJpbnRmX18sIDMsIDQpKSk7CitleHRlcm4gdm9pZCBwYXRoX3JlYWRfc3RyKGNoYXIgKnJlc3VsdCwgc2l6ZV90IGxlbiwgY29uc3QgY2hhciAqcGF0aCwgLi4uKQorCQkJX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0X18gKF9fcHJpbnRmX18sIDMsIDQpKSk7CitleHRlcm4gaW50IHBhdGhfd3JpdGVfc3RyKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqcGF0aCwgLi4uKQorCQkJIF9fYXR0cmlidXRlX18gKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAyLCAzKSkpOworZXh0ZXJuIGludCBwYXRoX3JlYWRfczMyKGNvbnN0IGNoYXIgKnBhdGgsIC4uLikKKwkJCV9fYXR0cmlidXRlX18gKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAxLCAyKSkpOworZXh0ZXJuIHVpbnQ2NF90IHBhdGhfcmVhZF91NjQoY29uc3QgY2hhciAqcGF0aCwgLi4uKQorCQkJX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0X18gKF9fcHJpbnRmX18sIDEsIDIpKSk7CisKK2V4dGVybiBpbnQgcGF0aF9leGlzdChjb25zdCBjaGFyICpwYXRoLCAuLi4pCisJCSAgICAgIF9fYXR0cmlidXRlX18gKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAxLCAyKSkpOworCisjaWZkZWYgSEFWRV9DUFVfU0VUX1QKKyMgaW5jbHVkZSAiY3B1c2V0LmgiCisKK2V4dGVybiBjcHVfc2V0X3QgKnBhdGhfcmVhZF9jcHVzZXQoaW50LCBjb25zdCBjaGFyICpwYXRoLCAuLi4pCisJCQkgICAgICBfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyAoX19wcmludGZfXywgMiwgMykpKTsKK2V4dGVybiBjcHVfc2V0X3QgKnBhdGhfcmVhZF9jcHVsaXN0KGludCwgY29uc3QgY2hhciAqcGF0aCwgLi4uKQorCQkJICAgICAgIF9fYXR0cmlidXRlX18gKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAyLCAzKSkpOworZXh0ZXJuIHZvaWQgcGF0aF9zZXRfcHJlZml4KGNvbnN0IGNoYXIgKik7CisjZW5kaWYgLyogSEFWRV9DUFVfU0VUX1QgKi8KKworI2VuZGlmIC8qIFVUSUxfTElOVVhfUEFUSF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3BhdGhuYW1lcy5oIGIvaW5jbHVkZS9wYXRobmFtZXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNWZiMDgyCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9wYXRobmFtZXMuaApAQCAtMCwwICsxLDIwMSBAQAorLyoKKyAqIFZhZ3VlbHkgYmFzZWQgb24KKyAqCUAoIylwYXRobmFtZXMuaAk1LjMgKEJlcmtlbGV5KSA1LzkvODkKKyAqIFRoaXMgY29kZSBpcyBpbiB0aGUgcHVibGljIGRvbWFpbi4KKyAqLworI2lmbmRlZiBQQVRITkFNRVNfSAorI2RlZmluZSBQQVRITkFNRVNfSAorCisjaWZkZWYgSEFWRV9QQVRIU19ICisjaW5jbHVkZSA8cGF0aHMuaD4KKyNlbmRpZgorCisjaWZuZGVmIF9fU1REQ19fCisjIGVycm9yICJ3ZSBuZWVkIGFuIEFOU0kgY29tcGlsZXIiCisjZW5kaWYKKworLyogdXNlZCBieSBrZXJuZWwgaW4gL3Byb2MgKGUuZy4gL3Byb2Mvc3dhcHMpIGZvciBkZWxldGVkIGZpbGVzICovCisjZGVmaW5lIFBBVEhfREVMRVRFRF9TVUZGSVgJIlxcMDQwKGRlbGV0ZWQpIgorI2RlZmluZSBQQVRIX0RFTEVURURfU1VGRklYX1NaCShzaXplb2YoUEFUSF9ERUxFVEVEX1NVRkZJWCkgLSAxKQorCisvKiBERUZQQVRIcyBmcm9tIDxwYXRocy5oPiBkb24ndCBpbmNsdWRlIC91c3IvbG9jYWwgKi8KKyN1bmRlZiBfUEFUSF9ERUZQQVRICisKKyNpZmRlZiBVU0VfVVNSRElSX1BBVEhTX09OTFkKKyMgZGVmaW5lIF9QQVRIX0RFRlBBVEgJICAgICAgICAiL3Vzci9sb2NhbC9iaW46L3Vzci9iaW4iCisjZWxzZQorIyBkZWZpbmUgX1BBVEhfREVGUEFUSAkgICAgICAgICIvdXNyL2xvY2FsL2JpbjovYmluOi91c3IvYmluIgorI2VuZGlmCisKKyN1bmRlZiBfUEFUSF9ERUZQQVRIX1JPT1QKKworI2lmZGVmIFVTRV9VU1JESVJfUEFUSFNfT05MWQorIyBkZWZpbmUgX1BBVEhfREVGUEFUSF9ST09UCSIvdXNyL2xvY2FsL3NiaW46L3Vzci9sb2NhbC9iaW46L3Vzci9zYmluOi91c3IvYmluIgorI2Vsc2UKKyMgZGVmaW5lIF9QQVRIX0RFRlBBVEhfUk9PVAkiL3Vzci9sb2NhbC9zYmluOi91c3IvbG9jYWwvYmluOi9zYmluOi9iaW46L3Vzci9zYmluOi91c3IvYmluIgorI2VuZGlmCisKKyNkZWZpbmUgX1BBVEhfV1RNUExPQ0sJCSIvZXRjL3d0bXBsb2NrIgorCisjZGVmaW5lCV9QQVRIX0hVU0hMT0dJTgkJIi5odXNobG9naW4iCisjZGVmaW5lCV9QQVRIX0hVU0hMT0dJTlMJIi9ldGMvaHVzaGxvZ2lucyIKKworI2RlZmluZSBfUEFUSF9OT0xPR0lOX1RYVAkiL2V0Yy9ub2xvZ2luLnR4dCIKKworI2lmbmRlZiBfUEFUSF9NQUlMRElSCisjZGVmaW5lCV9QQVRIX01BSUxESVIJCSIvdmFyL3Nwb29sL21haWwiCisjZW5kaWYKKyNkZWZpbmUJX1BBVEhfTU9UREZJTEUJCSIvZXRjL21vdGQiCisjaWZuZGVmIF9QQVRIX05PTE9HSU4KKyNkZWZpbmUJX1BBVEhfTk9MT0dJTgkJIi9ldGMvbm9sb2dpbiIKKyNlbmRpZgorI2RlZmluZQlfUEFUSF9WQVJfTk9MT0dJTgkiL3Zhci9ydW4vbm9sb2dpbiIKKworI2lmbmRlZiBfUEFUSF9MT0dJTgorI2RlZmluZSBfUEFUSF9MT0dJTgkJIi9iaW4vbG9naW4iCisjZW5kaWYKKyNkZWZpbmUgX1BBVEhfU0hVVERPV04JCSIvc2Jpbi9zaHV0ZG93biIKKworI2RlZmluZSBfUEFUSF9URVJNQ09MT1JTX0RJUk5BTUUgInRlcm1pbmFsLWNvbG9ycy5kIgorI2RlZmluZSBfUEFUSF9URVJNQ09MT1JTX0RJUgkiL2V0Yy8iIF9QQVRIX1RFUk1DT0xPUlNfRElSTkFNRQorCisvKiB1c2VkIGluIGxvZ2luLXV0aWxzL3NodXRkb3duLmMgKi8KKworLyogdXNlZCBpbiBsb2dpbi11dGlscy9zZXRwd25hbS5oIGFuZCBsb2dpbi11dGlscy9pc2xvY2FsLmMgKi8KKyNkZWZpbmUgX1BBVEhfUEFTU1dECQkiL2V0Yy9wYXNzd2QiCisKKy8qIHVzZWQgaW4gbG9naW4tdXRpbHMvbmV3Z3JwIGFuZCBsb2dpbi11dGlscy9zZXRwd25hbS5oKi8KKyNkZWZpbmUgX1BBVEhfR1NIQURPVwkJIi9ldGMvZ3NoYWRvdyIKKworLyogdXNlZCBpbiBsb2dpbi11dGlscy9zZXRwd25hbS5oICovCisjZGVmaW5lIF9QQVRIX0dST1VQCQkiL2V0Yy9ncm91cCIKKyNkZWZpbmUgX1BBVEhfU0hBRE9XX1BBU1NXRAkiL2V0Yy9zaGFkb3ciCisjZGVmaW5lIF9QQVRIX1NIRUxMUwkJIi9ldGMvc2hlbGxzIgorCisvKiB1c2VkIGluIHRlcm0tdXRpbHMvYWdldHR5LmMgKi8KKyNkZWZpbmUgX1BBVEhfSVNTVUUJCSIvZXRjL2lzc3VlIgorI2RlZmluZSBfUEFUSF9PU19SRUxFQVNFX0VUQwkiL2V0Yy9vcy1yZWxlYXNlIgorI2RlZmluZSBfUEFUSF9PU19SRUxFQVNFX1VTUgkiL3Vzci9saWIvb3MtcmVsZWFzZSIKKworI2RlZmluZSBfUEFUSF9OVU1MT0NLX09OCV9QQVRIX0xPQ0FMU1RBVEVESVIgIi9udW1sb2NrLW9uIgorCisjZGVmaW5lIF9QQVRIX0xPR0lOREVGUwkJIi9ldGMvbG9naW4uZGVmcyIKKworLyogdXNlZCBpbiBtaXNjLXV0aWxzL2xvb2suYyAqLworI2RlZmluZSBfUEFUSF9XT1JEUyAgICAgICAgICAgICAiL3Vzci9zaGFyZS9kaWN0L3dvcmRzIgorI2RlZmluZSBfUEFUSF9XT1JEU19BTFQgICAgICAgICAiL3Vzci9zaGFyZS9kaWN0L3dlYjIiCisKKy8qIG1vdW50IHBhdGhzICovCisjZGVmaW5lIF9QQVRIX0ZJTEVTWVNURU1TCSIvZXRjL2ZpbGVzeXN0ZW1zIgorI2RlZmluZSBfUEFUSF9QUk9DX1NXQVBTCSIvcHJvYy9zd2FwcyIKKyNkZWZpbmUgX1BBVEhfUFJPQ19GSUxFU1lTVEVNUwkiL3Byb2MvZmlsZXN5c3RlbXMiCisjZGVmaW5lIF9QQVRIX1BST0NfTU9VTlRTCSIvcHJvYy9tb3VudHMiCisjZGVmaW5lIF9QQVRIX1BST0NfUEFSVElUSU9OUwkiL3Byb2MvcGFydGl0aW9ucyIKKyNkZWZpbmUgX1BBVEhfUFJPQ19ERVZJQ0VTCSIvcHJvYy9kZXZpY2VzIgorI2RlZmluZSBfUEFUSF9QUk9DX01PVU5USU5GTwkiL3Byb2Mvc2VsZi9tb3VudGluZm8iCisjZGVmaW5lIF9QQVRIX1BST0NfTE9DS1MgICAgICAgICIvcHJvYy9sb2NrcyIKKyNkZWZpbmUgX1BBVEhfUFJPQ19DRFJPTUlORk8JIi9wcm9jL3N5cy9kZXYvY2Ryb20vaW5mbyIKKworI2RlZmluZSBfUEFUSF9QUk9DX1VJRE1BUAkiL3Byb2Mvc2VsZi91aWRfbWFwIgorI2RlZmluZSBfUEFUSF9QUk9DX0dJRE1BUAkiL3Byb2Mvc2VsZi9naWRfbWFwIgorI2RlZmluZSBfUEFUSF9QUk9DX1NFVEdST1VQUwkiL3Byb2Mvc2VsZi9zZXRncm91cHMiCisKKyNkZWZpbmUgX1BBVEhfUFJPQ19BVFRSX0NVUlJFTlQJIi9wcm9jL3NlbGYvYXR0ci9jdXJyZW50IgorI2RlZmluZSBfUEFUSF9QUk9DX0FUVFJfRVhFQwkiL3Byb2Mvc2VsZi9hdHRyL2V4ZWMiCisjZGVmaW5lIF9QQVRIX1BST0NfQ0FQTEFTVENBUAkiL3Byb2Mvc3lzL2tlcm5lbC9jYXBfbGFzdF9jYXAiCisKKworI2RlZmluZSBfUEFUSF9TWVNfQkxPQ0sJCSIvc3lzL2Jsb2NrIgorI2RlZmluZSBfUEFUSF9TWVNfREVWQkxPQ0sJIi9zeXMvZGV2L2Jsb2NrIgorI2RlZmluZSBfUEFUSF9TWVNfQ0xBU1MJCSIvc3lzL2NsYXNzIgorI2RlZmluZSBfUEFUSF9TWVNfU0NTSQkJIi9zeXMvYnVzL3Njc2kiCisKKyNkZWZpbmUgX1BBVEhfU1lTX1NFTElOVVgJIi9zeXMvZnMvc2VsaW51eCIKKyNkZWZpbmUgX1BBVEhfU1lTX0FQUEFSTU9SCSIvc3lzL2tlcm5lbC9zZWN1cml0eS9hcHBhcm1vciIKKworI2lmbmRlZiBfUEFUSF9NT1VOVEVECisjIGlmZGVmIE1PVU5URUQJCQkJCS8qIGRlcHJlY2F0ZWQgKi8KKyMgIGRlZmluZSBfUEFUSF9NT1VOVEVECQlNT1VOVEVECisjIGVsc2UKKyMgIGRlZmluZSBfUEFUSF9NT1VOVEVECQkiL2V0Yy9tdGFiIgorIyBlbmRpZgorI2VuZGlmCisKKyNpZm5kZWYgX1BBVEhfTU5UVEFCCisjIGlmZGVmIE1OVFRBQgkJCQkJLyogZGVwcmVjYXRlZCAqLworIyAgZGVmaW5lIF9QQVRIX01OVFRBQgkJTU5UVEFCCisjIGVsc2UKKyMgIGRlZmluZSBfUEFUSF9NTlRUQUIJCSIvZXRjL2ZzdGFiIgorIyBlbmRpZgorI2VuZGlmCisKKyNpZm5kZWYgX1BBVEhfREVWCisgIC8qCisgICAqIFRoZSB0YWlsaW5nICcvJyBpbiBfUEFUSF9ERVYgaXMgdGhlcmUgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBsaWJjLgorICAgKi8KKyMgZGVmaW5lIF9QQVRIX0RFVgkJIi9kZXYvIgorI2VuZGlmCisKKyNkZWZpbmUgX1BBVEhfREVWX01FTQkJIi9kZXYvbWVtIgorCisjZGVmaW5lIF9QQVRIX0RFVl9MT09QCQkiL2Rldi9sb29wIgorI2RlZmluZSBfUEFUSF9ERVZfTE9PUENUTAkiL2Rldi9sb29wLWNvbnRyb2wiCisKKy8qIHVkZXYgcGF0aHMgKi8KKyNkZWZpbmUgX1BBVEhfREVWX0JZTEFCRUwJIi9kZXYvZGlzay9ieS1sYWJlbCIKKyNkZWZpbmUgX1BBVEhfREVWX0JZVVVJRAkiL2Rldi9kaXNrL2J5LXV1aWQiCisjZGVmaW5lIF9QQVRIX0RFVl9CWUlECQkiL2Rldi9kaXNrL2J5LWlkIgorI2RlZmluZSBfUEFUSF9ERVZfQllQQVRICSIvZGV2L2Rpc2svYnktcGF0aCIKKyNkZWZpbmUgX1BBVEhfREVWX0JZUEFSVExBQkVMCSIvZGV2L2Rpc2svYnktcGFydGxhYmVsIgorI2RlZmluZSBfUEFUSF9ERVZfQllQQVJUVVVJRAkiL2Rldi9kaXNrL2J5LXBhcnR1dWlkIgorCisvKiBod2Nsb2NrIHBhdGhzICovCisjaWZkZWYgQ09ORklHX0FESlRJTUVfUEFUSAorIyBkZWZpbmUgX1BBVEhfQURKVElNRQkJQ09ORklHX0FESlRJTUVfUEFUSAorI2Vsc2UKKyMgZGVmaW5lIF9QQVRIX0FESlRJTUUJCSIvZXRjL2FkanRpbWUiCisjZW5kaWYKKworI2RlZmluZSBfUEFUSF9MQVNUREFURQkJIi92YXIvbGliL2xhc3RkYXRlIgorI2lmZGVmIF9faWE2NF9fCisjIGRlZmluZSBfUEFUSF9SVENfREVWCQkiL2Rldi9lZmlydGMiCisjZWxzZQorIyBkZWZpbmUgX1BBVEhfUlRDX0RFVgkJIi9kZXYvcnRjIgorI2VuZGlmCisKKyNpZm5kZWYgX1BBVEhfQlRNUAorI2RlZmluZSBfUEFUSF9CVE1QCQkiL3Zhci9sb2cvYnRtcCIKKyNlbmRpZgorCisvKiByYXcgcGF0aHMqLworI2RlZmluZSBfUEFUSF9SQVdERVZESVIJCSIvZGV2L3Jhdy8iCisjZGVmaW5lIF9QQVRIX1JBV0RFVkNUTAkJX1BBVEhfUkFXREVWRElSICJyYXdjdGwiCisvKiBkZXByZWNhdGVkICovCisjZGVmaW5lIF9QQVRIX1JBV0RFVkNUTF9PTEQJIi9kZXYvcmF3Y3RsIgorCisvKiB3ZGN0bCBwYXRoICovCisjZGVmaW5lIF9QQVRIX1dBVENIRE9HX0RFVgkiL2Rldi93YXRjaGRvZyIKKworLyogaXBjIHBhdGhzICovCisjZGVmaW5lIF9QQVRIX1BST0NfU1lTVl9NU0cJIi9wcm9jL3N5c3ZpcGMvbXNnIgorI2RlZmluZSBfUEFUSF9QUk9DX1NZU1ZfU0VNCSIvcHJvYy9zeXN2aXBjL3NlbSIKKyNkZWZpbmUgX1BBVEhfUFJPQ19TWVNWX1NITQkiL3Byb2Mvc3lzdmlwYy9zaG0iCisjZGVmaW5lIF9QQVRIX1BST0NfSVBDX01TR01BWAkiL3Byb2Mvc3lzL2tlcm5lbC9tc2dtYXgiCisjZGVmaW5lIF9QQVRIX1BST0NfSVBDX01TR01OQgkiL3Byb2Mvc3lzL2tlcm5lbC9tc2dtbmIiCisjZGVmaW5lIF9QQVRIX1BST0NfSVBDX01TR01OSQkiL3Byb2Mvc3lzL2tlcm5lbC9tc2dtbmkiCisjZGVmaW5lIF9QQVRIX1BST0NfSVBDX1NFTQkiL3Byb2Mvc3lzL2tlcm5lbC9zZW0iCisjZGVmaW5lIF9QQVRIX1BST0NfSVBDX1NITUFMTAkiL3Byb2Mvc3lzL2tlcm5lbC9zaG1hbGwiCisjZGVmaW5lIF9QQVRIX1BST0NfSVBDX1NITU1BWAkiL3Byb2Mvc3lzL2tlcm5lbC9zaG1tYXgiCisjZGVmaW5lIF9QQVRIX1BST0NfSVBDX1NITU1OSQkiL3Byb2Mvc3lzL2tlcm5lbC9zaG1tbmkiCisKKy8qIGtlcm5lbCBjb21tYW5kIGxpbmUgKi8KKyNkZWZpbmUgX1BBVEhfUFJPQ19DTURMSU5FCSIvcHJvYy9jbWRsaW5lIgorCisvKiBsb2dnZXIgcGF0aHMgKi8KKyNkZWZpbmUgX1BBVEhfREVWTE9HCQkiL2Rldi9sb2ciCisKKy8qIGN0cmxhbHRkZWwgcGF0aHMgKi8KKyNkZWZpbmUgX1BBVEhfUFJPQ19DVFJMX0FMVF9ERUwJIi9wcm9jL3N5cy9rZXJuZWwvY3RybC1hbHQtZGVsIgorCisjZW5kaWYgLyogUEFUSE5BTUVTX0ggKi8KKwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9wbHltb3V0aC1jdHJsLmggYi9pbmNsdWRlL3BseW1vdXRoLWN0cmwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MGVhZjBjCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9wbHltb3V0aC1jdHJsLmgKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIHBseW1vdXRoLWN0cmwuaAlIZWFkZXIgZmlsZSBmb3IgY29tbXVuaWNhdGlvbnMgd2l0aCBwbHltb3V0aGQKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1VTRSBMaW51eCBHbWJILCBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAyMDE2IFdlcm5lciBGaW5rIDx3ZXJuZXJAc3VzZS5kZT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikKKyAqIGFueSBsYXRlciB2ZXJzaW9uLgorICogIAorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0gKHNlZSB0aGUgZmlsZSBDT1BZSU5HKTsgaWYgbm90LCB3cml0ZSB0byB0aGUKKyAqIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICogQXV0aG9yOiBXZXJuZXIgRmluayA8d2VybmVyQHN1c2UuZGU+CisgKi8KKworLyoKKyAqIFRha2VuIGZyb20gcGx5bW91dGggMC45LjAgc3JjL3BseS1ib290LXByb3RvY29sLmgKKyAqLworCisjaWZuZGVmIFVUSUxfTElOVVhfUExZTU9VVEhfQ1RSTF9ICisjZGVmaW5lIFVUSUxfTElOVVhfUExZTU9VVEhfQ1RSTF9ICisKKyNkZWZpbmUgUExZTU9VVEhfU09DS0VUX1BBVEgJIlwwL29yZy9mcmVlZGVza3RvcC9wbHltb3V0aGQiCisjZGVmaW5lIEFOU1dFUl9UWVAJCSdceDInCisjZGVmaW5lIEFOU1dFUl9FTlEJCSdceDUnCisjZGVmaW5lIEFOU1dFUl9BQ0sJCSdceDYnCisjZGVmaW5lIEFOU1dFUl9NTFQJCSdcdCcKKyNkZWZpbmUgQU5TV0VSX05DSwkJJ1x4MTUnCisKKyNkZWZpbmUgTUFHSUNfUFJHX1NUT1AJCSdBJworI2RlZmluZSBNQUdJQ19QUkdfQ09OVAkJJ2EnCisjZGVmaW5lIE1BR0lDX1VQREFURQkJJ1UnCisjZGVmaW5lIE1BR0lDX1NZU19VUERBVEUJJ3UnCisjZGVmaW5lIE1BR0lDX1NZU19JTklUCQknUycKKyNkZWZpbmUgTUFHSUNfREVBQ1RJVkFURQknRCcKKyNkZWZpbmUgTUFHSUNfUkVBQ1RJVkFURQkncicKKyNkZWZpbmUgTUFHSUNfU0hPV19TUExBU0gJJyQnCisjZGVmaW5lIE1BR0lDX0hJREVfU1BMQVNICSdIJworI2RlZmluZSBNQUdJQ19DSE1PRAkJJ0MnCisjZGVmaW5lIE1BR0lDX0NIUk9PVAkJJ1InCisjZGVmaW5lIE1BR0lDX0FDVElWRV9WVAkJJ1YnCisjZGVmaW5lIE1BR0lDX1FVRVNUSU9OCQknVycKKyNkZWZpbmUgTUFHSUNfU0hPV19NU0cJCSdNJworI2RlZmluZSBNQUdJQ19ISURFX01TRwkJJ20nCisjZGVmaW5lIE1BR0lDX0tFWVNUUk9LRQkJJ0snCisjZGVmaW5lIE1BR0lDX0tFWVNUUk9LRV9STQknTCcKKyNkZWZpbmUgTUFHSUNfUElORwkJJ1AnCisjZGVmaW5lIE1BR0lDX1FVSVQJCSdRJworI2RlZmluZSBNQUdJQ19DQUNIRURfUFdECSdjJworI2RlZmluZSBNQUdJQ19BU0tfUFdECQknKicKKyNkZWZpbmUgTUFHSUNfREVUQUlMUwkJJyEnCisKKyNkZWZpbmUgUExZTU9VVEhfVEVSTUlPU19GTEFHU19ERUxBWQkzMAorZXh0ZXJuIGludCBwbHltb3V0aF9jb21tYW5kKGludCBjbWQsIC4uLik7CisKKyNlbmRpZiAvKiBVVElMX0xJTlVYX1BMWU1PVVRIX0NUUkxfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9wcm9jdXRpbHMuaCBiL2luY2x1ZGUvcHJvY3V0aWxzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWY4ZGQ3NgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvcHJvY3V0aWxzLmgKQEAgLTAsMCArMSwzNCBAQAorI2lmbmRlZiBVVElMX0xJTlVYX1BST0NVVElMUworI2RlZmluZSBVVElMX0xJTlVYX1BST0NVVElMUworCisjaW5jbHVkZSA8ZGlyZW50Lmg+CisKK3N0cnVjdCBwcm9jX3Rhc2tzIHsKKwlESVIgKmRpcjsKK307CisKK2V4dGVybiBzdHJ1Y3QgcHJvY190YXNrcyAqcHJvY19vcGVuX3Rhc2tzKHBpZF90IHBpZCk7CitleHRlcm4gdm9pZCBwcm9jX2Nsb3NlX3Rhc2tzKHN0cnVjdCBwcm9jX3Rhc2tzICp0YXNrcyk7CitleHRlcm4gaW50IHByb2NfbmV4dF90aWQoc3RydWN0IHByb2NfdGFza3MgKnRhc2tzLCBwaWRfdCAqdGlkKTsKKworc3RydWN0IHByb2NfcHJvY2Vzc2VzIHsKKwlESVIgKmRpcjsKKworCWNvbnN0IGNoYXIgKmZsdHJfbmFtZTsKKwl1aWRfdCBmbHRyX3VpZDsKKworCXVuc2lnbmVkIGludCBoYXNfZmx0cl9uYW1lIDogMSwKKwkJICAgICBoYXNfZmx0cl91aWQgOiAxOworfTsKKworZXh0ZXJuIHN0cnVjdCBwcm9jX3Byb2Nlc3NlcyAqcHJvY19vcGVuX3Byb2Nlc3Nlcyh2b2lkKTsKK2V4dGVybiB2b2lkIHByb2NfY2xvc2VfcHJvY2Vzc2VzKHN0cnVjdCBwcm9jX3Byb2Nlc3NlcyAqcHMpOworCitleHRlcm4gdm9pZCBwcm9jX3Byb2Nlc3Nlc19maWx0ZXJfYnlfbmFtZShzdHJ1Y3QgcHJvY19wcm9jZXNzZXMgKnBzLCBjb25zdCBjaGFyICpuYW1lKTsKK2V4dGVybiB2b2lkIHByb2NfcHJvY2Vzc2VzX2ZpbHRlcl9ieV91aWQoc3RydWN0IHByb2NfcHJvY2Vzc2VzICpwcywgdWlkX3QgdWlkKTsKK2V4dGVybiBpbnQgcHJvY19uZXh0X3BpZChzdHJ1Y3QgcHJvY19wcm9jZXNzZXMgKnBzLCBwaWRfdCAqcGlkKTsKKworZXh0ZXJuIGNoYXIgKnByb2NfZ2V0X2NvbW1hbmQocGlkX3QgcGlkKTsKK2V4dGVybiBjaGFyICpwcm9jX2dldF9jb21tYW5kX25hbWUocGlkX3QgcGlkKTsKKworI2VuZGlmIC8qIFVUSUxfTElOVVhfUFJPQ1VUSUxTICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3B0LWJzZC5oIGIvaW5jbHVkZS9wdC1ic2QuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YmY0N2E1Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9wdC1ic2QuaApAQCAtMCwwICsxLDE1NiBAQAorI2lmbmRlZiBVVElMX0xJTlVYX1BUX0JTRF9ICisjZGVmaW5lIFVUSUxfTElOVVhfUFRfQlNEX0gKKworI2RlZmluZSBCU0RfTUFYUEFSVElUSU9OUwkxNgorI2RlZmluZSBCU0RfRlNfVU5VU0VECQkwCisKKyNpZm5kZWYgQlNEX0RJU0tNQUdJQworIyBkZWZpbmUgQlNEX0RJU0tNQUdJQyAgICAgKCh1aW50MzJfdCkgMHg4MjU2NDU1NykKKyNlbmRpZgorCisjZGVmaW5lIEJTRF9MSU5VWF9CT09URElSICIvdXNyL3VjYi9tZGVjIgorCisjaWYgZGVmaW5lZCAoX19hbHBoYV9fKSB8fCBkZWZpbmVkIChfX3Bvd2VycGNfXykgfHwgXAorICAgIGRlZmluZWQgKF9faWE2NF9fKSB8fCBkZWZpbmVkIChfX2hwcGFfXykKKyMgZGVmaW5lIEJTRF9MQUJFTFNFQ1RPUiAgIDAKKyMgZGVmaW5lIEJTRF9MQUJFTE9GRlNFVCAgIDY0CisjZWxzZQorIyBkZWZpbmUgQlNEX0xBQkVMU0VDVE9SICAgMQorIyBkZWZpbmUgQlNEX0xBQkVMT0ZGU0VUICAgMAorI2VuZGlmCisKKyNkZWZpbmUJQlNEX0JCU0laRSAgICAgICAgODE5MgkJLyogc2l6ZSBvZiBib290IGFyZWEsIHdpdGggbGFiZWwgKi8KKyNkZWZpbmUJQlNEX1NCU0laRSAgICAgICAgODE5MgkJLyogbWF4IHNpemUgb2YgZnMgc3VwZXJibG9jayAqLworCitzdHJ1Y3QgYnNkX2Rpc2tsYWJlbCB7CisJdWludDMyX3QJZF9tYWdpYzsJCS8qIHRoZSBtYWdpYyBudW1iZXIgKi8KKwlpbnQxNl90CQlkX3R5cGU7CQkJLyogZHJpdmUgdHlwZSAqLworCWludDE2X3QJCWRfc3VidHlwZTsJCS8qIGNvbnRyb2xsZXIvZF90eXBlIHNwZWNpZmljICovCisJY2hhcgkJZF90eXBlbmFtZVsxNl07CQkvKiB0eXBlIG5hbWUsIGUuZy4gImVhZ2xlIiAqLworCWNoYXIJCWRfcGFja25hbWVbMTZdOwkJLyogcGFjayBpZGVudGlmaWVyICovCisKKwkJCS8qIGRpc2sgZ2VvbWV0cnk6ICovCisJdWludDMyX3QJZF9zZWNzaXplOwkJLyogIyBvZiBieXRlcyBwZXIgc2VjdG9yICovCisJdWludDMyX3QJZF9uc2VjdG9yczsJCS8qICMgb2YgZGF0YSBzZWN0b3JzIHBlciB0cmFjayAqLworCXVpbnQzMl90CWRfbnRyYWNrczsJCS8qICMgb2YgdHJhY2tzIHBlciBjeWxpbmRlciAqLworCXVpbnQzMl90CWRfbmN5bGluZGVyczsJCS8qICMgb2YgZGF0YSBjeWxpbmRlcnMgcGVyIHVuaXQgKi8KKwl1aW50MzJfdAlkX3NlY3BlcmN5bDsJCS8qICMgb2YgZGF0YSBzZWN0b3JzIHBlciBjeWxpbmRlciAqLworCXVpbnQzMl90CWRfc2VjcGVydW5pdDsJCS8qICMgb2YgZGF0YSBzZWN0b3JzIHBlciB1bml0ICovCisKKwkvKgorCSAqIFNwYXJlcyAoYmFkIHNlY3RvciByZXBsYWNlbWVudHMpIGJlbG93CisJICogYXJlIG5vdCBjb3VudGVkIGluIGRfbnNlY3RvcnMgb3IgZF9zZWNwZXJjeWwuCisJICogU3BhcmUgc2VjdG9ycyBhcmUgYXNzdW1lZCB0byBiZSBwaHlzaWNhbCBzZWN0b3JzCisJICogd2hpY2ggb2NjdXB5IHNwYWNlIGF0IHRoZSBlbmQgb2YgZWFjaCB0cmFjayBhbmQvb3IgY3lsaW5kZXIuCisJICovCisJdWludDE2X3QJZF9zcGFyZXNwZXJ0cmFjazsJLyogIyBvZiBzcGFyZSBzZWN0b3JzIHBlciB0cmFjayAqLworCXVpbnQxNl90CWRfc3BhcmVzcGVyY3lsOwkJLyogIyBvZiBzcGFyZSBzZWN0b3JzIHBlciBjeWxpbmRlciAqLworCisJLyoKKwkgKiBBbHRlcm5hdGUgY3lsaW5kZXJzIGluY2x1ZGUgbWFpbnRlbmFuY2UsIHJlcGxhY2VtZW50LAorCSAqIGNvbmZpZ3VyYXRpb24gZGVzY3JpcHRpb24gYXJlYXMsIGV0Yy4KKwkgKi8KKwl1aW50MzJfdAlkX2FjeWxpbmRlcnM7CQkvKiAjIG9mIGFsdC4gY3lsaW5kZXJzIHBlciB1bml0ICovCisKKwkJCS8qIGhhcmR3YXJlIGNoYXJhY3RlcmlzdGljczogKi8KKwkvKgorCSAqIGRfaW50ZXJsZWF2ZSwgZF90cmFja3NrZXcgYW5kIGRfY3lsc2tldyBkZXNjcmliZSBwZXJ0dXJiYXRpb25zCisJICogaW4gdGhlIG1lZGlhIGZvcm1hdCB1c2VkIHRvIGNvbXBlbnNhdGUgZm9yIGEgc2xvdyBjb250cm9sbGVyLgorCSAqIEludGVybGVhdmUgaXMgcGh5c2ljYWwgc2VjdG9yIGludGVybGVhdmUsIHNldCB1cCBieSB0aGUgZm9ybWF0dGVyCisJICogb3IgY29udHJvbGxlciB3aGVuIGZvcm1hdHRpbmcuICBXaGVuIGludGVybGVhdmluZyBpcyBpbiB1c2UsCisJICogbG9naWNhbGx5IGFkamFjZW50IHNlY3RvcnMgYXJlIG5vdCBwaHlzaWNhbGx5IGNvbnRpZ3VvdXMsCisJICogYnV0IGluc3RlYWQgYXJlIHNlcGFyYXRlZCBieSBzb21lIG51bWJlciBvZiBzZWN0b3JzLgorCSAqIEl0IGlzIHNwZWNpZmllZCBhcyB0aGUgcmF0aW8gb2YgcGh5c2ljYWwgc2VjdG9ycyB0cmF2ZXJzZWQKKwkgKiBwZXIgbG9naWNhbCBzZWN0b3IuICBUaHVzIGFuIGludGVybGVhdmUgb2YgMToxIGltcGxpZXMgY29udGlndW91cworCSAqIGxheW91dCwgd2hpbGUgMjoxIGltcGxpZXMgdGhhdCBsb2dpY2FsIHNlY3RvciAwIGlzIHNlcGFyYXRlZAorCSAqIGJ5IG9uZSBzZWN0b3IgZnJvbSBsb2dpY2FsIHNlY3RvciAxLgorCSAqIGRfdHJhY2tza2V3IGlzIHRoZSBvZmZzZXQgb2Ygc2VjdG9yIDAgb24gdHJhY2sgTgorCSAqIHJlbGF0aXZlIHRvIHNlY3RvciAwIG9uIHRyYWNrIE4tMSBvbiB0aGUgc2FtZSBjeWxpbmRlci4KKwkgKiBGaW5hbGx5LCBkX2N5bHNrZXcgaXMgdGhlIG9mZnNldCBvZiBzZWN0b3IgMCBvbiBjeWxpbmRlciBOCisJICogcmVsYXRpdmUgdG8gc2VjdG9yIDAgb24gY3lsaW5kZXIgTi0xLgorCSAqLworCXVpbnQxNl90CWRfcnBtOwkJCS8qIHJvdGF0aW9uYWwgc3BlZWQgKi8KKwl1aW50MTZfdAlkX2ludGVybGVhdmU7CQkvKiBoYXJkd2FyZSBzZWN0b3IgaW50ZXJsZWF2ZSAqLworCXVpbnQxNl90CWRfdHJhY2tza2V3OwkJLyogc2VjdG9yIDAgc2tldywgcGVyIHRyYWNrICovCisJdWludDE2X3QJZF9jeWxza2V3OwkJLyogc2VjdG9yIDAgc2tldywgcGVyIGN5bGluZGVyICovCisJdWludDMyX3QJZF9oZWFkc3dpdGNoOwkJLyogaGVhZCBzd2l0Y2ggdGltZSwgdXNlYyAqLworCXVpbnQzMl90CWRfdHJrc2VlazsJCS8qIHRyYWNrLXRvLXRyYWNrIHNlZWssIHVzZWMgKi8KKwl1aW50MzJfdAlkX2ZsYWdzOwkJLyogZ2VuZXJpYyBmbGFncyAqLworCXVpbnQzMl90CWRfZHJpdmVkYXRhWzVdOwkJLyogZHJpdmUtdHlwZSBzcGVjaWZpYyBpbmZvcm1hdGlvbiAqLworCXVpbnQzMl90CWRfc3BhcmVbNV07CQkvKiByZXNlcnZlZCBmb3IgZnV0dXJlIHVzZSAqLworCXVpbnQzMl90CWRfbWFnaWMyOwkJLyogdGhlIG1hZ2ljIG51bWJlciAoYWdhaW4pICovCisJdWludDE2X3QJZF9jaGVja3N1bTsJCS8qIHhvciBvZiBkYXRhIGluY2wuIHBhcnRpdGlvbnMgKi8KKworCQkJLyogZmlsZXN5c3RlbSBhbmQgcGFydGl0aW9uIGluZm9ybWF0aW9uOiAqLworCXVpbnQxNl90CWRfbnBhcnRpdGlvbnM7CSAgICAgICAgLyogbnVtYmVyIG9mIHBhcnRpdGlvbnMgaW4gZm9sbG93aW5nICovCisJdWludDMyX3QJZF9iYnNpemU7CSAgICAgICAgLyogc2l6ZSBvZiBib290IGFyZWEgYXQgc24wLCBieXRlcyAqLworCXVpbnQzMl90CWRfc2JzaXplOwkgICAgICAgIC8qIG1heCBzaXplIG9mIGZzIHN1cGVyYmxvY2ssIGJ5dGVzICovCisKKwlzdHJ1Y3QgYnNkX3BhcnRpdGlvbgkgewkJLyogdGhlIHBhcnRpdGlvbiB0YWJsZSAqLworCQl1aW50MzJfdAlwX3NpemU7CSAgICAgICAgLyogbnVtYmVyIG9mIHNlY3RvcnMgaW4gcGFydGl0aW9uICovCisJCXVpbnQzMl90CXBfb2Zmc2V0OyAgICAgICAvKiBzdGFydGluZyBzZWN0b3IgKi8KKwkJdWludDMyX3QJcF9mc2l6ZTsgICAgICAgIC8qIGZpbGVzeXN0ZW0gYmFzaWMgZnJhZ21lbnQgc2l6ZSAqLworCQl1aW50OF90CQlwX2ZzdHlwZTsJLyogZmlsZXN5c3RlbSB0eXBlLCBzZWUgYmVsb3cgKi8KKwkJdWludDhfdAkJcF9mcmFnOwkJLyogZmlsZXN5c3RlbSBmcmFnbWVudHMgcGVyIGJsb2NrICovCisJCXVpbnQxNl90CXBfY3BnOwkgICAgICAgIC8qIGZpbGVzeXN0ZW0gY3lsaW5kZXJzIHBlciBncm91cCAqLworCX0gX19hdHRyaWJ1dGVfXygocGFja2VkKSkgZF9wYXJ0aXRpb25zW0JTRF9NQVhQQVJUSVRJT05TXTsJLyogYWN0dWFsbHkgbWF5IGJlIG1vcmUgKi8KK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKworLyogZF90eXBlIHZhbHVlczogKi8KKyNkZWZpbmUJQlNEX0RUWVBFX1NNRAkJMQkJLyogU01ELCBYU01EOyBWQVggaHAvdXAgKi8KKyNkZWZpbmUJQlNEX0RUWVBFX01TQ1AJCTIJCS8qIE1TQ1AgKi8KKyNkZWZpbmUJQlNEX0RUWVBFX0RFQwkJMwkJLyogb3RoZXIgREVDIChyaywgcmwpICovCisjZGVmaW5lCUJTRF9EVFlQRV9TQ1NJCQk0CQkvKiBTQ1NJICovCisjZGVmaW5lCUJTRF9EVFlQRV9FU0RJCQk1CQkvKiBFU0RJIGludGVyZmFjZSAqLworI2RlZmluZQlCU0RfRFRZUEVfU1Q1MDYJCTYJCS8qIFNUNTA2IGV0Yy4gKi8KKyNkZWZpbmUJQlNEX0RUWVBFX0hQSUIJCTcJCS8qIENTLzgwIG9uIEhQLUlCICovCisjZGVmaW5lIEJTRF9EVFlQRV9IUEZMCQk4CQkvKiBIUCBGaWJlci1saW5rICovCisjZGVmaW5lCUJTRF9EVFlQRV9GTE9QUFkJMTAJCS8qIGZsb3BweSAqLworCisvKiBkX3N1YnR5cGUgdmFsdWVzOiAqLworI2RlZmluZSBCU0RfRFNUWVBFX0lORE9TUEFSVAkweDgJCS8qIGlzIGluc2lkZSBkb3MgcGFydGl0aW9uICovCisjZGVmaW5lIEJTRF9EU1RZUEVfRE9TUEFSVChzKQkoKHMpICYgMykJLyogZG9zIHBhcnRpdGlvbiBudW1iZXIgKi8KKyNkZWZpbmUgQlNEX0RTVFlQRV9HRU9NRVRSWQkweDEwCQkvKiBkcml2ZSBwYXJhbXMgaW4gbGFiZWwgKi8KKworLyoKKyAqIEZpbGVzeXN0ZW0gdHlwZSBhbmQgdmVyc2lvbi4KKyAqIFVzZWQgdG8gaW50ZXJwcmV0IG90aGVyIGZpbGVzeXN0ZW0tc3BlY2lmaWMKKyAqIHBlci1wYXJ0aXRpb24gaW5mb3JtYXRpb24uCisgKi8KKyNkZWZpbmUJQlNEX0ZTX1VOVVNFRAkwCQkvKiB1bnVzZWQgKi8KKyNkZWZpbmUJQlNEX0ZTX1NXQVAgICAgCTEJCS8qIHN3YXAgKi8KKyNkZWZpbmUJQlNEX0ZTX1Y2ICAgICAgCTIJCS8qIFNpeHRoIEVkaXRpb24gKi8KKyNkZWZpbmUJQlNEX0ZTX1Y3ICAgICAgCTMJCS8qIFNldmVudGggRWRpdGlvbiAqLworI2RlZmluZQlCU0RfRlNfU1lTViAgICAJNAkJLyogU3lzdGVtIFYgKi8KKyNkZWZpbmUJQlNEX0ZTX1Y3MUsgICAgCTUJCS8qIFY3IHdpdGggMUsgYmxvY2tzICg0LjEsIDIuOSkgKi8KKyNkZWZpbmUJQlNEX0ZTX1Y4ICAgICAgCTYJCS8qIEVpZ2h0aCBFZGl0aW9uLCA0SyBibG9ja3MgKi8KKyNkZWZpbmUJQlNEX0ZTX0JTREZGUwk3CQkvKiA0LjJCU0QgZmFzdCBmaWxlIHN5c3RlbSAqLworI2RlZmluZQlCU0RfRlNfQlNETEZTCTkJCS8qIDQuNEJTRCBsb2ctc3RydWN0dXJlZCBmaWxlIHN5c3RlbSAqLworI2RlZmluZQlCU0RfRlNfT1RIRVIJMTAJCS8qIGluIHVzZSwgYnV0IHVua25vd24vdW5zdXBwb3J0ZWQgKi8KKyNkZWZpbmUJQlNEX0ZTX0hQRlMJMTEJCS8qIE9TLzIgaGlnaC1wZXJmb3JtYW5jZSBmaWxlIHN5c3RlbSAqLworI2RlZmluZQlCU0RfRlNfSVNPOTY2MAkxMgkJLyogSVNPLTk2NjAgZmlsZXN5c3RlbSAoY2Ryb20pICovCisjZGVmaW5lIEJTRF9GU19JU09GUwlCU0RfRlNfSVNPOTY2MAorI2RlZmluZQlCU0RfRlNfQk9PVAkxMwkJLyogcGFydGl0aW9uIGNvbnRhaW5zIGJvb3RzdHJhcCAqLworI2RlZmluZSBCU0RfRlNfQURPUwkxNAkJLyogQW1pZ2FET1MgZmFzdCBmaWxlIHN5c3RlbSAqLworI2RlZmluZSBCU0RfRlNfSEZTCTE1CQkvKiBNYWNpbnRvc2ggSEZTICovCisjZGVmaW5lIEJTRF9GU19BRFZGUwkxNgkJLyogRGlnaXRhbCBVbml4IEFkdkZTICovCisKKy8qIHRoaXMgaXMgYW5ub3lpbmcsIGJ1dCBpdCdzIGFsc28gdGhlIHdheSBpdCBpcyA6LSggKi8KKyNpZmRlZiBfX2FscGhhX18KKyNkZWZpbmUJQlNEX0ZTX0VYVDIJOAkJLyogZXh0MiBmaWxlIHN5c3RlbSAqLworI2Vsc2UKKyNkZWZpbmUJQlNEX0ZTX01TRE9TCTgJCS8qIE1TLURPUyBmaWxlIHN5c3RlbSAqLworI2VuZGlmCisKKy8qCisgKiBmbGFncyBzaGFyZWQgYnkgdmFyaW91cyBkcml2ZXM6CisgKi8KKyNkZWZpbmUJQlNEX0RfUkVNT1ZBQkxFCTB4MDEJCS8qIHJlbW92YWJsZSBtZWRpYSAqLworI2RlZmluZQlCU0RfRF9FQ0MgICAgICAJMHgwMgkJLyogc3VwcG9ydHMgRUNDICovCisjZGVmaW5lCUJTRF9EX0JBRFNFQ1QJMHgwNAkJLyogc3VwcG9ydHMgYmFkIHNlY3RvciBmb3J3LiAqLworI2RlZmluZQlCU0RfRF9SQU1ESVNLCTB4MDgJCS8qIGRpc2sgZW11bGF0b3IgKi8KKyNkZWZpbmUJQlNEX0RfQ0hBSU4gICAgCTB4MTAJCS8qIGNhbiBkbyBiYWNrLWJhY2sgdHJhbnNmZXJzICovCisjZGVmaW5lCUJTRF9EX0RPU1BBUlQJMHgyMAkJLyogd2l0aGluIE1TRE9TIHBhcnRpdGlvbiAqLworCisjZW5kaWYgLyogVVRJTF9MSU5VWF9QVF9CU0RfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmggYi9pbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZTZkYTAzCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmgKQEAgLTAsMCArMSwxMDkgQEAKKwl7MHgwMCwgTl8oIkVtcHR5Iil9LAorCXsweDAxLCBOXygiRkFUMTIiKX0sCisJezB4MDIsIE5fKCJYRU5JWCByb290Iil9LAorCXsweDAzLCBOXygiWEVOSVggdXNyIil9LAorCXsweDA0LCBOXygiRkFUMTYgPDMyTSIpfSwKKwl7MHgwNSwgTl8oIkV4dGVuZGVkIil9LAkJLyogRE9TIDMuMysgZXh0ZW5kZWQgcGFydGl0aW9uICovCisJezB4MDYsIE5fKCJGQVQxNiIpfSwJCS8qIERPUyAxNi1iaXQgPj0zMk0gKi8KKwl7MHgwNywgTl8oIkhQRlMvTlRGUy9leEZBVCIpfSwJLyogT1MvMiBJRlMsIGVnLCBIUEZTIG9yIE5URlMgb3IgUU5YIG9yIGV4RkFUICovCisJezB4MDgsIE5fKCJBSVgiKX0sCQkvKiBBSVggYm9vdCAoQUlYIC0tIFBTLzIgcG9ydCkgb3IgU3BsaXREcml2ZSAqLworCXsweDA5LCBOXygiQUlYIGJvb3RhYmxlIil9LAkvKiBBSVggZGF0YSBvciBDb2hlcmVudCAqLworCXsweDBhLCBOXygiT1MvMiBCb290IE1hbmFnZXIiKX0sLyogT1MvMiBCb290IE1hbmFnZXIgKi8KKwl7MHgwYiwgTl8oIlc5NSBGQVQzMiIpfSwKKwl7MHgwYywgTl8oIlc5NSBGQVQzMiAoTEJBKSIpfSwvKiBMQkEgcmVhbGx5IGlzIGBFeHRlbmRlZCBJbnQgMTNoJyAqLworCXsweDBlLCBOXygiVzk1IEZBVDE2IChMQkEpIil9LAorCXsweDBmLCBOXygiVzk1IEV4dCdkIChMQkEpIil9LAorCXsweDEwLCBOXygiT1BVUyIpfSwKKwl7MHgxMSwgTl8oIkhpZGRlbiBGQVQxMiIpfSwKKwl7MHgxMiwgTl8oIkNvbXBhcSBkaWFnbm9zdGljcyIpfSwKKwl7MHgxNCwgTl8oIkhpZGRlbiBGQVQxNiA8MzJNIil9LAorCXsweDE2LCBOXygiSGlkZGVuIEZBVDE2Iil9LAorCXsweDE3LCBOXygiSGlkZGVuIEhQRlMvTlRGUyIpfSwKKwl7MHgxOCwgTl8oIkFTVCBTbWFydFNsZWVwIil9LAorCXsweDFiLCBOXygiSGlkZGVuIFc5NSBGQVQzMiIpfSwKKwl7MHgxYywgTl8oIkhpZGRlbiBXOTUgRkFUMzIgKExCQSkiKX0sCisJezB4MWUsIE5fKCJIaWRkZW4gVzk1IEZBVDE2IChMQkEpIil9LAorCXsweDI0LCBOXygiTkVDIERPUyIpfSwKKwl7MHgyNywgTl8oIkhpZGRlbiBOVEZTIFdpblJFIil9LAorCXsweDM5LCBOXygiUGxhbiA5Iil9LAorCXsweDNjLCBOXygiUGFydGl0aW9uTWFnaWMgcmVjb3ZlcnkiKX0sCisJezB4NDAsIE5fKCJWZW5peCA4MDI4NiIpfSwKKwl7MHg0MSwgTl8oIlBQQyBQUmVQIEJvb3QiKX0sCisJezB4NDIsIE5fKCJTRlMiKX0sCisJezB4NGQsIE5fKCJRTlg0LngiKX0sCisJezB4NGUsIE5fKCJRTlg0LnggMm5kIHBhcnQiKX0sCisJezB4NGYsIE5fKCJRTlg0LnggM3JkIHBhcnQiKX0sCisJezB4NTAsIE5fKCJPblRyYWNrIERNIil9LAorCXsweDUxLCBOXygiT25UcmFjayBETTYgQXV4MSIpfSwJLyogKG9yIE5vdmVsbCkgKi8KKwl7MHg1MiwgTl8oIkNQL00iKX0sCQkvKiBDUC9NIG9yIE1pY3JvcG9ydCBTeXNWL0FUICovCisJezB4NTMsIE5fKCJPblRyYWNrIERNNiBBdXgzIil9LAorCXsweDU0LCBOXygiT25UcmFja0RNNiIpfSwKKwl7MHg1NSwgTl8oIkVaLURyaXZlIil9LAorCXsweDU2LCBOXygiR29sZGVuIEJvdyIpfSwKKwl7MHg1YywgTl8oIlByaWFtIEVkaXNrIil9LAorCXsweDYxLCBOXygiU3BlZWRTdG9yIil9LAorCXsweDYzLCBOXygiR05VIEhVUkQgb3IgU3lzViIpfSwJLyogR05VIEhVUkQgb3IgTWFjaCBvciBTeXMgVi8zODYgKHN1Y2ggYXMgSVNDIFVOSVgpICovCisJezB4NjQsIE5fKCJOb3ZlbGwgTmV0d2FyZSAyODYiKX0sCisJezB4NjUsIE5fKCJOb3ZlbGwgTmV0d2FyZSAzODYiKX0sCisJezB4NzAsIE5fKCJEaXNrU2VjdXJlIE11bHRpLUJvb3QiKX0sCisJezB4NzUsIE5fKCJQQy9JWCIpfSwKKwl7MHg4MCwgTl8oIk9sZCBNaW5peCIpfSwJLyogTWluaXggMS40YSBhbmQgZWFybGllciAqLworCXsweDgxLCBOXygiTWluaXggLyBvbGQgTGludXgiKX0sLyogTWluaXggMS40YiBhbmQgbGF0ZXIgKi8KKwl7MHg4MiwgTl8oIkxpbnV4IHN3YXAgLyBTb2xhcmlzIil9LAorCXsweDgzLCBOXygiTGludXgiKX0sCisJezB4ODQsIE5fKCJPUy8yIGhpZGRlbiBvciBJbnRlbCBoaWJlcm5hdGlvbiIpfSwvKiBPUy8yIGhpZGRlbiBDOiBkcml2ZSwKKwkJCQkJICAgaGliZXJuYXRpb24gdHlwZSBNaWNyb3NvZnQgQVBNCisJCQkJCSAgIG9yIGhpYmVybmF0aW9uIEludGVsIFJhcGlkIFN0YXJ0ICovCisJezB4ODUsIE5fKCJMaW51eCBleHRlbmRlZCIpfSwKKwl7MHg4NiwgTl8oIk5URlMgdm9sdW1lIHNldCIpfSwKKwl7MHg4NywgTl8oIk5URlMgdm9sdW1lIHNldCIpfSwKKwl7MHg4OCwgTl8oIkxpbnV4IHBsYWludGV4dCIpfSwKKwl7MHg4ZSwgTl8oIkxpbnV4IExWTSIpfSwKKwl7MHg5MywgTl8oIkFtb2ViYSIpfSwKKwl7MHg5NCwgTl8oIkFtb2ViYSBCQlQiKX0sCS8qIChiYWQgYmxvY2sgdGFibGUpICovCisJezB4OWYsIE5fKCJCU0QvT1MiKX0sCQkvKiBCU0RJICovCisJezB4YTAsIE5fKCJJQk0gVGhpbmtwYWQgaGliZXJuYXRpb24iKX0sCisJezB4YTUsIE5fKCJGcmVlQlNEIil9LAkJLyogdmFyaW91cyBCU0QgZmxhdm91cnMgKi8KKwl7MHhhNiwgTl8oIk9wZW5CU0QiKX0sCisJezB4YTcsIE5fKCJOZVhUU1RFUCIpfSwKKwl7MHhhOCwgTl8oIkRhcndpbiBVRlMiKX0sCisJezB4YTksIE5fKCJOZXRCU0QiKX0sCisJezB4YWIsIE5fKCJEYXJ3aW4gYm9vdCIpfSwKKwl7MHhhZiwgTl8oIkhGUyAvIEhGUysiKX0sCisJezB4YjcsIE5fKCJCU0RJIGZzIil9LAorCXsweGI4LCBOXygiQlNESSBzd2FwIil9LAorCXsweGJiLCBOXygiQm9vdCBXaXphcmQgaGlkZGVuIil9LAorCXsweGJjLCBOXygiQWNyb25pcyBGQVQzMiBMQkEiKX0sLyogaGlkZGVuICgrMHhiMCkgQWNyb25pcyBTZWN1cmUgWm9uZSAoYmFja3VwIHNvZnR3YXJlKSAqLworCXsweGJlLCBOXygiU29sYXJpcyBib290Iil9LAorCXsweGJmLCBOXygiU29sYXJpcyIpfSwKKwl7MHhjMSwgTl8oIkRSRE9TL3NlYyAoRkFULTEyKSIpfSwKKwl7MHhjNCwgTl8oIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIpfSwKKwl7MHhjNiwgTl8oIkRSRE9TL3NlYyAoRkFULTE2KSIpfSwKKwl7MHhjNywgTl8oIlN5cmlueCIpfSwKKwl7MHhkYSwgTl8oIk5vbi1GUyBkYXRhIil9LAorCXsweGRiLCBOXygiQ1AvTSAvIENUT1MgLyAuLi4iKX0sLyogQ1AvTSBvciBDb25jdXJyZW50IENQL00gb3IKKwkJCQkJICAgQ29uY3VycmVudCBET1Mgb3IgQ1RPUyAqLworCXsweGRlLCBOXygiRGVsbCBVdGlsaXR5Iil9LAkvKiBEZWxsIFBvd2VyRWRnZSBTZXJ2ZXIgdXRpbGl0aWVzICovCisJezB4ZGYsIE5fKCJCb290SXQiKX0sCQkvKiBCb290SXQgRU1CUk0gKi8KKwl7MHhlMSwgTl8oIkRPUyBhY2Nlc3MiKX0sCS8qIERPUyBhY2Nlc3Mgb3IgU3BlZWRTdG9yIDEyLWJpdCBGQVQKKwkJCQkJICAgZXh0ZW5kZWQgcGFydGl0aW9uICovCisJezB4ZTMsIE5fKCJET1MgUi9PIil9LAkJLyogRE9TIFIvTyBvciBTcGVlZFN0b3IgKi8KKwl7MHhlNCwgTl8oIlNwZWVkU3RvciIpfSwJLyogU3BlZWRTdG9yIDE2LWJpdCBGQVQgZXh0ZW5kZWQKKwkJCQkJICAgcGFydGl0aW9uIDwgMTAyNCBjeWwuICovCisJezB4ZWEsIE5fKCJSdWZ1cyBhbGlnbm1lbnQiKX0sCS8qIFJ1ZnVzIGV4dHJhIHBhcnRpdGlvbiBmb3IgYWxpZ25tZW50ICovCisJezB4ZWIsIE5fKCJCZU9TIGZzIil9LAorCXsweGVlLCBOXygiR1BUIil9LAkJLyogSW50ZWwgRUZJIEdVSUQgUGFydGl0aW9uIFRhYmxlICovCisJezB4ZWYsIE5fKCJFRkkgKEZBVC0xMi8xNi8zMikiKX0sLyogSW50ZWwgRUZJIFN5c3RlbSBQYXJ0aXRpb24gKi8KKwl7MHhmMCwgTl8oIkxpbnV4L1BBLVJJU0MgYm9vdCIpfSwvKiBMaW51eC9QQS1SSVNDIGJvb3QgbG9hZGVyICovCisJezB4ZjEsIE5fKCJTcGVlZFN0b3IiKX0sCisJezB4ZjQsIE5fKCJTcGVlZFN0b3IiKX0sCS8qIFNwZWVkU3RvciBsYXJnZSBwYXJ0aXRpb24gKi8KKwl7MHhmMiwgTl8oIkRPUyBzZWNvbmRhcnkiKX0sCS8qIERPUyAzLjMrIHNlY29uZGFyeSAqLworCXsweGZiLCBOXygiVk13YXJlIFZNRlMiKX0sCisJezB4ZmMsIE5fKCJWTXdhcmUgVk1LQ09SRSIpfSwJLyogVk13YXJlIGtlcm5lbCBkdW1wIHBhcnRpdGlvbiAqLworCXsweGZkLCBOXygiTGludXggcmFpZCBhdXRvZGV0ZWN0Iil9LC8qIE5ldyAoMi4yLngpIHJhaWQgcGFydGl0aW9uIHdpdGgKKwkJCQkJICAgICAgIGF1dG9kZXRlY3QgdXNpbmcgcGVyc2lzdGVudAorCQkJCQkgICAgICAgc3VwZXJibG9jayAqLworCXsweGZlLCBOXygiTEFOc3RlcCIpfSwJCS8qIFNwZWVkU3RvciA+MTAyNCBjeWwuIG9yIExBTnN0ZXAgKi8KKwl7MHhmZiwgTl8oIkJCVCIpfSwJCS8qIFhlbml4IEJhZCBCbG9jayBUYWJsZSAqLworCisJeyAwLCAwIH0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvcHQtbWJyLmggYi9pbmNsdWRlL3B0LW1ici5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwYmU5NWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL3B0LW1ici5oCkBAIC0wLDAgKzEsMTgyIEBACisjaWZuZGVmIFVUSUxfTElOVVhfUFRfTUJSX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9QVF9NQlJfSAorCitzdHJ1Y3QgZG9zX3BhcnRpdGlvbiB7CisJdW5zaWduZWQgY2hhciBib290X2luZDsJCS8qIDB4ODAgLSBhY3RpdmUgKi8KKwl1bnNpZ25lZCBjaGFyIGJoLCBicywgYmM7CS8qIGJlZ2luIENIUyAqLworCXVuc2lnbmVkIGNoYXIgc3lzX2luZDsKKwl1bnNpZ25lZCBjaGFyIGVoLCBlcywgZWM7CS8qIGVuZCBDSFMgKi8KKwl1bnNpZ25lZCBjaGFyIHN0YXJ0X3NlY3RbNF07CisJdW5zaWduZWQgY2hhciBucl9zZWN0c1s0XTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKyNkZWZpbmUgTUJSX1BUX09GRlNFVAkJMHgxYmUKKyNkZWZpbmUgTUJSX1BUX0JPT1RCSVRTX1NJWkUJNDQwCisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGRvc19wYXJ0aXRpb24gKm1icl9nZXRfcGFydGl0aW9uKHVuc2lnbmVkIGNoYXIgKm1iciwgaW50IGkpCit7CisJcmV0dXJuIChzdHJ1Y3QgZG9zX3BhcnRpdGlvbiAqKQorCQkobWJyICsgTUJSX1BUX09GRlNFVCArIChpICogc2l6ZW9mKHN0cnVjdCBkb3NfcGFydGl0aW9uKSkpOworfQorCisvKiBhc3NlbWJsZSBiYWRseSBhbGlnbmVkIGxpdHRsZSBlbmRpYW4gaW50ZWdlciAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgX19kb3NfYXNzZW1ibGVfNGxlKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnApCit7CisJcmV0dXJuIHBbMF0gfCAocFsxXSA8PCA4KSB8IChwWzJdIDw8IDE2KSB8IChwWzNdIDw8IDI0KTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIF9fZG9zX3N0b3JlXzRsZSh1bnNpZ25lZCBjaGFyICpwLCB1bnNpZ25lZCBpbnQgdmFsKQoreworCXBbMF0gPSAodmFsICYgMHhmZik7CisJcFsxXSA9ICgodmFsID4+IDgpICYgMHhmZik7CisJcFsyXSA9ICgodmFsID4+IDE2KSAmIDB4ZmYpOworCXBbM10gPSAoKHZhbCA+PiAyNCkgJiAweGZmKTsKK30KKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgZG9zX3BhcnRpdGlvbl9nZXRfc3RhcnQoc3RydWN0IGRvc19wYXJ0aXRpb24gKnApCit7CisJcmV0dXJuIF9fZG9zX2Fzc2VtYmxlXzRsZSgmKHAtPnN0YXJ0X3NlY3RbMF0pKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGRvc19wYXJ0aXRpb25fc2V0X3N0YXJ0KHN0cnVjdCBkb3NfcGFydGl0aW9uICpwLCB1bnNpZ25lZCBpbnQgbikKK3sKKwlfX2Rvc19zdG9yZV80bGUocC0+c3RhcnRfc2VjdCwgbik7Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGRvc19wYXJ0aXRpb25fZ2V0X3NpemUoc3RydWN0IGRvc19wYXJ0aXRpb24gKnApCit7CisJcmV0dXJuIF9fZG9zX2Fzc2VtYmxlXzRsZSgmKHAtPm5yX3NlY3RzWzBdKSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBkb3NfcGFydGl0aW9uX3NldF9zaXplKHN0cnVjdCBkb3NfcGFydGl0aW9uICpwLCB1bnNpZ25lZCBpbnQgbikKK3sKKwlfX2Rvc19zdG9yZV80bGUocC0+bnJfc2VjdHMsIG4pOworfQorCitzdGF0aWMgaW5saW5lIGludCBtYnJfaXNfdmFsaWRfbWFnaWMoY29uc3QgdW5zaWduZWQgY2hhciAqbWJyKQoreworCXJldHVybiBtYnJbNTEwXSA9PSAweDU1ICYmIG1icls1MTFdID09IDB4YWEgPyAxIDogMDsKK30KKworc3RhdGljIGlubGluZSB2b2lkIG1icl9zZXRfbWFnaWModW5zaWduZWQgY2hhciAqYikKK3sKKwliWzUxMF0gPSAweDU1OworCWJbNTExXSA9IDB4YWE7Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IG1icl9nZXRfaWQoY29uc3QgdW5zaWduZWQgY2hhciAqbWJyKQoreworCXJldHVybiBfX2Rvc19hc3NlbWJsZV80bGUoJm1icls0NDBdKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIG1icl9zZXRfaWQodW5zaWduZWQgY2hhciAqYiwgdW5zaWduZWQgaW50IGlkKQoreworCV9fZG9zX3N0b3JlXzRsZSgmYls0NDBdLCBpZCk7Cit9CisKK2VudW0geworCU1CUl9FTVBUWV9QQVJUSVRJT04JCT0gMHgwMCwKKwlNQlJfRkFUMTJfUEFSVElUSU9OCQk9IDB4MDEsCisJTUJSX1hFTklYX1JPT1RfUEFSVElUSU9OCT0gMHgwMiwKKwlNQlJfWEVOSVhfVVNSX1BBUlRJVElPTgkJPSAweDAzLAorCU1CUl9GQVQxNl9MRVNTMzJNX1BBUlRJVElPTgk9IDB4MDQsCisJTUJSX0RPU19FWFRFTkRFRF9QQVJUSVRJT04JPSAweDA1LAorCU1CUl9GQVQxNl9QQVJUSVRJT04JCT0gMHgwNiwgLyogRE9TIDE2LWJpdCA+PTMyTSAqLworCU1CUl9IUEZTX05URlNfUEFSVElUSU9OCQk9IDB4MDcsIC8qIE9TLzIgSUZTLCBlZywgSFBGUyBvciBOVEZTIG9yIFFOWCAqLworCU1CUl9BSVhfUEFSVElUSU9OCQk9IDB4MDgsIC8qIEFJWCBib290IChBSVggLS0gUFMvMiBwb3J0KSBvciBTcGxpdERyaXZlICovCisJTUJSX0FJWF9CT09UQUJMRV9QQVJUSVRJT04JPSAweDA5LCAvKiBBSVggZGF0YSBvciBDb2hlcmVudCAqLworCU1CUl9PUzJfQk9PVE1OR1JfUEFSVElUSU9OCT0gMHgwYSwgLyogT1MvMiBCb290IE1hbmFnZXIgKi8KKwlNQlJfVzk1X0ZBVDMyX1BBUlRJVElPTgkJPSAweDBiLAorCU1CUl9XOTVfRkFUMzJfTEJBX1BBUlRJVElPTgk9IDB4MGMsIC8qIExCQSByZWFsbHkgaXMgYEV4dGVuZGVkIEludCAxM2gnICovCisJTUJSX1c5NV9GQVQxNl9MQkFfUEFSVElUSU9OCT0gMHgwZSwKKwlNQlJfVzk1X0VYVEVOREVEX1BBUlRJVElPTgk9IDB4MGYsCisJTUJSX09QVVNfUEFSVElUSU9OCQk9IDB4MTAsCisJTUJSX0hJRERFTl9GQVQxMl9QQVJUSVRJT04JPSAweDExLAorCU1CUl9DT01QQVFfRElBR05PU1RJQ1NfUEFSVElUSU9OID0gMHgxMiwKKwlNQlJfSElEREVOX0ZBVDE2X0wzMk1fUEFSVElUSU9OCT0gMHgxNCwKKwlNQlJfSElEREVOX0ZBVDE2X1BBUlRJVElPTgk9IDB4MTYsCisJTUJSX0hJRERFTl9IUEZTX05URlNfUEFSVElUSU9OCT0gMHgxNywKKwlNQlJfQVNUX1NNQVJUU0xFRVBfUEFSVElUSU9OCT0gMHgxOCwKKwlNQlJfSElEREVOX1c5NV9GQVQzMl9QQVJUSVRJT04JPSAweDFiLAorCU1CUl9ISURERU5fVzk1X0ZBVDMyTEJBX1BBUlRJVElPTiA9IDB4MWMsCisJTUJSX0hJRERFTl9XOTVfRkFUMTZMQkFfUEFSVElUSU9OID0gMHgxZSwKKwlNQlJfTkVDX0RPU19QQVJUSVRJT04JCT0gMHgyNCwKKwlNQlJfUExBTjlfUEFSVElUSU9OCQk9IDB4MzksCisJTUJSX1BBUlRJVElPTk1BR0lDX1BBUlRJVElPTgk9IDB4M2MsCisJTUJSX1ZFTklYODAyODZfUEFSVElUSU9OCT0gMHg0MCwKKwlNQlJfUFBDX1BSRVBfQk9PVF9QQVJUSVRJT04JPSAweDQxLAorCU1CUl9TRlNfUEFSVElUSU9OCQk9IDB4NDIsCisJTUJSX1FOWF80WF9QQVJUSVRJT04JCT0gMHg0ZCwKKwlNQlJfUU5YXzRYXzJORF9QQVJUSVRJT04JPSAweDRlLAorCU1CUl9RTlhfNFhfM1JEX1BBUlRJVElPTgk9IDB4NGYsCisJTUJSX0RNX1BBUlRJVElPTgkJPSAweDUwLAorCU1CUl9ETTZfQVVYMV9QQVJUSVRJT04JCT0gMHg1MSwgLyogKG9yIE5vdmVsbCkgKi8KKwlNQlJfQ1BNX1BBUlRJVElPTgkJPSAweDUyLCAvKiBDUC9NIG9yIE1pY3JvcG9ydCBTeXNWL0FUICovCisJTUJSX0RNNl9BVVgzX1BBUlRJVElPTgkJPSAweDUzLAorCU1CUl9ETTZfUEFSVElUSU9OCQk9IDB4NTQsCisJTUJSX0VaX0RSSVZFX1BBUlRJVElPTgkJPSAweDU1LAorCU1CUl9HT0xERU5fQk9XX1BBUlRJVElPTgk9IDB4NTYsCisJTUJSX1BSSUFNX0VESVNLX1BBUlRJVElPTgk9IDB4NWMsCisJTUJSX1NQRUVEU1RPUl9QQVJUSVRJT04JCT0gMHg2MSwKKwlNQlJfR05VX0hVUkRfUEFSVElUSU9OCQk9IDB4NjMsIC8qIEdOVSBIVVJEIG9yIE1hY2ggb3IgU3lzIFYvMzg2IChzdWNoIGFzIElTQyBVTklYKSAqLworCU1CUl9VTklYV0FSRV9QQVJUSVRJT04JCT0gTUJSX0dOVV9IVVJEX1BBUlRJVElPTiwKKwlNQlJfTkVUV0FSRV8yODZfUEFSVElUSU9OCT0gMHg2NCwKKwlNQlJfTkVUV0FSRV8zODZfUEFSVElUSU9OCT0gMHg2NSwKKwlNQlJfRElTS1NFQ1VSRV9NVUxUSUJPT1RfUEFSVElUSU9OID0gMHg3MCwKKwlNQlJfUENfSVhfUEFSVElUSU9OCQk9IDB4NzUsCisJTUJSX09MRF9NSU5JWF9QQVJUSVRJT04JCT0gMHg4MCwgLyogTWluaXggMS40YSBhbmQgZWFybGllciAqLworCU1CUl9NSU5JWF9QQVJUSVRJT04JCT0gMHg4MSwgLyogTWluaXggMS40YiBhbmQgbGF0ZXIgKi8KKwlNQlJfTElOVVhfU1dBUF9QQVJUSVRJT04JPSAweDgyLAorCU1CUl9TT0xBUklTX1g4Nl9QQVJUSVRJT04JPSBNQlJfTElOVVhfU1dBUF9QQVJUSVRJT04sCisJTUJSX0xJTlVYX0RBVEFfUEFSVElUSU9OCT0gMHg4MywKKwlNQlJfT1MyX0hJRERFTl9EUklWRV9QQVJUSVRJT04JPSAweDg0LCAvKiBhbHNvIGhpYmVybmF0aW9uIE1TIEFQTSwgSW50ZWwgUmFwaWQgU3RhcnQgKi8KKwlNQlJfSU5URUxfSElCRVJOQVRJT05fUEFSVElUSU9OCT0gTUJSX09TMl9ISURERU5fRFJJVkVfUEFSVElUSU9OLAorCU1CUl9MSU5VWF9FWFRFTkRFRF9QQVJUSVRJT04JPSAweDg1LAorCU1CUl9OVEZTX1ZPTF9TRVQxX1BBUlRJVElPTgk9IDB4ODYsCisJTUJSX05URlNfVk9MX1NFVDJfUEFSVElUSU9OCT0gMHg4NywKKwlNQlJfTElOVVhfUExBSU5URVhUX1BBUlRJVElPTgk9IDB4ODgsCisJTUJSX0xJTlVYX0xWTV9QQVJUSVRJT04JCT0gMHg4ZSwKKwlNQlJfQU1PRUJBX1BBUlRJVElPTgkJPSAweDkzLAorCU1CUl9BTU9FQkFfQkJUX1BBUlRJVElPTgk9IDB4OTQsIC8qIChiYWQgYmxvY2sgdGFibGUpICovCisJTUJSX0JTRF9PU19QQVJUSVRJT04JCT0gMHg5ZiwgLyogQlNESSAqLworCU1CUl9USElOS1BBRF9ISUJFUk5BVElPTl9QQVJUSVRJT04gPSAweGEwLAorCU1CUl9GUkVFQlNEX1BBUlRJVElPTgkJPSAweGE1LCAvKiB2YXJpb3VzIEJTRCBmbGF2b3VycyAqLworCU1CUl9PUEVOQlNEX1BBUlRJVElPTgkJPSAweGE2LAorCU1CUl9ORVhUU1RFUF9QQVJUSVRJT04JCT0gMHhhNywKKwlNQlJfREFSV0lOX1VGU19QQVJUSVRJT04JPSAweGE4LAorCU1CUl9ORVRCU0RfUEFSVElUSU9OCQk9IDB4YTksCisJTUJSX0RBUldJTl9CT09UX1BBUlRJVElPTgk9IDB4YWIsCisJTUJSX0hGU19IRlNfUEFSVElUSU9OCQk9IDB4YWYsCisJTUJSX0JTRElfRlNfUEFSVElUSU9OCQk9IDB4YjcsCisJTUJSX0JTRElfU1dBUF9QQVJUSVRJT04JCT0gMHhiOCwKKwlNQlJfQk9PVFdJWkFSRF9ISURERU5fUEFSVElUSU9OCT0gMHhiYiwKKwlNQlJfQUNST05JU19GQVQzMkxCQV9QQVJUSVRJT04gID0gMHhiYywgLyogQWNyb25pcyBTZWN1cmUgWm9uZSB3aXRoIGlwbCBmb3IgbG9hZGVyIEYxMS5TWVMgKi8KKwlNQlJfU09MQVJJU19CT09UX1BBUlRJVElPTgk9IDB4YmUsCisJTUJSX1NPTEFSSVNfUEFSVElUSU9OCQk9IDB4YmYsCisJTUJSX0RSRE9TX0ZBVDEyX1BBUlRJVElPTgk9IDB4YzEsCisJTUJSX0RSRE9TX0ZBVDE2X0wzMk1fUEFSVElUSU9OCT0gMHhjNCwKKwlNQlJfRFJET1NfRkFUMTZfUEFSVElUSU9OCT0gMHhjNiwKKwlNQlJfU1lSSU5YX1BBUlRJVElPTgkJPSAweGM3LAorCU1CUl9OT05GU19EQVRBX1BBUlRJVElPTgk9IDB4ZGEsCisJTUJSX0NQTV9DVE9TX1BBUlRJVElPTgkJPSAweGRiLCAvKiBDUC9NIG9yIENvbmN1cnJlbnQgQ1AvTSBvciBDb25jdXJyZW50IERPUyBvciBDVE9TICovCisJTUJSX0RFTExfVVRJTElUWV9QQVJUSVRJT04JPSAweGRlLCAvKiBEZWxsIFBvd2VyRWRnZSBTZXJ2ZXIgdXRpbGl0aWVzICovCisJTUJSX0JPT1RJVF9QQVJUSVRJT04JCT0gMHhkZiwgLyogQm9vdEl0IEVNQlJNICovCisJTUJSX0RPU19BQ0NFU1NfUEFSVElUSU9OCT0gMHhlMSwgLyogRE9TIGFjY2VzcyBvciBTcGVlZFN0b3IgMTItYml0IEZBVCBleHRlbmRlZCBwYXJ0aXRpb24gKi8KKwlNQlJfRE9TX1JPX1BBUlRJVElPTgkJPSAweGUzLCAvKiBET1MgUi9PIG9yIFNwZWVkU3RvciAqLworCU1CUl9TUEVFRFNUT1JfRVhURU5ERURfUEFSVElUSU9OID0gMHhlNCwgLyogU3BlZWRTdG9yIDE2LWJpdCBGQVQgZXh0ZW5kZWQgcGFydGl0aW9uIDwgMTAyNCBjeWwuICovCisJTUJSX1JVRlVTX0VYVFJBX1BBUlRJVElPTgk9IDB4ZWEsIC8qIFJ1ZnVzIGV4dHJhIHBhcnRpdGlvbiBmb3IgYWxpZ25tZW50ICovCisJTUJSX0JFT1NfRlNfUEFSVElUSU9OCQk9IDB4ZWIsCisJTUJSX0dQVF9QQVJUSVRJT04JCT0gMHhlZSwgLyogSW50ZWwgRUZJIEdVSUQgUGFydGl0aW9uIFRhYmxlICovCisJTUJSX0VGSV9TWVNURU1fUEFSVElUSU9OCT0gMHhlZiwgLyogSW50ZWwgRUZJIFN5c3RlbSBQYXJ0aXRpb24gKi8KKwlNQlJfTElOVVhfUEFSSVNDX0JPT1RfUEFSVElUSU9OCT0gMHhmMCwgLyogTGludXgvUEEtUklTQyBib290IGxvYWRlciAqLworCU1CUl9TUEVFRFNUT1IxX1BBUlRJVElPTgk9IDB4ZjEsCisJTUJSX1NQRUVEU1RPUjJfUEFSVElUSU9OCT0gMHhmNCwgLyogU3BlZWRTdG9yIGxhcmdlIHBhcnRpdGlvbiAqLworCU1CUl9ET1NfU0VDT05EQVJZX1BBUlRJVElPTgk9IDB4ZjIsIC8qIERPUyAzLjMrIHNlY29uZGFyeSAqLworCU1CUl9WTVdBUkVfVk1GU19QQVJUSVRJT04JPSAweGZiLAorCU1CUl9WTVdBUkVfVk1LQ09SRV9QQVJUSVRJT04JPSAweGZjLCAvKiBWTXdhcmUga2VybmVsIGR1bXAgcGFydGl0aW9uICovCisJTUJSX0xJTlVYX1JBSURfUEFSVElUSU9OCT0gMHhmZCwgLyogTmV3ICgyLjIueCkgcmFpZCBwYXJ0aXRpb24gd2l0aCBhdXRvZGV0ZWN0IHVzaW5nIHBlcnNpc3RlbnQgc3VwZXJibG9jayAqLworCU1CUl9MQU5TVEVQX1BBUlRJVElPTgkJPSAweGZlLCAvKiBTcGVlZFN0b3IgPjEwMjQgY3lsLiBvciBMQU5zdGVwICovCisJTUJSX1hFTklYX0JCVF9QQVJUSVRJT04JCT0gMHhmZiwgLyogWGVuaXggQmFkIEJsb2NrIFRhYmxlICovCit9OworCisjZW5kaWYgLyogVVRJTF9MSU5VWF9QVF9NQlJfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9wdC1zZ2kuaCBiL2luY2x1ZGUvcHQtc2dpLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTQ3YjM3YQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvcHQtc2dpLmgKQEAgLTAsMCArMSwxMTAgQEAKKyNpZm5kZWYgVVRJTF9MSU5VWF9QVF9TVU5fSAorI2RlZmluZSBVVElMX0xJTlVYX1BUX1NVTl9ICisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2RlZmluZQlTR0lfTEFCRUxfTUFHSUMJCTB4MGJlNWE5NDEKKworI2RlZmluZSBTR0lfTUFYUEFSVElUSU9OUwkxNgorI2RlZmluZSBTR0lfTUFYVk9MVU1FUwkJMTUKKworLyogcGFydGl0aW9uIHR5cGVzICovCitlbnVtIHsKKwlTR0lfVFlQRV9WT0xIRFIJCT0gMHgwMCwKKwlTR0lfVFlQRV9UUktSRVBMCT0gMHgwMSwKKwlTR0lfVFlQRV9TRUNSRVBMCT0gMHgwMiwKKwlTR0lfVFlQRV9TV0FQCQk9IDB4MDMsCisJU0dJX1RZUEVfQlNECQk9IDB4MDQsCisJU0dJX1RZUEVfU1lTVgkJPSAweDA1LAorCVNHSV9UWVBFX0VOVElSRV9ESVNLCT0gMHgwNiwKKwlTR0lfVFlQRV9FRlMJCT0gMHgwNywKKwlTR0lfVFlQRV9MVk9MCQk9IDB4MDgsCisJU0dJX1RZUEVfUkxWT0wJCT0gMHgwOSwKKwlTR0lfVFlQRV9YRlMJCT0gMHgwYSwKKwlTR0lfVFlQRV9YRlNMT0cJCT0gMHgwYiwKKwlTR0lfVFlQRV9YTFYJCT0gMHgwYywKKwlTR0lfVFlQRV9YVk0JCT0gMHgwZAorfTsKKworc3RydWN0IHNnaV9kZXZpY2VfcGFyYW1ldGVyIHsKKwl1bnNpZ25lZCBjaGFyIHNrZXc7CisJdW5zaWduZWQgY2hhciBnYXAxOworCXVuc2lnbmVkIGNoYXIgZ2FwMjsKKwl1bnNpZ25lZCBjaGFyIHNwYXJlY3lsOworCisJdWludDE2X3QgcGN5bGNvdW50OworCXVpbnQxNl90IGhlYWRfdm9sMDsKKwl1aW50MTZfdCBudHJrczsJCS8qIHRyYWNrcyBpbiBjeWwgMCBvciB2b2wgMCAqLworCisJdW5zaWduZWQgY2hhciBjbWRfdGFnX3F1ZXVlX2RlcHRoOworCXVuc2lnbmVkIGNoYXIgdW51c2VkMDsKKworCXVpbnQxNl90IHVudXNlZDE7CisJdWludDE2X3QgbnNlY3Q7CQkvKiBzZWN0b3JzL3RyYWNrcyBpbiBjeWwgMCBvciB2b2wgMCAqLworCXVpbnQxNl90IGJ5dGVzOworCXVpbnQxNl90IGlsZmFjdDsKKwl1aW50MzJfdCBmbGFnczsJCS8qIFNHSV9ERVZQQVJBTV8qIGNvbnRyb2xsZXIgZmxhZ3MgKi8KKwl1aW50MzJfdCBkYXRhcmF0ZTsKKwl1aW50MzJfdCByZXRyaWVzX29uX2Vycm9yOworCXVpbnQzMl90IG1zX3Blcl93b3JkOworCXVpbnQxNl90IHh5bG9naWNzX2dhcDE7CisJdWludDE2X3QgeHlsb2dpY3Nfc3luY2RlbGF5OworCXVpbnQxNl90IHh5bG9naWNzX3JlYWRkZWxheTsKKwl1aW50MTZfdCB4eWxvZ2ljc19nYXAyOworCXVpbnQxNl90IHh5bG9naWNzX3JlYWRnYXRlOworCXVpbnQxNl90IHh5bG9naWNzX3dyaXRlY29udDsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK2VudW0geworCVNHSV9ERVZQQVJBTV9TRUNUT1JfU0xJUAk9IDB4MDEsCisJU0dJX0RFVlBBUkFNX1NFQ1RPUl9GV0QJCT0gMHgwMiwKKwlTR0lfREVWUEFSQU1fVFJBQ0tfRldECQk9IDB4MDQsCisJU0dJX0RFVlBBUkFNX1RSQUNLX01VTFRJVk9MCT0gMHgwOCwKKwlTR0lfREVWUEFSQU1fSUdOT1JFX0VSUk9SUwk9IDB4MTAsCisJU0dJX0RFVlBBUkFNX1JFU0VFSwkJPSAweDIwLAorCVNHSV9ERVZQQVJBTV9DTURUQUdRX0VOQUJMRQk9IDB4NDAKK307CisKKworc3RydWN0IHNnaV9kaXNrbGFiZWwgeworCXVpbnQzMl90IG1hZ2ljOwkJCS8qIG1hZ2ljIG51bWJlciAqLworCXVpbnQxNl90IHJvb3RfcGFydF9udW07CQkvKiAjIHJvb3QgcGFydGl0aW9uICovCisJdWludDE2X3Qgc3dhcF9wYXJ0X251bTsJCS8qICMgc3dhcCBwYXJ0aXRpb24gKi8KKwl1bnNpZ25lZCBjaGFyIGJvb3RfZmlsZVsxNl07CS8qIG5hbWUgb2YgYm9vdCBmaWxlICovCisKKwlzdHJ1Y3Qgc2dpX2RldmljZV9wYXJhbWV0ZXIJZGV2cGFyYW07CS8qIG5vdCB1c2VkIG5vdyAqLworCisJc3RydWN0IHNnaV92b2x1bWUgeworCQl1bnNpZ25lZCBjaGFyIG5hbWVbOF07CS8qIG5hbWUgb2Ygdm9sdW1lICovCisJCXVpbnQzMl90IGJsb2NrX251bTsJLyogbG9naWNhbCBibG9jayBudW1iZXIgKi8KKwkJdWludDMyX3QgbnVtX2J5dGVzOwkvKiBob3cgYmlnLCBpbiBieXRlcyAqLworCX0gX19hdHRyaWJ1dGVfXygocGFja2VkKSkgdm9sdW1lW1NHSV9NQVhWT0xVTUVTXTsKKworCXN0cnVjdCBzZ2lfcGFydGl0aW9uIHsKKwkJdWludDMyX3QgbnVtX2Jsb2NrczsJLyogc2l6ZSBpbiBsb2dpY2FsIGJsb2NrcyAqLworCQl1aW50MzJfdCBmaXJzdF9ibG9jazsJLyogZmlyc3QgbG9naWNhbCBibG9jayAqLworCQl1aW50MzJfdCB0eXBlOwkJLyogdHlwZSBvZiB0aGlzIHBhcnRpdGlvbiAqLworCX0gX19hdHRyaWJ1dGVfXygocGFja2VkKSkgcGFydGl0aW9uc1tTR0lfTUFYUEFSVElUSU9OU107CisKKwkvKiBjaGVja3N1bSBpcyB0aGUgMzJiaXQgMidzIGNvbXBsZW1lbnQgc3VtIG9mIHRoZSBkaXNrbGFiZWwgKi8KKwl1aW50MzJfdCBjc3VtOwkJCS8qIGRpc2sgbGFiZWwgY2hlY2tzdW0gKi8KKwl1aW50MzJfdCBwYWRkaW5nOwkJLyogcGFkZGluZyAqLworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RhdGljIGlubGluZSB1aW50MzJfdCBzZ2lfcHRfY2hlY2tzdW0oc3RydWN0IHNnaV9kaXNrbGFiZWwgKmxhYmVsKQoreworCWludCBpOworCXVpbnQzMl90ICpwdHIgPSAodWludDMyX3QgKikgbGFiZWw7CisJdWludDMyX3Qgc3VtID0gMDsKKworCWkgPSBzaXplb2YoKmxhYmVsKSAvIHNpemVvZigqcHRyKTsKKworCXdoaWxlIChpKSB7CisJCWktLTsKKwkJc3VtIC09IGJlMzJfdG9fY3B1KHB0cltpXSk7CisJfQorCisJcmV0dXJuIHN1bTsKK30KKworI2VuZGlmIC8qIFVUSUxfTElOVVhfUFRfU1VOX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvcHQtc3VuLmggYi9pbmNsdWRlL3B0LXN1bi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwODUyNjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL3B0LXN1bi5oCkBAIC0wLDAgKzEsOTAgQEAKKyNpZm5kZWYgVVRJTF9MSU5VWF9QVF9TVU5fSAorI2RlZmluZSBVVElMX0xJTlVYX1BUX1NVTl9ICisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2RlZmluZSBTVU5fTEFCRUxfTUFHSUMJCTB4REFCRQorCisvKiBTdXBwb3J0ZWQgVlRPQyBzZXR0aW5nICovCisjZGVmaW5lIFNVTl9WVE9DX1NBTklUWQkJMHg2MDBEREVFRQkvKiBtYWdpYyBudW1iZXIgKi8KKyNkZWZpbmUgU1VOX1ZUT0NfVkVSU0lPTgkxCisjZGVmaW5lIFNVTl9NQVhQQVJUSVRJT05TCTgKKworc3RydWN0IHN1bl9kaXNrbGFiZWwgeworCXVuc2lnbmVkIGNoYXIgbGFiZWxfaWRbMTI4XTsgICAvKiBJbmZvcm1hdGl2ZSB0ZXh0IHN0cmluZyAqLworCisJc3RydWN0IHN1bl92dG9jIHsKKwkJdWludDMyX3QgdmVyc2lvbjsgICAgIC8qIHZlcnNpb24gKi8KKwkJY2hhcgkgdm9sdW1lX2lkWzhdOy8qIHZvbHVtZSBuYW1lICovCisJCXVpbnQxNl90IG5wYXJ0czsgICAgICAvKiBudW0gb2YgcGFydGl0aW9ucyAqLworCisJCXN0cnVjdCBzdW5faW5mbyB7ICAgICAgICAvKiBwYXJ0aXRpb24gaW5mb3JtYXRpb24gKi8KKwkJCXVpbnQxNl90IGlkOyAgICAgLyogU1VOX1RBR18qICAqLworCQkJdWludDE2X3QgZmxhZ3M7ICAvKiBTVU5fRkxBR18qICovCisJCX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpIGluZm9zWzhdOworCisJCXVpbnQxNl90IHBhZGRpbmc7ICAgICAgLyogcGFkZGluZyAqLworCQl1aW50MzJfdCBib290aW5mb1szXTsgIC8qIGluZm8gbmVlZGVkIGJ5IG1ib290ICovCisJCXVpbnQzMl90IHNhbml0eTsgICAgICAgLyogbWFnaWMgbnVtYmVyICovCisJCXVpbnQzMl90IHJlc2VydmVkWzEwXTsgLyogcGFkZGluZyAqLworCQl1aW50MzJfdCB0aW1lc3RhbXBbOF07IC8qIHBhcnRpdGlvbiB0aW1lc3RhbXAgKi8KKwl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSB2dG9jOworCisJdWludDMyX3Qgd3JpdGVfcmVpbnN0cnVjdDsgICAgIC8qIHNlY3RvcnMgdG8gc2tpcCwgd3JpdGVzICovCisJdWludDMyX3QgcmVhZF9yZWluc3RydWN0OyAgICAgIC8qIHNlY3RvcnMgdG8gc2tpcCwgcmVhZHMgKi8KKwl1bnNpZ25lZCBjaGFyIHNwYXJlWzE0OF07ICAgICAgLyogcGFkZGluZyAqLworCXVpbnQxNl90IHJwbTsgICAgICAgICAgICAgICAgICAvKiBkaXNrIHJvdGF0aW9uYWwgc3BlZWQgKi8KKwl1aW50MTZfdCBwY3lsOyAgICAgICAgICAgICAgICAgLyogcGh5c2ljYWwgY3lsaW5kZXIgY291bnQgKi8KKwl1aW50MTZfdCBhcGM7ICAgICAgICAgICAgICAgICAgLyogZXh0cmEgc2VjdHMgcGVyIGN5bGluZGVyICovCisJdWludDE2X3Qgb2JzMTsKKwl1aW50MTZfdCBvYnMyOworCXVpbnQxNl90IGludHJsdjsgICAgICAgICAgICAgICAvKiBpbnRlcmxlYXZlIGZhY3RvciAqLworCXVpbnQxNl90IG5jeWw7ICAgICAgICAgICAgICAgICAvKiBkYXRhIGN5bGluZGVyIGNvdW50ICovCisJdWludDE2X3QgYWN5bDsgICAgICAgICAgICAgICAgIC8qIGFsdC4gY3lsaW5kZXIgY291bnQgKi8KKwl1aW50MTZfdCBuaGVhZDsgICAgICAgICAgICAgICAgLyogdHJhY2tzIHBlciBjeWxpbmRlciAgIDwtLS0tICovCisJdWludDE2X3QgbnNlY3Q7ICAgICAgICAgICAgICAgIC8qIHNlY3RvcnMgcGVyIHRyYWNrICAgICA8LS0tLSAqLworCXVpbnQxNl90IG9iczM7CisJdWludDE2X3Qgb2JzNDsKKworCXN0cnVjdCBzdW5fcGFydGl0aW9uIHsgICAgICAgICAvKiBwYXJ0aXRpb25zICovCisJCXVpbnQzMl90IHN0YXJ0X2N5bGluZGVyOworCQl1aW50MzJfdCBudW1fc2VjdG9yczsKKwl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSBwYXJ0aXRpb25zWzhdOworCisJdWludDE2X3QgbWFnaWM7ICAgICAgICAgICAgICAgIC8qIG1hZ2ljIG51bWJlciAqLworCXVpbnQxNl90IGNzdW07ICAgICAgICAgICAgICAgICAvKiBsYWJlbCB4b3InZCBjaGVja3N1bSAqLworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisKKworI2RlZmluZSBTVU5fVEFHX1VOQVNTSUdORUQJMHgwMAkvKiBVbmFzc2lnbmVkIHBhcnRpdGlvbiAqLworI2RlZmluZSBTVU5fVEFHX0JPT1QJCTB4MDEJLyogQm9vdCBwYXJ0aXRpb24JKi8KKyNkZWZpbmUgU1VOX1RBR19ST09UCQkweDAyCS8qIFJvb3QgZmlsZXN5c3RlbQkqLworI2RlZmluZSBTVU5fVEFHX1NXQVAJCTB4MDMJLyogU3dhcCBwYXJ0aXRpb24JKi8KKyNkZWZpbmUgU1VOX1RBR19VU1IJCTB4MDQJLyogL3VzciBmaWxlc3lzdGVtCSovCisjZGVmaW5lIFNVTl9UQUdfV0hPTEVESVNLCTB4MDUJLyogRnVsbC1kaXNrIHNsaWNlCSovCisjZGVmaW5lIFNVTl9UQUdfU1RBTkQJCTB4MDYJLyogU3RhbmQgcGFydGl0aW9uCSovCisjZGVmaW5lIFNVTl9UQUdfVkFSCQkweDA3CS8qIC92YXIgZmlsZXN5c3RlbQkqLworI2RlZmluZSBTVU5fVEFHX0hPTUUJCTB4MDgJLyogL2hvbWUgZmlsZXN5c3RlbQkqLworI2RlZmluZSBTVU5fVEFHX0FMVFNDVFIJCTB4MDkJLyogQWx0IHNlY3RvciBwYXJ0aXRpb24JKi8KKyNkZWZpbmUgU1VOX1RBR19DQUNIRQkJMHgwYQkvKiBDYWNoZWZzIHBhcnRpdGlvbgkqLworI2RlZmluZSBTVU5fVEFHX1JFU0VSVkVECTB4MGIJLyogU01JIHJlc2VydmVkIGRhdGEJKi8KKyNkZWZpbmUgU1VOX1RBR19MSU5VWF9TV0FQCTB4ODIJLyogTGludXggU1dBUAkJKi8KKyNkZWZpbmUgU1VOX1RBR19MSU5VWF9OQVRJVkUJMHg4MwkvKiBMaW51eCBmaWxlc3lzdGVtCSovCisjZGVmaW5lIFNVTl9UQUdfTElOVVhfTFZNCTB4OGUJLyogTGludXggTFZNCQkqLworI2RlZmluZSBTVU5fVEFHX0xJTlVYX1JBSUQJMHhmZAkvKiBMSW51eCBSQUlECQkqLworCisjZGVmaW5lIFNVTl9GTEFHX1VOTU5UCQkweDAxCS8qIFVubW91bnRhYmxlIHBhcnRpdGlvbiovCisjZGVmaW5lIFNVTl9GTEFHX1JPTkxZCQkweDEwCS8qIFJlYWQgb25seQkJKi8KKworc3RhdGljIGlubGluZSB1aW50MTZfdCBzdW5fcHRfY2hlY2tzdW0oc3RydWN0IHN1bl9kaXNrbGFiZWwgKmxhYmVsKQoreworCXVpbnQxNl90ICpwdHIgPSAoKHVpbnQxNl90ICopIChsYWJlbCArIDEpKSAtIDE7CisJdWludDE2X3Qgc3VtOworCisJZm9yIChzdW0gPSAwOyBwdHIgPj0gKCh1aW50MTZfdCAqKSBsYWJlbCk7KQorCQlzdW0gXj0gKnB0ci0tOworCisJcmV0dXJuIHN1bTsKK30KKworI2VuZGlmIC8qIFVUSUxfTElOVVhfUFRfU1VOX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmFuZHV0aWxzLmggYi9pbmNsdWRlL3JhbmR1dGlscy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2ZTM1ZjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL3JhbmR1dGlscy5oCkBAIC0wLDAgKzEsMTcgQEAKKyNpZm5kZWYgVVRJTF9MSU5VWF9SQU5EVVRJTFMKKyNkZWZpbmUgVVRJTF9MSU5VWF9SQU5EVVRJTFMKKworI2lmZGVmIEhBVkVfU1JBTkRPTQorI2RlZmluZSBzcmFuZCh4KQlzcmFuZG9tKHgpCisjZGVmaW5lIHJhbmQoKQkJcmFuZG9tKCkKKyNlbmRpZgorCisvKiByYW5kKCkgYmFzZWQgKi8KK2V4dGVybiBpbnQgcmFuZF9nZXRfbnVtYmVyKGludCBsb3dfbiwgaW50IGhpZ2hfbik7CisKKy8qIC9kZXYvdXJhbmRvbSBiYXNlZCB3aXRoIGZhbGxiYWNrIHRvIHJhbmQoKSAqLworZXh0ZXJuIGludCByYW5kb21fZ2V0X2ZkKHZvaWQpOworZXh0ZXJuIHZvaWQgcmFuZG9tX2dldF9ieXRlcyh2b2lkICpidWYsIHNpemVfdCBuYnl0ZXMpOworZXh0ZXJuIGNvbnN0IGNoYXIgKnJhbmRvbV90ZWxsX3NvdXJjZSh2b2lkKTsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL3JwbWF0Y2guaCBiL2luY2x1ZGUvcnBtYXRjaC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2NGQ1MmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL3JwbWF0Y2guaApAQCAtMCwwICsxLDEzIEBACisjaWZuZGVmIFVUSUxfTElOVVhfUlBNQVRDSF9ICisjZGVmaW5lIFVUSUxfTElOVVhfUlBNQVRDSF9ICisKKyNpZm5kZWYgSEFWRV9SUE1BVENICisjZGVmaW5lIHJwbWF0Y2gocikgXAorCSgqciA9PSAneScgfHwgKnIgPT0gJ1knID8gMSA6ICpyID09ICduJyB8fCAqciA9PSAnTicgPyAwIDogLTEpCisjZW5kaWYKKworI2RlZmluZSBSUE1BVENIX1lFUwkgMQorI2RlZmluZSBSUE1BVENIX05PCSAwCisjZGVmaW5lIFJQTUFUQ0hfSU5WQUxJRAktMQorCisjZW5kaWYgLyogVVRJTF9MSU5VWF9SUE1BVENIX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvc2V0cHJvY3RpdGxlLmggYi9pbmNsdWRlL3NldHByb2N0aXRsZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwYTllZmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL3NldHByb2N0aXRsZS5oCkBAIC0wLDAgKzEsNyBAQAorI2lmbmRlZiBVVElMX0xJTlVYX1NFVFBST0NUSVRMRV9ICisjZGVmaW5lIFVUSUxfTElOVVhfU0VUUFJPQ1RJVExFX0gKKworZXh0ZXJuIHZvaWQgaW5pdHByb2N0aXRsZSAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KTsKK2V4dGVybiB2b2lkIHNldHByb2N0aXRsZSAoY29uc3QgY2hhciAqcHJvZywgY29uc3QgY2hhciAqdHh0KTsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL3N0YXRmc19tYWdpYy5oIGIvaW5jbHVkZS9zdGF0ZnNfbWFnaWMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNmIwMjI1Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9zdGF0ZnNfbWFnaWMuaApAQCAtMCwwICsxLDEwMCBAQAorI2lmbmRlZiBVVElMX0xJTlVYX1NUQVRGU19NQUdJQ19ICisjZGVmaW5lIFVUSUxfTElOVVhfU1RBVEZTX01BR0lDX0gKKworI2luY2x1ZGUgPHN5cy9zdGF0ZnMuaD4KKworLyoKKyAqIElmIHBvc3NpYmxlIHRoZW4gZG9uJ3QgZGVwZW5kIG9uIGludGVybmFsIGxpYmMgX19TV09SRF9UWVBFIHR5cGUuCisgKi8KKyNpZmRlZiBfX0dOVUNfXworI2RlZmluZSBGX1RZUEVfRVFVQUwoYSwgYikgKGEgPT0gKF9fdHlwZW9mX18oYSkpIGIpCisjZWxzZQorI2RlZmluZSBGX1RZUEVfRVFVQUwoYSwgYikgKGEgPT0gKF9fU1dPUkRfVFlQRSkgYikKKyNlbmRpZgorCisvKgorICogIFVuZm9ydHVuYXRlbHksIExpbnV4IGtlcm5lbCBoZWFkZXIgZmlsZSA8bGludXgvbWFnaWMuaD4gaXMgaW5jb21wbGV0ZQorICogIG1lc3MgYW5kIGtlcm5lbCByZXR1cm5zIGJ5IHN0YXRmcyBmX3R5cGUgbWFueSBudW1iZXJzIHRoYXQgYXJlIG5vd2hlcmUKKyAqICBzcGVjaWZpZWQgKGluIEFQSSkuCisgKgorICogIFRoaXMgaXMgY29sbGVjdGlvbiBvZiB0aGUgbWFnaWMgbnVtYmVycy4KKyAqLworI2RlZmluZSBTVEFURlNfQURGU19NQUdJQwkweGFkZjUKKyNkZWZpbmUgU1RBVEZTX0FGRlNfTUFHSUMJMHhhZGZmCisjZGVmaW5lIFNUQVRGU19BRlNfTUFHSUMJMHg1MzQ2NDE0RgorI2RlZmluZSBTVEFURlNfQVVUT0ZTX01BR0lDCTB4MDE4NworI2RlZmluZSBTVEFURlNfQkRFVkZTX01BR0lDCTB4NjI2NDY1NzYKKyNkZWZpbmUgU1RBVEZTX0JFRlNfTUFHSUMJMHg0MjQ2NTMzMQorI2RlZmluZSBTVEFURlNfQkZTX01BR0lDCTB4MUJBREZBQ0UKKyNkZWZpbmUgU1RBVEZTX0JJTkZNVEZTX01BR0lDCTB4NDI0OTRlNGQKKyNkZWZpbmUgU1RBVEZTX0JUUkZTX01BR0lDCTB4OTEyMzY4M0UKKyNkZWZpbmUgU1RBVEZTX0NFUEhfTUFHSUMJMHgwMGMzNjQwMAorI2RlZmluZSBTVEFURlNfQ0dST1VQX01BR0lDCTB4MjdlMGViCisjZGVmaW5lIFNUQVRGU19DR1JPVVAyX01BR0lDCTB4NjM2NzcyNzAKKyNkZWZpbmUgU1RBVEZTX0NJRlNfTUFHSUMJMHhmZjUzNGQ0MgorI2RlZmluZSBTVEFURlNfQ09EQV9NQUdJQwkweDczNzU3MjQ1CisjZGVmaW5lIFNUQVRGU19DT05GSUdGU19NQUdJQwkweDYyNjU2NTcwCisjZGVmaW5lIFNUQVRGU19DUkFNRlNfTUFHSUMJMHgyOGNkM2Q0NQorI2RlZmluZSBTVEFURlNfREVCVUdGU19NQUdJQwkweDY0NjI2NzIwCisjZGVmaW5lIFNUQVRGU19ERVZQVFNfTUFHSUMJMHgxY2QxCisjZGVmaW5lIFNUQVRGU19FQ1JZUFRGU19NQUdJQwkweGYxNWYKKyNkZWZpbmUgU1RBVEZTX0VGSVZBUkZTX01BR0lDCTB4ZGU1ZTgxZTQKKyNkZWZpbmUgU1RBVEZTX0VGU19NQUdJQwkweDQxNEE1MworI2RlZmluZSBTVEFURlNfRVhPRlNfTUFHSUMJMHg1REY1CisjZGVmaW5lIFNUQVRGU19FWFQyX01BR0lDCTB4RUY1MworI2RlZmluZSBTVEFURlNfRVhUM19NQUdJQwkweEVGNTMKKyNkZWZpbmUgU1RBVEZTX0VYVDRfTUFHSUMJMHhFRjUzCisjZGVmaW5lIFNUQVRGU19GMkZTX01BR0lDCTB4RjJGNTIwMTAKKyNkZWZpbmUgU1RBVEZTX0ZVU0VfTUFHSUMJMHg2NTczNTU0NgorI2RlZmluZSBTVEFURlNfRlVURVhGU19NQUdJQwkweEJBRDFERUEKKyNkZWZpbmUgU1RBVEZTX0dGUzJfTUFHSUMJMHgwMTE2MTk3MAorI2RlZmluZSBTVEFURlNfSEZTUExVU19NQUdJQwkweDQ4MmIKKyNkZWZpbmUgU1RBVEZTX0hPU1RGU19NQUdJQwkweDAwYzBmZmVlCisjZGVmaW5lIFNUQVRGU19IUEZTX01BR0lDCTB4Zjk5NWU4NDkKKyNkZWZpbmUgU1RBVEZTX0hQUEZTX01BR0lDCTB4YjAwMDAwZWUKKyNkZWZpbmUgU1RBVEZTX0hVR0VUTEJGU19NQUdJQwkweDk1ODQ1OGY2CisjZGVmaW5lIFNUQVRGU19JU09GU19NQUdJQwkweDk2NjAKKyNkZWZpbmUgU1RBVEZTX0pGRlMyX01BR0lDCTB4NzJiNgorI2RlZmluZSBTVEFURlNfSkZTX01BR0lDCTB4MzE1MzQ2NGEKKyNkZWZpbmUgU1RBVEZTX0xPR0ZTX01BR0lDCTB4Yzk3ZTgxNjgKKyNkZWZpbmUgU1RBVEZTX01JTklYMl9NQUdJQwkweDI0NjgKKyNkZWZpbmUgU1RBVEZTX01JTklYMl9NQUdJQzIJMHgyNDc4CisjZGVmaW5lIFNUQVRGU19NSU5JWDNfTUFHSUMJMHg0ZDVhCisjZGVmaW5lIFNUQVRGU19NSU5JWF9NQUdJQwkweDEzN0YKKyNkZWZpbmUgU1RBVEZTX01JTklYX01BR0lDMgkweDEzOEYKKyNkZWZpbmUgU1RBVEZTX01RVUVVRV9NQUdJQwkweDE5ODAwMjAyCisjZGVmaW5lIFNUQVRGU19NU0RPU19NQUdJQwkweDRkNDQKKyNkZWZpbmUgU1RBVEZTX05DUF9NQUdJQwkweDU2NGMKKyNkZWZpbmUgU1RBVEZTX05GU19NQUdJQwkweDY5NjkKKyNkZWZpbmUgU1RBVEZTX05JTEZTX01BR0lDCTB4MzQzNAorI2RlZmluZSBTVEFURlNfTlRGU19NQUdJQwkweDUzNDY1NDRlCisjZGVmaW5lIFNUQVRGU19PQ0ZTMl9NQUdJQwkweDc0NjE2MzZmCisjZGVmaW5lIFNUQVRGU19PTUZTX01BR0lDCTB4QzI5OTNEODcKKyNkZWZpbmUgU1RBVEZTX09QRU5QUk9NRlNfTUFHSUMJMHg5ZmExCisjZGVmaW5lIFNUQVRGU19QSVBFRlNfTUFHSUMJMHg1MDQ5NTA0NQorI2RlZmluZSBTVEFURlNfUFJPQ19NQUdJQwkweDlmYTAKKyNkZWZpbmUgU1RBVEZTX1BTVE9SRUZTX01BR0lDCTB4NjE2NTY3NkMKKyNkZWZpbmUgU1RBVEZTX1FOWDRfTUFHSUMJMHgwMDJmCisjZGVmaW5lIFNUQVRGU19RTlg2X01BR0lDCTB4NjgxOTExMjIKKyNkZWZpbmUgU1RBVEZTX1JBTUZTX01BR0lDCTB4ODU4NDU4ZjYKKyNkZWZpbmUgU1RBVEZTX1JFSVNFUkZTX01BR0lDCTB4NTI2NTQ5NzMKKyNkZWZpbmUgU1RBVEZTX1JPTUZTX01BR0lDCTB4NzI3NQorI2RlZmluZSBTVEFURlNfU0VDVVJJVFlGU19NQUdJQwkweDczNjM2NjczCisjZGVmaW5lIFNUQVRGU19TRUxJTlVYRlNfTUFHSUMJMHhmOTdjZmY4YworI2RlZmluZSBTVEFURlNfU01BQ0tGU19NQUdJQwkweDQzNDE1ZDUzCisjZGVmaW5lIFNUQVRGU19TTUJfTUFHSUMJMHg1MTdCCisjZGVmaW5lIFNUQVRGU19TT0NLRlNfTUFHSUMJMHg1MzRGNDM0QgorI2RlZmluZSBTVEFURlNfU1FVQVNIRlNfTUFHSUMJMHg3MzcxNzM2OAorI2RlZmluZSBTVEFURlNfU1lTRlNfTUFHSUMJMHg2MjY1NjU3MgorI2RlZmluZSBTVEFURlNfVE1QRlNfTUFHSUMJMHgwMTAyMTk5NAorI2RlZmluZSBTVEFURlNfVUJJRlNfTUFHSUMJMHgyNDA1MTkwNQorI2RlZmluZSBTVEFURlNfVURGX01BR0lDCTB4MTUwMTMzNDYKKyNkZWZpbmUgU1RBVEZTX1VGUzJfTUFHSUMJMHgxOTU0MDExOQorI2RlZmluZSBTVEFURlNfVUZTX01BR0lDCTB4MDAwMTE5NTQKKyNkZWZpbmUgU1RBVEZTX1Y5RlNfTUFHSUMJMHgwMTAyMTk5NworI2RlZmluZSBTVEFURlNfVlhGU19NQUdJQwkweGE1MDFGQ0Y1CisjZGVmaW5lIFNUQVRGU19YRU5GU19NQUdJQwkweGFiYmExOTc0CisjZGVmaW5lIFNUQVRGU19YRlNfTUFHSUMJMHg1ODQ2NTM0MgorCisjZW5kaWYgLyogVVRJTF9MSU5VWF9TVEFURlNfTUFHSUNfSCAqLworCmRpZmYgLS1naXQgYS9pbmNsdWRlL3N0cnV0aWxzLmggYi9pbmNsdWRlL3N0cnV0aWxzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjVkODZiMgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvc3RydXRpbHMuaApAQCAtMCwwICsxLDIzMCBAQAorI2lmbmRlZiBVVElMX0xJTlVYX1NUUlVUSUxTCisjZGVmaW5lIFVUSUxfTElOVVhfU1RSVVRJTFMKKworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGludHR5cGVzLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisKKy8qIGRlZmF1bHQgc3RydG94eF9vcl9lcnIoKSBleGl0IGNvZGUgKi8KKyNpZm5kZWYgU1RSVE9YWF9FWElUX0NPREUKKyMgZGVmaW5lIFNUUlRPWFhfRVhJVF9DT0RFIEVYSVRfRkFJTFVSRQorI2VuZGlmCisKKworZXh0ZXJuIGludCBwYXJzZV9zaXplKGNvbnN0IGNoYXIgKnN0ciwgdWludG1heF90ICpyZXMsIGludCAqcG93ZXIpOworZXh0ZXJuIGludCBzdHJ0b3NpemUoY29uc3QgY2hhciAqc3RyLCB1aW50bWF4X3QgKnJlcyk7CitleHRlcm4gdWludG1heF90IHN0cnRvc2l6ZV9vcl9lcnIoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICplcnJtZXNnKTsKKworZXh0ZXJuIGludDE2X3Qgc3RydG9zMTZfb3JfZXJyKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqZXJybWVzZyk7CitleHRlcm4gdWludDE2X3Qgc3RydG91MTZfb3JfZXJyKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqZXJybWVzZyk7CisKK2V4dGVybiBpbnQzMl90IHN0cnRvczMyX29yX2Vycihjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKmVycm1lc2cpOworZXh0ZXJuIHVpbnQzMl90IHN0cnRvdTMyX29yX2Vycihjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKmVycm1lc2cpOworCitleHRlcm4gaW50NjRfdCBzdHJ0b3M2NF9vcl9lcnIoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICplcnJtZXNnKTsKK2V4dGVybiB1aW50NjRfdCBzdHJ0b3U2NF9vcl9lcnIoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICplcnJtZXNnKTsKKworZXh0ZXJuIGRvdWJsZSBzdHJ0b2Rfb3JfZXJyKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqZXJybWVzZyk7CisKK2V4dGVybiBsb25nIHN0cnRvbF9vcl9lcnIoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICplcnJtZXNnKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIHN0cnRvdWxfb3JfZXJyKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqZXJybWVzZyk7CisKK2V4dGVybiB2b2lkIHN0cnRvdGltZXZhbF9vcl9lcnIoY29uc3QgY2hhciAqc3RyLCBzdHJ1Y3QgdGltZXZhbCAqdHYsCisJCWNvbnN0IGNoYXIgKmVycm1lc2cpOworCitleHRlcm4gaW50IGlzZGlnaXRfc3RyZW5kKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqKmVuZCk7CisjZGVmaW5lIGlzZGlnaXRfc3RyaW5nKF9zKQlpc2RpZ2l0X3N0cmVuZChfcywgTlVMTCkKKworZXh0ZXJuIGludCBpc3hkaWdpdF9zdHJlbmQoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICoqZW5kKTsKKyNkZWZpbmUgaXN4ZGlnaXRfc3RyaW5nKF9zKQlpc3hkaWdpdF9zdHJlbmQoX3MsIE5VTEwpCisKKworZXh0ZXJuIGludCBwYXJzZV9zd2l0Y2goY29uc3QgY2hhciAqYXJnLCBjb25zdCBjaGFyICplcnJtZXNnLCAuLi4pOworCisjaWZuZGVmIEhBVkVfTUVNUENQWQorZXh0ZXJuIHZvaWQgKm1lbXBjcHkodm9pZCAqcmVzdHJpY3QgZGVzdCwgY29uc3Qgdm9pZCAqcmVzdHJpY3Qgc3JjLCBzaXplX3Qgbik7CisjZW5kaWYKKyNpZm5kZWYgSEFWRV9TVFJOTEVOCitleHRlcm4gc2l6ZV90IHN0cm5sZW4oY29uc3QgY2hhciAqcywgc2l6ZV90IG1heGxlbik7CisjZW5kaWYKKyNpZm5kZWYgSEFWRV9TVFJORFVQCitleHRlcm4gY2hhciAqc3RybmR1cChjb25zdCBjaGFyICpzLCBzaXplX3Qgbik7CisjZW5kaWYKKyNpZm5kZWYgSEFWRV9TVFJOQ0hSCitleHRlcm4gY2hhciAqc3RybmNocihjb25zdCBjaGFyICpzLCBzaXplX3QgbWF4bGVuLCBpbnQgYyk7CisjZW5kaWYKKworLyogY2FsbGVyIGd1YXJhbnRlZXMgbiA+IDAgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCB4c3RybmNweShjaGFyICpkZXN0LCBjb25zdCBjaGFyICpzcmMsIHNpemVfdCBuKQoreworCXN0cm5jcHkoZGVzdCwgc3JjLCBuLTEpOworCWRlc3Rbbi0xXSA9IDA7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IHN0cmR1cF90b19vZmZzZXQodm9pZCAqc3RydSwgc2l6ZV90IG9mZnNldCwgY29uc3QgY2hhciAqc3RyKQoreworCWNoYXIgKm4gPSBOVUxMOworCWNoYXIgKipvOworCisJaWYgKCFzdHJ1KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW8gPSAoY2hhciAqKikgKChjaGFyICopIHN0cnUgKyBvZmZzZXQpOworCWlmIChzdHIpIHsKKwkJbiA9IHN0cmR1cChzdHIpOworCQlpZiAoIW4pCisJCQlyZXR1cm4gLUVOT01FTTsKKwl9CisKKwlmcmVlKCpvKTsKKwkqbyA9IG47CisJcmV0dXJuIDA7Cit9CisKKyNkZWZpbmUgc3RyZHVwX3RvX3N0cnVjdF9tZW1iZXIoX3MsIF9tLCBfc3RyKSBcCisJCXN0cmR1cF90b19vZmZzZXQoKHZvaWQgKikgX3MsIG9mZnNldG9mKF9fdHlwZW9mX18oKihfcykpLCBfbSksIF9zdHIpCisKK2V4dGVybiB2b2lkIHhzdHJtb2RlKG1vZGVfdCBtb2RlLCBjaGFyICpzdHIpOworCisvKiBPcHRpb25zIGZvciBzaXplX3RvX2h1bWFuX3N0cmluZygpICovCitlbnVtCit7CisgICAgICAgIFNJWkVfU1VGRklYXzFMRVRURVIgPSAwLAorICAgICAgICBTSVpFX1NVRkZJWF8zTEVUVEVSID0gMSwKKyAgICAgICAgU0laRV9TVUZGSVhfU1BBQ0UgICA9IDIKK307CisKK2V4dGVybiBjaGFyICpzaXplX3RvX2h1bWFuX3N0cmluZyhpbnQgb3B0aW9ucywgdWludDY0X3QgYnl0ZXMpOworCitleHRlcm4gaW50IHN0cmluZ190b19pZGFycmF5KGNvbnN0IGNoYXIgKmxpc3QsIGludCBhcnlbXSwgc2l6ZV90IGFyeXN6LAorCQkJICAgaW50IChuYW1lMmlkKShjb25zdCBjaGFyICosIHNpemVfdCkpOworZXh0ZXJuIGludCBzdHJpbmdfYWRkX3RvX2lkYXJyYXkoY29uc3QgY2hhciAqbGlzdCwgaW50IGFyeVtdLAorCQkJCSBzaXplX3QgYXJ5c3osIHNpemVfdCAqYXJ5X3BvcywKKwkJCQkgaW50IChuYW1lMmlkKShjb25zdCBjaGFyICosIHNpemVfdCkpOworCitleHRlcm4gaW50IHN0cmluZ190b19iaXRhcnJheShjb25zdCBjaGFyICpsaXN0LCBjaGFyICphcnksCisJCQkgICAgaW50ICgqbmFtZTJiaXQpKGNvbnN0IGNoYXIgKiwgc2l6ZV90KSk7CisKK2V4dGVybiBpbnQgc3RyaW5nX3RvX2JpdG1hc2soY29uc3QgY2hhciAqbGlzdCwKKwkJCSAgICAgdW5zaWduZWQgbG9uZyAqbWFzaywKKwkJCSAgICAgbG9uZyAoKm5hbWUyZmxhZykoY29uc3QgY2hhciAqLCBzaXplX3QpKTsKK2V4dGVybiBpbnQgcGFyc2VfcmFuZ2UoY29uc3QgY2hhciAqc3RyLCBpbnQgKmxvd2VyLCBpbnQgKnVwcGVyLCBpbnQgZGVmKTsKKworZXh0ZXJuIGludCBzdHJlcV9wYXRocyhjb25zdCBjaGFyICphLCBjb25zdCBjaGFyICpiKTsKKworLyoKKyAqIE1hdGNoIHN0cmluZyBiZWdpbm5pbmcuCisgKi8KK3N0YXRpYyBpbmxpbmUgY29uc3QgY2hhciAqc3RhcnRzd2l0aChjb25zdCBjaGFyICpzLCBjb25zdCBjaGFyICpwcmVmaXgpCit7CisJc2l6ZV90IHN6ID0gcHJlZml4ID8gc3RybGVuKHByZWZpeCkgOiAwOworCisgICAgICAgIGlmIChzICYmIHN6ICYmIHN0cm5jbXAocywgcHJlZml4LCBzeikgPT0gMCkKKyAgICAgICAgICAgICAgICByZXR1cm4gcyArIHN6OworCXJldHVybiBOVUxMOworfQorCisvKgorICogQ2FzZSBpbnNlbnNpdGl2ZSBtYXRjaCBzdHJpbmcgYmVnaW5uaW5nLgorICovCitzdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIgKnN0YXJ0c3dpdGhfbm9fY2FzZShjb25zdCBjaGFyICpzLCBjb25zdCBjaGFyICpwcmVmaXgpCit7CisJc2l6ZV90IHN6ID0gcHJlZml4ID8gc3RybGVuKHByZWZpeCkgOiAwOworCisgICAgICAgIGlmIChzICYmIHN6ICYmIHN0cm5jYXNlY21wKHMsIHByZWZpeCwgc3opID09IDApCisgICAgICAgICAgICAgICAgcmV0dXJuIHMgKyBzejsKKwlyZXR1cm4gTlVMTDsKK30KKworLyoKKyAqIE1hdGNoIHN0cmluZyBlbmRpbmcuCisgKi8KK3N0YXRpYyBpbmxpbmUgY29uc3QgY2hhciAqZW5kc3dpdGgoY29uc3QgY2hhciAqcywgY29uc3QgY2hhciAqcG9zdGZpeCkKK3sKKwlzaXplX3Qgc2wgPSBzID8gc3RybGVuKHMpIDogMDsKKwlzaXplX3QgcGwgPSBwb3N0Zml4ID8gc3RybGVuKHBvc3RmaXgpIDogMDsKKworCWlmIChwbCA9PSAwKQorCQlyZXR1cm4gKGNoYXIgKilzICsgc2w7CisJaWYgKHNsIDwgcGwpCisJCXJldHVybiBOVUxMOworCWlmIChtZW1jbXAocyArIHNsIC0gcGwsIHBvc3RmaXgsIHBsKSAhPSAwKQorCQlyZXR1cm4gTlVMTDsKKwlyZXR1cm4gKGNoYXIgKilzICsgc2wgLSBwbDsKK30KKworLyoKKyAqIFNraXAgbGVhZGluZyB3aGl0ZSBzcGFjZS4KKyAqLworc3RhdGljIGlubGluZSBjb25zdCBjaGFyICpza2lwX3NwYWNlKGNvbnN0IGNoYXIgKnApCit7CisJd2hpbGUgKGlzc3BhY2UoKnApKQorCQkrK3A7CisJcmV0dXJuIHA7Cit9CisKK3N0YXRpYyBpbmxpbmUgY29uc3QgY2hhciAqc2tpcF9ibGFuayhjb25zdCBjaGFyICpwKQoreworCXdoaWxlIChpc2JsYW5rKCpwKSkKKwkJKytwOworCXJldHVybiBwOworfQorCisKKy8qIFJlbW92ZXMgd2hpdGVzcGFjZSBmcm9tIHRoZSByaWdodC1oYW5kIHNpZGUgb2YgYSBzdHJpbmcgKHRyYWlsaW5nCisgKiB3aGl0ZXNwYWNlKS4KKyAqCisgKiBSZXR1cm5zIHNpemUgb2YgdGhlIG5ldyBzdHJpbmcgKHdpdGhvdXQgXDApLgorICovCitzdGF0aWMgaW5saW5lIHNpemVfdCBydHJpbV93aGl0ZXNwYWNlKHVuc2lnbmVkIGNoYXIgKnN0cikKK3sKKwlzaXplX3QgaTsKKworCWlmICghc3RyKQorCQlyZXR1cm4gMDsKKwlpID0gc3RybGVuKChjaGFyICopIHN0cik7CisJd2hpbGUgKGkpIHsKKwkJaS0tOworCQlpZiAoIWlzc3BhY2Uoc3RyW2ldKSkgeworCQkJaSsrOworCQkJYnJlYWs7CisJCX0KKwl9CisJc3RyW2ldID0gJ1wwJzsKKwlyZXR1cm4gaTsKK30KKworLyogUmVtb3ZlcyB3aGl0ZXNwYWNlIGZyb20gdGhlIGxlZnQtaGFuZCBzaWRlIG9mIGEgc3RyaW5nLgorICoKKyAqIFJldHVybnMgc2l6ZSBvZiB0aGUgbmV3IHN0cmluZyAod2l0aG91dCBcMCkuCisgKi8KK3N0YXRpYyBpbmxpbmUgc2l6ZV90IGx0cmltX3doaXRlc3BhY2UodW5zaWduZWQgY2hhciAqc3RyKQoreworCXNpemVfdCBsZW47CisJdW5zaWduZWQgY2hhciAqcDsKKworCWlmICghc3RyKQorCQlyZXR1cm4gMDsKKwlmb3IgKHAgPSBzdHI7ICpwICYmIGlzc3BhY2UoKnApOyBwKyspOworCisJbGVuID0gc3RybGVuKChjaGFyICopIHApOworCisJaWYgKGxlbiAmJiBwID4gc3RyKQorCQltZW1tb3ZlKHN0ciwgcCwgbGVuICsgMSk7CisKKwlyZXR1cm4gbGVuOworfQorCitleHRlcm4gY2hhciAqc3RybmFwcGVuZChjb25zdCBjaGFyICpzLCBjb25zdCBjaGFyICpzdWZmaXgsIHNpemVfdCBiKTsKK2V4dGVybiBjaGFyICpzdHJhcHBlbmQoY29uc3QgY2hhciAqcywgY29uc3QgY2hhciAqc3VmZml4KTsKK2V4dGVybiBjaGFyICpzdHJmYXBwZW5kKGNvbnN0IGNoYXIgKnMsIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKQorCQkgX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0X18gKF9fcHJpbnRmX18sIDIsIDApKSk7CitleHRlcm4gY29uc3QgY2hhciAqc3BsaXQoY29uc3QgY2hhciAqKnN0YXRlLCBzaXplX3QgKmwsIGNvbnN0IGNoYXIgKnNlcGFyYXRvciwgaW50IHF1b3RlZCk7CisKK2V4dGVybiBpbnQgc2tpcF9mbGluZShGSUxFICpmcCk7CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zdHJ2LmggYi9pbmNsdWRlL3N0cnYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNjBhZDEyCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9zdHJ2LmgKQEAgLTAsMCArMSw1NSBAQAorI2lmbmRlZiBVVElMX0xJTlVYX1NUUlYKKyNkZWZpbmUgVVRJTF9MSU5VWF9TVFJWCisKKyNpbmNsdWRlIDxzdGRhcmcuaD4KKworI2luY2x1ZGUgImMuaCIKKworY2hhciAqKnN0cnZfZnJlZShjaGFyICoqbCk7Cit2b2lkIHN0cnZfY2xlYXIoY2hhciAqKmwpOworY2hhciAqKnN0cnZfY29weShjaGFyICogY29uc3QgKmwpOwordW5zaWduZWQgc3Rydl9sZW5ndGgoY2hhciAqIGNvbnN0ICpsKTsKKworaW50IHN0cnZfZXh0ZW5kX3N0cnYoY2hhciAqKiphLCBjaGFyICoqYik7CitpbnQgc3Rydl9leHRlbmRfc3Rydl9jb25jYXQoY2hhciAqKiphLCBjaGFyICoqYiwgY29uc3QgY2hhciAqc3VmZml4KTsKK2ludCBzdHJ2X2V4dGVuZChjaGFyICoqKmwsIGNvbnN0IGNoYXIgKnZhbHVlKTsKK2ludCBzdHJ2X2V4dGVuZHYoY2hhciAqKipsLCBjb25zdCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgYXApOworaW50IHN0cnZfZXh0ZW5kZihjaGFyICoqKmwsIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKQorCQkJX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0X18gKF9fcHJpbnRmX18sIDIsIDApKSk7CitpbnQgc3Rydl9wdXNoKGNoYXIgKioqbCwgY2hhciAqdmFsdWUpOworaW50IHN0cnZfcHVzaF9wcmVwZW5kKGNoYXIgKioqbCwgY2hhciAqdmFsdWUpOworaW50IHN0cnZfY29uc3VtZShjaGFyICoqKmwsIGNoYXIgKnZhbHVlKTsKK2ludCBzdHJ2X2NvbnN1bWVfcHJlcGVuZChjaGFyICoqKmwsIGNoYXIgKnZhbHVlKTsKKworY2hhciAqKnN0cnZfcmVtb3ZlKGNoYXIgKipsLCBjb25zdCBjaGFyICpzKTsKKworY2hhciAqKnN0cnZfbmV3KGNvbnN0IGNoYXIgKngsIC4uLik7CitjaGFyICoqc3Rydl9uZXdfYXAoY29uc3QgY2hhciAqeCwgdmFfbGlzdCBhcCk7CisKK3N0YXRpYyBpbmxpbmUgY29uc3QgY2hhciogU1RSVl9JRk5PVE5VTEwoY29uc3QgY2hhciAqeCkgeworICAgICAgICByZXR1cm4geCA/IHggOiAoY29uc3QgY2hhciAqKSAtMTsKK30KKworc3RhdGljIGlubGluZSBpbnQgc3Rydl9pc2VtcHR5KGNoYXIgKiBjb25zdCAqbCkgeworICAgICAgICByZXR1cm4gIWwgfHwgISpsOworfQorCitjaGFyICoqc3Rydl9zcGxpdChjb25zdCBjaGFyICpzLCBjb25zdCBjaGFyICpzZXBhcmF0b3IpOworY2hhciAqc3Rydl9qb2luKGNoYXIgKipsLCBjb25zdCBjaGFyICpzZXBhcmF0b3IpOworCisjZGVmaW5lIFNUUlZfRk9SRUFDSChzLCBsKSAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGZvciAoKHMpID0gKGwpOyAocykgJiYgKihzKTsgKHMpKyspCisKKyNkZWZpbmUgU1RSVl9GT1JFQUNIX0JBQ0tXQVJEUyhzLCBsKSAgICAgICAgICAgIFwKKyAgICAgICAgU1RSVl9GT1JFQUNIKHMsIGwpICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgZm9yICgocyktLTsgKGwpICYmICgocykgPj0gKGwpKTsgKHMpLS0pCisKKworI2RlZmluZSBTVFJWX01BS0VfRU1QVFkgKChjaGFyKlsxXSkgeyBOVUxMIH0pCisKK2NoYXIgKipzdHJ2X3JldmVyc2UoY2hhciAqKmwpOworCisjZW5kaWYgLyogVVRJTF9MSU5VWF9TVFJWICovCisKKwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zd2FwaGVhZGVyLmggYi9pbmNsdWRlL3N3YXBoZWFkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZmNlMGQwCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9zd2FwaGVhZGVyLmgKQEAgLTAsMCArMSwyMyBAQAorI2lmbmRlZiBfU1dBUEhFQURFUl9ICisjZGVmaW5lIF9TV0FQSEVBREVSX0gKKworI2RlZmluZSBTV0FQX1ZFUlNJT04gMQorI2RlZmluZSBTV0FQX1VVSURfTEVOR1RIIDE2CisjZGVmaW5lIFNXQVBfTEFCRUxfTEVOR1RIIDE2CisjZGVmaW5lIFNXQVBfU0lHTkFUVVJFICJTV0FQU1BBQ0UyIgorI2RlZmluZSBTV0FQX1NJR05BVFVSRV9TWiAoc2l6ZW9mKFNXQVBfU0lHTkFUVVJFKSAtIDEpCisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworc3RydWN0IHN3YXBfaGVhZGVyX3YxXzIgeworCWNoYXIJICAgICAgYm9vdGJpdHNbMTAyNF07ICAgIC8qIFNwYWNlIGZvciBkaXNrbGFiZWwgZXRjLiAqLworCXVpbnQzMl90ICAgICAgdmVyc2lvbjsKKwl1aW50MzJfdCAgICAgIGxhc3RfcGFnZTsKKwl1aW50MzJfdCAgICAgIG5yX2JhZHBhZ2VzOworCXVuc2lnbmVkIGNoYXIgdXVpZFtTV0FQX1VVSURfTEVOR1RIXTsKKwljaGFyCSAgICAgIHZvbHVtZV9uYW1lW1NXQVBfTEFCRUxfTEVOR1RIXTsKKwl1aW50MzJfdCAgICAgIHBhZGRpbmdbMTE3XTsKKwl1aW50MzJfdCAgICAgIGJhZHBhZ2VzWzFdOworfTsKKworI2VuZGlmIC8qIF9TV0FQSEVBREVSX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvc3dhcHByb2Jlci5oIGIvaW5jbHVkZS9zd2FwcHJvYmVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTEwNzcwMAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvc3dhcHByb2Jlci5oCkBAIC0wLDAgKzEsOSBAQAorI2lmbmRlZiBVVElMX0xJTlVYX1NXQVBfUFJPQkVSX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9TV0FQX1BST0JFUl9ICisKKyNpbmNsdWRlIDxibGtpZC5oPgorCitibGtpZF9wcm9iZSBnZXRfc3dhcF9wcm9iZXIoY29uc3QgY2hhciAqZGV2bmFtZSk7CisKKyNlbmRpZiAvKiBVVElMX0xJTlVYX1NXQVBfUFJPQkVSX0ggKi8KKwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zeXNmcy5oIGIvaW5jbHVkZS9zeXNmcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2ZDNjYmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL3N5c2ZzLmgKQEAgLTAsMCArMSwxMjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKi8KKyNpZm5kZWYgVVRJTF9MSU5VWF9TWVNGU19ICisjZGVmaW5lIFVUSUxfTElOVVhfU1lTRlNfSAorCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorI2luY2x1ZGUgPGRpcmVudC5oPgorCitzdHJ1Y3Qgc3lzZnNfY3h0IHsKKwlkZXZfdAlkZXZubzsKKwlpbnQJZGlyX2ZkOwkJLyogL3N5cy9ibG9jay88bmFtZT4gKi8KKwljaGFyCSpkaXJfcGF0aDsKKwlzdHJ1Y3Qgc3lzZnNfY3h0ICpwYXJlbnQ7CisKKwl1bnNpZ25lZCBpbnQJc2NzaV9ob3N0LAorCQkJc2NzaV9jaGFubmVsLAorCQkJc2NzaV90YXJnZXQsCisJCQlzY3NpX2x1bjsKKworCXVuc2lnbmVkIGludAloYXNfaGN0bCAgIDogMSwKKwkJCWhjdGxfZXJyb3IgOiAxIDsKK307CisKKyNkZWZpbmUgVUxfU1lTRlNDWFRfRU1QVFkgeyAwLCAtMSwgTlVMTCwgTlVMTCwgMCwgMCwgMCwgMCwgMCB9CisKK2V4dGVybiBjaGFyICpzeXNmc19kZXZub19hdHRyaWJ1dGVfcGF0aChkZXZfdCBkZXZubywgY2hhciAqYnVmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGJ1ZnNpeiwgY29uc3QgY2hhciAqYXR0cik7CitleHRlcm4gaW50IHN5c2ZzX2Rldm5vX2hhc19hdHRyaWJ1dGUoZGV2X3QgZGV2bm8sIGNvbnN0IGNoYXIgKmF0dHIpOworZXh0ZXJuIGNoYXIgKnN5c2ZzX2Rldm5vX3BhdGgoZGV2X3QgZGV2bm8sIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnNpeik7CitleHRlcm4gY2hhciAqc3lzZnNfZGV2bm9fdG9fZGV2cGF0aChkZXZfdCBkZXZubywgY2hhciAqYnVmLCBzaXplX3QgYnVmc2l6KTsKK2V4dGVybiBkZXZfdCBzeXNmc19kZXZuYW1lX3RvX2Rldm5vKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnBhcmVudCk7CisKK2V4dGVybiBpbnQgc3lzZnNfaW5pdChzdHJ1Y3Qgc3lzZnNfY3h0ICpjeHQsIGRldl90IGRldm5vLCBzdHJ1Y3Qgc3lzZnNfY3h0ICpwYXJlbnQpCisJCQkJCV9fYXR0cmlidXRlX18gKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKK2V4dGVybiB2b2lkIHN5c2ZzX2RlaW5pdChzdHJ1Y3Qgc3lzZnNfY3h0ICpjeHQpOworCitleHRlcm4gRElSICpzeXNmc19vcGVuZGlyKHN0cnVjdCBzeXNmc19jeHQgKmN4dCwgY29uc3QgY2hhciAqYXR0cik7CisKK2V4dGVybiBpbnQgc3lzZnNfc3RhdChzdHJ1Y3Qgc3lzZnNfY3h0ICpjeHQsIGNvbnN0IGNoYXIgKmF0dHIsIHN0cnVjdCBzdGF0ICpzdCk7CitleHRlcm4gc3NpemVfdCBzeXNmc19yZWFkbGluayhzdHJ1Y3Qgc3lzZnNfY3h0ICpjeHQsIGNvbnN0IGNoYXIgKmF0dHIsCisJICAgICAgICAgICAgICAgICAgIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnNpeik7CitleHRlcm4gaW50IHN5c2ZzX2hhc19hdHRyaWJ1dGUoc3RydWN0IHN5c2ZzX2N4dCAqY3h0LCBjb25zdCBjaGFyICphdHRyKTsKKworZXh0ZXJuIGludCBzeXNmc19zY2FuZihzdHJ1Y3Qgc3lzZnNfY3h0ICpjeHQsICBjb25zdCBjaGFyICphdHRyLAorCQkgICAgICAgY29uc3QgY2hhciAqZm10LCAuLi4pCisJCSAgICAgICAgX19hdHRyaWJ1dGVfXyAoKGZvcm1hdCAoc2NhbmYsIDMsIDQpKSk7CisKK2V4dGVybiBpbnQgc3lzZnNfcmVhZF9zNjQoc3RydWN0IHN5c2ZzX2N4dCAqY3h0LCBjb25zdCBjaGFyICphdHRyLCBpbnQ2NF90ICpyZXMpOworZXh0ZXJuIGludCBzeXNmc19yZWFkX3U2NChzdHJ1Y3Qgc3lzZnNfY3h0ICpjeHQsIGNvbnN0IGNoYXIgKmF0dHIsIHVpbnQ2NF90ICpyZXMpOworZXh0ZXJuIGludCBzeXNmc19yZWFkX2ludChzdHJ1Y3Qgc3lzZnNfY3h0ICpjeHQsIGNvbnN0IGNoYXIgKmF0dHIsIGludCAqcmVzKTsKKworZXh0ZXJuIGludCBzeXNmc193cml0ZV9zdHJpbmcoc3RydWN0IHN5c2ZzX2N4dCAqY3h0LCBjb25zdCBjaGFyICphdHRyLCBjb25zdCBjaGFyICpzdHIpOworZXh0ZXJuIGludCBzeXNmc193cml0ZV91NjQoc3RydWN0IHN5c2ZzX2N4dCAqY3h0LCBjb25zdCBjaGFyICphdHRyLCB1aW50NjRfdCBudW0pOworCitleHRlcm4gY2hhciAqc3lzZnNfZ2V0X2Rldm5hbWUoc3RydWN0IHN5c2ZzX2N4dCAqY3h0LCBjaGFyICpidWYsIHNpemVfdCBidWZzaXopOworCitleHRlcm4gY2hhciAqc3lzZnNfc3RyZHVwKHN0cnVjdCBzeXNmc19jeHQgKmN4dCwgY29uc3QgY2hhciAqYXR0cik7CisKK2V4dGVybiBpbnQgc3lzZnNfY291bnRfZGlyZW50cyhzdHJ1Y3Qgc3lzZnNfY3h0ICpjeHQsIGNvbnN0IGNoYXIgKmF0dHIpOworZXh0ZXJuIGludCBzeXNmc19jb3VudF9wYXJ0aXRpb25zKHN0cnVjdCBzeXNmc19jeHQgKmN4dCwgY29uc3QgY2hhciAqZGV2bmFtZSk7CitleHRlcm4gZGV2X3Qgc3lzZnNfcGFydG5vX3RvX2Rldm5vKHN0cnVjdCBzeXNmc19jeHQgKmN4dCwgaW50IHBhcnRubyk7CitleHRlcm4gY2hhciAqc3lzZnNfZ2V0X3NsYXZlKHN0cnVjdCBzeXNmc19jeHQgKmN4dCk7CisKK2V4dGVybiBjaGFyICpzeXNmc19nZXRfZGV2Y2hhaW4oc3RydWN0IHN5c2ZzX2N4dCAqY3h0LCBjaGFyICpidWYsIHNpemVfdCBidWZzeik7CitleHRlcm4gaW50IHN5c2ZzX25leHRfc3Vic3lzdGVtKHN0cnVjdCBzeXNmc19jeHQgKmN4dCwgY2hhciAqZGV2Y2hhaW4sIGNoYXIgKipzdWJzeXMpOworZXh0ZXJuIGludCBzeXNmc19pc19ob3RwbHVnZ2FibGUoc3RydWN0IHN5c2ZzX2N4dCAqY3h0KTsKKworZXh0ZXJuIGludCBzeXNmc19pc19wYXJ0aXRpb25fZGlyZW50KERJUiAqZGlyLCBzdHJ1Y3QgZGlyZW50ICpkLAorCQkJY29uc3QgY2hhciAqcGFyZW50X25hbWUpOworCitleHRlcm4gaW50IHN5c2ZzX2Rldm5vX3RvX3dob2xlZGlzayhkZXZfdCBkZXYsIGNoYXIgKmRpc2tuYW1lLAorICAgICAgICAgICAgc2l6ZV90IGxlbiwgZGV2X3QgKmRpc2tkZXZubyk7CisKK2V4dGVybiBpbnQgc3lzZnNfZGV2bm9faXNfbHZtX3ByaXZhdGUoZGV2X3QgZGV2bm8pOworZXh0ZXJuIGludCBzeXNmc19kZXZub19pc193aG9sZWRpc2soZGV2X3QgZGV2bm8pOworCitleHRlcm4gaW50IHN5c2ZzX3Njc2lfZ2V0X2hjdGwoc3RydWN0IHN5c2ZzX2N4dCAqY3h0LCBpbnQgKmgsCisJCQkgICAgICAgaW50ICpjLCBpbnQgKnQsIGludCAqbCk7CitleHRlcm4gY2hhciAqc3lzZnNfc2NzaV9ob3N0X3N0cmR1cF9hdHRyaWJ1dGUoc3RydWN0IHN5c2ZzX2N4dCAqY3h0LAorICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnR5cGUsIGNvbnN0IGNoYXIgKmF0dHIpOworZXh0ZXJuIGludCBzeXNmc19zY3NpX2hvc3RfaXMoc3RydWN0IHN5c2ZzX2N4dCAqY3h0LCBjb25zdCBjaGFyICp0eXBlKTsKK2V4dGVybiBpbnQgc3lzZnNfc2NzaV9oYXNfYXR0cmlidXRlKHN0cnVjdCBzeXNmc19jeHQgKmN4dCwgY29uc3QgY2hhciAqYXR0cik7CitleHRlcm4gaW50IHN5c2ZzX3Njc2lfcGF0aF9jb250YWlucyhzdHJ1Y3Qgc3lzZnNfY3h0ICpjeHQsIGNvbnN0IGNoYXIgKnBhdHRlcm4pOworCisvKioKKyAqIHN5c2ZzX2Rldm5hbWVfc3lzX3RvX2RldjoKKyAqIEBuYW1lOiBkZXZuYW1lIHRvIGJlIGNvbnZlcnRlZCBpbiBwbGFjZQorICoKKyAqIExpbnV4IGtlcm5lbCBsaW51eC9kcml2ZXJzL2Jhc2UvY29yZS5jOiBkZXZpY2VfZ2V0X2Rldm5vZGUoKQorICogZGVmaW5lcyBhIHJlcGxhY2VtZW50IG9mICchJyBpbiB0aGUgL3N5cyBkZXZpY2UgbmFtZSBieSAnLycgaW4gdGhlCisgKiAvZGV2IGRldmljZSBuYW1lLiBUaGlzIGhlbHBlciByZXBsYWNlcyBhbGwgb2NjdXJyZW5jZXMgb2YgJyEnIGluCisgKiBAbmFtZSBieSAnLycgdG8gY29udmVydCBmcm9tIC9zeXMgdG8gL2Rldi4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIHN5c2ZzX2Rldm5hbWVfc3lzX3RvX2RldihjaGFyICpuYW1lKQoreworCWNoYXIgKmM7CisKKwlpZiAobmFtZSkKKwkJd2hpbGUgKChjID0gc3RyY2hyKG5hbWUsICchJykpKQorCQkJY1swXSA9ICcvJzsKK30KKworLyoqCisgKiBzeXNmc19kZXZuYW1lX2Rldl90b19zeXM6CisgKiBAbmFtZTogZGV2bmFtZSB0byBiZSBjb252ZXJ0ZWQgaW4gcGxhY2UKKyAqCisgKiBTZWUgc3lzZnNfZGV2bmFtZV9zeXNfdG9fZGV2KCkuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBzeXNmc19kZXZuYW1lX2Rldl90b19zeXMoY2hhciAqbmFtZSkKK3sKKwljaGFyICpjOworCisJaWYgKG5hbWUpCisJCXdoaWxlICgoYyA9IHN0cmNocihuYW1lLCAnLycpKSkKKwkJCWNbMF0gPSAnISc7Cit9CisKKyNlbmRpZiAvKiBVVElMX0xJTlVYX1NZU0ZTX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvdGltZXIuaCBiL2luY2x1ZGUvdGltZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTlmOWMwCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS90aW1lci5oCkBAIC0wLDAgKzEsMTEgQEAKKyNpZm5kZWYgVVRJTF9MSU5VWF9USU1FUl9ICisjZGVmaW5lIFVUSUxfTElOVVhfVElNRVJfSAorCisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKworZXh0ZXJuIGludCBzZXR1cF90aW1lcih0aW1lcl90ICogdF9pZCwgc3RydWN0IGl0aW1lcnZhbCAqdGltZW91dCwKKwkJICAgICAgIHZvaWQgKCp0aW1lb3V0X2hhbmRsZXIpKGludCwgc2lnaW5mb190ICosIHZvaWQgKikpOworZXh0ZXJuIHZvaWQgY2FuY2VsX3RpbWVyKHRpbWVyX3QgKiB0X2lkKTsKKworI2VuZGlmIC8qIFVUSUxfTElOVVhfVElNRVJfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS90aW1ldXRpbHMuaCBiL2luY2x1ZGUvdGltZXV0aWxzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDBkMTgyMAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvdGltZXV0aWxzLmgKQEAgLTAsMCArMSw4MSBAQAorLyoqKgorICBGaXJzdCBzZXQgb2YgZnVuY3Rpb25zIGluIHRoaXMgZmlsZSBhcmUgcGFydCBvZiBzeXN0ZW1kLCBhbmQgd2VyZQorICBjb3BpZWQgdG8gdXRpbC1saW51eCBhdCBBdWd1c3QgMjAxMy4KKworICBDb3B5cmlnaHQgMjAxMCBMZW5uYXJ0IFBvZXR0ZXJpbmcKKyAgQ29weXJpZ2h0IChDKSAyMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorCisgIHN5c3RlbWQgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvcgorICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgIHN5c3RlbWQgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisgIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVQorICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICBhbG9uZyB3aXRoIHN5c3RlbWQ7IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyoqKi8KKyNpZm5kZWYgVVRJTF9MSU5VWF9USU1FX1VUSUxfSAorI2RlZmluZSBVVElMX0xJTlVYX1RJTUVfVVRJTF9ICisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGludHR5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKwordHlwZWRlZiB1aW50NjRfdCB1c2VjX3Q7Cit0eXBlZGVmIHVpbnQ2NF90IG5zZWNfdDsKKworI2RlZmluZSBNU0VDX1BFUl9TRUMgIDEwMDBVTEwKKyNkZWZpbmUgVVNFQ19QRVJfU0VDICAxMDAwMDAwVUxMCisjZGVmaW5lIFVTRUNfUEVSX01TRUMgMTAwMFVMTAorI2RlZmluZSBOU0VDX1BFUl9TRUMgIDEwMDAwMDAwMDBVTEwKKyNkZWZpbmUgTlNFQ19QRVJfTVNFQyAxMDAwMDAwVUxMCisjZGVmaW5lIE5TRUNfUEVSX1VTRUMgMTAwMFVMTAorCisjZGVmaW5lIFVTRUNfUEVSX01JTlVURQkoNjBVTEwqVVNFQ19QRVJfU0VDKQorI2RlZmluZSBOU0VDX1BFUl9NSU5VVEUJKDYwVUxMKk5TRUNfUEVSX1NFQykKKyNkZWZpbmUgVVNFQ19QRVJfSE9VUgkoNjBVTEwqVVNFQ19QRVJfTUlOVVRFKQorI2RlZmluZSBOU0VDX1BFUl9IT1VSCSg2MFVMTCpOU0VDX1BFUl9NSU5VVEUpCisjZGVmaW5lIFVTRUNfUEVSX0RBWQkoMjRVTEwqVVNFQ19QRVJfSE9VUikKKyNkZWZpbmUgTlNFQ19QRVJfREFZCSgyNFVMTCpOU0VDX1BFUl9IT1VSKQorI2RlZmluZSBVU0VDX1BFUl9XRUVLCSg3VUxMKlVTRUNfUEVSX0RBWSkKKyNkZWZpbmUgTlNFQ19QRVJfV0VFSwkoN1VMTCpOU0VDX1BFUl9EQVkpCisjZGVmaW5lIFVTRUNfUEVSX01PTlRICSgyNjI5ODAwVUxMKlVTRUNfUEVSX1NFQykKKyNkZWZpbmUgTlNFQ19QRVJfTU9OVEgJKDI2Mjk4MDBVTEwqTlNFQ19QRVJfU0VDKQorI2RlZmluZSBVU0VDX1BFUl9ZRUFSCSgzMTU1NzYwMFVMTCpVU0VDX1BFUl9TRUMpCisjZGVmaW5lIE5TRUNfUEVSX1lFQVIJKDMxNTU3NjAwVUxMKk5TRUNfUEVSX1NFQykKKworI2RlZmluZSBGT1JNQVRfVElNRVNUQU1QX01BWCAoKDQqNCsxKSsxMSs5KzQrMSkJLyogd2Vla2RheXMgY2FuIGJlIHVuaWNvZGUgKi8KKyNkZWZpbmUgRk9STUFUX1RJTUVTVEFNUF9SRUxBVElWRV9NQVggMjU2CisjZGVmaW5lIEZPUk1BVF9USU1FU1BBTl9NQVggNjQKKworaW50IHBhcnNlX3RpbWVzdGFtcChjb25zdCBjaGFyICp0LCB1c2VjX3QgKnVzZWMpOworCisvKiBmbGFncyBmb3Igc3RyeHh4X2lzbygpIGZ1bmN0aW9ucyAqLworZW51bSB7CisJSVNPXzg2MDFfREFURQkJPSAoMSA8PCAxKSwKKwlJU09fODYwMV9USU1FCQk9ICgxIDw8IDIpLAorCUlTT184NjAxX0RPVFVTRUMJPSAoMSA8PCAzKSwKKwlJU09fODYwMV9DT01NQVVTRUMJPSAoMSA8PCA0KSwKKwlJU09fODYwMV9USU1FWk9ORQk9ICgxIDw8IDUpLAorCUlTT184NjAxX1NQQUNFCQk9ICgxIDw8IDYpLAorCUlTT184NjAxX0dNVElNRQkJPSAoMSA8PCA3KQorfTsKKworI2RlZmluZSBJU09fODYwMV9CVUZTSVoJMzIKKworaW50IHN0cnRpbWV2YWxfaXNvKHN0cnVjdCB0aW1ldmFsICp0diwgaW50IGZsYWdzLCBjaGFyICpidWYsIHNpemVfdCBidWZzeik7CitpbnQgc3RydG1faXNvKHN0cnVjdCB0bSAqdG0sIGludCBmbGFncywgY2hhciAqYnVmLCBzaXplX3QgYnVmc3opOworaW50IHN0cnRpbWVfaXNvKGNvbnN0IHRpbWVfdCAqdCwgaW50IGZsYWdzLCBjaGFyICpidWYsIHNpemVfdCBidWZzeik7CisKKyNkZWZpbmUgVUxfU0hPUlRUSU1FX1RISVNZRUFSX0hITU0gKDEgPDwgMSkKKworaW50IHRpbWVfaXNfdG9kYXkoY29uc3QgdGltZV90ICp0LCBzdHJ1Y3QgdGltZXZhbCAqbm93KTsKK2ludCB0aW1lX2lzX3RoaXN5ZWFyKGNvbnN0IHRpbWVfdCAqdCwgc3RydWN0IHRpbWV2YWwgKm5vdyk7CisKK2ludCBzdHJ0aW1lX3Nob3J0KGNvbnN0IHRpbWVfdCAqdCwgc3RydWN0IHRpbWV2YWwgKm5vdywgaW50IGZsYWdzLCBjaGFyICpidWYsIHNpemVfdCBidWZzeik7CisKKyNlbmRpZiAvKiBVVElMX0xJTlVYX1RJTUVfVVRJTF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3R0eXV0aWxzLmggYi9pbmNsdWRlL3R0eXV0aWxzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzI3OGQzNgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvdHR5dXRpbHMuaApAQCAtMCwwICsxLDE2OCBAQAorLyoKKyAqIE5vIGNvcHlyaWdodCBpcyBjbGFpbWVkLiAgVGhpcyBjb2RlIGlzIGluIHRoZSBwdWJsaWMgZG9tYWluOyBkbyB3aXRoCisgKiBpdCB3aGF0IHlvdSB3aXNoLgorICoKKyAqIFdyaXR0ZW4gYnkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKi8KKyNpZm5kZWYgVVRJTF9MSU5VWF9UVFlVVElMU19ICisjZGVmaW5lIFVUSUxfTElOVVhfVFRZVVRJTFNfSAorCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dGVybWlvcy5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2lmZGVmIEhBVkVfU1lTX0lPQ1RMX0gKKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfU1lTX1RUWURFRkFVTFRTX0gKKyNpbmNsdWRlIDxzeXMvdHR5ZGVmYXVsdHMuaD4KKyNlbmRpZgorCisvKiBTb21lIHNob3J0aGFuZHMgZm9yIGNvbnRyb2wgY2hhcmFjdGVycy4gKi8KKyNkZWZpbmUgQ1RMKHgpCQkoKHgpIF4gMDEwMCkJLyogQXNzdW1lcyBBU0NJSSBkaWFsZWN0ICovCisjZGVmaW5lIENSCQlDVEwoJ00nKQkvKiBjYXJyaWFnZSByZXR1cm4gKi8KKyNkZWZpbmUgTkwJCUNUTCgnSicpCS8qIGxpbmUgZmVlZCAqLworI2RlZmluZSBCUwkJQ1RMKCdIJykJLyogYmFjayBzcGFjZSAqLworI2RlZmluZSBERUwJCUNUTCgnPycpCS8qIGRlbGV0ZSAqLworCisvKiBEZWZhdWx0cyBmb3IgbGluZS1lZGl0aW5nIGV0Yy4gY2hhcmFjdGVyczsgeW91IG1heSB3YW50IHRvIGNoYW5nZSB0aGVzZS4gKi8KKyNkZWZpbmUgREVGX0VSQVNFCURFTAkJLyogZGVmYXVsdCBlcmFzZSBjaGFyYWN0ZXIgKi8KKyNkZWZpbmUgREVGX0lOVFIJQ1RMKCdDJykJLyogZGVmYXVsdCBpbnRlcnJ1cHQgY2hhcmFjdGVyICovCisjZGVmaW5lIERFRl9RVUlUCUNUTCgnXFwnKQkvKiBkZWZhdWx0IHF1aXQgY2hhciAqLworI2RlZmluZSBERUZfS0lMTAlDVEwoJ1UnKQkvKiBkZWZhdWx0IGtpbGwgY2hhciAqLworI2RlZmluZSBERUZfRU9GCQlDVEwoJ0QnKQkvKiBkZWZhdWx0IEVPRiBjaGFyICovCisjZGVmaW5lIERFRl9FT0wJCTAKKyNkZWZpbmUgREVGX1NXSVRDSAkwCQkvKiBkZWZhdWx0IHN3aXRjaCBjaGFyICovCisKKy8qIFN0b3JhZ2UgZm9yIHRoaW5ncyBkZXRlY3RlZCB3aGlsZSB0aGUgbG9naW4gbmFtZSB3YXMgcmVhZC4gKi8KK3N0cnVjdCBjaGFyZGF0YSB7CisJaW50IGVyYXNlOwkJLyogZXJhc2UgY2hhcmFjdGVyICovCisJaW50IGtpbGw7CQkvKiBraWxsIGNoYXJhY3RlciAqLworCWludCBlb2w7CQkvKiBlbmQtb2YtbGluZSBjaGFyYWN0ZXIgKi8KKwlpbnQgcGFyaXR5OwkJLyogd2hhdCBwYXJpdHkgZGlkIHdlIHNlZSAqLworCWludCBjYXBzbG9jazsJCS8qIHVwcGVyIGNhc2Ugd2l0aG91dCBsb3dlciBjYXNlICovCit9OworCisjZGVmaW5lIElOSVRfQ0hBUkRBVEEocHRyKSBkbyB7ICAgICAgICAgICAgICBcCisJCShwdHIpLT5lcmFzZSAgICA9IERFRl9FUkFTRTsgXAorCQkocHRyKS0+a2lsbCAgICAgPSBERUZfS0lMTDsgIFwKKwkJKHB0ciktPmVvbCAgICAgID0gQ1RSTCgncicpOyBcCisJICAgICAgICAocHRyKS0+cGFyaXR5ICAgPSAwOyAgICAgICAgIFwKKwkgICAgICAgIChwdHIpLT5jYXBzbG9jayA9IDA7ICAgICAgICAgXAorCX0gd2hpbGUgKDApCisKK2V4dGVybiBpbnQgZ2V0X3Rlcm1pbmFsX3dpZHRoKGludCBkZWZhdWx0X3dpZHRoKTsKK2V4dGVybiBpbnQgZ2V0X3Rlcm1pbmFsX25hbWUoY29uc3QgY2hhciAqKnBhdGgsIGNvbnN0IGNoYXIgKipuYW1lLAorCQkJICAgICBjb25zdCBjaGFyICoqbnVtYmVyKTsKKworI2RlZmluZSBVTF9UVFlfS0VFUENGTEFHUwkoMSA8PCAxKQorI2RlZmluZSBVTF9UVFlfVVRGOAkJKDEgPDwgMikKKworc3RhdGljIGlubGluZSB2b2lkIHJlc2V0X3ZpcnR1YWxfY29uc29sZShzdHJ1Y3QgdGVybWlvcyAqdHAsIGludCBmbGFncykKK3sKKwkvKiBVc2UgZGVmYXVsdHMgb2YgPHN5cy90dHlkZWZhdWx0cy5oPiBmb3IgYmFzZSBzZXR0aW5ncyAqLworCXRwLT5jX2lmbGFnIHw9IFRUWURFRl9JRkxBRzsKKwl0cC0+Y19vZmxhZyB8PSBUVFlERUZfT0ZMQUc7CisJdHAtPmNfbGZsYWcgfD0gVFRZREVGX0xGTEFHOworCisJaWYgKChmbGFncyAmIFVMX1RUWV9LRUVQQ0ZMQUdTKSA9PSAwKSB7CisjaWZkZWYgQ0JBVUQKKwkJdHAtPmNfbGZsYWcgJj0gfkNCQVVEOworI2VuZGlmCisJCXRwLT5jX2NmbGFnIHw9IChCMzg0MDAgfCBUVFlERUZfQ0ZMQUcpOworCX0KKworCS8qIFNhbmUgc2V0dGluZywgYWxsb3cgZWlnaHQgYml0IGNoYXJhY3RlcnMsIG5vIGNhcnJpYWdlIHJldHVybiBkZWxheQorCSAqIHRoZSBzYW1lIHJlc3VsdCBhcyBgc3R0eSBzYW5lIGNyMCBwYXNzOCcKKwkgKi8KKyNpZm5kZWYgSVVDTEMKKyMgZGVmaW5lIElVQ0xDIDAKKyNlbmRpZgorI2lmbmRlZiBOTDAKKyMgZGVmaW5lIE5MMCAwCisjZW5kaWYKKyNpZm5kZWYgQ1IwCisjIGRlZmluZSBDUjAgMAorI2VuZGlmCisjaWZuZGVmIEJTMAorIyBkZWZpbmUgQlMwIDAKKyNlbmRpZgorI2lmbmRlZiBWVDAKKyMgZGVmaW5lIFZUMCAwCisjZW5kaWYKKyNpZm5kZWYgRkYwCisjIGRlZmluZSBGRjAgMAorI2VuZGlmCisjaWZuZGVmIE9MQ1VDCisjIGRlZmluZSBPTENVQyAwCisjZW5kaWYKKyNpZm5kZWYgT0ZJTEwKKyMgZGVmaW5lIE9GSUxMIDAKKyNlbmRpZgorI2lmbmRlZiBOTERMWQorIyBkZWZpbmUgTkxETFkgMAorI2VuZGlmCisjaWZuZGVmIENSRExZCisjIGRlZmluZSBDUkRMWSAwCisjZW5kaWYKKyNpZm5kZWYgQlNETFkKKyMgZGVmaW5lIEJTRExZIDAKKyNlbmRpZgorI2lmbmRlZiBWVERMWQorIyBkZWZpbmUgVlRETFkgMAorI2VuZGlmCisjaWZuZGVmIEZGRExZCisjIGRlZmluZSBGRkRMWSAwCisjZW5kaWYKKworCXRwLT5jX2lmbGFnIHw9ICAoQlJLSU5UIHwgSUNSTkwgfCBJTUFYQkVMKTsKKwl0cC0+Y19pZmxhZyAmPSB+KElHTkJSSyB8IElOTENSIHwgSUdOQ1IgfCBJWE9GRiB8IElVQ0xDIHwgSVhBTlkgfCBJU1RSSVApOworCXRwLT5jX29mbGFnIHw9ICAoT1BPU1QgfCBPTkxDUiB8IE5MMCB8IENSMCB8IFRBQjAgfCBCUzAgfCBWVDAgfCBGRjApOworCXRwLT5jX29mbGFnICY9IH4oT0xDVUMgfCBPQ1JOTCB8IE9OT0NSIHwgT05MUkVUIHwgT0ZJTEwgfCBcCisJCQkgICAgTkxETFl8Q1JETFl8VEFCRExZfEJTRExZfFZURExZfEZGRExZKTsKKwl0cC0+Y19sZmxhZyB8PSAgKElTSUcgfCBJQ0FOT04gfCBJRVhURU4gfCBFQ0hPfEVDSE9FfEVDSE9LfEVDSE9LRXxFQ0hPQ1RMKTsKKwl0cC0+Y19sZmxhZyAmPSB+KEVDSE9OTHxFQ0hPUFJUIHwgTk9GTFNIIHwgVE9TVE9QKTsKKworCWlmICgoZmxhZ3MgJiBVTF9UVFlfS0VFUENGTEFHUykgPT0gMCkgeworCQl0cC0+Y19jZmxhZyB8PSAgKENSRUFEIHwgQ1M4IHwgSFVQQ0wpOworCQl0cC0+Y19jZmxhZyAmPSB+KFBBUk9ERCB8IFBBUkVOQik7CisJfQorI2lmZGVmIE9GREVMCisJdHAtPmNfb2ZsYWcgJj0gfk9GREVMOworI2VuZGlmCisjaWZkZWYgWENBU0UKKwl0cC0+Y19sZmxhZyAmPSB+WENBU0U7CisjZW5kaWYKKyNpZmRlZiBJVVRGOAorCWlmIChmbGFncyAmIFVMX1RUWV9VVEY4KQorCQl0cC0+Y19pZmxhZyB8PSBJVVRGODsJICAgIC8qIFNldCBVVEYtOCBpbnB1dCBmbGFnICovCisJZWxzZQorCQl0cC0+Y19pZmxhZyAmPSB+SVVURjg7CisjZW5kaWYKKwkvKiBWVElNRSBhbmQgVk1JTiBjYW4gb3ZlcmxhcCB3aXRoIFZFT0YgYW5kIFZFT0wgc2luY2UgdGhleSBhcmUKKwkgKiBvbmx5IHVzZWQgZm9yIG5vbi1jYW5vbmljYWwgbW9kZS4gV2UganVzdCBzZXQgdGhlIGF0IHRoZQorCSAqIGJlZ2lubmluZywgc28gbm90aGluZyBiYWQgc2hvdWxkIGhhcHBlbi4KKwkgKi8KKwl0cC0+Y19jY1tWVElNRV0gICAgPSAwOworCXRwLT5jX2NjW1ZNSU5dICAgICA9IDE7CisJdHAtPmNfY2NbVklOVFJdICAgID0gQ0lOVFI7CisJdHAtPmNfY2NbVlFVSVRdICAgID0gQ1FVSVQ7CisJdHAtPmNfY2NbVkVSQVNFXSAgID0gQ0VSQVNFOyAvKiBBU0NJSSBERUwgKDAxNzcpICovCisJdHAtPmNfY2NbVktJTExdICAgID0gQ0tJTEw7CisJdHAtPmNfY2NbVkVPRl0gICAgID0gQ0VPRjsKKyNpZmRlZiBWU1dUQworCXRwLT5jX2NjW1ZTV1RDXSAgICA9IF9QT1NJWF9WRElTQUJMRTsKKyNlbGlmIGRlZmluZWQoVlNXVENIKQorCXRwLT5jX2NjW1ZTV1RDSF0gICA9IF9QT1NJWF9WRElTQUJMRTsKKyNlbmRpZgorCXRwLT5jX2NjW1ZTVEFSVF0gICA9IENTVEFSVDsKKwl0cC0+Y19jY1tWU1RPUF0gICAgPSBDU1RPUDsKKwl0cC0+Y19jY1tWU1VTUF0gICAgPSBDU1VTUDsKKwl0cC0+Y19jY1tWRU9MXSAgICAgPSBfUE9TSVhfVkRJU0FCTEU7CisJdHAtPmNfY2NbVlJFUFJJTlRdID0gQ1JFUFJJTlQ7CisJdHAtPmNfY2NbVkRJU0NBUkRdID0gQ0RJU0NBUkQ7CisJdHAtPmNfY2NbVldFUkFTRV0gID0gQ1dFUkFTRTsKKwl0cC0+Y19jY1tWTE5FWFRdICAgPSBDTE5FWFQ7CisJdHAtPmNfY2NbVkVPTDJdICAgID0gX1BPU0lYX1ZESVNBQkxFOworfQorCisjZW5kaWYgLyogVVRJTF9MSU5VWF9UVFlVVElMU19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3dpZGVjaGFyLmggYi9pbmNsdWRlL3dpZGVjaGFyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzFmMmNmMgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvd2lkZWNoYXIuaApAQCAtMCwwICsxLDQ3IEBACisvKiBEZWNsYXJhdGlvbnMgZm9yIHdpZGUgY2hhcmFjdGVycyAqLworLyogVGhpcyBmaWxlIG11c3QgYmUgaW5jbHVkZWQgbGFzdCBiZWNhdXNlIHRoZSByZWRlZmluaXRpb24gb2Ygd2NoYXJfdCBtYXkKKyAgIGNhdXNlIGNvbmZsaWN0cyB3aGVuIHN5c3RlbSBpbmNsdWRlIGZpbGVzIHdlcmUgaW5jbHVkZWQgYWZ0ZXIgaXQuICovCisKKyNpZmRlZiBIQVZFX1dJREVDSEFSCisKKyMgaW5jbHVkZSA8d2NoYXIuaD4KKyMgaW5jbHVkZSA8d2N0eXBlLmg+CisKKyNlbHNlIC8qICFIQVZFX1dJREVDSEFSICovCisKKyMgaW5jbHVkZSA8Y3R5cGUuaD4KKyAgLyogRmFsbGJhY2sgZm9yIHR5cGVzICovCisjIGRlZmluZSB3Y2hhcl90IGNoYXIKKyMgZGVmaW5lIHdpbnRfdCBpbnQKKyMgaWZuZGVmIFdFT0YKKyMgIGRlZmluZSBXRU9GIEVPRgorIyBlbmRpZgorCisgLyogRmFsbGJhY2sgZm9yIGlucHV0IG9wZXJhdGlvbnMgKi8KKyMgZGVmaW5lIGZnZXR3YyBmZ2V0YworIyBkZWZpbmUgZ2V0d2MgZ2V0YworIyBkZWZpbmUgZ2V0d2NoYXIgZ2V0Y2hhcgorIyBkZWZpbmUgZmdldHdzIGZnZXRzCisKKyAgLyogRmFsbGJhY2sgZm9yIG91dHB1dCBvcGVyYXRpb25zICovCisjIGRlZmluZSBmcHV0d2MgZnB1dGMKKyMgZGVmaW5lIHB1dHdjIHB1dGMKKyMgZGVmaW5lIHB1dHdjaGFyIHB1dGNoYXIKKyMgZGVmaW5lIGZwdXR3cyBmcHV0cworCisgIC8qIEZhbGxiYWNrIGZvciBjaGFyYWN0ZXIgY2xhc3NpZmljYXRpb24gKi8KKyMgZGVmaW5lIGlzd2dyYXBoIGlzZ3JhcGgKKyMgZGVmaW5lIGlzd3ByaW50IGlzcHJpbnQKKyMgZGVmaW5lIGlzd3NwYWNlIGlzc3BhY2UKKworICAvKiBGYWxsYmFjayBmb3Igc3RyaW5nIGZ1bmN0aW9ucyAqLworIyBkZWZpbmUgd2NzY2hyIHN0cmNocgorIyBkZWZpbmUgd2NzZHVwIHN0cmR1cAorIyBkZWZpbmUgd2NzbGVuIHN0cmxlbgorIyBkZWZpbmUgd2NzcGJyayBzdHJwYnJrCisKKyMgZGVmaW5lIHdjd2lkdGgoYykgKDEpCisjIGRlZmluZSB3bWVtc2V0IG1lbXNldAorIyBkZWZpbmUgdW5nZXR3YyB1bmdldGMKKworI2VuZGlmIC8qIEhBVkVfV0lERUNIQVIgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUveGFsbG9jLmggYi9pbmNsdWRlL3hhbGxvYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4NzBhYzAKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL3hhbGxvYy5oCkBAIC0wLDAgKzEsMTI2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIERhdmlkbG9ociBCdWVzbyA8ZGF2ZUBnbnUub3JnPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKgorICogR2VuZXJhbCBtZW1vcnkgYWxsb2NhdGlvbiB3cmFwcGVycyBmb3IgbWFsbG9jLCByZWFsbG9jLCBjYWxsb2MgYW5kIHN0cmR1cAorICovCisKKyNpZm5kZWYgVVRJTF9MSU5VWF9YQUxMT0NfSAorI2RlZmluZSBVVElMX0xJTlVYX1hBTExPQ19ICisKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworI2luY2x1ZGUgImMuaCIKKworI2lmbmRlZiBYQUxMT0NfRVhJVF9DT0RFCisjIGRlZmluZSBYQUxMT0NfRVhJVF9DT0RFIEVYSVRfRkFJTFVSRQorI2VuZGlmCisKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX2Vycl9vb20oY29uc3QgY2hhciAqZmlsZSwgdW5zaWduZWQgaW50IGxpbmUpCit7CisJZXJyKFhBTExPQ19FWElUX0NPREUsICIlczogJXU6IGNhbm5vdCBhbGxvY2F0ZSBtZW1vcnkiLCBmaWxlLCBsaW5lKTsKK30KKworI2RlZmluZSBlcnJfb29tKCkJX19lcnJfb29tKF9fRklMRV9fLCBfX0xJTkVfXykKKworc3RhdGljIGlubGluZSBfX3VsX2FsbG9jX3NpemUoMSkKK3ZvaWQgKnhtYWxsb2MoY29uc3Qgc2l6ZV90IHNpemUpCit7CisgICAgICAgIHZvaWQgKnJldCA9IG1hbGxvYyhzaXplKTsKKworICAgICAgICBpZiAoIXJldCAmJiBzaXplKQorICAgICAgICAgICAgICAgIGVycihYQUxMT0NfRVhJVF9DT0RFLCAiY2Fubm90IGFsbG9jYXRlICV6dSBieXRlcyIsIHNpemUpOworICAgICAgICByZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW5saW5lIF9fdWxfYWxsb2Nfc2l6ZSgyKQordm9pZCAqeHJlYWxsb2Modm9pZCAqcHRyLCBjb25zdCBzaXplX3Qgc2l6ZSkKK3sKKyAgICAgICAgdm9pZCAqcmV0ID0gcmVhbGxvYyhwdHIsIHNpemUpOworCisgICAgICAgIGlmICghcmV0ICYmIHNpemUpCisgICAgICAgICAgICAgICAgZXJyKFhBTExPQ19FWElUX0NPREUsICJjYW5ub3QgYWxsb2NhdGUgJXp1IGJ5dGVzIiwgc2l6ZSk7CisgICAgICAgIHJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbmxpbmUgX191bF9jYWxsb2Nfc2l6ZSgxLCAyKQordm9pZCAqeGNhbGxvYyhjb25zdCBzaXplX3QgbmVsZW1zLCBjb25zdCBzaXplX3Qgc2l6ZSkKK3sKKyAgICAgICAgdm9pZCAqcmV0ID0gY2FsbG9jKG5lbGVtcywgc2l6ZSk7CisKKyAgICAgICAgaWYgKCFyZXQgJiYgc2l6ZSAmJiBuZWxlbXMpCisgICAgICAgICAgICAgICAgZXJyKFhBTExPQ19FWElUX0NPREUsICJjYW5ub3QgYWxsb2NhdGUgJXp1IGJ5dGVzIiwgc2l6ZSk7CisgICAgICAgIHJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbmxpbmUgY2hhciBfX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKSAqeHN0cmR1cChjb25zdCBjaGFyICpzdHIpCit7CisgICAgICAgIGNoYXIgKnJldDsKKworICAgICAgICBpZiAoIXN0cikKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKworICAgICAgICByZXQgPSBzdHJkdXAoc3RyKTsKKworICAgICAgICBpZiAoIXJldCkKKyAgICAgICAgICAgICAgICBlcnIoWEFMTE9DX0VYSVRfQ09ERSwgImNhbm5vdCBkdXBsaWNhdGUgc3RyaW5nIik7CisgICAgICAgIHJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbmxpbmUgY2hhciAqIF9fYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpIHhzdHJuZHVwKGNvbnN0IGNoYXIgKnN0ciwgc2l6ZV90IHNpemUpCit7CisgICAgICAgIGNoYXIgKnJldDsKKworICAgICAgICBpZiAoIXN0cikKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKworICAgICAgICByZXQgPSBzdHJuZHVwKHN0ciwgc2l6ZSk7CisKKyAgICAgICAgaWYgKCFyZXQpCisgICAgICAgICAgICAgICAgZXJyKFhBTExPQ19FWElUX0NPREUsICJjYW5ub3QgZHVwbGljYXRlIHN0cmluZyIpOworICAgICAgICByZXR1cm4gcmV0OworfQorCisKK3N0YXRpYyBpbmxpbmUgaW50IF9fYXR0cmlidXRlX18gKChfX2Zvcm1hdF9fKHByaW50ZiwgMiwgMykpKQorICAgIHhhc3ByaW50ZihjaGFyICoqc3RycCwgY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJaW50IHJldDsKKwl2YV9saXN0IGFyZ3M7CisJdmFfc3RhcnQoYXJncywgZm10KTsKKwlyZXQgPSB2YXNwcmludGYoJigqc3RycCksIGZtdCwgYXJncyk7CisJdmFfZW5kKGFyZ3MpOworCWlmIChyZXQgPCAwKQorCQllcnIoWEFMTE9DX0VYSVRfQ09ERSwgImNhbm5vdCBhbGxvY2F0ZSBzdHJpbmciKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW5saW5lIGludCAgX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0X18ocHJpbnRmLCAyLCAwKSkpCit4dmFzcHJpbnRmKGNoYXIgKipzdHJwLCBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXApCit7CisJaW50IHJldCA9IHZhc3ByaW50ZigmKCpzdHJwKSwgZm10LCBhcCk7CisJaWYgKHJldCA8IDApCisJCWVycihYQUxMT0NfRVhJVF9DT0RFLCAiY2Fubm90IGFsbG9jYXRlIHN0cmluZyIpOworCXJldHVybiByZXQ7Cit9CisKKworc3RhdGljIGlubGluZSBjaGFyICogX19hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSkgeGdldGhvc3RuYW1lKHZvaWQpCit7CisJY2hhciAqbmFtZTsKKwlzaXplX3Qgc3ogPSBnZXRfaG9zdG5hbWVfbWF4KCkgKyAxOworCisJbmFtZSA9IHhtYWxsb2Moc2l6ZW9mKGNoYXIpICogc3opOworCisJaWYgKGdldGhvc3RuYW1lKG5hbWUsIHN6KSAhPSAwKSB7CisJCWZyZWUobmFtZSk7CisJCXJldHVybiBOVUxMOworCX0KKwluYW1lW3N6IC0gMV0gPSAnXDAnOworCXJldHVybiBuYW1lOworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYi9NYWtlbW9kdWxlLmFtIGIvbGliL01ha2Vtb2R1bGUuYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzA0YTE2ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9NYWtlbW9kdWxlLmFtCkBAIC0wLDAgKzEsMTM0IEBACisKK25vaW5zdF9MVExJQlJBUklFUyArPSBsaWJjb21tb24ubGEKK2xpYmNvbW1vbl9sYV9DRkxBR1MgPSAkKEFNX0NGTEFHUykKK2xpYmNvbW1vbl9sYV9TT1VSQ0VTID0gXAorCWxpYi9ibGtkZXYuYyBcCisJbGliL2Nhbm9uaWNhbGl6ZS5jIFwKKwlsaWIvY3JjMzIuYyBcCisJbGliL2Vudi5jIFwKKwlsaWIvaWRjYWNoZS5jIFwKKwlsaWIvZmlsZXV0aWxzLmMgXAorCWxpYi9pc21vdW50ZWQuYyBcCisJbGliL2NvbG9yLW5hbWVzLmMgXAorCWxpYi9tYW5nbGUuYyBcCisJbGliL21hdGNoLmMgXAorCWxpYi9tYnNhbGlnbi5jIFwKKwlsaWIvbWQ1LmMgXAorCWxpYi9wYWdlci5jIFwKKwlsaWIvcGF0aC5jIFwKKwlsaWIvcmFuZHV0aWxzLmMgXAorCWxpYi9zZXRwcm9jdGl0bGUuYyBcCisJbGliL3N0cnV0aWxzLmMgXAorCWxpYi90aW1ldXRpbHMuYyBcCisJbGliL3R0eXV0aWxzLmMgXAorCWxpYi9leGVjX3NoZWxsLmMgXAorCWxpYi9zdHJ2LmMKKworaWYgTElOVVgKK2xpYmNvbW1vbl9sYV9TT1VSQ0VTICs9IFwKKwlsaWIvbGludXhfdmVyc2lvbi5jIFwKKwlsaWIvbG9vcGRldi5jCitlbmRpZgorCitpZiBVU0VfUExZTU9VVEhfU1VQUE9SVAorbGliY29tbW9uX2xhX1NPVVJDRVMgKz0gbGliL3BseW1vdXRoLWN0cmwuYworZW5kaWYKKworaWYgIUhBVkVfTEFOR0lORk8KK2xpYmNvbW1vbl9sYV9TT1VSQ0VTICs9IGxpYi9sYW5naW5mby5jCitlbmRpZgorCitpZiBIQVZFX0NQVV9TRVRfVAorbGliY29tbW9uX2xhX1NPVVJDRVMgKz0gbGliL2NwdXNldC5jCitlbmRpZgorCitpZiBIQVZFX09QRU5BVAorbGliY29tbW9uX2xhX1NPVVJDRVMgKz0gbGliL3Byb2N1dGlscy5jCitsaWJjb21tb25fbGFfU09VUkNFUyArPSBsaWIvc3lzZnMuYworZW5kaWYKKworbm9pbnN0X0xUTElCUkFSSUVTICs9IGxpYnRjb2xvcnMubGEKK2xpYnRjb2xvcnNfbGFfQ0ZMQUdTID0gJChBTV9DRkxBR1MpICQoVElORk9fQ0ZMQUdTKQorbGlidGNvbG9yc19sYV9MSUJBREQgPSAkKFRJTkZPX0xJQlMpCitsaWJ0Y29sb3JzX2xhX1NPVVJDRVMgPSBsaWIvY29sb3JzLmMgbGliL2NvbG9yLW5hbWVzLmMgaW5jbHVkZS9jb2xvcnMuaCBpbmNsdWRlL2NvbG9yLW5hbWVzLmgKKworZGlzdF9tYW5fTUFOUyArPSBsaWIvdGVybWluYWwtY29sb3JzLmQuNQorCisKK2NoZWNrX1BST0dSQU1TICs9IFwKKwl0ZXN0X2Jsa2RldiBcCisJdGVzdF9jYW5vbmljYWxpemUgXAorCXRlc3RfY29sb3JzIFwKKwl0ZXN0X2ZpbGV1dGlscyBcCisJdGVzdF9pc21vdW50ZWQgXAorCXRlc3RfbWFuZ2xlIFwKKwl0ZXN0X3JhbmR1dGlscyBcCisJdGVzdF9zdHJ1dGlscyBcCisJdGVzdF90dHl1dGlscyBcCisJdGVzdF90aW1ldXRpbHMKKworCisKK2lmIExJTlVYCitpZiBIQVZFX0NQVV9TRVRfVAorY2hlY2tfUFJPR1JBTVMgKz0gdGVzdF9jcHVzZXQKK2VuZGlmCitjaGVja19QUk9HUkFNUyArPSBcCisJdGVzdF9zeXNmcyBcCisJdGVzdF9wYWdlcgorZW5kaWYKKworaWYgSEFWRV9PUEVOQVQKK2NoZWNrX1BST0dSQU1TICs9IHRlc3RfcHJvY3V0aWxzCitlbmRpZgorCit0ZXN0X3R0eXV0aWxzX1NPVVJDRVMgPSBsaWIvdHR5dXRpbHMuYwordGVzdF90dHl1dGlsc19DRkxBR1MgPSAkKEFNX0NGTEFHUykgLURURVNUX1BST0dSQU0KK3Rlc3RfdHR5dXRpbHNfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEKKwordGVzdF9ibGtkZXZfU09VUkNFUyA9IGxpYi9ibGtkZXYuYwordGVzdF9ibGtkZXZfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1EVEVTVF9QUk9HUkFNX0JMS0RFVgordGVzdF9ibGtkZXZfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEKKwordGVzdF9pc21vdW50ZWRfU09VUkNFUyA9IGxpYi9pc21vdW50ZWQuYwordGVzdF9pc21vdW50ZWRfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1EVEVTVF9QUk9HUkFNCit0ZXN0X2lzbW91bnRlZF9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQorCit0ZXN0X21hbmdsZV9TT1VSQ0VTID0gbGliL21hbmdsZS5jCit0ZXN0X21hbmdsZV9DRkxBR1MgPSAkKEFNX0NGTEFHUykgLURURVNUX1BST0dSQU0KKwordGVzdF9zdHJ1dGlsc19TT1VSQ0VTID0gbGliL3N0cnV0aWxzLmMKK3Rlc3Rfc3RydXRpbHNfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1EVEVTVF9QUk9HUkFNCisKK3Rlc3RfY29sb3JzX1NPVVJDRVMgPSBsaWIvY29sb3JzLmMgbGliL2NvbG9yLW5hbWVzLmMKK3Rlc3RfY29sb3JzX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtRFRFU1RfUFJPR1JBTSAkKFRJTkZPX0NGTEFHUykKK3Rlc3RfY29sb3JzX0xEQUREID0gJChMREFERCkgJChUSU5GT19MSUJTKQorCit0ZXN0X3JhbmR1dGlsc19TT1VSQ0VTID0gbGliL3JhbmR1dGlscy5jCit0ZXN0X3JhbmR1dGlsc19DRkxBR1MgPSAkKEFNX0NGTEFHUykgLURURVNUX1BST0dSQU0KKworaWYgSEFWRV9PUEVOQVQKK3Rlc3RfcHJvY3V0aWxzX1NPVVJDRVMgPSBsaWIvcHJvY3V0aWxzLmMKK3Rlc3RfcHJvY3V0aWxzX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtRFRFU1RfUFJPR1JBTQorZW5kaWYKKworaWYgTElOVVgKK3Rlc3RfY3B1c2V0X1NPVVJDRVMgPSBsaWIvY3B1c2V0LmMKK3Rlc3RfY3B1c2V0X0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtRFRFU1RfUFJPR1JBTQorCit0ZXN0X3N5c2ZzX1NPVVJDRVMgPSBsaWIvc3lzZnMuYwordGVzdF9zeXNmc19DRkxBR1MgPSAkKEFNX0NGTEFHUykgLURURVNUX1BST0dSQU1fU1lTRlMKK3Rlc3Rfc3lzZnNfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEKKwordGVzdF9wYWdlcl9TT1VSQ0VTID0gbGliL3BhZ2VyLmMKK3Rlc3RfcGFnZXJfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1EVEVTVF9QUk9HUkFNCitlbmRpZgorCit0ZXN0X2ZpbGV1dGlsc19TT1VSQ0VTID0gbGliL2ZpbGV1dGlscy5jCit0ZXN0X2ZpbGV1dGlsc19DRkxBR1MgPSAkKEFNX0NGTEFHUykgLURURVNUX1BST0dSQU0KKwordGVzdF9jYW5vbmljYWxpemVfU09VUkNFUyA9IGxpYi9jYW5vbmljYWxpemUuYwordGVzdF9jYW5vbmljYWxpemVfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1EVEVTVF9QUk9HUkFNX0NBTk9OSUNBTElaRQorCit0ZXN0X3RpbWV1dGlsc19TT1VSQ0VTID0gbGliL3RpbWV1dGlscy5jIGxpYi9zdHJ1dGlscy5jCit0ZXN0X3RpbWV1dGlsc19DRkxBR1MgPSAkKEFNX0NGTEFHUykgLURURVNUX1BST0dSQU1fVElNRVVUSUxTCmRpZmYgLS1naXQgYS9saWIvYmxrZGV2LmMgYi9saWIvYmxrZGV2LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDc3ZDkyNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9ibGtkZXYuYwpAQCAtMCwwICsxLDQwOSBAQAorLyoKKyAqIE5vIGNvcHlyaWdodCBpcyBjbGFpbWVkLiAgVGhpcyBjb2RlIGlzIGluIHRoZSBwdWJsaWMgZG9tYWluOyBkbyB3aXRoCisgKiBpdCB3aGF0IHlvdSB3aXNoLgorICoKKyAqIFdyaXR0ZW4gYnkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKi8KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaWZkZWYgSEFWRV9MSU5VWF9GRF9ICisjaW5jbHVkZSA8bGludXgvZmQuaD4KKyNlbmRpZgorCisjaWZkZWYgSEFWRV9TWVNfRElTS0xBQkVMX0gKKyNpbmNsdWRlIDxzeXMvZGlza2xhYmVsLmg+CisjZW5kaWYKKworI2lmZGVmIEhBVkVfU1lTX0RJU0tfSAorIyBpbmNsdWRlIDxzeXMvZGlzay5oPgorI2VuZGlmCisKKyNpZm5kZWYgRUJBREZECisjIGRlZmluZSBFQkFERkQgNzcJCS8qIEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUgKi8KKyNlbmRpZgorCisjaW5jbHVkZSAiYmxrZGV2LmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImxpbnV4X3ZlcnNpb24uaCIKKyNpbmNsdWRlICJmaWxldXRpbHMuaCIKKyNpbmNsdWRlICJubHMuaCIKKworc3RhdGljIGxvbmcKK2Jsa2Rldl92YWxpZF9vZmZzZXQgKGludCBmZCwgb2ZmX3Qgb2Zmc2V0KSB7CisJY2hhciBjaDsKKworCWlmIChsc2VlayAoZmQsIG9mZnNldCwgMCkgPCAwKQorCQlyZXR1cm4gMDsKKwlpZiAocmVhZCAoZmQsICZjaCwgMSkgPCAxKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gMTsKK30KKworaW50IGlzX2Jsa2RldihpbnQgZmQpCit7CisJc3RydWN0IHN0YXQgc3Q7CisJcmV0dXJuIChmc3RhdChmZCwgJnN0KSA9PSAwICYmIFNfSVNCTEsoc3Quc3RfbW9kZSkpOworfQorCitvZmZfdAorYmxrZGV2X2ZpbmRfc2l6ZSAoaW50IGZkKSB7CisJdWludG1heF90IGhpZ2gsIGxvdyA9IDA7CisKKwlmb3IgKGhpZ2ggPSAxMDI0OyBibGtkZXZfdmFsaWRfb2Zmc2V0IChmZCwgaGlnaCk7ICkgeworCQlpZiAoaGlnaCA9PSBVSU5UTUFYX01BWCkKKwkJCXJldHVybiAtMTsKKworCQlsb3cgPSBoaWdoOworCisJCWlmIChoaWdoID49IFVJTlRNQVhfTUFYLzIpCisJCQloaWdoID0gVUlOVE1BWF9NQVg7CisJCWVsc2UKKwkJCWhpZ2ggKj0gMjsKKwl9CisKKwl3aGlsZSAobG93IDwgaGlnaCAtIDEpCisJeworCQl1aW50bWF4X3QgbWlkID0gKGxvdyArIGhpZ2gpIC8gMjsKKworCQlpZiAoYmxrZGV2X3ZhbGlkX29mZnNldCAoZmQsIG1pZCkpCisJCQlsb3cgPSBtaWQ7CisJCWVsc2UKKwkJCWhpZ2ggPSBtaWQ7CisJfQorCWJsa2Rldl92YWxpZF9vZmZzZXQgKGZkLCAwKTsKKwlyZXR1cm4gKGxvdyArIDEpOworfQorCisvKiBnZXQgc2l6ZSBpbiBieXRlcyAqLworaW50CitibGtkZXZfZ2V0X3NpemUoaW50IGZkLCB1bnNpZ25lZCBsb25nIGxvbmcgKmJ5dGVzKQoreworI2lmZGVmIERLSU9DR0VUQkxPQ0tDT1VOVAorCS8qIEFwcGxlIERhcndpbiAqLworCWlmIChpb2N0bChmZCwgREtJT0NHRVRCTE9DS0NPVU5ULCBieXRlcykgPj0gMCkgeworCQkqYnl0ZXMgPDw9IDk7CisJCXJldHVybiAwOworCX0KKyNlbmRpZgorCisjaWZkZWYgQkxLR0VUU0laRTY0CisJeworI2lmZGVmIF9fbGludXhfXworCQlpbnQgdmVyID0gZ2V0X2xpbnV4X3ZlcnNpb24oKTsKKworCQkvKiBrZXJuZWxzIDIuNC4xNS0yLjQuMTcsIGhhZCBhIGJyb2tlbiBCTEtHRVRTSVpFNjQgKi8KKwkJaWYgKHZlciA+PSBLRVJORUxfVkVSU0lPTiAoMiw2LDApIHx8CisJCSAgICh2ZXIgPj0gS0VSTkVMX1ZFUlNJT04gKDIsNCwxOCkgJiYgdmVyIDwgS0VSTkVMX1ZFUlNJT04gKDIsNSwwKSkpCisjZW5kaWYKKwkJCWlmIChpb2N0bChmZCwgQkxLR0VUU0laRTY0LCBieXRlcykgPj0gMCkKKwkJCQlyZXR1cm4gMDsKKwl9CisjZW5kaWYgLyogQkxLR0VUU0laRTY0ICovCisKKyNpZmRlZiBCTEtHRVRTSVpFCisJeworCQl1bnNpZ25lZCBsb25nIHNpemU7CisKKwkJaWYgKGlvY3RsKGZkLCBCTEtHRVRTSVpFLCAmc2l6ZSkgPj0gMCkgeworCQkJKmJ5dGVzID0gKCh1bnNpZ25lZCBsb25nIGxvbmcpc2l6ZSA8PCA5KTsKKwkJCXJldHVybiAwOworCQl9CisJfQorCisjZW5kaWYgLyogQkxLR0VUU0laRSAqLworCisjaWZkZWYgRElPQ0dNRURJQVNJWkUKKwkvKiBGcmVlQlNEICovCisJaWYgKGlvY3RsKGZkLCBESU9DR01FRElBU0laRSwgYnl0ZXMpID49IDApCisJCXJldHVybiAwOworI2VuZGlmCisKKyNpZmRlZiBGREdFVFBSTQorCXsKKwkJc3RydWN0IGZsb3BweV9zdHJ1Y3QgdGhpc19mbG9wcHk7CisKKwkJaWYgKGlvY3RsKGZkLCBGREdFVFBSTSwgJnRoaXNfZmxvcHB5KSA+PSAwKSB7CisJCQkqYnl0ZXMgPSAoKHVuc2lnbmVkIGxvbmcgbG9uZykgdGhpc19mbG9wcHkuc2l6ZSkgPDwgOTsKKwkJCXJldHVybiAwOworCQl9CisJfQorI2VuZGlmIC8qIEZER0VUUFJNICovCisKKyNpZiBkZWZpbmVkKEhBVkVfU1lTX0RJU0tMQUJFTF9IKSAmJiBkZWZpbmVkKERJT0NHRElORk8pCisJeworCQkvKgorCQkgKiBUaGlzIGNvZGUgd29ya3MgZm9yIEZyZWVCU0QgNC4xMSBpMzg2LCBleGNlcHQgZm9yIHRoZSBmdWxsIGRldmljZQorCQkgKiAoc3VjaCBhcyAvZGV2L2FkMCkuIEl0IGRvZXNuJ3Qgd29yayBwcm9wZXJseSBmb3IgbmV3ZXIgRnJlZUJTRAorCQkgKiB0aG91Z2guIEZyZWVCU0QgPj0gNS4wIHNob3VsZCBiZSBjb3ZlcmVkIGJ5IHRoZSBESU9DR01FRElBU0laRQorCQkgKiBhYm92ZSBob3dldmVyLgorCQkgKgorCQkgKiBOb3RlIHRoYXQgRnJlZUJTRCA+PSA0LjAgaGFzIGRpc2sgZGV2aWNlcyBhcyB1bmJ1ZmZlcmVkIChyYXcsCisJCSAqIGNoYXJhY3RlcikgZGV2aWNlcywgc28gd2UgbmVlZCB0byBjaGVjayBmb3IgU19JU0NIUiwgdG9vLgorCQkgKi8KKwkJaW50IHBhcnQgPSAtMTsKKwkJc3RydWN0IGRpc2tsYWJlbCBsYWI7CisJCXN0cnVjdCBwYXJ0aXRpb24gKnBwOworCQlzdHJ1Y3Qgc3RhdCBzdDsKKworCQlpZiAoKGZzdGF0KGZkLCAmc3QpID49IDApICYmCisJCSAgICAoU19JU0JMSyhzdC5zdF9tb2RlKSB8fCBTX0lTQ0hSKHN0LnN0X21vZGUpKSkKKwkJCXBhcnQgPSBzdC5zdF9yZGV2ICYgNzsKKworCQlpZiAocGFydCA+PSAwICYmIChpb2N0bChmZCwgRElPQ0dESU5GTywgKGNoYXIgKikmbGFiKSA+PSAwKSkgeworCQkJcHAgPSAmbGFiLmRfcGFydGl0aW9uc1twYXJ0XTsKKwkJCWlmIChwcC0+cF9zaXplKSB7CisJCQkJICpieXRlcyA9IHBwLT5wX3NpemUgPDwgOTsKKwkJCQkgcmV0dXJuIDA7CisJCQl9CisJCX0KKwl9CisjZW5kaWYgLyogZGVmaW5lZChIQVZFX1NZU19ESVNLTEFCRUxfSCkgJiYgZGVmaW5lZChESU9DR0RJTkZPKSAqLworCisJeworCQlzdHJ1Y3Qgc3RhdCBzdDsKKworCQlpZiAoZnN0YXQoZmQsICZzdCkgPT0gMCAmJiBTX0lTUkVHKHN0LnN0X21vZGUpKSB7CisJCQkqYnl0ZXMgPSBzdC5zdF9zaXplOworCQkJcmV0dXJuIDA7CisJCX0KKwkJaWYgKCFTX0lTQkxLKHN0LnN0X21vZGUpKQorCQkJcmV0dXJuIC0xOworCX0KKworCSpieXRlcyA9IGJsa2Rldl9maW5kX3NpemUoZmQpOworCXJldHVybiAwOworfQorCisvKiBnZXQgNTEyLWJ5dGUgc2VjdG9yIGNvdW50ICovCitpbnQKK2Jsa2Rldl9nZXRfc2VjdG9ycyhpbnQgZmQsIHVuc2lnbmVkIGxvbmcgbG9uZyAqc2VjdG9ycykKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgYnl0ZXM7CisKKwlpZiAoYmxrZGV2X2dldF9zaXplKGZkLCAmYnl0ZXMpID09IDApIHsKKwkJKnNlY3RvcnMgPSAoYnl0ZXMgPj4gOSk7CisJCXJldHVybiAwOworCX0KKworCXJldHVybiAtMTsKK30KKworLyoKKyAqIEdldCBsb2dpY2FsIHNlY3RvciBzaXplLgorICoKKyAqIFRoaXMgaXMgdGhlIHNtYWxsZXN0IHVuaXQgdGhlIHN0b3JhZ2UgZGV2aWNlIGNhbgorICogYWRkcmVzcy4gSXQgaXMgdHlwaWNhbGx5IDUxMiBieXRlcy4KKyAqLworI2lmZGVmIEJMS1NTWkdFVAoraW50IGJsa2Rldl9nZXRfc2VjdG9yX3NpemUoaW50IGZkLCBpbnQgKnNlY3Rvcl9zaXplKQoreworCWlmIChpb2N0bChmZCwgQkxLU1NaR0VULCBzZWN0b3Jfc2l6ZSkgPj0gMCkKKwkJcmV0dXJuIDA7CisJcmV0dXJuIC0xOworfQorI2Vsc2UKK2ludCBibGtkZXZfZ2V0X3NlY3Rvcl9zaXplKGludCBmZCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSksIGludCAqc2VjdG9yX3NpemUpCit7CisJKnNlY3Rvcl9zaXplID0gREVGQVVMVF9TRUNUT1JfU0laRTsKKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCisvKgorICogR2V0IHBoeXNpY2FsIGJsb2NrIGRldmljZSBzaXplLiBUaGUgQkxLUEJTWkdFVCBpcyBzdXBwb3J0ZWQgc2luY2UgTGludXgKKyAqIDIuNi4zMi4gRm9yIG9sZCBrZXJuZWxzIGlzIHByb2JhYmx5IHRoZSBiZXN0IHRvIGFzc3VtZSB0aGF0IHBoeXNpY2FsIHNlY3RvcgorICogc2l6ZSBpcyB0aGUgc2FtZSBhcyBsb2dpY2FsIHNlY3RvciBzaXplLgorICoKKyAqIEV4YW1wbGU6CisgKgorICogcmMgPSBibGtkZXZfZ2V0X3BoeXNlY3Rvcl9zaXplKGZkLCAmcGh5c2VjKTsKKyAqIGlmIChyYyB8fCBwaHlzZWMgPT0gMCkgeworICoJcmMgPSBibGtkZXZfZ2V0X3NlY3Rvcl9zaXplKGZkLCAmcGh5c2VjKTsKKyAqCWlmIChyYykKKyAqCQlwaHlzZWMgPSBERUZBVUxUX1NFQ1RPUl9TSVpFOworICogfQorICovCisjaWZkZWYgQkxLUEJTWkdFVAoraW50IGJsa2Rldl9nZXRfcGh5c2VjdG9yX3NpemUoaW50IGZkLCBpbnQgKnNlY3Rvcl9zaXplKQoreworCWlmIChpb2N0bChmZCwgQkxLUEJTWkdFVCwgJnNlY3Rvcl9zaXplKSA+PSAwKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gLTE7Cit9CisjZWxzZQoraW50IGJsa2Rldl9nZXRfcGh5c2VjdG9yX3NpemUoaW50IGZkIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwgaW50ICpzZWN0b3Jfc2l6ZSkKK3sKKwkqc2VjdG9yX3NpemUgPSBERUZBVUxUX1NFQ1RPUl9TSVpFOworCXJldHVybiAwOworfQorI2VuZGlmCisKKy8qCisgKiBSZXR1cm4gdGhlIGFsaWdubWVudCBzdGF0dXMgb2YgYSBkZXZpY2UKKyAqLworI2lmZGVmIEJMS0FMSUdOT0ZGCitpbnQgYmxrZGV2X2lzX21pc2FsaWduZWQoaW50IGZkKQoreworCWludCBhbGlnbmVkOworCisJaWYgKGlvY3RsKGZkLCBCTEtBTElHTk9GRiwgJmFsaWduZWQpIDwgMCkKKwkJcmV0dXJuIDA7CQkJLyogcHJvYmFibHkga2VybmVsIDwgMi42LjMyICovCisJLyoKKwkgKiBOb3RlIHRoYXQga2VybmVsIHJldHVybnMgLTEgYXMgYWxpZ25tZW50IG9mZnNldCBpZiBubyBjb21wYXRpYmxlCisJICogc2l6ZXMgYW5kIGFsaWdubWVudHMgZXhpc3QgZm9yIHN0YWNrZWQgZGV2aWNlcworCSAqLworCXJldHVybiBhbGlnbmVkICE9IDAgPyAxIDogMDsKK30KKyNlbHNlCitpbnQgYmxrZGV2X2lzX21pc2FsaWduZWQoaW50IGZkIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCitpbnQgb3Blbl9ibGtkZXZfb3JfZmlsZShjb25zdCBzdHJ1Y3Qgc3RhdCAqc3QsIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGludCBvZmxhZykKK3sKKwlpbnQgZmQ7CisKKwlpZiAoU19JU0JMSyhzdC0+c3RfbW9kZSkpIHsKKwkJZmQgPSBvcGVuKG5hbWUsIG9mbGFnIHwgT19FWENMKTsKKwl9IGVsc2UKKwkJZmQgPSBvcGVuKG5hbWUsIG9mbGFnKTsKKwlpZiAoLTEgPCBmZCAmJiAhaXNfc2FtZV9pbm9kZShmZCwgc3QpKSB7CisJCWNsb3NlKGZkKTsKKwkJZXJybm8gPSBFQkFERkQ7CisJCXJldHVybiAtMTsKKwl9CisJaWYgKC0xIDwgZmQgJiYgU19JU0JMSyhzdC0+c3RfbW9kZSkgJiYgYmxrZGV2X2lzX21pc2FsaWduZWQoZmQpKQorCQl3YXJueChfKCJ3YXJuaW5nOiAlcyBpcyBtaXNhbGlnbmVkIiksIG5hbWUpOworCXJldHVybiBmZDsKK30KKworI2lmZGVmIENEUk9NX0dFVF9DQVBBQklMSVRZCitpbnQgYmxrZGV2X2lzX2Nkcm9tKGludCBmZCkKK3sKKwlpbnQgcmV0OworCisJaWYgKChyZXQgPSBpb2N0bChmZCwgQ0RST01fR0VUX0NBUEFCSUxJVFksIE5VTEwpKSA8IDApCisJCXJldHVybiAwOworCWVsc2UKKwkJcmV0dXJuIHJldDsKK30KKyNlbHNlCitpbnQgYmxrZGV2X2lzX2Nkcm9tKGludCBmZCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKworLyoKKyAqIEdldCBrZXJuZWwncyBpbnRlcnByZXRhdGlvbiBvZiB0aGUgZGV2aWNlJ3MgZ2VvbWV0cnkuCisgKgorICogUmV0dXJucyB0aGUgaGVhZHMgYW5kIHNlY3RvcnMgLSBidXQgbm90IGN5bGluZGVycworICogYXMgaXQncyB0cnVuY2F0ZWQgZm9yIGRpc2tzIHdpdGggbW9yZSB0aGFuIDY1NTM1IHRyYWNrcy4KKyAqCisgKiBOb3RlIHRoYXQgdGhpcyBpcyBkZXByZWNhdGVkIGluIGZhdm9yIG9mIExCQSBhZGRyZXNzaW5nLgorICovCisjaWZkZWYgSERJT19HRVRHRU8KK2ludCBibGtkZXZfZ2V0X2dlb21ldHJ5KGludCBmZCwgdW5zaWduZWQgaW50ICpoLCB1bnNpZ25lZCBpbnQgKnMpCit7CisJc3RydWN0IGhkX2dlb21ldHJ5IGdlb21ldHJ5OworCisJaWYgKGlvY3RsKGZkLCBIRElPX0dFVEdFTywgJmdlb21ldHJ5KSA9PSAwKSB7CisJCSpoID0gZ2VvbWV0cnkuaGVhZHM7CisJCSpzID0gZ2VvbWV0cnkuc2VjdG9yczsKKwkJcmV0dXJuIDA7CisJfQorI2Vsc2UKK2ludCBibGtkZXZfZ2V0X2dlb21ldHJ5KGludCBmZCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSksCisJCXVuc2lnbmVkIGludCAqaCwgdW5zaWduZWQgaW50ICpzKQoreworCSpoID0gMDsKKwkqcyA9IDA7CisjZW5kaWYKKwlyZXR1cm4gLTE7Cit9CisKKy8qCisgKiBDb252ZXJ0IHNjc2kgdHlwZSB0byBodW1hbiByZWFkYWJsZSBzdHJpbmcuCisgKi8KK2NvbnN0IGNoYXIgKmJsa2Rldl9zY3NpX3R5cGVfdG9fbmFtZShpbnQgdHlwZSkKK3sKKwlzd2l0Y2ggKHR5cGUpIHsKKwljYXNlIFNDU0lfVFlQRV9ESVNLOgorCQlyZXR1cm4gImRpc2siOworCWNhc2UgU0NTSV9UWVBFX1RBUEU6CisJCXJldHVybiAidGFwZSI7CisJY2FzZSBTQ1NJX1RZUEVfUFJJTlRFUjoKKwkJcmV0dXJuICJwcmludGVyIjsKKwljYXNlIFNDU0lfVFlQRV9QUk9DRVNTT1I6CisJCXJldHVybiAicHJvY2Vzc29yIjsKKwljYXNlIFNDU0lfVFlQRV9XT1JNOgorCQlyZXR1cm4gIndvcm0iOworCWNhc2UgU0NTSV9UWVBFX1JPTToKKwkJcmV0dXJuICJyb20iOworCWNhc2UgU0NTSV9UWVBFX1NDQU5ORVI6CisJCXJldHVybiAic2Nhbm5lciI7CisJY2FzZSBTQ1NJX1RZUEVfTU9EOgorCQlyZXR1cm4gIm1vLWRpc2siOworCWNhc2UgU0NTSV9UWVBFX01FRElVTV9DSEFOR0VSOgorCQlyZXR1cm4gImNoYW5nZXIiOworCWNhc2UgU0NTSV9UWVBFX0NPTU06CisJCXJldHVybiAiY29tbSI7CisJY2FzZSBTQ1NJX1RZUEVfUkFJRDoKKwkJcmV0dXJuICJyYWlkIjsKKwljYXNlIFNDU0lfVFlQRV9FTkNMT1NVUkU6CisJCXJldHVybiAiZW5jbG9zdXJlIjsKKwljYXNlIFNDU0lfVFlQRV9SQkM6CisJCXJldHVybiAicmJjIjsKKwljYXNlIFNDU0lfVFlQRV9PU0Q6CisJCXJldHVybiAib3NkIjsKKwljYXNlIFNDU0lfVFlQRV9OT19MVU46CisJCXJldHVybiAibm8tbHVuIjsKKwlkZWZhdWx0OgorCQlicmVhazsKKwl9CisJcmV0dXJuIE5VTEw7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU1fQkxLREVWCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxmY250bC5oPgoraW50CittYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgYnl0ZXM7CisJdW5zaWduZWQgbG9uZyBsb25nIHNlY3RvcnM7CisJaW50IHNlY3Rvcl9zaXplLCBwaHlfc2VjdG9yX3NpemU7CisJaW50IGZkOworCisJaWYgKGFyZ2MgIT0gMikgeworCQlmcHJpbnRmKHN0ZGVyciwgInVzYWdlOiAlcyBkZXZpY2VcbiIsIGFyZ3ZbMF0pOworCQlleGl0KEVYSVRfRkFJTFVSRSk7CisJfQorCisJaWYgKChmZCA9IG9wZW4oYXJndlsxXSwgT19SRE9OTFl8T19DTE9FWEVDKSkgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCAib3BlbiAlcyBmYWlsZWQiLCBhcmd2WzFdKTsKKworCWlmIChibGtkZXZfZ2V0X3NpemUoZmQsICZieXRlcykgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiYmxrZGV2X2dldF9zaXplKCkgZmFpbGVkIik7CisJaWYgKGJsa2Rldl9nZXRfc2VjdG9ycyhmZCwgJnNlY3RvcnMpIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgImJsa2Rldl9nZXRfc2VjdG9ycygpIGZhaWxlZCIpOworCWlmIChibGtkZXZfZ2V0X3NlY3Rvcl9zaXplKGZkLCAmc2VjdG9yX3NpemUpIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgImJsa2Rldl9nZXRfc2VjdG9yX3NpemUoKSBmYWlsZWQiKTsKKwlpZiAoYmxrZGV2X2dldF9waHlzZWN0b3Jfc2l6ZShmZCwgJnBoeV9zZWN0b3Jfc2l6ZSkgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiYmxrZGV2X2dldF9waHlzZWN0b3Jfc2l6ZSgpIGZhaWxlZCIpOworCisJcHJpbnRmKCIgICAgICAgICAgYnl0ZXM6ICVsbHVcbiIsIGJ5dGVzKTsKKwlwcmludGYoIiAgICAgICAgc2VjdG9yczogJWxsdVxuIiwgc2VjdG9ycyk7CisJcHJpbnRmKCIgICAgc2VjdG9yIHNpemU6ICVkXG4iLCBzZWN0b3Jfc2l6ZSk7CisJcHJpbnRmKCJwaHktc2VjdG9yIHNpemU6ICVkXG4iLCBwaHlfc2VjdG9yX3NpemUpOworCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KKyNlbmRpZiAvKiBURVNUX1BST0dSQU0gKi8KZGlmZiAtLWdpdCBhL2xpYi9jYW5vbmljYWxpemUuYyBiL2xpYi9jYW5vbmljYWxpemUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjAwMjQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbGliL2Nhbm9uaWNhbGl6ZS5jCkBAIC0wLDAgKzEsMTg1IEBACisvKgorICogY2Fub25pY2FsaXplLmMgLS0gY2Fub25pY2FsaXplIHBhdGhuYW1lIGJ5IHJlbW92aW5nIHN5bWxpbmtzCisgKgorICogVGhpcyBmaWxlIG1heSBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA5LTIwMTMgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorCisjaW5jbHVkZSAiY2Fub25pY2FsaXplLmgiCisKKy8qCisgKiBDb252ZXJ0cyBwcml2YXRlICJkbS1OIiBuYW1lcyB0byAiL2Rldi9tYXBwZXIvPG5hbWU+IgorICoKKyAqIFNpbmNlIDIuNi4yOSAocGF0Y2ggNzg0YWFlNzM1ZDliMGJiYTNmOGI5ZmFlZjRjOGIzMGRmM2JmMDEyOCkga2VybmVsIHN5c2ZzCisgKiBwcm92aWRlcyB0aGUgcmVhbCBETSBkZXZpY2UgbmFtZXMgaW4gL3N5cy9ibG9jay88cHRuYW1lPi9kbS9uYW1lCisgKi8KK2NoYXIgKmNhbm9uaWNhbGl6ZV9kbV9uYW1lKGNvbnN0IGNoYXIgKnB0bmFtZSkKK3sKKwlGSUxFCSpmOworCXNpemVfdAlzejsKKwljaGFyCXBhdGhbMjU2XSwgbmFtZVsyNTZdLCAqcmVzID0gTlVMTDsKKworCWlmICghcHRuYW1lIHx8ICEqcHRuYW1lKQorCQlyZXR1cm4gTlVMTDsKKworCXNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwgIi9zeXMvYmxvY2svJXMvZG0vbmFtZSIsIHB0bmFtZSk7CisJaWYgKCEoZiA9IGZvcGVuKHBhdGgsICJyIiBVTF9DTE9FWEVDU1RSKSkpCisJCXJldHVybiBOVUxMOworCisJLyogcmVhZCAiPG5hbWU+XG4iIGZyb20gc3lzZnMgKi8KKwlpZiAoZmdldHMobmFtZSwgc2l6ZW9mKG5hbWUpLCBmKSAmJiAoc3ogPSBzdHJsZW4obmFtZSkpID4gMSkgeworCQluYW1lW3N6IC0gMV0gPSAnXDAnOworCQlzbnByaW50ZihwYXRoLCBzaXplb2YocGF0aCksICIvZGV2L21hcHBlci8lcyIsIG5hbWUpOworCisJCWlmIChhY2Nlc3MocGF0aCwgRl9PSykgPT0gMCkKKwkJCXJlcyA9IHN0cmR1cChwYXRoKTsKKwl9CisJZmNsb3NlKGYpOworCXJldHVybiByZXM7Cit9CisKK3N0YXRpYyBpbnQgaXNfZG1fZGV2bmFtZShjaGFyICpjYW5vbmljYWwsIGNoYXIgKipuYW1lKQoreworCXN0cnVjdCBzdGF0IHNiOworCWNoYXIgKnAgPSBzdHJyY2hyKGNhbm9uaWNhbCwgJy8nKTsKKworCSpuYW1lID0gTlVMTDsKKworCWlmICghcAorCSAgICB8fCBzdHJuY21wKHAsICIvZG0tIiwgNCkgIT0gMAorCSAgICB8fCAhaXNkaWdpdCgqKHAgKyA0KSkKKwkgICAgfHwgc3RhdChjYW5vbmljYWwsICZzYikgIT0gMAorCSAgICB8fCAhU19JU0JMSyhzYi5zdF9tb2RlKSkKKwkJcmV0dXJuIDA7CisKKwkqbmFtZSA9IHAgKyAxOworCXJldHVybiAxOworfQorCisvKgorICogVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBjYW5vbmljYWxpemUgdGhlIHBhdGghIEl0IGp1c3QgcHJlcGVuZHMgQ1dEIGJlZm9yZSBhCisgKiByZWxhdGl2ZSBwYXRoLiBJZiB0aGUgcGF0aCBpcyBubyByZWxhdGl2ZSB0aGFuIHJldHVybnMgTlVMTC4gVGhlIHBhdGggZG9lcworICogbm90IGhhdmUgdG8gZXhpc3QuCisgKi8KK2NoYXIgKmFic29sdXRlX3BhdGgoY29uc3QgY2hhciAqcGF0aCkKK3sKKwljaGFyIGN3ZFtQQVRIX01BWF0sICpyZXMsICpwOworCXNpemVfdCBwc3osIGNzejsKKworCWlmICghaXNfcmVsYXRpdmVfcGF0aChwYXRoKSkgeworCQllcnJubyA9IEVJTlZBTDsKKwkJcmV0dXJuIE5VTEw7CisJfQorCWlmICghZ2V0Y3dkKGN3ZCwgc2l6ZW9mKGN3ZCkpKQorCQlyZXR1cm4gTlVMTDsKKworCS8qIHNpbXBsZSBjbGVhbiB1cCAqLworCWlmIChzdGFydHN3aXRoKHBhdGgsICIuLyIpKQorCQlwYXRoICs9IDI7CisJZWxzZSBpZiAoc3RyY21wKHBhdGgsICIuIikgPT0gMCkKKwkJcGF0aCA9IE5VTEw7CisKKwlpZiAoIXBhdGggfHwgISpwYXRoKQorCQlyZXR1cm4gc3RyZHVwKGN3ZCk7CisKKwljc3ogPSBzdHJsZW4oY3dkKTsKKwlwc3ogPSBzdHJsZW4ocGF0aCk7CisKKwlwID0gcmVzID0gbWFsbG9jKGNzeiArIDEgKyBwc3ogKyAxKTsKKwlpZiAoIXJlcykKKwkJcmV0dXJuIE5VTEw7CisKKwltZW1jcHkocCwgY3dkLCBjc3opOworCXAgKz0gY3N6OworCSpwKysgPSAnLyc7CisJbWVtY3B5KHAsIHBhdGgsIHBzeiArIDEpOworCisJcmV0dXJuIHJlczsKK30KKworY2hhciAqY2Fub25pY2FsaXplX3BhdGgoY29uc3QgY2hhciAqcGF0aCkKK3sKKwljaGFyICpjYW5vbmljYWwsICpkbW5hbWU7CisKKwlpZiAoIXBhdGggfHwgISpwYXRoKQorCQlyZXR1cm4gTlVMTDsKKworCWNhbm9uaWNhbCA9IHJlYWxwYXRoKHBhdGgsIE5VTEwpOworCWlmICghY2Fub25pY2FsKQorCQlyZXR1cm4gc3RyZHVwKHBhdGgpOworCisJaWYgKGlzX2RtX2Rldm5hbWUoY2Fub25pY2FsLCAmZG1uYW1lKSkgeworCQljaGFyICpkbSA9IGNhbm9uaWNhbGl6ZV9kbV9uYW1lKGRtbmFtZSk7CisJCWlmIChkbSkgeworCQkJZnJlZShjYW5vbmljYWwpOworCQkJcmV0dXJuIGRtOworCQl9CisJfQorCisJcmV0dXJuIGNhbm9uaWNhbDsKK30KKworY2hhciAqY2Fub25pY2FsaXplX3BhdGhfcmVzdHJpY3RlZChjb25zdCBjaGFyICpwYXRoKQoreworCWNoYXIgKmNhbm9uaWNhbCwgKmRtbmFtZTsKKwlpbnQgZXJyc3Y7CisJdWlkX3QgZXVpZDsKKwlnaWRfdCBlZ2lkOworCisJaWYgKCFwYXRoIHx8ICEqcGF0aCkKKwkJcmV0dXJuIE5VTEw7CisKKwlldWlkID0gZ2V0ZXVpZCgpOworCWVnaWQgPSBnZXRlZ2lkKCk7CisKKwkvKiBkcm9wIHBlcm1pc3Npb25zICovCisJaWYgKHNldGVnaWQoZ2V0Z2lkKCkpIDwgMCB8fCBzZXRldWlkKGdldHVpZCgpKSA8IDApCisJCXJldHVybiBOVUxMOworCisJZXJyc3YgPSBlcnJubyA9IDA7CisKKwljYW5vbmljYWwgPSByZWFscGF0aChwYXRoLCBOVUxMKTsKKwlpZiAoIWNhbm9uaWNhbCkKKwkJZXJyc3YgPSBlcnJubzsKKwllbHNlIGlmIChpc19kbV9kZXZuYW1lKGNhbm9uaWNhbCwgJmRtbmFtZSkpIHsKKwkJY2hhciAqZG0gPSBjYW5vbmljYWxpemVfZG1fbmFtZShkbW5hbWUpOworCQlpZiAoZG0pIHsKKwkJCWZyZWUoY2Fub25pY2FsKTsKKwkJCWNhbm9uaWNhbCA9IGRtOworCQl9CisJfQorCisJLyogcmVzdG9yZSAqLworCWlmIChzZXRlZ2lkKGVnaWQpIDwgMCB8fCBzZXRldWlkKGV1aWQpIDwgMCkgeworCQlmcmVlKGNhbm9uaWNhbCk7CisJCXJldHVybiBOVUxMOworCX0KKworCWVycm5vID0gZXJyc3Y7CisJcmV0dXJuIGNhbm9uaWNhbDsKK30KKworCisjaWZkZWYgVEVTVF9QUk9HUkFNX0NBTk9OSUNBTElaRQoraW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWlmIChhcmdjIDwgMikgeworCQlmcHJpbnRmKHN0ZGVyciwgInVzYWdlOiAlcyA8ZGV2aWNlPlxuIiwgYXJndlswXSk7CisJCWV4aXQoRVhJVF9GQUlMVVJFKTsKKwl9CisKKwlmcHJpbnRmKHN0ZG91dCwgIm9yaWc6ICVzXG4iLCBhcmd2WzFdKTsKKwlmcHJpbnRmKHN0ZG91dCwgInJlYWw6ICVzXG4iLCBjYW5vbmljYWxpemVfcGF0aChhcmd2WzFdKSk7CisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9saWIvY29sb3ItbmFtZXMuYyBiL2xpYi9jb2xvci1uYW1lcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhMzAyZDUKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvY29sb3ItbmFtZXMuYwpAQCAtMCwwICsxLDU3IEBACisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY29sb3ItbmFtZXMuaCIKKworc3RydWN0IHVsX2NvbG9yX25hbWUgeworCWNvbnN0IGNoYXIgKm5hbWU7CisJY29uc3QgY2hhciAqc2VxOworfTsKKworLyoKKyAqIHFzb3J0L2JzZWFyY2ggYnVkZHkKKyAqLworc3RhdGljIGludCBjbXBfY29sb3JfbmFtZShjb25zdCB2b2lkICphMCwgY29uc3Qgdm9pZCAqYjApCit7CisJc3RydWN0IHVsX2NvbG9yX25hbWUJKmEgPSAoc3RydWN0IHVsX2NvbG9yX25hbWUgKikgYTAsCisJCQkJKmIgPSAoc3RydWN0IHVsX2NvbG9yX25hbWUgKikgYjA7CisJcmV0dXJuIHN0cmNtcChhLT5uYW1lLCBiLT5uYW1lKTsKK30KKworLyoKKyAqIE1haW50YWlucyBodW1hbiByZWFkYWJsZSBjb2xvciBuYW1lcworICovCitjb25zdCBjaGFyICpjb2xvcl9zZXF1ZW5jZV9mcm9tX2NvbG9ybmFtZShjb25zdCBjaGFyICpzdHIpCit7CisJc3RhdGljIGNvbnN0IHN0cnVjdCB1bF9jb2xvcl9uYW1lIGJhc2ljX3NjaGVtZXNbXSA9IHsKKwkJeyAiYmxhY2siLAlVTF9DT0xPUl9CTEFDSyAgICAgICAgICAgfSwKKwkJeyAiYmxpbmsiLCAgICAgIFVMX0NPTE9SX0JMSU5LICAgICAgICAgICB9LAorCQl7ICJibHVlIiwJVUxfQ09MT1JfQkxVRSAgICAgICAgICAgIH0sCisJCXsgImJvbGQiLCAgICAgICBVTF9DT0xPUl9CT0xECQkgfSwKKwkJeyAiYnJvd24iLAlVTF9DT0xPUl9CUk9XTiAgICAgICAgICAgfSwKKwkJeyAiY3lhbiIsCVVMX0NPTE9SX0NZQU4gICAgICAgICAgICB9LAorCQl7ICJkYXJrZ3JheSIsCVVMX0NPTE9SX0RBUktfR1JBWSAgICAgICB9LAorCQl7ICJncmF5IiwJVUxfQ09MT1JfR1JBWSAgICAgICAgICAgIH0sCisJCXsgImdyZWVuIiwJVUxfQ09MT1JfR1JFRU4gICAgICAgICAgIH0sCisJCXsgImhhbGZicmlnaHQiLCBVTF9DT0xPUl9IQUxGQlJJR0hUCSB9LAorCQl7ICJsaWdodGJsdWUiLAlVTF9DT0xPUl9CT0xEX0JMVUUgICAgICAgfSwKKwkJeyAibGlnaHRjeWFuIiwJVUxfQ09MT1JfQk9MRF9DWUFOICAgICAgIH0sCisJCXsgImxpZ2h0Z3JheSwiLAlVTF9DT0xPUl9HUkFZICAgICAgICAgICAgfSwKKwkJeyAibGlnaHRncmVlbiIsIFVMX0NPTE9SX0JPTERfR1JFRU4gICAgICB9LAorCQl7ICJsaWdodG1hZ2VudGEiLCBVTF9DT0xPUl9CT0xEX01BR0VOVEEgIH0sCisJCXsgImxpZ2h0cmVkIiwJVUxfQ09MT1JfQk9MRF9SRUQgICAgICAgIH0sCisJCXsgIm1hZ2VudGEiLAlVTF9DT0xPUl9NQUdFTlRBICAgICAgICAgfSwKKwkJeyAicmVkIiwJVUxfQ09MT1JfUkVEICAgICAgICAgICAgIH0sCisJCXsgInJlc2V0IiwgICAgICBVTF9DT0xPUl9SRVNFVCwgICAgICAgICAgfSwKKwkJeyAicmV2ZXJzZSIsICAgIFVMX0NPTE9SX1JFVkVSU0UgICAgICAgICB9LAorCQl7ICJ5ZWxsb3ciLAlVTF9DT0xPUl9CT0xEX1lFTExPVyAgICAgfSwKKwl9OworCXN0cnVjdCB1bF9jb2xvcl9uYW1lIGtleSA9IHsgLm5hbWUgPSAoY2hhciAqKSBzdHIgfSwgKnJlczsKKworCWlmICghc3RyKQorCQlyZXR1cm4gTlVMTDsKKworCXJlcyA9IGJzZWFyY2goJmtleSwgYmFzaWNfc2NoZW1lcywgQVJSQVlfU0laRShiYXNpY19zY2hlbWVzKSwKKwkJCQlzaXplb2Yoc3RydWN0IHVsX2NvbG9yX25hbWUpLAorCQkJCWNtcF9jb2xvcl9uYW1lKTsKKwlyZXR1cm4gcmVzID8gcmVzLT5zZXEgOiBOVUxMOworfQpkaWZmIC0tZ2l0IGEvbGliL2NvbG9ycy5jIGIvbGliL2NvbG9ycy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1YTI3YmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvY29sb3JzLmMKQEAgLTAsMCArMSw4ODAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgT25kcmVqIE9wcmFsYSA8b29wcmFsYUByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDEyLTIwMTQgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxhc3NlcnQuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPGRpcmVudC5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaWZkZWYgSEFWRV9MSUJUSU5GTworIyBpbmNsdWRlIDxjdXJzZXMuaD4KKyMgaW5jbHVkZSA8dGVybS5oPgorI2VuZGlmCisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY29sb3JzLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKworI2luY2x1ZGUgImRlYnVnLmgiCisKKy8qCisgKiBEZWZhdWx0IGJlaGF2aW9yLCBtYXliZSBiZSBvdmVycmlkZSBieSB0ZXJtaW5hbC1jb2xvcnMuZC97ZW5hYmxlLGRpc2FibGV9LgorICovCisjaWZkZWYgVVNFX0NPTE9SU19CWV9ERUZBVUxUCisjIGRlZmluZSBVTF9DT0xPUk1PREVfREVGQVVMVAlVTF9DT0xPUk1PREVfQVVUTwkvKiBjaGVjayBpc2F0dHkoKSAqLworI2Vsc2UKKyMgZGVmaW5lIFVMX0NPTE9STU9ERV9ERUZBVUxUCVVMX0NPTE9STU9ERV9ORVZFUgkvKiBubyBjb2xvcnMgYnkgZGVmYXVsdCAqLworI2VuZGlmCisKKy8qCisgKiB0ZXJtaW5hbC1jb2xvcnMuZCBkZWJ1ZyBzdHVmZgorICovCitVTF9ERUJVR19ERUZJTkVfTUFTSyh0ZXJtY29sb3JzKTsKK1VMX0RFQlVHX0RFRklORV9NQVNLTkFNRVModGVybWNvbG9ycykgPSBVTF9ERUJVR19FTVBUWV9NQVNLTkFNRVM7CisKKyNkZWZpbmUgVEVSTUNPTE9SU19ERUJVR19JTklUCSgxIDw8IDEpCisjZGVmaW5lIFRFUk1DT0xPUlNfREVCVUdfQ09ORgkoMSA8PCAyKQorI2RlZmluZSBURVJNQ09MT1JTX0RFQlVHX1NDSEVNRQkoMSA8PCAzKQorI2RlZmluZSBURVJNQ09MT1JTX0RFQlVHX0FMTAkweEZGRkYKKworI2RlZmluZSBEQkcobSwgeCkgICAgICAgX19VTF9EQkcodGVybWNvbG9ycywgVEVSTUNPTE9SU19ERUJVR18sIG0sIHgpCisjZGVmaW5lIE9OX0RCRyhtLCB4KSAgICBfX1VMX0RCR19DQUxMKHRlcm1jb2xvcnMsIFRFUk1DT0xPUlNfREVCVUdfLCBtLCB4KQorCisvKgorICogdGVybWluYWwtY29sb3JzLmQgZmlsZSB0eXBlcworICovCitlbnVtIHsKKwlVTF9DT0xPUkZJTEVfRElTQUJMRSwJCS8qIC5kaXNhYmxlICovCisJVUxfQ09MT1JGSUxFX0VOQUJMRSwJCS8qIC5lbmFibGUgKi8KKwlVTF9DT0xPUkZJTEVfU0NIRU1FLAkJLyogLnNjaGVtZSAqLworCisJX19VTF9DT0xPUkZJTEVfQ09VTlQKK307CisKK3N0cnVjdCB1bF9jb2xvcl9zY2hlbWUgeworCWNoYXIgKm5hbWU7CisJY2hhciAqc2VxOworfTsKKworLyoKKyAqIEdsb2JhbCBjb2xvcnMgY29udHJvbCBzdHJ1Y3QKKyAqCisgKiBUaGUgdGVybWluYWwtY29sb3JzLmQvIGV2YWx1YXRpb24gaXMgYmFzZWQgb24gInNjb3JlcyI6CisgKgorICogIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICBzY29yZQorICogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogIHR5cGUJCQkxCisgKiAgQHRlcm1uYW1lLnR5cGUJCTEwICsgMQorICogIHV0aWxuYW1lLnR5cGUJCTIwICsgMQorICogIHV0aWxuYW1lQHRlcm1uYW1lLnR5cGUJMjAgKyAxMCArIDEKKyAqCisgKiB0aGUgbWF0Y2ggd2l0aCBoaWdoZXIgc2NvcmUgd2lucy4gVGhlIHNjb3JlIGlzIHBlciB0eXBlLgorICovCitzdHJ1Y3QgdWxfY29sb3JfY3RsIHsKKwljb25zdCBjaGFyCSp1dGlsbmFtZTsJLyogdXRpbCBuYW1lICovCisJY29uc3QgY2hhcgkqdGVybW5hbWU7CS8qIHRlcm1pbmFsIG5hbWUgKCRURVJNKSAqLworCisJY2hhcgkJKnNmaWxlOwkvKiBwYXRoIHRvIHNjaGVtZSAqLworCisJc3RydWN0IHVsX2NvbG9yX3NjaGVtZQkqc2NoZW1lczsJLyogYXJyYXkgd2l0aCBjb2xvciBzY2hlbWVzICovCisJc2l6ZV90CQkJbnNjaGVtZXM7CS8qIG51bWJlciBvZiB0aGUgaXRlbXMgKi8KKwlzaXplX3QJCQlzY2hlbWVzX3N6OwkvKiBudW1iZXIgb2YgdGhlIGFsbG9jYXRlZCBpdGVtcyAqLworCisJaW50CQltb2RlOwkJLyogVUxfQ09MT1JNT0RFXyogKi8KKwl1bnNpZ25lZCBpbnQJaGFzX2NvbG9ycyA6IDEsCS8qIGJhc2VkIG9uIG1vZGUgYW5kIHNjb3Jlc1tdICovCisJCQlkaXNhYmxlZCAgIDogMSwgLyogZGlzYWJsZSBjb2xvcnMgKi8KKwkJCWNzX2NvbmZpZ3VyZWQgOiAxLCAvKiBjb2xvciBzY2hlbWVzIHJlYWQgKi8KKwkJCWNvbmZpZ3VyZWQgOiAxOyAvKiB0ZXJtaW5hbC1jb2xvcnMuZCBwYXJzZWQgKi8KKworCWludAkJc2NvcmVzW19fVUxfQ09MT1JGSUxFX0NPVU5UXTsJLyogdGhlIGJlc3QgbWF0Y2ggKi8KK307CisKKy8qCisgKiBDb250cm9sIHN0cnVjdCwgZ2xvYmFsbHkgc2hhcmVkLgorICovCitzdGF0aWMgc3RydWN0IHVsX2NvbG9yX2N0bCB1bF9jb2xvcnM7CisKK3N0YXRpYyB2b2lkIGNvbG9yc19mcmVlX3NjaGVtZXMoc3RydWN0IHVsX2NvbG9yX2N0bCAqY2MpOworc3RhdGljIGludCBjb2xvcnNfcmVhZF9zY2hlbWVzKHN0cnVjdCB1bF9jb2xvcl9jdGwgKmNjKTsKKworLyoKKyAqIHFzb3J0L2JzZWFyY2ggYnVkZHkKKyAqLworc3RhdGljIGludCBjbXBfc2NoZW1lX25hbWUoY29uc3Qgdm9pZCAqYTAsIGNvbnN0IHZvaWQgKmIwKQoreworCXN0cnVjdCB1bF9jb2xvcl9zY2hlbWUJKmEgPSAoc3RydWN0IHVsX2NvbG9yX3NjaGVtZSAqKSBhMCwKKwkJCQkqYiA9IChzdHJ1Y3QgdWxfY29sb3Jfc2NoZW1lICopIGIwOworCXJldHVybiBzdHJjbXAoYS0+bmFtZSwgYi0+bmFtZSk7Cit9CisKKy8qCisgKiBSZXNldHMgY29udHJvbCBzdHJ1Y3QgKG5vdGUgdGhhdCB3ZSBkb24ndCBhbGxvY2F0ZSB0aGUgc3RydWN0KQorICovCitzdGF0aWMgdm9pZCBjb2xvcnNfcmVzZXQoc3RydWN0IHVsX2NvbG9yX2N0bCAqY2MpCit7CisJaWYgKCFjYykKKwkJcmV0dXJuOworCisJY29sb3JzX2ZyZWVfc2NoZW1lcyhjYyk7CisKKwlmcmVlKGNjLT5zZmlsZSk7CisKKwljYy0+c2ZpbGUgPSBOVUxMOworCWNjLT51dGlsbmFtZSA9IE5VTEw7CisJY2MtPnRlcm1uYW1lID0gTlVMTDsKKwljYy0+bW9kZSA9IFVMX0NPTE9STU9ERV9VTkRFRjsKKworCW1lbXNldChjYy0+c2NvcmVzLCAwLCBzaXplb2YoY2MtPnNjb3JlcykpOworfQorCitzdGF0aWMgdm9pZCBjb2xvcnNfZGVidWcoc3RydWN0IHVsX2NvbG9yX2N0bCAqY2MpCit7CisJc2l6ZV90IGk7CisKKwlpZiAoIWNjKQorCQlyZXR1cm47CisKKwlwcmludGYoIkNvbG9yczpcbiIpOworCXByaW50ZigiXHR1dGlsbmFtZSA9ICclcydcbiIsIGNjLT51dGlsbmFtZSk7CisJcHJpbnRmKCJcdHRlcm1uYW1lID0gJyVzJ1xuIiwgY2MtPnRlcm1uYW1lKTsKKwlwcmludGYoIlx0c2NoZW1lIGZpbGUgPSAnJXMnXG4iLCBjYy0+c2ZpbGUpOworCXByaW50ZigiXHRtb2RlID0gJXNcbiIsCisJCQljYy0+bW9kZSA9PSBVTF9DT0xPUk1PREVfVU5ERUYgPyAidW5kZWZpbmVkIiA6CisJCQljYy0+bW9kZSA9PSBVTF9DT0xPUk1PREVfQVVUTyA/ICAiYXV0byIgOgorCQkJY2MtPm1vZGUgPT0gVUxfQ09MT1JNT0RFX05FVkVSID8gIm5ldmVyIiA6CisJCQljYy0+bW9kZSA9PSBVTF9DT0xPUk1PREVfQUxXQVlTID8gImFsd2F5cyIgOiAiPz8/Iik7CisJcHJpbnRmKCJcdGhhc19jb2xvcnMgPSAlZFxuIiwgY2MtPmhhc19jb2xvcnMpOworCXByaW50ZigiXHRkaXNhYmxlZCA9ICVkXG4iLCBjYy0+ZGlzYWJsZWQpOworCXByaW50ZigiXHRjb25maWd1cmVkID0gJWRcbiIsIGNjLT5jb25maWd1cmVkKTsKKwlwcmludGYoIlx0Y3MgY29uZmlndXJlZCA9ICVkXG4iLCBjYy0+Y3NfY29uZmlndXJlZCk7CisKKwlmcHV0YygnXG4nLCBzdGRvdXQpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoY2MtPnNjb3Jlcyk7IGkrKykKKwkJcHJpbnRmKCJcdHNjb3JlICVzID0gJWRcbiIsCisJCQkJaSA9PSBVTF9DT0xPUkZJTEVfRElTQUJMRSA/ICJkaXNhYmxlIiA6CisJCQkJaSA9PSBVTF9DT0xPUkZJTEVfRU5BQkxFID8gImVuYWJsZSIgOgorCQkJCWkgPT0gVUxfQ09MT1JGSUxFX1NDSEVNRSA/ICJzY2hlbWUiIDogIj8/PyIsCisJCQkJY2MtPnNjb3Jlc1tpXSk7CisKKwlmcHV0YygnXG4nLCBzdGRvdXQpOworCisJZm9yIChpID0gMDsgaSA8IGNjLT5uc2NoZW1lczsgaSsrKSB7CisJCXByaW50ZigiXHRzY2hlbWUgIyUwMnp1ICIsIGkpOworCQljb2xvcl9zY2hlbWVfZW5hYmxlKGNjLT5zY2hlbWVzW2ldLm5hbWUsIE5VTEwpOworCQlmcHV0cyhjYy0+c2NoZW1lc1tpXS5uYW1lLCBzdGRvdXQpOworCQljb2xvcl9kaXNhYmxlKCk7CisJCWZwdXRjKCdcbicsIHN0ZG91dCk7CisJfQorCWZwdXRjKCdcbicsIHN0ZG91dCk7Cit9CisKKy8qCisgKiBQYXJzZXMgW1s8dXRpbG5hbWU+XVtAPHRlcm1uYW1lPl0uXTx0eXBlPgorICovCitzdGF0aWMgaW50IGZpbGVuYW1lX3RvX3Rva2Vucyhjb25zdCBjaGFyICpzdHIsCisJCQkgICAgICBjb25zdCBjaGFyICoqbmFtZSwgc2l6ZV90ICpuYW1lc3osCisJCQkgICAgICBjb25zdCBjaGFyICoqdGVybSwgc2l6ZV90ICp0ZXJtc3osCisJCQkgICAgICBpbnQgICpmaWxldHlwZSkKK3sKKwljb25zdCBjaGFyICp0eXBlX3N0YXJ0LCAqdGVybV9zdGFydCwgKnA7CisKKwlpZiAoIXN0ciB8fCAhKnN0ciB8fCAqc3RyID09ICcuJyB8fCBzdHJsZW4oc3RyKSA+IFBBVEhfTUFYKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCS8qIHBhcnNlIC50eXBlICovCisJcCA9IHN0cnJjaHIoc3RyLCAnLicpOworCXR5cGVfc3RhcnQgPSBwID8gcCArIDEgOiBzdHI7CisKKwlpZiAoc3RyY21wKHR5cGVfc3RhcnQsICJkaXNhYmxlIikgPT0gMCkKKwkJKmZpbGV0eXBlID0gVUxfQ09MT1JGSUxFX0RJU0FCTEU7CisJZWxzZSBpZiAoc3RyY21wKHR5cGVfc3RhcnQsICJlbmFibGUiKSA9PSAwKQorCQkqZmlsZXR5cGUgPSBVTF9DT0xPUkZJTEVfRU5BQkxFOworCWVsc2UgaWYgKHN0cmNtcCh0eXBlX3N0YXJ0LCAic2NoZW1lIikgPT0gMCkKKwkJKmZpbGV0eXBlID0gVUxfQ09MT1JGSUxFX1NDSEVNRTsKKwllbHNlIHsKKwkJREJHKENPTkYsIHVsX2RlYnVnKCJ1bmtub3duIHR5cGUgJyVzJyIsIHR5cGVfc3RhcnQpKTsKKwkJcmV0dXJuIDE7CQkJCS8qIHVua25vd24gdHlwZSAqLworCX0KKworCWlmICh0eXBlX3N0YXJ0ID09IHN0cikKKwkJcmV0dXJuIDA7CQkJCS8qICJ0eXBlIiBvbmx5ICovCisKKwkvKiBwYXJzZSBAdGVybW5hbWUgKi8KKwlwID0gc3RyY2hyKHN0ciwgJ0AnKTsKKwl0ZXJtX3N0YXJ0ID0gcCA/IHAgKyAxIDogTlVMTDsKKwlpZiAodGVybV9zdGFydCkgeworCQkqdGVybSA9IHRlcm1fc3RhcnQ7CisJCSp0ZXJtc3ogPSB0eXBlX3N0YXJ0IC0gdGVybV9zdGFydCAtIDE7CisJCWlmICh0ZXJtX3N0YXJ0IC0gMSA9PSBzdHIpCisJCQlyZXR1cm4gMDsJCQkvKiAiQHRlcm1uYW1lLnR5cGUiICovCisJfQorCisJLyogcGFyc2UgdXRpbG5hbWUgKi8KKwlwID0gdGVybV9zdGFydCA/IHRlcm1fc3RhcnQgOiB0eXBlX3N0YXJ0OworCSpuYW1lID0gIHN0cjsKKwkqbmFtZXN6CT0gcCAtIHN0ciAtIDE7CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFNjYW5zIEBkaXJuYW1lIGFuZCBzZWxlY3QgdGhlIGJlc3QgbWF0Y2hlcyBmb3IgVUxfQ09MT1JGSUxFXyogdHlwZXMuCisgKiBUaGUgcmVzdWx0IGlzIHN0b3JlZCB0byBjYy0+c2NvcmVzLiBUaGUgcGF0aCB0byB0aGUgYmVzdCAic2NoZW1lIgorICogZmlsZSBpcyBzdG9yZWQgdG8gY2MtPnNjaGVtZS4KKyAqLworc3RhdGljIGludCBjb2xvcnNfcmVhZGRpcihzdHJ1Y3QgdWxfY29sb3JfY3RsICpjYywgY29uc3QgY2hhciAqZGlybmFtZSkKK3sKKwlESVIgKmRpcjsKKwlpbnQgcmMgPSAwOworCXN0cnVjdCBkaXJlbnQgKmQ7CisJY2hhciBzZmlsZVtQQVRIX01BWF0gPSB7ICdcMCcgfTsKKwlzaXplX3QgbmFtZXN6LCB0ZXJtc3o7CisKKwlpZiAoIWRpcm5hbWUgfHwgIWNjIHx8ICFjYy0+dXRpbG5hbWUgfHwgISpjYy0+dXRpbG5hbWUpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKENPTkYsIHVsX2RlYnVnKCJyZWFkaW5nIGRpcjogJyVzJyIsIGRpcm5hbWUpKTsKKworCWRpciA9IG9wZW5kaXIoZGlybmFtZSk7CisJaWYgKCFkaXIpCisJCXJldHVybiAtZXJybm87CisKKwluYW1lc3ogPSBzdHJsZW4oY2MtPnV0aWxuYW1lKTsKKwl0ZXJtc3ogPSBjYy0+dGVybW5hbWUgPyBzdHJsZW4oY2MtPnRlcm1uYW1lKSA6IDA7CisKKwl3aGlsZSAoKGQgPSByZWFkZGlyKGRpcikpKSB7CisJCWludCB0eXBlLCBzY29yZSA9IDE7CisJCWNvbnN0IGNoYXIgKnRrX25hbWUgPSBOVUxMLCAqdGtfdGVybSA9IE5VTEw7CisJCXNpemVfdCB0a19uYW1lc3ogPSAwLCB0a190ZXJtc3ogPSAwOworCisJCWlmICgqZC0+ZF9uYW1lID09ICcuJykKKwkJCWNvbnRpbnVlOworI2lmZGVmIF9ESVJFTlRfSEFWRV9EX1RZUEUKKwkJaWYgKGQtPmRfdHlwZSAhPSBEVF9VTktOT1dOICYmIGQtPmRfdHlwZSAhPSBEVF9MTksgJiYKKwkJICAgIGQtPmRfdHlwZSAhPSBEVF9SRUcpCisJCQljb250aW51ZTsKKyNlbmRpZgorCQlpZiAoZmlsZW5hbWVfdG9fdG9rZW5zKGQtPmRfbmFtZSwKKwkJCQkgICAgICAgJnRrX25hbWUsICZ0a19uYW1lc3osCisJCQkJICAgICAgICZ0a190ZXJtLCAmdGtfdGVybXN6LCAmdHlwZSkgIT0gMCkKKwkJCWNvbnRpbnVlOworCisJCS8qIGNvdW50IHRoZW9yZXRpY2FsIHNjb3JlIGJlZm9yZSB3ZSBjaGVjayBuYW1lcyB0byBhdm9pZAorCQkgKiB1bm5lY2Vzc2FyeSBzdHJjbXAoKSAqLworCQlpZiAodGtfbmFtZSkKKwkJCXNjb3JlICs9IDIwOworCQlpZiAodGtfdGVybSkKKwkJCXNjb3JlICs9IDEwOworCisJCURCRyhDT05GLCB1bF9kZWJ1ZygiaXRlbSAnJXMnOiBzY29yZT0lZCAiCisJCQkiW2N1cjogJWQsIG5hbWUoJXp1KTogJXMsIHRlcm0oJXp1KTogJXNdIiwKKwkJCWQtPmRfbmFtZSwgc2NvcmUsIGNjLT5zY29yZXNbdHlwZV0sCisJCQl0a19uYW1lc3osIHRrX25hbWUsCisJCQl0a190ZXJtc3osIHRrX3Rlcm0pKTsKKworCisJCWlmIChzY29yZSA8IGNjLT5zY29yZXNbdHlwZV0pCisJCQljb250aW51ZTsKKworCQkvKiBmaWx0ZXIgb3V0IGJ5IG5hbWVzICovCisJCWlmICh0a19uYW1lc3ogJiYgKHRrX25hbWVzeiAhPSBuYW1lc3ogfHwKKwkJCQkgc3RybmNtcCh0a19uYW1lLCBjYy0+dXRpbG5hbWUsIG5hbWVzeikgIT0gMCkpCisJCQljb250aW51ZTsKKworCQlpZiAodGtfdGVybXN6ICYmICh0ZXJtc3ogPT0gMCB8fCB0a190ZXJtc3ogIT0gdGVybXN6IHx8CisJCQkJICBzdHJuY21wKHRrX3Rlcm0sIGNjLT50ZXJtbmFtZSwgdGVybXN6KSAhPSAwKSkKKwkJCWNvbnRpbnVlOworCisJCURCRyhDT05GLCB1bF9kZWJ1Zygic2V0dGluZyAnJXMnIGZyb20gJWQgLXRvLT4gJWQiLAorCQkJCQl0eXBlID09IFVMX0NPTE9SRklMRV9TQ0hFTUUgPyAic2NoZW1lIiA6CisJCQkJCXR5cGUgPT0gVUxfQ09MT1JGSUxFX0RJU0FCTEUgPyAiZGlzYWJsZSIgOgorCQkJCQl0eXBlID09IFVMX0NPTE9SRklMRV9FTkFCTEUgPyAiZW5hYmxlIiA6ICI/Pz8iLAorCQkJCQljYy0+c2NvcmVzW3R5cGVdLCBzY29yZSkpOworCQljYy0+c2NvcmVzW3R5cGVdID0gc2NvcmU7CisJCWlmICh0eXBlID09IFVMX0NPTE9SRklMRV9TQ0hFTUUpCisJCQlzdHJuY3B5KHNmaWxlLCBkLT5kX25hbWUsIHNpemVvZihzZmlsZSkpOworCX0KKworCWlmICgqc2ZpbGUpIHsKKwkJc2ZpbGVbc2l6ZW9mKHNmaWxlKSAtIDFdID0gJ1wwJzsKKwkJaWYgKGFzcHJpbnRmKCZjYy0+c2ZpbGUsICIlcy8lcyIsIGRpcm5hbWUsIHNmaWxlKSA8PSAwKQorCQkJcmMgPSAtRU5PTUVNOworCX0KKworCWNsb3NlZGlyKGRpcik7CisJcmV0dXJuIHJjOworfQorCisvKiBhdGV4aXQoKSB3cmFwcGVyICovCitzdGF0aWMgdm9pZCBjb2xvcnNfZGVpbml0KHZvaWQpCit7CisJY29sb3JzX3Jlc2V0KCZ1bF9jb2xvcnMpOworfQorCisvKgorICogUmV0dXJucyBwYXRoIHRvICRYREdfQ09ORklHX0hPTUUvdGVybWluYWwtY29sb3JzLmQKKyAqLworc3RhdGljIGNoYXIgKmNvbG9yc19nZXRfaG9tZWRpcihjaGFyICpidWYsIHNpemVfdCBidWZzeikKK3sKKwljaGFyICpwID0gZ2V0ZW52KCJYREdfQ09ORklHX0hPTUUiKTsKKworCWlmIChwKSB7CisJCXNucHJpbnRmKGJ1ZiwgYnVmc3osICIlcy8iIF9QQVRIX1RFUk1DT0xPUlNfRElSTkFNRSwgcCk7CisJCXJldHVybiBidWY7CisJfQorCisJcCA9IGdldGVudigiSE9NRSIpOworCWlmIChwKSB7CisJCXNucHJpbnRmKGJ1ZiwgYnVmc3osICIlcy8uY29uZmlnLyIgX1BBVEhfVEVSTUNPTE9SU19ESVJOQU1FLCBwKTsKKwkJcmV0dXJuIGJ1ZjsKKwl9CisKKwlyZXR1cm4gTlVMTDsKK30KKworLyogY2Fub25pY2FsaXplIHNlcXVlbmNlICovCitzdGF0aWMgaW50IGNuX3NlcXVlbmNlKGNvbnN0IGNoYXIgKnN0ciwgY2hhciAqKnNlcSkKK3sKKwljaGFyICppbiwgKm91dDsKKworCWlmICghc3RyKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCSpzZXEgPSBOVUxMOworCisJLyogY29udmVydCBsb2dpY2FsIG5hbWVzIGxpa2UgInJlZCIgdG8gdGhlIHJlYWwgc2VxdWVuY2UgKi8KKwlpZiAoKnN0ciAhPSAnXFwnICYmIGlzYWxwaGEoKnN0cikpIHsKKwkJY29uc3QgY2hhciAqcyA9IGNvbG9yX3NlcXVlbmNlX2Zyb21fY29sb3JuYW1lKHN0cik7CisJCSpzZXEgPSBzdHJkdXAocyA/IHMgOiBzdHIpOworCisJCXJldHVybiAqc2VxID8gMCA6IC1FTk9NRU07CisJfQorCisJLyogY29udmVydCB4eDt5eSBzZXF1ZW5jZXMgdG8gIlwwMzNbeHg7eXkiICovCisJaWYgKGFzcHJpbnRmKHNlcSwgIlwwMzNbJXNtIiwgc3RyKSA8IDEpCisJCXJldHVybiAtRU5PTUVNOworCisJZm9yIChpbiA9ICpzZXEsIG91dCA9ICpzZXE7IGluICYmICppbjsgaW4rKykgeworCQlpZiAoKmluICE9ICdcXCcpIHsKKwkJCSpvdXQrKyA9ICppbjsKKwkJCWNvbnRpbnVlOworCQl9CisJCXN3aXRjaCgqKGluICsgMSkpIHsKKwkJY2FzZSAnYSc6CisJCQkqb3V0KysgPSAnXGEnOwkvKiBCZWxsICovCisJCQlicmVhazsKKwkJY2FzZSAnYic6CisJCQkqb3V0KysgPSAnXGInOwkvKiBCYWNrc3BhY2UgKi8KKwkJCWJyZWFrOworCQljYXNlICdlJzoKKwkJCSpvdXQrKyA9ICdcMDMzJzsJLyogRXNjYXBlICovCisJCQlicmVhazsKKwkJY2FzZSAnZic6CisJCQkqb3V0KysgPSAnXGYnOwkvKiBGb3JtIEZlZWQgKi8KKwkJCWJyZWFrOworCQljYXNlICduJzoKKwkJCSpvdXQrKyA9ICdcbic7CS8qIE5ld2xpbmUgKi8KKwkJCWJyZWFrOworCQljYXNlICdyJzoKKwkJCSpvdXQrKyA9ICdccic7CS8qIENhcnJpYWdlIFJldHVybiAqLworCQkJYnJlYWs7CisJCWNhc2UgJ3QnOgorCQkJKm91dCsrID0gJ1x0JzsJLyogVGFiICovCisJCQlicmVhazsKKwkJY2FzZSAndic6CisJCQkqb3V0KysgPSAnXHYnOwkvKiBWZXJ0aWNhbCBUYWIgKi8KKwkJCWJyZWFrOworCQljYXNlICdcXCc6CisJCQkqb3V0KysgPSAnXFwnOwkvKiBCYWNrc2xhc2ggKi8KKwkJCWJyZWFrOworCQljYXNlICdfJzoKKwkJCSpvdXQrKyA9ICcgJzsJLyogU3BhY2UgKi8KKwkJCWJyZWFrOworCQljYXNlICcjJzoKKwkJCSpvdXQrKyA9ICcjJzsJLyogSGFzaCBtYXJrICovCisJCQlicmVhazsKKwkJY2FzZSAnPyc6CisJCQkqb3V0KysgPSAnPyc7CS8qIFF1ZXN0aW9uIG1hcmsgKi8KKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJKm91dCsrID0gKmluOworCQkJKm91dCsrID0gKihpbiArIDEpOworCQkJYnJlYWs7CisJCX0KKwkJaW4rKzsKKwl9CisJKm91dCA9ICdcMCc7CisKKwlyZXR1cm4gMDsKK30KKworCisvKgorICogQWRkcyBvbmUgY29sb3Igc2VxdWVuY2UgdG8gYXJyYXkgd2l0aCBjb2xvciBzY2hlbWUuCisgKiBXaGVuIHJldHVybmluZyBzdWNjZXNzICgwKSB0aGlzIGZ1bmN0aW9uIHRha2VzIG93bmVyc2hpcCBvZgorICogQHNlcSBhbmQgQG5hbWUsIHdoaWNoIGhhdmUgdG8gYmUgYWxsb2NhdGVkIHN0cmluZ3MuCisgKi8KK3N0YXRpYyBpbnQgY29sb3JzX2FkZF9zY2hlbWUoc3RydWN0IHVsX2NvbG9yX2N0bCAqY2MsCisJCQkgICAgIGNoYXIgKm5hbWUsCisJCQkgICAgIGNoYXIgKnNlcTApCit7CisJc3RydWN0IHVsX2NvbG9yX3NjaGVtZSAqY3MgPSBOVUxMOworCWNoYXIgKnNlcSA9IE5VTEw7CisJaW50IHJjOworCisJaWYgKCFjYyB8fCAhbmFtZSB8fCAhKm5hbWUgfHwgIXNlcTAgfHwgISpzZXEwKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhTQ0hFTUUsIHVsX2RlYnVnKCJhZGQgJyVzJyIsIG5hbWUpKTsKKworCXJjID0gY25fc2VxdWVuY2Uoc2VxMCwgJnNlcSk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwlyYyA9IC1FTk9NRU07CisKKwkvKiBjb252ZXJ0IGxvZ2ljYWwgbmFtZSAoZS5nLiAicmVkIikgdG8gcmVhbCBFU0MgY29kZSAqLworCWlmIChpc2FscGhhKCpzZXEpKSB7CisJCWNvbnN0IGNoYXIgKnMgPSBjb2xvcl9zZXF1ZW5jZV9mcm9tX2NvbG9ybmFtZShzZXEpOworCQljaGFyICpwOworCisJCWlmICghcykgeworCQkJREJHKFNDSEVNRSwgdWxfZGVidWcoInVua25vd24gbG9naWNhbCBuYW1lOiAlcyIsIHNlcSkpOworCQkJcmMgPSAtRUlOVkFMOworCQkJZ290byBlcnI7CisJCX0KKworCQlwID0gc3RyZHVwKHMpOworCQlpZiAoIXApCisJCQlnb3RvIGVycjsKKwkJZnJlZShzZXEpOworCQlzZXEgPSBwOworCX0KKworCS8qIGVubGFyZ2UgdGhlIGFycmF5ICovCisJaWYgKGNjLT5uc2NoZW1lcyA9PSBjYy0+c2NoZW1lc19zeikgeworCQl2b2lkICp0bXAgPSByZWFsbG9jKGNjLT5zY2hlbWVzLCAoY2MtPm5zY2hlbWVzICsgMTApCisJCQkJCSogc2l6ZW9mKHN0cnVjdCB1bF9jb2xvcl9zY2hlbWUpKTsKKwkJaWYgKCF0bXApCisJCQlnb3RvIGVycjsKKwkJY2MtPnNjaGVtZXMgPSB0bXA7CisJCWNjLT5zY2hlbWVzX3N6ID0gY2MtPm5zY2hlbWVzICsgMTA7CisJfQorCisJLyogYWRkIGEgbmV3IGl0ZW0gKi8KKwljcyA9ICZjYy0+c2NoZW1lc1tjYy0+bnNjaGVtZXNdOworCWNzLT5zZXEgPSBzZXE7CisJY3MtPm5hbWUgPSBzdHJkdXAobmFtZSk7CisJaWYgKCFjcy0+bmFtZSkKKwkJZ290byBlcnI7CisKKwljYy0+bnNjaGVtZXMrKzsKKwlyZXR1cm4gMDsKK2VycjoKKwlpZiAoY3MpIHsKKwkJZnJlZShjcy0+c2VxKTsKKwkJZnJlZShjcy0+bmFtZSk7CisJCWNzLT5zZXEgPSBjcy0+bmFtZSA9IE5VTEw7CisJfSBlbHNlCisJCWZyZWUoc2VxKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBEZWFsbG9jYXRlcyBhbGwgcmVnYXJkcyB0byBjb2xvciBzY2hlbWVzCisgKi8KK3N0YXRpYyB2b2lkIGNvbG9yc19mcmVlX3NjaGVtZXMoc3RydWN0IHVsX2NvbG9yX2N0bCAqY2MpCit7CisJc2l6ZV90IGk7CisKKwlEQkcoU0NIRU1FLCB1bF9kZWJ1ZygiZnJlZSBzY2hlbWUiKSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgY2MtPm5zY2hlbWVzOyBpKyspIHsKKwkJZnJlZShjYy0+c2NoZW1lc1tpXS5uYW1lKTsKKwkJZnJlZShjYy0+c2NoZW1lc1tpXS5zZXEpOworCX0KKworCWZyZWUoY2MtPnNjaGVtZXMpOworCWNjLT5zY2hlbWVzID0gTlVMTDsKKwljYy0+bnNjaGVtZXMgPSAwOworCWNjLT5zY2hlbWVzX3N6ID0gMDsKK30KKworLyoKKyAqIFRoZSBzY2hlbWUgY29uZmlndXJhdGlvbiBoYXMgdG8gYmUgc29ydGVkIGZvciBic2VhcmNoCisgKi8KK3N0YXRpYyB2b2lkIGNvbG9yc19zb3J0X3NjaGVtZXMoc3RydWN0IHVsX2NvbG9yX2N0bCAqY2MpCit7CisJaWYgKCFjYy0+bnNjaGVtZXMpCisJCXJldHVybjsKKworCURCRyhTQ0hFTUUsIHVsX2RlYnVnKCJzb3J0IHNjaGVtZSIpKTsKKworCXFzb3J0KGNjLT5zY2hlbWVzLCBjYy0+bnNjaGVtZXMsCisJICAgICAgc2l6ZW9mKHN0cnVjdCB1bF9jb2xvcl9zY2hlbWUpLCBjbXBfc2NoZW1lX25hbWUpOworfQorCisvKgorICogUmV0dXJucyBqdXN0IG9uZSBjb2xvciBzY2hlbWUKKyAqLworc3RhdGljIHN0cnVjdCB1bF9jb2xvcl9zY2hlbWUgKmNvbG9yc19nZXRfc2NoZW1lKHN0cnVjdCB1bF9jb2xvcl9jdGwgKmNjLAorCQkJCQkJIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJc3RydWN0IHVsX2NvbG9yX3NjaGVtZSBrZXkgPSB7IC5uYW1lID0gKGNoYXIgKikgbmFtZX0sICpyZXM7CisKKwlpZiAoIWNjIHx8ICFuYW1lIHx8ICEqbmFtZSkKKwkJcmV0dXJuIE5VTEw7CisKKwlpZiAoIWNjLT5jc19jb25maWd1cmVkKSB7CisJCWludCByYyA9IGNvbG9yc19yZWFkX3NjaGVtZXMoY2MpOworCQlpZiAocmMpCisJCQlyZXR1cm4gTlVMTDsKKwl9CisJaWYgKCFjYy0+bnNjaGVtZXMpCisJCXJldHVybiBOVUxMOworCisJREJHKFNDSEVNRSwgdWxfZGVidWcoInNlYXJjaCAnJXMnIiwgbmFtZSkpOworCisJcmVzID0gYnNlYXJjaCgma2V5LCBjYy0+c2NoZW1lcywgY2MtPm5zY2hlbWVzLAorCQkJCXNpemVvZihzdHJ1Y3QgdWxfY29sb3Jfc2NoZW1lKSwKKwkJCQljbXBfc2NoZW1lX25hbWUpOworCisJcmV0dXJuIHJlcyAmJiByZXMtPnNlcSA/IHJlcyAgOiBOVUxMOworfQorCisvKgorICogUGFyc2VzIGZpbGVuYW1lcyBpbiB0ZXJtaW5hbC1jb2xvcnMuZAorICovCitzdGF0aWMgaW50IGNvbG9yc19yZWFkX2NvbmZpZ3VyYXRpb24oc3RydWN0IHVsX2NvbG9yX2N0bCAqY2MpCit7CisJaW50IHJjID0gLUVOT0VOVDsKKwljaGFyICpkaXJuYW1lLCBidWZbUEFUSF9NQVhdOworCisJY2MtPnRlcm1uYW1lID0gZ2V0ZW52KCJURVJNIik7CisKKwlkaXJuYW1lID0gY29sb3JzX2dldF9ob21lZGlyKGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCWlmIChkaXJuYW1lKQorCQlyYyA9IGNvbG9yc19yZWFkZGlyKGNjLCBkaXJuYW1lKTsJCS8qIH4vLmNvbmZpZyAqLworCWlmIChyYyA9PSAtRVBFUk0gfHwgcmMgPT0gLUVBQ0NFUyB8fCByYyA9PSAtRU5PRU5UKQorCQlyYyA9IGNvbG9yc19yZWFkZGlyKGNjLCBfUEFUSF9URVJNQ09MT1JTX0RJUik7CS8qIC9ldGMgKi8KKworCWNjLT5jb25maWd1cmVkID0gMTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBSZWFkcyB0ZXJtaW5hbC1jb2xvcnMuZC8gc2NoZW1lIGZpbGUgaW50byBhcnJheSBzY2hlbWVzCisgKi8KK3N0YXRpYyBpbnQgY29sb3JzX3JlYWRfc2NoZW1lcyhzdHJ1Y3QgdWxfY29sb3JfY3RsICpjYykKK3sKKwlpbnQgcmMgPSAwOworCUZJTEUgKmYgPSBOVUxMOworCWNoYXIgYnVmW0JVRlNJWl0sCisJICAgICBjblsxMjldLCBzZXFbMTI5XTsKKworCWlmICghY2MtPmNvbmZpZ3VyZWQpCisJCXJjID0gY29sb3JzX3JlYWRfY29uZmlndXJhdGlvbihjYyk7CisKKwljYy0+Y3NfY29uZmlndXJlZCA9IDE7CisKKwlpZiAocmMgfHwgIWNjLT5zZmlsZSkKKwkJZ290byBkb25lOworCisJREJHKFNDSEVNRSwgdWxfZGVidWcoInJlYWRpbmcgZmlsZSAnJXMnIiwgY2MtPnNmaWxlKSk7CisKKwlmID0gZm9wZW4oY2MtPnNmaWxlLCAiciIpOworCWlmICghZikgeworCQlyYyA9IC1lcnJubzsKKwkJZ290byBkb25lOworCX0KKworCXdoaWxlIChmZ2V0cyhidWYsIHNpemVvZihidWYpLCBmKSkgeworCQljaGFyICpwID0gc3RyY2hyKGJ1ZiwgJ1xuJyk7CisKKwkJaWYgKCFwKSB7CisJCQlpZiAoZmVvZihmKSkKKwkJCQlwID0gc3RyY2hyKGJ1ZiwgJ1wwJyk7CisJCQllbHNlIHsKKwkJCQlyYyA9IC1lcnJubzsKKwkJCQlnb3RvIGRvbmU7CisJCQl9CisJCX0KKwkJKnAgPSAnXDAnOworCQlwID0gKGNoYXIgKikgc2tpcF9ibGFuayhidWYpOworCQlpZiAoKnAgPT0gJ1wwJyB8fCAqcCA9PSAnIycpCisJCQljb250aW51ZTsKKworCQlyYyA9IHNzY2FuZihwLCAiJTEyOFteIF0gJTEyOFteXG4gXSIsIGNuLCBzZXEpOworCQlpZiAocmMgPT0gMiAmJiAqY24gJiYgKnNlcSkgeworCQkJcmMgPSBjb2xvcnNfYWRkX3NjaGVtZShjYywgY24sIHNlcSk7CS8qIHNldCByYz0wIG9uIHN1Y2Nlc3MgKi8KKwkJCWlmIChyYykKKwkJCQlnb3RvIGRvbmU7CisJCX0KKwl9CisJcmMgPSAwOworCitkb25lOgorCWlmIChmKQorCQlmY2xvc2UoZik7CisJY29sb3JzX3NvcnRfc2NoZW1lcyhjYyk7CisKKwlyZXR1cm4gcmM7Cit9CisKKworc3RhdGljIHZvaWQgdGVybWNvbG9yc19pbml0X2RlYnVnKHZvaWQpCit7CisJX19VTF9JTklUX0RFQlVHKHRlcm1jb2xvcnMsIFRFUk1DT0xPUlNfREVCVUdfLCAwLCBURVJNSU5BTF9DT0xPUlNfREVCVUcpOworfQorCitzdGF0aWMgaW50IGNvbG9yc190ZXJtaW5hbF9pc19yZWFkeSh2b2lkKQoreworCWludCBuY29sb3JzID0gLTE7CisKKwlpZiAoaXNhdHR5KFNURE9VVF9GSUxFTk8pICE9IDEpCisJCWdvdG8gbm9uZTsKKworI2lmZGVmIEhBVkVfTElCVElORk8KKwl7CisJCWludCByZXQ7CisKKwkJaWYgKHNldHVwdGVybShOVUxMLCBTVERPVVRfRklMRU5PLCAmcmV0KSAhPSBPSyB8fCByZXQgIT0gMSkKKwkJCWdvdG8gbm9uZTsKKwkJbmNvbG9ycyA9IHRpZ2V0bnVtKCJjb2xvcnMiKTsKKwkJaWYgKG5jb2xvcnMgPD0gMikKKwkJCWdvdG8gbm9uZTsKKwl9CisjZW5kaWYKKwlEQkcoQ09ORiwgdWxfZGVidWcoInRlcm1pbmFsIGlzIHJlYWR5IChzdXBwb3J0cyAlZCBjb2xvcnMpIiwgbmNvbG9ycykpOworCXJldHVybiAxOworbm9uZToKKwlEQkcoQ09ORiwgdWxfZGVidWcoInRlcm1pbmFsIGlzIE5PVCByZWFkeSIpKTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBjb2xvcnNfaW5pdDoKKyAqIEBtb2RlOiBVTF9DT0xPUk1PREVfKgorICogQG5hbWU6IHV0aWwgYXJndlswXQorICoKKyAqIEluaXRpYWxpemUgcHJpdmF0ZSBjb2xvciBjb250cm9sIHN0cnVjdCBhbmQgaW5pdGlhbGl6ZSB0aGUgY29sb3JzCisgKiBzdGF0dXMuIFRoZSBjb2xvciBzY2hlbWVzIGFyZSBwYXJzZWQgb24gZGVtYW5kIGJ5IGNvbG9yc19nZXRfc2NoZW1lKCkuCisgKgorICogUmV0dXJuczogPjAgb24gc3VjY2Vzcy4KKyAqLworaW50IGNvbG9yc19pbml0KGludCBtb2RlLCBjb25zdCBjaGFyICpuYW1lKQoreworCWludCByZWFkeSA9IC0xOworCXN0cnVjdCB1bF9jb2xvcl9jdGwgKmNjID0gJnVsX2NvbG9yczsKKworCWNjLT51dGlsbmFtZSA9IG5hbWU7CisJY2MtPm1vZGUgPSBtb2RlOworCisJdGVybWNvbG9yc19pbml0X2RlYnVnKCk7CisKKwlpZiAobW9kZSA9PSBVTF9DT0xPUk1PREVfVU5ERUYgJiYgKHJlYWR5ID0gY29sb3JzX3Rlcm1pbmFsX2lzX3JlYWR5KCkpKSB7CisJCWludCByYyA9IGNvbG9yc19yZWFkX2NvbmZpZ3VyYXRpb24oY2MpOworCQlpZiAocmMpCisJCQljYy0+bW9kZSA9IFVMX0NPTE9STU9ERV9ERUZBVUxUOworCQllbHNlIHsKKworCQkJLyogZXZhbHVhdGUgc2NvcmVzICovCisJCQlpZiAoY2MtPnNjb3Jlc1tVTF9DT0xPUkZJTEVfRElTQUJMRV0gPgorCQkJICAgIGNjLT5zY29yZXNbVUxfQ09MT1JGSUxFX0VOQUJMRV0pCisJCQkJY2MtPm1vZGUgPSBVTF9DT0xPUk1PREVfTkVWRVI7CisJCQllbHNlCisJCQkJY2MtPm1vZGUgPSBVTF9DT0xPUk1PREVfREVGQVVMVDsKKworCQkJYXRleGl0KGNvbG9yc19kZWluaXQpOworCQl9CisJfQorCisJc3dpdGNoIChjYy0+bW9kZSkgeworCWNhc2UgVUxfQ09MT1JNT0RFX0FVVE86CisJCWNjLT5oYXNfY29sb3JzID0gcmVhZHkgPT0gLTEgPyBjb2xvcnNfdGVybWluYWxfaXNfcmVhZHkoKSA6IHJlYWR5OworCQlicmVhazsKKwljYXNlIFVMX0NPTE9STU9ERV9BTFdBWVM6CisJCWNjLT5oYXNfY29sb3JzID0gMTsKKwkJYnJlYWs7CisJY2FzZSBVTF9DT0xPUk1PREVfTkVWRVI6CisJZGVmYXVsdDoKKwkJY2MtPmhhc19jb2xvcnMgPSAwOworCX0KKworCU9OX0RCRyhDT05GLCBjb2xvcnNfZGVidWcoY2MpKTsKKworCXJldHVybiBjYy0+aGFzX2NvbG9yczsKK30KKworLyoKKyAqIFRlbXBvcmFyeSBkaXNhYmxlIGNvbG9ycyAodGhpcyBzZXR0aW5nIGlzIGluZGVwZW5kZW50IG9uIHRlcm1pbmFsLWNvbG9ycy5kLykKKyAqLwordm9pZCBjb2xvcnNfb2ZmKHZvaWQpCit7CisJdWxfY29sb3JzLmRpc2FibGVkID0gMTsKK30KKworLyoKKyAqIEVuYWJsZSBjb2xvcnMKKyAqLwordm9pZCBjb2xvcnNfb24odm9pZCkKK3sKKwl1bF9jb2xvcnMuZGlzYWJsZWQgPSAwOworfQorCisvKgorICogSXMgdGVybWluYWwtY29sb3JzLmQvIGNvbmZpZ3VyZWQgdG8gdXNlIGNvbG9ycz8KKyAqLworaW50IGNvbG9yc193YW50ZWQodm9pZCkKK3sKKwlyZXR1cm4gdWxfY29sb3JzLmhhc19jb2xvcnM7Cit9CisKKy8qCisgKiBFbmFibGUgQHNlcSBjb2xvcgorICovCit2b2lkIGNvbG9yX2ZlbmFibGUoY29uc3QgY2hhciAqc2VxLCBGSUxFICpmKQoreworCWlmICghdWxfY29sb3JzLmRpc2FibGVkICYmIHVsX2NvbG9ycy5oYXNfY29sb3JzICYmIHNlcSkKKwkJZnB1dHMoc2VxLCBmKTsKK30KKworLyoKKyAqIFJldHVybnMgZXNjYXBlIHNlcXVlbmNlIGJ5IGxvZ2ljYWwgQG5hbWUsIGlmIHVuZGVmaW5lZCB0aGVuIHJldHVybnMgQGRmbHQuCisgKi8KK2NvbnN0IGNoYXIgKmNvbG9yX3NjaGVtZV9nZXRfc2VxdWVuY2UoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqZGZsdCkKK3sKKwlzdHJ1Y3QgdWxfY29sb3Jfc2NoZW1lICpjczsKKworCWlmICh1bF9jb2xvcnMuZGlzYWJsZWQgfHwgIXVsX2NvbG9ycy5oYXNfY29sb3JzKQorCQlyZXR1cm4gTlVMTDsKKworCWNzID0gY29sb3JzX2dldF9zY2hlbWUoJnVsX2NvbG9ycywgbmFtZSk7CisJcmV0dXJuIGNzICYmIGNzLT5zZXEgPyBjcy0+c2VxIDogZGZsdDsKK30KKworLyoKKyAqIEVuYWJsZSBjb2xvciBieSBsb2dpY2FsIEBuYW1lLCBpZiB1bmRlZmluZWQgZW5hYmxlIEBkZmx0LgorICovCit2b2lkIGNvbG9yX3NjaGVtZV9mZW5hYmxlKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKmRmbHQsIEZJTEUgKmYpCit7CisJY29uc3QgY2hhciAqc2VxID0gY29sb3Jfc2NoZW1lX2dldF9zZXF1ZW5jZShuYW1lLCBkZmx0KTsKKworCWlmICghc2VxKQorCQlyZXR1cm47CisJY29sb3JfZmVuYWJsZShzZXEsIGYpOworfQorCisKKy8qCisgKiBEaXNhYmxlIHByZXZpb3VzbHkgZW5hYmxlZCBjb2xvcgorICovCit2b2lkIGNvbG9yX2ZkaXNhYmxlKEZJTEUgKmYpCit7CisJaWYgKCF1bF9jb2xvcnMuZGlzYWJsZWQgJiYgdWxfY29sb3JzLmhhc19jb2xvcnMpCisJCWZwdXRzKFVMX0NPTE9SX1JFU0VULCBmKTsKK30KKworLyoKKyAqIFBhcnNlcyBAc3RyIHRvIHJldHVybiBVTF9DT0xPUk1PREVfKgorICovCitpbnQgY29sb3Jtb2RlX2Zyb21fc3RyaW5nKGNvbnN0IGNoYXIgKnN0cikKK3sKKwlzaXplX3QgaTsKKwlzdGF0aWMgY29uc3QgY2hhciAqbW9kZXNbXSA9IHsKKwkJW1VMX0NPTE9STU9ERV9BVVRPXSAgID0gImF1dG8iLAorCQlbVUxfQ09MT1JNT0RFX05FVkVSXSAgPSAibmV2ZXIiLAorCQlbVUxfQ09MT1JNT0RFX0FMV0FZU10gPSAiYWx3YXlzIiwKKwkJW1VMX0NPTE9STU9ERV9VTkRFRl0gPSAiIgorCX07CisKKwlpZiAoIXN0ciB8fCAhKnN0cikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlhc3NlcnQoQVJSQVlfU0laRShtb2RlcykgPT0gX19VTF9OQ09MT1JNT0RFUyk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShtb2Rlcyk7IGkrKykgeworCQlpZiAoc3RyY2FzZWNtcChzdHIsIG1vZGVzW2ldKSA9PSAwKQorCQkJcmV0dXJuIGk7CisJfQorCisJcmV0dXJuIC1FSU5WQUw7Cit9CisKKy8qCisgKiBQYXJzZXMgQHN0ciBhbmQgZXhpdChFWElUX0ZBSUxVUkUpIG9uIGVycm9yCisgKi8KK2ludCBjb2xvcm1vZGVfb3JfZXJyKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqZXJybXNnKQoreworCWNvbnN0IGNoYXIgKnAgPSBzdHIgJiYgKnN0ciA9PSAnPScgPyBzdHIgKyAxIDogc3RyOworCWludCBjb2xvcm1vZGU7CisKKwljb2xvcm1vZGUgPSBjb2xvcm1vZGVfZnJvbV9zdHJpbmcocCk7CisJaWYgKGNvbG9ybW9kZSA8IDApCisJCWVycngoRVhJVF9GQUlMVVJFLCAiJXM6ICclcyciLCBlcnJtc2csIHApOworCisJcmV0dXJuIGNvbG9ybW9kZTsKK30KKworI2lmZGVmIFRFU1RfUFJPR1JBTQorIyBpbmNsdWRlIDxnZXRvcHQuaD4KK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyAibW9kZSIsCXJlcXVpcmVkX2FyZ3VtZW50LCAwLCAnbScgfSwKKwkJeyAiY29sb3IiLAlyZXF1aXJlZF9hcmd1bWVudCwgMCwgJ2MnIH0sCisJCXsgImNvbG9yLXNjaGVtZSIsIHJlcXVpcmVkX2FyZ3VtZW50LCAwLCAnQycgfSwKKwkJeyAibmFtZSIsCXJlcXVpcmVkX2FyZ3VtZW50LCAwLCAnbicgfSwKKwkJeyBOVUxMLCAwLCAwLCAwIH0KKwl9OworCWludCBjLCBtb2RlID0gVUxfQ09MT1JNT0RFX1VOREVGOwkvKiBkZWZhdWx0ICovCisJY29uc3QgY2hhciAqY29sb3IgPSAicmVkIiwgKm5hbWUgPSBOVUxMLCAqY29sb3Jfc2NoZW1lID0gTlVMTDsKKwljb25zdCBjaGFyICpzZXEgPSBOVUxMOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIkM6YzptOm46IiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnYyc6CisJCQljb2xvciA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdDJzoKKwkJCWNvbG9yX3NjaGVtZSA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdtJzoKKwkJCW1vZGUgPSBjb2xvcm1vZGVfb3JfZXJyKG9wdGFyZywgInVuc3VwcG9ydGVkIGNvbG9yIG1vZGUiKTsKKwkJCWJyZWFrOworCQljYXNlICduJzoKKwkJCW5hbWUgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWZwcmludGYoc3RkZXJyLCAidXNhZ2U6ICVzIFtvcHRpb25zXVxuIgorCQkJIiAtbSwgLS1tb2RlIDxhdXRvfG5ldmVyfGFsd2F5cz4gIGRlZmF1bHQgaXMgdW5kZWZpbmVkXG4iCisJCQkiIC1jLCAtLWNvbG9yIDxyZWR8Ymx1ZXwuLi4+ICAgICAgY29sb3IgZm9yIHRoZSB0ZXN0IG1lc3NhZ2VcbiIKKwkJCSIgLUMsIC0tY29sb3Itc2NoZW1lIDxuYW1lPiAgICAgICBjb2xvciBmb3IgdGhlIHRlc3QgbWVzc2FnZVxuIgorCQkJIiAtbiwgLS1uYW1lIDx1dGlsbmFtZT4gICAgICAgICAgIHV0aWwgbmFtZVxuIiwKKwkJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKwkJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJCX0KKwl9CisKKwljb2xvcnNfaW5pdChtb2RlLCBuYW1lID8gbmFtZSA6IHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCXNlcSA9IGNvbG9yX3NlcXVlbmNlX2Zyb21fY29sb3JuYW1lKGNvbG9yKTsKKworCWlmIChjb2xvcl9zY2hlbWUpCisJCWNvbG9yX3NjaGVtZV9lbmFibGUoY29sb3Jfc2NoZW1lLCBzZXEpOworCWVsc2UKKwkJY29sb3JfZW5hYmxlKHNlcSk7CisJcHJpbnRmKCJIZWxsbyBXb3JsZCEiKTsKKwljb2xvcl9kaXNhYmxlKCk7CisJZnB1dGMoJ1xuJywgc3Rkb3V0KTsKKworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvbGliL2NwdXNldC5jIGIvbGliL2NwdXNldC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0NDVhYjQKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvY3B1c2V0LmMKQEAgLTAsMCArMSw0MDAgQEAKKy8qCisgKiBUZXJtaW5vbG9neToKKyAqCisgKgljcHVzZXQJLSAobGliYykgY3B1X3NldF90IGRhdGEgc3RydWN0dXJlIHJlcHJlc2VudHMgc2V0IG9mIENQVXMKKyAqCWNwdW1hc2sJLSBzdHJpbmcgd2l0aCBoZXggbWFzayAoZS5nLiAiMHgwMDAwMDAwMSIpCisgKgljcHVsaXN0IC0gc3RyaW5nIHdpdGggQ1BVIHJhbmdlcyAoZS5nLiAiMC0zLDUsNyw4IikKKyAqCisgKiBCYXNlZCBvbiBjb2RlIGZyb20gdGFza3NldC5jIGFuZCBMaW51eCBrZXJuZWwuCisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c2NoZWQuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8c3lzL3N5c2NhbGwuaD4KKworI2luY2x1ZGUgImNwdXNldC5oIgorI2luY2x1ZGUgImMuaCIKKworc3RhdGljIGlubGluZSBpbnQgdmFsX3RvX2NoYXIoaW50IHYpCit7CisJaWYgKHYgPj0gMCAmJiB2IDwgMTApCisJCXJldHVybiAnMCcgKyB2OworCWVsc2UgaWYgKHYgPj0gMTAgJiYgdiA8IDE2KQorCQlyZXR1cm4gKCdhJyAtIDEwKSArIHY7CisJZWxzZQorCQlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGNoYXJfdG9fdmFsKGludCBjKQoreworCWludCBjbDsKKworCWNsID0gdG9sb3dlcihjKTsKKwlpZiAoYyA+PSAnMCcgJiYgYyA8PSAnOScpCisJCXJldHVybiBjIC0gJzAnOworCWVsc2UgaWYgKGNsID49ICdhJyAmJiBjbCA8PSAnZicpCisJCXJldHVybiBjbCArICgxMCAtICdhJyk7CisJZWxzZQorCQlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyICpuZXh0dG9rZW4oY29uc3QgY2hhciAqcSwgIGludCBzZXApCit7CisJaWYgKHEpCisJCXEgPSBzdHJjaHIocSwgc2VwKTsKKwlpZiAocSkKKwkJcSsrOworCXJldHVybiBxOworfQorCisvKgorICogTnVtYmVyIG9mIGJpdHMgaW4gYSBDUFUgYml0bWFzayBvbiBjdXJyZW50IHN5c3RlbQorICovCitpbnQgZ2V0X21heF9udW1iZXJfb2ZfY3B1cyh2b2lkKQoreworI2lmZGVmIFNZU19zY2hlZF9nZXRhZmZpbml0eQorCWludCBuLCBjcHVzID0gMjA0ODsKKwlzaXplX3Qgc2V0c2l6ZTsKKwljcHVfc2V0X3QgKnNldCA9IGNwdXNldF9hbGxvYyhjcHVzLCAmc2V0c2l6ZSwgTlVMTCk7CisKKwlpZiAoIXNldCkKKwkJcmV0dXJuIC0xOwkvKiBlcnJvciAqLworCisJZm9yICg7OykgeworCQlDUFVfWkVST19TKHNldHNpemUsIHNldCk7CisKKwkJLyogdGhlIGxpYnJhcnkgdmVyc2lvbiBkb2VzIG5vdCByZXR1cm4gc2l6ZSBvZiBjcHVtYXNrX3QgKi8KKwkJbiA9IHN5c2NhbGwoU1lTX3NjaGVkX2dldGFmZmluaXR5LCAwLCBzZXRzaXplLCBzZXQpOworCisJCWlmIChuIDwgMCAmJiBlcnJubyA9PSBFSU5WQUwgJiYgY3B1cyA8IDEwMjQgKiAxMDI0KSB7CisJCQljcHVzZXRfZnJlZShzZXQpOworCQkJY3B1cyAqPSAyOworCQkJc2V0ID0gY3B1c2V0X2FsbG9jKGNwdXMsICZzZXRzaXplLCBOVUxMKTsKKwkJCWlmICghc2V0KQorCQkJCXJldHVybiAtMTsJLyogZXJyb3IgKi8KKwkJCWNvbnRpbnVlOworCQl9CisJCWNwdXNldF9mcmVlKHNldCk7CisJCXJldHVybiBuICogODsKKwl9CisjZW5kaWYKKwlyZXR1cm4gLTE7Cit9CisKKy8qCisgKiBBbGxvY2F0ZXMgYSBuZXcgc2V0IGZvciBuY3B1cyBhbmQgcmV0dXJucyBzaXplIGluIGJ5dGVzIGFuZCBzaXplIGluIGJpdHMKKyAqLworY3B1X3NldF90ICpjcHVzZXRfYWxsb2MoaW50IG5jcHVzLCBzaXplX3QgKnNldHNpemUsIHNpemVfdCAqbmJpdHMpCit7CisJY3B1X3NldF90ICpzZXQgPSBDUFVfQUxMT0MobmNwdXMpOworCisJaWYgKCFzZXQpCisJCXJldHVybiBOVUxMOworCWlmIChzZXRzaXplKQorCQkqc2V0c2l6ZSA9IENQVV9BTExPQ19TSVpFKG5jcHVzKTsKKwlpZiAobmJpdHMpCisJCSpuYml0cyA9IGNwdXNldF9uYml0cyhDUFVfQUxMT0NfU0laRShuY3B1cykpOworCXJldHVybiBzZXQ7Cit9CisKK3ZvaWQgY3B1c2V0X2ZyZWUoY3B1X3NldF90ICpzZXQpCit7CisJQ1BVX0ZSRUUoc2V0KTsKK30KKworI2lmICFIQVZFX0RFQ0xfQ1BVX0FMTE9DCisvKiBQbGVhc2UsIHVzZSBDUFVfQ09VTlRfUygpIG1hY3JvLiBUaGlzIGlzIGZhbGxiYWNrICovCitpbnQgX19jcHVzZXRfY291bnRfcyhzaXplX3Qgc2V0c2l6ZSwgY29uc3QgY3B1X3NldF90ICpzZXQpCit7CisJaW50IHMgPSAwOworCWNvbnN0IF9fY3B1X21hc2sgKnAgPSBzZXQtPl9fYml0czsKKwljb25zdCBfX2NwdV9tYXNrICplbmQgPSAmc2V0LT5fX2JpdHNbc2V0c2l6ZSAvIHNpemVvZiAoX19jcHVfbWFzayldOworCisJd2hpbGUgKHAgPCBlbmQpIHsKKwkJX19jcHVfbWFzayBsID0gKnArKzsKKworCQlpZiAobCA9PSAwKQorCQkJY29udGludWU7CisjIGlmIExPTkdfQklUID4gMzIKKwkJbCA9IChsICYgMHg1NTU1NTU1NTU1NTU1NTU1dWwpICsgKChsID4+IDEpICYgMHg1NTU1NTU1NTU1NTU1NTU1dWwpOworCQlsID0gKGwgJiAweDMzMzMzMzMzMzMzMzMzMzN1bCkgKyAoKGwgPj4gMikgJiAweDMzMzMzMzMzMzMzMzMzMzN1bCk7CisJCWwgPSAobCAmIDB4MGYwZjBmMGYwZjBmMGYwZnVsKSArICgobCA+PiA0KSAmIDB4MGYwZjBmMGYwZjBmMGYwZnVsKTsKKwkJbCA9IChsICYgMHgwMGZmMDBmZjAwZmYwMGZmdWwpICsgKChsID4+IDgpICYgMHgwMGZmMDBmZjAwZmYwMGZmdWwpOworCQlsID0gKGwgJiAweDAwMDBmZmZmMDAwMGZmZmZ1bCkgKyAoKGwgPj4gMTYpICYgMHgwMDAwZmZmZjAwMDBmZmZmdWwpOworCQlsID0gKGwgJiAweDAwMDAwMDAwZmZmZmZmZmZ1bCkgKyAoKGwgPj4gMzIpICYgMHgwMDAwMDAwMGZmZmZmZmZmdWwpOworIyBlbHNlCisJCWwgPSAobCAmIDB4NTU1NTU1NTV1bCkgKyAoKGwgPj4gMSkgJiAweDU1NTU1NTU1dWwpOworCQlsID0gKGwgJiAweDMzMzMzMzMzdWwpICsgKChsID4+IDIpICYgMHgzMzMzMzMzM3VsKTsKKwkJbCA9IChsICYgMHgwZjBmMGYwZnVsKSArICgobCA+PiA0KSAmIDB4MGYwZjBmMGZ1bCk7CisJCWwgPSAobCAmIDB4MDBmZjAwZmZ1bCkgKyAoKGwgPj4gOCkgJiAweDAwZmYwMGZmdWwpOworCQlsID0gKGwgJiAweDAwMDBmZmZmdWwpICsgKChsID4+IDE2KSAmIDB4MDAwMGZmZmZ1bCk7CisjIGVuZGlmCisJCXMgKz0gbDsKKwl9CisJcmV0dXJuIHM7Cit9CisjZW5kaWYKKworLyoKKyAqIFJldHVybnMgaHVtYW4gcmVhZGFibGUgcmVwcmVzZW50YXRpb24gb2YgdGhlIGNwdXNldC4gVGhlIG91dHB1dCBmb3JtYXQgaXMKKyAqIGEgbGlzdCBvZiBDUFVzIHdpdGggcmFuZ2VzIChmb3IgZXhhbXBsZSwgIjAsMSwzLTkiKS4KKyAqLworY2hhciAqY3B1bGlzdF9jcmVhdGUoY2hhciAqc3RyLCBzaXplX3QgbGVuLAorCQkJY3B1X3NldF90ICpzZXQsIHNpemVfdCBzZXRzaXplKQoreworCXNpemVfdCBpOworCWNoYXIgKnB0ciA9IHN0cjsKKwlpbnQgZW50cnlfbWFkZSA9IDA7CisJc2l6ZV90IG1heCA9IGNwdXNldF9uYml0cyhzZXRzaXplKTsKKworCWZvciAoaSA9IDA7IGkgPCBtYXg7IGkrKykgeworCQlpZiAoQ1BVX0lTU0VUX1MoaSwgc2V0c2l6ZSwgc2V0KSkgeworCQkJaW50IHJsZW47CisJCQlzaXplX3QgaiwgcnVuID0gMDsKKwkJCWVudHJ5X21hZGUgPSAxOworCQkJZm9yIChqID0gaSArIDE7IGogPCBtYXg7IGorKykgeworCQkJCWlmIChDUFVfSVNTRVRfUyhqLCBzZXRzaXplLCBzZXQpKQorCQkJCQlydW4rKzsKKwkJCQllbHNlCisJCQkJCWJyZWFrOworCQkJfQorCQkJaWYgKCFydW4pCisJCQkJcmxlbiA9IHNucHJpbnRmKHB0ciwgbGVuLCAiJXp1LCIsIGkpOworCQkJZWxzZSBpZiAocnVuID09IDEpIHsKKwkJCQlybGVuID0gc25wcmludGYocHRyLCBsZW4sICIlenUsJXp1LCIsIGksIGkgKyAxKTsKKwkJCQlpKys7CisJCQl9IGVsc2UgeworCQkJCXJsZW4gPSBzbnByaW50ZihwdHIsIGxlbiwgIiV6dS0lenUsIiwgaSwgaSArIHJ1bik7CisJCQkJaSArPSBydW47CisJCQl9CisJCQlpZiAocmxlbiA8IDAgfHwgKHNpemVfdCkgcmxlbiA+PSBsZW4pCisJCQkJcmV0dXJuIE5VTEw7CisJCQlwdHIgKz0gcmxlbjsKKwkJCWxlbiAtPSBybGVuOworCQl9CisJfQorCXB0ciAtPSBlbnRyeV9tYWRlOworCSpwdHIgPSAnXDAnOworCisJcmV0dXJuIHN0cjsKK30KKworLyoKKyAqIFJldHVybnMgc3RyaW5nIHdpdGggQ1BVIG1hc2suCisgKi8KK2NoYXIgKmNwdW1hc2tfY3JlYXRlKGNoYXIgKnN0ciwgc2l6ZV90IGxlbiwKKwkJCWNwdV9zZXRfdCAqc2V0LCBzaXplX3Qgc2V0c2l6ZSkKK3sKKwljaGFyICpwdHIgPSBzdHI7CisJY2hhciAqcmV0ID0gTlVMTDsKKwlpbnQgY3B1OworCisJZm9yIChjcHUgPSBjcHVzZXRfbmJpdHMoc2V0c2l6ZSkgLSA0OyBjcHUgPj0gMDsgY3B1IC09IDQpIHsKKwkJY2hhciB2YWwgPSAwOworCisJCWlmIChsZW4gPT0gKHNpemVfdCkgKHB0ciAtIHN0cikpCisJCQlicmVhazsKKworCQlpZiAoQ1BVX0lTU0VUX1MoY3B1LCBzZXRzaXplLCBzZXQpKQorCQkJdmFsIHw9IDE7CisJCWlmIChDUFVfSVNTRVRfUyhjcHUgKyAxLCBzZXRzaXplLCBzZXQpKQorCQkJdmFsIHw9IDI7CisJCWlmIChDUFVfSVNTRVRfUyhjcHUgKyAyLCBzZXRzaXplLCBzZXQpKQorCQkJdmFsIHw9IDQ7CisJCWlmIChDUFVfSVNTRVRfUyhjcHUgKyAzLCBzZXRzaXplLCBzZXQpKQorCQkJdmFsIHw9IDg7CisKKwkJaWYgKCFyZXQgJiYgdmFsKQorCQkJcmV0ID0gcHRyOworCQkqcHRyKysgPSB2YWxfdG9fY2hhcih2YWwpOworCX0KKwkqcHRyID0gJ1wwJzsKKwlyZXR1cm4gcmV0ID8gcmV0IDogcHRyIC0gMTsKK30KKworLyoKKyAqIFBhcnNlcyBzdHJpbmcgd2l0aCBDUFVzIG1hc2suCisgKi8KK2ludCBjcHVtYXNrX3BhcnNlKGNvbnN0IGNoYXIgKnN0ciwgY3B1X3NldF90ICpzZXQsIHNpemVfdCBzZXRzaXplKQoreworCWludCBsZW4gPSBzdHJsZW4oc3RyKTsKKwljb25zdCBjaGFyICpwdHIgPSBzdHIgKyBsZW4gLSAxOworCWludCBjcHUgPSAwOworCisJLyogc2tpcCAweCwgaXQncyBhbGwgaGV4IGFueXdheSAqLworCWlmIChsZW4gPiAxICYmICFtZW1jbXAoc3RyLCAiMHgiLCAyTCkpCisJCXN0ciArPSAyOworCisJQ1BVX1pFUk9fUyhzZXRzaXplLCBzZXQpOworCisJd2hpbGUgKHB0ciA+PSBzdHIpIHsKKwkJY2hhciB2YWw7CisKKwkJLyogY3B1IG1hc2tzIGluIC9zeXMgdXNlcyBjb21tYSBhcyBhIHNlcGFyYXRvciAqLworCQlpZiAoKnB0ciA9PSAnLCcpCisJCQlwdHItLTsKKworCQl2YWwgPSBjaGFyX3RvX3ZhbCgqcHRyKTsKKwkJaWYgKHZhbCA9PSAoY2hhcikgLTEpCisJCQlyZXR1cm4gLTE7CisJCWlmICh2YWwgJiAxKQorCQkJQ1BVX1NFVF9TKGNwdSwgc2V0c2l6ZSwgc2V0KTsKKwkJaWYgKHZhbCAmIDIpCisJCQlDUFVfU0VUX1MoY3B1ICsgMSwgc2V0c2l6ZSwgc2V0KTsKKwkJaWYgKHZhbCAmIDQpCisJCQlDUFVfU0VUX1MoY3B1ICsgMiwgc2V0c2l6ZSwgc2V0KTsKKwkJaWYgKHZhbCAmIDgpCisJCQlDUFVfU0VUX1MoY3B1ICsgMywgc2V0c2l6ZSwgc2V0KTsKKwkJbGVuLS07CisJCXB0ci0tOworCQljcHUgKz0gNDsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFBhcnNlcyBzdHJpbmcgd2l0aCBsaXN0IG9mIENQVSByYW5nZXMuCisgKiBSZXR1cm5zIDAgb24gc3VjY2Vzcy4KKyAqIFJldHVybnMgMSBvbiBlcnJvci4KKyAqIFJldHVybnMgMiBpZiBmYWlsIGlzIHNldCBhbmQgYSBjcHUgbnVtYmVyIHBhc3NlZCBpbiB0aGUgbGlzdCBkb2Vzbid0IGZpdAorICogaW50byB0aGUgY3B1X3NldC4gSWYgZmFpbCBpcyBub3Qgc2V0IGNwdSBudW1iZXJzIHRoYXQgZG8gbm90IGZpdCBhcmUKKyAqIGlnbm9yZWQgYW5kIDAgaXMgcmV0dXJuZWQgaW5zdGVhZC4KKyAqLworaW50IGNwdWxpc3RfcGFyc2UoY29uc3QgY2hhciAqc3RyLCBjcHVfc2V0X3QgKnNldCwgc2l6ZV90IHNldHNpemUsIGludCBmYWlsKQoreworCXNpemVfdCBtYXggPSBjcHVzZXRfbmJpdHMoc2V0c2l6ZSk7CisJY29uc3QgY2hhciAqcCwgKnE7CisJaW50IHIgPSAwOworCisJcSA9IHN0cjsKKwlDUFVfWkVST19TKHNldHNpemUsIHNldCk7CisKKwl3aGlsZSAocCA9IHEsIHEgPSBuZXh0dG9rZW4ocSwgJywnKSwgcCkgeworCQl1bnNpZ25lZCBpbnQgYTsJLyogYmVnaW5uaW5nIG9mIHJhbmdlICovCisJCXVuc2lnbmVkIGludCBiOwkvKiBlbmQgb2YgcmFuZ2UgKi8KKwkJdW5zaWduZWQgaW50IHM7CS8qIHN0cmlkZSAqLworCQljb25zdCBjaGFyICpjMSwgKmMyOworCQljaGFyIGM7CisKKwkJaWYgKChyID0gc3NjYW5mKHAsICIldSVjIiwgJmEsICZjKSkgPCAxKQorCQkJcmV0dXJuIDE7CisJCWIgPSBhOworCQlzID0gMTsKKworCQljMSA9IG5leHR0b2tlbihwLCAnLScpOworCQljMiA9IG5leHR0b2tlbihwLCAnLCcpOworCQlpZiAoYzEgIT0gTlVMTCAmJiAoYzIgPT0gTlVMTCB8fCBjMSA8IGMyKSkgeworCQkJaWYgKChyID0gc3NjYW5mKGMxLCAiJXUlYyIsICZiLCAmYykpIDwgMSkKKwkJCQlyZXR1cm4gMTsKKwkJCWMxID0gbmV4dHRva2VuKGMxLCAnOicpOworCQkJaWYgKGMxICE9IE5VTEwgJiYgKGMyID09IE5VTEwgfHwgYzEgPCBjMikpIHsKKwkJCQlpZiAoKHIgPSBzc2NhbmYoYzEsICIldSVjIiwgJnMsICZjKSkgPCAxKQorCQkJCQlyZXR1cm4gMTsKKwkJCQlpZiAocyA9PSAwKQorCQkJCQlyZXR1cm4gMTsKKwkJCX0KKwkJfQorCisJCWlmICghKGEgPD0gYikpCisJCQlyZXR1cm4gMTsKKwkJd2hpbGUgKGEgPD0gYikgeworCQkJaWYgKGZhaWwgJiYgKGEgPj0gbWF4KSkKKwkJCQlyZXR1cm4gMjsKKwkJCUNQVV9TRVRfUyhhLCBzZXRzaXplLCBzZXQpOworCQkJYSArPSBzOworCQl9CisJfQorCisJaWYgKHIgPT0gMikKKwkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU0KKworI2luY2x1ZGUgPGdldG9wdC5oPgorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNwdV9zZXRfdCAqc2V0OworCXNpemVfdCBzZXRzaXplLCBidWZsZW4sIG5iaXRzOworCWNoYXIgKmJ1ZiwgKm1hc2sgPSBOVUxMLCAqcmFuZ2UgPSBOVUxMOworCWludCBuY3B1cyA9IDIwNDgsIHJjLCBjOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkgICAgeyAibmNwdXMiLCAxLCAwLCAnbicgfSwKKwkgICAgeyAibWFzayIsICAxLCAwLCAnbScgfSwKKwkgICAgeyAicmFuZ2UiLCAxLCAwLCAncicgfSwKKwkgICAgeyBOVUxMLCAgICAwLCAwLCAwIH0KKwl9OworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIm46bTpyOiIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKwkJc3dpdGNoKGMpIHsKKwkJY2FzZSAnbic6CisJCQluY3B1cyA9IGF0b2kob3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICdtJzoKKwkJCW1hc2sgPSBzdHJkdXAob3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICdyJzoKKwkJCXJhbmdlID0gc3RyZHVwKG9wdGFyZyk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWdvdG8gdXNhZ2VfZXJyOworCQl9CisJfQorCisJaWYgKCFtYXNrICYmICFyYW5nZSkKKwkJZ290byB1c2FnZV9lcnI7CisKKwlzZXQgPSBjcHVzZXRfYWxsb2MobmNwdXMsICZzZXRzaXplLCAmbmJpdHMpOworCWlmICghc2V0KQorCQllcnIoRVhJVF9GQUlMVVJFLCAiZmFpbGVkIHRvIGFsbG9jYXRlIGNwdSBzZXQiKTsKKworCS8qCisJZnByaW50ZihzdGRlcnIsICJuY3B1czogJWQsIGNwdXNldCBiaXRzOiAlemQsIGNwdXNldCBieXRlczogJXpkXG4iLAorCQkJbmNwdXMsIG5iaXRzLCBzZXRzaXplKTsKKwkqLworCisJYnVmbGVuID0gNyAqIG5iaXRzOworCWJ1ZiA9IG1hbGxvYyhidWZsZW4pOworCWlmICghYnVmKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiZmFpbGVkIHRvIGFsbG9jYXRlIGNwdSBzZXQgYnVmZmVyIik7CisKKwlpZiAobWFzaykKKwkJcmMgPSBjcHVtYXNrX3BhcnNlKG1hc2ssIHNldCwgc2V0c2l6ZSk7CisJZWxzZQorCQlyYyA9IGNwdWxpc3RfcGFyc2UocmFuZ2UsIHNldCwgc2V0c2l6ZSwgMCk7CisKKwlpZiAocmMpCisJCWVycngoRVhJVF9GQUlMVVJFLCAiZmFpbGVkIHRvIHBhcnNlIHN0cmluZzogJXMiLCBtYXNrID8gOiByYW5nZSk7CisKKwlwcmludGYoIiUtMTVzID0gJTE1cyAiLCBtYXNrID8gOiByYW5nZSwKKwkJCQljcHVtYXNrX2NyZWF0ZShidWYsIGJ1Zmxlbiwgc2V0LCBzZXRzaXplKSk7CisJcHJpbnRmKCJbJXNdXG4iLCBjcHVsaXN0X2NyZWF0ZShidWYsIGJ1Zmxlbiwgc2V0LCBzZXRzaXplKSk7CisKKwlmcmVlKGJ1Zik7CisJZnJlZShtYXNrKTsKKwlmcmVlKHJhbmdlKTsKKwljcHVzZXRfZnJlZShzZXQpOworCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwordXNhZ2VfZXJyOgorCWZwcmludGYoc3RkZXJyLAorCQkidXNhZ2U6ICVzIFstLW5jcHVzIDxudW0+XSAtLW1hc2sgPG1hc2s+IHwgLS1yYW5nZSA8bGlzdD4iLAorCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisJZXhpdChFWElUX0ZBSUxVUkUpOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9saWIvY3JjMzIuYyBiL2xpYi9jcmMzMi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyNDY5M2QKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvY3JjMzIuYwpAQCAtMCwwICsxLDE0MiBAQAorLyoKKyAqICBDT1BZUklHSFQgKEMpIDE5ODYgR2FyeSBTLiBCcm93bi4gIFlvdSBtYXkgdXNlIHRoaXMgcHJvZ3JhbSwgb3IKKyAqICBjb2RlIG9yIHRhYmxlcyBleHRyYWN0ZWQgZnJvbSBpdCwgYXMgZGVzaXJlZCB3aXRob3V0IHJlc3RyaWN0aW9uLgorICoKKyAqICBGaXJzdCwgdGhlIHBvbHlub21pYWwgaXRzZWxmIGFuZCBpdHMgdGFibGUgb2YgZmVlZGJhY2sgdGVybXMuICBUaGUKKyAqICBwb2x5bm9taWFsIGlzCisgKiAgWF4zMitYXjI2K1heMjMrWF4yMitYXjE2K1heMTIrWF4xMStYXjEwK1heOCtYXjcrWF41K1heNCtYXjIrWF4xK1heMAorICoKKyAqICBOb3RlIHRoYXQgd2UgdGFrZSBpdCAiYmFja3dhcmRzIiBhbmQgcHV0IHRoZSBoaWdoZXN0LW9yZGVyIHRlcm0gaW4KKyAqICB0aGUgbG93ZXN0LW9yZGVyIGJpdC4gIFRoZSBYXjMyIHRlcm0gaXMgImltcGxpZWQiOyB0aGUgTFNCIGlzIHRoZQorICogIFheMzEgdGVybSwgZXRjLiAgVGhlIFheMCB0ZXJtICh1c3VhbGx5IHNob3duIGFzICIrMSIpIHJlc3VsdHMgaW4KKyAqICB0aGUgTVNCIGJlaW5nIDEuCisgKgorICogIE5vdGUgdGhhdCB0aGUgdXN1YWwgaGFyZHdhcmUgc2hpZnQgcmVnaXN0ZXIgaW1wbGVtZW50YXRpb24sIHdoaWNoCisgKiAgaXMgd2hhdCB3ZSdyZSB1c2luZyAod2UncmUgbWVyZWx5IG9wdGltaXppbmcgaXQgYnkgZG9pbmcgZWlnaHQtYml0CisgKiAgY2h1bmtzIGF0IGEgdGltZSkgc2hpZnRzIGJpdHMgaW50byB0aGUgbG93ZXN0LW9yZGVyIHRlcm0uICBJbiBvdXIKKyAqICBpbXBsZW1lbnRhdGlvbiwgdGhhdCBtZWFucyBzaGlmdGluZyB0b3dhcmRzIHRoZSByaWdodC4gIFdoeSBkbyB3ZQorICogIGRvIGl0IHRoaXMgd2F5PyAgQmVjYXVzZSB0aGUgY2FsY3VsYXRlZCBDUkMgbXVzdCBiZSB0cmFuc21pdHRlZCBpbgorICogIG9yZGVyIGZyb20gaGlnaGVzdC1vcmRlciB0ZXJtIHRvIGxvd2VzdC1vcmRlciB0ZXJtLiAgVUFSVHMgdHJhbnNtaXQKKyAqICBjaGFyYWN0ZXJzIGluIG9yZGVyIGZyb20gTFNCIHRvIE1TQi4gIEJ5IHN0b3JpbmcgdGhlIENSQyB0aGlzIHdheSwKKyAqICB3ZSBoYW5kIGl0IHRvIHRoZSBVQVJUIGluIHRoZSBvcmRlciBsb3ctYnl0ZSB0byBoaWdoLWJ5dGU7IHRoZSBVQVJUCisgKiAgc2VuZHMgZWFjaCBsb3ctYml0IHRvIGhpZ2gtYml0OyBhbmQgdGhlIHJlc3VsdCBpcyB0cmFuc21pc3Npb24gYml0CisgKiAgYnkgYml0IGZyb20gaGlnaGVzdC0gdG8gbG93ZXN0LW9yZGVyIHRlcm0gd2l0aG91dCByZXF1aXJpbmcgYW55IGJpdAorICogIHNodWZmbGluZyBvbiBvdXIgcGFydC4gIFJlY2VwdGlvbiB3b3JrcyBzaW1pbGFybHkuCisgKgorICogIFRoZSBmZWVkYmFjayB0ZXJtcyB0YWJsZSBjb25zaXN0cyBvZiAyNTYsIDMyLWJpdCBlbnRyaWVzLiAgTm90ZXMKKyAqCisgKiAgICAgIFRoZSB0YWJsZSBjYW4gYmUgZ2VuZXJhdGVkIGF0IHJ1bnRpbWUgaWYgZGVzaXJlZDsgY29kZSB0byBkbyBzbworICogICAgICBpcyBzaG93biBsYXRlci4gIEl0IG1pZ2h0IG5vdCBiZSBvYnZpb3VzLCBidXQgdGhlIGZlZWRiYWNrCisgKiAgICAgIHRlcm1zIHNpbXBseSByZXByZXNlbnQgdGhlIHJlc3VsdHMgb2YgZWlnaHQgc2hpZnQveG9yIG9wZXJhLQorICogICAgICB0aW9ucyBmb3IgYWxsIGNvbWJpbmF0aW9ucyBvZiBkYXRhIGFuZCBDUkMgcmVnaXN0ZXIgdmFsdWVzLgorICoKKyAqICAgICAgVGhlIHZhbHVlcyBtdXN0IGJlIHJpZ2h0LXNoaWZ0ZWQgYnkgZWlnaHQgYml0cyBieSB0aGUgInVwZGNyYyIKKyAqICAgICAgbG9naWM7IHRoZSBzaGlmdCBtdXN0IGJlIHVuc2lnbmVkIChicmluZyBpbiB6ZXJvZXMpLiAgT24gc29tZQorICogICAgICBoYXJkd2FyZSB5b3UgY291bGQgcHJvYmFibHkgb3B0aW1pemUgdGhlIHNoaWZ0IGluIGFzc2VtYmxlciBieQorICogICAgICB1c2luZyBieXRlLXN3YXAgaW5zdHJ1Y3Rpb25zLgorICogICAgICBwb2x5bm9taWFsICRlZGI4ODMyMAorICoKKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKworI2luY2x1ZGUgImNyYzMyLmgiCisKKworc3RhdGljIGNvbnN0IHVpbnQzMl90IGNyYzMyX3RhYltdID0geworCTB4MDAwMDAwMDBMLCAweDc3MDczMDk2TCwgMHhlZTBlNjEyY0wsIDB4OTkwOTUxYmFMLCAweDA3NmRjNDE5TCwKKwkweDcwNmFmNDhmTCwgMHhlOTYzYTUzNUwsIDB4OWU2NDk1YTNMLCAweDBlZGI4ODMyTCwgMHg3OWRjYjhhNEwsCisJMHhlMGQ1ZTkxZUwsIDB4OTdkMmQ5ODhMLCAweDA5YjY0YzJiTCwgMHg3ZWIxN2NiZEwsIDB4ZTdiODJkMDdMLAorCTB4OTBiZjFkOTFMLCAweDFkYjcxMDY0TCwgMHg2YWIwMjBmMkwsIDB4ZjNiOTcxNDhMLCAweDg0YmU0MWRlTCwKKwkweDFhZGFkNDdkTCwgMHg2ZGRkZTRlYkwsIDB4ZjRkNGI1NTFMLCAweDgzZDM4NWM3TCwgMHgxMzZjOTg1NkwsCisJMHg2NDZiYThjMEwsIDB4ZmQ2MmY5N2FMLCAweDhhNjVjOWVjTCwgMHgxNDAxNWM0ZkwsIDB4NjMwNjZjZDlMLAorCTB4ZmEwZjNkNjNMLCAweDhkMDgwZGY1TCwgMHgzYjZlMjBjOEwsIDB4NGM2OTEwNWVMLCAweGQ1NjA0MWU0TCwKKwkweGEyNjc3MTcyTCwgMHgzYzAzZTRkMUwsIDB4NGIwNGQ0NDdMLCAweGQyMGQ4NWZkTCwgMHhhNTBhYjU2YkwsCisJMHgzNWI1YThmYUwsIDB4NDJiMjk4NmNMLCAweGRiYmJjOWQ2TCwgMHhhY2JjZjk0MEwsIDB4MzJkODZjZTNMLAorCTB4NDVkZjVjNzVMLCAweGRjZDYwZGNmTCwgMHhhYmQxM2Q1OUwsIDB4MjZkOTMwYWNMLCAweDUxZGUwMDNhTCwKKwkweGM4ZDc1MTgwTCwgMHhiZmQwNjExNkwsIDB4MjFiNGY0YjVMLCAweDU2YjNjNDIzTCwgMHhjZmJhOTU5OUwsCisJMHhiOGJkYTUwZkwsIDB4MjgwMmI4OWVMLCAweDVmMDU4ODA4TCwgMHhjNjBjZDliMkwsIDB4YjEwYmU5MjRMLAorCTB4MmY2ZjdjODdMLCAweDU4Njg0YzExTCwgMHhjMTYxMWRhYkwsIDB4YjY2NjJkM2RMLCAweDc2ZGM0MTkwTCwKKwkweDAxZGI3MTA2TCwgMHg5OGQyMjBiY0wsIDB4ZWZkNTEwMmFMLCAweDcxYjE4NTg5TCwgMHgwNmI2YjUxZkwsCisJMHg5ZmJmZTRhNUwsIDB4ZThiOGQ0MzNMLCAweDc4MDdjOWEyTCwgMHgwZjAwZjkzNEwsIDB4OTYwOWE4OGVMLAorCTB4ZTEwZTk4MThMLCAweDdmNmEwZGJiTCwgMHgwODZkM2QyZEwsIDB4OTE2NDZjOTdMLCAweGU2NjM1YzAxTCwKKwkweDZiNmI1MWY0TCwgMHgxYzZjNjE2MkwsIDB4ODU2NTMwZDhMLCAweGYyNjIwMDRlTCwgMHg2YzA2OTVlZEwsCisJMHgxYjAxYTU3YkwsIDB4ODIwOGY0YzFMLCAweGY1MGZjNDU3TCwgMHg2NWIwZDljNkwsIDB4MTJiN2U5NTBMLAorCTB4OGJiZWI4ZWFMLCAweGZjYjk4ODdjTCwgMHg2MmRkMWRkZkwsIDB4MTVkYTJkNDlMLCAweDhjZDM3Y2YzTCwKKwkweGZiZDQ0YzY1TCwgMHg0ZGIyNjE1OEwsIDB4M2FiNTUxY2VMLCAweGEzYmMwMDc0TCwgMHhkNGJiMzBlMkwsCisJMHg0YWRmYTU0MUwsIDB4M2RkODk1ZDdMLCAweGE0ZDFjNDZkTCwgMHhkM2Q2ZjRmYkwsIDB4NDM2OWU5NmFMLAorCTB4MzQ2ZWQ5ZmNMLCAweGFkNjc4ODQ2TCwgMHhkYTYwYjhkMEwsIDB4NDQwNDJkNzNMLCAweDMzMDMxZGU1TCwKKwkweGFhMGE0YzVmTCwgMHhkZDBkN2NjOUwsIDB4NTAwNTcxM2NMLCAweDI3MDI0MWFhTCwgMHhiZTBiMTAxMEwsCisJMHhjOTBjMjA4NkwsIDB4NTc2OGI1MjVMLCAweDIwNmY4NWIzTCwgMHhiOTY2ZDQwOUwsIDB4Y2U2MWU0OWZMLAorCTB4NWVkZWY5MGVMLCAweDI5ZDljOTk4TCwgMHhiMGQwOTgyMkwsIDB4YzdkN2E4YjRMLCAweDU5YjMzZDE3TCwKKwkweDJlYjQwZDgxTCwgMHhiN2JkNWMzYkwsIDB4YzBiYTZjYWRMLCAweGVkYjg4MzIwTCwgMHg5YWJmYjNiNkwsCisJMHgwM2I2ZTIwY0wsIDB4NzRiMWQyOWFMLCAweGVhZDU0NzM5TCwgMHg5ZGQyNzdhZkwsIDB4MDRkYjI2MTVMLAorCTB4NzNkYzE2ODNMLCAweGUzNjMwYjEyTCwgMHg5NDY0M2I4NEwsIDB4MGQ2ZDZhM2VMLCAweDdhNmE1YWE4TCwKKwkweGU0MGVjZjBiTCwgMHg5MzA5ZmY5ZEwsIDB4MGEwMGFlMjdMLCAweDdkMDc5ZWIxTCwgMHhmMDBmOTM0NEwsCisJMHg4NzA4YTNkMkwsIDB4MWUwMWYyNjhMLCAweDY5MDZjMmZlTCwgMHhmNzYyNTc1ZEwsIDB4ODA2NTY3Y2JMLAorCTB4MTk2YzM2NzFMLCAweDZlNmIwNmU3TCwgMHhmZWQ0MWI3NkwsIDB4ODlkMzJiZTBMLCAweDEwZGE3YTVhTCwKKwkweDY3ZGQ0YWNjTCwgMHhmOWI5ZGY2ZkwsIDB4OGViZWVmZjlMLCAweDE3YjdiZTQzTCwgMHg2MGIwOGVkNUwsCisJMHhkNmQ2YTNlOEwsIDB4YTFkMTkzN2VMLCAweDM4ZDhjMmM0TCwgMHg0ZmRmZjI1MkwsIDB4ZDFiYjY3ZjFMLAorCTB4YTZiYzU3NjdMLCAweDNmYjUwNmRkTCwgMHg0OGIyMzY0YkwsIDB4ZDgwZDJiZGFMLCAweGFmMGExYjRjTCwKKwkweDM2MDM0YWY2TCwgMHg0MTA0N2E2MEwsIDB4ZGY2MGVmYzNMLCAweGE4NjdkZjU1TCwgMHgzMTZlOGVlZkwsCisJMHg0NjY5YmU3OUwsIDB4Y2I2MWIzOGNMLCAweGJjNjY4MzFhTCwgMHgyNTZmZDJhMEwsIDB4NTI2OGUyMzZMLAorCTB4Y2MwYzc3OTVMLCAweGJiMGI0NzAzTCwgMHgyMjAyMTZiOUwsIDB4NTUwNTI2MmZMLCAweGM1YmEzYmJlTCwKKwkweGIyYmQwYjI4TCwgMHgyYmI0NWE5MkwsIDB4NWNiMzZhMDRMLCAweGMyZDdmZmE3TCwgMHhiNWQwY2YzMUwsCisJMHgyY2Q5OWU4YkwsIDB4NWJkZWFlMWRMLCAweDliNjRjMmIwTCwgMHhlYzYzZjIyNkwsIDB4NzU2YWEzOWNMLAorCTB4MDI2ZDkzMGFMLCAweDljMDkwNmE5TCwgMHhlYjBlMzYzZkwsIDB4NzIwNzY3ODVMLCAweDA1MDA1NzEzTCwKKwkweDk1YmY0YTgyTCwgMHhlMmI4N2ExNEwsIDB4N2JiMTJiYWVMLCAweDBjYjYxYjM4TCwgMHg5MmQyOGU5YkwsCisJMHhlNWQ1YmUwZEwsIDB4N2NkY2VmYjdMLCAweDBiZGJkZjIxTCwgMHg4NmQzZDJkNEwsIDB4ZjFkNGUyNDJMLAorCTB4NjhkZGIzZjhMLCAweDFmZGE4MzZlTCwgMHg4MWJlMTZjZEwsIDB4ZjZiOTI2NWJMLCAweDZmYjA3N2UxTCwKKwkweDE4Yjc0Nzc3TCwgMHg4ODA4NWFlNkwsIDB4ZmYwZjZhNzBMLCAweDY2MDYzYmNhTCwgMHgxMTAxMGI1Y0wsCisJMHg4ZjY1OWVmZkwsIDB4Zjg2MmFlNjlMLCAweDYxNmJmZmQzTCwgMHgxNjZjY2Y0NUwsIDB4YTAwYWUyNzhMLAorCTB4ZDcwZGQyZWVMLCAweDRlMDQ4MzU0TCwgMHgzOTAzYjNjMkwsIDB4YTc2NzI2NjFMLCAweGQwNjAxNmY3TCwKKwkweDQ5Njk0NzRkTCwgMHgzZTZlNzdkYkwsIDB4YWVkMTZhNGFMLCAweGQ5ZDY1YWRjTCwgMHg0MGRmMGI2NkwsCisJMHgzN2Q4M2JmMEwsIDB4YTliY2FlNTNMLCAweGRlYmI5ZWM1TCwgMHg0N2IyY2Y3ZkwsIDB4MzBiNWZmZTlMLAorCTB4YmRiZGYyMWNMLCAweGNhYmFjMjhhTCwgMHg1M2IzOTMzMEwsIDB4MjRiNGEzYTZMLCAweGJhZDAzNjA1TCwKKwkweGNkZDcwNjkzTCwgMHg1NGRlNTcyOUwsIDB4MjNkOTY3YmZMLCAweGIzNjY3YTJlTCwgMHhjNDYxNGFiOEwsCisJMHg1ZDY4MWIwMkwsIDB4MmE2ZjJiOTRMLCAweGI0MGJiZTM3TCwgMHhjMzBjOGVhMUwsIDB4NWEwNWRmMWJMLAorCTB4MmQwMmVmOGRMCit9OworCitzdGF0aWMgaW5saW5lIHVpbnQzMl90IGNyYzMyX2FkZF9jaGFyKHVpbnQzMl90IGNyYywgdW5zaWduZWQgY2hhciBjKQoreworCXJldHVybiBjcmMzMl90YWJbKGNyYyBeIGMpICYgMHhmZl0gXiAoY3JjID4+IDgpOworfQorCisvKgorICogVGhpcyBhIGdlbmVyaWMgY3JjMzIoKSBmdW5jdGlvbiwgaXQgdGFrZXMgc2VlZCBhcyBhbiBhcmd1bWVudCwKKyAqIGFuZCBkb2VzIF9fbm90X18geG9yIGF0IHRoZSBlbmQuIFRoZW4gaW5kaXZpZHVhbCB1c2VycyBjYW4gZG8KKyAqIHdoYXRldmVyIHRoZXkgbmVlZC4KKyAqLwordWludDMyX3QgdWxfY3JjMzIodWludDMyX3Qgc2VlZCwgY29uc3QgdW5zaWduZWQgY2hhciAqYnVmLCBzaXplX3QgbGVuKQoreworCXVpbnQzMl90IGNyYyA9IHNlZWQ7CisJY29uc3QgdW5zaWduZWQgY2hhciAqcCA9IGJ1ZjsKKworCXdoaWxlIChsZW4pIHsKKwkJY3JjID0gY3JjMzJfYWRkX2NoYXIoY3JjLCAqcCsrKTsKKwkJbGVuLS07CisJfQorCisJcmV0dXJuIGNyYzsKK30KKwordWludDMyX3QgdWxfY3JjMzJfZXhjbHVkZV9vZmZzZXQodWludDMyX3Qgc2VlZCwgY29uc3QgdW5zaWduZWQgY2hhciAqYnVmLCBzaXplX3QgbGVuLAorCQkJICAgICAgc2l6ZV90IGV4Y2x1ZGVfb2ZmLCBzaXplX3QgZXhjbHVkZV9sZW4pCit7CisJdWludDMyX3QgY3JjID0gc2VlZDsKKwljb25zdCB1bnNpZ25lZCBjaGFyICpwID0gYnVmOworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKSB7CisJCXVuc2lnbmVkIGNoYXIgeCA9ICpwKys7CisKKwkJaWYgKGkgPj0gZXhjbHVkZV9vZmYgJiYgaSA8IGV4Y2x1ZGVfb2ZmICsgZXhjbHVkZV9sZW4pCisJCQl4ID0gMDsKKworCQljcmMgPSBjcmMzMl9hZGRfY2hhcihjcmMsIHgpOworCX0KKworCXJldHVybiBjcmM7Cit9CisKZGlmZiAtLWdpdCBhL2xpYi9lbnYuYyBiL2xpYi9lbnYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNzllMGUwCi0tLSAvZGV2L251bGwKKysrIGIvbGliL2Vudi5jCkBAIC0wLDAgKzEsMTEwIEBACisvKgorICogU2VjdXJpdHkgY2hlY2tzIG9mIGVudmlyb25tZW50CisgKiBBZGRlZCBmcm9tIHNoYWRvdy11dGlscyBwYWNrYWdlCisgKiBieSBBcmthZGl1c3ogTWnFm2tpZXdpY3ogPG1pc2lla0BwbGQuT1JHLlBMPgorICoKKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpZmRlZiBIQVZFX1NZU19QUkNUTF9ICisjaW5jbHVkZSA8c3lzL3ByY3RsLmg+CisjZWxzZQorI2RlZmluZSBQUl9HRVRfRFVNUEFCTEUgMworI2VuZGlmCisjaWYgKCFkZWZpbmVkKEhBVkVfUFJDVEwpICYmIGRlZmluZWQobGludXgpKQorI2luY2x1ZGUgPHN5cy9zeXNjYWxsLmg+CisjZW5kaWYKKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKworI2luY2x1ZGUgImVudi5oIgorCisjaWZuZGVmIEhBVkVfRU5WSVJPTl9ERUNMCitleHRlcm4gY2hhciAqKmVudmlyb247CisjZW5kaWYKKworc3RhdGljIGNoYXIgKiBjb25zdCBmb3JiaWRbXSA9IHsKKyAgICAgICAgIl9STERfPSIsCisgICAgICAgICJCQVNIX0VOVj0iLCAgICAvKiBHTlUgY3JlZXBpbmcgZmVhdHVyaXNtIHN0cmlrZXMgYWdhaW4uLi4gKi8KKyAgICAgICAgIkVOVj0iLAorICAgICAgICAiSE9NRT0iLAorICAgICAgICAiSUZTPSIsCisgICAgICAgICJLUkJfQ09ORj0iLAorICAgICAgICAiTERfIiwgICAgICAgICAgLyogYW55dGhpbmcgd2l0aCB0aGUgTERfIHByZWZpeCAqLworICAgICAgICAiTElCUEFUSD0iLAorICAgICAgICAiTUFJTD0iLAorICAgICAgICAiTkxTUEFUSD0iLAorICAgICAgICAiUEFUSD0iLAorICAgICAgICAiU0hFTEw9IiwKKyAgICAgICAgIlNITElCX1BBVEg9IiwKKyAgICAgICAgKGNoYXIgKikgMAorfTsKKworLyogdGhlc2UgYXJlIGFsbG93ZWQsIGJ1dCB3aXRoIG5vIHNsYXNoZXMgaW5zaWRlCisgICAodG8gd29yayBhcm91bmQgc2VjdXJpdHkgcHJvYmxlbXMgaW4gR05VIGdldHRleHQpICovCitzdGF0aWMgY2hhciAqIGNvbnN0IG5vc2xhc2hbXSA9IHsKKyAgICAgICAgIkxBTkc9IiwKKyAgICAgICAgIkxBTkdVQUdFPSIsCisgICAgICAgICJMQ18iLCAgICAgICAgICAvKiBhbnl0aGluZyB3aXRoIHRoZSBMQ18gcHJlZml4ICovCisgICAgICAgIChjaGFyICopIDAKK307CisKK3ZvaWQKK3Nhbml0aXplX2Vudih2b2lkKQoreworICAgICAgICBjaGFyICoqZW52cCA9IGVudmlyb247CisgICAgICAgIGNoYXIgKiBjb25zdCAqYmFkOworICAgICAgICBjaGFyICoqY3VyOworICAgICAgICBjaGFyICoqbW92ZTsKKworICAgICAgICBmb3IgKGN1ciA9IGVudnA7ICpjdXI7IGN1cisrKSB7CisgICAgICAgICAgICAgICAgZm9yIChiYWQgPSBmb3JiaWQ7ICpiYWQ7IGJhZCsrKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RybmNtcCgqY3VyLCAqYmFkLCBzdHJsZW4oKmJhZCkpID09IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChtb3ZlID0gY3VyOyAqbW92ZTsgbW92ZSsrKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICptb3ZlID0gKihtb3ZlICsgMSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1ci0tOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBmb3IgKGN1ciA9IGVudnA7ICpjdXI7IGN1cisrKSB7CisgICAgICAgICAgICAgICAgZm9yIChiYWQgPSBub3NsYXNoOyAqYmFkOyBiYWQrKykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0cm5jbXAoKmN1ciwgKmJhZCwgc3RybGVuKCpiYWQpKSAhPSAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghc3RyY2hyKCpjdXIsICcvJykpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOyAgLyogT0sgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobW92ZSA9IGN1cjsgKm1vdmU7IG1vdmUrKykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm1vdmUgPSAqKG1vdmUgKyAxKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGN1ci0tOworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICB9Cit9CisKKworY2hhciAqc2FmZV9nZXRlbnYoY29uc3QgY2hhciAqYXJnKQoreworCXVpZF90IHJ1aWQgPSBnZXR1aWQoKTsKKworCWlmIChydWlkICE9IDAgfHwgKHJ1aWQgIT0gZ2V0ZXVpZCgpKSB8fCAoZ2V0Z2lkKCkgIT0gZ2V0ZWdpZCgpKSkKKwkJcmV0dXJuIE5VTEw7CisjaWZkZWYgSEFWRV9QUkNUTAorCWlmIChwcmN0bChQUl9HRVRfRFVNUEFCTEUsIDAsIDAsIDAsIDApID09IDApCisJCXJldHVybiBOVUxMOworI2Vsc2UKKyNpZiAoZGVmaW5lZChsaW51eCkgJiYgZGVmaW5lZChTWVNfcHJjdGwpKQorCWlmIChzeXNjYWxsKFNZU19wcmN0bCwgUFJfR0VUX0RVTVBBQkxFLCAwLCAwLCAwLCAwKSA9PSAwKQorCQlyZXR1cm4gTlVMTDsKKyNlbmRpZgorI2VuZGlmCisjaWZkZWYgSEFWRV9TRUNVUkVfR0VURU5WCityZXR1cm4gc2VjdXJlX2dldGVudihhcmcpOworI2VsaWYgSEFWRV9fX1NFQ1VSRV9HRVRFTlYKKwlyZXR1cm4gX19zZWN1cmVfZ2V0ZW52KGFyZyk7CisjZWxzZQorCXJldHVybiBnZXRlbnYoYXJnKTsKKyNlbmRpZgorfQpkaWZmIC0tZ2l0IGEvbGliL2V4ZWNfc2hlbGwuYyBiL2xpYi9leGVjX3NoZWxsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTczNzRiZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9leGVjX3NoZWxsLmMKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIGV4ZWNfc2hlbGwoKSAtIGxhdW5jaCBhIHNoZWxsLCBlbHNlIGV4aXQhCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQorICogRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24pIGFueQorICogbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisgKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgKiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqLworCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8bGliZ2VuLmg+CisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisKKyNpbmNsdWRlICJleGVjX3NoZWxsLmgiCisKKyNkZWZpbmUgREVGQVVMVF9TSEVMTCAiL2Jpbi9zaCIKKwordm9pZCBleGVjX3NoZWxsKHZvaWQpCit7CisJY29uc3QgY2hhciAqc2hlbGwgPSBnZXRlbnYoIlNIRUxMIik7CisJY2hhciAqc2hlbGxjID0geHN0cmR1cChzaGVsbCk7CisJY29uc3QgY2hhciAqc2hlbGxfYmFzZW5hbWU7CisJY2hhciAqYXJnMDsKKworCWlmICghc2hlbGwpCisJCXNoZWxsID0gREVGQVVMVF9TSEVMTDsKKworCXNoZWxsX2Jhc2VuYW1lID0gYmFzZW5hbWUoc2hlbGxjKTsKKwlhcmcwID0geG1hbGxvYyhzdHJsZW4oc2hlbGxfYmFzZW5hbWUpICsgMik7CisJYXJnMFswXSA9ICctJzsKKwlzdHJjcHkoYXJnMCArIDEsIHNoZWxsX2Jhc2VuYW1lKTsKKworCWV4ZWNsKHNoZWxsLCBhcmcwLCBOVUxMKTsKKwllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIpLCBzaGVsbCk7Cit9CmRpZmYgLS1naXQgYS9saWIvZmlsZXV0aWxzLmMgYi9saWIvZmlsZXV0aWxzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTVjYzkyNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9maWxldXRpbHMuYwpAQCAtMCwwICsxLDE4NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1pIEtlcm9sYSA8a2Vyb2xhc2FAaWtpLmZpPgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNpbmNsdWRlIDxzeXMvcmVzb3VyY2UuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJmaWxldXRpbHMuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKworaW50IG1rc3RlbXBfY2xvZXhlYyhjaGFyICp0ZW1wbGF0ZSkKK3sKKyNpZmRlZiBIQVZFX01LT1NURU1QCisJcmV0dXJuIG1rb3N0ZW1wKHRlbXBsYXRlLCBPX1JEV1J8T19DUkVBVHxPX0VYQ0x8T19DTE9FWEVDKTsKKyNlbHNlCisJaW50IGZkLCBvbGRfZmxhZ3MsIGVycm5vX3NhdmU7CisKKwlmZCA9IG1rc3RlbXAodGVtcGxhdGUpOworCWlmIChmZCA8IDApCisJCXJldHVybiBmZDsKKworCW9sZF9mbGFncyA9IGZjbnRsKGZkLCBGX0dFVEZELCAwKTsKKwlpZiAob2xkX2ZsYWdzIDwgMCkKKwkJZ290byB1bndpbmQ7CisJaWYgKGZjbnRsKGZkLCBGX1NFVEZELCBvbGRfZmxhZ3MgfCBPX0NMT0VYRUMpIDwgMCkKKwkJZ290byB1bndpbmQ7CisKKwlyZXR1cm4gZmQ7CisKK3Vud2luZDoKKwllcnJub19zYXZlID0gZXJybm87CisJdW5saW5rKHRlbXBsYXRlKTsKKwljbG9zZShmZCk7CisJZXJybm8gPSBlcnJub19zYXZlOworCisJcmV0dXJuIC0xOworI2VuZGlmCit9CisKKy8qIENyZWF0ZSBvcGVuIHRlbXBvcmFyeSBmaWxlIGluIHNhZmUgd2F5LiAgUGxlYXNlIG5vdGljZSB0aGF0IHRoZQorICogZmlsZSBwZXJtaXNzaW9ucyBhcmUgLXJ3LS0tLS0tLSBieSBkZWZhdWx0LiAqLworaW50IHhta3N0ZW1wKGNoYXIgKip0bXBuYW1lLCBjb25zdCBjaGFyICpkaXIsIGNvbnN0IGNoYXIgKnByZWZpeCkKK3sKKwljaGFyICpsb2NhbHRtcDsKKwljb25zdCBjaGFyICp0bXBlbnY7CisJbW9kZV90IG9sZF9tb2RlOworCWludCBmZCwgcmM7CisKKwkvKiBTb21lIHVzZSBjYXNlcyBtdXN0IGJlIGNhcGFibGUgb2YgYmVpbmcgbW92ZWQgYXRvbWljYWxseQorCSAqIHdpdGggcmVuYW1lKDIpLCB3aGljaCBpcyB0aGUgcmVhc29uIHdoeSBkaXIgaXMgaGVyZS4gICovCisJdG1wZW52ID0gZGlyID8gZGlyIDogZ2V0ZW52KCJUTVBESVIiKTsKKwlpZiAoIXRtcGVudikKKwkJdG1wZW52ID0gX1BBVEhfVE1QOworCisJcmMgPSBhc3ByaW50ZigmbG9jYWx0bXAsICIlcy8lcy5YWFhYWFgiLCB0bXBlbnYsIHByZWZpeCk7CisJaWYgKHJjIDwgMCkKKwkJcmV0dXJuIC0xOworCisJb2xkX21vZGUgPSB1bWFzaygwNzcpOworCWZkID0gbWtzdGVtcF9jbG9leGVjKGxvY2FsdG1wKTsKKwl1bWFzayhvbGRfbW9kZSk7CisJaWYgKGZkID09IC0xKSB7CisJCWZyZWUobG9jYWx0bXApOworCQlsb2NhbHRtcCA9IE5VTEw7CisJfQorCSp0bXBuYW1lID0gbG9jYWx0bXA7CisJcmV0dXJuIGZkOworfQorCitpbnQgZHVwX2ZkX2Nsb2V4ZWMoaW50IG9sZGZkLCBpbnQgbG93ZmQpCit7CisJaW50IGZkLCBmbGFncywgZXJybm9fc2F2ZTsKKworI2lmZGVmIEZfRFVQRkRfQ0xPRVhFQworCWZkID0gZmNudGwob2xkZmQsIEZfRFVQRkRfQ0xPRVhFQywgbG93ZmQpOworCWlmIChmZCA+PSAwKQorCQlyZXR1cm4gZmQ7CisjZW5kaWYKKworCWZkID0gZHVwKG9sZGZkKTsKKwlpZiAoZmQgPCAwKQorCQlyZXR1cm4gZmQ7CisKKwlmbGFncyA9IGZjbnRsKGZkLCBGX0dFVEZEKTsKKwlpZiAoZmxhZ3MgPCAwKQorCQlnb3RvIHVud2luZDsKKwlpZiAoZmNudGwoZmQsIEZfU0VURkQsIGZsYWdzIHwgRkRfQ0xPRVhFQykgPCAwKQorCQlnb3RvIHVud2luZDsKKworCXJldHVybiBmZDsKKwordW53aW5kOgorCWVycm5vX3NhdmUgPSBlcnJubzsKKwljbG9zZShmZCk7CisJZXJybm8gPSBlcnJub19zYXZlOworCisJcmV0dXJuIC0xOworfQorCisvKgorICogcG9ydGFibGUgZ2V0ZHRhYmxlc2l6ZSgpCisgKi8KK2ludCBnZXRfZmRfdGFic2l6ZSh2b2lkKQoreworCWludCBtOworCisjaWYgZGVmaW5lZChIQVZFX0dFVERUQUJMRVNJWkUpCisJbSA9IGdldGR0YWJsZXNpemUoKTsKKyNlbGlmIGRlZmluZWQoSEFWRV9HRVRSTElNSVQpICYmIGRlZmluZWQoUkxJTUlUX05PRklMRSkKKwlzdHJ1Y3QgcmxpbWl0IHJsOworCisJZ2V0cmxpbWl0KFJMSU1JVF9OT0ZJTEUsICZybCk7CisJbSA9IHJsLnJsaW1fY3VyOworI2VsaWYgZGVmaW5lZChIQVZFX1NZU0NPTkYpICYmIGRlZmluZWQoX1NDX09QRU5fTUFYKQorCW0gPSBzeXNjb25mKF9TQ19PUEVOX01BWCk7CisjZWxzZQorCW0gPSBPUEVOX01BWDsKKyNlbmRpZgorCXJldHVybiBtOworfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNCitpbnQgbWFpbih2b2lkKQoreworCUZJTEUgKmY7CisJY2hhciAqdG1wbmFtZTsKKwlmID0geGZta3N0ZW1wKCZ0bXBuYW1lLCBOVUxMLCAidGVzdCIpOworCXVubGluayh0bXBuYW1lKTsKKwlmcmVlKHRtcG5hbWUpOworCWZjbG9zZShmKTsKKwlyZXR1cm4gRVhJVF9GQUlMVVJFOworfQorI2VuZGlmCisKKworaW50IG1rZGlyX3AoY29uc3QgY2hhciAqcGF0aCwgbW9kZV90IG1vZGUpCit7CisJY2hhciAqcCwgKmRpcjsKKwlpbnQgcmMgPSAwOworCisJaWYgKCFwYXRoIHx8ICEqcGF0aCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlkaXIgPSBwID0gc3RyZHVwKHBhdGgpOworCWlmICghZGlyKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWlmICgqcCA9PSAnLycpCisJCXArKzsKKworCXdoaWxlIChwICYmICpwKSB7CisJCWNoYXIgKmUgPSBzdHJjaHIocCwgJy8nKTsKKwkJaWYgKGUpCisJCQkqZSA9ICdcMCc7CisJCWlmICgqcCkgeworCQkJcmMgPSBta2RpcihkaXIsIG1vZGUpOworCQkJaWYgKHJjICYmIGVycm5vICE9IEVFWElTVCkKKwkJCQlicmVhazsKKwkJCXJjID0gMDsKKwkJfQorCQlpZiAoIWUpCisJCQlicmVhazsKKwkJKmUgPSAnLyc7CisJCXAgPSBlICsgMTsKKwl9CisKKwlmcmVlKGRpcik7CisJcmV0dXJuIHJjOworfQorCisvKiByZXR1cm5zIGJhc2VuYW1lIGFuZCBrZWVwcyBkaXJuYW1lIGluIHRoZSBAcGF0aCwgaWYgQHBhdGggaXMgIi8iIChyb290KQorICogdGhlbiByZXR1cm5zIGVtcHR5IHN0cmluZyAqLworY2hhciAqc3RyaXBvZmZfbGFzdF9jb21wb25lbnQoY2hhciAqcGF0aCkKK3sKKwljaGFyICpwID0gcGF0aCA/IHN0cnJjaHIocGF0aCwgJy8nKSA6IE5VTEw7CisKKwlpZiAoIXApCisJCXJldHVybiBOVUxMOworCSpwID0gJ1wwJzsKKwlyZXR1cm4gcCArIDE7Cit9CmRpZmYgLS1naXQgYS9saWIvaWRjYWNoZS5jIGIvbGliL2lkY2FjaGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzM1OGI4Ci0tLSAvZGV2L251bGwKKysrIGIvbGliL2lkY2FjaGUuYwpAQCAtMCwwICsxLDExNyBAQAorCisjaW5jbHVkZSA8d2NoYXIuaD4KKyNpbmNsdWRlIDxwd2QuaD4KKyNpbmNsdWRlIDxncnAuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJpZGNhY2hlLmgiCisKKyNpZm5kZWYgTE9HSU5fTkFNRV9NQVgKKyNkZWZpbmUgTE9HSU5fTkFNRV9NQVggMjU2CisjZW5kaWYKKworc3RydWN0IGlkZW50cnkgKmdldF9pZChzdHJ1Y3QgaWRjYWNoZSAqaWMsIHVuc2lnbmVkIGxvbmcgaW50IGlkKQoreworCXN0cnVjdCBpZGVudHJ5ICplbnQ7CisKKwlpZiAoIWljKQorCQlyZXR1cm4gTlVMTDsKKworCWZvciAoZW50ID0gaWMtPmVudDsgZW50OyBlbnQgPSBlbnQtPm5leHQpIHsKKwkJaWYgKGVudC0+aWQgPT0gaWQpCisJCQlyZXR1cm4gZW50OworCX0KKworCXJldHVybiBOVUxMOworfQorCitzdHJ1Y3QgaWRjYWNoZSAqbmV3X2lkY2FjaGUoKQoreworCXJldHVybiBjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBpZGNhY2hlKSk7Cit9CisKK3ZvaWQgZnJlZV9pZGNhY2hlKHN0cnVjdCBpZGNhY2hlICppYykKK3sKKwlzdHJ1Y3QgaWRlbnRyeSAqZW50ID0gaWMtPmVudDsKKworCXdoaWxlIChlbnQpIHsKKwkJc3RydWN0IGlkZW50cnkgKm5leHQgPSBlbnQtPm5leHQ7CisJCWZyZWUoZW50LT5uYW1lKTsKKwkJZnJlZShlbnQpOworCQllbnQgPSBuZXh0OworCX0KKworCWZyZWUoaWMpOworfQorCitzdGF0aWMgdm9pZCBhZGRfaWQoc3RydWN0IGlkY2FjaGUgKmljLCBjaGFyICpuYW1lLCB1bnNpZ25lZCBsb25nIGludCBpZCkKK3sKKwlzdHJ1Y3QgaWRlbnRyeSAqZW50LCAqeDsKKwlpbnQgdyA9IDA7CisKKwllbnQgPSBjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBpZGVudHJ5KSk7CisJaWYgKCFlbnQpCisJCXJldHVybjsKKwllbnQtPmlkID0gaWQ7CisKKwlpZiAobmFtZSkgeworI2lmZGVmIEhBVkVfV0lERUNIQVIKKwkJd2NoYXJfdCB3Y1tMT0dJTl9OQU1FX01BWCArIDFdOworCisJCWlmIChtYnN0b3djcyh3YywgbmFtZSwgTE9HSU5fTkFNRV9NQVgpID4gMCkgeworCQkJd2NbTE9HSU5fTkFNRV9NQVhdID0gJ1wwJzsKKwkJCXcgPSB3Y3N3aWR0aCh3YywgTE9HSU5fTkFNRV9NQVgpOworCQl9CisJCWVsc2UKKyNlbmRpZgorCQkJdyA9IHN0cmxlbihuYW1lKTsKKwl9CisKKwkvKiBub3RlLCB3ZSBpZ25vcmUgbmFtZXMgd2l0aCBub24tcHJpbnRhYmxlIHdpZGVjaGFycyAqLworCWlmICh3ID4gMCkgeworCQllbnQtPm5hbWUgPSBzdHJkdXAobmFtZSk7CisJCWlmICghZW50LT5uYW1lKSB7CisJCQlmcmVlKGVudCk7CisJCQlyZXR1cm47CisJCX0KKwl9IGVsc2UgeworCQlpZiAoYXNwcmludGYoJmVudC0+bmFtZSwgIiVsdSIsIGlkKSA8IDApIHsKKwkJCWZyZWUoZW50KTsKKwkJCXJldHVybjsKKwkJfQorCX0KKworCWZvciAoeCA9IGljLT5lbnQ7IHggJiYgeC0+bmV4dDsgeCA9IHgtPm5leHQpOworCisJaWYgKHgpCisJCXgtPm5leHQgPSBlbnQ7CisJZWxzZQorCQlpYy0+ZW50ID0gZW50OworCisJaWYgKHcgPD0gMCkKKwkJdyA9IGVudC0+bmFtZSA/IHN0cmxlbihlbnQtPm5hbWUpIDogMDsKKwlpYy0+d2lkdGggPSBpYy0+d2lkdGggPCB3ID8gdyA6IGljLT53aWR0aDsKKwlyZXR1cm47Cit9CisKK3ZvaWQgYWRkX3VpZChzdHJ1Y3QgaWRjYWNoZSAqY2FjaGUsIHVuc2lnbmVkIGxvbmcgaW50IGlkKQoreworCXN0cnVjdCBpZGVudHJ5ICplbnQ9IGdldF9pZChjYWNoZSwgaWQpOworCisJaWYgKCFlbnQpIHsKKwkJc3RydWN0IHBhc3N3ZCAqcHcgPSBnZXRwd3VpZCgodWlkX3QpIGlkKTsKKwkJYWRkX2lkKGNhY2hlLCBwdyA/IHB3LT5wd19uYW1lIDogTlVMTCwgaWQpOworCX0KK30KKwordm9pZCBhZGRfZ2lkKHN0cnVjdCBpZGNhY2hlICpjYWNoZSwgdW5zaWduZWQgbG9uZyBpbnQgaWQpCit7CisJc3RydWN0IGlkZW50cnkgKmVudCA9IGdldF9pZChjYWNoZSwgaWQpOworCisJaWYgKCFlbnQpIHsKKwkJc3RydWN0IGdyb3VwICpnciA9IGdldGdyZ2lkKChnaWRfdCkgaWQpOworCQlhZGRfaWQoY2FjaGUsIGdyID8gZ3ItPmdyX25hbWUgOiBOVUxMLCBpZCk7CisJfQorfQorCmRpZmYgLS1naXQgYS9saWIvaXNtb3VudGVkLmMgYi9saWIvaXNtb3VudGVkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGQyZDM1NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9pc21vdW50ZWQuYwpAQCAtMCwwICsxLDM5NSBAQAorLyoKKyAqIGlzbW91bnRlZC5jIC0tLSBDaGVjayB0byBzZWUgaWYgdGhlIGZpbGVzeXN0ZW0gd2FzIG1vdW50ZWQKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTUsMTk5NiwxOTk3LDE5OTgsMTk5OSwyMDAwLDIwMDggVGhlb2RvcmUgVHMnby4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgUHVibGljCisgKiBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaWZkZWYgSEFWRV9NTlRFTlRfSAorI2luY2x1ZGUgPG1udGVudC5oPgorI2VuZGlmCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgorCisjaWZuZGVmIF9fbGludXhfXworIyBpZmRlZiBIQVZFX1NZU19VQ1JFRF9ICisjICBpbmNsdWRlIDxzeXMvdWNyZWQuaD4KKyMgZW5kaWYKKyMgaWZkZWYgSEFWRV9TWVNfTU9VTlRfSAorIyAgaW5jbHVkZSA8c3lzL21vdW50Lmg+CisjIGVuZGlmCisjZW5kaWYKKworI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgImlzbW91bnRlZC5oIgorI2luY2x1ZGUgImMuaCIKKyNpZmRlZiBfX2xpbnV4X18KKyMgaW5jbHVkZSAibG9vcGRldi5oIgorI2VuZGlmCisKKworCisjaWZkZWYgSEFWRV9NTlRFTlRfSAorLyoKKyAqIEhlbHBlciBmdW5jdGlvbiB3aGljaCBjaGVja3MgYSBmaWxlIGluIC9ldGMvbXRhYiBmb3JtYXQgdG8gc2VlIGlmIGEKKyAqIGZpbGVzeXN0ZW0gaXMgbW91bnRlZC4gIFJldHVybnMgYW4gZXJyb3IgaWYgdGhlIGZpbGUgZG9lc24ndCBleGlzdAorICogb3IgY2FuJ3QgYmUgb3BlbmVkLgorICovCitzdGF0aWMgaW50IGNoZWNrX21udGVudF9maWxlKGNvbnN0IGNoYXIgKm10YWJfZmlsZSwgY29uc3QgY2hhciAqZmlsZSwKKwkJCQkgICBpbnQgKm1vdW50X2ZsYWdzLCBjaGFyICptdHB0LCBpbnQgbXRsZW4pCit7CisJc3RydWN0IG1udGVudAkqbW50OworCXN0cnVjdCBzdGF0CXN0X2J1ZjsKKwlpbnQJCXJldHZhbCA9IDA7CisJZGV2X3QJCWZpbGVfZGV2PTAsIGZpbGVfcmRldj0wOworCWlub190CQlmaWxlX2lubz0wOworCUZJTEUJCSpmOworCWludAkJZmQ7CisKKwkqbW91bnRfZmxhZ3MgPSAwOworCWlmICgoZiA9IHNldG1udGVudCAobXRhYl9maWxlLCAiciIpKSA9PSBOVUxMKQorCQlyZXR1cm4gZXJybm87CisKKwlpZiAoc3RhdChmaWxlLCAmc3RfYnVmKSA9PSAwKSB7CisJCWlmIChTX0lTQkxLKHN0X2J1Zi5zdF9tb2RlKSkgeworI2lmbmRlZiBfX0dOVV9fIC8qIFRoZSBHTlUgaHVyZCBpcyBicm9rZW4gd2l0aCByZXNwZWN0IHRvIHN0YXQgZGV2aWNlcyAqLworCQkJZmlsZV9yZGV2ID0gc3RfYnVmLnN0X3JkZXY7CisjZW5kaWYJLyogX19HTlVfXyAqLworCQl9IGVsc2UgeworCQkJZmlsZV9kZXYgPSBzdF9idWYuc3RfZGV2OworCQkJZmlsZV9pbm8gPSBzdF9idWYuc3RfaW5vOworCQl9CisJfQorCisJd2hpbGUgKChtbnQgPSBnZXRtbnRlbnQgKGYpKSAhPSBOVUxMKSB7CisJCWlmIChtbnQtPm1udF9mc25hbWVbMF0gIT0gJy8nKQorCQkJY29udGludWU7CisJCWlmIChzdHJjbXAoZmlsZSwgbW50LT5tbnRfZnNuYW1lKSA9PSAwKQorCQkJYnJlYWs7CisJCWlmIChzdGF0KG1udC0+bW50X2ZzbmFtZSwgJnN0X2J1ZikgIT0gMCkKKwkJCWNvbnRpbnVlOworCisJCWlmIChTX0lTQkxLKHN0X2J1Zi5zdF9tb2RlKSkgeworI2lmbmRlZiBfX0dOVV9fCisJCQlpZiAoZmlsZV9yZGV2ICYmIGZpbGVfcmRldiA9PSBzdF9idWYuc3RfcmRldikKKwkJCQlicmVhazsKKyNpZmRlZiBfX2xpbnV4X18KKwkJCS8qIG1heWJlIHRoZSBmaWxlIGlzIGxvb3BkZXYgYmFja2luZyBmaWxlICovCisJCQlpZiAoZmlsZV9kZXYKKwkJCSAgICAmJiBtYWpvcihzdF9idWYuc3RfcmRldikgPT0gTE9PUERFVl9NQUpPUgorCQkJICAgICYmIGxvb3BkZXZfaXNfdXNlZChtbnQtPm1udF9mc25hbWUsIGZpbGUsIDAsIDAsIDApKQorCQkJCWJyZWFrOworI2VuZGlmIC8qIF9fbGludXhfXyAqLworI2VuZGlmCS8qIF9fR05VX18gKi8KKwkJfSBlbHNlIHsKKwkJCWlmIChmaWxlX2RldiAmJiAoKGZpbGVfZGV2ID09IHN0X2J1Zi5zdF9kZXYpICYmCisJCQkJCSAoZmlsZV9pbm8gPT0gc3RfYnVmLnN0X2lubykpKQorCQkJCWJyZWFrOworCQl9CisJfQorCisJaWYgKG1udCA9PSBOVUxMKSB7CisjaWZuZGVmIF9fR05VX18gLyogVGhlIEdOVSBodXJkIGlzIGJyb2tlbiB3aXRoIHJlc3BlY3QgdG8gc3RhdCBkZXZpY2VzICovCisJCS8qCisJCSAqIERvIGFuIGV4dHJhIGNoZWNrIHRvIHNlZSBpZiB0aGlzIGlzIHRoZSByb290IGRldmljZS4gIFdlCisJCSAqIGNhbid0IHRydXN0IC9ldGMvbXRhYiwgYW5kIC9wcm9jL21vdW50cyB3aWxsIG9ubHkgbGlzdAorCQkgKiAvZGV2L3Jvb3QgZm9yIHRoZSByb290IGZpbGVzeXN0ZW0uICBBcmdoLiAgSW5zdGVhZCB3ZQorCQkgKiBjaGVjayBpZiB0aGUgZ2l2ZW4gZGV2aWNlIGhhcyB0aGUgc2FtZSBtYWpvci9taW5vciBudW1iZXIKKwkJICogYXMgdGhlIGRldmljZSB0aGF0IHRoZSByb290IGRpcmVjdG9yeSBpcyBvbi4KKwkJICovCisJCWlmIChmaWxlX3JkZXYgJiYgc3RhdCgiLyIsICZzdF9idWYpID09IDAgJiYKKwkJICAgIHN0X2J1Zi5zdF9kZXYgPT0gZmlsZV9yZGV2KSB7CisJCQkqbW91bnRfZmxhZ3MgPSBNRl9NT1VOVEVEOworCQkJaWYgKG10cHQpCisJCQkJc3RybmNweShtdHB0LCAiLyIsIG10bGVuKTsKKwkJCWdvdG8gaXNfcm9vdDsKKwkJfQorI2VuZGlmCS8qIF9fR05VX18gKi8KKwkJZ290byBlcnJvdXQ7CisJfQorI2lmbmRlZiBfX0dOVV9fIC8qIFRoZSBHTlUgaHVyZCBpcyBkZWZpY2llbnQ7IHdoYXQgZWxzZSBpcyBuZXc/ICovCisJLyogVmFsaWRhdGUgdGhlIGVudHJ5IGluIGNhc2UgL2V0Yy9tdGFiIGlzIG91dCBvZiBkYXRlICovCisJLyoKKwkgKiBXZSBuZWVkIHRvIGJlIHBhcmFub2lkLCBiZWNhdXNlIHNvbWUgYnJva2VuIGRpc3RyaWJ1dGlvbnMKKwkgKiAocmVhZDogU2xhY2t3YXJlKSBkb24ndCBpbml0aWFsaXplIC9ldGMvbXRhYiBiZWZvcmUgY2hlY2tpbmcKKwkgKiBhbGwgb2YgdGhlIG5vbi1yb290IGZpbGVzeXN0ZW1zIG9uIHRoZSBkaXNrLgorCSAqLworCWlmIChzdGF0KG1udC0+bW50X2RpciwgJnN0X2J1ZikgPCAwKSB7CisJCXJldHZhbCA9IGVycm5vOworCQlpZiAocmV0dmFsID09IEVOT0VOVCkgeworI2lmZGVmIERFQlVHCisJCQlwcmludGYoIkJvZ3VzIGVudHJ5IGluICVzISAgKCVzIGRvZXMgbm90IGV4aXN0KVxuIiwKKwkJCSAgICAgICBtdGFiX2ZpbGUsIG1udC0+bW50X2Rpcik7CisjZW5kaWYgLyogREVCVUcgKi8KKwkJCXJldHZhbCA9IDA7CisJCX0KKwkJZ290byBlcnJvdXQ7CisJfQorCWlmIChmaWxlX3JkZXYgJiYgKHN0X2J1Zi5zdF9kZXYgIT0gZmlsZV9yZGV2KSkgeworI2lmZGVmIERFQlVHCisJCXByaW50ZigiQm9ndXMgZW50cnkgaW4gJXMhICAoJXMgbm90IG1vdW50ZWQgb24gJXMpXG4iLAorCQkgICAgICAgbXRhYl9maWxlLCBmaWxlLCBtbnQtPm1udF9kaXIpOworI2VuZGlmIC8qIERFQlVHICovCisJCWdvdG8gZXJyb3V0OworCX0KKyNlbmRpZiAvKiBfX0dOVV9fICovCisJKm1vdW50X2ZsYWdzID0gTUZfTU9VTlRFRDsKKworI2lmZGVmIE1OVE9QVF9STworCS8qIENoZWNrIHRvIHNlZSBpZiB0aGUgcm8gb3B0aW9uIGlzIHNldCAqLworCWlmIChoYXNtbnRvcHQobW50LCBNTlRPUFRfUk8pKQorCQkqbW91bnRfZmxhZ3MgfD0gTUZfUkVBRE9OTFk7CisjZW5kaWYKKworCWlmIChtdHB0KQorCQlzdHJuY3B5KG10cHQsIG1udC0+bW50X2RpciwgbXRsZW4pOworCS8qCisJICogQ2hlY2sgdG8gc2VlIGlmIHdlJ3JlIHJlZmVycmluZyB0byB0aGUgcm9vdCBmaWxlc3lzdGVtLgorCSAqIElmIHNvLCBkbyBhIG1hbnVhbCBjaGVjayB0byBzZWUgaWYgd2UgY2FuIG9wZW4gL2V0Yy9tdGFiCisJICogcmVhZC93cml0ZSwgc2luY2UgaWYgdGhlIHJvb3QgaXMgbW91bnRlZCByZWFkL29ubHksIHRoZQorCSAqIGNvbnRlbnRzIG9mIC9ldGMvbXRhYiBtYXkgbm90IGJlIGFjY3VyYXRlLgorCSAqLworCWlmICghc3RyY21wKG1udC0+bW50X2RpciwgIi8iKSkgeworaXNfcm9vdDoKKyNkZWZpbmUgVEVTVF9GSUxFICIvLmlzbW91bnQtdGVzdC1maWxlIgorCQkqbW91bnRfZmxhZ3MgfD0gTUZfSVNST09UOworCQlmZCA9IG9wZW4oVEVTVF9GSUxFLCBPX1JEV1J8T19DUkVBVHxPX0NMT0VYRUMsIDA2MDApOworCQlpZiAoZmQgPCAwKSB7CisJCQlpZiAoZXJybm8gPT0gRVJPRlMpCisJCQkJKm1vdW50X2ZsYWdzIHw9IE1GX1JFQURPTkxZOworCQl9IGVsc2UKKwkJCWNsb3NlKGZkKTsKKwkJKHZvaWQpIHVubGluayhURVNUX0ZJTEUpOworCX0KKwlyZXR2YWwgPSAwOworZXJyb3V0OgorCWVuZG1udGVudCAoZik7CisJcmV0dXJuIHJldHZhbDsKK30KKworc3RhdGljIGludCBjaGVja19tbnRlbnQoY29uc3QgY2hhciAqZmlsZSwgaW50ICptb3VudF9mbGFncywKKwkJCSAgICAgIGNoYXIgKm10cHQsIGludCBtdGxlbikKK3sKKwlpbnQJcmV0dmFsOworCisjaWZkZWYgREVCVUcKKwlyZXR2YWwgPSBjaGVja19tbnRlbnRfZmlsZSgiL3RtcC9tdGFiIiwgZmlsZSwgbW91bnRfZmxhZ3MsCisJCQkJICAgbXRwdCwgbXRsZW4pOworCWlmIChyZXR2YWwgPT0gMCkKKwkJcmV0dXJuIDA7CisjZW5kaWYgLyogREVCVUcgKi8KKyNpZmRlZiBfX2xpbnV4X18KKwlyZXR2YWwgPSBjaGVja19tbnRlbnRfZmlsZSgiL3Byb2MvbW91bnRzIiwgZmlsZSwgbW91bnRfZmxhZ3MsCisJCQkJICAgbXRwdCwgbXRsZW4pOworCWlmIChyZXR2YWwgPT0gMCAmJiAoKm1vdW50X2ZsYWdzICE9IDApKQorCQlyZXR1cm4gMDsKKwlpZiAoYWNjZXNzKCIvcHJvYy9tb3VudHMiLCBSX09LKSA9PSAwKSB7CisJCSptb3VudF9mbGFncyA9IDA7CisJCXJldHVybiByZXR2YWw7CisJfQorI2VuZGlmIC8qIF9fbGludXhfXyAqLworI2lmIGRlZmluZWQoTU9VTlRFRCkgfHwgZGVmaW5lZChfUEFUSF9NT1VOVEVEKQorI2lmbmRlZiBNT1VOVEVECisjZGVmaW5lIE1PVU5URUQgX1BBVEhfTU9VTlRFRAorI2VuZGlmIC8qIE1PVU5URUQgKi8KKwlyZXR2YWwgPSBjaGVja19tbnRlbnRfZmlsZShNT1VOVEVELCBmaWxlLCBtb3VudF9mbGFncywgbXRwdCwgbXRsZW4pOworCXJldHVybiByZXR2YWw7CisjZWxzZQorCSptb3VudF9mbGFncyA9IDA7CisJcmV0dXJuIDA7CisjZW5kaWYgLyogZGVmaW5lZChNT1VOVEVEKSB8fCBkZWZpbmVkKF9QQVRIX01PVU5URUQpICovCit9CisKKyNlbHNlCisjaWYgZGVmaW5lZChIQVZFX0dFVE1OVElORk8pCisKK3N0YXRpYyBpbnQgY2hlY2tfZ2V0bW50aW5mbyhjb25zdCBjaGFyICpmaWxlLCBpbnQgKm1vdW50X2ZsYWdzLAorCQkJCSAgY2hhciAqbXRwdCwgaW50IG10bGVuKQoreworCXN0cnVjdCBzdGF0ZnMgKm1wOworICAgICAgICBpbnQgICAgbGVuLCBuOworICAgICAgICBjb25zdCAgY2hhciAgICpzMTsKKwljaGFyCSpzMjsKKworICAgICAgICBuID0gZ2V0bW50aW5mbygmbXAsIE1OVF9OT1dBSVQpOworICAgICAgICBpZiAobiA9PSAwKQorCQlyZXR1cm4gZXJybm87CisKKyAgICAgICAgbGVuID0gc2l6ZW9mKF9QQVRIX0RFVikgLSAxOworICAgICAgICBzMSA9IGZpbGU7CisgICAgICAgIGlmIChzdHJuY21wKF9QQVRIX0RFViwgczEsIGxlbikgPT0gMCkKKyAgICAgICAgICAgICAgICBzMSArPSBsZW47CisKKwkqbW91bnRfZmxhZ3MgPSAwOworICAgICAgICB3aGlsZSAoLS1uID49IDApIHsKKyAgICAgICAgICAgICAgICBzMiA9IG1wLT5mX21udGZyb21uYW1lOworICAgICAgICAgICAgICAgIGlmIChzdHJuY21wKF9QQVRIX0RFViwgczIsIGxlbikgPT0gMCkgeworICAgICAgICAgICAgICAgICAgICAgICAgczIgKz0gbGVuIC0gMTsKKyAgICAgICAgICAgICAgICAgICAgICAgICpzMiA9ICdyJzsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKHN0cmNtcChzMSwgczIpID09IDAgfHwgc3RyY21wKHMxLCAmczJbMV0pID09IDApIHsKKwkJCSptb3VudF9mbGFncyA9IE1GX01PVU5URUQ7CisJCQlicmVhazsKKwkJfQorICAgICAgICAgICAgICAgICsrbXA7CisJfQorCWlmIChtdHB0KQorCQlzdHJuY3B5KG10cHQsIG1wLT5mX21udG9ubmFtZSwgbXRsZW4pOworCXJldHVybiAwOworfQorI2VuZGlmIC8qIEhBVkVfR0VUTU5USU5GTyAqLworI2VuZGlmIC8qIEhBVkVfTU5URU5UX0ggKi8KKworLyoKKyAqIENoZWNrIHRvIHNlZSBpZiB3ZSdyZSBkZWFsaW5nIHdpdGggdGhlIHN3YXAgZGV2aWNlLgorICovCitzdGF0aWMgaW50IGlzX3N3YXBfZGV2aWNlKGNvbnN0IGNoYXIgKmZpbGUpCit7CisJRklMRQkJKmY7CisJY2hhcgkJYnVmWzEwMjRdLCAqY3A7CisJZGV2X3QJCWZpbGVfZGV2OworCXN0cnVjdCBzdGF0CXN0X2J1ZjsKKwlpbnQJCXJldCA9IDA7CisKKwlmaWxlX2RldiA9IDA7CisjaWZuZGVmIF9fR05VX18gLyogVGhlIEdOVSBodXJkIGlzIGJyb2tlbiB3aXRoIHJlc3BlY3QgdG8gc3RhdCBkZXZpY2VzICovCisJaWYgKChzdGF0KGZpbGUsICZzdF9idWYpID09IDApICYmCisJICAgIFNfSVNCTEsoc3RfYnVmLnN0X21vZGUpKQorCQlmaWxlX2RldiA9IHN0X2J1Zi5zdF9yZGV2OworI2VuZGlmCS8qIF9fR05VX18gKi8KKworCWlmICghKGYgPSBmb3BlbigiL3Byb2Mvc3dhcHMiLCAiciIgVUxfQ0xPRVhFQ1NUUikpKQorCQlyZXR1cm4gMDsKKwkvKiBTa2lwIHRoZSBmaXJzdCBsaW5lICovCisJaWYgKCFmZ2V0cyhidWYsIHNpemVvZihidWYpLCBmKSkKKwkJZ290byBsZWF2ZTsKKwlpZiAoKmJ1ZiAmJiBzdHJuY21wKGJ1ZiwgIkZpbGVuYW1lXHQiLCA5KSkKKwkJLyogTGludXggPD0yLjYuMTkgY29udGFpbmVkIGEgYnVnIGluIHRoZSAvcHJvYy9zd2FwcworCQkgKiBjb2RlIHdoZXJlIHRoZSBoZWFkZXIgd291bGQgbm90IGJlIGRpc3BsYXllZAorCQkgKi8KKwkJZ290byB2YWxpZF9maXJzdF9saW5lOworCisJd2hpbGUgKGZnZXRzKGJ1Ziwgc2l6ZW9mKGJ1ZiksIGYpKSB7Cit2YWxpZF9maXJzdF9saW5lOgorCQlpZiAoKGNwID0gc3RyY2hyKGJ1ZiwgJyAnKSkgIT0gTlVMTCkKKwkJCSpjcCA9IDA7CisJCWlmICgoY3AgPSBzdHJjaHIoYnVmLCAnXHQnKSkgIT0gTlVMTCkKKwkJCSpjcCA9IDA7CisJCWlmIChzdHJjbXAoYnVmLCBmaWxlKSA9PSAwKSB7CisJCQlyZXQrKzsKKwkJCWJyZWFrOworCQl9CisjaWZuZGVmIF9fR05VX18KKwkJaWYgKGZpbGVfZGV2ICYmIChzdGF0KGJ1ZiwgJnN0X2J1ZikgPT0gMCkgJiYKKwkJICAgIFNfSVNCTEsoc3RfYnVmLnN0X21vZGUpICYmCisJCSAgICBmaWxlX2RldiA9PSBzdF9idWYuc3RfcmRldikgeworCQkJcmV0Kys7CisJCQlicmVhazsKKwkJfQorI2VuZGlmCS8qIF9fR05VX18gKi8KKwl9CisKK2xlYXZlOgorCWZjbG9zZShmKTsKKwlyZXR1cm4gcmV0OworfQorCisKKy8qCisgKiBjaGVja19tb3VudF9wb2ludCgpIGZpbGxzIGRldGVybWluZXMgaWYgdGhlIGRldmljZSBpcyBtb3VudGVkIG9yIG90aGVyd2lzZQorICogYnVzeSwgYW5kIGZpbGxzIGluIG1vdW50X2ZsYWdzIHdpdGggb25lIG9yIG1vcmUgb2YgdGhlIGZvbGxvd2luZyBmbGFnczoKKyAqIE1GX01PVU5URUQsIE1GX0lTUk9PVCwgTUZfUkVBRE9OTFksIE1GX1NXQVAsIGFuZCBNRl9CVVNZLiAgSWYgbXRwdCBpcworICogbm9uLU5VTEwsIHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIGRldmljZSBpcyBtb3VudGVkIGlzIGNvcGllZCB0byB3aGVyZSBtdHB0CisgKiBpcyBwb2ludGluZywgdXAgdG8gbXRsZW4gY2hhcmFjdGVycy4KKyAqLworI2lmZGVmIF9fVFVSQk9DX18KKyAjcHJhZ21hIGFyZ3N1c2VkCisjZW5kaWYKK2ludCBjaGVja19tb3VudF9wb2ludChjb25zdCBjaGFyICpkZXZpY2UsIGludCAqbW91bnRfZmxhZ3MsCisJCQkJICBjaGFyICptdHB0LCBpbnQgbXRsZW4pCit7CisJaW50CXJldHZhbCA9IDA7CisKKwlpZiAoaXNfc3dhcF9kZXZpY2UoZGV2aWNlKSkgeworCQkqbW91bnRfZmxhZ3MgPSBNRl9NT1VOVEVEIHwgTUZfU1dBUDsKKwkJaWYgKG10cHQgJiYgbXRsZW4pCisJCQlzdHJuY3B5KG10cHQsICJbU1dBUF0iLCBtdGxlbik7CisJfSBlbHNlIHsKKyNpZmRlZiBIQVZFX01OVEVOVF9ICisJCXJldHZhbCA9IGNoZWNrX21udGVudChkZXZpY2UsIG1vdW50X2ZsYWdzLCBtdHB0LCBtdGxlbik7CisjZWxzZQorI2lmZGVmIEhBVkVfR0VUTU5USU5GTworCQlyZXR2YWwgPSBjaGVja19nZXRtbnRpbmZvKGRldmljZSwgbW91bnRfZmxhZ3MsIG10cHQsIG10bGVuKTsKKyNlbHNlCisjaWZkZWYgX19HTlVDX18KKyAjd2FybmluZyAiQ2FuJ3QgdXNlIGdldG1udGVudCBvciBnZXRtbnRpbmZvIHRvIGNoZWNrIGZvciBtb3VudGVkIGZpbGVzeXN0ZW1zISIKKyNlbmRpZgorCQkqbW91bnRfZmxhZ3MgPSAwOworI2VuZGlmIC8qIEhBVkVfR0VUTU5USU5GTyAqLworI2VuZGlmIC8qIEhBVkVfTU5URU5UX0ggKi8KKwl9CisJaWYgKHJldHZhbCkKKwkJcmV0dXJuIHJldHZhbDsKKworI2lmZGVmIF9fbGludXhfXyAvKiBUaGlzIG9ubHkgd29ya3Mgb24gTGludXggMi42KyBzeXN0ZW1zICovCisJeworCQlzdHJ1Y3Qgc3RhdCBzdF9idWY7CisJCWludCBmZDsKKwkJaWYgKChzdGF0KGRldmljZSwgJnN0X2J1ZikgIT0gMCkgfHwKKwkJICAgICFTX0lTQkxLKHN0X2J1Zi5zdF9tb2RlKSkKKwkJCXJldHVybiAwOworCQlmZCA9IG9wZW4oZGV2aWNlLCBPX1JET05MWXxPX0VYQ0x8T19DTE9FWEVDKTsKKwkJaWYgKGZkIDwgMCkgeworCQkJaWYgKGVycm5vID09IEVCVVNZKQorCQkJCSptb3VudF9mbGFncyB8PSBNRl9CVVNZOworCQl9IGVsc2UKKwkJCWNsb3NlKGZkKTsKKwl9CisjZW5kaWYKKworCXJldHVybiAwOworfQorCitpbnQgaXNfbW91bnRlZChjb25zdCBjaGFyICpmaWxlKQoreworCWludAlyZXR2YWw7CisJaW50CW1vdW50X2ZsYWdzID0gMDsKKworCXJldHZhbCA9IGNoZWNrX21vdW50X3BvaW50KGZpbGUsICZtb3VudF9mbGFncywgTlVMTCwgMCk7CisJaWYgKHJldHZhbCkKKwkJcmV0dXJuIDA7CisJcmV0dXJuIG1vdW50X2ZsYWdzICYgTUZfTU9VTlRFRDsKK30KKworI2lmZGVmIFRFU1RfUFJPR1JBTQoraW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBmbGFncyA9IDA7CisJY2hhciBkZXZuYW1lW1BBVEhfTUFYXTsKKworCWlmIChhcmdjIDwgMikgeworCQlmcHJpbnRmKHN0ZGVyciwgIlVzYWdlOiAlcyBkZXZpY2VcbiIsIGFyZ3ZbMF0pOworCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCX0KKworCWlmIChjaGVja19tb3VudF9wb2ludChhcmd2WzFdLCAmZmxhZ3MsIGRldm5hbWUsIHNpemVvZihkZXZuYW1lKSkgPT0gMCAmJgorCSAgICAoZmxhZ3MgJiBNRl9NT1VOVEVEKSkgeworCQlpZiAoZmxhZ3MgJiBNRl9TV0FQKQorCQkJcHJpbnRmKCJ1c2VkIHN3YXAgZGV2aWNlXG4iKTsKKwkJZWxzZQorCQkJcHJpbnRmKCJtb3VudGVkIG9uICVzXG4iLCBkZXZuYW1lKTsKKwkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwl9CisKKwlwcmludGYoIm5vdCBtb3VudGVkXG4iKTsKKwlyZXR1cm4gRVhJVF9GQUlMVVJFOworfQorI2VuZGlmIC8qIERFQlVHICovCmRpZmYgLS1naXQgYS9saWIvbGFuZ2luZm8uYyBiL2xpYi9sYW5naW5mby5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhYTBhM2IKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvbGFuZ2luZm8uYwpAQCAtMCwwICsxLDEyMSBAQAorLyoKKyAqIFRoaXMgaXMgY2FsbGJhY2sgc29sdXRpb24gZm9yIHN5c3RlbXMgd2l0aG91dCBubF9sYW5naW5mbygpLCB0aGlzIGZ1bmN0aW9uCisgKiByZXR1cm5zIGhhcmRjb2RlZCBhbmQgb24gbG9jYWxlIHNldHRpbmcgaW5kZXBuZGVudCB2YWx1ZS4KKyAqCisgKiBTZWUgbGFuZ2luZm8uaCBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqLworI2luY2x1ZGUgIm5scy5oIgorCitjaGFyICpsYW5naW5mb19mYWxsYmFjayhubF9pdGVtIGl0ZW0pCit7CisJc3dpdGNoIChpdGVtKSB7CisJY2FzZSBDT0RFU0VUOgorCQlyZXR1cm4gIklTTy04ODU5LTEiOworCWNhc2UgVEhPVVNFUDoKKwkJcmV0dXJuICIsIjsKKwljYXNlIERfVF9GTVQ6CisJY2FzZSBFUkFfRF9UX0ZNVDoKKwkJcmV0dXJuICIlYSAlYiAlZSAlSDolTTolUyAlWSI7CisJY2FzZSBEX0ZNVDoKKwljYXNlIEVSQV9EX0ZNVDoKKwkJcmV0dXJuICIlbS8lZC8leSI7CisJY2FzZSBUX0ZNVDoKKwljYXNlIEVSQV9UX0ZNVDoKKwkJcmV0dXJuICIlSDolTTolUyI7CisJY2FzZSBUX0ZNVF9BTVBNOgorCQlyZXR1cm4gIiVJOiVNOiVTICVwIjsKKwljYXNlIEFNX1NUUjoKKwkJcmV0dXJuICJBTSI7CisJY2FzZSBQTV9TVFI6CisJCXJldHVybiAiUE0iOworCWNhc2UgREFZXzE6CisJCXJldHVybiAiU3VuZGF5IjsKKwljYXNlIERBWV8yOgorCQlyZXR1cm4gIk1vbmRheSI7CisJY2FzZSBEQVlfMzoKKwkJcmV0dXJuICJUdWVzZGF5IjsKKwljYXNlIERBWV80OgorCQlyZXR1cm4gIldlZG5lc2RheSI7CisJY2FzZSBEQVlfNToKKwkJcmV0dXJuICJUaHVyc2RheSI7CisJY2FzZSBEQVlfNjoKKwkJcmV0dXJuICJGcmlkYXkiOworCWNhc2UgREFZXzc6CisJCXJldHVybiAiU2F0dXJkYXkiOworCWNhc2UgQUJEQVlfMToKKwkJcmV0dXJuICJTdW4iOworCWNhc2UgQUJEQVlfMjoKKwkJcmV0dXJuICJNb24iOworCWNhc2UgQUJEQVlfMzoKKwkJcmV0dXJuICJUdWUiOworCWNhc2UgQUJEQVlfNDoKKwkJcmV0dXJuICJXZWQiOworCWNhc2UgQUJEQVlfNToKKwkJcmV0dXJuICJUaHUiOworCWNhc2UgQUJEQVlfNjoKKwkJcmV0dXJuICJGcmkiOworCWNhc2UgQUJEQVlfNzoKKwkJcmV0dXJuICJTYXQiOworCWNhc2UgTU9OXzE6CisJCXJldHVybiAiSmFudWFyeSI7CisJY2FzZSBNT05fMjoKKwkJcmV0dXJuICJGZWJydWFyeSI7CisJY2FzZSBNT05fMzoKKwkJcmV0dXJuICJNYXJjaCI7CisJY2FzZSBNT05fNDoKKwkJcmV0dXJuICJBcHJpbCI7CisJY2FzZSBNT05fNToKKwkJcmV0dXJuICJNYXkiOworCWNhc2UgTU9OXzY6CisJCXJldHVybiAiSnVuZSI7CisJY2FzZSBNT05fNzoKKwkJcmV0dXJuICJKdWx5IjsKKwljYXNlIE1PTl84OgorCQlyZXR1cm4gIkF1Z3VzdCI7CisJY2FzZSBNT05fOToKKwkJcmV0dXJuICJTZXB0ZW1iZXIiOworCWNhc2UgTU9OXzEwOgorCQlyZXR1cm4gIk9jdG9iZXIiOworCWNhc2UgTU9OXzExOgorCQlyZXR1cm4gIk5vdmVtYmVyIjsKKwljYXNlIE1PTl8xMjoKKwkJcmV0dXJuICJEZWNlbWJlciI7CisJY2FzZSBBQk1PTl8xOgorCQlyZXR1cm4gIkphbiI7CisJY2FzZSBBQk1PTl8yOgorCQlyZXR1cm4gIkZlYiI7CisJY2FzZSBBQk1PTl8zOgorCQlyZXR1cm4gIk1hciI7CisJY2FzZSBBQk1PTl80OgorCQlyZXR1cm4gIkFwciI7CisJY2FzZSBBQk1PTl81OgorCQlyZXR1cm4gIk1heSI7CisJY2FzZSBBQk1PTl82OgorCQlyZXR1cm4gIkp1biI7CisJY2FzZSBBQk1PTl83OgorCQlyZXR1cm4gIkp1bCI7CisJY2FzZSBBQk1PTl84OgorCQlyZXR1cm4gIkF1ZyI7CisJY2FzZSBBQk1PTl85OgorCQlyZXR1cm4gIlNlcCI7CisJY2FzZSBBQk1PTl8xMDoKKwkJcmV0dXJuICJPY3QiOworCWNhc2UgQUJNT05fMTE6CisJCXJldHVybiAiTm92IjsKKwljYXNlIEFCTU9OXzEyOgorCQlyZXR1cm4gIkRlYyI7CisJY2FzZSBBTFRfRElHSVRTOgorCQlyZXR1cm4gIlwwXDBcMFwwXDBcMFwwXDBcMFwwIjsKKwljYXNlIENSTkNZU1RSOgorCQlyZXR1cm4gIi0iOworCWNhc2UgWUVTRVhQUjoKKwkJcmV0dXJuICJeW3lZXSI7CisJY2FzZSBOT0VYUFI6CisJCXJldHVybiAiXltuTl0iOworCWRlZmF1bHQ6CisJCXJldHVybiAiIjsKKwl9Cit9CisKZGlmZiAtLWdpdCBhL2xpYi9saW51eF92ZXJzaW9uLmMgYi9saWIvbGludXhfdmVyc2lvbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3ZjNkOWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvbGludXhfdmVyc2lvbi5jCkBAIC0wLDAgKzEsMjQgQEAKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibGludXhfdmVyc2lvbi5oIgorCitpbnQgZ2V0X2xpbnV4X3ZlcnNpb24gKHZvaWQpCit7CisJc3RhdGljIGludCBrdmVyID0gLTE7CisJc3RydWN0IHV0c25hbWUgdXRzOworCWludCB4ID0gMCwgeSA9IDAsIHogPSAwOworCWludCBuOworCisJaWYgKGt2ZXIgIT0gLTEpCisJCXJldHVybiBrdmVyOworCWlmICh1bmFtZSgmdXRzKSkKKwkJcmV0dXJuIGt2ZXIgPSAwOworCisJbiA9IHNzY2FuZih1dHMucmVsZWFzZSwgIiVkLiVkLiVkIiwgJngsICZ5LCAmeik7CisJaWYgKG4gPCAxIHx8IG4gPiAzKQorCQlyZXR1cm4ga3ZlciA9IDA7CisKKwlyZXR1cm4ga3ZlciA9IEtFUk5FTF9WRVJTSU9OKHgsIHksIHopOworfQpkaWZmIC0tZ2l0IGEvbGliL2xvb3BkZXYuYyBiL2xpYi9sb29wZGV2LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTU3ZTdhNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9sb29wZGV2LmMKQEAgLTAsMCArMSwxNzM5IEBACisKKy8qCisgKiBObyBjb3B5cmlnaHQgaXMgY2xhaW1lZC4gIFRoaXMgY29kZSBpcyBpbiB0aGUgcHVibGljIGRvbWFpbjsgZG8gd2l0aAorICogaXQgd2hhdCB5b3Ugd2lzaC4KKyAqCisgKiBXcml0dGVuIGJ5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIC0tIGJhc2VkIG9uIG1vdW50L2xvc2V0dXAuYworICoKKyAqIFNpbXBsZSBsaWJyYXJ5IGZvciB3b3JrIHdpdGggbG9vcCBkZXZpY2VzLgorICoKKyAqICAtIHJlcXVpcmVzIGtlcm5lbCAyLjYueAorICogIC0gcmVhZHMgaW5mbyBmcm9tIC9zeXMvYmxvY2svbG9vcDxOPi9sb29wLzxhdHRyPiAobmV3IGtlcm5lbHMpCisgKiAgLSByZWFkcyBpbmZvIGJ5IGlvY3RsCisgKiAgLSBzdXBwb3J0cyAqdW5saW1pdGVkKiBudW1iZXIgb2YgbG9vcCBkZXZpY2VzCisgKiAgLSBzdXBwb3J0cyAvZGV2L2xvb3A8Tj4gYXMgd2VsbCBhcyAvZGV2L2xvb3AvPE4+CisgKiAgLSBtaW5pbWl6ZSBvdmVyaGVhZCAoZmQsIGxvb3BpbmZvLCAuLi4gYXJlIHNoYXJlZCBmb3IgYWxsIG9wZXJhdGlvbnMpCisgKiAgLSBzZXR1cCAoYXNzb2NpYXRlIGRldmljZSBhbmQgYmFja2luZyBmaWxlKQorICogIC0gZGVsZXRlIChkaXMtYXNzb2NpYXRlIGZpbGUpCisgKiAgLSBvbGQgTE9PUF97U0VULEdFVH1fU1RBVFVTICgzMmJpdCkgaW9jdGxzIGFyZSB1bnN1cHBvcnRlZAorICogIC0gZXh0ZW5kaWJsZQorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvbW1hbi5oPgorI2luY2x1ZGUgPGludHR5cGVzLmg+CisjaW5jbHVkZSA8ZGlyZW50Lmg+CisjaW5jbHVkZSA8bGludXgvcG9zaXhfdHlwZXMuaD4KKworI2luY2x1ZGUgImxpbnV4X3ZlcnNpb24uaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAic3lzZnMuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJsb29wZGV2LmgiCisjaW5jbHVkZSAiY2Fub25pY2FsaXplLmgiCisjaW5jbHVkZSAiYmxrZGV2LmgiCisjaW5jbHVkZSAiZGVidWcuaCIKKworLyoKKyAqIERlYnVnIHN0dWZmIChiYXNlZCBvbiBpbmNsdWRlL2RlYnVnLmgpCisgKi8KK1VMX0RFQlVHX0RFRklORV9NQVNLKGxvb3BkZXYpOworVUxfREVCVUdfREVGSU5FX01BU0tOQU1FUyhsb29wZGV2KSA9IFVMX0RFQlVHX0VNUFRZX01BU0tOQU1FUzsKKworI2RlZmluZSBMT09QREVWX0RFQlVHX0lOSVQJKDEgPDwgMSkKKyNkZWZpbmUgTE9PUERFVl9ERUJVR19DWFQJKDEgPDwgMikKKyNkZWZpbmUgTE9PUERFVl9ERUJVR19JVEVSCSgxIDw8IDMpCisjZGVmaW5lIExPT1BERVZfREVCVUdfU0VUVVAJKDEgPDwgNCkKKyNkZWZpbmUgU0ZESVNLUFJPR19ERUJVR19BTEwJMHhGRkZGCisKKyNkZWZpbmUgREJHKG0sIHgpICAgICAgIF9fVUxfREJHKGxvb3BkZXYsIExPT1BERVZfREVCVUdfLCBtLCB4KQorI2RlZmluZSBPTl9EQkcobSwgeCkgICAgX19VTF9EQkdfQ0FMTChsb29wZGV2LCBMT09QREVWX0RFQlVHXywgbSwgeCkKKworc3RhdGljIHZvaWQgbG9vcGRldl9pbml0X2RlYnVnKHZvaWQpCit7CisJaWYgKGxvb3BkZXZfZGVidWdfbWFzaykKKwkJcmV0dXJuOworCV9fVUxfSU5JVF9ERUJVRyhsb29wZGV2LCBMT09QREVWX0RFQlVHXywgMCwgTE9PUERFVl9ERUJVRyk7Cit9CisKKy8qCisgKiBzZWUgbG9vcGN4dF9pbml0KCkKKyAqLworI2RlZmluZSBsb29wY3h0X2lvY3RsX2VuYWJsZWQoX2xjKQkoISgoX2xjKS0+ZmxhZ3MgJiBMT09QREVWX0ZMX05PSU9DVEwpKQorI2RlZmluZSBsb29wY3h0X3N5c2ZzX2F2YWlsYWJsZShfbGMpCSghKChfbGMpLT5mbGFncyAmIExPT1BERVZfRkxfTk9TWVNGUykpIFwKKwkJCQkJICYmICFsb29wY3h0X2lvY3RsX2VuYWJsZWQoX2xjKQorCisvKgorICogQGxjOiBjb250ZXh0CisgKiBAZGV2aWNlOiBkZXZpY2UgbmFtZSwgYWJzb2x1dGUgZGV2aWNlIHBhdGggb3IgTlVMTCB0byByZXNldCB0aGUgY3VycmVudCBzZXR0aW5nCisgKgorICogU2V0cyBkZXZpY2UsIGFic29sdXRlIHBhdGhzIChlLmcuICIvZGV2L2xvb3A8Tj4iKSBhcmUgdW5jaGFuZ2VkLCBkZXZpY2UKKyAqIG5hbWVzICgibG9vcDxOPiIpIGFyZSBjb252ZXJ0ZWQgdG8gdGhlIHBhdGggKC9kZXYvbG9vcDxOPiBvciB0bworICogL2Rldi9sb29wLzxOPikKKyAqCisgKiBUaGlzIHNldHMgdGhlIGRldmljZSBuYW1lLCBidXQgZG9lcyBub3QgY2hlY2sgaWYgdGhlIGRldmljZSBleGlzdHMhCisgKgorICogUmV0dXJuczogPDAgb24gZXJyb3IsIDAgb24gc3VjY2VzcworICovCitpbnQgbG9vcGN4dF9zZXRfZGV2aWNlKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsIGNvbnN0IGNoYXIgKmRldmljZSkKK3sKKwlpZiAoIWxjKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChsYy0+ZmQgPj0gMCkgeworCQljbG9zZShsYy0+ZmQpOworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgImNsb3Npbmcgb2xkIG9wZW4gZmQiKSk7CisJfQorCWxjLT5mZCA9IC0xOworCWxjLT5tb2RlID0gMDsKKwlsYy0+aGFzX2luZm8gPSAwOworCWxjLT5pbmZvX2ZhaWxlZCA9IDA7CisJKmxjLT5kZXZpY2UgPSAnXDAnOworCW1lbXNldCgmbGMtPmluZm8sIDAsIHNpemVvZihsYy0+aW5mbykpOworCisJLyogc2V0IG5ldyAqLworCWlmIChkZXZpY2UpIHsKKwkJaWYgKCpkZXZpY2UgIT0gJy8nKSB7CisJCQljb25zdCBjaGFyICpkaXIgPSBfUEFUSF9ERVY7CisKKwkJCS8qIGNvbXBvc2UgZGV2aWNlIG5hbWUgZm9yIC9kZXYvbG9vcDxuPiBvciAvZGV2L2xvb3AvPG4+ICovCisJCQlpZiAobGMtPmZsYWdzICYgTE9PUERFVl9GTF9ERVZTVUJESVIpIHsKKwkJCQlpZiAoc3RybGVuKGRldmljZSkgPCA1KQorCQkJCQlyZXR1cm4gLTE7CisJCQkJZGV2aWNlICs9IDQ7CisJCQkJZGlyID0gX1BBVEhfREVWX0xPT1AgIi8iOwkvKiBfUEFUSF9ERVYgdXNlcyB0YWlsaW5nIHNsYXNoICovCisJCQl9CisJCQlzbnByaW50ZihsYy0+ZGV2aWNlLCBzaXplb2YobGMtPmRldmljZSksICIlcyVzIiwKKwkJCQlkaXIsIGRldmljZSk7CisJCX0gZWxzZSB7CisJCQlzdHJuY3B5KGxjLT5kZXZpY2UsIGRldmljZSwgc2l6ZW9mKGxjLT5kZXZpY2UpKTsKKwkJCWxjLT5kZXZpY2Vbc2l6ZW9mKGxjLT5kZXZpY2UpIC0gMV0gPSAnXDAnOworCQl9CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAiJXMgbmFtZSBhc3NpZ25lZCIsIGRldmljZSkpOworCX0KKworCXN5c2ZzX2RlaW5pdCgmbGMtPnN5c2ZzKTsKKwlyZXR1cm4gMDsKK30KKworaW50IGxvb3BjeHRfaGFzX2RldmljZShzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKQoreworCXJldHVybiBsYyAmJiAqbGMtPmRldmljZTsKK30KKworLyoKKyAqIEBsYzogY29udGV4dAorICogQGZsYWdzOiBMT09QREVWX0ZMXyogZmxhZ3MKKyAqCisgKiBJbml0aWFsaXplIGxvb3AgaGFuZGxlci4KKyAqCisgKiBXZSBoYXZlIHR3byBzZXRzIG9mIHRoZSBmbGFnczoKKyAqCisgKgkqIExPT1BERVZfRkxfKiBmbGFncyBjb250cm9sIGxvb3BjeHRfKiBBUEkgYmVoYXZpb3IKKyAqCisgKgkqIExPX0ZMQUdTXyogYXJlIGtlcm5lbCBmbGFncyB1c2VkIGZvciBMT09QX3tTRVQsR0VUfV9TVEFUNjQgaW9jdGxzCisgKgorICogTm90ZSBhYm91dCBMT09QREVWX0ZMX3tSRE9OTFksUkRXUn0gZmxhZ3MuIFRoZXNlIGZsYWdzIGFyZSB1c2VkIGZvciBvcGVuKDIpCisgKiBzeXNjYWxsIHRvIG9wZW4gbG9vcCBkZXZpY2UuIEJ5IGRlZmF1bHQgaXMgdGhlIGRldmljZSBvcGVuIHJlYWQtb25seS4KKyAqCisgKiBUaGUgZXhwZWN0aW9uIGlzIGxvb3BjeHRfc2V0dXBfZGV2aWNlKCksIHdoZXJlIHRoZSBkZXZpY2UgaXMgb3BlbiByZWFkLXdyaXRlCisgKiBpZiBMT19GTEFHU19SRUFEX09OTFkgZmxhZ3MgaXMgbm90IHNldCAoc2VlIGxvb3BjeHRfc2V0X2ZsYWdzKCkpLgorICoKKyAqIFJldHVybnM6IDwwIG9uIGVycm9yLCAwIG9uIHN1Y2Nlc3MuCisgKi8KK2ludCBsb29wY3h0X2luaXQoc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgaW50IGZsYWdzKQoreworCWludCByYzsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwlzdHJ1Y3QgbG9vcGRldl9jeHQgZHVtbXkgPSBVTF9MT09QREVWQ1hUX0VNUFRZOworCisJaWYgKCFsYykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlsb29wZGV2X2luaXRfZGVidWcoKTsKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgImluaXRpYWxpemUgY29udGV4dCIpKTsKKworCW1lbWNweShsYywgJmR1bW15LCBzaXplb2YoZHVtbXkpKTsKKwlsYy0+ZmxhZ3MgPSBmbGFnczsKKworCXJjID0gbG9vcGN4dF9zZXRfZGV2aWNlKGxjLCBOVUxMKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCWlmIChzdGF0KF9QQVRIX1NZU19CTE9DSywgJnN0KSB8fCAhU19JU0RJUihzdC5zdF9tb2RlKSkgeworCQlsYy0+ZmxhZ3MgfD0gTE9PUERFVl9GTF9OT1NZU0ZTOworCQlsYy0+ZmxhZ3MgJj0gfkxPT1BERVZfRkxfTk9JT0NUTDsKKwkJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJpbml0OiBkaXNhYmxlIC9zeXMgdXNhZ2UiKSk7CisJfQorCisJaWYgKCEobGMtPmZsYWdzICYgTE9PUERFVl9GTF9OT1NZU0ZTKSAmJgorCSAgICBnZXRfbGludXhfdmVyc2lvbigpID49IEtFUk5FTF9WRVJTSU9OKDIsNiwzNykpIHsKKwkJLyoKKwkJICogVXNlIG9ubHkgc3lzZnMgZm9yIGJhc2ljIGluZm9ybWF0aW9uIGFib3V0IGxvb3AgZGV2aWNlcworCQkgKi8KKwkJbGMtPmZsYWdzIHw9IExPT1BERVZfRkxfTk9JT0NUTDsKKwkJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJpbml0OiBpZ25vcmUgaW9jdGxzIikpOworCX0KKworCWlmICghKGxjLT5mbGFncyAmIExPT1BERVZfRkxfQ09OVFJPTCkgJiYgIXN0YXQoX1BBVEhfREVWX0xPT1BDVEwsICZzdCkpIHsKKwkJbGMtPmZsYWdzIHw9IExPT1BERVZfRkxfQ09OVFJPTDsKKwkJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJpbml0OiBsb29wLWNvbnRyb2wgZGV0ZWN0ZWQgIikpOworCX0KKworCXJldHVybiAwOworfQorCisvKgorICogQGxjOiBjb250ZXh0CisgKgorICogRGVpbml0aWFsaXplIGxvb3AgY29udGV4dAorICovCit2b2lkIGxvb3BjeHRfZGVpbml0KHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpCit7CisJaW50IGVycnN2ID0gZXJybm87CisKKwlpZiAoIWxjKQorCQlyZXR1cm47CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgImRlLWluaXRpYWxpemUiKSk7CisKKwlmcmVlKGxjLT5maWxlbmFtZSk7CisJbGMtPmZpbGVuYW1lID0gTlVMTDsKKworCWlnbm9yZV9yZXN1bHQoIGxvb3BjeHRfc2V0X2RldmljZShsYywgTlVMTCkgKTsKKwlsb29wY3h0X2RlaW5pdF9pdGVyYXRvcihsYyk7CisKKwllcnJubyA9IGVycnN2OworfQorCisvKgorICogQGxjOiBjb250ZXh0CisgKgorICogUmV0dXJucyBuZXdseSBhbGxvY2F0ZWQgZGV2aWNlIHBhdGguCisgKi8KK2NoYXIgKmxvb3BjeHRfc3RyZHVwX2RldmljZShzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKQoreworCWlmICghbGMgfHwgISpsYy0+ZGV2aWNlKQorCQlyZXR1cm4gTlVMTDsKKwlyZXR1cm4gc3RyZHVwKGxjLT5kZXZpY2UpOworfQorCisvKgorICogQGxjOiBjb250ZXh0CisgKgorICogUmV0dXJucyBwb2ludGVyIGRldmljZSBuYW1lIGluIHRoZSBAbGMgc3RydWN0LgorICovCitjb25zdCBjaGFyICpsb29wY3h0X2dldF9kZXZpY2Uoc3RydWN0IGxvb3BkZXZfY3h0ICpsYykKK3sKKwlyZXR1cm4gbGMgJiYgKmxjLT5kZXZpY2UgPyBsYy0+ZGV2aWNlIDogTlVMTDsKK30KKworLyoKKyAqIEBsYzogY29udGV4dAorICoKKyAqIFJldHVybnMgcG9pbnRlciB0byB0aGUgc3lzZnMgY29udGV4dCAoc2VlIGxpYi9zeXNmcy5jKQorICovCitzdHJ1Y3Qgc3lzZnNfY3h0ICpsb29wY3h0X2dldF9zeXNmcyhzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKQoreworCWlmICghbGMgfHwgISpsYy0+ZGV2aWNlIHx8IChsYy0+ZmxhZ3MgJiBMT09QREVWX0ZMX05PU1lTRlMpKQorCQlyZXR1cm4gTlVMTDsKKworCWlmICghbGMtPnN5c2ZzLmRldm5vKSB7CisJCWRldl90IGRldm5vID0gc3lzZnNfZGV2bmFtZV90b19kZXZubyhsYy0+ZGV2aWNlLCBOVUxMKTsKKwkJaWYgKCFkZXZubykgeworCQkJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJzeXNmczogZmFpbGVkIGRldm5hbWUgdG8gZGV2bm8iKSk7CisJCQlyZXR1cm4gTlVMTDsKKwkJfQorCQlpZiAoc3lzZnNfaW5pdCgmbGMtPnN5c2ZzLCBkZXZubywgTlVMTCkpIHsKKwkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAic3lzZnM6IGluaXQgZmFpbGVkIikpOworCQkJcmV0dXJuIE5VTEw7CisJCX0KKwl9CisKKwlyZXR1cm4gJmxjLT5zeXNmczsKK30KKworLyoKKyAqIEBsYzogY29udGV4dAorICoKKyAqIFJldHVybnM6IGZpbGUgZGVzY3JpcHRvciB0byB0aGUgb3BlbiBsb29wIGRldmljZSBvciA8MCBvbiBlcnJvci4gVGhlIG1vZGUKKyAqICAgICAgICAgIGRlcGVuZHMgb24gTE9PUERFVl9GTF97UkRXUixSRE9OTFl9IGNvbnRleHQgZmxhZ3MuIERlZmF1bHQgaXMKKyAqICAgICAgICAgIHJlYWQtb25seS4KKyAqLworaW50IGxvb3BjeHRfZ2V0X2ZkKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpCit7CisJaWYgKCFsYyB8fCAhKmxjLT5kZXZpY2UpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKGxjLT5mZCA8IDApIHsKKwkJbGMtPm1vZGUgPSBsYy0+ZmxhZ3MgJiBMT09QREVWX0ZMX1JEV1IgPyBPX1JEV1IgOiBPX1JET05MWTsKKwkJbGMtPmZkID0gb3BlbihsYy0+ZGV2aWNlLCBsYy0+bW9kZSB8IE9fQ0xPRVhFQyk7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAib3BlbiAlcyBbJXNdOiAlbSIsIGxjLT5kZXZpY2UsCisJCQkJbGMtPmZsYWdzICYgTE9PUERFVl9GTF9SRFdSID8gInJ3IiA6ICJybyIpKTsKKwl9CisJcmV0dXJuIGxjLT5mZDsKK30KKworaW50IGxvb3BjeHRfc2V0X2ZkKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsIGludCBmZCwgaW50IG1vZGUpCit7CisJaWYgKCFsYykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlsYy0+ZmQgPSBmZDsKKwlsYy0+bW9kZSA9IG1vZGU7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBAbGM6IGNvbnRleHQKKyAqIEBmbGFnczogTE9PUElURVJfRkxfKiBmbGFncworICoKKyAqIEl0ZXJhdG9yIGFsbG93cyB0byBzY2FuIGxpc3Qgb2YgdGhlIGZyZWUgb3IgdXNlZCBsb29wIGRldmljZXMuCisgKgorICogUmV0dXJuczogPDAgb24gZXJyb3IsIDAgb24gc3VjY2VzcworICovCitpbnQgbG9vcGN4dF9pbml0X2l0ZXJhdG9yKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsIGludCBmbGFncykKK3sKKwlzdHJ1Y3QgbG9vcGRldl9pdGVyICppdGVyOworCXN0cnVjdCBzdGF0IHN0OworCisJaWYgKCFsYykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKworCWl0ZXIgPSAmbGMtPml0ZXI7CisJREJHKElURVIsIHVsX2RlYnVnb2JqKGl0ZXIsICJpbml0aWFsaXplIikpOworCisJLyogYWx3YXlzIHplcm9pemUKKwkgKi8KKwltZW1zZXQoaXRlciwgMCwgc2l6ZW9mKCppdGVyKSk7CisJaXRlci0+bmN1ciA9IC0xOworCWl0ZXItPmZsYWdzID0gZmxhZ3M7CisJaXRlci0+ZGVmYXVsdF9jaGVjayA9IDE7CisKKwlpZiAoIWxjLT5leHRyYV9jaGVjaykgeworCQkvKgorCQkgKiBDaGVjayBmb3IgL2Rldi9sb29wLzxOPiBzdWJkaXJlY3RvcnkKKwkJICovCisJCWlmICghKGxjLT5mbGFncyAmIExPT1BERVZfRkxfREVWU1VCRElSKSAmJgorCQkgICAgc3RhdChfUEFUSF9ERVZfTE9PUCwgJnN0KSA9PSAwICYmIFNfSVNESVIoc3Quc3RfbW9kZSkpCisJCQlsYy0+ZmxhZ3MgfD0gTE9PUERFVl9GTF9ERVZTVUJESVI7CisKKwkJbGMtPmV4dHJhX2NoZWNrID0gMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBAbGM6IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiA8MCBvbiBlcnJvciwgMCBvbiBzdWNjZXNzCisgKi8KK2ludCBsb29wY3h0X2RlaW5pdF9pdGVyYXRvcihzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKQoreworCXN0cnVjdCBsb29wZGV2X2l0ZXIgKml0ZXI7CisKKwlpZiAoIWxjKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWl0ZXIgPSAmbGMtPml0ZXI7CisJREJHKElURVIsIHVsX2RlYnVnb2JqKGl0ZXIsICJkZS1pbml0aWFsaXplIikpOworCisJZnJlZShpdGVyLT5taW5vcnMpOworCWlmIChpdGVyLT5wcm9jKQorCQlmY2xvc2UoaXRlci0+cHJvYyk7CisJaWYgKGl0ZXItPnN5c2Jsb2NrKQorCQljbG9zZWRpcihpdGVyLT5zeXNibG9jayk7CisKKwltZW1zZXQoaXRlciwgMCwgc2l6ZW9mKCppdGVyKSk7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBTYW1lIGFzIGxvb3BjeHRfc2V0X2RldmljZSwgYnV0IGFsc28gY2hlY2tzIGlmIHRoZSBkZXZpY2UgaXMKKyAqIGFzc29jaWV0ZWQgd2l0aCBhbnkgZmlsZS4KKyAqCisgKiBSZXR1cm5zOiA8MCBvbiBlcnJvciwgMCBvbiBzdWNjZXNzLCAxIGRldmljZSBkb2VzIG5vdCBtYXRjaCB3aXRoCisgKiAgICAgICAgIExPT1BJVEVSX0ZMX3tVU0VELEZSRUV9IGZsYWdzLgorICovCitzdGF0aWMgaW50IGxvb3BpdGVyX3NldF9kZXZpY2Uoc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgY29uc3QgY2hhciAqZGV2aWNlKQoreworCWludCByYyA9IGxvb3BjeHRfc2V0X2RldmljZShsYywgZGV2aWNlKTsKKwlpbnQgdXNlZDsKKworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJaWYgKCEobGMtPml0ZXIuZmxhZ3MgJiBMT09QSVRFUl9GTF9VU0VEKSAmJgorCSAgICAhKGxjLT5pdGVyLmZsYWdzICYgTE9PUElURVJfRkxfRlJFRSkpCisJCXJldHVybiAwOwkvKiBjYWxsZXIgZG9lcyBub3QgY2FyZSBhYm91dCBkZXZpY2Ugc3RhdHVzICovCisKKwlpZiAoIWlzX2xvb3BkZXYobGMtPmRldmljZSkpIHsKKwkJREJHKElURVIsIHVsX2RlYnVnb2JqKCZsYy0+aXRlciwgIiVzIGRvZXMgbm90IGV4aXN0IiwgbGMtPmRldmljZSkpOworCQlyZXR1cm4gLWVycm5vOworCX0KKworCURCRyhJVEVSLCB1bF9kZWJ1Z29iaigmbGMtPml0ZXIsICIlcyBleGlzdCIsIGxjLT5kZXZpY2UpKTsKKworCXVzZWQgPSBsb29wY3h0X2dldF9vZmZzZXQobGMsIE5VTEwpID09IDA7CisKKwlpZiAoKGxjLT5pdGVyLmZsYWdzICYgTE9PUElURVJfRkxfVVNFRCkgJiYgdXNlZCkKKwkJcmV0dXJuIDA7CisKKwlpZiAoKGxjLT5pdGVyLmZsYWdzICYgTE9PUElURVJfRkxfRlJFRSkgJiYgIXVzZWQpCisJCXJldHVybiAwOworCisJREJHKElURVIsIHVsX2RlYnVnb2JqKCZsYy0+aXRlciwgImZhaWxlZCB0byB1c2UgJXMgZGV2aWNlIiwgbGMtPmRldmljZSkpOworCisJaWdub3JlX3Jlc3VsdCggbG9vcGN4dF9zZXRfZGV2aWNlKGxjLCBOVUxMKSApOworCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IGNtcG51bShjb25zdCB2b2lkICpwMSwgY29uc3Qgdm9pZCAqcDIpCit7CisJcmV0dXJuICgoKCogKGludCAqKSBwMSkgPiAoKiAoaW50ICopIHAyKSkgLQorCQkJKCgqIChpbnQgKikgcDEpIDwgKCogKGludCAqKSBwMikpKTsKK30KKworLyoKKyAqIFRoZSBjbGFzc2ljIHNjYW5kaXIoKSBpcyBtb3JlIGV4cGVuc2l2ZSBhbmQgbGVzcyBwb3J0YWJsZS4KKyAqIFdlIG5lZWRuJ3QgZnVsbCBsb29wIGRldmljZSBuYW1lcyAtLSBsb29wIG51bWJlcnMgKGxvb3A8Tj4pCisgKiBhcmUgZW5vdWdoLgorICovCitzdGF0aWMgaW50IGxvb3Bfc2NhbmRpcihjb25zdCBjaGFyICpkaXJuYW1lLCBpbnQgKiphcnksIGludCBoYXNwcmVmaXgpCit7CisJRElSICpkaXI7CisJc3RydWN0IGRpcmVudCAqZDsKKwl1bnNpZ25lZCBpbnQgbiwgY291bnQgPSAwLCBhcnlsZW4gPSAwOworCisJaWYgKCFkaXJuYW1lIHx8ICFhcnkpCisJCXJldHVybiAwOworCisJREJHKElURVIsIHVsX2RlYnVnKCJzY2FuIGRpcjogJXMiLCBkaXJuYW1lKSk7CisKKwlkaXIgPSBvcGVuZGlyKGRpcm5hbWUpOworCWlmICghZGlyKQorCQlyZXR1cm4gMDsKKwlmcmVlKCphcnkpOworCSphcnkgPSBOVUxMOworCisJd2hpbGUoKGQgPSByZWFkZGlyKGRpcikpKSB7CisjaWZkZWYgX0RJUkVOVF9IQVZFX0RfVFlQRQorCQlpZiAoZC0+ZF90eXBlICE9IERUX0JMSyAmJiBkLT5kX3R5cGUgIT0gRFRfVU5LTk9XTiAmJgorCQkgICAgZC0+ZF90eXBlICE9IERUX0xOSykKKwkJCWNvbnRpbnVlOworI2VuZGlmCisJCWlmICghc3RyY21wKGQtPmRfbmFtZSwgIi4iKSB8fCAhc3RyY21wKGQtPmRfbmFtZSwgIi4uIikpCisJCQljb250aW51ZTsKKworCQlpZiAoaGFzcHJlZml4KSB7CisJCQkvKiAvZGV2L2xvb3A8Tj4gKi8KKwkJCWlmIChzc2NhbmYoZC0+ZF9uYW1lLCAibG9vcCV1IiwgJm4pICE9IDEpCisJCQkJY29udGludWU7CisJCX0gZWxzZSB7CisJCQkvKiAvZGV2L2xvb3AvPE4+ICovCisJCQljaGFyICplbmQgPSBOVUxMOworCisJCQllcnJubyA9IDA7CisJCQluID0gc3RydG9sKGQtPmRfbmFtZSwgJmVuZCwgMTApOworCQkJaWYgKGQtPmRfbmFtZSA9PSBlbmQgfHwgKGVuZCAmJiAqZW5kKSB8fCBlcnJubykKKwkJCQljb250aW51ZTsKKwkJfQorCQlpZiAobiA8IExPT1BERVZfREVGQVVMVF9OTk9ERVMpCisJCQljb250aW51ZTsJCQkvKiBpZ25vcmUgbG9vcDwwLi43PiAqLworCisJCWlmIChjb3VudCArIDEgPiBhcnlsZW4pIHsKKwkJCWludCAqdG1wOworCisJCQlhcnlsZW4gKz0gMTsKKworCQkJdG1wID0gcmVhbGxvYygqYXJ5LCBhcnlsZW4gKiBzaXplb2YoaW50KSk7CisJCQlpZiAoIXRtcCkgeworCQkJCWZyZWUoKmFyeSk7CisJCQkJKmFyeSA9IE5VTEw7CisJCQkJY2xvc2VkaXIoZGlyKTsKKwkJCQlyZXR1cm4gLTE7CisJCQl9CisJCQkqYXJ5ID0gdG1wOworCQl9CisJCWlmICgqYXJ5KQorCQkJKCphcnkpW2NvdW50KytdID0gbjsKKwl9CisJaWYgKGNvdW50ICYmICphcnkpCisJCXFzb3J0KCphcnksIGNvdW50LCBzaXplb2YoaW50KSwgY21wbnVtKTsKKworCWNsb3NlZGlyKGRpcik7CisJcmV0dXJuIGNvdW50OworfQorCisvKgorICogU2V0IHRoZSBuZXh0ICp1c2VkKiBsb29wIGRldmljZSBhY2NvcmRpbmcgdG8gL3Byb2MvcGFydGl0aW9ucy4KKyAqCisgKiBMb29wIGRldmljZXMgc21hbGxlciB0aGFuIDUxMiBieXRlcyBhcmUgaW52aXNpYmxlIGZvciB0aGlzIGZ1bmN0aW9uLgorICovCitzdGF0aWMgaW50IGxvb3BjeHRfbmV4dF9mcm9tX3Byb2Moc3RydWN0IGxvb3BkZXZfY3h0ICpsYykKK3sKKwlzdHJ1Y3QgbG9vcGRldl9pdGVyICppdGVyID0gJmxjLT5pdGVyOworCWNoYXIgYnVmW0JVRlNJWl07CisKKwlEQkcoSVRFUiwgdWxfZGVidWdvYmooaXRlciwgInNjYW4gL3Byb2MvcGFydGl0aW9ucyIpKTsKKworCWlmICghaXRlci0+cHJvYykKKwkJaXRlci0+cHJvYyA9IGZvcGVuKF9QQVRIX1BST0NfUEFSVElUSU9OUywgInIiIFVMX0NMT0VYRUNTVFIpOworCWlmICghaXRlci0+cHJvYykKKwkJcmV0dXJuIDE7CisKKwl3aGlsZSAoZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgaXRlci0+cHJvYykpIHsKKwkJdW5zaWduZWQgaW50IG07CisJCWNoYXIgbmFtZVsxMjggKyAxXTsKKworCisJCWlmIChzc2NhbmYoYnVmLCAiICV1ICUqcyAlKnMgJTEyOFteXG4gXSIsCisJCQkgICAmbSwgbmFtZSkgIT0gMiB8fCBtICE9IExPT1BERVZfTUFKT1IpCisJCQljb250aW51ZTsKKworCQlEQkcoSVRFUiwgdWxfZGVidWdvYmooaXRlciwgImNoZWNraW5nICVzIiwgbmFtZSkpOworCisJCWlmIChsb29waXRlcl9zZXRfZGV2aWNlKGxjLCBuYW1lKSA9PSAwKQorCQkJcmV0dXJuIDA7CisJfQorCisJcmV0dXJuIDE7Cit9CisKKy8qCisgKiBTZXQgdGhlIG5leHQgKnVzZWQqIGxvb3AgZGV2aWNlIGFjY29yZGluZyB0bworICogL3N5cy9ibG9jay9sb29wTi9sb29wL2JhY2tpbmdfZmlsZSAoa2VybmVsID49IDIuNi4zNyBpcyByZXF1aXJlZCkuCisgKgorICogVGhpcyBpcyBwcmVmZXJyZWQgbWV0aG9kLgorICovCitzdGF0aWMgaW50IGxvb3BjeHRfbmV4dF9mcm9tX3N5c2ZzKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpCit7CisJc3RydWN0IGxvb3BkZXZfaXRlciAqaXRlciA9ICZsYy0+aXRlcjsKKwlzdHJ1Y3QgZGlyZW50ICpkOworCWludCBmZDsKKworCURCRyhJVEVSLCB1bF9kZWJ1Z29iaihpdGVyLCAic2Nhbm5pbmcgL3N5cy9ibG9jayIpKTsKKworCWlmICghaXRlci0+c3lzYmxvY2spCisJCWl0ZXItPnN5c2Jsb2NrID0gb3BlbmRpcihfUEFUSF9TWVNfQkxPQ0spOworCisJaWYgKCFpdGVyLT5zeXNibG9jaykKKwkJcmV0dXJuIDE7CisKKwlmZCA9IGRpcmZkKGl0ZXItPnN5c2Jsb2NrKTsKKworCXdoaWxlICgoZCA9IHJlYWRkaXIoaXRlci0+c3lzYmxvY2spKSkgeworCQljaGFyIG5hbWVbMjU2XTsKKwkJc3RydWN0IHN0YXQgc3Q7CisKKwkJREJHKElURVIsIHVsX2RlYnVnb2JqKGl0ZXIsICJjaGVjayAlcyIsIGQtPmRfbmFtZSkpOworCisJCWlmIChzdHJjbXAoZC0+ZF9uYW1lLCAiLiIpID09IDAKKwkJICAgIHx8IHN0cmNtcChkLT5kX25hbWUsICIuLiIpID09IDAKKwkJICAgIHx8IHN0cm5jbXAoZC0+ZF9uYW1lLCAibG9vcCIsIDQpICE9IDApCisJCQljb250aW51ZTsKKworCQlzbnByaW50ZihuYW1lLCBzaXplb2YobmFtZSksICIlcy9sb29wL2JhY2tpbmdfZmlsZSIsIGQtPmRfbmFtZSk7CisJCWlmIChmc3RhdGF0KGZkLCBuYW1lLCAmc3QsIDApICE9IDApCisJCQljb250aW51ZTsKKworCQlpZiAobG9vcGl0ZXJfc2V0X2RldmljZShsYywgZC0+ZF9uYW1lKSA9PSAwKQorCQkJcmV0dXJuIDA7CisJfQorCisJcmV0dXJuIDE7Cit9CisKKy8qCisgKiBAbGM6IGNvbnRleHQsIGhhcyB0byBpbml0aWFsaXplZCBieSBsb29wY3h0X2luaXRfaXRlcmF0b3IoKQorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgLTEgb24gZXJyb3IsIDEgYXQgdGhlIGVuZCBvZiBzY2FubmluZy4gVGhlIGRldGFpbHMKKyAqICAgICAgICAgIGFib3V0IHRoZSBjdXJyZW50IGxvb3AgZGV2aWNlIGFyZSBhdmFpbGFibGUgYnkKKyAqICAgICAgICAgIGxvb3BjeHRfZ2V0X3tmZCxiYWNraW5nX2ZpbGUsZGV2aWNlLG9mZnNldCwgLi4ufSBmdW5jdGlvbnMuCisgKi8KK2ludCBsb29wY3h0X25leHQoc3RydWN0IGxvb3BkZXZfY3h0ICpsYykKK3sKKwlzdHJ1Y3QgbG9vcGRldl9pdGVyICppdGVyOworCisJaWYgKCFsYykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKworCWl0ZXIgPSAmbGMtPml0ZXI7CisJaWYgKGl0ZXItPmRvbmUpCisJCXJldHVybiAxOworCisJREJHKElURVIsIHVsX2RlYnVnb2JqKGl0ZXIsICJuZXh0IikpOworCisJLyogQSkgTG9vayBmb3IgdXNlZCBsb29wIGRldmljZXMgaW4gL3Byb2MvcGFydGl0aW9ucyAoImxvc2V0dXAgLWEiIG9ubHkpCisJICovCisJaWYgKGl0ZXItPmZsYWdzICYgTE9PUElURVJfRkxfVVNFRCkgeworCQlpbnQgcmM7CisKKwkJaWYgKGxvb3BjeHRfc3lzZnNfYXZhaWxhYmxlKGxjKSkKKwkJCXJjID0gbG9vcGN4dF9uZXh0X2Zyb21fc3lzZnMobGMpOworCQllbHNlCisJCQlyYyA9IGxvb3BjeHRfbmV4dF9mcm9tX3Byb2MobGMpOworCQlpZiAocmMgPT0gMCkKKwkJCXJldHVybiAwOworCQlnb3RvIGRvbmU7CisJfQorCisJLyogQikgQ2xhc3NpYyB3YXksIHRyeSBmaXJzdCBlaWdodCBsb29wIGRldmljZXMgKGRlZmF1bHQgbnVtYmVyCisJICogICAgb2YgbG9vcCBkZXZpY2VzKS4gVGhpcyBpcyBlbm91Z2ggZm9yIDk5JSBvZiBhbGwgY2FzZXMuCisJICovCisJaWYgKGl0ZXItPmRlZmF1bHRfY2hlY2spIHsKKwkJREJHKElURVIsIHVsX2RlYnVnb2JqKGl0ZXIsICJuZXh0OiBkZWZhdWx0IGNoZWNrIikpOworCQlmb3IgKCsraXRlci0+bmN1cjsgaXRlci0+bmN1ciA8IExPT1BERVZfREVGQVVMVF9OTk9ERVM7CisJCQkJCQkJaXRlci0+bmN1cisrKSB7CisJCQljaGFyIG5hbWVbMTZdOworCQkJc25wcmludGYobmFtZSwgc2l6ZW9mKG5hbWUpLCAibG9vcCVkIiwgaXRlci0+bmN1cik7CisKKwkJCWlmIChsb29waXRlcl9zZXRfZGV2aWNlKGxjLCBuYW1lKSA9PSAwKQorCQkJCXJldHVybiAwOworCQl9CisJCWl0ZXItPmRlZmF1bHRfY2hlY2sgPSAwOworCX0KKworCS8qIEMpIHRoZSB3b3JzdCBwb3NzaWJpbGl0eSwgc2NhbiB3aG9sZSAvZGV2IG9yIC9kZXYvbG9vcC88Tj4KKwkgKi8KKwlpZiAoIWl0ZXItPm1pbm9ycykgeworCQlEQkcoSVRFUiwgdWxfZGVidWdvYmooaXRlciwgIm5leHQ6IHNjYW5uaW5nIC9kZXYiKSk7CisJCWl0ZXItPm5taW5vcnMgPSAobGMtPmZsYWdzICYgTE9PUERFVl9GTF9ERVZTVUJESVIpID8KKwkJCWxvb3Bfc2NhbmRpcihfUEFUSF9ERVZfTE9PUCwgJml0ZXItPm1pbm9ycywgMCkgOgorCQkJbG9vcF9zY2FuZGlyKF9QQVRIX0RFViwgJml0ZXItPm1pbm9ycywgMSk7CisJCWl0ZXItPm5jdXIgPSAtMTsKKwl9CisJZm9yICgrK2l0ZXItPm5jdXI7IGl0ZXItPm5jdXIgPCBpdGVyLT5ubWlub3JzOyBpdGVyLT5uY3VyKyspIHsKKwkJY2hhciBuYW1lWzE2XTsKKwkJc25wcmludGYobmFtZSwgc2l6ZW9mKG5hbWUpLCAibG9vcCVkIiwgaXRlci0+bWlub3JzW2l0ZXItPm5jdXJdKTsKKworCQlpZiAobG9vcGl0ZXJfc2V0X2RldmljZShsYywgbmFtZSkgPT0gMCkKKwkJCXJldHVybiAwOworCX0KK2RvbmU6CisJbG9vcGN4dF9kZWluaXRfaXRlcmF0b3IobGMpOworCXJldHVybiAxOworfQorCisvKgorICogQGRldmljZTogcGF0aCB0byBkZXZpY2UKKyAqLworaW50IGlzX2xvb3BkZXYoY29uc3QgY2hhciAqZGV2aWNlKQoreworCXN0cnVjdCBzdGF0IHN0OworCisJaWYgKGRldmljZSAmJiBzdGF0KGRldmljZSwgJnN0KSA9PSAwICYmCisJCVNfSVNCTEsoc3Quc3RfbW9kZSkgJiYKKwkJbWFqb3Ioc3Quc3RfcmRldikgPT0gTE9PUERFVl9NQUpPUikKKwkJcmV0dXJuIDE7CisKKwllcnJubyA9IEVOT0RFVjsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIEBsYzogY29udGV4dAorICoKKyAqIFJldHVybnMgcmVzdWx0IGZyb20gTE9PUF9HRVRfU1RBVDY0IGlvY3RsIG9yIE5VTEwgb24gZXJyb3IuCisgKi8KK3N0cnVjdCBsb29wX2luZm82NCAqbG9vcGN4dF9nZXRfaW5mbyhzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKQoreworCWludCBmZDsKKworCWlmICghbGMgfHwgbGMtPmluZm9fZmFpbGVkKSB7CisJCWVycm5vID0gRUlOVkFMOworCQlyZXR1cm4gTlVMTDsKKwl9CisJZXJybm8gPSAwOworCWlmIChsYy0+aGFzX2luZm8pCisJCXJldHVybiAmbGMtPmluZm87CisKKwlmZCA9IGxvb3BjeHRfZ2V0X2ZkKGxjKTsKKwlpZiAoZmQgPCAwKQorCQlyZXR1cm4gTlVMTDsKKworCWlmIChpb2N0bChmZCwgTE9PUF9HRVRfU1RBVFVTNjQsICZsYy0+aW5mbykgPT0gMCkgeworCQlsYy0+aGFzX2luZm8gPSAxOworCQlsYy0+aW5mb19mYWlsZWQgPSAwOworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgInJlYWRpbmcgbG9vcF9pbmZvNjQgT0siKSk7CisJCXJldHVybiAmbGMtPmluZm87CisJfQorCisJbGMtPmluZm9fZmFpbGVkID0gMTsKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgInJlYWRpbmcgbG9vcF9pbmZvNjQgRkFJTEVEIikpOworCisJcmV0dXJuIE5VTEw7Cit9CisKKy8qCisgKiBAbGM6IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zIChhbGxvY2F0ZWQpIHN0cmluZyB3aXRoIHBhdGggdG8gdGhlIGZpbGUgYXNzaWNpZXRlZAorICogd2l0aCB0aGUgY3VycmVudCBsb29wIGRldmljZS4KKyAqLworY2hhciAqbG9vcGN4dF9nZXRfYmFja2luZ19maWxlKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpCit7CisJc3RydWN0IHN5c2ZzX2N4dCAqc3lzZnMgPSBsb29wY3h0X2dldF9zeXNmcyhsYyk7CisJY2hhciAqcmVzID0gTlVMTDsKKworCWlmIChzeXNmcykKKwkJLyoKKwkJICogVGhpcyBpcyBhbHdheXMgcHJlZmZlcmVkLCB0aGUgbG9vcF9pbmZvNjQKKwkJICogaGFzIHRvbyBzbWFsbCBidWZmZXIgZm9yIHRoZSBmaWxlbmFtZS4KKwkJICovCisJCXJlcyA9IHN5c2ZzX3N0cmR1cChzeXNmcywgImxvb3AvYmFja2luZ19maWxlIik7CisKKwlpZiAoIXJlcyAmJiBsb29wY3h0X2lvY3RsX2VuYWJsZWQobGMpKSB7CisJCXN0cnVjdCBsb29wX2luZm82NCAqbG8gPSBsb29wY3h0X2dldF9pbmZvKGxjKTsKKworCQlpZiAobG8pIHsKKwkJCWxvLT5sb19maWxlX25hbWVbTE9fTkFNRV9TSVpFIC0gMl0gPSAnKic7CisJCQlsby0+bG9fZmlsZV9uYW1lW0xPX05BTUVfU0laRSAtIDFdID0gJ1wwJzsKKwkJCXJlcyA9IHN0cmR1cCgoY2hhciAqKSBsby0+bG9fZmlsZV9uYW1lKTsKKwkJfQorCX0KKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAiZ2V0X2JhY2tpbmdfZmlsZSBbJXNdIiwgcmVzKSk7CisJcmV0dXJuIHJlczsKK30KKworLyoKKyAqIEBsYzogY29udGV4dAorICogQG9mZnNldDogcmV0dXJucyBvZmZzZXQgbnVtYmVyIGZvciB0aGUgZ2l2ZW4gZGV2aWNlCisgKgorICogUmV0dXJuczogPDAgb24gZXJyb3IsIDAgb24gc3VjY2VzcworICovCitpbnQgbG9vcGN4dF9nZXRfb2Zmc2V0KHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsIHVpbnQ2NF90ICpvZmZzZXQpCit7CisJc3RydWN0IHN5c2ZzX2N4dCAqc3lzZnMgPSBsb29wY3h0X2dldF9zeXNmcyhsYyk7CisJaW50IHJjID0gLUVJTlZBTDsKKworCWlmIChzeXNmcykKKwkJcmMgPSBzeXNmc19yZWFkX3U2NChzeXNmcywgImxvb3Avb2Zmc2V0Iiwgb2Zmc2V0KTsKKworCWlmIChyYyAmJiBsb29wY3h0X2lvY3RsX2VuYWJsZWQobGMpKSB7CisJCXN0cnVjdCBsb29wX2luZm82NCAqbG8gPSBsb29wY3h0X2dldF9pbmZvKGxjKTsKKwkJaWYgKGxvKSB7CisJCQlpZiAob2Zmc2V0KQorCQkJCSpvZmZzZXQgPSBsby0+bG9fb2Zmc2V0OworCQkJcmMgPSAwOworCQl9IGVsc2UKKwkJCXJjID0gLWVycm5vOworCX0KKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAiZ2V0X29mZnNldCBbcmM9JWRdIiwgcmMpKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBAbGM6IGNvbnRleHQKKyAqIEBzaXplbGltaXQ6IHJldHVybnMgc2l6ZSBsaW1pdCBmb3IgdGhlIGdpdmVuIGRldmljZQorICoKKyAqIFJldHVybnM6IDwwIG9uIGVycm9yLCAwIG9uIHN1Y2Nlc3MKKyAqLworaW50IGxvb3BjeHRfZ2V0X3NpemVsaW1pdChzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjLCB1aW50NjRfdCAqc2l6ZSkKK3sKKwlzdHJ1Y3Qgc3lzZnNfY3h0ICpzeXNmcyA9IGxvb3BjeHRfZ2V0X3N5c2ZzKGxjKTsKKwlpbnQgcmMgPSAtRUlOVkFMOworCisJaWYgKHN5c2ZzKQorCQlyYyA9IHN5c2ZzX3JlYWRfdTY0KHN5c2ZzLCAibG9vcC9zaXplbGltaXQiLCBzaXplKTsKKworCWlmIChyYyAmJiBsb29wY3h0X2lvY3RsX2VuYWJsZWQobGMpKSB7CisJCXN0cnVjdCBsb29wX2luZm82NCAqbG8gPSBsb29wY3h0X2dldF9pbmZvKGxjKTsKKwkJaWYgKGxvKSB7CisJCQlpZiAoc2l6ZSkKKwkJCQkqc2l6ZSA9IGxvLT5sb19zaXplbGltaXQ7CisJCQlyYyA9IDA7CisJCX0gZWxzZQorCQkJcmMgPSAtZXJybm87CisJfQorCisJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJnZXRfc2l6ZWxpbWl0IFtyYz0lZF0iLCByYykpOworCXJldHVybiByYzsKK30KKworLyoKKyAqIEBsYzogY29udGV4dAorICogQGRldm5vOiByZXR1cm5zIGVuY3J5cHRpb24gdHlwZQorICoKKyAqIENyeXB0b2xvb3AgaXMgREVQUkVDQVRFRCEKKyAqCisgKiBSZXR1cm5zOiA8MCBvbiBlcnJvciwgMCBvbiBzdWNjZXNzCisgKi8KK2ludCBsb29wY3h0X2dldF9lbmNyeXB0X3R5cGUoc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgdWludDMyX3QgKnR5cGUpCit7CisJc3RydWN0IGxvb3BfaW5mbzY0ICpsbyA9IGxvb3BjeHRfZ2V0X2luZm8obGMpOworCWludCByYzsKKworCS8qIG5vdCBwcm92aWRlZCBieSBzeXNmcyAqLworCWlmIChsbykgeworCQlpZiAodHlwZSkKKwkJCSp0eXBlID0gbG8tPmxvX2VuY3J5cHRfdHlwZTsKKwkJcmMgPSAwOworCX0gZWxzZQorCQlyYyA9IC1lcnJubzsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAiZ2V0X2VuY3J5cHRfdHlwZSBbcmM9JWRdIiwgcmMpKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBAbGM6IGNvbnRleHQKKyAqIEBkZXZubzogcmV0dXJucyBjcnlwdCBuYW1lCisgKgorICogQ3J5cHRvbG9vcCBpcyBERVBSRUNBVEVEIQorICoKKyAqIFJldHVybnM6IDwwIG9uIGVycm9yLCAwIG9uIHN1Y2Nlc3MKKyAqLworY29uc3QgY2hhciAqbG9vcGN4dF9nZXRfY3J5cHRfbmFtZShzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKQoreworCXN0cnVjdCBsb29wX2luZm82NCAqbG8gPSBsb29wY3h0X2dldF9pbmZvKGxjKTsKKworCWlmIChsbykKKwkJcmV0dXJuIChjaGFyICopIGxvLT5sb19jcnlwdF9uYW1lOworCisJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJnZXRfY3J5cHRfbmFtZSBmYWlsZWQiKSk7CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qCisgKiBAbGM6IGNvbnRleHQKKyAqIEBkZXZubzogcmV0dXJucyBiYWNraW5nIGZpbGUgZGV2bm8KKyAqCisgKiBSZXR1cm5zOiA8MCBvbiBlcnJvciwgMCBvbiBzdWNjZXNzCisgKi8KK2ludCBsb29wY3h0X2dldF9iYWNraW5nX2Rldm5vKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsIGRldl90ICpkZXZubykKK3sKKwlzdHJ1Y3QgbG9vcF9pbmZvNjQgKmxvID0gbG9vcGN4dF9nZXRfaW5mbyhsYyk7CisJaW50IHJjOworCisJaWYgKGxvKSB7CisJCWlmIChkZXZubykKKwkJCSpkZXZubyA9IGxvLT5sb19kZXZpY2U7CisJCXJjID0gMDsKKwl9IGVsc2UKKwkJcmMgPSAtZXJybm87CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgImdldF9iYWNraW5nX2Rldm5vIFtyYz0lZF0iLCByYykpOworCXJldHVybiByYzsKK30KKworLyoKKyAqIEBsYzogY29udGV4dAorICogQGlubzogcmV0dXJucyBiYWNraW5nIGZpbGUgaW5vZGUKKyAqCisgKiBSZXR1cm5zOiA8MCBvbiBlcnJvciwgMCBvbiBzdWNjZXNzCisgKi8KK2ludCBsb29wY3h0X2dldF9iYWNraW5nX2lub2RlKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsIGlub190ICppbm8pCit7CisJc3RydWN0IGxvb3BfaW5mbzY0ICpsbyA9IGxvb3BjeHRfZ2V0X2luZm8obGMpOworCWludCByYzsKKworCWlmIChsbykgeworCQlpZiAoaW5vKQorCQkJKmlubyA9IGxvLT5sb19pbm9kZTsKKwkJcmMgPSAwOworCX0gZWxzZQorCQlyYyA9IC1lcnJubzsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAiZ2V0X2JhY2tpbmdfaW5vZGUgW3JjPSVkXSIsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCisvKgorICogQ2hlY2sgaWYgdGhlIGtlcm5lbCBzdXBwb3J0cyBwYXJ0aXRpb25lZCBsb29wIGRldmljZXMuCisgKgorICogTm90ZXM6CisgKiAgIC0ga2VybmVscyA8IDMuMiBzdXBwb3J0IHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlcyBhbmQgUFQgc2Nhbm5pbmcKKyAqICAgICBvbmx5IGlmIG1heF9wYXJ0PSBtb2R1bGUgcGFyYW1ldGVyIGlzIG5vbi16ZXJvCisgKgorICogICAtIGtlcm5lbHMgPj0gMy4yIGFsd2F5cyBzdXBwb3J0IHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlcworICoKKyAqICAgLSBrZXJuZWxzID49IDMuMiBhbHdheXMgc3VwcG9ydCBCTEtQR197QURELERFTH1fUEFSVElUSU9OIGlvY3RscworICoKKyAqICAgLSBrZXJuZWxzID49IDMuMiBlbmFibGUgUFQgc2Nhbm5lciBvbmx5IGlmIG1heF9wYXJ0PSBpcyBub24temVybyBvciBpZiB0aGUKKyAqICAgICBMT19GTEFHU19QQVJUU0NBTiBmbGFnIGlzIHNldCBmb3IgdGhlIGRldmljZS4gVGhlIFBUIHNjYW5uZXIgaXMgZGlzYWJsZWQKKyAqICAgICBieSBkZWZhdWx0LgorICoKKyAqICBTZWUga2VybmVsIGNvbW1pdCBlMDNjOGRkMTQ5MTVmYWJjMTAxYWE0OTU4MjhkNTg1OThkYzVhZjk4LgorICovCitpbnQgbG9vcG1vZF9zdXBwb3J0c19wYXJ0c2Nhbih2b2lkKQoreworCWludCByYywgcmV0ID0gMDsKKwlGSUxFICpmOworCisJaWYgKGdldF9saW51eF92ZXJzaW9uKCkgPj0gS0VSTkVMX1ZFUlNJT04oMywyLDApKQorCQlyZXR1cm4gMTsKKworCWYgPSBmb3BlbigiL3N5cy9tb2R1bGUvbG9vcC9wYXJhbWV0ZXJzL21heF9wYXJ0IiwgInIiIFVMX0NMT0VYRUNTVFIpOworCWlmICghZikKKwkJcmV0dXJuIDA7CisJcmMgPSBmc2NhbmYoZiwgIiVkIiwgJnJldCk7CisJZmNsb3NlKGYpOworCXJldHVybiByYyA9PSAxID8gcmV0IDogMDsKK30KKworLyoKKyAqIEBsYzogY29udGV4dAorICoKKyAqIFJldHVybnM6IDEgaWYgdGhlIHBhcnRzY2FuIGZsYWdzIGlzIHNldCAqb3IqIChmb3Igb2xkIGtlcm5lbHMpIHBhcnRpdGlvbnMKKyAqIHNjYW5uaW5nIGlzIGVuYWJsZWQgZm9yIGFsbCBsb29wIGRldmljZXMuCisgKi8KK2ludCBsb29wY3h0X2lzX3BhcnRzY2FuKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpCit7CisJc3RydWN0IHN5c2ZzX2N4dCAqc3lzZnMgPSBsb29wY3h0X2dldF9zeXNmcyhsYyk7CisKKwlpZiAoc3lzZnMpIHsKKwkJLyoga2VybmVsID49IDMuMiAqLworCQlpbnQgZmw7CisJCWlmIChzeXNmc19yZWFkX2ludChzeXNmcywgImxvb3AvcGFydHNjYW4iLCAmZmwpID09IDApCisJCQlyZXR1cm4gZmw7CisJfQorCisJLyogb2xkIGtlcm5lbHMgKGluY2x1ZGluZyBrZXJuZWxzIHdpdGhvdXQgbG9vcE4vbG9vcC88ZmxhZ3M+IGRpcmVjdG9yeSAqLworCXJldHVybiBsb29wbW9kX3N1cHBvcnRzX3BhcnRzY2FuKCk7Cit9CisKKy8qCisgKiBAbGM6IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiAxIGlmIHRoZSBhdXRvY2xlYXIgZmxhZ3MgaXMgc2V0LgorICovCitpbnQgbG9vcGN4dF9pc19hdXRvY2xlYXIoc3RydWN0IGxvb3BkZXZfY3h0ICpsYykKK3sKKwlzdHJ1Y3Qgc3lzZnNfY3h0ICpzeXNmcyA9IGxvb3BjeHRfZ2V0X3N5c2ZzKGxjKTsKKworCWlmIChzeXNmcykgeworCQlpbnQgZmw7CisJCWlmIChzeXNmc19yZWFkX2ludChzeXNmcywgImxvb3AvYXV0b2NsZWFyIiwgJmZsKSA9PSAwKQorCQkJcmV0dXJuIGZsOworCX0KKworCWlmIChsb29wY3h0X2lvY3RsX2VuYWJsZWQobGMpKSB7CisJCXN0cnVjdCBsb29wX2luZm82NCAqbG8gPSBsb29wY3h0X2dldF9pbmZvKGxjKTsKKwkJaWYgKGxvKQorCQkJcmV0dXJuIGxvLT5sb19mbGFncyAmIExPX0ZMQUdTX0FVVE9DTEVBUjsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBAbGM6IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiAxIGlmIHRoZSByZWFkb25seSBmbGFncyBpcyBzZXQuCisgKi8KK2ludCBsb29wY3h0X2lzX3JlYWRvbmx5KHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpCit7CisJc3RydWN0IHN5c2ZzX2N4dCAqc3lzZnMgPSBsb29wY3h0X2dldF9zeXNmcyhsYyk7CisKKwlpZiAoc3lzZnMpIHsKKwkJaW50IGZsOworCQlpZiAoc3lzZnNfcmVhZF9pbnQoc3lzZnMsICJybyIsICZmbCkgPT0gMCkKKwkJCXJldHVybiBmbDsKKwl9CisKKwlpZiAobG9vcGN4dF9pb2N0bF9lbmFibGVkKGxjKSkgeworCQlzdHJ1Y3QgbG9vcF9pbmZvNjQgKmxvID0gbG9vcGN4dF9nZXRfaW5mbyhsYyk7CisJCWlmIChsbykKKwkJCXJldHVybiBsby0+bG9fZmxhZ3MgJiBMT19GTEFHU19SRUFEX09OTFk7CisJfQorCXJldHVybiAwOworfQorCisvKgorICogQGxjOiBjb250ZXh0CisgKgorICogUmV0dXJuczogMSBpZiB0aGUgZGlvIGZsYWdzIGlzIHNldC4KKyAqLworaW50IGxvb3BjeHRfaXNfZGlvKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpCit7CisJc3RydWN0IHN5c2ZzX2N4dCAqc3lzZnMgPSBsb29wY3h0X2dldF9zeXNmcyhsYyk7CisKKwlpZiAoc3lzZnMpIHsKKwkJaW50IGZsOworCQlpZiAoc3lzZnNfcmVhZF9pbnQoc3lzZnMsICJsb29wL2RpbyIsICZmbCkgPT0gMCkKKwkJCXJldHVybiBmbDsKKwl9CisJaWYgKGxvb3BjeHRfaW9jdGxfZW5hYmxlZChsYykpIHsKKwkJc3RydWN0IGxvb3BfaW5mbzY0ICpsbyA9IGxvb3BjeHRfZ2V0X2luZm8obGMpOworCQlpZiAobG8pCisJCQlyZXR1cm4gbG8tPmxvX2ZsYWdzICYgTE9fRkxBR1NfRElSRUNUX0lPOworCX0KKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIEBsYzogY29udGV4dAorICogQHN0OiBiYWNraW5nIGZpbGUgc3RhdCBvciBOVUxMCisgKiBAYmFja2luZ19maWxlOiBmaWxlbmFtZQorICogQG9mZnNldDogb2Zmc2V0ICh1c2UgTE9PUERFVl9GTF9PRkZTRVQgaWYgc3BlY2lmaWVkKQorICogQHNpemVsaW1pdDogc2l6ZSBsaW1pdCAodXNlIExPT1BERVZfRkxfU0laRUxJTUlUIGlmIHNwZWNpZmllZCkKKyAqIEBmbGFnczogTE9PUERFVl9GTF97T0ZGU0VULFNJWkVMSU1JVH0KKyAqCisgKiBSZXR1cm5zIDEgaWYgdGhlIGN1cnJlbnQgQGxjIGxvb3BkZXYgaXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBiYWNraW5nCisgKiBmaWxlLiBOb3RlIHRoYXQgdGhlIHByZWZlcnJlZCB3YXkgaXMgdG8gdXNlIGRldm5vIGFuZCBpbm9kZSBudW1iZXIgcmF0aGVyCisgKiB0aGFuIGZpbGVuYW1lLiBUaGUgQGJhY2tpbmdfZmlsZSBmaWxlbmFtZSBpcyBwb29yIHNvbHV0aW9uIHVzYWJsZSBpbiBjYXNlCisgKiB0aGF0IHlvdSBkb24ndCBoYXZlIHJpZ2h0cyB0byBjYWxsIHN0YXQoKS4KKyAqCisgKiBMT09QREVWX0ZMX1NJWkVMSU1JVCByZXF1aXJlcyBMT09QREVWX0ZMX09GRlNFVCBiZWluZyBzZXQgYXMgd2VsbC4KKyAqCisgKiBEb24ndCBmb3JnZXQgdGhhdCBvbGQga2VybmVscyBwcm92aWRlIHZlcnkgcmVzdHJpY3RlZCAoaW4gc2l6ZSkgYmFja2luZworICogZmlsZW5hbWUgYnkgTE9PUF9HRVRfU1RBVDY0IGlvY3RsIG9ubHkuCisgKi8KK2ludCBsb29wY3h0X2lzX3VzZWQoc3RydWN0IGxvb3BkZXZfY3h0ICpsYywKKwkJICAgIHN0cnVjdCBzdGF0ICpzdCwKKwkJICAgIGNvbnN0IGNoYXIgKmJhY2tpbmdfZmlsZSwKKwkJICAgIHVpbnQ2NF90IG9mZnNldCwKKwkJICAgIHVpbnQ2NF90IHNpemVsaW1pdCwKKwkJICAgIGludCBmbGFncykKK3sKKwlpbm9fdCBpbm87CisJZGV2X3QgZGV2OworCisJaWYgKCFsYykKKwkJcmV0dXJuIDA7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgImNoZWNraW5nICVzIHZzLiAlcyIsCisJCQkJbG9vcGN4dF9nZXRfZGV2aWNlKGxjKSwKKwkJCQliYWNraW5nX2ZpbGUpKTsKKworCWlmIChzdCAmJiBsb29wY3h0X2dldF9iYWNraW5nX2lub2RlKGxjLCAmaW5vKSA9PSAwICYmCisJCSAgbG9vcGN4dF9nZXRfYmFja2luZ19kZXZubyhsYywgJmRldikgPT0gMCkgeworCisJCWlmIChpbm8gPT0gc3QtPnN0X2lubyAmJiBkZXYgPT0gc3QtPnN0X2RldikKKwkJCWdvdG8gZm91bmQ7CisKKwkJLyogZG9uJ3QgdXNlIGZpbGVuYW1lIGlmIHdlIGhhdmUgZGV2bm8gYW5kIGlub2RlICovCisJCXJldHVybiAwOworCX0KKworCS8qIHBvb3IgbWFuJ3Mgc29sdXRpb24gKi8KKwlpZiAoYmFja2luZ19maWxlKSB7CisJCWNoYXIgKm5hbWUgPSBsb29wY3h0X2dldF9iYWNraW5nX2ZpbGUobGMpOworCQlpbnQgcmMgPSBuYW1lICYmIHN0cmNtcChuYW1lLCBiYWNraW5nX2ZpbGUpID09IDA7CisKKwkJZnJlZShuYW1lKTsKKwkJaWYgKHJjKQorCQkJZ290byBmb3VuZDsKKwl9CisKKwlyZXR1cm4gMDsKK2ZvdW5kOgorCWlmIChmbGFncyAmIExPT1BERVZfRkxfT0ZGU0VUKSB7CisJCXVpbnQ2NF90IG9mZjsKKworCQlpbnQgcmMgPSBsb29wY3h0X2dldF9vZmZzZXQobGMsICZvZmYpID09IDAgJiYgb2ZmID09IG9mZnNldDsKKworCQlpZiAocmMgJiYgZmxhZ3MgJiBMT09QREVWX0ZMX1NJWkVMSU1JVCkgeworCQkJdWludDY0X3Qgc3o7CisKKwkJCXJldHVybiBsb29wY3h0X2dldF9zaXplbGltaXQobGMsICZzeikgPT0gMCAmJiBzeiA9PSBzaXplbGltaXQ7CisJCX0gZWxzZQorCQkJcmV0dXJuIHJjOworCX0KKwlyZXR1cm4gMTsKK30KKworLyoKKyAqIFRoZSBzZXR0aW5nIGlzIHJlbW92ZWQgYnkgbG9vcGN4dF9zZXRfZGV2aWNlKCkgbG9vcGN4dF9uZXh0KCkhCisgKi8KK2ludCBsb29wY3h0X3NldF9vZmZzZXQoc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgdWludDY0X3Qgb2Zmc2V0KQoreworCWlmICghbGMpCisJCXJldHVybiAtRUlOVkFMOworCWxjLT5pbmZvLmxvX29mZnNldCA9IG9mZnNldDsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAic2V0IG9mZnNldD0lamQiLCBvZmZzZXQpKTsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFRoZSBzZXR0aW5nIGlzIHJlbW92ZWQgYnkgbG9vcGN4dF9zZXRfZGV2aWNlKCkgbG9vcGN4dF9uZXh0KCkhCisgKi8KK2ludCBsb29wY3h0X3NldF9zaXplbGltaXQoc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgdWludDY0X3Qgc2l6ZWxpbWl0KQoreworCWlmICghbGMpCisJCXJldHVybiAtRUlOVkFMOworCWxjLT5pbmZvLmxvX3NpemVsaW1pdCA9IHNpemVsaW1pdDsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAic2V0IHNpemVsaW1pdD0lamQiLCBzaXplbGltaXQpKTsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIEBsYzogY29udGV4dAorICogQGZsYWdzOiBrZXJuZWwgTE9fRkxBR1Nfe1JFQURfT05MWSxVU0VfQU9QUyxBVVRPQ0xFQVJ9IGZsYWdzCisgKgorICogVGhlIHNldHRpbmcgaXMgcmVtb3ZlZCBieSBsb29wY3h0X3NldF9kZXZpY2UoKSBsb29wY3h0X25leHQoKSEKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLgorICovCitpbnQgbG9vcGN4dF9zZXRfZmxhZ3Moc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgdWludDMyX3QgZmxhZ3MpCit7CisJaWYgKCFsYykKKwkJcmV0dXJuIC1FSU5WQUw7CisJbGMtPmluZm8ubG9fZmxhZ3MgPSBmbGFnczsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAic2V0IGZsYWdzPSV1IiwgKHVuc2lnbmVkKSBmbGFncykpOworCXJldHVybiAwOworfQorCisvKgorICogQGxjOiBjb250ZXh0CisgKiBAZmlsZW5hbWU6IGJhY2tpbmcgZmlsZSBwYXRoICh0aGUgcGF0aCB3aWxsIGJlIGNhbm9uaWNhbGl6ZWQpCisgKgorICogVGhlIHNldHRpbmcgaXMgcmVtb3ZlZCBieSBsb29wY3h0X3NldF9kZXZpY2UoKSBsb29wY3h0X25leHQoKSEKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLgorICovCitpbnQgbG9vcGN4dF9zZXRfYmFja2luZ19maWxlKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKQoreworCWlmICghbGMpCisJCXJldHVybiAtRUlOVkFMOworCisJbGMtPmZpbGVuYW1lID0gY2Fub25pY2FsaXplX3BhdGgoZmlsZW5hbWUpOworCWlmICghbGMtPmZpbGVuYW1lKQorCQlyZXR1cm4gLWVycm5vOworCisJc3RybmNweSgoY2hhciAqKWxjLT5pbmZvLmxvX2ZpbGVfbmFtZSwgbGMtPmZpbGVuYW1lLCBMT19OQU1FX1NJWkUpOworCWxjLT5pbmZvLmxvX2ZpbGVfbmFtZVtMT19OQU1FX1NJWkUtIDFdID0gJ1wwJzsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAic2V0IGJhY2tpbmcgZmlsZT0lcyIsIGxjLT5pbmZvLmxvX2ZpbGVfbmFtZSkpOworCXJldHVybiAwOworfQorCisvKgorICogSW4ga2VybmVscyBwcmlvciB0byB2My45LCBpZiB0aGUgb2Zmc2V0IG9yIHNpemVsaW1pdCBvcHRpb25zCisgKiBhcmUgdXNlZCwgdGhlIGJsb2NrIGRldmljZSdzIHNpemUgd29uJ3QgYmUgc3luY2VkIGF1dG9tYXRpY2FsbHkuCisgKiBibG9ja2RldiAtLWdldHNpemU2NCBhbmQgZmlsZXN5c3RlbXMgd2lsbCB1c2UgdGhlIGJhY2tpbmcKKyAqIGZpbGUgc2l6ZSB1bnRpbCB0aGUgYmxvY2sgZGV2aWNlIGhhcyBiZWVuIHJlLW9wZW5lZCBvciB0aGUKKyAqIExPT1BfU0VUX0NBUEFDSVRZIGlvY3RsIGlzIGNhbGxlZCB0byBzeW5jIHRoZSBzaXplcy4KKyAqCisgKiBTaW5jZSBtb3VudCAtb2xvb3AgdXNlcyB0aGUgTE9fRkxBR1NfQVVUT0NMRUFSIG9wdGlvbiBhbmQgcGFzc2VzCisgKiB0aGUgb3BlbiBmaWxlIGRlc2NyaXB0b3IgdG8gdGhlIG1vdW50IHN5c3RlbSBjYWxsLCB3ZSBuZWVkIHRvIHVzZQorICogdGhlIGlvY3RsLiBDYWxsaW5nIGxvc2V0dXAgZGlyZWN0bHkgZG9lc24ndCBoYXZlIHRoaXMgcHJvYmxlbSBzaW5jZQorICogaXQgY2xvc2VzIHRoZSBkZXZpY2Ugd2hlbiBpdCBleGl0cyBhbmQgd2hhdGV2ZXIgY29uc3VtZXMgdGhlIGRldmljZQorICogbmV4dCB3aWxsIHJlLW9wZW4gaXQsIGNhdXNpbmcgdGhlIHJlc3luYy4KKyAqLworc3RhdGljIGludCBsb29wY3h0X2NoZWNrX3NpemUoc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgaW50IGZpbGVfZmQpCit7CisJdWludDY0X3Qgc2l6ZSwgZXhwZWN0ZWRfc2l6ZTsKKwlpbnQgZGV2X2ZkOworCXN0cnVjdCBzdGF0IHN0OworCisJaWYgKCFsYy0+aW5mby5sb19vZmZzZXQgJiYgIWxjLT5pbmZvLmxvX3NpemVsaW1pdCkKKwkJcmV0dXJuIDA7CisKKwlpZiAoZnN0YXQoZmlsZV9mZCwgJnN0KSkgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgImZhaWxlZCB0byBmc3RhdCBiYWNraW5nIGZpbGUiKSk7CisJCXJldHVybiAtZXJybm87CisJfQorCWlmIChTX0lTQkxLKHN0LnN0X21vZGUpKSB7CisJCWlmIChibGtkZXZfZ2V0X3NpemUoZmlsZV9mZCwKKwkJCQkodW5zaWduZWQgbG9uZyBsb25nICopICZleHBlY3RlZF9zaXplKSkgeworCQkJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJmYWlsZWQgdG8gZGV0ZXJtaW5lIGRldmljZSBzaXplIikpOworCQkJcmV0dXJuIC1lcnJubzsKKwkJfQorCX0gZWxzZQorCQlleHBlY3RlZF9zaXplID0gc3Quc3Rfc2l6ZTsKKworCWlmIChleHBlY3RlZF9zaXplID09IDAgfHwgZXhwZWN0ZWRfc2l6ZSA8PSBsYy0+aW5mby5sb19vZmZzZXQpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJmYWlsZWQgdG8gZGV0ZXJtaW5lIGV4cGVjdGVkIHNpemUiKSk7CisJCXJldHVybiAwOwkvKiBpZ25vcmUgdGhpcyBlcnJvciAqLworCX0KKworCWlmIChsYy0+aW5mby5sb19vZmZzZXQgPiAwKQorCQlleHBlY3RlZF9zaXplIC09IGxjLT5pbmZvLmxvX29mZnNldDsKKworCWlmIChsYy0+aW5mby5sb19zaXplbGltaXQgPiAwICYmIGxjLT5pbmZvLmxvX3NpemVsaW1pdCA8IGV4cGVjdGVkX3NpemUpCisJCWV4cGVjdGVkX3NpemUgPSBsYy0+aW5mby5sb19zaXplbGltaXQ7CisKKwlkZXZfZmQgPSBsb29wY3h0X2dldF9mZChsYyk7CisJaWYgKGRldl9mZCA8IDApIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJmYWlsZWQgdG8gZ2V0IGxvb3AgRkQiKSk7CisJCXJldHVybiAtZXJybm87CisJfQorCisJaWYgKGJsa2Rldl9nZXRfc2l6ZShkZXZfZmQsICh1bnNpZ25lZCBsb25nIGxvbmcgKikgJnNpemUpKSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAiZmFpbGVkIHRvIGRldGVybWluZSBsb29wZGV2IHNpemUiKSk7CisJCXJldHVybiAtZXJybm87CisJfQorCisJLyogSXQncyBibG9jayBkZXZpY2UsIHNvLCBhbGlnbiB0byA1MTItYnl0ZSBzZWN0b3JzICovCisJaWYgKGV4cGVjdGVkX3NpemUgJSA1MTIpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJleHBlY3RlZCBzaXplIG1pc2FsaWduZWQgdG8gNTEyLWJ5dGUgc2VjdG9ycyIpKTsKKwkJZXhwZWN0ZWRfc2l6ZSA9IChleHBlY3RlZF9zaXplID4+IDkpIDw8IDk7CisJfQorCisJaWYgKGV4cGVjdGVkX3NpemUgIT0gc2l6ZSkgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgIndhcm5pbmc6IGxvb3BkZXYgYW5kIGV4cGVjdGVkICIKKwkJCQkgICAgICAic2l6ZSBtaXNtYXRjaCAoJWp1LyVqdSkiLAorCQkJCSAgICAgIHNpemUsIGV4cGVjdGVkX3NpemUpKTsKKworCQlpZiAobG9vcGN4dF9zZXRfY2FwYWNpdHkobGMpKSB7CisJCQkvKiBpb2N0bCBub3QgYXZhaWxhYmxlICovCisJCQlpZiAoZXJybm8gPT0gRU5PVFRZIHx8IGVycm5vID09IEVJTlZBTCkKKwkJCQllcnJubyA9IEVSQU5HRTsKKwkJCXJldHVybiAtZXJybm87CisJCX0KKworCQlpZiAoYmxrZGV2X2dldF9zaXplKGRldl9mZCwgKHVuc2lnbmVkIGxvbmcgbG9uZyAqKSAmc2l6ZSkpCisJCQlyZXR1cm4gLWVycm5vOworCisJCWlmIChleHBlY3RlZF9zaXplICE9IHNpemUpIHsKKwkJCWVycm5vID0gRVJBTkdFOworCQkJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJmYWlsZWQgdG8gc2V0IGxvb3BkZXYgc2l6ZSwgIgorCQkJCQkic2l6ZTogJWp1LCBleHBlY3RlZDogJWp1IiwKKwkJCQkJc2l6ZSwgZXhwZWN0ZWRfc2l6ZSkpOworCQkJcmV0dXJuIC1lcnJubzsKKwkJfQorCX0KKworCXJldHVybiAwOworfQorCisvKgorICogQGxjOiBjb250ZXh0CisgKgorICogQXNzb2NpYXRlIHRoZSBjdXJyZW50IGRldmljZSAoc2VlIGxvb3BjeHRfe3NldCxnZXR9X2RldmljZSgpKSB3aXRoCisgKiBhIGZpbGUgKHNlZSBsb29wY3h0X3NldF9iYWNraW5nX2ZpbGUoKSkuCisgKgorICogVGhlIGRldmljZSBpcyBpbml0aWFsaXplZCByZWFkLXdyaXRlIGJ5IGRlZmF1bHQuIElmIHlvdSB3YW50IHJlYWQtb25seQorICogZGV2aWNlIHRoZW4gc2V0IExPX0ZMQUdTX1JFQURfT05MWSBieSBsb29wY3h0X3NldF9mbGFncygpLiBUaGUgTE9PUERFVl9GTF8qCisgKiBmbGFncyBhcmUgaWdub3JlZCBhbmQgbW9kaWZpZWQgYWNjb3JkaW5nIHRvIExPX0ZMQUdTXyouCisgKgorICogSWYgdGhlIGRldmljZSBpcyBhbHJlYWR5IG9wZW4gYnkgbG9vcGN4dF9nZXRfZmQoKSB0aGVuIHRoaXMgc2V0dXAgZGV2aWNlCisgKiBmdW5jdGlvbiB3aWxsIHJlLW9wZW4gdGhlIGRldmljZSB0byBmaXggcmVhZC93cml0ZSBtb2RlLgorICoKKyAqIFRoZSBkZXZpY2UgaXMgYWxzbyBpbml0aWFsaXplZCByZWFkLW9ubHkgaWYgdGhlIGJhY2tpbmcgZmlsZSBpcyBub3QKKyAqIHBvc3NpYmxlIHRvIG9wZW4gcmVhZC13cml0ZSAoZS5nLiByZWFkLW9ubHkgRlMpLgorICoKKyAqIFJldHVybnM6IDwwIG9uIGVycm9yLCAwIG9uIHN1Y2Nlc3MuCisgKi8KK2ludCBsb29wY3h0X3NldHVwX2RldmljZShzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKQoreworCWludCBmaWxlX2ZkLCBkZXZfZmQsIG1vZGUgPSBPX1JEV1IsIHJjID0gLTEsIGNudCA9IDA7CisJaW50IGVycnN2ID0gMDsKKworCWlmICghbGMgfHwgISpsYy0+ZGV2aWNlIHx8ICFsYy0+ZmlsZW5hbWUpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKFNFVFVQLCB1bF9kZWJ1Z29iaihsYywgImRldmljZSBzZXR1cCByZXF1ZXN0ZWQiKSk7CisKKwkvKgorCSAqIE9wZW4gYmFja2luZyBmaWxlIGFuZCBkZXZpY2UKKwkgKi8KKwlpZiAobGMtPmluZm8ubG9fZmxhZ3MgJiBMT19GTEFHU19SRUFEX09OTFkpCisJCW1vZGUgPSBPX1JET05MWTsKKworCWlmICgoZmlsZV9mZCA9IG9wZW4obGMtPmZpbGVuYW1lLCBtb2RlIHwgT19DTE9FWEVDKSkgPCAwKSB7CisJCWlmIChtb2RlICE9IE9fUkRPTkxZICYmIChlcnJubyA9PSBFUk9GUyB8fCBlcnJubyA9PSBFQUNDRVMpKQorCQkJZmlsZV9mZCA9IG9wZW4obGMtPmZpbGVuYW1lLCBtb2RlID0gT19SRE9OTFkpOworCisJCWlmIChmaWxlX2ZkIDwgMCkgeworCQkJREJHKFNFVFVQLCB1bF9kZWJ1Z29iaihsYywgIm9wZW4gYmFja2luZyBmaWxlIGZhaWxlZDogJW0iKSk7CisJCQlyZXR1cm4gLWVycm5vOworCQl9CisJfQorCURCRyhTRVRVUCwgdWxfZGVidWdvYmoobGMsICJiYWNraW5nIGZpbGUgb3BlbjogT0siKSk7CisKKwlpZiAobGMtPmZkICE9IC0xICYmIGxjLT5tb2RlICE9IG1vZGUpIHsKKwkJREJHKFNFVFVQLCB1bF9kZWJ1Z29iaihsYywgImNsb3NpbmcgYWxyZWFkeSBvcGVuIGRldmljZSAobW9kZSBtaXNtYXRjaCkiKSk7CisJCWNsb3NlKGxjLT5mZCk7CisJCWxjLT5mZCA9IC0xOworCQlsYy0+bW9kZSA9IDA7CisJfQorCisJaWYgKG1vZGUgPT0gT19SRE9OTFkpIHsKKwkJbGMtPmZsYWdzIHw9IExPT1BERVZfRkxfUkRPTkxZOwkJCS8qIG9wZW4oKSBtb2RlICovCisJCWxjLT5pbmZvLmxvX2ZsYWdzIHw9IExPX0ZMQUdTX1JFQURfT05MWTsJLyoga2VybmVsIGxvb3BkZXYgbW9kZSAqLworCX0gZWxzZSB7CisJCWxjLT5mbGFncyB8PSBMT09QREVWX0ZMX1JEV1I7CQkJLyogb3BlbigpIG1vZGUgKi8KKwkJbGMtPmluZm8ubG9fZmxhZ3MgJj0gfkxPX0ZMQUdTX1JFQURfT05MWTsKKwkJbGMtPmZsYWdzICY9IH5MT09QREVWX0ZMX1JET05MWTsKKwl9CisKKwlkbyB7CisJCWVycm5vID0gMDsKKwkJZGV2X2ZkID0gbG9vcGN4dF9nZXRfZmQobGMpOworCQlpZiAoZGV2X2ZkID49IDAgfHwgbGMtPmNvbnRyb2xfb2sgPT0gMCkKKwkJCWJyZWFrOworCQlpZiAoZXJybm8gIT0gRUFDQ0VTICYmIGVycm5vICE9IEVOT0VOVCkKKwkJCWJyZWFrOworCQkvKiBXZSBoYXZlIHBlcm1pc3Npb25zIHRvIG9wZW4gL2Rldi9sb29wLWNvbnRyb2wsIGJ1dCBvcGVuCisJCSAqIC9kZXYvbG9vcE4gZmFpbGVkIHdpdGggRUFDQ0VTLCBpdCdzIHByb2JhYmx5IGJlY2F1c2UgdWRldmQKKwkJICogZG9lcyBub3QgYXBwbGllZCBjaG93biB5ZXQuIExldCdzIHdhaXQgYSBtb21lbnQuICovCisJCXh1c2xlZXAoMjUwMDApOworCX0gd2hpbGUgKGNudCsrIDwgMTYpOworCisJaWYgKGRldl9mZCA8IDApIHsKKwkJcmMgPSAtZXJybm87CisJCWdvdG8gZXJyOworCX0KKworCURCRyhTRVRVUCwgdWxfZGVidWdvYmoobGMsICJkZXZpY2Ugb3BlbjogT0siKSk7CisKKwkvKgorCSAqIFNldCBGRAorCSAqLworCWlmIChpb2N0bChkZXZfZmQsIExPT1BfU0VUX0ZELCBmaWxlX2ZkKSA8IDApIHsKKwkJcmMgPSAtZXJybm87CisJCWVycnN2ID0gZXJybm87CisJCURCRyhTRVRVUCwgdWxfZGVidWdvYmoobGMsICJMT09QX1NFVF9GRCBmYWlsZWQ6ICVtIikpOworCQlnb3RvIGVycjsKKwl9CisKKwlEQkcoU0VUVVAsIHVsX2RlYnVnb2JqKGxjLCAiTE9PUF9TRVRfRkQ6IE9LIikpOworCisJaWYgKGlvY3RsKGRldl9mZCwgTE9PUF9TRVRfU1RBVFVTNjQsICZsYy0+aW5mbykpIHsKKwkJcmMgPSAtZXJybm87CisJCWVycnN2ID0gZXJybm87CisJCURCRyhTRVRVUCwgdWxfZGVidWdvYmoobGMsICJMT09QX1NFVF9TVEFUVVM2NCBmYWlsZWQ6ICVtIikpOworCQlnb3RvIGVycjsKKwl9CisKKwlEQkcoU0VUVVAsIHVsX2RlYnVnb2JqKGxjLCAiTE9PUF9TRVRfU1RBVFVTNjQ6IE9LIikpOworCisJaWYgKChyYyA9IGxvb3BjeHRfY2hlY2tfc2l6ZShsYywgZmlsZV9mZCkpKQorCQlnb3RvIGVycjsKKworCWNsb3NlKGZpbGVfZmQpOworCisJbWVtc2V0KCZsYy0+aW5mbywgMCwgc2l6ZW9mKGxjLT5pbmZvKSk7CisJbGMtPmhhc19pbmZvID0gMDsKKwlsYy0+aW5mb19mYWlsZWQgPSAwOworCisJREJHKFNFVFVQLCB1bF9kZWJ1Z29iaihsYywgInN1Y2Nlc3MgW3JjPTBdIikpOworCXJldHVybiAwOworZXJyOgorCWlmIChmaWxlX2ZkID49IDApCisJCWNsb3NlKGZpbGVfZmQpOworCWlmIChkZXZfZmQgPj0gMCAmJiByYyAhPSAtRUJVU1kpCisJCWlvY3RsKGRldl9mZCwgTE9PUF9DTFJfRkQsIDApOworCWlmIChlcnJzdikKKwkJZXJybm8gPSBlcnJzdjsKKworCURCRyhTRVRVUCwgdWxfZGVidWdvYmoobGMsICJmYWlsZWQgW3JjPSVkXSIsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCisvKgorICogQGxjOiBjb250ZXh0CisgKgorICogVXBkYXRlIHN0YXR1cyBvZiB0aGUgY3VycmVudCBkZXZpY2UgKHNlZSBsb29wY3h0X3tzZXQsZ2V0fV9kZXZpY2UoKSkuCisgKgorICogTm90ZSB0aGF0IG9uY2UgaW5pdGlhbGl6ZWQsIGtlcm5lbCBhY2NlcHRzIG9ubHkgc2VsZWN0ZWQgY2hhbmdlczoKKyAqIExPX0ZMQUdTX0FVVE9DTEVBUiBhbmQgTE9fRkxBR1NfUEFSVFNDQU4KKyAqIEZvciBtb3JlIHNlZSBsaW51eC9kcml2ZXJzL2Jsb2NrL2xvb3AuYzpsb29wX3NldF9zdGF0dXMoKQorICoKKyAqIFJldHVybnM6IDwwIG9uIGVycm9yLCAwIG9uIHN1Y2Nlc3MuCisgKi8KK2ludCBsb29wY3h0X3NldF9zdGF0dXMoc3RydWN0IGxvb3BkZXZfY3h0ICpsYykKK3sKKwlpbnQgZGV2X2ZkLCByYyA9IC0xOworCisJZXJybm8gPSAwOworCWRldl9mZCA9IGxvb3BjeHRfZ2V0X2ZkKGxjKTsKKworCWlmIChkZXZfZmQgPCAwKSB7CisJCXJjID0gLWVycm5vOworCQlyZXR1cm4gcmM7CisJfQorCURCRyhTRVRVUCwgdWxfZGVidWdvYmoobGMsICJkZXZpY2Ugb3BlbjogT0siKSk7CisKKwlpZiAoaW9jdGwoZGV2X2ZkLCBMT09QX1NFVF9TVEFUVVM2NCwgJmxjLT5pbmZvKSkgeworCQlyYyA9IC1lcnJubzsKKwkJREJHKFNFVFVQLCB1bF9kZWJ1Z29iaihsYywgIkxPT1BfU0VUX1NUQVRVUzY0IGZhaWxlZDogJW0iKSk7CisJCXJldHVybiByYzsKKwl9CisKKwlEQkcoU0VUVVAsIHVsX2RlYnVnb2JqKGxjLCAiTE9PUF9TRVRfU1RBVFVTNjQ6IE9LIikpOworCXJldHVybiAwOworfQorCitpbnQgbG9vcGN4dF9zZXRfY2FwYWNpdHkoc3RydWN0IGxvb3BkZXZfY3h0ICpsYykKK3sKKwlpbnQgZmQgPSBsb29wY3h0X2dldF9mZChsYyk7CisKKwlpZiAoZmQgPCAwKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCS8qIEtlcm5lbHMgcHJpb3IgdG8gdjIuNi4zMCBkb24ndCBzdXBwb3J0IHRoaXMgaW9jdGwgKi8KKwlpZiAoaW9jdGwoZmQsIExPT1BfU0VUX0NBUEFDSVRZLCAwKSA8IDApIHsKKwkJaW50IHJjID0gLWVycm5vOworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgIkxPT1BfU0VUX0NBUEFDSVRZIGZhaWxlZDogJW0iKSk7CisJCXJldHVybiByYzsKKwl9CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgImNhcGFjaXR5IHNldCIpKTsKKwlyZXR1cm4gMDsKK30KKworaW50IGxvb3BjeHRfc2V0X2RpbyhzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjLCB1bnNpZ25lZCBsb25nIHVzZV9kaW8pCit7CisJaW50IGZkID0gbG9vcGN4dF9nZXRfZmQobGMpOworCisJaWYgKGZkIDwgMCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiBLZXJuZWxzIHByaW9yIHRvIHY0LjQgZG9uJ3Qgc3VwcG9ydCB0aGlzIGlvY3RsICovCisJaWYgKGlvY3RsKGZkLCBMT09QX1NFVF9ESVJFQ1RfSU8sIHVzZV9kaW8pIDwgMCkgeworCQlpbnQgcmMgPSAtZXJybm87CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAiTE9PUF9TRVRfRElSRUNUX0lPIGZhaWxlZDogJW0iKSk7CisJCXJldHVybiByYzsKKwl9CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgImRpcmVjdCBpbyBzZXQiKSk7CisJcmV0dXJuIDA7Cit9CisKK2ludCBsb29wY3h0X2RlbGV0ZV9kZXZpY2Uoc3RydWN0IGxvb3BkZXZfY3h0ICpsYykKK3sKKwlpbnQgZmQgPSBsb29wY3h0X2dldF9mZChsYyk7CisKKwlpZiAoZmQgPCAwKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChpb2N0bChmZCwgTE9PUF9DTFJfRkQsIDApIDwgMCkgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgIkxPT1BfQ0xSX0ZEIGZhaWxlZDogJW0iKSk7CisJCXJldHVybiAtZXJybm87CisJfQorCisJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJkZXZpY2UgcmVtb3ZlZCIpKTsKKwlyZXR1cm4gMDsKK30KKworaW50IGxvb3BjeHRfYWRkX2RldmljZShzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKQoreworCWludCByYyA9IC1FSU5WQUw7CisJaW50IGN0bCwgbnIgPSAtMTsKKwljb25zdCBjaGFyICpwLCAqZGV2ID0gbG9vcGN4dF9nZXRfZGV2aWNlKGxjKTsKKworCWlmICghZGV2KQorCQlnb3RvIGRvbmU7CisKKwlpZiAoIShsYy0+ZmxhZ3MgJiBMT09QREVWX0ZMX0NPTlRST0wpKSB7CisJCXJjID0gLUVOT1NZUzsKKwkJZ290byBkb25lOworCX0KKworCXAgPSBzdHJyY2hyKGRldiwgJy8nKTsKKwlpZiAoIXAgfHwgKHNzY2FuZihwLCAiL2xvb3AlZCIsICZucikgIT0gMSAmJiBzc2NhbmYocCwgIi8lZCIsICZucikgIT0gMSkKKwkgICAgICAgfHwgbnIgPCAwKQorCQlnb3RvIGRvbmU7CisKKwljdGwgPSBvcGVuKF9QQVRIX0RFVl9MT09QQ1RMLCBPX1JEV1J8T19DTE9FWEVDKTsKKwlpZiAoY3RsID49IDApIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJhZGRfZGV2aWNlICVkIiwgbnIpKTsKKwkJcmMgPSBpb2N0bChjdGwsIExPT1BfQ1RMX0FERCwgbnIpOworCQljbG9zZShjdGwpOworCX0KKwlsYy0+Y29udHJvbF9vayA9IHJjID49IDAgPyAxIDogMDsKK2RvbmU6CisJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJhZGRfZGV2aWNlIGRvbmUgW3JjPSVkXSIsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCisvKgorICogTm90ZSB0aGF0IExPT1BfQ1RMX0dFVF9GUkVFIGlvY3RsIGlzIHN1cHBvcnRlZCBzaW5jZSBrZXJuZWwgMy4xLiBJbiBvbGRlcgorICoga2VybmVscyB3ZSBoYXZlIHRvIGNoZWNrIGFsbCBsb29wIGRldmljZXMgdG8gZm91bmQgdW51c2VkIG9uZS4KKyAqCisgKiBTZWUga2VybmVsIGNvbW1pdCA3NzBmZTMwYTQ2YTEyYjZmYjZiNjNmYmUxNzM3NjU0ZDI4ZTg0ODQuCisgKi8KK2ludCBsb29wY3h0X2ZpbmRfdW51c2VkKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpCit7CisJaW50IHJjID0gLTE7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgImZpbmRfdW51c2VkIHJlcXVlc3RlZCIpKTsKKworCWlmIChsYy0+ZmxhZ3MgJiBMT09QREVWX0ZMX0NPTlRST0wpIHsKKwkJaW50IGN0bDsKKworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgInVzaW5nIGxvb3AtY29udHJvbCIpKTsKKworCQljdGwgPSBvcGVuKF9QQVRIX0RFVl9MT09QQ1RMLCBPX1JEV1J8T19DTE9FWEVDKTsKKwkJaWYgKGN0bCA+PSAwKQorCQkJcmMgPSBpb2N0bChjdGwsIExPT1BfQ1RMX0dFVF9GUkVFKTsKKwkJaWYgKHJjID49IDApIHsKKwkJCWNoYXIgbmFtZVsxNl07CisJCQlzbnByaW50ZihuYW1lLCBzaXplb2YobmFtZSksICJsb29wJWQiLCByYyk7CisKKwkJCXJjID0gbG9vcGl0ZXJfc2V0X2RldmljZShsYywgbmFtZSk7CisJCX0KKwkJbGMtPmNvbnRyb2xfb2sgPSBjdGwgPj0gMCAmJiByYyA9PSAwID8gMSA6IDA7CisJCWlmIChjdGwgPj0gMCkKKwkJCWNsb3NlKGN0bCk7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAiZmluZF91bnVzZWQgYnkgbG9vcC1jb250cm9sIFtyYz0lZF0iLCByYykpOworCX0KKworCWlmIChyYyA8IDApIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJ1c2luZyBsb29wIHNjYW4iKSk7CisJCXJjID0gbG9vcGN4dF9pbml0X2l0ZXJhdG9yKGxjLCBMT09QSVRFUl9GTF9GUkVFKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCisJCXJjID0gbG9vcGN4dF9uZXh0KGxjKTsKKwkJbG9vcGN4dF9kZWluaXRfaXRlcmF0b3IobGMpOworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgImZpbmRfdW51c2VkIGJ5IHNjYW4gW3JjPSVkXSIsIHJjKSk7CisJfQorCXJldHVybiByYzsKK30KKworCisKKy8qCisgKiBSZXR1cm46IFRSVUUvRkFMU0UKKyAqLworaW50IGxvb3BkZXZfaXNfYXV0b2NsZWFyKGNvbnN0IGNoYXIgKmRldmljZSkKK3sKKwlzdHJ1Y3QgbG9vcGRldl9jeHQgbGM7CisJaW50IHJjOworCisJaWYgKCFkZXZpY2UpCisJCXJldHVybiAwOworCisJcmMgPSBsb29wY3h0X2luaXQoJmxjLCAwKTsKKwlpZiAoIXJjKQorCQlyYyA9IGxvb3BjeHRfc2V0X2RldmljZSgmbGMsIGRldmljZSk7CisJaWYgKCFyYykKKwkJcmMgPSBsb29wY3h0X2lzX2F1dG9jbGVhcigmbGMpOworCisJbG9vcGN4dF9kZWluaXQoJmxjKTsKKwlyZXR1cm4gcmM7Cit9CisKK2NoYXIgKmxvb3BkZXZfZ2V0X2JhY2tpbmdfZmlsZShjb25zdCBjaGFyICpkZXZpY2UpCit7CisJc3RydWN0IGxvb3BkZXZfY3h0IGxjOworCWNoYXIgKnJlcyA9IE5VTEw7CisKKwlpZiAoIWRldmljZSkKKwkJcmV0dXJuIE5VTEw7CisJaWYgKGxvb3BjeHRfaW5pdCgmbGMsIDApKQorCQlyZXR1cm4gTlVMTDsKKwlpZiAobG9vcGN4dF9zZXRfZGV2aWNlKCZsYywgZGV2aWNlKSA9PSAwKQorCQlyZXMgPSBsb29wY3h0X2dldF9iYWNraW5nX2ZpbGUoJmxjKTsKKworCWxvb3BjeHRfZGVpbml0KCZsYyk7CisJcmV0dXJuIHJlczsKK30KKworLyoKKyAqIFJldHVybnM6IFRSVUUvRkFMU0UKKyAqLworaW50IGxvb3BkZXZfaXNfdXNlZChjb25zdCBjaGFyICpkZXZpY2UsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorCQkgICAgdWludDY0X3Qgb2Zmc2V0LCB1aW50NjRfdCBzaXplbGltaXQsIGludCBmbGFncykKK3sKKwlzdHJ1Y3QgbG9vcGRldl9jeHQgbGM7CisJc3RydWN0IHN0YXQgc3Q7CisJaW50IHJjID0gMDsKKworCWlmICghZGV2aWNlIHx8ICFmaWxlbmFtZSkKKwkJcmV0dXJuIDA7CisKKwlyYyA9IGxvb3BjeHRfaW5pdCgmbGMsIDApOworCWlmICghcmMpCisJCXJjID0gbG9vcGN4dF9zZXRfZGV2aWNlKCZsYywgZGV2aWNlKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCXJjID0gIXN0YXQoZmlsZW5hbWUsICZzdCk7CisJcmMgPSBsb29wY3h0X2lzX3VzZWQoJmxjLCByYyA/ICZzdCA6IE5VTEwsIGZpbGVuYW1lLCBvZmZzZXQsIHNpemVsaW1pdCwgZmxhZ3MpOworCisJbG9vcGN4dF9kZWluaXQoJmxjKTsKKwlyZXR1cm4gcmM7Cit9CisKK2ludCBsb29wZGV2X2RlbGV0ZShjb25zdCBjaGFyICpkZXZpY2UpCit7CisJc3RydWN0IGxvb3BkZXZfY3h0IGxjOworCWludCByYzsKKworCWlmICghZGV2aWNlKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXJjID0gbG9vcGN4dF9pbml0KCZsYywgMCk7CisJaWYgKCFyYykKKwkJcmMgPSBsb29wY3h0X3NldF9kZXZpY2UoJmxjLCBkZXZpY2UpOworCWlmICghcmMpCisJCXJjID0gbG9vcGN4dF9kZWxldGVfZGV2aWNlKCZsYyk7CisJbG9vcGN4dF9kZWluaXQoJmxjKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBSZXR1cm5zOiAwID0gc3VjY2VzcywgPCAwIGVycm9yLCAxIG5vdCBmb3VuZAorICovCitpbnQgbG9vcGN4dF9maW5kX2J5X2JhY2tpbmdfZmlsZShzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjLCBjb25zdCBjaGFyICpmaWxlbmFtZSwKKwkJCQkgdWludDY0X3Qgb2Zmc2V0LCB1aW50NjRfdCBzaXplbGltaXQsIGludCBmbGFncykKK3sKKwlpbnQgcmMsIGhhc3N0OworCXN0cnVjdCBzdGF0IHN0OworCisJaWYgKCFmaWxlbmFtZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwloYXNzdCA9ICFzdGF0KGZpbGVuYW1lLCAmc3QpOworCisJcmMgPSBsb29wY3h0X2luaXRfaXRlcmF0b3IobGMsIExPT1BJVEVSX0ZMX1VTRUQpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJd2hpbGUgKChyYyA9IGxvb3BjeHRfbmV4dChsYykpID09IDApIHsKKworCQlpZiAobG9vcGN4dF9pc191c2VkKGxjLCBoYXNzdCA/ICZzdCA6IE5VTEwsCisJCQkJICAgIGZpbGVuYW1lLCBvZmZzZXQsIHNpemVsaW1pdCwgZmxhZ3MpKQorCQkJYnJlYWs7CisJfQorCisJbG9vcGN4dF9kZWluaXRfaXRlcmF0b3IobGMpOworCXJldHVybiByYzsKK30KKworLyoKKyAqIFJldHVybnM6IDAgPSBub3QgZm91bmQsIDwgMCBlcnJvciwgMSBmb3VuZCwgMiBmb3VuZCBmdWxsIHNpemUgYW5kIG9mZnNldCBtYXRjaAorICovCitpbnQgbG9vcGN4dF9maW5kX292ZXJsYXAoc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgY29uc3QgY2hhciAqZmlsZW5hbWUsCisJCQkgICB1aW50NjRfdCBvZmZzZXQsIHVpbnQ2NF90IHNpemVsaW1pdCkKK3sKKwlpbnQgcmMsIGhhc3N0OworCXN0cnVjdCBzdGF0IHN0OworCisJaWYgKCFmaWxlbmFtZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgImZpbmRfb3ZlcmxhcCByZXF1ZXN0ZWQiKSk7CisJaGFzc3QgPSAhc3RhdChmaWxlbmFtZSwgJnN0KTsKKworCXJjID0gbG9vcGN4dF9pbml0X2l0ZXJhdG9yKGxjLCBMT09QSVRFUl9GTF9VU0VEKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCXdoaWxlICgocmMgPSBsb29wY3h0X25leHQobGMpKSA9PSAwKSB7CisJCXVpbnQ2NF90IGxjX3NpemVsaW1pdCwgbGNfb2Zmc2V0OworCisJCXJjID0gbG9vcGN4dF9pc191c2VkKGxjLCBoYXNzdCA/ICZzdCA6IE5VTEwsCisJCQkJICAgICBmaWxlbmFtZSwgb2Zmc2V0LCBzaXplbGltaXQsIDApOworCQlpZiAoIXJjKQorCQkJY29udGludWU7CS8qIHVudXNlZCAqLworCQlpZiAocmMgPCAwKQorCQkJYnJlYWs7CQkvKiBlcnJvciAqLworCisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAiZm91bmQgJXMgYmFja2VkIGJ5ICVzIiwKKwkJCWxvb3BjeHRfZ2V0X2RldmljZShsYyksIGZpbGVuYW1lKSk7CisKKwkJcmMgPSBsb29wY3h0X2dldF9vZmZzZXQobGMsICZsY19vZmZzZXQpOworCQlpZiAocmMpIHsKKwkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAiZmFpbGVkIHRvIGdldCBvZmZzZXQgZm9yIGRldmljZSAlcyIsCisJCQkJbG9vcGN4dF9nZXRfZGV2aWNlKGxjKSkpOworCQkJYnJlYWs7CisJCX0KKwkJcmMgPSBsb29wY3h0X2dldF9zaXplbGltaXQobGMsICZsY19zaXplbGltaXQpOworCQlpZiAocmMpIHsKKwkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAiZmFpbGVkIHRvIGdldCBzaXplbGltaXQgZm9yIGRldmljZSAlcyIsCisJCQkJbG9vcGN4dF9nZXRfZGV2aWNlKGxjKSkpOworCQkJYnJlYWs7CisJCX0KKworCQkvKiBmdWxsIG1hdGNoICovCisJCWlmIChsY19zaXplbGltaXQgPT0gc2l6ZWxpbWl0ICYmIGxjX29mZnNldCA9PSBvZmZzZXQpIHsKKwkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAib3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgJXMgKGZ1bGwgbWF0Y2gpIiwKKwkJCQkJCWxvb3BjeHRfZ2V0X2RldmljZShsYykpKTsKKwkJCXJjID0gMjsKKwkJCWdvdG8gZm91bmQ7CisJCX0KKworCQkvKiBvdmVybGFwICovCisJCWlmIChsY19zaXplbGltaXQgIT0gMCAmJiBvZmZzZXQgPj0gbGNfb2Zmc2V0ICsgbGNfc2l6ZWxpbWl0KQorCQkJY29udGludWU7CisJCWlmIChzaXplbGltaXQgIT0gMCAmJiBvZmZzZXQgKyBzaXplbGltaXQgPD0gbGNfb2Zmc2V0KQorCQkJY29udGludWU7CisKKwkJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJvdmVybGFwcGluZyBsb29wIGRldmljZSAlcyIsCisJCQlsb29wY3h0X2dldF9kZXZpY2UobGMpKSk7CisJCQlyYyA9IDE7CisJCQlnb3RvIGZvdW5kOworCX0KKworCWlmIChyYyA9PSAxKQorCQlyYyA9IDA7CS8qIG5vdCBmb3VuZCAqLworZm91bmQ6CisJbG9vcGN4dF9kZWluaXRfaXRlcmF0b3IobGMpOworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAiZmluZF9vdmVybGFwIGRvbmUgW3JjPSVkXSIsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCisvKgorICogUmV0dXJucyBhbGxvY2F0ZWQgc3RyaW5nIHdpdGggZGV2aWNlIG5hbWUKKyAqLworY2hhciAqbG9vcGRldl9maW5kX2J5X2JhY2tpbmdfZmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSwgdWludDY0X3Qgb2Zmc2V0LCB1aW50NjRfdCBzaXplbGltaXQsIGludCBmbGFncykKK3sKKwlzdHJ1Y3QgbG9vcGRldl9jeHQgbGM7CisJY2hhciAqcmVzID0gTlVMTDsKKworCWlmICghZmlsZW5hbWUpCisJCXJldHVybiBOVUxMOworCisJaWYgKGxvb3BjeHRfaW5pdCgmbGMsIDApKQorCQlyZXR1cm4gTlVMTDsKKwlpZiAobG9vcGN4dF9maW5kX2J5X2JhY2tpbmdfZmlsZSgmbGMsIGZpbGVuYW1lLCBvZmZzZXQsIHNpemVsaW1pdCwgZmxhZ3MpID09IDApCisJCXJlcyA9IGxvb3BjeHRfc3RyZHVwX2RldmljZSgmbGMpOworCWxvb3BjeHRfZGVpbml0KCZsYyk7CisKKwlyZXR1cm4gcmVzOworfQorCisvKgorICogUmV0dXJucyBudW1iZXIgb2YgbG9vcCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCBAZmlsZSwgaWYgb25seSBvbmUgbG9vcAorICogZGV2aWNlIGlzIGFzc29jaWV0ZWQgd2l0aCB0aGUgZ2l2ZW4gQGZpbGVuYW1lIGFuZCBAbG9vcGRldiBpcyBub3QgTlVMTCB0aGVuCisgKiBAbG9vcGRldiByZXR1cm5zIG5hbWUgb2YgdGhlIGRldmljZS4KKyAqLworaW50IGxvb3BkZXZfY291bnRfYnlfYmFja2luZ19maWxlKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBjaGFyICoqbG9vcGRldikKK3sKKwlzdHJ1Y3QgbG9vcGRldl9jeHQgbGM7CisJaW50IGNvdW50ID0gMCwgcmM7CisKKwlpZiAoIWZpbGVuYW1lKQorCQlyZXR1cm4gLTE7CisKKwlyYyA9IGxvb3BjeHRfaW5pdCgmbGMsIDApOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCWlmIChsb29wY3h0X2luaXRfaXRlcmF0b3IoJmxjLCBMT09QSVRFUl9GTF9VU0VEKSkKKwkJcmV0dXJuIC0xOworCisJd2hpbGUobG9vcGN4dF9uZXh0KCZsYykgPT0gMCkgeworCQljaGFyICpiYWNraW5nID0gbG9vcGN4dF9nZXRfYmFja2luZ19maWxlKCZsYyk7CisKKwkJaWYgKCFiYWNraW5nIHx8IHN0cmNtcChiYWNraW5nLCBmaWxlbmFtZSkpIHsKKwkJCWZyZWUoYmFja2luZyk7CisJCQljb250aW51ZTsKKwkJfQorCisJCWZyZWUoYmFja2luZyk7CisJCWlmIChsb29wZGV2ICYmIGNvdW50ID09IDApCisJCQkqbG9vcGRldiA9IGxvb3BjeHRfc3RyZHVwX2RldmljZSgmbGMpOworCQljb3VudCsrOworCX0KKworCWxvb3BjeHRfZGVpbml0KCZsYyk7CisKKwlpZiAobG9vcGRldiAmJiBjb3VudCA+IDEpIHsKKwkJZnJlZSgqbG9vcGRldik7CisJCSpsb29wZGV2ID0gTlVMTDsKKwl9CisJcmV0dXJuIGNvdW50OworfQorCmRpZmYgLS1naXQgYS9saWIvbWFuZ2xlLmMgYi9saWIvbWFuZ2xlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTIzNmU5NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9tYW5nbGUuYwpAQCAtMCwwICsxLDE2NiBAQAorLyoKKyAqIEZ1bmN0aW9ucyBmb3IgXG9jdCBlbmNvZGluZyB1c2VkIGluIG10YWIvZnN0YWIvc3dhcHMvZXRjLgorICoKKyAqIEJhc2VkIG9uIGNvZGUgZnJvbSBtb3VudCg4KS4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisKKyNpbmNsdWRlICJtYW5nbGUuaCIKKyNpbmNsdWRlICJjLmgiCisKKyNkZWZpbmUgaXNvY3RhbChhKQkJKCgoYSkgJiB+NykgPT0gJzAnKQorCisjZGVmaW5lIGZyb21faGV4KGMpCQkoaXNkaWdpdChjKSA/IGMgLSAnMCcgOiB0b2xvd2VyKGMpIC0gJ2EnICsgMTApCisKKyNkZWZpbmUgaXNfdW53YW50ZWRfY2hhcih4KQkoc3RyY2hyKCIgXHRcblxcIiwgKHVuc2lnbmVkIGludCkgeCkgIT0gTlVMTCkKKworCitjaGFyICptYW5nbGUoY29uc3QgY2hhciAqcykKK3sKKwljaGFyICpzcywgKnNwOworCisJaWYgKCFzKQorCQlyZXR1cm4gTlVMTDsKKworCXNzID0gc3AgPSBtYWxsb2MoNCAqIHN0cmxlbihzKSArIDEpOworCWlmICghc3ApCisJCXJldHVybiBOVUxMOworCXdoaWxlKDEpIHsKKwkJaWYgKCEqcykgeworCQkJKnNwID0gJ1wwJzsKKwkJCWJyZWFrOworCQl9CisJCWlmIChpc191bndhbnRlZF9jaGFyKCpzKSkgeworCQkJKnNwKysgPSAnXFwnOworCQkJKnNwKysgPSAnMCcgKyAoKCpzICYgMDMwMCkgPj4gNik7CisJCQkqc3ArKyA9ICcwJyArICgoKnMgJiAwNzApID4+IDMpOworCQkJKnNwKysgPSAnMCcgKyAoKnMgJiAwNyk7CisJCX0gZWxzZQorCQkJKnNwKysgPSAqczsKKwkJcysrOworCX0KKwlyZXR1cm4gc3M7Cit9CisKKwordm9pZCB1bm1hbmdsZV90b19idWZmZXIoY29uc3QgY2hhciAqcywgY2hhciAqYnVmLCBzaXplX3QgbGVuKQoreworCXNpemVfdCBzeiA9IDA7CisKKwlpZiAoIXMpCisJCXJldHVybjsKKworCXdoaWxlKCpzICYmIHN6IDwgbGVuIC0gMSkgeworCQlpZiAoKnMgPT0gJ1xcJyAmJiBzeiArIDMgPCBsZW4gLSAxICYmIGlzb2N0YWwoc1sxXSkgJiYKKwkJICAgIGlzb2N0YWwoc1syXSkgJiYgaXNvY3RhbChzWzNdKSkgeworCisJCQkqYnVmKysgPSA2NCooc1sxXSAmIDcpICsgOCooc1syXSAmIDcpICsgKHNbM10gJiA3KTsKKwkJCXMgKz0gNDsKKwkJCXN6ICs9IDQ7CisJCX0gZWxzZSB7CisJCQkqYnVmKysgPSAqcysrOworCQkJc3orKzsKKwkJfQorCX0KKwkqYnVmID0gJ1wwJzsKK30KKwordm9pZCB1bmhleG1hbmdsZV90b19idWZmZXIoY29uc3QgY2hhciAqcywgY2hhciAqYnVmLCBzaXplX3QgbGVuKQoreworCXNpemVfdCBzeiA9IDA7CisKKwlpZiAoIXMpCisJCXJldHVybjsKKworCXdoaWxlKCpzICYmIHN6IDwgbGVuIC0gMSkgeworCQlpZiAoKnMgPT0gJ1xcJyAmJiBzeiArIDMgPCBsZW4gLSAxICYmIHNbMV0gPT0gJ3gnICYmCisJCSAgICBpc3hkaWdpdChzWzJdKSAmJiBpc3hkaWdpdChzWzNdKSkgeworCisJCQkqYnVmKysgPSBmcm9tX2hleChzWzJdKSA8PCA0IHwgZnJvbV9oZXgoc1szXSk7CisJCQlzICs9IDQ7CisJCQlzeiArPSA0OworCQl9IGVsc2UgeworCQkJKmJ1ZisrID0gKnMrKzsKKwkJCXN6Kys7CisJCX0KKwl9CisJKmJ1ZiA9ICdcMCc7Cit9CisKK3N0YXRpYyBpbmxpbmUgY2hhciAqc2tpcF9ub25zcGFjZXMoY29uc3QgY2hhciAqcykKK3sKKwl3aGlsZSAoKnMgJiYgISgqcyA9PSAnICcgfHwgKnMgPT0gJ1x0JykpCisJCXMrKzsKKwlyZXR1cm4gKGNoYXIgKikgczsKK30KKworLyoKKyAqIFJldHVybnMgbWFsbG9jYXRlZCBidWZmZXIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCitjaGFyICp1bm1hbmdsZShjb25zdCBjaGFyICpzLCBjaGFyICoqZW5kKQoreworCWNoYXIgKmJ1ZjsKKwljaGFyICplOworCXNpemVfdCBzejsKKworCWlmICghcykKKwkJcmV0dXJuIE5VTEw7CisKKwllID0gc2tpcF9ub25zcGFjZXMocyk7CisJc3ogPSBlIC0gcyArIDE7CisKKwlpZiAoZW5kKQorCQkqZW5kID0gZTsKKwlpZiAoZSA9PSBzKQorCQlyZXR1cm4gTlVMTDsJLyogZW1wdHkgc3RyaW5nICovCisKKwlidWYgPSBtYWxsb2Moc3opOworCWlmICghYnVmKQorCQlyZXR1cm4gTlVMTDsKKworCXVubWFuZ2xlX3RvX2J1ZmZlcihzLCBidWYsIHN6KTsKKwlyZXR1cm4gYnVmOworfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNCisjaW5jbHVkZSA8ZXJybm8uaD4KK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY2hhciAqcCA9IE5VTEw7CisJaWYgKGFyZ2MgPCAzKSB7CisJCWZwcmludGYoc3RkZXJyLCAidXNhZ2U6ICVzIC0tbWFuZ2xlfHVubWFuZ2xlIDxzdHJpbmc+XG4iLAorCQkJCQkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCX0KKworCWlmICghc3RyY21wKGFyZ3ZbMV0sICItLW1hbmdsZSIpKSB7CisJCXAgPSBtYW5nbGUoYXJndlsyXSk7CisJCXByaW50ZigibWFuZ2xlZDogJyVzJ1xuIiwgcCk7CisJCWZyZWUocCk7CisJfQorCisJZWxzZSBpZiAoIXN0cmNtcChhcmd2WzFdLCAiLS11bm1hbmdsZSIpKSB7CisJCWNoYXIgKnggPSB1bm1hbmdsZShhcmd2WzJdLCBOVUxMKTsKKworCQlpZiAoeCkgeworCQkJcHJpbnRmKCJ1bm1hbmdsZWQ6ICclcydcbiIsIHgpOworCQkJZnJlZSh4KTsKKwkJfQorCisJCXggPSBzdHJkdXAoYXJndlsyXSk7CisJCXVubWFuZ2xlX3RvX2J1ZmZlcih4LCB4LCBzdHJsZW4oeCkgKyAxKTsKKworCQlpZiAoeCkgeworCQkJcHJpbnRmKCJzZWxmLXVubWFuZ2xlZDogJyVzJ1xuIiwgeCk7CisJCQlmcmVlKHgpOworCQl9CisJfQorCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KKyNlbmRpZiAvKiBURVNUX1BST0dSQU0gKi8KZGlmZiAtLWdpdCBhL2xpYi9tYXRjaC5jIGIvbGliL21hdGNoLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWJlODJiMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9tYXRjaC5jCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8c3RyaW5nLmg+CisKKyNpbmNsdWRlICJtYXRjaC5oIgorCisvKgorICogbWF0Y2hfZnN0eXBlOgorICogQHR5cGU6IGZpbGVzeXN0ZW0gdHlwZQorICogQHBhdHRlcm46IGZpbGVzeXN0ZW0gbmFtZSBvciBjb21tYSBkZWxpbWl0ZWQgbGlzdCBvZiBuYW1lcworICoKKyAqIFRoZSBAcGF0dGVybiBsaXN0IG9mIGZpbGVzeXN0ZW0gY2FuIGJlIHByZWZpeGVkIHdpdGggYSBnbG9iYWwKKyAqICJubyIgcHJlZml4IHRvIGludmVydCBtYXRjaGluZyBvZiB0aGUgd2hvbGUgbGlzdC4gVGhlICJubyIgY291bGQKKyAqIGFsc28gYmUgdXNlZCBmb3IgaW5kaXZpZHVhbCBpdGVtcyBpbiB0aGUgQHBhdHRlcm4gbGlzdC4gU28sCisgKiAibm9mb28sYmFyIiBoYXMgdGhlIHNhbWUgbWVhbmluZyBhcyAibm9mb28sbm9iYXIiLgorICovCitpbnQgbWF0Y2hfZnN0eXBlKGNvbnN0IGNoYXIgKnR5cGUsIGNvbnN0IGNoYXIgKnBhdHRlcm4pCit7CisJaW50IG5vID0gMDsJCS8qIG5lZ2F0ZWQgdHlwZXMgbGlzdCAqLworCWludCBsZW47CisJY29uc3QgY2hhciAqcDsKKworCWlmICghcGF0dGVybiAmJiAhdHlwZSkKKwkJcmV0dXJuIDE7CisJaWYgKCFwYXR0ZXJuKQorCQlyZXR1cm4gMDsKKworCWlmICghc3RybmNtcChwYXR0ZXJuLCAibm8iLCAyKSkgeworCQlubyA9IDE7CisJCXBhdHRlcm4gKz0gMjsKKwl9CisKKwkvKiBEb2VzIHR5cGUgb2NjdXIgaW4gdHlwZXMsIHNlcGFyYXRlZCBieSBjb21tYXM/ICovCisJbGVuID0gc3RybGVuKHR5cGUpOworCXAgPSBwYXR0ZXJuOworCXdoaWxlKDEpIHsKKwkJaWYgKCFzdHJuY21wKHAsICJubyIsIDIpICYmICFzdHJuY21wKHArMiwgdHlwZSwgbGVuKSAmJgorCQkgICAgKHBbbGVuKzJdID09IDAgfHwgcFtsZW4rMl0gPT0gJywnKSkKKwkJCXJldHVybiAwOworCQlpZiAoc3RybmNtcChwLCB0eXBlLCBsZW4pID09IDAgJiYgKHBbbGVuXSA9PSAwIHx8IHBbbGVuXSA9PSAnLCcpKQorCQkJcmV0dXJuICFubzsKKwkJcCA9IHN0cmNocihwLCcsJyk7CisJCWlmICghcCkKKwkJCWJyZWFrOworCQlwKys7CisJfQorCXJldHVybiBubzsKK30KZGlmZiAtLWdpdCBhL2xpYi9tYnNhbGlnbi5jIGIvbGliL21ic2FsaWduLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzMxMzIwYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9tYnNhbGlnbi5jCkBAIC0wLDAgKzEsNDkxIEBACisvKiBBbGlnbi9UcnVuY2F0ZSBhIHN0cmluZyBpbiBhIGdpdmVuIHNjcmVlbiB3aWR0aAorICAgQ29weXJpZ2h0IChDKSAyMDA5LTIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IKKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisKKy8qIFdyaXR0ZW4gYnkgUMOhZHJhaWcgQnJhZHkuICAqLworCisjaW5jbHVkZSA8Y29uZmlnLmg+CisKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGJvb2wuaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm1ic2FsaWduLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJ3aWRlY2hhci5oIgorCisvKiBSZXBsYWNlIG5vbiBwcmludGFibGUgY2hhcnMuCisgICBOb3RlIFx0IGFuZCBcbiBldGMuIGFyZSBub24gcHJpbnRhYmxlLgorICAgUmV0dXJuIDEgaWYgcmVwbGFjZW1lbnQgbWFkZSwgMCBvdGhlcndpc2UuICAqLworCisvKgorICogQ291bnRzIG51bWJlciBvZiBjZWxscyBpbiBtdWx0aWJ5dGUgc3RyaW5nLiBGb3IgYWxsIGNvbnRyb2wgYW5kCisgKiBub24tcHJpbnRhYmxlIGNoYXJzIGlzIHRoZSByZXN1bHQgd2lkdGggZW5sYXJnZWQgdG8gc3RvcmUgXHg/PyBoZXgKKyAqIHNlcXVlbmNlLiBTZWUgbWJzX3NhZmVfZW5jb2RlKCkuCisgKgorICogUmV0dXJuczogbnVtYmVyIG9mIGNlbGxzLCBAc3ogcmV0dXJucyBudW1iZXIgb2YgYnl0ZXMuCisgKi8KK3NpemVfdCBtYnNfc2FmZV9ud2lkdGgoY29uc3QgY2hhciAqYnVmLCBzaXplX3QgYnVmc3osIHNpemVfdCAqc3opCit7CisJY29uc3QgY2hhciAqcCA9IGJ1ZiwgKmxhc3QgPSBidWY7CisJc2l6ZV90IHdpZHRoID0gMCwgYnl0ZXMgPSAwOworCisjaWZkZWYgSEFWRV9XSURFQ0hBUgorCW1ic3RhdGVfdCBzdDsKKwltZW1zZXQoJnN0LCAwLCBzaXplb2Yoc3QpKTsKKyNlbmRpZgorCWlmIChwICYmICpwICYmIGJ1ZnN6KQorCQlsYXN0ID0gcCArIChidWZzeiAtIDEpOworCisJd2hpbGUgKHAgJiYgKnAgJiYgcCA8PSBsYXN0KSB7CisJCWlmIChpc2NudHJsKCh1bnNpZ25lZCBjaGFyKSAqcCkpIHsKKwkJCXdpZHRoICs9IDQsIGJ5dGVzICs9IDQ7CQkvKiAqcCBlbmNvZGVkIHRvIFx4Pz8gKi8KKwkJCXArKzsKKwkJfQorI2lmZGVmIEhBVkVfV0lERUNIQVIKKwkJZWxzZSB7CisJCQl3Y2hhcl90IHdjOworCQkJc2l6ZV90IGxlbiA9IG1icnRvd2MoJndjLCBwLCBNQl9DVVJfTUFYLCAmc3QpOworCisJCQlpZiAobGVuID09IDApCisJCQkJYnJlYWs7CisKKwkJCWlmIChsZW4gPT0gKHNpemVfdCkgLTEgfHwgbGVuID09IChzaXplX3QpIC0yKSB7CisJCQkJbGVuID0gMTsKKwkJCQlpZiAoaXNwcmludCgodW5zaWduZWQgY2hhcikgKnApKQorCQkJCQl3aWR0aCArPSAxLCBieXRlcyArPSAxOworCQkJCWVsc2UKKwkJCQkJd2lkdGggKz0gNCwgYnl0ZXMgKz0gNDsKKworCQkJfSBlbHNlIGlmICghaXN3cHJpbnQod2MpKSB7CisJCQkJd2lkdGggKz0gbGVuICogNDsJLyogaGV4IGVuY29kZSB3aG9sZSBzZXF1ZW5jZSAqLworCQkJCWJ5dGVzICs9IGxlbiAqIDQ7CisJCQl9IGVsc2UgeworCQkJCXdpZHRoICs9IHdjd2lkdGgod2MpOwkvKiBudW1iZXIgb2YgY2VsbHMgKi8KKwkJCQlieXRlcyArPSBsZW47CQkvKiBudW1iZXIgb2YgYnl0ZXMgKi8KKwkJCX0KKwkJCXAgKz0gbGVuOworCQl9CisjZWxzZQorCQllbHNlIGlmICghaXNwcmludCgodW5zaWduZWQgY2hhcikgKnApKSB7CisJCQl3aWR0aCArPSA0LCBieXRlcyArPSA0OwkJLyogKnAgZW5jb2RlZCB0byBceD8/ICovCisJCQlwKys7CisJCX0gZWxzZSB7CisJCQl3aWR0aCsrLCBieXRlcysrOworCQkJcCsrOworCQl9CisjZW5kaWYKKwl9CisKKwlpZiAoc3opCisJCSpzeiA9IGJ5dGVzOworCXJldHVybiB3aWR0aDsKK30KKworc2l6ZV90IG1ic19zYWZlX3dpZHRoKGNvbnN0IGNoYXIgKnMpCit7CisJaWYgKCFzIHx8ICEqcykKKwkJcmV0dXJuIDA7CisJcmV0dXJuIG1ic19zYWZlX253aWR0aChzLCBzdHJsZW4ocyksIE5VTEwpOworfQorCisvKgorICogQ29weSBAcyB0byBAYnVmIGFuZCByZXBsYWNlIGNvbnRyb2wgYW5kIG5vbi1wcmludGFibGUgY2hhcnMgd2l0aAorICogXHg/PyBoZXggc2VxdWVuY2UuIFRoZSBAd2lkdGggcmV0dXJucyBudW1iZXIgb2YgY2VsbHMuIFRoZSBAc2FmZWNoYXJzCisgKiBhcmUgbm90IGVuY29kZWQuCisgKgorICogVGhlIEBidWYgaGFzIHRvIGJlIGJpZyBlbm91Z2ggdG8gc3RvcmUgbWJzX3NhZmVfZW5jb2RlX3NpemUoc3RybGVuKHMpKSkKKyAqIGJ5dGVzLgorICovCitjaGFyICptYnNfc2FmZV9lbmNvZGVfdG9fYnVmZmVyKGNvbnN0IGNoYXIgKnMsIHNpemVfdCAqd2lkdGgsIGNoYXIgKmJ1ZiwgY29uc3QgY2hhciAqc2FmZWNoYXJzKQoreworCWNvbnN0IGNoYXIgKnAgPSBzOworCWNoYXIgKnI7CisJc2l6ZV90IHN6ID0gcyA/IHN0cmxlbihzKSA6IDA7CisKKyNpZmRlZiBIQVZFX1dJREVDSEFSCisJbWJzdGF0ZV90IHN0OworCW1lbXNldCgmc3QsIDAsIHNpemVvZihzdCkpOworI2VuZGlmCisJaWYgKCFzeiB8fCAhYnVmKQorCQlyZXR1cm4gTlVMTDsKKworCXIgPSBidWY7CisJKndpZHRoID0gMDsKKworCXdoaWxlIChwICYmICpwKSB7CisJCWlmIChzYWZlY2hhcnMgJiYgc3RyY2hyKHNhZmVjaGFycywgKnApKSB7CisJCQkqcisrID0gKnArKzsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJaWYgKGlzY250cmwoKHVuc2lnbmVkIGNoYXIpICpwKSkgeworCQkJc3ByaW50ZihyLCAiXFx4JTAyeCIsICh1bnNpZ25lZCBjaGFyKSAqcCk7CisJCQlyICs9IDQ7CisJCQkqd2lkdGggKz0gNDsKKwkJCXArKzsKKwkJfQorI2lmZGVmIEhBVkVfV0lERUNIQVIKKwkJZWxzZSB7CisJCQl3Y2hhcl90IHdjOworCQkJc2l6ZV90IGxlbiA9IG1icnRvd2MoJndjLCBwLCBNQl9DVVJfTUFYLCAmc3QpOworCisJCQlpZiAobGVuID09IDApCisJCQkJYnJlYWs7CQkvKiBlbmQgb2Ygc3RyaW5nICovCisKKwkJCWlmIChsZW4gPT0gKHNpemVfdCkgLTEgfHwgbGVuID09IChzaXplX3QpIC0yKSB7CisJCQkJbGVuID0gMTsKKwkJCQkvKgorCQkJCSAqIE5vdCB2YWxpZCBtdWx0aWJ5dGUgc2VxdWVuY2UgLS0gbWF5YmUgaXQncworCQkJCSAqIHByaW50YWJsZSBjaGFyIGFjY29yZGluZyB0byB0aGUgY3VycmVudCBsb2NhbGVzLgorCQkJCSAqLworCQkJCWlmICghaXNwcmludCgodW5zaWduZWQgY2hhcikgKnApKSB7CisJCQkJCXNwcmludGYociwgIlxceCUwMngiLCAodW5zaWduZWQgY2hhcikgKnApOworCQkJCQlyICs9IDQ7CisJCQkJCSp3aWR0aCArPSA0OworCQkJCX0gZWxzZSB7CisJCQkJCSgqd2lkdGgpKys7CisJCQkJCSpyKysgPSAqcDsKKwkJCQl9CisJCQl9IGVsc2UgaWYgKCFpc3dwcmludCh3YykpIHsKKwkJCQlzaXplX3QgaTsKKwkJCQlmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHsKKwkJCQkJc3ByaW50ZihyLCAiXFx4JTAyeCIsICh1bnNpZ25lZCBjaGFyKSAqcCk7CisJCQkJCXIgKz0gNDsKKwkJCQkJKndpZHRoICs9IDQ7CisJCQkJfQorCQkJfSBlbHNlIHsKKwkJCQltZW1jcHkociwgcCwgbGVuKTsKKwkJCQlyICs9IGxlbjsKKwkJCQkqd2lkdGggKz0gd2N3aWR0aCh3Yyk7CisJCQl9CisJCQlwICs9IGxlbjsKKwkJfQorI2Vsc2UKKwkJZWxzZSBpZiAoIWlzcHJpbnQoKHVuc2lnbmVkIGNoYXIpICpwKSkgeworCQkJc3ByaW50ZihyLCAiXFx4JTAyeCIsICh1bnNpZ25lZCBjaGFyKSAqcCk7CisJCQlwKys7CisJCQlyICs9IDQ7CisJCQkqd2lkdGggKz0gNDsKKwkJfSBlbHNlIHsKKwkJCSpyKysgPSAqcCsrOworCQkJKCp3aWR0aCkrKzsKKwkJfQorI2VuZGlmCisJfQorCisJKnIgPSAnXDAnOworCXJldHVybiBidWY7Cit9CisKK3NpemVfdCBtYnNfc2FmZV9lbmNvZGVfc2l6ZShzaXplX3QgYnl0ZXMpCit7CisJcmV0dXJuIChieXRlcyAqIDQpICsgMTsKK30KKworLyoKKyAqIFJldHVybnMgYWxsb2NhdGVkIHN0cmluZyB3aGVyZSBhbGwgY29udHJvbCBhbmQgbm9uLXByaW50YWJsZSBjaGFycyBhcmUKKyAqIHJlcGxhY2VkIHdpdGggXHg/PyBoZXggc2VxdWVuY2UuCisgKi8KK2NoYXIgKm1ic19zYWZlX2VuY29kZShjb25zdCBjaGFyICpzLCBzaXplX3QgKndpZHRoKQoreworCXNpemVfdCBzeiA9IHMgPyBzdHJsZW4ocykgOiAwOworCWNoYXIgKmJ1ZiwgKnJldCA9IE5VTEw7OworCisJaWYgKCFzeikKKwkJcmV0dXJuIE5VTEw7CisJYnVmID0gbWFsbG9jKG1ic19zYWZlX2VuY29kZV9zaXplKHN6KSk7CisJaWYgKGJ1ZikKKwkJcmV0ID0gbWJzX3NhZmVfZW5jb2RlX3RvX2J1ZmZlcihzLCB3aWR0aCwgYnVmLCBOVUxMKTsKKwlpZiAoIXJldCkKKwkJZnJlZShidWYpOworCXJldHVybiByZXQ7Cit9CisKKyNpZmRlZiBIQVZFX1dJREVDSEFSCisKK3N0YXRpYyBib29sCit3Y19lbnN1cmVfcHJpbnRhYmxlICh3Y2hhcl90ICp3Y2hhcnMpCit7CisgIGJvb2wgcmVwbGFjZWQgPSBmYWxzZTsKKyAgd2NoYXJfdCAqd2MgPSB3Y2hhcnM7CisgIHdoaWxlICgqd2MpCisgICAgeworICAgICAgaWYgKCFpc3dwcmludCAoKHdpbnRfdCkgKndjKSkKKyAgICAgICAgeworICAgICAgICAgICp3YyA9IDB4RkZGRDsgLyogTCdcdUZGRkQnIChyZXBsYWNlbWVudCBjaGFyKSAqLworICAgICAgICAgIHJlcGxhY2VkID0gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgd2MrKzsKKyAgICB9CisgIHJldHVybiByZXBsYWNlZDsKK30KKworLyogVHJ1bmNhdGUgd2NoYXIgc3RyaW5nIHRvIHdpZHRoIGNlbGxzLgorICogUmV0dXJucyBudW1iZXIgb2YgY2VsbHMgdXNlZC4gICovCisKK3N0YXRpYyBzaXplX3QKK3djX3RydW5jYXRlICh3Y2hhcl90ICp3Yywgc2l6ZV90IHdpZHRoKQoreworICBzaXplX3QgY2VsbHMgPSAwOworICBpbnQgbmV4dF9jZWxscyA9IDA7CisKKyAgd2hpbGUgKCp3YykKKyAgICB7CisgICAgICBuZXh0X2NlbGxzID0gd2N3aWR0aCAoKndjKTsKKyAgICAgIGlmIChuZXh0X2NlbGxzID09IC0xKSAvKiBub24gcHJpbnRhYmxlICovCisgICAgICAgIHsKKyAgICAgICAgICAqd2MgPSAweEZGRkQ7IC8qIEwnXHVGRkZEJyAocmVwbGFjZW1lbnQgY2hhcikgKi8KKyAgICAgICAgICBuZXh0X2NlbGxzID0gMTsKKyAgICAgICAgfQorICAgICAgaWYgKGNlbGxzICsgbmV4dF9jZWxscyA+IHdpZHRoKQorICAgICAgICBicmVhazsKKworICAgICAgY2VsbHMgKz0gbmV4dF9jZWxsczsKKyAgICAgIHdjKys7CisgICAgfQorICAqd2MgPSBMJ1wwJzsKKyAgcmV0dXJuIGNlbGxzOworfQorCisvKiBGSVhNRTogbW92ZSB0aGlzIGZ1bmN0aW9uIHRvIGdudWxpYiBhcyBpdCdzIG1pc3Npbmcgb246CisgICBPcGVuQlNEIDMuOCwgSVJJWCA1LjMsIFNvbGFyaXMgMi41LjEsIG1pbmd3LCBCZU9TICAqLworCitzdGF0aWMgaW50CitycGxfd2Nzd2lkdGggKGNvbnN0IHdjaGFyX3QgKnMsIHNpemVfdCBuKQoreworICBpbnQgcmV0ID0gMDsKKworICB3aGlsZSAobi0tID4gMCAmJiAqcyAhPSBMJ1wwJykKKyAgICB7CisgICAgICBpbnQgbndpZHRoID0gd2N3aWR0aCAoKnMrKyk7CisgICAgICBpZiAobndpZHRoID09IC0xKSAgICAgICAgICAgICAvKiBub24gcHJpbnRhYmxlICovCisgICAgICAgIHJldHVybiAtMTsKKyAgICAgIGlmIChyZXQgPiAoSU5UX01BWCAtIG53aWR0aCkpIC8qIG92ZXJmbG93ICovCisgICAgICAgIHJldHVybiAtMTsKKyAgICAgIHJldCArPSBud2lkdGg7CisgICAgfQorCisgIHJldHVybiByZXQ7Cit9CisjZW5kaWYgLyogSEFWRV9XSURFQ0hBUiAqLworCisvKiBUcnVuY2F0ZSBtdWx0aS1ieXRlIHN0cmluZyB0byBAd2lkdGggYW5kIHJldHVybnMgbnVtYmVyIG9mCisgKiBieXRlcyBvZiB0aGUgbmV3IHN0cmluZyBAc3RyLCBhbmQgaW4gQHdpZHRoIHJldHVybnMgbnVtYmVyCisgKiBvZiBjZWxscy4KKyAqLworc2l6ZV90CittYnNfdHJ1bmNhdGUoY2hhciAqc3RyLCBzaXplX3QgKndpZHRoKQoreworCXNzaXplX3QgYnl0ZXMgPSBzdHJsZW4oc3RyKTsKKyNpZmRlZiBIQVZFX1dJREVDSEFSCisJc3NpemVfdCBzeiA9IG1ic3Rvd2NzKE5VTEwsIHN0ciwgMCk7CisJd2NoYXJfdCAqd2NzID0gTlVMTDsKKworCWlmIChzeiA9PSAoc3NpemVfdCkgLTEpCisJCWdvdG8gZG9uZTsKKworCXdjcyA9IGNhbGxvYygxLCAoc3ogKyAxKSAqIHNpemVvZih3Y2hhcl90KSk7CisJaWYgKCF3Y3MpCisJCWdvdG8gZG9uZTsKKworCWlmICghbWJzdG93Y3Mod2NzLCBzdHIsIHN6KSkKKwkJZ290byBkb25lOworCSp3aWR0aCA9IHdjX3RydW5jYXRlKHdjcywgKndpZHRoKTsKKwlieXRlcyA9IHdjc3RvbWJzKHN0ciwgd2NzLCBieXRlcyk7Citkb25lOgorCWZyZWUod2NzKTsKKyNlbHNlCisJaWYgKGJ5dGVzID49IDAgJiYgKndpZHRoIDwgKHNpemVfdCkgYnl0ZXMpCisJCWJ5dGVzID0gKndpZHRoOworI2VuZGlmCisJaWYgKGJ5dGVzID49IDApCisJCXN0cltieXRlc10gPSAnXDAnOworCXJldHVybiBieXRlczsKK30KKworLyogV3JpdGUgTl9TUEFDRVMgc3BhY2UgY2hhcmFjdGVycyB0byBERVNUIHdoaWxlIGVuc3VyaW5nCisgICBub3RoaW5nIGlzIHdyaXR0ZW4gYmV5b25kIERFU1RfRU5ELiBBIHRlcm1pbmF0aW5nIE5VTAorICAgaXMgYWx3YXlzIGFkZGVkIHRvIERFU1QuCisgICBBIHBvaW50ZXIgdG8gdGhlIHRlcm1pbmF0aW5nIE5VTCBpcyByZXR1cm5lZC4gICovCisKK3N0YXRpYyBjaGFyKgorbWJzX2FsaWduX3BhZCAoY2hhciAqZGVzdCwgY29uc3QgY2hhciogZGVzdF9lbmQsIHNpemVfdCBuX3NwYWNlcywgaW50IHBhZGNoYXIpCit7CisgIC8qIEZJWE1FOiBTaG91bGQgd2UgcGFkIHdpdGggImZpZ3VyZSBzcGFjZSIgKFx1MjAwNykKKyAgICAgaWYgbm9uIGFzY2lpIGRhdGEgcHJlc2VudD8gICovCisgIGZvciAoLyogbm90aGluZyAqLzsgbl9zcGFjZXMgJiYgKGRlc3QgPCBkZXN0X2VuZCk7IG5fc3BhY2VzLS0pCisgICAgKmRlc3QrKyA9IHBhZGNoYXI7CisgICpkZXN0ID0gJ1wwJzsKKyAgcmV0dXJuIGRlc3Q7Cit9CisKK3NpemVfdAorbWJzYWxpZ24gKGNvbnN0IGNoYXIgKnNyYywgY2hhciAqZGVzdCwgc2l6ZV90IGRlc3Rfc2l6ZSwKKyAgICAgICAgICBzaXplX3QgKndpZHRoLCBtYnNfYWxpZ25fdCBhbGlnbiwgaW50IGZsYWdzKQoreworCXJldHVybiBtYnNhbGlnbl93aXRoX3BhZGRpbmcoc3JjLCBkZXN0LCBkZXN0X3NpemUsIHdpZHRoLCBhbGlnbiwgZmxhZ3MsICcgJyk7Cit9CisKKy8qIEFsaWduIGEgc3RyaW5nLCBTUkMsIGluIGEgZmllbGQgb2YgKldJRFRIIGNvbHVtbnMsIGhhbmRsaW5nIG11bHRpLWJ5dGUKKyAgIGNoYXJhY3RlcnM7IHdyaXRlIHRoZSByZXN1bHQgaW50byB0aGUgREVTVF9TSVpFLWJ5dGUgYnVmZmVyLCBERVNULgorICAgQUxJR05NRU5UIHNwZWNpZmllcyB3aGV0aGVyIHRvIGxlZnQtIG9yIHJpZ2h0LWp1c3RpZnkgb3IgdG8gY2VudGVyLgorICAgSWYgU1JDIHJlcXVpcmVzIG1vcmUgdGhhbiAqV0lEVEggY29sdW1ucywgdHJ1bmNhdGUgaXQgdG8gZml0LgorICAgV2hlbiBjZW50ZXJpbmcsIHRoZSBudW1iZXIgb2YgdHJhaWxpbmcgc3BhY2VzIG1heSBiZSBvbmUgbGVzcyB0aGFuIHRoZQorICAgbnVtYmVyIG9mIGxlYWRpbmcgc3BhY2VzLiBUaGUgRkxBR1MgcGFyYW1ldGVyIGlzIHVudXNlZCBhdCBwcmVzZW50LgorICAgUmV0dXJuIHRoZSBsZW5ndGggaW4gYnl0ZXMgcmVxdWlyZWQgZm9yIHRoZSBmaW5hbCByZXN1bHQsIG5vdCBjb3VudGluZworICAgdGhlIHRyYWlsaW5nIE5VTC4gIEEgcmV0dXJuIHZhbHVlIG9mIERFU1RfU0laRSBvciBsYXJnZXIgbWVhbnMgdGhlcmUKKyAgIHdhc24ndCBlbm91Z2ggc3BhY2UuICBERVNUIHdpbGwgYmUgTlVMIHRlcm1pbmF0ZWQgaW4gYW55IGNhc2UuCisgICBSZXR1cm4gKHNpemVfdCkgLTEgdXBvbiBlcnJvciAoaW52YWxpZCBtdWx0aS1ieXRlIHNlcXVlbmNlIGluIFNSQywKKyAgIG9yIG1hbGxvYyBmYWlsdXJlKSwgdW5sZXNzIE1CQV9VTklCWVRFX0ZBTExCQUNLIGlzIHNwZWNpZmllZC4KKyAgIFVwZGF0ZSAqV0lEVEggdG8gaW5kaWNhdGUgaG93IG1hbnkgY29sdW1ucyB3ZXJlIHVzZWQgYmVmb3JlIHBhZGRpbmcuICAqLworCitzaXplX3QKK21ic2FsaWduX3dpdGhfcGFkZGluZyAoY29uc3QgY2hhciAqc3JjLCBjaGFyICpkZXN0LCBzaXplX3QgZGVzdF9zaXplLAorCSAgICAgICAgICAgICAgIHNpemVfdCAqd2lkdGgsIG1ic19hbGlnbl90IGFsaWduLAorI2lmZGVmIEhBVkVfV0lERUNIQVIKKwkJICAgICAgIGludCBmbGFncywKKyNlbHNlCisJCSAgICAgICBpbnQgZmxhZ3MgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpLAorI2VuZGlmCisJCSAgICAgICBpbnQgcGFkY2hhcikKK3sKKyAgc2l6ZV90IHJldCA9IC0xOworICBzaXplX3Qgc3JjX3NpemUgPSBzdHJsZW4gKHNyYykgKyAxOworICBjaGFyICpuZXdzdHIgPSBOVUxMOworICB3Y2hhcl90ICpzdHJfd2MgPSBOVUxMOworICBjb25zdCBjaGFyICpzdHJfdG9fcHJpbnQgPSBzcmM7CisgIHNpemVfdCBuX2NvbHMgPSBzcmNfc2l6ZSAtIDE7CisgIHNpemVfdCBuX3VzZWRfYnl0ZXMgPSBuX2NvbHM7IC8qIE5vdCBpbmNsdWRpbmcgTlVMICovCisgIHNpemVfdCBuX3NwYWNlcyA9IDAsIHNwYWNlX2xlZnQ7CisKKyNpZmRlZiBIQVZFX1dJREVDSEFSCisgIGJvb2wgY29udmVyc2lvbiA9IGZhbHNlOworICBib29sIHdjX2VuYWJsZWQgPSBmYWxzZTsKKworICAvKiBJbiBtdWx0aS1ieXRlIGxvY2FsZXMgY29udmVydCB0byB3aWRlIGNoYXJhY3RlcnMKKyAgICAgdG8gYWxsb3cgZWFzeSB0cnVuY2F0aW9uLiBBbHNvIGRldGVybWluZSBudW1iZXIKKyAgICAgb2Ygc2NyZWVuIGNvbHVtbnMgdXNlZC4gICovCisgIGlmIChNQl9DVVJfTUFYID4gMSkKKyAgICB7CisgICAgICBzaXplX3Qgc3JjX2NoYXJzID0gbWJzdG93Y3MgKE5VTEwsIHNyYywgMCk7CisgICAgICBpZiAoc3JjX2NoYXJzID09IChzaXplX3QpIC0xKQorICAgICAgICB7CisgICAgICAgICAgaWYgKGZsYWdzICYgTUJBX1VOSUJZVEVfRkFMTEJBQ0spCisgICAgICAgICAgICBnb3RvIG1ic2FsaWduX3VuaWJ5dGU7CisgICAgICAgICAgZWxzZQorICAgICAgICAgICAgZ290byBtYnNhbGlnbl9jbGVhbnVwOworICAgICAgICB9CisgICAgICBzcmNfY2hhcnMgKz0gMTsgLyogbWFrZSBzcGFjZSBmb3IgTlVMICovCisgICAgICBzdHJfd2MgPSBtYWxsb2MgKHNyY19jaGFycyAqIHNpemVvZiAod2NoYXJfdCkpOworICAgICAgaWYgKHN0cl93YyA9PSBOVUxMKQorICAgICAgICB7CisgICAgICAgICAgaWYgKGZsYWdzICYgTUJBX1VOSUJZVEVfRkFMTEJBQ0spCisgICAgICAgICAgICBnb3RvIG1ic2FsaWduX3VuaWJ5dGU7CisgICAgICAgICAgZWxzZQorICAgICAgICAgICAgZ290byBtYnNhbGlnbl9jbGVhbnVwOworICAgICAgICB9CisgICAgICBpZiAobWJzdG93Y3MgKHN0cl93Yywgc3JjLCBzcmNfY2hhcnMpICE9IDApCisgICAgICAgIHsKKyAgICAgICAgICBzdHJfd2Nbc3JjX2NoYXJzIC0gMV0gPSBMJ1wwJzsKKyAgICAgICAgICB3Y19lbmFibGVkID0gdHJ1ZTsKKyAgICAgICAgICBjb252ZXJzaW9uID0gd2NfZW5zdXJlX3ByaW50YWJsZSAoc3RyX3djKTsKKyAgICAgICAgICBuX2NvbHMgPSBycGxfd2Nzd2lkdGggKHN0cl93Yywgc3JjX2NoYXJzKTsKKyAgICAgICAgfQorICAgIH0KKworICAvKiBJZiB3ZSB0cmFuc2Zvcm1lZCBvciBuZWVkIHRvIHRydW5jYXRlIHRoZSBzb3VyY2Ugc3RyaW5nCisgICAgIHRoZW4gY3JlYXRlIGEgbW9kaWZpZWQgY29weSBvZiBpdC4gICovCisgIGlmICh3Y19lbmFibGVkICYmIChjb252ZXJzaW9uIHx8IChuX2NvbHMgPiAqd2lkdGgpKSkKKyAgICB7CisgICAgICAgIGlmIChjb252ZXJzaW9uKQorICAgICAgICAgIHsKKyAgICAgICAgICAgICAvKiBNYXkgaGF2ZSBpbmNyZWFzZWQgdGhlIHNpemUgYnkgY29udmVydGluZworICAgICAgICAgICAgICAgIFx0IHRvIFx1RkZGRCBmb3IgZXhhbXBsZS4gICovCisgICAgICAgICAgICBzcmNfc2l6ZSA9IHdjc3RvbWJzKE5VTEwsIHN0cl93YywgMCkgKyAxOworICAgICAgICAgIH0KKyAgICAgICAgbmV3c3RyID0gbWFsbG9jIChzcmNfc2l6ZSk7CisgICAgICAgIGlmIChuZXdzdHIgPT0gTlVMTCkKKyAgICAgICAgeworICAgICAgICAgIGlmIChmbGFncyAmIE1CQV9VTklCWVRFX0ZBTExCQUNLKQorICAgICAgICAgICAgZ290byBtYnNhbGlnbl91bmlieXRlOworICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGdvdG8gbWJzYWxpZ25fY2xlYW51cDsKKyAgICAgICAgfQorICAgICAgICBzdHJfdG9fcHJpbnQgPSBuZXdzdHI7CisgICAgICAgIG5fY29scyA9IHdjX3RydW5jYXRlIChzdHJfd2MsICp3aWR0aCk7CisgICAgICAgIG5fdXNlZF9ieXRlcyA9IHdjc3RvbWJzIChuZXdzdHIsIHN0cl93Yywgc3JjX3NpemUpOworICAgIH0KKworbWJzYWxpZ25fdW5pYnl0ZToKKyNlbmRpZgorCisgIGlmIChuX2NvbHMgPiAqd2lkdGgpIC8qIFVuaWJ5dGUgdHJ1bmNhdGlvbiByZXF1aXJlZC4gICovCisgICAgeworICAgICAgbl9jb2xzID0gKndpZHRoOworICAgICAgbl91c2VkX2J5dGVzID0gbl9jb2xzOworICAgIH0KKworICBpZiAoKndpZHRoID4gbl9jb2xzKSAvKiBQYWRkaW5nIHJlcXVpcmVkLiAgKi8KKyAgICBuX3NwYWNlcyA9ICp3aWR0aCAtIG5fY29sczsKKworICAvKiBpbmRpY2F0ZSB0byBjYWxsZXIgaG93IG1hbnkgY2VsbHMgbmVlZGVkIChub3QgaW5jbHVkaW5nIHBhZGRpbmcpLiAgKi8KKyAgKndpZHRoID0gbl9jb2xzOworCisgIC8qIGluZGljYXRlIHRvIGNhbGxlciBob3cgbWFueSBieXRlcyBuZWVkZWQgKG5vdCBpbmNsdWRpbmcgTlVMKS4gICovCisgIHJldCA9IG5fdXNlZF9ieXRlcyArIChuX3NwYWNlcyAqIDEpOworCisgIC8qIFdyaXRlIGFzIG11Y2ggTlVMIHRlcm1pbmF0ZWQgb3V0cHV0IHRvIERFU1QgYXMgcG9zc2libGUuICAqLworICBpZiAoZGVzdF9zaXplICE9IDApCisgICAgeworICAgICAgY2hhciAqZGVzdF9lbmQgPSBkZXN0ICsgZGVzdF9zaXplIC0gMTsKKyAgICAgIHNpemVfdCBzdGFydF9zcGFjZXM7CisgICAgICBzaXplX3QgZW5kX3NwYWNlczsKKworICAgICAgc3dpdGNoIChhbGlnbikKKyAgICAgICAgeworICAgICAgICBjYXNlIE1CU19BTElHTl9DRU5URVI6CisgICAgICAgICAgc3RhcnRfc3BhY2VzID0gbl9zcGFjZXMgLyAyICsgbl9zcGFjZXMgJSAyOworICAgICAgICAgIGVuZF9zcGFjZXMgPSBuX3NwYWNlcyAvIDI7CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTUJTX0FMSUdOX0xFRlQ6CisgICAgICAgICAgc3RhcnRfc3BhY2VzID0gMDsKKyAgICAgICAgICBlbmRfc3BhY2VzID0gbl9zcGFjZXM7CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTUJTX0FMSUdOX1JJR0hUOgorICAgICAgICAgIHN0YXJ0X3NwYWNlcyA9IG5fc3BhY2VzOworICAgICAgICAgIGVuZF9zcGFjZXMgPSAwOworICAgICAgICAgIGJyZWFrOworCWRlZmF1bHQ6CisJICBhYm9ydCgpOworICAgICAgICB9CisKKyAgICAgIGRlc3QgPSBtYnNfYWxpZ25fcGFkIChkZXN0LCBkZXN0X2VuZCwgc3RhcnRfc3BhY2VzLCBwYWRjaGFyKTsKKyAgICAgIHNwYWNlX2xlZnQgPSBkZXN0X2VuZCAtIGRlc3Q7CisgICAgICBkZXN0ID0gbWVtcGNweSAoZGVzdCwgc3RyX3RvX3ByaW50LCBtaW4gKG5fdXNlZF9ieXRlcywgc3BhY2VfbGVmdCkpOworICAgICAgbWJzX2FsaWduX3BhZCAoZGVzdCwgZGVzdF9lbmQsIGVuZF9zcGFjZXMsIHBhZGNoYXIpOworICAgIH0KKyNpZmRlZiBIQVZFX1dJREVDSEFSCittYnNhbGlnbl9jbGVhbnVwOgorI2VuZGlmCisgIGZyZWUgKHN0cl93Yyk7CisgIGZyZWUgKG5ld3N0cik7CisKKyAgcmV0dXJuIHJldDsKK30KZGlmZiAtLWdpdCBhL2xpYi9tZDUuYyBiL2xpYi9tZDUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ODhkMTZlCi0tLSAvZGV2L251bGwKKysrIGIvbGliL21kNS5jCkBAIC0wLDAgKzEsMjU3IEBACisvKgorICogVGhpcyBjb2RlIGltcGxlbWVudHMgdGhlIE1ENSBtZXNzYWdlLWRpZ2VzdCBhbGdvcml0aG0uCisgKiBUaGUgYWxnb3JpdGhtIGlzIGR1ZSB0byBSb24gUml2ZXN0LiAgVGhpcyBjb2RlIHdhcworICogd3JpdHRlbiBieSBDb2xpbiBQbHVtYiBpbiAxOTkzLCBubyBjb3B5cmlnaHQgaXMgY2xhaW1lZC4KKyAqIFRoaXMgY29kZSBpcyBpbiB0aGUgcHVibGljIGRvbWFpbjsgZG8gd2l0aCBpdCB3aGF0IHlvdSB3aXNoLgorICoKKyAqIEVxdWl2YWxlbnQgY29kZSBpcyBhdmFpbGFibGUgZnJvbSBSU0EgRGF0YSBTZWN1cml0eSwgSW5jLgorICogVGhpcyBjb2RlIGhhcyBiZWVuIHRlc3RlZCBhZ2FpbnN0IHRoYXQsIGFuZCBpcyBlcXVpdmFsZW50LAorICogZXhjZXB0IHRoYXQgeW91IGRvbid0IG5lZWQgdG8gaW5jbHVkZSB0d28gcGFnZXMgb2YgbGVnYWxlc2UKKyAqIHdpdGggZXZlcnkgY29weS4KKyAqCisgKiBUbyBjb21wdXRlIHRoZSBtZXNzYWdlIGRpZ2VzdCBvZiBhIGNodW5rIG9mIGJ5dGVzLCBkZWNsYXJlIGFuCisgKiBNRDVDb250ZXh0IHN0cnVjdHVyZSwgcGFzcyBpdCB0byBNRDVJbml0LCBjYWxsIE1ENVVwZGF0ZSBhcworICogbmVlZGVkIG9uIGJ1ZmZlcnMgZnVsbCBvZiBieXRlcywgYW5kIHRoZW4gY2FsbCBNRDVGaW5hbCwgd2hpY2gKKyAqIHdpbGwgZmlsbCBhIHN1cHBsaWVkIDE2LWJ5dGUgYXJyYXkgd2l0aCB0aGUgZGlnZXN0LgorICovCisjaW5jbHVkZSA8c3RyaW5nLmg+CQkvKiBmb3IgbWVtY3B5KCkgKi8KKworI2luY2x1ZGUgIm1kNS5oIgorCisjaWYgIWRlZmluZWQoV09SRFNfQklHRU5ESUFOKQorI2RlZmluZSBieXRlUmV2ZXJzZShidWYsIGxlbikJLyogTm90aGluZyAqLworI2Vsc2UKK3ZvaWQgYnl0ZVJldmVyc2UodW5zaWduZWQgY2hhciAqYnVmLCB1bnNpZ25lZCBsb25ncyk7CisKKyNpZm5kZWYgQVNNX01ENQorLyoKKyAqIE5vdGU6IHRoaXMgY29kZSBpcyBoYXJtbGVzcyBvbiBsaXR0bGUtZW5kaWFuIG1hY2hpbmVzLgorICovCit2b2lkIGJ5dGVSZXZlcnNlKHVuc2lnbmVkIGNoYXIgKmJ1ZiwgdW5zaWduZWQgbG9uZ3MpCit7CisgICAgdWludDMyX3QgdDsKKyAgICBkbyB7CisJdCA9ICh1aW50MzJfdCkgKCh1bnNpZ25lZCkgYnVmWzNdIDw8IDggfCBidWZbMl0pIDw8IDE2IHwKKwkgICAgKCh1bnNpZ25lZCkgYnVmWzFdIDw8IDggfCBidWZbMF0pOworCSoodWludDMyX3QgKikgYnVmID0gdDsKKwlidWYgKz0gNDsKKyAgICB9IHdoaWxlICgtLWxvbmdzKTsKK30KKyNlbmRpZgorI2VuZGlmCisKKy8qCisgKiBTdGFydCBNRDUgYWNjdW11bGF0aW9uLiAgU2V0IGJpdCBjb3VudCB0byAwIGFuZCBidWZmZXIgdG8gbXlzdGVyaW91cworICogaW5pdGlhbGl6YXRpb24gY29uc3RhbnRzLgorICovCit2b2lkIE1ENUluaXQoc3RydWN0IE1ENUNvbnRleHQgKmN0eCkKK3sKKyAgICBjdHgtPmJ1ZlswXSA9IDB4Njc0NTIzMDE7CisgICAgY3R4LT5idWZbMV0gPSAweGVmY2RhYjg5OworICAgIGN0eC0+YnVmWzJdID0gMHg5OGJhZGNmZTsKKyAgICBjdHgtPmJ1ZlszXSA9IDB4MTAzMjU0NzY7CisKKyAgICBjdHgtPmJpdHNbMF0gPSAwOworICAgIGN0eC0+Yml0c1sxXSA9IDA7Cit9CisKKy8qCisgKiBVcGRhdGUgY29udGV4dCB0byByZWZsZWN0IHRoZSBjb25jYXRlbmF0aW9uIG9mIGFub3RoZXIgYnVmZmVyIGZ1bGwKKyAqIG9mIGJ5dGVzLgorICovCit2b2lkIE1ENVVwZGF0ZShzdHJ1Y3QgTUQ1Q29udGV4dCAqY3R4LCB1bnNpZ25lZCBjaGFyIGNvbnN0ICpidWYsIHVuc2lnbmVkIGxlbikKK3sKKyAgICB1aW50MzJfdCB0OworCisgICAgLyogVXBkYXRlIGJpdGNvdW50ICovCisKKyAgICB0ID0gY3R4LT5iaXRzWzBdOworICAgIGlmICgoY3R4LT5iaXRzWzBdID0gdCArICgodWludDMyX3QpIGxlbiA8PCAzKSkgPCB0KQorCWN0eC0+Yml0c1sxXSsrOwkJLyogQ2FycnkgZnJvbSBsb3cgdG8gaGlnaCAqLworICAgIGN0eC0+Yml0c1sxXSArPSBsZW4gPj4gMjk7CisKKyAgICB0ID0gKHQgPj4gMykgJiAweDNmOwkvKiBCeXRlcyBhbHJlYWR5IGluIHNoc0luZm8tPmRhdGEgKi8KKworICAgIC8qIEhhbmRsZSBhbnkgbGVhZGluZyBvZGQtc2l6ZWQgY2h1bmtzICovCisKKyAgICBpZiAodCkgeworCXVuc2lnbmVkIGNoYXIgKnAgPSAodW5zaWduZWQgY2hhciAqKSBjdHgtPmluICsgdDsKKworCXQgPSA2NCAtIHQ7CisJaWYgKGxlbiA8IHQpIHsKKwkgICAgbWVtY3B5KHAsIGJ1ZiwgbGVuKTsKKwkgICAgcmV0dXJuOworCX0KKwltZW1jcHkocCwgYnVmLCB0KTsKKwlieXRlUmV2ZXJzZShjdHgtPmluLCAxNik7CisJTUQ1VHJhbnNmb3JtKGN0eC0+YnVmLCAodWludDMyX3QgKikgY3R4LT5pbik7CisJYnVmICs9IHQ7CisJbGVuIC09IHQ7CisgICAgfQorICAgIC8qIFByb2Nlc3MgZGF0YSBpbiA2NC1ieXRlIGNodW5rcyAqLworCisgICAgd2hpbGUgKGxlbiA+PSA2NCkgeworCW1lbWNweShjdHgtPmluLCBidWYsIDY0KTsKKwlieXRlUmV2ZXJzZShjdHgtPmluLCAxNik7CisJTUQ1VHJhbnNmb3JtKGN0eC0+YnVmLCAodWludDMyX3QgKikgY3R4LT5pbik7CisJYnVmICs9IDY0OworCWxlbiAtPSA2NDsKKyAgICB9CisKKyAgICAvKiBIYW5kbGUgYW55IHJlbWFpbmluZyBieXRlcyBvZiBkYXRhLiAqLworCisgICAgbWVtY3B5KGN0eC0+aW4sIGJ1ZiwgbGVuKTsKK30KKworLyoKKyAqIEZpbmFsIHdyYXB1cCAtIHBhZCB0byA2NC1ieXRlIGJvdW5kYXJ5IHdpdGggdGhlIGJpdCBwYXR0ZXJuIAorICogMSAwKiAoNjQtYml0IGNvdW50IG9mIGJpdHMgcHJvY2Vzc2VkLCBNU0ItZmlyc3QpCisgKi8KK3ZvaWQgTUQ1RmluYWwodW5zaWduZWQgY2hhciBkaWdlc3RbTUQ1TEVOR1RIXSwgc3RydWN0IE1ENUNvbnRleHQgKmN0eCkKK3sKKyAgICB1bnNpZ25lZCBjb3VudDsKKyAgICB1bnNpZ25lZCBjaGFyICpwOworCisgICAgLyogQ29tcHV0ZSBudW1iZXIgb2YgYnl0ZXMgbW9kIDY0ICovCisgICAgY291bnQgPSAoY3R4LT5iaXRzWzBdID4+IDMpICYgMHgzRjsKKworICAgIC8qIFNldCB0aGUgZmlyc3QgY2hhciBvZiBwYWRkaW5nIHRvIDB4ODAuICBUaGlzIGlzIHNhZmUgc2luY2UgdGhlcmUgaXMKKyAgICAgICBhbHdheXMgYXQgbGVhc3Qgb25lIGJ5dGUgZnJlZSAqLworICAgIHAgPSBjdHgtPmluICsgY291bnQ7CisgICAgKnArKyA9IDB4ODA7CisKKyAgICAvKiBCeXRlcyBvZiBwYWRkaW5nIG5lZWRlZCB0byBtYWtlIDY0IGJ5dGVzICovCisgICAgY291bnQgPSA2NCAtIDEgLSBjb3VudDsKKworICAgIC8qIFBhZCBvdXQgdG8gNTYgbW9kIDY0ICovCisgICAgaWYgKGNvdW50IDwgOCkgeworCS8qIFR3byBsb3RzIG9mIHBhZGRpbmc6ICBQYWQgdGhlIGZpcnN0IGJsb2NrIHRvIDY0IGJ5dGVzICovCisJbWVtc2V0KHAsIDAsIGNvdW50KTsKKwlieXRlUmV2ZXJzZShjdHgtPmluLCAxNik7CisJTUQ1VHJhbnNmb3JtKGN0eC0+YnVmLCAodWludDMyX3QgKikgY3R4LT5pbik7CisKKwkvKiBOb3cgZmlsbCB0aGUgbmV4dCBibG9jayB3aXRoIDU2IGJ5dGVzICovCisJbWVtc2V0KGN0eC0+aW4sIDAsIDU2KTsKKyAgICB9IGVsc2UgeworCS8qIFBhZCBibG9jayB0byA1NiBieXRlcyAqLworCW1lbXNldChwLCAwLCBjb3VudCAtIDgpOworICAgIH0KKyAgICBieXRlUmV2ZXJzZShjdHgtPmluLCAxNCk7CisKKyAgICAvKiBBcHBlbmQgbGVuZ3RoIGluIGJpdHMgYW5kIHRyYW5zZm9ybS4KKyAgICAgKiBVc2UgbWVtY3B5IHRvIGF2b2lkIGFsaWFzaW5nIHByb2JsZW1zLiAgT24gbW9zdCBzeXN0ZW1zLAorICAgICAqIHRoaXMgd2lsbCBiZSBvcHRpbWl6ZWQgYXdheSB0byB0aGUgc2FtZSBjb2RlLgorICAgICAqLworICAgIG1lbWNweSgmY3R4LT5pblsxNCAqIHNpemVvZih1aW50MzJfdCldLCAmY3R4LT5iaXRzWzBdLCA0KTsKKyAgICBtZW1jcHkoJmN0eC0+aW5bMTUgKiBzaXplb2YodWludDMyX3QpXSwgJmN0eC0+Yml0c1sxXSwgNCk7CisKKyAgICBNRDVUcmFuc2Zvcm0oY3R4LT5idWYsICh1aW50MzJfdCAqKSBjdHgtPmluKTsKKyAgICBieXRlUmV2ZXJzZSgodW5zaWduZWQgY2hhciAqKSBjdHgtPmJ1ZiwgNCk7CisgICAgbWVtY3B5KGRpZ2VzdCwgY3R4LT5idWYsIE1ENUxFTkdUSCk7CisgICAgbWVtc2V0KGN0eCwgMCwgc2l6ZW9mKCpjdHgpKTsJLyogSW4gY2FzZSBpdCdzIHNlbnNpdGl2ZSAqLworfQorCisjaWZuZGVmIEFTTV9NRDUKKworLyogVGhlIGZvdXIgY29yZSBmdW5jdGlvbnMgLSBGMSBpcyBvcHRpbWl6ZWQgc29tZXdoYXQgKi8KKworLyogI2RlZmluZSBGMSh4LCB5LCB6KSAoeCAmIHkgfCB+eCAmIHopICovCisjZGVmaW5lIEYxKHgsIHksIHopICh6IF4gKHggJiAoeSBeIHopKSkKKyNkZWZpbmUgRjIoeCwgeSwgeikgRjEoeiwgeCwgeSkKKyNkZWZpbmUgRjMoeCwgeSwgeikgKHggXiB5IF4geikKKyNkZWZpbmUgRjQoeCwgeSwgeikgKHkgXiAoeCB8IH56KSkKKworLyogVGhpcyBpcyB0aGUgY2VudHJhbCBzdGVwIGluIHRoZSBNRDUgYWxnb3JpdGhtLiAqLworI2RlZmluZSBNRDVTVEVQKGYsIHcsIHgsIHksIHosIGRhdGEsIHMpIFwKKwkoIHcgKz0gZih4LCB5LCB6KSArIGRhdGEsICB3ID0gdzw8cyB8IHc+PigzMi1zKSwgIHcgKz0geCApCisKKy8qCisgKiBUaGUgY29yZSBvZiB0aGUgTUQ1IGFsZ29yaXRobSwgdGhpcyBhbHRlcnMgYW4gZXhpc3RpbmcgTUQ1IGhhc2ggdG8KKyAqIHJlZmxlY3QgdGhlIGFkZGl0aW9uIG9mIDE2IGxvbmd3b3JkcyBvZiBuZXcgZGF0YS4gIE1ENVVwZGF0ZSBibG9ja3MKKyAqIHRoZSBkYXRhIGFuZCBjb252ZXJ0cyBieXRlcyBpbnRvIGxvbmd3b3JkcyBmb3IgdGhpcyByb3V0aW5lLgorICovCit2b2lkIE1ENVRyYW5zZm9ybSh1aW50MzJfdCBidWZbNF0sIHVpbnQzMl90IGNvbnN0IGluWzE2XSkKK3sKKyAgICByZWdpc3RlciB1aW50MzJfdCBhLCBiLCBjLCBkOworCisgICAgYSA9IGJ1ZlswXTsKKyAgICBiID0gYnVmWzFdOworICAgIGMgPSBidWZbMl07CisgICAgZCA9IGJ1ZlszXTsKKworICAgIE1ENVNURVAoRjEsIGEsIGIsIGMsIGQsIGluWzBdICsgMHhkNzZhYTQ3OCwgNyk7CisgICAgTUQ1U1RFUChGMSwgZCwgYSwgYiwgYywgaW5bMV0gKyAweGU4YzdiNzU2LCAxMik7CisgICAgTUQ1U1RFUChGMSwgYywgZCwgYSwgYiwgaW5bMl0gKyAweDI0MjA3MGRiLCAxNyk7CisgICAgTUQ1U1RFUChGMSwgYiwgYywgZCwgYSwgaW5bM10gKyAweGMxYmRjZWVlLCAyMik7CisgICAgTUQ1U1RFUChGMSwgYSwgYiwgYywgZCwgaW5bNF0gKyAweGY1N2MwZmFmLCA3KTsKKyAgICBNRDVTVEVQKEYxLCBkLCBhLCBiLCBjLCBpbls1XSArIDB4NDc4N2M2MmEsIDEyKTsKKyAgICBNRDVTVEVQKEYxLCBjLCBkLCBhLCBiLCBpbls2XSArIDB4YTgzMDQ2MTMsIDE3KTsKKyAgICBNRDVTVEVQKEYxLCBiLCBjLCBkLCBhLCBpbls3XSArIDB4ZmQ0Njk1MDEsIDIyKTsKKyAgICBNRDVTVEVQKEYxLCBhLCBiLCBjLCBkLCBpbls4XSArIDB4Njk4MDk4ZDgsIDcpOworICAgIE1ENVNURVAoRjEsIGQsIGEsIGIsIGMsIGluWzldICsgMHg4YjQ0ZjdhZiwgMTIpOworICAgIE1ENVNURVAoRjEsIGMsIGQsIGEsIGIsIGluWzEwXSArIDB4ZmZmZjViYjEsIDE3KTsKKyAgICBNRDVTVEVQKEYxLCBiLCBjLCBkLCBhLCBpblsxMV0gKyAweDg5NWNkN2JlLCAyMik7CisgICAgTUQ1U1RFUChGMSwgYSwgYiwgYywgZCwgaW5bMTJdICsgMHg2YjkwMTEyMiwgNyk7CisgICAgTUQ1U1RFUChGMSwgZCwgYSwgYiwgYywgaW5bMTNdICsgMHhmZDk4NzE5MywgMTIpOworICAgIE1ENVNURVAoRjEsIGMsIGQsIGEsIGIsIGluWzE0XSArIDB4YTY3OTQzOGUsIDE3KTsKKyAgICBNRDVTVEVQKEYxLCBiLCBjLCBkLCBhLCBpblsxNV0gKyAweDQ5YjQwODIxLCAyMik7CisKKyAgICBNRDVTVEVQKEYyLCBhLCBiLCBjLCBkLCBpblsxXSArIDB4ZjYxZTI1NjIsIDUpOworICAgIE1ENVNURVAoRjIsIGQsIGEsIGIsIGMsIGluWzZdICsgMHhjMDQwYjM0MCwgOSk7CisgICAgTUQ1U1RFUChGMiwgYywgZCwgYSwgYiwgaW5bMTFdICsgMHgyNjVlNWE1MSwgMTQpOworICAgIE1ENVNURVAoRjIsIGIsIGMsIGQsIGEsIGluWzBdICsgMHhlOWI2YzdhYSwgMjApOworICAgIE1ENVNURVAoRjIsIGEsIGIsIGMsIGQsIGluWzVdICsgMHhkNjJmMTA1ZCwgNSk7CisgICAgTUQ1U1RFUChGMiwgZCwgYSwgYiwgYywgaW5bMTBdICsgMHgwMjQ0MTQ1MywgOSk7CisgICAgTUQ1U1RFUChGMiwgYywgZCwgYSwgYiwgaW5bMTVdICsgMHhkOGExZTY4MSwgMTQpOworICAgIE1ENVNURVAoRjIsIGIsIGMsIGQsIGEsIGluWzRdICsgMHhlN2QzZmJjOCwgMjApOworICAgIE1ENVNURVAoRjIsIGEsIGIsIGMsIGQsIGluWzldICsgMHgyMWUxY2RlNiwgNSk7CisgICAgTUQ1U1RFUChGMiwgZCwgYSwgYiwgYywgaW5bMTRdICsgMHhjMzM3MDdkNiwgOSk7CisgICAgTUQ1U1RFUChGMiwgYywgZCwgYSwgYiwgaW5bM10gKyAweGY0ZDUwZDg3LCAxNCk7CisgICAgTUQ1U1RFUChGMiwgYiwgYywgZCwgYSwgaW5bOF0gKyAweDQ1NWExNGVkLCAyMCk7CisgICAgTUQ1U1RFUChGMiwgYSwgYiwgYywgZCwgaW5bMTNdICsgMHhhOWUzZTkwNSwgNSk7CisgICAgTUQ1U1RFUChGMiwgZCwgYSwgYiwgYywgaW5bMl0gKyAweGZjZWZhM2Y4LCA5KTsKKyAgICBNRDVTVEVQKEYyLCBjLCBkLCBhLCBiLCBpbls3XSArIDB4Njc2ZjAyZDksIDE0KTsKKyAgICBNRDVTVEVQKEYyLCBiLCBjLCBkLCBhLCBpblsxMl0gKyAweDhkMmE0YzhhLCAyMCk7CisKKyAgICBNRDVTVEVQKEYzLCBhLCBiLCBjLCBkLCBpbls1XSArIDB4ZmZmYTM5NDIsIDQpOworICAgIE1ENVNURVAoRjMsIGQsIGEsIGIsIGMsIGluWzhdICsgMHg4NzcxZjY4MSwgMTEpOworICAgIE1ENVNURVAoRjMsIGMsIGQsIGEsIGIsIGluWzExXSArIDB4NmQ5ZDYxMjIsIDE2KTsKKyAgICBNRDVTVEVQKEYzLCBiLCBjLCBkLCBhLCBpblsxNF0gKyAweGZkZTUzODBjLCAyMyk7CisgICAgTUQ1U1RFUChGMywgYSwgYiwgYywgZCwgaW5bMV0gKyAweGE0YmVlYTQ0LCA0KTsKKyAgICBNRDVTVEVQKEYzLCBkLCBhLCBiLCBjLCBpbls0XSArIDB4NGJkZWNmYTksIDExKTsKKyAgICBNRDVTVEVQKEYzLCBjLCBkLCBhLCBiLCBpbls3XSArIDB4ZjZiYjRiNjAsIDE2KTsKKyAgICBNRDVTVEVQKEYzLCBiLCBjLCBkLCBhLCBpblsxMF0gKyAweGJlYmZiYzcwLCAyMyk7CisgICAgTUQ1U1RFUChGMywgYSwgYiwgYywgZCwgaW5bMTNdICsgMHgyODliN2VjNiwgNCk7CisgICAgTUQ1U1RFUChGMywgZCwgYSwgYiwgYywgaW5bMF0gKyAweGVhYTEyN2ZhLCAxMSk7CisgICAgTUQ1U1RFUChGMywgYywgZCwgYSwgYiwgaW5bM10gKyAweGQ0ZWYzMDg1LCAxNik7CisgICAgTUQ1U1RFUChGMywgYiwgYywgZCwgYSwgaW5bNl0gKyAweDA0ODgxZDA1LCAyMyk7CisgICAgTUQ1U1RFUChGMywgYSwgYiwgYywgZCwgaW5bOV0gKyAweGQ5ZDRkMDM5LCA0KTsKKyAgICBNRDVTVEVQKEYzLCBkLCBhLCBiLCBjLCBpblsxMl0gKyAweGU2ZGI5OWU1LCAxMSk7CisgICAgTUQ1U1RFUChGMywgYywgZCwgYSwgYiwgaW5bMTVdICsgMHgxZmEyN2NmOCwgMTYpOworICAgIE1ENVNURVAoRjMsIGIsIGMsIGQsIGEsIGluWzJdICsgMHhjNGFjNTY2NSwgMjMpOworCisgICAgTUQ1U1RFUChGNCwgYSwgYiwgYywgZCwgaW5bMF0gKyAweGY0MjkyMjQ0LCA2KTsKKyAgICBNRDVTVEVQKEY0LCBkLCBhLCBiLCBjLCBpbls3XSArIDB4NDMyYWZmOTcsIDEwKTsKKyAgICBNRDVTVEVQKEY0LCBjLCBkLCBhLCBiLCBpblsxNF0gKyAweGFiOTQyM2E3LCAxNSk7CisgICAgTUQ1U1RFUChGNCwgYiwgYywgZCwgYSwgaW5bNV0gKyAweGZjOTNhMDM5LCAyMSk7CisgICAgTUQ1U1RFUChGNCwgYSwgYiwgYywgZCwgaW5bMTJdICsgMHg2NTViNTljMywgNik7CisgICAgTUQ1U1RFUChGNCwgZCwgYSwgYiwgYywgaW5bM10gKyAweDhmMGNjYzkyLCAxMCk7CisgICAgTUQ1U1RFUChGNCwgYywgZCwgYSwgYiwgaW5bMTBdICsgMHhmZmVmZjQ3ZCwgMTUpOworICAgIE1ENVNURVAoRjQsIGIsIGMsIGQsIGEsIGluWzFdICsgMHg4NTg0NWRkMSwgMjEpOworICAgIE1ENVNURVAoRjQsIGEsIGIsIGMsIGQsIGluWzhdICsgMHg2ZmE4N2U0ZiwgNik7CisgICAgTUQ1U1RFUChGNCwgZCwgYSwgYiwgYywgaW5bMTVdICsgMHhmZTJjZTZlMCwgMTApOworICAgIE1ENVNURVAoRjQsIGMsIGQsIGEsIGIsIGluWzZdICsgMHhhMzAxNDMxNCwgMTUpOworICAgIE1ENVNURVAoRjQsIGIsIGMsIGQsIGEsIGluWzEzXSArIDB4NGUwODExYTEsIDIxKTsKKyAgICBNRDVTVEVQKEY0LCBhLCBiLCBjLCBkLCBpbls0XSArIDB4Zjc1MzdlODIsIDYpOworICAgIE1ENVNURVAoRjQsIGQsIGEsIGIsIGMsIGluWzExXSArIDB4YmQzYWYyMzUsIDEwKTsKKyAgICBNRDVTVEVQKEY0LCBjLCBkLCBhLCBiLCBpblsyXSArIDB4MmFkN2QyYmIsIDE1KTsKKyAgICBNRDVTVEVQKEY0LCBiLCBjLCBkLCBhLCBpbls5XSArIDB4ZWI4NmQzOTEsIDIxKTsKKworICAgIGJ1ZlswXSArPSBhOworICAgIGJ1ZlsxXSArPSBiOworICAgIGJ1ZlsyXSArPSBjOworICAgIGJ1ZlszXSArPSBkOworfQorCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvbGliL21vbm90b25pYy5jIGIvbGliL21vbm90b25pYy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiNThlMTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvbW9ub3RvbmljLmMKQEAgLTAsMCArMSw3MCBAQAorLyoKKyAqIFBsZWFzZSwgZG9uJ3QgYWRkIHRoaXMgZmlsZSB0byBsaWJjb21tb24gYmVjYXVzZSBjbG9ja19nZXR0aW1lKCkgcmVxdWlyZXMKKyAqIC1scnQgb24gc3lzdGVtcyB3aXRoIG9sZCBsaWJjLgorICovCisjaW5jbHVkZSA8dGltZS5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2lmZGVmIEhBVkVfU1lTSU5GTworI2luY2x1ZGUgPHN5cy9zeXNpbmZvLmg+CisjZW5kaWYKKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm1vbm90b25pYy5oIgorCitpbnQgZ2V0X2Jvb3RfdGltZShzdHJ1Y3QgdGltZXZhbCAqYm9vdF90aW1lKQoreworI2lmZGVmIENMT0NLX0JPT1RUSU1FCisJc3RydWN0IHRpbWVzcGVjIGhpcmVzX3VwdGltZTsKKwlzdHJ1Y3QgdGltZXZhbCBsb3Jlc191cHRpbWU7CisjZW5kaWYKKwlzdHJ1Y3QgdGltZXZhbCBub3c7CisjaWZkZWYgSEFWRV9TWVNJTkZPCisJc3RydWN0IHN5c2luZm8gaW5mbzsKKyNlbmRpZgorCisJaWYgKGdldHRpbWVvZmRheSgmbm93LCBOVUxMKSAhPSAwKQorCQlyZXR1cm4gLWVycm5vOworI2lmZGVmIENMT0NLX0JPT1RUSU1FCisJaWYgKGNsb2NrX2dldHRpbWUoQ0xPQ0tfQk9PVFRJTUUsICZoaXJlc191cHRpbWUpID09IDApIHsKKwkJVElNRVNQRUNfVE9fVElNRVZBTCgmbG9yZXNfdXB0aW1lLCAmaGlyZXNfdXB0aW1lKTsKKwkJdGltZXJzdWIoJm5vdywgJmxvcmVzX3VwdGltZSwgYm9vdF90aW1lKTsKKwkJcmV0dXJuIDA7CisJfQorI2VuZGlmCisjaWZkZWYgSEFWRV9TWVNJTkZPCisJLyogZmFsbGJhY2sgKi8KKwlpZiAoc3lzaW5mbygmaW5mbykgIT0gMCkKKwkJcmV0dXJuIC1lcnJubzsKKworCWJvb3RfdGltZS0+dHZfc2VjID0gbm93LnR2X3NlYyAtIGluZm8udXB0aW1lOworCWJvb3RfdGltZS0+dHZfdXNlYyA9IDA7CisJcmV0dXJuIDA7CisjZWxzZQorCXJldHVybiAtRU5PU1lTOworI2VuZGlmCit9CisKK2ludCBnZXR0aW1lX21vbm90b25pYyhzdHJ1Y3QgdGltZXZhbCAqdHYpCit7CisjaWZkZWYgQ0xPQ0tfTU9OT1RPTklDCisJLyogQ2FuIHNsZXcgb25seSBieSBudHAgYW5kIGFkanRpbWUgKi8KKwlpbnQgcmV0OworCXN0cnVjdCB0aW1lc3BlYyB0czsKKworIyBpZmRlZiBDTE9DS19NT05PVE9OSUNfUkFXCisJLyogTGludXggc3BlY2lmaWMsIGNhbid0IHNsZXcgKi8KKwlpZiAoIShyZXQgPSBjbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQ19SQVcsICZ0cykpKSB7CisjIGVsc2UKKwlpZiAoIShyZXQgPSBjbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQywgJnRzKSkpIHsKKyMgZW5kaWYKKwkJdHYtPnR2X3NlYyA9IHRzLnR2X3NlYzsKKwkJdHYtPnR2X3VzZWMgPSB0cy50dl9uc2VjIC8gMTAwMDsKKwl9CisJcmV0dXJuIHJldDsKKyNlbHNlCisJcmV0dXJuIGdldHRpbWVvZmRheSh0diwgTlVMTCk7CisjZW5kaWYKK30KKworCmRpZmYgLS1naXQgYS9saWIvcGFnZXIuYyBiL2xpYi9wYWdlci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjExNGIzZjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvcGFnZXIuYwpAQCAtMCwwICsxLDI3NyBAQAorLyoKKyAqIEJhc2VkIG9uIGxpbnV4LXBlcmYvZ2l0IHNjbQorICoKKyAqIFNvbWUgbW9kaWZpY2F0aW9ucyBhbmQgc2ltcGxpZmljYXRpb25zIGZvciB1dGlsLWxpbnV4CisgKiBieSBEYXZpZGxvaHIgQnVlc28gPGRhdmVAeHh4eHh4eD4gLSBNYXJjaCAyMDEyLgorICovCisKKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnIuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy93YWl0Lmg+CisjaW5jbHVkZSA8c2lnbmFsLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAidHR5dXRpbHMuaCIKKyNpbmNsdWRlICJwYWdlci5oIgorCisjZGVmaW5lIE5VTExfREVWSUNFCSIvZGV2L251bGwiCisKK3N0YXRpYyBjb25zdCBjaGFyICpwYWdlcl9hcmd2W10gPSB7ICJzaCIsICItYyIsIE5VTEwsIE5VTEwgfTsKKworc3RydWN0IGNoaWxkX3Byb2Nlc3MgeworCWNvbnN0IGNoYXIgKiphcmd2OworCXBpZF90IHBpZDsKKwlpbnQgaW47CisJaW50IG91dDsKKwlpbnQgZXJyOworCisJaW50IG9yZ19lcnI7CisJaW50IG9yZ19vdXQ7CisJc3RydWN0IHNpZ2FjdGlvbiBvcmlnX3NpZ2ludDsKKwlzdHJ1Y3Qgc2lnYWN0aW9uIG9yaWdfc2lnaHVwOworCXN0cnVjdCBzaWdhY3Rpb24gb3JpZ19zaWd0ZXJtOworCXN0cnVjdCBzaWdhY3Rpb24gb3JpZ19zaWdxdWl0OworCXN0cnVjdCBzaWdhY3Rpb24gb3JpZ19zaWdwaXBlOworCisJdW5zaWduZWQgbm9fc3RkaW46MTsKKwl2b2lkICgqcHJlZXhlY19jYikodm9pZCk7Cit9Oworc3RhdGljIHN0cnVjdCBjaGlsZF9wcm9jZXNzIHBhZ2VyX3Byb2Nlc3M7CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBjbG9zZV9wYWlyKGludCBmZFsyXSkKK3sKKwljbG9zZShmZFswXSk7CisJY2xvc2UoZmRbMV0pOworfQorCitzdGF0aWMgaW50IHN0YXJ0X2NvbW1hbmQoc3RydWN0IGNoaWxkX3Byb2Nlc3MgKmNtZCkKK3sKKwlpbnQgbmVlZF9pbjsKKwlpbnQgZmRpblsyXTsKKworCS8qCisJICogSW4gY2FzZSBvZiBlcnJvcnMgd2UgbXVzdCBrZWVwIHRoZSBwcm9taXNlIHRvIGNsb3NlIEZEcworCSAqIHRoYXQgaGF2ZSBiZWVuIHBhc3NlZCBpbiB2aWEgLT5pbiBhbmQgLT5vdXQuCisJICovCisJbmVlZF9pbiA9ICFjbWQtPm5vX3N0ZGluICYmIGNtZC0+aW4gPCAwOworCWlmIChuZWVkX2luKSB7CisJCWlmIChwaXBlKGZkaW4pIDwgMCkgeworCQkJaWYgKGNtZC0+b3V0ID4gMCkKKwkJCQljbG9zZShjbWQtPm91dCk7CisJCQlyZXR1cm4gLTE7CisJCX0KKwkJY21kLT5pbiA9IGZkaW5bMV07CisJfQorCisJZmZsdXNoKE5VTEwpOworCWNtZC0+cGlkID0gZm9yaygpOworCWlmICghY21kLT5waWQpIHsKKwkJaWYgKG5lZWRfaW4pIHsKKwkJCWR1cDIoZmRpblswXSwgU1RESU5fRklMRU5PKTsKKwkJCWNsb3NlX3BhaXIoZmRpbik7CisJCX0gZWxzZSBpZiAoY21kLT5pbiA+IDApIHsKKwkJCWR1cDIoY21kLT5pbiwgU1RESU5fRklMRU5PKTsKKwkJCWNsb3NlKGNtZC0+aW4pOworCQl9CisKKwkJY21kLT5wcmVleGVjX2NiKCk7CisJCWV4ZWN2cChjbWQtPmFyZ3ZbMF0sIChjaGFyICpjb25zdCopIGNtZC0+YXJndik7CisJCWV4aXQoMTI3KTsgLyogY21kIG5vdCBmb3VuZCAqLworCX0KKworCWlmIChjbWQtPnBpZCA8IDApIHsKKwkJaWYgKG5lZWRfaW4pCisJCQljbG9zZV9wYWlyKGZkaW4pOworCQllbHNlIGlmIChjbWQtPmluKQorCQkJY2xvc2UoY21kLT5pbik7CisJCXJldHVybiAtMTsKKwl9CisKKwlpZiAobmVlZF9pbikKKwkJY2xvc2UoZmRpblswXSk7CisJZWxzZSBpZiAoY21kLT5pbikKKwkJY2xvc2UoY21kLT5pbik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgd2FpdF9vcl93aGluZShwaWRfdCBwaWQpCit7CisJZm9yICg7OykgeworCQlpbnQgc3RhdHVzLCBjb2RlOworCQlwaWRfdCB3YWl0aW5nID0gd2FpdHBpZChwaWQsICZzdGF0dXMsIDApOworCisJCWlmICh3YWl0aW5nIDwgMCkgeworCQkJaWYgKGVycm5vID09IEVJTlRSKQorCQkJCWNvbnRpbnVlOworCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygid2FpdHBpZCBmYWlsZWQgKCVzKSIpLCBzdHJlcnJvcihlcnJubykpOworCQl9CisJCWlmICh3YWl0aW5nICE9IHBpZCkKKwkJCXJldHVybiAtMTsKKwkJaWYgKFdJRlNJR05BTEVEKHN0YXR1cykpCisJCQlyZXR1cm4gLTE7CisKKwkJaWYgKCFXSUZFWElURUQoc3RhdHVzKSkKKwkJCXJldHVybiAtMTsKKwkJY29kZSA9IFdFWElUU1RBVFVTKHN0YXR1cyk7CisJCXN3aXRjaCAoY29kZSkgeworCQljYXNlIDEyNzoKKwkJCXJldHVybiAtMTsKKwkJY2FzZSAwOgorCQkJcmV0dXJuIDA7CisJCWRlZmF1bHQ6CisJCQlyZXR1cm4gLTE7CisJCX0KKwl9Cit9CisKK3N0YXRpYyBpbnQgZmluaXNoX2NvbW1hbmQoc3RydWN0IGNoaWxkX3Byb2Nlc3MgKmNtZCkKK3sKKwlyZXR1cm4gd2FpdF9vcl93aGluZShjbWQtPnBpZCk7Cit9CisKK3N0YXRpYyB2b2lkIHBhZ2VyX3ByZWV4ZWModm9pZCkKK3sKKwkvKgorCSAqIFdvcmsgYXJvdW5kIGJ1ZyBpbiAibGVzcyIgYnkgbm90IHN0YXJ0aW5nIGl0IHVudGlsIHdlCisJICogaGF2ZSByZWFsIGlucHV0CisJICovCisJZmRfc2V0IGluOworCisJRkRfWkVSTygmaW4pOworCUZEX1NFVChTVERJTl9GSUxFTk8sICZpbik7CisJc2VsZWN0KDEsICZpbiwgTlVMTCwgJmluLCBOVUxMKTsKKworCWlmIChzZXRlbnYoIkxFU1MiLCAiRlJTWCIsIDApICE9IDApCisJCXdhcm4oXygiZmFpbGVkIHRvIHNldCB0aGUgJXMgZW52aXJvbm1lbnQgdmFyaWFibGUiKSwgIkxFU1MiKTsKK30KKworc3RhdGljIHZvaWQgd2FpdF9mb3JfcGFnZXIodm9pZCkKK3sKKwlpZiAocGFnZXJfcHJvY2Vzcy5waWQgPT0gMCkKKwkJcmV0dXJuOworCisJZmZsdXNoKHN0ZG91dCk7CisJZmZsdXNoKHN0ZGVycik7CisJLyogc2lnbmFsIEVPRiB0byBwYWdlciAqLworCWNsb3NlKFNURE9VVF9GSUxFTk8pOworCWNsb3NlKFNUREVSUl9GSUxFTk8pOworCWZpbmlzaF9jb21tYW5kKCZwYWdlcl9wcm9jZXNzKTsKK30KKworc3RhdGljIHZvaWQgd2FpdF9mb3JfcGFnZXJfc2lnbmFsKGludCBzaWdubykKK3sKKwl3YWl0X2Zvcl9wYWdlcigpOworCXJhaXNlKHNpZ25vKTsKK30KKworc3RhdGljIHZvaWQgX19zZXR1cF9wYWdlcih2b2lkKQoreworCWNvbnN0IGNoYXIgKnBhZ2VyID0gZ2V0ZW52KCJQQUdFUiIpOworCXN0cnVjdCBzaWdhY3Rpb24gc2E7CisKKwlpZiAoIWlzYXR0eShTVERPVVRfRklMRU5PKSkKKwkJcmV0dXJuOworCisJaWYgKCFwYWdlcikKKwkJcGFnZXIgPSAibGVzcyI7CisJZWxzZSBpZiAoISpwYWdlciB8fCAhc3RyY21wKHBhZ2VyLCAiY2F0IikpCisJCXJldHVybjsKKworCS8qIHNwYXduIHRoZSBwYWdlciAqLworCXBhZ2VyX2FyZ3ZbMl0gPSBwYWdlcjsKKwlwYWdlcl9wcm9jZXNzLmFyZ3YgPSBwYWdlcl9hcmd2OworCXBhZ2VyX3Byb2Nlc3MuaW4gPSAtMTsKKwlwYWdlcl9wcm9jZXNzLnByZWV4ZWNfY2IgPSBwYWdlcl9wcmVleGVjOworCisJaWYgKHN0YXJ0X2NvbW1hbmQoJnBhZ2VyX3Byb2Nlc3MpKQorCQlyZXR1cm47CisKKwkvKiBvcmlnaW5hbCBwcm9jZXNzIGNvbnRpbnVlcywgYnV0IHdyaXRlcyB0byB0aGUgcGlwZSAqLworCWR1cDIocGFnZXJfcHJvY2Vzcy5pbiwgU1RET1VUX0ZJTEVOTyk7CisJaWYgKGlzYXR0eShTVERFUlJfRklMRU5PKSkKKwkJZHVwMihwYWdlcl9wcm9jZXNzLmluLCBTVERFUlJfRklMRU5PKTsKKwljbG9zZShwYWdlcl9wcm9jZXNzLmluKTsKKworCW1lbXNldCgmc2EsIDAsIHNpemVvZihzYSkpOworCXNhLnNhX2hhbmRsZXIgPSB3YWl0X2Zvcl9wYWdlcl9zaWduYWw7CisKKwkvKiB0aGlzIG1ha2VzIHN1cmUgdGhhdCB0aGUgcGFyZW50IHRlcm1pbmF0ZXMgYWZ0ZXIgdGhlIHBhZ2VyICovCisJc2lnYWN0aW9uKFNJR0lOVCwgICZzYSwgJnBhZ2VyX3Byb2Nlc3Mub3JpZ19zaWdpbnQpOworCXNpZ2FjdGlvbihTSUdIVVAsICAmc2EsICZwYWdlcl9wcm9jZXNzLm9yaWdfc2lnaHVwKTsKKwlzaWdhY3Rpb24oU0lHVEVSTSwgJnNhLCAmcGFnZXJfcHJvY2Vzcy5vcmlnX3NpZ3Rlcm0pOworCXNpZ2FjdGlvbihTSUdRVUlULCAmc2EsICZwYWdlcl9wcm9jZXNzLm9yaWdfc2lncXVpdCk7CisJc2lnYWN0aW9uKFNJR1BJUEUsICZzYSwgJnBhZ2VyX3Byb2Nlc3Mub3JpZ19zaWdwaXBlKTsKK30KKworLyogU2V0dXAgcGFnZXIgYW5kIHJlZGlyZWN0cyBvdXRwdXQgdG8gdGhlICRQQUdFUi4gVGhlIHBhZ2VyIGlzIGNsb3NlZCBhdCBleGl0LgorICovCit2b2lkIHBhZ2VyX3JlZGlyZWN0KHZvaWQpCit7CisJaWYgKHBhZ2VyX3Byb2Nlc3MucGlkKQorCQlyZXR1cm47CQkvKiBhbHJlYWR5IHJ1bm5pbmcgKi8KKworCV9fc2V0dXBfcGFnZXIoKTsKKworCWF0ZXhpdCh3YWl0X2Zvcl9wYWdlcik7Cit9CisKKy8qIFNldHVwIHBhZ2VyIGFuZCByZWRpcmVjdCBvdXRwdXQsIHRoZSBwYWdlciBtYXkgYmUgY2xvc2VkIGJ5IHBhZ2VyX2Nsb3NlKCkuCisgKi8KK3ZvaWQgcGFnZXJfb3Blbih2b2lkKQoreworCWlmIChwYWdlcl9wcm9jZXNzLnBpZCkKKwkJcmV0dXJuOwkJLyogYWxyZWFkeSBydW5uaW5nICovCisKKwlwYWdlcl9wcm9jZXNzLm9yZ19vdXQgPSBkdXAoU1RET1VUX0ZJTEVOTyk7CisJcGFnZXJfcHJvY2Vzcy5vcmdfZXJyID0gZHVwKFNUREVSUl9GSUxFTk8pOworCisJX19zZXR1cF9wYWdlcigpOworfQorCisvKiBDbG9zZSBwYWdlciBhbmQgcmVzdG9yZSBvcmlnaW5hbCBzdGR7b3V0LGVycn0uCisgKi8KK3ZvaWQgcGFnZXJfY2xvc2Uodm9pZCkKK3sKKwlpZiAocGFnZXJfcHJvY2Vzcy5waWQgPT0gMCkKKwkJcmV0dXJuOworCisJd2FpdF9mb3JfcGFnZXIoKTsKKworCS8qIHJlc3RvcmUgb3JpZ2luYWwgb3V0cHV0ICovCisJZHVwMihwYWdlcl9wcm9jZXNzLm9yZ19vdXQsIFNURE9VVF9GSUxFTk8pOworCWR1cDIocGFnZXJfcHJvY2Vzcy5vcmdfZXJyLCBTVERFUlJfRklMRU5PKTsKKworCWNsb3NlKHBhZ2VyX3Byb2Nlc3Mub3JnX291dCk7CisJY2xvc2UocGFnZXJfcHJvY2Vzcy5vcmdfZXJyKTsKKworCS8qIHJlc3RvcmUgb3JpZ2luYWwgc2VnbmFscyBzZXR0aW5nICovCisJc2lnYWN0aW9uKFNJR0lOVCwgICZwYWdlcl9wcm9jZXNzLm9yaWdfc2lnaW50LCBOVUxMKTsKKwlzaWdhY3Rpb24oU0lHSFVQLCAgJnBhZ2VyX3Byb2Nlc3Mub3JpZ19zaWdodXAsIE5VTEwpOworCXNpZ2FjdGlvbihTSUdURVJNLCAmcGFnZXJfcHJvY2Vzcy5vcmlnX3NpZ3Rlcm0sIE5VTEwpOworCXNpZ2FjdGlvbihTSUdRVUlULCAmcGFnZXJfcHJvY2Vzcy5vcmlnX3NpZ3F1aXQsIE5VTEwpOworCXNpZ2FjdGlvbihTSUdQSVBFLCAmcGFnZXJfcHJvY2Vzcy5vcmlnX3NpZ3BpcGUsIE5VTEwpOworCisJbWVtc2V0KCZwYWdlcl9wcm9jZXNzLCAwLCBzaXplb2YocGFnZXJfcHJvY2VzcykpOworfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNCisKKyNkZWZpbmUgTUFYIDI1NQorCitpbnQgbWFpbihpbnQgYXJnYyBfX2F0dHJpYnV0ZV9fICgoX191bnVzZWRfXykpLAorCSBjaGFyICphcmd2W10gX19hdHRyaWJ1dGVfXyAoKF9fdW51c2VkX18pKSkKK3sKKwlpbnQgaTsKKworCXBhZ2VyX3JlZGlyZWN0KCk7CisJZm9yIChpID0gMDsgaSA8IE1BWDsgaSsrKQorCQlwcmludGYoIiVkXG4iLCBpKTsKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQorI2VuZGlmIC8qIFRFU1RfUFJPR1JBTSAqLwpkaWZmIC0tZ2l0IGEvbGliL3BhdGguYyBiL2xpYi9wYXRoLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWE2MjNiYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9wYXRoLmMKQEAgLTAsMCArMSwyNTUgQEAKKy8qCisgKiBTaW1wbGUgZnVuY3Rpb25zIHRvIGFjY2VzcyBmaWxlcy4gUGF0aHMgY2FuIGJlIGdsb2JhbGx5IHByZWZpeGVkIHRvIHJlYWQKKyAqIGRhdGEgZnJvbSBhbiBhbHRlcm5hdGl2ZSBzb3VyY2UgKGUuZy4gYSAvcHJvYyBkdW1wIGZvciByZWdyZXNzaW9uIHRlc3RzKS4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggQ2FpIFFpYW4gPHFjYWlAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAwOC0yMDEyIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd291bGQgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKyAqIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisgKiA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorICovCisKKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGludHR5cGVzLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKworI2luY2x1ZGUgImFsbC1pby5oIgorI2luY2x1ZGUgInBhdGguaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjLmgiCisKK3N0YXRpYyBzaXplX3QgcHJlZml4bGVuOworc3RhdGljIGNoYXIgcGF0aGJ1ZltQQVRIX01BWF07CisKK3N0YXRpYyBjb25zdCBjaGFyICoKK3BhdGhfdmNyZWF0ZShjb25zdCBjaGFyICpwYXRoLCB2YV9saXN0IGFwKQoreworCWlmIChwcmVmaXhsZW4pCisJCXZzbnByaW50ZihwYXRoYnVmICsgcHJlZml4bGVuLAorCQkJICBzaXplb2YocGF0aGJ1ZikgLSBwcmVmaXhsZW4sIHBhdGgsIGFwKTsKKwllbHNlCisJCXZzbnByaW50ZihwYXRoYnVmLCBzaXplb2YocGF0aGJ1ZiksIHBhdGgsIGFwKTsKKwlyZXR1cm4gcGF0aGJ1ZjsKK30KKworY2hhciAqCitwYXRoX3N0cmR1cChjb25zdCBjaGFyICpwYXRoLCAuLi4pCit7CisJY29uc3QgY2hhciAqcDsKKwl2YV9saXN0IGFwOworCisJdmFfc3RhcnQoYXAsIHBhdGgpOworCXAgPSBwYXRoX3ZjcmVhdGUocGF0aCwgYXApOworCXZhX2VuZChhcCk7CisKKwlyZXR1cm4gcCA/IHN0cmR1cChwKSA6IE5VTEw7Cit9CisKK3N0YXRpYyBGSUxFICoKK3BhdGhfdmZvcGVuKGNvbnN0IGNoYXIgKm1vZGUsIGludCBleGl0X29uX2Vycm9yLCBjb25zdCBjaGFyICpwYXRoLCB2YV9saXN0IGFwKQoreworCUZJTEUgKmY7CisJY29uc3QgY2hhciAqcCA9IHBhdGhfdmNyZWF0ZShwYXRoLCBhcCk7CisKKwlmID0gZm9wZW4ocCwgbW9kZSk7CisJaWYgKCFmICYmIGV4aXRfb25fZXJyb3IpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksIHApOworCXJldHVybiBmOworfQorCitzdGF0aWMgaW50CitwYXRoX3ZvcGVuKGludCBmbGFncywgY29uc3QgY2hhciAqcGF0aCwgdmFfbGlzdCBhcCkKK3sKKwlpbnQgZmQ7CisJY29uc3QgY2hhciAqcCA9IHBhdGhfdmNyZWF0ZShwYXRoLCBhcCk7CisKKwlmZCA9IG9wZW4ocCwgZmxhZ3MpOworCWlmIChmZCA9PSAtMSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgcCk7CisJcmV0dXJuIGZkOworfQorCitGSUxFICoKK3BhdGhfZm9wZW4oY29uc3QgY2hhciAqbW9kZSwgaW50IGV4aXRfb25fZXJyb3IsIGNvbnN0IGNoYXIgKnBhdGgsIC4uLikKK3sKKwlGSUxFICpmZDsKKwl2YV9saXN0IGFwOworCisJdmFfc3RhcnQoYXAsIHBhdGgpOworCWZkID0gcGF0aF92Zm9wZW4obW9kZSwgZXhpdF9vbl9lcnJvciwgcGF0aCwgYXApOworCXZhX2VuZChhcCk7CisKKwlyZXR1cm4gZmQ7Cit9CisKK3ZvaWQKK3BhdGhfcmVhZF9zdHIoY2hhciAqcmVzdWx0LCBzaXplX3QgbGVuLCBjb25zdCBjaGFyICpwYXRoLCAuLi4pCit7CisJRklMRSAqZmQ7CisJdmFfbGlzdCBhcDsKKworCXZhX3N0YXJ0KGFwLCBwYXRoKTsKKwlmZCA9IHBhdGhfdmZvcGVuKCJyIiBVTF9DTE9FWEVDU1RSLCAxLCBwYXRoLCBhcCk7CisJdmFfZW5kKGFwKTsKKworCWlmICghZmdldHMocmVzdWx0LCBsZW4sIGZkKSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IHJlYWQgJXMiKSwgcGF0aGJ1Zik7CisJZmNsb3NlKGZkKTsKKworCWxlbiA9IHN0cmxlbihyZXN1bHQpOworCWlmIChyZXN1bHRbbGVuIC0gMV0gPT0gJ1xuJykKKwkJcmVzdWx0W2xlbiAtIDFdID0gJ1wwJzsKK30KKworaW50CitwYXRoX3JlYWRfczMyKGNvbnN0IGNoYXIgKnBhdGgsIC4uLikKK3sKKwlGSUxFICpmZDsKKwl2YV9saXN0IGFwOworCWludCByZXN1bHQ7CisKKwl2YV9zdGFydChhcCwgcGF0aCk7CisJZmQgPSBwYXRoX3Zmb3BlbigiciIgVUxfQ0xPRVhFQ1NUUiwgMSwgcGF0aCwgYXApOworCXZhX2VuZChhcCk7CisKKwlpZiAoZnNjYW5mKGZkLCAiJWQiLCAmcmVzdWx0KSAhPSAxKSB7CisJCWlmIChmZXJyb3IoZmQpKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IHJlYWQgJXMiKSwgcGF0aGJ1Zik7CisJCWVsc2UKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJwYXJzZSBlcnJvcjogJXMiKSwgcGF0aGJ1Zik7CisJfQorCWZjbG9zZShmZCk7CisJcmV0dXJuIHJlc3VsdDsKK30KKwordWludDY0X3QKK3BhdGhfcmVhZF91NjQoY29uc3QgY2hhciAqcGF0aCwgLi4uKQoreworCUZJTEUgKmZkOworCXZhX2xpc3QgYXA7CisJdWludDY0X3QgcmVzdWx0OworCisJdmFfc3RhcnQoYXAsIHBhdGgpOworCWZkID0gcGF0aF92Zm9wZW4oInIiLCAxLCBwYXRoLCBhcCk7CisJdmFfZW5kKGFwKTsKKworCWlmIChmc2NhbmYoZmQsICIlIlNDTnU2NCwgJnJlc3VsdCkgIT0gMSkgeworCQlpZiAoZmVycm9yKGZkKSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCByZWFkICVzIiksIHBhdGhidWYpOworCQllbHNlCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygicGFyc2UgZXJyb3I6ICVzIiksIHBhdGhidWYpOworCX0KKwlmY2xvc2UoZmQpOworCXJldHVybiByZXN1bHQ7Cit9CisKK2ludAorcGF0aF93cml0ZV9zdHIoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICpwYXRoLCAuLi4pCit7CisJaW50IGZkLCByZXN1bHQ7CisJdmFfbGlzdCBhcDsKKworCXZhX3N0YXJ0KGFwLCBwYXRoKTsKKwlmZCA9IHBhdGhfdm9wZW4oT19XUk9OTFl8T19DTE9FWEVDLCBwYXRoLCBhcCk7CisJdmFfZW5kKGFwKTsKKwlyZXN1bHQgPSB3cml0ZV9hbGwoZmQsIHN0ciwgc3RybGVuKHN0cikpOworCWNsb3NlKGZkKTsKKwlyZXR1cm4gcmVzdWx0OworfQorCitpbnQKK3BhdGhfZXhpc3QoY29uc3QgY2hhciAqcGF0aCwgLi4uKQoreworCXZhX2xpc3QgYXA7CisJY29uc3QgY2hhciAqcDsKKworCXZhX3N0YXJ0KGFwLCBwYXRoKTsKKwlwID0gcGF0aF92Y3JlYXRlKHBhdGgsIGFwKTsKKwl2YV9lbmQoYXApOworCisJcmV0dXJuIGFjY2VzcyhwLCBGX09LKSA9PSAwOworfQorCisjaWZkZWYgSEFWRV9DUFVfU0VUX1QKKworc3RhdGljIGNwdV9zZXRfdCAqCitwYXRoX2NwdXBhcnNlKGludCBtYXhjcHVzLCBpbnQgaXNsaXN0LCBjb25zdCBjaGFyICpwYXRoLCB2YV9saXN0IGFwKQoreworCUZJTEUgKmZkOworCWNwdV9zZXRfdCAqc2V0OworCXNpemVfdCBzZXRzaXplLCBsZW4gPSBtYXhjcHVzICogNzsKKwljaGFyIGJ1ZltsZW5dOworCisJZmQgPSBwYXRoX3Zmb3BlbigiciIgVUxfQ0xPRVhFQ1NUUiwgMSwgcGF0aCwgYXApOworCisJaWYgKCFmZ2V0cyhidWYsIGxlbiwgZmQpKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3QgcmVhZCAlcyIpLCBwYXRoYnVmKTsKKwlmY2xvc2UoZmQpOworCisJbGVuID0gc3RybGVuKGJ1Zik7CisJaWYgKGJ1ZltsZW4gLSAxXSA9PSAnXG4nKQorCQlidWZbbGVuIC0gMV0gPSAnXDAnOworCisJc2V0ID0gY3B1c2V0X2FsbG9jKG1heGNwdXMsICZzZXRzaXplLCBOVUxMKTsKKwlpZiAoIXNldCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGNhbGxvY2F0ZSBjcHUgc2V0IikpOworCisJaWYgKGlzbGlzdCkgeworCQlpZiAoY3B1bGlzdF9wYXJzZShidWYsIHNldCwgc2V0c2l6ZSwgMCkpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0ICVzIiksIGJ1Zik7CisJfSBlbHNlIHsKKwkJaWYgKGNwdW1hc2tfcGFyc2UoYnVmLCBzZXQsIHNldHNpemUpKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzayAlcyIpLCBidWYpOworCX0KKwlyZXR1cm4gc2V0OworfQorCitjcHVfc2V0X3QgKgorcGF0aF9yZWFkX2NwdXNldChpbnQgbWF4Y3B1cywgY29uc3QgY2hhciAqcGF0aCwgLi4uKQoreworCXZhX2xpc3QgYXA7CisJY3B1X3NldF90ICpzZXQ7CisKKwl2YV9zdGFydChhcCwgcGF0aCk7CisJc2V0ID0gcGF0aF9jcHVwYXJzZShtYXhjcHVzLCAwLCBwYXRoLCBhcCk7CisJdmFfZW5kKGFwKTsKKworCXJldHVybiBzZXQ7Cit9CisKK2NwdV9zZXRfdCAqCitwYXRoX3JlYWRfY3B1bGlzdChpbnQgbWF4Y3B1cywgY29uc3QgY2hhciAqcGF0aCwgLi4uKQoreworCXZhX2xpc3QgYXA7CisJY3B1X3NldF90ICpzZXQ7CisKKwl2YV9zdGFydChhcCwgcGF0aCk7CisJc2V0ID0gcGF0aF9jcHVwYXJzZShtYXhjcHVzLCAxLCBwYXRoLCBhcCk7CisJdmFfZW5kKGFwKTsKKworCXJldHVybiBzZXQ7Cit9CisKK3ZvaWQKK3BhdGhfc2V0X3ByZWZpeChjb25zdCBjaGFyICpwcmVmaXgpCit7CisJcHJlZml4bGVuID0gc3RybGVuKHByZWZpeCk7CisJc3RybmNweShwYXRoYnVmLCBwcmVmaXgsIHNpemVvZihwYXRoYnVmKSk7CisJcGF0aGJ1ZltzaXplb2YocGF0aGJ1ZikgLSAxXSA9ICdcMCc7Cit9CisKKyNlbmRpZiAvKiBIQVZFX0NQVV9TRVRfVCAqLwpkaWZmIC0tZ2l0IGEvbGliL3BseW1vdXRoLWN0cmwuYyBiL2xpYi9wbHltb3V0aC1jdHJsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmNkYTdjOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9wbHltb3V0aC1jdHJsLmMKQEAgLTAsMCArMSwxNDcgQEAKKy8qCisgKiBwbHltb3V0aC1jdHJsLmMJU2ltcGx5IGNvbW11bmljYXRpb25zIHdpdGggcGx5bW91dGhkCisgKgkJCXRvIGF2b2lkIGZvcmtlZCBzdWIgcHJvY2Vzc2VzIGFuZC9vcgorICoJCQltaXNzZWQgcGx5bW91dGggc2VuZCBjb21tYW5kcyB0b29sCisgKgkJCWR1ZSBhIHBseW1vdXRoZCByZXBsYWNlbWVudC4KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1VTRSBMaW51eCBHbWJILCBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAyMDE2IFdlcm5lciBGaW5rIDx3ZXJuZXJAc3VzZS5kZT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikKKyAqIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtIChzZWUgdGhlIGZpbGUgQ09QWUlORyk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlCisgKiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqIEF1dGhvcjogV2VybmVyIEZpbmsgPHdlcm5lckBzdXNlLmRlPgorICovCisKKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPHBvbGwuaD4KKyNpbmNsdWRlIDxzaWduYWwuaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzeXMvbW1hbi5oPgorI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvdW4uaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgImFsbC1pby5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJwbHltb3V0aC1jdHJsLmgiCisKK3N0YXRpYyBpbnQgY2FuX3JlYWQoaW50IGZkLCBjb25zdCBsb25nIHRpbWVvdXQpCit7CisJc3RydWN0IHBvbGxmZCBmZHMgPSB7CisJCS5mZCA9IGZkLAorCQkuZXZlbnRzID0gUE9MTElOfFBPTExQUkksCisJCS5yZXZlbnRzID0gMCwKKwl9OworCWludCByZXQ7CisKKwlkbyB7CisJCXJldCA9IHBvbGwoJmZkcywgMSwgdGltZW91dCk7CisJfSB3aGlsZSAoKHJldCA8IDApICYmIChlcnJubyA9PSBFSU5UUikpOworCisJcmV0dXJuIChyZXQgPT0gMSkgJiYgKGZkcy5yZXZlbnRzICYgKFBPTExJTnxQT0xMUFJJKSk7Cit9CisKK3N0YXRpYyBpbnQgb3Blbl91bl9zb2NrZXRfYW5kX2Nvbm5lY3Qodm9pZCkKK3sKKwlzdHJ1Y3Qgc29ja2FkZHJfdW4gc3UgPSB7CQkvKiBUaGUgYWJzdHJhY3QgVU5JWCBzb2NrZXQgb2YgcGx5bW91dGggKi8KKwkJLnN1bl9mYW1pbHkgPSBBRl9VTklYLAorCQkuc3VuX3BhdGggPSBQTFlNT1VUSF9TT0NLRVRfUEFUSCwKKwl9OworCWNvbnN0IGludCBvbmUgPSAxOworCWludCBmZCwgcmV0OworCisJZmQgPSBzb2NrZXQoUEZfVU5JWCwgU09DS19TVFJFQU18U09DS19DTE9FWEVDfFNPQ0tfTk9OQkxPQ0ssIDApOworCWlmIChmZCA8IDApIHsKKwkJd2FybngoXygiY2FuIG5vdCBvcGVuIFVOSVggc29ja2V0IikpOworCQlnb3RvIGVycjsKKwl9CisKKwlyZXQgPSBzZXRzb2Nrb3B0KGZkLCBTT0xfU09DS0VULCBTT19QQVNTQ1JFRCwgJm9uZSwgKHNvY2tsZW5fdClzaXplb2Yob25lKSk7CisJaWYgKHJldCA8IDApIHsKKwkJd2FybngoXygiY2FuIG5vdCBzZXQgb3B0aW9uIGZvciBVTklYIHNvY2tldCIpKTsKKwkJY2xvc2UoZmQpOworCQlmZCA9IC0xOworCQlnb3RvIGVycjsKKwl9CisKKwkvKgorCSAqIFBsZWFzZSBub3RlIHRoYXQgdGhlIFBMWU1PVVRIX1NPQ0tFVF9QQVRIIGhhcyBhCisJICogbGVhZGluZyBOVUxMIGJ5dGUgdG8gbWFyayBpdCBhcyBhbiBhYnN0cmFjdCBzb2NrZXQKKwkgKi8KKwlyZXQgPSBjb25uZWN0KGZkLCAmc3UsIG9mZnNldG9mKHN0cnVjdCBzb2NrYWRkcl91biwgc3VuX3BhdGgpICsgMSArIHN0cmxlbihzdS5zdW5fcGF0aCsxKSk7CisJaWYgKHJldCA8IDApIHsKKwkJaWYgKGVycm5vICE9IEVDT05OUkVGVVNFRCkKKwkJCXdhcm54KF8oImNhbiBub3QgY29ubmVjdCBvbiBVTklYIHNvY2tldCIpKTsKKwkJY2xvc2UoZmQpOworCQlmZCA9IC0xOworCQlnb3RvIGVycjsKKwl9CitlcnI6CisJcmV0dXJuIGZkOworfQorCitpbnQgcGx5bW91dGhfY29tbWFuZChpbnQgY21kLCAuLi4pCit7CisJdWludDhfdCBhbnN3ZXJbMl0sIGNvbW1hbmRbMl07CisJc3RydWN0IHNpZ2FjdGlvbiBzcCwgb3A7CisJaW50IGZkc29jayA9IC0xLCByZXQgPSAwOworCisJc2lnZW1wdHlzZXQgKCZzcC5zYV9tYXNrKTsKKwlzcC5zYV9oYW5kbGVyID0gU0lHX0lHTjsKKwlzcC5zYV9mbGFncyA9IFNBX1JFU1RBUlQ7CisJc2lnYWN0aW9uKFNJR1BJUEUsICZzcCwgJm9wKTsKKworCS8qCisJICogVGhlIHBseW1vdXRoZCBkb2VzIHJlYWQgYXQgbGVhc3QgdHdvIGJ5dGVzLgorCSAqLworCWNvbW1hbmRbMV0gPSAnXDAnOworCXN3aXRjaCAoY21kKSB7CisJY2FzZSBNQUdJQ19QSU5HOgorCQlmZHNvY2sgPSBvcGVuX3VuX3NvY2tldF9hbmRfY29ubmVjdCgpOworCQlpZiAoZmRzb2NrID49IDApIHsKKwkJCWNvbW1hbmRbMF0gPSBjbWQ7CisJCQl3cml0ZV9hbGwoZmRzb2NrLCBjb21tYW5kLCBzaXplb2YoY29tbWFuZCkpOworCQl9CisJCWJyZWFrOworCWNhc2UgTUFHSUNfUVVJVDoKKwkJZmRzb2NrID0gb3Blbl91bl9zb2NrZXRfYW5kX2Nvbm5lY3QoKTsKKwkJaWYgKGZkc29jayA+PSAwKSB7CisJCQljb21tYW5kWzBdID0gY21kOworCQkJd3JpdGVfYWxsKGZkc29jaywgY29tbWFuZCwgc2l6ZW9mKGNvbW1hbmQpKTsKKwkJfQorCQlicmVhazsKKwlkZWZhdWx0OgorCQl3YXJueChfKCJ0aGUgcGx5bW91dGggcmVxdWVzdCAlYyBpcyBub3QgaW1wbGVtZW50ZWQiKSwgY21kKTsKKwljYXNlICc/JzoKKwkJZ290byBlcnI7CisJfQorCisJYW5zd2VyWzBdID0gJ1wwJzsKKwlpZiAoZmRzb2NrID49IDApIHsKKwkJaWYgKGNhbl9yZWFkKGZkc29jaywgMTAwMCkpCisJCQlyZWFkX2FsbChmZHNvY2ssIChjaGFyICopICZhbnN3ZXJbMF0sIHNpemVvZihhbnN3ZXIpKTsKKwkJY2xvc2UoZmRzb2NrKTsKKwl9CisJc2lnYWN0aW9uKFNJR1BJUEUsICZvcCwgTlVMTCk7CisJcmV0ID0gKGFuc3dlclswXSA9PSBBTlNXRVJfQUNLKSA/IDEgOiAwOworZXJyOgorCXJldHVybiByZXQ7Cit9CisKZGlmZiAtLWdpdCBhL2xpYi9wcm9jdXRpbHMuYyBiL2xpYi9wcm9jdXRpbHMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNmQxODk3Ci0tLSAvZGV2L251bGwKKysrIGIvbGliL3Byb2N1dGlscy5jCkBAIC0wLDAgKzEsMzA4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIERhdmlkbG9ociBCdWVzbyA8ZGF2ZUBnbnUub3JnPgorICoKKyAqIHByb2N1dGlscy5jOiBHZW5lcmFsIHB1cnBvc2UgcHJvY2ZzIHBhcnNpbmcgdXRpbGl0aWVzCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24pCisgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgTGlicmFyeSBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxkaXJlbnQuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorCisjaW5jbHVkZSAicHJvY3V0aWxzLmgiCisjaW5jbHVkZSAiZmlsZXV0aWxzLmgiCisjaW5jbHVkZSAiYWxsLWlvLmgiCisjaW5jbHVkZSAiYy5oIgorCisvKgorICogQHBpZDogcHJvY2VzcyBJRCBmb3Igd2hpY2ggd2Ugd2FudCB0byBvYnRhaW4gdGhlIHRocmVhZHMgZ3JvdXAKKyAqCisgKiBSZXR1cm5zOiBuZXdseSBhbGxvY2F0ZWQgdGFza3Mgc3RydWN0dXJlCisgKi8KK3N0cnVjdCBwcm9jX3Rhc2tzICpwcm9jX29wZW5fdGFza3MocGlkX3QgcGlkKQoreworCXN0cnVjdCBwcm9jX3Rhc2tzICp0YXNrczsKKwljaGFyIHBhdGhbUEFUSF9NQVhdOworCisJc3ByaW50ZihwYXRoLCAiL3Byb2MvJWQvdGFzay8iLCBwaWQpOworCisJdGFza3MgPSBtYWxsb2Moc2l6ZW9mKHN0cnVjdCBwcm9jX3Rhc2tzKSk7CisJaWYgKHRhc2tzKSB7CisJCXRhc2tzLT5kaXIgPSBvcGVuZGlyKHBhdGgpOworCQlpZiAodGFza3MtPmRpcikKKwkJCXJldHVybiB0YXNrczsKKwl9CisKKwlmcmVlKHRhc2tzKTsKKwlyZXR1cm4gTlVMTDsKK30KKworLyoKKyAqIEB0YXNrczogYWxsb2NhdGVkIHRhc2tzIHN0cnVjdHVyZQorICoKKyAqIFJldHVybnM6IG5vdGhpbmcKKyAqLwordm9pZCBwcm9jX2Nsb3NlX3Rhc2tzKHN0cnVjdCBwcm9jX3Rhc2tzICp0YXNrcykKK3sKKwlpZiAodGFza3MgJiYgdGFza3MtPmRpcikKKwkJY2xvc2VkaXIodGFza3MtPmRpcik7CisJZnJlZSh0YXNrcyk7Cit9CisKKy8qCisgKiBAdGFza3M6IGFsbG9jYXRlZCB0YXNrIHN0cnVjdHVyZQorICogQHRpZDogW291dHB1dF0gb25lIG9mIHRoZSB0aHJlYWQgSURzIGJlbG9uZ2luZyB0byB0aGUgdGhyZWFkIGdyb3VwCisgKiAgICAgICAgSWYgd2hlbiBhbiBlcnJvciBvY2N1cnMsIGl0IGlzIHNldCB0byAwLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgMSBvbiBlbmQsIC0xIG9uIGZhaWx1cmUgb3Igbm8gbW9yZSB0aHJlYWRzCisgKi8KK2ludCBwcm9jX25leHRfdGlkKHN0cnVjdCBwcm9jX3Rhc2tzICp0YXNrcywgcGlkX3QgKnRpZCkKK3sKKwlzdHJ1Y3QgZGlyZW50ICpkOworCWNoYXIgKmVuZDsKKworCWlmICghdGFza3MgfHwgIXRpZCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkqdGlkID0gMDsKKwllcnJubyA9IDA7CisKKwlkbyB7CisJCWQgPSByZWFkZGlyKHRhc2tzLT5kaXIpOworCQlpZiAoIWQpCisJCQlyZXR1cm4gZXJybm8gPyAtMSA6IDE7CQkvKiBlcnJvciBvciBlbmQtb2YtZGlyICovCisKKwkJaWYgKCFpc2RpZ2l0KCh1bnNpZ25lZCBjaGFyKSAqZC0+ZF9uYW1lKSkKKwkJCWNvbnRpbnVlOworCQllcnJubyA9IDA7CisJCSp0aWQgPSAocGlkX3QpIHN0cnRvbChkLT5kX25hbWUsICZlbmQsIDEwKTsKKwkJaWYgKGVycm5vIHx8IGQtPmRfbmFtZSA9PSBlbmQgfHwgKGVuZCAmJiAqZW5kKSkKKwkJCXJldHVybiAtMTsKKworCX0gd2hpbGUgKCEqdGlkKTsKKworCXJldHVybiAwOworfQorCisvKiByZXR1cm5zIHByb2Nlc3MgY29tbWFuZCBwYXRoLCB1c2UgZnJlZSgpIGZvciByZXN1bHQgKi8KK3N0YXRpYyBjaGFyICpwcm9jX2ZpbGVfc3RyZHVwKHBpZF90IHBpZCwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwljaGFyIGJ1ZltCVUZTSVpdLCAqcmVzID0gTlVMTDsKKwlzc2l6ZV90IHN6ID0gMDsKKwlzaXplX3QgaTsKKwlpbnQgZmQ7CisKKwlzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiL3Byb2MvJWQvJXMiLCAoaW50KSBwaWQsIG5hbWUpOworCWZkID0gb3BlbihidWYsIE9fUkRPTkxZKTsKKwlpZiAoZmQgPCAwKQorCQlnb3RvIGRvbmU7CisKKwlzeiA9IHJlYWRfYWxsKGZkLCBidWYsIHNpemVvZihidWYpKTsKKwlpZiAoc3ogPD0gMCkKKwkJZ290byBkb25lOworCisJZm9yIChpID0gMDsgaSA8IChzaXplX3QpIHN6OyBpKyspIHsKKworCQlpZiAoYnVmW2ldID09ICdcMCcpCisJCQlidWZbaV0gPSAnICc7CisJfQorCWJ1ZltzeiAtIDFdID0gJ1wwJzsKKwlyZXMgPSBzdHJkdXAoYnVmKTsKK2RvbmU6CisJaWYgKGZkID49IDApCisJCWNsb3NlKGZkKTsKKwlyZXR1cm4gcmVzOworfQorCisvKiByZXR1cm5zIHByb2Nlc3MgY29tbWFuZCBwYXRoLCB1c2UgZnJlZSgpIGZvciByZXN1bHQgKi8KK2NoYXIgKnByb2NfZ2V0X2NvbW1hbmQocGlkX3QgcGlkKQoreworCXJldHVybiBwcm9jX2ZpbGVfc3RyZHVwKHBpZCwgImNtZGxpbmUiKTsKK30KKworLyogcmV0dXJucyBwcm9jZXNzIGNvbW1hbmQgbmFtZSwgdXNlIGZyZWUoKSBmb3IgcmVzdWx0ICovCitjaGFyICpwcm9jX2dldF9jb21tYW5kX25hbWUocGlkX3QgcGlkKQoreworCXJldHVybiBwcm9jX2ZpbGVfc3RyZHVwKHBpZCwgImNvbW0iKTsKK30KKworc3RydWN0IHByb2NfcHJvY2Vzc2VzICpwcm9jX29wZW5fcHJvY2Vzc2VzKHZvaWQpCit7CisJc3RydWN0IHByb2NfcHJvY2Vzc2VzICpwczsKKworCXBzID0gY2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgcHJvY19wcm9jZXNzZXMpKTsKKwlpZiAocHMpIHsKKwkJcHMtPmRpciA9IG9wZW5kaXIoIi9wcm9jIik7CisJCWlmIChwcy0+ZGlyKQorCQkJcmV0dXJuIHBzOworCX0KKworCWZyZWUocHMpOworCXJldHVybiBOVUxMOworfQorCit2b2lkIHByb2NfY2xvc2VfcHJvY2Vzc2VzKHN0cnVjdCBwcm9jX3Byb2Nlc3NlcyAqcHMpCit7CisJaWYgKHBzICYmIHBzLT5kaXIpCisJCWNsb3NlZGlyKHBzLT5kaXIpOworCWZyZWUocHMpOworfQorCit2b2lkIHByb2NfcHJvY2Vzc2VzX2ZpbHRlcl9ieV9uYW1lKHN0cnVjdCBwcm9jX3Byb2Nlc3NlcyAqcHMsIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJcHMtPmZsdHJfbmFtZSA9IG5hbWU7CisJcHMtPmhhc19mbHRyX25hbWUgPSBuYW1lID8gMSA6IDA7Cit9CisKK3ZvaWQgcHJvY19wcm9jZXNzZXNfZmlsdGVyX2J5X3VpZChzdHJ1Y3QgcHJvY19wcm9jZXNzZXMgKnBzLCB1aWRfdCB1aWQpCit7CisJcHMtPmZsdHJfdWlkID0gdWlkOworCXBzLT5oYXNfZmx0cl91aWQgPSAxOworfQorCitpbnQgcHJvY19uZXh0X3BpZChzdHJ1Y3QgcHJvY19wcm9jZXNzZXMgKnBzLCBwaWRfdCAqcGlkKQoreworCXN0cnVjdCBkaXJlbnQgKmQ7CisKKwlpZiAoIXBzIHx8ICFwaWQpCisJCXJldHVybiAtRUlOVkFMOworCisJKnBpZCA9IDA7CisJZXJybm8gPSAwOworCisJZG8geworCQljaGFyIGJ1ZltCVUZTSVpdLCAqcDsKKworCQllcnJubyA9IDA7CisJCWQgPSByZWFkZGlyKHBzLT5kaXIpOworCQlpZiAoIWQpCisJCQlyZXR1cm4gZXJybm8gPyAtMSA6IDE7CQkvKiBlcnJvciBvciBlbmQtb2YtZGlyICovCisKKworCQlpZiAoIWlzZGlnaXQoKHVuc2lnbmVkIGNoYXIpICpkLT5kX25hbWUpKQorCQkJY29udGludWU7CisKKwkJLyogZmlsdGVyIG91dCBieSBVSUQgKi8KKwkJaWYgKHBzLT5oYXNfZmx0cl91aWQpIHsKKwkJCXN0cnVjdCBzdGF0IHN0OworCisJCQlpZiAoZnN0YXRhdChkaXJmZChwcy0+ZGlyKSwgZC0+ZF9uYW1lLCAmc3QsIDApKQorCQkJCWNvbnRpbnVlOworCQkJaWYgKHBzLT5mbHRyX3VpZCAhPSBzdC5zdF91aWQpCisJCQkJY29udGludWU7CisJCX0KKworCQkvKiBmaWx0ZXIgb3V0IGJ5IE5BTUUgKi8KKwkJaWYgKHBzLT5oYXNfZmx0cl9uYW1lKSB7CisJCQljaGFyIHByb2NuYW1lWzI1Nl07CisJCQlGSUxFICpmOworCisJCQlzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJXMvc3RhdCIsIGQtPmRfbmFtZSk7CisJCQlmID0gZm9wZW5fYXQoZGlyZmQocHMtPmRpciksIGJ1ZiwgT19DTE9FWEVDfE9fUkRPTkxZLCAiciIpOworCQkJaWYgKCFmKQorCQkJCWNvbnRpbnVlOworCisJCQlwID0gZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgZik7CisJCQlmY2xvc2UoZik7CisJCQlpZiAoIXApCisJCQkJY29udGludWU7CisKKwkJCWlmIChzc2NhbmYoYnVmLCAiJSpkICglMjU1W14pXSkiLCBwcm9jbmFtZSkgIT0gMSkKKwkJCQljb250aW51ZTsKKworCQkJLyogb2ssIHdlIGdvdCB0aGUgcHJvY2VzcyBuYW1lLiAqLworCQkJaWYgKHN0cmNtcChwcm9jbmFtZSwgcHMtPmZsdHJfbmFtZSkgIT0gMCkKKwkJCQljb250aW51ZTsKKwkJfQorCisJCXAgPSBOVUxMOworCQllcnJubyA9IDA7CisJCSpwaWQgPSAocGlkX3QpIHN0cnRvbChkLT5kX25hbWUsICZwLCAxMCk7CisJCWlmIChlcnJubyB8fCBkLT5kX25hbWUgPT0gcCB8fCAocCAmJiAqcCkpCisJCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAtMTsKKworCQlyZXR1cm4gMDsKKwl9IHdoaWxlICgxKTsKKworCXJldHVybiAwOworfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNCisKK3N0YXRpYyBpbnQgdGVzdF90YXNrcyhpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXBpZF90IHRpZCwgcGlkOworCXN0cnVjdCBwcm9jX3Rhc2tzICp0czsKKworCWlmIChhcmdjICE9IDIpCisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisKKwlwaWQgPSBzdHJ0b2woYXJndlsxXSwgKGNoYXIgKiopIE5VTEwsIDEwKTsKKwlwcmludGYoIlBJRD0lZCwgVElEczoiLCBwaWQpOworCisJdHMgPSBwcm9jX29wZW5fdGFza3MocGlkKTsKKwlpZiAoIXRzKQorCQllcnIoRVhJVF9GQUlMVVJFLCAib3BlbiBsaXN0IG9mIHRhc2tzIGZhaWxlZCIpOworCisJd2hpbGUgKHByb2NfbmV4dF90aWQodHMsICZ0aWQpID09IDApCisJCXByaW50ZigiICVkIiwgdGlkKTsKKworCXByaW50ZigiXG4iKTsKKyAgICAgICAgcHJvY19jbG9zZV90YXNrcyh0cyk7CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KKworc3RhdGljIGludCB0ZXN0X3Byb2Nlc3NlcyhpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXBpZF90IHBpZDsKKwlzdHJ1Y3QgcHJvY19wcm9jZXNzZXMgKnBzOworCisJcHMgPSBwcm9jX29wZW5fcHJvY2Vzc2VzKCk7CisJaWYgKCFwcykKKwkJZXJyKEVYSVRfRkFJTFVSRSwgIm9wZW4gbGlzdCBvZiBwcm9jZXNzZXMgZmFpbGVkIik7CisKKwlpZiAoYXJnYyA+PSAzICYmIHN0cmNtcChhcmd2WzFdLCAiLS1uYW1lIikgPT0gMCkKKwkJcHJvY19wcm9jZXNzZXNfZmlsdGVyX2J5X25hbWUocHMsIGFyZ3ZbMl0pOworCisJaWYgKGFyZ2MgPj0gMyAmJiBzdHJjbXAoYXJndlsxXSwgIi0tdWlkIikgPT0gMCkKKwkJcHJvY19wcm9jZXNzZXNfZmlsdGVyX2J5X3VpZChwcywgKHVpZF90KSBhdG9sKGFyZ3ZbMl0pKTsKKworCXdoaWxlIChwcm9jX25leHRfcGlkKHBzLCAmcGlkKSA9PSAwKQorCQlwcmludGYoIiAlZCIsIHBpZCk7CisKKwlwcmludGYoIlxuIik7CisgICAgICAgIHByb2NfY2xvc2VfcHJvY2Vzc2VzKHBzKTsKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWlmIChhcmdjIDwgMikgeworCQlmcHJpbnRmKHN0ZGVyciwgInVzYWdlOiAlMSRzIC0tdGFza3MgPHBpZD5cbiIKKwkJCQkiICAgICAgICUxJHMgLS1wcm9jZXNzZXMgWy0tLW5hbWUgPG5hbWU+XSBbLS11aWQgPHVpZD5dXG4iLAorCQkJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKwl9CisKKwlpZiAoc3RyY21wKGFyZ3ZbMV0sICItLXRhc2tzIikgPT0gMCkKKwkJcmV0dXJuIHRlc3RfdGFza3MoYXJnYyAtIDEsIGFyZ3YgKyAxKTsKKwlpZiAoc3RyY21wKGFyZ3ZbMV0sICItLXByb2Nlc3NlcyIpID09IDApCisJCXJldHVybiB0ZXN0X3Byb2Nlc3NlcyhhcmdjIC0gMSwgYXJndiArIDEpOworCisJcmV0dXJuIEVYSVRfRkFJTFVSRTsKK30KKyNlbmRpZiAvKiBURVNUX1BST0dSQU0gKi8KZGlmZiAtLWdpdCBhL2xpYi9yYW5kdXRpbHMuYyBiL2xpYi9yYW5kdXRpbHMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOTNiOWJhCi0tLSAvZGV2L251bGwKKysrIGIvbGliL3JhbmR1dGlscy5jCkBAIC0wLDAgKzEsMTUzIEBACisvKgorICogR2VuZXJhbCBwdXJwb3NlIHJhbmRvbSB1dGlsaXRpZXMKKyAqCisgKiBCYXNlZCBvbiBsaWJ1dWlkIGNvZGUuCisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorCisjaW5jbHVkZSA8c3lzL3N5c2NhbGwuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJyYW5kdXRpbHMuaCIKKyNpbmNsdWRlICJubHMuaCIKKworI2lmZGVmIEhBVkVfVExTCisjZGVmaW5lIFRIUkVBRF9MT0NBTCBzdGF0aWMgX190aHJlYWQKKyNlbHNlCisjZGVmaW5lIFRIUkVBRF9MT0NBTCBzdGF0aWMKKyNlbmRpZgorCisjaWYgZGVmaW5lZChfX2xpbnV4X18pICYmIGRlZmluZWQoX19OUl9nZXR0aWQpICYmIGRlZmluZWQoSEFWRV9KUkFORDQ4KQorI2RlZmluZSBET19KUkFORF9NSVgKK1RIUkVBRF9MT0NBTCB1bnNpZ25lZCBzaG9ydCB1bF9qcmFuZF9zZWVkWzNdOworI2VuZGlmCisKK2ludCByYW5kX2dldF9udW1iZXIoaW50IGxvd19uLCBpbnQgaGlnaF9uKQoreworCXJldHVybiByYW5kKCkgJSAoaGlnaF9uIC0gbG93X24gKyAxKSArIGxvd19uOworfQorCitpbnQgcmFuZG9tX2dldF9mZCh2b2lkKQoreworCWludCBpLCBmZDsKKwlzdHJ1Y3QgdGltZXZhbCB0djsKKworCWZkID0gb3BlbigiL2Rldi91cmFuZG9tIiwgT19SRE9OTFkgfCBPX0NMT0VYRUMpOworCWlmIChmZCA9PSAtMSkKKwkJZmQgPSBvcGVuKCIvZGV2L3JhbmRvbSIsIE9fUkRPTkxZIHwgT19OT05CTE9DSyB8IE9fQ0xPRVhFQyk7CisJaWYgKGZkID49IDApIHsKKwkJaSA9IGZjbnRsKGZkLCBGX0dFVEZEKTsKKwkJaWYgKGkgPj0gMCkKKwkJCWZjbnRsKGZkLCBGX1NFVEZELCBpIHwgRkRfQ0xPRVhFQyk7CisJfQorCisJZ2V0dGltZW9mZGF5KCZ0diwgMCk7CisJc3JhbmQoKGdldHBpZCgpIDw8IDE2KSBeIGdldHVpZCgpIF4gdHYudHZfc2VjIF4gdHYudHZfdXNlYyk7CisKKyNpZmRlZiBET19KUkFORF9NSVgKKwl1bF9qcmFuZF9zZWVkWzBdID0gZ2V0cGlkKCkgXiAodHYudHZfc2VjICYgMHhGRkZGKTsKKwl1bF9qcmFuZF9zZWVkWzFdID0gZ2V0cHBpZCgpIF4gKHR2LnR2X3VzZWMgJiAweEZGRkYpOworCXVsX2pyYW5kX3NlZWRbMl0gPSAodHYudHZfc2VjIF4gdHYudHZfdXNlYykgPj4gMTY7CisjZW5kaWYKKwkvKiBDcmFuayB0aGUgcmFuZG9tIG51bWJlciBnZW5lcmF0b3IgYSBmZXcgdGltZXMgKi8KKwlnZXR0aW1lb2ZkYXkoJnR2LCAwKTsKKwlmb3IgKGkgPSAodHYudHZfc2VjIF4gdHYudHZfdXNlYykgJiAweDFGOyBpID4gMDsgaS0tKQorCQlyYW5kKCk7CisJcmV0dXJuIGZkOworfQorCisKKy8qCisgKiBHZW5lcmF0ZSBhIHN0cmVhbSBvZiByYW5kb20gbmJ5dGVzIGludG8gYnVmLgorICogVXNlIC9kZXYvdXJhbmRvbSBpZiBwb3NzaWJsZSwgYW5kIGlmIG5vdCwKKyAqIHVzZSBnbGliYyBwc2V1ZG8tcmFuZG9tIGZ1bmN0aW9ucy4KKyAqLwordm9pZCByYW5kb21fZ2V0X2J5dGVzKHZvaWQgKmJ1Ziwgc2l6ZV90IG5ieXRlcykKK3sKKwlzaXplX3QgaSwgbiA9IG5ieXRlczsKKwlpbnQgZmQgPSByYW5kb21fZ2V0X2ZkKCk7CisJaW50IGxvc2VfY291bnRlciA9IDA7CisJdW5zaWduZWQgY2hhciAqY3AgPSAodW5zaWduZWQgY2hhciAqKSBidWY7CisKKwlpZiAoZmQgPj0gMCkgeworCQl3aGlsZSAobiA+IDApIHsKKwkJCXNzaXplX3QgeCA9IHJlYWQoZmQsIGNwLCBuKTsKKwkJCWlmICh4IDw9IDApIHsKKwkJCQlpZiAobG9zZV9jb3VudGVyKysgPiAxNikKKwkJCQkJYnJlYWs7CisJCQkJY29udGludWU7CisJCQl9CisJCQluIC09IHg7CisJCQljcCArPSB4OworCQkJbG9zZV9jb3VudGVyID0gMDsKKwkJfQorCisJCWNsb3NlKGZkKTsKKwl9CisKKwkvKgorCSAqIFdlIGRvIHRoaXMgYWxsIHRoZSB0aW1lLCBidXQgdGhpcyBpcyB0aGUgb25seSBzb3VyY2Ugb2YKKwkgKiByYW5kb21uZXNzIGlmIC9kZXYvcmFuZG9tL3VyYW5kb20gaXMgb3V0IHRvIGx1bmNoLgorCSAqLworCWZvciAoY3AgPSBidWYsIGkgPSAwOyBpIDwgbmJ5dGVzOyBpKyspCisJCSpjcCsrIF49IChyYW5kKCkgPj4gNykgJiAweEZGOworCisjaWZkZWYgRE9fSlJBTkRfTUlYCisJeworCQl1bnNpZ25lZCBzaG9ydCB0bXBfc2VlZFszXTsKKworCQltZW1jcHkodG1wX3NlZWQsIHVsX2pyYW5kX3NlZWQsIHNpemVvZih0bXBfc2VlZCkpOworCQl1bF9qcmFuZF9zZWVkWzJdID0gdWxfanJhbmRfc2VlZFsyXSBeIHN5c2NhbGwoX19OUl9nZXR0aWQpOworCQlmb3IgKGNwID0gYnVmLCBpID0gMDsgaSA8IG5ieXRlczsgaSsrKQorCQkJKmNwKysgXj0gKGpyYW5kNDgodG1wX3NlZWQpID4+IDcpICYgMHhGRjsKKwkJbWVtY3B5KHVsX2pyYW5kX3NlZWQsIHRtcF9zZWVkLAorCQkgICAgICAgc2l6ZW9mKHVsX2pyYW5kX3NlZWQpLXNpemVvZih1bnNpZ25lZCBzaG9ydCkpOworCX0KKyNlbmRpZgorCisJcmV0dXJuOworfQorCisKKy8qCisgKiBUZWxsIHNvdXJjZSBvZiByYW5kb21uZXNzLgorICovCitjb25zdCBjaGFyICpyYW5kb21fdGVsbF9zb3VyY2Uodm9pZCkKK3sKKwlzaXplX3QgaTsKKwlzdGF0aWMgY29uc3QgY2hhciAqcmFuZG9tX3NvdXJjZXNbXSA9IHsKKwkJIi9kZXYvdXJhbmRvbSIsCisJCSIvZGV2L3JhbmRvbSIKKwl9OworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocmFuZG9tX3NvdXJjZXMpOyBpKyspIHsKKwkJaWYgKCFhY2Nlc3MocmFuZG9tX3NvdXJjZXNbaV0sIFJfT0spKQorCQkJcmV0dXJuIHJhbmRvbV9zb3VyY2VzW2ldOworCX0KKworCXJldHVybiBfKCJsaWJjIHBzZXVkby1yYW5kb20gZnVuY3Rpb25zIik7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU0KK2ludCBtYWluKGludCBhcmdjIF9fYXR0cmlidXRlX18gKChfX3VudXNlZF9fKSksCisgICAgICAgICBjaGFyICphcmd2W10gX19hdHRyaWJ1dGVfXyAoKF9fdW51c2VkX18pKSkKK3sKKwl1bnNpZ25lZCBpbnQgdiwgaTsKKworCS8qIGdlbmVyYXRlIGFuZCBwcmludCAxMCByYW5kb20gbnVtYmVycyAqLworCWZvciAoaSA9IDA7IGkgPCAxMDsgaSsrKSB7CisJCXJhbmRvbV9nZXRfYnl0ZXMoJnYsIHNpemVvZih2KSk7CisJCXByaW50ZigiJWRcbiIsIHYpOworCX0KKworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CisjZW5kaWYgLyogVEVTVF9QUk9HUkFNICovCmRpZmYgLS1naXQgYS9saWIvc2V0cHJvY3RpdGxlLmMgYi9saWIvc2V0cHJvY3RpdGxlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTNiYzgyZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9zZXRwcm9jdGl0bGUuYwpAQCAtMCwwICsxLDc0IEBACisvKgorICogIHNldCBwcm9jZXNzIHRpdGxlIGZvciBwcyAoZnJvbSBzZW5kbWFpbCkKKyAqCisgKiAgQ2xvYmJlcnMgYXJndiBvZiBvdXIgbWFpbiBwcm9jZWR1cmUgc28gcHMoMSkgd2lsbCBkaXNwbGF5IHRoZSB0aXRsZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkYXJnLmg+CisKKyNpbmNsdWRlICJzZXRwcm9jdGl0bGUuaCIKKworI2lmbmRlZiBTUFRfQlVGU0laRQorIyBkZWZpbmUgU1BUX0JVRlNJWkUgICAgIDIwNDgKKyNlbmRpZgorCitleHRlcm4gY2hhciAqKmVudmlyb247CisKK3N0YXRpYyBjaGFyICoqYXJndjA7CitzdGF0aWMgaW50IGFyZ3ZfbHRoOworCit2b2lkIGluaXRwcm9jdGl0bGUgKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlpbnQgaTsKKwljaGFyICoqZW52cCA9IGVudmlyb247CisKKwkvKgorCSAqIE1vdmUgdGhlIGVudmlyb25tZW50IHNvIHdlIGNhbiByZXVzZSB0aGUgbWVtb3J5LgorCSAqIChDb2RlIGJvcnJvd2VkIGZyb20gc2VuZG1haWwuKQorCSAqIFdBUk5JTkc6IHVnbHkgYXNzdW1wdGlvbnMgb24gbWVtb3J5IGxheW91dCBoZXJlOworCSAqICAgICAgICAgIGlmIHRoaXMgZXZlciBjYXVzZXMgcHJvYmxlbXMsICN1bmRlZiBET19QU19GSURETElORworCSAqLworCWZvciAoaSA9IDA7IGVudnBbaV0gIT0gTlVMTDsgaSsrKQorCQljb250aW51ZTsKKworCWVudmlyb24gPSBtYWxsb2Moc2l6ZW9mKGNoYXIgKikgKiAoaSArIDEpKTsKKwlpZiAoZW52aXJvbiA9PSBOVUxMKQorCQlyZXR1cm47CisKKwlmb3IgKGkgPSAwOyBlbnZwW2ldICE9IE5VTEw7IGkrKykKKwkJaWYgKChlbnZpcm9uW2ldID0gc3RyZHVwKGVudnBbaV0pKSA9PSBOVUxMKQorCQkJcmV0dXJuOworCWVudmlyb25baV0gPSBOVUxMOworCisJYXJndjAgPSBhcmd2OworCWlmIChpID4gMCkKKwkJYXJndl9sdGggPSBlbnZwW2ktMV0gKyBzdHJsZW4oZW52cFtpLTFdKSAtIGFyZ3YwWzBdOworCWVsc2UKKwkJYXJndl9sdGggPSBhcmd2MFthcmdjLTFdICsgc3RybGVuKGFyZ3YwW2FyZ2MtMV0pIC0gYXJndjBbMF07Cit9CisKK3ZvaWQgc2V0cHJvY3RpdGxlIChjb25zdCBjaGFyICpwcm9nLCBjb25zdCBjaGFyICp0eHQpCit7CisgICAgICAgIGludCBpOworICAgICAgICBjaGFyIGJ1ZltTUFRfQlVGU0laRV07CisKKyAgICAgICAgaWYgKCFhcmd2MCkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKwlpZiAoc3RybGVuKHByb2cpICsgc3RybGVuKHR4dCkgKyA1ID4gU1BUX0JVRlNJWkUpCisJCXJldHVybjsKKworCXNwcmludGYoYnVmLCAiJXMgLS0gJXMiLCBwcm9nLCB0eHQpOworCisgICAgICAgIGkgPSBzdHJsZW4oYnVmKTsKKyAgICAgICAgaWYgKGkgPiBhcmd2X2x0aCAtIDIpIHsKKyAgICAgICAgICAgICAgICBpID0gYXJndl9sdGggLSAyOworICAgICAgICAgICAgICAgIGJ1ZltpXSA9ICdcMCc7CisgICAgICAgIH0KKwltZW1zZXQoYXJndjBbMF0sICdcMCcsIGFyZ3ZfbHRoKTsgICAgICAgLyogY2xlYXIgdGhlIG1lbW9yeSBhcmVhICovCisgICAgICAgIHN0cmNweShhcmd2MFswXSwgYnVmKTsKKworICAgICAgICBhcmd2MFsxXSA9IE5VTEw7Cit9CmRpZmYgLS1naXQgYS9saWIvc3RydXRpbHMuYyBiL2xpYi9zdHJ1dGlscy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzNzA1ZDcKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvc3RydXRpbHMuYwpAQCAtMCwwICsxLDk4NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBEYXZpZGxvaHIgQnVlc28gPGRhdmVAZ251Lm9yZz4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGFzc2VydC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAiYml0b3BzLmgiCisKK3N0YXRpYyBpbnQgZG9fc2NhbGVfYnlfcG93ZXIgKHVpbnRtYXhfdCAqeCwgaW50IGJhc2UsIGludCBwb3dlcikKK3sKKwl3aGlsZSAocG93ZXItLSkgeworCQlpZiAoVUlOVE1BWF9NQVggLyBiYXNlIDwgKngpCisJCQlyZXR1cm4gLUVSQU5HRTsKKwkJKnggKj0gYmFzZTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBzdHJ0b3NpemUoKSAtIGNvbnZlcnQgc3RyaW5nIHRvIHNpemUgKHVpbnRtYXhfdCkuCisgKgorICogU3VwcG9ydGVkIHN1ZmZpeGVzOgorICoKKyAqIFhpQiBvciBYIGZvciAyXk4KKyAqICAgICB3aGVyZSBYID0ge0ssTSxHLFQsUCxFLFosWX0KKyAqICAgICAgICBvciBYID0ge2ssbSxnLHQscCxlfSAgKHVuZG9jdW1lbnRlZCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBvbmx5KQorICogZm9yIGV4YW1wbGU6CisgKgkJMTBLaUIJPSAxMDI0MAorICoJCTEwSwk9IDEwMjQwCisgKgorICogWEIgZm9yIDEwXk4KKyAqICAgICB3aGVyZSBYID0ge0ssTSxHLFQsUCxFLFosWX0KKyAqIGZvciBleGFtcGxlOgorICoJCTEwS0IJPSAxMDAwMAorICoKKyAqIFRoZSBvcHRpb25hbCAncG93ZXInIHZhcmlhYmxlIHJldHVybnMgbnVtYmVyIGFzc29jaWF0ZWQgd2l0aCB1c2VkIHN1ZmZpeAorICoge0ssTSxHLFQsUCxFLFosWX0gID0gezEsMiwzLDQsNSw2LDcsOH0uCisgKgorICogVGhlIGZ1bmN0aW9uIGFsc28gc3VwcG9ydHMgZGVjaW1hbCBwb2ludCwgZm9yIGV4YW1wbGU6CisgKiAgICAgICAgICAgICAgMC41TUIgICA9IDUwMDAwMAorICogICAgICAgICAgICAgIDAuNU1pQiAgPSA1MTIwMDAKKyAqCisgKiBOb3RlIHRoYXQgdGhlIGZ1bmN0aW9uIGRvZXMgbm90IGFjY2VwdCBudW1iZXJzIHdpdGggJy0nIChuZWdhdGl2ZSBzaWduKQorICogcHJlZml4LgorICovCitpbnQgcGFyc2Vfc2l6ZShjb25zdCBjaGFyICpzdHIsIHVpbnRtYXhfdCAqcmVzLCBpbnQgKnBvd2VyKQoreworCWNoYXIgKnA7CisJdWludG1heF90IHgsIGZyYWMgPSAwOworCWludCBiYXNlID0gMTAyNCwgcmMgPSAwLCBwd3IgPSAwLCBmcmFjX3plcm9zID0gMDsKKworCXN0YXRpYyBjb25zdCBjaGFyICpzdWYgID0gIktNR1RQRVlaIjsKKwlzdGF0aWMgY29uc3QgY2hhciAqc3VmMiA9ICJrbWd0cGV5eiI7CisJY29uc3QgY2hhciAqc3A7CisKKwkqcmVzID0gMDsKKworCWlmICghc3RyIHx8ICEqc3RyKSB7CisJCXJjID0gLUVJTlZBTDsKKwkJZ290byBlcnI7CisJfQorCisJLyogT25seSBwb3NpdGl2ZSBudW1iZXJzIGFyZSBhY2NlcHRhYmxlCisJICoKKwkgKiBOb3RlIHRoYXQgdGhpcyBjaGVjayBpcyBub3QgcGVyZmVjdCwgaXQgd291bGQgYmUgYmV0dGVyIHRvCisJICogdXNlIGxjb252LT5uZWdhdGl2ZV9zaWduLiBCdXQgY29yZXV0aWxzIHVzZSB0aGUgc2FtZSBzb2x1dGlvbiwKKwkgKiBzbyBpdCdzIHByb2JhYmx5IGdvb2QgZW5vdWdoLi4uCisJICovCisJcCA9IChjaGFyICopIHN0cjsKKwl3aGlsZSAoaXNzcGFjZSgodW5zaWduZWQgY2hhcikgKnApKQorCQlwKys7CisJaWYgKCpwID09ICctJykgeworCQlyYyA9IC1FSU5WQUw7CisJCWdvdG8gZXJyOworCX0KKwlwID0gTlVMTDsKKworCWVycm5vID0gMDsKKwl4ID0gc3RydG91bWF4KHN0ciwgJnAsIDApOworCisJaWYgKHAgPT0gc3RyIHx8CisJICAgIChlcnJubyAhPSAwICYmICh4ID09IFVJTlRNQVhfTUFYIHx8IHggPT0gMCkpKSB7CisJCXJjID0gZXJybm8gPyAtZXJybm8gOiAtRUlOVkFMOworCQlnb3RvIGVycjsKKwl9CisJaWYgKCFwIHx8ICEqcCkKKwkJZ290byBkb25lOwkJCS8qIHdpdGhvdXQgc3VmZml4ICovCisKKwkvKgorCSAqIENoZWNrIHNpemUgc3VmZml4ZXMKKwkgKi8KK2NoZWNrX3N1ZmZpeDoKKwlpZiAoKihwICsgMSkgPT0gJ2knICYmICgqKHAgKyAyKSA9PSAnQicgfHwgKihwICsgMikgPT0gJ2InKSAmJiAhKihwICsgMykpCisJCWJhc2UgPSAxMDI0OwkJCS8qIFhpQiwgMl5OICovCisJZWxzZSBpZiAoKCoocCArIDEpID09ICdCJyB8fCAqKHAgKyAxKSA9PSAnYicpICYmICEqKHAgKyAyKSkKKwkJYmFzZSA9IDEwMDA7CQkJLyogWEIsIDEwXk4gKi8KKwllbHNlIGlmICgqKHAgKyAxKSkgeworCQlzdHJ1Y3QgbGNvbnYgY29uc3QgKmwgPSBsb2NhbGVjb252KCk7CisJCWNoYXIgKmRwID0gbCA/IGwtPmRlY2ltYWxfcG9pbnQgOiBOVUxMOworCQlzaXplX3QgZHBzeiA9IGRwID8gc3RybGVuKGRwKSA6IDA7CisKKwkJaWYgKGZyYWMgPT0gMCAmJiAqcCAmJiBkcCAmJiBzdHJuY21wKGRwLCBwLCBkcHN6KSA9PSAwKSB7CisJCQljaGFyICpmc3RyID0gcCArIGRwc3o7CisKKwkJCWZvciAocCA9IGZzdHI7ICpwICYmICpwID09ICcwJzsgcCsrKQorCQkJCWZyYWNfemVyb3MrKzsKKwkJCWVycm5vID0gMCwgcCA9IE5VTEw7CisJCQlmcmFjID0gc3RydG91bWF4KGZzdHIsICZwLCAwKTsKKwkJCWlmIChwID09IGZzdHIgfHwKKwkJCSAgICAoZXJybm8gIT0gMCAmJiAoZnJhYyA9PSBVSU5UTUFYX01BWCB8fCBmcmFjID09IDApKSkgeworCQkJCXJjID0gZXJybm8gPyAtZXJybm8gOiAtRUlOVkFMOworCQkJCWdvdG8gZXJyOworCQkJfQorCQkJaWYgKGZyYWMgJiYgKCFwICB8fCAhKnApKSB7CisJCQkJcmMgPSAtRUlOVkFMOworCQkJCWdvdG8gZXJyOwkJLyogd2l0aG91dCBzdWZmaXgsIGJ1dCB3aXRoIGZyYWMgKi8KKwkJCX0KKwkJCWdvdG8gY2hlY2tfc3VmZml4OworCQl9CisJCXJjID0gLUVJTlZBTDsKKwkJZ290byBlcnI7CQkJLyogdW5leHBlY3RlZCBzdWZmaXggKi8KKwl9CisKKwlzcCA9IHN0cmNocihzdWYsICpwKTsKKwlpZiAoc3ApCisJCXB3ciA9IChzcCAtIHN1ZikgKyAxOworCWVsc2UgeworCQlzcCA9IHN0cmNocihzdWYyLCAqcCk7CisJCWlmIChzcCkKKwkJCXB3ciA9IChzcCAtIHN1ZjIpICsgMTsKKwkJZWxzZSB7CisJCQlyYyA9IC1FSU5WQUw7CisJCQlnb3RvIGVycjsKKwkJfQorCX0KKworCXJjID0gZG9fc2NhbGVfYnlfcG93ZXIoJngsIGJhc2UsIHB3cik7CisJaWYgKHBvd2VyKQorCQkqcG93ZXIgPSBwd3I7CisJaWYgKGZyYWMgJiYgcHdyKSB7CisJCWludCB6ZXJvc19pbl9wd3IgPSBmcmFjX3plcm9zICUgMzsKKwkJaW50IGZyYWNfcHdyID0gcHdyIC0gKGZyYWNfemVyb3MgLyAzKSAtIDE7CisJCXVpbnRtYXhfdCB5ID0gZnJhYyAqICh6ZXJvc19pbl9wd3IgPT0gMCA/IDEwMCA6CisJCQkJICAgICAgemVyb3NfaW5fcHdyID09IDEgPyAgMTAgOiAxKTsKKworCQlpZiAoZnJhY19wd3IgPCAwKSB7CisJCQlyYyA9IC1FSU5WQUw7CisJCQlnb3RvIGVycjsKKwkJfQorCQlkb19zY2FsZV9ieV9wb3dlcigmeSwgYmFzZSwgZnJhY19wd3IpOworCQl4ICs9IHk7CisJfQorZG9uZToKKwkqcmVzID0geDsKK2VycjoKKwlpZiAocmMgPCAwKQorCQllcnJubyA9IC1yYzsKKwlyZXR1cm4gcmM7Cit9CisKK2ludCBzdHJ0b3NpemUoY29uc3QgY2hhciAqc3RyLCB1aW50bWF4X3QgKnJlcykKK3sKKwlyZXR1cm4gcGFyc2Vfc2l6ZShzdHIsIHJlcywgTlVMTCk7Cit9CisKK2ludCBpc2RpZ2l0X3N0cmVuZChjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKiplbmQpCit7CisJY29uc3QgY2hhciAqcDsKKworCWZvciAocCA9IHN0cjsgcCAmJiAqcCAmJiBpc2RpZ2l0KCh1bnNpZ25lZCBjaGFyKSAqcCk7IHArKyk7CisKKwlpZiAoZW5kKQorCQkqZW5kID0gcDsKKwlyZXR1cm4gcCAmJiBwID4gc3RyICYmICEqcDsKK30KKworaW50IGlzeGRpZ2l0X3N0cmVuZChjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKiplbmQpCit7CisJY29uc3QgY2hhciAqcDsKKworCWZvciAocCA9IHN0cjsgcCAmJiAqcCAmJiBpc3hkaWdpdCgodW5zaWduZWQgY2hhcikgKnApOyBwKyspOworCisJaWYgKGVuZCkKKwkJKmVuZCA9IHA7CisKKwlyZXR1cm4gcCAmJiBwID4gc3RyICYmICEqcDsKK30KKworLyoKKyAqICBwYXJzZV9zd2l0Y2goYXJndltpXSwgIm9uIiwgIm9mZiIsICAieWVzIiwgIm5vIiwgIE5VTEwpOworICovCitpbnQgcGFyc2Vfc3dpdGNoKGNvbnN0IGNoYXIgKmFyZywgY29uc3QgY2hhciAqZXJybWVzZywgLi4uKQoreworCWNvbnN0IGNoYXIgKmEsICpiOworCXZhX2xpc3QgYXA7CisKKwl2YV9zdGFydChhcCwgZXJybWVzZyk7CisJZG8geworCQlhID0gdmFfYXJnKGFwLCBjaGFyICopOworCQlpZiAoIWEpCisJCQlicmVhazsKKwkJYiA9IHZhX2FyZyhhcCwgY2hhciAqKTsKKwkJaWYgKCFiKQorCQkJYnJlYWs7CisKKwkJaWYgKHN0cmNtcChhcmcsIGEpID09IDApIHsKKwkJCXZhX2VuZChhcCk7CisJCQlyZXR1cm4gMTsKKwkJfSBlbHNlIGlmIChzdHJjbXAoYXJnLCBiKSA9PSAwKSB7CisJCQl2YV9lbmQoYXApOworCQkJcmV0dXJuIDA7CisJCX0KKwl9IHdoaWxlICgxKTsKKwl2YV9lbmQoYXApOworCisJZXJyeChTVFJUT1hYX0VYSVRfQ09ERSwgIiVzOiAnJXMnIiwgZXJybWVzZywgYXJnKTsKK30KKworI2lmbmRlZiBIQVZFX01FTVBDUFkKK3ZvaWQgKm1lbXBjcHkodm9pZCAqcmVzdHJpY3QgZGVzdCwgY29uc3Qgdm9pZCAqcmVzdHJpY3Qgc3JjLCBzaXplX3QgbikKK3sKKyAgICByZXR1cm4gKChjaGFyICopbWVtY3B5KGRlc3QsIHNyYywgbikpICsgbjsKK30KKyNlbmRpZgorCisjaWZuZGVmIEhBVkVfU1RSTkxFTgorc2l6ZV90IHN0cm5sZW4oY29uc3QgY2hhciAqcywgc2l6ZV90IG1heGxlbikKK3sKKyAgICAgICAgaW50IGk7CisKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IG1heGxlbjsgaSsrKSB7CisgICAgICAgICAgICAgICAgaWYgKHNbaV0gPT0gJ1wwJykKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpICsgMTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gbWF4bGVuOworfQorI2VuZGlmCisKKyNpZm5kZWYgSEFWRV9TVFJOQ0hSCitjaGFyICpzdHJuY2hyKGNvbnN0IGNoYXIgKnMsIHNpemVfdCBtYXhsZW4sIGludCBjKQoreworCWZvciAoOyBtYXhsZW4tLSAmJiAqcyAhPSAnXDAnOyArK3MpCisJCWlmICgqcyA9PSAoY2hhciljKQorCQkJcmV0dXJuIChjaGFyICopczsKKwlyZXR1cm4gTlVMTDsKK30KKyNlbmRpZgorCisjaWZuZGVmIEhBVkVfU1RSTkRVUAorY2hhciAqc3RybmR1cChjb25zdCBjaGFyICpzLCBzaXplX3QgbikKK3sKKwlzaXplX3QgbGVuID0gc3RybmxlbihzLCBuKTsKKwljaGFyICpuZXcgPSBtYWxsb2MoKGxlbiArIDEpICogc2l6ZW9mKGNoYXIpKTsKKwlpZiAoIW5ldykKKwkJcmV0dXJuIE5VTEw7CisJbmV3W2xlbl0gPSAnXDAnOworCXJldHVybiAoY2hhciAqKSBtZW1jcHkobmV3LCBzLCBsZW4pOworfQorI2VuZGlmCisKK2ludDE2X3Qgc3RydG9zMTZfb3JfZXJyKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqZXJybWVzZykKK3sKKwlpbnQzMl90IG51bSA9IHN0cnRvczMyX29yX2VycihzdHIsIGVycm1lc2cpOworCisJaWYgKG51bSA8IElOVDE2X01JTiB8fCBudW0gPiBJTlQxNl9NQVgpIHsKKwkJZXJybm8gPSBFUkFOR0U7CisJCWVycihTVFJUT1hYX0VYSVRfQ09ERSwgIiVzOiAnJXMnIiwgZXJybWVzZywgc3RyKTsKKwl9CisJcmV0dXJuIG51bTsKK30KKwordWludDE2X3Qgc3RydG91MTZfb3JfZXJyKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqZXJybWVzZykKK3sKKwl1aW50MzJfdCBudW0gPSBzdHJ0b3UzMl9vcl9lcnIoc3RyLCBlcnJtZXNnKTsKKworCWlmIChudW0gPiBVSU5UMTZfTUFYKSB7CisJCWVycm5vID0gRVJBTkdFOworCQllcnIoU1RSVE9YWF9FWElUX0NPREUsICIlczogJyVzJyIsIGVycm1lc2csIHN0cik7CisJfQorCXJldHVybiBudW07Cit9CisKK2ludDMyX3Qgc3RydG9zMzJfb3JfZXJyKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqZXJybWVzZykKK3sKKwlpbnQ2NF90IG51bSA9IHN0cnRvczY0X29yX2VycihzdHIsIGVycm1lc2cpOworCisJaWYgKG51bSA8IElOVDMyX01JTiB8fCBudW0gPiBJTlQzMl9NQVgpIHsKKwkJZXJybm8gPSBFUkFOR0U7CisJCWVycihTVFJUT1hYX0VYSVRfQ09ERSwgIiVzOiAnJXMnIiwgZXJybWVzZywgc3RyKTsKKwl9CisJcmV0dXJuIG51bTsKK30KKwordWludDMyX3Qgc3RydG91MzJfb3JfZXJyKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqZXJybWVzZykKK3sKKwl1aW50NjRfdCBudW0gPSBzdHJ0b3U2NF9vcl9lcnIoc3RyLCBlcnJtZXNnKTsKKworCWlmIChudW0gPiBVSU5UMzJfTUFYKSB7CisJCWVycm5vID0gRVJBTkdFOworCQllcnIoU1RSVE9YWF9FWElUX0NPREUsICIlczogJyVzJyIsIGVycm1lc2csIHN0cik7CisJfQorCXJldHVybiBudW07Cit9CisKK2ludDY0X3Qgc3RydG9zNjRfb3JfZXJyKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqZXJybWVzZykKK3sKKwlpbnQ2NF90IG51bTsKKwljaGFyICplbmQgPSBOVUxMOworCisJZXJybm8gPSAwOworCWlmIChzdHIgPT0gTlVMTCB8fCAqc3RyID09ICdcMCcpCisJCWdvdG8gZXJyOworCW51bSA9IHN0cnRvaW1heChzdHIsICZlbmQsIDEwKTsKKworCWlmIChlcnJubyB8fCBzdHIgPT0gZW5kIHx8IChlbmQgJiYgKmVuZCkpCisJCWdvdG8gZXJyOworCisJcmV0dXJuIG51bTsKK2VycjoKKwlpZiAoZXJybm8gPT0gRVJBTkdFKQorCQllcnIoU1RSVE9YWF9FWElUX0NPREUsICIlczogJyVzJyIsIGVycm1lc2csIHN0cik7CisKKwllcnJ4KFNUUlRPWFhfRVhJVF9DT0RFLCAiJXM6ICclcyciLCBlcnJtZXNnLCBzdHIpOworfQorCit1aW50NjRfdCBzdHJ0b3U2NF9vcl9lcnIoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICplcnJtZXNnKQoreworCXVpbnRtYXhfdCBudW07CisJY2hhciAqZW5kID0gTlVMTDsKKworCWVycm5vID0gMDsKKwlpZiAoc3RyID09IE5VTEwgfHwgKnN0ciA9PSAnXDAnKQorCQlnb3RvIGVycjsKKwludW0gPSBzdHJ0b3VtYXgoc3RyLCAmZW5kLCAxMCk7CisKKwlpZiAoZXJybm8gfHwgc3RyID09IGVuZCB8fCAoZW5kICYmICplbmQpKQorCQlnb3RvIGVycjsKKworCXJldHVybiBudW07CitlcnI6CisJaWYgKGVycm5vID09IEVSQU5HRSkKKwkJZXJyKFNUUlRPWFhfRVhJVF9DT0RFLCAiJXM6ICclcyciLCBlcnJtZXNnLCBzdHIpOworCisJZXJyeChTVFJUT1hYX0VYSVRfQ09ERSwgIiVzOiAnJXMnIiwgZXJybWVzZywgc3RyKTsKK30KKworCitkb3VibGUgc3RydG9kX29yX2Vycihjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKmVycm1lc2cpCit7CisJZG91YmxlIG51bTsKKwljaGFyICplbmQgPSBOVUxMOworCisJZXJybm8gPSAwOworCWlmIChzdHIgPT0gTlVMTCB8fCAqc3RyID09ICdcMCcpCisJCWdvdG8gZXJyOworCW51bSA9IHN0cnRvZChzdHIsICZlbmQpOworCisJaWYgKGVycm5vIHx8IHN0ciA9PSBlbmQgfHwgKGVuZCAmJiAqZW5kKSkKKwkJZ290byBlcnI7CisKKwlyZXR1cm4gbnVtOworZXJyOgorCWlmIChlcnJubyA9PSBFUkFOR0UpCisJCWVycihTVFJUT1hYX0VYSVRfQ09ERSwgIiVzOiAnJXMnIiwgZXJybWVzZywgc3RyKTsKKworCWVycngoU1RSVE9YWF9FWElUX0NPREUsICIlczogJyVzJyIsIGVycm1lc2csIHN0cik7Cit9CisKK2xvbmcgc3RydG9sX29yX2Vycihjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKmVycm1lc2cpCit7CisJbG9uZyBudW07CisJY2hhciAqZW5kID0gTlVMTDsKKworCWVycm5vID0gMDsKKwlpZiAoc3RyID09IE5VTEwgfHwgKnN0ciA9PSAnXDAnKQorCQlnb3RvIGVycjsKKwludW0gPSBzdHJ0b2woc3RyLCAmZW5kLCAxMCk7CisKKwlpZiAoZXJybm8gfHwgc3RyID09IGVuZCB8fCAoZW5kICYmICplbmQpKQorCQlnb3RvIGVycjsKKworCXJldHVybiBudW07CitlcnI6CisJaWYgKGVycm5vID09IEVSQU5HRSkKKwkJZXJyKFNUUlRPWFhfRVhJVF9DT0RFLCAiJXM6ICclcyciLCBlcnJtZXNnLCBzdHIpOworCisJZXJyeChTVFJUT1hYX0VYSVRfQ09ERSwgIiVzOiAnJXMnIiwgZXJybWVzZywgc3RyKTsKK30KKwordW5zaWduZWQgbG9uZyBzdHJ0b3VsX29yX2Vycihjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKmVycm1lc2cpCit7CisJdW5zaWduZWQgbG9uZyBudW07CisJY2hhciAqZW5kID0gTlVMTDsKKworCWVycm5vID0gMDsKKwlpZiAoc3RyID09IE5VTEwgfHwgKnN0ciA9PSAnXDAnKQorCQlnb3RvIGVycjsKKwludW0gPSBzdHJ0b3VsKHN0ciwgJmVuZCwgMTApOworCisJaWYgKGVycm5vIHx8IHN0ciA9PSBlbmQgfHwgKGVuZCAmJiAqZW5kKSkKKwkJZ290byBlcnI7CisKKwlyZXR1cm4gbnVtOworZXJyOgorCWlmIChlcnJubyA9PSBFUkFOR0UpCisJCWVycihTVFJUT1hYX0VYSVRfQ09ERSwgIiVzOiAnJXMnIiwgZXJybWVzZywgc3RyKTsKKworCWVycngoU1RSVE9YWF9FWElUX0NPREUsICIlczogJyVzJyIsIGVycm1lc2csIHN0cik7Cit9CisKK3VpbnRtYXhfdCBzdHJ0b3NpemVfb3JfZXJyKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqZXJybWVzZykKK3sKKwl1aW50bWF4X3QgbnVtOworCisJaWYgKHN0cnRvc2l6ZShzdHIsICZudW0pID09IDApCisJCXJldHVybiBudW07CisKKwlpZiAoZXJybm8pCisJCWVycihTVFJUT1hYX0VYSVRfQ09ERSwgIiVzOiAnJXMnIiwgZXJybWVzZywgc3RyKTsKKworCWVycngoU1RSVE9YWF9FWElUX0NPREUsICIlczogJyVzJyIsIGVycm1lc2csIHN0cik7Cit9CisKKwordm9pZCBzdHJ0b3RpbWV2YWxfb3JfZXJyKGNvbnN0IGNoYXIgKnN0ciwgc3RydWN0IHRpbWV2YWwgKnR2LCBjb25zdCBjaGFyICplcnJtZXNnKQoreworCWRvdWJsZSB1c2VyX2lucHV0OworCisJdXNlcl9pbnB1dCA9IHN0cnRvZF9vcl9lcnIoc3RyLCBlcnJtZXNnKTsKKwl0di0+dHZfc2VjID0gKHRpbWVfdCkgdXNlcl9pbnB1dDsKKwl0di0+dHZfdXNlYyA9IChsb25nKSgodXNlcl9pbnB1dCAtIHR2LT50dl9zZWMpICogMTAwMDAwMCk7Cit9CisKKy8qCisgKiBDb252ZXJ0cyBzdGF0LT5zdF9tb2RlIHRvIGxzKDEpLWxpa2UgbW9kZSBzdHJpbmcuIFRoZSBzaXplIG9mICJzdHIiIG11c3QKKyAqIGJlIDExIGJ5dGVzLgorICovCit2b2lkIHhzdHJtb2RlKG1vZGVfdCBtb2RlLCBjaGFyICpzdHIpCit7CisJdW5zaWduZWQgc2hvcnQgaSA9IDA7CisKKwlpZiAoU19JU0RJUihtb2RlKSkKKwkJc3RyW2krK10gPSAnZCc7CisJZWxzZSBpZiAoU19JU0xOSyhtb2RlKSkKKwkJc3RyW2krK10gPSAnbCc7CisJZWxzZSBpZiAoU19JU0NIUihtb2RlKSkKKwkJc3RyW2krK10gPSAnYyc7CisJZWxzZSBpZiAoU19JU0JMSyhtb2RlKSkKKwkJc3RyW2krK10gPSAnYic7CisJZWxzZSBpZiAoU19JU1NPQ0sobW9kZSkpCisJCXN0cltpKytdID0gJ3MnOworCWVsc2UgaWYgKFNfSVNGSUZPKG1vZGUpKQorCQlzdHJbaSsrXSA9ICdwJzsKKwllbHNlIGlmIChTX0lTUkVHKG1vZGUpKQorCQlzdHJbaSsrXSA9ICctJzsKKworCXN0cltpKytdID0gbW9kZSAmIFNfSVJVU1IgPyAncicgOiAnLSc7CisJc3RyW2krK10gPSBtb2RlICYgU19JV1VTUiA/ICd3JyA6ICctJzsKKwlzdHJbaSsrXSA9IChtb2RlICYgU19JU1VJRAorCQk/IChtb2RlICYgU19JWFVTUiA/ICdzJyA6ICdTJykKKwkJOiAobW9kZSAmIFNfSVhVU1IgPyAneCcgOiAnLScpKTsKKwlzdHJbaSsrXSA9IG1vZGUgJiBTX0lSR1JQID8gJ3InIDogJy0nOworCXN0cltpKytdID0gbW9kZSAmIFNfSVdHUlAgPyAndycgOiAnLSc7CisJc3RyW2krK10gPSAobW9kZSAmIFNfSVNHSUQKKwkJPyAobW9kZSAmIFNfSVhHUlAgPyAncycgOiAnUycpCisJCTogKG1vZGUgJiBTX0lYR1JQID8gJ3gnIDogJy0nKSk7CisJc3RyW2krK10gPSBtb2RlICYgU19JUk9USCA/ICdyJyA6ICctJzsKKwlzdHJbaSsrXSA9IG1vZGUgJiBTX0lXT1RIID8gJ3cnIDogJy0nOworCXN0cltpKytdID0gKG1vZGUgJiBTX0lTVlRYCisJCT8gKG1vZGUgJiBTX0lYT1RIID8gJ3QnIDogJ1QnKQorCQk6IChtb2RlICYgU19JWE9USCA/ICd4JyA6ICctJykpOworCXN0cltpXSA9ICdcMCc7Cit9CisKKy8qCisgKiByZXR1cm5zIGV4cG9uZW50ICgyXng9bikgaW4gcmFuZ2UgS2lCLi5QaUIKKyAqLworc3RhdGljIGludCBnZXRfZXhwKHVpbnQ2NF90IG4pCit7CisJaW50IHNoZnQ7CisKKwlmb3IgKHNoZnQgPSAxMDsgc2hmdCA8PSA2MDsgc2hmdCArPSAxMCkgeworCQlpZiAobiA8ICgxVUxMIDw8IHNoZnQpKQorCQkJYnJlYWs7CisJfQorCXJldHVybiBzaGZ0IC0gMTA7Cit9CisKK2NoYXIgKnNpemVfdG9faHVtYW5fc3RyaW5nKGludCBvcHRpb25zLCB1aW50NjRfdCBieXRlcykKK3sKKwljaGFyIGJ1ZlszMl07CisJaW50IGRlYywgZXhwOworCXVpbnQ2NF90IGZyYWM7CisJY29uc3QgY2hhciAqbGV0dGVycyA9ICJCS01HVFBFIjsKKwljaGFyIHN1ZmZpeFtzaXplb2YoIiBLaUIiKV0sICpwc3VmID0gc3VmZml4OworCWNoYXIgYzsKKworCWlmIChvcHRpb25zICYgU0laRV9TVUZGSVhfU1BBQ0UpCisJCSpwc3VmKysgPSAnICc7CisKKwlleHAgID0gZ2V0X2V4cChieXRlcyk7CisJYyAgICA9ICoobGV0dGVycyArIChleHAgPyBleHAgLyAxMCA6IDApKTsKKwlkZWMgID0gZXhwID8gYnl0ZXMgLyAoMVVMTCA8PCBleHApIDogYnl0ZXM7CisJZnJhYyA9IGV4cCA/IGJ5dGVzICUgKDFVTEwgPDwgZXhwKSA6IDA7CisKKwkqcHN1ZisrID0gYzsKKworCWlmICgob3B0aW9ucyAmIFNJWkVfU1VGRklYXzNMRVRURVIpICYmIChjICE9ICdCJykpIHsKKwkJKnBzdWYrKyA9ICdpJzsKKwkJKnBzdWYrKyA9ICdCJzsKKwl9CisKKwkqcHN1ZiA9ICdcMCc7CisKKwkvKiBmcHJpbnRmKHN0ZGVyciwgImV4cDogJWQsIHVuaXQ6ICVjLCBkZWM6ICVkLCBmcmFjOiAlamRcbiIsCisJICogICAgICAgICAgICAgICAgIGV4cCwgc3VmZml4WzBdLCBkZWMsIGZyYWMpOworCSAqLworCisJaWYgKGZyYWMpIHsKKwkJLyogcm91bmQgKi8KKwkJZnJhYyA9IChmcmFjIC8gKDFVTEwgPDwgKGV4cCAtIDEwKSkgKyA1MCkgLyAxMDA7CisJCWlmIChmcmFjID09IDEwKQorCQkJZGVjKyssIGZyYWMgPSAwOworCX0KKworCWlmIChmcmFjKSB7CisJCXN0cnVjdCBsY29udiBjb25zdCAqbCA9IGxvY2FsZWNvbnYoKTsKKwkJY2hhciAqZHAgPSBsID8gbC0+ZGVjaW1hbF9wb2ludCA6IE5VTEw7CisKKwkJaWYgKCFkcCB8fCAhKmRwKQorCQkJZHAgPSAiLiI7CisJCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlZCVzJSIgUFJJdTY0ICIlcyIsIGRlYywgZHAsIGZyYWMsIHN1ZmZpeCk7CisJfSBlbHNlCisJCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlZCVzIiwgZGVjLCBzdWZmaXgpOworCisJcmV0dXJuIHN0cmR1cChidWYpOworfQorCisvKgorICogUGFyc2VzIGNvbW1hIGRlbGltaXRlZCBsaXN0IHRvIGFycmF5IHdpdGggSURzLCBmb3IgZXhhbXBsZToKKyAqCisgKiAiYWFhLGJiYixjY2MiIC0tPiBhcnlbMF0gPSBGT09fQUFBOworICogICAgICAgICAgICAgICAgICAgYXJ5WzFdID0gRk9PX0JCQjsKKyAqICAgICAgICAgICAgICAgICAgIGFyeVszXSA9IEZPT19DQ0M7CisgKgorICogVGhlIGZ1bmN0aW9uIG5hbWUyaWQoKSBwcm92aWRlcyBjb252ZXJzaW9uIGZyb20gc3RyaW5nIHRvIElELgorICoKKyAqIFJldHVybnM6ID49IDAgIDogbnVtYmVyIG9mIGl0ZW1zIGFkZGVkIHRvIGFyeVtdCisgKiAgICAgICAgICAgIC0xICA6IHBhcnNlIGVycm9yIG9yIHVua25vd24gaXRlbQorICogICAgICAgICAgICAtMiAgOiBhcnlzeiByZWFjaGVkCisgKi8KK2ludCBzdHJpbmdfdG9faWRhcnJheShjb25zdCBjaGFyICpsaXN0LCBpbnQgYXJ5W10sIHNpemVfdCBhcnlzeiwKKwkJCWludCAobmFtZTJpZCkoY29uc3QgY2hhciAqLCBzaXplX3QpKQoreworCWNvbnN0IGNoYXIgKmJlZ2luID0gTlVMTCwgKnA7CisJc2l6ZV90IG4gPSAwOworCisJaWYgKCFsaXN0IHx8ICEqbGlzdCB8fCAhYXJ5IHx8ICFhcnlzeiB8fCAhbmFtZTJpZCkKKwkJcmV0dXJuIC0xOworCisJZm9yIChwID0gbGlzdDsgcCAmJiAqcDsgcCsrKSB7CisJCWNvbnN0IGNoYXIgKmVuZCA9IE5VTEw7CisJCWludCBpZDsKKworCQlpZiAobiA+PSBhcnlzeikKKwkJCXJldHVybiAtMjsKKwkJaWYgKCFiZWdpbikKKwkJCWJlZ2luID0gcDsJCS8qIGJlZ2luIG9mIHRoZSBjb2x1bW4gbmFtZSAqLworCQlpZiAoKnAgPT0gJywnKQorCQkJZW5kID0gcDsJCS8qIHRlcm1pbmF0ZSB0aGUgbmFtZSAqLworCQlpZiAoKihwICsgMSkgPT0gJ1wwJykKKwkJCWVuZCA9IHAgKyAxOwkJLyogZW5kIG9mIHN0cmluZyAqLworCQlpZiAoIWJlZ2luIHx8ICFlbmQpCisJCQljb250aW51ZTsKKwkJaWYgKGVuZCA8PSBiZWdpbikKKwkJCXJldHVybiAtMTsKKworCQlpZCA9IG5hbWUyaWQoYmVnaW4sIGVuZCAtIGJlZ2luKTsKKwkJaWYgKGlkID09IC0xKQorCQkJcmV0dXJuIC0xOworCQlhcnlbIG4rKyBdID0gaWQ7CisJCWJlZ2luID0gTlVMTDsKKwkJaWYgKGVuZCAmJiAhKmVuZCkKKwkJCWJyZWFrOworCX0KKwlyZXR1cm4gbjsKK30KKworLyoKKyAqIFBhcnNlcyB0aGUgYXJyYXkgbGlrZSBzdHJpbmdfdG9faWRhcnJheSBidXQgaWYgZm9ybWF0IGlzICIrYWFhLGJiYiIKKyAqIGl0IGFkZHMgZmllbGRzIHRvIGFycmF5IGluc3RlYWQgb2YgcmVwbGFjaW5nIHRoZW0uCisgKi8KK2ludCBzdHJpbmdfYWRkX3RvX2lkYXJyYXkoY29uc3QgY2hhciAqbGlzdCwgaW50IGFyeVtdLCBzaXplX3QgYXJ5c3osCisJCQlzaXplX3QgKmFyeV9wb3MsIGludCAobmFtZTJpZCkoY29uc3QgY2hhciAqLCBzaXplX3QpKQoreworCWNvbnN0IGNoYXIgKmxpc3RfYWRkOworCWludCByOworCisJaWYgKCFsaXN0IHx8ICEqbGlzdCB8fCAhYXJ5X3BvcyB8fCAqYXJ5X3BvcyA+IGFyeXN6KQorCQlyZXR1cm4gLTE7CisKKwlpZiAobGlzdFswXSA9PSAnKycpCisJCWxpc3RfYWRkID0gJmxpc3RbMV07CisJZWxzZSB7CisJCWxpc3RfYWRkID0gbGlzdDsKKwkJKmFyeV9wb3MgPSAwOworCX0KKworCXIgPSBzdHJpbmdfdG9faWRhcnJheShsaXN0X2FkZCwgJmFyeVsqYXJ5X3Bvc10sIGFyeXN6IC0gKmFyeV9wb3MsIG5hbWUyaWQpOworCWlmIChyID4gMCkKKwkJKmFyeV9wb3MgKz0gcjsKKwlyZXR1cm4gcjsKK30KKworLyoKKyAqIExJU1QgOjo9IDxpdGVtPiBbLCA8aXRlbT5dCisgKgorICogVGhlIDxpdGVtPiBpcyB0cmFuc2xhdGVkIHRvICdpZCcgYnkgbmFtZTJpZCgpIGZ1bmN0aW9uIGFuZCB0aGUgJ2lkJyBpcyB1c2VkCisgKiBhcyBhIHBvc2l0aW9uIGluIHRoZSAnYXJ5JyBiaXQgYXJyYXkuIEl0IG1lYW5zIHRoYXQgdGhlICdpZCcgaGFzIHRvIGJlIGluCisgKiByYW5nZSA8MC4uTj4gd2hlcmUgTiA8IHNpemVvZihhcnkpICogTkJCWS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLgorICovCitpbnQgc3RyaW5nX3RvX2JpdGFycmF5KGNvbnN0IGNoYXIgKmxpc3QsCisJCSAgICAgY2hhciAqYXJ5LAorCQkgICAgIGludCAoKm5hbWUyYml0KShjb25zdCBjaGFyICosIHNpemVfdCkpCit7CisJY29uc3QgY2hhciAqYmVnaW4gPSBOVUxMLCAqcDsKKworCWlmICghbGlzdCB8fCAhbmFtZTJiaXQgfHwgIWFyeSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlmb3IgKHAgPSBsaXN0OyBwICYmICpwOyBwKyspIHsKKwkJY29uc3QgY2hhciAqZW5kID0gTlVMTDsKKwkJaW50IGJpdDsKKworCQlpZiAoIWJlZ2luKQorCQkJYmVnaW4gPSBwOwkJLyogYmVnaW4gb2YgdGhlIGxldmVsIG5hbWUgKi8KKwkJaWYgKCpwID09ICcsJykKKwkJCWVuZCA9IHA7CQkvKiB0ZXJtaW5hdGUgdGhlIG5hbWUgKi8KKwkJaWYgKCoocCArIDEpID09ICdcMCcpCisJCQllbmQgPSBwICsgMTsJCS8qIGVuZCBvZiBzdHJpbmcgKi8KKwkJaWYgKCFiZWdpbiB8fCAhZW5kKQorCQkJY29udGludWU7CisJCWlmIChlbmQgPD0gYmVnaW4pCisJCQlyZXR1cm4gLTE7CisKKwkJYml0ID0gbmFtZTJiaXQoYmVnaW4sIGVuZCAtIGJlZ2luKTsKKwkJaWYgKGJpdCA8IDApCisJCQlyZXR1cm4gYml0OworCQlzZXRiaXQoYXJ5LCBiaXQpOworCQliZWdpbiA9IE5VTEw7CisJCWlmIChlbmQgJiYgISplbmQpCisJCQlicmVhazsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBMSVNUIDo6PSA8aXRlbT4gWywgPGl0ZW0+XQorICoKKyAqIFRoZSA8aXRlbT4gaXMgdHJhbnNsYXRlZCB0byAnaWQnIGJ5IG5hbWUyZmxhZygpIGZ1bmN0aW9uIGFuZCB0aGUgZmxhZ3MgaXMKKyAqIHNldCB0byB0aGUgJ21hc2snCisqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLgorICovCitpbnQgc3RyaW5nX3RvX2JpdG1hc2soY29uc3QgY2hhciAqbGlzdCwKKwkJICAgICB1bnNpZ25lZCBsb25nICptYXNrLAorCQkgICAgIGxvbmcgKCpuYW1lMmZsYWcpKGNvbnN0IGNoYXIgKiwgc2l6ZV90KSkKK3sKKwljb25zdCBjaGFyICpiZWdpbiA9IE5VTEwsICpwOworCisJaWYgKCFsaXN0IHx8ICFuYW1lMmZsYWcgfHwgIW1hc2spCisJCXJldHVybiAtRUlOVkFMOworCisJZm9yIChwID0gbGlzdDsgcCAmJiAqcDsgcCsrKSB7CisJCWNvbnN0IGNoYXIgKmVuZCA9IE5VTEw7CisJCWxvbmcgZmxhZzsKKworCQlpZiAoIWJlZ2luKQorCQkJYmVnaW4gPSBwOwkJLyogYmVnaW4gb2YgdGhlIGxldmVsIG5hbWUgKi8KKwkJaWYgKCpwID09ICcsJykKKwkJCWVuZCA9IHA7CQkvKiB0ZXJtaW5hdGUgdGhlIG5hbWUgKi8KKwkJaWYgKCoocCArIDEpID09ICdcMCcpCisJCQllbmQgPSBwICsgMTsJCS8qIGVuZCBvZiBzdHJpbmcgKi8KKwkJaWYgKCFiZWdpbiB8fCAhZW5kKQorCQkJY29udGludWU7CisJCWlmIChlbmQgPD0gYmVnaW4pCisJCQlyZXR1cm4gLTE7CisKKwkJZmxhZyA9IG5hbWUyZmxhZyhiZWdpbiwgZW5kIC0gYmVnaW4pOworCQlpZiAoZmxhZyA8IDApCisJCQlyZXR1cm4gZmxhZzsJLyogZXJyb3IgKi8KKwkJKm1hc2sgfD0gZmxhZzsKKwkJYmVnaW4gPSBOVUxMOworCQlpZiAoZW5kICYmICEqZW5kKQorCQkJYnJlYWs7CisJfQorCXJldHVybiAwOworfQorCisvKgorICogUGFyc2UgdGhlIGxvd2VyIGFuZCBoaWdoZXIgdmFsdWVzIGluIGEgc3RyaW5nIGNvbnRhaW5pbmcKKyAqICJsb3dlcjpoaWdoZXIiIG9yICJsb3dlci1oaWdoZXIiIGZvcm1hdC4gTm90ZSB0aGF0IGVpdGhlcgorICogdGhlIGxvd2VyIG9yIHRoZSBoaWdoZXIgdmFsdWVzIG1heSBiZSBtaXNzaW5nLCBhbmQgdGhlIGRlZgorICogdmFsdWUgd2lsbCBiZSBhc3NpZ25lZCB0byBpdCBieSBkZWZhdWx0LgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IuCisgKi8KK2ludCBwYXJzZV9yYW5nZShjb25zdCBjaGFyICpzdHIsIGludCAqbG93ZXIsIGludCAqdXBwZXIsIGludCBkZWYpCit7CisJY2hhciAqZW5kID0gTlVMTDsKKworCWlmICghc3RyKQorCQlyZXR1cm4gMDsKKworCSp1cHBlciA9ICpsb3dlciA9IGRlZjsKKwllcnJubyA9IDA7CisKKwlpZiAoKnN0ciA9PSAnOicpIHsJCQkJLyogPDpOPiAqLworCQlzdHIrKzsKKwkJKnVwcGVyID0gc3RydG9sKHN0ciwgJmVuZCwgMTApOworCQlpZiAoZXJybm8gfHwgIWVuZCB8fCAqZW5kIHx8IGVuZCA9PSBzdHIpCisJCQlyZXR1cm4gLTE7CisJfSBlbHNlIHsKKwkJKnVwcGVyID0gKmxvd2VyID0gc3RydG9sKHN0ciwgJmVuZCwgMTApOworCQlpZiAoZXJybm8gfHwgIWVuZCB8fCBlbmQgPT0gc3RyKQorCQkJcmV0dXJuIC0xOworCisJCWlmICgqZW5kID09ICc6JyAmJiAhKihlbmQgKyAxKSkJCS8qIDxNOj4gKi8KKwkJCSp1cHBlciA9IGRlZjsKKwkJZWxzZSBpZiAoKmVuZCA9PSAnLScgfHwgKmVuZCA9PSAnOicpIHsJLyogPE06Tj4gPE0tTj4gKi8KKwkJCXN0ciA9IGVuZCArIDE7CisJCQllbmQgPSBOVUxMOworCQkJZXJybm8gPSAwOworCQkJKnVwcGVyID0gc3RydG9sKHN0ciwgJmVuZCwgMTApOworCisJCQlpZiAoZXJybm8gfHwgIWVuZCB8fCAqZW5kIHx8IGVuZCA9PSBzdHIpCisJCQkJcmV0dXJuIC0xOworCQl9CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgY29uc3QgY2hhciAqbmV4dF9wYXRoX3NlZ21lbnQoY29uc3QgY2hhciAqc3RyLCBzaXplX3QgKnN6KQoreworCWNvbnN0IGNoYXIgKnN0YXJ0LCAqcDsKKworCXN0YXJ0ID0gc3RyOworCSpzeiA9IDA7CisJd2hpbGUgKHN0YXJ0ICYmICpzdGFydCA9PSAnLycgJiYgKihzdGFydCArIDEpID09ICcvJykKKwkJc3RhcnQrKzsKKworCWlmICghc3RhcnQgfHwgISpzdGFydCkKKwkJcmV0dXJuIE5VTEw7CisKKwlmb3IgKCpzeiA9IDEsIHAgPSBzdGFydCArIDE7ICpwICYmICpwICE9ICcvJzsgcCsrKSB7CisJCSgqc3opKys7CisJfQorCisJcmV0dXJuIHN0YXJ0OworfQorCitpbnQgc3RyZXFfcGF0aHMoY29uc3QgY2hhciAqYSwgY29uc3QgY2hhciAqYikKK3sKKwl3aGlsZSAoYSAmJiBiKSB7CisJCXNpemVfdCBhX3N6LCBiX3N6OworCQljb25zdCBjaGFyICphX3NlZyA9IG5leHRfcGF0aF9zZWdtZW50KGEsICZhX3N6KTsKKwkJY29uc3QgY2hhciAqYl9zZWcgPSBuZXh0X3BhdGhfc2VnbWVudChiLCAmYl9zeik7CisKKwkJLyoKKwkJZnByaW50ZihzdGRlcnIsICJBPj4+KCV6dSkgJyVzJ1xuIiwgYV9zeiwgYV9zZWcpOworCQlmcHJpbnRmKHN0ZGVyciwgIkI+Pj4oJXp1KSAnJXMnXG4iLCBiX3N6LCBiX3NlZyk7CisJCSovCisKKwkJLyogZW5kIG9mIHRoZSBwYXRoICovCisJCWlmIChhX3N6ICsgYl9zeiA9PSAwKQorCQkJcmV0dXJuIDE7CisKKwkJLyogaWdub3JlIHRhaWxpbmcgc2xhc2ggKi8KKwkJaWYgKGFfc3ogKyBiX3N6ID09IDEgJiYKKwkJICAgICgoYV9zZWcgJiYgKmFfc2VnID09ICcvJykgfHwgKGJfc2VnICYmICpiX3NlZyA9PSAnLycpKSkKKwkJCXJldHVybiAxOworCisJCWlmIChhX3N6ICE9IGJfc3ogfHwgc3RybmNtcChhX3NlZywgYl9zZWcsIGFfc3opICE9IDApCisJCQlyZXR1cm4gMDsKKworCQlhID0gYV9zZWcgKyBhX3N6OworCQliID0gYl9zZWcgKyBiX3N6OworCX07CisKKwlyZXR1cm4gMDsKK30KKworY2hhciAqc3RybmFwcGVuZChjb25zdCBjaGFyICpzLCBjb25zdCBjaGFyICpzdWZmaXgsIHNpemVfdCBiKQoreworICAgICAgICBzaXplX3QgYTsKKyAgICAgICAgY2hhciAqcjsKKworICAgICAgICBpZiAoIXMgJiYgIXN1ZmZpeCkKKyAgICAgICAgICAgICAgICByZXR1cm4gc3RyZHVwKCIiKTsKKyAgICAgICAgaWYgKCFzKQorICAgICAgICAgICAgICAgIHJldHVybiBzdHJuZHVwKHN1ZmZpeCwgYik7CisgICAgICAgIGlmICghc3VmZml4KQorICAgICAgICAgICAgICAgIHJldHVybiBzdHJkdXAocyk7CisKKyAgICAgICAgYXNzZXJ0KHMpOworICAgICAgICBhc3NlcnQoc3VmZml4KTsKKworICAgICAgICBhID0gc3RybGVuKHMpOworICAgICAgICBpZiAoYiA+ICgoc2l6ZV90KSAtMSkgLSBhKQorICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworCisgICAgICAgIHIgPSBtYWxsb2MoYSArIGIgKyAxKTsKKyAgICAgICAgaWYgKCFyKQorICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworCisgICAgICAgIG1lbWNweShyLCBzLCBhKTsKKyAgICAgICAgbWVtY3B5KHIgKyBhLCBzdWZmaXgsIGIpOworICAgICAgICByW2ErYl0gPSAwOworCisgICAgICAgIHJldHVybiByOworfQorCitjaGFyICpzdHJhcHBlbmQoY29uc3QgY2hhciAqcywgY29uc3QgY2hhciAqc3VmZml4KQoreworICAgICAgICByZXR1cm4gc3RybmFwcGVuZChzLCBzdWZmaXgsIHN1ZmZpeCA/IHN0cmxlbihzdWZmaXgpIDogMCk7Cit9CisKK2NoYXIgKnN0cmZhcHBlbmQoY29uc3QgY2hhciAqcywgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKwljaGFyICp2YWwsICpyZXM7CisJaW50IHN6OworCisJdmFfc3RhcnQoYXAsIGZvcm1hdCk7CisJc3ogPSB2YXNwcmludGYoJnZhbCwgZm9ybWF0LCBhcCk7CisJdmFfZW5kKGFwKTsKKworCWlmIChzeiA8IDApCisJCXJldHVybiBOVUxMOworCisJcmVzID0gc3RybmFwcGVuZChzLCB2YWwsIHN6KTsKKwlmcmVlKHZhbCk7CisJcmV0dXJuIHJlczsKK30KKworc3RhdGljIHNpemVfdCBzdHJjc3BuX2VzY2FwZWQoY29uc3QgY2hhciAqcywgY29uc3QgY2hhciAqcmVqZWN0KQoreworICAgICAgICBpbnQgZXNjYXBlZCA9IDA7CisgICAgICAgIGludCBuOworCisgICAgICAgIGZvciAobj0wOyBzW25dOyBuKyspIHsKKyAgICAgICAgICAgICAgICBpZiAoZXNjYXBlZCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGVzY2FwZWQgPSAwOworICAgICAgICAgICAgICAgIGVsc2UgaWYgKHNbbl0gPT0gJ1xcJykKKyAgICAgICAgICAgICAgICAgICAgICAgIGVzY2FwZWQgPSAxOworICAgICAgICAgICAgICAgIGVsc2UgaWYgKHN0cmNocihyZWplY3QsIHNbbl0pKQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICAvKiBpZiBzIGVuZHMgaW4gXCwgcmV0dXJuIGluZGV4IG9mIHByZXZpb3VzIGNoYXIgKi8KKyAgICAgICAgcmV0dXJuIG4gLSBlc2NhcGVkOworfQorCisvKiBTcGxpdCBhIHN0cmluZyBpbnRvIHdvcmRzLiAqLworY29uc3QgY2hhciAqc3BsaXQoY29uc3QgY2hhciAqKnN0YXRlLCBzaXplX3QgKmwsIGNvbnN0IGNoYXIgKnNlcGFyYXRvciwgaW50IHF1b3RlZCkKK3sKKyAgICAgICAgY29uc3QgY2hhciAqY3VycmVudDsKKworICAgICAgICBjdXJyZW50ID0gKnN0YXRlOworCisgICAgICAgIGlmICghKmN1cnJlbnQpIHsKKyAgICAgICAgICAgICAgICBhc3NlcnQoKipzdGF0ZSA9PSAnXDAnKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorCisgICAgICAgIGN1cnJlbnQgKz0gc3Ryc3BuKGN1cnJlbnQsIHNlcGFyYXRvcik7CisgICAgICAgIGlmICghKmN1cnJlbnQpIHsKKyAgICAgICAgICAgICAgICAqc3RhdGUgPSBjdXJyZW50OworICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHF1b3RlZCAmJiBzdHJjaHIoIlwnXCIiLCAqY3VycmVudCkpIHsKKyAgICAgICAgICAgICAgICBjaGFyIHF1b3RlY2hhcnNbMl0gPSB7KmN1cnJlbnQsICdcMCd9OworCisgICAgICAgICAgICAgICAgKmwgPSBzdHJjc3BuX2VzY2FwZWQoY3VycmVudCArIDEsIHF1b3RlY2hhcnMpOworICAgICAgICAgICAgICAgIGlmIChjdXJyZW50WypsICsgMV0gPT0gJ1wwJyB8fCBjdXJyZW50WypsICsgMV0gIT0gcXVvdGVjaGFyc1swXSB8fAorICAgICAgICAgICAgICAgICAgICAoY3VycmVudFsqbCArIDJdICYmICFzdHJjaHIoc2VwYXJhdG9yLCBjdXJyZW50WypsICsgMl0pKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgLyogcmlnaHQgcXVvdGUgbWlzc2luZyBvciBnYXJiYWdlIGF0IHRoZSBlbmQgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICpzdGF0ZSA9IGN1cnJlbnQ7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgKnN0YXRlID0gY3VycmVudCsrICsgKmwgKyAyOworICAgICAgICB9IGVsc2UgaWYgKHF1b3RlZCkgeworICAgICAgICAgICAgICAgICpsID0gc3RyY3Nwbl9lc2NhcGVkKGN1cnJlbnQsIHNlcGFyYXRvcik7CisgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRbKmxdICYmICFzdHJjaHIoc2VwYXJhdG9yLCBjdXJyZW50WypsXSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8qIHVuZmluaXNoZWQgZXNjYXBlICovCisgICAgICAgICAgICAgICAgICAgICAgICAqc3RhdGUgPSBjdXJyZW50OworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICpzdGF0ZSA9IGN1cnJlbnQgKyAqbDsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAqbCA9IHN0cmNzcG4oY3VycmVudCwgc2VwYXJhdG9yKTsKKyAgICAgICAgICAgICAgICAqc3RhdGUgPSBjdXJyZW50ICsgKmw7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gY3VycmVudDsKK30KKworLyogUmV3aW5kIGZpbGUgcG9pbnRlciBmb3J3YXJkIHRvIG5ldyBsaW5lLiAgKi8KK2ludCBza2lwX2ZsaW5lKEZJTEUgKmZwKQoreworCWludCBjaDsKKworCWRvIHsKKwkJaWYgKChjaCA9IGZnZXRjKGZwKSkgPT0gRU9GKQorCQkJcmV0dXJuIDE7CisJCWlmIChjaCA9PSAnXG4nKQorCQkJcmV0dXJuIDA7CisJfSB3aGlsZSAoMSk7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU0KKworc3RhdGljIGludCB0ZXN0X3N0cnV0aWxzX3NpemVzKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJdWludG1heF90IHNpemUgPSAwOworCWNoYXIgKmh1bSwgKmh1bTI7CisKKwlpZiAoYXJnYyA8IDIpCisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisKKwlpZiAoc3RydG9zaXplKGFyZ3ZbMV0sICZzaXplKSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsICJpbnZhbGlkIHNpemUgJyVzJyB2YWx1ZSIsIGFyZ3ZbMV0pOworCisJaHVtID0gc2l6ZV90b19odW1hbl9zdHJpbmcoU0laRV9TVUZGSVhfMUxFVFRFUiwgc2l6ZSk7CisJaHVtMiA9IHNpemVfdG9faHVtYW5fc3RyaW5nKFNJWkVfU1VGRklYXzNMRVRURVIgfAorCQkJCSAgICBTSVpFX1NVRkZJWF9TUEFDRSwgc2l6ZSk7CisKKwlwcmludGYoIiUyNXMgOiAlMjBqdSA6ICU4cyA6ICUxMnNcbiIsIGFyZ3ZbMV0sIHNpemUsIGh1bSwgaHVtMik7CisJZnJlZShodW0pOworCWZyZWUoaHVtMik7CisKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQorCitzdGF0aWMgaW50IHRlc3Rfc3RydXRpbHNfY21wX3BhdGhzKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJaW50IHJjID0gc3RyZXFfcGF0aHMoYXJndlsxXSwgYXJndlsyXSk7CisKKwlpZiAoYXJnYyA8IDMpCisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisKKwlwcmludGYoIiVzOiAnJXMnICclcydcbiIsIHJjID09IDEgPyAiWUVTIiA6ICJOT1QiLCBhcmd2WzFdLCBhcmd2WzJdKTsKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWlmIChhcmdjID09IDMgJiYgc3RyY21wKGFyZ3ZbMV0sICItLXNpemUiKSA9PSAwKQorCQlyZXR1cm4gdGVzdF9zdHJ1dGlsc19zaXplcyhhcmdjIC0gMSwgYXJndiArIDEpOworCisJZWxzZSBpZiAoYXJnYyA9PSA0ICYmIHN0cmNtcChhcmd2WzFdLCAiLS1jbXAtcGF0aHMiKSA9PSAwKQorCQlyZXR1cm4gdGVzdF9zdHJ1dGlsc19jbXBfcGF0aHMoYXJnYyAtIDEsIGFyZ3YgKyAxKTsKKworCWVsc2UgeworCQlmcHJpbnRmKHN0ZGVyciwgInVzYWdlOiAlMSRzIC0tc2l6ZSA8bnVtYmVyPltzdWZmaXhdXG4iCisJCQkJIiAgICAgICAlMSRzIC0tY21wLXBhdGhzIDxwYXRoPiA8cGF0aD5cbiIsCisJCQkJYXJndlswXSk7CisJCWV4aXQoRVhJVF9GQUlMVVJFKTsKKwl9CisKKwlyZXR1cm4gRVhJVF9GQUlMVVJFOworfQorI2VuZGlmIC8qIFRFU1RfUFJPR1JBTSAqLwpkaWZmIC0tZ2l0IGEvbGliL3N0cnYuYyBiL2xpYi9zdHJ2LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGRjMmEwYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9zdHJ2LmMKQEAgLTAsMCArMSw0MDMgQEAKKy8qCisgKgorICogQ29weXJpZ2h0IDIwMTAgTGVubmFydCBQb2V0dGVyaW5nCisgKgorICogVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqICAgIE1vZGlmaWVkIHRoZSBvcmlnaW5hbCB2ZXJzaW9uIGZyb20gc3lzdGVtZCBwcm9qZWN0IGZvciB1dGlsLWxpbnV4LgorICovCisKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0ZGJvb2wuaD4KKyNpbmNsdWRlIDxhc3NlcnQuaD4KKworI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAic3Rydi5oIgorCit2b2lkIHN0cnZfY2xlYXIoY2hhciAqKmwpIHsKKyAgICAgICAgY2hhciAqKms7CisKKyAgICAgICAgaWYgKCFsKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBmb3IgKGsgPSBsOyAqazsgaysrKQorICAgICAgICAgICAgICAgIGZyZWUoKmspOworCisgICAgICAgICpsID0gTlVMTDsKK30KKworY2hhciAqKnN0cnZfZnJlZShjaGFyICoqbCkgeworICAgICAgICBzdHJ2X2NsZWFyKGwpOworICAgICAgICBmcmVlKGwpOworICAgICAgICByZXR1cm4gTlVMTDsKK30KKworY2hhciAqKnN0cnZfY29weShjaGFyICogY29uc3QgKmwpIHsKKyAgICAgICAgY2hhciAqKnIsICoqazsKKworICAgICAgICBrID0gciA9IG1hbGxvYyhzaXplb2YoY2hhciAqKSAqIChzdHJ2X2xlbmd0aChsKSArIDEpKTsKKyAgICAgICAgaWYgKCFyKQorICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworCisgICAgICAgIGlmIChsKQorICAgICAgICAgICAgICAgIGZvciAoOyAqbDsgaysrLCBsKyspIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICprID0gc3RyZHVwKCpsKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghKmspIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rydl9mcmVlKHIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgKmsgPSBOVUxMOworICAgICAgICByZXR1cm4gcjsKK30KKwordW5zaWduZWQgc3Rydl9sZW5ndGgoY2hhciAqIGNvbnN0ICpsKSB7CisgICAgICAgIHVuc2lnbmVkIG4gPSAwOworCisgICAgICAgIGlmICghbCkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICBmb3IgKDsgKmw7IGwrKykKKyAgICAgICAgICAgICAgICBuKys7CisKKyAgICAgICAgcmV0dXJuIG47Cit9CisKK2NoYXIgKipzdHJ2X25ld19hcChjb25zdCBjaGFyICp4LCB2YV9saXN0IGFwKSB7CisgICAgICAgIGNvbnN0IGNoYXIgKnM7CisgICAgICAgIGNoYXIgKiphOworICAgICAgICB1bnNpZ25lZCBuID0gMCwgaSA9IDA7CisgICAgICAgIHZhX2xpc3QgYXE7CisKKyAgICAgICAgLyogQXMgYSBzcGVjaWFsIHRyaWNrIHdlIGlnbm9yZSBhbGwgbGlzdGVkIHN0cmluZ3MgdGhhdCBlcXVhbAorICAgICAgICAgKiAoY29uc3QgY2hhciopIC0xLiBUaGlzIGlzIHN1cHBvc2VkIHRvIGJlIHVzZWQgd2l0aCB0aGUKKyAgICAgICAgICogU1RSVl9JRk5PVE5VTEwoKSBtYWNybyB0byBpbmNsdWRlIHBvc3NpYmx5IE5VTEwgc3RyaW5ncyBpbgorICAgICAgICAgKiB0aGUgc3RyaW5nIGxpc3QuICovCisKKyAgICAgICAgaWYgKHgpIHsKKyAgICAgICAgICAgICAgICBuID0geCA9PSAoY29uc3QgY2hhciopIC0xID8gMCA6IDE7CisKKyAgICAgICAgICAgICAgICB2YV9jb3B5KGFxLCBhcCk7CisgICAgICAgICAgICAgICAgd2hpbGUgKChzID0gdmFfYXJnKGFxLCBjb25zdCBjaGFyKikpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAocyA9PSAoY29uc3QgY2hhciopIC0xKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgICAgICAgICAgICAgbisrOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIHZhX2VuZChhcSk7CisgICAgICAgIH0KKworICAgICAgICBhID0gbWFsbG9jKHNpemVvZihjaGFyICopICogKG4gKyAxKSk7CisgICAgICAgIGlmICghYSkKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKworICAgICAgICBpZiAoeCkgeworICAgICAgICAgICAgICAgIGlmICh4ICE9IChjb25zdCBjaGFyKikgLTEpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGFbaV0gPSBzdHJkdXAoeCk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWFbaV0pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgICAgICAgICAgICAgICAgIGkrKzsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICB3aGlsZSAoKHMgPSB2YV9hcmcoYXAsIGNvbnN0IGNoYXIqKSkpIHsKKworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHMgPT0gKGNvbnN0IGNoYXIqKSAtMSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGFbaV0gPSBzdHJkdXAocyk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWFbaV0pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKKworICAgICAgICAgICAgICAgICAgICAgICAgaSsrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIGFbaV0gPSBOVUxMOworCisgICAgICAgIHJldHVybiBhOworCitmYWlsOgorICAgICAgICBzdHJ2X2ZyZWUoYSk7CisgICAgICAgIHJldHVybiBOVUxMOworfQorCitjaGFyICoqc3Rydl9uZXcoY29uc3QgY2hhciAqeCwgLi4uKSB7CisgICAgICAgIGNoYXIgKipyOworICAgICAgICB2YV9saXN0IGFwOworCisgICAgICAgIHZhX3N0YXJ0KGFwLCB4KTsKKyAgICAgICAgciA9IHN0cnZfbmV3X2FwKHgsIGFwKTsKKyAgICAgICAgdmFfZW5kKGFwKTsKKworICAgICAgICByZXR1cm4gcjsKK30KKworaW50IHN0cnZfZXh0ZW5kX3N0cnYoY2hhciAqKiphLCBjaGFyICoqYikgeworICAgICAgICBpbnQgcjsKKyAgICAgICAgY2hhciAqKnM7CisKKyAgICAgICAgU1RSVl9GT1JFQUNIKHMsIGIpIHsKKyAgICAgICAgICAgICAgICByID0gc3Rydl9leHRlbmQoYSwgKnMpOworICAgICAgICAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIDA7Cit9CisKK2ludCBzdHJ2X2V4dGVuZF9zdHJ2X2NvbmNhdChjaGFyICoqKmEsIGNoYXIgKipiLCBjb25zdCBjaGFyICpzdWZmaXgpIHsKKyAgICAgICAgaW50IHI7CisgICAgICAgIGNoYXIgKipzOworCisgICAgICAgIFNUUlZfRk9SRUFDSChzLCBiKSB7CisgICAgICAgICAgICAgICAgY2hhciAqdjsKKworICAgICAgICAgICAgICAgIHYgPSBzdHJhcHBlbmQoKnMsIHN1ZmZpeCk7CisgICAgICAgICAgICAgICAgaWYgKCF2KQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07CisKKyAgICAgICAgICAgICAgICByID0gc3Rydl9wdXNoKGEsIHYpOworICAgICAgICAgICAgICAgIGlmIChyIDwgMCkgeworICAgICAgICAgICAgICAgICAgICAgICAgZnJlZSh2KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiAwOworfQorCisKKyNkZWZpbmUgX0ZPUkVBQ0hfV09SRCh3b3JkLCBsZW5ndGgsIHMsIHNlcGFyYXRvciwgcXVvdGVkLCBzdGF0ZSkgICAgICAgIFwKKyAgICAgICAgZm9yICgoc3RhdGUpID0gKHMpLCAod29yZCkgPSBzcGxpdCgmKHN0YXRlKSwgJihsZW5ndGgpLCAoc2VwYXJhdG9yKSwgKHF1b3RlZCkpOyAod29yZCk7ICh3b3JkKSA9IHNwbGl0KCYoc3RhdGUpLCAmKGxlbmd0aCksIChzZXBhcmF0b3IpLCAocXVvdGVkKSkpCisKKyNkZWZpbmUgRk9SRUFDSF9XT1JEX1NFUEFSQVRPUih3b3JkLCBsZW5ndGgsIHMsIHNlcGFyYXRvciwgc3RhdGUpICAgICAgIFwKKyAgICAgICAgX0ZPUkVBQ0hfV09SRCh3b3JkLCBsZW5ndGgsIHMsIHNlcGFyYXRvciwgZmFsc2UsIHN0YXRlKQorCisKK2NoYXIgKipzdHJ2X3NwbGl0KGNvbnN0IGNoYXIgKnMsIGNvbnN0IGNoYXIgKnNlcGFyYXRvcikgeworICAgICAgICBjb25zdCBjaGFyICp3b3JkLCAqc3RhdGU7CisgICAgICAgIHNpemVfdCBsOworICAgICAgICB1bnNpZ25lZCBuLCBpOworICAgICAgICBjaGFyICoqcjsKKworICAgICAgICBhc3NlcnQocyk7CisKKyAgICAgICAgbiA9IDA7CisgICAgICAgIEZPUkVBQ0hfV09SRF9TRVBBUkFUT1Iod29yZCwgbCwgcywgc2VwYXJhdG9yLCBzdGF0ZSkKKyAgICAgICAgICAgICAgICBuKys7CisKKyAgICAgICAgciA9IG1hbGxvYyhzaXplb2YoY2hhciAqKSAqIChuICsgMSkpOworICAgICAgICBpZiAoIXIpCisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICAgICAgaSA9IDA7CisgICAgICAgIEZPUkVBQ0hfV09SRF9TRVBBUkFUT1Iod29yZCwgbCwgcywgc2VwYXJhdG9yLCBzdGF0ZSkgeworICAgICAgICAgICAgICAgIHJbaV0gPSBzdHJuZHVwKHdvcmQsIGwpOworICAgICAgICAgICAgICAgIGlmICghcltpXSkgeworICAgICAgICAgICAgICAgICAgICAgICAgc3Rydl9mcmVlKHIpOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaSsrOworICAgICAgICB9CisKKyAgICAgICAgcltpXSA9IE5VTEw7CisgICAgICAgIHJldHVybiByOworfQorCitjaGFyICpzdHJ2X2pvaW4oY2hhciAqKmwsIGNvbnN0IGNoYXIgKnNlcGFyYXRvcikgeworICAgICAgICBjaGFyICpyLCAqZTsKKyAgICAgICAgY2hhciAqKnM7CisgICAgICAgIHNpemVfdCBuLCBrOworCisgICAgICAgIGlmICghc2VwYXJhdG9yKQorICAgICAgICAgICAgICAgIHNlcGFyYXRvciA9ICIgIjsKKworICAgICAgICBrID0gc3RybGVuKHNlcGFyYXRvcik7CisKKyAgICAgICAgbiA9IDA7CisgICAgICAgIFNUUlZfRk9SRUFDSChzLCBsKSB7CisgICAgICAgICAgICAgICAgaWYgKG4gIT0gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIG4gKz0gazsKKyAgICAgICAgICAgICAgICBuICs9IHN0cmxlbigqcyk7CisgICAgICAgIH0KKworICAgICAgICByID0gbWFsbG9jKG4gKyAxKTsKKyAgICAgICAgaWYgKCFyKQorICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworCisgICAgICAgIGUgPSByOworICAgICAgICBTVFJWX0ZPUkVBQ0gocywgbCkgeworICAgICAgICAgICAgICAgIGlmIChlICE9IHIpCisgICAgICAgICAgICAgICAgICAgICAgICBlID0gc3RwY3B5KGUsIHNlcGFyYXRvcik7CisKKyAgICAgICAgICAgICAgICBlID0gc3RwY3B5KGUsICpzKTsKKyAgICAgICAgfQorCisgICAgICAgICplID0gMDsKKworICAgICAgICByZXR1cm4gcjsKK30KKworaW50IHN0cnZfcHVzaChjaGFyICoqKmwsIGNoYXIgKnZhbHVlKSB7CisgICAgICAgIGNoYXIgKipjOworICAgICAgICB1bnNpZ25lZCBuLCBtOworCisgICAgICAgIGlmICghdmFsdWUpCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisKKyAgICAgICAgbiA9IHN0cnZfbGVuZ3RoKCpsKTsKKworICAgICAgICAvKiBJbmNyZWFzZSBhbmQgY2hlY2sgZm9yIG92ZXJmbG93ICovCisgICAgICAgIG0gPSBuICsgMjsKKyAgICAgICAgaWYgKG0gPCBuKQorICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOworCisgICAgICAgIGMgPSByZWFsbG9jKCpsLCBzaXplb2YoY2hhciAqKSAqIG0pOworICAgICAgICBpZiAoIWMpCisgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07CisKKyAgICAgICAgY1tuXSA9IHZhbHVlOworICAgICAgICBjW24rMV0gPSBOVUxMOworCisgICAgICAgICpsID0gYzsKKyAgICAgICAgcmV0dXJuIDA7Cit9CisKK2ludCBzdHJ2X3B1c2hfcHJlcGVuZChjaGFyICoqKmwsIGNoYXIgKnZhbHVlKSB7CisgICAgICAgIGNoYXIgKipjOworICAgICAgICB1bnNpZ25lZCBuLCBtLCBpOworCisgICAgICAgIGlmICghdmFsdWUpCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisKKyAgICAgICAgbiA9IHN0cnZfbGVuZ3RoKCpsKTsKKworICAgICAgICAvKiBpbmNyZWFzZSBhbmQgY2hlY2sgZm9yIG92ZXJmbG93ICovCisgICAgICAgIG0gPSBuICsgMjsKKyAgICAgICAgaWYgKG0gPCBuKQorICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOworCisgICAgICAgIGMgPSBtYWxsb2Moc2l6ZW9mKGNoYXIgKikgKiBtKTsKKyAgICAgICAgaWYgKCFjKQorICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOworCisgICAgICAgIGZvciAoaSA9IDA7IGkgPCBuOyBpKyspCisgICAgICAgICAgICAgICAgY1tpKzFdID0gKCpsKVtpXTsKKworICAgICAgICBjWzBdID0gdmFsdWU7CisgICAgICAgIGNbbisxXSA9IE5VTEw7CisKKyAgICAgICAgZnJlZSgqbCk7CisgICAgICAgICpsID0gYzsKKworICAgICAgICByZXR1cm4gMDsKK30KKworaW50IHN0cnZfY29uc3VtZShjaGFyICoqKmwsIGNoYXIgKnZhbHVlKSB7CisgICAgICAgIGludCByOworCisgICAgICAgIHIgPSBzdHJ2X3B1c2gobCwgdmFsdWUpOworICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgZnJlZSh2YWx1ZSk7CisKKyAgICAgICAgcmV0dXJuIHI7Cit9CisKK2ludCBzdHJ2X2NvbnN1bWVfcHJlcGVuZChjaGFyICoqKmwsIGNoYXIgKnZhbHVlKSB7CisgICAgICAgIGludCByOworCisgICAgICAgIHIgPSBzdHJ2X3B1c2hfcHJlcGVuZChsLCB2YWx1ZSk7CisgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICBmcmVlKHZhbHVlKTsKKworICAgICAgICByZXR1cm4gcjsKK30KKworaW50IHN0cnZfZXh0ZW5kKGNoYXIgKioqbCwgY29uc3QgY2hhciAqdmFsdWUpIHsKKyAgICAgICAgY2hhciAqdjsKKworICAgICAgICBpZiAoIXZhbHVlKQorICAgICAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgIHYgPSBzdHJkdXAodmFsdWUpOworICAgICAgICBpZiAoIXYpCisgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07CisKKyAgICAgICAgcmV0dXJuIHN0cnZfY29uc3VtZShsLCB2KTsKK30KKworY2hhciAqKnN0cnZfcmVtb3ZlKGNoYXIgKipsLCBjb25zdCBjaGFyICpzKSB7CisgICAgICAgIGNoYXIgKipmLCAqKnQ7CisKKyAgICAgICAgaWYgKCFsKQorICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworCisgICAgICAgIGFzc2VydChzKTsKKworICAgICAgICAvKiBEcm9wcyBldmVyeSBvY2N1cnJlbmNlIG9mIHMgaW4gdGhlIHN0cmluZyBsaXN0LCBlZGl0cworICAgICAgICAgKiBpbi1wbGFjZS4gKi8KKworICAgICAgICBmb3IgKGYgPSB0ID0gbDsgKmY7IGYrKykKKyAgICAgICAgICAgICAgICBpZiAoc3RyY21wKCpmLCBzKSA9PSAwKQorICAgICAgICAgICAgICAgICAgICAgICAgZnJlZSgqZik7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgKih0KyspID0gKmY7CisKKyAgICAgICAgKnQgPSBOVUxMOworICAgICAgICByZXR1cm4gbDsKK30KKworaW50IHN0cnZfZXh0ZW5kZihjaGFyICoqKmwsIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKSB7CisgICAgICAgIHZhX2xpc3QgYXA7CisgICAgICAgIGNoYXIgKng7CisgICAgICAgIGludCByOworCisgICAgICAgIHZhX3N0YXJ0KGFwLCBmb3JtYXQpOworICAgICAgICByID0gdmFzcHJpbnRmKCZ4LCBmb3JtYXQsIGFwKTsKKyAgICAgICAgdmFfZW5kKGFwKTsKKworICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07CisKKyAgICAgICAgcmV0dXJuIHN0cnZfY29uc3VtZShsLCB4KTsKK30KKworaW50IHN0cnZfZXh0ZW5kdihjaGFyICoqKmwsIGNvbnN0IGNoYXIgKmZvcm1hdCwgdmFfbGlzdCBhcCkgeworICAgICAgICBjaGFyICp4OworICAgICAgICBpbnQgcjsKKworICAgICAgICByID0gdmFzcHJpbnRmKCZ4LCBmb3JtYXQsIGFwKTsKKyAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOworCisgICAgICAgIHJldHVybiBzdHJ2X2NvbnN1bWUobCwgeCk7Cit9CisKK2NoYXIgKipzdHJ2X3JldmVyc2UoY2hhciAqKmwpIHsKKyAgICAgICAgdW5zaWduZWQgbiwgaTsKKworICAgICAgICBuID0gc3Rydl9sZW5ndGgobCk7CisgICAgICAgIGlmIChuIDw9IDEpCisgICAgICAgICAgICAgICAgcmV0dXJuIGw7CisKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IG4gLyAyOyBpKyspIHsKKyAgICAgICAgICAgICAgICBjaGFyICp0OworCisgICAgICAgICAgICAgICAgdCA9IGxbaV07CisgICAgICAgICAgICAgICAgbFtpXSA9IGxbbi0xLWldOworICAgICAgICAgICAgICAgIGxbbi0xLWldID0gdDsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBsOworfQpkaWZmIC0tZ2l0IGEvbGliL3N3YXBwcm9iZXIuYyBiL2xpYi9zd2FwcHJvYmVyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWE0YjExMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9zd2FwcHJvYmVyLmMKQEAgLTAsMCArMSw0OSBAQAorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm5scy5oIgorCisjaW5jbHVkZSAic3dhcGhlYWRlci5oIgorI2luY2x1ZGUgInN3YXBwcm9iZXIuaCIKKworYmxraWRfcHJvYmUgZ2V0X3N3YXBfcHJvYmVyKGNvbnN0IGNoYXIgKmRldm5hbWUpCit7CisJYmxraWRfcHJvYmUgcHI7CisJaW50IHJjOworCWNvbnN0IGNoYXIgKnZlcnNpb24gPSBOVUxMOworCWNoYXIgKnN3YXBfZmlsdGVyW10gPSB7ICJzd2FwIiwgTlVMTCB9OworCisJcHIgPSBibGtpZF9uZXdfcHJvYmVfZnJvbV9maWxlbmFtZShkZXZuYW1lKTsKKwlpZiAoIXByKSB7CisJCXdhcm4oXygiJXM6IHVuYWJsZSB0byBwcm9iZSBkZXZpY2UiKSwgZGV2bmFtZSk7CisJCXJldHVybiBOVUxMOworCX0KKworCWJsa2lkX3Byb2JlX2VuYWJsZV9zdXBlcmJsb2NrcyhwciwgVFJVRSk7CisJYmxraWRfcHJvYmVfc2V0X3N1cGVyYmxvY2tzX2ZsYWdzKHByLAorCQkJQkxLSURfU1VCTEtTX0xBQkVMIHwgQkxLSURfU1VCTEtTX1VVSUQgfAorCQkJQkxLSURfU1VCTEtTX1ZFUlNJT04pOworCisJYmxraWRfcHJvYmVfZmlsdGVyX3N1cGVyYmxvY2tzX3R5cGUocHIsIEJMS0lEX0ZMVFJfT05MWUlOLCBzd2FwX2ZpbHRlcik7CisKKwlyYyA9IGJsa2lkX2RvX3NhZmVwcm9iZShwcik7CisJaWYgKHJjID09IC0xKQorCQl3YXJuKF8oIiVzOiB1bmFibGUgdG8gcHJvYmUgZGV2aWNlIiksIGRldm5hbWUpOworCWVsc2UgaWYgKHJjID09IC0yKQorCQl3YXJueChfKCIlczogYW1iaWd1b3VzIHByb2JpbmcgcmVzdWx0OyB1c2Ugd2lwZWZzKDgpIiksIGRldm5hbWUpOworCWVsc2UgaWYgKHJjID09IDEpCisJCXdhcm54KF8oIiVzOiBub3QgYSB2YWxpZCBzd2FwIHBhcnRpdGlvbiIpLCBkZXZuYW1lKTsKKworCWlmIChyYyA9PSAwKSB7CisJCS8qIE9ubHkgdGhlIFNXQVBTUEFDRTIgaXMgc3VwcG9ydGVkLiAqLworCQlpZiAoYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlKHByLCAiVkVSU0lPTiIsICZ2ZXJzaW9uLCBOVUxMKSA9PSAwCisJCSAgICAmJiB2ZXJzaW9uCisJCSAgICAmJiBzdHJjbXAodmVyc2lvbiwgc3RyaW5naWZ5X3ZhbHVlKFNXQVBfVkVSU0lPTikpKQorCQkJd2FybngoXygiJXM6IHVuc3VwcG9ydGVkIHN3YXAgdmVyc2lvbiAnJXMnIiksCisJCQkJCQlkZXZuYW1lLCB2ZXJzaW9uKTsKKwkJZWxzZQorCQkJcmV0dXJuIHByOworCX0KKworCWJsa2lkX2ZyZWVfcHJvYmUocHIpOworCXJldHVybiBOVUxMOworfQpkaWZmIC0tZ2l0IGEvbGliL3N5c2ZzLmMgYi9saWIvc3lzZnMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTI0NDZjCi0tLSAvZGV2L251bGwKKysrIGIvbGliL3N5c2ZzLmMKQEAgLTAsMCArMSwxMTAwIEBACisvKgorICogTm8gY29weXJpZ2h0IGlzIGNsYWltZWQuICBUaGlzIGNvZGUgaXMgaW4gdGhlIHB1YmxpYyBkb21haW47IGRvIHdpdGgKKyAqIGl0IHdoYXQgeW91IHdpc2guCisgKgorICogV3JpdHRlbiBieSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqLworI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8bGliZ2VuLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgInN5c2ZzLmgiCisjaW5jbHVkZSAiZmlsZXV0aWxzLmgiCisjaW5jbHVkZSAiYWxsLWlvLmgiCisKK2NoYXIgKnN5c2ZzX2Rldm5vX2F0dHJpYnV0ZV9wYXRoKGRldl90IGRldm5vLCBjaGFyICpidWYsCisJCQkJIHNpemVfdCBidWZzaXosIGNvbnN0IGNoYXIgKmF0dHIpCit7CisJaW50IGxlbjsKKworCWlmIChhdHRyKQorCQlsZW4gPSBzbnByaW50ZihidWYsIGJ1ZnNpeiwgX1BBVEhfU1lTX0RFVkJMT0NLICIvJWQ6JWQvJXMiLAorCQkJbWFqb3IoZGV2bm8pLCBtaW5vcihkZXZubyksIGF0dHIpOworCWVsc2UKKwkJbGVuID0gc25wcmludGYoYnVmLCBidWZzaXosIF9QQVRIX1NZU19ERVZCTE9DSyAiLyVkOiVkIiwKKwkJCW1ham9yKGRldm5vKSwgbWlub3IoZGV2bm8pKTsKKworCXJldHVybiAobGVuIDwgMCB8fCAoc2l6ZV90KSBsZW4gPj0gYnVmc2l6KSA/IE5VTEwgOiBidWY7Cit9CisKK2ludCBzeXNmc19kZXZub19oYXNfYXR0cmlidXRlKGRldl90IGRldm5vLCBjb25zdCBjaGFyICphdHRyKQoreworCWNoYXIgcGF0aFtQQVRIX01BWF07CisJc3RydWN0IHN0YXQgaW5mbzsKKworCWlmICghc3lzZnNfZGV2bm9fYXR0cmlidXRlX3BhdGgoZGV2bm8sIHBhdGgsIHNpemVvZihwYXRoKSwgYXR0cikpCisJCXJldHVybiAwOworCWlmIChzdGF0KHBhdGgsICZpbmZvKSA9PSAwKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworY2hhciAqc3lzZnNfZGV2bm9fcGF0aChkZXZfdCBkZXZubywgY2hhciAqYnVmLCBzaXplX3QgYnVmc2l6KQoreworCXJldHVybiBzeXNmc19kZXZub19hdHRyaWJ1dGVfcGF0aChkZXZubywgYnVmLCBidWZzaXosIE5VTEwpOworfQorCitkZXZfdCBzeXNmc19kZXZuYW1lX3RvX2Rldm5vKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnBhcmVudCkKK3sKKwljaGFyIGJ1ZltQQVRIX01BWF0sICpwYXRoID0gTlVMTDsKKwlkZXZfdCBkZXYgPSAwOworCisJaWYgKHN0cm5jbXAoIi9kZXYvIiwgbmFtZSwgNSkgPT0gMCkgeworCQkvKgorCQkgKiBSZWFkIGZyb20gL2RldgorCQkgKi8KKwkJc3RydWN0IHN0YXQgc3Q7CisKKwkJaWYgKHN0YXQobmFtZSwgJnN0KSA9PSAwKQorCQkJZGV2ID0gc3Quc3RfcmRldjsKKwkJZWxzZQorCQkJbmFtZSArPSA1OwkvKiB1bmFjY2VzaWJsZSwgb3Igbm90IG5vZGUgaW4gL2RldiAqLworCX0KKworCWlmICghZGV2ICYmIHBhcmVudCAmJiBzdHJuY21wKCJkbS0iLCBuYW1lLCAzKSkgeworCQkvKgorCQkgKiBDcmVhdGUgcGF0aCB0byAvc3lzL2Jsb2NrLzxwYXJlbnQ+LzxuYW1lPi9kZXYKKwkJICovCisJCWNoYXIgKl9uYW1lID0gc3RyZHVwKG5hbWUpLCAqX3BhcmVudCA9IHN0cmR1cChwYXJlbnQpOworCQlpbnQgbGVuOworCisJCWlmICghX25hbWUgfHwgIV9wYXJlbnQpIHsKKwkJCWZyZWUoX25hbWUpOworCQkJZnJlZShfcGFyZW50KTsKKwkJCXJldHVybiAwOworCQl9CisJCXN5c2ZzX2Rldm5hbWVfZGV2X3RvX3N5cyhfbmFtZSk7CisJCXN5c2ZzX2Rldm5hbWVfZGV2X3RvX3N5cyhfcGFyZW50KTsKKworCQlsZW4gPSBzbnByaW50ZihidWYsIHNpemVvZihidWYpLAorCQkJCV9QQVRIX1NZU19CTE9DSyAiLyVzLyVzL2RldiIsIF9wYXJlbnQsIF9uYW1lKTsKKwkJZnJlZShfbmFtZSk7CisJCWZyZWUoX3BhcmVudCk7CisJCWlmIChsZW4gPCAwIHx8IChzaXplX3QpIGxlbiA+PSBzaXplb2YoYnVmKSkKKwkJCXJldHVybiAwOworCQlwYXRoID0gYnVmOworCisJfSBlbHNlIGlmICghZGV2KSB7CisJCS8qCisJCSAqIENyZWF0ZSBwYXRoIHRvIC9zeXMvYmxvY2svPHN5c25hbWU+L2RldgorCQkgKi8KKwkJY2hhciAqX25hbWUgPSBzdHJkdXAobmFtZSk7CisJCWludCBsZW47CisKKwkJaWYgKCFfbmFtZSkKKwkJCXJldHVybiAwOworCisJCXN5c2ZzX2Rldm5hbWVfZGV2X3RvX3N5cyhfbmFtZSk7CisJCWxlbiA9IHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksCisJCQkJX1BBVEhfU1lTX0JMT0NLICIvJXMvZGV2IiwgX25hbWUpOworCQlmcmVlKF9uYW1lKTsKKwkJaWYgKGxlbiA8IDAgfHwgKHNpemVfdCkgbGVuID49IHNpemVvZihidWYpKQorCQkJcmV0dXJuIDA7CisJCXBhdGggPSBidWY7CisJfQorCisJaWYgKHBhdGgpIHsKKwkJLyoKKwkJICogcmVhZCBkZXZubyBmcm9tIHN5c2ZzCisJCSAqLworCQlGSUxFICpmOworCQlpbnQgbWFqID0gMCwgbWluID0gMDsKKworCQlmID0gZm9wZW4ocGF0aCwgInIiIFVMX0NMT0VYRUNTVFIpOworCQlpZiAoIWYpCisJCQlyZXR1cm4gMDsKKworCQlpZiAoZnNjYW5mKGYsICIlZDolZCIsICZtYWosICZtaW4pID09IDIpCisJCQlkZXYgPSBtYWtlZGV2KG1haiwgbWluKTsKKwkJZmNsb3NlKGYpOworCX0KKwlyZXR1cm4gZGV2OworfQorCisvKgorICogUmV0dXJucyBkZXZuYW1lIChlLmcuICIvZGV2L3NkYTEiKSBmb3IgdGhlIGdpdmVuIGRldm5vLgorICoKKyAqIFBsZWFzZSwgdXNlIG1vcmUgcm9idXN0IGJsa2lkX2Rldm5vX3RvX2Rldm5hbWUoKSBpbiB5b3VyIGFwcGxpY2F0aW9ucy4KKyAqLworY2hhciAqc3lzZnNfZGV2bm9fdG9fZGV2cGF0aChkZXZfdCBkZXZubywgY2hhciAqYnVmLCBzaXplX3QgYnVmc2l6KQoreworCXN0cnVjdCBzeXNmc19jeHQgY3h0OworCWNoYXIgKm5hbWU7CisJc2l6ZV90IHN6OworCXN0cnVjdCBzdGF0IHN0OworCisJaWYgKHN5c2ZzX2luaXQoJmN4dCwgZGV2bm8sIE5VTEwpKQorCQlyZXR1cm4gTlVMTDsKKworCW5hbWUgPSBzeXNmc19nZXRfZGV2bmFtZSgmY3h0LCBidWYsIGJ1ZnNpeik7CisJc3lzZnNfZGVpbml0KCZjeHQpOworCisJaWYgKCFuYW1lKQorCQlyZXR1cm4gTlVMTDsKKworCXN6ID0gc3RybGVuKG5hbWUpOworCisJaWYgKHN6ICsgc2l6ZW9mKCIvZGV2LyIpID4gYnVmc2l6KQorCQlyZXR1cm4gTlVMTDsKKworCS8qIGNyZWF0ZSB0aGUgZmluYWwgIi9kZXYvPG5hbWU+IiBzdHJpbmcgKi8KKwltZW1tb3ZlKGJ1ZiArIDUsIG5hbWUsIHN6ICsgMSk7CisJbWVtY3B5KGJ1ZiwgIi9kZXYvIiwgNSk7CisKKwlpZiAoIXN0YXQoYnVmLCAmc3QpICYmIFNfSVNCTEsoc3Quc3RfbW9kZSkgJiYgc3Quc3RfcmRldiA9PSBkZXZubykKKwkJcmV0dXJuIGJ1ZjsKKworCXJldHVybiBOVUxMOworfQorCitpbnQgc3lzZnNfaW5pdChzdHJ1Y3Qgc3lzZnNfY3h0ICpjeHQsIGRldl90IGRldm5vLCBzdHJ1Y3Qgc3lzZnNfY3h0ICpwYXJlbnQpCit7CisJY2hhciBwYXRoW1BBVEhfTUFYXTsKKwlpbnQgZmQsIHJjOworCisJbWVtc2V0KGN4dCwgMCwgc2l6ZW9mKCpjeHQpKTsKKwljeHQtPmRpcl9mZCA9IC0xOworCisJaWYgKCFzeXNmc19kZXZub19wYXRoKGRldm5vLCBwYXRoLCBzaXplb2YocGF0aCkpKQorCQlnb3RvIGVycjsKKworCWZkID0gb3BlbihwYXRoLCBPX1JET05MWXxPX0NMT0VYRUMpOworCWlmIChmZCA8IDApCisJCWdvdG8gZXJyOworCWN4dC0+ZGlyX2ZkID0gZmQ7CisKKwljeHQtPmRpcl9wYXRoID0gc3RyZHVwKHBhdGgpOworCWlmICghY3h0LT5kaXJfcGF0aCkKKwkJZ290byBlcnI7CisJY3h0LT5kZXZubyA9IGRldm5vOworCWN4dC0+cGFyZW50ID0gcGFyZW50OworCXJldHVybiAwOworZXJyOgorCXJjID0gZXJybm8gPiAwID8gLWVycm5vIDogLTE7CisJc3lzZnNfZGVpbml0KGN4dCk7CisJcmV0dXJuIHJjOworfQorCit2b2lkIHN5c2ZzX2RlaW5pdChzdHJ1Y3Qgc3lzZnNfY3h0ICpjeHQpCit7CisJaWYgKCFjeHQpCisJCXJldHVybjsKKworCWlmIChjeHQtPmRpcl9mZCA+PSAwKQorCSAgICAgICBjbG9zZShjeHQtPmRpcl9mZCk7CisJZnJlZShjeHQtPmRpcl9wYXRoKTsKKworCW1lbXNldChjeHQsIDAsIHNpemVvZigqY3h0KSk7CisKKwljeHQtPmRpcl9mZCA9IC0xOworfQorCitpbnQgc3lzZnNfc3RhdChzdHJ1Y3Qgc3lzZnNfY3h0ICpjeHQsIGNvbnN0IGNoYXIgKmF0dHIsIHN0cnVjdCBzdGF0ICpzdCkKK3sKKwlpbnQgcmMgPSBmc3RhdGF0KGN4dC0+ZGlyX2ZkLCBhdHRyLCBzdCwgMCk7CisKKwlpZiAocmMgIT0gMCAmJiBlcnJubyA9PSBFTk9FTlQgJiYKKwkgICAgc3RybmNtcChhdHRyLCAicXVldWUvIiwgNikgPT0gMCAmJiBjeHQtPnBhcmVudCkgeworCisJCS8qIEV4Y2VwdGlvbiBmb3IgInF1ZXVlLzxhdHRyPiIuIFRoZXNlIGF0dHJpYnV0ZXMgYXJlIGF2YWlsYWJsZQorCQkgKiBmb3IgcGFyZW50YWwgZGV2aWNlcyBvbmx5CisJCSAqLworCQlyZXR1cm4gZnN0YXRhdChjeHQtPnBhcmVudC0+ZGlyX2ZkLCBhdHRyLCBzdCwgMCk7CisJfQorCXJldHVybiByYzsKK30KKworaW50IHN5c2ZzX2hhc19hdHRyaWJ1dGUoc3RydWN0IHN5c2ZzX2N4dCAqY3h0LCBjb25zdCBjaGFyICphdHRyKQoreworCXN0cnVjdCBzdGF0IHN0OworCisJcmV0dXJuIHN5c2ZzX3N0YXQoY3h0LCBhdHRyLCAmc3QpID09IDA7Cit9CisKK3N0YXRpYyBpbnQgc3lzZnNfb3BlbihzdHJ1Y3Qgc3lzZnNfY3h0ICpjeHQsIGNvbnN0IGNoYXIgKmF0dHIsIGludCBmbGFncykKK3sKKwlpbnQgZmQgPSBvcGVuYXQoY3h0LT5kaXJfZmQsIGF0dHIsIGZsYWdzKTsKKworCWlmIChmZCA9PSAtMSAmJiBlcnJubyA9PSBFTk9FTlQgJiYKKwkgICAgc3RybmNtcChhdHRyLCAicXVldWUvIiwgNikgPT0gMCAmJiBjeHQtPnBhcmVudCkgeworCisJCS8qIEV4Y2VwdGlvbiBmb3IgInF1ZXVlLzxhdHRyPiIuIFRoZXNlIGF0dHJpYnV0ZXMgYXJlIGF2YWlsYWJsZQorCQkgKiBmb3IgcGFyZW50YWwgZGV2aWNlcyBvbmx5CisJCSAqLworCQlmZCA9IG9wZW5hdChjeHQtPnBhcmVudC0+ZGlyX2ZkLCBhdHRyLCBmbGFncyk7CisJfQorCXJldHVybiBmZDsKK30KKworc3NpemVfdCBzeXNmc19yZWFkbGluayhzdHJ1Y3Qgc3lzZnNfY3h0ICpjeHQsIGNvbnN0IGNoYXIgKmF0dHIsCisJCSAgIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnNpeikKK3sKKwlpZiAoIWN4dC0+ZGlyX3BhdGgpCisJCXJldHVybiAtMTsKKworCWlmIChhdHRyKQorCQlyZXR1cm4gcmVhZGxpbmthdChjeHQtPmRpcl9mZCwgYXR0ciwgYnVmLCBidWZzaXopOworCisJLyogcmVhZCAvc3lzL2Rldi9ibG9jay88bWFqOm1pbj4gbGluayAqLworCXJldHVybiByZWFkbGluayhjeHQtPmRpcl9wYXRoLCBidWYsIGJ1ZnNpeik7Cit9CisKK0RJUiAqc3lzZnNfb3BlbmRpcihzdHJ1Y3Qgc3lzZnNfY3h0ICpjeHQsIGNvbnN0IGNoYXIgKmF0dHIpCit7CisJRElSICpkaXI7CisJaW50IGZkID0gLTE7CisKKwlpZiAoYXR0cikKKwkJZmQgPSBzeXNmc19vcGVuKGN4dCwgYXR0ciwgT19SRE9OTFl8T19DTE9FWEVDKTsKKworCWVsc2UgaWYgKGN4dC0+ZGlyX2ZkID49IDApCisJCS8qIHJlcXVlc3QgdG8gb3BlbiByb290IG9mIGRldmljZSBpbiBzeXNmcyAoL3N5cy9ibG9jay88ZGV2PikKKwkJICogLS0gd2UgY2Fubm90IHVzZSBjeHQtPnN5c2ZzX2ZkIGRpcmVjdGx5LCBiZWNhdXNlIGNsb3NlZGlyKCkKKwkJICogd2lsbCBjbG9zZSB0aGlzIG91ciBwZXJzaXN0ZW50IGZpbGUgZGVzY3JpcHRvci4KKwkJICovCisJCWZkID0gZHVwX2ZkX2Nsb2V4ZWMoY3h0LT5kaXJfZmQsIFNUREVSUl9GSUxFTk8gKyAxKTsKKworCWlmIChmZCA8IDApCisJCXJldHVybiBOVUxMOworCisJZGlyID0gZmRvcGVuZGlyKGZkKTsKKwlpZiAoIWRpcikgeworCQljbG9zZShmZCk7CisJCXJldHVybiBOVUxMOworCX0KKwlpZiAoIWF0dHIpCisJCSByZXdpbmRkaXIoZGlyKTsKKwlyZXR1cm4gZGlyOworfQorCisKK3N0YXRpYyBGSUxFICpzeXNmc19mb3BlbihzdHJ1Y3Qgc3lzZnNfY3h0ICpjeHQsIGNvbnN0IGNoYXIgKmF0dHIpCit7CisJaW50IGZkID0gc3lzZnNfb3BlbihjeHQsIGF0dHIsIE9fUkRPTkxZfE9fQ0xPRVhFQyk7CisKKwlyZXR1cm4gZmQgPCAwID8gTlVMTCA6IGZkb3BlbihmZCwgInIiIFVMX0NMT0VYRUNTVFIpOworfQorCisKK3N0YXRpYyBzdHJ1Y3QgZGlyZW50ICp4cmVhZGRpcihESVIgKmRwKQoreworCXN0cnVjdCBkaXJlbnQgKmQ7CisKKwl3aGlsZSAoKGQgPSByZWFkZGlyKGRwKSkpIHsKKwkJaWYgKCFzdHJjbXAoZC0+ZF9uYW1lLCAiLiIpIHx8CisJCSAgICAhc3RyY21wKGQtPmRfbmFtZSwgIi4uIikpCisJCQljb250aW51ZTsKKworCQkvKiBibGFja2xpc3QgaGVyZT8gKi8KKwkJYnJlYWs7CisJfQorCXJldHVybiBkOworfQorCitpbnQgc3lzZnNfaXNfcGFydGl0aW9uX2RpcmVudChESVIgKmRpciwgc3RydWN0IGRpcmVudCAqZCwgY29uc3QgY2hhciAqcGFyZW50X25hbWUpCit7CisJY2hhciBwYXRoWzI1Nl07CisKKyNpZmRlZiBfRElSRU5UX0hBVkVfRF9UWVBFCisJaWYgKGQtPmRfdHlwZSAhPSBEVF9ESVIgJiYKKwkgICAgZC0+ZF90eXBlICE9IERUX0xOSyAmJgorCSAgICBkLT5kX3R5cGUgIT0gRFRfVU5LTk9XTikKKwkJcmV0dXJuIDA7CisjZW5kaWYKKwlpZiAocGFyZW50X25hbWUpIHsKKwkJY29uc3QgY2hhciAqcCA9IHBhcmVudF9uYW1lOworCQlzaXplX3QgbGVuOworCisJCS8qIC9kZXYvc2RhIC0tPiAic2RhIiAqLworCQlpZiAoKnBhcmVudF9uYW1lID09ICcvJykgeworCQkJcCA9IHN0cnJjaHIocGFyZW50X25hbWUsICcvJyk7CisJCQlpZiAoIXApCisJCQkJcmV0dXJuIDA7CisJCQlwKys7CisJCX0KKworCQlsZW4gPSBzdHJsZW4ocCk7CisJCWlmIChzdHJsZW4oZC0+ZF9uYW1lKSA8PSBsZW4pCisJCQlyZXR1cm4gMDsKKworCQkvKiBwYXJ0aXRpb25zIHN1YmRpciBuYW1lIGlzCisJCSAqCSI8cGFyZW50Pls6ZGlnaXQ6XSIgb3IgIjxwYXJlbnQ+cFs6ZGlnaXQ6XSIKKwkJICovCisJCXJldHVybiBzdHJuY21wKHAsIGQtPmRfbmFtZSwgbGVuKSA9PSAwICYmCisJCSAgICAgICAoKCooZC0+ZF9uYW1lICsgbGVuKSA9PSAncCcgJiYgaXNkaWdpdCgqKGQtPmRfbmFtZSArIGxlbiArIDEpKSkKKwkJCXx8IGlzZGlnaXQoKihkLT5kX25hbWUgKyBsZW4pKSk7CisJfQorCisJLyogQ2Fubm90IHVzZSAvcGFydGl0aW9uIGZpbGUsIG5vdCBzdXBwb3J0ZWQgb24gb2xkIHN5c2ZzICovCisJc25wcmludGYocGF0aCwgc2l6ZW9mKHBhdGgpLCAiJXMvc3RhcnQiLCBkLT5kX25hbWUpOworCisJcmV0dXJuIGZhY2Nlc3NhdChkaXJmZChkaXIpLCBwYXRoLCBSX09LLCAwKSA9PSAwOworfQorCisvKgorICogQ29udmVydHMgQHBhcnRubyAocGFydGl0aW9uIG51bWJlcikgdG8gZGV2bm8gb2YgdGhlIHBhcnRpdGlvbi4KKyAqIFRoZSBAY3h0IGhhbmRsZXMgd2hvbGVkaXNrIGRldmljZS4KKyAqCisgKiBOb3RlIHRoYXQgdGhpcyBjb2RlIGRvZXMgbm90IGV4cGVjdCBhbnkgc3BlY2lhbCBmb3JtYXQgb2YgdGhlCisgKiBwYXJ0aXRpb25zIGRldm5hbWVzLgorICovCitkZXZfdCBzeXNmc19wYXJ0bm9fdG9fZGV2bm8oc3RydWN0IHN5c2ZzX2N4dCAqY3h0LCBpbnQgcGFydG5vKQoreworCURJUiAqZGlyOworCXN0cnVjdCBkaXJlbnQgKmQ7CisJY2hhciBwYXRoWzI1Nl07CisJZGV2X3QgZGV2bm8gPSAwOworCisJZGlyID0gc3lzZnNfb3BlbmRpcihjeHQsIE5VTEwpOworCWlmICghZGlyKQorCQlyZXR1cm4gMDsKKworCXdoaWxlICgoZCA9IHhyZWFkZGlyKGRpcikpKSB7CisJCWludCBuLCBtYWosIG1pbjsKKworCQlpZiAoIXN5c2ZzX2lzX3BhcnRpdGlvbl9kaXJlbnQoZGlyLCBkLCBOVUxMKSkKKwkJCWNvbnRpbnVlOworCisJCXNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwgIiVzL3BhcnRpdGlvbiIsIGQtPmRfbmFtZSk7CisJCWlmIChzeXNmc19yZWFkX2ludChjeHQsIHBhdGgsICZuKSkKKwkJCWNvbnRpbnVlOworCisJCWlmIChuID09IHBhcnRubykgeworCQkJc25wcmludGYocGF0aCwgc2l6ZW9mKHBhdGgpLCAiJXMvZGV2IiwgZC0+ZF9uYW1lKTsKKwkJCWlmIChzeXNmc19zY2FuZihjeHQsIHBhdGgsICIlZDolZCIsICZtYWosICZtaW4pID09IDIpCisJCQkJZGV2bm8gPSBtYWtlZGV2KG1haiwgbWluKTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJY2xvc2VkaXIoZGlyKTsKKwlyZXR1cm4gZGV2bm87Cit9CisKKworaW50IHN5c2ZzX3NjYW5mKHN0cnVjdCBzeXNmc19jeHQgKmN4dCwgIGNvbnN0IGNoYXIgKmF0dHIsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworCUZJTEUgKmYgPSBzeXNmc19mb3BlbihjeHQsIGF0dHIpOworCXZhX2xpc3QgYXA7CisJaW50IHJjOworCisJaWYgKCFmKQorCQlyZXR1cm4gLUVJTlZBTDsKKwl2YV9zdGFydChhcCwgZm10KTsKKwlyYyA9IHZmc2NhbmYoZiwgZm10LCBhcCk7CisJdmFfZW5kKGFwKTsKKworCWZjbG9zZShmKTsKKwlyZXR1cm4gcmM7Cit9CisKKworaW50IHN5c2ZzX3JlYWRfczY0KHN0cnVjdCBzeXNmc19jeHQgKmN4dCwgY29uc3QgY2hhciAqYXR0ciwgaW50NjRfdCAqcmVzKQoreworCWludDY0X3QgeCA9IDA7CisKKwlpZiAoc3lzZnNfc2NhbmYoY3h0LCBhdHRyLCAiJSJTQ05kNjQsICZ4KSA9PSAxKSB7CisJCWlmIChyZXMpCisJCQkqcmVzID0geDsKKwkJcmV0dXJuIDA7CisJfQorCXJldHVybiAtMTsKK30KKworaW50IHN5c2ZzX3JlYWRfdTY0KHN0cnVjdCBzeXNmc19jeHQgKmN4dCwgY29uc3QgY2hhciAqYXR0ciwgdWludDY0X3QgKnJlcykKK3sKKwl1aW50NjRfdCB4ID0gMDsKKworCWlmIChzeXNmc19zY2FuZihjeHQsIGF0dHIsICIlIlNDTnU2NCwgJngpID09IDEpIHsKKwkJaWYgKHJlcykKKwkJCSpyZXMgPSB4OworCQlyZXR1cm4gMDsKKwl9CisJcmV0dXJuIC0xOworfQorCitpbnQgc3lzZnNfcmVhZF9pbnQoc3RydWN0IHN5c2ZzX2N4dCAqY3h0LCBjb25zdCBjaGFyICphdHRyLCBpbnQgKnJlcykKK3sKKwlpbnQgeCA9IDA7CisKKwlpZiAoc3lzZnNfc2NhbmYoY3h0LCBhdHRyLCAiJWQiLCAmeCkgPT0gMSkgeworCQlpZiAocmVzKQorCQkJKnJlcyA9IHg7CisJCXJldHVybiAwOworCX0KKwlyZXR1cm4gLTE7Cit9CisKK2ludCBzeXNmc193cml0ZV9zdHJpbmcoc3RydWN0IHN5c2ZzX2N4dCAqY3h0LCBjb25zdCBjaGFyICphdHRyLCBjb25zdCBjaGFyICpzdHIpCit7CisJaW50IGZkID0gc3lzZnNfb3BlbihjeHQsIGF0dHIsIE9fV1JPTkxZfE9fQ0xPRVhFQyk7CisJaW50IHJjLCBlcnJzdjsKKworCWlmIChmZCA8IDApCisJCXJldHVybiAtZXJybm87CisJcmMgPSB3cml0ZV9hbGwoZmQsIHN0ciwgc3RybGVuKHN0cikpOworCisJZXJyc3YgPSBlcnJubzsKKwljbG9zZShmZCk7CisJZXJybm8gPSBlcnJzdjsKKwlyZXR1cm4gcmM7Cit9CisKK2ludCBzeXNmc193cml0ZV91NjQoc3RydWN0IHN5c2ZzX2N4dCAqY3h0LCBjb25zdCBjaGFyICphdHRyLCB1aW50NjRfdCBudW0pCit7CisJY2hhciBidWZbc2l6ZW9mKHN0cmluZ2lmeV92YWx1ZShVTExPTkdfTUFYKSldOworCWludCBmZCwgcmMgPSAwLCBsZW4sIGVycnN2OworCisJZmQgPSBzeXNmc19vcGVuKGN4dCwgYXR0ciwgT19XUk9OTFl8T19DTE9FWEVDKTsKKwlpZiAoZmQgPCAwKQorCQlyZXR1cm4gLWVycm5vOworCisJbGVuID0gc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiUiIFBSSXU2NCwgbnVtKTsKKwlpZiAobGVuIDwgMCB8fCAoc2l6ZV90KSBsZW4gPj0gc2l6ZW9mKGJ1ZikpCisJCXJjID0gbGVuIDwgMCA/IC1lcnJubyA6IC1FMkJJRzsKKwllbHNlCisJCXJjID0gd3JpdGVfYWxsKGZkLCBidWYsIGxlbik7CisKKwllcnJzdiA9IGVycm5vOworCWNsb3NlKGZkKTsKKwllcnJubyA9IGVycnN2OworCXJldHVybiByYzsKK30KKworY2hhciAqc3lzZnNfc3RyZHVwKHN0cnVjdCBzeXNmc19jeHQgKmN4dCwgY29uc3QgY2hhciAqYXR0cikKK3sKKwljaGFyIGJ1ZltCVUZTSVpdOworCXJldHVybiBzeXNmc19zY2FuZihjeHQsIGF0dHIsICIlMTAyM1teXG5dIiwgYnVmKSA9PSAxID8KKwkJCQkJCXN0cmR1cChidWYpIDogTlVMTDsKK30KKworCitpbnQgc3lzZnNfY291bnRfZGlyZW50cyhzdHJ1Y3Qgc3lzZnNfY3h0ICpjeHQsIGNvbnN0IGNoYXIgKmF0dHIpCit7CisJRElSICpkaXI7CisJaW50IHIgPSAwOworCisJaWYgKCEoZGlyID0gc3lzZnNfb3BlbmRpcihjeHQsIGF0dHIpKSkKKwkJcmV0dXJuIDA7CisKKwl3aGlsZSAoeHJlYWRkaXIoZGlyKSkgcisrOworCisJY2xvc2VkaXIoZGlyKTsKKwlyZXR1cm4gcjsKK30KKworaW50IHN5c2ZzX2NvdW50X3BhcnRpdGlvbnMoc3RydWN0IHN5c2ZzX2N4dCAqY3h0LCBjb25zdCBjaGFyICpkZXZuYW1lKQoreworCURJUiAqZGlyOworCXN0cnVjdCBkaXJlbnQgKmQ7CisJaW50IHIgPSAwOworCisJaWYgKCEoZGlyID0gc3lzZnNfb3BlbmRpcihjeHQsIE5VTEwpKSkKKwkJcmV0dXJuIDA7CisKKwl3aGlsZSAoKGQgPSB4cmVhZGRpcihkaXIpKSkgeworCQlpZiAoc3lzZnNfaXNfcGFydGl0aW9uX2RpcmVudChkaXIsIGQsIGRldm5hbWUpKQorCQkJcisrOworCX0KKworCWNsb3NlZGlyKGRpcik7CisJcmV0dXJuIHI7Cit9CisKKy8qCisgKiBSZXR1cm5zIHNsYXZlIG5hbWUgaWYgdGhlcmUgaXMgb25seSBvbmUgc2xhdmUsIG90aGVyd2lzZSByZXR1cm5zIE5VTEwuCisgKiBUaGUgcmVzdWx0IHNob3VsZCBiZSBkZWFsbG9jYXRlZCBieSBmcmVlKCkuCisgKi8KK2NoYXIgKnN5c2ZzX2dldF9zbGF2ZShzdHJ1Y3Qgc3lzZnNfY3h0ICpjeHQpCit7CisJRElSICpkaXI7CisJc3RydWN0IGRpcmVudCAqZDsKKwljaGFyICpuYW1lID0gTlVMTDsKKworCWlmICghKGRpciA9IHN5c2ZzX29wZW5kaXIoY3h0LCAic2xhdmVzIikpKQorCQlyZXR1cm4gTlVMTDsKKworCXdoaWxlICgoZCA9IHhyZWFkZGlyKGRpcikpKSB7CisJCWlmIChuYW1lKQorCQkJZ290byBlcnI7CS8qIG1vcmUgc2xhdmVzICovCisKKwkJbmFtZSA9IHN0cmR1cChkLT5kX25hbWUpOworCX0KKworCWNsb3NlZGlyKGRpcik7CisJcmV0dXJuIG5hbWU7CitlcnI6CisJZnJlZShuYW1lKTsKKwljbG9zZWRpcihkaXIpOworCXJldHVybiBOVUxMOworfQorCitjaGFyICpzeXNmc19nZXRfZGV2bmFtZShzdHJ1Y3Qgc3lzZnNfY3h0ICpjeHQsIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnNpeikKK3sKKwljaGFyIGxpbmtwYXRoW1BBVEhfTUFYXTsKKwljaGFyICpuYW1lOworCXNzaXplX3QJc3o7CisKKwlzeiA9IHN5c2ZzX3JlYWRsaW5rKGN4dCwgTlVMTCwgbGlua3BhdGgsIHNpemVvZihsaW5rcGF0aCkgLSAxKTsKKwlpZiAoc3ogPCAwKQorCQlyZXR1cm4gTlVMTDsKKwlsaW5rcGF0aFtzel0gPSAnXDAnOworCisJbmFtZSA9IHN0cnJjaHIobGlua3BhdGgsICcvJyk7CisJaWYgKCFuYW1lKQorCQlyZXR1cm4gTlVMTDsKKworCW5hbWUrKzsKKwlzeiA9IHN0cmxlbihuYW1lKTsKKworCWlmICgoc2l6ZV90KSBzeiArIDEgPiBidWZzaXopCisJCXJldHVybiBOVUxMOworCisJbWVtY3B5KGJ1ZiwgbmFtZSwgc3ogKyAxKTsKKwlzeXNmc19kZXZuYW1lX3N5c190b19kZXYoYnVmKTsKKworCXJldHVybiBidWY7Cit9CisKKyNkZWZpbmUgU1VCU1lTVEVNX0xJTktOQU1FCSIvc3Vic3lzdGVtIgorCisvKgorICogRm9yIGV4YW1wbGU6CisgKgorICogY2hhaW46IC9zeXMvZGV2L2Jsb2NrLy4uLy4uL2RldmljZXMvcGNpMDAwMDowMC8wMDAwOjAwOjFhLjAvdXNiMS8xLTEvMS0xLjIvIFwKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgMS0xLjI6MS4wL2hvc3Q2NS90YXJnZXQ2NTowOjAvNjU6MDowOjAvYmxvY2svc2RiCisgKgorICogVGhlIGZ1bmN0aW9uIGNoZWNrIGlmIDxjaGFpbj4vc3Vic3lzdGVtIHN5bWxpbmsgZXhpc3RzLCBpZiB5ZXMgdGhlbiByZXR1cm5zCisgKiBiYXNlbmFtZSBvZiB0aGUgcmVhZGxpbmsgcmVzdWx0LCBhbmQgcmVtb3ZlIHRoZSBsYXN0IHN1YmRpcmVjdG9yeSBmcm9tIHRoZQorICogPGNoYWluPiBwYXRoLgorICovCitzdGF0aWMgY2hhciAqZ2V0X3N1YnN5c3RlbShjaGFyICpjaGFpbiwgY2hhciAqYnVmLCBzaXplX3QgYnVmc3opCit7CisJc2l6ZV90IGxlbjsKKwljaGFyICpwOworCisJaWYgKCFjaGFpbiB8fCAhKmNoYWluKQorCQlyZXR1cm4gTlVMTDsKKworCWxlbiA9IHN0cmxlbihjaGFpbik7CisJaWYgKGxlbiArIHNpemVvZihTVUJTWVNURU1fTElOS05BTUUpID4gUEFUSF9NQVgpCisJCXJldHVybiBOVUxMOworCisJZG8geworCQlzc2l6ZV90IHN6OworCisJCS8qIGFwcGVuZCAiL3N1YnN5c3RlbSIgdG8gdGhlIHBhdGggKi8KKwkJbWVtY3B5KGNoYWluICsgbGVuLCBTVUJTWVNURU1fTElOS05BTUUsIHNpemVvZihTVUJTWVNURU1fTElOS05BTUUpKTsKKworCQkvKiB0cnkgaWYgc3Vic3lzdGVtIHN5bWxpbmsgZXhpc3RzICovCisJCXN6ID0gcmVhZGxpbmsoY2hhaW4sIGJ1ZiwgYnVmc3ogLSAxKTsKKworCQkvKiByZW1vdmUgbGFzdCBzdWJzeXN0ZW0gZnJvbSBjaGFpbiAqLworCQljaGFpbltsZW5dID0gJ1wwJzsKKwkJcCA9IHN0cnJjaHIoY2hhaW4sICcvJyk7CisJCWlmIChwKSB7CisJCQkqcCA9ICdcMCc7CisJCQlsZW4gPSBwIC0gY2hhaW47CisJCX0KKworCQlpZiAoc3ogPiAwKSB7CisJCQkvKiB3ZSBmb3VuZCBzeW1saW5rIHRvIHN1YnN5c3RlbSwgcmV0dXJuIGJhc2VuYW1lICovCisJCQlidWZbc3pdID0gJ1wwJzsKKwkJCXJldHVybiBiYXNlbmFtZShidWYpOworCQl9CisKKwl9IHdoaWxlIChwKTsKKworCXJldHVybiBOVUxMOworfQorCisvKgorICogUmV0dXJucyBjb21wbGV0ZSBwYXRoIHRvIHRoZSBkZXZpY2UsIHRoZSBwYXRjaCBjb250YWlucyBhbGwgYWxsIHN1YnN5c3RlbXMKKyAqIHVzZWQgZm9yIHRoZSBkZXZpY2UuCisgKi8KK2NoYXIgKnN5c2ZzX2dldF9kZXZjaGFpbihzdHJ1Y3Qgc3lzZnNfY3h0ICpjeHQsIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnN6KQoreworCS8qIHJlYWQgL3N5cy9kZXYvYmxvY2svPG1haj46PG1pbj4gc3ltbGluayAqLworCXNzaXplX3Qgc3ogPSBzeXNmc19yZWFkbGluayhjeHQsIE5VTEwsIGJ1ZiwgYnVmc3opOworCWlmIChzeiA8PSAwIHx8IHN6ICsgc2l6ZW9mKF9QQVRIX1NZU19ERVZCTE9DSyAiLyIpID4gYnVmc3opCisJCXJldHVybiBOVUxMOworCisJYnVmW3N6KytdID0gJ1wwJzsKKworCS8qIGNyZWF0ZSBhYnNvbHV0ZSBwYXRjaCBmcm9tIHRoZSBsaW5rICovCisJbWVtbW92ZShidWYgKyBzaXplb2YoX1BBVEhfU1lTX0RFVkJMT0NLICIvIikgLSAxLCBidWYsIHN6KTsKKwltZW1jcHkoYnVmLCBfUEFUSF9TWVNfREVWQkxPQ0sgIi8iLCBzaXplb2YoX1BBVEhfU1lTX0RFVkJMT0NLICIvIikgLSAxKTsKKworCXJldHVybiBidWY7Cit9CisKKy8qCisgKiBUaGUgQHN1YnN5cyByZXR1cm5zIHRoZSBuZXh0IHN1YnN5c3RlbSBpbiB0aGUgY2hhaW4uIEZ1bmN0aW9uIG1vZGlmaWVzCisgKiBAZGV2Y2hhaW4gc3RyaW5nLgorICoKKyAqIFJldHVybnM6IDAgaW4gc3VjY2VzcywgPDAgb24gZXJyb3IsIDEgb24gZW5kIG9mIGNoYWluCisgKi8KK2ludCBzeXNmc19uZXh0X3N1YnN5c3RlbShzdHJ1Y3Qgc3lzZnNfY3h0ICpjeHQgX19hdHRyaWJ1dGVfXygodW51c2VkKSksCisJCQkgY2hhciAqZGV2Y2hhaW4sIGNoYXIgKipzdWJzeXMpCit7CisJY2hhciBzdWJidWZbUEFUSF9NQVhdOworCWNoYXIgKnN1YjsKKworCWlmICghc3Vic3lzIHx8ICFkZXZjaGFpbikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkqc3Vic3lzID0gTlVMTDsKKworCXdoaWxlICgoc3ViID0gZ2V0X3N1YnN5c3RlbShkZXZjaGFpbiwgc3ViYnVmLCBzaXplb2Yoc3ViYnVmKSkpKSB7CisJCSpzdWJzeXMgPSBzdHJkdXAoc3ViKTsKKwkJaWYgKCEqc3Vic3lzKQorCQkJcmV0dXJuIC1FTk9NRU07CisJCXJldHVybiAwOworCX0KKworCXJldHVybiAxOworfQorCisKK3N0YXRpYyBpbnQgaXNfaG90cGx1Z2dhYmxlX3N1YnN5c3RlbShjb25zdCBjaGFyICpuYW1lKQoreworCXN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgaG90cGx1Z19zdWJzeXN0ZW1zW10gPSB7CisJCSJ1c2IiLAorCQkiaWVlZTEzOTQiLAorCQkicGNtY2lhIiwKKwkJIm1tYyIsCisJCSJjY3ciCisJfTsKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGhvdHBsdWdfc3Vic3lzdGVtcyk7IGkrKykKKwkJaWYgKHN0cmNtcChuYW1lLCBob3RwbHVnX3N1YnN5c3RlbXNbaV0pID09IDApCisJCQlyZXR1cm4gMTsKKworCXJldHVybiAwOworfQorCitpbnQgc3lzZnNfaXNfaG90cGx1Z2dhYmxlKHN0cnVjdCBzeXNmc19jeHQgKmN4dCkKK3sKKwljaGFyIGJ1ZltQQVRIX01BWF0sICpjaGFpbiwgKnN1YjsKKwlpbnQgcmMgPSAwOworCisKKwkvKiBjaGVjayAvc3lzL2Rldi9ibG9jay88bWFqPjo8bWluPi9yZW1vdmFibGUgYXR0cmlidXRlICovCisJaWYgKHN5c2ZzX3JlYWRfaW50KGN4dCwgInJlbW92YWJsZSIsICZyYykgPT0gMCAmJiByYyA9PSAxKQorCQlyZXR1cm4gMTsKKworCWNoYWluID0gc3lzZnNfZ2V0X2RldmNoYWluKGN4dCwgYnVmLCBzaXplb2YoYnVmKSk7CisKKwl3aGlsZSAoY2hhaW4gJiYgc3lzZnNfbmV4dF9zdWJzeXN0ZW0oY3h0LCBjaGFpbiwgJnN1YikgPT0gMCkgeworCQlyYyA9IGlzX2hvdHBsdWdnYWJsZV9zdWJzeXN0ZW0oc3ViKTsKKwkJaWYgKHJjKSB7CisJCQlmcmVlKHN1Yik7CisJCQlicmVhazsKKwkJfQorCQlmcmVlKHN1Yik7CisJfQorCisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IGdldF9kbV93aG9sZWRpc2soc3RydWN0IHN5c2ZzX2N4dCAqY3h0LCBjaGFyICpkaXNrbmFtZSwKKyAgICAgICAgICAgICAgICBzaXplX3QgbGVuLCBkZXZfdCAqZGlza2Rldm5vKQoreworICAgIGludCByYyA9IDA7CisgICAgY2hhciAqbmFtZTsKKworICAgIC8qIE5vdGUsIHN5c2ZzX2dldF9zbGF2ZSgpIHJldHVybnMgdGhlIGZpcnN0IHNsYXZlIG9ubHksCisgICAgICogaWYgdGhlcmUgaXMgbW9yZSBzbGF2ZXMsIHRoZW4gcmV0dXJuIE5VTEwKKyAgICAgKi8KKyAgICBuYW1lID0gc3lzZnNfZ2V0X3NsYXZlKGN4dCk7CisgICAgaWYgKCFuYW1lKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBpZiAoZGlza25hbWUgJiYgbGVuKSB7CisgICAgICAgIHN0cm5jcHkoZGlza25hbWUsIG5hbWUsIGxlbik7CisgICAgICAgIGRpc2tuYW1lW2xlbiAtIDFdID0gJ1wwJzsKKyAgICB9CisKKyAgICBpZiAoZGlza2Rldm5vKSB7CisgICAgICAgICpkaXNrZGV2bm8gPSBzeXNmc19kZXZuYW1lX3RvX2Rldm5vKG5hbWUsIE5VTEwpOworICAgICAgICBpZiAoISpkaXNrZGV2bm8pCisgICAgICAgICAgICByYyA9IC0xOworICAgIH0KKworICAgIGZyZWUobmFtZSk7CisgICAgcmV0dXJuIHJjOworfQorCisvKgorICogUmV0dXJucyBieSBAZGlza2Rldm5vIHdob2xlIGRpc2sgZGV2aWNlIGRldm5vIGFuZCAob3B0aW9uYWxseSkgYnkKKyAqIEBkaXNrbmFtZSB0aGUgd2hvbGUgZGlzayBkZXZpY2UgbmFtZS4KKyAqLworaW50IHN5c2ZzX2Rldm5vX3RvX3dob2xlZGlzayhkZXZfdCBkZXYsIGNoYXIgKmRpc2tuYW1lLAorICAgICAgICAgICAgc2l6ZV90IGxlbiwgZGV2X3QgKmRpc2tkZXZubykKK3sKKyAgICBzdHJ1Y3Qgc3lzZnNfY3h0IGN4dDsKKyAgICBpbnQgaXNfcGFydCA9IDA7CisKKyAgICBpZiAoIWRldiB8fCBzeXNmc19pbml0KCZjeHQsIGRldiwgTlVMTCkgIT0gMCkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgaXNfcGFydCA9IHN5c2ZzX2hhc19hdHRyaWJ1dGUoJmN4dCwgInBhcnRpdGlvbiIpOworICAgIGlmICghaXNfcGFydCkgeworICAgICAgICAvKgorICAgICAgICAgKiBFeHRyYSBjYXNlIGZvciBwYXJ0aXRpb25zIG1hcHBlZCBieSBkZXZpY2UtbWFwcGVyLgorICAgICAgICAgKgorICAgICAgICAgKiBBbGwgcmVndWxhciBwYXJ0aXRpb25zIChhZGRlZCBieSBCTEtQRyBpb2N0bCBvciBrZXJuZWwgUFQKKyAgICAgICAgICogcGFyc2VyKSBoYXZlIHRoZSAvc3lzLy4uLi9wYXJ0aXRpb24gZmlsZS4gVGhlIHBhcnRpdGlvbnMKKyAgICAgICAgICogbWFwcGVkIGJ5IERNIGRvbid0IGhhdmUgc3VjaCBmaWxlLCBidXQgdGhleSBoYXZlICJwYXJ0IgorICAgICAgICAgKiBwcmVmaXggaW4gRE0gVVVJRC4KKyAgICAgICAgICovCisgICAgICAgIGNoYXIgKnV1aWQgPSBzeXNmc19zdHJkdXAoJmN4dCwgImRtL3V1aWQiKTsKKyAgICAgICAgY2hhciAqdG1wID0gdXVpZDsKKyAgICAgICAgY2hhciAqcHJlZml4ID0gdXVpZCA/IHN0cnNlcCgmdG1wLCAiLSIpIDogTlVMTDsKKworICAgICAgICBpZiAocHJlZml4ICYmIHN0cm5jYXNlY21wKHByZWZpeCwgInBhcnQiLCA0KSA9PSAwKQorICAgICAgICAgICAgaXNfcGFydCA9IDE7CisgICAgICAgIGZyZWUodXVpZCk7CisKKyAgICAgICAgaWYgKGlzX3BhcnQgJiYKKyAgICAgICAgICAgIGdldF9kbV93aG9sZWRpc2soJmN4dCwgZGlza25hbWUsIGxlbiwgZGlza2Rldm5vKSA9PSAwKQorICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIHBhcnRpdGlvbmVkIGRldmljZSwgbWFwcGVkIGJ5IERNCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIGdvdG8gZG9uZTsKKworICAgICAgICBpc19wYXJ0ID0gMDsKKyAgICB9CisKKyAgICBpZiAoIWlzX3BhcnQpIHsKKyAgICAgICAgLyoKKyAgICAgICAgICogdW5wYXJ0aXRpb25lZCBkZXZpY2UKKyAgICAgICAgICovCisgICAgICAgIGlmIChkaXNrbmFtZSAmJiBsZW4gJiYgIXN5c2ZzX2dldF9kZXZuYW1lKCZjeHQsIGRpc2tuYW1lLCBsZW4pKQorICAgICAgICAgICAgZ290byBlcnI7CisgICAgICAgIGlmIChkaXNrZGV2bm8pCisgICAgICAgICAgICAqZGlza2Rldm5vID0gZGV2OworCisgICAgfSBlbHNlIHsKKyAgICAgICAgLyoKKyAgICAgICAgICogcGFydGl0aW9uZWQgZGV2aWNlCisgICAgICAgICAqICAtIHJlYWRsaW5rIC9zeXMvZGV2L2Jsb2NrLzg6MSAgID0gLi4vLi4vYmxvY2svc2RhL3NkYTEKKyAgICAgICAgICogIC0gZGlybmFtZSAgLi4vLi4vYmxvY2svc2RhL3NkYTEgPSAuLi8uLi9ibG9jay9zZGEKKyAgICAgICAgICogIC0gYmFzZW5hbWUgLi4vLi4vYmxvY2svc2RhICAgICAgPSBzZGEKKyAgICAgICAgICovCisgICAgICAgIGNoYXIgbGlua3BhdGhbUEFUSF9NQVhdOworICAgICAgICBjaGFyICpuYW1lOworCXNzaXplX3QJbGlua2xlbjsKKworCWxpbmtsZW4gPSBzeXNmc19yZWFkbGluaygmY3h0LCBOVUxMLCBsaW5rcGF0aCwgc2l6ZW9mKGxpbmtwYXRoKSAtIDEpOworICAgICAgICBpZiAobGlua2xlbiA8IDApCisgICAgICAgICAgICBnb3RvIGVycjsKKyAgICAgICAgbGlua3BhdGhbbGlua2xlbl0gPSAnXDAnOworCisgICAgICAgIHN0cmlwb2ZmX2xhc3RfY29tcG9uZW50KGxpbmtwYXRoKTsgICAgICAvKiBkaXJuYW1lICovCisgICAgICAgIG5hbWUgPSBzdHJpcG9mZl9sYXN0X2NvbXBvbmVudChsaW5rcGF0aCk7ICAgLyogYmFzZW5hbWUgKi8KKyAgICAgICAgaWYgKCFuYW1lKQorICAgICAgICAgICAgZ290byBlcnI7CisKKwlzeXNmc19kZXZuYW1lX3N5c190b19kZXYobmFtZSk7CisgICAgICAgIGlmIChkaXNrbmFtZSAmJiBsZW4pIHsKKyAgICAgICAgICAgIHN0cm5jcHkoZGlza25hbWUsIG5hbWUsIGxlbik7CisgICAgICAgICAgICBkaXNrbmFtZVtsZW4gLSAxXSA9ICdcMCc7CisgICAgICAgIH0KKworICAgICAgICBpZiAoZGlza2Rldm5vKSB7CisgICAgICAgICAgICAqZGlza2Rldm5vID0gc3lzZnNfZGV2bmFtZV90b19kZXZubyhuYW1lLCBOVUxMKTsKKyAgICAgICAgICAgIGlmICghKmRpc2tkZXZubykKKyAgICAgICAgICAgICAgICBnb3RvIGVycjsKKyAgICAgICAgfQorICAgIH0KKworZG9uZToKKyAgICBzeXNmc19kZWluaXQoJmN4dCk7CisgICAgcmV0dXJuIDA7CitlcnI6CisgICAgc3lzZnNfZGVpbml0KCZjeHQpOworICAgIHJldHVybiAtMTsKK30KKworLyoKKyAqIFJldHVybnMgMSBpZiB0aGUgZGV2aWNlIGlzIHByaXZhdGUgTFZNIGRldmljZS4KKyAqLworaW50IHN5c2ZzX2Rldm5vX2lzX2x2bV9wcml2YXRlKGRldl90IGRldm5vKQoreworCXN0cnVjdCBzeXNmc19jeHQgY3h0ID0gVUxfU1lTRlNDWFRfRU1QVFk7CisJY2hhciAqdXVpZCA9IE5VTEw7CisJaW50IHJjID0gMDsKKworCWlmIChzeXNmc19pbml0KCZjeHQsIGRldm5vLCBOVUxMKSAhPSAwKQorCQlyZXR1cm4gMDsKKworCXV1aWQgPSBzeXNmc19zdHJkdXAoJmN4dCwgImRtL3V1aWQiKTsKKworCS8qIFByaXZhdGUgTFZNIGRldmljZXMgdXNlICJMVk0tPHV1aWQ+LTxuYW1lPiIgdXVpZCBmb3JtYXQgKGltcG9ydGFudAorCSAqIGlzIHRoZSAiTFZNIiBwcmVmaXggYW5kICItPG5hbWU+IiBwb3N0Zml4KS4KKwkgKi8KKwlpZiAodXVpZCAmJiBzdHJuY21wKHV1aWQsICJMVk0tIiwgNCkgPT0gMCkgeworCQljaGFyICpwID0gc3RycmNocih1dWlkICsgNCwgJy0nKTsKKworCQlpZiAocCAmJiAqKHAgKyAxKSkKKwkJCXJjID0gMTsKKwl9CisKKwlzeXNmc19kZWluaXQoJmN4dCk7CisJZnJlZSh1dWlkKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBSZXR1cm4gMCBvciAxLCBvciA8IDAgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQgc3lzZnNfZGV2bm9faXNfd2hvbGVkaXNrKGRldl90IGRldm5vKQoreworCWRldl90IGRpc2s7CisKKwlpZiAoc3lzZnNfZGV2bm9fdG9fd2hvbGVkaXNrKGRldm5vLCBOVUxMLCAwLCAmZGlzaykgIT0gMCkKKwkJcmV0dXJuIC0xOworCisJcmV0dXJuIGRldm5vID09IGRpc2s7Cit9CisKKworaW50IHN5c2ZzX3Njc2lfZ2V0X2hjdGwoc3RydWN0IHN5c2ZzX2N4dCAqY3h0LCBpbnQgKmgsIGludCAqYywgaW50ICp0LCBpbnQgKmwpCit7CisJY2hhciBidWZbUEFUSF9NQVhdLCAqaGN0bDsKKwlzc2l6ZV90IGxlbjsKKworCWlmICghY3h0IHx8IGN4dC0+aGN0bF9lcnJvcikKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKGN4dC0+aGFzX2hjdGwpCisJCWdvdG8gZG9uZTsKKworCWN4dC0+aGN0bF9lcnJvciA9IDE7CisJbGVuID0gc3lzZnNfcmVhZGxpbmsoY3h0LCAiZGV2aWNlIiwgYnVmLCBzaXplb2YoYnVmKSAtIDEpOworCWlmIChsZW4gPCAwKQorCQlyZXR1cm4gbGVuOworCisJYnVmW2xlbl0gPSAnXDAnOworCWhjdGwgPSBzdHJyY2hyKGJ1ZiwgJy8nKTsKKwlpZiAoIWhjdGwpCisJCXJldHVybiAtMTsKKwloY3RsKys7CisKKwlpZiAoc3NjYW5mKGhjdGwsICIldToldToldToldSIsICZjeHQtPnNjc2lfaG9zdCwgJmN4dC0+c2NzaV9jaGFubmVsLAorCQkJCSZjeHQtPnNjc2lfdGFyZ2V0LCAmY3h0LT5zY3NpX2x1bikgIT0gNCkKKwkJcmV0dXJuIC0xOworCisJY3h0LT5oYXNfaGN0bCA9IDE7Citkb25lOgorCWlmIChoKQorCQkqaCA9IGN4dC0+c2NzaV9ob3N0OworCWlmIChjKQorCQkqYyA9IGN4dC0+c2NzaV9jaGFubmVsOworCWlmICh0KQorCQkqdCA9IGN4dC0+c2NzaV90YXJnZXQ7CisJaWYgKGwpCisJCSpsID0gY3h0LT5zY3NpX2x1bjsKKworCWN4dC0+aGN0bF9lcnJvciA9IDA7CisJcmV0dXJuIDA7Cit9CisKKworc3RhdGljIGNoYXIgKnN5c2ZzX3Njc2lfaG9zdF9hdHRyaWJ1dGVfcGF0aChzdHJ1Y3Qgc3lzZnNfY3h0ICpjeHQsCisJCWNvbnN0IGNoYXIgKnR5cGUsIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnN6LCBjb25zdCBjaGFyICphdHRyKQoreworCWludCBsZW47CisJaW50IGhvc3Q7CisKKwlpZiAoc3lzZnNfc2NzaV9nZXRfaGN0bChjeHQsICZob3N0LCBOVUxMLCBOVUxMLCBOVUxMKSkKKwkJcmV0dXJuIE5VTEw7CisKKwlpZiAoYXR0cikKKwkJbGVuID0gc25wcmludGYoYnVmLCBidWZzeiwgX1BBVEhfU1lTX0NMQVNTICIvJXNfaG9zdC9ob3N0JWQvJXMiLAorCQkJCXR5cGUsIGhvc3QsIGF0dHIpOworCWVsc2UKKwkJbGVuID0gc25wcmludGYoYnVmLCBidWZzeiwgX1BBVEhfU1lTX0NMQVNTICIvJXNfaG9zdC9ob3N0JWQiLAorCQkJCXR5cGUsIGhvc3QpOworCisJcmV0dXJuIChsZW4gPCAwIHx8IChzaXplX3QpIGxlbiA+PSBidWZzeikgPyBOVUxMIDogYnVmOworfQorCitjaGFyICpzeXNmc19zY3NpX2hvc3Rfc3RyZHVwX2F0dHJpYnV0ZShzdHJ1Y3Qgc3lzZnNfY3h0ICpjeHQsCisJCWNvbnN0IGNoYXIgKnR5cGUsIGNvbnN0IGNoYXIgKmF0dHIpCit7CisJY2hhciBidWZbMTAyNF07CisJaW50IHJjOworCUZJTEUgKmY7CisKKwlpZiAoIWF0dHIgfHwgIXR5cGUgfHwKKwkgICAgIXN5c2ZzX3Njc2lfaG9zdF9hdHRyaWJ1dGVfcGF0aChjeHQsIHR5cGUsIGJ1Ziwgc2l6ZW9mKGJ1ZiksIGF0dHIpKQorCQlyZXR1cm4gTlVMTDsKKworCWlmICghKGYgPSBmb3BlbihidWYsICJyIiBVTF9DTE9FWEVDU1RSKSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisKKwlyYyA9IGZzY2FuZihmLCAiJTEwMjNbXlxuXSIsIGJ1Zik7CisJZmNsb3NlKGYpOworCisJcmV0dXJuIHJjID09IDEgPyBzdHJkdXAoYnVmKSA6IE5VTEw7Cit9CisKK2ludCBzeXNmc19zY3NpX2hvc3RfaXMoc3RydWN0IHN5c2ZzX2N4dCAqY3h0LCBjb25zdCBjaGFyICp0eXBlKQoreworCWNoYXIgYnVmW1BBVEhfTUFYXTsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKworCWlmICghdHlwZSB8fCAhc3lzZnNfc2NzaV9ob3N0X2F0dHJpYnV0ZV9wYXRoKGN4dCwgdHlwZSwKKwkJCQlidWYsIHNpemVvZihidWYpLCBOVUxMKSkKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gc3RhdChidWYsICZzdCkgPT0gMCAmJiBTX0lTRElSKHN0LnN0X21vZGUpOworfQorCitzdGF0aWMgY2hhciAqc3lzZnNfc2NzaV9hdHRyaWJ1dGVfcGF0aChzdHJ1Y3Qgc3lzZnNfY3h0ICpjeHQsCisJCWNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnN6LCBjb25zdCBjaGFyICphdHRyKQoreworCWludCBsZW4sIGgsIGMsIHQsIGw7CisKKwlpZiAoc3lzZnNfc2NzaV9nZXRfaGN0bChjeHQsICZoLCAmYywgJnQsICZsKSAhPSAwKQorCQlyZXR1cm4gTlVMTDsKKworCWlmIChhdHRyKQorCQlsZW4gPSBzbnByaW50ZihidWYsIGJ1ZnN6LCBfUEFUSF9TWVNfU0NTSSAiL2RldmljZXMvJWQ6JWQ6JWQ6JWQvJXMiLAorCQkJCWgsYyx0LGwsIGF0dHIpOworCWVsc2UKKwkJbGVuID0gc25wcmludGYoYnVmLCBidWZzeiwgX1BBVEhfU1lTX1NDU0kgIi9kZXZpY2VzLyVkOiVkOiVkOiVkIiwKKwkJCQloLGMsdCxsKTsKKwlyZXR1cm4gKGxlbiA8IDAgfHwgKHNpemVfdCkgbGVuID49IGJ1ZnN6KSA/IE5VTEwgOiBidWY7Cit9CisKK2ludCBzeXNmc19zY3NpX2hhc19hdHRyaWJ1dGUoc3RydWN0IHN5c2ZzX2N4dCAqY3h0LCBjb25zdCBjaGFyICphdHRyKQoreworCWNoYXIgcGF0aFtQQVRIX01BWF07CisJc3RydWN0IHN0YXQgc3Q7CisKKwlpZiAoIXN5c2ZzX3Njc2lfYXR0cmlidXRlX3BhdGgoY3h0LCBwYXRoLCBzaXplb2YocGF0aCksIGF0dHIpKQorCQlyZXR1cm4gMDsKKworCXJldHVybiBzdGF0KHBhdGgsICZzdCkgPT0gMDsKK30KKworaW50IHN5c2ZzX3Njc2lfcGF0aF9jb250YWlucyhzdHJ1Y3Qgc3lzZnNfY3h0ICpjeHQsIGNvbnN0IGNoYXIgKnBhdHRlcm4pCit7CisJY2hhciBwYXRoW1BBVEhfTUFYXSwgbGlua2NbUEFUSF9NQVhdOworCXN0cnVjdCBzdGF0IHN0OworCXNzaXplX3QgbGVuOworCisJaWYgKCFzeXNmc19zY3NpX2F0dHJpYnV0ZV9wYXRoKGN4dCwgcGF0aCwgc2l6ZW9mKHBhdGgpLCBOVUxMKSkKKwkJcmV0dXJuIDA7CisKKwlpZiAoc3RhdChwYXRoLCAmc3QpICE9IDApCisJCXJldHVybiAwOworCisJbGVuID0gcmVhZGxpbmsocGF0aCwgbGlua2MsIHNpemVvZihsaW5rYykgLSAxKTsKKwlpZiAobGVuIDwgMCkKKwkJcmV0dXJuIDA7CisKKwlsaW5rY1tsZW5dID0gJ1wwJzsKKwlyZXR1cm4gc3Ryc3RyKGxpbmtjLCBwYXR0ZXJuKSAhPSBOVUxMOworfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNX1NZU0ZTCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxlcnIuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3Qgc3lzZnNfY3h0IGN4dCA9IFVMX1NZU0ZTQ1hUX0VNUFRZOworCWNoYXIgKmRldm5hbWU7CisJZGV2X3QgZGV2bm8sIGRpc2tfZGV2bm87CisJY2hhciBwYXRoW1BBVEhfTUFYXSwgKnN1YiwgKmNoYWluOworCWNoYXIgZGlza25hbWVbMzJdOworCWludCBpLCBpc19wYXJ0OworCXVpbnQ2NF90IHU2NDsKKwlzc2l6ZV90IGxlbjsKKworCWlmIChhcmdjICE9IDIpCisJCWVycngoRVhJVF9GQUlMVVJFLCAidXNhZ2U6ICVzIDxkZXZuYW1lPiIsIGFyZ3ZbMF0pOworCisJZGV2bmFtZSA9IGFyZ3ZbMV07CisJZGV2bm8gPSBzeXNmc19kZXZuYW1lX3RvX2Rldm5vKGRldm5hbWUsIE5VTEwpOworCisJaWYgKCFkZXZubykKKwkJZXJyKEVYSVRfRkFJTFVSRSwgImZhaWxlZCB0byByZWFkIGRldm5vIik7CisKKwlpZiAoc3lzZnNfaW5pdCgmY3h0LCBkZXZubywgTlVMTCkpCisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisKKwlwcmludGYoIk5BTUU6ICVzXG4iLCBkZXZuYW1lKTsKKwlwcmludGYoIkRFVk5BTUU6ICVzXG4iLCBzeXNmc19nZXRfZGV2bmFtZSgmY3h0LCBwYXRoLCBzaXplb2YocGF0aCkpKTsKKwlwcmludGYoIkRFVlBBVEg6ICVzXG4iLCBzeXNmc19kZXZub190b19kZXZwYXRoKGRldm5vLCBwYXRoLCBzaXplb2YocGF0aCkpKTsKKwlwcmludGYoIkRFVk5POiAldSAoJWQ6JWQpXG4iLCAodW5zaWduZWQgaW50KSBkZXZubywgbWFqb3IoZGV2bm8pLCBtaW5vcihkZXZubykpOworCXByaW50ZigiREVWTk8tUEFUSDogJXNcbiIsIHN5c2ZzX2Rldm5vX3BhdGgoZGV2bm8sIHBhdGgsIHNpemVvZihwYXRoKSkpOworCisJc3lzZnNfZGV2bm9fdG9fd2hvbGVkaXNrKGRldm5vLCBkaXNrbmFtZSwgc2l6ZW9mKGRpc2tuYW1lKSwgJmRpc2tfZGV2bm8pOworCXByaW50ZigiV0hPTEVESVNLLURFVk5POiAldSAoJWQ6JWQpXG4iLCAodW5zaWduZWQgaW50KSBkaXNrX2Rldm5vLCBtYWpvcihkaXNrX2Rldm5vKSwgbWlub3IoZGlza19kZXZubykpOworCXByaW50ZigiV0hPTEVESVNLLURFVk5BTUU6ICVzXG4iLCBkaXNrbmFtZSk7CisKKwlpc19wYXJ0ID0gc3lzZnNfZGV2bm9faGFzX2F0dHJpYnV0ZShkZXZubywgInBhcnRpdGlvbiIpOworCXByaW50ZigiUEFSVElUSU9OOiAlc1xuIiwgaXNfcGFydCA/ICJZRVMiIDogIk5PVCIpOworCisJcHJpbnRmKCJIT1RQTFVHOiAlc1xuIiwgc3lzZnNfaXNfaG90cGx1Z2dhYmxlKCZjeHQpID8gInllcyIgOiAibm8iKTsKKwlwcmludGYoIlNMQVZFUzogJWRcbiIsIHN5c2ZzX2NvdW50X2RpcmVudHMoJmN4dCwgInNsYXZlcyIpKTsKKworCWxlbiA9IHN5c2ZzX3JlYWRsaW5rKCZjeHQsIE5VTEwsIHBhdGgsIHNpemVvZihwYXRoKSAtIDEpOworCWlmIChsZW4gPiAwKSB7CisJCXBhdGhbbGVuXSA9ICdcMCc7CisJCXByaW50ZigiREVWTk9MSU5LOiAlc1xuIiwgcGF0aCk7CisJfQorCisJaWYgKCFpc19wYXJ0KSB7CisJCXByaW50ZigiRmlyc3QgNSBwYXJ0aXRpb25zOlxuIik7CisJCWZvciAoaSA9IDE7IGkgPD0gNTsgaSsrKSB7CisJCQlkZXZfdCBkZXYgPSBzeXNmc19wYXJ0bm9fdG9fZGV2bm8oJmN4dCwgaSk7CisJCQlpZiAoZGV2KQorCQkJCXByaW50ZigiXHQjJWQgJWQ6JWRcbiIsIGksIG1ham9yKGRldiksIG1pbm9yKGRldikpOworCQl9CisJfQorCisJaWYgKHN5c2ZzX3JlYWRfdTY0KCZjeHQsICJzaXplIiwgJnU2NCkpCisJCXByaW50ZigicmVhZCBTSVpFIGZhaWxlZFxuIik7CisJZWxzZQorCQlwcmludGYoIlNJWkU6ICVqZFxuIiwgdTY0KTsKKworCWlmIChzeXNmc19yZWFkX2ludCgmY3h0LCAicXVldWUvaHdfc2VjdG9yX3NpemUiLCAmaSkpCisJCXByaW50ZigicmVhZCBTRUNUT1IgZmFpbGVkXG4iKTsKKwllbHNlCisJCXByaW50ZigiU0VDVE9SOiAlZFxuIiwgaSk7CisKKworCWNoYWluID0gc3lzZnNfZ2V0X2RldmNoYWluKCZjeHQsIHBhdGgsIHNpemVvZihwYXRoKSk7CisJcHJpbnRmKCJTVUJTVVNURU1TOlxuIik7CisKKwl3aGlsZSAoY2hhaW4gJiYgc3lzZnNfbmV4dF9zdWJzeXN0ZW0oJmN4dCwgY2hhaW4sICZzdWIpID09IDApIHsKKwkJcHJpbnRmKCJcdCVzXG4iLCBzdWIpOworCQlmcmVlKHN1Yik7CisJfQorCisKKwlzeXNmc19kZWluaXQoJmN4dCk7CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliL3Rlcm1pbmFsLWNvbG9ycy5kLjUgYi9saWIvdGVybWluYWwtY29sb3JzLmQuNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OGI2ZDE1Ci0tLSAvZGV2L251bGwKKysrIGIvbGliL3Rlcm1pbmFsLWNvbG9ycy5kLjUKQEAgLTAsMCArMSwxOTIgQEAKKy5cIiB0ZXJtaW5hbC1jb2xvcnMuZC41IC0tCisuXCIgQ29weXJpZ2h0IDIwMTQgT25kcmVqIE9wcmFsYSA8b29wcmFsYUByZWRoYXQuY29tPgorLlwiIENvcHlyaWdodCAoQykgMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKy5cIiBDb3B5cmlnaHQgMjAxNCBSZWQgSGF0LCBJbmMuCisuXCIgTWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLlRIICJURVJNSU5BTF9DT0xPUlMuRCIgIjUiICJKYW51YXJ5IDIwMTQiICJ1dGlsLWxpbnV4IiAidGVybWluYWwtY29sb3JzLmQiCisuU0ggIk5BTUUiCit0ZXJtaW5hbC1jb2xvcnMuZCBcLSBDb25maWd1cmUgb3V0cHV0IGNvbG9yaXphdGlvbiBmb3IgdmFyaW91cyB1dGlsaXRpZXMKKy5TSCAiU1lOT1BTSVMiCisvZXRjL3Rlcm1pbmFsLWNvbG9yc1wmLmQvW1tcZkluYW1lXGZSXVtAXGZJdGVybVxmUl1cJi5dW1xmSXR5cGVcZlJdCisuU0ggIkRFU0NSSVBUSU9OIgorRmlsZXMgaW4gdGhpcyBkaXJlY3RvcnkgZGV0ZXJtaW5lIHRoZSBkZWZhdWx0IGJlaGF2aW9yIGZvciB1dGlsaXRpZXMKK3doZW4gY29sb3Jpbmcgb3V0cHV0LgorCitUaGUKKy5JIG5hbWUKK2lzIGEgdXRpbGl0eSBuYW1lLiAgVGhlIG5hbWUgaXMgb3B0aW9uYWwgYW5kIHdoZW4gbm9uZSBpcyBzcGVjaWZpZWQgdGhlbiB0aGUKK2ZpbGUgaXMgdXNlZCBmb3IgYWxsIHVuc3BlY2lmaWVkIHV0aWxpdGllcy4KKworVGhlCisuSSB0ZXJtCitpcyBhIHRlcm1pbmFsIGlkZW50aWZpZXIgKHRoZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlKS4KK1RoZSB0ZXJtaW5hbCBpZGVudGlmaWVyIGlzIG9wdGlvbmFsIGFuZCB3aGVuIG5vbmUgaXMgc3BlY2lmaWVkIHRoZW4gdGhlIGZpbGUKK2lzIHVzZWQgZm9yIGFsbCB1bnNwZWNpZmllZCB0ZXJtaW5hbHMuCisKK1RoZQorLkkgdHlwZQoraXMgYSBmaWxlIHR5cGUuICBTdXBwb3J0ZWQgZmlsZSB0eXBlcyBhcmU6CisuVFAKKy5CIGRpc2FibGUKK1R1cm5zIG9mZiBvdXRwdXQgY29sb3JpemF0aW9uIGZvciBhbGwgY29tcGF0aWJsZSB1dGlsaXRpZXMuCisuVFAKKy5CIGVuYWJsZQorVHVybnMgb24gb3V0cHV0IGNvbG9yaXphdGlvbjsgYW55IG1hdGNoaW5nCisuQiBkaXNhYmxlCitmaWxlcyBhcmUgaWdub3JlZC4KKy5UUAorLkIgc2NoZW1lCitTcGVjaWZpZXMgY29sb3JzIHVzZWQgZm9yIG91dHB1dC4gIFRoZSBmaWxlIGZvcm1hdCBtYXkgYmUgc3BlY2lmaWMgdG8gdGhlIHV0aWxpdHksCit0aGUgZGVmYXVsdCBmb3JtYXQgaXMgZGVzY3JpYmVkIGJlbG93LgorLlBQCitJZiB0aGVyZSBhcmUgbW9yZSBmaWxlcyB0aGF0IG1hdGNoIGZvciBhIHV0aWxpdHksIHRoZW4gdGhlIGZpbGUgd2l0aCB0aGUgbW9yZQorc3BlY2lmaWMgZmlsZW5hbWUgd2lucy4gIEZvciBleGFtcGxlLCB0aGUgZmlsZW5hbWUgIkB4dGVybS5zY2hlbWUiIGhhcyBsZXNzCitwcmlvcml0eSB0aGFuICJkbWVzZ0B4dGVybS5zY2hlbWUiLiAgVGhlIGxvd2VzdCBwcmlvcml0eSBhcmUgdGhvc2UgZmlsZXMgd2l0aG91dCBhCit1dGlsaXR5IG5hbWUgYW5kIHRlcm1pbmFsIGlkZW50aWZpZXIgKGUuZy4gImRpc2FibGUiKS4KKworVGhlIHVzZXItc3BlY2lmaWMKKy5JICRYREdfQ09ORklHX0hPTUUvdGVybWluYWwtY29sb3JzLmQKK29yCisuSSAkSE9NRS8uY29uZmlnL3Rlcm1pbmFsLWNvbG9ycy5kCitvdmVycmlkZXMgdGhlIGdsb2JhbCBzZXR0aW5nLgorCisuU0ggRVhBTVBMRVMKK0Rpc2FibGUgY29sb3JzIGZvciBhbGwgY29tcGF0aWJsZSB1dGlsaXRpZXM6CisuUlMKKy5icgorLkIgInRvdWNoIC9ldGMvdGVybWluYWwtY29sb3JzLmQvZGlzYWJsZSIKKy5icgorLlJFCisKK0Rpc2FibGUgY29sb3JzIGZvciBhbGwgY29tcGF0aWJsZSB1dGlscyBvbiBhIHZ0MTAwIHRlcm1pbmFsOgorLlJTCisuYnIKKy5CICJ0b3VjaCAvZXRjL3Rlcm1pbmFsLWNvbG9ycy5kL0B2dDEwMC5kaXNhYmxlIgorLmJyCisuUkUKKworRGlzYWJsZSBjb2xvcnMgZm9yIGFsbCBjb21wYXRpYmxlIHV0aWxzIGV4Y2VwdCBkbWVzZygxKToKKy5SUworLmJyCisuQiAidG91Y2ggL2V0Yy90ZXJtaW5hbC1jb2xvcnMuZC9kaXNhYmxlIgorLnNwCisuQiAidG91Y2ggL2V0Yy90ZXJtaW5hbC1jb2xvcnMuZC9kbWVzZy5lbmFibGUiCisuYnIKKy5SRQorCisuU0ggREVGQVVMVCBTQ0hFTUUgRklMRVMgRk9STUFUCitUaGUgZm9sbG93aW5nIHN0YXRlbWVudCBpcyByZWNvZ25pemVkOgorCisuUlMKKy5icgorLkIgIm5hbWUgY29sb3Itc2VxdWVuY2UiCisuYnIKKy5SRQorCitUaGUKKy5CIG5hbWUKK2lzIGEgbG9naWNhbCBuYW1lIG9mIGNvbG9yIHNlcXVlbmNlIChmb3IgZXhhbXBsZSAiZXJyb3IiKS4gIFRoZSBuYW1lcyBhcmUKK3NwZWNpZmljIHRvIHRoZSB1dGlsaXRpZXMuICBGb3IgbW9yZSBkZXRhaWxzIGFsd2F5cyBzZWUgdGhlIENPTE9SUyBzZWN0aW9uCitpbiB0aGUgbWFuIHBhZ2UgZm9yIHRoZSB1dGlsaXR5LgorCitUaGUKKy5CIGNvbG9yLXNlcXVlbmNlCitpcyBhIGNvbG9yIG5hbWUsIEFTQ0lJIGNvbG9yIHNlcXVlbmNlcyBvciBlc2NhcGUgc2VxdWVuY2VzLgorCisuU1MgQ29sb3IgbmFtZXMKK2JsYWNrLCBibGluaywgYmx1ZSwgYm9sZCwgYnJvd24sIGN5YW4sIGRhcmtncmF5LCBncmF5LCBncmVlbiwgaGFsZmJyaWdodCwKK2xpZ2h0Ymx1ZSwgbGlnaHRjeWFuLCBsaWdodGdyYXksIGxpZ2h0Z3JlZW4sIGxpZ2h0bWFnZW50YSwgbGlnaHRyZWQsIG1hZ2VudGEsCityZWQsIHJlc2V0LCByZXZlcnNlLCBhbmQgeWVsbG93LgorCisuU1MgQU5TSSBjb2xvciBzZXF1ZW5jZXMKK1RoZSBjb2xvciBzZXF1ZW5jZXMgYXJlIGNvbXBvc2VkIG9mIHNlcXVlbmNlcyBvZiBudW1iZXJzCitzZXBhcmF0ZWQgYnkgc2VtaWNvbG9ucy4gIFRoZSBtb3N0IGNvbW1vbiBjb2RlcyBhcmU6Cisuc3AKKy5SUworLlRTCitsIGwuCisgMAl0byByZXN0b3JlIGRlZmF1bHQgY29sb3IKKyAxCWZvciBicmlnaHRlciBjb2xvcnMKKyA0CWZvciB1bmRlcmxpbmVkIHRleHQKKyA1CWZvciBmbGFzaGluZyB0ZXh0CiszMAlmb3IgYmxhY2sgZm9yZWdyb3VuZAorMzEJZm9yIHJlZCBmb3JlZ3JvdW5kCiszMglmb3IgZ3JlZW4gZm9yZWdyb3VuZAorMzMJZm9yIHllbGxvdyAob3IgYnJvd24pIGZvcmVncm91bmQKKzM0CWZvciBibHVlIGZvcmVncm91bmQKKzM1CWZvciBwdXJwbGUgZm9yZWdyb3VuZAorMzYJZm9yIGN5YW4gZm9yZWdyb3VuZAorMzcJZm9yIHdoaXRlIChvciBncmF5KSBmb3JlZ3JvdW5kCis0MAlmb3IgYmxhY2sgYmFja2dyb3VuZAorNDEJZm9yIHJlZCBiYWNrZ3JvdW5kCis0Mglmb3IgZ3JlZW4gYmFja2dyb3VuZAorNDMJZm9yIHllbGxvdyAob3IgYnJvd24pIGJhY2tncm91bmQKKzQ0CWZvciBibHVlIGJhY2tncm91bmQKKzQ1CWZvciBwdXJwbGUgYmFja2dyb3VuZAorNDYJZm9yIGN5YW4gYmFja2dyb3VuZAorNDcJZm9yIHdoaXRlIChvciBncmF5KSBiYWNrZ3JvdW5kCisuVEUKKy5SRQorLlNTIEVzY2FwZSBzZXF1ZW5jZXMKK1RvIHNwZWNpZnkgY29udHJvbCBvciBibGFuayBjaGFyYWN0ZXJzIGluIHRoZSBjb2xvciBzZXF1ZW5jZXMsCitDLXN0eWxlIFxlLWVzY2FwZWQgbm90YXRpb24gY2FuIGJlIHVzZWQ6Cisuc3AKKy5SUworLlRTCitsYiBsLgorXGVhCUJlbGwgKEFTQ0lJIDcpCitcZWIJQmFja3NwYWNlIChBU0NJSSA4KQorXGVlCUVzY2FwZSAoQVNDSUkgMjcpCitcZWYJRm9ybSBmZWVkIChBU0NJSSAxMikKK1xlbglOZXdsaW5lIChBU0NJSSAxMCkKK1xlcglDYXJyaWFnZSBSZXR1cm4gKEFTQ0lJIDEzKQorXGV0CVRhYiAoQVNDSUkgOSkKK1xldglWZXJ0aWNhbCBUYWIgKEFTQ0lJIDExKQorXGU/CURlbGV0ZSAoQVNDSUkgMTI3KQorXGVfCVNwYWNlCitcZVxlCUJhY2tzbGFzaCAoXGUpCitcZV4JQ2FyZXQgKF4pCitcZSMJSGFzaCBtYXJrICgjKQorLlRFCisuUkUKKy5zcAorUGxlYXNlIG5vdGUgdGhhdCBlc2NhcGVzIGFyZSBuZWNlc3NhcnkgdG8gZW50ZXIgYSBzcGFjZSwgYmFja3NsYXNoLAorY2FyZXQsIG9yIGFueSBjb250cm9sIGNoYXJhY3RlciBhbnl3aGVyZSBpbiB0aGUgc3RyaW5nLCBhcyB3ZWxsIGFzIGEKK2hhc2ggbWFyayBhcyB0aGUgZmlyc3QgY2hhcmFjdGVyLgorCitGb3IgZXhhbXBsZSwgdG8gdXNlIGEgcmVkIGJhY2tncm91bmQgZm9yIGFsZXJ0IG1lc3NhZ2VzIGluIHRoZSBvdXRwdXQgb2YKKy5CUiBkbWVzZyAoMSksCit1c2U6CisKKy5SUworLmJyCisuQiAiZWNobyAnYWxlcnQgMzc7NDEnID4+IC9ldGMvdGVybWluYWwtY29sb3JzLmQvZG1lc2cuc2NoZW1lIgorLmJyCisuUkUKKworLlNTIENvbW1lbnRzCitMaW5lcyB3aGVyZSB0aGUgZmlyc3Qgbm9uLWJsYW5rIGNoYXJhY3RlciBpcyBhICMgKGhhc2gpIGFyZSBpZ25vcmVkLgorQW55IG90aGVyIHVzZSBvZiB0aGUgaGFzaCBjaGFyYWN0ZXIgaXMgbm90IGludGVycHJldGVkIGFzIGludHJvZHVjaW5nCithIGNvbW1lbnQuCisKKy5TSCBGSUxFUworLkkgJFhER19DT05GSUdfSE9NRS90ZXJtaW5hbC1jb2xvcnMuZAorLmJyCisuSSAkSE9NRS8uY29uZmlnL3Rlcm1pbmFsLWNvbG9ycy5kCisuYnIKKy5JIC9ldGMvdGVybWluYWwtY29sb3JzLmQKKworLlNIIEVOVklST05NRU5UCisuSVAgVEVSTUlOQUxfQ09MT1JTX0RFQlVHPWFsbAorZW5hYmxlcyBkZWJ1ZyBvdXRwdXQuCisKKy5TSCBDT01QQVRJQklMSVRZCitUaGUgdGVybWluYWwtY29sb3JzLmQgZnVuY3Rpb25hbGl0eSBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIGJ5IGFsbCB1dGlsLWxpbnV4Cit1dGlsaXRpZXMgd2hpY2ggcHJvdmlkZXMgY29sb3JpemVkIG91dHB1dC4gIEZvciBtb3JlIGRldGFpbHMgYWx3YXlzIHNlZSB0aGUKK0NPTE9SUyBzZWN0aW9uIGluIHRoZSBtYW4gcGFnZSBmb3IgdGhlIHV0aWxpdHkuCisKKy5TSCBBVkFJTEFCSUxJVFkKK3Rlcm1pbmFsLWNvbG9ycy5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBmdHA6Ly9cOmZ0cC5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL2xpYi90aW1lci5jIGIvbGliL3RpbWVyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjI2NTY5MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYi90aW1lci5jCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBQbGVhc2UsIGRvbid0IGFkZCB0aGlzIGZpbGUgdG8gbGliY29tbW9uIGJlY2F1c2UgdGltZXJzIHJlcXVpcmVzCisgKiAtbHJ0IG9uIHN5c3RlbXMgd2l0aCBvbGQgbGliYyAoYW5kIHByb2JhYmx5IGFsc28gLWxwdGhyZWFkIGZvciBzdGF0aWMKKyAqICBidWlsZCkuCisgKi8KKyNpbmNsdWRlIDx0aW1lLmg+CisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJ0aW1lci5oIgorCitpbnQgc2V0dXBfdGltZXIodGltZXJfdCAqIHRfaWQsIHN0cnVjdCBpdGltZXJ2YWwgKnRpbWVvdXQsCisJCXZvaWQgKCp0aW1lb3V0X2hhbmRsZXIpKGludCwgc2lnaW5mb190ICosIHZvaWQgKikpCit7CisJc3RydWN0IHNpZ2FjdGlvbiBzaWdfYTsKKwlzdGF0aWMgc3RydWN0IHNpZ2V2ZW50IHNpZ19lID0geworCQkuc2lnZXZfbm90aWZ5ID0gU0lHRVZfU0lHTkFMLAorCQkuc2lnZXZfc2lnbm8gPSBTSUdBTFJNCisJfTsKKwlzdHJ1Y3QgaXRpbWVyc3BlYyB2YWwgPSB7CisJCS5pdF92YWx1ZS50dl9zZWMgPSB0aW1lb3V0LT5pdF92YWx1ZS50dl9zZWMsCisJCS5pdF92YWx1ZS50dl9uc2VjID0gdGltZW91dC0+aXRfdmFsdWUudHZfdXNlYyAqIDEwMDAsCisJCS5pdF9pbnRlcnZhbC50dl9zZWMgPSAwLAorCQkuaXRfaW50ZXJ2YWwudHZfbnNlYyA9IDAKKwl9OworCisJaWYgKHNpZ2VtcHR5c2V0KCZzaWdfYS5zYV9tYXNrKSkKKwkJcmV0dXJuIDE7CisKKwlzaWdfYS5zYV9mbGFncyA9IFNBX1NJR0lORk87CisJc2lnX2Euc2Ffc2lnYWN0aW9uID0gdGltZW91dF9oYW5kbGVyOworCisJaWYgKHNpZ2FjdGlvbihTSUdBTFJNLCAmc2lnX2EsIDApKQorCQlyZXR1cm4gMTsKKwlpZiAodGltZXJfY3JlYXRlKENMT0NLX01PTk9UT05JQywgJnNpZ19lLCB0X2lkKSkKKwkJcmV0dXJuIDE7CisJaWYgKHRpbWVyX3NldHRpbWUoKnRfaWQsIFNBX1NJR0lORk8sICZ2YWwsIE5VTEwpKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKwordm9pZCBjYW5jZWxfdGltZXIodGltZXJfdCAqdF9pZCkKK3sKKwl0aW1lcl9kZWxldGUoKnRfaWQpOworfQpkaWZmIC0tZ2l0IGEvbGliL3RpbWV1dGlscy5jIGIvbGliL3RpbWV1dGlscy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwOGU2YmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvdGltZXV0aWxzLmMKQEAgLTAsMCArMSw0OTcgQEAKKy8qKioKKyAgRmlyc3Qgc2V0IG9mIGZ1bmN0aW9ucyBpbiB0aGlzIGZpbGUgYXJlIHBhcnQgb2Ygc3lzdGVtZCwgYW5kIHdlcmUKKyAgY29waWVkIHRvIHV0aWwtbGludXggYXQgQXVndXN0IDIwMTMuCisKKyAgQ29weXJpZ2h0IDIwMTAgTGVubmFydCBQb2V0dGVyaW5nCisKKyAgc3lzdGVtZCBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yCisgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgc3lzdGVtZCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyAgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VCisgIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgIGFsb25nIHdpdGggdXRpbC1saW51eDsgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKioqLworCisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx0aW1lLmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInRpbWV1dGlscy5oIgorCisjZGVmaW5lIFdISVRFU1BBQ0UgIiBcdFxuXHIiCisKKyNkZWZpbmUgc3RyZXEoYSxiKSAoc3RyY21wKChhKSwoYikpID09IDApCisKK3N0YXRpYyBpbnQgcGFyc2Vfc2VjKGNvbnN0IGNoYXIgKnQsIHVzZWNfdCAqdXNlYykKK3sKKwlzdGF0aWMgY29uc3Qgc3RydWN0IHsKKwkJY29uc3QgY2hhciAqc3VmZml4OworCQl1c2VjX3QgdXNlYzsKKwl9IHRhYmxlW10gPSB7CisJCXsgInNlY29uZHMiLAlVU0VDX1BFUl9TRUMgfSwKKwkJeyAic2Vjb25kIiwJVVNFQ19QRVJfU0VDIH0sCisJCXsgInNlYyIsCVVTRUNfUEVSX1NFQyB9LAorCQl7ICJzIiwJCVVTRUNfUEVSX1NFQyB9LAorCQl7ICJtaW51dGVzIiwJVVNFQ19QRVJfTUlOVVRFIH0sCisJCXsgIm1pbnV0ZSIsCVVTRUNfUEVSX01JTlVURSB9LAorCQl7ICJtaW4iLAlVU0VDX1BFUl9NSU5VVEUgfSwKKwkJeyAibW9udGhzIiwJVVNFQ19QRVJfTU9OVEggfSwKKwkJeyAibW9udGgiLAlVU0VDX1BFUl9NT05USCB9LAorCQl7ICJtc2VjIiwJVVNFQ19QRVJfTVNFQyB9LAorCQl7ICJtcyIsCQlVU0VDX1BFUl9NU0VDIH0sCisJCXsgIm0iLAkJVVNFQ19QRVJfTUlOVVRFIH0sCisJCXsgImhvdXJzIiwJVVNFQ19QRVJfSE9VUiB9LAorCQl7ICJob3VyIiwJVVNFQ19QRVJfSE9VUiB9LAorCQl7ICJociIsCQlVU0VDX1BFUl9IT1VSIH0sCisJCXsgImgiLAkJVVNFQ19QRVJfSE9VUiB9LAorCQl7ICJkYXlzIiwJVVNFQ19QRVJfREFZIH0sCisJCXsgImRheSIsCVVTRUNfUEVSX0RBWSB9LAorCQl7ICJkIiwJCVVTRUNfUEVSX0RBWSB9LAorCQl7ICJ3ZWVrcyIsCVVTRUNfUEVSX1dFRUsgfSwKKwkJeyAid2VlayIsCVVTRUNfUEVSX1dFRUsgfSwKKwkJeyAidyIsCQlVU0VDX1BFUl9XRUVLIH0sCisJCXsgInllYXJzIiwJVVNFQ19QRVJfWUVBUiB9LAorCQl7ICJ5ZWFyIiwJVVNFQ19QRVJfWUVBUiB9LAorCQl7ICJ5IiwJCVVTRUNfUEVSX1lFQVIgfSwKKwkJeyAidXNlYyIsCTFVTEwgfSwKKwkJeyAidXMiLAkJMVVMTCB9LAorCQl7ICIiLAkJVVNFQ19QRVJfU0VDIH0sCS8qIGRlZmF1bHQgaXMgc2VjICovCisJfTsKKworCWNvbnN0IGNoYXIgKnA7CisJdXNlY190IHIgPSAwOworCWludCBzb21ldGhpbmcgPSBGQUxTRTsKKworCWFzc2VydCh0KTsKKwlhc3NlcnQodXNlYyk7CisKKwlwID0gdDsKKwlmb3IgKDs7KSB7CisJCWxvbmcgbG9uZyBsLCB6ID0gMDsKKwkJY2hhciAqZTsKKwkJdW5zaWduZWQgaSwgbiA9IDA7CisKKwkJcCArPSBzdHJzcG4ocCwgV0hJVEVTUEFDRSk7CisKKwkJaWYgKCpwID09IDApIHsKKwkJCWlmICghc29tZXRoaW5nKQorCQkJCXJldHVybiAtRUlOVkFMOworCisJCQlicmVhazsKKwkJfQorCisJCWVycm5vID0gMDsKKwkJbCA9IHN0cnRvbGwocCwgJmUsIDEwKTsKKworCQlpZiAoZXJybm8gPiAwKQorCQkJcmV0dXJuIC1lcnJubzsKKworCQlpZiAobCA8IDApCisJCQlyZXR1cm4gLUVSQU5HRTsKKworCQlpZiAoKmUgPT0gJy4nKSB7CisJCQljaGFyICpiID0gZSArIDE7CisKKwkJCWVycm5vID0gMDsKKwkJCXogPSBzdHJ0b2xsKGIsICZlLCAxMCk7CisJCQlpZiAoZXJybm8gPiAwKQorCQkJCXJldHVybiAtZXJybm87CisKKwkJCWlmICh6IDwgMCkKKwkJCQlyZXR1cm4gLUVSQU5HRTsKKworCQkJaWYgKGUgPT0gYikKKwkJCQlyZXR1cm4gLUVJTlZBTDsKKworCQkJbiA9IGUgLSBiOworCisJCX0gZWxzZSBpZiAoZSA9PSBwKQorCQkJcmV0dXJuIC1FSU5WQUw7CisKKwkJZSArPSBzdHJzcG4oZSwgV0hJVEVTUEFDRSk7CisKKwkJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodGFibGUpOyBpKyspCisJCQlpZiAoc3RhcnRzd2l0aChlLCB0YWJsZVtpXS5zdWZmaXgpKSB7CisJCQkJdXNlY190IGsgPSAodXNlY190KSB6ICogdGFibGVbaV0udXNlYzsKKworCQkJCWZvciAoOyBuID4gMDsgbi0tKQorCQkJCQlrIC89IDEwOworCisJCQkJciArPSAodXNlY190KSBsICp0YWJsZVtpXS51c2VjICsgazsKKwkJCQlwID0gZSArIHN0cmxlbih0YWJsZVtpXS5zdWZmaXgpOworCisJCQkJc29tZXRoaW5nID0gVFJVRTsKKwkJCQlicmVhazsKKwkJCX0KKworCQlpZiAoaSA+PSBBUlJBWV9TSVpFKHRhYmxlKSkKKwkJCXJldHVybiAtRUlOVkFMOworCisJfQorCisJKnVzZWMgPSByOworCisJcmV0dXJuIDA7Cit9CisKK2ludCBwYXJzZV90aW1lc3RhbXAoY29uc3QgY2hhciAqdCwgdXNlY190ICp1c2VjKQoreworCXN0YXRpYyBjb25zdCBzdHJ1Y3QgeworCQljb25zdCBjaGFyICpuYW1lOworCQljb25zdCBpbnQgbnI7CisJfSBkYXlfbnJbXSA9IHsKKwkJeyAiU3VuZGF5IiwJMCB9LAorCQl7ICJTdW4iLAkwIH0sCisJCXsgIk1vbmRheSIsCTEgfSwKKwkJeyAiTW9uIiwJMSB9LAorCQl7ICJUdWVzZGF5IiwJMiB9LAorCQl7ICJUdWUiLAkyIH0sCisJCXsgIldlZG5lc2RheSIsCTMgfSwKKwkJeyAiV2VkIiwJMyB9LAorCQl7ICJUaHVyc2RheSIsCTQgfSwKKwkJeyAiVGh1IiwJNCB9LAorCQl7ICJGcmlkYXkiLAk1IH0sCisJCXsgIkZyaSIsCTUgfSwKKwkJeyAiU2F0dXJkYXkiLAk2IH0sCisJCXsgIlNhdCIsCTYgfSwKKwl9OworCisJY29uc3QgY2hhciAqazsKKwlzdHJ1Y3QgdG0gdG0sIGNvcHk7CisJdGltZV90IHg7CisJdXNlY190IHBsdXMgPSAwLCBtaW51cyA9IDAsIHJldDsKKwlpbnQgciwgd2Vla2RheSA9IC0xOworCXVuc2lnbmVkIGk7CisKKwkvKgorCSAqIEFsbG93ZWQgc3ludGF4ZXM6CisJICoKKwkgKiAgIDIwMTItMDktMjIgMTY6MzQ6MjIKKwkgKiAgIDIwMTItMDktMjIgMTY6MzQJICAoc2Vjb25kcyB3aWxsIGJlIHNldCB0byAwKQorCSAqICAgMjAxMi0wOS0yMgkJICAodGltZSB3aWxsIGJlIHNldCB0byAwMDowMDowMCkKKwkgKiAgIDE2OjM0OjIyCQkgIChkYXRlIHdpbGwgYmUgc2V0IHRvIHRvZGF5KQorCSAqICAgMTY6MzQJCSAgKGRhdGUgd2lsbCBiZSBzZXQgdG8gdG9kYXksIHNlY29uZHMgdG8gMCkKKwkgKiAgIG5vdworCSAqICAgeWVzdGVyZGF5CQkgICh0aW1lIGlzIHNldCB0byAwMDowMDowMCkKKwkgKiAgIHRvZGF5CQkgICh0aW1lIGlzIHNldCB0byAwMDowMDowMCkKKwkgKiAgIHRvbW9ycm93CQkgICh0aW1lIGlzIHNldCB0byAwMDowMDowMCkKKwkgKiAgICs1bWluCisJICogICAtNWRheXMKKwkgKgorCSAqLworCisJYXNzZXJ0KHQpOworCWFzc2VydCh1c2VjKTsKKworCXggPSB0aW1lKE5VTEwpOworCWxvY2FsdGltZV9yKCZ4LCAmdG0pOworCXRtLnRtX2lzZHN0ID0gLTE7CisKKwlpZiAoc3RyZXEodCwgIm5vdyIpKQorCQlnb3RvIGZpbmlzaDsKKworCWVsc2UgaWYgKHN0cmVxKHQsICJ0b2RheSIpKSB7CisJCXRtLnRtX3NlYyA9IHRtLnRtX21pbiA9IHRtLnRtX2hvdXIgPSAwOworCQlnb3RvIGZpbmlzaDsKKworCX0gZWxzZSBpZiAoc3RyZXEodCwgInllc3RlcmRheSIpKSB7CisJCXRtLnRtX21kYXktLTsKKwkJdG0udG1fc2VjID0gdG0udG1fbWluID0gdG0udG1faG91ciA9IDA7CisJCWdvdG8gZmluaXNoOworCisJfSBlbHNlIGlmIChzdHJlcSh0LCAidG9tb3Jyb3ciKSkgeworCQl0bS50bV9tZGF5Kys7CisJCXRtLnRtX3NlYyA9IHRtLnRtX21pbiA9IHRtLnRtX2hvdXIgPSAwOworCQlnb3RvIGZpbmlzaDsKKworCX0gZWxzZSBpZiAodFswXSA9PSAnKycpIHsKKworCQlyID0gcGFyc2Vfc2VjKHQgKyAxLCAmcGx1cyk7CisJCWlmIChyIDwgMCkKKwkJCXJldHVybiByOworCisJCWdvdG8gZmluaXNoOworCX0gZWxzZSBpZiAodFswXSA9PSAnLScpIHsKKworCQlyID0gcGFyc2Vfc2VjKHQgKyAxLCAmbWludXMpOworCQlpZiAociA8IDApCisJCQlyZXR1cm4gcjsKKworCQlnb3RvIGZpbmlzaDsKKworCX0gZWxzZSBpZiAoZW5kc3dpdGgodCwgIiBhZ28iKSkgeworCQljaGFyICp6OworCisJCXogPSBzdHJuZHVwKHQsIHN0cmxlbih0KSAtIDQpOworCQlpZiAoIXopCisJCQlyZXR1cm4gLUVOT01FTTsKKworCQlyID0gcGFyc2Vfc2VjKHosICZtaW51cyk7CisJCWZyZWUoeik7CisJCWlmIChyIDwgMCkKKwkJCXJldHVybiByOworCisJCWdvdG8gZmluaXNoOworCX0KKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGRheV9ucik7IGkrKykgeworCQlzaXplX3Qgc2tpcDsKKworCQlpZiAoIXN0YXJ0c3dpdGhfbm9fY2FzZSh0LCBkYXlfbnJbaV0ubmFtZSkpCisJCQljb250aW51ZTsKKworCQlza2lwID0gc3RybGVuKGRheV9ucltpXS5uYW1lKTsKKwkJaWYgKHRbc2tpcF0gIT0gJyAnKQorCQkJY29udGludWU7CisKKwkJd2Vla2RheSA9IGRheV9ucltpXS5ucjsKKwkJdCArPSBza2lwICsgMTsKKwkJYnJlYWs7CisJfQorCisJY29weSA9IHRtOworCWsgPSBzdHJwdGltZSh0LCAiJXktJW0tJWQgJUg6JU06JVMiLCAmdG0pOworCWlmIChrICYmICprID09IDApCisJCWdvdG8gZmluaXNoOworCisJdG0gPSBjb3B5OworCWsgPSBzdHJwdGltZSh0LCAiJVktJW0tJWQgJUg6JU06JVMiLCAmdG0pOworCWlmIChrICYmICprID09IDApCisJCWdvdG8gZmluaXNoOworCisJdG0gPSBjb3B5OworCWsgPSBzdHJwdGltZSh0LCAiJXktJW0tJWQgJUg6JU0iLCAmdG0pOworCWlmIChrICYmICprID09IDApIHsKKwkJdG0udG1fc2VjID0gMDsKKwkJZ290byBmaW5pc2g7CisJfQorCisJdG0gPSBjb3B5OworCWsgPSBzdHJwdGltZSh0LCAiJVktJW0tJWQgJUg6JU0iLCAmdG0pOworCWlmIChrICYmICprID09IDApIHsKKwkJdG0udG1fc2VjID0gMDsKKwkJZ290byBmaW5pc2g7CisJfQorCisJdG0gPSBjb3B5OworCWsgPSBzdHJwdGltZSh0LCAiJXktJW0tJWQiLCAmdG0pOworCWlmIChrICYmICprID09IDApIHsKKwkJdG0udG1fc2VjID0gdG0udG1fbWluID0gdG0udG1faG91ciA9IDA7CisJCWdvdG8gZmluaXNoOworCX0KKworCXRtID0gY29weTsKKwlrID0gc3RycHRpbWUodCwgIiVZLSVtLSVkIiwgJnRtKTsKKwlpZiAoayAmJiAqayA9PSAwKSB7CisJCXRtLnRtX3NlYyA9IHRtLnRtX21pbiA9IHRtLnRtX2hvdXIgPSAwOworCQlnb3RvIGZpbmlzaDsKKwl9CisKKwl0bSA9IGNvcHk7CisJayA9IHN0cnB0aW1lKHQsICIlSDolTTolUyIsICZ0bSk7CisJaWYgKGsgJiYgKmsgPT0gMCkKKwkJZ290byBmaW5pc2g7CisKKwl0bSA9IGNvcHk7CisJayA9IHN0cnB0aW1lKHQsICIlSDolTSIsICZ0bSk7CisJaWYgKGsgJiYgKmsgPT0gMCkgeworCQl0bS50bV9zZWMgPSAwOworCQlnb3RvIGZpbmlzaDsKKwl9CisKKwl0bSA9IGNvcHk7CisJayA9IHN0cnB0aW1lKHQsICIlWSVtJWQlSCVNJVMiLCAmdG0pOworCWlmIChrICYmICprID09IDApIHsKKwkJdG0udG1fc2VjID0gMDsKKwkJZ290byBmaW5pc2g7CisJfQorCisJcmV0dXJuIC1FSU5WQUw7CisKKyBmaW5pc2g6CisJeCA9IG1rdGltZSgmdG0pOworCWlmICh4ID09ICh0aW1lX3QpLTEpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKHdlZWtkYXkgPj0gMCAmJiB0bS50bV93ZGF5ICE9IHdlZWtkYXkpCisJCXJldHVybiAtRUlOVkFMOworCisJcmV0ID0gKHVzZWNfdCkgeCAqVVNFQ19QRVJfU0VDOworCisJcmV0ICs9IHBsdXM7CisJaWYgKHJldCA+IG1pbnVzKQorCQlyZXQgLT0gbWludXM7CisJZWxzZQorCQlyZXQgPSAwOworCisJKnVzZWMgPSByZXQ7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBmb3JtYXRfaXNvX3RpbWUoc3RydWN0IHRtICp0bSwgc3VzZWNvbmRzX3QgdXNlYywgaW50IGZsYWdzLCBjaGFyICpidWYsIHNpemVfdCBidWZzeikKK3sKKwljaGFyICpwID0gYnVmOworCWludCBsZW47CisKKwlpZiAoZmxhZ3MgJiBJU09fODYwMV9EQVRFKSB7CisJCWxlbiA9IHNucHJpbnRmKHAsIGJ1ZnN6LCAiJTRkLSUuMmQtJS4yZCIsIHRtLT50bV95ZWFyICsgMTkwMCwKKwkJCQkJCXRtLT50bV9tb24gKyAxLCB0bS0+dG1fbWRheSk7CisJCWlmIChsZW4gPCAwIHx8IChzaXplX3QpIGxlbiA+IGJ1ZnN6KQorCQkJcmV0dXJuIC0xOworCQlidWZzeiAtPSBsZW47CisJCXAgKz0gbGVuOworCX0KKworCWlmICgoZmxhZ3MgJiBJU09fODYwMV9EQVRFKSAmJiAoZmxhZ3MgJiBJU09fODYwMV9USU1FKSkgeworCQlpZiAoYnVmc3ogPCAxKQorCQkJcmV0dXJuIC0xOworCQkqcCsrID0gKGZsYWdzICYgSVNPXzg2MDFfU1BBQ0UpID8gJyAnIDogJ1QnOworCQlidWZzei0tOworCX0KKworCWlmIChmbGFncyAmIElTT184NjAxX1RJTUUpIHsKKwkJbGVuID0gc25wcmludGYocCwgYnVmc3osICIlMDJkOiUwMmQ6JTAyZCIsIHRtLT50bV9ob3VyLAorCQkJCQkJIHRtLT50bV9taW4sIHRtLT50bV9zZWMpOworCQlpZiAobGVuIDwgMCB8fCAoc2l6ZV90KSBsZW4gPiBidWZzeikKKwkJCXJldHVybiAtMTsKKwkJYnVmc3ogLT0gbGVuOworCQlwICs9IGxlbjsKKwl9CisKKwlpZiAoZmxhZ3MgJiBJU09fODYwMV9ET1RVU0VDKSB7CisJCWxlbiA9IHNucHJpbnRmKHAsIGJ1ZnN6LCAiLiUwNmxkIiwgKGxvbmcpIHVzZWMpOworCQlpZiAobGVuIDwgMCB8fCAoc2l6ZV90KSBsZW4gPiBidWZzeikKKwkJCXJldHVybiAtMTsKKwkJYnVmc3ogLT0gbGVuOworCQlwICs9IGxlbjsKKworCX0gZWxzZSBpZiAoZmxhZ3MgJiBJU09fODYwMV9DT01NQVVTRUMpIHsKKwkJbGVuID0gc25wcmludGYocCwgYnVmc3osICIsJTA2bGQiLCAobG9uZykgdXNlYyk7CisJCWlmIChsZW4gPCAwIHx8IChzaXplX3QpIGxlbiA+IGJ1ZnN6KQorCQkJcmV0dXJuIC0xOworCQlidWZzeiAtPSBsZW47CisJCXAgKz0gbGVuOworCX0KKworCWlmIChmbGFncyAmIElTT184NjAxX1RJTUVaT05FICYmIHN0cmZ0aW1lKHAsIGJ1ZnN6LCAiJXoiLCB0bSkgPD0gMCkKKwkJcmV0dXJuIC0xOworCisJcmV0dXJuIDA7Cit9CisKKy8qIHRpbWV2YWwgdG8gSVNPIDg2MDEgKi8KK2ludCBzdHJ0aW1ldmFsX2lzbyhzdHJ1Y3QgdGltZXZhbCAqdHYsIGludCBmbGFncywgY2hhciAqYnVmLCBzaXplX3QgYnVmc3opCit7CisJc3RydWN0IHRtIHRtOworCisJaWYgKGZsYWdzICYgSVNPXzg2MDFfR01USU1FKQorCQl0bSA9ICpnbXRpbWUoJnR2LT50dl9zZWMpOworCWVsc2UKKwkJdG0gPSAqbG9jYWx0aW1lKCZ0di0+dHZfc2VjKTsKKwlyZXR1cm4gZm9ybWF0X2lzb190aW1lKCZ0bSwgdHYtPnR2X3VzZWMsIGZsYWdzLCBidWYsIGJ1ZnN6KTsKK30KKworLyogc3RydWN0IHRtIHRvIElTTyA4NjAxICovCitpbnQgc3RydG1faXNvKHN0cnVjdCB0bSAqdG0sIGludCBmbGFncywgY2hhciAqYnVmLCBzaXplX3QgYnVmc3opCit7CisJcmV0dXJuIGZvcm1hdF9pc29fdGltZSh0bSwgMCwgZmxhZ3MsIGJ1ZiwgYnVmc3opOworfQorCisvKiB0aW1lX3QgdG8gSVNPIDg2MDEgKi8KK2ludCBzdHJ0aW1lX2lzbyhjb25zdCB0aW1lX3QgKnQsIGludCBmbGFncywgY2hhciAqYnVmLCBzaXplX3QgYnVmc3opCit7CisJc3RydWN0IHRtIHRtOworCisJaWYgKGZsYWdzICYgSVNPXzg2MDFfR01USU1FKQorCQl0bSA9ICpnbXRpbWUodCk7CisJZWxzZQorCQl0bSA9ICpsb2NhbHRpbWUodCk7CisJcmV0dXJuIGZvcm1hdF9pc29fdGltZSgmdG0sIDAsIGZsYWdzLCBidWYsIGJ1ZnN6KTsKK30KKworLyogcmVsYXRpdmUgdGltZSBmdW5jdGlvbnMgKi8KK2ludCB0aW1lX2lzX3RvZGF5KGNvbnN0IHRpbWVfdCAqdCwgc3RydWN0IHRpbWV2YWwgKm5vdykKK3sKKwlpZiAobm93LT50dl9zZWMgPT0gMCkKKwkJZ2V0dGltZW9mZGF5KG5vdywgTlVMTCk7CisJcmV0dXJuICp0IC8gKDM2MDAgKiAyNCkgPT0gbm93LT50dl9zZWMgLyAoMzYwMCAqIDI0KTsKK30KKworaW50IHRpbWVfaXNfdGhpc3llYXIoY29uc3QgdGltZV90ICp0LCBzdHJ1Y3QgdGltZXZhbCAqbm93KQoreworCWlmIChub3ctPnR2X3NlYyA9PSAwKQorCQlnZXR0aW1lb2ZkYXkobm93LCBOVUxMKTsKKwlyZXR1cm4gKnQgLyAoMzYwMCAqIDI0ICogMzY1KSA9PSBub3ctPnR2X3NlYyAvICgzNjAwICogMjQgKiAzNjUpOworfQorCitpbnQgc3RydGltZV9zaG9ydChjb25zdCB0aW1lX3QgKnQsIHN0cnVjdCB0aW1ldmFsICpub3csIGludCBmbGFncywgY2hhciAqYnVmLCBzaXplX3QgYnVmc3opCit7CisgICAgICAgIHN0cnVjdCB0bSB0bTsKKwlpbnQgcmMgPSAwOworCisgICAgICAgIGxvY2FsdGltZV9yKHQsICZ0bSk7CisKKwlpZiAodGltZV9pc190b2RheSh0LCBub3cpKSB7CisJCXJjID0gc25wcmludGYoYnVmLCBidWZzeiwgIiUwMmQ6JTAyZCIsIHRtLnRtX2hvdXIsIHRtLnRtX21pbik7CisJCWlmIChyYyA8IDAgfHwgKHNpemVfdCkgcmMgPiBidWZzeikKKwkJCXJldHVybiAtMTsKKwkJcmMgPSAxOworCisJfSBlbHNlIGlmICh0aW1lX2lzX3RoaXN5ZWFyKHQsIG5vdykpIHsKKwkJaWYgKGZsYWdzICYgVUxfU0hPUlRUSU1FX1RISVNZRUFSX0hITU0pCisJCQlyYyA9IHN0cmZ0aW1lKGJ1ZiwgYnVmc3osICIlYiVkLyVIOiVNIiwgJnRtKTsKKwkJZWxzZQorCQkJcmMgPSBzdHJmdGltZShidWYsIGJ1ZnN6LCAiJWIlZCIsICZ0bSk7CisJfSBlbHNlCisJCXJjID0gc3RyZnRpbWUoYnVmLCBidWZzeiwgIiVZLSViJWQiLCAmdG0pOworCisJcmV0dXJuIHJjIDw9IDAgPyAtMSA6IDA7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU1fVElNRVVUSUxTCisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IHRpbWV2YWwgdHYgPSB7IDAgfTsKKwljaGFyIGJ1ZltJU09fODYwMV9CVUZTSVpdOworCisJaWYgKGFyZ2MgPCAyKSB7CisJCWZwcmludGYoc3RkZXJyLCAidXNhZ2U6ICVzIDx0aW1lPiBbPHVzZWM+XVxuIiwgYXJndlswXSk7CisJCWV4aXQoRVhJVF9GQUlMVVJFKTsKKwl9CisKKwl0di50dl9zZWMgPSBzdHJ0b3M2NF9vcl9lcnIoYXJndlsxXSwgImZhaWxlZCB0byBwYXJzZSA8dGltZT4iKTsKKwlpZiAoYXJnYyA9PSAzKQorCQl0di50dl91c2VjID0gc3RydG9zNjRfb3JfZXJyKGFyZ3ZbMl0sICJmYWlsZWQgdG8gcGFyc2UgPHVzZWM+Iik7CisKKwlzdHJ0aW1ldmFsX2lzbygmdHYsIElTT184NjAxX0RBVEUsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCXByaW50ZigiRGF0ZTogJyVzJ1xuIiwgYnVmKTsKKworCXN0cnRpbWV2YWxfaXNvKCZ0diwgSVNPXzg2MDFfVElNRSwgYnVmLCBzaXplb2YoYnVmKSk7CisJcHJpbnRmKCJUaW1lOiAnJXMnXG4iLCBidWYpOworCisJc3RydGltZXZhbF9pc28oJnR2LCBJU09fODYwMV9EQVRFIHwgSVNPXzg2MDFfVElNRSB8IElTT184NjAxX0NPTU1BVVNFQywKKwkJCSAgICBidWYsIHNpemVvZihidWYpKTsKKwlwcmludGYoIkZ1bGw6ICclcydcbiIsIGJ1Zik7CisKKwlzdHJ0aW1ldmFsX2lzbygmdHYsIElTT184NjAxX0RBVEUgfCBJU09fODYwMV9USU1FIHwgSVNPXzg2MDFfRE9UVVNFQyB8CisJCQkgICAgSVNPXzg2MDFfVElNRVpPTkUgfCBJU09fODYwMV9TUEFDRSwKKwkJCSAgICBidWYsIHNpemVvZihidWYpKTsKKwlwcmludGYoIlpvbmU6ICclcydcbiIsIGJ1Zik7CisKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQorCisjZW5kaWYgLyogVEVTVF9QUk9HUkFNICovCmRpZmYgLS1naXQgYS9saWIvdHR5dXRpbHMuYyBiL2xpYi90dHl1dGlscy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkM2FjYWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvdHR5dXRpbHMuYwpAQCAtMCwwICsxLDEwNiBAQAorLyoKKyAqIE5vIGNvcHlyaWdodCBpcyBjbGFpbWVkLiAgVGhpcyBjb2RlIGlzIGluIHRoZSBwdWJsaWMgZG9tYWluOyBkbyB3aXRoCisgKiBpdCB3aGF0IHlvdSB3aXNoLgorICoKKyAqIFdyaXR0ZW4gYnkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKi8KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgInR0eXV0aWxzLmgiCisKK2ludCBnZXRfdGVybWluYWxfd2lkdGgoaW50IGRlZmF1bHRfd2lkdGgpCit7CisJaW50IHdpZHRoID0gMDsKKworI2lmIGRlZmluZWQoVElPQ0dXSU5TWikKKwlzdHJ1Y3Qgd2luc2l6ZQl3X3dpbjsKKwlpZiAoaW9jdGwgKFNURE9VVF9GSUxFTk8sIFRJT0NHV0lOU1osICZ3X3dpbikgPT0gMCkKKwkJd2lkdGggPSB3X3dpbi53c19jb2w7CisjZWxpZiBkZWZpbmVkKFRJT0NHU0laRSkKKwlzdHJ1Y3QgdHR5c2l6ZQl0X3dpbjsKKwlpZiAoaW9jdGwgKFNURE9VVF9GSUxFTk8sIFRJT0NHU0laRSwgJnRfd2luKSA9PSAwKQorCQl3aWR0aCA9IHRfd2luLnRzX2NvbHM7CisjZW5kaWYKKworCWlmICh3aWR0aCA8PSAwKSB7CisJCWNvbnN0IGNoYXIgKmNwID0gZ2V0ZW52KCJDT0xVTU5TIik7CisKKwkJaWYgKGNwKSB7CisJCQljaGFyICplbmQgPSBOVUxMOworCQkJbG9uZyBjOworCisJCQllcnJubyA9IDA7CisJCQljID0gc3RydG9sKGNwLCAmZW5kLCAxMCk7CisKKwkJCWlmIChlcnJubyA9PSAwICYmIGVuZCAmJiAqZW5kID09ICdcMCcgJiYgZW5kID4gY3AgJiYKKwkJCSAgICBjID4gMCAmJiBjIDw9IElOVF9NQVgpCisJCQkJd2lkdGggPSBjOworCQl9CisJfQorCisJcmV0dXJuIHdpZHRoID4gMCA/IHdpZHRoIDogZGVmYXVsdF93aWR0aDsKK30KKworaW50IGdldF90ZXJtaW5hbF9uYW1lKGNvbnN0IGNoYXIgKipwYXRoLAorCQkgICAgICBjb25zdCBjaGFyICoqbmFtZSwKKwkJICAgICAgY29uc3QgY2hhciAqKm51bWJlcikKK3sKKwljb25zdCBjaGFyICp0dHk7CisJY29uc3QgY2hhciAqcDsKKwlpbnQgZmQ7CisKKworCWlmIChuYW1lKQorCQkqbmFtZSA9IE5VTEw7CisJaWYgKHBhdGgpCisJCSpwYXRoID0gTlVMTDsKKwlpZiAobnVtYmVyKQorCQkqbnVtYmVyID0gTlVMTDsKKworCWlmIChpc2F0dHkoU1RESU5fRklMRU5PKSkKKwkJZmQgPSBTVERJTl9GSUxFTk87CisJZWxzZSBpZiAoaXNhdHR5KFNURE9VVF9GSUxFTk8pKQorCQlmZCA9IFNURE9VVF9GSUxFTk87CisJZWxzZSBpZiAoaXNhdHR5KFNUREVSUl9GSUxFTk8pKQorCQlmZCA9IFNUREVSUl9GSUxFTk87CisJZWxzZQorCQlyZXR1cm4gLTE7CisKKwl0dHkgPSB0dHluYW1lKGZkKTsKKwlpZiAoIXR0eSkKKwkJcmV0dXJuIC0xOworCWlmIChwYXRoKQorCQkqcGF0aCA9IHR0eTsKKwl0dHkgPSBzdHJuY21wKHR0eSwgIi9kZXYvIiwgNSkgPT0gMCA/IHR0eSArIDUgOiB0dHk7CisJaWYgKG5hbWUpCisJCSpuYW1lID0gdHR5OworCWlmIChudW1iZXIpIHsKKwkJZm9yIChwID0gdHR5OyBwICYmICpwOyBwKyspIHsKKwkJCWlmIChpc2RpZ2l0KCpwKSkgeworCQkJCSpudW1iZXIgPSBwOworCQkJCWJyZWFrOworCQkJfQorCQl9CisJfQorCXJldHVybiAwOworfQorCisKKyNpZmRlZiBURVNUX1BST0dSQU0KKyMgaW5jbHVkZSA8c3RkbGliLmg+CitpbnQgbWFpbih2b2lkKQoreworCWNvbnN0IGNoYXIgKnBhdGgsICpuYW1lLCAqbnVtOworCisJaWYgKGdldF90ZXJtaW5hbF9uYW1lKCZwYXRoLCAmbmFtZSwgJm51bSkgPT0gMCkgeworCQlmcHJpbnRmKHN0ZGVyciwgInR0eSBwYXRoOiAgICVzXG4iLCBwYXRoKTsKKwkJZnByaW50ZihzdGRlcnIsICJ0dHkgbmFtZTogICAlc1xuIiwgbmFtZSk7CisJCWZwcmludGYoc3RkZXJyLCAidHR5IG51bWJlcjogJXNcbiIsIG51bSk7CisJfQorCWZwcmludGYoc3RkZXJyLCAgICAgICAgICJ0dHkgd2lkdGg6ICAlZFxuIiwgZ2V0X3Rlcm1pbmFsX3dpZHRoKDApKTsKKworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL0NPUFlJTkcgYi9saWJibGtpZC9DT1BZSU5HCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlMWE1YjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9DT1BZSU5HCkBAIC0wLDAgKzEsOCBAQAorVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCit2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIKK3ZlcnNpb24uCisKK1RoZSBjb21wbGV0ZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGlzIGF2YWlsYWJsZSBpbiB0aGUKKy4uL0RvY3VtZW50YXRpb24vbGljZW5zZXMvQ09QWUlORy5MR1BMdjIuMSBmaWxlLgpkaWZmIC0tZ2l0IGEvbGliYmxraWQvTWFrZW1vZHVsZS5hbSBiL2xpYmJsa2lkL01ha2Vtb2R1bGUuYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjRmNmY5YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL01ha2Vtb2R1bGUuYW0KQEAgLTAsMCArMSwxNiBAQAoraWYgQlVJTERfTElCQkxLSUQKKworaW5jbHVkZSBsaWJibGtpZC9zcmMvTWFrZW1vZHVsZS5hbQoraW5jbHVkZSBsaWJibGtpZC9zYW1wbGVzL01ha2Vtb2R1bGUuYW0KKworaWYgRU5BQkxFX0dUS19ET0MKKyMgRG9jcyB1c2VzIHNlcGFyYXRlIE1ha2VmaWxlcworU1VCRElSUyArPSBsaWJibGtpZC9kb2NzCitlbmRpZgorCitwa2djb25maWdfREFUQSArPSBsaWJibGtpZC9ibGtpZC5wYworUEFUSEZJTEVTICAgICAgKz0gbGliYmxraWQvYmxraWQucGMKK2Rpc3RfbWFuX01BTlMgICs9IGxpYmJsa2lkL2xpYmJsa2lkLjMKK0VYVFJBX0RJU1QgICAgICs9IGxpYmJsa2lkL2xpYmJsa2lkLjMgbGliYmxraWQvQ09QWUlORworCitlbmRpZiAjIEJVSUxEX0xJQkJMS0lECmRpZmYgLS1naXQgYS9saWJibGtpZC9ibGtpZC5wYy5pbiBiL2xpYmJsa2lkL2Jsa2lkLnBjLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwZWM4YTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9ibGtpZC5wYy5pbgpAQCAtMCwwICsxLDExIEBACitwcmVmaXg9QHByZWZpeEAKK2V4ZWNfcHJlZml4PUBleGVjX3ByZWZpeEAKK2xpYmRpcj1AdXNybGliX2V4ZWNkaXJACitpbmNsdWRlZGlyPUBpbmNsdWRlZGlyQAorCitOYW1lOiBibGtpZAorRGVzY3JpcHRpb246IEJsb2NrIGRldmljZSBpZCBsaWJyYXJ5CitWZXJzaW9uOiBATElCQkxLSURfVkVSU0lPTkAKK1JlcXVpcmVzLnByaXZhdGU6IHV1aWQKK0NmbGFnczogLUkke2luY2x1ZGVkaXJ9L2Jsa2lkCitMaWJzOiAtTCR7bGliZGlyfSAtbGJsa2lkCmRpZmYgLS1naXQgYS9saWJibGtpZC9kb2NzLy5naXRpZ25vcmUgYi9saWJibGtpZC9kb2NzLy5naXRpZ25vcmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjkxZjkzZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL2RvY3MvLmdpdGlnbm9yZQpAQCAtMCwwICsxLDE4IEBACisqLWRlY2wtbGlzdC50eHQKKyotZGVjbC50eHQKKyotb3ZlcnJpZGVzLnR4dAorKi11bmRlY2xhcmVkLnR4dAorKi11bmRvY3VtZW50ZWQudHh0CisqLXVudXNlZC50eHQKKyouYXJncworKi5iYWsKKyouaGllcmFyY2h5CisqLmludGVyZmFjZXMKKyoucHJlcmVxdWlzaXRlcworKi5zaWduYWxzCisqLnN0YW1wCisqLnR5cGVzCitodG1sLyoKK3RtcGwvKgordmVyc2lvbi54bWwKK3htbC8qCmRpZmYgLS1naXQgYS9saWJibGtpZC9kb2NzL01ha2VmaWxlLmFtIGIvbGliYmxraWQvZG9jcy9NYWtlZmlsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzZkZDNlCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvZG9jcy9NYWtlZmlsZS5hbQpAQCAtMCwwICsxLDk1IEBACisjIyBQcm9jZXNzIHRoaXMgZmlsZSB3aXRoIGF1dG9tYWtlIHRvIHByb2R1Y2UgTWFrZWZpbGUuaW4KKworIyBXZSByZXF1aXJlIGF1dG9tYWtlIDEuMTAgYXQgbGVhc3QuCitBVVRPTUFLRV9PUFRJT05TID0gMS4xMAorCisjIFRoaXMgaXMgYSBibGFuayBNYWtlZmlsZS5hbSBmb3IgdXNpbmcgZ3RrLWRvYy4KKyMgQ29weSB0aGlzIHRvIHlvdXIgcHJvamVjdCdzIEFQSSBkb2NzIGRpcmVjdG9yeSBhbmQgbW9kaWZ5IHRoZSB2YXJpYWJsZXMgdG8KKyMgc3VpdCB5b3VyIHByb2plY3QuIFNlZSB0aGUgR1RLKyBNYWtlZmlsZXMgaW4gZ3RrKy9kb2NzL3JlZmVyZW5jZSBmb3IgZXhhbXBsZXMKKyMgb2YgdXNpbmcgdGhlIHZhcmlvdXMgb3B0aW9ucy4KKworIyBUaGUgbmFtZSBvZiB0aGUgbW9kdWxlLCBlLmcuICdnbGliJy4KK0RPQ19NT0RVTEU9bGliYmxraWQKKworIyBVbmNvbW1lbnQgZm9yIHZlcnNpb25lZCBkb2NzIGFuZCBzcGVjaWZ5IHRoZSB2ZXJzaW9uIG9mIHRoZSBtb2R1bGUsIGUuZy4gJzInLgorI0RPQ19NT0RVTEVfVkVSU0lPTj0yCisKKyMgVGhlIHRvcC1sZXZlbCBTR01MIGZpbGUuIFlvdSBjYW4gY2hhbmdlIHRoaXMgaWYgeW91IHdhbnQgdG8uCitET0NfTUFJTl9TR01MX0ZJTEU9JChET0NfTU9EVUxFKS1kb2NzLnhtbAorCisjIFRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgc291cmNlIGNvZGUuIFJlbGF0aXZlIHRvICQoc3JjZGlyKS4KKyMgZ3RrLWRvYyB3aWxsIHNlYXJjaCBhbGwgLmMgJiAuaCBmaWxlcyBiZW5lYXRoIGhlcmUgZm9yIGlubGluZSBjb21tZW50cworIyBkb2N1bWVudGluZyB0aGUgZnVuY3Rpb25zIGFuZCBtYWNyb3MuCisjIGUuZy4gRE9DX1NPVVJDRV9ESVI9Li4vLi4vLi4vZ3RrCitET0NfU09VUkNFX0RJUj0uLi9zcmMKKworIyBFeHRyYSBvcHRpb25zIHRvIHBhc3MgdG8gZ3RrZG9jLXNjYW5nb2JqLiBOb3Qgbm9ybWFsbHkgbmVlZGVkLgorU0NBTkdPQkpfT1BUSU9OUz0KKworIyBFeHRyYSBvcHRpb25zIHRvIHN1cHBseSB0byBndGtkb2Mtc2Nhbi4KKyMgZS5nLiBTQ0FOX09QVElPTlM9LS1kZXByZWNhdGVkLWd1YXJkcz0iR1RLX0RJU0FCTEVfREVQUkVDQVRFRCIKK1NDQU5fT1BUSU9OUz0tLWRlcHJlY2F0ZWQtZ3VhcmRzPSJCTEtJRF9ESVNBQkxFX0RFUFJFQ0FURUQiCisKKyMgRXh0cmEgb3B0aW9ucyB0byBzdXBwbHkgdG8gZ3RrZG9jLW1rZGIuCisjIGUuZy4gTUtEQl9PUFRJT05TPS0tc2dtbC1tb2RlIC0tb3V0cHV0LWZvcm1hdD14bWwKK01LREJfT1BUSU9OUz0tLXNnbWwtbW9kZSAtLW91dHB1dC1mb3JtYXQ9eG1sIC0tbmFtZS1zcGFjZSBibGtpZAorCisjIEV4dHJhIG9wdGlvbnMgdG8gc3VwcGx5IHRvIGd0a2RvYy1ta3RtcGwKKyMgZS5nLiBNS1RNUExfT1BUSU9OUz0tLW9ubHktc2VjdGlvbi10bXBsCitNS1RNUExfT1BUSU9OUz0KKworIyBFeHRyYSBvcHRpb25zIHRvIHN1cHBseSB0byBndGtkb2MtbWtodG1sCitNS0hUTUxfT1BUSU9OUz0KKworIyBFeHRyYSBvcHRpb25zIHRvIHN1cHBseSB0byBndGtkb2MtZml4cmVmLiBOb3Qgbm9ybWFsbHkgbmVlZGVkLgorIyBlLmcuIEZJWFhSRUZfT1BUSU9OUz0tLWV4dHJhLWRpcj0uLi9nZGstcGl4YnVmL2h0bWwgLS1leHRyYS1kaXI9Li4vZ2RrL2h0bWwKK0ZJWFhSRUZfT1BUSU9OUz0KKworIyBVc2VkIGZvciBkZXBlbmRlbmNpZXMuIFRoZSBkb2NzIHdpbGwgYmUgcmVidWlsdCBpZiBhbnkgb2YgdGhlc2UgY2hhbmdlLgorIyBlLmcuIEhGSUxFX0dMT0I9JCh0b3Bfc3JjZGlyKS9ndGsvKi5oCisjIGUuZy4gQ0ZJTEVfR0xPQj0kKHRvcF9zcmNkaXIpL2d0ay8qLmMKK0hGSUxFX0dMT0I9JCh0b3BfYnVpbGRkaXIpL2xpYmJsa2lkL3NyYy9ibGtpZC5oCitDRklMRV9HTE9CPSQodG9wX3NyY2RpcikvbGliYmxraWQvc3JjLyouYworCisjIEV4dHJhIGhlYWRlciB0byBpbmNsdWRlIHdoZW4gc2Nhbm5pbmcsIHdoaWNoIGFyZSBub3QgdW5kZXIgRE9DX1NPVVJDRV9ESVIKKyMgZS5nLiBFWFRSQV9IRklMRVM9JCh0b3Bfc3JjZGlyfS9jb250cmliL2V4dHJhLmgKK0VYVFJBX0hGSUxFUz0KKworIyBIZWFkZXIgZmlsZXMgdG8gaWdub3JlIHdoZW4gc2Nhbm5pbmcuIFVzZSBiYXNlIGZpbGUgbmFtZSwgbm8gcGF0aHMKKyMgZS5nLiBJR05PUkVfSEZJTEVTPWd0a2RlYnVnLmggZ3RraW50bC5oCitJR05PUkVfSEZJTEVTPWJsa2lkUC5oIHBhcnRpdGlvbnMuaCBzdXBlcmJsb2Nrcy5oIFwKKwkgICAgICB0b3BvbG9neS5oIGFpeC5oIGRvcy5oIGlzbzk2NjAuaAorCisjIEltYWdlcyB0byBjb3B5IGludG8gSFRNTCBkaXJlY3RvcnkuCisjIGUuZy4gSFRNTF9JTUFHRVM9JCh0b3Bfc3JjZGlyKS9ndGsvc3RvY2staWNvbnMvc3RvY2tfYWJvdXRfMjQucG5nCitIVE1MX0lNQUdFUz0KKworIyBFeHRyYSBTR01MIGZpbGVzIHRoYXQgYXJlIGluY2x1ZGVkIGJ5ICQoRE9DX01BSU5fU0dNTF9GSUxFKS4KKyMgZS5nLiBjb250ZW50X2ZpbGVzPXJ1bm5pbmcuc2dtbCBidWlsZGluZy5zZ21sIGNoYW5nZXMtMi4wLnNnbWwKK2NvbnRlbnRfZmlsZXMgPSAkKGJ1aWxkZGlyKS92ZXJzaW9uLnhtbCAkKHNyY2RpcikvbGliYmxraWQtY29uZmlnLnhtbAorCisjIFNHTUwgZmlsZXMgd2hlcmUgZ3RrLWRvYyBhYmJyZXZhdGlvbnMgKCNHdGtXaWRnZXQpIGFyZSBleHBhbmRlZAorIyBUaGVzZSBmaWxlcyBtdXN0IGJlIGxpc3RlZCBoZXJlICphbmQqIGluIGNvbnRlbnRfZmlsZXMKKyMgZS5nLiBleHBhbmRfY29udGVudF9maWxlcz1ydW5uaW5nLnNnbWwKK2V4cGFuZF9jb250ZW50X2ZpbGVzPQorCisjIENGTEFHUyBhbmQgTERGTEFHUyBmb3IgY29tcGlsaW5nIGd0a2RvYy1zY2FuZ29iaiB3aXRoIHlvdXIgbGlicmFyeS4KKyMgT25seSBuZWVkZWQgaWYgeW91IGFyZSB1c2luZyBndGtkb2Mtc2NhbmdvYmogdG8gZHluYW1pY2FsbHkgcXVlcnkgd2lkZ2V0CisjIHNpZ25hbHMgYW5kIHByb3BlcnRpZXMuCisjIGUuZy4gR1RLRE9DX0NGTEFHUz0tSSQodG9wX3NyY2RpcikgLUkkKHRvcF9idWlsZGRpcikgJChHVEtfREVCVUdfRkxBR1MpCisjIGUuZy4gR1RLRE9DX0xJQlM9JCh0b3BfYnVpbGRkaXIpL2d0ay8kKGd0a3RhcmdldGxpYikKK0dUS0RPQ19DRkxBR1M9CitHVEtET0NfTElCUz0KKworIyBUaGlzIGluY2x1ZGVzIHRoZSBzdGFuZGFyZCBndGstZG9jIG1ha2UgcnVsZXMsIGNvcGllZCBieSBndGtkb2NpemUuCitpbmNsdWRlICQodG9wX3NyY2RpcikvY29uZmlnL2d0ay1kb2MubWFrZQorCisjIE90aGVyIGZpbGVzIHRvIGRpc3RyaWJ1dGUKKyMgZS5nLiBFWFRSQV9ESVNUICs9IHZlcnNpb24ueG1sLmluCitFWFRSQV9ESVNUICs9IHZlcnNpb24ueG1sLmluICQoc3JjZGlyKS9saWJibGtpZC1jb25maWcueG1sCisKKyMgRmlsZXMgbm90IHRvIGRpc3RyaWJ1dGUKKyMgZm9yIC0tcmVidWlsZC10eXBlcyBpbiAkKFNDQU5fT1BUSU9OUyksIGUuZy4gJChET0NfTU9EVUxFKS50eXBlcworIyBmb3IgLS1yZWJ1aWxkLXNlY3Rpb25zIGluICQoU0NBTl9PUFRJT05TKSBlLmcuICQoRE9DX01PRFVMRSktc2VjdGlvbnMudHh0CitESVNUQ0xFQU5GSUxFUyArPSB2ZXJzaW9uLnhtbAorCmRpZmYgLS1naXQgYS9saWJibGtpZC9kb2NzL2xpYmJsa2lkLWNvbmZpZy54bWwgYi9saWJibGtpZC9kb2NzL2xpYmJsa2lkLWNvbmZpZy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODlmYmI3ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL2RvY3MvbGliYmxraWQtY29uZmlnLnhtbApAQCAtMCwwICsxLDU3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSByZWZlbnRyeSBQVUJMSUMgIi0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMy8vRU4iCisgICAgICAgICAgICAgICAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjMvZG9jYm9va3guZHRkIgorWworICA8IUVOVElUWSB2ZXJzaW9uIFNZU1RFTSAidmVyc2lvbi54bWwiPgorXT4KKzxyZWZlbnRyeSBpZD0ibGliYmxraWQtY29uZmlnIj4KKzxyZWZtZXRhPgorPHJlZmVudHJ5dGl0bGUgcm9sZT0idG9wX29mX3BhZ2UiIGlkPSJsaWJibGtpZC1jb25maWcudG9wX29mX3BhZ2UiPkNvbmZpZyBmaWxlPC9yZWZlbnRyeXRpdGxlPgorPG1hbnZvbG51bT4zPC9tYW52b2xudW0+Cis8cmVmbWlzY2luZm8+TElCQkxLSUQgTGlicmFyeTwvcmVmbWlzY2luZm8+Cis8L3JlZm1ldGE+CisKKzxyZWZuYW1lZGl2PgorPHJlZm5hbWU+Q29uZmlnIGZpbGU8L3JlZm5hbWU+Cis8cmVmcHVycG9zZT5jb25maWcgZmlsZSB0byBjb250cm9sIHBhdGhzIGFuZCBiYXNpYyBsaWJyYXJ5IGJlaGF2aW9yPC9yZWZwdXJwb3NlPgorPC9yZWZuYW1lZGl2PgorCis8cmVmc2VjdDEgaWQ9ImxpYmJsa2lkLWNvbmZpZy5kZXNjcmlwdGlvbiIgcm9sZT0iZGVzYyI+Cis8dGl0bGUgcm9sZT0iZGVzYy50aXRsZSI+RGVzY3JpcHRpb248L3RpdGxlPgorPHBhcmE+CitUaGUgc3RhbmRhcmQgbG9jYXRpb24gb2YgdGhlCisvZXRjL2Jsa2lkLmNvbmYgY29uZmlnIGZpbGUgY2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlCitCTEtJRF9DT05GLiAgVGhlIGZvbGxvd2luZyBvcHRpb25zIGNvbnRyb2wgdGhlIGxpYmJsa2lkIGxpYnJhcnk6Cis8L3BhcmE+CisKKzx2YXJpYWJsZWxpc3Qgcm9sZT0icGFyYW1zIj4KKyA8dmFybGlzdGVudHJ5PgorICA8dGVybT5TRU5EX1VFVkVOVD08cGFyYW1ldGVyPnllc3xub3Q8L3BhcmFtZXRlcj48L3Rlcm0+CisgIDxsaXN0aXRlbT48c2ltcGFyYT4KKyAgIFNlbmRzIHVldmVudCB3aGVuIC9kZXYvZGlzay9ieS17bGFiZWwsdXVpZH0vCisgICBzeW1saW5rIGRvZXMgbm90IG1hdGNoIHdpdGggTEFCRUwgb3IgVVVJRCBvbiB0aGUgZGV2aWNlLiBEZWZhdWx0IGlzICJ5ZXMiLgorICA8L3NpbXBhcmE+PC9saXN0aXRlbT4KKyA8L3Zhcmxpc3RlbnRyeT4KKyA8dmFybGlzdGVudHJ5PgorICA8dGVybT5DQUNIRV9GSUxFPTxwYXJhbWV0ZXI+cGF0aDwvcGFyYW1ldGVyPjwvdGVybT4KKyAgPGxpc3RpdGVtPjxzaW1wYXJhPgorICAgT3ZlcnJpZGVzIHRoZSBzdGFuZGFyZCBsb2NhdGlvbiBvZiB0aGUgY2FjaGUgZmlsZS4gVGhpcworICAgc2V0dGluZyBjYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgQkxLSURfRklMRS4gRGVmYXVsdCBpcworICAgL2V0Yy9ibGtpZC50YWIuCisgIDwvc2ltcGFyYT48L2xpc3RpdGVtPgorIDwvdmFybGlzdGVudHJ5PgorIDx2YXJsaXN0ZW50cnk+CisgIDx0ZXJtPkVWQUxVQVRFPTxwYXJhbWV0ZXI+bWV0aG9kPC9wYXJhbWV0ZXI+PC90ZXJtPgorICA8bGlzdGl0ZW0+PHNpbXBhcmE+CisgICBEZWZpbmVzIExBQkVMIGFuZCBVVUlEIGV2YWx1YXRpb24gbWV0aG9kKHMpLiBDdXJyZW50bHksCisgICB0aGUgbGliYmxraWQgbGlicmFyeSBzdXBwb3J0cyAidWRldiIgYW5kICJzY2FuIiBtZXRob2RzLiBNb3JlIHRoYW4gb25lIG1ldGhvZHMKKyAgIG1heSBiZSBzcGVjaWZpZWQgaW4gYSBjb21tYSBzZXBhcmF0ZWQgbGlzdC4gRGVmYXVsdCBpcyAidWRldixzY2FuIi4gVGhlICJ1ZGV2IgorICAgbWV0aG9kIHVzZXMgdWRldiAvZGV2L2Rpc2svYnktKiBzeW1saW5rcyBhbmQgdGhlICJzY2FuIiBtZXRob2Qgc2NhbnMgYWxsCisgICBibG9jayBkZXZpY2VzIGZyb20gdGhlIC9wcm9jL3BhcnRpdGlvbnMgZmlsZS4KKyAgPC9zaW1wYXJhPjwvbGlzdGl0ZW0+CisgPC92YXJsaXN0ZW50cnk+Cis8L3ZhcmlhYmxlbGlzdD4KKworPC9yZWZzZWN0MT4KKworPC9yZWZlbnRyeT4KZGlmZiAtLWdpdCBhL2xpYmJsa2lkL2RvY3MvbGliYmxraWQtZG9jcy54bWwgYi9saWJibGtpZC9kb2NzL2xpYmJsa2lkLWRvY3MueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5NjJjZTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9kb2NzL2xpYmJsa2lkLWRvY3MueG1sCkBAIC0wLDAgKzEsNzAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGJvb2sgUFVCTElDICItLy9PQVNJUy8vRFREIERvY0Jvb2sgWE1MIFY0LjMvL0VOIgorICAgICAgICAgICAgICAgImh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4zL2RvY2Jvb2t4LmR0ZCIKK1sKKyAgPCFFTlRJVFkgdmVyc2lvbiBTWVNURU0gInZlcnNpb24ueG1sIj4KK10+Cis8Ym9vayBpZD0iaW5kZXgiIHhtbG5zOnhpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAzL1hJbmNsdWRlIj4KKyAgPGJvb2tpbmZvPgorICAgIDx0aXRsZT5saWJibGtpZCBSZWZlcmVuY2UgTWFudWFsPC90aXRsZT4KKyAgICA8cmVsZWFzZWluZm8+Zm9yIGxpYmJsa2lkIHZlcnNpb24gJnZlcnNpb247PC9yZWxlYXNlaW5mbz4KKyAgICA8Y29weXJpZ2h0PgorICAgICAgPHllYXI+MjAwOS0yMDEzPC95ZWFyPgorICAgICAgPGhvbGRlcj5LYXJlbCBaYWsgJmx0O2t6YWtAcmVkaGF0LmNvbSZndDs8L2hvbGRlcj4KKyAgICA8L2NvcHlyaWdodD4KKyAgPC9ib29raW5mbz4KKworICA8cGFydCBpZD0iZ3RrIj4KKyAgICA8dGl0bGU+bGliYmxraWQgT3ZlcnZpZXc8L3RpdGxlPgorICAgIDxwYXJ0aW50cm8+CisgICAgPHBhcmE+CitUaGUgbGliYmxraWQgbGlicmFyeSBpcyB1c2VkIHRvIGlkZW50aWZ5IGJsb2NrIGRldmljZXMgKGRpc2tzKSBhcyB0byB0aGVpcgorY29udGVudCAoZS5nLiAgZmlsZXN5c3RlbSB0eXBlLCBwYXJ0aXRpb25zKSBhcyB3ZWxsIGFzIGV4dHJhY3RpbmcgYWRkaXRpb25hbAoraW5mb3JtYXRpb24gc3VjaCBhcyBmaWxlc3lzdGVtIGxhYmVscy92b2x1bWUgbmFtZXMsIHBhcnRpdGlvbnMsIHVuaXF1ZQoraWRlbnRpZmllcnMvc2VyaWFsIG51bWJlcnMsIGV0Yy4gIEEgY29tbW9uIHVzZSBpcyB0byBhbGxvdyB1c2Ugb2YgTEFCRUw9IGFuZAorVVVJRD0gdGFncyBpbnN0ZWFkIG9mIGhhcmQtY29kaW5nIHNwZWNpZmljIGJsb2NrIGRldmljZSBuYW1lcyBpbnRvCitjb25maWd1cmF0aW9uIGZpbGVzLgorICAgIDwvcGFyYT4KKyAgICA8cGFyYT4KK1RoZSBsaWJibGtpZCBsaWJyYXJ5Cit3YXMgd3JpdHRlbiBieSBBbmRyZWFzIERpbGdlciBmb3IgdGhlIGV4dDIgZmlsZXN5c3RlbSB1dGlsaXRpZXMsIHdpdGggaW5wdXQKK2Zyb20gVGVkIFRzJ28uICBUaGUgbGlicmFyeSB3YXMgc3Vic2VxdWVudGx5IGhlYXZpbHkgbW9kaWZpZWQgYnkgVGVkIFRzJ28uCisgICAgPC9wYXJhPgorICAgIDxwYXJhPgorVGhlIGxvdy1sZXZlbCBwcm9iaW5nIGNvZGUsIHRvcG9sb2d5IGFuZCBwYXJ0aXRpb25zIHN1cHBvcnQgd2FzIHdyaXR0ZW4KK2J5IEthcmVsIFphay4gQ3VycmVudGx5LCB0aGUgbGlicmFyeSBpcyBtYWludGFpbmVkIGJ5IEthcmVsIFphay4KKyAgICA8L3BhcmE+CisgICAgPHBhcmE+CitUaGUgbGlicmFyeSBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2Ugc2luY2UgdmVyc2lvbiAyLjE1IGFuZCBpcworYXZhaWxhYmxlIGZyb20gZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgorICAgIDwvcGFyYT4KKyAgPC9wYXJ0aW50cm8+CisgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9saWJibGtpZC1jb25maWcueG1sIi8+CisgPC9wYXJ0PgorCisgIDxwYXJ0PgorICAgIDx0aXRsZT5IaWdoLWxldmVsPC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvZXZhbHVhdGUueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2NhY2hlLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9zZWFyY2gueG1sIi8+CisgIDwvcGFydD4KKyAgPHBhcnQ+CisgICAgPHRpdGxlPkxvdy1sZXZlbDwvdGl0bGU+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2luaXQueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2xvd3Byb2JlLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9sb3dwcm9iZS10YWdzLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9zdXBlcmJsb2Nrcy54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvcGFydGl0aW9ucy54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvdG9wb2xvZ3kueG1sIi8+CisgIDwvcGFydD4KKyAgPHBhcnQ+CisgICAgPHRpdGxlPkNvbW1vbiB1dGlsczwvdGl0bGU+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2VuY29kZS54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvbWlzYy54bWwiLz4KKyAgPC9wYXJ0PgorCisgIDxpbmRleCBpZD0iYXBpLWluZGV4Ij4KKyAgICA8dGl0bGU+QVBJIEluZGV4PC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvYXBpLWluZGV4LWZ1bGwueG1sIj48eGk6ZmFsbGJhY2sgLz48L3hpOmluY2x1ZGU+CisgIDwvaW5kZXg+Cis8L2Jvb2s+CmRpZmYgLS1naXQgYS9saWJibGtpZC9kb2NzL2xpYmJsa2lkLXNlY3Rpb25zLnR4dCBiL2xpYmJsa2lkL2RvY3MvbGliYmxraWQtc2VjdGlvbnMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzY2Y4NGIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9kb2NzL2xpYmJsa2lkLXNlY3Rpb25zLnR4dApAQCAtMCwwICsxLDIwMSBAQAorPFNFQ1RJT04+Cis8RklMRT5ldmFsdWF0ZTwvRklMRT4KK2Jsa2lkX2V2YWx1YXRlX3RhZworYmxraWRfZXZhbHVhdGVfc3BlYworPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPmluaXQ8L0ZJTEU+CitibGtpZF9pbml0X2RlYnVnCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+Y2FjaGU8L0ZJTEU+CitibGtpZF9jYWNoZQorYmxraWRfZ2NfY2FjaGUKK2Jsa2lkX2dldF9jYWNoZQorYmxraWRfcHV0X2NhY2hlCitibGtpZF9wcm9iZV9hbGwKK2Jsa2lkX3Byb2JlX2FsbF9yZW1vdmFibGUKK2Jsa2lkX3Byb2JlX2FsbF9uZXcKK2Jsa2lkX3ZlcmlmeQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPnNlYXJjaDwvRklMRT4KK2Jsa2lkX2RldgorYmxraWRfZGV2X2Rldm5hbWUKK2Jsa2lkX2Rldl9oYXNfdGFnCitibGtpZF9kZXZfaXRlcmF0ZQorYmxraWRfZGV2X2l0ZXJhdGVfYmVnaW4KK2Jsa2lkX2Rldl9pdGVyYXRlX2VuZAorYmxraWRfZGV2X25leHQKK2Jsa2lkX2Rldl9zZXRfc2VhcmNoCitibGtpZF9maW5kX2Rldl93aXRoX3RhZworYmxraWRfZ2V0X2RldgorYmxraWRfZ2V0X2Rldm5hbWUKK2Jsa2lkX2dldF90YWdfdmFsdWUKK2Jsa2lkX3RhZ19pdGVyYXRlCitibGtpZF90YWdfaXRlcmF0ZV9iZWdpbgorYmxraWRfdGFnX2l0ZXJhdGVfZW5kCitibGtpZF90YWdfbmV4dAorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPmxvd3Byb2JlPC9GSUxFPgorYmxraWRfcHJvYmUKK2Jsa2lkX2ZyZWVfcHJvYmUKK2Jsa2lkX25ld19wcm9iZQorYmxraWRfbmV3X3Byb2JlX2Zyb21fZmlsZW5hbWUKK2Jsa2lkX3Byb2JlX2dldF9kZXZubworYmxraWRfcHJvYmVfZ2V0X2ZkCitibGtpZF9wcm9iZV9nZXRfb2Zmc2V0CitibGtpZF9wcm9iZV9nZXRfc2VjdG9ycworYmxraWRfcHJvYmVfZ2V0X3NlY3RvcnNpemUKK2Jsa2lkX3Byb2JlX2dldF9zaXplCitibGtpZF9wcm9iZV9nZXRfd2hvbGVkaXNrX2Rldm5vCitibGtpZF9wcm9iZV9pc193aG9sZWRpc2sKK2Jsa2lkX3Byb2JlX3NldF9kZXZpY2UKK2Jsa2lkX3Byb2JlX3N0ZXBfYmFjaworYmxraWRfcmVzZXRfcHJvYmUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5sb3dwcm9iZS10YWdzPC9GSUxFPgorYmxraWRfZG9fZnVsbHByb2JlCitibGtpZF9kb193aXBlCitibGtpZF9kb19wcm9iZQorYmxraWRfZG9fc2FmZXByb2JlCis8U1VCU0VDVElPTj4KK2Jsa2lkX3Byb2JlX2dldF92YWx1ZQorYmxraWRfcHJvYmVfaGFzX3ZhbHVlCitibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUKK2Jsa2lkX3Byb2JlX251bW9mX3ZhbHVlcworPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPnBhcnRpdGlvbnM8L0ZJTEU+CitibGtpZF9wYXJ0bGlzdAorYmxraWRfcGFydGl0aW9uCitibGtpZF9wYXJ0dGFibGUKK2Jsa2lkX3Byb2JlX2VuYWJsZV9wYXJ0aXRpb25zCitibGtpZF9wcm9iZV9zZXRfcGFydGl0aW9uc19mbGFncworYmxraWRfcHJvYmVfZmlsdGVyX3BhcnRpdGlvbnNfdHlwZQorYmxraWRfcHJvYmVfaW52ZXJ0X3BhcnRpdGlvbnNfZmlsdGVyCitibGtpZF9wcm9iZV9yZXNldF9wYXJ0aXRpb25zX2ZpbHRlcgorPFNVQlNFQ1RJT04+CitibGtpZF9rbm93bl9wdHR5cGUKKzxTVUJTRUNUSU9OPgorYmxraWRfcGFydGl0aW9uX2dldF9uYW1lCitibGtpZF9wYXJ0aXRpb25fZ2V0X2ZsYWdzCitibGtpZF9wYXJ0aXRpb25fZ2V0X3BhcnRubworYmxraWRfcGFydGl0aW9uX2dldF9zaXplCitibGtpZF9wYXJ0aXRpb25fZ2V0X3N0YXJ0CitibGtpZF9wYXJ0aXRpb25fZ2V0X3RhYmxlCitibGtpZF9wYXJ0aXRpb25fZ2V0X3R5cGUKK2Jsa2lkX3BhcnRpdGlvbl9nZXRfdHlwZV9zdHJpbmcKK2Jsa2lkX3BhcnRpdGlvbl9nZXRfdXVpZAorYmxraWRfcGFydGl0aW9uX2lzX2V4dGVuZGVkCitibGtpZF9wYXJ0aXRpb25faXNfbG9naWNhbAorYmxraWRfcGFydGl0aW9uX2lzX3ByaW1hcnkKKzxTVUJTRUNUSU9OPgorYmxraWRfcGFydGxpc3RfZ2V0X3BhcnRpdGlvbgorYmxraWRfcGFydGxpc3RfZ2V0X3BhcnRpdGlvbl9ieV9wYXJ0bm8KK2Jsa2lkX3BhcnRsaXN0X251bW9mX3BhcnRpdGlvbnMKK2Jsa2lkX3BhcnRsaXN0X2Rldm5vX3RvX3BhcnRpdGlvbgorYmxraWRfcGFydGxpc3RfZ2V0X3RhYmxlCis8U1VCU0VDVElPTj4KK2Jsa2lkX3BhcnR0YWJsZV9nZXRfaWQKK2Jsa2lkX3BhcnR0YWJsZV9nZXRfb2Zmc2V0CitibGtpZF9wYXJ0dGFibGVfZ2V0X3BhcmVudAorYmxraWRfcGFydHRhYmxlX2dldF90eXBlCis8U1VCU0VDVElPTj4KK2Jsa2lkX3Byb2JlX2dldF9wYXJ0aXRpb25zCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+c3VwZXJibG9ja3M8L0ZJTEU+CitibGtpZF9wcm9iZV9lbmFibGVfc3VwZXJibG9ja3MKKzxTVUJTRUNUSU9OPgorYmxraWRfa25vd25fZnN0eXBlCitibGtpZF9zdXBlcmJsb2Nrc19nZXRfbmFtZQorPFNVQlNFQ1RJT04+CitibGtpZF9wcm9iZV9maWx0ZXJfc3VwZXJibG9ja3NfdHlwZQorYmxraWRfcHJvYmVfZmlsdGVyX3N1cGVyYmxvY2tzX3VzYWdlCitibGtpZF9wcm9iZV9pbnZlcnRfc3VwZXJibG9ja3NfZmlsdGVyCitibGtpZF9wcm9iZV9yZXNldF9zdXBlcmJsb2Nrc19maWx0ZXIKK2Jsa2lkX3Byb2JlX3NldF9zdXBlcmJsb2Nrc19mbGFncworPFNVQlNFQ1RJT04+CitibGtpZF9wcm9iZV9yZXNldF9maWx0ZXIKK2Jsa2lkX3Byb2JlX2ZpbHRlcl90eXBlcworYmxraWRfcHJvYmVfZmlsdGVyX3VzYWdlCitibGtpZF9wcm9iZV9pbnZlcnRfZmlsdGVyCitibGtpZF9wcm9iZV9zZXRfcmVxdWVzdAorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPnRvcG9sb2d5PC9GSUxFPgorYmxraWRfdG9wb2xvZ3kKK2Jsa2lkX3Byb2JlX2VuYWJsZV90b3BvbG9neQorPFNVQlNFQ1RJT04+CitibGtpZF9wcm9iZV9nZXRfdG9wb2xvZ3kKK2Jsa2lkX3RvcG9sb2d5X2dldF9hbGlnbm1lbnRfb2Zmc2V0CitibGtpZF90b3BvbG9neV9nZXRfbG9naWNhbF9zZWN0b3Jfc2l6ZQorYmxraWRfdG9wb2xvZ3lfZ2V0X21pbmltdW1faW9fc2l6ZQorYmxraWRfdG9wb2xvZ3lfZ2V0X29wdGltYWxfaW9fc2l6ZQorYmxraWRfdG9wb2xvZ3lfZ2V0X3BoeXNpY2FsX3NlY3Rvcl9zaXplCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+ZW5jb2RlPC9GSUxFPgorYmxraWRfZW5jb2RlX3N0cmluZworYmxraWRfc2FmZV9zdHJpbmcKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5taXNjPC9GSUxFPgorYmxraWRfbG9mZl90CitibGtpZF9kZXZub190b19kZXZuYW1lCitibGtpZF9kZXZub190b193aG9sZWRpc2sKK2Jsa2lkX2dldF9kZXZfc2l6ZQorYmxraWRfZ2V0X2xpYnJhcnlfdmVyc2lvbgorYmxraWRfcGFyc2VfdGFnX3N0cmluZworYmxraWRfcGFyc2VfdmVyc2lvbl9zdHJpbmcKK2Jsa2lkX3NlbmRfdWV2ZW50CitCTEtJRF9WRVJTSU9OCitCTEtJRF9EQVRFCitCTEtJRF9GTFRSX05PVElOCitCTEtJRF9GTFRSX09OTFlJTgorQkxLSURfREVWX0NSRUFURQorQkxLSURfREVWX0ZJTkQKK0JMS0lEX0RFVl9OT1JNQUwKK0JMS0lEX0RFVl9WRVJJRlkKK0JMS0lEX1BBUlRTX0VOVFJZX0RFVEFJTFMKK0JMS0lEX1BBUlRTX0ZPUkNFX0dQVAorQkxLSURfUEFSVFNfTUFHSUMKK0JMS0lEX1BST0JSRVFfTEFCRUwKK0JMS0lEX1BST0JSRVFfTEFCRUxSQVcKK0JMS0lEX1BST0JSRVFfU0VDVFlQRQorQkxLSURfUFJPQlJFUV9UWVBFCitCTEtJRF9QUk9CUkVRX1VTQUdFCitCTEtJRF9QUk9CUkVRX1VVSUQKK0JMS0lEX1BST0JSRVFfVVVJRFJBVworQkxLSURfUFJPQlJFUV9WRVJTSU9OCitCTEtJRF9TVUJMS1NfQkFEQ1NVTQorQkxLSURfU1VCTEtTX0RFRkFVTFQKK0JMS0lEX1NVQkxLU19MQUJFTAorQkxLSURfU1VCTEtTX0xBQkVMUkFXCitCTEtJRF9TVUJMS1NfTUFHSUMKK0JMS0lEX1NVQkxLU19TRUNUWVBFCitCTEtJRF9TVUJMS1NfVFlQRQorQkxLSURfU1VCTEtTX1VTQUdFCitCTEtJRF9TVUJMS1NfVVVJRAorQkxLSURfU1VCTEtTX1VVSURSQVcKK0JMS0lEX1NVQkxLU19WRVJTSU9OCitCTEtJRF9VU0FHRV9DUllQVE8KK0JMS0lEX1VTQUdFX0ZJTEVTWVNURU0KK0JMS0lEX1VTQUdFX09USEVSCitCTEtJRF9VU0FHRV9SQUlECis8L1NFQ1RJT04+CisKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvZG9jcy92ZXJzaW9uLnhtbC5pbiBiL2xpYmJsa2lkL2RvY3MvdmVyc2lvbi54bWwuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDc4YmRhOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL2RvY3MvdmVyc2lvbi54bWwuaW4KQEAgLTAsMCArMSBAQAorQFZFUlNJT05ACmRpZmYgLS1naXQgYS9saWJibGtpZC9saWJibGtpZC4zIGIvbGliYmxraWQvbGliYmxraWQuMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMDRhMmM4Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvbGliYmxraWQuMwpAQCAtMCwwICsxLDc5IEBACisuXCIgQ29weXJpZ2h0IDIwMDEgQW5kcmVhcyBEaWxnZXIgKGFkaWxnZXJAdHVyYm9saW51eC5jb20pCisuXCIKKy5cIiBUaGlzIG1hbiBwYWdlIHdhcyBjcmVhdGVkIGZvciBsaWJibGtpZC5zby4xLjAgZnJvbSBlMmZzcHJvZ3MtMS4yNC4KKy5cIgorLlwiIFRoaXMgZmlsZSBtYXkgYmUgY29waWVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworLlwiIExpY2Vuc2UuCisuXCIKKy5cIiBDcmVhdGVkICBXZWQgU2VwIDE0IDEyOjAyOjEyIDIwMDEsIEFuZHJlYXMgRGlsZ2VyCisuVEggTElCQkxLSUQgMyAiTWF5IDIwMDkiICJ1dGlsLWxpbnV4IiAiUHJvZ3JhbW1lcidzIE1hbnVhbCIKKy5TSCBOQU1FCitsaWJibGtpZCBcLSBibG9jayBkZXZpY2UgaWRlbnRpZmljYXRpb24gbGlicmFyeQorLlNIIFNZTk9QU0lTCisuQiAjaW5jbHVkZSA8YmxraWQuaD4KKy5zcAorLkIgY2MKKy5JIGZpbGUuYworLkIgXC1sYmxraWQKKy5TSCBERVNDUklQVElPTgorVGhlCisuQiBsaWJibGtpZAorbGlicmFyeSBpcyB1c2VkIHRvIGlkZW50aWZ5IGJsb2NrIGRldmljZXMgKGRpc2tzKSBhcyB0byB0aGVpciBjb250ZW50IChlLmcuCitmaWxlc3lzdGVtIHR5cGUpIGFzIHdlbGwgYXMgZXh0cmFjdGluZyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHN1Y2ggYXMKK2ZpbGVzeXN0ZW0gbGFiZWxzL3ZvbHVtZSBuYW1lcywgdW5pcXVlIGlkZW50aWZpZXJzL3NlcmlhbCBudW1iZXJzLgorQSBjb21tb24gdXNlIGlzIHRvIGFsbG93IHVzZSBvZiBMQUJFTD0gYW5kIFVVSUQ9IHRhZ3MgaW5zdGVhZCBvZiBoYXJkLWNvZGluZworc3BlY2lmaWMgYmxvY2sgZGV2aWNlIG5hbWVzIGludG8gY29uZmlndXJhdGlvbiBmaWxlcy4KKy5QCitUaGUgbG93LWxldmVsIHBhcnQgb2YgdGhlIGxpYnJhcnkgYWxzbyBhbGxvd3MgdG8gZXh0cmFjdCBpbmZvcm1hdGlvbiBhYm91dAorcGFydGl0aW9ucyBhbmQgYmxvY2sgZGV2aWNlIHRvcG9sb2d5LgorLlAKK1RoZSBoaWdoLWxldmVsIHBhcnQgb2YgdGhlIGxpYnJhcnkga2VlcHMgaW5mb3JtYXRpb24gYWJvdXQgYmxvY2sgZGV2aWNlcyBpbiBhCitjYWNoZSBmaWxlIGFuZCBpcyB2ZXJpZmllZCB0byBzdGlsbCBiZSB2YWxpZCBiZWZvcmUgYmVpbmcgcmV0dXJuZWQgdG8gdGhlIHVzZXIKKyhpZiB0aGUgdXNlciBoYXMgcmVhZCBwZXJtaXNzaW9uIG9uIHRoZSByYXcgYmxvY2sgZGV2aWNlLCBvdGhlcndpc2Ugbm90KS4KK1RoZSBjYWNoZSBmaWxlIGFsc28gYWxsb3dzIHVucHJpdmlsZWdlZCB1c2VycyAobm9ybWFsbHkgYW55b25lIG90aGVyCit0aGFuIHJvb3QsIG9yIHRob3NlIG5vdCBpbiB0aGUgImRpc2siIGdyb3VwKSB0byBsb2NhdGUgZGV2aWNlcyBieSBsYWJlbC9pZC4KK1RoZSBzdGFuZGFyZCBsb2NhdGlvbiBvZiB0aGUgY2FjaGUgZmlsZSBjYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUKK2Vudmlyb25tZW50IHZhcmlhYmxlIEJMS0lEX0ZJTEUuCisuUAorSW4gc2l0dWF0aW9ucyB3aGVyZSBvbmUgaXMgZ2V0dGluZyBpbmZvcm1hdGlvbiBhYm91dCBhIHNpbmdsZSBrbm93biBkZXZpY2UsIGl0Citkb2VzIG5vdCBpbXBhY3QgcGVyZm9ybWFuY2Ugd2hldGhlciB0aGUgY2FjaGUgaXMgdXNlZCBvciBub3QgKHVubGVzcyB5b3UgYXJlCitub3QgYWJsZSB0byByZWFkIHRoZSBibG9jayBkZXZpY2UgZGlyZWN0bHkpLgorLlAKK1RoZSBoaWdoLWxldmVsIHBhcnQgb2YgdGhlIGxpYnJhcnkgc3VwcG9ydHMgdHdvIG1ldGhvZHMgdG8gZXZhbHVhdGUgTEFCRUwvVVVJRC4KK0l0IHJlYWRzIGluZm9ybWF0aW9uIGRpcmVjdGx5IGZyb20gYSBibG9jayBkZXZpY2Ugb3IgcmVhZCBpbmZvcm1hdGlvbiBmcm9tCisvZGV2L2Rpc2svYnktKiB1ZGV2IHN5bWxpbmtzLiAgVGhlIHVkZXYgaXMgcHJlZmVycmVkIG1ldGhvZCBieSBkZWZhdWx0LgorLlAKK0lmIHlvdSBhcmUgZGVhbGluZyB3aXRoCittdWx0aXBsZSBkZXZpY2VzLCB1c2Ugb2YgdGhlIGNhY2hlIGlzIGhpZ2hseSByZWNvbW1lbmRlZCAoZXZlbiBpZiBlbXB0eSkgYXMKK2RldmljZXMgd2lsbCBiZSBzY2FubmVkIGF0IG1vc3Qgb25lIHRpbWUgYW5kIHRoZSBvbi1kaXNrIGNhY2hlIHdpbGwgYmUKK3VwZGF0ZWQgaWYgcG9zc2libGUuCisuUAorSW4gc29tZSBjYXNlcyAobW9kdWxhciBrZXJuZWxzKSwgYmxvY2sgZGV2aWNlcyBhcmUgbm90IGV2ZW4gdmlzaWJsZSB1bnRpbAorYWZ0ZXIgdGhleSBhcmUgYWNjZXNzZWQgdGhlIGZpcnN0IHRpbWUsIHNvIGl0IGlzIGNyaXRpY2FsIHRoYXQgdGhlcmUgaXMKK3NvbWUgd2F5IHRvIGxvY2F0ZSB0aGVzZSBkZXZpY2VzIHdpdGhvdXQgZW51bWVyYXRpbmcgb25seSB2aXNpYmxlIGRldmljZXMsCitzbyB0aGUgdXNlIG9mIHRoZSBjYWNoZSBmaWxlIGlzCisuQiByZXF1aXJlZAoraW4gdGhpcyBzaXR1YXRpb24uCisuU0ggQ09ORklHVVJBVElPTiBGSUxFCitUaGUgc3RhbmRhcmQgbG9jYXRpb24gb2YgdGhlCisuSSAvZXRjL2Jsa2lkLmNvbmYKK2NvbmZpZyBmaWxlIGNhbiBiZSBvdmVycmlkZGVuIGJ5IHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBCTEtJRF9DT05GLiAgRm9yIG1vcmUKK2RldGFpbHMgYWJvdXQgdGhlIGNvbmZpZyBmaWxlIHNlZQorLkJSIGJsa2lkICg4KQorbWFuIHBhZ2UuCisuU0ggQVVUSE9SCisuQiBsaWJibGtpZAord2FzIHdyaXR0ZW4gYnkgQW5kcmVhcyBEaWxnZXIgZm9yIHRoZSBleHQyIGZpbGVzeXN0ZW0gdXRpbGl0aWVzLCB3aXRoIGlucHV0Citmcm9tIFRlZCBUcydvLiAgVGhlIGxpYnJhcnkgd2FzIHN1YnNlcXVlbnRseSBoZWF2aWx5IG1vZGlmaWVkIGJ5IFRlZCBUcydvLgorCitUaGUgbG93LWxldmVsIHByb2JpbmcgY29kZSB3YXMgcmV3cml0dGVuIGJ5IEthcmVsIFphay4KKy5TSCBDT1BZSU5HCisuQiBsaWJibGtpZAoraXMgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoTEdQTCksCit2ZXJzaW9uIDIgKG9yIGF0IHlvdXIgZGlzY3JldGlvbiBhbnkgbGF0ZXIgdmVyc2lvbikuCisuU0ggIlNFRSBBTFNPIgorLkJSIGJsa2lkICg4KSwKKy5CUiBmaW5kZnMgKDgpCisuU0ggQVZBSUxBQklMSVRZCitsaWJibGtpZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2Ugc2luY2UgdmVyc2lvbiAyLjE1IGFuZCBpcyBhdmFpbGFibGUgZnJvbQorZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc2FtcGxlcy8uZ2l0aWdub3JlIGIvbGliYmxraWQvc2FtcGxlcy8uZ2l0aWdub3JlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlZmViNjIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zYW1wbGVzLy5naXRpZ25vcmUKQEAgLTAsMCArMSw0IEBACitta2ZzCitwYXJ0aXRpb25zCitzdXBlcmJsb2NrcwordG9wb2xvZ3kKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NhbXBsZXMvTWFrZW1vZHVsZS5hbSBiL2xpYmJsa2lkL3NhbXBsZXMvTWFrZW1vZHVsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMTRkMTNmCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc2FtcGxlcy9NYWtlbW9kdWxlLmFtCkBAIC0wLDAgKzEsMjIgQEAKKworY2hlY2tfUFJPR1JBTVMgKz0gXAorCXNhbXBsZS1ta2ZzIFwKKwlzYW1wbGUtcGFydGl0aW9ucyBcCisJc2FtcGxlLXN1cGVyYmxvY2tzIFwKKwlzYW1wbGUtdG9wb2xvZ3kKKworc2FtcGxlX21rZnNfU09VUkNFUyA9IGxpYmJsa2lkL3NhbXBsZXMvbWtmcy5jCitzYW1wbGVfbWtmc19MREFERCA9ICQoTERBREQpIGxpYmJsa2lkLmxhCitzYW1wbGVfbWtmc19DRkxBR1MgPSAkKEFNX0NGTEFHUykgLUkkKHVsX2xpYmJsa2lkX2luY2RpcikKKworc2FtcGxlX3BhcnRpdGlvbnNfU09VUkNFUyA9IGxpYmJsa2lkL3NhbXBsZXMvcGFydGl0aW9ucy5jCitzYW1wbGVfcGFydGl0aW9uc19MREFERCA9ICQoTERBREQpIGxpYmJsa2lkLmxhCitzYW1wbGVfcGFydGl0aW9uc19DRkxBR1MgPSAkKEFNX0NGTEFHUykgLUkkKHVsX2xpYmJsa2lkX2luY2RpcikKKworc2FtcGxlX3N1cGVyYmxvY2tzX1NPVVJDRVMgPSBsaWJibGtpZC9zYW1wbGVzL3N1cGVyYmxvY2tzLmMKK3NhbXBsZV9zdXBlcmJsb2Nrc19MREFERCA9ICQoTERBREQpIGxpYmJsa2lkLmxhCitzYW1wbGVfc3VwZXJibG9ja3NfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1JJCh1bF9saWJibGtpZF9pbmNkaXIpCisKK3NhbXBsZV90b3BvbG9neV9TT1VSQ0VTID0gbGliYmxraWQvc2FtcGxlcy90b3BvbG9neS5jCitzYW1wbGVfdG9wb2xvZ3lfTERBREQgPSAkKExEQUREKSBsaWJibGtpZC5sYQorc2FtcGxlX3RvcG9sb2d5X0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtSSQodWxfbGliYmxraWRfaW5jZGlyKQpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc2FtcGxlcy9ta2ZzLmMgYi9saWJibGtpZC9zYW1wbGVzL21rZnMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDIzZjkxCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc2FtcGxlcy9ta2ZzLmMKQEAgLTAsMCArMSw3OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorCisjaW5jbHVkZSA8YmxraWQuaD4KKworI2luY2x1ZGUgImMuaCIKKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlpbnQgcmM7CisJY2hhciAqZGV2bmFtZTsKKwlibGtpZF9wcm9iZSBwcjsKKwlibGtpZF90b3BvbG9neSB0cDsKKworCWlmIChhcmdjIDwgMikgeworCQlmcHJpbnRmKHN0ZGVyciwgInVzYWdlOiAlcyA8ZGV2aWNlPiAgIgorCQkJIi0tIGNoZWNrcyBiYXNlZCBvbiBsaWJibGtpZCBmb3IgbWtmcy1saWtlIHByb2dyYW1zLlxuIiwKKwkJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKwl9CisKKwlkZXZuYW1lID0gYXJndlsxXTsKKwlwciA9IGJsa2lkX25ld19wcm9iZV9mcm9tX2ZpbGVuYW1lKGRldm5hbWUpOworCWlmICghcHIpCisJCWVycihFWElUX0ZBSUxVUkUsICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIG5ldyBsaWJibGtpZCBwcm9iZSIsCisJCQkJZGV2bmFtZSk7CisKKwkvKgorCSAqIGNoZWNrIEZpbGVzeXN0ZW1zIC8gUGFydGl0aW9ucyBvdmVyd3JpdGUKKwkgKi8KKworCS8qIGVuYWJsZSBwYXJ0aXRpb25zIHByb2JpbmcgKHN1cGVyYmxvY2tzIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQpICovCisJYmxraWRfcHJvYmVfZW5hYmxlX3BhcnRpdGlvbnMocHIsIFRSVUUpOworCisJcmMgPSBibGtpZF9kb19mdWxscHJvYmUocHIpOworCWlmIChyYyA9PSAtMSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsICIlczogYmxraWRfZG9fZnVsbHByb2JlKCkgZmFpbGVkIiwgZGV2bmFtZSk7CisJZWxzZSBpZiAocmMgPT0gMCkgeworCQljb25zdCBjaGFyICp0eXBlOworCisJCWlmICghYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlKHByLCAiVFlQRSIsICZ0eXBlLCBOVUxMKSkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCAiJXM6IGFwcGVhcnMgdG8gY29udGFpbiBhbiBleGlzdGluZyAiCisJCQkJCSIlcyBzdXBlcmJsb2NrIiwgZGV2bmFtZSwgdHlwZSk7CisKKwkJaWYgKCFibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJQVFRZUEUiLCAmdHlwZSwgTlVMTCkpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgIiVzOiBhcHBlYXJzIHRvIGNvbnRhaW4gYW4gcGFydGl0aW9uICIKKwkJCQkJInRhYmxlICglcykiLCBkZXZuYW1lLCB0eXBlKTsKKwl9CisKKwkvKgorCSAqIGdldCB0b3BvbG9neSBkZXRhaWxzCisJICovCisJdHAgPSBibGtpZF9wcm9iZV9nZXRfdG9wb2xvZ3kocHIpOworCWlmICghdHApCisJCWVycngoRVhJVF9GQUlMVVJFLCAiJXM6IGZhaWxlZCB0byByZWFkIHRvcG9sb2d5IiwgZGV2bmFtZSk7CisKKworCS8qIC4uLiB5b3VyIG1rZnMuPHR5cGU+IGNvZGUgb3Igc28gLi4uCisKKwlvZmYgPSBibGtpZF90b3BvbG9neV9nZXRfYWxpZ25tZW50X29mZnNldCh0cCk7CisKKwkgKi8KKworCWJsa2lkX2ZyZWVfcHJvYmUocHIpOworCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NhbXBsZXMvcGFydGl0aW9ucy5jIGIvbGliYmxraWQvc2FtcGxlcy9wYXJ0aXRpb25zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzU4MzBlNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NhbXBsZXMvcGFydGl0aW9ucy5jCkBAIC0wLDAgKzEsOTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKworI2luY2x1ZGUgPGJsa2lkLmg+CisjaW5jbHVkZSAiYy5oIgorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWludCBpLCBucGFydHM7CisJY2hhciAqZGV2bmFtZTsKKwlibGtpZF9wcm9iZSBwcjsKKwlibGtpZF9wYXJ0bGlzdCBsczsKKwlibGtpZF9wYXJ0dGFibGUgcm9vdF90YWI7CisKKwlpZiAoYXJnYyA8IDIpIHsKKwkJZnByaW50ZihzdGRlcnIsICJ1c2FnZTogJXMgPGRldmljZXxmaWxlPiAgIgorCQkJCSItLSBwcmludHMgcGFydGl0aW9uc1xuIiwKKwkJCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJfQorCisJZGV2bmFtZSA9IGFyZ3ZbMV07CisJcHIgPSBibGtpZF9uZXdfcHJvYmVfZnJvbV9maWxlbmFtZShkZXZuYW1lKTsKKwlpZiAoIXByKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBuZXcgbGliYmxraWQgcHJvYmUiLAorCQkJCWRldm5hbWUpOworCS8qIEJpbmFyeSBpbnRlcmZhY2UgKi8KKwlscyA9IGJsa2lkX3Byb2JlX2dldF9wYXJ0aXRpb25zKHByKTsKKwlpZiAoIWxzKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb25zXG4iLCBkZXZuYW1lKTsKKworCS8qCisJICogUHJpbnQgaW5mbyBhYm91dCB0aGUgcHJpbWFyeSAocm9vdCkgcGFydGl0aW9uIHRhYmxlCisJICovCisJcm9vdF90YWIgPSBibGtpZF9wYXJ0bGlzdF9nZXRfdGFibGUobHMpOworCWlmICghcm9vdF90YWIpCisJCWVycngoRVhJVF9GQUlMVVJFLCAiJXM6IGRvZXMgbm90IGNvbnRhaW5zIGFueSAiCisJCQkJICJrbm93biBwYXJ0aXRpb24gdGFibGVcbiIsIGRldm5hbWUpOworCisJcHJpbnRmKCJzaXplOiAlamQsIHNlY3RvciBzaXplOiAldSwgUFQ6ICVzLCBvZmZzZXQ6ICVqZCwgaWQ9JXNcbi0tLVxuIiwKKwkJKGludG1heF90KWJsa2lkX3Byb2JlX2dldF9zaXplKHByKSwKKwkJYmxraWRfcHJvYmVfZ2V0X3NlY3RvcnNpemUocHIpLAorCQlibGtpZF9wYXJ0dGFibGVfZ2V0X3R5cGUocm9vdF90YWIpLAorCQkoaW50bWF4X3QpYmxraWRfcGFydHRhYmxlX2dldF9vZmZzZXQocm9vdF90YWIpLAorCQlibGtpZF9wYXJ0dGFibGVfZ2V0X2lkKHJvb3RfdGFiKSk7CisKKwkvKgorCSAqIExpc3QgcGFydGl0aW9ucworCSAqLworCW5wYXJ0cyA9IGJsa2lkX3BhcnRsaXN0X251bW9mX3BhcnRpdGlvbnMobHMpOworCWlmICghbnBhcnRzKQorCQlnb3RvIGRvbmU7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnBhcnRzOyBpKyspIHsKKwkJY29uc3QgY2hhciAqcDsKKwkJYmxraWRfcGFydGl0aW9uIHBhciA9IGJsa2lkX3BhcnRsaXN0X2dldF9wYXJ0aXRpb24obHMsIGkpOworCQlibGtpZF9wYXJ0dGFibGUgdGFiID0gYmxraWRfcGFydGl0aW9uX2dldF90YWJsZShwYXIpOworCisJCXByaW50ZigiIyVkOiAlMTBsbHUgJTEwbGx1ICAweCV4IiwKKwkJCWJsa2lkX3BhcnRpdGlvbl9nZXRfcGFydG5vKHBhciksCisJCQkodW5zaWduZWQgbG9uZyBsb25nKSBibGtpZF9wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBhciksCisJCQkodW5zaWduZWQgbG9uZyBsb25nKSBibGtpZF9wYXJ0aXRpb25fZ2V0X3NpemUocGFyKSwKKwkJCWJsa2lkX3BhcnRpdGlvbl9nZXRfdHlwZShwYXIpKTsKKworCQlpZiAocm9vdF90YWIgIT0gdGFiKQorCQkJLyogc3VicGFydGl0aW9uIChCU0QsIE1pbml4LCAuLi4pICovCisJCQlwcmludGYoIiAoJXMpIiwgYmxraWRfcGFydHRhYmxlX2dldF90eXBlKHRhYikpOworCisJCXAgPSBibGtpZF9wYXJ0aXRpb25fZ2V0X25hbWUocGFyKTsKKwkJaWYgKHApCisJCQlwcmludGYoIiBuYW1lPSclcyciLCBwKTsKKwkJcCA9IGJsa2lkX3BhcnRpdGlvbl9nZXRfdXVpZChwYXIpOworCQlpZiAocCkKKwkJCXByaW50ZigiIHV1aWQ9JyVzJyIsIHApOworCQlwID0gYmxraWRfcGFydGl0aW9uX2dldF90eXBlX3N0cmluZyhwYXIpOworCQlpZiAocCkKKwkJCXByaW50ZigiIHR5cGU9JyVzJyIsIHApOworCisJCXB1dGMoJ1xuJywgc3Rkb3V0KTsKKwl9CisKK2RvbmU6CisJYmxraWRfZnJlZV9wcm9iZShwcik7CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NhbXBsZXMvc3VwZXJibG9ja3MuYyBiL2xpYmJsa2lkL3NhbXBsZXMvc3VwZXJibG9ja3MuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDk1NTU3Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc2FtcGxlcy9zdXBlcmJsb2Nrcy5jCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKworI2luY2x1ZGUgPGJsa2lkLmg+CisKKyNpbmNsdWRlICJjLmgiCisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJaW50IHJjOworCWNoYXIgKmRldm5hbWU7CisJYmxraWRfcHJvYmUgcHI7CisKKwlpZiAoYXJnYyA8IDIpIHsKKwkJZnByaW50ZihzdGRlcnIsICJ1c2FnZTogJXMgPGRldmljZT4gICIKKwkJCQkiLS0gcHJpbnRzIHN1cGVyYmxvY2tzIGRldGFpbHMgYWJvdXQgdGhlIGRldmljZVxuIiwKKwkJCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJfQorCisJZGV2bmFtZSA9IGFyZ3ZbMV07CisJcHIgPSBibGtpZF9uZXdfcHJvYmVfZnJvbV9maWxlbmFtZShkZXZuYW1lKTsKKwlpZiAoIXByKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBuZXcgbGliYmxraWQgcHJvYmUiLAorCQkJCWRldm5hbWUpOworCisJLyogZW5hYmxlIHRvcG9sb2d5IHByb2JpbmcgKi8KKwlibGtpZF9wcm9iZV9lbmFibGVfc3VwZXJibG9ja3MocHIsIFRSVUUpOworCisJLyogc2V0IGFsbCBmbGFncyAqLworCWJsa2lkX3Byb2JlX3NldF9zdXBlcmJsb2Nrc19mbGFncyhwciwKKwkJCUJMS0lEX1NVQkxLU19MQUJFTCB8IEJMS0lEX1NVQkxLU19MQUJFTFJBVyB8CisJCQlCTEtJRF9TVUJMS1NfVVVJRCB8IEJMS0lEX1NVQkxLU19VVUlEUkFXIHwKKwkJCUJMS0lEX1NVQkxLU19UWVBFIHwgQkxLSURfU1VCTEtTX1NFQ1RZUEUgfAorCQkJQkxLSURfU1VCTEtTX1VTQUdFIHwgQkxLSURfU1VCTEtTX1ZFUlNJT04gfAorCQkJQkxLSURfU1VCTEtTX01BR0lDKTsKKworCXJjID0gYmxraWRfZG9fc2FmZXByb2JlKHByKTsKKwlpZiAocmMgPT0gLTEpCisJCWVycngoRVhJVF9GQUlMVVJFLCAiJXM6IGJsa2lkX2RvX3NhZmVwcm9iZSgpIGZhaWxlZCIsIGRldm5hbWUpOworCWVsc2UgaWYgKHJjID09IDEpCisJCXdhcm54KCIlczogY2Fubm90IGdhdGhlciBpbmZvcm1hdGlvbiBhYm91dCBzdXBlcmJsb2NrcyIsIGRldm5hbWUpOworCWVsc2UgeworCQlpbnQgaSwgbnZhbHMgPSBibGtpZF9wcm9iZV9udW1vZl92YWx1ZXMocHIpOworCisJCWZvciAoaSA9IDA7IGkgPCBudmFsczsgaSsrKSB7CisJCQljb25zdCBjaGFyICpuYW1lLCAqZGF0YTsKKworCQkJYmxraWRfcHJvYmVfZ2V0X3ZhbHVlKHByLCBpLCAmbmFtZSwgJmRhdGEsIE5VTEwpOworCQkJcHJpbnRmKCJcdCVzID0gJXNcbiIsIG5hbWUsIGRhdGEpOworCQl9CisJfQorCisJYmxraWRfZnJlZV9wcm9iZShwcik7CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NhbXBsZXMvdG9wb2xvZ3kuYyBiL2xpYmJsa2lkL3NhbXBsZXMvdG9wb2xvZ3kuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTEyYmEzCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc2FtcGxlcy90b3BvbG9neS5jCkBAIC0wLDAgKzEsODYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKworI2luY2x1ZGUgPGJsa2lkLmg+CisKKyNpbmNsdWRlICJjLmgiCisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJaW50IHJjOworCWNoYXIgKmRldm5hbWU7CisJYmxraWRfcHJvYmUgcHI7CisJYmxraWRfdG9wb2xvZ3kgdHA7CisKKwlpZiAoYXJnYyA8IDIpIHsKKwkJZnByaW50ZihzdGRlcnIsICJ1c2FnZTogJXMgPGRldmljZT4gICIKKwkJCQkiLS0gcHJpbnRzIHRvcG9sb2d5IGRldGFpbHMgYWJvdXQgdGhlIGRldmljZVxuIiwKKwkJCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJfQorCisJZGV2bmFtZSA9IGFyZ3ZbMV07CisJcHIgPSBibGtpZF9uZXdfcHJvYmVfZnJvbV9maWxlbmFtZShkZXZuYW1lKTsKKwlpZiAoIXByKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBuZXcgbGliYmxraWQgcHJvYmUiLAorCQkJCWRldm5hbWUpOworCS8qCisJICogQmluYXJ5IGludGVyZmFjZQorCSAqLworCXRwID0gYmxraWRfcHJvYmVfZ2V0X3RvcG9sb2d5KHByKTsKKwlpZiAodHApIHsKKwkJcHJpbnRmKCItLS0tLSBiaW5hcnkgaW50ZXJmYWNlOlxuIik7CisJCXByaW50ZigiXHRhbGlnbm1lbnQgb2Zmc2V0ICAgICA6ICVsdVxuIiwKKwkJCQlibGtpZF90b3BvbG9neV9nZXRfYWxpZ25tZW50X29mZnNldCh0cCkpOworCQlwcmludGYoIlx0bWluaW11bSBpbyBzaXplICAgICAgOiAlbHVcbiIsCisJCQkJYmxraWRfdG9wb2xvZ3lfZ2V0X21pbmltdW1faW9fc2l6ZSh0cCkpOworCQlwcmludGYoIlx0b3B0aW1hbCBpbyBzaXplICAgICAgOiAlbHVcbiIsCisJCQkJYmxraWRfdG9wb2xvZ3lfZ2V0X29wdGltYWxfaW9fc2l6ZSh0cCkpOworCQlwcmludGYoIlx0bG9naWNhbCBzZWN0b3Igc2l6ZSAgOiAlbHVcbiIsCisJCQkJYmxraWRfdG9wb2xvZ3lfZ2V0X2xvZ2ljYWxfc2VjdG9yX3NpemUodHApKTsKKwkJcHJpbnRmKCJcdHBoeXNpY2FsIHNlY3RvciBzaXplIDogJWx1XG4iLAorCQkJCWJsa2lkX3RvcG9sb2d5X2dldF9waHlzaWNhbF9zZWN0b3Jfc2l6ZSh0cCkpOworCX0KKworCS8qCisJICogTkFNRT12YWx1ZSBpbnRlcmZhY2UKKwkgKi8KKworCS8qIGVuYWJsZSB0b3BvbG9neSBwcm9iaW5nICovCisJYmxraWRfcHJvYmVfZW5hYmxlX3RvcG9sb2d5KHByLCBUUlVFKTsKKworCS8qIGRpc2FibGUgc3VwZXJibG9ja3MgcHJvYmluZyAoZW5hYmxlZCBieSBkZWZhdWx0KSAqLworCWJsa2lkX3Byb2JlX2VuYWJsZV9zdXBlcmJsb2NrcyhwciwgRkFMU0UpOworCisJcmMgPSBibGtpZF9kb19mdWxscHJvYmUocHIpOworCWlmIChyYyA9PSAtMSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsICIlczogYmxraWRfZG9fZnVsbHByb2JlKCkgZmFpbGVkIiwgZGV2bmFtZSk7CisJZWxzZSBpZiAocmMgPT0gMSkKKwkJd2FybngoIiVzOiBtaXNzaW5nIHRvcG9sb2d5IGluZm9ybWF0aW9uIiwgZGV2bmFtZSk7CisJZWxzZSB7CisJCWludCBpLCBudmFscyA9IGJsa2lkX3Byb2JlX251bW9mX3ZhbHVlcyhwcik7CisKKwkJcHJpbnRmKCItLS0tLSBOQU1FPXZhbHVlIGludGVyZmFjZSAodmFsdWVzOiAlZCk6XG4iLCBudmFscyk7CisKKwkJZm9yIChpID0gMDsgaSA8IG52YWxzOyBpKyspIHsKKwkJCWNvbnN0IGNoYXIgKm5hbWUsICpkYXRhOworCisJCQlibGtpZF9wcm9iZV9nZXRfdmFsdWUocHIsIGksICZuYW1lLCAmZGF0YSwgTlVMTCk7CisJCQlwcmludGYoIlx0JXMgPSAlc1xuIiwgbmFtZSwgZGF0YSk7CisJCX0KKwl9CisKKwlibGtpZF9mcmVlX3Byb2JlKHByKTsKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjLy5naXRpZ25vcmUgYi9saWJibGtpZC9zcmMvLmdpdGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZjM0ZjU4Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjLy5naXRpZ25vcmUKQEAgLTAsMCArMSBAQAorYmxraWQuaApkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL01ha2Vtb2R1bGUuYW0gYi9saWJibGtpZC9zcmMvTWFrZW1vZHVsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZmEwMGU5Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL01ha2Vtb2R1bGUuYW0KQEAgLTAsMCArMSwyNDAgQEAKKworIyBibGtpZC5oIGlzIGdlbmVyYXRlZCwgc28gaXQncyBzdG9yZSBpbiBidWlsZGRpciEKK2Jsa2lkaW5jZGlyID0gJChpbmNsdWRlZGlyKS9ibGtpZAorbm9kaXN0X2Jsa2lkaW5jX0hFQURFUlMgPSAkKHRvcF9idWlsZGRpcikvbGliYmxraWQvc3JjL2Jsa2lkLmgKKwordXNybGliX2V4ZWNfTFRMSUJSQVJJRVMgKz0gbGliYmxraWQubGEKK2xpYmJsa2lkX2xhX1NPVVJDRVMgPSBcCisJaW5jbHVkZS9saXN0LmggXAorCVwKKwlsaWJibGtpZC9zcmMvYmxraWRQLmggXAorCWxpYmJsa2lkL3NyYy9pbml0LmMgXAorCWxpYmJsa2lkL3NyYy9jYWNoZS5jIFwKKwlsaWJibGtpZC9zcmMvY29uZmlnLmMgXAorCWxpYmJsa2lkL3NyYy9kZXYuYyBcCisJbGliYmxraWQvc3JjL2Rldm5hbWUuYyBcCisJbGliYmxraWQvc3JjL2Rldm5vLmMgXAorCWxpYmJsa2lkL3NyYy9lbmNvZGUuYyBcCisJbGliYmxraWQvc3JjL2V2YWx1YXRlLmMgXAorCWxpYmJsa2lkL3NyYy9nZXRzaXplLmMgXAorCWxpYmJsa2lkL3NyYy9sbHNlZWsuYyBcCisJbGliYmxraWQvc3JjL3Byb2JlLmMgXAorCWxpYmJsa2lkL3NyYy9yZWFkLmMgXAorCWxpYmJsa2lkL3NyYy9yZXNvbHZlLmMgXAorCWxpYmJsa2lkL3NyYy9zYXZlLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9zdXBlcmJsb2Nrcy5oIFwKKwlsaWJibGtpZC9zcmMvdGFnLmMgXAorCWxpYmJsa2lkL3NyYy92ZXJpZnkuYyBcCisJbGliYmxraWQvc3JjL3ZlcnNpb24uYyBcCisJJChub2Rpc3RfYmxraWRpbmNfSEVBREVSUykgXAorCVwKKwlsaWJibGtpZC9zcmMvcGFydGl0aW9ucy9haXguYyBcCisJbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvYWl4LmggXAorCWxpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL2JzZC5jIFwKKwlsaWJibGtpZC9zcmMvcGFydGl0aW9ucy9kb3MuYyBcCisJbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvZ3B0LmMgXAorCWxpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL21hYy5jIFwKKwlsaWJibGtpZC9zcmMvcGFydGl0aW9ucy9taW5peC5jIFwKKwlsaWJibGtpZC9zcmMvcGFydGl0aW9ucy9wYXJ0aXRpb25zLmMgXAorCWxpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL3BhcnRpdGlvbnMuaCBcCisJbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvc2dpLmMgXAorCWxpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL3NvbGFyaXNfeDg2LmMgXAorCWxpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL3N1bi5jIFwKKwlsaWJibGtpZC9zcmMvcGFydGl0aW9ucy91bHRyaXguYyBcCisJbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvdW5peHdhcmUuYyBcCisJXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9hZGFwdGVjX3JhaWQuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2JjYWNoZS5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvYmVmcy5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvYmZzLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9idHJmcy5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvY3JhbWZzLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9kZGZfcmFpZC5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvZHJiZC5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvZHJiZHByb3h5X2RhdGFsb2cuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2RyYmRtYW5hZ2UuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2V4ZmF0LmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9leHQuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2YyZnMuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2dmcy5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvaGZzLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9oaWdocG9pbnRfcmFpZC5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvaHBmcy5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvaXNvOTY2MC5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvaXNvOTY2MC5oIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvaXN3X3JhaWQuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2pmcy5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvam1pY3Jvbl9yYWlkLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9saW51eF9yYWlkLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9sc2lfcmFpZC5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbHVrcy5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbHZtLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9taW5peC5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbmV0d2FyZS5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbmlsZnMuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL250ZnMuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3JlZnMuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL252aWRpYV9yYWlkLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9vY2ZzLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9wcm9taXNlX3JhaWQuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3JlaXNlcmZzLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9yb21mcy5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvc2lsaWNvbl9yYWlkLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9zcXVhc2hmcy5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvc3VwZXJibG9ja3MuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3N1cGVyYmxvY2tzLmggXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9zd2FwLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9zeXN2LmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy91Ymlmcy5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvdWRmLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy91ZnMuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3ZmYXQuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3ZpYV9yYWlkLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy92bWZzLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy92eGZzLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy94ZnMuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3pmcy5jIFwKKwlcCisJbGliYmxraWQvc3JjL3RvcG9sb2d5L3RvcG9sb2d5LmMgXAorCWxpYmJsa2lkL3NyYy90b3BvbG9neS90b3BvbG9neS5oCisKK2lmIExJTlVYCitsaWJibGtpZF9sYV9TT1VSQ0VTICs9IFwKKwlsaWJibGtpZC9zcmMvdG9wb2xvZ3kvZG0uYyBcCisJbGliYmxraWQvc3JjL3RvcG9sb2d5L2V2bXMuYyBcCisJbGliYmxraWQvc3JjL3RvcG9sb2d5L2lvY3RsLmMgXAorCWxpYmJsa2lkL3NyYy90b3BvbG9neS9sdm0uYyBcCisJbGliYmxraWQvc3JjL3RvcG9sb2d5L21kLmMgXAorCWxpYmJsa2lkL3NyYy90b3BvbG9neS9zeXNmcy5jCitlbmRpZgorCitub2Rpc3RfbGliYmxraWRfbGFfU09VUkNFUyA9IGxpYmJsa2lkL3NyYy9ibGtpZC5oCitsaWJibGtpZF9sYV9MSUJBREQgPSBsaWJjb21tb24ubGEKKworbGliYmxraWRfbGFfREVQRU5ERU5DSUVTID0gXAorCWxpYmNvbW1vbi5sYSBcCisJbGliYmxraWQvc3JjL2xpYmJsa2lkLnN5bSBcCisJbGliYmxraWQvc3JjL2Jsa2lkLmguaW4KKworbGliYmxraWRfbGFfQ0ZMQUdTID0gXAorCSQoQU1fQ0ZMQUdTKSBcCisJJChTT0xJQl9DRkxBR1MpIFwKKwktSSQodWxfbGliYmxraWRfaW5jZGlyKSBcCisJLUkkKHRvcF9zcmNkaXIpL2xpYmJsa2lkL3NyYworCitpZiBCVUlMRF9MSUJVVUlECitsaWJibGtpZF9sYV9MSUJBREQgKz0gbGlidXVpZC5sYQorbGliYmxraWRfbGFfREVQRU5ERU5DSUVTICs9IGxpYnV1aWQubGEKK2xpYmJsa2lkX2xhX0NGTEFHUyArPSAtSSQodWxfbGlidXVpZF9pbmNkaXIpCitlbmRpZgorCitsaWJibGtpZF9sYV9MREZMQUdTID0gJChTT0xJQl9MREZMQUdTKQoraWYgSEFWRV9WU0NSSVBUCitsaWJibGtpZF9sYV9MREZMQUdTICs9ICQoVlNDUklQVF9MREZMQUdTKSwkKHRvcF9zcmNkaXIpL2xpYmJsa2lkL3NyYy9saWJibGtpZC5zeW0KK2VuZGlmCitsaWJibGtpZF9sYV9MREZMQUdTICs9IC12ZXJzaW9uLWluZm8gJChMSUJCTEtJRF9WRVJTSU9OX0lORk8pCisKK0VYVFJBX0RJU1QgKz0gXAorCWxpYmJsa2lkL3NyYy9saWJibGtpZC5zeW0gXAorCWxpYmJsa2lkL3NyYy9ibGtpZC5oLmluCisKK2lmIEJVSUxEX0xJQkJMS0lEX1RFU1RTCitjaGVja19QUk9HUkFNUyArPSBcCisJdGVzdF9ibGtpZF9jYWNoZSBcCisJdGVzdF9ibGtpZF9jb25maWcgXAorCXRlc3RfYmxraWRfZGV2IFwKKwl0ZXN0X2Jsa2lkX2Rldm5hbWUgXAorCXRlc3RfYmxraWRfZGV2bm8gXAorCXRlc3RfYmxraWRfZXZhbHVhdGUgXAorCXRlc3RfYmxraWRfcmVhZCBcCisJdGVzdF9ibGtpZF9yZXNvbHZlIFwKKwl0ZXN0X2Jsa2lkX3NhdmUgXAorCXRlc3RfYmxraWRfdGFnIFwKKwl0ZXN0X2Jsa2lkX3ZlcmlmeQorCitibGtpZF90ZXN0c19jZmxhZ3MgID0gLURURVNUX1BST0dSQU0gJChsaWJibGtpZF9sYV9DRkxBR1MpCitibGtpZF90ZXN0c19sZGZsYWdzID0KK2Jsa2lkX3Rlc3RzX2xkYWRkICAgPSBsaWJibGtpZC5sYQorCitpZiBCVUlMRF9MSUJVVUlECitibGtpZF90ZXN0c19sZGZsYWdzICs9IGxpYnV1aWQubGEKK2Jsa2lkX3Rlc3RzX2xkYWRkICAgKz0gJChMREFERCkgJChVVUlEX0xJQlMpCitlbmRpZgorCitibGtpZF90ZXN0c19sZGZsYWdzICs9IC1zdGF0aWMKKwordGVzdF9ibGtpZF9jYWNoZV9TT1VSQ0VTID0gbGliYmxraWQvc3JjL2NhY2hlLmMKK3Rlc3RfYmxraWRfY2FjaGVfQ0ZMQUdTID0gJChibGtpZF90ZXN0c19jZmxhZ3MpCit0ZXN0X2Jsa2lkX2NhY2hlX0xERkxBR1MgPSAkKGJsa2lkX3Rlc3RzX2xkZmxhZ3MpCit0ZXN0X2Jsa2lkX2NhY2hlX0xEQUREID0gJChibGtpZF90ZXN0c19sZGFkZCkKKwordGVzdF9ibGtpZF9jb25maWdfU09VUkNFUyA9IGxpYmJsa2lkL3NyYy9jb25maWcuYwordGVzdF9ibGtpZF9jb25maWdfQ0ZMQUdTID0gJChibGtpZF90ZXN0c19jZmxhZ3MpCit0ZXN0X2Jsa2lkX2NvbmZpZ19MREZMQUdTID0gJChibGtpZF90ZXN0c19sZGZsYWdzKQordGVzdF9ibGtpZF9jb25maWdfTERBREQgPSAkKGJsa2lkX3Rlc3RzX2xkYWRkKQorCit0ZXN0X2Jsa2lkX2Rldl9TT1VSQ0VTID0gbGliYmxraWQvc3JjL2Rldi5jCit0ZXN0X2Jsa2lkX2Rldl9DRkxBR1MgPSAkKGJsa2lkX3Rlc3RzX2NmbGFncykKK3Rlc3RfYmxraWRfZGV2X0xERkxBR1MgPSAkKGJsa2lkX3Rlc3RzX2xkZmxhZ3MpCit0ZXN0X2Jsa2lkX2Rldl9MREFERCA9ICQoYmxraWRfdGVzdHNfbGRhZGQpCisKK3Rlc3RfYmxraWRfZGV2bmFtZV9TT1VSQ0VTID0gbGliYmxraWQvc3JjL2Rldm5hbWUuYwordGVzdF9ibGtpZF9kZXZuYW1lX0NGTEFHUyA9ICQoYmxraWRfdGVzdHNfY2ZsYWdzKQordGVzdF9ibGtpZF9kZXZuYW1lX0xERkxBR1MgPSAkKGJsa2lkX3Rlc3RzX2xkZmxhZ3MpCit0ZXN0X2Jsa2lkX2Rldm5hbWVfTERBREQgPSAkKGJsa2lkX3Rlc3RzX2xkYWRkKQorCit0ZXN0X2Jsa2lkX2Rldm5vX1NPVVJDRVMgPSBsaWJibGtpZC9zcmMvZGV2bm8uYwordGVzdF9ibGtpZF9kZXZub19DRkxBR1MgPSAkKGJsa2lkX3Rlc3RzX2NmbGFncykKK3Rlc3RfYmxraWRfZGV2bm9fTERGTEFHUyA9ICQoYmxraWRfdGVzdHNfbGRmbGFncykKK3Rlc3RfYmxraWRfZGV2bm9fTERBREQgPSAkKGJsa2lkX3Rlc3RzX2xkYWRkKQorCit0ZXN0X2Jsa2lkX2V2YWx1YXRlX1NPVVJDRVMgPSBsaWJibGtpZC9zcmMvZXZhbHVhdGUuYwordGVzdF9ibGtpZF9ldmFsdWF0ZV9DRkxBR1MgPSAkKGJsa2lkX3Rlc3RzX2NmbGFncykKK3Rlc3RfYmxraWRfZXZhbHVhdGVfTERGTEFHUyA9ICQoYmxraWRfdGVzdHNfbGRmbGFncykKK3Rlc3RfYmxraWRfZXZhbHVhdGVfTERBREQgPSAkKGJsa2lkX3Rlc3RzX2xkYWRkKQorCit0ZXN0X2Jsa2lkX3JlYWRfU09VUkNFUyA9IGxpYmJsa2lkL3NyYy9yZWFkLmMKK3Rlc3RfYmxraWRfcmVhZF9DRkxBR1MgPSAkKGJsa2lkX3Rlc3RzX2NmbGFncykKK3Rlc3RfYmxraWRfcmVhZF9MREZMQUdTID0gJChibGtpZF90ZXN0c19sZGZsYWdzKQordGVzdF9ibGtpZF9yZWFkX0xEQUREID0gJChibGtpZF90ZXN0c19sZGFkZCkKKwordGVzdF9ibGtpZF9yZXNvbHZlX1NPVVJDRVMgPSBsaWJibGtpZC9zcmMvcmVzb2x2ZS5jCit0ZXN0X2Jsa2lkX3Jlc29sdmVfQ0ZMQUdTID0gJChibGtpZF90ZXN0c19jZmxhZ3MpCit0ZXN0X2Jsa2lkX3Jlc29sdmVfTERGTEFHUyA9ICQoYmxraWRfdGVzdHNfbGRmbGFncykKK3Rlc3RfYmxraWRfcmVzb2x2ZV9MREFERCA9ICQoYmxraWRfdGVzdHNfbGRhZGQpCisKK3Rlc3RfYmxraWRfc2F2ZV9TT1VSQ0VTID0gbGliYmxraWQvc3JjL3NhdmUuYwordGVzdF9ibGtpZF9zYXZlX0NGTEFHUyA9ICQoYmxraWRfdGVzdHNfY2ZsYWdzKQordGVzdF9ibGtpZF9zYXZlX0xERkxBR1MgPSAkKGJsa2lkX3Rlc3RzX2xkZmxhZ3MpCit0ZXN0X2Jsa2lkX3NhdmVfTERBREQgPSAkKGJsa2lkX3Rlc3RzX2xkYWRkKQorCit0ZXN0X2Jsa2lkX3RhZ19TT1VSQ0VTID0gbGliYmxraWQvc3JjL3RhZy5jCit0ZXN0X2Jsa2lkX3RhZ19DRkxBR1MgPSAkKGJsa2lkX3Rlc3RzX2NmbGFncykKK3Rlc3RfYmxraWRfdGFnX0xERkxBR1MgPSAkKGJsa2lkX3Rlc3RzX2xkZmxhZ3MpCit0ZXN0X2Jsa2lkX3RhZ19MREFERCA9ICQoYmxraWRfdGVzdHNfbGRhZGQpCisKK3Rlc3RfYmxraWRfdmVyaWZ5X1NPVVJDRVMgPSBsaWJibGtpZC9zcmMvdmVyaWZ5LmMKK3Rlc3RfYmxraWRfdmVyaWZ5X0NGTEFHUyA9ICQoYmxraWRfdGVzdHNfY2ZsYWdzKQordGVzdF9ibGtpZF92ZXJpZnlfTERGTEFHUyA9ICQoYmxraWRfdGVzdHNfbGRmbGFncykKK3Rlc3RfYmxraWRfdmVyaWZ5X0xEQUREID0gJChibGtpZF90ZXN0c19sZGFkZCkKKworZW5kaWYgIyBCVUlMRF9MSUJCTEtJRF9URVNUUworCisKKyMgbW92ZSBsaWIgZnJvbSAkKHVzcmxpYl9leGVjZGlyKSB0byAkKGxpYmRpcikgaWYgbmVlZGVkCitpbnN0YWxsLWV4ZWMtaG9vay1saWJibGtpZDoKKwlpZiB0ZXN0ICIkKHVzcmxpYl9leGVjZGlyKSIgIT0gIiQobGliZGlyKSIgLWEgLWYgIiQoREVTVERJUikkKHVzcmxpYl9leGVjZGlyKS9saWJibGtpZC5zbyI7IHRoZW4gXAorCQkkKE1LRElSX1ApICQoREVTVERJUikkKGxpYmRpcik7IFwKKwkJbXYgJChERVNURElSKSQodXNybGliX2V4ZWNkaXIpL2xpYmJsa2lkLnNvLiogJChERVNURElSKSQobGliZGlyKTsgXAorCQlzb19pbWdfbmFtZT0kJChyZWFkbGluayAkKERFU1RESVIpJCh1c3JsaWJfZXhlY2RpcikvbGliYmxraWQuc28pOyBcCisJCXNvX2ltZ19yZWxfdGFyZ2V0PSQkKGVjaG8gJCh1c3JsaWJfZXhlY2RpcikgfCBzZWQgJ3MsXCheL1x8XClbXi9dW14vXSosLi4sZycpOyBcCisJCShjZCAkKERFU1RESVIpJCh1c3JsaWJfZXhlY2RpcikgJiYgXAorCQkJcm0gLWYgbGliYmxraWQuc28gJiYgXAorCQkJJChMTl9TKSAkJHNvX2ltZ19yZWxfdGFyZ2V0JChsaWJkaXIpLyQkc29faW1nX25hbWUgbGliYmxraWQuc28pOyBcCisJZmkKKwordW5pbnN0YWxsLWhvb2stbGliYmxraWQ6CisJcm0gLWYgJChERVNURElSKSQobGliZGlyKS9saWJibGtpZC5zbyoKKworSU5TVEFMTF9FWEVDX0hPT0tTICs9IGluc3RhbGwtZXhlYy1ob29rLWxpYmJsa2lkCitVTklOU1RBTExfSE9PS1MgKz0gdW5pbnN0YWxsLWhvb2stbGliYmxraWQKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9ibGtpZC5oLmluIGIvbGliYmxraWQvc3JjL2Jsa2lkLmguaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDdiYmNlZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9ibGtpZC5oLmluCkBAIC0wLDAgKzEsNDU2IEBACisvKgorICogYmxraWQuaCAtIEludGVyZmFjZSBmb3IgbGliYmxraWQsIGEgbGlicmFyeSB0byBpZGVudGlmeSBibG9jayBkZXZpY2VzCisgKgorICogQ29weXJpZ2h0IChDKSAyMDAxIEFuZHJlYXMgRGlsZ2VyCisgKiBDb3B5cmlnaHQgKEMpIDIwMDMgVGhlb2RvcmUgVHMnbworICogQ29weXJpZ2h0IChDKSAyMDA4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworI2lmbmRlZiBfQkxLSURfQkxLSURfSAorI2RlZmluZSBfQkxLSURfQkxLSURfSAorCisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworI2RlZmluZSBCTEtJRF9WRVJTSU9OICAgIkBMSUJCTEtJRF9WRVJTSU9OQCIKKyNkZWZpbmUgQkxLSURfREFURSAgICAgICJATElCQkxLSURfREFURUAiCisKKy8qKgorICogYmxraWRfZGV2OgorICoKKyAqIFRoZSBkZXZpY2Ugb2JqZWN0IGtlZXBzIGluZm9ybWF0aW9uIGFib3V0IG9uZSBkZXZpY2UKKyAqLwordHlwZWRlZiBzdHJ1Y3QgYmxraWRfc3RydWN0X2RldiAqYmxraWRfZGV2OworCisvKioKKyAqIGJsa2lkX2NhY2hlOgorICoKKyAqIGluZm9ybWF0aW9uIGFib3V0IGFsbCBzeXN0ZW0gZGV2aWNlcworICovCit0eXBlZGVmIHN0cnVjdCBibGtpZF9zdHJ1Y3RfY2FjaGUgKmJsa2lkX2NhY2hlOworCisvKioKKyAqIGJsa2lkX3Byb2JlOgorICoKKyAqIGxvdy1sZXZlbCBwcm9iaW5nIHNldHRpbmcKKyAqLwordHlwZWRlZiBzdHJ1Y3QgYmxraWRfc3RydWN0X3Byb2JlICpibGtpZF9wcm9iZTsKKworLyoqCisgKiBibGtpZF90b3BvbG9neToKKyAqCisgKiBkZXZpY2UgdG9wb2xvZ3kgaW5mb3JtYXRpb24KKyAqLwordHlwZWRlZiBzdHJ1Y3QgYmxraWRfc3RydWN0X3RvcG9sb2d5ICpibGtpZF90b3BvbG9neTsKKworLyoqCisgKiBibGtpZF9wYXJ0bGlzdAorICoKKyAqIGxpc3Qgb2YgYWxsIGRldGVjdGVkIHBhcnRpdGlvbnMgYW5kIHBhcnRpdGlvbnMgdGFibGVzCisgKi8KK3R5cGVkZWYgc3RydWN0IGJsa2lkX3N0cnVjdF9wYXJ0bGlzdCAqYmxraWRfcGFydGxpc3Q7CisKKy8qKgorICogYmxraWRfcGFydGl0aW9uOgorICoKKyAqIGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uCisgKi8KK3R5cGVkZWYgc3RydWN0IGJsa2lkX3N0cnVjdF9wYXJ0aXRpb24gKmJsa2lkX3BhcnRpdGlvbjsKKworLyoqCisgKiBibGtpZF9wYXJ0dGFibGU6CisgKgorICogaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24gdGFibGUKKyAqLwordHlwZWRlZiBzdHJ1Y3QgYmxraWRfc3RydWN0X3BhcnR0YWJsZSAqYmxraWRfcGFydHRhYmxlOworCisvKioKKyAqIGJsa2lkX2xvZmZfdDoKKyAqCisgKiA2NC1iaXQgc2lnbmVkIG51bWJlciBmb3Igb2Zmc2V0cyBhbmQgc2l6ZXMKKyAqLwordHlwZWRlZiBpbnQ2NF90IGJsa2lkX2xvZmZfdDsKKworLyoqCisgKiBibGtpZF90YWdfaXRlcmF0ZToKKyAqCisgKiB0YWdzIGl0ZXJhdG9yIGZvciBoaWdoLWxldmVsIChibGtpZF9jYWNoZSkgQVBJCisgKi8KK3R5cGVkZWYgc3RydWN0IGJsa2lkX3N0cnVjdF90YWdfaXRlcmF0ZSAqYmxraWRfdGFnX2l0ZXJhdGU7CisKKy8qKgorICogYmxraWRfZGV2X2l0ZXJhdGU6CisgKgorICogZGV2aWNlcyBpdGVyYXRvciBmb3IgaGlnaC1sZXZlbCAoYmxraWRfY2FjaGUpIEFQSQorICovCit0eXBlZGVmIHN0cnVjdCBibGtpZF9zdHJ1Y3RfZGV2X2l0ZXJhdGUgKmJsa2lkX2Rldl9pdGVyYXRlOworCisvKgorICogRmxhZ3MgZm9yIGJsa2lkX2dldF9kZXYKKyAqCisgKiBCTEtJRF9ERVZfQ1JFQVRFCUNyZWF0ZSBhbiBlbXB0eSBkZXZpY2Ugc3RydWN0dXJlIGlmIG5vdCBmb3VuZAorICoJCQlpbiB0aGUgY2FjaGUuCisgKiBCTEtJRF9ERVZfVkVSSUZZCU1ha2Ugc3VyZSB0aGUgZGV2aWNlIHN0cnVjdHVyZSBjb3JyZXNwb25kcworICoJCQl3aXRoIHJlYWxpdHkuCisgKiBCTEtJRF9ERVZfRklORAlKdXN0IGxvb2sgdXAgYSBkZXZpY2UgZW50cnksIGFuZCByZXR1cm4gTlVMTAorICoJCQlpZiBpdCBpcyBub3QgZm91bmQuCisgKiBCTEtJRF9ERVZfTk9STUFMCUdldCBhIHZhbGlkIGRldmljZSBzdHJ1Y3R1cmUsIGVpdGhlciBmcm9tIHRoZQorICoJCQljYWNoZSBvciBieSBwcm9iaW5nIHRoZSBkZXZpY2UuCisgKi8KKyNkZWZpbmUgQkxLSURfREVWX0ZJTkQJCTB4MDAwMAorI2RlZmluZSBCTEtJRF9ERVZfQ1JFQVRFCTB4MDAwMQorI2RlZmluZSBCTEtJRF9ERVZfVkVSSUZZCTB4MDAwMgorI2RlZmluZSBCTEtJRF9ERVZfTk9STUFMCShCTEtJRF9ERVZfQ1JFQVRFIHwgQkxLSURfREVWX1ZFUklGWSkKKworCisjaWZuZGVmIF9fR05VQ19QUkVSRVEKKyMgaWYgZGVmaW5lZCBfX0dOVUNfXyAmJiBkZWZpbmVkIF9fR05VQ19NSU5PUl9fCisjICBkZWZpbmUgX19HTlVDX1BSRVJFUShtYWosIG1pbikgICgoX19HTlVDX18gPDwgMTYpICsgX19HTlVDX01JTk9SX18gPj0gKChtYWopIDw8IDE2KSArIChtaW4pKQorIyBlbHNlCisjICBkZWZpbmUgX19HTlVDX1BSRVJFUShtYWosIG1pbikgMAorIyBlbmRpZgorI2VuZGlmCisKKyNpZm5kZWYgX191bF9hdHRyaWJ1dGVfXworIyBpZiBfX0dOVUNfUFJFUkVRICgzLCA0KQorIyAgZGVmaW5lIF9fdWxfYXR0cmlidXRlX18oX2FfKSBfX2F0dHJpYnV0ZV9fKF9hXykKKyMgZWxzZQorIyAgZGVmaW5lIF9fdWxfYXR0cmlidXRlX18oX2FfKQorIyBlbmRpZgorI2VuZGlmCisKKy8qIGNhY2hlLmMgKi8KK2V4dGVybiB2b2lkIGJsa2lkX2luaXRfZGVidWcoaW50IG1hc2spOworZXh0ZXJuIHZvaWQgYmxraWRfcHV0X2NhY2hlKGJsa2lkX2NhY2hlIGNhY2hlKTsKK2V4dGVybiBpbnQgYmxraWRfZ2V0X2NhY2hlKGJsa2lkX2NhY2hlICpjYWNoZSwgY29uc3QgY2hhciAqZmlsZW5hbWUpOworZXh0ZXJuIHZvaWQgYmxraWRfZ2NfY2FjaGUoYmxraWRfY2FjaGUgY2FjaGUpOworCisvKiBkZXYuYyAqLworZXh0ZXJuIGNvbnN0IGNoYXIgKmJsa2lkX2Rldl9kZXZuYW1lKGJsa2lkX2RldiBkZXYpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKKworZXh0ZXJuIGJsa2lkX2Rldl9pdGVyYXRlIGJsa2lkX2Rldl9pdGVyYXRlX2JlZ2luKGJsa2lkX2NhY2hlIGNhY2hlKTsKK2V4dGVybiBpbnQgYmxraWRfZGV2X3NldF9zZWFyY2goYmxraWRfZGV2X2l0ZXJhdGUgaXRlciwKKwkJCQljaGFyICpzZWFyY2hfdHlwZSwgY2hhciAqc2VhcmNoX3ZhbHVlKTsKK2V4dGVybiBpbnQgYmxraWRfZGV2X25leHQoYmxraWRfZGV2X2l0ZXJhdGUgaXRlcmF0ZSwgYmxraWRfZGV2ICpkZXYpOworZXh0ZXJuIHZvaWQgYmxraWRfZGV2X2l0ZXJhdGVfZW5kKGJsa2lkX2Rldl9pdGVyYXRlIGl0ZXJhdGUpOworCisvKiBkZXZuby5jICovCitleHRlcm4gY2hhciAqYmxraWRfZGV2bm9fdG9fZGV2bmFtZShkZXZfdCBkZXZubykKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIGludCBibGtpZF9kZXZub190b193aG9sZWRpc2soZGV2X3QgZGV2LCBjaGFyICpkaXNrbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBsZW4sIGRldl90ICpkaXNrZGV2bm8pCisJCQlfX3VsX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKKworLyogZGV2bmFtZS5jICovCitleHRlcm4gaW50IGJsa2lkX3Byb2JlX2FsbChibGtpZF9jYWNoZSBjYWNoZSk7CitleHRlcm4gaW50IGJsa2lkX3Byb2JlX2FsbF9uZXcoYmxraWRfY2FjaGUgY2FjaGUpOworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9hbGxfcmVtb3ZhYmxlKGJsa2lkX2NhY2hlIGNhY2hlKTsKKworZXh0ZXJuIGJsa2lkX2RldiBibGtpZF9nZXRfZGV2KGJsa2lkX2NhY2hlIGNhY2hlLCBjb25zdCBjaGFyICpkZXZuYW1lLCBpbnQgZmxhZ3MpOworCisvKiBnZXRzaXplLmMgKi8KK2V4dGVybiBibGtpZF9sb2ZmX3QgYmxraWRfZ2V0X2Rldl9zaXplKGludCBmZCk7CisKKy8qIHZlcmlmeS5jICovCitleHRlcm4gYmxraWRfZGV2IGJsa2lkX3ZlcmlmeShibGtpZF9jYWNoZSBjYWNoZSwgYmxraWRfZGV2IGRldik7CisKKy8qIHJlYWQuYyAqLworCisvKiByZXNvbHZlLmMgKi8KK2V4dGVybiBjaGFyICpibGtpZF9nZXRfdGFnX3ZhbHVlKGJsa2lkX2NhY2hlIGNhY2hlLCBjb25zdCBjaGFyICp0YWduYW1lLAorCQkJCSAgICAgICBjb25zdCBjaGFyICpkZXZuYW1lKQorCQkJX191bF9hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CitleHRlcm4gY2hhciAqYmxraWRfZ2V0X2Rldm5hbWUoYmxraWRfY2FjaGUgY2FjaGUsIGNvbnN0IGNoYXIgKnRva2VuLAorCQkJICAgICAgIGNvbnN0IGNoYXIgKnZhbHVlKQorCQkJX191bF9hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CisKKy8qIHRhZy5jICovCitleHRlcm4gYmxraWRfdGFnX2l0ZXJhdGUgYmxraWRfdGFnX2l0ZXJhdGVfYmVnaW4oYmxraWRfZGV2IGRldik7CitleHRlcm4gaW50IGJsa2lkX3RhZ19uZXh0KGJsa2lkX3RhZ19pdGVyYXRlIGl0ZXJhdGUsCisJCQkgICAgICBjb25zdCBjaGFyICoqdHlwZSwgY29uc3QgY2hhciAqKnZhbHVlKTsKK2V4dGVybiB2b2lkIGJsa2lkX3RhZ19pdGVyYXRlX2VuZChibGtpZF90YWdfaXRlcmF0ZSBpdGVyYXRlKTsKK2V4dGVybiBpbnQgYmxraWRfZGV2X2hhc190YWcoYmxraWRfZGV2IGRldiwgY29uc3QgY2hhciAqdHlwZSwgY29uc3QgY2hhciAqdmFsdWUpOworCitleHRlcm4gYmxraWRfZGV2IGJsa2lkX2ZpbmRfZGV2X3dpdGhfdGFnKGJsa2lkX2NhY2hlIGNhY2hlLAorCQkJCQkgY29uc3QgY2hhciAqdHlwZSwKKwkJCQkJIGNvbnN0IGNoYXIgKnZhbHVlKTsKKworZXh0ZXJuIGludCBibGtpZF9wYXJzZV90YWdfc3RyaW5nKGNvbnN0IGNoYXIgKnRva2VuLCBjaGFyICoqcmV0X3R5cGUsIGNoYXIgKipyZXRfdmFsKTsKKworLyogdmVyc2lvbi5jICovCitleHRlcm4gaW50IGJsa2lkX3BhcnNlX3ZlcnNpb25fc3RyaW5nKGNvbnN0IGNoYXIgKnZlcl9zdHJpbmcpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gaW50IGJsa2lkX2dldF9saWJyYXJ5X3ZlcnNpb24oY29uc3QgY2hhciAqKnZlcl9zdHJpbmcsCisJCQkJICAgICBjb25zdCBjaGFyICoqZGF0ZV9zdHJpbmcpOworCisvKiBlbmNvZGUuYyAqLworZXh0ZXJuIGludCBibGtpZF9lbmNvZGVfc3RyaW5nKGNvbnN0IGNoYXIgKnN0ciwgY2hhciAqc3RyX2VuYywgc2l6ZV90IGxlbik7CitleHRlcm4gaW50IGJsa2lkX3NhZmVfc3RyaW5nKGNvbnN0IGNoYXIgKnN0ciwgY2hhciAqc3RyX3NhZmUsIHNpemVfdCBsZW4pOworCisvKiBldmFsdWF0ZS5jICovCitleHRlcm4gaW50IGJsa2lkX3NlbmRfdWV2ZW50KGNvbnN0IGNoYXIgKmRldm5hbWUsIGNvbnN0IGNoYXIgKmFjdGlvbik7CitleHRlcm4gY2hhciAqYmxraWRfZXZhbHVhdGVfdGFnKGNvbnN0IGNoYXIgKnRva2VuLCBjb25zdCBjaGFyICp2YWx1ZSwKKwkJCQlibGtpZF9jYWNoZSAqY2FjaGUpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKK2V4dGVybiBjaGFyICpibGtpZF9ldmFsdWF0ZV9zcGVjKGNvbnN0IGNoYXIgKnNwZWMsIGJsa2lkX2NhY2hlICpjYWNoZSkKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworCisvKiBwcm9iZS5jICovCitleHRlcm4gYmxraWRfcHJvYmUgYmxraWRfbmV3X3Byb2JlKHZvaWQpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKK2V4dGVybiBibGtpZF9wcm9iZSBibGtpZF9uZXdfcHJvYmVfZnJvbV9maWxlbmFtZShjb25zdCBjaGFyICpmaWxlbmFtZSkKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gdm9pZCBibGtpZF9mcmVlX3Byb2JlKGJsa2lkX3Byb2JlIHByKTsKKworZXh0ZXJuIHZvaWQgYmxraWRfcmVzZXRfcHJvYmUoYmxraWRfcHJvYmUgcHIpOworCitleHRlcm4gaW50IGJsa2lkX3Byb2JlX3NldF9kZXZpY2UoYmxraWRfcHJvYmUgcHIsIGludCBmZCwKKwkgICAgICAgICAgICAgICAgYmxraWRfbG9mZl90IG9mZiwgYmxraWRfbG9mZl90IHNpemUpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKK2V4dGVybiBkZXZfdCBibGtpZF9wcm9iZV9nZXRfZGV2bm8oYmxraWRfcHJvYmUgcHIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKK2V4dGVybiBkZXZfdCBibGtpZF9wcm9iZV9nZXRfd2hvbGVkaXNrX2Rldm5vKGJsa2lkX3Byb2JlIHByKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworCitleHRlcm4gaW50IGJsa2lkX3Byb2JlX2lzX3dob2xlZGlzayhibGtpZF9wcm9iZSBwcikKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworZXh0ZXJuIGJsa2lkX2xvZmZfdCBibGtpZF9wcm9iZV9nZXRfc2l6ZShibGtpZF9wcm9iZSBwcikKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBibGtpZF9sb2ZmX3QgYmxraWRfcHJvYmVfZ2V0X29mZnNldChibGtpZF9wcm9iZSBwcikKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiB1bnNpZ25lZCBpbnQgYmxraWRfcHJvYmVfZ2V0X3NlY3RvcnNpemUoYmxraWRfcHJvYmUgcHIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gYmxraWRfbG9mZl90IGJsa2lkX3Byb2JlX2dldF9zZWN0b3JzKGJsa2lkX3Byb2JlIHByKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworCitleHRlcm4gaW50IGJsa2lkX3Byb2JlX2dldF9mZChibGtpZF9wcm9iZSBwcikKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworLyoKKyAqIHN1cGVyYmxvY2tzIHByb2JpbmcKKyAqLworZXh0ZXJuIGludCBibGtpZF9rbm93bl9mc3R5cGUoY29uc3QgY2hhciAqZnN0eXBlKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworCitleHRlcm4gaW50IGJsa2lkX3N1cGVyYmxvY2tzX2dldF9uYW1lKHNpemVfdCBpZHgsIGNvbnN0IGNoYXIgKipuYW1lLCBpbnQgKnVzYWdlKTsKKworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9lbmFibGVfc3VwZXJibG9ja3MoYmxraWRfcHJvYmUgcHIsIGludCBlbmFibGUpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKKyNkZWZpbmUgQkxLSURfU1VCTEtTX0xBQkVMCSgxIDw8IDEpIC8qIHJlYWQgTEFCRUwgZnJvbSBzdXBlcmJsb2NrICovCisjZGVmaW5lIEJMS0lEX1NVQkxLU19MQUJFTFJBVwkoMSA8PCAyKSAvKiByZWFkIGFuZCBkZWZpbmUgTEFCRUxfUkFXIHJlc3VsdCB2YWx1ZSovCisjZGVmaW5lIEJMS0lEX1NVQkxLU19VVUlECSgxIDw8IDMpIC8qIHJlYWQgVVVJRCBmcm9tIHN1cGVyYmxvY2sgKi8KKyNkZWZpbmUgQkxLSURfU1VCTEtTX1VVSURSQVcJKDEgPDwgNCkgLyogcmVhZCBhbmQgZGVmaW5lIFVVSURfUkFXIHJlc3VsdCB2YWx1ZSAqLworI2RlZmluZSBCTEtJRF9TVUJMS1NfVFlQRQkoMSA8PCA1KSAvKiBkZWZpbmUgVFlQRSByZXN1bHQgdmFsdWUgKi8KKyNkZWZpbmUgQkxLSURfU1VCTEtTX1NFQ1RZUEUJKDEgPDwgNikgLyogZGVmaW5lIGNvbXBhdGlibGUgZnMgdHlwZSAoc2Vjb25kIHR5cGUpICovCisjZGVmaW5lIEJMS0lEX1NVQkxLU19VU0FHRQkoMSA8PCA3KSAvKiBkZWZpbmUgVVNBR0UgcmVzdWx0IHZhbHVlICovCisjZGVmaW5lIEJMS0lEX1NVQkxLU19WRVJTSU9OCSgxIDw8IDgpIC8qIHJlYWQgRlMgdHlwZSBmcm9tIHN1cGVyYmxvY2sgKi8KKyNkZWZpbmUgQkxLSURfU1VCTEtTX01BR0lDCSgxIDw8IDkpIC8qIGRlZmluZSBTQk1BR0lDIGFuZCBTQk1BR0lDX09GRlNFVCAqLworI2RlZmluZSBCTEtJRF9TVUJMS1NfQkFEQ1NVTQkoMSA8PCAxMCkgLyogYWxsb3cgYSBiYWQgY2hlY2tzdW0gKi8KKworI2RlZmluZSBCTEtJRF9TVUJMS1NfREVGQVVMVAkoQkxLSURfU1VCTEtTX0xBQkVMIHwgQkxLSURfU1VCTEtTX1VVSUQgfCBcCisJCQkJIEJMS0lEX1NVQkxLU19UWVBFIHwgQkxLSURfU1VCTEtTX1NFQ1RZUEUpCisKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfc2V0X3N1cGVyYmxvY2tzX2ZsYWdzKGJsa2lkX3Byb2JlIHByLCBpbnQgZmxhZ3MpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gaW50IGJsa2lkX3Byb2JlX3Jlc2V0X3N1cGVyYmxvY2tzX2ZpbHRlcihibGtpZF9wcm9iZSBwcikKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfaW52ZXJ0X3N1cGVyYmxvY2tzX2ZpbHRlcihibGtpZF9wcm9iZSBwcikKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworLyoqCisgKiBCTEtJRF9GTFRSX05PVElOCisgKi8KKyNkZWZpbmUgQkxLSURfRkxUUl9OT1RJTgkJMQorLyoqCisgKiBCTEtJRF9GTFRSX09OTFlJTgorICovCisjZGVmaW5lIEJMS0lEX0ZMVFJfT05MWUlOCQkyCitleHRlcm4gaW50IGJsa2lkX3Byb2JlX2ZpbHRlcl9zdXBlcmJsb2Nrc190eXBlKGJsa2lkX3Byb2JlIHByLCBpbnQgZmxhZywgY2hhciAqbmFtZXNbXSkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworI2RlZmluZSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNCQkoMSA8PCAxKQorI2RlZmluZSBCTEtJRF9VU0FHRV9SQUlECQkoMSA8PCAyKQorI2RlZmluZSBCTEtJRF9VU0FHRV9DUllQVE8JCSgxIDw8IDMpCisjZGVmaW5lIEJMS0lEX1VTQUdFX09USEVSCQkoMSA8PCA0KQorZXh0ZXJuIGludCBibGtpZF9wcm9iZV9maWx0ZXJfc3VwZXJibG9ja3NfdXNhZ2UoYmxraWRfcHJvYmUgcHIsIGludCBmbGFnLCBpbnQgdXNhZ2UpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKKy8qCisgKiB0b3BvbG9neSBwcm9iaW5nCisgKi8KK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfZW5hYmxlX3RvcG9sb2d5KGJsa2lkX3Byb2JlIHByLCBpbnQgZW5hYmxlKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworCisvKiBiaW5hcnkgaW50ZXJmYWNlICovCitleHRlcm4gYmxraWRfdG9wb2xvZ3kgYmxraWRfcHJvYmVfZ2V0X3RvcG9sb2d5KGJsa2lkX3Byb2JlIHByKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworCitleHRlcm4gdW5zaWduZWQgbG9uZyBibGtpZF90b3BvbG9neV9nZXRfYWxpZ25tZW50X29mZnNldChibGtpZF90b3BvbG9neSB0cCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIGJsa2lkX3RvcG9sb2d5X2dldF9taW5pbXVtX2lvX3NpemUoYmxraWRfdG9wb2xvZ3kgdHApCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gdW5zaWduZWQgbG9uZyBibGtpZF90b3BvbG9neV9nZXRfb3B0aW1hbF9pb19zaXplKGJsa2lkX3RvcG9sb2d5IHRwKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgYmxraWRfdG9wb2xvZ3lfZ2V0X2xvZ2ljYWxfc2VjdG9yX3NpemUoYmxraWRfdG9wb2xvZ3kgdHApCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gdW5zaWduZWQgbG9uZyBibGtpZF90b3BvbG9neV9nZXRfcGh5c2ljYWxfc2VjdG9yX3NpemUoYmxraWRfdG9wb2xvZ3kgdHApCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKKy8qCisgKiBwYXJ0aXRpb25zIHByb2JpbmcKKyAqLworZXh0ZXJuIGludCBibGtpZF9rbm93bl9wdHR5cGUoY29uc3QgY2hhciAqcHR0eXBlKTsKKworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9lbmFibGVfcGFydGl0aW9ucyhibGtpZF9wcm9iZSBwciwgaW50IGVuYWJsZSkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9yZXNldF9wYXJ0aXRpb25zX2ZpbHRlcihibGtpZF9wcm9iZSBwcikKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfaW52ZXJ0X3BhcnRpdGlvbnNfZmlsdGVyKGJsa2lkX3Byb2JlIHByKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9maWx0ZXJfcGFydGl0aW9uc190eXBlKGJsa2lkX3Byb2JlIHByLCBpbnQgZmxhZywgY2hhciAqbmFtZXNbXSkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworLyogcGFydGl0aW9ucyBwcm9iaW5nIGZsYWdzICovCisjZGVmaW5lIEJMS0lEX1BBUlRTX0ZPUkNFX0dQVAkJKDEgPDwgMSkKKyNkZWZpbmUgQkxLSURfUEFSVFNfRU5UUllfREVUQUlMUwkoMSA8PCAyKQorI2RlZmluZSBCTEtJRF9QQVJUU19NQUdJQwkJKDEgPDwgMykKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfc2V0X3BhcnRpdGlvbnNfZmxhZ3MoYmxraWRfcHJvYmUgcHIsIGludCBmbGFncykKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworLyogYmluYXJ5IGludGVyZmFjZSAqLworZXh0ZXJuIGJsa2lkX3BhcnRsaXN0IGJsa2lkX3Byb2JlX2dldF9wYXJ0aXRpb25zKGJsa2lkX3Byb2JlIHByKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworCitleHRlcm4gaW50IGJsa2lkX3BhcnRsaXN0X251bW9mX3BhcnRpdGlvbnMoYmxraWRfcGFydGxpc3QgbHMpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gYmxraWRfcGFydHRhYmxlIGJsa2lkX3BhcnRsaXN0X2dldF90YWJsZShibGtpZF9wYXJ0bGlzdCBscykKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBibGtpZF9wYXJ0aXRpb24gYmxraWRfcGFydGxpc3RfZ2V0X3BhcnRpdGlvbihibGtpZF9wYXJ0bGlzdCBscywgaW50IG4pCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gYmxraWRfcGFydGl0aW9uIGJsa2lkX3BhcnRsaXN0X2dldF9wYXJ0aXRpb25fYnlfcGFydG5vKGJsa2lkX3BhcnRsaXN0IGxzLCBpbnQgbikKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBibGtpZF9wYXJ0aXRpb24gYmxraWRfcGFydGxpc3RfZGV2bm9fdG9fcGFydGl0aW9uKGJsa2lkX3BhcnRsaXN0IGxzLCBkZXZfdCBkZXZubykKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBibGtpZF9wYXJ0dGFibGUgYmxraWRfcGFydGl0aW9uX2dldF90YWJsZShibGtpZF9wYXJ0aXRpb24gcGFyKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworCitleHRlcm4gY29uc3QgY2hhciAqYmxraWRfcGFydGl0aW9uX2dldF9uYW1lKGJsa2lkX3BhcnRpdGlvbiBwYXIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gY29uc3QgY2hhciAqYmxraWRfcGFydGl0aW9uX2dldF91dWlkKGJsa2lkX3BhcnRpdGlvbiBwYXIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gaW50IGJsa2lkX3BhcnRpdGlvbl9nZXRfcGFydG5vKGJsa2lkX3BhcnRpdGlvbiBwYXIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gYmxraWRfbG9mZl90IGJsa2lkX3BhcnRpdGlvbl9nZXRfc3RhcnQoYmxraWRfcGFydGl0aW9uIHBhcikKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBibGtpZF9sb2ZmX3QgYmxraWRfcGFydGl0aW9uX2dldF9zaXplKGJsa2lkX3BhcnRpdGlvbiBwYXIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKK2V4dGVybiBpbnQgYmxraWRfcGFydGl0aW9uX2dldF90eXBlKGJsa2lkX3BhcnRpdGlvbiBwYXIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gY29uc3QgY2hhciAqYmxraWRfcGFydGl0aW9uX2dldF90eXBlX3N0cmluZyhibGtpZF9wYXJ0aXRpb24gcGFyKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbG9uZyBibGtpZF9wYXJ0aXRpb25fZ2V0X2ZsYWdzKGJsa2lkX3BhcnRpdGlvbiBwYXIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKK2V4dGVybiBpbnQgYmxraWRfcGFydGl0aW9uX2lzX2xvZ2ljYWwoYmxraWRfcGFydGl0aW9uIHBhcikKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgYmxraWRfcGFydGl0aW9uX2lzX2V4dGVuZGVkKGJsa2lkX3BhcnRpdGlvbiBwYXIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gaW50IGJsa2lkX3BhcnRpdGlvbl9pc19wcmltYXJ5KGJsa2lkX3BhcnRpdGlvbiBwYXIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKK2V4dGVybiBjb25zdCBjaGFyICpibGtpZF9wYXJ0dGFibGVfZ2V0X3R5cGUoYmxraWRfcGFydHRhYmxlIHRhYikKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBjb25zdCBjaGFyICpibGtpZF9wYXJ0dGFibGVfZ2V0X2lkKGJsa2lkX3BhcnR0YWJsZSB0YWIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gYmxraWRfbG9mZl90IGJsa2lkX3BhcnR0YWJsZV9nZXRfb2Zmc2V0KGJsa2lkX3BhcnR0YWJsZSB0YWIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gYmxraWRfcGFydGl0aW9uIGJsa2lkX3BhcnR0YWJsZV9nZXRfcGFyZW50KGJsa2lkX3BhcnR0YWJsZSB0YWIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKKy8qCisgKiBOQU1FPXZhbHVlIGxvdy1sZXZlbCBpbnRlcmZhY2UKKyAqLworZXh0ZXJuIGludCBibGtpZF9kb19wcm9iZShibGtpZF9wcm9iZSBwcikKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgYmxraWRfZG9fc2FmZXByb2JlKGJsa2lkX3Byb2JlIHByKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworZXh0ZXJuIGludCBibGtpZF9kb19mdWxscHJvYmUoYmxraWRfcHJvYmUgcHIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfbnVtb2ZfdmFsdWVzKGJsa2lkX3Byb2JlIHByKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9nZXRfdmFsdWUoYmxraWRfcHJvYmUgcHIsIGludCBudW0sIGNvbnN0IGNoYXIgKipuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqKmRhdGEsIHNpemVfdCAqbGVuKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCgxKSkpOworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUoYmxraWRfcHJvYmUgcHIsIGNvbnN0IGNoYXIgKm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICoqZGF0YSwgc2l6ZV90ICpsZW4pCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKDEsIDIpKSk7CitleHRlcm4gaW50IGJsa2lkX3Byb2JlX2hhc192YWx1ZShibGtpZF9wcm9iZSBwciwgY29uc3QgY2hhciAqbmFtZSkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgYmxraWRfZG9fd2lwZShibGtpZF9wcm9iZSBwciwgaW50IGRyeXJ1bikKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfc3RlcF9iYWNrKGJsa2lkX3Byb2JlIHByKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworCisvKgorICogRGVwcmVjYXRlZCBmdW5jdGlvbnMvbWFjcm9zCisgKi8KKyNpZm5kZWYgQkxLSURfRElTQUJMRV9ERVBSRUNBVEVECisKKyNkZWZpbmUgQkxLSURfUFJPQlJFUV9MQUJFTCAgICAgQkxLSURfU1VCTEtTX0xBQkVMCisjZGVmaW5lIEJMS0lEX1BST0JSRVFfTEFCRUxSQVcgIEJMS0lEX1NVQkxLU19MQUJFTFJBVworI2RlZmluZSBCTEtJRF9QUk9CUkVRX1VVSUQgICAgICBCTEtJRF9TVUJMS1NfVVVJRAorI2RlZmluZSBCTEtJRF9QUk9CUkVRX1VVSURSQVcgICBCTEtJRF9TVUJMS1NfVVVJRFJBVworI2RlZmluZSBCTEtJRF9QUk9CUkVRX1RZUEUgICAgICBCTEtJRF9TVUJMS1NfVFlQRQorI2RlZmluZSBCTEtJRF9QUk9CUkVRX1NFQ1RZUEUgICBCTEtJRF9TVUJMS1NfU0VDVFlQRQorI2RlZmluZSBCTEtJRF9QUk9CUkVRX1VTQUdFICAgICBCTEtJRF9TVUJMS1NfVVNBR0UKKyNkZWZpbmUgQkxLSURfUFJPQlJFUV9WRVJTSU9OICAgQkxLSURfU1VCTEtTX1ZFUlNJT04KKworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9zZXRfcmVxdWVzdChibGtpZF9wcm9iZSBwciwgaW50IGZsYWdzKQorCQkJX191bF9hdHRyaWJ1dGVfXygoZGVwcmVjYXRlZCkpOworCitleHRlcm4gaW50IGJsa2lkX3Byb2JlX2ZpbHRlcl91c2FnZShibGtpZF9wcm9iZSBwciwgaW50IGZsYWcsIGludCB1c2FnZSkKKwkJCV9fdWxfYXR0cmlidXRlX18oKGRlcHJlY2F0ZWQpKTsKKworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9maWx0ZXJfdHlwZXMoYmxraWRfcHJvYmUgcHIsIGludCBmbGFnLCBjaGFyICpuYW1lc1tdKQorCQkJX191bF9hdHRyaWJ1dGVfXygoZGVwcmVjYXRlZCkpOworCitleHRlcm4gaW50IGJsa2lkX3Byb2JlX2ludmVydF9maWx0ZXIoYmxraWRfcHJvYmUgcHIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChkZXByZWNhdGVkKSk7CisKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfcmVzZXRfZmlsdGVyKGJsa2lkX3Byb2JlIHByKQorCQkJX191bF9hdHRyaWJ1dGVfXygoZGVwcmVjYXRlZCkpOworCisjZW5kaWYgLyogQkxLSURfRElTQUJMRV9ERVBSRUNBVEVEICovCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBfQkxLSURfQkxLSURfSCAqLwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL2Jsa2lkUC5oIGIvbGliYmxraWQvc3JjL2Jsa2lkUC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxN2M4YjAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvYmxraWRQLmgKQEAgLTAsMCArMSw1NDIgQEAKKy8qCisgKiBibGtpZFAuaCAtIEludGVybmFsIGludGVyZmFjZXMgZm9yIGxpYmJsa2lkCisgKgorICogQ29weXJpZ2h0IChDKSAyMDAxIEFuZHJlYXMgRGlsZ2VyCisgKiBDb3B5cmlnaHQgKEMpIDIwMDMgVGhlb2RvcmUgVHMnbworICoKKyAqICVCZWdpbi1IZWFkZXIlCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICogJUVuZC1IZWFkZXIlCisgKi8KKworI2lmbmRlZiBfQkxLSURfQkxLSURQX0gKKyNkZWZpbmUgX0JMS0lEX0JMS0lEUF9ICisKKy8qIEFsd2F5cyBjb25maXJtIHRoYXQgL2Rldi9kaXNrLWJ5IHN5bWxpbmtzIG1hdGNoIHdpdGggTEFCRUwvVVVJRCBvbiBkZXZpY2UgKi8KKy8qICNkZWZpbmUgQ09ORklHX0JMS0lEX1ZFUklGWV9VREVWIDEgKi8KKworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPGRpcmVudC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJiaXRvcHMuaCIJLyogJCh0b3Bfc3JjZGlyKS9pbmNsdWRlLyAqLworI2luY2x1ZGUgImJsa2Rldi5oIgorCisjaW5jbHVkZSAiZGVidWcuaCIKKyNpbmNsdWRlICJibGtpZC5oIgorI2luY2x1ZGUgImxpc3QuaCIKKworLyoKKyAqIFRoaXMgZGVzY3JpYmVzIHRoZSBhdHRyaWJ1dGVzIG9mIGEgc3BlY2lmaWMgZGV2aWNlLgorICogV2UgY2FuIHRyYXZlcnNlIGFsbCBvZiB0aGUgdGFncyBieSBiaWRfdGFncyAobGlua2luZyB0byB0aGUgdGFnIGJpdF9uYW1lcykuCisgKiBUaGUgYmlkX2xhYmVsIGFuZCBiaWRfdXVpZCBmaWVsZHMgYXJlIHNob3J0Y3V0cyB0byB0aGUgTEFCRUwgYW5kIFVVSUQgdGFnCisgKiB2YWx1ZXMsIGlmIHRoZXkgZXhpc3QuCisgKi8KK3N0cnVjdCBibGtpZF9zdHJ1Y3RfZGV2Cit7CisJc3RydWN0IGxpc3RfaGVhZAliaWRfZGV2czsJLyogQWxsIGRldmljZXMgaW4gdGhlIGNhY2hlICovCisJc3RydWN0IGxpc3RfaGVhZAliaWRfdGFnczsJLyogQWxsIHRhZ3MgZm9yIHRoaXMgZGV2aWNlICovCisJYmxraWRfY2FjaGUJCWJpZF9jYWNoZTsJLyogRGV2IGJlbG9uZ3MgdG8gdGhpcyBjYWNoZSAqLworCWNoYXIJCQkqYmlkX25hbWU7CS8qIERldmljZSByZWFsIHBhdGggKGFzIHVzZWQgaW4gY2FjaGUpICovCisJY2hhcgkJCSpiaWRfeG5hbWU7CS8qIERldmljZSBwYXRoIGFzIHVzZWQgYnkgYXBwbGljYXRpb24gKG1heWJlIHN5bWxpbmsuLikgKi8KKwljaGFyCQkJKmJpZF90eXBlOwkvKiBQcmVmZXJyZWQgZGV2aWNlIFRZUEUgKi8KKwlpbnQJCQliaWRfcHJpOwkvKiBEZXZpY2UgcHJpb3JpdHkgKi8KKwlkZXZfdAkJCWJpZF9kZXZubzsJLyogRGV2aWNlIG1ham9yL21pbm9yIG51bWJlciAqLworCXRpbWVfdAkJCWJpZF90aW1lOwkvKiBMYXN0IHVwZGF0ZSB0aW1lIG9mIGRldmljZSAqLworCXN1c2Vjb25kc190CQliaWRfdXRpbWU7CS8qIExhc3QgdXBkYXRlIHRpbWUgKG1pY3Jvc2Vjb25kcykgKi8KKwl1bnNpZ25lZCBpbnQJCWJpZF9mbGFnczsJLyogRGV2aWNlIHN0YXR1cyBiaXRmbGFncyAqLworCWNoYXIJCQkqYmlkX2xhYmVsOwkvKiBTaG9ydGN1dCB0byBkZXZpY2UgTEFCRUwgKi8KKwljaGFyCQkJKmJpZF91dWlkOwkvKiBTaG9ydGN1dCB0byBiaW5hcnkgVVVJRCAqLworfTsKKworI2RlZmluZSBCTEtJRF9CSURfRkxfVkVSSUZJRUQJMHgwMDAxCS8qIERldmljZSBkYXRhIHZhbGlkYXRlZCBmcm9tIGRpc2sgKi8KKyNkZWZpbmUgQkxLSURfQklEX0ZMX0lOVkFMSUQJMHgwMDA0CS8qIERldmljZSBpcyBpbnZhbGlkICovCisjZGVmaW5lIEJMS0lEX0JJRF9GTF9SRU1PVkFCTEUJMHgwMDA4CS8qIERldmljZSBhZGRlZCBieSBibGtpZF9wcm9iZV9hbGxfcmVtb3ZhYmxlKCkgKi8KKworLyoKKyAqIEVhY2ggdGFnIGRlZmluZXMgYSBOQU1FPXZhbHVlIHBhaXIgZm9yIGEgcGFydGljdWxhciBkZXZpY2UuICBUaGUgdGFncworICogYXJlIGxpbmtlZCB2aWEgYml0X25hbWVzIGZvciBhIHNpbmdsZSBkZXZpY2UsIHNvIHRoYXQgdHJhdmVyc2luZyB0aGUKKyAqIG5hbWVzIGxpc3Qgd2lsbCBnZXQgeW91IGEgbGlzdCBvZiBhbGwgdGFncyBhc3NvY2lhdGVkIHdpdGggYSBkZXZpY2UuCisgKiBUaGV5IGFyZSBhbHNvIGxpbmtlZCB2aWEgYml0X3ZhbHVlcyBmb3IgYWxsIGRldmljZXMsIHNvIG9uZSBjYW4gZWFzaWx5CisgKiBzZWFyY2ggYWxsIHRhZ3Mgd2l0aCBhIGdpdmVuIE5BTUUgZm9yIGEgc3BlY2lmaWMgdmFsdWUuCisgKi8KK3N0cnVjdCBibGtpZF9zdHJ1Y3RfdGFnCit7CisJc3RydWN0IGxpc3RfaGVhZAliaXRfdGFnczsJLyogQWxsIHRhZ3MgZm9yIHRoaXMgZGV2aWNlICovCisJc3RydWN0IGxpc3RfaGVhZAliaXRfbmFtZXM7CS8qIEFsbCB0YWdzIHdpdGggZ2l2ZW4gTkFNRSAqLworCWNoYXIJCQkqYml0X25hbWU7CS8qIE5BTUUgb2YgdGFnIChzaGFyZWQpICovCisJY2hhcgkJCSpiaXRfdmFsOwkvKiB2YWx1ZSBvZiB0YWcgKi8KKwlibGtpZF9kZXYJCWJpdF9kZXY7CS8qIHBvaW50ZXIgdG8gZGV2aWNlICovCit9OwordHlwZWRlZiBzdHJ1Y3QgYmxraWRfc3RydWN0X3RhZyAqYmxraWRfdGFnOworCisvKgorICogQ2hhaW4gSURzCisgKi8KK2VudW0geworCUJMS0lEX0NIQUlOX1NVQkxLUywJLyogRlMvUkFJRCBzdXBlcmJsb2NrcyAoZW5hYmxlZCBieSBkZWZhdWx0KSAqLworCUJMS0lEX0NIQUlOX1RPUExHWSwJLyogQmxvY2sgZGV2aWNlIHRvcG9sb2d5ICovCisJQkxLSURfQ0hBSU5fUEFSVFMsCS8qIFBhcnRpdGlvbiB0YWJsZXMgKi8KKworCUJMS0lEX05DSEFJTlMJCS8qIG51bWJlciBvZiBjaGFpbnMgKi8KK307CisKK3N0cnVjdCBibGtpZF9jaGFpbiB7CisJY29uc3Qgc3RydWN0IGJsa2lkX2NoYWluZHJ2ICpkcml2ZXI7CS8qIGNoYWluIGRyaXZlciAqLworCisJaW50CQllbmFibGVkOwkvKiBib29sZWFuICovCisJaW50CQlmbGFnczsJCS8qIEJMS0lEXzxjaGFpbj5fKiAqLworCWludAkJYmluYXJ5OwkJLyogYm9vbGVhbiAqLworCWludAkJaWR4OwkJLyogaW5kZXggb2YgdGhlIGN1cnJlbnQgcHJvYmVyIChvciAtMSkgKi8KKwl1bnNpZ25lZCBsb25nCSpmbHRyOwkJLyogZmlsdGVyIG9yIE5VTEwgKi8KKwl2b2lkCQkqZGF0YTsJCS8qIHByaXZhdGUgY2hhaW4gZGF0YSBvciBOVUxMICovCit9OworCisvKgorICogQ2hhaW4gZHJpdmVyCisgKi8KK3N0cnVjdCBibGtpZF9jaGFpbmRydiB7CisJY29uc3Qgc2l6ZV90CWlkOwkJLyogQkxLSURfQ0hBSU5fKiAqLworCWNvbnN0IGNoYXIJKm5hbWU7CQkvKiBuYW1lIG9mIGNoYWluIChmb3IgZGVidWcgcHVycG9zZSkgKi8KKwljb25zdCBpbnQJZGZsdF9mbGFnczsJLyogZGVmYXVsdCBjaGFpbiBmbGFncyAqLworCWNvbnN0IGludAlkZmx0X2VuYWJsZWQ7CS8qIGRlZmF1bHQgZW5hYmxlZCBib29sZWFuICovCisJaW50CQloYXNfZmx0cjsJLyogYm9vbGVhbiAqLworCisJY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyAqKmlkaW5mb3M7IC8qIGRlc2NyaXB0aW9uIG9mIHByb2JpbmcgZnVuY3Rpb25zICovCisJY29uc3Qgc2l6ZV90CW5pZGluZm9zOwkvKiBudW1iZXIgb2YgaWRpbmZvcyAqLworCisJLyogZHJpdmVyIG9wZXJhdGlvbnMgKi8KKwlpbnQJCSgqcHJvYmUpKGJsa2lkX3Byb2JlLCBzdHJ1Y3QgYmxraWRfY2hhaW4gKik7CisJaW50CQkoKnNhZmVwcm9iZSkoYmxraWRfcHJvYmUsIHN0cnVjdCBibGtpZF9jaGFpbiAqKTsKKwl2b2lkCQkoKmZyZWVfZGF0YSkoYmxraWRfcHJvYmUsIHZvaWQgKik7Cit9OworCisvKgorICogTG93LWxldmVsIHByb2JlIHJlc3VsdAorICovCitzdHJ1Y3QgYmxraWRfcHJ2YWwKK3sKKwljb25zdCBjaGFyCSpuYW1lOwkJLyogdmFsdWUgbmFtZSAqLworCXVuc2lnbmVkIGNoYXIJKmRhdGE7CQkvKiB2YWx1ZSBkYXRhICovCisJc2l6ZV90CQlsZW47CQkvKiBsZW5ndGggb2YgdmFsdWUgZGF0YSAqLworCisJc3RydWN0IGJsa2lkX2NoYWluCSpjaGFpbjsJCS8qIG93bmVyICovCisJc3RydWN0IGxpc3RfaGVhZAlwcnZhbHM7CQkvKiBsaXN0IG9mIHJlc3VsdHMgKi8KK307CisKKy8qCisgKiBGaWxlc3lzdGVtIC8gUmFpZCBtYWdpYyBzdHJpbmdzCisgKi8KK3N0cnVjdCBibGtpZF9pZG1hZworeworCWNvbnN0IGNoYXIJKm1hZ2ljOwkJLyogbWFnaWMgc3RyaW5nICovCisJdW5zaWduZWQgaW50CWxlbjsJCS8qIGxlbmd0aCBvZiBtYWdpYyAqLworCisJbG9uZwkJa2JvZmY7CQkvKiBraWxvYnl0ZSBvZmZzZXQgb2Ygc3VwZXJibG9jayAqLworCXVuc2lnbmVkIGludAlzYm9mZjsJCS8qIGJ5dGUgb2Zmc2V0IHdpdGhpbiBzdXBlcmJsb2NrICovCit9OworCisvKgorICogRmlsZXN5c3RlbSAvIFJhaWQgZGVzY3JpcHRpb24KKyAqLworc3RydWN0IGJsa2lkX2lkaW5mbworeworCWNvbnN0IGNoYXIJKm5hbWU7CQkvKiBmcywgcmFpZCBvciBwYXJ0aXRpb24gdGFibGUgbmFtZSAqLworCWludAkJdXNhZ2U7CQkvKiBCTEtJRF9VU0FHRV8qIGZsYWcgKi8KKwlpbnQJCWZsYWdzOwkJLyogQkxLSURfSURJTkZPXyogZmxhZ3MgKi8KKwlpbnQJCW1pbnN6OwkJLyogbWluaW1hbCBkZXZpY2Ugc2l6ZSAqLworCisJCQkJCS8qIHByb2JlIGZ1bmN0aW9uICovCisJaW50CQkoKnByb2JlZnVuYykoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKTsKKworCXN0cnVjdCBibGtpZF9pZG1hZwltYWdpY3NbXTsJLyogTlVMTCBvciBhcnJheSB3aXRoIG1hZ2ljIHN0cmluZ3MgKi8KK307CisKKyNkZWZpbmUgQkxLSURfTk9ORV9NQUdJQwl7eyBOVUxMIH19CisKKy8qCisgKiB0b2xlcmFudCBGUyAtIGNhbiBzaGFyZSB0aGUgc2FtZSBkZXZpY2Ugd2l0aCBtb3JlIGZpbGVzeXN0ZW1zIChlLmcuIHR5cGljYWwKKyAqIG9uIENELVJPTXMpLiBXZSBuZWVkIHRoaXMgZmxhZyB0byBkZXRlY3QgYW1iaXZhbGVudCByZXN1bHRzIChlLmcuIHZhbGlkIGZhdAorICogYW5kIHZhbGlkIGxpbnV4IHN3YXAgb24gdGhlIHNhbWUgZGV2aWNlKS4KKyAqLworI2RlZmluZSBCTEtJRF9JRElORk9fVE9MRVJBTlQJKDEgPDwgMSkKKworc3RydWN0IGJsa2lkX2J1ZmluZm8geworCXVuc2lnbmVkIGNoYXIJCSpkYXRhOworCXVpbnQ2NF90CQlvZmY7CisJdWludDY0X3QJCWxlbjsKKwlzdHJ1Y3QgbGlzdF9oZWFkCWJ1ZnM7CS8qIGxpc3Qgb2YgYnVmZmVycyAqLworfTsKKworLyoKKyAqIExvdy1sZXZlbCBwcm9iaW5nIGNvbnRyb2wgc3RydWN0CisgKi8KK3N0cnVjdCBibGtpZF9zdHJ1Y3RfcHJvYmUKK3sKKwlpbnQJCQlmZDsJCS8qIGRldmljZSBmaWxlIGRlc2NyaXB0b3IgKi8KKwl1aW50NjRfdAkJb2ZmOwkJLyogYmVnaW4gb2YgZGF0YSBvbiB0aGUgZGV2aWNlICovCisJdWludDY0X3QJCXNpemU7CQkvKiBlbmQgb2YgZGF0YSBvbiB0aGUgZGV2aWNlICovCisKKwlkZXZfdAkJCWRldm5vOwkJLyogZGV2aWNlIG51bWJlciAoc3Quc3RfcmRldikgKi8KKwlkZXZfdAkJCWRpc2tfZGV2bm87CS8qIGRldm5vIG9mIHRoZSB3aG9sZS1kaXNrIG9yIDAgKi8KKwl1bnNpZ25lZCBpbnQJCWJsa3NzejsJCS8qIHNlY3RvciBzaXplIChCTEtTU1pHRVQgaW9jdGwpICovCisJbW9kZV90CQkJbW9kZTsJCS8qIHN0cnVjdCBzdGF0LnNiX21vZGUgKi8KKworCWludAkJCWZsYWdzOwkJLyogcHJpdmF0ZSBsaWJyYXJ5IGZsYWdzICovCisJaW50CQkJcHJvYl9mbGFnczsJLyogYWx3YXlzIHplcm9pemVkIGJ5IGJsa2lkX2RvXyooKSAqLworCisJdWludDY0X3QJCXdpcGVfb2ZmOwkvKiBiZWdpbiBvZiB0aGUgd2lwZWQgYXJlYSAqLworCXVpbnQ2NF90CQl3aXBlX3NpemU7CS8qIHNpemUgb2YgdGhlIHdpcGVkIGFyZWEgKi8KKwlzdHJ1Y3QgYmxraWRfY2hhaW4JKndpcGVfY2hhaW47CS8qIHN1cGVyYmxvY2ssIHBhcnRpdGlvbiwgLi4uICovCisKKwlzdHJ1Y3QgbGlzdF9oZWFkCWJ1ZmZlcnM7CS8qIGxpc3Qgb2YgYnVmZmVycyAqLworCisJc3RydWN0IGJsa2lkX2NoYWluCWNoYWluc1tCTEtJRF9OQ0hBSU5TXTsJLyogYXJyYXkgb2YgY2hhaW5zICovCisJc3RydWN0IGJsa2lkX2NoYWluCSpjdXJfY2hhaW47CQkvKiBjdXJyZW50IGNoYWluICovCisKKwlzdHJ1Y3QgbGlzdF9oZWFkCXZhbHVlczsJCS8qIHJlc3VsdHMgKi8KKworCXN0cnVjdCBibGtpZF9zdHJ1Y3RfcHJvYmUgKnBhcmVudDsJLyogZm9yIGNsb25lcyAqLworCXN0cnVjdCBibGtpZF9zdHJ1Y3RfcHJvYmUgKmRpc2tfcHJvYmU7CS8qIHdob2xlLWRpc2sgcHJvYmluZyAqLworfTsKKworLyogcHJpdmF0ZSBmbGFncyBsaWJyYXJ5IGZsYWdzICovCisjZGVmaW5lIEJMS0lEX0ZMX1BSSVZBVEVfRkQJKDEgPDwgMSkJLyogc2VlIGJsa2lkX25ld19wcm9iZV9mcm9tX2ZpbGVuYW1lKCkgKi8KKyNkZWZpbmUgQkxLSURfRkxfVElOWV9ERVYJKDEgPDwgMikJLyogPD0gMS40N01pQiAoZmxvcHB5IG9yIHNvKSAqLworI2RlZmluZSBCTEtJRF9GTF9DRFJPTV9ERVYJKDEgPDwgMykJLyogaXMgYSBDRC9EVkQgZHJpdmUgKi8KKyNkZWZpbmUgQkxLSURfRkxfTk9TQ0FOX0RFVgkoMSA8PCA0KQkvKiBkbyBub3Qgc2NhbiB0aGlzIGRldmljZSAqLworCisvKiBwcml2YXRlIHBlci1wcm9iaW5nIGZsYWdzICovCisjZGVmaW5lIEJMS0lEX1BST0JFX0ZMX0lHTk9SRV9QVCAoMSA8PCAxKQkvKiBpZ25vcmUgcGFydGl0aW9uIHRhYmxlICovCisKK2V4dGVybiBibGtpZF9wcm9iZSBibGtpZF9jbG9uZV9wcm9iZShibGtpZF9wcm9iZSBwYXJlbnQpOworZXh0ZXJuIGJsa2lkX3Byb2JlIGJsa2lkX3Byb2JlX2dldF93aG9sZWRpc2tfcHJvYmUoYmxraWRfcHJvYmUgcHIpOworCisvKgorICogRXZhbHVhdGlvbiBtZXRob2RzIChmb3IgYmxraWRfZXZhbF8qIEFQSSkKKyAqLworZW51bSB7CisJQkxLSURfRVZBTF9VREVWID0gMCwKKwlCTEtJRF9FVkFMX1NDQU4sCisKKwlfX0JMS0lEX0VWQUxfTEFTVAorfTsKKworLyoKKyAqIExpYnJhcnkgY29uZmlnIG9wdGlvbnMKKyAqLworc3RydWN0IGJsa2lkX2NvbmZpZyB7CisJaW50IGV2YWxbX19CTEtJRF9FVkFMX0xBU1RdOwkvKiBhcnJheSB3aXRoIEVWQUxVQVRJT049PHVkZXYsY2FjaGU+IG9wdGlvbnMgKi8KKwlpbnQgbmV2YWxzOwkJCS8qIG51bWJlciBvZiBlbGVtcyBpbiBldmFsIGFycmF5ICovCisJaW50IHVldmVudDsJCQkvKiBTRU5EX1VFVkVOVD08eWVzfG5vdD4gb3B0aW9uICovCisJY2hhciAqY2FjaGVmaWxlOwkJLyogQ0FDSEVfRklMRT08cGF0aD4gb3B0aW9uICovCit9OworCitleHRlcm4gc3RydWN0IGJsa2lkX2NvbmZpZyAqYmxraWRfcmVhZF9jb25maWcoY29uc3QgY2hhciAqZmlsZW5hbWUpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKK2V4dGVybiB2b2lkIGJsa2lkX2ZyZWVfY29uZmlnKHN0cnVjdCBibGtpZF9jb25maWcgKmNvbmYpOworCisvKgorICogTWluaW11bSBudW1iZXIgb2Ygc2Vjb25kcyBiZXR3ZWVuIGRldmljZSBwcm9iZXMsIGV2ZW4gd2hlbiByZWFkaW5nCisgKiBmcm9tIHRoZSBjYWNoZS4gIFRoaXMgaXMgdG8gYXZvaWQgcmUtcHJvYmluZyBhbGwgZGV2aWNlcyB3aGljaCB3ZXJlCisgKiBqdXN0IHByb2JlZCBieSBhbm90aGVyIHByb2dyYW0gdGhhdCBkb2VzIG5vdCBzaGFyZSB0aGUgY2FjaGUuCisgKi8KKyNkZWZpbmUgQkxLSURfUFJPQkVfTUlOCQkyCisKKy8qCisgKiBUaW1lIGluIHNlY29uZHMgYW4gZW50cnkgcmVtYWlucyB2ZXJpZmllZCBpbiB0aGUgaW4tbWVtb3J5IGNhY2hlCisgKiBiZWZvcmUgYmVpbmcgcmV2ZXJpZmllZCAoaW4gY2FzZSBvZiBsb25nLXJ1bm5pbmcgcHJvY2Vzc2VzIHRoYXQKKyAqIGtlZXAgYSBjYWNoZSBpbiBtZW1vcnkgYW5kIGNvbnRpbnVlIHRvIHVzZSBpdCBmb3IgYSBsb25nIHRpbWUpLgorICovCisjZGVmaW5lIEJMS0lEX1BST0JFX0lOVEVSVkFMCTIwMAorCisvKiBUaGlzIGRlc2NyaWJlcyBhbiBlbnRpcmUgYmxraWQgY2FjaGUgZmlsZSBhbmQgcHJvYmVkIGRldmljZXMuCisgKiBXZSBjYW4gdHJhdmVyc2UgYWxsIG9mIHRoZSBmb3VuZCBkZXZpY2VzIHZpYSBiaWNfbGlzdC4KKyAqIFdlIGNhbiB0cmF2ZXJzZSBhbGwgb2YgdGhlIHRhZyB0eXBlcyBieSBiaWNfdGFncywgd2hpY2ggaG9sZCBlbXB0eSB0YWdzCisgKiBmb3IgZWFjaCB0YWcgdHlwZS4gIFRob3NlIHRhZ3MgY2FuIGJlIHVzZWQgYXMgbGlzdF9oZWFkcyBmb3IgaXRlcmF0aW5nCisgKiB0aHJvdWdoIGFsbCBkZXZpY2VzIHdpdGggYSBzcGVjaWZpYyB0YWcgdHlwZSAoZS5nLiBMQUJFTCkuCisgKi8KK3N0cnVjdCBibGtpZF9zdHJ1Y3RfY2FjaGUKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkCWJpY19kZXZzOwkvKiBMaXN0IGhlYWQgb2YgYWxsIGRldmljZXMgKi8KKwlzdHJ1Y3QgbGlzdF9oZWFkCWJpY190YWdzOwkvKiBMaXN0IGhlYWQgb2YgYWxsIHRhZyB0eXBlcyAqLworCXRpbWVfdAkJCWJpY190aW1lOwkvKiBMYXN0IHByb2JlIHRpbWUgKi8KKwl0aW1lX3QJCQliaWNfZnRpbWU7CS8qIE1vZCB0aW1lIG9mIHRoZSBjYWNoZWZpbGUgKi8KKwl1bnNpZ25lZCBpbnQJCWJpY19mbGFnczsJLyogU3RhdHVzIGZsYWdzIG9mIHRoZSBjYWNoZSAqLworCWNoYXIJCQkqYmljX2ZpbGVuYW1lOwkvKiBmaWxlbmFtZSBvZiBjYWNoZSAqLworCWJsa2lkX3Byb2JlCQlwcm9iZTsJCS8qIGxvdy1sZXZlbCBwcm9iaW5nIHN0dWZmICovCit9OworCisjZGVmaW5lIEJMS0lEX0JJQ19GTF9QUk9CRUQJMHgwMDAyCS8qIFdlIHByb2JlZCAvcHJvYy9wYXJ0aXRpb24gZGV2aWNlcyAqLworI2RlZmluZSBCTEtJRF9CSUNfRkxfQ0hBTkdFRAkweDAwMDQJLyogQ2FjaGUgaGFzIGNoYW5nZWQgZnJvbSBkaXNrICovCisKKy8qIGNvbmZpZyBmaWxlICovCisjZGVmaW5lIEJMS0lEX0NPTkZJR19GSUxFCSIvZXRjL2Jsa2lkLmNvbmYiCisKKy8qIGNhY2hlIGZpbGUgb24gc3lzdGVtZHMgd2l0aCAvcnVuICovCisjZGVmaW5lIEJMS0lEX1JVTlRJTUVfVE9QRElSCSIvcnVuIgorI2RlZmluZSBCTEtJRF9SVU5USU1FX0RJUglCTEtJRF9SVU5USU1FX1RPUERJUiAiL2Jsa2lkIgorI2RlZmluZSBCTEtJRF9DQUNIRV9GSUxFCUJMS0lEX1JVTlRJTUVfRElSICIvYmxraWQudGFiIgorCisvKiBvbGQgc3lzdGVtcyAqLworI2RlZmluZSBCTEtJRF9DQUNIRV9GSUxFX09MRAkiL2V0Yy9ibGtpZC50YWIiCisKKyNkZWZpbmUgQkxLSURfUFJPQkVfT0sJIDAKKyNkZWZpbmUgQkxLSURfUFJPQkVfTk9ORSAxCisKKyNkZWZpbmUgQkxLSURfRVJSX0lPCSA1CisjZGVmaW5lIEJMS0lEX0VSUl9QUk9DCSA5CisjZGVmaW5lIEJMS0lEX0VSUl9NRU0JMTIKKyNkZWZpbmUgQkxLSURfRVJSX0NBQ0hFCTE0CisjZGVmaW5lIEJMS0lEX0VSUl9ERVYJMTkKKyNkZWZpbmUgQkxLSURfRVJSX1BBUkFNCTIyCisjZGVmaW5lIEJMS0lEX0VSUl9CSUcJMjcKKworLyoKKyAqIFByaW9yaXR5IHNldHRpbmdzIGZvciBkaWZmZXJlbnQgdHlwZXMgb2YgZGV2aWNlcworICovCisjZGVmaW5lIEJMS0lEX1BSSV9VQkkJNTAKKyNkZWZpbmUgQkxLSURfUFJJX0RNCTQwCisjZGVmaW5lIEJMS0lEX1BSSV9FVk1TCTMwCisjZGVmaW5lIEJMS0lEX1BSSV9MVk0JMjAKKyNkZWZpbmUgQkxLSURfUFJJX01ECTEwCisKKyNkZWZpbmUgQkxLSURfREVCVUdfSEVMUAkoMSA8PCAwKQorI2RlZmluZSBCTEtJRF9ERUJVR19JTklUCSgxIDw8IDEpCisjZGVmaW5lIEJMS0lEX0RFQlVHX0NBQ0hFCSgxIDw8IDIpCisjZGVmaW5lIEJMS0lEX0RFQlVHX0NPTkZJRwkoMSA8PCAzKQorI2RlZmluZSBCTEtJRF9ERUJVR19ERVYJCSgxIDw8IDQpCisjZGVmaW5lIEJMS0lEX0RFQlVHX0RFVk5BTUUJKDEgPDwgNSkKKyNkZWZpbmUgQkxLSURfREVCVUdfREVWTk8JKDEgPDwgNikKKyNkZWZpbmUgQkxLSURfREVCVUdfRVZBTFVBVEUJKDEgPDwgNykKKyNkZWZpbmUgQkxLSURfREVCVUdfTE9XUFJPQkUJKDEgPDwgOCkKKyNkZWZpbmUgQkxLSURfREVCVUdfUFJPQkUJKDEgPDwgOSkKKyNkZWZpbmUgQkxLSURfREVCVUdfUkVBRAkoMSA8PCAxMCkKKyNkZWZpbmUgQkxLSURfREVCVUdfU0FWRQkoMSA8PCAxMSkKKyNkZWZpbmUgQkxLSURfREVCVUdfVEFHCQkoMSA8PCAxMikKKyNkZWZpbmUgQkxLSURfREVCVUdfQlVGRkVSCSgxIDw8IDEzKQorI2RlZmluZSBCTEtJRF9ERUJVR19BTEwJCTB4RkZGRgkJLyogKDEgPDwgMTYpIGFrYSBGRkZGIGlzIGV4cGVjdGVkIGJ5IEFQSSAqLworCitVTF9ERUJVR19ERUNMQVJFX01BU0sobGliYmxraWQpOworI2RlZmluZSBEQkcobSwgeCkJX19VTF9EQkcobGliYmxraWQsIEJMS0lEX0RFQlVHXywgbSwgeCkKKyNkZWZpbmUgT05fREJHKG0sIHgpICAgIF9fVUxfREJHX0NBTEwobGliYmxraWQsIEJMS0lEX0RFQlVHXywgbSwgeCkKKworZXh0ZXJuIHZvaWQgYmxraWRfZGVidWdfZHVtcF9kZXYoYmxraWRfZGV2IGRldik7CisKKworLyogZGV2bm8uYyAqLworc3RydWN0IGRpcl9saXN0IHsKKwljaGFyCSpuYW1lOworCXN0cnVjdCBkaXJfbGlzdCAqbmV4dDsKK307CitleHRlcm4gdm9pZCBibGtpZF9fc2Nhbl9kaXIoY2hhciAqLCBkZXZfdCwgc3RydWN0IGRpcl9saXN0ICoqLCBjaGFyICoqKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCgxLDQpKSk7CitleHRlcm4gaW50IGJsa2lkX2RyaXZlcl9oYXNfbWFqb3IoY29uc3QgY2hhciAqZHJ2bmFtZSwgaW50IG1ham9yKQorCQkJX19hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CisKKy8qIGxzZWVrLmMgKi8KK2V4dGVybiBibGtpZF9sb2ZmX3QgYmxraWRfbGxzZWVrKGludCBmZCwgYmxraWRfbG9mZl90IG9mZnNldCwgaW50IHdoZW5jZSk7CisKKy8qIHJlYWQuYyAqLworZXh0ZXJuIHZvaWQgYmxraWRfcmVhZF9jYWNoZShibGtpZF9jYWNoZSBjYWNoZSkKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworLyogc2F2ZS5jICovCitleHRlcm4gaW50IGJsa2lkX2ZsdXNoX2NhY2hlKGJsa2lkX2NhY2hlIGNhY2hlKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworCisvKiBjYWNoZSAqLworZXh0ZXJuIGNoYXIgKmJsa2lkX3NhZmVfZ2V0ZW52KGNvbnN0IGNoYXIgKmFyZykKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKQorCQkJX19hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CisKK2V4dGVybiBjaGFyICpibGtpZF9nZXRfY2FjaGVfZmlsZW5hbWUoc3RydWN0IGJsa2lkX2NvbmZpZyAqY29uZikKKwkJCV9fYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworLyoKKyAqIEZ1bmN0aW9ucyB0byBjcmVhdGUgYW5kIGZpbmQgYSBzcGVjaWZpYyB0YWcgdHlwZTogdGFnLmMKKyAqLworZXh0ZXJuIHZvaWQgYmxraWRfZnJlZV90YWcoYmxraWRfdGFnIHRhZyk7CitleHRlcm4gYmxraWRfdGFnIGJsa2lkX2ZpbmRfdGFnX2RldihibGtpZF9kZXYgZGV2LCBjb25zdCBjaGFyICp0eXBlKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCkpCisJCQlfX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKKworZXh0ZXJuIGludCBibGtpZF9zZXRfdGFnKGJsa2lkX2RldiBkZXYsIGNvbnN0IGNoYXIgKm5hbWUsCisJCQkgY29uc3QgY2hhciAqdmFsdWUsIGNvbnN0IGludCB2bGVuZ3RoKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCgxLDIpKSk7CisKKy8qCisgKiBGdW5jdGlvbnMgdG8gY3JlYXRlIGFuZCBmaW5kIGEgc3BlY2lmaWMgdGFnIHR5cGU6IGRldi5jCisgKi8KK2V4dGVybiBibGtpZF9kZXYgYmxraWRfbmV3X2Rldih2b2lkKQorCQkJX19hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CitleHRlcm4gdm9pZCBibGtpZF9mcmVlX2RldihibGtpZF9kZXYgZGV2KTsKKworLyogcHJvYmUuYyAqLworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9pc190aW55KGJsa2lkX3Byb2JlIHByKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCkpCisJCQlfX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfaXNfY2Ryb20oYmxraWRfcHJvYmUgcHIpCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSkKKwkJCV9fYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworCitleHRlcm4gdW5zaWduZWQgY2hhciAqYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihibGtpZF9wcm9iZSBwciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3Qgb2ZmLCB1aW50NjRfdCBsZW4pCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSkKKwkJCV9fYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworCitleHRlcm4gdW5zaWduZWQgY2hhciAqYmxraWRfcHJvYmVfZ2V0X3NlY3RvcihibGtpZF9wcm9iZSBwciwgdW5zaWduZWQgaW50IHNlY3RvcikKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKQorCQkJX19hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CisKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfZ2V0X2RpbWVuc2lvbihibGtpZF9wcm9iZSBwciwKKwkgICAgICAgICAgICAgICAgdWludDY0X3QgKm9mZiwgdWludDY0X3QgKnNpemUpCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfc2V0X2RpbWVuc2lvbihibGtpZF9wcm9iZSBwciwKKwkgICAgICAgICAgICAgICAgdWludDY0X3Qgb2ZmLCB1aW50NjRfdCBzaXplKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworCitleHRlcm4gaW50IGJsa2lkX3Byb2JlX2dldF9pZG1hZyhibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyAqaWQsCisJCQl1aW50NjRfdCAqb2Zmc2V0LCBjb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKipyZXMpCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKDEpKSk7CisKKy8qIHJldHVybnMgc3VwZXJibG9jayBhY2NvcmRpbmcgdG8gJ3N0cnVjdCBibGtpZF9pZG1hZycgKi8KKyNkZWZpbmUgYmxraWRfcHJvYmVfZ2V0X3NiKF9wciwgX21hZywgdHlwZSkgXAorCQkJKCh0eXBlICopIGJsa2lkX3Byb2JlX2dldF9idWZmZXIoKF9wciksXAorCQkJCQkoX21hZyktPmtib2ZmIDw8IDEwLCBzaXplb2YodHlwZSkpKQorCitleHRlcm4gYmxraWRfcGFydGxpc3QgYmxraWRfcHJvYmVfZ2V0X3BhcnRsaXN0KGJsa2lkX3Byb2JlIHByKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCkpCisJCQlfX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKKworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9pc19jb3ZlcmVkX2J5X3B0KGJsa2lkX3Byb2JlIHByLAorCQkJCQl1aW50NjRfdCBvZmZzZXQsIHVpbnQ2NF90IHNpemUpCisJCQlfX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKKworZXh0ZXJuIHZvaWQgYmxraWRfcHJvYmVfY2hhaW5fcmVzZXRfdmFsdWVzKGJsa2lkX3Byb2JlIHByLCBzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobikKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfY2hhaW5fc2F2ZV92YWx1ZXMoYmxraWRfcHJvYmUgcHIsCisJCQkJICAgICAgIHN0cnVjdCBibGtpZF9jaGFpbiAqY2huLAorCQkJICAgICAgICAgICAgICAgc3RydWN0IGxpc3RfaGVhZCAqdmFscykKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworZXh0ZXJuIHN0cnVjdCBibGtpZF9wcnZhbCAqYmxraWRfcHJvYmVfYXNzaWduX3ZhbHVlKGJsa2lkX3Byb2JlIHByLAorCQkJCQljb25zdCBjaGFyICpuYW1lKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCkpCisJCQlfX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKKworZXh0ZXJuIHZvaWQgYmxraWRfcHJvYmVfZnJlZV92YWx1ZShzdHJ1Y3QgYmxraWRfcHJ2YWwgKnYpOworCisKK2V4dGVybiB2b2lkIGJsa2lkX3Byb2JlX2FwcGVuZF92YWx1ZXNfbGlzdChibGtpZF9wcm9iZSBwciwKKwkJCQkgICAgc3RydWN0IGxpc3RfaGVhZCAqdmFscykKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworZXh0ZXJuIHZvaWQgYmxraWRfcHJvYmVfZnJlZV92YWx1ZXNfbGlzdChzdHJ1Y3QgbGlzdF9oZWFkICp2YWxzKTsKKworZXh0ZXJuIHN0cnVjdCBibGtpZF9jaGFpbiAqYmxraWRfcHJvYmVfZ2V0X2NoYWluKGJsa2lkX3Byb2JlIHByKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCkpCisJCQlfX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKKworZXh0ZXJuIHN0cnVjdCBibGtpZF9wcnZhbCAqX19ibGtpZF9wcm9iZV9nZXRfdmFsdWUoYmxraWRfcHJvYmUgcHIsIGludCBudW0pCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSkKKwkJCV9fYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworCitleHRlcm4gc3RydWN0IGJsa2lkX3BydmFsICpfX2Jsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShibGtpZF9wcm9iZSBwciwgY29uc3QgY2hhciAqbmFtZSkKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKQorCQkJX19hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CisKK2V4dGVybiB1bnNpZ25lZCBsb25nICpibGtpZF9wcm9iZV9nZXRfZmlsdGVyKGJsa2lkX3Byb2JlIHByLCBpbnQgY2hhaW4sIGludCBjcmVhdGUpCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSkKKwkJCV9fYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworCitleHRlcm4gaW50IF9fYmxraWRfcHJvYmVfaW52ZXJ0X2ZpbHRlcihibGtpZF9wcm9iZSBwciwgaW50IGNoYWluKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworZXh0ZXJuIGludCBfX2Jsa2lkX3Byb2JlX3Jlc2V0X2ZpbHRlcihibGtpZF9wcm9iZSBwciwgaW50IGNoYWluKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworZXh0ZXJuIGludCBfX2Jsa2lkX3Byb2JlX2ZpbHRlcl90eXBlcyhibGtpZF9wcm9iZSBwciwgaW50IGNoYWluLCBpbnQgZmxhZywgY2hhciAqbmFtZXNbXSkKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworZXh0ZXJuIHZvaWQgKmJsa2lkX3Byb2JlX2dldF9iaW5hcnlfZGF0YShibGtpZF9wcm9iZSBwciwgc3RydWN0IGJsa2lkX2NoYWluICpjaG4pCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSkKKwkJCV9fYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworCitleHRlcm4gc3RydWN0IGJsa2lkX3BydmFsICpibGtpZF9wcm9iZV9uZXdfdmFsKHZvaWQpCisJCQlfX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfc2V0X3ZhbHVlKGJsa2lkX3Byb2JlIHByLCBjb25zdCBjaGFyICpuYW1lLAorCQkJCXVuc2lnbmVkIGNoYXIgKmRhdGEsIHNpemVfdCBsZW4pCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gaW50IGJsa2lkX3Byb2JlX3ZhbHVlX3NldF9kYXRhKHN0cnVjdCBibGtpZF9wcnZhbCAqdiwKKwkJCQl1bnNpZ25lZCBjaGFyICpkYXRhLCBzaXplX3QgbGVuKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworCitleHRlcm4gaW50IGJsa2lkX3Byb2JlX3ZzcHJpbnRmX3ZhbHVlKGJsa2lkX3Byb2JlIHByLCBjb25zdCBjaGFyICpuYW1lLAorCQkJCWNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcCkKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9zcHJpbnRmX3ZhbHVlKGJsa2lkX3Byb2JlIHByLCBjb25zdCBjaGFyICpuYW1lLAorCQkJCWNvbnN0IGNoYXIgKmZtdCwgLi4uKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCkpCisJCQlfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyAoX19wcmludGZfXywgMywgNCkpKTsKKworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9zZXRfbWFnaWMoYmxraWRfcHJvYmUgcHIsIHVpbnQ2NF90IG9mZnNldCwKKwkJCQlzaXplX3QgbGVuLCB1bnNpZ25lZCBjaGFyICptYWdpYykKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworZXh0ZXJuIGludCBibGtpZF9wcm9iZV92ZXJpZnlfY3N1bShibGtpZF9wcm9iZSBwciwgdWludDY0X3QgY3N1bSwgdWludDY0X3QgZXhwZWN0ZWQpCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKK2V4dGVybiB2b2lkIGJsa2lkX3VucGFyc2VfdXVpZChjb25zdCB1bnNpZ25lZCBjaGFyICp1dWlkLCBjaGFyICpzdHIsIHNpemVfdCBsZW4pCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gaW50IGJsa2lkX3V1aWRfaXNfZW1wdHkoY29uc3QgdW5zaWduZWQgY2hhciAqYnVmLCBzaXplX3QgbGVuKTsKKworZXh0ZXJuIHNpemVfdCBibGtpZF9ydHJpbV93aGl0ZXNwYWNlKHVuc2lnbmVkIGNoYXIgKnN0cikKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBzaXplX3QgYmxraWRfbHRyaW1fd2hpdGVzcGFjZSh1bnNpZ25lZCBjaGFyICpzdHIpCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKK2V4dGVybiB2b2lkIGJsa2lkX3Byb2JlX3NldF93aXBlcihibGtpZF9wcm9iZSBwciwgdWludDY0X3Qgb2ZmLAorCQkJCSAgdWludDY0X3Qgc2l6ZSkKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfaXNfd2lwZWQoYmxraWRfcHJvYmUgcHIsIHN0cnVjdCBibGtpZF9jaGFpbiAqKmNobiwKKwkJICAgICAgICAgICAgICAgIHVpbnQ2NF90IG9mZiwgdWludDY0X3Qgc2l6ZSkKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKQorCQkJX19hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CitleHRlcm4gdm9pZCBibGtpZF9wcm9iZV91c2Vfd2lwZXIoYmxraWRfcHJvYmUgcHIsIHVpbnQ2NF90IG9mZiwgdWludDY0X3Qgc2l6ZSkKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworLyogZmlsdGVyIGJpdG1hcCBtYWNyb3MgKi8KKyNkZWZpbmUgYmxraWRfYm1wX3dvcmRzaXplCQkoOCAqIHNpemVvZih1bnNpZ25lZCBsb25nKSkKKyNkZWZpbmUgYmxraWRfYm1wX2lkeF9iaXQoaXRlbSkJCSgxVUwgPDwgKChpdGVtKSAlIGJsa2lkX2JtcF93b3Jkc2l6ZSkpCisjZGVmaW5lIGJsa2lkX2JtcF9pZHhfYnl0ZShpdGVtKQkoKGl0ZW0pIC8gYmxraWRfYm1wX3dvcmRzaXplKQorCisjZGVmaW5lIGJsa2lkX2JtcF9zZXRfaXRlbShibXAsIGl0ZW0pCVwKKwkJKChibXApWyBibGtpZF9ibXBfaWR4X2J5dGUoaXRlbSkgXSB8PSBibGtpZF9ibXBfaWR4X2JpdChpdGVtKSkKKworI2RlZmluZSBibGtpZF9ibXBfdW5zZXRfaXRlbShibXAsIGl0ZW0pCVwKKwkJKChibXApWyBibGtpZF9ibXBfaWR4X2J5dGUoaXRlbSkgXSAmPSB+YmxraWRfYm1wX2lkeF9iaXQoaXRlbSkpCisKKyNkZWZpbmUgYmxraWRfYm1wX2dldF9pdGVtKGJtcCwgaXRlbSkJXAorCQkoKGJtcClbIGJsa2lkX2JtcF9pZHhfYnl0ZShpdGVtKSBdICYgYmxraWRfYm1wX2lkeF9iaXQoaXRlbSkpCisKKyNkZWZpbmUgYmxraWRfYm1wX253b3JkcyhtYXhfaXRlbXMpIFwKKwkJKCgobWF4X2l0ZW1zKSArIGJsa2lkX2JtcF93b3Jkc2l6ZSkgLyBibGtpZF9ibXBfd29yZHNpemUpCisKKyNkZWZpbmUgYmxraWRfYm1wX25ieXRlcyhtYXhfaXRlbXMpIFwKKwkJKGJsa2lkX2JtcF9ud29yZHMobWF4X2l0ZW1zKSAqIHNpemVvZih1bnNpZ25lZCBsb25nKSkKKworLyogZW5jb2RlLmMgKi8KK2V4dGVybiB1bnNpZ25lZCBjaGFyICpibGtpZF9lbmNvZGVfYWxsb2Moc2l6ZV90IGNvdW50LCBzaXplX3QgKnJlc2xlbik7CitleHRlcm4gc2l6ZV90IGJsa2lkX2VuY29kZV90b191dGY4KGludCBlbmMsIHVuc2lnbmVkIGNoYXIgKmRlc3QsIHNpemVfdCBsZW4sCisJCQkJY29uc3QgdW5zaWduZWQgY2hhciAqc3JjLCBzaXplX3QgY291bnQpCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKKyNkZWZpbmUgQkxLSURfRU5DX1VURjE2QkUJMAorI2RlZmluZSBCTEtJRF9FTkNfVVRGMTZMRQkxCisKKyNlbmRpZiAvKiBfQkxLSURfQkxLSURQX0ggKi8KZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9jYWNoZS5jIGIvbGliYmxraWQvc3JjL2NhY2hlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzE5OWI5MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9jYWNoZS5jCkBAIC0wLDAgKzEsMjI1IEBACisvKgorICogY2FjaGUuYyAtIGFsbG9jYXRpb24vaW5pdGlhbGl6YXRpb24vZnJlZSByb3V0aW5lcyBmb3IgY2FjaGUKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDEgQW5kcmVhcyBEaWxnZXIKKyAqIENvcHlyaWdodCAoQykgMjAwMyBUaGVvZG9yZSBUcydvCisgKgorICogJUJlZ2luLUhlYWRlciUKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKiAlRW5kLUhlYWRlciUKKyAqLworCisjaWZkZWYgSEFWRV9VTklTVERfSAorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9FUlJOT19ICisjaW5jbHVkZSA8ZXJybm8uaD4KKyNlbmRpZgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjZW5kaWYKKyNpbmNsdWRlICJibGtpZFAuaCIKKyNpbmNsdWRlICJlbnYuaCIKKworLyoqCisgKiBTRUNUSU9OOmNhY2hlCisgKiBAdGl0bGU6IENhY2hlCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGJhc2ljIHJvdXRpbmVzIHRvIHdvcmsgd2l0aCBsaWJibGtpZCBjYWNoZQorICoKKyAqIEJsb2NrIGRldmljZSBpbmZvcm1hdGlvbiBpcyBub3JtYWxseSBrZXB0IGluIGEgY2FjaGUgZmlsZSBibGtpZC50YWIgYW5kIGlzCisgKiB2ZXJpZmllZCB0byBzdGlsbCBiZSB2YWxpZCBiZWZvcmUgYmVpbmcgcmV0dXJuZWQgdG8gdGhlIHVzZXIgKGlmIHRoZSB1c2VyIGhhcworICogcmVhZCBwZXJtaXNzaW9uIG9uIHRoZSByYXcgYmxvY2sgZGV2aWNlLCBvdGhlcndpc2Ugbm90KS4gIFRoZSBjYWNoZSBmaWxlIGFsc28KKyAqIGFsbG93cyB1bnByaXZpbGVnZWQgdXNlcnMgKG5vcm1hbGx5IGFueW9uZSBvdGhlciB0aGFuIHJvb3QsIG9yIHRob3NlIG5vdCBpbiB0aGUKKyAqICJkaXNrIiBncm91cCkgdG8gbG9jYXRlIGRldmljZXMgYnkgbGFiZWwvaWQuICBUaGUgc3RhbmRhcmQgbG9jYXRpb24gb2YgdGhlCisgKiBjYWNoZSBmaWxlIGNhbiBiZSBvdmVycmlkZGVuIGJ5IHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBCTEtJRF9GSUxFLgorICoKKyAqIEluIHNpdHVhdGlvbnMgd2hlcmUgb25lIGlzIGdldHRpbmcgaW5mb3JtYXRpb24gYWJvdXQgYSBzaW5nbGUga25vd24gZGV2aWNlLCBpdAorICogZG9lcyBub3QgaW1wYWN0IHBlcmZvcm1hbmNlIHdoZXRoZXIgdGhlIGNhY2hlIGlzIHVzZWQgb3Igbm90ICh1bmxlc3MgeW91IGFyZQorICogbm90IGFibGUgdG8gcmVhZCB0aGUgYmxvY2sgZGV2aWNlIGRpcmVjdGx5KS4gIElmIHlvdSBhcmUgZGVhbGluZyB3aXRoIG11bHRpcGxlCisgKiBkZXZpY2VzLCB1c2Ugb2YgdGhlIGNhY2hlIGlzIGhpZ2hseSByZWNvbW1lbmRlZCAoZXZlbiBpZiBlbXB0eSkgYXMgZGV2aWNlcyB3aWxsCisgKiBiZSBzY2FubmVkIGF0IG1vc3Qgb25lIHRpbWUgYW5kIHRoZSBvbi1kaXNrIGNhY2hlIHdpbGwgYmUgdXBkYXRlZCBpZiBwb3NzaWJsZS4KKyAqIFRoZXJlIGlzIHJhcmVseSBhIHJlYXNvbiBub3QgdG8gdXNlIHRoZSBjYWNoZS4KKyAqCisgKiBJbiBzb21lIGNhc2VzIChtb2R1bGFyIGtlcm5lbHMpLCBibG9jayBkZXZpY2VzIGFyZSBub3QgZXZlbiB2aXNpYmxlIHVudGlsIGFmdGVyCisgKiB0aGV5IGFyZSBhY2Nlc3NlZCB0aGUgZmlyc3QgdGltZSwgc28gaXQgaXMgY3JpdGljYWwgdGhhdCB0aGVyZSBpcyBzb21lIHdheSB0bworICogbG9jYXRlIHRoZXNlIGRldmljZXMgd2l0aG91dCBlbnVtZXJhdGluZyBvbmx5IHZpc2libGUgZGV2aWNlcywgc28gdGhlIHVzZSBvZgorICogdGhlIGNhY2hlIGZpbGUgaXMgcmVxdWlyZWQgaW4gdGhpcyBzaXR1YXRpb24uCisgKi8KK3N0YXRpYyBjb25zdCBjaGFyICpnZXRfZGVmYXVsdF9jYWNoZV9maWxlbmFtZSh2b2lkKQoreworCXN0cnVjdCBzdGF0IHN0OworCisJaWYgKHN0YXQoQkxLSURfUlVOVElNRV9UT1BESVIsICZzdCkgPT0gMCAmJiBTX0lTRElSKHN0LnN0X21vZGUpKQorCQlyZXR1cm4gQkxLSURfQ0FDSEVfRklMRTsJLyogY2FjaGUgaW4gL3J1biAqLworCisJcmV0dXJuIEJMS0lEX0NBQ0hFX0ZJTEVfT0xEOwkvKiBjYWNoZSBpbiAvZXRjICovCit9CisKKy8qIHJldHVybnMgYWxsb2NhdGVkIHBhdGggdG8gY2FjaGUgKi8KK2NoYXIgKmJsa2lkX2dldF9jYWNoZV9maWxlbmFtZShzdHJ1Y3QgYmxraWRfY29uZmlnICpjb25mKQoreworCWNoYXIgKmZpbGVuYW1lOworCisJZmlsZW5hbWUgPSBzYWZlX2dldGVudigiQkxLSURfRklMRSIpOworCWlmIChmaWxlbmFtZSkKKwkJZmlsZW5hbWUgPSBzdHJkdXAoZmlsZW5hbWUpOworCWVsc2UgaWYgKGNvbmYpCisJCWZpbGVuYW1lID0gY29uZi0+Y2FjaGVmaWxlID8gc3RyZHVwKGNvbmYtPmNhY2hlZmlsZSkgOiBOVUxMOworCWVsc2UgeworCQlzdHJ1Y3QgYmxraWRfY29uZmlnICpjID0gYmxraWRfcmVhZF9jb25maWcoTlVMTCk7CisJCWlmICghYykKKwkJCWZpbGVuYW1lID0gc3RyZHVwKGdldF9kZWZhdWx0X2NhY2hlX2ZpbGVuYW1lKCkpOworCQllbHNlIHsKKwkJCWZpbGVuYW1lID0gYy0+Y2FjaGVmaWxlOyAgLyogYWxyZWFkeSBhbGxvY2F0ZWQgKi8KKwkJCWMtPmNhY2hlZmlsZSA9IE5VTEw7CisJCQlibGtpZF9mcmVlX2NvbmZpZyhjKTsKKwkJfQorCX0KKwlyZXR1cm4gZmlsZW5hbWU7Cit9CisKKy8qKgorICogYmxraWRfZ2V0X2NhY2hlOgorICogQGNhY2hlOiBwb2ludGVyIHRvIHJldHVybiBjYWNoZSBoYW5kbGVyCisgKiBAZmlsZW5hbWU6IHBhdGggdG8gdGhlIGNhY2hlIGZpbGUgb3IgTlVMTCBmb3IgdGhlIGRlZmF1bHQgcGF0aAorICoKKyAqIEFsbG9jYXRlcyBhbmQgaW5pdGlhbGl6ZSBsaWJyYXJ5IGNhY2hlIGhhbmRsZXIuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIG51bWJlciBsZXNzIHRoYW4gemVybyBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgYmxraWRfZ2V0X2NhY2hlKGJsa2lkX2NhY2hlICpyZXRfY2FjaGUsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKQoreworCWJsa2lkX2NhY2hlIGNhY2hlOworCisJaWYgKCFyZXRfY2FjaGUpCisJCXJldHVybiAtQkxLSURfRVJSX1BBUkFNOworCisJYmxraWRfaW5pdF9kZWJ1ZygwKTsKKworCWlmICghKGNhY2hlID0gY2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgYmxraWRfc3RydWN0X2NhY2hlKSkpKQorCQlyZXR1cm4gLUJMS0lEX0VSUl9NRU07CisKKwlEQkcoQ0FDSEUsIHVsX2RlYnVnb2JqKGNhY2hlLCAiYWxsb2MgKGZyb20gJXMpIiwgZmlsZW5hbWUgPyBmaWxlbmFtZSA6ICJkZWZhdWx0IGNhY2hlIikpOworCUlOSVRfTElTVF9IRUFEKCZjYWNoZS0+YmljX2RldnMpOworCUlOSVRfTElTVF9IRUFEKCZjYWNoZS0+YmljX3RhZ3MpOworCisJaWYgKGZpbGVuYW1lICYmICEqZmlsZW5hbWUpCisJCWZpbGVuYW1lID0gTlVMTDsKKwlpZiAoZmlsZW5hbWUpCisJCWNhY2hlLT5iaWNfZmlsZW5hbWUgPSBzdHJkdXAoZmlsZW5hbWUpOworCWVsc2UKKwkJY2FjaGUtPmJpY19maWxlbmFtZSA9IGJsa2lkX2dldF9jYWNoZV9maWxlbmFtZShOVUxMKTsKKworCWJsa2lkX3JlYWRfY2FjaGUoY2FjaGUpOworCSpyZXRfY2FjaGUgPSBjYWNoZTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBibGtpZF9wdXRfY2FjaGU6CisgKiBAY2FjaGU6IGNhY2hlIGhhbmRsZXIKKyAqCisgKiBTYXZlcyBjaGFuZ2VzIHRvIGNhY2hlIGZpbGUuCisgKi8KK3ZvaWQgYmxraWRfcHV0X2NhY2hlKGJsa2lkX2NhY2hlIGNhY2hlKQoreworCWlmICghY2FjaGUpCisJCXJldHVybjsKKworCSh2b2lkKSBibGtpZF9mbHVzaF9jYWNoZShjYWNoZSk7CisKKwlEQkcoQ0FDSEUsIHVsX2RlYnVnb2JqKGNhY2hlLCAiZnJlZWluZyBjYWNoZSBzdHJ1Y3QiKSk7CisKKwkvKiBEQkcoQ0FDSEUsIHVsX2RlYnVnX2R1bXBfY2FjaGUoY2FjaGUpKTsgKi8KKworCXdoaWxlICghbGlzdF9lbXB0eSgmY2FjaGUtPmJpY19kZXZzKSkgeworCQlibGtpZF9kZXYgZGV2ID0gbGlzdF9lbnRyeShjYWNoZS0+YmljX2RldnMubmV4dCwKKwkJCQkJICAgc3RydWN0IGJsa2lkX3N0cnVjdF9kZXYsCisJCQkJCSAgICBiaWRfZGV2cyk7CisJCWJsa2lkX2ZyZWVfZGV2KGRldik7CisJfQorCisJREJHKENBQ0hFLCB1bF9kZWJ1Z29iaihjYWNoZSwgImZyZWVpbmcgY2FjaGUgdGFnIGhlYWRzIikpOworCXdoaWxlICghbGlzdF9lbXB0eSgmY2FjaGUtPmJpY190YWdzKSkgeworCQlibGtpZF90YWcgdGFnID0gbGlzdF9lbnRyeShjYWNoZS0+YmljX3RhZ3MubmV4dCwKKwkJCQkJICAgc3RydWN0IGJsa2lkX3N0cnVjdF90YWcsCisJCQkJCSAgIGJpdF90YWdzKTsKKworCQl3aGlsZSAoIWxpc3RfZW1wdHkoJnRhZy0+Yml0X25hbWVzKSkgeworCQkJYmxraWRfdGFnIGJhZCA9IGxpc3RfZW50cnkodGFnLT5iaXRfbmFtZXMubmV4dCwKKwkJCQkJCSAgIHN0cnVjdCBibGtpZF9zdHJ1Y3RfdGFnLAorCQkJCQkJICAgYml0X25hbWVzKTsKKworCQkJREJHKENBQ0hFLCB1bF9kZWJ1Z29iaihjYWNoZSwgIndhcm5pbmc6IHVuZnJlZWQgdGFnICVzPSVzIiwKKwkJCQkJCWJhZC0+Yml0X25hbWUsIGJhZC0+Yml0X3ZhbCkpOworCQkJYmxraWRfZnJlZV90YWcoYmFkKTsKKwkJfQorCQlibGtpZF9mcmVlX3RhZyh0YWcpOworCX0KKworCWJsa2lkX2ZyZWVfcHJvYmUoY2FjaGUtPnByb2JlKTsKKworCWZyZWUoY2FjaGUtPmJpY19maWxlbmFtZSk7CisJZnJlZShjYWNoZSk7Cit9CisKKy8qKgorICogYmxraWRfZ2NfY2FjaGU6CisgKiBAY2FjaGU6IGNhY2hlIGhhbmRsZXIKKyAqCisgKiBSZW1vdmVzIGdhcmJhZ2UgKG5vbi1leGlzdGluZyBkZXZpY2VzKSBmcm9tIHRoZSBjYWNoZS4KKyAqLwordm9pZCBibGtpZF9nY19jYWNoZShibGtpZF9jYWNoZSBjYWNoZSkKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwLCAqcG5leHQ7CisJc3RydWN0IHN0YXQgc3Q7CisKKwlpZiAoIWNhY2hlKQorCQlyZXR1cm47CisKKwlsaXN0X2Zvcl9lYWNoX3NhZmUocCwgcG5leHQsICZjYWNoZS0+YmljX2RldnMpIHsKKwkJYmxraWRfZGV2IGRldiA9IGxpc3RfZW50cnkocCwgc3RydWN0IGJsa2lkX3N0cnVjdF9kZXYsIGJpZF9kZXZzKTsKKwkJaWYgKHN0YXQoZGV2LT5iaWRfbmFtZSwgJnN0KSA8IDApIHsKKwkJCURCRyhDQUNIRSwgdWxfZGVidWdvYmooY2FjaGUsICJmcmVlaW5nIG5vbi1leGl0aW5nICVzIiwgZGV2LT5iaWRfbmFtZSkpOworCQkJYmxraWRfZnJlZV9kZXYoZGV2KTsKKwkJCWNhY2hlLT5iaWNfZmxhZ3MgfD0gQkxLSURfQklDX0ZMX0NIQU5HRUQ7CisJCX0gZWxzZSB7CisJCQlEQkcoQ0FDSEUsIHVsX2RlYnVnKCJEZXZpY2UgJXMgZXhpc3RzIiwgZGV2LT5iaWRfbmFtZSkpOworCQl9CisJfQorfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNCitpbnQgbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCit7CisJYmxraWRfY2FjaGUgY2FjaGUgPSBOVUxMOworCWludCByZXQ7CisKKwlibGtpZF9pbml0X2RlYnVnKEJMS0lEX0RFQlVHX0FMTCk7CisKKwlpZiAoKGFyZ2MgPiAyKSkgeworCQlmcHJpbnRmKHN0ZGVyciwgIlVzYWdlOiAlcyBbZmlsZW5hbWVdIFxuIiwgYXJndlswXSk7CisJCWV4aXQoMSk7CisJfQorCisJaWYgKChyZXQgPSBibGtpZF9nZXRfY2FjaGUoJmNhY2hlLCBhcmd2WzFdKSkgPCAwKSB7CisJCWZwcmludGYoc3RkZXJyLCAiZXJyb3IgJWQgcGFyc2luZyBjYWNoZSBmaWxlICVzXG4iLCByZXQsCisJCQlhcmd2WzFdID8gYXJndlsxXSA6IGJsa2lkX2dldF9jYWNoZV9maWxlbmFtZShOVUxMKSk7CisJCWV4aXQoMSk7CisJfQorCWlmICgocmV0ID0gYmxraWRfZ2V0X2NhY2hlKCZjYWNoZSwgIi9kZXYvbnVsbCIpKSAhPSAwKSB7CisJCWZwcmludGYoc3RkZXJyLCAiJXM6IGVycm9yIGNyZWF0aW5nIGNhY2hlICglZClcbiIsCisJCQlhcmd2WzBdLCByZXQpOworCQlleGl0KDEpOworCX0KKwlpZiAoKHJldCA9IGJsa2lkX3Byb2JlX2FsbChjYWNoZSkpIDwgMCkKKwkJZnByaW50ZihzdGRlcnIsICJlcnJvciBwcm9iaW5nIGRldmljZXNcbiIpOworCisJYmxraWRfcHV0X2NhY2hlKGNhY2hlKTsKKworCXJldHVybiByZXQ7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9jb25maWcuYyBiL2xpYmJsa2lkL3NyYy9jb25maWcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODIyZjFjCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL2NvbmZpZy5jCkBAIC0wLDAgKzEsMTk4IEBACisvKgorICogY29uZmlnLmMgLSBibGtpZC5jb25mIHJvdXRpbmVzCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX0VSUk5PX0gKKyNpbmNsdWRlIDxlcnJuby5oPgorI2VuZGlmCisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8c3RkYXJnLmg+CisKKyNpbmNsdWRlICJibGtpZFAuaCIKKyNpbmNsdWRlICJlbnYuaCIKKworc3RhdGljIGludCBwYXJzZV9ldmFsdWF0ZShzdHJ1Y3QgYmxraWRfY29uZmlnICpjb25mLCBjaGFyICpzKQoreworCXdoaWxlKHMgJiYgKnMpIHsKKwkJY2hhciAqc2VwOworCisJCWlmIChjb25mLT5uZXZhbHMgPj0gX19CTEtJRF9FVkFMX0xBU1QpCisJCQlnb3RvIGVycjsKKwkJc2VwID0gc3RyY2hyKHMsICcsJyk7CisJCWlmIChzZXApCisJCQkqc2VwID0gJ1wwJzsKKwkJaWYgKHN0cmNtcChzLCAidWRldiIpID09IDApCisJCQljb25mLT5ldmFsW2NvbmYtPm5ldmFsc10gPSBCTEtJRF9FVkFMX1VERVY7CisJCWVsc2UgaWYgKHN0cmNtcChzLCAic2NhbiIpID09IDApCisJCQljb25mLT5ldmFsW2NvbmYtPm5ldmFsc10gPSBCTEtJRF9FVkFMX1NDQU47CisJCWVsc2UKKwkJCWdvdG8gZXJyOworCQljb25mLT5uZXZhbHMrKzsKKwkJaWYgKHNlcCkKKwkJCXMgPSBzZXAgKyAxOworCQllbHNlCisJCQlicmVhazsKKwl9CisJcmV0dXJuIDA7CitlcnI6CisJREJHKENPTkZJRywgdWxfZGVidWcoCisJCSJjb25maWcgZmlsZTogdW5rbm93biBldmFsdWF0aW9uIG1ldGhvZCAnJXMnLiIsIHMpKTsKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBpbnQgcGFyc2VfbmV4dChGSUxFICpmZCwgc3RydWN0IGJsa2lkX2NvbmZpZyAqY29uZikKK3sKKwljaGFyIGJ1ZltCVUZTSVpdOworCWNoYXIgKnM7CisKKwkvKiByZWFkIHRoZSBuZXh0IG5vbi1ibGFuayBub24tY29tbWVudCBsaW5lICovCisJZG8geworCQlpZiAoZmdldHMgKGJ1Ziwgc2l6ZW9mKGJ1ZiksIGZkKSA9PSBOVUxMKQorCQkJcmV0dXJuIGZlb2YoZmQpID8gMCA6IC0xOworCQlzID0gc3RyY2hyIChidWYsICdcbicpOworCQlpZiAoIXMpIHsKKwkJCS8qIE1pc3NpbmcgZmluYWwgbmV3bGluZT8gIE90aGVyd2lzZSBleHRyZW1lbHkgKi8KKwkJCS8qIGxvbmcgbGluZSAtIGFzc3VtZSBmaWxlIHdhcyBjb3JydXB0ZWQgKi8KKwkJCWlmIChmZW9mKGZkKSkKKwkJCQlzID0gc3RyY2hyIChidWYsICdcMCcpOworCQkJZWxzZSB7CisJCQkJREJHKENPTkZJRywgdWxfZGVidWcoCisJCQkJCSJjb25maWcgZmlsZTogbWlzc2luZyBuZXdsaW5lIGF0IGxpbmUgJyVzJy4iLAorCQkJCQlidWYpKTsKKwkJCQlyZXR1cm4gLTE7CisJCQl9CisJCX0KKwkJKnMgPSAnXDAnOworCQlpZiAoLS1zID49IGJ1ZiAmJiAqcyA9PSAnXHInKQorCQkJKnMgPSAnXDAnOworCisJCXMgPSBidWY7CisJCXdoaWxlICgqcyA9PSAnICcgfHwgKnMgPT0gJ1x0JykJCS8qIHNraXAgc3BhY2UgKi8KKwkJCXMrKzsKKworCX0gd2hpbGUgKCpzID09ICdcMCcgfHwgKnMgPT0gJyMnKTsKKworCWlmICghc3RybmNtcChzLCAiU0VORF9VRVZFTlQ9IiwgMTIpKSB7CisJCXMgKz0gMTM7CisJCWlmICgqcyAmJiAhc3RyY2FzZWNtcChzLCAieWVzIikpCisJCQljb25mLT51ZXZlbnQgPSBUUlVFOworCQllbHNlIGlmICgqcykKKwkJCWNvbmYtPnVldmVudCA9IEZBTFNFOworCX0gZWxzZSBpZiAoIXN0cm5jbXAocywgIkNBQ0hFX0ZJTEU9IiwgMTEpKSB7CisJCXMgKz0gMTE7CisJCWlmICgqcykKKwkJCWNvbmYtPmNhY2hlZmlsZSA9IHN0cmR1cChzKTsKKwl9IGVsc2UgaWYgKCFzdHJuY21wKHMsICJFVkFMVUFURT0iLCA5KSkgeworCQlzICs9IDk7CisJCWlmICgqcyAmJiBwYXJzZV9ldmFsdWF0ZShjb25mLCBzKSA9PSAtMSkKKwkJCXJldHVybiAtMTsKKwl9IGVsc2UgeworCQlEQkcoQ09ORklHLCB1bF9kZWJ1ZygKKwkJCSJjb25maWcgZmlsZTogdW5rbm93biBvcHRpb24gJyVzJy4iLCBzKSk7CisJCXJldHVybiAtMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qIHJldHVybiByZWFsIGNvbmZpZyBkYXRhIG9yIGJ1aWx0LWluIGRlZmF1bHQgKi8KK3N0cnVjdCBibGtpZF9jb25maWcgKmJsa2lkX3JlYWRfY29uZmlnKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQoreworCXN0cnVjdCBibGtpZF9jb25maWcgKmNvbmY7CisJRklMRSAqZjsKKworCWlmICghZmlsZW5hbWUpCisJCWZpbGVuYW1lID0gc2FmZV9nZXRlbnYoIkJMS0lEX0NPTkYiKTsKKwlpZiAoIWZpbGVuYW1lKQorCQlmaWxlbmFtZSA9IEJMS0lEX0NPTkZJR19GSUxFOworCisJY29uZiA9IGNhbGxvYygxLCBzaXplb2YoKmNvbmYpKTsKKwlpZiAoIWNvbmYpCisJCXJldHVybiBOVUxMOworCWNvbmYtPnVldmVudCA9IC0xOworCisJREJHKENPTkZJRywgdWxfZGVidWcoInJlYWRpbmcgY29uZmlnIGZpbGU6ICVzLiIsIGZpbGVuYW1lKSk7CisKKwlmID0gZm9wZW4oZmlsZW5hbWUsICJyIiBVTF9DTE9FWEVDU1RSKTsKKwlpZiAoIWYpIHsKKwkJREJHKENPTkZJRywgdWxfZGVidWcoIiVzOiBkb2VzIG5vdCBleGlzdCwgdXNpbmcgYnVpbHQtaW4gZGVmYXVsdCIsIGZpbGVuYW1lKSk7CisJCWdvdG8gZGZsdDsKKwl9CisJd2hpbGUgKCFmZW9mKGYpKSB7CisJCWlmIChwYXJzZV9uZXh0KGYsIGNvbmYpKSB7CisJCQlEQkcoQ09ORklHLCB1bF9kZWJ1ZygiJXM6IHBhcnNlIGVycm9yIiwgZmlsZW5hbWUpKTsKKwkJCWdvdG8gZXJyOworCQl9CisJfQorZGZsdDoKKwlpZiAoIWNvbmYtPm5ldmFscykgeworCQljb25mLT5ldmFsWzBdID0gQkxLSURfRVZBTF9VREVWOworCQljb25mLT5ldmFsWzFdID0gQkxLSURfRVZBTF9TQ0FOOworCQljb25mLT5uZXZhbHMgPSAyOworCX0KKwlpZiAoIWNvbmYtPmNhY2hlZmlsZSkKKwkJY29uZi0+Y2FjaGVmaWxlID0gc3RyZHVwKEJMS0lEX0NBQ0hFX0ZJTEUpOworCWlmIChjb25mLT51ZXZlbnQgPT0gLTEpCisJCWNvbmYtPnVldmVudCA9IFRSVUU7CisJaWYgKGYpCisJCWZjbG9zZShmKTsKKwlyZXR1cm4gY29uZjsKK2VycjoKKwlmcmVlKGNvbmYpOworCWZjbG9zZShmKTsKKwlyZXR1cm4gTlVMTDsKK30KKwordm9pZCBibGtpZF9mcmVlX2NvbmZpZyhzdHJ1Y3QgYmxraWRfY29uZmlnICpjb25mKQoreworCWlmICghY29uZikKKwkJcmV0dXJuOworCWZyZWUoY29uZi0+Y2FjaGVmaWxlKTsKKwlmcmVlKGNvbmYpOworfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNCisvKgorICogdXNhZ2U6IHRzdF9jb25maWcgWzxmaWxlbmFtZT5dCisgKi8KK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJaW50IGk7CisJc3RydWN0IGJsa2lkX2NvbmZpZyAqY29uZjsKKwljaGFyICpmaWxlbmFtZSA9IE5VTEw7CisKKwlibGtpZF9pbml0X2RlYnVnKEJMS0lEX0RFQlVHX0FMTCk7CisKKwlpZiAoYXJnYyA9PSAyKQorCQlmaWxlbmFtZSA9IGFyZ3ZbMV07CisKKwljb25mID0gYmxraWRfcmVhZF9jb25maWcoZmlsZW5hbWUpOworCWlmICghY29uZikKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKworCXByaW50ZigiRVZBTFVBVEU6ICAgICIpOworCWZvciAoaSA9IDA7IGkgPCBjb25mLT5uZXZhbHM7IGkrKykKKwkJcHJpbnRmKCIlcyAiLCBjb25mLT5ldmFsW2ldID09IEJMS0lEX0VWQUxfVURFViA/ICJ1ZGV2IiA6ICJzY2FuIik7CisJcHJpbnRmKCJcbiIpOworCisJcHJpbnRmKCJTRU5EIFVFVkVOVDogJXNcbiIsIGNvbmYtPnVldmVudCA/ICJUUlVFIiA6ICJGQUxTRSIpOworCXByaW50ZigiQ0FDSEVfRklMRTogICVzXG4iLCBjb25mLT5jYWNoZWZpbGUpOworCisJYmxraWRfZnJlZV9jb25maWcoY29uZik7CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL2Rldi5jIGIvbGliYmxraWQvc3JjL2Rldi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkZGM3MzUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvZGV2LmMKQEAgLTAsMCArMSwyNzkgQEAKKy8qCisgKiBkZXYuYyAtIGFsbG9jYXRpb24vaW5pdGlhbGl6YXRpb24vZnJlZSByb3V0aW5lcyBmb3IgZGV2CisgKgorICogQ29weXJpZ2h0IChDKSAyMDAxIEFuZHJlYXMgRGlsZ2VyCisgKiBDb3B5cmlnaHQgKEMpIDIwMDMgVGhlb2RvcmUgVHMnbworICoKKyAqICVCZWdpbi1IZWFkZXIlCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICogJUVuZC1IZWFkZXIlCisgKi8KKworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorCisjaW5jbHVkZSAiYmxraWRQLmgiCisKKy8qCisgKiBOT1RFOiByZWZlcmVuY2UgbWFudWFsIGlzIG5vdCBzdHJ1Y3R1cmVkIGFzIGNvZGUuIFRoZSBmb2xsb3dpbmcgc2VjdGlvbiBpcyBhIGdlbmVyaWMKKyAqIHNlY3Rpb24gZm9yIGFsbCBoaWdoLWxldmVsIGNhY2hlIHNlYXJjaCtpdGVyYXRlIHJvdXRpbmVzLgorICovCisKKy8qKgorICogU0VDVElPTjpzZWFyY2gKKyAqIEB0aXRsZTogU2VhcmNoIGFuZCBpdGVyYXRlCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IHNlYXJjaCBkZXZpY2VzIGFuZCBpdGVyYXRlIG92ZXIgZGV2aWNlcyBpbiB0aGUgY2FjaGUuCisgKgorICogTm90ZSB0aGF0IGhpZ2gtbGV2ZWwgcHJvYmluZyBBUEkgcHJvdmlkZXMgaW5mb3JtYXRpb24gYWJvdXQgc3VwZXJibG9ja3MKKyAqIChmaWxlc3lzdGVtcy9yYWlkcykgb25seS4gIEZvciBwYXJ0aXRpb25zIGFuZCB0b3BvbG9neSBpcyBuZWNlc3NhcnkgdG8gdXNlCisgKiB0aGUgbG93LWxldmVsIEFQSS4KKyAqLworCitibGtpZF9kZXYgYmxraWRfbmV3X2Rldih2b2lkKQoreworCWJsa2lkX2RldiBkZXY7CisKKwlpZiAoIShkZXYgPSBjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBibGtpZF9zdHJ1Y3RfZGV2KSkpKQorCQlyZXR1cm4gTlVMTDsKKworCURCRyhERVYsIHVsX2RlYnVnb2JqKGRldiwgImFsbG9jIikpOworCUlOSVRfTElTVF9IRUFEKCZkZXYtPmJpZF9kZXZzKTsKKwlJTklUX0xJU1RfSEVBRCgmZGV2LT5iaWRfdGFncyk7CisKKwlyZXR1cm4gZGV2OworfQorCit2b2lkIGJsa2lkX2ZyZWVfZGV2KGJsa2lkX2RldiBkZXYpCit7CisJaWYgKCFkZXYpCisJCXJldHVybjsKKworCURCRyhERVYsIHVsX2RlYnVnb2JqKGRldiwgImZyZWVpbmcgKCVzKSIsIGRldi0+YmlkX25hbWUpKTsKKworCWxpc3RfZGVsKCZkZXYtPmJpZF9kZXZzKTsKKwl3aGlsZSAoIWxpc3RfZW1wdHkoJmRldi0+YmlkX3RhZ3MpKSB7CisJCWJsa2lkX3RhZyB0YWcgPSBsaXN0X2VudHJ5KGRldi0+YmlkX3RhZ3MubmV4dCwKKwkJCQkJICAgc3RydWN0IGJsa2lkX3N0cnVjdF90YWcsCisJCQkJCSAgIGJpdF90YWdzKTsKKwkJYmxraWRfZnJlZV90YWcodGFnKTsKKwl9CisJZnJlZShkZXYtPmJpZF94bmFtZSk7CisJZnJlZShkZXYtPmJpZF9uYW1lKTsKKwlmcmVlKGRldik7Cit9CisKKy8qCisgKiBHaXZlbiBhIGJsa2lkIGRldmljZSwgcmV0dXJuIGl0cyBuYW1lLiBUaGUgZnVuY3Rpb24gcmV0dXJucyB0aGUgbmFtZQorICogcHJldmlvdXNseSB1c2VkIGZvciBibGtpZF9nZXRfZGV2KCkuIFRoaXMgbmFtZSBkb2VzIG5vdCBoYXZlIHRvIGJlIGNhbm9uaWNhbAorICogKHJlYWwgcGF0aCkgbmFtZSwgYnV0IGZvciBleGFtcGxlIHN5bWxpbmsuCisgKi8KK2NvbnN0IGNoYXIgKmJsa2lkX2Rldl9kZXZuYW1lKGJsa2lkX2RldiBkZXYpCit7CisJaWYgKCFkZXYpCisJCXJldHVybiBOVUxMOworCWlmIChkZXYtPmJpZF94bmFtZSkKKwkJcmV0dXJuIGRldi0+YmlkX3huYW1lOworCXJldHVybiBkZXYtPmJpZF9uYW1lOworfQorCit2b2lkIGJsa2lkX2RlYnVnX2R1bXBfZGV2KGJsa2lkX2RldiBkZXYpCit7CisJc3RydWN0IGxpc3RfaGVhZCAqcDsKKworCWlmICghZGV2KSB7CisJCXByaW50ZigiICBkZXY6IE5VTExcbiIpOworCQlyZXR1cm47CisJfQorCisJZnByaW50ZihzdGRlcnIsICIgIGRldjogbmFtZSA9ICVzXG4iLCBkZXYtPmJpZF9uYW1lKTsKKwlmcHJpbnRmKHN0ZGVyciwgIiAgZGV2OiBERVZOTz1cIjB4JTBsbHhcIlxuIiwgKGxvbmcgbG9uZylkZXYtPmJpZF9kZXZubyk7CisJZnByaW50ZihzdGRlcnIsICIgIGRldjogVElNRT1cIiVsZC4lbGRcIlxuIiwgKGxvbmcpZGV2LT5iaWRfdGltZSwgKGxvbmcpZGV2LT5iaWRfdXRpbWUpOworCWZwcmludGYoc3RkZXJyLCAiICBkZXY6IFBSST1cIiVkXCJcbiIsIGRldi0+YmlkX3ByaSk7CisJZnByaW50ZihzdGRlcnIsICIgIGRldjogZmxhZ3MgPSAweCUwOFhcbiIsIGRldi0+YmlkX2ZsYWdzKTsKKworCWxpc3RfZm9yX2VhY2gocCwgJmRldi0+YmlkX3RhZ3MpIHsKKwkJYmxraWRfdGFnIHRhZyA9IGxpc3RfZW50cnkocCwgc3RydWN0IGJsa2lkX3N0cnVjdF90YWcsIGJpdF90YWdzKTsKKwkJaWYgKHRhZykKKwkJCWZwcmludGYoc3RkZXJyLCAiICAgIHRhZzogJXM9XCIlc1wiXG4iLCB0YWctPmJpdF9uYW1lLAorCQkJICAgICAgIHRhZy0+Yml0X3ZhbCk7CisJCWVsc2UKKwkJCWZwcmludGYoc3RkZXJyLCAiICAgIHRhZzogTlVMTFxuIik7CisJfQorfQorCisvKgorICogZGV2IGl0ZXJhdGlvbiByb3V0aW5lcyBmb3IgdGhlIHB1YmxpYyBsaWJibGtpZCBpbnRlcmZhY2UuCisgKgorICogVGhlc2Ugcm91dGluZXMgZG8gbm90IGV4cG9zZSB0aGUgbGlzdC5oIGltcGxlbWVudGF0aW9uLCB3aGljaCBhcmUgYQorICogY29udGFtaW5hdGlvbiBvZiB0aGUgbmFtZXNwYWNlLCBhbmQgd2hpY2ggZm9yY2UgdXMgdG8gcmV2ZWFsIGZhciwgZmFyCisgKiB0b28gbXVjaCBvZiBvdXIgaW50ZXJuYWwgaW1wbGVtZW50YXRpb24uICBJJ20gbm90IGNvbnZpbmNlZCBJIHdhbnQKKyAqIHRvIGtlZXAgbGlzdC5oIGluIHRoZSBsb25nIHRlcm0sIGFueXdheS4gIEl0J3MgZmluZSBmb3Iga2VybmVsCisgKiBwcm9ncmFtbWluZywgYnV0IHBlcmZvcm1hbmNlIGlzIG5vdCB0aGUgIzEgcHJpb3JpdHkgZm9yIHRoaXMKKyAqIGxpYnJhcnksIGFuZCBJIHJlYWxseSBkb24ndCBsaWtlIHRoZSB0cmFkZS1vZmYgb2YgdHlwZS1zYWZldHkgZm9yCisgKiBwZXJmb3JtYW5jZSBmb3IgdGhpcyBhcHBsaWNhdGlvbi4gIFt0eXRzbzoyMDAzMDEyNS4yMDA3RVNUXQorICovCisKKy8qCisgKiBUaGlzIHNlcmllcyBvZiBmdW5jdGlvbnMgaXRlcmF0ZSBvdmVyIGFsbCBkZXZpY2VzIGluIGEgYmxraWQgY2FjaGUKKyAqLworI2RlZmluZSBERVZfSVRFUkFURV9NQUdJQwkweDAxYTUyODRjCisKK3N0cnVjdCBibGtpZF9zdHJ1Y3RfZGV2X2l0ZXJhdGUgeworCWludAkJCW1hZ2ljOworCWJsa2lkX2NhY2hlCQljYWNoZTsKKwljaGFyCQkJKnNlYXJjaF90eXBlOworCWNoYXIJCQkqc2VhcmNoX3ZhbHVlOworCXN0cnVjdCBsaXN0X2hlYWQJKnA7Cit9OworCitibGtpZF9kZXZfaXRlcmF0ZSBibGtpZF9kZXZfaXRlcmF0ZV9iZWdpbihibGtpZF9jYWNoZSBjYWNoZSkKK3sKKwlibGtpZF9kZXZfaXRlcmF0ZSBpdGVyOworCisJaWYgKCFjYWNoZSkgeworCQllcnJubyA9IEVJTlZBTDsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJaXRlciA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IGJsa2lkX3N0cnVjdF9kZXZfaXRlcmF0ZSkpOworCWlmIChpdGVyKSB7CisJCWl0ZXItPm1hZ2ljID0gREVWX0lURVJBVEVfTUFHSUM7CisJCWl0ZXItPmNhY2hlID0gY2FjaGU7CisJCWl0ZXItPnAJPSBjYWNoZS0+YmljX2RldnMubmV4dDsKKwkJaXRlci0+c2VhcmNoX3R5cGUgPSAwOworCQlpdGVyLT5zZWFyY2hfdmFsdWUgPSAwOworCX0KKwlyZXR1cm4gaXRlcjsKK30KKworaW50IGJsa2lkX2Rldl9zZXRfc2VhcmNoKGJsa2lkX2Rldl9pdGVyYXRlIGl0ZXIsCisJCQkJIGNoYXIgKnNlYXJjaF90eXBlLCBjaGFyICpzZWFyY2hfdmFsdWUpCit7CisJY2hhciAqbmV3X3R5cGUsICpuZXdfdmFsdWU7CisKKwlpZiAoIWl0ZXIgfHwgaXRlci0+bWFnaWMgIT0gREVWX0lURVJBVEVfTUFHSUMgfHwgIXNlYXJjaF90eXBlIHx8CisJICAgICFzZWFyY2hfdmFsdWUpCisJCXJldHVybiAtMTsKKwluZXdfdHlwZSA9IG1hbGxvYyhzdHJsZW4oc2VhcmNoX3R5cGUpKzEpOworCW5ld192YWx1ZSA9IG1hbGxvYyhzdHJsZW4oc2VhcmNoX3ZhbHVlKSsxKTsKKwlpZiAoIW5ld190eXBlIHx8ICFuZXdfdmFsdWUpIHsKKwkJZnJlZShuZXdfdHlwZSk7CisJCWZyZWUobmV3X3ZhbHVlKTsKKwkJcmV0dXJuIC0xOworCX0KKwlzdHJjcHkobmV3X3R5cGUsIHNlYXJjaF90eXBlKTsKKwlzdHJjcHkobmV3X3ZhbHVlLCBzZWFyY2hfdmFsdWUpOworCWZyZWUoaXRlci0+c2VhcmNoX3R5cGUpOworCWZyZWUoaXRlci0+c2VhcmNoX3ZhbHVlKTsKKwlpdGVyLT5zZWFyY2hfdHlwZSA9IG5ld190eXBlOworCWl0ZXItPnNlYXJjaF92YWx1ZSA9IG5ld192YWx1ZTsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFJldHVybiAwIG9uIHN1Y2Nlc3MsIC0xIG9uIGVycm9yCisgKi8KK2ludCBibGtpZF9kZXZfbmV4dChibGtpZF9kZXZfaXRlcmF0ZSBpdGVyLAorCQkJICBibGtpZF9kZXYgKnJldF9kZXYpCit7CisJYmxraWRfZGV2CQlkZXY7CisKKwlpZiAgKCFyZXRfZGV2IHx8ICFpdGVyIHx8IGl0ZXItPm1hZ2ljICE9IERFVl9JVEVSQVRFX01BR0lDKQorCQlyZXR1cm4gLTE7CisJKnJldF9kZXYgPSAwOworCXdoaWxlIChpdGVyLT5wICE9ICZpdGVyLT5jYWNoZS0+YmljX2RldnMpIHsKKwkJZGV2ID0gbGlzdF9lbnRyeShpdGVyLT5wLCBzdHJ1Y3QgYmxraWRfc3RydWN0X2RldiwgYmlkX2RldnMpOworCQlpdGVyLT5wID0gaXRlci0+cC0+bmV4dDsKKwkJaWYgKGl0ZXItPnNlYXJjaF90eXBlICYmCisJCSAgICAhYmxraWRfZGV2X2hhc190YWcoZGV2LCBpdGVyLT5zZWFyY2hfdHlwZSwKKwkJCQkgICAgICAgaXRlci0+c2VhcmNoX3ZhbHVlKSkKKwkJCWNvbnRpbnVlOworCQkqcmV0X2RldiA9IGRldjsKKwkJcmV0dXJuIDA7CisJfQorCXJldHVybiAtMTsKK30KKwordm9pZCBibGtpZF9kZXZfaXRlcmF0ZV9lbmQoYmxraWRfZGV2X2l0ZXJhdGUgaXRlcikKK3sKKwlpZiAoIWl0ZXIgfHwgaXRlci0+bWFnaWMgIT0gREVWX0lURVJBVEVfTUFHSUMpCisJCXJldHVybjsKKwlpdGVyLT5tYWdpYyA9IDA7CisJZnJlZShpdGVyLT5zZWFyY2hfdHlwZSk7CisJZnJlZShpdGVyLT5zZWFyY2hfdmFsdWUpOworCWZyZWUoaXRlcik7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU0KKyNpZmRlZiBIQVZFX0dFVE9QVF9ICisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjZWxzZQorZXh0ZXJuIGNoYXIgKm9wdGFyZzsKK2V4dGVybiBpbnQgb3B0aW5kOworI2VuZGlmCisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKGNoYXIgKnByb2cpCit7CisJZnByaW50ZihzdGRlcnIsICJVc2FnZTogJXMgWy1mIGJsa2lkX2ZpbGVdIFstbSBkZWJ1Z19tYXNrXVxuIiwgcHJvZyk7CisJZnByaW50ZihzdGRlcnIsICJcdExpc3QgYWxsIGRldmljZXMgYW5kIGV4aXRcbiIpOworCWV4aXQoMSk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlibGtpZF9kZXZfaXRlcmF0ZQlpdGVyOworCWJsa2lkX2NhY2hlIAkJY2FjaGUgPSBOVUxMOworCWJsa2lkX2RldgkJZGV2OworCWludAkJCWMsIHJldDsKKwljaGFyCQkJKnRtcDsKKwljaGFyCQkJKmZpbGUgPSBOVUxMOworCWNoYXIJCQkqc2VhcmNoX3R5cGUgPSBOVUxMOworCWNoYXIJCQkqc2VhcmNoX3ZhbHVlID0gTlVMTDsKKworCXdoaWxlICgoYyA9IGdldG9wdCAoYXJnYywgYXJndiwgIm06ZjoiKSkgIT0gRU9GKQorCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnZic6CisJCQlmaWxlID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ20nOgorCQl7CisJCQlpbnQgbWFzayA9IHN0cnRvdWwgKG9wdGFyZywgJnRtcCwgMCk7CisJCQlpZiAoKnRtcCkgeworCQkJCWZwcmludGYoc3RkZXJyLCAiSW52YWxpZCBkZWJ1ZyBtYXNrOiAlc1xuIiwKKwkJCQkJb3B0YXJnKTsKKwkJCQlleGl0KDEpOworCQkJfQorCQkJYmxraWRfaW5pdF9kZWJ1ZyhtYXNrKTsKKwkJCWJyZWFrOworCQl9CisJCWNhc2UgJz8nOgorCQkJdXNhZ2UoYXJndlswXSk7CisJCX0KKwlpZiAoYXJnYyA+PSBvcHRpbmQrMikgeworCQlzZWFyY2hfdHlwZSA9IGFyZ3Zbb3B0aW5kXTsKKwkJc2VhcmNoX3ZhbHVlID0gYXJndltvcHRpbmQrMV07CisJCW9wdGluZCArPSAyOworCX0KKwlpZiAoYXJnYyAhPSBvcHRpbmQpCisJCXVzYWdlKGFyZ3ZbMF0pOworCisJaWYgKChyZXQgPSBibGtpZF9nZXRfY2FjaGUoJmNhY2hlLCBmaWxlKSkgIT0gMCkgeworCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiBlcnJvciBjcmVhdGluZyBjYWNoZSAoJWQpXG4iLAorCQkJYXJndlswXSwgcmV0KTsKKwkJZXhpdCgxKTsKKwl9CisKKwlpdGVyID0gYmxraWRfZGV2X2l0ZXJhdGVfYmVnaW4oY2FjaGUpOworCWlmIChzZWFyY2hfdHlwZSkKKwkJYmxraWRfZGV2X3NldF9zZWFyY2goaXRlciwgc2VhcmNoX3R5cGUsIHNlYXJjaF92YWx1ZSk7CisJd2hpbGUgKGJsa2lkX2Rldl9uZXh0KGl0ZXIsICZkZXYpID09IDApIHsKKwkJcHJpbnRmKCJEZXZpY2U6ICVzXG4iLCBibGtpZF9kZXZfZGV2bmFtZShkZXYpKTsKKwl9CisJYmxraWRfZGV2X2l0ZXJhdGVfZW5kKGl0ZXIpOworCisKKwlibGtpZF9wdXRfY2FjaGUoY2FjaGUpOworCXJldHVybiAoMCk7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9kZXZuYW1lLmMgYi9saWJibGtpZC9zcmMvZGV2bmFtZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkZDYwNjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvZGV2bmFtZS5jCkBAIC0wLDAgKzEsNzA1IEBACisvKgorICogZGV2bmFtZS5jIC0gZ2V0IGEgZGV2IGJ5IGl0cyBkZXZpY2UgaW5vZGUgbmFtZQorICoKKyAqIENvcHlyaWdodCAoQykgQW5kcmllcyBCcm91d2VyCisgKiBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDAsIDIwMDEsIDIwMDIsIDIwMDMgVGhlb2RvcmUgVHMnbworICogQ29weXJpZ2h0IChDKSAyMDAxIEFuZHJlYXMgRGlsZ2VyCisgKgorICogJUJlZ2luLUhlYWRlciUKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKiAlRW5kLUhlYWRlciUKKyAqLworCisjZGVmaW5lIF9HTlVfU09VUkNFIDEKKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisjaWZkZWYgSEFWRV9VTklTVERfSAorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2VuZGlmCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNlbmRpZgorI2luY2x1ZGUgPGRpcmVudC5oPgorI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX0VSUk5PX0gKKyNpbmNsdWRlIDxlcnJuby5oPgorI2VuZGlmCisjaW5jbHVkZSA8dGltZS5oPgorCisjaW5jbHVkZSAiYmxraWRQLmgiCisKKyNpbmNsdWRlICJjYW5vbmljYWxpemUuaCIJCS8qICQodG9wX3NyY2RpcikvaW5jbHVkZSAqLworI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgInN5c2ZzLmgiCisKKy8qCisgKiBGaW5kIGEgZGV2IHN0cnVjdCBpbiB0aGUgY2FjaGUgYnkgZGV2aWNlIG5hbWUsIGlmIGF2YWlsYWJsZS4KKyAqCisgKiBJZiB0aGVyZSBpcyBubyBlbnRyeSB3aXRoIHRoZSBzcGVjaWZpZWQgZGV2aWNlIG5hbWUsIGFuZCB0aGUgY3JlYXRlCisgKiBmbGFnIGlzIHNldCwgdGhlbiBjcmVhdGUgYW4gZW1wdHkgZGV2aWNlIGVudHJ5LgorICovCitibGtpZF9kZXYgYmxraWRfZ2V0X2RldihibGtpZF9jYWNoZSBjYWNoZSwgY29uc3QgY2hhciAqZGV2bmFtZSwgaW50IGZsYWdzKQoreworCWJsa2lkX2RldiBkZXYgPSBOVUxMLCB0bXA7CisJc3RydWN0IGxpc3RfaGVhZCAqcCwgKnBuZXh0OworCWNoYXIgKmNuID0gTlVMTDsKKworCWlmICghY2FjaGUgfHwgIWRldm5hbWUpCisJCXJldHVybiBOVUxMOworCisJLyogc2VhcmNoIGJ5IG5hbWUgKi8KKwlsaXN0X2Zvcl9lYWNoKHAsICZjYWNoZS0+YmljX2RldnMpIHsKKwkJdG1wID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgYmxraWRfc3RydWN0X2RldiwgYmlkX2RldnMpOworCQlpZiAoc3RyY21wKHRtcC0+YmlkX25hbWUsIGRldm5hbWUpKQorCQkJY29udGludWU7CisJCWRldiA9IHRtcDsKKwkJYnJlYWs7CisJfQorCisJLyogdHJ5IGNhbm9uaWNhbGl6ZSB0aGUgbmFtZSAqLworCWlmICghZGV2ICYmIChjbiA9IGNhbm9uaWNhbGl6ZV9wYXRoKGRldm5hbWUpKSkgeworCQlpZiAoc3RyY21wKGNuLCBkZXZuYW1lKSAhPSAwKSB7CisJCQlEQkcoREVWTkFNRSwgdWxfZGVidWcoInNlYXJjaCBjYW5vbmljYWwgJXMiLCBjbikpOworCQkJbGlzdF9mb3JfZWFjaChwLCAmY2FjaGUtPmJpY19kZXZzKSB7CisJCQkJdG1wID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgYmxraWRfc3RydWN0X2RldiwgYmlkX2RldnMpOworCQkJCWlmIChzdHJjbXAodG1wLT5iaWRfbmFtZSwgY24pKQorCQkJCQljb250aW51ZTsKKwkJCQlkZXYgPSB0bXA7CisKKwkJCQkvKiB1cGRhdGUgbmFtZSByZXR1cm5lZCBieSBibGtpZF9kZXZfZGV2bmFtZSgpICovCisJCQkJZnJlZShkZXYtPmJpZF94bmFtZSk7CisJCQkJZGV2LT5iaWRfeG5hbWUgPSBzdHJkdXAoZGV2bmFtZSk7CisJCQkJYnJlYWs7CisJCQl9CisJCX0gZWxzZSB7CisJCQlmcmVlKGNuKTsKKwkJCWNuID0gTlVMTDsKKwkJfQorCX0KKworCWlmICghZGV2ICYmIChmbGFncyAmIEJMS0lEX0RFVl9DUkVBVEUpKSB7CisJCWlmIChhY2Nlc3MoZGV2bmFtZSwgRl9PSykgPCAwKQorCQkJZ290byBkb25lOworCQlkZXYgPSBibGtpZF9uZXdfZGV2KCk7CisJCWlmICghZGV2KQorCQkJZ290byBkb25lOworCQlkZXYtPmJpZF90aW1lID0gSU5UX01JTjsKKwkJaWYgKGNuKSB7CisJCQlkZXYtPmJpZF9uYW1lID0gY247CisJCQlkZXYtPmJpZF94bmFtZSA9IHN0cmR1cChkZXZuYW1lKTsKKwkJCWNuID0gTlVMTDsJLyogc2VlIGZyZWUoKSBiZWxvdyAqLworCQl9IGVsc2UKKwkJCWRldi0+YmlkX25hbWUgPSBzdHJkdXAoZGV2bmFtZSk7CisKKwkJZGV2LT5iaWRfY2FjaGUgPSBjYWNoZTsKKwkJbGlzdF9hZGRfdGFpbCgmZGV2LT5iaWRfZGV2cywgJmNhY2hlLT5iaWNfZGV2cyk7CisJCWNhY2hlLT5iaWNfZmxhZ3MgfD0gQkxLSURfQklDX0ZMX0NIQU5HRUQ7CisJfQorCisJaWYgKGZsYWdzICYgQkxLSURfREVWX1ZFUklGWSkgeworCQlkZXYgPSBibGtpZF92ZXJpZnkoY2FjaGUsIGRldik7CisJCWlmICghZGV2IHx8ICEoZGV2LT5iaWRfZmxhZ3MgJiBCTEtJRF9CSURfRkxfVkVSSUZJRUQpKQorCQkJZ290byBkb25lOworCQkvKgorCQkgKiBJZiB0aGUgZGV2aWNlIGlzIHZlcmlmaWVkLCB0aGVuIHNlYXJjaCB0aGUgYmxraWQKKwkJICogY2FjaGUgZm9yIGFueSBlbnRyaWVzIHRoYXQgbWF0Y2ggb24gdGhlIHR5cGUsIHV1aWQsCisJCSAqIGFuZCBsYWJlbCwgYW5kIHZlcmlmeSB0aGVtOyBpZiBhIGNhY2hlIGVudHJ5IGNhbgorCQkgKiBub3QgYmUgdmVyaWZpZWQsIHRoZW4gaXQncyBzdGFsZSBhbmQgc28gd2UgcmVtb3ZlCisJCSAqIGl0LgorCQkgKi8KKwkJbGlzdF9mb3JfZWFjaF9zYWZlKHAsIHBuZXh0LCAmY2FjaGUtPmJpY19kZXZzKSB7CisJCQlibGtpZF9kZXYgZGV2MiA9IGxpc3RfZW50cnkocCwgc3RydWN0IGJsa2lkX3N0cnVjdF9kZXYsIGJpZF9kZXZzKTsKKwkJCWlmIChkZXYyLT5iaWRfZmxhZ3MgJiBCTEtJRF9CSURfRkxfVkVSSUZJRUQpCisJCQkJY29udGludWU7CisJCQlpZiAoIWRldi0+YmlkX3R5cGUgfHwgIWRldjItPmJpZF90eXBlIHx8CisJCQkgICAgc3RyY21wKGRldi0+YmlkX3R5cGUsIGRldjItPmJpZF90eXBlKSkKKwkJCQljb250aW51ZTsKKwkJCWlmIChkZXYtPmJpZF9sYWJlbCAmJiBkZXYyLT5iaWRfbGFiZWwgJiYKKwkJCSAgICBzdHJjbXAoZGV2LT5iaWRfbGFiZWwsIGRldjItPmJpZF9sYWJlbCkpCisJCQkJY29udGludWU7CisJCQlpZiAoZGV2LT5iaWRfdXVpZCAmJiBkZXYyLT5iaWRfdXVpZCAmJgorCQkJICAgIHN0cmNtcChkZXYtPmJpZF91dWlkLCBkZXYyLT5iaWRfdXVpZCkpCisJCQkJY29udGludWU7CisJCQlpZiAoKGRldi0+YmlkX2xhYmVsICYmICFkZXYyLT5iaWRfbGFiZWwpIHx8CisJCQkgICAgKCFkZXYtPmJpZF9sYWJlbCAmJiBkZXYyLT5iaWRfbGFiZWwpIHx8CisJCQkgICAgKGRldi0+YmlkX3V1aWQgJiYgIWRldjItPmJpZF91dWlkKSB8fAorCQkJICAgICghZGV2LT5iaWRfdXVpZCAmJiBkZXYyLT5iaWRfdXVpZCkpCisJCQkJY29udGludWU7CisJCQlkZXYyID0gYmxraWRfdmVyaWZ5KGNhY2hlLCBkZXYyKTsKKwkJCWlmIChkZXYyICYmICEoZGV2Mi0+YmlkX2ZsYWdzICYgQkxLSURfQklEX0ZMX1ZFUklGSUVEKSkKKwkJCQlibGtpZF9mcmVlX2RldihkZXYyKTsKKwkJfQorCX0KK2RvbmU6CisJaWYgKGRldikKKwkJREJHKERFVk5BTUUsIHVsX2RlYnVnKCIlcyByZXF1ZXN0ZWQsIGZvdW5kICVzIGluIGNhY2hlIiwgZGV2bmFtZSwgZGV2LT5iaWRfbmFtZSkpOworCWZyZWUoY24pOworCXJldHVybiBkZXY7Cit9CisKKy8qIERpcmVjdG9yaWVzIHdoZXJlIHdlIHdpbGwgdHJ5IHRvIHNlYXJjaCBmb3IgZGV2aWNlIG5hbWVzICovCitzdGF0aWMgY29uc3QgY2hhciAqZGlybGlzdFtdID0geyAiL2RldiIsICIvZGV2ZnMiLCAiL2RldmljZXMiLCBOVUxMIH07CisKK3N0YXRpYyBpbnQgaXNfZG1fbGVhZihjb25zdCBjaGFyICpkZXZuYW1lKQoreworCXN0cnVjdCBkaXJlbnQJKmRlLCAqZF9kZTsKKwlESVIJCSpkaXIsICpkX2RpcjsKKwljaGFyCQlwYXRoWzI1Nl07CisJaW50CQlyZXQgPSAxOworCisJaWYgKChkaXIgPSBvcGVuZGlyKCIvc3lzL2Jsb2NrIikpID09IE5VTEwpCisJCXJldHVybiAwOworCXdoaWxlICgoZGUgPSByZWFkZGlyKGRpcikpICE9IE5VTEwpIHsKKwkJaWYgKCFzdHJjbXAoZGUtPmRfbmFtZSwgIi4iKSB8fCAhc3RyY21wKGRlLT5kX25hbWUsICIuLiIpIHx8CisJCSAgICAhc3RyY21wKGRlLT5kX25hbWUsIGRldm5hbWUpIHx8CisJCSAgICBzdHJuY21wKGRlLT5kX25hbWUsICJkbS0iLCAzKSB8fAorCQkgICAgc3RybGVuKGRlLT5kX25hbWUpID4gc2l6ZW9mKHBhdGgpLTMyKQorCQkJY29udGludWU7CisJCXNwcmludGYocGF0aCwgIi9zeXMvYmxvY2svJXMvc2xhdmVzIiwgZGUtPmRfbmFtZSk7CisJCWlmICgoZF9kaXIgPSBvcGVuZGlyKHBhdGgpKSA9PSBOVUxMKQorCQkJY29udGludWU7CisJCXdoaWxlICgoZF9kZSA9IHJlYWRkaXIoZF9kaXIpKSAhPSBOVUxMKSB7CisJCQlpZiAoIXN0cmNtcChkX2RlLT5kX25hbWUsIGRldm5hbWUpKSB7CisJCQkJcmV0ID0gMDsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCQljbG9zZWRpcihkX2Rpcik7CisJCWlmICghcmV0KQorCQkJYnJlYWs7CisJfQorCWNsb3NlZGlyKGRpcik7CisJcmV0dXJuIHJldDsKK30KKworLyoKKyAqIFByb2JlIGEgc2luZ2xlIGJsb2NrIGRldmljZSB0byBhZGQgdG8gdGhlIGRldmljZSBjYWNoZS4KKyAqLworc3RhdGljIHZvaWQgcHJvYmVfb25lKGJsa2lkX2NhY2hlIGNhY2hlLCBjb25zdCBjaGFyICpwdG5hbWUsCisJCSAgICAgIGRldl90IGRldm5vLCBpbnQgcHJpLCBpbnQgb25seV9pZl9uZXcsIGludCByZW1vdmFibGUpCit7CisJYmxraWRfZGV2IGRldiA9IE5VTEw7CisJc3RydWN0IGxpc3RfaGVhZCAqcCwgKnBuZXh0OworCWNvbnN0IGNoYXIgKipkaXI7CisJY2hhciAqZGV2bmFtZSA9IE5VTEw7CisKKwkvKiBTZWUgaWYgd2UgYWxyZWFkeSBoYXZlIHRoaXMgZGV2aWNlIG51bWJlciBpbiB0aGUgY2FjaGUuICovCisJbGlzdF9mb3JfZWFjaF9zYWZlKHAsIHBuZXh0LCAmY2FjaGUtPmJpY19kZXZzKSB7CisJCWJsa2lkX2RldiB0bXAgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBibGtpZF9zdHJ1Y3RfZGV2LAorCQkJCQkgICBiaWRfZGV2cyk7CisJCWlmICh0bXAtPmJpZF9kZXZubyA9PSBkZXZubykgeworCQkJaWYgKG9ubHlfaWZfbmV3ICYmICFhY2Nlc3ModG1wLT5iaWRfbmFtZSwgRl9PSykpCisJCQkJcmV0dXJuOworCQkJZGV2ID0gYmxraWRfdmVyaWZ5KGNhY2hlLCB0bXApOworCQkJaWYgKGRldiAmJiAoZGV2LT5iaWRfZmxhZ3MgJiBCTEtJRF9CSURfRkxfVkVSSUZJRUQpKQorCQkJCWJyZWFrOworCQkJZGV2ID0gMDsKKwkJfQorCX0KKwlpZiAoZGV2ICYmIGRldi0+YmlkX2Rldm5vID09IGRldm5vKQorCQlnb3RvIHNldF9wcmk7CisKKwkvKiBUcnkgdG8gdHJhbnNsYXRlIHByaXZhdGUgZGV2aWNlLW1hcHBlciBkbS08Tj4gbmFtZXMKKwkgKiB0byBzdGFuZGFyZCAvZGV2L21hcHBlci88bmFtZT4uCisJICovCisJaWYgKCFzdHJuY21wKHB0bmFtZSwgImRtLSIsIDMpICYmIGlzZGlnaXQocHRuYW1lWzNdKSkgeworCQlkZXZuYW1lID0gY2Fub25pY2FsaXplX2RtX25hbWUocHRuYW1lKTsKKwkJaWYgKCFkZXZuYW1lKQorCQkJYmxraWRfX3NjYW5fZGlyKCIvZGV2L21hcHBlciIsIGRldm5vLCAwLCAmZGV2bmFtZSk7CisJCWlmIChkZXZuYW1lKQorCQkJZ290byBnZXRfZGV2OworCX0KKworCS8qCisJICogVGFrZSBhIHF1aWNrIGxvb2sgYXQgL2Rldi9wdG5hbWUgZm9yIHRoZSBkZXZpY2UgbnVtYmVyLiAgV2UgY2hlY2sKKwkgKiBhbGwgb2YgdGhlIGxpa2VseSBkZXZpY2UgZGlyZWN0b3JpZXMuICBJZiB3ZSBkb24ndCBmaW5kIGl0LCBvciBpZgorCSAqIHRoZSBzdGF0IGluZm9ybWF0aW9uIGRvZXNuJ3QgY2hlY2sgb3V0LCB1c2UgYmxraWRfZGV2bm9fdG9fZGV2bmFtZSgpCisJICogdG8gZmluZCBpdCB2aWEgYW4gZXhoYXVzdGl2ZSBzZWFyY2ggZm9yIHRoZSBkZXZpY2UgbWFqb3IvbWlub3IuCisJICovCisJZm9yIChkaXIgPSBkaXJsaXN0OyAqZGlyOyBkaXIrKykgeworCQlzdHJ1Y3Qgc3RhdCBzdDsKKwkJY2hhciBkZXZpY2VbMjU2XTsKKworCQlzbnByaW50ZihkZXZpY2UsIHNpemVvZihkZXZpY2UpLCAiJXMvJXMiLCAqZGlyLCBwdG5hbWUpOworCQlpZiAoKGRldiA9IGJsa2lkX2dldF9kZXYoY2FjaGUsIGRldmljZSwgQkxLSURfREVWX0ZJTkQpKSAmJgorCQkgICAgZGV2LT5iaWRfZGV2bm8gPT0gZGV2bm8pCisJCQlnb3RvIHNldF9wcmk7CisKKwkJaWYgKHN0YXQoZGV2aWNlLCAmc3QpID09IDAgJiYKKwkJICAgIChTX0lTQkxLKHN0LnN0X21vZGUpIHx8CisJCSAgICAgKFNfSVNDSFIoc3Quc3RfbW9kZSkgJiYgIXN0cm5jbXAocHRuYW1lLCAidWJpIiwgMykpKSAmJgorCQkgICAgc3Quc3RfcmRldiA9PSBkZXZubykgeworCQkJZGV2bmFtZSA9IHN0cmR1cChkZXZpY2UpOworCQkJZ290byBnZXRfZGV2OworCQl9CisJfQorCS8qIERvIGEgc2hvcnQtY3V0IHNjYW4gb2YgL2Rldi9tYXBwZXIgZmlyc3QgKi8KKwlpZiAoIWRldm5hbWUpCisJCWJsa2lkX19zY2FuX2RpcigiL2Rldi9tYXBwZXIiLCBkZXZubywgMCwgJmRldm5hbWUpOworCWlmICghZGV2bmFtZSkgeworCQlkZXZuYW1lID0gYmxraWRfZGV2bm9fdG9fZGV2bmFtZShkZXZubyk7CisJCWlmICghZGV2bmFtZSkKKwkJCXJldHVybjsKKwl9CisKK2dldF9kZXY6CisJZGV2ID0gYmxraWRfZ2V0X2RldihjYWNoZSwgZGV2bmFtZSwgQkxLSURfREVWX05PUk1BTCk7CisJZnJlZShkZXZuYW1lKTsKKworc2V0X3ByaToKKwlpZiAoZGV2KSB7CisJCWlmIChwcmkpCisJCQlkZXYtPmJpZF9wcmkgPSBwcmk7CisJCWVsc2UgaWYgKCFzdHJuY21wKGRldi0+YmlkX25hbWUsICIvZGV2L21hcHBlci8iLCAxMSkpIHsKKwkJCWRldi0+YmlkX3ByaSA9IEJMS0lEX1BSSV9ETTsKKwkJCWlmIChpc19kbV9sZWFmKHB0bmFtZSkpCisJCQkJZGV2LT5iaWRfcHJpICs9IDU7CisJCX0gZWxzZSBpZiAoIXN0cm5jbXAocHRuYW1lLCAibWQiLCAyKSkKKwkJCWRldi0+YmlkX3ByaSA9IEJMS0lEX1BSSV9NRDsKKwkJaWYgKHJlbW92YWJsZSkKKwkJCWRldi0+YmlkX2ZsYWdzIHw9IEJMS0lEX0JJRF9GTF9SRU1PVkFCTEU7CisJfQorCXJldHVybjsKK30KKworI2RlZmluZSBQUk9DX1BBUlRJVElPTlMgIi9wcm9jL3BhcnRpdGlvbnMiCisjZGVmaW5lIFZHX0RJUgkJIi9wcm9jL2x2bS9WR3MiCisKKy8qCisgKiBUaGlzIGZ1bmN0aW9uIGluaXRpYWxpemVzIHRoZSBVVUlEIGNhY2hlIHdpdGggZGV2aWNlcyBmcm9tIHRoZSBMVk0KKyAqIHByb2MgaGllcmFyY2h5LiAgV2UgY3VycmVudGx5IGRlcGVuZCBvbiB0aGUgbmFtZXMgb2YgdGhlIExWTQorICogaGllcmFyY2h5IGdpdmluZyB1cyB0aGUgZGV2aWNlIHN0cnVjdHVyZSBpbiAvZGV2LiAgKFhYWCBpcyB0aGlzIGEKKyAqIHNhZmUgdGhpbmcgdG8gZG8/KQorICovCisjaWZkZWYgVkdfRElSCitzdGF0aWMgZGV2X3QgbHZtX2dldF9kZXZubyhjb25zdCBjaGFyICpsdm1fZGV2aWNlKQoreworCUZJTEUgKmx2ZjsKKwljaGFyIGJ1ZlsxMDI0XTsKKwlpbnQgbWEsIG1pOworCWRldl90IHJldCA9IDA7CisKKwlEQkcoREVWTkFNRSwgdWxfZGVidWcoIm9wZW5pbmcgJXMiLCBsdm1fZGV2aWNlKSk7CisJaWYgKChsdmYgPSBmb3Blbihsdm1fZGV2aWNlLCAiciIgVUxfQ0xPRVhFQ1NUUikpID09IE5VTEwpIHsKKwkJREJHKERFVk5BTUUsIHVsX2RlYnVnKCIlczogKCVkKSAlbSIsIGx2bV9kZXZpY2UsIGVycm5vKSk7CisJCXJldHVybiAwOworCX0KKworCXdoaWxlIChmZ2V0cyhidWYsIHNpemVvZihidWYpLCBsdmYpKSB7CisJCWlmIChzc2NhbmYoYnVmLCAiZGV2aWNlOiAlZDolZCIsICZtYSwgJm1pKSA9PSAyKSB7CisJCQlyZXQgPSBtYWtlZGV2KG1hLCBtaSk7CisJCQlicmVhazsKKwkJfQorCX0KKwlmY2xvc2UobHZmKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIGx2bV9wcm9iZV9hbGwoYmxraWRfY2FjaGUgY2FjaGUsIGludCBvbmx5X2lmX25ldykKK3sKKwlESVIJCSp2Z19saXN0OworCXN0cnVjdCBkaXJlbnQJKnZnX2l0ZXI7CisJaW50CQl2Z19sZW4gPSBzdHJsZW4oVkdfRElSKTsKKwlkZXZfdAkJZGV2OworCisJaWYgKCh2Z19saXN0ID0gb3BlbmRpcihWR19ESVIpKSA9PSBOVUxMKQorCQlyZXR1cm47CisKKwlEQkcoREVWTkFNRSwgdWxfZGVidWcoInByb2JpbmcgTFZNIGRldmljZXMgdW5kZXIgJXMiLCBWR19ESVIpKTsKKworCXdoaWxlICgodmdfaXRlciA9IHJlYWRkaXIodmdfbGlzdCkpICE9IE5VTEwpIHsKKwkJRElSCQkqbHZfbGlzdDsKKwkJY2hhcgkJKnZkaXJuYW1lOworCQljaGFyCQkqdmdfbmFtZTsKKwkJc3RydWN0IGRpcmVudAkqbHZfaXRlcjsKKworCQl2Z19uYW1lID0gdmdfaXRlci0+ZF9uYW1lOworCQlpZiAoIXN0cmNtcCh2Z19uYW1lLCAiLiIpIHx8ICFzdHJjbXAodmdfbmFtZSwgIi4uIikpCisJCQljb250aW51ZTsKKwkJdmRpcm5hbWUgPSBtYWxsb2ModmdfbGVuICsgc3RybGVuKHZnX25hbWUpICsgOCk7CisJCWlmICghdmRpcm5hbWUpCisJCQlnb3RvIGV4aXQ7CisJCXNwcmludGYodmRpcm5hbWUsICIlcy8lcy9MVnMiLCBWR19ESVIsIHZnX25hbWUpOworCisJCWx2X2xpc3QgPSBvcGVuZGlyKHZkaXJuYW1lKTsKKwkJZnJlZSh2ZGlybmFtZSk7CisJCWlmIChsdl9saXN0ID09IE5VTEwpCisJCQljb250aW51ZTsKKworCQl3aGlsZSAoKGx2X2l0ZXIgPSByZWFkZGlyKGx2X2xpc3QpKSAhPSBOVUxMKSB7CisJCQljaGFyCQkqbHZfbmFtZSwgKmx2bV9kZXZpY2U7CisKKwkJCWx2X25hbWUgPSBsdl9pdGVyLT5kX25hbWU7CisJCQlpZiAoIXN0cmNtcChsdl9uYW1lLCAiLiIpIHx8ICFzdHJjbXAobHZfbmFtZSwgIi4uIikpCisJCQkJY29udGludWU7CisKKwkJCWx2bV9kZXZpY2UgPSBtYWxsb2ModmdfbGVuICsgc3RybGVuKHZnX25hbWUpICsKKwkJCQkJICAgIHN0cmxlbihsdl9uYW1lKSArIDgpOworCQkJaWYgKCFsdm1fZGV2aWNlKSB7CisJCQkJY2xvc2VkaXIobHZfbGlzdCk7CisJCQkJZ290byBleGl0OworCQkJfQorCQkJc3ByaW50Zihsdm1fZGV2aWNlLCAiJXMvJXMvTFZzLyVzIiwgVkdfRElSLCB2Z19uYW1lLAorCQkJCWx2X25hbWUpOworCQkJZGV2ID0gbHZtX2dldF9kZXZubyhsdm1fZGV2aWNlKTsKKwkJCXNwcmludGYobHZtX2RldmljZSwgIiVzLyVzIiwgdmdfbmFtZSwgbHZfbmFtZSk7CisJCQlEQkcoREVWTkFNRSwgdWxfZGVidWcoIkxWTSBkZXYgJXM6IGRldm5vIDB4JTA0WCIsCisJCQkJCQkgIGx2bV9kZXZpY2UsCisJCQkJCQkgICh1bnNpZ25lZCBpbnQpIGRldikpOworCQkJcHJvYmVfb25lKGNhY2hlLCBsdm1fZGV2aWNlLCBkZXYsIEJMS0lEX1BSSV9MVk0sCisJCQkJICBvbmx5X2lmX25ldywgMCk7CisJCQlmcmVlKGx2bV9kZXZpY2UpOworCQl9CisJCWNsb3NlZGlyKGx2X2xpc3QpOworCX0KK2V4aXQ6CisJY2xvc2VkaXIodmdfbGlzdCk7Cit9CisjZW5kaWYKKworI2RlZmluZSBQUk9DX0VWTVNfVk9MVU1FUyAiL3Byb2MvZXZtcy92b2x1bWVzIgorCitzdGF0aWMgaW50Citldm1zX3Byb2JlX2FsbChibGtpZF9jYWNoZSBjYWNoZSwgaW50IG9ubHlfaWZfbmV3KQoreworCWNoYXIgbGluZVsxMDBdOworCWludCBtYSwgbWksIHN6LCBudW0gPSAwOworCUZJTEUgKnByb2NwdDsKKwljaGFyIGRldmljZVsxMTBdOworCisJcHJvY3B0ID0gZm9wZW4oUFJPQ19FVk1TX1ZPTFVNRVMsICJyIiBVTF9DTE9FWEVDU1RSKTsKKwlpZiAoIXByb2NwdCkKKwkJcmV0dXJuIDA7CisJd2hpbGUgKGZnZXRzKGxpbmUsIHNpemVvZihsaW5lKSwgcHJvY3B0KSkgeworCQlpZiAoc3NjYW5mIChsaW5lLCAiICVkICVkICVkICUqcyAlKnMgJVteXG4gXSIsCisJCQkgICAgJm1hLCAmbWksICZzeiwgZGV2aWNlKSAhPSA0KQorCQkJY29udGludWU7CisKKwkJREJHKERFVk5BTUUsIHVsX2RlYnVnKCJDaGVja2luZyBwYXJ0aXRpb24gJXMgKCVkLCAlZCkiLAorCQkJCQkgIGRldmljZSwgbWEsIG1pKSk7CisKKwkJcHJvYmVfb25lKGNhY2hlLCBkZXZpY2UsIG1ha2VkZXYobWEsIG1pKSwgQkxLSURfUFJJX0VWTVMsCisJCQkgIG9ubHlfaWZfbmV3LCAwKTsKKwkJbnVtKys7CisJfQorCWZjbG9zZShwcm9jcHQpOworCXJldHVybiBudW07Cit9CisKK3N0YXRpYyB2b2lkCit1YmlfcHJvYmVfYWxsKGJsa2lkX2NhY2hlIGNhY2hlLCBpbnQgb25seV9pZl9uZXcpCit7CisJY29uc3QgY2hhciAqKmRpcm5hbWU7CisKKwlmb3IgKGRpcm5hbWUgPSBkaXJsaXN0OyAqZGlybmFtZTsgZGlybmFtZSsrKSB7CisJCURJUgkJKmRpcjsKKwkJc3RydWN0IGRpcmVudAkqaXRlcjsKKworCQlEQkcoREVWTkFNRSwgdWxfZGVidWcoInByb2JpbmcgVUJJIHZvbHVtZXMgdW5kZXIgJXMiLAorCQkJCQkgICpkaXJuYW1lKSk7CisKKwkJZGlyID0gb3BlbmRpcigqZGlybmFtZSk7CisJCWlmIChkaXIgPT0gTlVMTCkKKwkJCWNvbnRpbnVlIDsKKworCQl3aGlsZSAoKGl0ZXIgPSByZWFkZGlyKGRpcikpICE9IE5VTEwpIHsKKwkJCWNoYXIJCSpuYW1lOworCQkJc3RydWN0IHN0YXQJc3Q7CisJCQlkZXZfdAkJZGV2OworCisJCQluYW1lID0gaXRlci0+ZF9uYW1lOworI2lmZGVmIF9ESVJFTlRfSEFWRV9EX1RZUEUKKwkJCWlmIChpdGVyLT5kX3R5cGUgIT0gRFRfVU5LTk9XTiAmJgorCQkJICAgIGl0ZXItPmRfdHlwZSAhPSBEVF9DSFIgJiYgaXRlci0+ZF90eXBlICE9IERUX0xOSykKKwkJCQljb250aW51ZTsKKyNlbmRpZgorCQkJaWYgKCFzdHJjbXAobmFtZSwgIi4iKSB8fCAhc3RyY21wKG5hbWUsICIuLiIpIHx8CisJCQkgICAgIXN0cnN0cihuYW1lLCAidWJpIikpCisJCQkJY29udGludWU7CisJCQlpZiAoIXN0cmNtcChuYW1lLCAidWJpX2N0cmwiKSkKKwkJCQljb250aW51ZTsKKwkJCWlmIChmc3RhdGF0KGRpcmZkKGRpciksIG5hbWUsICZzdCwgMCkpCisJCQkJY29udGludWU7CisKKwkJCWRldiA9IHN0LnN0X3JkZXY7CisKKwkJCWlmICghU19JU0NIUihzdC5zdF9tb2RlKSB8fCAhbWlub3IoZGV2KSkKKwkJCQljb250aW51ZTsKKwkJCURCRyhERVZOQU1FLCB1bF9kZWJ1ZygiVUJJIHZvbCAlcy8lczogZGV2bm8gMHglMDRYIiwKKwkJCQkgICpkaXJuYW1lLCBuYW1lLCAoaW50KSBkZXYpKTsKKwkJCXByb2JlX29uZShjYWNoZSwgbmFtZSwgZGV2LCBCTEtJRF9QUklfVUJJLCBvbmx5X2lmX25ldywgMCk7CisJCX0KKwkJY2xvc2VkaXIoZGlyKTsKKwl9Cit9CisKKy8qCisgKiBSZWFkIHRoZSBkZXZpY2UgZGF0YSBmb3IgYWxsIGF2YWlsYWJsZSBibG9jayBkZXZpY2VzIGluIHRoZSBzeXN0ZW0uCisgKi8KK3N0YXRpYyBpbnQgcHJvYmVfYWxsKGJsa2lkX2NhY2hlIGNhY2hlLCBpbnQgb25seV9pZl9uZXcpCit7CisJRklMRSAqcHJvYzsKKwljaGFyIGxpbmVbMTAyNF07CisJY2hhciBwdG5hbWUwWzEyOCArIDFdLCBwdG5hbWUxWzEyOCArIDFdLCAqcHRuYW1lID0gMDsKKwljaGFyICpwdG5hbWVzWzJdOworCWRldl90IGRldnNbMl07CisJaW50IG1hLCBtaTsKKwl1bnNpZ25lZCBsb25nIGxvbmcgc3o7CisJaW50IGxlbnNbMl0gPSB7IDAsIDAgfTsKKwlpbnQgd2hpY2ggPSAwLCBsYXN0ID0gMDsKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwLCAqcG5leHQ7CisKKwlwdG5hbWVzWzBdID0gcHRuYW1lMDsKKwlwdG5hbWVzWzFdID0gcHRuYW1lMTsKKworCWlmICghY2FjaGUpCisJCXJldHVybiAtQkxLSURfRVJSX1BBUkFNOworCisJaWYgKGNhY2hlLT5iaWNfZmxhZ3MgJiBCTEtJRF9CSUNfRkxfUFJPQkVEICYmCisJICAgIHRpbWUoMCkgLSBjYWNoZS0+YmljX3RpbWUgPCBCTEtJRF9QUk9CRV9JTlRFUlZBTCkKKwkJcmV0dXJuIDA7CisKKwlibGtpZF9yZWFkX2NhY2hlKGNhY2hlKTsKKwlldm1zX3Byb2JlX2FsbChjYWNoZSwgb25seV9pZl9uZXcpOworI2lmZGVmIFZHX0RJUgorCWx2bV9wcm9iZV9hbGwoY2FjaGUsIG9ubHlfaWZfbmV3KTsKKyNlbmRpZgorCXViaV9wcm9iZV9hbGwoY2FjaGUsIG9ubHlfaWZfbmV3KTsKKworCXByb2MgPSBmb3BlbihQUk9DX1BBUlRJVElPTlMsICJyIiBVTF9DTE9FWEVDU1RSKTsKKwlpZiAoIXByb2MpCisJCXJldHVybiAtQkxLSURfRVJSX1BST0M7CisKKwl3aGlsZSAoZmdldHMobGluZSwgc2l6ZW9mKGxpbmUpLCBwcm9jKSkgeworCQlsYXN0ID0gd2hpY2g7CisJCXdoaWNoIF49IDE7CisJCXB0bmFtZSA9IHB0bmFtZXNbd2hpY2hdOworCisJCWlmIChzc2NhbmYobGluZSwgIiAlZCAlZCAlbGx1ICUxMjhbXlxuIF0iLAorCQkJICAgJm1hLCAmbWksICZzeiwgcHRuYW1lKSAhPSA0KQorCQkJY29udGludWU7CisJCWRldnNbd2hpY2hdID0gbWFrZWRldihtYSwgbWkpOworCisJCURCRyhERVZOQU1FLCB1bF9kZWJ1ZygicmVhZCBwYXJ0aXRpb24gbmFtZSAlcyIsIHB0bmFtZSkpOworCisJCS8qIFNraXAgd2hvbGUgZGlzayBkZXZzIHVubGVzcyB0aGV5IGhhdmUgbm8gcGFydGl0aW9ucy4KKwkJICogSWYgYmFzZSBuYW1lIG9mIGRldmljZSBoYXMgY2hhbmdlZCwgYWxzbworCQkgKiBjaGVjayBwcmV2aW91cyBkZXYgdG8gc2VlIGlmIGl0IGRpZG4ndCBoYXZlIGEgcGFydG4uCisJCSAqIGhldXJpc3RpYzogcGFydGl0aW9uIG5hbWUgZW5kcyBpbiBhIGRpZ2l0LCAmIHBhcnRpdGlvbgorCQkgKiBuYW1lcyBjb250YWluIHdob2xlIGRldmljZSBuYW1lIGFzIHN1YnN0cmluZy4KKwkJICoKKwkJICogU2tpcCBleHRlbmRlZCBwYXJ0aXRpb25zLgorCQkgKiBoZXVyaXN0aWM6IHNpemUgaXMgMQorCQkgKgorCQkgKiBGSVhNRTogc2tpcCAvZGV2L3tpZGEsY2Npc3MscmR9IHdob2xlLWRpc2sgZGV2cworCQkgKi8KKworCQlsZW5zW3doaWNoXSA9IHN0cmxlbihwdG5hbWUpOworCisJCS8qIGVuZHMgaW4gYSBkaWdpdCwgY2xlYXJseSBhIHBhcnRpdGlvbiwgc28gY2hlY2sgKi8KKwkJaWYgKGlzZGlnaXQocHRuYW1lW2xlbnNbd2hpY2hdIC0gMV0pKSB7CisJCQlEQkcoREVWTkFNRSwgdWxfZGVidWcoInBhcnRpdGlvbiBkZXYgJXMsIGRldm5vIDB4JTA0WCIsCisJCQkJICAgcHRuYW1lLCAodW5zaWduZWQgaW50KSBkZXZzW3doaWNoXSkpOworCisJCQlpZiAoc3ogPiAxKQorCQkJCXByb2JlX29uZShjYWNoZSwgcHRuYW1lLCBkZXZzW3doaWNoXSwgMCwKKwkJCQkJICBvbmx5X2lmX25ldywgMCk7CisJCQlsZW5zW3doaWNoXSA9IDA7CS8qIG1hcmsgYXMgY2hlY2tlZCAqLworCQl9CisKKwkJLyoKKwkJICogSWYgbGFzdCB3YXMgYSB3aG9sZSBkaXNrIGFuZCB3ZSBqdXN0IGZvdW5kIGEgcGFydGl0aW9uCisJCSAqIG9uIGl0LCByZW1vdmUgdGhlIHdob2xlLWRpc2sgZGV2IGZyb20gdGhlIGNhY2hlIGlmCisJCSAqIGl0IGV4aXN0cy4KKwkJICovCisJCWlmIChsZW5zW2xhc3RdICYmICFzdHJuY21wKHB0bmFtZXNbbGFzdF0sIHB0bmFtZSwgbGVuc1tsYXN0XSkpIHsKKwkJCWxpc3RfZm9yX2VhY2hfc2FmZShwLCBwbmV4dCwgJmNhY2hlLT5iaWNfZGV2cykgeworCQkJCWJsa2lkX2RldiB0bXA7CisKKwkJCQkvKiBmaW5kIGJsa2lkIGRldiBmb3IgdGhlIHdob2xlLWRpc2sgZGV2bm8gKi8KKwkJCQl0bXAgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBibGtpZF9zdHJ1Y3RfZGV2LAorCQkJCQkJIGJpZF9kZXZzKTsKKwkJCQlpZiAodG1wLT5iaWRfZGV2bm8gPT0gZGV2c1tsYXN0XSkgeworCQkJCQlEQkcoREVWTkFNRSwgdWxfZGVidWcoImZyZWVpbmcgJXMiLAorCQkJCQkJICAgICAgIHRtcC0+YmlkX25hbWUpKTsKKwkJCQkJYmxraWRfZnJlZV9kZXYodG1wKTsKKwkJCQkJY2FjaGUtPmJpY19mbGFncyB8PSBCTEtJRF9CSUNfRkxfQ0hBTkdFRDsKKwkJCQkJYnJlYWs7CisJCQkJfQorCQkJfQorCQkJbGVuc1tsYXN0XSA9IDA7CisJCX0KKwkJLyoKKwkJICogSWYgbGFzdCB3YXMgbm90IGNoZWNrZWQgYmVjYXVzZSBpdCBsb29rZWQgbGlrZSBhIHdob2xlLWRpc2sKKwkJICogZGV2LCBhbmQgdGhlIGRldmljZSdzIGJhc2UgbmFtZSBoYXMgY2hhbmdlZCwKKwkJICogY2hlY2sgbGFzdCBhcyB3ZWxsLgorCQkgKi8KKwkJaWYgKGxlbnNbbGFzdF0gJiYgc3RybmNtcChwdG5hbWVzW2xhc3RdLCBwdG5hbWUsIGxlbnNbbGFzdF0pKSB7CisJCQlEQkcoREVWTkFNRSwgdWxfZGVidWcoIndob2xlIGRldiAlcywgZGV2bm8gMHglMDRYIiwKKwkJCQkgICBwdG5hbWVzW2xhc3RdLCAodW5zaWduZWQgaW50KSBkZXZzW2xhc3RdKSk7CisJCQlwcm9iZV9vbmUoY2FjaGUsIHB0bmFtZXNbbGFzdF0sIGRldnNbbGFzdF0sIDAsCisJCQkJICBvbmx5X2lmX25ldywgMCk7CisJCQlsZW5zW2xhc3RdID0gMDsKKwkJfQorCX0KKworCS8qIEhhbmRsZSB0aGUgbGFzdCBkZXZpY2UgaWYgaXQgd2Fzbid0IHBhcnRpdGlvbmVkICovCisJaWYgKGxlbnNbd2hpY2hdKQorCQlwcm9iZV9vbmUoY2FjaGUsIHB0bmFtZSwgZGV2c1t3aGljaF0sIDAsIG9ubHlfaWZfbmV3LCAwKTsKKworCWZjbG9zZShwcm9jKTsKKwlibGtpZF9mbHVzaF9jYWNoZShjYWNoZSk7CisJcmV0dXJuIDA7Cit9CisKKy8qIERvbid0IHVzZSBpdCBieSBkZWZhdWx0IC0tIGl0J3MgcHJldHR5IHNsb3cgKGJlY2F1c2UgY2Ryb21zLCBmbG9wcHksIC4uLikKKyAqLworc3RhdGljIGludCBwcm9iZV9hbGxfcmVtb3ZhYmxlKGJsa2lkX2NhY2hlIGNhY2hlKQoreworCURJUiAqZGlyOworCXN0cnVjdCBkaXJlbnQgKmQ7CisKKwlpZiAoIWNhY2hlKQorCQlyZXR1cm4gLUJMS0lEX0VSUl9QQVJBTTsKKworCWRpciA9IG9wZW5kaXIoX1BBVEhfU1lTX0JMT0NLKTsKKwlpZiAoIWRpcikKKwkJcmV0dXJuIC1CTEtJRF9FUlJfUFJPQzsKKworCXdoaWxlKChkID0gcmVhZGRpcihkaXIpKSkgeworCQlzdHJ1Y3Qgc3lzZnNfY3h0IHN5c2ZzID0gVUxfU1lTRlNDWFRfRU1QVFk7CisJCWludCByZW1vdmFibGUgPSAwOworCQlkZXZfdCBkZXZubzsKKworI2lmZGVmIF9ESVJFTlRfSEFWRV9EX1RZUEUKKwkJaWYgKGQtPmRfdHlwZSAhPSBEVF9VTktOT1dOICYmIGQtPmRfdHlwZSAhPSBEVF9MTkspCisJCQljb250aW51ZTsKKyNlbmRpZgorCQlpZiAoZC0+ZF9uYW1lWzBdID09ICcuJyAmJgorCQkgICAgKChkLT5kX25hbWVbMV0gPT0gMCkgfHwKKwkJICAgICAoKGQtPmRfbmFtZVsxXSA9PSAnLicpICYmIChkLT5kX25hbWVbMl0gPT0gMCkpKSkKKwkJCWNvbnRpbnVlOworCisJCWRldm5vID0gc3lzZnNfZGV2bmFtZV90b19kZXZubyhkLT5kX25hbWUsIE5VTEwpOworCQlpZiAoIWRldm5vKQorCQkJY29udGludWU7CisKKwkJaWYgKHN5c2ZzX2luaXQoJnN5c2ZzLCBkZXZubywgTlVMTCkgPT0gMCkgeworCQkJaWYgKHN5c2ZzX3JlYWRfaW50KCZzeXNmcywgInJlbW92YWJsZSIsICZyZW1vdmFibGUpICE9IDApCisJCQkJcmVtb3ZhYmxlID0gMDsKKwkJCXN5c2ZzX2RlaW5pdCgmc3lzZnMpOworCQl9CisKKwkJaWYgKHJlbW92YWJsZSkKKwkJCXByb2JlX29uZShjYWNoZSwgZC0+ZF9uYW1lLCBkZXZubywgMCwgMCwgMSk7CisJfQorCisJY2xvc2VkaXIoZGlyKTsKKwlyZXR1cm4gMDsKK30KKworCisvKioKKyAqIGJsa2lkX3Byb2JlX2FsbDoKKyAqIEBjYWNoZTogY2FjaGUgaGFuZGxlcgorICoKKyAqIFByb2JlcyBhbGwgYmxvY2sgZGV2aWNlcy4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG9yIG51bWJlciBsZXNzIHRoYW4gemVybyBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgYmxraWRfcHJvYmVfYWxsKGJsa2lkX2NhY2hlIGNhY2hlKQoreworCWludCByZXQ7CisKKwlEQkcoUFJPQkUsIHVsX2RlYnVnKCJCZWdpbiBibGtpZF9wcm9iZV9hbGwoKSIpKTsKKwlyZXQgPSBwcm9iZV9hbGwoY2FjaGUsIDApOworCWlmIChyZXQgPT0gMCkgeworCQljYWNoZS0+YmljX3RpbWUgPSB0aW1lKDApOworCQljYWNoZS0+YmljX2ZsYWdzIHw9IEJMS0lEX0JJQ19GTF9QUk9CRUQ7CisJfQorCURCRyhQUk9CRSwgdWxfZGVidWcoIkVuZCBibGtpZF9wcm9iZV9hbGwoKSBbcmM9JWRdIiwgcmV0KSk7CisJcmV0dXJuIHJldDsKK30KKworLyoqCisgKiBibGtpZF9wcm9iZV9hbGxfbmV3OgorICogQGNhY2hlOiBjYWNoZSBoYW5kbGVyCisgKgorICogUHJvYmVzIGFsbCBuZXcgYmxvY2sgZGV2aWNlcy4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG9yIG51bWJlciBsZXNzIHRoYW4gemVybyBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgYmxraWRfcHJvYmVfYWxsX25ldyhibGtpZF9jYWNoZSBjYWNoZSkKK3sKKwlpbnQgcmV0OworCisJREJHKFBST0JFLCB1bF9kZWJ1ZygiQmVnaW4gYmxraWRfcHJvYmVfYWxsX25ldygpIikpOworCXJldCA9IHByb2JlX2FsbChjYWNoZSwgMSk7CisJREJHKFBST0JFLCB1bF9kZWJ1ZygiRW5kIGJsa2lkX3Byb2JlX2FsbF9uZXcoKSBbcmM9JWRdIiwgcmV0KSk7CisJcmV0dXJuIHJldDsKK30KKworLyoqCisgKiBibGtpZF9wcm9iZV9hbGxfcmVtb3ZhYmxlOgorICogQGNhY2hlOiBjYWNoZSBoYW5kbGVyCisgKgorICogVGhlIGxpYmJsa2lkIHByb2JpbmcgaXMgYmFzZWQgb24gZGV2aWNlcyBmcm9tIC9wcm9jL3BhcnRpdGlvbnMgYnkgZGVmYXVsdC4KKyAqIFRoaXMgZmlsZSB1c3VhbGx5IGRvZXMgbm90IGNvbnRhaW4gcmVtb3ZhYmxlIGRldmljZXMgKGUuZy4gQ0RST01zKSBhbmQgdGhpcyBraW5kCisgKiBvZiBkZXZpY2VzIGFyZSBpbnZpc2libGUgZm9yIGxpYmJsa2lkLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gYWRkcyByZW1vdmFibGUgYmxvY2sgZGV2aWNlcyB0byBAY2FjaGUgKHByb2JpbmcgaXMgYmFzZWQgb24KKyAqIGluZm9ybWF0aW9uIGZyb20gdGhlIC9zeXMgZGlyZWN0b3J5KS4gRG9uJ3QgZm9yZ2V0IHRoYXQgcmVtb3ZhYmxlIGRldmljZXMKKyAqIChmbG9wcGllcywgQ0RST01zLCAuLi4pIGNvdWxkIGJlIHByZXR0eSBzbG93LiBJdCdzIHZlcnkgYmFkIGlkZWEgdG8gY2FsbAorICogdGhpcyBmdW5jdGlvbiBieSBkZWZhdWx0LgorICoKKyAqIE5vdGUgdGhhdCBkZXZpY2VzIHdoaWNoIHdlcmUgZGV0ZWN0ZWQgYnkgdGhpcyBmdW5jdGlvbiB3b24ndCBiZSB3cml0dGVuIHRvCisgKiBibGtpZC50YWIgY2FjaGUgZmlsZS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG9yIG51bWJlciBsZXNzIHRoYW4gemVybyBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgYmxraWRfcHJvYmVfYWxsX3JlbW92YWJsZShibGtpZF9jYWNoZSBjYWNoZSkKK3sKKwlpbnQgcmV0OworCisJREJHKFBST0JFLCB1bF9kZWJ1ZygiQmVnaW4gYmxraWRfcHJvYmVfYWxsX3JlbW92YWJsZSgpIikpOworCXJldCA9IHByb2JlX2FsbF9yZW1vdmFibGUoY2FjaGUpOworCURCRyhQUk9CRSwgdWxfZGVidWcoIkVuZCBibGtpZF9wcm9iZV9hbGxfcmVtb3ZhYmxlKCkgW3JjPSVkXSIsIHJldCkpOworCXJldHVybiByZXQ7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU0KK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlibGtpZF9jYWNoZSBjYWNoZSA9IE5VTEw7CisJaW50IHJldDsKKworCWJsa2lkX2luaXRfZGVidWcoQkxLSURfREVCVUdfQUxMKTsKKwlpZiAoYXJnYyAhPSAxKSB7CisJCWZwcmludGYoc3RkZXJyLCAiVXNhZ2U6ICVzXG4iCisJCQkiUHJvYmUgYWxsIGRldmljZXMgYW5kIGV4aXRcbiIsIGFyZ3ZbMF0pOworCQlleGl0KDEpOworCX0KKwlpZiAoKHJldCA9IGJsa2lkX2dldF9jYWNoZSgmY2FjaGUsICIvZGV2L251bGwiKSkgIT0gMCkgeworCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiBlcnJvciBjcmVhdGluZyBjYWNoZSAoJWQpXG4iLAorCQkJYXJndlswXSwgcmV0KTsKKwkJZXhpdCgxKTsKKwl9CisJaWYgKGJsa2lkX3Byb2JlX2FsbChjYWNoZSkgPCAwKQorCQlwcmludGYoIiVzOiBlcnJvciBwcm9iaW5nIGRldmljZXNcbiIsIGFyZ3ZbMF0pOworCisJaWYgKGJsa2lkX3Byb2JlX2FsbF9yZW1vdmFibGUoY2FjaGUpIDwgMCkKKwkJcHJpbnRmKCIlczogZXJyb3IgcHJvYmluZyByZW1vdmFibGUgZGV2aWNlc1xuIiwgYXJndlswXSk7CisKKwlibGtpZF9wdXRfY2FjaGUoY2FjaGUpOworCXJldHVybiAoMCk7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9kZXZuby5jIGIvbGliYmxraWQvc3JjL2Rldm5vLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzFlYjRhNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9kZXZuby5jCkBAIC0wLDAgKzEsMzc0IEBACisvKgorICogZGV2bm8uYyAtIGZpbmQgYSBwYXJ0aWN1bGFyIGRldmljZSBieSBpdHMgZGV2aWNlIG51bWJlciAobWFqb3IvbWlub3IpCisgKgorICogQ29weXJpZ2h0IChDKSAyMDAwLCAyMDAxLCAyMDAzIFRoZW9kb3JlIFRzJ28KKyAqIENvcHlyaWdodCAoQykgMjAwMSBBbmRyZWFzIERpbGdlcgorICoKKyAqICVCZWdpbi1IZWFkZXIlCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICogJUVuZC1IZWFkZXIlCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaWZkZWYgSEFWRV9VTklTVERfSAorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2VuZGlmCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNlbmRpZgorI2luY2x1ZGUgPGRpcmVudC5oPgorI2lmZGVmIEhBVkVfRVJSTk9fSAorI2luY2x1ZGUgPGVycm5vLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NZU19NS0RFVl9ICisjaW5jbHVkZSA8c3lzL21rZGV2Lmg+CisjZW5kaWYKKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPGludHR5cGVzLmg+CisKKyNpbmNsdWRlICJibGtpZFAuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJzeXNmcy5oIgorCitzdGF0aWMgY2hhciAqYmxraWRfc3RyY29uY2F0KGNvbnN0IGNoYXIgKmEsIGNvbnN0IGNoYXIgKmIsIGNvbnN0IGNoYXIgKmMpCit7CisJY2hhciAqcmVzLCAqcDsKKwlzaXplX3QgbGVuLCBhbCwgYmwsIGNsOworCisJYWwgPSBhID8gc3RybGVuKGEpIDogMDsKKwlibCA9IGIgPyBzdHJsZW4oYikgOiAwOworCWNsID0gYyA/IHN0cmxlbihjKSA6IDA7CisKKwlsZW4gPSBhbCArIGJsICsgY2w7CisJaWYgKCFsZW4pCisJCXJldHVybiBOVUxMOworCXAgPSByZXMgPSBtYWxsb2MobGVuICsgMSk7CisJaWYgKCFyZXMpCisJCXJldHVybiBOVUxMOworCWlmIChhbCkgeworCQltZW1jcHkocCwgYSwgYWwpOworCQlwICs9IGFsOworCX0KKwlpZiAoYmwpIHsKKwkJbWVtY3B5KHAsIGIsIGJsKTsKKwkJcCArPSBibDsKKwl9CisJaWYgKGNsKSB7CisJCW1lbWNweShwLCBjLCBjbCk7CisJCXAgKz0gY2w7CisJfQorCSpwID0gJ1wwJzsKKwlyZXR1cm4gcmVzOworfQorCisvKgorICogVGhpcyBmdW5jdGlvbiBhZGRzIGFuIGVudHJ5IHRvIHRoZSBkaXJlY3RvcnkgbGlzdAorICovCitzdGF0aWMgdm9pZCBhZGRfdG9fZGlybGlzdChjb25zdCBjaGFyICpkaXIsIGNvbnN0IGNoYXIgKnN1YmRpciwKKwkJCQlzdHJ1Y3QgZGlyX2xpc3QgKipsaXN0KQoreworCXN0cnVjdCBkaXJfbGlzdCAqZHA7CisKKwlkcCA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IGRpcl9saXN0KSk7CisJaWYgKCFkcCkKKwkJcmV0dXJuOworCWRwLT5uYW1lID0gc3ViZGlyID8gYmxraWRfc3RyY29uY2F0KGRpciwgIi8iLCBzdWJkaXIpIDoKKwkJICAgZGlyID8gc3RyZHVwKGRpcikgOiBOVUxMOworCisJaWYgKCFkcC0+bmFtZSkgeworCQlmcmVlKGRwKTsKKwkJcmV0dXJuOworCX0KKwlkcC0+bmV4dCA9ICpsaXN0OworCSpsaXN0ID0gZHA7Cit9CisKKy8qCisgKiBUaGlzIGZ1bmN0aW9uIGZyZWVzIGEgZGlyZWN0b3J5IGxpc3QKKyAqLworc3RhdGljIHZvaWQgZnJlZV9kaXJsaXN0KHN0cnVjdCBkaXJfbGlzdCAqKmxpc3QpCit7CisJc3RydWN0IGRpcl9saXN0ICpkcCwgKm5leHQ7CisKKwlmb3IgKGRwID0gKmxpc3Q7IGRwOyBkcCA9IG5leHQpIHsKKwkJbmV4dCA9IGRwLT5uZXh0OworCQlmcmVlKGRwLT5uYW1lKTsKKwkJZnJlZShkcCk7CisJfQorCSpsaXN0ID0gTlVMTDsKK30KKwordm9pZCBibGtpZF9fc2Nhbl9kaXIoY2hhciAqZGlybmFtZSwgZGV2X3QgZGV2bm8sIHN0cnVjdCBkaXJfbGlzdCAqKmxpc3QsCisJCSAgICAgY2hhciAqKmRldm5hbWUpCit7CisJRElSCSpkaXI7CisJc3RydWN0IGRpcmVudCAqZHA7CisJc3RydWN0IHN0YXQgc3Q7CisKKwlpZiAoKGRpciA9IG9wZW5kaXIoZGlybmFtZSkpID09IE5VTEwpCisJCXJldHVybjsKKworCXdoaWxlICgoZHAgPSByZWFkZGlyKGRpcikpICE9IE5VTEwpIHsKKyNpZmRlZiBfRElSRU5UX0hBVkVfRF9UWVBFCisJCWlmIChkcC0+ZF90eXBlICE9IERUX1VOS05PV04gJiYgZHAtPmRfdHlwZSAhPSBEVF9CTEsgJiYKKwkJICAgIGRwLT5kX3R5cGUgIT0gRFRfTE5LICYmIGRwLT5kX3R5cGUgIT0gRFRfRElSKQorCQkJY29udGludWU7CisjZW5kaWYKKwkJaWYgKGRwLT5kX25hbWVbMF0gPT0gJy4nICYmCisJCSAgICAoKGRwLT5kX25hbWVbMV0gPT0gMCkgfHwKKwkJICAgICAoKGRwLT5kX25hbWVbMV0gPT0gJy4nKSAmJiAoZHAtPmRfbmFtZVsyXSA9PSAwKSkpKQorCQkJY29udGludWU7CisKKwkJaWYgKGZzdGF0YXQoZGlyZmQoZGlyKSwgZHAtPmRfbmFtZSwgJnN0LCAwKSkKKwkJCWNvbnRpbnVlOworCisJCWlmIChTX0lTQkxLKHN0LnN0X21vZGUpICYmIHN0LnN0X3JkZXYgPT0gZGV2bm8pIHsKKwkJCSpkZXZuYW1lID0gYmxraWRfc3RyY29uY2F0KGRpcm5hbWUsICIvIiwgZHAtPmRfbmFtZSk7CisJCQlEQkcoREVWTk8sIHVsX2RlYnVnKCJmb3VuZCAweCVsbHggYXQgJXMiLCAobG9uZyBsb25nKWRldm5vLAorCQkJCSAgICpkZXZuYW1lKSk7CisJCQlicmVhazsKKwkJfQorCisJCWlmICghbGlzdCB8fCAhU19JU0RJUihzdC5zdF9tb2RlKSkKKwkJCWNvbnRpbnVlOworCisJCS8qIGFkZCBzdWJkaXJlY3RvcnkgKGJ1dCBub3Qgc3ltbGluaykgdG8gdGhlIGxpc3QgKi8KKyNpZmRlZiBfRElSRU5UX0hBVkVfRF9UWVBFCisJCWlmIChkcC0+ZF90eXBlID09IERUX0xOSykKKwkJCWNvbnRpbnVlOworCQlpZiAoZHAtPmRfdHlwZSA9PSBEVF9VTktOT1dOKQorI2VuZGlmCisJCXsKKwkJCWlmIChmc3RhdGF0KGRpcmZkKGRpciksIGRwLT5kX25hbWUsICZzdCwgMSkgfHwKKwkJCSAgICAhU19JU0RJUihzdC5zdF9tb2RlKSkKKwkJCQljb250aW51ZTsJLyogc3ltbGluayBvciBsc3RhdCgpIGZhaWxlZCAqLworCQl9CisKKwkJaWYgKCpkcC0+ZF9uYW1lID09ICcuJyB8fCAoCisjaWZkZWYgX0RJUkVOVF9IQVZFX0RfVFlQRQorCQkgICAgZHAtPmRfdHlwZSA9PSBEVF9ESVIgJiYKKyNlbmRpZgorCQkgICAgc3RyY21wKGRwLT5kX25hbWUsICJzaG0iKSA9PSAwKSkKKwkJCS8qIGlnbm9yZSAvZGV2Ly57dWRldixtb3VudCxtZGFkbX0gYW5kIC9kZXYvc2htICovCisJCQljb250aW51ZTsKKworCQlhZGRfdG9fZGlybGlzdChkaXJuYW1lLCBkcC0+ZF9uYW1lLCBsaXN0KTsKKwl9CisJY2xvc2VkaXIoZGlyKTsKKwlyZXR1cm47Cit9CisKKy8qIERpcmVjdG9yaWVzIHdoZXJlIHdlIHdpbGwgdHJ5IHRvIHNlYXJjaCBmb3IgZGV2aWNlIG51bWJlcnMgKi8KK3N0YXRpYyBjb25zdCBjaGFyICpkZXZkaXJzW10gPSB7ICIvZGV2aWNlcyIsICIvZGV2ZnMiLCAiL2RldiIsIE5VTEwgfTsKKworLyoqCisgKiBTRUNUSU9OOiBtaXNjCisgKiBAdGl0bGU6IE1pc2NlbGxhbmVvdXMgdXRpbHMKKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogbWl4IG9mIHZhcmlvdXMgdXRpbHMgZm9yIGxvdy1sZXZlbCBhbmQgaGlnaC1sZXZlbCBBUEkKKyAqLworCisKKworc3RhdGljIGNoYXIgKnNjYW5kZXZfZGV2bm9fdG9fZGV2cGF0aChkZXZfdCBkZXZubykKK3sKKwlzdHJ1Y3QgZGlyX2xpc3QgKmxpc3QgPSBOVUxMLCAqbmV3X2xpc3QgPSBOVUxMOworCWNoYXIgKmRldm5hbWUgPSBOVUxMOworCWNvbnN0IGNoYXIgKipkaXI7CisKKwkvKgorCSAqIEFkZCB0aGUgc3RhcnRpbmcgZGlyZWN0b3JpZXMgdG8gc2VhcmNoIGluIHJldmVyc2Ugb3JkZXIgb2YKKwkgKiBpbXBvcnRhbmNlLCBzaW5jZSB3ZSBhcmUgdXNpbmcgYSBzdGFjay4uLgorCSAqLworCWZvciAoZGlyID0gZGV2ZGlyczsgKmRpcjsgZGlyKyspCisJCWFkZF90b19kaXJsaXN0KCpkaXIsIE5VTEwsICZsaXN0KTsKKworCXdoaWxlIChsaXN0KSB7CisJCXN0cnVjdCBkaXJfbGlzdCAqY3VycmVudCA9IGxpc3Q7CisKKwkJbGlzdCA9IGxpc3QtPm5leHQ7CisJCURCRyhERVZOTywgdWxfZGVidWcoImRpcmVjdG9yeSAlcyIsIGN1cnJlbnQtPm5hbWUpKTsKKwkJYmxraWRfX3NjYW5fZGlyKGN1cnJlbnQtPm5hbWUsIGRldm5vLCAmbmV3X2xpc3QsICZkZXZuYW1lKTsKKwkJZnJlZShjdXJyZW50LT5uYW1lKTsKKwkJZnJlZShjdXJyZW50KTsKKwkJaWYgKGRldm5hbWUpCisJCQlicmVhazsKKwkJLyoKKwkJICogSWYgd2UncmUgZG9uZSBjaGVja2luZyBhdCB0aGlzIGxldmVsLCBkZXNjZW5kIHRvCisJCSAqIHRoZSBuZXh0IGxldmVsIG9mIHN1YmRpcmVjdG9yaWVzLiAoYnJlYWR0aC1maXJzdCkKKwkJICovCisJCWlmIChsaXN0ID09IE5VTEwpIHsKKwkJCWxpc3QgPSBuZXdfbGlzdDsKKwkJCW5ld19saXN0ID0gTlVMTDsKKwkJfQorCX0KKwlmcmVlX2Rpcmxpc3QoJmxpc3QpOworCWZyZWVfZGlybGlzdCgmbmV3X2xpc3QpOworCisJcmV0dXJuIGRldm5hbWU7Cit9CisKKy8qKgorICogYmxraWRfZGV2bm9fdG9fZGV2bmFtZToKKyAqIEBkZXZubzogZGV2aWNlIG51bWJlcgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZmluZHMgdGhlIHBhdGhuYW1lIHRvIGEgYmxvY2sgZGV2aWNlIHdpdGggYSBnaXZlbgorICogZGV2aWNlIG51bWJlci4KKyAqCisgKiBSZXR1cm5zOiBhIHBvaW50ZXIgdG8gYWxsb2NhdGVkIG1lbW9yeSB0byB0aGUgcGF0aG5hbWUgb24gc3VjY2VzcywKKyAqIGFuZCBOVUxMIG9uIGZhaWx1cmUuCisgKi8KK2NoYXIgKmJsa2lkX2Rldm5vX3RvX2Rldm5hbWUoZGV2X3QgZGV2bm8pCit7CisJY2hhciAqcGF0aCA9IE5VTEw7CisJY2hhciBidWZbUEFUSF9NQVhdOworCisJcGF0aCA9IHN5c2ZzX2Rldm5vX3RvX2RldnBhdGgoZGV2bm8sIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCWlmIChwYXRoKQorCQlwYXRoID0gc3RyZHVwKHBhdGgpOworCWlmICghcGF0aCkKKwkJcGF0aCA9IHNjYW5kZXZfZGV2bm9fdG9fZGV2cGF0aChkZXZubyk7CisKKwlpZiAoIXBhdGgpIHsKKwkJREJHKERFVk5PLCB1bF9kZWJ1ZygiYmxraWQ6IGNvdWxkbid0IGZpbmQgZGV2bm8gMHglMDRseCIsCisJCQkgICAodW5zaWduZWQgbG9uZykgZGV2bm8pKTsKKwl9IGVsc2UgeworCQlEQkcoREVWTk8sIHVsX2RlYnVnKCJmb3VuZCBkZXZubyAweCUwNGxseCBhcyAlcyIsIChsb25nIGxvbmcpZGV2bm8sIHBhdGgpKTsKKwl9CisKKwlyZXR1cm4gcGF0aDsKK30KKworCisvKioKKyAqIGJsa2lkX2Rldm5vX3RvX3dob2xlZGlzazoKKyAqIEBkZXY6IGRldmljZSBudW1iZXIKKyAqIEBkaXNrbmFtZTogYnVmZmVyIHRvIHJldHVybiBkaXNrbmFtZSAob3IgTlVMTCkKKyAqIEBsZW46IGRpc2tuYW1lIGJ1ZmZlciBzaXplIChvciAwKQorICogQGRpc2tkZXZubzogcG9pbnRlciB0byByZXR1cm5zIGRldm5vIG9mIGVudGlyZSBkaXNrIChvciBOVUxMKQorICoKKyAqIFRoaXMgZnVuY3Rpb24gdXNlcyBzeXNmcyB0byBjb252ZXJ0IHRoZSBAZGV2bm8gZGV2aWNlIG51bWJlciB0byB0aGUgKm5hbWUqCisgKiBvZiB0aGUgd2hvbGUgZGlzay4gVGhlIGZ1bmN0aW9uIERPRVMgTk9UIHJldHVybiBmdWxsIGRldmljZSBuYW1lLiBUaGUgQGRldgorICogYXJndW1lbnQgY291bGQgYmUgcGFydGl0aW9uIG9yIHdob2xlIGRpc2sgLS0gYm90aCBpcyBjb252ZXJ0ZWQuCisgKgorICogRm9yIGV4YW1wbGU6IHNkYTEsIDB4MDgwMSAtLT4gc2RhLCAweDA4MDAKKyAqCisgKiBGb3IgY29udmVyc2lvbiB0byB0aGUgZnVsbCBkaXNrICpwYXRoKiB1c2UgYmxraWRfZGV2bm9fdG9fZGV2bmFtZSgpLCBmb3IKKyAqIGV4YW1wbGU6CisgKgorICogPGluZm9ybWFsZXhhbXBsZT4KKyAqICA8cHJvZ3JhbWxpc3Rpbmc+CisgKgorICoJZGV2X3QgZGV2ID0gMHgwODAxLCBkaXNrOwkJLy8gc2RhMSA9IDg6MQorICoJY2hhciAqZGlza3BhdGgsIGRpc2tuYW1lWzMyXTsKKyAqCisgKglibGtpZF9kZXZub190b193aG9sZWRpc2soZGV2LCBkaXNrbmFtZSwgc2l6ZW9mKGRpc2tuYW1lKSwgJmRpc2spOworICoJZGlza3BhdGggPSBibGtpZF9kZXZub190b19kZXZuYW1lKGRpc2spOworICoKKyAqCS8vIHByaW50ICIweDA4MDE6IHNkYSwgL2Rldi9zZGEsIDg6MAorICoJcHJpbnRmKCIweCV4OiAlcywgJXMsICVkOiVkXG4iLAorICoJCWRldiwgZGlza25hbWUsIGRpc2twYXRoLCBtYWpvcihkaXNrKSwgbWlub3IoZGlzaykpOworICoKKyAqCWZyZWUoZGlza3BhdGgpOworICoKKyAqICA8L3Byb2dyYW1saXN0aW5nPgorICogPC9pbmZvcm1hbGV4YW1wbGU+CisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBibGtpZF9kZXZub190b193aG9sZWRpc2soZGV2X3QgZGV2LCBjaGFyICpkaXNrbmFtZSwKKwkJCXNpemVfdCBsZW4sIGRldl90ICpkaXNrZGV2bm8pCit7CisJcmV0dXJuIHN5c2ZzX2Rldm5vX3RvX3dob2xlZGlzayggZGV2LCBkaXNrbmFtZSwgbGVuLCBkaXNrZGV2bm8pOworfQorCisvKgorICogUmV0dXJucyAxIGlmIHRoZSBAbWFqb3IgbnVtYmVyIGlzIGFzc29jaWF0ZWQgd2l0aCBAZHJ2bmFtZS4KKyAqLworaW50IGJsa2lkX2RyaXZlcl9oYXNfbWFqb3IoY29uc3QgY2hhciAqZHJ2bmFtZSwgaW50IGRydm1haikKK3sKKwlGSUxFICpmOworCWNoYXIgYnVmWzEyOF07CisJaW50IG1hdGNoID0gMDsKKworCWYgPSBmb3BlbihfUEFUSF9QUk9DX0RFVklDRVMsICJyIiBVTF9DTE9FWEVDU1RSKTsKKwlpZiAoIWYpCisJCXJldHVybiAwOworCisJd2hpbGUgKGZnZXRzKGJ1Ziwgc2l6ZW9mKGJ1ZiksIGYpKSB7CS8qIHNraXAgdG8gYmxvY2sgZGV2IHNlY3Rpb24gKi8KKwkJaWYgKHN0cm5jbXAoIkJsb2NrIGRldmljZXM6XG4iLCBidWYsIHNpemVvZihidWYpKSA9PSAwKQorCQkJYnJlYWs7CisJfQorCisJd2hpbGUgKGZnZXRzKGJ1Ziwgc2l6ZW9mKGJ1ZiksIGYpKSB7CisJCWludCBtYWo7CisJCWNoYXIgbmFtZVs2NCArIDFdOworCisJCWlmIChzc2NhbmYoYnVmLCAiJWQgJTY0W15cbiBdIiwgJm1haiwgbmFtZSkgIT0gMikKKwkJCWNvbnRpbnVlOworCisJCWlmIChtYWogPT0gZHJ2bWFqICYmIHN0cmNtcChuYW1lLCBkcnZuYW1lKSA9PSAwKSB7CisJCQltYXRjaCA9IDE7CisJCQlicmVhazsKKwkJfQorCX0KKworCWZjbG9zZShmKTsKKworCURCRyhERVZOTywgdWxfZGVidWcoIm1ham9yICVkICVzIGFzc29jaWF0ZWQgd2l0aCAnJXMnIGRyaXZlciIsCisJCQlkcnZtYWosIG1hdGNoID8gImlzIiA6ICJpcyBOT1QiLCBkcnZuYW1lKSk7CisJcmV0dXJuIG1hdGNoOworfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNCitpbnQgbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCit7CisJY2hhcgkqZGV2bmFtZSwgKnRtcDsKKwljaGFyCWRpc2tuYW1lW1BBVEhfTUFYXTsKKwlpbnQJZGV2bWFqLCBkZXZtaW47CisJZGV2X3QJZGV2bm8sIGRpc2tfZGV2bm87CisJY29uc3QgY2hhciAqZXJybXNnID0gIkNvdWxkbid0IHBhcnNlICVzOiAlc1xuIjsKKworCWJsa2lkX2luaXRfZGVidWcoQkxLSURfREVCVUdfQUxMKTsKKwlpZiAoKGFyZ2MgIT0gMikgJiYgKGFyZ2MgIT0gMykpIHsKKwkJZnByaW50ZihzdGRlcnIsICJVc2FnZTpcdCVzIGRldmljZV9udW1iZXJcblx0JXMgbWFqb3IgbWlub3JcbiIKKwkJCSJSZXNvbHZlIGEgZGV2aWNlIG51bWJlciB0byBhIGRldmljZSBuYW1lXG4iLAorCQkJYXJndlswXSwgYXJndlswXSk7CisJCWV4aXQoMSk7CisJfQorCWlmIChhcmdjID09IDIpIHsKKwkJZGV2bm8gPSBzdHJ0b3VsKGFyZ3ZbMV0sICZ0bXAsIDApOworCQlpZiAoKnRtcCkgeworCQkJZnByaW50ZihzdGRlcnIsIGVycm1zZywgImRldmljZSBudW1iZXIiLCBhcmd2WzFdKTsKKwkJCWV4aXQoMSk7CisJCX0KKwl9IGVsc2UgeworCQlkZXZtYWogPSBzdHJ0b3VsKGFyZ3ZbMV0sICZ0bXAsIDApOworCQlpZiAoKnRtcCkgeworCQkJZnByaW50ZihzdGRlcnIsIGVycm1zZywgIm1ham9yIG51bWJlciIsIGFyZ3ZbMV0pOworCQkJZXhpdCgxKTsKKwkJfQorCQlkZXZtaW4gPSBzdHJ0b3VsKGFyZ3ZbMl0sICZ0bXAsIDApOworCQlpZiAoKnRtcCkgeworCQkJZnByaW50ZihzdGRlcnIsIGVycm1zZywgIm1pbm9yIG51bWJlciIsIGFyZ3ZbMl0pOworCQkJZXhpdCgxKTsKKwkJfQorCQlkZXZubyA9IG1ha2VkZXYoZGV2bWFqLCBkZXZtaW4pOworCX0KKwlwcmludGYoIkxvb2tpbmcgZm9yIGRldmljZSAweCUwNGxseFxuIiwgKGxvbmcgbG9uZylkZXZubyk7CisJZGV2bmFtZSA9IGJsa2lkX2Rldm5vX3RvX2Rldm5hbWUoZGV2bm8pOworCWZyZWUoZGV2bmFtZSk7CisKKwlwcmludGYoIkxvb2tpbmcgZm9yIHdob2xlLWRldmljZSBmb3IgMHglMDRsbHhcbiIsIChsb25nIGxvbmcpZGV2bm8pOworCWlmIChibGtpZF9kZXZub190b193aG9sZWRpc2soZGV2bm8sIGRpc2tuYW1lLAorCQkJCXNpemVvZihkaXNrbmFtZSksICZkaXNrX2Rldm5vKSA9PSAwKQorCQlwcmludGYoImZvdW5kIGRldm5vIDB4JTA0bGx4IGFzIC9kZXYvJXNcbiIsIChsb25nIGxvbmcpIGRpc2tfZGV2bm8sIGRpc2tuYW1lKTsKKworCXJldHVybiAwOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvZW5jb2RlLmMgYi9saWJibGtpZC9zcmMvZW5jb2RlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjViNDM2MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9lbmNvZGUuYwpAQCAtMCwwICsxLDM0NiBAQAorCisvKgorICogZW5jb2RlLmMgLSBzdHJpbmcgY29udmVyc2lvbiByb3V0aW5lcyAobW9zdGx5IGZvciBjb21wYXRpYmlsaXR5IHdpdGgKKyAqICAgICAgICAgICAgdWRldi92b2x1bWVfaWQpCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEtheSBTaWV2ZXJzIDxrYXkuc2lldmVyc0B2cmZ5Lm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRkZWYuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisKKyNpbmNsdWRlICJibGtpZFAuaCIKKworI2RlZmluZSBVREVWX0FMTE9XRURfQ0hBUlNfSU5QVVQgICAgICAgICAgICAgICAiLyAkJT8sIgorCisvKioKKyAqIFNFQ1RJT046IGVuY29kZQorICogQHRpdGxlOiBFbmNvZGluZyB1dGlscworICogQHNob3J0X2Rlc2NyaXB0aW9uOiBlbmNvZGUgc3RyaW5ncyB0byBzYWZlIHVkZXYtY29tcGF0aWJsZSBmb3JtYXRzCisgKgorICovCisKKy8qIGNvdW50IG9mIGNoYXJhY3RlcnMgdXNlZCB0byBlbmNvZGUgb25lIHVuaWNvZGUgY2hhciAqLworc3RhdGljIGludCB1dGY4X2VuY29kZWRfZXhwZWN0ZWRfbGVuKGNvbnN0IGNoYXIgKnN0cikKK3sKKwl1bnNpZ25lZCBjaGFyIGMgPSAodW5zaWduZWQgY2hhcilzdHJbMF07CisKKwlpZiAoYyA8IDB4ODApCisJCXJldHVybiAxOworCWlmICgoYyAmIDB4ZTApID09IDB4YzApCisJCXJldHVybiAyOworCWlmICgoYyAmIDB4ZjApID09IDB4ZTApCisJCXJldHVybiAzOworCWlmICgoYyAmIDB4ZjgpID09IDB4ZjApCisJCXJldHVybiA0OworCWlmICgoYyAmIDB4ZmMpID09IDB4ZjgpCisJCXJldHVybiA1OworCWlmICgoYyAmIDB4ZmUpID09IDB4ZmMpCisJCXJldHVybiA2OworCXJldHVybiAwOworfQorCisvKiBkZWNvZGUgb25lIHVuaWNvZGUgY2hhciAqLworc3RhdGljIGludCB1dGY4X2VuY29kZWRfdG9fdW5pY2hhcihjb25zdCBjaGFyICpzdHIpCit7CisJaW50IHVuaWNoYXI7CisJaW50IGxlbjsKKwlpbnQgaTsKKworCWxlbiA9IHV0ZjhfZW5jb2RlZF9leHBlY3RlZF9sZW4oc3RyKTsKKwlzd2l0Y2ggKGxlbikgeworCWNhc2UgMToKKwkJcmV0dXJuIChpbnQpc3RyWzBdOworCWNhc2UgMjoKKwkJdW5pY2hhciA9IHN0clswXSAmIDB4MWY7CisJCWJyZWFrOworCWNhc2UgMzoKKwkJdW5pY2hhciA9IChpbnQpc3RyWzBdICYgMHgwZjsKKwkJYnJlYWs7CisJY2FzZSA0OgorCQl1bmljaGFyID0gKGludClzdHJbMF0gJiAweDA3OworCQlicmVhazsKKwljYXNlIDU6CisJCXVuaWNoYXIgPSAoaW50KXN0clswXSAmIDB4MDM7CisJCWJyZWFrOworCWNhc2UgNjoKKwkJdW5pY2hhciA9IChpbnQpc3RyWzBdICYgMHgwMTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC0xOworCX0KKworCWZvciAoaSA9IDE7IGkgPCBsZW47IGkrKykgeworCQlpZiAoKChpbnQpc3RyW2ldICYgMHhjMCkgIT0gMHg4MCkKKwkJCXJldHVybiAtMTsKKwkJdW5pY2hhciA8PD0gNjsKKwkJdW5pY2hhciB8PSAoaW50KXN0cltpXSAmIDB4M2Y7CisJfQorCisJcmV0dXJuIHVuaWNoYXI7Cit9CisKKy8qIGV4cGVjdGVkIHNpemUgdXNlZCB0byBlbmNvZGUgb25lIHVuaWNvZGUgY2hhciAqLworc3RhdGljIGludCB1dGY4X3VuaWNoYXJfdG9fZW5jb2RlZF9sZW4oaW50IHVuaWNoYXIpCit7CisJaWYgKHVuaWNoYXIgPCAweDgwKQorCQlyZXR1cm4gMTsKKwlpZiAodW5pY2hhciA8IDB4ODAwKQorCQlyZXR1cm4gMjsKKwlpZiAodW5pY2hhciA8IDB4MTAwMDApCisJCXJldHVybiAzOworCWlmICh1bmljaGFyIDwgMHgyMDAwMDApCisJCXJldHVybiA0OworCWlmICh1bmljaGFyIDwgMHg0MDAwMDAwKQorCQlyZXR1cm4gNTsKKwlyZXR1cm4gNjsKK30KKworLyogY2hlY2sgaWYgdW5pY29kZSBjaGFyIGhhcyBhIHZhbGlkIG51bWVyaWMgcmFuZ2UgKi8KK3N0YXRpYyBpbnQgdXRmOF91bmljaGFyX3ZhbGlkX3JhbmdlKGludCB1bmljaGFyKQoreworCWlmICh1bmljaGFyID4gMHgxMGZmZmYpCisJCXJldHVybiAwOworCWlmICgodW5pY2hhciAmIDB4ZmZmZmY4MDApID09IDB4ZDgwMCkKKwkJcmV0dXJuIDA7CisJaWYgKCh1bmljaGFyID4gMHhmZGNmKSAmJiAodW5pY2hhciA8IDB4ZmRmMCkpCisJCXJldHVybiAwOworCWlmICgodW5pY2hhciAmIDB4ZmZmZikgPT0gMHhmZmZmKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gMTsKK30KKworLyogdmFsaWRhdGUgb25lIGVuY29kZWQgdW5pY29kZSBjaGFyIGFuZCByZXR1cm4gaXRzIGxlbmd0aCAqLworc3RhdGljIGludCB1dGY4X2VuY29kZWRfdmFsaWRfdW5pY2hhcihjb25zdCBjaGFyICpzdHIpCit7CisJaW50IGxlbjsKKwlpbnQgdW5pY2hhcjsKKwlpbnQgaTsKKworCWxlbiA9IHV0ZjhfZW5jb2RlZF9leHBlY3RlZF9sZW4oc3RyKTsKKwlpZiAobGVuID09IDApCisJCXJldHVybiAtMTsKKworCS8qIGFzY2lpIGlzIHZhbGlkICovCisJaWYgKGxlbiA9PSAxKQorCQlyZXR1cm4gMTsKKworCS8qIGNoZWNrIGlmIGV4cGVjdGVkIGVuY29kZWQgY2hhcnMgYXJlIGF2YWlsYWJsZSAqLworCWZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykKKwkJaWYgKChzdHJbaV0gJiAweDgwKSAhPSAweDgwKQorCQkJcmV0dXJuIC0xOworCisJdW5pY2hhciA9IHV0ZjhfZW5jb2RlZF90b191bmljaGFyKHN0cik7CisKKwkvKiBjaGVjayBpZiBlbmNvZGVkIGxlbmd0aCBtYXRjaGVzIGVuY29kZWQgdmFsdWUgKi8KKwlpZiAodXRmOF91bmljaGFyX3RvX2VuY29kZWRfbGVuKHVuaWNoYXIpICE9IGxlbikKKwkJcmV0dXJuIC0xOworCisJLyogY2hlY2sgaWYgdmFsdWUgaGFzIHZhbGlkIHJhbmdlICovCisJaWYgKCF1dGY4X3VuaWNoYXJfdmFsaWRfcmFuZ2UodW5pY2hhcikpCisJCXJldHVybiAtMTsKKworCXJldHVybiBsZW47Cit9CisKK3N0YXRpYyBpbnQgcmVwbGFjZV93aGl0ZXNwYWNlKGNvbnN0IGNoYXIgKnN0ciwgY2hhciAqdG8sIHNpemVfdCBsZW4pCit7CisJc2l6ZV90IGksIGo7CisKKwkvKiBzdHJpcCB0cmFpbGluZyB3aGl0ZXNwYWNlICovCisJbGVuID0gc3RybmxlbihzdHIsIGxlbik7CisJd2hpbGUgKGxlbiAmJiBpc3NwYWNlKHN0cltsZW4tMV0pKQorCQlsZW4tLTsKKworCS8qIHN0cmlwIGxlYWRpbmcgd2hpdGVzcGFjZSAqLworCWkgPSAwOworCXdoaWxlICgoaSA8IGxlbikgJiYgaXNzcGFjZShzdHJbaV0pKQorCQlpKys7CisKKwlqID0gMDsKKwl3aGlsZSAoaSA8IGxlbikgeworCQkvKiBzdWJzdGl0dXRlIG11bHRpcGxlIHdoaXRlc3BhY2Ugd2l0aCBhIHNpbmdsZSAnXycgKi8KKwkJaWYgKGlzc3BhY2Uoc3RyW2ldKSkgeworCQkJd2hpbGUgKGlzc3BhY2Uoc3RyW2ldKSkKKwkJCQlpKys7CisJCQl0b1tqKytdID0gJ18nOworCQl9CisJCXRvW2orK10gPSBzdHJbaSsrXTsKKwl9CisJdG9bal0gPSAnXDAnOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGlzX3doaXRlbGlzdGVkKGNoYXIgYywgY29uc3QgY2hhciAqd2hpdGUpCit7CisJaWYgKChjID49ICcwJyAmJiBjIDw9ICc5JykgfHwKKwkgICAgKGMgPj0gJ0EnICYmIGMgPD0gJ1onKSB8fAorCSAgICAoYyA+PSAnYScgJiYgYyA8PSAneicpIHx8CisJICAgIHN0cmNocigiIystLjo9QF8iLCBjKSAhPSBOVUxMIHx8CisJICAgICh3aGl0ZSAhPSBOVUxMICYmIHN0cmNocih3aGl0ZSwgYykgIT0gTlVMTCkpCisJCXJldHVybiAxOworCXJldHVybiAwOworfQorCisvKiBhbGxvdyBjaGFycyBpbiB3aGl0ZWxpc3QsIHBsYWluIGFzY2lpLCBoZXgtZXNjYXBpbmcgYW5kIHZhbGlkIHV0ZjggKi8KK3N0YXRpYyBpbnQgcmVwbGFjZV9jaGFycyhjaGFyICpzdHIsIGNvbnN0IGNoYXIgKndoaXRlKQoreworCXNpemVfdCBpID0gMDsKKwlpbnQgcmVwbGFjZWQgPSAwOworCisJd2hpbGUgKHN0cltpXSAhPSAnXDAnKSB7CisJCWludCBsZW47CisKKwkJaWYgKGlzX3doaXRlbGlzdGVkKHN0cltpXSwgd2hpdGUpKSB7CisJCQlpKys7CisJCQljb250aW51ZTsKKwkJfQorCisJCS8qIGFjY2VwdCBoZXggZW5jb2RpbmcgKi8KKwkJaWYgKHN0cltpXSA9PSAnXFwnICYmIHN0cltpKzFdID09ICd4JykgeworCQkJaSArPSAyOworCQkJY29udGludWU7CisJCX0KKworCQkvKiBhY2NlcHQgdmFsaWQgdXRmOCAqLworCQlsZW4gPSB1dGY4X2VuY29kZWRfdmFsaWRfdW5pY2hhcigmc3RyW2ldKTsKKwkJaWYgKGxlbiA+IDEpIHsKKwkJCWkgKz0gbGVuOworCQkJY29udGludWU7CisJCX0KKworCQkvKiBpZiBzcGFjZSBpcyBhbGxvd2VkLCByZXBsYWNlIHdoaXRlc3BhY2Ugd2l0aCBvcmRpbmFyeSBzcGFjZSAqLworCQlpZiAoaXNzcGFjZShzdHJbaV0pICYmIHdoaXRlICE9IE5VTEwgJiYgc3RyY2hyKHdoaXRlLCAnICcpICE9IE5VTEwpIHsKKwkJCXN0cltpXSA9ICcgJzsKKwkJCWkrKzsKKwkJCXJlcGxhY2VkKys7CisJCQljb250aW51ZTsKKwkJfQorCisJCS8qIGV2ZXJ5dGhpbmcgZWxzZSBpcyByZXBsYWNlZCB3aXRoICdfJyAqLworCQlzdHJbaV0gPSAnXyc7CisJCWkrKzsKKwkJcmVwbGFjZWQrKzsKKwl9CisJcmV0dXJuIHJlcGxhY2VkOworfQorCitzaXplX3QgYmxraWRfZW5jb2RlX3RvX3V0ZjgoaW50IGVuYywgdW5zaWduZWQgY2hhciAqZGVzdCwgc2l6ZV90IGxlbiwKKwkJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnNyYywgc2l6ZV90IGNvdW50KQoreworCXNpemVfdCBpLCBqOworCXVpbnQxNl90IGM7CisKKwlmb3IgKGogPSBpID0gMDsgaSArIDIgPD0gY291bnQ7IGkgKz0gMikgeworCQlpZiAoZW5jID09IEJMS0lEX0VOQ19VVEYxNkxFKQorCQkJYyA9IChzcmNbaSsxXSA8PCA4KSB8IHNyY1tpXTsKKwkJZWxzZSAvKiBCTEtJRF9FTkNfVVRGMTZCRSAqLworCQkJYyA9IChzcmNbaV0gPDwgOCkgfCBzcmNbaSsxXTsKKwkJaWYgKGMgPT0gMCkgeworCQkJZGVzdFtqXSA9ICdcMCc7CisJCQlicmVhazsKKwkJfSBlbHNlIGlmIChjIDwgMHg4MCkgeworCQkJaWYgKGorMSA+PSBsZW4pCisJCQkJYnJlYWs7CisJCQlkZXN0W2orK10gPSAodWludDhfdCkgYzsKKwkJfSBlbHNlIGlmIChjIDwgMHg4MDApIHsKKwkJCWlmIChqKzIgPj0gbGVuKQorCQkJCWJyZWFrOworCQkJZGVzdFtqKytdID0gKHVpbnQ4X3QpICgweGMwIHwgKGMgPj4gNikpOworCQkJZGVzdFtqKytdID0gKHVpbnQ4X3QpICgweDgwIHwgKGMgJiAweDNmKSk7CisJCX0gZWxzZSB7CisJCQlpZiAoaiszID49IGxlbikKKwkJCQlicmVhazsKKwkJCWRlc3RbaisrXSA9ICh1aW50OF90KSAoMHhlMCB8IChjID4+IDEyKSk7CisJCQlkZXN0W2orK10gPSAodWludDhfdCkgKDB4ODAgfCAoKGMgPj4gNikgJiAweDNmKSk7CisJCQlkZXN0W2orK10gPSAodWludDhfdCkgKDB4ODAgfCAoYyAmIDB4M2YpKTsKKwkJfQorCX0KKwlkZXN0W2pdID0gJ1wwJzsKKwlyZXR1cm4gajsKK30KKwordW5zaWduZWQgY2hhciAqYmxraWRfZW5jb2RlX2FsbG9jKHNpemVfdCBjb3VudCwgc2l6ZV90ICpyZXNsZW4pCit7CisJKnJlc2xlbiA9IChjb3VudCAqIDMpICsgMTsKKwlyZXR1cm4gY2FsbG9jKDEsICpyZXNsZW4pOworfQorCisvKioKKyAqIGJsa2lkX2VuY29kZV9zdHJpbmc6CisgKiBAc3RyOiBpbnB1dCBzdHJpbmcgdG8gYmUgZW5jb2RlZAorICogQHN0cl9lbmM6IG91dHB1dCBzdHJpbmcgdG8gc3RvcmUgdGhlIGVuY29kZWQgaW5wdXQgc3RyaW5nCisgKiBAbGVuOiBtYXhpbXVtIHNpemUgb2YgdGhlIG91dHB1dCBzdHJpbmcsIHdoaWNoIG1heSBiZQorICogICAgICAgZm91ciB0aW1lcyBhcyBsb25nIGFzIHRoZSBpbnB1dCBzdHJpbmcKKyAqCisgKiBFbmNvZGUgYWxsIHBvdGVudGlhbGx5IHVuc2FmZSBjaGFyYWN0ZXJzIG9mIGEgc3RyaW5nIHRvIHRoZQorICogY29ycmVzcG9uZGluZyBoZXggdmFsdWUgcHJlZml4ZWQgYnkgJ1x4Jy4KKyAqCisgKiBSZXR1cm5zOiAwIGlmIHRoZSBlbnRpcmUgc3RyaW5nIHdhcyBjb3BpZWQsIG5vbi16ZXJvIG90aGVyd2lzZS4KKyAqKi8KK2ludCBibGtpZF9lbmNvZGVfc3RyaW5nKGNvbnN0IGNoYXIgKnN0ciwgY2hhciAqc3RyX2VuYywgc2l6ZV90IGxlbikKK3sKKwlzaXplX3QgaSwgajsKKworCWlmICghc3RyIHx8ICFzdHJfZW5jIHx8ICFsZW4pCisJCXJldHVybiAtMTsKKworCWZvciAoaSA9IDAsIGogPSAwOyBzdHJbaV0gIT0gJ1wwJzsgaSsrKSB7CisJCWludCBzZXFsZW47CisKKwkJc2VxbGVuID0gdXRmOF9lbmNvZGVkX3ZhbGlkX3VuaWNoYXIoJnN0cltpXSk7CisJCWlmIChzZXFsZW4gPiAxKSB7CisJCQlpZiAobGVuLWogPCAoc2l6ZV90KXNlcWxlbikKKwkJCQlnb3RvIGVycjsKKwkJCW1lbWNweSgmc3RyX2VuY1tqXSwgJnN0cltpXSwgc2VxbGVuKTsKKwkJCWogKz0gc2VxbGVuOworCQkJaSArPSAoc2VxbGVuLTEpOworCQl9IGVsc2UgaWYgKHN0cltpXSA9PSAnXFwnIHx8ICFpc193aGl0ZWxpc3RlZChzdHJbaV0sIE5VTEwpKSB7CisJCQlpZiAobGVuLWogPCA0KQorCQkJCWdvdG8gZXJyOworCQkJc3ByaW50Zigmc3RyX2VuY1tqXSwgIlxceCUwMngiLCAodW5zaWduZWQgY2hhcikgc3RyW2ldKTsKKwkJCWogKz0gNDsKKwkJfSBlbHNlIHsKKwkJCWlmIChsZW4taiA8IDEpCisJCQkJZ290byBlcnI7CisJCQlzdHJfZW5jW2pdID0gc3RyW2ldOworCQkJaisrOworCQl9CisJCWlmIChqKzMgPj0gbGVuKQorCQkJZ290byBlcnI7CisJfQorCWlmIChsZW4taiA8IDEpCisJCWdvdG8gZXJyOworCXN0cl9lbmNbal0gPSAnXDAnOworCXJldHVybiAwOworZXJyOgorCXJldHVybiAtMTsKK30KKworLyoqCisgKiBibGtpZF9zYWZlX3N0cmluZzoKKyAqIEBzdHI6IGlucHV0IHN0cmluZworICogQHN0cl9zYWZlOiBvdXRwdXQgc3RyaW5nCisgKiBAbGVuOiBzaXplIG9mIG91dHB1dCBzdHJpbmcKKyAqCisgKiBBbGxvd3MgcGxhaW4gYXNjaWksIGhleC1lc2NhcGluZyBhbmQgdmFsaWQgdXRmOC4gUmVwbGFjZXMgYWxsIHdoaXRlc3BhY2VzCisgKiB3aXRoICdfJy4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IGJsa2lkX3NhZmVfc3RyaW5nKGNvbnN0IGNoYXIgKnN0ciwgY2hhciAqc3RyX3NhZmUsIHNpemVfdCBsZW4pCit7CisJaWYgKCFzdHIgfHwgIXN0cl9zYWZlIHx8ICFsZW4pCisJCXJldHVybiAtMTsKKwlyZXBsYWNlX3doaXRlc3BhY2Uoc3RyLCBzdHJfc2FmZSwgbGVuKTsKKwlyZXBsYWNlX2NoYXJzKHN0cl9zYWZlLCBVREVWX0FMTE9XRURfQ0hBUlNfSU5QVVQpOworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL2V2YWx1YXRlLmMgYi9saWJibGtpZC9zcmMvZXZhbHVhdGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MWU1YjA1Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL2V2YWx1YXRlLmMKQEAgLTAsMCArMSwzMjMgQEAKKy8qCisgKiBldmFsdWF0ZS5jIC0gdmVyeSBoaWdoLWxldmVsIEFQSSB0byBldmFsdWF0ZSBMQUJFTHMgb3IgVVVJRHMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX0VSUk5PX0gKKyNpbmNsdWRlIDxlcnJuby5oPgorI2VuZGlmCisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8c3RkYXJnLmg+CisKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJjYW5vbmljYWxpemUuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCisjaW5jbHVkZSAiYmxraWRQLmgiCisKKy8qKgorICogU0VDVElPTjpldmFsdWF0ZQorICogQHRpdGxlOiBUYWdzIGFuZCBTcGVjIGV2YWx1YXRpb24KKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogdG9wLWxldmVsIEFQSSBmb3IgTEFCRUwgYW5kIFVVSUQgZXZhbHVhdGlvbi4KKyAqCisgKiBUaGlzIEFQSSBwcm92aWRlcyB2ZXJ5IHNpbXBsZSBhbmQgcG9ydGFibGUgd2F5IGhvdyBldmFsdWF0ZSBMQUJFTCBhbmQgVVVJRAorICogdGFncy4gIFRoZSBibGtpZF9ldmFsdWF0ZV90YWcoKSBhbmQgYmxraWRfZXZhbHVhdGVfc3BlYygpIHdvcmsgb24gMi40IGFuZAorICogMi42IHN5c3RlbXMgYW5kIG9uIHN5c3RlbXMgd2l0aCBvciB3aXRob3V0IHVkZXYuIEN1cnJlbnRseSwgdGhlIGxpYmJsa2lkCisgKiBsaWJyYXJ5IHN1cHBvcnRzICJ1ZGV2IiBhbmQgInNjYW4iIG1ldGhvZHMuIFRoZSAidWRldiIgbWV0aG9kIHVzZXMgdWRldgorICogL2Rldi9kaXNrL2J5LSogc3ltbGlua3MgYW5kIHRoZSAic2NhbiIgbWV0aG9kIHNjYW5zIGFsbCBibG9jayBkZXZpY2VzIGZyb20KKyAqIHRoZSAvcHJvYy9wYXJ0aXRpb25zIGZpbGUuIFRoZSBldmFsdWF0aW9uIGNvdWxkIGJlIGNvbnRyb2xsZWQgYnkgdGhlCisgKiAvZXRjL2Jsa2lkLmNvbmYgY29uZmlnIGZpbGUuIFRoZSBkZWZhdWx0IGlzIHRvIHRyeSAidWRldiIgYW5kIHRoZW4gInNjYW4iCisgKiBtZXRob2QuCisgKgorICogVGhlIGJsa2lkX2V2YWx1YXRlX3RhZygpIGFsc28gYXV0b21hdGljYWxseSBpbmZvcm1zIHVkZXZkIHdoZW4gYW4gb2Jzb2xldGUKKyAqIC9kZXYvZGlzay9ieS0qIHN5bWxpbmsgaXMgZGV0ZWN0ZWQuCisgKgorICogSWYgeW91IGFyZSBub3Qgc3VyZSBob3cgdHJhbnNsYXRlIExBQkVMIG9yIFVVSUQgdG8gdGhlIGRldmljZSBuYW1lIHVzZSB0aGlzCisgKiBBUEkuCisgKi8KKworI2lmZGVmIENPTkZJR19CTEtJRF9WRVJJRllfVURFVgorLyogcmV0dXJucyB6ZXJvIHdoZW4gdGhlIGRldmljZSBoYXMgTkFNRT12YWx1ZSAoTEFCRUwvVVVJRCkgKi8KK3N0YXRpYyBpbnQgdmVyaWZ5X3RhZyhjb25zdCBjaGFyICpkZXZuYW1lLCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICp2YWx1ZSkKK3sKKwlibGtpZF9wcm9iZSBwcjsKKwlpbnQgZmQgPSAtMSwgcmMgPSAtMTsKKwlzaXplX3QgbGVuOworCWNvbnN0IGNoYXIgKmRhdGE7CisJaW50IGVycnN2ID0gMDsKKworCXByID0gYmxraWRfbmV3X3Byb2JlKCk7CisJaWYgKCFwcikKKwkJcmV0dXJuIC0xOworCisJYmxraWRfcHJvYmVfZW5hYmxlX3N1cGVyYmxvY2tzKHByLCBUUlVFKTsKKwlibGtpZF9wcm9iZV9zZXRfc3VwZXJibG9ja3NfZmxhZ3MocHIsCisJCQlCTEtJRF9TVUJMS1NfTEFCRUwgfCBCTEtJRF9TVUJMS1NfVVVJRCk7CisKKwlibGtpZF9wcm9iZV9lbmFibGVfcGFydGl0aW9ucyhwciwgVFJVRSk7CisJYmxraWRfcHJvYmVfc2V0X3BhcnRpdGlvbnNfZmxhZ3MocHIsIEJMS0lEX1BBUlRTX0VOVFJZX0RFVEFJTFMpOworCisJZmQgPSBvcGVuKGRldm5hbWUsIE9fUkRPTkxZfE9fQ0xPRVhFQyk7CisJaWYgKGZkIDwgMCkgeworCQllcnJzdiA9IGVycm5vOworCQlnb3RvIGRvbmU7CisJfQorCWlmIChibGtpZF9wcm9iZV9zZXRfZGV2aWNlKHByLCBmZCwgMCwgMCkpCisJCWdvdG8gZG9uZTsKKwlyYyA9IGJsa2lkX2RvX3NhZmVwcm9iZShwcik7CisJaWYgKHJjKQorCQlnb3RvIGRvbmU7CisJcmMgPSBibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsIG5hbWUsICZkYXRhLCAmbGVuKTsKKwlpZiAoIXJjKQorCQlyYyA9IG1lbWNtcCh2YWx1ZSwgZGF0YSwgbGVuKTsKK2RvbmU6CisJREJHKEVWQUxVQVRFLCB1bF9kZWJ1ZygiJXM6ICVzIHZlcmlmaWNhdGlvbiAlcyIsCisJCQlkZXZuYW1lLCBuYW1lLCByYyA9PSAwID8gIlBBU1MiIDogIkZBSUxFRCIpKTsKKwlpZiAoZmQgPj0gMCkKKwkJY2xvc2UoZmQpOworCWJsa2lkX2ZyZWVfcHJvYmUocHIpOworCisJLyogZm9yIG5vbi1yb290IHVzZXJzIHdlIHVzZSB1bnZlcmlmaWVkIHVkZXYgbGlua3MgKi8KKwlyZXR1cm4gZXJyc3YgPT0gRUFDQ0VTID8gMCA6IHJjOworfQorI2VuZGlmIC8qIENPTkZJR19CTEtJRF9WRVJJRllfVURFViovCisKKy8qKgorICogYmxraWRfc2VuZF91ZXZlbnQ6CisgKiBAZGV2bmFtZTogYWJzb2x1dGUgcGF0aCB0byB0aGUgZGV2aWNlCisgKiBAYWN0aW9uOiBldmVudCBzdHJpbmcKKyAqCisgKiBSZXR1cm5zOiAtMSBpbiBjYXNlIG9mIGZhaWx1cmUsIG9yIDAgb24gc3VjY2Vzcy4KKyAqLworaW50IGJsa2lkX3NlbmRfdWV2ZW50KGNvbnN0IGNoYXIgKmRldm5hbWUsIGNvbnN0IGNoYXIgKmFjdGlvbikKK3sKKwljaGFyIHVldmVudFtQQVRIX01BWF07CisJc3RydWN0IHN0YXQgc3Q7CisJRklMRSAqZjsKKwlpbnQgcmMgPSAtMTsKKworCURCRyhFVkFMVUFURSwgdWxfZGVidWcoIiVzOiB1ZXZlbnQgJyVzJyByZXF1ZXN0ZWQiLCBkZXZuYW1lLCBhY3Rpb24pKTsKKworCWlmICghZGV2bmFtZSB8fCAhYWN0aW9uKQorCQlyZXR1cm4gLTE7CisJaWYgKHN0YXQoZGV2bmFtZSwgJnN0KSB8fCAhU19JU0JMSyhzdC5zdF9tb2RlKSkKKwkJcmV0dXJuIC0xOworCisJc25wcmludGYodWV2ZW50LCBzaXplb2YodWV2ZW50KSwgIi9zeXMvZGV2L2Jsb2NrLyVkOiVkL3VldmVudCIsCisJCQltYWpvcihzdC5zdF9yZGV2KSwgbWlub3Ioc3Quc3RfcmRldikpOworCisJZiA9IGZvcGVuKHVldmVudCwgInciIFVMX0NMT0VYRUNTVFIpOworCWlmIChmKSB7CisJCXJjID0gMDsKKwkJaWYgKGZwdXRzKGFjdGlvbiwgZikgPj0gMCkKKwkJCXJjID0gMDsKKwkJaWYgKGNsb3NlX3N0cmVhbShmKSAhPSAwKQorCQkJREJHKEVWQUxVQVRFLCB1bF9kZWJ1Zygid3JpdGUgZmFpbGVkOiAlcyIsIHVldmVudCkpOworCX0KKwlEQkcoRVZBTFVBVEUsIHVsX2RlYnVnKCIlczogc2VuZCB1ZXZlbnQgJXMiLAorCQkJdWV2ZW50LCByYyA9PSAwID8gIlNVQ0NFU1MiIDogIkZBSUxFRCIpKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBjaGFyICpldmFsdWF0ZV9ieV91ZGV2KGNvbnN0IGNoYXIgKnRva2VuLCBjb25zdCBjaGFyICp2YWx1ZSwgaW50IHVldmVudCkKK3sKKwljaGFyIGRldltQQVRIX01BWF07CisJY2hhciAqcGF0aCA9IE5VTEw7CisJc2l6ZV90IGxlbjsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKworCURCRyhFVkFMVUFURSwgdWxfZGVidWcoImV2YWx1YXRpbmcgYnkgdWRldiAlcz0lcyIsIHRva2VuLCB2YWx1ZSkpOworCisJaWYgKCFzdHJjbXAodG9rZW4sICJVVUlEIikpCisJCXN0cmNweShkZXYsIF9QQVRIX0RFVl9CWVVVSUQgIi8iKTsKKwllbHNlIGlmICghc3RyY21wKHRva2VuLCAiTEFCRUwiKSkKKwkJc3RyY3B5KGRldiwgX1BBVEhfREVWX0JZTEFCRUwgIi8iKTsKKwllbHNlIGlmICghc3RyY21wKHRva2VuLCAiUEFSVExBQkVMIikpCisJCXN0cmNweShkZXYsIF9QQVRIX0RFVl9CWVBBUlRMQUJFTCAiLyIpOworCWVsc2UgaWYgKCFzdHJjbXAodG9rZW4sICJQQVJUVVVJRCIpKQorCQlzdHJjcHkoZGV2LCBfUEFUSF9ERVZfQllQQVJUVVVJRCAiLyIpOworCWVsc2UgeworCQlEQkcoRVZBTFVBVEUsIHVsX2RlYnVnKCJ1bnN1cHBvcnRlZCB0b2tlbiAlcyIsIHRva2VuKSk7CisJCXJldHVybiBOVUxMOwkvKiB1bnN1cHBvcnRlZCB0YWcgKi8KKwl9CisKKwlsZW4gPSBzdHJsZW4oZGV2KTsKKwlpZiAoYmxraWRfZW5jb2RlX3N0cmluZyh2YWx1ZSwgJmRldltsZW5dLCBzaXplb2YoZGV2KSAtIGxlbikgIT0gMCkKKwkJcmV0dXJuIE5VTEw7CisKKwlEQkcoRVZBTFVBVEUsIHVsX2RlYnVnKCJleHBlY3RlZCB1ZGV2IGxpbms6ICVzIiwgZGV2KSk7CisKKwlpZiAoc3RhdChkZXYsICZzdCkpCisJCWdvdG8gZmFpbGVkOwkvKiBsaW5rIG9yIGRldmljZSBkb2VzIG5vdCBleGlzdCAqLworCisJaWYgKCFTX0lTQkxLKHN0LnN0X21vZGUpKQorCQlyZXR1cm4gTlVMTDsKKworCXBhdGggPSBjYW5vbmljYWxpemVfcGF0aChkZXYpOworCWlmICghcGF0aCkKKwkJcmV0dXJuIE5VTEw7CisKKyNpZmRlZiBDT05GSUdfQkxLSURfVkVSSUZZX1VERVYKKwlpZiAodmVyaWZ5X3RhZyhwYXRoLCB0b2tlbiwgdmFsdWUpKQorCQlnb3RvIGZhaWxlZDsKKyNlbmRpZgorCXJldHVybiBwYXRoOworCitmYWlsZWQ6CisJREJHKEVWQUxVQVRFLCB1bF9kZWJ1ZygiZmFpbGVkIHRvIGV2YWx1YXRlIGJ5IHVkZXYiKSk7CisKKwlpZiAodWV2ZW50ICYmIHBhdGgpCisJCWJsa2lkX3NlbmRfdWV2ZW50KHBhdGgsICJjaGFuZ2UiKTsKKwlmcmVlKHBhdGgpOworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgY2hhciAqZXZhbHVhdGVfYnlfc2Nhbihjb25zdCBjaGFyICp0b2tlbiwgY29uc3QgY2hhciAqdmFsdWUsCisJCWJsa2lkX2NhY2hlICpjYWNoZSwgc3RydWN0IGJsa2lkX2NvbmZpZyAqY29uZikKK3sKKwlibGtpZF9jYWNoZSBjID0gY2FjaGUgPyAqY2FjaGUgOiBOVUxMOworCWNoYXIgKnJlczsKKworCURCRyhFVkFMVUFURSwgdWxfZGVidWcoImV2YWx1YXRpbmcgYnkgYmxraWQgc2NhbiAlcz0lcyIsIHRva2VuLCB2YWx1ZSkpOworCisJaWYgKCFjKSB7CisJCWNoYXIgKmNhY2hlZmlsZSA9IGJsa2lkX2dldF9jYWNoZV9maWxlbmFtZShjb25mKTsKKwkJYmxraWRfZ2V0X2NhY2hlKCZjLCBjYWNoZWZpbGUpOworCQlmcmVlKGNhY2hlZmlsZSk7CisJfQorCWlmICghYykKKwkJcmV0dXJuIE5VTEw7CisKKwlyZXMgPSBibGtpZF9nZXRfZGV2bmFtZShjLCB0b2tlbiwgdmFsdWUpOworCisJaWYgKGNhY2hlKQorCQkqY2FjaGUgPSBjOworCWVsc2UKKwkJYmxraWRfcHV0X2NhY2hlKGMpOworCisJcmV0dXJuIHJlczsKK30KKworLyoqCisgKiBibGtpZF9ldmFsdWF0ZV90YWc6CisgKiBAdG9rZW46IHRva2VuIG5hbWUgKGUuZyAiTEFCRUwiIG9yICJVVUlEIikgb3IgdW5wYXJzZWQgdGFnIChlLmcuICJMQUJFTD1mb28iKQorICogQHZhbHVlOiB0b2tlbiBkYXRhIChlLmcuICJmb28iKQorICogQGNhY2hlOiBwb2ludGVyIHRvIGNhY2hlIChvciBOVUxMIHdoZW4geW91IGRvbid0IHdhbnQgdG8gcmUtdXNlIHRoZSBjYWNoZSkKKyAqCisgKiBSZXR1cm5zOiBhbGxvY2F0ZWQgc3RyaW5nIHdpdGggYSBkZXZpY2UgbmFtZS4KKyAqLworY2hhciAqYmxraWRfZXZhbHVhdGVfdGFnKGNvbnN0IGNoYXIgKnRva2VuLCBjb25zdCBjaGFyICp2YWx1ZSwgYmxraWRfY2FjaGUgKmNhY2hlKQoreworCXN0cnVjdCBibGtpZF9jb25maWcgKmNvbmYgPSBOVUxMOworCWNoYXIgKnQgPSBOVUxMLCAqdiA9IE5VTEw7CisJY2hhciAqcmV0ID0gTlVMTDsKKwlpbnQgaTsKKworCWlmICghdG9rZW4pCisJCXJldHVybiBOVUxMOworCisJaWYgKCFjYWNoZSB8fCAhKmNhY2hlKQorCQlibGtpZF9pbml0X2RlYnVnKDApOworCisJREJHKEVWQUxVQVRFLCB1bF9kZWJ1ZygiZXZhbHVhdGluZyAgJXMlcyVzIiwgdG9rZW4sIHZhbHVlID8gIj0iIDogIiIsCisJCSAgIHZhbHVlID8gdmFsdWUgOiAiIikpOworCisJaWYgKCF2YWx1ZSkgeworCQlpZiAoIXN0cmNocih0b2tlbiwgJz0nKSkgeworCQkJcmV0ID0gc3RyZHVwKHRva2VuKTsKKwkJCWdvdG8gb3V0OworCQl9CisJCWlmIChibGtpZF9wYXJzZV90YWdfc3RyaW5nKHRva2VuLCAmdCwgJnYpICE9IDAgfHwgIXQgfHwgIXYpCisJCQlnb3RvIG91dDsKKwkJdG9rZW4gPSB0OworCQl2YWx1ZSA9IHY7CisJfQorCisJY29uZiA9IGJsa2lkX3JlYWRfY29uZmlnKE5VTEwpOworCWlmICghY29uZikKKwkJZ290byBvdXQ7CisKKwlmb3IgKGkgPSAwOyBpIDwgY29uZi0+bmV2YWxzOyBpKyspIHsKKwkJaWYgKGNvbmYtPmV2YWxbaV0gPT0gQkxLSURfRVZBTF9VREVWKQorCQkJcmV0ID0gZXZhbHVhdGVfYnlfdWRldih0b2tlbiwgdmFsdWUsIGNvbmYtPnVldmVudCk7CisJCWVsc2UgaWYgKGNvbmYtPmV2YWxbaV0gPT0gQkxLSURfRVZBTF9TQ0FOKQorCQkJcmV0ID0gZXZhbHVhdGVfYnlfc2Nhbih0b2tlbiwgdmFsdWUsIGNhY2hlLCBjb25mKTsKKwkJaWYgKHJldCkKKwkJCWJyZWFrOworCX0KKworCURCRyhFVkFMVUFURSwgdWxfZGVidWcoIiVzPSVzIGV2YWx1YXRlZCBhcyAlcyIsIHRva2VuLCB2YWx1ZSwgcmV0KSk7CitvdXQ6CisJYmxraWRfZnJlZV9jb25maWcoY29uZik7CisJZnJlZSh0KTsKKwlmcmVlKHYpOworCXJldHVybiByZXQ7Cit9CisKKy8qKgorICogYmxraWRfZXZhbHVhdGVfc3BlYzoKKyAqIEBzcGVjOiB1bnBhcnNlZCB0YWcgKGUuZy4gIkxBQkVMPWZvbyIpIG9yIHBhdGggKGUuZy4gL2Rldi9kbS0wKQorICogQGNhY2hlOiBwb2ludGVyIHRvIGNhY2hlIChvciBOVUxMIHdoZW4geW91IGRvbid0IHdhbnQgdG8gcmUtdXNlIHRoZSBjYWNoZSkKKyAqCisgKiBBbGwgcmV0dXJuZWQgcGF0aHMgYXJlIGNhbm9uaWNhbGl6ZWQsIGRldmljZS1tYXBwZXIgcGF0aHMgYXJlIGNvbnZlcnRlZAorICogdG8gdGhlIC9kZXYvbWFwcGVyL25hbWUgZm9ybWF0LgorICoKKyAqIFJldHVybnM6IGFsbG9jYXRlZCBzdHJpbmcgd2l0aCBhIGRldmljZSBuYW1lLgorICovCitjaGFyICpibGtpZF9ldmFsdWF0ZV9zcGVjKGNvbnN0IGNoYXIgKnNwZWMsIGJsa2lkX2NhY2hlICpjYWNoZSkKK3sKKwljaGFyICp0ID0gTlVMTCwgKnYgPSBOVUxMLCAqcmVzOworCisJaWYgKCFzcGVjKQorCQlyZXR1cm4gTlVMTDsKKworCWlmIChzdHJjaHIoc3BlYywgJz0nKSAmJgorCSAgICBibGtpZF9wYXJzZV90YWdfc3RyaW5nKHNwZWMsICZ0LCAmdikgIT0gMCkJLyogcGFyc2UgZXJyb3IgKi8KKwkJcmV0dXJuIE5VTEw7CisKKwlpZiAodikKKwkJcmVzID0gYmxraWRfZXZhbHVhdGVfdGFnKHQsIHYsIGNhY2hlKTsKKwllbHNlCisJCXJlcyA9IGNhbm9uaWNhbGl6ZV9wYXRoKHNwZWMpOworCisJZnJlZSh0KTsKKwlmcmVlKHYpOworCXJldHVybiByZXM7Cit9CisKKworI2lmZGVmIFRFU1RfUFJPR1JBTQoraW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlibGtpZF9jYWNoZSBjYWNoZSA9IE5VTEw7CisJY2hhciAqcmVzOworCisJaWYgKGFyZ2MgPCAyKSB7CisJCWZwcmludGYoc3RkZXJyLCAidXNhZ2U6ICVzIDx0YWc+IHwgPHNwZWM+XG4iLCBhcmd2WzBdKTsKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKwl9CisKKwlibGtpZF9pbml0X2RlYnVnKDApOworCisJcmVzID0gYmxraWRfZXZhbHVhdGVfc3BlYyhhcmd2WzFdLCAmY2FjaGUpOworCWlmIChyZXMpCisJCXByaW50ZigiJXNcbiIsIHJlcyk7CisJaWYgKGNhY2hlKQorCQlibGtpZF9wdXRfY2FjaGUoY2FjaGUpOworCisJcmV0dXJuIHJlcyA/IEVYSVRfU1VDQ0VTUyA6IEVYSVRfRkFJTFVSRTsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL2dldHNpemUuYyBiL2xpYmJsa2lkL3NyYy9nZXRzaXplLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWJlNmViYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9nZXRzaXplLmMKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIGdldHNpemUuYyAtLS0gZ2V0IHRoZSBzaXplIG9mIGEgcGFydGl0aW9uLgorICoKKyAqIENvcHlyaWdodCAoQykgMTk5NSwgMTk5NSBUaGVvZG9yZSBUcydvLgorICogQ29weXJpZ2h0IChDKSAyMDEwIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqICVCZWdpbi1IZWFkZXIlCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICogJUVuZC1IZWFkZXIlCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKworI2luY2x1ZGUgImJsa2lkUC5oIgorCisvKioKKyAqIGJsa2lkX2dldF9kZXZfc2l6ZToKKyAqIEBmZDogZmlsZSBkZXNjcmlwdG9yCisgKgorICogUmV0dXJuczogc2l6ZSAoaW4gYnl0ZXMpIG9mIHRoZSBibG9jayBkZXZpY2Ugb3Igc2l6ZSBvZiB0aGUgcmVndWxhciBmaWxlIG9yIDAuCisgKi8KK2Jsa2lkX2xvZmZfdCBibGtpZF9nZXRfZGV2X3NpemUoaW50IGZkKQoreworCXVuc2lnbmVkIGxvbmcgbG9uZyBieXRlczsKKworCWlmIChibGtkZXZfZ2V0X3NpemUoZmQsICZieXRlcykpCisJCXJldHVybiAwOworCisJcmV0dXJuIGJ5dGVzOworfQorCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvaW5pdC5jIGIvbGliYmxraWQvc3JjL2luaXQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNzNiN2ZkCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL2luaXQuYwpAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMTMgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisvKioKKyAqIFNFQ1RJT046IGluaXQKKyAqIEB0aXRsZTogTGlicmFyeSBpbml0aWFsaXphdGlvbgorICogQHNob3J0X2Rlc2NyaXB0aW9uOiBpbml0aWFsaXplIGRlYnVnZ2luZworICovCisKKyNpbmNsdWRlIDxzdGRhcmcuaD4KKworI2luY2x1ZGUgImJsa2lkUC5oIgorCitVTF9ERUJVR19ERUZJTkVfTUFTSyhsaWJibGtpZCk7CitVTF9ERUJVR19ERUZJTkVfTUFTS05BTUVTKGxpYmJsa2lkKSA9Cit7CisJeyAiYWxsIiwgQkxLSURfREVCVUdfQUxMLAkiaW5mbyBhYm91dCBhbGwgc3Vic3lzdGVtcyIgfSwKKwl7ICJjYWNoZSIsIEJMS0lEX0RFQlVHX0NBQ0hFLAkiYmxraWQgdGFncyBjYWNoZSIgfSwKKwl7ICJjb25maWciLCBCTEtJRF9ERUJVR19DT05GSUcsICJjb25maWcgZmlsZSB1dGlscyIgfSwKKwl7ICJkZXYiLCBCTEtJRF9ERUJVR19ERVYsICAgICAgICJkZXZpY2UgdXRpbHMiIH0sCisJeyAiZGV2bmFtZSIsIEJMS0lEX0RFQlVHX0RFVk5BTUUsICIvcHJvYy9wYXJ0aXRpb25zIGV2YWx1YXRpb24iIH0sCisJeyAiZGV2bm8iLCBCTEtJRF9ERUJVR19ERVZOTywJImNvbnZlcnNpb25zIHRvIGRldmljZSBuYW1lIiB9LAorCXsgImV2YWx1YXRlIiwgQkxLSURfREVCVUdfRVZBTFVBVEUsICJ0YWdzIHJlc29sdmluZyIgfSwKKwl7ICJoZWxwIiwgQkxLSURfREVCVUdfSEVMUCwJInRoaXMgaGVscCIgfSwKKwl7ICJsb3dwcm9iZSIsIEJMS0lEX0RFQlVHX0xPV1BST0JFLCAic3VwZXJibG9jay9yYWlkcy9wYXJ0aXRpb25zIHByb2JpbmciIH0sCisJeyAiYnVmZmVyIiwgQkxLSURfREVCVUdfQlVGRkVSLCAibG93LXByb2JpbmcgYnVmZmVycyIgfSwKKwl7ICJwcm9iZSIsIEJMS0lEX0RFQlVHX1BST0JFLAkiZGV2aWNlcyB2ZXJpZmljYXRpb24iIH0sCisJeyAicmVhZCIsIEJMS0lEX0RFQlVHX1JFQUQsCSJjYWNoZSBwYXJzaW5nIiB9LAorCXsgInNhdmUiLCBCTEtJRF9ERUJVR19TQVZFLAkiY2FjaGUgd3JpdGluZyIgfSwKKwl7ICJ0YWciLCBCTEtJRF9ERUJVR19UQUcsCSJ0YWdzIHV0aWxzIiB9LAorCXsgTlVMTCwgMCwgTlVMTCB9Cit9OworCisvKioKKyAqIGJsa2lkX2luaXRfZGVidWc6CisgKiBAbWFzazogZGVidWcgbWFzayAoMHhmZmZmIHRvIGVuYWJsZSBmdWxsIGRlYnVnZ2luZykKKyAqCisgKiBJZiB0aGUgQG1hc2sgaXMgbm90IHNwZWNpZmllZCB0aGVuIHRoaXMgZnVuY3Rpb24gcmVhZHMKKyAqIExJQkJMS0lEX0RFQlVHIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIGdldCB0aGUgbWFzay4KKyAqCisgKiBBbHJlYWR5IGluaXRpYWxpemVkIGRlYnVnZ2luZyBzdHVmZiBjYW5ub3QgYmUgY2hhbmdlZC4gSXQgZG9lcyBub3QKKyAqIGhhdmUgZWZmZWN0IHRvIGNhbGwgdGhpcyBmdW5jdGlvbiB0d2ljZS4KKyAqLwordm9pZCBibGtpZF9pbml0X2RlYnVnKGludCBtYXNrKQoreworCWlmIChsaWJibGtpZF9kZWJ1Z19tYXNrKQorCQlyZXR1cm47CisKKwlfX1VMX0lOSVRfREVCVUcobGliYmxraWQsIEJMS0lEX0RFQlVHXywgbWFzaywgTElCQkxLSURfREVCVUcpOworCisJaWYgKGxpYmJsa2lkX2RlYnVnX21hc2sgIT0gQkxLSURfREVCVUdfSU5JVAorCSAgICAmJiBsaWJibGtpZF9kZWJ1Z19tYXNrICE9IChCTEtJRF9ERUJVR19IRUxQfEJMS0lEX0RFQlVHX0lOSVQpKSB7CisJCWNvbnN0IGNoYXIgKnZlciA9IE5VTEw7CisJCWNvbnN0IGNoYXIgKmRhdGUgPSBOVUxMOworCisJCWJsa2lkX2dldF9saWJyYXJ5X3ZlcnNpb24oJnZlciwgJmRhdGUpOworCQlEQkcoSU5JVCwgdWxfZGVidWcoImxpYnJhcnkgZGVidWcgbWFzazogMHglMDR4IiwgbGliYmxraWRfZGVidWdfbWFzaykpOworCQlEQkcoSU5JVCwgdWxfZGVidWcoImxpYnJhcnkgdmVyc2lvbjogJXMgWyVzXSIsIHZlciwgZGF0ZSkpOworCisJfQorCU9OX0RCRyhIRUxQLCB1bF9kZWJ1Z19wcmludF9tYXNrcygiTElCQkxLSURfREVCVUciLAorCQkJCVVMX0RFQlVHX01BU0tOQU1FUyhsaWJibGtpZCkpKTsKK30KZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9saWJibGtpZC5zeW0gYi9saWJibGtpZC9zcmMvbGliYmxraWQuc3ltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiM2NmMDgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvbGliYmxraWQuc3ltCkBAIC0wLDAgKzEsMTY2IEBACisvKgorICogVGhlIHN5bWJvbCB2ZXJzaW9uaW5nIGVuc3VyZXMgdGhhdCBhIG5ldyBhcHBsaWNhdGlvbiByZXF1aXJpbmcgc3ltYm9sICdmb28nCisgKiBjYW4ndCBydW4gd2l0aCBvbGQgbGlicmFyeS5zbyBub3QgcHJvdmlkaW5nICdmb28nIC0gdGhlIGdsb2JhbCBTT05BTUUKKyAqIHZlcnNpb24gaW5mbyBjYW4ndCBlbmZvcmNlIHRoaXMgc2luY2Ugd2UgbmV2ZXIgY2hhbmdlIHRoZSBTT05BTUUuCisgKgorICogVGhlIG9yaWdpbmFsIGxpYmJsa2lkIGZyb20gZTJmc3Byb2dzICg8PTEuNDEuNCkgZG9lcyBub3QgdG8gdXNlCisgKiBzeW1ib2wgdmVyc2lvbmluZyAtLSBhbGwgdGhlIG9yaWdpbmFsIHN5bWJvbHMgYXJlIGluIEJMS0lEXzEuMCBub3cuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA5LTIwMTQgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+IAorICovCitCTEtJRF8xLjAgeworZ2xvYmFsOgorCWJsa2lkX2Rldl9kZXZuYW1lOworCWJsa2lkX2Rldl9oYXNfdGFnOworCWJsa2lkX2Rldl9pdGVyYXRlX2JlZ2luOworCWJsa2lkX2Rldl9pdGVyYXRlX2VuZDsKKwlibGtpZF9kZXZfbmV4dDsKKwlibGtpZF9kZXZub190b19kZXZuYW1lOworCWJsa2lkX2Rldl9zZXRfc2VhcmNoOworCWJsa2lkX2ZpbmRfZGV2X3dpdGhfdGFnOworCWJsa2lkX2djX2NhY2hlOworCWJsa2lkX2dldF9jYWNoZTsKKwlibGtpZF9nZXRfZGV2OworCWJsa2lkX2dldF9kZXZuYW1lOworCWJsa2lkX2dldF9kZXZfc2l6ZTsKKwlibGtpZF9nZXRfbGlicmFyeV92ZXJzaW9uOworCWJsa2lkX2dldF90YWdfdmFsdWU7CisJYmxraWRfa25vd25fZnN0eXBlOworCWJsa2lkX3BhcnNlX3RhZ19zdHJpbmc7CisJYmxraWRfcGFyc2VfdmVyc2lvbl9zdHJpbmc7CisJYmxraWRfcHJvYmVfYWxsOworCWJsa2lkX3Byb2JlX2FsbF9uZXc7CisJYmxraWRfcHV0X2NhY2hlOworCWJsa2lkX3RhZ19pdGVyYXRlX2JlZ2luOworCWJsa2lkX3RhZ19pdGVyYXRlX2VuZDsKKwlibGtpZF90YWdfbmV4dDsKKwlibGtpZF92ZXJpZnk7Citsb2NhbDoKKwkqOworfTsKKworCisvKgorICogc3ltYm9scyBzaW5jZSB1dGlsLWxpbnV4IDIuMTUKKyAqLworQkxLSURfMi4xNSB7CitnbG9iYWw6CisJYmxraWRfZG9fcHJvYmU7CisJYmxraWRfZG9fc2FmZXByb2JlOworCWJsa2lkX2VuY29kZV9zdHJpbmc7CisJYmxraWRfZXZhbHVhdGVfdGFnOworCWJsa2lkX2ZyZWVfcHJvYmU7CisJYmxraWRfbmV3X3Byb2JlOworCWJsa2lkX3Byb2JlX2ZpbHRlcl90eXBlczsKKwlibGtpZF9wcm9iZV9maWx0ZXJfdXNhZ2U7CisJYmxraWRfcHJvYmVfZ2V0X3ZhbHVlOworCWJsa2lkX3Byb2JlX2hhc192YWx1ZTsKKwlibGtpZF9wcm9iZV9pbnZlcnRfZmlsdGVyOworCWJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZTsKKwlibGtpZF9wcm9iZV9udW1vZl92YWx1ZXM7CisJYmxraWRfcHJvYmVfcmVzZXRfZmlsdGVyOworCWJsa2lkX3Byb2JlX3NldF9kZXZpY2U7CisJYmxraWRfcHJvYmVfc2V0X3JlcXVlc3Q7CisJYmxraWRfcmVzZXRfcHJvYmU7CisJYmxraWRfc2FmZV9zdHJpbmc7CisJYmxraWRfc2VuZF91ZXZlbnQ7Cit9IEJMS0lEXzEuMDsKKworLyoKKyAqIHN5bWJvbHMgc2luY2UgdXRpbC1saW51eCAyLjE3CisgKi8KK0JMS0lEXzIuMTcgeworZ2xvYmFsOgorCWJsa2lkX2Rldm5vX3RvX3dob2xlZGlzazsKKwlibGtpZF9kb19mdWxscHJvYmU7CisJYmxraWRfa25vd25fcHR0eXBlOworCWJsa2lkX25ld19wcm9iZV9mcm9tX2ZpbGVuYW1lOworCWJsa2lkX3BhcnRpdGlvbl9nZXRfbmFtZTsKKwlibGtpZF9wYXJ0aXRpb25fZ2V0X3BhcnRubzsKKwlibGtpZF9wYXJ0aXRpb25fZ2V0X3NpemU7CisJYmxraWRfcGFydGl0aW9uX2dldF9zdGFydDsKKwlibGtpZF9wYXJ0aXRpb25fZ2V0X3RhYmxlOworCWJsa2lkX3BhcnRpdGlvbl9nZXRfdHlwZTsKKwlibGtpZF9wYXJ0aXRpb25fZ2V0X3R5cGVfc3RyaW5nOworCWJsa2lkX3BhcnRpdGlvbl9nZXRfdXVpZDsKKwlibGtpZF9wYXJ0aXRpb25faXNfZXh0ZW5kZWQ7CisJYmxraWRfcGFydGl0aW9uX2lzX2xvZ2ljYWw7CisJYmxraWRfcGFydGl0aW9uX2lzX3ByaW1hcnk7CisJYmxraWRfcGFydGxpc3RfZ2V0X3BhcnRpdGlvbjsKKwlibGtpZF9wYXJ0bGlzdF9udW1vZl9wYXJ0aXRpb25zOworCWJsa2lkX3BhcnR0YWJsZV9nZXRfb2Zmc2V0OworCWJsa2lkX3BhcnR0YWJsZV9nZXRfcGFyZW50OworCWJsa2lkX3BhcnR0YWJsZV9nZXRfdHlwZTsKKwlibGtpZF9wcm9iZV9lbmFibGVfcGFydGl0aW9uczsKKwlibGtpZF9wcm9iZV9lbmFibGVfc3VwZXJibG9ja3M7CisJYmxraWRfcHJvYmVfZW5hYmxlX3RvcG9sb2d5OworCWJsa2lkX3Byb2JlX2ZpbHRlcl9wYXJ0aXRpb25zX3R5cGU7CisJYmxraWRfcHJvYmVfZmlsdGVyX3N1cGVyYmxvY2tzX3R5cGU7CisJYmxraWRfcHJvYmVfZmlsdGVyX3N1cGVyYmxvY2tzX3VzYWdlOworCWJsa2lkX3Byb2JlX2dldF9kZXZubzsKKwlibGtpZF9wcm9iZV9nZXRfcGFydGl0aW9uczsKKwlibGtpZF9wcm9iZV9nZXRfc2VjdG9yc2l6ZTsKKwlibGtpZF9wcm9iZV9nZXRfc2VjdG9yczsKKwlibGtpZF9wcm9iZV9nZXRfc2l6ZTsKKwlibGtpZF9wcm9iZV9nZXRfdG9wb2xvZ3k7CisJYmxraWRfcHJvYmVfaW52ZXJ0X3BhcnRpdGlvbnNfZmlsdGVyOworCWJsa2lkX3Byb2JlX2ludmVydF9zdXBlcmJsb2Nrc19maWx0ZXI7CisJYmxraWRfcHJvYmVfcmVzZXRfcGFydGl0aW9uc19maWx0ZXI7CisJYmxraWRfcHJvYmVfcmVzZXRfc3VwZXJibG9ja3NfZmlsdGVyOworCWJsa2lkX3Byb2JlX3NldF9wYXJ0aXRpb25zX2ZsYWdzOworCWJsa2lkX3Byb2JlX3NldF9zdXBlcmJsb2Nrc19mbGFnczsKKwlibGtpZF90b3BvbG9neV9nZXRfYWxpZ25tZW50X29mZnNldDsKKwlibGtpZF90b3BvbG9neV9nZXRfbG9naWNhbF9zZWN0b3Jfc2l6ZTsKKwlibGtpZF90b3BvbG9neV9nZXRfbWluaW11bV9pb19zaXplOworCWJsa2lkX3RvcG9sb2d5X2dldF9vcHRpbWFsX2lvX3NpemU7CisJYmxraWRfdG9wb2xvZ3lfZ2V0X3BoeXNpY2FsX3NlY3Rvcl9zaXplOworfSBCTEtJRF8yLjE1OworCisvKgorICogc3ltYm9scyBzaW5jZSB1dGlsLWxpbnV4IDIuMTgKKyAqLworQkxLSURfMi4xOCB7CitnbG9iYWw6CisJYmxraWRfcGFydGl0aW9uX2dldF9mbGFnczsKKwlibGtpZF9wYXJ0bGlzdF9kZXZub190b19wYXJ0aXRpb247CisJYmxraWRfcGFydGxpc3RfZ2V0X3RhYmxlOworCWJsa2lkX3Byb2JlX2FsbF9yZW1vdmFibGU7CisJYmxraWRfcHJvYmVfZ2V0X2ZkOworCWJsa2lkX3Byb2JlX2dldF9vZmZzZXQ7CisJYmxraWRfcHJvYmVfZ2V0X3dob2xlZGlza19kZXZubzsKKwlibGtpZF9wcm9iZV9pc193aG9sZWRpc2s7Cit9IEJMS0lEXzIuMTc7CisKKy8qCisgKiBzeW1ib2xzIHNpbmNlIHV0aWwtbGludXggMi4yMAorICovCitCTEtJRF8yLjIwIHsKK2dsb2JhbDoKKwlibGtpZF9ldmFsdWF0ZV9zcGVjOworCWJsa2lkX3N1cGVyYmxvY2tzX2dldF9uYW1lOworfSBCTEtJRF8yLjE4OworCisvKgorICogc3ltYm9scyBzaW5jZSB1dGlsLWxpbnV4IDIuMjEKKyAqLworQkxLSURfMi4yMSB7CitnbG9iYWw6CisJYmxraWRfZG9fd2lwZTsKK30gQkxLSURfMi4yMDsKKworLyoKKyAqIHN5bWJvbHMgc2luY2UgdXRpbC1saW51eCAyLjIzCisgKi8KK0JMS0lEXzIuMjMgeworZ2xvYmFsOgorCWJsa2lkX3Byb2JlX3N0ZXBfYmFjazsKKwlibGtpZF9wYXJ0dGFibGVfZ2V0X2lkOworCWJsa2lkX2luaXRfZGVidWc7Cit9IEJMS0lEXzIuMjE7CisKKy8qCisgKiBzeW1ib2xzIHNpbmNlIHV0aWwtbGludXggMi4yNQorICovCitCTEtJRF8yLjI1IHsKKwlibGtpZF9wYXJ0bGlzdF9nZXRfcGFydGl0aW9uX2J5X3BhcnRubzsKK30gQkxLSURfMi4yMzsKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9sbHNlZWsuYyBiL2xpYmJsa2lkL3NyYy9sbHNlZWsuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNWM0OTRlCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL2xsc2Vlay5jCkBAIC0wLDAgKzEsMTQ3IEBACisvKgorICogbGxzZWVrLmMgLS0gc3R1YiBjYWxsaW5nIHRoZSBsbHNlZWsgc3lzdGVtIGNhbGwKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTQsIDE5OTUsIDE5OTYsIDE5OTcgVGhlb2RvcmUgVHMnby4KKyAqCisgKiAlQmVnaW4tSGVhZGVyJQorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqICVFbmQtSGVhZGVyJQorICovCisKKyNpZm5kZWYgX0xBUkdFRklMRV9TT1VSQ0UKKyMgZGVmaW5lIF9MQVJHRUZJTEVfU09VUkNFCisjZW5kaWYKKworI2lmbmRlZiBfTEFSR0VGSUxFNjRfU09VUkNFCisjIGRlZmluZSBfTEFSR0VGSUxFNjRfU09VUkNFCisjZW5kaWYKKworI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNlbmRpZgorCisjaWZkZWYgSEFWRV9FUlJOT19ICisjaW5jbHVkZSA8ZXJybm8uaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfVU5JU1REX0gKKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNlbmRpZgorI2lmZGVmIF9fTVNET1NfXworI2luY2x1ZGUgPGlvLmg+CisjZW5kaWYKKworI2luY2x1ZGUgImJsa2lkUC5oIgorCisjaWZkZWYgX19saW51eF9fCisKKyNpZiBkZWZpbmVkKEhBVkVfTFNFRUs2NCkgJiYgZGVmaW5lZChIQVZFX0xTRUVLNjRfUFJPVE9UWVBFKQorCisjZGVmaW5lIG15X2xsc2VlayBsc2VlazY0CisKKyNlbGlmIGRlZmluZWQoSEFWRV9MTFNFRUspCisjaW5jbHVkZSA8c3lzY2FsbC5oPgorCisjaWZuZGVmIEhBVkVfTExTRUVLX1BST1RPVFlQRQorZXh0ZXJuIGxvbmcgbG9uZyBsbHNlZWsoaW50IGZkLCBsb25nIGxvbmcgb2Zmc2V0LCBpbnQgb3JpZ2luKTsKKyNlbmRpZgorCisjZGVmaW5lIG15X2xsc2VlayBsbHNlZWsKKworI2Vsc2UJLyogISBIQVZFX0xMU0VFSyAqLworCisjaWYgU0laRU9GX0xPTkcgPT0gU0laRU9GX0xPTkdfTE9ORworCisjZGVmaW5lIGxsc2VlayBsc2VlaworCisjZWxzZSAvKiBTSVpFT0ZfTE9ORyAhPSBTSVpFT0ZfTE9OR19MT05HICovCisKKyNpbmNsdWRlIDxsaW51eC91bmlzdGQuaD4KKworI2lmbmRlZiBfX05SX19sbHNlZWsKKyNkZWZpbmUgX19OUl9fbGxzZWVrICAgICAgICAgICAgMTQwCisjZW5kaWYKKworI2lmbmRlZiBfX2kzODZfXworc3RhdGljIGludCBfbGxzZWVrKHVuc2lnbmVkIGludCwgdW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZywKKwkJICAgYmxraWRfbG9mZl90ICosIHVuc2lnbmVkIGludCk7CisKK3N0YXRpYyBfc3lzY2FsbDUoaW50LCBfbGxzZWVrLCB1bnNpZ25lZCBpbnQsIGZkLCB1bnNpZ25lZCBsb25nLCBvZmZzZXRfaGlnaCwKKwkJIHVuc2lnbmVkIGxvbmcsIG9mZnNldF9sb3csIGJsa2lkX2xvZmZfdCAqLCByZXN1bHQsCisJCSB1bnNpZ25lZCBpbnQsIG9yaWdpbikKKyNlbmRpZgorCitzdGF0aWMgYmxraWRfbG9mZl90IG15X2xsc2VlayhpbnQgZmQsIGJsa2lkX2xvZmZfdCBvZmZzZXQsIGludCBvcmlnaW4pCit7CisJYmxraWRfbG9mZl90IHJlc3VsdDsKKwlpbnQgcmV0dmFsOworCisjaWZuZGVmIF9faTM4Nl9fCisJcmV0dmFsID0gX2xsc2VlayhmZCwgKCh1bnNpZ25lZCBsb25nIGxvbmcpIG9mZnNldCkgPj4gMzIsCisJCQkgKCh1bnNpZ25lZCBsb25nIGxvbmcpb2Zmc2V0KSAmIDB4ZmZmZmZmZmYsCisJCQkgJnJlc3VsdCwgb3JpZ2luKTsKKyNlbHNlCisJcmV0dmFsID0gc3lzY2FsbChfX05SX19sbHNlZWssIGZkLCAoKHVuc2lnbmVkIGxvbmcgbG9uZykgb2Zmc2V0KSA+PiAzMiwKKwkJCSAoKHVuc2lnbmVkIGxvbmcgbG9uZylvZmZzZXQpICYgMHhmZmZmZmZmZiwKKwkJCSAmcmVzdWx0LCBvcmlnaW4pOworI2VuZGlmCisJcmV0dXJuIChyZXR2YWwgPT0gLTEgPyAoYmxraWRfbG9mZl90KSByZXR2YWwgOiByZXN1bHQpOworfQorCisjZW5kaWYJLyogX19hbHBoYV9fIHx8IF9faWE2NF9fICovCisKKyNlbmRpZiAvKiBIQVZFX0xMU0VFSyAqLworCitibGtpZF9sb2ZmX3QgYmxraWRfbGxzZWVrKGludCBmZCwgYmxraWRfbG9mZl90IG9mZnNldCwgaW50IHdoZW5jZSkKK3sKKwlibGtpZF9sb2ZmX3QgcmVzdWx0OworCXN0YXRpYyBpbnQgZG9fY29tcGF0ID0gMDsKKworCWlmICgoc2l6ZW9mKG9mZl90KSA+PSBzaXplb2YoYmxraWRfbG9mZl90KSkgfHwKKwkgICAgKG9mZnNldCA8ICgoYmxraWRfbG9mZl90KSAxIDw8ICgoc2l6ZW9mKG9mZl90KSo4KSAtMSkpKSkKKwkJcmV0dXJuIGxzZWVrKGZkLCAob2ZmX3QpIG9mZnNldCwgd2hlbmNlKTsKKworCWlmIChkb19jb21wYXQpIHsKKwkJZXJybm8gPSBFT1ZFUkZMT1c7CisJCXJldHVybiAtMTsKKwl9CisKKwlyZXN1bHQgPSBteV9sbHNlZWsoZmQsIG9mZnNldCwgd2hlbmNlKTsKKwlpZiAocmVzdWx0ID09IC0xICYmIGVycm5vID09IEVOT1NZUykgeworCQkvKgorCQkgKiBKdXN0IGluIGNhc2UgdGhpcyBjb2RlIHJ1bnMgb24gdG9wIG9mIGFuIG9sZCBrZXJuZWwKKwkJICogd2hpY2ggZG9lcyBub3Qgc3VwcG9ydCB0aGUgbGxzZWVrIHN5c3RlbSBjYWxsCisJCSAqLworCQlkb19jb21wYXQrKzsKKwkJZXJybm8gPSBFT1ZFUkZMT1c7CisJfQorCXJldHVybiByZXN1bHQ7Cit9CisKKyNlbHNlIC8qICFsaW51eCAqLworCisjaWZuZGVmIEVPVkVSRkxPVworI2lmZGVmIEVYVDJfRVRfSU5WQUxJRF9BUkdVTUVOVAorI2RlZmluZSBFT1ZFUkZMT1cgRVhUMl9FVF9JTlZBTElEX0FSR1VNRU5UCisjZWxzZQorI2RlZmluZSBFT1ZFUkZMT1cgMTEyCisjZW5kaWYKKyNlbmRpZgorCitibGtpZF9sb2ZmX3QgYmxraWRfbGxzZWVrKGludCBmZCwgYmxraWRfbG9mZl90IG9mZnNldCwgaW50IG9yaWdpbikKK3sKKyNpZiBkZWZpbmVkKEhBVkVfTFNFRUs2NCkgJiYgZGVmaW5lZChIQVZFX0xTRUVLNjRfUFJPVE9UWVBFKQorCXJldHVybiBsc2VlazY0IChmZCwgb2Zmc2V0LCBvcmlnaW4pOworI2Vsc2UKKwlpZiAoKHNpemVvZihvZmZfdCkgPCBzaXplb2YoYmxraWRfbG9mZl90KSkgJiYKKwkgICAgKG9mZnNldCA+PSAoKGJsa2lkX2xvZmZfdCkgMSA8PCAoKHNpemVvZihvZmZfdCkqOCkgLSAxKSkpKSB7CisJCWVycm5vID0gRU9WRVJGTE9XOworCQlyZXR1cm4gLTE7CisJfQorCXJldHVybiBsc2VlayhmZCwgKG9mZl90KSBvZmZzZXQsIG9yaWdpbik7CisjZW5kaWYKK30KKworI2VuZGlmCS8qIGxpbnV4ICovCisKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvYWl4LmMgYi9saWJibGtpZC9zcmMvcGFydGl0aW9ucy9haXguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZWZkZmEzCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvYWl4LmMKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIGFpeCBwYXJ0aXRpb25zCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaW5jbHVkZSAicGFydGl0aW9ucy5oIgorI2luY2x1ZGUgImFpeC5oIgorCitzdGF0aWMgaW50IHByb2JlX2FpeF9wdChibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCWJsa2lkX3BhcnRsaXN0IGxzOworCWJsa2lkX3BhcnR0YWJsZSB0YWI7CisKKwlpZiAoYmxraWRfcGFydGl0aW9uc19uZWVkX3R5cGVvbmx5KHByKSkKKwkJLyogY2FsbGVyIGRvZXMgbm90IGFzayBmb3IgZGV0YWlscyBhYm91dCBwYXJ0aXRpb25zICovCisJCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKKworCWxzID0gYmxraWRfcHJvYmVfZ2V0X3BhcnRsaXN0KHByKTsKKwlpZiAoIWxzKQorCQlyZXR1cm4gQkxLSURfUFJPQkVfTk9ORTsKKworCXRhYiA9IGJsa2lkX3BhcnRsaXN0X25ld19wYXJ0dGFibGUobHMsICJhaXgiLCAwKTsKKwlpZiAoIXRhYikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlyZXR1cm4gQkxLSURfUFJPQkVfT0s7Cit9CisKKy8qCisgKiBXZSBrbm93IG5vdGhpbmcgYWJvdXQgQUlYIG9uLWRpc2sgc3RydWN0dXJlcy4gRXZlcnl0aGluZyB3aGF0IHdlIGtub3cgaXMgdGhlCisgKiBtYWdpYyBudW1iZXIgYXQgYmVnaW4gb2YgdGhlIGRpc2suCisgKgorICogTm90ZSwgTGludXgga2VybmVsIGlzIHRyaW5nIHRvIGJlIHNtYXJ0IGFuZCBBSVggc2lnbmF0dXJlIGlzIGlnbm9yZWQgd2hlbgorICogdGhlcmUgaXMgYSB2YWxpZCBET1MgcGFydGl0aW9ucyB0YWJsZS4gV2UgZG9uJ3Qgc3VwcG9ydCBzdWNoIGJlaGF2aW9yLiBBbGwKKyAqIGZkaXNrLWxpa2UgcHJvZ3JhbXMgaGFzIHRvIHByb3Blcmx5IHdpcGUgdGhlIGZpc3Qgc2VjdG9yLiBFdmVyeXRoaW5nIG90aGVyCisgKiBpcyBhIGJ1Zy4KKyAqLworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBhaXhfcHRfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAiYWl4IiwKKwkucHJvYmVmdW5jCT0gcHJvYmVfYWl4X3B0LAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gQkxLSURfQUlYX01BR0lDX1NUUklORywgLmxlbiA9IEJMS0lEX0FJWF9NQUdJQ19TVFJMRU4gfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvcGFydGl0aW9ucy9haXguaCBiL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL2FpeC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3NjdjNWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvcGFydGl0aW9ucy9haXguaApAQCAtMCwwICsxLDcgQEAKKyNpZm5kZWYgQkxLSURfUEFSVElUSU9OU19BSVhfSAorI2RlZmluZSBCTEtJRF9QQVJUSVRJT05TX0FJWF9ICisKKyNkZWZpbmUgQkxLSURfQUlYX01BR0lDX1NUUklORwkiXHhDOVx4QzJceEQ0XHhDMSIKKyNkZWZpbmUgQkxLSURfQUlYX01BR0lDX1NUUkxFTgkoc2l6ZW9mKEJMS0lEX0FJWF9NQUdJQ19TVFJJTkcpIC0gMSkKKworI2VuZGlmCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvcGFydGl0aW9ucy9ic2QuYyBiL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL2JzZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4M2YyY2YKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvcGFydGl0aW9ucy9ic2QuYwpAQCAtMCwwICsxLDE3OSBAQAorLyoKKyAqIEJTRC9PU0YgcGFydGl0aW9uIHBhcnNpbmcgY29kZQorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICoKKyAqIEluc3BpcmVkIGJ5IGZkaXNrLCBwYXJ0eCwgTGludXgga2VybmVsLCBsaWJwYXJ0ZWQgYW5kIG9wZW5ic2QgaGVhZGVyIGZpbGVzLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgInBhcnRpdGlvbnMuaCIKKyNpbmNsdWRlICJwdC1ic2QuaCIKKworLyogUmV0dXJucyAnYmxraWRfaWRtYWcnIGluIDUxMi1zZWN0b3JzICovCisjZGVmaW5lIEJMS0lEX01BR19TRUNUT1IoX21hZykgICgoKF9tYWcpLT5rYm9mZiAvIDIpICArICgoX21hZyktPnNib2ZmID4+IDkpKQorCisvKiBSZXR1cm5zICdibGtpZF9pZG1hZycgaW4gYnl0ZXMgKi8KKyNkZWZpbmUgQkxLSURfTUFHX09GRlNFVChfbWFnKSAgKChfbWFnKS0+a2JvZmYgPDwgMTApICsgKChfbWFnKS0+c2JvZmYpCisKKy8qIFJldHVybnMgJ2Jsa2lkX2lkbWFnJyBvZmZzZXQgaW4gYnl0ZXMgd2l0aGluIHRoZSBsYXN0IHNlY3RvciAqLworI2RlZmluZSBCTEtJRF9NQUdfTEFTVE9GRlNFVChfbWFnKSBcCisJCSAoQkxLSURfTUFHX09GRlNFVChfbWFnKSAtIChCTEtJRF9NQUdfU0VDVE9SKF9tYWcpIDw8IDkpKQorCitzdGF0aWMgaW50IHByb2JlX2JzZF9wdChibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJc3RydWN0IGJzZF9kaXNrbGFiZWwgKmw7CisJc3RydWN0IGJzZF9wYXJ0aXRpb24gKnA7CisJY29uc3QgY2hhciAqbmFtZSA9ICJic2QiIDsKKwlibGtpZF9wYXJ0dGFibGUgdGFiID0gTlVMTDsKKwlibGtpZF9wYXJ0aXRpb24gcGFyZW50OworCWJsa2lkX3BhcnRsaXN0IGxzOworCWludCBpLCBucGFydHMgPSBCU0RfTUFYUEFSVElUSU9OUzsKKwl1bnNpZ25lZCBjaGFyICpkYXRhOworCWludCByYyA9IEJMS0lEX1BST0JFX05PTkU7CisKKwlpZiAoYmxraWRfcGFydGl0aW9uc19uZWVkX3R5cGVvbmx5KHByKSkKKwkJLyogY2FsbGVyIGRvZXMgbm90IGFzayBmb3IgZGV0YWlscyBhYm91dCBwYXJ0aXRpb25zICovCisJCXJldHVybiByYzsKKworCWRhdGEgPSBibGtpZF9wcm9iZV9nZXRfc2VjdG9yKHByLCBCTEtJRF9NQUdfU0VDVE9SKG1hZykpOworCWlmICghZGF0YSkgeworCQlpZiAoZXJybm8pCisJCQlyYyA9IC1lcnJubzsKKwkJZ290byBub3RoaW5nOworCX0KKworCWwgPSAoc3RydWN0IGJzZF9kaXNrbGFiZWwgKikgZGF0YSArIEJMS0lEX01BR19MQVNUT0ZGU0VUKG1hZyk7CisKKwlscyA9IGJsa2lkX3Byb2JlX2dldF9wYXJ0bGlzdChwcik7CisJaWYgKCFscykKKwkJZ290byBub3RoaW5nOworCisJLyogdHJ5IHRvIGRldGVybWluZSB0aGUgcmVhbCB0eXBlIG9mIEJTRCBzeXN0ZW0gYWNjb3JkaW5nIHRvCisJICogKHBhcmVudGFsKSBwcmltYXJ5IHBhcnRpdGlvbiAqLworCXBhcmVudCA9IGJsa2lkX3BhcnRsaXN0X2dldF9wYXJlbnQobHMpOworCWlmIChwYXJlbnQpIHsKKwkJc3dpdGNoKGJsa2lkX3BhcnRpdGlvbl9nZXRfdHlwZShwYXJlbnQpKSB7CisJCWNhc2UgTUJSX0ZSRUVCU0RfUEFSVElUSU9OOgorCQkJbmFtZSA9ICJmcmVlYnNkIjsKKwkJCWJyZWFrOworCQljYXNlIE1CUl9ORVRCU0RfUEFSVElUSU9OOgorCQkJbmFtZSA9ICJuZXRic2QiOworCQkJYnJlYWs7CisJCWNhc2UgTUJSX09QRU5CU0RfUEFSVElUSU9OOgorCQkJbmFtZSA9ICJvcGVuYnNkIjsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygKKwkJCQkiV0FSTklORzogQlNEIGxhYmVsIGRldGVjdGVkIG9uIHVua25vd24gKDB4JXgpICIKKwkJCQkicHJpbWFyeSBwYXJ0aXRpb24iLAorCQkJCWJsa2lkX3BhcnRpdGlvbl9nZXRfdHlwZShwYXJlbnQpKSk7CisJCQlicmVhazsKKwkJfQorCX0KKworCXRhYiA9IGJsa2lkX3BhcnRsaXN0X25ld19wYXJ0dGFibGUobHMsIG5hbWUsIEJMS0lEX01BR19PRkZTRVQobWFnKSk7CisJaWYgKCF0YWIpIHsKKwkJcmMgPSAtRU5PTUVNOworCQlnb3RvIG5vdGhpbmc7CisJfQorCisJaWYgKGxlMTZfdG9fY3B1KGwtPmRfbnBhcnRpdGlvbnMpIDwgQlNEX01BWFBBUlRJVElPTlMpCisJCW5wYXJ0cyA9IGxlMTZfdG9fY3B1KGwtPmRfbnBhcnRpdGlvbnMpOworCisJZWxzZSBpZiAobGUxNl90b19jcHUobC0+ZF9ucGFydGl0aW9ucykgPiBCU0RfTUFYUEFSVElUSU9OUykKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygKKwkJCSJXQVJOSU5HOiBpZ25vcmUgJWQgbW9yZSBCU0QgcGFydGl0aW9ucyIsCisJCQlsZTE2X3RvX2NwdShsLT5kX25wYXJ0aXRpb25zKSAtIEJTRF9NQVhQQVJUSVRJT05TKSk7CisKKwlmb3IgKGkgPSAwLCBwID0gbC0+ZF9wYXJ0aXRpb25zOyBpIDwgbnBhcnRzOyBpKyssIHArKykgeworCQlibGtpZF9wYXJ0aXRpb24gcGFyOworCQl1aW50MzJfdCBzdGFydCwgc2l6ZTsKKworCQkvKiBUT0RPOiBpbiBmZGlzay1tb2RlIHJldHVybnMgYWxsIG5vbi16ZXJvIChwX3NpemUpIHBhcnRpdGlvbnMgKi8KKwkJaWYgKHAtPnBfZnN0eXBlID09IEJTRF9GU19VTlVTRUQpCisJCQljb250aW51ZTsKKworCQlzdGFydCA9IGxlMzJfdG9fY3B1KHAtPnBfb2Zmc2V0KTsKKwkJc2l6ZSA9IGxlMzJfdG9fY3B1KHAtPnBfc2l6ZSk7CisKKwkJaWYgKHBhcmVudCAmJiBibGtpZF9wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBhcmVudCkgPT0gc3RhcnQKKwkJCSAgICYmIGJsa2lkX3BhcnRpdGlvbl9nZXRfc2l6ZShwYXJlbnQpID09IHNpemUpIHsKKwkJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoCisJCQkJIldBUk5JTkc6IEJTRCBwYXJ0aXRpb24gKCVkKSBzYW1lIGxpa2UgcGFyZW50LCAiCisJCQkJImlnbm9yZSIsIGkpKTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmIChwYXJlbnQgJiYgIWJsa2lkX2lzX25lc3RlZF9kaW1lbnNpb24ocGFyZW50LCBzdGFydCwgc2l6ZSkpIHsKKwkJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoCisJCQkJIldBUk5JTkc6IEJTRCBwYXJ0aXRpb24gKCVkKSBvdmVyZmxvdyAiCisJCQkJImRldGVjdGVkLCBpZ25vcmUiLCBpKSk7CisJCQljb250aW51ZTsKKwkJfQorCisJCXBhciA9IGJsa2lkX3BhcnRsaXN0X2FkZF9wYXJ0aXRpb24obHMsIHRhYiwgc3RhcnQsIHNpemUpOworCQlpZiAoIXBhcikgeworCQkJcmMgPSAtRU5PTUVNOworCQkJZ290byBub3RoaW5nOworCQl9CisKKwkJYmxraWRfcGFydGl0aW9uX3NldF90eXBlKHBhciwgcC0+cF9mc3R5cGUpOworCX0KKworCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKKworbm90aGluZzoKKwlyZXR1cm4gcmM7Cit9CisKKworLyoKKyAqIEFsbCBCU0QgdmFyaWFudHMgdXNlIHRoZSBzYW1lIG1hZ2ljIHN0cmluZyAobGl0dGxlLWVuZGlhbiksCisgKiBhbmQgdGhlIHNhbWUgZGlza2xhYmVsLgorICoKKyAqIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4ge0ZyZWUsT3BlbiwuLi59QlNEIGlzIGluIHRoZSAocGFyZW50YWwpCisgKiBwcmltYXJ5IHBhcnRpdGlvbiB0eXBlLgorICoKKyAqIFNlZSBhbHNvOiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0JTRF9kaXNrbGFiZWwKKyAqCisgKiBUaGUgbG9jYXRpb24gb2YgQlNEIGRpc2sgbGFiZWwgaXMgYXJjaGl0ZWN0dXJlIHNwZWNpZmljIGFuZCBpbiBkZWZpbmVkIGJ5CisgKiBMQUJFTFNFQ1RPUiBhbmQgTEFCRUxPRkZTRVQgbWFjcm9zIGluIHRoZSBkaXNrbGFiZWwuaCBmaWxlLiBUaGUgbG9jYXRpb24KKyAqIGFsc28gZGVwZW5kcyBvbiBCU0QgdmFyaWFudCwgRnJlZUJTRCB1c2VzIG9ubHkgb25lIGxvY2F0aW9uLCBOZXRCU0QgYW5kCisgKiBPcGVuQlNEIGFyZSBtb3JlIGNyZWF0aXZlLi4uCisgKgorICogVGhlIGJhc2ljIG92ZXJ2aWV3OgorICoKKyAqIGFyY2ggICAgICAgICAgICAgICAgICAgIHwgTEFCRUxTRUNUT1IgfCBMQUJFTE9GRlNFVAorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgKiBhbWQ2NCBhcm0gaHBwYSBocHBhNjQgICB8ICAgICAgICAgICAgIHwKKyAqIGkzODYsIG1hY3BwYywgbXZtZXBwYyAgIHwgICAgICAxICAgICAgfCAgICAgIDAKKyAqIHNnaSwgYXZpaW9uLCBzaCwgc29jcHBjIHwgICAgICAgICAgICAgfAorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgKiBhbHBoYSBsdW5hODhrIG1hYzY4ayAgICB8ICAgICAgMCAgICAgIHwgICAgIDY0CisgKiBzcGFyYyhPcGVuQlNEKSB2YXggICAgICB8ICAgICAgICAgICAgIHwKKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorICogc3BhcmM2NCBzcGFyYyhOZXRCU0QpICAgfCAgICAgIDAgICAgICB8ICAgIDEyOAorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgKgorICogLi4uYW5kIG1vcmUgKHNlZSBodHRwOi8vZnhyLndhdHNvbi5vcmcvZnhyL2lkZW50P3Y9TkVUQlNEO2k9TEFCRUxTRUNUT1IpCisgKgorICovCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGJzZF9wdF9pZGluZm8gPQoreworCS5uYW1lCQk9ICJic2QiLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9ic2RfcHQsCisJLm1hZ2ljcwkJPQorCXsKKwkJeyAubWFnaWMgPSAiXHg1N1x4NDVceDU2XHg4MiIsIC5sZW4gPSA0LCAuc2JvZmYgPSA1MTIgfSwKKwkJeyAubWFnaWMgPSAiXHg1N1x4NDVceDU2XHg4MiIsIC5sZW4gPSA0LCAuc2JvZmYgPSA2NCB9LAorCQl7IC5tYWdpYyA9ICJceDU3XHg0NVx4NTZceDgyIiwgLmxlbiA9IDQsIC5zYm9mZiA9IDEyOCB9LAorCQl7IE5VTEwgfQorCX0KK307CisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL2Rvcy5jIGIvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvZG9zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzBlM2U5ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL2Rvcy5jCkBAIC0wLDAgKzEsMzU1IEBACisvKgorICogTVMtRE9TIHBhcnRpdGlvbiBwYXJzaW5nIGNvZGUKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqCisgKiBJbnNwaXJlZCBieSBmZGlzaywgcGFydHgsIExpbnV4IGtlcm5lbCBhbmQgbGlicGFydGVkLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgInBhcnRpdGlvbnMuaCIKKyNpbmNsdWRlICJhaXguaCIKKworLyogc2VlIHN1cGVyYmxvY2tzL3ZmYXQuYyAqLworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9pc192ZmF0KGJsa2lkX3Byb2JlIHByKTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBkb3Nfc3VidHlwZXMgeworCXVuc2lnbmVkIGNoYXIgdHlwZTsKKwljb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvICppZDsKK30gZG9zX25lc3RlZFtdID0geworCXsgTUJSX0ZSRUVCU0RfUEFSVElUSU9OLCAmYnNkX3B0X2lkaW5mbyB9LAorCXsgTUJSX05FVEJTRF9QQVJUSVRJT04sICZic2RfcHRfaWRpbmZvIH0sCisJeyBNQlJfT1BFTkJTRF9QQVJUSVRJT04sICZic2RfcHRfaWRpbmZvIH0sCisJeyBNQlJfVU5JWFdBUkVfUEFSVElUSU9OLCAmdW5peHdhcmVfcHRfaWRpbmZvIH0sCisJeyBNQlJfU09MQVJJU19YODZfUEFSVElUSU9OLCAmc29sYXJpc194ODZfcHRfaWRpbmZvIH0sCisJeyBNQlJfTUlOSVhfUEFSVElUSU9OLCAmbWluaXhfcHRfaWRpbmZvIH0KK307CisKK3N0YXRpYyBpbmxpbmUgaW50IGlzX2V4dGVuZGVkKHN0cnVjdCBkb3NfcGFydGl0aW9uICpwKQoreworCXJldHVybiAocC0+c3lzX2luZCA9PSBNQlJfRE9TX0VYVEVOREVEX1BBUlRJVElPTiB8fAorCQlwLT5zeXNfaW5kID09IE1CUl9XOTVfRVhURU5ERURfUEFSVElUSU9OIHx8CisJCXAtPnN5c19pbmQgPT0gTUJSX0xJTlVYX0VYVEVOREVEX1BBUlRJVElPTik7Cit9CisKK3N0YXRpYyBpbnQgcGFyc2VfZG9zX2V4dGVuZGVkKGJsa2lkX3Byb2JlIHByLCBibGtpZF9wYXJ0dGFibGUgdGFiLAorCQl1aW50MzJfdCBleF9zdGFydCwgdWludDMyX3QgZXhfc2l6ZSwgaW50IHNzZikKK3sKKwlibGtpZF9wYXJ0bGlzdCBscyA9IGJsa2lkX3Byb2JlX2dldF9wYXJ0bGlzdChwcik7CisJdWludDMyX3QgY3VyX3N0YXJ0ID0gZXhfc3RhcnQsIGN1cl9zaXplID0gZXhfc2l6ZTsKKwl1bnNpZ25lZCBjaGFyICpkYXRhOworCWludCBjdF9ub2RhdGEgPSAwOwkvKiBjb3VudCBleHQucGFydGl0aW9ucyB3aXRob3V0IGRhdGEgcGFydGl0aW9ucyAqLworCWludCBpOworCisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygicGFyc2UgRUJSIFtzdGFydD0lZCwgc2l6ZT0lZF0iLCBleF9zdGFydC9zc2YsIGV4X3NpemUvc3NmKSk7CisJaWYgKGV4X3N0YXJ0ID09IDApIHsKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiQmFkIG9mZnNldCBpbiBwcmltYXJ5IGV4dGVuZGVkIHBhcnRpdGlvbiAtLSBpZ25vcmUiKSk7CisJCXJldHVybiAwOworCX0KKworCXdoaWxlICgxKSB7CisJCXN0cnVjdCBkb3NfcGFydGl0aW9uICpwLCAqcDA7CisJCXVpbnQzMl90IHN0YXJ0LCBzaXplOworCisJCWlmICgrK2N0X25vZGF0YSA+IDEwMCkKKwkJCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKKwkJZGF0YSA9IGJsa2lkX3Byb2JlX2dldF9zZWN0b3IocHIsIGN1cl9zdGFydCk7CisJCWlmICghZGF0YSkgeworCQkJaWYgKGVycm5vKQorCQkJCXJldHVybiAtZXJybm87CisJCQlnb3RvIGxlYXZlOwkvKiBtYWxmb3JtZWQgcGFydGl0aW9uPyAqLworCQl9CisKKwkJaWYgKCFtYnJfaXNfdmFsaWRfbWFnaWMoZGF0YSkpCisJCQlnb3RvIGxlYXZlOworCisJCXAwID0gbWJyX2dldF9wYXJ0aXRpb24oZGF0YSwgMCk7CisKKwkJLyogVXN1YWxseSwgdGhlIGZpcnN0IGVudHJ5IGlzIHRoZSByZWFsIGRhdGEgcGFydGl0aW9uLAorCQkgKiB0aGUgMm5kIGVudHJ5IGlzIHRoZSBuZXh0IGV4dGVuZGVkIHBhcnRpdGlvbiwgb3IgZW1wdHksCisJCSAqIGFuZCB0aGUgM3JkIGFuZCA0dGggZW50cmllcyBhcmUgdW51c2VkLgorCQkgKiBIb3dldmVyLCBEUkRPUyBzb21ldGltZXMgaGFzIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24gYXMKKwkJICogdGhlIGZpcnN0IGVudHJ5ICh3aGVuIHRoZSBkYXRhIHBhcnRpdGlvbiBpcyBlbXB0eSksCisJCSAqIGFuZCBPUy8yIHNlZW1zIHRvIHVzZSBhbGwgZm91ciBlbnRyaWVzLgorCQkgKiAtLSBMaW51eCBrZXJuZWwgZnMvcGFydGl0aW9ucy9kb3MuYworCQkgKgorCQkgKiBTZWUgYWxzbyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0V4dGVuZGVkX2Jvb3RfcmVjb3JkCisJCSAqLworCisJCS8qIFBhcnNlIGRhdGEgcGFydGl0aW9uICovCisJCWZvciAocCA9IHAwLCBpID0gMDsgaSA8IDQ7IGkrKywgcCsrKSB7CisJCQl1aW50MzJfdCBhYnNfc3RhcnQ7CisJCQlibGtpZF9wYXJ0aXRpb24gcGFyOworCisJCQkvKiB0aGUgc3RhcnQgaXMgcmVsYXRpdmUgdG8gdGhlIHBhcmVudGFsIGV4dC5wYXJ0aXRpb24gKi8KKwkJCXN0YXJ0ID0gZG9zX3BhcnRpdGlvbl9nZXRfc3RhcnQocCkgKiBzc2Y7CisJCQlzaXplID0gZG9zX3BhcnRpdGlvbl9nZXRfc2l6ZShwKSAqIHNzZjsKKwkJCWFic19zdGFydCA9IGN1cl9zdGFydCArIHN0YXJ0OwkvKiBhYnNvbHV0ZSBzdGFydCAqLworCisJCQlpZiAoIXNpemUgfHwgaXNfZXh0ZW5kZWQocCkpCisJCQkJY29udGludWU7CisJCQlpZiAoaSA+PSAyKSB7CisJCQkJLyogZXh0cmEgY2hlY2tzIHRvIGRldGVjdCByZWFsIGRhdGEgb24KKwkJCQkgKiAzcmQgYW5kIDR0aCBlbnRyaWVzICovCisJCQkJaWYgKHN0YXJ0ICsgc2l6ZSA+IGN1cl9zaXplKQorCQkJCQljb250aW51ZTsKKwkJCQlpZiAoYWJzX3N0YXJ0IDwgZXhfc3RhcnQpCisJCQkJCWNvbnRpbnVlOworCQkJCWlmIChhYnNfc3RhcnQgKyBzaXplID4gZXhfc3RhcnQgKyBleF9zaXplKQorCQkJCQljb250aW51ZTsKKwkJCX0KKworCQkJLyogQXZvaWQgcmVjdXJzaXZlIG5vbi1lbXB0eSBsaW5rcywgc2VlIGN0X25vZGF0YSBjb3VudGVyICovCisJCQlpZiAoYmxraWRfcGFydGxpc3RfZ2V0X3BhcnRpdGlvbl9ieV9zdGFydChscywgYWJzX3N0YXJ0KSkgeworCQkJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIiMlZDogRUJSIGR1cGxpY2F0ZSBkYXRhIHBhcnRpdGlvbiBbYWJzIHN0YXJ0PSV1XSAtLSBpZ25vcmUiLAorCQkJCQkJCWkgKyAxLCBhYnNfc3RhcnQpKTsKKwkJCQljb250aW51ZTsKKwkJCX0KKworCQkJcGFyID0gYmxraWRfcGFydGxpc3RfYWRkX3BhcnRpdGlvbihscywgdGFiLCBhYnNfc3RhcnQsIHNpemUpOworCQkJaWYgKCFwYXIpCisJCQkJcmV0dXJuIC1FTk9NRU07CisKKwkJCWJsa2lkX3BhcnRpdGlvbl9zZXRfdHlwZShwYXIsIHAtPnN5c19pbmQpOworCQkJYmxraWRfcGFydGl0aW9uX3NldF9mbGFncyhwYXIsIHAtPmJvb3RfaW5kKTsKKwkJCWJsa2lkX3BhcnRpdGlvbl9nZW5fdXVpZChwYXIpOworCQkJY3Rfbm9kYXRhID0gMDsKKwkJfQorCQkvKiBUaGUgZmlyc3QgbmVzdGVkIGV4dC5wYXJ0aXRpb24gc2hvdWxkIGJlIGEgbGluayB0byB0aGUgbmV4dAorCQkgKiBsb2dpY2FsIHBhcnRpdGlvbi4gRXZlcnl0aGluZyBvdGhlciAocmVjdXJzaXZlIGV4dC5wYXJ0aXRpb25zKQorCQkgKiBpcyBqdW5rLgorCQkgKi8KKwkJZm9yIChwID0gcDAsIGkgPSAwOyBpIDwgNDsgaSsrLCBwKyspIHsKKwkJCXN0YXJ0ID0gZG9zX3BhcnRpdGlvbl9nZXRfc3RhcnQocCkgKiBzc2Y7CisJCQlzaXplID0gZG9zX3BhcnRpdGlvbl9nZXRfc2l6ZShwKSAqIHNzZjsKKworCQkJaWYgKHNpemUgJiYgaXNfZXh0ZW5kZWQocCkpIHsKKwkJCQlpZiAoc3RhcnQgPT0gMCkKKwkJCQkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiIyVkOiBFQlIgbGluayBvZmZzZXQgaXMgemVybyAtLSBpZ25vcmUiLCBpICsgMSkpOworCQkJCWVsc2UKKwkJCQkJYnJlYWs7CisJCQl9CisJCX0KKwkJaWYgKGkgPT0gNCkKKwkJCWdvdG8gbGVhdmU7CisKKwkJY3VyX3N0YXJ0ID0gZXhfc3RhcnQgKyBzdGFydDsKKwkJY3VyX3NpemUgPSBzaXplOworCX0KK2xlYXZlOgorCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKK30KKworc3RhdGljIGlubGluZSBpbnQgaXNfbHZtKGJsa2lkX3Byb2JlIHByKQoreworCXN0cnVjdCBibGtpZF9wcnZhbCAqdiA9IF9fYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlKHByLCAiVFlQRSIpOworCisJcmV0dXJuICh2ICYmIHYtPmRhdGEgJiYgc3RyY21wKChjaGFyICopIHYtPmRhdGEsICJMVk0yX21lbWJlciIpID09IDApOworfQorCitzdGF0aWMgaW5saW5lIGludCBpc19lbXB0eV9tYnIodW5zaWduZWQgY2hhciAqbWJyKQoreworCXN0cnVjdCBkb3NfcGFydGl0aW9uICpwID0gbWJyX2dldF9wYXJ0aXRpb24obWJyLCAwKTsKKwlpbnQgaSwgbnBhcnRzID0gMDsKKworCWZvciAoaSA9IDA7IGkgPCA0OyBpKyspIHsKKwkJaWYgKGRvc19wYXJ0aXRpb25fZ2V0X3NpemUocCkgPiAwKQorCQkJbnBhcnRzKys7CisJCXArKzsKKwl9CisKKwlyZXR1cm4gbnBhcnRzID09IDA7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfZG9zX3B0KGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJaW50IGk7CisJaW50IHNzZjsKKwlibGtpZF9wYXJ0dGFibGUgdGFiID0gTlVMTDsKKwlibGtpZF9wYXJ0bGlzdCBsczsKKwlzdHJ1Y3QgZG9zX3BhcnRpdGlvbiAqcDAsICpwOworCXVuc2lnbmVkIGNoYXIgKmRhdGE7CisJdWludDMyX3Qgc3RhcnQsIHNpemUsIGlkOworCWNoYXIgaWRzdHJbMzddOworCisKKwlkYXRhID0gYmxraWRfcHJvYmVfZ2V0X3NlY3RvcihwciwgMCk7CisJaWYgKCFkYXRhKSB7CisJCWlmIChlcnJubykKKwkJCXJldHVybiAtZXJybm87CisJCWdvdG8gbm90aGluZzsKKwl9CisKKwkvKiBpZ25vcmUgZGlza3Mgd2l0aCBBSVggbWFnaWMgbnVtYmVyIC0tIGZvciBtb3JlIGRldGFpbHMgc2VlIGFpeC5jICovCisJaWYgKG1lbWNtcChkYXRhLCBCTEtJRF9BSVhfTUFHSUNfU1RSSU5HLCBCTEtJRF9BSVhfTUFHSUNfU1RSTEVOKSA9PSAwKQorCQlnb3RvIG5vdGhpbmc7CisKKwlwMCA9IG1icl9nZXRfcGFydGl0aW9uKGRhdGEsIDApOworCisJLyoKKwkgKiBSZWplY3QgUFQgd2hlcmUgYm9vdCBpbmRpY2F0b3IgaXMgbm90IDAgb3IgMHg4MC4KKwkgKi8KKwlmb3IgKHAgPSBwMCwgaSA9IDA7IGkgPCA0OyBpKyssIHArKykKKwkJaWYgKHAtPmJvb3RfaW5kICE9IDAgJiYgcC0+Ym9vdF9pbmQgIT0gMHg4MCkgeworCQkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygibWlzc2luZyBib290IGluZGljYXRvciAtLSBpZ25vcmUiKSk7CisJCQlnb3RvIG5vdGhpbmc7CisJCX0KKworCS8qCisJICogR1BUIHVzZXMgdmFsaWQgTUJSCisJICovCisJZm9yIChwID0gcDAsIGkgPSAwOyBpIDwgNDsgaSsrLCBwKyspIHsKKwkJaWYgKHAtPnN5c19pbmQgPT0gTUJSX0dQVF9QQVJUSVRJT04pIHsKKwkJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoInByb2JhYmx5IEdQVCAtLSBpZ25vcmUiKSk7CisJCQlnb3RvIG5vdGhpbmc7CisJCX0KKwl9CisKKwkvKgorCSAqIE5vdyB0aGF0IHRoZSA1NWFhIHNpZ25hdHVyZSBpcyBwcmVzZW50LCB0aGlzIGlzIHByb2JhYmx5CisJICogZWl0aGVyIHRoZSBib290IHNlY3RvciBvZiBhIEZBVCBmaWxlc3lzdGVtIG9yIGEgRE9TLXR5cGUKKwkgKiBwYXJ0aXRpb24gdGFibGUuCisJICovCisJaWYgKGJsa2lkX3Byb2JlX2lzX3ZmYXQocHIpID09IDEpIHsKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygicHJvYmFibHkgRkFUIC0tIGlnbm9yZSIpKTsKKwkJZ290byBub3RoaW5nOworCX0KKworCS8qCisJICogVWdseSBleGNlcHRpb24sIGlmIHRoZSBkZXZpY2UgY29udGFpbnMgYSB2YWxpZCBMVk0gcGh5c2ljYWwgdm9sdW1lCisJICogYW5kIGVtcHR5IE1CUiAoPW5vIHBhcnRpdGlvbiBkZWZpbmVkKSB0aGVuIGl0J3MgTFZNIGFuZCBNQlIgc2hvdWxkCisJICogYmUgaWdub3JlZC4gQ3JhenkgcGVvcGxlIHVzZSBpdCB0byBib290IGZyb20gTFZNIGRldmljZXMuCisJICovCisJaWYgKGlzX2x2bShwcikgJiYgaXNfZW1wdHlfbWJyKGRhdGEpKSB7CisJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoImVtcHR5IE1CUiBvbiBMVk0gZGV2aWNlIC0tIGlnbm9yZSIpKTsKKwkJZ290byBub3RoaW5nOworCX0KKworCWJsa2lkX3Byb2JlX3VzZV93aXBlcihwciwgTUJSX1BUX09GRlNFVCwgNTEyIC0gTUJSX1BUX09GRlNFVCk7CisKKwlpZCA9IG1icl9nZXRfaWQoZGF0YSk7CisJaWYgKGlkKQorCQlzbnByaW50ZihpZHN0ciwgc2l6ZW9mKGlkc3RyKSwgIiUwOHgiLCBpZCk7CisKKwkvKgorCSAqIFdlbGwsIGFsbCBjaGVja3MgcGFzcywgaXQncyBNUy1ET1MgcGFydGl0aW9uIHRhYmxlCisJICovCisJaWYgKGJsa2lkX3BhcnRpdGlvbnNfbmVlZF90eXBlb25seShwcikpIHsKKwkJLyogTm9uLWJpbmFyeSBpbnRlcmZhY2UgLS0gY2FsbGVyIGRvZXMgbm90IGFzayBmb3IgZGV0YWlscworCQkgKiBhYm91dCBwYXJ0aXRpb25zLCBqdXN0IHNldCBnZW5lcmljIHZhcmlhYmxlcyBvbmx5LiAqLworCQlpZiAoaWQpCisJCQlibGtpZF9wYXJ0aXRpb25zX3N0cmNweV9wdHV1aWQocHIsIGlkc3RyKTsKKwkJcmV0dXJuIDA7CisJfQorCisJbHMgPSBibGtpZF9wcm9iZV9nZXRfcGFydGxpc3QocHIpOworCWlmICghbHMpCisJCWdvdG8gbm90aGluZzsKKworCS8qIHNlY3RvciBzaXplIGZhY3RvciAodGhlIHN0YXJ0IGFuZCBzaXplIGFyZSBpbiB0aGUgcmVhbCBzZWN0b3JzLCBidXQKKwkgKiB3ZSBuZWVkIHRvIGNvbnZlcnQgYWxsIHNpemVzIHRvIDUxMiBsb2dpY2FsIHNlY3RvcnMKKwkgKi8KKwlzc2YgPSBibGtpZF9wcm9iZV9nZXRfc2VjdG9yc2l6ZShwcikgLyA1MTI7CisKKwkvKiBhbGxvY2F0ZSBhIG5ldyBwYXJ0aXRpb24gdGFibGUgKi8KKwl0YWIgPSBibGtpZF9wYXJ0bGlzdF9uZXdfcGFydHRhYmxlKGxzLCAiZG9zIiwgTUJSX1BUX09GRlNFVCk7CisJaWYgKCF0YWIpCisJCXJldHVybiAtRU5PTUVNOworCisJaWYgKGlkKQorCQlibGtpZF9wYXJ0dGFibGVfc2V0X2lkKHRhYiwgKHVuc2lnbmVkIGNoYXIgKikgaWRzdHIpOworCisJLyogUGFyc2UgcHJpbWFyeSBwYXJ0aXRpb25zICovCisJZm9yIChwID0gcDAsIGkgPSAwOyBpIDwgNDsgaSsrLCBwKyspIHsKKwkJYmxraWRfcGFydGl0aW9uIHBhcjsKKworCQlzdGFydCA9IGRvc19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHApICogc3NmOworCQlzaXplID0gZG9zX3BhcnRpdGlvbl9nZXRfc2l6ZShwKSAqIHNzZjsKKworCQlpZiAoIXNpemUpIHsKKwkJCS8qIExpbnV4IGtlcm5lbCBpZ25vcmVzIGVtcHR5IHBhcnRpdGlvbnMsIGJ1dCBwYXJ0bm8gZm9yCisJCQkgKiB0aGUgZW1wdHkgcHJpbWFyeSBwYXJ0aXRpb25zIGlzIG5vdCByZXVzZWQgKi8KKwkJCWJsa2lkX3BhcnRsaXN0X2luY3JlbWVudF9wYXJ0bm8obHMpOworCQkJY29udGludWU7CisJCX0KKwkJcGFyID0gYmxraWRfcGFydGxpc3RfYWRkX3BhcnRpdGlvbihscywgdGFiLCBzdGFydCwgc2l6ZSk7CisJCWlmICghcGFyKQorCQkJcmV0dXJuIC1FTk9NRU07CisKKwkJYmxraWRfcGFydGl0aW9uX3NldF90eXBlKHBhciwgcC0+c3lzX2luZCk7CisJCWJsa2lkX3BhcnRpdGlvbl9zZXRfZmxhZ3MocGFyLCBwLT5ib290X2luZCk7CisJCWJsa2lkX3BhcnRpdGlvbl9nZW5fdXVpZChwYXIpOworCX0KKworCS8qIExpbnV4IHVzZXMgcGFydGl0aW9uIG51bWJlcnMgZ3JlYXRlciB0aGFuIDQKKwkgKiBmb3IgYWxsIGxvZ2ljYWwgcGFydGl0aW9uIGFuZCBhbGwgbmVzdGVkIHBhcnRpdGlvbiB0YWJsZXMgKGJzZCwgLi4pCisJICovCisJYmxraWRfcGFydGxpc3Rfc2V0X3BhcnRubyhscywgNSk7CisKKwkvKiBQYXJzZSBsb2dpY2FsIHBhcnRpdGlvbnMgKi8KKwlmb3IgKHAgPSBwMCwgaSA9IDA7IGkgPCA0OyBpKyssIHArKykgeworCQlzdGFydCA9IGRvc19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHApICogc3NmOworCQlzaXplID0gZG9zX3BhcnRpdGlvbl9nZXRfc2l6ZShwKSAqIHNzZjsKKworCQlpZiAoIXNpemUpCisJCQljb250aW51ZTsKKwkJaWYgKGlzX2V4dGVuZGVkKHApICYmCisJCSAgICBwYXJzZV9kb3NfZXh0ZW5kZWQocHIsIHRhYiwgc3RhcnQsIHNpemUsIHNzZikgPT0gLTEpCisJCQlnb3RvIG5vdGhpbmc7CisJfQorCisJLyogUGFyc2Ugc3VidHlwZXMgKG5lc3RlZCBwYXJ0aXRpb25zKSBvbiBsYXJnZSBkaXNrcyAqLworCWlmICghYmxraWRfcHJvYmVfaXNfdGlueShwcikpIHsKKwkJZm9yIChwID0gcDAsIGkgPSAwOyBpIDwgNDsgaSsrLCBwKyspIHsKKwkJCXNpemVfdCBuOworCQkJaW50IHJjOworCisJCQlpZiAoIWRvc19wYXJ0aXRpb25fZ2V0X3NpemUocCkgfHwgaXNfZXh0ZW5kZWQocCkpCisJCQkJY29udGludWU7CisKKwkJCWZvciAobiA9IDA7IG4gPCBBUlJBWV9TSVpFKGRvc19uZXN0ZWQpOyBuKyspIHsKKwkJCQlpZiAoZG9zX25lc3RlZFtuXS50eXBlICE9IHAtPnN5c19pbmQpCisJCQkJCWNvbnRpbnVlOworCisJCQkJcmMgPSBibGtpZF9wYXJ0aXRpb25zX2RvX3N1YnByb2JlKHByLAorCQkJCQkJYmxraWRfcGFydGxpc3RfZ2V0X3BhcnRpdGlvbihscywgaSksCisJCQkJCQlkb3NfbmVzdGVkW25dLmlkKTsKKwkJCQlpZiAocmMgPCAwKQorCQkJCQlyZXR1cm4gcmM7CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwl9CisJcmV0dXJuIEJMS0lEX1BST0JFX09LOworCitub3RoaW5nOgorCXJldHVybiBCTEtJRF9QUk9CRV9OT05FOworfQorCisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gZG9zX3B0X2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gImRvcyIsCisJLnByb2JlZnVuYwk9IHByb2JlX2Rvc19wdCwKKwkubWFnaWNzCQk9CisJeworCQkvKiBET1MgbWFzdGVyIGJvb3Qgc2VjdG9yOgorCQkgKgorCQkgKiAgICAgMCB8IENvZGUgQXJlYQorCQkgKiAgIDQ0MCB8IE9wdGlvbmFsIERpc2sgc2lnbmF0dXJlCisJCSAqICAgNDQ2IHwgUGFydGl0aW9uIHRhYmxlCisJCSAqICAgNTEwIHwgMHg1NQorCQkgKiAgIDUxMSB8IDB4QUEKKwkJICovCisJCXsgLm1hZ2ljID0gIlx4NTVceEFBIiwgLmxlbiA9IDIsIC5zYm9mZiA9IDUxMCB9LAorCQl7IE5VTEwgfQorCX0KK307CisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL2dwdC5jIGIvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvZ3B0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjdkMDUwNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL2dwdC5jCkBAIC0wLDAgKzEsNDczIEBACisvKgorICogRUZJIEdQVCBwYXJ0aXRpb24gcGFyc2luZyBjb2RlCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKgorICogVGhpcyBjb2RlIGlzIG5vdCBjb3B5ICYgcGFzdCBmcm9tIGFueSBvdGhlciBpbXBsZW1lbnRhdGlvbi4KKyAqCisgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBHUFQgc3RhcnQgeW91ciBzdHVkeSBhdDoKKyAqIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvR1VJRF9QYXJ0aXRpb25fVGFibGUKKyAqIGh0dHA6Ly90ZWNobmV0Lm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9jYzczOTQxMihXUy4xMCkuYXNweAorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzdGRkZWYuaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKworI2luY2x1ZGUgInBhcnRpdGlvbnMuaCIKKyNpbmNsdWRlICJjcmMzMi5oIgorCisjZGVmaW5lIEdQVF9QUklNQVJZX0xCQQkxCisKKy8qIFNpZ25hdHVyZSAtIOKAnEVGSSBQQVJU4oCdICovCisjZGVmaW5lIEdQVF9IRUFERVJfU0lHTkFUVVJFIDB4NTQ1MjQxNTAyMDQ5NDY0NVVMTAorI2RlZmluZSBHUFRfSEVBREVSX1NJR05BVFVSRV9TVFIgIkVGSSBQQVJUIgorCisvKiBiYXNpYyB0eXBlcyAqLwordHlwZWRlZiB1aW50MTZfdCBlZmlfY2hhcjE2X3Q7CisKKy8qIFVVSUQgKi8KK3R5cGVkZWYgc3RydWN0IHsKKwl1aW50MzJfdCB0aW1lX2xvdzsKKwl1aW50MTZfdCB0aW1lX21pZDsKKwl1aW50MTZfdCB0aW1lX2hpX2FuZF92ZXJzaW9uOworCXVpbnQ4X3QgY2xvY2tfc2VxX2hpOworCXVpbnQ4X3QgY2xvY2tfc2VxX2xvdzsKKwl1aW50OF90IG5vZGVbNl07Cit9IGVmaV9ndWlkX3Q7CisKKworI2RlZmluZSBHUFRfVU5VU0VEX0VOVFJZX0dVSUQgXAorCSAgICAoKGVmaV9ndWlkX3QpIHsgMHgwMDAwMDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAsIDB4MDAsIFwKKwkgICAgICAgICAgICAgICAgICAgIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCB9fSkKK3N0cnVjdCBncHRfaGVhZGVyIHsKKwl1aW50NjRfdAlzaWduYXR1cmU7CQkvKiAiRUZJIFBBUlQiICovCisJdWludDMyX3QJcmV2aXNpb247CisJdWludDMyX3QJaGVhZGVyX3NpemU7CQkvKiB1c3VhbGx5IDkyIGJ5dGVzICovCisJdWludDMyX3QJaGVhZGVyX2NyYzMyOwkJLyogY2hlY2tzdW0gb2YgaGVhZGVyIHdpdGggdGhpcworCQkJCQkJICogZmllbGQgemVyb2VkIGR1cmluZyBjYWxjdWxhdGlvbiAqLworCXVpbnQzMl90CXJlc2VydmVkMTsKKworCXVpbnQ2NF90CW15X2xiYTsJCQkvKiBsb2NhdGlvbiBvZiB0aGlzIGhlYWRlciBjb3B5ICovCisJdWludDY0X3QJYWx0ZXJuYXRlX2xiYTsJCS8qIGxvY2F0aW9uIG9mIHRoZSBvdGhlciBoZWFkZXIgY29weSAqLworCXVpbnQ2NF90CWZpcnN0X3VzYWJsZV9sYmE7CS8qIGZpcnN0IHVzYWJsZSBMQkEgZm9yIHBhcnRpdGlvbnMgKi8KKwl1aW50NjRfdAlsYXN0X3VzYWJsZV9sYmE7CS8qIGxhc3QgdXNhYmxlIExCQSBmb3IgcGFydGl0aW9ucyAqLworCisJZWZpX2d1aWRfdAlkaXNrX2d1aWQ7CQkvKiBkaXNrIFVVSUQgKi8KKworCXVpbnQ2NF90CXBhcnRpdGlvbl9lbnRyaWVzX2xiYTsJLyogYWx3YXlzIDIgaW4gcHJpbWFyeSBoZWFkZXIgY29weSAqLworCXVpbnQzMl90CW51bV9wYXJ0aXRpb25fZW50cmllczsKKwl1aW50MzJfdAlzaXplb2ZfcGFydGl0aW9uX2VudHJ5OworCXVpbnQzMl90CXBhcnRpdGlvbl9lbnRyeV9hcnJheV9jcmMzMjsKKworCS8qCisJICogVGhlIHJlc3Qgb2YgdGhlIGJsb2NrIGlzIHJlc2VydmVkIGJ5IFVFRkkgYW5kIG11c3QgYmUgemVyby4gRUZJCisJICogc3RhbmRhcmQgaGFuZGxlcyB0aGlzIGJ5OgorCSAqCisJICogdWludDhfdAkJcmVzZXJ2ZWQyWyBCTEtTU1pHRVQgLSA5MiBdOworCSAqCisJICogVGhpcyBkZWZpbml0aW9uIGlzIHVzZWxlc3MgaW4gcHJhY3RpY2UuIEl0IGlzIG5lY2Vzc2FyeSB0byByZWFkCisJICogd2hvbGUgYmxvY2sgZnJvbSB0aGUgZGV2aWNlIHJhdGhlciB0aGFuIHNpemVvZihzdHJ1Y3QgZ3B0X2hlYWRlcikKKwkgKiBvbmx5LgorCSAqLworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisKKy8qKiogbm90IHVzZWQKK3N0cnVjdCBncHRfZW50cnlfYXR0cmlidXRlcyB7CisJdWludDY0X3QJcmVxdWlyZWRfdG9fZnVuY3Rpb246MTsKKwl1aW50NjRfdAlyZXNlcnZlZDo0NzsKKyAgICAgICAgdWludDY0X3QJdHlwZV9ndWlkX3NwZWNpZmljOjE2OworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisqKiovCisKK3N0cnVjdCBncHRfZW50cnkgeworCWVmaV9ndWlkX3QJcGFydGl0aW9uX3R5cGVfZ3VpZDsJLyogdHlwZSBVVUlEICovCisJZWZpX2d1aWRfdAl1bmlxdWVfcGFydGl0aW9uX2d1aWQ7CS8qIHBhcnRpdGlvbiBVVUlEICovCisJdWludDY0X3QJc3RhcnRpbmdfbGJhOworCXVpbnQ2NF90CWVuZGluZ19sYmE7CisKKwkvKnN0cnVjdCBncHRfZW50cnlfYXR0cmlidXRlcwlhdHRyaWJ1dGVzOyovCisKKwl1aW50NjRfdAlhdHRyaWJ1dGVzOworCisJZWZpX2NoYXIxNl90CXBhcnRpdGlvbl9uYW1lWzcyIC8gc2l6ZW9mKGVmaV9jaGFyMTZfdCldOyAvKiBVVEYtMTZMRSBzdHJpbmcqLworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisKKworLyoKKyAqIEVGSSB1c2VzIGNyYzMyIHdpdGggfjAgc2VlZCBhbmQgeG9yJ3Mgd2l0aCB+MCBhdCB0aGUgZW5kLgorICovCitzdGF0aWMgaW5saW5lIHVpbnQzMl90IGNvdW50X2NyYzMyKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbiwKKwkJCQkgICBzaXplX3QgZXhjbHVkZV9vZmYsIHNpemVfdCBleGNsdWRlX2xlbikKK3sKKwlyZXR1cm4gKHVsX2NyYzMyX2V4Y2x1ZGVfb2Zmc2V0KH4wTCwgYnVmLCBsZW4sIGV4Y2x1ZGVfb2ZmLCBleGNsdWRlX2xlbikgXiB+MEwpOworfQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGNoYXIgKmdldF9sYmFfYnVmZmVyKGJsa2lkX3Byb2JlIHByLAorCQkJCQl1aW50NjRfdCBsYmEsIHNpemVfdCBieXRlcykKK3sKKwlyZXR1cm4gYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwKKwkJCWJsa2lkX3Byb2JlX2dldF9zZWN0b3JzaXplKHByKSAqIGxiYSwgYnl0ZXMpOworfQorCitzdGF0aWMgaW5saW5lIGludCBndWlkY21wKGVmaV9ndWlkX3QgbGVmdCwgZWZpX2d1aWRfdCByaWdodCkKK3sKKwlyZXR1cm4gbWVtY21wKCZsZWZ0LCAmcmlnaHQsIHNpemVvZiAoZWZpX2d1aWRfdCkpOworfQorCisvKgorICogVVVJRCBpcyB0cmFkaXRpb25hbGx5IDE2IGJ5dGUgYmlnLWVuZGlhbiBhcnJheSwgZXhjZXB0IEludGVsIEVGSQorICogc3BlY2lmaWNhdGlvbiB3aGVyZSB0aGUgVVVJRCBpcyBhIHN0cnVjdHVyZSBvZiBsaXR0bGUtZW5kaWFuIGZpZWxkcy4KKyAqLworc3RhdGljIHZvaWQgc3dhcF9lZmlfZ3VpZChlZmlfZ3VpZF90ICp1aWQpCit7CisJdWlkLT50aW1lX2xvdyA9IHN3YWIzMih1aWQtPnRpbWVfbG93KTsKKwl1aWQtPnRpbWVfbWlkID0gc3dhYjE2KHVpZC0+dGltZV9taWQpOworCXVpZC0+dGltZV9oaV9hbmRfdmVyc2lvbiA9IHN3YWIxNih1aWQtPnRpbWVfaGlfYW5kX3ZlcnNpb24pOworfQorCitzdGF0aWMgaW50IGxhc3RfbGJhKGJsa2lkX3Byb2JlIHByLCB1aW50NjRfdCAqbGJhKQoreworCXVpbnQ2NF90IHN6ID0gYmxraWRfcHJvYmVfZ2V0X3NpemUocHIpOworCXVuc2lnbmVkIGludCBzc3ogPSBibGtpZF9wcm9iZV9nZXRfc2VjdG9yc2l6ZShwcik7CisKKwlpZiAoc3ogPCBzc3opCisJCXJldHVybiAtMTsKKworCSpsYmEgPSAoc3ogLyBzc3opIC0gMVVMTDsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFByb3RlY3RpdmUgKGxlZ2FjeSkgTUJSLgorICoKKyAqIFRoaXMgTUJSIGNvbnRhaW5zIHN0YW5kYXJkIERPUyBwYXJ0aXRpb24gdGFibGUgd2l0aCBhIHNpbmdsZSBwYXJ0aXRpb24sIHR5cGUKKyAqIG9mIDB4RUUuICBUaGUgcGFydGl0aW9uIHVzdWFsbHkgZW5jb21wYXNzaW5nIHRoZSBlbnRpcmUgR1BUIGRyaXZlIC0gb3IgMlRpQgorICogZm9yIGxhcmdlIGRpc2tzLgorICoKKyAqIE5vdGUgdGhhdCBBcHBsZSB1c2VzIEdQVC9NQlIgaHlicmlkIGRpc2tzLCB3aGVyZSB0aGUgRE9TIHBhcnRpdGlvbiB0YWJsZSBpcworICogc3luY2hyb25pemVkIHdpdGggR1BULiBUaGlzIHN5bmNocm9uaXphdGlvbiBoYXMgbWFueSByZXN0cmljdGlvbiBvZiBjb3Vyc2UKKyAqIChkdWUgRE9TIFBUIGxpbWl0YXRpb25zKS4KKyAqCisgKiBOb3RlIHRoYXQgdGhlIFBNQlIgZGV0ZWN0aW9uIGlzIG9wdGlvbmFsIChlbmFibGVkIGJ5IGRlZmF1bHQpIGFuZCBjb3VsZCBiZQorICogZGlzYWJsZWQgYnkgQkxLSURfUEFSVFNfRk9QQ0VfR1BUIGZsYWcgKHNlZSBhbHNvIGJsa2lkX3BhcnRpdGlvbnNfc2V0X2ZsYWdzKCkpLgorICovCitzdGF0aWMgaW50IGlzX3BtYnJfdmFsaWQoYmxraWRfcHJvYmUgcHIsIGludCAqaGFzKQoreworCWludCBmbGFncyA9IGJsa2lkX3BhcnRpdGlvbnNfZ2V0X2ZsYWdzKHByKTsKKwl1bnNpZ25lZCBjaGFyICpkYXRhOworCXN0cnVjdCBkb3NfcGFydGl0aW9uICpwOworCWludCBpOworCisJaWYgKGhhcykKKwkJKmhhcyA9IDA7CisJZWxzZSBpZiAoZmxhZ3MgJiBCTEtJRF9QQVJUU19GT1JDRV9HUFQpCisJCXJldHVybiAxOwkJCS8qIHNraXAgUE1CUiBjaGVjayAqLworCisJZGF0YSA9IGJsa2lkX3Byb2JlX2dldF9zZWN0b3IocHIsIDApOworCWlmICghZGF0YSkgeworCQlpZiAoZXJybm8pCisJCQlyZXR1cm4gLWVycm5vOworCQlnb3RvIGZhaWxlZDsKKwl9CisKKwlpZiAoIW1icl9pc192YWxpZF9tYWdpYyhkYXRhKSkKKwkJZ290byBmYWlsZWQ7CisKKwlmb3IgKGkgPSAwLCBwID0gbWJyX2dldF9wYXJ0aXRpb24oZGF0YSwgMCk7IGkgPCA0OyBpKyssIHArKykgeworCQlpZiAocC0+c3lzX2luZCA9PSBNQlJfR1BUX1BBUlRJVElPTikgeworCQkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiICMlZCB2YWxpZCBQTUJSIHBhcnRpdGlvbiIsIGkgKyAxKSk7CisJCQlnb3RvIG9rOworCQl9CisJfQorZmFpbGVkOgorCXJldHVybiAwOworb2s6CisJaWYgKGhhcykKKwkJKmhhcyA9IDE7CisJcmV0dXJuIDE7Cit9CisKKy8qCisgKiBSZWFkcyBHUFQgaGVhZGVyIHRvIEBoZHIgYW5kIHJldHVybnMgYSBwb2ludGVyIHRvIEBoZHIgb3IgTlVMTCBpbiBjYXNlIG9mCisgKiBlcnJvci4gVGhlIGZ1bmN0aW9uIGFsc28gcmV0dXJucyBHUFQgZW50cmllcyBpbiBAZW50cy4KKyAqCisgKiBOb3RlLCB0aGlzIGZ1bmN0aW9uIGRvZXMgbm90IGFsbG9jYXRlIGFueSBtZW1vcnkuIFRoZSBHUFQgaGVhZGVyIGhhcyBmaXhlZAorICogc2l6ZSBzbyB3ZSB1c2Ugc3RhY2ssIGFuZCBAZW50cyByZXR1cm5zIG1lbW9yeSBmcm9tIGxpYmJsa2lkIGJ1ZmZlciAoc28gdGhlCisgKiBuZXh0IGJsa2lkX3Byb2JlX2dldF9idWZmZXIoKSB3aWxsIG92ZXJ3cml0ZSB0aGlzIGJ1ZmZlcikuCisgKgorICogVGhpcyBmdW5jdGlvbiBjaGVja3MgdmFsaWRpdHkgb2YgaGVhZGVyIGFuZCBlbnRyaWVzIGFycmF5LiBBIGNvcnJ1cHRlZAorICogaGVhZGVyIGlzIG5vdCByZXR1cm5lZC4KKyAqLworc3RhdGljIHN0cnVjdCBncHRfaGVhZGVyICpnZXRfZ3B0X2hlYWRlcigKKwkJCQlibGtpZF9wcm9iZSBwciwgc3RydWN0IGdwdF9oZWFkZXIgKmhkciwKKwkJCQlzdHJ1Y3QgZ3B0X2VudHJ5ICoqZW50cywgdWludDY0X3QgbGJhLAorCQkJCXVpbnQ2NF90IGxhc3RsYmEpCit7CisJc3RydWN0IGdwdF9oZWFkZXIgKmg7CisJdWludDMyX3QgY3JjOworCXVpbnQ2NF90IGx1LCBmdTsKKwl1aW50NjRfdCBlc3o7CisJdWludDMyX3QgaHN6LCBzc3o7CisKKwlzc3ogPSBibGtpZF9wcm9iZV9nZXRfc2VjdG9yc2l6ZShwcik7CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCIgY2hlY2tpbmcgZm9yIEdQVCBoZWFkZXIgYXQgJWp1IiwgbGJhKSk7CisKKwkvKiB3aG9sZSBzZWN0b3IgaXMgYWxsb2NhdGVkIGZvciBHUFQgaGVhZGVyICovCisJaCA9IChzdHJ1Y3QgZ3B0X2hlYWRlciAqKSBnZXRfbGJhX2J1ZmZlcihwciwgbGJhLCBzc3opOworCWlmICghaCkKKwkJcmV0dXJuIE5VTEw7CisKKwlpZiAobGU2NF90b19jcHUoaC0+c2lnbmF0dXJlKSAhPSBHUFRfSEVBREVSX1NJR05BVFVSRSkKKwkJcmV0dXJuIE5VTEw7CisKKwloc3ogPSBsZTMyX3RvX2NwdShoLT5oZWFkZXJfc2l6ZSk7CisKKwkvKiBFRkk6IFRoZSBIZWFkZXJTaXplIG11c3QgYmUgZ3JlYXRlciB0aGFuIDkyIGFuZCBtdXN0IGJlIGxlc3MKKwkgKiAgICAgIHRoYW4gb3IgZXF1YWwgdG8gdGhlIGxvZ2ljYWwgYmxvY2sgc2l6ZS4KKwkgKi8KKwlpZiAoaHN6ID4gc3N6IHx8IGhzeiA8IHNpemVvZigqaCkpCisJCXJldHVybiBOVUxMOworCisJLyogSGVhZGVyIGhhcyB0byBiZSB2ZXJpZmllZCB3aGVuIGhlYWRlcl9jcmMzMiBpcyB6ZXJvICovCisJY3JjID0gY291bnRfY3JjMzIoKHVuc2lnbmVkIGNoYXIgKikgaCwgaHN6LAorCQkJb2Zmc2V0b2Yoc3RydWN0IGdwdF9oZWFkZXIsIGhlYWRlcl9jcmMzMiksCisJCQlzaXplb2YoaC0+aGVhZGVyX2NyYzMyKSk7CisKKwlpZiAoY3JjICE9IGxlMzJfdG9fY3B1KGgtPmhlYWRlcl9jcmMzMikpIHsKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiR1BUIGhlYWRlciBjb3JydXB0ZWQiKSk7CisJCXJldHVybiBOVUxMOworCX0KKworCS8qIFZhbGlkIGhlYWRlciBoYXMgdG8gYmUgYXQgTXlMQkEgKi8KKwlpZiAobGU2NF90b19jcHUoaC0+bXlfbGJhKSAhPSBsYmEpIHsKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygKKwkJCSJHUFQtPk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiIpKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJZnUgPSBsZTY0X3RvX2NwdShoLT5maXJzdF91c2FibGVfbGJhKTsKKwlsdSA9IGxlNjRfdG9fY3B1KGgtPmxhc3RfdXNhYmxlX2xiYSk7CisKKwkvKiBDaGVjayBpZiBGaXJzdCBhbmQgTGFzdCB1c2FibGUgTEJBIG1ha2VzIHNlbnNlICovCisJaWYgKGx1IDwgZnUgfHwgZnUgPiBsYXN0bGJhIHx8IGx1ID4gbGFzdGxiYSkgeworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKAorCQkJIkdQVC0+e0ZpcnN0LExhc3R9VXNhYmxlTEJBIG91dCBvZiByYW5nZSIpKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJLyogVGhlIGhlYWRlciBoYXMgdG8gYmUgb3V0c2lkZSB1c2FibGUgcmFuZ2UgKi8KKwlpZiAoZnUgPCBsYmEgJiYgbGJhIDwgbHUpIHsKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiR1BUIGhlYWRlciBpcyBpbnNpZGUgdXNhYmxlIGFyZWEiKSk7CisJCXJldHVybiBOVUxMOworCX0KKworCS8qIFNpemUgb2YgYmxvY2tzIHdpdGggR1BUIGVudHJpZXMgKi8KKwllc3ogPSAodWludDY0X3QpbGUzMl90b19jcHUoaC0+bnVtX3BhcnRpdGlvbl9lbnRyaWVzKSAqCisJCWxlMzJfdG9fY3B1KGgtPnNpemVvZl9wYXJ0aXRpb25fZW50cnkpOworCisJaWYgKGVzeiA9PSAwIHx8IGVzeiA+PSBVSU5UMzJfTUFYIHx8CisJICAgIGxlMzJfdG9fY3B1KGgtPnNpemVvZl9wYXJ0aXRpb25fZW50cnkpICE9IHNpemVvZihzdHJ1Y3QgZ3B0X2VudHJ5KSkgeworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJHUFQgZW50cmllcyB1bmRlZmluZWQiKSk7CisJCXJldHVybiBOVUxMOworCX0KKworCS8qIFRoZSBoZWFkZXIgc2VlbXMgdmFsaWQsIHNhdmUgaXQKKwkgKiAod2UgZG9uJ3QgY2FyZSBhYm91dCB6ZXJvcyBpbiBoZHItPnJlc2VydmVkMiBhcmVhKSAqLworCW1lbWNweShoZHIsIGgsIHNpemVvZigqaCkpOworCWggPSBoZHI7CisKKwkvKiBSZWFkIEdQVCBlbnRyaWVzICovCisJKmVudHMgPSAoc3RydWN0IGdwdF9lbnRyeSAqKSBnZXRfbGJhX2J1ZmZlcihwciwKKwkJCQlsZTY0X3RvX2NwdShoLT5wYXJ0aXRpb25fZW50cmllc19sYmEpLCBlc3opOworCWlmICghKmVudHMpIHsKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiR1BUIGVudHJpZXMgdW5yZWFkYWJsZSIpKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJLyogVmFsaWRhdGUgZW50cmllcyAqLworCWNyYyA9IGNvdW50X2NyYzMyKCh1bnNpZ25lZCBjaGFyICopICplbnRzLCBlc3osIDAsIDApOworCWlmIChjcmMgIT0gbGUzMl90b19jcHUoaC0+cGFydGl0aW9uX2VudHJ5X2FycmF5X2NyYzMyKSkgeworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJHUFQgZW50cmllcyBjb3JydXB0ZWQiKSk7CisJCXJldHVybiBOVUxMOworCX0KKworCXJldHVybiBoOworfQorCitzdGF0aWMgaW50IHByb2JlX2dwdF9wdChibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXVpbnQ2NF90IGxhc3RsYmEgPSAwLCBsYmE7CisJc3RydWN0IGdwdF9oZWFkZXIgaGRyLCAqaDsKKwlzdHJ1Y3QgZ3B0X2VudHJ5ICplOworCWJsa2lkX3BhcnR0YWJsZSB0YWIgPSBOVUxMOworCWJsa2lkX3BhcnRsaXN0IGxzOworCXVpbnQ2NF90IGZ1LCBsdTsKKwl1aW50MzJfdCBzc2YsIGk7CisJZWZpX2d1aWRfdCBndWlkOworCWludCByZXQ7CisKKwlpZiAobGFzdF9sYmEocHIsICZsYXN0bGJhKSkKKwkJZ290byBub3RoaW5nOworCisJcmV0ID0gaXNfcG1icl92YWxpZChwciwgTlVMTCk7CisJaWYgKHJldCA8IDApCisJCXJldHVybiByZXQ7CisJZWxzZSBpZiAocmV0ID09IDApCisJCWdvdG8gbm90aGluZzsKKworCWVycm5vID0gMDsKKwloID0gZ2V0X2dwdF9oZWFkZXIocHIsICZoZHIsICZlLCAobGJhID0gR1BUX1BSSU1BUllfTEJBKSwgbGFzdGxiYSk7CisJaWYgKCFoICYmICFlcnJubykKKwkJaCA9IGdldF9ncHRfaGVhZGVyKHByLCAmaGRyLCAmZSwgKGxiYSA9IGxhc3RsYmEpLCBsYXN0bGJhKTsKKworCWlmICghaCkgeworCQlpZiAoZXJybm8pCisJCQlyZXR1cm4gLWVycm5vOworCQlnb3RvIG5vdGhpbmc7CisJfQorCisJYmxraWRfcHJvYmVfdXNlX3dpcGVyKHByLCBsYmEgKiBibGtpZF9wcm9iZV9nZXRfc2l6ZShwciksIDgpOworCisJaWYgKGJsa2lkX3Byb2JlX3NldF9tYWdpYyhwciwgYmxraWRfcHJvYmVfZ2V0X3NlY3RvcnNpemUocHIpICogbGJhLAorCQkJICAgICAgc2l6ZW9mKEdQVF9IRUFERVJfU0lHTkFUVVJFX1NUUikgLSAxLAorCQkJICAgICAgKHVuc2lnbmVkIGNoYXIgKikgR1BUX0hFQURFUl9TSUdOQVRVUkVfU1RSKSkKKwkJZ290byBlcnI7CisKKwlndWlkID0gaC0+ZGlza19ndWlkOworCXN3YXBfZWZpX2d1aWQoJmd1aWQpOworCisJaWYgKGJsa2lkX3BhcnRpdGlvbnNfbmVlZF90eXBlb25seShwcikpIHsKKwkJLyogTm9uLWJpbmFyeSBpbnRlcmZhY2UgLS0gY2FsbGVyIGRvZXMgbm90IGFzayBmb3IgZGV0YWlscworCQkgKiBhYm91dCBwYXJ0aXRpb25zLCBqdXN0IHNldCBnZW5lcmljIHZhcmlhYmxlcyBvbmx5LiAqLworCQlibGtpZF9wYXJ0aXRpb25zX3NldF9wdHV1aWQocHIsICh1bnNpZ25lZCBjaGFyICopICZndWlkKTsKKwkJcmV0dXJuIEJMS0lEX1BST0JFX09LOworCX0KKworCWxzID0gYmxraWRfcHJvYmVfZ2V0X3BhcnRsaXN0KHByKTsKKwlpZiAoIWxzKQorCQlnb3RvIG5vdGhpbmc7CisKKwl0YWIgPSBibGtpZF9wYXJ0bGlzdF9uZXdfcGFydHRhYmxlKGxzLCAiZ3B0IiwKKwkJCQlibGtpZF9wcm9iZV9nZXRfc2VjdG9yc2l6ZShwcikgKiBsYmEpOworCWlmICghdGFiKQorCQlnb3RvIGVycjsKKworCWJsa2lkX3BhcnR0YWJsZV9zZXRfdXVpZCh0YWIsIChjb25zdCB1bnNpZ25lZCBjaGFyICopICZndWlkKTsKKworCXNzZiA9IGJsa2lkX3Byb2JlX2dldF9zZWN0b3JzaXplKHByKSAvIDUxMjsKKworCWZ1ID0gbGU2NF90b19jcHUoaC0+Zmlyc3RfdXNhYmxlX2xiYSk7CisJbHUgPSBsZTY0X3RvX2NwdShoLT5sYXN0X3VzYWJsZV9sYmEpOworCisJZm9yIChpID0gMDsgaSA8IGxlMzJfdG9fY3B1KGgtPm51bV9wYXJ0aXRpb25fZW50cmllcyk7IGkrKywgZSsrKSB7CisKKwkJYmxraWRfcGFydGl0aW9uIHBhcjsKKwkJdWludDY0X3Qgc3RhcnQgPSBsZTY0X3RvX2NwdShlLT5zdGFydGluZ19sYmEpOworCQl1aW50NjRfdCBzaXplID0gbGU2NF90b19jcHUoZS0+ZW5kaW5nX2xiYSkgLQorCQkJCQlsZTY0X3RvX2NwdShlLT5zdGFydGluZ19sYmEpICsgMVVMTDsKKworCQkvKiAwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAgZW50cnkgKi8KKwkJaWYgKCFndWlkY21wKGUtPnBhcnRpdGlvbl90eXBlX2d1aWQsIEdQVF9VTlVTRURfRU5UUllfR1VJRCkpIHsKKwkJCWJsa2lkX3BhcnRsaXN0X2luY3JlbWVudF9wYXJ0bm8obHMpOworCQkJY29udGludWU7CisJCX0KKwkJLyogdGhlIHBhcnRpdGlvbiBoYXMgdG8gaW5zaWRlIHVzYWJsZSByYW5nZSAqLworCQlpZiAoc3RhcnQgPCBmdSB8fCBzdGFydCArIHNpemUgLSAxID4gbHUpIHsKKwkJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoCisJCQkJIkdQVCBlbnRyeVslZF0gb3ZlcmZsb3dzIHVzYWJsZSBhcmVhIC0gaWdub3JlIiwKKwkJCQlpKSk7CisJCQlibGtpZF9wYXJ0bGlzdF9pbmNyZW1lbnRfcGFydG5vKGxzKTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJcGFyID0gYmxraWRfcGFydGxpc3RfYWRkX3BhcnRpdGlvbihscywgdGFiLAorCQkJCQlzdGFydCAqIHNzZiwgc2l6ZSAqIHNzZik7CisJCWlmICghcGFyKQorCQkJZ290byBlcnI7CisKKwkJYmxraWRfcGFydGl0aW9uX3NldF91dGY4bmFtZShwYXIsCisJCQkodW5zaWduZWQgY2hhciAqKSBlLT5wYXJ0aXRpb25fbmFtZSwKKwkJCXNpemVvZihlLT5wYXJ0aXRpb25fbmFtZSksIEJMS0lEX0VOQ19VVEYxNkxFKTsKKworCQlndWlkID0gZS0+dW5pcXVlX3BhcnRpdGlvbl9ndWlkOworCQlzd2FwX2VmaV9ndWlkKCZndWlkKTsKKwkJYmxraWRfcGFydGl0aW9uX3NldF91dWlkKHBhciwgKGNvbnN0IHVuc2lnbmVkIGNoYXIgKikgJmd1aWQpOworCisJCWd1aWQgPSBlLT5wYXJ0aXRpb25fdHlwZV9ndWlkOworCQlzd2FwX2VmaV9ndWlkKCZndWlkKTsKKwkJYmxraWRfcGFydGl0aW9uX3NldF90eXBlX3V1aWQocGFyLCAoY29uc3QgdW5zaWduZWQgY2hhciAqKSAmZ3VpZCk7CisKKwkJYmxraWRfcGFydGl0aW9uX3NldF9mbGFncyhwYXIsIGxlNjRfdG9fY3B1KGUtPmF0dHJpYnV0ZXMpKTsKKwl9CisKKwlyZXR1cm4gQkxLSURfUFJPQkVfT0s7CisKK25vdGhpbmc6CisJcmV0dXJuIEJMS0lEX1BST0JFX05PTkU7CisKK2VycjoKKwlyZXR1cm4gLUVOT01FTTsKK30KKworCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGdwdF9wdF9pZGluZm8gPQoreworCS5uYW1lCQk9ICJncHQiLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9ncHRfcHQsCisJLm1pbnN6CQk9IDEwMjQgKiAxNDQwICsgMSwJLyogaWdub3JlIGZsb3BwaWVzICovCisKKwkvKgorCSAqIEl0IHdvdWxkIGJlIHBvc3NpYmxlIHRvIGNoZWNrIGZvciBET1Mgc2lnbmF0dXJlICgweEFBNTUpLCBidXQKKwkgKiB1bmZvcnR1bmF0ZWx5IGFsbW9zdCBhbGwgRUZJIEdQVCBpbXBsZW1lbnRhdGlvbnMgYWxsb3cgdG8gb3B0aW9uYWxseQorCSAqIHNraXAgdGhlIGxlZ2FjeSBNQlIuIFdlIGZvbGxvd3MgdGhpcyBiZWhhdmlvciBhbmQgTUJSIGlzIG9wdGlvbmFsLgorCSAqIFNlZSBpc192YWxpZF9wbWJyKCkuCisJICoKKwkgKiBJdCBtZWFucyB3ZSBoYXZlIHRvIGFsd2F5cyBjYWxsIHByb2JlX2dwdF9wdCgpLgorCSAqLworCS5tYWdpY3MJCT0gQkxLSURfTk9ORV9NQUdJQworfTsKKworCisKKy8qIHByb2JlIGZvciAqYWxvbmUqIHByb3RlY3RpdmUgTUJSICovCitzdGF0aWMgaW50IHByb2JlX3BtYnJfcHQoYmxraWRfcHJvYmUgcHIsCisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlpbnQgaGFzID0gMDsKKwlzdHJ1Y3QgZ3B0X2VudHJ5ICplOworCXVpbnQ2NF90IGxhc3RsYmEgPSAwOworCXN0cnVjdCBncHRfaGVhZGVyIGhkcjsKKworCWlmIChsYXN0X2xiYShwciwgJmxhc3RsYmEpKQorCQlnb3RvIG5vdGhpbmc7CisKKwlpc19wbWJyX3ZhbGlkKHByLCAmaGFzKTsKKwlpZiAoIWhhcykKKwkJZ290byBub3RoaW5nOworCisJaWYgKCFnZXRfZ3B0X2hlYWRlcihwciwgJmhkciwgJmUsIEdQVF9QUklNQVJZX0xCQSwgbGFzdGxiYSkgJiYKKwkgICAgIWdldF9ncHRfaGVhZGVyKHByLCAmaGRyLCAmZSwgbGFzdGxiYSwgbGFzdGxiYSkpCisJCXJldHVybiAwOworbm90aGluZzoKKwlyZXR1cm4gMTsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBwbWJyX3B0X2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gIlBNQlIiLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9wbWJyX3B0LAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gIlx4NTVceEFBIiwgLmxlbiA9IDIsIC5zYm9mZiA9IDUxMCB9LAorCQl7IE5VTEwgfQorCX0KK307CisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL21hYy5jIGIvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvbWFjLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDcxM2Q2MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL21hYy5jCkBAIC0wLDAgKzEsMTkxIEBACisvKgorICogbWFjIHBhcnRpdGlvbnMgcGFyc2luZyBjb2RlCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgInBhcnRpdGlvbnMuaCIKKworI2RlZmluZSBNQUNfUEFSVElUSU9OX01BR0lDCQkweDUwNGQKKyNkZWZpbmUgTUFDX1BBUlRJVElPTl9NQUdJQ19PTEQJCTB4NTQ1MworCisvKgorICogTWFjIHBhcnRpdGlvbiBlbnRyeQorICogaHR0cDovL2RldmVsb3Blci5hcHBsZS5jb20vbGVnYWN5L21hYy9saWJyYXJ5L2RvY3VtZW50YXRpb24vbWFjL0RldmljZXMvRGV2aWNlcy0xMjYuaHRtbAorICovCitzdHJ1Y3QgbWFjX3BhcnRpdGlvbiB7CisJdWludDE2X3QJc2lnbmF0dXJlOwkvKiBleHBlY3RlZCB0byBiZSBNQUNfUEFSVElUSU9OX01BR0lDICovCisJdWludDE2X3QJcmVzZXJ2ZWQ7CS8qIHJlc2VydmVkICovCisJdWludDMyX3QJbWFwX2NvdW50OwkvKiAjIGJsb2NrcyBpbiBwYXJ0aXRpb24gbWFwICovCisJdWludDMyX3QJc3RhcnRfYmxvY2s7CS8qIGFic29sdXRlIHN0YXJ0aW5nIGJsb2NrICMgb2YgcGFydGl0aW9uICovCisJdWludDMyX3QJYmxvY2tfY291bnQ7CS8qIG51bWJlciBvZiBibG9ja3MgaW4gcGFydGl0aW9uICovCisJY2hhcgkJbmFtZVszMl07CS8qIHBhcnRpdGlvbiBuYW1lICovCisJY2hhcgkJdHlwZVszMl07CS8qIHN0cmluZyB0eXBlIGRlc2NyaXB0aW9uICovCisJdWludDMyX3QJZGF0YV9zdGFydDsJLyogcmVsIGJsb2NrICMgb2YgZmlyc3QgZGF0YSBibG9jayAqLworCXVpbnQzMl90CWRhdGFfY291bnQ7CS8qIG51bWJlciBvZiBkYXRhIGJsb2NrcyAqLworCXVpbnQzMl90CXN0YXR1czsJCS8qIHBhcnRpdGlvbiBzdGF0dXMgYml0cyAqLworCXVpbnQzMl90CWJvb3Rfc3RhcnQ7CS8qIGZpcnN0IGxvZ2ljYWwgYmxvY2sgb2YgYm9vdCBjb2RlICovCisJdWludDMyX3QJYm9vdF9zaXplOwkvKiBzaXplIG9mIGJvb3QgY29kZSwgaW4gYnl0ZXMgKi8KKwl1aW50MzJfdAlib290X2xvYWQ7CS8qIGJvb3QgY29kZSBsb2FkIGFkZHJlc3MgKi8KKwl1aW50MzJfdAlib290X2xvYWQyOwkvKiByZXNlcnZlZCAqLworCXVpbnQzMl90CWJvb3RfZW50cnk7CS8qIGJvb3QgY29kZSBlbnRyeSBwb2ludCAqLworCXVpbnQzMl90CWJvb3RfZW50cnkyOwkvKiByZXNlcnZlZCAqLworCXVpbnQzMl90CWJvb3RfY2tzdW07CS8qIGJvb3QgY29kZSBjaGVja3N1bSAqLworCWNoYXIJCXByb2Nlc3NvclsxNl07CS8qIGlkZW50aWZpZXMgSVNBIG9mIGJvb3QgKi8KKworCS8qIHRoZXJlIGlzIG1vcmUgc3R1ZmYgYWZ0ZXIgdGhpcyB0aGF0IHdlIGRvbid0IG5lZWQgKi8KK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKy8qCisgKiBEcml2ZXIgZGVzY3JpcHRvciBzdHJ1Y3R1cmUsIGluIGJsb2NrIDAKKyAqIGh0dHA6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xlZ2FjeS9tYWMvbGlicmFyeS9kb2N1bWVudGF0aW9uL21hYy9EZXZpY2VzL0RldmljZXMtMTIxLmh0bWwKKyAqLworc3RydWN0IG1hY19kcml2ZXJfZGVzYyB7CisJdWludDE2X3QJc2lnbmF0dXJlOwkvKiBleHBlY3RlZCB0byBiZSBNQUNfRFJJVkVSX01BR0lDICovCisJdWludDE2X3QJYmxvY2tfc2l6ZTsJLyogYmxvY2sgc2l6ZSBvZiB0aGUgZGV2aWNlICovCisJdWludDMyX3QJYmxvY2tfY291bnQ7CS8qIG51bWJlciBvZiBibG9ja3Mgb24gdGhlIGRldmljZSAqLworCisJLyogdGhlcmUgaXMgbW9yZSBzdHVmZiBhZnRlciB0aGlzIHRoYXQgd2UgZG9uJ3QgbmVlZCAqLworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBjaGFyICpnZXRfbWFjX2Jsb2NrKAorCQkJCQlibGtpZF9wcm9iZSBwciwKKwkJCQkJdWludDE2X3QgYmxvY2tfc2l6ZSwKKwkJCQkJdWludDMyX3QgbnVtKQoreworCXJldHVybiBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLCAodWludDY0X3QpIG51bSAqIGJsb2NrX3NpemUsIGJsb2NrX3NpemUpOworfQorCitzdGF0aWMgaW5saW5lIGludCBoYXNfcGFydF9zaWduYXR1cmUoc3RydWN0IG1hY19wYXJ0aXRpb24gKnApCit7CisJcmV0dXJuCWJlMTZfdG9fY3B1KHAtPnNpZ25hdHVyZSkgPT0gTUFDX1BBUlRJVElPTl9NQUdJQyB8fAorCQliZTE2X3RvX2NwdShwLT5zaWduYXR1cmUpID09IE1BQ19QQVJUSVRJT05fTUFHSUNfT0xEOworfQorCitzdGF0aWMgaW50IHByb2JlX21hY19wdChibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXN0cnVjdCBtYWNfZHJpdmVyX2Rlc2MgKm1kOworCXN0cnVjdCBtYWNfcGFydGl0aW9uICpwOworCWJsa2lkX3BhcnR0YWJsZSB0YWIgPSBOVUxMOworCWJsa2lkX3BhcnRsaXN0IGxzOworCXVpbnQxNl90IGJsb2NrX3NpemU7CisJdWludDE2X3Qgc3NmOwkvKiBzZWN0b3Igc2l6ZSBmcmFnbWVudCAqLworCXVpbnQzMl90IG5ibGtzLCBpOworCisKKwkvKiBUaGUgZHJpdmVyIGRlc2NyaXB0b3IgcmVjb3JkIGlzIGFsd2F5cyBsb2NhdGVkIGF0IHBoeXNpY2FsIGJsb2NrIDAsCisJICogdGhlIGZpcnN0IGJsb2NrIG9uIHRoZSBkaXNrLgorCSAqLworCW1kID0gKHN0cnVjdCBtYWNfZHJpdmVyX2Rlc2MgKikgYmxraWRfcHJvYmVfZ2V0X3NlY3RvcihwciwgMCk7CisJaWYgKCFtZCkgeworCQlpZiAoZXJybm8pCisJCQlyZXR1cm4gLWVycm5vOworCQlnb3RvIG5vdGhpbmc7CisJfQorCisJYmxvY2tfc2l6ZSA9IGJlMTZfdG9fY3B1KG1kLT5ibG9ja19zaXplKTsKKworCS8qIFRoZSBwYXJ0aXRpb24gbWFwIGFsd2F5cyBiZWdpbnMgYXQgcGh5c2ljYWwgYmxvY2sgMSwKKwkgKiB0aGUgc2Vjb25kIGJsb2NrIG9uIHRoZSBkaXNrLgorCSAqLworCXAgPSAoc3RydWN0IG1hY19wYXJ0aXRpb24gKikgZ2V0X21hY19ibG9jayhwciwgYmxvY2tfc2l6ZSwgMSk7CisJaWYgKCFwKSB7CisJCWlmIChlcnJubykKKwkJCXJldHVybiAtZXJybm87CisJCWdvdG8gbm90aGluZzsKKwl9CisKKwkvKiBjaGVjayB0aGUgZmlyc3QgcGFydGl0aW9uIHNpZ25hdHVyZSAqLworCWlmICghaGFzX3BhcnRfc2lnbmF0dXJlKHApKQorCQlnb3RvIG5vdGhpbmc7CisKKwlpZiAoYmxraWRfcGFydGl0aW9uc19uZWVkX3R5cGVvbmx5KHByKSkKKwkJLyogY2FsbGVyIGRvZXMgbm90IGFzayBmb3IgZGV0YWlscyBhYm91dCBwYXJ0aXRpb25zICovCisJCXJldHVybiAwOworCisJbHMgPSBibGtpZF9wcm9iZV9nZXRfcGFydGxpc3QocHIpOworCWlmICghbHMpCisJCWdvdG8gbm90aGluZzsKKworCXRhYiA9IGJsa2lkX3BhcnRsaXN0X25ld19wYXJ0dGFibGUobHMsICJtYWMiLCAwKTsKKwlpZiAoIXRhYikKKwkJZ290byBlcnI7CisKKwlzc2YgPSBibG9ja19zaXplIC8gNTEyOworCW5ibGtzID0gYmUzMl90b19jcHUocC0+bWFwX2NvdW50KTsKKworCWZvciAoaSA9IDE7IGkgPD0gbmJsa3M7ICsraSkgeworCQlibGtpZF9wYXJ0aXRpb24gcGFyOworCQl1aW50MzJfdCBzdGFydDsKKwkJdWludDMyX3Qgc2l6ZTsKKworCQlwID0gKHN0cnVjdCBtYWNfcGFydGl0aW9uICopIGdldF9tYWNfYmxvY2socHIsIGJsb2NrX3NpemUsIGkpOworCQlpZiAoIXApIHsKKwkJCWlmIChlcnJubykKKwkJCQlyZXR1cm4gLWVycm5vOworCQkJZ290byBub3RoaW5nOworCQl9CisJCWlmICghaGFzX3BhcnRfc2lnbmF0dXJlKHApKQorCQkJZ290byBub3RoaW5nOworCisJCWlmIChiZTMyX3RvX2NwdShwLT5tYXBfY291bnQpICE9IG5ibGtzKSB7CisJCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKAorCQkJCSJtYWM6IGluY29uc2lzdGVudCBtYXBfY291bnQgaW4gcGFydGl0aW9uIG1hcCwgIgorCQkJCSJlbnRyeVswXTogJWQsIGVudHJ5WyVkXTogJWQiLAorCQkJCW5ibGtzLCBpIC0gMSwKKwkJCQliZTMyX3RvX2NwdShwLT5tYXBfY291bnQpKSk7CisJCX0KKworCQkvKgorCQkgKiBub3RlIHRoYXQgbGlicGFydGVkIGlnbm9yZXMgc29tZSBtYWMgcGFydGl0aW9ucyBhY2NvcmRpbmcgdG8KKwkJICogdGhlIHBhcnRpdGlvbiBuYW1lIChlLmcuICJBcHBsZV9GcmVlIiBvciAiQXBwbGVfVm9pZCIpLiBXZQorCQkgKiBmb2xsb3dzIExpbnV4IGtlcm5lbCBhbmQgYWxsIHBhcnRpdGlvbnMgYXJlIHZpc2libGUKKwkJICovCisKKwkJc3RhcnQgPSBiZTMyX3RvX2NwdShwLT5zdGFydF9ibG9jaykgKiBzc2Y7CisJCXNpemUgPSBiZTMyX3RvX2NwdShwLT5ibG9ja19jb3VudCkgKiBzc2Y7CisKKwkJcGFyID0gYmxraWRfcGFydGxpc3RfYWRkX3BhcnRpdGlvbihscywgdGFiLCBzdGFydCwgc2l6ZSk7CisJCWlmICghcGFyKQorCQkJZ290byBlcnI7CisKKwkJYmxraWRfcGFydGl0aW9uX3NldF9uYW1lKHBhciwgKHVuc2lnbmVkIGNoYXIgKikgcC0+bmFtZSwKKwkJCQkJCXNpemVvZihwLT5uYW1lKSk7CisKKwkJYmxraWRfcGFydGl0aW9uX3NldF90eXBlX3N0cmluZyhwYXIsICh1bnNpZ25lZCBjaGFyICopIHAtPnR5cGUsCisJCQkJCQlzaXplb2YocC0+dHlwZSkpOworCX0KKworCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKKworbm90aGluZzoKKwlyZXR1cm4gQkxLSURfUFJPQkVfTk9ORTsKK2VycjoKKwlyZXR1cm4gLUVOT01FTTsKK30KKworLyoKKyAqIE1hYyBkaXNrIGFsd2F5cyBiZWdpbiB3aXRoICJEcml2ZXIgRGVzY3JpcHRvciBSZWNvcmQiCisgKiAoc3RydWN0IG1hY19kcml2ZXJfZGVzYykgYW5kIG1hZ2ljIDB4NDU1Mi4KKyAqLworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBtYWNfcHRfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAibWFjIiwKKwkucHJvYmVmdW5jCT0gcHJvYmVfbWFjX3B0LAorCS5tYWdpY3MJCT0KKwl7CisJCS8qIGJpZy1lbmRpYW4gbWFnaWMgc3RyaW5nICovCisJCXsgLm1hZ2ljID0gIlx4NDVceDUyIiwgLmxlbiA9IDIgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvcGFydGl0aW9ucy9taW5peC5jIGIvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvbWluaXguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40M2M5ZDlhCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvbWluaXguYwpAQCAtMCwwICsxLDEwMiBAQAorLyoKKyAqIE1pbml4IHBhcnRpdGlvbiBwYXJzaW5nIGNvZGUKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJwYXJ0aXRpb25zLmgiCisjaW5jbHVkZSAibWluaXguaCIKKworc3RhdGljIGludCBwcm9iZV9taW5peF9wdChibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXN0cnVjdCBkb3NfcGFydGl0aW9uICpwOworCWJsa2lkX3BhcnR0YWJsZSB0YWIgPSBOVUxMOworCWJsa2lkX3BhcnRpdGlvbiBwYXJlbnQ7CisJYmxraWRfcGFydGxpc3QgbHM7CisJdW5zaWduZWQgY2hhciAqZGF0YTsKKwlpbnQgaTsKKworCWRhdGEgPSBibGtpZF9wcm9iZV9nZXRfc2VjdG9yKHByLCAwKTsKKwlpZiAoIWRhdGEpIHsKKwkJaWYgKGVycm5vKQorCQkJcmV0dXJuIC1lcnJubzsKKwkJZ290byBub3RoaW5nOworCX0KKworCWxzID0gYmxraWRfcHJvYmVfZ2V0X3BhcnRsaXN0KHByKTsKKwlpZiAoIWxzKQorCQlnb3RvIG5vdGhpbmc7CisKKwkvKiBQYXJlbnQgaXMgcmVxdWlyZWQsIGJlY2F1c2UgTWluaXggdXNlcyB0aGUgc2FtZSBQVCBhcyBET1MgYW5kCisJICogZGlmZmVyZW5jZSBpcyBvbmx5IGluIHByaW1hcnkgcGFydGl0aW9uIChwYXJlbnQpIHR5cGUuCisJICovCisJcGFyZW50ID0gYmxraWRfcGFydGxpc3RfZ2V0X3BhcmVudChscyk7CisJaWYgKCFwYXJlbnQpCisJCWdvdG8gbm90aGluZzsKKworCWlmIChibGtpZF9wYXJ0aXRpb25fZ2V0X3R5cGUocGFyZW50KSAhPSBNQlJfTUlOSVhfUEFSVElUSU9OKQorCQlnb3RvIG5vdGhpbmc7CisKKwlpZiAoYmxraWRfcGFydGl0aW9uc19uZWVkX3R5cGVvbmx5KHByKSkKKwkJLyogY2FsbGVyIGRvZXMgbm90IGFzayBmb3IgZGV0YWlscyBhYm91dCBwYXJ0aXRpb25zICovCisJCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKKworCXRhYiA9IGJsa2lkX3BhcnRsaXN0X25ld19wYXJ0dGFibGUobHMsICJtaW5peCIsIE1CUl9QVF9PRkZTRVQpOworCWlmICghdGFiKQorCQlnb3RvIGVycjsKKworCWZvciAoaSA9IDAsIHAgPSBtYnJfZ2V0X3BhcnRpdGlvbihkYXRhLCAwKTsKKwkJCWkgPCBNSU5JWF9NQVhQQVJUSVRJT05TOyBpKyssIHArKykgeworCisJCXVpbnQzMl90IHN0YXJ0LCBzaXplOworCQlibGtpZF9wYXJ0aXRpb24gcGFyOworCisJCWlmIChwLT5zeXNfaW5kICE9IE1CUl9NSU5JWF9QQVJUSVRJT04pCisJCQljb250aW51ZTsKKworCQlzdGFydCA9IGRvc19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHApOworCQlzaXplID0gZG9zX3BhcnRpdGlvbl9nZXRfc2l6ZShwKTsKKworCQlpZiAocGFyZW50ICYmICFibGtpZF9pc19uZXN0ZWRfZGltZW5zaW9uKHBhcmVudCwgc3RhcnQsIHNpemUpKSB7CisJCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKAorCQkJCSJXQVJOSU5HOiBtaW5peCBwYXJ0aXRpb24gKCVkKSBvdmVyZmxvdyAiCisJCQkJImRldGVjdGVkLCBpZ25vcmUiLCBpKSk7CisJCQljb250aW51ZTsKKwkJfQorCisJCXBhciA9IGJsa2lkX3BhcnRsaXN0X2FkZF9wYXJ0aXRpb24obHMsIHRhYiwgc3RhcnQsIHNpemUpOworCQlpZiAoIXBhcikKKwkJCWdvdG8gZXJyOworCisJCWJsa2lkX3BhcnRpdGlvbl9zZXRfdHlwZShwYXIsIHAtPnN5c19pbmQpOworCQlibGtpZF9wYXJ0aXRpb25fc2V0X2ZsYWdzKHBhciwgcC0+Ym9vdF9pbmQpOworCX0KKworCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKKworbm90aGluZzoKKwlyZXR1cm4gQkxLSURfUFJPQkVfTk9ORTsKK2VycjoKKwlyZXR1cm4gLUVOT01FTTsKK30KKworLyogc2FtZSBhcyBET1MgKi8KK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gbWluaXhfcHRfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAibWluaXgiLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9taW5peF9wdCwKKwkubWFnaWNzCQk9CisJeworCQl7IC5tYWdpYyA9ICJceDU1XHhBQSIsIC5sZW4gPSAyLCAuc2JvZmYgPSA1MTAgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvcGFydGl0aW9ucy9wYXJ0aXRpb25zLmMgYi9saWJibGtpZC9zcmMvcGFydGl0aW9ucy9wYXJ0aXRpb25zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTMzMjA5NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL3BhcnRpdGlvbnMuYwpAQCAtMCwwICsxLDE0OTkgQEAKKy8qCisgKiBwYXJ0aXRpb25zIC0gcGFydGl0aW9uIHRhYmxlcyBwYXJzaW5nCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKworI2luY2x1ZGUgInBhcnRpdGlvbnMuaCIKKyNpbmNsdWRlICJzeXNmcy5oIgorCisvKioKKyAqIFNFQ1RJT046IHBhcnRpdGlvbnMKKyAqIEB0aXRsZTogUGFydGl0aW9ucyBwcm9iaW5nCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IHBhcnRpdGlvbnMgdGFibGVzIGRldGVjdGlvbiBhbmQgcGFyc2luZworICoKKyAqIFRoaXMgY2hhaW4gc3VwcG9ydHMgYmluYXJ5IGFuZCBOQU1FPXZhbHVlIGludGVyZmFjZXMsIGJ1dCBjb21wbGV0ZSBQVAorICogZGVzY3JpcHRpb24gaXMgcHJvdmlkZWQgYnkgYmluYXJ5IGludGVyZmFjZSBvbmx5LiBUaGUgbGliYmxraWQgcHJvYmVyIGlzCisgKiBjb21wYXRpYmxlIHdpdGgga2VybmVsIHBhcnRpdGlvbiB0YWJsZXMgcGFyc2VyLiBUaGUgcGFyc2VyIGRvZXMgbm90IHJldHVybgorICogZW1wdHkgKHNpemU9MCkgcGFydGl0aW9ucyBvciBzcGVjaWFsIGhpZGRlbiBwYXJ0aXRpb25zLgorICoKKyAqIE5BTUU9dmFsdWUgaW50ZXJmYWNlLCBzdXBwb3J0ZWQgdGFnczoKKyAqCisgKiBAUFRUWVBFOiBwYXJ0aXRpb24gdGFibGUgdHlwZSAoZG9zLCBncHQsIGV0Yy4pLgorICoKKyAqIEBQVFVVSUQ6IHBhcnRpdGlvbiB0YWJsZSBpZCAodXVpZCBmb3IgZ3B0LCBoZXggZm9yIGRvcykuCisKKyAqIEBQQVJUX0VOVFJZX1NDSEVNRTogcGFydGl0aW9uIHRhYmxlIHR5cGUKKyAqCisgKiBAUEFSVF9FTlRSWV9OQU1FOiBwYXJ0aXRpb24gbmFtZSAoZ3B0IGFuZCBtYWMgb25seSkKKyAqCisgKiBAUEFSVF9FTlRSWV9VVUlEOiBwYXJ0aXRpb24gVVVJRCAoZ3B0LCBvciBwc2V1ZG8gSURzIGZvciBNQlIpCisgKgorICogQFBBUlRfRU5UUllfVFlQRTogcGFydGl0aW9uIHR5cGUsIDB4Tk4gKGUuZyAweDgyKSBvciB0eXBlIFVVSUQgKGdwdCBvbmx5KSBvciB0eXBlIHN0cmluZyAobWFjKQorICoKKyAqIEBQQVJUX0VOVFJZX0ZMQUdTOiBwYXJ0aXRpb24gZmxhZ3MgKGUuZy4gYm9vdF9pbmQpIG9yICBhdHRyaWJ1dGVzIChlLmcuIGdwdCBhdHRyaWJ1dGVzKQorICoKKyAqIEBQQVJUX0VOVFJZX05VTUJFUjogcGFydGl0aW9uIG51bWJlcgorICoKKyAqIEBQQVJUX0VOVFJZX09GRlNFVDogdGhlIGJlZ2luIG9mIHRoZSBwYXJ0aXRpb24KKyAqCisgKiBAUEFSVF9FTlRSWV9TSVpFOiBzaXplIG9mIHRoZSBwYXJ0aXRpb24KKyAqCisgKiBAUEFSVF9FTlRSWV9ESVNLOiB3aG9sZS1kaXNrIG1hajptaW4KKyAqCisgKiBFeGFtcGxlOgorICoKKyAqIDxpbmZvcm1hbGV4YW1wbGU+CisgKiAgPHByb2dyYW1saXN0aW5nPgorICogYmxraWRfcHJvYmUgcHI7CisgKiBjb25zdCBjaGFyICpwdG5hbWU7CisgKgorICogcHIgPSBibGtpZF9uZXdfcHJvYmVfZnJvbV9maWxlbmFtZShkZXZuYW1lKTsKKyAqIGlmICghcHIpCisgKgllcnIoIiVzOiBmYWlsZWQgdG8gb3BlbiBkZXZpY2UiLCBkZXZuYW1lKTsKKyAqCisgKiBibGtpZF9wcm9iZV9lbmFibGVfcGFydGl0aW9ucyhwciwgVFJVRSk7CisgKiBibGtpZF9kb19mdWxscHJvYmUocHIpOworICoKKyAqIGJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIlBUVFlQRSIsICZwdG5hbWUsIE5VTEwpOworICogcHJpbnRmKCIlcyBwYXJ0aXRpb24gdHlwZSBkZXRlY3RlZFxuIiwgcHR0eXBlKTsKKyAqCisgKiBibGtpZF9mcmVlX3Byb2JlKHByKTsKKyAqCisgKiAvLyBkb24ndCBmb3JnZXQgdG8gY2hlY2sgcmV0dXJuIGNvZGVzIGluIHlvdXIgY29kZSEKKyAqICA8L3Byb2dyYW1saXN0aW5nPgorICogPC9pbmZvcm1hbGV4YW1wbGU+CisgKgorICogQmluYXJ5IGludGVyZmFjZToKKyAqCisgKiA8aW5mb3JtYWxleGFtcGxlPgorICogIDxwcm9ncmFtbGlzdGluZz4KKyAqIGJsa2lkX3Byb2JlIHByOworICogYmxraWRfcGFydGxpc3QgbHM7CisgKiBpbnQgbnBhcnRzLCBpOworICoKKyAqIHByID0gYmxraWRfbmV3X3Byb2JlX2Zyb21fZmlsZW5hbWUoZGV2bmFtZSk7CisgKiBpZiAoIXByKQorICoJZXJyKCIlczogZmFpbGVkIHRvIG9wZW4gZGV2aWNlIiwgZGV2bmFtZSk7CisgKgorICogbHMgPSBibGtpZF9wcm9iZV9nZXRfcGFydGl0aW9ucyhwcik7CisgKiBucGFydHMgPSBibGtpZF9wYXJ0bGlzdF9udW1vZl9wYXJ0aXRpb25zKGxzKTsKKyAqCisgKiBmb3IgKGkgPSAwOyBpIDwgbnBhcnRzOyBpKyspIHsKKyAqICAgICAgYmxraWRfcGFydGl0aW9uIHBhciA9IGJsa2lkX3BhcnRsaXN0X2dldF9wYXJ0aXRpb24obHMsIGkpOworICogICAgICBwcmludGYoIiMlZDogJWxsdSAlbGx1ICAweCV4IiwKKyAqICAgICAgICAgICAgICAgYmxraWRfcGFydGl0aW9uX2dldF9wYXJ0bm8ocGFyKSwKKyAqICAgICAgICAgICAgICAgYmxraWRfcGFydGl0aW9uX2dldF9zdGFydChwYXIpLAorICogICAgICAgICAgICAgICBibGtpZF9wYXJ0aXRpb25fZ2V0X3NpemUocGFyKSwKKyAqICAgICAgICAgICAgICAgYmxraWRfcGFydGl0aW9uX2dldF90eXBlKHBhcikpOworICogfQorICoKKyAqIGJsa2lkX2ZyZWVfcHJvYmUocHIpOworICoKKyAqIC8vIGRvbid0IGZvcmdldCB0byBjaGVjayByZXR1cm4gY29kZXMgaW4geW91ciBjb2RlIQorICogIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKyAqLworCisvKgorICogQ2hhaW4gZHJpdmVyIGZ1bmN0aW9uCisgKi8KK3N0YXRpYyBpbnQgcGFydGl0aW9uc19wcm9iZShibGtpZF9wcm9iZSBwciwgc3RydWN0IGJsa2lkX2NoYWluICpjaG4pOworc3RhdGljIHZvaWQgcGFydGl0aW9uc19mcmVlX2RhdGEoYmxraWRfcHJvYmUgcHIsIHZvaWQgKmRhdGEpOworCisvKgorICogUGFydGl0aW9ucyBjaGFpbiBwcm9iaW5nIGZ1bmN0aW9ucworICovCitzdGF0aWMgY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyAqaWRpbmZvc1tdID0KK3sKKwkmYWl4X3B0X2lkaW5mbywKKwkmc2dpX3B0X2lkaW5mbywKKwkmc3VuX3B0X2lkaW5mbywKKwkmZG9zX3B0X2lkaW5mbywKKwkmZ3B0X3B0X2lkaW5mbywKKwkmcG1icl9wdF9pZGluZm8sCS8qIGFsd2F5cyBhZnRlciBHUFQgKi8KKwkmbWFjX3B0X2lkaW5mbywKKwkmdWx0cml4X3B0X2lkaW5mbywKKwkmYnNkX3B0X2lkaW5mbywKKwkmdW5peHdhcmVfcHRfaWRpbmZvLAorCSZzb2xhcmlzX3g4Nl9wdF9pZGluZm8sCisJJm1pbml4X3B0X2lkaW5mbworfTsKKworLyoKKyAqIERyaXZlciBkZWZpbml0aW9uCisgKi8KK2NvbnN0IHN0cnVjdCBibGtpZF9jaGFpbmRydiBwYXJ0aXRpb25zX2RydiA9IHsKKwkuaWQgICAgICAgICAgID0gQkxLSURfQ0hBSU5fUEFSVFMsCisJLm5hbWUgICAgICAgICA9ICJwYXJ0aXRpb25zIiwKKwkuZGZsdF9lbmFibGVkID0gRkFMU0UsCisJLmlkaW5mb3MgICAgICA9IGlkaW5mb3MsCisJLm5pZGluZm9zICAgICA9IEFSUkFZX1NJWkUoaWRpbmZvcyksCisJLmhhc19mbHRyICAgICA9IFRSVUUsCisJLnByb2JlICAgICAgICA9IHBhcnRpdGlvbnNfcHJvYmUsCisJLnNhZmVwcm9iZSAgICA9IHBhcnRpdGlvbnNfcHJvYmUsCisJLmZyZWVfZGF0YSAgICA9IHBhcnRpdGlvbnNfZnJlZV9kYXRhCit9OworCisKKy8qCisgKiBGb3IgY29tcGF0aWJpbGl0eSB3aXRoIHRoZSByZXN0IG9mIGxpYmJsa2lkIEFQSSAod2l0aCB0aGUgb2xkIGhpZ2gtbGV2ZWwKKyAqIEFQSSkgd2UgdXNlIGNvbXBsZXRlbHkgb3BhcXVlIHR5cGVkZWZzIGZvciBhbGwgc3RydWN0cy4gRG9uJ3QgZm9yZ2V0IHRoYXQKKyAqIHRoZSBmaW5hbCBibGtpZF8qIHR5cGVzIGFyZSBwb2ludGVycyEgU2VlIGJsa2lkLmguCisgKgorICogW0p1c3QgZm9yIHRoZSByZWNvcmQsIEkgaGF0ZSB0eXBlZGVmIGZvciBwb2ludGVycyAtLWt6YWtdCisgKi8KKworLyogZXhwb3J0ZWQgYXMgb3BhcXVlIHR5cGUgImJsa2lkX3BhcnR0YWJsZSIgKi8KK3N0cnVjdCBibGtpZF9zdHJ1Y3RfcGFydHRhYmxlIHsKKwljb25zdCBjaGFyCSp0eXBlOwkJLyogcGFydGl0aW9uIHRhYmxlIHR5cGUgKi8KKwl1aW50NjRfdAlvZmZzZXQ7CQkvKiBiZWdpbiBvZiB0aGUgcGFydGl0aW9uIHRhYmxlIChpbiBieXRlcykgKi8KKwlpbnQJCW5wYXJ0czsJCS8qIG51bWJlciBvZiBwYXJ0aXRpb25zICovCisJYmxraWRfcGFydGl0aW9uCXBhcmVudDsJCS8qIHBhcmVudCBvZiBuZXN0ZWQgcGFydGl0aW9uIHRhYmxlICovCisJY2hhcgkJaWRbMzddOwkJLyogUFQgaWRlbnRpZmllciAoZS5nLiBVVUlEIGZvciBHUFQpICovCisKKwlzdHJ1Y3QgbGlzdF9oZWFkIHRfdGFiczsJLyogYWxsIHRhYmxlcyAqLworfTsKKworLyogZXhwb3J0ZWQgYXMgb3BhcXVlIHR5cGUgImJsa2lkX3BhcnRpdGlvbiIgKi8KK3N0cnVjdCBibGtpZF9zdHJ1Y3RfcGFydGl0aW9uIHsKKwl1aW50NjRfdAlzdGFydDsJCS8qIGJlZ2luIG9mIHRoZSBwYXJ0aXRpb24gKDUxMi1ieXRlcyBzZWN0b3JzKSAqLworCXVpbnQ2NF90CXNpemU7CQkvKiBzaXplIG9mIHRoZSBwYXJ0aXRpb25zICg1MTItYnl0ZXMgc2VjdG9ycykgKi8KKworCWludAkJdHlwZTsJCS8qIHBhcnRpdGlvbiB0eXBlICovCisJY2hhcgkJdHlwZXN0clszN107CS8qIHBhcnRpdGlvbiB0eXBlIHN0cmluZyAoR1BUIGFuZCBNYWMpICovCisKKwl1bnNpZ25lZCBsb25nIGxvbmcgZmxhZ3M7CS8qIHBhcnRpdGlvbiBmbGFncyAvIGF0dHJpYnV0ZXMgKi8KKworCWludAkJcGFydG5vOwkJLyogcGFydGl0aW9uIG51bWJlciAqLworCWNoYXIJCXV1aWRbMzddOwkvKiBVVUlEICh3aGVuIHN1cHBvcnRlZCBieSBQVCksIGUuZyBHUFQgKi8KKwl1bnNpZ25lZCBjaGFyCW5hbWVbMTI4XTsJLyogUGFydGl0aW9uIGluIFVURjggbmFtZSAod2hlbiBzdXBwb3J0ZWQgYnkgUFQpLCBlLmcuIE1hYyAqLworCisJYmxraWRfcGFydHRhYmxlCXRhYjsJCS8qIHBhcnRpdGlvbiB0YWJsZSAqLworfTsKKworLyogZXhwb3J0ZWQgYXMgb3BhcXVlIHR5cGUgImJsa2lkX3BhcnRsaXN0IiAqLworc3RydWN0IGJsa2lkX3N0cnVjdF9wYXJ0bGlzdCB7CisJaW50CQluZXh0X3BhcnRubzsJLyogbmV4dCBwYXJ0aXRpb24gbnVtYmVyICovCisJYmxraWRfcGFydGl0aW9uIG5leHRfcGFyZW50OwkvKiBuZXh0IHBhcmVudCBpZiBwYXJzaW5nIG5lc3RlZCBQVCAqLworCisJaW50CQlucGFydHM7CQkvKiBudW1iZXIgb2YgcGFydGl0aW9ucyAqLworCWludAkJbnBhcnRzX21heDsJLyogbWF4Lm51bWJlciBvZiBwYXJ0aXRpb25zICovCisJYmxraWRfcGFydGl0aW9uCXBhcnRzOwkJLyogYXJyYXkgb2YgcGFydGl0aW9ucyAqLworCisJc3RydWN0IGxpc3RfaGVhZCBsX3RhYnM7CS8qIGxpc3Qgb2YgcGFydGl0aW9uIHRhYmxlcyAqLworfTsKKworc3RhdGljIGludCBibGtpZF9wYXJ0aXRpb25zX3Byb2JlX3BhcnRpdGlvbihibGtpZF9wcm9iZSBwcik7CisKKy8qKgorICogYmxraWRfcHJvYmVfZW5hYmxlX3BhcnRpdGlvbnM6CisgKiBAcHI6IHByb2JlCisgKiBAZW5hYmxlOiBUUlVFL0ZBTFNFCisgKgorICogRW5hYmxlcy9kaXNhYmxlcyB0aGUgcGFydGl0aW9ucyBwcm9iaW5nIGZvciBub24tYmluYXJ5IGludGVyZmFjZS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBibGtpZF9wcm9iZV9lbmFibGVfcGFydGl0aW9ucyhibGtpZF9wcm9iZSBwciwgaW50IGVuYWJsZSkKK3sKKwlwci0+Y2hhaW5zW0JMS0lEX0NIQUlOX1BBUlRTXS5lbmFibGVkID0gZW5hYmxlOworCXJldHVybiAwOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX3NldF9wYXJ0aXRpb25zX2ZsYWdzOgorICogQHByOiBwcm9iZXIKKyAqIEBmbGFnczogQkxLSURfUEFSVFNfKiBmbGFncworICoKKyAqIFNldHMgcHJvYmluZyBmbGFncyB0byB0aGUgcGFydGl0aW9ucyBwcm9iZXIuIFRoaXMgZnVuY3Rpb24gaXMgb3B0aW9uYWwuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgYmxraWRfcHJvYmVfc2V0X3BhcnRpdGlvbnNfZmxhZ3MoYmxraWRfcHJvYmUgcHIsIGludCBmbGFncykKK3sKKwlwci0+Y2hhaW5zW0JMS0lEX0NIQUlOX1BBUlRTXS5mbGFncyA9IGZsYWdzOworCXJldHVybiAwOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX3Jlc2V0X3BhcnRpdGlvbnNfZmlsdGVyOgorICogQHByOiBwcm9iZXIKKyAqCisgKiBSZXNldHMgcGFydGl0aW9ucyBwcm9iaW5nIGZpbHRlcgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2Vzcywgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IGJsa2lkX3Byb2JlX3Jlc2V0X3BhcnRpdGlvbnNfZmlsdGVyKGJsa2lkX3Byb2JlIHByKQoreworCXJldHVybiBfX2Jsa2lkX3Byb2JlX3Jlc2V0X2ZpbHRlcihwciwgQkxLSURfQ0hBSU5fUEFSVFMpOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX2ludmVydF9wYXJ0aXRpb25zX2ZpbHRlcjoKKyAqIEBwcjogcHJvYmVyCisgKgorICogSW52ZXJ0cyBwYXJ0aXRpb25zIHByb2JpbmcgZmlsdGVyCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgYmxraWRfcHJvYmVfaW52ZXJ0X3BhcnRpdGlvbnNfZmlsdGVyKGJsa2lkX3Byb2JlIHByKQoreworCXJldHVybiBfX2Jsa2lkX3Byb2JlX2ludmVydF9maWx0ZXIocHIsIEJMS0lEX0NIQUlOX1BBUlRTKTsKK30KKworLyoqCisgKiBibGtpZF9wcm9iZV9maWx0ZXJfcGFydGl0aW9uc190eXBlOgorICogQHByOiBwcm9iZXIKKyAqIEBmbGFnOiBmaWx0ZXIgQkxLSURfRkxUUl97Tk9USU4sT05MWUlOfSBmbGFnCisgKiBAbmFtZXM6IE5VTEwgdGVybWluYXRlZCBhcnJheSBvZiBwcm9iaW5nIGZ1bmN0aW9uIG5hbWVzIChlLmcuICJ2ZmF0IikuCisgKgorICogICVCTEtJRF9GTFRSX05PVElOICAtIHByb2JlIGZvciBhbGwgaXRlbXMgd2hpY2ggYXJlIE5PVCBJTiBAbmFtZXMKKyAqCisgKiAgJUJMS0lEX0ZMVFJfT05MWUlOIC0gcHJvYmUgZm9yIGl0ZW1zIHdoaWNoIGFyZSBJTiBAbmFtZXMKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBibGtpZF9wcm9iZV9maWx0ZXJfcGFydGl0aW9uc190eXBlKGJsa2lkX3Byb2JlIHByLCBpbnQgZmxhZywgY2hhciAqbmFtZXNbXSkKK3sKKwlyZXR1cm4gX19ibGtpZF9wcm9iZV9maWx0ZXJfdHlwZXMocHIsIEJMS0lEX0NIQUlOX1BBUlRTLCBmbGFnLCBuYW1lcyk7Cit9CisKKy8qKgorICogYmxraWRfcHJvYmVfZ2V0X3BhcnRpdGlvbnM6CisgKiBAcHI6IHByb2JlCisgKgorICogVGhpcyBpcyBhIGJpbmFyeSBpbnRlcmZhY2UgZm9yIHBhcnRpdGlvbnMuIFNlZSBhbHNvIGJsa2lkX3BhcnRsaXN0XyoKKyAqIGZ1bmN0aW9ucy4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIGluZGVwZW5kZW50IG9uIGJsa2lkX2RvX1tzYWZlLGZ1bGxdcHJvYmUoKSBhbmQKKyAqIGJsa2lkX3Byb2JlX2VuYWJsZV9wYXJ0aXRpb25zKCkgY2FsbHMuCisgKgorICogV0FSTklORzogdGhlIHJldHVybmVkIG9iamVjdCB3aWxsIGJlIG92ZXJ3cml0dGVuIGJ5IHRoZSBuZXh0CisgKiAgICAgICAgICBibGtpZF9wcm9iZV9nZXRfcGFydGl0aW9ucygpIGNhbGwgZm9yIHRoZSBzYW1lIEBwci4gSWYgeW91IHdhbnQgdG8KKyAqICAgICAgICAgIHVzZSBtb3JlIGJsa2lkX3BhcnRsaXN0IG9iamVjdHMgaW4gdGhlIHNhbWUgdGltZSB5b3UgaGF2ZSB0byBjcmVhdGUKKyAqICAgICAgICAgIG1vcmUgYmxraWRfcHJvYmUgaGFuZGxlcnMgKHNlZSBibGtpZF9uZXdfcHJvYmUoKSkuCisgKgorICogUmV0dXJuczogbGlzdCBvZiBwYXJ0aXRpb25zLCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2Jsa2lkX3BhcnRsaXN0IGJsa2lkX3Byb2JlX2dldF9wYXJ0aXRpb25zKGJsa2lkX3Byb2JlIHByKQoreworCXJldHVybiAoYmxraWRfcGFydGxpc3QpIGJsa2lkX3Byb2JlX2dldF9iaW5hcnlfZGF0YShwciwKKwkJCSZwci0+Y2hhaW5zW0JMS0lEX0NIQUlOX1BBUlRTXSk7Cit9CisKKy8qIGZvciBpbnRlcm5hbCB1c2FnZSBvbmx5ICovCitibGtpZF9wYXJ0bGlzdCBibGtpZF9wcm9iZV9nZXRfcGFydGxpc3QoYmxraWRfcHJvYmUgcHIpCit7CisJcmV0dXJuIChibGtpZF9wYXJ0bGlzdCkgcHItPmNoYWluc1tCTEtJRF9DSEFJTl9QQVJUU10uZGF0YTsKK30KKworc3RhdGljIHZvaWQgYmxraWRfcHJvYmVfc2V0X3BhcnRsaXN0KGJsa2lkX3Byb2JlIHByLCBibGtpZF9wYXJ0bGlzdCBscykKK3sKKwlwci0+Y2hhaW5zW0JMS0lEX0NIQUlOX1BBUlRTXS5kYXRhID0gbHM7Cit9CisKK3N0YXRpYyB2b2lkIHJlZl9wYXJ0dGFibGUoYmxraWRfcGFydHRhYmxlIHRhYikKK3sKKwl0YWItPm5wYXJ0cysrOworfQorCitzdGF0aWMgdm9pZCB1bnJlZl9wYXJ0dGFibGUoYmxraWRfcGFydHRhYmxlIHRhYikKK3sKKwl0YWItPm5wYXJ0cy0tOworCisJaWYgKHRhYi0+bnBhcnRzIDw9IDApIHsKKwkJbGlzdF9kZWwoJnRhYi0+dF90YWJzKTsKKwkJZnJlZSh0YWIpOworCX0KK30KKworLyogZnJlZSBhbGwgYWxsb2NhdGVkIHBhcnR0YWJsZXMgKi8KK3N0YXRpYyB2b2lkIGZyZWVfcGFydHRhYmxlcyhibGtpZF9wYXJ0bGlzdCBscykKK3sKKwlpZiAoIWxzIHx8ICFscy0+bF90YWJzLm5leHQpCisJCXJldHVybjsKKworCS8qIHJlbW92ZSB1bmFzc2lnbmVkIHBhcnRpdGlvbiB0YWJsZXMgKi8KKwl3aGlsZSAoIWxpc3RfZW1wdHkoJmxzLT5sX3RhYnMpKSB7CisJCWJsa2lkX3BhcnR0YWJsZSB0YWIgPSBsaXN0X2VudHJ5KGxzLT5sX3RhYnMubmV4dCwKKwkJCQkJc3RydWN0IGJsa2lkX3N0cnVjdF9wYXJ0dGFibGUsIHRfdGFicyk7CisJCXVucmVmX3BhcnR0YWJsZSh0YWIpOworCX0KK30KKworc3RhdGljIHZvaWQgcmVzZXRfcGFydGxpc3QoYmxraWRfcGFydGxpc3QgbHMpCit7CisJaWYgKCFscykKKwkJcmV0dXJuOworCisJZnJlZV9wYXJ0dGFibGVzKGxzKTsKKworCWlmIChscy0+bmV4dF9wYXJ0bm8pIHsKKwkJLyogYWxyZWFkeSBpbml0aWFsaXplZCAtIHJlc2V0ICovCisJCWludCB0bXBfbnBhcnRzID0gbHMtPm5wYXJ0c19tYXg7CisJCWJsa2lkX3BhcnRpdGlvbiB0bXBfcGFydHMgPSBscy0+cGFydHM7CisKKwkJbWVtc2V0KGxzLCAwLCBzaXplb2Yoc3RydWN0IGJsa2lkX3N0cnVjdF9wYXJ0bGlzdCkpOworCisJCWxzLT5ucGFydHNfbWF4ID0gdG1wX25wYXJ0czsKKwkJbHMtPnBhcnRzID0gdG1wX3BhcnRzOworCX0KKworCWxzLT5ucGFydHMgPSAwOworCWxzLT5uZXh0X3BhcnRubyA9IDE7CisJSU5JVF9MSVNUX0hFQUQoJmxzLT5sX3RhYnMpOworCisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygicGFydGxpc3QgcmVzZXQiKSk7Cit9CisKK3N0YXRpYyBibGtpZF9wYXJ0bGlzdCBwYXJ0aXRpb25zX2luaXRfZGF0YShzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobikKK3sKKwlibGtpZF9wYXJ0bGlzdCBsczsKKworCWlmIChjaG4tPmRhdGEpCisJCWxzID0gKGJsa2lkX3BhcnRsaXN0KSBjaG4tPmRhdGE7CisJZWxzZSB7CisJCS8qIGFsbG9jYXRlIHRoZSBuZXcgbGlzdCBvZiBwYXJ0aXRpb25zICovCisJCWxzID0gY2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgYmxraWRfc3RydWN0X3BhcnRsaXN0KSk7CisJCWlmICghbHMpCisJCQlyZXR1cm4gTlVMTDsKKwkJY2huLT5kYXRhID0gKHZvaWQgKikgbHM7CisJfQorCisJcmVzZXRfcGFydGxpc3QobHMpOworCisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygicGFydHM6IGluaXRpYWxpemVkIHBhcnRpdGlvbnMgbGlzdCAoJXAsIHNpemU9JWQpIiwKKwkJbHMsIGxzLT5ucGFydHNfbWF4KSk7CisJcmV0dXJuIGxzOworfQorCitzdGF0aWMgdm9pZCBwYXJ0aXRpb25zX2ZyZWVfZGF0YShibGtpZF9wcm9iZSBwciBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSksCisJCQkJIHZvaWQgKmRhdGEpCit7CisJYmxraWRfcGFydGxpc3QgbHMgPSAoYmxraWRfcGFydGxpc3QpIGRhdGE7CisKKwlpZiAoIWxzKQorCQlyZXR1cm47CisKKwlmcmVlX3BhcnR0YWJsZXMobHMpOworCisJLyogZGVhbGxvY2F0ZSBwYXJ0aXRpb25zIGFuZCBwYXJ0bGlzdCAqLworCWZyZWUobHMtPnBhcnRzKTsKKwlmcmVlKGxzKTsKK30KKworYmxraWRfcGFydHRhYmxlIGJsa2lkX3BhcnRsaXN0X25ld19wYXJ0dGFibGUoYmxraWRfcGFydGxpc3QgbHMsCisJCQkJY29uc3QgY2hhciAqdHlwZSwgdWludDY0X3Qgb2Zmc2V0KQoreworCWJsa2lkX3BhcnR0YWJsZSB0YWI7CisKKwl0YWIgPSBjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBibGtpZF9zdHJ1Y3RfcGFydHRhYmxlKSk7CisJaWYgKCF0YWIpCisJCXJldHVybiBOVUxMOworCXRhYi0+dHlwZSA9IHR5cGU7CisJdGFiLT5vZmZzZXQgPSBvZmZzZXQ7CisJdGFiLT5wYXJlbnQgPSBscy0+bmV4dF9wYXJlbnQ7CisKKwlJTklUX0xJU1RfSEVBRCgmdGFiLT50X3RhYnMpOworCWxpc3RfYWRkX3RhaWwoJnRhYi0+dF90YWJzLCAmbHMtPmxfdGFicyk7CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJwYXJ0czogY3JlYXRlIGEgbmV3IHBhcnRpdGlvbiB0YWJsZSAiCisJCSAgICAgICAiKCVwLCB0eXBlPSVzLCBvZmZzZXQ9JSJQUklkNjQiKSIsIHRhYiwgdHlwZSwgb2Zmc2V0KSk7CisJcmV0dXJuIHRhYjsKK30KKworc3RhdGljIGJsa2lkX3BhcnRpdGlvbiBuZXdfcGFydGl0aW9uKGJsa2lkX3BhcnRsaXN0IGxzLCBibGtpZF9wYXJ0dGFibGUgdGFiKQoreworCWJsa2lkX3BhcnRpdGlvbiBwYXI7CisKKwlpZiAobHMtPm5wYXJ0cyArIDEgPiBscy0+bnBhcnRzX21heCkgeworCQkvKiBMaW51eCBrZXJuZWwgaGFzIERJU0tfTUFYX1BBUlRTPTI1NiwgYnV0IGl0J3MgdG9vIG11Y2ggZm9yCisJCSAqIGdlbmVyaWMgTGludXggbWFjaGluZSAtLSBsZXQgc3RhcnQgd2l0aCAzMiBwYXJ0aXRpb25zLgorCQkgKi8KKwkJdm9pZCAqdG1wID0gcmVhbGxvYyhscy0+cGFydHMsIChscy0+bnBhcnRzX21heCArIDMyKSAqCisJCQkJCXNpemVvZihzdHJ1Y3QgYmxraWRfc3RydWN0X3BhcnRpdGlvbikpOworCQlpZiAoIXRtcCkKKwkJCXJldHVybiBOVUxMOworCQlscy0+cGFydHMgPSB0bXA7CisJCWxzLT5ucGFydHNfbWF4ICs9IDMyOworCX0KKworCXBhciA9ICZscy0+cGFydHNbbHMtPm5wYXJ0cysrXTsKKwltZW1zZXQocGFyLCAwLCBzaXplb2Yoc3RydWN0IGJsa2lkX3N0cnVjdF9wYXJ0aXRpb24pKTsKKworCXJlZl9wYXJ0dGFibGUodGFiKTsKKwlwYXItPnRhYiA9IHRhYjsKKwlwYXItPnBhcnRubyA9IGJsa2lkX3BhcnRsaXN0X2luY3JlbWVudF9wYXJ0bm8obHMpOworCisJcmV0dXJuIHBhcjsKK30KKworYmxraWRfcGFydGl0aW9uIGJsa2lkX3BhcnRsaXN0X2FkZF9wYXJ0aXRpb24oYmxraWRfcGFydGxpc3QgbHMsCisJCQkJCWJsa2lkX3BhcnR0YWJsZSB0YWIsIHVpbnQ2NF90IHN0YXJ0LCB1aW50NjRfdCBzaXplKQoreworCWJsa2lkX3BhcnRpdGlvbiBwYXIgPSBuZXdfcGFydGl0aW9uKGxzLCB0YWIpOworCisJaWYgKCFwYXIpCisJCXJldHVybiBOVUxMOworCisJcGFyLT5zdGFydCA9IHN0YXJ0OworCXBhci0+c2l6ZSA9IHNpemU7CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJwYXJ0czogYWRkIHBhcnRpdGlvbiAoJXAgc3RhcnQ9JSIKKwkJUFJJdTY0ICIsIHNpemU9JSIgUFJJdTY0ICIsIHRhYmxlPSVwKSIsCisJCXBhciwgcGFyLT5zdGFydCwgcGFyLT5zaXplLCB0YWIpKTsKKwlyZXR1cm4gcGFyOworfQorCisvKiBhbGxvd3MgdG8gbW9kaWZ5IHVzZWQgcGFydGl0aW9ucyBudW1iZXJzIChmb3IgZXhhbXBsZSBmb3IgbG9naWNhbCBwYXJ0aXRpb25zKSAqLworaW50IGJsa2lkX3BhcnRsaXN0X3NldF9wYXJ0bm8oYmxraWRfcGFydGxpc3QgbHMsIGludCBwYXJ0bm8pCit7CisJaWYgKCFscykKKwkJcmV0dXJuIC0xOworCWxzLT5uZXh0X3BhcnRubyA9IHBhcnRubzsKKwlyZXR1cm4gMDsKK30KKworaW50IGJsa2lkX3BhcnRsaXN0X2luY3JlbWVudF9wYXJ0bm8oYmxraWRfcGFydGxpc3QgbHMpCit7CisJcmV0dXJuIGxzID8gbHMtPm5leHRfcGFydG5vKysgOiAtMTsKK30KKworLyogYWxsb3dzIHRvIHNldCAicGFyZW50IiBmb3IgdGhlIG5leHQgbmVzdGVkIHBhcnRpdGlvbiAqLworc3RhdGljIGludCBibGtpZF9wYXJ0bGlzdF9zZXRfcGFyZW50KGJsa2lkX3BhcnRsaXN0IGxzLCBibGtpZF9wYXJ0aXRpb24gcGFyKQoreworCWlmICghbHMpCisJCXJldHVybiAtMTsKKwlscy0+bmV4dF9wYXJlbnQgPSBwYXI7CisJcmV0dXJuIDA7Cit9CisKK2Jsa2lkX3BhcnRpdGlvbiBibGtpZF9wYXJ0bGlzdF9nZXRfcGFyZW50KGJsa2lkX3BhcnRsaXN0IGxzKQoreworCWlmICghbHMpCisJCXJldHVybiBOVUxMOworCXJldHVybiBscy0+bmV4dF9wYXJlbnQ7Cit9CisKK2ludCBibGtpZF9wYXJ0aXRpb25zX25lZWRfdHlwZW9ubHkoYmxraWRfcHJvYmUgcHIpCit7CisJc3RydWN0IGJsa2lkX2NoYWluICpjaG4gPSBibGtpZF9wcm9iZV9nZXRfY2hhaW4ocHIpOworCisJcmV0dXJuIGNobiAmJiBjaG4tPmRhdGEgJiYgY2huLT5iaW5hcnkgPyBGQUxTRSA6IFRSVUU7Cit9CisKKy8qIGdldCBwcml2YXRlIGNoYWluIGZsYWdzICovCitpbnQgYmxraWRfcGFydGl0aW9uc19nZXRfZmxhZ3MoYmxraWRfcHJvYmUgcHIpCit7CisJc3RydWN0IGJsa2lkX2NoYWluICpjaG4gPSBibGtpZF9wcm9iZV9nZXRfY2hhaW4ocHIpOworCisJcmV0dXJuIGNobiA/IGNobi0+ZmxhZ3MgOiAwOworfQorCisvKiBjaGVjayBpZiBAc3RhcnQgYW5kIEBzaXplIGFyZSB3aXRoaW4gQHBhciBwYXJ0aXRpb24gKi8KK2ludCBibGtpZF9pc19uZXN0ZWRfZGltZW5zaW9uKGJsa2lkX3BhcnRpdGlvbiBwYXIsCisJCQl1aW50NjRfdCBzdGFydCwgdWludDY0X3Qgc2l6ZSkKK3sKKwl1aW50NjRfdCBwc3RhcnQ7CisJdWludDY0X3QgcHNpemU7CisKKwlpZiAoIXBhcikKKwkJcmV0dXJuIDA7CisKKwlwc3RhcnQgPSBibGtpZF9wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBhcik7CisJcHNpemUgPSBibGtpZF9wYXJ0aXRpb25fZ2V0X3NpemUocGFyKTsKKworCWlmIChzdGFydCA8IHBzdGFydCB8fCBzdGFydCArIHNpemUgPiBwc3RhcnQgKyBwc2l6ZSkKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBpZGluZm9fcHJvYmUoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gKmlkLAorCQkJc3RydWN0IGJsa2lkX2NoYWluICpjaG4pCit7CisJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgPSBOVUxMOworCXVpbnQ2NF90IG9mZjsKKwlpbnQgcmMgPSBCTEtJRF9QUk9CRV9OT05FOwkJLyogZGVmYXVsdCBpcyBub3RoaW5nICovCisKKwlpZiAocHItPnNpemUgPD0gMCB8fCAoaWQtPm1pbnN6ICYmICh1bnNpZ25lZClpZC0+bWluc3ogPiBwci0+c2l6ZSkpCisJCWdvdG8gbm90aGluZzsJLyogdGhlIGRldmljZSBpcyB0b28gc21hbGwgKi8KKwlpZiAocHItPmZsYWdzICYgQkxLSURfRkxfTk9TQ0FOX0RFVikKKwkJZ290byBub3RoaW5nOworCisJcmMgPSBibGtpZF9wcm9iZV9nZXRfaWRtYWcocHIsIGlkLCAmb2ZmLCAmbWFnKTsKKwlpZiAocmMgIT0gQkxLSURfUFJPQkVfT0spCisJCWdvdG8gbm90aGluZzsKKworCS8qIGZpbmFsIGNoZWNrIGJ5IHByb2JpbmcgZnVuY3Rpb24gKi8KKwlpZiAoaWQtPnByb2JlZnVuYykgeworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKAorCQkJIiVzOiAtLS0+IGNhbGwgcHJvYmVmdW5jKCkiLCBpZC0+bmFtZSkpOworCQlyYyA9IGlkLT5wcm9iZWZ1bmMocHIsIG1hZyk7CisJCWlmIChyYyA8IDApIHsKKwkJCS8qIHJlc2V0IGFmdGVyIGVycm9yICovCisJCQlyZXNldF9wYXJ0bGlzdChibGtpZF9wcm9iZV9nZXRfcGFydGxpc3QocHIpKTsKKwkJCWlmIChjaG4gJiYgIWNobi0+YmluYXJ5KQorCQkJCWJsa2lkX3Byb2JlX2NoYWluX3Jlc2V0X3ZhbHVlcyhwciwgY2huKTsKKwkJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIiVzIHByb2JlZnVuYyBmYWlsZWQsIHJjICVkIiwKKwkJCQkJCSAgaWQtPm5hbWUsIHJjKSk7CisJCX0KKwkJaWYgKHJjID09IEJMS0lEX1BST0JFX09LICYmIG1hZyAmJiBjaG4gJiYgIWNobi0+YmluYXJ5KQorCQkJcmMgPSBibGtpZF9wcm9iZV9zZXRfbWFnaWMocHIsIG9mZiwgbWFnLT5sZW4sCisJCQkJCSh1bnNpZ25lZCBjaGFyICopIG1hZy0+bWFnaWMpOworCisJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIiVzOiA8LS0tIChyYyA9ICVkKSIsIGlkLT5uYW1lLCByYykpOworCX0KKworCXJldHVybiByYzsKKworbm90aGluZzoKKwlyZXR1cm4gQkxLSURfUFJPQkVfTk9ORTsKK30KKworLyoKKyAqIFRoZSBibGtpZF9kb19wcm9iZSgpIGJhY2tlbmQuCisgKi8KK3N0YXRpYyBpbnQgcGFydGl0aW9uc19wcm9iZShibGtpZF9wcm9iZSBwciwgc3RydWN0IGJsa2lkX2NoYWluICpjaG4pCit7CisJaW50IHJjID0gQkxLSURfUFJPQkVfTk9ORTsKKwlzaXplX3QgaTsKKworCWlmICghcHIgfHwgY2huLT5pZHggPCAtMSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlibGtpZF9wcm9iZV9jaGFpbl9yZXNldF92YWx1ZXMocHIsIGNobik7CisKKwlpZiAocHItPmZsYWdzICYgQkxLSURfRkxfTk9TQ0FOX0RFVikKKwkJcmV0dXJuIEJMS0lEX1BST0JFX05PTkU7CisKKwlpZiAoY2huLT5iaW5hcnkpCisJCXBhcnRpdGlvbnNfaW5pdF9kYXRhKGNobik7CisKKwlpZiAoIXByLT53aXBlX3NpemUgJiYgKHByLT5wcm9iX2ZsYWdzICYgQkxLSURfUFJPQkVfRkxfSUdOT1JFX1BUKSkKKwkJZ290byBkZXRhaWxzX29ubHk7CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCItLT4gc3RhcnRpbmcgcHJvYmluZyBsb29wIFtQQVJUUyBpZHg9JWRdIiwKKwkJY2huLT5pZHgpKTsKKworCWkgPSBjaG4tPmlkeCA8IDAgPyAwIDogY2huLT5pZHggKyAxVTsKKworCWZvciAoIDsgaSA8IEFSUkFZX1NJWkUoaWRpbmZvcyk7IGkrKykgeworCQljb25zdCBjaGFyICpuYW1lOworCisJCWNobi0+aWR4ID0gaTsKKworCQkvKiBhcHBseSBmaWx0ZXIgKi8KKwkJaWYgKGNobi0+Zmx0ciAmJiBibGtpZF9ibXBfZ2V0X2l0ZW0oY2huLT5mbHRyLCBpKSkKKwkJCWNvbnRpbnVlOworCisJCS8qIGFwcGx5IGNoZWNrcyBmcm9tIGlkaW5mbyAqLworCQlyYyA9IGlkaW5mb19wcm9iZShwciwgaWRpbmZvc1tpXSwgY2huKTsKKwkJaWYgKHJjIDwgMCkKKwkJCWJyZWFrOworCQlpZiAocmMgIT0gQkxLSURfUFJPQkVfT0spCisJCQljb250aW51ZTsKKworCQluYW1lID0gaWRpbmZvc1tpXS0+bmFtZTsKKworCQlpZiAoIWNobi0+YmluYXJ5KQorCQkJLyoKKwkJCSAqIE5vbi1iaW5hcnkgaW50ZXJmYWNlLCBzZXQgZ2VuZXJpYyB2YXJpYWJsZXMuIE5vdGUKKwkJCSAqIHRoYXQgdGhlIGFub3RoZXIgdmFyaWFibGVzIGNvdWxkIGJlIHNldCBpbiBwcm9iZXIKKwkJCSAqIGZ1bmN0aW9ucy4KKwkJCSAqLworCQkJYmxraWRfcHJvYmVfc2V0X3ZhbHVlKHByLCAiUFRUWVBFIiwKKwkJCQkJCSh1bnNpZ25lZCBjaGFyICopIG5hbWUsCisJCQkJCQlzdHJsZW4obmFtZSkgKyAxKTsKKworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCI8LS0gbGVhdmluZyBwcm9iaW5nIGxvb3AgKHR5cGU9JXMpIFtQQVJUUyBpZHg9JWRdIiwKKwkJCW5hbWUsIGNobi0+aWR4KSk7CisJCXJjID0gQkxLSURfUFJPQkVfT0s7CisJCWJyZWFrOworCX0KKworCWlmIChyYyAhPSBCTEtJRF9QUk9CRV9PSykgeworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCI8LS0gbGVhdmluZyBwcm9iaW5nIGxvb3AgKGZhaWxlZD0lZCkgW1BBUlRTIGlkeD0lZF0iLAorCQkJcmMsIGNobi0+aWR4KSk7CisJfQorCitkZXRhaWxzX29ubHk6CisJLyoKKwkgKiBHYXRoZXIgUEFSVF9FTlRSWV8qIHZhbHVlcyBpZiB0aGUgY3VycmVudCBkZXZpY2UgaXMgYSBwYXJ0aXRpb24uCisJICovCisJaWYgKChyYyA9PSBCTEtJRF9QUk9CRV9PSyB8fCByYyA9PSBCTEtJRF9QUk9CRV9OT05FKSAmJiAhY2huLT5iaW5hcnkgJiYKKwkgICAgKGJsa2lkX3BhcnRpdGlvbnNfZ2V0X2ZsYWdzKHByKSAmIEJMS0lEX1BBUlRTX0VOVFJZX0RFVEFJTFMpKSB7CisKKwkJaW50IHhyYyA9IGJsa2lkX3BhcnRpdGlvbnNfcHJvYmVfcGFydGl0aW9uKHByKTsKKworCQkvKiBwYXJ0aXRpb24gZW50cnkgcHJvYmluZyBpcyBvcHRpb25hbCwgYW5kICJub3QtZm91bmQiIGZyb20KKwkJICogdGhpcyBzdWItcHJvYmluZyBtdXN0IG5vdCB0byBvdmVyd3JpdGUgcHJldmlvdXMgc3VjY2Vzcy4gKi8KKwkJaWYgKHhyYyA8IDApCisJCQlyYyA9IHhyYzsJCQkvKiBhbHdheXMgcHJvcGFnYXRlIGVycm9ycyAqLworCQllbHNlIGlmIChyYyA9PSBCTEtJRF9QUk9CRV9OT05FKQorCQkJcmMgPSB4cmM7CisJfQorCisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygicGFydGl0aW9ucyBwcm9iZSBkb25lIFtyYz0lZF0iLAlyYykpOworCXJldHVybiByYzsKK30KKworLyogUHJvYmUgZm9yIG5lc3RlZCBwYXJ0aXRpb24gdGFibGUgd2l0aGluIHRoZSBwYXJlbnRhbCBwYXJ0aXRpb24gKi8KK2ludCBibGtpZF9wYXJ0aXRpb25zX2RvX3N1YnByb2JlKGJsa2lkX3Byb2JlIHByLCBibGtpZF9wYXJ0aXRpb24gcGFyZW50LAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvICppZCkKK3sKKwlibGtpZF9wcm9iZSBwcmM7CisJaW50IHJjOworCWJsa2lkX3BhcnRsaXN0IGxzOworCXVpbnQ2NF90IHN6LCBvZmY7CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKAorCQkicGFydHM6IC0tLS0+ICVzIHN1YnByb2JlIHJlcXVlc3RlZCAocGFyZW50PSVwKSIsCisJCWlkLT5uYW1lLCBwYXJlbnQpKTsKKworCWlmICghcHIgfHwgIXBhcmVudCB8fCAhcGFyZW50LT5zaXplKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAocHItPmZsYWdzICYgQkxLSURfRkxfTk9TQ0FOX0RFVikKKwkJcmV0dXJuIEJMS0lEX1BST0JFX05PTkU7CisKKwkvKiByYW5nZSBkZWZpbmVkIGJ5IHBhcmVudCAqLworCXN6ID0gcGFyZW50LT5zaXplIDw8IDk7CisJb2ZmID0gcGFyZW50LT5zdGFydCA8PCA5OworCisJaWYgKG9mZiA8IHByLT5vZmYgfHwgcHItPm9mZiArIHByLT5zaXplIDwgb2ZmICsgc3opIHsKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygKKwkJCSJFUlJPUjogcGFydHM6IDwtLS0tICclcycgc3VicHJvYmU6IG92ZXJmbG93IGRldGVjdGVkLiIsCisJCQlpZC0+bmFtZSkpOworCQlyZXR1cm4gLUVOT1NQQzsKKwl9CisKKwkvKiBjcmVhdGUgcHJpdmF0ZSBwcm9iZXIgKi8KKwlwcmMgPSBibGtpZF9jbG9uZV9wcm9iZShwcik7CisJaWYgKCFwcmMpCisJCXJldHVybiAtRU5PTUVNOworCisJYmxraWRfcHJvYmVfc2V0X2RpbWVuc2lvbihwcmMsIG9mZiwgc3opOworCisJLyogY2xvbmUgaXMgYWx3YXlzIHdpdGggcmVzZXQgY2hhaW4sIGZpeCBpdCAqLworCXByYy0+Y3VyX2NoYWluID0gYmxraWRfcHJvYmVfZ2V0X2NoYWluKHByKTsKKworCS8qCisJICogU2V0ICdwYXJlbnQnIHRvIHRoZSBjdXJyZW50IGxpc3Qgb2YgdGhlIHBhcnRpdGlvbnMgYW5kIHVzZSB0aGUgbGlzdAorCSAqIGluIGNsb25lZCBwcm9iZXIgKHNvIHRoZSBjbG9uZWQgcHJvYmVyIHdpbGwgZXh0ZW5kIHRoZSBjdXJyZW50IGxpc3QKKwkgKiBvZiBwYXJ0aXRpb25zIHJhdGhlciB0aGFuIGNyZWF0ZSBhIG5ldykuCisJICovCisJbHMgPSBibGtpZF9wcm9iZV9nZXRfcGFydGxpc3QocHIpOworCWJsa2lkX3BhcnRsaXN0X3NldF9wYXJlbnQobHMsIHBhcmVudCk7CisKKwlibGtpZF9wcm9iZV9zZXRfcGFydGxpc3QocHJjLCBscyk7CisKKwlyYyA9IGlkaW5mb19wcm9iZShwcmMsIGlkLCBibGtpZF9wcm9iZV9nZXRfY2hhaW4ocHIpKTsKKworCWJsa2lkX3Byb2JlX3NldF9wYXJ0bGlzdChwcmMsIE5VTEwpOworCWJsa2lkX3BhcnRsaXN0X3NldF9wYXJlbnQobHMsIE5VTEwpOworCisJYmxraWRfZnJlZV9wcm9iZShwcmMpOwkvKiBmcmVlIGNsb25lZCBwcm9iZXIgKi8KKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoCisJCSJwYXJ0czogPC0tLS0gJXMgc3VicHJvYmUgZG9uZSAocGFyZW50PSVwLCByYz0lZCkiLAorCQlpZC0+bmFtZSwgcGFyZW50LCByYykpOworCisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IGJsa2lkX3BhcnRpdGlvbnNfcHJvYmVfcGFydGl0aW9uKGJsa2lkX3Byb2JlIHByKQoreworCWJsa2lkX3Byb2JlIGRpc2tfcHIgPSBOVUxMOworCWJsa2lkX3BhcnRsaXN0IGxzOworCWJsa2lkX3BhcnRpdGlvbiBwYXI7CisJZGV2X3QgZGV2bm87CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJwYXJ0czogc3RhcnQgcHJvYmluZyBmb3IgcGFydGl0aW9uIGVudHJ5IikpOworCisJaWYgKHByLT5mbGFncyAmIEJMS0lEX0ZMX05PU0NBTl9ERVYpCisJCWdvdG8gbm90aGluZzsKKworCWRldm5vID0gYmxraWRfcHJvYmVfZ2V0X2Rldm5vKHByKTsKKwlpZiAoIWRldm5vKQorCQlnb3RvIG5vdGhpbmc7CisKKwlkaXNrX3ByID0gYmxraWRfcHJvYmVfZ2V0X3dob2xlZGlza19wcm9iZShwcik7CisJaWYgKCFkaXNrX3ByKQorCQlnb3RvIG5vdGhpbmc7CisKKwkvKiBwYXJzZSBQVCAqLworCWxzID0gYmxraWRfcHJvYmVfZ2V0X3BhcnRpdGlvbnMoZGlza19wcik7CisJaWYgKCFscykKKwkJZ290byBub3RoaW5nOworCisJcGFyID0gYmxraWRfcGFydGxpc3RfZGV2bm9fdG9fcGFydGl0aW9uKGxzLCBkZXZubyk7CisJaWYgKCFwYXIpCisJCWdvdG8gbm90aGluZzsKKwllbHNlIHsKKwkJY29uc3QgY2hhciAqdjsKKwkJYmxraWRfcGFydHRhYmxlIHRhYiA9IGJsa2lkX3BhcnRpdGlvbl9nZXRfdGFibGUocGFyKTsKKwkJZGV2X3QgZGlzayA9IGJsa2lkX3Byb2JlX2dldF9kZXZubyhkaXNrX3ByKTsKKworCQlpZiAodGFiKSB7CisJCQl2ID0gYmxraWRfcGFydHRhYmxlX2dldF90eXBlKHRhYik7CisJCQlpZiAodikKKwkJCQlibGtpZF9wcm9iZV9zZXRfdmFsdWUocHIsICJQQVJUX0VOVFJZX1NDSEVNRSIsCisJCQkJCSh1bnNpZ25lZCBjaGFyICopIHYsIHN0cmxlbih2KSArIDEpOworCQl9CisKKwkJdiA9IGJsa2lkX3BhcnRpdGlvbl9nZXRfbmFtZShwYXIpOworCQlpZiAodikKKwkJCWJsa2lkX3Byb2JlX3NldF92YWx1ZShwciwgIlBBUlRfRU5UUllfTkFNRSIsCisJCQkJKHVuc2lnbmVkIGNoYXIgKikgdiwgc3RybGVuKHYpICsgMSk7CisKKwkJdiA9IGJsa2lkX3BhcnRpdGlvbl9nZXRfdXVpZChwYXIpOworCQlpZiAodikKKwkJCWJsa2lkX3Byb2JlX3NldF92YWx1ZShwciwgIlBBUlRfRU5UUllfVVVJRCIsCisJCQkJKHVuc2lnbmVkIGNoYXIgKikgdiwgc3RybGVuKHYpICsgMSk7CisKKwkJLyogdHlwZSAqLworCQl2ID0gYmxraWRfcGFydGl0aW9uX2dldF90eXBlX3N0cmluZyhwYXIpOworCQlpZiAodikKKwkJCWJsa2lkX3Byb2JlX3NldF92YWx1ZShwciwgIlBBUlRfRU5UUllfVFlQRSIsCisJCQkJKHVuc2lnbmVkIGNoYXIgKikgdiwgc3RybGVuKHYpICsgMSk7CisJCWVsc2UKKwkJCWJsa2lkX3Byb2JlX3NwcmludGZfdmFsdWUocHIsICJQQVJUX0VOVFJZX1RZUEUiLAorCQkJCSIweCV4IiwgYmxraWRfcGFydGl0aW9uX2dldF90eXBlKHBhcikpOworCisJCWlmIChibGtpZF9wYXJ0aXRpb25fZ2V0X2ZsYWdzKHBhcikpCisJCQlibGtpZF9wcm9iZV9zcHJpbnRmX3ZhbHVlKHByLCAiUEFSVF9FTlRSWV9GTEFHUyIsCisJCQkJIjB4JWxseCIsIGJsa2lkX3BhcnRpdGlvbl9nZXRfZmxhZ3MocGFyKSk7CisKKwkJYmxraWRfcHJvYmVfc3ByaW50Zl92YWx1ZShwciwgIlBBUlRfRU5UUllfTlVNQkVSIiwKKwkJCQkiJWQiLCBibGtpZF9wYXJ0aXRpb25fZ2V0X3BhcnRubyhwYXIpKTsKKworCQlibGtpZF9wcm9iZV9zcHJpbnRmX3ZhbHVlKHByLCAiUEFSVF9FTlRSWV9PRkZTRVQiLCAiJWpkIiwKKwkJCQkoaW50bWF4X3QpYmxraWRfcGFydGl0aW9uX2dldF9zdGFydChwYXIpKTsKKwkJYmxraWRfcHJvYmVfc3ByaW50Zl92YWx1ZShwciwgIlBBUlRfRU5UUllfU0laRSIsICIlamQiLAorCQkJCShpbnRtYXhfdClibGtpZF9wYXJ0aXRpb25fZ2V0X3NpemUocGFyKSk7CisKKwkJYmxraWRfcHJvYmVfc3ByaW50Zl92YWx1ZShwciwgIlBBUlRfRU5UUllfRElTSyIsICIldToldSIsCisJCQkJbWFqb3IoZGlzayksIG1pbm9yKGRpc2spKTsKKwl9CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJwYXJ0czogZW5kIHByb2JpbmcgZm9yIHBhcnRpdGlvbiBlbnRyeSBbc3VjY2Vzc10iKSk7CisJcmV0dXJuIEJMS0lEX1BST0JFX09LOworCitub3RoaW5nOgorCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoInBhcnRzOiBlbmQgcHJvYmluZyBmb3IgcGFydGl0aW9uIGVudHJ5IFtub3RoaW5nXSIpKTsKKwlyZXR1cm4gQkxLSURfUFJPQkVfTk9ORTsKKworCit9CisKKy8qCisgKiBSZXR1cm5zIDEgaWYgdGhlIGRldmljZSBpcyB3aG9sZS1kaXNrIGFuZCB0aGUgYXJlYSBzcGVjaWZpZWQgYnkgQG9mZnNldCBhbmQKKyAqIEBzaXplIGlzIGNvdmVyZWQgYnkgYW55IHBhcnRpdGlvbi4KKyAqLworaW50IGJsa2lkX3Byb2JlX2lzX2NvdmVyZWRfYnlfcHQoYmxraWRfcHJvYmUgcHIsCisJCQkJIHVpbnQ2NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZSkKK3sKKwlibGtpZF9wcm9iZSBwcmMgPSBOVUxMOworCWJsa2lkX3BhcnRsaXN0IGxzID0gTlVMTDsKKwl1aW50NjRfdCBzdGFydCwgZW5kOworCWludCBucGFydHMsIGksIHJjID0gMDsKKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoCisJCSI9PiBjaGVja2luZyBpZiBvZmY9JSJQUkl1NjQiIHNpemU9JSJQUkl1NjQiIGNvdmVyZWQgYnkgUFQiLAorCQlvZmZzZXQsIHNpemUpKTsKKworCWlmIChwci0+ZmxhZ3MgJiBCTEtJRF9GTF9OT1NDQU5fREVWKQorCQlnb3RvIGRvbmU7CisKKwlwcmMgPSBibGtpZF9jbG9uZV9wcm9iZShwcik7CisJaWYgKCFwcmMpCisJCWdvdG8gZG9uZTsKKworCWxzID0gYmxraWRfcHJvYmVfZ2V0X3BhcnRpdGlvbnMocHJjKTsKKwlpZiAoIWxzKQorCQlnb3RvIGRvbmU7CisKKwlucGFydHMgPSBibGtpZF9wYXJ0bGlzdF9udW1vZl9wYXJ0aXRpb25zKGxzKTsKKwlpZiAoIW5wYXJ0cykKKwkJZ290byBkb25lOworCisJZW5kID0gKG9mZnNldCArIHNpemUpID4+IDk7CisJc3RhcnQgPSBvZmZzZXQgPj4gOTsKKworCS8qIGNoZWNrIGlmIHRoZSBwYXJ0aXRpb24gdGFibGUgZml0cyBpbnRvIHRoZSBkZXZpY2UgKi8KKwlmb3IgKGkgPSAwOyBpIDwgbnBhcnRzOyBpKyspIHsKKwkJYmxraWRfcGFydGl0aW9uIHBhciA9ICZscy0+cGFydHNbaV07CisKKwkJaWYgKHBhci0+c3RhcnQgKyBwYXItPnNpemUgPiAocHItPnNpemUgPj4gOSkpIHsKKwkJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoInBhcnRpdGlvbiAjJWQgb3ZlcmZsb3dzICIKKwkJCQkiZGV2aWNlIChvZmY9JSIgUFJJZDY0ICIgc2l6ZT0lIiBQUklkNjQgIikiLAorCQkJCXBhci0+cGFydG5vLCBwYXItPnN0YXJ0LCBwYXItPnNpemUpKTsKKwkJCWdvdG8gZG9uZTsKKwkJfQorCX0KKworCS8qIGNoZWNrIGlmIHRoZSByZXF1ZXN0ZWQgYXJlYSBpcyBjb3ZlcmVkIGJ5IFBUICovCisJZm9yIChpID0gMDsgaSA8IG5wYXJ0czsgaSsrKSB7CisJCWJsa2lkX3BhcnRpdGlvbiBwYXIgPSAmbHMtPnBhcnRzW2ldOworCisJCWlmIChzdGFydCA+PSBwYXItPnN0YXJ0ICYmIGVuZCA8PSBwYXItPnN0YXJ0ICsgcGFyLT5zaXplKSB7CisJCQlyYyA9IDE7CisJCQlicmVhazsKKwkJfQorCX0KK2RvbmU6CisJYmxraWRfZnJlZV9wcm9iZShwcmMpOworCisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiPD0gJXMgY292ZXJlZCBieSBQVCIsIHJjID8gIklTIiA6ICJOT1QiKSk7CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIGJsa2lkX2tub3duX3B0dHlwZToKKyAqIEBwdHR5cGU6IHBhcnRpdGlvbiBuYW1lCisgKgorICogUmV0dXJuczogMSBmb3Iga25vd24gb3IgMCBmb3IgdW5rbm93biBwYXJ0aXRpb24gdHlwZS4KKyAqLworaW50IGJsa2lkX2tub3duX3B0dHlwZShjb25zdCBjaGFyICpwdHR5cGUpCit7CisJc2l6ZV90IGk7CisKKwlpZiAoIXB0dHlwZSkKKwkJcmV0dXJuIDA7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShpZGluZm9zKTsgaSsrKSB7CisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gKmlkID0gaWRpbmZvc1tpXTsKKwkJaWYgKHN0cmNtcChpZC0+bmFtZSwgcHR0eXBlKSA9PSAwKQorCQkJcmV0dXJuIDE7CisJfQorCXJldHVybiAwOworfQorCisvKioKKyAqIGJsa2lkX3BhcnRsaXN0X251bW9mX3BhcnRpdGlvbnM6CisgKiBAbHM6IHBhcnRpdGlvbnMgbGlzdAorICoKKyAqIFJldHVybnM6IG51bWJlciBvZiBwYXJ0aXRpb25zIGluIHRoZSBsaXN0IG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBibGtpZF9wYXJ0bGlzdF9udW1vZl9wYXJ0aXRpb25zKGJsa2lkX3BhcnRsaXN0IGxzKQoreworCXJldHVybiBscy0+bnBhcnRzOworfQorCisvKioKKyAqIGJsa2lkX3BhcnRsaXN0X2dldF90YWJsZToKKyAqIEBsczogcGFydGl0aW9ucyBsaXN0CisgKgorICogUmV0dXJuczogdG9wLWxldmVsIHBhcnRpdGlvbiB0YWJsZSBvciBOVUxMIG9mIHRoZXJlIGlzIG5vdCBhIHBhcnRpdGlvbiB0YWJsZQorICogb24gdGhlIGRldmljZS4KKyAqLworYmxraWRfcGFydHRhYmxlIGJsa2lkX3BhcnRsaXN0X2dldF90YWJsZShibGtpZF9wYXJ0bGlzdCBscykKK3sKKwlpZiAobGlzdF9lbXB0eSgmbHMtPmxfdGFicykpCisJCXJldHVybiBOVUxMOworCisJcmV0dXJuIGxpc3RfZW50cnkobHMtPmxfdGFicy5uZXh0LAorCQkJc3RydWN0IGJsa2lkX3N0cnVjdF9wYXJ0dGFibGUsIHRfdGFicyk7Cit9CisKKworLyoqCisgKiBibGtpZF9wYXJ0bGlzdF9nZXRfcGFydGl0aW9uOgorICogQGxzOiBwYXJ0aXRpb25zIGxpc3QKKyAqIEBuOiBwYXJ0aXRpb24gbnVtYmVyIGluIHJhbmdlIDAuLk4sIHdoZXJlICdOJyBpcyBibGtpZF9wYXJ0bGlzdF9udW1vZl9wYXJ0aXRpb25zKCkuCisgKgorICogSXQncyBwb3NzaWJsZSB0aGF0IHRoZSBsaXN0IG9mIHBhcnRpdGlvbnMgaXMgKmVtcHR5KiwgYnV0IHRoZXJlIGlzIGEgdmFsaWQKKyAqIHBhcnRpdGlvbiB0YWJsZSBvbiB0aGUgZGlzay4gVGhpcyBoYXBwZW4gd2hlbiBvbi1kaXNrIGRldGFpbHMgYWJvdXQKKyAqIHBhcnRpdGlvbnMgYXJlIHVua25vd24gb3IgdGhlIHBhcnRpdGlvbiB0YWJsZSBpcyBlbXB0eS4KKyAqCisgKiBTZWUgYWxzbyBibGtpZF9wYXJ0bGlzdF9nZXRfdGFibGUoKS4KKyAqCisgKiBSZXR1cm5zOiBwYXJ0aXRpb24gb2JqZWN0IG9yIE5VTEwgaW4gY2FzZSBvciBlcnJvci4KKyAqLworYmxraWRfcGFydGl0aW9uIGJsa2lkX3BhcnRsaXN0X2dldF9wYXJ0aXRpb24oYmxraWRfcGFydGxpc3QgbHMsIGludCBuKQoreworCWlmIChuIDwgMCB8fCBuID49IGxzLT5ucGFydHMpCisJCXJldHVybiBOVUxMOworCisJcmV0dXJuICZscy0+cGFydHNbbl07Cit9CisKK2Jsa2lkX3BhcnRpdGlvbiBibGtpZF9wYXJ0bGlzdF9nZXRfcGFydGl0aW9uX2J5X3N0YXJ0KGJsa2lkX3BhcnRsaXN0IGxzLCB1aW50NjRfdCBzdGFydCkKK3sKKwlpbnQgaSwgbnBhcnRzOworCWJsa2lkX3BhcnRpdGlvbiBwYXI7CisKKwlucGFydHMgPSBibGtpZF9wYXJ0bGlzdF9udW1vZl9wYXJ0aXRpb25zKGxzKTsKKwlmb3IgKGkgPSAwOyBpIDwgbnBhcnRzOyBpKyspIHsKKwkJcGFyID0gYmxraWRfcGFydGxpc3RfZ2V0X3BhcnRpdGlvbihscywgaSk7CisJCWlmICgodWludDY0X3QpIGJsa2lkX3BhcnRpdGlvbl9nZXRfc3RhcnQocGFyKSA9PSBzdGFydCkKKwkJCXJldHVybiBwYXI7CisJfQorCXJldHVybiBOVUxMOworfQorCisvKioKKyAqIGJsa2lkX3BhcnRsaXN0X2dldF9wYXJ0aXRpb25fYnlfcGFydG5vCisgKiBAbHM6IHBhcnRpdGlvbnMgbGlzdAorICogQG46IHRoZSBwYXJ0aXRpb24gbnVtYmVyIChlLmcuICdOJyBmcm9tIHNkYSdOJykKKyAqCisgKiBUaGlzIGRvZXMgbm90IGFzc3VtZSBhbnkgb3JkZXIgb2YgdGhlIGlucHV0IGJsa2lkX3BhcnRsaXN0LiAgQW5kIGNvcnJlY3RseQorICogaGFuZGxlcyAib3V0IG9mIG9yZGVyIiBwYXJ0aXRpb24gdGFibGVzLiAgcGFydGl0aW9uIE4gaXMgbG9jYXRlZCBhZnRlcgorICogcGFydGl0aW9uIE4rMSBvbiB0aGUgZGlzay4KKyAqCisgKiBSZXR1cm5zOiBwYXJ0aXRpb24gb2JqZWN0IG9yIE5VTEwgaW4gY2FzZSBvciBlcnJvci4KKyAqLworYmxraWRfcGFydGl0aW9uIGJsa2lkX3BhcnRsaXN0X2dldF9wYXJ0aXRpb25fYnlfcGFydG5vKGJsa2lkX3BhcnRsaXN0IGxzLCBpbnQgbikKK3sKKwlpbnQgaSwgbnBhcnRzOworCWJsa2lkX3BhcnRpdGlvbiBwYXI7CisKKwlucGFydHMgPSBibGtpZF9wYXJ0bGlzdF9udW1vZl9wYXJ0aXRpb25zKGxzKTsKKwlmb3IgKGkgPSAwOyBpIDwgbnBhcnRzOyBpKyspIHsKKwkJcGFyID0gYmxraWRfcGFydGxpc3RfZ2V0X3BhcnRpdGlvbihscywgaSk7CisJCWlmIChuID09IGJsa2lkX3BhcnRpdGlvbl9nZXRfcGFydG5vKHBhcikpCisJCQlyZXR1cm4gcGFyOworCX0KKwlyZXR1cm4gTlVMTDsKK30KKworCisvKioKKyAqIGJsa2lkX3BhcnRsaXN0X2Rldm5vX3RvX3BhcnRpdGlvbjoKKyAqIEBsczogcGFydGl0aW9ucyBsaXN0CisgKiBAZGV2bm86IHJlcXVlc3RlZCBwYXJ0aXRpb24KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHRyaWVzIHRvIGdldCBzdGFydCBhbmQgc2l6ZSBmb3IgQGRldm5vIGZyb20gc3lzZnMgYW5kCisgKiByZXR1cm5zIGEgcGFydGl0aW9uIGZyb20gQGxzIHdoaWNoIG1hdGNoZXMgd2l0aCB0aGUgdmFsdWVzIGZyb20gc3lzZnMuCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyBuZWNlc3Nhcnkgd2hlbiB5b3Ugd2FudCB0byBtYWtlIGEgcmVsYXRpb24gYmV0d2VlbiBhbiBlbnRyeQorICogaW4gdGhlIHBhcnRpdGlvbiB0YWJsZSAoQGxzKSBhbmQgYmxvY2sgZGV2aWNlcyBpbiB5b3VyIHN5c3RlbS4KKyAqCisgKiBSZXR1cm5zOiBwYXJ0aXRpb24gb2JqZWN0IG9yIE5VTEwgaW4gY2FzZSBvciBlcnJvci4KKyAqLworYmxraWRfcGFydGl0aW9uIGJsa2lkX3BhcnRsaXN0X2Rldm5vX3RvX3BhcnRpdGlvbihibGtpZF9wYXJ0bGlzdCBscywgZGV2X3QgZGV2bm8pCit7CisJc3RydWN0IHN5c2ZzX2N4dCBzeXNmczsKKwl1aW50NjRfdCBzdGFydCwgc2l6ZTsKKwlpbnQgaSwgcmMsIHBhcnRubyA9IDA7CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJ0cnlpbmcgdG8gY29udmVydCBkZXZubyAweCVsbHggdG8gcGFydGl0aW9uIiwKKwkJCShsb25nIGxvbmcpIGRldm5vKSk7CisKKwlpZiAoc3lzZnNfaW5pdCgmc3lzZnMsIGRldm5vLCBOVUxMKSkgeworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJmYWlsZWQgdCBpbml0IHN5c2ZzIGNvbnRleHQiKSk7CisJCXJldHVybiBOVUxMOworCX0KKwlyYyA9IHN5c2ZzX3JlYWRfdTY0KCZzeXNmcywgInNpemUiLCAmc2l6ZSk7CisJaWYgKCFyYykgeworCQlyYyA9IHN5c2ZzX3JlYWRfdTY0KCZzeXNmcywgInN0YXJ0IiwgJnN0YXJ0KTsKKwkJaWYgKHJjKSB7CisJCQkvKiB0cnkgdG8gZ2V0IHBhcnRpdGlvbiBudW1iZXIgZnJvbSBETSB1dWlkLgorCQkJICovCisJCQljaGFyICp1dWlkID0gc3lzZnNfc3RyZHVwKCZzeXNmcywgImRtL3V1aWQiKTsKKwkJCWNoYXIgKnRtcCA9IHV1aWQ7CisJCQljaGFyICpwcmVmaXggPSB1dWlkID8gc3Ryc2VwKCZ0bXAsICItIikgOiBOVUxMOworCisJCQlpZiAocHJlZml4ICYmIHN0cm5jYXNlY21wKHByZWZpeCwgInBhcnQiLCA0KSA9PSAwKSB7CisJCQkJY2hhciAqZW5kID0gTlVMTDsKKworCQkJCXBhcnRubyA9IHN0cnRvbChwcmVmaXggKyA0LCAmZW5kLCAxMCk7CisJCQkJaWYgKHByZWZpeCA9PSBlbmQgfHwgKGVuZCAmJiAqZW5kKSkKKwkJCQkJcGFydG5vID0gMDsKKwkJCQllbHNlCisJCQkJCXJjID0gMDsJCS8qIHN1Y2Nlc3MgKi8KKwkJCX0KKwkJCWZyZWUodXVpZCk7CisJCX0KKwl9CisKKwlzeXNmc19kZWluaXQoJnN5c2ZzKTsKKworCWlmIChyYykKKwkJcmV0dXJuIE5VTEw7CisKKwlpZiAocGFydG5vKSB7CisJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIm1hcHBlZCBieSBETSwgdXNpbmcgcGFydG5vICVkIiwgcGFydG5vKSk7CisKKwkJLyoKKwkJICogUGFydGl0aW9uIG1hcHBlZCBieSBrcGFydHggZG9lcyBub3QgcHJvdmlkZSAic3RhcnQiIG9mZnNldAorCQkgKiBpbiAvc3lzLCBidXQgaWYgd2Uga25vdyBwYXJ0bm8gYW5kIHNpemUgb2YgdGhlIHBhcnRpdGlvbgorCQkgKiB0aGF0IHdlIGNhbiBwcm9iYWJseSBtYWtlIHRoZSByZWxhdGlvbiBiZXR3ZWVuIHRoZSBkZXZpY2UKKwkJICogYW5kIGFuIGVudHJ5IGluIHBhcnRpdGlvbiB0YWJsZS4KKwkJICovCisJCSBmb3IgKGkgPSAwOyBpIDwgbHMtPm5wYXJ0czsgaSsrKSB7CisJCQkgYmxraWRfcGFydGl0aW9uIHBhciA9ICZscy0+cGFydHNbaV07CisKKwkJCSBpZiAocGFydG5vICE9IGJsa2lkX3BhcnRpdGlvbl9nZXRfcGFydG5vKHBhcikpCisJCQkJIGNvbnRpbnVlOworCisJCQkgaWYgKHNpemUgPT0gKHVpbnQ2NF90KWJsa2lkX3BhcnRpdGlvbl9nZXRfc2l6ZShwYXIpIHx8CisJCQkgICAgIChibGtpZF9wYXJ0aXRpb25faXNfZXh0ZW5kZWQocGFyKSAmJiBzaXplIDw9IDEwMjRVTEwpKQorCQkJCSByZXR1cm4gcGFyOworCisJCSB9CisJCSByZXR1cm4gTlVMTDsKKwl9CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJzZWFyY2hpbmcgYnkgb2Zmc2V0L3NpemUiKSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbHMtPm5wYXJ0czsgaSsrKSB7CisJCWJsa2lkX3BhcnRpdGlvbiBwYXIgPSAmbHMtPnBhcnRzW2ldOworCisJCWlmICgodWludDY0X3QpYmxraWRfcGFydGl0aW9uX2dldF9zdGFydChwYXIpID09IHN0YXJ0ICYmCisJCSAgICAodWludDY0X3QpYmxraWRfcGFydGl0aW9uX2dldF9zaXplKHBhcikgPT0gc2l6ZSkKKwkJCXJldHVybiBwYXI7CisKKwkJLyogZXhjZXB0aW9uIGZvciBleHRlbmRlZCBkb3MgcGFydGl0aW9ucyAqLworCQlpZiAoKHVpbnQ2NF90KWJsa2lkX3BhcnRpdGlvbl9nZXRfc3RhcnQocGFyKSA9PSBzdGFydCAmJgorCQkgICAgYmxraWRfcGFydGl0aW9uX2lzX2V4dGVuZGVkKHBhcikgJiYgc2l6ZSA8PSAxMDI0VUxMKQorCQkJcmV0dXJuIHBhcjsKKworCX0KKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIm5vdCBmb3VuZCBwYXJ0aXRpb24gZm9yIGRldmljZSIpKTsKKwlyZXR1cm4gTlVMTDsKK30KKworCitpbnQgYmxraWRfcGFydHRhYmxlX3NldF91dWlkKGJsa2lkX3BhcnR0YWJsZSB0YWIsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmlkKQoreworCWlmICghdGFiKQorCQlyZXR1cm4gLTE7CisKKwlibGtpZF91bnBhcnNlX3V1aWQoaWQsIHRhYi0+aWQsIHNpemVvZih0YWItPmlkKSk7CisJcmV0dXJuIDA7Cit9CisKK2ludCBibGtpZF9wYXJ0dGFibGVfc2V0X2lkKGJsa2lkX3BhcnR0YWJsZSB0YWIsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmlkKQoreworCWlmICghdGFiKQorCQlyZXR1cm4gLTE7CisKKwlzdHJuY3B5KHRhYi0+aWQsIChjb25zdCBjaGFyICopIGlkLCBzaXplb2YodGFiLT5pZCkpOworCXJldHVybiAwOworfQorCisvKiBzZXQgUFRVVUlEIHZhcmlhYmxlIGZvciBub24tYmluYXJ5IEFQSSAqLworaW50IGJsa2lkX3BhcnRpdGlvbnNfc2V0X3B0dXVpZChibGtpZF9wcm9iZSBwciwgdW5zaWduZWQgY2hhciAqdXVpZCkKK3sKKwlzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobiA9IGJsa2lkX3Byb2JlX2dldF9jaGFpbihwcik7CisJc3RydWN0IGJsa2lkX3BydmFsICp2OworCisJaWYgKGNobi0+YmluYXJ5IHx8IGJsa2lkX3V1aWRfaXNfZW1wdHkodXVpZCwgMTYpKQorCQlyZXR1cm4gMDsKKworCXYgPSBibGtpZF9wcm9iZV9hc3NpZ25fdmFsdWUocHIsICJQVFVVSUQiKTsKKwlpZiAoIXYpCisJCXJldHVybiAtRU5PTUVNOworCisJdi0+bGVuID0gMzc7CisJdi0+ZGF0YSA9IGNhbGxvYygxLCB2LT5sZW4pOworCWlmICh2LT5kYXRhKSB7CisJCWJsa2lkX3VucGFyc2VfdXVpZCh1dWlkLCAoY2hhciAqKSB2LT5kYXRhLCB2LT5sZW4pOworCQlyZXR1cm4gMDsKKwl9CisKKwlibGtpZF9wcm9iZV9mcmVlX3ZhbHVlKHYpOworCXJldHVybiAtRU5PTUVNOworfQorCisvKiBzZXQgUFRVVUlEIHZhcmlhYmxlIGZvciBub24tYmluYXJ5IEFQSSBmb3IgdGFibGVzIHdoZXJlCisgKiB0aGUgSUQgaXMganVzdCBhIHN0cmluZyAqLworaW50IGJsa2lkX3BhcnRpdGlvbnNfc3RyY3B5X3B0dXVpZChibGtpZF9wcm9iZSBwciwgY2hhciAqc3RyKQoreworCXN0cnVjdCBibGtpZF9jaGFpbiAqY2huID0gYmxraWRfcHJvYmVfZ2V0X2NoYWluKHByKTsKKworCWlmIChjaG4tPmJpbmFyeSB8fCAhc3RyIHx8ICEqc3RyKQorCQlyZXR1cm4gMDsKKworCWlmICghYmxraWRfcHJvYmVfc2V0X3ZhbHVlKHByLCAiUFRVVUlEIiwgKHVuc2lnbmVkIGNoYXIgKikgc3RyLCBzdHJsZW4oc3RyKSArIDEpKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXJldHVybiAwOworfQorCisvKioKKyAqIGJsa2lkX3BhcnR0YWJsZV9nZXRfaWQ6CisgKiBAdGFiOiBwYXJ0aXRpb24gdGFibGUKKyAqCisgKiBUaGUgSUQgaXMgR1BUIGRpc2sgVVVJRCBvciBET1MgZGlzayBJRCAoaW4gaGV4IGZvcm1hdCkuCisgKgorICogUmV0dXJuczogcGFydGl0aW9uIHRhYmxlIElEIChmb3IgZXhhbXBsZSBHUFQgZGlzayBVVUlEKSBvciBOVUxMCisgKi8KK2NvbnN0IGNoYXIgKmJsa2lkX3BhcnR0YWJsZV9nZXRfaWQoYmxraWRfcGFydHRhYmxlIHRhYikKK3sKKwlyZXR1cm4gKnRhYi0+aWQgPyB0YWItPmlkIDogTlVMTDsKK30KKworCitpbnQgYmxraWRfcGFydGl0aW9uX3NldF90eXBlKGJsa2lkX3BhcnRpdGlvbiBwYXIsIGludCB0eXBlKQoreworCXBhci0+dHlwZSA9IHR5cGU7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogYmxraWRfcGFydHRhYmxlX2dldF90eXBlOgorICogQHRhYjogcGFydGl0aW9uIHRhYmxlCisgKgorICogUmV0dXJuczogcGFydGl0aW9uIHRhYmxlIHR5cGUgKHR5cGUgbmFtZSwgZS5nLiAiZG9zIiwgImdwdCIsIC4uLikKKyAqLworY29uc3QgY2hhciAqYmxraWRfcGFydHRhYmxlX2dldF90eXBlKGJsa2lkX3BhcnR0YWJsZSB0YWIpCit7CisJcmV0dXJuIHRhYi0+dHlwZTsKK30KKworLyoqCisgKiBibGtpZF9wYXJ0dGFibGVfZ2V0X3BhcmVudDoKKyAqIEB0YWI6IHBhcnRpdGlvbiB0YWJsZQorICoKKyAqIFJldHVybnM6IHBhcmVudCBmb3IgbmVzdGVkIHBhcnRpdGlvbiB0YWJsZXMgb3IgTlVMTC4KKyAqLworYmxraWRfcGFydGl0aW9uIGJsa2lkX3BhcnR0YWJsZV9nZXRfcGFyZW50KGJsa2lkX3BhcnR0YWJsZSB0YWIpCit7CisJcmV0dXJuIHRhYi0+cGFyZW50OworfQorCisvKioKKyAqIGJsa2lkX3BhcnR0YWJsZV9nZXRfb2Zmc2V0OgorICogQHRhYjogcGFydGl0aW9uIHRhYmxlCisgKgorICogTm90ZSB0aGUgcG9zaXRpb24gaXMgcmVsYXRpdmUgdG8gYmVnaW4gb2YgdGhlIGRldmljZSBhcyBkZWZpbmVkIGJ5CisgKiBibGtpZF9wcm9iZV9zZXRfZGV2aWNlKCkgZm9yIHByaW1hcnkgcGFydGl0aW9uIHRhYmxlLCBhbmQgcmVsYXRpdmUKKyAqIHRvIHBhcmVudGFsIHBhcnRpdGlvbiBmb3IgbmVzdGVkIHBhcnRpdGlvbiB0YWJsZXMuCisgKgorICogPGluZm9ybWFsZXhhbXBsZT4KKyAqICAgPHByb2dyYW1saXN0aW5nPgorICogb2ZmX3Qgb2Zmc2V0OworICogYmxraWRfcGFydGl0aW9uIHBhcmVudCA9IGJsa2lkX3BhcnR0YWJsZV9nZXRfcGFyZW50KHRhYik7CisgKgorICogb2Zmc2V0ID0gYmxraWRfcGFydHRhYmxlX2dldF9vZmZzZXQodGFiKTsKKyAqCisgKiBpZiAocGFyZW50KQorICogICAgICAvICogJ3RhYicgaXMgbmVzdGVkIHBhcnRpdGlvbiB0YWJsZSAqIC8KKyAqCW9mZnNldCArPSBibGtpZF9wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBhcmVudCk7CisgKiAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKworICogUmV0dXJuczogcG9zaXRpb24gKGluIGJ5dGVzKSBvZiB0aGUgcGFydGl0aW9uIHRhYmxlIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKgorICovCitibGtpZF9sb2ZmX3QgYmxraWRfcGFydHRhYmxlX2dldF9vZmZzZXQoYmxraWRfcGFydHRhYmxlIHRhYikKK3sKKwlyZXR1cm4gKGJsa2lkX2xvZmZfdCl0YWItPm9mZnNldDsKK30KKworLyoqCisgKiBibGtpZF9wYXJ0aXRpb25fZ2V0X3RhYmxlOgorICogQHBhcjogcGFydGl0aW9uCisgKgorICogVGhlICJwYXJ0dGFibGUiIGRlc2NyaWJlcyBwYXJ0aXRpb24gdGFibGUuIFRoZSB0YWJsZSBpcyB1c3VhbGx5IHRoZSBzYW1lIGZvcgorICogYWxsIHBhcnRpdGlvbnMgLS0gZXhjZXB0IG5lc3RlZCBwYXJ0aXRpb24gdGFibGVzLgorICoKKyAqIEZvciBleGFtcGxlIGJzZCwgc29sYXJpcywgZXRjLiB1c2UgYSBuZXN0ZWQgcGFydGl0aW9uIHRhYmxlIHdpdGhpbgorICogc3RhbmRhcmQgcHJpbWFyeSBkb3MgcGFydGl0aW9uOgorICoKKyAqIDxpbmZvcm1hbGV4YW1wbGU+CisgKiAgIDxwcm9ncmFtbGlzdGluZz4KKyAqCisgKiAgLS0gZG9zIHBhcnRpdGlvbiB0YWJsZQorICogIDA6IHNkYTEgICAgIGRvcyBwcmltYXJ5IHBhcnRpdGlvbgorICogIDE6IHNkYTIgICAgIGRvcyBwcmltYXJ5IHBhcnRpdGlvbgorICogICAgIC0tIGJzZCBwYXJ0aXRpb24gdGFibGUgKHdpdGggaW4gc2RhMikKKyAqICAyOiAgICBzZGE1ICBiZHMgcGFydGl0aW9uCisgKiAgMzogICAgc2RhNiAgYmRzIHBhcnRpdGlvbgorICoKKyAqICAgPC9wcm9ncmFtbGlzdGluZz4KKyAqIDwvaW5mb3JtYWxleGFtcGxlPgorICoKKyAqIFRoZSBsaWJyYXJ5IGRvZXMgbm90IHRvIHVzZSBhIHNlcGFyYXRlIHBhcnRpdGlvbiB0YWJsZSBvYmplY3QgZm9yIGRvcyBsb2dpY2FsCisgKiBwYXJ0aXRpb25zIChwYXJ0aXRpb25zIHdpdGhpbiBleHRlbmRlZCBwYXJ0aXRpb24pLiBJdCdzIHBvc3NpYmxlIHRvCisgKiBkaWZmZXJlbnRpYXRlIGJldHdlZW4gbG9naWNhbCwgZXh0ZW5kZWQgYW5kIHByaW1hcnkgcGFydGl0aW9ucyBieQorICoKKyAqCWJsa2lkX3BhcnRpdGlvbl9pc197ZXh0ZW5kZWQscHJpbWFyeSxsb2dpY2FsfSgpLgorICoKKyAqIFJldHVybnM6IHBhcnRpdGlvbiB0YWJsZSBvYmplY3Qgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCitibGtpZF9wYXJ0dGFibGUgYmxraWRfcGFydGl0aW9uX2dldF90YWJsZShibGtpZF9wYXJ0aXRpb24gcGFyKQoreworCXJldHVybiBwYXItPnRhYjsKK30KKworc3RhdGljIGludCBwYXJ0aXRpb25fZ2V0X2xvZ2ljYWxfdHlwZShibGtpZF9wYXJ0aXRpb24gcGFyKQoreworCWJsa2lkX3BhcnR0YWJsZSB0YWI7CisKKwlpZiAoIXBhcikKKwkJcmV0dXJuIC0xOworCisJdGFiID0gYmxraWRfcGFydGl0aW9uX2dldF90YWJsZShwYXIpOworCWlmICghdGFiIHx8ICF0YWItPnR5cGUpCisJCXJldHVybiAtMTsKKworCWlmICh0YWItPnBhcmVudCkKKwkJcmV0dXJuICdMJzsgIC8qIHJlcG9ydCBuZXN0ZWQgcGFydGl0aW9ucyBhcyBsb2dpY2FsICovCisKKwlpZiAoIXN0cmNtcCh0YWItPnR5cGUsICJkb3MiKSkgeworCQlpZiAocGFyLT5wYXJ0bm8gPiA0KQorCQkJcmV0dXJuICdMJzsJLyogbG9naWNhbCAqLworCisJICAgICAgICBpZihwYXItPnR5cGUgPT0gTUJSX0RPU19FWFRFTkRFRF9QQVJUSVRJT04gfHwKKyAgICAgICAgICAgICAgICAgICBwYXItPnR5cGUgPT0gTUJSX1c5NV9FWFRFTkRFRF9QQVJUSVRJT04gfHwKKwkJICAgcGFyLT50eXBlID09IE1CUl9MSU5VWF9FWFRFTkRFRF9QQVJUSVRJT04pCisJCQlyZXR1cm4gJ0UnOworCX0KKwlyZXR1cm4gJ1AnOworfQorCisvKioKKyAqIGJsa2lkX3BhcnRpdGlvbl9pc19wcmltYXJ5OgorICogQHBhcjogcGFydGl0aW9uCisgKgorICogTm90ZSwgdGhpcyBmdW5jdGlvbiByZXR1cm5zIEZBTFNFIGZvciBET1MgZXh0ZW5kZWQgcGFydGl0aW9ucyBhbmQKKyAqIGFsbCBwYXJ0aXRpb25zIGluIG5lc3RlZCBwYXJ0aXRpb24gdGFibGVzLgorICoKKyAqIFJldHVybnM6IDEgaWYgdGhlIHBhcnRpdGlvbnMgaXMgcHJpbWFyeSBwYXJ0aXRpb24gb3IgMCBpZiBub3QuCisgKi8KK2ludCBibGtpZF9wYXJ0aXRpb25faXNfcHJpbWFyeShibGtpZF9wYXJ0aXRpb24gcGFyKQoreworCXJldHVybiBwYXJ0aXRpb25fZ2V0X2xvZ2ljYWxfdHlwZShwYXIpID09ICdQJyA/IFRSVUUgOiBGQUxTRTsKK30KKworLyoqCisgKiBibGtpZF9wYXJ0aXRpb25faXNfZXh0ZW5kZWQ6CisgKiBAcGFyOiBwYXJ0aXRpb24KKyAqCisgKiBSZXR1cm5zOiAxIGlmIHRoZSBwYXJ0aXRpb25zIGlzIGV4dGVuZGVkIChkb3MsIHdpbmRvd3Mgb3IgbGludXgpCisgKiBwYXJ0aXRpb24gb3IgMCBpZiBub3QuCisgKi8KK2ludCBibGtpZF9wYXJ0aXRpb25faXNfZXh0ZW5kZWQoYmxraWRfcGFydGl0aW9uIHBhcikKK3sKKwlyZXR1cm4gcGFydGl0aW9uX2dldF9sb2dpY2FsX3R5cGUocGFyKSA9PSAnRScgPyBUUlVFIDogRkFMU0U7Cit9CisKKy8qKgorICogYmxraWRfcGFydGl0aW9uX2lzX2xvZ2ljYWw6CisgKiBAcGFyOiBwYXJ0aXRpb24KKyAqCisgKiBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiByZXR1cm5zIFRSVUUgZm9yIGFsbCBwYXJ0aXRpb25zIGluIGFsbAorICogbmVzdGVkIHBhcnRpdGlvbiB0YWJsZXMgKGUuZy4gQlNEIGxhYmVscykuCisgKgorICogUmV0dXJuczogMSBpZiB0aGUgcGFydGl0aW9ucyBpcyBsb2dpY2FsIHBhcnRpdGlvbiBvciAwIGlmIG5vdC4KKyAqLworaW50IGJsa2lkX3BhcnRpdGlvbl9pc19sb2dpY2FsKGJsa2lkX3BhcnRpdGlvbiBwYXIpCit7CisJcmV0dXJuIHBhcnRpdGlvbl9nZXRfbG9naWNhbF90eXBlKHBhcikgPT0gJ0wnID8gVFJVRSA6IEZBTFNFOworfQorCitzdGF0aWMgdm9pZCBzZXRfc3RyaW5nKHVuc2lnbmVkIGNoYXIgKml0ZW0sIHNpemVfdCBtYXgsCisJCQkJY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSwgc2l6ZV90IGxlbikKK3sKKwlpZiAobGVuID49IG1heCkKKwkJbGVuID0gbWF4IC0gMTsKKworCW1lbWNweShpdGVtLCBkYXRhLCBsZW4pOworCWl0ZW1bbGVuXSA9ICdcMCc7CisKKwlibGtpZF9ydHJpbV93aGl0ZXNwYWNlKGl0ZW0pOworfQorCitpbnQgYmxraWRfcGFydGl0aW9uX3NldF9uYW1lKGJsa2lkX3BhcnRpdGlvbiBwYXIsCisJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKm5hbWUsIHNpemVfdCBsZW4pCit7CisJaWYgKCFwYXIpCisJCXJldHVybiAtMTsKKworCXNldF9zdHJpbmcocGFyLT5uYW1lLCBzaXplb2YocGFyLT5uYW1lKSwgbmFtZSwgbGVuKTsKKwlyZXR1cm4gMDsKK30KKworaW50IGJsa2lkX3BhcnRpdGlvbl9zZXRfdXRmOG5hbWUoYmxraWRfcGFydGl0aW9uIHBhciwgY29uc3QgdW5zaWduZWQgY2hhciAqbmFtZSwKKwkJc2l6ZV90IGxlbiwgaW50IGVuYykKK3sKKwlpZiAoIXBhcikKKwkJcmV0dXJuIC0xOworCisJYmxraWRfZW5jb2RlX3RvX3V0ZjgoZW5jLCBwYXItPm5hbWUsIHNpemVvZihwYXItPm5hbWUpLCBuYW1lLCBsZW4pOworCWJsa2lkX3J0cmltX3doaXRlc3BhY2UocGFyLT5uYW1lKTsKKwlyZXR1cm4gMDsKK30KKworaW50IGJsa2lkX3BhcnRpdGlvbl9zZXRfdXVpZChibGtpZF9wYXJ0aXRpb24gcGFyLCBjb25zdCB1bnNpZ25lZCBjaGFyICp1dWlkKQoreworCWlmICghcGFyKQorCQlyZXR1cm4gLTE7CisKKwlibGtpZF91bnBhcnNlX3V1aWQodXVpZCwgcGFyLT51dWlkLCBzaXplb2YocGFyLT51dWlkKSk7CisJcmV0dXJuIDA7Cit9CisKK2ludCBibGtpZF9wYXJ0aXRpb25fZ2VuX3V1aWQoYmxraWRfcGFydGl0aW9uIHBhcikKK3sKKwlpZiAoIXBhciB8fCAhcGFyLT50YWIgfHwgISpwYXItPnRhYi0+aWQpCisJCXJldHVybiAtMTsKKworCXNucHJpbnRmKHBhci0+dXVpZCwgc2l6ZW9mKHBhci0+dXVpZCksICIlcy0lMDJ4IiwKKwkJCXBhci0+dGFiLT5pZCwgcGFyLT5wYXJ0bm8pOworCXJldHVybiAwOworfQorCisvKioKKyAqIGJsa2lkX3BhcnRpdGlvbl9nZXRfbmFtZToKKyAqIEBwYXI6IHBhcnRpdGlvbgorICoKKyAqIFJldHVybnM6IHBhcnRpdGlvbiBuYW1lIHN0cmluZyBpZiBzdXBwb3J0ZWQgYnkgUFQgKGUuZy4gTWFjKSBvciBOVUxMLgorICovCitjb25zdCBjaGFyICpibGtpZF9wYXJ0aXRpb25fZ2V0X25hbWUoYmxraWRfcGFydGl0aW9uIHBhcikKK3sKKwlyZXR1cm4gKnBhci0+bmFtZSA/IChjaGFyICopIHBhci0+bmFtZSA6IE5VTEw7Cit9CisKKy8qKgorICogYmxraWRfcGFydGl0aW9uX2dldF91dWlkOgorICogQHBhcjogcGFydGl0aW9uCisgKgorICogUmV0dXJuczogcGFydGl0aW9uIFVVSUQgc3RyaW5nIGlmIHN1cHBvcnRlZCBieSBQVCAoZS5nLiBHUFQpIG9yIE5VTEwuCisgKi8KK2NvbnN0IGNoYXIgKmJsa2lkX3BhcnRpdGlvbl9nZXRfdXVpZChibGtpZF9wYXJ0aXRpb24gcGFyKQoreworCXJldHVybiAqcGFyLT51dWlkID8gcGFyLT51dWlkIDogTlVMTDsKK30KKworLyoqCisgKiBibGtpZF9wYXJ0aXRpb25fZ2V0X3BhcnRubzoKKyAqIEBwYXI6IHBhcnRpdGlvbgorICoKKyAqIFJldHVybnM6IHByb3Bvc2VkIHBhcnRpdGlvbiBudW1iZXIgKGUuZy4gJ04nIGZyb20gc2RhJ04nKSBvciAtMSBpbiBjYXNlIG9mCisgKiBlcnJvci4gTm90ZSB0aGF0IHRoZSBudW1iZXIgaXMgZ2VuZXJhdGUgYnkgbGlicmFyeSBpbmRlcGVuZGVudGx5IG9uIHlvdXIgT1MuCisgKi8KK2ludCBibGtpZF9wYXJ0aXRpb25fZ2V0X3BhcnRubyhibGtpZF9wYXJ0aXRpb24gcGFyKQoreworCXJldHVybiBwYXItPnBhcnRubzsKK30KKworLyoqCisgKiBibGtpZF9wYXJ0aXRpb25fZ2V0X3N0YXJ0OgorICogQHBhcjogcGFydGl0aW9uCisgKgorICogQmUgY2FyZWZ1bCBpZiB5b3UgX25vdF8gcHJvYmUgd2hvbGUgZGlzazoKKyAqCisgKiAxKSB0aGUgb2Zmc2V0IGlzIHVzdWFsbHkgcmVsYXRpdmUgdG8gYmVnaW4gb2YgdGhlIGRpc2sgLS0gYnV0IGlmIHlvdSBwcm9iZSBhCisgKiAgICBmcmFnbWVudCBvZiB0aGUgZGlzayBvbmx5IC0tIHRoZW4gdGhlIG9mZnNldCBjb3VsZCBiZSBzdGlsbCByZWxhdGl2ZSB0bworICogICAgdGhlIGJlZ2luIG9mIHRoZSBkaXNrIHJhdGhlciB0aGF0IHJlbGF0aXZlIHRvIHRoZSBmcmFnbWVudC4KKyAqCisgKiAyKSB0aGUgb2Zmc2V0IGZvciBuZXN0ZWQgcGFydGl0aW9ucyBjb3VsZCBiZSByZWxhdGl2ZSB0byBwYXJlbnQgKGUuZy4gU29sYXJpcykKKyAqICAgIF9vcl8gcmVsYXRpdmUgdG8gdGhlIGJlZ2luIG9mIHRoZSB3aG9sZSBkaXNrIChlLmcuIGJzZCkuCisgKgorICogWW91IGRvbid0IGhhdmUgdG8gY2FyZSBhYm91dCBzdWNoIGRldGFpbHMgaWYgeW91IHByb2JlIHdob2xlIGRpc2suIEluIHN1Y2gKKyAqIGEgY2FzZSBsaWJibGtpZCBhbHdheXMgcmV0dXJucyB0aGUgb2Zmc2V0IHJlbGF0aXZlIHRvIHRoZSBiZWdpbiBvZiB0aGUgZGlzay4KKyAqCisgKiBSZXR1cm5zOiBzdGFydCBvZiB0aGUgcGFydGl0aW9uIChpbiA1MTItc2VjdG9ycykuCisgKi8KK2Jsa2lkX2xvZmZfdCBibGtpZF9wYXJ0aXRpb25fZ2V0X3N0YXJ0KGJsa2lkX3BhcnRpdGlvbiBwYXIpCit7CisJcmV0dXJuIChibGtpZF9sb2ZmX3QpcGFyLT5zdGFydDsKK30KKworLyoqCisgKiBibGtpZF9wYXJ0aXRpb25fZ2V0X3NpemU6CisgKiBAcGFyOiBwYXJ0aXRpb24KKyAqCisgKiBXQVJOSU5HOiBiZSB2ZXJ5IGNhcmVmdWwgd2hlbiB5b3Ugd29yayB3aXRoIE1TLURPUyBleHRlbmRlZCBwYXJ0aXRpb25zLiBUaGUKKyAqICAgICAgICAgIGxpYnJhcnkgYWx3YXlzIHJldHVybnMgZnVsbCBzaXplIG9mIHRoZSBwYXJ0aXRpb24uIElmIHlvdSB3YW50IGFkZAorICogICAgICAgICAgdGhlIHBhcnRpdGlvbiB0byB0aGUgTGludXggc3lzdGVtIChCTEtQR19BRERfUEFSVElUSU9OIGlvY3RsKSB5b3UKKyAqICAgICAgICAgIG5lZWQgdG8gcmVkdWNlIHRoZSBzaXplIG9mIHRoZSBwYXJ0aXRpb24gdG8gMSBvciAyIGJsb2Nrcy4gVGhlCisgKiAgICAgICAgICByZXN0IG9mIHRoZSBwYXJ0aXRpb24gaGFzIHRvIGJlIGluYWNjZXNzaWJsZSBmb3IgbWtmcyBvciBta3N3YXAKKyAqICAgICAgICAgIHByb2dyYW1zLCB3ZSBuZWVkIGEgc21hbGwgc3BhY2UgZm9yIGJvb3QgbG9hZGVycyBvbmx5LgorICoKKyAqICAgICAgICAgIEZvciBzb21lIHVua25vd24gcmVhc29uIHRoaXMgKHNhZmUpIHByYWN0aWNlIGlzIG5vdCB0byB1c2VkIGZvcgorICogICAgICAgICAgbmVzdGVkIEJTRCwgU29sYXJpcywgLi4uLCBwYXJ0aXRpb24gdGFibGVzIGluIExpbnV4IGtlcm5lbC4KKyAqCisgKiBSZXR1cm5zOiBzaXplIG9mIHRoZSBwYXJ0aXRpb24gKGluIDUxMi1zZWN0b3JzKS4KKyAqLworYmxraWRfbG9mZl90IGJsa2lkX3BhcnRpdGlvbl9nZXRfc2l6ZShibGtpZF9wYXJ0aXRpb24gcGFyKQoreworCXJldHVybiAoYmxraWRfbG9mZl90KXBhci0+c2l6ZTsKK30KKworLyoqCisgKiBibGtpZF9wYXJ0aXRpb25fZ2V0X3R5cGU6CisgKiBAcGFyOiBwYXJ0aXRpb24KKyAqCisgKiBSZXR1cm5zOiBwYXJ0aXRpb24gdHlwZS4KKyAqLworaW50IGJsa2lkX3BhcnRpdGlvbl9nZXRfdHlwZShibGtpZF9wYXJ0aXRpb24gcGFyKQoreworCXJldHVybiBwYXItPnR5cGU7Cit9CisKKy8qIFNldHMgcGFydGl0aW9uICd0eXBlJyBmb3IgUFQgd2hlcmUgdGhlIHR5cGUgaXMgZGVmaW5lZCBieSBzdHJpbmcgcmF0aGVyCisgKiB0aGFuIGJ5IG51bWJlcgorICovCitpbnQgYmxraWRfcGFydGl0aW9uX3NldF90eXBlX3N0cmluZyhibGtpZF9wYXJ0aXRpb24gcGFyLAorCQljb25zdCB1bnNpZ25lZCBjaGFyICp0eXBlLCBzaXplX3QgbGVuKQoreworCXNldF9zdHJpbmcoKHVuc2lnbmVkIGNoYXIgKikgcGFyLT50eXBlc3RyLAorCQkJc2l6ZW9mKHBhci0+dHlwZXN0ciksIHR5cGUsIGxlbik7CisJcmV0dXJuIDA7Cit9CisKKy8qIFNldHMgcGFydGl0aW9uICd0eXBlJyBmb3IgUFQgd2hlcmUgdGhlIHR5cGUgaXMgZGVmaW5lZCBieSBVVUlEcmF0aGVyCisgKiB0aGFuIGJ5IG51bWJlcgorICovCitpbnQgYmxraWRfcGFydGl0aW9uX3NldF90eXBlX3V1aWQoYmxraWRfcGFydGl0aW9uIHBhciwgY29uc3QgdW5zaWduZWQgY2hhciAqdXVpZCkKK3sKKwlibGtpZF91bnBhcnNlX3V1aWQodXVpZCwgcGFyLT50eXBlc3RyLCBzaXplb2YocGFyLT50eXBlc3RyKSk7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogYmxraWRfcGFydGl0aW9uX2dldF90eXBlX3N0cmluZzoKKyAqIEBwYXI6IHBhcnRpdGlvbgorICoKKyAqIFRoZSB0eXBlIHN0cmluZyBpcyBzdXBwb3J0ZWQgYnkgYSBzbWFsbCBzdWJzZXQgb2YgcGFydGl0aW9uIHRhYmxlcyAoZS5nIE1hYworICogYW5kIEVGSSBHUFQpLiAgTm90ZSB0aGF0IEdQVCB1c2VzIHR5cGUgVVVJRCBhbmQgdGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoaXMKKyAqIFVVSUQgYXMgc3RyaW5nLgorICoKKyAqIFJldHVybnM6IHBhcnRpdGlvbiB0eXBlIHN0cmluZyBvciBOVUxMLgorICovCitjb25zdCBjaGFyICpibGtpZF9wYXJ0aXRpb25fZ2V0X3R5cGVfc3RyaW5nKGJsa2lkX3BhcnRpdGlvbiBwYXIpCit7CisJcmV0dXJuICpwYXItPnR5cGVzdHIgPyBwYXItPnR5cGVzdHIgOiBOVUxMOworfQorCisKK2ludCBibGtpZF9wYXJ0aXRpb25fc2V0X2ZsYWdzKGJsa2lkX3BhcnRpdGlvbiBwYXIsIHVuc2lnbmVkIGxvbmcgbG9uZyBmbGFncykKK3sKKwlwYXItPmZsYWdzID0gZmxhZ3M7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogYmxraWRfcGFydGl0aW9uX2dldF9mbGFncworICogQHBhcjogcGFydGl0aW9uCisgKgorICogUmV0dXJuczogcGFydGl0aW9uIGZsYWdzIChvciBhdHRyaWJ1dGVzIGZvciBncHQpLgorICovCit1bnNpZ25lZCBsb25nIGxvbmcgYmxraWRfcGFydGl0aW9uX2dldF9mbGFncyhibGtpZF9wYXJ0aXRpb24gcGFyKQoreworCXJldHVybiBwYXItPmZsYWdzOworfQorCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvcGFydGl0aW9ucy9wYXJ0aXRpb25zLmggYi9saWJibGtpZC9zcmMvcGFydGl0aW9ucy9wYXJ0aXRpb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWQ5OWZiNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL3BhcnRpdGlvbnMuaApAQCAtMCwwICsxLDczIEBACisjaWZuZGVmIEJMS0lEX1BBUlRJVElPTlNfSAorI2RlZmluZSBCTEtJRF9QQVJUSVRJT05TX0gKKworI2luY2x1ZGUgImJsa2lkUC5oIgorI2luY2x1ZGUgInB0LW1ici5oIgorCitleHRlcm4gaW50IGJsa2lkX3BhcnRpdGlvbnNfZ2V0X2ZsYWdzKGJsa2lkX3Byb2JlIHByKTsKKworZXh0ZXJuIGJsa2lkX3BhcnR0YWJsZSBibGtpZF9wYXJ0bGlzdF9uZXdfcGFydHRhYmxlKGJsa2lkX3BhcnRsaXN0IGxzLAorCQkJCWNvbnN0IGNoYXIgKnR5cGUsIHVpbnQ2NF90IG9mZnNldCk7CisKK2V4dGVybiBpbnQgYmxraWRfcGFydHRhYmxlX3NldF91dWlkKGJsa2lkX3BhcnR0YWJsZSB0YWIsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmlkKTsKK2V4dGVybiBpbnQgYmxraWRfcGFydHRhYmxlX3NldF9pZChibGtpZF9wYXJ0dGFibGUgdGFiLCBjb25zdCB1bnNpZ25lZCBjaGFyICppZCk7CisKK2V4dGVybiBibGtpZF9wYXJ0aXRpb24gYmxraWRfcGFydGxpc3RfYWRkX3BhcnRpdGlvbihibGtpZF9wYXJ0bGlzdCBscywKKwkJCQlibGtpZF9wYXJ0dGFibGUgdGFiLAorCQkJCXVpbnQ2NF90IHN0YXJ0LCB1aW50NjRfdCBzaXplKTsKKworZXh0ZXJuIGludCBibGtpZF9wYXJ0bGlzdF9zZXRfcGFydG5vKGJsa2lkX3BhcnRsaXN0IGxzLCBpbnQgcGFydG5vKTsKK2V4dGVybiBpbnQgYmxraWRfcGFydGxpc3RfaW5jcmVtZW50X3BhcnRubyhibGtpZF9wYXJ0bGlzdCBscyk7CisKK2V4dGVybiBibGtpZF9wYXJ0aXRpb24gYmxraWRfcGFydGxpc3RfZ2V0X3BhcmVudChibGtpZF9wYXJ0bGlzdCBscyk7CisKK2V4dGVybiBibGtpZF9wYXJ0aXRpb24gYmxraWRfcGFydGxpc3RfZ2V0X3BhcnRpdGlvbl9ieV9zdGFydChibGtpZF9wYXJ0bGlzdCBscywgdWludDY0X3Qgc3RhcnQpOworCitleHRlcm4gaW50IGJsa2lkX3BhcnRpdGlvbnNfZG9fc3VicHJvYmUoYmxraWRfcHJvYmUgcHIsCisJCQlibGtpZF9wYXJ0aXRpb24gcGFyZW50LCBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvICppZCk7CisKK2V4dGVybiBpbnQgYmxraWRfcGFydGl0aW9uc19uZWVkX3R5cGVvbmx5KGJsa2lkX3Byb2JlIHByKTsKK2V4dGVybiBpbnQgYmxraWRfcGFydGl0aW9uc19zZXRfcHR1dWlkKGJsa2lkX3Byb2JlIHByLCB1bnNpZ25lZCBjaGFyICp1dWlkKTsKK2V4dGVybiBpbnQgYmxraWRfcGFydGl0aW9uc19zdHJjcHlfcHR1dWlkKGJsa2lkX3Byb2JlIHByLCBjaGFyICpzdHIpOworCisKK2V4dGVybiBpbnQgYmxraWRfaXNfbmVzdGVkX2RpbWVuc2lvbihibGtpZF9wYXJ0aXRpb24gcGFyLAorICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3Qgc3RhcnQsIHVpbnQ2NF90IHNpemUpOworCitleHRlcm4gaW50IGJsa2lkX3BhcnRpdGlvbl9zZXRfbmFtZShibGtpZF9wYXJ0aXRpb24gcGFyLAorCQljb25zdCB1bnNpZ25lZCBjaGFyICpuYW1lLCBzaXplX3QgbGVuKTsKKworZXh0ZXJuIGludCBibGtpZF9wYXJ0aXRpb25fc2V0X3V0ZjhuYW1lKGJsa2lkX3BhcnRpdGlvbiBwYXIsCisJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKm5hbWUsIHNpemVfdCBsZW4sIGludCBlbmMpOworCitleHRlcm4gaW50IGJsa2lkX3BhcnRpdGlvbl9zZXRfdXVpZChibGtpZF9wYXJ0aXRpb24gcGFyLAorCQljb25zdCB1bnNpZ25lZCBjaGFyICp1dWlkKTsKK2V4dGVybiBpbnQgYmxraWRfcGFydGl0aW9uX2dlbl91dWlkKGJsa2lkX3BhcnRpdGlvbiBwYXIpOworCitleHRlcm4gaW50IGJsa2lkX3BhcnRpdGlvbl9zZXRfdHlwZShibGtpZF9wYXJ0aXRpb24gcGFyLCBpbnQgdHlwZSk7CisKK2V4dGVybiBpbnQgYmxraWRfcGFydGl0aW9uX3NldF90eXBlX3N0cmluZyhibGtpZF9wYXJ0aXRpb24gcGFyLAorICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnR5cGUsIHNpemVfdCBsZW4pOworCitleHRlcm4gaW50IGJsa2lkX3BhcnRpdGlvbl9zZXRfdHlwZV91dWlkKGJsa2lkX3BhcnRpdGlvbiBwYXIsCisJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnV1aWQpOworCitleHRlcm4gaW50IGJsa2lkX3BhcnRpdGlvbl9zZXRfZmxhZ3MoYmxraWRfcGFydGl0aW9uIHBhciwgdW5zaWduZWQgbG9uZyBsb25nIGZsYWdzKTsKKworLyoKKyAqIHBhcnRpdGlvbiBwcm9iZXJzCisgKi8KK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGFpeF9wdF9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBic2RfcHRfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gdW5peHdhcmVfcHRfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gc29sYXJpc194ODZfcHRfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gc3VuX3B0X2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHNnaV9wdF9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBtYWNfcHRfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gZG9zX3B0X2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIG1pbml4X3B0X2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGdwdF9wdF9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBwbWJyX3B0X2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHVsdHJpeF9wdF9pZGluZm87CisKKyNlbmRpZiAvKiBCTEtJRF9QQVJUSVRJT05TX0ggKi8KZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL3NnaS5jIGIvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvc2dpLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTljMGJmMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL3NnaS5jCkBAIC0wLDAgKzEsODcgQEAKKy8qCisgKiBzZ2kgcGFydGl0aW9uIHBhcnNpbmcgY29kZQorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICoKKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJwYXJ0aXRpb25zLmgiCisjaW5jbHVkZSAicHQtc2dpLmgiCisKK3N0YXRpYyBpbnQgcHJvYmVfc2dpX3B0KGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJc3RydWN0IHNnaV9kaXNrbGFiZWwgKmw7CisJc3RydWN0IHNnaV9wYXJ0aXRpb24gKnA7CisJYmxraWRfcGFydHRhYmxlIHRhYiA9IE5VTEw7CisJYmxraWRfcGFydGxpc3QgbHM7CisJaW50IGk7CisKKwlsID0gKHN0cnVjdCBzZ2lfZGlza2xhYmVsICopIGJsa2lkX3Byb2JlX2dldF9zZWN0b3IocHIsIDApOworCWlmICghbCkgeworCQlpZiAoZXJybm8pCisJCQlyZXR1cm4gLWVycm5vOworCQlnb3RvIG5vdGhpbmc7CisJfQorCisJaWYgKHNnaV9wdF9jaGVja3N1bShsKSkgeworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKAorCQkJImRldGVjdGVkIGNvcnJ1cHRlZCBzZ2kgZGlzayBsYWJlbCAtLSBpZ25vcmUiKSk7CisJCWdvdG8gbm90aGluZzsKKwl9CisKKwlpZiAoYmxraWRfcGFydGl0aW9uc19uZWVkX3R5cGVvbmx5KHByKSkKKwkJLyogY2FsbGVyIGRvZXMgbm90IGFzayBmb3IgZGV0YWlscyBhYm91dCBwYXJ0aXRpb25zICovCisJCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKKworCWxzID0gYmxraWRfcHJvYmVfZ2V0X3BhcnRsaXN0KHByKTsKKwlpZiAoIWxzKQorCQlnb3RvIG5vdGhpbmc7CisKKwl0YWIgPSBibGtpZF9wYXJ0bGlzdF9uZXdfcGFydHRhYmxlKGxzLCAic2dpIiwgMCk7CisJaWYgKCF0YWIpCisJCWdvdG8gZXJyOworCisJZm9yKGkgPSAwLCBwID0gJmwtPnBhcnRpdGlvbnNbMF07IGkgPCBTR0lfTUFYUEFSVElUSU9OUzsgaSsrLCBwKyspIHsKKwkJdWludDMyX3Qgc2l6ZSA9IGJlMzJfdG9fY3B1KHAtPm51bV9ibG9ja3MpOworCQl1aW50MzJfdCBzdGFydCA9IGJlMzJfdG9fY3B1KHAtPmZpcnN0X2Jsb2NrKTsKKwkJdWludDMyX3QgdHlwZSA9IGJlMzJfdG9fY3B1KHAtPnR5cGUpOworCQlibGtpZF9wYXJ0aXRpb24gcGFyOworCisJCWlmICghc2l6ZSkgeworCQkJYmxraWRfcGFydGxpc3RfaW5jcmVtZW50X3BhcnRubyhscyk7CisJCQljb250aW51ZTsKKwkJfQorCQlwYXIgPSBibGtpZF9wYXJ0bGlzdF9hZGRfcGFydGl0aW9uKGxzLCB0YWIsIHN0YXJ0LCBzaXplKTsKKwkJaWYgKCFwYXIpCisJCQlnb3RvIGVycjsKKworCQlibGtpZF9wYXJ0aXRpb25fc2V0X3R5cGUocGFyLCB0eXBlKTsKKwl9CisKKwlyZXR1cm4gQkxLSURfUFJPQkVfT0s7CisKK25vdGhpbmc6CisJcmV0dXJuIEJMS0lEX1BST0JFX05PTkU7CitlcnI6CisJcmV0dXJuIC1FTk9NRU07Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gc2dpX3B0X2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gInNnaSIsCisJLnByb2JlZnVuYwk9IHByb2JlX3NnaV9wdCwKKwkubWFnaWNzCQk9CisJeworCQl7IC5tYWdpYyA9ICJceDBCXHhFNVx4QTlceDQxIiwgLmxlbiA9IDQJfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvcGFydGl0aW9ucy9zb2xhcmlzX3g4Ni5jIGIvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvc29sYXJpc194ODYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZWIyN2E5Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvc29sYXJpc194ODYuYwpAQCAtMCwwICsxLDE1NCBAQAorLyoKKyAqIFNvbGFyaXMgeDg2IHBhcnRpdGlvbiBwYXJzaW5nIGNvZGUKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJwYXJ0aXRpb25zLmgiCisKKy8qCisgKiBTb2xhcmlzLXg4NiBpcyBhbHdheXMgd2l0aGluIHByaW1hcnkgZG9zIHBhcnRpdGlvbiAobmVzdGVkIFBUIHRhYmxlKS4gIFRoZQorICogc29sYXJpcy14ODYgdnRvYyBhbGxvd3MgdG8gc3BsaXQgdGhlIGVudGlyZSBwYXJ0aXRpb24gdG8gInNsaWNlcyIuIFRoZQorICogb2Zmc2V0IChzdGFydCkgb2YgdGhlIHNsaWNlIGlzIGFsd2F5cyByZWxhdGl2ZWx5IHRvIHRoZSBwcmltYXJ5IGRvcworICogcGFydGl0aW9uLgorICoKKyAqIE5vdGUgdGhhdCBTb2xhcmlzLVNQQVJDIHVzZXMgZW50aXJlIGRpc2sgd2l0aCBhIGRpZmZlcmVudCBwYXJ0aXRpb25pbmcKKyAqIHNjaGVtZS4KKyAqLworCisvKiBzb21lIG90aGVyIGltcGxlbWVudGF0aW9uIHRoYW4gTGludXgga2VybmVsIGFzc3VtZSA4IHBhcnRpdGlvbnMgb25seSAqLworI2RlZmluZSBTT0xBUklTX01BWFBBUlRJVElPTlMJMTYKKworLyogZGlza2xhYmVsICh2dG9jKSBsb2NhdGlvbiAgKi8KKyNkZWZpbmUgU09MQVJJU19TRUNUT1IJCTEJCQkvKiBpbiA1MTItc2VjdG9ycyAqLworI2RlZmluZSBTT0xBUklTX09GRlNFVAkJKFNPTEFSSVNfU0VDVE9SIDw8IDkpCS8qIGluIGJ5dGVzICovCisjZGVmaW5lIFNPTEFSSVNfTUFHSUNPRkZTRVQJKFNPTEFSSVNfT0ZGU0VUICsgMTIpCS8qIHZfc2FuaXR5IG9mZnNldCBpbiBieXRlcyAqLworCisvKiBzbGljZSB0YWdzICovCisjZGVmaW5lIFNPTEFSSVNfVEFHX1dIT0xFRElTSwk1CisKK3N0cnVjdCBzb2xhcmlzX3NsaWNlIHsKKwl1aW50MTZfdCBzX3RhZzsgICAgICAvKiBJRCB0YWcgb2YgcGFydGl0aW9uICovCisJdWludDE2X3Qgc19mbGFnOyAgICAgLyogcGVybWlzc2lvbiBmbGFncyAqLworCXVpbnQzMl90IHNfc3RhcnQ7ICAgIC8qIHN0YXJ0IHNlY3RvciBubyBvZiBwYXJ0aXRpb24gKi8KKwl1aW50MzJfdCBzX3NpemU7ICAgICAvKiAjIG9mIGJsb2NrcyBpbiBwYXJ0aXRpb24gKi8KK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0cnVjdCBzb2xhcmlzX3Z0b2MgeworCXVuc2lnbmVkIGludCB2X2Jvb3RpbmZvWzNdOyAgICAgLyogaW5mbyBuZWVkZWQgYnkgbWJvb3QgKHVuc3VwcG9ydGVkKSAqLworCisJdWludDMyX3QgICAgIHZfc2FuaXR5OyAgICAgICAgICAvKiB0byB2ZXJpZnkgdnRvYyBzYW5pdHkgKi8KKwl1aW50MzJfdCAgICAgdl92ZXJzaW9uOyAgICAgICAgIC8qIGxheW91dCB2ZXJzaW9uICovCisJY2hhciAgICAgICAgIHZfdm9sdW1lWzhdOyAgICAgICAvKiB2b2x1bWUgbmFtZSAqLworCXVpbnQxNl90ICAgICB2X3NlY3RvcnN6OyAgICAgICAgLyogc2VjdG9yIHNpemUgaW4gYnl0ZXMgKi8KKwl1aW50MTZfdCAgICAgdl9ucGFydHM7ICAgICAgICAgIC8qIG51bWJlciBvZiBwYXJ0aXRpb25zICovCisJdW5zaWduZWQgaW50IHZfcmVzZXJ2ZWRbMTBdOyAgICAvKiBmcmVlIHNwYWNlICovCisKKwlzdHJ1Y3Qgc29sYXJpc19zbGljZSB2X3NsaWNlW1NPTEFSSVNfTUFYUEFSVElUSU9OU107IC8qIHNsaWNlcyAqLworCisJdW5zaWduZWQgaW50IHRpbWVzdGFtcFtTT0xBUklTX01BWFBBUlRJVElPTlNdOyAvKiB0aW1lc3RhbXAgKHVuc3VwcG9ydGVkKSAqLworCWNoYXIgICAgICAgICB2X2FzY2lpbGFiZWxbMTI4XTsJLyogZm9yIGNvbXBhdGliaWxpdHkgKi8KK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0YXRpYyBpbnQgcHJvYmVfc29sYXJpc19wdChibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXN0cnVjdCBzb2xhcmlzX3Z0b2MgKmw7CS8qIGRpc2sgbGFiZWwgKi8KKwlzdHJ1Y3Qgc29sYXJpc19zbGljZSAqcDsJLyogcGFydGl0aW9uICovCisJYmxraWRfcGFydHRhYmxlIHRhYiA9IE5VTEw7CisJYmxraWRfcGFydGl0aW9uIHBhcmVudDsKKwlibGtpZF9wYXJ0bGlzdCBsczsKKwlpbnQgaTsKKwl1aW50MTZfdCBucGFydHM7CisKKwlsID0gKHN0cnVjdCBzb2xhcmlzX3Z0b2MgKikgYmxraWRfcHJvYmVfZ2V0X3NlY3RvcihwciwgU09MQVJJU19TRUNUT1IpOworCWlmICghbCkgeworCQlpZiAoZXJybm8pCisJCQlyZXR1cm4gLWVycm5vOworCQlnb3RvIG5vdGhpbmc7CisJfQorCisJaWYgKGxlMzJfdG9fY3B1KGwtPnZfdmVyc2lvbikgIT0gMSkgeworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKAorCQkJIldBUk5JTkc6IHVuc3VwcG9ydGVkIHNvbGFyaXMgeDg2IHZlcnNpb24gJWQsIGlnbm9yZSIsCisJCQlsZTMyX3RvX2NwdShsLT52X3ZlcnNpb24pKSk7CisJCWdvdG8gbm90aGluZzsKKwl9CisKKwlpZiAoYmxraWRfcGFydGl0aW9uc19uZWVkX3R5cGVvbmx5KHByKSkKKwkJLyogY2FsbGVyIGRvZXMgbm90IGFzayBmb3IgZGV0YWlscyBhYm91dCBwYXJ0aXRpb25zICovCisJCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKKworCWxzID0gYmxraWRfcHJvYmVfZ2V0X3BhcnRsaXN0KHByKTsKKwlpZiAoIWxzKQorCQlnb3RvIG5vdGhpbmc7CisKKwlwYXJlbnQgPSBibGtpZF9wYXJ0bGlzdF9nZXRfcGFyZW50KGxzKTsKKworCXRhYiA9IGJsa2lkX3BhcnRsaXN0X25ld19wYXJ0dGFibGUobHMsICJzb2xhcmlzIiwgU09MQVJJU19PRkZTRVQpOworCWlmICghdGFiKQorCQlnb3RvIGVycjsKKworCW5wYXJ0cyA9IGxlMTZfdG9fY3B1KGwtPnZfbnBhcnRzKTsKKwlpZiAobnBhcnRzID4gU09MQVJJU19NQVhQQVJUSVRJT05TKQorCQlucGFydHMgPSBTT0xBUklTX01BWFBBUlRJVElPTlM7CisKKwlmb3IgKGkgPSAxLCBwID0gJmwtPnZfc2xpY2VbMF07CWkgPCBucGFydHM7IGkrKywgcCsrKSB7CisKKwkJdWludDMyX3Qgc3RhcnQgPSBsZTMyX3RvX2NwdShwLT5zX3N0YXJ0KTsKKwkJdWludDMyX3Qgc2l6ZSA9IGxlMzJfdG9fY3B1KHAtPnNfc2l6ZSk7CisJCWJsa2lkX3BhcnRpdGlvbiBwYXI7CisKKwkJaWYgKHNpemUgPT0gMCB8fCBsZTE2X3RvX2NwdShwLT5zX3RhZykgPT0gU09MQVJJU19UQUdfV0hPTEVESVNLKQorCQkJY29udGludWU7CisKKwkJaWYgKHBhcmVudCkKKwkJCS8qIFNvbGFyaXMgc2xpY2VzIGFyZSByZWxhdGl2ZSB0byB0aGUgcGFyZW50IChwcmltYXJ5CisJCQkgKiBET1MgcGFydGl0aW9uKSAqLworCQkJc3RhcnQgKz0gYmxraWRfcGFydGl0aW9uX2dldF9zdGFydChwYXJlbnQpOworCisJCWlmIChwYXJlbnQgJiYgIWJsa2lkX2lzX25lc3RlZF9kaW1lbnNpb24ocGFyZW50LCBzdGFydCwgc2l6ZSkpIHsKKwkJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoCisJCQkJIldBUk5JTkc6IHNvbGFyaXMgcGFydGl0aW9uICglZCkgb3ZlcmZsb3cgIgorCQkJCSJkZXRlY3RlZCwgaWdub3JlIiwgaSkpOworCQkJY29udGludWU7CisJCX0KKworCQlwYXIgPSBibGtpZF9wYXJ0bGlzdF9hZGRfcGFydGl0aW9uKGxzLCB0YWIsIHN0YXJ0LCBzaXplKTsKKwkJaWYgKCFwYXIpCisJCQlnb3RvIGVycjsKKworCQlibGtpZF9wYXJ0aXRpb25fc2V0X3R5cGUocGFyLCBsZTE2X3RvX2NwdShwLT5zX3RhZykpOworCQlibGtpZF9wYXJ0aXRpb25fc2V0X2ZsYWdzKHBhciwgbGUxNl90b19jcHUocC0+c19mbGFnKSk7CisJfQorCisJcmV0dXJuIEJMS0lEX1BST0JFX09LOworCitub3RoaW5nOgorCXJldHVybiBCTEtJRF9QUk9CRV9OT05FOworZXJyOgorCXJldHVybiAtRU5PTUVNOworfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHNvbGFyaXNfeDg2X3B0X2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gInNvbGFyaXMiLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9zb2xhcmlzX3B0LAorCS5tYWdpY3MJCT0KKwl7CisJCXsKKwkJICAubWFnaWMgPSAiXHhFRVx4REVceDBEXHg2MCIsCS8qIGxpdHRsZS1lbmRpYW4gbWFnaWMgc3RyaW5nICovCisJCSAgLmxlbiA9IDQsCQkJLyogdl9zYW5pdHkgc2l6ZSBpbiBieXRlcyAqLworCQkgIC5zYm9mZiA9IFNPTEFSSVNfTUFHSUNPRkZTRVQJLyogb2Zmc2V0IG9mIHZfc2FuaXR5ICovCisJCX0sCisJCXsgTlVMTCB9CisJfQorfTsKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvc3VuLmMgYi9saWJibGtpZC9zcmMvcGFydGl0aW9ucy9zdW4uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMGRkZGM4Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvc3VuLmMKQEAgLTAsMCArMSwxMjUgQEAKKy8qCisgKiBzdW4gKHNvbGFyaXMtc3BhcmMpIHBhcnRpdGlvbiBwYXJzaW5nIGNvZGUKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8c3RkZGVmLmg+CisKKyNpbmNsdWRlICJwdC1zdW4uaCIKKyNpbmNsdWRlICJwYXJ0aXRpb25zLmgiCisKK3N0YXRpYyBpbnQgcHJvYmVfc3VuX3B0KGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJc3RydWN0IHN1bl9kaXNrbGFiZWwgKmw7CisJc3RydWN0IHN1bl9wYXJ0aXRpb24gKnA7CisJYmxraWRfcGFydHRhYmxlIHRhYiA9IE5VTEw7CisJYmxraWRfcGFydGxpc3QgbHM7CisJdWludDE2X3QgbnBhcnRzOworCXVpbnQ2NF90IHNwYzsKKwlpbnQgaSwgdXNlX3Z0b2M7CisKKwlsID0gKHN0cnVjdCBzdW5fZGlza2xhYmVsICopIGJsa2lkX3Byb2JlX2dldF9zZWN0b3IocHIsIDApOworCWlmICghbCkgeworCQlpZiAoZXJybm8pCisJCQlyZXR1cm4gLWVycm5vOworCQlnb3RvIG5vdGhpbmc7CisJfQorCisJaWYgKHN1bl9wdF9jaGVja3N1bShsKSkgeworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKAorCQkJImRldGVjdGVkIGNvcnJ1cHRlZCBzdW4gZGlzayBsYWJlbCAtLSBpZ25vcmUiKSk7CisJCWdvdG8gbm90aGluZzsKKwl9CisKKwlpZiAoYmxraWRfcGFydGl0aW9uc19uZWVkX3R5cGVvbmx5KHByKSkKKwkJLyogY2FsbGVyIGRvZXMgbm90IGFzayBmb3IgZGV0YWlscyBhYm91dCBwYXJ0aXRpb25zICovCisJCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKKworCWxzID0gYmxraWRfcHJvYmVfZ2V0X3BhcnRsaXN0KHByKTsKKwlpZiAoIWxzKQorCQlnb3RvIG5vdGhpbmc7CisKKwl0YWIgPSBibGtpZF9wYXJ0bGlzdF9uZXdfcGFydHRhYmxlKGxzLCAic3VuIiwgMCk7CisJaWYgKCF0YWIpCisJCWdvdG8gZXJyOworCisJLyogc2VjdG9ycyBwZXIgY3lsaW5kZXIgKHBhcnRpdGlvbiBvZmZzZXQgaXMgaW4gY3lsaW5kZXJzLi4uKSAqLworCXNwYyA9IGJlMTZfdG9fY3B1KGwtPm5oZWFkKSAqIGJlMTZfdG9fY3B1KGwtPm5zZWN0KTsKKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIlN1biBWVE9DIHNhbml0eT0ldSB2ZXJzaW9uPSV1IG5wYXJ0cz0ldSIsCisJCQliZTMyX3RvX2NwdShsLT52dG9jLnNhbml0eSksCisJCQliZTMyX3RvX2NwdShsLT52dG9jLnZlcnNpb24pLAorCQkJYmUxNl90b19jcHUobC0+dnRvYy5ucGFydHMpKSk7CisKKwkvKiBDaGVjayB0byBzZWUgaWYgd2UgY2FuIHVzZSB0aGUgVlRPQyB0YWJsZSAqLworCXVzZV92dG9jID0gKChiZTMyX3RvX2NwdShsLT52dG9jLnNhbml0eSkgPT0gU1VOX1ZUT0NfU0FOSVRZKSAmJgorCQkgICAgKGJlMzJfdG9fY3B1KGwtPnZ0b2MudmVyc2lvbikgPT0gU1VOX1ZUT0NfVkVSU0lPTikgJiYKKwkJICAgIChiZTE2X3RvX2NwdShsLT52dG9jLm5wYXJ0cykgPD0gU1VOX01BWFBBUlRJVElPTlMpKTsKKworCS8qIFVzZSA4IHBhcnRpdGlvbiBlbnRyaWVzIGlmIG5vdCBzcGVjaWZpZWQgaW4gdmFsaWRhdGVkIFZUT0MgKi8KKwlucGFydHMgPSB1c2VfdnRvYyA/IGJlMTZfdG9fY3B1KGwtPnZ0b2MubnBhcnRzKSA6IFNVTl9NQVhQQVJUSVRJT05TOworCisJLyoKKwkgKiBTbyB0aGF0IG9sZCBMaW51eC1TdW4gcGFydGl0aW9ucyBjb250aW51ZSB0byB3b3JrLAorCSAqIGFsbG93IHRoZSBWVE9DIHRvIGJlIHVzZWQgdW5kZXIgdGhlIGFkZGl0aW9uYWwgY29uZGl0aW9uIC4uLgorCSAqLworCXVzZV92dG9jID0gdXNlX3Z0b2MgfHwgIShsLT52dG9jLnNhbml0eSB8fCBsLT52dG9jLnZlcnNpb24gfHwgbC0+dnRvYy5ucGFydHMpOworCisJZm9yIChpID0gMCwgcCA9IGwtPnBhcnRpdGlvbnM7IGkgPCBucGFydHM7IGkrKywgcCsrKSB7CisKKwkJdWludDY0X3Qgc3RhcnQsIHNpemU7CisJCXVpbnQxNl90IHR5cGUgPSAwLCBmbGFncyA9IDA7CisJCWJsa2lkX3BhcnRpdGlvbiBwYXI7CisKKwkJc3RhcnQgPSBiZTMyX3RvX2NwdShwLT5zdGFydF9jeWxpbmRlcikgKiBzcGM7CisJCXNpemUgPSBiZTMyX3RvX2NwdShwLT5udW1fc2VjdG9ycyk7CisJCWlmICh1c2VfdnRvYykgeworCQkJdHlwZSA9IGJlMTZfdG9fY3B1KGwtPnZ0b2MuaW5mb3NbaV0uaWQpOworCQkJZmxhZ3MgPSBiZTE2X3RvX2NwdShsLT52dG9jLmluZm9zW2ldLmZsYWdzKTsKKwkJfQorCisJCWlmICh0eXBlID09IFNVTl9UQUdfV0hPTEVESVNLIHx8ICFzaXplKSB7CisJCQlibGtpZF9wYXJ0bGlzdF9pbmNyZW1lbnRfcGFydG5vKGxzKTsKKwkJCWNvbnRpbnVlOworCQl9CisJCXBhciA9IGJsa2lkX3BhcnRsaXN0X2FkZF9wYXJ0aXRpb24obHMsIHRhYiwgc3RhcnQsIHNpemUpOworCQlpZiAoIXBhcikKKwkJCWdvdG8gZXJyOworCisJCWlmICh0eXBlKQorCQkJYmxraWRfcGFydGl0aW9uX3NldF90eXBlKHBhciwgdHlwZSk7CisJCWlmIChmbGFncykKKwkJCWJsa2lkX3BhcnRpdGlvbl9zZXRfZmxhZ3MocGFyLCBmbGFncyk7CisJfQorCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKKworbm90aGluZzoKKwlyZXR1cm4gQkxLSURfUFJPQkVfTk9ORTsKK2VycjoKKwlyZXR1cm4gLUVOT01FTTsKK30KKworCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHN1bl9wdF9pZGluZm8gPQoreworCS5uYW1lCQk9ICJzdW4iLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9zdW5fcHQsCisJLm1hZ2ljcwkJPQorCXsKKwkJeworCQkgIC5tYWdpYyA9ICJceERBXHhCRSIsCQkvKiBiaWctZW5kaWFuIG1hZ2ljIHN0cmluZyAqLworCQkgIC5sZW4gPSAyLAorCQkgIC5zYm9mZiA9IG9mZnNldG9mKHN0cnVjdCBzdW5fZGlza2xhYmVsLCBtYWdpYykKKwkJfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvcGFydGl0aW9ucy91bHRyaXguYyBiL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL3VsdHJpeC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljMDYwYmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvcGFydGl0aW9ucy91bHRyaXguYwpAQCAtMCwwICsxLDk5IEBACisvKgorICogdWt0cml4IHBhcnRpdGlvbiBwYXJzaW5nIGNvZGUKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaW5jbHVkZSAicGFydGl0aW9ucy5oIgorCisjZGVmaW5lIFVMVFJJWF9NQVhQQVJUSVRJT05TCTgKKworI2RlZmluZSBVTFRSSVhfTUFHSUMJCTB4MDMyOTU3CisjZGVmaW5lIFVMVFJJWF9NQUdJQ19TVFIJIlx4MDJceDI5XHg1NyIKKworLyogc2VjdG9yIHdpdGggcGFydGl0aW9uIHRhYmxlICovCisjZGVmaW5lIFVMVFJJWF9TRUNUT1IJCSgoMTYzODQgLSBzaXplb2Yoc3RydWN0IHVsdHJpeF9kaXNrbGFiZWwpKSA+PiA5KQorLyogcG9zaXRpb24gb2YgcGFydGl0aW9uIHRhYmxlIHdpdGhpbiBVTFRSSVhfU0VDVE9SICovCisjZGVmaW5lIFVMVFJJWF9PRkZTRVQJCSg1MTIgLSBzaXplb2Yoc3RydWN0IHVsdHJpeF9kaXNrbGFiZWwpKQorCitzdHJ1Y3QgdWx0cml4X2Rpc2tsYWJlbCB7CisJaW50MzJfdAlwdF9tYWdpYzsJLyogbWFnaWMgbm8uIGluZGljYXRpbmcgcGFydC4gaW5mbyBleGl0cyAqLworCWludDMyX3QJcHRfdmFsaWQ7CS8qIHNldCBieSBkcml2ZXIgaWYgcHQgaXMgY3VycmVudCAqLworCXN0cnVjdCAgcHRfaW5mbyB7CisJCWludDMyX3QJCXBpX25ibG9ja3M7IC8qIG5vLiBvZiBzZWN0b3JzICovCisJCXVpbnQzMl90CXBpX2Jsa29mZjsgIC8qIGJsb2NrIG9mZnNldCBmb3Igc3RhcnQgKi8KKwl9IHB0X3BhcnRbVUxUUklYX01BWFBBUlRJVElPTlNdOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworCitzdGF0aWMgaW50IHByb2JlX3VsdHJpeF9wdChibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXVuc2lnbmVkIGNoYXIgKmRhdGE7CisJc3RydWN0IHVsdHJpeF9kaXNrbGFiZWwgKmw7CisJYmxraWRfcGFydHRhYmxlIHRhYiA9IE5VTEw7CisJYmxraWRfcGFydGxpc3QgbHM7CisJaW50IGk7CisKKwlkYXRhID0gYmxraWRfcHJvYmVfZ2V0X3NlY3RvcihwciwgVUxUUklYX1NFQ1RPUik7CisJaWYgKCFkYXRhKSB7CisJCWlmIChlcnJubykKKwkJCXJldHVybiAtZXJybm87CisJCWdvdG8gbm90aGluZzsKKwl9CisKKwlsID0gKHN0cnVjdCB1bHRyaXhfZGlza2xhYmVsICopIChkYXRhICsgVUxUUklYX09GRlNFVCk7CisKKwlpZiAobC0+cHRfbWFnaWMgIT0gVUxUUklYX01BR0lDIHx8IGwtPnB0X3ZhbGlkICE9IDEpCisJCWdvdG8gbm90aGluZzsKKworCWlmIChibGtpZF9wcm9iZV9zZXRfbWFnaWMocHIsIChVTFRSSVhfU0VDVE9SIDw8IDkpICsgVUxUUklYX09GRlNFVCwKKwkJCXNpemVvZihVTFRSSVhfTUFHSUNfU1RSKSAtIDEsCisJCQkodW5zaWduZWQgY2hhciAqKSBVTFRSSVhfTUFHSUNfU1RSKSkKKwkJZ290byBlcnI7CisKKwlpZiAoYmxraWRfcGFydGl0aW9uc19uZWVkX3R5cGVvbmx5KHByKSkKKwkJLyogY2FsbGVyIGRvZXMgbm90IGFzayBmb3IgZGV0YWlscyBhYm91dCBwYXJ0aXRpb25zICovCisJCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKKworCWxzID0gYmxraWRfcHJvYmVfZ2V0X3BhcnRsaXN0KHByKTsKKwlpZiAoIWxzKQorCQlnb3RvIG5vdGhpbmc7CisKKwl0YWIgPSBibGtpZF9wYXJ0bGlzdF9uZXdfcGFydHRhYmxlKGxzLCAidWx0cml4IiwgMCk7CisJaWYgKCF0YWIpCisJCWdvdG8gZXJyOworCisJZm9yIChpID0gMDsgaSA8IFVMVFJJWF9NQVhQQVJUSVRJT05TOyBpKyspIHsKKwkJaWYgKCFsLT5wdF9wYXJ0W2ldLnBpX25ibG9ja3MpCisJCQkgYmxraWRfcGFydGxpc3RfaW5jcmVtZW50X3BhcnRubyhscyk7CisJCWVsc2UgeworCQkJaWYgKCFibGtpZF9wYXJ0bGlzdF9hZGRfcGFydGl0aW9uKGxzLCB0YWIsCisJCQkJCQlsLT5wdF9wYXJ0W2ldLnBpX2Jsa29mZiwKKwkJCQkJCWwtPnB0X3BhcnRbaV0ucGlfbmJsb2NrcykpCisJCQkJZ290byBlcnI7CisJCX0KKwl9CisKKwlyZXR1cm4gQkxLSURfUFJPQkVfT0s7Citub3RoaW5nOgorCXJldHVybiBCTEtJRF9QUk9CRV9OT05FOworZXJyOgorCXJldHVybiAtRU5PTUVNOworfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHVsdHJpeF9wdF9pZGluZm8gPQoreworCS5uYW1lCQk9ICJ1bHRyaXgiLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV91bHRyaXhfcHQsCisJLm1hZ2ljcwkJPSBCTEtJRF9OT05FX01BR0lDCit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvcGFydGl0aW9ucy91bml4d2FyZS5jIGIvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvdW5peHdhcmUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NDU5MjRlCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvdW5peHdhcmUuYwpAQCAtMCwwICsxLDE5NyBAQAorLyoKKyAqIHVuaXh3YXJlIHBhcnRpdGlvbiBwYXJzaW5nIGNvZGUKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqCisgKgorICogVGhlIGludGVyZXN0aW5nIGluZm9ybWF0aW9uIGFib3V0IHVuaXh3YXJlIFBUOgorICogICAtIExpbnV4IGtlcm5lbCAvIHBhcnR4CisgKiAgIC0gdnRvYyg3KSBTQ08gVU5JWCBjb21tYW5kIG1hbiBwYWdlCisgKiAgIC0gZXZtcyBzb3VyY2UgY29kZSAoaHR0cDovL2V2bXMuc291cmNlZm9yZ2UubmV0LykKKyAqICAgLSB2eHRvb2xzIHNvdXJjZSBjb2RlIChodHRwOi8vbWFydGluLmhpbm5lci5pbmZvL2ZzL3Z4ZnMvKQorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgInBhcnRpdGlvbnMuaCIKKworLyogZGlza2xhYmVsIGxvY2F0aW9uICovCisjZGVmaW5lIFVOSVhXQVJFX1NFQ1RPUgkJMjkKKyNkZWZpbmUgVU5JWFdBUkVfT0ZGU0VUCQkoVU5JWFdBUkVfU0VDVE9SIDw8IDkpCS8qIG9mZnNldCBpbiBieXRlcyAqLworI2RlZmluZSBVTklYV0FSRV9LQk9GRlNFVAkoVU5JWFdBUkVfT0ZGU0VUID4+IDEwKQkvKiBvZmZzZXQgaW4gMTAyNC1ibG9ja3MgKi8KKworLyogZGlza2xhYmVsLT5kX21hZ2ljIG9mZnNldCB3aXRoaW4gdGhlIGxhc3QgMTAyNCBibG9jayAqLworI2RlZmluZSBVTklYV0FSRV9NQUdJQ09GRlNFVAkoVU5JWFdBUkVfT0ZGU0VUIC0gVU5JWFdBUkVfS0JPRkZTRVQgKyA0KQorCisjZGVmaW5lIFVOSVhXQVJFX1ZUT0NNQUdJQwkweDYwMERERUVFVUwKKyNkZWZpbmUgVU5JWFdBUkVfTUFYUEFSVElUSU9OUwkxNgorCisvKiB1bml4d2FyZV9wYXJ0aXRpb24tPnNfbGFiZWwgZmxhZ3MgKi8KKyNkZWZpbmUgVU5JWFdBUkVfVEFHX1VOVVNFRCAgICAgICAweDAwMDAgIC8qIHVudXNlZCBwYXJ0aXRpb24gKi8KKyNkZWZpbmUgVU5JWFdBUkVfVEFHX0JPT1QgICAgICAgICAweDAwMDEgIC8qIGJvb3QgZnMgKi8KKyNkZWZpbmUgVU5JWFdBUkVfVEFHX1JPT1QgICAgICAgICAweDAwMDIgIC8qIHJvb3QgZnMgKi8KKyNkZWZpbmUgVU5JWFdBUkVfVEFHX1NXQVAgICAgICAgICAweDAwMDMgIC8qIHN3YXAgZnMgKi8KKyNkZWZpbmUgVU5JWFdBUkVfVEFHX1VTRVIgICAgICAgICAweDAwMDQgIC8qIHVzZXIgZnMgKi8KKyNkZWZpbmUgVU5JWFdBUkVfVEFHX0VOVElSRV9ESVNLICAweDAwMDUgIC8qIHdob2xlIGRpc2sgKi8KKyNkZWZpbmUgVU5JWFdBUkVfVEFHX0FMVF9TICAgICAgICAweDAwMDYgIC8qIGFsdGVybmF0ZSBzZWN0b3Igc3BhY2UgKi8KKyNkZWZpbmUgVU5JWFdBUkVfVEFHX09USEVSICAgICAgICAweDAwMDcgIC8qIG5vbiB1bml4ICovCisjZGVmaW5lIFVOSVhXQVJFX1RBR19BTFRfVCAgICAgICAgMHgwMDA4ICAvKiBhbHRlcm5hdGUgdHJhY2sgc3BhY2UgKi8KKyNkZWZpbmUgVU5JWFdBUkVfVEFHX1NUQU5EICAgICAgICAweDAwMDkgIC8qIHN0YW5kIHBhcnRpdGlvbiAqLworI2RlZmluZSBVTklYV0FSRV9UQUdfVkFSICAgICAgICAgIDB4MDAwYSAgLyogdmFyIHBhcnRpdGlvbiAqLworI2RlZmluZSBVTklYV0FSRV9UQUdfSE9NRSAgICAgICAgIDB4MDAwYiAgLyogaG9tZSBwYXJ0aXRpb24gKi8KKyNkZWZpbmUgVU5JWFdBUkVfVEFHX0RVTVAgICAgICAgICAweDAwMGMgIC8qIGR1bXAgcGFydGl0aW9uICovCisjZGVmaW5lIFVOSVhXQVJFX1RBR19BTFRfU1QgICAgICAgMHgwMDBkICAvKiBhbHRlcm5hdGUgc2VjdG9yIHRyYWNrICovCisjZGVmaW5lIFVOSVhXQVJFX1RBR19WTV9QVUJMSUMgICAgMHgwMDBlICAvKiB2b2x1bWUgbWd0IHB1YmxpYyBwYXJ0aXRpb24gKi8KKyNkZWZpbmUgVU5JWFdBUkVfVEFHX1ZNX1BSSVZBVEUgICAweDAwMGYgIC8qIHZvbHVtZSBtZ3QgcHJpdmF0ZSBwYXJ0aXRpb24gKi8KKworCisvKiB1bml4d2FyZV9wYXJ0aXRpb24tPnNfZmxhZ3MgZmxhZ3MgKi8KKyNkZWZpbmUgVU5JWFdBUkVfRkxBR19WQUxJRAkweDAyMDAKKworc3RydWN0IHVuaXh3YXJlX3BhcnRpdGlvbiB7CisJdWludDE2X3QJc19sYWJlbDsJLyogcGFydGl0aW9uIGxhYmVsICh0YWcpICovCisJdWludDE2X3QJc19mbGFnczsJLyogcGVybWlzc2lvbiBmbGFncyAqLworCXVpbnQzMl90CXN0YXJ0X3NlY3Q7CS8qIHN0YXJ0aW5nIHNlY3RvciAqLworCXVpbnQzMl90CW5yX3NlY3RzOwkvKiBudW1iZXIgb2Ygc2VjdG9ycyAqLworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RydWN0IHVuaXh3YXJlX2Rpc2tsYWJlbCB7CisJdWludDMyX3QJZF90eXBlOwkJLyogZHJpdmUgdHlwZSAqLworCXVpbnQzMl90CWRfbWFnaWM7CS8qIHRoZSBtYWdpYyBudW1iZXIgKi8KKwl1aW50MzJfdAlkX3ZlcnNpb247CS8qIHZlcnNpb24gbnVtYmVyICovCisJY2hhcgkJZF9zZXJpYWxbMTJdOwkvKiBzZXJpYWwgbnVtYmVyIG9mIHRoZSBkZXZpY2UgKi8KKwl1aW50MzJfdAlkX25jeWxpbmRlcnM7CS8qICMgb2YgZGF0YSBjeWxpbmRlcnMgcGVyIGRldmljZSAqLworCXVpbnQzMl90CWRfbnRyYWNrczsJLyogIyBvZiB0cmFja3MgcGVyIGN5bGluZGVyICovCisJdWludDMyX3QJZF9uc2VjdG9yczsJLyogIyBvZiBkYXRhIHNlY3RvcnMgcGVyIHRyYWNrICovCisJdWludDMyX3QJZF9zZWNzaXplOwkvKiAjIG9mIGJ5dGVzIHBlciBzZWN0b3IgKi8KKwl1aW50MzJfdAlkX3BhcnRfc3RhcnQ7CS8qICMgb2YgZmlyc3Qgc2VjdG9yIG9mIHRoaXMgcGFydGl0aW9uICovCisJdWludDMyX3QJZF91bmtub3duMVsxMl07CS8qID8gKi8KKwl1aW50MzJfdAlkX2FsdF90Ymw7CS8qIGJ5dGUgb2Zmc2V0IG9mIGFsdGVybmF0ZSB0YWJsZSAqLworCXVpbnQzMl90CWRfYWx0X2xlbjsJLyogYnl0ZSBsZW5ndGggb2YgYWx0ZXJuYXRlIHRhYmxlICovCisJdWludDMyX3QJZF9waHlzX2N5bDsJLyogIyBvZiBwaHlzaWNhbCBjeWxpbmRlcnMgcGVyIGRldmljZSAqLworCXVpbnQzMl90CWRfcGh5c190cms7CS8qICMgb2YgcGh5c2ljYWwgdHJhY2tzIHBlciBjeWxpbmRlciAqLworCXVpbnQzMl90CWRfcGh5c19zZWM7CS8qICMgb2YgcGh5c2ljYWwgc2VjdG9ycyBwZXIgdHJhY2sgKi8KKwl1aW50MzJfdAlkX3BoeXNfYnl0ZXM7CS8qICMgb2YgcGh5c2ljYWwgYnl0ZXMgcGVyIHNlY3RvciAqLworCXVpbnQzMl90CWRfdW5rbm93bjI7CS8qID8gKi8KKwl1aW50MzJfdAlkX3Vua25vd24zOwkvKiA/ICovCisJdWludDMyX3QJZF9wYWRbOF07CS8qIHBhZCAqLworCisJc3RydWN0IHVuaXh3YXJlX3Z0b2MgeworCQl1aW50MzJfdAl2X21hZ2ljOwkvKiB0aGUgbWFnaWMgbnVtYmVyICovCisJCXVpbnQzMl90CXZfdmVyc2lvbjsJLyogdmVyc2lvbiBudW1iZXIgKi8KKwkJY2hhcgkJdl9uYW1lWzhdOwkvKiB2b2x1bWUgbmFtZSAqLworCQl1aW50MTZfdAl2X25zbGljZXM7CS8qICMgb2YgcGFydGl0aW9ucyAqLworCQl1aW50MTZfdAl2X3Vua25vd24xOwkvKiA/ICovCisJCXVpbnQzMl90CXZfcmVzZXJ2ZWRbMTBdOwkvKiByZXNlcnZlZCAqLworCisJCXN0cnVjdCB1bml4d2FyZV9wYXJ0aXRpb24KKwkJCXZfc2xpY2VbVU5JWFdBUkVfTUFYUEFSVElUSU9OU107IC8qIHBhcnRpdGlvbiAqLworCX0gX19hdHRyaWJ1dGVfXygocGFja2VkKSkgdnRvYzsKK307CisKK3N0YXRpYyBpbnQgcHJvYmVfdW5peHdhcmVfcHQoYmxraWRfcHJvYmUgcHIsCisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlzdHJ1Y3QgdW5peHdhcmVfZGlza2xhYmVsICpsOworCXN0cnVjdCB1bml4d2FyZV9wYXJ0aXRpb24gKnA7CisJYmxraWRfcGFydHRhYmxlIHRhYiA9IE5VTEw7CisJYmxraWRfcGFydGl0aW9uIHBhcmVudDsKKwlibGtpZF9wYXJ0bGlzdCBsczsKKwlpbnQgaTsKKworCWwgPSAoc3RydWN0IHVuaXh3YXJlX2Rpc2tsYWJlbCAqKQorCQkJYmxraWRfcHJvYmVfZ2V0X3NlY3RvcihwciwgVU5JWFdBUkVfU0VDVE9SKTsKKwlpZiAoIWwpIHsKKwkJaWYgKGVycm5vKQorCQkJcmV0dXJuIC1lcnJubzsKKwkJZ290byBub3RoaW5nOworCX0KKworCWlmIChsZTMyX3RvX2NwdShsLT52dG9jLnZfbWFnaWMpICE9IFVOSVhXQVJFX1ZUT0NNQUdJQykKKwkJZ290byBub3RoaW5nOworCisJaWYgKGJsa2lkX3BhcnRpdGlvbnNfbmVlZF90eXBlb25seShwcikpCisJCS8qIGNhbGxlciBkb2VzIG5vdCBhc2sgZm9yIGRldGFpbHMgYWJvdXQgcGFydGl0aW9ucyAqLworCQlyZXR1cm4gQkxLSURfUFJPQkVfT0s7CisKKwlscyA9IGJsa2lkX3Byb2JlX2dldF9wYXJ0bGlzdChwcik7CisJaWYgKCFscykKKwkJZ290byBub3RoaW5nOworCisJcGFyZW50ID0gYmxraWRfcGFydGxpc3RfZ2V0X3BhcmVudChscyk7CisKKwl0YWIgPSBibGtpZF9wYXJ0bGlzdF9uZXdfcGFydHRhYmxlKGxzLCAidW5peHdhcmUiLCBVTklYV0FSRV9PRkZTRVQpOworCWlmICghdGFiKQorCQlnb3RvIGVycjsKKworCS8qIFNraXAgdGhlIGZpcnN0IHBhcnRpdGlvbiB0aGF0IGRlc2NyaWJlIHdob2xlIGRpc2sKKwkgKi8KKwlmb3IgKGkgPSAxLCBwID0gJmwtPnZ0b2Mudl9zbGljZVsxXTsKKwkJCWkgPCBVTklYV0FSRV9NQVhQQVJUSVRJT05TOyBpKyssIHArKykgeworCisJCXVpbnQzMl90IHN0YXJ0LCBzaXplOworCQl1aW50MTZfdCB0YWcsIGZsZzsKKwkJYmxraWRfcGFydGl0aW9uIHBhcjsKKworCQl0YWcgPSBsZTE2X3RvX2NwdShwLT5zX2xhYmVsKTsKKwkJZmxnID0gbGUxNl90b19jcHUocC0+c19mbGFncyk7CisKKwkJaWYgKHRhZyA9PSBVTklYV0FSRV9UQUdfVU5VU0VEIHx8CisJCSAgICB0YWcgPT0gVU5JWFdBUkVfVEFHX0VOVElSRV9ESVNLIHx8CisJCSAgICBmbGcgIT0gVU5JWFdBUkVfRkxBR19WQUxJRCkKKwkJCWNvbnRpbnVlOworCisJCXN0YXJ0ID0gbGUzMl90b19jcHUocC0+c3RhcnRfc2VjdCk7CisJCXNpemUgPSBsZTMyX3RvX2NwdShwLT5ucl9zZWN0cyk7CisKKwkJaWYgKHBhcmVudCAmJiAhYmxraWRfaXNfbmVzdGVkX2RpbWVuc2lvbihwYXJlbnQsIHN0YXJ0LCBzaXplKSkgeworCQkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygKKwkJCQkiV0FSTklORzogdW5peHdhcmUgcGFydGl0aW9uICglZCkgb3ZlcmZsb3cgIgorCQkJCSJkZXRlY3RlZCwgaWdub3JlIiwgaSkpOworCQkJY29udGludWU7CisJCX0KKworCQlwYXIgPSBibGtpZF9wYXJ0bGlzdF9hZGRfcGFydGl0aW9uKGxzLCB0YWIsIHN0YXJ0LCBzaXplKTsKKwkJaWYgKCFwYXIpCisJCQlnb3RvIGVycjsKKworCQlibGtpZF9wYXJ0aXRpb25fc2V0X3R5cGUocGFyLCB0YWcpOworCQlibGtpZF9wYXJ0aXRpb25fc2V0X2ZsYWdzKHBhciwgZmxnKTsKKwl9CisKKwlyZXR1cm4gQkxLSURfUFJPQkVfT0s7CisKK25vdGhpbmc6CisJcmV0dXJuIEJMS0lEX1BST0JFX05PTkU7CitlcnI6CisJcmV0dXJuIC1FTk9NRU07Cit9CisKKworLyoKKyAqIFRoZSB1bml4d2FyZSBwYXJ0aXRpb24gdGFibGUgaXMgd2l0aGluIHByaW1hcnkgRE9TIHBhcnRpdGlvbi4gIFRoZSBQVCBpcworICogbG9jYXRlZCBvbiAyOSBzZWN0b3IsIFBUIG1hZ2ljIHN0cmluZyBpcyBkX21hZ2ljIG1lbWJlciBvZiAnc3RydWN0CisgKiB1bml4d2FyZV9kaXNrbGFiZWwnLgorICovCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHVuaXh3YXJlX3B0X2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gInVuaXh3YXJlIiwKKwkucHJvYmVmdW5jCT0gcHJvYmVfdW5peHdhcmVfcHQsCisJLm1pbnN6CQk9IDEwMjQgKiAxNDQwICsgMSwJCS8qIGlnbm9yZSBmbG9wcGllcyAqLworCS5tYWdpY3MJCT0KKwl7CisJCXsKKwkJICAubWFnaWMgPSAiXHgwRFx4NjBceEU1XHhDQSIsCS8qIGxpdHRsZS1lbmRpYW4gbWFnaWMgc3RyaW5nICovCisJCSAgLmxlbiA9IDQsCQkJLyogZF9tYWdpYyBzaXplIGluIGJ5dGVzICovCisJCSAgLmtib2ZmID0gVU5JWFdBUkVfS0JPRkZTRVQsCisJCSAgLnNib2ZmID0gVU5JWFdBUkVfTUFHSUNPRkZTRVQKKwkJfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvcHJvYmUuYyBiL2xpYmJsa2lkL3NyYy9wcm9iZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhNTBmNWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvcHJvYmUuYwpAQCAtMCwwICsxLDE5NDQgQEAKKy8qCisgKiBMb3ctbGV2ZWwgbGliYmxraWQgcHJvYmluZyBBUEkKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKy8qKgorICogU0VDVElPTjogbG93cHJvYmUKKyAqIEB0aXRsZTogTG93LWxldmVsIHByb2JpbmcKKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogbG93LWxldmVsIHByb2JlciBpbml0aWFsaXphdGlvbgorICoKKyAqIFRoZSBsb3ctbGV2ZWwgcHJvYmluZyByb3V0aW5lcyBhbHdheXMgYW5kIGRpcmVjdGx5IHJlYWQgaW5mb3JtYXRpb24gZnJvbQorICogdGhlIHNlbGVjdGVkIChzZWUgYmxraWRfcHJvYmVfc2V0X2RldmljZSgpKSBkZXZpY2UuCisgKgorICogVGhlIHByb2Jpbmcgcm91dGluZXMgYXJlIGdyb3VwZWQgdG9nZXRoZXIgaW50byBzZXBhcmF0ZSBjaGFpbnMuIEN1cnJlbnRseSwKKyAqIHRoZSBsaWJyYXJ5IHByb3ZpZGVzIHN1cGVyYmxvY2tzLCBwYXJ0aXRpb25zIGFuZCB0b3BvbG9neSBjaGFpbnMuCisgKgorICogVGhlIHByb2Jpbmcgcm91dGluZXMgaXMgcG9zc2libGUgdG8gZmlsdGVyIChlbmFibGUvZGlzYWJsZSkgYnkgdHlwZSAoZS5nLgorICogZnN0eXBlICJ2ZmF0IiBvciBwYXJ0eXBlICJncHQiKSBvciBieSB1c2FnZSBmbGFncyAoZS5nLiBCTEtJRF9VU0FHRV9SQUlEKS4KKyAqIFRoZXNlIGZpbHRlcnMgYXJlIHBlci1jaGFpbi4gTm90ZSB0aGF0IGFsd2F5cyB3aGVuIHlvdSB0b3VjaCB0aGUgY2hhaW4KKyAqIGZpbHRlciB0aGUgY3VycmVudCBwcm9iaW5nIHBvc2l0aW9uIGlzIHJlc2V0IGFuZCBwcm9iaW5nIHN0YXJ0cyBmcm9tCisgKiBzY3JhdGNoLiAgSXQgbWVhbnMgdGhhdCB0aGUgY2hhaW4gZmlsdGVyIHNob3VsZCBub3QgYmUgbW9kaWZpZWQgZHVyaW5nCisgKiBwcm9iaW5nLCBmb3IgZXhhbXBsZSBpbiBsb29wIHdoZXJlIHlvdSBjYWxsIGJsa2lkX2RvX3Byb2JlKCkuCisgKgorICogRm9yIG1vcmUgZGV0YWlscyBzZWUgdGhlIGNoYWluIHNwZWNpZmljIGRvY3VtZW50YXRpb24uCisgKgorICogVGhlIGxvdy1sZXZlbCBBUEkgcHJvdmlkZXMgdHdvIHdheXMgaG93IGFjY2VzcyB0byBwcm9iaW5nIHJlc3VsdHMuCisgKgorICogICAxLiBUaGUgTkFNRT12YWx1ZSAodGFnKSBpbnRlcmZhY2UuIFRoaXMgaW50ZXJmYWNlIGlzIG9sZGVyIGFuZCByZXR1cm5zIGFsbCBkYXRhCisgKiAgICAgIGFzIHN0cmluZ3MuIFRoaXMgaW50ZXJmYWNlIGlzIGdlbmVyaWMgZm9yIGFsbCBjaGFpbnMuCisgKgorICogICAyLiBUaGUgYmluYXJ5IGludGVyZmFjZXMuIFRoZXNlIGludGVyZmFjZXMgcmV0dXJuIGRhdGEgaW4gdGhlIG5hdGl2ZSBmb3JtYXRzLgorICogICAgICBUaGUgaW50ZXJmYWNlIGlzIGFsd2F5cyBzcGVjaWZpYyB0byB0aGUgcHJvYmluZyBjaGFpbi4KKyAqCisgKiAgTm90ZSB0aGF0IHRoZSBwcmV2aW91cyBwcm9iaW5nIHJlc3VsdCAoYmluYXJ5IG9yIE5BTUU9dmFsdWUpIGlzIGFsd2F5cworICogIHplcm9pemVkIHdoZW4gYSBjaGFpbiBwcm9iaW5nIGZ1bmN0aW9uIGlzIGNhbGxlZC4gRm9yIGV4YW1wbGU6CisgKgorICogPGluZm9ybWFsZXhhbXBsZT4KKyAqICAgPHByb2dyYW1saXN0aW5nPgorICogICAgIGJsa2lkX3Byb2JlX2VuYWJsZV9wYXJ0aXRpb25zKHByLCBUUlVFKTsKKyAqICAgICBibGtpZF9wcm9iZV9lbmFibGVfc3VwZXJibG9ja3MocHIsIEZBTFNFKTsKKyAqCisgKiAgICAgYmxraWRfZG9fc2FmZXByb2JlKHByKTsKKyAqICAgPC9wcm9ncmFtbGlzdGluZz4KKyAqIDwvaW5mb3JtYWxleGFtcGxlPgorICoKKyAqIG92ZXJ3cml0ZXMgdGhlIHByZXZpb3VzIHByb2JpbmcgcmVzdWx0IGZvciB0aGUgcGFydGl0aW9ucyBjaGFpbiwgdGhlIHN1cGVyYmxvY2tzCisgKiByZXN1bHQgaXMgbm90IG1vZGlmaWVkLgorICovCisKKy8qKgorICogU0VDVElPTjogbG93cHJvYmUtdGFncworICogQHRpdGxlOiBMb3ctbGV2ZWwgdGFncworICogQHNob3J0X2Rlc2NyaXB0aW9uOiBnZW5lcmljIE5BTUU9dmFsdWUgaW50ZXJmYWNlLgorICoKKyAqIFRoZSBwcm9iaW5nIHJvdXRpbmVzIGluc2lkZSB0aGUgY2hhaW4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSBieSBkZWZhdWx0IC0tCisgKiBvbmx5IGZldyBwcm9iaW5nIHJvdXRpbmVzIGFyZSBtYXJrZWQgYXMgInRvbGVyYW50Ii4gVGhlICJ0b2xlcmFudCIgcHJvYmluZworICogcm91dGluZXMgYXJlIHVzZWQgZm9yIGZpbGVzeXN0ZW0gd2hpY2ggY2FuIHNoYXJlIHRoZSBzYW1lIGRldmljZSB3aXRoIGFueQorICogb3RoZXIgZmlsZXN5c3RlbS4gVGhlIGJsa2lkX2RvX3NhZmVwcm9iZSgpIGNoZWNrcyBmb3IgdGhlICJ0b2xlcmFudCIgZmxhZy4KKyAqCisgKiBUaGUgU1VQRVJCTE9DS1MgY2hhaW4gaXMgZW5hYmxlZCBieSBkZWZhdWx0LiBUaGUgYWxsIG90aGVycyBjaGFpbnMgaXMKKyAqIG5lY2Vzc2FyeSB0byBlbmFibGUgYnkgYmxraWRfcHJvYmVfZW5hYmxlXydDSEFJTk5BTUUnKCkuIFNlZSBjaGFpbnMgc3BlY2lmaWMKKyAqIGRvY3VtZW50YXRpb24uCisgKgorICogVGhlIGJsa2lkX2RvX3Byb2JlKCkgZnVuY3Rpb24gcmV0dXJucyBhIHJlc3VsdCBmcm9tIG9ubHkgb25lIHByb2JpbmcKKyAqIHJvdXRpbmUsIGFuZCB0aGUgbmV4dCBjYWxsIGZyb20gdGhlIG5leHQgcHJvYmluZyByb3V0aW5lLiBJdCBtZWFucyB5b3UgbmVlZAorICogdG8gY2FsbCB0aGUgZnVuY3Rpb24gaW4gbG9vcCwgZm9yIGV4YW1wbGU6CisgKgorICogPGluZm9ybWFsZXhhbXBsZT4KKyAqICAgPHByb2dyYW1saXN0aW5nPgorICoJd2hpbGUoKGJsa2lkX2RvX3Byb2JlKHByKSA9PSAwKQorICoJCS4uLiB1c2UgcmVzdWx0IC4uLgorICogICA8L3Byb2dyYW1saXN0aW5nPgorICogPC9pbmZvcm1hbGV4YW1wbGU+CisgKgorICogVGhlIGJsa2lkX2RvX3NhZmVwcm9iZSgpIGlzIHRoZSBzYW1lIGFzIGJsa2lkX2RvX3Byb2JlKCksIGJ1dCByZXR1cm5zIG9ubHkKKyAqIGZpcnN0IHByb2JpbmcgcmVzdWx0IGZvciBldmVyeSBlbmFibGVkIGNoYWluLiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBmb3IKKyAqIGFtYml2YWxlbnQgcmVzdWx0cyAoZS5nLiBtb3JlICJpbnRvbGVyYW50IiBmaWxlc3lzdGVtcyBzdXBlcmJsb2NrcyBvbiB0aGUKKyAqIGRldmljZSkuCisgKgorICogVGhlIHByb2JpbmcgcmVzdWx0IGlzIHNldCBvZiBOQU1FPXZhbHVlIHBhaXJzICh0aGUgTkFNRSBpcyBhbHdheXMgdW5pcXVlKS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaWZkZWYgSEFWRV9MSU5VWF9DRFJPTV9ICisjaW5jbHVkZSA8bGludXgvY2Ryb20uaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX0VSUk5PX0gKKyNpbmNsdWRlIDxlcnJuby5oPgorI2VuZGlmCisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKworI2lmZGVmIEhBVkVfTElCVVVJRAorIyBpbmNsdWRlIDx1dWlkLmg+CisjZW5kaWYKKworI2luY2x1ZGUgImJsa2lkUC5oIgorI2luY2x1ZGUgImFsbC1pby5oIgorI2luY2x1ZGUgInN5c2ZzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJsaXN0LmgiCisKKy8qIGNoYWlucyAqLworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9jaGFpbmRydiBzdXBlcmJsb2Nrc19kcnY7CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2NoYWluZHJ2IHRvcG9sb2d5X2RydjsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfY2hhaW5kcnYgcGFydGl0aW9uc19kcnY7CisKKy8qCisgKiBBbGwgc3VwcG9ydGVkIGNoYWlucworICovCitzdGF0aWMgY29uc3Qgc3RydWN0IGJsa2lkX2NoYWluZHJ2ICpjaGFpbnNfZHJ2c1tdID0geworCVtCTEtJRF9DSEFJTl9TVUJMS1NdID0gJnN1cGVyYmxvY2tzX2RydiwKKwlbQkxLSURfQ0hBSU5fVE9QTEdZXSA9ICZ0b3BvbG9neV9kcnYsCisJW0JMS0lEX0NIQUlOX1BBUlRTXSA9ICZwYXJ0aXRpb25zX2RydgorfTsKKworc3RhdGljIHN0cnVjdCBibGtpZF9wcnZhbCAqYmxraWRfcHJvYmVfbmV3X3ZhbHVlKHZvaWQpOworc3RhdGljIHZvaWQgYmxraWRfcHJvYmVfcmVzZXRfdmFsdWVzKGJsa2lkX3Byb2JlIHByKTsKK3N0YXRpYyB2b2lkIGJsa2lkX3Byb2JlX3Jlc2V0X2J1ZmZlcihibGtpZF9wcm9iZSBwcik7CisKKy8qKgorICogYmxraWRfbmV3X3Byb2JlOgorICoKKyAqIFJldHVybnM6IGEgcG9pbnRlciB0byB0aGUgbmV3bHkgYWxsb2NhdGVkIHByb2JlIHN0cnVjdCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2Jsa2lkX3Byb2JlIGJsa2lkX25ld19wcm9iZSh2b2lkKQoreworCWludCBpOworCWJsa2lkX3Byb2JlIHByOworCisJYmxraWRfaW5pdF9kZWJ1ZygwKTsKKwlwciA9IGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGJsa2lkX3N0cnVjdF9wcm9iZSkpOworCWlmICghcHIpCisJCXJldHVybiBOVUxMOworCisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiYWxsb2NhdGUgYSBuZXcgcHJvYmUgJXAiLCBwcikpOworCisJLyogaW5pdGlhbGl6ZSBjaGFpbnMgKi8KKwlmb3IgKGkgPSAwOyBpIDwgQkxLSURfTkNIQUlOUzsgaSsrKSB7CisJCXByLT5jaGFpbnNbaV0uZHJpdmVyID0gY2hhaW5zX2RydnNbaV07CisJCXByLT5jaGFpbnNbaV0uZmxhZ3MgPSBjaGFpbnNfZHJ2c1tpXS0+ZGZsdF9mbGFnczsKKwkJcHItPmNoYWluc1tpXS5lbmFibGVkID0gY2hhaW5zX2RydnNbaV0tPmRmbHRfZW5hYmxlZDsKKwl9CisJSU5JVF9MSVNUX0hFQUQoJnByLT5idWZmZXJzKTsKKwlJTklUX0xJU1RfSEVBRCgmcHItPnZhbHVlcyk7CisJcmV0dXJuIHByOworfQorCisvKgorICogQ2xvbmUgQHBhcmVudCwgdGhlIG5ldyBjbG9uZSBzaGFyZXMgYWxsLCBidXQgZXhjZXB0OgorICoKKyAqCS0gcHJvYmluZyByZXN1bHQKKyAqCS0gYnVmZmVycyBpZiBhbm90aGVyIGRldmljZSAob3Igb2Zmc2V0KSBpcyBzZXQgdG8gdGhlIHByb2JlcgorICovCitibGtpZF9wcm9iZSBibGtpZF9jbG9uZV9wcm9iZShibGtpZF9wcm9iZSBwYXJlbnQpCit7CisJYmxraWRfcHJvYmUgcHI7CisKKwlpZiAoIXBhcmVudCkKKwkJcmV0dXJuIE5VTEw7CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJhbGxvY2F0ZSBhIHByb2JlIGNsb25lIikpOworCisJcHIgPSBibGtpZF9uZXdfcHJvYmUoKTsKKwlpZiAoIXByKQorCQlyZXR1cm4gTlVMTDsKKworCXByLT5mZCA9IHBhcmVudC0+ZmQ7CisJcHItPm9mZiA9IHBhcmVudC0+b2ZmOworCXByLT5zaXplID0gcGFyZW50LT5zaXplOworCXByLT5kZXZubyA9IHBhcmVudC0+ZGV2bm87CisJcHItPmRpc2tfZGV2bm8gPSBwYXJlbnQtPmRpc2tfZGV2bm87CisJcHItPmJsa3NzeiA9IHBhcmVudC0+Ymxrc3N6OworCXByLT5mbGFncyA9IHBhcmVudC0+ZmxhZ3M7CisJcHItPnBhcmVudCA9IHBhcmVudDsKKworCXByLT5mbGFncyAmPSB+QkxLSURfRkxfUFJJVkFURV9GRDsKKworCXJldHVybiBwcjsKK30KKworCisKKy8qKgorICogYmxraWRfbmV3X3Byb2JlX2Zyb21fZmlsZW5hbWU6CisgKiBAZmlsZW5hbWU6IGRldmljZSBvciByZWd1bGFyIGZpbGUKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIHNhbWUgYXMgY2FsbCBvcGVuKGZpbGVuYW1lKSwgYmxraWRfbmV3X3Byb2JlKCkgYW5kCisgKiBibGtpZF9wcm9iZV9zZXRfZGV2aWNlKHByLCBmZCwgMCwgMCkuCisgKgorICogVGhlIEBmaWxlbmFtZSBpcyBjbG9zZWQgYnkgYmxraWRfZnJlZV9wcm9iZSgpIG9yIGJ5IHRoZQorICogYmxraWRfcHJvYmVfc2V0X2RldmljZSgpIGNhbGwuCisgKgorICogUmV0dXJuczogYSBwb2ludGVyIHRvIHRoZSBuZXdseSBhbGxvY2F0ZWQgcHJvYmUgc3RydWN0IG9yIE5VTEwgaW4gY2FzZSBvZgorICogZXJyb3IuCisgKi8KK2Jsa2lkX3Byb2JlIGJsa2lkX25ld19wcm9iZV9mcm9tX2ZpbGVuYW1lKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQoreworCWludCBmZCA9IC0xOworCWJsa2lkX3Byb2JlIHByID0gTlVMTDsKKworCWZkID0gb3BlbihmaWxlbmFtZSwgT19SRE9OTFl8T19DTE9FWEVDKTsKKwlpZiAoZmQgPCAwKQorCQlyZXR1cm4gTlVMTDsKKworCXByID0gYmxraWRfbmV3X3Byb2JlKCk7CisJaWYgKCFwcikKKwkJZ290byBlcnI7CisKKwlpZiAoYmxraWRfcHJvYmVfc2V0X2RldmljZShwciwgZmQsIDAsIDApKQorCQlnb3RvIGVycjsKKworCXByLT5mbGFncyB8PSBCTEtJRF9GTF9QUklWQVRFX0ZEOworCXJldHVybiBwcjsKK2VycjoKKwlpZiAoZmQgPj0gMCkKKwkJY2xvc2UoZmQpOworCWJsa2lkX2ZyZWVfcHJvYmUocHIpOworCXJldHVybiBOVUxMOworfQorCisvKioKKyAqIGJsa2lkX2ZyZWVfcHJvYmU6CisgKiBAcHI6IHByb2JlCisgKgorICogRGVhbGxvY2F0ZXMgdGhlIHByb2JlIHN0cnVjdCwgYnVmZmVycyBhbmQgYWxsIGFsbG9jYXRlZAorICogZGF0YSB0aGF0IGFyZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBwcm9iaW5nIGNvbnRyb2wgc3RydWN0LgorICovCit2b2lkIGJsa2lkX2ZyZWVfcHJvYmUoYmxraWRfcHJvYmUgcHIpCit7CisJaW50IGk7CisKKwlpZiAoIXByKQorCQlyZXR1cm47CisKKwlmb3IgKGkgPSAwOyBpIDwgQkxLSURfTkNIQUlOUzsgaSsrKSB7CisJCXN0cnVjdCBibGtpZF9jaGFpbiAqY2ggPSAmcHItPmNoYWluc1tpXTsKKworCQlpZiAoY2gtPmRyaXZlci0+ZnJlZV9kYXRhKQorCQkJY2gtPmRyaXZlci0+ZnJlZV9kYXRhKHByLCBjaC0+ZGF0YSk7CisJCWZyZWUoY2gtPmZsdHIpOworCX0KKworCWlmICgocHItPmZsYWdzICYgQkxLSURfRkxfUFJJVkFURV9GRCkgJiYgcHItPmZkID49IDApCisJCWNsb3NlKHByLT5mZCk7CisJYmxraWRfcHJvYmVfcmVzZXRfYnVmZmVyKHByKTsKKwlibGtpZF9wcm9iZV9yZXNldF92YWx1ZXMocHIpOworCWJsa2lkX2ZyZWVfcHJvYmUocHItPmRpc2tfcHJvYmUpOworCisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiZnJlZSBwcm9iZSAlcCIsIHByKSk7CisJZnJlZShwcik7Cit9CisKK3ZvaWQgYmxraWRfcHJvYmVfZnJlZV92YWx1ZShzdHJ1Y3QgYmxraWRfcHJ2YWwgKnYpCit7CisJaWYgKCF2KQorCQlyZXR1cm47CisKKwlsaXN0X2RlbCgmdi0+cHJ2YWxzKTsKKwlmcmVlKHYtPmRhdGEpOworCisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiIGZyZWUgdmFsdWUgJXMiLCB2LT5uYW1lKSk7CisJZnJlZSh2KTsKK30KKworLyoKKyAqIFJlbW92ZXMgY2hhaW4gdmFsdWVzIGZyb20gcHJvYmluZyByZXN1bHQuCisgKi8KK3ZvaWQgYmxraWRfcHJvYmVfY2hhaW5fcmVzZXRfdmFsdWVzKGJsa2lkX3Byb2JlIHByLCBzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobikKK3sKKworCXN0cnVjdCBsaXN0X2hlYWQgKnAsICpwbmV4dDsKKworCWlmIChsaXN0X2VtcHR5KCZwci0+dmFsdWVzKSkKKwkJcmV0dXJuOworCisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiUmVzZXR0aW5nICVzIHZhbHVlcyIsIGNobi0+ZHJpdmVyLT5uYW1lKSk7CisKKwlsaXN0X2Zvcl9lYWNoX3NhZmUocCwgcG5leHQsICZwci0+dmFsdWVzKSB7CisJCXN0cnVjdCBibGtpZF9wcnZhbCAqdiA9IGxpc3RfZW50cnkocCwKKwkJCQkJCXN0cnVjdCBibGtpZF9wcnZhbCwgcHJ2YWxzKTsKKworCQlpZiAodi0+Y2hhaW4gPT0gY2huKQorCQkJYmxraWRfcHJvYmVfZnJlZV92YWx1ZSh2KTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGJsa2lkX3Byb2JlX2NoYWluX3Jlc2V0X3Bvc2l0aW9uKHN0cnVjdCBibGtpZF9jaGFpbiAqY2huKQoreworCWNobi0+aWR4ID0gLTE7Cit9CisKKy8qCitzdGF0aWMgc3RydWN0IGJsa2lkX3BydmFsICpibGtpZF9wcm9iZV9jb3B5X3ZhbHVlKHN0cnVjdCBibGtpZF9wcnZhbCAqc3JjKQoreworCXN0cnVjdCBibGtpZF9wcnZhbCAqZGVzdCA9IGJsa2lkX3Byb2JlX25ld192YWx1ZSgpOworCisJaWYgKCFkZXN0KQorCQlyZXR1cm4gTlVMTDsKKworCW1lbWNweShkZXN0LCBzcmMsIHNpemVvZihzdHJ1Y3QgYmxraWRfcHJ2YWwpKTsKKworCWRlc3QtPmRhdGEgPSBtYWxsb2Moc3JjLT5sZW4pOworCWlmICghZGVzdC0+ZGF0YSkKKwkJcmV0dXJuIE5VTEw7CisKKwltZW1jcHkoZGVzdC0+ZGF0YSwgc3JjLT5kYXRhLCBzcmMtPmxlbik7CisKKwlJTklUX0xJU1RfSEVBRCgmZGVzdC0+cHJ2YWxzKTsKKwlyZXR1cm4gZGVzdDsKK30KKyovCisKKy8qCisgKiBNb3ZlIGNoYWluIHZhbHVlcyBmcm9tIHByb2JpbmcgcmVzdWx0IHRvIEB2YWxzCisgKi8KK2ludCBibGtpZF9wcm9iZV9jaGFpbl9zYXZlX3ZhbHVlcyhibGtpZF9wcm9iZSBwciwgc3RydWN0IGJsa2lkX2NoYWluICpjaG4sCisJCQkJc3RydWN0IGxpc3RfaGVhZCAqdmFscykKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwLCAqcG5leHQ7CisJc3RydWN0IGJsa2lkX3BydmFsICp2OworCisJREJHKExPV1BST0JFLCB1bF9kZWJ1Zygic2F2aW5nICVzIHZhbHVlcyIsIGNobi0+ZHJpdmVyLT5uYW1lKSk7CisKKwlsaXN0X2Zvcl9lYWNoX3NhZmUocCwgcG5leHQsICZwci0+dmFsdWVzKSB7CisKKwkJdiA9IGxpc3RfZW50cnkocCwgc3RydWN0IGJsa2lkX3BydmFsLCBwcnZhbHMpOworCQlpZiAodi0+Y2hhaW4gIT0gY2huKQorCQkJY29udGludWU7CisKKwkJbGlzdF9kZWwoJnYtPnBydmFscyk7CisJCUlOSVRfTElTVF9IRUFEKCZ2LT5wcnZhbHMpOworCisJCWxpc3RfYWRkX3RhaWwoJnYtPnBydmFscywgdmFscyk7CisJfQorCXJldHVybiAwOworfQorCisvKgorICogQXBwZW5kcyB2YWx1ZXMgZnJvbSBAdmFscyB0byB0aGUgcHJvYmluZyByZXN1bHQKKyAqLwordm9pZCBibGtpZF9wcm9iZV9hcHBlbmRfdmFsdWVzX2xpc3QoYmxraWRfcHJvYmUgcHIsIHN0cnVjdCBsaXN0X2hlYWQgKnZhbHMpCit7CisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiYXBwZW5kaW5nIHZhbHVlcyIpKTsKKworCWxpc3Rfc3BsaWNlKHZhbHMsICZwci0+dmFsdWVzKTsKKwlJTklUX0xJU1RfSEVBRCh2YWxzKTsKK30KKworCit2b2lkIGJsa2lkX3Byb2JlX2ZyZWVfdmFsdWVzX2xpc3Qoc3RydWN0IGxpc3RfaGVhZCAqdmFscykKK3sKKwlpZiAoIXZhbHMpCisJCXJldHVybjsKKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoImZyZWVpbmcgdmFsdWVzIGxpc3QiKSk7CisKKwl3aGlsZSAoIWxpc3RfZW1wdHkodmFscykpIHsKKwkJc3RydWN0IGJsa2lkX3BydmFsICp2ID0gbGlzdF9lbnRyeSh2YWxzLT5uZXh0LCBzdHJ1Y3QgYmxraWRfcHJ2YWwsIHBydmFscyk7CisJCWJsa2lkX3Byb2JlX2ZyZWVfdmFsdWUodik7CisJfQorfQorCitzdHJ1Y3QgYmxraWRfY2hhaW4gKmJsa2lkX3Byb2JlX2dldF9jaGFpbihibGtpZF9wcm9iZSBwcikKK3sKKwlyZXR1cm4gcHItPmN1cl9jaGFpbjsKK30KKworc3RhdGljIGNvbnN0IGNoYXIgKmJsa2lkX3Byb2JlX2dldF9wcm9iZXJuYW1lKGJsa2lkX3Byb2JlIHByKQoreworCXN0cnVjdCBibGtpZF9jaGFpbiAqY2huID0gYmxraWRfcHJvYmVfZ2V0X2NoYWluKHByKTsKKworCWlmIChjaG4gJiYgY2huLT5pZHggPj0gMCAmJiAodW5zaWduZWQpY2huLT5pZHggPCBjaG4tPmRyaXZlci0+bmlkaW5mb3MpCisJCXJldHVybiBjaG4tPmRyaXZlci0+aWRpbmZvc1tjaG4tPmlkeF0tPm5hbWU7CisKKwlyZXR1cm4gTlVMTDsKK30KKwordm9pZCAqYmxraWRfcHJvYmVfZ2V0X2JpbmFyeV9kYXRhKGJsa2lkX3Byb2JlIHByLCBzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobikKK3sKKwlpbnQgcmMsIG9yZ19wcm9iX2ZsYWdzOworCXN0cnVjdCBibGtpZF9jaGFpbiAqb3JnX2NobjsKKworCS8qIHNhdmUgdGhlIGN1cnJlbnQgc2V0dGluZyAtLSB0aGUgYmluYXJ5IEFQSSBoYXMgdG8gYmUgY29tcGxldGVseQorCSAqIGluZGVwZW5kZW50IG9uIHRoZSBjdXJyZW50IHByb2Jpbmcgc3RhdHVzCisJICovCisJb3JnX2NobiA9IHByLT5jdXJfY2hhaW47CisJb3JnX3Byb2JfZmxhZ3MgPSBwci0+cHJvYl9mbGFnczsKKworCXByLT5jdXJfY2hhaW4gPSBjaG47CisJcHItPnByb2JfZmxhZ3MgPSAwOworCWNobi0+YmluYXJ5ID0gVFJVRTsKKwlibGtpZF9wcm9iZV9jaGFpbl9yZXNldF9wb3NpdGlvbihjaG4pOworCisJcmMgPSBjaG4tPmRyaXZlci0+cHJvYmUocHIsIGNobik7CisKKwljaG4tPmJpbmFyeSA9IEZBTFNFOworCWJsa2lkX3Byb2JlX2NoYWluX3Jlc2V0X3Bvc2l0aW9uKGNobik7CisKKwkvKiByZXN0b3JlIHRoZSBvcmlnaW5hbCBzZXR0aW5nCisJICovCisJcHItPmN1cl9jaGFpbiA9IG9yZ19jaG47CisJcHItPnByb2JfZmxhZ3MgPSBvcmdfcHJvYl9mbGFnczsKKworCWlmIChyYyAhPSAwKQorCQlyZXR1cm4gTlVMTDsKKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoInJldHVybmluZyAlcyBiaW5hcnkgZGF0YSIsIGNobi0+ZHJpdmVyLT5uYW1lKSk7CisJcmV0dXJuIGNobi0+ZGF0YTsKK30KKworCisvKioKKyAqIGJsa2lkX3Jlc2V0X3Byb2JlOgorICogQHByOiBwcm9iZQorICoKKyAqIFplcm9pemUgcHJvYmluZyByZXN1bHRzIGFuZCByZXNldHMgdGhlIGN1cnJlbnQgcHJvYmluZyAodGhpcyBoYXMgaW1wYWN0IHRvCisgKiBibGtpZF9kb19wcm9iZSgpIG9ubHkpLiBUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IHRvdWNoIHByb2JpbmcgZmlsdGVycyBhbmQKKyAqIGtlZXBzIGFzc2lnbmVkIGRldmljZS4KKyAqLwordm9pZCBibGtpZF9yZXNldF9wcm9iZShibGtpZF9wcm9iZSBwcikKK3sKKwlpbnQgaTsKKworCWJsa2lkX3Byb2JlX3Jlc2V0X3ZhbHVlcyhwcik7CisJYmxraWRfcHJvYmVfc2V0X3dpcGVyKHByLCAwLCAwKTsKKworCXByLT5jdXJfY2hhaW4gPSBOVUxMOworCisJZm9yIChpID0gMDsgaSA8IEJMS0lEX05DSEFJTlM7IGkrKykKKwkJYmxraWRfcHJvYmVfY2hhaW5fcmVzZXRfcG9zaXRpb24oJnByLT5jaGFpbnNbaV0pOworfQorCisvKioqCitzdGF0aWMgaW50IGJsa2lkX3Byb2JlX2R1bXBfZmlsdGVyKGJsa2lkX3Byb2JlIHByLCBpbnQgY2hhaW4pCit7CisJc3RydWN0IGJsa2lkX2NoYWluICpjaG47CisJaW50IGk7CisKKwlpZiAoIXByIHx8IGNoYWluIDwgMCB8fCBjaGFpbiA+PSBCTEtJRF9OQ0hBSU5TKQorCQlyZXR1cm4gLTE7CisKKwljaG4gPSAmcHItPmNoYWluc1tjaGFpbl07CisKKwlpZiAoIWNobi0+Zmx0cikKKwkJcmV0dXJuIC0xOworCisJZm9yIChpID0gMDsgaSA8IGNobi0+ZHJpdmVyLT5uaWRpbmZvczsgaSsrKSB7CisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gKmlkID0gY2huLT5kcml2ZXItPmlkaW5mb3NbaV07CisKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiJWQ6ICVzOiAlcyIsCisJCQlpLAorCQkJaWQtPm5hbWUsCisJCQlibGtpZF9ibXBfZ2V0X2l0ZW0oY2huLT5mbHRyLCBpKQorCQkJCT8gImRpc2FibGVkIiA6ICJlbmFibGVkIDwtLSIpKTsKKwl9CisJcmV0dXJuIDA7Cit9CisqKiovCisKKy8qCisgKiBSZXR1cm5zIHByb3Blcmx5IGluaXRpYWxpemVkIGNoYWluIGZpbHRlcgorICovCit1bnNpZ25lZCBsb25nICpibGtpZF9wcm9iZV9nZXRfZmlsdGVyKGJsa2lkX3Byb2JlIHByLCBpbnQgY2hhaW4sIGludCBjcmVhdGUpCit7CisJc3RydWN0IGJsa2lkX2NoYWluICpjaG47CisKKwlpZiAoY2hhaW4gPCAwIHx8IGNoYWluID49IEJMS0lEX05DSEFJTlMpCisJCXJldHVybiBOVUxMOworCisJY2huID0gJnByLT5jaGFpbnNbY2hhaW5dOworCisJLyogYWx3YXlzIHdoZW4geW91IHRvdWNoIHRoZSBjaGFpbiBmaWx0ZXIgYWxsIGluZGV4ZXMgYXJlIHJlc2V0IGFuZAorCSAqIHByb2Jpbmcgc3RhcnRzIGZyb20gc2NyYXRjaAorCSAqLworCWJsa2lkX3Byb2JlX2NoYWluX3Jlc2V0X3Bvc2l0aW9uKGNobik7CisJcHItPmN1cl9jaGFpbiA9IE5VTEw7CisKKwlpZiAoIWNobi0+ZHJpdmVyLT5oYXNfZmx0ciB8fCAoIWNobi0+Zmx0ciAmJiAhY3JlYXRlKSkKKwkJcmV0dXJuIE5VTEw7CisKKwlpZiAoIWNobi0+Zmx0cikKKwkJY2huLT5mbHRyID0gY2FsbG9jKDEsIGJsa2lkX2JtcF9uYnl0ZXMoY2huLT5kcml2ZXItPm5pZGluZm9zKSk7CisJZWxzZQorCQltZW1zZXQoY2huLT5mbHRyLCAwLCBibGtpZF9ibXBfbmJ5dGVzKGNobi0+ZHJpdmVyLT5uaWRpbmZvcykpOworCisJLyogYmxraWRfcHJvYmVfZHVtcF9maWx0ZXIocHIsIGNoYWluKTsgKi8KKwlyZXR1cm4gY2huLT5mbHRyOworfQorCisvKgorICogR2VuZXJpYyBwcml2YXRlIGZ1bmN0aW9ucyBmb3IgZmlsdGVyIHNldHRpbmcKKyAqLworaW50IF9fYmxraWRfcHJvYmVfaW52ZXJ0X2ZpbHRlcihibGtpZF9wcm9iZSBwciwgaW50IGNoYWluKQoreworCXNpemVfdCBpOworCXN0cnVjdCBibGtpZF9jaGFpbiAqY2huOworCisJY2huID0gJnByLT5jaGFpbnNbY2hhaW5dOworCisJaWYgKCFjaG4tPmRyaXZlci0+aGFzX2ZsdHIgfHwgIWNobi0+Zmx0cikKKwkJcmV0dXJuIC0xOworCisJZm9yIChpID0gMDsgaSA8IGJsa2lkX2JtcF9ud29yZHMoY2huLT5kcml2ZXItPm5pZGluZm9zKTsgaSsrKQorCQljaG4tPmZsdHJbaV0gPSB+Y2huLT5mbHRyW2ldOworCisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygicHJvYmluZyBmaWx0ZXIgaW52ZXJ0ZWQiKSk7CisJLyogYmxraWRfcHJvYmVfZHVtcF9maWx0ZXIocHIsIGNoYWluKTsgKi8KKwlyZXR1cm4gMDsKK30KKworaW50IF9fYmxraWRfcHJvYmVfcmVzZXRfZmlsdGVyKGJsa2lkX3Byb2JlIHByLCBpbnQgY2hhaW4pCit7CisJcmV0dXJuIGJsa2lkX3Byb2JlX2dldF9maWx0ZXIocHIsIGNoYWluLCBGQUxTRSkgPyAwIDogLTE7Cit9CisKK2ludCBfX2Jsa2lkX3Byb2JlX2ZpbHRlcl90eXBlcyhibGtpZF9wcm9iZSBwciwgaW50IGNoYWluLCBpbnQgZmxhZywgY2hhciAqbmFtZXNbXSkKK3sKKwl1bnNpZ25lZCBsb25nICpmbHRyOworCXN0cnVjdCBibGtpZF9jaGFpbiAqY2huOworCXNpemVfdCBpOworCisJZmx0ciA9IGJsa2lkX3Byb2JlX2dldF9maWx0ZXIocHIsIGNoYWluLCBUUlVFKTsKKwlpZiAoIWZsdHIpCisJCXJldHVybiAtMTsKKworCWNobiA9ICZwci0+Y2hhaW5zW2NoYWluXTsKKworCWZvciAoaSA9IDA7IGkgPCBjaG4tPmRyaXZlci0+bmlkaW5mb3M7IGkrKykgeworCQlpbnQgaGFzID0gMDsKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyAqaWQgPSBjaG4tPmRyaXZlci0+aWRpbmZvc1tpXTsKKwkJY2hhciAqKm47CisKKwkJZm9yIChuID0gbmFtZXM7ICpuOyBuKyspIHsKKwkJCWlmICghc3RyY21wKGlkLT5uYW1lLCAqbikpIHsKKwkJCQloYXMgPSAxOworCQkJCWJyZWFrOworCQkJfQorCQl9CisJCWlmIChoYXMpIHsKKwkJCWlmIChmbGFnICYgQkxLSURfRkxUUl9OT1RJTikKKwkJCQlibGtpZF9ibXBfc2V0X2l0ZW0oZmx0ciwgaSk7CisJCX0gZWxzZSBpZiAoZmxhZyAmIEJMS0lEX0ZMVFJfT05MWUlOKQorCQkJYmxraWRfYm1wX3NldF9pdGVtKGZsdHIsIGkpOworCX0KKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIiVzOiBhIG5ldyBwcm9iaW5nIHR5cGUtZmlsdGVyIGluaXRpYWxpemVkIiwKKwkJY2huLT5kcml2ZXItPm5hbWUpKTsKKwkvKiBibGtpZF9wcm9iZV9kdW1wX2ZpbHRlcihwciwgY2hhaW4pOyAqLworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IGJsa2lkX2J1ZmluZm8gKnJlYWRfYnVmZmVyKGJsa2lkX3Byb2JlIHByLCB1aW50NjRfdCByZWFsX29mZiwgdWludDY0X3QgbGVuKQoreworCXNzaXplX3QgcmV0OworCXN0cnVjdCBibGtpZF9idWZpbmZvICpiZiA9IE5VTEw7CisKKwlpZiAoYmxraWRfbGxzZWVrKHByLT5mZCwgcmVhbF9vZmYsIFNFRUtfU0VUKSA8IDApIHsKKwkJZXJybm8gPSAwOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwkvKiBzb21lb25lIHRyeWluZyB0byBvdmVyZmxvdyBzb21lIGJ1ZmZlcnM/ICovCisJaWYgKGxlbiA+IFVMT05HX01BWCAtIHNpemVvZihzdHJ1Y3QgYmxraWRfYnVmaW5mbykpIHsKKwkJZXJybm8gPSBFTk9NRU07CisJCXJldHVybiBOVUxMOworCX0KKworCS8qIGFsbG9jYXRlIGluZm8gYW5kIHNwYWNlIGZvciBkYXRhIGJ5IG9uZSBtYWxsb2MgY2FsbCAqLworCWJmID0gY2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgYmxraWRfYnVmaW5mbykgKyBsZW4pOworCWlmICghYmYpIHsKKwkJZXJybm8gPSBFTk9NRU07CisJCXJldHVybiBOVUxMOworCX0KKworCWJmLT5kYXRhID0gKCh1bnNpZ25lZCBjaGFyICopIGJmKSArIHNpemVvZihzdHJ1Y3QgYmxraWRfYnVmaW5mbyk7CisJYmYtPmxlbiA9IGxlbjsKKwliZi0+b2ZmID0gcmVhbF9vZmY7CisJSU5JVF9MSVNUX0hFQUQoJmJmLT5idWZzKTsKKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIlx0cmVhZCAlcDogb2ZmPSUiUFJJdTY0IiBsZW49JSJQUkl1NjQiIiwKKwkgICAgICAgICAgICAgICAgICAgICAgIGJmLT5kYXRhLCByZWFsX29mZiwgbGVuKSk7CisKKwlyZXQgPSByZWFkKHByLT5mZCwgYmYtPmRhdGEsIGxlbik7CisJaWYgKHJldCAhPSAoc3NpemVfdCkgbGVuKSB7CisJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIlx0cmVhZCBmYWlsZWQ6ICVtIikpOworCQlmcmVlKGJmKTsKKworCQkvKiBJL08gZXJyb3JzIG9uIENEUk9NcyBhcmUgbm9uLWZhdGFsIHRvIHdvcmsgd2l0aCBoeWJyaWQKKwkJICogYXVkaW8rZGF0YSBkaXNrcyAqLworCQlpZiAocmV0ID49IDAgfHwgYmxraWRfcHJvYmVfaXNfY2Ryb20ocHIpKQorCQkJZXJybm8gPSAwOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlyZXR1cm4gYmY7Cit9CisKKy8qCisgKiBOb3RlIHRoYXQgQG9mZiBpcyBvZmZzZXQgd2l0aGluIHByb2JpbmcgYXJlYSwgdGhlIHByb2JpbmcgYXJlYSBpcyBkZWZpbmVkIGJ5CisgKiBwci0+b2ZmIGFuZCBwci0+c2l6ZS4KKyAqLwordW5zaWduZWQgY2hhciAqYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihibGtpZF9wcm9iZSBwciwgdWludDY0X3Qgb2ZmLCB1aW50NjRfdCBsZW4pCit7CisJc3RydWN0IGxpc3RfaGVhZCAqcDsKKwlzdHJ1Y3QgYmxraWRfYnVmaW5mbyAqYmYgPSBOVUxMOworCXVpbnQ2NF90IHJlYWxfb2ZmID0gcHItPm9mZiArIG9mZjsKKworCS8qCisJREJHKEJVRkZFUiwgdWxfZGVidWcoIlx0Pj4+PiBvZmY9JWp1LCByZWFsLW9mZj0lanUgKHByb2JlIDwlanUuLiVqdT4sIGxlbj0lanUiLAorCQkJCW9mZiwgcmVhbF9vZmYsIHByLT5vZmYsIHByLT5vZmYgKyBwci0+c2l6ZSwgbGVuKSk7CisJKi8KKworCWlmIChwci0+c2l6ZSA9PSAwKSB7CisJCWVycm5vID0gRUlOVkFMOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlpZiAobGVuID09IDAgfHwgcHItPm9mZiArIHByLT5zaXplIDwgcmVhbF9vZmYgKyBsZW4pIHsKKwkJREJHKEJVRkZFUiwgdWxfZGVidWcoIlx0ICBpZ25vcmU6IHJlcXVlc3Qgb3V0IG9mIHByb2JpbmcgYXJlYSIpKTsKKwkJZXJybm8gPSAwOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlpZiAocHItPnBhcmVudCAmJgorCSAgICBwci0+cGFyZW50LT5kZXZubyA9PSBwci0+ZGV2bm8gJiYKKwkgICAgcHItPnBhcmVudC0+b2ZmIDw9IHByLT5vZmYgJiYKKwkgICAgcHItPnBhcmVudC0+b2ZmICsgcHItPnBhcmVudC0+c2l6ZSA+PSBwci0+b2ZmICsgcHItPnNpemUpIHsKKwkJLyoKKwkJICogVGhpcyBpcyBhIGNsb25lZCBwcm9iZXIgYW5kIHBvaW50cyB0byB0aGUgc2FtZSBhcmVhIGFzCisJCSAqIHBhcmVudC4gTGV0J3MgdXNlIHBhcmVudCdzIGJ1ZmZlcnMuCisJCSAqCisJCSAqIE5vdGUgdGhhdCBwci0+b2ZmIChhbmQgcHItPnBhcmVudC0+b2ZmKSBpcyBhbHdheXMgZnJvbSB0aGUKKwkJICogYmVnaW4gb2YgdGhlIGRldmljZS4KKwkJICovCisJCXJldHVybiBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLT5wYXJlbnQsCisJCQkJcHItPm9mZiArIG9mZiAtIHByLT5wYXJlbnQtPm9mZiwgbGVuKTsKKwl9CisKKwkvKiB0cnkgYnVmZmVycyB3ZSBhbHJlYWR5IGhhdmUgaW4gbWVtb3J5ICovCisJbGlzdF9mb3JfZWFjaChwLCAmcHItPmJ1ZmZlcnMpIHsKKwkJc3RydWN0IGJsa2lkX2J1ZmluZm8gKnggPQorCQkJCWxpc3RfZW50cnkocCwgc3RydWN0IGJsa2lkX2J1ZmluZm8sIGJ1ZnMpOworCisJCWlmIChyZWFsX29mZiA+PSB4LT5vZmYgJiYgcmVhbF9vZmYgKyBsZW4gPD0geC0+b2ZmICsgeC0+bGVuKSB7CisJCQlEQkcoQlVGRkVSLCB1bF9kZWJ1ZygiXHRyZXVzZSAlcDogb2ZmPSUiUFJJdTY0IiBsZW49JSJQUkl1NjQiIChmb3Igb2ZmPSUiUFJJdTY0IiBsZW49JSJQUkl1NjQiKSIsCisJCQkJCQl4LT5kYXRhLCB4LT5vZmYsIHgtPmxlbiwgcmVhbF9vZmYsIGxlbikpOworCQkJYmYgPSB4OworCQkJYnJlYWs7CisJCX0KKwl9CisKKwkvKiBub3QgZm91bmQ7IHJlYWQgZnJvbSBkaXNrICovCisJaWYgKCFiZikgeworCQliZiA9IHJlYWRfYnVmZmVyKHByLCByZWFsX29mZiwgbGVuKTsKKwkJaWYgKCFiZikKKwkJCXJldHVybiBOVUxMOworCisJCWxpc3RfYWRkX3RhaWwoJmJmLT5idWZzLCAmcHItPmJ1ZmZlcnMpOworCX0KKworCWFzc2VydChiZi0+b2ZmIDw9IHJlYWxfb2ZmKTsKKwlhc3NlcnQoYmYtPm9mZiArIGJmLT5sZW4gPj0gcmVhbF9vZmYgKyBsZW4pOworCisJZXJybm8gPSAwOworCXJldHVybiByZWFsX29mZiA/IGJmLT5kYXRhICsgKHJlYWxfb2ZmIC0gYmYtPm9mZikgOiBiZi0+ZGF0YTsKK30KKworc3RhdGljIHZvaWQgYmxraWRfcHJvYmVfcmVzZXRfYnVmZmVyKGJsa2lkX3Byb2JlIHByKQoreworCXVpbnQ2NF90IGN0ID0gMCwgbGVuID0gMDsKKworCWlmIChsaXN0X2VtcHR5KCZwci0+YnVmZmVycykpCisJCXJldHVybjsKKworCURCRyhCVUZGRVIsIHVsX2RlYnVnKCJSZXNldHRpbmcgcHJvYmluZyBidWZmZXJzIHByPSVwIiwgcHIpKTsKKworCXdoaWxlICghbGlzdF9lbXB0eSgmcHItPmJ1ZmZlcnMpKSB7CisJCXN0cnVjdCBibGtpZF9idWZpbmZvICpiZiA9IGxpc3RfZW50cnkocHItPmJ1ZmZlcnMubmV4dCwKKwkJCQkJCXN0cnVjdCBibGtpZF9idWZpbmZvLCBidWZzKTsKKwkJY3QrKzsKKwkJbGVuICs9IGJmLT5sZW47CisJCWxpc3RfZGVsKCZiZi0+YnVmcyk7CisKKwkJREJHKEJVRkZFUiwgdWxfZGVidWcoIiByZW1vdmUgYnVmZmVyOiAlcCBbb2ZmPSUiUFJJdTY0IiwgbGVuPSUiUFJJdTY0Il0iLAorCQkgICAgICAgICAgICAgICAgICAgICBiZi0+ZGF0YSwgYmYtPm9mZiwgYmYtPmxlbikpOworCQlmcmVlKGJmKTsKKwl9CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCIgYnVmZmVycyBzdW1tYXJ5OiAlIlBSSXU2NCIgYnl0ZXMgYnkgJSJQUkl1NjQiIHJlYWQoKSBjYWxscyIsCisJCQlsZW4sIGN0KSk7CisKKwlJTklUX0xJU1RfSEVBRCgmcHItPmJ1ZmZlcnMpOworfQorCitzdGF0aWMgdm9pZCBibGtpZF9wcm9iZV9yZXNldF92YWx1ZXMoYmxraWRfcHJvYmUgcHIpCit7CisJaWYgKGxpc3RfZW1wdHkoJnByLT52YWx1ZXMpKQorCQlyZXR1cm47CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJyZXNldHRpbmcgcmVzdWx0cyBwcj0lcCIsIHByKSk7CisKKwl3aGlsZSAoIWxpc3RfZW1wdHkoJnByLT52YWx1ZXMpKSB7CisJCXN0cnVjdCBibGtpZF9wcnZhbCAqdiA9IGxpc3RfZW50cnkocHItPnZhbHVlcy5uZXh0LAorCQkJCQkJc3RydWN0IGJsa2lkX3BydmFsLCBwcnZhbHMpOworCQlibGtpZF9wcm9iZV9mcmVlX3ZhbHVlKHYpOworCX0KKworCUlOSVRfTElTVF9IRUFEKCZwci0+dmFsdWVzKTsKK30KKworLyoKKyAqIFNtYWxsIGRldmljZXMgbmVlZCBhIHNwZWNpYWwgY2FyZS4KKyAqLworaW50IGJsa2lkX3Byb2JlX2lzX3RpbnkoYmxraWRfcHJvYmUgcHIpCit7CisJcmV0dXJuIChwci0+ZmxhZ3MgJiBCTEtJRF9GTF9USU5ZX0RFVik7Cit9CisKKy8qCisgKiBDRFJPTXMgbWF5IGZhaWwgd2hlbiBwcm9iZWQgZm9yIFJBSUQgKGxhc3Qgc2VjdG9yIHByb2JsZW0pCisgKi8KK2ludCBibGtpZF9wcm9iZV9pc19jZHJvbShibGtpZF9wcm9iZSBwcikKK3sKKwlyZXR1cm4gKHByLT5mbGFncyAmIEJMS0lEX0ZMX0NEUk9NX0RFVik7Cit9CisKKyNpZmRlZiBDRFJPTV9HRVRfQ0FQQUJJTElUWQorCitzdGF0aWMgaW50IGlzX3NlY3Rvcl9yZWFkYWJsZShpbnQgZmQsIHVpbnQ2NF90IHNlY3RvcikKK3sKKwljaGFyIGJ1Zls1MTJdOworCXNzaXplX3Qgc3o7CisKKwlpZiAoYmxraWRfbGxzZWVrKGZkLCBzZWN0b3IgKiA1MTIsIFNFRUtfU0VUKSA8IDApCisJCWdvdG8gZmFpbGVkOworCisJc3ogPSByZWFkKGZkLCBidWYsIHNpemVvZihidWYpKTsKKwlpZiAoc3ogIT0gKHNzaXplX3QpIHNpemVvZihidWYpKQorCQlnb3RvIGZhaWxlZDsKKworCXJldHVybiAxOworZmFpbGVkOgorCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIkNEUk9NOiByZWFkIHNlY3RvciAlIlBSSXU2NCIgZmFpbGVkICVtIiwgc2VjdG9yKSk7CisJZXJybm8gPSAwOworCXJldHVybiAwOworfQorCisvKgorICogTGludXgga2VybmVsIHJlcG9ydHMgKEJMS0dFVFNJWkUpIGNkcm9tIGRldmljZSBzaXplIGdyZWF0ZXIgdGhhbiBhcmVhCisgKiByZWFkYWJsZSBieSByZWFkKDIpLiBXZSBoYXZlIHRvIHJlZHVjZSB0aGUgcHJvYmluZyBhcmVhIHRvIGF2b2lkIHVud2FudGVkCisgKiBJL08gZXJyb3JzIGluIHByb2JpbmcgZnVuY3Rpb25zLiBJdCBzZWVtcyB0aGF0IHVucmVhZGFibGUgYXJlIGFsd2F5cyBsYXN0IDIKKyAqIG9yIDMgQ0QgYmxvY2tzIChDRCBibG9jayBzaXplIGlzIDIwNDggYnl0ZXMsIGl0IG1lYW5zIDEyIGluIDUxMi1ieXRlCisgKiBzZWN0b3JzKS4KKyAqLworc3RhdGljIHZvaWQgY2Ryb21fc2l6ZV9jb3JyZWN0aW9uKGJsa2lkX3Byb2JlIHByKQoreworCXVpbnQ2NF90IG4sIG5zZWN0b3JzID0gcHItPnNpemUgPj4gOTsKKworCWZvciAobiA9IG5zZWN0b3JzIC0gMTI7IG4gPCBuc2VjdG9yczsgbisrKSB7CisJCWlmICghaXNfc2VjdG9yX3JlYWRhYmxlKHByLT5mZCwgbikpCisJCQlnb3RvIGZhaWxlZDsKKwl9CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJDRFJPTTogZnVsbCBzaXplIGF2YWlsYWJsZSIpKTsKKwlyZXR1cm47CitmYWlsZWQ6CisJLyogJ24nIGlzIHRoZSBmYWlsZWQgc2VjdG9yLCByZWR1Y2UgZGV2aWNlIHNpemUgdG8gbi0xOyAqLworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIkNEUk9NOiByZWR1Y2Ugc2l6ZSBmcm9tICVqdSB0byAlanUuIiwKKwkJCQkodWludG1heF90KSBwci0+c2l6ZSwKKwkJCQkodWludG1heF90KSBuIDw8IDkpKTsKKwlwci0+c2l6ZSA9IG4gPDwgOTsKK30KKworI2VuZGlmCisKKy8qKgorICogYmxraWRfcHJvYmVfc2V0X2RldmljZToKKyAqIEBwcjogcHJvYmUKKyAqIEBmZDogZGV2aWNlIGZpbGUgZGVzY3JpcHRvcgorICogQG9mZjogYmVnaW4gb2YgcHJvYmluZyBhcmVhCisgKiBAc2l6ZTogc2l6ZSBvZiBwcm9iaW5nIGFyZWEgKHplcm8gbWVhbnMgd2hvbGUgZGV2aWNlL2ZpbGUpCisgKgorICogQXNzaWducyB0aGUgZGV2aWNlIHRvIHByb2JlIGNvbnRyb2wgc3RydWN0LCByZXNldHMgaW50ZXJuYWwgYnVmZmVycyBhbmQKKyAqIHJlc2V0cyB0aGUgY3VycmVudCBwcm9iaW5nLgorICoKKyAqIFJldHVybnM6IC0xIGluIGNhc2Ugb2YgZmFpbHVyZSwgb3IgMCBvbiBzdWNjZXNzLgorICovCitpbnQgYmxraWRfcHJvYmVfc2V0X2RldmljZShibGtpZF9wcm9iZSBwciwgaW50IGZkLAorCQlibGtpZF9sb2ZmX3Qgb2ZmLCBibGtpZF9sb2ZmX3Qgc2l6ZSkKK3sKKwlzdHJ1Y3Qgc3RhdCBzYjsKKwl1aW50NjRfdCBkZXZzaXogPSAwOworCisJYmxraWRfcmVzZXRfcHJvYmUocHIpOworCWJsa2lkX3Byb2JlX3Jlc2V0X2J1ZmZlcihwcik7CisKKwlpZiAoKHByLT5mbGFncyAmIEJMS0lEX0ZMX1BSSVZBVEVfRkQpICYmIHByLT5mZCA+PSAwKQorCQljbG9zZShwci0+ZmQpOworCisJcHItPmZsYWdzICY9IH5CTEtJRF9GTF9QUklWQVRFX0ZEOworCXByLT5mbGFncyAmPSB+QkxLSURfRkxfVElOWV9ERVY7CisJcHItPmZsYWdzICY9IH5CTEtJRF9GTF9DRFJPTV9ERVY7CisJcHItPnByb2JfZmxhZ3MgPSAwOworCXByLT5mZCA9IGZkOworCXByLT5vZmYgPSAodWludDY0X3QpIG9mZjsKKwlwci0+c2l6ZSA9IDA7CisJcHItPmRldm5vID0gMDsKKwlwci0+ZGlza19kZXZubyA9IDA7CisJcHItPm1vZGUgPSAwOworCXByLT5ibGtzc3ogPSAwOworCXByLT53aXBlX29mZiA9IDA7CisJcHItPndpcGVfc2l6ZSA9IDA7CisJcHItPndpcGVfY2hhaW4gPSBOVUxMOworCisjaWYgZGVmaW5lZChQT1NJWF9GQURWX1JBTkRPTSkgJiYgZGVmaW5lZChIQVZFX1BPU0lYX0ZBRFZJU0UpCisJLyogRGlzYWJsZSByZWFkLWFoZWFkICovCisJcG9zaXhfZmFkdmlzZShmZCwgMCwgMCwgUE9TSVhfRkFEVl9SQU5ET00pOworI2VuZGlmCisJaWYgKGZzdGF0KGZkLCAmc2IpKQorCQlnb3RvIGVycjsKKworCWlmICghU19JU0JMSyhzYi5zdF9tb2RlKSAmJiAhU19JU0NIUihzYi5zdF9tb2RlKSAmJiAhU19JU1JFRyhzYi5zdF9tb2RlKSkgeworCQllcnJubyA9IEVJTlZBTDsKKwkJZ290byBlcnI7CisJfQorCisJcHItPm1vZGUgPSBzYi5zdF9tb2RlOworCWlmIChTX0lTQkxLKHNiLnN0X21vZGUpIHx8IFNfSVNDSFIoc2Iuc3RfbW9kZSkpCisJCXByLT5kZXZubyA9IHNiLnN0X3JkZXY7CisKKwlpZiAoU19JU0JMSyhzYi5zdF9tb2RlKSkgeworCQlpZiAoYmxrZGV2X2dldF9zaXplKGZkLCAodW5zaWduZWQgbG9uZyBsb25nICopICZkZXZzaXopKSB7CisJCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJmYWlsZWQgdG8gZ2V0IGRldmljZSBzaXplIikpOworCQkJZ290byBlcnI7CisJCX0KKwl9IGVsc2UgaWYgKFNfSVNDSFIoc2Iuc3RfbW9kZSkpCisJCWRldnNpeiA9IDE7CQkvKiBVQkkgZGV2aWNlcyBhcmUgY2hhci4uLiAqLworCWVsc2UgaWYgKFNfSVNSRUcoc2Iuc3RfbW9kZSkpCisJCWRldnNpeiA9IHNiLnN0X3NpemU7CS8qIHJlZ3VsYXIgZmlsZSAqLworCisJcHItPnNpemUgPSBzaXplID8gKHVpbnQ2NF90KXNpemUgOiBkZXZzaXo7CisKKwlpZiAob2ZmICYmIHNpemUgPT0gMCkKKwkJLyogb25seSBvZmZzZXQgd2l0aG91dCBzaXplIHNwZWNpZmllZCAqLworCQlwci0+c2l6ZSAtPSAodWludDY0X3QpIG9mZjsKKworCWlmIChwci0+b2ZmICsgcHItPnNpemUgPiBkZXZzaXopIHsKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiYXJlYSBzcGVjaWZpZWQgYnkgb2Zmc2V0IGFuZCBzaXplIGlzIGJpZ2dlciB0aGFuIGRldmljZSIpKTsKKwkJZXJybm8gPSBFSU5WQUw7CisJCWdvdG8gZXJyOworCX0KKworCWlmIChwci0+c2l6ZSA8PSAxNDQwICogMTAyNCAmJiAhU19JU0NIUihzYi5zdF9tb2RlKSkKKwkJcHItPmZsYWdzIHw9IEJMS0lEX0ZMX1RJTllfREVWOworCisJaWYgKFNfSVNCTEsoc2Iuc3RfbW9kZSkgJiYgc3lzZnNfZGV2bm9faXNfbHZtX3ByaXZhdGUoc2Iuc3RfcmRldikpIHsKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiaWdub3JlIHByaXZhdGUgTFZNIGRldmljZSIpKTsKKwkJcHItPmZsYWdzIHw9IEJMS0lEX0ZMX05PU0NBTl9ERVY7CisJfQorCisjaWZkZWYgQ0RST01fR0VUX0NBUEFCSUxJVFkKKwllbHNlIGlmIChTX0lTQkxLKHNiLnN0X21vZGUpICYmCisJICAgICFibGtpZF9wcm9iZV9pc190aW55KHByKSAmJgorCSAgICBibGtpZF9wcm9iZV9pc193aG9sZWRpc2socHIpICYmCisJICAgIGlvY3RsKGZkLCBDRFJPTV9HRVRfQ0FQQUJJTElUWSwgTlVMTCkgPj0gMCkgeworCisJCXByLT5mbGFncyB8PSBCTEtJRF9GTF9DRFJPTV9ERVY7CisJCWNkcm9tX3NpemVfY29ycmVjdGlvbihwcik7CisJfQorI2VuZGlmCisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJyZWFkeSBmb3IgbG93LXByb2JpbmcsIG9mZnNldD0lIlBSSXU2NCIsIHNpemU9JSJQUkl1NjQiIiwKKwkJCQlwci0+b2ZmLCBwci0+c2l6ZSkpOworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIndob2xlLWRpc2s6ICVzLCByZWdmaWxlOiAlcyIsCisJCWJsa2lkX3Byb2JlX2lzX3dob2xlZGlzayhwcikgPyJZRVMiIDogIk5PIiwKKwkJU19JU1JFRyhwci0+bW9kZSkgPyAiWUVTIiA6ICJOTyIpKTsKKworCXJldHVybiAwOworZXJyOgorCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoImZhaWxlZCB0byBwcmVwYXJlIGEgZGV2aWNlIGZvciBsb3ctcHJvYmluZyIpKTsKKwlyZXR1cm4gLTE7CisKK30KKworaW50IGJsa2lkX3Byb2JlX2dldF9kaW1lbnNpb24oYmxraWRfcHJvYmUgcHIsIHVpbnQ2NF90ICpvZmYsIHVpbnQ2NF90ICpzaXplKQoreworCSpvZmYgPSBwci0+b2ZmOworCSpzaXplID0gcHItPnNpemU7CisJcmV0dXJuIDA7Cit9CisKK2ludCBibGtpZF9wcm9iZV9zZXRfZGltZW5zaW9uKGJsa2lkX3Byb2JlIHByLCB1aW50NjRfdCBvZmYsIHVpbnQ2NF90IHNpemUpCit7CisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygKKwkJImNoYW5naW5nIHByb2JpbmcgYXJlYSBwcj0lcDogc2l6ZT0lIlBSSXU2NCIsIG9mZj0lIlBSSXU2NCIgIgorCQkiLXRvLT4gc2l6ZT0lIlBSSXU2NCIsIG9mZj0lIlBSSXU2NCIiLAorCQlwciwgcHItPnNpemUsIHByLT5vZmYsIHNpemUsIG9mZikpOworCisJcHItPm9mZiA9IG9mZjsKKwlwci0+c2l6ZSA9IHNpemU7CisJcHItPmZsYWdzICY9IH5CTEtJRF9GTF9USU5ZX0RFVjsKKworCWlmIChwci0+c2l6ZSA8PSAxNDQwVUxMICogMTAyNFVMTCAmJiAhU19JU0NIUihwci0+bW9kZSkpCisJCXByLT5mbGFncyB8PSBCTEtJRF9GTF9USU5ZX0RFVjsKKworCWJsa2lkX3Byb2JlX3Jlc2V0X2J1ZmZlcihwcik7CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIENoZWNrIGZvciBtYXRjaGluZyBtYWdpYyB2YWx1ZS4KKyAqIFJldHVybnMgQkxLSURfUFJPQkVfT0sgaWYgZm91bmQsIEJMS0lEX1BST0JFX05PTkUgaWYgbm90IGZvdW5kCisgKiBvciBubyBtYWdpYyBwcmVzZW50LCBvciBuZWdhdGl2ZSB2YWx1ZSBvbiBlcnJvci4KKyAqLworaW50IGJsa2lkX3Byb2JlX2dldF9pZG1hZyhibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyAqaWQsCisJCQl1aW50NjRfdCAqb2Zmc2V0LCBjb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKipyZXMpCit7CisJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgPSBOVUxMOworCXVpbnQ2NF90IG9mZiA9IDA7CisKKwlpZiAoaWQpCisJCW1hZyA9ICZpZC0+bWFnaWNzWzBdOworCWlmIChyZXMpCisJCSpyZXMgPSBOVUxMOworCisJLyogdHJ5IHRvIGRldGVjdCBieSBtYWdpYyBzdHJpbmcgKi8KKwl3aGlsZShtYWcgJiYgbWFnLT5tYWdpYykgeworCQl1bnNpZ25lZCBjaGFyICpidWY7CisKKwkJb2ZmID0gKG1hZy0+a2JvZmYgKyAobWFnLT5zYm9mZiA+PiAxMCkpIDw8IDEwOworCQlidWYgPSBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLCBvZmYsIDEwMjQpOworCisJCWlmICghYnVmICYmIGVycm5vKQorCQkJcmV0dXJuIC1lcnJubzsKKworCQlpZiAoYnVmICYmICFtZW1jbXAobWFnLT5tYWdpYywKKwkJCQlidWYgKyAobWFnLT5zYm9mZiAmIDB4M2ZmKSwgbWFnLT5sZW4pKSB7CisKKwkJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIlx0bWFnaWMgc2JvZmY9JXUsIGtib2ZmPSVsZCIsCisJCQkJbWFnLT5zYm9mZiwgbWFnLT5rYm9mZikpOworCQkJaWYgKG9mZnNldCkKKwkJCQkqb2Zmc2V0ID0gb2ZmICsgKG1hZy0+c2JvZmYgJiAweDNmZik7CisJCQlpZiAocmVzKQorCQkJCSpyZXMgPSBtYWc7CisJCQlyZXR1cm4gQkxLSURfUFJPQkVfT0s7CisJCX0KKwkJbWFnKys7CisJfQorCisJaWYgKGlkICYmIGlkLT5tYWdpY3NbMF0ubWFnaWMpCisJCS8qIG1hZ2ljIHN0cmluZyhzKSBkZWZpbmVkLCBidXQgbm90IGZvdW5kICovCisJCXJldHVybiBCTEtJRF9QUk9CRV9OT05FOworCisJcmV0dXJuIEJMS0lEX1BST0JFX09LOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgYmxraWRfcHJvYmVfc3RhcnQoYmxraWRfcHJvYmUgcHIpCit7CisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiJXA6IHN0YXJ0IHByb2JlIiwgcHIpKTsKKwlwci0+Y3VyX2NoYWluID0gTlVMTDsKKwlwci0+cHJvYl9mbGFncyA9IDA7CisJYmxraWRfcHJvYmVfc2V0X3dpcGVyKHByLCAwLCAwKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGJsa2lkX3Byb2JlX2VuZChibGtpZF9wcm9iZSBwcikKK3sKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCIlcDogZW5kIHByb2JlIiwgcHIpKTsKKwlwci0+Y3VyX2NoYWluID0gTlVMTDsKKwlwci0+cHJvYl9mbGFncyA9IDA7CisJYmxraWRfcHJvYmVfc2V0X3dpcGVyKHByLCAwLCAwKTsKK30KKworLyoqCisgKiBibGtpZF9kb19wcm9iZToKKyAqIEBwcjogcHJvYmVyCisgKgorICogQ2FsbHMgcHJvYmluZyBmdW5jdGlvbnMgaW4gYWxsIGVuYWJsZWQgY2hhaW5zLiBUaGUgc3VwZXJibG9ja3MgY2hhaW4gaXMKKyAqIGVuYWJsZWQgYnkgZGVmYXVsdC4gVGhlIGJsa2lkX2RvX3Byb2JlKCkgc3RvcmVzIHJlc3VsdCBmcm9tIG9ubHkgb25lCisgKiBwcm9iaW5nIGZ1bmN0aW9uLiBJdCdzIG5lY2Vzc2FyeSB0byBjYWxsIHRoaXMgcm91dGluZSBpbiBhIGxvb3AgdG8gZ2V0CisgKiByZXN1bHRzIGZyb20gYWxsIHByb2JpbmcgZnVuY3Rpb25zIGluIGFsbCBjaGFpbnMuIFRoZSBwcm9iaW5nIGlzIHJlc2V0CisgKiBieSBibGtpZF9yZXNldF9wcm9iZSgpIG9yIGJ5IGZpbHRlciBmdW5jdGlvbnMuCisgKgorICogVGhpcyBpcyBzdHJpbmctYmFzZWQgTkFNRT12YWx1ZSBpbnRlcmZhY2Ugb25seS4KKyAqCisgKiA8ZXhhbXBsZT4KKyAqICAgPHRpdGxlPmJhc2ljIGNhc2UgLSB1c2UgdGhlIGZpcnN0IHJlc3VsdCBvbmx5PC90aXRsZT4KKyAqICAgPHByb2dyYW1saXN0aW5nPgorICoJaWYgKGJsa2lkX2RvX3Byb2JlKHByKSA9PSAwKSB7CisgKgkJaW50IG52YWxzID0gYmxraWRfcHJvYmVfbnVtb2ZfdmFsdWVzKHByKTsKKyAqCQlmb3IgKG4gPSAwOyBuIDwgbnZhbHM7IG4rKykgeworICoJCQlpZiAoYmxraWRfcHJvYmVfZ2V0X3ZhbHVlKHByLCBuLCAmbmFtZSwgJmRhdGEsICZsZW4pID09IDApCisgKgkJCQlwcmludGYoIiVzID0gJXNcbiIsIG5hbWUsIGRhdGEpOworICoJCX0KKyAqCX0KKyAqICA8L3Byb2dyYW1saXN0aW5nPgorICogPC9leGFtcGxlPgorICoKKyAqIDxleGFtcGxlPgorICogICA8dGl0bGU+YWR2YW5jZWQgY2FzZSAtIHByb2JlIGZvciBhbGwgc2lnbmF0dXJlczwvdGl0bGU+CisgKiAgIDxwcm9ncmFtbGlzdGluZz4KKyAqCXdoaWxlIChibGtpZF9kb19wcm9iZShwcikgPT0gMCkgeworICoJCWludCBudmFscyA9IGJsa2lkX3Byb2JlX251bW9mX3ZhbHVlcyhwcik7CisgKgkJLi4uCisgKgl9CisgKiAgPC9wcm9ncmFtbGlzdGluZz4KKyAqIDwvZXhhbXBsZT4KKyAqCisgKiBTZWUgYWxzbyBibGtpZF9yZXNldF9wcm9iZSgpLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgMSB3aGVuIHByb2JpbmcgaXMgZG9uZSBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IGJsa2lkX2RvX3Byb2JlKGJsa2lkX3Byb2JlIHByKQoreworCWludCByYyA9IDE7CisKKwlpZiAocHItPmZsYWdzICYgQkxLSURfRkxfTk9TQ0FOX0RFVikKKwkJcmV0dXJuIDE7CisKKwlkbyB7CisJCXN0cnVjdCBibGtpZF9jaGFpbiAqY2huID0gcHItPmN1cl9jaGFpbjsKKworCQlpZiAoIWNobikgeworCQkJYmxraWRfcHJvYmVfc3RhcnQocHIpOworCQkJY2huID0gcHItPmN1cl9jaGFpbiA9ICZwci0+Y2hhaW5zWzBdOworCQl9CisJCS8qIHdlIGdvIHRvIHRoZSBuZXh0IGNoYWluIG9ubHkgd2hlbiB0aGUgcHJldmlvdXMgcHJvYmluZworCQkgKiByZXN1bHQgd2FzIG5vdGhpbmcgKHJjID09IDEpIGFuZCB3aGVuIHRoZSBjdXJyZW50IGNoYWluIGlzCisJCSAqIGRpc2FibGVkIG9yIHdlIGFyZSBhdCBlbmQgb2YgdGhlIGN1cnJlbnQgY2hhaW4gKGNoYWluLT5pZHggKworCQkgKiAxID09IHNpemVvZiBjaGFpbikgb3IgdGhlIGN1cnJlbnQgY2hhaW4gYmFpbGVkIG91dCByaWdodCBhdAorCQkgKiB0aGUgc3RhcnQgKGNoYWluLT5pZHggPT0gLTEpCisJCSAqLworCQllbHNlIGlmIChyYyA9PSAxICYmIChjaG4tPmVuYWJsZWQgPT0gRkFMU0UgfHwKKwkJCQkgICAgIGNobi0+aWR4ICsgMSA9PSAoaW50KSBjaG4tPmRyaXZlci0+bmlkaW5mb3MgfHwKKwkJCQkgICAgIGNobi0+aWR4ID09IC0xKSkgeworCisJCQlzaXplX3QgaWR4ID0gY2huLT5kcml2ZXItPmlkICsgMTsKKworCQkJaWYgKGlkeCA8IEJMS0lEX05DSEFJTlMpCisJCQkJY2huID0gcHItPmN1cl9jaGFpbiA9ICZwci0+Y2hhaW5zW2lkeF07CisJCQllbHNlIHsKKwkJCQlibGtpZF9wcm9iZV9lbmQocHIpOworCQkJCXJldHVybiAxOwkvKiBhbGwgY2hhaW5zIGFscmVhZHkgcHJvYmVkICovCisJCQl9CisJCX0KKworCQljaG4tPmJpbmFyeSA9IEZBTFNFOwkJLyogZm9yIHN1cmUuLi4gKi8KKworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJjaGFpbiBwcm9iZSAlcyAlcyAoaWR4PSVkKSIsCisJCQkJY2huLT5kcml2ZXItPm5hbWUsCisJCQkJY2huLT5lbmFibGVkPyAiRU5BQkxFRCIgOiAiRElTQUJMRUQiLAorCQkJCWNobi0+aWR4KSk7CisKKwkJaWYgKCFjaG4tPmVuYWJsZWQpCisJCQljb250aW51ZTsKKworCQkvKiByYzogLTEgPSBlcnJvciwgMCA9IHN1Y2Nlc3MsIDEgPSBubyByZXN1bHQgKi8KKwkJcmMgPSBjaG4tPmRyaXZlci0+cHJvYmUocHIsIGNobik7CisKKwl9IHdoaWxlIChyYyA9PSAxKTsKKworCXJldHVybiByYzsKK30KKworLyoqCisgKiBibGtpZF9kb193aXBlOgorICogQHByOiBwcm9iZXIKKyAqIEBkcnlydW46IGlmIFRSVUUgdGhlbiBkb24ndCB0b3VjaCB0aGUgZGV2aWNlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZXJhc2VzIHRoZSBjdXJyZW50IHNpZ25hdHVyZSBkZXRlY3RlZCBieSBAcHIuIFRoZSBAcHIgaGFzIHRvCisgKiBiZSBvcGVuIGluIE9fUkRXUiBtb2RlLCBCTEtJRF9TVUJMS1NfTUFHSUMgb3IvYW5kIEJMS0lEX1BBUlRTX01BR0lDIGZsYWdzCisgKiBoYXMgdG8gYmUgZW5hYmxlZCAoaWYgeW91IHdhbnQgdG8gZXJhc2UgYWxzbyBzdXBlcmJsb2NrIHdpdGggYnJva2VuIGNoZWNrCisgKiBzdW1zIHRoZW4gdXNlIEJMS0lEX1NVQkxLU19CQURDU1VNIHRvbykuCisgKgorICogQWZ0ZXIgc3VjY2Vzc2Z1bCBzaWduYXR1cmUgcmVtb3ZpbmcgdGhlIEBwciBwcm9iZXIgd2lsbCBiZSBtb3ZlZCBvbmUgc3RlcAorICogYmFjayBhbmQgdGhlIG5leHQgYmxraWRfZG9fcHJvYmUoKSBjYWxsIHdpbGwgYWdhaW4gY2FsbCBwcmV2aW91c2x5IGNhbGxlZAorICogcHJvYmluZyBmdW5jdGlvbi4KKyAqCisgKiAgPGV4YW1wbGU+CisgKiAgPHRpdGxlPndpcGUgYWxsIGZpbGVzeXN0ZW1zIG9yIHJhaWRzIGZyb20gdGhlIGRldmljZTwvdGl0bGU+CisgKiAgIDxwcm9ncmFtbGlzdGluZz4KKyAqICAgICAgZmQgPSBvcGVuKGRldm5hbWUsIE9fUkRXUnxPX0NMT0VYRUMpOworICogICAgICBibGtpZF9wcm9iZV9zZXRfZGV2aWNlKHByLCBmZCwgMCwgMCk7CisgKgorICogICAgICBibGtpZF9wcm9iZV9lbmFibGVfc3VwZXJibG9ja3MocHIsIDEpOworICogICAgICBibGtpZF9wcm9iZV9zZXRfc3VwZXJibG9ja3NfZmxhZ3MocHIsIEJMS0lEX1NVQkxLU19NQUdJQyk7CisgKgorICoJd2hpbGUgKGJsa2lkX2RvX3Byb2JlKHByKSA9PSAwKQorICoJCWJsa2lkX2RvX3dpcGUocHIsIEZBTFNFKTsKKyAqICA8L3Byb2dyYW1saXN0aW5nPgorICogPC9leGFtcGxlPgorICoKKyAqIFNlZSBhbHNvIGJsa2lkX3Byb2JlX3N0ZXBfYmFjaygpIGlmIHlvdSBjYW5ub3QgdXNlIHRoaXMgYnVpbGQtaW4gd2lwZQorICogZnVuY3Rpb24sIGJ1dCB5b3Ugd2FudCB0byB1c2UgbGliYmxraWQgcHJvYmluZyBhcyBhIHNvdXJjZSBmb3Igd2lwaW5nLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBibGtpZF9kb193aXBlKGJsa2lkX3Byb2JlIHByLCBpbnQgZHJ5cnVuKQoreworCWNvbnN0IGNoYXIgKm9mZiA9IE5VTEw7CisJc2l6ZV90IGxlbiA9IDA7CisJdWludDY0X3Qgb2Zmc2V0LCBsOworCWNoYXIgYnVmW0JVRlNJWl07CisJaW50IGZkLCByYyA9IDA7CisJc3RydWN0IGJsa2lkX2NoYWluICpjaG47CisKKwljaG4gPSBwci0+Y3VyX2NoYWluOworCWlmICghY2huKQorCQlyZXR1cm4gLTE7CisKKwlzd2l0Y2ggKGNobi0+ZHJpdmVyLT5pZCkgeworCWNhc2UgQkxLSURfQ0hBSU5fU1VCTEtTOgorCQlyYyA9IGJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIlNCTUFHSUNfT0ZGU0VUIiwgJm9mZiwgTlVMTCk7CisJCWlmICghcmMpCisJCQlyYyA9IGJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIlNCTUFHSUMiLCBOVUxMLCAmbGVuKTsKKwkJYnJlYWs7CisJY2FzZSBCTEtJRF9DSEFJTl9QQVJUUzoKKwkJcmMgPSBibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJQVE1BR0lDX09GRlNFVCIsICZvZmYsIE5VTEwpOworCQlpZiAoIXJjKQorCQkJcmMgPSBibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJQVE1BR0lDIiwgTlVMTCwgJmxlbik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAwOworCX0KKworCWlmIChyYyB8fCBsZW4gPT0gMCB8fCBvZmYgPT0gTlVMTCkKKwkJcmV0dXJuIDA7CisKKwlvZmZzZXQgPSBzdHJ0b3VtYXgob2ZmLCBOVUxMLCAxMCkgKyBwci0+b2ZmOworCWZkID0gYmxraWRfcHJvYmVfZ2V0X2ZkKHByKTsKKwlpZiAoZmQgPCAwKQorCQlyZXR1cm4gLTE7CisKKwlpZiAobGVuID4gc2l6ZW9mKGJ1ZikpCisJCWxlbiA9IHNpemVvZihidWYpOworCisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygKKwkgICAgImRvX3dpcGUgW29mZnNldD0weCUiUFJJeDY0IiAoJSJQUkl1NjQiKSwgbGVuPSV6dSwgY2hhaW49JXMsIGlkeD0lZCwgZHJ5cnVuPSVzXVxuIiwKKwkgICAgb2Zmc2V0LCBvZmZzZXQsIGxlbiwgY2huLT5kcml2ZXItPm5hbWUsIGNobi0+aWR4LCBkcnlydW4gPyAieWVzIiA6ICJub3QiKSk7CisKKwlsID0gYmxraWRfbGxzZWVrKGZkLCBvZmZzZXQsIFNFRUtfU0VUKTsKKwlpZiAoKGJsa2lkX2xvZmZfdClsID09IChvZmZfdCkgLTEpCisJCXJldHVybiAtMTsKKworCW1lbXNldChidWYsIDAsIGxlbik7CisKKwlpZiAoIWRyeXJ1biAmJiBsZW4pIHsKKwkJaWYgKHdyaXRlX2FsbChmZCwgYnVmLCBsZW4pKQorCQkJcmV0dXJuIC0xOworCQlmc3luYyhmZCk7CisJCXJldHVybiBibGtpZF9wcm9iZV9zdGVwX2JhY2socHIpOworCX0KKworCXJldHVybiAwOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX3N0ZXBfYmFjazoKKyAqIEBwcjogcHJvYmVyCisgKgorICogVGhpcyBmdW5jdGlvbiBtb3ZlIHBvaW50ZXIgdG8gdGhlIHByb2JpbmcgY2hhaW4gb25lIHN0ZXAgYmFjayAtLSBpdCBtZWFucworICogdGhhdCB0aGUgcHJldmlvdXNseSB1c2VkIHByb2JpbmcgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgYWdhaW4gaW4gdGhlIG5leHQKKyAqIGJsa2lkX2RvX3Byb2JlKCkgY2FsbC4KKyAqCisgKiBUaGlzIGlzIG5lY2Vzc2FyeSBmb3IgZXhhbXBsZSBpZiB5b3UgZXJhc2Ugb3IgbW9kaWZ5IG9uLWRpc2sgc3VwZXJibG9jaworICogYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IGxpYmJsa2lkIHByb2JpbmcgcmVzdWx0LgorICoKKyAqIDxleGFtcGxlPgorICogIDx0aXRsZT53aXBlIGFsbCBzdXBlcmJsb2NrLCBidXQgdXNlIGxpYmJsa2lkIG9ubHkgZm9yIHByb2Jpbmc8L3RpdGxlPgorICogIDxwcm9ncmFtbGlzdGluZz4KKyAqICAgICAgcHIgPSBibGtpZF9uZXdfcHJvYmVfZnJvbV9maWxlbmFtZShkZXZuYW1lKTsKKyAqCisgKiAgICAgIGJsa2lkX3Byb2JlX2VuYWJsZV9zdXBlcmJsb2NrcyhwciwgMSk7CisgKiAgICAgIGJsa2lkX3Byb2JlX3NldF9zdXBlcmJsb2Nrc19mbGFncyhwciwgQkxLSURfU1VCTEtTX01BR0lDKTsKKyAqCisgKiAgICAgIGJsa2lkX3Byb2JlX2VuYWJsZV9wYXJ0aXRpb25zKHByLCAxKTsKKyAqICAgICAgYmxraWRfcHJvYmVfc2V0X3BhcnRpdGlvbnNfZmxhZ3MocHIsIEJMS0lEX1BBUlRTX01BR0lDKTsKKyAqCisgKgl3aGlsZSAoYmxraWRfZG9fcHJvYmUocHIpID09IDApIHsKKyAqCQljb25zdCBjaGFyICpvc3RyID0gTlVMTDsKKyAqCQlzaXplX3QgbGVuID0gMDsKKyAqCisgKgkJLy8gc3VwZXJibG9ja3MKKyAqCQlpZiAoYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlKHByLCAiU0JNQUdJQ19PRkZTRVQiLCAmb3N0ciwgTlVMTCkgPT0gMCkKKyAqCQkJYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlKHByLCAiU0JNQUdJQyIsIE5VTEwsICZsZW4pOworICoKKyAqCQkvLyBwYXJ0aXRpb24gdGFibGVzCisgKgkJaWYgKGxlbiA9PSAwICYmIGJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIlBUTUFHSUNfT0ZGU0VUIiwgJm9zdHIsIE5VTEwpID09IDApCisgKgkJCWJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIlBUTUFHSUMiLCBOVUxMLCAmbGVuKTsKKyAqCisgKgkJaWYgKCFsZW4gfHwgIXN0cikKKyAqCQkJY29udGludWU7CisgKgorICoJCS8vIGNvbnZlcnQgb3N0ciB0byB0aGUgcmVhbCBvZmZzZXQgYnkgb2ZmID0gc3RydG9sbChvc3RyLCBOVUxMLCAxMCk7CisgKiAgICAgICAgICAgICAgLy8gdXNlIHlvdXIgc3R1ZmYgdG8gZXJhc2UgQGxlbiBieXRlcyBhdCB0aGUgQG9mZgorICogICAgICAgICAgICAgIC4uLi4KKyAqCisgKgkJLy8gcmV0cnkgdGhlIGxhc3QgcHJvYmluZyB0byBjaGVjayBmb3IgYmFja3VwIHN1cGVyYmxvY2tzIC4uZXRjLgorICogICAgICAgICAgICAgIGJsa2lkX3Byb2JlX3N0ZXBfYmFjayhwcik7CisgKgl9CisgKiAgPC9wcm9ncmFtbGlzdGluZz4KKyAqIDwvZXhhbXBsZT4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgYmxraWRfcHJvYmVfc3RlcF9iYWNrKGJsa2lkX3Byb2JlIHByKQoreworCXN0cnVjdCBibGtpZF9jaGFpbiAqY2huOworCisJY2huID0gcHItPmN1cl9jaGFpbjsKKwlpZiAoIWNobikKKwkJcmV0dXJuIC0xOworCisJYmxraWRfcHJvYmVfcmVzZXRfYnVmZmVyKHByKTsKKworCWlmIChjaG4tPmlkeCA+PSAwKSB7CisJCWNobi0+aWR4LS07CisJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoInN0ZXAgYmFjazogbW92aW5nICVzIGNoYWluIGluZGV4IHRvICVkIiwKKwkJCWNobi0+ZHJpdmVyLT5uYW1lLAorCQkJY2huLT5pZHgpKTsKKwl9CisKKwlpZiAoY2huLT5pZHggPT0gLTEpIHsKKwkJLyogYmxraWRfZG9fcHJvYmUoKSBnb2VzIHRvIHRoZSBuZXh0IGNoYWluIGlmIHRoZSBpbmRleAorCQkgKiBvZiB0aGUgY3VycmVudCBjaGFpbiBpcyAtMSwgc28gd2UgaGF2ZSB0byBzZXQgdGhlCisJCSAqIGNoYWluIHBvaW50ZXIgdG8gdGhlIHByZXZpb3VzIGNoYWluLgorCQkgKi8KKwkJc2l6ZV90IGlkeCA9IGNobi0+ZHJpdmVyLT5pZCA+IDAgPyBjaG4tPmRyaXZlci0+aWQgLSAxIDogMDsKKworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJzdGVwIGJhY2s6IG1vdmluZyB0byBwcmV2aW91cyBjaGFpbiIpKTsKKworCQlpZiAoaWR4ID4gMCkKKwkJCXByLT5jdXJfY2hhaW4gPSAmcHItPmNoYWluc1tpZHhdOworCQllbHNlIGlmIChpZHggPT0gMCkKKwkJCXByLT5jdXJfY2hhaW4gPSBOVUxMOworCX0KKworCXJldHVybiAwOworfQorCisvKioKKyAqIGJsa2lkX2RvX3NhZmVwcm9iZToKKyAqIEBwcjogcHJvYmVyCisgKgorICogVGhpcyBmdW5jdGlvbiBnYXRoZXJzIHByb2JpbmcgcmVzdWx0cyBmcm9tIGFsbCBlbmFibGVkIGNoYWlucyBhbmQgY2hlY2tzCisgKiBmb3IgYW1iaXZhbGVudCByZXN1bHRzIChlLmcuIG1vcmUgZmlsZXN5c3RlbXMgb24gdGhlIGRldmljZSkuCisgKgorICogVGhpcyBpcyBzdHJpbmctYmFzZWQgTkFNRT12YWx1ZSBpbnRlcmZhY2Ugb25seS4KKyAqCisgKiBOb3RlIGFib3V0IHN1cGVyYmxvY2tzIGNoYWluIC0tIHRoZSBmdW5jdGlvbiBkb2VzIG5vdCBjaGVjayBmb3IgZmlsZXN5c3RlbXMKKyAqIHdoZW4gYSBSQUlEIHNpZ25hdHVyZSBpcyBkZXRlY3RlZC4gIFRoZSBmdW5jdGlvbiBhbHNvIGRvZXMgbm90IGNoZWNrIGZvcgorICogY29sbGlzaW9uIGJldHdlZW4gUkFJRHMuIFRoZSBmaXJzdCBkZXRlY3RlZCBSQUlEIGlzIHJldHVybmVkLiBUaGUgZnVuY3Rpb24KKyAqIGNoZWNrcyBmb3IgY29sbGlzaW9uIGJldHdlZW4gcGFydGl0aW9uIHRhYmxlIGFuZCBSQUlEIHNpZ25hdHVyZSAtLSBpdCdzCisgKiByZWNvbW1lbmRlZCB0byBlbmFibGUgcGFydGl0aW9ucyBjaGFpbiB0b2dldGhlciB3aXRoIHN1cGVyYmxvY2tzIGNoYWluLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgMSBpZiBub3RoaW5nIGlzIGRldGVjdGVkLCAtMiBpZiBhbWJpdmFsZW50IHJlc3VsdCBpcworICogZGV0ZWN0ZWQgYW5kIC0xIG9uIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBibGtpZF9kb19zYWZlcHJvYmUoYmxraWRfcHJvYmUgcHIpCit7CisJaW50IGksIGNvdW50ID0gMCwgcmMgPSAwOworCisJaWYgKHByLT5mbGFncyAmIEJMS0lEX0ZMX05PU0NBTl9ERVYpCisJCXJldHVybiAxOworCisJYmxraWRfcHJvYmVfc3RhcnQocHIpOworCisJZm9yIChpID0gMDsgaSA8IEJMS0lEX05DSEFJTlM7IGkrKykgeworCQlzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobjsKKworCQljaG4gPSBwci0+Y3VyX2NoYWluID0gJnByLT5jaGFpbnNbaV07CisJCWNobi0+YmluYXJ5ID0gRkFMU0U7CQkvKiBmb3Igc3VyZS4uLiAqLworCisJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoImNoYWluIHNhZmVwcm9iZSAlcyAlcyIsCisJCQkJY2huLT5kcml2ZXItPm5hbWUsCisJCQkJY2huLT5lbmFibGVkPyAiRU5BQkxFRCIgOiAiRElTQUJMRUQiKSk7CisKKwkJaWYgKCFjaG4tPmVuYWJsZWQpCisJCQljb250aW51ZTsKKworCQlibGtpZF9wcm9iZV9jaGFpbl9yZXNldF9wb3NpdGlvbihjaG4pOworCisJCXJjID0gY2huLT5kcml2ZXItPnNhZmVwcm9iZShwciwgY2huKTsKKworCQlibGtpZF9wcm9iZV9jaGFpbl9yZXNldF9wb3NpdGlvbihjaG4pOworCisJCS8qIHJjOiAtMiBhbWJpdmFsZW50LCAtMSA9IGVycm9yLCAwID0gc3VjY2VzcywgMSA9IG5vIHJlc3VsdCAqLworCQlpZiAocmMgPCAwKQorCQkJZ290byBkb25lOwkvKiBlcnJvciAqLworCQlpZiAocmMgPT0gMCkKKwkJCWNvdW50Kys7CS8qIHN1Y2Nlc3MgKi8KKwl9CisKK2RvbmU6CisJYmxraWRfcHJvYmVfZW5kKHByKTsKKwlpZiAocmMgPCAwKQorCQlyZXR1cm4gcmM7CisJcmV0dXJuIGNvdW50ID8gMCA6IDE7Cit9CisKKy8qKgorICogYmxraWRfZG9fZnVsbHByb2JlOgorICogQHByOiBwcm9iZXIKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGdhdGhlcnMgcHJvYmluZyByZXN1bHRzIGZyb20gYWxsIGVuYWJsZWQgY2hhaW5zLiBTYW1lIGFzCisgKiBibGtpZF9kb19zYWZlcHJvYmUoKSBidXQgZG9lcyBub3QgY2hlY2sgZm9yIGNvbGxpc2lvbiBiZXR3ZWVuIHByb2JpbmcKKyAqIHJlc3VsdC4KKyAqCisgKiBUaGlzIGlzIHN0cmluZy1iYXNlZCBOQU1FPXZhbHVlIGludGVyZmFjZSBvbmx5LgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgMSBpZiBub3RoaW5nIGlzIGRldGVjdGVkIG9yIC0xIG9uIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBibGtpZF9kb19mdWxscHJvYmUoYmxraWRfcHJvYmUgcHIpCit7CisJaW50IGksIGNvdW50ID0gMCwgcmMgPSAwOworCisJaWYgKHByLT5mbGFncyAmIEJMS0lEX0ZMX05PU0NBTl9ERVYpCisJCXJldHVybiAxOworCisJYmxraWRfcHJvYmVfc3RhcnQocHIpOworCisJZm9yIChpID0gMDsgaSA8IEJMS0lEX05DSEFJTlM7IGkrKykgeworCQlzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobjsKKworCQljaG4gPSBwci0+Y3VyX2NoYWluID0gJnByLT5jaGFpbnNbaV07CisJCWNobi0+YmluYXJ5ID0gRkFMU0U7CQkvKiBmb3Igc3VyZS4uLiAqLworCisJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoImNoYWluIGZ1bGxwcm9iZSAlczogJXMiLAorCQkJCWNobi0+ZHJpdmVyLT5uYW1lLAorCQkJCWNobi0+ZW5hYmxlZD8gIkVOQUJMRUQiIDogIkRJU0FCTEVEIikpOworCisJCWlmICghY2huLT5lbmFibGVkKQorCQkJY29udGludWU7CisKKwkJYmxraWRfcHJvYmVfY2hhaW5fcmVzZXRfcG9zaXRpb24oY2huKTsKKworCQlyYyA9IGNobi0+ZHJpdmVyLT5wcm9iZShwciwgY2huKTsKKworCQlibGtpZF9wcm9iZV9jaGFpbl9yZXNldF9wb3NpdGlvbihjaG4pOworCisJCS8qIHJjOiAtMSA9IGVycm9yLCAwID0gc3VjY2VzcywgMSA9IG5vIHJlc3VsdCAqLworCQlpZiAocmMgPCAwKQorCQkJZ290byBkb25lOwkvKiBlcnJvciAqLworCQlpZiAocmMgPT0gMCkKKwkJCWNvdW50Kys7CS8qIHN1Y2Nlc3MgKi8KKwl9CisKK2RvbmU6CisJYmxraWRfcHJvYmVfZW5kKHByKTsKKwlpZiAocmMgPCAwKQorCQlyZXR1cm4gcmM7CisJcmV0dXJuIGNvdW50ID8gMCA6IDE7Cit9CisKKy8qIHNhbWUgc2EgYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcigpIGJ1dCB3b3JrcyB3aXRoIDUxMi1zZWN0b3JzICovCit1bnNpZ25lZCBjaGFyICpibGtpZF9wcm9iZV9nZXRfc2VjdG9yKGJsa2lkX3Byb2JlIHByLCB1bnNpZ25lZCBpbnQgc2VjdG9yKQoreworCXJldHVybiBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLCAoKHVpbnQ2NF90KSBzZWN0b3IpIDw8IDksIDB4MjAwKTsKK30KKworc3RydWN0IGJsa2lkX3BydmFsICpibGtpZF9wcm9iZV9hc3NpZ25fdmFsdWUoYmxraWRfcHJvYmUgcHIsIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJc3RydWN0IGJsa2lkX3BydmFsICp2OworCisJdiA9IGJsa2lkX3Byb2JlX25ld192YWx1ZSgpOworCWlmICghdikKKwkJcmV0dXJuIE5VTEw7CisKKwl2LT5uYW1lID0gbmFtZTsKKwl2LT5jaGFpbiA9IHByLT5jdXJfY2hhaW47CisJbGlzdF9hZGRfdGFpbCgmdi0+cHJ2YWxzLCAmcHItPnZhbHVlcyk7CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJhc3NpZ25pbmcgJXMgWyVzXSIsIG5hbWUsIHYtPmNoYWluLT5kcml2ZXItPm5hbWUpKTsKKwlyZXR1cm4gdjsKK30KKworc3RhdGljIHN0cnVjdCBibGtpZF9wcnZhbCAqYmxraWRfcHJvYmVfbmV3X3ZhbHVlKHZvaWQpCit7CisJc3RydWN0IGJsa2lkX3BydmFsICp2ID0gY2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgYmxraWRfcHJ2YWwpKTsKKwlpZiAoIXYpCisJCXJldHVybiBOVUxMOworCisJSU5JVF9MSVNUX0hFQUQoJnYtPnBydmFscyk7CisKKwlyZXR1cm4gdjsKK30KKworLyogTm90ZSB0aGF0IHZhbHVlIGRhdGEgaXMgYWx3YXlzIHRlcm1pbmF0ZWQgYnkgemVybyB0byBrZWVwIHRoaW5ncyByb2J1c3QsCisgKiB0aGlzIGV4dHJhIHplcm8gaXMgbm90IGNvdW50IHRvIHRoZSB2YWx1ZSBsZW5ndGguIEl0J3MgY2FsbGVyIHJlc3BvbnNpYmlsaXR5CisgKiB0byBzZXQgcHJvcGVyIHZhbHVlIGxlbmd0aCAoZm9yIHN0cmluZ3Mgd2UgY291bnQgdGVybWluYXRvciB0byB0aGUgbGVuZ3RoLAorICogZm9yIGJpbmFyeSBkYXRhIGl0J3Mgd2l0aG91dCB0ZXJtaW5hdG9yKS4KKyAqLworaW50IGJsa2lkX3Byb2JlX3ZhbHVlX3NldF9kYXRhKHN0cnVjdCBibGtpZF9wcnZhbCAqdiwKKwkJdW5zaWduZWQgY2hhciAqZGF0YSwgc2l6ZV90IGxlbikKK3sKKwl2LT5kYXRhID0gY2FsbG9jKDEsIGxlbiArIDEpOwkvKiBhbHdheXMgdGVybWluYXRlIGJ5IFwwICovCisKKwlpZiAoIXYtPmRhdGEpCisJCXJldHVybiAtRU5PTUVNOworCW1lbWNweSh2LT5kYXRhLCBkYXRhLCBsZW4pOworCXYtPmxlbiA9IGxlbjsKKwlyZXR1cm4gMDsKK30KKworaW50IGJsa2lkX3Byb2JlX3NldF92YWx1ZShibGtpZF9wcm9iZSBwciwgY29uc3QgY2hhciAqbmFtZSwKKwkJdW5zaWduZWQgY2hhciAqZGF0YSwgc2l6ZV90IGxlbikKK3sKKwlzdHJ1Y3QgYmxraWRfcHJ2YWwgKnY7CisKKwl2ID0gYmxraWRfcHJvYmVfYXNzaWduX3ZhbHVlKHByLCBuYW1lKTsKKwlpZiAoIXYpCisJCXJldHVybiAtMTsKKworCXJldHVybiBibGtpZF9wcm9iZV92YWx1ZV9zZXRfZGF0YSh2LCBkYXRhLCBsZW4pOworfQorCitpbnQgYmxraWRfcHJvYmVfdnNwcmludGZfdmFsdWUoYmxraWRfcHJvYmUgcHIsIGNvbnN0IGNoYXIgKm5hbWUsCisJCWNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcCkKK3sKKwlzdHJ1Y3QgYmxraWRfcHJ2YWwgKnY7CisJc3NpemVfdCBsZW47CisKKwl2ID0gYmxraWRfcHJvYmVfYXNzaWduX3ZhbHVlKHByLCBuYW1lKTsKKwlpZiAoIXYpCisJCXJldHVybiAtRU5PTUVNOworCisJbGVuID0gdmFzcHJpbnRmKChjaGFyICoqKSAmdi0+ZGF0YSwgZm10LCBhcCk7CisKKwlpZiAobGVuIDw9IDApIHsKKwkJYmxraWRfcHJvYmVfZnJlZV92YWx1ZSh2KTsKKwkJcmV0dXJuIGxlbiA9PSAwID8gLUVJTlZBTCA6IC1FTk9NRU07CisJfQorCXYtPmxlbiA9IGxlbiArIDE7CisJcmV0dXJuIDA7Cit9CisKK2ludCBibGtpZF9wcm9iZV9zcHJpbnRmX3ZhbHVlKGJsa2lkX3Byb2JlIHByLCBjb25zdCBjaGFyICpuYW1lLAorCQljb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwlpbnQgcmM7CisJdmFfbGlzdCBhcDsKKworCXZhX3N0YXJ0KGFwLCBmbXQpOworCXJjID0gYmxraWRfcHJvYmVfdnNwcmludGZfdmFsdWUocHIsIG5hbWUsIGZtdCwgYXApOworCXZhX2VuZChhcCk7CisKKwlyZXR1cm4gcmM7Cit9CisKK2ludCBibGtpZF9wcm9iZV9zZXRfbWFnaWMoYmxraWRfcHJvYmUgcHIsIHVpbnQ2NF90IG9mZnNldCwKKwkJCXNpemVfdCBsZW4sIHVuc2lnbmVkIGNoYXIgKm1hZ2ljKQoreworCWludCByYyA9IDA7CisJc3RydWN0IGJsa2lkX2NoYWluICpjaG4gPSBibGtpZF9wcm9iZV9nZXRfY2hhaW4ocHIpOworCisJaWYgKCFjaG4gfHwgIWxlbiB8fCBjaG4tPmJpbmFyeSkKKwkJcmV0dXJuIDA7CisKKwlzd2l0Y2ggKGNobi0+ZHJpdmVyLT5pZCkgeworCWNhc2UgQkxLSURfQ0hBSU5fU1VCTEtTOgorCQlpZiAoIShjaG4tPmZsYWdzICYgQkxLSURfU1VCTEtTX01BR0lDKSkKKwkJCXJldHVybiAwOworCQlyYyA9IGJsa2lkX3Byb2JlX3NldF92YWx1ZShwciwgIlNCTUFHSUMiLCBtYWdpYywgbGVuKTsKKwkJaWYgKCFyYykKKwkJCXJjID0gYmxraWRfcHJvYmVfc3ByaW50Zl92YWx1ZShwciwKKwkJCQkJIlNCTUFHSUNfT0ZGU0VUIiwgIiVsbHUiLCAodW5zaWduZWQgbG9uZyBsb25nKW9mZnNldCk7CisJCWJyZWFrOworCWNhc2UgQkxLSURfQ0hBSU5fUEFSVFM6CisJCWlmICghKGNobi0+ZmxhZ3MgJiBCTEtJRF9QQVJUU19NQUdJQykpCisJCQlyZXR1cm4gMDsKKwkJcmMgPSBibGtpZF9wcm9iZV9zZXRfdmFsdWUocHIsICJQVE1BR0lDIiwgbWFnaWMsIGxlbik7CisJCWlmICghcmMpCisJCQlyYyA9IGJsa2lkX3Byb2JlX3NwcmludGZfdmFsdWUocHIsCisJCQkJCSJQVE1BR0lDX09GRlNFVCIsICIlbGx1IiwgKHVuc2lnbmVkIGxvbmcgbG9uZylvZmZzZXQpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlicmVhazsKKwl9CisKKwlyZXR1cm4gcmM7Cit9CisKK2ludCBibGtpZF9wcm9iZV92ZXJpZnlfY3N1bShibGtpZF9wcm9iZSBwciwgdWludDY0X3QgY3N1bSwgdWludDY0X3QgZXhwZWN0ZWQpCit7CisJaWYgKGNzdW0gIT0gZXhwZWN0ZWQpIHsKKwkJc3RydWN0IGJsa2lkX2NoYWluICpjaG4gPSBibGtpZF9wcm9iZV9nZXRfY2hhaW4ocHIpOworCisJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoCisJCQkJImluY29ycmVjdCBjaGVja3N1bSBmb3IgdHlwZSAlcywiCisJCQkJIiBnb3QgJSJQUklYNjQiLCBleHBlY3RlZCAlIlBSSVg2NCIiLAorCQkJCWJsa2lkX3Byb2JlX2dldF9wcm9iZXJuYW1lKHByKSwKKwkJCQljc3VtLCBleHBlY3RlZCkpOworCQkvKgorCQkgKiBBY2NlcHQgYmFkIGNoZWNrc3VtIGlmIEJMS0lEX1NVQkxLU19CQURDU1VNIGZsYWdzIGlzIHNldAorCQkgKi8KKwkJaWYgKGNobi0+ZHJpdmVyLT5pZCA9PSBCTEtJRF9DSEFJTl9TVUJMS1MKKwkJICAgICYmIChjaG4tPmZsYWdzICYgQkxLSURfU1VCTEtTX0JBRENTVU0pKSB7CisJCQlibGtpZF9wcm9iZV9zZXRfdmFsdWUocHIsICJTQkJBRENTVU0iLCAodW5zaWduZWQgY2hhciAqKSAiMSIsIDIpOworCQkJZ290byBhY2NlcHQ7CisJCX0KKwkJcmV0dXJuIDA7CS8qIGJhZCBjaGVja3N1bSAqLworCX0KKworYWNjZXB0OgorCXJldHVybiAxOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX2dldF9kZXZubzoKKyAqIEBwcjogcHJvYmUKKyAqCisgKiBSZXR1cm5zOiBibG9jayBkZXZpY2UgbnVtYmVyLCBvciAwIGZvciByZWd1bGFyIGZpbGVzLgorICovCitkZXZfdCBibGtpZF9wcm9iZV9nZXRfZGV2bm8oYmxraWRfcHJvYmUgcHIpCit7CisJcmV0dXJuIHByLT5kZXZubzsKK30KKworLyoqCisgKiBibGtpZF9wcm9iZV9nZXRfd2hvbGVkaXNrX2Rldm5vOgorICogQHByOiBwcm9iZQorICoKKyAqIFJldHVybnM6IGRldmljZSBudW1iZXIgb2YgdGhlIHdob2xlZGlzaywgb3IgMCBmb3IgcmVndWxhciBmaWxlcy4KKyAqLworZGV2X3QgYmxraWRfcHJvYmVfZ2V0X3dob2xlZGlza19kZXZubyhibGtpZF9wcm9iZSBwcikKK3sKKwlpZiAoIXByLT5kaXNrX2Rldm5vKSB7CisJCWRldl90IGRldm5vLCBkaXNrX2Rldm5vID0gMDsKKworCQlkZXZubyA9IGJsa2lkX3Byb2JlX2dldF9kZXZubyhwcik7CisJCWlmICghZGV2bm8pCisJCQlyZXR1cm4gMDsKKworCQlpZiAoYmxraWRfZGV2bm9fdG9fd2hvbGVkaXNrKGRldm5vLCBOVUxMLCAwLCAmZGlza19kZXZubykgPT0gMCkKKwkJCXByLT5kaXNrX2Rldm5vID0gZGlza19kZXZubzsKKwl9CisJcmV0dXJuIHByLT5kaXNrX2Rldm5vOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX2lzX3dob2xlZGlzazoKKyAqIEBwcjogcHJvYmUKKyAqCisgKiBSZXR1cm5zOiAxIGlmIHRoZSBkZXZpY2UgaXMgd2hvbGUtZGlzayBvciAwLgorICovCitpbnQgYmxraWRfcHJvYmVfaXNfd2hvbGVkaXNrKGJsa2lkX3Byb2JlIHByKQoreworCWRldl90IGRldm5vLCBkaXNrX2Rldm5vOworCisJZGV2bm8gPSBibGtpZF9wcm9iZV9nZXRfZGV2bm8ocHIpOworCWlmICghZGV2bm8pCisJCXJldHVybiAwOworCisJZGlza19kZXZubyA9IGJsa2lkX3Byb2JlX2dldF93aG9sZWRpc2tfZGV2bm8ocHIpOworCWlmICghZGlza19kZXZubykKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gZGV2bm8gPT0gZGlza19kZXZubzsKK30KKworYmxraWRfcHJvYmUgYmxraWRfcHJvYmVfZ2V0X3dob2xlZGlza19wcm9iZShibGtpZF9wcm9iZSBwcikKK3sKKwlkZXZfdCBkaXNrOworCisJaWYgKGJsa2lkX3Byb2JlX2lzX3dob2xlZGlzayhwcikpCisJCXJldHVybiBOVUxMOwkJCS8qIHRoaXMgaXMgbm90IHBhcnRpdGlvbiAqLworCisJaWYgKHByLT5wYXJlbnQpCisJCS8qIHRoaXMgaXMgY2xvbmVkIGJsa2lkX3Byb2JlLCB1c2UgcGFyZW50J3Mgc3R1ZmYgKi8KKwkJcmV0dXJuIGJsa2lkX3Byb2JlX2dldF93aG9sZWRpc2tfcHJvYmUocHItPnBhcmVudCk7CisKKwlkaXNrID0gYmxraWRfcHJvYmVfZ2V0X3dob2xlZGlza19kZXZubyhwcik7CisKKwlpZiAocHItPmRpc2tfcHJvYmUgJiYgcHItPmRpc2tfcHJvYmUtPmRldm5vICE9IGRpc2spIHsKKwkJLyogd2UgaGF2ZSBkaXNrIHByb2JlciwgYnV0IGZvciBhbm90aGVyIGRpc2suLi4gY2xvc2UgaXQgKi8KKwkJYmxraWRfZnJlZV9wcm9iZShwci0+ZGlza19wcm9iZSk7CisJCXByLT5kaXNrX3Byb2JlID0gTlVMTDsKKwl9CisKKwlpZiAoIXByLT5kaXNrX3Byb2JlKSB7CisJCS8qIE9wZW4gYSBuZXcgZGlzayBwcm9iZXIgKi8KKwkJY2hhciAqZGlza19wYXRoID0gYmxraWRfZGV2bm9fdG9fZGV2bmFtZShkaXNrKTsKKworCQlpZiAoIWRpc2tfcGF0aCkKKwkJCXJldHVybiBOVUxMOworCisJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoImFsbG9jYXRlIGEgd2hvbGVkaXNrIHByb2JlIikpOworCisJCXByLT5kaXNrX3Byb2JlID0gYmxraWRfbmV3X3Byb2JlX2Zyb21fZmlsZW5hbWUoZGlza19wYXRoKTsKKworCQlmcmVlKGRpc2tfcGF0aCk7CisKKwkJaWYgKCFwci0+ZGlza19wcm9iZSkKKwkJCXJldHVybiBOVUxMOwkvKiBFTk9NRU0/ICovCisJfQorCisJcmV0dXJuIHByLT5kaXNrX3Byb2JlOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX2dldF9zaXplOgorICogQHByOiBwcm9iZQorICoKKyAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucyBzaXplIG9mIHByb2JpbmcgYXJlYSBhcyBkZWZpbmVkIGJ5IGJsa2lkX3Byb2JlX3NldF9kZXZpY2UoKS4KKyAqIElmIHRoZSBzaXplIG9mIHRoZSBwcm9iaW5nIGFyZWEgaXMgdW5yZXN0cmljdGVkIHRoZW4gdGhpcyBmdW5jdGlvbiByZXR1cm5zCisgKiB0aGUgcmVhbCBzaXplIG9mIGRldmljZS4gU2VlIGFsc28gYmxraWRfZ2V0X2Rldl9zaXplKCkuCisgKgorICogUmV0dXJuczogc2l6ZSBpbiBieXRlcyBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitibGtpZF9sb2ZmX3QgYmxraWRfcHJvYmVfZ2V0X3NpemUoYmxraWRfcHJvYmUgcHIpCit7CisJcmV0dXJuIChibGtpZF9sb2ZmX3QpIHByLT5zaXplOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX2dldF9vZmZzZXQ6CisgKiBAcHI6IHByb2JlCisgKgorICogVGhpcyBmdW5jdGlvbiByZXR1cm5zIG9mZnNldCBvZiBwcm9iaW5nIGFyZWEgYXMgZGVmaW5lZCBieSBibGtpZF9wcm9iZV9zZXRfZGV2aWNlKCkuCisgKgorICogUmV0dXJuczogb2Zmc2V0IGluIGJ5dGVzIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2Jsa2lkX2xvZmZfdCBibGtpZF9wcm9iZV9nZXRfb2Zmc2V0KGJsa2lkX3Byb2JlIHByKQoreworCXJldHVybiAoYmxraWRfbG9mZl90KSBwci0+b2ZmOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX2dldF9mZDoKKyAqIEBwcjogcHJvYmUKKyAqCisgKiBSZXR1cm5zOiBmaWxlIGRlc2NyaXB0b3IgZm9yIGFzc2lnbmVkIGRldmljZS9maWxlIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBibGtpZF9wcm9iZV9nZXRfZmQoYmxraWRfcHJvYmUgcHIpCit7CisJcmV0dXJuIHByLT5mZDsKK30KKworLyoqCisgKiBibGtpZF9wcm9iZV9nZXRfc2VjdG9yc2l6ZToKKyAqIEBwcjogcHJvYmUgb3IgTlVMTCAoZm9yIE5VTEwgcmV0dXJucyA1MTIpCisgKgorICogUmV0dXJuczogYmxvY2sgZGV2aWNlIGxvZ2ljYWwgc2VjdG9yIHNpemUgKEJMS1NTWkdFVCBpb2N0bCwgZGVmYXVsdCA1MTIpLgorICovCit1bnNpZ25lZCBpbnQgYmxraWRfcHJvYmVfZ2V0X3NlY3RvcnNpemUoYmxraWRfcHJvYmUgcHIpCit7CisJaWYgKHByLT5ibGtzc3opCisJCXJldHVybiBwci0+Ymxrc3N6OworCisJaWYgKFNfSVNCTEsocHItPm1vZGUpICYmCisJICAgIGJsa2Rldl9nZXRfc2VjdG9yX3NpemUocHItPmZkLCAoaW50ICopICZwci0+Ymxrc3N6KSA9PSAwKQorCQlyZXR1cm4gcHItPmJsa3NzejsKKworCXByLT5ibGtzc3ogPSBERUZBVUxUX1NFQ1RPUl9TSVpFOworCXJldHVybiBwci0+Ymxrc3N6OworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX2dldF9zZWN0b3JzOgorICogQHByOiBwcm9iZQorICoKKyAqIFJldHVybnM6IDUxMi1ieXRlIHNlY3RvciBjb3VudCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitibGtpZF9sb2ZmX3QgYmxraWRfcHJvYmVfZ2V0X3NlY3RvcnMoYmxraWRfcHJvYmUgcHIpCit7CisJcmV0dXJuIChibGtpZF9sb2ZmX3QpIChwci0+c2l6ZSA+PiA5KTsKK30KKworLyoqCisgKiBibGtpZF9wcm9iZV9udW1vZl92YWx1ZXM6CisgKiBAcHI6IHByb2JlCisgKgorICogUmV0dXJuczogbnVtYmVyIG9mIHZhbHVlcyBpbiBwcm9iaW5nIHJlc3VsdCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgYmxraWRfcHJvYmVfbnVtb2ZfdmFsdWVzKGJsa2lkX3Byb2JlIHByKQoreworCWludCBpID0gMDsKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwOworCisJbGlzdF9mb3JfZWFjaChwLCAmcHItPnZhbHVlcykKKwkJKytpOworCXJldHVybiBpOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX2dldF92YWx1ZToKKyAqIEBwcjogcHJvYmUKKyAqIEBudW06IHdhbnRlZCB2YWx1ZSBpbiByYW5nZSAwLi5OLCB3aGVyZSBOIGlzIGJsa2lkX3Byb2JlX251bW9mX3ZhbHVlcygpIC0gMQorICogQG5hbWU6IHBvaW50ZXIgdG8gcmV0dXJuIHZhbHVlIG5hbWUgb3IgTlVMTAorICogQGRhdGE6IHBvaW50ZXIgdG8gcmV0dXJuIHZhbHVlIGRhdGEgb3IgTlVMTAorICogQGxlbjogcG9pbnRlciB0byByZXR1cm4gdmFsdWUgbGVuZ3RoIG9yIE5VTEwKKyAqCisgKiBOb3RlLCB0aGUgQGxlbiByZXR1cm5zIGxlbmd0aCBvZiB0aGUgQGRhdGEsIGluY2x1ZGluZyB0aGUgdGVybWluYXRpbmcKKyAqICdcMCcgY2hhcmFjdGVyLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2Vzcywgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IGJsa2lkX3Byb2JlX2dldF92YWx1ZShibGtpZF9wcm9iZSBwciwgaW50IG51bSwgY29uc3QgY2hhciAqKm5hbWUsCisJCQljb25zdCBjaGFyICoqZGF0YSwgc2l6ZV90ICpsZW4pCit7CisJc3RydWN0IGJsa2lkX3BydmFsICp2ID0gX19ibGtpZF9wcm9iZV9nZXRfdmFsdWUocHIsIG51bSk7CisKKwlpZiAoIXYpCisJCXJldHVybiAtMTsKKwlpZiAobmFtZSkKKwkJKm5hbWUgPSB2LT5uYW1lOworCWlmIChkYXRhKQorCQkqZGF0YSA9IChjaGFyICopIHYtPmRhdGE7CisJaWYgKGxlbikKKwkJKmxlbiA9IHYtPmxlbjsKKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoInJldHVybmluZyAlcyB2YWx1ZSIsIHYtPm5hbWUpKTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBibGtpZF9wcm9iZV9sb29rdXBfdmFsdWU6CisgKiBAcHI6IHByb2JlCisgKiBAbmFtZTogbmFtZSBvZiB2YWx1ZQorICogQGRhdGE6IHBvaW50ZXIgdG8gcmV0dXJuIHZhbHVlIGRhdGEgb3IgTlVMTAorICogQGxlbjogcG9pbnRlciB0byByZXR1cm4gdmFsdWUgbGVuZ3RoIG9yIE5VTEwKKyAqCisgKiBOb3RlLCB0aGUgQGxlbiByZXR1cm5zIGxlbmd0aCBvZiB0aGUgQGRhdGEsIGluY2x1ZGluZyB0aGUgdGVybWluYXRpbmcKKyAqICdcMCcgY2hhcmFjdGVyLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2Vzcywgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IGJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShibGtpZF9wcm9iZSBwciwgY29uc3QgY2hhciAqbmFtZSwKKwkJCWNvbnN0IGNoYXIgKipkYXRhLCBzaXplX3QgKmxlbikKK3sKKwlzdHJ1Y3QgYmxraWRfcHJ2YWwgKnYgPSBfX2Jsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgbmFtZSk7CisKKwlpZiAoIXYpCisJCXJldHVybiAtMTsKKwlpZiAoZGF0YSkKKwkJKmRhdGEgPSAoY2hhciAqKSB2LT5kYXRhOworCWlmIChsZW4pCisJCSpsZW4gPSB2LT5sZW47CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogYmxraWRfcHJvYmVfaGFzX3ZhbHVlOgorICogQHByOiBwcm9iZQorICogQG5hbWU6IG5hbWUgb2YgdmFsdWUKKyAqCisgKiBSZXR1cm5zOiAxIGlmIHZhbHVlIGV4aXN0IGluIHByb2JpbmcgcmVzdWx0LCBvdGhlcndpc2UgMC4KKyAqLworaW50IGJsa2lkX3Byb2JlX2hhc192YWx1ZShibGtpZF9wcm9iZSBwciwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlpZiAoYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlKHByLCBuYW1lLCBOVUxMLCBOVUxMKSA9PSAwKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworc3RydWN0IGJsa2lkX3BydmFsICpfX2Jsa2lkX3Byb2JlX2dldF92YWx1ZShibGtpZF9wcm9iZSBwciwgaW50IG51bSkKK3sKKwlpbnQgaSA9IDA7CisJc3RydWN0IGxpc3RfaGVhZCAqcDsKKworCWlmIChudW0gPCAwKQorCQlyZXR1cm4gTlVMTDsKKworCWxpc3RfZm9yX2VhY2gocCwgJnByLT52YWx1ZXMpIHsKKwkJaWYgKGkrKyAhPSBudW0pCisJCQljb250aW51ZTsKKwkJcmV0dXJuIGxpc3RfZW50cnkocCwgc3RydWN0IGJsa2lkX3BydmFsLCBwcnZhbHMpOworCX0KKwlyZXR1cm4gTlVMTDsKK30KKworc3RydWN0IGJsa2lkX3BydmFsICpfX2Jsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShibGtpZF9wcm9iZSBwciwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwOworCisJaWYgKGxpc3RfZW1wdHkoJnByLT52YWx1ZXMpKQorCQlyZXR1cm4gTlVMTDsKKworCWxpc3RfZm9yX2VhY2gocCwgJnByLT52YWx1ZXMpIHsKKwkJc3RydWN0IGJsa2lkX3BydmFsICp2ID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgYmxraWRfcHJ2YWwsCisJCQkJCQlwcnZhbHMpOworCisJCWlmICh2LT5uYW1lICYmIHN0cmNtcChuYW1lLCB2LT5uYW1lKSA9PSAwKSB7CisJCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJyZXR1cm5pbmcgJXMgdmFsdWUiLCB2LT5uYW1lKSk7CisJCQlyZXR1cm4gdjsKKwkJfQorCX0KKwlyZXR1cm4gTlVMTDsKK30KKworCisvKiBjb252ZXJ0cyBEQ0UgVVVJRCAodXVpZFsxNl0pIHRvIGh1bWFuIHJlYWRhYmxlIHN0cmluZworICogLSB0aGUgQGxlbiBzaG91bGQgYmUgYWx3YXlzIDM3ICovCisjaWZkZWYgSEFWRV9MSUJVVUlECit2b2lkIGJsa2lkX3VucGFyc2VfdXVpZChjb25zdCB1bnNpZ25lZCBjaGFyICp1dWlkLCBjaGFyICpzdHIsCisJCQlzaXplX3QgbGVuIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwl1dWlkX3VucGFyc2UodXVpZCwgc3RyKTsKK30KKyNlbHNlCit2b2lkIGJsa2lkX3VucGFyc2VfdXVpZChjb25zdCB1bnNpZ25lZCBjaGFyICp1dWlkLCBjaGFyICpzdHIsIHNpemVfdCBsZW4pCit7CisJc25wcmludGYoc3RyLCBsZW4sCisJCSIlMDJ4JTAyeCUwMnglMDJ4LSUwMnglMDJ4LSUwMnglMDJ4LSUwMnglMDJ4LSUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCIsCisJCXV1aWRbMF0sIHV1aWRbMV0sIHV1aWRbMl0sIHV1aWRbM10sCisJCXV1aWRbNF0sIHV1aWRbNV0sCisJCXV1aWRbNl0sIHV1aWRbN10sCisJCXV1aWRbOF0sIHV1aWRbOV0sCisJCXV1aWRbMTBdLCB1dWlkWzExXSwgdXVpZFsxMl0sIHV1aWRbMTNdLCB1dWlkWzE0XSx1dWlkWzE1XSk7Cit9CisjZW5kaWYKKworLyogbGlrZSB1dWlkX2lzX251bGwoKSBmcm9tIGxpYnV1aWQsIGJ1dCB3b3JrcyB3aXRoIGFyYml0cmFyeSBzaXplIG9mIFVVSUQgKi8KK2ludCBibGtpZF91dWlkX2lzX2VtcHR5KGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykKKwkJaWYgKGJ1ZltpXSkKKwkJCXJldHVybiAwOworCXJldHVybiAxOworfQorCisvKiBSZW1vdmVzIHdoaXRlc3BhY2UgZnJvbSB0aGUgcmlnaHQtaGFuZCBzaWRlIG9mIGEgc3RyaW5nICh0cmFpbGluZworICogd2hpdGVzcGFjZSkuCisgKgorICogUmV0dXJucyBzaXplIG9mIHRoZSBuZXcgc3RyaW5nICh3aXRob3V0IFwwKS4KKyAqLworc2l6ZV90IGJsa2lkX3J0cmltX3doaXRlc3BhY2UodW5zaWduZWQgY2hhciAqc3RyKQoreworCXJldHVybiBydHJpbV93aGl0ZXNwYWNlKHN0cik7Cit9CisKKy8qIFJlbW92ZXMgd2hpdGVzcGFjZSBmcm9tIHRoZSBsZWZ0LWhhbmQgc2lkZSBvZiBhIHN0cmluZy4KKyAqCisgKiBSZXR1cm5zIHNpemUgb2YgdGhlIG5ldyBzdHJpbmcgKHdpdGhvdXQgXDApLgorICovCitzaXplX3QgYmxraWRfbHRyaW1fd2hpdGVzcGFjZSh1bnNpZ25lZCBjaGFyICpzdHIpCit7CisJcmV0dXJuIGx0cmltX3doaXRlc3BhY2Uoc3RyKTsKK30KKworLyoKKyAqIFNvbWUgbWtmcy1saWtlIHV0aWxzIHdpcGUgc29tZSBwYXJ0cyAodXN1YWxseSBiZWdpbikgb2YgdGhlIGRldmljZS4KKyAqIEZvciBleGFtcGxlIExWTSAocHZjcmVhdGUpIG9yIG1rc3dhcCg4KS4gVGhpcyBpbmZvcm1hdGlvbiBjb3VsZCBiZSB1c2VkCisgKiBmb3IgbGF0ZXIgcmVzb2x1dGlvbiB0byBjb25mbGljdHMgYmV0d2VlbiBzdXBlcmJsb2Nrcy4KKyAqCisgKiBGb3IgZXhhbXBsZSB3ZSBmb3VuZCB2YWxpZCBMVk0gc3VwZXJibG9jaywgTFZNIHdpcGVzIDhLaUIgYXQgdGhlIGJlZ2luIG9mCisgKiB0aGUgZGV2aWNlLiBJZiB3ZSBmb3VuZCBhbm90aGVyIHNpZ25hdHVyZSAoZm9yIGV4YW1wbGUgTUJSKSB3aXRoaW4gdGhlCisgKiB3aXBlZCBhcmVhIHRoZW4gdGhlIHNpZ25hdHVyZSBoYXMgYmVlbiBhZGRlZCBsYXRlciBhbmQgTFZNIHN1cGVyYmxvY2sKKyAqIHNob3VsZCBiZSBpZ25vcmUuCisgKgorICogTm90ZSB0aGF0IHRoaXMgaGV1cmlzdGljIGlzIG5vdCAxMDAlIHJlbGlhYmxlLCBmb3IgZXhhbXBsZSAicHZjcmVhdGUgLS16ZXJvCisgKiBuIiBhbGxvd3MgdG8ga2VlcCB0aGUgYmVnaW4gb2YgdGhlIGRldmljZSB1bm1vZGlmaWVkLiBJdCdzIHByb2JhYmx5IGJldHRlcgorICogdG8gdXNlIHRoaXMgaGV1cmlzdGljIGZvciBjb25mbGljdHMgYmV0d2VlbiBzdXBlcmJsb2NrcyBhbmQgcGFydGl0aW9uIHRhYmxlcworICogdGhhbiBmb3IgY29uZmxpY3RzIGJldHdlZW4gZmlsZXN5c3RlbSBzdXBlcmJsb2NrcyAtLSBleGlzdGVuY2Ugb2YgdW53YW50ZWQKKyAqIHBhcnRpdGlvbiB0YWJsZSBpcyB2ZXJ5IHVudXN1YWwsIGJlY2F1c2UgUFQgaXMgcHJldHR5IHZpc2libGUgKHBhcnNlZCBhbmQKKyAqIGludGVycHJldGVkIGJ5IGtlcm5lbCkuCisgKgorICogTm90ZSB0aGF0IHdlIHVzdWFsbHkgZXhwZWN0IG9ubHkgb25lIHNpZ25hdHVyZSBvbiB0aGUgZGV2aWNlLCBpdCBtZWFucyB0aGF0CisgKiB3ZSBoYXZlIHRvIHJlbWVtYmVyIG9ubHkgb25lIHdpcGVkIGFyZWEgZnJvbSBwcmV2aW91c2x5IHN1Y2Nlc3NmdWxseQorICogZGV0ZWN0ZWQgc2lnbmF0dXJlLgorICoKKyAqIGJsa2lkX3Byb2JlX3NldF93aXBlcigpIC0tIGRlZmluZXMgd2lwZWQgYXJlYSAoZS5nLiBMVk0pCisgKiBibGtpZF9wcm9iZV91c2Vfd2lwZXIoKSAtLSB0cnkgdG8gdXNlIGFyZWEgKGUuZy4gTUJSKQorICoKKyAqIE5vdGUgdGhhdCB0aGVyZSBpcyBub3QgcmVsYXRpb24gYmV0d2VlbiBfd2lwZXIgYW5kIGJsa2lkX3RvX3dpcGUoKS4KKyAqCisgKi8KK3ZvaWQgYmxraWRfcHJvYmVfc2V0X3dpcGVyKGJsa2lkX3Byb2JlIHByLCB1aW50NjRfdCBvZmYsIHVpbnQ2NF90IHNpemUpCit7CisJc3RydWN0IGJsa2lkX2NoYWluICpjaG47CisKKwlpZiAoIXNpemUpIHsKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiemVyb2l6ZSB3aXBlciIpKTsKKwkJcHItPndpcGVfc2l6ZSA9IHByLT53aXBlX29mZiA9IDA7CisJCXByLT53aXBlX2NoYWluID0gTlVMTDsKKwkJcmV0dXJuOworCX0KKworCWNobiA9IHByLT5jdXJfY2hhaW47CisKKwlpZiAoIWNobiB8fCAhY2huLT5kcml2ZXIgfHwKKwkgICAgY2huLT5pZHggPCAwIHx8IChzaXplX3QpIGNobi0+aWR4ID49IGNobi0+ZHJpdmVyLT5uaWRpbmZvcykKKwkJcmV0dXJuOworCisJcHItPndpcGVfc2l6ZSA9IHNpemU7CisJcHItPndpcGVfb2ZmID0gb2ZmOworCXByLT53aXBlX2NoYWluID0gY2huOworCisJREJHKExPV1BST0JFLAorCQl1bF9kZWJ1Zygid2lwZXIgc2V0IHRvICVzOjolcyBvZmY9JSJQUkl1NjQiIHNpemU9JSJQUkl1NjQiIiwKKwkJCWNobi0+ZHJpdmVyLT5uYW1lLAorCQkJY2huLT5kcml2ZXItPmlkaW5mb3NbY2huLT5pZHhdLT5uYW1lLAorCQkJcHItPndpcGVfb2ZmLCBwci0+d2lwZV9zaXplKSk7CisJcmV0dXJuOworfQorCisvKgorICogUmV0dXJucyAxIGlmIHRoZSA8QG9mZixAc2l6ZT4gYXJlYSB3YXMgd2lwZWQKKyAqLworaW50IGJsa2lkX3Byb2JlX2lzX3dpcGVkKGJsa2lkX3Byb2JlIHByLCBzdHJ1Y3QgYmxraWRfY2hhaW4gKipjaG4sIHVpbnQ2NF90IG9mZiwgdWludDY0X3Qgc2l6ZSkKK3sKKwlpZiAoIXNpemUpCisJCXJldHVybiAwOworCisJaWYgKHByLT53aXBlX29mZiA8PSBvZmYgJiYgb2ZmICsgc2l6ZSA8PSBwci0+d2lwZV9vZmYgKyBwci0+d2lwZV9zaXplKSB7CisJCSpjaG4gPSBwci0+d2lwZV9jaGFpbjsKKwkJcmV0dXJuIDE7CisJfQorCXJldHVybiAwOworfQorCisvKgorICogIFRyeSB0byB1c2UgYW55IGFyZWEgLS0gaWYgdGhlIGFyZWEgaGFzIGJlZW4gcHJldmlvdXNseSB3aXBlZCB0aGVuIHRoZQorICogIHByZXZpb3VzIHByb2JpbmcgcmVzdWx0IHNob3VsZCBiZSBpZ25vcmVkIChyZXNldCkuCisgKi8KK3ZvaWQgYmxraWRfcHJvYmVfdXNlX3dpcGVyKGJsa2lkX3Byb2JlIHByLCB1aW50NjRfdCBvZmYsIHVpbnQ2NF90IHNpemUpCit7CisJc3RydWN0IGJsa2lkX2NoYWluICpjaG4gPSBOVUxMOworCisJaWYgKGJsa2lkX3Byb2JlX2lzX3dpcGVkKHByLCAmY2huLCBvZmYsIHNpemUpICYmIGNobikgeworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJwcmV2aW91c2x5IHdpcGVkIGFyZWEgbW9kaWZpZWQgIgorCQkJCSAgICAgICAiIC0tIGlnbm9yZSBwcmV2aW91cyByZXN1bHRzIikpOworCQlibGtpZF9wcm9iZV9zZXRfd2lwZXIocHIsIDAsIDApOworCQlibGtpZF9wcm9iZV9jaGFpbl9yZXNldF92YWx1ZXMocHIsIGNobik7CisJfQorfQpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3JlYWQuYyBiL2xpYmJsa2lkL3NyYy9yZWFkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDI4Njc3MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9yZWFkLmMKQEAgLTAsMCArMSw0NjggQEAKKy8qCisgKiByZWFkLmMgLSByZWFkIHRoZSBibGtpZCBjYWNoZSBmcm9tIGRpc2ssIHRvIGF2b2lkIHNjYW5uaW5nIGFsbCBkZXZpY2VzCisgKgorICogQ29weXJpZ2h0IChDKSAyMDAxLCAyMDAzIFRoZW9kb3JlIFkuIFRzJ28KKyAqIENvcHlyaWdodCAoQykgMjAwMSBBbmRyZWFzIERpbGdlcgorICoKKyAqICVCZWdpbi1IZWFkZXIlCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICogJUVuZC1IZWFkZXIlCisgKi8KKworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHRpbWUuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaWZkZWYgSEFWRV9FUlJOT19ICisjaW5jbHVkZSA8ZXJybm8uaD4KKyNlbmRpZgorCisjaW5jbHVkZSAiYmxraWRQLmgiCisKKyNpZmRlZiBIQVZFX1NURExJQl9ICisjIGlmbmRlZiBfWE9QRU5fU09VUkNFCisjICBkZWZpbmUgX1hPUEVOX1NPVVJDRSA2MDAJLyogZm9yIGluY2x1c2lvbiBvZiBzdHJ0b3VsbCAqLworIyBlbmRpZgorIyBpbmNsdWRlIDxzdGRsaWIuaD4KKyNlbmRpZgorCisvKgorICogRmlsZSBmb3JtYXQ6CisgKgorICoJPGRldmljZSBbPE5BTUU9InZhbHVlIj4gLi4uXT5kZXZpY2VfbmFtZTwvZGV2aWNlPgorICoKKyAqCVRoZSBmb2xsb3dpbmcgdGFncyBhcmUgcmVxdWlyZWQgZm9yIGVhY2ggZW50cnk6CisgKgk8SUQ9ImlkIj4JdW5pcXVlICh3aXRoaW4gdGhpcyBmaWxlKSBJRCBudW1iZXIgb2YgdGhpcyBkZXZpY2UKKyAqCTxUSU1FPSJzZWMudXNlYyI+ICh0aW1lX3QgYW5kIHN1c2Vjb25kc190KSB0aW1lIHRoaXMgZW50cnkgd2FzIGxhc3QKKyAqCSAgICAgICAgICAgICAgICAgcmVhZCBmcm9tIGRpc2sKKyAqCTxUWVBFPSJ0eXBlIj4JKGRldGVjdGVkKSB0eXBlIG9mIGZpbGVzeXN0ZW0vZGF0YSBmb3IgdGhpcyBwYXJ0aXRpb24KKyAqCisgKglUaGUgZm9sbG93aW5nIHRhZ3MgbWF5IGJlIHByZXNlbnQsIGRlcGVuZGluZyBvbiB0aGUgZGV2aWNlIGNvbnRlbnRzCisgKgk8TEFCRUw9ImxhYmVsIj4JKHVzZXIgc3VwcGxpZWQpIGxhYmVsICh2b2x1bWUgbmFtZSwgZXRjKQorICoJPFVVSUQ9InV1aWQiPgkoZ2VuZXJhdGVkKSB1bml2ZXJzYWxseSB1bmlxdWUgaWRlbnRpZmllciAoc2VyaWFsIG5vKQorICovCisKK3N0YXRpYyBjaGFyICpza2lwX292ZXJfYmxhbmsoY2hhciAqY3ApCit7CisJd2hpbGUgKCpjcCAmJiBpc3NwYWNlKCpjcCkpCisJCWNwKys7CisJcmV0dXJuIGNwOworfQorCitzdGF0aWMgY2hhciAqc2tpcF9vdmVyX3dvcmQoY2hhciAqY3ApCit7CisJY2hhciBjaDsKKworCXdoaWxlICgoY2ggPSAqY3ApKSB7CisJCS8qIElmIHdlIHNlZSBhIGJhY2tzbGFzaCwgc2tpcCB0aGUgbmV4dCBjaGFyYWN0ZXIgKi8KKwkJaWYgKGNoID09ICdcXCcpIHsKKwkJCWNwKys7CisJCQlpZiAoKmNwID09ICdcMCcpCisJCQkJYnJlYWs7CisJCQljcCsrOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKGlzc3BhY2UoY2gpIHx8IGNoID09ICc8JyB8fCBjaCA9PSAnPicpCisJCQlicmVhazsKKwkJY3ArKzsKKwl9CisJcmV0dXJuIGNwOworfQorCitzdGF0aWMgY2hhciAqc3RyaXBfbGluZShjaGFyICpsaW5lKQoreworCWNoYXIJKnA7CisKKwlsaW5lID0gc2tpcF9vdmVyX2JsYW5rKGxpbmUpOworCisJcCA9IGxpbmUgKyBzdHJsZW4obGluZSkgLSAxOworCisJd2hpbGUgKCpsaW5lKSB7CisJCWlmIChpc3NwYWNlKCpwKSkKKwkJCSpwLS0gPSAnXDAnOworCQllbHNlCisJCQlicmVhazsKKwl9CisKKwlyZXR1cm4gbGluZTsKK30KKworI2lmIDAKK3N0YXRpYyBjaGFyICpwYXJzZV93b3JkKGNoYXIgKipidWYpCit7CisJY2hhciAqd29yZCwgKm5leHQ7CisKKwl3b3JkID0gKmJ1ZjsKKwlpZiAoKndvcmQgPT0gJ1wwJykKKwkJcmV0dXJuIE5VTEw7CisKKwl3b3JkID0gc2tpcF9vdmVyX2JsYW5rKHdvcmQpOworCW5leHQgPSBza2lwX292ZXJfd29yZCh3b3JkKTsKKwlpZiAoKm5leHQpIHsKKwkJY2hhciAqZW5kID0gbmV4dCAtIDE7CisJCWlmICgqZW5kID09ICciJyB8fCAqZW5kID09ICdcJycpCisJCQkqZW5kID0gJ1wwJzsKKwkJKm5leHQrKyA9ICdcMCc7CisJfQorCSpidWYgPSBuZXh0OworCisJaWYgKCp3b3JkID09ICciJyB8fCAqd29yZCA9PSAnXCcnKQorCQl3b3JkKys7CisJcmV0dXJuIHdvcmQ7Cit9CisjZW5kaWYKKworLyoKKyAqIFN0YXJ0IHBhcnNpbmcgYSBuZXcgbGluZSBmcm9tIHRoZSBjYWNoZS4KKyAqCisgKiBsaW5lIHN0YXJ0cyB3aXRoICI8ZGV2aWNlIiByZXR1cm4gMSAtPiBjb250aW51ZSBwYXJzaW5nIGxpbmUKKyAqIGxpbmUgc3RhcnRzIHdpdGggIjxmb28iLCBlbXB0eSwgb3IgIyByZXR1cm4gMCAtPiBza2lwIGxpbmUKKyAqIGxpbmUgc3RhcnRzIHdpdGggb3RoZXIsIHJldHVybiAtQkxLSURfRVJSX0NBQ0hFIC0+IGVycm9yCisgKi8KK3N0YXRpYyBpbnQgcGFyc2Vfc3RhcnQoY2hhciAqKmNwKQoreworCWNoYXIgKnA7CisKKwlwID0gc3RyaXBfbGluZSgqY3ApOworCisJLyogU2tpcCBjb21tZW50IG9yIGJsYW5rIGxpbmVzLiAgV2UgY2FuJ3QganVzdCBOVUwgdGhlIGZpcnN0ICcjJyBjaGFyLAorCSAqIGluIGNhc2UgaXQgaXMgaW5zaWRlIHF1b3Rlcywgb3IgZXNjYXBlZC4KKwkgKi8KKwlpZiAoKnAgPT0gJ1wwJyB8fCAqcCA9PSAnIycpCisJCXJldHVybiAwOworCisJaWYgKCFzdHJuY21wKHAsICI8ZGV2aWNlIiwgNykpIHsKKwkJREJHKFJFQUQsIHVsX2RlYnVnKCJmb3VuZCBkZXZpY2UgaGVhZGVyOiAlOHMiLCBwKSk7CisJCXAgKz0gNzsKKworCQkqY3AgPSBwOworCQlyZXR1cm4gMTsKKwl9CisKKwlpZiAoKnAgPT0gJzwnKQorCQlyZXR1cm4gMDsKKworCXJldHVybiAtQkxLSURfRVJSX0NBQ0hFOworfQorCisvKiBDb25zdW1lIHRoZSByZW1haW5pbmcgWE1MIG9uIHRoZSBsaW5lIChjb3NtZXRpYyBvbmx5KSAqLworc3RhdGljIGludCBwYXJzZV9lbmQoY2hhciAqKmNwKQoreworCSpjcCA9IHNraXBfb3Zlcl9ibGFuaygqY3ApOworCisJaWYgKCFzdHJuY21wKCpjcCwgIjwvZGV2aWNlPiIsIDkpKSB7CisJCURCRyhSRUFELCB1bF9kZWJ1ZygiZm91bmQgZGV2aWNlIHRyYWlsZXIgJTlzIiwgKmNwKSk7CisJCSpjcCArPSA5OworCQlyZXR1cm4gMDsKKwl9CisKKwlyZXR1cm4gLUJMS0lEX0VSUl9DQUNIRTsKK30KKworLyoKKyAqIEFsbG9jYXRlIGEgbmV3IGRldmljZSBzdHJ1Y3Qgd2l0aCBkZXZpY2UgbmFtZSBmaWxsZWQgaW4uICBXaWxsIGhhbmRsZQorICogZmluZGluZyB0aGUgZGV2aWNlIG9uIGxpbmVzIG9mIHRoZSBmb3JtOgorICogPGRldmljZSBmb289YmFyPmRldm5hbWU8L2RldmljZT4KKyAqIDxkZXZpY2U+ZGV2bmFtZTxmb28+YmFyPC9mb28+PC9kZXZpY2U+CisgKi8KK3N0YXRpYyBpbnQgcGFyc2VfZGV2KGJsa2lkX2NhY2hlIGNhY2hlLCBibGtpZF9kZXYgKmRldiwgY2hhciAqKmNwKQoreworCWNoYXIgKnN0YXJ0LCAqdG1wLCAqZW5kLCAqbmFtZTsKKwlpbnQgcmV0OworCisJaWYgKChyZXQgPSBwYXJzZV9zdGFydChjcCkpIDw9IDApCisJCXJldHVybiByZXQ7CisKKwlzdGFydCA9IHRtcCA9IHN0cmNocigqY3AsICc+Jyk7CisJaWYgKCFzdGFydCkgeworCQlEQkcoUkVBRCwgdWxfZGVidWcoImJsa2lkOiBzaG9ydCBsaW5lIHBhcnNpbmcgZGV2OiAlcyIsICpjcCkpOworCQlyZXR1cm4gLUJMS0lEX0VSUl9DQUNIRTsKKwl9CisJc3RhcnQgPSBza2lwX292ZXJfYmxhbmsoc3RhcnQgKyAxKTsKKwllbmQgPSBza2lwX292ZXJfd29yZChzdGFydCk7CisKKwlEQkcoUkVBRCwgdWxfZGVidWcoImRldmljZSBzaG91bGQgYmUgJSpzIiwKKwkJCSAgICAgICAoaW50KShlbmQgLSBzdGFydCksIHN0YXJ0KSk7CisKKwlpZiAoKipjcCA9PSAnPicpCisJCSpjcCA9IGVuZDsKKwllbHNlCisJCSgqY3ApKys7CisKKwkqdG1wID0gJ1wwJzsKKworCWlmICghKHRtcCA9IHN0cnJjaHIoZW5kLCAnPCcpKSB8fCBwYXJzZV9lbmQoJnRtcCkgPCAwKSB7CisJCURCRyhSRUFELCB1bF9kZWJ1ZygiYmxraWQ6IG1pc3NpbmcgPC9kZXZpY2U+IGVuZGluZzogJXMiLCBlbmQpKTsKKwl9IGVsc2UgaWYgKHRtcCkKKwkJKnRtcCA9ICdcMCc7CisKKwlpZiAoZW5kIC0gc3RhcnQgPD0gMSkgeworCQlEQkcoUkVBRCwgdWxfZGVidWcoImJsa2lkOiBlbXB0eSBkZXZpY2UgbmFtZTogJXMiLCAqY3ApKTsKKwkJcmV0dXJuIC1CTEtJRF9FUlJfQ0FDSEU7CisJfQorCisJbmFtZSA9IHN0cm5kdXAoc3RhcnQsIGVuZCAtIHN0YXJ0KTsKKwlpZiAobmFtZSA9PSBOVUxMKQorCQlyZXR1cm4gLUJMS0lEX0VSUl9NRU07CisKKwlEQkcoUkVBRCwgdWxfZGVidWcoImZvdW5kIGRldiAlcyIsIG5hbWUpKTsKKworCWlmICghKCpkZXYgPSBibGtpZF9nZXRfZGV2KGNhY2hlLCBuYW1lLCBCTEtJRF9ERVZfQ1JFQVRFKSkpIHsKKwkJZnJlZShuYW1lKTsKKwkJcmV0dXJuIC1CTEtJRF9FUlJfTUVNOworCX0KKworCWZyZWUobmFtZSk7CisJcmV0dXJuIDE7Cit9CisKKy8qCisgKiBFeHRyYWN0IGEgdGFnIG9mIHRoZSBmb3JtIE5BTUU9InZhbHVlIiBmcm9tIHRoZSBsaW5lLgorICovCitzdGF0aWMgaW50IHBhcnNlX3Rva2VuKGNoYXIgKipuYW1lLCBjaGFyICoqdmFsdWUsIGNoYXIgKipjcCkKK3sKKwljaGFyICplbmQ7CisKKwlpZiAoIW5hbWUgfHwgIXZhbHVlIHx8ICFjcCkKKwkJcmV0dXJuIC1CTEtJRF9FUlJfUEFSQU07CisKKwlpZiAoISgqdmFsdWUgPSBzdHJjaHIoKmNwLCAnPScpKSkKKwkJcmV0dXJuIDA7CisKKwkqKnZhbHVlID0gJ1wwJzsKKwkqbmFtZSA9IHN0cmlwX2xpbmUoKmNwKTsKKwkqdmFsdWUgPSBza2lwX292ZXJfYmxhbmsoKnZhbHVlICsgMSk7CisKKwlpZiAoKip2YWx1ZSA9PSAnIicpIHsKKwkJY2hhciAqcCA9IGVuZCA9ICp2YWx1ZSArIDE7CisKKwkJLyogY29udmVydCAnZm9vXCJiYXInICB0byAnZm9vImJhcicgKi8KKwkJd2hpbGUgKCpwKSB7CisJCQlpZiAoKnAgPT0gJ1xcJykgeworCQkJCXArKzsKKwkJCQkqZW5kID0gKnA7CisJCQl9IGVsc2UgeworCQkJCSplbmQgPSAqcDsKKwkJCQlpZiAoKnAgPT0gJyInKQorCQkJCQlicmVhazsKKwkJCX0KKwkJCXArKzsKKwkJCWVuZCsrOworCQl9CisKKwkJaWYgKCplbmQgIT0gJyInKSB7CisJCQlEQkcoUkVBRCwgdWxfZGVidWcoInVuYmFsYW5jZWQgcXVvdGVzIGF0OiAlcyIsICp2YWx1ZSkpOworCQkJKmNwID0gKnZhbHVlOworCQkJcmV0dXJuIC1CTEtJRF9FUlJfQ0FDSEU7CisJCX0KKwkJKCp2YWx1ZSkrKzsKKwkJKmVuZCA9ICdcMCc7CisJCWVuZCA9ICsrcDsKKwl9IGVsc2UgeworCQllbmQgPSBza2lwX292ZXJfd29yZCgqdmFsdWUpOworCQlpZiAoKmVuZCkgeworCQkJKmVuZCA9ICdcMCc7CisJCQllbmQrKzsKKwkJfQorCX0KKwkqY3AgPSBlbmQ7CisKKwlyZXR1cm4gMTsKK30KKworLyoKKyAqIEV4dHJhY3QgYSB0YWcgb2YgdGhlIGZvcm0gPE5BTUU+dmFsdWU8L05BTUU+IGZyb20gdGhlIGxpbmUuCisgKi8KKy8qCitzdGF0aWMgaW50IHBhcnNlX3htbChjaGFyICoqbmFtZSwgY2hhciAqKnZhbHVlLCBjaGFyICoqY3ApCit7CisJY2hhciAqZW5kOworCisJaWYgKCFuYW1lIHx8ICF2YWx1ZSB8fCAhY3ApCisJCXJldHVybiAtQkxLSURfRVJSX1BBUkFNOworCisJKm5hbWUgPSBzdHJpcF9saW5lKCpjcCk7CisKKwlpZiAoKCpuYW1lKVswXSAhPSAnPCcgfHwgKCpuYW1lKVsxXSA9PSAnLycpCisJCXJldHVybiAwOworCisJRklYTUU6IGZpbmlzaCB0aGlzLgorfQorKi8KKworLyoKKyAqIEV4dHJhY3QgYSB0YWcgZnJvbSB0aGUgbGluZS4KKyAqCisgKiBSZXR1cm4gMSBpZiBhIHZhbGlkIHRhZyB3YXMgZm91bmQuCisgKiBSZXR1cm4gMCBpZiBubyB0YWcgZm91bmQuCisgKiBSZXR1cm4gLXZlIGVycm9yIGNvZGUuCisgKi8KK3N0YXRpYyBpbnQgcGFyc2VfdGFnKGJsa2lkX2NhY2hlIGNhY2hlLCBibGtpZF9kZXYgZGV2LCBjaGFyICoqY3ApCit7CisJY2hhciAqbmFtZSA9IE5VTEw7CisJY2hhciAqdmFsdWUgPSBOVUxMOworCWludCByZXQ7CisKKwlpZiAoIWNhY2hlIHx8ICFkZXYpCisJCXJldHVybiAtQkxLSURfRVJSX1BBUkFNOworCisJaWYgKChyZXQgPSBwYXJzZV90b2tlbigmbmFtZSwgJnZhbHVlLCBjcCkpIDw9IDAgLyogJiYKKwkgICAgKHJldCA9IHBhcnNlX3htbCgmbmFtZSwgJnZhbHVlLCBjcCkpIDw9IDAgKi8pCisJCXJldHVybiByZXQ7CisKKwlEQkcoUkVBRCwgdWxfZGVidWcoInRhZzogJXM9XCIlc1wiIiwgbmFtZSwgdmFsdWUpKTsKKworCS8qIFNvbWUgdGFncyBhcmUgc3RvcmVkIGRpcmVjdGx5IGluIHRoZSBkZXZpY2Ugc3RydWN0ICovCisJaWYgKCFzdHJjbXAobmFtZSwgIkRFVk5PIikpCisJCWRldi0+YmlkX2Rldm5vID0gc3RydG91bGwodmFsdWUsIDAsIDApOworCWVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIlBSSSIpKQorCQlkZXYtPmJpZF9wcmkgPSBzdHJ0b2wodmFsdWUsIDAsIDApOworCWVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIlRJTUUiKSkgeworCQljaGFyICplbmQgPSBOVUxMOworCQlkZXYtPmJpZF90aW1lID0gc3RydG91bGwodmFsdWUsICZlbmQsIDApOworCQlpZiAoZW5kICYmICplbmQgPT0gJy4nKQorCQkJZGV2LT5iaWRfdXRpbWUgPSBzdHJ0b3VsbChlbmQgKyAxLCAwLCAwKTsKKwl9IGVsc2UKKwkJcmV0ID0gYmxraWRfc2V0X3RhZyhkZXYsIG5hbWUsIHZhbHVlLCBzdHJsZW4odmFsdWUpKTsKKworCXJldHVybiByZXQgPCAwID8gcmV0IDogMTsKK30KKworLyoKKyAqIFBhcnNlIGEgc2luZ2xlIGxpbmUgb2YgZGF0YSwgYW5kIHJldHVybiBhIG5ld2x5IGFsbG9jYXRlZCBkZXYgc3RydWN0LgorICogQWRkIHRoZSBuZXcgZGV2aWNlIHRvIHRoZSBjYWNoZSBzdHJ1Y3QsIGlmIG9uZSB3YXMgcmVhZC4KKyAqCisgKiBMaW5lcyBhcmUgb2YgdGhlIGZvcm0gPGRldmljZSBbVEFHPSJ2YWx1ZSIgLi4uXT4vZGV2L2ZvbzwvZGV2aWNlPgorICoKKyAqIFJldHVybnMgLXZlIHZhbHVlIG9uIGVycm9yLgorICogUmV0dXJucyAwIG90aGVyd2lzZS4KKyAqIElmIGEgdmFsaWQgZGV2aWNlIHdhcyByZWFkLCAqZGV2X3AgaXMgbm9uLU5VTEwsIG90aGVyd2lzZSBpdCBpcyBOVUxMCisgKiAoZS5nLiBjb21tZW50IGxpbmVzLCB1bmtub3duIFhNTCBjb250ZW50LCBldGMpLgorICovCitzdGF0aWMgaW50IGJsa2lkX3BhcnNlX2xpbmUoYmxraWRfY2FjaGUgY2FjaGUsIGJsa2lkX2RldiAqZGV2X3AsIGNoYXIgKmNwKQoreworCWJsa2lkX2RldiBkZXY7CisJaW50IHJldDsKKworCWlmICghY2FjaGUgfHwgIWRldl9wKQorCQlyZXR1cm4gLUJMS0lEX0VSUl9QQVJBTTsKKworCSpkZXZfcCA9IE5VTEw7CisKKwlEQkcoUkVBRCwgdWxfZGVidWcoImxpbmU6ICVzIiwgY3ApKTsKKworCWlmICgocmV0ID0gcGFyc2VfZGV2KGNhY2hlLCBkZXZfcCwgJmNwKSkgPD0gMCkKKwkJcmV0dXJuIHJldDsKKworCWRldiA9ICpkZXZfcDsKKworCXdoaWxlICgocmV0ID0gcGFyc2VfdGFnKGNhY2hlLCBkZXYsICZjcCkpID4gMCkgeworCQk7CisJfQorCisJaWYgKGRldi0+YmlkX3R5cGUgPT0gTlVMTCkgeworCQlEQkcoUkVBRCwgdWxfZGVidWcoImJsa2lkOiBkZXZpY2UgJXMgaGFzIG5vIFRZUEUiLGRldi0+YmlkX25hbWUpKTsKKwkJYmxraWRfZnJlZV9kZXYoZGV2KTsKKwkJZ290byBkb25lOworCX0KKworZG9uZToKKwlyZXR1cm4gcmV0OworfQorCisvKgorICogUGFyc2UgdGhlIHNwZWNpZmllZCBmaWxlbmFtZSwgYW5kIHJldHVybiB0aGUgZGF0YSBpbiB0aGUgc3VwcGxpZWQgb3IKKyAqIGEgbmV3bHkgYWxsb2NhdGVkIGNhY2hlIHN0cnVjdC4gIElmIHRoZSBmaWxlIGRvZXNuJ3QgZXhpc3QsIHJldHVybiBhCisgKiBuZXcgZW1wdHkgY2FjaGUgc3RydWN0LgorICovCit2b2lkIGJsa2lkX3JlYWRfY2FjaGUoYmxraWRfY2FjaGUgY2FjaGUpCit7CisJRklMRSAqZmlsZTsKKwljaGFyIGJ1Zls0MDk2XTsKKwlpbnQgZmQsIGxpbmVubyA9IDA7CisJc3RydWN0IHN0YXQgc3Q7CisKKwkvKgorCSAqIElmIHRoZSBmaWxlIGRvZXNuJ3QgZXhpc3QsIHRoZW4gd2UganVzdCByZXR1cm4gYW4gZW1wdHkKKwkgKiBzdHJ1Y3Qgc28gdGhhdCB0aGUgY2FjaGUgY2FuIGJlIHBvcHVsYXRlZC4KKwkgKi8KKwlpZiAoKGZkID0gb3BlbihjYWNoZS0+YmljX2ZpbGVuYW1lLCBPX1JET05MWXxPX0NMT0VYRUMpKSA8IDApCisJCXJldHVybjsKKwlpZiAoZnN0YXQoZmQsICZzdCkgPCAwKQorCQlnb3RvIGVycm91dDsKKwlpZiAoKHN0LnN0X210aW1lID09IGNhY2hlLT5iaWNfZnRpbWUpIHx8CisJICAgIChjYWNoZS0+YmljX2ZsYWdzICYgQkxLSURfQklDX0ZMX0NIQU5HRUQpKSB7CisJCURCRyhDQUNIRSwgdWxfZGVidWcoInNraXBwaW5nIHJlLXJlYWQgb2YgJXMiLAorCQkJCQljYWNoZS0+YmljX2ZpbGVuYW1lKSk7CisJCWdvdG8gZXJyb3V0OworCX0KKworCURCRyhDQUNIRSwgdWxfZGVidWcoInJlYWRpbmcgY2FjaGUgZmlsZSAlcyIsCisJCQkJY2FjaGUtPmJpY19maWxlbmFtZSkpOworCisJZmlsZSA9IGZkb3BlbihmZCwgInIiIFVMX0NMT0VYRUNTVFIpOworCWlmICghZmlsZSkKKwkJZ290byBlcnJvdXQ7CisKKwl3aGlsZSAoZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgZmlsZSkpIHsKKwkJYmxraWRfZGV2IGRldjsKKwkJdW5zaWduZWQgaW50IGVuZDsKKworCQlsaW5lbm8rKzsKKwkJaWYgKGJ1ZlswXSA9PSAwKQorCQkJY29udGludWU7CisJCWVuZCA9IHN0cmxlbihidWYpIC0gMTsKKwkJLyogQ29udGludWUgcmVhZGluZyBuZXh0IGxpbmUgaWYgaXQgZW5kcyB3aXRoIGEgYmFja3NsYXNoICovCisJCXdoaWxlIChlbmQgPCAoc2l6ZW9mKGJ1ZikgLSAyKSAmJiBidWZbZW5kXSA9PSAnXFwnICYmCisJCSAgICAgICBmZ2V0cyhidWYgKyBlbmQsIHNpemVvZihidWYpIC0gZW5kLCBmaWxlKSkgeworCQkJZW5kID0gc3RybGVuKGJ1ZikgLSAxOworCQkJbGluZW5vKys7CisJCX0KKworCQlpZiAoYmxraWRfcGFyc2VfbGluZShjYWNoZSwgJmRldiwgYnVmKSA8IDApIHsKKwkJCURCRyhSRUFELCB1bF9kZWJ1ZygiYmxraWQ6IGJhZCBmb3JtYXQgb24gbGluZSAlZCIsIGxpbmVubykpOworCQkJY29udGludWU7CisJCX0KKwl9CisJZmNsb3NlKGZpbGUpOworCisJLyoKKwkgKiBJbml0aWFsbHkgd2UgZG8gbm90IG5lZWQgdG8gd3JpdGUgb3V0IHRoZSBjYWNoZSBmaWxlLgorCSAqLworCWNhY2hlLT5iaWNfZmxhZ3MgJj0gfkJMS0lEX0JJQ19GTF9DSEFOR0VEOworCWNhY2hlLT5iaWNfZnRpbWUgPSBzdC5zdF9tdGltZTsKKworCXJldHVybjsKK2Vycm91dDoKKwljbG9zZShmZCk7CisJcmV0dXJuOworfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNCisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyKiphcmd2KQoreworCWJsa2lkX2NhY2hlIGNhY2hlID0gTlVMTDsKKwlpbnQgcmV0OworCisJYmxraWRfaW5pdF9kZWJ1ZyhCTEtJRF9ERUJVR19BTEwpOworCWlmIChhcmdjID4gMikgeworCQlmcHJpbnRmKHN0ZGVyciwgIlVzYWdlOiAlcyBbZmlsZW5hbWVdXG4iCisJCQkiVGVzdCBwYXJzaW5nIG9mIHRoZSBjYWNoZSAoZmlsZW5hbWUpXG4iLCBhcmd2WzBdKTsKKwkJZXhpdCgxKTsKKwl9CisJaWYgKChyZXQgPSBibGtpZF9nZXRfY2FjaGUoJmNhY2hlLCBhcmd2WzFdKSkgPCAwKQorCQlmcHJpbnRmKHN0ZGVyciwgImVycm9yICVkIHJlYWRpbmcgY2FjaGUgZmlsZSAlc1xuIiwgcmV0LAorCQkJYXJndlsxXSA/IGFyZ3ZbMV0gOiBibGtpZF9nZXRfY2FjaGVfZmlsZW5hbWUoTlVMTCkpOworCisJYmxraWRfcHV0X2NhY2hlKGNhY2hlKTsKKworCXJldHVybiByZXQ7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9yZXNvbHZlLmMgYi9saWJibGtpZC9zcmMvcmVzb2x2ZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1ZmMzMzYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvcmVzb2x2ZS5jCkBAIC0wLDAgKzEsMTI5IEBACisvKgorICogcmVzb2x2ZS5jIC0gcmVzb2x2ZSBuYW1lcyBhbmQgdGFncyBpbnRvIHNwZWNpZmljIGRldmljZXMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDEsIDIwMDMgVGhlb2RvcmUgVHMnby4KKyAqIENvcHlyaWdodCAoQykgMjAwMSBBbmRyZWFzIERpbGdlcgorICoKKyAqICVCZWdpbi1IZWFkZXIlCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICogJUVuZC1IZWFkZXIlCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaWZkZWYgSEFWRV9VTklTVERfSAorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2VuZGlmCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgImJsa2lkUC5oIgorCisvKgorICogRmluZCBhIHRhZ25hbWUgKGUuZy4gTEFCRUwgb3IgVVVJRCkgb24gYSBzcGVjaWZpYyBkZXZpY2UuCisgKi8KK2NoYXIgKmJsa2lkX2dldF90YWdfdmFsdWUoYmxraWRfY2FjaGUgY2FjaGUsIGNvbnN0IGNoYXIgKnRhZ25hbWUsCisJCQkgIGNvbnN0IGNoYXIgKmRldm5hbWUpCit7CisJYmxraWRfdGFnIGZvdW5kOworCWJsa2lkX2RldiBkZXY7CisJYmxraWRfY2FjaGUgYyA9IGNhY2hlOworCWNoYXIgKnJldCA9IE5VTEw7CisKKwlEQkcoVEFHLCB1bF9kZWJ1ZygibG9va2luZyBmb3IgJXMgb24gJXMiLCB0YWduYW1lLCBkZXZuYW1lKSk7CisKKwlpZiAoIWRldm5hbWUpCisJCXJldHVybiBOVUxMOworCWlmICghY2FjaGUgJiYgYmxraWRfZ2V0X2NhY2hlKCZjLCBOVUxMKSA8IDApCisJCXJldHVybiBOVUxMOworCisJaWYgKChkZXYgPSBibGtpZF9nZXRfZGV2KGMsIGRldm5hbWUsIEJMS0lEX0RFVl9OT1JNQUwpKSAmJgorCSAgICAoZm91bmQgPSBibGtpZF9maW5kX3RhZ19kZXYoZGV2LCB0YWduYW1lKSkpCisJCXJldCA9IGZvdW5kLT5iaXRfdmFsID8gc3RyZHVwKGZvdW5kLT5iaXRfdmFsKSA6IE5VTEw7CisKKwlpZiAoIWNhY2hlKQorCQlibGtpZF9wdXRfY2FjaGUoYyk7CisKKwlyZXR1cm4gcmV0OworfQorCisvKgorICogTG9jYXRlIGEgZGV2aWNlIG5hbWUgZnJvbSBhIHRva2VuIChOQU1FPXZhbHVlIHN0cmluZyksIG9yIChuYW1lLCB2YWx1ZSkKKyAqIHBhaXIuICBJbiB0aGUgY2FzZSBvZiBhIHRva2VuLCB2YWx1ZSBpcyBpZ25vcmVkLiAgSWYgdGhlICJ0b2tlbiIgaXMgbm90CisgKiBvZiB0aGUgZm9ybSAiTkFNRT12YWx1ZSIgYW5kIHRoZXJlIGlzIG5vIHZhbHVlIGdpdmVuLCB0aGVuIGl0IGlzIGFzc3VtZWQKKyAqIHRvIGJlIHRoZSBhY3R1YWwgZGV2bmFtZSBhbmQgYSBjb3B5IGlzIHJldHVybmVkLgorICovCitjaGFyICpibGtpZF9nZXRfZGV2bmFtZShibGtpZF9jYWNoZSBjYWNoZSwgY29uc3QgY2hhciAqdG9rZW4sCisJCQljb25zdCBjaGFyICp2YWx1ZSkKK3sKKwlibGtpZF9kZXYgZGV2OworCWJsa2lkX2NhY2hlIGMgPSBjYWNoZTsKKwljaGFyICp0ID0gMCwgKnYgPSAwOworCWNoYXIgKnJldCA9IE5VTEw7CisKKwlpZiAoIXRva2VuKQorCQlyZXR1cm4gTlVMTDsKKwlpZiAoIWNhY2hlICYmIGJsa2lkX2dldF9jYWNoZSgmYywgTlVMTCkgPCAwKQorCQlyZXR1cm4gTlVMTDsKKworCURCRyhUQUcsIHVsX2RlYnVnKCJsb29raW5nIGZvciAlcyVzJXMgJXMiLCB0b2tlbiwgdmFsdWUgPyAiPSIgOiAiIiwKKwkJICAgdmFsdWUgPyB2YWx1ZSA6ICIiLCBjYWNoZSA/ICJpbiBjYWNoZSIgOiAiZnJvbSBkaXNrIikpOworCisJaWYgKCF2YWx1ZSkgeworCQlpZiAoIXN0cmNocih0b2tlbiwgJz0nKSkgeworCQkJcmV0ID0gc3RyZHVwKHRva2VuKTsKKwkJCWdvdG8gb3V0OworCQl9CisJCWlmIChibGtpZF9wYXJzZV90YWdfc3RyaW5nKHRva2VuLCAmdCwgJnYpICE9IDAgfHwgIXQgfHwgIXYpCisJCQlnb3RvIG91dDsKKwkJdG9rZW4gPSB0OworCQl2YWx1ZSA9IHY7CisJfQorCisJZGV2ID0gYmxraWRfZmluZF9kZXZfd2l0aF90YWcoYywgdG9rZW4sIHZhbHVlKTsKKwlpZiAoIWRldikKKwkJZ290byBvdXQ7CisKKwlyZXQgPSBkZXYtPmJpZF9uYW1lID8gc3RyZHVwKGRldi0+YmlkX25hbWUpIDogTlVMTDsKK291dDoKKwlmcmVlKHQpOworCWZyZWUodik7CisJaWYgKCFjYWNoZSkKKwkJYmxraWRfcHV0X2NhY2hlKGMpOworCXJldHVybiByZXQ7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU0KK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwljaGFyICp2YWx1ZTsKKwlibGtpZF9jYWNoZSBjYWNoZTsKKworCWJsa2lkX2luaXRfZGVidWcoQkxLSURfREVCVUdfQUxMKTsKKwlpZiAoYXJnYyAhPSAyICYmIGFyZ2MgIT0gMykgeworCQlmcHJpbnRmKHN0ZGVyciwgIlVzYWdlOlx0JXMgdGFnbmFtZT12YWx1ZVxuIgorCQkJIlx0JXMgdGFnbmFtZSBkZXZuYW1lXG4iCisJCQkiRmluZCB3aGljaCBkZXZpY2UgaG9sZHMgYSBnaXZlbiB0b2tlbiBvclxuIgorCQkJIkZpbmQgd2hhdCB0aGUgdmFsdWUgb2YgYSB0YWcgaXMgaW4gYSBkZXZpY2VcbiIsCisJCQlhcmd2WzBdLCBhcmd2WzBdKTsKKwkJZXhpdCgxKTsKKwl9CisJaWYgKGJsa2lkX2dldF9jYWNoZSgmY2FjaGUsICIvZGV2L251bGwiKSA8IDApIHsKKwkJZnByaW50ZihzdGRlcnIsICJDb3VsZG4ndCBnZXQgYmxraWQgY2FjaGVcbiIpOworCQlleGl0KDEpOworCX0KKworCWlmIChhcmd2WzJdKSB7CisJCXZhbHVlID0gYmxraWRfZ2V0X3RhZ192YWx1ZShjYWNoZSwgYXJndlsxXSwgYXJndlsyXSk7CisJCXByaW50ZigiJXMgaGFzIHRhZyAlcz0lc1xuIiwgYXJndlsyXSwgYXJndlsxXSwKKwkJICAgICAgIHZhbHVlID8gdmFsdWUgOiAiPG1pc3Npbmc+Iik7CisJfSBlbHNlIHsKKwkJdmFsdWUgPSBibGtpZF9nZXRfZGV2bmFtZShjYWNoZSwgYXJndlsxXSwgTlVMTCk7CisJCXByaW50ZigiJXMgaGFzIHRhZyAlc1xuIiwgdmFsdWUgPyB2YWx1ZSA6ICI8bm9uZT4iLCBhcmd2WzFdKTsKKwl9CisJYmxraWRfcHV0X2NhY2hlKGNhY2hlKTsKKwlyZXR1cm4gdmFsdWUgPyAwIDogMTsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3NhdmUuYyBiL2xpYmJsa2lkL3NyYy9zYXZlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjEzMDhhOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zYXZlLmMKQEAgLTAsMCArMSwyNDIgQEAKKy8qCisgKiBzYXZlLmMgLSB3cml0ZSB0aGUgY2FjaGUgc3RydWN0IHRvIGRpc2sKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDEgYnkgQW5kcmVhcyBEaWxnZXIKKyAqIENvcHlyaWdodCAoQykgMjAwMyBUaGVvZG9yZSBUcydvCisgKgorICogJUJlZ2luLUhlYWRlciUKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKiAlRW5kLUhlYWRlciUKKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpZmRlZiBIQVZFX1NZU19TVEFUX0gKKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9FUlJOT19ICisjaW5jbHVkZSA8ZXJybm8uaD4KKyNlbmRpZgorCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJmaWxldXRpbHMuaCIKKworI2luY2x1ZGUgImJsa2lkUC5oIgorCisKK3N0YXRpYyB2b2lkIHNhdmVfcXVvdGVkKGNvbnN0IGNoYXIgKmRhdGEsIEZJTEUgKmZpbGUpCit7CisJY29uc3QgY2hhciAqcDsKKworCWZwdXRjKCciJywgZmlsZSk7CisJZm9yIChwID0gZGF0YTsgcCAmJiAqcDsgcCsrKSB7CisJCWlmICgodW5zaWduZWQgY2hhcikgKnAgPT0gMHgyMiB8fAkJLyogIiAqLworCQkgICAgKHVuc2lnbmVkIGNoYXIpICpwID09IDB4NWMpCQkJLyogXCAqLworCQkJZnB1dGMoJ1xcJywgZmlsZSk7CisKKwkJZnB1dGMoKnAsIGZpbGUpOworCX0KKwlmcHV0YygnIicsIGZpbGUpOworfQorc3RhdGljIGludCBzYXZlX2RldihibGtpZF9kZXYgZGV2LCBGSUxFICpmaWxlKQoreworCXN0cnVjdCBsaXN0X2hlYWQgKnA7CisKKwlpZiAoIWRldiB8fCBkZXYtPmJpZF9uYW1lWzBdICE9ICcvJykKKwkJcmV0dXJuIDA7CisKKwlEQkcoU0FWRSwgdWxfZGVidWcoImRldmljZSAlcywgdHlwZSAlcyIsIGRldi0+YmlkX25hbWUsIGRldi0+YmlkX3R5cGUgPworCQkgICBkZXYtPmJpZF90eXBlIDogIihudWxsKSIpKTsKKworCWZwcmludGYoZmlsZSwgIjxkZXZpY2UgREVWTk89XCIweCUwNGx4XCIgVElNRT1cIiVsZC4lbGRcIiIsCisJCQkodW5zaWduZWQgbG9uZykgZGV2LT5iaWRfZGV2bm8sCisJCQkobG9uZykgZGV2LT5iaWRfdGltZSwKKwkJCShsb25nKSBkZXYtPmJpZF91dGltZSk7CisKKwlpZiAoZGV2LT5iaWRfcHJpKQorCQlmcHJpbnRmKGZpbGUsICIgUFJJPVwiJWRcIiIsIGRldi0+YmlkX3ByaSk7CisKKwlsaXN0X2Zvcl9lYWNoKHAsICZkZXYtPmJpZF90YWdzKSB7CisJCWJsa2lkX3RhZyB0YWcgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBibGtpZF9zdHJ1Y3RfdGFnLCBiaXRfdGFncyk7CisKKwkJZnB1dGMoJyAnLCBmaWxlKTsJCQkvKiBzcGFjZSBiZXR3ZWVuIHRhZ3MgKi8KKwkJZnB1dHModGFnLT5iaXRfbmFtZSwgZmlsZSk7CQkvKiB0YWcgTkFNRSAqLworCQlmcHV0YygnPScsIGZpbGUpOwkJCS8qIHNlcGFyYXRvciBiZXR3ZWVuIE5BTUUgYW5kIFZBTFVFICovCisJCXNhdmVfcXVvdGVkKHRhZy0+Yml0X3ZhbCwgZmlsZSk7CS8qIHRhZyAiVkFMVUUiICovCisJfQorCWZwcmludGYoZmlsZSwgIj4lczwvZGV2aWNlPlxuIiwgZGV2LT5iaWRfbmFtZSk7CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFdyaXRlIG91dCB0aGUgY2FjaGUgc3RydWN0IHRvIHRoZSBjYWNoZSBmaWxlIG9uIGRpc2suCisgKi8KK2ludCBibGtpZF9mbHVzaF9jYWNoZShibGtpZF9jYWNoZSBjYWNoZSkKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwOworCWNoYXIgKnRtcCA9IE5VTEw7CisJY2hhciAqb3BlbmVkID0gTlVMTDsKKwljaGFyICpmaWxlbmFtZTsKKwlGSUxFICpmaWxlID0gTlVMTDsKKwlpbnQgZmQsIHJldCA9IDA7CisJc3RydWN0IHN0YXQgc3Q7CisKKwlpZiAobGlzdF9lbXB0eSgmY2FjaGUtPmJpY19kZXZzKSB8fAorCSAgICAhKGNhY2hlLT5iaWNfZmxhZ3MgJiBCTEtJRF9CSUNfRkxfQ0hBTkdFRCkpIHsKKwkJREJHKFNBVkUsIHVsX2RlYnVnKCJza2lwcGluZyBjYWNoZSBmaWxlIHdyaXRlIikpOworCQlyZXR1cm4gMDsKKwl9CisKKwlmaWxlbmFtZSA9IGNhY2hlLT5iaWNfZmlsZW5hbWUgPyBjYWNoZS0+YmljX2ZpbGVuYW1lIDoKKwkJCQkJIGJsa2lkX2dldF9jYWNoZV9maWxlbmFtZShOVUxMKTsKKwlpZiAoIWZpbGVuYW1lKQorCQlyZXR1cm4gLUJMS0lEX0VSUl9QQVJBTTsKKworCWlmIChzdHJuY21wKGZpbGVuYW1lLAorCSAgICBCTEtJRF9SVU5USU1FX0RJUiAiLyIsIHNpemVvZihCTEtJRF9SVU5USU1FX0RJUikpID09IDApIHsKKworCQkvKiBkZWZhdWx0IGRlc3RpbmF0aW9uLCBjcmVhdGUgdGhlIGRpcmVjdG9yeSBpZiBuZWNlc3NhcnkgKi8KKwkJaWYgKHN0YXQoQkxLSURfUlVOVElNRV9ESVIsICZzdCkKKwkJICAgICYmIGVycm5vID09IEVOT0VOVAorCQkgICAgJiYgbWtkaXIoQkxLSURfUlVOVElNRV9ESVIsIFNfSVdVU1J8CisJCQkJCQlTX0lSVVNSfFNfSVJHUlB8U19JUk9USHwKKwkJCQkJCVNfSVhVU1J8U19JWEdSUHxTX0lYT1RIKSAhPSAwCisJCSAgICAmJiBlcnJubyAhPSBFRVhJU1QpIHsKKwkJCURCRyhTQVZFLCB1bF9kZWJ1ZygiY2FuJ3QgY3JlYXRlICVzIGRpcmVjdG9yeSBmb3IgY2FjaGUgZmlsZSIsCisJCQkJCUJMS0lEX1JVTlRJTUVfRElSKSk7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0KKworCS8qIElmIHdlIGNhbid0IHdyaXRlIHRvIHRoZSBjYWNoZSBmaWxlLCB0aGVuIGRvbid0IGV2ZW4gdHJ5ICovCisJaWYgKCgocmV0ID0gc3RhdChmaWxlbmFtZSwgJnN0KSkgPCAwICYmIGVycm5vICE9IEVOT0VOVCkgfHwKKwkgICAgKHJldCA9PSAwICYmIGFjY2VzcyhmaWxlbmFtZSwgV19PSykgPCAwKSkgeworCQlEQkcoU0FWRSwgdWxfZGVidWcoImNhbid0IHdyaXRlIHRvIGNhY2hlIGZpbGUgJXMiLCBmaWxlbmFtZSkpOworCQlyZXR1cm4gMDsKKwl9CisKKwkvKgorCSAqIFRyeSBhbmQgY3JlYXRlIGEgdGVtcG9yYXJ5IGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5IHNvCisJICogdGhhdCBpbiBjYXNlIG9mIGVycm9yIHdlIGRvbid0IG92ZXJ3cml0ZSB0aGUgY2FjaGUgZmlsZS4KKwkgKiBJZiB0aGUgY2FjaGUgZmlsZSBkb2Vzbid0IHlldCBleGlzdCwgaXQgaXNuJ3QgYSByZWd1bGFyCisJICogZmlsZSAoZS5nLiAvZGV2L251bGwgb3IgYSBzb2NrZXQpLCBvciB3ZSBjb3VsZG4ndCBjcmVhdGUKKwkgKiBhIHRlbXBvcmFyeSBmaWxlIHRoZW4gd2Ugb3BlbiBpdCBkaXJlY3RseS4KKwkgKi8KKwlpZiAocmV0ID09IDAgJiYgU19JU1JFRyhzdC5zdF9tb2RlKSkgeworCQl0bXAgPSBtYWxsb2Moc3RybGVuKGZpbGVuYW1lKSArIDgpOworCQlpZiAodG1wKSB7CisJCQlzcHJpbnRmKHRtcCwgIiVzLVhYWFhYWCIsIGZpbGVuYW1lKTsKKwkJCWZkID0gbWtzdGVtcF9jbG9leGVjKHRtcCk7CisJCQlpZiAoZmQgPj0gMCkgeworCQkJCWlmIChmY2htb2QoZmQsIDA2NDQpICE9IDApCisJCQkJCURCRyhTQVZFLCB1bF9kZWJ1ZygiJXM6IGZjaG1vZCBmYWlsZWQiLCBmaWxlbmFtZSkpOworCQkJCWVsc2UgaWYgKChmaWxlID0gZmRvcGVuKGZkLCAidyIgVUxfQ0xPRVhFQ1NUUikpKQorCQkJCQlvcGVuZWQgPSB0bXA7CisJCQkJaWYgKCFmaWxlKQorCQkJCQljbG9zZShmZCk7CisJCQl9CisJCX0KKwl9CisKKwlpZiAoIWZpbGUpIHsKKwkJZmlsZSA9IGZvcGVuKGZpbGVuYW1lLCAidyIgVUxfQ0xPRVhFQ1NUUik7CisJCW9wZW5lZCA9IGZpbGVuYW1lOworCX0KKworCURCRyhTQVZFLCB1bF9kZWJ1Zygid3JpdGluZyBjYWNoZSBmaWxlICVzIChyZWFsbHkgJXMpIiwKKwkJICAgZmlsZW5hbWUsIG9wZW5lZCkpOworCisJaWYgKCFmaWxlKSB7CisJCXJldCA9IGVycm5vOworCQlnb3RvIGVycm91dDsKKwl9CisKKwlsaXN0X2Zvcl9lYWNoKHAsICZjYWNoZS0+YmljX2RldnMpIHsKKwkJYmxraWRfZGV2IGRldiA9IGxpc3RfZW50cnkocCwgc3RydWN0IGJsa2lkX3N0cnVjdF9kZXYsIGJpZF9kZXZzKTsKKwkJaWYgKCFkZXYtPmJpZF90eXBlIHx8IChkZXYtPmJpZF9mbGFncyAmIEJMS0lEX0JJRF9GTF9SRU1PVkFCTEUpKQorCQkJY29udGludWU7CisJCWlmICgocmV0ID0gc2F2ZV9kZXYoZGV2LCBmaWxlKSkgPCAwKQorCQkJYnJlYWs7CisJfQorCisJaWYgKHJldCA+PSAwKSB7CisJCWNhY2hlLT5iaWNfZmxhZ3MgJj0gfkJMS0lEX0JJQ19GTF9DSEFOR0VEOworCQlyZXQgPSAxOworCX0KKworCWlmIChjbG9zZV9zdHJlYW0oZmlsZSkgIT0gMCkKKwkJREJHKFNBVkUsIHVsX2RlYnVnKCJ3cml0ZSBmYWlsZWQ6ICVzIiwgZmlsZW5hbWUpKTsKKworCWlmIChvcGVuZWQgIT0gZmlsZW5hbWUpIHsKKwkJaWYgKHJldCA8IDApIHsKKwkJCXVubGluayhvcGVuZWQpOworCQkJREJHKFNBVkUsIHVsX2RlYnVnKCJ1bmxpbmtlZCB0ZW1wIGNhY2hlICVzIiwgb3BlbmVkKSk7CisJCX0gZWxzZSB7CisJCQljaGFyICpiYWNrdXA7CisKKwkJCWJhY2t1cCA9IG1hbGxvYyhzdHJsZW4oZmlsZW5hbWUpICsgNSk7CisJCQlpZiAoYmFja3VwKSB7CisJCQkJc3ByaW50ZihiYWNrdXAsICIlcy5vbGQiLCBmaWxlbmFtZSk7CisJCQkJdW5saW5rKGJhY2t1cCk7CisJCQkJaWYgKGxpbmsoZmlsZW5hbWUsIGJhY2t1cCkpIHsKKwkJCQkJREJHKFNBVkUsIHVsX2RlYnVnKCJjYW4ndCBsaW5rICVzIHRvICVzIiwKKwkJCQkJCQlmaWxlbmFtZSwgYmFja3VwKSk7CisJCQkJfQorCQkJCWZyZWUoYmFja3VwKTsKKwkJCX0KKwkJCWlmIChyZW5hbWUob3BlbmVkLCBmaWxlbmFtZSkpIHsKKwkJCQlyZXQgPSBlcnJubzsKKwkJCQlEQkcoU0FWRSwgdWxfZGVidWcoImNhbid0IHJlbmFtZSAlcyB0byAlcyIsCisJCQkJCQlvcGVuZWQsIGZpbGVuYW1lKSk7CisJCQl9IGVsc2UgeworCQkJCURCRyhTQVZFLCB1bF9kZWJ1ZygibW92ZWQgdGVtcCBjYWNoZSAlcyIsIG9wZW5lZCkpOworCQkJfQorCQl9CisJfQorCitlcnJvdXQ6CisJZnJlZSh0bXApOworCWlmIChmaWxlbmFtZSAhPSBjYWNoZS0+YmljX2ZpbGVuYW1lKQorCQlmcmVlKGZpbGVuYW1lKTsKKwlyZXR1cm4gcmV0OworfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJYmxraWRfY2FjaGUgY2FjaGUgPSBOVUxMOworCWludCByZXQ7CisKKwlibGtpZF9pbml0X2RlYnVnKEJMS0lEX0RFQlVHX0FMTCk7CisJaWYgKGFyZ2MgPiAyKSB7CisJCWZwcmludGYoc3RkZXJyLCAiVXNhZ2U6ICVzIFtmaWxlbmFtZV1cbiIKKwkJCSJUZXN0IGxvYWRpbmcvc2F2aW5nIGEgY2FjaGUgKGZpbGVuYW1lKVxuIiwgYXJndlswXSk7CisJCWV4aXQoMSk7CisJfQorCisJaWYgKChyZXQgPSBibGtpZF9nZXRfY2FjaGUoJmNhY2hlLCAiL2Rldi9udWxsIikpICE9IDApIHsKKwkJZnByaW50ZihzdGRlcnIsICIlczogZXJyb3IgY3JlYXRpbmcgY2FjaGUgKCVkKVxuIiwKKwkJCWFyZ3ZbMF0sIHJldCk7CisJCWV4aXQoMSk7CisJfQorCWlmICgocmV0ID0gYmxraWRfcHJvYmVfYWxsKGNhY2hlKSkgPCAwKSB7CisJCWZwcmludGYoc3RkZXJyLCAiZXJyb3IgKCVkKSBwcm9iaW5nIGRldmljZXNcbiIsIHJldCk7CisJCWV4aXQoMSk7CisJfQorCWNhY2hlLT5iaWNfZmlsZW5hbWUgPSBzdHJkdXAoYXJndlsxXSk7CisKKwlpZiAoKHJldCA9IGJsa2lkX2ZsdXNoX2NhY2hlKGNhY2hlKSkgPCAwKSB7CisJCWZwcmludGYoc3RkZXJyLCAiZXJyb3IgKCVkKSBzYXZpbmcgY2FjaGVcbiIsIHJldCk7CisJCWV4aXQoMSk7CisJfQorCisJYmxraWRfcHV0X2NhY2hlKGNhY2hlKTsKKworCXJldHVybiByZXQ7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9hZGFwdGVjX3JhaWQuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9hZGFwdGVjX3JhaWQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NWZkNWI4Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2FkYXB0ZWNfcmFpZC5jCkBAIC0wLDAgKzEsMTE2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIEluc3BpcmVkIGJ5IGxpYnZvbHVtZV9pZCBieQorICogICAgIEtheSBTaWV2ZXJzIDxrYXkuc2lldmVyc0B2cmZ5Lm9yZz4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKK3N0cnVjdCBhZGFwdGVjX21ldGFkYXRhIHsKKworCXVpbnQzMl90CWIwaWRjb2RlOworCXVpbnQ4X3QJCWx1bnNhdmVbOF07CisJdWludDE2X3QJc2R0eXBlOworCXVpbnQxNl90CXNzYXZlY3lsOworCXVpbnQ4X3QJCXNzYXZlaGVkOworCXVpbnQ4X3QJCXNzYXZlc2VjOworCXVpbnQ4X3QJCXNiMGZsYWdzOworCXVpbnQ4X3QJCWpib2RFbmFibGU7CisJdWludDhfdAkJbHVuZHNhdmU7CisJdWludDhfdAkJc3ZwZGlydHk7CisJdWludDE2X3QJYmlvc0luZm87CisJdWludDE2X3QJc3Z3YnNraXA7CisJdWludDE2X3QJc3Z3YmNsbjsKKwl1aW50MTZfdAlzdndibWF4OworCXVpbnQxNl90CXJlczM7CisJdWludDE2X3QJc3Z3Ym1pbjsKKwl1aW50MTZfdAlyZXM0OworCXVpbnQxNl90CXN2cmNhY3RoOworCXVpbnQxNl90CXN2d2NhY3RoOworCXVpbnQxNl90CXN2d2JkbHk7CisJdWludDhfdAkJc3ZzZHRpbWU7CisJdWludDhfdAkJcmVzNTsKKwl1aW50MTZfdAlmaXJtdmFsOworCXVpbnQxNl90CWZpcm1ibG47CisJdWludDMyX3QJZmlybWJsazsKKwl1aW50MzJfdAlmc3Ryc3ZyYjsKKwl1aW50MTZfdAlzdkJsb2NrU3RvcmFnZVRpZDsKKwl1aW50MTZfdAlzdnRpZDsKKwl1aW50OF90CQlzdnNlY2NmbDsKKwl1aW50OF90CQlyZXM2OworCXVpbnQ4X3QJCXN2aGJhbnVtOworCXVpbnQ4X3QJCXJlc3ZlcjsKKwl1aW50MzJfdAlkcml2ZW1hZ2ljOworCXVpbnQ4X3QJCXJlc2VydmVkWzIwXTsKKwl1aW50OF90CQl0ZXN0bnVtOworCXVpbnQ4X3QJCXRlc3RmbGFnczsKKwl1aW50MTZfdAltYXhFcnJvckNvdW50OworCXVpbnQzMl90CWNvdW50OworCXVpbnQzMl90CXN0YXJ0VGltZTsKKwl1aW50MzJfdAlpbnRlcnZhbDsKKwl1aW50OF90CQl0c3R4dDA7CisJdWludDhfdAkJdHN0eHQxOworCXVpbnQ4X3QJCXNlck51bVszMl07CisJdWludDhfdAkJcmVzOFsxMDJdOworCXVpbnQzMl90CWZ3VGVzdE1hZ2ljOworCXVpbnQzMl90CWZ3VGVzdFNlcU51bTsKKwl1aW50OF90CQlmd1Rlc3RSZXNbOF07CisJdWludDMyX3QJc21hZ2ljOworCXVpbnQzMl90CXJhaWR0Ymw7CisJdWludDE2X3QJcmFpZGxpbmU7CisJdWludDhfdAkJcmVzOVsweEY2XTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKyNkZWZpbmUgQURfU0lHTkFUVVJFCTB4NDQ1MDU0NEQJLyogIkRQVE0iICovCisjZGVmaW5lIEFEX01BR0lDCTB4MzdGQzREMUUKKworc3RhdGljIGludCBwcm9iZV9hZHJhaWQoYmxraWRfcHJvYmUgcHIsCisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwl1aW50NjRfdCBvZmY7CisJc3RydWN0IGFkYXB0ZWNfbWV0YWRhdGEgKmFkOworCisJaWYgKHByLT5zaXplIDwgMHgxMDAwMCkKKwkJcmV0dXJuIEJMS0lEX1BST0JFX05PTkU7CisKKwlpZiAoIVNfSVNSRUcocHItPm1vZGUpICYmICFibGtpZF9wcm9iZV9pc193aG9sZWRpc2socHIpKQorCQlyZXR1cm4gQkxLSURfUFJPQkVfTk9ORTsKKworCW9mZiA9ICgocHItPnNpemUgLyAweDIwMCktMSkgKiAweDIwMDsKKwlhZCA9IChzdHJ1Y3QgYWRhcHRlY19tZXRhZGF0YSAqKQorCQkJYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwKKwkJCQkJb2ZmLAorCQkJCQlzaXplb2Yoc3RydWN0IGFkYXB0ZWNfbWV0YWRhdGEpKTsKKwlpZiAoIWFkKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiBCTEtJRF9QUk9CRV9OT05FOzsKKworCWlmIChhZC0+c21hZ2ljICE9IGJlMzJfdG9fY3B1KEFEX1NJR05BVFVSRSkpCisJCXJldHVybiBCTEtJRF9QUk9CRV9OT05FOworCWlmIChhZC0+YjBpZGNvZGUgIT0gYmUzMl90b19jcHUoQURfTUFHSUMpKQorCQlyZXR1cm4gQkxLSURfUFJPQkVfTk9ORTsKKwlpZiAoYmxraWRfcHJvYmVfc3ByaW50Zl92ZXJzaW9uKHByLCAiJXUiLCBhZC0+cmVzdmVyKSAhPSAwKQorCQlyZXR1cm4gQkxLSURfUFJPQkVfTk9ORTsKKwlpZiAoYmxraWRfcHJvYmVfc2V0X21hZ2ljKHByLCBvZmYsIHNpemVvZihhZC0+YjBpZGNvZGUpLAorCQkJCSh1bnNpZ25lZCBjaGFyICopICZhZC0+YjBpZGNvZGUpKQorCQlyZXR1cm4gQkxLSURfUFJPQkVfTk9ORTsKKworCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBhZHJhaWRfaWRpbmZvID0geworCS5uYW1lCQk9ICJhZGFwdGVjX3JhaWRfbWVtYmVyIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfUkFJRCwKKwkucHJvYmVmdW5jCT0gcHJvYmVfYWRyYWlkLAorCS5tYWdpY3MJCT0gQkxLSURfTk9ORV9NQUdJQworfTsKKworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvYmNhY2hlLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvYmNhY2hlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODJjMWE4MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9iY2FjaGUuYwpAQCAtMCwwICsxLDEyMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBSb2xmIEZva2tlbnMgPHJvbGZAZm9ra2Vucy5ubD4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICoKKyAqIEJhc2VkIG9uIGNvZGUgZnJhZ21lbnRzIGZyb20gYmNhY2hlLXRvb2xzIGJ5IEtlbnQgT3ZlcnN0cmVldDoKKyAqIGh0dHA6Ly9ldmlscGllcGlyYXRlLm9yZy9naXQvYmNhY2hlLXRvb2xzLmdpdAorICovCisKKyNpbmNsdWRlIDxzdGRkZWYuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworI2RlZmluZSBTQl9MQUJFTF9TSVpFICAgICAgMzIKKyNkZWZpbmUgU0JfSk9VUk5BTF9CVUNLRVRTIDI1NlUKKworI2RlZmluZSBub2RlKGksIGopICAgICAgICAgKChpKS0+ZCArIChqKSkKKyNkZWZpbmUgZW5kKGkpICAgICAgICAgICAgIG5vZGUoaSwgbGUxNl90b19jcHUoKGkpLT5rZXlzKSkKKworc3RhdGljIGNvbnN0IGNoYXIgYmNhY2hlX21hZ2ljW10gPSB7CisJMHhjNiwgMHg4NSwgMHg3MywgMHhmNiwgMHg0ZSwgMHgxYSwgMHg0NSwgMHhjYSwKKwkweDgyLCAweDY1LCAweGY1LCAweDdmLCAweDQ4LCAweGJhLCAweDZkLCAweDgxCit9OworCitzdHJ1Y3QgYmNhY2hlX3N1cGVyX2Jsb2NrIHsKKwl1aW50NjRfdAkJY3N1bTsKKwl1aW50NjRfdAkJb2Zmc2V0OwkvKiBzZWN0b3Igd2hlcmUgdGhpcyBzYiB3YXMgd3JpdHRlbiAqLworCXVpbnQ2NF90CQl2ZXJzaW9uOworCisJdWludDhfdAkJCW1hZ2ljWzE2XTsKKworCXVpbnQ4X3QJCQl1dWlkWzE2XTsKKwl1bmlvbiB7CisJCXVpbnQ4X3QJCXNldF91dWlkWzE2XTsKKwkJdWludDY0X3QJc2V0X21hZ2ljOworCX07CisJdWludDhfdAkJCWxhYmVsW1NCX0xBQkVMX1NJWkVdOworCisJdWludDY0X3QJCWZsYWdzOworCXVpbnQ2NF90CQlzZXE7CisJdWludDY0X3QJCXBhZFs4XTsKKworCXVuaW9uIHsKKwlzdHJ1Y3QgeworCQkvKiBDYWNoZSBkZXZpY2VzICovCisJCXVpbnQ2NF90CW5idWNrZXRzOwkvKiBkZXZpY2Ugc2l6ZSAqLworCisJCXVpbnQxNl90CWJsb2NrX3NpemU7CS8qIHNlY3RvcnMgKi8KKwkJdWludDE2X3QJYnVja2V0X3NpemU7CS8qIHNlY3RvcnMgKi8KKworCQl1aW50MTZfdAlucl9pbl9zZXQ7CisJCXVpbnQxNl90CW5yX3RoaXNfZGV2OworCX07CisJc3RydWN0IHsKKwkJLyogQmFja2luZyBkZXZpY2VzICovCisJCXVpbnQ2NF90CWRhdGFfb2Zmc2V0OworCisJCS8qCisJCSAqIGJsb2NrX3NpemUgZnJvbSB0aGUgY2FjaGUgZGV2aWNlIHNlY3Rpb24gaXMgc3RpbGwgdXNlZCBieQorCQkgKiBiYWNraW5nIGRldmljZXMsIHNvIGRvbid0IGFkZCBhbnl0aGluZyBoZXJlIHVudGlsIHdlIGZpeAorCQkgKiB0aGluZ3MgdG8gbm90IG5lZWQgaXQgZm9yIGJhY2tpbmcgZGV2aWNlcyBhbnltb3JlCisJCSAqLworCX07CisJfTsKKworCXVpbnQzMl90CQlsYXN0X21vdW50OwkvKiB0aW1lX3QgKi8KKworCXVpbnQxNl90CQlmaXJzdF9idWNrZXQ7CisJdW5pb24geworCQl1aW50MTZfdAluam91cm5hbF9idWNrZXRzOworCQl1aW50MTZfdAlrZXlzOworCX07CisJdWludDY0X3QJCWRbU0JfSk9VUk5BTF9CVUNLRVRTXTsJLyogam91cm5hbCBidWNrZXRzICovCit9OworCisvKiBtYWdpYyBzdHJpbmcgKi8KKyNkZWZpbmUgQkNBQ0hFX1NCX01BR0lDICAgICBiY2FjaGVfbWFnaWMKKy8qIG1hZ2ljIHN0cmluZyBsZW4gKi8KKyNkZWZpbmUgQkNBQ0hFX1NCX01BR0lDX0xFTiBzaXplb2YgKGJjYWNoZV9tYWdpYykKKy8qIHN1cGVyIGJsb2NrIG9mZnNldCAqLworI2RlZmluZSBCQ0FDSEVfU0JfT0ZGICAgICAgIDB4MTAwMAorLyogc3VwcGVyIGJsb2NrIG9mZnNldCBpbiBrQiAqLworI2RlZmluZSBCQ0FDSEVfU0JfS0JPRkYgICAgIChCQ0FDSEVfU0JfT0ZGID4+IDEwKQorLyogbWFnaWMgc3RyaW5nIG9mZnNldCB3aXRoaW4gc3VwZXIgYmxvY2sgKi8KKyNkZWZpbmUgQkNBQ0hFX1NCX01BR0lDX09GRiBvZmZzZXRvZiAoc3RydWN0IGJjYWNoZV9zdXBlcl9ibG9jaywgbWFnaWMpCisKK3N0YXRpYyBpbnQgcHJvYmVfYmNhY2hlIChibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJc3RydWN0IGJjYWNoZV9zdXBlcl9ibG9jayAqYmNzOworCisJYmNzID0gYmxraWRfcHJvYmVfZ2V0X3NiKHByLCBtYWcsIHN0cnVjdCBiY2FjaGVfc3VwZXJfYmxvY2spOworCWlmICghYmNzKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiBCTEtJRF9QUk9CRV9OT05FOworCisJaWYgKGxlNjRfdG9fY3B1KGJjcy0+b2Zmc2V0KSAhPSBCQ0FDSEVfU0JfT0ZGIC8gNTEyKQorCQlyZXR1cm4gQkxLSURfUFJPQkVfTk9ORTsKKworCWlmIChibGtpZF9wcm9iZV9zZXRfdXVpZChwciwgYmNzLT51dWlkKSA8IDApCisJCXJldHVybiBCTEtJRF9QUk9CRV9OT05FOworCisJcmV0dXJuIEJMS0lEX1BST0JFX09LOworfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGJjYWNoZV9pZGluZm8gPQoreworCS5uYW1lCQk9ICJiY2FjaGUiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9PVEhFUiwKKwkucHJvYmVmdW5jCT0gcHJvYmVfYmNhY2hlLAorCS5taW5zegkJPSA4MTkyLAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gQkNBQ0hFX1NCX01BR0lDCisJCSwgLmxlbiAgID0gQkNBQ0hFX1NCX01BR0lDX0xFTgorCQksIC5rYm9mZiA9IEJDQUNIRV9TQl9LQk9GRgorCQksIC5zYm9mZiA9IEJDQUNIRV9TQl9NQUdJQ19PRkYKKwkJfSAsCisJCXsgTlVMTCB9CisJfQorfTsKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2JlZnMuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9iZWZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzZlMDc5ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9iZWZzLmMKQEAgLTAsMCArMSw0ODIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgSmVyb2VuIE9vcnR3aWpuIDxvb3J0d2lqbkBnbWFpbC5jb20+CisgKgorICogUGFydGx5IGJhc2VkIG9uIHRoZSBIYWlrdSBCRlMgZHJpdmVyIGJ5CisgKiAgICAgQXhlbCBEw7ZyZmxlciA8YXhlbGRAcGluYy1zb2Z0d2FyZS5kZT4KKyAqCisgKiBBbHNvIGluc3BpcmVkIGJ5IHRoZSBMaW51eCBCZUZTIGRyaXZlciBieQorICogICAgIFdpbGwgRHlzb24gPHdpbGxfZHlzb25AcG9ib3guY29tPiwgZXQgYWwuCisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKKyNkZWZpbmUgQl9PU19OQU1FX0xFTkdUSAkweDIwCisjZGVmaW5lIFNVUEVSX0JMT0NLX01BR0lDMQkweDQyNDY1MzMxCS8qIEJGUzEgKi8KKyNkZWZpbmUgU1VQRVJfQkxPQ0tfTUFHSUMyCTB4ZGQxMjEwMzEKKyNkZWZpbmUgU1VQRVJfQkxPQ0tfTUFHSUMzCTB4MTViNjgzMGUKKyNkZWZpbmUgU1VQRVJfQkxPQ0tfRlNfRU5ESUFOCTB4NDI0OTQ3NDUJLyogQklHRSAqLworI2RlZmluZSBJTk9ERV9NQUdJQzEJCTB4M2JiZTBhZDkKKyNkZWZpbmUgQlBMVVNUUkVFX01BR0lDCQkweDY5ZjZjMmU4CisjZGVmaW5lIEJQTFVTVFJFRV9OVUxMCQktMUxMCisjZGVmaW5lIE5VTV9ESVJFQ1RfQkxPQ0tTCTEyCisjZGVmaW5lIEJfVUlOVDY0X1RZUEUJCTB4NTU0YzRjNDcJLyogVUxMRyAqLworI2RlZmluZSBLRVlfTkFNRQkJImJlOnZvbHVtZV9pZCIKKyNkZWZpbmUgS0VZX1NJWkUJCTgKKworI2RlZmluZSBGUzE2X1RPX0NQVSh2YWx1ZSwgZnNfaXNfbGUpIChmc19pc19sZSA/IGxlMTZfdG9fY3B1KHZhbHVlKSBcCisJCQkJCQkJOiBiZTE2X3RvX2NwdSh2YWx1ZSkpCisjZGVmaW5lIEZTMzJfVE9fQ1BVKHZhbHVlLCBmc19pc19sZSkgKGZzX2lzX2xlID8gbGUzMl90b19jcHUodmFsdWUpIFwKKwkJCQkJCQk6IGJlMzJfdG9fY3B1KHZhbHVlKSkKKyNkZWZpbmUgRlM2NF9UT19DUFUodmFsdWUsIGZzX2lzX2xlKSAoZnNfaXNfbGUgPyBsZTY0X3RvX2NwdSh2YWx1ZSkgXAorCQkJCQkJCTogYmU2NF90b19jcHUodmFsdWUpKQorCit0eXBlZGVmIHN0cnVjdCBibG9ja19ydW4geworCWludDMyX3QJCWFsbG9jYXRpb25fZ3JvdXA7CisJdWludDE2X3QJc3RhcnQ7CisJdWludDE2X3QJbGVuOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSBibG9ja19ydW4sIGlub2RlX2FkZHI7CisKK3N0cnVjdCBiZWZzX3N1cGVyX2Jsb2NrIHsKKwljaGFyCQluYW1lW0JfT1NfTkFNRV9MRU5HVEhdOworCWludDMyX3QJCW1hZ2ljMTsKKwlpbnQzMl90CQlmc19ieXRlX29yZGVyOworCXVpbnQzMl90CWJsb2NrX3NpemU7CisJdWludDMyX3QJYmxvY2tfc2hpZnQ7CisJaW50NjRfdAkJbnVtX2Jsb2NrczsKKwlpbnQ2NF90CQl1c2VkX2Jsb2NrczsKKwlpbnQzMl90CQlpbm9kZV9zaXplOworCWludDMyX3QJCW1hZ2ljMjsKKwlpbnQzMl90CQlibG9ja3NfcGVyX2FnOworCWludDMyX3QJCWFnX3NoaWZ0OworCWludDMyX3QJCW51bV9hZ3M7CisJaW50MzJfdAkJZmxhZ3M7CisJYmxvY2tfcnVuCWxvZ19ibG9ja3M7CisJaW50NjRfdAkJbG9nX3N0YXJ0OworCWludDY0X3QJCWxvZ19lbmQ7CisJaW50MzJfdAkJbWFnaWMzOworCWlub2RlX2FkZHIJcm9vdF9kaXI7CisJaW5vZGVfYWRkcglpbmRpY2VzOworCWludDMyX3QJCXBhZFs4XTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3R5cGVkZWYgc3RydWN0IGRhdGFfc3RyZWFtIHsKKwlibG9ja19ydW4JZGlyZWN0W05VTV9ESVJFQ1RfQkxPQ0tTXTsKKwlpbnQ2NF90CQltYXhfZGlyZWN0X3JhbmdlOworCWJsb2NrX3J1bglpbmRpcmVjdDsKKwlpbnQ2NF90CQltYXhfaW5kaXJlY3RfcmFuZ2U7CisJYmxvY2tfcnVuCWRvdWJsZV9pbmRpcmVjdDsKKwlpbnQ2NF90CQltYXhfZG91YmxlX2luZGlyZWN0X3JhbmdlOworCWludDY0X3QJCXNpemU7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIGRhdGFfc3RyZWFtOworCitzdHJ1Y3QgYmVmc19pbm9kZSB7CisJaW50MzJfdAkJbWFnaWMxOworCWlub2RlX2FkZHIJaW5vZGVfbnVtOworCWludDMyX3QJCXVpZDsKKwlpbnQzMl90CQlnaWQ7CisJaW50MzJfdAkJbW9kZTsKKwlpbnQzMl90CQlmbGFnczsKKwlpbnQ2NF90CQljcmVhdGVfdGltZTsKKwlpbnQ2NF90CQlsYXN0X21vZGlmaWVkX3RpbWU7CisJaW5vZGVfYWRkcglwYXJlbnQ7CisJaW5vZGVfYWRkcglhdHRyaWJ1dGVzOworCXVpbnQzMl90CXR5cGU7CisJaW50MzJfdAkJaW5vZGVfc2l6ZTsKKwl1aW50MzJfdAlldGM7CisJZGF0YV9zdHJlYW0JZGF0YTsKKwlpbnQzMl90CQlwYWRbNF07CisJaW50MzJfdAkJc21hbGxfZGF0YVswXTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0cnVjdCBzbWFsbF9kYXRhIHsKKwl1aW50MzJfdAl0eXBlOworCXVpbnQxNl90CW5hbWVfc2l6ZTsKKwl1aW50MTZfdAlkYXRhX3NpemU7CisJY2hhcgkJbmFtZVswXTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0cnVjdCBicGx1c3RyZWVfaGVhZGVyIHsKKwl1aW50MzJfdAltYWdpYzsKKwl1aW50MzJfdAlub2RlX3NpemU7CisJdWludDMyX3QJbWF4X251bWJlcl9vZl9sZXZlbHM7CisJdWludDMyX3QJZGF0YV90eXBlOworCWludDY0X3QJCXJvb3Rfbm9kZV9wb2ludGVyOworCWludDY0X3QJCWZyZWVfbm9kZV9wb2ludGVyOworCWludDY0X3QJCW1heGltdW1fc2l6ZTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0cnVjdCBicGx1c3RyZWVfbm9kZSB7CisJaW50NjRfdAkJbGVmdF9saW5rOworCWludDY0X3QJCXJpZ2h0X2xpbms7CisJaW50NjRfdAkJb3ZlcmZsb3dfbGluazsKKwl1aW50MTZfdAlhbGxfa2V5X2NvdW50OworCXVpbnQxNl90CWFsbF9rZXlfbGVuZ3RoOworCWNoYXIJCW5hbWVbMF07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdGF0aWMgdW5zaWduZWQgY2hhciAqZ2V0X2Jsb2NrX3J1bihibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJlZnNfc3VwZXJfYmxvY2sgKmJzLAorCQkJCQljb25zdCBzdHJ1Y3QgYmxvY2tfcnVuICpiciwgaW50IGZzX2xlKQoreworCXJldHVybiBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLAorCQkJKCh1aW50NjRfdCkgRlMzMl9UT19DUFUoYnItPmFsbG9jYXRpb25fZ3JvdXAsIGZzX2xlKQorCQkJCQk8PCBGUzMyX1RPX0NQVShicy0+YWdfc2hpZnQsIGZzX2xlKQorCQkJCQk8PCBGUzMyX1RPX0NQVShicy0+YmxvY2tfc2hpZnQsIGZzX2xlKSkKKwkJCQkrICgodWludDY0X3QpIEZTMTZfVE9fQ1BVKGJyLT5zdGFydCwgZnNfbGUpCisJCQkJCTw8IEZTMzJfVE9fQ1BVKGJzLT5ibG9ja19zaGlmdCwgZnNfbGUpKSwKKwkJCSh1aW50NjRfdCkgRlMxNl9UT19DUFUoYnItPmxlbiwgZnNfbGUpCisJCQkJCTw8IEZTMzJfVE9fQ1BVKGJzLT5ibG9ja19zaGlmdCwgZnNfbGUpKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGNoYXIgKmdldF9jdXN0b21fYmxvY2tfcnVuKGJsa2lkX3Byb2JlIHByLAorCQkJCWNvbnN0IHN0cnVjdCBiZWZzX3N1cGVyX2Jsb2NrICpicywKKwkJCQljb25zdCBzdHJ1Y3QgYmxvY2tfcnVuICpiciwKKwkJCQlpbnQ2NF90IG9mZnNldCwgdWludDMyX3QgbGVuZ3RoLCBpbnQgZnNfbGUpCit7CisJaWYgKG9mZnNldCArIGxlbmd0aCA+IChpbnQ2NF90KSBGUzE2X1RPX0NQVShici0+bGVuLCBmc19sZSkKKwkJCQkJPDwgRlMzMl9UT19DUFUoYnMtPmJsb2NrX3NoaWZ0LCBmc19sZSkpCisJCXJldHVybiBOVUxMOworCisJcmV0dXJuIGJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsCisJCQkoKHVpbnQ2NF90KSBGUzMyX1RPX0NQVShici0+YWxsb2NhdGlvbl9ncm91cCwgZnNfbGUpCisJCQkJCTw8IEZTMzJfVE9fQ1BVKGJzLT5hZ19zaGlmdCwgZnNfbGUpCisJCQkJCTw8IEZTMzJfVE9fQ1BVKGJzLT5ibG9ja19zaGlmdCwgZnNfbGUpKQorCQkJCSsgKCh1aW50NjRfdCkgRlMxNl9UT19DUFUoYnItPnN0YXJ0LCBmc19sZSkKKwkJCQkJPDwgRlMzMl9UT19DUFUoYnMtPmJsb2NrX3NoaWZ0LCBmc19sZSkpCisJCQkJKyBvZmZzZXQsCisJCQlsZW5ndGgpOworfQorCitzdGF0aWMgdW5zaWduZWQgY2hhciAqZ2V0X3RyZWVfbm9kZShibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJlZnNfc3VwZXJfYmxvY2sgKmJzLAorCQkJCWNvbnN0IHN0cnVjdCBkYXRhX3N0cmVhbSAqZHMsCisJCQkJaW50NjRfdCBzdGFydCwgdWludDMyX3QgbGVuZ3RoLCBpbnQgZnNfbGUpCit7CisJaWYgKHN0YXJ0IDwgKGludDY0X3QpIEZTNjRfVE9fQ1BVKGRzLT5tYXhfZGlyZWN0X3JhbmdlLCBmc19sZSkpIHsKKwkJaW50NjRfdCBicl9sZW47CisJCXNpemVfdCBpOworCisJCWZvciAoaSA9IDA7IGkgPCBOVU1fRElSRUNUX0JMT0NLUzsgaSsrKSB7CisJCQlicl9sZW4gPSAoaW50NjRfdCkgRlMxNl9UT19DUFUoZHMtPmRpcmVjdFtpXS5sZW4sIGZzX2xlKQorCQkJCQk8PCBGUzMyX1RPX0NQVShicy0+YmxvY2tfc2hpZnQsIGZzX2xlKTsKKwkJCWlmIChzdGFydCA8IGJyX2xlbikKKwkJCQlyZXR1cm4gZ2V0X2N1c3RvbV9ibG9ja19ydW4ocHIsIGJzLAorCQkJCQkJCSZkcy0+ZGlyZWN0W2ldLAorCQkJCQkJCXN0YXJ0LCBsZW5ndGgsIGZzX2xlKTsKKwkJCWVsc2UKKwkJCQlzdGFydCAtPSBicl9sZW47CisJCX0KKwl9IGVsc2UgaWYgKHN0YXJ0IDwgKGludDY0X3QpIEZTNjRfVE9fQ1BVKGRzLT5tYXhfaW5kaXJlY3RfcmFuZ2UsIGZzX2xlKSkgeworCQlzdHJ1Y3QgYmxvY2tfcnVuICpicjsKKwkJaW50NjRfdCBtYXhfYnIsIGJyX2xlbiwgaTsKKworCQlzdGFydCAtPSBGUzY0X1RPX0NQVShkcy0+bWF4X2RpcmVjdF9yYW5nZSwgZnNfbGUpOworCQltYXhfYnIgPSAoKGludDY0X3QpIEZTMTZfVE9fQ1BVKGRzLT5pbmRpcmVjdC5sZW4sIGZzX2xlKQorCQkJCQk8PCBGUzMyX1RPX0NQVShicy0+YmxvY2tfc2hpZnQsIGZzX2xlKSkKKwkJCQkvIHNpemVvZihzdHJ1Y3QgYmxvY2tfcnVuKTsKKworCQliciA9IChzdHJ1Y3QgYmxvY2tfcnVuICopIGdldF9ibG9ja19ydW4ocHIsIGJzLCAmZHMtPmluZGlyZWN0LAorCQkJCQkJCQkJZnNfbGUpOworCQlpZiAoIWJyKQorCQkJcmV0dXJuIE5VTEw7CisKKwkJZm9yIChpID0gMDsgaSA8IG1heF9icjsgaSsrKSB7CisJCQlicl9sZW4gPSAoaW50NjRfdCkgRlMxNl9UT19DUFUoYnJbaV0ubGVuLCBmc19sZSkKKwkJCQkJPDwgRlMzMl9UT19DUFUoYnMtPmJsb2NrX3NoaWZ0LCBmc19sZSk7CisJCQlpZiAoc3RhcnQgPCBicl9sZW4pCisJCQkJcmV0dXJuIGdldF9jdXN0b21fYmxvY2tfcnVuKHByLCBicywgJmJyW2ldLAorCQkJCQkJCXN0YXJ0LCBsZW5ndGgsIGZzX2xlKTsKKwkJCWVsc2UKKwkJCQlzdGFydCAtPSBicl9sZW47CisJCX0KKwl9IGVsc2UgaWYgKHN0YXJ0IDwgKGludDY0X3QpIEZTNjRfVE9fQ1BVKGRzLT5tYXhfZG91YmxlX2luZGlyZWN0X3JhbmdlLCBmc19sZSkpIHsKKwkJc3RydWN0IGJsb2NrX3J1biAqYnI7CisJCWludDY0X3QgZGlfYnJfc2l6ZSwgYnJfcGVyX2RpX2JyLCBkaV9pbmRleCwgaV9pbmRleDsKKworCQlzdGFydCAtPSAoaW50NjRfdCkgRlM2NF9UT19DUFUoZHMtPm1heF9pbmRpcmVjdF9yYW5nZSwgZnNfbGUpOworCisJCWRpX2JyX3NpemUgPSAoaW50NjRfdCkgRlMxNl9UT19DUFUoZHMtPmRvdWJsZV9pbmRpcmVjdC5sZW4sCisJCQkJZnNfbGUpIDw8IEZTMzJfVE9fQ1BVKGJzLT5ibG9ja19zaGlmdCwgZnNfbGUpOworCQlpZiAoZGlfYnJfc2l6ZSA9PSAwKQorCQkJcmV0dXJuIE5VTEw7CisKKwkJYnJfcGVyX2RpX2JyID0gZGlfYnJfc2l6ZSAvIHNpemVvZihzdHJ1Y3QgYmxvY2tfcnVuKTsKKwkJaWYgKGJyX3Blcl9kaV9iciA9PSAwKQorCQkJcmV0dXJuIE5VTEw7CisKKwkJZGlfaW5kZXggPSBzdGFydCAvIChicl9wZXJfZGlfYnIgKiBkaV9icl9zaXplKTsKKwkJaV9pbmRleCA9IChzdGFydCAlIChicl9wZXJfZGlfYnIgKiBkaV9icl9zaXplKSkgLyBkaV9icl9zaXplOworCQlzdGFydCA9IChzdGFydCAlIChicl9wZXJfZGlfYnIgKiBkaV9icl9zaXplKSkgJSBkaV9icl9zaXplOworCisJCWJyID0gKHN0cnVjdCBibG9ja19ydW4gKikgZ2V0X2Jsb2NrX3J1bihwciwgYnMsCisJCQkJCQkmZHMtPmRvdWJsZV9pbmRpcmVjdCwgZnNfbGUpOworCQlpZiAoIWJyKQorCQkJcmV0dXJuIE5VTEw7CisKKwkJYnIgPSAoc3RydWN0IGJsb2NrX3J1biAqKSBnZXRfYmxvY2tfcnVuKHByLCBicywgJmJyW2RpX2luZGV4XSwKKwkJCQkJCQkJCWZzX2xlKTsKKwkJaWYgKCFicikKKwkJCXJldHVybiBOVUxMOworCisJCXJldHVybiBnZXRfY3VzdG9tX2Jsb2NrX3J1bihwciwgYnMsICZicltpX2luZGV4XSwgc3RhcnQsIGxlbmd0aCwKKwkJCQkJCQkJCWZzX2xlKTsKKwl9CisJcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyBpbnQzMl90IGNvbXBhcmVfa2V5cyhjb25zdCBjaGFyIGtleXMxW10sIHVpbnQxNl90IGtleWxlbmd0aHMxW10sIGludDMyX3QgaW5kZXgsCisJCQljb25zdCBjaGFyICprZXkyLCB1aW50MTZfdCBrZXlsZW5ndGgyLCBpbnQgZnNfbGUpCit7CisJY29uc3QgY2hhciAqa2V5MTsKKwl1aW50MTZfdCBrZXlsZW5ndGgxOworCWludDMyX3QgcmVzdWx0OworCisJa2V5MSA9ICZrZXlzMVtpbmRleCA9PSAwID8gMCA6IEZTMTZfVE9fQ1BVKGtleWxlbmd0aHMxW2luZGV4IC0gMV0sCisJCQkJCQkJCQlmc19sZSldOworCWtleWxlbmd0aDEgPSBGUzE2X1RPX0NQVShrZXlsZW5ndGhzMVtpbmRleF0sIGZzX2xlKQorCQkJLSAoaW5kZXggPT0gMCA/IDAgOiBGUzE2X1RPX0NQVShrZXlsZW5ndGhzMVtpbmRleCAtIDFdLAorCQkJCQkJCQkJZnNfbGUpKTsKKworCXJlc3VsdCA9IHN0cm5jbXAoa2V5MSwga2V5MiwgbWluKGtleWxlbmd0aDEsIGtleWxlbmd0aDIpKTsKKworCWlmIChyZXN1bHQgPT0gMCkKKwkJcmV0dXJuIGtleWxlbmd0aDEgLSBrZXlsZW5ndGgyOworCisJcmV0dXJuIHJlc3VsdDsKK30KKworc3RhdGljIGludDY0X3QgZ2V0X2tleV92YWx1ZShibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJlZnNfc3VwZXJfYmxvY2sgKmJzLAorCQkJY29uc3Qgc3RydWN0IGJlZnNfaW5vZGUgKmJpLCBjb25zdCBjaGFyICprZXksIGludCBmc19sZSkKK3sKKwlzdHJ1Y3QgYnBsdXN0cmVlX2hlYWRlciAqYmg7CisJc3RydWN0IGJwbHVzdHJlZV9ub2RlICpibjsKKwl1aW50MTZfdCAqa2V5bGVuZ3RoczsKKwlpbnQ2NF90ICp2YWx1ZXM7CisJaW50NjRfdCBub2RlX3BvaW50ZXI7CisJaW50MzJfdCBmaXJzdCwgbGFzdCwgbWlkLCBjbXA7CisKKwllcnJubyA9IDA7CisJYmggPSAoc3RydWN0IGJwbHVzdHJlZV9oZWFkZXIgKikgZ2V0X3RyZWVfbm9kZShwciwgYnMsICZiaS0+ZGF0YSwgMCwKKwkJCQkJc2l6ZW9mKHN0cnVjdCBicGx1c3RyZWVfaGVhZGVyKSwgZnNfbGUpOworCWlmICghYmgpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IC1FTk9FTlQ7CisKKwlpZiAoKGludDMyX3QpIEZTMzJfVE9fQ1BVKGJoLT5tYWdpYywgZnNfbGUpICE9IEJQTFVTVFJFRV9NQUdJQykKKwkJcmV0dXJuIC1FTk9FTlQ7CisKKwlub2RlX3BvaW50ZXIgPSBGUzY0X1RPX0NQVShiaC0+cm9vdF9ub2RlX3BvaW50ZXIsIGZzX2xlKTsKKworCWRvIHsKKwkJZXJybm8gPSAwOworCQlibiA9IChzdHJ1Y3QgYnBsdXN0cmVlX25vZGUgKikgZ2V0X3RyZWVfbm9kZShwciwgYnMsICZiaS0+ZGF0YSwKKwkJCW5vZGVfcG9pbnRlciwgRlMzMl9UT19DUFUoYmgtPm5vZGVfc2l6ZSwgZnNfbGUpLCBmc19sZSk7CisJCWlmICghYm4pCisJCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAtRU5PRU5UOworCisJCWtleWxlbmd0aHMgPSAodWludDE2X3QgKikgKCh1aW50OF90ICopIGJuCisJCQkJKyAoKHNpemVvZihzdHJ1Y3QgYnBsdXN0cmVlX25vZGUpCisJCQkJCSsgRlMxNl9UT19DUFUoYm4tPmFsbF9rZXlfbGVuZ3RoLCBmc19sZSkKKwkJCQkJKyBzaXplb2YoaW50NjRfdCkgLSAxKQorCQkJCQkJJiB+KHNpemVvZihpbnQ2NF90KSAtIDEpKSk7CisJCXZhbHVlcyA9IChpbnQ2NF90ICopICgodWludDhfdCAqKSBrZXlsZW5ndGhzCisJCQkJCSsgRlMxNl9UT19DUFUoYm4tPmFsbF9rZXlfY291bnQsIGZzX2xlKQorCQkJCQkJKiBzaXplb2YodWludDE2X3QpKTsKKwkJZmlyc3QgPSAwOworCQltaWQgPSAwOworCQlsYXN0ID0gRlMxNl9UT19DUFUoYm4tPmFsbF9rZXlfY291bnQsIGZzX2xlKSAtIDE7CisKKwkJY21wID0gY29tcGFyZV9rZXlzKGJuLT5uYW1lLCBrZXlsZW5ndGhzLCBsYXN0LCBrZXksIHN0cmxlbihrZXkpLAorCQkJCQkJCQkJZnNfbGUpOworCQlpZiAoY21wID09IDApIHsKKwkJCWlmICgoaW50NjRfdCkgRlM2NF9UT19DUFUoYm4tPm92ZXJmbG93X2xpbmssIGZzX2xlKQorCQkJCQkJCT09IEJQTFVTVFJFRV9OVUxMKQorCQkJCXJldHVybiBGUzY0X1RPX0NQVSh2YWx1ZXNbbGFzdF0sIGZzX2xlKTsKKwkJCWVsc2UKKwkJCQlub2RlX3BvaW50ZXIgPSBGUzY0X1RPX0NQVSh2YWx1ZXNbbGFzdF0sIGZzX2xlKTsKKwkJfSBlbHNlIGlmIChjbXAgPCAwKQorCQkJbm9kZV9wb2ludGVyID0gRlM2NF9UT19DUFUoYm4tPm92ZXJmbG93X2xpbmssIGZzX2xlKTsKKwkJZWxzZSB7CisJCQl3aGlsZSAoZmlyc3QgPD0gbGFzdCkgeworCQkJCW1pZCA9IChmaXJzdCArIGxhc3QpIC8gMjsKKworCQkJCWNtcCA9IGNvbXBhcmVfa2V5cyhibi0+bmFtZSwga2V5bGVuZ3RocywgbWlkLAorCQkJCQkJa2V5LCBzdHJsZW4oa2V5KSwgZnNfbGUpOworCQkJCWlmIChjbXAgPT0gMCkgeworCQkJCQlpZiAoKGludDY0X3QpIEZTNjRfVE9fQ1BVKGJuLT5vdmVyZmxvd19saW5rLAorCQkJCQkJZnNfbGUpID09IEJQTFVTVFJFRV9OVUxMKQorCQkJCQkJcmV0dXJuIEZTNjRfVE9fQ1BVKHZhbHVlc1ttaWRdLAorCQkJCQkJCQkJZnNfbGUpOworCQkJCQllbHNlCisJCQkJCQlicmVhazsKKwkJCQl9IGVsc2UgaWYgKGNtcCA8IDApCisJCQkJCWZpcnN0ID0gbWlkICsgMTsKKwkJCQllbHNlCisJCQkJCWxhc3QgPSBtaWQgLSAxOworCQkJfQorCQkJaWYgKGNtcCA8IDApCisJCQkJbm9kZV9wb2ludGVyID0gRlM2NF9UT19DUFUodmFsdWVzW21pZCArIDFdLAorCQkJCQkJCQkJZnNfbGUpOworCQkJZWxzZQorCQkJCW5vZGVfcG9pbnRlciA9IEZTNjRfVE9fQ1BVKHZhbHVlc1ttaWRdLCBmc19sZSk7CisJCX0KKwl9IHdoaWxlICgoaW50NjRfdCkgRlM2NF9UT19DUFUoYm4tPm92ZXJmbG93X2xpbmssIGZzX2xlKQorCQkJCQkJIT0gQlBMVVNUUkVFX05VTEwpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGdldF91dWlkKGJsa2lkX3Byb2JlIHByLCBjb25zdCBzdHJ1Y3QgYmVmc19zdXBlcl9ibG9jayAqYnMsCisJCQkJCXVpbnQ2NF90ICogY29uc3QgdXVpZCwgaW50IGZzX2xlKQoreworCXN0cnVjdCBiZWZzX2lub2RlICpiaTsKKwlzdHJ1Y3Qgc21hbGxfZGF0YSAqc2Q7CisKKwliaSA9IChzdHJ1Y3QgYmVmc19pbm9kZSAqKSBnZXRfYmxvY2tfcnVuKHByLCBicywgJmJzLT5yb290X2RpciwgZnNfbGUpOworCWlmICghYmkpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IEJMS0lEX1BST0JFX05PTkU7CisKKwlpZiAoRlMzMl9UT19DUFUoYmktPm1hZ2ljMSwgZnNfbGUpICE9IElOT0RFX01BR0lDMSkKKwkJcmV0dXJuIEJMS0lEX1BST0JFX05PTkU7CisKKwlzZCA9IChzdHJ1Y3Qgc21hbGxfZGF0YSAqKSBiaS0+c21hbGxfZGF0YTsKKworCWRvIHsKKwkJaWYgKEZTMzJfVE9fQ1BVKHNkLT50eXBlLCBmc19sZSkgPT0gQl9VSU5UNjRfVFlQRQorCQkJJiYgRlMxNl9UT19DUFUoc2QtPm5hbWVfc2l6ZSwgZnNfbGUpID09IHN0cmxlbihLRVlfTkFNRSkKKwkJCSYmIEZTMTZfVE9fQ1BVKHNkLT5kYXRhX3NpemUsIGZzX2xlKSA9PSBLRVlfU0laRQorCQkJJiYgc3RyY21wKHNkLT5uYW1lLCBLRVlfTkFNRSkgPT0gMCkgeworCisJCQltZW1jcHkodXVpZCwKKwkJCSAgICAgICBzZC0+bmFtZSArIEZTMTZfVE9fQ1BVKHNkLT5uYW1lX3NpemUsIGZzX2xlKSArIDMsCisJCQkgICAgICAgc2l6ZW9mKHVpbnQ2NF90KSk7CisKKwkJCWJyZWFrOworCQl9IGVsc2UgaWYgKEZTMzJfVE9fQ1BVKHNkLT50eXBlLCBmc19sZSkgPT0gMAorCQkJCSYmIEZTMTZfVE9fQ1BVKHNkLT5uYW1lX3NpemUsIGZzX2xlKSA9PSAwCisJCQkJJiYgRlMxNl9UT19DUFUoc2QtPmRhdGFfc2l6ZSwgZnNfbGUpID09IDApCisJCQlicmVhazsKKworCQlzZCA9IChzdHJ1Y3Qgc21hbGxfZGF0YSAqKSAoKHVpbnQ4X3QgKikgc2QKKwkJCQkrIHNpemVvZihzdHJ1Y3Qgc21hbGxfZGF0YSkKKwkJCQkrIEZTMTZfVE9fQ1BVKHNkLT5uYW1lX3NpemUsIGZzX2xlKSArIDMKKwkJCQkrIEZTMTZfVE9fQ1BVKHNkLT5kYXRhX3NpemUsIGZzX2xlKSArIDEpOworCisJfSB3aGlsZSAoKGludHB0cl90KSBzZCA8IChpbnRwdHJfdCkgYmkKKwkJCQkrIChpbnQzMl90KSBGUzMyX1RPX0NQVShiaS0+aW5vZGVfc2l6ZSwgZnNfbGUpCisJCQkJLSAoaW50MzJfdCkgc2l6ZW9mKHN0cnVjdCBzbWFsbF9kYXRhKSk7CisJaWYgKCp1dWlkID09IDAKKwkJJiYgKEZTMzJfVE9fQ1BVKGJpLT5hdHRyaWJ1dGVzLmFsbG9jYXRpb25fZ3JvdXAsIGZzX2xlKSAhPSAwCisJCQl8fCBGUzE2X1RPX0NQVShiaS0+YXR0cmlidXRlcy5zdGFydCwgZnNfbGUpICE9IDAKKwkJCXx8IEZTMTZfVE9fQ1BVKGJpLT5hdHRyaWJ1dGVzLmxlbiwgZnNfbGUpICE9IDApKSB7CisJCWludDY0X3QgdmFsdWU7CisKKwkJYmkgPSAoc3RydWN0IGJlZnNfaW5vZGUgKikgZ2V0X2Jsb2NrX3J1bihwciwgYnMsCisJCQkJCQkJJmJpLT5hdHRyaWJ1dGVzLCBmc19sZSk7CisJCWlmICghYmkpCisJCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiBCTEtJRF9QUk9CRV9OT05FOworCisJCWlmIChGUzMyX1RPX0NQVShiaS0+bWFnaWMxLCBmc19sZSkgIT0gSU5PREVfTUFHSUMxKQorCQkJcmV0dXJuIEJMS0lEX1BST0JFX05PTkU7CisKKwkJdmFsdWUgPSBnZXRfa2V5X3ZhbHVlKHByLCBicywgYmksIEtFWV9OQU1FLCBmc19sZSk7CisJCWlmICh2YWx1ZSA8IDApCisJCQlyZXR1cm4gdmFsdWUgPT0gLUVOT0VOVCA/IEJMS0lEX1BST0JFX05PTkUgOiB2YWx1ZTsKKworCQllbHNlIGlmICh2YWx1ZSA+IDApIHsKKwkJCWJpID0gKHN0cnVjdCBiZWZzX2lub2RlICopIGJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsCisJCQkJdmFsdWUgPDwgRlMzMl9UT19DUFUoYnMtPmJsb2NrX3NoaWZ0LCBmc19sZSksCisJCQkJRlMzMl9UT19DUFUoYnMtPmJsb2NrX3NpemUsIGZzX2xlKSk7CisJCQlpZiAoIWJpKQorCQkJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IEJMS0lEX1BST0JFX05PTkU7CisKKwkJCWlmIChGUzMyX1RPX0NQVShiaS0+bWFnaWMxLCBmc19sZSkgIT0gSU5PREVfTUFHSUMxKQorCQkJCXJldHVybiAxOworCisJCQlpZiAoRlMzMl9UT19DUFUoYmktPnR5cGUsIGZzX2xlKSA9PSBCX1VJTlQ2NF9UWVBFCisJCQkJJiYgRlM2NF9UT19DUFUoYmktPmRhdGEuc2l6ZSwgZnNfbGUpID09IEtFWV9TSVpFCisJCQkJJiYgRlMxNl9UT19DUFUoYmktPmRhdGEuZGlyZWN0WzBdLmxlbiwgZnNfbGUpCisJCQkJCQkJCQk9PSAxKSB7CisJCQkJdWludDY0X3QgKmF0dHJfZGF0YTsKKworCQkJCWF0dHJfZGF0YSA9ICh1aW50NjRfdCAqKSBnZXRfYmxvY2tfcnVuKHByLCBicywKKwkJCQkJCSZiaS0+ZGF0YS5kaXJlY3RbMF0sIGZzX2xlKTsKKwkJCQlpZiAoIWF0dHJfZGF0YSkKKwkJCQkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogQkxLSURfUFJPQkVfTk9ORTsKKworCQkJCSp1dWlkID0gKmF0dHJfZGF0YTsKKwkJCX0KKwkJfQorCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwcm9iZV9iZWZzKGJsa2lkX3Byb2JlIHByLCBjb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZykKK3sKKwlzdHJ1Y3QgYmVmc19zdXBlcl9ibG9jayAqYnM7CisJY29uc3QgY2hhciAqdmVyc2lvbiA9IE5VTEw7CisJdWludDY0X3Qgdm9sdW1lX2lkID0gMDsKKwlpbnQgZnNfbGUsIHJldDsKKworCWJzID0gKHN0cnVjdCBiZWZzX3N1cGVyX2Jsb2NrICopIGJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsCisJCQkJCW1hZy0+c2JvZmYgLSBCX09TX05BTUVfTEVOR1RILAorCQkJCQlzaXplb2Yoc3RydWN0IGJlZnNfc3VwZXJfYmxvY2spKTsKKwlpZiAoIWJzKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiBCTEtJRF9QUk9CRV9OT05FOworCisJaWYgKGxlMzJfdG9fY3B1KGJzLT5tYWdpYzEpID09IFNVUEVSX0JMT0NLX01BR0lDMQorCQkmJiBsZTMyX3RvX2NwdShicy0+bWFnaWMyKSA9PSBTVVBFUl9CTE9DS19NQUdJQzIKKwkJJiYgbGUzMl90b19jcHUoYnMtPm1hZ2ljMykgPT0gU1VQRVJfQkxPQ0tfTUFHSUMzCisJCSYmIGxlMzJfdG9fY3B1KGJzLT5mc19ieXRlX29yZGVyKSA9PSBTVVBFUl9CTE9DS19GU19FTkRJQU4pIHsKKwkJZnNfbGUgPSAxOworCQl2ZXJzaW9uID0gImxpdHRsZS1lbmRpYW4iOworCX0gZWxzZSBpZiAoYmUzMl90b19jcHUoYnMtPm1hZ2ljMSkgPT0gU1VQRVJfQkxPQ0tfTUFHSUMxCisJCSYmIGJlMzJfdG9fY3B1KGJzLT5tYWdpYzIpID09IFNVUEVSX0JMT0NLX01BR0lDMgorCQkmJiBiZTMyX3RvX2NwdShicy0+bWFnaWMzKSA9PSBTVVBFUl9CTE9DS19NQUdJQzMKKwkJJiYgYmUzMl90b19jcHUoYnMtPmZzX2J5dGVfb3JkZXIpID09IFNVUEVSX0JMT0NLX0ZTX0VORElBTikgeworCQlmc19sZSA9IDA7CisJCXZlcnNpb24gPSAiYmlnLWVuZGlhbiI7CisJfSBlbHNlCisJCXJldHVybiBCTEtJRF9QUk9CRV9OT05FOworCisJcmV0ID0gZ2V0X3V1aWQocHIsIGJzLCAmdm9sdW1lX2lkLCBmc19sZSk7CisKKwlpZiAocmV0ICE9IDApCisJCXJldHVybiByZXQ7CisKKwkvKgorCSAqIGFsbCBjaGVja3MgcGFzcywgc2V0IExBQkVMLCBWRVJTSU9OIGFuZCBVVUlECisJICovCisJaWYgKCpicy0+bmFtZSAhPSAnXDAnKQorCQlibGtpZF9wcm9iZV9zZXRfbGFiZWwocHIsICh1bnNpZ25lZCBjaGFyICopIGJzLT5uYW1lLAorCQkJCQkJCXNpemVvZihicy0+bmFtZSkpOworCWlmICh2ZXJzaW9uKQorCQlibGtpZF9wcm9iZV9zZXRfdmVyc2lvbihwciwgdmVyc2lvbik7CisKKwlpZiAodm9sdW1lX2lkKQorCQlibGtpZF9wcm9iZV9zcHJpbnRmX3V1aWQocHIsICh1bnNpZ25lZCBjaGFyICopICZ2b2x1bWVfaWQsCisJCQkJCXNpemVvZih2b2x1bWVfaWQpLCAiJTAxNiIgUFJJeDY0LAorCQkJCQlGUzY0X1RPX0NQVSh2b2x1bWVfaWQsIGZzX2xlKSk7CisJcmV0dXJuIEJMS0lEX1BST0JFX09LOworfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGJlZnNfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAiYmVmcyIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX0ZJTEVTWVNURU0sCisJLnByb2JlZnVuYwk9IHByb2JlX2JlZnMsCisJLm1pbnN6CQk9IDEwMjQgKiAxNDQwLAorCS5tYWdpY3MJCT0geworCQl7IC5tYWdpYyA9ICJCRlMxIiwgLmxlbiA9IDQsIC5zYm9mZiA9IEJfT1NfTkFNRV9MRU5HVEggfSwKKwkJeyAubWFnaWMgPSAiMVNGQiIsIC5sZW4gPSA0LCAuc2JvZmYgPSBCX09TX05BTUVfTEVOR1RIIH0sCisJCXsgLm1hZ2ljID0gIkJGUzEiLCAubGVuID0gNCwgLnNib2ZmID0gMHgyMDAgKworCQkJCQkJCUJfT1NfTkFNRV9MRU5HVEggfSwKKwkJeyAubWFnaWMgPSAiMVNGQiIsIC5sZW4gPSA0LCAuc2JvZmYgPSAweDIwMCArCisJCQkJCQkJQl9PU19OQU1FX0xFTkdUSCB9LAorCQl7IE5VTEwgfQorCX0KK307CmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvYmZzLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvYmZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGEzNGM1OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9iZnMuYwpAQCAtMCwwICsxLDIzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IFJlZCBIYXQsIEluYy4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCisvKgorICogQkZTIGFjdHVhbGx5IGhhcyB0d28gZGlmZmVyZW50IGxhYmVscyBpbiB0aGUgc3VwZXJibG9jaywgZWFjaAorICogb2YgdGhlbSBvbmx5IDYgYnl0ZXMgbG9uZy4gIFVudGlsIHdlIGZpbmQgb3V0IHdoYXQgdGhlaXIgdXNlCisgKiB3ZSBqdXN0IGlnbm9yZSB0aGVtLgorICovCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGJmc19pZGluZm8gPQoreworCS5uYW1lCQk9ICJiZnMiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5tYWdpY3MJCT0geworCQl7IC5tYWdpYyA9ICJceGNlXHhmYVx4YWRceDFiIiwgLmxlbiA9IDQgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2J0cmZzLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvYnRyZnMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Y2UzZGZmCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2J0cmZzLmMKQEAgLTAsMCArMSw5MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKK3N0cnVjdCBidHJmc19zdXBlcl9ibG9jayB7CisJdWludDhfdCBjc3VtWzMyXTsKKwl1aW50OF90IGZzaWRbMTZdOworCXVpbnQ2NF90IGJ5dGVucjsKKwl1aW50NjRfdCBmbGFnczsKKwl1aW50OF90IG1hZ2ljWzhdOworCXVpbnQ2NF90IGdlbmVyYXRpb247CisJdWludDY0X3Qgcm9vdDsKKwl1aW50NjRfdCBjaHVua19yb290OworCXVpbnQ2NF90IGxvZ19yb290OworCXVpbnQ2NF90IGxvZ19yb290X3RyYW5zaWQ7CisJdWludDY0X3QgdG90YWxfYnl0ZXM7CisJdWludDY0X3QgYnl0ZXNfdXNlZDsKKwl1aW50NjRfdCByb290X2Rpcl9vYmplY3RpZDsKKwl1aW50NjRfdCBudW1fZGV2aWNlczsKKwl1aW50MzJfdCBzZWN0b3JzaXplOworCXVpbnQzMl90IG5vZGVzaXplOworCXVpbnQzMl90IGxlYWZzaXplOworCXVpbnQzMl90IHN0cmlwZXNpemU7CisJdWludDMyX3Qgc3lzX2NodW5rX2FycmF5X3NpemU7CisJdWludDY0X3QgY2h1bmtfcm9vdF9nZW5lcmF0aW9uOworCXVpbnQ2NF90IGNvbXBhdF9mbGFnczsKKwl1aW50NjRfdCBjb21wYXRfcm9fZmxhZ3M7CisJdWludDY0X3QgaW5jb21wYXRfZmxhZ3M7CisJdWludDE2X3QgY3N1bV90eXBlOworCXVpbnQ4X3Qgcm9vdF9sZXZlbDsKKwl1aW50OF90IGNodW5rX3Jvb3RfbGV2ZWw7CisJdWludDhfdCBsb2dfcm9vdF9sZXZlbDsKKwlzdHJ1Y3QgYnRyZnNfZGV2X2l0ZW0geworCQl1aW50NjRfdCBkZXZpZDsKKwkJdWludDY0X3QgdG90YWxfYnl0ZXM7CisJCXVpbnQ2NF90IGJ5dGVzX3VzZWQ7CisJCXVpbnQzMl90IGlvX2FsaWduOworCQl1aW50MzJfdCBpb193aWR0aDsKKwkJdWludDMyX3Qgc2VjdG9yX3NpemU7CisJCXVpbnQ2NF90IHR5cGU7CisJCXVpbnQ2NF90IGdlbmVyYXRpb247CisJCXVpbnQ2NF90IHN0YXJ0X29mZnNldDsKKwkJdWludDMyX3QgZGV2X2dyb3VwOworCQl1aW50OF90IHNlZWtfc3BlZWQ7CisJCXVpbnQ4X3QgYmFuZHdpZHRoOworCQl1aW50OF90IHV1aWRbMTZdOworCQl1aW50OF90IGZzaWRbMTZdOworCX0gX19hdHRyaWJ1dGVfXyAoKF9fcGFja2VkX18pKSBkZXZfaXRlbTsKKwl1aW50OF90IGxhYmVsWzI1Nl07Cit9IF9fYXR0cmlidXRlX18gKChfX3BhY2tlZF9fKSk7CisKK3N0YXRpYyBpbnQgcHJvYmVfYnRyZnMoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCXN0cnVjdCBidHJmc19zdXBlcl9ibG9jayAqYmZzOworCisJYmZzID0gYmxraWRfcHJvYmVfZ2V0X3NiKHByLCBtYWcsIHN0cnVjdCBidHJmc19zdXBlcl9ibG9jayk7CisJaWYgKCFiZnMpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwlpZiAoKmJmcy0+bGFiZWwpCisJCWJsa2lkX3Byb2JlX3NldF9sYWJlbChwciwKKwkJCQkodW5zaWduZWQgY2hhciAqKSBiZnMtPmxhYmVsLAorCQkJCXNpemVvZihiZnMtPmxhYmVsKSk7CisKKwlibGtpZF9wcm9iZV9zZXRfdXVpZChwciwgYmZzLT5mc2lkKTsKKwlibGtpZF9wcm9iZV9zZXRfdXVpZF9hcyhwciwgYmZzLT5kZXZfaXRlbS51dWlkLCAiVVVJRF9TVUIiKTsKKworCXJldHVybiAwOworfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGJ0cmZzX2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gImJ0cmZzIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfYnRyZnMsCisJLm1pbnN6CQk9IDEwMjQgKiAxMDI0LAorCS5tYWdpY3MJCT0KKwl7CisJICB7IC5tYWdpYyA9ICJfQkhSZlNfTSIsIC5sZW4gPSA4LCAuc2JvZmYgPSAweDQwLCAua2JvZmYgPSA2NCB9LAorCSAgeyBOVUxMIH0KKwl9Cit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvY3JhbWZzLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvY3JhbWZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmQwMWIwYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9jcmFtZnMuYwpAQCAtMCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAxOTk5IGJ5IEFuZHJpZXMgQnJvdXdlcgorICogQ29weXJpZ2h0IChDKSAxOTk5LCAyMDAwLCAyMDAzIGJ5IFRoZW9kb3JlIFRzJ28KKyAqIENvcHlyaWdodCAoQykgMjAwMSBieSBBbmRyZWFzIERpbGdlcgorICogQ29weXJpZ2h0IChDKSAyMDA0IEtheSBTaWV2ZXJzIDxrYXkuc2lldmVyc0B2cmZ5Lm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworc3RydWN0IGNyYW1mc19zdXBlcgoreworCXVpbnQ4X3QJCW1hZ2ljWzRdOworCXVpbnQzMl90CXNpemU7CisJdWludDMyX3QJZmxhZ3M7CisJdWludDMyX3QJZnV0dXJlOworCXVpbnQ4X3QJCXNpZ25hdHVyZVsxNl07CisJc3RydWN0IGNyYW1mc19pbmZvCisJeworCQl1aW50MzJfdAljcmM7CisJCXVpbnQzMl90CWVkaXRpb247CisJCXVpbnQzMl90CWJsb2NrczsKKwkJdWludDMyX3QJZmlsZXM7CisJfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSBpbmZvOworCXVpbnQ4X3QJCW5hbWVbMTZdOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RhdGljIGludCBwcm9iZV9jcmFtZnMoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCXN0cnVjdCBjcmFtZnNfc3VwZXIgKmNzOworCisJY3MgPSBibGtpZF9wcm9iZV9nZXRfc2IocHIsIG1hZywgc3RydWN0IGNyYW1mc19zdXBlcik7CisJaWYgKCFjcykKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCWJsa2lkX3Byb2JlX3NldF9sYWJlbChwciwgY3MtPm5hbWUsIHNpemVvZihjcy0+bmFtZSkpOworCXJldHVybiAwOworfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGNyYW1mc19pZGluZm8gPQoreworCS5uYW1lCQk9ICJjcmFtZnMiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9jcmFtZnMsCisJLm1hZ2ljcwkJPQorCXsKKwkJeyAiXHg0NVx4M2RceGNkXHgyOCIsIDQsIDAsIDAgfSwKKwkJeyAiXHgyOFx4Y2RceDNkXHg0NSIsIDQsIDAsIDAgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9kZGZfcmFpZC5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2RkZl9yYWlkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmMyYzM5ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9kZGZfcmFpZC5jCkBAIC0wLDAgKzEsMTQxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIEluc3BpcmVkIGJ5IGxpYnZvbHVtZV9pZCBieQorICogICAgIEtheSBTaWV2ZXJzIDxrYXkuc2lldmVyc0B2cmZ5Lm9yZz4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKKy8qIGh0dHA6Ly93d3cuc25pYS5vcmcvc3RhbmRhcmRzL2hvbWUgKi8KKyNkZWZpbmUgRERGX0dVSURfTEVOR1RICQkJMjQKKyNkZWZpbmUgRERGX1JFVl9MRU5HVEgJCQk4CisjZGVmaW5lIERERl9NQUdJQwkJCTB4REUxMURFMTEKKworCitzdHJ1Y3QgZGRmX2hlYWRlciB7CisJdWludDMyX3QJc2lnbmF0dXJlOworCXVpbnQzMl90CWNyYzsKKwl1aW50OF90CQlndWlkW0RERl9HVUlEX0xFTkdUSF07CisJY2hhcgkJZGRmX3Jldls4XTsJLyogMDEuMDIuMDAgKi8KKwl1aW50MzJfdAlzZXE7CQkvKiBzdGFydHMgYXQgJzEnICovCisJdWludDMyX3QJdGltZXN0YW1wOworCXVpbnQ4X3QJCW9wZW5mbGFnOworCXVpbnQ4X3QJCWZvcmVpZ25mbGFnOworCXVpbnQ4X3QJCWVuZm9yY2Vncm91cHM7CisJdWludDhfdAkJcGFkMDsJCS8qIDB4ZmYgKi8KKwl1aW50OF90CQlwYWQxWzEyXTsJLyogMTIgKiAweGZmICovCisJLyogNjQgYnl0ZXMgc28gZmFyICovCisJdWludDhfdAkJaGVhZGVyX2V4dFszMl07CS8qIHJlc2VydmVkOiBmaWxsIHdpdGggMHhmZiAqLworCXVpbnQ2NF90CXByaW1hcnlfbGJhOworCXVpbnQ2NF90CXNlY29uZGFyeV9sYmE7CisJdWludDhfdAkJdHlwZTsKKwl1aW50OF90CQlwYWQyWzNdOwkvKiAweGZmICovCisJdWludDMyX3QJd29ya3NwYWNlX2xlbjsJLyogc2VjdG9ycyBmb3IgdmVuZG9yIHNwYWNlIC0KKwkJCQkJICogYXQgbGVhc3QgMzI3Njgoc2VjdG9ycykgKi8KKwl1aW50NjRfdAl3b3Jrc3BhY2VfbGJhOworCXVpbnQxNl90CW1heF9wZF9lbnRyaWVzOwkvKiBvbmUgb2YgMTUsIDYzLCAyNTUsIDEwMjMsIDQwOTUgKi8KKwl1aW50MTZfdAltYXhfdmRfZW50cmllczsgLyogMl4oNCw2LDgsMTAsMTIpLTEgOiBpLmUuIGFzIGFib3ZlICovCisJdWludDE2X3QJbWF4X3BhcnRpdGlvbnM7IC8qIGkuZS4gbWF4IG51bSBvZiBjb25maWd1cmF0aW9uCisJCQkJCSAgIHJlY29yZCBlbnRyaWVzIHBlciBkaXNrICovCisJdWludDE2X3QJY29uZmlnX3JlY29yZF9sZW47IC8qIDEgK1JPVU5EVVAobWF4X3ByaW1hcnlfZWxlbWVudF9lbnRyaWVzCisJCQkJICAgICAgICAgICAqMTIvNTEyKSAqLworCXVpbnQxNl90CW1heF9wcmltYXJ5X2VsZW1lbnRfZW50cmllczsgLyogMTYsIDY0LCAyNTYsIDEwMjQsIG9yIDQwOTYgKi8KKwl1aW50OF90CQlwYWQzWzU0XTsJLyogMHhmZiAqLworCS8qIDE5MiBieXRlcyBzbyBmYXIgKi8KKwl1aW50MzJfdAljb250cm9sbGVyX3NlY3Rpb25fb2Zmc2V0OworCXVpbnQzMl90CWNvbnRyb2xsZXJfc2VjdGlvbl9sZW5ndGg7CisJdWludDMyX3QJcGh5c19zZWN0aW9uX29mZnNldDsKKwl1aW50MzJfdAlwaHlzX3NlY3Rpb25fbGVuZ3RoOworCXVpbnQzMl90CXZpcnRfc2VjdGlvbl9vZmZzZXQ7CisJdWludDMyX3QJdmlydF9zZWN0aW9uX2xlbmd0aDsKKwl1aW50MzJfdAljb25maWdfc2VjdGlvbl9vZmZzZXQ7CisJdWludDMyX3QJY29uZmlnX3NlY3Rpb25fbGVuZ3RoOworCXVpbnQzMl90CWRhdGFfc2VjdGlvbl9vZmZzZXQ7CisJdWludDMyX3QJZGF0YV9zZWN0aW9uX2xlbmd0aDsKKwl1aW50MzJfdAliYm1fc2VjdGlvbl9vZmZzZXQ7CisJdWludDMyX3QJYmJtX3NlY3Rpb25fbGVuZ3RoOworCXVpbnQzMl90CWRpYWdfc3BhY2Vfb2Zmc2V0OworCXVpbnQzMl90CWRpYWdfc3BhY2VfbGVuZ3RoOworCXVpbnQzMl90CXZlbmRvcl9vZmZzZXQ7CisJdWludDMyX3QJdmVuZG9yX2xlbmd0aDsKKwkvKiAyNTYgYnl0ZXMgc28gZmFyICovCisJdWludDhfdAkJcGFkNFsyNTZdOwkvKiAweGZmICovCit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdGF0aWMgaW50IHByb2JlX2RkZihibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCWludCBoZHJzW10gPSB7IDEsIDI1NyB9OworCXNpemVfdCBpOworCXN0cnVjdCBkZGZfaGVhZGVyICpkZGYgPSBOVUxMOworCWNoYXIgdmVyc2lvbltEREZfUkVWX0xFTkdUSCArIDFdOworCXVpbnQ2NF90IG9mZiwgbGJhOworCisJaWYgKHByLT5zaXplIDwgMHgzMDAwMCkKKwkJcmV0dXJuIDE7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShoZHJzKTsgaSsrKSB7CisJCW9mZiA9ICgocHItPnNpemUgLyAweDIwMCkgLSBoZHJzW2ldKSAqIDB4MjAwOworCisJCWRkZiA9IChzdHJ1Y3QgZGRmX2hlYWRlciAqKSBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLAorCQkJCQlvZmYsCisJCQkJCXNpemVvZihzdHJ1Y3QgZGRmX2hlYWRlcikpOworCQlpZiAoIWRkZikKKwkJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisJCWlmIChkZGYtPnNpZ25hdHVyZSA9PSBjcHVfdG9fYmUzMihEREZfTUFHSUMpIHx8CisJCSAgICBkZGYtPnNpZ25hdHVyZSA9PSBjcHVfdG9fbGUzMihEREZfTUFHSUMpKQorCQkJYnJlYWs7CisJCWRkZiA9IE5VTEw7CisJfQorCisJaWYgKCFkZGYpCisJCXJldHVybiAxOworCisJbGJhID0gZGRmLT5zaWduYXR1cmUgPT0gY3B1X3RvX2JlMzIoRERGX01BR0lDKSA/CisJCQliZTY0X3RvX2NwdShkZGYtPnByaW1hcnlfbGJhKSA6CisJCQlsZTY0X3RvX2NwdShkZGYtPnByaW1hcnlfbGJhKTsKKworCWlmIChsYmEgPiAwKSB7CisJCS8qIGNoZWNrIHByaW1hcnkgaGVhZGVyICovCisJCXVuc2lnbmVkIGNoYXIgKmJ1ZjsKKworCQlidWYgPSBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLAorCQkJCQlsYmEgPDwgOSwgc2l6ZW9mKGRkZi0+c2lnbmF0dXJlKSk7CisJCWlmICghYnVmKQorCQkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCQlpZiAobWVtY21wKGJ1ZiwgJmRkZi0+c2lnbmF0dXJlLCA0KSAhPSAwKQorCQkJcmV0dXJuIDE7CisJfQorCisJYmxraWRfcHJvYmVfc3RybmNweV91dWlkKHByLCBkZGYtPmd1aWQsIHNpemVvZihkZGYtPmd1aWQpKTsKKworCW1lbWNweSh2ZXJzaW9uLCBkZGYtPmRkZl9yZXYsIHNpemVvZihkZGYtPmRkZl9yZXYpKTsKKwkqKHZlcnNpb24gKyBzaXplb2YoZGRmLT5kZGZfcmV2KSkgPSAnXDAnOworCisJaWYgKGJsa2lkX3Byb2JlX3NldF92ZXJzaW9uKHByLCB2ZXJzaW9uKSAhPSAwKQorCQlyZXR1cm4gMTsKKwlpZiAoYmxraWRfcHJvYmVfc2V0X21hZ2ljKHByLCBvZmYsCisJCQlzaXplb2YoZGRmLT5zaWduYXR1cmUpLAorCQkJKHVuc2lnbmVkIGNoYXIgKikgJmRkZi0+c2lnbmF0dXJlKSkKKwkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gZGRmcmFpZF9pZGluZm8gPSB7CisJLm5hbWUJCT0gImRkZl9yYWlkX21lbWJlciIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX1JBSUQsCisJLnByb2JlZnVuYwk9IHByb2JlX2RkZiwKKwkubWFnaWNzCQk9IEJMS0lEX05PTkVfTUFHSUMKK307CisKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2RyYmQuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9kcmJkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTg4ZTlmMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9kcmJkLmMKQEAgLTAsMCArMSwxMTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgYnkgQmFzdGlhbiBGcmllZHJpY2ggPGJhc3RpYW4uZnJpZWRyaWNoQGNvbGxheC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqCisgKiBkZWZpbmVzLCBzdHJ1Y3RzIHRha2VuIGZyb20gZHJiZCBzb3VyY2U7IGZpbGUgbmFtZXMgcmVwcmVzZW50IGRyYmQgc291cmNlCisgKiBmaWxlcy4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPGludHR5cGVzLmg+CisjaW5jbHVkZSA8c3RkZGVmLmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCisvKgorICogZHJiZC9saW51eC9kcmJkLmgKKyAqLworI2RlZmluZSBEUkJEX01BR0lDIDB4ODM3NDAyNjcKKworLyoKKyAqIHVzZXIvZHJiZG1ldGEuYworICogV2Ugb25seSBzdXBwb3J0IHYwOCBmb3Igbm93CisgKi8KKyNkZWZpbmUgRFJCRF9NRF9NQUdJQ18wOCAgICAgICAgIChEUkJEX01BR0lDKzQpCisjZGVmaW5lIERSQkRfTURfTUFHSUNfODRfVU5DTEVBTiAoRFJCRF9NQUdJQys1KQorCisvKgorICogZHJiZC9saW51eC9kcmJkLmgKKyAqLworZW51bSBkcmJkX3V1aWRfaW5kZXggeworCVVJX0NVUlJFTlQsCisJVUlfQklUTUFQLAorCVVJX0hJU1RPUllfU1RBUlQsCisJVUlfSElTVE9SWV9FTkQsCisJVUlfU0laRSwJCS8qIG5sLXBhY2tldDogbnVtYmVyIG9mIGRpcnR5IGJpdHMgKi8KKwlVSV9GTEFHUywJCS8qIG5sLXBhY2tldDogZmxhZ3MgKi8KKwlVSV9FWFRFTkRFRF9TSVpFCS8qIEV2ZXJ5dGhpbmcuICovCit9OworCisvKgorICogdXNlci9kcmJkbWV0YS5jCisgKiBNaW5vciBtb2RpZmljYXRpb25zIHdydC4gdHlwZXMKKyAqLworc3RydWN0IG1kX29uX2Rpc2tfMDggeworCXVpbnQ2NF90IGxhX3NlY3Q7ICAgICAgICAgLyogbGFzdCBhZ3JlZWQgc2l6ZS4gKi8KKwl1aW50NjRfdCB1dWlkW1VJX1NJWkVdOyAgIC8qIFVVSURzICovCisJdWludDY0X3QgZGV2aWNlX3V1aWQ7CisJdWludDY0X3QgcmVzZXJ2ZWRfdTY0XzE7CisJdWludDMyX3QgZmxhZ3M7CisJdWludDMyX3QgbWFnaWM7CisJdWludDMyX3QgbWRfc2l6ZV9zZWN0OworCWludDMyX3QgIGFsX29mZnNldDsgICAgICAgLyogc2lnbmVkIHNlY3RvciBvZmZzZXQgdG8gdGhpcyBibG9jayAqLworCXVpbnQzMl90IGFsX25yX2V4dGVudHM7ICAgLyogaW1wb3J0YW50IGZvciByZXN0b3JpbmcgdGhlIEFMICovCisJaW50MzJfdCAgYm1fb2Zmc2V0OyAgICAgICAvKiBzaWduZWQgc2VjdG9yIG9mZnNldCB0byB0aGUgYml0bWFwLCBmcm9tIGhlcmUgKi8KKwl1aW50MzJfdCBibV9ieXRlc19wZXJfYml0OworCXVpbnQzMl90IHJlc2VydmVkX3UzMls0XTsKKworCWNoYXIgcmVzZXJ2ZWRbOCAqIDUxMiAtICg4KihVSV9TSVpFKzMpKzQqMTEpXTsKK307CisKKworc3RhdGljIGludCBwcm9iZV9kcmJkKGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJc3RydWN0IG1kX29uX2Rpc2tfMDggKm1kOworCW9mZl90IG9mZjsKKworCW9mZiA9IHByLT5zaXplIC0gc2l6ZW9mKCptZCk7CisKKwkvKiBTbWFsbCBkZXZpY2VzIGNhbm5vdCBiZSBkcmJkICg/KSAqLworCWlmIChwci0+c2l6ZSA8IDB4MTAwMDApCisJCXJldHVybiAxOworCisJbWQgPSAoc3RydWN0IG1kX29uX2Rpc2tfMDggKikKKwkJCWJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsCisJCQkJCW9mZiwKKwkJCQkJc2l6ZW9mKHN0cnVjdCBtZF9vbl9kaXNrXzA4KSk7CisJaWYgKCFtZCkKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCWlmIChiZTMyX3RvX2NwdShtZC0+bWFnaWMpICE9IERSQkRfTURfTUFHSUNfMDggJiYKKwkJCWJlMzJfdG9fY3B1KG1kLT5tYWdpYykgIT0gRFJCRF9NRF9NQUdJQ184NF9VTkNMRUFOKQorCQlyZXR1cm4gMTsKKworCS8qCisJICogRFJCRCBkb2VzIG5vdCBoYXZlICJyZWFsIiB1dWlkczsgdGhlIGZvbGxvd2luZyByZXNlbWJsZXMgRFJCRCdzCisJICogbm90aW9uIG9mIHV1aWRzICg2NCBiaXQsIHNlZSBzdHJ1Y3QgYWJvdmUpCisJICovCisJYmxraWRfcHJvYmVfc3ByaW50Zl91dWlkKHByLAorCQkodW5zaWduZWQgY2hhciAqKSAmbWQtPmRldmljZV91dWlkLCBzaXplb2YobWQtPmRldmljZV91dWlkKSwKKwkJIiUiIFBSSXg2NCwgYmU2NF90b19jcHUobWQtPmRldmljZV91dWlkKSk7CisKKwlibGtpZF9wcm9iZV9zZXRfdmVyc2lvbihwciwgInYwOCIpOworCisJaWYgKGJsa2lkX3Byb2JlX3NldF9tYWdpYyhwciwKKwkJCQlvZmYgKyBvZmZzZXRvZihzdHJ1Y3QgbWRfb25fZGlza18wOCwgbWFnaWMpLAorCQkJCXNpemVvZihtZC0+bWFnaWMpLAorCQkJCSh1bnNpZ25lZCBjaGFyICopICZtZC0+bWFnaWMpKQorCQlyZXR1cm4gMTsKKworCXJldHVybiAwOworfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGRyYmRfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAiZHJiZCIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX1JBSUQsCisJLnByb2JlZnVuYwk9IHByb2JlX2RyYmQsCisJLm1hZ2ljcwkJPSBCTEtJRF9OT05FX01BR0lDCit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvZHJiZG1hbmFnZS5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2RyYmRtYW5hZ2UuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODRlZmEzCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2RyYmRtYW5hZ2UuYwpAQCAtMCwwICsxLDg3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IGJ5IFBoaWxpcHAgTWFyZWsgPHBoaWxpcHAubWFyZWtAbGluYml0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICoKKyAqIERSQkQgaXMgYSBibG9ja2xldmVsIHJlcGxpY2F0aW9uIHNvbHV0aW9uIGluIHRoZSBMaW51eCBrZXJuZWwsCisgKiB1cHN0cmVhbSBzaW5jZSAyLjYuMzMuIChTZWUgaHR0cDovL2RyYmQubGluYml0LmNvbS8pCisgKiBEUkJEbWFuYWdlIGlzIGEgY29uZmlndXJhdGlvbiBmcm9udGVuZCB0aGF0IGFzc2lzdHMgaW4KKyAqIGNyZWF0aW5nL2RlbGV0aW5nL21vZGlmeWluZyBEUkJEIHJlc291cmNlcyBhY3Jvc3MgbXVsdGlwbGUgbWFjaGluZXMKKyAqIChhIERSQkRtYW5hZ2UgImNsdXN0ZXIiKTsgdGhpcyBmaWxlIGRldGVjdHMgaXRzIGNvbnRyb2wgdm9sdW1lLAorICogd2hpY2ggaXMgcmVwbGljYXRlZCAodmlhIERSQkQgOSkgb24gc29tZSBvZiB0aGUgbm9kZXMuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorI2luY2x1ZGUgPHN0ZGRlZi5oPgorCisjaW5jbHVkZSAiYml0b3BzLmgiCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworc3RydWN0IGRyYmRtYW5hZ2VfaGRyIHsKKwl1bnNpZ25lZCBjaGFyIG1hZ2ljWzExXTsKKwl1bnNpZ25lZCBjaGFyIHV1aWRbMzJdOworCXVuc2lnbmVkIGNoYXIgbGY7Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworc3RydWN0IGRyYmRtYW5hZ2VfcGVycyB7CisJY2hhciBtYWdpY1s0XTsKKwl1aW50MzJfdCB2ZXJzaW9uX2xlOworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisKKworY29uc3QgY2hhciBwZXJzaXN0ZW5jZV9tYWdpY1s0XSA9ICJceDFhXHhkYlx4OThceGEyIjsKKworCitzdGF0aWMgaW50IHByb2JlX2RyYmRtYW5hZ2UoYmxraWRfcHJvYmUgcHIsCisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlzdHJ1Y3QgZHJiZG1hbmFnZV9oZHIgKmhkcjsKKwl1bnNpZ25lZCBjaGFyICpjcDsKKwlzdHJ1Y3QgZHJiZG1hbmFnZV9wZXJzICpwcnM7CisKKwloZHIgPSAoc3RydWN0IGRyYmRtYW5hZ2VfaGRyKikKKwkJYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwgMCwgc2l6ZW9mKCpoZHIpKTsKKwlpZiAoIWhkcikKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCWZvcihjcD1oZHItPnV1aWQ7IGNwPCZoZHItPmxmOyBjcCsrKQorCQlpZiAoIWlzeGRpZ2l0KCpjcCkpCisJCQlyZXR1cm4gMTsKKwlpZiAoaGRyLT5sZiAhPSAnXG4nKQorCQlyZXR1cm4gMTsKKworCWlmIChibGtpZF9wcm9iZV9zZXRfaWRfbGFiZWwocHIsICJVVUlEIiwKKwkJCQloZHItPnV1aWQsIHNpemVvZihoZHItPnV1aWQpKSkKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCXBycyA9IChzdHJ1Y3QgZHJiZG1hbmFnZV9wZXJzKikKKwkJYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwgMHgxMDAwLCBzaXplb2YoKnBycykpOworCWlmICghcHJzKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJaWYgKG1lbWNtcChwcnMtPm1hZ2ljLCBwZXJzaXN0ZW5jZV9tYWdpYywgc2l6ZW9mKHBycy0+bWFnaWMpKSA9PSAwICYmCisJICAgIGJsa2lkX3Byb2JlX3NwcmludGZfdmVyc2lvbihwciwgIiVkIiwgYmUzMl90b19jcHUocHJzLT52ZXJzaW9uX2xlKSkgIT0gMCkKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCXJldHVybiAwOworfQorCisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gZHJiZG1hbmFnZV9pZGluZm8gPQoreworCS5uYW1lCQk9ICJkcmJkbWFuYWdlX2NvbnRyb2xfdm9sdW1lIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfT1RIRVIsCisJLnByb2JlZnVuYwk9IHByb2JlX2RyYmRtYW5hZ2UsCisJLm1pbnN6CQk9IDY0ICogMTAyNCwKKwkubWFnaWNzCQk9IHsKKwkJeyAubWFnaWMgPSAiJERSQkRtZ3I9cSIsIC5sZW4gPSAxMCwgLnNib2ZmID0gMCB9LAorCQl7IE5VTEwgfQorCX0sCit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvZHJiZHByb3h5X2RhdGFsb2cuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9kcmJkcHJveHlfZGF0YWxvZy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhNGM3ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvZHJiZHByb3h5X2RhdGFsb2cuYwpAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIGJ5IFBoaWxpcHAgTWFyZWsgPHBoaWxpcHAubWFyZWtAbGluYml0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKyNpbmNsdWRlIDxzdGRkZWYuaD4KKworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKKworc3RydWN0IGxvZ19oZWFkZXJfdCB7CisJdWludDY0X3QgbWFnaWM7CisJdWludDY0X3QgdmVyc2lvbjsKKworCXVuc2lnbmVkIGNoYXIgdXVpZFsxNl07CisKKwl1aW50NjRfdCBmbGFnczsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKworc3RhdGljIGludCBwcm9iZV9kcmJkcHJveHlfZGF0YWxvZyhibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXN0cnVjdCBsb2dfaGVhZGVyX3QgKmxoOworCisJbGggPSAoc3RydWN0IGxvZ19oZWFkZXJfdCAqKSBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLCAwLCBzaXplb2YoKmxoKSk7CisJaWYgKCFsaCkKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCWJsa2lkX3Byb2JlX3NldF91dWlkKHByLCBsaC0+dXVpZCk7CisJYmxraWRfcHJvYmVfc3ByaW50Zl92ZXJzaW9uKHByLCAidiUiUFJJdTY0LCBsZTY0X3RvX2NwdShsaC0+dmVyc2lvbikpOworCisJcmV0dXJuIDA7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gZHJiZHByb3h5X2RhdGFsb2dfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAiZHJiZHByb3h5X2RhdGFsb2ciLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9kcmJkcHJveHlfZGF0YWxvZywKKwkubWluc3oJCT0gMTYqMTAyNCwKKwkubWFnaWNzCQk9CisJeworCQl7IC5tYWdpYyA9ICJEUkJEZGxoKiIsIC5sZW4gPSA4LCAuc2JvZmYgPSAwLCAua2JvZmYgPSAwIH0sCisJCXsgTlVMTCB9CisJfQorfTsKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9leGZhdC5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2V4ZmF0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjU5ZTE5NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9leGZhdC5jCkBAIC0wLDAgKzEsMTUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFuZHJldyBOYXllbmtvIDxyZXN2ZXJAZ21haWwuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCitzdHJ1Y3QgZXhmYXRfc3VwZXJfYmxvY2sgeworCXVpbnQ4X3QganVtcFszXTsKKwl1aW50OF90IG9lbV9uYW1lWzhdOworCXVpbnQ4X3QJX191bnVzZWQxWzUzXTsKKwl1aW50NjRfdCBibG9ja19zdGFydDsKKwl1aW50NjRfdCBibG9ja19jb3VudDsKKwl1aW50MzJfdCBmYXRfYmxvY2tfc3RhcnQ7CisJdWludDMyX3QgZmF0X2Jsb2NrX2NvdW50OworCXVpbnQzMl90IGNsdXN0ZXJfYmxvY2tfc3RhcnQ7CisJdWludDMyX3QgY2x1c3Rlcl9jb3VudDsKKwl1aW50MzJfdCByb290ZGlyX2NsdXN0ZXI7CisJdWludDhfdCB2b2x1bWVfc2VyaWFsWzRdOworCXN0cnVjdCB7CisJCXVpbnQ4X3QgdmVybWluOworCQl1aW50OF90IHZlcm1hajsKKwl9IHZlcnNpb247CisJdWludDE2X3Qgdm9sdW1lX3N0YXRlOworCXVpbnQ4X3QgYmxvY2tfYml0czsKKwl1aW50OF90IGJwY19iaXRzOworCXVpbnQ4X3QgZmF0X2NvdW50OworCXVpbnQ4X3QgZHJpdmVfbm87CisJdWludDhfdCBhbGxvY2F0ZWRfcGVyY2VudDsKK30gX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpOworCitzdHJ1Y3QgZXhmYXRfZW50cnlfbGFiZWwgeworCXVpbnQ4X3QgdHlwZTsKKwl1aW50OF90IGxlbmd0aDsKKwl1aW50OF90IG5hbWVbMzBdOworfSBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSk7CisKKyNkZWZpbmUgQkxPQ0tfU0laRShzYikgKDEgPDwgKHNiKS0+YmxvY2tfYml0cykKKyNkZWZpbmUgQ0xVU1RFUl9TSVpFKHNiKSAoQkxPQ0tfU0laRShzYikgPDwgKHNiKS0+YnBjX2JpdHMpCisjZGVmaW5lIEVYRkFUX0ZJUlNUX0RBVEFfQ0xVU1RFUiAyCisjZGVmaW5lIEVYRkFUX0xBU1RfREFUQV9DTFVTVEVSIDB4ZmZmZmZmNgorI2RlZmluZSBFWEZBVF9FTlRSWV9TSVpFIDMyCisKKyNkZWZpbmUgRVhGQVRfRU5UUllfRU9ECQkweDAwCisjZGVmaW5lIEVYRkFUX0VOVFJZX0xBQkVMCTB4ODMKKworc3RhdGljIHVpbnQ2NF90IGJsb2NrX3RvX29mZnNldChjb25zdCBzdHJ1Y3QgZXhmYXRfc3VwZXJfYmxvY2sgKnNiLAorCQl1aW50NjRfdCBibG9jaykKK3sKKwlyZXR1cm4gYmxvY2sgPDwgc2ItPmJsb2NrX2JpdHM7Cit9CisKK3N0YXRpYyB1aW50NjRfdCBjbHVzdGVyX3RvX2Jsb2NrKGNvbnN0IHN0cnVjdCBleGZhdF9zdXBlcl9ibG9jayAqc2IsCisJCXVpbnQzMl90IGNsdXN0ZXIpCit7CisJcmV0dXJuIGxlMzJfdG9fY3B1KHNiLT5jbHVzdGVyX2Jsb2NrX3N0YXJ0KSArCisJCQkoKHVpbnQ2NF90KSAoY2x1c3RlciAtIEVYRkFUX0ZJUlNUX0RBVEFfQ0xVU1RFUikKKwkJCQkJPDwgc2ItPmJwY19iaXRzKTsKK30KKworc3RhdGljIHVpbnQ2NF90IGNsdXN0ZXJfdG9fb2Zmc2V0KGNvbnN0IHN0cnVjdCBleGZhdF9zdXBlcl9ibG9jayAqc2IsCisJCXVpbnQzMl90IGNsdXN0ZXIpCit7CisJcmV0dXJuIGJsb2NrX3RvX29mZnNldChzYiwgY2x1c3Rlcl90b19ibG9jayhzYiwgY2x1c3RlcikpOworfQorCitzdGF0aWMgdWludDMyX3QgbmV4dF9jbHVzdGVyKGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgZXhmYXRfc3VwZXJfYmxvY2sgKnNiLCB1aW50MzJfdCBjbHVzdGVyKQoreworCXVpbnQzMl90ICpuZXh0OworCXVpbnQ2NF90IGZhdF9vZmZzZXQ7CisKKwlmYXRfb2Zmc2V0ID0gYmxvY2tfdG9fb2Zmc2V0KHNiLCBsZTMyX3RvX2NwdShzYi0+ZmF0X2Jsb2NrX3N0YXJ0KSkKKwkJKyAodWludDY0X3QpIGNsdXN0ZXIgKiBzaXplb2YoY2x1c3Rlcik7CisJbmV4dCA9ICh1aW50MzJfdCAqKSBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLCBmYXRfb2Zmc2V0LAorCQkJc2l6ZW9mKHVpbnQzMl90KSk7CisJaWYgKCFuZXh0KQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gbGUzMl90b19jcHUoKm5leHQpOworfQorCitzdGF0aWMgc3RydWN0IGV4ZmF0X2VudHJ5X2xhYmVsICpmaW5kX2xhYmVsKGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgZXhmYXRfc3VwZXJfYmxvY2sgKnNiKQoreworCXVpbnQzMl90IGNsdXN0ZXIgPSBsZTMyX3RvX2NwdShzYi0+cm9vdGRpcl9jbHVzdGVyKTsKKwl1aW50NjRfdCBvZmZzZXQgPSBjbHVzdGVyX3RvX29mZnNldChzYiwgY2x1c3Rlcik7CisJdWludDhfdCAqZW50cnk7CisJY29uc3Qgc2l6ZV90IG1heF9pdGVyID0gMTAwMDA7CisJc2l6ZV90IGkgPSAwOworCisJZm9yICg7IGkgPCBtYXhfaXRlcjsgaSsrKSB7CisJCWVudHJ5ID0gKHVpbnQ4X3QgKikgYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwgb2Zmc2V0LAorCQkJCUVYRkFUX0VOVFJZX1NJWkUpOworCQlpZiAoIWVudHJ5KQorCQkJcmV0dXJuIE5VTEw7CisJCWlmIChlbnRyeVswXSA9PSBFWEZBVF9FTlRSWV9FT0QpCisJCQlyZXR1cm4gTlVMTDsKKwkJaWYgKGVudHJ5WzBdID09IEVYRkFUX0VOVFJZX0xBQkVMKQorCQkJcmV0dXJuIChzdHJ1Y3QgZXhmYXRfZW50cnlfbGFiZWwgKikgZW50cnk7CisKKwkJb2Zmc2V0ICs9IEVYRkFUX0VOVFJZX1NJWkU7CisJCWlmIChvZmZzZXQgJSBDTFVTVEVSX1NJWkUoc2IpID09IDApIHsKKwkJCWNsdXN0ZXIgPSBuZXh0X2NsdXN0ZXIocHIsIHNiLCBjbHVzdGVyKTsKKwkJCWlmIChjbHVzdGVyIDwgRVhGQVRfRklSU1RfREFUQV9DTFVTVEVSKQorCQkJCXJldHVybiBOVUxMOworCQkJaWYgKGNsdXN0ZXIgPiBFWEZBVF9MQVNUX0RBVEFfQ0xVU1RFUikKKwkJCQlyZXR1cm4gTlVMTDsKKwkJCW9mZnNldCA9IGNsdXN0ZXJfdG9fb2Zmc2V0KHNiLCBjbHVzdGVyKTsKKwkJfQorCX0KKworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgaW50IHByb2JlX2V4ZmF0KGJsa2lkX3Byb2JlIHByLCBjb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZykKK3sKKwlzdHJ1Y3QgZXhmYXRfc3VwZXJfYmxvY2sgKnNiOworCXN0cnVjdCBleGZhdF9lbnRyeV9sYWJlbCAqbGFiZWw7CisKKwlzYiA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3QgZXhmYXRfc3VwZXJfYmxvY2spOworCWlmICghc2IgfHwgIUNMVVNURVJfU0laRShzYikpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IEJMS0lEX1BST0JFX05PTkU7CisKKwlsYWJlbCA9IGZpbmRfbGFiZWwocHIsIHNiKTsKKwlpZiAobGFiZWwpCisJCWJsa2lkX3Byb2JlX3NldF91dGY4bGFiZWwocHIsIGxhYmVsLT5uYW1lLAorCQkJCW1pbihsYWJlbC0+bGVuZ3RoICogMiwgMzApLCBCTEtJRF9FTkNfVVRGMTZMRSk7CisJZWxzZSBpZiAoZXJybm8pCisJCXJldHVybiAtZXJybm87CisKKwlibGtpZF9wcm9iZV9zcHJpbnRmX3V1aWQocHIsIHNiLT52b2x1bWVfc2VyaWFsLCA0LAorCQkJIiUwMmhoWCUwMmhoWC0lMDJoaFglMDJoaFgiLAorCQkJc2ItPnZvbHVtZV9zZXJpYWxbM10sIHNiLT52b2x1bWVfc2VyaWFsWzJdLAorCQkJc2ItPnZvbHVtZV9zZXJpYWxbMV0sIHNiLT52b2x1bWVfc2VyaWFsWzBdKTsKKworCWJsa2lkX3Byb2JlX3NwcmludGZfdmVyc2lvbihwciwgIiV1LiV1IiwKKwkJCXNiLT52ZXJzaW9uLnZlcm1haiwgc2ItPnZlcnNpb24udmVybWluKTsKKworCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBleGZhdF9pZGluZm8gPQoreworCS5uYW1lCQk9ICJleGZhdCIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX0ZJTEVTWVNURU0sCisJLnByb2JlZnVuYwk9IHByb2JlX2V4ZmF0LAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gIkVYRkFUICAgIiwgLmxlbiA9IDgsIC5zYm9mZiA9IDMgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2V4dC5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2V4dC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhZjgyYzEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvZXh0LmMKQEAgLTAsMCArMSwzNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDEgYnkgQW5kcmllcyBCcm91d2VyCisgKiBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDAsIDIwMDMgYnkgVGhlb2RvcmUgVHMnbworICogQ29weXJpZ2h0IChDKSAyMDA4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpZmRlZiBfX2xpbnV4X18KKyNpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPgorI2VuZGlmCisjaW5jbHVkZSA8dGltZS5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworc3RydWN0IGV4dDJfc3VwZXJfYmxvY2sgeworCXVpbnQzMl90CQlzX2lub2Rlc19jb3VudDsKKwl1aW50MzJfdAkJc19ibG9ja3NfY291bnQ7CisJdWludDMyX3QJCXNfcl9ibG9ja3NfY291bnQ7CisJdWludDMyX3QJCXNfZnJlZV9ibG9ja3NfY291bnQ7CisJdWludDMyX3QJCXNfZnJlZV9pbm9kZXNfY291bnQ7CisJdWludDMyX3QJCXNfZmlyc3RfZGF0YV9ibG9jazsKKwl1aW50MzJfdAkJc19sb2dfYmxvY2tfc2l6ZTsKKwl1aW50MzJfdAkJc19kdW1teTNbN107CisJdW5zaWduZWQgY2hhcgkJc19tYWdpY1syXTsKKwl1aW50MTZfdAkJc19zdGF0ZTsKKwl1aW50MTZfdAkJc19lcnJvcnM7CisJdWludDE2X3QJCXNfbWlub3JfcmV2X2xldmVsOworCXVpbnQzMl90CQlzX2xhc3RjaGVjazsKKwl1aW50MzJfdAkJc19jaGVja2ludGVydmFsOworCXVpbnQzMl90CQlzX2NyZWF0b3Jfb3M7CisJdWludDMyX3QJCXNfcmV2X2xldmVsOworCXVpbnQxNl90CQlzX2RlZl9yZXN1aWQ7CisJdWludDE2X3QJCXNfZGVmX3Jlc2dpZDsKKwl1aW50MzJfdAkJc19maXJzdF9pbm87CisJdWludDE2X3QJCXNfaW5vZGVfc2l6ZTsKKwl1aW50MTZfdAkJc19ibG9ja19ncm91cF9ucjsKKwl1aW50MzJfdAkJc19mZWF0dXJlX2NvbXBhdDsKKwl1aW50MzJfdAkJc19mZWF0dXJlX2luY29tcGF0OworCXVpbnQzMl90CQlzX2ZlYXR1cmVfcm9fY29tcGF0OworCXVuc2lnbmVkIGNoYXIJCXNfdXVpZFsxNl07CisJY2hhcgkJCXNfdm9sdW1lX25hbWVbMTZdOworCWNoYXIJCQlzX2xhc3RfbW91bnRlZFs2NF07CisJdWludDMyX3QJCXNfYWxnb3JpdGhtX3VzYWdlX2JpdG1hcDsKKwl1aW50OF90CQkJc19wcmVhbGxvY19ibG9ja3M7CisJdWludDhfdAkJCXNfcHJlYWxsb2NfZGlyX2Jsb2NrczsKKwl1aW50MTZfdAkJc19yZXNlcnZlZF9nZHRfYmxvY2tzOworCXVpbnQ4X3QJCQlzX2pvdXJuYWxfdXVpZFsxNl07CisJdWludDMyX3QJCXNfam91cm5hbF9pbnVtOworCXVpbnQzMl90CQlzX2pvdXJuYWxfZGV2OworCXVpbnQzMl90CQlzX2xhc3Rfb3JwaGFuOworCXVpbnQzMl90CQlzX2hhc2hfc2VlZFs0XTsKKwl1aW50OF90CQkJc19kZWZfaGFzaF92ZXJzaW9uOworCXVpbnQ4X3QJCQlzX2pubF9iYWNrdXBfdHlwZTsKKwl1aW50MTZfdAkJc19yZXNlcnZlZF93b3JkX3BhZDsKKwl1aW50MzJfdAkJc19kZWZhdWx0X21vdW50X29wdHM7CisJdWludDMyX3QJCXNfZmlyc3RfbWV0YV9iZzsKKwl1aW50MzJfdAkJc19ta2ZzX3RpbWU7CisJdWludDMyX3QJCXNfam5sX2Jsb2Nrc1sxN107CisJdWludDMyX3QJCXNfYmxvY2tzX2NvdW50X2hpOworCXVpbnQzMl90CQlzX3JfYmxvY2tzX2NvdW50X2hpOworCXVpbnQzMl90CQlzX2ZyZWVfYmxvY2tzX2hpOworCXVpbnQxNl90CQlzX21pbl9leHRyYV9pc2l6ZTsKKwl1aW50MTZfdAkJc193YW50X2V4dHJhX2lzaXplOworCXVpbnQzMl90CQlzX2ZsYWdzOworCXVpbnQxNl90CQlzX3JhaWRfc3RyaWRlOworCXVpbnQxNl90CQlzX21tcF9pbnRlcnZhbDsKKwl1aW50NjRfdAkJc19tbXBfYmxvY2s7CisJdWludDMyX3QJCXNfcmFpZF9zdHJpcGVfd2lkdGg7CisJdWludDMyX3QJCXNfcmVzZXJ2ZWRbMTYzXTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKy8qIG1hZ2ljIHN0cmluZyAqLworI2RlZmluZSBFWFRfU0JfTUFHSUMJCQkJIlwxMjNcMzU3IgorLyogc3VwcGVyIGJsb2NrIG9mZnNldCAqLworI2RlZmluZSBFWFRfU0JfT0ZGCQkJCTB4NDAwCisvKiBzdXBwZXIgYmxvY2sgb2Zmc2V0IGluIGtCICovCisjZGVmaW5lIEVYVF9TQl9LQk9GRgkJCQkoRVhUX1NCX09GRiA+PiAxMCkKKy8qIG1hZ2ljIHN0cmluZyBvZmZzZXQgd2l0aGluIHN1cGVyIGJsb2NrICovCisjZGVmaW5lIEVYVF9NQUdfT0ZGCQkJCTB4MzgKKworCisKKy8qIGZvciBzX2ZsYWdzICovCisjZGVmaW5lIEVYVDJfRkxBR1NfVEVTVF9GSUxFU1lTCQkweDAwMDQKKworLyogZm9yIHNfZmVhdHVyZV9jb21wYXQgKi8KKyNkZWZpbmUgRVhUM19GRUFUVVJFX0NPTVBBVF9IQVNfSk9VUk5BTAkJMHgwMDA0CisKKy8qIGZvciBzX2ZlYXR1cmVfcm9fY29tcGF0ICovCisjZGVmaW5lIEVYVDJfRkVBVFVSRV9ST19DT01QQVRfU1BBUlNFX1NVUEVSCTB4MDAwMQorI2RlZmluZSBFWFQyX0ZFQVRVUkVfUk9fQ09NUEFUX0xBUkdFX0ZJTEUJMHgwMDAyCisjZGVmaW5lIEVYVDJfRkVBVFVSRV9ST19DT01QQVRfQlRSRUVfRElSCTB4MDAwNAorI2RlZmluZSBFWFQ0X0ZFQVRVUkVfUk9fQ09NUEFUX0hVR0VfRklMRQkweDAwMDgKKyNkZWZpbmUgRVhUNF9GRUFUVVJFX1JPX0NPTVBBVF9HRFRfQ1NVTQkJMHgwMDEwCisjZGVmaW5lIEVYVDRfRkVBVFVSRV9ST19DT01QQVRfRElSX05MSU5LCTB4MDAyMAorI2RlZmluZSBFWFQ0X0ZFQVRVUkVfUk9fQ09NUEFUX0VYVFJBX0lTSVpFCTB4MDA0MAorCisvKiBmb3Igc19mZWF0dXJlX2luY29tcGF0ICovCisjZGVmaW5lIEVYVDJfRkVBVFVSRV9JTkNPTVBBVF9GSUxFVFlQRQkJMHgwMDAyCisjZGVmaW5lIEVYVDNfRkVBVFVSRV9JTkNPTVBBVF9SRUNPVkVSCQkweDAwMDQKKyNkZWZpbmUgRVhUM19GRUFUVVJFX0lOQ09NUEFUX0pPVVJOQUxfREVWCTB4MDAwOAorI2RlZmluZSBFWFQyX0ZFQVRVUkVfSU5DT01QQVRfTUVUQV9CRwkJMHgwMDEwCisjZGVmaW5lIEVYVDRfRkVBVFVSRV9JTkNPTVBBVF9FWFRFTlRTCQkweDAwNDAgLyogZXh0ZW50cyBzdXBwb3J0ICovCisjZGVmaW5lIEVYVDRfRkVBVFVSRV9JTkNPTVBBVF82NEJJVAkJMHgwMDgwCisjZGVmaW5lIEVYVDRfRkVBVFVSRV9JTkNPTVBBVF9NTVAJCTB4MDEwMAorI2RlZmluZSBFWFQ0X0ZFQVRVUkVfSU5DT01QQVRfRkxFWF9CRwkJMHgwMjAwCisKKyNkZWZpbmUgRVhUMl9GRUFUVVJFX1JPX0NPTVBBVF9TVVBQCShFWFQyX0ZFQVRVUkVfUk9fQ09NUEFUX1NQQVJTRV9TVVBFUnwgXAorCQkJCQkgRVhUMl9GRUFUVVJFX1JPX0NPTVBBVF9MQVJHRV9GSUxFfCBcCisJCQkJCSBFWFQyX0ZFQVRVUkVfUk9fQ09NUEFUX0JUUkVFX0RJUikKKyNkZWZpbmUgRVhUMl9GRUFUVVJFX0lOQ09NUEFUX1NVUFAJKEVYVDJfRkVBVFVSRV9JTkNPTVBBVF9GSUxFVFlQRXwgXAorCQkJCQkgRVhUMl9GRUFUVVJFX0lOQ09NUEFUX01FVEFfQkcpCisjZGVmaW5lIEVYVDJfRkVBVFVSRV9JTkNPTVBBVF9VTlNVUFBPUlRFRAl+RVhUMl9GRUFUVVJFX0lOQ09NUEFUX1NVUFAKKyNkZWZpbmUgRVhUMl9GRUFUVVJFX1JPX0NPTVBBVF9VTlNVUFBPUlRFRAl+RVhUMl9GRUFUVVJFX1JPX0NPTVBBVF9TVVBQCisKKyNkZWZpbmUgRVhUM19GRUFUVVJFX1JPX0NPTVBBVF9TVVBQCShFWFQyX0ZFQVRVUkVfUk9fQ09NUEFUX1NQQVJTRV9TVVBFUnwgXAorCQkJCQkgRVhUMl9GRUFUVVJFX1JPX0NPTVBBVF9MQVJHRV9GSUxFfCBcCisJCQkJCSBFWFQyX0ZFQVRVUkVfUk9fQ09NUEFUX0JUUkVFX0RJUikKKyNkZWZpbmUgRVhUM19GRUFUVVJFX0lOQ09NUEFUX1NVUFAJKEVYVDJfRkVBVFVSRV9JTkNPTVBBVF9GSUxFVFlQRXwgXAorCQkJCQkgRVhUM19GRUFUVVJFX0lOQ09NUEFUX1JFQ09WRVJ8IFwKKwkJCQkJIEVYVDJfRkVBVFVSRV9JTkNPTVBBVF9NRVRBX0JHKQorI2RlZmluZSBFWFQzX0ZFQVRVUkVfSU5DT01QQVRfVU5TVVBQT1JURUQJfkVYVDNfRkVBVFVSRV9JTkNPTVBBVF9TVVBQCisjZGVmaW5lIEVYVDNfRkVBVFVSRV9ST19DT01QQVRfVU5TVVBQT1JURUQJfkVYVDNfRkVBVFVSRV9ST19DT01QQVRfU1VQUAorCisvKgorICogU3RhcnRpbmcgaW4gMi42LjI5LCBleHQ0IGNhbiBiZSB1c2VkIHRvIHN1cHBvcnQgZmlsZXN5c3RlbXMKKyAqIHdpdGhvdXQgYSBqb3VybmFsLgorICovCisjZGVmaW5lIEVYVDRfU1VQUE9SVFNfRVhUMiBLRVJORUxfVkVSU0lPTigyLCA2LCAyOSkKKworLyoKKyAqIHJlYWRzIHN1cGVyYmxvY2sgYW5kIHJldHVybnM6CisgKglmYyA9IGZlYXR1cmVfY29tcGF0CisgKglmaSA9IGZlYXR1cmVfaW5jb21wYXQKKyAqCWZyYyA9IGZlYXR1cmVfcm9fY29tcGF0CisgKi8KK3N0YXRpYyBzdHJ1Y3QgZXh0Ml9zdXBlcl9ibG9jayAqZXh0X2dldF9zdXBlcigKKwkJYmxraWRfcHJvYmUgcHIsIHVpbnQzMl90ICpmYywgdWludDMyX3QgKmZpLCB1aW50MzJfdCAqZnJjKQoreworCXN0cnVjdCBleHQyX3N1cGVyX2Jsb2NrICplczsKKworCWVzID0gKHN0cnVjdCBleHQyX3N1cGVyX2Jsb2NrICopCisJCQlibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLCBFWFRfU0JfT0ZGLCAweDIwMCk7CisJaWYgKCFlcykKKwkJcmV0dXJuIE5VTEw7CisJaWYgKGZjKQorCQkqZmMgPSBsZTMyX3RvX2NwdShlcy0+c19mZWF0dXJlX2NvbXBhdCk7CisJaWYgKGZpKQorCQkqZmkgPSBsZTMyX3RvX2NwdShlcy0+c19mZWF0dXJlX2luY29tcGF0KTsKKwlpZiAoZnJjKQorCQkqZnJjID0gbGUzMl90b19jcHUoZXMtPnNfZmVhdHVyZV9yb19jb21wYXQpOworCisJcmV0dXJuIGVzOworfQorCitzdGF0aWMgdm9pZCBleHRfZ2V0X2luZm8oYmxraWRfcHJvYmUgcHIsIGludCB2ZXIsIHN0cnVjdCBleHQyX3N1cGVyX2Jsb2NrICplcykKK3sKKwlzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobiA9IGJsa2lkX3Byb2JlX2dldF9jaGFpbihwcik7CisKKwlEQkcoUFJPQkUsIHVsX2RlYnVnKCJleHQyX3NiLmNvbXBhdCA9ICUwOFg6JTA4WDolMDhYIiwKKwkJICAgbGUzMl90b19jcHUoZXMtPnNfZmVhdHVyZV9jb21wYXQpLAorCQkgICBsZTMyX3RvX2NwdShlcy0+c19mZWF0dXJlX2luY29tcGF0KSwKKwkJICAgbGUzMl90b19jcHUoZXMtPnNfZmVhdHVyZV9yb19jb21wYXQpKSk7CisKKwlpZiAoKmVzLT5zX3ZvbHVtZV9uYW1lICE9ICdcMCcpCisJCWJsa2lkX3Byb2JlX3NldF9sYWJlbChwciwgKHVuc2lnbmVkIGNoYXIgKikgZXMtPnNfdm9sdW1lX25hbWUsCisJCQkJCXNpemVvZihlcy0+c192b2x1bWVfbmFtZSkpOworCWJsa2lkX3Byb2JlX3NldF91dWlkKHByLCBlcy0+c191dWlkKTsKKworCWlmIChsZTMyX3RvX2NwdShlcy0+c19mZWF0dXJlX2NvbXBhdCkgJiBFWFQzX0ZFQVRVUkVfQ09NUEFUX0hBU19KT1VSTkFMKQorCQlibGtpZF9wcm9iZV9zZXRfdXVpZF9hcyhwciwgZXMtPnNfam91cm5hbF91dWlkLCAiRVhUX0pPVVJOQUwiKTsKKworCWlmICh2ZXIgIT0gMiAmJiAoY2huLT5mbGFncyAmIEJMS0lEX1NVQkxLU19TRUNUWVBFKSAmJgorCSAgICAoKGxlMzJfdG9fY3B1KGVzLT5zX2ZlYXR1cmVfaW5jb21wYXQpICYgRVhUMl9GRUFUVVJFX0lOQ09NUEFUX1VOU1VQUE9SVEVEKSA9PSAwKSkKKwkJYmxraWRfcHJvYmVfc2V0X3ZhbHVlKHByLCAiU0VDX1RZUEUiLAorCQkJCSh1bnNpZ25lZCBjaGFyICopICJleHQyIiwKKwkJCQlzaXplb2YoImV4dDIiKSk7CisKKwlibGtpZF9wcm9iZV9zcHJpbnRmX3ZlcnNpb24ocHIsICIldS4ldSIsCisJCWxlMzJfdG9fY3B1KGVzLT5zX3Jldl9sZXZlbCksCisJCWxlMTZfdG9fY3B1KGVzLT5zX21pbm9yX3Jldl9sZXZlbCkpOworfQorCisKK3N0YXRpYyBpbnQgcHJvYmVfamJkKGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJc3RydWN0IGV4dDJfc3VwZXJfYmxvY2sgKmVzOworCXVpbnQzMl90IGZpOworCisJZXMgPSBleHRfZ2V0X3N1cGVyKHByLCBOVUxMLCAmZmksIE5VTEwpOworCWlmICghZXMpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisJaWYgKCEoZmkgJiBFWFQzX0ZFQVRVUkVfSU5DT01QQVRfSk9VUk5BTF9ERVYpKQorCQlyZXR1cm4gMTsKKworCWV4dF9nZXRfaW5mbyhwciwgMiwgZXMpOworCWJsa2lkX3Byb2JlX3NldF91dWlkX2FzKHByLCBlcy0+c191dWlkLCAiTE9HVVVJRCIpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfZXh0MihibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXN0cnVjdCBleHQyX3N1cGVyX2Jsb2NrICplczsKKwl1aW50MzJfdCBmYywgZnJjLCBmaTsKKworCWVzID0gZXh0X2dldF9zdXBlcihwciwgJmZjLCAmZmksICZmcmMpOworCWlmICghZXMpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwkvKiBEaXN0aW5ndWlzaCBiZXR3ZWVuIGV4dDMgYW5kIGV4dDIgKi8KKwlpZiAoZmMgJiBFWFQzX0ZFQVRVUkVfQ09NUEFUX0hBU19KT1VSTkFMKQorCQlyZXR1cm4gMTsKKworCS8qIEFueSBmZWF0dXJlcyB3aGljaCBleHQyIGRvZXNuJ3QgdW5kZXJzdGFuZCAqLworCWlmICgoZnJjICYgRVhUMl9GRUFUVVJFX1JPX0NPTVBBVF9VTlNVUFBPUlRFRCkgfHwKKwkgICAgKGZpICAmIEVYVDJfRkVBVFVSRV9JTkNPTVBBVF9VTlNVUFBPUlRFRCkpCisJCXJldHVybiAxOworCisJZXh0X2dldF9pbmZvKHByLCAyLCBlcyk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfZXh0MyhibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXN0cnVjdCBleHQyX3N1cGVyX2Jsb2NrICplczsKKwl1aW50MzJfdCBmYywgZnJjLCBmaTsKKworCWVzID0gZXh0X2dldF9zdXBlcihwciwgJmZjLCAmZmksICZmcmMpOworCWlmICghZXMpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwkvKiBleHQzIHJlcXVpcmVzIGpvdXJuYWwgKi8KKwlpZiAoIShmYyAmIEVYVDNfRkVBVFVSRV9DT01QQVRfSEFTX0pPVVJOQUwpKQorCQlyZXR1cm4gMTsKKworCS8qIEFueSBmZWF0dXJlcyB3aGljaCBleHQzIGRvZXNuJ3QgdW5kZXJzdGFuZCAqLworCWlmICgoZnJjICYgRVhUM19GRUFUVVJFX1JPX0NPTVBBVF9VTlNVUFBPUlRFRCkgfHwKKwkgICAgKGZpICAmIEVYVDNfRkVBVFVSRV9JTkNPTVBBVF9VTlNVUFBPUlRFRCkpCisJCXJldHVybiAxOworCisJZXh0X2dldF9pbmZvKHByLCAzLCBlcyk7CisJcmV0dXJuIDA7Cit9CisKKworc3RhdGljIGludCBwcm9iZV9leHQ0ZGV2KGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJc3RydWN0IGV4dDJfc3VwZXJfYmxvY2sgKmVzOworCXVpbnQzMl90IGZjLCBmcmMsIGZpOworCisJZXMgPSBleHRfZ2V0X3N1cGVyKHByLCAmZmMsICZmaSwgJmZyYyk7CisJaWYgKCFlcykKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCS8qIERpc3Rpbmd1aXNoIGZyb20gamJkICovCisJaWYgKGZpICYgRVhUM19GRUFUVVJFX0lOQ09NUEFUX0pPVVJOQUxfREVWKQorCQlyZXR1cm4gMTsKKworCWlmICghKGxlMzJfdG9fY3B1KGVzLT5zX2ZsYWdzKSAmIEVYVDJfRkxBR1NfVEVTVF9GSUxFU1lTKSkKKwkJcmV0dXJuIDE7CisKKwlleHRfZ2V0X2luZm8ocHIsIDQsIGVzKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwcm9iZV9leHQ0KGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJc3RydWN0IGV4dDJfc3VwZXJfYmxvY2sgKmVzOworCXVpbnQzMl90IGZjLCBmcmMsIGZpOworCisJZXMgPSBleHRfZ2V0X3N1cGVyKHByLCAmZmMsICZmaSwgJmZyYyk7CisJaWYgKCFlcykKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCS8qIERpc3Rpbmd1aXNoIGZyb20gamJkICovCisJaWYgKGZpICYgRVhUM19GRUFUVVJFX0lOQ09NUEFUX0pPVVJOQUxfREVWKQorCQlyZXR1cm4gMTsKKworCS8qIEV4dDQgaGFzIGF0IGxlYXN0IG9uZSBmZWF0dXJlIHdoaWNoIGV4dDMgZG9lc24ndCB1bmRlcnN0YW5kICovCisJaWYgKCEoZnJjICYgRVhUM19GRUFUVVJFX1JPX0NPTVBBVF9VTlNVUFBPUlRFRCkgJiYKKwkgICAgIShmaSAgJiBFWFQzX0ZFQVRVUkVfSU5DT01QQVRfVU5TVVBQT1JURUQpKQorCQlyZXR1cm4gMTsKKworCS8qCisJICogSWYgdGhlIGZpbGVzeXN0ZW0gaXMgYSBPSyBmb3IgdXNlIGJ5IGluLWRldmVsb3BtZW50CisJICogZmlsZXN5c3RlbSBjb2RlLCBhbmQgZXh0NGRldiBpcyBzdXBwb3J0ZWQgb3IgZXh0NCBpcyBub3QKKwkgKiBzdXBwb3J0ZWQsIHRoZW4gZG9uJ3QgY2FsbCBvdXJzZWx2ZXMgZXh0NCwgc28gd2UgY2FuIHJlZG8KKwkgKiB0aGUgZGV0ZWN0aW9uIGFuZCBtYXJrIHRoZSBmaWxlc3lzdGVtIGFzIGV4dDRkZXYuCisJICoKKwkgKiBJZiB0aGUgZmlsZXN5c3RlbSBpcyBtYXJrZWQgYXMgaW4gdXNlIGJ5IHByb2R1Y3Rpb24KKwkgKiBmaWxlc3lzdGVtLCB0aGVuIGl0IGNhbiBvbmx5IGJlIHVzZWQgYnkgZXh0NCBhbmQgTk9UIGJ5CisJICogZXh0NGRldi4KKwkgKi8KKwlpZiAobGUzMl90b19jcHUoZXMtPnNfZmxhZ3MpICYgRVhUMl9GTEFHU19URVNUX0ZJTEVTWVMpCisJCXJldHVybiAxOworCisJZXh0X2dldF9pbmZvKHByLCA0LCBlcyk7CisJcmV0dXJuIDA7Cit9CisKKyNkZWZpbmUgQkxLSURfRVhUX01BR0lDUyBcCisJeyBcCisJCXsJIFwKKwkJCS5tYWdpYyA9IEVYVF9TQl9NQUdJQywgXAorCQkJLmxlbiA9IHNpemVvZihFWFRfU0JfTUFHSUMpIC0gMSwgXAorCQkJLmtib2ZmID0gRVhUX1NCX0tCT0ZGLCBcCisJCQkuc2JvZmYgPSBFWFRfTUFHX09GRiBcCisJCX0sIFwKKwkJeyBOVUxMIH0gXAorCX0KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBqYmRfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAiamJkIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfT1RIRVIsCisJLnByb2JlZnVuYwk9IHByb2JlX2piZCwKKwkubWFnaWNzCQk9IEJMS0lEX0VYVF9NQUdJQ1MKK307CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gZXh0Ml9pZGluZm8gPQoreworCS5uYW1lCQk9ICJleHQyIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfZXh0MiwKKwkubWFnaWNzCQk9IEJMS0lEX0VYVF9NQUdJQ1MKK307CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gZXh0M19pZGluZm8gPQoreworCS5uYW1lCQk9ICJleHQzIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfZXh0MywKKwkubWFnaWNzCQk9IEJMS0lEX0VYVF9NQUdJQ1MKK307CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gZXh0NF9pZGluZm8gPQoreworCS5uYW1lCQk9ICJleHQ0IiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfZXh0NCwKKwkubWFnaWNzCQk9IEJMS0lEX0VYVF9NQUdJQ1MKK307CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gZXh0NGRldl9pZGluZm8gPQoreworCS5uYW1lCQk9ICJleHQ0ZGV2IiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfZXh0NGRldiwKKwkubWFnaWNzCQk9IEJMS0lEX0VYVF9NQUdJQ1MKK307CisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9mMmZzLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvZjJmcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxYmYyNWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvZjJmcy5jCkBAIC0wLDAgKzEsOTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQWxlamFuZHJvIE1hcnRpbmV6IFJ1aXogPGFsZXhAbm93Y29tcHV0aW5nLmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKi8KKworI2luY2x1ZGUgPHN0ZGRlZi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworI2RlZmluZSBGMkZTX01BR0lDCQkiXHgxMFx4MjBceEY1XHhGMiIKKyNkZWZpbmUgRjJGU19NQUdJQ19PRkYJCTAKKyNkZWZpbmUgRjJGU19VVUlEX1NJWkUJCTE2CisjZGVmaW5lIEYyRlNfTEFCRUxfU0laRQkJNTEyCisjZGVmaW5lIEYyRlNfU0IxX09GRgkJMHg0MDAKKyNkZWZpbmUgRjJGU19TQjFfS0JPRkYJCShGMkZTX1NCMV9PRkYgPj4gMTApCisjZGVmaW5lIEYyRlNfU0IyX09GRgkJMHgxNDAwCisjZGVmaW5lIEYyRlNfU0IyX0tCT0ZGCQkoRjJGU19TQjJfT0ZGID4+IDEwKQorCitzdHJ1Y3QgZjJmc19zdXBlcl9ibG9jayB7CQkJCQkvKiBBY2NvcmRpbmcgdG8gdmVyc2lvbiAxLjEgKi8KKy8qIDB4MDAgKi8JdWludDMyX3QJbWFnaWM7CQkJCS8qIE1hZ2ljIE51bWJlciAqLworLyogMHgwNCAqLwl1aW50MTZfdAltYWpvcl92ZXI7CQkJLyogTWFqb3IgVmVyc2lvbiAqLworLyogMHgwNiAqLwl1aW50MTZfdAltaW5vcl92ZXI7CQkJLyogTWlub3IgVmVyc2lvbiAqLworLyogMHgwOCAqLwl1aW50MzJfdAlsb2dfc2VjdG9yc2l6ZTsJCQkvKiBsb2cyIHNlY3RvciBzaXplIGluIGJ5dGVzICovCisvKiAweDBDICovCXVpbnQzMl90CWxvZ19zZWN0b3JzX3Blcl9ibG9jazsJCS8qIGxvZzIgIyBvZiBzZWN0b3JzIHBlciBibG9jayAqLworLyogMHgxMCAqLwl1aW50MzJfdAlsb2dfYmxvY2tzaXplOwkJCS8qIGxvZzIgYmxvY2sgc2l6ZSBpbiBieXRlcyAqLworLyogMHgxNCAqLwl1aW50MzJfdAlsb2dfYmxvY2tzX3Blcl9zZWc7CQkvKiBsb2cyICMgb2YgYmxvY2tzIHBlciBzZWdtZW50ICovCisvKiAweDE4ICovCXVpbnQzMl90CXNlZ3NfcGVyX3NlYzsJCQkvKiAjIG9mIHNlZ21lbnRzIHBlciBzZWN0aW9uICovCisvKiAweDFDICovCXVpbnQzMl90CXNlY3NfcGVyX3pvbmU7CQkJLyogIyBvZiBzZWN0aW9ucyBwZXIgem9uZSAqLworLyogMHgyMCAqLwl1aW50MzJfdAljaGVja3N1bV9vZmZzZXQ7CQkvKiBjaGVja3N1bSBvZmZzZXQgaW5zaWRlIHN1cGVyIGJsb2NrICovCisvKiAweDI0ICovCXVpbnQ2NF90CWJsb2NrX2NvdW50OwkJCS8qIHRvdGFsICMgb2YgdXNlciBibG9ja3MgKi8KKy8qIDB4MkMgKi8JdWludDMyX3QJc2VjdGlvbl9jb3VudDsJCQkvKiB0b3RhbCAjIG9mIHNlY3Rpb25zICovCisvKiAweDMwICovCXVpbnQzMl90CXNlZ21lbnRfY291bnQ7CQkJLyogdG90YWwgIyBvZiBzZWdtZW50cyAqLworLyogMHgzNCAqLwl1aW50MzJfdAlzZWdtZW50X2NvdW50X2NrcHQ7CQkvKiAjIG9mIHNlZ21lbnRzIGZvciBjaGVja3BvaW50ICovCisvKiAweDM4ICovCXVpbnQzMl90CXNlZ21lbnRfY291bnRfc2l0OwkJLyogIyBvZiBzZWdtZW50cyBmb3IgU0lUICovCisvKiAweDNDICovCXVpbnQzMl90CXNlZ21lbnRfY291bnRfbmF0OwkJLyogIyBvZiBzZWdtZW50cyBmb3IgTkFUICovCisvKiAweDQwICovCXVpbnQzMl90CXNlZ21lbnRfY291bnRfc3NhOwkJLyogIyBvZiBzZWdtZW50cyBmb3IgU1NBICovCisvKiAweDQ0ICovCXVpbnQzMl90CXNlZ21lbnRfY291bnRfbWFpbjsJCS8qICMgb2Ygc2VnbWVudHMgZm9yIG1haW4gYXJlYSAqLworLyogMHg0OCAqLwl1aW50MzJfdAlzZWdtZW50MF9ibGthZGRyOwkJLyogc3RhcnQgYmxvY2sgYWRkcmVzcyBvZiBzZWdtZW50IDAgKi8KKy8qIDB4NEMgKi8JdWludDMyX3QJY3BfYmxrYWRkcjsJCQkvKiBzdGFydCBibG9jayBhZGRyZXNzIG9mIGNoZWNrcG9pbnQgKi8KKy8qIDB4NTAgKi8JdWludDMyX3QJc2l0X2Jsa2FkZHI7CQkJLyogc3RhcnQgYmxvY2sgYWRkcmVzcyBvZiBTSVQgKi8KKy8qIDB4NTQgKi8JdWludDMyX3QJbmF0X2Jsa2FkZHI7CQkJLyogc3RhcnQgYmxvY2sgYWRkcmVzcyBvZiBOQVQgKi8KKy8qIDB4NTggKi8JdWludDMyX3QJc3NhX2Jsa2FkZHI7CQkJLyogc3RhcnQgYmxvY2sgYWRkcmVzcyBvZiBTU0EgKi8KKy8qIDB4NUMgKi8JdWludDMyX3QJbWFpbl9ibGthZGRyOwkJCS8qIHN0YXJ0IGJsb2NrIGFkZHJlc3Mgb2YgbWFpbiBhcmVhICovCisvKiAweDYwICovCXVpbnQzMl90CXJvb3RfaW5vOwkJCS8qIHJvb3QgaW5vZGUgbnVtYmVyICovCisvKiAweDY0ICovCXVpbnQzMl90CW5vZGVfaW5vOwkJCS8qIG5vZGUgaW5vZGUgbnVtYmVyICovCisvKiAweDY4ICovCXVpbnQzMl90CW1ldGFfaW5vOwkJCS8qIG1ldGEgaW5vZGUgbnVtYmVyICovCisvKiAweDZDICovCXVpbnQ4X3QJCXV1aWRbRjJGU19VVUlEX1NJWkVdOwkJLyogMTI4LWJpdCB1dWlkIGZvciB2b2x1bWUgKi8KKy8qIDB4N0MgKi8JdWludDE2X3QJdm9sdW1lX25hbWVbRjJGU19MQUJFTF9TSVpFXTsJLyogdm9sdW1lIG5hbWUgKi8KKyNpZiAwCisvKiAweDQ3QyAqLwl1aW50MzJfdAlleHRlbnNpb25fY291bnQ7CQkvKiAjIG9mIGV4dGVuc2lvbnMgYmVsb3cgKi8KKy8qIDB4NDgwICovCXVpbnQ4X3QJCWV4dGVuc2lvbl9saXN0WzY0XVs4XTsJCS8qIGV4dGVuc2lvbiBhcnJheSAqLworI2VuZGlmCit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdGF0aWMgaW50IHByb2JlX2YyZnMoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCXN0cnVjdCBmMmZzX3N1cGVyX2Jsb2NrICpzYjsKKwl1aW50MTZfdCB2ZXJtYWosIHZlcm1pbjsKKworCXNiID0gYmxraWRfcHJvYmVfZ2V0X3NiKHByLCBtYWcsIHN0cnVjdCBmMmZzX3N1cGVyX2Jsb2NrKTsKKwlpZiAoIXNiKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJdmVybWFqID0gbGUxNl90b19jcHUoc2ItPm1ham9yX3Zlcik7CisJdmVybWluID0gbGUxNl90b19jcHUoc2ItPm1pbm9yX3Zlcik7CisKKwkvKiBGb3IgdmVyc2lvbiAxLjAgd2UgY2Fubm90IGtub3cgdGhlIGNvcnJlY3Qgc2Igc3RydWN0dXJlICovCisJaWYgKHZlcm1haiA9PSAxICYmIHZlcm1pbiA9PSAwKQorCQlyZXR1cm4gMDsKKworCWlmICgqKCh1bnNpZ25lZCBjaGFyICopIHNiLT52b2x1bWVfbmFtZSkpCisJCWJsa2lkX3Byb2JlX3NldF91dGY4bGFiZWwocHIsICh1bnNpZ25lZCBjaGFyICopIHNiLT52b2x1bWVfbmFtZSwKKwkJCQkJCXNpemVvZihzYi0+dm9sdW1lX25hbWUpLAorCQkJCQkJQkxLSURfRU5DX1VURjE2TEUpOworCisJYmxraWRfcHJvYmVfc2V0X3V1aWQocHIsIHNiLT51dWlkKTsKKwlibGtpZF9wcm9iZV9zcHJpbnRmX3ZlcnNpb24ocHIsICIldS4ldSIsIHZlcm1haiwgdmVybWluKTsKKwlyZXR1cm4gMDsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBmMmZzX2lkaW5mbyA9Cit7CisJLm5hbWUgICAgICAgICAgID0gImYyZnMiLAorCS51c2FnZSAgICAgICAgICA9IEJMS0lEX1VTQUdFX0ZJTEVTWVNURU0sCisJLnByb2JlZnVuYyAgICAgID0gcHJvYmVfZjJmcywKKwkubWFnaWNzICAgICAgICAgPQorICAgICAgICB7CisJCXsKKwkJCS5tYWdpYyA9IEYyRlNfTUFHSUMsCisJCQkubGVuID0gNCwKKwkJCS5rYm9mZiA9IEYyRlNfU0IxX0tCT0ZGLAorCQkJLnNib2ZmID0gRjJGU19NQUdJQ19PRkYKKwkJfSwKKwkJeyBOVUxMIH0KKwl9Cit9OwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2dmcy5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2dmcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhNjAzNmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvZ2ZzLmMKQEAgLTAsMCArMSwxMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCisvKiBDb21tb24gZ2ZzL2dmczIgY29uc3RhbnRzOiAqLworI2RlZmluZSBHRlNfTE9DS05BTUVfTEVOICAgICAgICA2NAorCisvKiBnZnMxIGNvbnN0YW50czogKi8KKyNkZWZpbmUgR0ZTX0ZPUk1BVF9GUyAgICAgICAgICAgMTMwOQorI2RlZmluZSBHRlNfRk9STUFUX01VTFRJICAgICAgICAxNDAxCisvKiBnZnMyIGNvbnN0YW50czogKi8KKyNkZWZpbmUgR0ZTMl9GT1JNQVRfRlMgICAgICAgICAgMTgwMQorI2RlZmluZSBHRlMyX0ZPUk1BVF9NVUxUSSAgICAgICAxOTAwCisKK3N0cnVjdCBnZnMyX21ldGFfaGVhZGVyIHsKKwl1aW50MzJfdCBtaF9tYWdpYzsKKwl1aW50MzJfdCBtaF90eXBlOworCXVpbnQ2NF90IF9fcGFkMDsgICAgICAgICAgLyogV2FzIGdlbmVyYXRpb24gbnVtYmVyIGluIGdmczEgKi8KKwl1aW50MzJfdCBtaF9mb3JtYXQ7CisJdWludDMyX3QgX19wYWQxOyAgICAgICAgICAvKiBXYXMgaW5jYXJuYXRpb24gbnVtYmVyIGluIGdmczEgKi8KK307CisKK3N0cnVjdCBnZnMyX2ludW0geworCXVpbnQ2NF90IG5vX2Zvcm1hbF9pbm87CisJdWludDY0X3Qgbm9fYWRkcjsKK307CisKK3N0cnVjdCBnZnMyX3NiIHsKKwlzdHJ1Y3QgZ2ZzMl9tZXRhX2hlYWRlciBzYl9oZWFkZXI7CisKKwl1aW50MzJfdCBzYl9mc19mb3JtYXQ7CisJdWludDMyX3Qgc2JfbXVsdGlob3N0X2Zvcm1hdDsKKwl1aW50MzJfdCAgX19wYWQwOyAgLyogV2FzIHN1cGVyYmxvY2sgZmxhZ3MgaW4gZ2ZzMSAqLworCisJdWludDMyX3Qgc2JfYnNpemU7CisJdWludDMyX3Qgc2JfYnNpemVfc2hpZnQ7CisJdWludDMyX3QgX19wYWQxOyAgIC8qIFdhcyBqb3VybmFsIHNlZ21lbnQgc2l6ZSBpbiBnZnMxICovCisKKwlzdHJ1Y3QgZ2ZzMl9pbnVtIHNiX21hc3Rlcl9kaXI7IC8qIFdhcyBqaW5kZXggZGlub2RlIGluIGdmczEgKi8KKwlzdHJ1Y3QgZ2ZzMl9pbnVtIF9fcGFkMjsgLyogV2FzIHJpbmRleCBkaW5vZGUgaW4gZ2ZzMSAqLworCXN0cnVjdCBnZnMyX2ludW0gc2Jfcm9vdF9kaXI7CisKKwljaGFyIHNiX2xvY2twcm90b1tHRlNfTE9DS05BTUVfTEVOXTsKKwljaGFyIHNiX2xvY2t0YWJsZVtHRlNfTE9DS05BTUVfTEVOXTsKKworCXN0cnVjdCBnZnMyX2ludW0gX19wYWQzOyAvKiBXYXMgcXVvdGEgaW5vZGUgaW4gZ2ZzMSAqLworCXN0cnVjdCBnZnMyX2ludW0gX19wYWQ0OyAvKiBXYXMgbGljZW5zZSBpbm9kZSBpbiBnZnMxICovCisJdWludDhfdCBzYl91dWlkWzE2XTsgLyogVGhlIFVVSUQgbWF5YmUgMCBmb3IgYmFja3dhcmRzIGNvbXBhdCAqLworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RhdGljIGludCBwcm9iZV9nZnMoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCXN0cnVjdCBnZnMyX3NiICpzYmQ7CisKKwlzYmQgPSBibGtpZF9wcm9iZV9nZXRfc2IocHIsIG1hZywgc3RydWN0IGdmczJfc2IpOworCWlmICghc2JkKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJaWYgKGJlMzJfdG9fY3B1KHNiZC0+c2JfZnNfZm9ybWF0KSA9PSBHRlNfRk9STUFUX0ZTICYmCisJICAgIGJlMzJfdG9fY3B1KHNiZC0+c2JfbXVsdGlob3N0X2Zvcm1hdCkgPT0gR0ZTX0ZPUk1BVF9NVUxUSSkKKwl7CisJCWlmICgqc2JkLT5zYl9sb2NrdGFibGUpCisJCQlibGtpZF9wcm9iZV9zZXRfbGFiZWwocHIsCisJCQkJKHVuc2lnbmVkIGNoYXIgKikgc2JkLT5zYl9sb2NrdGFibGUsCisJCQkJc2l6ZW9mKHNiZC0+c2JfbG9ja3RhYmxlKSk7CisKKwkJYmxraWRfcHJvYmVfc2V0X3V1aWQocHIsIHNiZC0+c2JfdXVpZCk7CisJCXJldHVybiAwOworCX0KKworCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IHByb2JlX2dmczIoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCXN0cnVjdCBnZnMyX3NiICpzYmQ7CisKKwlzYmQgPSBibGtpZF9wcm9iZV9nZXRfc2IocHIsIG1hZywgc3RydWN0IGdmczJfc2IpOworCWlmICghc2JkKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJaWYgKGJlMzJfdG9fY3B1KHNiZC0+c2JfZnNfZm9ybWF0KSA9PSBHRlMyX0ZPUk1BVF9GUyAmJgorCSAgICBiZTMyX3RvX2NwdShzYmQtPnNiX211bHRpaG9zdF9mb3JtYXQpID09IEdGUzJfRk9STUFUX01VTFRJKQorCXsKKwkJaWYgKCpzYmQtPnNiX2xvY2t0YWJsZSkKKwkJCWJsa2lkX3Byb2JlX3NldF9sYWJlbChwciwKKwkJCQkodW5zaWduZWQgY2hhciAqKSBzYmQtPnNiX2xvY2t0YWJsZSwKKwkJCQlzaXplb2Yoc2JkLT5zYl9sb2NrdGFibGUpKTsKKwkJYmxraWRfcHJvYmVfc2V0X3V1aWQocHIsIHNiZC0+c2JfdXVpZCk7CisJCWJsa2lkX3Byb2JlX3NldF92ZXJzaW9uKHByLCAiMSIpOworCQlyZXR1cm4gMDsKKwl9CisJcmV0dXJuIDE7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gZ2ZzX2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gImdmcyIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX0ZJTEVTWVNURU0sCisJLnByb2JlZnVuYwk9IHByb2JlX2dmcywKKwkubWluc3oJCT0gMzIgKiAxMDI0ICogMTAyNCwJLyogbWluaW1hbCBzaXplIG9mIEdGUyBqb3VybmFsICovCisJLm1hZ2ljcwkJPQorCXsKKwkJeyAubWFnaWMgPSAiXHgwMVx4MTZceDE5XHg3MCIsIC5sZW4gPSA0LCAua2JvZmYgPSA2NCB9LAorCQl7IE5VTEwgfQorCX0KK307CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gZ2ZzMl9pZGluZm8gPQoreworCS5uYW1lCQk9ICJnZnMyIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfZ2ZzMiwKKwkubWluc3oJCT0gMzIgKiAxMDI0ICogMTAyNCwJLyogbWluaW1hbCBzaXplIG9mIEdGUyBqb3VybmFsICovCisJLm1hZ2ljcwkJPQorCXsKKwkJeyAubWFnaWMgPSAiXHgwMVx4MTZceDE5XHg3MCIsIC5sZW4gPSA0LCAua2JvZmYgPSA2NCB9LAorCQl7IE5VTEwgfQorCX0KK307CisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9oZnMuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9oZnMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZTUwMmNmCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2hmcy5jCkBAIC0wLDAgKzEsMzIxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMDggS2F5IFNpZXZlcnMgPGtheS5zaWV2ZXJzQHZyZnkub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDA4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGludHR5cGVzLmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorI2luY2x1ZGUgIm1kNS5oIgorCisvKiBIRlMgLyBIRlMrICovCitzdHJ1Y3QgaGZzX2ZpbmRlcl9pbmZvIHsKKyAgICAgICAgdWludDMyX3QgICAgICAgIGJvb3RfZm9sZGVyOworICAgICAgICB1aW50MzJfdCAgICAgICAgc3RhcnRfYXBwOworICAgICAgICB1aW50MzJfdCAgICAgICAgb3Blbl9mb2xkZXI7CisgICAgICAgIHVpbnQzMl90ICAgICAgICBvczlfZm9sZGVyOworICAgICAgICB1aW50MzJfdCAgICAgICAgcmVzZXJ2ZWQ7CisgICAgICAgIHVpbnQzMl90ICAgICAgICBvc3hfZm9sZGVyOworICAgICAgICB1aW50OF90ICAgICAgICAgaWRbOF07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdHJ1Y3QgaGZzX21kYiB7CisgICAgICAgIHVpbnQ4X3QgICAgICAgICBzaWduYXR1cmVbMl07CisgICAgICAgIHVpbnQzMl90ICAgICAgICBjcl9kYXRlOworICAgICAgICB1aW50MzJfdCAgICAgICAgbHNfTW9kOworICAgICAgICB1aW50MTZfdCAgICAgICAgYXRyYjsKKyAgICAgICAgdWludDE2X3QgICAgICAgIG5tX2ZsczsKKyAgICAgICAgdWludDE2X3QgICAgICAgIHZibV9zdDsKKyAgICAgICAgdWludDE2X3QgICAgICAgIGFsbG9jX3B0cjsKKyAgICAgICAgdWludDE2X3QgICAgICAgIG5tX2FsX2Jsa3M7CisgICAgICAgIHVpbnQzMl90ICAgICAgICBhbF9ibGtfc2l6ZTsKKyAgICAgICAgdWludDMyX3QgICAgICAgIGNscF9zaXplOworICAgICAgICB1aW50MTZfdCAgICAgICAgYWxfYmxfc3Q7CisgICAgICAgIHVpbnQzMl90ICAgICAgICBueHRfY25pZDsKKyAgICAgICAgdWludDE2X3QgICAgICAgIGZyZWVfYmtzOworICAgICAgICB1aW50OF90ICAgICAgICAgbGFiZWxfbGVuOworICAgICAgICB1aW50OF90ICAgICAgICAgbGFiZWxbMjddOworICAgICAgICB1aW50MzJfdCAgICAgICAgdm9sX2JrdXA7CisgICAgICAgIHVpbnQxNl90ICAgICAgICB2b2xfc2VxX251bTsKKyAgICAgICAgdWludDMyX3QgICAgICAgIHdyX2NudDsKKyAgICAgICAgdWludDMyX3QgICAgICAgIHh0X2NsdW1wX3NpemU7CisgICAgICAgIHVpbnQzMl90ICAgICAgICBjdF9jbHVtcF9zaXplOworICAgICAgICB1aW50MTZfdCAgICAgICAgbnVtX3Jvb3RfZGlyczsKKyAgICAgICAgdWludDMyX3QgICAgICAgIGZpbGVfY291bnQ7CisgICAgICAgIHVpbnQzMl90ICAgICAgICBkaXJfY291bnQ7CisgICAgICAgIHN0cnVjdCBoZnNfZmluZGVyX2luZm8gZmluZGVyX2luZm87CisgICAgICAgIHVpbnQ4X3QgICAgICAgICBlbWJlZF9zaWdbMl07CisgICAgICAgIHVpbnQxNl90ICAgICAgICBlbWJlZF9zdGFydGJsb2NrOworICAgICAgICB1aW50MTZfdCAgICAgICAgZW1iZWRfYmxvY2tjb3VudDsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKworI2RlZmluZSBIRlNfTk9ERV9MRUFGCQkJMHhmZgorI2RlZmluZSBIRlNQTFVTX1BPUl9DTklECQkxCisKK3N0cnVjdCBoZnNwbHVzX2Jub2RlX2Rlc2NyaXB0b3IgeworCXVpbnQzMl90CQluZXh0OworCXVpbnQzMl90CQlwcmV2OworCXVpbnQ4X3QJCXR5cGU7CisJdWludDhfdAkJaGVpZ2h0OworCXVpbnQxNl90CQludW1fcmVjczsKKwl1aW50MTZfdAkJcmVzZXJ2ZWQ7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdHJ1Y3QgaGZzcGx1c19iaGVhZGVyX3JlY29yZCB7CisJdWludDE2X3QJCWRlcHRoOworCXVpbnQzMl90CQlyb290OworCXVpbnQzMl90CQlsZWFmX2NvdW50OworCXVpbnQzMl90CQlsZWFmX2hlYWQ7CisJdWludDMyX3QJCWxlYWZfdGFpbDsKKwl1aW50MTZfdAkJbm9kZV9zaXplOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RydWN0IGhmc3BsdXNfY2F0YWxvZ19rZXkgeworCXVpbnQxNl90CWtleV9sZW47CisJdWludDMyX3QJcGFyZW50X2lkOworCXVpbnQxNl90CXVuaWNvZGVfbGVuOworCXVpbnQ4X3QJCXVuaWNvZGVbMjU1ICogMl07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdHJ1Y3QgaGZzcGx1c19leHRlbnQgeworCXVpbnQzMl90CQlzdGFydF9ibG9jazsKKwl1aW50MzJfdAkJYmxvY2tfY291bnQ7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCisjZGVmaW5lIEhGU1BMVVNfRVhURU5UX0NPVU5UCQk4CitzdHJ1Y3QgaGZzcGx1c19mb3JrIHsKKwl1aW50NjRfdAkJdG90YWxfc2l6ZTsKKwl1aW50MzJfdAkJY2x1bXBfc2l6ZTsKKwl1aW50MzJfdAkJdG90YWxfYmxvY2tzOworCXN0cnVjdCBoZnNwbHVzX2V4dGVudCBleHRlbnRzW0hGU1BMVVNfRVhURU5UX0NPVU5UXTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0cnVjdCBoZnNwbHVzX3ZvbF9oZWFkZXIgeworCXVpbnQ4X3QJCXNpZ25hdHVyZVsyXTsKKwl1aW50MTZfdAkJdmVyc2lvbjsKKwl1aW50MzJfdAkJYXR0cmlidXRlczsKKwl1aW50MzJfdAkJbGFzdF9tb3VudF92ZXJzOworCXVpbnQzMl90CQlyZXNlcnZlZDsKKwl1aW50MzJfdAkJY3JlYXRlX2RhdGU7CisJdWludDMyX3QJCW1vZGlmeV9kYXRlOworCXVpbnQzMl90CQliYWNrdXBfZGF0ZTsKKwl1aW50MzJfdAkJY2hlY2tlZF9kYXRlOworCXVpbnQzMl90CQlmaWxlX2NvdW50OworCXVpbnQzMl90CQlmb2xkZXJfY291bnQ7CisJdWludDMyX3QJCWJsb2Nrc2l6ZTsKKwl1aW50MzJfdAkJdG90YWxfYmxvY2tzOworCXVpbnQzMl90CQlmcmVlX2Jsb2NrczsKKwl1aW50MzJfdAkJbmV4dF9hbGxvYzsKKwl1aW50MzJfdAkJcnNyY19jbHVtcF9zejsKKwl1aW50MzJfdAkJZGF0YV9jbHVtcF9zejsKKwl1aW50MzJfdAkJbmV4dF9jbmlkOworCXVpbnQzMl90CQl3cml0ZV9jb3VudDsKKwl1aW50NjRfdAkJZW5jb2RpbmdzX2JtcDsKKwlzdHJ1Y3QgaGZzX2ZpbmRlcl9pbmZvIGZpbmRlcl9pbmZvOworCXN0cnVjdCBoZnNwbHVzX2ZvcmsgYWxsb2NfZmlsZTsKKwlzdHJ1Y3QgaGZzcGx1c19mb3JrIGV4dF9maWxlOworCXN0cnVjdCBoZnNwbHVzX2ZvcmsgY2F0X2ZpbGU7CisJc3RydWN0IGhmc3BsdXNfZm9yayBhdHRyX2ZpbGU7CisJc3RydWN0IGhmc3BsdXNfZm9yayBzdGFydF9maWxlOworfSAgX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKyNkZWZpbmUgSEZTUExVU19TRUNUT1JfU0laRSAgICAgICAgNTEyCisKK3N0YXRpYyBpbnQgaGZzX3NldF91dWlkKGJsa2lkX3Byb2JlIHByLCB1bnNpZ25lZCBjaGFyIGNvbnN0ICpoZnNfaW5mbywgc2l6ZV90IGxlbikKK3sKKwlzdGF0aWMgdW5zaWduZWQgY2hhciBjb25zdCBoYXNoX2luaXRbTUQ1TEVOR1RIXSA9IHsKKwkJMHhiMywgMHhlMiwgMHgwZiwgMHgzOSwgMHhmMiwgMHg5MiwgMHgxMSwgMHhkNiwKKwkJMHg5NywgMHhhNCwgMHgwMCwgMHgzMCwgMHg2NSwgMHg0MywgMHhlYywgMHhhYworCX07CisJdW5zaWduZWQgY2hhciB1dWlkW01ENUxFTkdUSF07CisJc3RydWN0IE1ENUNvbnRleHQgbWQ1YzsKKworCWlmIChtZW1jbXAoaGZzX2luZm8sICJcMFwwXDBcMFwwXDBcMFwwIiwgbGVuKSA9PSAwKQorCQlyZXR1cm4gLTE7CisJTUQ1SW5pdCgmbWQ1Yyk7CisJTUQ1VXBkYXRlKCZtZDVjLCBoYXNoX2luaXQsIE1ENUxFTkdUSCk7CisJTUQ1VXBkYXRlKCZtZDVjLCBoZnNfaW5mbywgbGVuKTsKKwlNRDVGaW5hbCh1dWlkLCAmbWQ1Yyk7CisJdXVpZFs2XSA9IDB4MzAgfCAodXVpZFs2XSAmIDB4MGYpOworCXV1aWRbOF0gPSAweDgwIHwgKHV1aWRbOF0gJiAweDNmKTsKKwlyZXR1cm4gYmxraWRfcHJvYmVfc2V0X3V1aWQocHIsIHV1aWQpOworfQorCitzdGF0aWMgaW50IHByb2JlX2hmcyhibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJc3RydWN0IGhmc19tZGIJKmhmczsKKworCWhmcyA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3QgaGZzX21kYik7CisJaWYgKCFoZnMpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwlpZiAoKG1lbWNtcChoZnMtPmVtYmVkX3NpZywgIkgrIiwgMikgPT0gMCkgfHwKKwkgICAgKG1lbWNtcChoZnMtPmVtYmVkX3NpZywgIkhYIiwgMikgPT0gMCkpCisJCXJldHVybiAxOwkvKiBOb3QgaGZzLCBidXQgYW4gZW1iZWRkZWQgSEZTKyAqLworCisJaGZzX3NldF91dWlkKHByLCBoZnMtPmZpbmRlcl9pbmZvLmlkLCBzaXplb2YoaGZzLT5maW5kZXJfaW5mby5pZCkpOworCisJYmxraWRfcHJvYmVfc2V0X2xhYmVsKHByLCBoZnMtPmxhYmVsLCBoZnMtPmxhYmVsX2xlbik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfaGZzcGx1cyhibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJc3RydWN0IGhmc3BsdXNfZXh0ZW50IGV4dGVudHNbSEZTUExVU19FWFRFTlRfQ09VTlRdOworCXN0cnVjdCBoZnNwbHVzX2Jub2RlX2Rlc2NyaXB0b3IgKmRlc2NyOworCXN0cnVjdCBoZnNwbHVzX2JoZWFkZXJfcmVjb3JkICpibm9kZTsKKwlzdHJ1Y3QgaGZzcGx1c19jYXRhbG9nX2tleSAqa2V5OworCXN0cnVjdCBoZnNwbHVzX3ZvbF9oZWFkZXIgKmhmc3BsdXM7CisJc3RydWN0IGhmc19tZGIgKnNiZDsKKwl1bnNpZ25lZCBpbnQgYWxsb2NfYmxvY2tfc2l6ZTsKKwl1bnNpZ25lZCBpbnQgYWxsb2NfZmlyc3RfYmxvY2s7CisJdW5zaWduZWQgaW50IGVtYmVkX2ZpcnN0X2Jsb2NrOworCXVuc2lnbmVkIGludCBvZmYgPSAwOworCXVuc2lnbmVkIGludCBibG9ja3NpemU7CisJdW5zaWduZWQgaW50IGNhdF9ibG9jazsKKwl1bnNpZ25lZCBpbnQgZXh0X2Jsb2NrX3N0YXJ0OworCXVuc2lnbmVkIGludCBleHRfYmxvY2tfY291bnQ7CisJdW5zaWduZWQgaW50IHJlY29yZF9jb3VudDsKKwl1bnNpZ25lZCBpbnQgbGVhZl9ub2RlX2hlYWQ7CisJdW5zaWduZWQgaW50IGxlYWZfbm9kZV9jb3VudDsKKwl1bnNpZ25lZCBpbnQgbGVhZl9ub2RlX3NpemU7CisJdW5zaWduZWQgaW50IGxlYWZfYmxvY2s7CisJaW50IGV4dDsKKwl1aW50NjRfdCBsZWFmX29mZjsKKwl1bnNpZ25lZCBjaGFyICpidWY7CisKKwlzYmQgPSBibGtpZF9wcm9iZV9nZXRfc2IocHIsIG1hZywgc3RydWN0IGhmc19tZGIpOworCWlmICghc2JkKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJLyogQ2hlY2sgZm9yIGEgSEZTKyB2b2x1bWUgZW1iZWRkZWQgaW4gYSBIRlMgdm9sdW1lICovCisJaWYgKG1lbWNtcChzYmQtPnNpZ25hdHVyZSwgIkJEIiwgMikgPT0gMCkgeworCQlpZiAoKG1lbWNtcChzYmQtPmVtYmVkX3NpZywgIkgrIiwgMikgIT0gMCkgJiYKKwkJICAgIChtZW1jbXAoc2JkLT5lbWJlZF9zaWcsICJIWCIsIDIpICE9IDApKQorCQkJLyogVGhpcyBtdXN0IGJlIGFuIEhGUyB2b2x1bWUsIHNvIGZhaWwgKi8KKwkJCXJldHVybiAxOworCisJCWFsbG9jX2Jsb2NrX3NpemUgPSBiZTMyX3RvX2NwdShzYmQtPmFsX2Jsa19zaXplKTsKKwkJYWxsb2NfZmlyc3RfYmxvY2sgPSBiZTE2X3RvX2NwdShzYmQtPmFsX2JsX3N0KTsKKwkJZW1iZWRfZmlyc3RfYmxvY2sgPSBiZTE2X3RvX2NwdShzYmQtPmVtYmVkX3N0YXJ0YmxvY2spOworCQlvZmYgPSAoYWxsb2NfZmlyc3RfYmxvY2sgKiA1MTIpICsKKwkJCShlbWJlZF9maXJzdF9ibG9jayAqIGFsbG9jX2Jsb2NrX3NpemUpOworCisJCWJ1ZiA9IGJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsCisJCQkJb2ZmICsgKG1hZy0+a2JvZmYgKiAxMDI0KSwKKwkJCQlzaXplb2Yoc3RydWN0IGhmc3BsdXNfdm9sX2hlYWRlcikpOworCQloZnNwbHVzID0gKHN0cnVjdCBoZnNwbHVzX3ZvbF9oZWFkZXIgKikgYnVmOworCisJfSBlbHNlCisJCWhmc3BsdXMgPSBibGtpZF9wcm9iZV9nZXRfc2IocHIsIG1hZywKKwkJCQlzdHJ1Y3QgaGZzcGx1c192b2xfaGVhZGVyKTsKKworCWlmICghaGZzcGx1cykKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCWlmICgobWVtY21wKGhmc3BsdXMtPnNpZ25hdHVyZSwgIkgrIiwgMikgIT0gMCkgJiYKKwkgICAgKG1lbWNtcChoZnNwbHVzLT5zaWduYXR1cmUsICJIWCIsIDIpICE9IDApKQorCQlyZXR1cm4gMTsKKworCWhmc19zZXRfdXVpZChwciwgaGZzcGx1cy0+ZmluZGVyX2luZm8uaWQsIHNpemVvZihoZnNwbHVzLT5maW5kZXJfaW5mby5pZCkpOworCisJYmxvY2tzaXplID0gYmUzMl90b19jcHUoaGZzcGx1cy0+YmxvY2tzaXplKTsKKwlpZiAoYmxvY2tzaXplIDwgSEZTUExVU19TRUNUT1JfU0laRSkKKwkJcmV0dXJuIDE7CisKKwltZW1jcHkoZXh0ZW50cywgaGZzcGx1cy0+Y2F0X2ZpbGUuZXh0ZW50cywgc2l6ZW9mKGV4dGVudHMpKTsKKwljYXRfYmxvY2sgPSBiZTMyX3RvX2NwdShleHRlbnRzWzBdLnN0YXJ0X2Jsb2NrKTsKKworCWJ1ZiA9IGJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsCisJCQlvZmYgKyAoKHVpbnQ2NF90KSBjYXRfYmxvY2sgKiBibG9ja3NpemUpLCAweDIwMDApOworCWlmICghYnVmKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAwOworCisJYm5vZGUgPSAoc3RydWN0IGhmc3BsdXNfYmhlYWRlcl9yZWNvcmQgKikKKwkJJmJ1ZltzaXplb2Yoc3RydWN0IGhmc3BsdXNfYm5vZGVfZGVzY3JpcHRvcildOworCisJbGVhZl9ub2RlX2hlYWQgPSBiZTMyX3RvX2NwdShibm9kZS0+bGVhZl9oZWFkKTsKKwlsZWFmX25vZGVfc2l6ZSA9IGJlMTZfdG9fY3B1KGJub2RlLT5ub2RlX3NpemUpOworCWxlYWZfbm9kZV9jb3VudCA9IGJlMzJfdG9fY3B1KGJub2RlLT5sZWFmX2NvdW50KTsKKwlpZiAobGVhZl9ub2RlX2NvdW50ID09IDApCisJCXJldHVybiAwOworCisJbGVhZl9ibG9jayA9IChsZWFmX25vZGVfaGVhZCAqIGxlYWZfbm9kZV9zaXplKSAvIGJsb2Nrc2l6ZTsKKworCS8qIGdldCBwaHlzaWNhbCBsb2NhdGlvbiAqLworCWZvciAoZXh0ID0gMDsgZXh0IDwgSEZTUExVU19FWFRFTlRfQ09VTlQ7IGV4dCsrKSB7CisJCWV4dF9ibG9ja19zdGFydCA9IGJlMzJfdG9fY3B1KGV4dGVudHNbZXh0XS5zdGFydF9ibG9jayk7CisJCWV4dF9ibG9ja19jb3VudCA9IGJlMzJfdG9fY3B1KGV4dGVudHNbZXh0XS5ibG9ja19jb3VudCk7CisJCWlmIChleHRfYmxvY2tfY291bnQgPT0gMCkKKwkJCXJldHVybiAwOworCisJCS8qIHRoaXMgaXMgb3VyIGV4dGVudCAqLworCQlpZiAobGVhZl9ibG9jayA8IGV4dF9ibG9ja19jb3VudCkKKwkJCWJyZWFrOworCisJCWxlYWZfYmxvY2sgLT0gZXh0X2Jsb2NrX2NvdW50OworCX0KKwlpZiAoZXh0ID09IEhGU1BMVVNfRVhURU5UX0NPVU5UKQorCQlyZXR1cm4gMDsKKworCWxlYWZfb2ZmID0gKCh1aW50NjRfdCkgZXh0X2Jsb2NrX3N0YXJ0ICsgbGVhZl9ibG9jaykgKiBibG9ja3NpemU7CisKKwlidWYgPSBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLAorCQkJCSh1aW50NjRfdCkgb2ZmICsgbGVhZl9vZmYsCisJCQkJbGVhZl9ub2RlX3NpemUpOworCWlmICghYnVmKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAwOworCisJZGVzY3IgPSAoc3RydWN0IGhmc3BsdXNfYm5vZGVfZGVzY3JpcHRvciAqKSBidWY7CisJcmVjb3JkX2NvdW50ID0gYmUxNl90b19jcHUoZGVzY3ItPm51bV9yZWNzKTsKKwlpZiAocmVjb3JkX2NvdW50ID09IDApCisJCXJldHVybiAwOworCisJaWYgKGRlc2NyLT50eXBlICE9IEhGU19OT0RFX0xFQUYpCisJCXJldHVybiAwOworCisJa2V5ID0gKHN0cnVjdCBoZnNwbHVzX2NhdGFsb2dfa2V5ICopCisJCSZidWZbc2l6ZW9mKHN0cnVjdCBoZnNwbHVzX2Jub2RlX2Rlc2NyaXB0b3IpXTsKKworCWlmIChiZTMyX3RvX2NwdShrZXktPnBhcmVudF9pZCkgIT0gSEZTUExVU19QT1JfQ05JRCkKKwkJcmV0dXJuIDA7CisKKwlibGtpZF9wcm9iZV9zZXRfdXRmOGxhYmVsKHByLCBrZXktPnVuaWNvZGUsCisJCQliZTE2X3RvX2NwdShrZXktPnVuaWNvZGVfbGVuKSAqIDIsCisJCQlCTEtJRF9FTkNfVVRGMTZCRSk7CisJcmV0dXJuIDA7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gaGZzX2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gImhmcyIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX0ZJTEVTWVNURU0sCisJLnByb2JlZnVuYwk9IHByb2JlX2hmcywKKwkuZmxhZ3MJCT0gQkxLSURfSURJTkZPX1RPTEVSQU5ULAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gIkJEIiwgLmxlbiA9IDIsIC5rYm9mZiA9IDEgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGhmc3BsdXNfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAiaGZzcGx1cyIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX0ZJTEVTWVNURU0sCisJLnByb2JlZnVuYwk9IHByb2JlX2hmc3BsdXMsCisJLm1hZ2ljcwkJPQorCXsKKwkJeyAubWFnaWMgPSAiQkQiLCAubGVuID0gMiwgLmtib2ZmID0gMSB9LAorCQl7IC5tYWdpYyA9ICJIKyIsIC5sZW4gPSAyLCAua2JvZmYgPSAxIH0sCisJCXsgLm1hZ2ljID0gIkhYIiwgLmxlbiA9IDIsIC5rYm9mZiA9IDEgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2hpZ2hwb2ludF9yYWlkLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvaGlnaHBvaW50X3JhaWQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNDg3OTMwCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2hpZ2hwb2ludF9yYWlkLmMKQEAgLTAsMCArMSw4NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBJbnNwaXJlZCBieSBsaWJ2b2x1bWVfaWQgYnkKKyAqICAgICBLYXkgU2lldmVycyA8a2F5LnNpZXZlcnNAdnJmeS5vcmc+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCitzdHJ1Y3QgaHB0NDV4X21ldGFkYXRhIHsKKwl1aW50MzJfdAltYWdpYzsKK307CisKKyNkZWZpbmUgSFBUNDVYX01BR0lDX09LCQkJMHg1YTc4MTZmMworI2RlZmluZSBIUFQ0NVhfTUFHSUNfQkFECQkweDVhNzgxNmZkCisKK3N0YXRpYyBpbnQgcHJvYmVfaGlnaHBvaW50NDV4KGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJc3RydWN0IGhwdDQ1eF9tZXRhZGF0YSAqaHB0OworCXVpbnQ2NF90IG9mZjsKKwl1aW50MzJfdCBtYWdpYzsKKworCWlmIChwci0+c2l6ZSA8IDB4MTAwMDApCisJCXJldHVybiAxOworCWlmICghU19JU1JFRyhwci0+bW9kZSkgJiYgIWJsa2lkX3Byb2JlX2lzX3dob2xlZGlzayhwcikpCisJCXJldHVybiAxOworCisJb2ZmID0gKChwci0+c2l6ZSAvIDB4MjAwKSAtIDExKSAqIDB4MjAwOworCWhwdCA9IChzdHJ1Y3QgaHB0NDV4X21ldGFkYXRhICopCisJCQlibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLAorCQkJCQlvZmYsCisJCQkJCXNpemVvZihzdHJ1Y3QgaHB0NDV4X21ldGFkYXRhKSk7CisJaWYgKCFocHQpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisJbWFnaWMgPSBsZTMyX3RvX2NwdShocHQtPm1hZ2ljKTsKKwlpZiAobWFnaWMgIT0gSFBUNDVYX01BR0lDX09LICYmIG1hZ2ljICE9IEhQVDQ1WF9NQUdJQ19CQUQpCisJCXJldHVybiAxOworCWlmIChibGtpZF9wcm9iZV9zZXRfbWFnaWMocHIsIG9mZiwgc2l6ZW9mKGhwdC0+bWFnaWMpLAorCQkJCSh1bnNpZ25lZCBjaGFyICopICZocHQtPm1hZ2ljKSkKKwkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfaGlnaHBvaW50Mzd4KGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJaWYgKCFTX0lTUkVHKHByLT5tb2RlKSAmJiAhYmxraWRfcHJvYmVfaXNfd2hvbGVkaXNrKHByKSkKKwkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBoaWdocG9pbnQ0NXhfaWRpbmZvID0geworCS5uYW1lCQk9ICJocHQ0NXhfcmFpZF9tZW1iZXIiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9SQUlELAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9oaWdocG9pbnQ0NXgsCisJLm1hZ2ljcwkJPSBCTEtJRF9OT05FX01BR0lDCit9OworCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGhpZ2hwb2ludDM3eF9pZGluZm8gPSB7CisJLm5hbWUJCT0gImhwdDM3eF9yYWlkX21lbWJlciIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX1JBSUQsCisJLnByb2JlZnVuYwk9IHByb2JlX2hpZ2hwb2ludDM3eCwKKwkubWFnaWNzCQk9IHsKKwkJLyoKKwkJICogU3VwZXJibG9jayBvZmZzZXQ6ICAgICAgICAgICAgICAgICAgICAgNDYwOCBieXRlcyAgKDkgc2VjdG9ycykKKwkJICogTWFnaWMgc3RyaW5nIG9mZnNldCB3aXRoaW4gc3VwZXJibG9jazogICAzMiBieXRlcworCQkgKgorCQkgKiBrYm9mZiA9ICg0NjA4ICsgMzIpIC8gMTAyNAorCQkgKiBzYm9mZiA9ICg0NjA4ICsgMzIpICUga2JvZmYKKwkJICovCisJCXsgLm1hZ2ljID0gIlx4ZjBceDE2XHg3OFx4NWEiLCAubGVuID0gNCwgLmtib2ZmID0gNCwgLnNib2ZmID0gNTQ0IH0sCisJCXsgLm1hZ2ljID0gIlx4ZmRceDE2XHg3OFx4NWEiLCAubGVuID0gNCwgLmtib2ZmID0gNCwgLnNib2ZmID0gNTQ0IH0sCisJCXsgTlVMTCB9CisJfQorfTsKKworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvaHBmcy5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2hwZnMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTY1ZDM3Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2hwZnMuYwpAQCAtMCwwICsxLDEyMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBJbnNwaXJlZCBieSBsaWJ2b2x1bWVfaWQgYnkKKyAqICAgICBLYXkgU2lldmVycyA8a2F5LnNpZXZlcnNAdnJmeS5vcmc+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCitzdHJ1Y3QgaHBmc19ib290X2Jsb2NrCit7CisJdWludDhfdAkJam1wWzNdOworCXVpbnQ4X3QJCW9lbV9pZFs4XTsKKwl1aW50OF90CQlieXRlc19wZXJfc2VjdG9yWzJdOworCXVpbnQ4X3QJCXNlY3RvcnNfcGVyX2NsdXN0ZXI7CisJdWludDhfdAkJbl9yZXNlcnZlZF9zZWN0b3JzWzJdOworCXVpbnQ4X3QJCW5fZmF0czsKKwl1aW50OF90CQluX3Jvb3RkaXJfZW50cmllc1syXTsKKwl1aW50OF90CQluX3NlY3RvcnNfc1syXTsKKwl1aW50OF90CQltZWRpYV9ieXRlOworCXVpbnQxNl90CXNlY3RvcnNfcGVyX2ZhdDsKKwl1aW50MTZfdAlzZWN0b3JzX3Blcl90cmFjazsKKwl1aW50MTZfdAloZWFkc19wZXJfY3lsOworCXVpbnQzMl90CW5faGlkZGVuX3NlY3RvcnM7CisJdWludDMyX3QJbl9zZWN0b3JzX2w7CisJdWludDhfdAkJZHJpdmVfbnVtYmVyOworCXVpbnQ4X3QJCW1iejsKKwl1aW50OF90CQlzaWdfMjhoOworCXVpbnQ4X3QJCXZvbF9zZXJub1s0XTsKKwl1aW50OF90CQl2b2xfbGFiZWxbMTFdOworCXVpbnQ4X3QJCXNpZ19ocGZzWzhdOworCXVpbnQ4X3QJCXBhZFs0NDhdOworCXVpbnQ4X3QJCW1hZ2ljWzJdOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RydWN0IGhwZnNfc3VwZXJfYmxvY2sKK3sKKwl1aW50OF90CQltYWdpY1s0XTsKKwl1aW50OF90CQltYWdpYzFbNF07CisJdWludDhfdAkJdmVyc2lvbjsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0cnVjdCBocGZzX3NwYXJlX3N1cGVyCit7CisJdWludDhfdAkJbWFnaWNbNF07CisJdWludDhfdAkJbWFnaWMxWzRdOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworCisjZGVmaW5lIEhQRlNfU0JfT0ZGU0VUCQkJMHgyMDAwCisjZGVmaW5lIEhQRlNfU0JTUEFSRV9PRkZTRVQJCTB4MjIwMAorCitzdGF0aWMgaW50IHByb2JlX2hwZnMoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCXN0cnVjdCBocGZzX3N1cGVyX2Jsb2NrICpoczsKKwlzdHJ1Y3QgaHBmc19zcGFyZV9zdXBlciAqaHNzOworCXN0cnVjdCBocGZzX2Jvb3RfYmxvY2sgKmhiYjsKKwl1aW50OF90IHZlcnNpb247CisKKwkvKiBzdXBlciBibG9jayAqLworCWhzID0gYmxraWRfcHJvYmVfZ2V0X3NiKHByLCBtYWcsIHN0cnVjdCBocGZzX3N1cGVyX2Jsb2NrKTsKKwlpZiAoIWhzKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCXZlcnNpb24gPSBocy0+dmVyc2lvbjsKKworCS8qIHNwYXJlIHN1cGVyIGJsb2NrICovCisJaHNzID0gKHN0cnVjdCBocGZzX3NwYXJlX3N1cGVyICopCisJCQlibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLAorCQkJCUhQRlNfU0JTUEFSRV9PRkZTRVQsCisJCQkJc2l6ZW9mKHN0cnVjdCBocGZzX3NwYXJlX3N1cGVyKSk7CisJaWYgKCFoc3MpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisJaWYgKG1lbWNtcChoc3MtPm1hZ2ljLCAiXHg0OVx4MThceDkxXHhmOSIsIDQpICE9IDApCisJCXJldHVybiAxOworCisJLyogYm9vdCBibG9jayAod2l0aCBVVUlEIGFuZCBMQUJFTCkgKi8KKwloYmIgPSAoc3RydWN0IGhwZnNfYm9vdF9ibG9jayAqKQorCQkJYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwKKwkJCQkwLAorCQkJCXNpemVvZihzdHJ1Y3QgaHBmc19ib290X2Jsb2NrKSk7CisJaWYgKCFoYmIpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisJaWYgKG1lbWNtcChoYmItPm1hZ2ljLCAiXHg1NVx4YWEiLCAyKSA9PSAwICYmCisJICAgIG1lbWNtcChoYmItPnNpZ19ocGZzLCAiSFBGUyIsIDQpID09IDAgJiYKKwkgICAgaGJiLT5zaWdfMjhoID09IDB4MjgpIHsKKwkJYmxraWRfcHJvYmVfc2V0X2xhYmVsKHByLCBoYmItPnZvbF9sYWJlbCwgc2l6ZW9mKGhiYi0+dm9sX2xhYmVsKSk7CisJCWJsa2lkX3Byb2JlX3NwcmludGZfdXVpZChwciwKKwkJCQloYmItPnZvbF9zZXJubywgc2l6ZW9mKGhiYi0+dm9sX3Nlcm5vKSwKKwkJCQkiJTAyWCUwMlgtJTAyWCUwMlgiLAorCQkJCWhiYi0+dm9sX3Nlcm5vWzNdLCBoYmItPnZvbF9zZXJub1syXSwKKwkJCQloYmItPnZvbF9zZXJub1sxXSwgaGJiLT52b2xfc2Vybm9bMF0pOworCX0KKwlibGtpZF9wcm9iZV9zcHJpbnRmX3ZlcnNpb24ocHIsICIldSIsIHZlcnNpb24pOworCisJcmV0dXJuIDA7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gaHBmc19pZGluZm8gPQoreworCS5uYW1lCQk9ICJocGZzIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfaHBmcywKKwkubWFnaWNzCQk9CisJeworCQl7CisJCSAgLm1hZ2ljID0gIlx4NDlceGU4XHg5NVx4ZjkiLAorCQkgIC5sZW4gPSA0LAorCQkgIC5rYm9mZiA9IChIUEZTX1NCX09GRlNFVCA+PiAxMCkKKwkJfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9pc285NjYwLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvaXNvOTY2MC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkNTZhMzgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvaXNvOTY2MC5jCkBAIC0wLDAgKzEsMjc0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAxOTk5IGJ5IEFuZHJpZXMgQnJvdXdlcgorICogQ29weXJpZ2h0IChDKSAxOTk5LCAyMDAwLCAyMDAzIGJ5IFRoZW9kb3JlIFRzJ28KKyAqIENvcHlyaWdodCAoQykgMjAwMSBieSBBbmRyZWFzIERpbGdlcgorICogQ29weXJpZ2h0IChDKSAyMDA0IEtheSBTaWV2ZXJzIDxrYXkuc2lldmVyc0B2cmZ5Lm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBJbnNwaXJlZCBhbHNvIGJ5IGxpYnZvbHVtZV9pZCBieQorICogICAgIEtheSBTaWV2ZXJzIDxrYXkuc2lldmVyc0B2cmZ5Lm9yZz4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKyNpbmNsdWRlICJpc285NjYwLmgiCisKK3N0cnVjdCBpc285NjYwX2RhdGUgeworCXVuc2lnbmVkIGNoYXIgeWVhcls0XTsKKwl1bnNpZ25lZCBjaGFyIG1vbnRoWzJdOworCXVuc2lnbmVkIGNoYXIgZGF5WzJdOworCXVuc2lnbmVkIGNoYXIgaG91clsyXTsKKwl1bnNpZ25lZCBjaGFyIG1pbnV0ZVsyXTsKKwl1bnNpZ25lZCBjaGFyIHNlY29uZFsyXTsKKwl1bnNpZ25lZCBjaGFyIGh1bmRyZWR0aFsyXTsKKwl1bnNpZ25lZCBjaGFyIG9mZnNldDsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisvKiBQVkQgLSBQcmltYXJ5IHZvbHVtZSBkZXNjcmlwdG9yICovCitzdHJ1Y3QgaXNvX3ZvbHVtZV9kZXNjcmlwdG9yIHsKKwl1bnNpZ25lZCBjaGFyCXZkX3R5cGU7CisJdW5zaWduZWQgY2hhcgl2ZF9pZFs1XTsKKwl1bnNpZ25lZCBjaGFyCXZkX3ZlcnNpb247CisJdW5zaWduZWQgY2hhcglmbGFnczsKKwl1bnNpZ25lZCBjaGFyCXN5c3RlbV9pZFszMl07CisJdW5zaWduZWQgY2hhcgl2b2x1bWVfaWRbMzJdOworCXVuc2lnbmVkIGNoYXIJdW51c2VkWzhdOworCXVuc2lnbmVkIGNoYXIJc3BhY2Vfc2l6ZVs4XTsKKwl1bnNpZ25lZCBjaGFyCWVzY2FwZV9zZXF1ZW5jZXNbOF07CisJdW5zaWduZWQgY2hhciAgdW51c2VkMVsyMjJdOworCXVuc2lnbmVkIGNoYXIgIHB1Ymxpc2hlcl9pZFsxMjhdOworCXVuc2lnbmVkIGNoYXIgIHVudXNlZDJbMTI4XTsKKwl1bnNpZ25lZCBjaGFyICBhcHBsaWNhdGlvbl9pZFsxMjhdOworCXVuc2lnbmVkIGNoYXIgIHVudXNlZDNbMTExXTsKKwlzdHJ1Y3QgaXNvOTY2MF9kYXRlIGNyZWF0ZWQ7CisJc3RydWN0IGlzbzk2NjBfZGF0ZSBtb2RpZmllZDsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKy8qIEJvb3QgUmVjb3JkICovCitzdHJ1Y3QgYm9vdF9yZWNvcmQgeworCXVuc2lnbmVkIGNoYXIJdmRfdHlwZTsKKwl1bnNpZ25lZCBjaGFyCXZkX2lkWzVdOworCXVuc2lnbmVkIGNoYXIJdmRfdmVyc2lvbjsKKwl1bnNpZ25lZCBjaGFyCWJvb3Rfc3lzdGVtX2lkWzMyXTsKKwl1bnNpZ25lZCBjaGFyCWJvb3RfaWRbMzJdOworCXVuc2lnbmVkIGNoYXIJdW51c2VkWzFdOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworI2RlZmluZSBJU09fU1VQRVJCTE9DS19PRkZTRVQJCTB4ODAwMAorI2RlZmluZSBJU09fU0VDVE9SX1NJWkUJCQkweDgwMAorI2RlZmluZSBJU09fVkRfT0ZGU0VUCQkJKElTT19TVVBFUkJMT0NLX09GRlNFVCArIElTT19TRUNUT1JfU0laRSkKKyNkZWZpbmUgSVNPX1ZEX0JPT1RfUkVDT1JECQkweDAKKyNkZWZpbmUgSVNPX1ZEX1NVUFBMRU1FTlRBUlkJCTB4MgorI2RlZmluZSBJU09fVkRfRU5ECQkJMHhmZgorI2RlZmluZSBJU09fVkRfTUFYCQkJMTYKKworc3RydWN0IGhpZ2hfc2llcnJhX3ZvbHVtZV9kZXNjcmlwdG9yIHsKKwl1bnNpZ25lZCBjaGFyCWZvb1s4XTsKKwl1bnNpZ25lZCBjaGFyCXR5cGU7CisJdW5zaWduZWQgY2hhcglpZFs1XTsKKwl1bnNpZ25lZCBjaGFyCXZlcnNpb247CisJdW5zaWduZWQgY2hhcgl1bnVzZWQxOworCXVuc2lnbmVkIGNoYXIJc3lzdGVtX2lkWzMyXTsKKwl1bnNpZ25lZCBjaGFyICAgdm9sdW1lX2lkWzMyXTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKy8qIHJldHVybnMgMSBpZiB0aGUgYmVnaW4gb2YgQGFzY2lpIGlzIGVxdWFsIHRvIEB1dGYxNiBzdHJpbmcuCisgKi8KK3N0YXRpYyBpbnQgYXNjaWlfZXFfdXRmMTZiZSh1bnNpZ25lZCBjaGFyICphc2NpaSwKKwkJCXVuc2lnbmVkIGNoYXIgKnV0ZjE2LCBzaXplX3QgbGVuKQoreworCXNpemVfdCBhLCB1OworCisJZm9yIChhID0gMCwgdSA9IDA7IHUgPCBsZW47IGErKywgdSArPSAyKSB7CisJCWlmICh1dGYxNlt1XSAhPSAweDAgfHwgYXNjaWlbYV0gIT0gdXRmMTZbdSArIDFdKQorCQkJcmV0dXJuIDA7CisJfQorCXJldHVybiAxOworfQorCisvKiBvbGQgSGlnaCBTaWVycmEgZm9ybWF0ICovCitzdGF0aWMgaW50IHByb2JlX2lzbzk2NjBfaHNmcyhibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJc3RydWN0IGhpZ2hfc2llcnJhX3ZvbHVtZV9kZXNjcmlwdG9yICppc287CisKKwlpc28gPSBibGtpZF9wcm9iZV9nZXRfc2IocHIsIG1hZywgc3RydWN0IGhpZ2hfc2llcnJhX3ZvbHVtZV9kZXNjcmlwdG9yKTsKKwlpZiAoIWlzbykKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCWJsa2lkX3Byb2JlX3NldF92ZXJzaW9uKHByLCAiSGlnaCBTaWVycmEiKTsKKwlibGtpZF9wcm9iZV9zZXRfbGFiZWwocHIsIGlzby0+dm9sdW1lX2lkLCBzaXplb2YoaXNvLT52b2x1bWVfaWQpKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwcm9iZV9pc285NjYwX3NldF91dWlkIChibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGlzbzk2NjBfZGF0ZSAqZGF0ZSkKK3sKKwl1bnNpZ25lZCBjaGFyIGJ1ZmZlclsxNl07CisJdW5zaWduZWQgaW50IGksIHplcm9zID0gMDsKKworCWJ1ZmZlclswXSA9IGRhdGUtPnllYXJbMF07CisJYnVmZmVyWzFdID0gZGF0ZS0+eWVhclsxXTsKKwlidWZmZXJbMl0gPSBkYXRlLT55ZWFyWzJdOworCWJ1ZmZlclszXSA9IGRhdGUtPnllYXJbM107CisJYnVmZmVyWzRdID0gZGF0ZS0+bW9udGhbMF07CisJYnVmZmVyWzVdID0gZGF0ZS0+bW9udGhbMV07CisJYnVmZmVyWzZdID0gZGF0ZS0+ZGF5WzBdOworCWJ1ZmZlcls3XSA9IGRhdGUtPmRheVsxXTsKKwlidWZmZXJbOF0gPSBkYXRlLT5ob3VyWzBdOworCWJ1ZmZlcls5XSA9IGRhdGUtPmhvdXJbMV07CisJYnVmZmVyWzEwXSA9IGRhdGUtPm1pbnV0ZVswXTsKKwlidWZmZXJbMTFdID0gZGF0ZS0+bWludXRlWzFdOworCWJ1ZmZlclsxMl0gPSBkYXRlLT5zZWNvbmRbMF07CisJYnVmZmVyWzEzXSA9IGRhdGUtPnNlY29uZFsxXTsKKwlidWZmZXJbMTRdID0gZGF0ZS0+aHVuZHJlZHRoWzBdOworCWJ1ZmZlclsxNV0gPSBkYXRlLT5odW5kcmVkdGhbMV07CisKKwkvKiBjb3VudCB0aGUgbnVtYmVyIG9mIHplcm9zICgnMCcpIGluIHRoZSBkYXRlIGJ1ZmZlciAqLworCWZvciAoaSA9IDAsIHplcm9zID0gMDsgaSA8IHNpemVvZihidWZmZXIpOyBpKyspCisJCWlmIChidWZmZXJbaV0gPT0gJzAnKQorCQkJemVyb3MrKzsKKworCS8qIGR1ZSB0byB0aGUgaXNvOTY2MCBzdGFuZGFyZCBpZiBhbGwgZGF0ZSBmaWVsZHMgYXJlICcwJyBhbmQgb2Zmc2V0IGlzIDAsIHRoZSBkYXRlIGlzIHVuc2V0ICovCisJaWYgKHplcm9zID09IHNpemVvZihidWZmZXIpICYmIGRhdGUtPm9mZnNldCA9PSAwKQorCQlyZXR1cm4gMDsKKworCS8qIGdlbmVyYXRlIGFuIFVVSUQgdXNpbmcgdGhpcyBkYXRlIGFuZCByZXR1cm4gc3VjY2VzcyAqLworCWJsa2lkX3Byb2JlX3NwcmludGZfdXVpZCAocHIsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksCisJCSIlYyVjJWMlYy0lYyVjLSVjJWMtJWMlYy0lYyVjLSVjJWMtJWMlYyIsCisJCWJ1ZmZlclswXSwgYnVmZmVyWzFdLCBidWZmZXJbMl0sIGJ1ZmZlclszXSwKKwkJYnVmZmVyWzRdLCBidWZmZXJbNV0sCisJCWJ1ZmZlcls2XSwgYnVmZmVyWzddLAorCQlidWZmZXJbOF0sIGJ1ZmZlcls5XSwKKwkJYnVmZmVyWzEwXSwgYnVmZmVyWzExXSwKKwkJYnVmZmVyWzEyXSwgYnVmZmVyWzEzXSwKKwkJYnVmZmVyWzE0XSwgYnVmZmVyWzE1XSk7CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBpc19zdHJfZW1wdHkoY29uc3QgdW5zaWduZWQgY2hhciAqc3RyLCBzaXplX3QgbGVuKQoreworCXNpemVfdCBpOworCisJaWYgKCFzdHIgfHwgISpzdHIpCisJCXJldHVybiAxOworCisJZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKQorCQlpZiAoIWlzc3BhY2Uoc3RyW2ldKSkKKwkJCXJldHVybiAwOworCXJldHVybiAxOworfQorCisvKiBpc285NjYwIFsrIE1pY3Jvc29mdCBKb2xpZXQgRXh0ZW5zaW9uXSAqLworaW50IHByb2JlX2lzbzk2NjAoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCXN0cnVjdCBpc29fdm9sdW1lX2Rlc2NyaXB0b3IgKmlzbzsKKwl1bnNpZ25lZCBjaGFyIGxhYmVsWzMyXTsKKwlpbnQgaTsKKwlpbnQgb2ZmOworCisJaWYgKHN0cmNtcChtYWctPm1hZ2ljLCAiQ0RST00iKSA9PSAwKQorCQlyZXR1cm4gcHJvYmVfaXNvOTY2MF9oc2ZzKHByLCBtYWcpOworCisJaXNvID0gYmxraWRfcHJvYmVfZ2V0X3NiKHByLCBtYWcsIHN0cnVjdCBpc29fdm9sdW1lX2Rlc2NyaXB0b3IpOworCWlmICghaXNvKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJbWVtY3B5KGxhYmVsLCBpc28tPnZvbHVtZV9pZCwgc2l6ZW9mKGxhYmVsKSk7CisKKwlpZiAoIWlzX3N0cl9lbXB0eShpc28tPnN5c3RlbV9pZCwgc2l6ZW9mKGlzby0+c3lzdGVtX2lkKSkpCisJCWJsa2lkX3Byb2JlX3NldF9pZF9sYWJlbChwciwgIlNZU1RFTV9JRCIsCisJCQkJaXNvLT5zeXN0ZW1faWQsIHNpemVvZihpc28tPnN5c3RlbV9pZCkpOworCisJaWYgKCFpc19zdHJfZW1wdHkoaXNvLT5wdWJsaXNoZXJfaWQsIHNpemVvZihpc28tPnB1Ymxpc2hlcl9pZCkpKQorCQlibGtpZF9wcm9iZV9zZXRfaWRfbGFiZWwocHIsICJQVUJMSVNIRVJfSUQiLAorCQkJCWlzby0+cHVibGlzaGVyX2lkLCBzaXplb2YoaXNvLT5wdWJsaXNoZXJfaWQpKTsKKworCWlmICghaXNfc3RyX2VtcHR5KGlzby0+YXBwbGljYXRpb25faWQsIHNpemVvZihpc28tPmFwcGxpY2F0aW9uX2lkKSkpCisJCWJsa2lkX3Byb2JlX3NldF9pZF9sYWJlbChwciwgIkFQUExJQ0FUSU9OX0lEIiwKKwkJCQlpc28tPmFwcGxpY2F0aW9uX2lkLCBzaXplb2YoaXNvLT5hcHBsaWNhdGlvbl9pZCkpOworCisJLyogY3JlYXRlIGFuIFVVSUQgdXNpbmcgdGhlIG1vZGlmaWVkL2NyZWF0ZWQgZGF0ZSAqLworCWlmICghIHByb2JlX2lzbzk2NjBfc2V0X3V1aWQocHIsICZpc28tPm1vZGlmaWVkKSkKKwkJcHJvYmVfaXNvOTY2MF9zZXRfdXVpZChwciwgJmlzby0+Y3JlYXRlZCk7CisKKwkvKiBKb2xpZXQgRXh0ZW5zaW9uIGFuZCBCb290IFJlY29yZCAqLworCW9mZiA9IElTT19WRF9PRkZTRVQ7CisJZm9yIChpID0gMDsgaSA8IElTT19WRF9NQVg7IGkrKykgeworCQlzdHJ1Y3QgYm9vdF9yZWNvcmQgKmJvb3Q9IChzdHJ1Y3QgYm9vdF9yZWNvcmQgKikKKwkJCWJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsCisJCQkJCW9mZiwKKwkJCQkJbWF4KHNpemVvZihzdHJ1Y3QgYm9vdF9yZWNvcmQpLAorCQkJCQkgICAgc2l6ZW9mKHN0cnVjdCBpc29fdm9sdW1lX2Rlc2NyaXB0b3IpKSk7CisKKwkJaWYgKGJvb3QgPT0gTlVMTCB8fCBib290LT52ZF90eXBlID09IElTT19WRF9FTkQpCisJCQlicmVhazsKKworCQlpZiAoYm9vdC0+dmRfdHlwZSA9PSBJU09fVkRfQk9PVF9SRUNPUkQpIHsKKwkJCWlmICghaXNfc3RyX2VtcHR5KGJvb3QtPmJvb3Rfc3lzdGVtX2lkLAorCQkJCQkgIHNpemVvZihib290LT5ib290X3N5c3RlbV9pZCkpKQorCQkJCWJsa2lkX3Byb2JlX3NldF9pZF9sYWJlbChwciwgIkJPT1RfU1lTVEVNX0lEIiwKKwkJCQkJCQlib290LT5ib290X3N5c3RlbV9pZCwKKwkJCQkJCQlzaXplb2YoYm9vdC0+Ym9vdF9zeXN0ZW1faWQpKTsKKwkJCW9mZiArPSBJU09fU0VDVE9SX1NJWkU7CisJCQljb250aW51ZTsKKwkJfQorCisJCS8qIE5vdCBhIEJvb3QgcmVjb3JkLCBsZXRzIHNlZSBpZiBpdHMgc3VwcGxlbWVudGFyeSB2b2x1bWUgZGVzY3JpcHRvciAqLworCQlpc28gPSAoc3RydWN0IGlzb192b2x1bWVfZGVzY3JpcHRvciAqKSBib290OworCisJCWlmIChpc28tPnZkX3R5cGUgIT0gSVNPX1ZEX1NVUFBMRU1FTlRBUlkpIHsKKwkJCW9mZiArPSBJU09fU0VDVE9SX1NJWkU7CisJCQljb250aW51ZTsKKwkJfQorCisJCWlmIChtZW1jbXAoaXNvLT5lc2NhcGVfc2VxdWVuY2VzLCAiJS9AIiwgMykgPT0gMCB8fAorCQkgICAgbWVtY21wKGlzby0+ZXNjYXBlX3NlcXVlbmNlcywgIiUvQyIsIDMpID09IDAgfHwKKwkJICAgIG1lbWNtcChpc28tPmVzY2FwZV9zZXF1ZW5jZXMsICIlL0UiLCAzKSA9PSAwKSB7CisKKwkJCWJsa2lkX3Byb2JlX3NldF92ZXJzaW9uKHByLCAiSm9saWV0IEV4dGVuc2lvbiIpOworCisJCQkvKiBJcyB0aGUgSm9saWV0IChVVEYxNkJFKSBsYWJlbCBlcXVhbCB0byB0aGUgbGFiZWwgaW4KKwkJCSAqIHRoZSBQVkQ/IElmIHllcywgdXNlIFBWRCBsYWJlbC4gIFRoZSBKb2xpZXQgdmVyc2lvbgorCQkJICogb2YgdGhlIGxhYmVsIGNvdWxkIGJlIHRyaW1tZWQgKGJlY2F1c2UgVVRGMTYuLikuCisJCQkgKi8KKwkJCWlmIChhc2NpaV9lcV91dGYxNmJlKGxhYmVsLCBpc28tPnZvbHVtZV9pZCwgMzIpKQorCQkJCWJyZWFrOworCisJCQlibGtpZF9wcm9iZV9zZXRfdXRmOGxhYmVsKHByLAorCQkJCQlpc28tPnZvbHVtZV9pZCwKKwkJCQkJc2l6ZW9mKGlzby0+dm9sdW1lX2lkKSwKKwkJCQkJQkxLSURfRU5DX1VURjE2QkUpOworCQkJZ290byBoYXNfbGFiZWw7CisJCX0KKwkJb2ZmICs9IElTT19TRUNUT1JfU0laRTsKKwl9CisKKwkvKiBKb2xpZXQgbm90IGZvdW5kLCBsZXQgdXNlIHN0YW5kYXJkIGlzbyBsYWJlbCAqLworCWJsa2lkX3Byb2JlX3NldF9sYWJlbChwciwgbGFiZWwsIHNpemVvZihsYWJlbCkpOworCitoYXNfbGFiZWw6CisJcmV0dXJuIDA7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gaXNvOTY2MF9pZGluZm8gPQoreworCS5uYW1lCQk9ICJpc285NjYwIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfaXNvOTY2MCwKKwkuZmxhZ3MJCT0gQkxLSURfSURJTkZPX1RPTEVSQU5ULAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gIkNEMDAxIiwgLmxlbiA9IDUsIC5rYm9mZiA9IDMyLCAuc2JvZmYgPSAxIH0sCisJCXsgLm1hZ2ljID0gIkNEUk9NIiwgLmxlbiA9IDUsIC5rYm9mZiA9IDMyLCAuc2JvZmYgPSA5IH0sCisJCXsgTlVMTCB9CisJfQorfTsKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2lzbzk2NjAuaCBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9pc285NjYwLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYThkNzI5ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9pc285NjYwLmgKQEAgLTAsMCArMSwxNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBaZWVzaGFuIEFsaSAoS2hhdHRhaykgPHplZXNoYW5ha0Bnbm9tZS5vcmc+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2lmbmRlZiBfQkxLSURfSVNPOTY2MF9ICisjZGVmaW5lIF9CTEtJRF9JU085NjYwX0gKKworI2luY2x1ZGUgImJsa2lkUC5oIgorCitleHRlcm4gaW50IHByb2JlX2lzbzk2NjAoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKTsKKworI2VuZGlmIC8qIF9CTEtJRF9JU085NjYwX0ggKi8KZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9pc3dfcmFpZC5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2lzd19yYWlkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODFkNTNhMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9pc3dfcmFpZC5jCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogSW5zcGlyZWQgYnkgbGlidm9sdW1lX2lkIGJ5CisgKiAgICAgS2F5IFNpZXZlcnMgPGtheS5zaWV2ZXJzQHZyZnkub3JnPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworc3RydWN0IGlzd19tZXRhZGF0YSB7CisJdWludDhfdAkJc2lnWzMyXTsKKwl1aW50MzJfdAljaGVja19zdW07CisJdWludDMyX3QJbXBiX3NpemU7CisJdWludDMyX3QJZmFtaWx5X251bTsKKwl1aW50MzJfdAlnZW5lcmF0aW9uX251bTsKK307CisKKyNkZWZpbmUgSVNXX1NJR05BVFVSRQkJIkludGVsIFJhaWQgSVNNIENmZyBTaWcuICIKKworc3RhdGljIGludCBwcm9iZV9pc3dyYWlkKGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJdWludDY0X3Qgb2ZmOworCXVuc2lnbmVkIGludCBzZWN0b3Jfc2l6ZTsKKwlzdHJ1Y3QgaXN3X21ldGFkYXRhICppc3c7CisKKwlpZiAocHItPnNpemUgPCAweDEwMDAwKQorCQlyZXR1cm4gMTsKKwlpZiAoIVNfSVNSRUcocHItPm1vZGUpICYmICFibGtpZF9wcm9iZV9pc193aG9sZWRpc2socHIpKQorCQlyZXR1cm4gMTsKKworCXNlY3Rvcl9zaXplID0gYmxraWRfcHJvYmVfZ2V0X3NlY3RvcnNpemUocHIpOworCW9mZiA9ICgocHItPnNpemUgLyBzZWN0b3Jfc2l6ZSkgLSAyKSAqIHNlY3Rvcl9zaXplOworCisJaXN3ID0gKHN0cnVjdCBpc3dfbWV0YWRhdGEgKilibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLAorCQkJb2ZmLCBzaXplb2Yoc3RydWN0IGlzd19tZXRhZGF0YSkpOworCWlmICghaXN3KQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJaWYgKG1lbWNtcChpc3ctPnNpZywgSVNXX1NJR05BVFVSRSwgc2l6ZW9mKElTV19TSUdOQVRVUkUpLTEpICE9IDApCisJCXJldHVybiAxOworCisJaWYgKGJsa2lkX3Byb2JlX3NwcmludGZfdmVyc2lvbihwciwgIiU2cyIsCisJCQkmaXN3LT5zaWdbc2l6ZW9mKElTV19TSUdOQVRVUkUpLTFdKSAhPSAwKQorCQlyZXR1cm4gMTsKKwlpZiAoYmxraWRfcHJvYmVfc2V0X21hZ2ljKHByLCBvZmYsIHNpemVvZihpc3ctPnNpZyksCisJCQkJKHVuc2lnbmVkIGNoYXIgKikgaXN3LT5zaWcpKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBpc3dyYWlkX2lkaW5mbyA9IHsKKwkubmFtZQkJPSAiaXN3X3JhaWRfbWVtYmVyIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfUkFJRCwKKwkucHJvYmVmdW5jCT0gcHJvYmVfaXN3cmFpZCwKKwkubWFnaWNzCQk9IEJMS0lEX05PTkVfTUFHSUMKK307CisKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2pmcy5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2pmcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmOTU2ZWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvamZzLmMKQEAgLTAsMCArMSw3MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMTk5OSBieSBBbmRyaWVzIEJyb3V3ZXIKKyAqIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMCwgMjAwMyBieSBUaGVvZG9yZSBUcydvCisgKiBDb3B5cmlnaHQgKEMpIDIwMDEgYnkgQW5kcmVhcyBEaWxnZXIKKyAqIENvcHlyaWdodCAoQykgMjAwNCBLYXkgU2lldmVycyA8a2F5LnNpZXZlcnNAdnJmeS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworc3RydWN0IGpmc19zdXBlcl9ibG9jayB7CisJdW5zaWduZWQgY2hhcglqc19tYWdpY1s0XTsKKwl1aW50MzJfdAlqc192ZXJzaW9uOworCXVpbnQ2NF90CWpzX3NpemU7CisJdWludDMyX3QJanNfYnNpemU7CS8qIDQ6IGFnZ3JlZ2F0ZSBibG9jayBzaXplIGluIGJ5dGVzICovCisJdWludDE2X3QJanNfbDJic2l6ZTsJLyogMjogbG9nMiBvZiBzX2JzaXplICovCisJdWludDE2X3QJanNfbDJiZmFjdG9yOwkvKiAyOiBsb2cyKHNfYnNpemUvaGFyZHdhcmUgYmxvY2sgc2l6ZSkgKi8KKwl1aW50MzJfdAlqc19wYnNpemU7CS8qIDQ6IGhhcmR3YXJlL0xWTSBibG9jayBzaXplIGluIGJ5dGVzICovCisJdWludDE2X3QJanNfbDJwYnNpemU7CS8qIDI6IGxvZzIgb2Ygc19wYnNpemUgKi8KKwl1aW50MTZfdAlqc19wYWQ7CQkvKiAyOiBwYWRkaW5nIG5lY2Vzc2FyeSBmb3IgYWxpZ25tZW50ICovCisJdWludDMyX3QJanNfZHVtbXkyWzI2XTsKKwl1bnNpZ25lZCBjaGFyCWpzX3V1aWRbMTZdOworCXVuc2lnbmVkIGNoYXIJanNfbGFiZWxbMTZdOworCXVuc2lnbmVkIGNoYXIJanNfbG9ndXVpZFsxNl07Cit9OworCitzdGF0aWMgaW50IHByb2JlX2pmcyhibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJc3RydWN0IGpmc19zdXBlcl9ibG9jayAqanM7CisKKwlqcyA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3QgamZzX3N1cGVyX2Jsb2NrKTsKKwlpZiAoIWpzKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCWlmIChsZTMyX3RvX2NwdShqcy0+anNfYnNpemUpICE9ICgxVSA8PCBsZTE2X3RvX2NwdShqcy0+anNfbDJic2l6ZSkpKQorCQlyZXR1cm4gMTsKKwlpZiAobGUzMl90b19jcHUoanMtPmpzX3Bic2l6ZSkgIT0gKDFVIDw8IGxlMTZfdG9fY3B1KGpzLT5qc19sMnBic2l6ZSkpKQorCQlyZXR1cm4gMTsKKwlpZiAoKGxlMTZfdG9fY3B1KGpzLT5qc19sMmJzaXplKSAtIGxlMTZfdG9fY3B1KGpzLT5qc19sMnBic2l6ZSkpICE9CisJICAgIGxlMTZfdG9fY3B1KGpzLT5qc19sMmJmYWN0b3IpKQorCQlyZXR1cm4gMTsKKworCWlmICgqKChjaGFyICopIGpzLT5qc19sYWJlbCkgIT0gJ1wwJykKKwkJYmxraWRfcHJvYmVfc2V0X2xhYmVsKHByLCBqcy0+anNfbGFiZWwsIHNpemVvZihqcy0+anNfbGFiZWwpKTsKKwlibGtpZF9wcm9iZV9zZXRfdXVpZChwciwganMtPmpzX3V1aWQpOworCXJldHVybiAwOworfQorCisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gamZzX2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gImpmcyIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX0ZJTEVTWVNURU0sCisJLnByb2JlZnVuYwk9IHByb2JlX2pmcywKKwkubWluc3oJCT0gMTYgKiAxMDI0ICogMTAyNCwKKwkubWFnaWNzCQk9CisJeworCQl7IC5tYWdpYyA9ICJKRlMxIiwgLmxlbiA9IDQsIC5rYm9mZiA9IDMyIH0sCisJCXsgTlVMTCB9CisJfQorfTsKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2ptaWNyb25fcmFpZC5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2ptaWNyb25fcmFpZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhNzk4NjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvam1pY3Jvbl9yYWlkLmMKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBJbnNwaXJlZCBieSBsaWJ2b2x1bWVfaWQgYnkKKyAqICAgICBLYXkgU2lldmVycyA8a2F5LnNpZXZlcnNAdnJmeS5vcmc+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKK3N0cnVjdCBqbV9tZXRhZGF0YSB7CisJaW50OF90CQlzaWduYXR1cmVbMl07CisJdWludDhfdAkJbWlub3JfdmVyc2lvbjsKKwl1aW50OF90CQltYWpvcl92ZXJzaW9uOworCXVpbnQxNl90CWNoZWNrc3VtOworfTsKKworI2RlZmluZSBKTV9TSUdOQVRVUkUJCSJKTSIKKworc3RhdGljIGludCBwcm9iZV9qbXJhaWQoYmxraWRfcHJvYmUgcHIsCisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwl1aW50NjRfdCBvZmY7CisJc3RydWN0IGptX21ldGFkYXRhICpqbTsKKworCWlmIChwci0+c2l6ZSA8IDB4MTAwMDApCisJCXJldHVybiAxOworCWlmICghU19JU1JFRyhwci0+bW9kZSkgJiYgIWJsa2lkX3Byb2JlX2lzX3dob2xlZGlzayhwcikpCisJCXJldHVybiAxOworCisJb2ZmID0gKChwci0+c2l6ZSAvIDB4MjAwKSAtIDEpICogMHgyMDA7CisJam0gPSAoc3RydWN0IGptX21ldGFkYXRhICopCisJCWJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsCisJCQkJb2ZmLAorCQkJCXNpemVvZihzdHJ1Y3Qgam1fbWV0YWRhdGEpKTsKKwlpZiAoIWptKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJaWYgKG1lbWNtcChqbS0+c2lnbmF0dXJlLCBKTV9TSUdOQVRVUkUsIHNpemVvZihKTV9TSUdOQVRVUkUpIC0gMSkgIT0gMCkKKwkJcmV0dXJuIDE7CisJaWYgKGJsa2lkX3Byb2JlX3NwcmludGZfdmVyc2lvbihwciwgIiV1LiV1IiwKKwkJCQlqbS0+bWFqb3JfdmVyc2lvbiwgam0tPm1pbm9yX3ZlcnNpb24pICE9IDApCisJCXJldHVybiAxOworCWlmIChibGtpZF9wcm9iZV9zZXRfbWFnaWMocHIsIG9mZiwgc2l6ZW9mKGptLT5zaWduYXR1cmUpLAorCQkJCSh1bnNpZ25lZCBjaGFyICopIGptLT5zaWduYXR1cmUpKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBqbXJhaWRfaWRpbmZvID0geworCS5uYW1lCQk9ICJqbWljcm9uX3JhaWRfbWVtYmVyIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfUkFJRCwKKwkucHJvYmVmdW5jCT0gcHJvYmVfam1yYWlkLAorCS5tYWdpY3MJCT0gQkxLSURfTk9ORV9NQUdJQworfTsKKworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbGludXhfcmFpZC5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2xpbnV4X3JhaWQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Mzg4ZTU2Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2xpbnV4X3JhaWQuYwpAQCAtMCwwICsxLDI2NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBJbnNwaXJlZCBieSBsaWJ2b2x1bWVfaWQgYnkKKyAqICAgICBLYXkgU2lldmVycyA8a2F5LnNpZXZlcnNAdnJmeS5vcmc+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCitzdHJ1Y3QgbWRwMF9zdXBlcl9ibG9jayB7CisJdWludDMyX3QJbWRfbWFnaWM7CisJdWludDMyX3QJbWFqb3JfdmVyc2lvbjsKKwl1aW50MzJfdAltaW5vcl92ZXJzaW9uOworCXVpbnQzMl90CXBhdGNoX3ZlcnNpb247CisJdWludDMyX3QJZ3ZhbGlkX3dvcmRzOworCXVpbnQzMl90CXNldF91dWlkMDsKKwl1aW50MzJfdAljdGltZTsKKwl1aW50MzJfdAlsZXZlbDsKKwl1aW50MzJfdAlzaXplOworCXVpbnQzMl90CW5yX2Rpc2tzOworCXVpbnQzMl90CXJhaWRfZGlza3M7CisJdWludDMyX3QJbWRfbWlub3I7CisJdWludDMyX3QJbm90X3BlcnNpc3RlbnQ7CisJdWludDMyX3QJc2V0X3V1aWQxOworCXVpbnQzMl90CXNldF91dWlkMjsKKwl1aW50MzJfdAlzZXRfdXVpZDM7Cit9OworCisvKgorICogVmVyc2lvbi0xLCBsaXR0bGUtZW5kaWFuLgorICovCitzdHJ1Y3QgbWRwMV9zdXBlcl9ibG9jayB7CisJLyogY29uc3RhbnQgYXJyYXkgaW5mb3JtYXRpb24gLSAxMjggYnl0ZXMgKi8KKwl1aW50MzJfdAltYWdpYzsJCS8qIE1EX1NCX01BR0lDOiAweGE5MmI0ZWZjIC0gbGl0dGxlIGVuZGlhbiAqLworCXVpbnQzMl90CW1ham9yX3ZlcnNpb247CS8qIDEgKi8KKwl1aW50MzJfdAlmZWF0dXJlX21hcDsJLyogMCBmb3Igbm93ICovCisJdWludDMyX3QJcGFkMDsJCS8qIGFsd2F5cyBzZXQgdG8gMCB3aGVuIHdyaXRpbmcgKi8KKworCXVpbnQ4X3QJCXNldF91dWlkWzE2XTsJLyogdXNlci1zcGFjZSBnZW5lcmF0ZWQuICovCisJdW5zaWduZWQgY2hhcglzZXRfbmFtZVszMl07CS8qIHNldCBhbmQgaW50ZXJwcmV0ZWQgYnkgdXNlci1zcGFjZSAqLworCisJdWludDY0X3QJY3RpbWU7CQkvKiBsbyA0MCBiaXRzIGFyZSBzZWNvbmRzLCB0b3AgMjQgYXJlIG1pY3Jvc2Vjb25kcyBvciAwKi8KKwl1aW50MzJfdAlsZXZlbDsJCS8qIC00IChtdWx0aXBhdGgpLCAtMSAobGluZWFyKSwgMCwxLDQsNSAqLworCXVpbnQzMl90CWxheW91dDsJCS8qIG9ubHkgZm9yIHJhaWQ1IGN1cnJlbnRseSAqLworCXVpbnQ2NF90CXNpemU7CQkvKiB1c2VkIHNpemUgb2YgY29tcG9uZW50IGRldmljZXMsIGluIDUxMmJ5dGUgc2VjdG9ycyAqLworCisJdWludDMyX3QJY2h1bmtzaXplOwkvKiBpbiA1MTJieXRlIHNlY3RvcnMgKi8KKwl1aW50MzJfdAlyYWlkX2Rpc2tzOworCXVpbnQzMl90CWJpdG1hcF9vZmZzZXQ7CS8qIHNlY3RvcnMgYWZ0ZXIgc3RhcnQgb2Ygc3VwZXJibG9jayB0aGF0IGJpdG1hcCBzdGFydHMKKwkJCQkJICogTk9URTogc2lnbmVkLCBzbyBiaXRtYXAgY2FuIGJlIGJlZm9yZSBzdXBlcmJsb2NrCisJCQkJCSAqIG9ubHkgbWVhbmluZ2Z1bCBvZiBmZWF0dXJlX21hcFswXSBpcyBzZXQuCisJCQkJCSAqLworCisJLyogVGhlc2UgYXJlIG9ubHkgdmFsaWQgd2l0aCBmZWF0dXJlIGJpdCAnNCcgKi8KKwl1aW50MzJfdAluZXdfbGV2ZWw7CS8qIG5ldyBsZXZlbCB3ZSBhcmUgcmVzaGFwaW5nIHRvCQkqLworCXVpbnQ2NF90CXJlc2hhcGVfcG9zaXRpb247CS8qIG5leHQgYWRkcmVzcyBpbiBhcnJheS1zcGFjZSBmb3IgcmVzaGFwZSAqLworCXVpbnQzMl90CWRlbHRhX2Rpc2tzOwkvKiBjaGFuZ2UgaW4gbnVtYmVyIG9mIHJhaWRfZGlza3MJCSovCisJdWludDMyX3QJbmV3X2xheW91dDsJLyogbmV3IGxheW91dAkJCQkJKi8KKwl1aW50MzJfdAluZXdfY2h1bms7CS8qIG5ldyBjaHVuayBzaXplIChieXRlcykJCQkqLworCXVpbnQ4X3QJCXBhZDFbMTI4LTEyNF07CS8qIHNldCB0byAwIHdoZW4gd3JpdHRlbiAqLworCisJLyogY29uc3RhbnQgdGhpcy1kZXZpY2UgaW5mb3JtYXRpb24gLSA2NCBieXRlcyAqLworCXVpbnQ2NF90CWRhdGFfb2Zmc2V0OwkvKiBzZWN0b3Igc3RhcnQgb2YgZGF0YSwgb2Z0ZW4gMCAqLworCXVpbnQ2NF90CWRhdGFfc2l6ZTsJLyogc2VjdG9ycyBpbiB0aGlzIGRldmljZSB0aGF0IGNhbiBiZSB1c2VkIGZvciBkYXRhICovCisJdWludDY0X3QJc3VwZXJfb2Zmc2V0OwkvKiBzZWN0b3Igc3RhcnQgb2YgdGhpcyBzdXBlcmJsb2NrICovCisJdWludDY0X3QJcmVjb3Zlcnlfb2Zmc2V0Oy8qIHNlY3RvcnMgYmVmb3JlIHRoaXMgb2Zmc2V0IChmcm9tIGRhdGFfb2Zmc2V0KSBoYXZlIGJlZW4gcmVjb3ZlcmVkICovCisJdWludDMyX3QJZGV2X251bWJlcjsJLyogcGVybWFuZW50IGlkZW50aWZpZXIgb2YgdGhpcyAgZGV2aWNlIC0gbm90IHJvbGUgaW4gcmFpZCAqLworCXVpbnQzMl90CWNudF9jb3JyZWN0ZWRfcmVhZDsgLyogbnVtYmVyIG9mIHJlYWQgZXJyb3JzIHRoYXQgd2VyZSBjb3JyZWN0ZWQgYnkgcmUtd3JpdGluZyAqLworCXVpbnQ4X3QJCWRldmljZV91dWlkWzE2XTsgLyogdXNlci1zcGFjZSBzZXRhYmxlLCBpZ25vcmVkIGJ5IGtlcm5lbCAqLworICAgICAgICB1aW50OF90CQlkZXZmbGFnczsgICAgICAgIC8qIHBlci1kZXZpY2UgZmxhZ3MuICBPbmx5IG9uZSBkZWZpbmVkLi4uKi8KKwl1aW50OF90CQlwYWQyWzY0LTU3XTsJLyogc2V0IHRvIDAgd2hlbiB3cml0aW5nICovCisKKwkvKiBhcnJheSBzdGF0ZSBpbmZvcm1hdGlvbiAtIDY0IGJ5dGVzICovCisJdWludDY0X3QJdXRpbWU7CQkvKiA0MCBiaXRzIHNlY29uZCwgMjQgYml0cyBtaWNyb3NlY29uZHMgKi8KKwl1aW50NjRfdAlldmVudHM7CQkvKiBpbmNyZW1lbnRlZCB3aGVuIHN1cGVyYmxvY2sgdXBkYXRlZCAqLworCXVpbnQ2NF90CXJlc3luY19vZmZzZXQ7CS8qIGRhdGEgYmVmb3JlIHRoaXMgb2Zmc2V0IChmcm9tIGRhdGFfb2Zmc2V0KSBrbm93biB0byBiZSBpbiBzeW5jICovCisJdWludDMyX3QJc2JfY3N1bTsJLyogY2hlY2tzdW0gdXAgdG8gZGV2X3JvbGVzW21heF9kZXZdICovCisJdWludDMyX3QJbWF4X2RldjsJLyogc2l6ZSBvZiBkZXZfcm9sZXNbXSBhcnJheSB0byBjb25zaWRlciAqLworCXVpbnQ4X3QJCXBhZDNbNjQtMzJdOwkvKiBzZXQgdG8gMCB3aGVuIHdyaXRpbmcgKi8KKworCS8qIGRldmljZSBzdGF0ZSBpbmZvcm1hdGlvbi4gSW5kZXhlZCBieSBkZXZfbnVtYmVyLgorCSAqIDIgYnl0ZXMgcGVyIGRldmljZQorCSAqIE5vdGUgdGhlcmUgYXJlIG5vIHBlci1kZXZpY2Ugc3RhdGUgZmxhZ3MuIFN0YXRlIGluZm9ybWF0aW9uIGlzIHJvbGxlZAorCSAqIGludG8gdGhlICdyb2xlcycgdmFsdWUuICBJZiBhIGRldmljZSBpcyBzcGFyZSBvciBmYXVsdHksIHRoZW4gaXQgZG9lc24ndAorCSAqIGhhdmUgYSBtZWFuaW5nZnVsIHJvbGUuCisJICovCisJdWludDE2X3QJZGV2X3JvbGVzWzBdOwkvKiByb2xlIGluIGFycmF5LCBvciAweGZmZmYgZm9yIGEgc3BhcmUsIG9yIDB4ZmZmZSBmb3IgZmF1bHR5ICovCit9OworCisKKyNkZWZpbmUgTURfUkVTRVJWRURfQllURVMJCTB4MTAwMDAKKyNkZWZpbmUgTURfU0JfTUFHSUMJCQkweGE5MmI0ZWZjCisKK3N0YXRpYyBpbnQgcHJvYmVfcmFpZDAoYmxraWRfcHJvYmUgcHIsIHVpbnQ2NF90IG9mZikKK3sKKwlzdHJ1Y3QgbWRwMF9zdXBlcl9ibG9jayAqbWRwMDsKKwl1bmlvbiB7CisJCXVpbnQzMl90IGludHNbNF07CisJCXVpbnQ4X3QgYnl0ZXNbMTZdOworCX0gdXVpZDsKKwl1aW50MzJfdCBtYSwgbWksIHBhOworCXVpbnQ2NF90IHNpemU7CisKKwlpZiAocHItPnNpemUgPCBNRF9SRVNFUlZFRF9CWVRFUykKKwkJcmV0dXJuIDE7CisJbWRwMCA9IChzdHJ1Y3QgbWRwMF9zdXBlcl9ibG9jayAqKQorCQkJYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwKKwkJCQlvZmYsCisJCQkJc2l6ZW9mKHN0cnVjdCBtZHAwX3N1cGVyX2Jsb2NrKSk7CisJaWYgKCFtZHAwKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJbWVtc2V0KHV1aWQuaW50cywgMCwgc2l6ZW9mKHV1aWQuaW50cykpOworCisJaWYgKGxlMzJfdG9fY3B1KG1kcDAtPm1kX21hZ2ljKSA9PSBNRF9TQl9NQUdJQykgeworCQl1dWlkLmludHNbMF0gPSBzd2FiMzIobWRwMC0+c2V0X3V1aWQwKTsKKwkJaWYgKGxlMzJfdG9fY3B1KG1kcDAtPm1pbm9yX3ZlcnNpb24pID49IDkwKSB7CisJCQl1dWlkLmludHNbMV0gPSBzd2FiMzIobWRwMC0+c2V0X3V1aWQxKTsKKwkJCXV1aWQuaW50c1syXSA9IHN3YWIzMihtZHAwLT5zZXRfdXVpZDIpOworCQkJdXVpZC5pbnRzWzNdID0gc3dhYjMyKG1kcDAtPnNldF91dWlkMyk7CisJCX0KKwkJbWEgPSBsZTMyX3RvX2NwdShtZHAwLT5tYWpvcl92ZXJzaW9uKTsKKwkJbWkgPSBsZTMyX3RvX2NwdShtZHAwLT5taW5vcl92ZXJzaW9uKTsKKwkJcGEgPSBsZTMyX3RvX2NwdShtZHAwLT5wYXRjaF92ZXJzaW9uKTsKKwkJc2l6ZSA9IGxlMzJfdG9fY3B1KG1kcDAtPnNpemUpOworCisJfSBlbHNlIGlmIChiZTMyX3RvX2NwdShtZHAwLT5tZF9tYWdpYykgPT0gTURfU0JfTUFHSUMpIHsKKwkJdXVpZC5pbnRzWzBdID0gbWRwMC0+c2V0X3V1aWQwOworCQlpZiAoYmUzMl90b19jcHUobWRwMC0+bWlub3JfdmVyc2lvbikgPj0gOTApIHsKKwkJCXV1aWQuaW50c1sxXSA9IG1kcDAtPnNldF91dWlkMTsKKwkJCXV1aWQuaW50c1syXSA9IG1kcDAtPnNldF91dWlkMjsKKwkJCXV1aWQuaW50c1szXSA9IG1kcDAtPnNldF91dWlkMzsKKwkJfQorCQltYSA9IGJlMzJfdG9fY3B1KG1kcDAtPm1ham9yX3ZlcnNpb24pOworCQltaSA9IGJlMzJfdG9fY3B1KG1kcDAtPm1pbm9yX3ZlcnNpb24pOworCQlwYSA9IGJlMzJfdG9fY3B1KG1kcDAtPnBhdGNoX3ZlcnNpb24pOworCQlzaXplID0gYmUzMl90b19jcHUobWRwMC0+c2l6ZSk7CisJfSBlbHNlCisJCXJldHVybiAxOworCisJc2l6ZSA8PD0gMTA7CS8qIGNvbnZlcnQgS2lCIHRvIGJ5dGVzICovCisKKwlpZiAocHItPnNpemUgPCBzaXplICsgTURfUkVTRVJWRURfQllURVMpCisJCS8qIGRldmljZSBpcyB0b28gc21hbGwgKi8KKwkJcmV0dXJuIDE7CisKKwlpZiAob2ZmIDwgc2l6ZSkKKwkJLyogbm8gc3BhY2UgYmVmb3JlIHN1cGVyYmxvY2sgKi8KKwkJcmV0dXJuIDE7CisKKwkvKgorCSAqIENoZWNrIGZvciBjb2xsaXNpb25zIGJldHdlZW4gUkFJRCBhbmQgcGFydGl0aW9uIHRhYmxlCisJICoKKwkgKiBGb3IgZXhhbXBsZSB0aGUgc3VwZXJibG9jayBpcyBhdCB0aGUgZW5kIG9mIHRoZSBsYXN0IHBhcnRpdGlvbiwgaXQncworCSAqIHRoZSBzYW1lIHBvc2l0aW9uIGFzIGF0IHRoZSBlbmQgb2YgdGhlIGRpc2suLi4KKwkgKi8KKwlpZiAoKFNfSVNSRUcocHItPm1vZGUpIHx8IGJsa2lkX3Byb2JlX2lzX3dob2xlZGlzayhwcikpICYmCisJICAgIGJsa2lkX3Byb2JlX2lzX2NvdmVyZWRfYnlfcHQocHIsCisJCQlvZmYgLSBzaXplLAkJCQkvKiBtaW4uIHN0YXJ0ICAqLworCQkJc2l6ZSArIE1EX1JFU0VSVkVEX0JZVEVTKSkgewkJLyogbWluLiBsZW5ndGggKi8KKworCQkvKiBpZ25vcmUgdGhpcyBzdXBlcmJsb2NrLCBpdCdzIHdpdGhpbiBhbnkgcGFydGl0aW9uIGFuZAorCQkgKiB3ZSBhcmUgd29ya2luZyB3aXRoIHdob2xlLWRpc2sgbm93ICovCisJCXJldHVybiAxOworCX0KKworCWlmIChibGtpZF9wcm9iZV9zcHJpbnRmX3ZlcnNpb24ocHIsICIldS4ldS4ldSIsIG1hLCBtaSwgcGEpICE9IDApCisJCXJldHVybiAxOworCWlmIChibGtpZF9wcm9iZV9zZXRfdXVpZChwciwgKHVuc2lnbmVkIGNoYXIgKikgdXVpZC5ieXRlcykgIT0gMCkKKwkJcmV0dXJuIDE7CisJaWYgKGJsa2lkX3Byb2JlX3NldF9tYWdpYyhwciwgb2ZmLCBzaXplb2YobWRwMC0+bWRfbWFnaWMpLAorCQkJCSh1bnNpZ25lZCBjaGFyICopICZtZHAwLT5tZF9tYWdpYykpCisJCXJldHVybiAxOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHByb2JlX3JhaWQxKGJsa2lkX3Byb2JlIHByLCBvZmZfdCBvZmYpCit7CisJc3RydWN0IG1kcDFfc3VwZXJfYmxvY2sgKm1kcDE7CisKKwltZHAxID0gKHN0cnVjdCBtZHAxX3N1cGVyX2Jsb2NrICopCisJCQlibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLAorCQkJCW9mZiwKKwkJCQlzaXplb2Yoc3RydWN0IG1kcDFfc3VwZXJfYmxvY2spKTsKKwlpZiAoIW1kcDEpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisJaWYgKGxlMzJfdG9fY3B1KG1kcDEtPm1hZ2ljKSAhPSBNRF9TQl9NQUdJQykKKwkJcmV0dXJuIDE7CisJaWYgKGxlMzJfdG9fY3B1KG1kcDEtPm1ham9yX3ZlcnNpb24pICE9IDFVKQorCQlyZXR1cm4gMTsKKwlpZiAobGU2NF90b19jcHUobWRwMS0+c3VwZXJfb2Zmc2V0KSAhPSAodWludDY0X3QpIG9mZiA+PiA5KQorCQlyZXR1cm4gMTsKKwlpZiAoYmxraWRfcHJvYmVfc2V0X3V1aWQocHIsICh1bnNpZ25lZCBjaGFyICopIG1kcDEtPnNldF91dWlkKSAhPSAwKQorCQlyZXR1cm4gMTsKKwlpZiAoYmxraWRfcHJvYmVfc2V0X3V1aWRfYXMocHIsCisJCQkodW5zaWduZWQgY2hhciAqKSBtZHAxLT5kZXZpY2VfdXVpZCwgIlVVSURfU1VCIikgIT0gMCkKKwkJcmV0dXJuIDE7CisJaWYgKGJsa2lkX3Byb2JlX3NldF9sYWJlbChwciwgbWRwMS0+c2V0X25hbWUsCisJCQkJc2l6ZW9mKG1kcDEtPnNldF9uYW1lKSkgIT0gMCkKKwkJcmV0dXJuIDE7CisJaWYgKGJsa2lkX3Byb2JlX3NldF9tYWdpYyhwciwgb2ZmLCBzaXplb2YobWRwMS0+bWFnaWMpLAorCQkJCSh1bnNpZ25lZCBjaGFyICopICZtZHAxLT5tYWdpYykpCisJCXJldHVybiAxOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHByb2JlX3JhaWQoYmxraWRfcHJvYmUgcHIsCisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwljb25zdCBjaGFyICp2ZXIgPSBOVUxMOworCWludCByZXQgPSBCTEtJRF9QUk9CRV9OT05FOworCisJaWYgKHByLT5zaXplID4gTURfUkVTRVJWRURfQllURVMpIHsKKwkJLyogdmVyc2lvbiAwIGF0IHRoZSBlbmQgb2YgdGhlIGRldmljZSAqLworCQl1aW50NjRfdCBzYm9mZiA9IChwci0+c2l6ZSAmIH4oTURfUkVTRVJWRURfQllURVMgLSAxKSkKKwkJCS0gTURfUkVTRVJWRURfQllURVM7CisJCXJldCA9IHByb2JlX3JhaWQwKHByLCBzYm9mZik7CisJCWlmIChyZXQgPCAxKQorCQkJcmV0dXJuIHJldDsJLyogZXJyb3IgKi8KKworCQkvKiB2ZXJzaW9uIDEuMCBhdCB0aGUgZW5kIG9mIHRoZSBkZXZpY2UgKi8KKwkJc2JvZmYgPSAocHItPnNpemUgJiB+KDB4MTAwMCAtIDEpKSAtIDB4MjAwMDsKKwkJcmV0ID0gcHJvYmVfcmFpZDEocHIsIHNib2ZmKTsKKwkJaWYgKHJldCA8IDApCisJCQlyZXR1cm4gcmV0OwkvKiBlcnJvciAqLworCQlpZiAocmV0ID09IDApCisJCQl2ZXIgPSAiMS4wIjsKKwl9CisKKwlpZiAoIXZlcikgeworCQkvKiB2ZXJzaW9uIDEuMSBhdCB0aGUgc3RhcnQgb2YgdGhlIGRldmljZSAqLworCQlyZXQgPSBwcm9iZV9yYWlkMShwciwgMCk7CisJCWlmIChyZXQgPT0gMCkKKwkJCXZlciA9ICIxLjEiOworCisJCS8qIHZlcnNpb24gMS4yIGF0IDRrIG9mZnNldCBmcm9tIHRoZSBzdGFydCAqLworCQllbHNlIGlmIChyZXQgPT0gQkxLSURfUFJPQkVfTk9ORSkgeworCQkJcmV0ID0gcHJvYmVfcmFpZDEocHIsIDB4MTAwMCk7CisJCQlpZiAocmV0ID09IDApCisJCQkJdmVyID0gIjEuMiI7CisJCX0KKwl9CisKKwlpZiAodmVyKSB7CisJCWJsa2lkX3Byb2JlX3NldF92ZXJzaW9uKHByLCB2ZXIpOworCQlyZXR1cm4gQkxLSURfUFJPQkVfT0s7CisJfQorCXJldHVybiByZXQ7Cit9CisKKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBsaW51eHJhaWRfaWRpbmZvID0geworCS5uYW1lCQk9ICJsaW51eF9yYWlkX21lbWJlciIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX1JBSUQsCisJLnByb2JlZnVuYwk9IHByb2JlX3JhaWQsCisJLm1hZ2ljcwkJPSBCTEtJRF9OT05FX01BR0lDCit9OworCisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9sc2lfcmFpZC5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2xzaV9yYWlkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjk3YjBmZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9sc2lfcmFpZC5jCkBAIC0wLDAgKzEsNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogSW5zcGlyZWQgYnkgbGlidm9sdW1lX2lkIGJ5CisgKiAgICAgS2F5IFNpZXZlcnMgPGtheS5zaWV2ZXJzQHZyZnkub3JnPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCitzdHJ1Y3QgbHNpX21ldGFkYXRhIHsKKwl1aW50OF90CQlzaWdbNl07Cit9OworCisKKyNkZWZpbmUgTFNJX1NJR05BVFVSRQkJIiRYSURFJCIKKworc3RhdGljIGludCBwcm9iZV9sc2lyYWlkKGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJdWludDY0X3Qgb2ZmOworCXN0cnVjdCBsc2lfbWV0YWRhdGEgKmxzaTsKKworCWlmIChwci0+c2l6ZSA8IDB4MTAwMDApCisJCXJldHVybiAxOworCWlmICghU19JU1JFRyhwci0+bW9kZSkgJiYgIWJsa2lkX3Byb2JlX2lzX3dob2xlZGlzayhwcikpCisJCXJldHVybiAxOworCisJb2ZmID0gKChwci0+c2l6ZSAvIDB4MjAwKSAtIDEpICogMHgyMDA7CisJbHNpID0gKHN0cnVjdCBsc2lfbWV0YWRhdGEgKikKKwkJYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwKKwkJCQlvZmYsCisJCQkJc2l6ZW9mKHN0cnVjdCBsc2lfbWV0YWRhdGEpKTsKKwlpZiAoIWxzaSkKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCWlmIChtZW1jbXAobHNpLT5zaWcsIExTSV9TSUdOQVRVUkUsIHNpemVvZihMU0lfU0lHTkFUVVJFKS0xKSAhPSAwKQorCQlyZXR1cm4gMTsKKwlpZiAoYmxraWRfcHJvYmVfc2V0X21hZ2ljKHByLCBvZmYsIHNpemVvZihsc2ktPnNpZyksCisJCQkJKHVuc2lnbmVkIGNoYXIgKikgbHNpLT5zaWcpKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBsc2lyYWlkX2lkaW5mbyA9IHsKKwkubmFtZQkJPSAibHNpX21lZ2FfcmFpZF9tZW1iZXIiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9SQUlELAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9sc2lyYWlkLAorCS5tYWdpY3MJCT0gQkxLSURfTk9ORV9NQUdJQworfTsKKworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbHVrcy5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2x1a3MuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMDY5NmYyCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2x1a3MuYwpAQCAtMCwwICsxLDY2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIEluc3BpcmVkIGJ5IGxpYnZvbHVtZV9pZCBieQorICogICAgIEtheSBTaWV2ZXJzIDxrYXkuc2lldmVyc0B2cmZ5Lm9yZz4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCisjZGVmaW5lIExVS1NfQ0lQSEVSTkFNRV9MCQkzMgorI2RlZmluZSBMVUtTX0NJUEhFUk1PREVfTAkJMzIKKyNkZWZpbmUgTFVLU19IQVNIU1BFQ19MCQkJMzIKKyNkZWZpbmUgTFVLU19ESUdFU1RTSVpFCQkJMjAKKyNkZWZpbmUgTFVLU19TQUxUU0laRQkJCTMyCisjZGVmaW5lIExVS1NfTUFHSUNfTAkJCTYKKyNkZWZpbmUgVVVJRF9TVFJJTkdfTAkJCTQwCisKK3N0cnVjdCBsdWtzX3BoZHIgeworCXVpbnQ4X3QJCW1hZ2ljW0xVS1NfTUFHSUNfTF07CisJdWludDE2X3QJdmVyc2lvbjsKKwl1aW50OF90CQljaXBoZXJOYW1lW0xVS1NfQ0lQSEVSTkFNRV9MXTsKKwl1aW50OF90CQljaXBoZXJNb2RlW0xVS1NfQ0lQSEVSTU9ERV9MXTsKKwl1aW50OF90CQloYXNoU3BlY1tMVUtTX0hBU0hTUEVDX0xdOworCXVpbnQzMl90CXBheWxvYWRPZmZzZXQ7CisJdWludDMyX3QJa2V5Qnl0ZXM7CisJdWludDhfdAkJbWtEaWdlc3RbTFVLU19ESUdFU1RTSVpFXTsKKwl1aW50OF90CQlta0RpZ2VzdFNhbHRbTFVLU19TQUxUU0laRV07CisJdWludDMyX3QJbWtEaWdlc3RJdGVyYXRpb25zOworCXVpbnQ4X3QJCXV1aWRbVVVJRF9TVFJJTkdfTF07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdGF0aWMgaW50IHByb2JlX2x1a3MoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCXN0cnVjdCBsdWtzX3BoZHIgKmhlYWRlcjsKKworCWhlYWRlciA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3QgbHVrc19waGRyKTsKKwlpZiAoaGVhZGVyID09IE5VTEwpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwlibGtpZF9wcm9iZV9zdHJuY3B5X3V1aWQocHIsICh1bnNpZ25lZCBjaGFyICopIGhlYWRlci0+dXVpZCwKKwkJCXNpemVvZihoZWFkZXItPnV1aWQpKTsKKwlibGtpZF9wcm9iZV9zcHJpbnRmX3ZlcnNpb24ocHIsICIldSIsIGJlMTZfdG9fY3B1KGhlYWRlci0+dmVyc2lvbikpOworCXJldHVybiAwOworfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGx1a3NfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAiY3J5cHRvX0xVS1MiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9DUllQVE8sCisJLnByb2JlZnVuYwk9IHByb2JlX2x1a3MsCisJLm1hZ2ljcwkJPQorCXsKKwkJeyAubWFnaWMgPSAiTFVLU1x4YmFceGJlIiwgLmxlbiA9IDYgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2x2bS5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2x2bS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5NGQ3YjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbHZtLmMKQEAgLTAsMCArMSwyMjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDE5OTkgYnkgQW5kcmllcyBCcm91d2VyCisgKiBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDAsIDIwMDMgYnkgVGhlb2RvcmUgVHMnbworICogQ29weXJpZ2h0IChDKSAyMDAxIGJ5IEFuZHJlYXMgRGlsZ2VyCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQgS2F5IFNpZXZlcnMgPGtheS5zaWV2ZXJzQHZyZnkub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDA4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDEyIE1pbGFuIEJyb3ogPG1icm96QHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCisjZGVmaW5lIExWTTFfSURfTEVOIDEyOAorI2RlZmluZSBMVk0yX0lEX0xFTiAzMgorCitzdHJ1Y3QgbHZtMl9wdl9sYWJlbF9oZWFkZXIgeworCS8qIGxhYmVsX2hlYWRlciAqLworCXVpbnQ4X3QJCWlkWzhdOwkJLyogTEFCRUxPTkUgKi8KKwl1aW50NjRfdAlzZWN0b3JfeGw7CS8qIFNlY3RvciBudW1iZXIgb2YgdGhpcyBsYWJlbCAqLworCXVpbnQzMl90CWNyY194bDsJCS8qIEZyb20gbmV4dCBmaWVsZCB0byBlbmQgb2Ygc2VjdG9yICovCisJdWludDMyX3QJb2Zmc2V0X3hsOwkvKiBPZmZzZXQgZnJvbSBzdGFydCBvZiBzdHJ1Y3QgdG8gY29udGVudHMgKi8KKwl1aW50OF90CQl0eXBlWzhdOwkvKiBMVk0yIDAwMSAqLworCS8qIHB2X2hlYWRlciAqLworCXVpbnQ4X3QJCXB2X3V1aWRbTFZNMl9JRF9MRU5dOworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisKK3N0cnVjdCBsdm0xX3B2X2xhYmVsX2hlYWRlciB7CisJdWludDhfdCBpZFsyXTsJCQkvKiBITSAqLworCXVpbnQxNl90IHZlcnNpb247CQkvKiB2ZXJzaW9uIDEgb3IgMiAqLworCXVpbnQzMl90IF9ub3R1c2VkWzEwXTsJCS8qIGx2bTEgaW50ZXJuYWxzICovCisJdWludDhfdCBwdl91dWlkW0xWTTFfSURfTEVOXTsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisjZGVmaW5lIExWTTJfTEFCRUxfU0laRSA1MTIKK3N0YXRpYyB1bnNpZ25lZCBpbnQgbHZtMl9jYWxjX2NyYyhjb25zdCB2b2lkICpidWYsIHVuc2lnbmVkIGludCBzaXplKQoreworCXN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgY3JjdGFiW10gPSB7CisJCTB4MDAwMDAwMDAsIDB4MWRiNzEwNjQsIDB4M2I2ZTIwYzgsIDB4MjZkOTMwYWMsCisJCTB4NzZkYzQxOTAsIDB4NmI2YjUxZjQsIDB4NGRiMjYxNTgsIDB4NTAwNTcxM2MsCisJCTB4ZWRiODgzMjAsIDB4ZjAwZjkzNDQsIDB4ZDZkNmEzZTgsIDB4Y2I2MWIzOGMsCisJCTB4OWI2NGMyYjAsIDB4ODZkM2QyZDQsIDB4YTAwYWUyNzgsIDB4YmRiZGYyMWMKKwl9OworCXVuc2lnbmVkIGludCBpLCBjcmMgPSAweGY1OTdhNmNmOworCWNvbnN0IHVpbnQ4X3QgKmRhdGEgPSAoY29uc3QgdWludDhfdCAqKSBidWY7CisKKwlmb3IgKGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7CisJCWNyYyBePSAqZGF0YSsrOworCQljcmMgPSAoY3JjID4+IDQpIF4gY3JjdGFiW2NyYyAmIDB4Zl07CisJCWNyYyA9IChjcmMgPj4gNCkgXiBjcmN0YWJbY3JjICYgMHhmXTsKKwl9CisJcmV0dXJuIGNyYzsKK30KKworLyogTGVuZ3RoIG9mIHJlYWwgVVVJRCBpcyBhbHdheXMgTFZNMl9JRF9MRU4gKi8KK3N0YXRpYyB2b2lkIGZvcm1hdF9sdm1fdXVpZChjaGFyICpkc3RfdXVpZCwgY2hhciAqc3JjX3V1aWQpCit7CisJdW5zaWduZWQgaW50IGksIGI7CisKKwlmb3IgKGkgPSAwLCBiID0gMTsgaSA8IExWTTJfSURfTEVOOyBpKyssIGIgPDw9IDEpIHsKKwkJaWYgKGIgJiAweDQ0NDQ0NDApCisJCQkqZHN0X3V1aWQrKyA9ICctJzsKKwkJKmRzdF91dWlkKysgPSAqc3JjX3V1aWQrKzsKKwl9CisJKmRzdF91dWlkID0gJ1wwJzsKK30KKworc3RhdGljIGludCBwcm9iZV9sdm0yKGJsa2lkX3Byb2JlIHByLCBjb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZykKK3sKKwlpbnQgc2VjdG9yID0gbWFnLT5rYm9mZiA8PCAxOworCXN0cnVjdCBsdm0yX3B2X2xhYmVsX2hlYWRlciAqbGFiZWw7CisJY2hhciB1dWlkW0xWTTJfSURfTEVOICsgN107CisJdW5zaWduZWQgY2hhciAqYnVmOworCisJYnVmID0gYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwKKwkJCW1hZy0+a2JvZmYgPDwgMTAsCisJCQk1MTIgKyBzaXplb2Yoc3RydWN0IGx2bTJfcHZfbGFiZWxfaGVhZGVyKSk7CisJaWYgKCFidWYpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwkvKiBidWYgaXMgYXQgMGsgb3IgMWsgb2Zmc2V0OyBmaW5kIGxhYmVsIGluc2lkZSAqLworCWlmIChtZW1jbXAoYnVmLCAiTEFCRUxPTkUiLCA4KSA9PSAwKSB7CisJCWxhYmVsID0gKHN0cnVjdCBsdm0yX3B2X2xhYmVsX2hlYWRlciAqKSBidWY7CisJfSBlbHNlIGlmIChtZW1jbXAoYnVmICsgNTEyLCAiTEFCRUxPTkUiLCA4KSA9PSAwKSB7CisJCWxhYmVsID0gKHN0cnVjdCBsdm0yX3B2X2xhYmVsX2hlYWRlciAqKShidWYgKyA1MTIpOworCQlzZWN0b3IrKzsKKwl9IGVsc2UgeworCQlyZXR1cm4gMTsKKwl9CisKKwlpZiAobGU2NF90b19jcHUobGFiZWwtPnNlY3Rvcl94bCkgIT0gKHVuc2lnbmVkKSBzZWN0b3IpCisJCXJldHVybiAxOworCisJaWYgKCFibGtpZF9wcm9iZV92ZXJpZnlfY3N1bSgKKwkJcHIsIGx2bTJfY2FsY19jcmMoCisJCQkmbGFiZWwtPm9mZnNldF94bCwgTFZNMl9MQUJFTF9TSVpFIC0KKwkJCSgoY2hhciAqKSAmbGFiZWwtPm9mZnNldF94bCAtIChjaGFyICopIGxhYmVsKSksCisJCQlsZTMyX3RvX2NwdShsYWJlbC0+Y3JjX3hsKSkpCisJCXJldHVybiAxOworCisJZm9ybWF0X2x2bV91dWlkKHV1aWQsIChjaGFyICopIGxhYmVsLT5wdl91dWlkKTsKKwlibGtpZF9wcm9iZV9zcHJpbnRmX3V1aWQocHIsIGxhYmVsLT5wdl91dWlkLCBzaXplb2YobGFiZWwtPnB2X3V1aWQpLAorCQkJIiVzIiwgdXVpZCk7CisKKwkvKiB0aGUgbWFnLT5tYWdpYyBpcyB0aGUgc2FtZSBzdHJpbmcgYXMgbGFiZWwtPnR5cGUsCisJICogYnV0IHplcm8gdGVybWluYXRlZCAqLworCWJsa2lkX3Byb2JlX3NldF92ZXJzaW9uKHByLCBtYWctPm1hZ2ljKTsKKworCS8qIExWTSAocHZjcmVhdGUpIHdpcGVzIGJlZ2luIG9mIHRoZSBkZXZpY2UgLS0gbGV0J3MgcmVtZW1iZXIgdGhpcworCSAqIHRvIHJlc29sdmUgY29uZmxpY3RzIGJldHdlZW4gTFZNIGFuZCBwYXJ0aXRpb24gdGFibGVzLCAuLi4KKwkgKi8KKwlibGtpZF9wcm9iZV9zZXRfd2lwZXIocHIsIDAsIDggKiAxMDI0KTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHByb2JlX2x2bTEoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCXN0cnVjdCBsdm0xX3B2X2xhYmVsX2hlYWRlciAqbGFiZWw7CisJY2hhciB1dWlkW0xWTTJfSURfTEVOICsgN107CisJdW5zaWduZWQgaW50IHZlcnNpb247CisKKwlsYWJlbCA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3QgbHZtMV9wdl9sYWJlbF9oZWFkZXIpOworCWlmICghbGFiZWwpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwl2ZXJzaW9uID0gbGUxNl90b19jcHUobGFiZWwtPnZlcnNpb24pOworCWlmICh2ZXJzaW9uICE9IDEgJiYgdmVyc2lvbiAhPSAyKQorCQlyZXR1cm4gMTsKKworCWZvcm1hdF9sdm1fdXVpZCh1dWlkLCAoY2hhciAqKSBsYWJlbC0+cHZfdXVpZCk7CisJYmxraWRfcHJvYmVfc3ByaW50Zl91dWlkKHByLCBsYWJlbC0+cHZfdXVpZCwgc2l6ZW9mKGxhYmVsLT5wdl91dWlkKSwKKwkJCSIlcyIsIHV1aWQpOworCisJcmV0dXJuIDA7Cit9CisKK3N0cnVjdCB2ZXJpdHlfc2IgeworCXVpbnQ4X3QgIHNpZ25hdHVyZVs4XTsJLyogInZlcml0eVwwXDAiICovCisJdWludDMyX3QgdmVyc2lvbjsJLyogc3VwZXJibG9jayB2ZXJzaW9uICovCisJdWludDMyX3QgaGFzaF90eXBlOwkvKiAwIC0gQ2hyb21lIE9TLCAxIC0gbm9ybWFsICovCisJdWludDhfdCAgdXVpZFsxNl07CS8qIFVVSUQgb2YgaGFzaCBkZXZpY2UgKi8KKwl1aW50OF90ICBhbGdvcml0aG1bMzJdOy8qIGhhc2ggYWxnb3JpdGhtIG5hbWUgKi8KKwl1aW50MzJfdCBkYXRhX2Jsb2NrX3NpemU7IC8qIGRhdGEgYmxvY2sgaW4gYnl0ZXMgKi8KKwl1aW50MzJfdCBoYXNoX2Jsb2NrX3NpemU7IC8qIGhhc2ggYmxvY2sgaW4gYnl0ZXMgKi8KKwl1aW50NjRfdCBkYXRhX2Jsb2NrczsJLyogbnVtYmVyIG9mIGRhdGEgYmxvY2tzICovCisJdWludDE2X3Qgc2FsdF9zaXplOwkvKiBzYWx0IHNpemUgKi8KKwl1aW50OF90ICBfcGFkMVs2XTsKKwl1aW50OF90ICBzYWx0WzI1Nl07CS8qIHNhbHQgKi8KKwl1aW50OF90ICBfcGFkMlsxNjhdOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RhdGljIGludCBwcm9iZV92ZXJpdHkoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCXN0cnVjdCB2ZXJpdHlfc2IgKnNiOworCXVuc2lnbmVkIGludCB2ZXJzaW9uOworCisJc2IgPSBibGtpZF9wcm9iZV9nZXRfc2IocHIsIG1hZywgc3RydWN0IHZlcml0eV9zYik7CisJaWYgKHNiID09IE5VTEwpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwl2ZXJzaW9uID0gbGUzMl90b19jcHUoc2ItPnZlcnNpb24pOworCWlmICh2ZXJzaW9uICE9IDEpCisJCXJldHVybiAxOworCisJYmxraWRfcHJvYmVfc2V0X3V1aWQocHIsIHNiLT51dWlkKTsKKwlibGtpZF9wcm9iZV9zcHJpbnRmX3ZlcnNpb24ocHIsICIldSIsIHZlcnNpb24pOworCXJldHVybiAwOworfQorCisvKiBOT1RFOiB0aGUgb3JpZ2luYWwgbGliYmxraWQgdXNlcyAibHZtMnB2IiBhcyBhIG5hbWUgKi8KK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gbHZtMl9pZGluZm8gPQoreworCS5uYW1lCQk9ICJMVk0yX21lbWJlciIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX1JBSUQsCisJLnByb2JlZnVuYwk9IHByb2JlX2x2bTIsCisJLm1hZ2ljcwkJPQorCXsKKwkJeyAubWFnaWMgPSAiTFZNMiAwMDEiLCAubGVuID0gOCwgLnNib2ZmID0gMHgyMTggfSwKKwkJeyAubWFnaWMgPSAiTFZNMiAwMDEiLCAubGVuID0gOCwgLnNib2ZmID0gMHgwMTggfSwKKwkJeyAubWFnaWMgPSAiTFZNMiAwMDEiLCAubGVuID0gOCwgLmtib2ZmID0gMSwgLnNib2ZmID0gMHgwMTggfSwKKwkJeyAubWFnaWMgPSAiTFZNMiAwMDEiLCAubGVuID0gOCwgLmtib2ZmID0gMSwgLnNib2ZmID0gMHgyMTggfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGx2bTFfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAiTFZNMV9tZW1iZXIiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9SQUlELAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9sdm0xLAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gIkhNIiwgLmxlbiA9IDIgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHNuYXBjb3dfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAiRE1fc25hcHNob3RfY293IiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfT1RIRVIsCisJLm1hZ2ljcwkJPQorCXsKKwkJeyAubWFnaWMgPSAiU25BcCIsIC5sZW4gPSA0IH0sCisJCXsgTlVMTCB9CisJfQorfTsKKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyB2ZXJpdHlfaGFzaF9pZGluZm8gPQoreworCS5uYW1lCQk9ICJETV92ZXJpdHlfaGFzaCIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX0NSWVBUTywKKwkucHJvYmVmdW5jCT0gcHJvYmVfdmVyaXR5LAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gInZlcml0eVwwXDAiLCAubGVuID0gOCB9LAorCQl7IE5VTEwgfQorCX0KK307CmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbWluaXguYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9taW5peC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlZWJjOTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbWluaXguYwpAQCAtMCwwICsxLDE3NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMTk5OSBieSBBbmRyaWVzIEJyb3V3ZXIKKyAqIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMCwgMjAwMyBieSBUaGVvZG9yZSBUcydvCisgKiBDb3B5cmlnaHQgKEMpIDIwMDEgYnkgQW5kcmVhcyBEaWxnZXIKKyAqIENvcHlyaWdodCAoQykgMjAwNCBLYXkgU2lldmVycyA8a2F5LnNpZXZlcnNAdnJmeS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAxMyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorI2luY2x1ZGUgIm1pbml4LmgiCisKKyNkZWZpbmUgbWluaXhfc3dhYjE2KGRvaXQsIG51bSkJKCh1aW50MTZfdCkgKGRvaXQgPyBzd2FiMTYobnVtKSA6IG51bSkpCisjZGVmaW5lIG1pbml4X3N3YWIzMihkb2l0LCBudW0pCSgodWludDMyX3QpIChkb2l0ID8gc3dhYjMyKG51bSkgOiBudW0pKQorCitzdGF0aWMgaW50IGdldF9taW5peF92ZXJzaW9uKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEsIGludCAqb3RoZXJfZW5kaWFuKQoreworCXN0cnVjdCBtaW5peF9zdXBlcl9ibG9jayAqc2IgPSAoc3RydWN0IG1pbml4X3N1cGVyX2Jsb2NrICopIGRhdGE7CisJc3RydWN0IG1pbml4M19zdXBlcl9ibG9jayAqc2IzID0gKHN0cnVjdCBtaW5peDNfc3VwZXJfYmxvY2sgKikgZGF0YTsKKwlpbnQgdmVyc2lvbiA9IDA7CisJY2hhciAqZW5kaWFuOworCisJKm90aGVyX2VuZGlhbiA9IDA7CisKKwlzd2l0Y2ggKHNiLT5zX21hZ2ljKSB7CisJY2FzZSBNSU5JWF9TVVBFUl9NQUdJQzoKKwljYXNlIE1JTklYX1NVUEVSX01BR0lDMjoKKwkJdmVyc2lvbiA9IDE7CisJCWJyZWFrOworCWNhc2UgTUlOSVgyX1NVUEVSX01BR0lDOgorCWNhc2UgTUlOSVgyX1NVUEVSX01BR0lDMjoKKwkJdmVyc2lvbiA9IDI7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWlmIChzYjMtPnNfbWFnaWMgPT0gTUlOSVgzX1NVUEVSX01BR0lDKQorCQkJdmVyc2lvbiA9IDM7CisJCWJyZWFrOworCX0KKworCWlmICghdmVyc2lvbikgeworCQkqb3RoZXJfZW5kaWFuID0gMTsKKworCQlzd2l0Y2ggKHN3YWIxNihzYi0+c19tYWdpYykpIHsKKwkJY2FzZSBNSU5JWF9TVVBFUl9NQUdJQzoKKwkJY2FzZSBNSU5JWF9TVVBFUl9NQUdJQzI6CisJCQl2ZXJzaW9uID0gMTsKKwkJCWJyZWFrOworCQljYXNlIE1JTklYMl9TVVBFUl9NQUdJQzoKKwkJY2FzZSBNSU5JWDJfU1VQRVJfTUFHSUMyOgorCQkJdmVyc2lvbiA9IDI7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWlmIChzYjMtPnNfbWFnaWMgPT0gTUlOSVgzX1NVUEVSX01BR0lDKQorCQkJCXZlcnNpb24gPSAzOworCQkJYnJlYWs7CisJCX0KKwl9CisJaWYgKCF2ZXJzaW9uKQorCQlyZXR1cm4gLTE7CisKKyNpZiBkZWZpbmVkKFdPUkRTX0JJR0VORElBTikKKwllbmRpYW4gPSAqb3RoZXJfZW5kaWFuID8gIkxFIiA6ICJCRSI7CisjZWxzZQorCWVuZGlhbiA9ICpvdGhlcl9lbmRpYW4gPyAiQkUiIDogIkxFIjsKKyNlbmRpZgorCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIm1pbml4IHZlcnNpb24gJWQgZGV0ZWN0ZWQgWyVzXSIsIHZlcnNpb24sCisJCQkgICAgICAgZW5kaWFuKSk7CisJcmV0dXJuIHZlcnNpb247Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfbWluaXgoYmxraWRfcHJvYmUgcHIsCisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwl1bnNpZ25lZCBjaGFyICpleHQ7CisJY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YTsKKwlpbnQgdmVyc2lvbiA9IDAsIHN3YWJtZSA9IDA7CisKKwlkYXRhID0gYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwgMTAyNCwKKwkJCW1heChzaXplb2Yoc3RydWN0IG1pbml4X3N1cGVyX2Jsb2NrKSwKKwkJCSAgICBzaXplb2Yoc3RydWN0IG1pbml4M19zdXBlcl9ibG9jaykpKTsKKwlpZiAoIWRhdGEpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisJdmVyc2lvbiA9IGdldF9taW5peF92ZXJzaW9uKGRhdGEsICZzd2FibWUpOworCWlmICh2ZXJzaW9uIDwgMSkKKwkJcmV0dXJuIDE7CisKKwl1bnNpZ25lZCBsb25nIHpvbmVzLCBuaW5vZGVzLCBpbWFwcywgem1hcHM7CisJb2ZmX3QgZmlyc3R6OworCXNpemVfdCB6b25lX3NpemU7CisKKwlpZiAodmVyc2lvbiA8PSAyKSB7CisJCXN0cnVjdCBtaW5peF9zdXBlcl9ibG9jayAqc2IgPSAoc3RydWN0IG1pbml4X3N1cGVyX2Jsb2NrICopIGRhdGE7CisKKwkJdWludDE2X3Qgc3RhdGUgPSBtaW5peF9zd2FiMTYoc3dhYm1lLCBzYi0+c19zdGF0ZSk7CisJCWlmICgoc3RhdGUgJiAoTUlOSVhfVkFMSURfRlMgfCBNSU5JWF9FUlJPUl9GUykpICE9IHN0YXRlKQorCQkJcmV0dXJuIDE7CisKKwkJem9uZXMgPSB2ZXJzaW9uID09IDIgPyBtaW5peF9zd2FiMzIoc3dhYm1lLCBzYi0+c196b25lcykgOgorCQkJCSAgICAgICBtaW5peF9zd2FiMTYoc3dhYm1lLCBzYi0+c19uem9uZXMpOworCQluaW5vZGVzID0gbWluaXhfc3dhYjE2KHN3YWJtZSwgc2ItPnNfbmlub2Rlcyk7CisJCWltYXBzICAgPSBtaW5peF9zd2FiMTYoc3dhYm1lLCBzYi0+c19pbWFwX2Jsb2Nrcyk7CisJCXptYXBzICAgPSBtaW5peF9zd2FiMTYoc3dhYm1lLCBzYi0+c196bWFwX2Jsb2Nrcyk7CisJCWZpcnN0eiAgPSBtaW5peF9zd2FiMTYoc3dhYm1lLCBzYi0+c19maXJzdGRhdGF6b25lKTsKKwkJem9uZV9zaXplID0gc2ItPnNfbG9nX3pvbmVfc2l6ZTsKKwl9IGVsc2UgaWYgKHZlcnNpb24gPT0gMykgeworCQlzdHJ1Y3QgbWluaXgzX3N1cGVyX2Jsb2NrICpzYiA9IChzdHJ1Y3QgbWluaXgzX3N1cGVyX2Jsb2NrICopIGRhdGE7CisKKwkJem9uZXMgPSBtaW5peF9zd2FiMzIoc3dhYm1lLCBzYi0+c196b25lcyk7CisJCW5pbm9kZXMgPSBtaW5peF9zd2FiMzIoc3dhYm1lLCBzYi0+c19uaW5vZGVzKTsKKwkJaW1hcHMgICA9IG1pbml4X3N3YWIxNihzd2FibWUsIHNiLT5zX2ltYXBfYmxvY2tzKTsKKwkJem1hcHMgICA9IG1pbml4X3N3YWIxNihzd2FibWUsIHNiLT5zX3ptYXBfYmxvY2tzKTsKKwkJZmlyc3R6ICA9IG1pbml4X3N3YWIxNihzd2FibWUsIHNiLT5zX2ZpcnN0ZGF0YXpvbmUpOworCQl6b25lX3NpemUgPSBzYi0+c19sb2dfem9uZV9zaXplOworCX0KKworCS8qIHNhbml0eSBjaGVja3MgdG8gYmUgc3VyZSB0aGF0IHRoZSBGUyBpcyByZWFsbHkgbWluaXguCisJICogc2VlIGRpc2stdXRpbHMvZnNjay5taW5peC5jIHJlYWRfc3VwZXJibG9jaworCSAqLworCWlmICh6b25lX3NpemUgIT0gMCB8fCBuaW5vZGVzID09IDAgfHwgbmlub2RlcyA9PSBVSU5UMzJfTUFYKQorCQlyZXR1cm4gMTsKKwlpZiAoaW1hcHMgKiBNSU5JWF9CTE9DS19TSVpFICogOCA8IG5pbm9kZXMgKyAxKQorCQlyZXR1cm4gMTsKKwlpZiAoZmlyc3R6ID4gKG9mZl90KSB6b25lcykKKwkJcmV0dXJuIDE7CisJaWYgKHptYXBzICogTUlOSVhfQkxPQ0tfU0laRSAqIDggPCB6b25lcyAtIGZpcnN0eiArIDEpCisJCXJldHVybiAxOworCisJLyogdW5mb3J0dW5hdGVseSwgc29tZSBwYXJ0cyBvZiBleHQzIGlzIHNvbWV0aW1lcyBwb3NzaWJsZSB0bworCSAqIGludGVycHJldGVkIGFzIG1pbml4IHN1cGVyYmxvY2suIFNvIGNoZWNrIGZvciBleHROIG1hZ2ljCisJICogc3RyaW5nLiAoRm9yIGV4dE4gbWFnaWMgc3RyaW5nIGFuZCBvZmZzZXRzIHNlZSBleHQuYy4pCisJICovCisJZXh0ID0gYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwgMHg0MDAgKyAweDM4LCAyKTsKKwlpZiAoIWV4dCkKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKwllbHNlIGlmIChtZW1jbXAoZXh0LCAiXDEyM1wzNTciLCAyKSA9PSAwKQorCQlyZXR1cm4gMTsKKworCWJsa2lkX3Byb2JlX3NwcmludGZfdmVyc2lvbihwciwgIiVkIiwgdmVyc2lvbik7CisJcmV0dXJuIDA7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gbWluaXhfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAibWluaXgiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9taW5peCwKKwkubWFnaWNzCQk9CisJeworCQkvKiB2ZXJzaW9uIDEgLSBMRSAqLworCQl7IC5tYWdpYyA9ICJcMTc3XDAyMyIsIC5sZW4gPSAyLCAua2JvZmYgPSAxLCAuc2JvZmYgPSAweDEwIH0sCisJCXsgLm1hZ2ljID0gIlwyMTdcMDIzIiwgLmxlbiA9IDIsIC5rYm9mZiA9IDEsIC5zYm9mZiA9IDB4MTAgfSwKKworCQkvKiB2ZXJzaW9uIDEgLSBCRSAqLworCQl7IC5tYWdpYyA9ICJcMDIzXDE3NyIsIC5sZW4gPSAyLCAua2JvZmYgPSAxLCAuc2JvZmYgPSAweDEwIH0sCisJCXsgLm1hZ2ljID0gIlwwMjNcMjE3IiwgLmxlbiA9IDIsIC5rYm9mZiA9IDEsIC5zYm9mZiA9IDB4MTAgfSwKKworCQkvKiB2ZXJzaW9uIDIgLSBMRSAqLworCQl7IC5tYWdpYyA9ICJcMTUwXDA0NCIsIC5sZW4gPSAyLCAua2JvZmYgPSAxLCAuc2JvZmYgPSAweDEwIH0sCisJCXsgLm1hZ2ljID0gIlwxNzBcMDQ0IiwgLmxlbiA9IDIsIC5rYm9mZiA9IDEsIC5zYm9mZiA9IDB4MTAgfSwKKworCQkvKiB2ZXJzaW9uIDIgLSBCRSAqLworCQl7IC5tYWdpYyA9ICJcMDQ0XDE1MCIsIC5sZW4gPSAyLCAua2JvZmYgPSAxLCAuc2JvZmYgPSAweDEwIH0sCisJCXsgLm1hZ2ljID0gIlwwNDRcMTcwIiwgLmxlbiA9IDIsIC5rYm9mZiA9IDEsIC5zYm9mZiA9IDB4MTAgfSwKKworCQkvKiB2ZXJzaW9uIDMgLSBMRSAqLworCQl7IC5tYWdpYyA9ICJcMTMyXDExNSIsIC5sZW4gPSAyLCAua2JvZmYgPSAxLCAuc2JvZmYgPSAweDE4IH0sCisKKwkJLyogdmVyc2lvbiAzIC0gQkUgKi8KKwkJeyAubWFnaWMgPSAiXDExNVwxMzIiLCAubGVuID0gMiwgLmtib2ZmID0gMSwgLnNib2ZmID0gMHgxOCB9LAorCisJCXsgTlVMTCB9CisJfQorfTsKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL25ldHdhcmUuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9uZXR3YXJlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWY4MWNmNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9uZXR3YXJlLmMKQEAgLTAsMCArMSw5NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBJbnNwaXJlZCBieSBsaWJ2b2x1bWVfaWQgYnkKKyAqICAgICBLYXkgU2lldmVycyA8a2F5LnNpZXZlcnNAdnJmeS5vcmc+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCitzdHJ1Y3QgbmV0d2FyZV9zdXBlcl9ibG9jayB7CisJdWludDhfdAkJU0JIX1NpZ25hdHVyZVs0XTsKKwl1aW50MTZfdAlTQkhfVmVyc2lvbk1ham9yOworCXVpbnQxNl90CVNCSF9WZXJzaW9uTWlub3I7CisJdWludDE2X3QJU0JIX1ZlcnNpb25NZWRpYU1ham9yOworCXVpbnQxNl90CVNCSF9WZXJzaW9uTWVkaWFNaW5vcjsKKwl1aW50MzJfdAlTQkhfSXRlbXNNb3ZlZDsKKwl1aW50OF90CQlTQkhfSW50ZXJuYWxJRFsxNl07CisJdWludDMyX3QJU0JIX1BhY2tlZFNpemU7CisJdWludDMyX3QJU0JIX0NoZWNrc3VtOworCXVpbnQzMl90CXN1cGVyc3luY2lkOworCWludDY0X3QJCXN1cGVybG9jYXRpb25bNF07CisJdWludDMyX3QJcGh5c1NpemVVc2VkOworCXVpbnQzMl90CXNpemVVc2VkOworCXVpbnQzMl90CXN1cGVyVGltZVN0YW1wOworCXVpbnQzMl90CXJlc2VydmVkMFsxXTsKKwlpbnQ2NF90CQlTQkhfTG9nZ2VkUG9vbERhdGFCbGs7CisJaW50NjRfdAkJU0JIX1Bvb2xEYXRhQmxrOworCXVpbnQ4X3QJCVNCSF9PbGRJbnRlcm5hbElEWzE2XTsKKwl1aW50MzJfdAlTQkhfUG9vbFRvTFZTdGFydFVUQzsKKwl1aW50MzJfdAlTQkhfUG9vbFRvTFZFbmRVVEM7CisJdWludDE2X3QJU0JIX1ZlcnNpb25NZWRpYU1ham9yQ3JlYXRlOworCXVpbnQxNl90CVNCSF9WZXJzaW9uTWVkaWFNaW5vckNyZWF0ZTsKKwl1aW50MzJfdAlTQkhfQmxvY2tzTW92ZWQ7CisJdWludDMyX3QJU0JIX1RlbXBCVFNwQmxrOworCXVpbnQzMl90CVNCSF9UZW1wRlRTcEJsazsKKwl1aW50MzJfdAlTQkhfVGVtcEZUU3BCbGsxOworCXVpbnQzMl90CVNCSF9UZW1wRlRTcEJsazI7CisJdWludDMyX3QJbnNzTWFnaWNOdW1iZXI7CisJdWludDMyX3QJcG9vbENsYXNzSUQ7CisJdWludDMyX3QJcG9vbElEOworCXVpbnQzMl90CWNyZWF0ZVRpbWU7CisJaW50NjRfdAkJU0JIX0xvZ2dlZFZvbHVtZURhdGFCbGs7CisJaW50NjRfdAkJU0JIX1ZvbHVtZURhdGFCbGs7CisJaW50NjRfdAkJU0JIX1N5c3RlbUJlYXN0QmxrTnVtOworCXVpbnQ2NF90CXRvdGFsYmxvY2tzOworCXVpbnQxNl90CVNCSF9OYW1lWzY0XTsKKwl1aW50OF90CQlTQkhfVm9sdW1lSURbMTZdOworCXVpbnQ4X3QJCVNCSF9Qb29sSURbMTZdOworCXVpbnQ4X3QJCVNCSF9Qb29sSW50ZXJuYWxJRFsxNl07CisJdWludDY0X3QJU0JIX0xzbjsKKwl1aW50MzJfdAlTQkhfU1NfRW5hYmxlZDsKKwl1aW50MzJfdAlTQkhfU1NfQ3JlYXRlVGltZTsKKwl1aW50OF90CQlTQkhfU1NfT3JpZ2luYWxQb29sSURbMTZdOworCXVpbnQ4X3QJCVNCSF9TU19PcmlnaW5hbFZvbHVtZUlEWzE2XTsKKwl1aW50OF90CQlTQkhfU1NfR3VpZFsxNl07CisJdWludDE2X3QJU0JIX1NTX09yaWdpbmFsTmFtZVs2NF07CisJdWludDMyX3QJcmVzZXJ2ZWQyWzY0LSgyKzQ2KV07Cit9IF9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKTsKKworc3RhdGljIGludCBwcm9iZV9uZXR3YXJlKGJsa2lkX3Byb2JlIHByLCBjb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZykKK3sKKwlzdHJ1Y3QgbmV0d2FyZV9zdXBlcl9ibG9jayAqbnc7CisKKwludyA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3QgbmV0d2FyZV9zdXBlcl9ibG9jayk7CisJaWYgKCFudykKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCWJsa2lkX3Byb2JlX3NldF91dWlkKHByLCBudy0+U0JIX1Bvb2xJRCk7CisKKwlibGtpZF9wcm9iZV9zcHJpbnRmX3ZlcnNpb24ocHIsICIldS4lMDJ1IiwKKwkJIGxlMTZfdG9fY3B1KG53LT5TQkhfVmVyc2lvbk1lZGlhTWFqb3IpLAorCQkgbGUxNl90b19jcHUobnctPlNCSF9WZXJzaW9uTWVkaWFNaW5vcikpOworCisJcmV0dXJuIDA7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gbmV0d2FyZV9pZGluZm8gPQoreworCS5uYW1lCQk9ICJuc3MiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9uZXR3YXJlLAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gIlNQQjUiLCAubGVuID0gNCwgLmtib2ZmID0gNCB9LAorCQl7IE5VTEwgfQorCX0KK307CisKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL25pbGZzLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbmlsZnMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NTUzOGVmCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL25pbGZzLmMKQEAgLTAsMCArMSwxNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgYnkgSmlybyBTRUtJQkEgPGppckB1bmljdXMuanA+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICovCisjaW5jbHVkZSA8c3RkZGVmLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorI2luY2x1ZGUgImNyYzMyLmgiCisKK3N0cnVjdCBuaWxmc19zdXBlcl9ibG9jayB7CisJdWludDMyX3QJc19yZXZfbGV2ZWw7CisJdWludDE2X3QJc19taW5vcl9yZXZfbGV2ZWw7CisJdWludDE2X3QJc19tYWdpYzsKKworCXVpbnQxNl90CXNfYnl0ZXM7CisKKwl1aW50MTZfdAlzX2ZsYWdzOworCXVpbnQzMl90CXNfY3JjX3NlZWQ7CisJdWludDMyX3QJc19zdW07CisKKwl1aW50MzJfdAlzX2xvZ19ibG9ja19zaXplOworCisJdWludDY0X3QJc19uc2VnbWVudHM7CisJdWludDY0X3QJc19kZXZfc2l6ZTsKKwl1aW50NjRfdAlzX2ZpcnN0X2RhdGFfYmxvY2s7CisJdWludDMyX3QJc19ibG9ja3NfcGVyX3NlZ21lbnQ7CisJdWludDMyX3QJc19yX3NlZ21lbnRzX3BlcmNlbnRhZ2U7CisKKwl1aW50NjRfdAlzX2xhc3RfY25vOworCXVpbnQ2NF90CXNfbGFzdF9wc2VnOworCXVpbnQ2NF90CXNfbGFzdF9zZXE7CisJdWludDY0X3QJc19mcmVlX2Jsb2Nrc19jb3VudDsKKworCXVpbnQ2NF90CXNfY3RpbWU7CisKKwl1aW50NjRfdAlzX210aW1lOworCXVpbnQ2NF90CXNfd3RpbWU7CisJdWludDE2X3QJc19tbnRfY291bnQ7CisJdWludDE2X3QJc19tYXhfbW50X2NvdW50OworCXVpbnQxNl90CXNfc3RhdGU7CisJdWludDE2X3QJc19lcnJvcnM7CisJdWludDY0X3QJc19sYXN0Y2hlY2s7CisKKwl1aW50MzJfdAlzX2NoZWNraW50ZXJ2YWw7CisJdWludDMyX3QJc19jcmVhdG9yX29zOworCXVpbnQxNl90CXNfZGVmX3Jlc3VpZDsKKwl1aW50MTZfdAlzX2RlZl9yZXNnaWQ7CisJdWludDMyX3QJc19maXJzdF9pbm87CisKKwl1aW50MTZfdAlzX2lub2RlX3NpemU7CisJdWludDE2X3QJc19kYXRfZW50cnlfc2l6ZTsKKwl1aW50MTZfdAlzX2NoZWNrcG9pbnRfc2l6ZTsKKwl1aW50MTZfdAlzX3NlZ21lbnRfdXNhZ2Vfc2l6ZTsKKworCXVpbnQ4X3QJCXNfdXVpZFsxNl07CisJY2hhcgkJc192b2x1bWVfbmFtZVs4MF07CisKKwl1aW50MzJfdAlzX2NfaW50ZXJ2YWw7CisJdWludDMyX3QJc19jX2Jsb2NrX21heDsKKwl1aW50MzJfdAlzX3Jlc2VydmVkWzE5Ml07Cit9OworCisjZGVmaW5lIE5JTEZTX1NCX01BR0lDCQkweDM0MzQKKyNkZWZpbmUgTklMRlNfU0JfT0ZGU0VUCQkweDQwMAorI2RlZmluZSBOSUxGU19TQkJfT0ZGU0VUKF9zeikJKCgoKF9zeikgLyAweDIwMCkgLSA4KSAqIDB4MjAwKQorCitzdGF0aWMgaW50IG5pbGZzX3ZhbGlkX3NiKGJsa2lkX3Byb2JlIHByLCBzdHJ1Y3QgbmlsZnNfc3VwZXJfYmxvY2sgKnNiLCBpbnQgaXNfYmFrKQoreworCXN0YXRpYyB1bnNpZ25lZCBjaGFyIHN1bVs0XTsKKwljb25zdCBpbnQgc3Vtb2ZmID0gb2Zmc2V0b2Yoc3RydWN0IG5pbGZzX3N1cGVyX2Jsb2NrLCBzX3N1bSk7CisJc2l6ZV90IGJ5dGVzOworCWNvbnN0IHNpemVfdCBjcmNfc3RhcnQgPSBzdW1vZmYgKyA0OworCXVpbnQzMl90IGNyYzsKKworCWlmICghc2IgfHwgbGUxNl90b19jcHUoc2ItPnNfbWFnaWMpICE9IE5JTEZTX1NCX01BR0lDKQorCQlyZXR1cm4gMDsKKworCWlmIChpc19iYWsgJiYgYmxraWRfcHJvYmVfaXNfd2hvbGVkaXNrKHByKSAmJgorCSAgICBzYi0+c19kZXZfc2l6ZSAhPSBwci0+c2l6ZSkKKwkJcmV0dXJuIDA7CisKKwlieXRlcyA9IGxlMTZfdG9fY3B1KHNiLT5zX2J5dGVzKTsKKwkvKiBlbnN1cmUgdGhhdCBubyB1bmRlcnJ1biBjYW4gaGFwcGVuIGluIHRoZSBsZW5ndGggcGFyYW1ldGVyCisJICogb2YgdGhlIGNyYzMyIGNhbGwgb3IgbW9yZSBkYXRhIGFyZSBwcm9jZXNzZWQgdGhhbiByZWFkIGludG8KKwkgKiBzYiAqLworCWlmIChieXRlcyA8IGNyY19zdGFydCB8fCBieXRlcyA+IHNpemVvZihzdHJ1Y3QgbmlsZnNfc3VwZXJfYmxvY2spKQorCQlyZXR1cm4gMDsKKworCWNyYyA9IHVsX2NyYzMyKGxlMzJfdG9fY3B1KHNiLT5zX2NyY19zZWVkKSwgKHVuc2lnbmVkIGNoYXIgKilzYiwgc3Vtb2ZmKTsKKwljcmMgPSB1bF9jcmMzMihjcmMsIHN1bSwgNCk7CisJY3JjID0gdWxfY3JjMzIoY3JjLCAodW5zaWduZWQgY2hhciAqKXNiICsgY3JjX3N0YXJ0LCBieXRlcyAtIGNyY19zdGFydCk7CisKKwlyZXR1cm4gYmxraWRfcHJvYmVfdmVyaWZ5X2NzdW0ocHIsIGNyYywgbGUzMl90b19jcHUoc2ItPnNfc3VtKSk7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfbmlsZnMyKGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJc3RydWN0IG5pbGZzX3N1cGVyX2Jsb2NrICpzYiwgKnNicCwgKnNiYjsKKwlpbnQgdmFsaWRbMl0sIHN3cCA9IDA7CisJdWludDY0X3QgbWFnb2ZmOworCisJLyogcHJpbWFyeSAqLworCXNicCA9IChzdHJ1Y3QgbmlsZnNfc3VwZXJfYmxvY2sgKikgYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcigKKwkJCXByLCBOSUxGU19TQl9PRkZTRVQsIHNpemVvZihzdHJ1Y3QgbmlsZnNfc3VwZXJfYmxvY2spKTsKKwlpZiAoIXNicCkKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCXZhbGlkWzBdID0gbmlsZnNfdmFsaWRfc2IocHIsIHNicCwgMCk7CisKKworCS8qIGJhY2t1cCAqLworCXNiYiA9IChzdHJ1Y3QgbmlsZnNfc3VwZXJfYmxvY2sgKikgYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcigKKwkJCXByLCBOSUxGU19TQkJfT0ZGU0VUKHByLT5zaXplKSwgc2l6ZW9mKHN0cnVjdCBuaWxmc19zdXBlcl9ibG9jaykpOworCWlmICghc2JiKSB7CisJCXZhbGlkWzFdID0gMDsKKworCQkvKiBJZiB0aGUgcHJpbWFyeSBibG9jayBpcyB2YWxpZCB0aGVuIGNvbnRpbnVlIGFuZCBpZ25vcmUgYWxzbworCQkgKiBJL08gZXJyb3JzIGZvciBiYWNrdXAgYmxvY2suIE5vdGUgdGhlIHRoaXMgaXMgcHJvYmFibHkgQ0QKKwkJICogd2hlcmUgSS9PIGVycm9ycyBhbmQgdGhlIGVuZCBvZiB0aGUgZGlzay9zZXNzaW9uIGFyZSAibm9ybWFsIi4KKwkJICovCisJCWlmICghdmFsaWRbMF0pCisJCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCX0gZWxzZQorCQl2YWxpZFsxXSA9IG5pbGZzX3ZhbGlkX3NiKHByLCBzYmIsIDEpOworCisKKwkvKgorCSAqIENvbXBhcmUgdHdvIHN1cGVyIGJsb2NrcyBhbmQgc2V0IDEgaW4gc3dwIGlmIHRoZSBzZWNvbmRhcnkKKwkgKiBzdXBlciBibG9jayBpcyB2YWxpZCBhbmQgbmV3ZXIuICBPdGhlcndpc2UsIHNldCAwIGluIHN3cC4KKwkgKi8KKwlpZiAoIXZhbGlkWzBdICYmICF2YWxpZFsxXSkKKwkJcmV0dXJuIDE7CisKKwlzd3AgPSB2YWxpZFsxXSAmJiAoIXZhbGlkWzBdIHx8CisJCQkgICBsZTY0X3RvX2NwdShzYnAtPnNfbGFzdF9jbm8pID4KKwkJCSAgIGxlNjRfdG9fY3B1KHNiYi0+c19sYXN0X2NubykpOworCXNiID0gc3dwID8gc2JiIDogc2JwOworCisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygibmlsZnMyOiBwcmltYXJ5PSVkLCBiYWNrdXA9JWQsIHN3YXA9JWQiLAorCQkJCXZhbGlkWzBdLCB2YWxpZFsxXSwgc3dwKSk7CisKKwlpZiAoKihzYi0+c192b2x1bWVfbmFtZSkgIT0gJ1wwJykKKwkJYmxraWRfcHJvYmVfc2V0X2xhYmVsKHByLCAodW5zaWduZWQgY2hhciAqKSBzYi0+c192b2x1bWVfbmFtZSwKKwkJCQkgICAgICBzaXplb2Yoc2ItPnNfdm9sdW1lX25hbWUpKTsKKworCWJsa2lkX3Byb2JlX3NldF91dWlkKHByLCBzYi0+c191dWlkKTsKKwlibGtpZF9wcm9iZV9zcHJpbnRmX3ZlcnNpb24ocHIsICIldSIsIGxlMzJfdG9fY3B1KHNiLT5zX3Jldl9sZXZlbCkpOworCisJbWFnb2ZmID0gc3dwID8gTklMRlNfU0JCX09GRlNFVChwci0+c2l6ZSkgOiBOSUxGU19TQl9PRkZTRVQ7CisJbWFnb2ZmICs9IG9mZnNldG9mKHN0cnVjdCBuaWxmc19zdXBlcl9ibG9jaywgc19tYWdpYyk7CisKKwlpZiAoYmxraWRfcHJvYmVfc2V0X21hZ2ljKHByLCBtYWdvZmYsIHNpemVvZihzYi0+c19tYWdpYyksCisJCQkJKHVuc2lnbmVkIGNoYXIgKikgJnNiLT5zX21hZ2ljKSkKKwkJcmV0dXJuIDE7CisKKwlyZXR1cm4gMDsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBuaWxmczJfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAibmlsZnMyIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfbmlsZnMyLAorCS8qIGRlZmF1bHQgbWluLnNpemUgaXMgMTI4TWlCLCBidXQgMU1pQiBmb3IgIm1rZnMubmlsZnMyIC1iIDEwMjQgLUIgMTYiICovCisJLm1pbnN6CQk9ICgxMDI0ICogMTAyNCksCisJLm1hZ2ljcwkJPSBCTEtJRF9OT05FX01BR0lDCit9OwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL250ZnMuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9udGZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzUxNTgxMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9udGZzLmMKQEAgLTAsMCArMSwyMjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQgS2F5IFNpZXZlcnMgPGtheS5zaWV2ZXJzQHZyZnkub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDA4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGludHR5cGVzLmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCitzdHJ1Y3QgbnRmc19iaW9zX3BhcmFtZXRlcnMgeworCXVpbnQxNl90CXNlY3Rvcl9zaXplOwkvKiBTaXplIG9mIGEgc2VjdG9yIGluIGJ5dGVzLiAqLworCXVpbnQ4X3QJCXNlY3RvcnNfcGVyX2NsdXN0ZXI7CS8qIFNpemUgb2YgYSBjbHVzdGVyIGluIHNlY3RvcnMuICovCisJdWludDE2X3QJcmVzZXJ2ZWRfc2VjdG9yczsJLyogemVybyAqLworCXVpbnQ4X3QJCWZhdHM7CQkJLyogemVybyAqLworCXVpbnQxNl90CXJvb3RfZW50cmllczsJCS8qIHplcm8gKi8KKwl1aW50MTZfdAlzZWN0b3JzOwkJLyogemVybyAqLworCXVpbnQ4X3QJCW1lZGlhX3R5cGU7CQkvKiAweGY4ID0gaGFyZCBkaXNrICovCisJdWludDE2X3QJc2VjdG9yc19wZXJfZmF0OwkvKiB6ZXJvICovCisJdWludDE2X3QJc2VjdG9yc19wZXJfdHJhY2s7CS8qIGlycmVsZXZhbnQgKi8KKwl1aW50MTZfdAloZWFkczsJCQkvKiBpcnJlbGV2YW50ICovCisJdWludDMyX3QJaGlkZGVuX3NlY3RvcnM7CQkvKiB6ZXJvICovCisJdWludDMyX3QJbGFyZ2Vfc2VjdG9yczsJCS8qIHplcm8gKi8KK30gX19hdHRyaWJ1dGVfXyAoKF9fcGFja2VkX18pKTsKKworc3RydWN0IG50ZnNfc3VwZXJfYmxvY2sgeworCXVpbnQ4X3QJCWp1bXBbM107CisJdWludDhfdAkJb2VtX2lkWzhdOwkvKiBtYWdpYyBzdHJpbmcgKi8KKworCXN0cnVjdCBudGZzX2Jpb3NfcGFyYW1ldGVycwlicGI7CisKKwl1aW50MTZfdAl1bnVzZWRbMl07CisJdWludDY0X3QJbnVtYmVyX29mX3NlY3RvcnM7CisJdWludDY0X3QJbWZ0X2NsdXN0ZXJfbG9jYXRpb247CisJdWludDY0X3QJbWZ0X21pcnJvcl9jbHVzdGVyX2xvY2F0aW9uOworCWludDhfdAkJY2x1c3RlcnNfcGVyX21mdF9yZWNvcmQ7CisJdWludDhfdAkJcmVzZXJ2ZWQxWzNdOworCWludDhfdAkJY2x1c3Rlcl9wZXJfaW5kZXhfcmVjb3JkOworCXVpbnQ4X3QJCXJlc2VydmVkMlszXTsKKwl1aW50NjRfdAl2b2x1bWVfc2VyaWFsOworCXVpbnQzMl90CWNoZWNrc3VtOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RydWN0IG1hc3Rlcl9maWxlX3RhYmxlX3JlY29yZCB7CisJdWludDMyX3QJbWFnaWM7CisJdWludDE2X3QJdXNhX29mczsKKwl1aW50MTZfdAl1c2FfY291bnQ7CisJdWludDY0X3QJbHNuOworCXVpbnQxNl90CXNlcXVlbmNlX251bWJlcjsKKwl1aW50MTZfdAlsaW5rX2NvdW50OworCXVpbnQxNl90CWF0dHJzX29mZnNldDsKKwl1aW50MTZfdAlmbGFnczsKKwl1aW50MzJfdAlieXRlc19pbl91c2U7CisJdWludDMyX3QJYnl0ZXNfYWxsb2NhdGVkOworfSBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSk7CisKK3N0cnVjdCBmaWxlX2F0dHJpYnV0ZSB7CisJdWludDMyX3QJdHlwZTsKKwl1aW50MzJfdAlsZW47CisJdWludDhfdAkJbm9uX3Jlc2lkZW50OworCXVpbnQ4X3QJCW5hbWVfbGVuOworCXVpbnQxNl90CW5hbWVfb2Zmc2V0OworCXVpbnQxNl90CWZsYWdzOworCXVpbnQxNl90CWluc3RhbmNlOworCXVpbnQzMl90CXZhbHVlX2xlbjsKKwl1aW50MTZfdAl2YWx1ZV9vZmZzZXQ7Cit9IF9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKTsKKworI2RlZmluZSBNRlRfUkVDT1JEX1ZPTFVNRQkzCisjZGVmaW5lIE5URlNfTUFYX0NMVVNURVJfU0laRQkoNjQgKiAxMDI0KQorCitlbnVtIHsKKwlNRlRfUkVDT1JEX0FUVFJfVk9MVU1FX05BTUUJCT0gMHg2MCwKKwlNRlRfUkVDT1JEX0FUVFJfRU5ECQkJPSAweGZmZmZmZmZmCit9OworCitzdGF0aWMgaW50IHByb2JlX250ZnMoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCXN0cnVjdCBudGZzX3N1cGVyX2Jsb2NrICpuczsKKwlzdHJ1Y3QgbWFzdGVyX2ZpbGVfdGFibGVfcmVjb3JkICptZnQ7CisKKwl1aW50MzJfdCBzZWN0b3JzX3Blcl9jbHVzdGVyLCBtZnRfcmVjb3JkX3NpemUsIGF0dHJfb2ZmOworCXVpbnQxNl90IHNlY3Rvcl9zaXplOworCXVpbnQ2NF90IG5yX2NsdXN0ZXJzLCBvZmY7CisJdW5zaWduZWQgY2hhciAqYnVmX21mdDsKKworCW5zID0gYmxraWRfcHJvYmVfZ2V0X3NiKHByLCBtYWcsIHN0cnVjdCBudGZzX3N1cGVyX2Jsb2NrKTsKKwlpZiAoIW5zKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJLyoKKwkgKiBDaGVjayBiaW9zIHBhcmFtZXRlcnMgYmxvY2sKKwkgKi8KKwlzZWN0b3Jfc2l6ZSA9IGxlMTZfdG9fY3B1KG5zLT5icGIuc2VjdG9yX3NpemUpOworCXNlY3RvcnNfcGVyX2NsdXN0ZXIgPSBucy0+YnBiLnNlY3RvcnNfcGVyX2NsdXN0ZXI7CisKKwlpZiAoc2VjdG9yX3NpemUgPCAyNTYgfHwgc2VjdG9yX3NpemUgPiA0MDk2KQorCQlyZXR1cm4gMTsKKworCXN3aXRjaCAoc2VjdG9yc19wZXJfY2x1c3RlcikgeworCWNhc2UgMTogY2FzZSAyOiBjYXNlIDQ6IGNhc2UgODogY2FzZSAxNjogY2FzZSAzMjogY2FzZSA2NDogY2FzZSAxMjg6CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAxOworCX0KKworCWlmICgodWludDE2X3QpIGxlMTZfdG9fY3B1KG5zLT5icGIuc2VjdG9yX3NpemUpICoKKwkJCW5zLT5icGIuc2VjdG9yc19wZXJfY2x1c3RlciA+IE5URlNfTUFYX0NMVVNURVJfU0laRSkKKwkJcmV0dXJuIDE7CisKKwkvKiBVbnVzZWQgZmllbGRzIG11c3QgYmUgemVybyAqLworCWlmIChsZTE2X3RvX2NwdShucy0+YnBiLnJlc2VydmVkX3NlY3RvcnMpCisJICAgIHx8IGxlMTZfdG9fY3B1KG5zLT5icGIucm9vdF9lbnRyaWVzKQorCSAgICB8fCBsZTE2X3RvX2NwdShucy0+YnBiLnNlY3RvcnMpCisJICAgIHx8IGxlMTZfdG9fY3B1KG5zLT5icGIuc2VjdG9yc19wZXJfZmF0KQorCSAgICB8fCBsZTMyX3RvX2NwdShucy0+YnBiLmxhcmdlX3NlY3RvcnMpCisJICAgIHx8IG5zLT5icGIuZmF0cykKKwkJcmV0dXJuIDE7CisKKwlpZiAoKHVpbnQ4X3QpIG5zLT5jbHVzdGVyc19wZXJfbWZ0X3JlY29yZCA8IDB4ZTEKKwkgICAgfHwgKHVpbnQ4X3QpIG5zLT5jbHVzdGVyc19wZXJfbWZ0X3JlY29yZCA+IDB4ZjcpIHsKKworCQlzd2l0Y2ggKG5zLT5jbHVzdGVyc19wZXJfbWZ0X3JlY29yZCkgeworCQljYXNlIDE6IGNhc2UgMjogY2FzZSA0OiBjYXNlIDg6IGNhc2UgMTY6IGNhc2UgMzI6IGNhc2UgNjQ6CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXJldHVybiAxOworCQl9CisJfQorCisJaWYgKG5zLT5jbHVzdGVyc19wZXJfbWZ0X3JlY29yZCA+IDApCisJCW1mdF9yZWNvcmRfc2l6ZSA9IG5zLT5jbHVzdGVyc19wZXJfbWZ0X3JlY29yZCAqCisJCQkJICBzZWN0b3JzX3Blcl9jbHVzdGVyICogc2VjdG9yX3NpemU7CisJZWxzZQorCQltZnRfcmVjb3JkX3NpemUgPSAxIDw8ICgwIC0gbnMtPmNsdXN0ZXJzX3Blcl9tZnRfcmVjb3JkKTsKKworCW5yX2NsdXN0ZXJzID0gbGU2NF90b19jcHUobnMtPm51bWJlcl9vZl9zZWN0b3JzKSAvIHNlY3RvcnNfcGVyX2NsdXN0ZXI7CisKKwlpZiAoKGxlNjRfdG9fY3B1KG5zLT5tZnRfY2x1c3Rlcl9sb2NhdGlvbikgPiBucl9jbHVzdGVycykgfHwKKwkgICAgKGxlNjRfdG9fY3B1KG5zLT5tZnRfbWlycm9yX2NsdXN0ZXJfbG9jYXRpb24pID4gbnJfY2x1c3RlcnMpKQorCQlyZXR1cm4gMTsKKworCisJb2ZmID0gbGU2NF90b19jcHUobnMtPm1mdF9jbHVzdGVyX2xvY2F0aW9uKSAqIHNlY3Rvcl9zaXplICoKKwkJc2VjdG9yc19wZXJfY2x1c3RlcjsKKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIk5URlM6IHNlY3Rvcl9zaXplPSUiUFJJdTE2IiwgbWZ0X3JlY29yZF9zaXplPSUiUFJJdTMyIiwgIgorCQkJInNlY3RvcnNfcGVyX2NsdXN0ZXI9JSJQUkl1MzIiLCBucl9jbHVzdGVycz0lIlBSSXU2NCIgIgorCQkJImNsdXN0ZXJfb2Zmc2V0PSUiUFJJdTY0IiIsCisJCQlzZWN0b3Jfc2l6ZSwgbWZ0X3JlY29yZF9zaXplLAorCQkJc2VjdG9yc19wZXJfY2x1c3RlciwgbnJfY2x1c3RlcnMsCisJCQlvZmYpKTsKKworCWJ1Zl9tZnQgPSBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLCBvZmYsIG1mdF9yZWNvcmRfc2l6ZSk7CisJaWYgKCFidWZfbWZ0KQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJaWYgKG1lbWNtcChidWZfbWZ0LCAiRklMRSIsIDQpKQorCQlyZXR1cm4gMTsKKworCW9mZiArPSBNRlRfUkVDT1JEX1ZPTFVNRSAqIG1mdF9yZWNvcmRfc2l6ZTsKKworCWJ1Zl9tZnQgPSBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLCBvZmYsIG1mdF9yZWNvcmRfc2l6ZSk7CisJaWYgKCFidWZfbWZ0KQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJaWYgKG1lbWNtcChidWZfbWZ0LCAiRklMRSIsIDQpKQorCQlyZXR1cm4gMTsKKworCW1mdCA9IChzdHJ1Y3QgbWFzdGVyX2ZpbGVfdGFibGVfcmVjb3JkICopIGJ1Zl9tZnQ7CisJYXR0cl9vZmYgPSBsZTE2X3RvX2NwdShtZnQtPmF0dHJzX29mZnNldCk7CisKKwl3aGlsZSAoYXR0cl9vZmYgPCBtZnRfcmVjb3JkX3NpemUgJiYKKwkgICAgICAgYXR0cl9vZmYgPD0gbGUzMl90b19jcHUobWZ0LT5ieXRlc19hbGxvY2F0ZWQpKSB7CisKKwkJdWludDMyX3QgYXR0cl9sZW47CisJCXN0cnVjdCBmaWxlX2F0dHJpYnV0ZSAqYXR0cjsKKworCQlhdHRyID0gKHN0cnVjdCBmaWxlX2F0dHJpYnV0ZSAqKSAoYnVmX21mdCArIGF0dHJfb2ZmKTsKKwkJYXR0cl9sZW4gPSBsZTMyX3RvX2NwdShhdHRyLT5sZW4pOworCQlpZiAoIWF0dHJfbGVuKQorCQkJYnJlYWs7CisKKwkJaWYgKGxlMzJfdG9fY3B1KGF0dHItPnR5cGUpID09IE1GVF9SRUNPUkRfQVRUUl9FTkQpCisJCQlicmVhazsKKwkJaWYgKGxlMzJfdG9fY3B1KGF0dHItPnR5cGUpID09IE1GVF9SRUNPUkRfQVRUUl9WT0xVTUVfTkFNRSkgeworCQkJdW5zaWduZWQgaW50IHZhbF9vZmYgPSBsZTE2X3RvX2NwdShhdHRyLT52YWx1ZV9vZmZzZXQpOworCQkJdW5zaWduZWQgaW50IHZhbF9sZW4gPSBsZTMyX3RvX2NwdShhdHRyLT52YWx1ZV9sZW4pOworCQkJdW5zaWduZWQgY2hhciAqdmFsID0gKCh1aW50OF90ICopIGF0dHIpICsgdmFsX29mZjsKKworCQkJYmxraWRfcHJvYmVfc2V0X3V0ZjhsYWJlbChwciwgdmFsLCB2YWxfbGVuLCBCTEtJRF9FTkNfVVRGMTZMRSk7CisJCQlicmVhazsKKwkJfQorCisJCWlmIChVSU5UX01BWCAtIGF0dHJfbGVuIDwgYXR0cl9vZmYpCisJCQlicmVhazsKKwkJYXR0cl9vZmYgKz0gYXR0cl9sZW47CisJfQorCisJYmxraWRfcHJvYmVfc3ByaW50Zl91dWlkKHByLAorCQkJKHVuc2lnbmVkIGNoYXIgKikgJm5zLT52b2x1bWVfc2VyaWFsLAorCQkJc2l6ZW9mKG5zLT52b2x1bWVfc2VyaWFsKSwKKwkJCSIlMDE2IiBQUklYNjQsIGxlNjRfdG9fY3B1KG5zLT52b2x1bWVfc2VyaWFsKSk7CisJcmV0dXJuIDA7Cit9CisKKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBudGZzX2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gIm50ZnMiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9udGZzLAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gIk5URlMgICAgIiwgLmxlbiA9IDgsIC5zYm9mZiA9IDMgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbnZpZGlhX3JhaWQuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9udmlkaWFfcmFpZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkYjhlYzIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbnZpZGlhX3JhaWQuYwpAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDA1IEtheSBTaWV2ZXJzIDxrYXkuc2lldmVyc0B2cmZ5Lm9yZz4KKyAqCisgKiBJbnNwaXJlZCBieSBsaWJ2b2x1bWVfaWQgYnkKKyAqICAgICBLYXkgU2lldmVycyA8a2F5LnNpZXZlcnNAdnJmeS5vcmc+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCitzdHJ1Y3QgbnZfbWV0YWRhdGEgeworCXVpbnQ4X3QJCXZlbmRvcls4XTsKKwl1aW50MzJfdAlzaXplOworCXVpbnQzMl90CWNoa3N1bTsKKwl1aW50MTZfdAl2ZXJzaW9uOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworI2RlZmluZSBOVklESUFfU0lHTkFUVVJFCQkiTlZJRElBIgorCitzdGF0aWMgaW50IHByb2JlX252cmFpZChibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXVpbnQ2NF90IG9mZjsKKwlzdHJ1Y3QgbnZfbWV0YWRhdGEgKm52OworCisJaWYgKHByLT5zaXplIDwgMHgxMDAwMCkKKwkJcmV0dXJuIDE7CisJaWYgKCFTX0lTUkVHKHByLT5tb2RlKSAmJiAhYmxraWRfcHJvYmVfaXNfd2hvbGVkaXNrKHByKSkKKwkJcmV0dXJuIDE7CisKKwlvZmYgPSAoKHByLT5zaXplIC8gMHgyMDApIC0gMikgKiAweDIwMDsKKwludiA9IChzdHJ1Y3QgbnZfbWV0YWRhdGEgKikKKwkJYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwKKwkJCQlvZmYsCisJCQkJc2l6ZW9mKHN0cnVjdCBudl9tZXRhZGF0YSkpOworCWlmICghbnYpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwlpZiAobWVtY21wKG52LT52ZW5kb3IsIE5WSURJQV9TSUdOQVRVUkUsIHNpemVvZihOVklESUFfU0lHTkFUVVJFKS0xKSAhPSAwKQorCQlyZXR1cm4gMTsKKwlpZiAoYmxraWRfcHJvYmVfc3ByaW50Zl92ZXJzaW9uKHByLCAiJXUiLCBsZTE2X3RvX2NwdShudi0+dmVyc2lvbikpICE9IDApCisJCXJldHVybiAxOworCWlmIChibGtpZF9wcm9iZV9zZXRfbWFnaWMocHIsIG9mZiwgc2l6ZW9mKG52LT52ZW5kb3IpLAorCQkJCSh1bnNpZ25lZCBjaGFyICopIG52LT52ZW5kb3IpKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBudnJhaWRfaWRpbmZvID0geworCS5uYW1lCQk9ICJudmlkaWFfcmFpZF9tZW1iZXIiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9SQUlELAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9udnJhaWQsCisJLm1hZ2ljcwkJPSBCTEtJRF9OT05FX01BR0lDCit9OworCisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9vY2ZzLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvb2Nmcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmZTE5OWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvb2Nmcy5jCkBAIC0wLDAgKzEsMjEzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAxOTk5LCAyMDAxIGJ5IEFuZHJpZXMgQnJvdXdlcgorICogQ29weXJpZ2h0IChDKSAxOTk5LCAyMDAwLCAyMDAzIGJ5IFRoZW9kb3JlIFRzJ28KKyAqIENvcHlyaWdodCAoQykgMjAwOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKK3N0cnVjdCBvY2ZzX3ZvbHVtZV9oZWFkZXIgeworCXVuc2lnbmVkIGNoYXIJbWlub3JfdmVyc2lvbls0XTsKKwl1bnNpZ25lZCBjaGFyCW1ham9yX3ZlcnNpb25bNF07CisJdW5zaWduZWQgY2hhcglzaWduYXR1cmVbMTI4XTsKKwljaGFyCQltb3VudFsxMjhdOworCXVuc2lnbmVkIGNoYXIgICBtb3VudF9sZW5bMl07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdHJ1Y3Qgb2Nmc192b2x1bWVfbGFiZWwgeworCXVuc2lnbmVkIGNoYXIJZGlza19sb2NrWzQ4XTsKKwljaGFyCQlsYWJlbFs2NF07CisJdW5zaWduZWQgY2hhcglsYWJlbF9sZW5bMl07CisJdW5zaWduZWQgY2hhciAgIHZvbF9pZFsxNl07CisJdW5zaWduZWQgY2hhciAgIHZvbF9pZF9sZW5bMl07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCisjZGVmaW5lIG9jZnNtYWpvcihvKSAoICh1aW50MzJfdCkgby5tYWpvcl92ZXJzaW9uWzBdIFwKKyAgICAgICAgICAgICAgICAgICArICgoKHVpbnQzMl90KSBvLm1ham9yX3ZlcnNpb25bMV0pIDw8IDgpIFwKKyAgICAgICAgICAgICAgICAgICArICgoKHVpbnQzMl90KSBvLm1ham9yX3ZlcnNpb25bMl0pIDw8IDE2KSBcCisgICAgICAgICAgICAgICAgICAgKyAoKCh1aW50MzJfdCkgby5tYWpvcl92ZXJzaW9uWzNdKSA8PCAyNCkpCisKKyNkZWZpbmUgb2Nmc21pbm9yKG8pICggKHVpbnQzMl90KSBvLm1pbm9yX3ZlcnNpb25bMF0gXAorICAgICAgICAgICAgICAgICAgICsgKCgodWludDMyX3QpIG8ubWlub3JfdmVyc2lvblsxXSkgPDwgOCkgXAorICAgICAgICAgICAgICAgICAgICsgKCgodWludDMyX3QpIG8ubWlub3JfdmVyc2lvblsyXSkgPDwgMTYpIFwKKyAgICAgICAgICAgICAgICAgICArICgoKHVpbnQzMl90KSBvLm1pbm9yX3ZlcnNpb25bM10pIDw8IDI0KSkKKworI2RlZmluZSBvY2ZzbGFiZWxsZW4obykJKCh1aW50MzJfdClvLmxhYmVsX2xlblswXSArICgoKHVpbnQzMl90KSBvLmxhYmVsX2xlblsxXSkgPDwgOCkpCisjZGVmaW5lIG9jZnNtb3VudGxlbihvKQkoKHVpbnQzMl90KW8ubW91bnRfbGVuWzBdICsgKCgodWludDMyX3QpIG8ubW91bnRfbGVuWzFdKSA8PCA4KSkKKworc3RydWN0IG9jZnMyX3N1cGVyX2Jsb2NrIHsKKwl1aW50OF90CQlpX3NpZ25hdHVyZVs4XTsKKwl1aW50MzJfdAlpX2dlbmVyYXRpb247CisJaW50MTZfdAkJaV9zdWJhbGxvY19zbG90OworCXVpbnQxNl90CWlfc3ViYWxsb2NfYml0OworCXVpbnQzMl90CWlfcmVzZXJ2ZWQwOworCXVpbnQzMl90CWlfY2x1c3RlcnM7CisJdWludDMyX3QJaV91aWQ7CisJdWludDMyX3QJaV9naWQ7CisJdWludDY0X3QJaV9zaXplOworCXVpbnQxNl90CWlfbW9kZTsKKwl1aW50MTZfdAlpX2xpbmtzX2NvdW50OworCXVpbnQzMl90CWlfZmxhZ3M7CisJdWludDY0X3QJaV9hdGltZTsKKwl1aW50NjRfdAlpX2N0aW1lOworCXVpbnQ2NF90CWlfbXRpbWU7CisJdWludDY0X3QJaV9kdGltZTsKKwl1aW50NjRfdAlpX2Jsa25vOworCXVpbnQ2NF90CWlfbGFzdF9lYl9ibGs7CisJdWludDMyX3QJaV9mc19nZW5lcmF0aW9uOworCXVpbnQzMl90CWlfYXRpbWVfbnNlYzsKKwl1aW50MzJfdAlpX2N0aW1lX25zZWM7CisJdWludDMyX3QJaV9tdGltZV9uc2VjOworCXVpbnQ2NF90CWlfcmVzZXJ2ZWQxWzldOworCXVpbnQ2NF90CWlfcGFkMTsKKwl1aW50MTZfdAlzX21ham9yX3Jldl9sZXZlbDsKKwl1aW50MTZfdAlzX21pbm9yX3Jldl9sZXZlbDsKKwl1aW50MTZfdAlzX21udF9jb3VudDsKKwlpbnQxNl90CQlzX21heF9tbnRfY291bnQ7CisJdWludDE2X3QJc19zdGF0ZTsKKwl1aW50MTZfdAlzX2Vycm9yczsKKwl1aW50MzJfdAlzX2NoZWNraW50ZXJ2YWw7CisJdWludDY0X3QJc19sYXN0Y2hlY2s7CisJdWludDMyX3QJc19jcmVhdG9yX29zOworCXVpbnQzMl90CXNfZmVhdHVyZV9jb21wYXQ7CisJdWludDMyX3QJc19mZWF0dXJlX2luY29tcGF0OworCXVpbnQzMl90CXNfZmVhdHVyZV9yb19jb21wYXQ7CisJdWludDY0X3QJc19yb290X2Jsa25vOworCXVpbnQ2NF90CXNfc3lzdGVtX2Rpcl9ibGtubzsKKwl1aW50MzJfdAlzX2Jsb2Nrc2l6ZV9iaXRzOworCXVpbnQzMl90CXNfY2x1c3RlcnNpemVfYml0czsKKwl1aW50MTZfdAlzX21heF9zbG90czsKKwl1aW50MTZfdAlzX3Jlc2VydmVkMTsKKwl1aW50MzJfdAlzX3Jlc2VydmVkMjsKKwl1aW50NjRfdAlzX2ZpcnN0X2NsdXN0ZXJfZ3JvdXA7CisJdWludDhfdAkJc19sYWJlbFs2NF07CisJdWludDhfdAkJc191dWlkWzE2XTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0cnVjdCBvcmFjbGVfYXNtX2Rpc2tfbGFiZWwgeworCWNoYXIgZHVtbXlbMzJdOworCWNoYXIgZGxfdGFnWzhdOworCWNoYXIgZGxfaWRbMjRdOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RhdGljIGludCBwcm9iZV9vY2ZzKGJsa2lkX3Byb2JlIHByLCBjb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZykKK3sKKwl1bnNpZ25lZCBjaGFyICpidWY7CisJc3RydWN0IG9jZnNfdm9sdW1lX2hlYWRlciBvdmg7CisJc3RydWN0IG9jZnNfdm9sdW1lX2xhYmVsIG92bDsKKwl1aW50MzJfdCBtYWosIG1pbjsKKworCS8qIGhlYWRlciAqLworCWJ1ZiA9IGJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsIG1hZy0+a2JvZmYgPDwgMTAsCisJCQlzaXplb2Yoc3RydWN0IG9jZnNfdm9sdW1lX2hlYWRlcikpOworCWlmICghYnVmKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCW1lbWNweSgmb3ZoLCBidWYsIHNpemVvZihvdmgpKTsKKworCS8qIGxhYmVsICovCisJYnVmID0gYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwgKG1hZy0+a2JvZmYgPDwgMTApICsgNTEyLAorCQkJc2l6ZW9mKHN0cnVjdCBvY2ZzX3ZvbHVtZV9sYWJlbCkpOworCWlmICghYnVmKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCW1lbWNweSgmb3ZsLCBidWYsIHNpemVvZihvdmwpKTsKKworCW1haiA9IG9jZnNtYWpvcihvdmgpOworCW1pbiA9IG9jZnNtaW5vcihvdmgpOworCisJaWYgKG1haiA9PSAxKQorCQlibGtpZF9wcm9iZV9zZXRfdmFsdWUocHIsICJTRUNfVFlQRSIsCisJCQkJKHVuc2lnbmVkIGNoYXIgKikgIm9jZnMxIiwgc2l6ZW9mKCJvY2ZzMSIpKTsKKwllbHNlIGlmIChtYWogPj0gOSkKKwkJYmxraWRfcHJvYmVfc2V0X3ZhbHVlKHByLCAiU0VDX1RZUEUiLAorCQkJCSh1bnNpZ25lZCBjaGFyICopICJudG9jZnMiLCBzaXplb2YoIm50b2NmcyIpKTsKKworCWJsa2lkX3Byb2JlX3NldF9sYWJlbChwciwgKHVuc2lnbmVkIGNoYXIgKikgb3ZsLmxhYmVsLAorCQkJCW9jZnNsYWJlbGxlbihvdmwpKTsKKwlibGtpZF9wcm9iZV9zZXRfdmFsdWUocHIsICJNT1VOVCIsICh1bnNpZ25lZCBjaGFyICopIG92aC5tb3VudCwKKwkJCQlvY2ZzbW91bnRsZW4ob3ZoKSk7CisJYmxraWRfcHJvYmVfc2V0X3V1aWQocHIsIG92bC52b2xfaWQpOworCWJsa2lkX3Byb2JlX3NwcmludGZfdmVyc2lvbihwciwgIiV1LiV1IiwgbWFqLCBtaW4pOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHByb2JlX29jZnMyKGJsa2lkX3Byb2JlIHByLCBjb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZykKK3sKKwlzdHJ1Y3Qgb2NmczJfc3VwZXJfYmxvY2sgKm9zYjsKKworCW9zYiA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3Qgb2NmczJfc3VwZXJfYmxvY2spOworCWlmICghb3NiKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJYmxraWRfcHJvYmVfc2V0X2xhYmVsKHByLCAodW5zaWduZWQgY2hhciAqKSBvc2ItPnNfbGFiZWwsIHNpemVvZihvc2ItPnNfbGFiZWwpKTsKKwlibGtpZF9wcm9iZV9zZXRfdXVpZChwciwgb3NiLT5zX3V1aWQpOworCisJYmxraWRfcHJvYmVfc3ByaW50Zl92ZXJzaW9uKHByLCAiJXUuJXUiLAorCQlsZTE2X3RvX2NwdShvc2ItPnNfbWFqb3JfcmV2X2xldmVsKSwKKwkJbGUxNl90b19jcHUob3NiLT5zX21pbm9yX3Jldl9sZXZlbCkpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfb3JhY2xlYXNtKGJsa2lkX3Byb2JlIHByLCBjb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZykKK3sKKwlzdHJ1Y3Qgb3JhY2xlX2FzbV9kaXNrX2xhYmVsICpkbDsKKworCWRsID0gYmxraWRfcHJvYmVfZ2V0X3NiKHByLCBtYWcsIHN0cnVjdCBvcmFjbGVfYXNtX2Rpc2tfbGFiZWwpOworCWlmICghZGwpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwlibGtpZF9wcm9iZV9zZXRfbGFiZWwocHIsICh1bnNpZ25lZCBjaGFyICopIGRsLT5kbF9pZCwgc2l6ZW9mKGRsLT5kbF9pZCkpOworCXJldHVybiAwOworfQorCisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gb2Nmc19pZGluZm8gPQoreworCS5uYW1lCQk9ICJvY2ZzIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfb2NmcywKKwkubWluc3oJCT0gMTQwMDAgKiAxMDI0LAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gIk9yYWNsZUNGUyIsIC5sZW4gPSA5LCAua2JvZmYgPSA4IH0sCisJCXsgTlVMTCB9CisJfQorfTsKKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBvY2ZzMl9pZGluZm8gPQoreworCS5uYW1lCQk9ICJvY2ZzMiIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX0ZJTEVTWVNURU0sCisJLnByb2JlZnVuYwk9IHByb2JlX29jZnMyLAorCS5taW5zegkJPSAxNDAwMCAqIDEwMjQsCisJLm1hZ2ljcwkJPQorCXsKKwkJeyAubWFnaWMgPSAiT0NGU1YyIiwgLmxlbiA9IDYsIC5rYm9mZiA9IDEgfSwKKwkJeyAubWFnaWMgPSAiT0NGU1YyIiwgLmxlbiA9IDYsIC5rYm9mZiA9IDIgfSwKKwkJeyAubWFnaWMgPSAiT0NGU1YyIiwgLmxlbiA9IDYsIC5rYm9mZiA9IDQgfSwKKwkJeyAubWFnaWMgPSAiT0NGU1YyIiwgLmxlbiA9IDYsIC5rYm9mZiA9IDggfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCisvKiBPcmFjbGUgQVNNIChBdXRvbWF0aWMgU3RvcmFnZSBNYW5hZ2VtZW50KSAqLworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBvcmFjbGVhc21faWRpbmZvID0KK3sKKwkubmFtZQkJPSAib3JhY2xlYXNtIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfb3JhY2xlYXNtLAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gIk9SQ0xESVNLIiwgLmxlbiA9IDgsIC5zYm9mZiA9IDMyIH0sCisJCXsgTlVMTCB9CisJfQorfTsKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3Byb21pc2VfcmFpZC5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3Byb21pc2VfcmFpZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1ZjNhMjAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvcHJvbWlzZV9yYWlkLmMKQEAgLTAsMCArMSw3NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBJbnNwaXJlZCBieSBsaWJ2b2x1bWVfaWQgYnkKKyAqICAgICBLYXkgU2lldmVycyA8a2F5LnNpZXZlcnNAdnJmeS5vcmc+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworc3RydWN0IHByb21pc2VfbWV0YWRhdGEgeworCXVpbnQ4X3QJc2lnWzI0XTsKK307CisKKyNkZWZpbmUgUERDX0NPTkZJR19PRkYJCTB4MTIwMAorI2RlZmluZSBQRENfU0lHTkFUVVJFCQkiUHJvbWlzZSBUZWNobm9sb2d5LCBJbmMuIgorCitzdGF0aWMgaW50IHByb2JlX3BkY3JhaWQoYmxraWRfcHJvYmUgcHIsCisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlzaXplX3QgaTsKKwlzdGF0aWMgdW5zaWduZWQgaW50IHNlY3RvcnNbXSA9IHsKKwkgIDYzLCAyNTUsIDI1NiwgMTYsIDM5OSwgNTkxLCA2NzUsIDczNSwgOTExLCA5NzQsIDk5MSwgOTUxLCAzMDg3CisJfTsKKwl1aW50NjRfdCBuc2VjdG9yczsKKworCWlmIChwci0+c2l6ZSA8IDB4NDAwMDApCisJCXJldHVybiAxOworCWlmICghU19JU1JFRyhwci0+bW9kZSkgJiYgIWJsa2lkX3Byb2JlX2lzX3dob2xlZGlzayhwcikpCisJCXJldHVybiAxOworCisJbnNlY3RvcnMgPSBwci0+c2l6ZSA+PiA5OworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoc2VjdG9ycyk7IGkrKykgeworCQl1aW50NjRfdCBvZmY7CisJCXN0cnVjdCBwcm9taXNlX21ldGFkYXRhICpwZGM7CisKKwkJaWYgKG5zZWN0b3JzIDwgc2VjdG9yc1tpXSkKKwkJCXJldHVybiAxOworCisJCW9mZiA9IChuc2VjdG9ycyAtIHNlY3RvcnNbaV0pIDw8IDk7CisJCXBkYyA9IChzdHJ1Y3QgcHJvbWlzZV9tZXRhZGF0YSAqKQorCQkJCWJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsCisJCQkJCW9mZiwKKwkJCQkJc2l6ZW9mKHN0cnVjdCBwcm9taXNlX21ldGFkYXRhKSk7CisJCWlmICghcGRjKQorCQkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCQlpZiAobWVtY21wKHBkYy0+c2lnLCBQRENfU0lHTkFUVVJFLAorCQkJCXNpemVvZihQRENfU0lHTkFUVVJFKSAtIDEpID09IDApIHsKKworCQkJaWYgKGJsa2lkX3Byb2JlX3NldF9tYWdpYyhwciwgb2ZmLCBzaXplb2YocGRjLT5zaWcpLAorCQkJCQkJKHVuc2lnbmVkIGNoYXIgKikgcGRjLT5zaWcpKQorCQkJCXJldHVybiAxOworCQkJcmV0dXJuIDA7CisJCX0KKwl9CisJcmV0dXJuIDE7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gcGRjcmFpZF9pZGluZm8gPSB7CisJLm5hbWUJCT0gInByb21pc2VfZmFzdHRyYWNrX3JhaWRfbWVtYmVyIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfUkFJRCwKKwkucHJvYmVmdW5jCT0gcHJvYmVfcGRjcmFpZCwKKwkubWFnaWNzCQk9IEJMS0lEX05PTkVfTUFHSUMKK307CisKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3JlZnMuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9yZWZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWE4MWYyMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9yZWZzLmMKQEAgLTAsMCArMSwyNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHJlZnNfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAiUmVGUyIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX0ZJTEVTWVNURU0sCisJLm1hZ2ljcwkJPQorCXsKKwkJeyAubWFnaWMgPSAiXDAwMFwwMDBcMDAwUmVGU1wwMDAiLCAubGVuID0gOCB9LAorCQl7IE5VTEwgfQorCX0KK307CisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9yZWlzZXJmcy5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3JlaXNlcmZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWRiYWFhOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9yZWlzZXJmcy5jCkBAIC0wLDAgKzEsMTI4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAxOTk5LCAyMDAxIGJ5IEFuZHJpZXMgQnJvdXdlcgorICogQ29weXJpZ2h0IChDKSAxOTk5LCAyMDAwLCAyMDAzIGJ5IFRoZW9kb3JlIFRzJ28KKyAqIENvcHlyaWdodCAoQykgMjAwOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKK3N0cnVjdCByZWlzZXJmc19zdXBlcl9ibG9jayB7CisJdWludDMyX3QJcnNfYmxvY2tzX2NvdW50OworCXVpbnQzMl90CXJzX2ZyZWVfYmxvY2tzOworCXVpbnQzMl90CXJzX3Jvb3RfYmxvY2s7CisJdWludDMyX3QJcnNfam91cm5hbF9ibG9jazsKKwl1aW50MzJfdAlyc19qb3VybmFsX2RldjsKKwl1aW50MzJfdAlyc19vcmlnX2pvdXJuYWxfc2l6ZTsKKwl1aW50MzJfdAlyc19kdW1teTJbNV07CisJdWludDE2X3QJcnNfYmxvY2tzaXplOworCXVpbnQxNl90CXJzX2R1bW15M1szXTsKKwl1bnNpZ25lZCBjaGFyCXJzX21hZ2ljWzEyXTsKKwl1aW50MzJfdAlyc19kdW1teTRbNV07CisJdW5zaWduZWQgY2hhcglyc191dWlkWzE2XTsKKwljaGFyCQlyc19sYWJlbFsxNl07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdHJ1Y3QgcmVpc2VyNF9zdXBlcl9ibG9jayB7CisJdW5zaWduZWQgY2hhcglyczRfbWFnaWNbMTZdOworCXVpbnQxNl90CXJzNF9kdW1teVsyXTsKKwl1bnNpZ25lZCBjaGFyCXJzNF91dWlkWzE2XTsKKwl1bnNpZ25lZCBjaGFyCXJzNF9sYWJlbFsxNl07CisJdWludDY0X3QJcnM0X2R1bW15MjsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0YXRpYyBpbnQgcHJvYmVfcmVpc2VyKGJsa2lkX3Byb2JlIHByLCBjb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZykKK3sKKwlzdHJ1Y3QgcmVpc2VyZnNfc3VwZXJfYmxvY2sgKnJzOworCXVuc2lnbmVkIGludCBibG9ja3NpemU7CisKKwlycyA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3QgcmVpc2VyZnNfc3VwZXJfYmxvY2spOworCWlmICghcnMpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwlibG9ja3NpemUgPSBsZTE2X3RvX2NwdShycy0+cnNfYmxvY2tzaXplKTsKKworCS8qIFRoZSBibG9ja3NpemUgbXVzdCBiZSBhdCBsZWFzdCA1MTJCICovCisJaWYgKChibG9ja3NpemUgPj4gOSkgPT0gMCkKKwkJcmV0dXJuIDE7CisKKwkvKiBJZiB0aGUgc3VwZXJibG9jayBpcyBpbnNpZGUgdGhlIGpvdXJuYWwsIHdlIGhhdmUgdGhlIHdyb25nIG9uZSAqLworCWlmIChtYWctPmtib2ZmIC8gKGJsb2Nrc2l6ZSA+PiA5KSA+IGxlMzJfdG9fY3B1KHJzLT5yc19qb3VybmFsX2Jsb2NrKSAvIDIpCisJCXJldHVybiAxOworCisJLyogTEFCRUwvVVVJRCBhcmUgb25seSB2YWxpZCBmb3IgbGF0ZXIgdmVyc2lvbnMgb2YgUmVpc2VyZnMgdjMuNi4gKi8KKwlpZiAobWFnLT5tYWdpY1s2XSA9PSAnMicgfHwgbWFnLT5tYWdpY1s2XSA9PSAnMycpIHsKKwkJaWYgKCpycy0+cnNfbGFiZWwpCisJCQlibGtpZF9wcm9iZV9zZXRfbGFiZWwocHIsCisJCQkJCSh1bnNpZ25lZCBjaGFyICopIHJzLT5yc19sYWJlbCwKKwkJCQkJc2l6ZW9mKHJzLT5yc19sYWJlbCkpOworCQlibGtpZF9wcm9iZV9zZXRfdXVpZChwciwgcnMtPnJzX3V1aWQpOworCX0KKworCWlmIChtYWctPm1hZ2ljWzZdID09ICczJykKKwkJYmxraWRfcHJvYmVfc2V0X3ZlcnNpb24ocHIsICJKUiIpOworCWVsc2UgaWYgKG1hZy0+bWFnaWNbNl0gPT0gJzInKQorCQlibGtpZF9wcm9iZV9zZXRfdmVyc2lvbihwciwgIjMuNiIpOworCWVsc2UKKwkJYmxraWRfcHJvYmVfc2V0X3ZlcnNpb24ocHIsICIzLjUiKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHByb2JlX3JlaXNlcjQoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCXN0cnVjdCByZWlzZXI0X3N1cGVyX2Jsb2NrICpyczQ7CisKKwlyczQgPSBibGtpZF9wcm9iZV9nZXRfc2IocHIsIG1hZywgc3RydWN0IHJlaXNlcjRfc3VwZXJfYmxvY2spOworCWlmICghcnM0KQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJaWYgKCpyczQtPnJzNF9sYWJlbCkKKwkJYmxraWRfcHJvYmVfc2V0X2xhYmVsKHByLCByczQtPnJzNF9sYWJlbCwgc2l6ZW9mKHJzNC0+cnM0X2xhYmVsKSk7CisJYmxraWRfcHJvYmVfc2V0X3V1aWQocHIsIHJzNC0+cnM0X3V1aWQpOworCWJsa2lkX3Byb2JlX3NldF92ZXJzaW9uKHByLCAiNCIpOworCisJcmV0dXJuIDA7Cit9CisKKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyByZWlzZXJfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAicmVpc2VyZnMiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9yZWlzZXIsCisJLm1pbnN6CQk9IDEyOCAqIDEwMjQsCisJLm1hZ2ljcwkJPQorCXsKKwkJeyAubWFnaWMgPSAiUmVJc0VyRnMiLCAgLmxlbiA9IDgsIC5rYm9mZiA9IDgsICAuc2JvZmYgPSAweDM0IH0sCisJCXsgLm1hZ2ljID0gIlJlSXNFcjJGcyIsIC5sZW4gPSA5LCAua2JvZmYgPSA2NCwgLnNib2ZmID0gMHgzNCB9LAorCQl7IC5tYWdpYyA9ICJSZUlzRXIzRnMiLCAubGVuID0gOSwgLmtib2ZmID0gNjQsIC5zYm9mZiA9IDB4MzQgfSwKKwkJeyAubWFnaWMgPSAiUmVJc0VyRnMiLCAgLmxlbiA9IDgsIC5rYm9mZiA9IDY0LCAuc2JvZmYgPSAweDM0IH0sCisJCXsgLm1hZ2ljID0gIlJlSXNFckZzIiwgIC5sZW4gPSA4LCAua2JvZmYgPSAgOCwgLnNib2ZmID0gMjAgICB9LAorCQl7IE5VTEwgfQorCX0KK307CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gcmVpc2VyNF9pZGluZm8gPQoreworCS5uYW1lCQk9ICJyZWlzZXI0IiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfcmVpc2VyNCwKKwkubWluc3oJCT0gMTI4ICogMTAyNCwKKwkubWFnaWNzCQk9CisJeworCQl7IC5tYWdpYyA9ICJSZUlzRXI0IiwgLmxlbiA9IDcsIC5rYm9mZiA9IDY0IH0sCisJCXsgTlVMTCB9CisJfQorfTsKKworCisKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3JvbWZzLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvcm9tZnMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mM2U5ZjhiCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3JvbWZzLmMKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMSBieSBBbmRyaWVzIEJyb3V3ZXIKKyAqIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMCwgMjAwMyBieSBUaGVvZG9yZSBUcydvCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCitzdHJ1Y3Qgcm9tZnNfc3VwZXJfYmxvY2sgeworCXVuc2lnbmVkIGNoYXIJcm9zX21hZ2ljWzhdOworCXVpbnQzMl90CXJvc19kdW1teTFbMl07CisJdW5zaWduZWQgY2hhcglyb3Nfdm9sdW1lWzE2XTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0YXRpYyBpbnQgcHJvYmVfcm9tZnMoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCXN0cnVjdCByb21mc19zdXBlcl9ibG9jayAqcm9zOworCisJcm9zID0gYmxraWRfcHJvYmVfZ2V0X3NiKHByLCBtYWcsIHN0cnVjdCByb21mc19zdXBlcl9ibG9jayk7CisJaWYgKCFyb3MpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwlpZiAoKigoY2hhciAqKSByb3MtPnJvc192b2x1bWUpICE9ICdcMCcpCisJCWJsa2lkX3Byb2JlX3NldF9sYWJlbChwciwgcm9zLT5yb3Nfdm9sdW1lLAorCQkJCXNpemVvZihyb3MtPnJvc192b2x1bWUpKTsKKwlyZXR1cm4gMDsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyByb21mc19pZGluZm8gPQoreworCS5uYW1lCQk9ICJyb21mcyIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX0ZJTEVTWVNURU0sCisJLnByb2JlZnVuYwk9IHByb2JlX3JvbWZzLAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gIi1yb20xZnMtIiwgLmxlbiA9IDggfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvc2lsaWNvbl9yYWlkLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvc2lsaWNvbl9yYWlkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWRiZWZiYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9zaWxpY29uX3JhaWQuYwpAQCAtMCwwICsxLDEzMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAwNSBLYXkgU2lldmVycyA8a2F5LnNpZXZlcnNAdnJmeS5vcmc+CisgKgorICogSW5zcGlyZWQgYnkgbGlidm9sdW1lX2lkIGJ5CisgKiAgICAgS2F5IFNpZXZlcnMgPGtheS5zaWV2ZXJzQHZyZnkub3JnPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzdGRkZWYuaD4KKworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKK3N0cnVjdCBzaWxpY29uX21ldGFkYXRhIHsKKwl1aW50OF90CQl1bmtub3duMFsweDJFXTsKKwl1aW50OF90CQlhc2NpaV92ZXJzaW9uWzB4MzYgLSAweDJFXTsKKwlpbnQ4X3QJCWRpc2tuYW1lWzB4NTYgLSAweDM2XTsKKwlpbnQ4X3QJCXVua25vd24xWzB4NjAgLSAweDU2XTsKKwl1aW50MzJfdAltYWdpYzsKKwlpbnQ4X3QJCXVua25vd24xYVsweDZDIC0gMHg2NF07CisJdWludDMyX3QJYXJyYXlfc2VjdG9yc19sb3c7CisJdWludDMyX3QJYXJyYXlfc2VjdG9yc19oaWdoOworCWludDhfdAkJdW5rbm93bjJbMHg3OCAtIDB4NzRdOworCXVpbnQzMl90CXRoaXNkaXNrX3NlY3RvcnM7CisJaW50OF90CQl1bmtub3duM1sweDEwMCAtIDB4N0NdOworCWludDhfdAkJdW5rbm93bjRbMHgxMDQgLSAweDEwMF07CisJdWludDE2X3QJcHJvZHVjdF9pZDsKKwl1aW50MTZfdAl2ZW5kb3JfaWQ7CisJdWludDE2X3QJbWlub3JfdmVyOworCXVpbnQxNl90CW1ham9yX3ZlcjsKKwl1aW50OF90CQlzZWNvbmRzOworCXVpbnQ4X3QJCW1pbnV0ZXM7CisJdWludDhfdAkJaG91cjsKKwl1aW50OF90CQlkYXk7CisJdWludDhfdAkJbW9udGg7CisJdWludDhfdAkJeWVhcjsKKwl1aW50MTZfdAlyYWlkMF9zdHJpZGU7CisJaW50OF90CQl1bmtub3duNlsweDExNiAtIDB4MTE0XTsKKwl1aW50OF90CQlkaXNrX251bWJlcjsKKwl1aW50OF90CQl0eXBlOwkJCS8qIFNJTElDT05fVFlQRV8qICovCisJaW50OF90CQlkcml2ZXNfcGVyX3N0cmlwZWRfc2V0OworCWludDhfdAkJc3RyaXBlZF9zZXRfbnVtYmVyOworCWludDhfdAkJZHJpdmVzX3Blcl9taXJyb3JlZF9zZXQ7CisJaW50OF90CQltaXJyb3JlZF9zZXRfbnVtYmVyOworCXVpbnQzMl90CXJlYnVpbGRfcHRyX2xvdzsKKwl1aW50MzJfdAlyZWJ1aWxkX3B0cl9oaWdoOworCXVpbnQzMl90CWluY2FybmF0aW9uX25vOworCXVpbnQ4X3QJCW1lbWJlcl9zdGF0dXM7CisJdWludDhfdAkJbWlycm9yZWRfc2V0X3N0YXRlOwkvKiBTSUxJQ09OX01JUlJPUl8qICovCisJdWludDhfdAkJcmVwb3J0ZWRfZGV2aWNlX2xvY2F0aW9uOworCXVpbnQ4X3QJCWlkZWNoYW5uZWw7CisJdWludDhfdAkJYXV0b19yZWJ1aWxkOworCXVpbnQ4X3QJCXVua25vd244OworCXVpbnQ4X3QJCXRleHRfdHlwZVsweDEzRSAtIDB4MTJFXTsKKwl1aW50MTZfdAljaGVja3N1bTE7CisJaW50OF90CQlhc3N1bWVkX3plcm9zWzB4MUZFIC0gMHgxNDBdOworCXVpbnQxNl90CWNoZWNrc3VtMjsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKyNkZWZpbmUgU0lMSUNPTl9NQUdJQwkJMHgyRjAwMDAwMAorCitzdGF0aWMgdWludDE2X3Qgc2lscmFpZF9jaGVja3N1bShzdHJ1Y3Qgc2lsaWNvbl9tZXRhZGF0YSAqc2lsKQoreworCWludCBzdW0gPSAwOworCXVuc2lnbmVkIHNob3J0IGNvdW50ID0gb2Zmc2V0b2Yoc3RydWN0IHNpbGljb25fbWV0YWRhdGEsIGNoZWNrc3VtMSkgLyAyOworCXVpbnQxNl90ICpwID0gKHVpbnQxNl90ICopIHNpbDsKKworCXdoaWxlIChjb3VudC0tKSB7CisJCXVpbnQxNl90IHggPSAqcCsrOworCQlzdW0gKz0gbGUxNl90b19jcHUoeCk7CisJfQorCisJcmV0dXJuICgtc3VtICYgMHhGRkZGKTsKK30KKworc3RhdGljIGludCBwcm9iZV9zaWxyYWlkKGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJdWludDY0X3Qgb2ZmOworCXN0cnVjdCBzaWxpY29uX21ldGFkYXRhICpzaWw7CisKKwlpZiAocHItPnNpemUgPCAweDEwMDAwKQorCQlyZXR1cm4gMTsKKwlpZiAoIVNfSVNSRUcocHItPm1vZGUpICYmICFibGtpZF9wcm9iZV9pc193aG9sZWRpc2socHIpKQorCQlyZXR1cm4gMTsKKworCW9mZiA9ICgocHItPnNpemUgLyAweDIwMCkgLSAxKSAqIDB4MjAwOworCisJc2lsID0gKHN0cnVjdCBzaWxpY29uX21ldGFkYXRhICopCisJCQlibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLCBvZmYsCisJCQkJc2l6ZW9mKHN0cnVjdCBzaWxpY29uX21ldGFkYXRhKSk7CisJaWYgKCFzaWwpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwlpZiAobGUzMl90b19jcHUoc2lsLT5tYWdpYykgIT0gU0lMSUNPTl9NQUdJQykKKwkJcmV0dXJuIDE7CisJaWYgKHNpbC0+ZGlza19udW1iZXIgPj0gOCkKKwkJcmV0dXJuIDE7CisJaWYgKCFibGtpZF9wcm9iZV92ZXJpZnlfY3N1bShwciwgc2lscmFpZF9jaGVja3N1bShzaWwpLCBsZTE2X3RvX2NwdShzaWwtPmNoZWNrc3VtMSkpKQorCQlyZXR1cm4gMTsKKworCWlmIChibGtpZF9wcm9iZV9zcHJpbnRmX3ZlcnNpb24ocHIsICIldS4ldSIsCisJCQkJbGUxNl90b19jcHUoc2lsLT5tYWpvcl92ZXIpLAorCQkJCWxlMTZfdG9fY3B1KHNpbC0+bWlub3JfdmVyKSkgIT0gMCkKKwkJcmV0dXJuIDE7CisKKwlpZiAoYmxraWRfcHJvYmVfc2V0X21hZ2ljKHByLAorCQkJb2ZmICsgb2Zmc2V0b2Yoc3RydWN0IHNpbGljb25fbWV0YWRhdGEsIG1hZ2ljKSwKKwkJCXNpemVvZihzaWwtPm1hZ2ljKSwKKwkJCSh1bnNpZ25lZCBjaGFyICopICZzaWwtPm1hZ2ljKSkKKwkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gc2lscmFpZF9pZGluZm8gPSB7CisJLm5hbWUJCT0gInNpbGljb25fbWVkbGV5X3JhaWRfbWVtYmVyIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfUkFJRCwKKwkucHJvYmVmdW5jCT0gcHJvYmVfc2lscmFpZCwKKwkubWFnaWNzCQk9IEJMS0lEX05PTkVfTUFHSUMKK307CisKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3NxdWFzaGZzLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvc3F1YXNoZnMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MzY0YmVjCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3NxdWFzaGZzLmMKQEAgLTAsMCArMSwxMDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogSW5zcGlyZWQgYnkgbGlidm9sdW1lX2lkIGJ5CisgKiAgICAgS2F5IFNpZXZlcnMgPGtheS5zaWV2ZXJzQHZyZnkub3JnPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaW5jbHVkZSAiYml0b3BzLmgiCS8qIHN3YWIxNigpICovCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworc3RydWN0IHNxc2hfc3VwZXJfYmxvY2sgeworCXVpbnQzMl90CXNfbWFnaWM7CisJdWludDMyX3QJaW5vZGVzOworCXVpbnQzMl90CWJ5dGVzX3VzZWRfMjsKKwl1aW50MzJfdAl1aWRfc3RhcnRfMjsKKwl1aW50MzJfdAlndWlkX3N0YXJ0XzI7CisJdWludDMyX3QJaW5vZGVfdGFibGVfc3RhcnRfMjsKKwl1aW50MzJfdAlkaXJlY3RvcnlfdGFibGVfc3RhcnRfMjsKKwl1aW50MTZfdAlzX21ham9yOworCXVpbnQxNl90CXNfbWlub3I7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdGF0aWMgaW50IHByb2JlX3NxdWFzaGZzKGJsa2lkX3Byb2JlIHByLCBjb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZykKK3sKKwlzdHJ1Y3Qgc3FzaF9zdXBlcl9ibG9jayAqc3E7CisJdWludDE2X3QgdmVybWFqOworCXVpbnQxNl90IHZlcm1pbjsKKworCXNxID0gYmxraWRfcHJvYmVfZ2V0X3NiKHByLCBtYWcsIHN0cnVjdCBzcXNoX3N1cGVyX2Jsb2NrKTsKKwlpZiAoIXNxKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJdmVybWFqID0gbGUxNl90b19jcHUoc3EtPnNfbWFqb3IpOworCXZlcm1pbiA9IGxlMTZfdG9fY3B1KHNxLT5zX21pbm9yKTsKKwlpZiAodmVybWFqIDwgNCkKKwkJcmV0dXJuIDE7CisKKwlibGtpZF9wcm9iZV9zcHJpbnRmX3ZlcnNpb24ocHIsICIldS4ldSIsIHZlcm1haiwgdmVybWluKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHByb2JlX3NxdWFzaGZzMyhibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJc3RydWN0IHNxc2hfc3VwZXJfYmxvY2sgKnNxOworCXVpbnQxNl90IHZlcm1hajsKKwl1aW50MTZfdCB2ZXJtaW47CisKKwlzcSA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3Qgc3FzaF9zdXBlcl9ibG9jayk7CisJaWYgKCFzcSkKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCWlmIChzdHJjbXAobWFnLT5tYWdpYywgInNxc2giKSA9PSAwKSB7CisJCXZlcm1haiA9IGJlMTZfdG9fY3B1KHNxLT5zX21ham9yKTsKKwkJdmVybWluID0gYmUxNl90b19jcHUoc3EtPnNfbWlub3IpOworCX0gZWxzZSB7CisJCXZlcm1haiA9IGxlMTZfdG9fY3B1KHNxLT5zX21ham9yKTsKKwkJdmVybWluID0gbGUxNl90b19jcHUoc3EtPnNfbWlub3IpOworCX0KKworCWlmICh2ZXJtYWogPiAzKQorCQlyZXR1cm4gMTsKKworCWJsa2lkX3Byb2JlX3NwcmludGZfdmVyc2lvbihwciwgIiV1LiV1IiwgdmVybWFqLCB2ZXJtaW4pOworCisJcmV0dXJuIDA7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gc3F1YXNoZnNfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAic3F1YXNoZnMiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9zcXVhc2hmcywKKwkubWFnaWNzCQk9CisJeworCQl7IC5tYWdpYyA9ICJoc3FzIiwgLmxlbiA9IDQgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHNxdWFzaGZzM19pZGluZm8gPQoreworCS5uYW1lCQk9ICJzcXVhc2hmczMiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9zcXVhc2hmczMsCisJLm1hZ2ljcwkJPQorCXsKKwkJeyAubWFnaWMgPSAic3FzaCIsIC5sZW4gPSA0IH0sIC8qIGJpZyBlbmRpYW4gKi8KKwkJeyAubWFnaWMgPSAiaHNxcyIsIC5sZW4gPSA0IH0sIC8qIGxpdHRsZSBlbmRpYW4gKi8KKwkJeyBOVUxMIH0KKwl9Cit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvc3VwZXJibG9ja3MuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9zdXBlcmJsb2Nrcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0MWNkOGEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvc3VwZXJibG9ja3MuYwpAQCAtMCwwICsxLDg1NyBAQAorLyoKKyAqIHN1cGVyYmxvY2tzLmMgLSByZWFkcyBpbmZvcm1hdGlvbiBmcm9tIGZpbGVzeXN0ZW0gYW5kIHJhaWQgc3VwZXJibG9ja3MKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8c3RkYXJnLmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCisvKioKKyAqIFNFQ1RJT046c3VwZXJibG9ja3MKKyAqIEB0aXRsZTogU3VwZXJibG9ja3MgcHJvYmluZworICogQHNob3J0X2Rlc2NyaXB0aW9uOiBmaWxlc3lzdGVtcyBhbmQgcmFpZHMgc3VwZXJibG9ja3MgcHJvYmluZy4KKyAqCisgKiBUaGUgbGlicmFyeSBBUEkgaGFzIGJlZW4gb3JpZ2luYWxseSBkZXNpZ25lZCBmb3Igc3VwZXJibG9ja3MgcHJvYmluZyBvbmx5LgorICogVGhpcyBpcyByZWFzb24gd2h5IHNvbWUgKmRlcHJlY2F0ZWQqIHN1cGVyYmxvY2sgc3BlY2lmaWMgZnVuY3Rpb25zIGRvbid0IHVzZQorICogJ19zdXBlcmJsb2Nrc18nIG5hbWVzcGFjZSBpbiB0aGUgZnVuY3Rpb24gbmFtZS4gUGxlYXNlLCBkb24ndCB1c2UgdGhlc2UKKyAqIGZ1bmN0aW9ucyBpbiBuZXcgY29kZS4KKyAqCisgKiBUaGUgJ3N1cGVyYmxvY2tzJyBwcm9iZXJzIHN1cHBvcnQgTkFNRT12YWx1ZSAodGFncykgaW50ZXJmYWNlIG9ubHkuIFRoZQorICogc3VwZXJibG9ja3MgcHJvYmluZyBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgKGFuZCBjb250cm9sbGVkIGJ5CisgKiBibGtpZF9wcm9iZV9lbmFibGVfc3VwZXJibG9ja3MoKSkuCisgKgorICogQ3VycmVudGx5IHN1cHBvcnRlZCB0YWdzOgorICoKKyAqIEBUWVBFOiBmaWxlc3lzdGVtIHR5cGUKKyAqCisgKiBAU0VDX1RZUEU6IHNlY29uZGFyeSBmaWxlc3lzdGVtIHR5cGUKKyAqCisgKiBATEFCRUw6IGZpbGVzeXN0ZW0gbGFiZWwKKyAqCisgKiBATEFCRUxfUkFXOiByYXcgbGFiZWwgZnJvbSBGUyBzdXBlcmJsb2NrCisgKgorICogQFVVSUQ6IGZpbGVzeXN0ZW0gVVVJRCAobG93ZXIgY2FzZSkKKyAqCisgKiBAVVVJRF9TVUI6IHN1YnZvbHVtZSB1dWlkIChlLmcuIGJ0cmZzKQorICoKKyAqIEBMT0dVVUlEOiBleHRlcm5hbCBsb2cgVVVJRCAoZS5nLiB4ZnMpCisgKgorICogQFVVSURfUkFXOiByYXcgVVVJRCBmcm9tIEZTIHN1cGVyYmxvY2sKKyAqCisgKiBARVhUX0pPVVJOQUw6IGV4dGVybmFsIGpvdXJuYWwgVVVJRAorICoKKyAqIEBVU0FHRTogIHVzYWdlIHN0cmluZzogInJhaWQiLCAiZmlsZXN5c3RlbSIsIC4uLgorICoKKyAqIEBWRVJTSU9OOiBmaWxlc3lzdGVtIHZlcnNpb24KKyAqCisgKiBATU9VTlQ6IGNsdXN0ZXIgbW91bnQgbmFtZSAoPykgLS0gb2NmcyBvbmx5CisgKgorICogQFNCTUFHSUM6IHN1cGVyIGJsb2NrIG1hZ2ljIHN0cmluZworICoKKyAqIEBTQk1BR0lDX09GRlNFVDogb2Zmc2V0IG9mIFNCTUFHSUMKKyAqCisgKiBARlNTSVpFOiBzaXplIG9mIGZpbGVzeXN0ZW0gW25vdC1pbXBsZW1lbnRlZCB5ZXRdCisgKgorICogQFNZU1RFTV9JRDogSVNPOTY2MCBzeXN0ZW0gaWRlbnRpZmllcgorICoKKyAqIEBQVUJMSVNIRVJfSUQ6IElTTzk2NjAgcHVibGlzaGVyIGlkZW50aWZpZXIKKyAqCisgKiBAQVBQTElDQVRJT05fSUQ6IElTTzk2NjAgYXBwbGljYXRpb24gaWRlbnRpZmllcgorICoKKyAqIEBCT09UX1NZU1RFTV9JRDogSVNPOTY2MCBib290IHN5c3RlbSBpZGVudGlmaWVyCisgKi8KKworc3RhdGljIGludCBzdXBlcmJsb2Nrc19wcm9iZShibGtpZF9wcm9iZSBwciwgc3RydWN0IGJsa2lkX2NoYWluICpjaG4pOworc3RhdGljIGludCBzdXBlcmJsb2Nrc19zYWZlcHJvYmUoYmxraWRfcHJvYmUgcHIsIHN0cnVjdCBibGtpZF9jaGFpbiAqY2huKTsKKworc3RhdGljIGludCBibGtpZF9wcm9iZV9zZXRfdXNhZ2UoYmxraWRfcHJvYmUgcHIsIGludCB1c2FnZSk7CisKKworLyoKKyAqIFN1cGVyYmxvY2tzIGNoYWlucyBwcm9iaW5nIGZ1bmN0aW9ucworICovCitzdGF0aWMgY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyAqaWRpbmZvc1tdID0KK3sKKwkvKiBSQUlEcyAqLworCSZsaW51eHJhaWRfaWRpbmZvLAorCSZkZGZyYWlkX2lkaW5mbywKKwkmaXN3cmFpZF9pZGluZm8sCisJJmxzaXJhaWRfaWRpbmZvLAorCSZ2aWFyYWlkX2lkaW5mbywKKwkmc2lscmFpZF9pZGluZm8sCisJJm52cmFpZF9pZGluZm8sCisJJnBkY3JhaWRfaWRpbmZvLAorCSZoaWdocG9pbnQ0NXhfaWRpbmZvLAorCSZoaWdocG9pbnQzN3hfaWRpbmZvLAorCSZhZHJhaWRfaWRpbmZvLAorCSZqbXJhaWRfaWRpbmZvLAorCisJJmJjYWNoZV9pZGluZm8sCisJJmRyYmRfaWRpbmZvLAorCSZkcmJkbWFuYWdlX2lkaW5mbywKKwkmZHJiZHByb3h5X2RhdGFsb2dfaWRpbmZvLAorCSZsdm0yX2lkaW5mbywKKwkmbHZtMV9pZGluZm8sCisJJnNuYXBjb3dfaWRpbmZvLAorCSZ2ZXJpdHlfaGFzaF9pZGluZm8sCisJJmx1a3NfaWRpbmZvLAorCSZ2bWZzX3ZvbHVtZV9pZGluZm8sCisKKwkvKiBGaWxlc3lzdGVtcyAqLworCSZ2ZmF0X2lkaW5mbywKKwkmc3dzdXNwZW5kX2lkaW5mbywKKwkmc3dhcF9pZGluZm8sCisJJnhmc19pZGluZm8sCisJJnhmc19sb2dfaWRpbmZvLAorCSZleHQ0ZGV2X2lkaW5mbywKKwkmZXh0NF9pZGluZm8sCisJJmV4dDNfaWRpbmZvLAorCSZleHQyX2lkaW5mbywKKwkmamJkX2lkaW5mbywKKwkmcmVpc2VyX2lkaW5mbywKKwkmcmVpc2VyNF9pZGluZm8sCisJJmpmc19pZGluZm8sCisJJnVkZl9pZGluZm8sCisJJmlzbzk2NjBfaWRpbmZvLAorCSZ6ZnNfaWRpbmZvLAorCSZoZnNwbHVzX2lkaW5mbywKKwkmaGZzX2lkaW5mbywKKwkmdWZzX2lkaW5mbywKKwkmaHBmc19pZGluZm8sCisJJnN5c3ZfaWRpbmZvLAorICAgICAgICAmeGVuaXhfaWRpbmZvLAorCSZudGZzX2lkaW5mbywKKwkmcmVmc19pZGluZm8sCisJJmNyYW1mc19pZGluZm8sCisJJnJvbWZzX2lkaW5mbywKKwkmbWluaXhfaWRpbmZvLAorCSZnZnNfaWRpbmZvLAorCSZnZnMyX2lkaW5mbywKKwkmb2Nmc19pZGluZm8sCisJJm9jZnMyX2lkaW5mbywKKwkmb3JhY2xlYXNtX2lkaW5mbywKKwkmdnhmc19pZGluZm8sCisJJnNxdWFzaGZzX2lkaW5mbywKKwkmc3F1YXNoZnMzX2lkaW5mbywKKwkmbmV0d2FyZV9pZGluZm8sCisJJmJ0cmZzX2lkaW5mbywKKwkmdWJpZnNfaWRpbmZvLAorCSZiZnNfaWRpbmZvLAorCSZ2bWZzX2ZzX2lkaW5mbywKKwkmYmVmc19pZGluZm8sCisJJm5pbGZzMl9pZGluZm8sCisJJmV4ZmF0X2lkaW5mbywKKwkmZjJmc19pZGluZm8KK307CisKKy8qCisgKiBEcml2ZXIgZGVmaW5pdGlvbgorICovCitjb25zdCBzdHJ1Y3QgYmxraWRfY2hhaW5kcnYgc3VwZXJibG9ja3NfZHJ2ID0geworCS5pZCAgICAgICAgICAgPSBCTEtJRF9DSEFJTl9TVUJMS1MsCisJLm5hbWUgICAgICAgICA9ICJzdXBlcmJsb2NrcyIsCisJLmRmbHRfZW5hYmxlZCA9IFRSVUUsCisJLmRmbHRfZmxhZ3MgICA9IEJMS0lEX1NVQkxLU19ERUZBVUxULAorCS5pZGluZm9zICAgICAgPSBpZGluZm9zLAorCS5uaWRpbmZvcyAgICAgPSBBUlJBWV9TSVpFKGlkaW5mb3MpLAorCS5oYXNfZmx0ciAgICAgPSBUUlVFLAorCS5wcm9iZSAgICAgICAgPSBzdXBlcmJsb2Nrc19wcm9iZSwKKwkuc2FmZXByb2JlICAgID0gc3VwZXJibG9ja3Nfc2FmZXByb2JlLAorfTsKKworLyoqCisgKiBibGtpZF9wcm9iZV9lbmFibGVfc3VwZXJibG9ja3M6CisgKiBAcHI6IHByb2JlCisgKiBAZW5hYmxlOiBUUlVFL0ZBTFNFCisgKgorICogRW5hYmxlcy9kaXNhYmxlcyB0aGUgc3VwZXJibG9ja3MgcHJvYmluZyBmb3Igbm9uLWJpbmFyeSBpbnRlcmZhY2UuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgYmxraWRfcHJvYmVfZW5hYmxlX3N1cGVyYmxvY2tzKGJsa2lkX3Byb2JlIHByLCBpbnQgZW5hYmxlKQoreworCXByLT5jaGFpbnNbQkxLSURfQ0hBSU5fU1VCTEtTXS5lbmFibGVkID0gZW5hYmxlOworCXJldHVybiAwOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX3NldF9zdXBlcmJsb2Nrc19mbGFnczoKKyAqIEBwcjogcHJvYmVyCisgKiBAZmxhZ3M6IEJMS0lEX1NVQkxLU18qIGZsYWdzCisgKgorICogU2V0cyBwcm9iaW5nIGZsYWdzIHRvIHRoZSBzdXBlcmJsb2NrcyBwcm9iZXIuIFRoaXMgZnVuY3Rpb24gaXMgb3B0aW9uYWwsIHRoZQorICogZGVmYXVsdCBhcmUgQkxLSURfU1VCTEtTX0RFRkFVTFRTIGZsYWdzLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2Vzcywgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IGJsa2lkX3Byb2JlX3NldF9zdXBlcmJsb2Nrc19mbGFncyhibGtpZF9wcm9iZSBwciwgaW50IGZsYWdzKQoreworCXByLT5jaGFpbnNbQkxLSURfQ0hBSU5fU1VCTEtTXS5mbGFncyA9IGZsYWdzOworCXJldHVybiAwOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX3Jlc2V0X3N1cGVyYmxvY2tzX2ZpbHRlcjoKKyAqIEBwcjogcHJvYmVyCisgKgorICogUmVzZXRzIHN1cGVyYmxvY2tzIHByb2JpbmcgZmlsdGVyCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgYmxraWRfcHJvYmVfcmVzZXRfc3VwZXJibG9ja3NfZmlsdGVyKGJsa2lkX3Byb2JlIHByKQoreworCXJldHVybiBfX2Jsa2lkX3Byb2JlX3Jlc2V0X2ZpbHRlcihwciwgQkxLSURfQ0hBSU5fU1VCTEtTKTsKK30KKworLyoqCisgKiBibGtpZF9wcm9iZV9pbnZlcnRfc3VwZXJibG9ja3NfZmlsdGVyOgorICogQHByOiBwcm9iZXIKKyAqCisgKiBJbnZlcnRzIHN1cGVyYmxvY2tzIHByb2JpbmcgZmlsdGVyCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgYmxraWRfcHJvYmVfaW52ZXJ0X3N1cGVyYmxvY2tzX2ZpbHRlcihibGtpZF9wcm9iZSBwcikKK3sKKwlyZXR1cm4gX19ibGtpZF9wcm9iZV9pbnZlcnRfZmlsdGVyKHByLCBCTEtJRF9DSEFJTl9TVUJMS1MpOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX2ZpbHRlcl9zdXBlcmJsb2Nrc190eXBlOgorICogQHByOiBwcm9iZXIKKyAqIEBmbGFnOiBmaWx0ZXIgQkxLSURfRkxUUl97Tk9USU4sT05MWUlOfSBmbGFnCisgKiBAbmFtZXM6IE5VTEwgdGVybWluYXRlZCBhcnJheSBvZiBwcm9iaW5nIGZ1bmN0aW9uIG5hbWVzIChlLmcuICJ2ZmF0IikuCisgKgorICogICVCTEtJRF9GTFRSX05PVElOICAtIHByb2JlIGZvciBhbGwgaXRlbXMgd2hpY2ggYXJlIE5PVCBJTiBAbmFtZXM7CisgKgorICogICVCTEtJRF9GTFRSX09OTFlJTiAtIHByb2JlIGZvciBpdGVtcyB3aGljaCBhcmUgSU4gQG5hbWVzCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgYmxraWRfcHJvYmVfZmlsdGVyX3N1cGVyYmxvY2tzX3R5cGUoYmxraWRfcHJvYmUgcHIsIGludCBmbGFnLCBjaGFyICpuYW1lc1tdKQoreworCXJldHVybiBfX2Jsa2lkX3Byb2JlX2ZpbHRlcl90eXBlcyhwciwgQkxLSURfQ0hBSU5fU1VCTEtTLCBmbGFnLCBuYW1lcyk7Cit9CisKKy8qKgorICogYmxraWRfcHJvYmVfZmlsdGVyX3N1cGVyYmxvY2tzX3VzYWdlOgorICogQHByOiBwcm9iZXIKKyAqIEBmbGFnOiBmaWx0ZXIgQkxLSURfRkxUUl97Tk9USU4sT05MWUlOfSBmbGFnCisgKiBAdXNhZ2U6IEJMS0lEX1VTQUdFXyogZmxhZ3MKKyAqCisgKiAgJUJMS0lEX0ZMVFJfTk9USU4gIC0gcHJvYmUgZm9yIGFsbCBpdGVtcyB3aGljaCBhcmUgTk9UIElOIEB1c2FnZTsKKyAqCisgKiAgJUJMS0lEX0ZMVFJfT05MWUlOIC0gcHJvYmUgZm9yIGl0ZW1zIHdoaWNoIGFyZSBJTiBAdXNhZ2UKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBibGtpZF9wcm9iZV9maWx0ZXJfc3VwZXJibG9ja3NfdXNhZ2UoYmxraWRfcHJvYmUgcHIsIGludCBmbGFnLCBpbnQgdXNhZ2UpCit7CisJdW5zaWduZWQgbG9uZyAqZmx0cjsKKwlzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobjsKKwlzaXplX3QgaTsKKworCWZsdHIgPSBibGtpZF9wcm9iZV9nZXRfZmlsdGVyKHByLCBCTEtJRF9DSEFJTl9TVUJMS1MsIFRSVUUpOworCWlmICghZmx0cikKKwkJcmV0dXJuIC0xOworCisJY2huID0gJnByLT5jaGFpbnNbQkxLSURfQ0hBSU5fU1VCTEtTXTsKKworCWZvciAoaSA9IDA7IGkgPCBjaG4tPmRyaXZlci0+bmlkaW5mb3M7IGkrKykgeworCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvICppZCA9IGNobi0+ZHJpdmVyLT5pZGluZm9zW2ldOworCisJCWlmIChpZC0+dXNhZ2UgJiB1c2FnZSkgeworCQkJaWYgKGZsYWcgJiBCTEtJRF9GTFRSX05PVElOKQorCQkJCWJsa2lkX2JtcF9zZXRfaXRlbShjaG4tPmZsdHIsIGkpOworCQl9IGVsc2UgaWYgKGZsYWcgJiBCTEtJRF9GTFRSX09OTFlJTikKKwkJCWJsa2lkX2JtcF9zZXRfaXRlbShjaG4tPmZsdHIsIGkpOworCX0KKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJhIG5ldyBwcm9iaW5nIHVzYWdlLWZpbHRlciBpbml0aWFsaXplZCIpKTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBibGtpZF9rbm93bl9mc3R5cGU6CisgKiBAZnN0eXBlOiBmaWxlc3lzdGVtIG5hbWUKKyAqCisgKiBSZXR1cm5zOiAxIGZvciBrbm93biBmaWxlc3lzdGVtcywgb3IgMCBmb3IgdW5rbm93biBmaWxlc3lzdGVtLgorICovCitpbnQgYmxraWRfa25vd25fZnN0eXBlKGNvbnN0IGNoYXIgKmZzdHlwZSkKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGlkaW5mb3MpOyBpKyspIHsKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyAqaWQgPSBpZGluZm9zW2ldOworCQlpZiAoc3RyY21wKGlkLT5uYW1lLCBmc3R5cGUpID09IDApCisJCQlyZXR1cm4gMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogYmxraWRfc3VwZXJibG9ja3NfZ2V0X25hbWU6CisgKiBAaWR4OiBudW1iZXIgPj0gMAorICogQG5hbWU6IHJldHVybnMgbmFtZSBvZiBzdXBwb3J0ZWQgZmlsZXN5c3RlbS9yYWlkIChvcHRpb25hbCkKKyAqIEB1c2FnZTogcmV0dXJucyBCTEtJRF9VU0FHRV8qIGZsYWdzLCAob3B0aW9uYWwpCisgKgorICogUmV0dXJuczogLTEgaWYgQGlkeCBpcyBvdXQgb2YgcmFuZ2UsIG9yIDAgb24gc3VjY2Vzcy4KKyAqLworaW50IGJsa2lkX3N1cGVyYmxvY2tzX2dldF9uYW1lKHNpemVfdCBpZHgsIGNvbnN0IGNoYXIgKipuYW1lLCBpbnQgKnVzYWdlKQoreworCWlmIChpZHggPCBBUlJBWV9TSVpFKGlkaW5mb3MpKSB7CisJCWlmIChuYW1lKQorCQkJKm5hbWUgPSBpZGluZm9zW2lkeF0tPm5hbWU7CisJCWlmICh1c2FnZSkKKwkJCSp1c2FnZSA9IGlkaW5mb3NbaWR4XS0+dXNhZ2U7CisJCXJldHVybiAwOworCX0KKwlyZXR1cm4gLTE7Cit9CisKKy8qCisgKiBUaGUgYmxraWRfZG9fcHJvYmUoKSBiYWNrZW5kLgorICovCitzdGF0aWMgaW50IHN1cGVyYmxvY2tzX3Byb2JlKGJsa2lkX3Byb2JlIHByLCBzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobikKK3sKKwlzaXplX3QgaTsKKwlpbnQgcmMgPSBCTEtJRF9QUk9CRV9OT05FOworCisJaWYgKGNobi0+aWR4IDwgLTEpCisJCXJldHVybiAtRUlOVkFMOworCisJYmxraWRfcHJvYmVfY2hhaW5fcmVzZXRfdmFsdWVzKHByLCBjaG4pOworCisJaWYgKHByLT5mbGFncyAmIEJMS0lEX0ZMX05PU0NBTl9ERVYpCisJCXJldHVybiBCTEtJRF9QUk9CRV9OT05FOworCisJaWYgKHByLT5zaXplIDw9IDAgfHwgKHByLT5zaXplIDw9IDEwMjQgJiYgIVNfSVNDSFIocHItPm1vZGUpKSkKKwkJLyogSWdub3JlIHZlcnkgdmVyeSBzbWFsbCBibG9jayBkZXZpY2VzIG9yIHJlZ3VsYXIgZmlsZXMgKGUuZy4KKwkJICogZXh0ZW5kZWQgcGFydGl0aW9ucykuIE5vdGUgdGhhdCBzaXplIG9mIHRoZSBVQkkgY2hhciBkZXZpY2VzCisJCSAqIGlzIDEgYnl0ZSAqLworCQlyZXR1cm4gQkxLSURfUFJPQkVfTk9ORTsKKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIi0tPiBzdGFydGluZyBwcm9iaW5nIGxvb3AgW1NVQkxLUyBpZHg9JWRdIiwKKwkJY2huLT5pZHgpKTsKKworCWkgPSBjaG4tPmlkeCA8IDAgPyAwIDogY2huLT5pZHggKyAxVTsKKworCWZvciAoIDsgaSA8IEFSUkFZX1NJWkUoaWRpbmZvcyk7IGkrKykgeworCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvICppZDsKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgPSBOVUxMOworCQl1aW50NjRfdCBvZmYgPSAwOworCisJCWNobi0+aWR4ID0gaTsKKwkJaWQgPSBpZGluZm9zW2ldOworCisJCWlmIChjaG4tPmZsdHIgJiYgYmxraWRfYm1wX2dldF9pdGVtKGNobi0+Zmx0ciwgaSkpIHsKKwkJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoImZpbHRlciBvdXQ6ICVzIiwgaWQtPm5hbWUpKTsKKwkJCXJjID0gQkxLSURfUFJPQkVfTk9ORTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJaWYgKGlkLT5taW5zeiAmJiAodW5zaWduZWQpaWQtPm1pbnN6ID4gcHItPnNpemUpIHsKKwkJCXJjID0gQkxLSURfUFJPQkVfTk9ORTsKKwkJCWNvbnRpbnVlOwkvKiB0aGUgZGV2aWNlIGlzIHRvbyBzbWFsbCAqLworCQl9CisKKwkJLyogZG9uJ3QgcHJvYmUgZm9yIFJBSURzLCBzd2FwIG9yIGpvdXJuYWwgb24gQ0QvRFZEcyAqLworCQlpZiAoKGlkLT51c2FnZSAmIChCTEtJRF9VU0FHRV9SQUlEIHwgQkxLSURfVVNBR0VfT1RIRVIpKSAmJgorCQkgICAgYmxraWRfcHJvYmVfaXNfY2Ryb20ocHIpKSB7CisJCQlyYyA9IEJMS0lEX1BST0JFX05PTkU7CisJCQljb250aW51ZTsKKwkJfQorCisJCS8qIGRvbid0IHByb2JlIGZvciBSQUlEcyBvbiBmbG9wcGllcyAqLworCQlpZiAoKGlkLT51c2FnZSAmIEJMS0lEX1VTQUdFX1JBSUQpICYmIGJsa2lkX3Byb2JlX2lzX3RpbnkocHIpKSB7CisJCQlyYyA9IEJMS0lEX1BST0JFX05PTkU7CisJCQljb250aW51ZTsKKwkJfQorCisJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIlslemRdICVzOiIsIGksIGlkLT5uYW1lKSk7CisKKwkJcmMgPSBibGtpZF9wcm9iZV9nZXRfaWRtYWcocHIsIGlkLCAmb2ZmLCAmbWFnKTsKKwkJaWYgKHJjIDwgMCkKKwkJCWJyZWFrOworCQlpZiAocmMgIT0gQkxLSURfUFJPQkVfT0spCisJCQljb250aW51ZTsKKworCQkvKiBmaW5hbCBjaGVjayBieSBwcm9iaW5nIGZ1bmN0aW9uICovCisJCWlmIChpZC0+cHJvYmVmdW5jKSB7CisJCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJcdGNhbGwgcHJvYmVmdW5jKCkiKSk7CisJCQlyYyA9IGlkLT5wcm9iZWZ1bmMocHIsIG1hZyk7CisJCQlpZiAocmMgIT0gQkxLSURfUFJPQkVfT0spIHsKKwkJCQlibGtpZF9wcm9iZV9jaGFpbl9yZXNldF92YWx1ZXMocHIsIGNobik7CisJCQkJaWYgKHJjIDwgMCkKKwkJCQkJYnJlYWs7CisJCQkJY29udGludWU7CisJCQl9CisJCX0KKworCQkvKiBhbGwgY2hlY2tzIHBhc3NlZCAqLworCQlpZiAoY2huLT5mbGFncyAmIEJMS0lEX1NVQkxLU19UWVBFKQorCQkJcmMgPSBibGtpZF9wcm9iZV9zZXRfdmFsdWUocHIsICJUWVBFIiwKKwkJCQkodW5zaWduZWQgY2hhciAqKSBpZC0+bmFtZSwKKwkJCQlzdHJsZW4oaWQtPm5hbWUpICsgMSk7CisKKwkJaWYgKCFyYykKKwkJCXJjID0gYmxraWRfcHJvYmVfc2V0X3VzYWdlKHByLCBpZC0+dXNhZ2UpOworCisJCWlmICghcmMgJiYgbWFnKQorCQkJcmMgPSBibGtpZF9wcm9iZV9zZXRfbWFnaWMocHIsIG9mZiwgbWFnLT5sZW4sCisJCQkJCSh1bnNpZ25lZCBjaGFyICopIG1hZy0+bWFnaWMpOworCQlpZiAocmMpIHsKKwkJCWJsa2lkX3Byb2JlX2NoYWluX3Jlc2V0X3ZhbHVlcyhwciwgY2huKTsKKwkJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoImZhaWxlZCB0byBzZXQgcmVzdWx0IC0tIGlnbm9yZSIpKTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiPC0tIGxlYXZpbmcgcHJvYmluZyBsb29wICh0eXBlPSVzKSBbU1VCTEtTIGlkeD0lZF0iLAorCQkJaWQtPm5hbWUsIGNobi0+aWR4KSk7CisJCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKKwl9CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCI8LS0gbGVhdmluZyBwcm9iaW5nIGxvb3AgKGZhaWxlZD0lZCkgW1NVQkxLUyBpZHg9JWRdIiwKKwkJCXJjLCBjaG4tPmlkeCkpOworCXJldHVybiByYzsKK30KKworLyoKKyAqIFRoaXMgaXMgdGhlIHNhbWUgZnVuY3Rpb24gYXMgYmxraWRfZG9fcHJvYmUoKSwgYnV0IHJldHVybnMgb25seSBvbmUgcmVzdWx0CisgKiAoY2Fubm90IGJlIHVzZWQgaW4gd2hpbGUoKSkgYW5kIGNoZWNrcyBmb3IgYW1iaXZhbGVudCByZXN1bHRzIChtb3JlCisgKiBmaWxlc3lzdGVtcyBvbiB0aGUgZGV2aWNlKSAtLSBpbiBzdWNoIGNhc2UgcmV0dXJucyAtMi4KKyAqCisgKiBUaGUgZnVuY3Rpb24gZG9lcyBub3QgY2hlY2sgZm9yIGZpbGVzeXN0ZW1zIHdoZW4gYSBSQUlEIG9yIGNyeXB0byBzaWduYXR1cmUKKyAqIGlzIGRldGVjdGVkLiAgVGhlIGZ1bmN0aW9uIGFsc28gZG9lcyBub3QgY2hlY2sgZm9yIGNvbGxpc2lvbiBiZXR3ZWVuIFJBSURzCisgKiBhbmQgY3J5cHRvIGRldmljZXMuIFRoZSBmaXJzdCBkZXRlY3RlZCBSQUlEIG9yIGNyeXB0byBkZXZpY2UgaXMgcmV0dXJuZWQuCisgKgorICogVGhlIGZ1bmN0aW9uIGRvZXMgbm90IHByb2JlIGZvciBhbWJpdmFsZW50IHJlc3VsdHMgb24gdmVyeSBzbWFsbCBkZXZpY2VzCisgKiAoZS5nLiBmbG9wcGllcyksIG9uIHNtYWxsIGRldmljZXMgdGhlIGZpcnN0IGRldGVjdGVkIGZpbGVzeXN0ZW0gaXMgcmV0dXJuZWQuCisgKi8KK3N0YXRpYyBpbnQgc3VwZXJibG9ja3Nfc2FmZXByb2JlKGJsa2lkX3Byb2JlIHByLCBzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobikKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkIHZhbHM7CisJaW50IGlkeCA9IC0xOworCWludCBjb3VudCA9IDA7CisJaW50IGludG9sID0gMDsKKwlpbnQgcmM7CisKKwlJTklUX0xJU1RfSEVBRCgmdmFscyk7CisKKwlpZiAocHItPmZsYWdzICYgQkxLSURfRkxfTk9TQ0FOX0RFVikKKwkJcmV0dXJuIEJMS0lEX1BST0JFX05PTkU7CisKKwl3aGlsZSAoKHJjID0gc3VwZXJibG9ja3NfcHJvYmUocHIsIGNobikpID09IDApIHsKKworCQlpZiAoYmxraWRfcHJvYmVfaXNfdGlueShwcikgJiYgIWNvdW50KQorCQkJcmV0dXJuIEJMS0lEX1BST0JFX09LOwkvKiBmbG9wcHkgb3Igc28gLS0gcmV0dXJucyB0aGUgZmlyc3QgcmVzdWx0LiAqLworCisJCWNvdW50Kys7CisKKwkJaWYgKGNobi0+aWR4ID49IDAgJiYKKwkJICAgIGlkaW5mb3NbY2huLT5pZHhdLT51c2FnZSAmIChCTEtJRF9VU0FHRV9SQUlEIHwgQkxLSURfVVNBR0VfQ1JZUFRPKSkKKwkJCWJyZWFrOworCisJCWlmIChjaG4tPmlkeCA+PSAwICYmCisJCSAgICAhKGlkaW5mb3NbY2huLT5pZHhdLT5mbGFncyAmIEJMS0lEX0lESU5GT19UT0xFUkFOVCkpCisJCQlpbnRvbCsrOworCisJCWlmIChjb3VudCA9PSAxKSB7CisJCQkvKiBzYXZlIHRoZSBmaXJzdCByZXN1bHQgKi8KKwkJCWJsa2lkX3Byb2JlX2NoYWluX3NhdmVfdmFsdWVzKHByLCBjaG4sICZ2YWxzKTsKKwkJCWlkeCA9IGNobi0+aWR4OworCQl9CisJfQorCisJaWYgKHJjIDwgMCkKKwkJZ290byBkb25lOwkJLyogZXJyb3IgKi8KKworCWlmIChjb3VudCA+IDEgJiYgaW50b2wpIHsKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiRVJST1I6IHN1cGVyYmxvY2tzIGNoYWluOiAiCisJCQkgICAgICAgImFtYml2YWxlbnQgcmVzdWx0IGRldGVjdGVkICglZCBmaWxlc3lzdGVtcykhIiwKKwkJCSAgICAgICBjb3VudCkpOworCQlyYyA9IC0yOwkJLyogZXJyb3IsIGFtYml2YWxlbnQgcmVzdWx0IChtb3JlIEZTKSAqLworCQlnb3RvIGRvbmU7CisJfQorCWlmICghY291bnQpIHsKKwkJcmMgPSBCTEtJRF9QUk9CRV9OT05FOworCQlnb3RvIGRvbmU7CisJfQorCisJaWYgKGlkeCAhPSAtMSkgeworCQkvKiByZXN0b3JlIHRoZSBmaXJzdCByZXN1bHQgKi8KKwkJYmxraWRfcHJvYmVfY2hhaW5fcmVzZXRfdmFsdWVzKHByLCBjaG4pOworCQlibGtpZF9wcm9iZV9hcHBlbmRfdmFsdWVzX2xpc3QocHIsICZ2YWxzKTsKKwkJY2huLT5pZHggPSBpZHg7CisJfQorCisJLyoKKwkgKiBUaGUgUkFJRCBkZXZpY2UgY291bGQgYmUgcGFydGl0aW9uZWQuIFRoZSBwcm9ibGVtIGFyZSBSQUlEMSBkZXZpY2VzCisJICogd2hlcmUgdGhlIHBhcnRpdGlvbiB0YWJsZSBpcyB2aXNpYmxlIGZyb20gdW5kZXJseWluZyBkZXZpY2VzLiBXZQorCSAqIGhhdmUgdG8gaWdub3JlIHN1Y2ggcGFydGl0aW9uIHRhYmxlcy4KKwkgKi8KKwlpZiAoY2huLT5pZHggPj0gMCAmJiBpZGluZm9zW2Nobi0+aWR4XS0+dXNhZ2UgJiBCTEtJRF9VU0FHRV9SQUlEKQorCQlwci0+cHJvYl9mbGFncyB8PSBCTEtJRF9QUk9CRV9GTF9JR05PUkVfUFQ7CisKKwlyYyA9IEJMS0lEX1BST0JFX09LOworZG9uZToKKwlibGtpZF9wcm9iZV9mcmVlX3ZhbHVlc19saXN0KCZ2YWxzKTsKKwlyZXR1cm4gcmM7Cit9CisKK2ludCBibGtpZF9wcm9iZV9zZXRfdmVyc2lvbihibGtpZF9wcm9iZSBwciwgY29uc3QgY2hhciAqdmVyc2lvbikKK3sKKwlzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobiA9IGJsa2lkX3Byb2JlX2dldF9jaGFpbihwcik7CisKKwlpZiAoY2huLT5mbGFncyAmIEJMS0lEX1NVQkxLU19WRVJTSU9OKQorCQlyZXR1cm4gYmxraWRfcHJvYmVfc2V0X3ZhbHVlKHByLCAiVkVSU0lPTiIsCisJCQkgICAodW5zaWduZWQgY2hhciAqKSB2ZXJzaW9uLCBzdHJsZW4odmVyc2lvbikgKyAxKTsKKwlyZXR1cm4gMDsKK30KKworCitpbnQgYmxraWRfcHJvYmVfc3ByaW50Zl92ZXJzaW9uKGJsa2lkX3Byb2JlIHByLCBjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwlzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobiA9IGJsa2lkX3Byb2JlX2dldF9jaGFpbihwcik7CisJaW50IHJjID0gMDsKKworCWlmIChjaG4tPmZsYWdzICYgQkxLSURfU1VCTEtTX1ZFUlNJT04pIHsKKwkJdmFfbGlzdCBhcDsKKworCQl2YV9zdGFydChhcCwgZm10KTsKKwkJcmMgPSBibGtpZF9wcm9iZV92c3ByaW50Zl92YWx1ZShwciwgIlZFUlNJT04iLCBmbXQsIGFwKTsKKwkJdmFfZW5kKGFwKTsKKwl9CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IGJsa2lkX3Byb2JlX3NldF91c2FnZShibGtpZF9wcm9iZSBwciwgaW50IHVzYWdlKQoreworCXN0cnVjdCBibGtpZF9jaGFpbiAqY2huID0gYmxraWRfcHJvYmVfZ2V0X2NoYWluKHByKTsKKwljaGFyICp1ID0gTlVMTDsKKworCWlmICghKGNobi0+ZmxhZ3MgJiBCTEtJRF9TVUJMS1NfVVNBR0UpKQorCQlyZXR1cm4gMDsKKworCWlmICh1c2FnZSAmIEJMS0lEX1VTQUdFX0ZJTEVTWVNURU0pCisJCXUgPSAiZmlsZXN5c3RlbSI7CisJZWxzZSBpZiAodXNhZ2UgJiBCTEtJRF9VU0FHRV9SQUlEKQorCQl1ID0gInJhaWQiOworCWVsc2UgaWYgKHVzYWdlICYgQkxLSURfVVNBR0VfQ1JZUFRPKQorCQl1ID0gImNyeXB0byI7CisJZWxzZSBpZiAodXNhZ2UgJiBCTEtJRF9VU0FHRV9PVEhFUikKKwkJdSA9ICJvdGhlciI7CisJZWxzZQorCQl1ID0gInVua25vd24iOworCisJcmV0dXJuIGJsa2lkX3Byb2JlX3NldF92YWx1ZShwciwgIlVTQUdFIiwgKHVuc2lnbmVkIGNoYXIgKikgdSwgc3RybGVuKHUpICsgMSk7Cit9CisKK2ludCBibGtpZF9wcm9iZV9zZXRfaWRfbGFiZWwoYmxraWRfcHJvYmUgcHIsIGNvbnN0IGNoYXIgKm5hbWUsCisJCQkgICAgIHVuc2lnbmVkIGNoYXIgKmRhdGEsIHNpemVfdCBsZW4pCit7CisJc3RydWN0IGJsa2lkX2NoYWluICpjaG4gPSBibGtpZF9wcm9iZV9nZXRfY2hhaW4ocHIpOworCXN0cnVjdCBibGtpZF9wcnZhbCAqdjsKKwlpbnQgcmMgPSAwOworCisJaWYgKCEoY2huLT5mbGFncyAmIEJMS0lEX1NVQkxLU19MQUJFTCkpCisJCXJldHVybiAwOworCisJdiA9IGJsa2lkX3Byb2JlX2Fzc2lnbl92YWx1ZShwciwgbmFtZSk7CisJaWYgKCF2KQorCQlyZXR1cm4gLUVOT01FTTsKKworCXJjID0gYmxraWRfcHJvYmVfdmFsdWVfc2V0X2RhdGEodiwgZGF0YSwgbGVuKTsKKwlpZiAoIXJjKSB7CisJCS8qIHJlbW92ZSB3aGl0ZSBzcGFjZXMgKi8KKwkJdi0+bGVuID0gYmxraWRfcnRyaW1fd2hpdGVzcGFjZSh2LT5kYXRhKSArIDE7CisJCWlmICh2LT5sZW4gPiAxKQorCQkJdi0+bGVuID0gYmxraWRfbHRyaW1fd2hpdGVzcGFjZSh2LT5kYXRhKSArIDE7CisJCWlmICh2LT5sZW4gPiAxKQorCQkJcmV0dXJuIDA7CisJfQorCisJYmxraWRfcHJvYmVfZnJlZV92YWx1ZSh2KTsKKwlyZXR1cm4gcmM7CisKK30KKworaW50IGJsa2lkX3Byb2JlX3NldF91dGY4X2lkX2xhYmVsKGJsa2lkX3Byb2JlIHByLCBjb25zdCBjaGFyICpuYW1lLAorCQkJICAgICB1bnNpZ25lZCBjaGFyICpkYXRhLCBzaXplX3QgbGVuLCBpbnQgZW5jKQoreworCXN0cnVjdCBibGtpZF9jaGFpbiAqY2huID0gYmxraWRfcHJvYmVfZ2V0X2NoYWluKHByKTsKKwlzdHJ1Y3QgYmxraWRfcHJ2YWwgKnY7CisJaW50IHJjID0gMDsKKworCWlmICghKGNobi0+ZmxhZ3MgJiBCTEtJRF9TVUJMS1NfTEFCRUwpKQorCQlyZXR1cm4gMDsKKworCXYgPSBibGtpZF9wcm9iZV9hc3NpZ25fdmFsdWUocHIsIG5hbWUpOworCWlmICghdikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwl2LT5kYXRhID0gYmxraWRfZW5jb2RlX2FsbG9jKGxlbiwgJnYtPmxlbik7CisJaWYgKCF2LT5kYXRhKQorCQlyYyA9IC1FTk9NRU07CisKKwlpZiAoIXJjKSB7CisJCWJsa2lkX2VuY29kZV90b191dGY4KGVuYywgdi0+ZGF0YSwgdi0+bGVuLCBkYXRhLCBsZW4pOworCQl2LT5sZW4gPSBibGtpZF9ydHJpbV93aGl0ZXNwYWNlKHYtPmRhdGEpICsgMTsKKwkJaWYgKHYtPmxlbiA+IDEpCisJCQl2LT5sZW4gPSBibGtpZF9sdHJpbV93aGl0ZXNwYWNlKHYtPmRhdGEpICsgMTsKKwkJaWYgKHYtPmxlbiA+IDEpCisJCQlyZXR1cm4gMDsKKwl9CisKKwlibGtpZF9wcm9iZV9mcmVlX3ZhbHVlKHYpOworCXJldHVybiByYzsKK30KKworaW50IGJsa2lkX3Byb2JlX3NldF9sYWJlbChibGtpZF9wcm9iZSBwciwgdW5zaWduZWQgY2hhciAqbGFiZWwsIHNpemVfdCBsZW4pCit7CisJc3RydWN0IGJsa2lkX2NoYWluICpjaG4gPSBibGtpZF9wcm9iZV9nZXRfY2hhaW4ocHIpOworCXN0cnVjdCBibGtpZF9wcnZhbCAqdjsKKwlpbnQgcmMgPSAwOworCisJaWYgKChjaG4tPmZsYWdzICYgQkxLSURfU1VCTEtTX0xBQkVMUkFXKSAmJgorCSAgICAocmMgPSBibGtpZF9wcm9iZV9zZXRfdmFsdWUocHIsICJMQUJFTF9SQVciLCBsYWJlbCwgbGVuKSkgPCAwKQorCQlyZXR1cm4gcmM7CisKKwlpZiAoIShjaG4tPmZsYWdzICYgQkxLSURfU1VCTEtTX0xBQkVMKSkKKwkJcmV0dXJuIDA7CisKKwl2ID0gYmxraWRfcHJvYmVfYXNzaWduX3ZhbHVlKHByLCAiTEFCRUwiKTsKKwlpZiAoIXYpCisJCXJldHVybiAtRU5PTUVNOworCisJcmMgPSBibGtpZF9wcm9iZV92YWx1ZV9zZXRfZGF0YSh2LCBsYWJlbCwgbGVuKTsKKwlpZiAoIXJjKSB7CisJCXYtPmxlbiA9IGJsa2lkX3J0cmltX3doaXRlc3BhY2Uodi0+ZGF0YSkgKyAxOworCQlpZiAodi0+bGVuID4gMSkKKwkJCXJldHVybiAwOworCX0KKworCWJsa2lkX3Byb2JlX2ZyZWVfdmFsdWUodik7CisJcmV0dXJuIHJjOworfQorCitpbnQgYmxraWRfcHJvYmVfc2V0X3V0ZjhsYWJlbChibGtpZF9wcm9iZSBwciwgdW5zaWduZWQgY2hhciAqbGFiZWwsCisJCQkJc2l6ZV90IGxlbiwgaW50IGVuYykKK3sKKwlzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobiA9IGJsa2lkX3Byb2JlX2dldF9jaGFpbihwcik7CisJc3RydWN0IGJsa2lkX3BydmFsICp2OworCWludCByYyA9IDA7CisKKwlpZiAoKGNobi0+ZmxhZ3MgJiBCTEtJRF9TVUJMS1NfTEFCRUxSQVcpICYmCisJICAgIChyYyA9IGJsa2lkX3Byb2JlX3NldF92YWx1ZShwciwgIkxBQkVMX1JBVyIsIGxhYmVsLCBsZW4pKSA8IDApCisJCXJldHVybiByYzsKKworCWlmICghKGNobi0+ZmxhZ3MgJiBCTEtJRF9TVUJMS1NfTEFCRUwpKQorCQlyZXR1cm4gMDsKKworCXYgPSBibGtpZF9wcm9iZV9hc3NpZ25fdmFsdWUocHIsICJMQUJFTCIpOworCWlmICghdikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwl2LT5kYXRhID0gYmxraWRfZW5jb2RlX2FsbG9jKGxlbiwgJnYtPmxlbik7CisJaWYgKCF2LT5kYXRhKQorCQlyYyA9IC1FTk9NRU07CisJaWYgKCFyYykgeworCQlibGtpZF9lbmNvZGVfdG9fdXRmOChlbmMsIHYtPmRhdGEsIHYtPmxlbiwgbGFiZWwsIGxlbik7CisJCXYtPmxlbiA9IGJsa2lkX3J0cmltX3doaXRlc3BhY2Uodi0+ZGF0YSkgKyAxOworCQlpZiAodi0+bGVuID4gMSkKKwkJCXJldHVybiAwOworCX0KKworCWJsa2lkX3Byb2JlX2ZyZWVfdmFsdWUodik7CisJcmV0dXJuIHJjOworfQorCitpbnQgYmxraWRfcHJvYmVfc3ByaW50Zl91dWlkKGJsa2lkX3Byb2JlIHByLCB1bnNpZ25lZCBjaGFyICp1dWlkLAorCQkJCXNpemVfdCBsZW4sIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworCXN0cnVjdCBibGtpZF9jaGFpbiAqY2huID0gYmxraWRfcHJvYmVfZ2V0X2NoYWluKHByKTsKKwl2YV9saXN0IGFwOworCWludCByYyA9IDA7CisKKwlpZiAoYmxraWRfdXVpZF9pc19lbXB0eSh1dWlkLCBsZW4pKQorCQlyZXR1cm4gMDsKKworCWlmICgoY2huLT5mbGFncyAmIEJMS0lEX1NVQkxLU19VVUlEUkFXKSAmJgorCSAgICAocmMgPSBibGtpZF9wcm9iZV9zZXRfdmFsdWUocHIsICJVVUlEX1JBVyIsIHV1aWQsIGxlbikpIDwgMCkKKwkJcmV0dXJuIHJjOworCisJaWYgKCEoY2huLT5mbGFncyAmIEJMS0lEX1NVQkxLU19VVUlEKSkKKwkJcmV0dXJuIDA7CisKKwl2YV9zdGFydChhcCwgZm10KTsKKwlyYyA9IGJsa2lkX3Byb2JlX3ZzcHJpbnRmX3ZhbHVlKHByLCAiVVVJRCIsIGZtdCwgYXApOworCXZhX2VuZChhcCk7CisKKwlyZXR1cm4gcmM7Cit9CisKKy8qIGZ1bmN0aW9uIHRvIHNldCBVVUlEcyB0aGF0IGFyZSBpbiBzdXBlcmJsb2NrcyBzdG9yZWQgYXMgc3RyaW5ncyAqLworaW50IGJsa2lkX3Byb2JlX3N0cm5jcHlfdXVpZChibGtpZF9wcm9iZSBwciwgdW5zaWduZWQgY2hhciAqc3RyLCBzaXplX3QgbGVuKQoreworCXN0cnVjdCBibGtpZF9jaGFpbiAqY2huID0gYmxraWRfcHJvYmVfZ2V0X2NoYWluKHByKTsKKwlzdHJ1Y3QgYmxraWRfcHJ2YWwgKnY7CisJaW50IHJjID0gMDsKKworCWlmIChzdHIgPT0gTlVMTCB8fCAqc3RyID09ICdcMCcpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKCFsZW4pCisJCWxlbiA9IHN0cmxlbigoY2hhciAqKSBzdHIpOworCisJaWYgKChjaG4tPmZsYWdzICYgQkxLSURfU1VCTEtTX1VVSURSQVcpICYmCisJICAgIChyYyA9IGJsa2lkX3Byb2JlX3NldF92YWx1ZShwciwgIlVVSURfUkFXIiwgc3RyLCBsZW4pKSA8IDApCisJCXJldHVybiByYzsKKworCWlmICghKGNobi0+ZmxhZ3MgJiBCTEtJRF9TVUJMS1NfVVVJRCkpCisJCXJldHVybiAwOworCisJdiA9IGJsa2lkX3Byb2JlX2Fzc2lnbl92YWx1ZShwciwgIlVVSUQiKTsKKwlpZiAoIXYpCisJCXJjPSAtRU5PTUVNOworCWlmICghcmMpCisJCXJjID0gYmxraWRfcHJvYmVfdmFsdWVfc2V0X2RhdGEodiwgc3RyLCBsZW4pOworCWlmICghcmMpIHsKKwkJdi0+bGVuID0gYmxraWRfcnRyaW1fd2hpdGVzcGFjZSh2LT5kYXRhKSArIDE7CisJCWlmICh2LT5sZW4gPiAxKQorCQkJcmV0dXJuIDA7CisJfQorCisJYmxraWRfcHJvYmVfZnJlZV92YWx1ZSh2KTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qIGRlZmF1bHQgX3NldF91dWlkIGZ1bmN0aW9uIHRvIHNldCBEQ0UgVVVJRHMgKi8KK2ludCBibGtpZF9wcm9iZV9zZXRfdXVpZF9hcyhibGtpZF9wcm9iZSBwciwgdW5zaWduZWQgY2hhciAqdXVpZCwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobiA9IGJsa2lkX3Byb2JlX2dldF9jaGFpbihwcik7CisJc3RydWN0IGJsa2lkX3BydmFsICp2OworCWludCByYyA9IDA7CisKKwlpZiAoYmxraWRfdXVpZF9pc19lbXB0eSh1dWlkLCAxNikpCisJCXJldHVybiAwOworCisJaWYgKCFuYW1lKSB7CisJCWlmICgoY2huLT5mbGFncyAmIEJMS0lEX1NVQkxLU19VVUlEUkFXKSAmJgorCQkgICAgKHJjID0gYmxraWRfcHJvYmVfc2V0X3ZhbHVlKHByLCAiVVVJRF9SQVciLCB1dWlkLCAxNikpIDwgMCkKKwkJCXJldHVybiByYzsKKworCQlpZiAoIShjaG4tPmZsYWdzICYgQkxLSURfU1VCTEtTX1VVSUQpKQorCQkJcmV0dXJuIDA7CisKKwkJdiA9IGJsa2lkX3Byb2JlX2Fzc2lnbl92YWx1ZShwciwgIlVVSUQiKTsKKwl9IGVsc2UKKwkJdiA9IGJsa2lkX3Byb2JlX2Fzc2lnbl92YWx1ZShwciwgbmFtZSk7CisKKwlpZiAoIXYpCisJCXJldHVybiAtRU5PTUVNOworCisJdi0+bGVuID0gMzc7CisJdi0+ZGF0YSA9IGNhbGxvYygxLCB2LT5sZW4pOworCWlmICghdi0+ZGF0YSkKKwkJcmMgPSAtRU5PTUVNOworCisJaWYgKCFyYykgeworCQlibGtpZF91bnBhcnNlX3V1aWQodXVpZCwgKGNoYXIgKikgdi0+ZGF0YSwgdi0+bGVuKTsKKwkJcmV0dXJuIDA7CisJfQorCisJYmxraWRfcHJvYmVfZnJlZV92YWx1ZSh2KTsKKwlyZXR1cm4gcmM7Cit9CisKK2ludCBibGtpZF9wcm9iZV9zZXRfdXVpZChibGtpZF9wcm9iZSBwciwgdW5zaWduZWQgY2hhciAqdXVpZCkKK3sKKwlyZXR1cm4gYmxraWRfcHJvYmVfc2V0X3V1aWRfYXMocHIsIHV1aWQsIE5VTEwpOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX3NldF9yZXF1ZXN0OgorICogQHByOiBwcm9iZQorICogQGZsYWdzOiBCTEtJRF9QUk9CUkVRXyogKGRlcHJlY2F0ZWQpIG9yIEJMS0lEX1NVQkxLU18qIGZsYWdzCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICoKKyAqIERlcHJlY2F0ZWQ6IFVzZSBibGtpZF9wcm9iZV9zZXRfc3VwZXJibG9ja3NfZmxhZ3MoKS4KKyAqLworaW50IGJsa2lkX3Byb2JlX3NldF9yZXF1ZXN0KGJsa2lkX3Byb2JlIHByLCBpbnQgZmxhZ3MpCit7CisJcmV0dXJuIGJsa2lkX3Byb2JlX3NldF9zdXBlcmJsb2Nrc19mbGFncyhwciwgZmxhZ3MpOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX3Jlc2V0X2ZpbHRlcjoKKyAqIEBwcjogcHJvYmVyCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICoKKyAqIERlcHJlY2F0ZWQ6IFVzZSBibGtpZF9wcm9iZV9yZXNldF9zdXBlcmJsb2Nrc19maWx0ZXIoKS4KKyAqLworaW50IGJsa2lkX3Byb2JlX3Jlc2V0X2ZpbHRlcihibGtpZF9wcm9iZSBwcikKK3sKKwlyZXR1cm4gX19ibGtpZF9wcm9iZV9yZXNldF9maWx0ZXIocHIsIEJMS0lEX0NIQUlOX1NVQkxLUyk7Cit9CisKKy8qKgorICogYmxraWRfcHJvYmVfaW52ZXJ0X2ZpbHRlcjoKKyAqIEBwcjogcHJvYmVyCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICoKKyAqIERlcHJlY2F0ZWQ6IFVzZSBibGtpZF9wcm9iZV9pbnZlcnRfc3VwZXJibG9ja3NfZmlsdGVyKCkuCisgKi8KK2ludCBibGtpZF9wcm9iZV9pbnZlcnRfZmlsdGVyKGJsa2lkX3Byb2JlIHByKQoreworCXJldHVybiBfX2Jsa2lkX3Byb2JlX2ludmVydF9maWx0ZXIocHIsIEJMS0lEX0NIQUlOX1NVQkxLUyk7Cit9CisKKy8qKgorICogYmxraWRfcHJvYmVfZmlsdGVyX3R5cGVzCisgKiBAcHI6IHByb2JlcgorICogQGZsYWc6IGZpbHRlciBCTEtJRF9GTFRSX3tOT1RJTixPTkxZSU59IGZsYWcKKyAqIEBuYW1lczogTlVMTCB0ZXJtaW5hdGVkIGFycmF5IG9mIHByb2JpbmcgZnVuY3Rpb24gbmFtZXMgKGUuZy4gInZmYXQiKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKgorICogRGVwcmVjYXRlZDogVXNlIGJsa2lkX3Byb2JlX2ZpbHRlcl9zdXBlcmJsb2Nrc190eXBlcygpLgorICovCitpbnQgYmxraWRfcHJvYmVfZmlsdGVyX3R5cGVzKGJsa2lkX3Byb2JlIHByLCBpbnQgZmxhZywgY2hhciAqbmFtZXNbXSkKK3sKKwlyZXR1cm4gX19ibGtpZF9wcm9iZV9maWx0ZXJfdHlwZXMocHIsIEJMS0lEX0NIQUlOX1NVQkxLUywgZmxhZywgbmFtZXMpOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX2ZpbHRlcl91c2FnZQorICogQHByOiBwcm9iZXIKKyAqIEBmbGFnOiBmaWx0ZXIgQkxLSURfRkxUUl97Tk9USU4sT05MWUlOfSBmbGFnCisgKiBAdXNhZ2U6IEJMS0lEX1VTQUdFXyogZmxhZ3MKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKgorICogRGVwcmVjYXRlZDogVXNlIGJsa2lkX3Byb2JlX2ZpbHRlcl9zdXBlcmJsb2Nrc191c2FnZSgpLgorICovCitpbnQgYmxraWRfcHJvYmVfZmlsdGVyX3VzYWdlKGJsa2lkX3Byb2JlIHByLCBpbnQgZmxhZywgaW50IHVzYWdlKQoreworCXJldHVybiBibGtpZF9wcm9iZV9maWx0ZXJfc3VwZXJibG9ja3NfdXNhZ2UocHIsIGZsYWcsIHVzYWdlKTsKK30KKworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvc3VwZXJibG9ja3MuaCBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9zdXBlcmJsb2Nrcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5ZGJhMWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvc3VwZXJibG9ja3MuaApAQCAtMCwwICsxLDEwMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOC0yMDA5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpZm5kZWYgX0JMS0lEX1NVUEVSQkxPQ0tTX0gKKyNkZWZpbmUgX0JMS0lEX1NVUEVSQkxPQ0tTX0gKKworI2luY2x1ZGUgImJsa2lkUC5oIgorCitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBjcmFtZnNfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gc3dhcF9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBzd3N1c3BlbmRfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gYWRyYWlkX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGRkZnJhaWRfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gaXN3cmFpZF9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBqbXJhaWRfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gbHNpcmFpZF9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBudnJhaWRfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gcGRjcmFpZF9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBzaWxyYWlkX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHZpYXJhaWRfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gbGludXhyYWlkX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGV4dDRkZXZfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gZXh0NF9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBleHQzX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGV4dDJfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gamJkX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGpmc19pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyB4ZnNfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8geGZzX2xvZ19pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBnZnNfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gZ2ZzMl9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyByb21mc19pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBvY2ZzX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIG9jZnMyX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIG9yYWNsZWFzbV9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyByZWlzZXJfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gcmVpc2VyNF9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBoZnNfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gaGZzcGx1c19pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBudGZzX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHJlZnNfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gaXNvOTY2MF9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyB1ZGZfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gdnhmc19pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBtaW5peF9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyB2ZmF0X2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHVmc19pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBocGZzX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGx2bTJfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gbHZtMV9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBzbmFwY293X2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHZlcml0eV9oYXNoX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGx1a3NfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gaGlnaHBvaW50Mzd4X2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGhpZ2hwb2ludDQ1eF9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBzcXVhc2hmc19pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBzcXVhc2hmczNfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gbmV0d2FyZV9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBzeXN2X2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHhlbml4X2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGJ0cmZzX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHViaWZzX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHpmc19pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBiZnNfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gdm1mc192b2x1bWVfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gdm1mc19mc19pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBkcmJkX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGRyYmRtYW5hZ2VfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gZHJiZHByb3h5X2RhdGFsb2dfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gYmVmc19pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBuaWxmczJfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gZXhmYXRfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gZjJmc19pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBiY2FjaGVfaWRpbmZvOworCisvKgorICogc3VwZXJibG9jayBmdW5jdGlvbnMKKyAqLworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9zZXRfdmVyc2lvbihibGtpZF9wcm9iZSBwciwgY29uc3QgY2hhciAqdmVyc2lvbik7CitleHRlcm4gaW50IGJsa2lkX3Byb2JlX3NwcmludGZfdmVyc2lvbihibGtpZF9wcm9iZSBwciwgY29uc3QgY2hhciAqZm10LCAuLi4pCisJCV9fYXR0cmlidXRlX18gKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAyLCAzKSkpOworCitleHRlcm4gaW50IGJsa2lkX3Byb2JlX3NldF9sYWJlbChibGtpZF9wcm9iZSBwciwgdW5zaWduZWQgY2hhciAqbGFiZWwsIHNpemVfdCBsZW4pOworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9zZXRfdXRmOGxhYmVsKGJsa2lkX3Byb2JlIHByLCB1bnNpZ25lZCBjaGFyICpsYWJlbCwKKyAgICAgICAgICAgICAgICBzaXplX3QgbGVuLCBpbnQgZW5jKTsKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfc3ByaW50Zl91dWlkKGJsa2lkX3Byb2JlIHByLCB1bnNpZ25lZCBjaGFyICp1dWlkLAorICAgICAgICAgICAgICAgIHNpemVfdCBsZW4sIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQorCQlfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyAoX19wcmludGZfXywgNCwgNSkpKTsKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfc3RybmNweV91dWlkKGJsa2lkX3Byb2JlIHByLCB1bnNpZ25lZCBjaGFyICpzdHIsIHNpemVfdCBsZW4pOworCitleHRlcm4gaW50IGJsa2lkX3Byb2JlX3NldF91dWlkKGJsa2lkX3Byb2JlIHByLCB1bnNpZ25lZCBjaGFyICp1dWlkKTsKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfc2V0X3V1aWRfYXMoYmxraWRfcHJvYmUgcHIsIHVuc2lnbmVkIGNoYXIgKnV1aWQsIGNvbnN0IGNoYXIgKm5hbWUpOworCitleHRlcm4gaW50IGJsa2lkX3Byb2JlX3NldF9pZF9sYWJlbChibGtpZF9wcm9iZSBwciwgY29uc3QgY2hhciAqbmFtZSwKKwkJCSAgICAgdW5zaWduZWQgY2hhciAqZGF0YSwgc2l6ZV90IGxlbik7CitleHRlcm4gaW50IGJsa2lkX3Byb2JlX3NldF91dGY4X2lkX2xhYmVsKGJsa2lkX3Byb2JlIHByLCBjb25zdCBjaGFyICpuYW1lLAorCQkJICAgICB1bnNpZ25lZCBjaGFyICpkYXRhLCBzaXplX3QgbGVuLCBpbnQgZW5jKTsKKworI2VuZGlmIC8qIF9CTEtJRF9TVVBFUkJMT0NLU19IICovCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvc3dhcC5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3N3YXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjIxMzkxCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3N3YXAuYwpAQCAtMCwwICsxLDE3OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMTk5OSBieSBBbmRyaWVzIEJyb3V3ZXIKKyAqIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMCwgMjAwMyBieSBUaGVvZG9yZSBUcydvCisgKiBDb3B5cmlnaHQgKEMpIDIwMDEgYnkgQW5kcmVhcyBEaWxnZXIKKyAqIENvcHlyaWdodCAoQykgMjAwNCBLYXkgU2lldmVycyA8a2F5LnNpZXZlcnNAdnJmeS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworLyogbGludXgtMi42L2luY2x1ZGUvbGludXgvc3dhcC5oICovCitzdHJ1Y3Qgc3dhcF9oZWFkZXJfdjFfMiB7CisgICAgIC8qCWNoYXIJCWJvb3RiaXRzWzEwMjRdOwkqLyAvKiBTcGFjZSBmb3IgZGlza2xhYmVsIGV0Yy4gKi8KKwl1aW50MzJfdAl2ZXJzaW9uOworCXVpbnQzMl90CWxhc3RwYWdlOworCXVpbnQzMl90CW5yX2JhZHBhZ2VzOworCXVuc2lnbmVkIGNoYXIJdXVpZFsxNl07CisJdW5zaWduZWQgY2hhcgl2b2x1bWVbMTZdOworCXVpbnQzMl90CXBhZGRpbmdbMTE3XTsKKwl1aW50MzJfdAliYWRwYWdlc1sxXTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKyNkZWZpbmUgUEFHRVNJWkVfTUlOCTB4ZmY2CS8qIDQwODYgKGFybSwgaTM4NiwgLi4uKSAqLworI2RlZmluZSBQQUdFU0laRV9NQVgJMHhmZmY2CS8qIDY1NTI2IChpYTY0KSAqLworCisjZGVmaW5lIFRPSV9NQUdJQ19TVFJJTkcJIlx4ZWRceGMzXHgwMlx4ZTlceDk4XHg1Nlx4ZTVceDBjIgorI2RlZmluZSBUT0lfTUFHSUNfU1RSTEVOCShzaXplb2YoVE9JX01BR0lDX1NUUklORykgLSAxKQorCitzdGF0aWMgaW50IHN3YXBfc2V0X2luZm8oYmxraWRfcHJvYmUgcHIsIGNvbnN0IGNoYXIgKnZlcnNpb24pCit7CisJc3RydWN0IHN3YXBfaGVhZGVyX3YxXzIgKmhkcjsKKworCS8qIFN3YXAgaGVhZGVyIGFsd2F5cyBsb2NhdGVkIGF0IG9mZnNldCBvZiAxMDI0IGJ5dGVzICovCisJaGRyID0gKHN0cnVjdCBzd2FwX2hlYWRlcl92MV8yICopIGJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsIDEwMjQsCisJCQkJc2l6ZW9mKHN0cnVjdCBzd2FwX2hlYWRlcl92MV8yKSk7CisJaWYgKCFoZHIpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwkvKiBTV0FQU1BBQ0UyIC0gY2hlY2sgZm9yIHdyb25nIHZlcnNpb24gb3IgemVyb2VkIHBhZ2Vjb3VudCAqLworCWlmIChzdHJjbXAodmVyc2lvbiwgIjEiKSA9PSAwKSB7CisJCWlmIChoZHItPnZlcnNpb24gIT0gMSAmJiBzd2FiMzIoaGRyLT52ZXJzaW9uKSAhPSAxKSB7CisJCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJpbmNvcnJlY3Qgc3dhcCB2ZXJzaW9uIikpOworCQkJcmV0dXJuIDE7CisJCX0KKwkJaWYgKGhkci0+bGFzdHBhZ2UgPT0gMCkgeworCQkJREJHKExPV1BST0JFLCB1bF9kZWJ1Zygibm90IHNldCBsYXN0IHN3YXAgcGFnZSIpKTsKKwkJCXJldHVybiAxOworCQl9CisJfQorCisJLyogYXJiaXRyYXJ5IHNhbml0eSBjaGVjay4uIGlzIHRoZXJlIGFueSBnYXJiYWdlIGRvd24gdGhlcmU/ICovCisJaWYgKGhkci0+cGFkZGluZ1szMl0gPT0gMCAmJiBoZHItPnBhZGRpbmdbMzNdID09IDApIHsKKwkJaWYgKGhkci0+dm9sdW1lWzBdICYmIGJsa2lkX3Byb2JlX3NldF9sYWJlbChwciwgaGRyLT52b2x1bWUsCisJCQkJc2l6ZW9mKGhkci0+dm9sdW1lKSkgPCAwKQorCQkJcmV0dXJuIDE7CisJCWlmIChibGtpZF9wcm9iZV9zZXRfdXVpZChwciwgaGRyLT51dWlkKSA8IDApCisJCQlyZXR1cm4gMTsKKwl9CisKKwlibGtpZF9wcm9iZV9zZXRfdmVyc2lvbihwciwgdmVyc2lvbik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfc3dhcChibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJdW5zaWduZWQgY2hhciAqYnVmOworCisJaWYgKCFtYWcpCisJCXJldHVybiAxOworCisJLyogVHV4T25JY2Uga2VlcHMgdmFsaWQgc3dhcCBoZWFkZXIgYXQgdGhlIGVuZCBvZiB0aGUgMXN0IHBhZ2UgKi8KKwlidWYgPSBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLCAwLCBUT0lfTUFHSUNfU1RSTEVOKTsKKwlpZiAoIWJ1ZikKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCWlmIChtZW1jbXAoYnVmLCBUT0lfTUFHSUNfU1RSSU5HLCBUT0lfTUFHSUNfU1RSTEVOKSA9PSAwKQorCQlyZXR1cm4gMTsJLyogSWdub3JlIHN3YXAgc2lnbmF0dXJlLCBpdCdzIFR1eE9uSWNlICovCisKKwlpZiAoIW1lbWNtcChtYWctPm1hZ2ljLCAiU1dBUC1TUEFDRSIsIG1hZy0+bGVuKSkgeworCQkvKiBzd2FwIHYwIGRvZXNuJ3Qgc3VwcG9ydCBMQUJFTCBvciBVVUlEICovCisJCWJsa2lkX3Byb2JlX3NldF92ZXJzaW9uKHByLCAiMCIpOworCQlyZXR1cm4gMDsKKworCX0gZWxzZSBpZiAoIW1lbWNtcChtYWctPm1hZ2ljLCAiU1dBUFNQQUNFMiIsIG1hZy0+bGVuKSkKKwkJcmV0dXJuIHN3YXBfc2V0X2luZm8ocHIsICIxIik7CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBwcm9iZV9zd3N1c3BlbmQoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCWlmICghbWFnKQorCQlyZXR1cm4gMTsKKwlpZiAoIW1lbWNtcChtYWctPm1hZ2ljLCAiUzFTVVNQRU5EIiwgbWFnLT5sZW4pKQorCQlyZXR1cm4gc3dhcF9zZXRfaW5mbyhwciwgInMxc3VzcGVuZCIpOworCWlmICghbWVtY21wKG1hZy0+bWFnaWMsICJTMlNVU1BFTkQiLCBtYWctPmxlbikpCisJCXJldHVybiBzd2FwX3NldF9pbmZvKHByLCAiczJzdXNwZW5kIik7CisJaWYgKCFtZW1jbXAobWFnLT5tYWdpYywgIlVMU1VTUEVORCIsIG1hZy0+bGVuKSkKKwkJcmV0dXJuIHN3YXBfc2V0X2luZm8ocHIsICJ1bHN1c3BlbmQiKTsKKwlpZiAoIW1lbWNtcChtYWctPm1hZ2ljLCBUT0lfTUFHSUNfU1RSSU5HLCBtYWctPmxlbikpCisJCXJldHVybiBzd2FwX3NldF9pbmZvKHByLCAidHV4b25pY2UiKTsKKwlpZiAoIW1lbWNtcChtYWctPm1hZ2ljLCAiTElOSElCMDAwMSIsIG1hZy0+bGVuKSkKKwkJcmV0dXJuIHN3YXBfc2V0X2luZm8ocHIsICJsaW5oaWIwMDAxIik7CisKKwlyZXR1cm4gMTsJLyogbm8gc2lnbmF0dXJlIGRldGVjdGVkICovCit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gc3dhcF9pZGluZm8gPQoreworCS5uYW1lCQk9ICJzd2FwIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfT1RIRVIsCisJLnByb2JlZnVuYwk9IHByb2JlX3N3YXAsCisJLm1pbnN6CQk9IDEwICogNDA5NiwJLyogMTAgcGFnZXMgKi8KKwkubWFnaWNzCQk9CisJeworCQl7ICJTV0FQLVNQQUNFIiwgMTAsIDAsICAweGZmNiB9LAorCQl7ICJTV0FQU1BBQ0UyIiwgMTAsIDAsICAweGZmNiB9LAorCQl7ICJTV0FQLVNQQUNFIiwgMTAsIDAsIDB4MWZmNiB9LAorCQl7ICJTV0FQU1BBQ0UyIiwgMTAsIDAsIDB4MWZmNiB9LAorCQl7ICJTV0FQLVNQQUNFIiwgMTAsIDAsIDB4M2ZmNiB9LAorCQl7ICJTV0FQU1BBQ0UyIiwgMTAsIDAsIDB4M2ZmNiB9LAorCQl7ICJTV0FQLVNQQUNFIiwgMTAsIDAsIDB4N2ZmNiB9LAorCQl7ICJTV0FQU1BBQ0UyIiwgMTAsIDAsIDB4N2ZmNiB9LAorCQl7ICJTV0FQLVNQQUNFIiwgMTAsIDAsIDB4ZmZmNiB9LAorCQl7ICJTV0FQU1BBQ0UyIiwgMTAsIDAsIDB4ZmZmNiB9LAorCQl7IE5VTEwgfQorCX0KK307CisKKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBzd3N1c3BlbmRfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAic3dzdXNwZW5kIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfT1RIRVIsCisJLnByb2JlZnVuYwk9IHByb2JlX3N3c3VzcGVuZCwKKwkubWluc3oJCT0gMTAgKiA0MDk2LAkvKiAxMCBwYWdlcyAqLworCS5tYWdpY3MJCT0KKwl7CisJCXsgVE9JX01BR0lDX1NUUklORywgVE9JX01BR0lDX1NUUkxFTiwgMCwgMCB9LAorCQl7ICJTMVNVU1BFTkQiLCA5LCAwLCAweGZmNiB9LAorCQl7ICJTMlNVU1BFTkQiLCA5LCAwLCAweGZmNiB9LAorCQl7ICJVTFNVU1BFTkQiLCA5LCAwLCAweGZmNiB9LAorCQl7ICJMSU5ISUIwMDAxIiwxMCwwLCAweGZmNiB9LAorCisJCXsgIlMxU1VTUEVORCIsIDksIDAsIDB4MWZmNiB9LAorCQl7ICJTMlNVU1BFTkQiLCA5LCAwLCAweDFmZjYgfSwKKwkJeyAiVUxTVVNQRU5EIiwgOSwgMCwgMHgxZmY2IH0sCisJCXsgIkxJTkhJQjAwMDEiLDEwLDAsIDB4MWZmNiB9LAorCisJCXsgIlMxU1VTUEVORCIsIDksIDAsIDB4M2ZmNiB9LAorCQl7ICJTMlNVU1BFTkQiLCA5LCAwLCAweDNmZjYgfSwKKwkJeyAiVUxTVVNQRU5EIiwgOSwgMCwgMHgzZmY2IH0sCisJCXsgIkxJTkhJQjAwMDEiLDEwLDAsIDB4M2ZmNiB9LAorCisJCXsgIlMxU1VTUEVORCIsIDksIDAsIDB4N2ZmNiB9LAorCQl7ICJTMlNVU1BFTkQiLCA5LCAwLCAweDdmZjYgfSwKKwkJeyAiVUxTVVNQRU5EIiwgOSwgMCwgMHg3ZmY2IH0sCisJCXsgIkxJTkhJQjAwMDEiLDEwLDAsIDB4N2ZmNiB9LAorCisJCXsgIlMxU1VTUEVORCIsIDksIDAsIDB4ZmZmNiB9LAorCQl7ICJTMlNVU1BFTkQiLCA5LCAwLCAweGZmZjYgfSwKKwkJeyAiVUxTVVNQRU5EIiwgOSwgMCwgMHhmZmY2IH0sCisJCXsgIkxJTkhJQjAwMDEiLDEwLDAsIDB4ZmZmNiB9LAorCisJCXsgTlVMTCB9CisJfQorfTsKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3N5c3YuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9zeXN2LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDIxNjYwZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9zeXN2LmMKQEAgLTAsMCArMSwxNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBpcyB3cml0dGVuIGZyb20gc2NyYXRjaCBhY2NvcmRpbmcgdG8gTGludXgga2VybmVsIGZzL3N5c3Yvc3VwZXIuYyBmaWxlLgorICogSXQgc2VlbXMgdGhhdCBzeXN2IHByb2JpbmcgY29kZSBpbiBsaWJ2b2x1bWVfaWQgYW5kIGFsc28gaW4gdGhlIG9yaWdpbmFsCisgKiBibGtpZCBpcyB1c2VsZXNzLgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPHN0ZGRlZi5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworI2RlZmluZSBYRU5JWF9OSUNJTk9ECQkJCTEwMAorI2RlZmluZSBYRU5JWF9OSUNGUkVFCQkJCTEwMAorCitzdHJ1Y3QgeGVuaXhfc3VwZXJfYmxvY2sgeworCXVpbnQxNl90CXNfaXNpemU7CisJdWludDMyX3QJc19mc2l6ZTsKKwl1aW50MTZfdAlzX25mcmVlOworCXVpbnQzMl90CXNfZnJlZVtYRU5JWF9OSUNGUkVFXTsKKwl1aW50MTZfdAlzX25pbm9kZTsKKwl1aW50MTZfdAlzX2lub2RlW1hFTklYX05JQ0lOT0RdOworCXVpbnQ4X3QJCXNfZmxvY2s7CisJdWludDhfdAkJc19pbG9jazsKKwl1aW50OF90CQlzX2Ztb2Q7CisJdWludDhfdAkJc19yb25seTsKKwl1aW50MzJfdAlzX3RpbWU7CisJdWludDMyX3QJc190ZnJlZTsKKwl1aW50MTZfdAlzX3Rpbm9kZTsKKwl1aW50MTZfdAlzX2RpbmZvWzRdOworCXVpbnQ4X3QJCXNfZm5hbWVbNl07CisJdWludDhfdAkJc19mcGFja1s2XTsKKwl1aW50OF90CQlzX2NsZWFuOworCXVpbnQ4X3QJCXNfZmlsbFszNzFdOworCXVpbnQzMl90CXNfbWFnaWM7CisJdWludDMyX3QJc190eXBlOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworCisjZGVmaW5lIFNZU1ZfTklDSU5PRAkJCTEwMAorI2RlZmluZSBTWVNWX05JQ0ZSRUUJCQk1MAorCitzdHJ1Y3Qgc3lzdl9zdXBlcl9ibG9jaworeworCXVpbnQxNl90CXNfaXNpemU7CisJdWludDE2X3QJc19wYWQwOworCXVpbnQzMl90CXNfZnNpemU7CisJdWludDE2X3QJc19uZnJlZTsKKwl1aW50MTZfdAlzX3BhZDE7CisJdWludDMyX3QJc19mcmVlW1NZU1ZfTklDRlJFRV07CisJdWludDE2X3QJc19uaW5vZGU7CisJdWludDE2X3QJc19wYWQyOworCXVpbnQxNl90CXNfaW5vZGVbU1lTVl9OSUNJTk9EXTsKKwl1aW50OF90CQlzX2Zsb2NrOworCXVpbnQ4X3QJCXNfaWxvY2s7CisJdWludDhfdAkJc19mbW9kOworCXVpbnQ4X3QJCXNfcm9ubHk7CisJdWludDMyX3QJc190aW1lOworCXVpbnQxNl90CXNfZGluZm9bNF07CisJdWludDMyX3QJc190ZnJlZTsKKwl1aW50MTZfdAlzX3Rpbm9kZTsKKwl1aW50MTZfdAlzX3BhZDM7CisJdWludDhfdAkJc19mbmFtZVs2XTsKKwl1aW50OF90CQlzX2ZwYWNrWzZdOworCXVpbnQzMl90CXNfZmlsbFsxMl07CisJdWludDMyX3QJc19zdGF0ZTsKKwl1aW50MzJfdAlzX21hZ2ljOworCXVpbnQzMl90CXNfdHlwZTsKK307CisKK3N0YXRpYyBpbnQgcHJvYmVfeGVuaXgoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCXN0cnVjdCB4ZW5peF9zdXBlcl9ibG9jayAqc2I7CisKKwlzYiA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3QgeGVuaXhfc3VwZXJfYmxvY2spOworCWlmICghc2IpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisJYmxraWRfcHJvYmVfc2V0X2xhYmVsKHByLCBzYi0+c19mbmFtZSwgc2l6ZW9mKHNiLT5zX2ZuYW1lKSk7CisJcmV0dXJuIDA7Cit9CisKKyNkZWZpbmUgU1lTVl9CTE9DS19TSVpFCTEwMjQKKworLyogTm90ZSB0aGF0IHdlIGRvbid0IHByb2JlIGZvciBDb2hlcmVudCBGUywgdGhpcyBGUyBkb2VzIG5vdCBoYXZlCisgKiBtYWdpYyBzdHJpbmcuIChJdCByZXF1aXJlcyB0byBwcm9iZSBmbmFtZS9mcGFjayBmaWVsZC4uKQorICovCitzdGF0aWMgaW50IHByb2JlX3N5c3YoYmxraWRfcHJvYmUgcHIsCisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlzdHJ1Y3Qgc3lzdl9zdXBlcl9ibG9jayAqc2I7CisJaW50IGJsb2Nrc1tdID0gezAsIDksIDE1LCAxOH07CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShibG9ja3MpOyBpKyspIHsKKwkJaW50IG9mZiA9IGJsb2Nrc1tpXSAqIFNZU1ZfQkxPQ0tfU0laRSArIFNZU1ZfQkxPQ0tfU0laRS8yOworCisJCXNiID0gKHN0cnVjdCBzeXN2X3N1cGVyX2Jsb2NrICopCisJCQlibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLAorCQkJCQlvZmYsCisJCQkJCXNpemVvZihzdHJ1Y3Qgc3lzdl9zdXBlcl9ibG9jaykpOworCQlpZiAoIXNiKQorCQkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCQlpZiAoc2ItPnNfbWFnaWMgPT0gY3B1X3RvX2xlMzIoMHhmZDE4N2UyMCkgfHwKKwkJICAgIHNiLT5zX21hZ2ljID09IGNwdV90b19iZTMyKDB4ZmQxODdlMjApKSB7CisKKwkJCWlmIChibGtpZF9wcm9iZV9zZXRfbGFiZWwocHIsIHNiLT5zX2ZuYW1lLAorCQkJCQkJc2l6ZW9mKHNiLT5zX2ZuYW1lKSkpCisJCQkJcmV0dXJuIDE7CisKKwkJCWlmIChibGtpZF9wcm9iZV9zZXRfbWFnaWMocHIsCisJCQkJCW9mZiArIG9mZnNldG9mKHN0cnVjdCBzeXN2X3N1cGVyX2Jsb2NrLAorCQkJCQkJCQlzX21hZ2ljKSwKKwkJCQkJc2l6ZW9mKHNiLT5zX21hZ2ljKSwKKwkJCQkJKHVuc2lnbmVkIGNoYXIgKikgJnNiLT5zX21hZ2ljKSkKKwkJCQlyZXR1cm4gMTsKKworCQkJcmV0dXJuIDA7CisJCX0KKwl9CisJcmV0dXJuIDE7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8geGVuaXhfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAieGVuaXgiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV94ZW5peCwKKwkubWFnaWNzCQk9CisJeworCQl7IC5tYWdpYyA9ICJceDJiXHg1NVx4NDQiLCAubGVuID0gMywgLmtib2ZmID0gMSwgLnNib2ZmID0gMHg0MDAgfSwKKwkJeyAubWFnaWMgPSAiXHg0NFx4NTVceDJiIiwgLmxlbiA9IDMsIC5rYm9mZiA9IDEsIC5zYm9mZiA9IDB4NDAwIH0sCisJCXsgTlVMTCB9CisJfQorfTsKKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBzeXN2X2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gInN5c3YiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9zeXN2LAorCisJLyogU1lTViBpcyBCRSBhbmQgTEUgYW5kIHN1cGVyYmxvY2sgY291bGQgYmUgb24gZm91ciBwb3NpdGlvbnMuIEl0J3MKKwkgKiBzaW1wbGVyIHRvIHByb2JlIGZvciB0aGUgbWFnaWMgc3RyaW5nIGJ5IC5wcm9iZWZ1bmMoKS4KKwkgKi8KKwkubWFnaWNzCQk9IEJMS0lEX05PTkVfTUFHSUMKK307CisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy91Ymlmcy5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3ViaWZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGM4NDI2MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy91Ymlmcy5jCkBAIC0wLDAgKzEsMTIxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IENvcmVudGluIENoYXJ5IDxjb3JlbnRpbmNqQGlrc2FpZi5uZXQ+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCisvKgorICogc3RydWN0IHViaWZzX2NoIC0gY29tbW9uIGhlYWRlciBub2RlLgorICogQG1hZ2ljOiBVQklGUyBub2RlIG1hZ2ljIG51bWJlciAoJVVCSUZTX05PREVfTUFHSUMpCisgKiBAY3JjOiBDUkMtMzIgY2hlY2tzdW0gb2YgdGhlIG5vZGUgaGVhZGVyCisgKiBAc3FudW06IHNlcXVlbmNlIG51bWJlcgorICogQGxlbjogZnVsbCBub2RlIGxlbmd0aAorICogQG5vZGVfdHlwZTogbm9kZSB0eXBlCisgKiBAZ3JvdXBfdHlwZTogbm9kZSBncm91cCB0eXBlCisgKiBAcGFkZGluZzogcmVzZXJ2ZWQgZm9yIGZ1dHVyZSwgemVyb2VzCisgKgorICogRXZlcnkgVUJJRlMgbm9kZSBzdGFydHMgd2l0aCB0aGlzIGNvbW1vbiBwYXJ0LiBJZiB0aGUgbm9kZSBoYXMgYSBrZXksIHRoZQorICoga2V5IGFsd2F5cyBnb2VzIG5leHQuCisgKi8KK3N0cnVjdCB1Ymlmc19jaCB7CisJdWludDMyX3QgbWFnaWM7CisJdWludDMyX3QgY3JjOworCXVpbnQ2NF90IHNxbnVtOworCXVpbnQzMl90IGxlbjsKKwl1aW50OF90IG5vZGVfdHlwZTsKKwl1aW50OF90IGdyb3VwX3R5cGU7CisJdWludDhfdCBwYWRkaW5nWzJdOworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisKKy8qCisgKiBzdHJ1Y3QgdWJpZnNfc2Jfbm9kZSAtIHN1cGVyYmxvY2sgbm9kZS4KKyAqIEBjaDogY29tbW9uIGhlYWRlcgorICogQHBhZGRpbmc6IHJlc2VydmVkIGZvciBmdXR1cmUsIHplcm9lcworICogQGtleV9oYXNoOiB0eXBlIG9mIGhhc2ggZnVuY3Rpb24gdXNlZCBpbiBrZXlzCisgKiBAa2V5X2ZtdDogZm9ybWF0IG9mIHRoZSBrZXkKKyAqIEBmbGFnczogZmlsZS1zeXN0ZW0gZmxhZ3MgKCVVQklGU19GTEdfQklHTFBULCBldGMpCisgKiBAbWluX2lvX3NpemU6IG1pbmltYWwgaW5wdXQvb3V0cHV0IHVuaXQgc2l6ZQorICogQGxlYl9zaXplOiBsb2dpY2FsIGVyYXNlYmxvY2sgc2l6ZSBpbiBieXRlcworICogQGxlYl9jbnQ6IGNvdW50IG9mIExFQnMgdXNlZCBieSBmaWxlLXN5c3RlbQorICogQG1heF9sZWJfY250OiBtYXhpbXVtIGNvdW50IG9mIExFQnMgdXNlZCBieSBmaWxlLXN5c3RlbQorICogQG1heF9idWRfYnl0ZXM6IG1heGltdW0gYW1vdW50IG9mIGRhdGEgc3RvcmVkIGluIGJ1ZHMKKyAqIEBsb2dfbGViczogbG9nIHNpemUgaW4gbG9naWNhbCBlcmFzZWJsb2NrcworICogQGxwdF9sZWJzOiBudW1iZXIgb2YgTEVCcyB1c2VkIGZvciBscHJvcHMgdGFibGUKKyAqIEBvcnBoX2xlYnM6IG51bWJlciBvZiBMRUJzIHVzZWQgZm9yIHJlY29yZGluZyBvcnBoYW5zCisgKiBAamhlYWRfY250OiBjb3VudCBvZiBqb3VybmFsIGhlYWRzCisgKiBAZmFub3V0OiB0cmVlIGZhbm91dCAobWF4LiBudW1iZXIgb2YgbGlua3MgcGVyIGluZGV4aW5nIG5vZGUpCisgKiBAbHNhdmVfY250OiBudW1iZXIgb2YgTEVCIG51bWJlcnMgaW4gTFBUJ3Mgc2F2ZSB0YWJsZQorICogQGZtdF92ZXJzaW9uOiBVQklGUyBvbi1mbGFzaCBmb3JtYXQgdmVyc2lvbgorICogQGRlZmF1bHRfY29tcHI6IGRlZmF1bHQgY29tcHJlc3Npb24gYWxnb3JpdGhtICglVUJJRlNfQ09NUFJfTFpPLCBldGMpCisgKiBAcGFkZGluZzE6IHJlc2VydmVkIGZvciBmdXR1cmUsIHplcm9lcworICogQHJwX3VpZDogcmVzZXJ2ZSBwb29sIFVJRAorICogQHJwX2dpZDogcmVzZXJ2ZSBwb29sIEdJRAorICogQHJwX3NpemU6IHNpemUgb2YgdGhlIHJlc2VydmVkIHBvb2wgaW4gYnl0ZXMKKyAqIEBwYWRkaW5nMjogcmVzZXJ2ZWQgZm9yIGZ1dHVyZSwgemVyb2VzCisgKiBAdGltZV9ncmFuOiB0aW1lIGdyYW51bGFyaXR5IGluIG5hbm9zZWNvbmRzCisgKiBAdXVpZDogVVVJRCBnZW5lcmF0ZWQgd2hlbiB0aGUgZmlsZSBzeXN0ZW0gaW1hZ2Ugd2FzIGNyZWF0ZWQKKyAqIEByb19jb21wYXRfdmVyc2lvbjogVUJJRlMgUi9PIGNvbXBhdGliaWxpdHkgdmVyc2lvbgorICovCitzdHJ1Y3QgdWJpZnNfc2Jfbm9kZSB7CisJc3RydWN0IHViaWZzX2NoIGNoOworCXVpbnQ4X3QgcGFkZGluZ1syXTsKKwl1aW50OF90IGtleV9oYXNoOworCXVpbnQ4X3Qga2V5X2ZtdDsKKwl1aW50MzJfdCBmbGFnczsKKwl1aW50MzJfdCBtaW5faW9fc2l6ZTsKKwl1aW50MzJfdCBsZWJfc2l6ZTsKKwl1aW50MzJfdCBsZWJfY250OworCXVpbnQzMl90IG1heF9sZWJfY250OworCXVpbnQ2NF90IG1heF9idWRfYnl0ZXM7CisJdWludDMyX3QgbG9nX2xlYnM7CisJdWludDMyX3QgbHB0X2xlYnM7CisJdWludDMyX3Qgb3JwaF9sZWJzOworCXVpbnQzMl90IGpoZWFkX2NudDsKKwl1aW50MzJfdCBmYW5vdXQ7CisJdWludDMyX3QgbHNhdmVfY250OworCXVpbnQzMl90IGZtdF92ZXJzaW9uOworCXVpbnQxNl90IGRlZmF1bHRfY29tcHI7CisJdWludDhfdCBwYWRkaW5nMVsyXTsKKwl1aW50MzJfdCBycF91aWQ7CisJdWludDMyX3QgcnBfZ2lkOworCXVpbnQ2NF90IHJwX3NpemU7CisJdWludDMyX3QgdGltZV9ncmFuOworCXVpbnQ4X3QgdXVpZFsxNl07CisJdWludDMyX3Qgcm9fY29tcGF0X3ZlcnNpb247CisJdWludDhfdCBwYWRkaW5nMlszOTY4XTsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCitzdGF0aWMgaW50IHByb2JlX3ViaWZzKGJsa2lkX3Byb2JlIHByLCBjb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZykKK3sKKwlzdHJ1Y3QgdWJpZnNfc2Jfbm9kZSAqc2I7CisKKwlzYiA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3QgdWJpZnNfc2Jfbm9kZSk7CisJaWYgKCFzYikKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCWJsa2lkX3Byb2JlX3NldF91dWlkKHByLCBzYi0+dXVpZCk7CisJYmxraWRfcHJvYmVfc3ByaW50Zl92ZXJzaW9uKHByLCAidyVkciVkIiwKKwkJCWxlMzJfdG9fY3B1KHNiLT5mbXRfdmVyc2lvbiksCisJCQlsZTMyX3RvX2NwdShzYi0+cm9fY29tcGF0X3ZlcnNpb24pKTsKKwlyZXR1cm4gMDsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyB1Ymlmc19pZGluZm8gPQoreworCS5uYW1lCQk9ICJ1YmlmcyIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX0ZJTEVTWVNURU0sCisJLnByb2JlZnVuYwk9IHByb2JlX3ViaWZzLAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gIlx4MzFceDE4XHgxMFx4MDYiLCAubGVuID0gNCB9LAorCQl7IE5VTEwgfQorCX0KK307CmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvdWRmLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvdWRmLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmMyNThjZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy91ZGYuYwpAQCAtMCwwICsxLDM2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMTk5OSBieSBBbmRyaWVzIEJyb3V3ZXIKKyAqIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMCwgMjAwMyBieSBUaGVvZG9yZSBUcydvCisgKiBDb3B5cmlnaHQgKEMpIDIwMDEgYnkgQW5kcmVhcyBEaWxnZXIKKyAqIENvcHlyaWdodCAoQykgMjAwNCBLYXkgU2lldmVycyA8a2F5LnNpZXZlcnNAdnJmeS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKyNpbmNsdWRlICJpc285NjYwLmgiCisKK3N0cnVjdCBkc3RyaW5nMTI4IHsKKwl1aW50OF90CWNsZW47CisJdWludDhfdAljWzEyN107Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdHJ1Y3QgZHN0cmluZzMyIHsKKwl1aW50OF90CWNsZW47CisJdWludDhfdAljWzMxXTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0cnVjdCB2b2x1bWVfZGVzY3JpcHRvciB7CisJc3RydWN0IGRlc2NyaXB0b3JfdGFnIHsKKwkJdWludDE2X3QJaWQ7CisJCXVpbnQxNl90CXZlcnNpb247CisJCXVpbnQ4X3QJCWNoZWNrc3VtOworCQl1aW50OF90CQlyZXNlcnZlZDsKKwkJdWludDE2X3QJc2VyaWFsOworCQl1aW50MTZfdAljcmM7CisJCXVpbnQxNl90CWNyY19sZW47CisJCXVpbnQzMl90CWxvY2F0aW9uOworCX0gX19hdHRyaWJ1dGVfXygocGFja2VkKSkgdGFnOworCisJdW5pb24geworCQlzdHJ1Y3QgYW5jaG9yX2Rlc2NyaXB0b3IgeworCQkJdWludDMyX3QJbGVuZ3RoOworCQkJdWludDMyX3QJbG9jYXRpb247CisJCX0gX19hdHRyaWJ1dGVfXygocGFja2VkKSkgYW5jaG9yOworCisJCXN0cnVjdCBwcmltYXJ5X2Rlc2NyaXB0b3IgeworCQkJdWludDMyX3QJc2VxX251bTsKKwkJCXVpbnQzMl90CWRlc2NfbnVtOworCQkJc3RydWN0IGRzdHJpbmczMiBpZGVudDsKKwkJCXVpbnQxNl90CXZkc19udW07CisJCQl1aW50MTZfdAltYXhfdm9sX3NlcTsKKwkJCXVpbnQxNl90CWljaGdfbHZsOworCQkJdWludDE2X3QJbWF4X2ljaGdfbHZsOworCQkJdWludDMyX3QJY2hhcnNldF9saXN0OworCQkJdWludDMyX3QJbWF4X2NoYXJzZXRfbGlzdDsKKwkJCXN0cnVjdCBkc3RyaW5nMTI4IHZvbHNldF9pZDsKKwkJfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSBwcmltYXJ5OworCisJCXN0cnVjdCBsb2dpY2FsX2Rlc2NyaXB0b3IgeworCQkJdWludDMyX3QJc2VxX251bTsKKwkJCXVpbnQ4X3QJCWRlc2NfY2hhcnNldFs2NF07CisJCQlzdHJ1Y3QgZHN0cmluZzEyOCBsb2d2b2xfaWQ7CisJCX0gX19hdHRyaWJ1dGVfXygocGFja2VkKSkgbG9naWNhbDsKKwl9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIHR5cGU7CisKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0cnVjdCB2b2x1bWVfc3RydWN0dXJlX2Rlc2NyaXB0b3IgeworCXVpbnQ4X3QJCXR5cGU7CisJdWludDhfdAkJaWRbNV07CisJdWludDhfdAkJdmVyc2lvbjsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKyNkZWZpbmUgVURGX1ZTRF9PRkZTRVQJCQkweDgwMDBMTAorCitzdGF0aWMgaW5saW5lIGludCBnZW5fdXVpZF9mcm9tX3ZvbHNldF9pZCh1bnNpZ25lZCBjaGFyIHV1aWRbMTddLCBzdHJ1Y3QgZHN0cmluZzEyOCAqdm9sc2V0X2lkKQoreworCXNpemVfdCBpOworCXNpemVfdCBsZW47CisJc2l6ZV90IGJpbnBvczsKKwl1bnNpZ25lZCBjaGFyIGJ1ZlsxMjhdOworCisJaWYgKHZvbHNldF9pZC0+Y2xlbiA9PSA4KQorCQltZW1jcHkoYnVmLCB2b2xzZXRfaWQtPmMsIDE2KTsKKwllbHNlIGlmICh2b2xzZXRfaWQtPmNsZW4gPT0gMTYpCisJCWJsa2lkX2VuY29kZV90b191dGY4KEJMS0lEX0VOQ19VVEYxNkJFLCBidWYsIHNpemVvZihidWYpLCB2b2xzZXRfaWQtPmMsIDEyNyk7CisJZWxzZQorCQlyZXR1cm4gLTE7CisKKwlidWZbMTZdID0gMDsKKwlsZW4gPSBzdHJsZW4oKGNoYXIgKikgYnVmKTsKKworCWlmIChsZW4gPCA4KQorCQlyZXR1cm4gLTE7CisKKwlmb3IgKGkgPSBsZW47IGkgPCAxNjsgKytpKQorCQlidWZbaV0gPSAwOworCisJYmlucG9zID0gMTY7CisJZm9yIChpID0gMDsgaSA8IGxlbjsgKytpKSB7CisJCWlmICghaXNhbG51bShidWZbaV0pKSB7CisJCQliaW5wb3MgPSBpOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlpZiAoYmlucG9zIDwgOCkgeworCQlmb3IgKGkgPSAwOyBpIDwgODsgKytpKQorCQkJc25wcmludGYoKGNoYXIgKikgdXVpZCArIDIgKiBpLCAzLCAiJTAyeCIsIGJ1ZltpXSk7CisJfSBlbHNlIGlmIChiaW5wb3MgPCAxNikgeworCQltZW1jcHkodXVpZCwgYnVmLCA4KTsKKwkJZm9yIChpID0gMDsgaSA8IDQ7ICsraSkKKwkJCXNucHJpbnRmKChjaGFyICopIHV1aWQgKyA4ICsgMiAqIGksIDMsICIlMDJ4IiwgYnVmWzgraV0pOworCX0gZWxzZSB7CisJCW1lbWNweSh1dWlkLCBidWYsIDE2KTsKKwkJdXVpZFsxNl0gPSAwOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHByb2JlX3VkZihibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXN0cnVjdCB2b2x1bWVfZGVzY3JpcHRvciAqdmQ7CisJc3RydWN0IHZvbHVtZV9zdHJ1Y3R1cmVfZGVzY3JpcHRvciAqdnNkOworCXVuc2lnbmVkIGludCBiczsKKwl1bnNpZ25lZCBpbnQgcGJzWzJdOworCXVuc2lnbmVkIGludCBiOworCXVuc2lnbmVkIGludCB0eXBlOworCXVuc2lnbmVkIGludCBjb3VudDsKKwl1bnNpZ25lZCBpbnQgbG9jOworCXVuc2lnbmVkIGludCBpOworCWludCBoYXZlX2xhYmVsID0gMDsKKwlpbnQgaGF2ZV91dWlkID0gMDsKKwlpbnQgaGF2ZV9sb2d2b2xpZCA9IDA7CisJaW50IGhhdmVfdm9saWQgPSAwOworCWludCBoYXZlX3ZvbHNldGlkID0gMDsKKworCS8qIFRoZSBibG9jayBzaXplIG9mIGEgVURGIGZpbGVzeXN0ZW0gaXMgdGhhdCBvZiB0aGUgdW5kZXJseWluZworCSAqIHN0b3JhZ2U7IHdlIGNoZWNrIGxhdGVyIG9uIGZvciB0aGUgc3BlY2lhbCBjYXNlIG9mIGltYWdlIGZpbGVzLAorCSAqIHdoaWNoIG1heSBoYXZlIHRoZSAyMDQ4LWJ5dGUgYmxvY2sgc2l6ZSBvZiBvcHRpY2FsIG1lZGlhLiAqLworCXBic1swXSA9IGJsa2lkX3Byb2JlX2dldF9zZWN0b3JzaXplKHByKTsKKwlwYnNbMV0gPSAweDgwMDsKKworCS8qIGNoZWNrIGZvciBhIFZvbHVtZSBTdHJ1Y3R1cmUgRGVzY3JpcHRvciAoVlNEKTsgZWFjaCBpcworCSAqIDIwNDggYnl0ZXMgbG9uZyAqLworCWZvciAoYiA9IDA7IGIgPCAweDgwMDA7IGIgKz0gMHg4MDApIHsKKwkJdnNkID0gKHN0cnVjdCB2b2x1bWVfc3RydWN0dXJlX2Rlc2NyaXB0b3IgKikKKwkJCWJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsCisJCQkJCVVERl9WU0RfT0ZGU0VUICsgYiwKKwkJCQkJc2l6ZW9mKCp2c2QpKTsKKwkJaWYgKCF2c2QpCisJCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCQlpZiAodnNkLT5pZFswXSAhPSAnXDAnKQorCQkJZ290byBuc3I7CisJfQorCXJldHVybiAxOworCituc3I6CisJLyogc2VhcmNoIHRoZSBsaXN0IG9mIFZTRHMgZm9yIGEgTlNSIGRlc2NyaXB0b3IgKi8KKwlmb3IgKGIgPSAwOyBiIDwgNjQ7IGIrKykgeworCQl2c2QgPSAoc3RydWN0IHZvbHVtZV9zdHJ1Y3R1cmVfZGVzY3JpcHRvciAqKQorCQkJYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwKKwkJCQkJVURGX1ZTRF9PRkZTRVQgKyAoKHVpbnQ2NF90KSBiICogMHg4MDApLAorCQkJCQlzaXplb2YoKnZzZCkpOworCQlpZiAoIXZzZCkKKwkJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisJCWlmICh2c2QtPmlkWzBdID09ICdcMCcpCisJCQlyZXR1cm4gMTsKKwkJaWYgKG1lbWNtcCh2c2QtPmlkLCAiTlNSMDIiLCA1KSA9PSAwKQorCQkJZ290byBhbmNob3I7CisJCWlmIChtZW1jbXAodnNkLT5pZCwgIk5TUjAzIiwgNSkgPT0gMCkKKwkJCWdvdG8gYW5jaG9yOworCX0KKwlyZXR1cm4gMTsKKworYW5jaG9yOgorCS8qIHJlYWQgQW5jaG9yIFZvbHVtZSBEZXNjcmlwdG9yIChBVkRQKSwgY2hlY2tpbmcgYmxvY2sgc2l6ZSAqLworCWZvciAoaSA9IDA7IGkgPCAyOyBpKyspIHsKKwkJdmQgPSAoc3RydWN0IHZvbHVtZV9kZXNjcmlwdG9yICopCisJCQlibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLCAyNTYgKiBwYnNbaV0sIHNpemVvZigqdmQpKTsKKwkJaWYgKCF2ZCkKKwkJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwkJdHlwZSA9IGxlMTZfdG9fY3B1KHZkLT50YWcuaWQpOworCQlpZiAodHlwZSA9PSAyKSAvKiBUQUdfSURfQVZEUCAqLworCQkJZ290byByZWFsX2Jsa3N6OworCX0KKwlyZXR1cm4gMDsKKworcmVhbF9ibGtzejoKKwkvKiBVc2UgdGhlIGFjdHVhbCBibG9jayBzaXplIGZyb20gaGVyZSBvbiBvdXQgKi8KKwlicyA9IHBic1tpXTsKKworCS8qIGdldCBkZXNjcmlwdG9yIGxpc3QgYWRkcmVzcyBhbmQgYmxvY2sgY291bnQgKi8KKwljb3VudCA9IGxlMzJfdG9fY3B1KHZkLT50eXBlLmFuY2hvci5sZW5ndGgpIC8gYnM7CisJbG9jID0gbGUzMl90b19jcHUodmQtPnR5cGUuYW5jaG9yLmxvY2F0aW9uKTsKKworCS8qIGNoZWNrIGlmIHRoZSBsaXN0IGlzIHVzYWJsZSAqLworCWZvciAoYiA9IDA7IGIgPCBjb3VudDsgYisrKSB7CisJCXZkID0gKHN0cnVjdCB2b2x1bWVfZGVzY3JpcHRvciAqKQorCQkJYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwKKwkJCQkJKHVpbnQ2NF90KSAobG9jICsgYikgKiBicywKKwkJCQkJc2l6ZW9mKCp2ZCkpOworCQlpZiAoIXZkKQorCQkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKwl9CisKKwkvKiBUcnkgZXh0cmFjdCBhbGwgcG9zc2libGUgSVNPOTY2MCBpbmZvcm1hdGlvbiAtLSBpZiB0aGVyZSBpcworCSAqIHVzYWJsZSBMQUJFTCBhbmQgVVVJRCBpbiBJU08gaGVhZGVyIHRoZW4gdXNlIGl0LCBvdGhlcndpc2UKKwkgKiByZWFkIFVERiBzcGVjaWZpYyBMQUJFTCBhbmQgVVVJRCAqLworCWlmIChwcm9iZV9pc285NjYwKHByLCBtYWcpID09IDApIHsKKwkJaWYgKF9fYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlKHByLCAiTEFCRUwiKSAhPSBOVUxMKQorCQkJaGF2ZV9sYWJlbCA9IDE7CisJCWlmIChfX2Jsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIlVVSUQiKSAhPSBOVUxMKQorCQkJaGF2ZV91dWlkID0gMTsKKwl9CisKKwkvKiBSZWFkIFVERiBpZGVudGlmaWVycyAqLworCWZvciAoYiA9IDA7IGIgPCBjb3VudDsgYisrKSB7CisJCXZkID0gKHN0cnVjdCB2b2x1bWVfZGVzY3JpcHRvciAqKQorCQkJYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwKKwkJCQkJKHVpbnQ2NF90KSAobG9jICsgYikgKiBicywKKwkJCQkJc2l6ZW9mKCp2ZCkpOworCQlpZiAoIXZkKQorCQkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKwkJdHlwZSA9IGxlMTZfdG9fY3B1KHZkLT50YWcuaWQpOworCQlpZiAodHlwZSA9PSAwKQorCQkJYnJlYWs7CisJCWlmIChsZTMyX3RvX2NwdSh2ZC0+dGFnLmxvY2F0aW9uKSAhPSBsb2MgKyBiKQorCQkJYnJlYWs7CisJCWlmICh0eXBlID09IDEpIHsgLyogVEFHX0lEX1BWRCAqLworCQkJaWYgKCFoYXZlX3ZvbGlkKSB7CisJCQkJdWludDhfdCBjbGVuID0gdmQtPnR5cGUucHJpbWFyeS5pZGVudC5jbGVuOworCQkJCWlmIChjbGVuID09IDgpCisJCQkJCWhhdmVfdm9saWQgPSAhYmxraWRfcHJvYmVfc2V0X2lkX2xhYmVsKHByLCAiVk9MVU1FX0lEIiwKKwkJCQkJCQl2ZC0+dHlwZS5wcmltYXJ5LmlkZW50LmMsIDMxKTsKKwkJCQllbHNlIGlmIChjbGVuID09IDE2KQorCQkJCQloYXZlX3ZvbGlkID0gIWJsa2lkX3Byb2JlX3NldF91dGY4X2lkX2xhYmVsKHByLCAiVk9MVU1FX0lEIiwKKwkJCQkJCQl2ZC0+dHlwZS5wcmltYXJ5LmlkZW50LmMsIDMxLAorCQkJCQkJCUJMS0lEX0VOQ19VVEYxNkJFKTsKKwkJCX0KKwkJCWlmICghaGF2ZV91dWlkKSB7CisJCQkJLyogVm9sdW1lU2V0SWRlbnRpZmllciBpbiBVREYgMi4wMSBzcGVjaWZpY2F0aW9uOgorCQkJCSAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCQkJCSAqIDIuMi4yLjUgZHN0cmluZyBWb2x1bWVTZXRJZGVudGlmaWVyCisJCQkJICoKKwkJCQkgKiBJbnRlcnByZXRlZCBhcyBzcGVjaWZ5aW5nIHRoZSBpZGVudGlmaWVyIGZvciB0aGUgdm9sdW1lIHNldC4KKwkJCQkgKgorCQkJCSAqIFRoZSBmaXJzdCAxNiBjaGFyYWN0ZXJzIG9mIHRoaXMgZmllbGQgc2hvdWxkIGJlIHNldCB0byBhIHVuaXF1ZSB2YWx1ZS4gVGhlCisJCQkJICogcmVtYWluZGVyIG9mIHRoZSBmaWVsZCBtYXkgYmUgc2V0IHRvIGFueSBhbGxvd2VkIHZhbHVlLiBTcGVjaWZpY2FsbHksIHNvZnR3YXJlCisJCQkJICogZ2VuZXJhdGluZyB2b2x1bWVzIGNvbmZvcm1pbmcgdG8gdGhpcyBzcGVjaWZpY2F0aW9uIHNoYWxsIG5vdCBzZXQgdGhpcyBmaWVsZCB0byBhCisJCQkJICogZml4ZWQgb3IgdHJpdmlhbCB2YWx1ZS4gRHVwbGljYXRlIGRpc2tzIHdoaWNoIGFyZSBpbnRlbmRlZCB0byBiZSBpZGVudGljYWwgbWF5CisJCQkJICogY29udGFpbiB0aGUgc2FtZSB2YWx1ZSBpbiB0aGlzIGZpZWxkLgorCQkJCSAqCisJCQkJICogTk9URTogVGhlIGludGVuZGVkIHB1cnBvc2Ugb2YgdGhpcyBpcyB0byBndWFyYW50ZWUgVm9sdW1lIFNldHMgd2l0aCB1bmlxdWUKKwkJCQkgKiBpZGVudGlmaWVycy4gVGhlIGZpcnN0IDggY2hhcmFjdGVycyBvZiB0aGUgdW5pcXVlIHBhcnQgc2hvdWxkIGNvbWUgZnJvbSBhIENTMAorCQkJCSAqIGhleGFkZWNpbWFsIHJlcHJlc2VudGF0aW9uIG9mIGEgMzItYml0IHRpbWUgdmFsdWUuIFRoZSByZW1haW5pbmcgOCBjaGFyYWN0ZXJzCisJCQkJICogYXJlIGZyZWUgZm9yIGltcGxlbWVudGF0aW9uIHVzZS4KKwkJCQkgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKwkJCQkgKgorCQkJCSAqIEltcGxlbWVudGF0aW9uIGluIGxpYmJsa2lkOgorCQkJCSAqIFRoZSBmaXJzdCAxNiBjaGFyYWN0ZXJzIG9mIFZvbHVtZVNldElkZW50aWZpZXIgYXJlIHVzZWQgdG8gZ2VuZXJhdGUgVVVJRC4KKwkJCQkgKiBJZiBhbGwgMTYgY2hhcmFjdGVycyBhcmUgYWxwaGFudW1lcmljIHRoZW4gdGhleSBhcmUgdXNlZCB1bmNoYW5nZWQgYXMgVVVJRC4KKwkJCQkgKiBJZiBvbmUgb2YgZmlyc3QgOCBjaGFyYWN0ZXJzICh0aW1lIHZhbHVlKSBpcyBub3QgYWxwaGFudW1lcmljIHRoZW4gZmlyc3QKKwkJCQkgKiA4IGNoYXJhY3RlcnMgYXJlIGVuY29kZWQgdG8gdGhlaXIgaGV4YWRlY2ltYWwgdmFsdWVzIGluIDE2IGNoYXJhY3RlcnMgYW5kCisJCQkJICogc2V0IGFzIFVVSUQuIElmIGFsbCBmaXJzdCA4IGNoYXJhY3RlcnMgKHRpbWUgdmFsdWUpIGFyZSBhbHBoYW51bWVyaWMgYnV0CisJCQkJICogc29tZSBvdGhlciByZW1haW5pbmcgY2hhcmFjdGVyIGlzIG5vdCB0aGVuIGZpcnN0IDggY2hhcmFjdGVycyBhcmUgdW5jaGFuZ2VkCisJCQkJICogKHNldCBhcyBmaXJzdCBwYXJ0IG9mIFVVSUQgc3RyaW5nKSwgbmV4dCA0IGNoYXJhY3RlcnMgYXJlIGVuY29kZWQgdG8gdGhlaXIKKwkJCQkgKiBoZXhhZGVjaW1hbCB2YWx1ZXMgKGluIDggY2hhcmFjdGVycykgYW5kIHNldCBhcyBzZWNvbmQgcGFydCBvZiBVVUlEIHN0cmluZy4KKwkJCQkgKi8KKwkJCQl1bnNpZ25lZCBjaGFyIHV1aWRbMTddOworCQkJCWlmIChnZW5fdXVpZF9mcm9tX3ZvbHNldF9pZCh1dWlkLCAmdmQtPnR5cGUucHJpbWFyeS52b2xzZXRfaWQpID09IDApCisJCQkJCWhhdmVfdXVpZCA9ICFibGtpZF9wcm9iZV9zdHJuY3B5X3V1aWQocHIsIHV1aWQsIHNpemVvZih1dWlkKSk7CisJCQl9CisJCQlpZiAoIWhhdmVfdm9sc2V0aWQpIHsKKwkJCQl1aW50OF90IGNsZW4gPSB2ZC0+dHlwZS5wcmltYXJ5LnZvbHNldF9pZC5jbGVuOworCQkJCWlmIChjbGVuID09IDgpCisJCQkJCWhhdmVfdm9sc2V0aWQgPSAhYmxraWRfcHJvYmVfc2V0X2lkX2xhYmVsKHByLCAiVk9MVU1FX1NFVF9JRCIsCisJCQkJCQkJdmQtPnR5cGUucHJpbWFyeS52b2xzZXRfaWQuYywgMTI3KTsKKwkJCQllbHNlIGlmIChjbGVuID09IDE2KQorCQkJCQloYXZlX3ZvbHNldGlkID0gIWJsa2lkX3Byb2JlX3NldF91dGY4X2lkX2xhYmVsKHByLCAiVk9MVU1FX1NFVF9JRCIsCisJCQkJCQkJdmQtPnR5cGUucHJpbWFyeS52b2xzZXRfaWQuYywgMTI3LAorCQkJCQkJCUJMS0lEX0VOQ19VVEYxNkJFKTsKKwkJCX0KKwkJfSBlbHNlIGlmICh0eXBlID09IDYpIHsgLyogVEFHX0lEX0xWRCAqLworCQkJaWYgKCFoYXZlX2xvZ3ZvbGlkIHx8ICFoYXZlX2xhYmVsKSB7CisJCQkJLyogTG9naWNhbFZvbHVtZUlkZW50aWZpZXIgaW4gVURGIDIuMDEgc3BlY2lmaWNhdGlvbjoKKwkJCQkgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKwkJCQkgKiAyLiBCYXNpYyBSZXN0cmljdGlvbnMgJiBSZXF1aXJlbWVudHMKKwkJCQkgKgorCQkJCSAqIExvZ2ljYWwgVm9sdW1lIERlc2NyaXB0b3IKKwkJCQkgKgorCQkJCSAqIFRoZXJlIHNoYWxsIGJlIGV4YWN0bHkgb25lIHByZXZhaWxpbmcgTG9naWNhbCBWb2x1bWUKKwkJCQkgKiBEZXNjcmlwdG9yIHJlY29yZGVkIHBlciBWb2x1bWUgU2V0LgorCQkJCSAqCisJCQkJICogVGhlIExvZ2ljYWxWb2x1bWVJZGVudGlmaWVyIGZpZWxkIHNoYWxsIG5vdCBiZSBudWxsIGFuZAorCQkJCSAqIHNob3VsZCBjb250YWluIGFuIGlkZW50aWZpZXIgdGhhdCBhaWRzIGluIHRoZSBpZGVudGlmaWNhdGlvbiBvZgorCQkJCSAqIHRoZSBsb2dpY2FsIHZvbHVtZS4gU3BlY2lmaWNhbGx5LCBzb2Z0d2FyZSBnZW5lcmF0aW5nCisJCQkJICogdm9sdW1lcyBjb25mb3JtaW5nIHRvIHRoaXMgc3BlY2lmaWNhdGlvbiBzaGFsbCBub3Qgc2V0IHRoaXMKKwkJCQkgKiBmaWVsZCB0byBhIGZpeGVkIG9yIHRyaXZpYWwgdmFsdWUuIER1cGxpY2F0ZSBkaXNrcywgd2hpY2ggYXJlCisJCQkJICogaW50ZW5kZWQgdG8gYmUgaWRlbnRpY2FsLCBtYXkgY29udGFpbiB0aGUgc2FtZSB2YWx1ZSBpbiB0aGlzCisJCQkJICogZmllbGQuIFRoaXMgZmllbGQgaXMgZXh0cmVtZWx5IGltcG9ydGFudCBpbiBsb2dpY2FsIHZvbHVtZQorCQkJCSAqIGlkZW50aWZpY2F0aW9uIHdoZW4gbXVsdGlwbGUgbWVkaWEgYXJlIHByZXNlbnQgd2l0aGluIGEKKwkJCQkgKiBqdWtlYm94LiBUaGlzIG5hbWUgaXMgdHlwaWNhbGx5IHdoYXQgaXMgZGlzcGxheWVkIHRvIHRoZSB1c2VyLgorCQkJCSAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCQkJCSAqCisJCQkJICogSW1wbGVtZW50YXRpb24gaW4gbGliYmxraWQ6CisJCQkJICogVGhlIExvZ2ljYWxWb2x1bWVJZGVudGlmaWVyIGZpZWxkIGlzIHVzZWQgZm9yIExBQkVMLiBNUyBXaW5kb3dzCisJCQkJICogcmVhZCBWb2x1bWUgTGFiZWwgYWxzbyBmcm9tIExvZ2ljYWxWb2x1bWVJZGVudGlmaWVyLiBHcnViMiByZWFkCisJCQkJICogTEFCRUwgYWxzbyBmcm9tIHRoaXMgZmllbGQuIFByb2dyYW0gbmV3ZnNfdWRmIChmcm9tIFVERmNsaWVudCkKKwkJCQkgKiB3aGVuIGZvcm1hdHRpbmcgZGlzayBzZXQgdGhpcyBmaWVsZCBmcm9tIHVzZXIgb3B0aW9uIERpc2MgTmFtZS4KKwkJCQkgKi8KKwkJCQl1aW50OF90IGNsZW4gPSB2ZC0+dHlwZS5sb2dpY2FsLmxvZ3ZvbF9pZC5jbGVuOworCQkJCWlmIChjbGVuID09IDgpIHsKKwkJCQkJaWYgKCFoYXZlX2xhYmVsKQorCQkJCQkJaGF2ZV9sYWJlbCA9ICFibGtpZF9wcm9iZV9zZXRfbGFiZWwocHIsCisJCQkJCQkJCXZkLT50eXBlLmxvZ2ljYWwubG9ndm9sX2lkLmMsIDEyNyk7CisJCQkJCWlmICghaGF2ZV9sb2d2b2xpZCkKKwkJCQkJCWhhdmVfbG9ndm9saWQgPSAhYmxraWRfcHJvYmVfc2V0X2lkX2xhYmVsKHByLCAiTE9HSUNBTF9WT0xVTUVfSUQiLAorCQkJCQkJCQl2ZC0+dHlwZS5sb2dpY2FsLmxvZ3ZvbF9pZC5jLCAxMjcpOworCQkJCX0gZWxzZSBpZiAoY2xlbiA9PSAxNikgeworCQkJCQlpZiAoIWhhdmVfbGFiZWwpCisJCQkJCQloYXZlX2xhYmVsID0gIWJsa2lkX3Byb2JlX3NldF91dGY4bGFiZWwocHIsCisJCQkJCQkJCXZkLT50eXBlLmxvZ2ljYWwubG9ndm9sX2lkLmMsCisJCQkJCQkJCTEyNywgQkxLSURfRU5DX1VURjE2QkUpOworCQkJCQlpZiAoIWhhdmVfbG9ndm9saWQpCisJCQkJCQloYXZlX2xvZ3ZvbGlkID0gIWJsa2lkX3Byb2JlX3NldF91dGY4X2lkX2xhYmVsKHByLCAiTE9HSUNBTF9WT0xVTUVfSUQiLAorCQkJCQkJCQl2ZC0+dHlwZS5sb2dpY2FsLmxvZ3ZvbF9pZC5jLCAxMjcsCisJCQkJCQkJCUJMS0lEX0VOQ19VVEYxNkJFKTsKKwkJCQl9CisJCQl9CisJCX0KKwkJaWYgKGhhdmVfbG9ndm9saWQgJiYgaGF2ZV92b2xpZCAmJiBoYXZlX3ZvbHNldGlkKQorCQkJYnJlYWs7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyB1ZGZfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAidWRmIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfdWRmLAorCS5mbGFncwkJPSBCTEtJRF9JRElORk9fVE9MRVJBTlQsCisJLm1hZ2ljcwkJPQorCXsKKwkJeyAubWFnaWMgPSAiQkVBMDEiLCAubGVuID0gNSwgLmtib2ZmID0gMzIsIC5zYm9mZiA9IDEgfSwKKwkJeyAubWFnaWMgPSAiQk9PVDIiLCAubGVuID0gNSwgLmtib2ZmID0gMzIsIC5zYm9mZiA9IDEgfSwKKwkJeyAubWFnaWMgPSAiQ0QwMDEiLCAubGVuID0gNSwgLmtib2ZmID0gMzIsIC5zYm9mZiA9IDEgfSwKKwkJeyAubWFnaWMgPSAiQ0RXMDIiLCAubGVuID0gNSwgLmtib2ZmID0gMzIsIC5zYm9mZiA9IDEgfSwKKwkJeyAubWFnaWMgPSAiTlNSMDIiLCAubGVuID0gNSwgLmtib2ZmID0gMzIsIC5zYm9mZiA9IDEgfSwKKwkJeyAubWFnaWMgPSAiTlNSMDMiLCAubGVuID0gNSwgLmtib2ZmID0gMzIsIC5zYm9mZiA9IDEgfSwKKwkJeyAubWFnaWMgPSAiVEVBMDEiLCAubGVuID0gNSwgLmtib2ZmID0gMzIsIC5zYm9mZiA9IDEgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3Vmcy5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3Vmcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlZjJhY2QKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvdWZzLmMKQEAgLTAsMCArMSwyNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogSW5zcGlyZWQgYnkgbGlidm9sdW1lX2lkIGJ5CisgKiAgICAgS2F5IFNpZXZlcnMgPGtheS5zaWV2ZXJzQHZyZnkub3JnPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPHN0ZGRlZi5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworc3RydWN0IHVmc19zdXBlcl9ibG9jayB7CisJdWludDMyX3QJZnNfbGluazsKKwl1aW50MzJfdAlmc19ybGluazsKKwl1aW50MzJfdAlmc19zYmxrbm87CisJdWludDMyX3QJZnNfY2Jsa25vOworCXVpbnQzMl90CWZzX2libGtubzsKKwl1aW50MzJfdAlmc19kYmxrbm87CisJdWludDMyX3QJZnNfY2dvZmZzZXQ7CisJdWludDMyX3QJZnNfY2dtYXNrOworCXVpbnQzMl90CWZzX3RpbWU7CisJdWludDMyX3QJZnNfc2l6ZTsKKwl1aW50MzJfdAlmc19kc2l6ZTsKKwl1aW50MzJfdAlmc19uY2c7CisJdWludDMyX3QJZnNfYnNpemU7CisJdWludDMyX3QJZnNfZnNpemU7CisJdWludDMyX3QJZnNfZnJhZzsKKwl1aW50MzJfdAlmc19taW5mcmVlOworCXVpbnQzMl90CWZzX3JvdGRlbGF5OworCXVpbnQzMl90CWZzX3JwczsKKwl1aW50MzJfdAlmc19ibWFzazsKKwl1aW50MzJfdAlmc19mbWFzazsKKwl1aW50MzJfdAlmc19ic2hpZnQ7CisJdWludDMyX3QJZnNfZnNoaWZ0OworCXVpbnQzMl90CWZzX21heGNvbnRpZzsKKwl1aW50MzJfdAlmc19tYXhicGc7CisJdWludDMyX3QJZnNfZnJhZ3NoaWZ0OworCXVpbnQzMl90CWZzX2ZzYnRvZGI7CisJdWludDMyX3QJZnNfc2JzaXplOworCXVpbnQzMl90CWZzX2NzbWFzazsKKwl1aW50MzJfdAlmc19jc3NoaWZ0OworCXVpbnQzMl90CWZzX25pbmRpcjsKKwl1aW50MzJfdAlmc19pbm9wYjsKKwl1aW50MzJfdAlmc19uc3BmOworCXVpbnQzMl90CWZzX29wdGltOworCXVpbnQzMl90CWZzX25wc2VjdF9zdGF0ZTsKKwl1aW50MzJfdAlmc19pbnRlcmxlYXZlOworCXVpbnQzMl90CWZzX3RyYWNrc2tldzsKKwl1aW50MzJfdAlmc19pZFsyXTsKKwl1aW50MzJfdAlmc19jc2FkZHI7CisJdWludDMyX3QJZnNfY3NzaXplOworCXVpbnQzMl90CWZzX2Nnc2l6ZTsKKwl1aW50MzJfdAlmc19udHJhazsKKwl1aW50MzJfdAlmc19uc2VjdDsKKwl1aW50MzJfdAlmc19zcGM7CisJdWludDMyX3QJZnNfbmN5bDsKKwl1aW50MzJfdAlmc19jcGc7CisJdWludDMyX3QJZnNfaXBnOworCXVpbnQzMl90CWZzX2ZwZzsKKwlzdHJ1Y3QgdWZzX2NzdW0geworCQl1aW50MzJfdAljc19uZGlyOworCQl1aW50MzJfdAljc19uYmZyZWU7CisJCXVpbnQzMl90CWNzX25pZnJlZTsKKwkJdWludDMyX3QJY3NfbmZmcmVlOworCX0gZnNfY3N0b3RhbDsKKwlpbnQ4X3QJCWZzX2Ztb2Q7CisJaW50OF90CQlmc19jbGVhbjsKKwlpbnQ4X3QJCWZzX3Jvbmx5OworCWludDhfdAkJZnNfZmxhZ3M7CisJdW5pb24geworCQlzdHJ1Y3QgeworCQkJaW50OF90CWZzX2ZzbW50WzUxMl07CisJCQl1aW50MzJfdAlmc19jZ3JvdG9yOworCQkJdWludDMyX3QJZnNfY3NwWzMxXTsKKwkJCXVpbnQzMl90CWZzX21heGNsdXN0ZXI7CisJCQl1aW50MzJfdAlmc19jcGM7CisJCQl1aW50MTZfdAlmc19vcG9zdGJsWzE2XVs4XTsKKwkJfSBmc191MTsKKwkJc3RydWN0IHsKKwkJCWludDhfdAkJZnNfZnNtbnRbNDY4XTsKKwkJCXVpbnQ4X3QJCWZzX3ZvbG5hbWVbMzJdOworCQkJdWludDY0X3QJZnNfc3d1aWQ7CisJCQlpbnQzMl90CQlmc19wYWQ7CisJCQl1aW50MzJfdAlmc19jZ3JvdG9yOworCQkJdWludDMyX3QJZnNfb2NzcFsyOF07CisJCQl1aW50MzJfdAlmc19jb250aWdkaXJzOworCQkJdWludDMyX3QJZnNfY3NwOworCQkJdWludDMyX3QJZnNfbWF4Y2x1c3RlcjsKKwkJCXVpbnQzMl90CWZzX2FjdGl2ZTsKKwkJCWludDMyX3QJCWZzX29sZF9jcGM7CisJCQlpbnQzMl90CQlmc19tYXhic2l6ZTsKKwkJCWludDY0X3QJCWZzX3NwYXJlY29uNjRbMTddOworCQkJaW50NjRfdAkJZnNfc2Jsb2NrbG9jOworCQkJc3RydWN0IHVmczJfY3N1bV90b3RhbCB7CisJCQkJdWludDY0X3QJY3NfbmRpcjsKKwkJCQl1aW50NjRfdAljc19uYmZyZWU7CisJCQkJdWludDY0X3QJY3NfbmlmcmVlOworCQkJCXVpbnQ2NF90CWNzX25mZnJlZTsKKwkJCQl1aW50NjRfdAljc19udW1jbHVzdGVyczsKKwkJCQl1aW50NjRfdAljc19zcGFyZVszXTsKKwkJCX0gZnNfY3N0b3RhbDsKKwkJCXN0cnVjdCB1ZnNfdGltZXZhbCB7CisJCQkJaW50MzJfdAkJdHZfc2VjOworCQkJCWludDMyX3QJCXR2X3VzZWM7CisJCQl9IGZzX3RpbWU7CisJCQlpbnQ2NF90CQlmc19zaXplOworCQkJaW50NjRfdAkJZnNfZHNpemU7CisJCQl1aW50NjRfdAlmc19jc2FkZHI7CisJCQlpbnQ2NF90CQlmc19wZW5kaW5nYmxvY2tzOworCQkJaW50MzJfdAkJZnNfcGVuZGluZ2lub2RlczsKKwkJfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSBmc191MjsKKwl9ICBmc191MTE7CisJdW5pb24geworCQlzdHJ1Y3QgeworCQkJaW50MzJfdAkJZnNfc3BhcmVjb25bNTNdOworCQkJaW50MzJfdAkJZnNfcmVjbGFpbTsKKwkJCWludDMyX3QJCWZzX3NwYXJlY29uMlsxXTsKKwkJCWludDMyX3QJCWZzX3N0YXRlOworCQkJdWludDMyX3QJZnNfcWJtYXNrWzJdOworCQkJdWludDMyX3QJZnNfcWZtYXNrWzJdOworCQl9IGZzX3N1bjsKKwkJc3RydWN0IHsKKwkJCWludDMyX3QJCWZzX3NwYXJlY29uWzUzXTsKKwkJCWludDMyX3QJCWZzX3JlY2xhaW07CisJCQlpbnQzMl90CQlmc19zcGFyZWNvbjJbMV07CisJCQl1aW50MzJfdAlmc19ucHNlY3Q7CisJCQl1aW50MzJfdAlmc19xYm1hc2tbMl07CisJCQl1aW50MzJfdAlmc19xZm1hc2tbMl07CisJCX0gZnNfc3VueDg2OworCQlzdHJ1Y3QgeworCQkJaW50MzJfdAkJZnNfc3BhcmVjb25bNTBdOworCQkJaW50MzJfdAkJZnNfY29udGlnc3Vtc2l6ZTsKKwkJCWludDMyX3QJCWZzX21heHN5bWxpbmtsZW47CisJCQlpbnQzMl90CQlmc19pbm9kZWZtdDsKKwkJCXVpbnQzMl90CWZzX21heGZpbGVzaXplWzJdOworCQkJdWludDMyX3QJZnNfcWJtYXNrWzJdOworCQkJdWludDMyX3QJZnNfcWZtYXNrWzJdOworCQkJaW50MzJfdAkJZnNfc3RhdGU7CisJCX0gZnNfNDQ7CisJfSBmc191MjsKKwlpbnQzMl90CQlmc19wb3N0Ymxmb3JtYXQ7CisJaW50MzJfdAkJZnNfbnJwb3M7CisJaW50MzJfdAkJZnNfcG9zdGJsb2ZmOworCWludDMyX3QJCWZzX3JvdGJsb2ZmOworCXVpbnQzMl90CWZzX21hZ2ljOworCXVpbnQ4X3QJCWZzX3NwYWNlWzFdOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworI2RlZmluZSBVRlNfTUFHSUMJCQkweDAwMDExOTU0CisjZGVmaW5lIFVGUzJfTUFHSUMJCQkweDE5NTQwMTE5CisjZGVmaW5lIFVGU19NQUdJQ19GRUEJCQkweDAwMTk1NjEyCisjZGVmaW5lIFVGU19NQUdJQ19MRk4JCQkweDAwMDk1MDE0CisjZGVmaW5lIFVGU19NQUdJQ19TRUMJCQkweDAwNjEyMTk1CisjZGVmaW5lIFVGU19NQUdJQ180R0IJCQkweDA1MjMxOTk0CisKK3N0YXRpYyBpbnQgcHJvYmVfdWZzKGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJaW50IG9mZnNldHNbXSA9IHsgMCwgOCwgNjQsIDI1NiB9OworCXVpbnQzMl90IG1hZ3NbXSA9IHsKKwkJVUZTMl9NQUdJQywgVUZTX01BR0lDLCBVRlNfTUFHSUNfRkVBLCBVRlNfTUFHSUNfTEZOLAorCQlVRlNfTUFHSUNfU0VDLCBVRlNfTUFHSUNfNEdCCisJfTsKKwlzaXplX3QgaTsKKwl1aW50MzJfdCBtYWdpYzsKKwlzdHJ1Y3QgdWZzX3N1cGVyX2Jsb2NrICp1ZnM7CisJaW50IGlzX2JlOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUob2Zmc2V0cyk7IGkrKykgeworCQl1aW50MzJfdCBtYWdMRSwgbWFnQkU7CisJCXNpemVfdCB5OworCisJCXVmcyA9IChzdHJ1Y3QgdWZzX3N1cGVyX2Jsb2NrICopCisJCQkJYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwKKwkJCQkJb2Zmc2V0c1tpXSAqIDEwMjQsCisJCQkJCXNpemVvZihzdHJ1Y3QgdWZzX3N1cGVyX2Jsb2NrKSk7CisJCWlmICghdWZzKQorCQkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCQltYWdCRSA9IGJlMzJfdG9fY3B1KHVmcy0+ZnNfbWFnaWMpOworCQltYWdMRSA9IGxlMzJfdG9fY3B1KHVmcy0+ZnNfbWFnaWMpOworCisJCWZvciAoeSA9IDA7IHkgPCBBUlJBWV9TSVpFKG1hZ3MpOyB5KyspIHsKKwkJCWlmIChtYWdMRSA9PSBtYWdzW3ldIHx8IG1hZ0JFID09IG1hZ3NbeV0pIHsKKwkJCQltYWdpYyA9IG1hZ3NbeV07CisJCQkJaXNfYmUgPSAobWFnQkUgPT0gbWFnc1t5XSk7CisJCQkJZ290byBmb3VuZDsKKwkJCX0KKwkJfQorCX0KKworCXJldHVybiAxOworCitmb3VuZDoKKwlpZiAobWFnaWMgPT0gVUZTMl9NQUdJQykgeworCQlibGtpZF9wcm9iZV9zZXRfdmVyc2lvbihwciwgIjIiKTsKKwkJYmxraWRfcHJvYmVfc2V0X2xhYmVsKHByLCB1ZnMtPmZzX3UxMS5mc191Mi5mc192b2xuYW1lLAorCQkJCXNpemVvZih1ZnMtPmZzX3UxMS5mc191Mi5mc192b2xuYW1lKSk7CisJfSBlbHNlCisJCWJsa2lkX3Byb2JlX3NldF92ZXJzaW9uKHByLCAiMSIpOworCWlmICh1ZnMtPmZzX2lkWzBdIHx8IHVmcy0+ZnNfaWRbMV0pCisJeworCQlpZiAoaXNfYmUpCisJCQlibGtpZF9wcm9iZV9zcHJpbnRmX3V1aWQocHIsCisJCQkJCSAodW5zaWduZWQgY2hhciAqKSAmdWZzLT5mc19pZCwKKwkJCQkJCSBzaXplb2YodWZzLT5mc19pZCksCisJCQkJCQkgIiUwOHglMDh4IiwKKwkJCQkJCSBiZTMyX3RvX2NwdSh1ZnMtPmZzX2lkWzBdKSwKKwkJCQkJCSBiZTMyX3RvX2NwdSh1ZnMtPmZzX2lkWzFdKSk7CisJCWVsc2UKKwkJCWJsa2lkX3Byb2JlX3NwcmludGZfdXVpZChwciwKKwkJCQkJICh1bnNpZ25lZCBjaGFyICopICZ1ZnMtPmZzX2lkLAorCQkJCQkJIHNpemVvZih1ZnMtPmZzX2lkKSwKKwkJCQkJCSAiJTA4eCUwOHgiLAorCQkJCQkJIGxlMzJfdG9fY3B1KHVmcy0+ZnNfaWRbMF0pLAorCQkJCQkJIGxlMzJfdG9fY3B1KHVmcy0+ZnNfaWRbMV0pKTsKKwl9CisKKwlpZiAoYmxraWRfcHJvYmVfc2V0X21hZ2ljKHByLAorCQkJKG9mZnNldHNbaV0gKiAxMDI0KSArCisJCQkJb2Zmc2V0b2Yoc3RydWN0IHVmc19zdXBlcl9ibG9jaywgZnNfbWFnaWMpLAorCQkJc2l6ZW9mKHVmcy0+ZnNfbWFnaWMpLAorCQkJKHVuc2lnbmVkIGNoYXIgKikgJnVmcy0+ZnNfbWFnaWMpKQorCQlyZXR1cm4gMTsKKworCXJldHVybiAwOworfQorCisvKgorICogQWNjb3JkaW5nIHRvIGxpYnZvbHVtZV9pZCB0aGUgVUZTIHN1cGVyYmxvY2sgY291bGQgYmUgb24gZm91ciBwb3NpdGlvbnMuCisgKiBUaGUgb3JpZ2luYWwgbGliYmxraWQgaGFzIGNoZWNrZWQgb25lIHBvc2l0aW9uICgua2JvZmY9OCkgb25seS4KKyAqCisgKiBXZSBrbm93IGZvdXIgVUZTIG1hZ2ljIHN0cmluZ3MgYW5kIFVGUyBjb3VsZCBiZSBib3RoIGxpdHRsZS1lbmRpYW4gYW5kCisgKiBiaWctZW5kaWFuLiAuLi4gc28gd2UgaGF2ZToKKyAqCisgKgk0IHBvc2l0aW9uICogNCBzdHJpbmcgKiAyIHZlcnNpb24gPSAzMiBtYWdpYyBzdHJpbmdzCisgKgorICogSXQgc2VlbXMgc2ltcGxlciB0byBjaGVjayBmb3IgdGhlc2Ugc3RyaW5nIGluIHByb2JpbmcgZnVuY3Rpb24gdGhhdCBoYXJkY29kZQorICogYWxsIGluIHRoZSAubWFnaWMgYXJyYXkuCisgKi8KK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gdWZzX2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gInVmcyIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX0ZJTEVTWVNURU0sCisJLnByb2JlZnVuYwk9IHByb2JlX3VmcywKKwkubWFnaWNzCQk9IEJMS0lEX05PTkVfTUFHSUMKK307CisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy92ZmF0LmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvdmZhdC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiODY1NjAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvdmZhdC5jCkBAIC0wLDAgKzEsNDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAxOTk5IGJ5IEFuZHJpZXMgQnJvdXdlcgorICogQ29weXJpZ2h0IChDKSAxOTk5LCAyMDAwLCAyMDAzIGJ5IFRoZW9kb3JlIFRzJ28KKyAqIENvcHlyaWdodCAoQykgMjAwMSBieSBBbmRyZWFzIERpbGdlcgorICogQ29weXJpZ2h0IChDKSAyMDA0IEtheSBTaWV2ZXJzIDxrYXkuc2lldmVyc0B2cmZ5Lm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKworI2luY2x1ZGUgInB0LW1ici5oIgorI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKKy8qIFl1Y2t5IG1pc2FsaWduZWQgdmFsdWVzICovCitzdHJ1Y3QgdmZhdF9zdXBlcl9ibG9jayB7CisvKiAwMCovCXVuc2lnbmVkIGNoYXIJdnNfaWdub3JlZFszXTsKKy8qIDAzKi8JdW5zaWduZWQgY2hhcgl2c19zeXNpZFs4XTsKKy8qIDBiKi8JdW5zaWduZWQgY2hhcgl2c19zZWN0b3Jfc2l6ZVsyXTsKKy8qIDBkKi8JdWludDhfdAkJdnNfY2x1c3Rlcl9zaXplOworLyogMGUqLwl1aW50MTZfdAl2c19yZXNlcnZlZDsKKy8qIDEwKi8JdWludDhfdAkJdnNfZmF0czsKKy8qIDExKi8JdW5zaWduZWQgY2hhcgl2c19kaXJfZW50cmllc1syXTsKKy8qIDEzKi8JdW5zaWduZWQgY2hhcgl2c19zZWN0b3JzWzJdOworLyogMTUqLwl1bnNpZ25lZCBjaGFyCXZzX21lZGlhOworLyogMTYqLwl1aW50MTZfdAl2c19mYXRfbGVuZ3RoOworLyogMTgqLwl1aW50MTZfdAl2c19zZWNzX3RyYWNrOworLyogMWEqLwl1aW50MTZfdAl2c19oZWFkczsKKy8qIDFjKi8JdWludDMyX3QJdnNfaGlkZGVuOworLyogMjAqLwl1aW50MzJfdAl2c190b3RhbF9zZWN0OworLyogMjQqLwl1aW50MzJfdAl2c19mYXQzMl9sZW5ndGg7CisvKiAyOCovCXVpbnQxNl90CXZzX2ZsYWdzOworLyogMmEqLwl1aW50OF90CQl2c192ZXJzaW9uWzJdOworLyogMmMqLwl1aW50MzJfdAl2c19yb290X2NsdXN0ZXI7CisvKiAzMCovCXVpbnQxNl90CXZzX2ZzaW5mb19zZWN0b3I7CisvKiAzMiovCXVpbnQxNl90CXZzX2JhY2t1cF9ib290OworLyogMzQqLwl1aW50MTZfdAl2c19yZXNlcnZlZDJbNl07CisvKiA0MCovCXVuc2lnbmVkIGNoYXIJdnNfdW5rbm93blszXTsKKy8qIDQzKi8JdW5zaWduZWQgY2hhcgl2c19zZXJub1s0XTsKKy8qIDQ3Ki8JdW5zaWduZWQgY2hhcgl2c19sYWJlbFsxMV07CisvKiA1MiovCXVuc2lnbmVkIGNoYXIgICB2c19tYWdpY1s4XTsKKy8qIDVhKi8JdW5zaWduZWQgY2hhcgl2c19kdW1teTJbMHgxZmUgLSAweDVhXTsKKy8qMWZlKi8JdW5zaWduZWQgY2hhcgl2c19wbWFnaWNbMl07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCisvKiBZdWNreSBtaXNhbGlnbmVkIHZhbHVlcyAqLworc3RydWN0IG1zZG9zX3N1cGVyX2Jsb2NrIHsKKy8qIDAwKi8JdW5zaWduZWQgY2hhcgltc19pZ25vcmVkWzNdOworLyogMDMqLwl1bnNpZ25lZCBjaGFyCW1zX3N5c2lkWzhdOworLyogMGIqLwl1bnNpZ25lZCBjaGFyCW1zX3NlY3Rvcl9zaXplWzJdOworLyogMGQqLwl1aW50OF90CQltc19jbHVzdGVyX3NpemU7CisvKiAwZSovCXVpbnQxNl90CW1zX3Jlc2VydmVkOworLyogMTAqLwl1aW50OF90CQltc19mYXRzOworLyogMTEqLwl1bnNpZ25lZCBjaGFyCW1zX2Rpcl9lbnRyaWVzWzJdOworLyogMTMqLwl1bnNpZ25lZCBjaGFyCW1zX3NlY3RvcnNbMl07IC8qID0wIGlmZiBWMyBvciBsYXRlciAqLworLyogMTUqLwl1bnNpZ25lZCBjaGFyCW1zX21lZGlhOworLyogMTYqLwl1aW50MTZfdAltc19mYXRfbGVuZ3RoOyAvKiBTZWN0b3JzIHBlciBGQVQgKi8KKy8qIDE4Ki8JdWludDE2X3QJbXNfc2Vjc190cmFjazsKKy8qIDFhKi8JdWludDE2X3QJbXNfaGVhZHM7CisvKiAxYyovCXVpbnQzMl90CW1zX2hpZGRlbjsKKy8qIFYzIEJQQiAqLworLyogMjAqLwl1aW50MzJfdAltc190b3RhbF9zZWN0OyAvKiBpZmYgbXNfc2VjdG9ycyA9PSAwICovCisvKiBWNCBCUEIgKi8KKy8qIDI0Ki8JdW5zaWduZWQgY2hhcgltc191bmtub3duWzNdOyAvKiBQaHlzIGRyaXZlIG5vLiwgcmVzdmQsIFY0IHNpZyAoMHgyOSkgKi8KKy8qIDI3Ki8JdW5zaWduZWQgY2hhcgltc19zZXJub1s0XTsKKy8qIDJiKi8JdW5zaWduZWQgY2hhcgltc19sYWJlbFsxMV07CisvKiAzNiovCXVuc2lnbmVkIGNoYXIgICBtc19tYWdpY1s4XTsKKy8qIDNlKi8JdW5zaWduZWQgY2hhcgltc19kdW1teTJbMHgxZmUgLSAweDNlXTsKKy8qMWZlKi8JdW5zaWduZWQgY2hhcgltc19wbWFnaWNbMl07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdHJ1Y3QgdmZhdF9kaXJfZW50cnkgeworCXVpbnQ4X3QJCW5hbWVbMTFdOworCXVpbnQ4X3QJCWF0dHI7CisJdWludDE2X3QJdGltZV9jcmVhdDsKKwl1aW50MTZfdAlkYXRlX2NyZWF0OworCXVpbnQxNl90CXRpbWVfYWNjOworCXVpbnQxNl90CWRhdGVfYWNjOworCXVpbnQxNl90CWNsdXN0ZXJfaGlnaDsKKwl1aW50MTZfdAl0aW1lX3dyaXRlOworCXVpbnQxNl90CWRhdGVfd3JpdGU7CisJdWludDE2X3QJY2x1c3Rlcl9sb3c7CisJdWludDMyX3QJc2l6ZTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0cnVjdCBmYXQzMl9mc2luZm8geworCXVpbnQ4X3Qgc2lnbmF0dXJlMVs0XTsKKwl1aW50MzJfdCByZXNlcnZlZDFbMTIwXTsKKwl1aW50OF90IHNpZ25hdHVyZTJbNF07CisJdWludDMyX3QgZnJlZV9jbHVzdGVyczsKKwl1aW50MzJfdCBuZXh0X2NsdXN0ZXI7CisJdWludDMyX3QgcmVzZXJ2ZWQyWzRdOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworLyogbWF4aW11bSBudW1iZXIgb2YgY2x1c3RlcnMgKi8KKyNkZWZpbmUgRkFUMTJfTUFYIDB4RkY0CisjZGVmaW5lIEZBVDE2X01BWCAweEZGRjQKKyNkZWZpbmUgRkFUMzJfTUFYIDB4MEZGRkZGRjYKKworI2RlZmluZSBGQVRfQVRUUl9WT0xVTUVfSUQJCTB4MDgKKyNkZWZpbmUgRkFUX0FUVFJfRElSCQkJMHgxMAorI2RlZmluZSBGQVRfQVRUUl9MT05HX05BTUUJCTB4MGYKKyNkZWZpbmUgRkFUX0FUVFJfTUFTSwkJCTB4M2YKKyNkZWZpbmUgRkFUX0VOVFJZX0ZSRUUJCQkweGU1CisKK3N0YXRpYyBjb25zdCBjaGFyICpub19uYW1lID0gIk5PIE5BTUUgICAgIjsKKworI2RlZmluZSB1bmFsaWduZWRfbGUxNih4KSBcCisJCSgoKHVuc2lnbmVkIGNoYXIgKikgeClbMF0gKyAoKCh1bnNpZ25lZCBjaGFyICopIHgpWzFdIDw8IDgpKQorCisvKgorICogTG9vayBmb3IgTEFCRUwgKG5hbWUpIGluIHRoZSBGQVQgcm9vdCBkaXJlY3RvcnkuCisgKi8KK3N0YXRpYyB1bnNpZ25lZCBjaGFyICpzZWFyY2hfZmF0X2xhYmVsKGJsa2lkX3Byb2JlIHByLAorCQkJCXVpbnQ2NF90IG9mZnNldCwgdWludDMyX3QgZW50cmllcykKK3sKKwlzdHJ1Y3QgdmZhdF9kaXJfZW50cnkgKmVudCwgKmRpciA9IE5VTEw7CisJdWludDMyX3QgaTsKKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIlx0bG9vayBmb3IgbGFiZWwgaW4gcm9vdC1kaXIgIgorCQkJIihlbnRyaWVzOiAlIlBSSXUzMiIsIG9mZnNldDogJSJQUkl1NjQiKSIsIGVudHJpZXMsIG9mZnNldCkpOworCisJaWYgKCFibGtpZF9wcm9iZV9pc190aW55KHByKSkgeworCQkvKiBsYXJnZSBkaXNrLCByZWFkIHdob2xlIHJvb3QgZGlyZWN0b3J5ICovCisJCWRpciA9IChzdHJ1Y3QgdmZhdF9kaXJfZW50cnkgKikKKwkJCWJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsCisJCQkJCW9mZnNldCwKKwkJCQkJKHVpbnQ2NF90KSBlbnRyaWVzICoKKwkJCQkJCXNpemVvZihzdHJ1Y3QgdmZhdF9kaXJfZW50cnkpKTsKKwkJaWYgKCFkaXIpCisJCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgZW50cmllczsgaSsrKSB7CisJCS8qCisJCSAqIFRoZSByb290IGRpcmVjdG9yeSBjb3VsZCBiZSByZWxhdGl2ZWx5IGxhcmdlICg0LTE2a0IpLgorCQkgKiBGb3J0dW5hdGVseSwgdGhlIExBQkVMIGlzIHVzdWFsbHkgdGhlIGZpcnN0IGVudHJ5IGluIHRoZQorCQkgKiBkaXJlY3RvcnkuIE9uIHRpbnkgZGlza3Mgd2UgY2FsbCByZWFkKCkgcGVyIGVudHJ5LgorCQkgKi8KKwkJaWYgKCFkaXIpCisJCQllbnQgPSAoc3RydWN0IHZmYXRfZGlyX2VudHJ5ICopCisJCQkJYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwKKwkJCQkJKHVpbnQ2NF90KSBvZmZzZXQgKyAoaSAqCisJCQkJCQlzaXplb2Yoc3RydWN0IHZmYXRfZGlyX2VudHJ5KSksCisJCQkJCXNpemVvZihzdHJ1Y3QgdmZhdF9kaXJfZW50cnkpKTsKKwkJZWxzZQorCQkJZW50ID0gJmRpcltpXTsKKworCQlpZiAoIWVudCB8fCBlbnQtPm5hbWVbMF0gPT0gMHgwMCkKKwkJCWJyZWFrOworCisJCWlmICgoZW50LT5uYW1lWzBdID09IEZBVF9FTlRSWV9GUkVFKSB8fAorCQkgICAgKGVudC0+Y2x1c3Rlcl9oaWdoICE9IDAgfHwgZW50LT5jbHVzdGVyX2xvdyAhPSAwKSB8fAorCQkgICAgKChlbnQtPmF0dHIgJiBGQVRfQVRUUl9NQVNLKSA9PSBGQVRfQVRUUl9MT05HX05BTUUpKQorCQkJY29udGludWU7CisKKwkJaWYgKChlbnQtPmF0dHIgJiAoRkFUX0FUVFJfVk9MVU1FX0lEIHwgRkFUX0FUVFJfRElSKSkgPT0KKwkJICAgIEZBVF9BVFRSX1ZPTFVNRV9JRCkgeworCQkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiXHRmb3VuZCBmcyBMQUJFTCBhdCBlbnRyeSAlZCIsIGkpKTsKKwkJCXJldHVybiBlbnQtPm5hbWU7CisJCX0KKwl9CisJcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyBpbnQgZmF0X3ZhbGlkX3N1cGVyYmxvY2soYmxraWRfcHJvYmUgcHIsCisJCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZywKKwkJCXN0cnVjdCBtc2Rvc19zdXBlcl9ibG9jayAqbXMsCisJCQlzdHJ1Y3QgdmZhdF9zdXBlcl9ibG9jayAqdnMsCisJCQl1aW50MzJfdCAqY2x1c3Rlcl9jb3VudCwgdWludDMyX3QgKmZhdF9zaXplKQoreworCXVpbnQxNl90IHNlY3Rvcl9zaXplLCBkaXJfZW50cmllcywgcmVzZXJ2ZWQ7CisJdWludDMyX3Qgc2VjdF9jb3VudCwgX19mYXRfc2l6ZSwgZGlyX3NpemUsIF9fY2x1c3Rlcl9jb3VudCwgZmF0X2xlbmd0aDsKKwl1aW50MzJfdCBtYXhfY291bnQ7CisKKwkvKiBleHRyYSBjaGVjayBmb3IgRkFUcyB3aXRob3V0IG1hZ2ljIHN0cmluZ3MgKi8KKwlpZiAobWFnLT5sZW4gPD0gMikgeworCQkvKiBPbGQgZmxvcHBpZXMgaGF2ZSBhIHZhbGlkIE1CUiBzaWduYXR1cmUgKi8KKwkJaWYgKG1zLT5tc19wbWFnaWNbMF0gIT0gMHg1NSB8fCBtcy0+bXNfcG1hZ2ljWzFdICE9IDB4QUEpCisJCQlyZXR1cm4gMDsKKworCQkvKgorCQkgKiBPUy8yIGFuZCBhcHBhcmVudGx5IERGU2VlIHdpbGwgcGxhY2UgYSBGQVQxMi8xNi1saWtlCisJCSAqIHBzZXVkby1zdXBlcmJsb2NrIGluIHRoZSBmaXJzdCA1MTIgYnl0ZXMgb2Ygbm9uLUZBVAorCQkgKiBmaWxlc3lzdGVtcyAtLS0gYXQgbGVhc3QgSkZTIGFuZCBIUEZTLCBhbmQgcG9zc2libHkgb3RoZXJzLgorCQkgKiBTbyB3ZSBleHBsaWNpdGx5IGNoZWNrIGZvciB0aG9zZSBmaWxlc3lzdGVtcyBhdCB0aGUKKwkJICogRkFUMTIvMTYgZmlsZXN5c3RlbSBtYWdpYyBmaWVsZCBpZGVudGlmaWVyLCBhbmQgaWYgdGhleSBhcmUKKwkJICogcHJlc2VudCwgd2UgcnVsZSB0aGlzIG91dCBhcyBhIEZBVCBmaWxlc3lzdGVtLCBkZXNwaXRlIHRoZQorCQkgKiBGQVQtbGlrZSBwc2V1ZG8taGVhZGVyLgorCQkgKi8KKwkJaWYgKChtZW1jbXAobXMtPm1zX21hZ2ljLCAiSkZTICAgICAiLCA4KSA9PSAwKSB8fAorCQkgICAgKG1lbWNtcChtcy0+bXNfbWFnaWMsICJIUEZTICAgICIsIDgpID09IDApKQorCQkJcmV0dXJuIDA7CisJfQorCisJLyogZmF0IGNvdW50cyhMaW51eCBrZXJuZWwgZXhwZWN0cyBhdCBsZWFzdCAxIEZBVCB0YWJsZSkgKi8KKwlpZiAoIW1zLT5tc19mYXRzKQorCQlyZXR1cm4gMDsKKwlpZiAoIW1zLT5tc19yZXNlcnZlZCkKKwkJcmV0dXJuIDA7CisJaWYgKCEoMHhmOCA8PSBtcy0+bXNfbWVkaWEgfHwgbXMtPm1zX21lZGlhID09IDB4ZjApKQorCQlyZXR1cm4gMDsKKwlpZiAoIWlzX3Bvd2VyX29mXzIobXMtPm1zX2NsdXN0ZXJfc2l6ZSkpCisJCXJldHVybiAwOworCisJc2VjdG9yX3NpemUgPSB1bmFsaWduZWRfbGUxNigmbXMtPm1zX3NlY3Rvcl9zaXplKTsKKwlpZiAoIWlzX3Bvd2VyX29mXzIoc2VjdG9yX3NpemUpIHx8CisJICAgIHNlY3Rvcl9zaXplIDwgNTEyIHx8IHNlY3Rvcl9zaXplID4gNDA5NikKKwkJcmV0dXJuIDA7CisKKwlkaXJfZW50cmllcyA9IHVuYWxpZ25lZF9sZTE2KCZtcy0+bXNfZGlyX2VudHJpZXMpOworCXJlc2VydmVkID0gIGxlMTZfdG9fY3B1KG1zLT5tc19yZXNlcnZlZCk7CisJc2VjdF9jb3VudCA9IHVuYWxpZ25lZF9sZTE2KCZtcy0+bXNfc2VjdG9ycyk7CisKKwlpZiAoc2VjdF9jb3VudCA9PSAwKQorCQlzZWN0X2NvdW50ID0gbGUzMl90b19jcHUobXMtPm1zX3RvdGFsX3NlY3QpOworCisJZmF0X2xlbmd0aCA9IGxlMTZfdG9fY3B1KG1zLT5tc19mYXRfbGVuZ3RoKTsKKwlpZiAoZmF0X2xlbmd0aCA9PSAwKQorCQlmYXRfbGVuZ3RoID0gbGUzMl90b19jcHUodnMtPnZzX2ZhdDMyX2xlbmd0aCk7CisKKwlfX2ZhdF9zaXplID0gZmF0X2xlbmd0aCAqIG1zLT5tc19mYXRzOworCWRpcl9zaXplID0gKChkaXJfZW50cmllcyAqIHNpemVvZihzdHJ1Y3QgdmZhdF9kaXJfZW50cnkpKSArCisJCQkJCShzZWN0b3Jfc2l6ZS0xKSkgLyBzZWN0b3Jfc2l6ZTsKKworCV9fY2x1c3Rlcl9jb3VudCA9IChzZWN0X2NvdW50IC0gKHJlc2VydmVkICsgX19mYXRfc2l6ZSArIGRpcl9zaXplKSkgLworCQkJCQkJCW1zLT5tc19jbHVzdGVyX3NpemU7CisJaWYgKCFtcy0+bXNfZmF0X2xlbmd0aCAmJiB2cy0+dnNfZmF0MzJfbGVuZ3RoKQorCQltYXhfY291bnQgPSBGQVQzMl9NQVg7CisJZWxzZQorCQltYXhfY291bnQgPSBfX2NsdXN0ZXJfY291bnQgPiBGQVQxMl9NQVggPyBGQVQxNl9NQVggOiBGQVQxMl9NQVg7CisKKwlpZiAoX19jbHVzdGVyX2NvdW50ID4gbWF4X2NvdW50KQorCQlyZXR1cm4gMDsKKworCWlmIChmYXRfc2l6ZSkKKwkJKmZhdF9zaXplID0gX19mYXRfc2l6ZTsKKwlpZiAoY2x1c3Rlcl9jb3VudCkKKwkJKmNsdXN0ZXJfY291bnQgPSBfX2NsdXN0ZXJfY291bnQ7CisKKwlpZiAoYmxraWRfcHJvYmVfaXNfd2hvbGVkaXNrKHByKSkgeworCQkvKiBPSywgc2VlbXMgbGlrZSBGQVQsIGJ1dCBpdCdzIHBvc3NpYmxlIHRoYXQgd2UgZm91bmQgYm9vdAorCQkgKiBzZWN0b3Igd2l0aCBjcmF6eSBGQVQtbGlrZSBzdHVmZiAobWFnaWMgc3RyaW5ncywgbWVkaWEsCisJCSAqIGV0Yy4uKSBiZWZvcmUgTUJSLiBMZXQncyBtYWtlIHN1cmUgdGhhdCB0aGVyZSBpcyBubyBNQlIgd2l0aAorCQkgKiB1c2FibGUgcGFydGl0aW9uLiAqLworCQl1bnNpZ25lZCBjaGFyICpidWYgPSAodW5zaWduZWQgY2hhciAqKSBtczsKKwkJaWYgKG1icl9pc192YWxpZF9tYWdpYyhidWYpKSB7CisJCQlzdHJ1Y3QgZG9zX3BhcnRpdGlvbiAqcDAgPSBtYnJfZ2V0X3BhcnRpdGlvbihidWYsIDApOworCQkJaWYgKGRvc19wYXJ0aXRpb25fZ2V0X3NpemUocDApICE9IDAgJiYKKwkJCSAgICAocDAtPmJvb3RfaW5kID09IDAgfHwgcDAtPmJvb3RfaW5kID09IDB4ODApKQorCQkJCXJldHVybiAwOworCQl9CisJfQorCisJcmV0dXJuIDE7CS8qIHZhbGlkICovCit9CisKKy8qIGZ1bmN0aW9uIHByb3RvdHlwZSB0byBhdm9pZCB3YXJuaW5ncyAoZHVwbGljYXRlIGluIHBhcnRpdGlvbnMvZG9zLmMpICovCitleHRlcm4gaW50IGJsa2lkX3Byb2JlX2lzX3ZmYXQoYmxraWRfcHJvYmUgcHIpOworCisvKgorICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIGJ5IE1CUiBwYXJ0aXRpb24gdGFibGUgcGFyc2VyIHRvIGF2b2lkCisgKiBtaXNpbnRlcnByZXRhdGlvbiBvZiBGQVQgZmlsZXN5c3RlbS4KKyAqLworaW50IGJsa2lkX3Byb2JlX2lzX3ZmYXQoYmxraWRfcHJvYmUgcHIpCit7CisJc3RydWN0IHZmYXRfc3VwZXJfYmxvY2sgKnZzOworCXN0cnVjdCBtc2Rvc19zdXBlcl9ibG9jayAqbXM7CisJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgPSBOVUxMOworCWludCByYzsKKworCXJjID0gYmxraWRfcHJvYmVfZ2V0X2lkbWFnKHByLCAmdmZhdF9pZGluZm8sIE5VTEwsICZtYWcpOworCWlmIChyYyA8IDApCisJCXJldHVybiByYzsJLyogZXJyb3IgKi8KKwlpZiAocmMgIT0gQkxLSURfUFJPQkVfT0sgfHwgIW1hZykKKwkJcmV0dXJuIDA7CisKKwltcyA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3QgbXNkb3Nfc3VwZXJfYmxvY2spOworCWlmICghbXMpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDA7CisJdnMgPSBibGtpZF9wcm9iZV9nZXRfc2IocHIsIG1hZywgc3RydWN0IHZmYXRfc3VwZXJfYmxvY2spOworCWlmICghdnMpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDA7CisKKwlyZXR1cm4gZmF0X3ZhbGlkX3N1cGVyYmxvY2socHIsIG1hZywgbXMsIHZzLCBOVUxMLCBOVUxMKTsKK30KKworLyogRkFUIGxhYmVsIGV4dHJhY3Rpb24gZnJvbSB0aGUgcm9vdCBkaXJlY3RvcnkgdGFrZW4gZnJvbSBLYXkKKyAqIFNpZXZlcnMncyB2b2x1bWVfaWQgbGlicmFyeSAqLworc3RhdGljIGludCBwcm9iZV92ZmF0KGJsa2lkX3Byb2JlIHByLCBjb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZykKK3sKKwlzdHJ1Y3QgdmZhdF9zdXBlcl9ibG9jayAqdnM7CisJc3RydWN0IG1zZG9zX3N1cGVyX2Jsb2NrICptczsKKwljb25zdCB1bnNpZ25lZCBjaGFyICp2b2xfbGFiZWwgPSAwOworCXVuc2lnbmVkIGNoYXIgKnZvbF9zZXJubyA9IE5VTEwsIHZvbF9sYWJlbF9idWZbMTFdOworCXVpbnQxNl90IHNlY3Rvcl9zaXplID0gMCwgcmVzZXJ2ZWQ7CisJdWludDMyX3QgY2x1c3Rlcl9jb3VudCwgZmF0X3NpemU7CisJY29uc3QgY2hhciAqdmVyc2lvbiA9IE5VTEw7CisKKwltcyA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3QgbXNkb3Nfc3VwZXJfYmxvY2spOworCWlmICghbXMpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwl2cyA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3QgdmZhdF9zdXBlcl9ibG9jayk7CisJaWYgKCF2cykKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCWlmICghZmF0X3ZhbGlkX3N1cGVyYmxvY2socHIsIG1hZywgbXMsIHZzLCAmY2x1c3Rlcl9jb3VudCwgJmZhdF9zaXplKSkKKwkJcmV0dXJuIDE7CisKKwlzZWN0b3Jfc2l6ZSA9IHVuYWxpZ25lZF9sZTE2KCZtcy0+bXNfc2VjdG9yX3NpemUpOworCXJlc2VydmVkID0gIGxlMTZfdG9fY3B1KG1zLT5tc19yZXNlcnZlZCk7CisKKwlpZiAobXMtPm1zX2ZhdF9sZW5ndGgpIHsKKwkJLyogdGhlIGxhYmVsIG1heSBiZSBhbiBhdHRyaWJ1dGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5ICovCisJCXVpbnQzMl90IHJvb3Rfc3RhcnQgPSAocmVzZXJ2ZWQgKyBmYXRfc2l6ZSkgKiBzZWN0b3Jfc2l6ZTsKKwkJdWludDMyX3Qgcm9vdF9kaXJfZW50cmllcyA9IHVuYWxpZ25lZF9sZTE2KCZ2cy0+dnNfZGlyX2VudHJpZXMpOworCisJCXZvbF9sYWJlbCA9IHNlYXJjaF9mYXRfbGFiZWwocHIsIHJvb3Rfc3RhcnQsIHJvb3RfZGlyX2VudHJpZXMpOworCQlpZiAodm9sX2xhYmVsKSB7CisJCQltZW1jcHkodm9sX2xhYmVsX2J1Ziwgdm9sX2xhYmVsLCAxMSk7CisJCQl2b2xfbGFiZWwgPSB2b2xfbGFiZWxfYnVmOworCQl9CisKKwkJaWYgKCF2b2xfbGFiZWwgfHwgIW1lbWNtcCh2b2xfbGFiZWwsIG5vX25hbWUsIDExKSkKKwkJCXZvbF9sYWJlbCA9IG1zLT5tc19sYWJlbDsKKwkJdm9sX3Nlcm5vID0gbXMtPm1zX3Nlcm5vOworCisJCWJsa2lkX3Byb2JlX3NldF92YWx1ZShwciwgIlNFQ19UWVBFIiwgKHVuc2lnbmVkIGNoYXIgKikgIm1zZG9zIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZigibXNkb3MiKSk7CisKKwkJaWYgKGNsdXN0ZXJfY291bnQgPCBGQVQxMl9NQVgpCisJCQl2ZXJzaW9uID0gIkZBVDEyIjsKKwkJZWxzZSBpZiAoY2x1c3Rlcl9jb3VudCA8IEZBVDE2X01BWCkKKwkJCXZlcnNpb24gPSAiRkFUMTYiOworCisJfSBlbHNlIGlmICh2cy0+dnNfZmF0MzJfbGVuZ3RoKSB7CisJCXVuc2lnbmVkIGNoYXIgKmJ1ZjsKKwkJdWludDE2X3QgZnNpbmZvX3NlY3Q7CisJCWludCBtYXhsb29wID0gMTAwOworCisJCS8qIFNlYXJjaCB0aGUgRkFUMzIgcm9vdCBkaXIgZm9yIHRoZSBsYWJlbCBhdHRyaWJ1dGUgKi8KKwkJdWludDMyX3QgYnVmX3NpemUgPSB2cy0+dnNfY2x1c3Rlcl9zaXplICogc2VjdG9yX3NpemU7CisJCXVpbnQzMl90IHN0YXJ0X2RhdGFfc2VjdCA9IHJlc2VydmVkICsgZmF0X3NpemU7CisJCXVpbnQzMl90IGVudHJpZXMgPSBsZTMyX3RvX2NwdSh2cy0+dnNfZmF0MzJfbGVuZ3RoKSAqCisJCQkJCXNlY3Rvcl9zaXplIC8gc2l6ZW9mKHVpbnQzMl90KTsKKwkJdWludDMyX3QgbmV4dCA9IGxlMzJfdG9fY3B1KHZzLT52c19yb290X2NsdXN0ZXIpOworCisJCXdoaWxlIChuZXh0ICYmIG5leHQgPCBlbnRyaWVzICYmIC0tbWF4bG9vcCkgeworCQkJdWludDMyX3QgbmV4dF9zZWN0X29mZjsKKwkJCXVpbnQ2NF90IG5leHRfb2ZmLCBmYXRfZW50cnlfb2ZmOworCQkJaW50IGNvdW50OworCisJCQluZXh0X3NlY3Rfb2ZmID0gKG5leHQgLSAyKSAqIHZzLT52c19jbHVzdGVyX3NpemU7CisJCQluZXh0X29mZiA9ICh1aW50NjRfdCkoc3RhcnRfZGF0YV9zZWN0ICsgbmV4dF9zZWN0X29mZikgKgorCQkJCXNlY3Rvcl9zaXplOworCisJCQljb3VudCA9IGJ1Zl9zaXplIC8gc2l6ZW9mKHN0cnVjdCB2ZmF0X2Rpcl9lbnRyeSk7CisKKwkJCXZvbF9sYWJlbCA9IHNlYXJjaF9mYXRfbGFiZWwocHIsIG5leHRfb2ZmLCBjb3VudCk7CisJCQlpZiAodm9sX2xhYmVsKSB7CisJCQkJbWVtY3B5KHZvbF9sYWJlbF9idWYsIHZvbF9sYWJlbCwgMTEpOworCQkJCXZvbF9sYWJlbCA9IHZvbF9sYWJlbF9idWY7CisJCQkJYnJlYWs7CisJCQl9CisKKwkJCS8qIGdldCBGQVQgZW50cnkgKi8KKwkJCWZhdF9lbnRyeV9vZmYgPSAoKHVpbnQ2NF90KSByZXNlcnZlZCAqIHNlY3Rvcl9zaXplKSArCisJCQkJKG5leHQgKiBzaXplb2YodWludDMyX3QpKTsKKwkJCWJ1ZiA9IGJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsIGZhdF9lbnRyeV9vZmYsIGJ1Zl9zaXplKTsKKwkJCWlmIChidWYgPT0gTlVMTCkKKwkJCQlicmVhazsKKworCQkJLyogc2V0IG5leHQgY2x1c3RlciAqLworCQkJbmV4dCA9IGxlMzJfdG9fY3B1KCooKHVpbnQzMl90ICopIGJ1ZikpICYgMHgwZmZmZmZmZjsKKwkJfQorCisJCXZlcnNpb24gPSAiRkFUMzIiOworCisJCWlmICghdm9sX2xhYmVsIHx8ICFtZW1jbXAodm9sX2xhYmVsLCBub19uYW1lLCAxMSkpCisJCQl2b2xfbGFiZWwgPSB2cy0+dnNfbGFiZWw7CisJCXZvbF9zZXJubyA9IHZzLT52c19zZXJubzsKKworCQkvKgorCQkgKiBGQVQzMiBzaG91bGQgaGF2ZSBhIHZhbGlkIHNpZ25hdHVyZSBpbiB0aGUgZnNpbmZvIGJsb2NrLAorCQkgKiBidXQgYWxzbyBhbGxvdyBhbGwgYnl0ZXMgc2V0IHRvICdcMCcsIGJlY2F1c2Ugc29tZSB2b2x1bWVzCisJCSAqIGRvIG5vdCBzZXQgdGhlIHNpZ25hdHVyZSBhdCBhbGwuCisJCSAqLworCQlmc2luZm9fc2VjdCA9IGxlMTZfdG9fY3B1KHZzLT52c19mc2luZm9fc2VjdG9yKTsKKwkJaWYgKGZzaW5mb19zZWN0KSB7CisJCQlzdHJ1Y3QgZmF0MzJfZnNpbmZvICpmc2luZm87CisKKwkJCWJ1ZiA9IGJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsCisJCQkJCSh1aW50NjRfdCkgZnNpbmZvX3NlY3QgKiBzZWN0b3Jfc2l6ZSwKKwkJCQkJc2l6ZW9mKHN0cnVjdCBmYXQzMl9mc2luZm8pKTsKKwkJCWlmIChidWYgPT0gTlVMTCkKKwkJCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJCQlmc2luZm8gPSAoc3RydWN0IGZhdDMyX2ZzaW5mbyAqKSBidWY7CisJCQlpZiAobWVtY21wKGZzaW5mby0+c2lnbmF0dXJlMSwgIlx4NTJceDUyXHg2MVx4NDEiLCA0KSAhPSAwICYmCisJCQkgICAgbWVtY21wKGZzaW5mby0+c2lnbmF0dXJlMSwgIlx4NTJceDUyXHg2NFx4NDEiLCA0KSAhPSAwICYmCisJCQkgICAgbWVtY21wKGZzaW5mby0+c2lnbmF0dXJlMSwgIlx4MDBceDAwXHgwMFx4MDAiLCA0KSAhPSAwKQorCQkJCXJldHVybiAxOworCQkJaWYgKG1lbWNtcChmc2luZm8tPnNpZ25hdHVyZTIsICJceDcyXHg3Mlx4NDFceDYxIiwgNCkgIT0gMCAmJgorCQkJICAgIG1lbWNtcChmc2luZm8tPnNpZ25hdHVyZTIsICJceDAwXHgwMFx4MDBceDAwIiwgNCkgIT0gMCkKKwkJCQlyZXR1cm4gMTsKKwkJfQorCX0KKworCWlmICh2b2xfbGFiZWwgJiYgbWVtY21wKHZvbF9sYWJlbCwgbm9fbmFtZSwgMTEpKQorCQlibGtpZF9wcm9iZV9zZXRfbGFiZWwocHIsICh1bnNpZ25lZCBjaGFyICopIHZvbF9sYWJlbCwgMTEpOworCisJLyogV2UgY2FuJ3QganVzdCBwcmludCB0aGVtIGFzICUwNFgsIGJlY2F1c2UgdGhleSBhcmUgdW5hbGlnbmVkICovCisJaWYgKHZvbF9zZXJubykKKwkJYmxraWRfcHJvYmVfc3ByaW50Zl91dWlkKHByLCB2b2xfc2Vybm8sIDQsICIlMDJYJTAyWC0lMDJYJTAyWCIsCisJCQl2b2xfc2Vybm9bM10sIHZvbF9zZXJub1syXSwgdm9sX3Nlcm5vWzFdLCB2b2xfc2Vybm9bMF0pOworCWlmICh2ZXJzaW9uKQorCQlibGtpZF9wcm9iZV9zZXRfdmVyc2lvbihwciwgdmVyc2lvbik7CisKKwlyZXR1cm4gMDsKK30KKworCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHZmYXRfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAidmZhdCIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX0ZJTEVTWVNURU0sCisJLnByb2JlZnVuYwk9IHByb2JlX3ZmYXQsCisJLm1hZ2ljcwkJPQorCXsKKwkJeyAubWFnaWMgPSAiTVNXSU4iLCAgICAubGVuID0gNSwgLnNib2ZmID0gMHg1MiB9LAorCQl7IC5tYWdpYyA9ICJGQVQzMiAgICIsIC5sZW4gPSA4LCAuc2JvZmYgPSAweDUyIH0sCisJCXsgLm1hZ2ljID0gIk1TRE9TIiwgICAgLmxlbiA9IDUsIC5zYm9mZiA9IDB4MzYgfSwKKwkJeyAubWFnaWMgPSAiRkFUMTYgICAiLCAubGVuID0gOCwgLnNib2ZmID0gMHgzNiB9LAorCQl7IC5tYWdpYyA9ICJGQVQxMiAgICIsIC5sZW4gPSA4LCAuc2JvZmYgPSAweDM2IH0sCisJCXsgLm1hZ2ljID0gIkZBVCAgICAgIiwgLmxlbiA9IDgsIC5zYm9mZiA9IDB4MzYgfSwKKwkJeyAubWFnaWMgPSAiXDM1MyIsICAgICAubGVuID0gMSwgfSwKKwkJeyAubWFnaWMgPSAiXDM1MSIsICAgICAubGVuID0gMSwgfSwKKwkJeyAubWFnaWMgPSAiXDEyNVwyNTIiLCAubGVuID0gMiwgLnNib2ZmID0gMHgxZmUgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvdmlhX3JhaWQuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy92aWFfcmFpZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlM2FiNjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvdmlhX3JhaWQuYwpAQCAtMCwwICsxLDkxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIEluc3BpcmVkIGJ5IGxpYnZvbHVtZV9pZCBieQorICogICAgIEtheSBTaWV2ZXJzIDxrYXkuc2lldmVyc0B2cmZ5Lm9yZz4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKK3N0cnVjdCB2aWFfbWV0YWRhdGEgeworCXVpbnQxNl90CXNpZ25hdHVyZTsKKwl1aW50OF90CQl2ZXJzaW9uX251bWJlcjsKKwlzdHJ1Y3QgdmlhX2FycmF5IHsKKwkJdWludDE2X3QJZGlza19iaXRfbWFzazsKKwkJdWludDhfdAkJZGlza19hcnJheV9leDsKKwkJdWludDMyX3QJY2FwYWNpdHlfbG93OworCQl1aW50MzJfdAljYXBhY2l0eV9oaWdoOworCQl1aW50MzJfdAlzZXJpYWxfY2hlY2tzdW07CisJfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSBhcnJheTsKKwl1aW50MzJfdAlzZXJpYWxfY2hlY2tzdW1bOF07CisJdWludDhfdAkJY2hlY2tzdW07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCisjZGVmaW5lIFZJQV9TSUdOQVRVUkUJCTB4QUE1NQorCisvKiA4IGJpdCBjaGVja3N1bSBvbiBmaXJzdCA1MCBieXRlcyBvZiBtZXRhZGF0YS4gKi8KK3N0YXRpYyB1aW50OF90IHZpYV9jaGVja3N1bShzdHJ1Y3QgdmlhX21ldGFkYXRhICp2KQoreworCXVpbnQ4X3QgaSA9IDUwLCBjcyA9IDA7CisKKwl3aGlsZSAoaS0tKQorCQljcyArPSAoKHVpbnQ4X3QqKSB2KVtpXTsKKworCXJldHVybiBjczsKK30KKworc3RhdGljIGludCBwcm9iZV92aWFyYWlkKGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJdWludDY0X3Qgb2ZmOworCXN0cnVjdCB2aWFfbWV0YWRhdGEgKnY7CisKKwlpZiAocHItPnNpemUgPCAweDEwMDAwKQorCQlyZXR1cm4gMTsKKwlpZiAoIVNfSVNSRUcocHItPm1vZGUpICYmICFibGtpZF9wcm9iZV9pc193aG9sZWRpc2socHIpKQorCQlyZXR1cm4gMTsKKworCW9mZiA9ICgocHItPnNpemUgLyAweDIwMCktMSkgKiAweDIwMDsKKworCXYgPSAoc3RydWN0IHZpYV9tZXRhZGF0YSAqKQorCQkJYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwKKwkJCQlvZmYsCisJCQkJc2l6ZW9mKHN0cnVjdCB2aWFfbWV0YWRhdGEpKTsKKwlpZiAoIXYpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwlpZiAobGUxNl90b19jcHUodi0+c2lnbmF0dXJlKSAhPSBWSUFfU0lHTkFUVVJFKQorCQlyZXR1cm4gMTsKKwlpZiAodi0+dmVyc2lvbl9udW1iZXIgPiAyKQorCQlyZXR1cm4gMTsKKwlpZiAoIWJsa2lkX3Byb2JlX3ZlcmlmeV9jc3VtKHByLCB2aWFfY2hlY2tzdW0odiksIHYtPmNoZWNrc3VtKSkKKwkJcmV0dXJuIDE7CisKKwlpZiAoYmxraWRfcHJvYmVfc3ByaW50Zl92ZXJzaW9uKHByLCAiJXUiLCB2LT52ZXJzaW9uX251bWJlcikgIT0gMCkKKwkJcmV0dXJuIDE7CisJaWYgKGJsa2lkX3Byb2JlX3NldF9tYWdpYyhwciwgb2ZmLAorCQkJCXNpemVvZih2LT5zaWduYXR1cmUpLAorCQkJCSh1bnNpZ25lZCBjaGFyICopICZ2LT5zaWduYXR1cmUpKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyB2aWFyYWlkX2lkaW5mbyA9IHsKKwkubmFtZQkJPSAidmlhX3JhaWRfbWVtYmVyIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfUkFJRCwKKwkucHJvYmVmdW5jCT0gcHJvYmVfdmlhcmFpZCwKKwkubWFnaWNzCQk9IEJMS0lEX05PTkVfTUFHSUMKK307CisKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3ZtZnMuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy92bWZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmFjODdhYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy92bWZzLmMKQEAgLTAsMCArMSwxMDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgTWlrZSBIb21tZXkgPG1oQGdsYW5kaXVtLm9yZz4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworc3RydWN0IHZtZnNfZnNfaW5mbyB7CisJdWludDMyX3QgbWFnaWM7CisJdWludDMyX3Qgdm9sdW1lX3ZlcnNpb247CisJdWludDhfdCB2ZXJzaW9uOworCXVpbnQ4X3QgdXVpZFsxNl07CisJdWludDMyX3QgbW9kZTsKKwljaGFyIGxhYmVsWzEyOF07Cit9IF9fYXR0cmlidXRlX18gKChfX3BhY2tlZF9fKSk7CisKK3N0cnVjdCB2bWZzX3ZvbHVtZV9pbmZvIHsKKwl1aW50MzJfdCBtYWdpYzsKKwl1aW50MzJfdCB2ZXI7CisJdWludDhfdCBpcnJlbGV2YW50WzEyMl07CisJdWludDhfdCB1dWlkWzE2XTsKK30gX19hdHRyaWJ1dGVfXyAoKF9fcGFja2VkX18pKTsKKworc3RhdGljIGludCBwcm9iZV92bWZzX2ZzKGJsa2lkX3Byb2JlIHByLCBjb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZykKK3sKKwlzdHJ1Y3Qgdm1mc19mc19pbmZvICpoZWFkZXI7CisKKwloZWFkZXIgPSBibGtpZF9wcm9iZV9nZXRfc2IocHIsIG1hZywgc3RydWN0IHZtZnNfZnNfaW5mbyk7CisJaWYgKGhlYWRlciA9PSBOVUxMKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJYmxraWRfcHJvYmVfc3ByaW50Zl91dWlkKHByLCAodW5zaWduZWQgY2hhciAqKSBoZWFkZXItPnV1aWQsIDE2LAorCQkiJTAyeCUwMnglMDJ4JTAyeC0lMDJ4JTAyeCUwMnglMDJ4LSIKKwkJIiUwMnglMDJ4LSUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCIsCisJCWhlYWRlci0+dXVpZFszXSwgaGVhZGVyLT51dWlkWzJdLCBoZWFkZXItPnV1aWRbMV0sCisJCWhlYWRlci0+dXVpZFswXSwgaGVhZGVyLT51dWlkWzddLCBoZWFkZXItPnV1aWRbNl0sCisJCWhlYWRlci0+dXVpZFs1XSwgaGVhZGVyLT51dWlkWzRdLCBoZWFkZXItPnV1aWRbOV0sCisJCWhlYWRlci0+dXVpZFs4XSwgaGVhZGVyLT51dWlkWzEwXSwgaGVhZGVyLT51dWlkWzExXSwKKwkJaGVhZGVyLT51dWlkWzEyXSwgaGVhZGVyLT51dWlkWzEzXSwgaGVhZGVyLT51dWlkWzE0XSwKKwkJaGVhZGVyLT51dWlkWzE1XSk7CisKKwlibGtpZF9wcm9iZV9zZXRfbGFiZWwocHIsICh1bnNpZ25lZCBjaGFyICopIGhlYWRlci0+bGFiZWwsCisJCQkJCXNpemVvZihoZWFkZXItPmxhYmVsKSk7CisJYmxraWRfcHJvYmVfc3ByaW50Zl92ZXJzaW9uKHByLCAiJXUiLCBoZWFkZXItPnZlcnNpb24pOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHByb2JlX3ZtZnNfdm9sdW1lKGJsa2lkX3Byb2JlIHByLCBjb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZykKK3sKKwlzdHJ1Y3Qgdm1mc192b2x1bWVfaW5mbyAqaGVhZGVyOworCXVuc2lnbmVkIGNoYXIgKmx2bV91dWlkOworCisJaGVhZGVyID0gYmxraWRfcHJvYmVfZ2V0X3NiKHByLCBtYWcsIHN0cnVjdCB2bWZzX3ZvbHVtZV9pbmZvKTsKKwlpZiAoaGVhZGVyID09IE5VTEwpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwlibGtpZF9wcm9iZV9zcHJpbnRmX3ZhbHVlKHByLCAiVVVJRF9TVUIiLAorCQkiJTAyeCUwMnglMDJ4JTAyeC0lMDJ4JTAyeCUwMnglMDJ4LSIKKwkJIiUwMnglMDJ4LSUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCIsCisJCWhlYWRlci0+dXVpZFszXSwgaGVhZGVyLT51dWlkWzJdLCBoZWFkZXItPnV1aWRbMV0sCisJCWhlYWRlci0+dXVpZFswXSwgaGVhZGVyLT51dWlkWzddLCBoZWFkZXItPnV1aWRbNl0sCisJCWhlYWRlci0+dXVpZFs1XSwgaGVhZGVyLT51dWlkWzRdLCBoZWFkZXItPnV1aWRbOV0sCisJCWhlYWRlci0+dXVpZFs4XSwgaGVhZGVyLT51dWlkWzEwXSwgaGVhZGVyLT51dWlkWzExXSwKKwkJaGVhZGVyLT51dWlkWzEyXSwgaGVhZGVyLT51dWlkWzEzXSwgaGVhZGVyLT51dWlkWzE0XSwKKwkJaGVhZGVyLT51dWlkWzE1XSk7CisJYmxraWRfcHJvYmVfc3ByaW50Zl92ZXJzaW9uKHByLCAiJXUiLCBsZTMyX3RvX2NwdShoZWFkZXItPnZlcikpOworCisJbHZtX3V1aWQgPSBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLAorCQkJCTEwMjQgKiAxMDI0IC8qIFN0YXJ0IG9mIHRoZSB2b2x1bWUgaW5mbyAqLworCQkJCSsgNTEyIC8qIE9mZnNldCB0byBsdm0gaW5mbyAqLworCQkJCSsgMjAgLyogT2Zmc2V0IGluIGx2bSBpbmZvICovLCAzNSk7CisJaWYgKGx2bV91dWlkKQorCQlibGtpZF9wcm9iZV9zdHJuY3B5X3V1aWQocHIsIGx2bV91dWlkLCAzNSk7CisKKwlyZXR1cm4gMDsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyB2bWZzX2ZzX2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gIlZNRlMiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV92bWZzX2ZzLAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gIlx4NWVceGYxXHhhYlx4MmYiLCAubGVuID0gNCwgLmtib2ZmID0gMjA0OCB9LAorCQl7IE5VTEwgfQorCX0KK307CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gdm1mc192b2x1bWVfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAiVk1GU192b2x1bWVfbWVtYmVyIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfUkFJRCwKKwkucHJvYmVmdW5jCT0gcHJvYmVfdm1mc192b2x1bWUsCisJLm1hZ2ljcwkJPQorCXsKKwkJeyAubWFnaWMgPSAiXHgwZFx4ZDBceDAxXHhjMCIsIC5sZW4gPSA0LCAua2JvZmYgPSAxMDI0IH0sCisJCXsgTlVMTCB9CisJfQorfTsKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy92eGZzLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvdnhmcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5ZDI4NGMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvdnhmcy5jCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKK3N0cnVjdCB2eGZzX3N1cGVyX2Jsb2NrIHsKKwl1aW50MzJfdAkJdnNfbWFnaWM7CisJaW50MzJfdAkJCXZzX3ZlcnNpb247Cit9OworCitzdGF0aWMgaW50IHByb2JlX3Z4ZnMoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCXN0cnVjdCB2eGZzX3N1cGVyX2Jsb2NrICp2eHM7CisKKwl2eHMgPSBibGtpZF9wcm9iZV9nZXRfc2IocHIsIG1hZywgc3RydWN0IHZ4ZnNfc3VwZXJfYmxvY2spOworCWlmICghdnhzKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJYmxraWRfcHJvYmVfc3ByaW50Zl92ZXJzaW9uKHByLCAiJXUiLCAodW5zaWduZWQgaW50KSB2eHMtPnZzX3ZlcnNpb24pOworCXJldHVybiAwOworfQorCisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gdnhmc19pZGluZm8gPQoreworCS5uYW1lCQk9ICJ2eGZzIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfdnhmcywKKwkubWFnaWNzCQk9CisJeworCQl7IC5tYWdpYyA9ICJcMzY1XDM3NFwwMDFcMjQ1IiwgLmxlbiA9IDQsIC5rYm9mZiA9IDEgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MveGZzLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MveGZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTk4NDhmOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy94ZnMuYwpAQCAtMCwwICsxLDI4NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMTk5OSBieSBBbmRyaWVzIEJyb3V3ZXIKKyAqIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMCwgMjAwMyBieSBUaGVvZG9yZSBUcydvCisgKiBDb3B5cmlnaHQgKEMpIDIwMDEgYnkgQW5kcmVhcyBEaWxnZXIKKyAqIENvcHlyaWdodCAoQykgMjAwNCBLYXkgU2lldmVycyA8a2F5LnNpZXZlcnNAdnJmeS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgRXJpYyBTYW5kZWVuIDxzYW5kZWVuQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCitzdHJ1Y3QgeGZzX3N1cGVyX2Jsb2NrIHsKKwl1aW50MzJfdAlzYl9tYWdpY251bTsJLyogbWFnaWMgbnVtYmVyID09IFhGU19TQl9NQUdJQyAqLworCXVpbnQzMl90CXNiX2Jsb2Nrc2l6ZTsJLyogbG9naWNhbCBibG9jayBzaXplLCBieXRlcyAqLworCXVpbnQ2NF90CXNiX2RibG9ja3M7CS8qIG51bWJlciBvZiBkYXRhIGJsb2NrcyAqLworCXVpbnQ2NF90CXNiX3JibG9ja3M7CS8qIG51bWJlciBvZiByZWFsdGltZSBibG9ja3MgKi8KKwl1aW50NjRfdAlzYl9yZXh0ZW50czsJLyogbnVtYmVyIG9mIHJlYWx0aW1lIGV4dGVudHMgKi8KKwl1bnNpZ25lZCBjaGFyCXNiX3V1aWRbMTZdOwkvKiBmaWxlIHN5c3RlbSB1bmlxdWUgaWQgKi8KKwl1aW50NjRfdAlzYl9sb2dzdGFydDsJLyogc3RhcnRpbmcgYmxvY2sgb2YgbG9nIGlmIGludGVybmFsICovCisJdWludDY0X3QJc2Jfcm9vdGlubzsJLyogcm9vdCBpbm9kZSBudW1iZXIgKi8KKwl1aW50NjRfdAlzYl9yYm1pbm87CS8qIGJpdG1hcCBpbm9kZSBmb3IgcmVhbHRpbWUgZXh0ZW50cyAqLworCXVpbnQ2NF90CXNiX3JzdW1pbm87CS8qIHN1bW1hcnkgaW5vZGUgZm9yIHJ0IGJpdG1hcCAqLworCXVpbnQzMl90CXNiX3JleHRzaXplOwkvKiByZWFsdGltZSBleHRlbnQgc2l6ZSwgYmxvY2tzICovCisJdWludDMyX3QJc2JfYWdibG9ja3M7CS8qIHNpemUgb2YgYW4gYWxsb2NhdGlvbiBncm91cCAqLworCXVpbnQzMl90CXNiX2FnY291bnQ7CS8qIG51bWJlciBvZiBhbGxvY2F0aW9uIGdyb3VwcyAqLworCXVpbnQzMl90CXNiX3JibWJsb2NrczsJLyogbnVtYmVyIG9mIHJ0IGJpdG1hcCBibG9ja3MgKi8KKwl1aW50MzJfdAlzYl9sb2dibG9ja3M7CS8qIG51bWJlciBvZiBsb2cgYmxvY2tzICovCisKKwl1aW50MTZfdAlzYl92ZXJzaW9ubnVtOwkvKiBoZWFkZXIgdmVyc2lvbiA9PSBYRlNfU0JfVkVSU0lPTiAqLworCXVpbnQxNl90CXNiX3NlY3RzaXplOwkvKiB2b2x1bWUgc2VjdG9yIHNpemUsIGJ5dGVzICovCisJdWludDE2X3QJc2JfaW5vZGVzaXplOwkvKiBpbm9kZSBzaXplLCBieXRlcyAqLworCXVpbnQxNl90CXNiX2lub3BibG9jazsJLyogaW5vZGVzIHBlciBibG9jayAqLworCWNoYXIJCXNiX2ZuYW1lWzEyXTsJLyogZmlsZSBzeXN0ZW0gbmFtZSAqLworCXVpbnQ4X3QJCXNiX2Jsb2NrbG9nOwkvKiBsb2cyIG9mIHNiX2Jsb2Nrc2l6ZSAqLworCXVpbnQ4X3QJCXNiX3NlY3Rsb2c7CS8qIGxvZzIgb2Ygc2Jfc2VjdHNpemUgKi8KKwl1aW50OF90CQlzYl9pbm9kZWxvZzsJLyogbG9nMiBvZiBzYl9pbm9kZXNpemUgKi8KKwl1aW50OF90CQlzYl9pbm9wYmxvZzsJLyogbG9nMiBvZiBzYl9pbm9wYmxvY2sgKi8KKwl1aW50OF90CQlzYl9hZ2Jsa2xvZzsJLyogbG9nMiBvZiBzYl9hZ2Jsb2NrcyAocm91bmRlZCB1cCkgKi8KKwl1aW50OF90CQlzYl9yZXh0c2xvZzsJLyogbG9nMiBvZiBzYl9yZXh0ZW50cyAqLworCXVpbnQ4X3QJCXNiX2lucHJvZ3Jlc3M7CS8qIG1rZnMgaXMgaW4gcHJvZ3Jlc3MsIGRvbid0IG1vdW50ICovCisJdWludDhfdAkJc2JfaW1heF9wY3Q7CS8qIG1heCAlIG9mIGZzIGZvciBpbm9kZSBzcGFjZSAqLworCQkJCQkvKiBzdGF0aXN0aWNzICovCisJdWludDY0X3QJc2JfaWNvdW50OwkvKiBhbGxvY2F0ZWQgaW5vZGVzICovCisJdWludDY0X3QJc2JfaWZyZWU7CS8qIGZyZWUgaW5vZGVzICovCisJdWludDY0X3QJc2JfZmRibG9ja3M7CS8qIGZyZWUgZGF0YSBibG9ja3MgKi8KKwl1aW50NjRfdAlzYl9mcmV4dGVudHM7CS8qIGZyZWUgcmVhbHRpbWUgZXh0ZW50cyAqLworCisJLyogdGhpcyBpcyBub3QgYWxsLi4uIGJ1dCBlbm91Z2ggZm9yIGxpYmJsa2lkICovCisKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKyNkZWZpbmUgWEZTX01JTl9CTE9DS1NJWkVfTE9HCTkJLyogaS5lLiA1MTIgYnl0ZXMgKi8KKyNkZWZpbmUgWEZTX01BWF9CTE9DS1NJWkVfTE9HCTE2CS8qIGkuZS4gNjU1MzYgYnl0ZXMgKi8KKyNkZWZpbmUgWEZTX01JTl9CTE9DS1NJWkUJKDEgPDwgWEZTX01JTl9CTE9DS1NJWkVfTE9HKQorI2RlZmluZSBYRlNfTUFYX0JMT0NLU0laRQkoMSA8PCBYRlNfTUFYX0JMT0NLU0laRV9MT0cpCisjZGVmaW5lIFhGU19NSU5fU0VDVE9SU0laRV9MT0cJOQkvKiBpLmUuIDUxMiBieXRlcyAqLworI2RlZmluZSBYRlNfTUFYX1NFQ1RPUlNJWkVfTE9HCTE1CS8qIGkuZS4gMzI3NjggYnl0ZXMgKi8KKyNkZWZpbmUgWEZTX01JTl9TRUNUT1JTSVpFCSgxIDw8IFhGU19NSU5fU0VDVE9SU0laRV9MT0cpCisjZGVmaW5lIFhGU19NQVhfU0VDVE9SU0laRQkoMSA8PCBYRlNfTUFYX1NFQ1RPUlNJWkVfTE9HKQorCisjZGVmaW5lCVhGU19ESU5PREVfTUlOX0xPRwk4CisjZGVmaW5lCVhGU19ESU5PREVfTUFYX0xPRwkxMQorI2RlZmluZQlYRlNfRElOT0RFX01JTl9TSVpFCSgxIDw8IFhGU19ESU5PREVfTUlOX0xPRykKKyNkZWZpbmUJWEZTX0RJTk9ERV9NQVhfU0laRQkoMSA8PCBYRlNfRElOT0RFX01BWF9MT0cpCisKKyNkZWZpbmUJWEZTX01BWF9SVEVYVFNJWkUJKDEwMjQgKiAxMDI0ICogMTAyNCkJLyogMUdCICovCisjZGVmaW5lCVhGU19ERkxfUlRFWFRTSVpFCSg2NCAqIDEwMjQpCSAgICAgICAgLyogNjRrQiAqLworI2RlZmluZQlYRlNfTUlOX1JURVhUU0laRQkoNCAqIDEwMjQpCQkvKiA0a0IgKi8KKworI2RlZmluZSBYRlNfTUlOX0FHX0JMT0NLUwk2NAorI2RlZmluZSBYRlNfTUFYX0RCTE9DS1MocykgKCh1aW50NjRfdCkocyktPnNiX2FnY291bnQgKiAocyktPnNiX2FnYmxvY2tzKQorI2RlZmluZSBYRlNfTUlOX0RCTE9DS1MocykgKCh1aW50NjRfdCkoKHMpLT5zYl9hZ2NvdW50IC0gMSkgKglcCisJCQkgKHMpLT5zYl9hZ2Jsb2NrcyArIFhGU19NSU5fQUdfQkxPQ0tTKQorCisKK3N0YXRpYyB2b2lkIHNiX2Zyb21fZGlzayhzdHJ1Y3QgeGZzX3N1cGVyX2Jsb2NrICpmcm9tLAorCQkJIHN0cnVjdCB4ZnNfc3VwZXJfYmxvY2sgKnRvKQoreworCisJdG8tPnNiX21hZ2ljbnVtID0gYmUzMl90b19jcHUoZnJvbS0+c2JfbWFnaWNudW0pOworCXRvLT5zYl9ibG9ja3NpemUgPSBiZTMyX3RvX2NwdShmcm9tLT5zYl9ibG9ja3NpemUpOworCXRvLT5zYl9kYmxvY2tzID0gYmU2NF90b19jcHUoZnJvbS0+c2JfZGJsb2Nrcyk7CisJdG8tPnNiX3JibG9ja3MgPSBiZTY0X3RvX2NwdShmcm9tLT5zYl9yYmxvY2tzKTsKKwl0by0+c2JfcmV4dGVudHMgPSBiZTY0X3RvX2NwdShmcm9tLT5zYl9yZXh0ZW50cyk7CisJdG8tPnNiX2xvZ3N0YXJ0ID0gYmU2NF90b19jcHUoZnJvbS0+c2JfbG9nc3RhcnQpOworCXRvLT5zYl9yb290aW5vID0gYmU2NF90b19jcHUoZnJvbS0+c2Jfcm9vdGlubyk7CisJdG8tPnNiX3JibWlubyA9IGJlNjRfdG9fY3B1KGZyb20tPnNiX3JibWlubyk7CisJdG8tPnNiX3JzdW1pbm8gPSBiZTY0X3RvX2NwdShmcm9tLT5zYl9yc3VtaW5vKTsKKwl0by0+c2JfcmV4dHNpemUgPSBiZTMyX3RvX2NwdShmcm9tLT5zYl9yZXh0c2l6ZSk7CisJdG8tPnNiX2FnYmxvY2tzID0gYmUzMl90b19jcHUoZnJvbS0+c2JfYWdibG9ja3MpOworCXRvLT5zYl9hZ2NvdW50ID0gYmUzMl90b19jcHUoZnJvbS0+c2JfYWdjb3VudCk7CisJdG8tPnNiX3JibWJsb2NrcyA9IGJlMzJfdG9fY3B1KGZyb20tPnNiX3JibWJsb2Nrcyk7CisJdG8tPnNiX2xvZ2Jsb2NrcyA9IGJlMzJfdG9fY3B1KGZyb20tPnNiX2xvZ2Jsb2Nrcyk7CisJdG8tPnNiX3ZlcnNpb25udW0gPSBiZTE2X3RvX2NwdShmcm9tLT5zYl92ZXJzaW9ubnVtKTsKKwl0by0+c2Jfc2VjdHNpemUgPSBiZTE2X3RvX2NwdShmcm9tLT5zYl9zZWN0c2l6ZSk7CisJdG8tPnNiX2lub2Rlc2l6ZSA9IGJlMTZfdG9fY3B1KGZyb20tPnNiX2lub2Rlc2l6ZSk7CisJdG8tPnNiX2lub3BibG9jayA9IGJlMTZfdG9fY3B1KGZyb20tPnNiX2lub3BibG9jayk7CisJdG8tPnNiX2Jsb2NrbG9nID0gZnJvbS0+c2JfYmxvY2tsb2c7CisJdG8tPnNiX3NlY3Rsb2cgPSBmcm9tLT5zYl9zZWN0bG9nOworCXRvLT5zYl9pbm9kZWxvZyA9IGZyb20tPnNiX2lub2RlbG9nOworCXRvLT5zYl9pbm9wYmxvZyA9IGZyb20tPnNiX2lub3BibG9nOworCXRvLT5zYl9hZ2Jsa2xvZyA9IGZyb20tPnNiX2FnYmxrbG9nOworCXRvLT5zYl9yZXh0c2xvZyA9IGZyb20tPnNiX3JleHRzbG9nOworCXRvLT5zYl9pbnByb2dyZXNzID0gZnJvbS0+c2JfaW5wcm9ncmVzczsKKwl0by0+c2JfaW1heF9wY3QgPSBmcm9tLT5zYl9pbWF4X3BjdDsKKwl0by0+c2JfaWNvdW50ID0gYmU2NF90b19jcHUoZnJvbS0+c2JfaWNvdW50KTsKKwl0by0+c2JfaWZyZWUgPSBiZTY0X3RvX2NwdShmcm9tLT5zYl9pZnJlZSk7CisJdG8tPnNiX2ZkYmxvY2tzID0gYmU2NF90b19jcHUoZnJvbS0+c2JfZmRibG9ja3MpOworCXRvLT5zYl9mcmV4dGVudHMgPSBiZTY0X3RvX2NwdShmcm9tLT5zYl9mcmV4dGVudHMpOworfQorCitzdGF0aWMgaW50IHhmc192ZXJpZnlfc2Ioc3RydWN0IHhmc19zdXBlcl9ibG9jayAqb25kaXNrKQoreworCXN0cnVjdCB4ZnNfc3VwZXJfYmxvY2sgc2IsICpzYnAgPSAmc2I7CisKKwkvKiBiZVhYX3RvX2NwdSgpLCBidXQgZG9uJ3QgY29udmVydCBVVUlEIGFuZCBmc25hbWUhICovCisJc2JfZnJvbV9kaXNrKG9uZGlzaywgc2JwKTsKKworCS8qIHNhbml0eSBjaGVja3MsIHdlIGRvbid0IHdhbnQgdG8gcmVseSBvbiBtYWdpYyBzdHJpbmcgb25seSAqLworCWlmIChzYnAtPnNiX2FnY291bnQgPD0gMAkJCQkJfHwKKwkgICAgc2JwLT5zYl9zZWN0c2l6ZSA8IFhGU19NSU5fU0VDVE9SU0laRQkJCXx8CisJICAgIHNicC0+c2Jfc2VjdHNpemUgPiBYRlNfTUFYX1NFQ1RPUlNJWkUJCQl8fAorCSAgICBzYnAtPnNiX3NlY3Rsb2cgPCBYRlNfTUlOX1NFQ1RPUlNJWkVfTE9HCQkJfHwKKwkgICAgc2JwLT5zYl9zZWN0bG9nID4gWEZTX01BWF9TRUNUT1JTSVpFX0xPRwkJCXx8CisJICAgIHNicC0+c2Jfc2VjdHNpemUgIT0gKDEgPDwgc2JwLT5zYl9zZWN0bG9nKQkJCXx8CisJICAgIHNicC0+c2JfYmxvY2tzaXplIDwgWEZTX01JTl9CTE9DS1NJWkUJCQl8fAorCSAgICBzYnAtPnNiX2Jsb2Nrc2l6ZSA+IFhGU19NQVhfQkxPQ0tTSVpFCQkJfHwKKwkgICAgc2JwLT5zYl9ibG9ja2xvZyA8IFhGU19NSU5fQkxPQ0tTSVpFX0xPRwkJCXx8CisJICAgIHNicC0+c2JfYmxvY2tsb2cgPiBYRlNfTUFYX0JMT0NLU0laRV9MT0cJCQl8fAorCSAgICBzYnAtPnNiX2Jsb2Nrc2l6ZSAhPSAoMVVMTCA8PCBzYnAtPnNiX2Jsb2NrbG9nKQkJfHwKKwkgICAgc2JwLT5zYl9pbm9kZXNpemUgPCBYRlNfRElOT0RFX01JTl9TSVpFCQkJfHwKKwkgICAgc2JwLT5zYl9pbm9kZXNpemUgPiBYRlNfRElOT0RFX01BWF9TSVpFCQkJfHwKKwkgICAgc2JwLT5zYl9pbm9kZWxvZyA8IFhGU19ESU5PREVfTUlOX0xPRwkJCXx8CisJICAgIHNicC0+c2JfaW5vZGVsb2cgPiBYRlNfRElOT0RFX01BWF9MT0cJCQl8fAorCSAgICBzYnAtPnNiX2lub2Rlc2l6ZSAhPSAoMSA8PCBzYnAtPnNiX2lub2RlbG9nKQkJfHwKKwkgICAgKHNicC0+c2JfYmxvY2tsb2cgLSBzYnAtPnNiX2lub2RlbG9nICE9IHNicC0+c2JfaW5vcGJsb2cpCXx8CisJICAgIChzYnAtPnNiX3JleHRzaXplICogc2JwLT5zYl9ibG9ja3NpemUgPiBYRlNfTUFYX1JURVhUU0laRSkJfHwKKwkgICAgKHNicC0+c2JfcmV4dHNpemUgKiBzYnAtPnNiX2Jsb2Nrc2l6ZSA8IFhGU19NSU5fUlRFWFRTSVpFKQl8fAorCSAgICAoc2JwLT5zYl9pbWF4X3BjdCA+IDEwMCAvKiB6ZXJvIHNiX2ltYXhfcGN0IGlzIHZhbGlkICovKQl8fAorCSAgICBzYnAtPnNiX2RibG9ja3MgPT0gMAkJCQkJfHwKKwkgICAgc2JwLT5zYl9kYmxvY2tzID4gWEZTX01BWF9EQkxPQ0tTKHNicCkJCQl8fAorCSAgICBzYnAtPnNiX2RibG9ja3MgPCBYRlNfTUlOX0RCTE9DS1Moc2JwKSkKKwkJcmV0dXJuIDA7CisKKwkvKiBUT0RPOiB2ZXJzaW9uIDUgaGFzIGFsc28gY2hlY2tzdW0gQ1JDMzIsIG1heWJlIHdlIGNhbiBjaGVjayBpdCB0b28gKi8KKworCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IHByb2JlX3hmcyhibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJc3RydWN0IHhmc19zdXBlcl9ibG9jayAqeHM7CisKKwl4cyA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3QgeGZzX3N1cGVyX2Jsb2NrKTsKKwlpZiAoIXhzKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJaWYgKCF4ZnNfdmVyaWZ5X3NiKHhzKSkKKwkJcmV0dXJuIDE7CisKKwlpZiAoKnhzLT5zYl9mbmFtZSAhPSAnXDAnKQorCQlibGtpZF9wcm9iZV9zZXRfbGFiZWwocHIsICh1bnNpZ25lZCBjaGFyICopIHhzLT5zYl9mbmFtZSwKKwkJCQlzaXplb2YoeHMtPnNiX2ZuYW1lKSk7CisJYmxraWRfcHJvYmVfc2V0X3V1aWQocHIsIHhzLT5zYl91dWlkKTsKKwlyZXR1cm4gMDsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyB4ZnNfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAieGZzIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfeGZzLAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gIlhGU0IiLCAubGVuID0gNCB9LAorCQl7IE5VTEwgfQorCX0KK307CisKK3N0cnVjdCB4bG9nX3JlY19oZWFkZXIgeworCXVpbnQzMl90CWhfbWFnaWNubzsKKwl1aW50MzJfdAloX2R1bW15MVsxXTsKKwl1aW50MzJfdAloX3ZlcnNpb247CisJdWludDMyX3QJaF9sZW47CisJdWludDMyX3QJaF9kdW1teTJbNzFdOworCXVpbnQzMl90CWhfZm10OworCXVuc2lnbmVkIGNoYXIJaF91dWlkWzE2XTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKyNkZWZpbmUgWExPR19IRUFERVJfTUFHSUNfTlVNIDB4RkVFRGJhYmUKKworLyoKKyAqIEZvciB2ZXJ5IHNtYWxsIGZpbGVzeXN0ZW1zLCB0aGUgbWluaW11bSBsb2cgc2l6ZQorICogY2FuIGJlIHNtYWxsZXIsIGJ1dCB0aGF0IHNlZW1zIHZhbmlzaGluZ2x5IHVubGlrZWx5CisgKiB3aGVuIHVzZWQgd2l0aCBhbiBleHRlcm5hbCBsb2cgKHdoaWNoIGlzIHVzZWQgZm9yCisgKiBwZXJmb3JtYW5jZSByZWFzb25zOyB0aW55IGNvbmZsaWN0cyB3aXRoIHRoYXQgZ29hbCkuCisgKi8KKyNkZWZpbmUgWEZTX01JTl9MT0dfQllURVMJKDEwICogMTAyNCAqIDEwMjQpCisKKyNkZWZpbmUgWExPR19GTVRfTElOVVhfTEUJMQorI2RlZmluZSBYTE9HX0ZNVF9MSU5VWF9CRQkyCisjZGVmaW5lIFhMT0dfRk1UX0lSSVhfQkUJMworCisjZGVmaW5lIFhMT0dfVkVSU0lPTl8xCQkxCisjZGVmaW5lIFhMT0dfVkVSU0lPTl8yCQkyCS8qIExhcmdlIElDbG9ncywgTG9nIHN1bml0ICovCisjZGVmaW5lIFhMT0dfVkVSU0lPTl9PS0JJVFMJKFhMT0dfVkVSU0lPTl8xIHwgWExPR19WRVJTSU9OXzIpCisKK3N0YXRpYyBpbnQgeGxvZ192YWxpZF9yZWNfaGVhZGVyKHN0cnVjdCB4bG9nX3JlY19oZWFkZXIgKnJoZWFkKQoreworCXVpbnQzMl90IGhsZW47CisKKwlpZiAocmhlYWQtPmhfbWFnaWNubyAhPSBjcHVfdG9fYmUzMihYTE9HX0hFQURFUl9NQUdJQ19OVU0pKQorCQlyZXR1cm4gMDsKKworCWlmICghcmhlYWQtPmhfdmVyc2lvbiB8fAorICAgICAgICAgICAgKGJlMzJfdG9fY3B1KHJoZWFkLT5oX3ZlcnNpb24pICYgKH5YTE9HX1ZFUlNJT05fT0tCSVRTKSkpCisJCXJldHVybiAwOworCisJLyogTFIgYm9keSBtdXN0IGhhdmUgZGF0YSBvciBpdCB3b3VsZG4ndCBoYXZlIGJlZW4gd3JpdHRlbiAqLworCWhsZW4gPSBiZTMyX3RvX2NwdShyaGVhZC0+aF9sZW4pOworCWlmIChobGVuIDw9IDAgfHwgaGxlbiA+IElOVF9NQVgpCisJCXJldHVybiAwOworCisJaWYgKHJoZWFkLT5oX2ZtdCAhPSBjcHVfdG9fYmUzMihYTE9HX0ZNVF9MSU5VWF9MRSkgJiYKKwkgICAgcmhlYWQtPmhfZm10ICE9IGNwdV90b19iZTMyKFhMT0dfRk1UX0xJTlVYX0JFKSAmJgorCSAgICByaGVhZC0+aF9mbXQgIT0gY3B1X3RvX2JlMzIoWExPR19GTVRfSVJJWF9CRSkpCisJCXJldHVybiAwOworCisJcmV0dXJuIDE7Cit9CisKKy8qIHhsb2cgcmVjb3JkIGhlYWRlciB3aWxsIGJlIGluIHNvbWUgc2VjdG9yIGluIHRoZSBmaXJzdCAyNTZrICovCitzdGF0aWMgaW50IHByb2JlX3hmc19sb2coYmxraWRfcHJvYmUgcHIsCisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlpbnQgaTsKKwlzdHJ1Y3QgeGxvZ19yZWNfaGVhZGVyICpyaGVhZDsKKwl1bnNpZ25lZCBjaGFyICpidWY7CisKKwlidWYgPSBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLCAwLCAyNTYqMTAyNCk7CisJaWYgKCFidWYpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwlpZiAobWVtY21wKGJ1ZiwgIlhGU0IiLCA0KSA9PSAwKQorCQlyZXR1cm4gMTsJCQkvKiB0aGlzIGlzIHJlZ3VsYXIgWEZTLCBpZ25vcmUgKi8KKworCS8qIGNoZWNrIHRoZSBmaXJzdCA1MTIgNTEyLWJ5dGUgc2VjdG9ycyAqLworCWZvciAoaSA9IDA7IGkgPCA1MTI7IGkrKykgeworCQlyaGVhZCA9IChzdHJ1Y3QgeGxvZ19yZWNfaGVhZGVyICopJmJ1ZltpKjUxMl07CisKKwkJaWYgKHhsb2dfdmFsaWRfcmVjX2hlYWRlcihyaGVhZCkpIHsKKwkJCWJsa2lkX3Byb2JlX3NldF91dWlkX2FzKHByLCByaGVhZC0+aF91dWlkLCAiTE9HVVVJRCIpOworCisJCQlpZiAoYmxraWRfcHJvYmVfc2V0X21hZ2ljKHByLCBpICogNTEyLAorCQkJCQkJc2l6ZW9mKHJoZWFkLT5oX21hZ2ljbm8pLAorCQkJCQkJKHVuc2lnbmVkIGNoYXIgKikgJnJoZWFkLT5oX21hZ2ljbm8pKQorCQkJCXJldHVybiAxOworCisJCQlyZXR1cm4gMDsKKwkJfQorCX0KKworCXJldHVybiAxOworfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHhmc19sb2dfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAieGZzX2V4dGVybmFsX2xvZyIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX09USEVSLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV94ZnNfbG9nLAorCS5tYWdpY3MJCT0gQkxLSURfTk9ORV9NQUdJQywKKwkubWluc3oJCT0gWEZTX01JTl9MT0dfQllURVMsCit9OwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3pmcy5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3pmcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyZmE5NTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvemZzLmMKQEAgLTAsMCArMSwyNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDktMjAxMCBieSBBbmRyZWFzIERpbGdlciA8YWRpbGdlckBzdW4uY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPGludHR5cGVzLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCisjZGVmaW5lIFZERVZfTEFCRUxfVUJFUkJMT0NLCSgxMjggKiAxMDI0VUxMKQorI2RlZmluZSBWREVWX0xBQkVMX05WUEFJUgkoIDE2ICogMTAyNFVMTCkKKyNkZWZpbmUgVkRFVl9MQUJFTF9TSVpFCQkoMjU2ICogMTAyNFVMTCkKKyNkZWZpbmUgVUJFUkJMT0NLX1NJWkUJCTEwMjRVTEwKKyNkZWZpbmUgVUJFUkJMT0NLU19DT1VOVCAgIDEyOAorCisvKiAjaW5jbHVkZSA8c3lzL3ViZXJibG9ja19pbXBsLmg+ICovCisjZGVmaW5lIFVCRVJCTE9DS19NQUdJQyAgICAgICAgIDB4MDBiYWIxMGMgICAgICAgICAgICAgIC8qIG9vLWJhLWJsb2MhICAqLworc3RydWN0IHpmc191YmVyYmxvY2sgeworCXVpbnQ2NF90CXViX21hZ2ljOwkvKiBVQkVSQkxPQ0tfTUFHSUMJCSovCisJdWludDY0X3QJdWJfdmVyc2lvbjsJLyogU1BBX1ZFUlNJT04JCQkqLworCXVpbnQ2NF90CXViX3R4ZzsJCS8qIHR4ZyBvZiBsYXN0IHN5bmMJCSovCisJdWludDY0X3QJdWJfZ3VpZF9zdW07CS8qIHN1bSBvZiBhbGwgdmRldiBndWlkcwkqLworCXVpbnQ2NF90CXViX3RpbWVzdGFtcDsJLyogVVRDIHRpbWUgb2YgbGFzdCBzeW5jCSovCisJY2hhcgkJdWJfcm9vdGJwOwkvKiBNT1Mgb2Jqc2V0X3BoeXNfdAkJKi8KK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKyNkZWZpbmUgWkZTX1dBTlQJIDQKKworI2RlZmluZSBEQVRBX1RZUEVfVUlOVDY0IDgKKyNkZWZpbmUgREFUQV9UWVBFX1NUUklORyA5CisKK3N0cnVjdCBudnBhaXIgeworCXVpbnQzMl90CW52cF9zaXplOworCXVpbnQzMl90CW52cF91bmtvd247CisJdWludDMyX3QJbnZwX25hbWVsZW47CisJY2hhcgkJbnZwX25hbWVbMF07IC8qIGFsaWduZWQgdG8gNCBieXRlcyAqLworCS8qIGFsaWduZWQgcHRyIGFycmF5IGZvciBzdHJpbmcgYXJyYXlzICovCisJLyogYWxpZ25lZCBhcnJheSBvZiBkYXRhIGZvciB2YWx1ZSAqLworfTsKKworc3RydWN0IG52c3RyaW5nIHsKKwl1aW50MzJfdAludnNfdHlwZTsKKwl1aW50MzJfdAludnNfZWxlbTsKKwl1aW50MzJfdAludnNfc3RybGVuOworCXVuc2lnbmVkIGNoYXIJbnZzX3N0cmluZ1swXTsKK307CisKK3N0cnVjdCBudnVpbnQ2NCB7CisJdWludDMyX3QJbnZ1X3R5cGU7CisJdWludDMyX3QJbnZ1X2VsZW07CisJdWludDY0X3QJbnZ1X3ZhbHVlOworfTsKKworc3RydWN0IG52bGlzdCB7CisJdWludDMyX3QJbnZsX3Vua25vd25bM107CisJc3RydWN0IG52cGFpcgludmxfbnZwYWlyOworfTsKKworc3RhdGljIHZvaWQgemZzX2V4dHJhY3RfZ3VpZF9uYW1lKGJsa2lkX3Byb2JlIHByLCBsb2ZmX3Qgb2Zmc2V0KQoreworCXVuc2lnbmVkIGNoYXIgKnAsIGJ1ZmZbNDA5Nl07CisJc3RydWN0IG52bGlzdCAqbnZsOworCXN0cnVjdCBudnBhaXIgKm52cDsKKwlzaXplX3QgbGVmdCA9IHNpemVvZihidWZmKTsKKwlpbnQgZm91bmQgPSAwOworCisJb2Zmc2V0ID0gKG9mZnNldCAmIH4oVkRFVl9MQUJFTF9TSVpFIC0gMSkpICsgVkRFVl9MQUJFTF9OVlBBSVI7CisKKwkvKiBOb3RlIHRoYXQgd2UgY3VycmVudGx5IGFzc3VtZSB0aGF0IHRoZSBkZXNpcmVkIGZpZWxkcyBhcmUgd2l0aGluCisJICogdGhlIGZpcnN0IDRrIChsZWZ0KSBvZiB0aGUgbnZsaXN0LiAgVGhpcyBpcyB0cnVlIGZvciBhbGwgcG9vbHMKKwkgKiBJJ3ZlIHNlZW4sIGFuZCBzaW1wbGlmaWVzIHRoaXMgY29kZSBzb21ld2hhdCwgYmVjYXVzZSB3ZSBkb24ndAorCSAqIGhhdmUgdG8gaGFuZGxlIGFuIG52cGFpciBjcm9zc2luZyBhIGJ1ZmZlciBib3VuZGFyeS4gKi8KKwlwID0gYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwgb2Zmc2V0LCBsZWZ0KTsKKwlpZiAoIXApCisJCXJldHVybjsKKworCS8qIGxpYmJsa2lkIGJ1ZmZlcnMgYXJlIHN0cmljdGx5IHJlYWRvbmx5LCBidXQgdGhlIGNvZGUgYmVsb3cgbW9kaWZpZXMgbnZwYWlyIGV0Yy4gKi8KKwltZW1jcHkoYnVmZiwgcCwgc2l6ZW9mKGJ1ZmYpKTsKKwludmwgPSAoc3RydWN0IG52bGlzdCAqKSBidWZmOworCisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiemZzX2V4dHJhY3Q6IG52bGlzdCBvZmZzZXQgJWpkXG4iLCAoaW50bWF4X3Qpb2Zmc2V0KSk7CisKKwludnAgPSAmbnZsLT5udmxfbnZwYWlyOworCXdoaWxlIChsZWZ0ID4gc2l6ZW9mKCpudnApICYmIG52cC0+bnZwX3NpemUgIT0gMCAmJiBmb3VuZCA8IDMpIHsKKwkJaW50IGF2YWlsOyAgIC8qIHRyYWNrcyB0aGF0IG5hbWUvdmFsdWUgZGF0YSBmaXRzIGluIG52cF9zaXplICovCisJCWludCBuYW1lc2l6ZTsKKworCQludnAtPm52cF9zaXplID0gYmUzMl90b19jcHUobnZwLT5udnBfc2l6ZSk7CisJCW52cC0+bnZwX25hbWVsZW4gPSBiZTMyX3RvX2NwdShudnAtPm52cF9uYW1lbGVuKTsKKwkJYXZhaWwgPSBudnAtPm52cF9zaXplIC0gbnZwLT5udnBfbmFtZWxlbiAtIHNpemVvZigqbnZwKTsKKworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJsZWZ0ICV6ZCBudnBfc2l6ZSAldVxuIiwgbGVmdCwgbnZwLT5udnBfc2l6ZSkpOworCQlpZiAobGVmdCA8IG52cC0+bnZwX3NpemUgfHwgYXZhaWwgPCAwKQorCQkJYnJlYWs7CisKKwkJbmFtZXNpemUgPSAobnZwLT5udnBfbmFtZWxlbiArIDMpICYgfjM7CisKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygibnZsaXN0OiBzaXplICV1LCBuYW1lbGVuICV1LCBuYW1lICUqc1xuIiwKKwkJCW52cC0+bnZwX3NpemUsIG52cC0+bnZwX25hbWVsZW4sIG52cC0+bnZwX25hbWVsZW4sCisJCQludnAtPm52cF9uYW1lKSk7CisJCWlmIChzdHJuY21wKG52cC0+bnZwX25hbWUsICJuYW1lIiwgbnZwLT5udnBfbmFtZWxlbikgPT0gMCkgeworCQkJc3RydWN0IG52c3RyaW5nICpudnMgPSAodm9pZCAqKShudnAtPm52cF9uYW1lK25hbWVzaXplKTsKKworCQkJbnZzLT5udnNfdHlwZSA9IGJlMzJfdG9fY3B1KG52cy0+bnZzX3R5cGUpOworCQkJbnZzLT5udnNfc3RybGVuID0gYmUzMl90b19jcHUobnZzLT5udnNfc3RybGVuKTsKKwkJCWlmIChudnMtPm52c19zdHJsZW4gPiBJTlRfTUFYIC0gc2l6ZW9mKCpudnMpKQorCQkJCWJyZWFrOworCQkJYXZhaWwgLT0gbnZzLT5udnNfc3RybGVuICsgc2l6ZW9mKCpudnMpOworCQkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygibnZzdHJpbmc6IHR5cGUgJXUgc3RyaW5nICUqc1xuIiwgbnZzLT5udnNfdHlwZSwKKwkJCQludnMtPm52c19zdHJsZW4sIG52cy0+bnZzX3N0cmluZykpOworCQkJaWYgKG52cy0+bnZzX3R5cGUgPT0gREFUQV9UWVBFX1NUUklORyAmJiBhdmFpbCA+PSAwKQorCQkJCWJsa2lkX3Byb2JlX3NldF9sYWJlbChwciwgbnZzLT5udnNfc3RyaW5nLAorCQkJCQkJICAgICAgbnZzLT5udnNfc3RybGVuKTsKKwkJCWZvdW5kKys7CisJCX0gZWxzZSBpZiAoc3RybmNtcChudnAtPm52cF9uYW1lLCAiZ3VpZCIsCisJCQkJICAgbnZwLT5udnBfbmFtZWxlbikgPT0gMCkgeworCQkJc3RydWN0IG52dWludDY0ICpudnUgPSAodm9pZCAqKShudnAtPm52cF9uYW1lK25hbWVzaXplKTsKKwkJCXVpbnQ2NF90IG52dV92YWx1ZTsKKworCQkJbWVtY3B5KCZudnVfdmFsdWUsICZudnUtPm52dV92YWx1ZSwgc2l6ZW9mKG52dV92YWx1ZSkpOworCQkJbnZ1LT5udnVfdHlwZSA9IGJlMzJfdG9fY3B1KG52dS0+bnZ1X3R5cGUpOworCQkJbnZ1X3ZhbHVlID0gYmU2NF90b19jcHUobnZ1X3ZhbHVlKTsKKwkJCWF2YWlsIC09IHNpemVvZigqbnZ1KTsKKwkJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIm52dWludDY0OiB0eXBlICV1IHZhbHVlICUiUFJJdTY0IlxuIiwKKwkJCQludnUtPm52dV90eXBlLCBudnVfdmFsdWUpKTsKKwkJCWlmIChudnUtPm52dV90eXBlID09IERBVEFfVFlQRV9VSU5UNjQgJiYgYXZhaWwgPj0gMCkKKwkJCQlibGtpZF9wcm9iZV9zcHJpbnRmX3ZhbHVlKHByLCAiVVVJRF9TVUIiLAorCQkJCQkJCSAgIiUiUFJJdTY0LCBudnVfdmFsdWUpOworCQkJZm91bmQrKzsKKwkJfSBlbHNlIGlmIChzdHJuY21wKG52cC0+bnZwX25hbWUsICJwb29sX2d1aWQiLAorCQkJCSAgIG52cC0+bnZwX25hbWVsZW4pID09IDApIHsKKwkJCXN0cnVjdCBudnVpbnQ2NCAqbnZ1ID0gKHZvaWQgKikobnZwLT5udnBfbmFtZStuYW1lc2l6ZSk7CisJCQl1aW50NjRfdCBudnVfdmFsdWU7CisKKwkJCW1lbWNweSgmbnZ1X3ZhbHVlLCAmbnZ1LT5udnVfdmFsdWUsIHNpemVvZihudnVfdmFsdWUpKTsKKwkJCW52dS0+bnZ1X3R5cGUgPSBiZTMyX3RvX2NwdShudnUtPm52dV90eXBlKTsKKwkJCW52dV92YWx1ZSA9IGJlNjRfdG9fY3B1KG52dV92YWx1ZSk7CisJCQlhdmFpbCAtPSBzaXplb2YoKm52dSk7CisJCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJudnVpbnQ2NDogdHlwZSAldSB2YWx1ZSAlIlBSSXU2NCJcbiIsCisJCQkJbnZ1LT5udnVfdHlwZSwgbnZ1X3ZhbHVlKSk7CisJCQlpZiAobnZ1LT5udnVfdHlwZSA9PSBEQVRBX1RZUEVfVUlOVDY0ICYmIGF2YWlsID49IDApCisJCQkJYmxraWRfcHJvYmVfc3ByaW50Zl91dWlkKHByLCAodW5zaWduZWQgY2hhciAqKQorCQkJCQkJCSAmbnZ1X3ZhbHVlLAorCQkJCQkJCSBzaXplb2YobnZ1X3ZhbHVlKSwKKwkJCQkJCQkgIiUiUFJJdTY0LCBudnVfdmFsdWUpOworCQkJZm91bmQrKzsKKwkJfQorCQlpZiAobGVmdCA+IG52cC0+bnZwX3NpemUpCisJCQlsZWZ0IC09IG52cC0+bnZwX3NpemU7CisJCWVsc2UKKwkJCWxlZnQgPSAwOworCQludnAgPSAoc3RydWN0IG52cGFpciAqKSgoY2hhciAqKW52cCArIG52cC0+bnZwX3NpemUpOworCX0KK30KKworc3RhdGljIGludCBmaW5kX3ViZXJibG9ja3MoY29uc3Qgdm9pZCAqbGFiZWwsIGxvZmZfdCAqdWJfb2Zmc2V0LCBpbnQgKnN3YXBfZW5kaWFuKQoreworCXVpbnQ2NF90IHN3YWJfbWFnaWMgPSBzd2FiNjQoKHVpbnQ2NF90KVVCRVJCTE9DS19NQUdJQyk7CisJc3RydWN0IHpmc191YmVyYmxvY2sgKnViOworCWludCBpLCBmb3VuZCA9IDA7CisJbG9mZl90IG9mZnNldCA9IFZERVZfTEFCRUxfVUJFUkJMT0NLOworCisJZm9yIChpID0gMDsgaSA8IFVCRVJCTE9DS1NfQ09VTlQ7IGkrKywgb2Zmc2V0ICs9IFVCRVJCTE9DS19TSVpFKSB7CisJCXViID0gKHN0cnVjdCB6ZnNfdWJlcmJsb2NrICopKChjaGFyICopIGxhYmVsICsgb2Zmc2V0KTsKKworCQlpZiAodWItPnViX21hZ2ljID09IFVCRVJCTE9DS19NQUdJQykgeworCQkJKnViX29mZnNldCA9IG9mZnNldDsKKwkJCSpzd2FwX2VuZGlhbiA9IDA7CisJCQlmb3VuZCsrOworCQkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygicHJvYmVfemZzOiBmb3VuZCBsaXR0bGUtZW5kaWFuIHViZXJibG9jayBhdCAlamRcbiIsIChpbnRtYXhfdClvZmZzZXQgPj4gMTApKTsKKwkJfQorCisJCWlmICh1Yi0+dWJfbWFnaWMgPT0gc3dhYl9tYWdpYykgeworCQkJKnViX29mZnNldCA9IG9mZnNldDsKKwkJCSpzd2FwX2VuZGlhbiA9IDE7CisJCQlmb3VuZCsrOworCQkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygicHJvYmVfemZzOiBmb3VuZCBiaWctZW5kaWFuIHViZXJibG9jayBhdCAlamRcbiIsIChpbnRtYXhfdClvZmZzZXQgPj4gMTApKTsKKwkJfQorCX0KKworCXJldHVybiBmb3VuZDsKK30KKworLyogWkZTIGhhcyAxMjh4MWtCIGhvc3QtZW5kaWFuIHJvb3QgYmxvY2tzLCBzdG9yZWQgaW4gMiBhcmVhcyBhdCB0aGUgc3RhcnQKKyAqIG9mIHRoZSBkaXNrLCBhbmQgMiBhcmVhcyBhdCB0aGUgZW5kIG9mIHRoZSBkaXNrLiAgQ2hlY2sgb25seSBzb21lIG9mIHRoZW0uLi4KKyAqICM0IChAIDEzMmtCKSBpcyB0aGUgZmlyc3Qgb25lIHdyaXR0ZW4gb24gYSBuZXcgZmlsZXN5c3RlbS4gKi8KK3N0YXRpYyBpbnQgcHJvYmVfemZzKGJsa2lkX3Byb2JlIHByLAorCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnICBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJaW50IHN3YWJfZW5kaWFuID0gMDsKKwlzdHJ1Y3QgemZzX3ViZXJibG9jayAqdWI7CisJbG9mZl90IG9mZnNldCwgdWJfb2Zmc2V0ID0gMDsKKwlpbnQgbGFiZWxfbm8sIGZvdW5kID0gMCwgZm91bmRfaW5fbGFiZWw7CisJdm9pZCAqbGFiZWw7CisJbG9mZl90IGJsa19hbGlnbiA9IChwci0+c2l6ZSAlICgyNTYgKiAxMDI0VUxMKSk7CisKKwlEQkcoUFJPQkUsIHVsX2RlYnVnKCJwcm9iZV96ZnNcbiIpKTsKKwkvKiBMb29rIGZvciBhdCBsZWFzdCA0IHViZXJibG9ja3MgdG8gZW5zdXJlIGEgcG9zaXRpdmUgbWF0Y2ggKi8KKwlmb3IgKGxhYmVsX25vID0gMDsgbGFiZWxfbm8gPCA0OyBsYWJlbF9ubysrKSB7CisJCXN3aXRjaChsYWJlbF9ubykgeworCQljYXNlIDA6IC8vIGp1bXAgdG8gTDAKKwkJCW9mZnNldCA9IDA7CisJCQlicmVhazsKKwkJY2FzZSAxOiAvLyBqdW1wIHRvIEwxCisJCQlvZmZzZXQgPSBWREVWX0xBQkVMX1NJWkU7CisJCQlicmVhazsKKwkJY2FzZSAyOiAvLyBqdW1wIHRvIEwyCisJCQlvZmZzZXQgPSBwci0+c2l6ZSAtIDIgKiBWREVWX0xBQkVMX1NJWkUgLSBibGtfYWxpZ247CisJCQlicmVhazsKKwkJY2FzZSAzOiAvLyBqdW1wIHRvIEwzCisJCQlvZmZzZXQgPSBwci0+c2l6ZSAtIFZERVZfTEFCRUxfU0laRSAtIGJsa19hbGlnbjsKKwkJCWJyZWFrOworCQl9CisKKwkJbGFiZWwgPSBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLCBvZmZzZXQsIFZERVZfTEFCRUxfU0laRSk7CisJCWlmIChsYWJlbCA9PSBOVUxMKQorCQkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCQlmb3VuZF9pbl9sYWJlbCA9IGZpbmRfdWJlcmJsb2NrcyhsYWJlbCwgJnViX29mZnNldCwgJnN3YWJfZW5kaWFuKTsKKworCQlpZiAoZm91bmRfaW5fbGFiZWwgPiAwKSB7CisJCQlmb3VuZCs9IGZvdW5kX2luX2xhYmVsOworCQkJdWIgPSAoc3RydWN0IHpmc191YmVyYmxvY2sgKikoKGNoYXIgKikgbGFiZWwgKyB1Yl9vZmZzZXQpOworCQkJdWJfb2Zmc2V0ICs9IG9mZnNldDsKKworCQkJaWYgKGZvdW5kID49IFpGU19XQU5UKQorCQkJCWJyZWFrOworCQl9CisJfQorCisJaWYgKGZvdW5kIDwgWkZTX1dBTlQpCisJCXJldHVybiAxOworCisJLyogSWYgd2UgZm91bmQgdGhlIDR0aCB1YmVyYmxvY2ssIHRoZW4gd2Ugd2lsbCBoYXZlIGV4aXRlZCBmcm9tIHRoZQorCSAqIHNjYW5uaW5nIGxvb3AgaW1tZWRpYXRlbHksIGFuZCB1YiB3aWxsIGJlIGEgdmFsaWQgdWJlcmJsb2NrLiAqLworCWJsa2lkX3Byb2JlX3NwcmludGZfdmVyc2lvbihwciwgIiUiIFBSSXU2NCwgc3dhYl9lbmRpYW4gPworCQkJCSAgICBzd2FiNjQodWItPnViX3ZlcnNpb24pIDogdWItPnViX3ZlcnNpb24pOworCisJemZzX2V4dHJhY3RfZ3VpZF9uYW1lKHByLCBvZmZzZXQpOworCisJaWYgKGJsa2lkX3Byb2JlX3NldF9tYWdpYyhwciwgdWJfb2Zmc2V0LAorCQkJCXNpemVvZih1Yi0+dWJfbWFnaWMpLAorCQkJCSh1bnNpZ25lZCBjaGFyICopICZ1Yi0+dWJfbWFnaWMpKQorCQlyZXR1cm4gMTsKKworCXJldHVybiAwOworfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHpmc19pZGluZm8gPQoreworCS5uYW1lCQk9ICJ6ZnNfbWVtYmVyIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfemZzLAorCS5taW5zegkJPSA2NCAqIDEwMjQgKiAxMDI0LAorCS5tYWdpY3MJCT0gQkxLSURfTk9ORV9NQUdJQworfTsKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy90YWcuYyBiL2xpYmJsa2lkL3NyYy90YWcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjEzMWFlCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3RhZy5jCkBAIC0wLDAgKzEsNDY2IEBACisvKgorICogdGFnLmMgLSBhbGxvY2F0aW9uL2luaXRpYWxpemF0aW9uL2ZyZWUgcm91dGluZXMgZm9yIHRhZyBzdHJ1Y3RzCisgKgorICogQ29weXJpZ2h0IChDKSAyMDAxIEFuZHJlYXMgRGlsZ2VyCisgKiBDb3B5cmlnaHQgKEMpIDIwMDMgVGhlb2RvcmUgVHMnbworICoKKyAqICVCZWdpbi1IZWFkZXIlCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICogJUVuZC1IZWFkZXIlCisgKi8KKworI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisKKyNpbmNsdWRlICJibGtpZFAuaCIKKworc3RhdGljIGJsa2lkX3RhZyBibGtpZF9uZXdfdGFnKHZvaWQpCit7CisJYmxraWRfdGFnIHRhZzsKKworCWlmICghKHRhZyA9IGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGJsa2lkX3N0cnVjdF90YWcpKSkpCisJCXJldHVybiBOVUxMOworCisJREJHKFRBRywgdWxfZGVidWdvYmoodGFnLCAiYWxsb2MiKSk7CisJSU5JVF9MSVNUX0hFQUQoJnRhZy0+Yml0X3RhZ3MpOworCUlOSVRfTElTVF9IRUFEKCZ0YWctPmJpdF9uYW1lcyk7CisKKwlyZXR1cm4gdGFnOworfQorCit2b2lkIGJsa2lkX2ZyZWVfdGFnKGJsa2lkX3RhZyB0YWcpCit7CisJaWYgKCF0YWcpCisJCXJldHVybjsKKworCURCRyhUQUcsIHVsX2RlYnVnb2JqKHRhZywgImZyZWVpbmcgdGFnICVzICglcykiLCB0YWctPmJpdF9uYW1lLCB0YWctPmJpdF92YWwpKTsKKworCWxpc3RfZGVsKCZ0YWctPmJpdF90YWdzKTsJLyogbGlzdCBvZiB0YWdzIGZvciB0aGlzIGRldmljZSAqLworCWxpc3RfZGVsKCZ0YWctPmJpdF9uYW1lcyk7CS8qIGxpc3Qgb2YgdGFncyB3aXRoIHRoaXMgdHlwZSAqLworCisJZnJlZSh0YWctPmJpdF9uYW1lKTsKKwlmcmVlKHRhZy0+Yml0X3ZhbCk7CisKKwlmcmVlKHRhZyk7Cit9CisKKy8qCisgKiBGaW5kIHRoZSBkZXNpcmVkIHRhZyBvbiBhIGRldmljZS4gIElmIHZhbHVlIGlzIE5VTEwsIHRoZW4gdGhlCisgKiBmaXJzdCBzdWNoIHRhZyBpcyByZXR1cm5lZCwgb3RoZXJ3aXNlIHJldHVybiBvbmx5IGV4YWN0IHRhZyBpZiBmb3VuZC4KKyAqLworYmxraWRfdGFnIGJsa2lkX2ZpbmRfdGFnX2RldihibGtpZF9kZXYgZGV2LCBjb25zdCBjaGFyICp0eXBlKQoreworCXN0cnVjdCBsaXN0X2hlYWQgKnA7CisKKwlsaXN0X2Zvcl9lYWNoKHAsICZkZXYtPmJpZF90YWdzKSB7CisJCWJsa2lkX3RhZyB0bXAgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBibGtpZF9zdHJ1Y3RfdGFnLAorCQkJCQkgICBiaXRfdGFncyk7CisKKwkJaWYgKCFzdHJjbXAodG1wLT5iaXRfbmFtZSwgdHlwZSkpCisJCQlyZXR1cm4gdG1wOworCX0KKwlyZXR1cm4gTlVMTDsKK30KKworaW50IGJsa2lkX2Rldl9oYXNfdGFnKGJsa2lkX2RldiBkZXYsIGNvbnN0IGNoYXIgKnR5cGUsCisJCQkgICAgIGNvbnN0IGNoYXIgKnZhbHVlKQoreworCWJsa2lkX3RhZwkJdGFnOworCisJdGFnID0gYmxraWRfZmluZF90YWdfZGV2KGRldiwgdHlwZSk7CisJaWYgKCF2YWx1ZSkKKwkJcmV0dXJuICh0YWcgIT0gTlVMTCk7CisJaWYgKCF0YWcgfHwgc3RyY21wKHRhZy0+Yml0X3ZhbCwgdmFsdWUpKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gMTsKK30KKworLyoKKyAqIEZpbmQgdGhlIGRlc2lyZWQgdGFnIHR5cGUgaW4gdGhlIGNhY2hlLgorICogV2UgcmV0dXJuIHRoZSBoZWFkIHRhZyBmb3IgdGhpcyB0YWcgdHlwZS4KKyAqLworc3RhdGljIGJsa2lkX3RhZyBibGtpZF9maW5kX2hlYWRfY2FjaGUoYmxraWRfY2FjaGUgY2FjaGUsIGNvbnN0IGNoYXIgKnR5cGUpCit7CisJYmxraWRfdGFnIGhlYWQgPSBOVUxMLCB0bXA7CisJc3RydWN0IGxpc3RfaGVhZCAqcDsKKworCWlmICghY2FjaGUgfHwgIXR5cGUpCisJCXJldHVybiBOVUxMOworCisJbGlzdF9mb3JfZWFjaChwLCAmY2FjaGUtPmJpY190YWdzKSB7CisJCXRtcCA9IGxpc3RfZW50cnkocCwgc3RydWN0IGJsa2lkX3N0cnVjdF90YWcsIGJpdF90YWdzKTsKKwkJaWYgKCFzdHJjbXAodG1wLT5iaXRfbmFtZSwgdHlwZSkpIHsKKwkJCURCRyhUQUcsIHVsX2RlYnVnKCJmb3VuZCBjYWNoZSB0YWcgaGVhZCAlcyIsIHR5cGUpKTsKKwkJCWhlYWQgPSB0bXA7CisJCQlicmVhazsKKwkJfQorCX0KKwlyZXR1cm4gaGVhZDsKK30KKworLyoKKyAqIFNldCBhIHRhZyBvbiBhbiBleGlzdGluZyBkZXZpY2UuCisgKgorICogSWYgdmFsdWUgaXMgTlVMTCwgdGhlbiBkZWxldGUgdGhlIHRhZ3MgZnJvbSB0aGUgZGV2aWNlLgorICovCitpbnQgYmxraWRfc2V0X3RhZyhibGtpZF9kZXYgZGV2LCBjb25zdCBjaGFyICpuYW1lLAorCQkgIGNvbnN0IGNoYXIgKnZhbHVlLCBjb25zdCBpbnQgdmxlbmd0aCkKK3sKKwlibGtpZF90YWcJdCA9IDAsIGhlYWQgPSAwOworCWNoYXIJCSp2YWwgPSAwOworCWNoYXIJCSoqZGV2X3ZhciA9IDA7CisKKwlpZiAodmFsdWUgJiYgISh2YWwgPSBzdHJuZHVwKHZhbHVlLCB2bGVuZ3RoKSkpCisJCXJldHVybiAtQkxLSURfRVJSX01FTTsKKworCS8qCisJICogQ2VydGFpbiBjb21tb24gdGFncyBhcmUgbGlua2VkIGRpcmVjdGx5IHRvIHRoZSBkZXZpY2Ugc3RydWN0CisJICogV2UgbmVlZCB0byBrbm93IHdoYXQgdGhleSBhcmUgYmVmb3JlIHdlIGRvIGFueXRoaW5nIGVsc2UgYmVjYXVzZQorCSAqIHRoZSBmdW5jdGlvbiBuYW1lIHBhcmFtZXRlciBtaWdodCBnZXQgZnJlZWQgbGF0ZXIgb24uCisJICovCisJaWYgKCFzdHJjbXAobmFtZSwgIlRZUEUiKSkKKwkJZGV2X3ZhciA9ICZkZXYtPmJpZF90eXBlOworCWVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIkxBQkVMIikpCisJCWRldl92YXIgPSAmZGV2LT5iaWRfbGFiZWw7CisJZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiVVVJRCIpKQorCQlkZXZfdmFyID0gJmRldi0+YmlkX3V1aWQ7CisKKwl0ID0gYmxraWRfZmluZF90YWdfZGV2KGRldiwgbmFtZSk7CisJaWYgKCF2YWx1ZSkgeworCQlpZiAodCkKKwkJCWJsa2lkX2ZyZWVfdGFnKHQpOworCX0gZWxzZSBpZiAodCkgeworCQlpZiAoIXN0cmNtcCh0LT5iaXRfdmFsLCB2YWwpKSB7CisJCQkvKiBTYW1lIHRoaW5nLCBleGl0ICovCisJCQlmcmVlKHZhbCk7CisJCQlyZXR1cm4gMDsKKwkJfQorCQlEQkcoVEFHLCB1bF9kZWJ1Z29iaih0LCAidXBkYXRlICglcykgJyVzJyAtPiAnJXMnIiwgdC0+Yml0X25hbWUsIHQtPmJpdF92YWwsIHZhbCkpOworCQlmcmVlKHQtPmJpdF92YWwpOworCQl0LT5iaXRfdmFsID0gdmFsOworCX0gZWxzZSB7CisJCS8qIEV4aXN0aW5nIHRhZyBub3QgcHJlc2VudCwgYWRkIHRvIGRldmljZSAqLworCQlpZiAoISh0ID0gYmxraWRfbmV3X3RhZygpKSkKKwkJCWdvdG8gZXJyb3V0OworCQl0LT5iaXRfbmFtZSA9IHN0cmR1cChuYW1lKTsKKwkJdC0+Yml0X3ZhbCA9IHZhbDsKKwkJdC0+Yml0X2RldiA9IGRldjsKKworCQlEQkcoVEFHLCB1bF9kZWJ1Z29iaih0LCAic2V0dGluZyAoJXMpICclcyciLCB0LT5iaXRfbmFtZSwgdC0+Yml0X3ZhbCkpOworCQlsaXN0X2FkZF90YWlsKCZ0LT5iaXRfdGFncywgJmRldi0+YmlkX3RhZ3MpOworCisJCWlmIChkZXYtPmJpZF9jYWNoZSkgeworCQkJaGVhZCA9IGJsa2lkX2ZpbmRfaGVhZF9jYWNoZShkZXYtPmJpZF9jYWNoZSwKKwkJCQkJCSAgICAgdC0+Yml0X25hbWUpOworCQkJaWYgKCFoZWFkKSB7CisJCQkJaGVhZCA9IGJsa2lkX25ld190YWcoKTsKKwkJCQlpZiAoIWhlYWQpCisJCQkJCWdvdG8gZXJyb3V0OworCisJCQkJREJHKFRBRywgdWxfZGVidWdvYmooaGVhZCwgImNyZWF0aW5nIG5ldyBjYWNoZSB0YWcgaGVhZCAlcyIsIG5hbWUpKTsKKwkJCQloZWFkLT5iaXRfbmFtZSA9IHN0cmR1cChuYW1lKTsKKwkJCQlpZiAoIWhlYWQtPmJpdF9uYW1lKQorCQkJCQlnb3RvIGVycm91dDsKKwkJCQlsaXN0X2FkZF90YWlsKCZoZWFkLT5iaXRfdGFncywKKwkJCQkJICAgICAgJmRldi0+YmlkX2NhY2hlLT5iaWNfdGFncyk7CisJCQl9CisJCQlsaXN0X2FkZF90YWlsKCZ0LT5iaXRfbmFtZXMsICZoZWFkLT5iaXRfbmFtZXMpOworCQl9CisJfQorCisJLyogTGluayBjb21tb24gdGFncyBkaXJlY3RseSB0byB0aGUgZGV2aWNlIHN0cnVjdCAqLworCWlmIChkZXZfdmFyKQorCQkqZGV2X3ZhciA9IHZhbDsKKworCWlmIChkZXYtPmJpZF9jYWNoZSkKKwkJZGV2LT5iaWRfY2FjaGUtPmJpY19mbGFncyB8PSBCTEtJRF9CSUNfRkxfQ0hBTkdFRDsKKwlyZXR1cm4gMDsKKworZXJyb3V0OgorCWlmICh0KQorCQlibGtpZF9mcmVlX3RhZyh0KTsKKwllbHNlCisJCWZyZWUodmFsKTsKKwlpZiAoaGVhZCkKKwkJYmxraWRfZnJlZV90YWcoaGVhZCk7CisJcmV0dXJuIC1CTEtJRF9FUlJfTUVNOworfQorCisKKy8qCisgKiBQYXJzZSBhICJOQU1FPXZhbHVlIiBzdHJpbmcuICBUaGlzIGlzIHNsaWdodGx5IGRpZmZlcmVudCB0aGFuCisgKiBwYXJzZV90b2tlbiwgYmVjYXVzZSB0aGF0IHdpbGwgZW5kIGFuIHVucXVvdGVkIHZhbHVlIGF0IGEgc3BhY2UsIHdoaWxlCisgKiB0aGlzIHdpbGwgYXNzdW1lIHRoYXQgYW4gdW5xdW90ZWQgdmFsdWUgaXMgdGhlIHJlc3Qgb2YgdGhlIHRva2VuIChlLmcuCisgKiBpZiB3ZSBhcmUgcGFzc2VkIGFuIGFscmVhZHkgcXVvdGVkIHN0cmluZyBmcm9tIHRoZSBjb21tYW5kLWxpbmUgd2UgZG9uJ3QKKyAqIGhhdmUgdG8gYm90aCBxdW90ZSBhbmQgZXNjYXBlIHF1b3RlIHNvIHRoYXQgdGhlIHF1b3RlcyBtYWtlIGl0IHRvCisgKiB1cykuCisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIGFuZCAtMSBvbiBmYWlsdXJlLgorICovCitpbnQgYmxraWRfcGFyc2VfdGFnX3N0cmluZyhjb25zdCBjaGFyICp0b2tlbiwgY2hhciAqKnJldF90eXBlLCBjaGFyICoqcmV0X3ZhbCkKK3sKKwljaGFyICpuYW1lLCAqdmFsdWUsICpjcDsKKworCURCRyhUQUcsIHVsX2RlYnVnKCJ0cnlpbmcgdG8gcGFyc2UgJyVzJyBhcyBhIHRhZyIsIHRva2VuKSk7CisKKwlpZiAoIXRva2VuIHx8ICEoY3AgPSBzdHJjaHIodG9rZW4sICc9JykpKQorCQlyZXR1cm4gLTE7CisKKwluYW1lID0gc3RyZHVwKHRva2VuKTsKKwlpZiAoIW5hbWUpCisJCXJldHVybiAtMTsKKwl2YWx1ZSA9IG5hbWUgKyAoY3AgLSB0b2tlbik7CisJKnZhbHVlKysgPSAnXDAnOworCWlmICgqdmFsdWUgPT0gJyInIHx8ICp2YWx1ZSA9PSAnXCcnKSB7CisJCWNoYXIgYyA9ICp2YWx1ZSsrOworCQlpZiAoIShjcCA9IHN0cnJjaHIodmFsdWUsIGMpKSkKKwkJCWdvdG8gZXJyb3V0OyAvKiBtaXNzaW5nIGNsb3NpbmcgcXVvdGUgKi8KKwkJKmNwID0gJ1wwJzsKKwl9CisKKwlpZiAocmV0X3ZhbCkgeworCQl2YWx1ZSA9ICp2YWx1ZSA/IHN0cmR1cCh2YWx1ZSkgOiBOVUxMOworCQlpZiAoIXZhbHVlKQorCQkJZ290byBlcnJvdXQ7CisJCSpyZXRfdmFsID0gdmFsdWU7CisJfQorCisJaWYgKHJldF90eXBlKQorCQkqcmV0X3R5cGUgPSBuYW1lOworCWVsc2UKKwkJZnJlZShuYW1lKTsKKworCXJldHVybiAwOworCitlcnJvdXQ6CisJREJHKFRBRywgdWxfZGVidWcoInBhcnNlIGVycm9yOiAnJXMnIiwgdG9rZW4pKTsKKwlmcmVlKG5hbWUpOworCXJldHVybiAtMTsKK30KKworLyoKKyAqIFRhZyBpdGVyYXRpb24gcm91dGluZXMgZm9yIHRoZSBwdWJsaWMgbGliYmxraWQgaW50ZXJmYWNlLgorICoKKyAqIFRoZXNlIHJvdXRpbmVzIGRvIG5vdCBleHBvc2UgdGhlIGxpc3QuaCBpbXBsZW1lbnRhdGlvbiwgd2hpY2ggYXJlIGEKKyAqIGNvbnRhbWluYXRpb24gb2YgdGhlIG5hbWVzcGFjZSwgYW5kIHdoaWNoIGZvcmNlIHVzIHRvIHJldmVhbCBmYXIsIGZhcgorICogdG9vIG11Y2ggb2Ygb3VyIGludGVybmFsIGltcGxlbWVudGF0aW9uLiAgSSdtIG5vdCBjb252aW5jZWQgSSB3YW50CisgKiB0byBrZWVwIGxpc3QuaCBpbiB0aGUgbG9uZyB0ZXJtLCBhbnl3YXkuICBJdCdzIGZpbmUgZm9yIGtlcm5lbAorICogcHJvZ3JhbW1pbmcsIGJ1dCBwZXJmb3JtYW5jZSBpcyBub3QgdGhlICMxIHByaW9yaXR5IGZvciB0aGlzCisgKiBsaWJyYXJ5LCBhbmQgSSByZWFsbHkgZG9uJ3QgbGlrZSB0aGUgdHJhZGUtb2ZmIG9mIHR5cGUtc2FmZXR5IGZvcgorICogcGVyZm9ybWFuY2UgZm9yIHRoaXMgYXBwbGljYXRpb24uICBbdHl0c286MjAwMzAxMjUuMjAwN0VTVF0KKyAqLworCisvKgorICogVGhpcyBzZXJpZXMgb2YgZnVuY3Rpb25zIGl0ZXJhdGUgb3ZlciBhbGwgdGFncyBpbiBhIGRldmljZQorICovCisjZGVmaW5lIFRBR19JVEVSQVRFX01BR0lDCTB4MDFhNTI4NGMKKworc3RydWN0IGJsa2lkX3N0cnVjdF90YWdfaXRlcmF0ZSB7CisJaW50CQkJbWFnaWM7CisJYmxraWRfZGV2CQlkZXY7CisJc3RydWN0IGxpc3RfaGVhZAkqcDsKK307CisKK2Jsa2lkX3RhZ19pdGVyYXRlIGJsa2lkX3RhZ19pdGVyYXRlX2JlZ2luKGJsa2lkX2RldiBkZXYpCit7CisJYmxraWRfdGFnX2l0ZXJhdGUJaXRlcjsKKworCWlmICghZGV2KSB7CisJCWVycm5vID0gRUlOVkFMOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlpdGVyID0gbWFsbG9jKHNpemVvZihzdHJ1Y3QgYmxraWRfc3RydWN0X3RhZ19pdGVyYXRlKSk7CisJaWYgKGl0ZXIpIHsKKwkJaXRlci0+bWFnaWMgPSBUQUdfSVRFUkFURV9NQUdJQzsKKwkJaXRlci0+ZGV2ID0gZGV2OworCQlpdGVyLT5wCT0gZGV2LT5iaWRfdGFncy5uZXh0OworCX0KKwlyZXR1cm4gKGl0ZXIpOworfQorCisvKgorICogUmV0dXJuIDAgb24gc3VjY2VzcywgLTEgb24gZXJyb3IKKyAqLworaW50IGJsa2lkX3RhZ19uZXh0KGJsa2lkX3RhZ19pdGVyYXRlIGl0ZXIsCisJCQkgIGNvbnN0IGNoYXIgKip0eXBlLCBjb25zdCBjaGFyICoqdmFsdWUpCit7CisJYmxraWRfdGFnIHRhZzsKKworCWlmICghdHlwZSB8fCAhdmFsdWUgfHwKKwkgICAgIWl0ZXIgfHwgaXRlci0+bWFnaWMgIT0gVEFHX0lURVJBVEVfTUFHSUMgfHwKKwkgICAgaXRlci0+cCA9PSAmaXRlci0+ZGV2LT5iaWRfdGFncykKKwkJcmV0dXJuIC0xOworCisJKnR5cGUgPSAwOworCSp2YWx1ZSA9IDA7CisJdGFnID0gbGlzdF9lbnRyeShpdGVyLT5wLCBzdHJ1Y3QgYmxraWRfc3RydWN0X3RhZywgYml0X3RhZ3MpOworCSp0eXBlID0gdGFnLT5iaXRfbmFtZTsKKwkqdmFsdWUgPSB0YWctPmJpdF92YWw7CisJaXRlci0+cCA9IGl0ZXItPnAtPm5leHQ7CisJcmV0dXJuIDA7Cit9CisKK3ZvaWQgYmxraWRfdGFnX2l0ZXJhdGVfZW5kKGJsa2lkX3RhZ19pdGVyYXRlIGl0ZXIpCit7CisJaWYgKCFpdGVyIHx8IGl0ZXItPm1hZ2ljICE9IFRBR19JVEVSQVRFX01BR0lDKQorCQlyZXR1cm47CisJaXRlci0+bWFnaWMgPSAwOworCWZyZWUoaXRlcik7Cit9CisKKy8qCisgKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYSBkZXZpY2Ugd2hpY2ggbWF0Y2hlcyBhIHBhcnRpY3VsYXIKKyAqIHR5cGUvdmFsdWUgcGFpci4gIElmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgZGV2aWNlIHRoYXQgbWF0Y2hlcyB0aGUKKyAqIHNlYXJjaCBzcGVjaWZpY2F0aW9uLCBpdCByZXR1cm5zIHRoZSBvbmUgd2l0aCB0aGUgaGlnaGVzdCBwcmlvcml0eQorICogdmFsdWUuICBUaGlzIGFsbG93cyB1cyB0byBnaXZlIHByZWZlcmVuY2UgdG8gRVZNUyBvciBMVk0gZGV2aWNlcy4KKyAqLworYmxraWRfZGV2IGJsa2lkX2ZpbmRfZGV2X3dpdGhfdGFnKGJsa2lkX2NhY2hlIGNhY2hlLAorCQkJCQkgY29uc3QgY2hhciAqdHlwZSwKKwkJCQkJIGNvbnN0IGNoYXIgKnZhbHVlKQoreworCWJsa2lkX3RhZwloZWFkOworCWJsa2lkX2RldglkZXY7CisJaW50CQlwcmk7CisJc3RydWN0IGxpc3RfaGVhZCAqcDsKKwlpbnQJCXByb2JlX25ldyA9IDA7CisKKwlpZiAoIWNhY2hlIHx8ICF0eXBlIHx8ICF2YWx1ZSkKKwkJcmV0dXJuIE5VTEw7CisKKwlibGtpZF9yZWFkX2NhY2hlKGNhY2hlKTsKKworCURCRyhUQUcsIHVsX2RlYnVnKCJsb29raW5nIGZvciAlcz0lcyBpbiBjYWNoZSIsIHR5cGUsIHZhbHVlKSk7CisKK3RyeV9hZ2FpbjoKKwlwcmkgPSAtMTsKKwlkZXYgPSAwOworCWhlYWQgPSBibGtpZF9maW5kX2hlYWRfY2FjaGUoY2FjaGUsIHR5cGUpOworCisJaWYgKGhlYWQpIHsKKwkJbGlzdF9mb3JfZWFjaChwLCAmaGVhZC0+Yml0X25hbWVzKSB7CisJCQlibGtpZF90YWcgdG1wID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgYmxraWRfc3RydWN0X3RhZywKKwkJCQkJCSAgIGJpdF9uYW1lcyk7CisKKwkJCWlmICghc3RyY21wKHRtcC0+Yml0X3ZhbCwgdmFsdWUpICYmCisJCQkgICAgKHRtcC0+Yml0X2Rldi0+YmlkX3ByaSA+IHByaSkgJiYKKwkJCSAgICAhYWNjZXNzKHRtcC0+Yml0X2Rldi0+YmlkX25hbWUsIEZfT0spKSB7CisJCQkJZGV2ID0gdG1wLT5iaXRfZGV2OworCQkJCXByaSA9IGRldi0+YmlkX3ByaTsKKwkJCX0KKwkJfQorCX0KKwlpZiAoZGV2ICYmICEoZGV2LT5iaWRfZmxhZ3MgJiBCTEtJRF9CSURfRkxfVkVSSUZJRUQpKSB7CisJCWRldiA9IGJsa2lkX3ZlcmlmeShjYWNoZSwgZGV2KTsKKwkJaWYgKCFkZXYgfHwgZGV2LT5iaWRfZmxhZ3MgJiBCTEtJRF9CSURfRkxfVkVSSUZJRUQpCisJCQlnb3RvIHRyeV9hZ2FpbjsKKwl9CisKKwlpZiAoIWRldiAmJiAhcHJvYmVfbmV3KSB7CisJCWlmIChibGtpZF9wcm9iZV9hbGxfbmV3KGNhY2hlKSA8IDApCisJCQlyZXR1cm4gTlVMTDsKKwkJcHJvYmVfbmV3Kys7CisJCWdvdG8gdHJ5X2FnYWluOworCX0KKworCWlmICghZGV2ICYmICEoY2FjaGUtPmJpY19mbGFncyAmIEJMS0lEX0JJQ19GTF9QUk9CRUQpKSB7CisJCWlmIChibGtpZF9wcm9iZV9hbGwoY2FjaGUpIDwgMCkKKwkJCXJldHVybiBOVUxMOworCQlnb3RvIHRyeV9hZ2FpbjsKKwl9CisJcmV0dXJuIGRldjsKK30KKworI2lmZGVmIFRFU1RfUFJPR1JBTQorI2lmZGVmIEhBVkVfR0VUT1BUX0gKKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNlbHNlCitleHRlcm4gY2hhciAqb3B0YXJnOworZXh0ZXJuIGludCBvcHRpbmQ7CisjZW5kaWYKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2UoY2hhciAqcHJvZykKK3sKKwlmcHJpbnRmKHN0ZGVyciwgIlVzYWdlOiAlcyBbLWYgYmxraWRfZmlsZV0gWy1tIGRlYnVnX21hc2tdIGRldmljZSAiCisJCSJbdHlwZSB2YWx1ZV1cbiIsCisJCXByb2cpOworCWZwcmludGYoc3RkZXJyLCAiXHRMaXN0IGFsbCB0YWdzIGZvciBhIGRldmljZSBhbmQgZXhpdFxuIik7CisJZXhpdCgxKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWJsa2lkX3RhZ19pdGVyYXRlCWl0ZXI7CisJYmxraWRfY2FjaGUgCQljYWNoZSA9IE5VTEw7CisJYmxraWRfZGV2CQlkZXY7CisJaW50CQkJYywgcmV0LCBmb3VuZDsKKwlpbnQJCQlmbGFncyA9IEJMS0lEX0RFVl9GSU5EOworCWNoYXIJCQkqdG1wOworCWNoYXIJCQkqZmlsZSA9IE5VTEw7CisJY2hhcgkJCSpkZXZuYW1lID0gTlVMTDsKKwljaGFyCQkJKnNlYXJjaF90eXBlID0gTlVMTDsKKwljaGFyCQkJKnNlYXJjaF92YWx1ZSA9IE5VTEw7CisJY29uc3QgY2hhcgkJKnR5cGUsICp2YWx1ZTsKKworCXdoaWxlICgoYyA9IGdldG9wdCAoYXJnYywgYXJndiwgIm06ZjoiKSkgIT0gRU9GKQorCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnZic6CisJCQlmaWxlID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ20nOgorCQl7CisJCQlpbnQgbWFzayA9IHN0cnRvdWwgKG9wdGFyZywgJnRtcCwgMCk7CisJCQlpZiAoKnRtcCkgeworCQkJCWZwcmludGYoc3RkZXJyLCAiSW52YWxpZCBkZWJ1ZyBtYXNrOiAlc1xuIiwKKwkJCQkJb3B0YXJnKTsKKwkJCQlleGl0KDEpOworCQkJfQorCQkJYmxraWRfaW5pdF9kZWJ1ZyhtYXNrKTsKKwkJCWJyZWFrOworCQl9CisJCWNhc2UgJz8nOgorCQkJdXNhZ2UoYXJndlswXSk7CisJCX0KKwlpZiAoYXJnYyA+IG9wdGluZCkKKwkJZGV2bmFtZSA9IGFyZ3Zbb3B0aW5kKytdOworCWlmIChhcmdjID4gb3B0aW5kKQorCQlzZWFyY2hfdHlwZSA9IGFyZ3Zbb3B0aW5kKytdOworCWlmIChhcmdjID4gb3B0aW5kKQorCQlzZWFyY2hfdmFsdWUgPSBhcmd2W29wdGluZCsrXTsKKwlpZiAoIWRldm5hbWUgfHwgKGFyZ2MgIT0gb3B0aW5kKSkKKwkJdXNhZ2UoYXJndlswXSk7CisKKwlpZiAoKHJldCA9IGJsa2lkX2dldF9jYWNoZSgmY2FjaGUsIGZpbGUpKSAhPSAwKSB7CisJCWZwcmludGYoc3RkZXJyLCAiJXM6IGVycm9yIGNyZWF0aW5nIGNhY2hlICglZClcbiIsCisJCQlhcmd2WzBdLCByZXQpOworCQlleGl0KDEpOworCX0KKworCWRldiA9IGJsa2lkX2dldF9kZXYoY2FjaGUsIGRldm5hbWUsIGZsYWdzKTsKKwlpZiAoIWRldikgeworCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiBDYW4gbm90IGZpbmQgZGV2aWNlIGluIGJsa2lkIGNhY2hlXG4iLAorCQkJZGV2bmFtZSk7CisJCWV4aXQoMSk7CisJfQorCWlmIChzZWFyY2hfdHlwZSkgeworCQlmb3VuZCA9IGJsa2lkX2Rldl9oYXNfdGFnKGRldiwgc2VhcmNoX3R5cGUsIHNlYXJjaF92YWx1ZSk7CisJCXByaW50ZigiRGV2aWNlICVzOiAoJXMsICVzKSAlc1xuIiwgYmxraWRfZGV2X2Rldm5hbWUoZGV2KSwKKwkJICAgICAgIHNlYXJjaF90eXBlLCBzZWFyY2hfdmFsdWUgPyBzZWFyY2hfdmFsdWUgOiAiTlVMTCIsCisJCSAgICAgICBmb3VuZCA/ICJGT1VORCIgOiAiTk9UIEZPVU5EIik7CisJCXJldHVybighZm91bmQpOworCX0KKwlwcmludGYoIkRldmljZSAlcy4uLlxuIiwgYmxraWRfZGV2X2Rldm5hbWUoZGV2KSk7CisKKwlpdGVyID0gYmxraWRfdGFnX2l0ZXJhdGVfYmVnaW4oZGV2KTsKKwl3aGlsZSAoYmxraWRfdGFnX25leHQoaXRlciwgJnR5cGUsICZ2YWx1ZSkgPT0gMCkgeworCQlwcmludGYoIlx0VGFnICVzIGhhcyB2YWx1ZSAlc1xuIiwgdHlwZSwgdmFsdWUpOworCX0KKwlibGtpZF90YWdfaXRlcmF0ZV9lbmQoaXRlcik7CisKKwlibGtpZF9wdXRfY2FjaGUoY2FjaGUpOworCXJldHVybiAoMCk7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy90b3BvbG9neS9kbS5jIGIvbGliYmxraWQvc3JjL3RvcG9sb2d5L2RtLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTA2MTYzMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy90b3BvbG9neS9kbS5jCkBAIC0wLDAgKzEsMTM1IEBACisvKgorICogZGV2aWNlLW1hcHBlciAoZG0pIHRvcG9sb2d5CisgKiAtLSB0aGlzIGlzIGZhbGxiYWNrIGZvciBvbGQgc3lzdGVtcyB3aGVyZSB0aGUgdG9wb2xvZ3kgaW5mb3JtYXRpb24gaXMgbm90CisgKiAgICBleHBvcnRlZCBieSBzeXNmcworICoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICoKKyAqLworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpbmNsdWRlICJ0b3BvbG9neS5oIgorCitzdGF0aWMgaW50IGlzX2RtX2RldmljZShkZXZfdCBkZXZubykKK3sKKwlyZXR1cm4gYmxraWRfZHJpdmVyX2hhc19tYWpvcigiZGV2aWNlLW1hcHBlciIsIG1ham9yKGRldm5vKSk7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfZG1fdHAoYmxraWRfcHJvYmUgcHIsCisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwljb25zdCBjaGFyICpwYXRoc1tdID0geworCQkiL3Vzci9sb2NhbC9zYmluL2Rtc2V0dXAiLAorCQkiL3Vzci9zYmluL2Rtc2V0dXAiLAorCQkiL3NiaW4vZG1zZXR1cCIKKwl9OworCWludCBkbXBpcGVbXSA9IHsgLTEsIC0xIH0sIHN0cmlwZXMsIHN0cmlwZXNpemU7CisJY2hhciAqY21kID0gTlVMTDsKKwlGSUxFICpzdHJlYW0gPSBOVUxMOworCWxvbmcgbG9uZyAgb2Zmc2V0LCBzaXplOworCXNpemVfdCBpOworCWRldl90IGRldm5vID0gYmxraWRfcHJvYmVfZ2V0X2Rldm5vKHByKTsKKworCWlmICghZGV2bm8pCisJCWdvdG8gbm90aGluZzsJCS8qIHByb2JhYmx5IG5vdCBhIGJsb2NrIGRldmljZSAqLworCWlmICghaXNfZG1fZGV2aWNlKGRldm5vKSkKKwkJZ290byBub3RoaW5nOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocGF0aHMpOyBpKyspIHsKKwkJc3RydWN0IHN0YXQgc2I7CisJCWlmIChzdGF0KHBhdGhzW2ldLCAmc2IpID09IDApIHsKKwkJCWNtZCA9IChjaGFyICopIHBhdGhzW2ldOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlpZiAoIWNtZCkKKwkJZ290byBub3RoaW5nOworCWlmIChwaXBlKGRtcGlwZSkgPCAwKSB7CisJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIkZhaWxlZCB0byBvcGVuIHBpcGU6IGVycm5vPSVkIiwgZXJybm8pKTsKKwkJZ290byBub3RoaW5nOworCX0KKworCXN3aXRjaCAoZm9yaygpKSB7CisJY2FzZSAwOgorCXsKKwkJY2hhciAqZG1hcmd2WzddLCBtYWpbMTZdLCBtaW5bMTZdOworCisJCS8qIFBsdW1iaW5nICovCisJCWNsb3NlKGRtcGlwZVswXSk7CisKKwkJaWYgKGRtcGlwZVsxXSAhPSBTVERPVVRfRklMRU5PKQorCQkJZHVwMihkbXBpcGVbMV0sIFNURE9VVF9GSUxFTk8pOworCisJCS8qIFRoZSBsaWJibGtpZCBsaWJyYXJ5IGNvdWxkIGxpbmtlZCB3aXRoIHNldHVpZCBwcm9ncmFtcyAqLworCQlpZiAoc2V0Z2lkKGdldGdpZCgpKSA8IDApCisJCQkgZXhpdCgxKTsKKwkJaWYgKHNldHVpZChnZXR1aWQoKSkgPCAwKQorCQkJIGV4aXQoMSk7CisKKwkJc25wcmludGYobWFqLCBzaXplb2YobWFqKSwgIiVkIiwgbWFqb3IoZGV2bm8pKTsKKwkJc25wcmludGYobWluLCBzaXplb2YobWluKSwgIiVkIiwgbWlub3IoZGV2bm8pKTsKKworCQlkbWFyZ3ZbMF0gPSBjbWQ7CisJCWRtYXJndlsxXSA9ICJ0YWJsZSI7CisJCWRtYXJndlsyXSA9ICItaiI7CisJCWRtYXJndlszXSA9IG1hajsKKwkJZG1hcmd2WzRdID0gIi1tIjsKKwkJZG1hcmd2WzVdID0gbWluOworCQlkbWFyZ3ZbNl0gPSBOVUxMOworCisJCWV4ZWN2KGRtYXJndlswXSwgZG1hcmd2KTsKKworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJGYWlsZWQgdG8gZXhlY3V0ZSAlczogZXJybm89JWQiLCBjbWQsIGVycm5vKSk7CisJCWV4aXQoMSk7CisJfQorCWNhc2UgLTE6CisJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIkZhaWxlZCB0byBmb3JraW5nOiBlcnJubz0lZCIsIGVycm5vKSk7CisJCWdvdG8gbm90aGluZzsKKwlkZWZhdWx0OgorCQlicmVhazsKKwl9CisKKwlzdHJlYW0gPSBmZG9wZW4oZG1waXBlWzBdLCAiciIgVUxfQ0xPRVhFQ1NUUik7CisJaWYgKCFzdHJlYW0pCisJCWdvdG8gbm90aGluZzsKKworCWlmIChmc2NhbmYoc3RyZWFtLCAiJWxsZCAlbGxkIHN0cmlwZWQgJWQgJWQgIiwKKwkJCSZvZmZzZXQsICZzaXplLCAmc3RyaXBlcywgJnN0cmlwZXNpemUpICE9IDApCisJCWdvdG8gbm90aGluZzsKKworCWJsa2lkX3RvcG9sb2d5X3NldF9taW5pbXVtX2lvX3NpemUocHIsIHN0cmlwZXNpemUgPDwgOSk7CisJYmxraWRfdG9wb2xvZ3lfc2V0X29wdGltYWxfaW9fc2l6ZShwciwgKHN0cmlwZXMgKiBzdHJpcGVzaXplKSA8PCA5KTsKKworCWZjbG9zZShzdHJlYW0pOworCWNsb3NlKGRtcGlwZVsxXSk7CisJcmV0dXJuIDA7CisKK25vdGhpbmc6CisJaWYgKHN0cmVhbSkKKwkJZmNsb3NlKHN0cmVhbSk7CisJZWxzZSBpZiAoZG1waXBlWzBdICE9IC0xKQorCQljbG9zZShkbXBpcGVbMF0pOworCWlmIChkbXBpcGVbMV0gIT0gLTEpCisJCWNsb3NlKGRtcGlwZVsxXSk7CisJcmV0dXJuIDE7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gZG1fdHBfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAiZG0iLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9kbV90cCwKKwkubWFnaWNzCQk9IEJMS0lEX05PTkVfTUFHSUMKK307CisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy90b3BvbG9neS9ldm1zLmMgYi9saWJibGtpZC9zcmMvdG9wb2xvZ3kvZXZtcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlZDQxZDgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvdG9wb2xvZ3kvZXZtcy5jCkBAIC0wLDAgKzEsNzcgQEAKKy8qCisgKiBFdm1zIHRvcG9sb2d5CisgKiAtLSB0aGlzIGlzIGZhbGxiYWNrIGZvciBvbGQgc3lzdGVtcyB3aGVyZSB0aGUgdG9wb2xvZ3kgaW5mb3JtYXRpb24gaXMgbm90CisgKiAgICBleHBvcnRlZCBieSBzeXNmcworICoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICoKKyAqLworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpbmNsdWRlICJ0b3BvbG9neS5oIgorCisjZGVmaW5lIEVWTVNfTUFKT1IJCTExNworCisjaWZuZGVmIF9JT1RfX0lPVEJBU0VfdV9pbnQzMl90CisjZGVmaW5lIF9JT1RfX0lPVEJBU0VfdV9pbnQzMl90IElPVF9TSU1QTEUodWludDMyX3QpCisjZW5kaWYKKyNkZWZpbmUgX0lPVF9ldm1zX3N0cmlwZV9pbmZvIF9JT1QgKF9JT1RTKHVpbnQzMl90KSwgMiwgMCwgMCwgMCwgMCkKKyNkZWZpbmUgRVZNU19HRVRfU1RSSVBFX0lORk8JX0lPUihFVk1TX01BSk9SLCAweEYwLCBzdHJ1Y3QgZXZtc19zdHJpcGVfaW5mbykKKworc3RydWN0IGV2bXNfc3RyaXBlX2luZm8geworCXVpbnQzMl90CXNpemU7CQkvKiBzdHJpcGUgdW5pdCA1MTItYnl0ZSBibG9ja3MgKi8KKwl1aW50MzJfdAl3aWR0aDsJCS8qIHRoZSBudW1iZXIgb2Ygc3RyaXBlIG1lbWJlcnMgb3IgUkFJRCBkYXRhIGRpc2tzICovCit9IGV2bXNfc3RyaXBlX2luZm87CisKK3N0YXRpYyBpbnQgaXNfZXZtc19kZXZpY2UoZGV2X3QgZGV2bm8pCit7CisJaWYgKG1ham9yKGRldm5vKSA9PSBFVk1TX01BSk9SKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gYmxraWRfZHJpdmVyX2hhc19tYWpvcigiZXZtcyIsIG1ham9yKGRldm5vKSk7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfZXZtc190cChibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXN0cnVjdCBldm1zX3N0cmlwZV9pbmZvIGV2bXM7CisJZGV2X3QgZGV2bm8gPSBibGtpZF9wcm9iZV9nZXRfZGV2bm8ocHIpOworCisJaWYgKCFkZXZubykKKwkJZ290byBub3RoaW5nOwkJLyogcHJvYmFibHkgbm90IGEgYmxvY2sgZGV2aWNlICovCisKKwlpZiAoIWlzX2V2bXNfZGV2aWNlKGRldm5vKSkKKwkJZ290byBub3RoaW5nOworCisJbWVtc2V0KCZldm1zLCAwLCBzaXplb2YoZXZtcykpOworCisJaWYgKGlvY3RsKHByLT5mZCwgRVZNU19HRVRfU1RSSVBFX0lORk8sICZldm1zKSkKKwkJZ290byBub3RoaW5nOworCisJYmxraWRfdG9wb2xvZ3lfc2V0X21pbmltdW1faW9fc2l6ZShwciwgZXZtcy5zaXplIDw8IDkpOworCWJsa2lkX3RvcG9sb2d5X3NldF9vcHRpbWFsX2lvX3NpemUocHIsIChldm1zLnNpemUgKiBldm1zLndpZHRoKSA8PCA5KTsKKworCXJldHVybiAwOworCitub3RoaW5nOgorCXJldHVybiAxOworfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGV2bXNfdHBfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAiZXZtcyIsCisJLnByb2JlZnVuYwk9IHByb2JlX2V2bXNfdHAsCisJLm1hZ2ljcwkJPSBCTEtJRF9OT05FX01BR0lDCit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvdG9wb2xvZ3kvaW9jdGwuYyBiL2xpYmJsa2lkL3NyYy90b3BvbG9neS9pb2N0bC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhYmEwOWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvdG9wb2xvZ3kvaW9jdGwuYwpAQCAtMCwwICsxLDc0IEBACisvKgorICogaW9jdGwgYmFzZWQgdG9wb2xvZ3kgLS0gZ2F0aGVycyB0b3BvbG9neSBpbmZvcm1hdGlvbgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICoKKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorCisjaW5jbHVkZSAidG9wb2xvZ3kuaCIKKworLyoKKyAqIGlvY3RsIHRvcG9sb2d5IHZhbHVlcworICovCitzdGF0aWMgc3RydWN0IHRvcG9sb2d5X3ZhbCB7CisKKwlsb25nICBpb2M7CisKKwkvKiBmdW5jdGlvbnMgdG8gc2V0IHByb2JpbmcgcmVzdWx0ICovCisJaW50ICgqc2V0X3Vsb25nKShibGtpZF9wcm9iZSwgdW5zaWduZWQgbG9uZyk7CisJaW50ICgqc2V0X2ludCkoYmxraWRfcHJvYmUsIGludCk7CisKK30gdG9wb2xvZ3lfdmFsc1tdID0geworCXsgQkxLQUxJR05PRkYsIE5VTEwsIGJsa2lkX3RvcG9sb2d5X3NldF9hbGlnbm1lbnRfb2Zmc2V0IH0sCisJeyBCTEtJT01JTiwgYmxraWRfdG9wb2xvZ3lfc2V0X21pbmltdW1faW9fc2l6ZSB9LAorCXsgQkxLSU9PUFQsIGJsa2lkX3RvcG9sb2d5X3NldF9vcHRpbWFsX2lvX3NpemUgfSwKKwl7IEJMS1BCU1pHRVQsIGJsa2lkX3RvcG9sb2d5X3NldF9waHlzaWNhbF9zZWN0b3Jfc2l6ZSB9CisJLyogd2UgcmVhZCBCTEtTU1pHRVQgaW4gdG9wb2xvZ3kuYyAqLworfTsKKworc3RhdGljIGludCBwcm9iZV9pb2N0bF90cChibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodG9wb2xvZ3lfdmFscyk7IGkrKykgeworCQlzdHJ1Y3QgdG9wb2xvZ3lfdmFsICp2YWwgPSAmdG9wb2xvZ3lfdmFsc1tpXTsKKwkJaW50IHJjID0gMTsKKwkJdW5zaWduZWQgaW50IGRhdGE7CisKKwkJaWYgKGlvY3RsKHByLT5mZCwgdmFsLT5pb2MsICZkYXRhKSA9PSAtMSkKKwkJCWdvdG8gbm90aGluZzsKKworCQlpZiAodmFsLT5zZXRfaW50KQorCQkJcmMgPSB2YWwtPnNldF9pbnQocHIsIChpbnQpIGRhdGEpOworCQllbHNlCisJCQlyYyA9IHZhbC0+c2V0X3Vsb25nKHByLCAodW5zaWduZWQgbG9uZykgZGF0YSk7CisJCWlmIChyYykKKwkJCWdvdG8gZXJyOworCX0KKworCXJldHVybiAwOworbm90aGluZzoKKwlyZXR1cm4gMTsKK2VycjoKKwlyZXR1cm4gLTE7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gaW9jdGxfdHBfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAiaW9jdGwiLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9pb2N0bF90cCwKKwkubWFnaWNzCQk9IEJMS0lEX05PTkVfTUFHSUMKK307CisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy90b3BvbG9neS9sdm0uYyBiL2xpYmJsa2lkL3NyYy90b3BvbG9neS9sdm0uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZDA3OWQ0Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3RvcG9sb2d5L2x2bS5jCkBAIC0wLDAgKzEsMTQ3IEBACisvKgorICogbHZtIHRvcG9sb2d5CisgKiAtLSB0aGlzIGlzIGZhbGxiYWNrIGZvciBvbGQgc3lzdGVtcyB3aGVyZSB0aGUgdG9wb2xvZ3kgaW5mb3JtYXRpb24gaXMgbm90CisgKiAgICBleHBvcnRlZCBieSBzeXNmcworICoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICoKKyAqLworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpbmNsdWRlICJ0b3BvbG9neS5oIgorCisjaWZuZGVmIExWTV9CTEtfTUFKT1IKKyMgZGVmaW5lIExWTV9CTEtfTUFKT1IgICAgIDU4CisjZW5kaWYKKworc3RhdGljIGludCBpc19sdm1fZGV2aWNlKGRldl90IGRldm5vKQoreworCWlmIChtYWpvcihkZXZubykgPT0gTFZNX0JMS19NQUpPUikKKwkJcmV0dXJuIDE7CisJcmV0dXJuIGJsa2lkX2RyaXZlcl9oYXNfbWFqb3IoImx2bSIsIG1ham9yKGRldm5vKSk7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfbHZtX3RwKGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJY29uc3QgY2hhciAqcGF0aHNbXSA9IHsKKwkJIi91c3IvbG9jYWwvc2Jpbi9sdmRpc3BsYXkiLAorCQkiL3Vzci9zYmluL2x2ZGlzcGxheSIsCisJCSIvc2Jpbi9sdmRpc3BsYXkiCisJfTsKKwlpbnQgbHZwaXBlW10gPSB7IC0xLCAtMSB9LCBzdHJpcGVzID0gMCwgc3RyaXBlc2l6ZSA9IDA7CisJRklMRSAqc3RyZWFtID0gTlVMTDsKKwljaGFyICpjbWQgPSBOVUxMLCAqZGV2bmFtZSA9IE5VTEwsIGJ1ZlsxMDI0XTsKKwlzaXplX3QgaTsKKwlkZXZfdCBkZXZubyA9IGJsa2lkX3Byb2JlX2dldF9kZXZubyhwcik7CisKKwlpZiAoIWRldm5vKQorCQlnb3RvIG5vdGhpbmc7CQkvKiBwcm9iYWJseSBub3QgYSBibG9jayBkZXZpY2UgKi8KKwlpZiAoIWlzX2x2bV9kZXZpY2UoZGV2bm8pKQorCQlnb3RvIG5vdGhpbmc7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShwYXRocyk7IGkrKykgeworCQlzdHJ1Y3Qgc3RhdCBzYjsKKwkJaWYgKHN0YXQocGF0aHNbaV0sICZzYikgPT0gMCkgeworCQkJY21kID0gKGNoYXIgKikgcGF0aHNbaV07CisJCQlicmVhazsKKwkJfQorCX0KKworCWlmICghY21kKQorCQlnb3RvIG5vdGhpbmc7CisKKwlkZXZuYW1lID0gYmxraWRfZGV2bm9fdG9fZGV2bmFtZShkZXZubyk7CisJaWYgKCFkZXZuYW1lKQorCQlnb3RvIG5vdGhpbmc7CisKKwlpZiAocGlwZShsdnBpcGUpIDwgMCkgeworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJGYWlsZWQgdG8gb3BlbiBwaXBlOiBlcnJubz0lZCIsIGVycm5vKSk7CisJCWdvdG8gbm90aGluZzsKKwl9CisKKwlzd2l0Y2ggKGZvcmsoKSkgeworCWNhc2UgMDoKKwl7CisJCWNoYXIgKmx2YXJndlszXTsKKworCQkvKiBQbHVtYmluZyAqLworCQljbG9zZShsdnBpcGVbMF0pOworCisJCWlmIChsdnBpcGVbMV0gIT0gU1RET1VUX0ZJTEVOTykKKwkJCWR1cDIobHZwaXBlWzFdLCBTVERPVVRfRklMRU5PKTsKKworCQkvKiBUaGUgbGliYmxraWQgbGlicmFyeSBjb3VsZCBsaW5rZWQgd2l0aCBzZXR1aWQgcHJvZ3JhbXMgKi8KKwkJaWYgKHNldGdpZChnZXRnaWQoKSkgPCAwKQorCQkJIGV4aXQoMSk7CisJCWlmIChzZXR1aWQoZ2V0dWlkKCkpIDwgMCkKKwkJCSBleGl0KDEpOworCisJCWx2YXJndlswXSA9IGNtZDsKKwkJbHZhcmd2WzFdID0gZGV2bmFtZTsKKwkJbHZhcmd2WzJdID0gTlVMTDsKKworCQlleGVjdihsdmFyZ3ZbMF0sIGx2YXJndik7CisKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiRmFpbGVkIHRvIGV4ZWN1dGUgJXM6IGVycm5vPSVkIiwgY21kLCBlcnJubykpOworCQlleGl0KDEpOworCX0KKwljYXNlIC0xOgorCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJGYWlsZWQgdG8gZm9ya2luZzogZXJybm89JWQiLCBlcnJubykpOworCQlnb3RvIG5vdGhpbmc7CisJZGVmYXVsdDoKKwkJYnJlYWs7CisJfQorCisJc3RyZWFtID0gZmRvcGVuKGx2cGlwZVswXSwgInIiIFVMX0NMT0VYRUNTVFIpOworCWlmICghc3RyZWFtKQorCQlnb3RvIG5vdGhpbmc7CisKKwl3aGlsZSAoZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgc3RyZWFtKSAhPSBOVUxMKSB7CisJCWlmICghc3RybmNtcChidWYsICJTdHJpcGVzIiwgNykpCisJCQlzc2NhbmYoYnVmLCAiU3RyaXBlcyAlZCIsICZzdHJpcGVzKTsKKworCQlpZiAoIXN0cm5jbXAoYnVmLCAiU3RyaXBlIHNpemUiLCAxMSkpCisJCQlzc2NhbmYoYnVmLCAiU3RyaXBlIHNpemUgKEtCeXRlKSAlZCIsICZzdHJpcGVzaXplKTsKKwl9CisKKwlpZiAoIXN0cmlwZXMpCisJCWdvdG8gbm90aGluZzsKKworCWJsa2lkX3RvcG9sb2d5X3NldF9taW5pbXVtX2lvX3NpemUocHIsIHN0cmlwZXNpemUgPDwgMTApOworCWJsa2lkX3RvcG9sb2d5X3NldF9vcHRpbWFsX2lvX3NpemUocHIsIChzdHJpcGVzICogc3RyaXBlc2l6ZSkgPDwgMTApOworCisJZnJlZShkZXZuYW1lKTsKKwlmY2xvc2Uoc3RyZWFtKTsKKwljbG9zZShsdnBpcGVbMV0pOworCXJldHVybiAwOworCitub3RoaW5nOgorCWZyZWUoZGV2bmFtZSk7CisJaWYgKHN0cmVhbSkKKwkJZmNsb3NlKHN0cmVhbSk7CisJZWxzZSBpZiAobHZwaXBlWzBdICE9IC0xKQorCQljbG9zZShsdnBpcGVbMF0pOworCWlmIChsdnBpcGVbMV0gIT0gLTEpCisJCWNsb3NlKGx2cGlwZVsxXSk7CisJcmV0dXJuIDE7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gbHZtX3RwX2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gImx2bSIsCisJLnByb2JlZnVuYwk9IHByb2JlX2x2bV90cCwKKwkubWFnaWNzCQk9IEJMS0lEX05PTkVfTUFHSUMKK307CisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy90b3BvbG9neS9tZC5jIGIvbGliYmxraWQvc3JjL3RvcG9sb2d5L21kLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWViYTk0NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy90b3BvbG9neS9tZC5jCkBAIC0wLDAgKzEsMTU0IEBACisvKgorICogTGludXggU29mdHdhcmUgUkFJRCAobWQpIHRvcG9sb2d5CisgKiAtLSB0aGlzIGlzIGZhbGxiYWNrIGZvciBvbGQgc3lzdGVtcyB3aGVyZSB0aGUgdG9wb2xvZ3kgaW5mb3JtYXRpb24gaXMgbm90CisgKiAgICBleHBvcnRlZCBieSBzeXNmcworICoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICoKKyAqLworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpbmNsdWRlICJ0b3BvbG9neS5oIgorCisjaWZuZGVmIE1EX01BSk9SCisjZGVmaW5lIE1EX01BSk9SCTkKKyNlbmRpZgorCisjaWZuZGVmIF9JT1RfX0lPVEJBU0VfdWludDMyX3QKKyNkZWZpbmUgX0lPVF9fSU9UQkFTRV91aW50MzJfdCBJT1RfU0lNUExFKHVpbnQzMl90KQorI2VuZGlmCisjZGVmaW5lIF9JT1RfbWRfYXJyYXlfaW5mbyBfSU9UIChfSU9UUyh1aW50MzJfdCksIDE4LCAwLCAwLCAwLCAwKQorI2RlZmluZSBHRVRfQVJSQVlfSU5GTyAgICAgICAgICBfSU9SIChNRF9NQUpPUiwgMHgxMSwgc3RydWN0IG1kX2FycmF5X2luZm8pCisKK3N0cnVjdCBtZF9hcnJheV9pbmZvIHsKKwkvKgorCSAqIEdlbmVyaWMgY29uc3RhbnQgaW5mb3JtYXRpb24KKwkgKi8KKwl1aW50MzJfdCBtYWpvcl92ZXJzaW9uOworCXVpbnQzMl90IG1pbm9yX3ZlcnNpb247CisJdWludDMyX3QgcGF0Y2hfdmVyc2lvbjsKKwl1aW50MzJfdCBjdGltZTsKKwl1aW50MzJfdCBsZXZlbDsKKwl1aW50MzJfdCBzaXplOworCXVpbnQzMl90IG5yX2Rpc2tzOworCXVpbnQzMl90IHJhaWRfZGlza3M7CisJdWludDMyX3QgbWRfbWlub3I7CisJdWludDMyX3Qgbm90X3BlcnNpc3RlbnQ7CisKKwkvKgorCSAqIEdlbmVyaWMgc3RhdGUgaW5mb3JtYXRpb24KKwkgKi8KKwl1aW50MzJfdCB1dGltZTsJICAvKiAgMCBTdXBlcmJsb2NrIHVwZGF0ZSB0aW1lCQkgICovCisJdWludDMyX3Qgc3RhdGU7CSAgLyogIDEgU3RhdGUgYml0cyAoY2xlYW4sIC4uLikJCSAgKi8KKwl1aW50MzJfdCBhY3RpdmVfZGlza3M7ICAvKiAgMiBOdW1iZXIgb2YgY3VycmVudGx5IGFjdGl2ZSBkaXNrcyAgKi8KKwl1aW50MzJfdCB3b3JraW5nX2Rpc2tzOyAvKiAgMyBOdW1iZXIgb2Ygd29ya2luZyBkaXNrcwkJICAqLworCXVpbnQzMl90IGZhaWxlZF9kaXNrczsgIC8qICA0IE51bWJlciBvZiBmYWlsZWQgZGlza3MJCSAgKi8KKwl1aW50MzJfdCBzcGFyZV9kaXNrczsJICAvKiAgNSBOdW1iZXIgb2Ygc3BhcmUgZGlza3MJCSAgKi8KKworCS8qCisJICogUGVyc29uYWxpdHkgaW5mb3JtYXRpb24KKwkgKi8KKwl1aW50MzJfdCBsYXlvdXQ7CSAgLyogIDAgdGhlIGFycmF5J3MgcGh5c2ljYWwgbGF5b3V0CSAgKi8KKwl1aW50MzJfdCBjaHVua19zaXplOwkgIC8qICAxIGNodW5rIHNpemUgaW4gYnl0ZXMJCSAgKi8KKworfTsKKworc3RhdGljIGludCBpc19tZF9kZXZpY2UoZGV2X3QgZGV2bm8pCit7CisJaWYgKG1ham9yKGRldm5vKSA9PSBNRF9NQUpPUikKKwkJcmV0dXJuIDE7CisJcmV0dXJuIGJsa2lkX2RyaXZlcl9oYXNfbWFqb3IoIm1kIiwgbWFqb3IoZGV2bm8pKTsKK30KKworc3RhdGljIGludCBwcm9iZV9tZF90cChibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCWludCBmZCA9IC0xOworCWRldl90IGRpc2sgPSAwOworCWRldl90IGRldm5vID0gYmxraWRfcHJvYmVfZ2V0X2Rldm5vKHByKTsKKwlzdHJ1Y3QgbWRfYXJyYXlfaW5mbyBtZDsKKworCWlmICghZGV2bm8pCisJCWdvdG8gbm90aGluZzsJCS8qIHByb2JhYmx5IG5vdCBhIGJsb2NrIGRldmljZSAqLworCisJaWYgKCFpc19tZF9kZXZpY2UoZGV2bm8pKQorCQlnb3RvIG5vdGhpbmc7CisKKwlpZiAoYmxraWRfZGV2bm9fdG9fd2hvbGVkaXNrKGRldm5vLCBOVUxMLCAwLCAmZGlzaykpCisJCWdvdG8gbm90aGluZzsKKworCWlmIChkaXNrID09IGRldm5vKQorCQlmZCA9IHByLT5mZDsKKwllbHNlIHsKKwkJY2hhciAqZGlza3BhdGggPSBibGtpZF9kZXZub190b19kZXZuYW1lKGRpc2spOworCisJCWlmICghZGlza3BhdGgpCisJCQlnb3RvIG5vdGhpbmc7CisKKwkJZmQgPSBvcGVuKGRpc2twYXRoLCBPX1JET05MWXxPX0NMT0VYRUMpOworCQlmcmVlKGRpc2twYXRoKTsKKworICAgICAgICAgICAgICAgIGlmIChmZCA9PSAtMSkKKwkJCWdvdG8gbm90aGluZzsKKwl9CisKKwltZW1zZXQoJm1kLCAwLCBzaXplb2YobWQpKTsKKworCWlmIChpb2N0bChmZCwgR0VUX0FSUkFZX0lORk8sICZtZCkpCisJCWdvdG8gbm90aGluZzsKKworCWlmIChmZCA+PSAwICYmIGZkICE9IHByLT5mZCkgeworCQljbG9zZShmZCk7CisJCWZkID0gLTE7CisJfQorCisJLyoKKwkgKiBJZ25vcmUgbGV2ZWxzIHdlIGRvbid0IHdhbnQgYWxpZ25lZCAoZS5nLiBsaW5lYXIpCisJICogYW5kIGRlZHVjdCBkaXNrKHMpIGZyb20gc3RyaXBlIHdpZHRoIG9uIFJBSUQ0LzUvNgorCSAqLworCXN3aXRjaCAobWQubGV2ZWwpIHsKKwljYXNlIDY6CisJCW1kLnJhaWRfZGlza3MtLTsKKwkJLyogZmFsbHRocm91Z2ggKi8KKwljYXNlIDU6CisJY2FzZSA0OgorCQltZC5yYWlkX2Rpc2tzLS07CisJCS8qIGZhbGx0aHJvdWdoICovCisJY2FzZSAxOgorCWNhc2UgMDoKKwljYXNlIDEwOgorCQlicmVhazsKKwlkZWZhdWx0OgorCQlnb3RvIG5vdGhpbmc7CisJfQorCisJYmxraWRfdG9wb2xvZ3lfc2V0X21pbmltdW1faW9fc2l6ZShwciwgbWQuY2h1bmtfc2l6ZSk7CisJYmxraWRfdG9wb2xvZ3lfc2V0X29wdGltYWxfaW9fc2l6ZShwciwgbWQuY2h1bmtfc2l6ZSAqIG1kLnJhaWRfZGlza3MpOworCisJcmV0dXJuIDA7CisKK25vdGhpbmc6CisJaWYgKGZkID49IDAgJiYgZmQgIT0gcHItPmZkKQorCQljbG9zZShmZCk7CisJcmV0dXJuIDE7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gbWRfdHBfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAibWQiLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9tZF90cCwKKwkubWFnaWNzCQk9IEJMS0lEX05PTkVfTUFHSUMKK307CisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy90b3BvbG9neS9zeXNmcy5jIGIvbGliYmxraWQvc3JjL3RvcG9sb2d5L3N5c2ZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzEwZTRiNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy90b3BvbG9neS9zeXNmcy5jCkBAIC0wLDAgKzEsMTE5IEBACisvKgorICogc3lzZnMgYmFzZWQgdG9wb2xvZ3kgLS0gZ2F0aGVycyB0b3BvbG9neSBpbmZvcm1hdGlvbiBmcm9tIExpbnV4IHN5c2ZzCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKgorICogRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIExpbnV4IGtlcm5lbCBEb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWJsb2NrLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKworI2luY2x1ZGUgInN5c2ZzLmgiCisjaW5jbHVkZSAidG9wb2xvZ3kuaCIKKworLyoKKyAqIFN5c2ZzIHRvcG9sb2d5IHZhbHVlcyAoc2luY2UgMi42LjMxLCBNYXkgMjAwOSkuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgdG9wb2xvZ3lfdmFsIHsKKworCS8qIC9zeXMvZGV2L2Jsb2NrLzxtYWo+OjxtaW4+LzxBVFRSPiAqLworCWNvbnN0IGNoYXIgKmF0dHI7CisKKwkvKiBmdW5jdGlvbnMgdG8gc2V0IHByb2JpbmcgcmVzdWx0ICovCisJaW50ICgqc2V0X3Vsb25nKShibGtpZF9wcm9iZSwgdW5zaWduZWQgbG9uZyk7CisJaW50ICgqc2V0X2ludCkoYmxraWRfcHJvYmUsIGludCk7CisKK30gdG9wb2xvZ3lfdmFsc1tdID0geworCXsgImFsaWdubWVudF9vZmZzZXQiLCBOVUxMLCBibGtpZF90b3BvbG9neV9zZXRfYWxpZ25tZW50X29mZnNldCB9LAorCXsgInF1ZXVlL21pbmltdW1faW9fc2l6ZSIsIGJsa2lkX3RvcG9sb2d5X3NldF9taW5pbXVtX2lvX3NpemUgfSwKKwl7ICJxdWV1ZS9vcHRpbWFsX2lvX3NpemUiLCBibGtpZF90b3BvbG9neV9zZXRfb3B0aW1hbF9pb19zaXplIH0sCisJeyAicXVldWUvcGh5c2ljYWxfYmxvY2tfc2l6ZSIsIGJsa2lkX3RvcG9sb2d5X3NldF9waHlzaWNhbF9zZWN0b3Jfc2l6ZSB9LAorfTsKKworc3RhdGljIGludCBwcm9iZV9zeXNmc190cChibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCWRldl90IGRldiwgZGlzayA9IDA7CisJaW50IHJjOworCXN0cnVjdCBzeXNmc19jeHQgc3lzZnMgPSBVTF9TWVNGU0NYVF9FTVBUWSwKKwkJCSBwYXJlbnQgPSBVTF9TWVNGU0NYVF9FTVBUWTsKKwlzaXplX3QgaSwgY291bnQgPSAwOworCisJZGV2ID0gYmxraWRfcHJvYmVfZ2V0X2Rldm5vKHByKTsKKwlpZiAoIWRldiB8fCBzeXNmc19pbml0KCZzeXNmcywgZGV2LCBOVUxMKSAhPSAwKQorCQlyZXR1cm4gMTsKKworCXJjID0gMTsJCS8qIG5vdGhpbmcgKGRlZmF1bHQpICovCisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh0b3BvbG9neV92YWxzKTsgaSsrKSB7CisJCXN0cnVjdCB0b3BvbG9neV92YWwgKnZhbCA9ICZ0b3BvbG9neV92YWxzW2ldOworCQlpbnQgb2sgPSBzeXNmc19oYXNfYXR0cmlidXRlKCZzeXNmcywgdmFsLT5hdHRyKTsKKworCQlyYyA9IDE7CS8qIG5vdGhpbmcgKi8KKworCQlpZiAoIW9rKSB7CisJCQlpZiAoIWRpc2spIHsKKwkJCQkvKgorCQkJCSAqIFJlYWQgYXR0cmlidXRlcyBmcm9tICJkaXNrIiBpZiB0aGUgY3VycmVudAorCQkJCSAqIGRldmljZSBpcyBhIHBhcnRpdGlvbi4KKwkJCQkgKi8KKwkJCQlkaXNrID0gYmxraWRfcHJvYmVfZ2V0X3dob2xlZGlza19kZXZubyhwcik7CisJCQkJaWYgKGRpc2sgJiYgZGlzayAhPSBkZXYpIHsKKwkJCQkJaWYgKHN5c2ZzX2luaXQoJnBhcmVudCwgZGlzaywgTlVMTCkgIT0gMCkKKwkJCQkJCWdvdG8gZG9uZTsKKworCQkJCQlzeXNmcy5wYXJlbnQgPSAmcGFyZW50OworCQkJCQlvayA9IHN5c2ZzX2hhc19hdHRyaWJ1dGUoJnN5c2ZzLAorCQkJCQkJCQkgdmFsLT5hdHRyKTsKKwkJCQl9CisJCQl9CisJCQlpZiAoIW9rKQorCQkJCWNvbnRpbnVlOwkvKiBhdHRyaWJ1dGUgZG9lcyBub3QgZXhpc3QgKi8KKwkJfQorCisJCWlmICh2YWwtPnNldF91bG9uZykgeworCQkJdWludDY0X3QgZGF0YTsKKworCQkJaWYgKHN5c2ZzX3JlYWRfdTY0KCZzeXNmcywgdmFsLT5hdHRyLCAmZGF0YSkgIT0gMCkKKwkJCQljb250aW51ZTsKKwkJCXJjID0gdmFsLT5zZXRfdWxvbmcocHIsICh1bnNpZ25lZCBsb25nKSBkYXRhKTsKKworCQl9IGVsc2UgaWYgKHZhbC0+c2V0X2ludCkgeworCQkJaW50NjRfdCBkYXRhOworCisJCQlpZiAoc3lzZnNfcmVhZF9zNjQoJnN5c2ZzLCB2YWwtPmF0dHIsICZkYXRhKSAhPSAwKQorCQkJCWNvbnRpbnVlOworCQkJcmMgPSB2YWwtPnNldF9pbnQocHIsIChpbnQpIGRhdGEpOworCQl9CisKKwkJaWYgKHJjIDwgMCkKKwkJCWdvdG8gZG9uZTsJLyogZXJyb3IgKi8KKwkJaWYgKHJjID09IDApCisJCQljb3VudCsrOworCX0KKworZG9uZToKKwlzeXNmc19kZWluaXQoJnN5c2ZzKTsKKwlzeXNmc19kZWluaXQoJnBhcmVudCk7CisKKwlpZiAoY291bnQpCisJCXJldHVybiAwOwkJLyogc3VjY2VzcyAqLworCXJldHVybiByYzsJCQkvKiBlcnJvciBvciBub3RoaW5nICovCit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gc3lzZnNfdHBfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAic3lzZnMiLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9zeXNmc190cCwKKwkubWFnaWNzCQk9IEJMS0lEX05PTkVfTUFHSUMKK307CisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy90b3BvbG9neS90b3BvbG9neS5jIGIvbGliYmxraWQvc3JjL3RvcG9sb2d5L3RvcG9sb2d5LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzhlNGM5NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy90b3BvbG9neS90b3BvbG9neS5jCkBAIC0wLDAgKzEsMzYwIEBACisvKgorICogdG9wb2xvZ3kgLSBnYXRoZXJzIGluZm9ybWF0aW9uIGFib3V0IGRldmljZSB0b3BvbG9neQorICoKKyAqIENvcHlyaWdodCAyMDA5IFJlZCBIYXQsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRkZWYuaD4KKworI2luY2x1ZGUgInRvcG9sb2d5LmgiCisKKy8qKgorICogU0VDVElPTjp0b3BvbG9neQorICogQHRpdGxlOiBUb3BvbG9neSBpbmZvcm1hdGlvbgorICogQHNob3J0X2Rlc2NyaXB0aW9uOiBibG9jayBkZXZpY2UgdG9wb2xvZ3kgaW5mb3JtYXRpb24uCisgKgorICogVGhlIHRvcG9sb2d5IGNoYWluIHByb3ZpZGVzIGRldGFpbHMgYWJvdXQgTGludXggYmxvY2sgZGV2aWNlcywgZm9yIG1vcmUKKyAqIGluZm9ybWF0aW9uIHNlZToKKyAqCisgKiAgICAgIExpbnV4IGtlcm5lbCBEb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWJsb2NrCisgKgorICogTkFNRT12YWx1ZSAodGFncykgaW50ZXJmYWNlIGlzIGVuYWJsZWQgYnkgYmxraWRfcHJvYmVfZW5hYmxlX3RvcG9sb2d5KCksCisgKiBhbmQgcHJvdmlkZXM6CisgKgorICogQExPR0lDQUxfU0VDVE9SX1NJWkU6IHRoaXMgaXMgdGhlIHNtYWxsZXN0IHVuaXQgdGhlIHN0b3JhZ2UgZGV2aWNlIGNhbgorICogICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3MuIEl0IGlzIHR5cGljYWxseSA1MTIgYnl0ZXMuCisgKgorICogQFBIWVNJQ0FMX1NFQ1RPUl9TSVpFOiB0aGlzIGlzIHRoZSBzbWFsbGVzdCB1bml0IGEgcGh5c2ljYWwgc3RvcmFnZSBkZXZpY2UKKyAqICAgICAgICAgICAgICAgICAgICAgICAgY2FuIHdyaXRlIGF0b21pY2FsbHkuIEl0IGlzIHVzdWFsbHkgdGhlIHNhbWUgYXMgdGhlCisgKiAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2ljYWwgc2VjdG9yIHNpemUgYnV0IG1heSBiZSBiaWdnZXIuCisgKgorICogQE1JTklNVU1fSU9fU0laRTogbWluaW11bSBzaXplIHdoaWNoIGlzIHRoZSBkZXZpY2UncyBwcmVmZXJyZWQgdW5pdCBvZiBJL08uCisgKiAgICAgICAgICAgICAgICAgICBGb3IgUkFJRCBhcnJheXMgaXQgaXMgb2Z0ZW4gdGhlIHN0cmlwZSBjaHVuayBzaXplLgorICoKKyAqIEBPUFRJTUFMX0lPX1NJWkU6IHVzdWFsbHkgdGhlIHN0cmlwZSB3aWR0aCBmb3IgUkFJRCBvciB6ZXJvLiBGb3IgUkFJRCBhcnJheXMKKyAqICAgICAgICAgICAgICAgICAgIGl0IGlzIHVzdWFsbHkgdGhlIHN0cmlwZSB3aWR0aCBvciB0aGUgaW50ZXJuYWwgdHJhY2sgc2l6ZS4KKyAqCisgKiBAQUxJR05NRU5UX09GRlNFVDogaW5kaWNhdGVzIGhvdyBtYW55IGJ5dGVzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGRldmljZSBpcworICogICAgICAgICAgICAgICAgICAgIG9mZnNldCBmcm9tIHRoZSBkaXNrJ3MgbmF0dXJhbCBhbGlnbm1lbnQuCisgKgorICogVGhlIE5BTUU9dmFsdWUgdGFncyBhcmUgbm90IGRlZmluZWQgd2hlbiB0aGUgY29ycmVzcG9uZGluZyB0b3BvbG9neSB2YWx1ZQorICogaXMgemVyby4gVGhlIE1JTklNVU1fSU9fU0laRSBzaG91bGQgYmUgYWx3YXlzIGRlZmluZWQgaWYga2VybmVsIHByb3ZpZGVzCisgKiB0b3BvbG9neSBpbmZvcm1hdGlvbi4KKyAqCisgKiBCaW5hcnkgaW50ZXJmYWNlOgorICoKKyAqIGJsa2lkX3Byb2JlX2dldF90b3BvbG9neSgpCisgKgorICogYmxraWRfdG9wb2xvZ3lfZ2V0XydWQUxVRU5BTUUnKCkKKyAqLworc3RhdGljIGludCB0b3BvbG9neV9wcm9iZShibGtpZF9wcm9iZSBwciwgc3RydWN0IGJsa2lkX2NoYWluICpjaG4pOworc3RhdGljIHZvaWQgdG9wb2xvZ3lfZnJlZShibGtpZF9wcm9iZSBwciwgdm9pZCAqZGF0YSk7CitzdGF0aWMgaW50IHRvcG9sb2d5X2lzX2NvbXBsZXRlKGJsa2lkX3Byb2JlIHByKTsKK3N0YXRpYyBpbnQgdG9wb2xvZ3lfc2V0X2xvZ2ljYWxfc2VjdG9yX3NpemUoYmxraWRfcHJvYmUgcHIpOworCisvKgorICogQmluYXJ5IGludGVyZmFjZQorICovCitzdHJ1Y3QgYmxraWRfc3RydWN0X3RvcG9sb2d5IHsKKwl1bnNpZ25lZCBsb25nCWFsaWdubWVudF9vZmZzZXQ7CisJdW5zaWduZWQgbG9uZwltaW5pbXVtX2lvX3NpemU7CisJdW5zaWduZWQgbG9uZwlvcHRpbWFsX2lvX3NpemU7CisJdW5zaWduZWQgbG9uZwlsb2dpY2FsX3NlY3Rvcl9zaXplOworCXVuc2lnbmVkIGxvbmcJcGh5c2ljYWxfc2VjdG9yX3NpemU7Cit9OworCisvKgorICogVG9wb2xvZ3kgY2hhaW4gcHJvYmluZyBmdW5jdGlvbnMKKyAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gKmlkaW5mb3NbXSA9Cit7CisjaWZkZWYgX19saW51eF9fCisJJmlvY3RsX3RwX2lkaW5mbywKKwkmc3lzZnNfdHBfaWRpbmZvLAorCSZtZF90cF9pZGluZm8sCisJJmRtX3RwX2lkaW5mbywKKwkmbHZtX3RwX2lkaW5mbywKKwkmZXZtc190cF9pZGluZm8KKyNlbmRpZgorfTsKKworCisvKgorICogRHJpdmVyIGRlZmluaXRpb24KKyAqLworY29uc3Qgc3RydWN0IGJsa2lkX2NoYWluZHJ2IHRvcG9sb2d5X2RydiA9IHsKKwkuaWQgICAgICAgICAgID0gQkxLSURfQ0hBSU5fVE9QTEdZLAorCS5uYW1lICAgICAgICAgPSAidG9wb2xvZ3kiLAorCS5kZmx0X2VuYWJsZWQgPSBGQUxTRSwKKwkuaWRpbmZvcyAgICAgID0gaWRpbmZvcywKKwkubmlkaW5mb3MgICAgID0gQVJSQVlfU0laRShpZGluZm9zKSwKKwkucHJvYmUgICAgICAgID0gdG9wb2xvZ3lfcHJvYmUsCisJLnNhZmVwcm9iZSAgICA9IHRvcG9sb2d5X3Byb2JlLAorCS5mcmVlX2RhdGEgICAgPSB0b3BvbG9neV9mcmVlCit9OworCisvKioKKyAqIGJsa2lkX3Byb2JlX2VuYWJsZV90b3BvbG9neToKKyAqIEBwcjogcHJvYmUKKyAqIEBlbmFibGU6IFRSVUUvRkFMU0UKKyAqCisgKiBFbmFibGVzL2Rpc2FibGVzIHRoZSB0b3BvbG9neSBwcm9iaW5nIGZvciBub24tYmluYXJ5IGludGVyZmFjZS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBibGtpZF9wcm9iZV9lbmFibGVfdG9wb2xvZ3koYmxraWRfcHJvYmUgcHIsIGludCBlbmFibGUpCit7CisJcHItPmNoYWluc1tCTEtJRF9DSEFJTl9UT1BMR1ldLmVuYWJsZWQgPSBlbmFibGU7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogYmxraWRfcHJvYmVfZ2V0X3RvcG9sb2d5OgorICogQHByOiBwcm9iZQorICoKKyAqIFRoaXMgaXMgYSBiaW5hcnkgaW50ZXJmYWNlIGZvciB0b3BvbG9neSB2YWx1ZXMuIFNlZSBhbHNvIGJsa2lkX3RvcG9sb2d5XyoKKyAqIGZ1bmN0aW9ucy4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIGluZGVwZW5kZW50IG9uIGJsa2lkX2RvX1tzYWZlLGZ1bGxdcHJvYmUoKSBhbmQKKyAqIGJsa2lkX3Byb2JlX2VuYWJsZV90b3BvbG9neSgpIGNhbGxzLgorICoKKyAqIFdBUk5JTkc6IHRoZSByZXR1cm5lZCBvYmplY3Qgd2lsbCBiZSBvdmVyd3JpdHRlbiBieSB0aGUgbmV4dAorICogICAgICAgICAgYmxraWRfcHJvYmVfZ2V0X3RvcG9sb2d5KCkgY2FsbCBmb3IgdGhlIHNhbWUgQHByLiBJZiB5b3Ugd2FudCB0bworICogICAgICAgICAgdXNlIG1vcmUgYmxraWRfdG9wb2xvZ3kgb2JqZWN0cyBpbiB0aGUgc2FtZSB0aW1lIHlvdSBoYXZlIHRvIGNyZWF0ZQorICogICAgICAgICAgbW9yZSBibGtpZF9wcm9iZSBoYW5kbGVycyAoc2VlIGJsa2lkX25ld19wcm9iZSgpKS4KKyAqCisgKiBSZXR1cm5zOiBibGtpZF90b3BvbG9neSwgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCitibGtpZF90b3BvbG9neSBibGtpZF9wcm9iZV9nZXRfdG9wb2xvZ3koYmxraWRfcHJvYmUgcHIpCit7CisJcmV0dXJuIChibGtpZF90b3BvbG9neSkgYmxraWRfcHJvYmVfZ2V0X2JpbmFyeV9kYXRhKHByLAorCQkJJnByLT5jaGFpbnNbQkxLSURfQ0hBSU5fVE9QTEdZXSk7Cit9CisKKy8qCisgKiBUaGUgYmxraWRfZG9fcHJvYmUoKSBiYWNrZW5kLgorICovCitzdGF0aWMgaW50IHRvcG9sb2d5X3Byb2JlKGJsa2lkX3Byb2JlIHByLCBzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobikKK3sKKwlzaXplX3QgaTsKKworCWlmIChjaG4tPmlkeCA8IC0xKQorCQlyZXR1cm4gLTE7CisKKwlpZiAoIVNfSVNCTEsocHItPm1vZGUpKQorCQlyZXR1cm4gLUVJTlZBTDsJLyogbm90aGluZywgd29ya3Mgd2l0aCBibG9jayBkZXZpY2VzIG9ubHkgKi8KKworCWlmIChjaG4tPmJpbmFyeSkgeworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJpbml0aWFsaXplIHRvcG9sb2d5IGJpbmFyeSBkYXRhIikpOworCisJCWlmIChjaG4tPmRhdGEpCisJCQkvKiByZXNldCBiaW5hcnkgZGF0YSAqLworCQkJbWVtc2V0KGNobi0+ZGF0YSwgMCwKKwkJCQkJc2l6ZW9mKHN0cnVjdCBibGtpZF9zdHJ1Y3RfdG9wb2xvZ3kpKTsKKwkJZWxzZSB7CisJCQljaG4tPmRhdGEgPSBjYWxsb2MoMSwKKwkJCQkJc2l6ZW9mKHN0cnVjdCBibGtpZF9zdHJ1Y3RfdG9wb2xvZ3kpKTsKKwkJCWlmICghY2huLT5kYXRhKQorCQkJCXJldHVybiAtRU5PTUVNOworCQl9CisJfQorCisJYmxraWRfcHJvYmVfY2hhaW5fcmVzZXRfdmFsdWVzKHByLCBjaG4pOworCisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiLS0+IHN0YXJ0aW5nIHByb2JpbmcgbG9vcCBbVE9QT0xPR1kgaWR4PSVkXSIsCisJCWNobi0+aWR4KSk7CisKKwlpID0gY2huLT5pZHggPCAwID8gMCA6IGNobi0+aWR4ICsgMVU7CisKKwlmb3IgKCA7IGkgPCBBUlJBWV9TSVpFKGlkaW5mb3MpOyBpKyspIHsKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyAqaWQgPSBpZGluZm9zW2ldOworCisJCWNobi0+aWR4ID0gaTsKKworCQlpZiAoaWQtPnByb2JlZnVuYykgeworCQkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiJXM6IGNhbGwgcHJvYmVmdW5jKCkiLCBpZC0+bmFtZSkpOworCQkJaWYgKGlkLT5wcm9iZWZ1bmMocHIsIE5VTEwpICE9IDApCisJCQkJY29udGludWU7CisJCX0KKworCQlpZiAoIXRvcG9sb2d5X2lzX2NvbXBsZXRlKHByKSkKKwkJCWNvbnRpbnVlOworCisJCS8qIGdlbmVyaWMgZm9yIGFsbCBwcm9iaW5nIGRyaXZlcnMgKi8KKwkJdG9wb2xvZ3lfc2V0X2xvZ2ljYWxfc2VjdG9yX3NpemUocHIpOworCisJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIjwtLSBsZWF2aW5nIHByb2JpbmcgbG9vcCAodHlwZT0lcykgW1RPUE9MT0dZIGlkeD0lZF0iLAorCQkJaWQtPm5hbWUsIGNobi0+aWR4KSk7CisJCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKKwl9CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCI8LS0gbGVhdmluZyBwcm9iaW5nIGxvb3AgKGZhaWxlZCkgW1RPUE9MT0dZIGlkeD0lZF0iLAorCQljaG4tPmlkeCkpOworCXJldHVybiBCTEtJRF9QUk9CRV9OT05FOworfQorCitzdGF0aWMgdm9pZCB0b3BvbG9neV9mcmVlKGJsa2lkX3Byb2JlIHByIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwKKwkJCSAgdm9pZCAqZGF0YSkKK3sKKwlmcmVlKGRhdGEpOworfQorCitzdGF0aWMgaW50IHRvcG9sb2d5X3NldF92YWx1ZShibGtpZF9wcm9iZSBwciwgY29uc3QgY2hhciAqbmFtZSwKKwkJCQlzaXplX3Qgc3RydWN0b2ZmLCB1bnNpZ25lZCBsb25nIGRhdGEpCit7CisJc3RydWN0IGJsa2lkX2NoYWluICpjaG4gPSBibGtpZF9wcm9iZV9nZXRfY2hhaW4ocHIpOworCisJaWYgKCFjaG4pCisJCXJldHVybiAtMTsKKwlpZiAoIWRhdGEpCisJCXJldHVybiAwOwkvKiBpZ25vcmUgemVyb3MgKi8KKworCWlmIChjaG4tPmJpbmFyeSkgeworCQltZW1jcHkoKGNoYXIgKikgY2huLT5kYXRhICsgc3RydWN0b2ZmLCAmZGF0YSwgc2l6ZW9mKGRhdGEpKTsKKwkJcmV0dXJuIDA7CisJfQorCXJldHVybiBibGtpZF9wcm9iZV9zcHJpbnRmX3ZhbHVlKHByLCBuYW1lLCAiJWx1IiwgZGF0YSk7Cit9CisKKworLyogdGhlIHRvcG9sb2d5IGluZm8gaXMgY29tcGxldGUgd2hlbiB3ZSBoYXZlIGF0IGxlYXN0ICJtaW5pbXVtX2lvX3NpemUiIHdoaWNoCisgKiBpcyBwcm92aWRlZCBieSBhbGwgYmxraWQgdG9wb2xvZ3kgZHJpdmVycyAqLworc3RhdGljIGludCB0b3BvbG9neV9pc19jb21wbGV0ZShibGtpZF9wcm9iZSBwcikKK3sKKwlzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobiA9IGJsa2lkX3Byb2JlX2dldF9jaGFpbihwcik7CisKKwlpZiAoIWNobikKKwkJcmV0dXJuIEZBTFNFOworCisJaWYgKGNobi0+YmluYXJ5ICYmIGNobi0+ZGF0YSkgeworCQlibGtpZF90b3BvbG9neSB0cCA9IChibGtpZF90b3BvbG9neSkgY2huLT5kYXRhOworCQlpZiAodHAtPm1pbmltdW1faW9fc2l6ZSkKKwkJCXJldHVybiBUUlVFOworCX0KKworCXJldHVybiBfX2Jsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIk1JTklNVU1fSU9fU0laRSIpID8gVFJVRSA6IEZBTFNFOworfQorCitpbnQgYmxraWRfdG9wb2xvZ3lfc2V0X2FsaWdubWVudF9vZmZzZXQoYmxraWRfcHJvYmUgcHIsIGludCB2YWwpCit7CisJdW5zaWduZWQgbG9uZyB4dmFsOworCisJLyogV2VsY29tZSB0byBIZWxsLiBUaGUga2VybmVsIGlzIGFibGUgdG8gcmV0dXJuIC0xIGFzIGFuCisJICogYWxpZ25tZW50X29mZnNldCBpZiBubyBjb21wYXRpYmxlIHNpemVzIGFuZCBhbGlnbm1lbnRzCisJICogZXhpc3QgZm9yIHN0YWNrZWQgZGV2aWNlcy4KKwkgKgorCSAqIFRoZXJlIGlzIG5vIHdheSBob3cgbGliYmxraWQgY2FsbGVyIGNhbiByZXNwb25kIHRvIHRoZSB2YWx1ZSAtMSwgc28KKwkgKiB3ZSB3aWxsIGhpZGUgdGhpcyBjb3JuZXIgY2FzZS4uLgorCSAqCisJICogKFRPRE86IG1heWJlIHdlIGNhbiBleHBvcnQgYW4gZXh0cmEgYm9vbGVhbiB2YWx1ZSAnbWlzYWxpZ25lZCcgcmF0aGVyCisJICogIHRoZW4gY29tcGxldGUgaGlkZSB0aGlzIHByb2JsZW0uKQorCSAqLworCXh2YWwgPSB2YWwgPCAwID8gMCA6IHZhbDsKKworCXJldHVybiB0b3BvbG9neV9zZXRfdmFsdWUocHIsCisJCQkiQUxJR05NRU5UX09GRlNFVCIsCisJCQlvZmZzZXRvZihzdHJ1Y3QgYmxraWRfc3RydWN0X3RvcG9sb2d5LCBhbGlnbm1lbnRfb2Zmc2V0KSwKKwkJCXh2YWwpOworfQorCitpbnQgYmxraWRfdG9wb2xvZ3lfc2V0X21pbmltdW1faW9fc2l6ZShibGtpZF9wcm9iZSBwciwgdW5zaWduZWQgbG9uZyB2YWwpCit7CisJcmV0dXJuIHRvcG9sb2d5X3NldF92YWx1ZShwciwKKwkJCSJNSU5JTVVNX0lPX1NJWkUiLAorCQkJb2Zmc2V0b2Yoc3RydWN0IGJsa2lkX3N0cnVjdF90b3BvbG9neSwgbWluaW11bV9pb19zaXplKSwKKwkJCXZhbCk7Cit9CisKK2ludCBibGtpZF90b3BvbG9neV9zZXRfb3B0aW1hbF9pb19zaXplKGJsa2lkX3Byb2JlIHByLCB1bnNpZ25lZCBsb25nIHZhbCkKK3sKKwlyZXR1cm4gdG9wb2xvZ3lfc2V0X3ZhbHVlKHByLAorCQkJIk9QVElNQUxfSU9fU0laRSIsCisJCQlvZmZzZXRvZihzdHJ1Y3QgYmxraWRfc3RydWN0X3RvcG9sb2d5LCBvcHRpbWFsX2lvX3NpemUpLAorCQkJdmFsKTsKK30KKworLyogQkxLU1NaR0VUIGlzIHByb3ZpZGVkIG9uIGFsbCBzeXN0ZW1zIHNpbmNlIDIuMy4zIC0tIHNvIHdlIGRvbid0IGhhdmUgdG8KKyAqIHdhc3RlIHRpbWUgd2l0aCBzeXNmcy4KKyAqLworc3RhdGljIGludCB0b3BvbG9neV9zZXRfbG9naWNhbF9zZWN0b3Jfc2l6ZShibGtpZF9wcm9iZSBwcikKK3sKKwl1bnNpZ25lZCBsb25nIHZhbCA9IGJsa2lkX3Byb2JlX2dldF9zZWN0b3JzaXplKHByKTsKKworCWlmICghdmFsKQorCQlyZXR1cm4gLTE7CisKKwlyZXR1cm4gdG9wb2xvZ3lfc2V0X3ZhbHVlKHByLAorCQkJIkxPR0lDQUxfU0VDVE9SX1NJWkUiLAorCQkJb2Zmc2V0b2Yoc3RydWN0IGJsa2lkX3N0cnVjdF90b3BvbG9neSwgbG9naWNhbF9zZWN0b3Jfc2l6ZSksCisJCQl2YWwpOworfQorCitpbnQgYmxraWRfdG9wb2xvZ3lfc2V0X3BoeXNpY2FsX3NlY3Rvcl9zaXplKGJsa2lkX3Byb2JlIHByLCB1bnNpZ25lZCBsb25nIHZhbCkKK3sKKwlyZXR1cm4gdG9wb2xvZ3lfc2V0X3ZhbHVlKHByLAorCQkJIlBIWVNJQ0FMX1NFQ1RPUl9TSVpFIiwKKwkJCW9mZnNldG9mKHN0cnVjdCBibGtpZF9zdHJ1Y3RfdG9wb2xvZ3ksIHBoeXNpY2FsX3NlY3Rvcl9zaXplKSwKKwkJCXZhbCk7Cit9CisKKy8qKgorICogYmxraWRfdG9wb2xvZ3lfZ2V0X2FsaWdubWVudF9vZmZzZXQ6CisgKiBAdHA6IHRvcG9sb2d5CisgKgorICogUmV0dXJuczogYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyBvciAwLgorICovCit1bnNpZ25lZCBsb25nIGJsa2lkX3RvcG9sb2d5X2dldF9hbGlnbm1lbnRfb2Zmc2V0KGJsa2lkX3RvcG9sb2d5IHRwKQoreworCXJldHVybiB0cC0+YWxpZ25tZW50X29mZnNldDsKK30KKworLyoqCisgKiBibGtpZF90b3BvbG9neV9nZXRfbWluaW11bV9pb19zaXplOgorICogQHRwOiB0b3BvbG9neQorICoKKyAqIFJldHVybnM6IG1pbmltdW0gaW8gc2l6ZSBpbiBieXRlcyBvciAwLgorICovCit1bnNpZ25lZCBsb25nIGJsa2lkX3RvcG9sb2d5X2dldF9taW5pbXVtX2lvX3NpemUoYmxraWRfdG9wb2xvZ3kgdHApCit7CisJcmV0dXJuIHRwLT5taW5pbXVtX2lvX3NpemU7Cit9CisKKy8qKgorICogYmxraWRfdG9wb2xvZ3lfZ2V0X29wdGltYWxfaW9fc2l6ZQorICogQHRwOiB0b3BvbG9neQorICoKKyAqIFJldHVybnM6IG9wdGltYWwgaW8gc2l6ZSBpbiBieXRlcyBvciAwLgorICovCit1bnNpZ25lZCBsb25nIGJsa2lkX3RvcG9sb2d5X2dldF9vcHRpbWFsX2lvX3NpemUoYmxraWRfdG9wb2xvZ3kgdHApCit7CisJcmV0dXJuIHRwLT5vcHRpbWFsX2lvX3NpemU7Cit9CisKKy8qKgorICogYmxraWRfdG9wb2xvZ3lfZ2V0X2xvZ2ljYWxfc2VjdG9yX3NpemUKKyAqIEB0cDogdG9wb2xvZ3kKKyAqCisgKiBSZXR1cm5zOiBsb2dpY2FsIHNlY3RvciBzaXplIChCTEtTU1pHRVQgaW9jdGwpIGluIGJ5dGVzIG9yIDAuCisgKi8KK3Vuc2lnbmVkIGxvbmcgYmxraWRfdG9wb2xvZ3lfZ2V0X2xvZ2ljYWxfc2VjdG9yX3NpemUoYmxraWRfdG9wb2xvZ3kgdHApCit7CisJcmV0dXJuIHRwLT5sb2dpY2FsX3NlY3Rvcl9zaXplOworfQorCisvKioKKyAqIGJsa2lkX3RvcG9sb2d5X2dldF9waHlzaWNhbF9zZWN0b3Jfc2l6ZQorICogQHRwOiB0b3BvbG9neQorICoKKyAqIFJldHVybnM6IGxvZ2ljYWwgc2VjdG9yIHNpemUgKEJMS1NTWkdFVCBpb2N0bCkgaW4gYnl0ZXMgb3IgMC4KKyAqLwordW5zaWduZWQgbG9uZyBibGtpZF90b3BvbG9neV9nZXRfcGh5c2ljYWxfc2VjdG9yX3NpemUoYmxraWRfdG9wb2xvZ3kgdHApCit7CisJcmV0dXJuIHRwLT5waHlzaWNhbF9zZWN0b3Jfc2l6ZTsKK30KKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3RvcG9sb2d5L3RvcG9sb2d5LmggYi9saWJibGtpZC9zcmMvdG9wb2xvZ3kvdG9wb2xvZ3kuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZDJmNDMzCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3RvcG9sb2d5L3RvcG9sb2d5LmgKQEAgLTAsMCArMSwyNCBAQAorI2lmbmRlZiBCTEtJRF9UT1BPTE9HWV9ICisjZGVmaW5lIEJMS0lEX1RPUE9MT0dZX0gKKworI2luY2x1ZGUgImJsa2lkUC5oIgorCitleHRlcm4gaW50IGJsa2lkX3RvcG9sb2d5X3NldF9hbGlnbm1lbnRfb2Zmc2V0KGJsa2lkX3Byb2JlIHByLCBpbnQgdmFsKTsKK2V4dGVybiBpbnQgYmxraWRfdG9wb2xvZ3lfc2V0X21pbmltdW1faW9fc2l6ZShibGtpZF9wcm9iZSBwciwgdW5zaWduZWQgbG9uZyB2YWwpOworZXh0ZXJuIGludCBibGtpZF90b3BvbG9neV9zZXRfb3B0aW1hbF9pb19zaXplKGJsa2lkX3Byb2JlIHByLCB1bnNpZ25lZCBsb25nIHZhbCk7CitleHRlcm4gaW50IGJsa2lkX3RvcG9sb2d5X3NldF9waHlzaWNhbF9zZWN0b3Jfc2l6ZShibGtpZF9wcm9iZSBwciwgdW5zaWduZWQgbG9uZyB2YWwpOworCisvKgorICogdG9wb2xvZ3kgcHJvYmVycworICovCisjaWZkZWYgX19saW51eF9fCitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBpb2N0bF90cF9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBtZF90cF9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBldm1zX3RwX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHN5c2ZzX3RwX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGRtX3RwX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGx2bV90cF9pZGluZm87CisjZW5kaWYKKworI2VuZGlmIC8qIEJMS0lEX1RPUE9MT0dZX0ggKi8KKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3ZlcmlmeS5jIGIvbGliYmxraWQvc3JjL3ZlcmlmeS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2ZjZkNTMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvdmVyaWZ5LmMKQEAgLTAsMCArMSwyMjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHRpbWUuaD4KKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX0VSUk5PX0gKKyNpbmNsdWRlIDxlcnJuby5oPgorI2VuZGlmCisKKyNpbmNsdWRlICJibGtpZFAuaCIKKyNpbmNsdWRlICJzeXNmcy5oIgorCitzdGF0aWMgdm9pZCBibGtpZF9wcm9iZV90b190YWdzKGJsa2lkX3Byb2JlIHByLCBibGtpZF9kZXYgZGV2KQoreworCWNvbnN0IGNoYXIgKmRhdGE7CisJY29uc3QgY2hhciAqbmFtZTsKKwlpbnQgbnZhbHMsIG47CisJc2l6ZV90IGxlbjsKKworCW52YWxzID0gYmxraWRfcHJvYmVfbnVtb2ZfdmFsdWVzKHByKTsKKworCWZvciAobiA9IDA7IG4gPCBudmFsczsgbisrKSB7CisJCWlmIChibGtpZF9wcm9iZV9nZXRfdmFsdWUocHIsIG4sICZuYW1lLCAmZGF0YSwgJmxlbikgIT0gMCkKKwkJCWNvbnRpbnVlOworCQlpZiAoc3RybmNtcChuYW1lLCAiUEFSVF9FTlRSWV8iLCAxMSkgPT0gMCkgeworCQkJaWYgKHN0cmNtcChuYW1lLCAiUEFSVF9FTlRSWV9VVUlEIikgPT0gMCkKKwkJCQlibGtpZF9zZXRfdGFnKGRldiwgIlBBUlRVVUlEIiwgZGF0YSwgbGVuKTsKKwkJCWVsc2UgaWYgKHN0cmNtcChuYW1lLCAiUEFSVF9FTlRSWV9OQU1FIikgPT0gMCkKKwkJCQlibGtpZF9zZXRfdGFnKGRldiwgIlBBUlRMQUJFTCIsIGRhdGEsIGxlbik7CisKKwkJfSBlbHNlIGlmICghc3Ryc3RyKG5hbWUsICJfSUQiKSkgeworCQkJLyogc3VwZXJibG9jayBVVUlELCBMQUJFTCwgLi4uCisJCQkgKiBidXQgbm90IHtTWVNURU0sQVBQTElDQVRJT04sLi4uX0lEfSAqLworCQkJYmxraWRfc2V0X3RhZyhkZXYsIG5hbWUsIGRhdGEsIGxlbik7CisJCX0KKwl9Cit9CisKKy8qCisgKiBWZXJpZnkgdGhhdCB0aGUgZGF0YSBpbiBkZXYgaXMgY29uc2lzdGVudCB3aXRoIHdoYXQgaXMgb24gdGhlIGFjdHVhbAorICogYmxvY2sgZGV2aWNlICh1c2luZyB0aGUgZGV2bmFtZSBmaWVsZCBvbmx5KS4gIE5vcm1hbGx5IHRoaXMgd2lsbCBiZQorICogY2FsbGVkIHdoZW4gZmluZGluZyBpdGVtcyBpbiB0aGUgY2FjaGUsIGJ1dCBmb3IgbG9uZyBydW5uaW5nIHByb2Nlc3NlcworICogaXMgYWxzbyBkZXNpcmFibGUgdG8gcmV2YWxpZGF0ZSBhbiBpdGVtIGJlZm9yZSB1c2UuCisgKgorICogSWYgd2UgYXJlIHVuYWJsZSB0byByZXZhbGlkYXRlIHRoZSBkYXRhLCB3ZSByZXR1cm4gdGhlIG9sZCBkYXRhIGFuZAorICogZG8gbm90IHNldCB0aGUgQkxLSURfQklEX0ZMX1ZFUklGSUVEIGZsYWcgb24gaXQuCisgKi8KK2Jsa2lkX2RldiBibGtpZF92ZXJpZnkoYmxraWRfY2FjaGUgY2FjaGUsIGJsa2lkX2RldiBkZXYpCit7CisJYmxraWRfdGFnX2l0ZXJhdGUgaXRlcjsKKwljb25zdCBjaGFyICp0eXBlLCAqdmFsdWU7CisJc3RydWN0IHN0YXQgc3Q7CisJdGltZV90IGRpZmYsIG5vdzsKKwlpbnQgZmQ7CisKKwlpZiAoIWRldiB8fCAhY2FjaGUpCisJCXJldHVybiBOVUxMOworCisJbm93ID0gdGltZSgwKTsKKwlkaWZmID0gbm93IC0gZGV2LT5iaWRfdGltZTsKKworCWlmIChzdGF0KGRldi0+YmlkX25hbWUsICZzdCkgPCAwKSB7CisJCURCRyhQUk9CRSwgdWxfZGVidWcoImJsa2lkX3ZlcmlmeTogZXJyb3IgJW0gKCVkKSB3aGlsZSAiCisJCQkgICAidHJ5aW5nIHRvIHN0YXQgJXMiLCBlcnJubywKKwkJCSAgIGRldi0+YmlkX25hbWUpKTsKKwlvcGVuX2VycjoKKwkJaWYgKChlcnJubyA9PSBFUEVSTSkgfHwgKGVycm5vID09IEVBQ0NFUykgfHwgKGVycm5vID09IEVOT0VOVCkpIHsKKwkJCS8qIFdlIGRvbid0IGhhdmUgcmVhZCBwZXJtaXNzaW9uLCBqdXN0IHJldHVybiBjYWNoZSBkYXRhLiAqLworCQkJREJHKFBST0JFLCB1bF9kZWJ1ZygicmV0dXJuaW5nIHVudmVyaWZpZWQgZGF0YSBmb3IgJXMiLAorCQkJCQkJZGV2LT5iaWRfbmFtZSkpOworCQkJcmV0dXJuIGRldjsKKwkJfQorCQlibGtpZF9mcmVlX2RldihkZXYpOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlpZiAobm93ID49IGRldi0+YmlkX3RpbWUgJiYKKyNpZmRlZiBIQVZFX1NUUlVDVF9TVEFUX1NUX01USU1fVFZfTlNFQworCSAgICAoc3Quc3RfbXRpbWUgPCBkZXYtPmJpZF90aW1lIHx8CisJICAgICAgICAoc3Quc3RfbXRpbWUgPT0gZGV2LT5iaWRfdGltZSAmJgorCQkgc3Quc3RfbXRpbS50dl9uc2VjIC8gMTAwMCA8PSBkZXYtPmJpZF91dGltZSkpICYmCisjZWxzZQorCSAgICBzdC5zdF9tdGltZSA8PSBkZXYtPmJpZF90aW1lICYmCisjZW5kaWYKKwkgICAgKGRpZmYgPCBCTEtJRF9QUk9CRV9NSU4gfHwKKwkJKGRldi0+YmlkX2ZsYWdzICYgQkxLSURfQklEX0ZMX1ZFUklGSUVEICYmCisJCSBkaWZmIDwgQkxLSURfUFJPQkVfSU5URVJWQUwpKSkKKwkJcmV0dXJuIGRldjsKKworI2lmbmRlZiBIQVZFX1NUUlVDVF9TVEFUX1NUX01USU1fVFZfTlNFQworCURCRyhQUk9CRSwgdWxfZGVidWcoIm5lZWQgdG8gcmV2YWxpZGF0ZSAlcyAoY2FjaGUgdGltZSAlbHUsIHN0YXQgdGltZSAlbHUsXHQiCisJCSAgICJ0aW1lIHNpbmNlIGxhc3QgY2hlY2sgJWx1KSIsCisJCSAgIGRldi0+YmlkX25hbWUsICh1bnNpZ25lZCBsb25nKWRldi0+YmlkX3RpbWUsCisJCSAgICh1bnNpZ25lZCBsb25nKXN0LnN0X210aW1lLCAodW5zaWduZWQgbG9uZylkaWZmKSk7CisjZWxzZQorCURCRyhQUk9CRSwgdWxfZGVidWcoIm5lZWQgdG8gcmV2YWxpZGF0ZSAlcyAoY2FjaGUgdGltZSAlbHUuJWx1LCBzdGF0IHRpbWUgJWx1LiVsdSxcdCIKKwkJICAgInRpbWUgc2luY2UgbGFzdCBjaGVjayAlbHUpIiwKKwkJICAgZGV2LT5iaWRfbmFtZSwKKwkJICAgKHVuc2lnbmVkIGxvbmcpZGV2LT5iaWRfdGltZSwgKHVuc2lnbmVkIGxvbmcpZGV2LT5iaWRfdXRpbWUsCisJCSAgICh1bnNpZ25lZCBsb25nKXN0LnN0X210aW1lLCAodW5zaWduZWQgbG9uZylzdC5zdF9tdGltLnR2X25zZWMgLyAxMDAwLAorCQkgICAodW5zaWduZWQgbG9uZylkaWZmKSk7CisjZW5kaWYKKworCWlmIChzeXNmc19kZXZub19pc19sdm1fcHJpdmF0ZShzdC5zdF9yZGV2KSkgeworCQlibGtpZF9mcmVlX2RldihkZXYpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJaWYgKCFjYWNoZS0+cHJvYmUpIHsKKwkJY2FjaGUtPnByb2JlID0gYmxraWRfbmV3X3Byb2JlKCk7CisJCWlmICghY2FjaGUtPnByb2JlKSB7CisJCQlibGtpZF9mcmVlX2RldihkZXYpOworCQkJcmV0dXJuIE5VTEw7CisJCX0KKwl9CisKKwlmZCA9IG9wZW4oZGV2LT5iaWRfbmFtZSwgT19SRE9OTFl8T19DTE9FWEVDKTsKKwlpZiAoZmQgPCAwKSB7CisJCURCRyhQUk9CRSwgdWxfZGVidWcoImJsa2lkX3ZlcmlmeTogZXJyb3IgJW0gKCVkKSB3aGlsZSAiCisJCQkJCSJvcGVuaW5nICVzIiwgZXJybm8sCisJCQkJCWRldi0+YmlkX25hbWUpKTsKKwkJZ290byBvcGVuX2VycjsKKwl9CisKKwlpZiAoYmxraWRfcHJvYmVfc2V0X2RldmljZShjYWNoZS0+cHJvYmUsIGZkLCAwLCAwKSkgeworCQkvKiBmYWlsZWQgdG8gcmVhZCB0aGUgZGV2aWNlICovCisJCWNsb3NlKGZkKTsKKwkJYmxraWRfZnJlZV9kZXYoZGV2KTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJLyogcmVtb3ZlIG9sZCBjYWNoZSBpbmZvICovCisJaXRlciA9IGJsa2lkX3RhZ19pdGVyYXRlX2JlZ2luKGRldik7CisJd2hpbGUgKGJsa2lkX3RhZ19uZXh0KGl0ZXIsICZ0eXBlLCAmdmFsdWUpID09IDApCisJCWJsa2lkX3NldF90YWcoZGV2LCB0eXBlLCBOVUxMLCAwKTsKKwlibGtpZF90YWdfaXRlcmF0ZV9lbmQoaXRlcik7CisKKwkvKiBlbmFibGUgc3VwZXJibG9ja3MgcHJvYmluZyAqLworCWJsa2lkX3Byb2JlX2VuYWJsZV9zdXBlcmJsb2NrcyhjYWNoZS0+cHJvYmUsIFRSVUUpOworCWJsa2lkX3Byb2JlX3NldF9zdXBlcmJsb2Nrc19mbGFncyhjYWNoZS0+cHJvYmUsCisJCUJMS0lEX1NVQkxLU19MQUJFTCB8IEJMS0lEX1NVQkxLU19VVUlEIHwKKwkJQkxLSURfU1VCTEtTX1RZUEUgfCBCTEtJRF9TVUJMS1NfU0VDVFlQRSk7CisKKwkvKiBlbmFibGUgcGFydGl0aW9ucyBwcm9iaW5nICovCisJYmxraWRfcHJvYmVfZW5hYmxlX3BhcnRpdGlvbnMoY2FjaGUtPnByb2JlLCBUUlVFKTsKKwlibGtpZF9wcm9iZV9zZXRfcGFydGl0aW9uc19mbGFncyhjYWNoZS0+cHJvYmUsIEJMS0lEX1BBUlRTX0VOVFJZX0RFVEFJTFMpOworCisJLyogcHJvYmUgKi8KKwlpZiAoYmxraWRfZG9fc2FmZXByb2JlKGNhY2hlLT5wcm9iZSkpIHsKKwkJLyogZm91bmQgbm90aGluZyBvciBlcnJvciAqLworCQlibGtpZF9mcmVlX2RldihkZXYpOworCQlkZXYgPSBOVUxMOworCX0KKworCWlmIChkZXYpIHsKKyNpZmRlZiBIQVZFX1NUUlVDVF9TVEFUX1NUX01USU1fVFZfTlNFQworCQlzdHJ1Y3QgdGltZXZhbCB0djsKKwkJaWYgKCFnZXR0aW1lb2ZkYXkoJnR2LCBOVUxMKSkgeworCQkJZGV2LT5iaWRfdGltZSA9IHR2LnR2X3NlYzsKKwkJCWRldi0+YmlkX3V0aW1lID0gdHYudHZfdXNlYzsKKwkJfSBlbHNlCisjZW5kaWYKKwkJCWRldi0+YmlkX3RpbWUgPSB0aW1lKDApOworCisJCWRldi0+YmlkX2Rldm5vID0gc3Quc3RfcmRldjsKKwkJZGV2LT5iaWRfZmxhZ3MgfD0gQkxLSURfQklEX0ZMX1ZFUklGSUVEOworCQljYWNoZS0+YmljX2ZsYWdzIHw9IEJMS0lEX0JJQ19GTF9DSEFOR0VEOworCisJCWJsa2lkX3Byb2JlX3RvX3RhZ3MoY2FjaGUtPnByb2JlLCBkZXYpOworCisJCURCRyhQUk9CRSwgdWxfZGVidWcoIiVzOiBkZXZubyAweCUwNGxseCwgdHlwZSAlcyIsCisJCQkgICBkZXYtPmJpZF9uYW1lLCAobG9uZyBsb25nKXN0LnN0X3JkZXYsIGRldi0+YmlkX3R5cGUpKTsKKwl9CisKKwlibGtpZF9yZXNldF9wcm9iZShjYWNoZS0+cHJvYmUpOworCWJsa2lkX3Byb2JlX3Jlc2V0X3N1cGVyYmxvY2tzX2ZpbHRlcihjYWNoZS0+cHJvYmUpOworCWNsb3NlKGZkKTsKKwlyZXR1cm4gZGV2OworfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJYmxraWRfZGV2IGRldjsKKwlibGtpZF9jYWNoZSBjYWNoZTsKKwlpbnQgcmV0OworCisJaWYgKGFyZ2MgIT0gMikgeworCQlmcHJpbnRmKHN0ZGVyciwgIlVzYWdlOiAlcyBkZXZpY2VcbiIKKwkJCSJQcm9iZSBhIHNpbmdsZSBkZXZpY2UgdG8gZGV0ZXJtaW5lIHR5cGVcbiIsIGFyZ3ZbMF0pOworCQlleGl0KDEpOworCX0KKwlpZiAoKHJldCA9IGJsa2lkX2dldF9jYWNoZSgmY2FjaGUsICIvZGV2L251bGwiKSkgIT0gMCkgeworCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiBlcnJvciBjcmVhdGluZyBjYWNoZSAoJWQpXG4iLAorCQkJYXJndlswXSwgcmV0KTsKKwkJZXhpdCgxKTsKKwl9CisJZGV2ID0gYmxraWRfZ2V0X2RldihjYWNoZSwgYXJndlsxXSwgQkxLSURfREVWX05PUk1BTCk7CisJaWYgKCFkZXYpIHsKKwkJcHJpbnRmKCIlczogJXMgaGFzIGFuIHVuc3VwcG9ydGVkIHR5cGVcbiIsIGFyZ3ZbMF0sIGFyZ3ZbMV0pOworCQlyZXR1cm4gKDEpOworCX0KKwlwcmludGYoIlRZUEU9JyVzJ1xuIiwgZGV2LT5iaWRfdHlwZSA/IGRldi0+YmlkX3R5cGUgOiAiKG51bGwpIik7CisJaWYgKGRldi0+YmlkX2xhYmVsKQorCQlwcmludGYoIkxBQkVMPSclcydcbiIsIGRldi0+YmlkX2xhYmVsKTsKKwlpZiAoZGV2LT5iaWRfdXVpZCkKKwkJcHJpbnRmKCJVVUlEPSclcydcbiIsIGRldi0+YmlkX3V1aWQpOworCisJYmxraWRfZnJlZV9kZXYoZGV2KTsKKwlyZXR1cm4gKDApOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvdmVyc2lvbi5jIGIvbGliYmxraWQvc3JjL3ZlcnNpb24uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZDkyZGI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3ZlcnNpb24uYwpAQCAtMCwwICsxLDYyIEBACisvKgorICogdmVyc2lvbi5jIC0tLSBSZXR1cm4gdGhlIHZlcnNpb24gb2YgdGhlIGJsa2lkIGxpYnJhcnkKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQgVGhlb2RvcmUgVHMnby4KKyAqCisgKiAlQmVnaW4tSGVhZGVyJQorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsCisgKiBQdWJsaWMgTGljZW5zZS4KKyAqICVFbmQtSGVhZGVyJQorICovCisKKyNpZmRlZiBIQVZFX1VOSVNURF9ICisjaW5jbHVkZSA8dW5pc3RkLmg+CisjZW5kaWYKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisKKyNpbmNsdWRlICJibGtpZC5oIgorCisvKiBMSUJCTEtJRF8qIGRlZmluZWQgaW4gdGhlIGdsb2JhbCBjb25maWcuaCAqLworc3RhdGljIGNvbnN0IGNoYXIgKmxpYl92ZXJzaW9uID0gTElCQkxLSURfVkVSU0lPTjsJLyogcmVsZWFzZSB2ZXJzaW9uICovCitzdGF0aWMgY29uc3QgY2hhciAqbGliX2RhdGUgPSBMSUJCTEtJRF9EQVRFOworCisvKioKKyAqIGJsa2lkX3BhcnNlX3ZlcnNpb25fc3RyaW5nOgorICogQHZlcl9zdHJpbmc6ICB2ZXJzaW9uIHN0cmluZyAoZS5nLiAiMi4xNi4wIikKKyAqCisgKiBSZXR1cm5zOiByZWxlYXNlIHZlcnNpb24gY29kZS4KKyAqLworaW50IGJsa2lkX3BhcnNlX3ZlcnNpb25fc3RyaW5nKGNvbnN0IGNoYXIgKnZlcl9zdHJpbmcpCit7CisJY29uc3QgY2hhciAqY3A7CisJaW50IHZlcnNpb24gPSAwOworCisJZm9yIChjcCA9IHZlcl9zdHJpbmc7ICpjcDsgY3ArKykgeworCQlpZiAoKmNwID09ICcuJykKKwkJCWNvbnRpbnVlOworCQlpZiAoIWlzZGlnaXQoKmNwKSkKKwkJCWJyZWFrOworCQl2ZXJzaW9uID0gKHZlcnNpb24gKiAxMCkgKyAoKmNwIC0gJzAnKTsKKwl9CisJcmV0dXJuIHZlcnNpb247Cit9CisKKy8qKgorICogYmxraWRfZ2V0X2xpYnJhcnlfdmVyc2lvbjoKKyAqIEB2ZXJfc3RyaW5nOiByZXR1cm5zIHJlbGVhc2UgdmVyc2lvbiAoIT0gU09OQU1FIHZlcnNpb24pCisgKiBAZGF0ZV9zdHJpbmc6IHJldHVybnMgZGF0ZQorICoKKyAqIFJldHVybnM6IHJlbGVhc2UgdmVyc2lvbiBjb2RlLgorICovCitpbnQgYmxraWRfZ2V0X2xpYnJhcnlfdmVyc2lvbihjb25zdCBjaGFyICoqdmVyX3N0cmluZywKKwkJCSAgICAgICBjb25zdCBjaGFyICoqZGF0ZV9zdHJpbmcpCit7CisJaWYgKHZlcl9zdHJpbmcpCisJCSp2ZXJfc3RyaW5nID0gbGliX3ZlcnNpb247CisJaWYgKGRhdGVfc3RyaW5nKQorCQkqZGF0ZV9zdHJpbmcgPSBsaWJfZGF0ZTsKKworCXJldHVybiBibGtpZF9wYXJzZV92ZXJzaW9uX3N0cmluZyhsaWJfdmVyc2lvbik7Cit9CmRpZmYgLS1naXQgYS9saWJmZGlzay9DT1BZSU5HIGIvbGliZmRpc2svQ09QWUlORwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZTFhNWIzCi0tLSAvZGV2L251bGwKKysrIGIvbGliZmRpc2svQ09QWUlORwpAQCAtMCwwICsxLDggQEAKK1RoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKK21vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKK0xpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgordmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyCit2ZXJzaW9uLgorCitUaGUgY29tcGxldGUgdGV4dCBvZiB0aGUgbGljZW5zZSBpcyBhdmFpbGFibGUgaW4gdGhlCisuLi9Eb2N1bWVudGF0aW9uL2xpY2Vuc2VzL0NPUFlJTkcuTEdQTHYyLjEgZmlsZS4KZGlmZiAtLWdpdCBhL2xpYmZkaXNrL01ha2Vtb2R1bGUuYW0gYi9saWJmZGlzay9NYWtlbW9kdWxlLmFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkODMzNDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJmZGlzay9NYWtlbW9kdWxlLmFtCkBAIC0wLDAgKzEsMTQgQEAKK2lmIEJVSUxEX0xJQkZESVNLCisKK2luY2x1ZGUgbGliZmRpc2svc3JjL01ha2Vtb2R1bGUuYW0KKworaWYgRU5BQkxFX0dUS19ET0MKKyMgRG9jcyB1c2VzIHNlcGFyYXRlIE1ha2VmaWxlcworU1VCRElSUyArPSBsaWJmZGlzay9kb2NzCitlbmRpZgorCitwa2djb25maWdfREFUQSArPSBsaWJmZGlzay9mZGlzay5wYworUEFUSEZJTEVTICAgICAgKz0gbGliZmRpc2svZmRpc2sucGMKK0VYVFJBX0RJU1QgICAgICs9IGxpYmZkaXNrL0NPUFlJTkcKKworZW5kaWYgIyBCVUlMRF9MSUJGRElTSwpkaWZmIC0tZ2l0IGEvbGliZmRpc2svZG9jcy8uZ2l0aWdub3JlIGIvbGliZmRpc2svZG9jcy8uZ2l0aWdub3JlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5MWY5M2QKLS0tIC9kZXYvbnVsbAorKysgYi9saWJmZGlzay9kb2NzLy5naXRpZ25vcmUKQEAgLTAsMCArMSwxOCBAQAorKi1kZWNsLWxpc3QudHh0CisqLWRlY2wudHh0CisqLW92ZXJyaWRlcy50eHQKKyotdW5kZWNsYXJlZC50eHQKKyotdW5kb2N1bWVudGVkLnR4dAorKi11bnVzZWQudHh0CisqLmFyZ3MKKyouYmFrCisqLmhpZXJhcmNoeQorKi5pbnRlcmZhY2VzCisqLnByZXJlcXVpc2l0ZXMKKyouc2lnbmFscworKi5zdGFtcAorKi50eXBlcworaHRtbC8qCit0bXBsLyoKK3ZlcnNpb24ueG1sCit4bWwvKgpkaWZmIC0tZ2l0IGEvbGliZmRpc2svZG9jcy9NYWtlZmlsZS5hbSBiL2xpYmZkaXNrL2RvY3MvTWFrZWZpbGUuYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGM3MDk3OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmZkaXNrL2RvY3MvTWFrZWZpbGUuYW0KQEAgLTAsMCArMSw5MyBAQAorIyMgUHJvY2VzcyB0aGlzIGZpbGUgd2l0aCBhdXRvbWFrZSB0byBwcm9kdWNlIE1ha2VmaWxlLmluCisKKyMgV2UgcmVxdWlyZSBhdXRvbWFrZSAxLjEwIGF0IGxlYXN0LgorQVVUT01BS0VfT1BUSU9OUyA9IDEuMTAKKworIyBUaGlzIGlzIGEgYmxhbmsgTWFrZWZpbGUuYW0gZm9yIHVzaW5nIGd0ay1kb2MuCisjIENvcHkgdGhpcyB0byB5b3VyIHByb2plY3QncyBBUEkgZG9jcyBkaXJlY3RvcnkgYW5kIG1vZGlmeSB0aGUgdmFyaWFibGVzIHRvCisjIHN1aXQgeW91ciBwcm9qZWN0LiBTZWUgdGhlIEdUSysgTWFrZWZpbGVzIGluIGd0aysvZG9jcy9yZWZlcmVuY2UgZm9yIGV4YW1wbGVzCisjIG9mIHVzaW5nIHRoZSB2YXJpb3VzIG9wdGlvbnMuCisKKyMgVGhlIG5hbWUgb2YgdGhlIG1vZHVsZSwgZS5nLiAnZ2xpYicuCitET0NfTU9EVUxFPWxpYmZkaXNrCisKKyMgVW5jb21tZW50IGZvciB2ZXJzaW9uZWQgZG9jcyBhbmQgc3BlY2lmeSB0aGUgdmVyc2lvbiBvZiB0aGUgbW9kdWxlLCBlLmcuICcyJy4KKyNET0NfTU9EVUxFX1ZFUlNJT049MgorCisjIFRoZSB0b3AtbGV2ZWwgU0dNTCBmaWxlLiBZb3UgY2FuIGNoYW5nZSB0aGlzIGlmIHlvdSB3YW50IHRvLgorRE9DX01BSU5fU0dNTF9GSUxFPSQoRE9DX01PRFVMRSktZG9jcy54bWwKKworIyBUaGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIHNvdXJjZSBjb2RlLiBSZWxhdGl2ZSB0byAkKHNyY2RpcikuCisjIGd0ay1kb2Mgd2lsbCBzZWFyY2ggYWxsIC5jICYgLmggZmlsZXMgYmVuZWF0aCBoZXJlIGZvciBpbmxpbmUgY29tbWVudHMKKyMgZG9jdW1lbnRpbmcgdGhlIGZ1bmN0aW9ucyBhbmQgbWFjcm9zLgorIyBlLmcuIERPQ19TT1VSQ0VfRElSPS4uLy4uLy4uL2d0aworRE9DX1NPVVJDRV9ESVI9Li4vc3JjCisKKyMgRXh0cmEgb3B0aW9ucyB0byBwYXNzIHRvIGd0a2RvYy1zY2FuZ29iai4gTm90IG5vcm1hbGx5IG5lZWRlZC4KK1NDQU5HT0JKX09QVElPTlM9CisKKyMgRXh0cmEgb3B0aW9ucyB0byBzdXBwbHkgdG8gZ3RrZG9jLXNjYW4uCisjIGUuZy4gU0NBTl9PUFRJT05TPS0tZGVwcmVjYXRlZC1ndWFyZHM9IkdUS19ESVNBQkxFX0RFUFJFQ0FURUQiCitTQ0FOX09QVElPTlM9CisKKyMgRXh0cmEgb3B0aW9ucyB0byBzdXBwbHkgdG8gZ3RrZG9jLW1rZGIuCisjIGUuZy4gTUtEQl9PUFRJT05TPS0tc2dtbC1tb2RlIC0tb3V0cHV0LWZvcm1hdD14bWwKK01LREJfT1BUSU9OUz0tLXNnbWwtbW9kZSAtLW91dHB1dC1mb3JtYXQ9eG1sIC0tbmFtZS1zcGFjZSBmZGlzaworCisjIEV4dHJhIG9wdGlvbnMgdG8gc3VwcGx5IHRvIGd0a2RvYy1ta3RtcGwKKyMgZS5nLiBNS1RNUExfT1BUSU9OUz0tLW9ubHktc2VjdGlvbi10bXBsCitNS1RNUExfT1BUSU9OUz0KKworIyBFeHRyYSBvcHRpb25zIHRvIHN1cHBseSB0byBndGtkb2MtbWtodG1sCitNS0hUTUxfT1BUSU9OUz0KKworIyBFeHRyYSBvcHRpb25zIHRvIHN1cHBseSB0byBndGtkb2MtZml4cmVmLiBOb3Qgbm9ybWFsbHkgbmVlZGVkLgorIyBlLmcuIEZJWFhSRUZfT1BUSU9OUz0tLWV4dHJhLWRpcj0uLi9nZGstcGl4YnVmL2h0bWwgLS1leHRyYS1kaXI9Li4vZ2RrL2h0bWwKK0ZJWFhSRUZfT1BUSU9OUz0KKworIyBVc2VkIGZvciBkZXBlbmRlbmNpZXMuIFRoZSBkb2NzIHdpbGwgYmUgcmVidWlsdCBpZiBhbnkgb2YgdGhlc2UgY2hhbmdlLgorIyBlLmcuIEhGSUxFX0dMT0I9JCh0b3Bfc3JjZGlyKS9ndGsvKi5oCisjIGUuZy4gQ0ZJTEVfR0xPQj0kKHRvcF9zcmNkaXIpL2d0ay8qLmMKK0hGSUxFX0dMT0I9JCh0b3BfYnVpbGRkaXIpL2xpYmZkaXNrL3NyYy9saWJmZGlzay5oCitDRklMRV9HTE9CPSQodG9wX3NyY2RpcikvbGliZmRpc2svc3JjLyouYworCisjIEV4dHJhIGhlYWRlciB0byBpbmNsdWRlIHdoZW4gc2Nhbm5pbmcsIHdoaWNoIGFyZSBub3QgdW5kZXIgRE9DX1NPVVJDRV9ESVIKKyMgZS5nLiBFWFRSQV9IRklMRVM9JCh0b3Bfc3JjZGlyfS9jb250cmliL2V4dHJhLmgKK0VYVFJBX0hGSUxFUz0KKworIyBIZWFkZXIgZmlsZXMgdG8gaWdub3JlIHdoZW4gc2Nhbm5pbmcuIFVzZSBiYXNlIGZpbGUgbmFtZSwgbm8gcGF0aHMKKyMgZS5nLiBJR05PUkVfSEZJTEVTPWd0a2RlYnVnLmggZ3RraW50bC5oCitJR05PUkVfSEZJTEVTPWZkaXNrUC5oCisKKyMgSW1hZ2VzIHRvIGNvcHkgaW50byBIVE1MIGRpcmVjdG9yeS4KKyMgZS5nLiBIVE1MX0lNQUdFUz0kKHRvcF9zcmNkaXIpL2d0ay9zdG9jay1pY29ucy9zdG9ja19hYm91dF8yNC5wbmcKK0hUTUxfSU1BR0VTPQorCisjIEV4dHJhIFNHTUwgZmlsZXMgdGhhdCBhcmUgaW5jbHVkZWQgYnkgJChET0NfTUFJTl9TR01MX0ZJTEUpLgorIyBlLmcuIGNvbnRlbnRfZmlsZXM9cnVubmluZy5zZ21sIGJ1aWxkaW5nLnNnbWwgY2hhbmdlcy0yLjAuc2dtbAorY29udGVudF9maWxlcyA9ICQoYnVpbGRkaXIpL3ZlcnNpb24ueG1sCisKKyMgU0dNTCBmaWxlcyB3aGVyZSBndGstZG9jIGFiYnJldmF0aW9ucyAoI0d0a1dpZGdldCkgYXJlIGV4cGFuZGVkCisjIFRoZXNlIGZpbGVzIG11c3QgYmUgbGlzdGVkIGhlcmUgKmFuZCogaW4gY29udGVudF9maWxlcworIyBlLmcuIGV4cGFuZF9jb250ZW50X2ZpbGVzPXJ1bm5pbmcuc2dtbAorZXhwYW5kX2NvbnRlbnRfZmlsZXM9CisKKyMgQ0ZMQUdTIGFuZCBMREZMQUdTIGZvciBjb21waWxpbmcgZ3RrZG9jLXNjYW5nb2JqIHdpdGggeW91ciBsaWJyYXJ5LgorIyBPbmx5IG5lZWRlZCBpZiB5b3UgYXJlIHVzaW5nIGd0a2RvYy1zY2FuZ29iaiB0byBkeW5hbWljYWxseSBxdWVyeSB3aWRnZXQKKyMgc2lnbmFscyBhbmQgcHJvcGVydGllcy4KKyMgZS5nLiBHVEtET0NfQ0ZMQUdTPS1JJCh0b3Bfc3JjZGlyKSAtSSQodG9wX2J1aWxkZGlyKSAkKEdUS19ERUJVR19GTEFHUykKKyMgZS5nLiBHVEtET0NfTElCUz0kKHRvcF9idWlsZGRpcikvZ3RrLyQoZ3RrdGFyZ2V0bGliKQorR1RLRE9DX0NGTEFHUz0KK0dUS0RPQ19MSUJTPQorCisjIFRoaXMgaW5jbHVkZXMgdGhlIHN0YW5kYXJkIGd0ay1kb2MgbWFrZSBydWxlcywgY29waWVkIGJ5IGd0a2RvY2l6ZS4KK2luY2x1ZGUgJCh0b3Bfc3JjZGlyKS9jb25maWcvZ3RrLWRvYy5tYWtlCisKKyMgT3RoZXIgZmlsZXMgdG8gZGlzdHJpYnV0ZQorIyBlLmcuIEVYVFJBX0RJU1QgKz0gdmVyc2lvbi54bWwuaW4KK0VYVFJBX0RJU1QgKz0gdmVyc2lvbi54bWwuaW4KKworIyBGaWxlcyBub3QgdG8gZGlzdHJpYnV0ZQorIyBmb3IgLS1yZWJ1aWxkLXR5cGVzIGluICQoU0NBTl9PUFRJT05TKSwgZS5nLiAkKERPQ19NT0RVTEUpLnR5cGVzCisjIGZvciAtLXJlYnVpbGQtc2VjdGlvbnMgaW4gJChTQ0FOX09QVElPTlMpIGUuZy4gJChET0NfTU9EVUxFKS1zZWN0aW9ucy50eHQKK0RJU1RDTEVBTkZJTEVTICs9IHZlcnNpb24ueG1sCmRpZmYgLS1naXQgYS9saWJmZGlzay9kb2NzL2xpYmZkaXNrLWRvY3MueG1sIGIvbGliZmRpc2svZG9jcy9saWJmZGlzay1kb2NzLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kY2U3NTE2Ci0tLSAvZGV2L251bGwKKysrIGIvbGliZmRpc2svZG9jcy9saWJmZGlzay1kb2NzLnhtbApAQCAtMCwwICsxLDcwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBib29rIFBVQkxJQyAiLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC4zLy9FTiIKKyAgICAgICAgICAgICAgICJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuMy9kb2Nib29reC5kdGQiCitbCisgIDwhRU5USVRZIHZlcnNpb24gU1lTVEVNICJ2ZXJzaW9uLnhtbCI+CitdPgorPGJvb2sgaWQ9ImluZGV4IiB4bWxuczp4aT0iaHR0cDovL3d3dy53My5vcmcvMjAwMy9YSW5jbHVkZSI+CisgIDxib29raW5mbz4KKyAgICA8dGl0bGU+bGliZmRpc2sgUmVmZXJlbmNlIE1hbnVhbDwvdGl0bGU+CisgICAgPHJlbGVhc2VpbmZvPmZvciBsaWJmZGlzayB2ZXJzaW9uICZ2ZXJzaW9uOzwvcmVsZWFzZWluZm8+CisgICAgPGNvcHlyaWdodD4KKyAgICAgIDx5ZWFyPjIwMTQtMjAxNTwveWVhcj4KKyAgICAgIDxob2xkZXI+S2FyZWwgWmFrICZsdDtremFrQHJlZGhhdC5jb20mZ3Q7PC9ob2xkZXI+CisgICAgPC9jb3B5cmlnaHQ+CisgIDwvYm9va2luZm8+CisKKyAgPHBhcnQgaWQ9Im92ZXIiPgorICAgIDx0aXRsZT5saWJmZGlzayBPdmVydmlldzwvdGl0bGU+CisgICAgPHBhcnRpbnRybz4KKyAgICA8cGFyYT4KK1RoZSBsaWJmZGlzayBsaWJyYXJ5IGlzIHVzZWQgZm9yIG1hbmlwdWxhdGluZyB3aXRoIHBhcnRpdGlvbiB0YWJsZXMuCisgICAgPC9wYXJhPgorICAgIDxwYXJhPgorVGhlIGxpYnJhcnkgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIHNpbmNlIHZlcnNpb24gMi4yNiBhbmQgaXMKK2F2YWlsYWJsZSBmcm9tIGZ0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KKyAgICA8L3BhcmE+CisgIDwvcGFydGludHJvPgorIDwvcGFydD4KKworICA8cGFydD4KKyAgICA8dGl0bGU+QmFzaWMgaGFuZGxlcnMgYW5kIHNldHRpbmc8L3RpdGxlPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9jb250ZXh0LnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9hc2sueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2FsaWdubWVudC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvc2NyaXB0LnhtbCIvPgorICA8L3BhcnQ+CisgICA8cGFydD4KKyAgICA8dGl0bGU+UGFydGl0aW9uaW5nPC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvbGFiZWwueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL3BhcnRpdGlvbi54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvdGFibGUueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL3BhcnR0eXBlLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9pdGVtLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9maWVsZC54bWwiLz4KKyAgPC9wYXJ0PgorICA8cGFydD4KKyAgICA8dGl0bGU+TGFiZWwgc3BlY2lmaWMgZnVuY3Rpb25zPC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvZG9zLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9ncHQueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL3N1bi54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvc2dpLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9ic2QueG1sIi8+CisgIDwvcGFydD4KKyAgPHBhcnQ+CisgICAgPHRpdGxlPk1pc2M8L3RpdGxlPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9pdGVyLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC91dGlscy54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvaW5pdC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvdmVyc2lvbi11dGlscy54bWwiLz4KKworICA8L3BhcnQ+CisgIDxpbmRleCBpZD0iYXBpLWluZGV4Ij4KKyAgICA8dGl0bGU+QVBJIEluZGV4PC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvYXBpLWluZGV4LWZ1bGwueG1sIj48eGk6ZmFsbGJhY2sgLz48L3hpOmluY2x1ZGU+CisgIDwvaW5kZXg+CisgIDxpbmRleCByb2xlPSIyLjI5Ij4KKyAgICA8dGl0bGU+SW5kZXggb2YgbmV3IHN5bWJvbHMgaW4gMi4yOTwvdGl0bGU+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2FwaS1pbmRleC0yLjI5LnhtbCI+PHhpOmZhbGxiYWNrIC8+PC94aTppbmNsdWRlPgorICA8L2luZGV4PgorPC9ib29rPgpkaWZmIC0tZ2l0IGEvbGliZmRpc2svZG9jcy9saWJmZGlzay1zZWN0aW9ucy50eHQgYi9saWJmZGlzay9kb2NzL2xpYmZkaXNrLXNlY3Rpb25zLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MmE3ZGNhCi0tLSAvZGV2L251bGwKKysrIGIvbGliZmRpc2svZG9jcy9saWJmZGlzay1zZWN0aW9ucy50eHQKQEAgLTAsMCArMSwzNjcgQEAKKzxTRUNUSU9OPgorPEZJTEU+aW5pdDwvRklMRT4KK2ZkaXNrX2luaXRfZGVidWcKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT52ZXJzaW9uLXV0aWxzPC9GSUxFPgorTElCRkRJU0tfTUFKT1JfVkVSU0lPTgorTElCRkRJU0tfTUlOT1JfVkVSU0lPTgorTElCRkRJU0tfUEFUQ0hfVkVSU0lPTgorZmRpc2tfcGFyc2VfdmVyc2lvbl9zdHJpbmcKK2ZkaXNrX2dldF9saWJyYXJ5X3ZlcnNpb24KK2ZkaXNrX2dldF9saWJyYXJ5X2ZlYXR1cmVzCitMSUJGRElTS19WRVJTSU9OCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+YXNrPC9GSUxFPgorZmRpc2tfaW5mbworZmRpc2tfd2FybgorZmRpc2tfd2FybngKK2ZkaXNrX3NldF9hc2sKKzxTVUJTRUNUSU9OPgorZmRpc2tfYXNrCitmZGlza19pc19hc2sKK2ZkaXNrX2Fza19nZXRfcXVlcnkKK2ZkaXNrX2Fza19nZXRfdHlwZQorZmRpc2tfYXNrX21lbnVfZ2V0X2RlZmF1bHQKK2ZkaXNrX2Fza19tZW51X2dldF9pdGVtCitmZGlza19hc2tfbWVudV9nZXRfbml0ZW1zCitmZGlza19hc2tfbWVudV9nZXRfcmVzdWx0CitmZGlza19hc2tfbWVudV9zZXRfcmVzdWx0CitmZGlza19hc2tfbnVtYmVyCitmZGlza19hc2tfbnVtYmVyX2dldF9iYXNlCitmZGlza19hc2tfbnVtYmVyX2dldF9kZWZhdWx0CitmZGlza19hc2tfbnVtYmVyX2dldF9oaWdoCitmZGlza19hc2tfbnVtYmVyX2dldF9sb3cKK2ZkaXNrX2Fza19udW1iZXJfZ2V0X3JhbmdlCitmZGlza19hc2tfbnVtYmVyX2dldF9yZXN1bHQKK2ZkaXNrX2Fza19udW1iZXJfZ2V0X3VuaXQKK2ZkaXNrX2Fza19udW1iZXJfaW5jaGFycworZmRpc2tfYXNrX251bWJlcl9zZXRfcmVsYXRpdmUKK2ZkaXNrX2Fza19udW1iZXJfc2V0X3Jlc3VsdAorZmRpc2tfYXNrX3BhcnRudW0KK2ZkaXNrX2Fza19wcmludF9nZXRfZXJybm8KK2ZkaXNrX2Fza19wcmludF9nZXRfbWVzZworZmRpc2tfYXNrX3N0cmluZworZmRpc2tfYXNrX3N0cmluZ19nZXRfcmVzdWx0CitmZGlza19hc2tfc3RyaW5nX3NldF9yZXN1bHQKK2ZkaXNrX2Fza195ZXNubworZmRpc2tfYXNrX3llc25vX2dldF9yZXN1bHQKK2ZkaXNrX2Fza195ZXNub19zZXRfcmVzdWx0CitmZGlza19hc2t0eXBlCitmZGlza19yZWZfYXNrCitmZGlza191bnJlZl9hc2sKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5hbGlnbm1lbnQ8L0ZJTEU+CitGRElTS19BTElHTl9ET1dOCitGRElTS19BTElHTl9ORUFSRVNUCitGRElTS19BTElHTl9VUAorZmRpc2tfc2VjdG9yX3QKK2ZkaXNrX2FsaWduX2xiYQorZmRpc2tfYWxpZ25fbGJhX2luX3JhbmdlCitmZGlza19oYXNfdXNlcl9kZXZpY2VfcHJvcGVydGllcworZmRpc2tfbGJhX2lzX3BoeV9hbGlnbmVkCitmZGlza19vdmVycmlkZV9nZW9tZXRyeQorZmRpc2tfcmVyZWFkX3BhcnRpdGlvbl90YWJsZQorZmRpc2tfcmVzZXRfYWxpZ25tZW50CitmZGlza19yZXNldF9kZXZpY2VfcHJvcGVydGllcworZmRpc2tfc2F2ZV91c2VyX2dlb21ldHJ5CitmZGlza19zYXZlX3VzZXJfc2VjdG9yX3NpemUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5sYWJlbDwvRklMRT4KK2ZkaXNrX2NyZWF0ZV9kaXNrbGFiZWwKK2ZkaXNrX2xpc3RfZGlza2xhYmVsCitmZGlza19sb2NhdGVfZGlza2xhYmVsCitmZGlza19yZW9yZGVyX3BhcnRpdGlvbnMKK2ZkaXNrX3NldF9kaXNrbGFiZWxfaWQKK2ZkaXNrX3NldF9wYXJ0aXRpb25fdHlwZQorZmRpc2tfdG9nZ2xlX3BhcnRpdGlvbl9mbGFnCitmZGlza192ZXJpZnlfZGlza2xhYmVsCitmZGlza193cml0ZV9kaXNrbGFiZWwKKzxTVUJTRUNUSU9OPgorZmRpc2tfZ2V0X2Rpc2tsYWJlbF9pZAorZmRpc2tfZ2V0X2xhYmVsCitmZGlza19nZXRfbmxhYmVscworZmRpc2tfbmV4dF9sYWJlbAorZmRpc2tfZ2V0X25wYXJ0aXRpb25zCis8U1VCU0VDVElPTj4KK2ZkaXNrX2xhYmVsCitmZGlza19pc19sYWJlbAorZmRpc2tfbGFiZWxfZ2V0X2ZpZWxkCitmZGlza19sYWJlbF9nZXRfZmllbGRfYnlfbmFtZQorZmRpc2tfbGFiZWxfZ2V0X2ZpZWxkc19pZHMKK2ZkaXNrX2xhYmVsX2dldF9maWVsZHNfaWRzX2FsbAorZmRpc2tfbGFiZWxfZ2V0X25hbWUKK2ZkaXNrX2xhYmVsX2dldF9ucGFydHR5cGVzCitmZGlza19sYWJlbF9nZXRfcGFydHR5cGUKK2ZkaXNrX2xhYmVsX2dldF9wYXJ0dHlwZV9mcm9tX2NvZGUKK2ZkaXNrX2xhYmVsX2dldF9wYXJ0dHlwZV9mcm9tX3N0cmluZworZmRpc2tfbGFiZWxfZ2V0X3R5cGUKK2ZkaXNrX2xhYmVsX2hhc19jb2RlX3BhcnR0eXBlcworZmRpc2tfbGFiZWxfaXNfY2hhbmdlZAorZmRpc2tfbGFiZWxfaXNfZGlzYWJsZWQKK2ZkaXNrX2xhYmVsX3BhcnNlX3BhcnR0eXBlCitmZGlza19sYWJlbF9yZXF1aXJlX2dlb21ldHJ5CitmZGlza19sYWJlbF9zZXRfY2hhbmdlZAorZmRpc2tfbGFiZWxfc2V0X2Rpc2FibGVkCitmZGlza19sYWJlbHR5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5zY3JpcHQ8L0ZJTEU+CitmZGlza19zZXRfc2NyaXB0CitmZGlza19nZXRfc2NyaXB0Cis8U1VCU0VDVElPTj4KK2ZkaXNrX2FwcGx5X3NjcmlwdAorZmRpc2tfYXBwbHlfc2NyaXB0X2hlYWRlcnMKKzxTVUJTRUNUSU9OPgorZmRpc2tfc2NyaXB0CitmZGlza19uZXdfc2NyaXB0CitmZGlza19uZXdfc2NyaXB0X2Zyb21fZmlsZQorZmRpc2tfcmVmX3NjcmlwdAorZmRpc2tfc2NyaXB0X2VuYWJsZV9qc29uCitmZGlza19zY3JpcHRfZ2V0X2hlYWRlcgorZmRpc2tfc2NyaXB0X2dldF9ubGluZXMKK2ZkaXNrX3NjcmlwdF9nZXRfdGFibGUKK2ZkaXNrX3NjcmlwdF9yZWFkX2NvbnRleHQKK2ZkaXNrX3NjcmlwdF9yZWFkX2ZpbGUKK2ZkaXNrX3NjcmlwdF9yZWFkX2xpbmUKK2ZkaXNrX3NjcmlwdF9zZXRfaGVhZGVyCitmZGlza19zY3JpcHRfc2V0X2ZnZXRzCitmZGlza19zY3JpcHRfd3JpdGVfZmlsZQorZmRpc2tfc2NyaXB0X3NldF91c2VyZGF0YQorZmRpc2tfc2NyaXB0X2dldF91c2VyZGF0YQorZmRpc2tfdW5yZWZfc2NyaXB0Cis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+YnNkPC9GSUxFPgorZmRpc2tfYnNkX2VkaXRfZGlza2xhYmVsCitmZGlza19ic2RfbGlua19wYXJ0aXRpb24KK2ZkaXNrX2JzZF93cml0ZV9ib290c3RyYXAKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5wYXJ0aXRpb248L0ZJTEU+CitmZGlza19hZGRfcGFydGl0aW9uCitmZGlza19kZWxldGVfYWxsX3BhcnRpdGlvbnMKK2ZkaXNrX2RlbGV0ZV9wYXJ0aXRpb24KK2ZkaXNrX2dldF9wYXJ0aXRpb24KK2ZkaXNrX2lzX3BhcnRpdGlvbl91c2VkCitmZGlza19zZXRfcGFydGl0aW9uCitmZGlza193aXBlX3BhcnRpdGlvbgorPFNVQlNFQ1RJT04+CitmZGlza19wYXJ0aXRpb24KK2ZkaXNrX25ld19wYXJ0aXRpb24KK2ZkaXNrX3BhcnRpdGlvbl9jbXBfcGFydG5vCitmZGlza19wYXJ0aXRpb25fY21wX3N0YXJ0CitmZGlza19wYXJ0aXRpb25fZW5kX2ZvbGxvd19kZWZhdWx0CitmZGlza19wYXJ0aXRpb25fZW5kX2lzX2RlZmF1bHQKK2ZkaXNrX3BhcnRpdGlvbl9nZXRfYXR0cnMKK2ZkaXNrX3BhcnRpdGlvbl9nZXRfZW5kCitmZGlza19wYXJ0aXRpb25fZ2V0X25hbWUKK2ZkaXNrX3BhcnRpdGlvbl9nZXRfcGFyZW50CitmZGlza19wYXJ0aXRpb25fZ2V0X3BhcnRubworZmRpc2tfcGFydGl0aW9uX2dldF9zaXplCitmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0CitmZGlza19wYXJ0aXRpb25fZ2V0X3R5cGUKK2ZkaXNrX3BhcnRpdGlvbl9nZXRfdXVpZAorZmRpc2tfcGFydGl0aW9uX2hhc19lbmQKK2ZkaXNrX3BhcnRpdGlvbl9oYXNfcGFydG5vCitmZGlza19wYXJ0aXRpb25faGFzX3NpemUKK2ZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQKK2ZkaXNrX3BhcnRpdGlvbl9pc19ib290YWJsZQorZmRpc2tfcGFydGl0aW9uX2lzX2NvbnRhaW5lcgorZmRpc2tfcGFydGl0aW9uX2lzX2ZyZWVzcGFjZQorZmRpc2tfcGFydGl0aW9uX2lzX25lc3RlZAorZmRpc2tfcGFydGl0aW9uX2lzX3VzZWQKK2ZkaXNrX3BhcnRpdGlvbl9pc193aG9sZWRpc2sKK2ZkaXNrX3BhcnRpdGlvbl9uZXh0X3BhcnRubworZmRpc2tfcGFydGl0aW9uX3BhcnRub19mb2xsb3dfZGVmYXVsdAorZmRpc2tfcGFydGl0aW9uX3NldF9hdHRycworZmRpc2tfcGFydGl0aW9uX3NldF9uYW1lCitmZGlza19wYXJ0aXRpb25fc2V0X3BhcnRubworZmRpc2tfcGFydGl0aW9uX3NldF9zaXplCitmZGlza19wYXJ0aXRpb25fc2V0X3N0YXJ0CitmZGlza19wYXJ0aXRpb25fc2V0X3R5cGUKK2ZkaXNrX3BhcnRpdGlvbl9zZXRfdXVpZAorZmRpc2tfcGFydGl0aW9uX3NpemVfZXhwbGljaXQKK2ZkaXNrX3BhcnRpdGlvbl9zdGFydF9mb2xsb3dfZGVmYXVsdAorZmRpc2tfcGFydGl0aW9uX3N0YXJ0X2lzX2RlZmF1bHQKK2ZkaXNrX3BhcnRpdGlvbl90b19zdHJpbmcKK2ZkaXNrX3BhcnRpdGlvbl91bnNldF9wYXJ0bm8KK2ZkaXNrX3BhcnRpdGlvbl91bnNldF9zaXplCitmZGlza19wYXJ0aXRpb25fdW5zZXRfc3RhcnQKK2ZkaXNrX3JlZl9wYXJ0aXRpb24KK2ZkaXNrX3Jlc2V0X3BhcnRpdGlvbgorZmRpc2tfdW5yZWZfcGFydGl0aW9uCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+ZG9zPC9GSUxFPgorRE9TX0ZMQUdfQUNUSVZFCitmZGlza19kb3NfZW5hYmxlX2NvbXBhdGlibGUKK2ZkaXNrX2Rvc19pc19jb21wYXRpYmxlCitmZGlza19kb3NfbW92ZV9iZWdpbgorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPnNnaTwvRklMRT4KK1NHSV9GTEFHX0JPT1QKK1NHSV9GTEFHX1NXQVAKK2ZkaXNrX3NnaV9jcmVhdGVfaW5mbworZmRpc2tfc2dpX3NldF9ib290ZmlsZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPmdwdDwvRklMRT4KK2ZkaXNrX2dwdF9pc19oeWJyaWQKK2ZkaXNrX2dwdF9nZXRfcGFydGl0aW9uX2F0dHJzCitmZGlza19ncHRfc2V0X3BhcnRpdGlvbl9hdHRycworZmRpc2tfZ3B0X3NldF9ucGFydGl0aW9ucworR1BUX0ZMQUdfUkVRVUlSRUQKK0dQVF9GTEFHX05PQkxPQ0sKK0dQVF9GTEFHX0xFR0FDWUJPT1QKK0dQVF9GTEFHX0dVSURTUEVDSUZJQworPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPnN1bjwvRklMRT4KK2ZkaXNrX3N1bl9zZXRfYWx0X2N5bAorZmRpc2tfc3VuX3NldF9pbGZhY3QKK2ZkaXNrX3N1bl9zZXRfcGN5bGNvdW50CitmZGlza19zdW5fc2V0X3JzcGVlZAorZmRpc2tfc3VuX3NldF94Y3lsCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+cGFydHR5cGU8L0ZJTEU+CitmZGlza19wYXJ0dHlwZQorZmRpc2tfY29weV9wYXJ0dHlwZQorZmRpc2tfbmV3X3BhcnR0eXBlCitmZGlza19uZXdfdW5rbm93bl9wYXJ0dHlwZQorZmRpc2tfcGFydHR5cGVfZ2V0X2NvZGUKK2ZkaXNrX3BhcnR0eXBlX2dldF9uYW1lCitmZGlza19wYXJ0dHlwZV9nZXRfc3RyaW5nCitmZGlza19wYXJ0dHlwZV9pc191bmtub3duCitmZGlza19wYXJ0dHlwZV9zZXRfY29kZQorZmRpc2tfcGFydHR5cGVfc2V0X25hbWUKK2ZkaXNrX3BhcnR0eXBlX3NldF90eXBlc3RyCitmZGlza19yZWZfcGFydHR5cGUKK2ZkaXNrX3VucmVmX3BhcnR0eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+dGFibGU8L0ZJTEU+CitmZGlza19nZXRfZnJlZXNwYWNlcworZmRpc2tfZ2V0X3BhcnRpdGlvbnMKKzxTVUJTRUNUSU9OPgorZmRpc2tfdGFibGUKK2ZkaXNrX2FwcGx5X3RhYmxlCitmZGlza19uZXdfdGFibGUKK2ZkaXNrX3JlZl90YWJsZQorZmRpc2tfcmVzZXRfdGFibGUKK2ZkaXNrX3RhYmxlX2FkZF9wYXJ0aXRpb24KK2ZkaXNrX3RhYmxlX2dldF9uZW50cworZmRpc2tfdGFibGVfZ2V0X3BhcnRpdGlvbgorZmRpc2tfdGFibGVfZ2V0X3BhcnRpdGlvbl9ieV9wYXJ0bm8KK2ZkaXNrX3RhYmxlX2lzX2VtcHR5CitmZGlza190YWJsZV9uZXh0X3BhcnRpdGlvbgorZmRpc2tfdGFibGVfcmVtb3ZlX3BhcnRpdGlvbgorZmRpc2tfdGFibGVfc29ydF9wYXJ0aXRpb25zCitmZGlza190YWJsZV93cm9uZ19vcmRlcgorZmRpc2tfdW5yZWZfdGFibGUKKzwvU0VDVElPTj4KKworCis8U0VDVElPTj4KKzxGSUxFPmNvbnRleHQ8L0ZJTEU+CitmZGlza19jb250ZXh0CitmZGlza19hc3NpZ25fZGV2aWNlCitmZGlza19kZWFzc2lnbl9kZXZpY2UKK2ZkaXNrX2VuYWJsZV9ib290Yml0c19wcm90ZWN0aW9uCitmZGlza19lbmFibGVfZGV0YWlscworZmRpc2tfZW5hYmxlX2xpc3Rvbmx5CitmZGlza19lbmFibGVfd2lwZQorZmRpc2tfZ2V0X2FsaWdubWVudF9vZmZzZXQKK2ZkaXNrX2dldF9jb2xsaXNpb24KK2ZkaXNrX2dldF9kZXZmZAorZmRpc2tfZ2V0X2Rldm5hbWUKK2ZkaXNrX2dldF9maXJzdF9sYmEKK2ZkaXNrX2dldF9nZW9tX2N5bGluZGVycworZmRpc2tfZ2V0X2dlb21faGVhZHMKK2ZkaXNrX2dldF9nZW9tX3NlY3RvcnMKK2ZkaXNrX2dldF9ncmFpbl9zaXplCitmZGlza19nZXRfbGFzdF9sYmEKK2ZkaXNrX2dldF9taW5pbWFsX2lvc2l6ZQorZmRpc2tfZ2V0X25zZWN0b3JzCitmZGlza19nZXRfb3B0aW1hbF9pb3NpemUKK2ZkaXNrX2dldF9wYXJlbnQKK2ZkaXNrX2dldF9waHlzZWN0b3Jfc2l6ZQorZmRpc2tfZ2V0X3NlY3Rvcl9zaXplCitmZGlza19nZXRfc2l6ZV91bml0CitmZGlza19nZXRfdW5pdAorZmRpc2tfZ2V0X3VuaXRzX3Blcl9zZWN0b3IKK2ZkaXNrX2hhc19sYWJlbAorZmRpc2tfaGFzX3Byb3RlY3RlZF9ib290Yml0cworZmRpc2tfaGFzX3dpcGUKK2ZkaXNrX2lzX2RldGFpbHMKK2ZkaXNrX2lzX2xhYmVsdHlwZQorZmRpc2tfaXNfbGlzdG9ubHkKK2ZkaXNrX2lzX3JlYWRvbmx5CitmZGlza19uZXdfY29udGV4dAorZmRpc2tfbmV3X25lc3RlZF9jb250ZXh0CitGRElTS19QTFVSQUwKK2ZkaXNrX3JlZl9jb250ZXh0CitmZGlza19zZXRfZmlyc3RfbGJhCitmZGlza19zZXRfbGFzdF9sYmEKK2ZkaXNrX3NldF9zaXplX3VuaXQKK2ZkaXNrX3NldF91bml0CitGRElTS19TSU5HVUxBUgorZmRpc2tfdW5yZWZfY29udGV4dAorZmRpc2tfdXNlX2N5bGluZGVycworPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPnV0aWxzPC9GSUxFPgorZmRpc2tfcGFydG5hbWUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5pdGVyPC9GSUxFPgorZmRpc2tfaXRlcgorZmRpc2tfZnJlZV9pdGVyCitmZGlza19pdGVyX2dldF9kaXJlY3Rpb24KK2ZkaXNrX25ld19pdGVyCitmZGlza19yZXNldF9pdGVyCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+aXRlbTwvRklMRT4KK2ZkaXNrX25ld19sYWJlbGl0ZW0KK2ZkaXNrX3JlZl9sYWJlbGl0ZW0KK2ZkaXNrX3Jlc2V0X2xhYmVsaXRlbQorZmRpc2tfdW5yZWZfbGFiZWxpdGVtCitmZGlza19sYWJlbGl0ZW1fZ2V0X25hbWUKK2ZkaXNrX2xhYmVsaXRlbV9nZXRfaWQKK2ZkaXNrX2xhYmVsaXRlbV9nZXRfZGF0YV91NjQKK2ZkaXNrX2xhYmVsaXRlbV9nZXRfZGF0YV9zdHJpbmcKK2ZkaXNrX2xhYmVsaXRlbV9pc19zdHJpbmcKK2ZkaXNrX2xhYmVsaXRlbV9pc19udW1iZXIKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5maWVsZDwvRklMRT4KK2ZkaXNrX2ZpZWxkCitmZGlza19maWVsZF9nZXRfaWQKK2ZkaXNrX2ZpZWxkX2dldF9uYW1lCitmZGlza19maWVsZF9nZXRfd2lkdGgKK2ZkaXNrX2ZpZWxkX2lzX251bWJlcgorZmRpc2tfZmllbGR0eXBlCis8L1NFQ1RJT04+CmRpZmYgLS1naXQgYS9saWJmZGlzay9kb2NzL3ZlcnNpb24ueG1sLmluIGIvbGliZmRpc2svZG9jcy92ZXJzaW9uLnhtbC5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNzhiZGE5Ci0tLSAvZGV2L251bGwKKysrIGIvbGliZmRpc2svZG9jcy92ZXJzaW9uLnhtbC5pbgpAQCAtMCwwICsxIEBACitAVkVSU0lPTkAKZGlmZiAtLWdpdCBhL2xpYmZkaXNrL2ZkaXNrLnBjLmluIGIvbGliZmRpc2svZmRpc2sucGMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmY4MWRmMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmZkaXNrL2ZkaXNrLnBjLmluCkBAIC0wLDAgKzEsMTEgQEAKK3ByZWZpeD1AcHJlZml4QAorZXhlY19wcmVmaXg9QGV4ZWNfcHJlZml4QAorbGliZGlyPUB1c3JsaWJfZXhlY2RpckAKK2luY2x1ZGVkaXI9QGluY2x1ZGVkaXJACisKK05hbWU6IGZkaXNrCitEZXNjcmlwdGlvbjogZmRpc2sgbGlicmFyeQorVmVyc2lvbjogQExJQkZESVNLX1ZFUlNJT05ACitSZXF1aXJlcy5wcml2YXRlOiBATElCRkRJU0tfUENfUkVRVUlSRVNACitDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfS9saWJmZGlzaworTGliczogLUwke2xpYmRpcn0gLWxmZGlzawpkaWZmIC0tZ2l0IGEvbGliZmRpc2svc3JjLy5naXRpZ25vcmUgYi9saWJmZGlzay9zcmMvLmdpdGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZTc5YjY1Ci0tLSAvZGV2L251bGwKKysrIGIvbGliZmRpc2svc3JjLy5naXRpZ25vcmUKQEAgLTAsMCArMSBAQAorbGliZmRpc2suaApkaWZmIC0tZ2l0IGEvbGliZmRpc2svc3JjL01ha2Vtb2R1bGUuYW0gYi9saWJmZGlzay9zcmMvTWFrZW1vZHVsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lM2JhZjkwCi0tLSAvZGV2L251bGwKKysrIGIvbGliZmRpc2svc3JjL01ha2Vtb2R1bGUuYW0KQEAgLTAsMCArMSwxMzcgQEAKKworIyBsaWJmZGlzay5oIGlzIGdlbmVyYXRlZCwgc28gaXQncyBzdG9yZWQgaW4gYnVpbGRkaXIhCitmZGlza2luY2RpciA9ICQoaW5jbHVkZWRpcikvbGliZmRpc2sKK25vZGlzdF9mZGlza2luY19IRUFERVJTID0gJCh0b3BfYnVpbGRkaXIpL2xpYmZkaXNrL3NyYy9saWJmZGlzay5oCisKK3VzcmxpYl9leGVjX0xUTElCUkFSSUVTICs9IGxpYmZkaXNrLmxhCitsaWJmZGlza19sYV9TT1VSQ0VTID0gXAorCWluY2x1ZGUvbGlzdC5oIFwKKwlcCisJbGliZmRpc2svc3JjL2ZkaXNrUC5oIFwKKwlsaWJmZGlzay9zcmMvaW5pdC5jIFwKKwlsaWJmZGlzay9zcmMvZmllbGQuYyBcCisJbGliZmRpc2svc3JjL2l0ZW0uYyBcCisJbGliZmRpc2svc3JjL3Rlc3QuYyBcCisJbGliZmRpc2svc3JjL2Fzay5jIFwKKwlsaWJmZGlzay9zcmMvYWxpZ25tZW50LmMgXAorCWxpYmZkaXNrL3NyYy9sYWJlbC5jIFwKKwlsaWJmZGlzay9zcmMvdXRpbHMuYyBcCisJbGliZmRpc2svc3JjL2NvbnRleHQuYyBcCisJbGliZmRpc2svc3JjL3BhcnR0eXBlLmMgXAorCWxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYyBcCisJbGliZmRpc2svc3JjL3RhYmxlLmMgXAorCWxpYmZkaXNrL3NyYy9pdGVyLmMgXAorCWxpYmZkaXNrL3NyYy9zY3JpcHQuYyBcCisJbGliZmRpc2svc3JjL3ZlcnNpb24uYyBcCisJbGliZmRpc2svc3JjL3dpcGUuYyBcCisJXAorCWxpYmZkaXNrL3NyYy9zdW4uYyBcCisJbGliZmRpc2svc3JjL3NnaS5jIFwKKwlsaWJmZGlzay9zcmMvZG9zLmMgXAorCWxpYmZkaXNrL3NyYy9ic2QuYyBcCisJbGliZmRpc2svc3JjL2dwdC5jIFwKKwkkKG5vZGlzdF9mZGlza2luY19IRUFERVJTKQorCisKK25vZGlzdF9saWJmZGlza19sYV9TT1VSQ0VTID0gbGliZmRpc2svc3JjL2ZkaXNrUC5oCisKK2xpYmZkaXNrX2xhX0xJQkFERCA9IGxpYmNvbW1vbi5sYSBsaWJ1dWlkLmxhCisKK2xpYmZkaXNrX2xhX0NGTEFHUyA9IFwKKwkkKEFNX0NGTEFHUykgXAorCSQoU09MSUJfQ0ZMQUdTKSBcCisJLUkkKHVsX2xpYnV1aWRfaW5jZGlyKSBcCisJLUkkKHVsX2xpYmZkaXNrX2luY2RpcikgXAorCS1JJCh0b3Bfc3JjZGlyKS9saWJmZGlzay9zcmMKKworbGliZmRpc2tfbGFfREVQRU5ERU5DSUVTID0gXAorCWxpYmNvbW1vbi5sYSBcCisJbGlidXVpZC5sYSBcCisJbGliZmRpc2svc3JjL2xpYmZkaXNrLnN5bSBcCisJbGliZmRpc2svc3JjL2xpYmZkaXNrLmguaW4KKworbGliZmRpc2tfbGFfTERGTEFHUyA9ICQoU09MSUJfTERGTEFHUykKK2lmIEhBVkVfVlNDUklQVAorbGliZmRpc2tfbGFfTERGTEFHUyArPSAkKFZTQ1JJUFRfTERGTEFHUyksJCh0b3Bfc3JjZGlyKS9saWJmZGlzay9zcmMvbGliZmRpc2suc3ltCitlbmRpZgorbGliZmRpc2tfbGFfTERGTEFHUyArPSAtdmVyc2lvbi1pbmZvICQoTElCRkRJU0tfVkVSU0lPTl9JTkZPKQorCisKK2lmIEJVSUxEX0xJQkJMS0lECitsaWJmZGlza19sYV9MSUJBREQgKz0gbGliYmxraWQubGEKK2xpYmZkaXNrX2xhX0RFUEVOREVOQ0lFUyArPSBsaWJibGtpZC5sYQorbGliZmRpc2tfbGFfQ0ZMQUdTICs9IC1JJCh1bF9saWJibGtpZF9pbmNkaXIpCitlbmRpZgorCitFWFRSQV9ESVNUICs9IFwKKwlsaWJmZGlzay9zcmMvbGliZmRpc2suc3ltIFwKKwlsaWJmZGlzay9zcmMvbGliZmRpc2suaC5pbgorCitpZiBCVUlMRF9MSUJGRElTS19URVNUUworY2hlY2tfUFJPR1JBTVMgKz0gXAorCXRlc3RfZmRpc2tfYXNrIFwKKwl0ZXN0X2ZkaXNrX2dwdCBcCisJdGVzdF9mZGlza19zY3JpcHQgXAorCXRlc3RfZmRpc2tfdXRpbHMgXAorCXRlc3RfZmRpc2tfdmVyc2lvbiBcCisJdGVzdF9mZGlza19pdGVtCisKK2xpYmZkaXNrX3Rlc3RzX2NmbGFncyAgPSAtRFRFU1RfUFJPR1JBTSAkKGxpYmZkaXNrX2xhX0NGTEFHUykgJChOT19VTlVTRURfV0FSTl9DRkxBR1MpCitsaWJmZGlza190ZXN0c19sZGZsYWdzID0gbGlidXVpZC5sYSAtc3RhdGljCitsaWJmZGlza190ZXN0c19sZGFkZCAgID0gJChMREFERCkgbGliZmRpc2subGEgJChVVUlEX0xJQlMpCisKK2lmIEJVSUxEX0xJQkJMS0lECitsaWJmZGlza190ZXN0c19sZGZsYWdzICs9IGxpYmJsa2lkLmxhCitlbmRpZgorCit0ZXN0X2ZkaXNrX2Fza19TT1VSQ0VTID0gbGliZmRpc2svc3JjL2Fzay5jCit0ZXN0X2ZkaXNrX2Fza19DRkxBR1MgPSAkKGxpYmZkaXNrX3Rlc3RzX2NmbGFncykKK3Rlc3RfZmRpc2tfYXNrX0xERkxBR1MgPSAkKGxpYmZkaXNrX3Rlc3RzX2xkZmxhZ3MpCit0ZXN0X2ZkaXNrX2Fza19MREFERCA9ICQobGliZmRpc2tfdGVzdHNfbGRhZGQpCisKK3Rlc3RfZmRpc2tfZ3B0X1NPVVJDRVMgPSBsaWJmZGlzay9zcmMvZ3B0LmMKK3Rlc3RfZmRpc2tfZ3B0X0NGTEFHUyA9ICQobGliZmRpc2tfdGVzdHNfY2ZsYWdzKQordGVzdF9mZGlza19ncHRfTERGTEFHUyA9ICQobGliZmRpc2tfdGVzdHNfbGRmbGFncykKK3Rlc3RfZmRpc2tfZ3B0X0xEQUREID0gJChsaWJmZGlza190ZXN0c19sZGFkZCkKKwordGVzdF9mZGlza191dGlsc19TT1VSQ0VTID0gbGliZmRpc2svc3JjL3V0aWxzLmMKK3Rlc3RfZmRpc2tfdXRpbHNfQ0ZMQUdTID0gJChsaWJmZGlza190ZXN0c19jZmxhZ3MpCit0ZXN0X2ZkaXNrX3V0aWxzX0xERkxBR1MgPSAkKGxpYmZkaXNrX3Rlc3RzX2xkZmxhZ3MpCit0ZXN0X2ZkaXNrX3V0aWxzX0xEQUREID0gJChsaWJmZGlza190ZXN0c19sZGFkZCkKKwordGVzdF9mZGlza19zY3JpcHRfU09VUkNFUyA9IGxpYmZkaXNrL3NyYy9zY3JpcHQuYwordGVzdF9mZGlza19zY3JpcHRfQ0ZMQUdTID0gJChsaWJmZGlza190ZXN0c19jZmxhZ3MpCit0ZXN0X2ZkaXNrX3NjcmlwdF9MREZMQUdTID0gJChsaWJmZGlza190ZXN0c19sZGZsYWdzKQordGVzdF9mZGlza19zY3JpcHRfTERBREQgPSAkKGxpYmZkaXNrX3Rlc3RzX2xkYWRkKQorCit0ZXN0X2ZkaXNrX3ZlcnNpb25fU09VUkNFUyA9IGxpYmZkaXNrL3NyYy92ZXJzaW9uLmMKK3Rlc3RfZmRpc2tfdmVyc2lvbl9DRkxBR1MgPSAkKGxpYmZkaXNrX3Rlc3RzX2NmbGFncykKK3Rlc3RfZmRpc2tfdmVyc2lvbl9MREZMQUdTID0gJChsaWJmZGlza190ZXN0c19sZGZsYWdzKQordGVzdF9mZGlza192ZXJzaW9uX0xEQUREID0gJChsaWJmZGlza190ZXN0c19sZGFkZCkKKwordGVzdF9mZGlza19pdGVtX1NPVVJDRVMgPSBsaWJmZGlzay9zcmMvaXRlbS5jCit0ZXN0X2ZkaXNrX2l0ZW1fQ0ZMQUdTID0gJChsaWJmZGlza190ZXN0c19jZmxhZ3MpCit0ZXN0X2ZkaXNrX2l0ZW1fTERGTEFHUyA9ICQobGliZmRpc2tfdGVzdHNfbGRmbGFncykKK3Rlc3RfZmRpc2tfaXRlbV9MREFERCA9ICQobGliZmRpc2tfdGVzdHNfbGRhZGQpCisKK2VuZGlmICMgQlVJTERfTElCRkRJU0tfVEVTVFMKKworCisjIG1vdmUgbGliIGZyb20gJCh1c3JsaWJfZXhlY2RpcikgdG8gJChsaWJkaXIpIGlmIG5lZWRlZAoraW5zdGFsbC1leGVjLWhvb2stbGliZmRpc2s6CisJaWYgdGVzdCAiJCh1c3JsaWJfZXhlY2RpcikiICE9ICIkKGxpYmRpcikiIC1hIC1mICIkKERFU1RESVIpJCh1c3JsaWJfZXhlY2RpcikvbGliZmRpc2suc28iOyB0aGVuIFwKKwkJJChNS0RJUl9QKSAkKERFU1RESVIpJChsaWJkaXIpOyBcCisJCW12ICQoREVTVERJUikkKHVzcmxpYl9leGVjZGlyKS9saWJmZGlzay5zby4qICQoREVTVERJUikkKGxpYmRpcik7IFwKKwkJc29faW1nX25hbWU9JCQocmVhZGxpbmsgJChERVNURElSKSQodXNybGliX2V4ZWNkaXIpL2xpYmZkaXNrLnNvKTsgXAorCQlzb19pbWdfcmVsX3RhcmdldD0kJChlY2hvICQodXNybGliX2V4ZWNkaXIpIHwgc2VkICdzLFwoXi9cfFwpW14vXVteL10qLC4uLGcnKTsgXAorCQkoY2QgJChERVNURElSKSQodXNybGliX2V4ZWNkaXIpICYmIFwKKwkJCXJtIC1mIGxpYmZkaXNrLnNvICYmIFwKKwkJCSQoTE5fUykgJCRzb19pbWdfcmVsX3RhcmdldCQobGliZGlyKS8kJHNvX2ltZ19uYW1lIGxpYmZkaXNrLnNvKTsgXAorCWZpCisKK3VuaW5zdGFsbC1ob29rLWxpYmZkaXNrOgorCXJtIC1mICQoREVTVERJUikkKGxpYmRpcikvbGliZmRpc2suc28qCisKK0lOU1RBTExfRVhFQ19IT09LUyArPSBpbnN0YWxsLWV4ZWMtaG9vay1saWJmZGlzaworVU5JTlNUQUxMX0hPT0tTICs9IHVuaW5zdGFsbC1ob29rLWxpYmZkaXNrCisKZGlmZiAtLWdpdCBhL2xpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYyBiL2xpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMjI5ZTgxCi0tLSAvZGV2L251bGwKKysrIGIvbGliZmRpc2svc3JjL2FsaWdubWVudC5jCkBAIC0wLDAgKzEsNjkwIEBACisKKyNpZmRlZiBIQVZFX0xJQkJMS0lECisjaW5jbHVkZSA8YmxraWQuaD4KKyNlbmRpZgorI2luY2x1ZGUgImJsa2Rldi5oIgorCisjaW5jbHVkZSAiZmRpc2tQLmgiCisKKy8qKgorICogU0VDVElPTjogYWxpZ25tZW50CisgKiBAdGl0bGU6IEFsaWdubWVudAorICogQHNob3J0X2Rlc2NyaXB0aW9uOiBmdW5jdGlvbnMgdG8gYWxpZ24gcGFydGl0aW9ucyBhbmQgd29yayB3aXRoIGRpc2sgdG9wb2xvZ3kgYW5kIGdlb21ldHJ5CisgKgorICogVGhlIGxpYmZkaXNrIGFsaWducyB0aGUgZW5kIG9mIHRoZSBwYXJ0aXRpb25zIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gYWxpZ24KKyAqIHRoZSBuZXh0IHBhcnRpdGlvbiB0byB0aGUgImdyYWluIiAoc2VlIGZkaXNrX2dldF9ncmFpbl9zaXplKCkpLiBUaGUgZ3JhaW4gaXMKKyAqIHVzdWFsbHkgMU1pQiAob3IgbW9yZSBmb3IgZGV2aWNlcyB3aGVyZSBvcHRpbWFsIEkvTyBpcyBncmVhdGVyIHRoYW4gMU1pQikuCisgKgorICogSXQgbWVhbnMgdGhhdCB0aGUgbGlicmFyeSBkb2VzIG5vdCBhbGlnbiBzdHJpY3RseSB0byBwaHlzaWNhbCBzZWN0b3Igc2l6ZQorICogKG9yIG1pbmltYWwgb3Igb3B0aW1hbCBJL08pLCBidXQgaXQgdXNlcyBncmVhdGVyIGdyYW51bGFyaXR5LiBJdCBtYWtlcworICogcGFydGl0aW9uIHRhYmxlcyBtb3JlIHBvcnRhYmxlLiBJZiB5b3UgY29weSBkaXNrIGxheW91dCBmcm9tIDUxMi1zZWN0b3IgdG8KKyAqIDRLLXNlY3RvciBkZXZpY2UsIGFsbCBwYXJ0aXRpb25zIGFyZSBzdGlsbCBhbGlnbmVkIHRvIHBoeXNpY2FsIHNlY3RvcnMuCisgKgorICogVGhpcyB1bmlmaWVkIGNvbmNlcHQgYWxzbyBtYWtlcyBwYXJ0aXRpb24gdGFibGVzIG1vcmUgdXNlciBmcmllbmRseSwgYWxsCisgKiB0YWJsZXMgbG9vayBzYW1lLCBMQkEgb2YgdGhlIGZpcnN0IHBhcnRpdGlvbiBpcyAyMDQ4IHNlY3RvcnMgZXZlcnl3aGVyZSwgZXRjLgorICoKKyAqIEl0J3MgcmVjb21tZW5kZWQgdG8gbm90IGNoYW5nZSBhbnkgYWxpZ25tZW50IG9yIGRldmljZSBwcm9wZXJ0aWVzLiBBbGwgaXMKKyAqIGluaXRpYWxpemVkIGJ5IGRlZmF1bHQgYnkgZmRpc2tfYXNzaWduX2RldmljZSgpLgorICoKKyAqIE5vdGUgdGhhdCB0ZXJtaW5vbG9neSB1c2VkIGJ5IGxpYmZkaXNrIGlzOiAKKyAqICAgLSBkZXZpY2UgcHJvcGVydGllczogSS9PIGxpbWl0cyAodG9wb2xvZ3kpLCBnZW9tZXRyeSwgc2VjdG9yIHNpemUsIC4uLgorICogICAtIGFsaWdubWVudDogZmlyc3QsIGxhc3QgTEJBLCBncmFpbiwgLi4uCisgKgorICogVGhlIGFsaWdubWVudCBzZXR0aW5nIG1heSBiZSBtb2RpZmllZCBieSBkaXNrIGxhYmVsIGRyaXZlci4KKyAqLworCisvKgorICogQWxpZ25tZW50IGFjY29yZGluZyB0byBsb2dpY2FsIGdyYW51bGFyaXR5ICh1c3VhbGx5IDFNaUIpCisgKi8KK3N0YXRpYyBpbnQgbGJhX2lzX2FsaWduZWQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgdWludG1heF90IGxiYSkKK3sKKwl1bnNpZ25lZCBsb25nIGdyYW51bGFyaXR5ID0gbWF4KGN4dC0+cGh5X3NlY3Rvcl9zaXplLCBjeHQtPm1pbl9pb19zaXplKTsKKwl1aW50bWF4X3Qgb2Zmc2V0OworCisJaWYgKGN4dC0+Z3JhaW4gPiBncmFudWxhcml0eSkKKwkJZ3JhbnVsYXJpdHkgPSBjeHQtPmdyYWluOworCisJb2Zmc2V0ID0gKGxiYSAqIGN4dC0+c2VjdG9yX3NpemUpICUgZ3JhbnVsYXJpdHk7CisKKwlyZXR1cm4gISgoZ3JhbnVsYXJpdHkgKyBjeHQtPmFsaWdubWVudF9vZmZzZXQgLSBvZmZzZXQpICUgZ3JhbnVsYXJpdHkpOworfQorCisvKgorICogQWxpZ25tZW50IGFjY29yZGluZyB0byBwaHlzaWNhbCBkZXZpY2UgdG9wb2xvZ3kgKHVzdWFsbHkgbWluaW1hbCBpL28gc2l6ZSkKKyAqLworc3RhdGljIGludCBsYmFfaXNfcGh5X2FsaWduZWQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgZmRpc2tfc2VjdG9yX3QgbGJhKQoreworCXVuc2lnbmVkIGxvbmcgZ3JhbnVsYXJpdHkgPSBtYXgoY3h0LT5waHlfc2VjdG9yX3NpemUsIGN4dC0+bWluX2lvX3NpemUpOworCXVpbnRtYXhfdCBvZmZzZXQgPSAobGJhICogY3h0LT5zZWN0b3Jfc2l6ZSkgJSBncmFudWxhcml0eTsKKworCXJldHVybiAhKChncmFudWxhcml0eSArIGN4dC0+YWxpZ25tZW50X29mZnNldCAtIG9mZnNldCkgJSBncmFudWxhcml0eSk7Cit9CisKKy8qKgorICogZmRpc2tfYWxpZ25fbGJhOgorICogQGN4dDogY29udGV4dAorICogQGxiYTogYWRkcmVzcyB0byBhbGlnbgorICogQGRpcmVjdGlvbjogRkRJU0tfQUxJR05fe1VQLERPV04sTkVBUkVTVH0KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGFsaWducyBAbGJhIHRvIHRoZSAiZ3JhaW4iIChzZWUgZmRpc2tfZ2V0X2dyYWluX3NpemUoKSkuIElmIHRoZQorICogZGV2aWNlIHVzZXMgYWxpZ25tZW50IG9mZnNldCB0aGVuIHRoZSByZXN1bHQgaXMgbW92ZWQgYWNjb3JkaW5nIHRoZSBvZmZzZXQKKyAqIHRvIGJlIG9uIHRoZSBwaHlzaWNhbCBib3VuZGFyeS4KKyAqCisgKiBSZXR1cm5zOiBhbGlnbm1lbnQgTEJBLgorICovCitmZGlza19zZWN0b3JfdCBmZGlza19hbGlnbl9sYmEoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgZmRpc2tfc2VjdG9yX3QgbGJhLCBpbnQgZGlyZWN0aW9uKQoreworCWZkaXNrX3NlY3Rvcl90IHJlczsKKworCWlmIChsYmFfaXNfYWxpZ25lZChjeHQsIGxiYSkpCisJCXJlcyA9IGxiYTsKKwllbHNlIHsKKwkJZmRpc2tfc2VjdG9yX3Qgc2VjdHNfaW5fcGh5ID0gY3h0LT5ncmFpbiAvIGN4dC0+c2VjdG9yX3NpemU7CisKKwkJaWYgKGxiYSA8IGN4dC0+Zmlyc3RfbGJhKQorCQkJcmVzID0gY3h0LT5maXJzdF9sYmE7CisKKwkJZWxzZSBpZiAoZGlyZWN0aW9uID09IEZESVNLX0FMSUdOX1VQKQorCQkJcmVzID0gKChsYmEgKyBzZWN0c19pbl9waHkpIC8gc2VjdHNfaW5fcGh5KSAqIHNlY3RzX2luX3BoeTsKKworCQllbHNlIGlmIChkaXJlY3Rpb24gPT0gRkRJU0tfQUxJR05fRE9XTikKKwkJCXJlcyA9IChsYmEgLyBzZWN0c19pbl9waHkpICogc2VjdHNfaW5fcGh5OworCisJCWVsc2UgLyogRkRJU0tfQUxJR05fTkVBUkVTVCAqLworCQkJcmVzID0gKChsYmEgKyBzZWN0c19pbl9waHkgLyAyKSAvIHNlY3RzX2luX3BoeSkgKiBzZWN0c19pbl9waHk7CisKKwkJaWYgKGN4dC0+YWxpZ25tZW50X29mZnNldCAmJiAhbGJhX2lzX2FsaWduZWQoY3h0LCByZXMpICYmCisJCSAgICByZXMgPiBjeHQtPmFsaWdubWVudF9vZmZzZXQgLyBjeHQtPnNlY3Rvcl9zaXplKSB7CisJCQkvKgorCQkJICogYXBwbHkgYWxpZ25tZW50X29mZnNldAorCQkJICoKKwkJCSAqIE9uIGRpc2sgd2l0aCBhbGlnbm1lbnQgY29tcGVuc2F0aW9uIHBoeXNpY2FsIGJsb2NrcyBzdGFydHMKKwkJCSAqIGF0IExCQSA8IDAgKHVzdWFsbHkgTEJBIC0xKS4gSXQgbWVhbnMgd2UgaGF2ZSB0byBtb3ZlIExCQQorCQkJICogYWNjb3JkaW5nIHRoZSBvZmZzZXQgdG8gYmUgb24gdGhlIHBoeXNpY2FsIGJvdW5kYXJ5LgorCQkJICovCisJCQkvKiBmcHJpbnRmKHN0ZGVyciwgIkxCQTogJWxsdSBhcHBseSBhbGlnbm1lbnRfb2Zmc2V0XG4iLCByZXMpOyAqLworCQkJcmVzIC09IChtYXgoY3h0LT5waHlfc2VjdG9yX3NpemUsIGN4dC0+bWluX2lvX3NpemUpIC0KKwkJCQkJY3h0LT5hbGlnbm1lbnRfb2Zmc2V0KSAvIGN4dC0+c2VjdG9yX3NpemU7CisKKwkJCWlmIChkaXJlY3Rpb24gPT0gRkRJU0tfQUxJR05fVVAgJiYgcmVzIDwgbGJhKQorCQkJCXJlcyArPSBzZWN0c19pbl9waHk7CisJCX0KKwl9CisKKwlpZiAobGJhICE9IHJlcykKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiTEJBICVqdSAtYWxpZ25lZC0lcy0+ICVqdSBbZ3JhaW49JWx1c10iLAorCQkJCSh1aW50bWF4X3QpIGxiYSwKKwkJCQlkaXJlY3Rpb24gPT0gRkRJU0tfQUxJR05fVVAgPyAidXAiIDoKKwkJCQlkaXJlY3Rpb24gPT0gRkRJU0tfQUxJR05fRE9XTiA/ICJkb3duIiA6ICJuZWFyIiwKKwkJCQkodWludG1heF90KSByZXMsCisJCQkJY3h0LT5ncmFpbiAvIGN4dC0+c2VjdG9yX3NpemUpKTsKKwllbHNlCisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIkxCQSAlanUgLXVuY2hhbmdlZC0iLCAodWludG1heF90KWxiYSkpOworCisJcmV0dXJuIHJlczsKK30KKworLyoqCisgKiBmZGlza19hbGlnbl9sYmFfaW5fcmFuZ2U6CisgKiBAY3h0OiBjb250ZXh0CisgKiBAbGJhOiBMQkEKKyAqIEBzdGFydDogcmFuZ2Ugc3RhcnQKKyAqIEBzdG9wOiByYW5nZSBzdG9wCisgKgorICogQWxpZ24gQGxiYSwgdGhlIHJlc3VsdCBoYXMgdG8gYmUgYmV0d2VlbiBAc3RhcnQgYW5kIEBzdG9wCisgKgorICogUmV0dXJuczogYWxpZ25lZCBMQkEKKyAqLworZmRpc2tfc2VjdG9yX3QgZmRpc2tfYWxpZ25fbGJhX2luX3JhbmdlKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQkJICBmZGlza19zZWN0b3JfdCBsYmEsIGZkaXNrX3NlY3Rvcl90IHN0YXJ0LCBmZGlza19zZWN0b3JfdCBzdG9wKQoreworCWZkaXNrX3NlY3Rvcl90IHJlczsKKworCXN0YXJ0ID0gZmRpc2tfYWxpZ25fbGJhKGN4dCwgc3RhcnQsIEZESVNLX0FMSUdOX1VQKTsKKwlzdG9wID0gZmRpc2tfYWxpZ25fbGJhKGN4dCwgc3RvcCwgRkRJU0tfQUxJR05fRE9XTik7CisKKwlpZiAobGJhID4gc3RhcnQgJiYgbGJhIDwgc3RvcAorCSAgICAmJiAobGJhIC0gc3RhcnQpIDwgKGN4dC0+Z3JhaW4gLyBjeHQtPnNlY3Rvcl9zaXplKSkgeworCisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIkxCQTogYXJlYSBzbWFsbGVyIHRoYW4gZ3JhaW4sIGRvbid0IGFsaWduIikpOworCQlyZXMgPSBsYmE7CisJCWdvdG8gZG9uZTsKKwl9CisKKwlsYmEgPSBmZGlza19hbGlnbl9sYmEoY3h0LCBsYmEsIEZESVNLX0FMSUdOX05FQVJFU1QpOworCisJaWYgKGxiYSA8IHN0YXJ0KQorCQlyZXMgPSBzdGFydDsKKwllbHNlIGlmIChsYmEgPiBzdG9wKQorCQlyZXMgPSBzdG9wOworCWVsc2UKKwkJcmVzID0gbGJhOworCitkb25lOgorCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIkxCQSAlanUgcmFuZ2U6PCVqdS4uJWp1PiwgcmVzdWx0OiAlanUiLAorCQkJCSh1aW50bWF4X3QpIGxiYSwKKwkJCQkodWludG1heF90KSBzdGFydCwKKwkJCQkodWludG1heF90KSBzdG9wLAorCQkJCSh1aW50bWF4X3QpIHJlcykpOworCXJldHVybiByZXM7Cit9CisKKy8qKgorICogZmRpc2tfbGJhX2lzX3BoeV9hbGlnbmVkOgorICogQGN4dDogY29udGV4dAorICogQGxiYTogTEJBIHRvIGNoZWNrCisgKgorICogQ2hlY2sgaWYgdGhlIEBsYmEgaXMgYWxpZ25lZCB0byBwaHlzaWNhbCBzZWN0b3IgYm91bmRhcnkuCisgKgorICogUmV0dXJuczogMSBpZiBhbGlnbmVkLgorICovCitpbnQgZmRpc2tfbGJhX2lzX3BoeV9hbGlnbmVkKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGZkaXNrX3NlY3Rvcl90IGxiYSkKK3sKKwlyZXR1cm4gbGJhX2lzX3BoeV9hbGlnbmVkKGN4dCwgbGJhKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgZ2V0X3NlY3Rvcl9zaXplKGludCBmZCkKK3sKKwlpbnQgc2VjdF9zejsKKworCWlmICghYmxrZGV2X2dldF9zZWN0b3Jfc2l6ZShmZCwgJnNlY3Rfc3opKQorCQlyZXR1cm4gKHVuc2lnbmVkIGxvbmcpIHNlY3Rfc3o7CisJcmV0dXJuIERFRkFVTFRfU0VDVE9SX1NJWkU7Cit9CisKK3N0YXRpYyB2b2lkIHJlY291bnRfZ2VvbWV0cnkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlpZiAoIWN4dC0+Z2VvbS5oZWFkcykKKwkJY3h0LT5nZW9tLmhlYWRzID0gMjU1OworCWlmICghY3h0LT5nZW9tLnNlY3RvcnMpCisJCWN4dC0+Z2VvbS5zZWN0b3JzID0gNjM7CisKKwljeHQtPmdlb20uY3lsaW5kZXJzID0gY3h0LT50b3RhbF9zZWN0b3JzIC8KKwkJKGN4dC0+Z2VvbS5oZWFkcyAqIGN4dC0+Z2VvbS5zZWN0b3JzKTsKK30KKworLyoqCisgKiBmZGlza19vdmVycmlkZV9nZW9tZXRyeToKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqIEBjeWxpbmRlcnM6IHVzZXIgc3BlY2lmaWVkIGN5bGluZGVycworICogQGhlYWRzOiB1c2VyIHNwZWNpZmllZCBoZWFkcworICogQHNlY3RvcnM6IHVzZXIgc3BlY2lmaWVkIHNlY3RvcnMKKyAqCisgKiBPdmVycmlkZXMgYXV0by1kaXNjb3ZlcnkuIFRoZSBmdW5jdGlvbiBmZGlza19yZXNldF9kZXZpY2VfcHJvcGVydGllcygpCisgKiByZXN0b3JlcyB0aGUgb3JpZ2luYWwgc2V0dGluZy4KKyAqCisgKiBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGZkaXNrX292ZXJyaWRlX2dlb21ldHJ5KCkgYW5kIGZkaXNrX3NhdmVfdXNlcl9nZW9tZXRyeSgpCisgKiBpcyB0aGF0IHNhdmVkIHVzZXIgZ2VvbWV0cnkgaXMgcGVyc2lzdGVudCBzZXR0aW5nIGFuZCBpdCdzIGFwcGxpZWQgYWx3YXlzCisgKiB3aGVuIGRldmljZSBpcyBhc3NpZ25lZCB0byB0aGUgY29udGV4dCBvciBkZXZpY2UgcHJvcGVydGllcyBhcmUgcmVzZXQuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8IDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19vdmVycmlkZV9nZW9tZXRyeShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJICAgIHVuc2lnbmVkIGludCBjeWxpbmRlcnMsCisJCQkgICAgdW5zaWduZWQgaW50IGhlYWRzLAorCQkJICAgIHVuc2lnbmVkIGludCBzZWN0b3JzKQoreworCWlmICghY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoaGVhZHMpCisJCWN4dC0+Z2VvbS5oZWFkcyA9IGhlYWRzOworCWlmIChzZWN0b3JzKQorCQljeHQtPmdlb20uc2VjdG9ycyA9IHNlY3RvcnM7CisKKwlpZiAoY3lsaW5kZXJzKQorCQljeHQtPmdlb20uY3lsaW5kZXJzID0gY3lsaW5kZXJzOworCWVsc2UKKwkJcmVjb3VudF9nZW9tZXRyeShjeHQpOworCisJZmRpc2tfcmVzZXRfYWxpZ25tZW50KGN4dCk7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJvdmVycmlkZSBDL0gvUzogJXUvJXUvJXUiLAorCQkodW5zaWduZWQpIGN4dC0+Z2VvbS5jeWxpbmRlcnMsCisJCSh1bnNpZ25lZCkgY3h0LT5nZW9tLmhlYWRzLAorCQkodW5zaWduZWQpIGN4dC0+Z2VvbS5zZWN0b3JzKSk7CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19zYXZlX3VzZXJfZ2VvbWV0cnk6CisgKiBAY3h0OiBjb250ZXh0CisgKiBAY3lsaW5kZXJzOiBDCisgKiBAaGVhZHM6IEgKKyAqIEBzZWN0b3JzOiBTCisgKgorICogU2F2ZSB1c2VyIGRlZmluZWQgZ2VvbWV0cnkgdG8gdXNlIGl0IGZvciBwYXJ0aXRpb25pbmcuCisgKgorICogVGhlIHVzZXIgcHJvcGVydGllcyBhcmUgYXBwbGllZCBieSBmZGlza19hc3NpZ25fZGV2aWNlKCkgb3IKKyAqIGZkaXNrX3Jlc2V0X2RldmljZV9wcm9wZXJ0aWVzKCkuCisKKyAqIFJldHVybnM6IDwwIG9uIGVycm9yLCAwIG9uIHN1Y2Nlc3MuCisgKi8KK2ludCBmZGlza19zYXZlX3VzZXJfZ2VvbWV0cnkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCSAgICB1bnNpZ25lZCBpbnQgY3lsaW5kZXJzLAorCQkJICAgIHVuc2lnbmVkIGludCBoZWFkcywKKwkJCSAgICB1bnNpZ25lZCBpbnQgc2VjdG9ycykKK3sKKwlpZiAoIWN4dCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoaGVhZHMpCisJCWN4dC0+dXNlcl9nZW9tLmhlYWRzID0gaGVhZHMgPiAyNTYgPyAwIDogaGVhZHM7CisJaWYgKHNlY3RvcnMpCisJCWN4dC0+dXNlcl9nZW9tLnNlY3RvcnMgPSBzZWN0b3JzID49IDY0ID8gMCA6IHNlY3RvcnM7CisJaWYgKGN5bGluZGVycykKKwkJY3h0LT51c2VyX2dlb20uY3lsaW5kZXJzID0gY3lsaW5kZXJzOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAidXNlciBDL0gvUzogJXUvJXUvJXUiLAorCQkJCSh1bnNpZ25lZCkgY3h0LT51c2VyX2dlb20uY3lsaW5kZXJzLAorCQkJCSh1bnNpZ25lZCkgY3h0LT51c2VyX2dlb20uaGVhZHMsCisJCQkJKHVuc2lnbmVkKSBjeHQtPnVzZXJfZ2VvbS5zZWN0b3JzKSk7CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19zYXZlX3VzZXJfc2VjdG9yX3NpemU6CisgKiBAY3h0OiBjb250ZXh0CisgKiBAcGh5OiBwaHlzaWNhbCBzZWN0b3Igc2l6ZQorICogQGxvZzogbG9naWNhbCBzZWN0b3Igc2l6ZQorICoKKyAqIFNhdmUgdXNlciBkZWZpbmVkIHNlY3RvciBzaXplcyB0byB1c2UgaXQgZm9yIHBhcnRpdGlvbmluZy4KKyAqCisgKiBUaGUgdXNlciBwcm9wZXJ0aWVzIGFyZSBhcHBsaWVkIGJ5IGZkaXNrX2Fzc2lnbl9kZXZpY2UoKSBvcgorICogZmRpc2tfcmVzZXRfZGV2aWNlX3Byb3BlcnRpZXMoKS4KKyAqCisgKiBSZXR1cm5zOiA8MCBvbiBlcnJvciwgMCBvbiBzdWNjZXNzLgorICovCitpbnQgZmRpc2tfc2F2ZV91c2VyX3NlY3Rvcl9zaXplKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQkJdW5zaWduZWQgaW50IHBoeSwKKwkJCQl1bnNpZ25lZCBpbnQgbG9nKQoreworCWlmICghY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInVzZXIgcGh5L2xvZyBzZWN0b3Igc2l6ZTogJXUvJXUiLCBwaHksIGxvZykpOworCisJY3h0LT51c2VyX3B5aF9zZWN0b3IgPSBwaHk7CisJY3h0LT51c2VyX2xvZ19zZWN0b3IgPSBsb2c7CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19oYXNfdXNlcl9kZXZpY2VfcHJvcGVydGllczoKKyAqIEBjeHQ6IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiAxIGlmIHVzZXIgc3BlY2lmaWVkIGFueSBwcm9wZXJ0aWVzCisgKi8KK2ludCBmZGlza19oYXNfdXNlcl9kZXZpY2VfcHJvcGVydGllcyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXJldHVybiAoY3h0LT51c2VyX3B5aF9zZWN0b3IKKwkJICAgIHx8IGN4dC0+dXNlcl9sb2dfc2VjdG9yCisJCSAgICB8fCBjeHQtPnVzZXJfZ2VvbS5oZWFkcworCQkgICAgfHwgY3h0LT51c2VyX2dlb20uc2VjdG9ycworCQkgICAgfHwgY3h0LT51c2VyX2dlb20uY3lsaW5kZXJzKTsKK30KKworaW50IGZkaXNrX2FwcGx5X3VzZXJfZGV2aWNlX3Byb3BlcnRpZXMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlpZiAoIWN4dCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJhcHBseWluZyB1c2VyIGRldmljZSBwcm9wZXJ0aWVzIikpOworCisJaWYgKGN4dC0+dXNlcl9weWhfc2VjdG9yKQorCQljeHQtPnBoeV9zZWN0b3Jfc2l6ZSA9IGN4dC0+dXNlcl9weWhfc2VjdG9yOworCWlmIChjeHQtPnVzZXJfbG9nX3NlY3RvcikgeworCQl1aW50NjRfdCBvbGRfdG90YWwgPSBjeHQtPnRvdGFsX3NlY3RvcnM7CisJCXVpbnQ2NF90IG9sZF9zZWNzeiA9IGN4dC0+c2VjdG9yX3NpemU7CisKKwkJY3h0LT5zZWN0b3Jfc2l6ZSA9IGN4dC0+bWluX2lvX3NpemUgPQorCQkJY3h0LT5pb19zaXplID0gY3h0LT51c2VyX2xvZ19zZWN0b3I7CisKKwkJaWYgKGN4dC0+c2VjdG9yX3NpemUgIT0gb2xkX3NlY3N6KSB7CisJCQljeHQtPnRvdGFsX3NlY3RvcnMgPSAob2xkX3RvdGFsICogKG9sZF9zZWNzei81MTIpKSAvIChjeHQtPnNlY3Rvcl9zaXplID4+IDkpOworCQkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAibmV3IHRvdGFsIHNlY3RvcnM6ICVqdSIsIGN4dC0+dG90YWxfc2VjdG9ycykpOworCQl9CisJfQorCisJaWYgKGN4dC0+dXNlcl9nZW9tLmhlYWRzKQorCQljeHQtPmdlb20uaGVhZHMgPSBjeHQtPnVzZXJfZ2VvbS5oZWFkczsKKwlpZiAoY3h0LT51c2VyX2dlb20uc2VjdG9ycykKKwkJY3h0LT5nZW9tLnNlY3RvcnMgPSBjeHQtPnVzZXJfZ2VvbS5zZWN0b3JzOworCisJaWYgKGN4dC0+dXNlcl9nZW9tLmN5bGluZGVycykKKwkJY3h0LT5nZW9tLmN5bGluZGVycyA9IGN4dC0+dXNlcl9nZW9tLmN5bGluZGVyczsKKwllbHNlIGlmIChjeHQtPnVzZXJfZ2VvbS5oZWFkcyB8fCBjeHQtPnVzZXJfZ2VvbS5zZWN0b3JzKQorCQlyZWNvdW50X2dlb21ldHJ5KGN4dCk7CisKKwlmZGlza19yZXNldF9hbGlnbm1lbnQoY3h0KTsKKwlpZiAoY3h0LT5maXJzdHNlY3Rvcl9idWZzeiAhPSBjeHQtPnNlY3Rvcl9zaXplKQorCQlmZGlza19yZWFkX2ZpcnN0c2VjdG9yKGN4dCk7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJuZXcgQy9IL1M6ICV1LyV1LyV1IiwKKwkJKHVuc2lnbmVkKSBjeHQtPmdlb20uY3lsaW5kZXJzLAorCQkodW5zaWduZWQpIGN4dC0+Z2VvbS5oZWFkcywKKwkJKHVuc2lnbmVkKSBjeHQtPmdlb20uc2VjdG9ycykpOworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIm5ldyBsb2cvcGh5IHNlY3RvciBzaXplOiAldS8ldSIsCisJCSh1bnNpZ25lZCkgY3h0LT5zZWN0b3Jfc2l6ZSwKKwkJKHVuc2lnbmVkKSBjeHQtPnBoeV9zZWN0b3Jfc2l6ZSkpOworCisJcmV0dXJuIDA7Cit9CisKK3ZvaWQgZmRpc2tfemVyb2l6ZV9kZXZpY2VfcHJvcGVydGllcyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWFzc2VydChjeHQpOworCisJY3h0LT5pb19zaXplID0gMDsKKwljeHQtPm9wdGltYWxfaW9fc2l6ZSA9IDA7CisJY3h0LT5taW5faW9fc2l6ZSA9IDA7CisJY3h0LT5waHlfc2VjdG9yX3NpemUgPSAwOworCWN4dC0+c2VjdG9yX3NpemUgPSAwOworCWN4dC0+YWxpZ25tZW50X29mZnNldCA9IDA7CisJY3h0LT5ncmFpbiA9IDA7CisJY3h0LT5maXJzdF9sYmEgPSAwOworCWN4dC0+bGFzdF9sYmEgPSAwOworCWN4dC0+dG90YWxfc2VjdG9ycyA9IDA7CisKKwltZW1zZXQoJmN4dC0+Z2VvbSwgMCwgc2l6ZW9mKHN0cnVjdCBmZGlza19nZW9tZXRyeSkpOworfQorCisvKioKKyAqIGZkaXNrX3Jlc2V0X2RldmljZV9wcm9wZXJ0aWVzOgorICogQGN4dDogY29udGV4dAorICoKKyAqIFJlc2V0cyBhbmQgZGlzY292ZXJ5IHRvcG9sb2d5IChJL08gbGltaXRzKSwgZ2VvbWV0cnksIHJlLXJlYWQgdGhlIGZpcnN0CisgKiByZWN0b3Igb24gdGhlIGRldmljZSBpZiBuZWNlc3NhcnkgYW5kIGFwcGx5IHVzZXIgZGV2aWNlIHNldHRpbmcgKGdlb21ldHJ5CisgKiBhbmQgc2VjdG9yIHNpemUpLCB0aGVuIGluaXRpYWxpemUgYWxpZ25tZW50IGFjY29yZGluZyB0byBsYWJlbCBkcml2ZXIgKHNlZQorICogZmRpc2tfcmVzZXRfYWxpZ25tZW50KCkpLgorICoKKyAqIFlvdSBkb24ndCBoYXZlIHRvIHVzZSB0aGlzIGZ1bmN0aW9uIGJ5IGRlZmF1bHQsIGZkaXNrX2Fzc2lnbl9kZXZpY2UoKSBpcworICogc21hcnQgZW5vdWdoIHRvIGluaXRpYWxpemUgYWxsIG5lY2Vzc2FyeSBzZXR0aW5nLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19yZXNldF9kZXZpY2VfcHJvcGVydGllcyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWludCByYzsKKworCWlmICghY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIioqKiByZXNldHRpbmcgZGV2aWNlIHByb3BlcnRpZXMiKSk7CisKKwlmZGlza196ZXJvaXplX2RldmljZV9wcm9wZXJ0aWVzKGN4dCk7CisJZmRpc2tfZGlzY292ZXJfdG9wb2xvZ3koY3h0KTsKKwlmZGlza19kaXNjb3Zlcl9nZW9tZXRyeShjeHQpOworCisJcmMgPSBmZGlza19yZWFkX2ZpcnN0c2VjdG9yKGN4dCk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwlmZGlza19hcHBseV91c2VyX2RldmljZV9wcm9wZXJ0aWVzKGN4dCk7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBHZW5lcmljIChsYWJlbCBpbmRlcGVuZGVudCkgZ2VvbWV0cnkKKyAqLworaW50IGZkaXNrX2Rpc2NvdmVyX2dlb21ldHJ5KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJZmRpc2tfc2VjdG9yX3QgbnNlY3RzOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+Z2VvbS5oZWFkcyA9PSAwKTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIiVzOiBkaXNjb3ZlcmluZyBnZW9tZXRyeS4uLiIsIGN4dC0+ZGV2X3BhdGgpKTsKKworCS8qIGdldCBudW1iZXIgb2YgNTEyLWJ5dGUgc2VjdG9ycywgYW5kIGNvbnZlcnQgaXQgdGhlIHJlYWwgc2VjdG9ycyAqLworCWlmICghYmxrZGV2X2dldF9zZWN0b3JzKGN4dC0+ZGV2X2ZkLCAodW5zaWduZWQgbG9uZyBsb25nICopICZuc2VjdHMpKQorCQljeHQtPnRvdGFsX3NlY3RvcnMgPSAobnNlY3RzIC8gKGN4dC0+c2VjdG9yX3NpemUgPj4gOSkpOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAidG90YWwgc2VjdG9yczogJWp1IChpb2N0bD0lanUpIiwKKwkJCQkodWludG1heF90KSBjeHQtPnRvdGFsX3NlY3RvcnMsCisJCQkJKHVpbnRtYXhfdCkgbnNlY3RzKSk7CisKKwkvKiB3aGF0IHRoZSBrZXJuZWwvYmlvcyB0aGlua3MgdGhlIGdlb21ldHJ5IGlzICovCisJYmxrZGV2X2dldF9nZW9tZXRyeShjeHQtPmRldl9mZCwgJmN4dC0+Z2VvbS5oZWFkcywgKHVuc2lnbmVkIGludCAqKSAmY3h0LT5nZW9tLnNlY3RvcnMpOworCisJLyogb2J0YWluZWQgaGVhZHMgYW5kIHNlY3RvcnMgKi8KKwlyZWNvdW50X2dlb21ldHJ5KGN4dCk7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJyZXN1bHQ6IEMvSC9TOiAldS8ldS8ldSIsCisJCQkgICAgICAgKHVuc2lnbmVkKSBjeHQtPmdlb20uY3lsaW5kZXJzLAorCQkJICAgICAgICh1bnNpZ25lZCkgY3h0LT5nZW9tLmhlYWRzLAorCQkJICAgICAgICh1bnNpZ25lZCkgY3h0LT5nZW9tLnNlY3RvcnMpKTsKKwlyZXR1cm4gMDsKK30KKworaW50IGZkaXNrX2Rpc2NvdmVyX3RvcG9sb2d5KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisjaWZkZWYgSEFWRV9MSUJCTEtJRAorCWJsa2lkX3Byb2JlIHByOworI2VuZGlmCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+c2VjdG9yX3NpemUgPT0gMCk7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICIlczogZGlzY292ZXJpbmcgdG9wb2xvZ3kuLi4iLCBjeHQtPmRldl9wYXRoKSk7CisjaWZkZWYgSEFWRV9MSUJCTEtJRAorCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImluaXRpYWxpemUgbGliYmxraWQgcHJvYmVyIikpOworCisJcHIgPSBibGtpZF9uZXdfcHJvYmUoKTsKKwlpZiAocHIgJiYgYmxraWRfcHJvYmVfc2V0X2RldmljZShwciwgY3h0LT5kZXZfZmQsIDAsIDApID09IDApIHsKKwkJYmxraWRfdG9wb2xvZ3kgdHAgPSBibGtpZF9wcm9iZV9nZXRfdG9wb2xvZ3kocHIpOworCisJCWlmICh0cCkgeworCQkJY3h0LT5taW5faW9fc2l6ZSA9IGJsa2lkX3RvcG9sb2d5X2dldF9taW5pbXVtX2lvX3NpemUodHApOworCQkJY3h0LT5vcHRpbWFsX2lvX3NpemUgPSBibGtpZF90b3BvbG9neV9nZXRfb3B0aW1hbF9pb19zaXplKHRwKTsKKwkJCWN4dC0+cGh5X3NlY3Rvcl9zaXplID0gYmxraWRfdG9wb2xvZ3lfZ2V0X3BoeXNpY2FsX3NlY3Rvcl9zaXplKHRwKTsKKwkJCWN4dC0+YWxpZ25tZW50X29mZnNldCA9IGJsa2lkX3RvcG9sb2d5X2dldF9hbGlnbm1lbnRfb2Zmc2V0KHRwKTsKKworCQkJLyogSS9PIHNpemUgdXNlZCBieSBmZGlzayAqLworCQkJY3h0LT5pb19zaXplID0gY3h0LT5vcHRpbWFsX2lvX3NpemU7CisJCQlpZiAoIWN4dC0+aW9fc2l6ZSkKKwkJCQkvKiBvcHRpbWFsIEkvTyBpcyBvcHRpb25hbCwgZGVmYXVsdCB0byBtaW5pbXVtIElPICovCisJCQkJY3h0LT5pb19zaXplID0gY3h0LT5taW5faW9fc2l6ZTsKKworCQkJLyogaWdub3JlIG9wdGltYWwgSS9PIGlmIG5vdCBhbGlnbmVkIHRvIHBoeS5zZWN0b3Igc2l6ZSAqLworCQkJaWYgKGN4dC0+aW9fc2l6ZQorCQkJICAgICYmIGN4dC0+cGh5X3NlY3Rvcl9zaXplCisJCQkgICAgJiYgKGN4dC0+aW9fc2l6ZSAlIGN4dC0+cGh5X3NlY3Rvcl9zaXplKSAhPSAwKSB7CisJCQkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiaWdub3JlIG1pc2FsaWduZWQgSS9PIHNpemUiKSk7CisJCQkJY3h0LT5pb19zaXplID0gY3h0LT5waHlfc2VjdG9yX3NpemU7CisJCQl9CisKKwkJfQorCX0KKwlibGtpZF9mcmVlX3Byb2JlKHByKTsKKyNlbmRpZgorCisJY3h0LT5zZWN0b3Jfc2l6ZSA9IGdldF9zZWN0b3Jfc2l6ZShjeHQtPmRldl9mZCk7CisJaWYgKCFjeHQtPnBoeV9zZWN0b3Jfc2l6ZSkgLyogY291bGQgbm90IGRpc2NvdmVyIHBoeXNpY2FsIHNpemUgKi8KKwkJY3h0LT5waHlfc2VjdG9yX3NpemUgPSBjeHQtPnNlY3Rvcl9zaXplOworCisJLyogbm8gYmxraWQgb3IgZXJyb3IsIHVzZSBkZWZhdWx0IHZhbHVlcyAqLworCWlmICghY3h0LT5taW5faW9fc2l6ZSkKKwkJY3h0LT5taW5faW9fc2l6ZSA9IGN4dC0+c2VjdG9yX3NpemU7CisJaWYgKCFjeHQtPmlvX3NpemUpCisJCWN4dC0+aW9fc2l6ZSA9IGN4dC0+c2VjdG9yX3NpemU7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJyZXN1bHQ6IGxvZy9waHkgc2VjdG9yIHNpemU6ICVsZC8lbGQiLAorCQkJY3h0LT5zZWN0b3Jfc2l6ZSwgY3h0LT5waHlfc2VjdG9yX3NpemUpKTsKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJyZXN1bHQ6IGZkaXNrL29wdGltYWwvbWluaW1hbCBpbzogJWxkLyVsZC8lbGQiLAorCQkgICAgICAgY3h0LT5pb19zaXplLCBjeHQtPm9wdGltYWxfaW9fc2l6ZSwgY3h0LT5taW5faW9fc2l6ZSkpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGhhc190b3BvbG9neShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCS8qCisJICogQXNzdW1lIHRoYXQgdGhlIGRldmljZSBwcm92aWRlcyB0b3BvbG9neSBpbmZvIGlmCisJICogb3B0aW1hbF9pb19zaXplIGlzIHNldCBvciBhbGlnbm1lbnRfb2Zmc2V0IGlzIHNldCBvcgorCSAqIG1pbmltdW1faW9fc2l6ZSBpcyBub3QgcG93ZXIgb2YgMi4KKwkgKi8KKwlpZiAoY3h0ICYmCisJICAgIChjeHQtPm9wdGltYWxfaW9fc2l6ZSB8fAorCSAgICAgY3h0LT5hbGlnbm1lbnRfb2Zmc2V0IHx8CisJICAgICAhaXNfcG93ZXJfb2ZfMihjeHQtPm1pbl9pb19zaXplKSkpCisJCXJldHVybiAxOworCXJldHVybiAwOworfQorCisvKgorICogVGhlIExCQSBvZiB0aGUgZmlyc3QgcGFydGl0aW9uIGlzIGJhc2VkIG9uIHRoZSBkZXZpY2UgZ2VvbWV0cnkgYW5kIHRvcG9sb2d5LgorICogVGhpcyBvZmZzZXQgaXMgZ2VuZXJpYyAoYW5kIHJlY29tbWVuZGVkKSBmb3IgYWxsIGxhYmVscy4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIGVycm9yIG9yIG51bWJlciBvZiBsb2dpY2FsIHNlY3RvcnMuCisgKi8KK3N0YXRpYyBmZGlza19zZWN0b3JfdCB0b3BvbG9neV9nZXRfZmlyc3RfbGJhKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJZmRpc2tfc2VjdG9yX3QgeCA9IDAsIHJlczsKKworCWlmICghY3h0KQorCQlyZXR1cm4gMDsKKworCWlmICghY3h0LT5pb19zaXplKQorCQlmZGlza19kaXNjb3Zlcl90b3BvbG9neShjeHQpOworCisJLyoKKwkgKiBBbGlnbiB0aGUgYmVnaW4gb2YgcGFydGl0aW9ucyB0bzoKKwkgKgorCSAqIGEpIHRvcG9sb2d5CisJICogIGEyKSBhbGlnbm1lbnQgb2Zmc2V0CisJICogIGExKSBvciBwaHlzaWNhbCBzZWN0b3IgKG1pbmltYWxfaW9fc2l6ZSwgYWthICJncmFpbiIpCisJICoKKwkgKiBiKSBvciBkZWZhdWx0IHRvIDFNaUIgKDIwNDggc2VjdG9ycywgV2luZG93cyBWaXN0YSBkZWZhdWx0KQorCSAqCisJICogYykgb3IgZm9yIHZlcnkgc21hbGwgZGV2aWNlcyB1c2UgMSBwaHkuc2VjdG9yCisJICovCisJaWYgKGhhc190b3BvbG9neShjeHQpKSB7CisJCWlmIChjeHQtPmFsaWdubWVudF9vZmZzZXQpCisJCQl4ID0gY3h0LT5hbGlnbm1lbnRfb2Zmc2V0OworCQllbHNlIGlmIChjeHQtPmlvX3NpemUgPiAyMDQ4ICogNTEyKQorCQkJeCA9IGN4dC0+aW9fc2l6ZTsKKwl9CisJLyogZGVmYXVsdCB0byAxTWlCICovCisJaWYgKCF4KQorCQl4ID0gMjA0OCAqIDUxMjsKKworCXJlcyA9IHggLyBjeHQtPnNlY3Rvcl9zaXplOworCisJLyogZG9uJ3QgdXNlIGh1Z2Ugb2Zmc2V0IG9uIHNtYWxsIGRldmljZXMgKi8KKwlpZiAoY3h0LT50b3RhbF9zZWN0b3JzIDw9IHJlcyAqIDQpCisJCXJlcyA9IGN4dC0+cGh5X3NlY3Rvcl9zaXplIC8gY3h0LT5zZWN0b3Jfc2l6ZTsKKworCXJldHVybiByZXM7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIHRvcG9sb2d5X2dldF9ncmFpbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXVuc2lnbmVkIGxvbmcgcmVzOworCisJaWYgKCFjeHQpCisJCXJldHVybiAwOworCisJaWYgKCFjeHQtPmlvX3NpemUpCisJCWZkaXNrX2Rpc2NvdmVyX3RvcG9sb2d5KGN4dCk7CisKKwlyZXMgPSBjeHQtPmlvX3NpemU7CisKKwkvKiB1c2UgMU1pQiBncmFpbiBhbHdheXMgd2hlbiBwb3NzaWJsZSAqLworCWlmIChyZXMgPCAyMDQ4ICogNTEyKQorCQlyZXMgPSAyMDQ4ICogNTEyOworCisJLyogZG9uJ3QgdXNlIGh1Z2UgZ3JhaW4gb24gc21hbGwgZGV2aWNlcyAqLworCWlmIChjeHQtPnRvdGFsX3NlY3RvcnMgPD0gKHJlcyAqIDQgLyBjeHQtPnNlY3Rvcl9zaXplKSkKKwkJcmVzID0gY3h0LT5waHlfc2VjdG9yX3NpemU7CisKKwlyZXR1cm4gcmVzOworfQorCisvKioKKyAqIGZkaXNrX3Jlc2V0X2FsaWdubWVudDoKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqCisgKiBSZXNldHMgYWxpZ25tZW50IHNldHRpbmcgdG8gdGhlIGRlZmF1bHQgYW5kIGxhYmVsIHNwZWNpZmljIHZhbHVlcy4gVGhpcworICogZnVuY3Rpb24gZG9lcyBub3QgY2hhbmdlIGRldmljZSBwcm9wZXJ0aWVzIChJL08gbGltaXRzLCBnZW9tZXRyeSBldGMuKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwgMCBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgZmRpc2tfcmVzZXRfYWxpZ25tZW50KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJaW50IHJjID0gMDsKKworCWlmICghY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInJlc2V0dGluZyBhbGlnbm1lbnQuLi4iKSk7CisKKwkvKiBkZWZhdWx0ICovCisJY3h0LT5ncmFpbiA9IHRvcG9sb2d5X2dldF9ncmFpbihjeHQpOworCWN4dC0+Zmlyc3RfbGJhID0gdG9wb2xvZ3lfZ2V0X2ZpcnN0X2xiYShjeHQpOworCWN4dC0+bGFzdF9sYmEgPSBjeHQtPnRvdGFsX3NlY3RvcnMgLSAxOworCisJLyogb3ZlcndyaXRlIGRlZmF1bHQgYnkgbGFiZWwgc3R1ZmYgKi8KKwlpZiAoY3h0LT5sYWJlbCAmJiBjeHQtPmxhYmVsLT5vcC0+cmVzZXRfYWxpZ25tZW50KQorCQlyYyA9IGN4dC0+bGFiZWwtPm9wLT5yZXNldF9hbGlnbm1lbnQoY3h0KTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImFsaWdubWVudCByZXNldCB0bzogIgorCQkJICAgICJmaXJzdCBMQkE9JWp1LCBsYXN0IExCQT0lanUsIGdyYWluPSVsdSBbcmM9JWRdIiwKKwkJCSAgICAodWludG1heF90KSBjeHQtPmZpcnN0X2xiYSwgKHVpbnRtYXhfdCkgY3h0LT5sYXN0X2xiYSwKKwkJCSAgICBjeHQtPmdyYWluLAlyYykpOworCXJldHVybiByYzsKK30KKworCitmZGlza19zZWN0b3JfdCBmZGlza19zY3JvdW5kKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGZkaXNrX3NlY3Rvcl90IG51bSkKK3sKKwlmZGlza19zZWN0b3JfdCB1biA9IGZkaXNrX2dldF91bml0c19wZXJfc2VjdG9yKGN4dCk7CisJcmV0dXJuIChudW0gKyB1biAtIDEpIC8gdW47Cit9CisKK2ZkaXNrX3NlY3Rvcl90IGZkaXNrX2Nyb3VuZChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBmZGlza19zZWN0b3JfdCBudW0pCit7CisJcmV0dXJuIGZkaXNrX3VzZV9jeWxpbmRlcnMoY3h0KSA/CisJCQkobnVtIC8gZmRpc2tfZ2V0X3VuaXRzX3Blcl9zZWN0b3IoY3h0KSkgKyAxIDogbnVtOworfQorCisvKioKKyAqIGZkaXNrX3JlcmVhZF9wYXJ0aXRpb25fdGFibGU6CisgKiBAY3h0OiBjb250ZXh0CisgKgorICogRm9yY2UgKmtlcm5lbCogdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUgb24gYmxvY2sgZGV2aWNlcy4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwgMCBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgZmRpc2tfcmVyZWFkX3BhcnRpdGlvbl90YWJsZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWludCBpOworCXN0cnVjdCBzdGF0IHN0YXRidWY7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5kZXZfZmQgPj0gMCk7CisKKwlpID0gZnN0YXQoY3h0LT5kZXZfZmQsICZzdGF0YnVmKTsKKwlpZiAoaSA9PSAwICYmIFNfSVNCTEsoc3RhdGJ1Zi5zdF9tb2RlKSkgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJjYWxsaW5nIHJlLXJlYWQgaW9jdGwiKSk7CisJCXN5bmMoKTsKKyNpZmRlZiBCTEtSUlBBUlQKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIkNhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4iKSk7CisJCWkgPSBpb2N0bChjeHQtPmRldl9mZCwgQkxLUlJQQVJUKTsKKyNlbHNlCisJCWVycm5vID0gRU5PU1lTOworCQlpID0gMTsKKyNlbmRpZgorCX0KKworCWlmIChpKSB7CisJCWZkaXNrX3dhcm4oY3h0LCBfKCJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLiIpKTsKKwkJZmRpc2tfaW5mbyhjeHQsCV8oCisJCQkiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgdGFibGUuIFRoZSAiCisJCQkibmV3IHRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCByZWJvb3QgIgorCQkJIm9yIGFmdGVyIHlvdSBydW4gcGFydHByb2JlKDgpIG9yIGtwYXJ0eCg4KS4iKSk7CisJCXJldHVybiAtZXJybm87CisJfQorCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9saWJmZGlzay9zcmMvYXNrLmMgYi9saWJmZGlzay9zcmMvYXNrLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWEwOTUyMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmZkaXNrL3NyYy9hc2suYwpAQCAtMCwwICsxLDEwNDAgQEAKKworI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAiZmRpc2tQLmgiCisKKy8qKgorICogU0VDVElPTjogYXNrCisgKiBAdGl0bGU6IEFzaworICogQHNob3J0X2Rlc2NyaXB0aW9uOiBpbnRlcmZhY2UgZm9yIGRpYWxvZyBkcml2ZW4gcGFydGl0aW9uaW5nLCB3YXJuaW5nIGFuZCBpbmZvIG1lc3NhZ2VzCisgKgorICovCisKK3N0YXRpYyB2b2lkIGZkaXNrX2Fza19tZW51X3Jlc2V0X2l0ZW1zKHN0cnVjdCBmZGlza19hc2sgKmFzayk7CisKKworLyoqCisgKiBmZGlza19zZXRfYXNrOgorICogQGN4dDogY29udGV4dAorICogQGFza19jYjogY2FsbGJhY2sKKyAqIEBkYXRhOiBjYWxsYmFjayBkYXRhCisgKgorICogU2V0IGNhbGxiYWNrIGZvciBkaWFsb2cgZHJpdmVuIHBhcnRpdGlvbmluZyBhbmQgbGlicmFyeSB3YXJuaW5ncy9lcnJvcnMuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8IDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19zZXRfYXNrKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCWludCAoKmFza19jYikoc3RydWN0IGZkaXNrX2NvbnRleHQgKiwgc3RydWN0IGZkaXNrX2FzayAqLCB2b2lkICopLAorCQl2b2lkICpkYXRhKQoreworCWFzc2VydChjeHQpOworCisJY3h0LT5hc2tfY2IgPSBhc2tfY2I7CisJY3h0LT5hc2tfZGF0YSA9IGRhdGE7CisJcmV0dXJuIDA7Cit9CisKK3N0cnVjdCBmZGlza19hc2sgKmZkaXNrX25ld19hc2sodm9pZCkKK3sKKwlzdHJ1Y3QgZmRpc2tfYXNrICphc2sgPSBjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBmZGlza19hc2spKTsKKwlEQkcoQVNLLCB1bF9kZWJ1Z29iaihhc2ssICJhbGxvYyIpKTsKKwlhc2stPnJlZmNvdW50ID0gMTsKKwlyZXR1cm4gYXNrOworfQorCit2b2lkIGZkaXNrX3Jlc2V0X2FzayhzdHJ1Y3QgZmRpc2tfYXNrICphc2spCit7CisJaW50IHJlZmNvdW50OworCisJYXNzZXJ0KGFzayk7CisJZnJlZShhc2stPnF1ZXJ5KTsKKworCURCRyhBU0ssIHVsX2RlYnVnb2JqKGFzaywgInJlc2V0IikpOworCXJlZmNvdW50ID0gYXNrLT5yZWZjb3VudDsKKworCWlmIChmZGlza19pc19hc2soYXNrLCBNRU5VKSkKKwkJZmRpc2tfYXNrX21lbnVfcmVzZXRfaXRlbXMoYXNrKTsKKworCW1lbXNldChhc2ssIDAsIHNpemVvZigqYXNrKSk7CisJYXNrLT5yZWZjb3VudCA9IHJlZmNvdW50OworfQorCisvKioKKyAqIGZkaXNrX3JlZl9hc2s6CisgKiBAYXNrOiBhc2sgaW5zdGFuY2UKKyAqCisgKiBJbmNyZW1lbnRzIHJlZmVyZW5jZSBjb3VudGVyLgorICovCit2b2lkIGZkaXNrX3JlZl9hc2soc3RydWN0IGZkaXNrX2FzayAqYXNrKQoreworCWlmIChhc2spCisJCWFzay0+cmVmY291bnQrKzsKK30KKworCisvKioKKyAqIGZkaXNrX3VucmVmX2FzazoKKyAqIEBhc2s6IGFzayBpbnN0YW5jZQorICoKKyAqIERlY3JlbWVudHMgcmVmZXJlbmNlIGNvdW50ZXIsIG9uIHplcm8gdGhlIEBhc2sgaXMgYXV0b21hdGljYWxseQorICogZGVhbGxvY2F0ZWQuCisgKi8KK3ZvaWQgZmRpc2tfdW5yZWZfYXNrKHN0cnVjdCBmZGlza19hc2sgKmFzaykKK3sKKwlpZiAoIWFzaykKKwkJcmV0dXJuOworCWFzay0+cmVmY291bnQtLTsKKworCWlmIChhc2stPnJlZmNvdW50IDw9IDApIHsKKwkJZmRpc2tfcmVzZXRfYXNrKGFzayk7CisJCURCRyhBU0ssIHVsX2RlYnVnb2JqKGFzaywgImZyZWUiKSk7CisJCWZyZWUoYXNrKTsKKwl9Cit9CisKKy8qKgorICogZmRpc2tfYXNrX2dldF9xdWVyeToKKyAqIEBhc2s6IGFzayBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IHBvaW50ZXIgdG8gZGlhbG9nIHN0cmluZy4KKyAqLworY29uc3QgY2hhciAqZmRpc2tfYXNrX2dldF9xdWVyeShzdHJ1Y3QgZmRpc2tfYXNrICphc2spCit7CisJYXNzZXJ0KGFzayk7CisJcmV0dXJuIGFzay0+cXVlcnk7Cit9CisKK2ludCBmZGlza19hc2tfc2V0X3F1ZXJ5KHN0cnVjdCBmZGlza19hc2sgKmFzaywgY29uc3QgY2hhciAqc3RyKQoreworCWFzc2VydChhc2spOworCXJldHVybiBzdHJkdXBfdG9fc3RydWN0X21lbWJlcihhc2ssIHF1ZXJ5LCBzdHIpOworfQorCisvKioKKyAqIGZkaXNrX2Fza19nZXRfdHlwZToKKyAqIEBhc2s6IGFzayBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IEZESVNLX0FTS1RZUEVfKgorICovCitpbnQgZmRpc2tfYXNrX2dldF90eXBlKHN0cnVjdCBmZGlza19hc2sgKmFzaykKK3sKKwlhc3NlcnQoYXNrKTsKKwlyZXR1cm4gYXNrLT50eXBlOworfQorCitpbnQgZmRpc2tfYXNrX3NldF90eXBlKHN0cnVjdCBmZGlza19hc2sgKmFzaywgaW50IHR5cGUpCit7CisJYXNzZXJ0KGFzayk7CisJYXNrLT50eXBlID0gdHlwZTsKKwlyZXR1cm4gMDsKK30KKworaW50IGZkaXNrX2RvX2FzayhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzdHJ1Y3QgZmRpc2tfYXNrICphc2spCit7CisJaW50IHJjOworCisJYXNzZXJ0KGFzayk7CisJYXNzZXJ0KGN4dCk7CisKKwlEQkcoQVNLLCB1bF9kZWJ1Z29iaihhc2ssICJkb19hc2sgZm9yICclcyciLAorCQkJCWFzay0+cXVlcnkgPyBhc2stPnF1ZXJ5IDoKKwkJCQlhc2stPnR5cGUgPT0gRkRJU0tfQVNLVFlQRV9JTkZPICA/ICJpbmZvIiA6CisJCQkJYXNrLT50eXBlID09IEZESVNLX0FTS1RZUEVfV0FSTlggPyAid2FybngiIDoKKwkJCQlhc2stPnR5cGUgPT0gRkRJU0tfQVNLVFlQRV9XQVJOICA/ICJ3YXJuIiA6CisJCQkJIj9ub3RoaW5nPyIpKTsKKworCWlmICghY3h0LT5hc2tfY2IpIHsKKwkJREJHKEFTSywgdWxfZGVidWdvYmooYXNrLCAibm8gYXNrIGNhbGxiYWNrIHNwZWNpZmllZCEiKSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCXJjID0gY3h0LT5hc2tfY2IoY3h0LCBhc2ssIGN4dC0+YXNrX2RhdGEpOworCisJREJHKEFTSywgdWxfZGVidWdvYmooYXNrLCAiZG9fYXNrIGRvbmUgW3JjPSVkXSIsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCisjZGVmaW5lIGlzX251bWJlcl9hc2soYSkgIChmZGlza19pc19hc2soYSwgTlVNQkVSKSB8fCBmZGlza19pc19hc2soYSwgT0ZGU0VUKSkKKworLyoqCisgKiBmZGlza19hc2tfbnVtYmVyX2dldF9yYW5nZToKKyAqIEBhc2s6IGFzayBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IHN0cmluZyB3aXRoIHJhbmdlIChlLmcuICIxLDMsNS0xMCIpCisgKi8KK2NvbnN0IGNoYXIgKmZkaXNrX2Fza19udW1iZXJfZ2V0X3JhbmdlKHN0cnVjdCBmZGlza19hc2sgKmFzaykKK3sKKwlhc3NlcnQoYXNrKTsKKwlhc3NlcnQoaXNfbnVtYmVyX2Fzayhhc2spKTsKKwlyZXR1cm4gYXNrLT5kYXRhLm51bS5yYW5nZTsKK30KKworaW50IGZkaXNrX2Fza19udW1iZXJfc2V0X3JhbmdlKHN0cnVjdCBmZGlza19hc2sgKmFzaywgY29uc3QgY2hhciAqcmFuZ2UpCit7CisJYXNzZXJ0KGFzayk7CisJYXNzZXJ0KGlzX251bWJlcl9hc2soYXNrKSk7CisJYXNrLT5kYXRhLm51bS5yYW5nZSA9IHJhbmdlOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX2Fza19udW1iZXJfZ2V0X2RlZmF1bHQ6CisgKiBAYXNrOiBhc2sgaW5zdGFuY2UKKyAqCisgKiBSZXR1cm5zOiBkZWZhdWx0IG51bWJlcgorICoKKyAqLwordWludDY0X3QgZmRpc2tfYXNrX251bWJlcl9nZXRfZGVmYXVsdChzdHJ1Y3QgZmRpc2tfYXNrICphc2spCit7CisJYXNzZXJ0KGFzayk7CisJYXNzZXJ0KGlzX251bWJlcl9hc2soYXNrKSk7CisJcmV0dXJuIGFzay0+ZGF0YS5udW0uZGZsOworfQorCitpbnQgZmRpc2tfYXNrX251bWJlcl9zZXRfZGVmYXVsdChzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIHVpbnQ2NF90IGRmbHQpCit7CisJYXNzZXJ0KGFzayk7CisJYXNrLT5kYXRhLm51bS5kZmwgPSBkZmx0OworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX2Fza19udW1iZXJfZ2V0X2xvdzoKKyAqIEBhc2s6IGFzayBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IG1pbmltYWwgcG9zc2libGUgbnVtYmVyIHdoZW4gYXNrIGZvciBudW1iZXJzIGluIHJhbmdlCisgKi8KK3VpbnQ2NF90IGZkaXNrX2Fza19udW1iZXJfZ2V0X2xvdyhzdHJ1Y3QgZmRpc2tfYXNrICphc2spCit7CisJYXNzZXJ0KGFzayk7CisJYXNzZXJ0KGlzX251bWJlcl9hc2soYXNrKSk7CisJcmV0dXJuIGFzay0+ZGF0YS5udW0ubG93OworfQorCitpbnQgZmRpc2tfYXNrX251bWJlcl9zZXRfbG93KHN0cnVjdCBmZGlza19hc2sgKmFzaywgdWludDY0X3QgbG93KQoreworCWFzc2VydChhc2spOworCWFzay0+ZGF0YS5udW0ubG93ID0gbG93OworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX2Fza19udW1iZXJfZ2V0X2hpZ2g6CisgKiBAYXNrOiBhc2sgaW5zdGFuY2UKKyAqCisgKiBSZXR1cm5zOiBtYXhpbWFsIHBvc3NpYmxlIG51bWJlciB3aGVuIGFzayBmb3IgbnVtYmVycyBpbiByYW5nZQorICovCit1aW50NjRfdCBmZGlza19hc2tfbnVtYmVyX2dldF9oaWdoKHN0cnVjdCBmZGlza19hc2sgKmFzaykKK3sKKwlhc3NlcnQoYXNrKTsKKwlhc3NlcnQoaXNfbnVtYmVyX2Fzayhhc2spKTsKKwlyZXR1cm4gYXNrLT5kYXRhLm51bS5oaWc7Cit9CisKK2ludCBmZGlza19hc2tfbnVtYmVyX3NldF9oaWdoKHN0cnVjdCBmZGlza19hc2sgKmFzaywgdWludDY0X3QgaGlnaCkKK3sKKwlhc3NlcnQoYXNrKTsKKwlhc2stPmRhdGEubnVtLmhpZyA9IGhpZ2g7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfYXNrX251bWJlcl9nZXRfcmVzdWx0OgorICogQGFzazogYXNrIGluc3RhbmNlCisgKgorICogUmV0dXJuczogcmVzdWx0CisgKi8KK3VpbnQ2NF90IGZkaXNrX2Fza19udW1iZXJfZ2V0X3Jlc3VsdChzdHJ1Y3QgZmRpc2tfYXNrICphc2spCit7CisJYXNzZXJ0KGFzayk7CisJYXNzZXJ0KGlzX251bWJlcl9hc2soYXNrKSk7CisJcmV0dXJuIGFzay0+ZGF0YS5udW0ucmVzdWx0OworfQorCisvKioKKyAqIGZkaXNrX2Fza19udW1iZXJfc2V0X3Jlc3VsdDoKKyAqIEBhc2s6IGFzayBpbnN0YW5jZQorICogQHJlc3VsdDogZGlhbG9nIHJlc3VsdAorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IKKyAqLworaW50IGZkaXNrX2Fza19udW1iZXJfc2V0X3Jlc3VsdChzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIHVpbnQ2NF90IHJlc3VsdCkKK3sKKwlhc3NlcnQoYXNrKTsKKwlhc2stPmRhdGEubnVtLnJlc3VsdCA9IHJlc3VsdDsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19hc2tfbnVtYmVyX2dldF9iYXNlOgorICogQGFzazogYXNrIGluc3RhbmNlCisgKgorICogUmV0dXJuczogYmFzZSB3aGVuIHVzZXIgc3BlY2lmeSBudW1iZXIgaW4gcmVsYXRpdmUgbm90YXRpb24gKCtzaXplKQorICovCit1aW50NjRfdCBmZGlza19hc2tfbnVtYmVyX2dldF9iYXNlKHN0cnVjdCBmZGlza19hc2sgKmFzaykKK3sKKwlhc3NlcnQoYXNrKTsKKwlhc3NlcnQoaXNfbnVtYmVyX2Fzayhhc2spKTsKKwlyZXR1cm4gYXNrLT5kYXRhLm51bS5iYXNlOworfQorCitpbnQgZmRpc2tfYXNrX251bWJlcl9zZXRfYmFzZShzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIHVpbnQ2NF90IGJhc2UpCit7CisJYXNzZXJ0KGFzayk7CisJYXNrLT5kYXRhLm51bS5iYXNlID0gYmFzZTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19hc2tfbnVtYmVyX2dldF91bml0OgorICogQGFzazogYXNrIGluc3RhbmNlCisgKgorICogUmV0dXJuczogbnVtYmVyIG9mIGJ5dGVzIHBlciB0aGUgdW5pdAorICovCit1aW50NjRfdCBmZGlza19hc2tfbnVtYmVyX2dldF91bml0KHN0cnVjdCBmZGlza19hc2sgKmFzaykKK3sKKwlhc3NlcnQoYXNrKTsKKwlhc3NlcnQoaXNfbnVtYmVyX2Fzayhhc2spKTsKKwlyZXR1cm4gYXNrLT5kYXRhLm51bS51bml0OworfQorCitpbnQgZmRpc2tfYXNrX251bWJlcl9zZXRfdW5pdChzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIHVpbnQ2NF90IHVuaXQpCit7CisJYXNzZXJ0KGFzayk7CisJYXNrLT5kYXRhLm51bS51bml0ID0gdW5pdDsKKwlyZXR1cm4gMDsKK30KKworaW50IGZkaXNrX2Fza19udW1iZXJfaXNfcmVsYXRpdmUoc3RydWN0IGZkaXNrX2FzayAqYXNrKQoreworCWFzc2VydChhc2spOworCWFzc2VydChpc19udW1iZXJfYXNrKGFzaykpOworCXJldHVybiBhc2stPmRhdGEubnVtLnJlbGF0aXZlOworfQorCisvKioKKyAqIGZkaXNrX2Fza19udW1iZXJfc2V0X3JlbGF0aXZlCisgKiBAYXNrOiBhc2sgaW5zdGFuY2UKKyAqIEByZWxhdGl2ZTogMCBvciAxCisgKgorICogSW5mb3JtIGxpYmZkaXNrIHRoYXQgdXNlciBzcGVjaWZpZWQgbnVtYmVyIGluIHJlbGF0aXZlIG5vdGF0aW9uIHJhdGhlciB0aGFuCisgKiBieSBleHBsaWNpdCBudW1iZXIuIFRoaXMgaW5mbyBhbGxvd3MgdG8gZmRpc2sgZG8gc29tZSBvcHRpbWl6YXRpb24gKGUuZy4KKyAqIGFsaWduIGVuZCBvZiBwYXJ0aXRpb24sIGV0Yy4pCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvcgorICovCitpbnQgZmRpc2tfYXNrX251bWJlcl9zZXRfcmVsYXRpdmUoc3RydWN0IGZkaXNrX2FzayAqYXNrLCBpbnQgcmVsYXRpdmUpCit7CisJYXNzZXJ0KGFzayk7CisJYXNrLT5kYXRhLm51bS5yZWxhdGl2ZSA9IHJlbGF0aXZlID8gMSA6IDA7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfYXNrX251bWJlcl9pbmNoYXJzOgorICogQGFzazogYXNrIGluc3RhbmNlCisgKgorICogRm9yIGV4YW1wbGUgZm9yIEJTRCBpcyBub3JtYWwgdG8gYWRkcmVzcyBwYXJ0aXRpb24gYnkgY2hhcnMgcmF0aGVyIHRoYW4gYnkKKyAqIG51bWJlciAoZmlyc3QgcGFydGl0aW9uIGlzICdhJykuCisgKgorICogUmV0dXJuczogMSBpZiBudW1iZXIgc2hvdWxkIGJlIHByZXNlbnRlZCBhcyBjaGFycworICoKKyAqLworaW50IGZkaXNrX2Fza19udW1iZXJfaW5jaGFycyhzdHJ1Y3QgZmRpc2tfYXNrICphc2spCit7CisJYXNzZXJ0KGFzayk7CisJYXNzZXJ0KGlzX251bWJlcl9hc2soYXNrKSk7CisJcmV0dXJuIGFzay0+ZGF0YS5udW0uaW5jaGFyczsKK30KKworLyoKKyAqIEdlbmVyYXRlcyBzdHJpbmcgd2l0aCBsaXN0IHJhbmdlcyAoZS5nLiAxLDIsNS04KSBmb3IgdGhlICdjdXInCisgKi8KKyNkZWZpbmUgdG9jaGFyKG51bSkJKChpbnQpICgnYScgKyBudW0gLSAxKSkKK3N0YXRpYyBjaGFyICpta19zdHJpbmdfbGlzdChjaGFyICpwdHIsIHNpemVfdCAqbGVuLCBzaXplX3QgKmJlZ2luLAorCQkJICAgIHNpemVfdCAqcnVuLCBzc2l6ZV90IGN1ciwgaW50IGluY2hhcikKK3sKKwlpbnQgcmxlbjsKKworCWlmIChjdXIgIT0gLTEpIHsKKwkJaWYgKCEqYmVnaW4pIHsJCQkvKiBiZWdpbiBvZiB0aGUgbGlzdCAqLworCQkJKmJlZ2luID0gY3VyICsgMTsKKwkJCXJldHVybiBwdHI7CisJCX0KKworCQlpZiAoKmJlZ2luICsgKnJ1biA9PSAoc2l6ZV90KWN1cikgewkvKiBubyBnYXAsIGNvbnRpbnVlICovCisJCQkoKnJ1bikrKzsKKwkJCXJldHVybiBwdHI7CisJCX0KKwl9IGVsc2UgaWYgKCEqYmVnaW4pIHsKKwkJKnB0ciA9ICdcMCc7CisJCXJldHVybiBwdHI7CQkvKiBlbmQgb2YgZW1wdHkgbGlzdCAqLworCX0KKworCQkJCQkvKiBhZGQgdG8gdGhlIGxpc3QgKi8KKwlpZiAoISpydW4pCisJCXJsZW4gPSBpbmNoYXIgPyBzbnByaW50ZihwdHIsICpsZW4sICIlYywiLCB0b2NoYXIoKmJlZ2luKSkgOgorCQkJCXNucHJpbnRmKHB0ciwgKmxlbiwgIiV6dSwiLCAqYmVnaW4pOworCWVsc2UgaWYgKCpydW4gPT0gMSkKKwkJcmxlbiA9IGluY2hhciA/CisJCQlzbnByaW50ZihwdHIsICpsZW4sICIlYywlYywiLCB0b2NoYXIoKmJlZ2luKSwgdG9jaGFyKCpiZWdpbiArIDEpKSA6CisJCQlzbnByaW50ZihwdHIsICpsZW4sICIlenUsJXp1LCIsICpiZWdpbiwgKmJlZ2luICsgMSk7CisJZWxzZQorCQlybGVuID0gaW5jaGFyID8KKwkJCXNucHJpbnRmKHB0ciwgKmxlbiwgIiVjLSVjLCIsIHRvY2hhcigqYmVnaW4pLCB0b2NoYXIoKmJlZ2luICsgKnJ1bikpIDoKKwkJCXNucHJpbnRmKHB0ciwgKmxlbiwgIiV6dS0lenUsIiwgKmJlZ2luLCAqYmVnaW4gKyAqcnVuKTsKKworCWlmIChybGVuIDwgMCB8fCAoc2l6ZV90KSBybGVuID49ICpsZW4pCisJCXJldHVybiBOVUxMOworCisJcHRyICs9IHJsZW47CisJKmxlbiAtPSBybGVuOworCisJaWYgKGN1ciA9PSAtMSAmJiAqYmVnaW4pIHsKKwkJLyogZW5kIG9mIHRoZSBsaXN0ICovCisJCSoocHRyIC0gMSkgPSAnXDAnOwkvKiByZW1vdmUgdGFpbGluZyAnLCcgZnJvbSB0aGUgbGlzdCAqLworCQlyZXR1cm4gcHRyOworCX0KKworCSpiZWdpbiA9IGN1ciArIDE7CisJKnJ1biA9IDA7CisKKwlyZXR1cm4gcHRyOworfQorCisvKioKKyAqIGZkaXNrX2Fza19wYXJ0bnVtOgorICogQGN4dDogY29udGV4dAorICogQHBhcnRudW06IHJldHVybnMgcGFydGl0aW9uIG51bWJlcgorICogQHdhbnRuZXc6IDB8MQorICoKKyAqIEhpZ2gtbGV2ZWwgQVBJIHRvIGFzayBmb3IgdXNlZCBvciB1bnVzZWQgcGFydGl0aW9uIG51bWJlci4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwgMCBvbiBlcnJvciwgMSBpZiBubyBmcmVlL3VzZWQgcGFydGl0aW9uCisgKi8KK2ludCBmZGlza19hc2tfcGFydG51bShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgKnBhcnRudW0sIGludCB3YW50bmV3KQoreworCWludCByYyA9IDAsIGluY2hhciA9IDA7CisJY2hhciByYW5nZVtCVUZTSVpdLCAqcHRyID0gcmFuZ2U7CisJc2l6ZV90IGksIGxlbiA9IHNpemVvZihyYW5nZSksIGJlZ2luID0gMCwgcnVuID0gMDsKKwlzdHJ1Y3QgZmRpc2tfYXNrICphc2sgPSBOVUxMOworCV9fdHlwZW9mX18oYXNrLT5kYXRhLm51bSkgKm51bTsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQocGFydG51bSk7CisKKwlpZiAoY3h0LT5sYWJlbCAmJiBjeHQtPmxhYmVsLT5mbGFncyAmIEZESVNLX0xBQkVMX0ZMX0lOQ0hBUlNfUEFSVE5PKQorCQlpbmNoYXIgPSAxOworCisJREJHKEFTSywgdWxfZGVidWcoIiVzOiBhc2tpbmcgZm9yICVzIHBhcnRpdGlvbiBudW1iZXIgIgorCQkJICAiKG1heDogJXp1LCBpbmNoYXI6ICVzKSIsCisJCQljeHQtPmxhYmVsID8gY3h0LT5sYWJlbC0+bmFtZSA6ICI/Pz8iLAorCQkJd2FudG5ldyA/ICJuZXciIDogInVzZWQiLAorCQkJY3h0LT5sYWJlbCA/IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXggOiAwLAorCQkJaW5jaGFyID8gInllcyIgOiAibm90IikpOworCisJYXNrID0gZmRpc2tfbmV3X2FzaygpOworCWlmICghYXNrKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWZkaXNrX2Fza19zZXRfdHlwZShhc2ssIEZESVNLX0FTS1RZUEVfTlVNQkVSKTsKKwludW0gPSAmYXNrLT5kYXRhLm51bTsKKworCWFzay0+ZGF0YS5udW0uaW5jaGFycyA9IGluY2hhciA/IDEgOiAwOworCisJZm9yIChpID0gMDsgaSA8IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXg7IGkrKykgeworCQlpbnQgdXNlZCA9IGZkaXNrX2lzX3BhcnRpdGlvbl91c2VkKGN4dCwgaSk7CisKKwkJaWYgKHdhbnRuZXcgJiYgIXVzZWQpIHsKKwkJCXB0ciA9IG1rX3N0cmluZ19saXN0KHB0ciwgJmxlbiwgJmJlZ2luLCAmcnVuLCBpLCBpbmNoYXIpOworCQkJaWYgKCFwdHIpIHsKKwkJCQlyYyA9IC1FSU5WQUw7CisJCQkJYnJlYWs7CisJCQl9CisJCQlpZiAoIW51bS0+bG93KQorCQkJCW51bS0+ZGZsID0gbnVtLT5sb3cgPSBpICsgMTsKKwkJCW51bS0+aGlnID0gaSArIDE7CisJCX0gZWxzZSBpZiAoIXdhbnRuZXcgJiYgdXNlZCkgeworCQkJcHRyID0gbWtfc3RyaW5nX2xpc3QocHRyLCAmbGVuLCAmYmVnaW4sICZydW4sIGksIGluY2hhcik7CisJCQlpZiAoIW51bS0+bG93KQorCQkJCW51bS0+bG93ID0gaSArIDE7CisJCQludW0tPmRmbCA9IG51bS0+aGlnID0gaSArIDE7CisJCX0KKwl9CisKKwlEQkcoQVNLLCB1bF9kZWJ1Z29iaihhc2ssICJhc2sgbGltaXRzOiBsb3c6ICUiUFJJdTY0IiwgaGlnaDogJSJQUkl1NjQiLCBkZWZhdWx0OiAlIlBSSXU2NCIiLAorCQkJCW51bS0+bG93LCBudW0tPmhpZywgbnVtLT5kZmwpKTsKKworCWlmICghcmMgJiYgIXdhbnRuZXcgJiYgbnVtLT5sb3cgPT0gbnVtLT5oaWcpIHsKKwkJaWYgKG51bS0+bG93ID4gMCkgeworCQkJLyogb25seSBvbmUgZXhpc3RpbmcgcGFydGl0aW9uLCBkb24ndCBhc2ssIHJldHVybiB0aGUgbnVtYmVyICovCisJCQlmZGlza19hc2tfbnVtYmVyX3NldF9yZXN1bHQoYXNrLCBudW0tPmxvdyk7CisJCQlmZGlza19pbmZvKGN4dCwgXygiU2VsZWN0ZWQgcGFydGl0aW9uICVqdSIpLCBudW0tPmxvdyk7CisKKwkJfSBlbHNlIGlmIChudW0tPmxvdyA9PSAwKSB7CisJCQlmZGlza193YXJueChjeHQsIF8oIk5vIHBhcnRpdGlvbiBpcyBkZWZpbmVkIHlldCEiKSk7CisJCQlyYyA9IDE7CisJCX0KKwkJZ290byBkb250X2FzazsKKwl9CisJaWYgKCFyYyAmJiB3YW50bmV3ICYmIG51bS0+bG93ID09IG51bS0+aGlnKSB7CisJCWlmIChudW0tPmxvdyA+IDApIHsKKwkJCS8qIG9ubHkgb25lIGZyZWUgcGFydGl0aW9uLCBkb24ndCBhc2ssIHJldHVybiB0aGUgbnVtYmVyICovCisJCQlmZGlza19hc2tfbnVtYmVyX3NldF9yZXN1bHQoYXNrLCBudW0tPmxvdyk7CisJCQlmZGlza19pbmZvKGN4dCwgXygiU2VsZWN0ZWQgcGFydGl0aW9uICVqdSIpLCBudW0tPmxvdyk7CisJCX0KKwkJaWYgKG51bS0+bG93ID09IDApIHsKKwkJCWZkaXNrX3dhcm54KGN4dCwgXygiTm8gZnJlZSBwYXJ0aXRpb24gYXZhaWxhYmxlISIpKTsKKwkJCXJjID0gMTsKKwkJfQorCQlnb3RvIGRvbnRfYXNrOworCX0KKwlpZiAoIXJjKSB7CisJCW1rX3N0cmluZ19saXN0KHB0ciwgJmxlbiwgJmJlZ2luLCAmcnVuLCAtMSwgaW5jaGFyKTsJLyogdGVybWluYXRlIHRoZSBsaXN0ICovCisJCXJjID0gZmRpc2tfYXNrX251bWJlcl9zZXRfcmFuZ2UoYXNrLCByYW5nZSk7CisJfQorCWlmICghcmMpCisJCXJjID0gZmRpc2tfYXNrX3NldF9xdWVyeShhc2ssIF8oIlBhcnRpdGlvbiBudW1iZXIiKSk7CisJaWYgKCFyYykKKwkJcmMgPSBmZGlza19kb19hc2soY3h0LCBhc2spOworCitkb250X2FzazoKKwlpZiAoIXJjKSB7CisJCSpwYXJ0bnVtID0gZmRpc2tfYXNrX251bWJlcl9nZXRfcmVzdWx0KGFzayk7CisJCWlmICgqcGFydG51bSkKKwkJCSpwYXJ0bnVtIC09IDE7CisJfQorCURCRyhBU0ssIHVsX2RlYnVnb2JqKGFzaywgInJlc3VsdDogJSJQUkl1NjQiIFtyYz0lZF1cbiIsIGZkaXNrX2Fza19udW1iZXJfZ2V0X3Jlc3VsdChhc2spLCByYykpOworCWZkaXNrX3VucmVmX2Fzayhhc2spOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBmZGlza19hc2tfbnVtYmVyOgorICogQGN4dDogY29udGV4dAorICogQGxvdzogbWluaW1hbCBwb3NzaWJsZSBudW1iZXIKKyAqIEBkZmx0OiBkZWZhdWx0IHN1Z2dlc3Rpb24KKyAqIEBoaWdoOiBtYXhpbWFsIHBvc3NpYmxlIG51bWJlcgorICogQHF1ZXJ5OiBxdWVzdGlvbiBzdHJpbmcKKyAqIEByZXN1bHQ6IHJldHVybnMgcmVzdWx0CisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX2Fza19udW1iZXIoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJICAgICB1aW50bWF4X3QgbG93LAorCQkgICAgIHVpbnRtYXhfdCBkZmx0LAorCQkgICAgIHVpbnRtYXhfdCBoaWdoLAorCQkgICAgIGNvbnN0IGNoYXIgKnF1ZXJ5LAorCQkgICAgIHVpbnRtYXhfdCAqcmVzdWx0KQoreworCXN0cnVjdCBmZGlza19hc2sgKmFzazsKKwlpbnQgcmM7CisKKwlhc3NlcnQoY3h0KTsKKworCWFzayA9IGZkaXNrX25ld19hc2soKTsKKwlpZiAoIWFzaykKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlyYyA9IGZkaXNrX2Fza19zZXRfdHlwZShhc2ssIEZESVNLX0FTS1RZUEVfTlVNQkVSKTsKKwlpZiAoIXJjKQorCQlmZGlza19hc2tfbnVtYmVyX3NldF9sb3coYXNrLCBsb3cpOworCWlmICghcmMpCisJCWZkaXNrX2Fza19udW1iZXJfc2V0X2RlZmF1bHQoYXNrLCBkZmx0KTsKKwlpZiAoIXJjKQorCQlmZGlza19hc2tfbnVtYmVyX3NldF9oaWdoKGFzaywgaGlnaCk7CisJaWYgKCFyYykKKwkJZmRpc2tfYXNrX3NldF9xdWVyeShhc2ssIHF1ZXJ5KTsKKwlpZiAoIXJjKQorCQlyYyA9IGZkaXNrX2RvX2FzayhjeHQsIGFzayk7CisJaWYgKCFyYykKKwkJKnJlc3VsdCA9IGZkaXNrX2Fza19udW1iZXJfZ2V0X3Jlc3VsdChhc2spOworCisJREJHKEFTSywgdWxfZGVidWdvYmooYXNrLCAicmVzdWx0OiAlanUgW3JjPSVkXVxuIiwgKnJlc3VsdCwgcmMpKTsKKwlmZGlza191bnJlZl9hc2soYXNrKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogZmRpc2tfYXNrX3N0cmluZ19nZXRfcmVzdWx0OgorICogQGFzazogYXNrIGluc3RhbmNlCisgKgorICogUmV0dXJuczogcG9pbnRlciB0byBkaWFsb2cgcmVzdWx0CisgKi8KK2NoYXIgKmZkaXNrX2Fza19zdHJpbmdfZ2V0X3Jlc3VsdChzdHJ1Y3QgZmRpc2tfYXNrICphc2spCit7CisJYXNzZXJ0KGFzayk7CisJYXNzZXJ0KGZkaXNrX2lzX2Fzayhhc2ssIFNUUklORykpOworCXJldHVybiBhc2stPmRhdGEuc3RyLnJlc3VsdDsKK30KKworLyoqCisgKiBmZGlza19hc2tfc3RyaW5nX3NldF9yZXN1bHQ6CisgKiBAYXNrOiBhc2sgaW5zdGFuY2UKKyAqIEByZXN1bHQ6IHBvaW50ZXIgdG8gYWxsb2NhdGVkIGJ1ZmZlciB3aXRoIHN0cmluZworICoKKyAqIFlvdSBkb24ndCBoYXZlIHRvIGNhcmUgYWJvdXQgdGhlIEByZXN1bHQgZGVhbGxvY2F0aW9uLCBsaWJmZGlzayBpcyBnb2luZyB0bworICogZGVhbGxvY2F0ZSB0aGUgcmVzdWx0IHdoZW4gZGVzdHJveSBAYXNrIGluc3RhbmNlLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IKKyAqLworaW50IGZkaXNrX2Fza19zdHJpbmdfc2V0X3Jlc3VsdChzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIGNoYXIgKnJlc3VsdCkKK3sKKwlhc3NlcnQoYXNrKTsKKwlhc2stPmRhdGEuc3RyLnJlc3VsdCA9IHJlc3VsdDsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19hc2tfc3RyaW5nOgorICogQGN4dDogY29udGV4dDoKKyAqIEBxdWVyeTogcXVlc3Rpb24gc3RyaW5nCisgKiBAcmVzdWx0OiByZXR1cm5zIGFsbG9jYXRlZCBidWZmZXIKKyAqCisgKiBIaWdoLWxldmVsIEFQSSB0byBhc2sgZm9yIHN0cmluZ3MuIERvbid0IGZvcmdldCB0byBkZWFsbG9jYXRlIHRoZSBAcmVzdWx0LgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19hc2tfc3RyaW5nKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCSAgICAgY29uc3QgY2hhciAqcXVlcnksCisJCSAgICAgY2hhciAqKnJlc3VsdCkKK3sKKwlzdHJ1Y3QgZmRpc2tfYXNrICphc2s7CisJaW50IHJjOworCisJYXNzZXJ0KGN4dCk7CisKKwlhc2sgPSBmZGlza19uZXdfYXNrKCk7CisJaWYgKCFhc2spCisJCXJldHVybiAtRU5PTUVNOworCisJcmMgPSBmZGlza19hc2tfc2V0X3R5cGUoYXNrLCBGRElTS19BU0tUWVBFX1NUUklORyk7CisJaWYgKCFyYykKKwkJZmRpc2tfYXNrX3NldF9xdWVyeShhc2ssIHF1ZXJ5KTsKKwlpZiAoIXJjKQorCQlyYyA9IGZkaXNrX2RvX2FzayhjeHQsIGFzayk7CisJaWYgKCFyYykKKwkJKnJlc3VsdCA9IGZkaXNrX2Fza19zdHJpbmdfZ2V0X3Jlc3VsdChhc2spOworCisJREJHKEFTSywgdWxfZGVidWdvYmooYXNrLCAicmVzdWx0OiAlcyBbcmM9JWRdXG4iLCAqcmVzdWx0LCByYykpOworCWZkaXNrX3VucmVmX2Fzayhhc2spOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBmZGlza19hc2tfeWVzbm86CisgKiBAY3h0OiBjb250ZXh0CisgKiBAcXVlcnk6IHF1ZXN0aW9uIHN0cmluZworICogQHJlc3VsdDogcmV0dXJucyAwIChubykgb3IgMSAoeWVzKQorICoKKyAqIEhpZ2gtbGV2ZWwgQVBJIHRvIGFzayBZZXMvTm8gcXVlc3Rpb25zCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvcgorICovCitpbnQgZmRpc2tfYXNrX3llc25vKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCSAgICAgY29uc3QgY2hhciAqcXVlcnksCisJCSAgICAgaW50ICpyZXN1bHQpCit7CisJc3RydWN0IGZkaXNrX2FzayAqYXNrOworCWludCByYzsKKworCWFzc2VydChjeHQpOworCisJYXNrID0gZmRpc2tfbmV3X2FzaygpOworCWlmICghYXNrKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXJjID0gZmRpc2tfYXNrX3NldF90eXBlKGFzaywgRkRJU0tfQVNLVFlQRV9ZRVNOTyk7CisJaWYgKCFyYykKKwkJZmRpc2tfYXNrX3NldF9xdWVyeShhc2ssIHF1ZXJ5KTsKKwlpZiAoIXJjKQorCQlyYyA9IGZkaXNrX2RvX2FzayhjeHQsIGFzayk7CisJaWYgKCFyYykKKwkJKnJlc3VsdCA9IGZkaXNrX2Fza195ZXNub19nZXRfcmVzdWx0KGFzaykgPT0gMSA/IDEgOiAwOworCisJREJHKEFTSywgdWxfZGVidWdvYmooYXNrLCAicmVzdWx0OiAlZCBbcmM9JWRdXG4iLCAqcmVzdWx0LCByYykpOworCWZkaXNrX3VucmVmX2Fzayhhc2spOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBmZGlza19hc2tfeWVzbm9fZ2V0X3Jlc3VsdDoKKyAqIEBhc2s6IGFzayBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IDAgb3IgMQorICovCitpbnQgZmRpc2tfYXNrX3llc25vX2dldF9yZXN1bHQoc3RydWN0IGZkaXNrX2FzayAqYXNrKQoreworCWFzc2VydChhc2spOworCWFzc2VydChmZGlza19pc19hc2soYXNrLCBZRVNOTykpOworCXJldHVybiBhc2stPmRhdGEueWVzbm8ucmVzdWx0OworfQorCisvKioKKyAqIGZkaXNrX2Fza195ZXNub19zZXRfcmVzdWx0OgorICogQGFzazogYXNrIGluc3RhbmNlCisgKiBAcmVzdWx0OiAxIG9yIDAKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yCisgKi8KK2ludCBmZGlza19hc2tfeWVzbm9fc2V0X3Jlc3VsdChzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIGludCByZXN1bHQpCit7CisJYXNzZXJ0KGFzayk7CisJYXNrLT5kYXRhLnllc25vLnJlc3VsdCA9IHJlc3VsdDsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIG1lbnUKKyAqLworaW50IGZkaXNrX2Fza19tZW51X3NldF9kZWZhdWx0KHN0cnVjdCBmZGlza19hc2sgKmFzaywgaW50IGRmbCkKK3sKKwlhc3NlcnQoYXNrKTsKKwlhc3NlcnQoZmRpc2tfaXNfYXNrKGFzaywgTUVOVSkpOworCWFzay0+ZGF0YS5tZW51LmRmbCA9IGRmbDsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19hc2tfbWVudV9nZXRfZGVmYXVsdDoKKyAqIEBhc2s6IGFzayBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IGRlZmF1bHQgbWVudSBpdGVtIGtleQorICovCitpbnQgZmRpc2tfYXNrX21lbnVfZ2V0X2RlZmF1bHQoc3RydWN0IGZkaXNrX2FzayAqYXNrKQoreworCWFzc2VydChhc2spOworCWFzc2VydChmZGlza19pc19hc2soYXNrLCBNRU5VKSk7CisJcmV0dXJuIGFzay0+ZGF0YS5tZW51LmRmbDsKK30KKworLyoqCisgKiBmZGlza19hc2tfbWVudV9zZXRfcmVzdWx0OgorICogQGFzazogYXNrIGluc3RhbmNlCisgKiBAa2V5OiByZXN1bHQKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yCisgKi8KK2ludCBmZGlza19hc2tfbWVudV9zZXRfcmVzdWx0KHN0cnVjdCBmZGlza19hc2sgKmFzaywgaW50IGtleSkKK3sKKwlhc3NlcnQoYXNrKTsKKwlhc3NlcnQoZmRpc2tfaXNfYXNrKGFzaywgTUVOVSkpOworCWFzay0+ZGF0YS5tZW51LnJlc3VsdCA9IGtleTsKKwlEQkcoQVNLLCB1bF9kZWJ1Z29iaihhc2ssICJtZW51IHJlc3VsdDogJWNcbiIsIGtleSkpOworCXJldHVybiAwOworCit9CisKKy8qKgorICogZmRpc2tfYXNrX21lbnVfZ2V0X3Jlc3VsdDoKKyAqIEBhc2s6IGFzayBpbnN0YW5jZQorICogQGtleTogcmV0dXJucyBzZWxlY3RlZCBtZW51IGl0ZW0ga2V5CisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX2Fza19tZW51X2dldF9yZXN1bHQoc3RydWN0IGZkaXNrX2FzayAqYXNrLCBpbnQgKmtleSkKK3sKKwlhc3NlcnQoYXNrKTsKKwlhc3NlcnQoZmRpc2tfaXNfYXNrKGFzaywgTUVOVSkpOworCWlmIChrZXkpCisJCSprZXkgPSAgYXNrLT5kYXRhLm1lbnUucmVzdWx0OworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX2Fza19tZW51X2dldF9pdGVtOgorICogQGFzazogYXNrIG1lbnUgaW5zdGFuY2UKKyAqIEBpZHg6IHdhbnRlZCBtZW51IGl0ZW0gaW5kZXgKKyAqIEBrZXk6IHJldHVybnMga2V5IG9mIHRoZSBtZW51IGl0ZW0KKyAqIEBuYW1lOiByZXR1cm5zIG5hbWUgb2YgdGhlIG1lbnUgaXRlbQorICogQGRlc2M6IHJldHVybnMgZGVzY3JpcHRpb24gb2YgdGhlIG1lbnUgaXRlbQorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IsID4wIGlmIGlkeCBvdXQtb2YtcmFuZ2UKKyAqLworaW50IGZkaXNrX2Fza19tZW51X2dldF9pdGVtKHN0cnVjdCBmZGlza19hc2sgKmFzaywgc2l6ZV90IGlkeCwgaW50ICprZXksCisJCQkgICAgY29uc3QgY2hhciAqKm5hbWUsIGNvbnN0IGNoYXIgKipkZXNjKQoreworCXNpemVfdCBpOworCXN0cnVjdCBhc2tfbWVudWl0ZW0gKm1pOworCisJYXNzZXJ0KGFzayk7CisJYXNzZXJ0KGZkaXNrX2lzX2Fzayhhc2ssIE1FTlUpKTsKKworCWZvciAoaSA9IDAsIG1pID0gYXNrLT5kYXRhLm1lbnUuZmlyc3Q7IG1pOyBtaSA9IG1pLT5uZXh0LCBpKyspIHsKKwkJaWYgKGkgPT0gaWR4KQorCQkJYnJlYWs7CisJfQorCisJaWYgKCFtaSkKKwkJcmV0dXJuIDE7CS8qIG5vIG1vcmUgaXRlbXMgKi8KKwlpZiAoa2V5KQorCQkqa2V5ID0gbWktPmtleTsKKwlpZiAobmFtZSkKKwkJKm5hbWUgPSBtaS0+bmFtZTsKKwlpZiAoZGVzYykKKwkJKmRlc2MgPSBtaS0+ZGVzYzsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgZmRpc2tfYXNrX21lbnVfcmVzZXRfaXRlbXMoc3RydWN0IGZkaXNrX2FzayAqYXNrKQoreworCXN0cnVjdCBhc2tfbWVudWl0ZW0gKm1pOworCisJYXNzZXJ0KGFzayk7CisJYXNzZXJ0KGZkaXNrX2lzX2Fzayhhc2ssIE1FTlUpKTsKKworCWZvciAobWkgPSBhc2stPmRhdGEubWVudS5maXJzdDsgbWk7ICkgeworCQlzdHJ1Y3QgYXNrX21lbnVpdGVtICpuZXh0ID0gbWktPm5leHQ7CisJCWZyZWUobWkpOworCQltaSA9IG5leHQ7CisJfQorfQorCisvKioKKyAqIGZkaXNrX2Fza19tZW51X2dldF9uaXRlbXM6CisgKiBAYXNrOiBhc2sgaW5zdGFuY2UKKyAqCisgKiBSZXR1cm5zOiBudW1iZXIgb2YgbWVudSBpdGVtcworICovCitzaXplX3QgZmRpc2tfYXNrX21lbnVfZ2V0X25pdGVtcyhzdHJ1Y3QgZmRpc2tfYXNrICphc2spCit7CisJc3RydWN0IGFza19tZW51aXRlbSAqbWk7CisJc2l6ZV90IG47CisKKwlhc3NlcnQoYXNrKTsKKwlhc3NlcnQoZmRpc2tfaXNfYXNrKGFzaywgTUVOVSkpOworCisJZm9yIChuID0gMCwgbWkgPSBhc2stPmRhdGEubWVudS5maXJzdDsgbWk7IG1pID0gbWktPm5leHQsIG4rKyk7CisKKwlyZXR1cm4gbjsKK30KKworaW50IGZkaXNrX2Fza19tZW51X2FkZF9pdGVtKHN0cnVjdCBmZGlza19hc2sgKmFzaywgaW50IGtleSwKKwkJCWNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKmRlc2MpCit7CisJc3RydWN0IGFza19tZW51aXRlbSAqbWk7CisKKwlhc3NlcnQoYXNrKTsKKwlhc3NlcnQoZmRpc2tfaXNfYXNrKGFzaywgTUVOVSkpOworCisJbWkgPSBjYWxsb2MoMSwgc2l6ZW9mKCptaSkpOworCWlmICghbWkpCisJCXJldHVybiAtRU5PTUVNOworCW1pLT5rZXkgPSBrZXk7CisJbWktPm5hbWUgPSBuYW1lOworCW1pLT5kZXNjID0gZGVzYzsKKworCWlmICghYXNrLT5kYXRhLm1lbnUuZmlyc3QpCisJCWFzay0+ZGF0YS5tZW51LmZpcnN0ID0gbWk7CisJZWxzZSB7CisJICAgICAgICBzdHJ1Y3QgYXNrX21lbnVpdGVtICpsYXN0ID0gYXNrLT5kYXRhLm1lbnUuZmlyc3Q7CisKKwkJd2hpbGUgKGxhc3QtPm5leHQpCisJCQlsYXN0ID0gbGFzdC0+bmV4dDsKKwkJbGFzdC0+bmV4dCA9IG1pOworCX0KKworCURCRyhBU0ssIHVsX2RlYnVnb2JqKGFzaywgIm5ldyBtZW51IGl0ZW06ICVjLCBcIiVzXCIgKCVzKVxuIiwgbWktPmtleSwgbWktPm5hbWUsIG1pLT5kZXNjKSk7CisJcmV0dXJuIDA7Cit9CisKKworLyoKKyAqIHByaW50LWxpa2UKKyAqLworCisjZGVmaW5lIGlzX3ByaW50X2FzayhhKSAoZmRpc2tfaXNfYXNrKGEsIFdBUk4pIHx8IGZkaXNrX2lzX2FzayhhLCBXQVJOWCkgfHwgZmRpc2tfaXNfYXNrKGEsIElORk8pKQorCisvKioKKyAqIGZkaXNrX2Fza19wcmludF9nZXRfZXJybm86CisgKiBAYXNrOiBhc2sgaW5zdGFuY2UKKyAqCisgKiBSZXR1cm5zOiBlcnJvciBudW1iZXIgZm9yIHdhcm5pbmcvZXJyb3IgbWVzc2FnZXMKKyAqLworaW50IGZkaXNrX2Fza19wcmludF9nZXRfZXJybm8oc3RydWN0IGZkaXNrX2FzayAqYXNrKQoreworCWFzc2VydChhc2spOworCWFzc2VydChpc19wcmludF9hc2soYXNrKSk7CisJcmV0dXJuIGFzay0+ZGF0YS5wcmludC5lcnJudW07Cit9CisKK2ludCBmZGlza19hc2tfcHJpbnRfc2V0X2Vycm5vKHN0cnVjdCBmZGlza19hc2sgKmFzaywgaW50IGVycm51bSkKK3sKKwlhc3NlcnQoYXNrKTsKKwlhc2stPmRhdGEucHJpbnQuZXJybnVtID0gZXJybnVtOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX2Fza19wcmludF9nZXRfbWVzZzoKKyAqIEBhc2s6IGFzayBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IHBvaW50ZXIgdG8gbWVzc2FnZQorICovCitjb25zdCBjaGFyICpmZGlza19hc2tfcHJpbnRfZ2V0X21lc2coc3RydWN0IGZkaXNrX2FzayAqYXNrKQoreworCWFzc2VydChhc2spOworCWFzc2VydChpc19wcmludF9hc2soYXNrKSk7CisJcmV0dXJuIGFzay0+ZGF0YS5wcmludC5tZXNnOworfQorCisvKiBkb2VzIG5vdCByZWFsbG9jYXRlIHRoZSBtZXNzYWdlISAqLworaW50IGZkaXNrX2Fza19wcmludF9zZXRfbWVzZyhzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIGNvbnN0IGNoYXIgKm1lc2cpCit7CisJYXNzZXJ0KGFzayk7CisJYXNrLT5kYXRhLnByaW50Lm1lc2cgPSBtZXNnOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGRvX3ZwcmludChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBpbnQgZXJybnVtLCBpbnQgdHlwZSwKKwkJICAgICBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgdmEpCit7CisJc3RydWN0IGZkaXNrX2FzayAqYXNrOworCWludCByYzsKKwljaGFyICptZXNnOworCisJYXNzZXJ0KGN4dCk7CisKKwlpZiAodmFzcHJpbnRmKCZtZXNnLCBmbXQsIHZhKSA8IDApCisJCXJldHVybiAtRU5PTUVNOworCisJYXNrID0gZmRpc2tfbmV3X2FzaygpOworCWlmICghYXNrKSB7CisJCWZyZWUobWVzZyk7CisJCXJldHVybiAtRU5PTUVNOworCX0KKworCWZkaXNrX2Fza19zZXRfdHlwZShhc2ssIHR5cGUpOworCWZkaXNrX2Fza19wcmludF9zZXRfbWVzZyhhc2ssIG1lc2cpOworCWlmIChlcnJudW0gPj0gMCkKKwkJZmRpc2tfYXNrX3ByaW50X3NldF9lcnJubyhhc2ssIGVycm51bSk7CisJcmMgPSBmZGlza19kb19hc2soY3h0LCBhc2spOworCisJZmRpc2tfdW5yZWZfYXNrKGFzayk7CisJZnJlZShtZXNnKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogZmRpc2tfaW5mbzoKKyAqIEBjeHQ6IGNvbnRleHQKKyAqIEBmbXQ6IHByaW50Zi1saWtlIGZvcm1hdHRlZCBzdHJpbmcKKyAqIEAuLi46IHZhcmlhYmxlIHBhcmFtZXRlcnMKKyAqCisgKiBIaWdoLWxldmVsIEFQSSB0byBwcmludCBpbmZvIG1lc3NhZ2VzLAorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IKKyAqLworaW50IGZkaXNrX2luZm8oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJaW50IHJjOworCXZhX2xpc3QgYXA7CisKKwlhc3NlcnQoY3h0KTsKKwl2YV9zdGFydChhcCwgZm10KTsKKwlyYyA9IGRvX3ZwcmludChjeHQsIC0xLCBGRElTS19BU0tUWVBFX0lORk8sIGZtdCwgYXApOworCXZhX2VuZChhcCk7CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIGZkaXNrX2luZm86CisgKiBAY3h0OiBjb250ZXh0CisgKiBAZm10OiBwcmludGYtbGlrZSBmb3JtYXR0ZWQgc3RyaW5nCisgKiBALi4uOiB2YXJpYWJsZSBwYXJhbWV0ZXJzCisgKgorICogSGlnaC1sZXZlbCBBUEkgdG8gcHJpbnQgd2FybmluZyBtZXNzYWdlIChlcnJubyBleHBlY3RlZCkKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yCisgKi8KK2ludCBmZGlza193YXJuKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworCWludCByYzsKKwl2YV9saXN0IGFwOworCisJYXNzZXJ0KGN4dCk7CisJdmFfc3RhcnQoYXAsIGZtdCk7CisJcmMgPSBkb192cHJpbnQoY3h0LCBlcnJubywgRkRJU0tfQVNLVFlQRV9XQVJOLCBmbXQsIGFwKTsKKwl2YV9lbmQoYXApOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBmZGlza193YXJueDoKKyAqIEBjeHQ6IGNvbnRleHQKKyAqIEBmbXQ6IHByaW50Zi1saWtlIGZvcm1hdHRlZCBzdHJpbmcKKyAqIEAuLi46IHZhcmlhYmxlIG9wdGlvbnMKKyAqCisgKiBIaWdoLWxldmVsIEFQSSB0byBwcmludCB3YXJuaW5nIG1lc3NhZ2UKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yCisgKi8KK2ludCBmZGlza193YXJueChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwlpbnQgcmM7CisJdmFfbGlzdCBhcDsKKworCWFzc2VydChjeHQpOworCXZhX3N0YXJ0KGFwLCBmbXQpOworCXJjID0gZG9fdnByaW50KGN4dCwgLTEsIEZESVNLX0FTS1RZUEVfV0FSTlgsIGZtdCwgYXApOworCXZhX2VuZChhcCk7CisJcmV0dXJuIHJjOworfQorCitpbnQgZmRpc2tfaW5mb19uZXdfcGFydGl0aW9uKAorCQkJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCWludCBudW0sIGZkaXNrX3NlY3Rvcl90IHN0YXJ0LCBmZGlza19zZWN0b3JfdCBzdG9wLAorCQkJc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0KQoreworCWludCByYzsKKwljaGFyICpzdHIgPSBzaXplX3RvX2h1bWFuX3N0cmluZyhTSVpFX1NVRkZJWF8zTEVUVEVSIHwgU0laRV9TVUZGSVhfU1BBQ0UsCisJCQkJICAgICAodWludDY0X3QpKHN0b3AgLSBzdGFydCArIDEpICogY3h0LT5zZWN0b3Jfc2l6ZSk7CisKKwlyYyA9IGZkaXNrX2luZm8oY3h0LAorCQkJXygiQ3JlYXRlZCBhIG5ldyBwYXJ0aXRpb24gJWQgb2YgdHlwZSAnJXMnIGFuZCBvZiBzaXplICVzLiIpLAorCQkJbnVtLCB0ID8gdC0+bmFtZSA6IF8oIlVua25vd24iKSwgc3RyKTsKKwlmcmVlKHN0cik7CisJcmV0dXJuIHJjOworfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNCitzdGF0aWMgaW50IHRlc3RfcmFuZ2VzKHN0cnVjdCBmZGlza190ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwkvKiAgICAgICAgICAgICAgICAxICAtICAzLCAgICAgICA2LCAgICA4LCA5LCAgIDExICAgIDEzICovCisJc2l6ZV90IG51bXNbXSA9IHsgMSwgMSwgMSwgMCwgMCwgMSwgMCwgMSwgMSwgMCwgMSwgMCwgMSB9OworCXNpemVfdCBudW14W10gPSB7IDAsIDAsIDAgfTsKKwljaGFyIHJhbmdlW0JVRlNJWl0sICpwdHIgPSByYW5nZTsKKwlzaXplX3QgaSwgbGVuID0gc2l6ZW9mKHJhbmdlKSwgYmVnaW4gPSAwLCBydW4gPSAwOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUobnVtcyk7IGkrKykgeworCQlpZiAoIW51bXNbaV0pCisJCQljb250aW51ZTsKKwkJcHRyID0gbWtfc3RyaW5nX2xpc3QocHRyLCAmbGVuLCAmYmVnaW4sICZydW4sIGksIDApOworCX0KKwlta19zdHJpbmdfbGlzdChwdHIsICZsZW4sICZiZWdpbiwgJnJ1biwgLTEsIDApOworCXByaW50ZigibGlzdDogJyVzJ1xuIiwgcmFuZ2UpOworCisJcHRyID0gcmFuZ2U7CisJbGVuID0gc2l6ZW9mKHJhbmdlKSwgYmVnaW4gPSAwLCBydW4gPSAwOworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKG51bXgpOyBpKyspIHsKKwkJaWYgKCFudW14W2ldKQorCQkJY29udGludWU7CisJCXB0ciA9IG1rX3N0cmluZ19saXN0KHB0ciwgJmxlbiwgJmJlZ2luLCAmcnVuLCBpLCAwKTsKKwl9CisJbWtfc3RyaW5nX2xpc3QocHRyLCAmbGVuLCAmYmVnaW4sICZydW4sIC0xLCAwKTsKKwlwcmludGYoImVtcHR5IGxpc3Q6ICclcydcbiIsIHJhbmdlKTsKKworCXJldHVybiAwOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBmZGlza190ZXN0IHRzc1tdID0geworCXsgIi0tcmFuZ2VzIiwgIHRlc3RfcmFuZ2VzLCAgICAiZ2VuZXJhdGVzIHJhbmdlcyIgfSwKKwl7IE5VTEwgfQorCX07CisKKwlyZXR1cm4gZmRpc2tfcnVuX3Rlc3QodHNzLCBhcmdjLCBhcmd2KTsKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9saWJmZGlzay9zcmMvYnNkLmMgYi9saWJmZGlzay9zcmMvYnNkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWQwYTU0ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmZkaXNrL3NyYy9ic2QuYwpAQCAtMCwwICsxLDEwNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAxMyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBCYXNlZCBvbiB0aGUgb3JpZ2luYWwgY29kZSBmcm9tIGZkaXNrCisgKiAgICB3cml0dGVuIGJ5IEJlcm5oYXJkIEZhc3RlbnJhdGggKGZhc3RlbkBpbmZvcm1hdGlrLnVuaS1ib25uLmRlKQorICogICAgd2l0aCBjb2RlIGZyb20gdGhlIE5ldEJTRCBkaXNrbGFiZWwgY29tbWFuZC4KKyAqCisgKiAgICBBcm5hbGRvIENhcnZhbGhvIGRlIE1lbG8gPGFjbWVAY29uZWN0aXZhLmNvbS5icj4sIE1hcmNoIDE5OTkKKyAqICAgIERhdmlkIEh1Z2dpbnMtRGFpbmVzIDxkaHVnZ2luc0BsaW51eGNhcmUuY29tPiwgSmFudWFyeSAyMDAwCisgKi8KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KKworI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgImJsa2Rldi5oIgorI2luY2x1ZGUgImZkaXNrUC5oIgorI2luY2x1ZGUgInB0LW1ici5oIgorI2luY2x1ZGUgInB0LWJzZC5oIgorI2luY2x1ZGUgImFsbC1pby5oIgorCisKKy8qKgorICogU0VDVElPTjogYnNkCisgKiBAdGl0bGU6IEJTRAorICogQHNob3J0X2Rlc2NyaXB0aW9uOiBkaXNrIGxhYmVsIHNwZWNpZmljIGZ1bmN0aW9ucworICoKKyAqLworCitzdGF0aWMgY29uc3QgY2hhciAqYnNkX2RrdHlwZW5hbWVzW10gPSB7CisJInVua25vd24iLAorCSJTTUQiLAorCSJNU0NQIiwKKwkib2xkIERFQyIsCisJIlNDU0kiLAorCSJFU0RJIiwKKwkiU1Q1MDYiLAorCSJIUC1JQiIsCisJIkhQLUZMIiwKKwkidHlwZSA5IiwKKwkiZmxvcHB5IiwKKwkwCit9OworI2RlZmluZSBCU0RfREtNQVhUWVBFUwkoQVJSQVlfU0laRShic2RfZGt0eXBlbmFtZXMpIC0gMSkKKworc3RhdGljIHN0cnVjdCBmZGlza19wYXJ0dHlwZSBic2RfZnN0eXBlc1tdID0geworICAgICAgICB7QlNEX0ZTX1VOVVNFRCwgInVudXNlZCJ9LAorCXtCU0RfRlNfU1dBUCwgICAic3dhcCJ9LAorCXtCU0RfRlNfVjYsICAgICAiVmVyc2lvbiA2In0sCisJe0JTRF9GU19WNywgICAgICJWZXJzaW9uIDcifSwKKwl7QlNEX0ZTX1NZU1YsICAgIlN5c3RlbSBWIn0sCisJe0JTRF9GU19WNzFLLCAgICI0LjFCU0QifSwKKwl7QlNEX0ZTX1Y4LCAgICAgIkVpZ2h0aCBFZGl0aW9uIn0sCisJe0JTRF9GU19CU0RGRlMsICI0LjJCU0QifSwKKyNpZmRlZiBfX2FscGhhX18KKwl7QlNEX0ZTX0VYVDIsICAgImV4dDIifSwKKyNlbHNlCisJe0JTRF9GU19NU0RPUywgICJNUy1ET1MifSwKKyNlbmRpZgorCXtCU0RfRlNfQlNETEZTLCAiNC40TEZTIn0sCisJe0JTRF9GU19PVEhFUiwgICJ1bmtub3duIn0sCisJe0JTRF9GU19IUEZTLCAgICJIUEZTIn0sCisJe0JTRF9GU19JU085NjYwLCJJU08tOTY2MCJ9LAorCXtCU0RfRlNfQk9PVCwgICAiYm9vdCJ9LAorCXtCU0RfRlNfQURPUywgICAiQURPUyJ9LAorCXtCU0RfRlNfSEZTLCAgICAiSEZTIn0sCisJe0JTRF9GU19BRFZGUywJIkFkdkZTIn0sCisJeyAwLCBOVUxMIH0KK307CisjZGVmaW5lIEJTRF9GU01BWFRZUEVTIChBUlJBWV9TSVpFKGJzZF9mc3R5cGVzKS0xKQorCisvKgorICogaW4tbWVtb3J5IGZkaXNrIEJTRCBzdHVmZgorICovCitzdHJ1Y3QgZmRpc2tfYnNkX2xhYmVsIHsKKwlzdHJ1Y3QgZmRpc2tfbGFiZWwJaGVhZDsJCS8qIGdlbmVyaWMgcGFydCAqLworCisJc3RydWN0IGRvc19wYXJ0aXRpb24gKmRvc19wYXJ0OwkJLyogcGFyZW50ICovCisJc3RydWN0IGJzZF9kaXNrbGFiZWwgYnNkOwkJLyogb24gZGlzayBsYWJlbCAqLworI2lmIGRlZmluZWQgKF9fYWxwaGFfXykKKwkvKiBXZSBhY2Nlc3MgdGhpcyB0aHJvdWdoIGEgdV9pbnQ2NF90ICogd2hlbiBjaGVja3N1bW1pbmcgKi8KKwljaGFyIGJzZGJ1ZmZlcltCU0RfQkJTSVpFXSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDgpKSk7CisjZWxzZQorCWNoYXIgYnNkYnVmZmVyW0JTRF9CQlNJWkVdOworI2VuZGlmCit9OworCitzdGF0aWMgaW50IGJzZF9pbml0bGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitzdGF0aWMgaW50IGJzZF9yZWFkbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitzdGF0aWMgdm9pZCBzeW5jX2Rpc2tzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCitzdGF0aWMgaW5saW5lIHN0cnVjdCBmZGlza19ic2RfbGFiZWwgKnNlbGZfbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgQlNEKSk7CisKKwlyZXR1cm4gKHN0cnVjdCBmZGlza19ic2RfbGFiZWwgKikgY3h0LT5sYWJlbDsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgYnNkX2Rpc2tsYWJlbCAqc2VsZl9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgQlNEKSk7CisKKwlyZXR1cm4gJigoc3RydWN0IGZkaXNrX2JzZF9sYWJlbCAqKSBjeHQtPmxhYmVsKS0+YnNkOworfQorCitzdGF0aWMgc3RydWN0IGZkaXNrX3BhcnR0eXBlICpic2RfcGFydGl0aW9uX3BhcnR0eXBlKAorCQlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQlzdHJ1Y3QgYnNkX3BhcnRpdGlvbiAqcCkKK3sKKwlzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQKKwkJPSBmZGlza19sYWJlbF9nZXRfcGFydHR5cGVfZnJvbV9jb2RlKGN4dC0+bGFiZWwsIHAtPnBfZnN0eXBlKTsKKwlyZXR1cm4gdCA/IDogZmRpc2tfbmV3X3Vua25vd25fcGFydHR5cGUocC0+cF9mc3R5cGUsIE5VTEwpOworfQorCisKKyNpZiBkZWZpbmVkIChfX2FscGhhX18pCitzdGF0aWMgdm9pZCBhbHBoYV9ib290YmxvY2tfY2hlY2tzdW0gKGNoYXIgKmJvb3QpCit7CisJdWludDY0X3QgKmRwID0gKHVpbnQ2NF90ICopIGJvb3QsIHN1bSA9IDA7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgNjM7IGkrKykKKwkJc3VtICs9IGRwW2ldOworCWRwWzYzXSA9IHN1bTsKK30KKyNlbmRpZiAvKiBfX2FscGhhX18gKi8KKworI2RlZmluZSBISURERU5fTUFTSwkweDEwCisKK3N0YXRpYyBpbnQgaXNfYnNkX3BhcnRpdGlvbl90eXBlKGludCB0eXBlKQoreworCXJldHVybiAodHlwZSA9PSBNQlJfRlJFRUJTRF9QQVJUSVRJT04gfHwKKwkJdHlwZSA9PSAoTUJSX0ZSRUVCU0RfUEFSVElUSU9OIF4gSElEREVOX01BU0spIHx8CisJCXR5cGUgPT0gTUJSX05FVEJTRF9QQVJUSVRJT04gfHwKKwkJdHlwZSA9PSAoTUJSX05FVEJTRF9QQVJUSVRJT04gXiBISURERU5fTUFTSykgfHwKKwkJdHlwZSA9PSBNQlJfT1BFTkJTRF9QQVJUSVRJT04gfHwKKwkJdHlwZSA9PSAoTUJSX09QRU5CU0RfUEFSVElUSU9OIF4gSElEREVOX01BU0spKTsKK30KKworLyoKKyAqIGxvb2sgZm9yIERPUyBwYXJ0aXRpb24gdXNhYmxlIGZvciBuZXN0ZWQgQlNEIHBhcnRpdGlvbiB0YWJsZQorICovCitzdGF0aWMgaW50IGJzZF9hc3NpZ25fZG9zX3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBmZGlza19ic2RfbGFiZWwgKmwgPSBzZWxmX2xhYmVsKGN4dCk7CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKSB7CisJCWZkaXNrX3NlY3Rvcl90IHNzOworCisJCWwtPmRvc19wYXJ0ID0gZmRpc2tfZG9zX2dldF9wYXJ0aXRpb24oY3h0LT5wYXJlbnQsIGkpOworCisJCWlmICghbC0+ZG9zX3BhcnQgfHwgIWlzX2JzZF9wYXJ0aXRpb25fdHlwZShsLT5kb3NfcGFydC0+c3lzX2luZCkpCisJCQljb250aW51ZTsKKworCQlzcyA9IGRvc19wYXJ0aXRpb25fZ2V0X3N0YXJ0KGwtPmRvc19wYXJ0KTsKKwkJaWYgKCFzcykgeworCQkJZmRpc2tfd2FybngoY3h0LCBfKCJQYXJ0aXRpb24gJXpkOiBoYXMgaW52YWxpZCBzdGFydGluZyAiCisJCQkJCSAgICJzZWN0b3IgMC4iKSwgaSArIDEpOworCQkJcmV0dXJuIC0xOworCQl9CisKKwkJaWYgKGN4dC0+cGFyZW50LT5kZXZfcGF0aCkgeworCQkJZnJlZShjeHQtPmRldl9wYXRoKTsKKwkJCWN4dC0+ZGV2X3BhdGggPSBmZGlza19wYXJ0bmFtZSgKKwkJCQkJCWN4dC0+cGFyZW50LT5kZXZfcGF0aCwgaSArIDEpOworCQl9CisKKwkJREJHKExBQkVMLCB1bF9kZWJ1ZygicGFydGl0aW9uICV6dSBhc3NpZ25lZCB0byBCU0QiLCBpICsgMSkpOworCQlyZXR1cm4gMDsKKwl9CisKKwlmZGlza193YXJueChjeHQsIF8oIlRoZXJlIGlzIG5vICpCU0QgcGFydGl0aW9uIG9uICVzLiIpLAorCQkJCWN4dC0+cGFyZW50LT5kZXZfcGF0aCk7CisJZnJlZShjeHQtPmRldl9wYXRoKTsKKwljeHQtPmRldl9wYXRoID0gTlVMTDsKKwlsLT5kb3NfcGFydCA9IE5VTEw7CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgYnNkX3Byb2JlX2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJaW50IHJjID0gMDsKKworCWlmIChjeHQtPnBhcmVudCkKKwkJcmMgPSBic2RfYXNzaWduX2Rvc19wYXJ0aXRpb24oY3h0KTsJLyogbmVzdGVkIEJTRCBwYXJ0aXRpb24gdGFibGUgKi8KKwlpZiAoIXJjKQorCQlyYyA9IGJzZF9yZWFkbGFiZWwoY3h0KTsKKwlpZiAoIXJjKQorCQlyZXR1cm4gMTsJLyogZm91bmQgQlNEICovCisJcmV0dXJuIDA7CQkvKiBub3QgZm91bmQgKi8KK30KKworc3RhdGljIGludCBzZXRfcGFydHR5cGUoCisJCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCXNpemVfdCBwYXJ0bnVtLAorCQlzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQpCit7CisJc3RydWN0IGJzZF9wYXJ0aXRpb24gKnA7CisJc3RydWN0IGJzZF9kaXNrbGFiZWwgKmQgPSBzZWxmX2Rpc2tsYWJlbChjeHQpOworCisJaWYgKHBhcnRudW0gPj0gZC0+ZF9ucGFydGl0aW9ucyB8fCAhdCB8fCB0LT5jb2RlID4gVUlOVDhfTUFYKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXAgPSAmZC0+ZF9wYXJ0aXRpb25zW3BhcnRudW1dOworCWlmICh0LT5jb2RlID09IHAtPnBfZnN0eXBlKQorCQlyZXR1cm4gMDsKKworCXAtPnBfZnN0eXBlID0gdC0+Y29kZTsKKwlmZGlza19sYWJlbF9zZXRfY2hhbmdlZChjeHQtPmxhYmVsLCAxKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBic2RfYWRkX3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJICAgICBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwKKwkJCSAgICAgc2l6ZV90ICpwYXJ0bm8pCit7CisJc3RydWN0IGZkaXNrX2JzZF9sYWJlbCAqbCA9IHNlbGZfbGFiZWwoY3h0KTsKKwlzdHJ1Y3QgYnNkX2Rpc2tsYWJlbCAqZCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJc2l6ZV90IGk7CisJdW5zaWduZWQgaW50IGJlZ2luID0gMCwgZW5kOworCWludCByYyA9IDA7CisKKwlyYyA9IGZkaXNrX3BhcnRpdGlvbl9uZXh0X3BhcnRubyhwYSwgY3h0LCAmaSk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisJaWYgKGkgPj0gQlNEX01BWFBBUlRJVElPTlMpCisJCXJldHVybiAtRVJBTkdFOworCWlmIChsLT5kb3NfcGFydCkgeworCQliZWdpbiA9IGRvc19wYXJ0aXRpb25fZ2V0X3N0YXJ0KGwtPmRvc19wYXJ0KTsKKwkJZW5kID0gYmVnaW4gKyBkb3NfcGFydGl0aW9uX2dldF9zaXplKGwtPmRvc19wYXJ0KSAtIDE7CisJfSBlbHNlCisJCWVuZCA9IGQtPmRfc2VjcGVydW5pdCAtIDE7CisKKwkvKgorCSAqIEZpcnN0IHNlY3RvcgorCSAqLworCWlmIChwYSAmJiBwYS0+c3RhcnRfZm9sbG93X2RlZmF1bHQpCisJCTsKKwllbHNlIGlmIChwYSAmJiBmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSkgeworCQlpZiAocGEtPnN0YXJ0IDwgYmVnaW4gfHwgcGEtPnN0YXJ0ID4gZW5kKQorCQkJcmV0dXJuIC1FUkFOR0U7CisJCWJlZ2luID0gcGEtPnN0YXJ0OworCX0gZWxzZSB7CisJCXN0cnVjdCBmZGlza19hc2sgKmFzayA9IGZkaXNrX25ld19hc2soKTsKKworCQlpZiAoIWFzaykKKwkJCXJldHVybiAtRU5PTUVNOworCQlmZGlza19hc2tfc2V0X3F1ZXJ5KGFzaywKKwkJCWZkaXNrX3VzZV9jeWxpbmRlcnMoY3h0KSA/CisJCQlfKCJGaXJzdCBjeWxpbmRlciIpIDogXygiRmlyc3Qgc2VjdG9yIikpOworCQlmZGlza19hc2tfc2V0X3R5cGUoYXNrLCBGRElTS19BU0tUWVBFX05VTUJFUik7CisJCWZkaXNrX2Fza19udW1iZXJfc2V0X2xvdyhhc2ssIGZkaXNrX2Nyb3VuZChjeHQsIGJlZ2luKSk7CisJCWZkaXNrX2Fza19udW1iZXJfc2V0X2RlZmF1bHQoYXNrLCBmZGlza19jcm91bmQoY3h0LCBiZWdpbikpOworCQlmZGlza19hc2tfbnVtYmVyX3NldF9oaWdoKGFzaywgZmRpc2tfY3JvdW5kKGN4dCwgZW5kKSk7CisKKwkJcmMgPSBmZGlza19kb19hc2soY3h0LCBhc2spOworCQliZWdpbiA9IGZkaXNrX2Fza19udW1iZXJfZ2V0X3Jlc3VsdChhc2spOworCQlmZGlza191bnJlZl9hc2soYXNrKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCQlpZiAoZmRpc2tfdXNlX2N5bGluZGVycyhjeHQpKQorCQkJYmVnaW4gPSAoYmVnaW4gLSAxKSAqIGQtPmRfc2VjcGVyY3lsOworCX0KKworCS8qCisJICogTGFzdCBzZWN0b3IKKwkgKi8KKwlpZiAocGEgJiYgcGEtPmVuZF9mb2xsb3dfZGVmYXVsdCkKKwkJOworCWVsc2UgaWYgKHBhICYmIGZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkpIHsKKwkJaWYgKGJlZ2luICsgcGEtPnNpemUgPiBlbmQpCisJCQlyZXR1cm4gLUVSQU5HRTsKKwkJZW5kID0gYmVnaW4gKyBwYS0+c2l6ZSAtIDFVTEw7CisJfSBlbHNlIHsKKwkJLyogYXNrIHVzZXIgYnkgZGlhbG9nICovCisJCXN0cnVjdCBmZGlza19hc2sgKmFzayA9IGZkaXNrX25ld19hc2soKTsKKworCQlpZiAoIWFzaykKKwkJCXJldHVybiAtRU5PTUVNOworCQlmZGlza19hc2tfc2V0X3R5cGUoYXNrLCBGRElTS19BU0tUWVBFX09GRlNFVCk7CisKKwkJaWYgKGZkaXNrX3VzZV9jeWxpbmRlcnMoY3h0KSkgeworCQkJZmRpc2tfYXNrX3NldF9xdWVyeShhc2ssIF8oIkxhc3QgY3lsaW5kZXIsICtjeWxpbmRlcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIpKTsKKwkJCWZkaXNrX2Fza19udW1iZXJfc2V0X3VuaXQoYXNrLAorCQkJCSAgICAgY3h0LT5zZWN0b3Jfc2l6ZSAqCisJCQkJICAgICBmZGlza19nZXRfdW5pdHNfcGVyX3NlY3RvcihjeHQpKTsKKwkJfSBlbHNlIHsKKwkJCWZkaXNrX2Fza19zZXRfcXVlcnkoYXNrLCBfKCJMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIpKTsKKwkJCWZkaXNrX2Fza19udW1iZXJfc2V0X3VuaXQoYXNrLGN4dC0+c2VjdG9yX3NpemUpOworCQl9CisKKwkJZmRpc2tfYXNrX251bWJlcl9zZXRfbG93KGFzaywgZmRpc2tfY3JvdW5kKGN4dCwgYmVnaW4pKTsKKwkJZmRpc2tfYXNrX251bWJlcl9zZXRfZGVmYXVsdChhc2ssIGZkaXNrX2Nyb3VuZChjeHQsIGVuZCkpOworCQlmZGlza19hc2tfbnVtYmVyX3NldF9oaWdoKGFzaywgZmRpc2tfY3JvdW5kKGN4dCwgZW5kKSk7CisJCWZkaXNrX2Fza19udW1iZXJfc2V0X2Jhc2UoYXNrLCBmZGlza19jcm91bmQoY3h0LCBiZWdpbikpOworCisJCXJjID0gZmRpc2tfZG9fYXNrKGN4dCwgYXNrKTsKKwkJZW5kID0gZmRpc2tfYXNrX251bWJlcl9nZXRfcmVzdWx0KGFzayk7CisJCWZkaXNrX3VucmVmX2Fzayhhc2spOworCQlpZiAocmMpCisJCQlyZXR1cm4gcmM7CisJCWlmIChmZGlza191c2VfY3lsaW5kZXJzKGN4dCkpCisJCQllbmQgPSBlbmQgKiBkLT5kX3NlY3BlcmN5bCAtIDE7CisJfQorCisJZC0+ZF9wYXJ0aXRpb25zW2ldLnBfc2l6ZSAgID0gZW5kIC0gYmVnaW4gKyAxOworCWQtPmRfcGFydGl0aW9uc1tpXS5wX29mZnNldCA9IGJlZ2luOworCWQtPmRfcGFydGl0aW9uc1tpXS5wX2ZzdHlwZSA9IEJTRF9GU19VTlVTRUQ7CisKKwlpZiAoaSA+PSBkLT5kX25wYXJ0aXRpb25zKQorCQlkLT5kX25wYXJ0aXRpb25zID0gaSArIDE7CisJY3h0LT5sYWJlbC0+bnBhcnRzX2N1ciA9IGQtPmRfbnBhcnRpdGlvbnM7CisKKwlpZiAocGEgJiYgcGEtPnR5cGUpCisJCXNldF9wYXJ0dHlwZShjeHQsIGksIHBhLT50eXBlKTsKKworCWZkaXNrX2xhYmVsX3NldF9jaGFuZ2VkKGN4dC0+bGFiZWwsIDEpOworCWlmIChwYXJ0bm8pCisJCSpwYXJ0bm8gPSBpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGJzZF9zZXRfcGFydGl0aW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBuLAorCQkJICAgICBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlzdHJ1Y3QgYnNkX3BhcnRpdGlvbiAqcDsKKwlzdHJ1Y3QgZmRpc2tfYnNkX2xhYmVsICpsID0gc2VsZl9sYWJlbChjeHQpOworCXN0cnVjdCBic2RfZGlza2xhYmVsICpkID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKworCWlmIChuID49IGQtPmRfbnBhcnRpdGlvbnMpCisJCXJldHVybiAtRUlOVkFMOworCisJcCA9ICZkLT5kX3BhcnRpdGlvbnNbbl07CisKKwkvKiB3ZSBoYXZlIHRvIHN0YXkgd2l0aGluIHBhcmVudGFsIERPUyBwYXJ0aXRpb24gKi8KKwlpZiAobC0+ZG9zX3BhcnQgJiYgKGZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpIHx8CisJCQkgICAgZmRpc2tfcGFydGl0aW9uX2hhc19zaXplKHBhKSkpIHsKKworCQlmZGlza19zZWN0b3JfdCBkb3NiZWdpbiA9IGRvc19wYXJ0aXRpb25fZ2V0X3N0YXJ0KGwtPmRvc19wYXJ0KTsKKwkJZmRpc2tfc2VjdG9yX3QgZG9zZW5kID0gZG9zYmVnaW4gKyBkb3NfcGFydGl0aW9uX2dldF9zaXplKGwtPmRvc19wYXJ0KSAtIDE7CisJCWZkaXNrX3NlY3Rvcl90IGJlZ2luID0gZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydChwYSkgPyBwYS0+c3RhcnQgOiBwLT5wX29mZnNldDsKKwkJZmRpc2tfc2VjdG9yX3QgZW5kID0gYmVnaW4gKyAoZmRpc2tfcGFydGl0aW9uX2hhc19zaXplKHBhKSA/IHBhLT5zaXplIDogcC0+cF9zaXplKSAtIDE7CisKKwkJaWYgKGJlZ2luIDwgZG9zYmVnaW4gfHwgYmVnaW4gPiBkb3NlbmQpCisJCQlyZXR1cm4gLUVSQU5HRTsKKwkJaWYgKGVuZCA8IGRvc2JlZ2luIHx8IGVuZCA+IGRvc2VuZCkKKwkJCXJldHVybiAtRVJBTkdFOworCX0KKworCWlmIChwYS0+dHlwZSkgeworCQlpbnQgcmMgPSBzZXRfcGFydHR5cGUoY3h0LCBuLCBwYS0+dHlwZSk7CisJCWlmIChyYykKKwkJCXJldHVybiByYzsKKwl9CisKKwlpZiAoZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydChwYSkpCisJCWQtPmRfcGFydGl0aW9uc1tuXS5wX29mZnNldCA9IHBhLT5zdGFydDsKKwlpZiAoZmRpc2tfcGFydGl0aW9uX2hhc19zaXplKHBhKSkKKwkJZC0+ZF9wYXJ0aXRpb25zW25dLnBfc2l6ZSA9IHBhLT5zaXplOworCisJZmRpc2tfbGFiZWxfc2V0X2NoYW5nZWQoY3h0LT5sYWJlbCwgMSk7CisJcmV0dXJuIDA7Cit9CisKKworLyogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIDwgMCBvbiBlcnJvci4gKi8KK3N0YXRpYyBpbnQgYnNkX2NyZWF0ZV9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlpbnQgcmMsIHllcyA9IDA7CisJc3RydWN0IGJzZF9kaXNrbGFiZWwgKmQgPSBzZWxmX2Rpc2tsYWJlbChjeHQpOworCisJZmRpc2tfaW5mbyhjeHQsIF8oIlRoZSBkZXZpY2UgJXMgZG9lcyBub3QgY29udGFpbiBCU0QgZGlza2xhYmVsLiIpLCBjeHQtPmRldl9wYXRoKTsKKwlyYyA9IGZkaXNrX2Fza195ZXNubyhjeHQsCisJCQlfKCJEbyB5b3Ugd2FudCB0byBjcmVhdGUgYSBCU0QgZGlza2xhYmVsPyIpLAorCQkJJnllcyk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisJaWYgKCF5ZXMpCisJCXJldHVybiAxOworCWlmIChjeHQtPnBhcmVudCkgeworCQlyYyA9IGJzZF9hc3NpZ25fZG9zX3BhcnRpdGlvbihjeHQpOworCQlpZiAocmMgPT0gMSkKKwkJCS8qIG5vdCBmb3VuZCBET1MgcGFydGl0aW9uIHVzYWJsZSBmb3IgQlNEIGxhYmVsICovCisJCQlyYyA9IC1FSU5WQUw7CisJfQorCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJcmMgPSBic2RfaW5pdGxhYmVsKGN4dCk7CisJaWYgKCFyYykgeworCQljeHQtPmxhYmVsLT5ucGFydHNfY3VyID0gZC0+ZF9ucGFydGl0aW9uczsKKwkJY3h0LT5sYWJlbC0+bnBhcnRzX21heCA9IEJTRF9NQVhQQVJUSVRJT05TOworCX0KKworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBic2RfZGVsZXRlX3BhcnQoCisJCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCXNpemVfdCBwYXJ0bnVtKQoreworCXN0cnVjdCBic2RfZGlza2xhYmVsICpkID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKworCWQtPmRfcGFydGl0aW9uc1twYXJ0bnVtXS5wX3NpemUgICA9IDA7CisJZC0+ZF9wYXJ0aXRpb25zW3BhcnRudW1dLnBfb2Zmc2V0ID0gMDsKKwlkLT5kX3BhcnRpdGlvbnNbcGFydG51bV0ucF9mc3R5cGUgPSBCU0RfRlNfVU5VU0VEOworCisJaWYgKGQtPmRfbnBhcnRpdGlvbnMgPT0gcGFydG51bSArIDEpCisJCXdoaWxlICghZC0+ZF9wYXJ0aXRpb25zW2QtPmRfbnBhcnRpdGlvbnMgLSAxXS5wX3NpemUpCisJCQlkLT5kX25wYXJ0aXRpb25zLS07CisKKwljeHQtPmxhYmVsLT5ucGFydHNfY3VyID0gZC0+ZF9ucGFydGl0aW9uczsKKwlmZGlza19sYWJlbF9zZXRfY2hhbmdlZChjeHQtPmxhYmVsLCAxKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBic2RfZ2V0X2Rpc2tsYWJlbF9pdGVtKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHN0cnVjdCBmZGlza19sYWJlbGl0ZW0gKml0ZW0pCit7CisJc3RydWN0IGJzZF9kaXNrbGFiZWwgKmQ7CisJaW50IHJjID0gMDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBCU0QpKTsKKworCWQgPSBzZWxmX2Rpc2tsYWJlbChjeHQpOworCisJc3dpdGNoIChpdGVtLT5pZCkgeworCWNhc2UgQlNEX0xBQkVMSVRFTV9UWVBFOgorCQlpdGVtLT5uYW1lID0gXygiVHlwZSIpOworCQlpdGVtLT50eXBlID0gJ3MnOworCQlpZiAoKHVuc2lnbmVkKSBkLT5kX3R5cGUgPCBCU0RfREtNQVhUWVBFUykgeworCQkJaXRlbS0+ZGF0YS5zdHIgPSBzdHJkdXAoYnNkX2RrdHlwZW5hbWVzW2QtPmRfdHlwZV0pOworCQkJaWYgKCFpdGVtLT5kYXRhLnN0cikKKwkJCQlyYyA9IC1FTk9NRU07CisJCX0gZWxzZSBpZiAoYXNwcmludGYoJml0ZW0tPmRhdGEuc3RyLCAiJWQiLCBkLT5kX3R5cGUpIDwgMCkKKwkJCXJjID0gLUVOT01FTTsKKwkJYnJlYWs7CisJY2FzZSBCU0RfTEFCRUxJVEVNX0RJU0s6CisJCWl0ZW0tPm5hbWUgPSBfKCJEaXNrIik7CisJCWl0ZW0tPnR5cGUgPSAncyc7CisJCWl0ZW0tPmRhdGEuc3RyID0gc3RybmR1cChkLT5kX3R5cGVuYW1lLCBzaXplb2YoZC0+ZF90eXBlbmFtZSkpOworCQlpZiAoIWl0ZW0tPmRhdGEuc3RyKQorCQkJcmMgPSAtRU5PTUVNOworCQlicmVhazsKKwljYXNlIEJTRF9MQUJFTElURU1fUEFDS05BTUU6CisJCWl0ZW0tPm5hbWUgPSBfKCJQYWNrbmFtZSIpOworCQlpdGVtLT50eXBlID0gJ3MnOworCQlpdGVtLT5kYXRhLnN0ciA9IHN0cm5kdXAoZC0+ZF9wYWNrbmFtZSwgc2l6ZW9mKGQtPmRfcGFja25hbWUpKTsKKwkJaWYgKCFpdGVtLT5kYXRhLnN0cikKKwkJCXJjID0gLUVOT01FTTsKKwkJYnJlYWs7CisJY2FzZSBCU0RfTEFCRUxJVEVNX0ZMQUdTOgorCQlpdGVtLT5uYW1lID0gXygiRmxhZ3MiKTsKKwkJaXRlbS0+dHlwZSA9ICdzJzsKKwkJaXRlbS0+ZGF0YS5zdHIgPSBzdHJkdXAoCisJCQlkLT5kX2ZsYWdzICYgQlNEX0RfUkVNT1ZBQkxFID8gXygiIHJlbW92YWJsZSIpIDoKKwkJCWQtPmRfZmxhZ3MgJiBCU0RfRF9FQ0MgPyBfKCIgZWNjIikgOgorCQkJZC0+ZF9mbGFncyAmIEJTRF9EX0JBRFNFQ1QgPyBfKCIgYmFkc2VjdCIpIDogIiIpOworCQlpZiAoIWl0ZW0tPmRhdGEuc3RyKQorCQkJcmMgPSAtRU5PTUVNOworCQlicmVhazsKKworCS8qIE9uIHZhcmlvdXMgbWFjaGluZXMgdGhlIGZpZWxkcyBvZiAqbHAgYXJlIHNob3J0L2ludC9sb25nICovCisJLyogSW4gb3JkZXIgdG8gYXZvaWQgcHJvYmxlbXMsIHdlIGNhc3QgdGhlbSBhbGwgdWludDY0LiAqLworCWNhc2UgQlNEX0xBQkVMSVRFTV9TRUNTSVpFOgorCQlpdGVtLT5uYW1lID0gXygiQnl0ZXMvU2VjdG9yIik7CisJCWl0ZW0tPnR5cGUgPSAnaic7CisJCWl0ZW0tPmRhdGEubnVtNjQgPSAodWludDY0X3QpIGQtPmRfc2Vjc2l6ZTsKKwkJYnJlYWs7CisJY2FzZSBCU0RfTEFCRUxJVEVNX05UUkFDS1M6CisJCWl0ZW0tPm5hbWUgPSBfKCJUcmFja3MvQ3lsaW5kZXIiKTsKKwkJaXRlbS0+dHlwZSA9ICdqJzsKKwkJaXRlbS0+ZGF0YS5udW02NCA9ICh1aW50NjRfdCkgZC0+ZF9udHJhY2tzOworCQlicmVhazsKKwljYXNlIEJTRF9MQUJFTElURU1fU0VDUEVSQ1lMOgorCQlpdGVtLT5uYW1lID0gXygiU2VjdG9ycy9DeWxpbmRlciIpOworCQlpdGVtLT5kYXRhLm51bTY0ID0gKHVpbnQ2NF90KSBkLT5kX3NlY3BlcmN5bDsKKwkJaXRlbS0+dHlwZSA9ICdqJzsKKwkJYnJlYWs7CisJY2FzZSBCU0RfTEFCRUxJVEVNX0NZTElOREVSUzoKKwkJaXRlbS0+bmFtZSA9IF8oIkN5bGluZGVycyIpOworCQlpdGVtLT5kYXRhLm51bTY0ID0gKHVpbnQ2NF90KSBkLT5kX25jeWxpbmRlcnM7CisJCWl0ZW0tPnR5cGUgPSAnaic7CisJCWJyZWFrOworCWNhc2UgQlNEX0xBQkVMSVRFTV9SUE06CisJCWl0ZW0tPm5hbWUgPSBfKCJScG0iKTsKKwkJaXRlbS0+ZGF0YS5udW02NCA9ICh1aW50NjRfdCkgZC0+ZF9ycG07CisJCWl0ZW0tPnR5cGUgPSAnaic7CisJCWJyZWFrOworCWNhc2UgQlNEX0xBQkVMSVRFTV9JTlRFUkxFQVZFOgorCQlpdGVtLT5uYW1lID0gXygiSW50ZXJsZWF2ZSIpOworCQlpdGVtLT5kYXRhLm51bTY0ID0gKHVpbnQ2NF90KSBkLT5kX2ludGVybGVhdmU7CisJCWl0ZW0tPnR5cGUgPSAnaic7CisJCWJyZWFrOworCWNhc2UgQlNEX0xBQkVMSVRFTV9UUkFDS1NLRVc6CisJCWl0ZW0tPm5hbWUgPSBfKCJUcmFja3NrZXciKTsKKwkJaXRlbS0+ZGF0YS5udW02NCA9ICh1aW50NjRfdCkgZC0+ZF90cmFja3NrZXc7CisJCWl0ZW0tPnR5cGUgPSAnaic7CisJCWJyZWFrOworCWNhc2UgQlNEX0xBQkVMSVRFTV9DWUxJTkRFUlNLRVc6CisJCWl0ZW0tPm5hbWUgPSBfKCJDeWxpbmRlcnNrZXciKTsKKwkJaXRlbS0+ZGF0YS5udW02NCA9ICh1aW50NjRfdCkgZC0+ZF9jeWxza2V3OworCQlpdGVtLT50eXBlID0gJ2onOworCQlicmVhazsKKwljYXNlIEJTRF9MQUJFTElURU1fSEVBRFNXSVRDSDoKKwkJaXRlbS0+bmFtZSA9IF8oIkhlYWRzd2l0Y2giKTsKKwkJaXRlbS0+ZGF0YS5udW02NCA9ICh1aW50NjRfdCkgZC0+ZF9oZWFkc3dpdGNoOworCQlpdGVtLT50eXBlID0gJ2onOworCQlicmVhazsKKwljYXNlIEJTRF9MQUJFTElURU1fVFJLU0VFSzoKKwkJaXRlbS0+bmFtZSA9IF8oIlRyYWNrLXRvLXRyYWNrIHNlZWsiKTsKKwkJaXRlbS0+ZGF0YS5udW02NCA9ICh1aW50NjRfdCkgZC0+ZF90cmtzZWVrOworCQlpdGVtLT50eXBlID0gJ2onOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlpZiAoaXRlbS0+aWQgPCBfX0ZESVNLX05MQUJFTElURU1TKQorCQkJcmMgPSAxOwkvKiB1bnN1cHBvcnRlZCBnZW5lcmljIGl0ZW0gKi8KKwkJZWxzZQorCQkJcmMgPSAyOwkvKiBvdXQgb2YgcmFuZ2UgKi8KKwkJYnJlYWs7CisJfQorCisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IGJzZF9nZXRfcGFydGl0aW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBuLAorCQkJICAgICBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlzdHJ1Y3QgYnNkX3BhcnRpdGlvbiAqcDsKKwlzdHJ1Y3QgYnNkX2Rpc2tsYWJlbCAqZCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgQlNEKSk7CisKKwlpZiAobiA+PSBkLT5kX25wYXJ0aXRpb25zKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXAgPSAmZC0+ZF9wYXJ0aXRpb25zW25dOworCisJcGEtPnVzZWQgPSBwLT5wX3NpemUgPyAxIDogMDsKKwlpZiAoIXBhLT51c2VkKQorCQlyZXR1cm4gMDsKKworCWlmIChmZGlza191c2VfY3lsaW5kZXJzKGN4dCkgJiYgZC0+ZF9zZWNwZXJjeWwpIHsKKwkJcGEtPnN0YXJ0X3Bvc3QgPSBwLT5wX29mZnNldCAlIGQtPmRfc2VjcGVyY3lsID8gJyonIDogJyAnOworCQlwYS0+ZW5kX3Bvc3QgPSAocC0+cF9vZmZzZXQgKyBwLT5wX3NpemUpICUgZC0+ZF9zZWNwZXJjeWwgPyAnKicgOiAnICc7CisJfQorCisJcGEtPnN0YXJ0ID0gcC0+cF9vZmZzZXQ7CisJcGEtPnNpemUgPSBwLT5wX3NpemU7CisJcGEtPnR5cGUgPSBic2RfcGFydGl0aW9uX3BhcnR0eXBlKGN4dCwgcCk7CisKKwlpZiAocC0+cF9mc3R5cGUgPT0gQlNEX0ZTX1VOVVNFRCB8fCBwLT5wX2ZzdHlwZSA9PSBCU0RfRlNfQlNERkZTKSB7CisJCXBhLT5mc2l6ZSA9IHAtPnBfZnNpemU7CisJCXBhLT5ic2l6ZSA9IHAtPnBfZnNpemUgKiBwLT5wX2ZyYWc7CisJfQorCWlmIChwLT5wX2ZzdHlwZSA9PSBCU0RfRlNfQlNERkZTKQorCQlwYS0+Y3BnID0gcC0+cF9jcGc7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHVpbnQzMl90IGFza191aW50MzIoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJdWludDMyX3QgZGZsdCwgY2hhciAqbWVzZykKK3sKKwl1aW50bWF4X3QgcmVzOworCisJaWYgKGZkaXNrX2Fza19udW1iZXIoY3h0LCBtaW4oZGZsdCwgKHVpbnQzMl90KSAxKSwgZGZsdCwKKwkJCQlVSU5UMzJfTUFYLCBtZXNnLCAmcmVzKSA9PSAwKQorCQlyZXR1cm4gcmVzOworCXJldHVybiBkZmx0OworfQorCitzdGF0aWMgdWludDE2X3QgYXNrX3VpbnQxNihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQl1aW50MTZfdCBkZmx0LCBjaGFyICptZXNnKQoreworCXVpbnRtYXhfdCByZXM7CisKKwlpZiAoZmRpc2tfYXNrX251bWJlcihjeHQsIG1pbihkZmx0LCAodWludDE2X3QpIDEpLAorCQkJCWRmbHQsIFVJTlQxNl9NQVgsIG1lc2csICZyZXMpID09IDApCisJCXJldHVybiByZXM7CisJcmV0dXJuIGRmbHQ7Cit9CisKKy8qKgorICogZmRpc2tfYnNkX2VkaXRfZGlza2xhYmVsOgorICogQGN4dDogY29udGV4dAorICoKKyAqIEVkaXRzIGZpZWxkcyBpbiBCU0QgZGlzayBsYWJlbC4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yCisgKi8KK2ludCBmZGlza19ic2RfZWRpdF9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgYnNkX2Rpc2tsYWJlbCAqZCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJdWludG1heF90IHJlczsKKworI2lmIGRlZmluZWQgKF9fYWxwaGFfXykgfHwgZGVmaW5lZCAoX19pYTY0X18pCisJaWYgKGZkaXNrX2Fza19udW1iZXIoY3h0LCBERUZBVUxUX1NFQ1RPUl9TSVpFLCBkLT5kX3NlY3NpemUsCisJCQkgICAgIFVJTlQzMl9NQVgsIF8oImJ5dGVzL3NlY3RvciIpLCAmcmVzKSA9PSAwKQorCQlkLT5kX3NlY3NpemUgPSByZXM7CisKKwlkLT5kX25zZWN0b3JzID0gYXNrX3VpbnQzMihjeHQsIGQtPmRfbnNlY3RvcnMsIF8oInNlY3RvcnMvdHJhY2siKSk7CisJZC0+ZF9udHJhY2tzID0gYXNrX3VpbnQzMihjeHQsIGQtPmRfbnRyYWNrcywgXygidHJhY2tzL2N5bGluZGVyIikpOworCWQtPmRfbmN5bGluZGVycyA9IGFza191aW50MzIoY3h0LCBkLT5kX25jeWxpbmRlcnMgICxfKCJjeWxpbmRlcnMiKSk7CisjZW5kaWYKKwlpZiAoZmRpc2tfYXNrX251bWJlcihjeHQsIDEsIGQtPmRfbnNlY3RvcnMgKiBkLT5kX250cmFja3MsCisJCQkgICAgIGQtPmRfbnNlY3RvcnMgKiBkLT5kX250cmFja3MsCisJCQkgICAgIF8oInNlY3RvcnMvY3lsaW5kZXIiKSwgJnJlcykgPT0gMCkKKwkJZC0+ZF9zZWNwZXJjeWwgPSByZXM7CisKKwlkLT5kX3JwbSA9IGFza191aW50MTYoY3h0LCBkLT5kX3JwbSwgXygicnBtIikpOworCWQtPmRfaW50ZXJsZWF2ZSA9IGFza191aW50MTYoY3h0LCBkLT5kX2ludGVybGVhdmUsIF8oImludGVybGVhdmUiKSk7CisJZC0+ZF90cmFja3NrZXcgPSBhc2tfdWludDE2KGN4dCwgZC0+ZF90cmFja3NrZXcsIF8oInRyYWNrc2tldyIpKTsKKwlkLT5kX2N5bHNrZXcgPSBhc2tfdWludDE2KGN4dCwgZC0+ZF9jeWxza2V3LCBfKCJjeWxpbmRlcnNrZXciKSk7CisKKwlkLT5kX2hlYWRzd2l0Y2ggPSBhc2tfdWludDMyKGN4dCwgZC0+ZF9oZWFkc3dpdGNoLCBfKCJoZWFkc3dpdGNoIikpOworCWQtPmRfdHJrc2VlayA9IGFza191aW50MzIoY3h0LCBkLT5kX3Rya3NlZWssIF8oInRyYWNrLXRvLXRyYWNrIHNlZWsiKSk7CisKKwlkLT5kX3NlY3BlcnVuaXQgPSBkLT5kX3NlY3BlcmN5bCAqIGQtPmRfbmN5bGluZGVyczsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBic2RfZ2V0X2Jvb3RzdHJhcChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJY2hhciAqcGF0aCwgdm9pZCAqcHRyLCBpbnQgc2l6ZSkKK3sKKwlpbnQgZmQ7CisKKwlpZiAoKGZkID0gb3BlbihwYXRoLCBPX1JET05MWSkpIDwgMCkgeworCQlmZGlza193YXJuKGN4dCwgXygiY2Fubm90IG9wZW4gJXMiKSwgcGF0aCk7CisJCXJldHVybiAtZXJybm87CisJfQorCisJaWYgKHJlYWRfYWxsKGZkLCBwdHIsIHNpemUpICE9IHNpemUpIHsKKwkJZmRpc2tfd2FybihjeHQsIF8oImNhbm5vdCByZWFkICVzIiksIHBhdGgpOworCQljbG9zZShmZCk7CisJCXJldHVybiAtZXJybm87CisJfQorCisJZmRpc2tfaW5mbyhjeHQsIF8oIlRoZSBib290c3RyYXAgZmlsZSAlcyBzdWNjZXNzZnVsbHkgbG9hZGVkLiIpLCBwYXRoKTsKKwljbG9zZSAoZmQpOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX2JzZF93cml0ZV9ib290c3RyYXA6CisgKiBAY3h0OiBjb250ZXh0CisgKgorICogSW5zdGFsbCBib290c3RyYXAgZmlsZSB0byB0aGUgQlNEIGRldmljZQorICovCitpbnQgZmRpc2tfYnNkX3dyaXRlX2Jvb3RzdHJhcChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBic2RfZGlza2xhYmVsIGRsLCAqZCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJc3RydWN0IGZkaXNrX2JzZF9sYWJlbCAqbCA9IHNlbGZfbGFiZWwoY3h0KTsKKwljaGFyICpuYW1lID0gZC0+ZF90eXBlID09IEJTRF9EVFlQRV9TQ1NJID8gInNkIiA6ICJ3ZCI7CisJY2hhciBidWZbQlVGU0laXTsKKwljaGFyICpyZXMsICpkcCwgKnA7CisJaW50IHJjOworCWZkaXNrX3NlY3Rvcl90IHNlY3RvcjsKKworCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksCisJCV8oIkJvb3RzdHJhcDogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKGRlZmF1bHQgJTEkcykiKSwKKwkJbmFtZSk7CisJcmMgPSBmZGlza19hc2tfc3RyaW5nKGN4dCwgYnVmLCAmcmVzKTsKKwlpZiAocmMpCisJCWdvdG8gZG9uZTsKKwlpZiAocmVzICYmICpyZXMpCisJCW5hbWUgPSByZXM7CisKKwlzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJXMvJXNib290IiwgQlNEX0xJTlVYX0JPT1RESVIsIG5hbWUpOworCXJjID0gYnNkX2dldF9ib290c3RyYXAoY3h0LCBidWYsIGwtPmJzZGJ1ZmZlciwJKGludCkgZC0+ZF9zZWNzaXplKTsKKwlpZiAocmMpCisJCWdvdG8gZG9uZTsKKworCS8qIFdlIG5lZWQgYSBiYWNrdXAgb2YgdGhlIGRpc2tsYWJlbCAobWlnaHQgaGF2ZSBjaGFuZ2VkKS4gKi8KKwlkcCA9ICZsLT5ic2RidWZmZXJbQlNEX0xBQkVMU0VDVE9SICogREVGQVVMVF9TRUNUT1JfU0laRV07CisJbWVtbW92ZSgmZGwsIGRwLCBzaXplb2Yoc3RydWN0IGJzZF9kaXNrbGFiZWwpKTsKKworCS8qIFRoZSBkaXNrbGFiZWwgd2lsbCBiZSBvdmVyd3JpdHRlbiBieSAwJ3MgZnJvbSBib290eHggYW55d2F5ICovCisJbWVtc2V0KGRwLCAwLCBzaXplb2Yoc3RydWN0IGJzZF9kaXNrbGFiZWwpKTsKKworCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlcy9ib290JXMiLCBCU0RfTElOVVhfQk9PVERJUiwgbmFtZSk7CisJcmMgPSBic2RfZ2V0X2Jvb3RzdHJhcChjeHQsIGJ1ZiwKKwkJCSZsLT5ic2RidWZmZXJbZC0+ZF9zZWNzaXplXSwKKwkJCShpbnQpIGQtPmRfYmJzaXplIC0gZC0+ZF9zZWNzaXplKTsKKwlpZiAocmMpCisJCWdvdG8gZG9uZTsKKworCS8qIGNoZWNrIGVuZCBvZiB0aGUgYm9vdHN0cmFwICovCisJZm9yIChwID0gZHA7IHAgPCBkcCArIHNpemVvZihzdHJ1Y3QgYnNkX2Rpc2tsYWJlbCk7IHArKykgeworCQlpZiAoISpwKQorCQkJY29udGludWU7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiQm9vdHN0cmFwIG92ZXJsYXBzIHdpdGggZGlza2xhYmVsISIpKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJLyogbW92ZSBkaXNrbGFiZWwgYmFjayAqLworCW1lbW1vdmUoZHAsICZkbCwgc2l6ZW9mKHN0cnVjdCBic2RfZGlza2xhYmVsKSk7CisKKwlzZWN0b3IgPSAwOworCWlmIChsLT5kb3NfcGFydCkKKwkJc2VjdG9yID0gZG9zX3BhcnRpdGlvbl9nZXRfc3RhcnQobC0+ZG9zX3BhcnQpOworI2lmIGRlZmluZWQgKF9fYWxwaGFfXykKKwlhbHBoYV9ib290YmxvY2tfY2hlY2tzdW0obC0+YnNkYnVmZmVyKTsKKyNlbmRpZgorCWlmIChsc2VlayhjeHQtPmRldl9mZCwgKG9mZl90KSBzZWN0b3IgKiBERUZBVUxUX1NFQ1RPUl9TSVpFLCBTRUVLX1NFVCkgPT0gLTEpIHsKKwkJZmRpc2tfd2FybihjeHQsIF8oInNlZWsgb24gJXMgZmFpbGVkIiksIGN4dC0+ZGV2X3BhdGgpOworCQlyYyA9IC1lcnJubzsKKwkJZ290byBkb25lOworCX0KKwlpZiAod3JpdGVfYWxsKGN4dC0+ZGV2X2ZkLCBsLT5ic2RidWZmZXIsIEJTRF9CQlNJWkUpKSB7CisJCWZkaXNrX3dhcm4oY3h0LCBfKCJjYW5ub3Qgd3JpdGUgJXMiKSwgY3h0LT5kZXZfcGF0aCk7CisJCXJjID0gLWVycm5vOworCQlnb3RvIGRvbmU7CisJfQorCisJZmRpc2tfaW5mbyhjeHQsIF8oIkJvb3RzdHJhcCBpbnN0YWxsZWQgb24gJXMuIiksIGN4dC0+ZGV2X3BhdGgpOworCXN5bmNfZGlza3MoY3h0KTsKKworCXJjID0gMDsKK2RvbmU6CisJZnJlZShyZXMpOworCXJldHVybiByYzsKK30KKworc3RhdGljIHVuc2lnbmVkIHNob3J0IGJzZF9ka2Nrc3VtIChzdHJ1Y3QgYnNkX2Rpc2tsYWJlbCAqbHApCit7CisJdW5zaWduZWQgc2hvcnQgKnN0YXJ0LCAqZW5kOworCXVuc2lnbmVkIHNob3J0IHN1bSA9IDA7CisKKwlzdGFydCA9ICh1bnNpZ25lZCBzaG9ydCAqKSBscDsKKwllbmQgPSAodW5zaWduZWQgc2hvcnQgKikgJmxwLT5kX3BhcnRpdGlvbnNbbHAtPmRfbnBhcnRpdGlvbnNdOworCXdoaWxlIChzdGFydCA8IGVuZCkKKwkJc3VtIF49ICpzdGFydCsrOworCXJldHVybiBzdW07Cit9CisKK3N0YXRpYyBpbnQgYnNkX2luaXRsYWJlbCAoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgZmRpc2tfYnNkX2xhYmVsICpsID0gc2VsZl9sYWJlbChjeHQpOworCXN0cnVjdCBic2RfZGlza2xhYmVsICpkID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKwlzdHJ1Y3QgYnNkX3BhcnRpdGlvbiAqcHA7CisKKwltZW1zZXQgKGQsIDAsIHNpemVvZiAoc3RydWN0IGJzZF9kaXNrbGFiZWwpKTsKKworCWQgLT4gZF9tYWdpYyA9IEJTRF9ESVNLTUFHSUM7CisKKwlpZiAoc3RybmNtcCAoY3h0LT5kZXZfcGF0aCwgIi9kZXYvc2QiLCA3KSA9PSAwKQorCQlkIC0+IGRfdHlwZSA9IEJTRF9EVFlQRV9TQ1NJOworCWVsc2UKKwkJZCAtPiBkX3R5cGUgPSBCU0RfRFRZUEVfU1Q1MDY7CisKKyNpZiAhZGVmaW5lZCAoX19hbHBoYV9fKQorCWQgLT4gZF9mbGFncyA9IEJTRF9EX0RPU1BBUlQ7CisjZWxzZQorCWQgLT4gZF9mbGFncyA9IDA7CisjZW5kaWYKKwlkIC0+IGRfc2Vjc2l6ZSA9IERFRkFVTFRfU0VDVE9SX1NJWkU7CQkvKiBieXRlcy9zZWN0b3IgICovCisJZCAtPiBkX25zZWN0b3JzID0gY3h0LT5nZW9tLnNlY3RvcnM7CQkvKiBzZWN0b3JzL3RyYWNrICovCisJZCAtPiBkX250cmFja3MgPSBjeHQtPmdlb20uaGVhZHM7CQkvKiB0cmFja3MvY3lsaW5kZXIgKGhlYWRzKSAqLworCWQgLT4gZF9uY3lsaW5kZXJzID0gY3h0LT5nZW9tLmN5bGluZGVyczsKKwlkIC0+IGRfc2VjcGVyY3lsICA9IGN4dC0+Z2VvbS5zZWN0b3JzICogY3h0LT5nZW9tLmhlYWRzOy8qIHNlY3RvcnMvY3lsaW5kZXIgKi8KKwlpZiAoZCAtPiBkX3NlY3BlcmN5bCA9PSAwKQorCQlkIC0+IGRfc2VjcGVyY3lsID0gMTsJCS8qIGF2b2lkIHNlZ2ZhdWx0cyAqLworCWQgLT4gZF9zZWNwZXJ1bml0ID0gZCAtPiBkX3NlY3BlcmN5bCAqIGQgLT4gZF9uY3lsaW5kZXJzOworCisJZCAtPiBkX3JwbSA9IDM2MDA7CisJZCAtPiBkX2ludGVybGVhdmUgPSAxOworCWQgLT4gZF90cmFja3NrZXcgPSAwOworCWQgLT4gZF9jeWxza2V3ID0gMDsKKwlkIC0+IGRfaGVhZHN3aXRjaCA9IDA7CisJZCAtPiBkX3Rya3NlZWsgPSAwOworCisJZCAtPiBkX21hZ2ljMiA9IEJTRF9ESVNLTUFHSUM7CisJZCAtPiBkX2Jic2l6ZSA9IEJTRF9CQlNJWkU7CisJZCAtPiBkX3Nic2l6ZSA9IEJTRF9TQlNJWkU7CisKKwlpZiAobC0+ZG9zX3BhcnQpIHsKKwkJZC0+ZF9ucGFydGl0aW9ucyA9IDQ7CisKKwkJcHAgPSAmZC0+ZF9wYXJ0aXRpb25zWzJdOwkvKiBQYXJ0aXRpb24gQyBzaG91bGQgYmUgdGhlIE5ldEJTRCBwYXJ0aXRpb24gKi8KKwkJcHAtPnBfb2Zmc2V0ID0gZG9zX3BhcnRpdGlvbl9nZXRfc3RhcnQobC0+ZG9zX3BhcnQpOworCQlwcC0+cF9zaXplICAgPSBkb3NfcGFydGl0aW9uX2dldF9zaXplKGwtPmRvc19wYXJ0KTsKKwkJcHAtPnBfZnN0eXBlID0gQlNEX0ZTX1VOVVNFRDsKKworCQlwcCA9ICZkIC0+IGRfcGFydGl0aW9uc1szXTsJLyogUGFydGl0aW9uIEQgc2hvdWxkIGJlIHRoZSB3aG9sZSBkaXNrICovCisJCXBwLT5wX29mZnNldCA9IDA7CisJCXBwLT5wX3NpemUgICA9IGQtPmRfc2VjcGVydW5pdDsKKwkJcHAtPnBfZnN0eXBlID0gQlNEX0ZTX1VOVVNFRDsKKwl9IGVsc2UgeworCQlkLT5kX25wYXJ0aXRpb25zID0gMzsKKworCQlwcCA9ICZkLT5kX3BhcnRpdGlvbnNbMl07CS8qIFBhcnRpdGlvbiBDIHNob3VsZCBiZSB0aGUgd2hvbGUgZGlzayAqLworCQlwcC0+cF9vZmZzZXQgPSAwOworCQlwcC0+cF9zaXplICAgPSBkLT5kX3NlY3BlcnVuaXQ7CisJCXBwLT5wX2ZzdHlwZSA9IEJTRF9GU19VTlVTRUQ7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBSZWFkIGEgYnNkX2Rpc2tsYWJlbCBmcm9tIHNlY3RvciAwIG9yIGZyb20gdGhlIHN0YXJ0aW5nIHNlY3RvciBvZiBwLgorICogSWYgaXQgaGFzIHRoZSByaWdodCBtYWdpYywgcmV0dXJuIDAuCisgKi8KK3N0YXRpYyBpbnQgYnNkX3JlYWRsYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBmZGlza19ic2RfbGFiZWwgKmw7CisJc3RydWN0IGJzZF9kaXNrbGFiZWwgKmQ7CisJaW50IHQ7CisJb2ZmX3Qgb2Zmc2V0ID0gMDsKKworCWwgPSBzZWxmX2xhYmVsKGN4dCk7CisJZCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisKKwlpZiAobC0+ZG9zX3BhcnQpCisJCS8qIEJTRCBpcyBuZXN0ZWQgd2l0aGluIERPUyBwYXJ0aXRpb24sIGdldCB0aGUgYmVnaW4gb2YgdGhlCisJCSAqIHBhcnRpdGlvbi4gTm90ZSB0aGF0IERPUyB1c2VzIG5hdGl2ZSBzZWN0b3Igc2l6ZS4gKi8KKwkJb2Zmc2V0ID0gZG9zX3BhcnRpdGlvbl9nZXRfc3RhcnQobC0+ZG9zX3BhcnQpICogY3h0LT5zZWN0b3Jfc2l6ZTsKKworCWlmIChsc2VlayhjeHQtPmRldl9mZCwgb2Zmc2V0LCBTRUVLX1NFVCkgPT0gLTEpCisJCXJldHVybiAtMTsKKwlpZiAocmVhZF9hbGwoY3h0LT5kZXZfZmQsIGwtPmJzZGJ1ZmZlciwgc2l6ZW9mKGwtPmJzZGJ1ZmZlcikpIDwgMCkKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogLTE7CisKKwkvKiBUaGUgb2Zmc2V0IHRvIGJlZ2luIG9mIHRoZSBkaXNrIGxhYmVsLiBOb3RlIHRoYXQgQlNEIHVzZXMKKwkgKiA1MTItYnl0ZSAoZGVmYXVsdCkgc2VjdG9ycy4gKi8KKwltZW1tb3ZlKGQsICZsLT5ic2RidWZmZXJbQlNEX0xBQkVMU0VDVE9SICogREVGQVVMVF9TRUNUT1JfU0laRQorCQkJICAgICAgKyBCU0RfTEFCRUxPRkZTRVRdLCBzaXplb2YoKmQpKTsKKworCWlmIChkLT5kX21hZ2ljICE9IEJTRF9ESVNLTUFHSUMgfHwgZC0+ZF9tYWdpYzIgIT0gQlNEX0RJU0tNQUdJQykgeworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJub3QgZm91bmQgbWFnaWMiKSk7CisJCXJldHVybiAtMTsKKwl9CisKKwlmb3IgKHQgPSBkLT5kX25wYXJ0aXRpb25zOyB0IDwgQlNEX01BWFBBUlRJVElPTlM7IHQrKykgeworCQlkLT5kX3BhcnRpdGlvbnNbdF0ucF9zaXplICAgPSAwOworCQlkLT5kX3BhcnRpdGlvbnNbdF0ucF9vZmZzZXQgPSAwOworCQlkLT5kX3BhcnRpdGlvbnNbdF0ucF9mc3R5cGUgPSBCU0RfRlNfVU5VU0VEOworCX0KKworCWlmIChkLT5kX25wYXJ0aXRpb25zID4gQlNEX01BWFBBUlRJVElPTlMpCisJCWZkaXNrX3dhcm54KGN4dCwgKCJUb28gbWFueSBwYXJ0aXRpb25zICglZCwgbWF4aW11bSBpcyAlZCkuIiksCisJCQkJZC0+ZF9ucGFydGl0aW9ucywgQlNEX01BWFBBUlRJVElPTlMpOworCisJLyogbGV0J3MgZm9sbG93IGluLVBUIGdlb21ldHJ5ICovCisJY3h0LT5nZW9tLnNlY3RvcnMgPSBkLT5kX25zZWN0b3JzOworCWN4dC0+Z2VvbS5oZWFkcyA9IGQtPmRfbnRyYWNrczsKKwljeHQtPmdlb20uY3lsaW5kZXJzID0gZC0+ZF9uY3lsaW5kZXJzOworCisJY3h0LT5sYWJlbC0+bnBhcnRzX2N1ciA9IGQtPmRfbnBhcnRpdGlvbnM7CisJY3h0LT5sYWJlbC0+bnBhcnRzX21heCA9IEJTRF9NQVhQQVJUSVRJT05TOworCURCRyhMQUJFTCwgdWxfZGVidWcoInJlYWQgQlNEIGxhYmVsIikpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGJzZF93cml0ZV9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlvZmZfdCBvZmZzZXQgPSAwOworCXN0cnVjdCBmZGlza19ic2RfbGFiZWwgKmwgPSBzZWxmX2xhYmVsKGN4dCk7CisJc3RydWN0IGJzZF9kaXNrbGFiZWwgKmQgPSBzZWxmX2Rpc2tsYWJlbChjeHQpOworCisKKwlpZiAobC0+ZG9zX3BhcnQpCisJCW9mZnNldCA9IGRvc19wYXJ0aXRpb25fZ2V0X3N0YXJ0KGwtPmRvc19wYXJ0KSAqIGN4dC0+c2VjdG9yX3NpemU7CisKKwlkLT5kX2NoZWNrc3VtID0gMDsKKwlkLT5kX2NoZWNrc3VtID0gYnNkX2RrY2tzdW0oZCk7CisKKwkvKiBVcGRhdGUgbGFiZWwgd2l0aGluIGJvb3QgYmxvY2suICovCisJbWVtbW92ZSgmbC0+YnNkYnVmZmVyW0JTRF9MQUJFTFNFQ1RPUiAqIERFRkFVTFRfU0VDVE9SX1NJWkUKKwkJCSAgICsgQlNEX0xBQkVMT0ZGU0VUXSwgZCwgc2l6ZW9mKCpkKSk7CisKKyNpZiBkZWZpbmVkIChfX2FscGhhX18pICYmIEJTRF9MQUJFTFNFQ1RPUiA9PSAwCisJLyogV3JpdGUgdGhlIGNoZWNrc3VtIHRvIHRoZSBlbmQgb2YgdGhlIGZpcnN0IHNlY3Rvci4gKi8KKwlhbHBoYV9ib290YmxvY2tfY2hlY2tzdW0obC0+YnNkYnVmZmVyKTsKKyNlbmRpZgorCWlmIChsc2VlayhjeHQtPmRldl9mZCwgb2Zmc2V0LCBTRUVLX1NFVCkgPT0gLTEpIHsKKwkJZmRpc2tfd2FybihjeHQsIF8oInNlZWsgb24gJXMgZmFpbGVkIiksIGN4dC0+ZGV2X3BhdGgpOworCQlyZXR1cm4gLWVycm5vOworCX0KKwlpZiAod3JpdGVfYWxsKGN4dC0+ZGV2X2ZkLCBsLT5ic2RidWZmZXIsIHNpemVvZihsLT5ic2RidWZmZXIpKSkgeworCQlmZGlza193YXJuKGN4dCwgXygiY2Fubm90IHdyaXRlICVzIiksIGN4dC0+ZGV2X3BhdGgpOworCQlyZXR1cm4gLWVycm5vOworCX0KKwlzeW5jX2Rpc2tzKGN4dCk7CisKKwlpZiAoY3h0LT5wYXJlbnQgJiYgZmRpc2tfbGFiZWxfaXNfY2hhbmdlZChjeHQtPnBhcmVudC0+bGFiZWwpKQorCQlmZGlza19pbmZvKGN4dCwgXygiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuICAoRG9uJ3QgZm9yZ2V0IHRvIHdyaXRlIHRoZSAlcyBkaXNrbGFiZWwgdG9vLikiKSwKKwkJCQljeHQtPmRldl9wYXRoLCBjeHQtPnBhcmVudC0+ZGV2X3BhdGgpOworCWVsc2UKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiIpLCBjeHQtPmRldl9wYXRoKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgc3luY19kaXNrcyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWZkaXNrX2luZm8oY3h0LCBfKCJTeW5jaW5nIGRpc2tzLiIpKTsKKwlzeW5jKCk7Cit9CisKK3N0YXRpYyBpbnQgYnNkX3RyYW5zbGF0ZV9mc3R5cGUgKGludCBsaW51eF90eXBlKQoreworCXN3aXRjaCAobGludXhfdHlwZSkgeworCWNhc2UgMHgwMTogLyogRE9TIDEyLWJpdCBGQVQgICAqLworCWNhc2UgMHgwNDogLyogRE9TIDE2LWJpdCA8MzJNICAqLworCWNhc2UgMHgwNjogLyogRE9TIDE2LWJpdCA+PTMyTSAqLworCWNhc2UgMHhlMTogLyogRE9TIGFjY2VzcyAgICAgICAqLworCWNhc2UgMHhlMzogLyogRE9TIFIvTyAgICAgICAgICAqLworI2lmICFkZWZpbmVkIChfX2FscGhhX18pCisJY2FzZSAweGYyOiAvKiBET1Mgc2Vjb25kYXJ5ICAgICovCisJCXJldHVybiBCU0RfRlNfTVNET1M7CisjZW5kaWYKKwljYXNlIDB4MDc6IC8qIE9TLzIgSFBGUyAgICAgICAgKi8KKwkJcmV0dXJuIEJTRF9GU19IUEZTOworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KKworCXJldHVybiBCU0RfRlNfT1RIRVI7Cit9CisKKy8qKgorICogZmRpc2tfYnNkX2xpbmtfcGFydGl0aW9uOgorICogQGN4dDogY29udGV4dAorICoKKyAqIExpbmtzIHBhcnRpdGlvbiBmcm9tIHBhcmVudCAoRE9TKSB0byBuZXN0ZWQgQlNEIHBhcnRpdGlvbiB0YWJsZS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yCisgKi8KK2ludCBmZGlza19ic2RfbGlua19wYXJ0aXRpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzaXplX3QgaywgaTsKKwlpbnQgcmM7CisJc3RydWN0IGRvc19wYXJ0aXRpb24gKnA7CisJc3RydWN0IGJzZF9kaXNrbGFiZWwgKmQgPSBzZWxmX2Rpc2tsYWJlbChjeHQpOworCisJaWYgKCFjeHQtPnBhcmVudCB8fCAhZmRpc2tfaXNfbGFiZWwoY3h0LT5wYXJlbnQsIERPUykpIHsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJCU0QgbGFiZWwgaXMgbm90IG5lc3RlZCB3aXRoaW4gYSBET1MgcGFydGl0aW9uLiIpKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJLyogYXNrIGZvciBET1MgcGFydGl0aW9uICovCisJcmMgPSBmZGlza19hc2tfcGFydG51bShjeHQtPnBhcmVudCwgJmssIEZBTFNFKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKwkvKiBhc2sgZm9yIEJTRCBwYXJ0aXRpb24gKi8KKwlyYyA9IGZkaXNrX2Fza19wYXJ0bnVtKGN4dCwgJmksIFRSVUUpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJaWYgKGkgPj0gQlNEX01BWFBBUlRJVElPTlMpCisJCXJldHVybiAtRUlOVkFMOworCisJcCA9IGZkaXNrX2Rvc19nZXRfcGFydGl0aW9uKGN4dC0+cGFyZW50LCBrKTsKKworCWQtPmRfcGFydGl0aW9uc1tpXS5wX3NpemUgICA9IGRvc19wYXJ0aXRpb25fZ2V0X3NpemUocCk7CisJZC0+ZF9wYXJ0aXRpb25zW2ldLnBfb2Zmc2V0ID0gZG9zX3BhcnRpdGlvbl9nZXRfc3RhcnQocCk7CisJZC0+ZF9wYXJ0aXRpb25zW2ldLnBfZnN0eXBlID0gYnNkX3RyYW5zbGF0ZV9mc3R5cGUocC0+c3lzX2luZCk7CisKKwlpZiAoaSA+PSBkLT5kX25wYXJ0aXRpb25zKQorCQlkLT5kX25wYXJ0aXRpb25zID0gaSArIDE7CisKKwljeHQtPmxhYmVsLT5ucGFydHNfY3VyID0gZC0+ZF9ucGFydGl0aW9uczsKKwlmZGlza19sYWJlbF9zZXRfY2hhbmdlZChjeHQtPmxhYmVsLCAxKTsKKworCWZkaXNrX2luZm8oY3h0LCBfKCJCU0QgcGFydGl0aW9uICclYycgbGlua2VkIHRvIERPUyBwYXJ0aXRpb24gJXp1LiIpLAorCQkJJ2EnICsgKGludCkgaSwgayArIDEpOworCXJldHVybiAwOworfQorCisKK3N0YXRpYyBpbnQgYnNkX3BhcnRpdGlvbl9pc191c2VkKAorCQlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQlzaXplX3QgcGFydG51bSkKK3sKKwlzdHJ1Y3QgYnNkX2Rpc2tsYWJlbCAqZCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisKKwlpZiAocGFydG51bSA+PSBCU0RfTUFYUEFSVElUSU9OUykKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gZC0+ZF9wYXJ0aXRpb25zW3BhcnRudW1dLnBfc2l6ZSA/IDEgOiAwOworfQorCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWxfb3BlcmF0aW9ucyBic2Rfb3BlcmF0aW9ucyA9Cit7CisJLnByb2JlCQk9IGJzZF9wcm9iZV9sYWJlbCwKKwkuZ2V0X2l0ZW0JPSBic2RfZ2V0X2Rpc2tsYWJlbF9pdGVtLAorCS53cml0ZQkJPSBic2Rfd3JpdGVfZGlza2xhYmVsLAorCS5jcmVhdGUJCT0gYnNkX2NyZWF0ZV9kaXNrbGFiZWwsCisKKwkuZGVsX3BhcnQJPSBic2RfZGVsZXRlX3BhcnQsCisJLmdldF9wYXJ0CT0gYnNkX2dldF9wYXJ0aXRpb24sCisJLnNldF9wYXJ0CT0gYnNkX3NldF9wYXJ0aXRpb24sCisJLmFkZF9wYXJ0CT0gYnNkX2FkZF9wYXJ0aXRpb24sCisKKwkucGFydF9pc191c2VkICAgPSBic2RfcGFydGl0aW9uX2lzX3VzZWQsCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGZkaXNrX2ZpZWxkIGJzZF9maWVsZHNbXSA9Cit7CisJeyBGRElTS19GSUVMRF9ERVZJQ0UsCU5fKCJTbGljZSIpLAkgIDEsCTAgfSwKKwl7IEZESVNLX0ZJRUxEX1NUQVJULAlOXygiU3RhcnQiKSwJICA1LAlGRElTS19GSUVMREZMX05VTUJFUiB9LAorCXsgRkRJU0tfRklFTERfRU5ELAlOXygiRW5kIiksCSAgNSwJRkRJU0tfRklFTERGTF9OVU1CRVIgfSwKKwl7IEZESVNLX0ZJRUxEX1NFQ1RPUlMsCU5fKCJTZWN0b3JzIiksICAgIDUsCUZESVNLX0ZJRUxERkxfTlVNQkVSIH0sCisJeyBGRElTS19GSUVMRF9DWUxJTkRFUlMsTl8oIkN5bGluZGVycyIpLCAgNSwJRkRJU0tfRklFTERGTF9OVU1CRVIgfSwKKwl7IEZESVNLX0ZJRUxEX1NJWkUsCU5fKCJTaXplIiksCSAgNSwJRkRJU0tfRklFTERGTF9OVU1CRVIgfSwKKwl7IEZESVNLX0ZJRUxEX1RZUEUsCU5fKCJUeXBlIiksCSAgOCwJMCB9LAorCXsgRkRJU0tfRklFTERfRlNJWkUsCU5fKCJGc2l6ZSIpLAkgIDUsCUZESVNLX0ZJRUxERkxfTlVNQkVSIH0sCisJeyBGRElTS19GSUVMRF9CU0laRSwJTl8oIkJzaXplIiksCSAgNSwJRkRJU0tfRklFTERGTF9OVU1CRVIgfSwKKwl7IEZESVNLX0ZJRUxEX0NQRywJTl8oIkNwZyIpLAkgIDUsCUZESVNLX0ZJRUxERkxfTlVNQkVSIH0KK307CisKKy8qCisgKiBhbGxvY2F0ZXMgQlNEIGxhYmVsIGRyaXZlcgorICovCitzdHJ1Y3QgZmRpc2tfbGFiZWwgKmZkaXNrX25ld19ic2RfbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiOworCXN0cnVjdCBmZGlza19ic2RfbGFiZWwgKmJzZDsKKworCWFzc2VydChjeHQpOworCisJYnNkID0gY2FsbG9jKDEsIHNpemVvZigqYnNkKSk7CisJaWYgKCFic2QpCisJCXJldHVybiBOVUxMOworCisJLyogaW5pdGlhbGl6ZSBnZW5lcmljIHBhcnQgb2YgdGhlIGRyaXZlciAqLworCWxiID0gKHN0cnVjdCBmZGlza19sYWJlbCAqKSBic2Q7CisJbGItPm5hbWUgPSAiYnNkIjsKKwlsYi0+aWQgPSBGRElTS19ESVNLTEFCRUxfQlNEOworCWxiLT5vcCA9ICZic2Rfb3BlcmF0aW9uczsKKwlsYi0+cGFydHR5cGVzID0gYnNkX2ZzdHlwZXM7CisJbGItPm5wYXJ0dHlwZXMgPSBBUlJBWV9TSVpFKGJzZF9mc3R5cGVzKSAtIDE7CisKKwlsYi0+ZmllbGRzID0gYnNkX2ZpZWxkczsKKwlsYi0+bmZpZWxkcyA9IEFSUkFZX1NJWkUoYnNkX2ZpZWxkcyk7CisKKwlsYi0+ZmxhZ3MgfD0gRkRJU0tfTEFCRUxfRkxfSU5DSEFSU19QQVJUTk87CisJbGItPmZsYWdzIHw9IEZESVNLX0xBQkVMX0ZMX1JFUVVJUkVfR0VPTUVUUlk7CisKKwlyZXR1cm4gbGI7Cit9CmRpZmYgLS1naXQgYS9saWJmZGlzay9zcmMvY29udGV4dC5jIGIvbGliZmRpc2svc3JjL2NvbnRleHQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjJmYjhlCi0tLSAvZGV2L251bGwKKysrIGIvbGliZmRpc2svc3JjL2NvbnRleHQuYwpAQCAtMCwwICsxLDExMzUgQEAKKyNpZmRlZiBIQVZFX0xJQkJMS0lECisjIGluY2x1ZGUgPGJsa2lkLmg+CisjZW5kaWYKKworI2luY2x1ZGUgImZkaXNrUC5oIgorCisKKy8qKgorICogU0VDVElPTjogY29udGV4dAorICogQHRpdGxlOiBDb250ZXh0CisgKiBAc2hvcnRfZGVzY3JpcHRpb246IHN0b3JlcyBpbmZvIGFib3V0IGRldmljZSwgbGFiZWxzIGV0Yy4KKyAqCisgKiBUaGUgbGlicmFyeSBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRocmVlIHR5cGVzIG9mIHBhcnRpdGlvbmluZyBvYmplY3RzLgorICoKKyAqIG9uLWRpc2sgZGF0YQorICogICAgLSBkaXNrIGxhYmVsIHNwZWNpZmljCisgKiAgICAtIHByb2JlZCBhbmQgcmVhZCAgYnkgZGlza2xhYmVsIGRyaXZlcnMgd2hlbiBhc3NpZ24gZGV2aWNlIHRvIHRoZSBjb250ZXh0CisgKiAgICAgIG9yIHdoZW4gc3dpdGNoIHRvIGFub3RoZXIgZGlzayBsYWJlbCB0eXBlCisgKiAgICAtIG9ubHkgZmRpc2tfd3JpdGVfZGlza2xhYmVsKCkgbW9kaWZ5IG9uLWRpc2sgZGF0YQorICoKKyAqIGluLW1lbW9yeSBkYXRhCisgKiAgICAtIGdlbmVyaWMgZGF0YSBhbmQgZGlza2xhYmVsIHNwZWNpZmljIGRhdGEgc3RvcmVkIGluIHN0cnVjdCBmZGlza19sYWJlbAorICogICAgLSBhbGwgcGFydGl0aW9uaW5nIG9wZXJhdGlvbnMgYXJlIGJhc2VkIG9uIGluLW1lbW9yeSBkYXRhIG9ubHkKKyAqCisgKiBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uCisgKiAgICAtIHByb3ZpZGVzIGFic3RyYWN0aW9uIHRvIHByZXNlbnQgcGFydGl0aW9ucyB0byB1c2VycworICogICAgLSBmZGlza19wYXJ0aXRpb24gaXMgcG9zc2libGUgdG8gZ2F0aGVyIHRvIGZkaXNrX3RhYmxlIGNvbnRhaW5lcgorICogICAgLSB1c2VkIGFzIHVuaWZpZWQgdGVtcGxhdGUgZm9yIG5ldyBwYXJ0aXRpb25zCisgKiAgICAtIHRoZSBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uIGlzIGFsd2F5cyBjb21wbGV0ZWx5IGluZGVwZW5kZW50IG9iamVjdCBhbmQKKyAqICAgICAgYW55IGNoYW5nZSB0byB0aGUgb2JqZWN0IGhhcyBubyBlZmZlY3QgdG8gaW4tbWVtb3J5IChvciBvbi1kaXNrKSBsYWJlbCBkYXRhCisgKi8KKworLyoqCisgKiBmZGlza19uZXdfY29udGV4dDoKKyAqCisgKiBSZXR1cm5zOiBuZXdseSBhbGxvY2F0ZWQgbGliZmRpc2sgaGFuZGxlcgorICovCitzdHJ1Y3QgZmRpc2tfY29udGV4dCAqZmRpc2tfbmV3X2NvbnRleHQodm9pZCkKK3sKKwlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0OworCisJY3h0ID0gY2FsbG9jKDEsIHNpemVvZigqY3h0KSk7CisJaWYgKCFjeHQpCisJCXJldHVybiBOVUxMOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiYWxsb2MiKSk7CisJY3h0LT5kZXZfZmQgPSAtMTsKKwljeHQtPnJlZmNvdW50ID0gMTsKKworCUlOSVRfTElTVF9IRUFEKCZjeHQtPndpcGVzKTsKKworCS8qCisJICogQWxsb2NhdGUgbGFiZWwgc3BlY2lmaWMgc3RydWN0cy4KKwkgKgorCSAqIFRoaXMgaXMgbmVjZXNzYXJ5IChmb3IgZXhhbXBsZSkgdG8gc3RvcmUgbGFiZWwgc3BlY2lmaWMKKwkgKiBjb250ZXh0IHNldHRpbmcuCisJICovCisJY3h0LT5sYWJlbHNbIGN4dC0+bmxhYmVscysrIF0gPSBmZGlza19uZXdfZ3B0X2xhYmVsKGN4dCk7CisJY3h0LT5sYWJlbHNbIGN4dC0+bmxhYmVscysrIF0gPSBmZGlza19uZXdfZG9zX2xhYmVsKGN4dCk7CisJY3h0LT5sYWJlbHNbIGN4dC0+bmxhYmVscysrIF0gPSBmZGlza19uZXdfYnNkX2xhYmVsKGN4dCk7CisJY3h0LT5sYWJlbHNbIGN4dC0+bmxhYmVscysrIF0gPSBmZGlza19uZXdfc2dpX2xhYmVsKGN4dCk7CisJY3h0LT5sYWJlbHNbIGN4dC0+bmxhYmVscysrIF0gPSBmZGlza19uZXdfc3VuX2xhYmVsKGN4dCk7CisKKwlyZXR1cm4gY3h0OworfQorCitzdGF0aWMgaW50IGluaXRfbmVzdGVkX2Zyb21fcGFyZW50KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGludCBpc25ldykKK3sKKwlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqcGFyZW50OworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+cGFyZW50KTsKKworCXBhcmVudCA9IGN4dC0+cGFyZW50OworCisJY3h0LT5hbGlnbm1lbnRfb2Zmc2V0ID0gcGFyZW50LT5hbGlnbm1lbnRfb2Zmc2V0OworCWN4dC0+YXNrX2NiID0JCXBhcmVudC0+YXNrX2NiOworCWN4dC0+YXNrX2RhdGEgPQkJcGFyZW50LT5hc2tfZGF0YTsKKwljeHQtPmRldl9mZCA9CQlwYXJlbnQtPmRldl9mZDsKKwljeHQtPmZpcnN0X2xiYSA9ICAgICAgICBwYXJlbnQtPmZpcnN0X2xiYTsKKwljeHQtPmZpcnN0c2VjdG9yX2J1ZnN6ID0gcGFyZW50LT5maXJzdHNlY3Rvcl9idWZzejsKKwljeHQtPmZpcnN0c2VjdG9yID0JcGFyZW50LT5maXJzdHNlY3RvcjsKKwljeHQtPmdlb20gPQkJcGFyZW50LT5nZW9tOworCWN4dC0+Z3JhaW4gPSAgICAgICAgICAgIHBhcmVudC0+Z3JhaW47CisJY3h0LT5pb19zaXplID0gICAgICAgICAgcGFyZW50LT5pb19zaXplOworCWN4dC0+bGFzdF9sYmEgPQkJcGFyZW50LT5sYXN0X2xiYTsKKwljeHQtPm1pbl9pb19zaXplID0gICAgICBwYXJlbnQtPm1pbl9pb19zaXplOworCWN4dC0+b3B0aW1hbF9pb19zaXplID0gIHBhcmVudC0+b3B0aW1hbF9pb19zaXplOworCWN4dC0+cGh5X3NlY3Rvcl9zaXplID0gIHBhcmVudC0+cGh5X3NlY3Rvcl9zaXplOworCWN4dC0+cmVhZG9ubHkgPQkJcGFyZW50LT5yZWFkb25seTsKKwljeHQtPnNjcmlwdCA9CQlwYXJlbnQtPnNjcmlwdDsKKwlmZGlza19yZWZfc2NyaXB0KGN4dC0+c2NyaXB0KTsKKwljeHQtPnNlY3Rvcl9zaXplID0gICAgICBwYXJlbnQtPnNlY3Rvcl9zaXplOworCWN4dC0+dG90YWxfc2VjdG9ycyA9ICAgIHBhcmVudC0+dG90YWxfc2VjdG9yczsKKwljeHQtPnVzZXJfZ2VvbSA9CXBhcmVudC0+dXNlcl9nZW9tOworCWN4dC0+dXNlcl9sb2dfc2VjdG9yID0JcGFyZW50LT51c2VyX2xvZ19zZWN0b3I7CisJY3h0LT51c2VyX3B5aF9zZWN0b3IgPSAgcGFyZW50LT51c2VyX3B5aF9zZWN0b3I7CisKKwkvKiBwYXJlbnQgPC0tPiBuZXN0ZWQgaW5kZXBlbmRlbnQgc2V0dGluZywgaW5pdGlhbGl6ZSBmb3IgbmV3IG5lc3RlZAorCSAqIGNvbnRleHRzIG9ubHkgKi8KKwlpZiAoaXNuZXcpIHsKKwkJY3h0LT5saXN0b25seSA9CXBhcmVudC0+bGlzdG9ubHk7CisJCWN4dC0+ZGlzcGxheV9kZXRhaWxzID0JcGFyZW50LT5kaXNwbGF5X2RldGFpbHM7CisJCWN4dC0+ZGlzcGxheV9pbl9jeWxfdW5pdHMgPSBwYXJlbnQtPmRpc3BsYXlfaW5fY3lsX3VuaXRzOworCQljeHQtPnByb3RlY3RfYm9vdGJpdHMgPSBwYXJlbnQtPnByb3RlY3RfYm9vdGJpdHM7CisJfQorCisJZnJlZShjeHQtPmRldl9wYXRoKTsKKwljeHQtPmRldl9wYXRoID0gTlVMTDsKKworCWlmIChwYXJlbnQtPmRldl9wYXRoKSB7CisJCWN4dC0+ZGV2X3BhdGggPQlzdHJkdXAocGFyZW50LT5kZXZfcGF0aCk7CisJCWlmICghY3h0LT5kZXZfcGF0aCkKKwkJCXJldHVybiAtRU5PTUVNOworCX0KKworCUlOSVRfTElTVF9IRUFEKCZjeHQtPndpcGVzKTsKKworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX25ld19uZXN0ZWRfY29udGV4dDoKKyAqIEBwYXJlbnQ6IHBhcmVudGFsIGNvbnRleHQKKyAqIEBuYW1lOiBvcHRpb25hbCBsYWJlbCBuYW1lIChlLmcuICJic2QiKQorICoKKyAqIENyZWF0ZSBhIG5ldyBuZXN0ZWQgZmRpc2sgY29udGV4dCBmb3IgbmVzdGVkIGRpc2sgbGFiZWxzIChlLmcuIEJTRCBvciBQTUJSKS4KKyAqIFRoZSBmdW5jdGlvbiBhbHNvIHByb2JlcyBmb3IgdGhlIG5lc3RlZCBsYWJlbCBvbiB0aGUgZGV2aWNlIGlmIGRldmljZSBpcworICogYWxyZWFkeSBhc3NpZ25lZCB0byBwYXJlbnQuCisgKgorICogVGhlIG5ldyBjb250ZXh0IGlzIGluaXRpYWxpemVkIGFjY29yZGluZyB0byBAcGFyZW50IGFuZCBib3RoIGNvbnRleHQgc2hhcmVzCisgKiBzb21lIHNldHRpbmdzIGFuZCBmaWxlIGRlc2NyaXB0b3IgdG8gdGhlIGRldmljZS4gVGhlIGNoaWxkIHByb3BhZ2F0ZSBzb21lCisgKiBjaGFuZ2VzIChsaWtlIGZkaXNrX2Fzc2lnbl9kZXZpY2UoKSkgdG8gcGFyZW50LCBidXQgaXQgZG9lcyBub3Qgd29yaworICogdmljZS12ZXJzYS4gVGhlIGJlaGF2aW9yIGlzIHVuZGVmaW5lZCBpZiB5b3UgYXNzaWduIGFub3RoZXIgZGV2aWNlIHRvCisgKiBwYXJlbnQuCisgKgorICogUmV0dXJuczogbmV3IGNvbnRleHQgZm9yIG5lc3RlZCBwYXJ0aXRpb24gdGFibGUuCisgKi8KK3N0cnVjdCBmZGlza19jb250ZXh0ICpmZGlza19uZXdfbmVzdGVkX2NvbnRleHQoc3RydWN0IGZkaXNrX2NvbnRleHQgKnBhcmVudCwKKwkJCQljb25zdCBjaGFyICpuYW1lKQoreworCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQ7CisJc3RydWN0IGZkaXNrX2xhYmVsICpsYiA9IE5VTEw7CisKKwlhc3NlcnQocGFyZW50KTsKKworCWN4dCA9IGNhbGxvYygxLCBzaXplb2YoKmN4dCkpOworCWlmICghY3h0KQorCQlyZXR1cm4gTlVMTDsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKHBhcmVudCwgImFsbG9jIG5lc3RlZCBbJXBdIFtuYW1lPSVzXSIsIGN4dCwgbmFtZSkpOworCWN4dC0+cmVmY291bnQgPSAxOworCisJZmRpc2tfcmVmX2NvbnRleHQocGFyZW50KTsKKwljeHQtPnBhcmVudCA9IHBhcmVudDsKKworCWlmIChpbml0X25lc3RlZF9mcm9tX3BhcmVudChjeHQsIDEpICE9IDApIHsKKwkJY3h0LT5wYXJlbnQgPSBOVUxMOworCQlmZGlza191bnJlZl9jb250ZXh0KGN4dCk7CisJCXJldHVybiBOVUxMOworCX0KKworCWlmIChuYW1lKSB7CisJCWlmIChzdHJjYXNlY21wKG5hbWUsICJic2QiKSA9PSAwKQorCQkJbGIgPSBjeHQtPmxhYmVsc1sgY3h0LT5ubGFiZWxzKysgXSA9IGZkaXNrX25ld19ic2RfbGFiZWwoY3h0KTsKKwkJZWxzZSBpZiAoc3RyY2FzZWNtcChuYW1lLCAiZG9zIikgPT0gMCB8fCBzdHJjYXNlY21wKG5hbWUsICJtYnIiKSA9PSAwKQorCQkJbGIgPSBjeHQtPmxhYmVsc1sgY3h0LT5ubGFiZWxzKysgXSA9IGZkaXNrX25ld19kb3NfbGFiZWwoY3h0KTsKKwl9CisKKwlpZiAobGIgJiYgcGFyZW50LT5kZXZfZmQgPj0gMCkgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJwcm9iaW5nIGZvciBuZXN0ZWQgJXMiLCBsYi0+bmFtZSkpOworCisJCWN4dC0+bGFiZWwgPSBsYjsKKworCQlpZiAobGItPm9wLT5wcm9iZShjeHQpID09IDEpCisJCQlfX2ZkaXNrX3N3aXRjaF9sYWJlbChjeHQsIGxiKTsKKwkJZWxzZSB7CisJCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJub3QgZm91bmQgJXMgbGFiZWwiLCBsYi0+bmFtZSkpOworCQkJaWYgKGxiLT5vcC0+ZGVpbml0KQorCQkJCWxiLT5vcC0+ZGVpbml0KGxiKTsKKwkJCWN4dC0+bGFiZWwgPSBOVUxMOworCQl9CisJfQorCisJcmV0dXJuIGN4dDsKK30KKworCisvKioKKyAqIGZkaXNrX3JlZl9jb250ZXh0OgorICogQGN4dDogY29udGV4dCBwb2ludGVyCisgKgorICogSW5jcmVtZW50cyByZWZlcmVuY2UgY291bnRlci4KKyAqLwordm9pZCBmZGlza19yZWZfY29udGV4dChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWlmIChjeHQpCisJCWN4dC0+cmVmY291bnQrKzsKK30KKworLyoqCisgKiBmZGlza19nZXRfbGFiZWw6CisgKiBAY3h0OiBjb250ZXh0IGluc3RhbmNlCisgKiBAbmFtZTogbGFiZWwgbmFtZSAoZS5nLiAiZ3B0IikKKyAqCisgKiBJZiBubyBAbmFtZSBzcGVjaWZpZWQgdGhlbiByZXR1cm5zIHRoZSBjdXJyZW50IGNvbnRleHQgbGFiZWwuCisgKgorICogVGhlIGxhYmVsIGlzIGFsbG9jYXRlZCBhbmQgbWFpbnRhaW5lZCB3aXRoaW4gdGhlIGNvbnRleHQgI2N4dC4gVGhlcmUgaXMKKyAqIG5vdGhpbmcgbGlrZSByZWZlcmVuY2UgY291bnRpbmcgZm9yIGxhYmVscywgeW91IGNhbm5vdCBkZWFsbG9jYXRlIHRoZQorICogbGFiZWwuCisgKgorICogUmV0dXJuczogbGFiZWwgc3RydWN0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworc3RydWN0IGZkaXNrX2xhYmVsICpmZGlza19nZXRfbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlzaXplX3QgaTsKKworCWFzc2VydChjeHQpOworCisJaWYgKCFuYW1lKQorCQlyZXR1cm4gY3h0LT5sYWJlbDsKKwllbHNlIGlmIChzdHJjYXNlY21wKG5hbWUsICJtYnIiKSA9PSAwKQorCQluYW1lID0gImRvcyI7CisKKwlmb3IgKGkgPSAwOyBpIDwgY3h0LT5ubGFiZWxzOyBpKyspCisJCWlmIChjeHQtPmxhYmVsc1tpXQorCQkgICAgJiYgc3RyY2FzZWNtcChjeHQtPmxhYmVsc1tpXS0+bmFtZSwgbmFtZSkgPT0gMCkKKwkJCXJldHVybiBjeHQtPmxhYmVsc1tpXTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImZhaWxlZCB0byBmb3VuZCAlcyBsYWJlbCBkcml2ZXIiLCBuYW1lKSk7CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qKgorICogZmRpc2tfbmV4dF9sYWJlbDoKKyAqIEBjeHQ6IGNvbnRleHQgaW5zdGFuY2UKKyAqIEBsYjogcmV0dXJucyBwb2ludGVyIHRvIHRoZSBuZXh0IGxhYmVsCisgKgorICogPGluZm9ybWFsZXhhbXBsZT4KKyAqICAgPHByb2dyYW1saXN0aW5nPgorICogICAgICAvLyBwcmludCBhbGwgc3VwcG9ydGVkIGxhYmVscworICoJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCA9IGZkaXNrX25ld19jb250ZXh0KCk7CisgKglzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiID0gTlVMTDsKKyAqCisgKgl3aGlsZSAoZmRpc2tfbmV4dF9sYWJlbChjeHQsICZsYikgPT0gMCkKKyAqCQlwcmludCgibGFiZWwgbmFtZTogJXNcbiIsIGZkaXNrX2xhYmVsX2dldF9uYW1lKGxiKSk7CisgKglmZGlza191bnJlZl9jb250ZXh0KGN4dCk7CisgKiAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKyAqCisgKiBSZXR1cm5zOiA8MCBpbiBjYXNlIG9mIGVycm9yLCAwIG9uIHN1Y2Nlc3MsIDEgYXQgdGhlIGVuZC4KKyAqLworaW50IGZkaXNrX25leHRfbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX2xhYmVsICoqbGIpCit7CisJc2l6ZV90IGk7CisJc3RydWN0IGZkaXNrX2xhYmVsICpyZXMgPSBOVUxMOworCisJaWYgKCFsYiB8fCAhY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmICghKmxiKQorCQlyZXMgPSBjeHQtPmxhYmVsc1swXTsKKwllbHNlIHsKKwkJZm9yIChpID0gMTsgaSA8IGN4dC0+bmxhYmVsczsgaSsrKSB7CisJCQlpZiAoKmxiID09IGN4dC0+bGFiZWxzW2kgLSAxXSkgeworCQkJCXJlcyA9IGN4dC0+bGFiZWxzW2ldOworCQkJCWJyZWFrOworCQkJfQorCQl9CisJfQorCisJKmxiID0gcmVzOworCXJldHVybiByZXMgPyAwIDogMTsKK30KKworLyoqCisgKiBmZGlza19nZXRfbmxhYmVsczoKKyAqIEBjeHQ6IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiBudW1iZXIgb2Ygc3VwcG9ydGVkIGxhYmVsIHR5cGVzCisgKi8KK3NpemVfdCBmZGlza19nZXRfbmxhYmVscyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXJldHVybiBjeHQgPyBjeHQtPm5sYWJlbHMgOiAwOworfQorCitpbnQgX19mZGlza19zd2l0Y2hfbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX2xhYmVsICpsYikKK3sKKwlpZiAoIWxiIHx8ICFjeHQpCisJCXJldHVybiAtRUlOVkFMOworCWlmIChsYi0+ZGlzYWJsZWQpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiKioqIGF0dGVtcHQgdG8gc3dpdGNoIHRvIGRpc2FibGVkIGxhYmVsICVzIC0tIGlnbm9yZSEiLCBsYi0+bmFtZSkpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJY3h0LT5sYWJlbCA9IGxiOworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIi0tPiBzd2l0Y2hpbmcgY29udGV4dCB0byAlcyEiLCBsYi0+bmFtZSkpOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX2hhc19sYWJlbDoKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiByZXR1cm4gMSBpZiB0aGVyZSBpcyBsYWJlbCBvbiB0aGUgZGV2aWNlLgorICovCitpbnQgZmRpc2tfaGFzX2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJcmV0dXJuIGN4dCAmJiBjeHQtPmxhYmVsOworfQorCisvKioKKyAqIGZkaXNrX2hhc19wcm90ZWN0ZWRfYm9vdGJpdHM6CisgKiBAY3h0OiBmZGlzayBjb250ZXh0CisgKgorICogUmV0dXJuczogcmV0dXJuIDEgaWYgYm9vdCBiaXRzIHByb3RlY3Rpb24gZW5hYmxlZC4KKyAqLworaW50IGZkaXNrX2hhc19wcm90ZWN0ZWRfYm9vdGJpdHMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gY3h0ICYmIGN4dC0+cHJvdGVjdF9ib290Yml0czsKK30KKworLyoqCisgKiBmZGlza19lbmFibGVfYm9vdGJpdHNfcHJvdGVjdGlvbjoKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqIEBlbmFibGU6IDEgb3IgMAorICoKKyAqIFRoZSBsaWJyYXJ5IHplcm9pemVzIGFsbCB0aGUgZmlyc3Qgc2VjdG9yIHdoZW4gY3JlYXRlIGEgbmV3IGRpc2sgbGFiZWwgYnkKKyAqIGRlZmF1bHQuICBUaGlzIGZ1bmN0aW9uIGFsbG93cyB0byBjb250cm9sIHRoaXMgYmVoYXZpb3IuIEZvciBub3cgaXQncworICogc3VwcG9ydGVkIGZvciBNQlIgYW5kIEdQVC4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwgMCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX2VuYWJsZV9ib290Yml0c19wcm90ZWN0aW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGludCBlbmFibGUpCit7CisJaWYgKCFjeHQpCisJCXJldHVybiAtRUlOVkFMOworCWN4dC0+cHJvdGVjdF9ib290Yml0cyA9IGVuYWJsZSA/IDEgOiAwOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX2VuYWJsZV93aXBlCisgKiBAY3h0OiBmZGlzayBjb250ZXh0CisgKiBAZW5hYmxlOiAxIG9yIDAKKyAqCisgKiBUaGUgbGlicmFyeSByZW1vdmVzIGFsbCBQVC9maWxlc3lzdGVtL1JBSUQgc2lnbmF0dXJlcyBiZWZvcmUgaXQgd3JpdGVzCisgKiBwYXJ0aXRpb24gdGFibGUuIFRoZSBwcm9iaW5nIGFyZWEgd2hlcmUgaXQgbG9va3MgZm9yIHNpZ25hdHVyZXMgaXMgZnJvbQorICogdGhlIGJlZ2luIG9mIHRoZSBkaXNrLiBUaGUgZGV2aWNlIGlzIHdpcGVkIGJ5IGxpYmJsa2lkLgorICoKKyAqIFNlZSBhbHNvIGZkaXNrX3dpcGVfcGFydGl0aW9uKCkuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8IDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19lbmFibGVfd2lwZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBpbnQgZW5hYmxlKQoreworCWlmICghY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWZkaXNrX3NldF93aXBlX2FyZWEoY3h0LCAwLCBjeHQtPnRvdGFsX3NlY3RvcnMsIGVuYWJsZSk7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfaGFzX3dpcGUKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqCisgKiBSZXR1cm5zIHRoZSBjdXJyZW50IHdpcGUgc2V0dGluZy4gU2VlIGZkaXNrX2VuYWJsZV93aXBlKCkuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8IDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19oYXNfd2lwZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWlmICghY3h0KQorCQlyZXR1cm4gMDsKKworCXJldHVybiBmZGlza19oYXNfd2lwZV9hcmVhKGN4dCwgMCwgY3h0LT50b3RhbF9zZWN0b3JzKTsKK30KKworCisvKioKKyAqIGZkaXNrX2dldF9jb2xsaXNpb24KKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiBuYW1lIG9mIHRoZSBmaWxlc3lzdGVtIG9yIFJBSUQgZGV0ZWN0ZWQgb24gdGhlIGRldmljZSBvciBOVUxMLgorICovCitjb25zdCBjaGFyICpmZGlza19nZXRfY29sbGlzaW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJcmV0dXJuIGN4dC0+Y29sbGlzaW9uOworfQorCisvKioKKyAqIGZkaXNrX2dldF9ucGFydGl0aW9uczoKKyAqIEBjeHQ6IGNvbnRleHQKKyAqCisgKiBUaGUgbWF4aW1hbCBudW1iZXIgb2YgdGhlIHBhcnRpdGlvbnMgZGVwZW5kcyBvbiBkaXNrbGFiZWwgYW5kIGRvZXMgbm90CisgKiBoYXZlIHRvIGRlc2NyaWJlIHRoZSByZWFsIGxpbWl0IG9mIFBULgorICoKKyAqIEZvciBleGFtcGxlIHRoZSBsaW1pdCBmb3IgTUJSIHdpdGhvdXQgZXh0ZW5kIHBhcnRpdGlvbiBpcyA0LCB3aXRoIGV4dGVuZGVkCisgKiBwYXJ0aXRpb24gaXQncyB1bmxpbWl0ZWQgKHNvIHRoZSBmdW5jdGlvbiByZXR1cm5zIHRoZSBjdXJyZW50IG51bWJlciBvZiBhbGwKKyAqIHBhcnRpdGlvbnMgaW4gdGhpcyBjYXNlKS4KKyAqCisgKiBBbmQgZm9yIGV4YW1wbGUgZm9yIEdQVCBpdCBkZXBlbmRzIG9uIHNwYWNlIGFsbG9jYXRlZCBvbiBkaXNrIGZvciBhcnJheSBvZgorICogZW50cnkgcmVjb3JkcyAodXN1YWxseSAxMjgpLgorICoKKyAqIEl0J3MgZmluZSB0byB1c2UgZmRpc2tfZ2V0X25wYXJ0aXRpb25zKCkgaW4gbG9vcHMsIGJ1dCBkb24ndCBmb3JnZXQgdGhhdAorICogcGFydGl0aW9uIG1heSBiZSB1bnVzZWQgKHNlZSBmZGlza19pc19wYXJ0aXRpb25fdXNlZCgpKS4KKyAqCisgKiA8aW5mb3JtYWxleGFtcGxlPgorICogICA8cHJvZ3JhbWxpc3Rpbmc+CisgKglzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSA9IE5VTEw7CisgKglzaXplX3QgaSwgbm1heCA9IGZkaXNrX2dldF9ucGFydGl0aW9ucyhjeHQpOworICoKKyAqCWZvciAoaSA9IDA7IGkgPCBubWF4OyBpKyspIHsKKyAqCQlpZiAoIWZkaXNrX2lzX3BhcnRpdGlvbl91c2VkKGN4dCwgaSkpCisgKgkJCWNvbnRpbnVlOworICoJCS4uLiBkbyBzb21ldGhpbmcgLi4uCisgKgl9CisgKiAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKyAqCisgKiBOb3RlIHRoYXQgdGhlIHJlY29tbWVuZGVkIHdheSB0byBsaXN0IHBhcnRpdGlvbnMgaXMgdG8gdXNlCisgKiBmZGlza19nZXRfcGFydGl0aW9ucygpIGFuZCBzdHJ1Y3QgZmRpc2tfdGFibGUgdGhhbiBhc2sgZGlzayBkcml2ZXIgZm9yIGVhY2gKKyAqIGluZGl2aWR1YWwgcGFydGl0aW9ucy4KKyAqCisgKiBSZXR1cm5zOiBtYXhpbWFsIG51bWJlciBvZiBwYXJ0aXRpb25zIGZvciB0aGUgY3VycmVudCBsYWJlbC4KKyAqLworc2l6ZV90IGZkaXNrX2dldF9ucGFydGl0aW9ucyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXJldHVybiBjeHQgJiYgY3h0LT5sYWJlbCA/IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXggOiAwOworfQorCisvKioKKyAqIGZkaXNrX2lzX2xhYmVsdHlwZToKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqIEBpZDogRkRJU0tfRElTS0xBQkVMXyoKKyAqCisgKiBTZWUgYWxzbyBmZGlza19pc19sYWJlbCgpIG1hY3JvIGluIGxpYmZkaXNrLmguCisgKgorICogUmV0dXJuczogcmV0dXJuIDEgaWYgdGhlIGN1cnJlbnQgbGFiZWwgaXMgQGlkCisgKi8KK2ludCBmZGlza19pc19sYWJlbHR5cGUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgZW51bSBmZGlza19sYWJlbHR5cGUgaWQpCit7CisJYXNzZXJ0KGN4dCk7CisKKwlyZXR1cm4gY3h0LT5sYWJlbCAmJiAodW5zaWduZWQpZmRpc2tfbGFiZWxfZ2V0X3R5cGUoY3h0LT5sYWJlbCkgPT0gaWQ7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X3BhcmVudDoKKyAqIEBjeHQ6IG5lc3RlZCBmZGlzayBjb250ZXh0CisgKgorICogUmV0dXJuczogcG9pbnRlciB0byBwYXJlbnRhbCBjb250ZXh0LCBvciBOVUxMCisgKi8KK3N0cnVjdCBmZGlza19jb250ZXh0ICpmZGlza19nZXRfcGFyZW50KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJYXNzZXJ0KGN4dCk7CisJcmV0dXJuIGN4dC0+cGFyZW50OworfQorCitzdGF0aWMgdm9pZCByZXNldF9jb250ZXh0KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc2l6ZV90IGk7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICIqKiogcmVzZXR0aW5nIGNvbnRleHQiKSk7CisKKwkvKiByZXNldCBkcml2ZXMnIHByaXZhdGUgZGF0YSAqLworCWZvciAoaSA9IDA7IGkgPCBjeHQtPm5sYWJlbHM7IGkrKykKKwkJZmRpc2tfZGVpbml0X2xhYmVsKGN4dC0+bGFiZWxzW2ldKTsKKworCWlmIChjeHQtPnBhcmVudCkgeworCQkvKiB0aGUgZmlyc3Qgc2VjdG9yIG1heSBiZSBpbmRlcGVuZGVudCBvbiBwYXJlbnQgKi8KKwkJaWYgKGN4dC0+cGFyZW50LT5maXJzdHNlY3RvciAhPSBjeHQtPmZpcnN0c2VjdG9yKQorCQkJZnJlZShjeHQtPmZpcnN0c2VjdG9yKTsKKwl9IGVsc2UgeworCQkvKiB3ZSBjbG9zZSBkZXZpY2Ugb25seSBpbiBwcmltYXJ5IGNvbnRleHQgKi8KKwkJaWYgKGN4dC0+ZGV2X2ZkID4gLTEpCisJCQljbG9zZShjeHQtPmRldl9mZCk7CisJCWZyZWUoY3h0LT5maXJzdHNlY3Rvcik7CisJfQorCisJZnJlZShjeHQtPmRldl9wYXRoKTsKKwljeHQtPmRldl9wYXRoID0gTlVMTDsKKworCWZyZWUoY3h0LT5jb2xsaXNpb24pOworCWN4dC0+Y29sbGlzaW9uID0gTlVMTDsKKworCWN4dC0+ZGV2X2ZkID0gLTE7CisJY3h0LT5maXJzdHNlY3RvciA9IE5VTEw7CisJY3h0LT5maXJzdHNlY3Rvcl9idWZzeiA9IDA7CisKKwlmZGlza196ZXJvaXplX2RldmljZV9wcm9wZXJ0aWVzKGN4dCk7CisKKwlmZGlza191bnJlZl9zY3JpcHQoY3h0LT5zY3JpcHQpOworCWN4dC0+c2NyaXB0ID0gTlVMTDsKKworCWN4dC0+bGFiZWwgPSBOVUxMOworCisJZmRpc2tfZnJlZV93aXBlX2FyZWFzKGN4dCk7Cit9CisKKy8qCisgKiBUaGlzIGZ1bmN0aW9uIHByaW50cyBhIHdhcm5pbmcgaWYgdGhlIGRldmljZSBpcyBub3Qgd2lwZWQgKGUuZy4gd2lwZWZzKDgpLgorICogUGxlYXNlIGRvbid0IGNhbGwgdGhpcyBmdW5jdGlvbiBpZiB0aGVyZSBpcyBhbHJlYWR5IGEgUFQuCisgKgorICogUmV0dXJuczogMCBpZiBub3RoaW5nIGZvdW5kLCA8IDAgb24gZXJyb3IsIDEgaWYgZm91bmQgYSBzaWduYXR1cmUKKyAqLworc3RhdGljIGludCBjaGVja19jb2xsaXNpb25zKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisjaWZkZWYgSEFWRV9MSUJCTEtJRAorCWludCByYyA9IDA7CisJYmxraWRfcHJvYmUgcHI7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5kZXZfZmQgPj0gMCk7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJ3aXBlIGNoZWNrOiBpbml0aWFsaXplIGxpYmJsa2lkIHByb2JlciIpKTsKKworCXByID0gYmxraWRfbmV3X3Byb2JlKCk7CisJaWYgKCFwcikKKwkJcmV0dXJuIC1FTk9NRU07CisJcmMgPSBibGtpZF9wcm9iZV9zZXRfZGV2aWNlKHByLCBjeHQtPmRldl9mZCwgMCwgMCk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwlibGtpZF9wcm9iZV9lbmFibGVfc3VwZXJibG9ja3MocHIsIDEpOworCWJsa2lkX3Byb2JlX3NldF9zdXBlcmJsb2Nrc19mbGFncyhwciwgQkxLSURfU1VCTEtTX1RZUEUpOworCWJsa2lkX3Byb2JlX2VuYWJsZV9wYXJ0aXRpb25zKHByLCAxKTsKKworCS8qIHdlIGNhcmUgYWJvdXQgdGhlIGZpcnN0IGZvdW5kIEZTL3JhaWQsIHNvIGRvbid0IGNhbGwgYmxraWRfZG9fcHJvYmUoKQorCSAqIGluIGxvb3Agb3IgZG9uJ3QgdXNlIGJsa2lkX2RvX2Z1bGxwcm9iZSgpIC4uLiAqLworCXJjID0gYmxraWRfZG9fcHJvYmUocHIpOworCWlmIChyYyA9PSAwKSB7CisJCWNvbnN0IGNoYXIgKm5hbWUgPSBOVUxMOworCisJCWlmIChibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJUWVBFIiwgJm5hbWUsIDApID09IDAgfHwKKwkJICAgIGJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIlBUVFlQRSIsICZuYW1lLCAwKSA9PSAwKSB7CisJCQljeHQtPmNvbGxpc2lvbiA9IHN0cmR1cChuYW1lKTsKKwkJCWlmICghY3h0LT5jb2xsaXNpb24pCisJCQkJcmMgPSAtRU5PTUVNOworCQl9CisJfQorCisJYmxraWRfZnJlZV9wcm9iZShwcik7CisJcmV0dXJuIHJjOworI2Vsc2UKKwlyZXR1cm4gMDsKKyNlbmRpZgorfQorCisvKioKKyAqIGZkaXNrX2Fzc2lnbl9kZXZpY2U6CisgKiBAY3h0OiBjb250ZXh0CisgKiBAZm5hbWU6IHBhdGggdG8gdGhlIGRldmljZSB0byBiZSBoYW5kbGVkCisgKiBAcmVhZG9ubHk6IGhvdyB0byBvcGVuIHRoZSBkZXZpY2UKKyAqCisgKiBPcGVuIHRoZSBkZXZpY2UsIGRpc2NvdmVyeSB0b3BvbG9neSwgZ2VvbWV0cnksIGRldGVjdCBkaXNrbGFiZWwgYW5kIHN3aXRjaAorICogdGhlIGN1cnJlbnQgbGFiZWwgZHJpdmVyIHRvIHJlZmxlY3QgdGhlIHByb2JpbmcgcmVzdWx0LgorICoKKyAqIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIHJlc2V0cyBhbGwgZ2VuZXJpYyBzZXR0aW5nIGluIGNvbnRleHQuIElmIHRoZSBAY3h0CisgKiBpcyBuZXN0ZWQgY29udGV4dCB0aGVuIHRoZSBkZXZpY2UgaXMgYXNzaWduZWQgdG8gdGhlIHBhcmVudGFsIGNvbnRleHQgYW5kCisgKiBuZWNlc3NhcnkgcHJvcGVydGllcyBhcmUgY29waWVkIHRvIHRoZSBAY3h0LiBUaGUgY2hhbmdlIGlzIHByb3BhZ2F0ZWQgaW4KKyAqIGNoaWxkLT5wYXJlbnQgZGlyZWN0aW9uIG9ubHkuIEl0J3MgaW1wb3NzaWJsZSB0byB1c2UgYSBkaWZmZXJlbnQgZGV2aWNlIGZvcgorICogcHJpbWFyeSBhbmQgbmVzdGVkIGNvbnRleHRzLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPCAwIG9uIGVycm9yLgorICovCitpbnQgZmRpc2tfYXNzaWduX2RldmljZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJY29uc3QgY2hhciAqZm5hbWUsIGludCByZWFkb25seSkKK3sKKwlpbnQgZmQ7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJhc3NpZ25pbmcgZGV2aWNlICVzIiwgZm5hbWUpKTsKKwlhc3NlcnQoY3h0KTsKKworCS8qIHJlZGlyZWN0IHJlcXVlc3QgdG8gcGFyZW50ICovCisJaWYgKGN4dC0+cGFyZW50KSB7CisJCWludCByYywgb3JnID0gZmRpc2tfaXNfbGlzdG9ubHkoY3h0LT5wYXJlbnQpOworCisJCS8qIGFzc2lnbl9kZXZpY2UoKSBpcyBzZW5zaXRpdmUgdG8gImxpc3Rvbmx5IiBtb2RlLCBzbyBsZXQncworCQkgKiBmb2xsb3cgdGhlIGN1cnJlbnQgY29udGV4dCBzZXR0aW5nIGZvciB0aGUgcGFyZW50IHRvIGF2b2lkIAorCQkgKiB1bndhbnRlZCBleHRyYSB3YXJuaW5ncy4gKi8KKwkJZmRpc2tfZW5hYmxlX2xpc3Rvbmx5KGN4dC0+cGFyZW50LCBmZGlza19pc19saXN0b25seShjeHQpKTsKKworCQlyYyA9IGZkaXNrX2Fzc2lnbl9kZXZpY2UoY3h0LT5wYXJlbnQsIGZuYW1lLCByZWFkb25seSk7CisJCWZkaXNrX2VuYWJsZV9saXN0b25seShjeHQtPnBhcmVudCwgb3JnKTsKKworCQlpZiAoIXJjKQorCQkJcmMgPSBpbml0X25lc3RlZF9mcm9tX3BhcmVudChjeHQsIDApOworCQlpZiAoIXJjKQorCQkJZmRpc2tfcHJvYmVfbGFiZWxzKGN4dCk7CisJCXJldHVybiByYzsKKwl9CisKKwlyZXNldF9jb250ZXh0KGN4dCk7CisKKwlmZCA9IG9wZW4oZm5hbWUsIChyZWFkb25seSA/IE9fUkRPTkxZIDogT19SRFdSICkgfCBPX0NMT0VYRUMpOworCWlmIChmZCA8IDApCisJCXJldHVybiAtZXJybm87CisKKwljeHQtPnJlYWRvbmx5ID0gcmVhZG9ubHk7CisJY3h0LT5kZXZfZmQgPSBmZDsKKwljeHQtPmRldl9wYXRoID0gc3RyZHVwKGZuYW1lKTsKKwlpZiAoIWN4dC0+ZGV2X3BhdGgpCisJCWdvdG8gZmFpbDsKKworCWZkaXNrX2Rpc2NvdmVyX3RvcG9sb2d5KGN4dCk7CisJZmRpc2tfZGlzY292ZXJfZ2VvbWV0cnkoY3h0KTsKKworCWlmIChmZGlza19yZWFkX2ZpcnN0c2VjdG9yKGN4dCkgPCAwKQorCQlnb3RvIGZhaWw7CisKKwkvKiBkZXRlY3QgbGFiZWxzIGFuZCBhcHBseSBsYWJlbHMgc3BlY2lmaWMgc3R1ZmYgKGUuZyBnZW9tZXRyeSkKKwkgKiB0byB0aGUgY29udGV4dCAqLworCWZkaXNrX3Byb2JlX2xhYmVscyhjeHQpOworCisJLyogbGV0J3MgYXBwbHkgdXNlciBnZW9tZXRyeSAqYWZ0ZXIqIGxhYmVsIHByb2JlcgorCSAqIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gb3ZlcnJpZGUgaW4tbGFiZWwgc2V0dGluZyAqLworCWZkaXNrX2FwcGx5X3VzZXJfZGV2aWNlX3Byb3BlcnRpZXMoY3h0KTsKKworCS8qIHdhcm4gYWJvdXQgb2Jzb2xldGUgc3R1ZmYgb24gdGhlIGRldmljZSBpZiB3ZSBhcmVuJ3QgaW4KKwkgKiBsaXN0LW9ubHkgbW9kZSBhbmQgdGhlcmUgaXMgbm90IFBUIHlldCAqLworCWlmICghZmRpc2tfaXNfbGlzdG9ubHkoY3h0KSAmJiAhZmRpc2tfaGFzX2xhYmVsKGN4dCkgJiYgY2hlY2tfY29sbGlzaW9ucyhjeHQpIDwgMCkKKwkJZ290byBmYWlsOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiaW5pdGlhbGl6ZWQgZm9yICVzIFslc10iLAorCQkJICAgICAgZm5hbWUsIHJlYWRvbmx5ID8gIlJFQUQtT05MWSIgOiAiUkVBRC1XUklURSIpKTsKKwlyZXR1cm4gMDsKK2ZhaWw6CisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZmFpbGVkIHRvIGFzc2lnbiBkZXZpY2UiKSk7CisJcmV0dXJuIC1lcnJubzsKK30KKworLyoqCisgKiBmZGlza19kZWFzc2lnbl9kZXZpY2U6CisgKiBAY3h0OiBjb250ZXh0CisgKiBAbm9zeW5jOiBkaXNhYmxlIGZzeW5jKCkKKyAqCisgKiBDbG9zZSBkZXZpY2UgYW5kIGNhbGwgZnN5bmMoKS4gSWYgdGhlIEBjeHQgaXMgbmVzdGVkIGNvbnRleHQgdGhhbiB0aGUKKyAqIHJlcXVlc3QgaXMgcmVkaXJlY3RlZCB0byB0aGUgcGFyZW50LgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPCAwIG9uIGVycm9yLgorICovCitpbnQgZmRpc2tfZGVhc3NpZ25fZGV2aWNlKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGludCBub3N5bmMpCit7CisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+ZGV2X2ZkID49IDApOworCisJaWYgKGN4dC0+cGFyZW50KSB7CisJCWludCByYyA9IGZkaXNrX2RlYXNzaWduX2RldmljZShjeHQtPnBhcmVudCwgbm9zeW5jKTsKKworCQlpZiAoIXJjKQorCQkJcmMgPSBpbml0X25lc3RlZF9mcm9tX3BhcmVudChjeHQsIDApOworCQlyZXR1cm4gcmM7CisJfQorCisJaWYgKGN4dC0+cmVhZG9ubHkpCisJCWNsb3NlKGN4dC0+ZGV2X2ZkKTsKKwllbHNlIHsKKwkJaWYgKGZzeW5jKGN4dC0+ZGV2X2ZkKSB8fCBjbG9zZShjeHQtPmRldl9mZCkpIHsKKwkJCWZkaXNrX3dhcm4oY3h0LCBfKCIlczogY2xvc2UgZGV2aWNlIGZhaWxlZCIpLAorCQkJCQljeHQtPmRldl9wYXRoKTsKKwkJCXJldHVybiAtZXJybm87CisJCX0KKworCQlpZiAoIW5vc3luYykgeworCQkJZmRpc2tfaW5mbyhjeHQsIF8oIlN5bmNpbmcgZGlza3MuIikpOworCQkJc3luYygpOworCQl9CisJfQorCisJZnJlZShjeHQtPmRldl9wYXRoKTsKKwljeHQtPmRldl9wYXRoID0gTlVMTDsKKworCWN4dC0+ZGV2X2ZkID0gLTE7CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19pc19yZWFkb25seToKKyAqIEBjeHQ6IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiAxIGlmIGRldmljZSBvcGVuIHJlYWRvbmx5CisgKi8KK2ludCBmZGlza19pc19yZWFkb25seShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWFzc2VydChjeHQpOworCXJldHVybiBjeHQtPnJlYWRvbmx5OworfQorCisvKioKKyAqIGZkaXNrX3VucmVmX2NvbnRleHQ6CisgKiBAY3h0OiBmZGlzayBjb250ZXh0CisgKgorICogRGVhbGxvY2F0ZXMgY29udGV4dCBzdHJ1Y3QuCisgKi8KK3ZvaWQgZmRpc2tfdW5yZWZfY29udGV4dChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXVuc2lnbmVkIGk7CisKKwlpZiAoIWN4dCkKKwkJcmV0dXJuOworCisJY3h0LT5yZWZjb3VudC0tOworCWlmIChjeHQtPnJlZmNvdW50IDw9IDApIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZnJlZWluZyBjb250ZXh0ICVwIGZvciAlcyIsIGN4dCwgY3h0LT5kZXZfcGF0aCkpOworCisJCXJlc2V0X2NvbnRleHQoY3h0KTsJLyogdGhpcyBpcyBzZW5zaXRpdmUgdG8gcGFyZW50PC0+Y2hpbGQgcmVsYXRpb25zaGlwISAqLworCisJCS8qIGRlYWxsb2NhdGUgbGFiZWwncyBwcml2YXRlIHN0dWZmICovCisJCWZvciAoaSA9IDA7IGkgPCBjeHQtPm5sYWJlbHM7IGkrKykgeworCQkJaWYgKCFjeHQtPmxhYmVsc1tpXSkKKwkJCQljb250aW51ZTsKKwkJCWlmIChjeHQtPmxhYmVsc1tpXS0+b3AtPmZyZWUpCisJCQkJY3h0LT5sYWJlbHNbaV0tPm9wLT5mcmVlKGN4dC0+bGFiZWxzW2ldKTsKKwkJCWVsc2UKKwkJCQlmcmVlKGN4dC0+bGFiZWxzW2ldKTsKKwkJfQorCisJCWZkaXNrX3VucmVmX2NvbnRleHQoY3h0LT5wYXJlbnQpOworCQljeHQtPnBhcmVudCA9IE5VTEw7CisKKwkJZnJlZShjeHQpOworCX0KK30KKworCisvKioKKyAqIGZkaXNrX2VuYWJsZV9kZXRhaWxzOgorICogQGN4dDogY29udGV4dAorICogQGVuYWJsZTogdHJ1ZS9mYWxzZQorICoKKyAqIEVuYWJsZXMgb3IgZGlzYWJsZXMgImRldGFpbHMiIGRpc3BsYXkgbW9kZS4gVGhpcyBmdW5jdGlvbiBoYXMgZWZmZWN0IHRvCisgKiBmZGlza19wYXJ0aXRpb25fdG9fc3RyaW5nKCkgZnVuY3Rpb24uCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8IDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19lbmFibGVfZGV0YWlscyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBpbnQgZW5hYmxlKQoreworCWFzc2VydChjeHQpOworCWN4dC0+ZGlzcGxheV9kZXRhaWxzID0gZW5hYmxlID8gMSA6IDA7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfaXNfZGV0YWlsczoKKyAqIEBjeHQ6IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiAxIGlmIGRldGFpbHMgYXJlIGVuYWJsZWQKKyAqLworaW50IGZkaXNrX2lzX2RldGFpbHMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlhc3NlcnQoY3h0KTsKKwlyZXR1cm4gY3h0LT5kaXNwbGF5X2RldGFpbHMgPT0gMTsKK30KKworLyoqCisgKiBmZGlza19lbmFibGVfbGlzdG9ubHk6CisgKiBAY3h0OiBjb250ZXh0CisgKiBAZW5hYmxlOiB0cnVlL2ZhbHNlCisgKgorICogSnVzdCBsaXN0IHBhcnRpdGlvbiBvbmx5LCBkb24ndCBjYXJlIGFib3V0IGFub3RoZXIgZGV0YWlscywgbWlzdGFrZXMsIC4uLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPCAwIG9uIGVycm9yLgorICovCitpbnQgZmRpc2tfZW5hYmxlX2xpc3Rvbmx5KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGludCBlbmFibGUpCit7CisJYXNzZXJ0KGN4dCk7CisJY3h0LT5saXN0b25seSA9IGVuYWJsZSA/IDEgOiAwOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX2lzX2xpc3Rvbmx5OgorICogQGN4dDogY29udGV4dAorICoKKyAqIFJldHVybnM6IDEgaWYgbGlzdC1vbmx5IG1vZGUgZW5hYmxlZAorICovCitpbnQgZmRpc2tfaXNfbGlzdG9ubHkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlhc3NlcnQoY3h0KTsKKwlyZXR1cm4gY3h0LT5saXN0b25seSA9PSAxOworfQorCisKKy8qKgorICogZmRpc2tfc2V0X3VuaXQ6CisgKiBAY3h0OiBjb250ZXh0CisgKiBAc3RyOiAiY3lsaW5kZXIiIG9yICJzZWN0b3IiLgorICoKKyAqIFRoaXMgaXMgcHVyZSBzaGl0LCB1bmZvcnR1bmF0ZWx5IGZvciBleGFtcGxlIFN1biBhZGRyZXNzZXMgYmVnaW4gb2YgdGhlCisgKiBwYXJ0aXRpb24gYnkgY3lsaW5kZXJzLi4uCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3NldF91bml0KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKnN0cikKK3sKKwlhc3NlcnQoY3h0KTsKKworCWN4dC0+ZGlzcGxheV9pbl9jeWxfdW5pdHMgPSAwOworCisJaWYgKCFzdHIpCisJCXJldHVybiAwOworCisJaWYgKHN0cmNtcChzdHIsICJjeWxpbmRlciIpID09IDAgfHwgc3RyY21wKHN0ciwgImN5bGluZGVycyIpID09IDApCisJCWN4dC0+ZGlzcGxheV9pbl9jeWxfdW5pdHMgPSAxOworCisJZWxzZSBpZiAoc3RyY21wKHN0ciwgInNlY3RvciIpID09IDAgfHwgc3RyY21wKHN0ciwgInNlY3RvcnMiKSA9PSAwKQorCQljeHQtPmRpc3BsYXlfaW5fY3lsX3VuaXRzID0gMDsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImRpc3BsYXkgdW5pdDogJXMiLCBmZGlza19nZXRfdW5pdChjeHQsIDApKSk7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X3VuaXQ6CisgKiBAY3h0OiBjb250ZXh0CisgKiBAbjogRkRJU0tfUExVUkFMIG9yIEZESVNLX1NJTkdVTEFSCisgKgorICogUmV0dXJuczogdW5pdCBuYW1lLgorICovCitjb25zdCBjaGFyICpmZGlza19nZXRfdW5pdChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBpbnQgbikKK3sKKwlhc3NlcnQoY3h0KTsKKworCWlmIChmZGlza191c2VfY3lsaW5kZXJzKGN4dCkpCisJCXJldHVybiBQXygiY3lsaW5kZXIiLCAiY3lsaW5kZXJzIiwgbik7CisJcmV0dXJuIFBfKCJzZWN0b3IiLCAic2VjdG9ycyIsIG4pOworfQorCisvKioKKyAqIGZkaXNrX3VzZV9jeWxpbmRlcnM6CisgKiBAY3h0OiBjb250ZXh0CisgKgorICogUmV0dXJuczogMSBpZiB1c2VyIHdhbnRzIHRvIGRpc3BsYXkgaW4gY3lsaW5kZXJzLgorICovCitpbnQgZmRpc2tfdXNlX2N5bGluZGVycyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWFzc2VydChjeHQpOworCXJldHVybiBjeHQtPmRpc3BsYXlfaW5fY3lsX3VuaXRzID09IDE7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X3VuaXRzX3Blcl9zZWN0b3I6CisgKiBAY3h0OiBjb250ZXh0CisgKgorICogVGhpcyBpcyBuZWNlc3Nhcnkgb25seSBmb3IgYnJhaW4gZGVhZCBzaXR1YXRpb25zIHdoZW4gd2UgdXNlICJjeWxpbmRlcnMiOworICoKKyAqIFJldHVybnM6IG51bWJlciBvZiAidW5pdHMiIHBlciBzZWN0b3IsIGRlZmF1bHQgaXMgMSBpZiBkaXNwbGF5IHVuaXQgaXMgc2VjdG9yLgorICovCit1bnNpZ25lZCBpbnQgZmRpc2tfZ2V0X3VuaXRzX3Blcl9zZWN0b3Ioc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlhc3NlcnQoY3h0KTsKKworCWlmIChmZGlza191c2VfY3lsaW5kZXJzKGN4dCkpIHsKKwkJYXNzZXJ0KGN4dC0+Z2VvbS5oZWFkcyk7CisJCXJldHVybiBjeHQtPmdlb20uaGVhZHMgKiBjeHQtPmdlb20uc2VjdG9yczsKKwl9CisJcmV0dXJuIDE7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X29wdGltYWxfaW9zaXplOgorICogQGN4dDogY29udGV4dAorICoKKyAqIFRoZSBvcHRpbWFsIEkvTyBpcyBvcHRpb25hbCBhbmQgZG9lcyBub3QgaGF2ZSB0byBiZSBwcm92aWRlZCBieSBkZXZpY2UsCisgKiBhbnl3YXkgbGliZmRpc2sgbmV2ZXIgcmV0dXJucyB6ZXJvLiBJZiB0aGUgb3B0aW1hbCBJL08gc2l6ZSBpcyBub3QgcHJvdmlkZWQKKyAqIHRoZW4gbGliZmRpc2sgcmV0dXJucyBtaW5pbWFsIEkvTyBzaXplIG9yIHNlY3RvciBzaXplLgorICoKKyAqIFJldHVybnM6IG9wdGltYWwgSS9PIHNpemUgaW4gYnl0ZXMuCisgKi8KK3Vuc2lnbmVkIGxvbmcgZmRpc2tfZ2V0X29wdGltYWxfaW9zaXplKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJYXNzZXJ0KGN4dCk7CisJcmV0dXJuIGN4dC0+b3B0aW1hbF9pb19zaXplID8gY3h0LT5vcHRpbWFsX2lvX3NpemUgOiBjeHQtPmlvX3NpemU7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X21pbmltYWxfaW9zaXplOgorICogQGN4dDogY29udGV4dAorICoKKyAqIFJldHVybnM6IG1pbmltYWwgSS9PIHNpemUgaW4gYnl0ZXMKKyAqLwordW5zaWduZWQgbG9uZyBmZGlza19nZXRfbWluaW1hbF9pb3NpemUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlhc3NlcnQoY3h0KTsKKwlyZXR1cm4gY3h0LT5taW5faW9fc2l6ZTsKK30KKworLyoqCisgKiBmZGlza19nZXRfcGh5c2VjdG9yX3NpemU6CisgKiBAY3h0OiBjb250ZXh0CisgKgorICogUmV0dXJuczogcGh5c2ljYWwgc2VjdG9yIHNpemUgaW4gYnl0ZXMKKyAqLwordW5zaWduZWQgbG9uZyBmZGlza19nZXRfcGh5c2VjdG9yX3NpemUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlhc3NlcnQoY3h0KTsKKwlyZXR1cm4gY3h0LT5waHlfc2VjdG9yX3NpemU7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X3NlY3Rvcl9zaXplOgorICogQGN4dDogY29udGV4dAorICoKKyAqIFJldHVybnM6IGxvZ2ljYWwgc2VjdG9yIHNpemUgaW4gYnl0ZXMKKyAqLwordW5zaWduZWQgbG9uZyBmZGlza19nZXRfc2VjdG9yX3NpemUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlhc3NlcnQoY3h0KTsKKwlyZXR1cm4gY3h0LT5zZWN0b3Jfc2l6ZTsKK30KKworLyoqCisgKiBmZGlza19nZXRfYWxpZ25tZW50X29mZnNldAorICogQGN4dDogY29udGV4dAorICoKKyAqIFRoZSBhbGlnbm1lbnQgb2Zmc2V0IGlzIG9mZnNldCBiZXR3ZWVuIGxvZ2ljYWwgYW5kIHBoeXNpY2FsIHNlY3RvcnMuIEZvcgorICogYmFja3dhcmQgY29tcGF0aWJpbGl0eSB0aGUgZmlyc3QgbG9naWNhbCBzZWN0b3Igb24gNEsgZGlza3MgZG9lcyBubyBoYXZlIHRvCisgKiBzdGFydCBvbiB0aGUgc2FtZSBwbGFjZSBsaWtlIHBoeXNpY2FsIHNlY3RvcnMuCisgKgorICogUmV0dXJuczogYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcworICovCit1bnNpZ25lZCBsb25nIGZkaXNrX2dldF9hbGlnbm1lbnRfb2Zmc2V0KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJYXNzZXJ0KGN4dCk7CisJcmV0dXJuIGN4dC0+YWxpZ25tZW50X29mZnNldDsKK30KKworLyoqCisgKiBmZGlza19nZXRfZ3JhaW5fc2l6ZToKKyAqIEBjeHQ6IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiBncmFpbiBpbiBieXRlcyB1c2VkIHRvIGFsaWduIHBhcnRpdGlvbnMgKHVzdWFsbHkgMU1pQikKKyAqLwordW5zaWduZWQgbG9uZyBmZGlza19nZXRfZ3JhaW5fc2l6ZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWFzc2VydChjeHQpOworCXJldHVybiBjeHQtPmdyYWluOworfQorCisvKioKKyAqIGZkaXNrX2dldF9maXJzdF9sYmE6CisgKiBAY3h0OiBjb250ZXh0CisgKgorICogUmV0dXJuczogZmlyc3QgcG9zc2libGUgTEJBIG9uIGRpc2sgZm9yIGRhdGEgcGFydGl0aW9ucy4KKyAqLworZmRpc2tfc2VjdG9yX3QgZmRpc2tfZ2V0X2ZpcnN0X2xiYShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWFzc2VydChjeHQpOworCXJldHVybiBjeHQtPmZpcnN0X2xiYTsKK30KKworLyoqCisgKiBmZGlza19zZXRfZmlyc3RfbGJhOgorICogQGN4dDogZmRpc2sgY29udGV4dAorICogQGxiYTogZmlyc3QgcG9zc2libGUgbG9naWNhbCBzZWN0b3IgZm9yIGRhdGEKKyAqCisgKiBJdCdzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvIHVzZSB0aGUgZGVmYXVsdCBsaWJyYXJ5IHNldHRpbmcuIFRoZSBmaXJzdCBMQkEKKyAqIGlzIGFsd2F5cyByZXNldCBieSBmZGlza19hc3NpZ25fZGV2aWNlKCksIGZkaXNrX292ZXJyaWRlX2dlb21ldHJ5KCkKKyAqIGFuZCBmZGlza19yZXNldF9hbGlnbm1lbnQoKS4gVGhpcyBpcyB2ZXJ5IGxvdyBsZXZlbCBmdW5jdGlvbiBhbmQgbGlicmFyeQorICogZG9lcyBub3QgY2hlY2sgaWYgeW91ciBzZXR0aW5nIG1ha2VzIGFueSBzZW5zZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIG5lY2Vzc2FyeSBvbmx5IHdoZW4geW91IHdhbnQgdG8gd29yayB3aXRoIHZlcnkgdW51c3VhbAorICogcGFydGl0aW9uIHRhYmxlcyBsaWtlIEdQVCBwcm90ZWN0aXZlIE1CUiBvciBoeWJyaWQgcGFydGl0aW9uIHRhYmxlcyBvbgorICogYm9vdGFibGUgbWVkaWEgd2hlcmUgdGhlIGZpcnN0IHBhcnRpdGlvbiBtYXkgc3RhcnQgb24gdmVyeSBjcmF6eSBvZmZzZXRzLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IuCisgKi8KK2ZkaXNrX3NlY3Rvcl90IGZkaXNrX3NldF9maXJzdF9sYmEoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgZmRpc2tfc2VjdG9yX3QgbGJhKQoreworCWFzc2VydChjeHQpOworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInNldHRpbmcgZmlyc3QgTEJBIGZyb20gJWp1IHRvICVqdSIsCisJCQkodWludG1heF90KSBjeHQtPmZpcnN0X2xiYSwgKHVpbnRtYXhfdCkgbGJhKSk7CisJY3h0LT5maXJzdF9sYmEgPSBsYmE7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X2xhc3RfbGJhOgorICogQGN4dDogZmRpc2sgY29udGV4dAorICoKKyAqIE5vdGUgdGhhdCB0aGUgZGV2aWNlIGhhcyB0byBiZSBhbHJlYWR5IGFzc2lnbmVkLgorICoKKyAqIFJldHVybnM6IGxhc3QgcG9zc2libGUgTEJBIG9uIGRldmljZQorICovCitmZGlza19zZWN0b3JfdCBmZGlza19nZXRfbGFzdF9sYmEoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gY3h0LT5sYXN0X2xiYTsKK30KKworLyoqCisgKiBmZGlza19zZXRfbGFzdF9sYmE6CisgKiBAY3h0OiBmZGlzayBjb250ZXh0CisgKiBAbGJhOiBsYXN0IHBvc3NpYmxlIGxvZ2ljYWwgc2VjdG9yCisgKgorICogSXQncyBzdHJvbmdseSByZWNvbW1lbmRlZCB0byB1c2UgdGhlIGRlZmF1bHQgbGlicmFyeSBzZXR0aW5nLiBUaGUgbGFzdCBMQkEKKyAqIGlzIGFsd2F5cyByZXNldCBieSBmZGlza19hc3NpZ25fZGV2aWNlKCksIGZkaXNrX292ZXJyaWRlX2dlb21ldHJ5KCkgYW5kCisgKiBmZGlza19yZXNldF9hbGlnbm1lbnQoKS4KKyAqCisgKiBUaGUgZGVmYXVsdCBpcyBudW1iZXIgb2Ygc2VjdG9ycyBvbiB0aGUgZGV2aWNlLCBidXQgbWF5YmUgbW9kaWZpZWQgYnkgdGhlCisgKiBjdXJyZW50IGRpc2tsYWJlbCBkcml2ZXIgKGZvciBleGFtcGxlIEdQVCB1c2VzIHRoZSBlbmQgb2YgZGlzayBmb3IgYmFja3VwCisgKiBoZWFkZXIsIHNvIGxhc3RfbGJhIGlzIHNtYWxsZXIgdGhhbiB0b3RhbCBudW1iZXIgb2Ygc2VjdG9ycykuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworZmRpc2tfc2VjdG9yX3QgZmRpc2tfc2V0X2xhc3RfbGJhKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGZkaXNrX3NlY3Rvcl90IGxiYSkKK3sKKwlhc3NlcnQoY3h0KTsKKworCWlmIChsYmEgPiBjeHQtPnRvdGFsX3NlY3RvcnMgLSAxIHx8IGxiYSA8IDEpCisJCXJldHVybiAtRVJBTkdFOworCWN4dC0+bGFzdF9sYmEgPSBsYmE7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfc2V0X3NpemVfdW5pdDoKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqIEB1bml0OiBGRElTS19TSVpFVU5JVF8qCisgKgorICogU2V0cyB1bml0IGZvciBTSVpFIG91dHB1dCBmaWVsZCAoc2VlIGZkaXNrX3BhcnRpdGlvbl90b19zdHJpbmcoKSkuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3NldF9zaXplX3VuaXQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgaW50IHVuaXQpCit7CisJYXNzZXJ0KGN4dCk7CisJY3h0LT5zaXpldW5pdCA9IHVuaXQ7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X3NpemVfdW5pdDoKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqCisgKiBHZXRzIHVuaXQgZm9yIFNJWkUgb3V0cHV0IGZpZWxkIChzZWUgZmRpc2tfcGFydGl0aW9uX3RvX3N0cmluZygpKS4KKyAqCisgKiBSZXR1cm5zOiB1bml0CisgKi8KK2ludCBmZGlza19nZXRfc2l6ZV91bml0KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJYXNzZXJ0KGN4dCk7CisJcmV0dXJuIGN4dC0+c2l6ZXVuaXQ7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X25zZWN0b3JzOgorICogQGN4dDogY29udGV4dAorICoKKyAqIFJldHVybnM6IHNpemUgb2YgdGhlIGRldmljZSBpbiBsb2dpY2FsIHNlY3RvcnMuCisgKi8KK2ZkaXNrX3NlY3Rvcl90IGZkaXNrX2dldF9uc2VjdG9ycyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWFzc2VydChjeHQpOworCXJldHVybiBjeHQtPnRvdGFsX3NlY3RvcnM7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X2Rldm5hbWU6CisgKiBAY3h0OiBjb250ZXh0CisgKgorICogUmV0dXJuczogZGV2aWNlIG5hbWUuCisgKi8KK2NvbnN0IGNoYXIgKmZkaXNrX2dldF9kZXZuYW1lKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJYXNzZXJ0KGN4dCk7CisJcmV0dXJuIGN4dC0+ZGV2X3BhdGg7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X2RldmZkOgorICogQGN4dDogY29udGV4dAorICoKKyAqIFJldHVybnM6IGRldmljZSBmaWxlIGRlc2NyaXB0b3IuCisgKi8KK2ludCBmZGlza19nZXRfZGV2ZmQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlhc3NlcnQoY3h0KTsKKwlyZXR1cm4gY3h0LT5kZXZfZmQ7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X2dlb21faGVhZHM6CisgKiBAY3h0OiBjb250ZXh0CisgKgorICogUmV0dXJuczogbnVtYmVyIG9mIGdlb21ldHJ5IGhlYWRzLgorICovCit1bnNpZ25lZCBpbnQgZmRpc2tfZ2V0X2dlb21faGVhZHMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlhc3NlcnQoY3h0KTsKKwlyZXR1cm4gY3h0LT5nZW9tLmhlYWRzOworfQorLyoqCisgKiBmZGlza19nZXRfZ2VvbV9zZWN0b3JzOgorICogQGN4dDogY29udGV4dAorICoKKyAqIFJldHVybnM6IG51bWJlciBvZiBnZW9tZXRyeSBzZWN0b3JzLgorICovCitmZGlza19zZWN0b3JfdCBmZGlza19nZXRfZ2VvbV9zZWN0b3JzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJYXNzZXJ0KGN4dCk7CisJcmV0dXJuIGN4dC0+Z2VvbS5zZWN0b3JzOworCit9CisKKy8qKgorICogZmRpc2tfZ2V0X2dlb21fY3lsaW5kZXJzOgorICogQGN4dDogY29udGV4dAorICoKKyAqIFJldHVybnM6IG51bWJlciBvZiBnZW9tZXRyeSBjeWxpbmRlcnMKKyAqLworZmRpc2tfc2VjdG9yX3QgZmRpc2tfZ2V0X2dlb21fY3lsaW5kZXJzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJYXNzZXJ0KGN4dCk7CisJcmV0dXJuIGN4dC0+Z2VvbS5jeWxpbmRlcnM7Cit9CisKK2ludCBmZGlza19taXNzaW5nX2dlb21ldHJ5KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJaW50IHJjOworCisJaWYgKCFjeHQgfHwgIWN4dC0+bGFiZWwpCisJCXJldHVybiAwOworCisJcmMgPSAoZmRpc2tfbGFiZWxfcmVxdWlyZV9nZW9tZXRyeShjeHQtPmxhYmVsKSAmJgorCQkgICAgKCFjeHQtPmdlb20uaGVhZHMgfHwgIWN4dC0+Z2VvbS5zZWN0b3JzCisJCQkJICAgICAgfHwgIWN4dC0+Z2VvbS5jeWxpbmRlcnMpKTsKKworCWlmIChyYyAmJiAhZmRpc2tfaXNfbGlzdG9ubHkoY3h0KSkKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJJbmNvbXBsZXRlIGdlb21ldHJ5IHNldHRpbmcuIikpOworCisJcmV0dXJuIHJjOworfQorCmRpZmYgLS1naXQgYS9saWJmZGlzay9zcmMvZG9zLmMgYi9saWJmZGlzay9zcmMvZG9zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWVhNTZjMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmZkaXNrL3NyYy9kb3MuYwpAQCAtMCwwICsxLDIzOTggQEAKKy8qCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMTMgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKiAgICAgICAgICAgICAgICAgICAgMjAxMiBEYXZpZGxvaHIgQnVlc28gPGRhdmVAZ251Lm9yZz4KKyAqCisgKiBUaGlzIGlzIHJlLXdyaXR0ZW4gdmVyc2lvbiBmb3IgbGliZmRpc2ssIHRoZSBvcmlnaW5hbCB3YXMgZmRpc2tkb3NsYWJlbC5jCisgKiBmcm9tIHV0aWwtbGludXggZmRpc2suCisgKi8KKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAicmFuZHV0aWxzLmgiCisjaW5jbHVkZSAicHQtbWJyLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKworI2luY2x1ZGUgImZkaXNrUC5oIgorCisjaW5jbHVkZSA8Y3R5cGUuaD4KKworI2RlZmluZSBNQVhJTVVNX1BBUlRTCTYwCisjZGVmaW5lIEFDVElWRV9GTEFHICAgICAweDgwCisKKy8qKgorICogU0VDVElPTjogZG9zCisgKiBAdGl0bGU6IERPUyAoTUJSKQorICogQHNob3J0X2Rlc2NyaXB0aW9uOiBkaXNrIGxhYmVsIHNwZWNpZmljIGZ1bmN0aW9ucworICoKKyAqLworCisKKyNkZWZpbmUgSVNfRVhURU5ERUQoaSkgXAorCSgoaSkgPT0gTUJSX0RPU19FWFRFTkRFRF9QQVJUSVRJT04gXAorCSB8fCAoaSkgPT0gTUJSX1c5NV9FWFRFTkRFRF9QQVJUSVRJT04gXAorCSB8fCAoaSkgPT0gTUJSX0xJTlVYX0VYVEVOREVEX1BBUlRJVElPTikKKworLyoKKyAqIHBlciBwYXJ0aXRpb24gdGFibGUgZW50cnkgZGF0YQorICoKKyAqIFRoZSBmb3VyIHByaW1hcnkgcGFydGl0aW9ucyBoYXZlIHRoZSBzYW1lIHNlY3RvcmJ1ZmZlcgorICogYW5kIGhhdmUgTlVMTCBleF9lbnRyeS4KKyAqCisgKiBFYWNoIGxvZ2ljYWwgcGFydGl0aW9uIHRhYmxlIGVudHJ5IGhhcyB0d28gcG9pbnRlcnMsIG9uZSBmb3IgdGhlCisgKiBwYXJ0aXRpb24gYW5kIG9uZSBsaW5rIHRvIHRoZSBuZXh0IG9uZS4KKyAqLworc3RydWN0IHB0ZSB7CisJc3RydWN0IGRvc19wYXJ0aXRpb24gKnB0X2VudHJ5OwkvKiBvbi1kaXNrIE1CUiBlbnRyeSAqLworCXN0cnVjdCBkb3NfcGFydGl0aW9uICpleF9lbnRyeTsJLyogb24tZGlzayBFQlIgZW50cnkgKi8KKwlmZGlza19zZWN0b3JfdCBvZmZzZXQ7CSAgICAgICAgLyogZGlzayBzZWN0b3IgbnVtYmVyICovCisJdW5zaWduZWQgY2hhciAqc2VjdG9yYnVmZmVyOwkvKiBkaXNrIHNlY3RvciBjb250ZW50cyAqLworCisJdW5zaWduZWQgaW50IGNoYW5nZWQgOiAxLAorCQkgICAgIHByaXZhdGVfc2VjdG9yYnVmZmVyIDogMTsKK307CisKKy8qCisgKiBpbi1tZW1vcnkgZmRpc2sgR1BUIHN0dWZmCisgKi8KK3N0cnVjdCBmZGlza19kb3NfbGFiZWwgeworCXN0cnVjdCBmZGlza19sYWJlbAloZWFkOwkJLyogZ2VuZXJpYyBwYXJ0ICovCisKKwlzdHJ1Y3QgcHRlCXB0ZXNbTUFYSU1VTV9QQVJUU107CS8qIHBhcnRpdGlvbiAqLworCWZkaXNrX3NlY3Rvcl90CWV4dF9vZmZzZXQ7CQkvKiBzdGFydCBvZiB0aGUgZXh0LnBhcnRpdGlvbiAqLworCXNpemVfdAkJZXh0X2luZGV4OwkJLyogZXh0LnBhcnRpdGlvbiBpbmRleCAoaWYgZXh0X29mZnNldCBpcyBzZXQpICovCisJdW5zaWduZWQgaW50CWNvbXBhdGlibGUgOiAxLAkJLyogaXMgRE9TIGNvbXBhdGlibGU/ICovCisJCQlub25fcHRfY2hhbmdlZCA6IDE7CS8qIE1CUiwgYnV0IG5vIFBUIGNoYW5nZWQgKi8KK307CisKKy8qCisgKiBQYXJ0aXRpb24gdHlwZXMKKyAqLworc3RhdGljIHN0cnVjdCBmZGlza19wYXJ0dHlwZSBkb3NfcGFydHR5cGVzW10gPSB7CisJI2luY2x1ZGUgInB0LW1ici1wYXJ0bmFtZXMuaCIKK307CisKKyNkZWZpbmUgc2V0X2hzYyhoLHMsYyxzZWN0b3IpIHsgXAorCQlzID0gc2VjdG9yICUgY3h0LT5nZW9tLnNlY3RvcnMgKyAxOwkJCVwKKwkJc2VjdG9yIC89IGN4dC0+Z2VvbS5zZWN0b3JzOwkJCQlcCisJCWggPSBzZWN0b3IgJSBjeHQtPmdlb20uaGVhZHM7CQkJCVwKKwkJc2VjdG9yIC89IGN4dC0+Z2VvbS5oZWFkczsJCQkJXAorCQljID0gc2VjdG9yICYgMHhmZjsJCQkJCVwKKwkJcyB8PSAoc2VjdG9yID4+IDIpICYgMHhjMDsJCQkJXAorCX0KKworCisjZGVmaW5lIHNlY3RvcihzKQkoKHMpICYgMHgzZikKKyNkZWZpbmUgY3lsaW5kZXIocywgYykJKChjKSB8ICgoKHMpICYgMHhjMCkgPDwgMikpCisKKyNkZWZpbmUgYWxpZ25tZW50X3JlcXVpcmVkKF94KQkoKF94KS0+Z3JhaW4gIT0gKF94KS0+c2VjdG9yX3NpemUpCisKKyNkZWZpbmUgaXNfZG9zX2NvbXBhdGlibGUoX3gpIFwKKwkJICAgKGZkaXNrX2lzX2xhYmVsKF94LCBET1MpICYmIFwKKyAgICAgICAgICAgICAgICAgICAgZmRpc2tfZG9zX2lzX2NvbXBhdGlibGUoZmRpc2tfZ2V0X2xhYmVsKF94LCBOVUxMKSkpCisKKyNkZWZpbmUgY3JvdW5kKGMsIG4pCWZkaXNrX2Nyb3VuZChjLCBuKQorCisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGZkaXNrX2Rvc19sYWJlbCAqc2VsZl9sYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBET1MpKTsKKworCXJldHVybiAoc3RydWN0IGZkaXNrX2Rvc19sYWJlbCAqKSBjeHQtPmxhYmVsOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBwdGUgKnNlbGZfcHRlKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBpKQoreworCXN0cnVjdCBmZGlza19kb3NfbGFiZWwgKmwgPSBzZWxmX2xhYmVsKGN4dCk7CisKKwlpZiAoaSA+PSBBUlJBWV9TSVpFKGwtPnB0ZXMpKQorCQlyZXR1cm4gTlVMTDsKKworCXJldHVybiAmbC0+cHRlc1tpXTsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgZG9zX3BhcnRpdGlvbiAqc2VsZl9wYXJ0aXRpb24oCisJCQkJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCQlzaXplX3QgaSkKK3sKKwlzdHJ1Y3QgcHRlICpwZSA9IHNlbGZfcHRlKGN4dCwgaSk7CisJcmV0dXJuIHBlID8gcGUtPnB0X2VudHJ5IDogTlVMTDsKK30KKworc3RydWN0IGRvc19wYXJ0aXRpb24gKmZkaXNrX2Rvc19nZXRfcGFydGl0aW9uKAorCQkJCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQkJc2l6ZV90IGkpCit7CisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIERPUykpOworCisJcmV0dXJuIHNlbGZfcGFydGl0aW9uKGN4dCwgaSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKmRvc19wYXJ0aXRpb25fcGFydHR5cGUoCisJCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCXN0cnVjdCBkb3NfcGFydGl0aW9uICpwKQoreworCXN0cnVjdCBmZGlza19wYXJ0dHlwZSAqdAorCQk9IGZkaXNrX2xhYmVsX2dldF9wYXJ0dHlwZV9mcm9tX2NvZGUoY3h0LT5sYWJlbCwgcC0+c3lzX2luZCk7CisJcmV0dXJuIHQgPyA6IGZkaXNrX25ld191bmtub3duX3BhcnR0eXBlKHAtPnN5c19pbmQsIE5VTEwpOworfQorCisvKgorICogTGludXgga2VybmVsIGNhcmVzIGFib3V0IHBhcnRpdGlvbiBzaXplIG9ubHkuIFRoaW5ncyBsaWtlCisgKiBwYXJ0aXRpb24gdHlwZSBvciBzbyBhcmUgY29tcGxldGVseSBpcnJlbGV2YW50IC0tIGt6YWsgTm92LTIwMTMKKyAqLworc3RhdGljIGludCBpc191c2VkX3BhcnRpdGlvbihzdHJ1Y3QgZG9zX3BhcnRpdGlvbiAqcCkKK3sKKwlyZXR1cm4gcCAmJiBkb3NfcGFydGl0aW9uX2dldF9zaXplKHApICE9IDA7Cit9CisKK3N0YXRpYyB2b2lkIHBhcnRpdGlvbl9zZXRfY2hhbmdlZCgKKwkJCQlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJCXNpemVfdCBpLAorCQkJCWludCBjaGFuZ2VkKQoreworCXN0cnVjdCBwdGUgKnBlID0gc2VsZl9wdGUoY3h0LCBpKTsKKworCWlmICghcGUpCisJCXJldHVybjsKKworCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzogc2V0dGluZyAlenUgcGFydGl0aW9uIHRvICVzIiwgaSwKKwkJCQljaGFuZ2VkID8gImNoYW5nZWQiIDogInVuY2hhbmdlZCIpKTsKKworCXBlLT5jaGFuZ2VkID0gY2hhbmdlZCA/IDEgOiAwOworCWlmIChjaGFuZ2VkKQorCQlmZGlza19sYWJlbF9zZXRfY2hhbmdlZChjeHQtPmxhYmVsLCAxKTsKK30KKworc3RhdGljIGZkaXNrX3NlY3Rvcl90IGdldF9hYnNfcGFydGl0aW9uX3N0YXJ0KHN0cnVjdCBwdGUgKnBlKQoreworCWFzc2VydChwZSk7CisJYXNzZXJ0KHBlLT5wdF9lbnRyeSk7CisKKwlyZXR1cm4gcGUtPm9mZnNldCArIGRvc19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBlLT5wdF9lbnRyeSk7Cit9CisKK3N0YXRpYyBmZGlza19zZWN0b3JfdCBnZXRfYWJzX3BhcnRpdGlvbl9lbmQoc3RydWN0IHB0ZSAqcGUpCit7CisJZmRpc2tfc2VjdG9yX3Qgc2l6ZTsKKworCWFzc2VydChwZSk7CisJYXNzZXJ0KHBlLT5wdF9lbnRyeSk7CisKKwlzaXplID0gZG9zX3BhcnRpdGlvbl9nZXRfc2l6ZShwZS0+cHRfZW50cnkpOworCXJldHVybiBnZXRfYWJzX3BhcnRpdGlvbl9zdGFydChwZSkgKyBzaXplIC0gKHNpemUgPyAxIDogMCk7Cit9CisKK3N0YXRpYyBpbnQgaXNfY2xlYXJlZF9wYXJ0aXRpb24oc3RydWN0IGRvc19wYXJ0aXRpb24gKnApCit7CisJcmV0dXJuICEoIXAgfHwgcC0+Ym9vdF9pbmQgfHwgcC0+YmggfHwgcC0+YnMgfHwgcC0+YmMgfHwKKwkJIHAtPnN5c19pbmQgfHwgcC0+ZWggfHwgcC0+ZXMgfHwgcC0+ZWMgfHwKKwkJIGRvc19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHApIHx8IGRvc19wYXJ0aXRpb25fZ2V0X3NpemUocCkpOworfQorCitzdGF0aWMgaW50IGdldF9wYXJ0aXRpb25fdW51c2VkX3ByaW1hcnkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCQkJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsCisJCQkJCXNpemVfdCAqcGFydG5vKQoreworCXNpemVfdCBvcmcsIG47CisJaW50IHJjOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChwYXJ0bm8pOworCisJb3JnID0gY3h0LT5sYWJlbC0+bnBhcnRzX21heDsKKworCWN4dC0+bGFiZWwtPm5wYXJ0c19tYXggPSA0OworCXJjID0gZmRpc2tfcGFydGl0aW9uX25leHRfcGFydG5vKHBhLCBjeHQsICZuKTsKKwljeHQtPmxhYmVsLT5ucGFydHNfbWF4ID0gb3JnOworCisJaWYgKHJjID09IDEpIHsKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgaGF2ZSBiZWVuIGRlZmluZWQgYWxyZWFkeS4iKSk7CisJCXJjID0gLTE7CisJfSBlbHNlIGlmIChyYyA9PSAwKQorCQkqcGFydG5vID0gbjsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgc2Vla19zZWN0b3Ioc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgZmRpc2tfc2VjdG9yX3Qgc2Vjbm8pCit7CisJb2ZmX3Qgb2Zmc2V0ID0gKG9mZl90KSBzZWNubyAqIGN4dC0+c2VjdG9yX3NpemU7CisKKwlyZXR1cm4gbHNlZWsoY3h0LT5kZXZfZmQsIG9mZnNldCwgU0VFS19TRVQpID09IChvZmZfdCkgLTEgPyAtZXJybm8gOiAwOworfQorCitzdGF0aWMgaW50IHJlYWRfc2VjdG9yKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGZkaXNrX3NlY3Rvcl90IHNlY25vLAorCQkJdW5zaWduZWQgY2hhciAqYnVmKQoreworCWludCByYyA9IHNlZWtfc2VjdG9yKGN4dCwgc2Vjbm8pOworCXNzaXplX3QgcjsKKworCWlmIChyYyA8IDApCisJCXJldHVybiByYzsKKworCXIgPSByZWFkKGN4dC0+ZGV2X2ZkLCBidWYsIGN4dC0+c2VjdG9yX3NpemUpOworCWlmIChyID09IChzc2l6ZV90KSBjeHQtPnNlY3Rvcl9zaXplKQorCQlyZXR1cm4gMDsKKwlpZiAociA8IDApCisJCXJldHVybiAtZXJybm87CisJcmV0dXJuIC0xOworfQorCisvKiBBbGxvY2F0ZSBhIGJ1ZmZlciBhbmQgcmVhZCBhIHBhcnRpdGlvbiB0YWJsZSBzZWN0b3IgKi8KK3N0YXRpYyBpbnQgcmVhZF9wdGUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IHBubywgZmRpc2tfc2VjdG9yX3Qgb2Zmc2V0KQoreworCWludCByYzsKKwl1bnNpZ25lZCBjaGFyICpidWY7CisJc3RydWN0IHB0ZSAqcGUgPSBzZWxmX3B0ZShjeHQsIHBubyk7CisKKwlidWYgPSBjYWxsb2MoMSwgY3h0LT5zZWN0b3Jfc2l6ZSk7CisJaWYgKCFidWYpCisJCXJldHVybiAtRU5PTUVNOworCisJREJHKExBQkVMLCB1bF9kZWJ1ZygiRE9TOiByZWFkaW5nIEVCUiAlenU6IG9mZnNldD0lanUsIGJ1ZmZlcj0lcCIsCisJCQkJcG5vLCAodWludG1heF90KSBvZmZzZXQsIGJ1ZikpOworCisJcGUtPm9mZnNldCA9IG9mZnNldDsKKwlwZS0+c2VjdG9yYnVmZmVyID0gYnVmOworCXBlLT5wcml2YXRlX3NlY3RvcmJ1ZmZlciA9IDE7CisKKwlyYyA9IHJlYWRfc2VjdG9yKGN4dCwgb2Zmc2V0LCBwZS0+c2VjdG9yYnVmZmVyKTsKKwlpZiAocmMpIHsKKwkJZmRpc2tfd2FybihjeHQsIF8oIkZhaWxlZCB0byByZWFkIGV4dGVuZGVkIHBhcnRpdGlvbiB0YWJsZSAiCisJCQkJIihvZmZzZXQ9JWp1KSIpLCAodWludG1heF90KSBvZmZzZXQpOworCQlyZXR1cm4gcmM7CisJfQorCisJcGUtPmNoYW5nZWQgPSAwOworCXBlLT5wdF9lbnRyeSA9IHBlLT5leF9lbnRyeSA9IE5VTEw7CisJcmV0dXJuIDA7Cit9CisKKworc3RhdGljIHZvaWQgY2xlYXJfcGFydGl0aW9uKHN0cnVjdCBkb3NfcGFydGl0aW9uICpwKQoreworCWlmICghcCkKKwkJcmV0dXJuOworCXAtPmJvb3RfaW5kID0gMDsKKwlwLT5iaCA9IDA7CisJcC0+YnMgPSAwOworCXAtPmJjID0gMDsKKwlwLT5zeXNfaW5kID0gMDsKKwlwLT5laCA9IDA7CisJcC0+ZXMgPSAwOworCXAtPmVjID0gMDsKKwlkb3NfcGFydGl0aW9uX3NldF9zdGFydChwLDApOworCWRvc19wYXJ0aXRpb25fc2V0X3NpemUocCwwKTsKK30KKworc3RhdGljIHZvaWQgZG9zX2luaXQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgZmRpc2tfZG9zX2xhYmVsICpsID0gc2VsZl9sYWJlbChjeHQpOworCXNpemVfdCBpOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIERPUykpOworCisJREJHKExBQkVMLCB1bF9kZWJ1ZygiRE9TOiBpbml0aWFsaXplLCBmaXJzdCBzZWN0b3IgYnVmZmVyICVwIiwgY3h0LT5maXJzdHNlY3RvcikpOworCisJY3h0LT5sYWJlbC0+bnBhcnRzX21heCA9IDQ7CS8qIGRlZmF1bHQsIHVubGltaXRlZCBudW1iZXIgb2YgbG9naWNhbCAqLworCisJbC0+ZXh0X2luZGV4ID0gMDsKKwlsLT5leHRfb2Zmc2V0ID0gMDsKKwlsLT5ub25fcHRfY2hhbmdlZCA9IDA7CisKKwltZW1zZXQobC0+cHRlcywgMCwgc2l6ZW9mKGwtPnB0ZXMpKTsKKworCWZvciAoaSA9IDA7IGkgPCA0OyBpKyspIHsKKwkJc3RydWN0IHB0ZSAqcGUgPSBzZWxmX3B0ZShjeHQsIGkpOworCisJCXBlLT5wdF9lbnRyeSA9IG1icl9nZXRfcGFydGl0aW9uKGN4dC0+Zmlyc3RzZWN0b3IsIGkpOworCQlwZS0+ZXhfZW50cnkgPSBOVUxMOworCQlwZS0+b2Zmc2V0ID0gMDsKKwkJcGUtPnNlY3RvcmJ1ZmZlciA9IGN4dC0+Zmlyc3RzZWN0b3I7CisJCXBlLT5wcml2YXRlX3NlY3RvcmJ1ZmZlciA9IDA7CisJCXBlLT5jaGFuZ2VkID0gMDsKKwl9CisKKwlpZiAoZmRpc2tfaXNfbGlzdG9ubHkoY3h0KSkKKwkJcmV0dXJuOworCS8qCisJICogVmFyaW91cyB3YXJuaW5ncy4uLgorCSAqLworCWlmIChmZGlza19taXNzaW5nX2dlb21ldHJ5KGN4dCkpCisJCWZkaXNrX3dhcm54KGN4dCwgXygiWW91IGNhbiBzZXQgZ2VvbWV0cnkgZnJvbSB0aGUgZXh0cmEgZnVuY3Rpb25zIG1lbnUuIikpOworCisJaWYgKGlzX2Rvc19jb21wYXRpYmxlKGN4dCkpIHsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIikpOworCisJCWlmIChjeHQtPnNlY3Rvcl9zaXplICE9IGN4dC0+cGh5X3NlY3Rvcl9zaXplKQorCQkJZmRpc2tfaW5mbyhjeHQsIF8oCisJCSJUaGUgZGV2aWNlIHByZXNlbnRzIGEgbG9naWNhbCBzZWN0b3Igc2l6ZSB0aGF0IGlzIHNtYWxsZXIgdGhhbiAiCisJCSJ0aGUgcGh5c2ljYWwgc2VjdG9yIHNpemUuIEFsaWduaW5nIHRvIGEgcGh5c2ljYWwgc2VjdG9yIChvciBvcHRpbWFsICIKKwkJIkkvTykgc2l6ZSBib3VuZGFyeSBpcyByZWNvbW1lbmRlZCwgb3IgcGVyZm9ybWFuY2UgbWF5IGJlIGltcGFjdGVkLiIpKTsKKwl9CisKKwlpZiAoZmRpc2tfdXNlX2N5bGluZGVycyhjeHQpKQorCQlmZGlza193YXJueChjeHQsIF8oIkN5bGluZGVycyBhcyBkaXNwbGF5IHVuaXRzIGFyZSBkZXByZWNhdGVkLiIpKTsKKworCWlmIChjeHQtPnRvdGFsX3NlY3RvcnMgPiBVSU5UX01BWCkgeworCQl1aW50NjRfdCBieXRlcyA9IGN4dC0+dG90YWxfc2VjdG9ycyAqIGN4dC0+c2VjdG9yX3NpemU7CisJCWNoYXIgKnN6c3RyID0gc2l6ZV90b19odW1hbl9zdHJpbmcoU0laRV9TVUZGSVhfU1BBQ0UKKwkJCQkJICAgfCBTSVpFX1NVRkZJWF8zTEVUVEVSLCBieXRlcyk7CisJCWZkaXNrX3dhcm54KGN4dCwKKwkJXygiVGhlIHNpemUgb2YgdGhpcyBkaXNrIGlzICVzICglanUgYnl0ZXMpLiBET1MgIgorCQkgICJwYXJ0aXRpb24gdGFibGUgZm9ybWF0IGNhbiBub3QgYmUgdXNlZCBvbiBkcml2ZXMgZm9yICIKKwkJICAidm9sdW1lcyBsYXJnZXIgdGhhbiAlbHUgYnl0ZXMgZm9yICVsdS1ieXRlICIKKwkJICAic2VjdG9ycy4gVXNlIEdVSUQgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCAoR1BUKS4iKSwKKwkJCXN6c3RyLCBieXRlcywKKwkJCVVJTlRfTUFYICogY3h0LT5zZWN0b3Jfc2l6ZSwKKwkJCWN4dC0+c2VjdG9yX3NpemUpOworCQlmcmVlKHN6c3RyKTsKKwl9Cit9CisKKy8qIGNhbGxiYWNrIGNhbGxlZCBieSBsaWJmZGlzayAqLworc3RhdGljIHZvaWQgZG9zX2RlaW5pdChzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiKQoreworCXNpemVfdCBpOworCXN0cnVjdCBmZGlza19kb3NfbGFiZWwgKmwgPSAoc3RydWN0IGZkaXNrX2Rvc19sYWJlbCAqKSBsYjsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGwtPnB0ZXMpOyBpKyspIHsKKwkJc3RydWN0IHB0ZSAqcGUgPSAmbC0+cHRlc1tpXTsKKworCQlpZiAocGUtPnByaXZhdGVfc2VjdG9yYnVmZmVyICYmIHBlLT5zZWN0b3JidWZmZXIpIHsKKwkJCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzogZnJlZWluZyBwdGUgJXp1IHNlY3RvciBidWZmZXIgJXAiLAorCQkJCQkJaSwgcGUtPnNlY3RvcmJ1ZmZlcikpOworCQkJZnJlZShwZS0+c2VjdG9yYnVmZmVyKTsKKwkJfQorCQlwZS0+c2VjdG9yYnVmZmVyID0gTlVMTDsKKwkJcGUtPnByaXZhdGVfc2VjdG9yYnVmZmVyID0gMDsKKwl9CisKKwltZW1zZXQobC0+cHRlcywgMCwgc2l6ZW9mKGwtPnB0ZXMpKTsKK30KKworc3RhdGljIHZvaWQgcmVzZXRfcHRlKHN0cnVjdCBwdGUgKnBlKQoreworCWFzc2VydChwZSk7CisKKwlpZiAocGUtPnByaXZhdGVfc2VjdG9yYnVmZmVyKSB7CisJCURCRyhMQUJFTCwgdWxfZGVidWcoIiAgIC0tPiBmcmVlaW5nIHB0ZSBzZWN0b3IgYnVmZmVyICVwIiwKKwkJCQkJcGUtPnNlY3RvcmJ1ZmZlcikpOworCQlmcmVlKHBlLT5zZWN0b3JidWZmZXIpOworCX0KKwltZW1zZXQocGUsIDAsIHNpemVvZihzdHJ1Y3QgcHRlKSk7Cit9CisKK3N0YXRpYyBpbnQgZG9zX2RlbGV0ZV9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IHBhcnRudW0pCit7CisJc3RydWN0IGZkaXNrX2Rvc19sYWJlbCAqbDsKKwlzdHJ1Y3QgcHRlICpwZTsKKwlzdHJ1Y3QgZG9zX3BhcnRpdGlvbiAqcDsKKwlzdHJ1Y3QgZG9zX3BhcnRpdGlvbiAqcTsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBET1MpKTsKKworCXBlID0gc2VsZl9wdGUoY3h0LCBwYXJ0bnVtKTsKKwlpZiAoIXBlKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzogZGVsZXRlIHBhcnRpdGlvbiAlenUgKG1heD0lenUpIiwgcGFydG51bSwKKwkJCQljeHQtPmxhYmVsLT5ucGFydHNfbWF4KSk7CisKKwlsID0gc2VsZl9sYWJlbChjeHQpOworCXAgPSBwZS0+cHRfZW50cnk7CisJcSA9IHBlLT5leF9lbnRyeTsKKworCS8qIE5vdGUgdGhhdCBmb3IgdGhlIGZpZnRoIHBhcnRpdGlvbiAocGFydG51bSA9PSA0KSB3ZSBkb24ndCBhY3R1YWxseQorCSAgIGRlY3JlbWVudCBwYXJ0aXRpb25zLiAqLworCWlmIChwYXJ0bnVtIDwgNCkgeworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCItLT4gZGVsZXRlIHByaW1hcnkiKSk7CisJCWlmIChJU19FWFRFTkRFRChwLT5zeXNfaW5kKSAmJiBwYXJ0bnVtID09IGwtPmV4dF9pbmRleCkgeworCQkJc2l6ZV90IGk7CisJCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCIgLS0+IGRlbGV0ZSBleHRlbmRlZCIpKTsKKwkJCWZvciAoaSA9IDQ7IGkgPCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4OyBpKyspIHsKKwkJCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCIgIC0tPiBkZWxldGUgbG9naWNhbCAjJXp1IiwgaSkpOworCQkJCXJlc2V0X3B0ZSgmbC0+cHRlc1tpXSk7CisKKwkJCX0KKwkJCWN4dC0+bGFiZWwtPm5wYXJ0c19tYXggPSA0OworCQkJbC0+cHRlc1tsLT5leHRfaW5kZXhdLmV4X2VudHJ5ID0gTlVMTDsKKwkJCWwtPmV4dF9vZmZzZXQgPSAwOworCQkJbC0+ZXh0X2luZGV4ID0gMDsKKwkJfQorCQlwYXJ0aXRpb25fc2V0X2NoYW5nZWQoY3h0LCBwYXJ0bnVtLCAxKTsKKwkJY2xlYXJfcGFydGl0aW9uKHApOworCX0gZWxzZSBpZiAoIXEtPnN5c19pbmQgJiYgcGFydG51bSA+IDQpIHsKKwkJREJHKExBQkVMLCB1bF9kZWJ1ZygiLS0+IGRlbGV0ZSBsb2dpY2FsIFtsYXN0IGluIHRoZSBjaGFpbl0iKSk7CisJCXJlc2V0X3B0ZSgmbC0+cHRlc1twYXJ0bnVtXSk7CisJCS0tY3h0LT5sYWJlbC0+bnBhcnRzX21heDsKKwkJLS1wYXJ0bnVtOworCQkvKiBjbGVhciBsaW5rIHRvIGRlbGV0ZWQgcGFydGl0aW9uICovCisJCWNsZWFyX3BhcnRpdGlvbihsLT5wdGVzW3BhcnRudW1dLmV4X2VudHJ5KTsKKwkJcGFydGl0aW9uX3NldF9jaGFuZ2VkKGN4dCwgcGFydG51bSwgMSk7CisJfSBlbHNlIHsKKwkJREJHKExBQkVMLCB1bF9kZWJ1ZygiLS0+IGRlbGV0ZSBsb2dpY2FsIFttb3ZlIGRvd25dIikpOworCQlpZiAocGFydG51bSA+IDQpIHsKKwkJCURCRyhMQUJFTCwgdWxfZGVidWcoIiAtLT4gZGVsZXRlICV6dSBsb2dpY2FsIGxpbmsiLCBwYXJ0bnVtKSk7CisJCQlwID0gbC0+cHRlc1twYXJ0bnVtIC0gMV0uZXhfZW50cnk7CisJCQkqcCA9ICpxOworCQkJZG9zX3BhcnRpdGlvbl9zZXRfc3RhcnQocCwgZG9zX3BhcnRpdGlvbl9nZXRfc3RhcnQocSkpOworCQkJZG9zX3BhcnRpdGlvbl9zZXRfc2l6ZShwLCBkb3NfcGFydGl0aW9uX2dldF9zaXplKHEpKTsKKwkJCXBhcnRpdGlvbl9zZXRfY2hhbmdlZChjeHQsIHBhcnRudW0gLSAxLCAxKTsKKworCQl9IGVsc2UgaWYgKGN4dC0+bGFiZWwtPm5wYXJ0c19tYXggPiA1KSB7CisJCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCIgLS0+IGRlbGV0ZSBmaXJzdCBsb2dpY2FsIGxpbmsiKSk7CisJCQlwZSA9ICZsLT5wdGVzWzVdOwkvKiBzZWNvbmQgbG9naWNhbCAqLworCisJCQlpZiAocGUtPnB0X2VudHJ5KQkvKiBwcmV2ZW50IFNFR0ZBVUxUICovCisJCQkJZG9zX3BhcnRpdGlvbl9zZXRfc3RhcnQocGUtPnB0X2VudHJ5LAorCQkJCQkgICAgICAgZ2V0X2Fic19wYXJ0aXRpb25fc3RhcnQocGUpIC0KKwkJCQkJICAgICAgIGwtPmV4dF9vZmZzZXQpOworCQkJcGUtPm9mZnNldCA9IGwtPmV4dF9vZmZzZXQ7CisJCQlwYXJ0aXRpb25fc2V0X2NoYW5nZWQoY3h0LCA1LCAxKTsKKwkJfQorCisJCWlmIChjeHQtPmxhYmVsLT5ucGFydHNfbWF4ID4gNSkgeworCQkJREJHKExBQkVMLCB1bF9kZWJ1ZygiIC0tPiBtb3ZlIHB0ZXMiKSk7CisJCQljeHQtPmxhYmVsLT5ucGFydHNfbWF4LS07CisJCQlyZXNldF9wdGUoJmwtPnB0ZXNbcGFydG51bV0pOworCQkJd2hpbGUgKHBhcnRudW0gPCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4KSB7CisJCQkJREJHKExBQkVMLCB1bF9kZWJ1ZygiICAtLT4gbW92aW5nIHB0ZSAlenUgPC0tICV6dSIsIHBhcnRudW0sIHBhcnRudW0gKyAxKSk7CisJCQkJbC0+cHRlc1twYXJ0bnVtXSA9IGwtPnB0ZXNbcGFydG51bSArIDFdOworCQkJCXBhcnRudW0rKzsKKwkJCX0KKwkJCW1lbXNldCgmbC0+cHRlc1twYXJ0bnVtXSwgMCwgc2l6ZW9mKHN0cnVjdCBwdGUpKTsKKwkJfSBlbHNlIHsKKwkJCURCRyhMQUJFTCwgdWxfZGVidWcoIiAtLT4gdGhlIG9ubHkgbG9naWNhbDogY2xlYXIgb25seSIpKTsKKwkJCWNsZWFyX3BhcnRpdGlvbihsLT5wdGVzW3BhcnRudW1dLnB0X2VudHJ5KTsKKwkJCWN4dC0+bGFiZWwtPm5wYXJ0c19tYXgtLTsKKworCQkJaWYgKHBhcnRudW0gPT0gNCkgeworCQkJCURCRyhMQUJFTCwgdWxfZGVidWcoIiAgLS0+IGNsZWFyIGxhc3QgbG9naWNhbCIpKTsKKwkJCQlyZXNldF9wdGUoJmwtPnB0ZXNbcGFydG51bV0pOworCQkJCXBhcnRpdGlvbl9zZXRfY2hhbmdlZChjeHQsIGwtPmV4dF9pbmRleCwgMSk7CisJCQl9CisJCX0KKwl9CisKKwlmZGlza19sYWJlbF9zZXRfY2hhbmdlZChjeHQtPmxhYmVsLCAxKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgcmVhZF9leHRlbmRlZChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgZXh0KQoreworCXNpemVfdCBpOworCXN0cnVjdCBwdGUgKnBleCwgKnBlOworCXN0cnVjdCBkb3NfcGFydGl0aW9uICpwLCAqcTsKKwlzdHJ1Y3QgZmRpc2tfZG9zX2xhYmVsICpsID0gc2VsZl9sYWJlbChjeHQpOworCisJbC0+ZXh0X2luZGV4ID0gZXh0OworCXBleCA9IHNlbGZfcHRlKGN4dCwgZXh0KTsKKwlwZXgtPmV4X2VudHJ5ID0gcGV4LT5wdF9lbnRyeTsKKworCXAgPSBwZXgtPnB0X2VudHJ5OworCWlmICghZG9zX3BhcnRpdGlvbl9nZXRfc3RhcnQocCkpIHsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJCYWQgb2Zmc2V0IGluIHByaW1hcnkgZXh0ZW5kZWQgcGFydGl0aW9uLiIpKTsKKwkJcmV0dXJuOworCX0KKworCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzogUmVhZGluZyBleHRlbmRlZCAlenUiLCBleHQpKTsKKworCXdoaWxlIChJU19FWFRFTkRFRCAocC0+c3lzX2luZCkpIHsKKwkJcGUgPSBzZWxmX3B0ZShjeHQsIGN4dC0+bGFiZWwtPm5wYXJ0c19tYXgpOworCisJCWlmIChjeHQtPmxhYmVsLT5ucGFydHNfbWF4ID49IE1BWElNVU1fUEFSVFMpIHsKKwkJCS8qIFRoaXMgaXMgbm90IGEgTGludXggcmVzdHJpY3Rpb24sIGJ1dAorCQkJICAgdGhpcyBwcm9ncmFtIHVzZXMgYXJyYXlzIG9mIHNpemUgTUFYSU1VTV9QQVJUUy4KKwkJCSAgIERvIG5vdCB0cnkgdG8gYGltcHJvdmUnIHRoaXMgdGVzdC4gKi8KKwkJCXN0cnVjdCBwdGUgKnByZSA9IHNlbGZfcHRlKGN4dCwKKwkJCQkJCWN4dC0+bGFiZWwtPm5wYXJ0c19tYXggLSAxKTsKKwkJCWZkaXNrX3dhcm54KGN4dCwKKwkJCV8oIk9taXR0aW5nIHBhcnRpdGlvbnMgYWZ0ZXIgIyV6dS4gVGhleSB3aWxsIGJlIGRlbGV0ZWQgIgorCQkJICAiaWYgeW91IHNhdmUgdGhpcyBwYXJ0aXRpb24gdGFibGUuIiksCisJCQkJY3h0LT5sYWJlbC0+bnBhcnRzX21heCk7CisKKwkJCWNsZWFyX3BhcnRpdGlvbihwcmUtPmV4X2VudHJ5KTsKKwkJCXBhcnRpdGlvbl9zZXRfY2hhbmdlZChjeHQsCisJCQkJCWN4dC0+bGFiZWwtPm5wYXJ0c19tYXggLSAxLCAxKTsKKwkJCXJldHVybjsKKwkJfQorCisJCWlmIChyZWFkX3B0ZShjeHQsIGN4dC0+bGFiZWwtPm5wYXJ0c19tYXgsIGwtPmV4dF9vZmZzZXQgKworCQkJCQkJZG9zX3BhcnRpdGlvbl9nZXRfc3RhcnQocCkpKQorCQkJcmV0dXJuOworCisJCWlmICghbC0+ZXh0X29mZnNldCkKKwkJCWwtPmV4dF9vZmZzZXQgPSBkb3NfcGFydGl0aW9uX2dldF9zdGFydChwKTsKKworCQlhc3NlcnQocGUtPnNlY3RvcmJ1ZmZlcik7CisJCXEgPSBwID0gbWJyX2dldF9wYXJ0aXRpb24ocGUtPnNlY3RvcmJ1ZmZlciwgMCk7CisKKwkJZm9yIChpID0gMDsgaSA8IDQ7IGkrKywgcCsrKSB7CisJCQlpZiAoIWRvc19wYXJ0aXRpb25fZ2V0X3NpemUocCkpCisJCQkJY29udGludWU7CisKKwkJCWlmIChJU19FWFRFTkRFRCAocC0+c3lzX2luZCkpIHsKKwkJCQlpZiAocGUtPmV4X2VudHJ5KQorCQkJCQlmZGlza193YXJueChjeHQsIF8oCisJCQkJCSJFeHRyYSBsaW5rIHBvaW50ZXIgaW4gcGFydGl0aW9uICIKKwkJCQkJInRhYmxlICV6dS4iKSwKKwkJCQkJCWN4dC0+bGFiZWwtPm5wYXJ0c19tYXggKyAxKTsKKwkJCQllbHNlCisJCQkJCXBlLT5leF9lbnRyeSA9IHA7CisJCQl9IGVsc2UgaWYgKHAtPnN5c19pbmQpIHsKKwkJCQlpZiAocGUtPnB0X2VudHJ5KQorCQkJCQlmZGlza193YXJueChjeHQsIF8oCisJCQkJCSJJZ25vcmluZyBleHRyYSBkYXRhIGluIHBhcnRpdGlvbiAiCisJCQkJCSJ0YWJsZSAlenUuIiksCisJCQkJCQljeHQtPmxhYmVsLT5ucGFydHNfbWF4ICsgMSk7CisJCQkJZWxzZQorCQkJCQlwZS0+cHRfZW50cnkgPSBwOworCQkJfQorCQl9CisKKwkJLyogdmVyeSBzdHJhbmdlIGNvZGUgaGVyZS4uLiAqLworCQlpZiAoIXBlLT5wdF9lbnRyeSkgeworCQkJaWYgKHEgIT0gcGUtPmV4X2VudHJ5KQorCQkJCXBlLT5wdF9lbnRyeSA9IHE7CisJCQllbHNlCisJCQkJcGUtPnB0X2VudHJ5ID0gcSArIDE7CisJCX0KKwkJaWYgKCFwZS0+ZXhfZW50cnkpIHsKKwkJCWlmIChxICE9IHBlLT5wdF9lbnRyeSkKKwkJCQlwZS0+ZXhfZW50cnkgPSBxOworCQkJZWxzZQorCQkJCXBlLT5leF9lbnRyeSA9IHEgKyAxOworCQl9CisKKwkJcCA9IHBlLT5leF9lbnRyeTsKKwkJY3h0LT5sYWJlbC0+bnBhcnRzX2N1ciA9ICsrY3h0LT5sYWJlbC0+bnBhcnRzX21heDsKKworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IEVCUltvZmZzZXQ9JWp1XTogbGluazogdHlwZT0leCwgIHN0YXJ0PSV1LCBzaXplPSV1OyAiCisJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICIgZGF0YTogdHlwZT0leCwgc3RhcnQ9JXUsIHNpemU9JXUiLAorCQkJCSAgICAodWludG1heF90KSBwZS0+b2Zmc2V0LAorCQkJCSAgICBwZS0+ZXhfZW50cnktPnN5c19pbmQsCisJCQkJICAgIGRvc19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBlLT5leF9lbnRyeSksCisJCQkJICAgIGRvc19wYXJ0aXRpb25fZ2V0X3NpemUocGUtPmV4X2VudHJ5KSwKKwkJCQkgICAgcGUtPnB0X2VudHJ5LT5zeXNfaW5kLAorCQkJCSAgICBkb3NfcGFydGl0aW9uX2dldF9zdGFydChwZS0+cHRfZW50cnkpLAorCQkJCSAgICBkb3NfcGFydGl0aW9uX2dldF9zaXplKHBlLT5wdF9lbnRyeSkpKTsKKworCX0KKworCS8qIHJlbW92ZSBsYXN0IGVtcHR5IEVCUiAqLworCXBlID0gc2VsZl9wdGUoY3h0LCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4IC0gMSk7CisJaWYgKGlzX2NsZWFyZWRfcGFydGl0aW9uKHBlLT5leF9lbnRyeSkgJiYKKwkgICAgaXNfY2xlYXJlZF9wYXJ0aXRpb24ocGUtPnB0X2VudHJ5KSkgeworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IEVCUltvZmZzZXQ9JWp1XTogZW1wdHksIHJlbW92ZSIsICh1aW50bWF4X3QpIHBlLT5vZmZzZXQpKTsKKwkJcmVzZXRfcHRlKHBlKTsKKwkJY3h0LT5sYWJlbC0+bnBhcnRzX21heC0tOworCQljeHQtPmxhYmVsLT5ucGFydHNfY3VyLS07CisJfQorCisJLyogcmVtb3ZlIGVtcHR5IGxpbmtzICovCisgcmVtb3ZlOgorCXEgPSBzZWxmX3BhcnRpdGlvbihjeHQsIDQpOworCWZvciAoaSA9IDQ7IGkgPCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4OyBpKyspIHsKKwkJcCA9IHNlbGZfcGFydGl0aW9uKGN4dCwgaSk7CisKKwkJaWYgKCFkb3NfcGFydGl0aW9uX2dldF9zaXplKHApICYmCisJCSAgICAoY3h0LT5sYWJlbC0+bnBhcnRzX21heCA+IDUgfHwgcS0+c3lzX2luZCkpIHsKKwkJCWZkaXNrX2luZm8oY3h0LCBfKCJvbWl0dGluZyBlbXB0eSBwYXJ0aXRpb24gKCV6dSkiKSwgaSsxKTsKKwkJCWRvc19kZWxldGVfcGFydGl0aW9uKGN4dCwgaSk7CisJCQlnb3RvIHJlbW92ZTsgCS8qIG51bWJlcmluZyBjaGFuZ2VkICovCisJCX0KKwl9CisKKwlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IG5wYXJ0c19tYXg6ICV6dSIsIGN4dC0+bGFiZWwtPm5wYXJ0c19tYXgpKTsKK30KKworc3RhdGljIGludCBkb3NfY3JlYXRlX2Rpc2tsYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXVuc2lnbmVkIGludCBpZCA9IDA7CisJaW50IHJjLCBoYXNfaWQgPSAwOworCXN0cnVjdCBmZGlza19kb3NfbGFiZWwgKmw7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgRE9TKSk7CisKKwlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IGNyZWF0aW5nIG5ldyBkaXNrbGFiZWwiKSk7CisKKwlpZiAoY3h0LT5zY3JpcHQpIHsKKwkJY2hhciAqZW5kID0gTlVMTDsKKwkJY29uc3QgY2hhciAqcyA9IGZkaXNrX3NjcmlwdF9nZXRfaGVhZGVyKGN4dC0+c2NyaXB0LCAibGFiZWwtaWQiKTsKKworCQlpZiAocykgeworCQkJZXJybm8gPSAwOworCQkJaWQgPSBzdHJ0b2wocywgJmVuZCwgMTYpOworCQkJaWYgKCFlcnJubyAmJiBlbmQgJiYgcyA8IGVuZCkKKwkJCQloYXNfaWQgPSAxOworCQl9CisJfQorCisJLyogcmFuZG9tIGRpc2sgc2lnbmF0dXJlICovCisJaWYgKCFoYXNfaWQpCisJCXJhbmRvbV9nZXRfYnl0ZXMoJmlkLCBzaXplb2YoaWQpKTsKKworCWlmIChmZGlza19oYXNfcHJvdGVjdGVkX2Jvb3RiaXRzKGN4dCkpCisJCXJjID0gZmRpc2tfaW5pdF9maXJzdHNlY3Rvcl9idWZmZXIoY3h0LCAwLCBNQlJfUFRfQk9PVEJJVFNfU0laRSk7CisJZWxzZQorCQlyYyA9IGZkaXNrX2luaXRfZmlyc3RzZWN0b3JfYnVmZmVyKGN4dCwgMCwgMCk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisJZG9zX2luaXQoY3h0KTsKKworCWwgPSBzZWxmX2xhYmVsKGN4dCk7CisKKwkvKiBHZW5lcmF0ZSBhbiBNQlIgSUQgZm9yIHRoaXMgZGlzayAqLworCW1icl9zZXRfaWQoY3h0LT5maXJzdHNlY3RvciwgaWQpOworCWwtPm5vbl9wdF9jaGFuZ2VkID0gMTsKKwlmZGlza19sYWJlbF9zZXRfY2hhbmdlZChjeHQtPmxhYmVsLCAxKTsKKworCS8qIFB1dCBNQlIgc2lnbmF0dXJlICovCisJbWJyX3NldF9tYWdpYyhjeHQtPmZpcnN0c2VjdG9yKTsKKworCWZkaXNrX2luZm8oY3h0LCBfKCJDcmVhdGVkIGEgbmV3IERPUyBkaXNrbGFiZWwgd2l0aCBkaXNrICIKKwkJCSAiaWRlbnRpZmllciAweCUwOHguIiksIGlkKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBkb3Nfc2V0X2Rpc2tsYWJlbF9pZChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWNoYXIgKmVuZCA9IE5VTEwsICpzdHIgPSBOVUxMOworCXVuc2lnbmVkIGludCBpZCwgb2xkOworCXN0cnVjdCBmZGlza19kb3NfbGFiZWwgKmw7CisJaW50IHJjOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIERPUykpOworCisJREJHKExBQkVMLCB1bF9kZWJ1ZygiRE9TOiBzZXR0aW5nIElkIikpOworCisJbCA9IHNlbGZfbGFiZWwoY3h0KTsKKwlvbGQgPSBtYnJfZ2V0X2lkKGN4dC0+Zmlyc3RzZWN0b3IpOworCXJjID0gZmRpc2tfYXNrX3N0cmluZyhjeHQsCisJCQlfKCJFbnRlciB0aGUgbmV3IGRpc2sgaWRlbnRpZmllciIpLCAmc3RyKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCWVycm5vID0gMDsKKwlpZCA9IHN0cnRvdWwoc3RyLCAmZW5kLCAwKTsKKwlpZiAoZXJybm8gfHwgc3RyID09IGVuZCB8fCAoZW5kICYmICplbmQpKSB7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiSW5jb3JyZWN0IHZhbHVlLiIpKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisKKwltYnJfc2V0X2lkKGN4dC0+Zmlyc3RzZWN0b3IsIGlkKTsKKwlsLT5ub25fcHRfY2hhbmdlZCA9IDE7CisJZmRpc2tfbGFiZWxfc2V0X2NoYW5nZWQoY3h0LT5sYWJlbCwgMSk7CisKKwlmZGlza19pbmZvKGN4dCwgXygiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAweCUwOHggdG8gMHglMDh4LiIpLAorCQkJb2xkLCBpZCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGdldF9wYXJ0aXRpb25fdGFibGVfZ2VvbWV0cnkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCXVuc2lnbmVkIGludCAqcGgsIHVuc2lnbmVkIGludCAqcHMpCit7CisJdW5zaWduZWQgY2hhciAqYnVmcCA9IGN4dC0+Zmlyc3RzZWN0b3I7CisJc3RydWN0IGRvc19wYXJ0aXRpb24gKnA7CisJaW50IGksIGgsIHMsIGhoLCBzczsKKwlpbnQgZmlyc3QgPSAxOworCWludCBiYWQgPSAwOworCisJaGggPSBzcyA9IDA7CisJZm9yIChpID0gMDsgaSA8IDQ7IGkrKykgeworCQlwID0gbWJyX2dldF9wYXJ0aXRpb24oYnVmcCwgaSk7CisJCWlmIChwLT5zeXNfaW5kICE9IDApIHsKKwkJCWggPSBwLT5laCArIDE7CisJCQlzID0gKHAtPmVzICYgMDc3KTsKKwkJCWlmIChmaXJzdCkgeworCQkJCWhoID0gaDsKKwkJCQlzcyA9IHM7CisJCQkJZmlyc3QgPSAwOworCQkJfSBlbHNlIGlmIChoaCAhPSBoIHx8IHNzICE9IHMpCisJCQkJYmFkID0gMTsKKwkJfQorCX0KKworCWlmICghZmlyc3QgJiYgIWJhZCkgeworCQkqcGggPSBoaDsKKwkJKnBzID0gc3M7CisJfQorCisJREJHKExBQkVMLCB1bF9kZWJ1ZygiRE9TIFBUIGdlb21ldHJ5OiBoZWFkcz0ldSwgc2VjdG9ycz0ldSIsICpwaCwgKnBzKSk7Cit9CisKK3N0YXRpYyBpbnQgZG9zX3Jlc2V0X2FsaWdubWVudChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBET1MpKTsKKworCS8qIG92ZXJ3cml0ZSBuZWNlc3Nhcnkgc3R1ZmYgYnkgRE9TIGRlcHJlY2F0ZWQgc3R1ZmYgKi8KKwlpZiAoaXNfZG9zX2NvbXBhdGlibGUoY3h0KSkgeworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IHJlc2V0dGluZyBhbGlnbm1lbnQgZm9yIERPUy1jb21wYXRpYmxlIFBUIikpOworCQlpZiAoY3h0LT5nZW9tLnNlY3RvcnMpCisJCQljeHQtPmZpcnN0X2xiYSA9IGN4dC0+Z2VvbS5zZWN0b3JzOwkvKiB1c3VhbGx5IDYzICovCisKKwkJY3h0LT5ncmFpbiA9IGN4dC0+c2VjdG9yX3NpemU7CQkJLyogdXN1YWxseSA1MTIgKi8KKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyogVE9ETzogbW92ZSB0byBpbmNsdWRlL3B0LWRvcy5oIGFuZCBzaGFyZSB3aXRoIGxpYmJsa2lkICovCisjZGVmaW5lIEFJWF9NQUdJQ19TVFJJTkcJIlx4QzlceEMyXHhENFx4QzEiCisjZGVmaW5lIEFJWF9NQUdJQ19TVFJMRU4JKHNpemVvZihBSVhfTUFHSUNfU1RSSU5HKSAtIDEpCisKK3N0YXRpYyBpbnQgZG9zX3Byb2JlX2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc2l6ZV90IGk7CisJdW5zaWduZWQgaW50IGggPSAwLCBzID0gMDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBET1MpKTsKKworCS8qIGlnbm9yZSBkaXNrcyB3aXRoIEFJWCBtYWdpYyBudW1iZXIgKi8KKwlpZiAobWVtY21wKGN4dC0+Zmlyc3RzZWN0b3IsIEFJWF9NQUdJQ19TVFJJTkcsIEFJWF9NQUdJQ19TVFJMRU4pID09IDApCisJCXJldHVybiAwOworCisJaWYgKCFtYnJfaXNfdmFsaWRfbWFnaWMoY3h0LT5maXJzdHNlY3RvcikpCisJCXJldHVybiAwOworCisJZG9zX2luaXQoY3h0KTsKKworCWdldF9wYXJ0aXRpb25fdGFibGVfZ2VvbWV0cnkoY3h0LCAmaCwgJnMpOworCWlmIChoICYmIHMpIHsKKwkJY3h0LT5nZW9tLmhlYWRzID0gaDsKKwkgICAgICAgIGN4dC0+Z2VvbS5zZWN0b3JzID0gczsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKSB7CisJCXN0cnVjdCBwdGUgKnBlID0gc2VsZl9wdGUoY3h0LCBpKTsKKworCQlpZiAoaXNfdXNlZF9wYXJ0aXRpb24ocGUtPnB0X2VudHJ5KSkKKwkJCWN4dC0+bGFiZWwtPm5wYXJ0c19jdXIrKzsKKworCQlpZiAoSVNfRVhURU5ERUQgKHBlLT5wdF9lbnRyeS0+c3lzX2luZCkpIHsKKwkJCWlmIChjeHQtPmxhYmVsLT5ucGFydHNfbWF4ICE9IDQpCisJCQkJZmRpc2tfd2FybngoY3h0LCBfKAorCQkJCSJJZ25vcmluZyBleHRyYSBleHRlbmRlZCBwYXJ0aXRpb24gJXp1IiksCisJCQkJCWkgKyAxKTsKKwkJCWVsc2UKKwkJCQlyZWFkX2V4dGVuZGVkKGN4dCwgaSk7CisJCX0KKwl9CisKKwlmb3IgKGkgPSAzOyBpIDwgY3h0LT5sYWJlbC0+bnBhcnRzX21heDsgaSsrKSB7CisJCXN0cnVjdCBwdGUgKnBlID0gc2VsZl9wdGUoY3h0LCBpKTsKKwkJc3RydWN0IGZkaXNrX2Rvc19sYWJlbCAqbCA9IHNlbGZfbGFiZWwoY3h0KTsKKworCQlpZiAoIW1icl9pc192YWxpZF9tYWdpYyhwZS0+c2VjdG9yYnVmZmVyKSkgeworCQkJZmRpc2tfaW5mbyhjeHQsIF8oCisJCQkiSW52YWxpZCBmbGFnIDB4JTAyeCUwMnggb2YgRUJSIChmb3IgcGFydGl0aW9uICV6dSkgd2lsbCAiCisJCQkiYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkuIiksCisJCQkJcGUtPnNlY3RvcmJ1ZmZlcls1MTBdLAorCQkJCXBlLT5zZWN0b3JidWZmZXJbNTExXSwKKwkJCQlpICsgMSk7CisJCQlwYXJ0aXRpb25fc2V0X2NoYW5nZWQoY3h0LCBpLCAxKTsKKworCQkJLyogbWFyayBhbHNvIGV4dGVuZGVkIGFzIGNoYW5nZWQgdG8gdXBkYXRlIHRoZSBmaXJzdCBFQlIKKwkJCSAqIGluIHNpdHVhdGlvbiB0aGF0IHRoZXJlIGlzIG5vIGxvZ2ljYWwgcGFydGl0aW9ucyBhdCBhbGwgKi8KKwkJCXBhcnRpdGlvbl9zZXRfY2hhbmdlZChjeHQsIGwtPmV4dF9pbmRleCwgMSk7CisJCX0KKwl9CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIHZvaWQgc2V0X3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJICBpbnQgaSwgaW50IGRvZXh0LCBmZGlza19zZWN0b3JfdCBzdGFydCwKKwkJCSAgZmRpc2tfc2VjdG9yX3Qgc3RvcCwgaW50IHN5c2lkLCBpbnQgYm9vdCkKK3sKKwlzdHJ1Y3QgcHRlICpwZSA9IHNlbGZfcHRlKGN4dCwgaSk7CisJc3RydWN0IGRvc19wYXJ0aXRpb24gKnA7CisJZmRpc2tfc2VjdG9yX3Qgb2Zmc2V0OworCisJYXNzZXJ0KCFGRElTS19JU19VTkRFRihzdGFydCkpOworCWFzc2VydCghRkRJU0tfSVNfVU5ERUYoc3RvcCkpOworCisJaWYgKGRvZXh0KSB7CisJCXN0cnVjdCBmZGlza19kb3NfbGFiZWwgKmwgPSBzZWxmX2xhYmVsKGN4dCk7CisJCXAgPSBwZS0+ZXhfZW50cnk7CisJCW9mZnNldCA9IGwtPmV4dF9vZmZzZXQ7CisJfSBlbHNlIHsKKwkJcCA9IHBlLT5wdF9lbnRyeTsKKwkJb2Zmc2V0ID0gcGUtPm9mZnNldDsKKwl9CisKKwlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IHNldHRpbmcgcGFydGl0aW9uICVkJXMsIG9mZnNldD0lenUsIHN0YXJ0PSV6dSwgc2l6ZT0lenUsIHN5c2lkPSUwMngiLAorCQkJCWksIGRvZXh0ID8gIiBbZXh0ZW5kZWRdIiA6ICIiLAorCQkJCShzaXplX3QpIG9mZnNldCwKKwkJCQkoc2l6ZV90KSAoc3RhcnQgLSAgb2Zmc2V0KSwKKwkJCQkoc2l6ZV90KSAoc3RvcCAtIHN0YXJ0ICsgMSksCisJCQkJc3lzaWQpKTsKKworCXAtPmJvb3RfaW5kID0gYm9vdCA/IEFDVElWRV9GTEFHIDogMDsKKwlwLT5zeXNfaW5kID0gc3lzaWQ7CisJZG9zX3BhcnRpdGlvbl9zZXRfc3RhcnQocCwgc3RhcnQgLSBvZmZzZXQpOworCWRvc19wYXJ0aXRpb25fc2V0X3NpemUocCwgc3RvcCAtIHN0YXJ0ICsgMSk7CisKKwlpZiAoaXNfZG9zX2NvbXBhdGlibGUoY3h0KSAmJiAoc3RhcnQvKGN4dC0+Z2VvbS5zZWN0b3JzKmN4dC0+Z2VvbS5oZWFkcykgPiAxMDIzKSkKKwkJc3RhcnQgPSBjeHQtPmdlb20uaGVhZHMqY3h0LT5nZW9tLnNlY3RvcnMqMTAyNCAtIDE7CisJc2V0X2hzYyhwLT5iaCwgcC0+YnMsIHAtPmJjLCBzdGFydCk7CisJaWYgKGlzX2Rvc19jb21wYXRpYmxlKGN4dCkgJiYgKHN0b3AvKGN4dC0+Z2VvbS5zZWN0b3JzKmN4dC0+Z2VvbS5oZWFkcykgPiAxMDIzKSkKKwkJc3RvcCA9IGN4dC0+Z2VvbS5oZWFkcypjeHQtPmdlb20uc2VjdG9ycyoxMDI0IC0gMTsKKwlzZXRfaHNjKHAtPmVoLCBwLT5lcywgcC0+ZWMsIHN0b3ApOworCXBhcnRpdGlvbl9zZXRfY2hhbmdlZChjeHQsIGksIDEpOworfQorCitzdGF0aWMgZmRpc2tfc2VjdG9yX3QgZ2V0X3VudXNlZF9zdGFydChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJCSBpbnQgcGFydF9uLCBmZGlza19zZWN0b3JfdCBzdGFydCwKKwkJCQkgZmRpc2tfc2VjdG9yX3QgZmlyc3RbXSwgZmRpc2tfc2VjdG9yX3QgbGFzdFtdKQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXg7IGkrKykgeworCQlmZGlza19zZWN0b3JfdCBsYXN0cGx1c29mZjsKKwkJc3RydWN0IHB0ZSAqcGUgPSBzZWxmX3B0ZShjeHQsIGkpOworCisJCWlmIChzdGFydCA9PSBwZS0+b2Zmc2V0KQorCQkJc3RhcnQgKz0gY3h0LT5maXJzdF9sYmE7CisJCWxhc3RwbHVzb2ZmID0gbGFzdFtpXSArICgocGFydF9uIDwgNCkgPyAwIDogY3h0LT5maXJzdF9sYmEpOworCQlpZiAoc3RhcnQgPj0gZmlyc3RbaV0gJiYgc3RhcnQgPD0gbGFzdHBsdXNvZmYpCisJCQlzdGFydCA9IGxhc3RwbHVzb2ZmICsgMTsKKwl9CisKKwlyZXR1cm4gc3RhcnQ7Cit9CisKK3N0YXRpYyB2b2lkIGZpbGxfYm91bmRzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQlmZGlza19zZWN0b3JfdCAqZmlyc3QsIGZkaXNrX3NlY3Rvcl90ICpsYXN0KQoreworCXNpemVfdCBpOworCXN0cnVjdCBwdGUgKnBlID0gc2VsZl9wdGUoY3h0LCAwKTsKKwlzdHJ1Y3QgZG9zX3BhcnRpdGlvbiAqcDsKKworCWZvciAoaSA9IDA7IGkgPCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4OyBwZSsrLGkrKykgeworCQlwID0gcGUtPnB0X2VudHJ5OworCQlpZiAoaXNfY2xlYXJlZF9wYXJ0aXRpb24ocCkgfHwgSVNfRVhURU5ERUQgKHAtPnN5c19pbmQpKSB7CisJCQlmaXJzdFtpXSA9IDB4ZmZmZmZmZmY7CisJCQlsYXN0W2ldID0gMDsKKwkJfSBlbHNlIHsKKwkJCWZpcnN0W2ldID0gZ2V0X2Fic19wYXJ0aXRpb25fc3RhcnQocGUpOworCQkJbGFzdFtpXSAgPSBnZXRfYWJzX3BhcnRpdGlvbl9lbmQocGUpOworCQl9CisJfQorfQorCitzdGF0aWMgaW50IGdldF9zdGFydF9mcm9tX3VzZXIoCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQkJZmRpc2tfc2VjdG9yX3QgKnN0YXJ0LAorCQkJCWZkaXNrX3NlY3Rvcl90IGxvdywKKwkJCQlmZGlza19zZWN0b3JfdCBkZmx0LAorCQkJCWZkaXNrX3NlY3Rvcl90IGxpbWl0LAorCQkJCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKQoreworCWFzc2VydChzdGFydCk7CisKKwkvKiB0cnkgdG8gdXNlIHRlbXBsYXRlIGZyb20gJ3BhJyAqLworCWlmIChwYSAmJiBwYS0+c3RhcnRfZm9sbG93X2RlZmF1bHQpCisJCSpzdGFydCA9IGRmbHQ7CisKKwllbHNlIGlmIChwYSAmJiBmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSkgeworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IHN0YXJ0OiB3YW50ZWQ9JWp1LCBsb3c9JWp1LCBsaW1pdD0lanUiLAorCQkJCSh1aW50bWF4X3QpIHBhLT5zdGFydCwgKHVpbnRtYXhfdCkgbG93LCAodWludG1heF90KSBsaW1pdCkpOworCQkqc3RhcnQgPSBwYS0+c3RhcnQ7CisJCWlmICgqc3RhcnQgPCBsb3cgfHwgKnN0YXJ0ID4gbGltaXQpIHsKKwkJCWZkaXNrX3dhcm54KGN4dCwgXygiU3RhcnQgc2VjdG9yICVqdSBvdXQgb2YgcmFuZ2UuIiksCisJCQkJCSh1aW50bWF4X3QpICpzdGFydCk7CisJCQlyZXR1cm4gLUVSQU5HRTsKKwkJfQorCX0gZWxzZSB7CisJCS8qIGFzayB1c2VyIGJ5IGRpYWxvZyAqLworCQlzdHJ1Y3QgZmRpc2tfYXNrICphc2sgPSBmZGlza19uZXdfYXNrKCk7CisJCWludCByYzsKKworCQlpZiAoIWFzaykKKwkJCXJldHVybiAtRU5PTUVNOworCQlmZGlza19hc2tfc2V0X3F1ZXJ5KGFzaywKKwkJCWZkaXNrX3VzZV9jeWxpbmRlcnMoY3h0KSA/CisJCQkJXygiRmlyc3QgY3lsaW5kZXIiKSA6IF8oIkZpcnN0IHNlY3RvciIpKTsKKwkJZmRpc2tfYXNrX3NldF90eXBlKGFzaywgRkRJU0tfQVNLVFlQRV9OVU1CRVIpOworCQlmZGlza19hc2tfbnVtYmVyX3NldF9sb3coYXNrLCBmZGlza19jcm91bmQoY3h0LCBsb3cpKTsKKwkJZmRpc2tfYXNrX251bWJlcl9zZXRfZGVmYXVsdChhc2ssIGZkaXNrX2Nyb3VuZChjeHQsIGRmbHQpKTsKKwkJZmRpc2tfYXNrX251bWJlcl9zZXRfaGlnaChhc2ssIGZkaXNrX2Nyb3VuZChjeHQsIGxpbWl0KSk7CisKKwkJcmMgPSBmZGlza19kb19hc2soY3h0LCBhc2spOworCQkqc3RhcnQgPSBmZGlza19hc2tfbnVtYmVyX2dldF9yZXN1bHQoYXNrKTsKKwkJZmRpc2tfdW5yZWZfYXNrKGFzayk7CisJCWlmIChyYykKKwkJCXJldHVybiByYzsKKwkJaWYgKGZkaXNrX3VzZV9jeWxpbmRlcnMoY3h0KSkgeworCQkgICAgICAgICpzdGFydCA9ICgqc3RhcnQgLSAxKQorCQkJCSogZmRpc2tfZ2V0X3VuaXRzX3Blcl9zZWN0b3IoY3h0KTsKKwkJCWlmICgqc3RhcnQgPCBsb3cpCisJCQkJKnN0YXJ0ID0gbG93OworCQl9CisJfQorCisJREJHKExBQkVMLCB1bF9kZWJ1ZygiRE9TOiBzdGFydCBpcyAlanUiLCAodWludG1heF90KSAqc3RhcnQpKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGZkaXNrX3NlY3Rvcl90IGdldF9wb3NzaWJsZV9sYXN0KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBuKQoreworCWZkaXNrX3NlY3Rvcl90IGxpbWl0OworCisJaWYgKG4gPj0gNCkgeworCQkvKiBsb2dpY2FsIHBhcnRpdGlvbnMgKi8KKwkJc3RydWN0IGZkaXNrX2Rvc19sYWJlbCAqbCA9IHNlbGZfbGFiZWwoY3h0KTsKKwkJc3RydWN0IHB0ZSAqZXh0X3BlID0gbC0+ZXh0X29mZnNldCA/IHNlbGZfcHRlKGN4dCwgbC0+ZXh0X2luZGV4KSA6IE5VTEw7CisKKwkJaWYgKCFleHRfcGUpCisJCQlyZXR1cm4gMDsKKwkJbGltaXQgPSBnZXRfYWJzX3BhcnRpdGlvbl9lbmQoZXh0X3BlKTsKKwl9IGVsc2UgeworCQkvKiBwcmltYXJ5IHBhcnRpdGlvbnMgKi8KKwkJaWYgKGZkaXNrX3VzZV9jeWxpbmRlcnMoY3h0KSB8fCAhY3h0LT50b3RhbF9zZWN0b3JzKQorCQkJbGltaXQgPSBjeHQtPmdlb20uaGVhZHMgKiBjeHQtPmdlb20uc2VjdG9ycyAqIGN4dC0+Z2VvbS5jeWxpbmRlcnMgLSAxOworCQllbHNlCisJCQlsaW1pdCA9IGN4dC0+dG90YWxfc2VjdG9ycyAtIDE7CisKKwkJaWYgKGxpbWl0ID4gVUlOVF9NQVgpCisJCQlsaW1pdCA9IFVJTlRfTUFYOworCX0KKworCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzogbGFzdCBwb3NzaWJsZSBzZWN0b3IgZm9yICMlenUgaXMgJWp1IiwKKwkJCQluLCAodWludG1heF90KSBsaW1pdCkpOworCXJldHVybiBsaW1pdDsKK30KKworLyogcmV0dXJucyBsYXN0IGZyZWUgc2VjdG9yIGZvciBhcmVhIGFkZHJlc3NlZCBieSBAc3RhcnQsIHRoZSBmaXJzdFtdIGFuZAorICogbGFzdFtdIGFyZSBmaWxsX2JvdW5kcygpIHJlc3VsdHMgKi8KK3N0YXRpYyBmZGlza19zZWN0b3JfdCBnZXRfdW51c2VkX2xhc3Qoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IG4sCisJCQkJZmRpc2tfc2VjdG9yX3Qgc3RhcnQsCisJCQkJZmRpc2tfc2VjdG9yX3QgZmlyc3RbXSkKK3sKKwlzaXplX3QgaTsKKwlmZGlza19zZWN0b3JfdCBsaW1pdCA9IGdldF9wb3NzaWJsZV9sYXN0KGN4dCwgbik7CisKKwlmb3IgKGkgPSAwOyBpIDwgY3h0LT5sYWJlbC0+bnBhcnRzX21heDsgaSsrKSB7CisJCXN0cnVjdCBwdGUgKnBlID0gc2VsZl9wdGUoY3h0LCBpKTsKKworCQlpZiAoc3RhcnQgPCBwZS0+b2Zmc2V0ICYmIGxpbWl0ID49IHBlLT5vZmZzZXQpCisJCQlsaW1pdCA9IHBlLT5vZmZzZXQgLSAxOworCQlpZiAoc3RhcnQgPCBmaXJzdFtpXSAmJiBsaW1pdCA+PSBmaXJzdFtpXSkKKwkJCWxpbWl0ID0gZmlyc3RbaV0gLSAxOworCX0KKworCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzogdW51c2VkIHNlY3RvciBmb3IgIyV6dSBpcyAlanUiLAorCQkJCW4sICh1aW50bWF4X3QpIGxpbWl0KSk7CisJcmV0dXJuIGxpbWl0OworfQorCitzdGF0aWMgaW50IGFkZF9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IG4sCisJCQkgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJaW50IHN5cywgcmVhZCA9IDAsIHJjLCBpc3JlbCA9IDA7CisJc2l6ZV90IGk7CisJc3RydWN0IGZkaXNrX2Rvc19sYWJlbCAqbCA9IHNlbGZfbGFiZWwoY3h0KTsKKwlzdHJ1Y3QgZG9zX3BhcnRpdGlvbiAqcCA9IHNlbGZfcGFydGl0aW9uKGN4dCwgbik7CisJc3RydWN0IHB0ZSAqZXh0X3BlID0gbC0+ZXh0X29mZnNldCA/IHNlbGZfcHRlKGN4dCwgbC0+ZXh0X2luZGV4KSA6IE5VTEw7CisJc3RydWN0IGZkaXNrX2FzayAqYXNrID0gTlVMTDsKKworCWZkaXNrX3NlY3Rvcl90IHN0YXJ0LCBzdG9wID0gMCwgbGltaXQsIHRlbXAsCisJCWZpcnN0W2N4dC0+bGFiZWwtPm5wYXJ0c19tYXhdLAorCQlsYXN0W2N4dC0+bGFiZWwtPm5wYXJ0c19tYXhdOworCisJREJHKExBQkVMLCB1bF9kZWJ1ZygiRE9TOiBhZGRpbmcgcGFydGl0aW9uICV6dSIsIG4pKTsKKworCXN5cyA9IHBhICYmIHBhLT50eXBlID8gcGEtPnR5cGUtPmNvZGUgOiBNQlJfTElOVVhfREFUQV9QQVJUSVRJT047CisKKwlpZiAoaXNfdXNlZF9wYXJ0aXRpb24ocCkpIHsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gICIKKwkJCSAgICAgICAgICAgIkRlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIpLAorCQkJCW4gKyAxKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCWZpbGxfYm91bmRzKGN4dCwgZmlyc3QsIGxhc3QpOworCWxpbWl0ID0gZ2V0X3Bvc3NpYmxlX2xhc3QoY3h0LCBuKTsKKworCWlmIChuIDwgNCkgeworCQlpZiAoY3h0LT5wYXJlbnQgJiYgZmRpc2tfaXNfbGFiZWwoY3h0LT5wYXJlbnQsIEdQVCkpCisJCQlzdGFydCA9IDE7CQkvKiBCYWQgYm95IG1vZGlmaWVzIGh5YnJpZCBNQlIgKi8KKwkJZWxzZSB7CisJCQlpZiAoY3h0LT5zY3JpcHQgJiYgcGEgJiYgZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydChwYSkKKwkJCSAgICAmJiBwYS0+c3RhcnQgPCBjeHQtPmZpcnN0X2xiYQorCQkJICAgICYmIHBhLT5zdGFydCA+PSAxKQorCQkJCWZkaXNrX3NldF9maXJzdF9sYmEoY3h0LCAxKTsKKworCQkJc3RhcnQgPSBjeHQtPmZpcnN0X2xiYTsKKwkJfQorCisJCWlmIChsLT5leHRfb2Zmc2V0KSB7CisJCQlhc3NlcnQoZXh0X3BlKTsKKwkJCWZpcnN0W2wtPmV4dF9pbmRleF0gPSBsLT5leHRfb2Zmc2V0OworCQkJbGFzdFtsLT5leHRfaW5kZXhdID0gZ2V0X2Fic19wYXJ0aXRpb25fZW5kKGV4dF9wZSk7CisJCX0KKwl9IGVsc2UgeworCQlhc3NlcnQoZXh0X3BlKTsKKworCQlpZiAoY3h0LT5zY3JpcHQgJiYgcGEgJiYgZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydChwYSkKKwkJICAgICYmIHBhLT5zdGFydCA+PSBsLT5leHRfb2Zmc2V0CisJCSAgICAmJiBwYS0+c3RhcnQgPCBsLT5leHRfb2Zmc2V0ICsgY3h0LT5maXJzdF9sYmEpCisJCQlmZGlza19zZXRfZmlyc3RfbGJhKGN4dCwgMSk7CisKKwkJc3RhcnQgPSBsLT5leHRfb2Zmc2V0ICsgY3h0LT5maXJzdF9sYmE7CisJfQorCisJaWYgKGZkaXNrX3VzZV9jeWxpbmRlcnMoY3h0KSkKKwkJZm9yIChpID0gMDsgaSA8IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXg7IGkrKykgeworCQkJZmlyc3RbaV0gPSAoZmRpc2tfY3JvdW5kKGN4dCwgZmlyc3RbaV0pIC0gMSkKKwkJCQkqIGZkaXNrX2dldF91bml0c19wZXJfc2VjdG9yKGN4dCk7CisJCX0KKworCS8qCisJICogQXNrIGZvciBmaXJzdCBzZWN0b3IKKwkgKi8KKwlkbyB7CisJCWZkaXNrX3NlY3Rvcl90IGRmbHQsIGFsaWduZWQ7CisKKwkJdGVtcCA9IHN0YXJ0OworCQlkZmx0ID0gc3RhcnQgPSBnZXRfdW51c2VkX3N0YXJ0KGN4dCwgbiwgc3RhcnQsIGZpcnN0LCBsYXN0KTsKKworCQlpZiAobiA+PSA0ICYmIHBhICYmIGZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpICYmIGN4dC0+c2NyaXB0CisJCSAgICAmJiBjeHQtPmZpcnN0X2xiYSA+IDEKKwkJICAgICYmIHRlbXAgPT0gc3RhcnQgLSBjeHQtPmZpcnN0X2xiYSkgeworCQkJZmRpc2tfc2V0X2ZpcnN0X2xiYShjeHQsIDEpOworCQkJc3RhcnQgPSBwYS0+c3RhcnQ7CisJCX0KKworCQkvKiB0aGUgZGVmYXVsdCBzZWN0b3Igc2hvdWxkIGJlIGFsaWduZWQgYW5kIHVudXNlZCAqLworCQlkbyB7CisJCQlhbGlnbmVkID0gZmRpc2tfYWxpZ25fbGJhX2luX3JhbmdlKGN4dCwgZGZsdCwgZGZsdCwgbGltaXQpOworCQkJZGZsdCA9IGdldF91bnVzZWRfc3RhcnQoY3h0LCBuLCBhbGlnbmVkLCBmaXJzdCwgbGFzdCk7CisJCX0gd2hpbGUgKGRmbHQgIT0gYWxpZ25lZCAmJiBkZmx0ID4gYWxpZ25lZCAmJiBkZmx0IDwgbGltaXQpOworCisJCWlmIChkZmx0ID49IGxpbWl0KQorCQkJZGZsdCA9IHN0YXJ0OworCQlpZiAoc3RhcnQgPiBsaW1pdCkKKwkJCWJyZWFrOworCQlpZiAoc3RhcnQgPj0gdGVtcCArIGZkaXNrX2dldF91bml0c19wZXJfc2VjdG9yKGN4dCkKKwkJICAgICYmIHJlYWQpIHsKKwkJCWZkaXNrX2luZm8oY3h0LCBfKCJTZWN0b3IgJWxsdSBpcyBhbHJlYWR5IGFsbG9jYXRlZC4iKSwKKwkJCQkJdGVtcCk7CisJCQl0ZW1wID0gc3RhcnQ7CisJCQlyZWFkID0gMDsKKwkJCWlmIChwYSAmJiAoZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydChwYSkgfHwKKwkJCQkgICBwYS0+c3RhcnRfZm9sbG93X2RlZmF1bHQpKQorCQkJCWJyZWFrOworCQl9CisKKwkJaWYgKCFyZWFkICYmIHN0YXJ0ID09IHRlbXApIHsKKwkJCXJjID0gZ2V0X3N0YXJ0X2Zyb21fdXNlcihjeHQsICZzdGFydCwgdGVtcCwgZGZsdCwgbGltaXQsIHBhKTsKKwkJCWlmIChyYykKKwkJCQlyZXR1cm4gcmM7CisJCQlyZWFkID0gMTsKKwkJfQorCX0gd2hpbGUgKHN0YXJ0ICE9IHRlbXAgfHwgIXJlYWQpOworCisJaWYgKG4gPT0gNCkgeworCQkvKiBUaGUgZmlyc3QgRUJSIGlzIHN0b3JlZCBhdCBiZWdpbiBvZiB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uICovCisJCXN0cnVjdCBwdGUgKnBlID0gc2VsZl9wdGUoY3h0LCBuKTsKKwkJcGUtPm9mZnNldCA9IGwtPmV4dF9vZmZzZXQ7CisKKwl9IGVsc2UgaWYgKG4gPiA0KSB7CisJCS8qIFRoZSBzZWNvbmQgKGFuZCBhbm90aGVyKSBFQlIgKi8KKwkJc3RydWN0IHB0ZSAqcGUgPSBzZWxmX3B0ZShjeHQsIG4pOworCisJCXBlLT5vZmZzZXQgPSBzdGFydCAtIGN4dC0+Zmlyc3RfbGJhOworCQlpZiAocGUtPm9mZnNldCA9PSBsLT5leHRfb2Zmc2V0KSB7IC8qIG11c3QgYmUgY29ycmVjdGVkICovCisJCQlwZS0+b2Zmc2V0Kys7CisJCQlpZiAoY3h0LT5maXJzdF9sYmEgPT0gMSkKKwkJCQlzdGFydCsrOworCQl9CisJfQorCisJbGltaXQgPSBnZXRfdW51c2VkX2xhc3QoY3h0LCBuLCBzdGFydCwgZmlyc3QpOworCisJaWYgKHN0YXJ0ID4gbGltaXQpIHsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlLiIpKTsKKwkJcmV0dXJuIC1FTk9TUEM7CisJfQorCisJLyoKKwkgKiBBc2sgZm9yIGxhc3Qgc2VjdG9yCisJICovCisJaWYgKGZkaXNrX2Nyb3VuZChjeHQsIHN0YXJ0KSA9PSBmZGlza19jcm91bmQoY3h0LCBsaW1pdCkpCisJCXN0b3AgPSBsaW1pdDsKKwllbHNlIGlmIChwYSAmJiBwYS0+ZW5kX2ZvbGxvd19kZWZhdWx0KQorCQlzdG9wID0gbGltaXQ7CisJZWxzZSBpZiAocGEgJiYgZmRpc2tfcGFydGl0aW9uX2hhc19zaXplKHBhKSkgeworCQlzdG9wID0gc3RhcnQgKyBwYS0+c2l6ZTsKKwkJaXNyZWwgPSBwYS0+c2l6ZV9leHBsaWNpdCA/IDAgOiAxOworCQlpZiAoIWlzcmVsICYmIHN0b3AgPiBzdGFydCkKKwkJCXN0b3AgLT0gMTsKKwl9IGVsc2UgeworCQkvKiBhc2sgdXNlciBieSBkaWFsb2cgKi8KKwkJZm9yICg7OykgeworCQkJaWYgKCFhc2spCisJCQkJYXNrID0gZmRpc2tfbmV3X2FzaygpOworCQkJZWxzZQorCQkJCWZkaXNrX3Jlc2V0X2Fzayhhc2spOworCQkJaWYgKCFhc2spCisJCQkJcmV0dXJuIC1FTk9NRU07CisJCQlmZGlza19hc2tfc2V0X3R5cGUoYXNrLCBGRElTS19BU0tUWVBFX09GRlNFVCk7CisKKwkJCWlmIChmZGlza191c2VfY3lsaW5kZXJzKGN4dCkpIHsKKwkJCQlmZGlza19hc2tfc2V0X3F1ZXJ5KGFzaywgXygiTGFzdCBjeWxpbmRlciwgK2N5bGluZGVycyBvciArc2l6ZXtLLE0sRyxULFB9IikpOworCQkJCWZkaXNrX2Fza19udW1iZXJfc2V0X3VuaXQoYXNrLAorCQkJCQkgICAgIGN4dC0+c2VjdG9yX3NpemUgKgorCQkJCQkgICAgIGZkaXNrX2dldF91bml0c19wZXJfc2VjdG9yKGN4dCkpOworCQkJfSBlbHNlIHsKKwkJCQlmZGlza19hc2tfc2V0X3F1ZXJ5KGFzaywgXygiTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0iKSk7CisJCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfdW5pdChhc2ssY3h0LT5zZWN0b3Jfc2l6ZSk7CisJCQl9CisKKwkJCWZkaXNrX2Fza19udW1iZXJfc2V0X2xvdyhhc2ssIGZkaXNrX2Nyb3VuZChjeHQsIHN0YXJ0KSk7CisJCQlmZGlza19hc2tfbnVtYmVyX3NldF9kZWZhdWx0KGFzaywgZmRpc2tfY3JvdW5kKGN4dCwgbGltaXQpKTsKKwkJCWZkaXNrX2Fza19udW1iZXJfc2V0X2hpZ2goYXNrLCBmZGlza19jcm91bmQoY3h0LCBsaW1pdCkpOworCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfYmFzZShhc2ssIGZkaXNrX2Nyb3VuZChjeHQsIHN0YXJ0KSk7CS8qIGJhc2UgZm9yIHJlbGF0aXZlIGlucHV0ICovCisKKwkJCXJjID0gZmRpc2tfZG9fYXNrKGN4dCwgYXNrKTsKKwkJCWlmIChyYykKKwkJCQlnb3RvIGRvbmU7CisKKwkJCXN0b3AgPSBmZGlza19hc2tfbnVtYmVyX2dldF9yZXN1bHQoYXNrKTsKKwkJCWlzcmVsID0gZmRpc2tfYXNrX251bWJlcl9pc19yZWxhdGl2ZShhc2spOworCQkJaWYgKGZkaXNrX3VzZV9jeWxpbmRlcnMoY3h0KSkgeworCQkJCXN0b3AgPSBzdG9wICogZmRpc2tfZ2V0X3VuaXRzX3Blcl9zZWN0b3IoY3h0KSAtIDE7CisJCQkJaWYgKHN0b3AgPmxpbWl0KQorCQkJCQlzdG9wID0gbGltaXQ7CisJCQl9CisKKwkJCWlmIChzdG9wID49IHN0YXJ0ICYmIHN0b3AgPD0gbGltaXQpCisJCQkJYnJlYWs7CisJCQlmZGlza193YXJueChjeHQsIF8oIlZhbHVlIG91dCBvZiByYW5nZS4iKSk7CisJCX0KKwl9CisKKwlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IHJhdyBzdG9wOiAlanUiLCAodWludG1heF90KSBzdG9wKSk7CisKKwlpZiAoc3RvcCA+IGxpbWl0KQorCQlzdG9wID0gbGltaXQ7CisKKwlpZiAoaXNyZWwgJiYgc3RvcCAtIHN0YXJ0IDwgKGN4dC0+Z3JhaW4gLyBmZGlza19nZXRfc2VjdG9yX3NpemUoY3h0KSkpIHsKKwkJLyogRG9uJ3QgdHJ5IHRvIGJlIHNtYXJ0IG9uIHZlcnkgc21hbGwgcGFydGl0aW9ucyBhbmQgZG9uJ3QgYWxpZ24gc28gc21hbGwgc2l6ZXMgKi8KKwkJaXNyZWwgPSAwOworCQlpZiAoc3RvcCA+IHN0YXJ0KQorCQkJc3RvcCAtPSAxOworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IGRvbid0IGFsaWduIGVuZCBvcyB0aW55IHBhcnRpdGlvbiBbc3RhcnQ9JWp1LCBzdG9wPSVqdSwgZ3JhaW49JWx1XSIsCisJCQkgICAgKHVpbnRtYXhfdClzdGFydCwgICh1aW50bWF4X3Qpc3RvcCwgY3h0LT5ncmFpbikpOworCX0KKworCWlmIChzdG9wIDwgbGltaXQgJiYgaXNyZWwgJiYgYWxpZ25tZW50X3JlcXVpcmVkKGN4dCkpIHsKKwkJLyogdGhlIGxhc3Qgc2VjdG9yIGhhcyBub3QgYmVlbiBleGFjdGx5IHJlcXVlc3RlZCAoYnV0CisJCSAqIGRlZmluZWQgYnkgK3NpemV7SyxNLEd9IGNvbnZlbnRpb24pLCBzbyBiZSBzbWFydCBhbmQKKwkJICogYWxpZ24gdGhlIGVuZCBvZiB0aGUgcGFydGl0aW9uLiBUaGUgbmV4dCBwYXJ0aXRpb24KKwkJICogd2lsbCBzdGFydCBhdCBwaHkuYmxvY2sgYm91bmRhcnkuCisJCSAqLworCQlzdG9wID0gZmRpc2tfYWxpZ25fbGJhX2luX3JhbmdlKGN4dCwgc3RvcCwgc3RhcnQsIGxpbWl0KTsKKwkJaWYgKHN0b3AgPiBzdGFydCkKKwkJCXN0b3AgLT0gMTsKKwkJaWYgKHN0b3AgPiBsaW1pdCkKKwkJCXN0b3AgPSBsaW1pdDsKKwkJREJHKExBQkVMLCB1bF9kZWJ1ZygiRE9TOiBhbGlnbmVkIHN0b3A6ICVqdSIsICh1aW50bWF4X3QpIHN0b3ApKTsKKwl9CisKKwlzZXRfcGFydGl0aW9uKGN4dCwgbiwgMCwgc3RhcnQsIHN0b3AsIHN5cywgZmRpc2tfcGFydGl0aW9uX2lzX2Jvb3RhYmxlKHBhKSk7CisJaWYgKG4gPiA0KSB7CisJCXN0cnVjdCBwdGUgKnBlID0gc2VsZl9wdGUoY3h0LCBuKTsKKwkJc2V0X3BhcnRpdGlvbihjeHQsIG4gLSAxLCAxLCBwZS0+b2Zmc2V0LCBzdG9wLAorCQkJCQlNQlJfRE9TX0VYVEVOREVEX1BBUlRJVElPTiwgMCk7CisJfQorCisJLyogcmVwb3J0ICovCisJeworCQlzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQgPQorCQkJZmRpc2tfbGFiZWxfZ2V0X3BhcnR0eXBlX2Zyb21fY29kZShjeHQtPmxhYmVsLCBzeXMpOworCQlmZGlza19pbmZvX25ld19wYXJ0aXRpb24oY3h0LCBuICsgMSwgc3RhcnQsIHN0b3AsIHQpOworCQlmZGlza191bnJlZl9wYXJ0dHlwZSh0KTsKKwl9CisKKworCWlmIChJU19FWFRFTkRFRChzeXMpKSB7CisJCXN0cnVjdCBwdGUgKnBlbiA9IHNlbGZfcHRlKGN4dCwgbik7CisKKwkJbC0+ZXh0X2luZGV4ID0gbjsKKwkJbC0+ZXh0X29mZnNldCA9IHN0YXJ0OworCQlwZW4tPmV4X2VudHJ5ID0gcDsKKwl9CisKKwlmZGlza19sYWJlbF9zZXRfY2hhbmdlZChjeHQtPmxhYmVsLCAxKTsKKwlyYyA9IDA7Citkb25lOgorCWZkaXNrX3VucmVmX2Fzayhhc2spOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBhZGRfbG9naWNhbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkgICAgICAgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsCisJCSAgICAgICBzaXplX3QgKnBhcnRubykKK3sKKwlzdHJ1Y3QgcHRlICpwZTsKKwlpbnQgcmM7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQocGFydG5vKTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KHNlbGZfbGFiZWwoY3h0KS0+ZXh0X29mZnNldCk7CisKKwlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IG5wYXJ0cyBtYXg6ICV6dSIsIGN4dC0+bGFiZWwtPm5wYXJ0c19tYXgpKTsKKwlwZSA9IHNlbGZfcHRlKGN4dCwgY3h0LT5sYWJlbC0+bnBhcnRzX21heCk7CisKKwlpZiAoIXBlLT5zZWN0b3JidWZmZXIpIHsKKwkJcGUtPnNlY3RvcmJ1ZmZlciA9IGNhbGxvYygxLCBjeHQtPnNlY3Rvcl9zaXplKTsKKwkJaWYgKCFwZS0+c2VjdG9yYnVmZmVyKQorCQkJcmV0dXJuIC1FTk9NRU07CisJCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzogbG9naWNhbDogJXp1OiBuZXcgRUJSIHNlY3RvciBidWZmZXIgJXAiLAorCQkJCQljeHQtPmxhYmVsLT5ucGFydHNfbWF4LCBwZS0+c2VjdG9yYnVmZmVyKSk7CisJCXBlLT5wcml2YXRlX3NlY3RvcmJ1ZmZlciA9IDE7CisJfQorCXBlLT5wdF9lbnRyeSA9IG1icl9nZXRfcGFydGl0aW9uKHBlLT5zZWN0b3JidWZmZXIsIDApOworCXBlLT5leF9lbnRyeSA9IHBlLT5wdF9lbnRyeSArIDE7CisJcGUtPm9mZnNldCA9IDA7CisJcGFydGl0aW9uX3NldF9jaGFuZ2VkKGN4dCwgY3h0LT5sYWJlbC0+bnBhcnRzX21heCwgMSk7CisKKwljeHQtPmxhYmVsLT5ucGFydHNfbWF4Kys7CisKKwkvKiB0aGlzIG1lc3NhZ2UgbWFrZXMgc2Vuc2Ugb25seSB3aGVuIHdlIHVzZSBleHRlbmRlZC9wcmltYXJ5L2xvZ2ljYWwKKwkgKiBkaWFsb2cuIFRoZSBkaWFsb2cgaXMgZGlzYWJsZSBmb3Igc2NyaXB0cywgc2VlIGRvc19hZGRfcGFydGl0aW9uKCkgKi8KKwlpZiAoIWN4dC0+c2NyaXB0KQorCQlmZGlza19pbmZvKGN4dCwgXygiQWRkaW5nIGxvZ2ljYWwgcGFydGl0aW9uICV6dSIpLAorCQkJCWN4dC0+bGFiZWwtPm5wYXJ0c19tYXgpOworCSpwYXJ0bm8gPSBjeHQtPmxhYmVsLT5ucGFydHNfbWF4IC0gMTsKKwlyYyA9IGFkZF9wYXJ0aXRpb24oY3h0LCAqcGFydG5vLCBwYSk7CisKKwlpZiAocmMpIHsKKwkJLyogcmVzZXQgb24gZXJyb3IgKi8KKwkJY3h0LT5sYWJlbC0+bnBhcnRzX21heC0tOworCQlwZS0+cHRfZW50cnkgPSBOVUxMOworCQlwZS0+ZXhfZW50cnkgPSBOVUxMOworCQlwZS0+b2Zmc2V0ID0gMDsKKwkJcGUtPmNoYW5nZWQgPSAwOworCX0KKworCXJldHVybiByYzsKK30KKworc3RhdGljIHZvaWQgY2hlY2soc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IG4sCisJICAgdW5zaWduZWQgaW50IGgsIHVuc2lnbmVkIGludCBzLCB1bnNpZ25lZCBpbnQgYywKKwkgICB1bnNpZ25lZCBpbnQgc3RhcnQpCit7CisJdW5zaWduZWQgaW50IHRvdGFsLCByZWFsX3MsIHJlYWxfYzsKKworCWlmICghaXNfZG9zX2NvbXBhdGlibGUoY3h0KSkKKwkJcmV0dXJuOworCisJcmVhbF9zID0gc2VjdG9yKHMpIC0gMTsKKwlyZWFsX2MgPSBjeWxpbmRlcihzLCBjKTsKKwl0b3RhbCA9IChyZWFsX2MgKiBjeHQtPmdlb20uaGVhZHMgKyBoKSAqIGN4dC0+Z2VvbS5zZWN0b3JzICsgcmVhbF9zOworCisJaWYgKCF0b3RhbCkKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJQYXJ0aXRpb24gJXp1OiBjb250YWlucyBzZWN0b3IgMCIpLCBuKTsKKwlpZiAoaCA+PSBjeHQtPmdlb20uaGVhZHMpCisJCWZkaXNrX3dhcm54KGN4dCwgXygiUGFydGl0aW9uICV6dTogaGVhZCAlZCBncmVhdGVyIHRoYW4gIgorCQkJCSAgICJtYXhpbXVtICVkIiksIG4sIGggKyAxLCBjeHQtPmdlb20uaGVhZHMpOworCWlmIChyZWFsX3MgPj0gY3h0LT5nZW9tLnNlY3RvcnMpCisJCWZkaXNrX3dhcm54KGN4dCwgXygiUGFydGl0aW9uICV6dTogc2VjdG9yICVkIGdyZWF0ZXIgdGhhbiAiCisJCQkJICAgIm1heGltdW0gJWxsdSIpLCBuLCBzLCBjeHQtPmdlb20uc2VjdG9ycyk7CisJaWYgKHJlYWxfYyA+PSBjeHQtPmdlb20uY3lsaW5kZXJzKQorCQlmZGlza193YXJueChjeHQsIF8oIlBhcnRpdGlvbiAlenU6IGN5bGluZGVyICVkIGdyZWF0ZXIgdGhhbiAiCisJCQkJICAgIm1heGltdW0gJWxsdSIpLAorCQkJCW4sIHJlYWxfYyArIDEsCisJCQkJY3h0LT5nZW9tLmN5bGluZGVycyk7CisKKwlpZiAoY3h0LT5nZW9tLmN5bGluZGVycyA8PSAxMDI0ICYmIHN0YXJ0ICE9IHRvdGFsKQorCQlmZGlza193YXJueChjeHQsIF8oIlBhcnRpdGlvbiAlenU6IHByZXZpb3VzIHNlY3RvcnMgJXUgIgorCQkJCSAgICJkaXNhZ3JlZXMgd2l0aCB0b3RhbCAldSIpLCBuLCBzdGFydCwgdG90YWwpOworfQorCisvKiBjaGVja19jb25zaXN0ZW5jeSgpIGFuZCBsb25nMmNocygpIGFkZGVkIFNhdCBNYXIgNiAxMjoyODoxNiAxOTkzLAorICogZmFpdGhAY3MudW5jLmVkdSwgYmFzZWQgb24gY29kZSBmcmFnbWVudHMgZnJvbSBwZmRpc2sgYnkgR29yZG9uIFcuIFJvc3MsCisgKiBKYW4uICAxOTkwICh2ZXJzaW9uIDEuMi4xIGJ5IEdvcmRvbiBXLiBSb3NzIEF1Zy4gMTk5MDsgTW9kaWZpZWQgYnkgUy4KKyAqIEx1YmtpbiBPY3QuICAxOTkxKS4gKi8KKworc3RhdGljIHZvaWQKK2xvbmcyY2hzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHVuc2lnbmVkIGxvbmcgbHMsCisJIHVuc2lnbmVkIGludCAqYywgdW5zaWduZWQgaW50ICpoLCB1bnNpZ25lZCBpbnQgKnMpIHsKKwlpbnQgc3BjID0gY3h0LT5nZW9tLmhlYWRzICogY3h0LT5nZW9tLnNlY3RvcnM7CisKKwkqYyA9IGxzIC8gc3BjOworCWxzID0gbHMgJSBzcGM7CisJKmggPSBscyAvIGN4dC0+Z2VvbS5zZWN0b3JzOworCSpzID0gbHMgJSBjeHQtPmdlb20uc2VjdG9ycyArIDE7CS8qIHNlY3RvcnMgY291bnQgZnJvbSAxICovCit9CisKK3N0YXRpYyB2b2lkIGNoZWNrX2NvbnNpc3RlbmN5KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHN0cnVjdCBkb3NfcGFydGl0aW9uICpwLAorCQkJICAgICAgc2l6ZV90IHBhcnRpdGlvbikKK3sKKwl1bnNpZ25lZCBpbnQgcGJjLCBwYmgsIHBiczsJLyogcGh5c2ljYWwgYmVnaW5uaW5nIGMsIGgsIHMgKi8KKwl1bnNpZ25lZCBpbnQgcGVjLCBwZWgsIHBlczsJLyogcGh5c2ljYWwgZW5kaW5nIGMsIGgsIHMgKi8KKwl1bnNpZ25lZCBpbnQgbGJjLCBsYmgsIGxiczsJLyogbG9naWNhbCBiZWdpbm5pbmcgYywgaCwgcyAqLworCXVuc2lnbmVkIGludCBsZWMsIGxlaCwgbGVzOwkvKiBsb2dpY2FsIGVuZGluZyBjLCBoLCBzICovCisKKwlpZiAoIWlzX2Rvc19jb21wYXRpYmxlKGN4dCkpCisJCXJldHVybjsKKworCWlmICghY3h0LT5nZW9tLmhlYWRzIHx8ICFjeHQtPmdlb20uc2VjdG9ycyB8fCAocGFydGl0aW9uID49IDQpKQorCQlyZXR1cm47CQkvKiBkbyBub3QgY2hlY2sgZXh0ZW5kZWQgcGFydGl0aW9ucyAqLworCisJLyogcGh5c2ljYWwgYmVnaW5uaW5nIGMsIGgsIHMgKi8KKwlwYmMgPSAocC0+YmMgJiAweGZmKSB8ICgocC0+YnMgPDwgMikgJiAweDMwMCk7CisJcGJoID0gcC0+Ymg7CisJcGJzID0gcC0+YnMgJiAweDNmOworCisJLyogcGh5c2ljYWwgZW5kaW5nIGMsIGgsIHMgKi8KKwlwZWMgPSAocC0+ZWMgJiAweGZmKSB8ICgocC0+ZXMgPDwgMikgJiAweDMwMCk7CisJcGVoID0gcC0+ZWg7CisJcGVzID0gcC0+ZXMgJiAweDNmOworCisJLyogY29tcHV0ZSBsb2dpY2FsIGJlZ2lubmluZyAoYywgaCwgcykgKi8KKwlsb25nMmNocyhjeHQsIGRvc19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHApLCAmbGJjLCAmbGJoLCAmbGJzKTsKKworCS8qIGNvbXB1dGUgbG9naWNhbCBlbmRpbmcgKGMsIGgsIHMpICovCisJbG9uZzJjaHMoY3h0LCBkb3NfcGFydGl0aW9uX2dldF9zdGFydChwKSArIGRvc19wYXJ0aXRpb25fZ2V0X3NpemUocCkgLSAxLCAmbGVjLCAmbGVoLCAmbGVzKTsKKworCS8qIFNhbWUgcGh5c2ljYWwgLyBsb2dpY2FsIGJlZ2lubmluZz8gKi8KKwlpZiAoY3h0LT5nZW9tLmN5bGluZGVycyA8PSAxMDI0CisJICAgICYmIChwYmMgIT0gbGJjIHx8IHBiaCAhPSBsYmggfHwgcGJzICE9IGxicykpIHsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCAiCisJCQkiYmVnaW5uaW5ncyAobm9uLUxpbnV4Pyk6ICIKKwkJCSJwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiKSwKKwkJCXBhcnRpdGlvbiArIDEsCisJCQlwYmMsIHBiaCwgcGJzLAorCQkJbGJjLCBsYmgsIGxicyk7CisJfQorCisJLyogU2FtZSBwaHlzaWNhbCAvIGxvZ2ljYWwgZW5kaW5nPyAqLworCWlmIChjeHQtPmdlb20uY3lsaW5kZXJzIDw9IDEwMjQKKwkgICAgJiYgKHBlYyAhPSBsZWMgfHwgcGVoICE9IGxlaCB8fCBwZXMgIT0gbGVzKSkgeworCQlmZGlza193YXJueChjeHQsIF8oIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsICIKKwkJCSJlbmRpbmdzOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiKSwKKwkJCXBhcnRpdGlvbiArIDEsCisJCQlwZWMsIHBlaCwgcGVzLAorCQkJbGVjLCBsZWgsIGxlcyk7CisJfQorCisJLyogRW5kaW5nIG9uIGN5bGluZGVyIGJvdW5kYXJ5PyAqLworCWlmIChwZWggIT0gKGN4dC0+Z2VvbS5oZWFkcyAtIDEpIHx8IHBlcyAhPSBjeHQtPmdlb20uc2VjdG9ycykgeworCQlmZGlza193YXJueChjeHQsIF8oIlBhcnRpdGlvbiAlenU6IGRvZXMgbm90IGVuZCBvbiAiCisJCQkJICAgImN5bGluZGVyIGJvdW5kYXJ5LiIpLAorCQkJcGFydGl0aW9uICsgMSk7CisJfQorfQorCitzdGF0aWMgaW50IGRvc192ZXJpZnlfZGlza2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc2l6ZV90IGksIGo7CisJZmRpc2tfc2VjdG9yX3QgdG90YWwgPSAxLCBuX3NlY3RvcnMgPSBjeHQtPnRvdGFsX3NlY3RvcnM7CisJZmRpc2tfc2VjdG9yX3QgZmlyc3RbY3h0LT5sYWJlbC0+bnBhcnRzX21heF0sCisJCSAgICAgICBsYXN0W2N4dC0+bGFiZWwtPm5wYXJ0c19tYXhdOworCXN0cnVjdCBkb3NfcGFydGl0aW9uICpwOworCXN0cnVjdCBmZGlza19kb3NfbGFiZWwgKmwgPSBzZWxmX2xhYmVsKGN4dCk7CisKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBET1MpKTsKKworCWZpbGxfYm91bmRzKGN4dCwgZmlyc3QsIGxhc3QpOworCWZvciAoaSA9IDA7IGkgPCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4OyBpKyspIHsKKwkJc3RydWN0IHB0ZSAqcGUgPSBzZWxmX3B0ZShjeHQsIGkpOworCisJCXAgPSBzZWxmX3BhcnRpdGlvbihjeHQsIGkpOworCQlpZiAoaXNfdXNlZF9wYXJ0aXRpb24ocCkgJiYgIUlTX0VYVEVOREVEKHAtPnN5c19pbmQpKSB7CisJCQljaGVja19jb25zaXN0ZW5jeShjeHQsIHAsIGkpOworCQkJaWYgKGdldF9hYnNfcGFydGl0aW9uX3N0YXJ0KHBlKSA8IGZpcnN0W2ldKQorCQkJCWZkaXNrX3dhcm54KGN4dCwgXygKKwkJCQkJIlBhcnRpdGlvbiAlenU6IGJhZCBzdGFydC1vZi1kYXRhLiIpLAorCQkJCQkgaSArIDEpOworCisJCQljaGVjayhjeHQsIGkgKyAxLCBwLT5laCwgcC0+ZXMsIHAtPmVjLCBsYXN0W2ldKTsKKwkJCXRvdGFsICs9IGxhc3RbaV0gKyAxIC0gZmlyc3RbaV07CisKKwkJCWlmIChpID09IDApCisJCQkJdG90YWwgKz0gZ2V0X2Fic19wYXJ0aXRpb25fc3RhcnQocGUpIC0gMTsKKworCQkJZm9yIChqID0gMDsgaiA8IGk7IGorKykgeworCQkJCWlmICgoZmlyc3RbaV0gPj0gZmlyc3Rbal0gJiYgZmlyc3RbaV0gPD0gbGFzdFtqXSkKKwkJCQkgICAgfHwgKChsYXN0W2ldIDw9IGxhc3Rbal0gJiYgbGFzdFtpXSA+PSBmaXJzdFtqXSkpKSB7CisKKwkJCQkJZmRpc2tfd2FybngoY3h0LCBfKCJQYXJ0aXRpb24gJXp1OiAiCisJCQkJCQkib3ZlcmxhcHMgcGFydGl0aW9uICV6dS4iKSwKKwkJCQkJCWogKyAxLCBpICsgMSk7CisKKwkJCQkJdG90YWwgKz0gZmlyc3RbaV0gPj0gZmlyc3Rbal0gPworCQkJCQkJZmlyc3RbaV0gOiBmaXJzdFtqXTsKKwkJCQkJdG90YWwgLT0gbGFzdFtpXSA8PSBsYXN0W2pdID8KKwkJCQkJCWxhc3RbaV0gOiBsYXN0W2pdOworCQkJCX0KKwkJCX0KKwkJfQorCX0KKworCWlmIChsLT5leHRfb2Zmc2V0KSB7CisJCWZkaXNrX3NlY3Rvcl90IGVfbGFzdDsKKwkJc3RydWN0IHB0ZSAqZXh0X3BlID0gc2VsZl9wdGUoY3h0LCBsLT5leHRfaW5kZXgpOworCisJCWVfbGFzdCA9IGdldF9hYnNfcGFydGl0aW9uX2VuZChleHRfcGUpOworCisJCWZvciAoaSA9IDQ7IGkgPCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4OyBpKyspIHsKKwkJCXRvdGFsKys7CisJCQlwID0gc2VsZl9wYXJ0aXRpb24oY3h0LCBpKTsKKworCQkJaWYgKCFwLT5zeXNfaW5kKSB7CisJCQkJaWYgKGkgIT0gNCB8fCBpICsgMSA8IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXgpCisJCQkJCWZkaXNrX3dhcm54KGN4dCwKKwkJCQkJCV8oIlBhcnRpdGlvbiAlenU6IGVtcHR5LiIpLAorCQkJCQkJaSArIDEpOworCQkJfSBlbHNlIGlmIChmaXJzdFtpXSA8IGwtPmV4dF9vZmZzZXQKKwkJCQkgICB8fCBsYXN0W2ldID4gZV9sYXN0KSB7CisKKwkJCQlmZGlza193YXJueChjeHQsIF8oIkxvZ2ljYWwgcGFydGl0aW9uICV6dTogIgorCQkJCQkibm90IGVudGlyZWx5IGluIHBhcnRpdGlvbiAlenUuIiksCisJCQkJCWkgKyAxLCBsLT5leHRfaW5kZXggKyAxKTsKKwkJCX0KKwkJfQorCX0KKworCWlmICh0b3RhbCA+IG5fc2VjdG9ycykKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJUb3RhbCBhbGxvY2F0ZWQgc2VjdG9ycyAlbGx1IGdyZWF0ZXIgIgorCQkJInRoYW4gdGhlIG1heGltdW0gJWxsdS4iKSwgdG90YWwsIG5fc2VjdG9ycyk7CisJZWxzZSBpZiAodG90YWwgPCBuX3NlY3RvcnMpCisJCWZkaXNrX3dhcm54KGN4dCwgXygiUmVtYWluaW5nICVsbGQgdW5hbGxvY2F0ZWQgJWxkLWJ5dGUgIgorCQkJInNlY3RvcnMuIiksIG5fc2VjdG9ycyAtIHRvdGFsLCBjeHQtPnNlY3Rvcl9zaXplKTsKKworCXJldHVybiAwOworfQorCisvKgorICogQXNrIHRoZSB1c2VyIGZvciBuZXcgcGFydGl0aW9uIHR5cGUgaW5mb3JtYXRpb24gKGxvZ2ljYWwsIGV4dGVuZGVkKS4KKyAqIFRoaXMgZnVuY3Rpb24gY2FsbHMgdGhlIGFjdHVhbCBwYXJ0aXRpb24gYWRkaW5nIGxvZ2ljIC0gYWRkX3BhcnRpdGlvbi4KKyAqCisgKiBBUEkgY2FsbGJhY2suCisgKi8KK3N0YXRpYyBpbnQgZG9zX2FkZF9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCSAgICAgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsCisJCQkgICAgIHNpemVfdCAqcGFydG5vKQoreworCXNpemVfdCBpLCBmcmVlX3ByaW1hcnkgPSAwLCBmcmVlX3NlY3RvcnMgPSAwOworCWZkaXNrX3NlY3Rvcl90IGxhc3QgPSAwLCBncmFpbjsKKwlpbnQgcmMgPSAwOworCXN0cnVjdCBmZGlza19kb3NfbGFiZWwgKmw7CisJc3RydWN0IHB0ZSAqZXh0X3BlOworCXNpemVfdCByZXM7CQkvKiBwYXJ0bm8gKi8KKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBET1MpKTsKKworCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzogbmV3IHBhcnRpdGlvbiB3YW50ZWQiKSk7CisKKwlsID0gc2VsZl9sYWJlbChjeHQpOworCWV4dF9wZSA9IGwtPmV4dF9vZmZzZXQgPyBzZWxmX3B0ZShjeHQsIGwtPmV4dF9pbmRleCkgOiBOVUxMOworCisJLyoKKwkgKiBwYXJ0aXRpb24gdGVtcGxhdGUgKEBwYSkgYmFzZWQgcGFydGl0aW9uaW5nCisJICovCisKKwkvKiBwYSBzcGVjaWZpZXMgc3RhcnQgd2l0aGluIGV4dGVuZGVkIHBhcnRpdGlvbiwgYWRkIGxvZ2ljYWwgKi8KKwlpZiAocGEgJiYgZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydChwYSkgJiYgZXh0X3BlCisJICAgICYmIHBhLT5zdGFydCA+PSBsLT5leHRfb2Zmc2V0CisJICAgICYmIHBhLT5zdGFydCA8PSBnZXRfYWJzX3BhcnRpdGlvbl9lbmQoZXh0X3BlKSkgeworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IHBhIHRlbXBsYXRlICVwOiBhZGQgbG9naWNhbCIsIHBhKSk7CisJCXJjID0gYWRkX2xvZ2ljYWwoY3h0LCBwYSwgJnJlcyk7CisJCWdvdG8gZG9uZTsKKworCS8qIHBhIHNwZWNpZmllcyB0aGF0IGV4dGVuZGVkIHBhcnRpdGlvbiBpcyB3YW50ZWQgKi8KKwl9IGVsc2UgaWYgKHBhICYmIHBhLT50eXBlICYmIElTX0VYVEVOREVEKHBhLT50eXBlLT5jb2RlKSkgeworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IHBhIHRlbXBsYXRlICVwOiBhZGQgZXh0ZW5kZWQiLCBwYSkpOworCQlpZiAobC0+ZXh0X29mZnNldCkgeworCQkJZmRpc2tfd2FybngoY3h0LCBfKCJFeHRlbmRlZCBwYXJ0aXRpb24gYWxyZWFkeSBleGlzdHMuIikpOworCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKwkJcmMgPSBnZXRfcGFydGl0aW9uX3VudXNlZF9wcmltYXJ5KGN4dCwgcGEsICZyZXMpOworCQlpZiAocmMgPT0gMCkgeworCQkJcmMgPSBhZGRfcGFydGl0aW9uKGN4dCwgcmVzLCBwYSk7CisJCQlnb3RvIGRvbmU7CisJCX0KKworCS8qIHBhIHNwZWNpZmllcyBzdGFydCwgYnV0IG91dHNpZGUgZXh0ZW5kZWQgcGFydGl0aW9uICovCisJfSBlbHNlIGlmIChwYSAmJiBmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSAmJiBsLT5leHRfb2Zmc2V0KSB7CisJCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzogcGEgdGVtcGxhdGUgJXA6IGFkZCBwcmltYXJ5IiwgcGEpKTsKKwkJcmMgPSBnZXRfcGFydGl0aW9uX3VudXNlZF9wcmltYXJ5KGN4dCwgcGEsICZyZXMpOworCQlpZiAocmMgPT0gMCkgeworCQkJcmMgPSBhZGRfcGFydGl0aW9uKGN4dCwgcmVzLCBwYSk7CisJCQlnb3RvIGRvbmU7CisJCX0KKwl9CisKKwkvKgorCSAqIGRpYWxvZyBkcml2ZW4gcGFydGl0aW9uaW5nIChpdCBkb2VzIG5vdCBtZWFuIHRoYXQgQHBhIHRlbXBsYXRlIGlzCisJICogY29tcGxldGVseSBpZ25vcmVkISkKKwkgKi8KKworCS8qIGNoZWNrIGlmIHRoZXJlIGlzIHNwYWNlIGZvciBwcmltYXJ5IHBhcnRpdGlvbiAqLworCWdyYWluID0gY3h0LT5ncmFpbiA+IGN4dC0+c2VjdG9yX3NpemUgPyBjeHQtPmdyYWluIC8gY3h0LT5zZWN0b3Jfc2l6ZSA6IDE7CisJbGFzdCA9IGN4dC0+Zmlyc3RfbGJhOworCisJZm9yIChpID0gMDsgaSA8IDQ7IGkrKykgeworCQlzdHJ1Y3QgZG9zX3BhcnRpdGlvbiAqcCA9IHNlbGZfcGFydGl0aW9uKGN4dCwgaSk7CisKKwkJaWYgKGlzX3VzZWRfcGFydGl0aW9uKHApKSB7CisJCQlmZGlza19zZWN0b3JfdCBzdGFydCA9IGRvc19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHApOworCQkJaWYgKGxhc3QgKyBncmFpbiA8PSBzdGFydCkKKwkJCQlmcmVlX3NlY3RvcnMgPSAxOworCQkJbGFzdCA9IHN0YXJ0ICsgZG9zX3BhcnRpdGlvbl9nZXRfc2l6ZShwKTsKKwkJfSBlbHNlCisJCQlmcmVlX3ByaW1hcnkrKzsKKwl9CisJaWYgKGxhc3QgKyBncmFpbiA8IGN4dC0+dG90YWxfc2VjdG9ycyAtIDEpCisJCWZyZWVfc2VjdG9ycyA9IDE7CisKKwlpZiAoIWZyZWVfcHJpbWFyeSAmJiBjeHQtPmxhYmVsLT5ucGFydHNfbWF4ID49IE1BWElNVU1fUEFSVFMpIHsKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIlRoZSBtYXhpbXVtIG51bWJlciBvZiBwYXJ0aXRpb25zIGhhcyAiCisJCQkJICAiYmVlbiBjcmVhdGVkLiIpKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCXJjID0gMTsKKworCWlmICghZnJlZV9wcmltYXJ5IHx8ICFmcmVlX3NlY3RvcnMpIHsKKwkJREJHKExBQkVMLCB1bF9kZWJ1ZygiRE9TOiBwcmltYXJ5IGltcG9zc2libGUsIGFkZCBsb2dpY2FsIikpOworCQlpZiAobC0+ZXh0X29mZnNldCkgeworCQkJaWYgKCFwYSB8fCBmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSkgeworCQkJCWNvbnN0IGNoYXIgKm1zZzsKKwkJCQlpZiAoIWZyZWVfcHJpbWFyeSkKKwkJCQkJbXNnID0gXygiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiIpOworCQkJCWVsc2UKKwkJCQkJbXNnID0gIF8oIkFsbCBzcGFjZSBmb3IgcHJpbWFyeSBwYXJ0aXRpb25zIGlzIGluIHVzZS4iKTsKKworCQkJCWlmIChwYSAmJiBmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSkgeworCQkJCQlmZGlza193YXJueChjeHQsIG1zZyk7CisJCQkJCXJldHVybiAtRUlOVkFMOworCQkJCX0gZWxzZQorCQkJCQlmZGlza19pbmZvKGN4dCwgbXNnKTsKKwkJCX0KKwkJCXJjID0gYWRkX2xvZ2ljYWwoY3h0LCBwYSwgJnJlcyk7CisJCX0gZWxzZSB7CisJCQlpZiAoZnJlZV9wcmltYXJ5KQorCQkJCWZkaXNrX2luZm8oY3h0LCBfKCJBbGwgc3BhY2UgZm9yIHByaW1hcnkgcGFydGl0aW9ucyBpcyBpbiB1c2UuIikpOworCQkJZWxzZQorCQkJLyogVFJBTlNMQVRPUlM6IFRyeSB0byBrZWVwIHRoaXMgd2l0aGluIDgwIGNoYXJhY3RlcnMuICovCisJCQkJZmRpc2tfaW5mbyhjeHQsIF8oIlRvIGNyZWF0ZSBtb3JlIHBhcnRpdGlvbnMsIGZpcnN0IHJlcGxhY2UgIgorCQkJCQkgICJhIHByaW1hcnkgd2l0aCBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIikpOworCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKwl9IGVsc2UgaWYgKGN4dC0+bGFiZWwtPm5wYXJ0c19tYXggPj0gTUFYSU1VTV9QQVJUUykgeworCQlmZGlza19pbmZvKGN4dCwgXygiQWxsIGxvZ2ljYWwgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiAiCisJCQkJICAiQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb24uIikpOworCQlyYyA9IGdldF9wYXJ0aXRpb25fdW51c2VkX3ByaW1hcnkoY3h0LCBwYSwgJnJlcyk7CisJCWlmIChyYyA9PSAwKQorCQkJcmMgPSBhZGRfcGFydGl0aW9uKGN4dCwgcmVzLCBwYSk7CisJfSBlbHNlIHsKKwkJY2hhciBoaW50W0JVRlNJWl07CisJCXN0cnVjdCBmZGlza19hc2sgKmFzazsKKwkJaW50IGM7CisKKwkJLyogdGhlIGRlZmF1bHQgbGF5b3V0IGZvciBzY3JpcHRzIGlzIHRvIGNyZWF0ZSBwcmltYXJ5IHBhcnRpdGlvbnMgKi8KKwkJaWYgKGN4dC0+c2NyaXB0KSB7CisJCQlyYyA9IGdldF9wYXJ0aXRpb25fdW51c2VkX3ByaW1hcnkoY3h0LCBwYSwgJnJlcyk7CisJCQlpZiAocmMgPT0gMCkKKwkJCQlyYyA9IGFkZF9wYXJ0aXRpb24oY3h0LCByZXMsIHBhKTsKKwkJCWdvdG8gZG9uZTsKKwkJfQorCisJCWFzayA9IGZkaXNrX25ld19hc2soKTsKKwkJaWYgKCFhc2spCisJCQlyZXR1cm4gLUVOT01FTTsKKwkJZmRpc2tfYXNrX3NldF90eXBlKGFzaywgRkRJU0tfQVNLVFlQRV9NRU5VKTsKKwkJZmRpc2tfYXNrX3NldF9xdWVyeShhc2ssIF8oIlBhcnRpdGlvbiB0eXBlIikpOworCQlmZGlza19hc2tfbWVudV9zZXRfZGVmYXVsdChhc2ssIGZyZWVfcHJpbWFyeSA9PSAxCisJCQkJCQkmJiAhbC0+ZXh0X29mZnNldCA/ICdlJyA6ICdwJyk7CisJCXNucHJpbnRmKGhpbnQsIHNpemVvZihoaW50KSwKKwkJCQlfKCIlenUgcHJpbWFyeSwgJWQgZXh0ZW5kZWQsICV6dSBmcmVlIiksCisJCQkJNCAtIChsLT5leHRfb2Zmc2V0ID8gMSA6IDApIC0gZnJlZV9wcmltYXJ5LAorCQkJCWwtPmV4dF9vZmZzZXQgPyAxIDogMCwKKwkJCQlmcmVlX3ByaW1hcnkpOworCisJCWZkaXNrX2Fza19tZW51X2FkZF9pdGVtKGFzaywgJ3AnLCBfKCJwcmltYXJ5IiksIGhpbnQpOworCQlpZiAoIWwtPmV4dF9vZmZzZXQpCisJCQlmZGlza19hc2tfbWVudV9hZGRfaXRlbShhc2ssICdlJywgXygiZXh0ZW5kZWQiKSwgXygiY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMiKSk7CisJCWVsc2UKKwkJCWZkaXNrX2Fza19tZW51X2FkZF9pdGVtKGFzaywgJ2wnLCBfKCJsb2dpY2FsIiksIF8oIm51bWJlcmVkIGZyb20gNSIpKTsKKworCQlyYyA9IGZkaXNrX2RvX2FzayhjeHQsIGFzayk7CisJCWlmIChyYykKKwkJCXJldHVybiByYzsKKwkJZmRpc2tfYXNrX21lbnVfZ2V0X3Jlc3VsdChhc2ssICZjKTsKKwkJZmRpc2tfdW5yZWZfYXNrKGFzayk7CisKKwkJaWYgKGMgPT0gJ3AnKSB7CisJCQlyYyA9IGdldF9wYXJ0aXRpb25fdW51c2VkX3ByaW1hcnkoY3h0LCBwYSwgJnJlcyk7CisJCQlpZiAocmMgPT0gMCkKKwkJCQlyYyA9IGFkZF9wYXJ0aXRpb24oY3h0LCByZXMsIHBhKTsKKwkJCWdvdG8gZG9uZTsKKwkJfSBlbHNlIGlmIChjID09ICdsJyAmJiBsLT5leHRfb2Zmc2V0KSB7CisJCQlyYyA9IGFkZF9sb2dpY2FsKGN4dCwgcGEsICZyZXMpOworCQkJZ290byBkb25lOworCQl9IGVsc2UgaWYgKGMgPT0gJ2UnICYmICFsLT5leHRfb2Zmc2V0KSB7CisJCQlyYyA9IGdldF9wYXJ0aXRpb25fdW51c2VkX3ByaW1hcnkoY3h0LCBwYSwgJnJlcyk7CisJCQlpZiAocmMgPT0gMCkgeworCQkJCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnhwYSA9IE5VTEw7CisJCQkJc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0OworCisJCQkJdCA9IGZkaXNrX2xhYmVsX2dldF9wYXJ0dHlwZV9mcm9tX2NvZGUoY3h0LT5sYWJlbCwKKwkJCQkJCU1CUl9ET1NfRVhURU5ERURfUEFSVElUSU9OKTsKKwkJCQlpZiAoIXBhKSB7CisJCQkJCXBhID0geHBhID0gZmRpc2tfbmV3X3BhcnRpdGlvbigpOworCQkJCQlpZiAoIXhwYSkKKwkJCQkJCXJldHVybiAtRU5PTUVNOworCQkJCX0KKwkJCQlmZGlza19wYXJ0aXRpb25fc2V0X3R5cGUocGEsIHQpOworCQkJCXJjID0gYWRkX3BhcnRpdGlvbihjeHQsIHJlcywgcGEpOworCQkJCWlmICh4cGEpIHsKKwkJCQkJZmRpc2tfdW5yZWZfcGFydGl0aW9uKHhwYSk7CisJCQkJCXBhID0gTlVMTDsKKwkJCQl9CisJCQl9CisJCQlnb3RvIGRvbmU7CisJCX0gZWxzZQorCQkJZmRpc2tfd2FybngoY3h0LCBfKCJJbnZhbGlkIHBhcnRpdGlvbiB0eXBlIGAlYycuIiksIGMpOworCX0KK2RvbmU6CisJaWYgKHJjID09IDApIHsKKwkJY3h0LT5sYWJlbC0+bnBhcnRzX2N1cisrOworCQlpZiAocGFydG5vKQorCQkJKnBhcnRubyA9IHJlczsKKwl9CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHdyaXRlX3NlY3RvcihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBmZGlza19zZWN0b3JfdCBzZWNubywKKwkJCSAgICAgICB1bnNpZ25lZCBjaGFyICpidWYpCit7CisJaW50IHJjOworCisJcmMgPSBzZWVrX3NlY3RvcihjeHQsIHNlY25vKTsKKwlpZiAocmMgIT0gMCkgeworCQlmZGlza193YXJuKGN4dCwgXygiQ2Fubm90IHdyaXRlIHNlY3RvciAlamQ6IHNlZWsgZmFpbGVkIiksCisJCQkJKHVpbnRtYXhfdCkgc2Vjbm8pOworCQlyZXR1cm4gcmM7CisJfQorCisJREJHKExBQkVMLCB1bF9kZWJ1ZygiRE9TOiB3cml0aW5nIHRvIHNlY3RvciAlanUiLCAodWludG1heF90KSBzZWNubykpOworCisJaWYgKHdyaXRlKGN4dC0+ZGV2X2ZkLCBidWYsIGN4dC0+c2VjdG9yX3NpemUpICE9IChzc2l6ZV90KSBjeHQtPnNlY3Rvcl9zaXplKQorCQlyZXR1cm4gLWVycm5vOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGRvc193cml0ZV9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgZmRpc2tfZG9zX2xhYmVsICpsID0gc2VsZl9sYWJlbChjeHQpOworCXNpemVfdCBpOworCWludCByYyA9IDAsIG1icl9jaGFuZ2VkID0gMDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBET1MpKTsKKworCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzogd3JpdGUgUFQgcmVxdWVzdGVkIFtsYWJlbC1jaGFuZ2VkOiAlZCwgbm9uLXB0LWNoYW5nZWQ6ICVkXSIsCisJCQkJY3h0LT5sYWJlbC0+Y2hhbmdlZCwgbC0+bm9uX3B0X2NoYW5nZWQpKTsKKworCW1icl9jaGFuZ2VkID0gbC0+bm9uX3B0X2NoYW5nZWQ7CisKKwkvKiBNQlIgKHByaW1hcnkgcGFydGl0aW9ucykgKi8KKwlpZiAoIW1icl9jaGFuZ2VkKSB7CisJCWZvciAoaSA9IDA7IGkgPCA0OyBpKyspIHsKKwkJCXN0cnVjdCBwdGUgKnBlID0gc2VsZl9wdGUoY3h0LCBpKTsKKwkJCWlmIChwZS0+Y2hhbmdlZCkKKwkJCQltYnJfY2hhbmdlZCA9IDE7CisJCX0KKwl9CisJaWYgKG1icl9jaGFuZ2VkKSB7CisJCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzogTUJSIGNoYW5nZWQsIHdyaXRpbmciKSk7CisJCW1icl9zZXRfbWFnaWMoY3h0LT5maXJzdHNlY3Rvcik7CisJCXJjID0gd3JpdGVfc2VjdG9yKGN4dCwgMCwgY3h0LT5maXJzdHNlY3Rvcik7CisJCWlmIChyYykKKwkJCWdvdG8gZG9uZTsKKwl9CisKKwlpZiAoY3h0LT5sYWJlbC0+bnBhcnRzX21heCA8PSA0ICYmIGwtPmV4dF9vZmZzZXQpIHsKKwkJLyogd2UgaGF2ZSBlbXB0eSBleHRlbmRlZCBwYXJ0aXRpb24sIGNoZWNrIGlmIHRoZSBwYXJ0aXRpb24gaGFzCisJCSAqIGJlZW4gbW9kaWZpZWQgYW5kIHRoZW4gY2xlYW51cCBwb3NzaWJsZSByZW1haW5pbmcgRUJSICAqLworCQlzdHJ1Y3QgcHRlICpwZSA9IHNlbGZfcHRlKGN4dCwgbC0+ZXh0X2luZGV4KTsKKwkJdW5zaWduZWQgY2hhciBlbXB0eVs1MTJdID0geyAwIH07CisJCWZkaXNrX3NlY3Rvcl90IG9mZiA9IHBlID8gZ2V0X2Fic19wYXJ0aXRpb25fc3RhcnQocGUpIDogMDsKKworCQlpZiAob2ZmICYmIHBlLT5jaGFuZ2VkKSB7CisJCQltYnJfc2V0X21hZ2ljKGVtcHR5KTsKKwkJCXdyaXRlX3NlY3RvcihjeHQsIG9mZiwgZW1wdHkpOworCQl9CisJfQorCisJLyogRUJSIChsb2dpY2FsIHBhcnRpdGlvbnMpICovCisJZm9yIChpID0gNDsgaSA8IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXg7IGkrKykgeworCQlzdHJ1Y3QgcHRlICpwZSA9IHNlbGZfcHRlKGN4dCwgaSk7CisKKwkJaWYgKCFwZS0+Y2hhbmdlZCB8fCAhcGUtPm9mZnNldCB8fCAhcGUtPnNlY3RvcmJ1ZmZlcikKKwkJCWNvbnRpbnVlOworCisJCW1icl9zZXRfbWFnaWMocGUtPnNlY3RvcmJ1ZmZlcik7CisJCXJjID0gd3JpdGVfc2VjdG9yKGN4dCwgcGUtPm9mZnNldCwgcGUtPnNlY3RvcmJ1ZmZlcik7CisJCWlmIChyYykKKwkJCWdvdG8gZG9uZTsKKwl9CisKK2RvbmU6CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IGRvc19sb2NhdGVfZGlza2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGludCBuLAorCQljb25zdCBjaGFyICoqbmFtZSwgdWludDY0X3QgKm9mZnNldCwgc2l6ZV90ICpzaXplKQoreworCWFzc2VydChjeHQpOworCisJKm5hbWUgPSBOVUxMOworCSpvZmZzZXQgPSAwOworCSpzaXplID0gMDsKKworCXN3aXRjaCAobikgeworCWNhc2UgMDoKKwkJKm5hbWUgPSAiTUJSIjsKKwkJKm9mZnNldCA9IDA7CisJCSpzaXplID0gNTEyOworCQlicmVhazsKKwlkZWZhdWx0OgorCQkvKiBleHRlbmRlZCBwYXJ0aXRpb25zICovCisJCWlmICgoc2l6ZV90KW4gLSAxICsgNCA8IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXgpIHsKKwkJCXN0cnVjdCBwdGUgKnBlID0gc2VsZl9wdGUoY3h0LCBuIC0gMSArIDQpOworCisJCQlhc3NlcnQocGUtPnByaXZhdGVfc2VjdG9yYnVmZmVyKTsKKworCQkJKm5hbWUgPSAiRUJSIjsKKwkJCSpvZmZzZXQgPSAodWludDY0X3QpIHBlLT5vZmZzZXQgKiBjeHQtPnNlY3Rvcl9zaXplOworCQkJKnNpemUgPSA1MTI7CisJCX0gZWxzZQorCQkJcmV0dXJuIDE7CisJCWJyZWFrOworCX0KKworCXJldHVybiAwOworfQorCisvKgorICogQ2hlY2sgd2hldGhlciBwYXJ0aXRpb24gZW50cmllcyBhcmUgb3JkZXJlZCBieSB0aGVpciBzdGFydGluZyBwb3NpdGlvbnMuCisgKiBSZXR1cm4gMCBpZiBPSy4gUmV0dXJuIGkgaWYgcGFydGl0aW9uIGkgc2hvdWxkIGhhdmUgYmVlbiBlYXJsaWVyLgorICogVHdvIHNlcGFyYXRlIGNoZWNrczogcHJpbWFyeSBhbmQgbG9naWNhbCBwYXJ0aXRpb25zLgorICovCitzdGF0aWMgaW50IHdyb25nX3Bfb3JkZXIoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90ICpwcmV2KQoreworCXNpemVfdCBsYXN0X3Bfc3RhcnRfcG9zID0gMCwgcF9zdGFydF9wb3M7CisJc2l6ZV90IGksIGxhc3RfaSA9IDA7CisKKwlmb3IgKGkgPSAwIDsgaSA8IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXg7IGkrKykgeworCisJCXN0cnVjdCBwdGUgKnBlID0gc2VsZl9wdGUoY3h0LCBpKTsKKwkJc3RydWN0IGRvc19wYXJ0aXRpb24gKnAgPSBwZS0+cHRfZW50cnk7CisKKwkJaWYgKGkgPT0gNCkgeworCQkJbGFzdF9pID0gNDsKKwkJCWxhc3RfcF9zdGFydF9wb3MgPSAwOworCQl9CisJCWlmIChpc191c2VkX3BhcnRpdGlvbihwKSkgeworCQkJcF9zdGFydF9wb3MgPSBnZXRfYWJzX3BhcnRpdGlvbl9zdGFydChwZSk7CisKKwkJCWlmIChsYXN0X3Bfc3RhcnRfcG9zID4gcF9zdGFydF9wb3MpIHsKKwkJCQlpZiAocHJldikKKwkJCQkJKnByZXYgPSBsYXN0X2k7CisJCQkJcmV0dXJuIGk7CisJCQl9CisKKwkJCWxhc3RfcF9zdGFydF9wb3MgPSBwX3N0YXJ0X3BvczsKKwkJCWxhc3RfaSA9IGk7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZG9zX2dldF9kaXNrbGFiZWxfaXRlbShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzdHJ1Y3QgZmRpc2tfbGFiZWxpdGVtICppdGVtKQoreworCWludCByYyA9IDA7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgRE9TKSk7CisKKwlzd2l0Y2ggKGl0ZW0tPmlkKSB7CisJY2FzZSBGRElTS19MQUJFTElURU1fSUQ6CisJeworCQl1bnNpZ25lZCBpbnQgbnVtID0gbWJyX2dldF9pZChjeHQtPmZpcnN0c2VjdG9yKTsKKwkJaXRlbS0+bmFtZSA9IF8oIkRpc2sgaWRlbnRpZmllciIpOworCQlpdGVtLT50eXBlID0gJ3MnOworCQlpZiAoYXNwcmludGYoJml0ZW0tPmRhdGEuc3RyLCAiMHglMDh4IiwgbnVtKSA8IDApCisJCQlyYyA9IC1FTk9NRU07CisJCWJyZWFrOworCX0KKwlkZWZhdWx0OgorCQlpZiAoaXRlbS0+aWQgPCBfX0ZESVNLX05MQUJFTElURU1TKQorCQkJcmMgPSAxOwkvKiB1bnN1cHBvcnRlZCBnZW5lcmljIGl0ZW0gKi8KKwkJZWxzZQorCQkJcmMgPSAyOwkvKiBvdXQgb2YgcmFuZ2UgKi8KKwkJYnJlYWs7CisJfQorCisJcmV0dXJuIHJjOworCit9CisKK3N0YXRpYyBpbnQgZG9zX2dldF9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IG4sCisJCQkgICAgIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKQoreworCXN0cnVjdCBkb3NfcGFydGl0aW9uICpwOworCXN0cnVjdCBwdGUgKnBlOworCXN0cnVjdCBmZGlza19kb3NfbGFiZWwgKmxiOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KHBhKTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgRE9TKSk7CisKKwlsYiA9IHNlbGZfbGFiZWwoY3h0KTsKKwlwZSA9IHNlbGZfcHRlKGN4dCwgbik7CisJcCA9IHBlLT5wdF9lbnRyeTsKKwlwYS0+dXNlZCA9ICFpc19jbGVhcmVkX3BhcnRpdGlvbihwKTsKKwlpZiAoIXBhLT51c2VkKQorCQlyZXR1cm4gMDsKKworCXBhLT50eXBlID0gZG9zX3BhcnRpdGlvbl9wYXJ0dHlwZShjeHQsIHApOworCXBhLT5ib290ID0gcC0+Ym9vdF9pbmQgPT0gQUNUSVZFX0ZMQUcgPyAxIDogMDsKKwlwYS0+c3RhcnQgPSBnZXRfYWJzX3BhcnRpdGlvbl9zdGFydChwZSk7CisJcGEtPnNpemUgPSBkb3NfcGFydGl0aW9uX2dldF9zaXplKHApOworCXBhLT5jb250YWluZXIgPSBsYi0+ZXh0X29mZnNldCAmJiBuID09IGxiLT5leHRfaW5kZXg7CisKKwlpZiAobiA+PSA0KQorCQlwYS0+cGFyZW50X3BhcnRubyA9IGxiLT5leHRfaW5kZXg7CisKKwlpZiAocC0+Ym9vdF9pbmQgJiYgYXNwcmludGYoJnBhLT5hdHRycywgIiUwMngiLCBwLT5ib290X2luZCkgPCAwKQorCQlyZXR1cm4gLUVOT01FTTsKKworCS8qIHN0YXJ0IEMvSC9TICovCisJaWYgKGFzcHJpbnRmKCZwYS0+c3RhcnRfY2hzLCAiJWQvJWQvJWQiLAorCQkJCWN5bGluZGVyKHAtPmJzLCBwLT5iYyksCisJCQkJcC0+YmgsCisJCQkJc2VjdG9yKHAtPmJzKSkgPCAwKQorCQlyZXR1cm4gLUVOT01FTTsKKworCS8qIGVuZCBDL0gvUyAqLworCWlmIChhc3ByaW50ZigmcGEtPmVuZF9jaHMsICIlZC8lZC8lZCIsCisJCQkJY3lsaW5kZXIocC0+ZXMsIHAtPmVjKSwKKwkJCQlwLT5laCwKKwkJCQlzZWN0b3IocC0+ZXMpKSA8IDApCisJCXJldHVybiAtRU5PTUVNOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaGFzX2xvZ2ljYWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzaXplX3QgaTsKKwlzdHJ1Y3QgZmRpc2tfZG9zX2xhYmVsICpsID0gc2VsZl9sYWJlbChjeHQpOworCisJZm9yIChpID0gNDsgaSA8IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXg7IGkrKykgeworCQlpZiAobC0+cHRlc1tpXS5wdF9lbnRyeSkKKwkJCXJldHVybiAxOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBkb3Nfc2V0X3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgbiwKKwkJCSAgICAgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJc3RydWN0IGZkaXNrX2Rvc19sYWJlbCAqbDsKKwlzdHJ1Y3QgZG9zX3BhcnRpdGlvbiAqcDsKKwlzdHJ1Y3QgcHRlICpwZTsKKwlpbnQgb3JndHlwZTsKKwlmZGlza19zZWN0b3JfdCBzdGFydCwgc2l6ZTsKKworCWFzc2VydChjeHQpOworCWFzc2VydChwYSk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIERPUykpOworCisJaWYgKG4gPj0gY3h0LT5sYWJlbC0+bnBhcnRzX21heCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlsID0gc2VsZl9sYWJlbChjeHQpOworCXAgPSBzZWxmX3BhcnRpdGlvbihjeHQsIG4pOworCXBlID0gc2VsZl9wdGUoY3h0LCBuKTsKKwlvcmd0eXBlID0gcC0+c3lzX2luZDsKKworCWlmIChwYS0+dHlwZSkgeworCQlpZiAoSVNfRVhURU5ERUQocGEtPnR5cGUtPmNvZGUpICYmIGwtPmV4dF9vZmZzZXQpIHsKKwkJCWZkaXNrX3dhcm54KGN4dCwgXygiRXh0ZW5kZWQgcGFydGl0aW9uIGFscmVhZHkgZXhpc3RzLiIpKTsKKwkJCXJldHVybiAtRUlOVkFMOworCQl9CisKKwkJaWYgKCFwYS0+dHlwZS0+Y29kZSkKKwkJCWZkaXNrX3dhcm54KGN4dCwgXygiVHlwZSAwIG1lYW5zIGZyZWUgc3BhY2UgdG8gbWFueSBzeXN0ZW1zLiAiCisJCQkJICAgIkhhdmluZyBwYXJ0aXRpb25zIG9mIHR5cGUgMCBpcyBwcm9iYWJseSB1bndpc2UuIikpOworCisJCWlmIChJU19FWFRFTkRFRChwLT5zeXNfaW5kKSAmJiAhSVNfRVhURU5ERUQocGEtPnR5cGUtPmNvZGUpICYmIGhhc19sb2dpY2FsKGN4dCkpIHsKKwkJCWZkaXNrX3dhcm54KGN4dCwgXygKKwkJCQkiQ2Fubm90IGNoYW5nZSB0eXBlIG9mIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24gd2hpY2ggaXMgIgorCQkJCSJhbHJlYWR5IHVzZWQgYnkgbG9naWNhbCBwYXJ0aXRpb25zLiBEZWxldGUgbG9naWNhbCAiCisJCQkJInBhcnRpdGlvbnMgZmlyc3QuIikpOworCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKwl9CisKKwlGRElTS19JTklUX1VOREVGKHN0YXJ0KTsKKwlGRElTS19JTklUX1VOREVGKHNpemUpOworCisJaWYgKGZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpKQorCQlzdGFydCA9IHBhLT5zdGFydDsKKwlpZiAoZmRpc2tfcGFydGl0aW9uX2hhc19zaXplKHBhKSkKKwkJc2l6ZSA9IHBhLT5zaXplOworCisJaWYgKCFGRElTS19JU19VTkRFRihzdGFydCkgfHwgIUZESVNLX0lTX1VOREVGKHNpemUpKSB7CisJCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzogcmVzaXplIHBhcnRpdGlvbiIpKTsKKworCQlpZiAoRkRJU0tfSVNfVU5ERUYoc3RhcnQpKQorCQkJc3RhcnQgPSBnZXRfYWJzX3BhcnRpdGlvbl9zdGFydChwZSk7CisJCWlmIChGRElTS19JU19VTkRFRihzaXplKSkKKwkJCXNpemUgPSBkb3NfcGFydGl0aW9uX2dldF9zaXplKHApOworCisJCXNldF9wYXJ0aXRpb24oY3h0LCBuLCAwLCBzdGFydCwgc3RhcnQgKyBzaXplIC0gMSwKKwkJCQlwYS0+dHlwZSAgPyBwYS0+dHlwZS0+Y29kZSA6IHAtPnN5c19pbmQsCisJCQkJRkRJU0tfSVNfVU5ERUYocGEtPmJvb3QpID8KKwkJCQkJcC0+Ym9vdF9pbmQgPT0gQUNUSVZFX0ZMQUcgOgorCQkJCQlmZGlza19wYXJ0aXRpb25faXNfYm9vdGFibGUocGEpKTsKKwl9IGVsc2UgeworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IGtlZXAgc2l6ZSwgbW9kaWZ5IHByb3BlcnRpZXMiKSk7CisJCWlmIChwYS0+dHlwZSkKKwkJCXAtPnN5c19pbmQgPSBwYS0+dHlwZS0+Y29kZTsKKwkJaWYgKCFGRElTS19JU19VTkRFRihwYS0+Ym9vdCkpCisJCQlwLT5ib290X2luZCA9IGZkaXNrX3BhcnRpdGlvbl9pc19ib290YWJsZShwYSkgPyBBQ1RJVkVfRkxBRyA6IDA7CisJfQorCisJaWYgKHBhLT50eXBlKSB7CisJCWlmIChJU19FWFRFTkRFRChwYS0+dHlwZS0+Y29kZSkgJiYgIUlTX0VYVEVOREVEKG9yZ3R5cGUpKSB7CisJCQkvKiBuZXcgZXh0ZW5kZWQgcGFydGl0aW9uIC0gY3JlYXRlIGEgcmVmZXJlbmNlICAqLworCQkJbC0+ZXh0X2luZGV4ID0gbjsKKwkJCWwtPmV4dF9vZmZzZXQgPSBkb3NfcGFydGl0aW9uX2dldF9zdGFydChwKTsKKwkJCXBlLT5leF9lbnRyeSA9IHA7CisJCSB9IGVsc2UgaWYgKElTX0VYVEVOREVEKG9yZ3R5cGUpKSB7CisJCQkvKiByZW1vdmUgZXh0ZW5kZWQgcGFydGl0aW9uICovCisJCQljeHQtPmxhYmVsLT5ucGFydHNfbWF4ID0gNDsKKwkJCWwtPnB0ZXNbbC0+ZXh0X2luZGV4XS5leF9lbnRyeSA9IE5VTEw7CisJCQlsLT5leHRfb2Zmc2V0ID0gMDsKKwkJCWwtPmV4dF9pbmRleCA9IDA7CisJCSB9CisJfQorCisJcGFydGl0aW9uX3NldF9jaGFuZ2VkKGN4dCwgbiwgMSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIHByaW50X2NoYWluX29mX2xvZ2ljYWxzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc2l6ZV90IGk7CisJc3RydWN0IGZkaXNrX2Rvc19sYWJlbCAqbCA9IHNlbGZfbGFiZWwoY3h0KTsKKworCWZwdXRjKCdcbicsIHN0ZG91dCk7CisKKwlmb3IgKGkgPSA0OyBpIDwgY3h0LT5sYWJlbC0+bnBhcnRzX21heDsgaSsrKSB7CisJCXN0cnVjdCBwdGUgKnBlID0gc2VsZl9wdGUoY3h0LCBpKTsKKworCQlmcHJpbnRmKHN0ZGVyciwgIiMlMDJ6dSBFQlIgWyUxMGp1XSwgIgorCQkJImRhdGFbc3RhcnQ9JTEwanUgKCUxMGp1KSwgc2l6ZT0lMTBqdV0sICIKKwkJCSJsaW5rW3N0YXJ0PSUxMGp1ICglMTBqdSksIHNpemU9JTEwanVdXG4iLAorCQkJaSwgKHVpbnRtYXhfdCkgcGUtPm9mZnNldCwKKwkJCS8qIGRhdGEgKi8KKwkJCSh1aW50bWF4X3QpIGRvc19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBlLT5wdF9lbnRyeSksCisJCQkodWludG1heF90KSBnZXRfYWJzX3BhcnRpdGlvbl9zdGFydChwZSksCisJCQkodWludG1heF90KSBkb3NfcGFydGl0aW9uX2dldF9zaXplKHBlLT5wdF9lbnRyeSksCisJCQkvKiBsaW5rICovCisJCQkodWludG1heF90KSBkb3NfcGFydGl0aW9uX2dldF9zdGFydChwZS0+ZXhfZW50cnkpLAorCQkJKHVpbnRtYXhfdCkgbC0+ZXh0X29mZnNldCArIGRvc19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBlLT5leF9lbnRyeSksCisJCQkodWludG1heF90KSBkb3NfcGFydGl0aW9uX2dldF9zaXplKHBlLT5leF9lbnRyeSkpOworCX0KK30KKworc3RhdGljIGludCBjbXBfZWJyX29mZnNldHMoY29uc3Qgdm9pZCAqYSwgY29uc3Qgdm9pZCAqYikKK3sKKwlzdHJ1Y3QgcHRlICphZSA9IChzdHJ1Y3QgcHRlICopIGEsCisJCSAgICpiZSA9IChzdHJ1Y3QgcHRlICopIGI7CisKKwlpZiAoYWUtPm9mZnNldCA9PSAwICYmIGJlLT5vZmZzZXQgPT0gMCkKKwkJcmV0dXJuIDA7CisJaWYgKGFlLT5vZmZzZXQgPT0gMCkKKwkJcmV0dXJuIDE7CisJaWYgKGJlLT5vZmZzZXQgPT0gMCkKKwkJcmV0dXJuIC0xOworCisJcmV0dXJuIGNtcF9udW1iZXJzKGFlLT5vZmZzZXQsIGJlLT5vZmZzZXQpOworfQorCisvKgorICogRml4IHRoZSBjaGFpbiBvZiBsb2dpY2Fscy4KKyAqCisgKiBUaGUgZnVuY3Rpb24gZG9lcyBub3QgbW9kaWZ5IGRhdGEgcGFydGl0aW9ucyB3aXRoaW4gRUJSIHRhYmxlcworICogKHB0ZS0+cHRfZW50cnkpLiBJdCBzb3J0cyB0aGUgY2hhaW4gYnkgRUJSIG9mZnNldHMgYW5kIHRoZW4gdXBkYXRlIGxpbmtzCisgKiAocHRlLT5leF9lbnRyeSkgYmV0d2VlbiBFQlIgdGFibGVzLgorICoKKyAqLworc3RhdGljIHZvaWQgZml4X2NoYWluX29mX2xvZ2ljYWxzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IGZkaXNrX2Rvc19sYWJlbCAqbCA9IHNlbGZfbGFiZWwoY3h0KTsKKwlzdHJ1Y3QgcHRlICpsYXN0OworCXNpemVfdCBpOworCisJREJHKExBQkVMLCBwcmludF9jaGFpbl9vZl9sb2dpY2FscyhjeHQpKTsKKworCS8qIFNvcnQgY2hhaW4gYnkgRUJSIG9mZnNldHMgKi8KKwlxc29ydCgmbC0+cHRlc1s0XSwgY3h0LT5sYWJlbC0+bnBhcnRzX21heCAtIDQsIHNpemVvZihzdHJ1Y3QgcHRlKSwKKwkJCWNtcF9lYnJfb2Zmc2V0cyk7CisKK2FnYWluOgorCS8qIFNvcnQgZGF0YSBwYXJ0aXRpb25zIGJ5IHN0YXJ0ICovCisJZm9yIChpID0gNDsgaSA8IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXggLSAxOyBpKyspIHsKKwkJc3RydWN0IHB0ZSAqY3VyID0gc2VsZl9wdGUoY3h0LCBpKSwKKwkJCSAgICpueHQgPSBzZWxmX3B0ZShjeHQsIGkgKyAxKTsKKworCQlpZiAoZ2V0X2Fic19wYXJ0aXRpb25fc3RhcnQoY3VyKSA+CisJCSAgICBnZXRfYWJzX3BhcnRpdGlvbl9zdGFydChueHQpKSB7CisKKwkJCXN0cnVjdCBkb3NfcGFydGl0aW9uIHRtcCA9ICpjdXItPnB0X2VudHJ5OworCQkJZmRpc2tfc2VjdG9yX3QgY3VyX3N0YXJ0ID0gZ2V0X2Fic19wYXJ0aXRpb25fc3RhcnQoY3VyKSwKKwkJCQkgbnh0X3N0YXJ0ID0gZ2V0X2Fic19wYXJ0aXRpb25fc3RhcnQobnh0KTsKKworCQkJLyogc3dhcCBkYXRhIHBhcnRpdGlvbnMgKi8KKwkJCSpjdXItPnB0X2VudHJ5ID0gKm54dC0+cHRfZW50cnk7CisJCQkqbnh0LT5wdF9lbnRyeSA9IHRtcDsKKworCQkJLyogUmVjb3VudCBzdGFydHMgYWNjb3JkaW5nIHRvIEVCUiBvZmZzZXRzLCB0aGUgYWJzb2x1dGUKKwkJCSAqIGFkZHJlc3Mgc3RpbGwgaGFzIHRvIGJlIHRoZSBzYW1lISAqLworCQkJZG9zX3BhcnRpdGlvbl9zZXRfc3RhcnQoY3VyLT5wdF9lbnRyeSwgbnh0X3N0YXJ0IC0gY3VyLT5vZmZzZXQpOworCQkJZG9zX3BhcnRpdGlvbl9zZXRfc3RhcnQobnh0LT5wdF9lbnRyeSwgY3VyX3N0YXJ0IC0gbnh0LT5vZmZzZXQpOworCisJCQlwYXJ0aXRpb25fc2V0X2NoYW5nZWQoY3h0LCBpLCAxKTsKKwkJCXBhcnRpdGlvbl9zZXRfY2hhbmdlZChjeHQsIGkgKyAxLCAxKTsKKwkJCWdvdG8gYWdhaW47CisJCX0KKwl9CisKKwkvKiBVcGRhdGUgRUJSIGxpbmtzICovCisJZm9yIChpID0gNDsgaSA8IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXggLSAxOyBpKyspIHsKKwkJc3RydWN0IHB0ZSAqY3VyID0gc2VsZl9wdGUoY3h0LCBpKSwKKwkJCSAgICpueHQgPSBzZWxmX3B0ZShjeHQsIGkgKyAxKTsKKworCQlmZGlza19zZWN0b3JfdCBub2ZmID0gbnh0LT5vZmZzZXQgLSBsLT5leHRfb2Zmc2V0LAorCQkJIG9vZmYgPSBkb3NfcGFydGl0aW9uX2dldF9zdGFydChjdXItPmV4X2VudHJ5KTsKKworCQlpZiAobm9mZiA9PSBvb2ZmKQorCQkJY29udGludWU7CisKKwkJREJHKExBQkVMLCB1bF9kZWJ1ZygiRE9TOiBmaXggRUJSIFslMTBqdV0gbGluayAlanUgLT4gJWp1IiwKKwkJCSh1aW50bWF4X3QpIGN1ci0+b2Zmc2V0LAorCQkJKHVpbnRtYXhfdCkgb29mZiwgKHVpbnRtYXhfdCkgbm9mZikpOworCisJCXNldF9wYXJ0aXRpb24oY3h0LCBpLCAxLCBueHQtPm9mZnNldCwKKwkJCQlnZXRfYWJzX3BhcnRpdGlvbl9lbmQobnh0KSwKKwkJCQlNQlJfRE9TX0VYVEVOREVEX1BBUlRJVElPTiwgMCk7CisJfQorCisJLyogYWx3YXlzIHRlcm1pbmF0ZSB0aGUgY2hhaW4gISAqLworCWxhc3QgPSBzZWxmX3B0ZShjeHQsIGN4dC0+bGFiZWwtPm5wYXJ0c19tYXggLSAxKTsKKwlpZiAobGFzdCkgeworCQljbGVhcl9wYXJ0aXRpb24obGFzdC0+ZXhfZW50cnkpOworCQlwYXJ0aXRpb25fc2V0X2NoYW5nZWQoY3h0LCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4IC0gMSwgMSk7CisJfQorCisJREJHKExBQkVMLCBwcmludF9jaGFpbl9vZl9sb2dpY2FscyhjeHQpKTsKK30KKworc3RhdGljIGludCBkb3NfcmVvcmRlcihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBwdGUgKnBlaSwgKnBlazsKKwlzaXplX3QgaSxrOworCisJaWYgKCF3cm9uZ19wX29yZGVyKGN4dCwgTlVMTCkpIHsKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIk5vdGhpbmcgdG8gZG8uIE9yZGVyaW5nIGlzIGNvcnJlY3QgYWxyZWFkeS4iKSk7CisJCXJldHVybiAxOworCX0KKworCXdoaWxlICgoaSA9IHdyb25nX3Bfb3JkZXIoY3h0LCAmaykpICE9IDAgJiYgaSA8IDQpIHsKKwkJLyogcGFydGl0aW9uIGkgc2hvdWxkIGhhdmUgY29tZSBlYXJsaWVyLCBtb3ZlIGl0ICovCisJCS8qIFdlIGhhdmUgdG8gbW92ZSBkYXRhIGluIHRoZSBNQlIgKi8KKwkJc3RydWN0IGRvc19wYXJ0aXRpb24gKnBpLCAqcGssICpwZSwgcGJ1ZjsKKwkJcGVpID0gc2VsZl9wdGUoY3h0LCBpKTsKKwkJcGVrID0gc2VsZl9wdGUoY3h0LCBrKTsKKworCQlwZSA9IHBlaS0+ZXhfZW50cnk7CisJCXBlaS0+ZXhfZW50cnkgPSBwZWstPmV4X2VudHJ5OworCQlwZWstPmV4X2VudHJ5ID0gcGU7CisKKwkJcGkgPSBwZWktPnB0X2VudHJ5OworCQlwayA9IHBlay0+cHRfZW50cnk7CisKKwkJbWVtbW92ZSgmcGJ1ZiwgcGksIHNpemVvZihzdHJ1Y3QgZG9zX3BhcnRpdGlvbikpOworCQltZW1tb3ZlKHBpLCBwaywgc2l6ZW9mKHN0cnVjdCBkb3NfcGFydGl0aW9uKSk7CisJCW1lbW1vdmUocGssICZwYnVmLCBzaXplb2Yoc3RydWN0IGRvc19wYXJ0aXRpb24pKTsKKworCQlwYXJ0aXRpb25fc2V0X2NoYW5nZWQoY3h0LCBpLCAxKTsKKwkJcGFydGl0aW9uX3NldF9jaGFuZ2VkKGN4dCwgaywgMSk7CisJfQorCisJaWYgKGkpCisJCWZpeF9jaGFpbl9vZl9sb2dpY2FscyhjeHQpOworCisJcmV0dXJuIDA7Cit9CisKKy8qIFRPRE86IHVzZSBmZGlza19zZXRfcGFydGl0aW9uKCkgQVBJICovCitpbnQgZmRpc2tfZG9zX21vdmVfYmVnaW4oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IGkpCit7CisJc3RydWN0IHB0ZSAqcGU7CisJc3RydWN0IGRvc19wYXJ0aXRpb24gKnA7CisJdW5zaWduZWQgaW50IG5ldywgZnJlZV9zdGFydCwgY3Vycl9zdGFydCwgbGFzdDsKKwl1aW50bWF4X3QgcmVzID0gMDsKKwlzaXplX3QgeDsKKwlpbnQgcmM7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBET1MpKTsKKworCXBlID0gc2VsZl9wdGUoY3h0LCBpKTsKKwlwID0gcGUtPnB0X2VudHJ5OworCisJaWYgKCFpc191c2VkX3BhcnRpdGlvbihwKSB8fCBJU19FWFRFTkRFRCAocC0+c3lzX2luZCkpIHsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJQYXJ0aXRpb24gJXp1OiBubyBkYXRhIGFyZWEuIiksIGkgKyAxKTsKKwkJcmV0dXJuIDA7CisJfQorCisJLyogdGhlIGRlZmF1bHQgc3RhcnQgaXMgYXQgdGhlIHNlY29uZCBzZWN0b3Igb2YgdGhlIGRpc2sgb3IgYXQgdGhlCisJICogc2Vjb25kIHNlY3RvciBvZiB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uCisJICovCisJZnJlZV9zdGFydCA9IHBlLT5vZmZzZXQgPyBwZS0+b2Zmc2V0ICsgMSA6IDE7CisKKwljdXJyX3N0YXJ0ID0gZ2V0X2Fic19wYXJ0aXRpb25fc3RhcnQocGUpOworCisJLyogbG9vayBmb3IgYSBmcmVlIHNwYWNlIGJlZm9yZSB0aGUgY3VycmVudCBzdGFydCBvZiB0aGUgcGFydGl0aW9uICovCisJZm9yICh4ID0gMDsgeCA8IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXg7IHgrKykgeworCQl1bnNpZ25lZCBpbnQgZW5kOworCQlzdHJ1Y3QgcHRlICpwcmV2X3BlID0gc2VsZl9wdGUoY3h0LCB4KTsKKwkJc3RydWN0IGRvc19wYXJ0aXRpb24gKnByZXZfcCA9IHByZXZfcGUtPnB0X2VudHJ5OworCisJCWlmICghcHJldl9wKQorCQkJY29udGludWU7CisJCWVuZCA9IGdldF9hYnNfcGFydGl0aW9uX3N0YXJ0KHByZXZfcGUpCisJCSAgICAgICsgZG9zX3BhcnRpdGlvbl9nZXRfc2l6ZShwcmV2X3ApOworCisJCWlmIChpc191c2VkX3BhcnRpdGlvbihwcmV2X3ApICYmCisJCSAgICBlbmQgPiBmcmVlX3N0YXJ0ICYmIGVuZCA8PSBjdXJyX3N0YXJ0KQorCQkJZnJlZV9zdGFydCA9IGVuZDsKKwl9CisKKwlsYXN0ID0gZ2V0X2Fic19wYXJ0aXRpb25fZW5kKHBlKTsKKworCXJjID0gZmRpc2tfYXNrX251bWJlcihjeHQsIGZyZWVfc3RhcnQsIGN1cnJfc3RhcnQsIGxhc3QsCisJCQlfKCJOZXcgYmVnaW5uaW5nIG9mIGRhdGEiKSwgJnJlcyk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwluZXcgPSByZXMgLSBwZS0+b2Zmc2V0OworCisJaWYgKG5ldyAhPSBkb3NfcGFydGl0aW9uX2dldF9zaXplKHApKSB7CisJCXVuc2lnbmVkIGludCBzZWN0cyA9IGRvc19wYXJ0aXRpb25fZ2V0X3NpemUocCkKKwkJCQkrIGRvc19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHApIC0gbmV3OworCisJCWRvc19wYXJ0aXRpb25fc2V0X3NpemUocCwgc2VjdHMpOworCQlkb3NfcGFydGl0aW9uX3NldF9zdGFydChwLCBuZXcpOworCisJCXBhcnRpdGlvbl9zZXRfY2hhbmdlZChjeHQsIGksIDEpOworCX0KKworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBkb3NfcGFydGl0aW9uX2lzX3VzZWQoCisJCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCXNpemVfdCBpKQoreworCXN0cnVjdCBkb3NfcGFydGl0aW9uICpwOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIERPUykpOworCisJaWYgKGkgPj0gY3h0LT5sYWJlbC0+bnBhcnRzX21heCkKKwkJcmV0dXJuIDA7CisKKwlwID0gc2VsZl9wYXJ0aXRpb24oY3h0LCBpKTsKKworCXJldHVybiBwICYmICFpc19jbGVhcmVkX3BhcnRpdGlvbihwKTsKK30KKworc3RhdGljIGludCBkb3NfdG9nZ2xlX3BhcnRpdGlvbl9mbGFnKAorCQlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQlzaXplX3QgaSwKKwkJdW5zaWduZWQgbG9uZyBmbGFnKQoreworCXN0cnVjdCBkb3NfcGFydGl0aW9uICpwOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIERPUykpOworCisJaWYgKGkgPj0gY3h0LT5sYWJlbC0+bnBhcnRzX21heCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlwID0gc2VsZl9wYXJ0aXRpb24oY3h0LCBpKTsKKworCXN3aXRjaCAoZmxhZykgeworCWNhc2UgRE9TX0ZMQUdfQUNUSVZFOgorCQlpZiAoSVNfRVhURU5ERUQocC0+c3lzX2luZCkgJiYgIXAtPmJvb3RfaW5kKQorCQkJZmRpc2tfd2FybngoY3h0LCBfKCJQYXJ0aXRpb24gJXp1OiBpcyBhbiBleHRlbmRlZCAiCisJCQkJCSJwYXJ0aXRpb24uIiksIGkgKyAxKTsKKworCQlwLT5ib290X2luZCA9IChwLT5ib290X2luZCA/IDAgOiBBQ1RJVkVfRkxBRyk7CisJCXBhcnRpdGlvbl9zZXRfY2hhbmdlZChjeHQsIGksIDEpOworCQlmZGlza19pbmZvKGN4dCwJcC0+Ym9vdF9pbmQgPworCQkJXygiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iKSA6CisJCQlfKCJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iKSwKKwkJCWkgKyAxKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIDE7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmRpc2tfZmllbGQgZG9zX2ZpZWxkc1tdID0KK3sKKwkvKiBiYXNpYyAqLworCXsgRkRJU0tfRklFTERfREVWSUNFLAlOXygiRGV2aWNlIiksCSAxMCwJMCB9LAorCXsgRkRJU0tfRklFTERfQk9PVCwJTl8oIkJvb3QiKSwJICAxLAkwIH0sCisJeyBGRElTS19GSUVMRF9TVEFSVCwJTl8oIlN0YXJ0IiksCSAgNSwJRkRJU0tfRklFTERGTF9OVU1CRVIgfSwKKwl7IEZESVNLX0ZJRUxEX0VORCwJTl8oIkVuZCIpLAkgIDUsCUZESVNLX0ZJRUxERkxfTlVNQkVSIH0sCisJeyBGRElTS19GSUVMRF9TRUNUT1JTLAlOXygiU2VjdG9ycyIpLAkgIDUsCUZESVNLX0ZJRUxERkxfTlVNQkVSIH0sCisJeyBGRElTS19GSUVMRF9DWUxJTkRFUlMsTl8oIkN5bGluZGVycyIpLCAgNSwJRkRJU0tfRklFTERGTF9OVU1CRVIgfSwKKwl7IEZESVNLX0ZJRUxEX1NJWkUsCU5fKCJTaXplIiksCSAgNSwJRkRJU0tfRklFTERGTF9OVU1CRVIgfCBGRElTS19GSUVMREZMX0VZRUNBTkRZIH0sCisJeyBGRElTS19GSUVMRF9UWVBFSUQsCU5fKCJJZCIpLAkgIDIsCUZESVNLX0ZJRUxERkxfTlVNQkVSIH0sCisJeyBGRElTS19GSUVMRF9UWVBFLAlOXygiVHlwZSIpLAkwLjEsCTAgfSwKKworCS8qIGV4cGVydCBtb2RlICovCisJeyBGRElTS19GSUVMRF9TQUREUiwJTl8oIlN0YXJ0LUMvSC9TIiksIDEsICAgRkRJU0tfRklFTERGTF9OVU1CRVIgfCBGRElTS19GSUVMREZMX0RFVEFJTCB9LAorCXsgRkRJU0tfRklFTERfRUFERFIsCU5fKCJFbmQtQy9IL1MiKSwgICAxLCAgIEZESVNLX0ZJRUxERkxfTlVNQkVSIHwgRkRJU0tfRklFTERGTF9ERVRBSUwgfSwKKwl7IEZESVNLX0ZJRUxEX0FUVFIsCU5fKCJBdHRycyIpLAkgICAyLCAgIEZESVNLX0ZJRUxERkxfTlVNQkVSIHwgRkRJU0tfRklFTERGTF9ERVRBSUwgfQorCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsX29wZXJhdGlvbnMgZG9zX29wZXJhdGlvbnMgPQoreworCS5wcm9iZQkJPSBkb3NfcHJvYmVfbGFiZWwsCisJLndyaXRlCQk9IGRvc193cml0ZV9kaXNrbGFiZWwsCisJLnZlcmlmeQkJPSBkb3NfdmVyaWZ5X2Rpc2tsYWJlbCwKKwkuY3JlYXRlCQk9IGRvc19jcmVhdGVfZGlza2xhYmVsLAorCS5sb2NhdGUJCT0gZG9zX2xvY2F0ZV9kaXNrbGFiZWwsCisJLmdldF9pdGVtCT0gZG9zX2dldF9kaXNrbGFiZWxfaXRlbSwKKwkuc2V0X2lkCQk9IGRvc19zZXRfZGlza2xhYmVsX2lkLAorCisJLmdldF9wYXJ0CT0gZG9zX2dldF9wYXJ0aXRpb24sCisJLnNldF9wYXJ0CT0gZG9zX3NldF9wYXJ0aXRpb24sCisJLmFkZF9wYXJ0CT0gZG9zX2FkZF9wYXJ0aXRpb24sCisJLmRlbF9wYXJ0CT0gZG9zX2RlbGV0ZV9wYXJ0aXRpb24sCisJLnJlb3JkZXIJPSBkb3NfcmVvcmRlciwKKworCS5wYXJ0X3RvZ2dsZV9mbGFnID0gZG9zX3RvZ2dsZV9wYXJ0aXRpb25fZmxhZywKKwkucGFydF9pc191c2VkCT0gZG9zX3BhcnRpdGlvbl9pc191c2VkLAorCisJLnJlc2V0X2FsaWdubWVudCA9IGRvc19yZXNldF9hbGlnbm1lbnQsCisKKwkuZGVpbml0CQk9IGRvc19kZWluaXQsCit9OworCisvKgorICogYWxsb2NhdGVzIERPUyBpbi1tZW1vcnkgc3R1ZmYKKyAqLworc3RydWN0IGZkaXNrX2xhYmVsICpmZGlza19uZXdfZG9zX2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IGZkaXNrX2xhYmVsICpsYjsKKwlzdHJ1Y3QgZmRpc2tfZG9zX2xhYmVsICpkb3M7CisKKwlhc3NlcnQoY3h0KTsKKworCWRvcyA9IGNhbGxvYygxLCBzaXplb2YoKmRvcykpOworCWlmICghZG9zKQorCQlyZXR1cm4gTlVMTDsKKworCS8qIGluaXRpYWxpemUgZ2VuZXJpYyBwYXJ0IG9mIHRoZSBkcml2ZXIgKi8KKwlsYiA9IChzdHJ1Y3QgZmRpc2tfbGFiZWwgKikgZG9zOworCWxiLT5uYW1lID0gImRvcyI7CisJbGItPmlkID0gRkRJU0tfRElTS0xBQkVMX0RPUzsKKwlsYi0+b3AgPSAmZG9zX29wZXJhdGlvbnM7CisJbGItPnBhcnR0eXBlcyA9IGRvc19wYXJ0dHlwZXM7CisJbGItPm5wYXJ0dHlwZXMgPSBBUlJBWV9TSVpFKGRvc19wYXJ0dHlwZXMpIC0gMTsKKwlsYi0+ZmllbGRzID0gZG9zX2ZpZWxkczsKKwlsYi0+bmZpZWxkcyA9IEFSUkFZX1NJWkUoZG9zX2ZpZWxkcyk7CisKKwlyZXR1cm4gbGI7Cit9CisKKy8qKgorICogZmRpc2tfZG9zX2VuYWJsZV9jb21wYXRpYmxlOgorICogQGxiOiBET1MgbGFiZWwgKHNlZSBmZGlza19nZXRfbGFiZWwoKSkKKyAqIEBlbmFibGU6IDAgb3IgMQorICoKKyAqIEVuYWJsZXMgZGVwcmVjYXRlZCBET1MgY29tcGF0aWJsZSBtb2RlLCBpbiB0aGlzIG1vZGUgbGlicmFyeSBjaGVja3MgZm9yCisgKiBjeWxpbmRlcnMgYm91bmRhcnksIGNhc2VzIGFib3V0IENIUyBhZGRyZXNzaW5nIGFuZCBhbm90aGVyIG9ic2N1cmUgdGhpbmdzLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19kb3NfZW5hYmxlX2NvbXBhdGlibGUoc3RydWN0IGZkaXNrX2xhYmVsICpsYiwgaW50IGVuYWJsZSkKK3sKKwlzdHJ1Y3QgZmRpc2tfZG9zX2xhYmVsICpkb3MgPSAoc3RydWN0IGZkaXNrX2Rvc19sYWJlbCAqKSBsYjsKKworCWlmICghbGIpCisJCXJldHVybiAtRUlOVkFMOworCisJZG9zLT5jb21wYXRpYmxlID0gZW5hYmxlOworCWlmIChlbmFibGUpCisJCWxiLT5mbGFncyB8PSBGRElTS19MQUJFTF9GTF9SRVFVSVJFX0dFT01FVFJZOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX2Rvc19pc19jb21wYXRpYmxlOgorICogQGxiOiBET1MgbGFiZWwKKyAqCisgKiBSZXR1cm5zOiAwIGlmIERPUyBjb21wYXRpYmlsaXR5IGRpc2FibGVkLCAxIGlmIGVuYWJsZWQKKyAqLworaW50IGZkaXNrX2Rvc19pc19jb21wYXRpYmxlKHN0cnVjdCBmZGlza19sYWJlbCAqbGIpCit7CisJcmV0dXJuICgoc3RydWN0IGZkaXNrX2Rvc19sYWJlbCAqKSBsYiktPmNvbXBhdGlibGU7Cit9CmRpZmYgLS1naXQgYS9saWJmZGlzay9zcmMvZmRpc2tQLmggYi9saWJmZGlzay9zcmMvZmRpc2tQLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzYyNDc3MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmZkaXNrL3NyYy9mZGlza1AuaApAQCAtMCwwICsxLDQ3NSBAQAorLyoKKyAqIGZkaXNrUC5oIC0gcHJpdmF0ZSBsaWJyYXJ5IGhlYWRlciBmaWxlCisgKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworI2lmbmRlZiBfTElCRkRJU0tfUFJJVkFURV9ICisjZGVmaW5lIF9MSUJGRElTS19QUklWQVRFX0gKKworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJsaWJmZGlzay5oIgorCisjaW5jbHVkZSAibmxzLmgiCQkvKiB0ZW1wb3JhcnkgYmVmb3JlIGRpYWxvZyBBUEkgd2lsbCBiZSBpbXBsZW1lbnRlZCAqLworI2luY2x1ZGUgImxpc3QuaCIKKyNpbmNsdWRlICJkZWJ1Zy5oIgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkYXJnLmg+CisKKy8qCisgKiBEZWJ1ZworICovCisjZGVmaW5lIExJQkZESVNLX0RFQlVHX0hFTFAJKDEgPDwgMCkKKyNkZWZpbmUgTElCRkRJU0tfREVCVUdfSU5JVAkoMSA8PCAxKQorI2RlZmluZSBMSUJGRElTS19ERUJVR19DWFQJKDEgPDwgMikKKyNkZWZpbmUgTElCRkRJU0tfREVCVUdfTEFCRUwgICAgKDEgPDwgMykKKyNkZWZpbmUgTElCRkRJU0tfREVCVUdfQVNLICAgICAgKDEgPDwgNCkKKyNkZWZpbmUgTElCRkRJU0tfREVCVUdfUEFSVAkoMSA8PCA2KQorI2RlZmluZSBMSUJGRElTS19ERUJVR19QQVJUVFlQRQkoMSA8PCA3KQorI2RlZmluZSBMSUJGRElTS19ERUJVR19UQUIJKDEgPDwgOCkKKyNkZWZpbmUgTElCRkRJU0tfREVCVUdfU0NSSVBUCSgxIDw8IDkpCisjZGVmaW5lIExJQkZESVNLX0RFQlVHX1dJUEUJKDEgPDwgMTApCisjZGVmaW5lIExJQkZESVNLX0RFQlVHX0lURU0JKDEgPDwgMTEpCisjZGVmaW5lIExJQkZESVNLX0RFQlVHX0FMTAkweEZGRkYKKworVUxfREVCVUdfREVDTEFSRV9NQVNLKGxpYmZkaXNrKTsKKyNkZWZpbmUgREJHKG0sIHgpCV9fVUxfREJHKGxpYmZkaXNrLCBMSUJGRElTS19ERUJVR18sIG0sIHgpCisjZGVmaW5lIE9OX0RCRyhtLCB4KQlfX1VMX0RCR19DQUxMKGxpYmZkaXNrLCBMSUJGRElTS19ERUJVR18sIG0sIHgpCisjZGVmaW5lIERCR19GTFVTSAlfX1VMX0RCR19GTFVTSChsaWJmZGlzaywgTElCRkRJU0tfREVCVUdfKQorCisjaWZkZWYgVEVTVF9QUk9HUkFNCitzdHJ1Y3QgZmRpc2tfdGVzdCB7CisJY29uc3QgY2hhcgkqbmFtZTsKKwlpbnQJCSgqYm9keSkoc3RydWN0IGZkaXNrX3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKTsKKwljb25zdCBjaGFyCSp1c2FnZTsKK307CisKKy8qIHRlc3QuYyAqLworZXh0ZXJuIGludCBmZGlza19ydW5fdGVzdChzdHJ1Y3QgZmRpc2tfdGVzdCAqdGVzdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pOworI2VuZGlmCisKKyNkZWZpbmUgRkRJU0tfR1BUX05QQVJUSVRJT05TX0RFRkFVTFQJMTI4CisKKy8qCisgKiBHZW5lcmljIGl0ZXJhdG9yCisgKi8KK3N0cnVjdCBmZGlza19pdGVyIHsKKyAgICAgICAgc3RydWN0IGxpc3RfaGVhZCAgICAgICAgKnA7CQkvKiBjdXJyZW50IHBvc2l0aW9uICovCisgICAgICAgIHN0cnVjdCBsaXN0X2hlYWQgICAgICAgICpoZWFkOwkJLyogc3RhcnQgcG9zaXRpb24gKi8KKwlpbnQJCQlkaXJlY3Rpb247CS8qIEZESVNLX0lURVJfe0ZPUixCQUNLfVdBUkQgKi8KK307CisKKyNkZWZpbmUgSVNfSVRFUl9GT1JXQVJEKF9pKQkoKF9pKS0+ZGlyZWN0aW9uID09IEZESVNLX0lURVJfRk9SV0FSRCkKKyNkZWZpbmUgSVNfSVRFUl9CQUNLV0FSRChfaSkJKChfaSktPmRpcmVjdGlvbiA9PSBGRElTS19JVEVSX0JBQ0tXQVJEKQorCisjZGVmaW5lIEZESVNLX0lURVJfSU5JVChpdHIsIGxpc3QpIFwKKwlkbyB7IFwKKwkJKGl0ciktPnAgPSBJU19JVEVSX0ZPUldBUkQoaXRyKSA/IFwKKwkJCQkobGlzdCktPm5leHQgOiAobGlzdCktPnByZXY7IFwKKwkJKGl0ciktPmhlYWQgPSAobGlzdCk7IFwKKwl9IHdoaWxlKDApCisKKyNkZWZpbmUgRkRJU0tfSVRFUl9JVEVSQVRFKGl0ciwgcmVzLCByZXN0eXBlLCBtZW1iZXIpIFwKKwlkbyB7IFwKKwkJcmVzID0gbGlzdF9lbnRyeSgoaXRyKS0+cCwgcmVzdHlwZSwgbWVtYmVyKTsgXAorCQkoaXRyKS0+cCA9IElTX0lURVJfRk9SV0FSRChpdHIpID8gXAorCQkJCShpdHIpLT5wLT5uZXh0IDogKGl0ciktPnAtPnByZXY7IFwKKwl9IHdoaWxlKDApCisKKy8qCisgKiBQYXJ0aXRpb24gdHlwZXMKKyAqLworc3RydWN0IGZkaXNrX3BhcnR0eXBlIHsKKwl1bnNpZ25lZCBpbnQJY29kZTsJCS8qIHR5cGUgYXMgbnVtYmVyIG9yIHplcm8gKi8KKwljaGFyCQkqbmFtZTsJCS8qIGRlc2NyaXB0aW9uICovCisJY2hhcgkJKnR5cGVzdHI7CS8qIHR5cGUgYXMgc3RyaW5nIG9yIE5VTEwgKi8KKworCXVuc2lnbmVkIGludAlmbGFnczsJCS8qIEZESVNLX1BBUlRUWVBFXyogZmxhZ3MgKi8KKwlpbnQJCXJlZmNvdW50OwkvKiByZWZlcmVuY2UgY291bnRlciBmb3IgYWxsb2NhdGVkIHR5cGVzICovCit9OworCitlbnVtIHsKKwlGRElTS19QQVJUVFlQRV9VTktOT1dOCQk9ICgxIDw8IDEpLAorCUZESVNLX1BBUlRUWVBFX0lOVklTSUJMRQk9ICgxIDw8IDIpLAorCUZESVNLX1BBUlRUWVBFX0FMTE9DQVRFRAk9ICgxIDw8IDMpCit9OworCisjZGVmaW5lIGZkaXNrX3BhcnR0eXBlX2lzX2ludmlzaWJsZShfeCkJKChfeCkgJiYgKChfeCktPmZsYWdzICYgRkRJU0tfUEFSVFRZUEVfSU5WSVNJQkxFKSkKKyNkZWZpbmUgZmRpc2tfcGFydHR5cGVfaXNfYWxsb2NhdGVkKF94KQkoKF94KSAmJiAoKF94KS0+ZmxhZ3MgJiBGRElTS19QQVJUVFlQRV9BTExPQ0FURUQpKQorCitzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uIHsKKwlpbnQJCXJlZmNvdW50OwkJLyogcmVmZXJlbmNlIGNvdW50ZXIgKi8KKworCXNpemVfdAkJcGFydG5vOwkJCS8qIHBhcnRpdGlvbiBudW1iZXIgKi8KKwlzaXplX3QJCXBhcmVudF9wYXJ0bm87CQkvKiBmb3IgbG9naWNhbCBwYXJ0aXRpb25zICovCisKKwlmZGlza19zZWN0b3JfdAlzdGFydDsJCQkvKiBmaXJzdCBzZWN0b3JzICovCisJZmRpc2tfc2VjdG9yX3QJc2l6ZTsJCQkvKiBzaXplIGluIHNlY3RvcnMgKi8KKworCWludAkJbW92ZXN0YXJ0OwkJLyogRkRJU0tfTU9WRV8qIChzY3JpcHRzIG9ubHkpICovCisJaW50CQlyZXNpemU7CQkJLyogRkRJU0tfUkVTSVpFXyogKHNjcmlwdHMgb25seSkgKi8KKworCWNoYXIJCSpuYW1lOwkJCS8qIHBhcnRpdGlvbiBuYW1lICovCisJY2hhcgkJKnV1aWQ7CQkJLyogcGFydGl0aW9uIFVVSUQgKi8KKwljaGFyCQkqYXR0cnM7CQkJLyogcGFydGl0aW9uIGZsYWdzL2F0dHJpYnV0ZXMgY29udmVydGVkIHRvIHN0cmluZyAqLworCXN0cnVjdCBmZGlza19wYXJ0dHlwZQkqdHlwZTsJCS8qIHBhcnRpdGlvbiB0eXBlICovCisKKwljaGFyCQkqZnN0eXBlOwkJLyogZmlsZXN5c3RlbSB0eXBlICovCisJY2hhcgkJKmZzdXVpZDsJCS8qIGZpbGVzeXN0ZW0gdXVpZCAgKi8KKwljaGFyCQkqZnNsYWJlbDsJCS8qIGZpbGVzeXN0ZW0gbGFiZWwgKi8KKworCXN0cnVjdCBsaXN0X2hlYWQJcGFydHM7CQkvKiBsaXN0IG9mIHBhcnRpdGlvbnMgKi8KKworCS8qIGV4dHJhIGZpZWxkcyBmb3IgcGFydGl0aW9uX3RvX3N0cmluZygpICovCisJY2hhcgkJc3RhcnRfcG9zdDsJCS8qIHN0YXJ0IHBvc3RmaXggIChlLmcuICcrJykgKi8KKwljaGFyCQllbmRfcG9zdDsJCS8qIGVuZCBwb3N0Zml4ICovCisJY2hhcgkJc2l6ZV9wb3N0OwkJLyogc2l6ZSBwb3N0Zml4ICovCisKKwl1aW50NjRfdAlmc2l6ZTsJCQkvKiBic2QganVuayAqLworCXVpbnQ2NF90CWJzaXplOworCXVpbnQ2NF90CWNwZzsKKworCWNoYXIJCSpzdGFydF9jaHM7CQkvKiBzdGFydCBDL0gvUyBpbiBzdHJpbmcgKi8KKwljaGFyCQkqZW5kX2NoczsJCS8qIGVuZCBDL0gvUyBpbiBzdHJpbmcgKi8KKworCXVuc2lnbmVkIGludAlib290OwkJCS8qIE1CUjogYm9vdGFibGUgKi8KKworCXVuc2lnbmVkIGludAljb250YWluZXIgOiAxLAkJCS8qIGNvbnRhaW5lciBwYXJ0aXRpb24gKGUuZy4gZXh0ZW5kZWQgcGFydGl0aW9uKSAqLworCQkJZW5kX2ZvbGxvd19kZWZhdWx0IDogMSwJCS8qIHVzZSBkZWZhdWx0IGVuZCAqLworCQkJZnJlZXNwYWNlIDogMSwJCQkvKiB0aGlzIGlzIGZyZWUgc3BhY2UgKi8KKwkJCXBhcnRub19mb2xsb3dfZGVmYXVsdCA6IDEsCS8qIHVzZSBkZWZhdWx0IHBhcnRubyAqLworCQkJc2l6ZV9leHBsaWNpdCA6IDEsCQkvKiBkb24ndCBhbGlnbiB0aGUgc2l6ZSAqLworCQkJc3RhcnRfZm9sbG93X2RlZmF1bHQgOiAxLAkvKiB1c2UgZGVmYXVsdCBzdGFydCAqLworCQkJZnNfcHJvYmVkIDogMSwJCQkvKiBhbHJlYWR5IHByb2JlZCBieSBibGtpZCAqLworCQkJdXNlZCA6IDEsCQkJLyogcGFydGl0aW9uIGFscmVhZHkgdXNlZCAqLworCQkJd2hvbGVkaXNrIDogMTsJCQkvKiBzcGVjaWFsIHN5c3RlbSBwYXJ0aXRpb24gKi8KK307CisKK2VudW0geworCUZESVNLX01PVkVfTk9ORSA9IDAsCisJRkRJU0tfTU9WRV9ET1dOID0gLTEsCisJRkRJU0tfTU9WRV9VUCA9IDEKK307CisKK2VudW0geworCUZESVNLX1JFU0laRV9OT05FID0gMCwKKwlGRElTS19SRVNJWkVfUkVEVUNFID0gLTEsCisJRkRJU0tfUkVTSVpFX0VOTEFSR0UgPSAxCit9OworCisjZGVmaW5lIEZESVNLX0lOSVRfVU5ERUYoX3gpCSgoX3gpID0gKF9fdHlwZW9mX18oX3gpKSAtMSkKKyNkZWZpbmUgRkRJU0tfSVNfVU5ERUYoX3gpCSgoX3gpID09IChfX3R5cGVvZl9fKF94KSkgLTEpCisKK3N0cnVjdCBmZGlza190YWJsZSB7CisJc3RydWN0IGxpc3RfaGVhZAlwYXJ0czsJCS8qIHBhcnRpdGlvbnMgKi8KKwlpbnQJCQlyZWZjb3VudDsKKwlzaXplX3QJCQluZW50czsJCS8qIG51bWJlciBvZiBwYXJ0aXRpb25zICovCit9OworCisvKgorICogTGVnYWN5IENIUyBiYXNlZCBnZW9tZXRyeQorICovCitzdHJ1Y3QgZmRpc2tfZ2VvbWV0cnkgeworCXVuc2lnbmVkIGludCBoZWFkczsKKwlmZGlza19zZWN0b3JfdCBzZWN0b3JzOworCWZkaXNrX3NlY3Rvcl90IGN5bGluZGVyczsKK307CisKKy8qCisgKiBMYWJlbCBzcGVjaWZpYyBvcGVyYXRpb25zCisgKi8KK3N0cnVjdCBmZGlza19sYWJlbF9vcGVyYXRpb25zIHsKKwkvKiBwcm9iZSBkaXNrIGxhYmVsICovCisJaW50ICgqcHJvYmUpKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCS8qIHdyaXRlIGluLW1lbW9yeSBjaGFuZ2VzIHRvIGRpc2sgKi8KKwlpbnQgKCp3cml0ZSkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CisJLyogdmVyaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUgKi8KKwlpbnQgKCp2ZXJpZnkpKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCS8qIGNyZWF0ZSBuZXcgZGlzayBsYWJlbCAqLworCWludCAoKmNyZWF0ZSkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CisJLyogcmV0dXJucyBvZmZzZXQgYW5kIHNpemUgb2YgdGhlICduJyBwYXJ0IG9mIHRoZSBQVCAqLworCWludCAoKmxvY2F0ZSkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgaW50IG4sIGNvbnN0IGNoYXIgKipuYW1lLAorCQkgICAgICB1aW50NjRfdCAqb2Zmc2V0LCBzaXplX3QgKnNpemUpOworCS8qIHJlb3JkZXIgcGFydGl0aW9ucyAqLworCWludCAoKnJlb3JkZXIpKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCS8qIGdldCBkZXRhaWxzIGZyb20gbGFiZWwgKi8KKwlpbnQgKCpnZXRfaXRlbSkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX2xhYmVsaXRlbSAqaXRlbSk7CisJLyogc2V0IGRpc2sgbGFiZWwgSUQgKi8KKwlpbnQgKCpzZXRfaWQpKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCisKKwkvKiBuZXcgcGFydGl0aW9uICovCisJaW50ICgqYWRkX3BhcnQpKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhLAorCQkJCQkJc2l6ZV90ICpwYXJ0bm8pOworCS8qIGRlbGV0ZSBwYXJ0aXRpb24gKi8KKwlpbnQgKCpkZWxfcGFydCkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IHBhcnRudW0pOworCisJLyogZmlsbCBpbiBwYXJ0aXRpb24gc3RydWN0ICovCisJaW50ICgqZ2V0X3BhcnQpKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBuLAorCQkJCQkJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpOworCS8qIG1vZGlmeSBwYXJ0aXRpb24gKi8KKwlpbnQgKCpzZXRfcGFydCkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IG4sCisJCQkJCQlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSk7CisKKwkvKiByZXR1cm4gc3RhdGUgb2YgdGhlIHBhcnRpdGlvbiAqLworCWludCAoKnBhcnRfaXNfdXNlZCkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IHBhcnRudW0pOworCisJaW50ICgqcGFydF90b2dnbGVfZmxhZykoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IGksIHVuc2lnbmVkIGxvbmcgZmxhZyk7CisKKwkvKiByZWZyZXNoIGFsaWdubWVudCBzZXR0aW5nICovCisJaW50ICgqcmVzZXRfYWxpZ25tZW50KShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKKworCS8qIGZyZWUgaW4tbWVtb3J5IGxhYmVsIHN0dWZmICovCisJdm9pZCAoKmZyZWUpKHN0cnVjdCBmZGlza19sYWJlbCAqbGIpOworCisJLyogZGVpbml0IGluLW1lbW9yeSBsYWJlbCBzdHVmZiAqLworCXZvaWQgKCpkZWluaXQpKHN0cnVjdCBmZGlza19sYWJlbCAqbGIpOworfTsKKworLyoKKyAqIFRoZSBmaWVsZHMgZGVzY3JpYmVzIGhvdyB0byBkaXNwbGF5IGxpYmZkaXNrX3BhcnRpdGlvbgorICovCitzdHJ1Y3QgZmRpc2tfZmllbGQgeworCWludAkJaWQ7CQkvKiBGRElTS19GSUVMRF8qICovCisJY29uc3QgY2hhcgkqbmFtZTsJCS8qIGZpZWxkIG5hbWUgKi8KKwlkb3VibGUJCXdpZHRoOwkJLyogZmllbGQgd2lkdGggKGNvbXBhdGlibGUgd2l0aCBsaWJzbWFydGNvbHMgd2hpbnQpICovCisJaW50CQlmbGFnczsJCS8qIEZESVNLX0ZJRUxERkxfKiAqLworfTsKKworLyogbm90ZSB0aGF0IHRoZSBkZWZhdWx0cyBpcyB0byBkaXNwbGF5IGEgY29sdW1uIGFsd2F5cyAqLworZW51bSB7CisJRkRJU0tfRklFTERGTF9ERVRBSUwJPSAoMSA8PCAxKSwJLyogb25seSBkaXNwbGF5IGlmIGZkaXNrX2lzX2RldGFpbHMoKSAqLworCUZESVNLX0ZJRUxERkxfRVlFQ0FORFkJPSAoMSA8PCAyKSwJLyogZG9uJ3QgZGlzcGxheSBpZiBmZGlza19pc19kZXRhaWxzKCkgKi8KKwlGRElTS19GSUVMREZMX05VTUJFUgk9ICgxIDw8IDMpLAkvKiBjb2x1bW4gZGlzcGxheSBudW1iZXJzICovCit9OworCisvKgorICogR2VuZXJpYyBsYWJlbAorICovCitzdHJ1Y3QgZmRpc2tfbGFiZWwgeworCWNvbnN0IGNoYXIJCSpuYW1lOwkJLyogbGFiZWwgbmFtZSAqLworCWVudW0gZmRpc2tfbGFiZWx0eXBlCWlkOwkJLyogRkRJU0tfRElTS0xBQkVMXyogKi8KKwlzdHJ1Y3QgZmRpc2tfcGFydHR5cGUJKnBhcnR0eXBlczsJLyogc3VwcG9ydGVkIHBhcnRpdGlvbnMgdHlwZXMgKi8KKwlzaXplX3QJCQlucGFydHR5cGVzOwkvKiBudW1iZXIgb2YgaXRlbXMgaW4gcGFydHR5cGVzW10gKi8KKworCXNpemVfdAkJCW5wYXJ0c19tYXg7CS8qIG1heGltYWwgbnVtYmVyIG9mIHBhcnRpdGlvbnMgKi8KKwlzaXplX3QJCQlucGFydHNfY3VyOwkvKiBudW1iZXIgb2YgY3VycmVudGx5IHVzZWQgcGFydGl0aW9ucyAqLworCisJaW50CQkJZmxhZ3M7CQkvKiBGRElTS19MQUJFTF9GTF8qIGZsYWdzICovCisKKwl1bnNpZ25lZCBpbnQJCWNoYW5nZWQ6MSwJLyogbGFiZWwgaGFzIGJlZW4gbW9kaWZpZWQgKi8KKwkJCQlkaXNhYmxlZDoxOwkvKiB0aGlzIGRyaXZlciBpcyBkaXNhYmxlZCBhdCBhbGwgKi8KKworCWNvbnN0IHN0cnVjdCBmZGlza19maWVsZCAqZmllbGRzOwkvKiBhbGwgcG9zc2libGUgZmllbGRzICovCisJc2l6ZV90CQkJbmZpZWxkczsKKworCWNvbnN0IHN0cnVjdCBmZGlza19sYWJlbF9vcGVyYXRpb25zICpvcDsKK307CisKKworLyogbGFiZWwgZHJpdmVyIGZsYWdzICovCitlbnVtIHsKKwlGRElTS19MQUJFTF9GTF9SRVFVSVJFX0dFT01FVFJZID0gKDEgPDwgMiksCisJRkRJU0tfTEFCRUxfRkxfSU5DSEFSU19QQVJUTk8gICA9ICgxIDw8IDMpCit9OworCisvKiBsYWJlbCBhbGxvY2F0b3JzICovCitleHRlcm4gc3RydWN0IGZkaXNrX2xhYmVsICpmZGlza19uZXdfZ3B0X2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworZXh0ZXJuIHN0cnVjdCBmZGlza19sYWJlbCAqZmRpc2tfbmV3X2Rvc19sYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2V4dGVybiBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmZkaXNrX25ld19ic2RfbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitleHRlcm4gc3RydWN0IGZkaXNrX2xhYmVsICpmZGlza19uZXdfc2dpX2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworZXh0ZXJuIHN0cnVjdCBmZGlza19sYWJlbCAqZmRpc2tfbmV3X3N1bl9sYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKKworCitzdHJ1Y3QgYXNrX21lbnVpdGVtIHsKKwljaGFyCWtleTsKKwljb25zdCBjaGFyCSpuYW1lOworCWNvbnN0IGNoYXIJKmRlc2M7CisKKwlzdHJ1Y3QgYXNrX21lbnVpdGVtICpuZXh0OworfTsKKworLyogZmRpc2sgZGlhbG9nIC0tIG5vdGUgdGhhdCBub3RoaW5nIGZyb20gdGhpcyBzdHVmZiB3aWxsIGJlIGRpcmVjdGx5IGV4cG9ydGVkLAorICogd2Ugd2lsbCBoYXZlIGdldC9zZXQoKSBmdW5jdGlvbiBmb3IgZXZlcnl0aGluZy4KKyAqLworc3RydWN0IGZkaXNrX2FzayB7CisJaW50CQl0eXBlOwkJLyogRkRJU0tfQVNLVFlQRV8qICovCisJY2hhcgkJKnF1ZXJ5OworCisJaW50CQlyZWZjb3VudDsKKworCXVuaW9uIHsKKwkJLyogRkRJU0tfQVNLVFlQRV97TlVNQkVSLE9GRlNFVH0gKi8KKwkJc3RydWN0IGFza19udW1iZXIgeworCQkJdWludDY0X3QJaGlnOwkJLyogaGlnaCBsaW1pdCAqLworCQkJdWludDY0X3QJbG93OwkJLyogbG93IGxpbWl0ICovCisJCQl1aW50NjRfdAlkZmw7CQkvKiBkZWZhdWx0ICovCisJCQl1aW50NjRfdAlyZXN1bHQ7CisJCQl1aW50NjRfdAliYXNlOwkJLyogZm9yIHJlbGF0aXZlIHJlc3VsdHMgKi8KKwkJCXVpbnQ2NF90CXVuaXQ7CQkvKiB1bml0IGZvciBvZmZzZXRzICovCisJCQljb25zdCBjaGFyCSpyYW5nZTsJCS8qIGJ5IGxpYnJhcnkgZ2VuZXJhdGVkIGxpc3QgKi8KKwkJCXVuc2lnbmVkIGludAlyZWxhdGl2ZSA6MSwKKwkJCQkJaW5jaGFycyAgOjE7CisJCX0gbnVtOworCQkvKiBGRElTS19BU0tUWVBFX3tXQVJOLFdBUk5YLC4ufSAqLworCQlzdHJ1Y3QgYXNrX3ByaW50IHsKKwkJCWNvbnN0IGNoYXIJKm1lc2c7CisJCQlpbnQJCWVycm51bTsJCS8qIGVycm5vICovCisJCX0gcHJpbnQ7CisJCS8qIEZESVNLX0FTS1RZUEVfWUVTTk8gKi8KKwkJc3RydWN0IGFza195ZXNubyB7CisJCQlpbnQJCXJlc3VsdDsJCS8qIFRSVUUgb3IgRkFMU0UgKi8KKwkJfSB5ZXNubzsKKwkJLyogRkRJU0tfQVNLVFlQRV9TVFJJTkcgKi8KKwkJc3RydWN0IGFza19zdHJpbmcgeworCQkJY2hhcgkJKnJlc3VsdDsJLyogYWxsb2NhdGVkICovCisJCX0gc3RyOworCQkvKiBGRElTS19BU0tUWVBFX01FTlUgKi8KKwkJc3RydWN0IGFza19tZW51IHsKKwkJCWludAkJZGZsOwkJLyogZGVmYXVsdCBtZW51IGl0ZW0gKi8KKwkJCWludAkJcmVzdWx0OworCQkJc3RydWN0IGFza19tZW51aXRlbSAqZmlyc3Q7CisJCX0gbWVudTsKKwl9IGRhdGE7Cit9OworCitzdHJ1Y3QgZmRpc2tfY29udGV4dCB7CisJaW50IGRldl9mZDsgICAgICAgICAvKiBkZXZpY2UgZGVzY3JpcHRvciAqLworCWNoYXIgKmRldl9wYXRoOyAgICAgLyogZGV2aWNlIHBhdGggKi8KKwlpbnQgcmVmY291bnQ7CisKKwl1bnNpZ25lZCBjaGFyICpmaXJzdHNlY3RvcjsgLyogYnVmZmVyIHdpdGggbWFzdGVyIGJvb3QgcmVjb3JkICovCisJdW5zaWduZWQgbG9uZyBmaXJzdHNlY3Rvcl9idWZzejsKKworCS8qIHRvcG9sb2d5ICovCisJdW5zaWduZWQgbG9uZyBpb19zaXplOwkJLyogSS9PIHNpemUgdXNlZCBieSBmZGlzayAqLworCXVuc2lnbmVkIGxvbmcgb3B0aW1hbF9pb19zaXplOwkvKiBvcHRpb25hbCBJL08gcmV0dXJuZWQgYnkgZGV2aWNlICovCisJdW5zaWduZWQgbG9uZyBtaW5faW9fc2l6ZTsJLyogbWluaW1hbCBJL08gc2l6ZSAqLworCXVuc2lnbmVkIGxvbmcgcGh5X3NlY3Rvcl9zaXplOwkvKiBwaHlzaWNhbCBzaXplICovCisJdW5zaWduZWQgbG9uZyBzZWN0b3Jfc2l6ZTsJLyogbG9naWNhbCBzaXplICovCisJdW5zaWduZWQgbG9uZyBhbGlnbm1lbnRfb2Zmc2V0OworCisJdW5zaWduZWQgaW50IHJlYWRvbmx5IDogMSwJCS8qIGRvbid0IHdyaXRlIHRvIHRoZSBkZXZpY2UgKi8KKwkJICAgICBkaXNwbGF5X2luX2N5bF91bml0cyA6IDEsCS8qIGZvciBvYnNjdXJlIGxhYmVscyAqLworCQkgICAgIGRpc3BsYXlfZGV0YWlscyA6IDEsCS8qIGV4cGVydCBkaXNwbGF5IG1vZGUgKi8KKwkJICAgICBwcm90ZWN0X2Jvb3RiaXRzIDogMSwJLyogZG9uJ3QgemVyb2l6ZSBmaXJzdCBzZWN0b3IgKi8KKwkJICAgICBsaXN0b25seSA6IDE7CQkvKiBsaXN0IHBhcnRpdGlvbiwgbm90aGluZyBlbHNlICovCisKKwljaGFyICpjb2xsaXNpb247CQkJLyogbmFtZSBvZiBhbHJlYWR5IGV4aXN0aW5nIEZTL1BUICovCisJc3RydWN0IGxpc3RfaGVhZCB3aXBlczsJCQkvKiBsaXN0IG9mIGFyZWFzIHRvIHdpcGUgYmVmb3JlIHdyaXRlICovCisKKwlpbnQgc2l6ZXVuaXQ7CQkJCS8qIFNJWkUgZmllbGRzLCBGRElTS19TSVpFVU5JVF8qICovCisKKwkvKiBhbGlnbm1lbnQgKi8KKwl1bnNpZ25lZCBsb25nIGdyYWluOwkJLyogYWxpZ25tZW50IHVuaXQgKi8KKwlmZGlza19zZWN0b3JfdCBmaXJzdF9sYmE7CQkvKiByZWNvbW1lbmRlZCBiZWdpbiBvZiB0aGUgZmlyc3QgcGFydGl0aW9uICovCisJZmRpc2tfc2VjdG9yX3QgbGFzdF9sYmE7CQkvKiByZWNvbW1lbmRlZCBlbmQgb2YgbGFzdCBwYXJ0aXRpb24gKi8KKworCS8qIGdlb21ldHJ5ICovCisJZmRpc2tfc2VjdG9yX3QgdG90YWxfc2VjdG9yczsJLyogaW4gbG9naWNhbCBzZWN0b3JzICovCisJc3RydWN0IGZkaXNrX2dlb21ldHJ5IGdlb207CisKKwkvKiB1c2VyIHNldHRpbmcgdG8gb3ZlcndyaXRlIGRldmljZSBkZWZhdWx0ICovCisJc3RydWN0IGZkaXNrX2dlb21ldHJ5IHVzZXJfZ2VvbTsKKwl1bnNpZ25lZCBsb25nIHVzZXJfcHloX3NlY3RvcjsKKwl1bnNpZ25lZCBsb25nIHVzZXJfbG9nX3NlY3RvcjsKKworCXN0cnVjdCBmZGlza19sYWJlbCAqbGFiZWw7CS8qIGN1cnJlbnQgbGFiZWwsIHBvaW50ZXIgdG8gbGFiZWxzW10gKi8KKworCXNpemVfdCBubGFiZWxzOwkJCS8qIG51bWJlciBvZiBpbml0aWFsaXplZCBsYWJlbCBkcml2ZXJzICovCisJc3RydWN0IGZkaXNrX2xhYmVsICpsYWJlbHNbOF07CS8qIGFsbCBzdXBwb3J0ZWQgbGFiZWxzLAorCQkJCQkgKiBGSVhNRTogdXNlIGFueSBlbnVtIHJhdGhlciB0aGFuIGhhcmRjb2RlZCBudW1iZXIgKi8KKworCWludAkoKmFza19jYikoc3RydWN0IGZkaXNrX2NvbnRleHQgKiwgc3RydWN0IGZkaXNrX2FzayAqLCB2b2lkICopOwkvKiBmZGlzayBkaWFsb2dzIGNhbGxiYWNrICovCisJdm9pZAkqYXNrX2RhdGE7CQkvKiBhc2tfY2IoKSBkYXRhICovCisKKwlzdHJ1Y3QgZmRpc2tfY29udGV4dAkqcGFyZW50OwkvKiBmb3IgbmVzdGVkIFBUICovCisJc3RydWN0IGZkaXNrX3NjcmlwdAkqc2NyaXB0OwkvKiB3aGF0IHdlIHdhbnQgdG8gZm9sbG93ICovCit9OworCisvKiBjb250ZXh0LmMgKi8KK2V4dGVybiBpbnQgX19mZGlza19zd2l0Y2hfbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCQkgICAgc3RydWN0IGZkaXNrX2xhYmVsICpsYik7CitleHRlcm4gaW50IGZkaXNrX21pc3NpbmdfZ2VvbWV0cnkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CisKKy8qIGFsaWdubWVudC5jICovCitmZGlza19zZWN0b3JfdCBmZGlza19zY3JvdW5kKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGZkaXNrX3NlY3Rvcl90IG51bSk7CitmZGlza19zZWN0b3JfdCBmZGlza19jcm91bmQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgZmRpc2tfc2VjdG9yX3QgbnVtKTsKKworZXh0ZXJuIGludCBmZGlza19kaXNjb3Zlcl9nZW9tZXRyeShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2V4dGVybiBpbnQgZmRpc2tfZGlzY292ZXJfdG9wb2xvZ3koc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CisKK2V4dGVybiBpbnQgZmRpc2tfYXBwbHlfdXNlcl9kZXZpY2VfcHJvcGVydGllcyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2V4dGVybiB2b2lkIGZkaXNrX3plcm9pemVfZGV2aWNlX3Byb3BlcnRpZXMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CisKKy8qIHV0aWxzLmMgKi8KK2V4dGVybiBpbnQgZmRpc2tfaW5pdF9maXJzdHNlY3Rvcl9idWZmZXIoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCXVuc2lnbmVkIGludCBwcm90ZWN0X29mZiwgdW5zaWduZWQgaW50IHByb3RlY3Rfc2l6ZSk7CitleHRlcm4gaW50IGZkaXNrX3JlYWRfZmlyc3RzZWN0b3Ioc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CisKKy8qIGxhYmVsLmMgKi8KK2V4dGVybiBpbnQgZmRpc2tfcHJvYmVfbGFiZWxzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworZXh0ZXJuIHZvaWQgZmRpc2tfZGVpbml0X2xhYmVsKHN0cnVjdCBmZGlza19sYWJlbCAqbGIpOworCitzdHJ1Y3QgZmRpc2tfbGFiZWxpdGVtIHsKKwlpbnQJCXJlZmNvdW50OwkvKiByZWZlcmVuY2UgY291bnRlciAqLworCWludAkJaWQ7CQkvKiA8bGFiZWw+X0lURU1fKiAqLworCWNoYXIJCXR5cGU7CQkvKiBzID0gc3RyaW5nLCBqID0gdWludDY0ICovCisJY29uc3QgY2hhcgkqbmFtZTsJCS8qIGh1bWFuIHJlYWRhYmxlIG5hbWUgKi8KKworCXVuaW9uIHsKKwkJY2hhcgkJKnN0cjsKKwkJdWludDY0X3QJbnVtNjQ7CisJfSBkYXRhOworfTsKKworLyogVXNlIG9ubHkgaW50ZXJuYWxseSBmb3Igbm9uLWFsbG9jYXRlZCBpdGVtcywgbmV2ZXIgdXNlCisgKiByZWZjb3V0aW5nIGZvciBzdWNoIGl0ZW1zIQorICovCisjZGVmaW5lIEZESVNLX0xBQkVMSVRFTV9JTklUCXsgLnR5cGUgPSAwLCAucmVmY291bnQgPSAwIH0KKworLyogYXNrLmMgKi8KK3N0cnVjdCBmZGlza19hc2sgKmZkaXNrX25ld19hc2sodm9pZCk7Cit2b2lkIGZkaXNrX3Jlc2V0X2FzayhzdHJ1Y3QgZmRpc2tfYXNrICphc2spOworaW50IGZkaXNrX2Fza19zZXRfcXVlcnkoc3RydWN0IGZkaXNrX2FzayAqYXNrLCBjb25zdCBjaGFyICpzdHIpOworaW50IGZkaXNrX2Fza19zZXRfdHlwZShzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIGludCB0eXBlKTsKK2ludCBmZGlza19kb19hc2soc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX2FzayAqYXNrKTsKK2ludCBmZGlza19hc2tfbnVtYmVyX3NldF9yYW5nZShzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIGNvbnN0IGNoYXIgKnJhbmdlKTsKK2ludCBmZGlza19hc2tfbnVtYmVyX3NldF9kZWZhdWx0KHN0cnVjdCBmZGlza19hc2sgKmFzaywgdWludDY0X3QgZGZsdCk7CitpbnQgZmRpc2tfYXNrX251bWJlcl9zZXRfbG93KHN0cnVjdCBmZGlza19hc2sgKmFzaywgdWludDY0X3QgbG93KTsKK2ludCBmZGlza19hc2tfbnVtYmVyX3NldF9oaWdoKHN0cnVjdCBmZGlza19hc2sgKmFzaywgdWludDY0X3QgaGlnaCk7CitpbnQgZmRpc2tfYXNrX251bWJlcl9zZXRfYmFzZShzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIHVpbnQ2NF90IGJhc2UpOworaW50IGZkaXNrX2Fza19udW1iZXJfc2V0X3VuaXQoc3RydWN0IGZkaXNrX2FzayAqYXNrLCB1aW50NjRfdCB1bml0KTsKK2ludCBmZGlza19hc2tfbnVtYmVyX2lzX3JlbGF0aXZlKHN0cnVjdCBmZGlza19hc2sgKmFzayk7CitpbnQgZmRpc2tfYXNrX21lbnVfc2V0X2RlZmF1bHQoc3RydWN0IGZkaXNrX2FzayAqYXNrLCBpbnQgZGZsKTsKK2ludCBmZGlza19hc2tfbWVudV9hZGRfaXRlbShzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIGludCBrZXksCisJCQljb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpkZXNjKTsKK2ludCBmZGlza19hc2tfcHJpbnRfc2V0X2Vycm5vKHN0cnVjdCBmZGlza19hc2sgKmFzaywgaW50IGVycm51bSk7CitpbnQgZmRpc2tfYXNrX3ByaW50X3NldF9tZXNnKHN0cnVjdCBmZGlza19hc2sgKmFzaywgY29uc3QgY2hhciAqbWVzZyk7CitpbnQgZmRpc2tfaW5mb19uZXdfcGFydGl0aW9uKAorCQkJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCWludCBudW0sIGZkaXNrX3NlY3Rvcl90IHN0YXJ0LCBmZGlza19zZWN0b3JfdCBzdG9wLAorCQkJc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0KTsKKworLyogZG9zLmMgKi8KK2V4dGVybiBzdHJ1Y3QgZG9zX3BhcnRpdGlvbiAqZmRpc2tfZG9zX2dldF9wYXJ0aXRpb24oCisJCQkJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCQlzaXplX3QgaSk7CisKKy8qIHdpcGUuYyAqLwordm9pZCBmZGlza19mcmVlX3dpcGVfYXJlYXMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitpbnQgZmRpc2tfc2V0X3dpcGVfYXJlYShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCB1aW50NjRfdCBzdGFydCwgdWludDY0X3Qgc2l6ZSwgaW50IGVuYWJsZSk7CitpbnQgZmRpc2tfZG9fd2lwZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2ludCBmZGlza19oYXNfd2lwZV9hcmVhKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHVpbnQ2NF90IHN0YXJ0LCB1aW50NjRfdCBzaXplKTsKKworI2VuZGlmIC8qIF9MSUJGRElTS19QUklWQVRFX0ggKi8KZGlmZiAtLWdpdCBhL2xpYmZkaXNrL3NyYy9maWVsZC5jIGIvbGliZmRpc2svc3JjL2ZpZWxkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTkyNGNmOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmZkaXNrL3NyYy9maWVsZC5jCkBAIC0wLDAgKzEsODggQEAKKworI2luY2x1ZGUgImZkaXNrUC5oIgorCisvKioKKyAqIFNFQ1RJT046IGZpZWxkCisgKiBAdGl0bGU6IEZpZWxkCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGRlc2NyaXB0aW9uIG9mIHRoZSBwYXJ0aXRpb24gZmllbGRzCisgKgorICogVGhlIGZkaXNrIGZpZWxkcyBhcmUgc3RhdGljIHVzZXItZnJpZW5kbHkgZGVzY3JpcHRpb25zIG9mIHRoZSBwYXJ0aXRpb24uIFRoZQorICogZmllbGRzIGFyZSB1c2VkIHRvIGF2b2lkIGxhYmVsIHNwZWNpZmljIHN0dWZmIGluIHRoZSBmdW5jdGlvbnMgdGhhdCBsaXN0IGRpc2sKKyAqIHBhcnRpdGlvbnMgKGUuZy4gZmRpc2sgLWwpLiBUaGUgZmllbGQgSWQgaXMgdGhlIHNhbWUgYXMgSWQgZm9yIGZkaXNrX3BhcnRpdGlvbl90b19zdHJpbmcoKS4KKyAqCisgKiA8aW5mb3JtYWxleGFtcGxlPgorICogICA8cHJvZ3JhbWxpc3Rpbmc+CisgKiBpbnQgKmlkczsKKyAqIHNpemVfdCBuaWRzOworICogc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBOVUxMOworICogc3RydWN0IGZkaXNrX2xhYmVsICpsYiA9IGZkaXNrX2dldF9sYWJlbChjeHQsIE5VTEwpOworICoKKyAqIGZkaXNrX2xhYmVsX2dldF9maWVsZHNfaWRzKGxiLCBjeHQsICZpZHMsICZuaWRzKTsKKyAqCisgKiBmZGlza19nZXRfcGFydGl0aW9uKGN4dCwgMCwgJnBhKTsKKyAqCisgKiBmb3IgKGkgPSAwOyBpIDwgbmlkczsgaSsrKSB7CisgKgljb25zdCBzdHJ1Y3QgZmRpc2tfZmllbGQgKmZpZWxkID0gZmRpc2tfbGFiZWxfZ2V0X2ZpZWxkKGxiLCBpZHNbaV0pOworICoKKyAqCWludCBpZCA9IGZkaXNrX2ZpZWxkX2dldF9pZChmbCk7CisgKgljb25zdCBjaGFyICpuYW1lID0gZmRpc2tfZmllbGRfZ2V0X25hbWUoZmwpOworICoJY2hhciAqZGF0YTsKKyAqCisgKglmZGlza19wYXJ0aXRpb25fdG9fc3RyaW5nKHBhLCBpZCwgJmRhdGEpOworICoJcHJpbnRmKCIlczogJXNcbiIsIG5hbWUsIGRhdGEpOworICoJZnJlZShkYXRhKTsKKyAqIH0KKyAqIGZyZWUoaWRzKTsKKyAqICAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKyAqCisgKiBUaGlzIGV4YW1wbGUgbGlzdHMgYWxsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBmaXJzdCBwYXJ0aXRpb24uIEl0IHdpbGwgd29yaworICogZm9yIE1CUiBhcyB3ZWxsIGFzIGZvciBHUFQgYmVjYXVzZSBmaWVsZHMgYXJlIG5vdCBoYXJkY29kZWQgaW4gdGhlIGV4YW1wbGUuCisgKgorICogU2VlIGFsc28gZmRpc2tfbGFiZWxfZ2V0X2ZpZWxkX2J5X25hbWUoKSwgZmRpc2tfbGFiZWxfZ2V0X2ZpZWxkc19pZHNfYWxsKCkKKyAqIGFuZCBmZGlza19sYWJlbF9nZXRfZmllbGRzX2lkcygpLgorICovCisKKy8qKgorICogZmRpc2tfZmllbGRfZ2V0X2lkOgorICogQGZpZWxkOiBmaWVsZCBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IGZpZWxkIElkIChGRElTS19GSUVMRF8qKQorICovCitpbnQgZmRpc2tfZmllbGRfZ2V0X2lkKGNvbnN0IHN0cnVjdCBmZGlza19maWVsZCAqZmllbGQpCit7CisJcmV0dXJuIGZpZWxkID8gZmllbGQtPmlkIDogLUVJTlZBTDsKK30KKworLyoqCisgKiBmZGlza19maWVsZF9nZXRfbmFtZToKKyAqIEBmaWVsZDogZmllbGQgaW5zdGFuY2UKKyAqCisgKiBSZXR1cm5zOiBmaWVsZCBuYW1lCisgKi8KK2NvbnN0IGNoYXIgKmZkaXNrX2ZpZWxkX2dldF9uYW1lKGNvbnN0IHN0cnVjdCBmZGlza19maWVsZCAqZmllbGQpCit7CisJcmV0dXJuIGZpZWxkID8gZmllbGQtPm5hbWUgOiBOVUxMOworfQorCisvKioKKyAqIGZkaXNrX2ZpZWxkX2dldF93aWR0aDoKKyAqIEBmaWVsZDogZmllbGQgaW5zdGFuY2UKKyAqCisgKiBSZXR1cm5zOiBsaWJzbWFydGNvbHMgY29tcGF0aWJsZSB3aWR0aC4KKyAqLworZG91YmxlIGZkaXNrX2ZpZWxkX2dldF93aWR0aChjb25zdCBzdHJ1Y3QgZmRpc2tfZmllbGQgKmZpZWxkKQoreworCXJldHVybiBmaWVsZCA/IGZpZWxkLT53aWR0aCA6IC1FSU5WQUw7Cit9CisKKy8qKgorICogZmRpc2tfZmllbGRfaXNfbnVtYmVyOgorICogQGZpZWxkOiBmaWVsZCBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IDEgaWYgZmllbGQgcmVwcmVzZW50IG51bWJlcgorICovCitpbnQgZmRpc2tfZmllbGRfaXNfbnVtYmVyKGNvbnN0IHN0cnVjdCBmZGlza19maWVsZCAqZmllbGQpCit7CisJcmV0dXJuIGZpZWxkLT5mbGFncyA/IGZpZWxkLT5mbGFncyAmIEZESVNLX0ZJRUxERkxfTlVNQkVSIDogMDsKK30KZGlmZiAtLWdpdCBhL2xpYmZkaXNrL3NyYy9ncHQuYyBiL2xpYmZkaXNrL3NyYy9ncHQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjE1OGZiCi0tLSAvZGV2L251bGwKKysrIGIvbGliZmRpc2svc3JjL2dwdC5jCkBAIC0wLDAgKzEsMzAwOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAxMiBEYXZpZGxvaHIgQnVlc28gPGRhdmVAZ251Lm9yZz4KKyAqCisgKiBHVUlEIFBhcnRpdGlvbiBUYWJsZSAoR1BUKSBzdXBwb3J0LiBCYXNlZCBvbiBVRUZJIFNwZWNzIDIuMy4xCisgKiBDaGFwdGVyIDU6IEdVSUQgUGFydGl0aW9uIFRhYmxlIChHUFQpIERpc2sgTGF5b3V0IChKdW4gMjd0aCwgMjAxMikuCisgKiBTb21lIGlkZWFzIGFuZCBpbnNwaXJhdGlvbiBmcm9tIEdOVSBwYXJ0ZWQgYW5kIGdwdGZkaXNrLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3V0c25hbWUuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDx1dWlkLmg+CisKKyNpbmNsdWRlICJmZGlza1AuaCIKKworI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgImNyYzMyLmgiCisjaW5jbHVkZSAiYmxrZGV2LmgiCisjaW5jbHVkZSAiYml0b3BzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJhbGwtaW8uaCIKKyNpbmNsdWRlICJwdC1tYnIuaCIKKworLyoqCisgKiBTRUNUSU9OOiBncHQKKyAqIEB0aXRsZTogVUVGSSBHUFQKKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogc3BlY2lmaWMgZnVuY3Rpb25hbGl0eQorICovCisKKyNkZWZpbmUgR1BUX0hFQURFUl9TSUdOQVRVUkUgMHg1NDUyNDE1MDIwNDk0NjQ1TEwgLyogRUZJIFBBUlQgKi8KKyNkZWZpbmUgR1BUX0hFQURFUl9SRVZJU0lPTl9WMV8wMiAweDAwMDEwMjAwCisjZGVmaW5lIEdQVF9IRUFERVJfUkVWSVNJT05fVjFfMDAgMHgwMDAxMDAwMAorI2RlZmluZSBHUFRfSEVBREVSX1JFVklTSU9OX1YwXzk5IDB4MDAwMDk5MDAKKyNkZWZpbmUgR1BUX0hFQURFUl9NSU5TWiAgICAgICAgICA5MiAvKiBieXRlcyAqLworCisjZGVmaW5lIEdQVF9QTUJSX0xCQSAgICAgICAgMAorI2RlZmluZSBHUFRfTUJSX1BST1RFQ1RJVkUgIDEKKyNkZWZpbmUgR1BUX01CUl9IWUJSSUQgICAgICAyCisKKyNkZWZpbmUgR1BUX1BSSU1BUllfUEFSVElUSU9OX1RBQkxFX0xCQSAweDAwMDAwMDAxVUxMCisKKyNkZWZpbmUgRUZJX1BNQlJfT1NUWVBFICAgICAweEVFCisjZGVmaW5lIE1TRE9TX01CUl9TSUdOQVRVUkUgMHhBQTU1CisjZGVmaW5lIEdQVF9QQVJUX05BTUVfTEVOICAgKDcyIC8gc2l6ZW9mKHVpbnQxNl90KSkKKyNkZWZpbmUgR1BUX05QQVJUSVRJT05TICAgICBGRElTS19HUFRfTlBBUlRJVElPTlNfREVGQVVMVAorCisvKiBHbG9iYWxseSB1bmlxdWUgaWRlbnRpZmllciAqLworc3RydWN0IGdwdF9ndWlkIHsKKwl1aW50MzJfdCAgIHRpbWVfbG93OworCXVpbnQxNl90ICAgdGltZV9taWQ7CisJdWludDE2X3QgICB0aW1lX2hpX2FuZF92ZXJzaW9uOworCXVpbnQ4X3QgICAgY2xvY2tfc2VxX2hpOworCXVpbnQ4X3QgICAgY2xvY2tfc2VxX2xvdzsKKwl1aW50OF90ICAgIG5vZGVbNl07Cit9OworCisKKy8qIG9ubHkgY2hlY2tpbmcgdGhhdCB0aGUgR1VJRCBpcyAwIGlzIGVub3VnaCB0byB2ZXJpZnkgYW4gZW1wdHkgcGFydGl0aW9uLiAqLworI2RlZmluZSBHUFRfVU5VU0VEX0VOVFJZX0dVSUQJCQkJCQlcCisJKChzdHJ1Y3QgZ3B0X2d1aWQpIHsgMHgwMDAwMDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAsIDB4MDAsCVwKKwkJCSAgICAgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwIH19KQorCisvKiBMaW51eCBuYXRpdmUgcGFydGl0aW9uIHR5cGUgKi8KKyNkZWZpbmUgR1BUX0RFRkFVTFRfRU5UUllfVFlQRSAiMEZDNjNEQUYtODQ4My00NzcyLThFNzktM0Q2OUQ4NDc3REU0IgorCisvKgorICogQXR0cmlidXRlIGJpdHMKKyAqLworZW51bSB7CisJLyogVUVGSSBzcGVjaWZpYyAqLworCUdQVF9BVFRSQklUX1JFUSAgICAgID0gMCwKKwlHUFRfQVRUUkJJVF9OT0JMT0NLICA9IDEsCisJR1BUX0FUVFJCSVRfTEVHQUNZICAgPSAyLAorCisJLyogR1VJRCBzcGVjaWZpYyAocmFuZ2UgNDguLjY0KSovCisJR1BUX0FUVFJCSVRfR1VJRF9GSVJTVAk9IDQ4LAorCUdQVF9BVFRSQklUX0dVSURfQ09VTlQJPSAxNgorfTsKKworI2RlZmluZSBHUFRfQVRUUlNUUl9SRVEJCSJSZXF1aXJlZFBhcnRpdGlvbiIKKyNkZWZpbmUgR1BUX0FUVFJTVFJfUkVRX1RZUE8JIlJlcXVpcmVkUGFydGl0b24iCisjZGVmaW5lIEdQVF9BVFRSU1RSX05PQkxPQ0sJIk5vQmxvY2tJT1Byb3RvY29sIgorI2RlZmluZSBHUFRfQVRUUlNUUl9MRUdBQ1kJIkxlZ2FjeUJJT1NCb290YWJsZSIKKworLyogVGhlIEdQVCBQYXJ0aXRpb24gZW50cnkgYXJyYXkgY29udGFpbnMgYW4gYXJyYXkgb2YgR1BUIGVudHJpZXMuICovCitzdHJ1Y3QgZ3B0X2VudHJ5IHsKKwlzdHJ1Y3QgZ3B0X2d1aWQgICAgIHR5cGU7IC8qIHB1cnBvc2UgYW5kIHR5cGUgb2YgdGhlIHBhcnRpdGlvbiAqLworCXN0cnVjdCBncHRfZ3VpZCAgICAgcGFydGl0aW9uX2d1aWQ7CisJdWludDY0X3QgICAgICAgICAgICBsYmFfc3RhcnQ7CisJdWludDY0X3QgICAgICAgICAgICBsYmFfZW5kOworCXVpbnQ2NF90ICAgICAgICAgICAgYXR0cnM7CisJdWludDE2X3QgICAgICAgICAgICBuYW1lW0dQVF9QQVJUX05BTUVfTEVOXTsKK30gIF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworLyogR1BUIGhlYWRlciAqLworc3RydWN0IGdwdF9oZWFkZXIgeworCXVpbnQ2NF90ICAgICAgICAgICAgc2lnbmF0dXJlOyAvKiBoZWFkZXIgaWRlbnRpZmljYXRpb24gKi8KKwl1aW50MzJfdCAgICAgICAgICAgIHJldmlzaW9uOyAvKiBoZWFkZXIgdmVyc2lvbiAqLworCXVpbnQzMl90ICAgICAgICAgICAgc2l6ZTsgLyogaW4gYnl0ZXMgKi8KKwl1aW50MzJfdCAgICAgICAgICAgIGNyYzMyOyAvKiBoZWFkZXIgQ1JDIGNoZWNrc3VtICovCisJdWludDMyX3QgICAgICAgICAgICByZXNlcnZlZDE7IC8qIG11c3QgYmUgMCAqLworCXVpbnQ2NF90ICAgICAgICAgICAgbXlfbGJhOyAvKiBMQkEgb2YgYmxvY2sgdGhhdCBjb250YWlucyB0aGlzIHN0cnVjdCAoTEJBIDEpICovCisJdWludDY0X3QgICAgICAgICAgICBhbHRlcm5hdGl2ZV9sYmE7IC8qIGJhY2t1cCBHUFQgaGVhZGVyICovCisJdWludDY0X3QgICAgICAgICAgICBmaXJzdF91c2FibGVfbGJhOyAvKiBmaXJzdCB1c2FibGUgbG9naWNhbCBibG9jayBmb3IgcGFydGl0aW9ucyAqLworCXVpbnQ2NF90ICAgICAgICAgICAgbGFzdF91c2FibGVfbGJhOyAvKiBsYXN0IHVzYWJsZSBsb2dpY2FsIGJsb2NrIGZvciBwYXJ0aXRpb25zICovCisJc3RydWN0IGdwdF9ndWlkICAgICBkaXNrX2d1aWQ7IC8qIHVuaXF1ZSBkaXNrIGlkZW50aWZpZXIgKi8KKwl1aW50NjRfdCAgICAgICAgICAgIHBhcnRpdGlvbl9lbnRyeV9sYmE7IC8qIExCQSBvZiBzdGFydCBvZiBwYXJ0aXRpb24gZW50cmllcyBhcnJheSAqLworCXVpbnQzMl90ICAgICAgICAgICAgbnBhcnRpdGlvbl9lbnRyaWVzOyAvKiB0b3RhbCBwYXJ0aXRpb24gZW50cmllcyAtIG5vcm1hbGx5IDEyOCAqLworCXVpbnQzMl90ICAgICAgICAgICAgc2l6ZW9mX3BhcnRpdGlvbl9lbnRyeTsgLyogYnl0ZXMgZm9yIGVhY2ggR1VJRCBwdCAqLworCXVpbnQzMl90ICAgICAgICAgICAgcGFydGl0aW9uX2VudHJ5X2FycmF5X2NyYzMyOyAvKiBwYXJ0aXRpb24gQ1JDIGNoZWNrc3VtICovCisJdWludDhfdCAgICAgICAgICAgICByZXNlcnZlZDJbNTEyIC0gOTJdOyAvKiBtdXN0IGFsbCBiZSAwICovCit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworc3RydWN0IGdwdF9yZWNvcmQgeworCXVpbnQ4X3QgICAgICAgICAgICAgYm9vdF9pbmRpY2F0b3I7IC8qIHVudXNlZCBieSBFRkksIHNldCB0byAweDgwIGZvciBib290YWJsZSAqLworCXVpbnQ4X3QgICAgICAgICAgICAgc3RhcnRfaGVhZDsgLyogdW51c2VkIGJ5IEVGSSwgcHQgc3RhcnQgaW4gQ0hTICovCisJdWludDhfdCAgICAgICAgICAgICBzdGFydF9zZWN0b3I7IC8qIHVudXNlZCBieSBFRkksIHB0IHN0YXJ0IGluIENIUyAqLworCXVpbnQ4X3QgICAgICAgICAgICAgc3RhcnRfdHJhY2s7CisJdWludDhfdCAgICAgICAgICAgICBvc190eXBlOyAvKiBFRkkgYW5kIGxlZ2FjeSBub24tRUZJIE9TIHR5cGVzICovCisJdWludDhfdCAgICAgICAgICAgICBlbmRfaGVhZDsgLyogdW51c2VkIGJ5IEVGSSwgcHQgZW5kIGluIENIUyAqLworCXVpbnQ4X3QgICAgICAgICAgICAgZW5kX3NlY3RvcjsgLyogdW51c2VkIGJ5IEVGSSwgcHQgZW5kIGluIENIUyAqLworCXVpbnQ4X3QgICAgICAgICAgICAgZW5kX3RyYWNrOyAvKiB1bnVzZWQgYnkgRUZJLCBwdCBlbmQgaW4gQ0hTICovCisJdWludDMyX3QgICAgICAgICAgICBzdGFydGluZ19sYmE7IC8qIHVzZWQgYnkgRUZJIC0gc3RhcnQgYWRkciBvZiB0aGUgb24gZGlzayBwdCAqLworCXVpbnQzMl90ICAgICAgICAgICAgc2l6ZV9pbl9sYmE7IC8qIHVzZWQgYnkgRUZJIC0gc2l6ZSBvZiBwdCBpbiBMQkEgKi8KK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisvKiBQcm90ZWN0ZWQgTUJSIGFuZCBsZWdhY3kgTUJSIHNoYXJlIHNhbWUgc3RydWN0dXJlICovCitzdHJ1Y3QgZ3B0X2xlZ2FjeV9tYnIgeworCXVpbnQ4X3QgICAgICAgICAgICAgYm9vdF9jb2RlWzQ0MF07CisJdWludDMyX3QgICAgICAgICAgICB1bmlxdWVfbWJyX3NpZ25hdHVyZTsKKwl1aW50MTZfdCAgICAgICAgICAgIHVua25vd247CisJc3RydWN0IGdwdF9yZWNvcmQgICBwYXJ0aXRpb25fcmVjb3JkWzRdOworCXVpbnQxNl90ICAgICAgICAgICAgc2lnbmF0dXJlOworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisKKy8qCisgKiBIZXJlIGJlIGRyYWdvbnMhCisgKiBTZWU6IGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvR1VJRF9QYXJ0aXRpb25fVGFibGUjUGFydGl0aW9uX3R5cGVfR1VJRHMKKyAqLworI2RlZmluZSBERUZfR1VJRChfdSwgX24pIFwKKwl7IFwKKwkJLnR5cGVzdHIgPSAoX3UpLCBcCisJCS5uYW1lID0gKF9uKSwgICAgXAorCX0KKworLyogUHJvYmFibHkgdGhlIG1vc3QgY29tcGxldGUgbGlzdCBvZiB0aGUgR1VJRHMgYXJlIGF0OgorICoJIGh0dHBzOi8vd2lraXBlZGlhLm9yZy93aWtpL0dVSURfUGFydGl0aW9uX1RhYmxlCisgKi8KK3N0YXRpYyBzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgZ3B0X3BhcnR0eXBlc1tdID0KK3sKKwkvKiBHZW5lcmljIE9TICovCisJREVGX0dVSUQoIkMxMkE3MzI4LUY4MUYtMTFEMi1CQTRCLTAwQTBDOTNFQzkzQiIsIE5fKCJFRkkgU3lzdGVtIikpLAorCisJREVGX0dVSUQoIjAyNERFRTQxLTMzRTctMTFEMy05RDY5LTAwMDhDNzgxRjM5RiIsIE5fKCJNQlIgcGFydGl0aW9uIHNjaGVtZSIpKSwKKwlERUZfR1VJRCgiRDNCRkUyREUtM0RBRi0xMURGLUJBNDAtRTNBNTU2RDg5NTkzIiwgTl8oIkludGVsIEZhc3QgRmxhc2giKSksCisKKwkvKiBIYWghSWRvbnRuZWVkRUZJICovCisJREVGX0dVSUQoIjIxNjg2MTQ4LTY0NDktNkU2Ri03NDRFLTY1NjU2NDQ1NDY0OSIsIE5fKCJCSU9TIGJvb3QiKSksCisKKwkvKiBOSUggc3luZHJvbWUgKi8KKwlERUZfR1VJRCgiRjQwMTk3MzItMDY2RS00RTEyLTgyNzMtMzQ2QzU2NDE0OTRGIiwgTl8oIlNvbnkgYm9vdCBwYXJ0aXRpb24iKSksCisJREVGX0dVSUQoIkJGQkZBRkU3LUEzNEYtNDQ4QS05QTVCLTYyMTNFQjczNkMyMiIsIE5fKCJMZW5vdm8gYm9vdCBwYXJ0aXRpb24iKSksCisKKwkvKiBQb3dlclBDIHJlZmVyZW5jZSBwbGF0Zm9ybSBib290IHBhcnRpdGlvbiAqLworCURFRl9HVUlEKCI5RTFBMkQzOC1DNjEyLTQzMTYtQUEyNi04QjQ5NTIxRTVBOEIiLCBOXygiUG93ZXJQQyBQUmVQIGJvb3QiKSksCisKKwkvKiBPcGVuIE5ldHdvcmsgSW5zdGFsbCBFbnZpcm9ubWVudCAqLworCURFRl9HVUlEKCI3NDEyRjdENS1BMTU2LTRCMTMtODFEQy04NjcxNzQ5MjkzMjUiLCBOXygiT05JRSBib290IikpLAorCURFRl9HVUlEKCJENEU2RTJDRC00NDY5LTQ2RjMtQjVDQi0xQkZGNTdBRkMxNDkiLCBOXygiT05JRSBjb25maWciKSksCisKKwkvKiBXaW5kb3dzICovCisJREVGX0dVSUQoIkUzQzlFMzE2LTBCNUMtNERCOC04MTdELUY5MkRGMDAyMTVBRSIsIE5fKCJNaWNyb3NvZnQgcmVzZXJ2ZWQiKSksCisJREVGX0dVSUQoIkVCRDBBMEEyLUI5RTUtNDQzMy04N0MwLTY4QjZCNzI2OTlDNyIsIE5fKCJNaWNyb3NvZnQgYmFzaWMgZGF0YSIpKSwKKwlERUZfR1VJRCgiNTgwOEM4QUEtN0U4Ri00MkUwLTg1RDItRTFFOTA0MzRDRkIzIiwgTl8oIk1pY3Jvc29mdCBMRE0gbWV0YWRhdGEiKSksCisJREVGX0dVSUQoIkFGOUI2MEEwLTE0MzEtNEY2Mi1CQzY4LTMzMTE3MTRBNjlBRCIsIE5fKCJNaWNyb3NvZnQgTERNIGRhdGEiKSksCisJREVGX0dVSUQoIkRFOTRCQkE0LTA2RDEtNEQ0MC1BMTZBLUJGRDUwMTc5RDZBQyIsIE5fKCJXaW5kb3dzIHJlY292ZXJ5IGVudmlyb25tZW50IikpLAorCURFRl9HVUlEKCIzN0FGRkM5MC1FRjdELTRFOTYtOTFDMy0yRDdBRTA1NUIxNzQiLCBOXygiSUJNIEdlbmVyYWwgUGFyYWxsZWwgRnMiKSksCisJREVGX0dVSUQoIkU3NUNBRjhGLUY2ODAtNENFRS1BRkEzLUIwMDFFNTZFRkMyRCIsIE5fKCJNaWNyb3NvZnQgU3RvcmFnZSBTcGFjZXMiKSksCisKKwkvKiBIUC1VWCAqLworCURFRl9HVUlEKCI3NTg5NEMxRS0zQUVCLTExRDMtQjdDMS03QjAzQTAwMDAwMDAiLCBOXygiSFAtVVggZGF0YSIpKSwKKwlERUZfR1VJRCgiRTJBMUU3MjgtMzJFMy0xMUQ2LUE2ODItN0IwM0EwMDAwMDAwIiwgTl8oIkhQLVVYIHNlcnZpY2UiKSksCisKKwkvKiBMaW51eCAoaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lraS9TcGVjaWZpY2F0aW9ucy9EaXNjb3ZlcmFibGVQYXJ0aXRpb25zU3BlYykgKi8KKwlERUZfR1VJRCgiMDY1N0ZENkQtQTRBQi00M0M0LTg0RTUtMDkzM0M4NEI0RjRGIiwgTl8oIkxpbnV4IHN3YXAiKSksCisJREVGX0dVSUQoIjBGQzYzREFGLTg0ODMtNDc3Mi04RTc5LTNENjlEODQ3N0RFNCIsIE5fKCJMaW51eCBmaWxlc3lzdGVtIikpLAorCURFRl9HVUlEKCIzQjhGODQyNS0yMEUwLTRGM0ItOTA3Ri0xQTI1QTc2Rjk4RTgiLCBOXygiTGludXggc2VydmVyIGRhdGEiKSksCisJREVGX0dVSUQoIjQ0NDc5NTQwLUYyOTctNDFCMi05QUY3LUQxMzFENUYwNDU4QSIsIE5fKCJMaW51eCByb290ICh4ODYpIikpLAorCURFRl9HVUlEKCI2OURBRDcxMC0yQ0U0LTRFM0MtQjE2Qy0yMUExRDQ5QUJFRDMiLCBOXygiTGludXggcm9vdCAoQVJNKSIpKSwKKwlERUZfR1VJRCgiNEY2OEJDRTMtRThDRC00REIxLTk2RTctRkJDQUY5ODRCNzA5IiwgTl8oIkxpbnV4IHJvb3QgKHg4Ni02NCkiKSksCisJREVGX0dVSUQoIkI5MjFCMDQ1LTFERjAtNDFDMy1BRjQ0LTRDNkYyODBEM0ZBRSIsIE5fKCJMaW51eCByb290IChBUk0tNjQpIikpLAorCURFRl9HVUlEKCI5OTNEOEQzRC1GODBFLTQyMjUtODU1QS05REFGOEVEN0VBOTciLCBOXygiTGludXggcm9vdAkoSUEtNjQpIikpLAorCURFRl9HVUlEKCI4REE2MzMzOS0wMDA3LTYwQzAtQzQzNi0wODNBQzgyMzA5MDgiLCBOXygiTGludXggcmVzZXJ2ZWQiKSksCisJREVGX0dVSUQoIjkzM0FDN0UxLTJFQjQtNEYxMy1CODQ0LTBFMTRFMkFFRjkxNSIsIE5fKCJMaW51eCBob21lIikpLAorCURFRl9HVUlEKCJBMTlEODgwRi0wNUZDLTREM0ItQTAwNi03NDNGMEY4NDkxMUUiLCBOXygiTGludXggUkFJRCIpKSwKKwlERUZfR1VJRCgiQkMxM0MyRkYtNTlFNi00MjYyLUEzNTItQjI3NUZENkY3MTcyIiwgTl8oIkxpbnV4IGV4dGVuZGVkIGJvb3QiKSksCisJREVGX0dVSUQoIkU2RDZEMzc5LUY1MDctNDRDMi1BMjNDLTIzOEYyQTNERjkyOCIsIE5fKCJMaW51eCBMVk0iKSksCisJLyogLi4uIHRvbyBjcmF6eSwgaWdub3JlIGZvciBub3c6CisJREVGX0dVSUQoIjdGRkVDNUM5LTJEMDAtNDlCNy04OTQxLTNFQTEwQTU1ODZCNyIsIE5fKCJMaW51eCBwbGFpbiBkbS1jcnlwdCIpKSwKKwlERUZfR1VJRCgiQ0E3RDdDQ0ItNjNFRC00QzUzLTg2MUMtMTc0MjUzNjA1OUNDIiwgTl8oIkxpbnV4IExVS1MiKSksCisJKi8KKworCS8qIEZyZWVCU0QgKi8KKwlERUZfR1VJRCgiNTE2RTdDQjQtNkVDRi0xMUQ2LThGRjgtMDAwMjJEMDk3MTJCIiwgTl8oIkZyZWVCU0QgZGF0YSIpKSwKKwlERUZfR1VJRCgiODNCRDZCOUQtN0Y0MS0xMURDLUJFMEItMDAxNTYwQjg0RjBGIiwgTl8oIkZyZWVCU0QgYm9vdCIpKSwKKwlERUZfR1VJRCgiNTE2RTdDQjUtNkVDRi0xMUQ2LThGRjgtMDAwMjJEMDk3MTJCIiwgTl8oIkZyZWVCU0Qgc3dhcCIpKSwKKwlERUZfR1VJRCgiNTE2RTdDQjYtNkVDRi0xMUQ2LThGRjgtMDAwMjJEMDk3MTJCIiwgTl8oIkZyZWVCU0QgVUZTIikpLAorCURFRl9HVUlEKCI1MTZFN0NCQS02RUNGLTExRDYtOEZGOC0wMDAyMkQwOTcxMkIiLCBOXygiRnJlZUJTRCBaRlMiKSksCisJREVGX0dVSUQoIjUxNkU3Q0I4LTZFQ0YtMTFENi04RkY4LTAwMDIyRDA5NzEyQiIsIE5fKCJGcmVlQlNEIFZpbnVtIikpLAorCisJLyogQXBwbGUgT1NYICovCisJREVGX0dVSUQoIjQ4NDY1MzAwLTAwMDAtMTFBQS1BQTExLTAwMzA2NTQzRUNBQyIsIE5fKCJBcHBsZSBIRlMvSEZTKyIpKSwKKwlERUZfR1VJRCgiNTU0NjUzMDAtMDAwMC0xMUFBLUFBMTEtMDAzMDY1NDNFQ0FDIiwgTl8oIkFwcGxlIFVGUyIpKSwKKwlERUZfR1VJRCgiNTI0MTQ5NDQtMDAwMC0xMUFBLUFBMTEtMDAzMDY1NDNFQ0FDIiwgTl8oIkFwcGxlIFJBSUQiKSksCisJREVGX0dVSUQoIjUyNDE0OTQ0LTVGNEYtMTFBQS1BQTExLTAwMzA2NTQzRUNBQyIsIE5fKCJBcHBsZSBSQUlEIG9mZmxpbmUiKSksCisJREVGX0dVSUQoIjQyNkY2Rjc0LTAwMDAtMTFBQS1BQTExLTAwMzA2NTQzRUNBQyIsIE5fKCJBcHBsZSBib290IikpLAorCURFRl9HVUlEKCI0QzYxNjI2NS02QzAwLTExQUEtQUExMS0wMDMwNjU0M0VDQUMiLCBOXygiQXBwbGUgbGFiZWwiKSksCisJREVGX0dVSUQoIjUyNjU2MzZGLTc2NjUtMTFBQS1BQTExLTAwMzA2NTQzRUNBQyIsIE5fKCJBcHBsZSBUViByZWNvdmVyeSIpKSwKKwlERUZfR1VJRCgiNTM3NDZGNzItNjE2Ny0xMUFBLUFBMTEtMDAzMDY1NDNFQ0FDIiwgTl8oIkFwcGxlIENvcmUgc3RvcmFnZSIpKSwKKworCS8qIFNvbGFyaXMgKi8KKwlERUZfR1VJRCgiNkE4MkNCNDUtMUREMi0xMUIyLTk5QTYtMDgwMDIwNzM2NjMxIiwgTl8oIlNvbGFyaXMgYm9vdCIpKSwKKwlERUZfR1VJRCgiNkE4NUNGNEQtMUREMi0xMUIyLTk5QTYtMDgwMDIwNzM2NjMxIiwgTl8oIlNvbGFyaXMgcm9vdCIpKSwKKwkvKiBzYW1lIGFzIEFwcGxlIFpGUyAqLworCURFRl9HVUlEKCI2QTg5OENDMy0xREQyLTExQjItOTlBNi0wODAwMjA3MzY2MzEiLCBOXygiU29sYXJpcyAvdXNyICYgQXBwbGUgWkZTIikpLAorCURFRl9HVUlEKCI2QTg3QzQ2Ri0xREQyLTExQjItOTlBNi0wODAwMjA3MzY2MzEiLCBOXygiU29sYXJpcyBzd2FwIikpLAorCURFRl9HVUlEKCI2QThCNjQyQi0xREQyLTExQjItOTlBNi0wODAwMjA3MzY2MzEiLCBOXygiU29sYXJpcyBiYWNrdXAiKSksCisJREVGX0dVSUQoIjZBOEVGMkU5LTFERDItMTFCMi05OUE2LTA4MDAyMDczNjYzMSIsIE5fKCJTb2xhcmlzIC92YXIiKSksCisJREVGX0dVSUQoIjZBOTBCQTM5LTFERDItMTFCMi05OUE2LTA4MDAyMDczNjYzMSIsIE5fKCJTb2xhcmlzIC9ob21lIikpLAorCURFRl9HVUlEKCI2QTkyODNBNS0xREQyLTExQjItOTlBNi0wODAwMjA3MzY2MzEiLCBOXygiU29sYXJpcyBhbHRlcm5hdGUgc2VjdG9yIikpLAorCURFRl9HVUlEKCI2QTk0NUEzQi0xREQyLTExQjItOTlBNi0wODAwMjA3MzY2MzEiLCBOXygiU29sYXJpcyByZXNlcnZlZCAxIikpLAorCURFRl9HVUlEKCI2QTk2MzBEMS0xREQyLTExQjItOTlBNi0wODAwMjA3MzY2MzEiLCBOXygiU29sYXJpcyByZXNlcnZlZCAyIikpLAorCURFRl9HVUlEKCI2QTk4MDc2Ny0xREQyLTExQjItOTlBNi0wODAwMjA3MzY2MzEiLCBOXygiU29sYXJpcyByZXNlcnZlZCAzIikpLAorCURFRl9HVUlEKCI2QTk2MjM3Ri0xREQyLTExQjItOTlBNi0wODAwMjA3MzY2MzEiLCBOXygiU29sYXJpcyByZXNlcnZlZCA0IikpLAorCURFRl9HVUlEKCI2QThEMkFDNy0xREQyLTExQjItOTlBNi0wODAwMjA3MzY2MzEiLCBOXygiU29sYXJpcyByZXNlcnZlZCA1IikpLAorCisJLyogTmV0QlNEICovCisJREVGX0dVSUQoIjQ5RjQ4RDMyLUIxMEUtMTFEQy1COTlCLTAwMTlEMTg3OTY0OCIsIE5fKCJOZXRCU0Qgc3dhcCIpKSwKKwlERUZfR1VJRCgiNDlGNDhENUEtQjEwRS0xMURDLUI5OUItMDAxOUQxODc5NjQ4IiwgTl8oIk5ldEJTRCBGRlMiKSksCisJREVGX0dVSUQoIjQ5RjQ4RDgyLUIxMEUtMTFEQy1COTlCLTAwMTlEMTg3OTY0OCIsIE5fKCJOZXRCU0QgTEZTIikpLAorCURFRl9HVUlEKCIyREI1MTlDNC1CMTBFLTExREMtQjk5Qi0wMDE5RDE4Nzk2NDgiLCBOXygiTmV0QlNEIGNvbmNhdGVuYXRlZCIpKSwKKwlERUZfR1VJRCgiMkRCNTE5RUMtQjEwRS0xMURDLUI5OUItMDAxOUQxODc5NjQ4IiwgTl8oIk5ldEJTRCBlbmNyeXB0ZWQiKSksCisJREVGX0dVSUQoIjQ5RjQ4REFBLUIxMEUtMTFEQy1COTlCLTAwMTlEMTg3OTY0OCIsIE5fKCJOZXRCU0QgUkFJRCIpKSwKKworCS8qIENocm9tZU9TICovCisJREVGX0dVSUQoIkZFM0EyQTVELTRGMzItNDFBNy1CNzI1LUFDQ0MzMjg1QTMwOSIsIE5fKCJDaHJvbWVPUyBrZXJuZWwiKSksCisJREVGX0dVSUQoIjNDQjhFMjAyLTNCN0UtNDdERC04QTNDLTdGRjJBMTNDRkNFQyIsIE5fKCJDaHJvbWVPUyByb290IGZzIikpLAorCURFRl9HVUlEKCIyRTBBNzUzRC05RTQ4LTQzQjAtODMzNy1CMTUxOTJDQjFCNUUiLCBOXygiQ2hyb21lT1MgcmVzZXJ2ZWQiKSksCisKKwkvKiBNaWRuaWdodEJTRCAqLworCURFRl9HVUlEKCI4NUQ1RTQ1QS0yMzdDLTExRTEtQjRCMy1FODlBOEY3RkMzQTciLCBOXygiTWlkbmlnaHRCU0QgZGF0YSIpKSwKKwlERUZfR1VJRCgiODVENUU0NUUtMjM3Qy0xMUUxLUI0QjMtRTg5QThGN0ZDM0E3IiwgTl8oIk1pZG5pZ2h0QlNEIGJvb3QiKSksCisJREVGX0dVSUQoIjg1RDVFNDVCLTIzN0MtMTFFMS1CNEIzLUU4OUE4RjdGQzNBNyIsIE5fKCJNaWRuaWdodEJTRCBzd2FwIikpLAorCURFRl9HVUlEKCIwMzk0RUY4Qi0yMzdFLTExRTEtQjRCMy1FODlBOEY3RkMzQTciLCBOXygiTWlkbmlnaHRCU0QgVUZTIikpLAorCURFRl9HVUlEKCI4NUQ1RTQ1RC0yMzdDLTExRTEtQjRCMy1FODlBOEY3RkMzQTciLCBOXygiTWlkbmlnaHRCU0QgWkZTIikpLAorCURFRl9HVUlEKCI4NUQ1RTQ1Qy0yMzdDLTExRTEtQjRCMy1FODlBOEY3RkMzQTciLCBOXygiTWlkbmlnaHRCU0QgVmludW0iKSksCisKKwkvKiBDZXBoICovCisJREVGX0dVSUQoIjQ1QjA5NjlFLTlCMDMtNEYzMC1CNEM2LUI0QjgwQ0VGRjEwNiIsIE5fKCJDZXBoIEpvdXJuYWwiKSksCisJREVGX0dVSUQoIjQ1QjA5NjlFLTlCMDMtNEYzMC1CNEM2LTVFQzAwQ0VGRjEwNiIsIE5fKCJDZXBoIEVuY3J5cHRlZCBKb3VybmFsIikpLAorCURFRl9HVUlEKCI0RkJEN0UyOS05RDI1LTQxQjgtQUZEMC0wNjJDMENFRkYwNUQiLCBOXygiQ2VwaCBPU0QiKSksCisJREVGX0dVSUQoIjRGQkQ3RTI5LTlEMjUtNDFCOC1BRkQwLTVFQzAwQ0VGRjA1RCIsIE5fKCJDZXBoIGNyeXB0IE9TRCIpKSwKKwlERUZfR1VJRCgiODlDNTdGOTgtMkZFNS00REMwLTg5QzEtRjNBRDBDRUZGMkJFIiwgTl8oIkNlcGggZGlzayBpbiBjcmVhdGlvbiIpKSwKKwlERUZfR1VJRCgiODlDNTdGOTgtMkZFNS00REMwLTg5QzEtNUVDMDBDRUZGMkJFIiwgTl8oIkNlcGggY3J5cHQgZGlzayBpbiBjcmVhdGlvbiIpKSwKKworCS8qIE9wZW5CU0QgKi8KKwlERUZfR1VJRCgiODI0Q0M3QTAtMzZBOC0xMUUzLTg5MEEtOTUyNTE5QUQzRjYxIiwgTl8oIk9wZW5CU0QgZGF0YSIpKSwKKworCS8qIFFOWCAqLworCURFRl9HVUlEKCJDRUY1QTlBRC03M0JDLTQ2MDEtODlGMy1DREVFRUVFMzIxQTEiLCBOXygiUU5YNiBmaWxlIHN5c3RlbSIpKSwKKworCS8qIFBsYW4gOSAqLworCURFRl9HVUlEKCJDOTE4MThGOS04MDI1LTQ3QUYtODlEMi1GMDMwRDcwMDBDMkMiLCBOXygiUGxhbiA5IHBhcnRpdGlvbiIpKQorfTsKKworLyogZ3B0X2VudHJ5IG1hY3JvcyAqLworI2RlZmluZSBncHRfcGFydGl0aW9uX3N0YXJ0KF9lKQkJbGU2NF90b19jcHUoKF9lKS0+bGJhX3N0YXJ0KQorI2RlZmluZSBncHRfcGFydGl0aW9uX2VuZChfZSkJCWxlNjRfdG9fY3B1KChfZSktPmxiYV9lbmQpCisKKy8qCisgKiBpbi1tZW1vcnkgZmRpc2sgR1BUIHN0dWZmCisgKi8KK3N0cnVjdCBmZGlza19ncHRfbGFiZWwgeworCXN0cnVjdCBmZGlza19sYWJlbAloZWFkOwkJLyogZ2VuZXJpYyBwYXJ0ICovCisKKwkvKiBncHQgc3BlY2lmaWMgcGFydCAqLworCXN0cnVjdCBncHRfaGVhZGVyCSpwaGVhZGVyOwkvKiBwcmltYXJ5IGhlYWRlciAqLworCXN0cnVjdCBncHRfaGVhZGVyCSpiaGVhZGVyOwkvKiBiYWNrdXAgaGVhZGVyICovCisJc3RydWN0IGdwdF9lbnRyeQkqZW50czsJCS8qIGVudHJpZXMgKHBhcnRpdGlvbnMpICovCit9OworCitzdGF0aWMgdm9pZCBncHRfZGVpbml0KHN0cnVjdCBmZGlza19sYWJlbCAqbGIpOworCitzdGF0aWMgaW5saW5lIHN0cnVjdCBmZGlza19ncHRfbGFiZWwgKnNlbGZfbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gKHN0cnVjdCBmZGlza19ncHRfbGFiZWwgKikgY3h0LT5sYWJlbDsKK30KKworLyoKKyAqIFJldHVybnMgdGhlIHBhcnRpdGlvbiBsZW5ndGgsIG9yIDAgaWYgZW5kIGlzIGJlZm9yZSBiZWdpbm5pbmcuCisgKi8KK3N0YXRpYyB1aW50NjRfdCBncHRfcGFydGl0aW9uX3NpemUoY29uc3Qgc3RydWN0IGdwdF9lbnRyeSAqZSkKK3sKKwl1aW50NjRfdCBzdGFydCA9IGdwdF9wYXJ0aXRpb25fc3RhcnQoZSk7CisJdWludDY0X3QgZW5kID0gZ3B0X3BhcnRpdGlvbl9lbmQoZSk7CisKKwlyZXR1cm4gc3RhcnQgPiBlbmQgPyAwIDogZW5kIC0gc3RhcnQgKyAxVUxMOworfQorCisvKiBwcmludHMgVVVJRCBpbiB0aGUgcmVhbCBieXRlIG9yZGVyISAqLworc3RhdGljIHZvaWQgZ3B0X2RlYnVnX3V1aWQoY29uc3QgY2hhciAqbWVzZywgc3RydWN0IGdwdF9ndWlkICpndWlkKQoreworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnV1aWQgPSAodW5zaWduZWQgY2hhciAqKSBndWlkOworCisJZnByaW50ZihzdGRlcnIsICIlczogIgorCQkiJTAyeCUwMnglMDJ4JTAyeC0lMDJ4JTAyeC0lMDJ4JTAyeC0lMDJ4JTAyeC0lMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnhcbiIsCisJCW1lc2csCisJCXV1aWRbMF0sIHV1aWRbMV0sIHV1aWRbMl0sIHV1aWRbM10sCisJCXV1aWRbNF0sIHV1aWRbNV0sCisJCXV1aWRbNl0sIHV1aWRbN10sCisJCXV1aWRbOF0sIHV1aWRbOV0sCisJCXV1aWRbMTBdLCB1dWlkWzExXSwgdXVpZFsxMl0sIHV1aWRbMTNdLCB1dWlkWzE0XSx1dWlkWzE1XSk7Cit9CisKKy8qCisgKiBVVUlEIGlzIHRyYWRpdGlvbmFsbHkgMTYgYnl0ZSBiaWctZW5kaWFuIGFycmF5LCBleGNlcHQgSW50ZWwgRUZJCisgKiBzcGVjaWZpY2F0aW9uIHdoZXJlIHRoZSBVVUlEIGlzIGEgc3RydWN0dXJlIG9mIGxpdHRsZS1lbmRpYW4gZmllbGRzLgorICovCitzdGF0aWMgdm9pZCBzd2FwX2VmaV9ndWlkKHN0cnVjdCBncHRfZ3VpZCAqdWlkKQoreworCXVpZC0+dGltZV9sb3cgPSBzd2FiMzIodWlkLT50aW1lX2xvdyk7CisJdWlkLT50aW1lX21pZCA9IHN3YWIxNih1aWQtPnRpbWVfbWlkKTsKKwl1aWQtPnRpbWVfaGlfYW5kX3ZlcnNpb24gPSBzd2FiMTYodWlkLT50aW1lX2hpX2FuZF92ZXJzaW9uKTsKK30KKworc3RhdGljIGludCBzdHJpbmdfdG9fZ3VpZChjb25zdCBjaGFyICppbiwgc3RydWN0IGdwdF9ndWlkICpndWlkKQoreworCWlmICh1dWlkX3BhcnNlKGluLCAodW5zaWduZWQgY2hhciAqKSBndWlkKSkgeyAgIC8qIEJFICovCisJCURCRyhMQUJFTCwgdWxfZGVidWcoIkdQVDogZmFpbGVkIHRvIHBhcnNlIEdVSUQ6ICVzIiwgaW4pKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCXN3YXBfZWZpX2d1aWQoZ3VpZCk7CQkJCS8qIExFICovCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBjaGFyICpndWlkX3RvX3N0cmluZyhjb25zdCBzdHJ1Y3QgZ3B0X2d1aWQgKmd1aWQsIGNoYXIgKm91dCkKK3sKKwlzdHJ1Y3QgZ3B0X2d1aWQgdSA9ICpndWlkOwkvKiBMRSAqLworCisJc3dhcF9lZmlfZ3VpZCgmdSk7CQkvKiBCRSAqLworCXV1aWRfdW5wYXJzZV91cHBlcigodW5zaWduZWQgY2hhciAqKSAmdSwgb3V0KTsKKworCXJldHVybiBvdXQ7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKmdwdF9wYXJ0aXRpb25fcGFydHR5cGUoCisJCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCWNvbnN0IHN0cnVjdCBncHRfZW50cnkgKmUpCit7CisJc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0OworCWNoYXIgc3RyWzM3XTsKKworCWd1aWRfdG9fc3RyaW5nKCZlLT50eXBlLCBzdHIpOworCXQgPSBmZGlza19sYWJlbF9nZXRfcGFydHR5cGVfZnJvbV9zdHJpbmcoY3h0LT5sYWJlbCwgc3RyKTsKKwlyZXR1cm4gdCA/IDogZmRpc2tfbmV3X3Vua25vd25fcGFydHR5cGUoMCwgc3RyKTsKK30KKworc3RhdGljIHZvaWQgZ3B0X2VudHJ5X3NldF90eXBlKHN0cnVjdCBncHRfZW50cnkgKmUsIHN0cnVjdCBncHRfZ3VpZCAqdXVpZCkKK3sKKwllLT50eXBlID0gKnV1aWQ7CisJREJHKExBQkVMLCBncHRfZGVidWdfdXVpZCgibmV3IHR5cGUiLCAmKGUtPnR5cGUpKSk7Cit9CisKK3N0YXRpYyB2b2lkIGdwdF9lbnRyeV9zZXRfbmFtZShzdHJ1Y3QgZ3B0X2VudHJ5ICplLCBjaGFyICpzdHIpCit7CisJY2hhciBuYW1lW0dQVF9QQVJUX05BTUVfTEVOXSA9IHsgMCB9OworCXNpemVfdCBpLCBzeiA9IHN0cmxlbihzdHIpOworCisJaWYgKHN6KSB7CisJCWlmIChzeiA+IEdQVF9QQVJUX05BTUVfTEVOKQorCQkJc3ogPSBHUFRfUEFSVF9OQU1FX0xFTjsKKwkJbWVtY3B5KG5hbWUsIHN0ciwgc3opOworCX0KKworCWZvciAoaSA9IDA7IGkgPCBHUFRfUEFSVF9OQU1FX0xFTjsgaSsrKQorCQllLT5uYW1lW2ldID0gY3B1X3RvX2xlMTYoKHVpbnQxNl90KSBuYW1lW2ldKTsKK30KKworc3RhdGljIGludCBncHRfZW50cnlfc2V0X3V1aWQoc3RydWN0IGdwdF9lbnRyeSAqZSwgY2hhciAqc3RyKQoreworCXN0cnVjdCBncHRfZ3VpZCB1dWlkOworCWludCByYzsKKworCXJjID0gc3RyaW5nX3RvX2d1aWQoc3RyLCAmdXVpZCk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwllLT5wYXJ0aXRpb25fZ3VpZCA9IHV1aWQ7CisJcmV0dXJuIDA7Cit9CisKKworc3RhdGljIGNvbnN0IGNoYXIgKmdwdF9nZXRfaGVhZGVyX3JldnN0cihzdHJ1Y3QgZ3B0X2hlYWRlciAqaGVhZGVyKQoreworCWlmICghaGVhZGVyKQorCQlnb3RvIHVua25vd247CisKKwlzd2l0Y2ggKGxlMzJfdG9fY3B1KGhlYWRlci0+cmV2aXNpb24pKSB7CisJY2FzZSBHUFRfSEVBREVSX1JFVklTSU9OX1YxXzAyOgorCQlyZXR1cm4gIjEuMiI7CisJY2FzZSBHUFRfSEVBREVSX1JFVklTSU9OX1YxXzAwOgorCQlyZXR1cm4gIjEuMCI7CisJY2FzZSBHUFRfSEVBREVSX1JFVklTSU9OX1YwXzk5OgorCQlyZXR1cm4gIjAuOTkiOworCWRlZmF1bHQ6CisJCWdvdG8gdW5rbm93bjsKKwl9CisKK3Vua25vd246CisJcmV0dXJuICJ1bmtub3duIjsKK30KKworc3RhdGljIGlubGluZSBpbnQgcGFydGl0aW9uX3VudXNlZChjb25zdCBzdHJ1Y3QgZ3B0X2VudHJ5ICplKQoreworCXJldHVybiAhbWVtY21wKCZlLT50eXBlLCAmR1BUX1VOVVNFRF9FTlRSWV9HVUlELAorCQkJc2l6ZW9mKHN0cnVjdCBncHRfZ3VpZCkpOworfQorCitzdGF0aWMgY2hhciAqZ3B0X2dldF9oZWFkZXJfaWQoc3RydWN0IGdwdF9oZWFkZXIgKmhlYWRlcikKK3sKKwljaGFyIHN0clszN107CisKKwlndWlkX3RvX3N0cmluZygmaGVhZGVyLT5kaXNrX2d1aWQsIHN0cik7CisKKwlyZXR1cm4gc3RyZHVwKHN0cik7Cit9CisKKworLyoKKyAqIEJ1aWxkcyBhIGNsZWFuIG5ldyB2YWxpZCBwcm90ZWN0aXZlIE1CUiAtIHdpbGwgd2lwZSBvdXQgYW55IGV4aXN0aW5nIGRhdGEuCisgKiBSZXR1cm5zIDAgb24gc3VjY2Vzcywgb3RoZXJ3aXNlIDwgMCBvbiBlcnJvci4KKyAqLworc3RhdGljIGludCBncHRfbWtuZXdfcG1icihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBncHRfbGVnYWN5X21iciAqcG1iciA9IE5VTEw7CisJaW50IHJjOworCisJaWYgKCFjeHQgfHwgIWN4dC0+Zmlyc3RzZWN0b3IpCisJCXJldHVybiAtRU5PU1lTOworCisJaWYgKGZkaXNrX2hhc19wcm90ZWN0ZWRfYm9vdGJpdHMoY3h0KSkKKwkJcmMgPSBmZGlza19pbml0X2ZpcnN0c2VjdG9yX2J1ZmZlcihjeHQsIDAsIE1CUl9QVF9CT09UQklUU19TSVpFKTsKKwllbHNlCisJCXJjID0gZmRpc2tfaW5pdF9maXJzdHNlY3Rvcl9idWZmZXIoY3h0LCAwLCAwKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCXBtYnIgPSAoc3RydWN0IGdwdF9sZWdhY3lfbWJyICopIGN4dC0+Zmlyc3RzZWN0b3I7CisKKwlwbWJyLT5zaWduYXR1cmUgPSBjcHVfdG9fbGUxNihNU0RPU19NQlJfU0lHTkFUVVJFKTsKKwlwbWJyLT5wYXJ0aXRpb25fcmVjb3JkWzBdLm9zX3R5cGUgICAgICA9IEVGSV9QTUJSX09TVFlQRTsKKwlwbWJyLT5wYXJ0aXRpb25fcmVjb3JkWzBdLnN0YXJ0X3NlY3RvciA9IDE7CisJcG1ici0+cGFydGl0aW9uX3JlY29yZFswXS5lbmRfaGVhZCAgICAgPSAweEZFOworCXBtYnItPnBhcnRpdGlvbl9yZWNvcmRbMF0uZW5kX3NlY3RvciAgID0gMHhGRjsKKwlwbWJyLT5wYXJ0aXRpb25fcmVjb3JkWzBdLmVuZF90cmFjayAgICA9IDB4RkY7CisJcG1ici0+cGFydGl0aW9uX3JlY29yZFswXS5zdGFydGluZ19sYmEgPSBjcHVfdG9fbGUzMigxKTsKKwlwbWJyLT5wYXJ0aXRpb25fcmVjb3JkWzBdLnNpemVfaW5fbGJhICA9CisJCWNwdV90b19sZTMyKCh1aW50MzJfdCkgbWluKCBjeHQtPnRvdGFsX3NlY3RvcnMgLSAxVUxMLCAweEZGRkZGRkZGVUxMKSApOworCisJcmV0dXJuIDA7Cit9CisKKy8qIHNvbWUgdW5pdmVyc2FsIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlIGhlYWRlcnMgKi8KK3N0YXRpYyB2b2lkIGdwdF9ta25ld19oZWFkZXJfY29tbW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQkJICAgIHN0cnVjdCBncHRfaGVhZGVyICpoZWFkZXIsIHVpbnQ2NF90IGxiYSkKK3sKKwlpZiAoIWN4dCB8fCAhaGVhZGVyKQorCQlyZXR1cm47CisKKwloZWFkZXItPm15X2xiYSA9IGNwdV90b19sZTY0KGxiYSk7CisKKwlpZiAobGJhID09IEdQVF9QUklNQVJZX1BBUlRJVElPTl9UQUJMRV9MQkEpIHsgLyogcHJpbWFyeSAqLworCQloZWFkZXItPmFsdGVybmF0aXZlX2xiYSA9IGNwdV90b19sZTY0KGN4dC0+dG90YWxfc2VjdG9ycyAtIDFVTEwpOworCQloZWFkZXItPnBhcnRpdGlvbl9lbnRyeV9sYmEgPSBjcHVfdG9fbGU2NCgyVUxMKTsKKwl9IGVsc2UgeyAvKiBiYWNrdXAgKi8KKwkJdWludDY0X3QgZXN6ID0gKHVpbnQ2NF90KSBsZTMyX3RvX2NwdShoZWFkZXItPm5wYXJ0aXRpb25fZW50cmllcykgCisJCQkJCQkJKiBzaXplb2Yoc3RydWN0IGdwdF9lbnRyeSk7CisJCXVpbnQ2NF90IGVzZWN0cyA9IChlc3ogKyBjeHQtPnNlY3Rvcl9zaXplIC0gMSkgLyBjeHQtPnNlY3Rvcl9zaXplOworCisJCWhlYWRlci0+YWx0ZXJuYXRpdmVfbGJhID0gY3B1X3RvX2xlNjQoR1BUX1BSSU1BUllfUEFSVElUSU9OX1RBQkxFX0xCQSk7CisJCWhlYWRlci0+cGFydGl0aW9uX2VudHJ5X2xiYSA9IGNwdV90b19sZTY0KGN4dC0+dG90YWxfc2VjdG9ycyAtIDFVTEwgLSBlc2VjdHMpOworCX0KK30KKworLyoKKyAqIEJ1aWxkcyBhIG5ldyBHUFQgaGVhZGVyIChhdCBzZWN0b3IgbGJhKSBmcm9tIGEgYmFja3VwIGhlYWRlcjIuCisgKiBJZiBidWlsZGluZyBhIHByaW1hcnkgaGVhZGVyLCB0aGVuIGJhY2t1cCBpcyB0aGUgc2Vjb25kYXJ5LCBhbmQgdmljZSB2ZXJzYS4KKyAqCisgKiBBbHdheXMgcGFzcyBhIG5ldyAoemVyb2l6ZWQpIGhlYWRlciB0byBidWlsZCB1cG9uIGFzIHdlIGRvbid0CisgKiBleHBsaWNpdGx5IHplcm8tc2V0IHNvbWUgdmFsdWVzIHN1Y2ggYXMgQ1JDcyBhbmQgcmVzZXJ2ZWQuCisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG90aGVyd2lzZSA8IDAgb24gZXJyb3IuCisgKi8KK3N0YXRpYyBpbnQgZ3B0X21rbmV3X2hlYWRlcl9mcm9tX2JrcChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJCSAgICAgc3RydWN0IGdwdF9oZWFkZXIgKmhlYWRlciwKKwkJCQkgICAgIHVpbnQ2NF90IGxiYSwKKwkJCQkgICAgIHN0cnVjdCBncHRfaGVhZGVyICpoZWFkZXIyKQoreworCWlmICghY3h0IHx8ICFoZWFkZXIgfHwgIWhlYWRlcjIpCisJCXJldHVybiAtRU5PU1lTOworCisJaGVhZGVyLT5zaWduYXR1cmUgICAgICAgICAgICAgID0gaGVhZGVyMi0+c2lnbmF0dXJlOworCWhlYWRlci0+cmV2aXNpb24gICAgICAgICAgICAgICA9IGhlYWRlcjItPnJldmlzaW9uOworCWhlYWRlci0+c2l6ZSAgICAgICAgICAgICAgICAgICA9IGhlYWRlcjItPnNpemU7CisJaGVhZGVyLT5ucGFydGl0aW9uX2VudHJpZXMgICAgID0gaGVhZGVyMi0+bnBhcnRpdGlvbl9lbnRyaWVzOworCWhlYWRlci0+c2l6ZW9mX3BhcnRpdGlvbl9lbnRyeSA9IGhlYWRlcjItPnNpemVvZl9wYXJ0aXRpb25fZW50cnk7CisJaGVhZGVyLT5maXJzdF91c2FibGVfbGJhICAgICAgID0gaGVhZGVyMi0+Zmlyc3RfdXNhYmxlX2xiYTsKKwloZWFkZXItPmxhc3RfdXNhYmxlX2xiYSAgICAgICAgPSBoZWFkZXIyLT5sYXN0X3VzYWJsZV9sYmE7CisKKwltZW1jcHkoJmhlYWRlci0+ZGlza19ndWlkLAorCSAgICAgICAmaGVhZGVyMi0+ZGlza19ndWlkLCBzaXplb2YoaGVhZGVyMi0+ZGlza19ndWlkKSk7CisJZ3B0X21rbmV3X2hlYWRlcl9jb21tb24oY3h0LCBoZWFkZXIsIGxiYSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBncHRfaGVhZGVyICpncHRfY29weV9oZWFkZXIoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCSAgIHN0cnVjdCBncHRfaGVhZGVyICpzcmMpCit7CisJc3RydWN0IGdwdF9oZWFkZXIgKnJlczsKKworCWlmICghY3h0IHx8ICFzcmMpCisJCXJldHVybiBOVUxMOworCisJYXNzZXJ0KGN4dC0+c2VjdG9yX3NpemUgPj0gc2l6ZW9mKHN0cnVjdCBncHRfaGVhZGVyKSk7CisKKwlyZXMgPSBjYWxsb2MoMSwgY3h0LT5zZWN0b3Jfc2l6ZSk7CisJaWYgKCFyZXMpIHsKKwkJZmRpc2tfd2FybihjeHQsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBHUFQgaGVhZGVyIikpOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlyZXMtPm15X2xiYSAgICAgICAgICAgICAgICAgPSBzcmMtPmFsdGVybmF0aXZlX2xiYTsKKwlyZXMtPmFsdGVybmF0aXZlX2xiYSAgICAgICAgPSBzcmMtPm15X2xiYTsKKworCXJlcy0+c2lnbmF0dXJlICAgICAgICAgICAgICA9IHNyYy0+c2lnbmF0dXJlOworCXJlcy0+cmV2aXNpb24gICAgICAgICAgICAgICA9IHNyYy0+cmV2aXNpb247CisJcmVzLT5zaXplICAgICAgICAgICAgICAgICAgID0gc3JjLT5zaXplOworCXJlcy0+bnBhcnRpdGlvbl9lbnRyaWVzICAgICA9IHNyYy0+bnBhcnRpdGlvbl9lbnRyaWVzOworCXJlcy0+c2l6ZW9mX3BhcnRpdGlvbl9lbnRyeSA9IHNyYy0+c2l6ZW9mX3BhcnRpdGlvbl9lbnRyeTsKKwlyZXMtPmZpcnN0X3VzYWJsZV9sYmEgICAgICAgPSBzcmMtPmZpcnN0X3VzYWJsZV9sYmE7CisJcmVzLT5sYXN0X3VzYWJsZV9sYmEgICAgICAgID0gc3JjLT5sYXN0X3VzYWJsZV9sYmE7CisKKwltZW1jcHkoJnJlcy0+ZGlza19ndWlkLCAmc3JjLT5kaXNrX2d1aWQsIHNpemVvZihzcmMtPmRpc2tfZ3VpZCkpOworCisKKwlpZiAocmVzLT5teV9sYmEgPT0gR1BUX1BSSU1BUllfUEFSVElUSU9OX1RBQkxFX0xCQSkKKwkJcmVzLT5wYXJ0aXRpb25fZW50cnlfbGJhID0gY3B1X3RvX2xlNjQoMlVMTCk7CisJZWxzZSB7CisJCXVpbnQ2NF90IGVzeiA9ICh1aW50NjRfdCkgbGUzMl90b19jcHUoc3JjLT5ucGFydGl0aW9uX2VudHJpZXMpICogc2l6ZW9mKHN0cnVjdCBncHRfZW50cnkpOworCQl1aW50NjRfdCBlc2VjdHMgPSAoZXN6ICsgY3h0LT5zZWN0b3Jfc2l6ZSAtIDEpIC8gY3h0LT5zZWN0b3Jfc2l6ZTsKKworCQlyZXMtPnBhcnRpdGlvbl9lbnRyeV9sYmEgPSBjcHVfdG9fbGU2NChjeHQtPnRvdGFsX3NlY3RvcnMgLSAxVUxMIC0gZXNlY3RzKTsKKwl9CisKKwlyZXR1cm4gcmVzOworfQorCitzdGF0aWMgaW50IGdldF9zY3JpcHRfdTY0KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHVpbnQ2NF90ICpudW0sIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJY29uc3QgY2hhciAqc3RyOworCWludCBwd3IgPSAwLCByYyA9IDA7CisKKwlhc3NlcnQoY3h0KTsKKworCSpudW0gPSAwOworCisJaWYgKCFjeHQtPnNjcmlwdCkKKwkJcmV0dXJuIDE7CisKKwlzdHIgPSBmZGlza19zY3JpcHRfZ2V0X2hlYWRlcihjeHQtPnNjcmlwdCwgbmFtZSk7CisJaWYgKCFzdHIpCisJCXJldHVybiAxOworCisJcmMgPSBwYXJzZV9zaXplKHN0ciwgKHVpbnRtYXhfdCAqKSBudW0sICZwd3IpOworCWlmIChyYyA8IDApCisJCXJldHVybiByYzsKKwlpZiAocHdyKQorCQkqbnVtIC89IGN4dC0+c2VjdG9yX3NpemU7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY291bnRfZmlyc3RfbGFzdF9sYmEoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCQkgdWludDY0X3QgKmZpcnN0LCB1aW50NjRfdCAqbGFzdCkKK3sKKwlpbnQgcmMgPSAwOworCXVpbnQ2NF90IGZsYmEsIGxsYmE7CisKKwl1aW50NjRfdCBlc3ogPSAwOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGZpcnN0KTsKKwlhc3NlcnQobGFzdCk7CisKKwkqZmlyc3QgPSAqbGFzdCA9IDA7CisKKwkvKiBVRUZJIGRlZmF1bHQgKi8KKwllc3ogPSBzaXplb2Yoc3RydWN0IGdwdF9lbnRyeSkgKiBHUFRfTlBBUlRJVElPTlMgLyBjeHQtPnNlY3Rvcl9zaXplOworCWxsYmEgPSBjeHQtPnRvdGFsX3NlY3RvcnMgLSAyVUxMIC0gZXN6OworCWZsYmEgPSBlc3ogKyAyVUxMOworCisJLyogc2NyaXB0IGRlZmF1bHQgKi8KKwlpZiAoY3h0LT5zY3JpcHQpIHsKKwkJcmMgPSBnZXRfc2NyaXB0X3U2NChjeHQsIGZpcnN0LCAiZmlyc3QtbGJhIik7CisJCWlmIChyYyA8IDApCisJCQlyZXR1cm4gcmM7CisKKwkJREJHKExBQkVMLCB1bF9kZWJ1ZygiRmlyc3RMQkE6IHNjcmlwdD0lIlBSSXU2NCIsIHVlZmk9JSJQUkl1NjQiLCB0b3BvbG9neT0lanUuIiwKKwkJICAgICAgICAgICAgICAgICAgICAqZmlyc3QsIGZsYmEsICAodWludG1heF90KWN4dC0+Zmlyc3RfbGJhKSk7CisKKwkJaWYgKHJjID09IDAgJiYgKCpmaXJzdCA8IGZsYmEgfHwgKmZpcnN0ID4gbGxiYSkpIHsKKwkJCWZkaXNrX3dhcm54KGN4dCwgXygiRmlyc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIpKTsKKwkJCXJldHVybiAtRVJBTkdFOworCQl9CisKKwkJcmMgPSBnZXRfc2NyaXB0X3U2NChjeHQsIGxhc3QsICJsYXN0LWxiYSIpOworCQlpZiAocmMgPCAwKQorCQkJcmV0dXJuIHJjOworCisJCURCRyhMQUJFTCwgdWxfZGVidWcoIkxhc3RMQkE6IHNjcmlwdD0lIlBSSXU2NCIsIHVlZmk9JSJQUkl1NjQiLCB0b3BvbG9neT0lanUuIiwKKwkJICAgICAgICAgICAgICAgICAgICAqbGFzdCwgbGxiYSwgICh1aW50bWF4X3QpY3h0LT5sYXN0X2xiYSkpOworCisJCWlmIChyYyA9PSAwICYmICgqbGFzdCA+IGxsYmEgfHwgKmxhc3QgPCBmbGJhKSkgeworCQkJZmRpc2tfd2FybngoY3h0LCBfKCJMYXN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iKSk7CisJCQlyZXR1cm4gLUVSQU5HRTsKKwkJfQorCX0KKworCWlmICghKmxhc3QpCisJCSpsYXN0ID0gbGxiYTsKKworCS8qIGRlZmF1bHQgYnkgdG9wb2xvZ3kgKi8KKwlpZiAoISpmaXJzdCkKKwkJKmZpcnN0ID0gZmxiYSA8IGN4dC0+Zmlyc3RfbGJhICYmCisJCQkgY3h0LT5maXJzdF9sYmEgPCAqbGFzdCA/IGN4dC0+Zmlyc3RfbGJhIDogZmxiYTsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIEJ1aWxkcyBhIGNsZWFuIG5ldyBHUFQgaGVhZGVyIChjdXJyZW50bHkgdW5kZXIgcmV2aXNpb24gMS4wKS4KKyAqCisgKiBBbHdheXMgcGFzcyBhIG5ldyAoemVyb2l6ZWQpIGhlYWRlciB0byBidWlsZCB1cG9uIGFzIHdlIGRvbid0CisgKiBleHBsaWNpdGx5IHplcm8tc2V0IHNvbWUgdmFsdWVzIHN1Y2ggYXMgQ1JDcyBhbmQgcmVzZXJ2ZWQuCisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG90aGVyd2lzZSA8IDAgb24gZXJyb3IuCisgKi8KK3N0YXRpYyBpbnQgZ3B0X21rbmV3X2hlYWRlcihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJICAgIHN0cnVjdCBncHRfaGVhZGVyICpoZWFkZXIsIHVpbnQ2NF90IGxiYSkKK3sKKwl1aW50NjRfdCBmaXJzdCwgbGFzdDsKKwlpbnQgaGFzX2lkID0gMCwgcmM7CisKKwlpZiAoIWN4dCB8fCAhaGVhZGVyKQorCQlyZXR1cm4gLUVOT1NZUzsKKworCWhlYWRlci0+c2lnbmF0dXJlID0gY3B1X3RvX2xlNjQoR1BUX0hFQURFUl9TSUdOQVRVUkUpOworCWhlYWRlci0+cmV2aXNpb24gID0gY3B1X3RvX2xlMzIoR1BUX0hFQURFUl9SRVZJU0lPTl9WMV8wMCk7CisKKwkvKiBBY2NvcmRpbmcgdG8gRUZJIHN0YW5kYXJkIGl0J3MgdmFsaWQgdG8gY291bnQgYWxsIHRoZSBmaXJzdAorCSAqIHNlY3RvciBpbnRvIGhlYWRlciBzaXplLCBidXQgc29tZSB0b29scyBtYXkgaGF2ZSBhIHByb2JsZW0KKwkgKiB0byBhY2NlcHQgaXQsIHNvIHVzZSB0aGUgaGVhZGVyIHdpdGhvdXQgdGhlIHplcm9lZCBhcmVhLgorCSAqIFRoaXMgZG9lcyBub3QgaGF2ZSBhbnkgaW1wYWN0IHRvIENSQywgZXRjLiAgIC0ta3phayBKYW4tMjAxNQorCSAqLworCWhlYWRlci0+c2l6ZSA9IGNwdV90b19sZTMyKHNpemVvZihzdHJ1Y3QgZ3B0X2hlYWRlcikKKwkJCQktIHNpemVvZihoZWFkZXItPnJlc2VydmVkMikpOworCisJLyoKKwkgKiAxMjggcGFydGl0aW9ucyBhcmUgdGhlIGRlZmF1bHQuIEl0IGNhbiBnbyBiZXlvbmQgdGhhdCwgYnV0CisJICogd2UncmUgY3JlYXRpbmcgYSBkZSBmYWN0byBoZWFkZXIgaGVyZSwgc28gbm8gZnVubnkgYnVzaW5lc3MuCisJICovCisJaGVhZGVyLT5ucGFydGl0aW9uX2VudHJpZXMgICAgID0gY3B1X3RvX2xlMzIoR1BUX05QQVJUSVRJT05TKTsKKwloZWFkZXItPnNpemVvZl9wYXJ0aXRpb25fZW50cnkgPSBjcHVfdG9fbGUzMihzaXplb2Yoc3RydWN0IGdwdF9lbnRyeSkpOworCisJcmMgPSBjb3VudF9maXJzdF9sYXN0X2xiYShjeHQsICZmaXJzdCwgJmxhc3QpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJaGVhZGVyLT5maXJzdF91c2FibGVfbGJhID0gY3B1X3RvX2xlNjQoZmlyc3QpOworCWhlYWRlci0+bGFzdF91c2FibGVfbGJhICA9IGNwdV90b19sZTY0KGxhc3QpOworCisJZ3B0X21rbmV3X2hlYWRlcl9jb21tb24oY3h0LCBoZWFkZXIsIGxiYSk7CisKKwlpZiAoY3h0LT5zY3JpcHQpIHsKKwkJY29uc3QgY2hhciAqaWQgPSBmZGlza19zY3JpcHRfZ2V0X2hlYWRlcihjeHQtPnNjcmlwdCwgImxhYmVsLWlkIik7CisJCWlmIChpZCAmJiBzdHJpbmdfdG9fZ3VpZChpZCwgJmhlYWRlci0+ZGlza19ndWlkKSA9PSAwKQorCQkJaGFzX2lkID0gMTsKKwl9CisKKwlpZiAoIWhhc19pZCkgeworCQl1dWlkX2dlbmVyYXRlX3JhbmRvbSgodW5zaWduZWQgY2hhciAqKSAmaGVhZGVyLT5kaXNrX2d1aWQpOworCQlzd2FwX2VmaV9ndWlkKCZoZWFkZXItPmRpc2tfZ3VpZCk7CisJfQorCXJldHVybiAwOworfQorCisvKgorICogQ2hlY2tzIGlmIHRoZXJlIGlzIGEgdmFsaWQgcHJvdGVjdGl2ZSBNQlIgcGFydGl0aW9uIHRhYmxlLgorICogUmV0dXJucyAwIGlmIGl0IGlzIGludmFsaWQgb3IgZmFpbHVyZS4gT3RoZXJ3aXNlLCByZXR1cm4KKyAqIEdQVF9NQlJfUFJPVEVDVElWRSBvciBHUFRfTUJSX0hZQlJJRCwgZGVwZW5kaW5nIG9uIHRoZSBkZXRlY3Rpb24uCisgKi8KK3N0YXRpYyBpbnQgdmFsaWRfcG1icihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWludCBpLCBwYXJ0ID0gMCwgcmV0ID0gMDsgLyogaW52YWxpZCBieSBkZWZhdWx0ICovCisJc3RydWN0IGdwdF9sZWdhY3lfbWJyICpwbWJyID0gTlVMTDsKKworCWlmICghY3h0LT5maXJzdHNlY3RvcikKKwkJZ290byBkb25lOworCisJcG1iciA9IChzdHJ1Y3QgZ3B0X2xlZ2FjeV9tYnIgKikgY3h0LT5maXJzdHNlY3RvcjsKKworCWlmIChsZTE2X3RvX2NwdShwbWJyLT5zaWduYXR1cmUpICE9IE1TRE9TX01CUl9TSUdOQVRVUkUpCisJCWdvdG8gZG9uZTsKKworCS8qIHNlZW1zIGxpa2UgYSB2YWxpZCBNQlIgd2FzIGZvdW5kLCBjaGVjayBET1MgcHJpbWFyeSBwYXJ0aXRpb25zICovCisJZm9yIChpID0gMDsgaSA8IDQ7IGkrKykgeworCQlpZiAocG1ici0+cGFydGl0aW9uX3JlY29yZFtpXS5vc190eXBlID09IEVGSV9QTUJSX09TVFlQRSkgeworCQkJLyoKKwkJCSAqIE9rLCB3ZSBhdCBsZWFzdCBrbm93IHRoYXQgdGhlcmUncyBhIHByb3RlY3RpdmUgTUJSLAorCQkJICogbm93IGNoZWNrIGlmIHRoZXJlIGFyZSBvdGhlciBwYXJ0aXRpb24gdHlwZXMgZm9yCisJCQkgKiBoeWJyaWQgTUJSLgorCQkJICovCisJCQlwYXJ0ID0gaTsKKwkJCXJldCA9IEdQVF9NQlJfUFJPVEVDVElWRTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJaWYgKHJldCAhPSBHUFRfTUJSX1BST1RFQ1RJVkUpCisJCWdvdG8gZG9uZTsKKworCS8qIExCQSBvZiB0aGUgR1BUIHBhcnRpdGlvbiBoZWFkZXIgKi8KKwlpZiAocG1ici0+cGFydGl0aW9uX3JlY29yZFtwYXJ0XS5zdGFydGluZ19sYmEgIT0KKwkgICAgY3B1X3RvX2xlMzIoR1BUX1BSSU1BUllfUEFSVElUSU9OX1RBQkxFX0xCQSkpCisJCWdvdG8gZG9uZTsKKworCWZvciAoaSA9IDAgOyBpIDwgNDsgaSsrKSB7CisJCWlmICgocG1ici0+cGFydGl0aW9uX3JlY29yZFtpXS5vc190eXBlICE9IEVGSV9QTUJSX09TVFlQRSkgJiYKKwkJICAgIChwbWJyLT5wYXJ0aXRpb25fcmVjb3JkW2ldLm9zX3R5cGUgIT0gMHgwMCkpCisJCQlyZXQgPSBHUFRfTUJSX0hZQlJJRDsKKwl9CisKKwkvKgorCSAqIFByb3RlY3RpdmUgTUJScyB0YWtlIHVwIHRoZSBsZXNzZXIgb2YgdGhlIHdob2xlIGRpc2sKKwkgKiBvciAyIFRpQiAoMzJiaXQgTEJBKSwgaWdub3JpbmcgdGhlIHJlc3Qgb2YgdGhlIGRpc2suCisJICogU29tZSBwYXJ0aXRpb25pbmcgcHJvZ3JhbXMsIG5vbmV0aGVsZXNzLCBjaG9vc2UgdG8gc2V0CisJICogdGhlIHNpemUgdG8gdGhlIG1heGltdW0gMzItYml0IGxpbWl0YXRpb24sIGRpc3JlZ2FyZGluZworCSAqIHRoZSBkaXNrIHNpemUuCisJICoKKwkgKiBIeWJyaWQgTUJScyBkbyBub3QgbmVjZXNzYXJpbHkgY29tcGx5IHdpdGggdGhpcy4KKwkgKgorCSAqIENvbnNpZGVyIGEgYmFkIHZhbHVlIGhlcmUgdG8gYmUgYSB3YXJuaW5nIHRvIHN1cHBvcnQgZGQtaW5nCisJICogYW4gaW1hZ2UgZnJvbSBhIHNtYWxsZXIgZGlzayB0byBhIGJpZ2dlciBkaXNrLgorCSAqLworCWlmIChyZXQgPT0gR1BUX01CUl9QUk9URUNUSVZFKSB7CisJCXVpbnQ2NF90IHN6X2xiYSA9ICh1aW50NjRfdCkgbGUzMl90b19jcHUocG1ici0+cGFydGl0aW9uX3JlY29yZFtwYXJ0XS5zaXplX2luX2xiYSk7CisJCWlmIChzel9sYmEgIT0gY3h0LT50b3RhbF9zZWN0b3JzIC0gMVVMTCAmJiBzel9sYmEgIT0gMHhGRkZGRkZGRlVMTCkgeworCQkJZmRpc2tfd2FybngoY3h0LCBfKCJHUFQgUE1CUiBzaXplIG1pc21hdGNoICglIlBSSXU2NCIgIT0gJSJQUkl1NjQiKSAiCisJCQkJCSAgICJ3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpLiIpLAorCQkJCQlzel9sYmEsIGN4dC0+dG90YWxfc2VjdG9ycyAtIDFVTEwpOworCQkJZmRpc2tfbGFiZWxfc2V0X2NoYW5nZWQoY3h0LT5sYWJlbCwgMSk7CisJCX0KKwl9Citkb25lOgorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB1aW50NjRfdCBsYXN0X2xiYShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBzdGF0IHM7CisJdWludDY0X3Qgc2VjdG9ycyA9IDA7CisKKwltZW1zZXQoJnMsIDAsIHNpemVvZihzKSk7CisJaWYgKGZzdGF0KGN4dC0+ZGV2X2ZkLCAmcykgPT0gLTEpIHsKKwkJZmRpc2tfd2FybihjeHQsIF8oImdwdDogc3RhdCgpIGZhaWxlZCIpKTsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKFNfSVNCTEsocy5zdF9tb2RlKSkKKwkJc2VjdG9ycyA9IGN4dC0+dG90YWxfc2VjdG9ycyAtIDFVTEw7CisJZWxzZSBpZiAoU19JU1JFRyhzLnN0X21vZGUpKQorCQlzZWN0b3JzID0gKCh1aW50NjRfdCkgcy5zdF9zaXplIC8KKwkJCSAgICh1aW50NjRfdCkgY3h0LT5zZWN0b3Jfc2l6ZSkgLSAxVUxMOworCWVsc2UKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJncHQ6IGNhbm5vdCBoYW5kbGUgZmlsZXMgd2l0aCBtb2RlICVvIiksIHMuc3RfbW9kZSk7CisKKwlEQkcoTEFCRUwsIHVsX2RlYnVnKCJHUFQgbGFzdCBMQkE6ICUiUFJJdTY0IiIsIHNlY3RvcnMpKTsKKwlyZXR1cm4gc2VjdG9yczsKK30KKworc3RhdGljIHNzaXplX3QgcmVhZF9sYmEoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgdWludDY0X3QgbGJhLAorCQkJdm9pZCAqYnVmZmVyLCBjb25zdCBzaXplX3QgYnl0ZXMpCit7CisJb2ZmX3Qgb2Zmc2V0ID0gbGJhICogY3h0LT5zZWN0b3Jfc2l6ZTsKKworCWlmIChsc2VlayhjeHQtPmRldl9mZCwgb2Zmc2V0LCBTRUVLX1NFVCkgPT0gKG9mZl90KSAtMSkKKwkJcmV0dXJuIC0xOworCXJldHVybiAoc2l6ZV90KXJlYWQoY3h0LT5kZXZfZmQsIGJ1ZmZlciwgYnl0ZXMpICE9IGJ5dGVzOworfQorCisKKy8qIFJldHVybnMgdGhlIEdQVCBlbnRyeSBhcnJheSAqLworc3RhdGljIHN0cnVjdCBncHRfZW50cnkgKmdwdF9yZWFkX2VudHJpZXMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCQkJIHN0cnVjdCBncHRfaGVhZGVyICpoZWFkZXIpCit7CisJc3NpemVfdCBzejsKKwlzdHJ1Y3QgZ3B0X2VudHJ5ICpyZXQgPSBOVUxMOworCW9mZl90IG9mZnNldDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChoZWFkZXIpOworCisJc3ogPSAoc3NpemVfdCkgbGUzMl90b19jcHUoaGVhZGVyLT5ucGFydGl0aW9uX2VudHJpZXMpICoKKwkgICAgIGxlMzJfdG9fY3B1KGhlYWRlci0+c2l6ZW9mX3BhcnRpdGlvbl9lbnRyeSk7CisKKwlpZiAoc3ogPT0gMCB8fCBzeiA+PSBVSU5UMzJfTUFYIHx8CisJICAgIGxlMzJfdG9fY3B1KGhlYWRlci0+c2l6ZW9mX3BhcnRpdGlvbl9lbnRyeSkgIT0gc2l6ZW9mKHN0cnVjdCBncHRfZW50cnkpKSB7CisJCURCRyhMQUJFTCwgdWxfZGVidWcoIkdQVCBlbnRyZWlzIGFycmF5IHNpemUgY2hlY2sgZmFpbGVkIikpOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlyZXQgPSBjYWxsb2MoMSwgc3opOworCWlmICghcmV0KQorCQlyZXR1cm4gTlVMTDsKKwlvZmZzZXQgPSAob2ZmX3QpIGxlNjRfdG9fY3B1KGhlYWRlci0+cGFydGl0aW9uX2VudHJ5X2xiYSkgKgorCQkgICAgICAgY3h0LT5zZWN0b3Jfc2l6ZTsKKworCWlmIChvZmZzZXQgIT0gbHNlZWsoY3h0LT5kZXZfZmQsIG9mZnNldCwgU0VFS19TRVQpKQorCQlnb3RvIGZhaWw7CisJaWYgKHN6ICE9IHJlYWQoY3h0LT5kZXZfZmQsIHJldCwgc3opKQorCQlnb3RvIGZhaWw7CisKKwlyZXR1cm4gcmV0OworCitmYWlsOgorCWZyZWUocmV0KTsKKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIGlubGluZSB1aW50MzJfdCBjb3VudF9jcmMzMihjb25zdCB1bnNpZ25lZCBjaGFyICpidWYsIHNpemVfdCBsZW4sCisJCQkJICAgc2l6ZV90IGV4X29mZiwgc2l6ZV90IGV4X2xlbikKK3sKKwlyZXR1cm4gKHVsX2NyYzMyX2V4Y2x1ZGVfb2Zmc2V0KH4wTCwgYnVmLCBsZW4sIGV4X29mZiwgZXhfbGVuKSBeIH4wTCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdWludDMyX3QgZ3B0X2hlYWRlcl9jb3VudF9jcmMzMihzdHJ1Y3QgZ3B0X2hlYWRlciAqaGVhZGVyKQoreworICAgICAgICByZXR1cm4gY291bnRfY3JjMzIoKHVuc2lnbmVkIGNoYXIgKikgaGVhZGVyLAkJLyogYnVmZmVyICovCisJCQlsZTMyX3RvX2NwdShoZWFkZXItPnNpemUpLAkJLyogc2l6ZSBvZiBidWZmZXIgKi8KKwkJCW9mZnNldG9mKHN0cnVjdCBncHRfaGVhZGVyLCBjcmMzMiksCS8qIGV4Y2x1ZGUgKi8KKwkJCXNpemVvZihoZWFkZXItPmNyYzMyKSk7CQkJLyogc2l6ZSBvZiBleGNsdWRlZCBhcmVhICovCit9CisKK3N0YXRpYyBpbmxpbmUgdWludDMyX3QgZ3B0X2VudHJ5YXJyX2NvdW50X2NyYzMyKHN0cnVjdCBncHRfaGVhZGVyICpoZWFkZXIsIHN0cnVjdCBncHRfZW50cnkgKmVudHMpCit7CisJc2l6ZV90IGFyeXN6ID0gMDsKKworCWFyeXN6ID0gKHNpemVfdCkgbGUzMl90b19jcHUoaGVhZGVyLT5ucGFydGl0aW9uX2VudHJpZXMpICoKKwkJbGUzMl90b19jcHUoaGVhZGVyLT5zaXplb2ZfcGFydGl0aW9uX2VudHJ5KTsKKworCXJldHVybiBjb3VudF9jcmMzMigodW5zaWduZWQgY2hhciAqKSBlbnRzLCBhcnlzeiwgMCwgMCk7Cit9CisKKworLyoKKyAqIFJlY29tcHV0ZSBoZWFkZXIgYW5kIHBhcnRpdGlvbiBhcnJheSAzMmJpdCBDUkMgY2hlY2tzdW1zLgorICogVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBmYWlsIC0gaWYgdGhlcmUncyBjb3JydXB0aW9uLCB0aGVuIGl0CisgKiB3aWxsIGJlIHJlcG9ydGVkIHdoZW4gY2hlY2tzdW1taW5nIGl0IGFnYWluIChpZTogcHJvYmluZyBvciB2ZXJpZnkpLgorICovCitzdGF0aWMgdm9pZCBncHRfcmVjb21wdXRlX2NyYyhzdHJ1Y3QgZ3B0X2hlYWRlciAqaGVhZGVyLCBzdHJ1Y3QgZ3B0X2VudHJ5ICplbnRzKQoreworCWlmICghaGVhZGVyKQorCQlyZXR1cm47CisKKwloZWFkZXItPnBhcnRpdGlvbl9lbnRyeV9hcnJheV9jcmMzMiA9CisJCQljcHVfdG9fbGUzMiggZ3B0X2VudHJ5YXJyX2NvdW50X2NyYzMyKGhlYWRlciwgZW50cykgKTsKKworCWhlYWRlci0+Y3JjMzIgPSBjcHVfdG9fbGUzMiggZ3B0X2hlYWRlcl9jb3VudF9jcmMzMihoZWFkZXIpICk7Cit9CisKKy8qCisgKiBDb21wdXRlIHRoZSAzMmJpdCBDUkMgY2hlY2tzdW0gb2YgdGhlIHBhcnRpdGlvbiB0YWJsZSBoZWFkZXIuCisgKiBSZXR1cm5zIDEgaWYgaXQgaXMgdmFsaWQsIG90aGVyd2lzZSAwLgorICovCitzdGF0aWMgaW50IGdwdF9jaGVja19oZWFkZXJfY3JjKHN0cnVjdCBncHRfaGVhZGVyICpoZWFkZXIsIHN0cnVjdCBncHRfZW50cnkgKmVudHMpCit7CisJdWludDMyX3Qgb3JnY3JjID0gbGUzMl90b19jcHUoaGVhZGVyLT5jcmMzMiksCisJCSBjcmMgPSBncHRfaGVhZGVyX2NvdW50X2NyYzMyKGhlYWRlcik7CisKKwlpZiAoY3JjID09IG9yZ2NyYykKKwkJcmV0dXJuIDE7CisKKwkvKgorCSAqIElmIHdlIGhhdmUgY2hlY2tzdW0gbWlzbWF0Y2ggaXQgbWF5IGJlIGR1ZSB0byBzdGFsZSBkYXRhLCBsaWtlIGEKKwkgKiBwYXJ0aXRpb24gYmVpbmcgYWRkZWQgb3IgZGVsZXRlZC4gUmVjb21wdXRlIHRoZSBDUkMgYWdhaW4gYW5kIG1ha2UKKwkgKiBzdXJlIHRoaXMgaXMgbm90IHRoZSBjYXNlLgorCSAqLworCWlmIChlbnRzKSB7CisJCWdwdF9yZWNvbXB1dGVfY3JjKGhlYWRlciwgZW50cyk7CisJCXJldHVybiBncHRfaGVhZGVyX2NvdW50X2NyYzMyKGhlYWRlcikgPT0gb3JnY3JjOworCX0KKworCXJldHVybiAwOworfQorCisvKgorICogSXQgaW5pdGlhbGl6ZXMgdGhlIHBhcnRpdGlvbiBlbnRyeSBhcnJheS4KKyAqIFJldHVybnMgMSBpZiB0aGUgY2hlY2tzdW0gaXMgdmFsaWQsIG90aGVyd2lzZSAwLgorICovCitzdGF0aWMgaW50IGdwdF9jaGVja19lbnRyeWFycl9jcmMoc3RydWN0IGdwdF9oZWFkZXIgKmhlYWRlciwKKwkJCQkgIHN0cnVjdCBncHRfZW50cnkgKmVudHMpCit7CisJaWYgKCFoZWFkZXIgfHwgIWVudHMpCisJCXJldHVybiAwOworCisJcmV0dXJuIGdwdF9lbnRyeWFycl9jb3VudF9jcmMzMihoZWFkZXIsIGVudHMpID09CisJCQlsZTMyX3RvX2NwdShoZWFkZXItPnBhcnRpdGlvbl9lbnRyeV9hcnJheV9jcmMzMik7Cit9CisKK3N0YXRpYyBpbnQgZ3B0X2NoZWNrX2xiYV9zYW5pdHkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGdwdF9oZWFkZXIgKmhlYWRlcikKK3sKKwlpbnQgcmV0ID0gMDsKKwl1aW50NjRfdCBsdSwgZnUsIGxhc3RsYmEgPSBsYXN0X2xiYShjeHQpOworCisJZnUgPSBsZTY0X3RvX2NwdShoZWFkZXItPmZpcnN0X3VzYWJsZV9sYmEpOworCWx1ID0gbGU2NF90b19jcHUoaGVhZGVyLT5sYXN0X3VzYWJsZV9sYmEpOworCisJLyogY2hlY2sgaWYgZmlyc3QgYW5kIGxhc3QgdXNhYmxlIExCQSBtYWtlIHNlbnNlICovCisJaWYgKGx1IDwgZnUpIHsKKwkJREJHKExBQkVMLCB1bF9kZWJ1ZygiZXJyb3I6IGhlYWRlciBsYXN0IExCQSBpcyBiZWZvcmUgZmlyc3QgTEJBIikpOworCQlnb3RvIGRvbmU7CisJfQorCisJLyogY2hlY2sgaWYgZmlyc3QgYW5kIGxhc3QgdXNhYmxlIExCQXMgd2l0aCB0aGUgZGlzaydzIGxhc3QgTEJBICovCisJaWYgKGZ1ID4gbGFzdGxiYSB8fCBsdSA+IGxhc3RsYmEpIHsKKwkJREJHKExBQkVMLCB1bF9kZWJ1ZygiZXJyb3I6IGhlYWRlciBMQkFzIGFyZSBhZnRlciB0aGUgZGlzaydzIGxhc3QgTEJBIikpOworCQlnb3RvIGRvbmU7CisJfQorCisJLyogdGhlIGhlYWRlciBoYXMgdG8gYmUgb3V0c2lkZSB1c2FibGUgcmFuZ2UgKi8KKwlpZiAoZnUgPCBHUFRfUFJJTUFSWV9QQVJUSVRJT05fVEFCTEVfTEJBICYmCisJICAgIEdQVF9QUklNQVJZX1BBUlRJVElPTl9UQUJMRV9MQkEgPCBsdSkgeworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJlcnJvcjogaGVhZGVyIG91dHNpZGUgb2YgdXNhYmxlIHJhbmdlIikpOworCQlnb3RvIGRvbmU7CisJfQorCisJcmV0ID0gMTsgLyogc2FuZSAqLworZG9uZToKKwlyZXR1cm4gcmV0OworfQorCisvKiBDaGVjayBpZiB0aGVyZSBpcyBhIHZhbGlkIGhlYWRlciBzaWduYXR1cmUgKi8KK3N0YXRpYyBpbnQgZ3B0X2NoZWNrX3NpZ25hdHVyZShzdHJ1Y3QgZ3B0X2hlYWRlciAqaGVhZGVyKQoreworCXJldHVybiBoZWFkZXItPnNpZ25hdHVyZSA9PSBjcHVfdG9fbGU2NChHUFRfSEVBREVSX1NJR05BVFVSRSk7Cit9CisKKy8qCisgKiBSZXR1cm4gdGhlIHNwZWNpZmllZCBHUFQgSGVhZGVyLCBvciBOVUxMIHVwb24gZmFpbHVyZS9pbnZhbGlkLgorICogTm90ZSB0aGF0IGFsbCB0ZXN0cyBtdXN0IHBhc3MgdG8gZW5zdXJlIGEgdmFsaWQgaGVhZGVyLAorICogd2UgZG8gbm90IHJlbHkgb24gb25seSB0ZXN0aW5nIHRoZSBzaWduYXR1cmUgZm9yIGEgdmFsaWQgcHJvYmUuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgZ3B0X2hlYWRlciAqZ3B0X3JlYWRfaGVhZGVyKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQkJCSAgdWludDY0X3QgbGJhLAorCQkJCQkgIHN0cnVjdCBncHRfZW50cnkgKipfZW50cykKK3sKKwlzdHJ1Y3QgZ3B0X2hlYWRlciAqaGVhZGVyID0gTlVMTDsKKwlzdHJ1Y3QgZ3B0X2VudHJ5ICplbnRzID0gTlVMTDsKKwl1aW50MzJfdCBoc3o7CisKKwlpZiAoIWN4dCkKKwkJcmV0dXJuIE5VTEw7CisKKwkvKiBhbHdheXMgYWxsb2NhdGUgYWxsIHNlY3RvciwgdGhlIGFyZWEgYWZ0ZXIgR1BUIGhlYWRlcgorCSAqIGhhcyB0byBiZSBmaWxsIGJ5IHplcm9zICovCisJYXNzZXJ0KGN4dC0+c2VjdG9yX3NpemUgPj0gc2l6ZW9mKHN0cnVjdCBncHRfaGVhZGVyKSk7CisKKwloZWFkZXIgPSBjYWxsb2MoMSwgY3h0LT5zZWN0b3Jfc2l6ZSk7CisJaWYgKCFoZWFkZXIpCisJCXJldHVybiBOVUxMOworCisJLyogcmVhZCBhbmQgdmVyaWZ5IGhlYWRlciAqLworCWlmIChyZWFkX2xiYShjeHQsIGxiYSwgaGVhZGVyLCBjeHQtPnNlY3Rvcl9zaXplKSAhPSAwKQorCQlnb3RvIGludmFsaWQ7CisKKwlpZiAoIWdwdF9jaGVja19zaWduYXR1cmUoaGVhZGVyKSkKKwkJZ290byBpbnZhbGlkOworCisJLyogbWFrZSBzdXJlIGhlYWRlciBzaXplIGlzIGJldHdlZW4gOTIgYW5kIHNlY3RvciBzaXplIGJ5dGVzICovCisJaHN6ID0gbGUzMl90b19jcHUoaGVhZGVyLT5zaXplKTsKKwlpZiAoaHN6IDwgR1BUX0hFQURFUl9NSU5TWiB8fCBoc3ogPiBjeHQtPnNlY3Rvcl9zaXplKQorCQlnb3RvIGludmFsaWQ7CisKKwlpZiAoIWdwdF9jaGVja19oZWFkZXJfY3JjKGhlYWRlciwgTlVMTCkpCisJCWdvdG8gaW52YWxpZDsKKworCS8qIHJlYWQgYW5kIHZlcmlmeSBlbnRyaWVzICovCisJZW50cyA9IGdwdF9yZWFkX2VudHJpZXMoY3h0LCBoZWFkZXIpOworCWlmICghZW50cykKKwkJZ290byBpbnZhbGlkOworCisJaWYgKCFncHRfY2hlY2tfZW50cnlhcnJfY3JjKGhlYWRlciwgZW50cykpCisJCWdvdG8gaW52YWxpZDsKKworCWlmICghZ3B0X2NoZWNrX2xiYV9zYW5pdHkoY3h0LCBoZWFkZXIpKQorCQlnb3RvIGludmFsaWQ7CisKKwkvKiB2YWxpZCBoZWFkZXIgbXVzdCBiZSBhdCBNeUxCQSAqLworCWlmIChsZTY0X3RvX2NwdShoZWFkZXItPm15X2xiYSkgIT0gbGJhKQorCQlnb3RvIGludmFsaWQ7CisKKworCWlmIChfZW50cykKKwkJKl9lbnRzID0gZW50czsKKwllbHNlCisJCWZyZWUoZW50cyk7CisKKwlEQkcoTEFCRUwsIHVsX2RlYnVnKCJmb3VuZCB2YWxpZCBHUFQgSGVhZGVyIG9uIExCQSAlIlBSSXU2NCIiLCBsYmEpKTsKKwlyZXR1cm4gaGVhZGVyOworaW52YWxpZDoKKwlmcmVlKGhlYWRlcik7CisJZnJlZShlbnRzKTsKKworCURCRyhMQUJFTCwgdWxfZGVidWcoInJlYWQgR1BUIEhlYWRlciBvbiBMQkEgJSJQUkl1NjQiIGZhaWxlZCIsIGxiYSkpOworCXJldHVybiBOVUxMOworfQorCisKK3N0YXRpYyBpbnQgZ3B0X2xvY2F0ZV9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgaW50IG4sCisJCWNvbnN0IGNoYXIgKipuYW1lLCB1aW50NjRfdCAqb2Zmc2V0LCBzaXplX3QgKnNpemUpCit7CisJc3RydWN0IGZkaXNrX2dwdF9sYWJlbCAqZ3B0OworCisJYXNzZXJ0KGN4dCk7CisKKwkqbmFtZSA9IE5VTEw7CisJKm9mZnNldCA9IDA7CisJKnNpemUgPSAwOworCisJc3dpdGNoIChuKSB7CisJY2FzZSAwOgorCQkqbmFtZSA9ICJQTUJSIjsKKwkJKm9mZnNldCA9IDA7CisJCSpzaXplID0gNTEyOworCQlicmVhazsKKwljYXNlIDE6CisJCSpuYW1lID0gXygiR1BUIEhlYWRlciIpOworCQkqb2Zmc2V0ID0gKHVpbnQ2NF90KSBHUFRfUFJJTUFSWV9QQVJUSVRJT05fVEFCTEVfTEJBICogY3h0LT5zZWN0b3Jfc2l6ZTsKKwkJKnNpemUgPSBzaXplb2Yoc3RydWN0IGdwdF9oZWFkZXIpOworCQlicmVhazsKKwljYXNlIDI6CisJCSpuYW1lID0gXygiR1BUIEVudHJpZXMiKTsKKwkJZ3B0ID0gc2VsZl9sYWJlbChjeHQpOworCQkqb2Zmc2V0ID0gKHVpbnQ2NF90KSBsZTY0X3RvX2NwdShncHQtPnBoZWFkZXItPnBhcnRpdGlvbl9lbnRyeV9sYmEpICoKKwkJCQkgICAgIGN4dC0+c2VjdG9yX3NpemU7CisJCSpzaXplID0gKHNpemVfdCkgbGUzMl90b19jcHUoZ3B0LT5waGVhZGVyLT5ucGFydGl0aW9uX2VudHJpZXMpICoKKwkJCQkgbGUzMl90b19jcHUoZ3B0LT5waGVhZGVyLT5zaXplb2ZfcGFydGl0aW9uX2VudHJ5KTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIDE7CQkJLyogbm8gbW9yZSBjaHVua3MgKi8KKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBncHRfZ2V0X2Rpc2tsYWJlbF9pdGVtKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHN0cnVjdCBmZGlza19sYWJlbGl0ZW0gKml0ZW0pCit7CisJc3RydWN0IGdwdF9oZWFkZXIgKmg7CisJaW50IHJjID0gMDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBHUFQpKTsKKworCWggPSBzZWxmX2xhYmVsKGN4dCktPnBoZWFkZXI7CisKKwlzd2l0Y2ggKGl0ZW0tPmlkKSB7CisJY2FzZSBHUFRfTEFCRUxJVEVNX0lEOgorCQlpdGVtLT5uYW1lID0gXygiRGlzayBpZGVudGlmaWVyIik7CisJCWl0ZW0tPnR5cGUgPSAncyc7CisJCWl0ZW0tPmRhdGEuc3RyID0gZ3B0X2dldF9oZWFkZXJfaWQoaCk7CisJCWlmICghaXRlbS0+ZGF0YS5zdHIpCisJCQlyYyA9IC1FTk9NRU07CisJCWJyZWFrOworCWNhc2UgR1BUX0xBQkVMSVRFTV9GSVJTVExCQToKKwkJaXRlbS0+bmFtZSA9IF8oIkZpcnN0IExCQSIpOworCQlpdGVtLT50eXBlID0gJ2onOworCQlpdGVtLT5kYXRhLm51bTY0ID0gbGU2NF90b19jcHUoaC0+Zmlyc3RfdXNhYmxlX2xiYSk7CisJCWJyZWFrOworCWNhc2UgR1BUX0xBQkVMSVRFTV9MQVNUTEJBOgorCQlpdGVtLT5uYW1lID0gXygiTGFzdCBMQkEiKTsKKwkJaXRlbS0+dHlwZSA9ICdqJzsKKwkJaXRlbS0+ZGF0YS5udW02NCA9IGxlNjRfdG9fY3B1KGgtPmxhc3RfdXNhYmxlX2xiYSk7CisJCWJyZWFrOworCWNhc2UgR1BUX0xBQkVMSVRFTV9BTFRMQkE6CisJCS8qIFRSQU5TTEFUT1JTOiBUaGUgTEJBIChMb2dpY2FsIEJsb2NrIEFkZHJlc3MpIG9mIHRoZSBiYWNrdXAgR1BUIGhlYWRlci4gKi8KKwkJaXRlbS0+bmFtZSA9IF8oIkFsdGVybmF0aXZlIExCQSIpOworCQlpdGVtLT50eXBlID0gJ2onOworCQlpdGVtLT5kYXRhLm51bTY0ID0gbGU2NF90b19jcHUoaC0+YWx0ZXJuYXRpdmVfbGJhKTsKKwkJYnJlYWs7CisJY2FzZSBHUFRfTEFCRUxJVEVNX0VOVFJJRVNMQkE6CisJCS8qIFRSQU5TTEFUT1JTOiBUaGUgc3RhcnQgb2YgdGhlIGFycmF5IG9mIHBhcnRpdGlvbiBlbnRyaWVzLiAqLworCQlpdGVtLT5uYW1lID0gXygiUGFydGl0aW9uIGVudHJpZXMgTEJBIik7CisJCWl0ZW0tPnR5cGUgPSAnaic7CisJCWl0ZW0tPmRhdGEubnVtNjQgPSBsZTY0X3RvX2NwdShoLT5wYXJ0aXRpb25fZW50cnlfbGJhKTsKKwkJYnJlYWs7CisJY2FzZSBHUFRfTEFCRUxJVEVNX0VOVFJJRVNBTExPQzoKKwkJaXRlbS0+bmFtZSA9IF8oIkFsbG9jYXRlZCBwYXJ0aXRpb24gZW50cmllcyIpOworCQlpdGVtLT50eXBlID0gJ2onOworCQlpdGVtLT5kYXRhLm51bTY0ID0gbGUzMl90b19jcHUoaC0+bnBhcnRpdGlvbl9lbnRyaWVzKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJaWYgKGl0ZW0tPmlkIDwgX19GRElTS19OTEFCRUxJVEVNUykKKwkJCXJjID0gMTsJLyogdW5zdXBwb3J0ZWQgZ2VuZXJpYyBpdGVtICovCisJCWVsc2UKKwkJCXJjID0gMjsJLyogb3V0IG9mIHJhbmdlICovCisJCWJyZWFrOworCX0KKworCXJldHVybiByYzsKK30KKworLyoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBwYXJ0aXRpb25zIHRoYXQgYXJlIGluIHVzZS4KKyAqLworc3RhdGljIHVuc2lnbmVkIHBhcnRpdGlvbnNfaW5fdXNlKHN0cnVjdCBncHRfaGVhZGVyICpoZWFkZXIsCisJCQkJICBzdHJ1Y3QgZ3B0X2VudHJ5ICplbnRzKQoreworCXVpbnQzMl90IGksIHVzZWQgPSAwOworCisJaWYgKCFoZWFkZXIgfHwgISBlbnRzKQorCQlyZXR1cm4gMDsKKworCWZvciAoaSA9IDA7IGkgPCBsZTMyX3RvX2NwdShoZWFkZXItPm5wYXJ0aXRpb25fZW50cmllcyk7IGkrKykKKwkJaWYgKCFwYXJ0aXRpb25fdW51c2VkKCZlbnRzW2ldKSkKKwkJCXVzZWQrKzsKKwlyZXR1cm4gdXNlZDsKK30KKworCisvKgorICogQ2hlY2sgaWYgYSBwYXJ0aXRpb24gaXMgdG9vIGJpZyBmb3IgdGhlIGRpc2sgKHNlY3RvcnMpLgorICogUmV0dXJucyB0aGUgZmF1bHRpbmcgcGFydGl0aW9uIG51bWJlciwgb3RoZXJ3aXNlIDAuCisgKi8KK3N0YXRpYyB1aW50MzJfdCBjaGVja190b29fYmlnX3BhcnRpdGlvbnMoc3RydWN0IGdwdF9oZWFkZXIgKmhlYWRlciwKKwkJCQkgICBzdHJ1Y3QgZ3B0X2VudHJ5ICplbnRzLCB1aW50NjRfdCBzZWN0b3JzKQoreworCXVpbnQzMl90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbGUzMl90b19jcHUoaGVhZGVyLT5ucGFydGl0aW9uX2VudHJpZXMpOyBpKyspIHsKKwkJaWYgKHBhcnRpdGlvbl91bnVzZWQoJmVudHNbaV0pKQorCQkJY29udGludWU7CisJCWlmIChncHRfcGFydGl0aW9uX2VuZCgmZW50c1tpXSkgPj0gc2VjdG9ycykKKwkJCXJldHVybiBpICsgMTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIENoZWNrIGlmIGEgcGFydGl0aW9uIGVuZHMgYmVmb3JlIGl0IGJlZ2lucworICogUmV0dXJucyB0aGUgZmF1bHRpbmcgcGFydGl0aW9uIG51bWJlciwgb3RoZXJ3aXNlIDAuCisgKi8KK3N0YXRpYyB1aW50MzJfdCBjaGVja19zdGFydF9hZnRlcl9lbmRfcGFydGl0aW9ucyhzdHJ1Y3QgZ3B0X2hlYWRlciAqaGVhZGVyLAorCQkJCQkJc3RydWN0IGdwdF9lbnRyeSAqZW50cykKK3sKKwl1aW50MzJfdCBpOworCisJZm9yIChpID0gMDsgaSA8IGxlMzJfdG9fY3B1KGhlYWRlci0+bnBhcnRpdGlvbl9lbnRyaWVzKTsgaSsrKSB7CisJCWlmIChwYXJ0aXRpb25fdW51c2VkKCZlbnRzW2ldKSkKKwkJCWNvbnRpbnVlOworCQlpZiAoZ3B0X3BhcnRpdGlvbl9zdGFydCgmZW50c1tpXSkgPiBncHRfcGFydGl0aW9uX2VuZCgmZW50c1tpXSkpCisJCQlyZXR1cm4gaSArIDE7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBDaGVjayBpZiBwYXJ0aXRpb24gZTEgb3ZlcmxhcHMgd2l0aCBwYXJ0aXRpb24gZTIuCisgKi8KK3N0YXRpYyBpbmxpbmUgaW50IHBhcnRpdGlvbl9vdmVybGFwKHN0cnVjdCBncHRfZW50cnkgKmUxLCBzdHJ1Y3QgZ3B0X2VudHJ5ICplMikKK3sKKwl1aW50NjRfdCBzdGFydDEgPSBncHRfcGFydGl0aW9uX3N0YXJ0KGUxKTsKKwl1aW50NjRfdCBlbmQxICAgPSBncHRfcGFydGl0aW9uX2VuZChlMSk7CisJdWludDY0X3Qgc3RhcnQyID0gZ3B0X3BhcnRpdGlvbl9zdGFydChlMik7CisJdWludDY0X3QgZW5kMiAgID0gZ3B0X3BhcnRpdGlvbl9lbmQoZTIpOworCisJcmV0dXJuIChzdGFydDEgJiYgc3RhcnQyICYmIChzdGFydDEgPD0gZW5kMikgIT0gKGVuZDEgPCBzdGFydDIpKTsKK30KKworLyoKKyAqIEZpbmQgYW55IHBhcnRpdGlvbnMgdGhhdCBvdmVybGFwLgorICovCitzdGF0aWMgdWludDMyX3QgY2hlY2tfb3ZlcmxhcF9wYXJ0aXRpb25zKHN0cnVjdCBncHRfaGVhZGVyICpoZWFkZXIsCisJCQkJCSBzdHJ1Y3QgZ3B0X2VudHJ5ICplbnRzKQoreworCXVpbnQzMl90IGksIGo7CisKKwlmb3IgKGkgPSAwOyBpIDwgbGUzMl90b19jcHUoaGVhZGVyLT5ucGFydGl0aW9uX2VudHJpZXMpOyBpKyspCisJCWZvciAoaiA9IDA7IGogPCBpOyBqKyspIHsKKwkJCWlmIChwYXJ0aXRpb25fdW51c2VkKCZlbnRzW2ldKSB8fAorCQkJICAgIHBhcnRpdGlvbl91bnVzZWQoJmVudHNbal0pKQorCQkJCWNvbnRpbnVlOworCQkJaWYgKHBhcnRpdGlvbl9vdmVybGFwKCZlbnRzW2ldLCAmZW50c1tqXSkpIHsKKwkJCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJHUFQgcGFydGl0aW9ucyBvdmVybGFwIGRldGVjdGVkIFsldSB2cy4gJXVdIiwgaSwgaikpOworCQkJCXJldHVybiBpICsgMTsKKwkJCX0KKwkJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBGaW5kIHRoZSBmaXJzdCBhdmFpbGFibGUgYmxvY2sgYWZ0ZXIgdGhlIHN0YXJ0aW5nIHBvaW50OyByZXR1cm5zIDAgaWYKKyAqIHRoZXJlIGFyZSBubyBhdmFpbGFibGUgYmxvY2tzIGxlZnQsIG9yIGVycm9yLiBGcm9tIGdkaXNrLgorICovCitzdGF0aWMgdWludDY0X3QgZmluZF9maXJzdF9hdmFpbGFibGUoc3RydWN0IGdwdF9oZWFkZXIgKmhlYWRlciwKKwkJCQkgICAgIHN0cnVjdCBncHRfZW50cnkgKmVudHMsIHVpbnQ2NF90IHN0YXJ0KQoreworCXVpbnQ2NF90IGZpcnN0OworCXVpbnQzMl90IGksIGZpcnN0X21vdmVkID0gMDsKKworCXVpbnQ2NF90IGZ1LCBsdTsKKworCWlmICghaGVhZGVyIHx8ICFlbnRzKQorCQlyZXR1cm4gMDsKKworCWZ1ID0gbGU2NF90b19jcHUoaGVhZGVyLT5maXJzdF91c2FibGVfbGJhKTsKKwlsdSA9IGxlNjRfdG9fY3B1KGhlYWRlci0+bGFzdF91c2FibGVfbGJhKTsKKworCS8qCisJICogQmVnaW4gZnJvbSB0aGUgc3BlY2lmaWVkIHN0YXJ0aW5nIHBvaW50IG9yIGZyb20gdGhlIGZpcnN0IHVzYWJsZQorCSAqIExCQSwgd2hpY2hldmVyIGlzIGdyZWF0ZXIuLi4KKwkgKi8KKwlmaXJzdCA9IHN0YXJ0IDwgZnUgPyBmdSA6IHN0YXJ0OworCisJLyoKKwkgKiBOb3cgc2VhcmNoIHRocm91Z2ggYWxsIHBhcnRpdGlvbnM7IGlmIGZpcnN0IGlzIHdpdGhpbiBhbgorCSAqIGV4aXN0aW5nIHBhcnRpdGlvbiwgbW92ZSBpdCB0byB0aGUgbmV4dCBzZWN0b3IgYWZ0ZXIgdGhhdAorCSAqIHBhcnRpdGlvbiBhbmQgcmVwZWF0LiBJZiBmaXJzdCB3YXMgbW92ZWQsIHNldCBmaXJzdE1vdmVkCisJICogZmxhZzsgcmVwZWF0IHVudGlsIGZpcnN0TW92ZWQgaXMgbm90IHNldCwgc28gYXMgdG8gY2F0Y2gKKwkgKiBjYXNlcyB3aGVyZSBwYXJ0aXRpb25zIGFyZSBvdXQgb2Ygc2VxdWVudGlhbCBvcmRlci4uLi4KKwkgKi8KKwlkbyB7CisJCWZpcnN0X21vdmVkID0gMDsKKwkJZm9yIChpID0gMDsgaSA8IGxlMzJfdG9fY3B1KGhlYWRlci0+bnBhcnRpdGlvbl9lbnRyaWVzKTsgaSsrKSB7CisJCQlpZiAocGFydGl0aW9uX3VudXNlZCgmZW50c1tpXSkpCisJCQkJY29udGludWU7CisJCQlpZiAoZmlyc3QgPCBncHRfcGFydGl0aW9uX3N0YXJ0KCZlbnRzW2ldKSkKKwkJCQljb250aW51ZTsKKwkJCWlmIChmaXJzdCA8PSBncHRfcGFydGl0aW9uX2VuZCgmZW50c1tpXSkpIHsKKwkJCQlmaXJzdCA9IGdwdF9wYXJ0aXRpb25fZW5kKCZlbnRzW2ldKSArIDE7CisJCQkJZmlyc3RfbW92ZWQgPSAxOworCQkJfQorCQl9CisJfSB3aGlsZSAoZmlyc3RfbW92ZWQgPT0gMSk7CisKKwlpZiAoZmlyc3QgPiBsdSkKKwkJZmlyc3QgPSAwOworCisJcmV0dXJuIGZpcnN0OworfQorCisKKy8qIFJldHVybnMgbGFzdCBhdmFpbGFibGUgc2VjdG9yIGluIHRoZSBmcmVlIHNwYWNlIHBvaW50ZWQgdG8gYnkgc3RhcnQuIEZyb20gZ2Rpc2suICovCitzdGF0aWMgdWludDY0X3QgZmluZF9sYXN0X2ZyZWUoc3RydWN0IGdwdF9oZWFkZXIgKmhlYWRlciwKKwkJCSAgICAgICBzdHJ1Y3QgZ3B0X2VudHJ5ICplbnRzLCB1aW50NjRfdCBzdGFydCkKK3sKKwl1aW50MzJfdCBpOworCXVpbnQ2NF90IG5lYXJlc3Rfc3RhcnQ7CisKKwlpZiAoIWhlYWRlciB8fCAhZW50cykKKwkJcmV0dXJuIDA7CisKKwluZWFyZXN0X3N0YXJ0ID0gbGU2NF90b19jcHUoaGVhZGVyLT5sYXN0X3VzYWJsZV9sYmEpOworCisJZm9yIChpID0gMDsgaSA8IGxlMzJfdG9fY3B1KGhlYWRlci0+bnBhcnRpdGlvbl9lbnRyaWVzKTsgaSsrKSB7CisJCXVpbnQ2NF90IHBzID0gZ3B0X3BhcnRpdGlvbl9zdGFydCgmZW50c1tpXSk7CisKKwkJaWYgKG5lYXJlc3Rfc3RhcnQgPiBwcyAmJiBwcyA+IHN0YXJ0KQorCQkJbmVhcmVzdF9zdGFydCA9IHBzIC0gMVVMTDsKKwl9CisKKwlyZXR1cm4gbmVhcmVzdF9zdGFydDsKK30KKworLyogUmV0dXJucyB0aGUgbGFzdCBmcmVlIHNlY3RvciBvbiB0aGUgZGlzay4gRnJvbSBnZGlzay4gKi8KK3N0YXRpYyB1aW50NjRfdCBmaW5kX2xhc3RfZnJlZV9zZWN0b3Ioc3RydWN0IGdwdF9oZWFkZXIgKmhlYWRlciwKKwkJCQkgICAgICBzdHJ1Y3QgZ3B0X2VudHJ5ICplbnRzKQoreworCXVpbnQzMl90IGksIGxhc3RfbW92ZWQ7CisJdWludDY0X3QgbGFzdCA9IDA7CisKKwlpZiAoIWhlYWRlciB8fCAhZW50cykKKwkJZ290byBkb25lOworCisJLyogc3RhcnQgYnkgYXNzdW1pbmcgdGhlIGxhc3QgdXNhYmxlIExCQSBpcyBhdmFpbGFibGUgKi8KKwlsYXN0ID0gbGU2NF90b19jcHUoaGVhZGVyLT5sYXN0X3VzYWJsZV9sYmEpOworCWRvIHsKKwkJbGFzdF9tb3ZlZCA9IDA7CisJCWZvciAoaSA9IDA7IGkgPCBsZTMyX3RvX2NwdShoZWFkZXItPm5wYXJ0aXRpb25fZW50cmllcyk7IGkrKykgeworCQkJaWYgKChsYXN0ID49IGdwdF9wYXJ0aXRpb25fc3RhcnQoJmVudHNbaV0pKSAmJgorCQkJICAgIChsYXN0IDw9IGdwdF9wYXJ0aXRpb25fZW5kKCZlbnRzW2ldKSkpIHsKKwkJCQlsYXN0ID0gZ3B0X3BhcnRpdGlvbl9zdGFydCgmZW50c1tpXSkgLSAxVUxMOworCQkJCWxhc3RfbW92ZWQgPSAxOworCQkJfQorCQl9CisJfSB3aGlsZSAobGFzdF9tb3ZlZCA9PSAxKTsKK2RvbmU6CisJcmV0dXJuIGxhc3Q7Cit9CisKKy8qCisgKiBGaW5kcyB0aGUgZmlyc3QgYXZhaWxhYmxlIHNlY3RvciBpbiB0aGUgbGFyZ2VzdCBibG9jayBvZiB1bmFsbG9jYXRlZAorICogc3BhY2Ugb24gdGhlIGRpc2suIFJldHVybnMgMCBpZiB0aGVyZSBhcmUgbm8gYXZhaWxhYmxlIGJsb2NrcyBsZWZ0LgorICogRnJvbSBnZGlzay4KKyAqLworc3RhdGljIHVpbnQ2NF90IGZpbmRfZmlyc3RfaW5fbGFyZ2VzdChzdHJ1Y3QgZ3B0X2hlYWRlciAqaGVhZGVyLAorCQkJCSAgICAgIHN0cnVjdCBncHRfZW50cnkgKmVudHMpCit7CisJdWludDY0X3Qgc3RhcnQgPSAwLCBmaXJzdF9zZWN0LCBsYXN0X3NlY3Q7CisJdWludDY0X3Qgc2VnbWVudF9zaXplLCBzZWxlY3RlZF9zaXplID0gMCwgc2VsZWN0ZWRfc2VnbWVudCA9IDA7CisKKwlpZiAoIWhlYWRlciB8fCAhZW50cykKKwkJZ290byBkb25lOworCisJZG8geworCQlmaXJzdF9zZWN0ID0gIGZpbmRfZmlyc3RfYXZhaWxhYmxlKGhlYWRlciwgZW50cywgc3RhcnQpOworCQlpZiAoZmlyc3Rfc2VjdCAhPSAwKSB7CisJCQlsYXN0X3NlY3QgPSBmaW5kX2xhc3RfZnJlZShoZWFkZXIsIGVudHMsIGZpcnN0X3NlY3QpOworCQkJc2VnbWVudF9zaXplID0gbGFzdF9zZWN0IC0gZmlyc3Rfc2VjdCArIDFVTEw7CisKKwkJCWlmIChzZWdtZW50X3NpemUgPiBzZWxlY3RlZF9zaXplKSB7CisJCQkJc2VsZWN0ZWRfc2l6ZSA9IHNlZ21lbnRfc2l6ZTsKKwkJCQlzZWxlY3RlZF9zZWdtZW50ID0gZmlyc3Rfc2VjdDsKKwkJCX0KKwkJCXN0YXJ0ID0gbGFzdF9zZWN0ICsgMVVMTDsKKwkJfQorCX0gd2hpbGUgKGZpcnN0X3NlY3QgIT0gMCk7CisKK2RvbmU6CisJcmV0dXJuIHNlbGVjdGVkX3NlZ21lbnQ7Cit9CisKKy8qCisgKiBGaW5kIHRoZSB0b3RhbCBudW1iZXIgb2YgZnJlZSBzZWN0b3JzLCB0aGUgbnVtYmVyIG9mIHNlZ21lbnRzIGluIHdoaWNoCisgKiB0aGV5IHJlc2lkZSwgYW5kIHRoZSBzaXplIG9mIHRoZSBsYXJnZXN0IG9mIHRob3NlIHNlZ21lbnRzLiBGcm9tIGdkaXNrLgorICovCitzdGF0aWMgdWludDY0X3QgZ2V0X2ZyZWVfc2VjdG9ycyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzdHJ1Y3QgZ3B0X2hlYWRlciAqaGVhZGVyLAorCQkJCSBzdHJ1Y3QgZ3B0X2VudHJ5ICplbnRzLCB1aW50MzJfdCAqbnNlZ21lbnRzLAorCQkJCSB1aW50NjRfdCAqbGFyZ2VzdF9zZWdtZW50KQoreworCXVpbnQzMl90IG51bSA9IDA7CisJdWludDY0X3QgZmlyc3Rfc2VjdCwgbGFzdF9zZWN0OworCXVpbnQ2NF90IGxhcmdlc3Rfc2VnID0gMCwgc2VnbWVudF9zejsKKwl1aW50NjRfdCB0b3Rmb3VuZCA9IDAsIHN0YXJ0ID0gMDsgLyogc3RhcnRpbmcgcG9pbnQgZm9yIGVhY2ggc2VhcmNoICovCisKKwlpZiAoIWN4dC0+dG90YWxfc2VjdG9ycykKKwkJZ290byBkb25lOworCisJZG8geworCQlmaXJzdF9zZWN0ID0gZmluZF9maXJzdF9hdmFpbGFibGUoaGVhZGVyLCBlbnRzLCBzdGFydCk7CisJCWlmIChmaXJzdF9zZWN0KSB7CisJCQlsYXN0X3NlY3QgPSBmaW5kX2xhc3RfZnJlZShoZWFkZXIsIGVudHMsIGZpcnN0X3NlY3QpOworCQkJc2VnbWVudF9zeiA9IGxhc3Rfc2VjdCAtIGZpcnN0X3NlY3QgKyAxOworCisJCQlpZiAoc2VnbWVudF9zeiA+IGxhcmdlc3Rfc2VnKQorCQkJCWxhcmdlc3Rfc2VnID0gc2VnbWVudF9zejsKKwkJCXRvdGZvdW5kICs9IHNlZ21lbnRfc3o7CisJCQludW0rKzsKKwkJCXN0YXJ0ID0gbGFzdF9zZWN0ICsgMVVMTDsKKwkJfQorCX0gd2hpbGUgKGZpcnN0X3NlY3QpOworCitkb25lOgorCWlmIChuc2VnbWVudHMpCisJCSpuc2VnbWVudHMgPSBudW07CisJaWYgKGxhcmdlc3Rfc2VnbWVudCkKKwkJKmxhcmdlc3Rfc2VnbWVudCA9IGxhcmdlc3Rfc2VnOworCisJcmV0dXJuIHRvdGZvdW5kOworfQorCitzdGF0aWMgaW50IGdwdF9wcm9iZV9sYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWludCBtYnJfdHlwZTsKKwlzdHJ1Y3QgZmRpc2tfZ3B0X2xhYmVsICpncHQ7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgR1BUKSk7CisKKwlncHQgPSBzZWxmX2xhYmVsKGN4dCk7CisKKwkvKiBUT0RPOiBpdCB3b3VsZCBiZSBuaWNlIHRvIHN1cHBvcnQgc2NlbmFyaW8gd2hlbiBHUFQgaGVhZGVycyBhcmUgT0ssCisJICogICAgICAgYnV0IFBNQlIgaXMgY29ycnVwdCAqLworCW1icl90eXBlID0gdmFsaWRfcG1icihjeHQpOworCWlmICghbWJyX3R5cGUpCisJCWdvdG8gZmFpbGVkOworCisJREJHKExBQkVMLCB1bF9kZWJ1ZygiZm91bmQgYSAlcyBNQlIiLCBtYnJfdHlwZSA9PSBHUFRfTUJSX1BST1RFQ1RJVkUgPworCQkJICAgICJwcm90ZWN0aXZlIiA6ICJoeWJyaWQiKSk7CisKKwkvKiBwcmltYXJ5IGhlYWRlciAqLworCWdwdC0+cGhlYWRlciA9IGdwdF9yZWFkX2hlYWRlcihjeHQsIEdQVF9QUklNQVJZX1BBUlRJVElPTl9UQUJMRV9MQkEsCisJCQkJICAgICAgICZncHQtPmVudHMpOworCisJaWYgKGdwdC0+cGhlYWRlcikKKwkJLyogcHJpbWFyeSBPSywgdHJ5IGJhY2t1cCBmcm9tIGFsdGVybmF0aXZlIExCQSAqLworCQlncHQtPmJoZWFkZXIgPSBncHRfcmVhZF9oZWFkZXIoY3h0LAorCQkJCQlsZTY0X3RvX2NwdShncHQtPnBoZWFkZXItPmFsdGVybmF0aXZlX2xiYSksCisJCQkJCU5VTEwpOworCWVsc2UKKwkJLyogcHJpbWFyeSBjb3JydXB0ZWQgLS0gdHJ5IGxhc3QgTEJBICovCisJCWdwdC0+YmhlYWRlciA9IGdwdF9yZWFkX2hlYWRlcihjeHQsIGxhc3RfbGJhKGN4dCksICZncHQtPmVudHMpOworCisJaWYgKCFncHQtPnBoZWFkZXIgJiYgIWdwdC0+YmhlYWRlcikKKwkJZ290byBmYWlsZWQ7CisKKwkvKiBwcmltYXJ5IE9LLCBiYWNrdXAgY29ycnVwdGVkIC0tIHJlY292ZXJ5ICovCisJaWYgKGdwdC0+cGhlYWRlciAmJiAhZ3B0LT5iaGVhZGVyKSB7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSAiCisJCQkJICAicHJpbWFyeSBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iKSk7CisJCWdwdC0+YmhlYWRlciA9IGdwdF9jb3B5X2hlYWRlcihjeHQsIGdwdC0+cGhlYWRlcik7CisJCWlmICghZ3B0LT5iaGVhZGVyKQorCQkJZ290byBmYWlsZWQ7CisJCWdwdF9yZWNvbXB1dGVfY3JjKGdwdC0+YmhlYWRlciwgZ3B0LT5lbnRzKTsKKworCS8qIHByaW1hcnkgY29ycnVwdGVkLCBiYWNrdXAgT0sgLS0gcmVjb3ZlcnkgKi8KKwl9IGVsc2UgaWYgKCFncHQtPnBoZWFkZXIgJiYgZ3B0LT5iaGVhZGVyKSB7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiVGhlIHByaW1hcnkgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgIgorCQkJCSAgImJhY2t1cCBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iKSk7CisJCWdwdC0+cGhlYWRlciA9IGdwdF9jb3B5X2hlYWRlcihjeHQsIGdwdC0+YmhlYWRlcik7CisJCWlmICghZ3B0LT5waGVhZGVyKQorCQkJZ290byBmYWlsZWQ7CisJCWdwdF9yZWNvbXB1dGVfY3JjKGdwdC0+cGhlYWRlciwgZ3B0LT5lbnRzKTsKKwl9CisKKwljeHQtPmxhYmVsLT5ucGFydHNfbWF4ID0gbGUzMl90b19jcHUoZ3B0LT5waGVhZGVyLT5ucGFydGl0aW9uX2VudHJpZXMpOworCWN4dC0+bGFiZWwtPm5wYXJ0c19jdXIgPSBwYXJ0aXRpb25zX2luX3VzZShncHQtPnBoZWFkZXIsIGdwdC0+ZW50cyk7CisJcmV0dXJuIDE7CitmYWlsZWQ6CisJREJHKExBQkVMLCB1bF9kZWJ1ZygiR1BUIHByb2JlIGZhaWxlZCIpKTsKKwlncHRfZGVpbml0KGN4dC0+bGFiZWwpOworCXJldHVybiAwOworfQorCisvKgorICogU3RvbGVuIGZyb20gbGliYmxraWQgLSBjYW4gYmUgcmVtb3ZlZCBvbmNlIHBhcnRpdGlvbiBzZW1hbnRpY3MKKyAqIGFyZSBhZGRlZCB0byB0aGUgZmRpc2sgQVBJLgorICovCitzdGF0aWMgY2hhciAqZW5jb2RlX3RvX3V0ZjgodW5zaWduZWQgY2hhciAqc3JjLCBzaXplX3QgY291bnQpCit7CisJdWludDE2X3QgYzsKKwljaGFyICpkZXN0OworCXNpemVfdCBpLCBqLCBsZW4gPSBjb3VudDsKKworCWRlc3QgPSBjYWxsb2MoMSwgY291bnQpOworCWlmICghZGVzdCkKKwkJcmV0dXJuIE5VTEw7CisKKwlmb3IgKGogPSBpID0gMDsgaSArIDIgPD0gY291bnQ7IGkgKz0gMikgeworCQkvKiBhbHdheXMgbGl0dGxlIGVuZGlhbiAqLworCQljID0gKHNyY1tpKzFdIDw8IDgpIHwgc3JjW2ldOworCQlpZiAoYyA9PSAwKSB7CisJCQlkZXN0W2pdID0gJ1wwJzsKKwkJCWJyZWFrOworCQl9IGVsc2UgaWYgKGMgPCAweDgwKSB7CisJCQlpZiAoaisxID49IGxlbikKKwkJCQlicmVhazsKKwkJCWRlc3RbaisrXSA9ICh1aW50OF90KSBjOworCQl9IGVsc2UgaWYgKGMgPCAweDgwMCkgeworCQkJaWYgKGorMiA+PSBsZW4pCisJCQkJYnJlYWs7CisJCQlkZXN0W2orK10gPSAodWludDhfdCkgKDB4YzAgfCAoYyA+PiA2KSk7CisJCQlkZXN0W2orK10gPSAodWludDhfdCkgKDB4ODAgfCAoYyAmIDB4M2YpKTsKKwkJfSBlbHNlIHsKKwkJCWlmIChqKzMgPj0gbGVuKQorCQkJCWJyZWFrOworCQkJZGVzdFtqKytdID0gKHVpbnQ4X3QpICgweGUwIHwgKGMgPj4gMTIpKTsKKwkJCWRlc3RbaisrXSA9ICh1aW50OF90KSAoMHg4MCB8ICgoYyA+PiA2KSAmIDB4M2YpKTsKKwkJCWRlc3RbaisrXSA9ICh1aW50OF90KSAoMHg4MCB8IChjICYgMHgzZikpOworCQl9CisJfQorCWRlc3Rbal0gPSAnXDAnOworCisJcmV0dXJuIGRlc3Q7Cit9CisKK3N0YXRpYyBpbnQgZ3B0X2VudHJ5X2F0dHJzX3RvX3N0cmluZyhzdHJ1Y3QgZ3B0X2VudHJ5ICplLCBjaGFyICoqcmVzKQoreworCXVuc2lnbmVkIGludCBuLCBjb3VudCA9IDA7CisJc2l6ZV90IGw7CisJY2hhciAqYml0cywgKnA7CisJdWludDY0X3QgYXR0cnM7CisKKwlhc3NlcnQoZSk7CisJYXNzZXJ0KHJlcyk7CisKKwkqcmVzID0gTlVMTDsKKwlhdHRycyA9IGUtPmF0dHJzOworCWlmICghYXR0cnMpCisJCXJldHVybiAwOwkvKiBubyBhdHRyaWJ1dGVzIGF0IGFsbCAqLworCisJYml0cyA9IChjaGFyICopICZhdHRyczsKKworCS8qIE5vdGUgdGhhdCBzaXplb2YoKSBpcyBjb3JyZWN0IGhlcmUsIHdlIG5lZWQgc2VwYXJhdG9ycyBiZXR3ZWVuCisJICogdGhlIHN0cmluZ3Mgc28gYWxzbyBjb3VudCBcMCBpcyBjb3JyZWN0ICovCisJKnJlcyA9IGNhbGxvYygxLCBzaXplb2YoR1BUX0FUVFJTVFJfTk9CTE9DSykgKworCQkJIHNpemVvZihHUFRfQVRUUlNUUl9SRVEpICsKKwkJCSBzaXplb2YoR1BUX0FUVFJTVFJfTEVHQUNZKSArCisJCQkgc2l6ZW9mKCJHVUlEOiIpICsgKEdQVF9BVFRSQklUX0dVSURfQ09VTlQgKiAzKSk7CisJaWYgKCEqcmVzKQorCQlyZXR1cm4gLWVycm5vOworCisJcCA9ICpyZXM7CisJaWYgKGlzc2V0KGJpdHMsIEdQVF9BVFRSQklUX1JFUSkpIHsKKwkJbWVtY3B5KHAsIEdQVF9BVFRSU1RSX1JFUSwgKGwgPSBzaXplb2YoR1BUX0FUVFJTVFJfUkVRKSkpOworCQlwICs9IGwgLSAxOworCX0KKwlpZiAoaXNzZXQoYml0cywgR1BUX0FUVFJCSVRfTk9CTE9DSykpIHsKKwkJaWYgKHAgPiAqcmVzKQorCQkJKnArKyA9ICcgJzsKKwkJbWVtY3B5KHAsIEdQVF9BVFRSU1RSX05PQkxPQ0ssIChsID0gc2l6ZW9mKEdQVF9BVFRSU1RSX05PQkxPQ0spKSk7CisJCXAgKz0gbCAtIDE7CisJfQorCWlmIChpc3NldChiaXRzLCBHUFRfQVRUUkJJVF9MRUdBQ1kpKSB7CisJCWlmIChwID4gKnJlcykKKwkJCSpwKysgPSAnICc7CisJCW1lbWNweShwLCBHUFRfQVRUUlNUUl9MRUdBQ1ksIChsID0gc2l6ZW9mKEdQVF9BVFRSU1RSX0xFR0FDWSkpKTsKKwkJcCArPSBsIC0gMTsKKwl9CisKKwlmb3IgKG4gPSBHUFRfQVRUUkJJVF9HVUlEX0ZJUlNUOworCSAgICAgbiA8IEdQVF9BVFRSQklUX0dVSURfRklSU1QgKyBHUFRfQVRUUkJJVF9HVUlEX0NPVU5UOyBuKyspIHsKKworCQlpZiAoIWlzc2V0KGJpdHMsIG4pKQorCQkJY29udGludWU7CisJCWlmICghY291bnQpIHsKKwkJCWlmIChwID4gKnJlcykKKwkJCQkqcCsrID0gJyAnOworCQkJcCArPSBzcHJpbnRmKHAsICJHVUlEOiV1Iiwgbik7CisJCX0gZWxzZQorCQkJcCArPSBzcHJpbnRmKHAsICIsJXUiLCBuKTsKKwkJY291bnQrKzsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBncHRfZW50cnlfYXR0cnNfZnJvbV9zdHJpbmcoCisJCQlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJc3RydWN0IGdwdF9lbnRyeSAqZSwKKwkJCWNvbnN0IGNoYXIgKnN0cikKK3sKKwljb25zdCBjaGFyICpwID0gc3RyOworCXVpbnQ2NF90IGF0dHJzID0gMDsKKwljaGFyICpiaXRzOworCisJYXNzZXJ0KGUpOworCWFzc2VydChwKTsKKworCURCRyhMQUJFTCwgdWxfZGVidWcoIkdQVDogcGFyc2luZyBzdHJpbmcgYXR0cmlidXRlcyAnJXMnIiwgcCkpOworCisJYml0cyA9IChjaGFyICopICZhdHRyczsKKworCXdoaWxlIChwICYmICpwKSB7CisJCWludCBiaXQgPSAtMTsKKworCQl3aGlsZSAoaXNibGFuaygqcCkpIHArKzsKKwkJaWYgKCEqcCkKKwkJCWJyZWFrOworCisJCURCRyhMQUJFTCwgdWxfZGVidWcoIiBwYXJzaW5nIGl0ZW0gJyVzJyIsIHApKTsKKworCQlpZiAoc3RybmNtcChwLCBHUFRfQVRUUlNUUl9SRVEsCisJCQkJCXNpemVvZihHUFRfQVRUUlNUUl9SRVEpIC0gMSkgPT0gMCkgeworCQkJYml0ID0gR1BUX0FUVFJCSVRfUkVROworCQkJcCArPSBzaXplb2YoR1BUX0FUVFJTVFJfUkVRKSAtIDE7CisJCX0gZWxzZSBpZiAoc3RybmNtcChwLCBHUFRfQVRUUlNUUl9SRVFfVFlQTywKKwkJCQkJc2l6ZW9mKEdQVF9BVFRSU1RSX1JFUV9UWVBPKSAtIDEpID09IDApIHsKKwkJCWJpdCA9IEdQVF9BVFRSQklUX1JFUTsKKwkJCXAgKz0gc2l6ZW9mKEdQVF9BVFRSU1RSX1JFUV9UWVBPKSAtIDE7CisJCX0gZWxzZSBpZiAoc3RybmNtcChwLCBHUFRfQVRUUlNUUl9MRUdBQ1ksCisJCQkJCXNpemVvZihHUFRfQVRUUlNUUl9MRUdBQ1kpIC0gMSkgPT0gMCkgeworCQkJYml0ID0gR1BUX0FUVFJCSVRfTEVHQUNZOworCQkJcCArPSBzaXplb2YoR1BUX0FUVFJTVFJfTEVHQUNZKSAtIDE7CisJCX0gZWxzZSBpZiAoc3RybmNtcChwLCBHUFRfQVRUUlNUUl9OT0JMT0NLLAorCQkJCQlzaXplb2YoR1BUX0FUVFJTVFJfTk9CTE9DSykgLSAxKSA9PSAwKSB7CisJCQliaXQgPSBHUFRfQVRUUkJJVF9OT0JMT0NLOworCQkJcCArPSBzaXplb2YoR1BUX0FUVFJTVFJfTk9CTE9DSykgLSAxOworCisJCS8qIEdVSUQ6PGJpdD4gYXMgd2VsbCBhcyA8Yml0PiAqLworCQl9IGVsc2UgaWYgKGlzZGlnaXQoKHVuc2lnbmVkIGNoYXIpICpwKQorCQkJICAgfHwgKHN0cm5jbXAocCwgIkdVSUQ6IiwgNSkgPT0gMAorCQkJICAgICAgICYmIGlzZGlnaXQoKHVuc2lnbmVkIGNoYXIpICoocCArIDUpKSkpIHsKKwkJCWNoYXIgKmVuZCA9IE5VTEw7CisKKwkJCWlmICgqcCA9PSAnRycpCisJCQkJcCArPSA1OworCisJCQllcnJubyA9IDA7CisJCQliaXQgPSBzdHJ0b2wocCwgJmVuZCwgMCk7CisJCQlpZiAoZXJybm8gfHwgIWVuZCB8fCBlbmQgPT0gc3RyCisJCQkgICAgfHwgYml0IDwgR1BUX0FUVFJCSVRfR1VJRF9GSVJTVAorCQkJICAgIHx8IGJpdCA+PSBHUFRfQVRUUkJJVF9HVUlEX0ZJUlNUICsgR1BUX0FUVFJCSVRfR1VJRF9DT1VOVCkKKwkJCQliaXQgPSAtMTsKKwkJCWVsc2UKKwkJCQlwID0gZW5kOworCQl9CisKKwkJaWYgKGJpdCA8IDApIHsKKwkJCWZkaXNrX3dhcm54KGN4dCwgXygidW5zdXBwb3J0ZWQgR1BUIGF0dHJpYnV0ZSBiaXQgJyVzJyIpLCBwKTsKKwkJCXJldHVybiAtRUlOVkFMOworCQl9CisKKwkJaWYgKCpwICYmICpwICE9ICcsJyAmJiAhaXNibGFuaygqcCkpIHsKKwkJCWZkaXNrX3dhcm54KGN4dCwgXygiZmFpbGVkIHRvIHBhcnNlIEdQVCBhdHRyaWJ1dGUgc3RyaW5nICclcyciKSwgc3RyKTsKKwkJCXJldHVybiAtRUlOVkFMOworCQl9CisKKwkJc2V0Yml0KGJpdHMsIGJpdCk7CisKKwkJd2hpbGUgKGlzYmxhbmsoKnApKSBwKys7CisJCWlmICgqcCA9PSAnLCcpCisJCQlwKys7CisJfQorCisJZS0+YXR0cnMgPSBhdHRyczsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBncHRfZ2V0X3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgbiwKKwkJCSAgICAgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJc3RydWN0IGZkaXNrX2dwdF9sYWJlbCAqZ3B0OworCXN0cnVjdCBncHRfZW50cnkgKmU7CisJY2hhciB1X3N0clszN107CisJaW50IHJjID0gMDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBHUFQpKTsKKworCWdwdCA9IHNlbGZfbGFiZWwoY3h0KTsKKworCWlmICgodWludDMyX3QpIG4gPj0gbGUzMl90b19jcHUoZ3B0LT5waGVhZGVyLT5ucGFydGl0aW9uX2VudHJpZXMpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWdwdCA9IHNlbGZfbGFiZWwoY3h0KTsKKwllID0gJmdwdC0+ZW50c1tuXTsKKworCXBhLT51c2VkID0gIXBhcnRpdGlvbl91bnVzZWQoZSkgfHwgZ3B0X3BhcnRpdGlvbl9zdGFydChlKTsKKwlpZiAoIXBhLT51c2VkKQorCQlyZXR1cm4gMDsKKworCXBhLT5zdGFydCA9IGdwdF9wYXJ0aXRpb25fc3RhcnQoZSk7CisJcGEtPnNpemUgPSBncHRfcGFydGl0aW9uX3NpemUoZSk7CisJcGEtPnR5cGUgPSBncHRfcGFydGl0aW9uX3BhcnR0eXBlKGN4dCwgZSk7CisKKwlpZiAoZ3VpZF90b19zdHJpbmcoJmUtPnBhcnRpdGlvbl9ndWlkLCB1X3N0cikpIHsKKwkJcGEtPnV1aWQgPSBzdHJkdXAodV9zdHIpOworCQlpZiAoIXBhLT51dWlkKSB7CisJCQlyYyA9IC1lcnJubzsKKwkJCWdvdG8gZG9uZTsKKwkJfQorCX0gZWxzZQorCQlwYS0+dXVpZCA9IE5VTEw7CisKKwlyYyA9IGdwdF9lbnRyeV9hdHRyc190b19zdHJpbmcoZSwgJnBhLT5hdHRycyk7CisJaWYgKHJjKQorCQlnb3RvIGRvbmU7CisKKwlwYS0+bmFtZSA9IGVuY29kZV90b191dGY4KCh1bnNpZ25lZCBjaGFyICopZS0+bmFtZSwgc2l6ZW9mKGUtPm5hbWUpKTsKKwlyZXR1cm4gMDsKK2RvbmU6CisJZmRpc2tfcmVzZXRfcGFydGl0aW9uKHBhKTsKKwlyZXR1cm4gcmM7Cit9CisKKworc3RhdGljIGludCBncHRfc2V0X3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgbiwKKwkJCSAgICAgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJc3RydWN0IGZkaXNrX2dwdF9sYWJlbCAqZ3B0OworCXN0cnVjdCBncHRfZW50cnkgKmU7CisJaW50IHJjID0gMDsKKwl1aW50NjRfdCBzdGFydCwgZW5kOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIEdQVCkpOworCisJZ3B0ID0gc2VsZl9sYWJlbChjeHQpOworCisJaWYgKCh1aW50MzJfdCkgbiA+PSBsZTMyX3RvX2NwdShncHQtPnBoZWFkZXItPm5wYXJ0aXRpb25fZW50cmllcykpCisJCXJldHVybiAtRUlOVkFMOworCisJRkRJU0tfSU5JVF9VTkRFRihzdGFydCk7CisJRkRJU0tfSU5JVF9VTkRFRihlbmQpOworCisJZ3B0ID0gc2VsZl9sYWJlbChjeHQpOworCWUgPSAmZ3B0LT5lbnRzW25dOworCisJaWYgKHBhLT51dWlkKSB7CisJCWNoYXIgbmV3X3VbMzddLCBvbGRfdVszN107CisKKwkJZ3VpZF90b19zdHJpbmcoJmUtPnBhcnRpdGlvbl9ndWlkLCBvbGRfdSk7CisJCXJjID0gZ3B0X2VudHJ5X3NldF91dWlkKGUsIHBhLT51dWlkKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCQlndWlkX3RvX3N0cmluZygmZS0+cGFydGl0aW9uX2d1aWQsIG5ld191KTsKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIlBhcnRpdGlvbiBVVUlEIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iKSwKKwkJCW9sZF91LCBuZXdfdSk7CisJfQorCisJaWYgKHBhLT5uYW1lKSB7CisJCWNoYXIgKm9sZCA9IGVuY29kZV90b191dGY4KCh1bnNpZ25lZCBjaGFyICopZS0+bmFtZSwgc2l6ZW9mKGUtPm5hbWUpKTsKKwkJZ3B0X2VudHJ5X3NldF9uYW1lKGUsIHBhLT5uYW1lKTsKKworCQlmZGlza19pbmZvKGN4dCwgXygiUGFydGl0aW9uIG5hbWUgY2hhbmdlZCBmcm9tICclcycgdG8gJyUuKnMnLiIpLAorCQkJb2xkLCAoaW50KSBHUFRfUEFSVF9OQU1FX0xFTiwgcGEtPm5hbWUpOworCQlmcmVlKG9sZCk7CisJfQorCisJaWYgKHBhLT50eXBlICYmIHBhLT50eXBlLT50eXBlc3RyKSB7CisJCXN0cnVjdCBncHRfZ3VpZCB0eXBlaWQ7CisKKwkJcmMgPSBzdHJpbmdfdG9fZ3VpZChwYS0+dHlwZS0+dHlwZXN0ciwgJnR5cGVpZCk7CisJCWlmIChyYykKKwkJCXJldHVybiByYzsKKwkJZ3B0X2VudHJ5X3NldF90eXBlKGUsICZ0eXBlaWQpOworCX0KKwlpZiAocGEtPmF0dHJzKSB7CisJCXJjID0gZ3B0X2VudHJ5X2F0dHJzX2Zyb21fc3RyaW5nKGN4dCwgZSwgcGEtPmF0dHJzKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCX0KKworCWlmIChmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSkKKwkJc3RhcnQgPSBwYS0+c3RhcnQ7CisJaWYgKGZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkgfHwgZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydChwYSkpIHsKKwkJdWludDY0X3QgeHN0YXJ0ID0gZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydChwYSkgPyBwYS0+c3RhcnQgOiBncHRfcGFydGl0aW9uX3N0YXJ0KGUpOworCQl1aW50NjRfdCB4c2l6ZSAgPSBmZGlza19wYXJ0aXRpb25faGFzX3NpemUocGEpICA/IHBhLT5zaXplICA6IGdwdF9wYXJ0aXRpb25fc2l6ZShlKTsKKwkJZW5kID0geHN0YXJ0ICsgeHNpemUgLSAxVUxMOworCX0KKworCWlmICghRkRJU0tfSVNfVU5ERUYoc3RhcnQpKSB7CisJCWlmIChzdGFydCA8IGxlNjRfdG9fY3B1KGdwdC0+cGhlYWRlci0+Zmlyc3RfdXNhYmxlX2xiYSkpIHsKKwkJCWZkaXNrX3dhcm54KGN4dCwgXygiVGhlIHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gdW5kZXJzdGVwcyBGaXJzdFVzYWJsZUxCQS4iKSk7CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCQllLT5sYmFfc3RhcnQgPSBjcHVfdG9fbGU2NChzdGFydCk7CisJfQorCWlmICghRkRJU0tfSVNfVU5ERUYoZW5kKSkgeworCQlpZiAoZW5kID4gbGU2NF90b19jcHUoZ3B0LT5waGVhZGVyLT5sYXN0X3VzYWJsZV9sYmEpKSB7CisJCQlmZGlza193YXJueChjeHQsIF8oIlRoZSBlbmQgb2YgdGhlIHBhcnRpdGlvbiBvdmVyc3RlcHMgTGFzdFVzYWJsZUxCQS4iKSk7CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCQllLT5sYmFfZW5kID0gY3B1X3RvX2xlNjQoZW5kKTsKKwl9CisJZ3B0X3JlY29tcHV0ZV9jcmMoZ3B0LT5waGVhZGVyLCBncHQtPmVudHMpOworCWdwdF9yZWNvbXB1dGVfY3JjKGdwdC0+YmhlYWRlciwgZ3B0LT5lbnRzKTsKKworCWZkaXNrX2xhYmVsX3NldF9jaGFuZ2VkKGN4dC0+bGFiZWwsIDEpOworCXJldHVybiByYzsKK30KKworCisKKy8qCisgKiBXcml0ZSBwYXJ0aXRpb25zLgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG9yIGNvcnJlc3BvbmRpbmcgZXJyb3Igb3RoZXJ3aXNlLgorICovCitzdGF0aWMgaW50IGdwdF93cml0ZV9wYXJ0aXRpb25zKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQkJc3RydWN0IGdwdF9oZWFkZXIgKmhlYWRlciwgc3RydWN0IGdwdF9lbnRyeSAqZW50cykKK3sKKwlvZmZfdCBvZmZzZXQgPSAob2ZmX3QpIGxlNjRfdG9fY3B1KGhlYWRlci0+cGFydGl0aW9uX2VudHJ5X2xiYSkgKiBjeHQtPnNlY3Rvcl9zaXplOworCXVpbnQzMl90IG5wYXJ0cyA9IGxlMzJfdG9fY3B1KGhlYWRlci0+bnBhcnRpdGlvbl9lbnRyaWVzKTsKKwl1aW50MzJfdCB0b3R3cml0ZSA9IG5wYXJ0cyAqIGxlMzJfdG9fY3B1KGhlYWRlci0+c2l6ZW9mX3BhcnRpdGlvbl9lbnRyeSk7CisJc3NpemVfdCByYzsKKworCWlmIChvZmZzZXQgIT0gbHNlZWsoY3h0LT5kZXZfZmQsIG9mZnNldCwgU0VFS19TRVQpKQorCQlnb3RvIGZhaWw7CisKKwlyYyA9IHdyaXRlKGN4dC0+ZGV2X2ZkLCBlbnRzLCB0b3R3cml0ZSk7CisJaWYgKHJjID4gMCAmJiB0b3R3cml0ZSA9PSAodWludDMyX3QpIHJjKQorCQlyZXR1cm4gMDsKK2ZhaWw6CisJcmV0dXJuIC1lcnJubzsKK30KKworLyoKKyAqIFdyaXRlIGEgR1BUIGhlYWRlciB0byBhIHNwZWNpZmllZCBMQkEuCisgKgorICogV2UgcmVhZCBhbGwgc2VjdG9yLCBzbyB3ZSBoYXZlIHRvIHdyaXRlIGFsbCBzZWN0b3IgYmFjaworICogdG8gdGhlIGRldmljZSAtLSBuZXZlciBldmVyIHJlbHkgb24gc2l6ZW9mKHN0cnVjdCBncHRfaGVhZGVyKSEKKyAqCisgKiBSZXR1cm5zIDAgb24gc3VjY2Vzcywgb3IgY29ycmVzcG9uZGluZyBlcnJvciBvdGhlcndpc2UuCisgKi8KK3N0YXRpYyBpbnQgZ3B0X3dyaXRlX2hlYWRlcihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJICAgIHN0cnVjdCBncHRfaGVhZGVyICpoZWFkZXIsIHVpbnQ2NF90IGxiYSkKK3sKKwlvZmZfdCBvZmZzZXQgPSBsYmEgKiBjeHQtPnNlY3Rvcl9zaXplOworCisJaWYgKG9mZnNldCAhPSBsc2VlayhjeHQtPmRldl9mZCwgb2Zmc2V0LCBTRUVLX1NFVCkpCisJCWdvdG8gZmFpbDsKKwlpZiAoY3h0LT5zZWN0b3Jfc2l6ZSA9PQorCSAgICAoc2l6ZV90KSB3cml0ZShjeHQtPmRldl9mZCwgaGVhZGVyLCBjeHQtPnNlY3Rvcl9zaXplKSkKKwkJcmV0dXJuIDA7CitmYWlsOgorCXJldHVybiAtZXJybm87Cit9CisKKy8qCisgKiBXcml0ZSB0aGUgcHJvdGVjdGl2ZSBNQlIuCisgKiBSZXR1cm5zIDAgb24gc3VjY2Vzcywgb3IgY29ycmVzcG9uZGluZyBlcnJvciBvdGhlcndpc2UuCisgKi8KK3N0YXRpYyBpbnQgZ3B0X3dyaXRlX3BtYnIoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlvZmZfdCBvZmZzZXQ7CisJc3RydWN0IGdwdF9sZWdhY3lfbWJyICpwbWJyID0gTlVMTDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmZpcnN0c2VjdG9yKTsKKworCXBtYnIgPSAoc3RydWN0IGdwdF9sZWdhY3lfbWJyICopIGN4dC0+Zmlyc3RzZWN0b3I7CisKKwkvKiB6ZXJvIG91dCB0aGUgbGVnYWN5IHBhcnRpdGlvbnMgKi8KKwltZW1zZXQocG1ici0+cGFydGl0aW9uX3JlY29yZCwgMCwgc2l6ZW9mKHBtYnItPnBhcnRpdGlvbl9yZWNvcmQpKTsKKworCXBtYnItPnNpZ25hdHVyZSA9IGNwdV90b19sZTE2KE1TRE9TX01CUl9TSUdOQVRVUkUpOworCXBtYnItPnBhcnRpdGlvbl9yZWNvcmRbMF0ub3NfdHlwZSAgICAgID0gRUZJX1BNQlJfT1NUWVBFOworCXBtYnItPnBhcnRpdGlvbl9yZWNvcmRbMF0uc3RhcnRfc2VjdG9yID0gMTsKKwlwbWJyLT5wYXJ0aXRpb25fcmVjb3JkWzBdLmVuZF9oZWFkICAgICA9IDB4RkU7CisJcG1ici0+cGFydGl0aW9uX3JlY29yZFswXS5lbmRfc2VjdG9yICAgPSAweEZGOworCXBtYnItPnBhcnRpdGlvbl9yZWNvcmRbMF0uZW5kX3RyYWNrICAgID0gMHhGRjsKKwlwbWJyLT5wYXJ0aXRpb25fcmVjb3JkWzBdLnN0YXJ0aW5nX2xiYSA9IGNwdV90b19sZTMyKDEpOworCisJLyoKKwkgKiBTZXQgc2l6ZV9pbl9sYmEgdG8gdGhlIHNpemUgb2YgdGhlIGRpc2sgbWludXMgb25lLiBJZiB0aGUgc2l6ZSBvZiB0aGUgZGlzaworCSAqIGlzIHRvbyBsYXJnZSB0byBiZSByZXByZXNlbnRlZCBieSBhIDMyYml0IExCQSAoMlRiKSwgc2V0IGl0IHRvIDB4RkZGRkZGRkYuCisJICovCisJaWYgKGN4dC0+dG90YWxfc2VjdG9ycyAtIDFVTEwgPiAweEZGRkZGRkZGVUxMKQorCQlwbWJyLT5wYXJ0aXRpb25fcmVjb3JkWzBdLnNpemVfaW5fbGJhID0gY3B1X3RvX2xlMzIoMHhGRkZGRkZGRik7CisJZWxzZQorCQlwbWJyLT5wYXJ0aXRpb25fcmVjb3JkWzBdLnNpemVfaW5fbGJhID0KKwkJCWNwdV90b19sZTMyKCh1aW50MzJfdCkgKGN4dC0+dG90YWxfc2VjdG9ycyAtIDFVTEwpKTsKKworCW9mZnNldCA9IEdQVF9QTUJSX0xCQSAqIGN4dC0+c2VjdG9yX3NpemU7CisJaWYgKG9mZnNldCAhPSBsc2VlayhjeHQtPmRldl9mZCwgb2Zmc2V0LCBTRUVLX1NFVCkpCisJCWdvdG8gZmFpbDsKKworCS8qIHBNQlIgY292ZXJzIHRoZSBmaXJzdCBzZWN0b3IgKExCQSkgb2YgdGhlIGRpc2sgKi8KKwlpZiAod3JpdGVfYWxsKGN4dC0+ZGV2X2ZkLCBwbWJyLCBjeHQtPnNlY3Rvcl9zaXplKSkKKwkJZ290byBmYWlsOworCXJldHVybiAwOworZmFpbDoKKwlyZXR1cm4gLWVycm5vOworfQorCisvKgorICogV3JpdGVzIGluLW1lbW9yeSBHUFQgYW5kIHBNQlIgZGF0YSB0byBkaXNrLgorICogUmV0dXJucyAwIGlmIHN1Y2Nlc3NmdWwgd3JpdGUsIG90aGVyd2lzZSwgYSBjb3JyZXNwb25kaW5nIGVycm9yLgorICogQW55IGluZGljYXRpb24gb2YgZXJyb3Igd2lsbCBhYm9ydCB0aGUgb3BlcmF0aW9uLgorICovCitzdGF0aWMgaW50IGdwdF93cml0ZV9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgZmRpc2tfZ3B0X2xhYmVsICpncHQ7CisJaW50IG1icl90eXBlOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIEdQVCkpOworCisJZ3B0ID0gc2VsZl9sYWJlbChjeHQpOworCW1icl90eXBlID0gdmFsaWRfcG1icihjeHQpOworCisJLyogY2hlY2sgdGhhdCBkaXNrIGlzIGJpZyBlbm91Z2ggdG8gaGFuZGxlIHRoZSBiYWNrdXAgaGVhZGVyICovCisJaWYgKGxlNjRfdG9fY3B1KGdwdC0+cGhlYWRlci0+YWx0ZXJuYXRpdmVfbGJhKSA+IGN4dC0+dG90YWxfc2VjdG9ycykKKwkJZ290byBlcnIwOworCisJLyogY2hlY2sgdGhhdCB0aGUgYmFja3VwIGhlYWRlciBpcyBwcm9wZXJseSBwbGFjZWQgKi8KKwlpZiAobGU2NF90b19jcHUoZ3B0LT5waGVhZGVyLT5hbHRlcm5hdGl2ZV9sYmEpIDwgY3h0LT50b3RhbF9zZWN0b3JzIC0gMVVMTCkKKwkJLyogVE9ETzogY29ycmVjdCB0aGlzICh3aXRoIHVzZXIgYXV0aG9yaXphdGlvbikgYW5kIHdyaXRlICovCisJCWdvdG8gZXJyMDsKKworCWlmIChjaGVja19vdmVybGFwX3BhcnRpdGlvbnMoZ3B0LT5waGVhZGVyLCBncHQtPmVudHMpKQorCQlnb3RvIGVycjA7CisKKwkvKiByZWNvbXB1dGUgQ1JDcyBmb3IgYm90aCBoZWFkZXJzICovCisJZ3B0X3JlY29tcHV0ZV9jcmMoZ3B0LT5waGVhZGVyLCBncHQtPmVudHMpOworCWdwdF9yZWNvbXB1dGVfY3JjKGdwdC0+YmhlYWRlciwgZ3B0LT5lbnRzKTsKKworCS8qCisJICogVUVGSSByZXF1aXJlcyB3cml0aW5nIGluIHRoaXMgc3BlY2lmaWMgb3JkZXI6CisJICogICAxKSBiYWNrdXAgcGFydGl0aW9uIHRhYmxlcworCSAqICAgMikgYmFja3VwIEdQVCBoZWFkZXIKKwkgKiAgIDMpIHByaW1hcnkgcGFydGl0aW9uIHRhYmxlcworCSAqICAgNCkgcHJpbWFyeSBHUFQgaGVhZGVyCisJICogICA1KSBwcm90ZWN0aXZlIE1CUgorCSAqCisJICogSWYgYW55IHdyaXRlIGZhaWxzLCB3ZSBhYm9ydCB0aGUgcmVzdC4KKwkgKi8KKwlpZiAoZ3B0X3dyaXRlX3BhcnRpdGlvbnMoY3h0LCBncHQtPmJoZWFkZXIsIGdwdC0+ZW50cykgIT0gMCkKKwkJZ290byBlcnIxOworCWlmIChncHRfd3JpdGVfaGVhZGVyKGN4dCwgZ3B0LT5iaGVhZGVyLAorCQkJICAgICBsZTY0X3RvX2NwdShncHQtPnBoZWFkZXItPmFsdGVybmF0aXZlX2xiYSkpICE9IDApCisJCWdvdG8gZXJyMTsKKwlpZiAoZ3B0X3dyaXRlX3BhcnRpdGlvbnMoY3h0LCBncHQtPnBoZWFkZXIsIGdwdC0+ZW50cykgIT0gMCkKKwkJZ290byBlcnIxOworCWlmIChncHRfd3JpdGVfaGVhZGVyKGN4dCwgZ3B0LT5waGVhZGVyLCBHUFRfUFJJTUFSWV9QQVJUSVRJT05fVEFCTEVfTEJBKSAhPSAwKQorCQlnb3RvIGVycjE7CisKKwlpZiAobWJyX3R5cGUgPT0gR1BUX01CUl9IWUJSSUQpCisJCWZkaXNrX3dhcm54KGN4dCwgXygiVGhlIGRldmljZSBjb250YWlucyBoeWJyaWQgTUJSIC0tIHdyaXRpbmcgR1BUIG9ubHkuICIKKwkJCQkgICAiWW91IGhhdmUgdG8gc3luYyB0aGUgTUJSIG1hbnVhbGx5LiIpKTsKKwllbHNlIGlmIChncHRfd3JpdGVfcG1icihjeHQpICE9IDApCisJCWdvdG8gZXJyMTsKKworCURCRyhMQUJFTCwgdWxfZGVidWcoIkdQVCB3cml0ZSBzdWNjZXNzIikpOworCXJldHVybiAwOworZXJyMDoKKwlEQkcoTEFCRUwsIHVsX2RlYnVnKCJHUFQgd3JpdGUgZmFpbGVkOiBpbmNvcnJlY3QgaW5wdXQiKSk7CisJZXJybm8gPSBFSU5WQUw7CisJcmV0dXJuIC1FSU5WQUw7CitlcnIxOgorCURCRyhMQUJFTCwgdWxfZGVidWcoIkdQVCB3cml0ZSBmYWlsZWQ6ICVtIikpOworCXJldHVybiAtZXJybm87Cit9CisKKy8qCisgKiBWZXJpZnkgZGF0YSBpbnRlZ3JpdHkgYW5kIHJlcG9ydCBhbnkgZm91bmQgcHJvYmxlbXMgZm9yOgorICogICAtIHByaW1hcnkgYW5kIGJhY2t1cCBoZWFkZXIgdmFsaWRhdGlvbnMKKyAqICAgLSBwYXJ0aXRpb24gdmFsaWRhdGlvbnMKKyAqLworc3RhdGljIGludCBncHRfdmVyaWZ5X2Rpc2tsYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWludCBuZXJyb3IgPSAwOworCXVuc2lnbmVkIGludCBwdG51bTsKKwlzdHJ1Y3QgZmRpc2tfZ3B0X2xhYmVsICpncHQ7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgR1BUKSk7CisKKwlncHQgPSBzZWxmX2xhYmVsKGN4dCk7CisJaWYgKCFncHQpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKCFncHQtPmJoZWFkZXIpIHsKKwkJbmVycm9yKys7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiRGlzayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgYmFja3VwIGhlYWRlci4iKSk7CisJfQorCisJaWYgKCFncHRfY2hlY2tfaGVhZGVyX2NyYyhncHQtPnBoZWFkZXIsIGdwdC0+ZW50cykpIHsKKwkJbmVycm9yKys7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiSW52YWxpZCBwcmltYXJ5IGhlYWRlciBDUkMgY2hlY2tzdW0uIikpOworCX0KKwlpZiAoZ3B0LT5iaGVhZGVyICYmICFncHRfY2hlY2tfaGVhZGVyX2NyYyhncHQtPmJoZWFkZXIsIGdwdC0+ZW50cykpIHsKKwkJbmVycm9yKys7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiSW52YWxpZCBiYWNrdXAgaGVhZGVyIENSQyBjaGVja3N1bS4iKSk7CisJfQorCisJaWYgKCFncHRfY2hlY2tfZW50cnlhcnJfY3JjKGdwdC0+cGhlYWRlciwgZ3B0LT5lbnRzKSkgeworCQluZXJyb3IrKzsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJJbnZhbGlkIHBhcnRpdGlvbiBlbnRyeSBjaGVja3N1bS4iKSk7CisJfQorCisJaWYgKCFncHRfY2hlY2tfbGJhX3Nhbml0eShjeHQsIGdwdC0+cGhlYWRlcikpIHsKKwkJbmVycm9yKys7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiSW52YWxpZCBwcmltYXJ5IGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iKSk7CisJfQorCWlmIChncHQtPmJoZWFkZXIgJiYgIWdwdF9jaGVja19sYmFfc2FuaXR5KGN4dCwgZ3B0LT5iaGVhZGVyKSkgeworCQluZXJyb3IrKzsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIikpOworCX0KKworCWlmIChsZTY0X3RvX2NwdShncHQtPnBoZWFkZXItPm15X2xiYSkgIT0gR1BUX1BSSU1BUllfUEFSVElUSU9OX1RBQkxFX0xCQSkgeworCQluZXJyb3IrKzsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgcHJpbWFyeSBoZWFkZXIuIikpOworCX0KKwlpZiAoZ3B0LT5iaGVhZGVyICYmIGxlNjRfdG9fY3B1KGdwdC0+YmhlYWRlci0+bXlfbGJhKSAhPSBsYXN0X2xiYShjeHQpKSB7CisJCW5lcnJvcisrOworCQlmZGlza193YXJueChjeHQsIF8oIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBiYWNrdXAgaGVhZGVyLiIpKTsKKworCX0KKwlpZiAobGU2NF90b19jcHUoZ3B0LT5waGVhZGVyLT5hbHRlcm5hdGl2ZV9sYmEpID49IGN4dC0+dG90YWxfc2VjdG9ycykgeworCQluZXJyb3IrKzsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJEaXNrIGlzIHRvbyBzbWFsbCB0byBob2xkIGFsbCBkYXRhLiIpKTsKKwl9CisKKwkvKgorCSAqIGlmIHRoZSBHUFQgaXMgdGhlIHByaW1hcnkgdGFibGUsIGNoZWNrIHRoZSBhbHRlcm5hdGVMQkEKKwkgKiB0byBzZWUgaWYgaXQgaXMgYSB2YWxpZCBHUFQKKwkgKi8KKwlpZiAoZ3B0LT5iaGVhZGVyICYmIChsZTY0X3RvX2NwdShncHQtPnBoZWFkZXItPm15X2xiYSkgIT0KKwkJCSAgICAgbGU2NF90b19jcHUoZ3B0LT5iaGVhZGVyLT5hbHRlcm5hdGl2ZV9sYmEpKSkgeworCQluZXJyb3IrKzsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJQcmltYXJ5IGFuZCBiYWNrdXAgaGVhZGVyIG1pc21hdGNoLiIpKTsKKwl9CisKKwlwdG51bSA9IGNoZWNrX292ZXJsYXBfcGFydGl0aW9ucyhncHQtPnBoZWFkZXIsIGdwdC0+ZW50cyk7CisJaWYgKHB0bnVtKSB7CisJCW5lcnJvcisrOworCQlmZGlza193YXJueChjeHQsIF8oIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIHBhcnRpdGlvbiAldS4iKSwKKwkJCQlwdG51bSwgcHRudW0rMSk7CisJfQorCisJcHRudW0gPSBjaGVja190b29fYmlnX3BhcnRpdGlvbnMoZ3B0LT5waGVhZGVyLCBncHQtPmVudHMsIGN4dC0+dG90YWxfc2VjdG9ycyk7CisJaWYgKHB0bnVtKSB7CisJCW5lcnJvcisrOworCQlmZGlza193YXJueChjeHQsIF8oIlBhcnRpdGlvbiAldSBpcyB0b28gYmlnIGZvciB0aGUgZGlzay4iKSwKKwkJCQlwdG51bSk7CisJfQorCisJcHRudW0gPSBjaGVja19zdGFydF9hZnRlcl9lbmRfcGFydGl0aW9ucyhncHQtPnBoZWFkZXIsIGdwdC0+ZW50cyk7CisJaWYgKHB0bnVtKSB7CisJCW5lcnJvcisrOworCQlmZGlza193YXJueChjeHQsIF8oIlBhcnRpdGlvbiAldSBlbmRzIGJlZm9yZSBpdCBzdGFydHMuIiksCisJCQkJcHRudW0pOworCX0KKworCWlmICghbmVycm9yKSB7IC8qIHlheSA6LSkgKi8KKwkJdWludDMyX3QgbnNlZ21lbnRzID0gMDsKKwkJdWludDY0X3QgZnJlZV9zZWN0b3JzID0gMCwgbGFyZ2VzdF9zZWdtZW50ID0gMDsKKwkJY2hhciAqc3Ryc3ogPSBOVUxMOworCisJCWZkaXNrX2luZm8oY3h0LCBfKCJObyBlcnJvcnMgZGV0ZWN0ZWQuIikpOworCQlmZGlza19pbmZvKGN4dCwgXygiSGVhZGVyIHZlcnNpb246ICVzIiksIGdwdF9nZXRfaGVhZGVyX3JldnN0cihncHQtPnBoZWFkZXIpKTsKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIlVzaW5nICV1IG91dCBvZiAlZCBwYXJ0aXRpb25zLiIpLAorCQkgICAgICAgcGFydGl0aW9uc19pbl91c2UoZ3B0LT5waGVhZGVyLCBncHQtPmVudHMpLAorCQkgICAgICAgbGUzMl90b19jcHUoZ3B0LT5waGVhZGVyLT5ucGFydGl0aW9uX2VudHJpZXMpKTsKKworCQlmcmVlX3NlY3RvcnMgPSBnZXRfZnJlZV9zZWN0b3JzKGN4dCwgZ3B0LT5waGVhZGVyLCBncHQtPmVudHMsCisJCQkJCQkmbnNlZ21lbnRzLCAmbGFyZ2VzdF9zZWdtZW50KTsKKwkJaWYgKGxhcmdlc3Rfc2VnbWVudCkKKwkJCXN0cnN6ID0gc2l6ZV90b19odW1hbl9zdHJpbmcoU0laRV9TVUZGSVhfU1BBQ0UgfCBTSVpFX1NVRkZJWF8zTEVUVEVSLAorCQkJCQlsYXJnZXN0X3NlZ21lbnQgKiBjeHQtPnNlY3Rvcl9zaXplKTsKKworCQlmZGlza19pbmZvKGN4dCwKKwkJCSAgIFBfKCJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnQuIiwKKwkJCSAgICAgICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnRzICIKKwkJCSAgICAgICIodGhlIGxhcmdlc3QgaXMgJXMpLiIsIG5zZWdtZW50cyksCisJCQkgICBmcmVlX3NlY3RvcnMsIG5zZWdtZW50cywgc3Ryc3opOworCQlmcmVlKHN0cnN6KTsKKworCX0gZWxzZQorCQlmZGlza193YXJueChjeHQsCisJCQlQXygiJWQgZXJyb3IgZGV0ZWN0ZWQuIiwgIiVkIGVycm9ycyBkZXRlY3RlZC4iLCBuZXJyb3IpLAorCQkJbmVycm9yKTsKKworCXJldHVybiAwOworfQorCisvKiBEZWxldGUgYSBzaW5nbGUgR1BUIHBhcnRpdGlvbiwgc3BlY2lmaWVkIGJ5IHBhcnRudW0uICovCitzdGF0aWMgaW50IGdwdF9kZWxldGVfcGFydGl0aW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQkJc2l6ZV90IHBhcnRudW0pCit7CisJc3RydWN0IGZkaXNrX2dwdF9sYWJlbCAqZ3B0OworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIEdQVCkpOworCisJZ3B0ID0gc2VsZl9sYWJlbChjeHQpOworCisJaWYgKHBhcnRudW0gPj0gY3h0LT5sYWJlbC0+bnBhcnRzX21heAorCSAgICB8fCAgcGFydGl0aW9uX3VudXNlZCgmZ3B0LT5lbnRzW3BhcnRudW1dKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiBoYXN0YSBsYSB2aXN0YSwgYmFieSEgKi8KKwltZW1zZXQoJmdwdC0+ZW50c1twYXJ0bnVtXSwgMCwgc2l6ZW9mKHN0cnVjdCBncHRfZW50cnkpKTsKKwlpZiAoIXBhcnRpdGlvbl91bnVzZWQoJmdwdC0+ZW50c1twYXJ0bnVtXSkpCisJCXJldHVybiAtRUlOVkFMOworCWVsc2UgeworCQlncHRfcmVjb21wdXRlX2NyYyhncHQtPnBoZWFkZXIsIGdwdC0+ZW50cyk7CisJCWdwdF9yZWNvbXB1dGVfY3JjKGdwdC0+YmhlYWRlciwgZ3B0LT5lbnRzKTsKKwkJY3h0LT5sYWJlbC0+bnBhcnRzX2N1ci0tOworCQlmZGlza19sYWJlbF9zZXRfY2hhbmdlZChjeHQtPmxhYmVsLCAxKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworCisvKiBQZXJmb3JtcyBsb2dpY2FsIGNoZWNrcyB0byBhZGQgYSBuZXcgcGFydGl0aW9uIGVudHJ5ICovCitzdGF0aWMgaW50IGdwdF9hZGRfcGFydGl0aW9uKAorCQlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwKKwkJc2l6ZV90ICpwYXJ0bm8pCit7CisJdWludDY0X3QgdXNlcl9mLCB1c2VyX2w7CS8qIHVzZXIgaW5wdXQgcmFuZ2VzIGZvciBmaXJzdCBhbmQgbGFzdCBzZWN0b3JzICovCisJdWludDY0X3QgZGlza19mLCBkaXNrX2w7CS8qIGZpcnN0IGFuZCBsYXN0IGF2YWlsYWJsZSBzZWN0b3IgcmFuZ2VzIG9uIGRldmljZSovCisJdWludDY0X3QgZGZsdF9mLCBkZmx0X2w7CS8qIGxhcmdlc3Qgc2VnbWVudCAoZGVmYXVsdCkgKi8KKwlzdHJ1Y3QgZ3B0X2d1aWQgdHlwZWlkOworCXN0cnVjdCBmZGlza19ncHRfbGFiZWwgKmdwdDsKKwlzdHJ1Y3QgZ3B0X2hlYWRlciAqcGhlYWRlcjsKKwlzdHJ1Y3QgZ3B0X2VudHJ5ICplLCAqZW50czsKKwlzdHJ1Y3QgZmRpc2tfYXNrICphc2sgPSBOVUxMOworCXNpemVfdCBwYXJ0bnVtOworCWludCByYzsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBHUFQpKTsKKworCWdwdCA9IHNlbGZfbGFiZWwoY3h0KTsKKwlwaGVhZGVyID0gZ3B0LT5waGVhZGVyOworCWVudHMgPSBncHQtPmVudHM7CisKKwlyYyA9IGZkaXNrX3BhcnRpdGlvbl9uZXh0X3BhcnRubyhwYSwgY3h0LCAmcGFydG51bSk7CisJaWYgKHJjKSB7CisJCURCRyhMQUJFTCwgdWxfZGVidWcoIkdQVCBmYWlsZWQgdG8gZ2V0IG5leHQgcGFydG5vIikpOworCQlyZXR1cm4gcmM7CisJfQorCWlmICghcGFydGl0aW9uX3VudXNlZCgmZW50c1twYXJ0bnVtXSkpIHsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gICIKKwkJCSAgICAgICAgICAgIkRlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIpLCBwYXJ0bnVtICsxKTsKKwkJcmV0dXJuIC1FUkFOR0U7CisJfQorCWlmIChsZTMyX3RvX2NwdShwaGVhZGVyLT5ucGFydGl0aW9uX2VudHJpZXMpID09CisJCQlwYXJ0aXRpb25zX2luX3VzZShwaGVhZGVyLCBlbnRzKSkgeworCQlmZGlza193YXJueChjeHQsIF8oIkFsbCBwYXJ0aXRpb25zIGFyZSBhbHJlYWR5IGluIHVzZS4iKSk7CisJCXJldHVybiAtRU5PU1BDOworCX0KKwlpZiAoIWdldF9mcmVlX3NlY3RvcnMoY3h0LCBwaGVhZGVyLCBlbnRzLCBOVUxMLCBOVUxMKSkgeworCQlmZGlza193YXJueChjeHQsIF8oIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGUuIikpOworCQlyZXR1cm4gLUVOT1NQQzsKKwl9CisKKwlyYyA9IHN0cmluZ190b19ndWlkKHBhICYmIHBhLT50eXBlICYmIHBhLT50eXBlLT50eXBlc3RyID8KKwkJCQlwYS0+dHlwZS0+dHlwZXN0cjoKKwkJCQlHUFRfREVGQVVMVF9FTlRSWV9UWVBFLCAmdHlwZWlkKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCWRpc2tfZiA9IGZpbmRfZmlyc3RfYXZhaWxhYmxlKHBoZWFkZXIsIGVudHMsIGxlNjRfdG9fY3B1KHBoZWFkZXItPmZpcnN0X3VzYWJsZV9sYmEpKTsKKworCS8qIGlmIGZpcnN0IHNlY3RvciBubyBleHBsaWNpdGx5IGRlZmluZWQgdGhlbiBpZ25vcmUgc21hbGwgZ2FwcyBiZWZvcmUKKwkgKiB0aGUgZmlyc3QgcGFydGl0aW9uICovCisJaWYgKCghcGEgfHwgIWZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpKQorCSAgICAmJiAhcGFydGl0aW9uX3VudXNlZCgmZW50c1swXSkKKwkgICAgJiYgZGlza19mIDwgZ3B0X3BhcnRpdGlvbl9zdGFydCgmZW50c1swXSkpIHsKKworCQlkbyB7CisJCQl1aW50NjRfdCB4OworCQkJREJHKExBQkVMLCB1bF9kZWJ1ZygidGVzdGluZyBmaXJzdCBzZWN0b3IgJSJQUkl1NjQiIiwgZGlza19mKSk7CisJCQlkaXNrX2YgPSBmaW5kX2ZpcnN0X2F2YWlsYWJsZShwaGVhZGVyLCBlbnRzLCBkaXNrX2YpOworCQkJaWYgKCFkaXNrX2YpCisJCQkJYnJlYWs7CisJCQl4ID0gZmluZF9sYXN0X2ZyZWUocGhlYWRlciwgZW50cywgZGlza19mKTsKKwkJCWlmICh4IC0gZGlza19mID49IGN4dC0+Z3JhaW4gLyBjeHQtPnNlY3Rvcl9zaXplKQorCQkJCWJyZWFrOworCQkJREJHKExBQkVMLCB1bF9kZWJ1ZygiZmlyc3Qgc2VjdG9yICUiUFJJdTY0IiBhZGRyZXNzZXMgdG8gc21hbGwgc3BhY2UsIGNvbnRpbnVlLi4uIiwgZGlza19mKSk7CisJCQlkaXNrX2YgPSB4ICsgMVVMTDsKKwkJfSB3aGlsZSgxKTsKKworCQlpZiAoZGlza19mID09IDApCisJCQlkaXNrX2YgPSBmaW5kX2ZpcnN0X2F2YWlsYWJsZShwaGVhZGVyLCBlbnRzLCBsZTY0X3RvX2NwdShwaGVhZGVyLT5maXJzdF91c2FibGVfbGJhKSk7CisJfQorCisJZGlza19sID0gZmluZF9sYXN0X2ZyZWVfc2VjdG9yKHBoZWFkZXIsIGVudHMpOworCisJLyogdGhlIGRlZmF1bHQgaXMgdGhlIGxhcmdlc3QgZnJlZSBzcGFjZSAqLworCWRmbHRfZiA9IGZpbmRfZmlyc3RfaW5fbGFyZ2VzdChwaGVhZGVyLCBlbnRzKTsKKwlkZmx0X2wgPSBmaW5kX2xhc3RfZnJlZShwaGVhZGVyLCBlbnRzLCBkZmx0X2YpOworCisJLyogYWxpZ24gdGhlIGRlZmF1bHQgaW4gcmFuZ2UgPGRmbHRfZixkZmx0X2w+Ki8KKwlkZmx0X2YgPSBmZGlza19hbGlnbl9sYmFfaW5fcmFuZ2UoY3h0LCBkZmx0X2YsIGRmbHRfZiwgZGZsdF9sKTsKKworCS8qIGZpcnN0IHNlY3RvciAqLworCWlmIChwYSAmJiBwYS0+c3RhcnRfZm9sbG93X2RlZmF1bHQpIHsKKwkJdXNlcl9mID0gZGZsdF9mOworCisJfSBlbHNlIGlmIChwYSAmJiBmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSkgeworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJmaXJzdCBzZWN0b3IgZGVmaW5lZDogJWp1IiwgICh1aW50bWF4X3QpcGEtPnN0YXJ0KSk7CisJCWlmIChwYS0+c3RhcnQgIT0gZmluZF9maXJzdF9hdmFpbGFibGUocGhlYWRlciwgZW50cywgcGEtPnN0YXJ0KSkgeworCQkJZmRpc2tfd2FybngoY3h0LCBfKCJTZWN0b3IgJWp1IGFscmVhZHkgdXNlZC4iKSwgICh1aW50bWF4X3QpcGEtPnN0YXJ0KTsKKwkJCXJldHVybiAtRVJBTkdFOworCQl9CisJCXVzZXJfZiA9IHBhLT5zdGFydDsKKwl9IGVsc2UgeworCQkvKiAgYXNrIGJ5IGRpYWxvZyAqLworCQlmb3IgKDs7KSB7CisJCQlpZiAoIWFzaykKKwkJCQlhc2sgPSBmZGlza19uZXdfYXNrKCk7CisJCQllbHNlCisJCQkJZmRpc2tfcmVzZXRfYXNrKGFzayk7CisKKwkJCS8qIEZpcnN0IHNlY3RvciAqLworCQkJZmRpc2tfYXNrX3NldF9xdWVyeShhc2ssIF8oIkZpcnN0IHNlY3RvciIpKTsKKwkJCWZkaXNrX2Fza19zZXRfdHlwZShhc2ssIEZESVNLX0FTS1RZUEVfTlVNQkVSKTsKKwkJCWZkaXNrX2Fza19udW1iZXJfc2V0X2xvdyhhc2ssICAgICBkaXNrX2YpOwkvKiBtaW5pbWFsICovCisJCQlmZGlza19hc2tfbnVtYmVyX3NldF9kZWZhdWx0KGFzaywgZGZsdF9mKTsJLyogZGVmYXVsdCAqLworCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfaGlnaChhc2ssICAgIGRpc2tfbCk7CS8qIG1heGltYWwgKi8KKworCQkJcmMgPSBmZGlza19kb19hc2soY3h0LCBhc2spOworCQkJaWYgKHJjKQorCQkJCWdvdG8gZG9uZTsKKworCQkJdXNlcl9mID0gZmRpc2tfYXNrX251bWJlcl9nZXRfcmVzdWx0KGFzayk7CisJCQlpZiAodXNlcl9mICE9IGZpbmRfZmlyc3RfYXZhaWxhYmxlKHBoZWFkZXIsIGVudHMsIHVzZXJfZikpIHsKKwkJCQlmZGlza193YXJueChjeHQsIF8oIlNlY3RvciAlanUgYWxyZWFkeSB1c2VkLiIpLCB1c2VyX2YpOworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJYnJlYWs7CisJCX0KKwl9CisKKworCS8qIExhc3Qgc2VjdG9yICovCisJZGZsdF9sID0gZmluZF9sYXN0X2ZyZWUocGhlYWRlciwgZW50cywgdXNlcl9mKTsKKworCWlmIChwYSAmJiBwYS0+ZW5kX2ZvbGxvd19kZWZhdWx0KSB7CisJCXVzZXJfbCA9IGRmbHRfbDsKKworCX0gZWxzZSBpZiAocGEgJiYgZmRpc2tfcGFydGl0aW9uX2hhc19zaXplKHBhKSkgeworCQl1c2VyX2wgPSB1c2VyX2YgKyBwYS0+c2l6ZSAtIDE7CisJCURCRyhMQUJFTCwgdWxfZGVidWcoInNpemUgZGVmaW5lZDogJWp1LCBlbmQ6ICUiUFJJdTY0IiAobGFzdCBwb3NzaWJsZTogJSJQUkl1NjQiKSIsCisJCQkJCSAodWludG1heF90KXBhLT5zaXplLCB1c2VyX2wsIGRmbHRfbCkpOworCQlpZiAodXNlcl9sICE9IGRmbHRfbCAmJiAhcGEtPnNpemVfZXhwbGljaXQKKwkJICAgICYmIHVzZXJfbCAtIHVzZXJfZiA+IChjeHQtPmdyYWluIC8gZmRpc2tfZ2V0X3NlY3Rvcl9zaXplKGN4dCkpKSB7CisJCQl1c2VyX2wgPSBmZGlza19hbGlnbl9sYmFfaW5fcmFuZ2UoY3h0LCB1c2VyX2wsIHVzZXJfZiwgZGZsdF9sKTsKKwkJCWlmICh1c2VyX2wgPiB1c2VyX2YpCisJCQkJdXNlcl9sIC09IDFVTEw7CisJCX0KKwl9IGVsc2UgeworCQlmb3IgKDs7KSB7CisJCQlpZiAoIWFzaykKKwkJCQlhc2sgPSBmZGlza19uZXdfYXNrKCk7CisJCQllbHNlCisJCQkJZmRpc2tfcmVzZXRfYXNrKGFzayk7CisJCQlpZiAoIWFzaykKKwkJCQlyZXR1cm4gLUVOT01FTTsKKworCQkJZmRpc2tfYXNrX3NldF9xdWVyeShhc2ssIF8oIkxhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9IikpOworCQkJZmRpc2tfYXNrX3NldF90eXBlKGFzaywgRkRJU0tfQVNLVFlQRV9PRkZTRVQpOworCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfbG93KGFzaywgICAgIHVzZXJfZik7CS8qIG1pbmltYWwgKi8KKwkJCWZkaXNrX2Fza19udW1iZXJfc2V0X2RlZmF1bHQoYXNrLCBkZmx0X2wpOwkvKiBkZWZhdWx0ICovCisJCQlmZGlza19hc2tfbnVtYmVyX3NldF9oaWdoKGFzaywgICAgZGZsdF9sKTsJLyogbWF4aW1hbCAqLworCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfYmFzZShhc2ssICAgIHVzZXJfZik7CS8qIGJhc2UgZm9yIHJlbGF0aXZlIGlucHV0ICovCisJCQlmZGlza19hc2tfbnVtYmVyX3NldF91bml0KGFzaywgICAgY3h0LT5zZWN0b3Jfc2l6ZSk7CisKKwkJCXJjID0gZmRpc2tfZG9fYXNrKGN4dCwgYXNrKTsKKwkJCWlmIChyYykKKwkJCQlnb3RvIGRvbmU7CisKKwkJCXVzZXJfbCA9IGZkaXNrX2Fza19udW1iZXJfZ2V0X3Jlc3VsdChhc2spOworCQkJaWYgKGZkaXNrX2Fza19udW1iZXJfaXNfcmVsYXRpdmUoYXNrKSkgeworCQkJCXVzZXJfbCA9IGZkaXNrX2FsaWduX2xiYV9pbl9yYW5nZShjeHQsIHVzZXJfbCwgdXNlcl9mLCBkZmx0X2wpOworCQkJCWlmICh1c2VyX2wgPiB1c2VyX2YpCisJCQkJCXVzZXJfbCAtPSAxVUxMOworCQkJfQorCisJCQlpZiAodXNlcl9sID49IHVzZXJfZiAmJiB1c2VyX2wgPD0gZGlza19sKQorCQkJCWJyZWFrOworCisJCQlmZGlza193YXJueChjeHQsIF8oIlZhbHVlIG91dCBvZiByYW5nZS4iKSk7CisJCX0KKwl9CisKKworCWlmICh1c2VyX2YgPiB1c2VyX2wgfHwgcGFydG51bSA+PSBjeHQtPmxhYmVsLT5ucGFydHNfbWF4KSB7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiQ291bGQgbm90IGNyZWF0ZSBwYXJ0aXRpb24gJXp1IiksIHBhcnRudW0gKyAxKTsKKwkJcmMgPSAtRUlOVkFMOworCQlnb3RvIGRvbmU7CisJfQorCisJLyogQmUgcGFyYW5vaWQgYW5kIGNoZWNrIGFnYWluc3Qgb24tZGlzayBzZXR0aW5nIHJhdGhlciB0aGFuIGFnYWluc3QgbGliZmRpc2sgY3h0ICovCisJaWYgKHVzZXJfbCA+IGxlNjRfdG9fY3B1KHBoZWFkZXItPmxhc3RfdXNhYmxlX2xiYSkpIHsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJUaGUgbGFzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIpLAorCQkJCWxlNjRfdG9fY3B1KHBoZWFkZXItPmxhc3RfdXNhYmxlX2xiYSksIHVzZXJfbCk7CisJCXJjID0gLUVJTlZBTDsKKwkJZ290byBkb25lOworCX0KKworCWlmICh1c2VyX2YgPCBsZTY0X3RvX2NwdShwaGVhZGVyLT5maXJzdF91c2FibGVfbGJhKSkgeworCQlmZGlza193YXJueChjeHQsIF8oIlRoZSBmaXJzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIpLAorCQkJCWxlNjRfdG9fY3B1KHBoZWFkZXItPmZpcnN0X3VzYWJsZV9sYmEpLCB1c2VyX2YpOworCQlyYyA9IC1FSU5WQUw7CisJCWdvdG8gZG9uZTsKKwl9CisKKwlhc3NlcnQoIUZESVNLX0lTX1VOREVGKHVzZXJfbCkpOworCWFzc2VydCghRkRJU0tfSVNfVU5ERUYodXNlcl9mKSk7CisKKwllID0gJmVudHNbcGFydG51bV07CisJZS0+bGJhX2VuZCA9IGNwdV90b19sZTY0KHVzZXJfbCk7CisJZS0+bGJhX3N0YXJ0ID0gY3B1X3RvX2xlNjQodXNlcl9mKTsKKworCWdwdF9lbnRyeV9zZXRfdHlwZShlLCAmdHlwZWlkKTsKKworCWlmIChwYSAmJiBwYS0+dXVpZCkgeworCQkvKiBTb21ldGltZXMgaXQncyBuZWNlc3NhcnkgdG8gY3JlYXRlIGEgY29weSBvZiB0aGUgUFQgYW5kCisJCSAqIHJldXNlIGFscmVhZHkgZGVmaW5lZCBVVUlECisJCSAqLworCQlyYyA9IGdwdF9lbnRyeV9zZXRfdXVpZChlLCBwYS0+dXVpZCk7CisJCWlmIChyYykKKwkJCWdvdG8gZG9uZTsKKwl9IGVsc2UgeworCQkvKiBBbnkgdGltZSBhIG5ldyBwYXJ0aXRpb24gZW50cnkgaXMgY3JlYXRlZCBhIG5ldyBHVUlEIG11c3QgYmUKKwkJICogZ2VuZXJhdGVkIGZvciB0aGF0IHBhcnRpdGlvbiwgYW5kIGV2ZXJ5IHBhcnRpdGlvbiBpcyBndWFyYW50ZWVkCisJCSAqIHRvIGhhdmUgYSB1bmlxdWUgR1VJRC4KKwkJICovCisJCXV1aWRfZ2VuZXJhdGVfcmFuZG9tKCh1bnNpZ25lZCBjaGFyICopICZlLT5wYXJ0aXRpb25fZ3VpZCk7CisJCXN3YXBfZWZpX2d1aWQoJmUtPnBhcnRpdGlvbl9ndWlkKTsKKwl9CisKKwlpZiAocGEgJiYgcGEtPm5hbWUgJiYgKnBhLT5uYW1lKQorCQlncHRfZW50cnlfc2V0X25hbWUoZSwgcGEtPm5hbWUpOworCWlmIChwYSAmJiBwYS0+YXR0cnMpCisJCWdwdF9lbnRyeV9hdHRyc19mcm9tX3N0cmluZyhjeHQsIGUsIHBhLT5hdHRycyk7CisKKwlEQkcoTEFCRUwsIHVsX2RlYnVnKCJHUFQgbmV3IHBhcnRpdGlvbjogcGFydG5vPSV6dSwgc3RhcnQ9JSJQUkl1NjQiLCBlbmQ9JSJQUkl1NjQiLCBzaXplPSUiUFJJdTY0IiIsCisJCQkJcGFydG51bSwKKwkJCQlncHRfcGFydGl0aW9uX3N0YXJ0KGUpLAorCQkJCWdwdF9wYXJ0aXRpb25fZW5kKGUpLAorCQkJCWdwdF9wYXJ0aXRpb25fc2l6ZShlKSkpOworCisJZ3B0X3JlY29tcHV0ZV9jcmMoZ3B0LT5waGVhZGVyLCBlbnRzKTsKKwlncHRfcmVjb21wdXRlX2NyYyhncHQtPmJoZWFkZXIsIGVudHMpOworCisJLyogcmVwb3J0IHJlc3VsdCAqLworCXsKKwkJc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0OworCisJCWN4dC0+bGFiZWwtPm5wYXJ0c19jdXIrKzsKKwkJZmRpc2tfbGFiZWxfc2V0X2NoYW5nZWQoY3h0LT5sYWJlbCwgMSk7CisKKwkJdCA9IGdwdF9wYXJ0aXRpb25fcGFydHR5cGUoY3h0LCAmZW50c1twYXJ0bnVtXSk7CisJCWZkaXNrX2luZm9fbmV3X3BhcnRpdGlvbihjeHQsIHBhcnRudW0gKyAxLCB1c2VyX2YsIHVzZXJfbCwgdCk7CisJCWZkaXNrX3VucmVmX3BhcnR0eXBlKHQpOworCX0KKworCXJjID0gMDsKKwlpZiAocGFydG5vKQorCQkqcGFydG5vID0gcGFydG51bTsKK2RvbmU6CisJZmRpc2tfdW5yZWZfYXNrKGFzayk7CisJcmV0dXJuIHJjOworfQorCisvKgorICogQ3JlYXRlIGEgbmV3IEdQVCBkaXNrbGFiZWwgLSBkZXN0cm95cyBhbnkgcHJldmlvdXMgZGF0YS4KKyAqLworc3RhdGljIGludCBncHRfY3JlYXRlX2Rpc2tsYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWludCByYyA9IDA7CisJc2l6ZV90IGVzeiA9IDA7CisJY2hhciBzdHJbMzddOworCXN0cnVjdCBmZGlza19ncHRfbGFiZWwgKmdwdDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBHUFQpKTsKKworCWdwdCA9IHNlbGZfbGFiZWwoY3h0KTsKKworCS8qIGxhYmVsIHByaXZhdGUgc3R1ZmYgaGFzIHRvIGJlIGVtcHR5LCBzZWUgZ3B0X2RlaW5pdCgpICovCisJYXNzZXJ0KGdwdC0+cGhlYWRlciA9PSBOVUxMKTsKKwlhc3NlcnQoZ3B0LT5iaGVhZGVyID09IE5VTEwpOworCisJLyoKKwkgKiBXaGVuIG5vIGhlYWRlciwgZW50cmllcyBvciBwbWJyIGlzIHNldCwgd2UncmUgcHJvYmFibHkKKwkgKiBkZWFsaW5nIHdpdGggYSBuZXcsIGVtcHR5IGRpc2sgLSBzbyBhbHdheXMgYWxsb2NhdGUgbWVtb3J5CisJICogdG8gZGVhbCB3aXRoIHRoZSBkYXRhIHN0cnVjdHVyZXMgd2hhdGV2ZXIgdGhlIGNhc2UgaXMuCisJICovCisJcmMgPSBncHRfbWtuZXdfcG1icihjeHQpOworCWlmIChyYyA8IDApCisJCWdvdG8gZG9uZTsKKworCWFzc2VydChjeHQtPnNlY3Rvcl9zaXplID49IHNpemVvZihzdHJ1Y3QgZ3B0X2hlYWRlcikpOworCisJLyogcHJpbWFyeSAqLworCWdwdC0+cGhlYWRlciA9IGNhbGxvYygxLCBjeHQtPnNlY3Rvcl9zaXplKTsKKwlpZiAoIWdwdC0+cGhlYWRlcikgeworCQlyYyA9IC1FTk9NRU07CisJCWdvdG8gZG9uZTsKKwl9CisJcmMgPSBncHRfbWtuZXdfaGVhZGVyKGN4dCwgZ3B0LT5waGVhZGVyLCBHUFRfUFJJTUFSWV9QQVJUSVRJT05fVEFCTEVfTEJBKTsKKwlpZiAocmMgPCAwKQorCQlnb3RvIGRvbmU7CisKKwkvKiBiYWNrdXAgKCJjb3B5IiBwcmltYXJ5KSAqLworCWdwdC0+YmhlYWRlciA9IGNhbGxvYygxLCBjeHQtPnNlY3Rvcl9zaXplKTsKKwlpZiAoIWdwdC0+YmhlYWRlcikgeworCQlyYyA9IC1FTk9NRU07CisJCWdvdG8gZG9uZTsKKwl9CisJcmMgPSBncHRfbWtuZXdfaGVhZGVyX2Zyb21fYmtwKGN4dCwgZ3B0LT5iaGVhZGVyLAorCQkJbGFzdF9sYmEoY3h0KSwgZ3B0LT5waGVhZGVyKTsKKwlpZiAocmMgPCAwKQorCQlnb3RvIGRvbmU7CisKKwllc3ogPSAoc2l6ZV90KSBsZTMyX3RvX2NwdShncHQtPnBoZWFkZXItPm5wYXJ0aXRpb25fZW50cmllcykgKgorCSAgICAgIGxlMzJfdG9fY3B1KGdwdC0+cGhlYWRlci0+c2l6ZW9mX3BhcnRpdGlvbl9lbnRyeSk7CisJZ3B0LT5lbnRzID0gY2FsbG9jKDEsIGVzeik7CisJaWYgKCFncHQtPmVudHMpIHsKKwkJcmMgPSAtRU5PTUVNOworCQlnb3RvIGRvbmU7CisJfQorCWdwdF9yZWNvbXB1dGVfY3JjKGdwdC0+cGhlYWRlciwgZ3B0LT5lbnRzKTsKKwlncHRfcmVjb21wdXRlX2NyYyhncHQtPmJoZWFkZXIsIGdwdC0+ZW50cyk7CisKKwljeHQtPmxhYmVsLT5ucGFydHNfbWF4ID0gbGUzMl90b19jcHUoZ3B0LT5waGVhZGVyLT5ucGFydGl0aW9uX2VudHJpZXMpOworCWN4dC0+bGFiZWwtPm5wYXJ0c19jdXIgPSAwOworCisJZ3VpZF90b19zdHJpbmcoJmdwdC0+cGhlYWRlci0+ZGlza19ndWlkLCBzdHIpOworCWZkaXNrX2xhYmVsX3NldF9jaGFuZ2VkKGN4dC0+bGFiZWwsIDEpOworCWZkaXNrX2luZm8oY3h0LCBfKCJDcmVhdGVkIGEgbmV3IEdQVCBkaXNrbGFiZWwgKEdVSUQ6ICVzKS4iKSwgc3RyKTsKK2RvbmU6CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IGdwdF9zZXRfZGlza2xhYmVsX2lkKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IGZkaXNrX2dwdF9sYWJlbCAqZ3B0OworCXN0cnVjdCBncHRfZ3VpZCB1dWlkOworCWNoYXIgKnN0ciwgKm9sZCwgKm5ldzsKKwlpbnQgcmM7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgR1BUKSk7CisKKwlncHQgPSBzZWxmX2xhYmVsKGN4dCk7CisJaWYgKGZkaXNrX2Fza19zdHJpbmcoY3h0LAorCQkJXygiRW50ZXIgbmV3IGRpc2sgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIiksICZzdHIpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXJjID0gc3RyaW5nX3RvX2d1aWQoc3RyLCAmdXVpZCk7CisJZnJlZShzdHIpOworCisJaWYgKHJjKSB7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiRmFpbGVkIHRvIHBhcnNlIHlvdXIgVVVJRC4iKSk7CisJCXJldHVybiByYzsKKwl9CisKKwlvbGQgPSBncHRfZ2V0X2hlYWRlcl9pZChncHQtPnBoZWFkZXIpOworCisJZ3B0LT5waGVhZGVyLT5kaXNrX2d1aWQgPSB1dWlkOworCWdwdC0+YmhlYWRlci0+ZGlza19ndWlkID0gdXVpZDsKKworCWdwdF9yZWNvbXB1dGVfY3JjKGdwdC0+cGhlYWRlciwgZ3B0LT5lbnRzKTsKKwlncHRfcmVjb21wdXRlX2NyYyhncHQtPmJoZWFkZXIsIGdwdC0+ZW50cyk7CisKKwluZXcgPSBncHRfZ2V0X2hlYWRlcl9pZChncHQtPnBoZWFkZXIpOworCisJZmRpc2tfaW5mbyhjeHQsIF8oIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIiksIG9sZCwgbmV3KTsKKworCWZyZWUob2xkKTsKKwlmcmVlKG5ldyk7CisJZmRpc2tfbGFiZWxfc2V0X2NoYW5nZWQoY3h0LT5sYWJlbCwgMSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZ3B0X2NoZWNrX3RhYmxlX292ZXJsYXAoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCQkgICB1aW50NjRfdCBmaXJzdF91c2FibGUsCisJCQkJICAgdWludDY0X3QgbGFzdF91c2FibGUpCit7CisJc3RydWN0IGZkaXNrX2dwdF9sYWJlbCAqZ3B0ID0gc2VsZl9sYWJlbChjeHQpOworCXVuc2lnbmVkIGludCBpOworCWludCByYyA9IDA7CisKKwkvKiBGaXJzdCBjaGVjayBpZiB0aGVyZSdzIGVub3VnaCByb29tIGZvciB0aGUgdGFibGUuIGxhc3RfbGJhIG1heSBoYXZlIHdyYXBwZWQgKi8KKwlpZiAoZmlyc3RfdXNhYmxlID4gY3h0LT50b3RhbF9zZWN0b3JzIHx8IC8qIGZhciB0b28gbGl0dGxlIHNwYWNlICovCisJICAgIGxhc3RfdXNhYmxlID4gY3h0LT50b3RhbF9zZWN0b3JzIHx8IC8qIHdyYXBwZWQgKi8KKwkgICAgZmlyc3RfdXNhYmxlID4gbGFzdF91c2FibGUpIHsgLyogdG9vIGxpdHRsZSBzcGFjZSAqLworCQlmZGlza193YXJueChjeHQsIF8oIk5vdCBlbm91Z2ggc3BhY2UgZm9yIG5ldyBwYXJ0aXRpb24gdGFibGUhIikpOworCQlyZXR1cm4gLUVOT1NQQzsKKwl9CisKKwkvKiBjaGVjayB0aGF0IGFsbCBwYXJ0aXRpb25zIGZpdCBpbiB0aGUgcmVtYWluaW5nIHNwYWNlICovCisJZm9yIChpID0gMDsgaSA8IGxlMzJfdG9fY3B1KGdwdC0+cGhlYWRlci0+bnBhcnRpdGlvbl9lbnRyaWVzKTsgaSsrKSB7CisJCWlmIChwYXJ0aXRpb25fdW51c2VkKCZncHQtPmVudHNbaV0pKQorCQkgICAgICAgIGNvbnRpbnVlOworCQlpZiAoZ3B0X3BhcnRpdGlvbl9zdGFydCgmZ3B0LT5lbnRzW2ldKSA8IGZpcnN0X3VzYWJsZSkgeworCQkJZmRpc2tfd2FybngoY3h0LCBfKCJQYXJ0aXRpb24gIyV1IG91dCBvZiByYW5nZSAobWluaW1hbCBzdGFydCBpcyAlIlBSSXU2NCIgc2VjdG9ycykiKSwKKwkJICAgICAgICAgICAgICAgICAgICBpICsgMSwgZmlyc3RfdXNhYmxlKTsKKwkJCXJjID0gLUVJTlZBTDsKKwkJfQorCQlpZiAoZ3B0X3BhcnRpdGlvbl9lbmQoJmdwdC0+ZW50c1tpXSkgPiBsYXN0X3VzYWJsZSkgeworCQkJZmRpc2tfd2FybngoY3h0LCBfKCJQYXJ0aXRpb24gIyV1IG91dCBvZiByYW5nZSAobWF4aW1hbCBlbmQgaXMgJSJQUkl1NjQiIHNlY3RvcnMpIiksCisJCSAgICAgICAgICAgICAgICAgICAgaSArIDEsIGxhc3RfdXNhYmxlIC0gMVVMTCk7CisJCQlyYyA9IC1FSU5WQUw7CisJCX0KKwl9CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIGZkaXNrX2dwdF9zZXRfbnBhcnRpdGlvbnM6CisgKiBAY3h0OiBjb250ZXh0CisgKiBAZW50cmllczogbmV3IHNpemUKKyAqCisgKiBFbGFyZ2UgR1BUIGVudHJpZXMgYXJyYXkgaWYgcG9zc2libGUuIFRoZSBmdW5jdGlvbiBjaGVjayBpZiBhbiBleGlzdGluZworICogcGFydGl0aW9uIGRvZXMgbm90IG92ZXJsYXAgdGhlIGVudHJpZXMgYXJyYXkgYXJlYS4gSWYgeWVzLCB0aGVuIGl0IHJlcG9ydAorICogd2FybmluZyBhbmQgcmV0dXJucyAtRUlOVkFMLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPCAwIG9uIGVycm9yLgorICogU2luY2U6IDIuMjkKKyAqLworaW50IGZkaXNrX2dwdF9zZXRfbnBhcnRpdGlvbnMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgdWludDMyX3QgZW50cmllcykKK3sKKwlzdHJ1Y3QgZmRpc2tfZ3B0X2xhYmVsICpncHQ7CisJc2l6ZV90IG9sZF9zaXplLCBuZXdfc2l6ZTsKKwl1aW50MzJfdCBvbGQ7CisJc3RydWN0IGdwdF9lbnRyeSAqZW50czsKKwl1aW50NjRfdCBmaXJzdF91c2FibGUsIGxhc3RfdXNhYmxlOworCWludCByYzsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBHUFQpKTsKKworCWdwdCA9IHNlbGZfbGFiZWwoY3h0KTsKKworCW9sZCA9IGxlMzJfdG9fY3B1KGdwdC0+cGhlYWRlci0+bnBhcnRpdGlvbl9lbnRyaWVzKTsKKwlpZiAob2xkID09IGVudHJpZXMpCisJCXJldHVybiAwOwkvKiBkbyBub3RoaW5nLCBzYXkgbm90aGluZyAqLworCisJLyogY2FsY3VsYXRlIHRoZSBzaXplIChieXRlcykgb2YgdGhlIGVudHJpZXMgYXJyYXkgKi8KKwluZXdfc2l6ZSA9IGVudHJpZXMgKiBsZTMyX3RvX2NwdShncHQtPnBoZWFkZXItPnNpemVvZl9wYXJ0aXRpb25fZW50cnkpOworCWlmIChuZXdfc2l6ZSA+PSBVSU5UMzJfTUFYKSB7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiVGhlIG51bWJlciBvZiB0aGUgcGFydGl0aW9uIGhhcyBiZSBzbWFsbGVyIHRoYW4gJXp1LiIpLAorCQkJCVVJTlQzMl9NQVggLyBsZTMyX3RvX2NwdShncHQtPnBoZWFkZXItPnNpemVvZl9wYXJ0aXRpb25fZW50cnkpKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJb2xkX3NpemUgPSBvbGQgKiBsZTMyX3RvX2NwdShncHQtPnBoZWFkZXItPnNpemVvZl9wYXJ0aXRpb25fZW50cnkpOworCisJLyogY2FsY3VsYXRlIG5ldyByYW5nZSBvZiB1c2FibGUgTEJBcyAqLworCWZpcnN0X3VzYWJsZSA9ICh1aW50NjRfdCkgKG5ld19zaXplIC8gY3h0LT5zZWN0b3Jfc2l6ZSkgKyAyVUxMOworCWxhc3RfdXNhYmxlID0gY3h0LT50b3RhbF9zZWN0b3JzIC0gMlVMTCAtICh1aW50NjRfdCkgKG5ld19zaXplIC8gY3h0LT5zZWN0b3Jfc2l6ZSk7CisKKwkvKiBpZiBleHBhbmRpbmcgdGhlIHRhYmxlLCBmaXJzdCBjaGVjayB0aGF0IGV2ZXJ5dGhpbmcgZml0cywKKwkgKiB0aGVuIGFsbG9jYXRlIG1vcmUgbWVtb3J5IGFuZCB6ZXJvLiAqLworCWlmIChlbnRyaWVzID4gb2xkKSB7CisJCXJjID0gZ3B0X2NoZWNrX3RhYmxlX292ZXJsYXAoY3h0LCBmaXJzdF91c2FibGUsIGxhc3RfdXNhYmxlKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCQllbnRzID0gcmVhbGxvYyhncHQtPmVudHMsIG5ld19zaXplKTsKKwkJaWYgKCFlbnRzKSB7CisJCQlmZGlza193YXJueChjeHQsIF8oIkNhbm5vdCBhbGxvY2F0ZSBtZW1vcnkhIikpOworCQkJcmV0dXJuIC1FTk9NRU07CisJCX0KKwkJbWVtc2V0KGVudHMgKyBvbGQsIDAsIG5ld19zaXplIC0gb2xkX3NpemUpOworCQlncHQtPmVudHMgPSBlbnRzOworCX0KKworCS8qIGV2ZXJ5dGhpbmcncyBvaywgYXBwbHkgdGhlIG5ldyBzaXplICovCisJZ3B0LT5waGVhZGVyLT5ucGFydGl0aW9uX2VudHJpZXMgPSBjcHVfdG9fbGUzMihlbnRyaWVzKTsKKwlncHQtPmJoZWFkZXItPm5wYXJ0aXRpb25fZW50cmllcyA9IGNwdV90b19sZTMyKGVudHJpZXMpOworCisJLyogdXNhYmxlIExCQSBhZGRyZXNzZXMgd2lsbCBoYXZlIGNoYW5nZWQgKi8KKwlmZGlza19zZXRfZmlyc3RfbGJhKGN4dCwgZmlyc3RfdXNhYmxlKTsKKwlmZGlza19zZXRfbGFzdF9sYmEoY3h0LCBsYXN0X3VzYWJsZSk7CisJZ3B0LT5waGVhZGVyLT5maXJzdF91c2FibGVfbGJhID0gY3B1X3RvX2xlNjQoZmlyc3RfdXNhYmxlKTsKKwlncHQtPmJoZWFkZXItPmZpcnN0X3VzYWJsZV9sYmEgPSBjcHVfdG9fbGU2NChmaXJzdF91c2FibGUpOworCWdwdC0+cGhlYWRlci0+bGFzdF91c2FibGVfbGJhID0gY3B1X3RvX2xlNjQobGFzdF91c2FibGUpOworCWdwdC0+YmhlYWRlci0+bGFzdF91c2FibGVfbGJhID0gY3B1X3RvX2xlNjQobGFzdF91c2FibGUpOworCisKKwkvKiBUaGUgYmFja3VwIGhlYWRlciBtdXN0IGJlIHJlY2FsY3VsYXRlZCAqLworCWdwdF9ta25ld19oZWFkZXJfY29tbW9uKGN4dCwgZ3B0LT5iaGVhZGVyLCBsZTY0X3RvX2NwdShncHQtPnBoZWFkZXItPmFsdGVybmF0aXZlX2xiYSkpOworCisJLyogQ1JDcyB3aWxsIGhhdmUgY2hhbmdlZCAqLworCWdwdF9yZWNvbXB1dGVfY3JjKGdwdC0+cGhlYWRlciwgZ3B0LT5lbnRzKTsKKwlncHRfcmVjb21wdXRlX2NyYyhncHQtPmJoZWFkZXIsIGdwdC0+ZW50cyk7CisKKwlmZGlza19pbmZvKGN4dCwgXygiUGFydGl0aW9uIHRhYmxlIGxlbmd0aCBjaGFuZ2VkIGZyb20gJSJQUkl1MzIiIHRvICUiUFJJdTY0Ii4iKSwgb2xkLCBlbnRyaWVzKTsKKworCWZkaXNrX2xhYmVsX3NldF9jaGFuZ2VkKGN4dC0+bGFiZWwsIDEpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGdwdF9wYXJ0X2lzX3VzZWQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IGkpCit7CisJc3RydWN0IGZkaXNrX2dwdF9sYWJlbCAqZ3B0OworCXN0cnVjdCBncHRfZW50cnkgKmU7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgR1BUKSk7CisKKwlncHQgPSBzZWxmX2xhYmVsKGN4dCk7CisKKwlpZiAoKHVpbnQzMl90KSBpID49IGxlMzJfdG9fY3B1KGdwdC0+cGhlYWRlci0+bnBhcnRpdGlvbl9lbnRyaWVzKSkKKwkJcmV0dXJuIDA7CisJZSA9ICZncHQtPmVudHNbaV07CisKKwlyZXR1cm4gIXBhcnRpdGlvbl91bnVzZWQoZSkgfHwgZ3B0X3BhcnRpdGlvbl9zdGFydChlKTsKK30KKworLyoqCisgKiBmZGlza19ncHRfaXNfaHlicmlkOgorICogQGN4dDogY29udGV4dAorICoKKyAqIFRoZSByZWd1bGFyIEdQVCBjb250YWlucyBQTUJSIChkdW1teSBwcm90ZWN0aXZlIE1CUikgd2hlcmUgdGhlIHByb3RlY3RpdmUKKyAqIE1CUiBkb2VzIG5vdCBhZGRyZXNzIGFueSBwYXJ0aXRpb25zLgorICoKKyAqIEh5YnJpZCBHUFQgY29udGFpbnMgcmVndWxhciBNQlIgd2hlcmUgdGhpcyBwYXJ0aXRpb24gdGFibGUgYWRkcmVzc2VzIHRoZQorICogc2FtZSBwYXJ0aXRpb25zIGFzIEdQVC4gSXQncyByZWNvbW1lbmRlZCB0byBub3QgdXNlIGh5YnJpZCBHUFQgZHVlIHRvIE1CUgorICogbGltaXRzLgorICoKKyAqIFRoZSBsaWJmZGlzayBkb2VzIG5vdCBwcm92aWRlIGZ1bmN0aW9uYWxpdHkgdG8gc3luYyBHUFQgYW5kIE1CUiwgeW91IGhhdmUgdG8KKyAqIGRpcmVjdGx5IGFjY2VzcyBhbmQgbW9kaWZ5IChQKU1CUiAoc2VlIGZkaXNrX25ld19uZXN0ZWRfY29udGV4dCgpKS4KKyAqCisgKiBSZXR1cm5zOiAxIGlmIHBhcnRpdGlvbiB0YWJsZSBkZXRlY3RlZCBhcyBoeWJyaWQgb3RoZXJ3aXNlIHJldHVybiAwCisgKi8KK2ludCBmZGlza19ncHRfaXNfaHlicmlkKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJYXNzZXJ0KGN4dCk7CisJcmV0dXJuIHZhbGlkX3BtYnIoY3h0KSA9PSBHUFRfTUJSX0hZQlJJRDsKK30KKworLyoqCisgKiBmZGlza19ncHRfZ2V0X3BhcnRpdGlvbl9hdHRyczoKKyAqIEBjeHQ6IGNvbnRleHQKKyAqIEBwYXJ0bnVtOiBwYXJ0aXRpb24gbnVtYmVyCisgKiBAYXR0cnM6IEdQVCBwYXJ0aXRpb24gYXR0cmlidXRlcworICoKKyAqIFNldHMgQGF0dHJzIGZvciB0aGUgZ2l2ZW4gcGFydGl0aW9uCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX2dwdF9nZXRfcGFydGl0aW9uX2F0dHJzKAorCQlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQlzaXplX3QgcGFydG51bSwKKwkJdWludDY0X3QgKmF0dHJzKQoreworCXN0cnVjdCBmZGlza19ncHRfbGFiZWwgKmdwdDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBHUFQpKTsKKworCWdwdCA9IHNlbGZfbGFiZWwoY3h0KTsKKworCWlmICgodWludDMyX3QpIHBhcnRudW0gPj0gbGUzMl90b19jcHUoZ3B0LT5waGVhZGVyLT5ucGFydGl0aW9uX2VudHJpZXMpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCSphdHRycyA9IGxlNjRfdG9fY3B1KGdwdC0+ZW50c1twYXJ0bnVtXS5hdHRycyk7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfZ3B0X3NldF9wYXJ0aXRpb25fYXR0cnM6CisgKiBAY3h0OiBjb250ZXh0CisgKiBAcGFydG51bTogcGFydGl0aW9uIG51bWJlcgorICogQGF0dHJzOiBHUFQgcGFydGl0aW9uIGF0dHJpYnV0ZXMKKyAqCisgKiBTZXRzIHRoZSBHUFQgcGFydGl0aW9uIGF0dHJpYnV0ZXMgZmllbGQgdG8gQGF0dHJzLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19ncHRfc2V0X3BhcnRpdGlvbl9hdHRycygKKwkJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJc2l6ZV90IHBhcnRudW0sCisJCXVpbnQ2NF90IGF0dHJzKQoreworCXN0cnVjdCBmZGlza19ncHRfbGFiZWwgKmdwdDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBHUFQpKTsKKworCURCRyhMQUJFTCwgdWxfZGVidWcoIkdQVCBlbnRyeSBhdHRyaWJ1dGVzIGNoYW5nZSByZXF1ZXN0ZWQgcGFydG5vPSV6dSIsIHBhcnRudW0pKTsKKwlncHQgPSBzZWxmX2xhYmVsKGN4dCk7CisKKwlpZiAoKHVpbnQzMl90KSBwYXJ0bnVtID49IGxlMzJfdG9fY3B1KGdwdC0+cGhlYWRlci0+bnBhcnRpdGlvbl9lbnRyaWVzKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlncHQtPmVudHNbcGFydG51bV0uYXR0cnMgPSBjcHVfdG9fbGU2NChhdHRycyk7CisJZmRpc2tfaW5mbyhjeHQsIF8oIlRoZSBhdHRyaWJ1dGVzIG9uIHBhcnRpdGlvbiAlenUgY2hhbmdlZCB0byAweCUwMTYiIFBSSXg2NCAiLiIpLAorCQkJcGFydG51bSArIDEsIGF0dHJzKTsKKworCWdwdF9yZWNvbXB1dGVfY3JjKGdwdC0+cGhlYWRlciwgZ3B0LT5lbnRzKTsKKwlncHRfcmVjb21wdXRlX2NyYyhncHQtPmJoZWFkZXIsIGdwdC0+ZW50cyk7CisJZmRpc2tfbGFiZWxfc2V0X2NoYW5nZWQoY3h0LT5sYWJlbCwgMSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZ3B0X3RvZ2dsZV9wYXJ0aXRpb25fZmxhZygKKwkJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJc2l6ZV90IGksCisJCXVuc2lnbmVkIGxvbmcgZmxhZykKK3sKKwlzdHJ1Y3QgZmRpc2tfZ3B0X2xhYmVsICpncHQ7CisJdWludDY0X3QgYXR0cnM7CisJdWludG1heF90IHRtcDsKKwljaGFyICpiaXRzOworCWNvbnN0IGNoYXIgKm5hbWUgPSBOVUxMOworCWludCBiaXQgPSAtMSwgcmM7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgR1BUKSk7CisKKwlEQkcoTEFCRUwsIHVsX2RlYnVnKCJHUFQgZW50cnkgYXR0cmlidXRlIGNoYW5nZSByZXF1ZXN0ZWQgcGFydG5vPSV6dSIsIGkpKTsKKwlncHQgPSBzZWxmX2xhYmVsKGN4dCk7CisKKwlpZiAoKHVpbnQzMl90KSBpID49IGxlMzJfdG9fY3B1KGdwdC0+cGhlYWRlci0+bnBhcnRpdGlvbl9lbnRyaWVzKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlhdHRycyA9IGdwdC0+ZW50c1tpXS5hdHRyczsKKwliaXRzID0gKGNoYXIgKikgJmF0dHJzOworCisJc3dpdGNoIChmbGFnKSB7CisJY2FzZSBHUFRfRkxBR19SRVFVSVJFRDoKKwkJYml0ID0gR1BUX0FUVFJCSVRfUkVROworCQluYW1lID0gR1BUX0FUVFJTVFJfUkVROworCQlicmVhazsKKwljYXNlIEdQVF9GTEFHX05PQkxPQ0s6CisJCWJpdCA9IEdQVF9BVFRSQklUX05PQkxPQ0s7CisJCW5hbWUgPSBHUFRfQVRUUlNUUl9OT0JMT0NLOworCQlicmVhazsKKwljYXNlIEdQVF9GTEFHX0xFR0FDWUJPT1Q6CisJCWJpdCA9IEdQVF9BVFRSQklUX0xFR0FDWTsKKwkJbmFtZSA9IEdQVF9BVFRSU1RSX0xFR0FDWTsKKwkJYnJlYWs7CisJY2FzZSBHUFRfRkxBR19HVUlEU1BFQ0lGSUM6CisJCXJjID0gZmRpc2tfYXNrX251bWJlcihjeHQsIDQ4LCA0OCwgNjMsIF8oIkVudGVyIEdVSUQgc3BlY2lmaWMgYml0IiksICZ0bXApOworCQlpZiAocmMpCisJCQlyZXR1cm4gcmM7CisJCWJpdCA9IHRtcDsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJLyogYWxyZWFkeSBzcGVjaWZpZWQgUFRfRkxBR19HVUlEU1BFQ0lGSUMgYml0ICovCisJCWlmIChmbGFnID49IDQ4ICYmIGZsYWcgPD0gNjMpIHsKKwkJCWJpdCA9IGZsYWc7CisJCQlmbGFnID0gR1BUX0ZMQUdfR1VJRFNQRUNJRklDOworCQl9CisJCWJyZWFrOworCX0KKworCWlmIChiaXQgPCAwKSB7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiZmFpbGVkIHRvIHRvZ2dsZSB1bnN1cHBvcnRlZCBiaXQgJWx1IiksIGZsYWcpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlpZiAoIWlzc2V0KGJpdHMsIGJpdCkpCisJCXNldGJpdChiaXRzLCBiaXQpOworCWVsc2UKKwkJY2xyYml0KGJpdHMsIGJpdCk7CisKKwlncHQtPmVudHNbaV0uYXR0cnMgPSBhdHRyczsKKworCWlmIChmbGFnID09IEdQVF9GTEFHX0dVSURTUEVDSUZJQykKKwkJZmRpc2tfaW5mbyhjeHQsIGlzc2V0KGJpdHMsIGJpdCkgPworCQkJXygiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIikgOgorCQkJXygiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIpLAorCQkJYml0LCBpICsgMSk7CisJZWxzZQorCQlmZGlza19pbmZvKGN4dCwgaXNzZXQoYml0cywgYml0KSA/CisJCQlfKCJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIpIDoKKwkJCV8oIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIpLAorCQkJbmFtZSwgaSArIDEpOworCisJZ3B0X3JlY29tcHV0ZV9jcmMoZ3B0LT5waGVhZGVyLCBncHQtPmVudHMpOworCWdwdF9yZWNvbXB1dGVfY3JjKGdwdC0+YmhlYWRlciwgZ3B0LT5lbnRzKTsKKwlmZGlza19sYWJlbF9zZXRfY2hhbmdlZChjeHQtPmxhYmVsLCAxKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBncHRfZW50cnlfY21wX3N0YXJ0KGNvbnN0IHZvaWQgKmEsIGNvbnN0IHZvaWQgKmIpCit7CisJc3RydWN0IGdwdF9lbnRyeSAqYWUgPSAoc3RydWN0IGdwdF9lbnRyeSAqKSBhLAorCQkJICpiZSA9IChzdHJ1Y3QgZ3B0X2VudHJ5ICopIGI7CisJaW50IGF1ID0gcGFydGl0aW9uX3VudXNlZChhZSksCisJICAgIGJ1ID0gcGFydGl0aW9uX3VudXNlZChiZSk7CisKKwlpZiAoYXUgJiYgYnUpCisJCXJldHVybiAwOworCWlmIChhdSkKKwkJcmV0dXJuIDE7CisJaWYgKGJ1KQorCQlyZXR1cm4gLTE7CisKKwlyZXR1cm4gY21wX251bWJlcnMoZ3B0X3BhcnRpdGlvbl9zdGFydChhZSksIGdwdF9wYXJ0aXRpb25fc3RhcnQoYmUpKTsKK30KKworLyogc29ydCBwYXJ0aXRpb24gYnkgc3RhcnQgc2VjdG9yICovCitzdGF0aWMgaW50IGdwdF9yZW9yZGVyKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IGZkaXNrX2dwdF9sYWJlbCAqZ3B0OworCXNpemVfdCBpLCBucGFydHMsIG1lc3M7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgR1BUKSk7CisKKwlncHQgPSBzZWxmX2xhYmVsKGN4dCk7CisJbnBhcnRzID0gbGUzMl90b19jcHUoZ3B0LT5waGVhZGVyLT5ucGFydGl0aW9uX2VudHJpZXMpOworCisJZm9yIChpID0gMCwgbWVzcyA9IDA7IG1lc3MgPT0gMCAmJiBpICsgMSA8IG5wYXJ0czsgaSsrKQorCQltZXNzID0gZ3B0X2VudHJ5X2NtcF9zdGFydCgKKwkJCQkoY29uc3Qgdm9pZCAqKSAmZ3B0LT5lbnRzW2ldLAorCQkJCShjb25zdCB2b2lkICopICZncHQtPmVudHNbaSArIDFdKSA+IDA7CisKKwlpZiAoIW1lc3MpIHsKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIk5vdGhpbmcgdG8gZG8uIE9yZGVyaW5nIGlzIGNvcnJlY3QgYWxyZWFkeS4iKSk7CisJCXJldHVybiAxOworCX0KKworCXFzb3J0KGdwdC0+ZW50cywgbnBhcnRzLCBzaXplb2Yoc3RydWN0IGdwdF9lbnRyeSksCisJCQlncHRfZW50cnlfY21wX3N0YXJ0KTsKKworCWdwdF9yZWNvbXB1dGVfY3JjKGdwdC0+cGhlYWRlciwgZ3B0LT5lbnRzKTsKKwlncHRfcmVjb21wdXRlX2NyYyhncHQtPmJoZWFkZXIsIGdwdC0+ZW50cyk7CisJZmRpc2tfbGFiZWxfc2V0X2NoYW5nZWQoY3h0LT5sYWJlbCwgMSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBncHRfcmVzZXRfYWxpZ25tZW50KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IGZkaXNrX2dwdF9sYWJlbCAqZ3B0OworCXN0cnVjdCBncHRfaGVhZGVyICpoOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIEdQVCkpOworCisJZ3B0ID0gc2VsZl9sYWJlbChjeHQpOworCWggPSBncHQgPyBncHQtPnBoZWFkZXIgOiBOVUxMOworCisJaWYgKGgpIHsKKwkJLyogYWx3YXlzIGZvbGxvdyBleGlzdGluZyB0YWJsZSAqLworCQljeHQtPmZpcnN0X2xiYSA9IGxlNjRfdG9fY3B1KGgtPmZpcnN0X3VzYWJsZV9sYmEpOworCQljeHQtPmxhc3RfbGJhICA9IGxlNjRfdG9fY3B1KGgtPmxhc3RfdXNhYmxlX2xiYSk7CisJfSBlbHNlIHsKKwkJLyogZXN0aW1hdGUgcmFuZ2VzIGZvciBHUFQgKi8KKwkJdWludDY0X3QgZmlyc3QsIGxhc3Q7CisKKwkJY291bnRfZmlyc3RfbGFzdF9sYmEoY3h0LCAmZmlyc3QsICZsYXN0KTsKKworCQlpZiAoY3h0LT5maXJzdF9sYmEgPCBmaXJzdCkKKwkJCWN4dC0+Zmlyc3RfbGJhID0gZmlyc3Q7CisJCWlmIChjeHQtPmxhc3RfbGJhID4gbGFzdCkKKwkJCWN4dC0+bGFzdF9sYmEgPSBsYXN0OworCX0KKworCXJldHVybiAwOworfQorLyoKKyAqIERlaW5pdGlhbGl6ZSBmZGlzay1zcGVjaWZpYyB2YXJpYWJsZXMKKyAqLworc3RhdGljIHZvaWQgZ3B0X2RlaW5pdChzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiKQoreworCXN0cnVjdCBmZGlza19ncHRfbGFiZWwgKmdwdCA9IChzdHJ1Y3QgZmRpc2tfZ3B0X2xhYmVsICopIGxiOworCisJaWYgKCFncHQpCisJCXJldHVybjsKKworCWZyZWUoZ3B0LT5lbnRzKTsKKwlmcmVlKGdwdC0+cGhlYWRlcik7CisJZnJlZShncHQtPmJoZWFkZXIpOworCisJZ3B0LT5lbnRzID0gTlVMTDsKKwlncHQtPnBoZWFkZXIgPSBOVUxMOworCWdwdC0+YmhlYWRlciA9IE5VTEw7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWxfb3BlcmF0aW9ucyBncHRfb3BlcmF0aW9ucyA9Cit7CisJLnByb2JlCQk9IGdwdF9wcm9iZV9sYWJlbCwKKwkud3JpdGUJCT0gZ3B0X3dyaXRlX2Rpc2tsYWJlbCwKKwkudmVyaWZ5CQk9IGdwdF92ZXJpZnlfZGlza2xhYmVsLAorCS5jcmVhdGUJCT0gZ3B0X2NyZWF0ZV9kaXNrbGFiZWwsCisJLmxvY2F0ZQkJPSBncHRfbG9jYXRlX2Rpc2tsYWJlbCwKKwkuZ2V0X2l0ZW0JPSBncHRfZ2V0X2Rpc2tsYWJlbF9pdGVtLAorCS5zZXRfaWQJCT0gZ3B0X3NldF9kaXNrbGFiZWxfaWQsCisKKwkuZ2V0X3BhcnQJPSBncHRfZ2V0X3BhcnRpdGlvbiwKKwkuc2V0X3BhcnQJPSBncHRfc2V0X3BhcnRpdGlvbiwKKwkuYWRkX3BhcnQJPSBncHRfYWRkX3BhcnRpdGlvbiwKKwkuZGVsX3BhcnQJPSBncHRfZGVsZXRlX3BhcnRpdGlvbiwKKwkucmVvcmRlcgk9IGdwdF9yZW9yZGVyLAorCisJLnBhcnRfaXNfdXNlZAk9IGdwdF9wYXJ0X2lzX3VzZWQsCisJLnBhcnRfdG9nZ2xlX2ZsYWcgPSBncHRfdG9nZ2xlX3BhcnRpdGlvbl9mbGFnLAorCisJLmRlaW5pdAkJPSBncHRfZGVpbml0LAorCisJLnJlc2V0X2FsaWdubWVudCA9IGdwdF9yZXNldF9hbGlnbm1lbnQKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmRpc2tfZmllbGQgZ3B0X2ZpZWxkc1tdID0KK3sKKwkvKiBiYXNpYyAqLworCXsgRkRJU0tfRklFTERfREVWSUNFLAlOXygiRGV2aWNlIiksCSAxMCwJMCB9LAorCXsgRkRJU0tfRklFTERfU1RBUlQsCU5fKCJTdGFydCIpLAkgIDUsCUZESVNLX0ZJRUxERkxfTlVNQkVSIH0sCisJeyBGRElTS19GSUVMRF9FTkQsCU5fKCJFbmQiKSwJICA1LAlGRElTS19GSUVMREZMX05VTUJFUiB9LAorCXsgRkRJU0tfRklFTERfU0VDVE9SUywJTl8oIlNlY3RvcnMiKSwJICA1LAlGRElTS19GSUVMREZMX05VTUJFUiB9LAorCXsgRkRJU0tfRklFTERfU0laRSwJTl8oIlNpemUiKSwJICA1LAlGRElTS19GSUVMREZMX05VTUJFUiB8IEZESVNLX0ZJRUxERkxfRVlFQ0FORFkgfSwKKwl7IEZESVNLX0ZJRUxEX1RZUEUsCU5fKCJUeXBlIiksCTAuMSwJRkRJU0tfRklFTERGTF9FWUVDQU5EWSB9LAorCS8qIGV4cGVydCAqLworCXsgRkRJU0tfRklFTERfVFlQRUlELAlOXygiVHlwZS1VVUlEIiksIDM2LAlGRElTS19GSUVMREZMX0RFVEFJTCB9LAorCXsgRkRJU0tfRklFTERfVVVJRCwJTl8oIlVVSUQiKSwJIDM2LAlGRElTS19GSUVMREZMX0RFVEFJTCB9LAorCXsgRkRJU0tfRklFTERfTkFNRSwJTl8oIk5hbWUiKSwJMC4yLAlGRElTS19GSUVMREZMX0RFVEFJTCB9LAorCXsgRkRJU0tfRklFTERfQVRUUiwJTl8oIkF0dHJzIiksCSAgMCwJRkRJU0tfRklFTERGTF9ERVRBSUwgfQorfTsKKworLyoKKyAqIGFsbG9jYXRlcyBHUFQgaW4tbWVtb3J5IHN0dWZmCisgKi8KK3N0cnVjdCBmZGlza19sYWJlbCAqZmRpc2tfbmV3X2dwdF9sYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBmZGlza19sYWJlbCAqbGI7CisJc3RydWN0IGZkaXNrX2dwdF9sYWJlbCAqZ3B0OworCisJYXNzZXJ0KGN4dCk7CisKKwlncHQgPSBjYWxsb2MoMSwgc2l6ZW9mKCpncHQpKTsKKwlpZiAoIWdwdCkKKwkJcmV0dXJuIE5VTEw7CisKKwkvKiBpbml0aWFsaXplIGdlbmVyaWMgcGFydCBvZiB0aGUgZHJpdmVyICovCisJbGIgPSAoc3RydWN0IGZkaXNrX2xhYmVsICopIGdwdDsKKwlsYi0+bmFtZSA9ICJncHQiOworCWxiLT5pZCA9IEZESVNLX0RJU0tMQUJFTF9HUFQ7CisJbGItPm9wID0gJmdwdF9vcGVyYXRpb25zOworCWxiLT5wYXJ0dHlwZXMgPSBncHRfcGFydHR5cGVzOworCWxiLT5ucGFydHR5cGVzID0gQVJSQVlfU0laRShncHRfcGFydHR5cGVzKTsKKworCWxiLT5maWVsZHMgPSBncHRfZmllbGRzOworCWxiLT5uZmllbGRzID0gQVJSQVlfU0laRShncHRfZmllbGRzKTsKKworCXJldHVybiBsYjsKK30KKworI2lmZGVmIFRFU1RfUFJPR1JBTQorc3RhdGljIGludCB0ZXN0X2dldGF0dHIoc3RydWN0IGZkaXNrX3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNvbnN0IGNoYXIgKmRpc2sgPSBhcmd2WzFdOworCXNpemVfdCBwYXJ0ID0gc3RydG91bChhcmd2WzJdLCBOVUxMLCAwKSAtIDE7CisJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dDsKKwl1aW50NjRfdCBhdHRlcnMgPSAwOworCisJY3h0ID0gZmRpc2tfbmV3X2NvbnRleHQoKTsKKwlmZGlza19hc3NpZ25fZGV2aWNlKGN4dCwgZGlzaywgMSk7CisKKwlpZiAoIWZkaXNrX2lzX2xhYmVsKGN4dCwgR1BUKSkKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKworCWlmIChmZGlza19ncHRfZ2V0X3BhcnRpdGlvbl9hdHRycyhjeHQsIHBhcnQsICZhdHRlcnMpKQorCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCisJcHJpbnRmKCIlczogMHglMDE2IiBQUkl4NjQgIlxuIiwgYXJndlsyXSwgYXR0ZXJzKTsKKworCWZkaXNrX3VucmVmX2NvbnRleHQoY3h0KTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB0ZXN0X3NldGF0dHIoc3RydWN0IGZkaXNrX3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNvbnN0IGNoYXIgKmRpc2sgPSBhcmd2WzFdOworCXNpemVfdCBwYXJ0ID0gc3RydG91bChhcmd2WzJdLCBOVUxMLCAwKSAtIDE7CisJdWludDY0X3QgYXR0ZXJzID0gc3RydG91bGwoYXJndlszXSwgTlVMTCwgMCk7CisJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dDsKKworCWN4dCA9IGZkaXNrX25ld19jb250ZXh0KCk7CisJZmRpc2tfYXNzaWduX2RldmljZShjeHQsIGRpc2ssIDApOworCisJaWYgKCFmZGlza19pc19sYWJlbChjeHQsIEdQVCkpCisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisKKwlpZiAoZmRpc2tfZ3B0X3NldF9wYXJ0aXRpb25fYXR0cnMoY3h0LCBwYXJ0LCBhdHRlcnMpKQorCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCisJaWYgKGZkaXNrX3dyaXRlX2Rpc2tsYWJlbChjeHQpKQorCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCisJZmRpc2tfdW5yZWZfY29udGV4dChjeHQpOworCXJldHVybiAwOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBmZGlza190ZXN0IHRzc1tdID0geworCQl7ICItLWdldGF0dHIiLCAgdGVzdF9nZXRhdHRyLCAgIjxkaXNrPiA8cGFydGl0aW9uPiAgICAgICAgICAgICBwcmludCBhdHRyaWJ1dGVzIiB9LAorCQl7ICItLXNldGF0dHIiLCAgdGVzdF9zZXRhdHRyLCAgIjxkaXNrPiA8cGFydGl0aW9uPiA8dmFsdWU+ICAgICBzZXQgYXR0cmlidXRlcyIgfSwKKwkJeyBOVUxMIH0KKwl9OworCisJcmV0dXJuIGZkaXNrX3J1bl90ZXN0KHRzcywgYXJnYywgYXJndik7Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliZmRpc2svc3JjL2luaXQuYyBiL2xpYmZkaXNrL3NyYy9pbml0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDM4ZGViNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmZkaXNrL3NyYy9pbml0LmMKQEAgLTAsMCArMSw1NyBAQAorCisjaW5jbHVkZSAiZmRpc2tQLmgiCisKKworLyoqCisgKiBTRUNUSU9OOiBpbml0CisgKiBAdGl0bGU6IExpYnJhcnkgaW5pdGlhbGl6YXRpb24KKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogaW5pdGlhbGl6ZSBkZWJ1ZyBzdHVmZgorICoKKyAqLworCitVTF9ERUJVR19ERUZJTkVfTUFTSyhsaWJmZGlzayk7CitVTF9ERUJVR19ERUZJTkVfTUFTS05BTUVTKGxpYmZkaXNrKSA9Cit7CisJeyAiYWxsIiwJTElCRkRJU0tfREVCVUdfQUxMLAkiaW5mbyBhYm91dCBhbGwgc3Vic3lzdGVtcyIgfSwKKwl7ICJhc2siLAlMSUJGRElTS19ERUJVR19BU0ssCSJmZGlzayBkaWFsb2dzIiB9LAorCXsgImhlbHAiLAlMSUJGRElTS19ERUJVR19IRUxQLAkidGhpcyBoZWxwIiB9LAorCXsgImN4dCIsCUxJQkZESVNLX0RFQlVHX0NYVCwJImxpYnJhcnkgY29udGV4dCAoaGFuZGxlcikiIH0sCisJeyAibGFiZWwiLAlMSUJGRElTS19ERUJVR19MQUJFTCwJImRpc2sgbGFiZWwgdXRpbHMiIH0sCisJeyAicGFydCIsCUxJQkZESVNLX0RFQlVHX1BBUlQsCSJwYXJ0aXRpb24gdXRpbHMiIH0sCisJeyAicGFydHR5cGUiLAlMSUJGRElTS19ERUJVR19QQVJUVFlQRSwicGFydGl0aW9uIHR5cGUgdXRpbHMiIH0sCisJeyAic2NyaXB0IiwJTElCRkRJU0tfREVCVUdfU0NSSVBULAkic2ZkaXNrLWxpa2Ugc2NyaXB0cyIgfSwKKwl7ICJ0YWIiLAlMSUJGRElTS19ERUJVR19UQUIsCSJ0YWJsZSB1dGlscyJ9LAorCXsgIndpcGUiLCAgICAgICBMSUJGRElTS19ERUJVR19XSVBFLCAgICAid2lwZSBhcmVhIHV0aWxzIiB9LAorCXsgIml0ZW0iLCAgICAgICBMSUJGRElTS19ERUJVR19XSVBFLCAgICAiZGlza2xhYmVsIGl0ZW1zIiB9LAorCXsgTlVMTCwgMCB9Cit9OworCisvKioKKyAqIGZkaXNrX2luaXRfZGVidWc6CisgKiBAbWFzazogZGVidWcgbWFzayAoMHhmZmZmIHRvIGVuYWJsZSBmdWxsIGRlYnVnZ2luZykKKyAqCisgKiBJZiB0aGUgQG1hc2sgaXMgbm90IHNwZWNpZmllZCB0aGVuIHRoaXMgZnVuY3Rpb24gcmVhZHMKKyAqIExJQkZESVNLX0RFQlVHIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIGdldCB0aGUgbWFzay4KKyAqCisgKiBBbHJlYWR5IGluaXRpYWxpemVkIGRlYnVnZ2luZyBzdHVmZiBjYW5ub3QgYmUgY2hhbmdlZC4gSXQgZG9lcyBub3QKKyAqIGhhdmUgZWZmZWN0IHRvIGNhbGwgdGhpcyBmdW5jdGlvbiB0d2ljZS4KKyAqCisgKiBJdCdzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvIHVzZSBmZGlza19pbml0X2RlYnVnKDApIGluIHlvdXIgY29kZS4KKyAqLwordm9pZCBmZGlza19pbml0X2RlYnVnKGludCBtYXNrKQoreworCWlmIChsaWJmZGlza19kZWJ1Z19tYXNrKQorCQlyZXR1cm47CisKKwlfX1VMX0lOSVRfREVCVUcobGliZmRpc2ssIExJQkZESVNLX0RFQlVHXywgbWFzaywgTElCRkRJU0tfREVCVUcpOworCisKKwlpZiAobGliZmRpc2tfZGVidWdfbWFzayAhPSBMSUJGRElTS19ERUJVR19JTklUCisJICAgICYmIGxpYmZkaXNrX2RlYnVnX21hc2sgIT0gKExJQkZESVNLX0RFQlVHX0hFTFB8TElCRkRJU0tfREVCVUdfSU5JVCkpIHsKKworCQlEQkcoSU5JVCwgdWxfZGVidWcoImxpYnJhcnkgZGVidWcgbWFzazogMHglMDR4IiwgbGliZmRpc2tfZGVidWdfbWFzaykpOworCX0KKworCU9OX0RCRyhIRUxQLCB1bF9kZWJ1Z19wcmludF9tYXNrcygiTElCRkRJU0tfREVCVUciLAorCQkJCVVMX0RFQlVHX01BU0tOQU1FUyhsaWJmZGlzaykpKTsKK30KZGlmZiAtLWdpdCBhL2xpYmZkaXNrL3NyYy9pdGVtLmMgYi9saWJmZGlzay9zcmMvaXRlbS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjOTgyMjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJmZGlzay9zcmMvaXRlbS5jCkBAIC0wLDAgKzEsMjUyIEBACisKKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorCisjaW5jbHVkZSAiZmRpc2tQLmgiCisKKy8qKgorICogU0VDVElPTjogaXRlbQorICogQHRpdGxlOiBMYWJlbGl0ZW0KKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogZGlzayBsYWJlbCBpdGVtcworICoKKyAqIFRoZSBsYWJlbGl0ZW0gaXMgbGFiZWwgc3BlY2lmaWMgaXRlbXMgc3RvcmVkIGluIHRoZSBwYXJ0aXRpb24gdGFibGUgaGVhZGVyLgorICogVGhlIGluZm9ybWF0aW9uIHByb3ZpZGVkIGJ5IGxhYmVsaXRlbXMgYXJlIG5vdCBzcGVjaWZpYyB0byB0aGUgcGFydGl0aW9ucy4KKyAqCisgKiBGb3IgZXhhbXBsZQorICoKKyAqIDxpbmZvcm1hbGV4YW1wbGU+CisgKiAgPHByb2dyYW1saXN0aW5nPgorICoJc3RydWN0IGZkaXNrX2xhYmVsaXRlbSAqaXRlbSA9IGZkaXNrX25ld19sYWJlbGl0ZW0oKTsKKyAqCisgKglmZGlza19nZXRfZGlza2xhYmVsX2l0ZW0oY3h0LCBHUFRfTEFCRUxJVEVNX0FMVExCQSwgaXRlbSk7CisgKglwcmludCgiQmFja3VwIGhlYWRlciBMQkE6ICVqdVxuIiwgZmRpc2tfbGFiZWxpdGVtX2dldF9kYXRhX3U2NChpdGVtKSk7CisgKgorICoJZmRpc2tfdW5yZWZfbGFiZWxpdGVtKGl0ZW0pOworICogIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKyAqCisgKiByZXR1cm5zIExCQSBvZiB0aGUgYWx0ZXJuYXRpdmUgR1BUIGhlYWRlci4KKyAqCisgKiBTZWUgYWxzbyBmZGlza19nZXRfZGlza2xhYmVsX2l0ZW0oKS4gVGhlIElEcyBhcmUgZ2VuZXJpYyAoZS5nLgorICogRkRJU0tfTEFCRUxfSVRFTV8qKSBhbmQgbGFiZWwgc3BlY2lmaWMgKChlLmcuIEdQVF9MQUJFTElURU1fKikuCisgKi8KKworLyoqCisgKiBmZGlza19uZXdfbGFiZWxpdGVtCisgKgorICogUmV0dXJuczogbmV3IGluc3RhbmNlLgorICogU2luY2U6IDIuMjkKKyAqLworc3RydWN0IGZkaXNrX2xhYmVsaXRlbSAqZmRpc2tfbmV3X2xhYmVsaXRlbSh2b2lkKQoreworCXN0cnVjdCBmZGlza19sYWJlbGl0ZW0gKmxpID0gY2FsbG9jKDEsIHNpemVvZigqbGkpKTsKKworCWxpLT5yZWZjb3VudCA9IDE7CisJREJHKElURU0sIHVsX2RlYnVnb2JqKGxpLCAiYWxsb2MiKSk7CisJcmV0dXJuIGxpOworfQorCisvKioKKyAqIGZkaXNrX3JlZl9sYWJlbGl0ZW06CisgKiBAbGk6IGxhYmVsIGl0ZW0KKyAqCisgKiBJbmNyZW1lbnRzIHJlZmVyZW5jZSBjb3VudGVyLgorICogU2luY2U6IDIuMjkKKyAqLwordm9pZCBmZGlza19yZWZfbGFiZWxpdGVtKHN0cnVjdCBmZGlza19sYWJlbGl0ZW0gKmxpKQoreworCWlmIChsaSkgeworCQkvKiBtZSBzdXJlIHdlIGRvIG5vdCB1c2UgcmVmY291dGluZyBmb3Igc3RhdGljIGl0ZW1zICovCisJCWFzc2VydChsaS0+cmVmY291bnQgPiAwKTsKKwkJbGktPnJlZmNvdW50Kys7CisJfQorfQorCisvKioKKyAqIGZkaXNrX3Jlc2V0X2xhYmVsaXRlbToKKyAqIEBsaTogbGFiZWwgaXRlbQorICoKKyAqIFplcm9pemUgZGF0YSBzdG9yZWQgaW4gdGhlIEBsaSAoZG9lcyBub3QgbW9kaWZ5IGFueXRoaW5nIGluIGRpc2sgbGFiZWwpLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2Vzcywgb3IgPDAgaW4gY2FzZSBvZiBlcnJvcgorICogU2luY2U6IDIuMjkKKyAqLworaW50IGZkaXNrX3Jlc2V0X2xhYmVsaXRlbShzdHJ1Y3QgZmRpc2tfbGFiZWxpdGVtICpsaSkKK3sKKwlpbnQgcmVmY291bnQ7CisKKwlpZiAoIWxpKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAobGktPnR5cGUgPT0gJ3MnKQorCQlmcmVlKGxpLT5kYXRhLnN0cik7CisKKwlyZWZjb3VudCA9IGxpLT5yZWZjb3VudDsKKwltZW1zZXQobGksIDAsIHNpemVvZigqbGkpKTsKKwlsaS0+cmVmY291bnQgPSByZWZjb3VudDsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza191bnJlZl9sYWJlbGl0ZW06CisgKiBAbGk6IGxhYmVsIGl0ZW0KKyAqCisgKiBEZWNyZW1lbnRzIHJlZmVyZW5jZSBjb3VudGVyLCBvbiB6ZXJvIHRoZSBAbGkgaXMgYXV0b21hdGljYWxseQorICogZGVhbGxvY2F0ZWQuCisgKgorICogU2luY2U6IDIuMjkKKyAqLwordm9pZCBmZGlza191bnJlZl9sYWJlbGl0ZW0oc3RydWN0IGZkaXNrX2xhYmVsaXRlbSAqbGkpCit7CisJaWYgKCFsaSkKKwkJcmV0dXJuOworCisJLyogbWUgc3VyZSB3ZSBkbyBub3QgdXNlIHJlZmNvdXRpbmcgZm9yIHN0YXRpYyBpdGVtcyAqLworCWFzc2VydChsaS0+cmVmY291bnQgPiAwKTsKKworCWxpLT5yZWZjb3VudC0tOworCWlmIChsaS0+cmVmY291bnQgPD0gMCkgeworCQlEQkcoSVRFTSwgdWxfZGVidWdvYmoobGksICJmcmVlIikpOworCQlmZGlza19yZXNldF9sYWJlbGl0ZW0obGkpOworCQlmcmVlKGxpKTsKKwl9Cit9CisKKy8qKgorICogZmRpc2tfbGFiZWxpdGVtX2dldF9uYW1lOgorICogQGxpOiBsYWJlbCBpdGVtCisgKgorICogUmV0dXJuczogaXRlbSBuYW1lIG9yIE5VTEwuCisgKiBTaW5jZTogMi4yOQorICovCitjb25zdCBjaGFyICpmZGlza19sYWJlbGl0ZW1fZ2V0X25hbWUoc3RydWN0IGZkaXNrX2xhYmVsaXRlbSAqbGkpCit7CisJcmV0dXJuIGxpID8gbGktPm5hbWUgOiBOVUxMOworfQorCisvKioKKyAqIGZkaXNrX2xhYmVsaXRlbV9nZXRfaWQ6CisgKiBAbGk6IGxhYmVsIGl0ZW0KKyAqCisgKiBSZXR1cm5zOiBpdGVtIElkIG9yIDwwIGluIGNhc2Ugb2YgZXJyb3IuCisgKiBTaW5jZTogMi4yOQorICovCitpbnQgZmRpc2tfbGFiZWxpdGVtX2dldF9pZChzdHJ1Y3QgZmRpc2tfbGFiZWxpdGVtICpsaSkKK3sKKwlyZXR1cm4gbGkgPyBsaS0+aWQgOiAtRUlOVkFMOworfQorCisKKy8qKgorICogZmRpc2tfbGFiZWxpdGVtX2dldF9kYXRhX3U2NDoKKyAqIEBsaTogbGFiZWwgaXRlbQorICogQGRhdGE6IHJldHVybnMgZGF0YQorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IKKyAqIFNpbmNlOiAyLjI5CisgKi8KK2ludCBmZGlza19sYWJlbGl0ZW1fZ2V0X2RhdGFfdTY0KHN0cnVjdCBmZGlza19sYWJlbGl0ZW0gKmxpLCB1aW50NjRfdCAqZGF0YSkKK3sKKwlpZiAoIWxpIHx8IGxpLT50eXBlICE9ICdqJykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoZGF0YSkKKwkJKmRhdGEgPSBsaS0+ZGF0YS5udW02NDsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19sYWJlbGl0ZW1fZ2V0X2RhdGFfc3RyaW5nOgorICogQGxpOiBsYWJlbCBpdGVtCisgKiBAZGF0YTogcmV0dXJucyBkYXRhCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqIFNpbmNlOiAyLjI5CisgKi8KK2ludCBmZGlza19sYWJlbGl0ZW1fZ2V0X2RhdGFfc3RyaW5nKHN0cnVjdCBmZGlza19sYWJlbGl0ZW0gKmxpLCBjb25zdCBjaGFyICoqZGF0YSkKK3sKKwlpZiAoIWxpIHx8IGxpLT50eXBlICE9ICdzJykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoZGF0YSkKKwkJKmRhdGEgPSBsaS0+ZGF0YS5zdHI7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfbGFiZWxpdGVtX2lzX3N0cmluZzoKKyAqIEBsaTogbGFiZWwgaXRlbQorICoKKyAqIFJldHVybnM6IDAgb3IgMQorICogU2luY2U6IDIuMjkKKyAqLworaW50IGZkaXNrX2xhYmVsaXRlbV9pc19zdHJpbmcoc3RydWN0IGZkaXNrX2xhYmVsaXRlbSAqbGkpCit7CisJcmV0dXJuIGxpICYmIGxpLT50eXBlID09ICdzJzsKK30KKworLyoqCisgKiBmZGlza19sYWJlbGl0ZW1faXNfbnVtYmVyOgorICogQGxpOiBsYWJlbCBpdGVtCisgKgorICogUmV0dXJuczogMCBvciAxCisgKiBTaW5jZTogMi4yOQorICovCitpbnQgZmRpc2tfbGFiZWxpdGVtX2lzX251bWJlcihzdHJ1Y3QgZmRpc2tfbGFiZWxpdGVtICpsaSkKK3sKKwlyZXR1cm4gbGkgJiYgbGktPnR5cGUgPT0gJ2onOworfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNCitzdGF0aWMgaW50IHRlc3RfbGlzdGl0ZW1zKHN0cnVjdCBmZGlza190ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwljb25zdCBjaGFyICpkaXNrID0gYXJndlsxXTsKKwlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0OworCXN0cnVjdCBmZGlza19sYWJlbGl0ZW0gKml0ZW07CisJaW50IGkgPSAwLCByYzsKKworCWN4dCA9IGZkaXNrX25ld19jb250ZXh0KCk7CisJaXRlbSA9IGZkaXNrX25ld19sYWJlbGl0ZW0oKTsKKworCWZkaXNrX2Fzc2lnbl9kZXZpY2UoY3h0LCBkaXNrLCAxKTsKKworCWRvIHsKKwkJcmMgPSBmZGlza19nZXRfZGlza2xhYmVsX2l0ZW0oY3h0LCBpKyssIGl0ZW0pOworCQlzd2l0Y2ggKHJjKSB7CisJCWNhc2UgMDoJLyogc3VjY2VzcyAqLworCQl7CisJCQljb25zdCBjaGFyICpuYW1lID0gZmRpc2tfbGFiZWxpdGVtX2dldF9uYW1lKGl0ZW0pOworCQkJY29uc3QgY2hhciAqc3RyOworCQkJdWludDY0X3QgbnVtOworCisJCQlpZiAoZmRpc2tfbGFiZWxpdGVtX2lzX3N0cmluZyhpdGVtKQorCQkJICAgICYmIGZkaXNrX2xhYmVsaXRlbV9nZXRfZGF0YV9zdHJpbmcoaXRlbSwgJnN0cikgPT0gMCkKKwkJCQlwcmludGYoIiVzOiAlc1xuIiwgbmFtZSwgc3RyKTsKKwkJCWVsc2UgaWYgKGZkaXNrX2xhYmVsaXRlbV9nZXRfZGF0YV91NjQoaXRlbSwgJm51bSkgPT0gMCkKKwkJCQlwcmludGYoIiVzOiAlIlBSSXU2NCJcbiIsIG5hbWUsIG51bSk7CisJCQlicmVhazsKKwkJfQorCQljYXNlIDE6IC8qIGl0ZW0gdW5zdXBvcnRlZCBieSBsYWJlbCAtLSBpZ25vcmUgKi8KKwkJCXJjID0gMDsKKwkJCWJyZWFrOworCQljYXNlIDI6CS8qIGVuZCAob3V0IG9mIHJhbmdlKSAqLworCQkJYnJlYWs7CisJCWRlZmF1bHQ6IC8qIGVycm9yICovCisJCQlicmVhazsKKwkJfQorCX0gd2hpbGUgKHJjID09IDApOworCisJZmRpc2tfdW5yZWZfbGFiZWxpdGVtKGl0ZW0pOworCWZkaXNrX3VucmVmX2NvbnRleHQoY3h0KTsKKwlyZXR1cm4gcmMgPCAwID8gcmMgOiAwOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBmZGlza190ZXN0IHRzc1tdID0geworCQl7ICItLWxpc3QtaXRlbXMiLCAgdGVzdF9saXN0aXRlbXMsICAiPGRpc2s+ICAgICAgICAgICAgIGxpc3QgaXRlbXMiIH0sCisJCXsgTlVMTCB9CisJfTsKKworCXJldHVybiBmZGlza19ydW5fdGVzdCh0c3MsIGFyZ2MsIGFyZ3YpOworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmZkaXNrL3NyYy9pdGVyLmMgYi9saWJmZGlzay9zcmMvaXRlci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhMGIwODAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJmZGlzay9zcmMvaXRlci5jCkBAIC0wLDAgKzEsODIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisvKioKKyAqIFNFQ1RJT046IGl0ZXIKKyAqIEB0aXRsZTogSXRlcmF0b3IKKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogdW5pZmllZCBpdGVyYXRvcgorICoKKyAqIFRoZSBpdGVyYXRvciBrZWVwcyB0aGUgZGlyZWN0aW9uIGFuZCB0aGUgbGFzdCBwb3NpdGlvbiBmb3IgYWNjZXNzIHRvIHRoZQorICogaW50ZXJuYWwgbGlicmFyeSB0YWJsZXMvbGlzdHMuCisgKgorICogSXQncyB2ZXJ5IHVudXN1YWwgdG8gdXNlIHRoZSBzYW1lIGl0ZXJhdG9yIG9uIG11bHRpcGxlIHBsYWNlcyBpbiB5b3VyCisgKiBhcHBsaWNhdGlvbiBvciBzaGFyZSB0aGUgc2FtZSBpdGVyYXRvciwgZm9yIHRoaXMgcHVycG9zZSBsaWJmZGlzayBkb2VzIG5vdAorICogcHJvdmlkZSByZWZlcmVuY2UgY291bnRpbmcgZm9yIHRoaXMgb2JqZWN0LiBJdCdzIHJlY29tbWVuZGVkIHRvIGluaXRpYWxpemUKKyAqIHRoZSBpdGVyYXRvciBieSBmZGlza19uZXdfaXRlcigpIGF0IGJlZ2luIG9mIHlvdXIgZnVuY3Rpb24gYW5kIHRoZW4KKyAqIGZkaXNrX2ZyZWVfaXRlcigpIGJlZm9yZSB5b3UgcmV0dXJuIGZyb20gdGhlIGZ1bmN0aW9uLiAKKyAqCisgKiBEb24ndCBmb3JnZXQgdG8gY2FsbCBmZGlza19yZXNldF9pdGVyKCkgaWYgeW91IHdhbnQgdG8gdXNlIHRoZSBpdGVyYXRvciBtb3JlCisgKiB0aGFuIG9uY2UuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorCisjaW5jbHVkZSAiZmRpc2tQLmgiCisKKy8qKgorICogZmRpc2tfbmV3X2l0ZXI6CisgKiBAZGlyZWN0aW9uOiBGRElTS19JTlRFUl97Rk9SLEJBQ0t9V0FSRCBkaXJlY3Rpb24KKyAqCisgKiBSZXR1cm5zOiBuZXdseSBhbGxvY2F0ZWQgZ2VuZXJpYyBsaWJtb3VudCBpdGVyYXRvci4KKyAqLworc3RydWN0IGZkaXNrX2l0ZXIgKmZkaXNrX25ld19pdGVyKGludCBkaXJlY3Rpb24pCit7CisJc3RydWN0IGZkaXNrX2l0ZXIgKml0ciA9IGNhbGxvYygxLCBzaXplb2YoKml0cikpOworCWlmICghaXRyKQorCQlyZXR1cm4gTlVMTDsKKwlpdHItPmRpcmVjdGlvbiA9IGRpcmVjdGlvbjsKKwlyZXR1cm4gaXRyOworfQorCisvKioKKyAqIGZkaXNrX2ZyZWVfaXRlcjoKKyAqIEBpdHI6IGl0ZXJhdG9yIHBvaW50ZXIKKyAqCisgKiBEZWFsbG9jYXRlcyB0aGUgaXRlcmF0b3IuCisgKi8KK3ZvaWQgZmRpc2tfZnJlZV9pdGVyKHN0cnVjdCBmZGlza19pdGVyICppdHIpCit7CisJZnJlZShpdHIpOworfQorCisvKioKKyAqIGZkaXNrX3Jlc2V0X2l0ZXI6CisgKiBAaXRyOiBpdGVyYXRvciBwb2ludGVyCisgKiBAZGlyZWN0aW9uOiBGRElTS19JTlRFUl97Rk9SLEJBQ0t9V0FSRCBvciAtMSB0byBrZWVwIHRoZSBkaXJlY3Rpb24gdW5jaGFuZ2VkCisgKgorICogUmVzZXRzIHRoZSBpdGVyYXRvci4KKyAqLwordm9pZCBmZGlza19yZXNldF9pdGVyKHN0cnVjdCBmZGlza19pdGVyICppdHIsIGludCBkaXJlY3Rpb24pCit7CisJaWYgKGRpcmVjdGlvbiA9PSAtMSkKKwkJZGlyZWN0aW9uID0gaXRyLT5kaXJlY3Rpb247CisKKwltZW1zZXQoaXRyLCAwLCBzaXplb2YoKml0cikpOworCWl0ci0+ZGlyZWN0aW9uID0gZGlyZWN0aW9uOworfQorCisvKioKKyAqIGZkaXNrX2l0ZXJfZ2V0X2RpcmVjdGlvbjoKKyAqIEBpdHI6IGl0ZXJhdG9yIHBvaW50ZXIKKyAqCisgKiBSZXR1cm5zOiBGRElTS19JTlRFUl97Rk9SLEJBQ0t9V0FSRAorICovCitpbnQgZmRpc2tfaXRlcl9nZXRfZGlyZWN0aW9uKHN0cnVjdCBmZGlza19pdGVyICppdHIpCit7CisJcmV0dXJuIGl0ci0+ZGlyZWN0aW9uOworfQpkaWZmIC0tZ2l0IGEvbGliZmRpc2svc3JjL2xhYmVsLmMgYi9saWJmZGlzay9zcmMvbGFiZWwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MmY5ZWM1Ci0tLSAvZGV2L251bGwKKysrIGIvbGliZmRpc2svc3JjL2xhYmVsLmMKQEAgLTAsMCArMSw2MjYgQEAKKworI2luY2x1ZGUgImZkaXNrUC5oIgorCisKKy8qKgorICogU0VDVElPTjogbGFiZWwKKyAqIEB0aXRsZTogTGFiZWwKKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogZGlzayBsYWJlbCAoUFQpIHNwZWNpZmljIGRhdGEgYW5kIGZ1bmN0aW9ucworICoKKyAqIFRoZSBmZGlza19uZXdfY29udGV4dCgpIGluaXRpYWxpemVzIGFsbCBsYWJlbCBkcml2ZXJzLCBhbmQgYWxsb2NhdGUKKyAqIHBlci1sYWJlbCBzcGVjaWZpYyBkYXRhIHN0cnVjdC4gVGhpcyBjb25jZXB0IGFsbG93cyB0byBzdG9yZSBsYWJlbCBzcGVjaWZpYworICogc2V0dGluZ3MgdG8gdGhlIGxhYmVsIGRyaXZlciBpbmRlcGVuZGVudGx5IG9uIHRoZSBjdXJyZW50bHkgYWN0aXZlIGxhYmVsCisgKiBkcml2ZXIuIE5vdGUgdGhhdCBsYWJlbCBzdHJ1Y3QgY2Fubm90IGJlIGRlYWxsb2NhdGVkLCBzbyB0aGVyZSBpcyBubworICogcmVmZXJlbmNlIGNvdW50aW5nIGZvciBmZGlza19sYWJlbCBvYmplY3RzLiBBbGwgaXMgZGVzdHJveWVkIGJ5CisgKiBmZGlza191bnJlZl9jb250ZXh0KCkgb25seS4KKyAqCisgKiBBbnl3YXksIGFsbCBsYWJlbCBkcml2ZXMgc2hhcmUgaW4tbWVtb3J5IGZpcnN0IHNlY3Rvci4gVGhlIGZ1bmN0aW9uCisgKiBmZGlza19jcmVhdGVfZGlza2xhYmVsKCkgb3ZlcndyaXRlcyB0aGlzIGluLW1lbW9yeSBzZWN0b3IuIEJ1dCBpdCdzIHBvc3NpYmxlIHRoYXQKKyAqIGxhYmVsIGRyaXZlciBhbHNvIHVzZXMgYW5vdGhlciBidWZmZXJzLCBmb3IgZXhhbXBsZSBHUFQgcmVhZHMgbW9yZSBzZWN0b3JzCisgKiBmcm9tIHRoZSBkZXZpY2UuCisgKgorICogQWxsIGxhYmVsIG9wZXJhdGlvbnMgYXJlIGluLW1lbW9yeSBvbmx5LCBleGNlcHQgZmRpc2tfd3JpdGVfZGlza2xhYmVsKCkuCisgKgorICogQWxsIGZ1bmN0aW9ucyB0aGF0IHVzZSAic3RydWN0IGZkaXNrX2NvbnRleHQiIHJhdGhlciB0aGFuICJzdHJ1Y3QKKyAqIGZkaXNrX2xhYmVsIiB1c2UgdGhlIGN1cnJlbnRseSBhY3RpdmUgbGFiZWwgZHJpdmVyLgorICovCisKKworaW50IGZkaXNrX3Byb2JlX2xhYmVscyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXNpemVfdCBpOworCisJY3h0LT5sYWJlbCA9IE5VTEw7CisKKwlmb3IgKGkgPSAwOyBpIDwgY3h0LT5ubGFiZWxzOyBpKyspIHsKKwkJc3RydWN0IGZkaXNrX2xhYmVsICpsYiA9IGN4dC0+bGFiZWxzW2ldOworCQlzdHJ1Y3QgZmRpc2tfbGFiZWwgKm9yZyA9IGZkaXNrX2dldF9sYWJlbChjeHQsIE5VTEwpOworCQlpbnQgcmM7CisKKwkJaWYgKCFsYi0+b3AtPnByb2JlKQorCQkJY29udGludWU7CisJCWlmIChsYi0+ZGlzYWJsZWQpIHsKKwkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIiVzOiBkaXNhYmxlZCAtLSBpZ25vcmUiLCBsYi0+bmFtZSkpOworCQkJY29udGludWU7CisJCX0KKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAicHJvYmluZyBmb3IgJXMiLCBsYi0+bmFtZSkpOworCisJCWN4dC0+bGFiZWwgPSBsYjsKKwkJcmMgPSBsYi0+b3AtPnByb2JlKGN4dCk7CisJCWN4dC0+bGFiZWwgPSBvcmc7CisKKwkJaWYgKHJjICE9IDEpIHsKKwkJCWlmIChsYi0+b3AtPmRlaW5pdCkKKwkJCQlsYi0+b3AtPmRlaW5pdChsYik7CS8qIGZvciBzdXJlICovCisJCQljb250aW51ZTsKKwkJfQorCisJCV9fZmRpc2tfc3dpdGNoX2xhYmVsKGN4dCwgbGIpOworCQlyZXR1cm4gMDsKKwl9CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJubyBsYWJlbCBmb3VuZCIpKTsKKwlyZXR1cm4gMTsgLyogbm90IGZvdW5kICovCit9CisKKy8qKgorICogZmRpc2tfbGFiZWxfZ2V0X25hbWU6CisgKiBAbGI6IGxhYmVsCisgKgorICogUmV0dXJuczogbGFiZWwgbmFtZQorICovCitjb25zdCBjaGFyICpmZGlza19sYWJlbF9nZXRfbmFtZShjb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiKQoreworCXJldHVybiBsYiA/IGxiLT5uYW1lIDogTlVMTDsKK30KKworLyoqCisgKiBmZGlza19sYWJlbF9pc19sYWJlbHR5cGU6CisgKiBAbGI6IGxhYmVsCisgKgorICogUmV0dXJuczogRkRJU0tfRElTS0xBQkVMXyouCisgKi8KK2ludCBmZGlza19sYWJlbF9nZXRfdHlwZShjb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiKQoreworCXJldHVybiBsYi0+aWQ7Cit9CisKKy8qKgorICogZmRpc2tfbGFiZWxfcmVxdWlyZV9nZW9tZXRyeToKKyAqIEBsYjogbGFiZWwKKyAqCisgKiBSZXR1cm5zOiAxIGlmIGxhYmVsIHJlcXVpcmVzIENIUyBnZW9tZXRyeQorICovCitpbnQgZmRpc2tfbGFiZWxfcmVxdWlyZV9nZW9tZXRyeShjb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiKQoreworCWFzc2VydChsYik7CisKKwlyZXR1cm4gbGItPmZsYWdzICYgRkRJU0tfTEFCRUxfRkxfUkVRVUlSRV9HRU9NRVRSWSA/IDEgOiAwOworfQorCisvKioKKyAqIGZkaXNrX2xhYmVsX2dldF9maWVsZHNfaWRzCisgKiBAbGI6IGxhYmVsIChvciBOVUxMIGZvciB0aGUgY3VycmVudCBsYWJlbCkKKyAqIEBjeHQ6IGNvbnRleHQKKyAqIEBpZHM6IHJldHVybnMgYWxsb2NhdGVkIGFycmF5IHdpdGggRkRJU0tfRklFTERfKiBJRHMKKyAqIEBuaWRzOiByZXR1cm5zIG51bWJlciBvZiBpdGVtcyBpbiBmaWVsZHMKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGRlZmF1bHQgZmllbGRzIGZvciB0aGUgbGFiZWwuCisgKgorICogTm90ZSB0aGF0IHRoZSBzZXQgb2YgdGhlIGRlZmF1bHQgZmllbGRzIGRlcGVuZHMgb24gZmRpc2tfZW5hYmxlX2RldGFpbHMoKQorICogZnVuY3Rpb24uIElmIHRoZSBkZXRhaWxzIGFyZSBlbmFibGVkIHRoZW4gdGhpcyBmdW5jdGlvbiB1c3VhbGx5IHJldHVybnMgbW9yZQorICogZmllbGRzLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2Vzcywgb3RoZXJ3aXNlLCBhIGNvcnJlc3BvbmRpbmcgZXJyb3IuCisgKi8KK2ludCBmZGlza19sYWJlbF9nZXRfZmllbGRzX2lkcygKKwkJY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsICpsYiwKKwkJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJaW50ICoqaWRzLCBzaXplX3QgKm5pZHMpCit7CisJc2l6ZV90IGksIG47CisJaW50ICpjOworCisJaWYgKCFjeHQgfHwgKCFsYiAmJiAhY3h0LT5sYWJlbCkpCisJCXJldHVybiAtRUlOVkFMOworCisJbGIgPSBjeHQtPmxhYmVsOworCWlmICghbGItPmZpZWxkcyB8fCAhbGItPm5maWVsZHMpCisJCXJldHVybiAtRU5PU1lTOworCWMgPSBjYWxsb2MobGItPm5maWVsZHMsIHNpemVvZihpbnQpKTsKKwlpZiAoIWMpCisJCXJldHVybiAtRU5PTUVNOworCWZvciAobiA9IDAsIGkgPSAwOyBpIDwgbGItPm5maWVsZHM7IGkrKykgeworCQlpbnQgaWQgPSBsYi0+ZmllbGRzW2ldLmlkOworCisJCWlmICgoZmRpc2tfaXNfZGV0YWlscyhjeHQpICYmCisJCQkJKGxiLT5maWVsZHNbaV0uZmxhZ3MgJiBGRElTS19GSUVMREZMX0VZRUNBTkRZKSkKKwkJICAgICB8fCAoIWZkaXNrX2lzX2RldGFpbHMoY3h0KSAmJgorCQkJCShsYi0+ZmllbGRzW2ldLmZsYWdzICYgRkRJU0tfRklFTERGTF9ERVRBSUwpKQorCQkgICAgIHx8IChpZCA9PSBGRElTS19GSUVMRF9TRUNUT1JTICYmCisJCQkgICAgICAgICBmZGlza191c2VfY3lsaW5kZXJzKGN4dCkpCisJCSAgICAgfHwgKGlkID09IEZESVNLX0ZJRUxEX0NZTElOREVSUyAmJgorCQkJICAgICAgICAgIWZkaXNrX3VzZV9jeWxpbmRlcnMoY3h0KSkpCisJCQljb250aW51ZTsKKworCQljW24rK10gPSBpZDsKKwl9CisJaWYgKGlkcykKKwkJKmlkcyA9IGM7CisJZWxzZQorCQlmcmVlKGMpOworCWlmIChuaWRzKQorCQkqbmlkcyA9IG47CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfbGFiZWxfZ2V0X2ZpZWxkc19pZHNfYWxsCisgKiBAbGI6IGxhYmVsIChvciBOVUxMIGZvciB0aGUgY3VycmVudCBsYWJlbCkKKyAqIEBjeHQ6IGNvbnRleHQKKyAqIEBpZHM6IHJldHVybnMgYWxsb2NhdGVkIGFycmF5IHdpdGggRkRJU0tfRklFTERfKiBJRHMKKyAqIEBuaWRzOiByZXR1cm5zIG51bWJlciBvZiBpdGVtcyBpbiBmaWVsZHMKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYWxsIGZpZWxkcyBmb3IgdGhlIGxhYmVsLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2Vzcywgb3RoZXJ3aXNlLCBhIGNvcnJlc3BvbmRpbmcgZXJyb3IuCisgKi8KK2ludCBmZGlza19sYWJlbF9nZXRfZmllbGRzX2lkc19hbGwoCisJCWNvbnN0IHN0cnVjdCBmZGlza19sYWJlbCAqbGIsCisJCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCWludCAqKmlkcywgc2l6ZV90ICpuaWRzKQoreworCXNpemVfdCBpLCBuOworCWludCAqYzsKKworCWlmICghY3h0IHx8ICghbGIgJiYgIWN4dC0+bGFiZWwpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWxiID0gY3h0LT5sYWJlbDsKKwlpZiAoIWxiLT5maWVsZHMgfHwgIWxiLT5uZmllbGRzKQorCQlyZXR1cm4gLUVOT1NZUzsKKwljID0gY2FsbG9jKGxiLT5uZmllbGRzLCBzaXplb2YoaW50KSk7CisJaWYgKCFjKQorCQlyZXR1cm4gLUVOT01FTTsKKwlmb3IgKG4gPSAwLCBpID0gMDsgaSA8IGxiLT5uZmllbGRzOyBpKyspCisJCWNbbisrXSA9IGxiLT5maWVsZHNbaV0uaWQ7CisJaWYgKGlkcykKKwkJKmlkcyA9IGM7CisJZWxzZQorCQlmcmVlKGMpOworCWlmIChuaWRzKQorCQkqbmlkcyA9IG47CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfbGFiZWxfZ2V0X2ZpZWxkOgorICogQGxiOiBsYWJlbAorICogQGlkOiBGRElTS19GSUVMRF8qCisgKgorICogVGhlIGZpZWxkIHN0cnVjdCBkZXNjcmliZXMgZGF0YSBzdG9yZWQgaW4gc3RydWN0IGZkaXNrX3BhcnRpdGlvbi4gVGhlIGluZm8KKyAqIGFib3V0IGRhdGEgaXMgdXNhYmxlIGZvciBleGFtcGxlIHRvIGdlbmVyYXRlIGh1bWFuIHJlYWRhYmxlIG91dHB1dCAoZS5nLgorICogZmRpc2sgJ3AncmludCBjb21tYW5kKS4gU2VlIGZkaXNrX3BhcnRpdGlvbl90b19zdHJpbmcoKSBhbmQgZmRpc2sgY29kZS4KKyAqCisgKiBSZXR1cm5zOiBwb2ludGVyIHRvIHN0YXRpYyBpbnN0YW5jZSBvZiB0aGUgZmllbGQuCisgKi8KK2NvbnN0IHN0cnVjdCBmZGlza19maWVsZCAqZmRpc2tfbGFiZWxfZ2V0X2ZpZWxkKGNvbnN0IHN0cnVjdCBmZGlza19sYWJlbCAqbGIsIGludCBpZCkKK3sKKwlzaXplX3QgaTsKKworCWFzc2VydChsYik7CisJYXNzZXJ0KGlkID4gMCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbGItPm5maWVsZHM7IGkrKykgeworCQlpZiAobGItPmZpZWxkc1tpXS5pZCA9PSBpZCkKKwkJCXJldHVybiAmbGItPmZpZWxkc1tpXTsKKwl9CisKKwlyZXR1cm4gTlVMTDsKK30KKworLyoqCisgKiBmZGlza19sYWJlbF9nZXRfZmllbGRfYnlfbmFtZQorICogQGxiOiBsYWJlbAorICogQG5hbWU6IGZpZWxkIG5hbWUKKyAqCisgKiBSZXR1cm5zOiBwb2ludGVyIHRvIHN0YXRpYyBpbnN0YW5jZSBvZiB0aGUgZmllbGQuCisgKi8KK2NvbnN0IHN0cnVjdCBmZGlza19maWVsZCAqZmRpc2tfbGFiZWxfZ2V0X2ZpZWxkX2J5X25hbWUoCisJCQkJY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsICpsYiwKKwkJCQljb25zdCBjaGFyICpuYW1lKQoreworCXNpemVfdCBpOworCisJYXNzZXJ0KGxiKTsKKwlhc3NlcnQobmFtZSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbGItPm5maWVsZHM7IGkrKykgeworCQlpZiAobGItPmZpZWxkc1tpXS5uYW1lICYmIHN0cmNhc2VjbXAobGItPmZpZWxkc1tpXS5uYW1lLCBuYW1lKSA9PSAwKQorCQkJcmV0dXJuICZsYi0+ZmllbGRzW2ldOworCX0KKworCXJldHVybiBOVUxMOworfQorCisvKioKKyAqIGZkaXNrX3dyaXRlX2Rpc2tsYWJlbDoKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqCisgKiBXcml0ZSBpbi1tZW1vcnkgY2hhbmdlcyB0byBkaXNrLiBCZSBjYXJlZnVsIQorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2Vzcywgb3RoZXJ3aXNlLCBhIGNvcnJlc3BvbmRpbmcgZXJyb3IuCisgKi8KK2ludCBmZGlza193cml0ZV9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlpZiAoIWN4dCB8fCAhY3h0LT5sYWJlbCB8fCBjeHQtPnJlYWRvbmx5KQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIWN4dC0+bGFiZWwtPm9wLT53cml0ZSkKKwkJcmV0dXJuIC1FTk9TWVM7CisKKwlmZGlza19kb193aXBlKGN4dCk7CisJcmV0dXJuIGN4dC0+bGFiZWwtPm9wLT53cml0ZShjeHQpOworfQorCisvKioKKyAqIGZkaXNrX3ZlcmlmeV9kaXNrbGFiZWw6CisgKiBAY3h0OiBmZGlzayBjb250ZXh0CisgKgorICogVmVyaWZpZXMgdGhlIHBhcnRpdGlvbiB0YWJsZS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG90aGVyd2lzZSwgYSBjb3JyZXNwb25kaW5nIGVycm9yLgorICovCitpbnQgZmRpc2tfdmVyaWZ5X2Rpc2tsYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWlmICghY3h0IHx8ICFjeHQtPmxhYmVsKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIWN4dC0+bGFiZWwtPm9wLT52ZXJpZnkpCisJCXJldHVybiAtRU5PU1lTOworCWlmIChmZGlza19taXNzaW5nX2dlb21ldHJ5KGN4dCkpCisJCXJldHVybiAtRUlOVkFMOworCisJcmV0dXJuIGN4dC0+bGFiZWwtPm9wLT52ZXJpZnkoY3h0KTsKK30KKworLyoqCisgKiBmZGlza19saXN0X2Rpc2tsYWJlbDoKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqCisgKiBMaXN0cyBkZXRhaWxzIGFib3V0IGRpc2tsYWJlbCwgYnV0IG5vIHBhcnRpdGlvbnMuCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyBiYXNlZCBvbiBmZGlza19nZXRfZGlza2xhYmVsX2l0ZW0oKSBhbmQgcHJpbnRzIGFsbCBsYWJlbAorICogc3BlY2lmaWMgaW5mb3JtYXRpb24gYnkgQVNLIGludGVyZmFjZSAoRkRJU0tfQVNLVFlQRV9JTkZPLCBha2EgZmRpc2tfaW5mbygpKS4KKyAqIFRoZSBmdW5jdGlvbiByZXF1aXJlcyBlbmFibGVkICJkZXRhaWxzIiBieSBmZGlza19lbmFibGVfZGV0YWlscygpLgorICoKKyAqIEl0J3MgcmVjb21tZW5kZWQgdG8gdXNlIGZkaXNrX2dldF9kaXNrbGFiZWxfaXRlbSgpIGlmIHlvdSBuZWVkIGJldHRlcgorICogY29udHJvbCBvbiBvdXRwdXQgYW5kIGZvcm1hdHRpbmcuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvdGhlcndpc2UsIGEgY29ycmVzcG9uZGluZyBlcnJvci4KKyAqLworaW50IGZkaXNrX2xpc3RfZGlza2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJaW50IGlkID0gMCwgcmMgPSAwOworCXN0cnVjdCBmZGlza19sYWJlbGl0ZW0gaXRlbSA9IHsgLmlkID0gaWQgfTsKKworCWlmICghY3h0IHx8ICFjeHQtPmxhYmVsKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmICghY3h0LT5kaXNwbGF5X2RldGFpbHMpCisJCXJldHVybiAwOworCisJLyogTGlzdCBhbGwgbGFiZWwgaXRlbXMgKi8KKwlkbyB7CisJCS8qIHJjOiA8IDAgZXJyb3IsIDAgc3VjY2VzcywgMSB1bmtub3duIGl0ZW0sIDIgb3V0IG9mIHJhbmdlICovCisJCXJjID0gZmRpc2tfZ2V0X2Rpc2tsYWJlbF9pdGVtKGN4dCwgaWQrKywgJml0ZW0pOworCQlpZiAocmMgIT0gMCkKKwkJCWNvbnRpbnVlOworCQlzd2l0Y2ggKGl0ZW0udHlwZSkgeworCQljYXNlICdqJzoKKwkJCWZkaXNrX2luZm8oY3h0LCAiJXM6ICVqdSIsIGl0ZW0ubmFtZSwgaXRlbS5kYXRhLm51bTY0KTsKKwkJCWJyZWFrOworCQljYXNlICdzJzoKKwkJCWlmIChpdGVtLmRhdGEuc3RyICYmIGl0ZW0ubmFtZSkKKwkJCQlmZGlza19pbmZvKGN4dCwgIiVzOiAlcyIsIGl0ZW0ubmFtZSwgaXRlbS5kYXRhLnN0cik7CisJCQlicmVhazsKKwkJfQorCQlmZGlza19yZXNldF9sYWJlbGl0ZW0oJml0ZW0pOworCX0gd2hpbGUgKHJjID09IDAgfHwgcmMgPT0gMSk7CisKKwlyZXR1cm4gcmMgPCAwID8gcmMgOiAwOworfQorCisvKioKKyAqIGZkaXNrX2NyZWF0ZV9kaXNrbGFiZWw6CisgKiBAY3h0OiBmZGlzayBjb250ZXh0CisgKiBAbmFtZTogbGFiZWwgbmFtZQorICoKKyAqIENyZWF0ZXMgYSBuZXcgZGlzayBsYWJlbCBvZiB0eXBlIEBuYW1lLiBJZiBAbmFtZSBpcyBOVUxMLCB0aGVuIGl0IHdpbGwKKyAqIGNyZWF0ZSBhIGRlZmF1bHQgc3lzdGVtIGxhYmVsIHR5cGUsIGVpdGhlciBTVU4gb3IgRE9TLiBUaGUgZnVuY3Rpb24KKyAqIGF1dG9tYXRpY2FsbHkgc3dpdGNoZXMgdGhlIGN1cnJlbnQgbGFiZWwgZHJpdmVyIHRvIEBuYW1lLiBUaGUgZnVuY3Rpb24KKyAqIGZkaXNrX2dldF9sYWJlbCgpIHJldHVybnMgdGhlIGN1cnJlbnQgbGFiZWwgZHJpdmVyLgorICoKKyAqIFRoZSBmdW5jdGlvbiBtb2RpZmllcyBpbi1tZW1vcnkgZGF0YSBvbmx5LgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2Vzcywgb3RoZXJ3aXNlLCBhIGNvcnJlc3BvbmRpbmcgZXJyb3IuCisgKi8KK2ludCBmZGlza19jcmVhdGVfZGlza2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJaW50IGhhc2xhYmVsID0gMDsKKwlzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiOworCisJaWYgKCFjeHQpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKCFuYW1lKSB7IC8qIHVzZSBkZWZhdWx0IGxhYmVsIGNyZWF0aW9uICovCisjaWZkZWYgX19zcGFyY19fCisJCW5hbWUgPSAic3VuIjsKKyNlbHNlCisJCW5hbWUgPSAiZG9zIjsKKyNlbmRpZgorCX0KKworCWlmIChjeHQtPmxhYmVsKSB7CisJCWZkaXNrX2RlaW5pdF9sYWJlbChjeHQtPmxhYmVsKTsKKwkJaGFzbGFiZWwgPSAxOworCX0KKworCWxiID0gZmRpc2tfZ2V0X2xhYmVsKGN4dCwgbmFtZSk7CisJaWYgKCFsYiB8fCBsYi0+ZGlzYWJsZWQpCisJCXJldHVybiAtRUlOVkFMOworCWlmICghbGItPm9wLT5jcmVhdGUpCisJCXJldHVybiAtRU5PU1lTOworCisJX19mZGlza19zd2l0Y2hfbGFiZWwoY3h0LCBsYik7CisJYXNzZXJ0KGN4dC0+bGFiZWwgPT0gbGIpOworCisJaWYgKGhhc2xhYmVsICYmICFjeHQtPnBhcmVudCkKKwkJZmRpc2tfcmVzZXRfZGV2aWNlX3Byb3BlcnRpZXMoY3h0KTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImNyZWF0ZSBhIG5ldyAlcyBsYWJlbCIsIGxiLT5uYW1lKSk7CisJcmV0dXJuIGxiLT5vcC0+Y3JlYXRlKGN4dCk7Cit9CisKKy8qKgorICogZmRpc2tfbG9jYXRlX2Rpc2tsYWJlbDoKKyAqIEBjeHQ6IGNvbnRleHQKKyAqIEBuOiBOIGl0ZW0KKyAqIEBuYW1lOiByZXR1cm4gaXRlbSBuYW1lCisgKiBAb2Zmc2V0OiByZXR1cm4gb2Zmc2V0IHdoZXJlIGlzIGl0ZW0KKyAqIEBzaXplOiBvZiB0aGUgaXRlbQorICoKKyAqIExvY2F0ZSBkaXNrbGFiZWwgYW5kIHJldHVybnMgaW5mbyBhYm91dCBAbiBpdGVtIG9mIHRoZSBsYWJlbC4gRm9yIGV4YW1wbGUKKyAqIEdQVCBpcyBjb21wb3NlZCBmcm9tIHR3byBpdGVtcywgUE1CUiBhbmQgR1BULCBuPTAgcmV0dXJuIG9mZnNldCB0byBQTUJSIGFuZCBuPTEKKyAqIHJldHVybiBvZmZzZXQgdG8gR1BULiBGb3IgbW9yZSBkZXRhaWxzIHNlZSAnRCcgZXhwZXJ0IGZkaXNrIGNvbW1hbmQuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvciwgMSBubyBtb3JlIGl0ZW1zLgorICovCitpbnQgZmRpc2tfbG9jYXRlX2Rpc2tsYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBpbnQgbiwgY29uc3QgY2hhciAqKm5hbWUsCisJCQkgICB1aW50NjRfdCAqb2Zmc2V0LCBzaXplX3QgKnNpemUpCit7CisJaWYgKCFjeHQgfHwgIWN4dC0+bGFiZWwpCisJCXJldHVybiAtRUlOVkFMOworCWlmICghY3h0LT5sYWJlbC0+b3AtPmxvY2F0ZSkKKwkJcmV0dXJuIC1FTk9TWVM7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJsb2NhdGluZyAlZCBjaHVuayBvZiAlcy4iLCBuLCBjeHQtPmxhYmVsLT5uYW1lKSk7CisJcmV0dXJuIGN4dC0+bGFiZWwtPm9wLT5sb2NhdGUoY3h0LCBuLCBuYW1lLCBvZmZzZXQsIHNpemUpOworfQorCisKKy8qKgorICogZmRpc2tfZ2V0X2Rpc2tsYWJlbF9pZDoKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqIEBpZDogcmV0dXJucyBwb2ludGVyIHRvIGFsbG9jYXRlZCBzdHJpbmcgKE1CUiBJZCBvciBHUFQgZGlyayBVVUlEKQorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2Vzcywgb3RoZXJ3aXNlLCBhIGNvcnJlc3BvbmRpbmcgZXJyb3IuCisgKi8KK2ludCBmZGlza19nZXRfZGlza2xhYmVsX2lkKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGNoYXIgKippZCkKK3sKKwlzdHJ1Y3QgZmRpc2tfbGFiZWxpdGVtIGl0ZW0gPSBGRElTS19MQUJFTElURU1fSU5JVDsKKwlpbnQgcmM7CisKKwlpZiAoIWN4dCB8fCAhY3h0LT5sYWJlbCB8fCAhaWQpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiYXNraW5nIGZvciBkaXNrICVzIElEIiwgY3h0LT5sYWJlbC0+bmFtZSkpOworCisJcmMgPSBmZGlza19nZXRfZGlza2xhYmVsX2l0ZW0oY3h0LCBGRElTS19MQUJFTElURU1fSUQsICZpdGVtKTsKKwlpZiAocmMgPT0gMCkgeworCQkqaWQgPSBpdGVtLmRhdGEuc3RyOworCQlpdGVtLmRhdGEuc3RyID0gTlVMTDsKKwl9CisJZmRpc2tfcmVzZXRfbGFiZWxpdGVtKCZpdGVtKTsKKwlpZiAocmMgPiAwKQorCQlyYyA9IDA7CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIGZkaXNrX2dldF9kaXNrbGFiZWxfaXRlbToKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqIEBpZDogaXRlbSBJRCAoRkRJU0tfTEFCRUxJVEVNXyogb3Ige0dQVCxNQlIsLi4ufV9MQUJFTElURU1fKikKKyAqIEBpdGVtOiBzcGVjaWZpZXMgYW5kIHJldHVybnMgdGhlIGl0ZW0KKyAqCisgKiBOb3RlIHRoYXQgQGlkIGlzIGFsd2F5cyBpbiByYW5nZSAwLi5OLiBJdCdzIGZpbmUgdG8gdXNlIHRoZSBmdW5jdGlvbiBpbiBsb29wCisgKiB1bnRpbCBpdCByZXR1cm5zIGVycm9yIG9yIDIsIHRoZSByZXN1bHQgaW4gQGl0ZW0gc2hvdWxkIGJlIGlnbm9yZWQgd2hlbgorICogZnVuY3Rpb24gcmV0dXJucyAxLiBEb24ndCBmb3JnZXQgdG8gdXNlIGZkaXNrX3Jlc2V0X2xhYmVsaXRlbSgpIG9yIGZkaXNrX3VucmVmX2xhYmVsaXRlbSgpLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPCAwIG9uIGVycm9yLCAxIG9uIHVuc3VwcG9ydGVkIGl0ZW0sIDIgQGlkIG91dCBvZiByYW5nZQorICovCitpbnQgZmRpc2tfZ2V0X2Rpc2tsYWJlbF9pdGVtKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGludCBpZCwgc3RydWN0IGZkaXNrX2xhYmVsaXRlbSAqaXRlbSkKK3sKKwlpZiAoIWN4dCB8fCAhY3h0LT5sYWJlbCB8fCAhaXRlbSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlmZGlza19yZXNldF9sYWJlbGl0ZW0oaXRlbSk7CisJaXRlbS0+aWQgPSBpZDsKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJhc2tpbmcgZm9yIGRpc2sgJXMgaXRlbSAlZCIsIGN4dC0+bGFiZWwtPm5hbWUsIGl0ZW0tPmlkKSk7CisKKwlpZiAoIWN4dC0+bGFiZWwtPm9wLT5nZXRfaXRlbSkKKwkJcmV0dXJuIC1FTk9TWVM7CisKKwlyZXR1cm4gY3h0LT5sYWJlbC0+b3AtPmdldF9pdGVtKGN4dCwgaXRlbSk7Cit9CisKKy8qKgorICogZmRpc2tfc2V0X2Rpc2tsYWJlbF9pZDoKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG90aGVyd2lzZSwgYSBjb3JyZXNwb25kaW5nIGVycm9yLgorICovCitpbnQgZmRpc2tfc2V0X2Rpc2tsYWJlbF9pZChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWlmICghY3h0IHx8ICFjeHQtPmxhYmVsKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIWN4dC0+bGFiZWwtPm9wLT5zZXRfaWQpCisJCXJldHVybiAtRU5PU1lTOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAic2V0dGluZyAlcyBkaXNrIElEIiwgY3h0LT5sYWJlbC0+bmFtZSkpOworCXJldHVybiBjeHQtPmxhYmVsLT5vcC0+c2V0X2lkKGN4dCk7Cit9CisKKy8qKgorICogZmRpc2tfc2V0X3BhcnRpdGlvbl90eXBlOgorICogQGN4dDogZmRpc2sgY29udGV4dAorICogQHBhcnRudW06IHBhcnRpdGlvbiBudW1iZXIKKyAqIEB0OiBuZXcgdHlwZQorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPCAwIG9uIGVycm9yLgorICovCitpbnQgZmRpc2tfc2V0X3BhcnRpdGlvbl90eXBlKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQkgICAgIHNpemVfdCBwYXJ0bnVtLAorCQkJICAgICBzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQpCit7CisJaWYgKCFjeHQgfHwgIWN4dC0+bGFiZWwgfHwgIXQpCisJCXJldHVybiAtRUlOVkFMOworCisKKwlpZiAoY3h0LT5sYWJlbC0+b3AtPnNldF9wYXJ0KSB7CisJCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhID0gZmRpc2tfbmV3X3BhcnRpdGlvbigpOworCQlpbnQgcmM7CisKKwkJaWYgKCFwYSkKKwkJCXJldHVybiAtRU5PTUVNOworCQlmZGlza19wYXJ0aXRpb25fc2V0X3R5cGUocGEsIHQpOworCisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInBhcnRpdGlvbjogJXpkOiBzZXQgdHlwZSIsIHBhcnRudW0pKTsKKwkJcmMgPSBjeHQtPmxhYmVsLT5vcC0+c2V0X3BhcnQoY3h0LCBwYXJ0bnVtLCBwYSk7CisJCWZkaXNrX3VucmVmX3BhcnRpdGlvbihwYSk7CisJCXJldHVybiByYzsKKwl9CisKKwlyZXR1cm4gLUVOT1NZUzsKK30KKworCisvKioKKyAqIGZkaXNrX3RvZ2dsZV9wYXJ0aXRpb25fZmxhZzoKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqIEBwYXJ0bnVtOiBwYXJ0aXRpb24gbnVtYmVyCisgKiBAZmxhZzogZmxhZyBJRAorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2Vzcywgb3RoZXJ3aXNlLCBhIGNvcnJlc3BvbmRpbmcgZXJyb3IuCisgKi8KK2ludCBmZGlza190b2dnbGVfcGFydGl0aW9uX2ZsYWcoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCSAgICAgICBzaXplX3QgcGFydG51bSwKKwkJCSAgICAgICB1bnNpZ25lZCBsb25nIGZsYWcpCit7CisJaW50IHJjOworCisJaWYgKCFjeHQgfHwgIWN4dC0+bGFiZWwpCisJCXJldHVybiAtRUlOVkFMOworCWlmICghY3h0LT5sYWJlbC0+b3AtPnBhcnRfdG9nZ2xlX2ZsYWcpCisJCXJldHVybiAtRU5PU1lTOworCisJcmMgPSBjeHQtPmxhYmVsLT5vcC0+cGFydF90b2dnbGVfZmxhZyhjeHQsIHBhcnRudW0sIGZsYWcpOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAicGFydGl0aW9uOiAlemQ6IHRvZ2dsZTogMHglMDRseCBbcmM9JWRdIiwgcGFydG51bSwgZmxhZywgcmMpKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogZmRpc2tfcmVvcmRlcl9wYXJ0aXRpb25zCisgKiBAY3h0OiBmZGlzayBjb250ZXh0CisgKgorICogU29ydCBwYXJ0aXRpb25zIGFjY29yZGluZyB0byB0aGUgcGFydGl0aW9uIHN0YXJ0IHNlY3Rvci4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDEgcmVvcmRlciB1bm5lY2Vzc2FyeSwgb3RoZXJ3aXNlIGEgY29ycmVzcG9uZGluZyBlcnJvci4KKyAqLworaW50IGZkaXNrX3Jlb3JkZXJfcGFydGl0aW9ucyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWlmICghY3h0IHx8ICFjeHQtPmxhYmVsKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIWN4dC0+bGFiZWwtPm9wLT5yZW9yZGVyKQorCQlyZXR1cm4gLUVOT1NZUzsKKworCXJldHVybiBjeHQtPmxhYmVsLT5vcC0+cmVvcmRlcihjeHQpOworfQorCisvKgorICogUmVzZXRzIHRoZSBjdXJyZW50IHVzZWQgbGFiZWwgZHJpdmVyIHRvIGluaXRpYWwgc3RhdGUKKyAqLwordm9pZCBmZGlza19kZWluaXRfbGFiZWwoc3RydWN0IGZkaXNrX2xhYmVsICpsYikKK3sKKwlhc3NlcnQobGIpOworCisJLyogcHJpdmF0ZSBsYWJlbCBpbmZvcm1hdGlvbiAqLworCWlmIChsYi0+b3AtPmRlaW5pdCkKKwkJbGItPm9wLT5kZWluaXQobGIpOworfQorCisvKioKKyAqIGZkaXNrX2xhYmVsX3NldF9jaGFuZ2VkOgorICogQGxiOiBsYWJlbAorICogQGNoYW5nZWQ6IDAvMQorICoKKyAqIE1hcmtzIGluLW1lbW9yeSBkYXRhIGFzIGNoYW5nZWQsIHRvIGZvcmNlIGZkaXNrX3dyaXRlX2Rpc2tsYWJlbCgpIHRvIHdyaXRlCisgKiB0byBkZXZpY2UuIFRoaXMgc2hvdWxkIGJlIHVubmVjZXNzYXJ5IGJ5IGRlZmF1bHQsIHRoZSBsaWJyYXJ5IGtlZXBzIHRyYWNrCisgKiBhYm91dCBjaGFuZ2VzLgorICovCit2b2lkIGZkaXNrX2xhYmVsX3NldF9jaGFuZ2VkKHN0cnVjdCBmZGlza19sYWJlbCAqbGIsIGludCBjaGFuZ2VkKQoreworCWFzc2VydChsYik7CisJbGItPmNoYW5nZWQgPSBjaGFuZ2VkID8gMSA6IDA7Cit9CisKKy8qKgorICogZmRpc2tfbGFiZWxfaXNfY2hhbmdlZDoKKyAqIEBsYjogbGFiZWwKKyAqCisgKiBSZXR1cm5zOiAxIGlmIGluLW1lbW9yeSBkYXRhIGhhcyBiZWVuIGNoYW5nZWQuCisgKi8KK2ludCBmZGlza19sYWJlbF9pc19jaGFuZ2VkKGNvbnN0IHN0cnVjdCBmZGlza19sYWJlbCAqbGIpCit7CisJYXNzZXJ0KGxiKTsKKwlyZXR1cm4gbGIgPyBsYi0+Y2hhbmdlZCA6IDA7Cit9CisKKy8qKgorICogZmRpc2tfbGFiZWxfc2V0X2Rpc2FibGVkOgorICogQGxiOiBsYWJlbAorICogQGRpc2FibGVkOiAwIG9yIDEKKyAqCisgKiBNYXJrIGxhYmVsIGFzIGRpc2FibGVkLCB0aGVuIGxpYmZkaXNrIGlzIGdvaW5nIHRvIGlnbm9yZSB0aGUgbGFiZWwgd2hlbgorICogcHJvYmUgZGV2aWNlIGZvciBsYWJlbHMuCisgKi8KK3ZvaWQgZmRpc2tfbGFiZWxfc2V0X2Rpc2FibGVkKHN0cnVjdCBmZGlza19sYWJlbCAqbGIsIGludCBkaXNhYmxlZCkKK3sKKwlhc3NlcnQobGIpOworCisJREJHKExBQkVMLCB1bF9kZWJ1ZygiJXMgbGFiZWwgJXMiLAorCQkJCWxiLT5uYW1lLAorCQkJCWRpc2FibGVkID8gIkRJU0FCTEVEIiA6ICJFTkFCTEVEIikpOworCWxiLT5kaXNhYmxlZCA9IGRpc2FibGVkID8gMSA6IDA7Cit9CisKKy8qKgorICogZmRpc2tfbGFiZWxfaXNfZGlzYWJsZWQ6CisgKiBAbGI6IGxhYmVsCisgKgorICogUmV0dXJuczogMSBpZiBsYWJlbCBkcml2ZXIgZGlzYWJsZWQuCisgKi8KK2ludCBmZGlza19sYWJlbF9pc19kaXNhYmxlZChjb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiKQoreworCWFzc2VydChsYik7CisJcmV0dXJuIGxiID8gbGItPmRpc2FibGVkIDogMDsKK30KZGlmZiAtLWdpdCBhL2xpYmZkaXNrL3NyYy9saWJmZGlzay5oLmluIGIvbGliZmRpc2svc3JjL2xpYmZkaXNrLmguaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTE1NGY1YgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmZkaXNrL3NyYy9saWJmZGlzay5oLmluCkBAIC0wLDAgKzEsNzI0IEBACisvKgorICogbGliZmRpc2suaCAtIGxpYmZkaXNrIEFQSQorICoKKyAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKyAqIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisgKiA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorICovCisKKyNpZm5kZWYgX0xJQkZESVNLX0gKKyNkZWZpbmUgX0xJQkZESVNLX0gKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworLyoqCisgKiBMSUJGRElTS19WRVJTSU9OOgorICoKKyAqIExpYnJhcnkgdmVyc2lvbiBzdHJpbmcKKyAqLworI2RlZmluZSBMSUJGRElTS19WRVJTSU9OICAgIkBMSUJGRElTS19WRVJTSU9OQCIKKworI2RlZmluZSBMSUJGRElTS19NQUpPUl9WRVJTSU9OICAgQExJQkZESVNLX01BSk9SX1ZFUlNJT05ACisjZGVmaW5lIExJQkZESVNLX01JTk9SX1ZFUlNJT04gICBATElCRkRJU0tfTUlOT1JfVkVSU0lPTkAKKyNkZWZpbmUgTElCRkRJU0tfUEFUQ0hfVkVSU0lPTiAgIEBMSUJGRElTS19QQVRDSF9WRVJTSU9OQAorCisvKioKKyAqIGZkaXNrX2NvbnRleHQ6CisgKgorICogQmFzaWMgbGlicmFyeSBoYW5kbGVyLgorICovCitzdHJ1Y3QgZmRpc2tfY29udGV4dDsKKworLyoqCisgKiBmZGlza19sYWJlbDoKKyAqCisgKiBEaXNrIGxhYmVsIHNwZWNpZmljIGRyaXZlciBhbmQgc2V0dGluZy4KKyAqLworc3RydWN0IGZkaXNrX2xhYmVsOworCisvKioKKyAqIGZkaXNrX3BhcnR0eXBlOgorICoKKyAqIFBhcnRpdGlvbiB0eXBlLgorICovCitzdHJ1Y3QgZmRpc2tfcGFydHR5cGU7CisKKy8qKgorICogZmRpc2tfcGFydGl0aW9uOgorICoKKyAqIFBhcnRpdGlvbiBhYnN0cmFjdGlvbiAoYW5kIHRlbXBsYXRlKS4KKyAqLworc3RydWN0IGZkaXNrX3BhcnRpdGlvbjsKKworLyoqCisgKiBmZGlza19hc2s6CisgKgorICogQXNrIEFQSSBoYW5kbGVyIGZvciBkaWFsb2dzIHdpdGggdXNlcnMuCisgKi8KK3N0cnVjdCBmZGlza19hc2s7CisKKy8qKgorICogZmRpc2tfaXRlcjoKKyAqCisgKiBVbmlmaWVkIGl0ZXJhdG9yLgorICovCitzdHJ1Y3QgZmRpc2tfaXRlcjsKKworLyoqCisgKiBmZGlza190YWJsZToKKyAqCisgKiBDb250YWluZXIgZm9yIGZkaXNrX3BhcnRpdGlvbiBvYmplY3RzCisgKi8KK3N0cnVjdCBmZGlza190YWJsZTsKKworLyoqCisgKiBmZGlza19maWVsZAorICoKKyAqIE91dHB1dCBmaWVsZCBkZXNjcmlwdGlvbi4KKyAqLworc3RydWN0IGZkaXNrX2ZpZWxkOworCisvKioKKyAqIGZkaXNrX3NjcmlwdAorICoKKyAqIGxpYnJhcnkgaGFuZGxlciBmb3Igc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0cyBhbmQgZHVtcHMKKyAqLworc3RydWN0IGZkaXNrX3NjcmlwdDsKKworLyoqCisgKiBmZGlza19zZWN0b3JfdAorICoKKyAqIExCQSBhZHJlc3NlcyB0eXBlCisgKi8KK3R5cGVkZWYgdWludDY0X3QgZmRpc2tfc2VjdG9yX3Q7CisKKy8qKgorICogZmRpc2tfbGFiZWx0eXBlOgorICoKKyAqIFN1cHBvcnRlZCBwYXJ0aXRpb24gdGFibGUgdHlwZXMgKGxhYmVscykKKyAqLworZW51bSBmZGlza19sYWJlbHR5cGUgeworCUZESVNLX0RJU0tMQUJFTF9ET1MgPSAoMSA8PCAxKSwJCS8qIE1CUiBsYWJlbCB0eXBlICovCisJRkRJU0tfRElTS0xBQkVMX1NVTiA9ICgxIDw8IDIpLAkJLyogU1VOIGxhYmVsIHR5cGUgKi8KKwlGRElTS19ESVNLTEFCRUxfU0dJID0gKDEgPDwgMyksCQkvKiBTR0kgbGFiZWwgdHlwZSAqLworCUZESVNLX0RJU0tMQUJFTF9CU0QgPSAoMSA8PCA0KSwJCS8qIEJTRCBsYWJlbCB0IHlwZSAqLworCUZESVNLX0RJU0tMQUJFTF9HUFQgPSAoMSA8PCA1KQkJLyogVUVGSSBHUFQgdHlwZSAqLworfTsKKworLyoqCisgKiBmZGlza19sYWJlbGl0ZW0KKyAqCisgKiBsaWJyYXJ5IGhhbmRsZXIgZm9yIGxhYmVsIHNwZWNpZmljIGluZm9ybWF0aW9uLiBTZWUKKyAqIGdlbmVyaWMgRkRJU0tfTEFCRUxJVEVNXyogYW5kIGxhYmVsIHNwZWNpZmljIHtHUFQsTUJSLC4ufV9MQUJFTElURU1fKi4KKyAqLworc3RydWN0IGZkaXNrX2xhYmVsaXRlbTsKKworLyoqCisgKiBmZGlza19hc2t0eXBlOgorICoKKyAqIEFzayBBUEkgZGlhbG9nIHR5cGVzCisgKi8KK2VudW0gZmRpc2tfYXNrdHlwZSB7CisJRkRJU0tfQVNLVFlQRV9OT05FID0gMCwJCQkvKiB1bmRlZmluZWQgdHlwZSAqLworCUZESVNLX0FTS1RZUEVfTlVNQkVSLAkJCS8qIGFzayBmb3IgbnVtYmVyICovCisJRkRJU0tfQVNLVFlQRV9PRkZTRVQsCQkJLyogYXNrIGZvciBvZmZzZXQgKi8KKwlGRElTS19BU0tUWVBFX1dBUk4sCQkJLyogcHJpbnQgd2FybmluZyBtZXNzYWdlIGFuZCBlcnJubyAqLworCUZESVNLX0FTS1RZUEVfV0FSTlgsCQkJLyogcHJpbnQgd2FybmluZyBtZXNzYWdlICovCisJRkRJU0tfQVNLVFlQRV9JTkZPLAkJCS8qIHByaW50IGluZm9yIG1lc3NhZ2UgKi8KKwlGRElTS19BU0tUWVBFX1lFU05PLAkJCS8qIGFzayBZZXMvTm8gcXVlc3Rpb24gKi8KKwlGRElTS19BU0tUWVBFX1NUUklORywJCQkvKiBhc2sgZm9yIHN0cmluZyAqLworCUZESVNLX0FTS1RZUEVfTUVOVQkJCS8qIGFzayBmb3IgbWVudSBpdGVtICovCit9OworCisvKiBpbml0LmMgKi8KK2V4dGVybiB2b2lkIGZkaXNrX2luaXRfZGVidWcoaW50IG1hc2spOworCisvKiB2ZXJzaW9uLmMgKi8KK2V4dGVybiBpbnQgZmRpc2tfcGFyc2VfdmVyc2lvbl9zdHJpbmcoY29uc3QgY2hhciAqdmVyX3N0cmluZyk7CitleHRlcm4gaW50IGZkaXNrX2dldF9saWJyYXJ5X3ZlcnNpb24oY29uc3QgY2hhciAqKnZlcl9zdHJpbmcpOworZXh0ZXJuIGludCBmZGlza19nZXRfbGlicmFyeV9mZWF0dXJlcyhjb25zdCBjaGFyICoqKmZlYXR1cmVzKTsKKworLyogY29udGV4dC5oICovCisKKyNkZWZpbmUgRkRJU0tfUExVUkFMCTAKKyNkZWZpbmUgRkRJU0tfU0lOR1VMQVIJMQorCitzdHJ1Y3QgZmRpc2tfY29udGV4dCAqZmRpc2tfbmV3X2NvbnRleHQodm9pZCk7CitzdHJ1Y3QgZmRpc2tfY29udGV4dCAqZmRpc2tfbmV3X25lc3RlZF9jb250ZXh0KHN0cnVjdCBmZGlza19jb250ZXh0ICpwYXJlbnQsIGNvbnN0IGNoYXIgKm5hbWUpOwordm9pZCBmZGlza191bnJlZl9jb250ZXh0KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOwordm9pZCBmZGlza19yZWZfY29udGV4dChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKKworc3RydWN0IGZkaXNrX2NvbnRleHQgKmZkaXNrX2dldF9wYXJlbnQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitzaXplX3QgZmRpc2tfZ2V0X25wYXJ0aXRpb25zKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCitzdHJ1Y3QgZmRpc2tfbGFiZWwgKmZkaXNrX2dldF9sYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBjb25zdCBjaGFyICpuYW1lKTsKK2ludCBmZGlza19uZXh0X2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHN0cnVjdCBmZGlza19sYWJlbCAqKmxiKTsKK3NpemVfdCBmZGlza19nZXRfbmxhYmVscyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKKworaW50IGZkaXNrX2hhc19sYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2ludCBmZGlza19pc19sYWJlbHR5cGUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgZW51bSBmZGlza19sYWJlbHR5cGUgaWQpOworI2RlZmluZSBmZGlza19pc19sYWJlbChjLCB4KSBmZGlza19pc19sYWJlbHR5cGUoYywgRkRJU0tfRElTS0xBQkVMXyAjIyB4KQorCisKK2ludCBmZGlza19hc3NpZ25fZGV2aWNlKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQljb25zdCBjaGFyICpmbmFtZSwgaW50IHJlYWRvbmx5KTsKK2ludCBmZGlza19kZWFzc2lnbl9kZXZpY2Uoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgaW50IG5vc3luYyk7CitpbnQgZmRpc2tfaXNfcmVhZG9ubHkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CisKK2ludCBmZGlza19lbmFibGVfZGV0YWlscyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBpbnQgZW5hYmxlKTsKK2ludCBmZGlza19pc19kZXRhaWxzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCitpbnQgZmRpc2tfZW5hYmxlX2xpc3Rvbmx5KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGludCBlbmFibGUpOworaW50IGZkaXNrX2lzX2xpc3Rvbmx5KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCitpbnQgZmRpc2tfZW5hYmxlX3dpcGUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgaW50IGVuYWJsZSk7CitpbnQgZmRpc2tfaGFzX3dpcGUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7Citjb25zdCBjaGFyICpmZGlza19nZXRfY29sbGlzaW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCitpbnQgZmRpc2tfc2V0X3VuaXQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqc3RyKTsKK2NvbnN0IGNoYXIgKmZkaXNrX2dldF91bml0KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGludCBuKTsKK2ludCBmZGlza191c2VfY3lsaW5kZXJzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOwordW5zaWduZWQgaW50IGZkaXNrX2dldF91bml0c19wZXJfc2VjdG9yKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCit1bnNpZ25lZCBsb25nIGZkaXNrX2dldF9vcHRpbWFsX2lvc2l6ZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK3Vuc2lnbmVkIGxvbmcgZmRpc2tfZ2V0X21pbmltYWxfaW9zaXplKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOwordW5zaWduZWQgbG9uZyBmZGlza19nZXRfcGh5c2VjdG9yX3NpemUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7Cit1bnNpZ25lZCBsb25nIGZkaXNrX2dldF9zZWN0b3Jfc2l6ZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK3Vuc2lnbmVkIGxvbmcgZmRpc2tfZ2V0X2FsaWdubWVudF9vZmZzZXQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7Cit1bnNpZ25lZCBsb25nIGZkaXNrX2dldF9ncmFpbl9zaXplKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworZmRpc2tfc2VjdG9yX3QgZmRpc2tfZ2V0X2ZpcnN0X2xiYShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2ZkaXNrX3NlY3Rvcl90IGZkaXNrX3NldF9maXJzdF9sYmEoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgZmRpc2tfc2VjdG9yX3QgbGJhKTsKK2ZkaXNrX3NlY3Rvcl90IGZkaXNrX2dldF9sYXN0X2xiYShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2ZkaXNrX3NlY3Rvcl90IGZkaXNrX3NldF9sYXN0X2xiYShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBmZGlza19zZWN0b3JfdCBsYmEpOworZmRpc2tfc2VjdG9yX3QgZmRpc2tfZ2V0X25zZWN0b3JzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworY29uc3QgY2hhciAqZmRpc2tfZ2V0X2Rldm5hbWUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitpbnQgZmRpc2tfZ2V0X2RldmZkKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCit1bnNpZ25lZCBpbnQgZmRpc2tfZ2V0X2dlb21faGVhZHMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitmZGlza19zZWN0b3JfdCBmZGlza19nZXRfZ2VvbV9zZWN0b3JzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworZmRpc2tfc2VjdG9yX3QgZmRpc2tfZ2V0X2dlb21fY3lsaW5kZXJzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCitlbnVtIHsKKwlGRElTS19TSVpFVU5JVF9IVU1BTgk9IDAsCS8qIGRlZmF1bHQsIGh1bWFuIHJlYWRhYmxlIHtNLEcsUCwuLi59ICovCisJRkRJU0tfU0laRVVOSVRfQllURVMJCS8qIGJ5dGVzICovCit9OworaW50IGZkaXNrX3NldF9zaXplX3VuaXQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgaW50IHVuaXQpOworaW50IGZkaXNrX2dldF9zaXplX3VuaXQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CisKK2ludCBmZGlza19oYXNfcHJvdGVjdGVkX2Jvb3RiaXRzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworaW50IGZkaXNrX2VuYWJsZV9ib290Yml0c19wcm90ZWN0aW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGludCBlbmFibGUpOworCisvKiBwYXJ0dHlwZS5jICovCitzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKmZkaXNrX25ld19wYXJ0dHlwZSh2b2lkKTsKK3ZvaWQgZmRpc2tfcmVmX3BhcnR0eXBlKHN0cnVjdCBmZGlza19wYXJ0dHlwZSAqdCk7Cit2b2lkIGZkaXNrX3VucmVmX3BhcnR0eXBlKHN0cnVjdCBmZGlza19wYXJ0dHlwZSAqdCk7CitpbnQgZmRpc2tfcGFydHR5cGVfc2V0X25hbWUoc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0LCBjb25zdCBjaGFyICpzdHIpOworaW50IGZkaXNrX3BhcnR0eXBlX3NldF90eXBlc3RyKHN0cnVjdCBmZGlza19wYXJ0dHlwZSAqdCwgY29uc3QgY2hhciAqc3RyKTsKK2ludCBmZGlza19wYXJ0dHlwZV9zZXRfY29kZShzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQsIGludCBjb2RlKTsKK3NpemVfdCBmZGlza19sYWJlbF9nZXRfbnBhcnR0eXBlcyhjb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiKTsKK3N0cnVjdCBmZGlza19wYXJ0dHlwZSAqZmRpc2tfbGFiZWxfZ2V0X3BhcnR0eXBlKGNvbnN0IHN0cnVjdCBmZGlza19sYWJlbCAqbGIsIHNpemVfdCBuKTsKK2ludCBmZGlza19sYWJlbF9oYXNfY29kZV9wYXJ0dHlwZXMoY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsICpsYik7CitzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKmZkaXNrX2xhYmVsX2dldF9wYXJ0dHlwZV9mcm9tX2NvZGUoCisJCQkJY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsICpsYiwKKwkJCQl1bnNpZ25lZCBpbnQgY29kZSk7CitzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKmZkaXNrX2xhYmVsX2dldF9wYXJ0dHlwZV9mcm9tX3N0cmluZygKKwkJCQljb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiLAorCQkJCWNvbnN0IGNoYXIgKnN0cik7CitzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKmZkaXNrX25ld191bmtub3duX3BhcnR0eXBlKHVuc2lnbmVkIGludCBjb2RlLAorCQkJCQkJICBjb25zdCBjaGFyICp0eXBlc3RyKTsKK3N0cnVjdCBmZGlza19wYXJ0dHlwZSAqZmRpc2tfY29weV9wYXJ0dHlwZShjb25zdCBzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnR5cGUpOworc3RydWN0IGZkaXNrX3BhcnR0eXBlICpmZGlza19sYWJlbF9wYXJzZV9wYXJ0dHlwZSgKKwkJCQljb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiLAorCQkJCWNvbnN0IGNoYXIgKnN0cik7Citjb25zdCBjaGFyICpmZGlza19wYXJ0dHlwZV9nZXRfc3RyaW5nKGNvbnN0IHN0cnVjdCBmZGlza19wYXJ0dHlwZSAqdCk7Cit1bnNpZ25lZCBpbnQgZmRpc2tfcGFydHR5cGVfZ2V0X2NvZGUoY29uc3Qgc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0KTsKK2NvbnN0IGNoYXIgKmZkaXNrX3BhcnR0eXBlX2dldF9uYW1lKGNvbnN0IHN0cnVjdCBmZGlza19wYXJ0dHlwZSAqdCk7CitpbnQgZmRpc2tfcGFydHR5cGVfaXNfdW5rbm93bihjb25zdCBzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQpOworCisKKy8qIGZpZWxkLmMgKi8KK2V4dGVybiBpbnQgZmRpc2tfZmllbGRfZ2V0X2lkKGNvbnN0IHN0cnVjdCBmZGlza19maWVsZCAqZmllbGQpOworZXh0ZXJuIGNvbnN0IGNoYXIgKmZkaXNrX2ZpZWxkX2dldF9uYW1lKGNvbnN0IHN0cnVjdCBmZGlza19maWVsZCAqZmllbGQpOworZXh0ZXJuIGRvdWJsZSBmZGlza19maWVsZF9nZXRfd2lkdGgoY29uc3Qgc3RydWN0IGZkaXNrX2ZpZWxkICpmaWVsZCk7CitleHRlcm4gaW50IGZkaXNrX2ZpZWxkX2lzX251bWJlcihjb25zdCBzdHJ1Y3QgZmRpc2tfZmllbGQgKmZpZWxkKTsKKworCisvKiBsYWJlbC5jICovCisKKy8qKgorICogZmRpc2tfZmllbGR0eXBlCisgKgorICogVHlwZXMgb2YgZmRpc2tfZmllbGQuIFRoZSBmaWVsZHMgZGVzY3JpYmUgYSBwYXJ0aXRpb24uCisgKi8KK2VudW0gZmRpc2tfZmllbGR0eXBlIHsKKwlGRElTS19GSUVMRF9OT05FID0gMCwKKworCS8qIGdlbmVyaWMgKi8KKwlGRElTS19GSUVMRF9ERVZJQ0UsCQkvKiBwYXJ0aXRpb24gZGV2aWNlIG5hbWUgKi8KKwlGRElTS19GSUVMRF9TVEFSVCwJCS8qIHN0YXJ0IG9mZnNldCBvZiB0aGUgcGFydGl0aW9uICovCisJRkRJU0tfRklFTERfRU5ELAkJLyogZW5kIG9mZnNldCBvZiB0aGUgcGFydGl0aW9uICovCisJRkRJU0tfRklFTERfU0VDVE9SUywJCS8qIG51bWJlciBvZiBzZWN0b3JzICovCisJRkRJU0tfRklFTERfQ1lMSU5ERVJTLAkJLyogbnVtYmVyIG9mIGN5bGluZGVycyAoZGVwcmVjYXRlZCkgKi8KKwlGRElTS19GSUVMRF9TSVpFLAkJLyogcGFydGl0aW9uIHNpemUgKi8KKwlGRElTS19GSUVMRF9UWVBFLAkJLyogcGFydGl0aW9uIHR5cGUgKi8KKwlGRElTS19GSUVMRF9UWVBFSUQsCQkvKiBwYXJ0aXRpb24gdHlwZSBJRCAqLworCisJLyogbGFiZWwgc3BlY2lmaWMgKi8KKwlGRElTS19GSUVMRF9BVFRSLAkJLyogcGFydGl0aW9uIGF0dHJpYnV0ZSAoR1BUKSAqLworCUZESVNLX0ZJRUxEX0JPT1QsCQkvKiBwYXJ0aXRpb24gYm9vdCBmbGFnICovCisJRkRJU0tfRklFTERfQlNJWkUsCQkvKiBzaXplIG9mIHRoZSBib290IGFyZWEgKEJTRCkgKi8KKwlGRElTS19GSUVMRF9DUEcsCQkvKiBCU0QgKi8KKwlGRElTS19GSUVMRF9FQUREUiwJCS8qIEVuZC1DL0gvUyAoTUJSKSAqLworCUZESVNLX0ZJRUxEX0ZTSVpFLAkJLyogQlNEICovCisJRkRJU0tfRklFTERfTkFNRSwJCS8qIHBhcnRpdGlvbiBsYWJlbC9uYW1lIChHUFQpICovCisJRkRJU0tfRklFTERfU0FERFIsCQkvKiBTdGFydC1DL0gvUyAoTUJSKSAqLworCUZESVNLX0ZJRUxEX1VVSUQsCQkvKiBwYXJ0aXRpb24gVVVJRCAoR1BUKSAqLworCisJRkRJU0tfRklFTERfRlNVVUlELAorCUZESVNLX0ZJRUxEX0ZTTEFCRUwsCisJRkRJU0tfRklFTERfRlNUWVBFLAorCisJRkRJU0tfTkZJRUxEUwkJLyogbXVzdCBiZSBsYXN0ICovCit9OworCitpbnQgZmRpc2tfbGFiZWxfZ2V0X3R5cGUoY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsICpsYik7Citjb25zdCBjaGFyICpmZGlza19sYWJlbF9nZXRfbmFtZShjb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiKTsKK2ludCBmZGlza19sYWJlbF9yZXF1aXJlX2dlb21ldHJ5KGNvbnN0IHN0cnVjdCBmZGlza19sYWJlbCAqbGIpOworCisKK2V4dGVybiBpbnQgZmRpc2tfd3JpdGVfZGlza2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworZXh0ZXJuIGludCBmZGlza192ZXJpZnlfZGlza2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworZXh0ZXJuIGludCBmZGlza19jcmVhdGVfZGlza2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKm5hbWUpOworZXh0ZXJuIGludCBmZGlza19saXN0X2Rpc2tsYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2V4dGVybiBpbnQgZmRpc2tfbG9jYXRlX2Rpc2tsYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBpbnQgbiwKKwkJCQkgIGNvbnN0IGNoYXIgKipuYW1lLAorCQkJCSAgdWludDY0X3QgKm9mZnNldCwKKwkJCQkgIHNpemVfdCAqc2l6ZSk7CisKKy8qKgorICogZmRpc2tfbGFiZWxpdGVtX2dlbgorICoKKyAqIEdlbmVyaWMgZGlza2xhYmVsIGl0ZW1zCisgKi8KK2VudW0gZmRpc2tfbGFiZWxpdGVtX2dlbiB7CisJRkRJU0tfTEFCRUxJVEVNX0lEID0gMCwJCS8qIFVuaXF1ZSBkaXNrIGlkZW50aWZpZXIgKi8KKworCV9fRkRJU0tfTkxBQkVMSVRFTVMgPSA4CQkvKiBTcGVjaWZpZXMgcmVzZXJ2ZWQgcmFuZ2UgZm9yIGdlbmVyaWMgaXRlbXMgKDAuLjcpICovCit9OworCisvKiBpdGVtLmMgKi8KK2V4dGVybiBzdHJ1Y3QgZmRpc2tfbGFiZWxpdGVtICpmZGlza19uZXdfbGFiZWxpdGVtKHZvaWQpOworZXh0ZXJuIHZvaWQgZmRpc2tfcmVmX2xhYmVsaXRlbShzdHJ1Y3QgZmRpc2tfbGFiZWxpdGVtICpsaSk7CitleHRlcm4gaW50IGZkaXNrX3Jlc2V0X2xhYmVsaXRlbShzdHJ1Y3QgZmRpc2tfbGFiZWxpdGVtICpsaSk7CitleHRlcm4gdm9pZCBmZGlza191bnJlZl9sYWJlbGl0ZW0oc3RydWN0IGZkaXNrX2xhYmVsaXRlbSAqbGkpOworZXh0ZXJuIGNvbnN0IGNoYXIgKmZkaXNrX2xhYmVsaXRlbV9nZXRfbmFtZShzdHJ1Y3QgZmRpc2tfbGFiZWxpdGVtICpsaSk7CitleHRlcm4gaW50IGZkaXNrX2xhYmVsaXRlbV9nZXRfaWQoc3RydWN0IGZkaXNrX2xhYmVsaXRlbSAqbGkpOworZXh0ZXJuIGludCBmZGlza19sYWJlbGl0ZW1fZ2V0X2RhdGFfdTY0KHN0cnVjdCBmZGlza19sYWJlbGl0ZW0gKmxpLCB1aW50NjRfdCAqZGF0YSk7CitleHRlcm4gaW50IGZkaXNrX2xhYmVsaXRlbV9nZXRfZGF0YV9zdHJpbmcoc3RydWN0IGZkaXNrX2xhYmVsaXRlbSAqbGksIGNvbnN0IGNoYXIgKipkYXRhKTsKK2V4dGVybiBpbnQgZmRpc2tfbGFiZWxpdGVtX2lzX3N0cmluZyhzdHJ1Y3QgZmRpc2tfbGFiZWxpdGVtICpsaSk7CitleHRlcm4gaW50IGZkaXNrX2xhYmVsaXRlbV9pc19udW1iZXIoc3RydWN0IGZkaXNrX2xhYmVsaXRlbSAqbGkpOworCitleHRlcm4gaW50IGZkaXNrX2dldF9kaXNrbGFiZWxfaXRlbShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBpbnQgaWQsIHN0cnVjdCBmZGlza19sYWJlbGl0ZW0gKml0ZW0pOworCitleHRlcm4gaW50IGZkaXNrX2dldF9kaXNrbGFiZWxfaWQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgY2hhciAqKmlkKTsKK2V4dGVybiBpbnQgZmRpc2tfc2V0X2Rpc2tsYWJlbF9pZChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKKworZXh0ZXJuIGludCBmZGlza19nZXRfcGFydGl0aW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBwYXJ0bm8sIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKipwYSk7CitleHRlcm4gaW50IGZkaXNrX3NldF9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IHBhcnRubywgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpOworZXh0ZXJuIGludCBmZGlza19hZGRfcGFydGl0aW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhLCBzaXplX3QgKnBhcnRubyk7CitleHRlcm4gaW50IGZkaXNrX2RlbGV0ZV9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IHBhcnRubyk7CitleHRlcm4gaW50IGZkaXNrX2RlbGV0ZV9hbGxfcGFydGl0aW9ucyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKKworZXh0ZXJuIGludCBmZGlza193aXBlX3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgcGFydG5vLCBpbnQgZW5hYmxlKTsKKworZXh0ZXJuIGludCBmZGlza19zZXRfcGFydGl0aW9uX3R5cGUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IHBhcnRudW0sCisJCQkgICAgIHN0cnVjdCBmZGlza19wYXJ0dHlwZSAqdCk7CisKKworZXh0ZXJuIGludCBmZGlza19sYWJlbF9nZXRfZmllbGRzX2lkcygKKwkJCWNvbnN0IHN0cnVjdCBmZGlza19sYWJlbCAqbGIsCisJCQlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJaW50ICoqaWRzLCBzaXplX3QgKm5pZHMpOworCitleHRlcm4gaW50IGZkaXNrX2xhYmVsX2dldF9maWVsZHNfaWRzX2FsbCgKKwkJCWNvbnN0IHN0cnVjdCBmZGlza19sYWJlbCAqbGIsCisJCQlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJaW50ICoqaWRzLCBzaXplX3QgKm5pZHMpOworCitleHRlcm4gY29uc3Qgc3RydWN0IGZkaXNrX2ZpZWxkICpmZGlza19sYWJlbF9nZXRfZmllbGQoY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsICpsYiwgaW50IGlkKTsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgZmRpc2tfZmllbGQgKmZkaXNrX2xhYmVsX2dldF9maWVsZF9ieV9uYW1lKAorCQkJY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsICpsYiwKKwkJCWNvbnN0IGNoYXIgKm5hbWUpOworCitleHRlcm4gdm9pZCBmZGlza19sYWJlbF9zZXRfY2hhbmdlZChzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiLCBpbnQgY2hhbmdlZCk7CitleHRlcm4gaW50IGZkaXNrX2xhYmVsX2lzX2NoYW5nZWQoY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsICpsYik7CisKK2V4dGVybiB2b2lkIGZkaXNrX2xhYmVsX3NldF9kaXNhYmxlZChzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiLCBpbnQgZGlzYWJsZWQpOworZXh0ZXJuIGludCBmZGlza19sYWJlbF9pc19kaXNhYmxlZChjb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiKTsKKworZXh0ZXJuIGludCBmZGlza19pc19wYXJ0aXRpb25fdXNlZChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3Qgbik7CisKK2V4dGVybiBpbnQgZmRpc2tfdG9nZ2xlX3BhcnRpdGlvbl9mbGFnKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBwYXJ0bnVtLCB1bnNpZ25lZCBsb25nIGZsYWcpOworCitleHRlcm4gc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqZmRpc2tfbmV3X3BhcnRpdGlvbih2b2lkKTsKK2V4dGVybiB2b2lkIGZkaXNrX3Jlc2V0X3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSk7CitleHRlcm4gdm9pZCBmZGlza19yZWZfcGFydGl0aW9uKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKTsKK2V4dGVybiB2b2lkIGZkaXNrX3VucmVmX3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSk7CitleHRlcm4gaW50IGZkaXNrX3BhcnRpdGlvbl9pc19mcmVlc3BhY2Uoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpOworCitpbnQgZmRpc2tfcGFydGl0aW9uX3NldF9zdGFydChzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwgdWludDY0X3Qgb2ZmKTsKK2ludCBmZGlza19wYXJ0aXRpb25fdW5zZXRfc3RhcnQoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpOwordWludDY0X3QgZmRpc2tfcGFydGl0aW9uX2dldF9zdGFydChzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSk7CitpbnQgZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydChzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSk7CitpbnQgZmRpc2tfcGFydGl0aW9uX2NtcF9zdGFydChzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICphLAorCQkJICAgICAgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqYik7CitpbnQgZmRpc2tfcGFydGl0aW9uX3N0YXJ0X2ZvbGxvd19kZWZhdWx0KHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhLCBpbnQgZW5hYmxlKTsKK2ludCBmZGlza19wYXJ0aXRpb25fc3RhcnRfaXNfZGVmYXVsdChzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSk7CisKK2ludCBmZGlza19wYXJ0aXRpb25fc2V0X3NpemUoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsIHVpbnQ2NF90IHN6KTsKK2ludCBmZGlza19wYXJ0aXRpb25fdW5zZXRfc2l6ZShzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSk7Cit1aW50NjRfdCBmZGlza19wYXJ0aXRpb25fZ2V0X3NpemUoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpOworaW50IGZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSk7CitpbnQgZmRpc2tfcGFydGl0aW9uX3NpemVfZXhwbGljaXQoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsIGludCBlbmFibGUpOworCitpbnQgZmRpc2tfcGFydGl0aW9uX2hhc19lbmQoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpOworZmRpc2tfc2VjdG9yX3QgZmRpc2tfcGFydGl0aW9uX2dldF9lbmQoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpOworCitpbnQgZmRpc2tfcGFydGl0aW9uX3NldF9wYXJ0bm8oc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsIHNpemVfdCBudW0pOworaW50IGZkaXNrX3BhcnRpdGlvbl91bnNldF9wYXJ0bm8oc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpOworc2l6ZV90IGZkaXNrX3BhcnRpdGlvbl9nZXRfcGFydG5vKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKTsKK2ludCBmZGlza19wYXJ0aXRpb25faGFzX3BhcnRubyhzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSk7CitpbnQgZmRpc2tfcGFydGl0aW9uX2NtcF9wYXJ0bm8oc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqYSwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqYik7CisKK2ludCBmZGlza19wYXJ0aXRpb25fcGFydG5vX2ZvbGxvd19kZWZhdWx0KHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhLCBpbnQgZW5hYmxlKTsKKworZXh0ZXJuIGludCBmZGlza19wYXJ0aXRpb25fc2V0X3R5cGUoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsIHN0cnVjdCBmZGlza19wYXJ0dHlwZSAqdHlwZSk7CitleHRlcm4gc3RydWN0IGZkaXNrX3BhcnR0eXBlICpmZGlza19wYXJ0aXRpb25fZ2V0X3R5cGUoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpOworZXh0ZXJuIGludCBmZGlza19wYXJ0aXRpb25fc2V0X25hbWUoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsIGNvbnN0IGNoYXIgKm5hbWUpOworZXh0ZXJuIGNvbnN0IGNoYXIgKmZkaXNrX3BhcnRpdGlvbl9nZXRfbmFtZShzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSk7CitleHRlcm4gaW50IGZkaXNrX3BhcnRpdGlvbl9zZXRfdXVpZChzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwgY29uc3QgY2hhciAqdXVpZCk7CitleHRlcm4gaW50IGZkaXNrX3BhcnRpdGlvbl9zZXRfYXR0cnMoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsIGNvbnN0IGNoYXIgKmF0dHJzKTsKK2V4dGVybiBjb25zdCBjaGFyICpmZGlza19wYXJ0aXRpb25fZ2V0X3V1aWQoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpOworZXh0ZXJuIGNvbnN0IGNoYXIgKmZkaXNrX3BhcnRpdGlvbl9nZXRfYXR0cnMoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpOworZXh0ZXJuIGludCBmZGlza19wYXJ0aXRpb25faXNfbmVzdGVkKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKTsKK2V4dGVybiBpbnQgZmRpc2tfcGFydGl0aW9uX2lzX2NvbnRhaW5lcihzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSk7CitleHRlcm4gaW50IGZkaXNrX3BhcnRpdGlvbl9nZXRfcGFyZW50KHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhLCBzaXplX3QgKnBhcmVudCk7CitleHRlcm4gaW50IGZkaXNrX3BhcnRpdGlvbl9pc191c2VkKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKTsKK2V4dGVybiBpbnQgZmRpc2tfcGFydGl0aW9uX2lzX2Jvb3RhYmxlKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKTsKK2V4dGVybiBpbnQgZmRpc2tfcGFydGl0aW9uX2lzX3dob2xlZGlzayhzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSk7CitleHRlcm4gaW50IGZkaXNrX3BhcnRpdGlvbl90b19zdHJpbmcoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsCisJCQkJICAgICBzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJCSAgICAgaW50IGlkLCBjaGFyICoqZGF0YSk7CisKK2ludCBmZGlza19wYXJ0aXRpb25fbmV4dF9wYXJ0bm8oc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsCisJCQkJICAgICAgIHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQkJICAgICAgIHNpemVfdCAqbik7CisKK2V4dGVybiBpbnQgZmRpc2tfcGFydGl0aW9uX2VuZF9mb2xsb3dfZGVmYXVsdChzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwgaW50IGVuYWJsZSk7CitleHRlcm4gaW50IGZkaXNrX3BhcnRpdGlvbl9lbmRfaXNfZGVmYXVsdChzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSk7CisKK2V4dGVybiBpbnQgZmRpc2tfcmVvcmRlcl9wYXJ0aXRpb25zKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCisvKiB0YWJsZS5jICovCitleHRlcm4gc3RydWN0IGZkaXNrX3RhYmxlICpmZGlza19uZXdfdGFibGUodm9pZCk7CitleHRlcm4gaW50IGZkaXNrX3Jlc2V0X3RhYmxlKHN0cnVjdCBmZGlza190YWJsZSAqdGIpOworZXh0ZXJuIHZvaWQgZmRpc2tfcmVmX3RhYmxlKHN0cnVjdCBmZGlza190YWJsZSAqdGIpOworZXh0ZXJuIHZvaWQgZmRpc2tfdW5yZWZfdGFibGUoc3RydWN0IGZkaXNrX3RhYmxlICp0Yik7CitleHRlcm4gc2l6ZV90IGZkaXNrX3RhYmxlX2dldF9uZW50cyhzdHJ1Y3QgZmRpc2tfdGFibGUgKnRiKTsKK2V4dGVybiBpbnQgZmRpc2tfdGFibGVfaXNfZW1wdHkoc3RydWN0IGZkaXNrX3RhYmxlICp0Yik7CitleHRlcm4gaW50IGZkaXNrX3RhYmxlX2FkZF9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX3RhYmxlICp0Yiwgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpOworZXh0ZXJuIGludCBmZGlza190YWJsZV9yZW1vdmVfcGFydGl0aW9uKHN0cnVjdCBmZGlza190YWJsZSAqdGIsIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKTsKKworZXh0ZXJuIGludCBmZGlza19nZXRfcGFydGl0aW9ucyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzdHJ1Y3QgZmRpc2tfdGFibGUgKip0Yik7CitleHRlcm4gaW50IGZkaXNrX2dldF9mcmVlc3BhY2VzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHN0cnVjdCBmZGlza190YWJsZSAqKnRiKTsKKworZXh0ZXJuIGludCBmZGlza190YWJsZV93cm9uZ19vcmRlcihzdHJ1Y3QgZmRpc2tfdGFibGUgKnRiKTsKK2V4dGVybiBpbnQgZmRpc2tfdGFibGVfc29ydF9wYXJ0aXRpb25zKHN0cnVjdCBmZGlza190YWJsZSAqdGIsCisJCQlpbnQgKCpjbXApKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKiwKKwkJCQkgICBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICopKTsKKworZXh0ZXJuIGludCBmZGlza190YWJsZV9uZXh0X3BhcnRpdGlvbigKKwkJCXN0cnVjdCBmZGlza190YWJsZSAqdGIsCisJCQlzdHJ1Y3QgZmRpc2tfaXRlciAqaXRyLAorCQkJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqKnBhKTsKKworZXh0ZXJuIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKmZkaXNrX3RhYmxlX2dldF9wYXJ0aXRpb24oCisJCQlzdHJ1Y3QgZmRpc2tfdGFibGUgKnRiLAorCQkJc2l6ZV90IG4pOworZXh0ZXJuIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKmZkaXNrX3RhYmxlX2dldF9wYXJ0aXRpb25fYnlfcGFydG5vKAorCQkJc3RydWN0IGZkaXNrX3RhYmxlICp0YiwKKwkJCXNpemVfdCBwYXJ0bm8pOworCitleHRlcm4gaW50IGZkaXNrX2FwcGx5X3RhYmxlKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHN0cnVjdCBmZGlza190YWJsZSAqdGIpOworCisvKiBhbGlnbm1lbnQuYyAqLworI2RlZmluZSBGRElTS19BTElHTl9VUAkJMQorI2RlZmluZSBGRElTS19BTElHTl9ET1dOCTIKKyNkZWZpbmUgRkRJU0tfQUxJR05fTkVBUkVTVAkzCisKK2ZkaXNrX3NlY3Rvcl90IGZkaXNrX2FsaWduX2xiYShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBmZGlza19zZWN0b3JfdCBsYmEsIGludCBkaXJlY3Rpb24pOworZmRpc2tfc2VjdG9yX3QgZmRpc2tfYWxpZ25fbGJhX2luX3JhbmdlKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQkJICBmZGlza19zZWN0b3JfdCBsYmEsIGZkaXNrX3NlY3Rvcl90IHN0YXJ0LCBmZGlza19zZWN0b3JfdCBzdG9wKTsKK2ludCBmZGlza19sYmFfaXNfcGh5X2FsaWduZWQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgZmRpc2tfc2VjdG9yX3QgbGJhKTsKKworaW50IGZkaXNrX292ZXJyaWRlX2dlb21ldHJ5KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQkgICAgdW5zaWduZWQgaW50IGN5bGluZGVycywKKwkJCSAgICB1bnNpZ25lZCBpbnQgaGVhZHMsCisJCQkgICAgdW5zaWduZWQgaW50IHNlY3RvcnMpOworaW50IGZkaXNrX3NhdmVfdXNlcl9nZW9tZXRyeShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJICAgIHVuc2lnbmVkIGludCBjeWxpbmRlcnMsCisJCQkgICAgdW5zaWduZWQgaW50IGhlYWRzLAorCQkJICAgIHVuc2lnbmVkIGludCBzZWN0b3JzKTsKK2ludCBmZGlza19zYXZlX3VzZXJfc2VjdG9yX3NpemUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCQl1bnNpZ25lZCBpbnQgcGh5LAorCQkJCXVuc2lnbmVkIGludCBsb2cpOworaW50IGZkaXNrX2hhc191c2VyX2RldmljZV9wcm9wZXJ0aWVzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworaW50IGZkaXNrX3Jlc2V0X2FsaWdubWVudChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2ludCBmZGlza19yZXNldF9kZXZpY2VfcHJvcGVydGllcyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2ludCBmZGlza19yZXJlYWRfcGFydGl0aW9uX3RhYmxlKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCisvKiBpdGVyLmMgKi8KK2VudW0geworCisJRkRJU0tfSVRFUl9GT1JXQVJEID0gMCwKKwlGRElTS19JVEVSX0JBQ0tXQVJECit9OworZXh0ZXJuIHN0cnVjdCBmZGlza19pdGVyICpmZGlza19uZXdfaXRlcihpbnQgZGlyZWN0aW9uKTsKK2V4dGVybiB2b2lkIGZkaXNrX2ZyZWVfaXRlcihzdHJ1Y3QgZmRpc2tfaXRlciAqaXRyKTsKK2V4dGVybiB2b2lkIGZkaXNrX3Jlc2V0X2l0ZXIoc3RydWN0IGZkaXNrX2l0ZXIgKml0ciwgaW50IGRpcmVjdGlvbik7CitleHRlcm4gaW50IGZkaXNrX2l0ZXJfZ2V0X2RpcmVjdGlvbihzdHJ1Y3QgZmRpc2tfaXRlciAqaXRyKTsKKworCisvKiBkb3MuYyAqLworI2RlZmluZSBET1NfRkxBR19BQ1RJVkUJMQorCitleHRlcm4gaW50IGZkaXNrX2Rvc19tb3ZlX2JlZ2luKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBpKTsKK2V4dGVybiBpbnQgZmRpc2tfZG9zX2VuYWJsZV9jb21wYXRpYmxlKHN0cnVjdCBmZGlza19sYWJlbCAqbGIsIGludCBlbmFibGUpOworZXh0ZXJuIGludCBmZGlza19kb3NfaXNfY29tcGF0aWJsZShzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiKTsKKworLyogc3VuLmggKi8KK2V4dGVybiBpbnQgZmRpc2tfc3VuX3NldF9hbHRfY3lsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworZXh0ZXJuIGludCBmZGlza19zdW5fc2V0X3hjeWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IGZkaXNrX3N1bl9zZXRfaWxmYWN0KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworZXh0ZXJuIGludCBmZGlza19zdW5fc2V0X3JzcGVlZChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2V4dGVybiBpbnQgZmRpc2tfc3VuX3NldF9wY3lsY291bnQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CisKK2VudW0gZmRpc2tfbGFiZWxpdGVtX3N1biB7CisJU1VOX0xBQkVMSVRFTV9MQUJFTElEID0gX19GRElTS19OTEFCRUxJVEVNUywKKwlTVU5fTEFCRUxJVEVNX1ZUT0NJRCwKKwlTVU5fTEFCRUxJVEVNX1JQTSwKKwlTVU5fTEFCRUxJVEVNX0FDWUwsCisJU1VOX0xBQkVMSVRFTV9QQ1lMLAorCVNVTl9MQUJFTElURU1fQVBDLAorCVNVTl9MQUJFTElURU1fSU5UUkxWCit9OworCisvKiBic2QuYyAqLworZXh0ZXJuIGludCBmZGlza19ic2RfZWRpdF9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IGZkaXNrX2JzZF93cml0ZV9ib290c3RyYXAoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IGZkaXNrX2JzZF9saW5rX3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKKworZW51bSBmZGlza19sYWJlbGl0ZW1fYnNkIHsKKwkvKiBzcGVjaWZpYyAqLworCUJTRF9MQUJFTElURU1fVFlQRSA9IF9fRkRJU0tfTkxBQkVMSVRFTVMsCisJQlNEX0xBQkVMSVRFTV9ESVNLLAorCUJTRF9MQUJFTElURU1fUEFDS05BTUUsCisJQlNEX0xBQkVMSVRFTV9GTEFHUywKKwlCU0RfTEFCRUxJVEVNX1NFQ1NJWkUsCisJQlNEX0xBQkVMSVRFTV9OVFJBQ0tTLAorCUJTRF9MQUJFTElURU1fU0VDUEVSQ1lMLAorCUJTRF9MQUJFTElURU1fQ1lMSU5ERVJTLAorCUJTRF9MQUJFTElURU1fUlBNLAorCUJTRF9MQUJFTElURU1fSU5URVJMRUFWRSwKKwlCU0RfTEFCRUxJVEVNX1RSQUNLU0tFVywKKwlCU0RfTEFCRUxJVEVNX0NZTElOREVSU0tFVywKKwlCU0RfTEFCRUxJVEVNX0hFQURTV0lUQ0gsCisJQlNEX0xBQkVMSVRFTV9UUktTRUVLCit9OworCisvKiBzZ2kuaCAqLworI2RlZmluZSBTR0lfRkxBR19CT09UCTEKKyNkZWZpbmUgU0dJX0ZMQUdfU1dBUAkyCitleHRlcm4gaW50IGZkaXNrX3NnaV9zZXRfYm9vdGZpbGUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IGZkaXNrX3NnaV9jcmVhdGVfaW5mbyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKKworZW51bSBmZGlza19sYWJlbGl0ZW1fc2dpIHsKKwlTR0lfTEFCRUxJVEVNX1BDWUxDT1VOVCA9IF9fRkRJU0tfTkxBQkVMSVRFTVMsCisJU0dJX0xBQkVMSVRFTV9TUEFSRUNZTCwKKwlTR0lfTEFCRUxJVEVNX0lMRkFDVCwKKwlTR0lfTEFCRUxJVEVNX0JPT1RGSUxFCit9OworCisvKiBncHQgKi8KKworLyoKKyAqIEdQVCBwYXJ0aXRpb24gYXR0cmlidXRlcworICovCisKKy8qKgorICogR1BUX0ZMQUdfUkVRVUlSRUQ6CisgKgorICogR1BUIGF0dHJpYnV0ZTsgbWFya3MgYSBwYXJ0aXRpb24gYXMgc3lzdGVtIHBhcnRpdGlvbiAoZGlzaworICogcGFydGl0aW9uaW5nIHV0aWxpdGllcyBtdXN0IHByZXNlcnZlIHRoZSBwYXJ0aXRpb24gYXMgaXMpCisgKi8KKyNkZWZpbmUgR1BUX0ZMQUdfUkVRVUlSRUQJMQorCisvKioKKyAqIEdQVF9GTEFHX05PQkxPQ0s6CisgKgorICogR1BUIGF0dHJpYnV0ZTsgRUZJIGZpcm13YXJlIHNob3VsZCBpZ25vcmUgdGhlIGNvbnRlbnQgb2YgdGhlCisgKiBwYXJ0aXRpb24gYW5kIG5vdCB0cnkgdG8gcmVhZCBmcm9tIGl0CisgKi8KKyNkZWZpbmUgR1BUX0ZMQUdfTk9CTE9DSwkyCisKKy8qKgorICogR1BUX0ZMQUdfTEVHQUNZQk9PVDoKKyAqCisgKiBHUFQgYXR0cmlidXRlOyB1c2UgdGhlIHBhcnRpdGlvbiBmb3IgbGVnYWN5IGJvb3QgbWV0aG9kCisgKi8KKyNkZWZpbmUgR1BUX0ZMQUdfTEVHQUNZQk9PVAkzCisKKy8qKgorICogR1BUX0ZMQUdfR1VJRFNQRUNJRklDOgorICoKKyAqIEdQVCBhdHRyaWJ1dGU7IGZvciBiaXRlcyA0OC02MywgZGVmaW5lZCBhbmQgdXNlZCBieSB0aGUgaW5kaXZpZHVhbCBwYXJ0aXRpb24KKyAqIHR5cGUuCisgKgorICogVGhlIGZsYWcgR1BUX0ZMQUdfR1VJRFNQRUNJRklDIGZvcmNlcyBsaWJmZGlzayB0byBhc2sgKGJ5IGFzayBBUEkpCisgKiBmb3IgYSBiaXQgbnVtYmVyLiBJZiB5b3Ugd2FudCB0byB0b2dnbGUgc3BlY2lmaWMgYml0IGFuZCBhdm9pZCBhbnkKKyAqIGRpYWxvZywgdGhlbiB1c2UgdGhlIGJpdCBudW1iZXIgKGluIHJhbmdlIDQ4Li42MykuIEZvciBleGFtcGxlOgorICoKKyAqIC8vIHN0YXJ0IGRpYWxvZyB0byBhc2sgZm9yIGJpdCBudW1iZXIKKyAqIGZkaXNrX3RvZ2dsZV9wYXJ0aXRpb25fZmxhZyhjeHQsIG4sIEdQVF9GTEFHX0dVSURTUEVDSUZJQyk7CisgKgorICogLy8gdG9nZ2xlIGJpdCA2MAorICogZmRpc2tfdG9nZ2xlX3BhcnRpdGlvbl9mbGFnKGN4dCwgbiwgNjApOworICovCisjZGVmaW5lIEdQVF9GTEFHX0dVSURTUEVDSUZJQwk0CisKK2V4dGVybiBpbnQgZmRpc2tfZ3B0X2lzX2h5YnJpZChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2V4dGVybiBpbnQgZmRpc2tfZ3B0X3NldF9ucGFydGl0aW9ucyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCB1aW50MzJfdCBlbnRyaWVzKTsKK2V4dGVybiBpbnQgZmRpc2tfZ3B0X2dldF9wYXJ0aXRpb25fYXR0cnMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IHBhcnRudW0sIHVpbnQ2NF90ICphdHRycyk7CitleHRlcm4gaW50IGZkaXNrX2dwdF9zZXRfcGFydGl0aW9uX2F0dHJzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBwYXJ0bnVtLCB1aW50NjRfdCBhdHRycyk7CisKK2VudW0gZmRpc2tfbGFiZWxpdGVtX2dwdCB7CisJLyogZ2VuZXJpYyAqLworCUdQVF9MQUJFTElURU1fSUQgPSBGRElTS19MQUJFTElURU1fSUQsCQkvKiBHUFQgZGlza2xhYmVsIFVVSUQgKCE9IHBhcnRpdGlvbiBVVUlEKSAqLworCS8qIHNwZWNpZmljICovCisJR1BUX0xBQkVMSVRFTV9GSVJTVExCQSA9IF9fRkRJU0tfTkxBQkVMSVRFTVMsCS8qIEZpcnN0IFVzYWJsZSBMQkEgKi8KKwlHUFRfTEFCRUxJVEVNX0xBU1RMQkEsCQkJCS8qIExhc3QgVXNhYmxlIExCQSAqLworCUdQVF9MQUJFTElURU1fQUxUTEJBLAkJCQkvKiBBbHRlcm5hdGl2ZSBMQkEgKGJhY2t1cCBoZWFkZXIgTEJBKSAqLworCUdQVF9MQUJFTElURU1fRU5UUklFU0xCQSwJCQkvKiBQYXJ0aXRpb25zIGVudGlyZXMgYXJyYXkgTEJBICovCisJR1BUX0xBQkVMSVRFTV9FTlRSSUVTQUxMT0MJCQkvKiBOdW1iZXIgb2YgYWxsb2NhdGVkIGVudHJpZXMgaW4gZW50cmllcyBhcnJheSAqLworfTsKKworLyogc2NyaXB0LmMgKi8KK3N0cnVjdCBmZGlza19zY3JpcHQgKmZkaXNrX25ld19zY3JpcHQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpmZGlza19uZXdfc2NyaXB0X2Zyb21fZmlsZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJCQkJIGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKK3ZvaWQgZmRpc2tfcmVmX3NjcmlwdChzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCk7Cit2b2lkIGZkaXNrX3VucmVmX3NjcmlwdChzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCk7CisKK2NvbnN0IGNoYXIgKmZkaXNrX3NjcmlwdF9nZXRfaGVhZGVyKHN0cnVjdCBmZGlza19zY3JpcHQgKmRwLCBjb25zdCBjaGFyICpuYW1lKTsKK2ludCBmZGlza19zY3JpcHRfc2V0X2hlYWRlcihzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqZGF0YSk7CitzdHJ1Y3QgZmRpc2tfdGFibGUgKmZkaXNrX3NjcmlwdF9nZXRfdGFibGUoc3RydWN0IGZkaXNrX3NjcmlwdCAqZHApOworaW50IGZkaXNrX3NjcmlwdF9nZXRfbmxpbmVzKHN0cnVjdCBmZGlza19zY3JpcHQgKmRwKTsKKworaW50IGZkaXNrX3NjcmlwdF9zZXRfdXNlcmRhdGEoc3RydWN0IGZkaXNrX3NjcmlwdCAqZHAsIHZvaWQgKmRhdGEpOwordm9pZCAqZmRpc2tfc2NyaXB0X2dldF91c2VyZGF0YShzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCk7CisKK2ludCBmZGlza19zY3JpcHRfc2V0X2ZnZXRzKHN0cnVjdCBmZGlza19zY3JpcHQgKmRwLAorCQkJICAgY2hhciAqKCpmbl9mZ2V0cykoc3RydWN0IGZkaXNrX3NjcmlwdCAqLCBjaGFyICosIHNpemVfdCwgRklMRSAqKSk7CitpbnQgZmRpc2tfc2NyaXB0X3JlYWRfY29udGV4dChzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCwgc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitpbnQgZmRpc2tfc2NyaXB0X2VuYWJsZV9qc29uKHN0cnVjdCBmZGlza19zY3JpcHQgKmRwLCBpbnQganNvbik7CitpbnQgZmRpc2tfc2NyaXB0X3dyaXRlX2ZpbGUoc3RydWN0IGZkaXNrX3NjcmlwdCAqZHAsIEZJTEUgKmYpOworaW50IGZkaXNrX3NjcmlwdF9yZWFkX2ZpbGUoc3RydWN0IGZkaXNrX3NjcmlwdCAqZHAsIEZJTEUgKmYpOworaW50IGZkaXNrX3NjcmlwdF9yZWFkX2xpbmUoc3RydWN0IGZkaXNrX3NjcmlwdCAqZHAsIEZJTEUgKmYsIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnN6KTsKKworaW50IGZkaXNrX3NldF9zY3JpcHQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX3NjcmlwdCAqZHApOworc3RydWN0IGZkaXNrX3NjcmlwdCAqZmRpc2tfZ2V0X3NjcmlwdChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKKworaW50IGZkaXNrX2FwcGx5X3NjcmlwdF9oZWFkZXJzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHN0cnVjdCBmZGlza19zY3JpcHQgKmRwKTsKK2ludCBmZGlza19hcHBseV9zY3JpcHQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX3NjcmlwdCAqZHApOworCisKKy8qIGFzay5jICovCisjZGVmaW5lIGZkaXNrX2lzX2FzayhhLCB4KSAoZmRpc2tfYXNrX2dldF90eXBlKGEpID09IEZESVNLX0FTS1RZUEVfICMjIHgpCisKK2ludCBmZGlza19zZXRfYXNrKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCWludCAoKmFza19jYikoc3RydWN0IGZkaXNrX2NvbnRleHQgKiwgc3RydWN0IGZkaXNrX2FzayAqLCB2b2lkICopLAorCQl2b2lkICpkYXRhKTsKKworCit2b2lkIGZkaXNrX3JlZl9hc2soc3RydWN0IGZkaXNrX2FzayAqYXNrKTsKK3ZvaWQgZmRpc2tfdW5yZWZfYXNrKHN0cnVjdCBmZGlza19hc2sgKmFzayk7Citjb25zdCBjaGFyICpmZGlza19hc2tfZ2V0X3F1ZXJ5KHN0cnVjdCBmZGlza19hc2sgKmFzayk7CitpbnQgZmRpc2tfYXNrX2dldF90eXBlKHN0cnVjdCBmZGlza19hc2sgKmFzayk7Citjb25zdCBjaGFyICpmZGlza19hc2tfbnVtYmVyX2dldF9yYW5nZShzdHJ1Y3QgZmRpc2tfYXNrICphc2spOwordWludDY0X3QgZmRpc2tfYXNrX251bWJlcl9nZXRfZGVmYXVsdChzdHJ1Y3QgZmRpc2tfYXNrICphc2spOwordWludDY0X3QgZmRpc2tfYXNrX251bWJlcl9nZXRfbG93KHN0cnVjdCBmZGlza19hc2sgKmFzayk7Cit1aW50NjRfdCBmZGlza19hc2tfbnVtYmVyX2dldF9oaWdoKHN0cnVjdCBmZGlza19hc2sgKmFzayk7Cit1aW50NjRfdCBmZGlza19hc2tfbnVtYmVyX2dldF9yZXN1bHQoc3RydWN0IGZkaXNrX2FzayAqYXNrKTsKK2ludCBmZGlza19hc2tfbnVtYmVyX3NldF9yZXN1bHQoc3RydWN0IGZkaXNrX2FzayAqYXNrLCB1aW50NjRfdCByZXN1bHQpOwordWludDY0X3QgZmRpc2tfYXNrX251bWJlcl9nZXRfYmFzZShzdHJ1Y3QgZmRpc2tfYXNrICphc2spOwordWludDY0X3QgZmRpc2tfYXNrX251bWJlcl9nZXRfdW5pdChzdHJ1Y3QgZmRpc2tfYXNrICphc2spOworaW50IGZkaXNrX2Fza19udW1iZXJfc2V0X3JlbGF0aXZlKHN0cnVjdCBmZGlza19hc2sgKmFzaywgaW50IHJlbGF0aXZlKTsKK2ludCBmZGlza19hc2tfbnVtYmVyX2luY2hhcnMoc3RydWN0IGZkaXNrX2FzayAqYXNrKTsKK2ludCBmZGlza19hc2tfcGFydG51bShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgKnBhcnRudW0sIGludCB3YW50bmV3KTsKKworaW50IGZkaXNrX2Fza19udW1iZXIoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJICAgICB1aW50bWF4X3QgbG93LAorCQkgICAgIHVpbnRtYXhfdCBkZmx0LAorCQkgICAgIHVpbnRtYXhfdCBoaWdoLAorCQkgICAgIGNvbnN0IGNoYXIgKnF1ZXJ5LAorCQkgICAgIHVpbnRtYXhfdCAqcmVzdWx0KTsKK2NoYXIgKmZkaXNrX2Fza19zdHJpbmdfZ2V0X3Jlc3VsdChzdHJ1Y3QgZmRpc2tfYXNrICphc2spOworaW50IGZkaXNrX2Fza19zdHJpbmdfc2V0X3Jlc3VsdChzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIGNoYXIgKnJlc3VsdCk7CitpbnQgZmRpc2tfYXNrX3N0cmluZyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkgICAgIGNvbnN0IGNoYXIgKnF1ZXJ5LAorCQkgICAgIGNoYXIgKipyZXN1bHQpOworaW50IGZkaXNrX2Fza195ZXNubyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkgICAgIGNvbnN0IGNoYXIgKnF1ZXJ5LAorCQkgICAgIGludCAqcmVzdWx0KTsKK2ludCBmZGlza19hc2tfeWVzbm9fZ2V0X3Jlc3VsdChzdHJ1Y3QgZmRpc2tfYXNrICphc2spOworaW50IGZkaXNrX2Fza195ZXNub19zZXRfcmVzdWx0KHN0cnVjdCBmZGlza19hc2sgKmFzaywgaW50IHJlc3VsdCk7CitpbnQgZmRpc2tfYXNrX21lbnVfZ2V0X2RlZmF1bHQoc3RydWN0IGZkaXNrX2FzayAqYXNrKTsKK2ludCBmZGlza19hc2tfbWVudV9zZXRfcmVzdWx0KHN0cnVjdCBmZGlza19hc2sgKmFzaywgaW50IGtleSk7CitpbnQgZmRpc2tfYXNrX21lbnVfZ2V0X3Jlc3VsdChzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIGludCAqa2V5KTsKK2ludCBmZGlza19hc2tfbWVudV9nZXRfaXRlbShzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIHNpemVfdCBpZHgsIGludCAqa2V5LAorCQkJICAgIGNvbnN0IGNoYXIgKipuYW1lLCBjb25zdCBjaGFyICoqZGVzYyk7CitzaXplX3QgZmRpc2tfYXNrX21lbnVfZ2V0X25pdGVtcyhzdHJ1Y3QgZmRpc2tfYXNrICphc2spOworaW50IGZkaXNrX2Fza19wcmludF9nZXRfZXJybm8oc3RydWN0IGZkaXNrX2FzayAqYXNrKTsKK2NvbnN0IGNoYXIgKmZkaXNrX2Fza19wcmludF9nZXRfbWVzZyhzdHJ1Y3QgZmRpc2tfYXNrICphc2spOworCitpbnQgZmRpc2tfaW5mbyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBjb25zdCBjaGFyICpmbXQsIC4uLik7CitpbnQgZmRpc2tfd2FybihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBjb25zdCBjaGFyICpmbXQsIC4uLik7CitpbnQgZmRpc2tfd2Fybngoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqZm10LCAuLi4pOworCisvKiB1dGlscy5oICovCitleHRlcm4gY2hhciAqZmRpc2tfcGFydG5hbWUoY29uc3QgY2hhciAqZGV2LCBzaXplX3QgcGFydG5vKTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIF9MSUJGRElTS19IICovCmRpZmYgLS1naXQgYS9saWJmZGlzay9zcmMvbGliZmRpc2suc3ltIGIvbGliZmRpc2svc3JjL2xpYmZkaXNrLnN5bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMmNkN2E4Ci0tLSAvZGV2L251bGwKKysrIGIvbGliZmRpc2svc3JjL2xpYmZkaXNrLnN5bQpAQCAtMCwwICsxLDI3NiBAQAorLyoKKyAqIFRoZSBzeW1ib2wgdmVyc2lvbmluZyBlbnN1cmVzIHRoYXQgYSBuZXcgYXBwbGljYXRpb24gcmVxdWlyaW5nIHN5bWJvbCBmb287CisgKiBjYW4ndCBydW4gd2l0aCBvbGQgbGlicmFyeS5zbyBub3QgcHJvdmlkaW5nIGZvby4KKworICogVmVyc2lvbiBpbmZvIGNhbid0IGVuZm9yY2UgdGhpcyBzaW5jZSB3ZSBuZXZlciBjaGFuZ2UgdGhlIFNPTkFNRS4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAxNSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqLworRkRJU0tfMi4yNiB7CitnbG9iYWw6CisJZmRpc2tfYWRkX3BhcnRpdGlvbjsKKwlmZGlza19hbGlnbl9sYmE7CisJZmRpc2tfYWxpZ25fbGJhX2luX3JhbmdlOworCWZkaXNrX2FwcGx5X3NjcmlwdDsKKwlmZGlza19hcHBseV9zY3JpcHRfaGVhZGVyczsKKwlmZGlza19hcHBseV90YWJsZTsKKwlmZGlza19hc2tfZ2V0X3F1ZXJ5OworCWZkaXNrX2Fza19nZXRfdHlwZTsKKwlmZGlza19hc2tfbWVudV9nZXRfZGVmYXVsdDsKKwlmZGlza19hc2tfbWVudV9nZXRfaXRlbTsKKwlmZGlza19hc2tfbWVudV9nZXRfbml0ZW1zOworCWZkaXNrX2Fza19tZW51X2dldF9yZXN1bHQ7CisJZmRpc2tfYXNrX21lbnVfc2V0X3Jlc3VsdDsKKwlmZGlza19hc2tfbnVtYmVyOworCWZkaXNrX2Fza19udW1iZXJfZ2V0X2Jhc2U7CisJZmRpc2tfYXNrX251bWJlcl9nZXRfZGVmYXVsdDsKKwlmZGlza19hc2tfbnVtYmVyX2dldF9oaWdoOworCWZkaXNrX2Fza19udW1iZXJfZ2V0X2xvdzsKKwlmZGlza19hc2tfbnVtYmVyX2dldF9yYW5nZTsKKwlmZGlza19hc2tfbnVtYmVyX2dldF9yZXN1bHQ7CisJZmRpc2tfYXNrX251bWJlcl9nZXRfdW5pdDsKKwlmZGlza19hc2tfbnVtYmVyX2luY2hhcnM7CisJZmRpc2tfYXNrX251bWJlcl9zZXRfcmVsYXRpdmU7CisJZmRpc2tfYXNrX251bWJlcl9zZXRfcmVzdWx0OworCWZkaXNrX2Fza19wYXJ0bnVtOworCWZkaXNrX2Fza19wcmludF9nZXRfZXJybm87CisJZmRpc2tfYXNrX3ByaW50X2dldF9tZXNnOworCWZkaXNrX2Fza19zdHJpbmc7CisJZmRpc2tfYXNrX3N0cmluZ19nZXRfcmVzdWx0OworCWZkaXNrX2Fza19zdHJpbmdfc2V0X3Jlc3VsdDsKKwlmZGlza19hc2tfeWVzbm87CisJZmRpc2tfYXNrX3llc25vX2dldF9yZXN1bHQ7CisJZmRpc2tfYXNrX3llc25vX3NldF9yZXN1bHQ7CisJZmRpc2tfYXNzaWduX2RldmljZTsKKwlmZGlza19ic2RfZWRpdF9kaXNrbGFiZWw7CisJZmRpc2tfYnNkX2xpbmtfcGFydGl0aW9uOworCWZkaXNrX2JzZF93cml0ZV9ib290c3RyYXA7CisJZmRpc2tfY29weV9wYXJ0dHlwZTsKKwlmZGlza19jcmVhdGVfZGlza2xhYmVsOworCWZkaXNrX2RlYXNzaWduX2RldmljZTsKKwlmZGlza19kZWxldGVfYWxsX3BhcnRpdGlvbnM7CisJZmRpc2tfZGVsZXRlX3BhcnRpdGlvbjsKKwlmZGlza19kb3NfZW5hYmxlX2NvbXBhdGlibGU7CisJZmRpc2tfZG9zX2lzX2NvbXBhdGlibGU7CisJZmRpc2tfZG9zX21vdmVfYmVnaW47CisJZmRpc2tfZW5hYmxlX2RldGFpbHM7CisJZmRpc2tfZW5hYmxlX2xpc3Rvbmx5OworCWZkaXNrX2ZpZWxkX2dldF9pZDsKKwlmZGlza19maWVsZF9nZXRfbmFtZTsKKwlmZGlza19maWVsZF9nZXRfd2lkdGg7CisJZmRpc2tfZmllbGRfaXNfbnVtYmVyOworCWZkaXNrX2ZyZWVfaXRlcjsKKwlmZGlza19nZXRfYWxpZ25tZW50X29mZnNldDsKKwlmZGlza19nZXRfZGV2ZmQ7CisJZmRpc2tfZ2V0X2Rldm5hbWU7CisJZmRpc2tfZ2V0X2Rpc2tsYWJlbF9pZDsKKwlmZGlza19nZXRfZmlyc3RfbGJhOworCWZkaXNrX2dldF9mcmVlc3BhY2VzOworCWZkaXNrX2dldF9nZW9tX2N5bGluZGVyczsKKwlmZGlza19nZXRfZ2VvbV9oZWFkczsKKwlmZGlza19nZXRfZ2VvbV9zZWN0b3JzOworCWZkaXNrX2dldF9ncmFpbl9zaXplOworCWZkaXNrX2dldF9sYWJlbDsKKwlmZGlza19nZXRfbGFzdF9sYmE7CisJZmRpc2tfZ2V0X2xpYnJhcnlfZmVhdHVyZXM7CisJZmRpc2tfZ2V0X2xpYnJhcnlfdmVyc2lvbjsKKwlmZGlza19nZXRfbWluaW1hbF9pb3NpemU7CisJZmRpc2tfZ2V0X25sYWJlbHM7CisJZmRpc2tfZ2V0X25wYXJ0aXRpb25zOworCWZkaXNrX2dldF9uc2VjdG9yczsKKwlmZGlza19nZXRfb3B0aW1hbF9pb3NpemU7CisJZmRpc2tfZ2V0X3BhcmVudDsKKwlmZGlza19nZXRfcGFydGl0aW9uOworCWZkaXNrX2dldF9wYXJ0aXRpb25zOworCWZkaXNrX2dldF9waHlzZWN0b3Jfc2l6ZTsKKwlmZGlza19nZXRfc2NyaXB0OworCWZkaXNrX2dldF9zZWN0b3Jfc2l6ZTsKKwlmZGlza19nZXRfc2l6ZV91bml0OworCWZkaXNrX2dldF91bml0OworCWZkaXNrX2dldF91bml0c19wZXJfc2VjdG9yOworCWZkaXNrX2dwdF9pc19oeWJyaWQ7CisJZmRpc2tfaGFzX2xhYmVsOworCWZkaXNrX2hhc191c2VyX2RldmljZV9wcm9wZXJ0aWVzOworCWZkaXNrX2luZm87CisJZmRpc2tfaW5pdF9kZWJ1ZzsKKwlmZGlza19pc19kZXRhaWxzOworCWZkaXNrX2lzX2xhYmVsdHlwZTsKKwlmZGlza19pc19saXN0b25seTsKKwlmZGlza19pc19wYXJ0aXRpb25fdXNlZDsKKwlmZGlza19pc19yZWFkb25seTsKKwlmZGlza19pdGVyX2dldF9kaXJlY3Rpb247CisJZmRpc2tfbGFiZWxfZ2V0X2ZpZWxkOworCWZkaXNrX2xhYmVsX2dldF9maWVsZF9ieV9uYW1lOworCWZkaXNrX2xhYmVsX2dldF9maWVsZHNfaWRzOworCWZkaXNrX2xhYmVsX2dldF9uYW1lOworCWZkaXNrX2xhYmVsX2dldF9ucGFydHR5cGVzOworCWZkaXNrX2xhYmVsX2dldF9wYXJ0dHlwZTsKKwlmZGlza19sYWJlbF9nZXRfcGFydHR5cGVfZnJvbV9jb2RlOworCWZkaXNrX2xhYmVsX2dldF9wYXJ0dHlwZV9mcm9tX3N0cmluZzsKKwlmZGlza19sYWJlbF9nZXRfdHlwZTsKKwlmZGlza19sYWJlbF9oYXNfY29kZV9wYXJ0dHlwZXM7CisJZmRpc2tfbGFiZWxfaXNfY2hhbmdlZDsKKwlmZGlza19sYWJlbF9pc19kaXNhYmxlZDsKKwlmZGlza19sYWJlbF9wYXJzZV9wYXJ0dHlwZTsKKwlmZGlza19sYWJlbF9yZXF1aXJlX2dlb21ldHJ5OworCWZkaXNrX2xhYmVsX3NldF9jaGFuZ2VkOworCWZkaXNrX2xhYmVsX3NldF9kaXNhYmxlZDsKKwlmZGlza19sYmFfaXNfcGh5X2FsaWduZWQ7CisJZmRpc2tfbGlzdF9kaXNrbGFiZWw7CisJZmRpc2tfbG9jYXRlX2Rpc2tsYWJlbDsKKwlmZGlza19uZXdfY29udGV4dDsKKwlmZGlza19uZXdfaXRlcjsKKwlmZGlza19uZXdfbmVzdGVkX2NvbnRleHQ7CisJZmRpc2tfbmV3X3BhcnRpdGlvbjsKKwlmZGlza19uZXdfcGFydHR5cGU7CisJZmRpc2tfbmV3X3NjcmlwdDsKKwlmZGlza19uZXdfc2NyaXB0X2Zyb21fZmlsZTsKKwlmZGlza19uZXdfdGFibGU7CisJZmRpc2tfbmV3X3Vua25vd25fcGFydHR5cGU7CisJZmRpc2tfbmV4dF9sYWJlbDsKKwlmZGlza19vdmVycmlkZV9nZW9tZXRyeTsKKwlmZGlza19wYXJzZV92ZXJzaW9uX3N0cmluZzsKKwlmZGlza19wYXJ0aXRpb25fY21wX3BhcnRubzsKKwlmZGlza19wYXJ0aXRpb25fY21wX3N0YXJ0OworCWZkaXNrX3BhcnRpdGlvbl9lbmRfZm9sbG93X2RlZmF1bHQ7CisJZmRpc2tfcGFydGl0aW9uX2VuZF9pc19kZWZhdWx0OworCWZkaXNrX3BhcnRpdGlvbl9nZXRfYXR0cnM7CisJZmRpc2tfcGFydGl0aW9uX2dldF9lbmQ7CisJZmRpc2tfcGFydGl0aW9uX2dldF9uYW1lOworCWZkaXNrX3BhcnRpdGlvbl9nZXRfcGFyZW50OworCWZkaXNrX3BhcnRpdGlvbl9nZXRfcGFydG5vOworCWZkaXNrX3BhcnRpdGlvbl9nZXRfc2l6ZTsKKwlmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0OworCWZkaXNrX3BhcnRpdGlvbl9nZXRfdHlwZTsKKwlmZGlza19wYXJ0aXRpb25fZ2V0X3V1aWQ7CisJZmRpc2tfcGFydGl0aW9uX2hhc19lbmQ7CisJZmRpc2tfcGFydGl0aW9uX2hhc19wYXJ0bm87CisJZmRpc2tfcGFydGl0aW9uX2hhc19zaXplOworCWZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQ7CisJZmRpc2tfcGFydGl0aW9uX2lzX2Jvb3RhYmxlOworCWZkaXNrX3BhcnRpdGlvbl9pc19jb250YWluZXI7CisJZmRpc2tfcGFydGl0aW9uX2lzX2ZyZWVzcGFjZTsKKwlmZGlza19wYXJ0aXRpb25faXNfbmVzdGVkOworCWZkaXNrX3BhcnRpdGlvbl9pc191c2VkOworCWZkaXNrX3BhcnRpdGlvbl9pc193aG9sZWRpc2s7CisJZmRpc2tfcGFydGl0aW9uX25leHRfcGFydG5vOworCWZkaXNrX3BhcnRpdGlvbl9wYXJ0bm9fZm9sbG93X2RlZmF1bHQ7CisJZmRpc2tfcGFydGl0aW9uX3NldF9hdHRyczsKKwlmZGlza19wYXJ0aXRpb25fc2V0X25hbWU7CisJZmRpc2tfcGFydGl0aW9uX3NldF9wYXJ0bm87CisJZmRpc2tfcGFydGl0aW9uX3NldF9zaXplOworCWZkaXNrX3BhcnRpdGlvbl9zZXRfc3RhcnQ7CisJZmRpc2tfcGFydGl0aW9uX3NldF90eXBlOworCWZkaXNrX3BhcnRpdGlvbl9zZXRfdXVpZDsKKwlmZGlza19wYXJ0aXRpb25fc2l6ZV9leHBsaWNpdDsKKwlmZGlza19wYXJ0aXRpb25fc3RhcnRfZm9sbG93X2RlZmF1bHQ7CisJZmRpc2tfcGFydGl0aW9uX3N0YXJ0X2lzX2RlZmF1bHQ7CisJZmRpc2tfcGFydGl0aW9uX3RvX3N0cmluZzsKKwlmZGlza19wYXJ0aXRpb25fdW5zZXRfcGFydG5vOworCWZkaXNrX3BhcnRpdGlvbl91bnNldF9zaXplOworCWZkaXNrX3BhcnRpdGlvbl91bnNldF9zdGFydDsKKwlmZGlza19wYXJ0bmFtZTsKKwlmZGlza19wYXJ0dHlwZV9nZXRfY29kZTsKKwlmZGlza19wYXJ0dHlwZV9nZXRfbmFtZTsKKwlmZGlza19wYXJ0dHlwZV9nZXRfc3RyaW5nOworCWZkaXNrX3BhcnR0eXBlX2lzX3Vua25vd247CisJZmRpc2tfcGFydHR5cGVfc2V0X2NvZGU7CisJZmRpc2tfcGFydHR5cGVfc2V0X25hbWU7CisJZmRpc2tfcGFydHR5cGVfc2V0X3R5cGVzdHI7CisJZmRpc2tfcmVmX2FzazsKKwlmZGlza19yZWZfY29udGV4dDsKKwlmZGlza19yZWZfcGFydGl0aW9uOworCWZkaXNrX3JlZl9wYXJ0dHlwZTsKKwlmZGlza19yZWZfc2NyaXB0OworCWZkaXNrX3JlZl90YWJsZTsKKwlmZGlza19yZW9yZGVyX3BhcnRpdGlvbnM7CisJZmRpc2tfcmVyZWFkX3BhcnRpdGlvbl90YWJsZTsKKwlmZGlza19yZXNldF9hbGlnbm1lbnQ7CisJZmRpc2tfcmVzZXRfZGV2aWNlX3Byb3BlcnRpZXM7CisJZmRpc2tfcmVzZXRfaXRlcjsKKwlmZGlza19yZXNldF9wYXJ0aXRpb247CisJZmRpc2tfcmVzZXRfdGFibGU7CisJZmRpc2tfc2F2ZV91c2VyX2dlb21ldHJ5OworCWZkaXNrX3NhdmVfdXNlcl9zZWN0b3Jfc2l6ZTsKKwlmZGlza19zY3JpcHRfZ2V0X2hlYWRlcjsKKwlmZGlza19zY3JpcHRfZ2V0X25saW5lczsKKwlmZGlza19zY3JpcHRfZ2V0X3RhYmxlOworCWZkaXNrX3NjcmlwdF9yZWFkX2NvbnRleHQ7CisJZmRpc2tfc2NyaXB0X3JlYWRfZmlsZTsKKwlmZGlza19zY3JpcHRfcmVhZF9saW5lOworCWZkaXNrX3NjcmlwdF9zZXRfaGVhZGVyOworCWZkaXNrX3NjcmlwdF93cml0ZV9maWxlOworCWZkaXNrX3NldF9hc2s7CisJZmRpc2tfc2V0X2Rpc2tsYWJlbF9pZDsKKwlmZGlza19zZXRfZmlyc3RfbGJhOworCWZkaXNrX3NldF9sYXN0X2xiYTsKKwlmZGlza19zZXRfcGFydGl0aW9uOworCWZkaXNrX3NldF9wYXJ0aXRpb25fdHlwZTsKKwlmZGlza19zZXRfc2NyaXB0OworCWZkaXNrX3NldF9zaXplX3VuaXQ7CisJZmRpc2tfc2V0X3VuaXQ7CisJZmRpc2tfc2dpX2NyZWF0ZV9pbmZvOworCWZkaXNrX3NnaV9zZXRfYm9vdGZpbGU7CisJZmRpc2tfc3VuX3NldF9hbHRfY3lsOworCWZkaXNrX3N1bl9zZXRfaWxmYWN0OworCWZkaXNrX3N1bl9zZXRfcGN5bGNvdW50OworCWZkaXNrX3N1bl9zZXRfcnNwZWVkOworCWZkaXNrX3N1bl9zZXRfeGN5bDsKKwlmZGlza190YWJsZV9hZGRfcGFydGl0aW9uOworCWZkaXNrX3RhYmxlX2dldF9uZW50czsKKwlmZGlza190YWJsZV9nZXRfcGFydGl0aW9uOworCWZkaXNrX3RhYmxlX2lzX2VtcHR5OworCWZkaXNrX3RhYmxlX25leHRfcGFydGl0aW9uOworCWZkaXNrX3RhYmxlX3JlbW92ZV9wYXJ0aXRpb247CisJZmRpc2tfdGFibGVfc29ydF9wYXJ0aXRpb25zOworCWZkaXNrX3RhYmxlX3dyb25nX29yZGVyOworCWZkaXNrX3RvZ2dsZV9wYXJ0aXRpb25fZmxhZzsKKwlmZGlza191bnJlZl9hc2s7CisJZmRpc2tfdW5yZWZfY29udGV4dDsKKwlmZGlza191bnJlZl9wYXJ0aXRpb247CisJZmRpc2tfdW5yZWZfcGFydHR5cGU7CisJZmRpc2tfdW5yZWZfc2NyaXB0OworCWZkaXNrX3VucmVmX3RhYmxlOworCWZkaXNrX3VzZV9jeWxpbmRlcnM7CisJZmRpc2tfdmVyaWZ5X2Rpc2tsYWJlbDsKKwlmZGlza193YXJuOworCWZkaXNrX3dhcm54OworCWZkaXNrX3dyaXRlX2Rpc2tsYWJlbDsKK2xvY2FsOgorCSo7Cit9OworCitGRElTS18yLjI3IHsKKwlmZGlza19lbmFibGVfYm9vdGJpdHNfcHJvdGVjdGlvbjsKKwlmZGlza19ncHRfZ2V0X3BhcnRpdGlvbl9hdHRyczsKKwlmZGlza19ncHRfc2V0X3BhcnRpdGlvbl9hdHRyczsKKwlmZGlza19oYXNfcHJvdGVjdGVkX2Jvb3RiaXRzOworCWZkaXNrX2xhYmVsX2dldF9maWVsZHNfaWRzX2FsbDsKKwlmZGlza19zY3JpcHRfZ2V0X3VzZXJkYXRhOworCWZkaXNrX3NjcmlwdF9zZXRfZmdldHM7CisJZmRpc2tfc2NyaXB0X3NldF91c2VyZGF0YTsKKwlmZGlza190YWJsZV9nZXRfcGFydGl0aW9uX2J5X3BhcnRubzsKKwlmZGlza19nZXRfZGlza2xhYmVsX2l0ZW07CisJZmRpc2tfc2NyaXB0X2VuYWJsZV9qc29uOworfSBGRElTS18yLjI2OworCitGRElTS18yLjI4IHsKKwlmZGlza19lbmFibGVfd2lwZTsKKwlmZGlza19nZXRfY29sbGlzaW9uOworCWZkaXNrX2hhc193aXBlOworfSBGRElTS18yLjI3OworCitGRElTS18yLjI5IHsKKwlmZGlza193aXBlX3BhcnRpdGlvbjsKKwlmZGlza19uZXdfbGFiZWxpdGVtOworCWZkaXNrX3JlZl9sYWJlbGl0ZW07CisJZmRpc2tfcmVzZXRfbGFiZWxpdGVtOworCWZkaXNrX3VucmVmX2xhYmVsaXRlbTsKKwlmZGlza19sYWJlbGl0ZW1fZ2V0X25hbWU7CisJZmRpc2tfbGFiZWxpdGVtX2dldF9pZDsKKwlmZGlza19sYWJlbGl0ZW1fZ2V0X2RhdGFfdTY0OworCWZkaXNrX2xhYmVsaXRlbV9nZXRfZGF0YV9zdHJpbmc7CisJZmRpc2tfbGFiZWxpdGVtX2lzX3N0cmluZzsKKwlmZGlza19sYWJlbGl0ZW1faXNfbnVtYmVyOworCWZkaXNrX2dwdF9zZXRfbnBhcnRpdGlvbnM7Cit9IEZESVNLXzIuMjg7CmRpZmYgLS1naXQgYS9saWJmZGlzay9zcmMvcGFydGl0aW9uLmMgYi9saWJmZGlzay9zcmMvcGFydGl0aW9uLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjUwN2YyMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYwpAQCAtMCwwICsxLDE0MjMgQEAKKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorCisjaWZkZWYgSEFWRV9MSUJCTEtJRAorIyBpbmNsdWRlIDxibGtpZC5oPgorI2VuZGlmCisKKyNpbmNsdWRlICJmZGlza1AuaCIKKworLyoqCisgKiBTRUNUSU9OOiBwYXJ0aXRpb24KKyAqIEB0aXRsZTogUGFydGl0aW9uCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGdlbmVyaWMgbGFiZWwgaW5kZXBlbmRlbnQgcGFydGl0aW9uIGFic3RyYWN0aW9uCisgKgorICogVGhlIGZkaXNrX3BhcnRpdGlvbiBwcm92aWRlcyBsYWJlbCBpbmRlcGVuZGVudCBhYnN0cmFjdGlvbi4gVGhlIHBhcnRpdGlvbnMKKyAqIGFyZSBub3QgZGlyZWN0bHkgY29ubmVjdGVkIHdpdGggcGFydGl0aW9uIHRhYmxlIChsYWJlbCkgZGF0YS4gQW55IGNoYW5nZSB0bworICogZmRpc2tfcGFydGl0aW9uIGRvZXMgbm90IGFmZmVjdHMgaW4tbWVtb3J5IG9yIG9uLWRpc2sgbGFiZWwgZGF0YS4KKyAqCisgKiBUaGUgZmRpc2tfcGFydGl0aW9uIGlzIHBvc3NpYmxlIHRvIHVzZSBhcyBhIHRlbXBsYXRlIGZvcgorICogZmRpc2tfYWRkX3BhcnRpdGlvbigpIG9yIGZkaXNrX3NldF9wYXJ0aXRpb24oKSBvcGVyYXRpb25zLgorICovCisKK3N0YXRpYyB2b2lkIGluaXRfcGFydGl0aW9uKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKQoreworCUZESVNLX0lOSVRfVU5ERUYocGEtPnNpemUpOworCUZESVNLX0lOSVRfVU5ERUYocGEtPnN0YXJ0KTsKKwlGRElTS19JTklUX1VOREVGKHBhLT5wYXJ0bm8pOworCUZESVNLX0lOSVRfVU5ERUYocGEtPnBhcmVudF9wYXJ0bm8pOworCUZESVNLX0lOSVRfVU5ERUYocGEtPmJvb3QpOworCisJSU5JVF9MSVNUX0hFQUQoJnBhLT5wYXJ0cyk7Cit9CisKKy8qKgorICogZmRpc2tfbmV3X3BhcnRpdGlvbjoKKyAqCisgKiBSZXR1cm5zOiBuZXcgaW5zdGFuY2UuCisgKi8KK3N0cnVjdCBmZGlza19wYXJ0aXRpb24gKmZkaXNrX25ld19wYXJ0aXRpb24odm9pZCkKK3sKKwlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSA9IGNhbGxvYygxLCBzaXplb2YoKnBhKSk7CisKKwlwYS0+cmVmY291bnQgPSAxOworCWluaXRfcGFydGl0aW9uKHBhKTsKKwlEQkcoUEFSVCwgdWxfZGVidWdvYmoocGEsICJhbGxvYyIpKTsKKwlyZXR1cm4gcGE7Cit9CisKKy8qKgorICogZmRpc2tfcmVzZXRfcGFydGl0aW9uOgorICogQHBhOiBwYXJ0aXRpb24KKyAqCisgKiBSZXNldHMgcGFydGl0aW9uIGNvbnRlbnQuCisgKi8KK3ZvaWQgZmRpc2tfcmVzZXRfcGFydGl0aW9uKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKQoreworCWludCByZWY7CisKKwlpZiAoIXBhKQorCQlyZXR1cm47CisKKwlEQkcoUEFSVCwgdWxfZGVidWdvYmoocGEsICJyZXNldCIpKTsKKwlyZWYgPSBwYS0+cmVmY291bnQ7CisKKwlmZGlza191bnJlZl9wYXJ0dHlwZShwYS0+dHlwZSk7CisJZnJlZShwYS0+bmFtZSk7CisJZnJlZShwYS0+dXVpZCk7CisJZnJlZShwYS0+YXR0cnMpOworCWZyZWUocGEtPmZzdHlwZSk7CisJZnJlZShwYS0+ZnN1dWlkKTsKKwlmcmVlKHBhLT5mc2xhYmVsKTsKKworCW1lbXNldChwYSwgMCwgc2l6ZW9mKCpwYSkpOworCXBhLT5yZWZjb3VudCA9IHJlZjsKKworCWluaXRfcGFydGl0aW9uKHBhKTsKK30KKworc3RhdGljIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKl9fY29weV9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqbykKK3sKKwlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpuID0gZmRpc2tfbmV3X3BhcnRpdGlvbigpOworCisJaWYgKCFuKQorCQlyZXR1cm4gTlVMTDsKKwltZW1jcHkobiwgbywgc2l6ZW9mKCpuKSk7CisJaWYgKG4tPnR5cGUpCisJCWZkaXNrX3JlZl9wYXJ0dHlwZShuLT50eXBlKTsKKwlpZiAoby0+bmFtZSkKKwkJbi0+bmFtZSA9IHN0cmR1cChvLT5uYW1lKTsKKwlpZiAoby0+dXVpZCkKKwkJbi0+dXVpZCA9IHN0cmR1cChvLT51dWlkKTsKKwlpZiAoby0+YXR0cnMpCisJCW4tPmF0dHJzID0gc3RyZHVwKG8tPmF0dHJzKTsKKwlpZiAoby0+ZnN0eXBlKQorCQluLT5mc3R5cGUgPSBzdHJkdXAoby0+ZnN0eXBlKTsKKwlpZiAoby0+ZnN1dWlkKQorCQluLT5mc3V1aWQgPSBzdHJkdXAoby0+ZnN1dWlkKTsKKwlpZiAoby0+ZnNsYWJlbCkKKwkJbi0+ZnNsYWJlbCA9IHN0cmR1cChvLT5mc2xhYmVsKTsKKworCXJldHVybiBuOworfQorCisvKioKKyAqIGZkaXNrX3JlZl9wYXJ0aXRpb246CisgKiBAcGE6IHBhcnRpdGlvbiBwb2ludGVyCisgKgorICogSW5jcmVtZW50cyByZWZlcmVuY2UgY291bnRlci4KKyAqLwordm9pZCBmZGlza19yZWZfcGFydGl0aW9uKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKQoreworCWlmIChwYSkKKwkJcGEtPnJlZmNvdW50Kys7Cit9CisKKy8qKgorICogZmRpc2tfdW5yZWZfcGFydGl0aW9uOgorICogQHBhOiBwYXJ0aXRpb24gcG9pbnRlcgorICoKKyAqIERlY3JlbWVudHMgcmVmZXJlbmNlIGNvdW50ZXIsIG9uIHplcm8gdGhlIEBwYSBpcyBhdXRvbWF0aWNhbGx5CisgKiBkZWFsbG9jYXRlZC4KKyAqLwordm9pZCBmZGlza191bnJlZl9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJaWYgKCFwYSkKKwkJcmV0dXJuOworCisJcGEtPnJlZmNvdW50LS07CisJaWYgKHBhLT5yZWZjb3VudCA8PSAwKSB7CisJCWZkaXNrX3Jlc2V0X3BhcnRpdGlvbihwYSk7CisJCWxpc3RfZGVsKCZwYS0+cGFydHMpOworCQlEQkcoUEFSVCwgdWxfZGVidWdvYmoocGEsICJmcmVlIikpOworCQlmcmVlKHBhKTsKKwl9Cit9CisKKy8qKgorICogZmRpc2tfcGFydGl0aW9uX3NldF9zdGFydDoKKyAqIEBwYTogcGFydGl0aW9uCisgKiBAb2ZmOiBvZmZzZXQgaW4gc2VjdG9ycywgbWF4aW1hbCBpcyBVSU5UNjRfTUFYLTEKKyAqCisgKiBOb3RlIHRoYXQgemVybyBpcyB2YWxpZCBvZmZzZXQgdG9vLiBVc2UgZmRpc2tfcGFydGl0aW9uX3Vuc2V0X3N0YXJ0KCkgdG8KKyAqIHVuZGVmaW5lIHRoZSBvZmZzZXQuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3BhcnRpdGlvbl9zZXRfc3RhcnQoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsIGZkaXNrX3NlY3Rvcl90IG9mZikKK3sKKwlpZiAoIXBhKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoRkRJU0tfSVNfVU5ERUYob2ZmKSkKKwkJcmV0dXJuIC1FUkFOR0U7CisJcGEtPnN0YXJ0ID0gb2ZmOworCXBhLT5mc19wcm9iZWQgPSAwOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl91bnNldF9zdGFydDoKKyAqIEBwYTogcGFydGl0aW9uCisgKgorICogU2V0cyB0aGUgc2l6ZSBhcyB1bmRlZmluZWQuIFNlZSBmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KCkuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3BhcnRpdGlvbl91bnNldF9zdGFydChzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlpZiAoIXBhKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlGRElTS19JTklUX1VOREVGKHBhLT5zdGFydCk7CisJcGEtPmZzX3Byb2JlZCA9IDA7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfcGFydGl0aW9uX2dldF9zdGFydDoKKyAqIEBwYTogcGFydGl0aW9uCisgKgorICogVGhlIHplcm8gaXMgYWxzbyB2YWxpZCBvZmZzZXQuIFRoZSBmdW5jdGlvbiBtYXkgcmV0dXJuIHJhbmRvbSB1bmRlZmluZWQKKyAqIHZhbHVlIHdoZW4gc3RhcnQgb2Zmc2V0IGlzIHVuZGVmaW5lZCAoZm9yIGV4YW1wbGUgYWZ0ZXIKKyAqIGZkaXNrX3BhcnRpdGlvbl91bnNldF9zdGFydCgpKS4gQWx3YXlzIHVzZSBmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KCkgdG8gYmUKKyAqIHN1cmUgdGhhdCB5b3Ugd29yayB3aXRoIHZhbGlkIG51bWJlcnMuCisgKgorICogUmV0dXJuczogc3RhcnQgb2Zmc2V0IGluIHNlY3RvcnMKKyAqLworZmRpc2tfc2VjdG9yX3QgZmRpc2tfcGFydGl0aW9uX2dldF9zdGFydChzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlyZXR1cm4gcGEtPnN0YXJ0OworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQ6CisgKiBAcGE6IHBhcnRpdGlvbgorICoKKyAqIFJldHVybnM6IDEgb3IgMAorICovCitpbnQgZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydChzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlyZXR1cm4gcGEgJiYgIUZESVNLX0lTX1VOREVGKHBhLT5zdGFydCk7Cit9CisKKworLyoqCisgKiBmZGlza19wYXJ0aXRpb25fY21wX3N0YXJ0OgorICogQGE6IHBhcnRpdGlvbgorICogQGI6IHBhcnRpdGlvbgorICoKKyAqIENvbXBhcmVzIHBhcnRpdGlvbnMgYWNjb3JkaW5nIHRvIHN0YXJ0IG9mZnNldCwgU2VlIGZkaXNrX3RhYmxlX3NvcnRfcGFydGl0aW9ucygpLgorICoKKyAqIFJldHVybjogMCBpZiB0aGUgc2FtZSwgPDAgaWYgQGIgZ3JlYXRlciwgPjAgaWYgQGEgZ3JlYXRlci4KKyAqLworaW50IGZkaXNrX3BhcnRpdGlvbl9jbXBfc3RhcnQoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqYSwKKwkJCSAgICAgIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKmIpCit7CisJaW50IG5vX2EgPSBGRElTS19JU19VTkRFRihhLT5zdGFydCksCisJICAgIG5vX2IgPSBGRElTS19JU19VTkRFRihiLT5zdGFydCk7CisKKwlpZiAobm9fYSAmJiBub19iKQorCQlyZXR1cm4gMDsKKwlpZiAobm9fYSkKKwkJcmV0dXJuIC0xOworCWlmIChub19iKQorCQlyZXR1cm4gMTsKKworCXJldHVybiBjbXBfbnVtYmVycyhhLT5zdGFydCwgYi0+c3RhcnQpOworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl9zdGFydF9mb2xsb3dfZGVmYXVsdAorICogQHBhOiBwYXJ0aXRpb24KKyAqIEBlbmFibGU6IDB8MQorICoKKyAqIFdoZW4gQHBhIHVzZWQgYXMgYSB0ZW1wbGF0ZSBmb3IgZmRpc2tfYWRkX3BhcnRpdGlvbigpIHdoZW4gZm9yY2UgbGFiZWwgZHJpdmVyCisgKiB0byB1c2UgdGhlIGZpcnN0IHBvc3NpYmxlIHNwYWNlIGZvciB0aGUgbmV3IHBhcnRpdGlvbi4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLgorICovCitpbnQgZmRpc2tfcGFydGl0aW9uX3N0YXJ0X2ZvbGxvd19kZWZhdWx0KHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhLCBpbnQgZW5hYmxlKQoreworCWlmICghcGEpCisJCXJldHVybiAtRUlOVkFMOworCXBhLT5zdGFydF9mb2xsb3dfZGVmYXVsdCA9IGVuYWJsZSA/IDEgOiAwOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl9zdGFydF9pc19kZWZhdWx0OgorICogQHBhOiBwYXJ0aXRpb24KKyAqCisgKiBTZWUgZmRpc2tfcGFydGl0aW9uX3N0YXJ0X2ZvbGxvd19kZWZhdWx0KCkuCisgKgorICogUmV0dXJuczogMSBpZiB0aGUgcGFydGl0aW9uIGZvbGxvd3MgZGVmYXVsdAorICovCitpbnQgZmRpc2tfcGFydGl0aW9uX3N0YXJ0X2lzX2RlZmF1bHQoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJYXNzZXJ0KHBhKTsKKwlyZXR1cm4gcGEtPnN0YXJ0X2ZvbGxvd19kZWZhdWx0OworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl9zZXRfc2l6ZToKKyAqIEBwYTogcGFydGl0aW9uCisgKiBAc3o6IHNpemUgaW4gc2VjdG9ycywgbWF4aW1hbCBpcyBVSU42NF9NQVgtMQorICoKKyAqIE5vdGUgdGhhdCB6ZXJvIGlzIHZhbGlkIHNpemUgdG9vLiBVc2UgZmRpc2tfcGFydGl0aW9uX3Vuc2V0X3NpemUoKSB0bworICogdW5kZWZpbmUgdGhlIHNpemUuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3BhcnRpdGlvbl9zZXRfc2l6ZShzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwgZmRpc2tfc2VjdG9yX3Qgc3opCit7CisJaWYgKCFwYSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKEZESVNLX0lTX1VOREVGKHN6KSkKKwkJcmV0dXJuIC1FUkFOR0U7CisJcGEtPnNpemUgPSBzejsKKwlwYS0+ZnNfcHJvYmVkID0gMDsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19wYXJ0aXRpb25fdW5zZXRfc2l6ZToKKyAqIEBwYTogcGFydGl0aW9uCisgKgorICogU2V0cyB0aGUgc2l6ZSBhcyB1bmRlZmluZWQuIFNlZSBmZGlza19wYXJ0aXRpb25faGFzX3NpemUoKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLgorICovCitpbnQgZmRpc2tfcGFydGl0aW9uX3Vuc2V0X3NpemUoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJaWYgKCFwYSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJRkRJU0tfSU5JVF9VTkRFRihwYS0+c2l6ZSk7CisJcGEtPmZzX3Byb2JlZCA9IDA7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfcGFydGl0aW9uX2dldF9zaXplOgorICogQHBhOiBwYXJ0aXRpb24KKyAqCisgKiBUaGUgemVybyBpcyBhbHNvIHZhbGlkIHNpemUuIFRoZSBmdW5jdGlvbiBtYXkgcmV0dXJuIHJhbmRvbSB1bmRlZmluZWQKKyAqIHZhbHVlIHdoZW4gc2l6ZSBpcyB1bmRlZmluZWQgKGZvciBleGFtcGxlIGFmdGVyIGZkaXNrX3BhcnRpdGlvbl91bnNldF9zaXplKCkpLgorICogQWx3YXlzIHVzZSBmZGlza19wYXJ0aXRpb25faGFzX3NpemUoKSB0byBiZSBzdXJlIHRoYXQgeW91IHdvcmsgd2l0aCB2YWxpZAorICogbnVtYmVycy4KKyAqCisgKiBSZXR1cm5zOiBzaXplIG9mZnNldCBpbiBzZWN0b3JzCisgKi8KK2ZkaXNrX3NlY3Rvcl90IGZkaXNrX3BhcnRpdGlvbl9nZXRfc2l6ZShzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlyZXR1cm4gcGEtPnNpemU7Cit9CisKKy8qKgorICogZmRpc2tfcGFydGl0aW9uX2hhc19zaXplOgorICogQHBhOiBwYXJ0aXRpb24KKyAqCisgKiBSZXR1cm5zOiAxIG9yIDAKKyAqLworaW50IGZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlyZXR1cm4gcGEgJiYgIUZESVNLX0lTX1VOREVGKHBhLT5zaXplKTsKK30KKworLyoqCisgKiBmZGlza19wYXJ0aXRpb25fc2l6ZV9leHBsaWNpdDoKKyAqIEBwYTogcGFydGl0aW9uCisgKiBAZW5hYmxlOiAwfDEKKyAqCisgKiBCeSBkZWZhdWx0IGxpYmZkaXNrIGFsaWducyB0aGUgc2l6ZSB3aGVuIGFkZCB0aGUgbmV3IHBhcnRpdGlvbiAoYnkKKyAqIGZkaXNrX2FkZF9wYXJ0aXRpb24oKSkuIElmIHlvdSB3YW50IHRvIGRpc2FibGUgdGhpcyBmdW5jdGlvbmFsaXR5IHVzZQorICogQGVuYWJsZSA9IDEuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3BhcnRpdGlvbl9zaXplX2V4cGxpY2l0KHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhLCBpbnQgZW5hYmxlKQoreworCWlmICghcGEpCisJCXJldHVybiAtRUlOVkFMOworCXBhLT5zaXplX2V4cGxpY2l0ID0gZW5hYmxlID8gMSA6IDA7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfcGFydGl0aW9uX3NldF9wYXJ0bm86CisgKiBAcGE6IHBhcnRpdGlvbgorICogQG51bTogcGFydGl0aW9uIG51bWJlciAoMCBpcyB0aGUgZmlyc3QgcGFydGl0aW9uLCBtYXhpbWFsIGlzIFNJWkVfTUFYLTEpCisgKgorICogTm90ZSB0aGF0IHplcm8gaXMgdmFsaWQgcGFydG5vIHRvby4gVXNlIGZkaXNrX3BhcnRpdGlvbl91bnNldF9wYXJ0bm8oKSB0bworICogdW5kZWZpbmUgdGhlIHBhcnRuby4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLgorICovCitpbnQgZmRpc2tfcGFydGl0aW9uX3NldF9wYXJ0bm8oc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsIHNpemVfdCBudW0pCit7CisJaWYgKCFwYSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKEZESVNLX0lTX1VOREVGKG51bSkpCisJCXJldHVybiAtRVJBTkdFOworCXBhLT5wYXJ0bm8gPSBudW07CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfcGFydGl0aW9uX3Vuc2V0X3BhcnRubzoKKyAqIEBwYTogcGFydGl0aW9uCisgKgorICogU2V0cyB0aGUgcGFydG5vIGFzIHVuZGVmaW5lZC4gU2VlIGZkaXNrX3BhcnRpdGlvbl9oYXNfcGFydG5vKCkuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3BhcnRpdGlvbl91bnNldF9wYXJ0bm8oc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJaWYgKCFwYSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJRkRJU0tfSU5JVF9VTkRFRihwYS0+cGFydG5vKTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19wYXJ0aXRpb25fZ2V0X3BhcnRubzoKKyAqIEBwYTogcGFydGl0aW9uCisgKgorICogVGhlIHplcm8gaXMgYWxzbyB2YWxpZCBwYXJ0aXRpb24gbnVtYmVyLiBUaGUgZnVuY3Rpb24gbWF5IHJldHVybiByYW5kb20KKyAqIHZhbHVlIHdoZW4gcGFydG5vIGlzIHVuZGVmaW5lZCAoZm9yIGV4YW1wbGUgYWZ0ZXIgZmRpc2tfcGFydGl0aW9uX3Vuc2V0X3BhcnRubygpKS4KKyAqIEFsd2F5cyB1c2UgZmRpc2tfcGFydGl0aW9uX2hhc19wYXJ0bm8oKSB0byBiZSBzdXJlIHRoYXQgeW91IHdvcmsgd2l0aCB2YWxpZAorICogbnVtYmVycy4KKyAqCisgKiBSZXR1cm5zOiBwYXJ0aXRpb24gbnVtYmVyICgwIGlzIHRoZSBmaXJzdCBwYXJ0aXRpb24pCisgKi8KK3NpemVfdCBmZGlza19wYXJ0aXRpb25fZ2V0X3BhcnRubyhzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlyZXR1cm4gcGEtPnBhcnRubzsKK30KKworLyoqCisgKiBmZGlza19wYXJ0aXRpb25faGFzX3BhcnRubzoKKyAqIEBwYTogcGFydGl0aW9uCisgKgorICogUmV0dXJuczogMSBvciAwCisgKi8KK2ludCBmZGlza19wYXJ0aXRpb25faGFzX3BhcnRubyhzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlyZXR1cm4gcGEgJiYgIUZESVNLX0lTX1VOREVGKHBhLT5wYXJ0bm8pOworfQorCisKKy8qKgorICogZmRpc2tfcGFydGl0aW9uX2NtcF9wYXJ0bm86CisgKiBAYTogcGFydGl0aW9uCisgKiBAYjogcGFydGl0aW9uCisgKgorICogQ29tcGFyZXMgcGFydGl0aW9ucyBhY2NvcmRpbmcgdG8gcGFydGl0aW9uIG51bWJlciBTZWUgZmRpc2tfdGFibGVfc29ydF9wYXJ0aXRpb25zKCkuCisgKgorICogUmV0dXJuOiAwIGlmIHRoZSBzYW1lLCA8MCBpZiBAYiBncmVhdGVyLCA+MCBpZiBAYSBncmVhdGVyLgorICovCitpbnQgZmRpc2tfcGFydGl0aW9uX2NtcF9wYXJ0bm8oc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqYSwKKwkJCSAgICAgICBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpiKQoreworCXJldHVybiBhLT5wYXJ0bm8gLSBiLT5wYXJ0bm87Cit9CisKKy8qKgorICogZmRpc2tfcGFydGl0aW9uX3BhcnRub19mb2xsb3dfZGVmYXVsdAorICogQHBhOiBwYXJ0aXRpb24KKyAqIEBlbmFibGU6IDB8MQorICoKKyAqIFdoZW4gQHBhIHVzZWQgYXMgYSB0ZW1wbGF0ZSBmb3IgZmRpc2tfYWRkX3BhcnRpdGlvbigpIHdoZW4gZm9yY2UgbGFiZWwgZHJpdmVyCisgKiB0byBhZGQgYSBuZXcgcGFydGl0aW9uIHRvIHRoZSBkZWZhdWx0IChuZXh0KSBwb3NpdGlvbi4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLgorICovCitpbnQgZmRpc2tfcGFydGl0aW9uX3BhcnRub19mb2xsb3dfZGVmYXVsdChzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwgaW50IGVuYWJsZSkKK3sKKwlpZiAoIXBhKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlwYS0+cGFydG5vX2ZvbGxvd19kZWZhdWx0ID0gZW5hYmxlID8gMSA6IDA7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfcGFydGl0aW9uX3NldF90eXBlOgorICogQHBhOiBwYXJ0aXRpb24KKyAqIEB0eXBlOiBwYXJ0aXRpb24gdHlwZQorICoKKyAqIFNldHMgcGFydGl0aW9uIHR5cGUuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3BhcnRpdGlvbl9zZXRfdHlwZShzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwKKwkJCSAgICAgc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0eXBlKQoreworCWlmICghcGEpCisJCXJldHVybiAtRUlOVkFMOworCisJZmRpc2tfcmVmX3BhcnR0eXBlKHR5cGUpOworCWZkaXNrX3VucmVmX3BhcnR0eXBlKHBhLT50eXBlKTsKKwlwYS0+dHlwZSA9IHR5cGU7CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19wYXJ0aXRpb25fZ2V0X3R5cGU6CisgKiBAcGE6IHBhcnRpdGlvbgorICoKKyAqIFJldHVybnM6IHBvaW50ZXIgdG8gcGFydGl0aW9uIHR5cGUuCisgKi8KK3N0cnVjdCBmZGlza19wYXJ0dHlwZSAqZmRpc2tfcGFydGl0aW9uX2dldF90eXBlKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKQoreworCXJldHVybiBwYSA/IHBhLT50eXBlIDogTlVMTDsKK30KKworaW50IGZkaXNrX3BhcnRpdGlvbl9zZXRfbmFtZShzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwljaGFyICpwID0gTlVMTDsKKworCWlmICghcGEpCisJCXJldHVybiAtRUlOVkFMOworCWlmIChuYW1lKSB7CisJICAgICAgIHAgPSBzdHJkdXAobmFtZSk7CisJICAgICAgIGlmICghcCkKKwkJICAgICAgIHJldHVybiAtRU5PTUVNOworCX0KKwlmcmVlKHBhLT5uYW1lKTsKKwlwYS0+bmFtZSA9IHA7CisJcmV0dXJuIDA7Cit9CisKK2NvbnN0IGNoYXIgKmZkaXNrX3BhcnRpdGlvbl9nZXRfbmFtZShzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlyZXR1cm4gcGEgPyBwYS0+bmFtZSA6IE5VTEw7Cit9CisKK2ludCBmZGlza19wYXJ0aXRpb25fc2V0X3V1aWQoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsIGNvbnN0IGNoYXIgKnV1aWQpCit7CisJY2hhciAqcCA9IE5VTEw7CisKKwlpZiAoIXBhKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAodXVpZCkgeworCSAgICAgICBwID0gc3RyZHVwKHV1aWQpOworCSAgICAgICBpZiAoIXApCisJCSAgICAgICByZXR1cm4gLUVOT01FTTsKKwl9CisJZnJlZShwYS0+dXVpZCk7CisJcGEtPnV1aWQgPSBwOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl9oYXNfZW5kOgorICogQHBhOiBwYXJ0aXRpb24KKyAqCisgKiBSZXR1cm5zOiAxIGlmIHRoZSBwYXJ0aXRpb24gaGFzIGRlZmluZWQgbGFzdCBzZWN0b3IKKyAqLworaW50IGZkaXNrX3BhcnRpdGlvbl9oYXNfZW5kKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKQoreworCXJldHVybiBwYSAmJiAhRkRJU0tfSVNfVU5ERUYocGEtPnN0YXJ0KSAmJiAhRkRJU0tfSVNfVU5ERUYocGEtPnNpemUpOworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl9nZXRfZW5kOgorICogQHBhOiBwYXJ0aXRpb24KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIG1heSByZXR1cm5zIGFic29sdXRlIG5vbi1zZW5zZSwgYWx3YXlzIGNoZWNrCisgKiBmZGlza19wYXJ0aXRpb25faGFzX2VuZCgpLgorICoKKyAqIE5vdGUgdGhhdCBwYXJ0aXRpb24gZW5kIGlzIGRlZmluZWQgYnkgZmRpc2tfcGFydGl0aW9uX3NldF9zdGFydCgpIGFuZAorICogZmRpc2tfcGFydGl0aW9uX3NldF9zaXplKCkuCisgKgorICogUmV0dXJuczogbGFzdCBwYXJ0aXRpb24gc2VjdG9yIExCQS4KKyAqLworZmRpc2tfc2VjdG9yX3QgZmRpc2tfcGFydGl0aW9uX2dldF9lbmQoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJcmV0dXJuIHBhLT5zdGFydCArIHBhLT5zaXplIC0gKHBhLT5zaXplID09IDAgPyAwIDogMSk7Cit9CisKKy8qKgorICogZmRpc2tfcGFydGl0aW9uX2VuZF9mb2xsb3dfZGVmYXVsdAorICogQHBhOiBwYXJ0aXRpb24KKyAqIEBlbmFibGU6IDB8MQorICoKKyAqIFdoZW4gQHBhIHVzZWQgYXMgYSB0ZW1wbGF0ZSBmb3IgZmRpc2tfYWRkX3BhcnRpdGlvbigpIHdoZW4gZm9yY2UgbGFiZWwKKyAqIGRyaXZlciB0byB1c2UgYWxsIHRoZSBwb3NzaWJsZSBzcGFjZSBmb3IgdGhlIG5ldyBwYXJ0aXRpb24uCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3BhcnRpdGlvbl9lbmRfZm9sbG93X2RlZmF1bHQoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsIGludCBlbmFibGUpCit7CisJaWYgKCFwYSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJcGEtPmVuZF9mb2xsb3dfZGVmYXVsdCA9IGVuYWJsZSA/IDEgOiAwOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl9lbmRfaXNfZGVmYXVsdDoKKyAqIEBwYTogcGFydGl0aW9uCisgKgorICogUmV0dXJuczogMSBpZiB0aGUgcGFydGl0aW9uIGZvbGxvd3MgZGVmYXVsdAorICovCitpbnQgZmRpc2tfcGFydGl0aW9uX2VuZF9pc19kZWZhdWx0KHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKQoreworCWFzc2VydChwYSk7CisJcmV0dXJuIHBhLT5lbmRfZm9sbG93X2RlZmF1bHQ7Cit9CisKKy8qKgorICogZmRpc2tfcGFydGl0aW9uX2dldF91dWlkOgorICogQHBhOiBwYXJ0aXRpb24KKyAqCisgKiBSZXR1cm5zOiBwYXJ0aXRpb24gVVVJRCBhcyBzdHJpbmcKKyAqLworY29uc3QgY2hhciAqZmRpc2tfcGFydGl0aW9uX2dldF91dWlkKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKQoreworCXJldHVybiBwYSA/IHBhLT51dWlkIDogTlVMTDsKK30KKworLyoqCisgKiBmZGlza19wYXJ0aXRpb25fZ2V0X2F0dHJzOgorICogQHBhOiBwYXJ0aXRpb24KKyAqCisgKiBSZXR1cm5zOiBwYXJ0aXRpb24gYXR0cmlidXRlcyBpbiBzdHJpbmcgZm9ybWF0CisgKi8KK2NvbnN0IGNoYXIgKmZkaXNrX3BhcnRpdGlvbl9nZXRfYXR0cnMoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJcmV0dXJuIHBhID8gcGEtPmF0dHJzIDogTlVMTDsKK30KKworLyoqCisgKiBmZGlza19wYXJ0aXRpb25fc2V0X2F0dHJzOgorICogQHBhOiBwYXJ0aXRpb24KKyAqIEBhdHRyczogYXR0cmlidXRlcworICoKKyAqIFNldHMgQGF0dHJzIHRvIEBwYS4KKyAqCisgKiBSZXR1cm46IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19wYXJ0aXRpb25fc2V0X2F0dHJzKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhLCBjb25zdCBjaGFyICphdHRycykKK3sKKwljaGFyICpwID0gTlVMTDsKKworCWlmICghcGEpCisJCXJldHVybiAtRUlOVkFMOworCWlmIChhdHRycykgeworCSAgICAgICBwID0gc3RyZHVwKGF0dHJzKTsKKwkgICAgICAgaWYgKCFwKQorCQkgICAgICAgcmV0dXJuIC1FTk9NRU07CisJfQorCWZyZWUocGEtPmF0dHJzKTsKKwlwYS0+YXR0cnMgPSBwOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl9pc19uZXN0ZWQ6CisgKiBAcGE6IHBhcnRpdGlvbgorICoKKyAqIFJldHVybnM6IDEgaWYgdGhlIHBhcnRpdGlvbiBpcyBuZXN0ZWQgKGUuZy4gTUJSIGxvZ2ljYWwgcGFydGl0aW9uKQorICovCitpbnQgZmRpc2tfcGFydGl0aW9uX2lzX25lc3RlZChzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlyZXR1cm4gcGEgJiYgIUZESVNLX0lTX1VOREVGKHBhLT5wYXJlbnRfcGFydG5vKTsKK30KKworLyoqCisgKiBmZGlza19wYXJ0aXRpb25faXNfY29udGFpbmVyOgorICogQHBhOiBwYXJ0aXRpb24KKyAqCisgKiBSZXR1cm5zOiAxIGlmIHRoZSBwYXJ0aXRpb24gaXMgY29udGFpbmVyIChlLmcuIE1CUiBleHRlbmRlZCBwYXJ0aXRpb24pCisgKi8KK2ludCBmZGlza19wYXJ0aXRpb25faXNfY29udGFpbmVyKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKQoreworCXJldHVybiBwYSAmJiBwYS0+Y29udGFpbmVyOworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl9nZXRfcGFyZW50OgorICogQHBhOiBwYXJ0aXRpb24KKyAqIEBwYXJlbnQ6IHBhcmVudCBwYXJubworICoKKyAqIFJldHVybnM6IHJldHVybnMgZGV2bm8gb2YgdGhlIHBhcmVudAorICovCitpbnQgZmRpc2tfcGFydGl0aW9uX2dldF9wYXJlbnQoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsIHNpemVfdCAqcGFyZW50KQoreworCWlmIChwYSAmJiBwYXJlbnQpCisJCSpwYXJlbnQgPSBwYS0+cGFyZW50X3BhcnRubzsKKwllbHNlCisJCXJldHVybiAtRUlOVkFMOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl9pc191c2VkOgorICogQHBhOiBwYXJ0aXRpb24KKyAqCisgKiBSZXR1cm5zOiAxIGlmIHRoZSBwYXJ0aXRpb24gcG9pbnRzIHRvIHNvbWUgYXJlYQorICovCitpbnQgZmRpc2tfcGFydGl0aW9uX2lzX3VzZWQoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJcmV0dXJuIHBhICYmIHBhLT51c2VkOworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl9pc19ib290YWJsZToKKyAqIEBwYTogcGFydGl0aW9uCisgKgorICogUmV0dXJuczogMSBpZiB0aGUgcGFydGl0aW9uIGhhcyBlbmFibGVkIGJvb3QgZmxhZworICovCitpbnQgZmRpc2tfcGFydGl0aW9uX2lzX2Jvb3RhYmxlKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKQoreworCXJldHVybiBwYSAmJiBwYS0+Ym9vdCA9PSAxOworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl9pc19mcmVlc3BhY2U6CisgKiBAcGE6IHBhcnRpdGlvbgorICoKKyAqIFJldHVybnM6IDEgaWYgQHBhIHBvaW50cyB0byBmcmVlc3BhY2UKKyAqLworaW50IGZkaXNrX3BhcnRpdGlvbl9pc19mcmVlc3BhY2Uoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJcmV0dXJuIHBhICYmIHBhLT5mcmVlc3BhY2U7Cit9CisKKy8qKgorICogZmRpc2tfcGFydGl0aW9uX2lzX3dob2xlZGlzazoKKyAqIEBwYTogcGFydGl0aW9uCisgKgorICogUmV0dXJuczogMSBpZiB0aGUgcGFydGl0aW9uIGlzIHNwZWNpYWwgd2hvbGUtZGlzayAoZS5nLiBTVU4pIHBhcnRpdGlvbgorICovCitpbnQgZmRpc2tfcGFydGl0aW9uX2lzX3dob2xlZGlzayhzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlyZXR1cm4gcGEgJiYgcGEtPndob2xlZGlzazsKK30KKworLyoqCisgKiBmZGlza19wYXJ0aXRpb25fbmV4dF9wYXJ0bm86CisgKiBAcGE6IHBhcnRpdGlvbgorICogQGN4dDogY29udGV4dAorICogQG46IHJldHVybnMgcGFydGl0aW9uIG51bWJlcgorICoKKyAqIElmIHBhcnRuby1mb2xsb3ctZGVmYXVsdCAoc2VlIGZkaXNrX3BhcnRpdGlvbl9wYXJ0bm9fZm9sbG93X2RlZmF1bHQoKSkKKyAqIGVuYWJsZWQgdGhlbiByZXR1cm5zIG5leHQgZXhwZWN0ZWQgcGFydG5vLCBvdGhlcndpc2UgdXNlIEFzayBBUEkgdG8gYXNrIHVzZXIKKyAqIGZvciB0aGUgbmV4dCBwYXJ0bm8uCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvcgorICovCitpbnQgZmRpc2tfcGFydGl0aW9uX25leHRfcGFydG5vKAorCQlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwKKwkJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJc2l6ZV90ICpuKQoreworCWlmICghY3h0IHx8ICFuKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChwYSAmJiBwYS0+cGFydG5vX2ZvbGxvd19kZWZhdWx0KSB7CisJCXNpemVfdCBpOworCisJCURCRyhQQVJULCB1bF9kZWJ1Z29iaihwYSwgIm5leHQgcGFydG5vIChmb2xsb3cgZGVmYXVsdCkiKSk7CisKKwkJZm9yIChpID0gMDsgaSA8IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXg7IGkrKykgeworCQkJaWYgKCFmZGlza19pc19wYXJ0aXRpb25fdXNlZChjeHQsIGkpKSB7CisJCQkJKm4gPSBpOworCQkJCXJldHVybiAwOworCQkJfQorCQl9CisJCXJldHVybiAtRVJBTkdFOworCisJfSBlbHNlIGlmIChwYSAmJiBmZGlza19wYXJ0aXRpb25faGFzX3BhcnRubyhwYSkpIHsKKworCQlEQkcoUEFSVCwgdWxfZGVidWdvYmoocGEsICJuZXh0IHBhcnRubyAoc3BlY2lmaWVkPSV6dSkiLCBwYS0+cGFydG5vKSk7CisKKwkJaWYgKHBhLT5wYXJ0bm8gPj0gY3h0LT5sYWJlbC0+bnBhcnRzX21heCkKKwkJCXJldHVybiAtRVJBTkdFOworCQkqbiA9IHBhLT5wYXJ0bm87CisJfSBlbHNlCisJCXJldHVybiBmZGlza19hc2tfcGFydG51bShjeHQsIG4sIDEpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfcGFydGl0aW9uX2NvbnRlbnQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJaW50IHJjID0gMTsJLyogbm90aGluZyAqLworCisJREJHKFBBUlQsIHVsX2RlYnVnb2JqKHBhLCAic3RhcnQgcHJvYmUgIyV6dSBwYXJ0aXRpb24gW2N4dCAlcF0gPj4+IiwgcGEtPnBhcnRubywgY3h0KSk7CisKKwkvKiB6ZXJvaXplIHRoZSBjdXJyZW50IHNldHRpbmcgKi8KKwlzdHJkdXBfdG9fc3RydWN0X21lbWJlcihwYSwgZnN0eXBlLCBOVUxMKTsKKwlzdHJkdXBfdG9fc3RydWN0X21lbWJlcihwYSwgZnN1dWlkLCBOVUxMKTsKKwlzdHJkdXBfdG9fc3RydWN0X21lbWJlcihwYSwgZnNsYWJlbCwgTlVMTCk7CisKKwlpZiAoIWZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpIHx8CisJICAgICFmZGlza19wYXJ0aXRpb25faGFzX3NpemUocGEpKQorCQlnb3RvIGRvbmU7CisKKyNpZmRlZiBIQVZFX0xJQkJMS0lECisJZWxzZSB7CisJCXVpbnRtYXhfdCBzdGFydCwgc2l6ZTsKKworCQlibGtpZF9wcm9iZSBwciA9IGJsa2lkX25ld19wcm9iZSgpOworCQlpZiAoIXByKQorCQkJZ290byBkb25lOworCisJCURCRyhQQVJULCB1bF9kZWJ1Z29iaihwYSwgImJsa2lkIHByb2JlcjogJXAiLCBwcikpOworCisJCXN0YXJ0ID0gZmRpc2tfcGFydGl0aW9uX2dldF9zdGFydChwYSkgKiBmZGlza19nZXRfc2VjdG9yX3NpemUoY3h0KTsKKwkJc2l6ZSA9IGZkaXNrX3BhcnRpdGlvbl9nZXRfc2l6ZShwYSkgKiBmZGlza19nZXRfc2VjdG9yX3NpemUoY3h0KTsKKworCQlpZiAoYmxraWRfcHJvYmVfc2V0X2RldmljZShwciwgY3h0LT5kZXZfZmQsIHN0YXJ0LCBzaXplKSA9PSAwCisJCSAgICAmJiBibGtpZF9kb19mdWxscHJvYmUocHIpID09IDApIHsKKworCQkJY29uc3QgY2hhciAqZGF0YTsKKwkJCXJjID0gMDsKKworCQkJaWYgKCFibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJUWVBFIiwgICZkYXRhLCBOVUxMKSkKKwkJCQlyYyA9IHN0cmR1cF90b19zdHJ1Y3RfbWVtYmVyKHBhLCBmc3R5cGUsIGRhdGEpOworCisJCQlpZiAoIXJjICYmICFibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJMQUJFTCIsICZkYXRhLCBOVUxMKSkKKwkJCQlyYyA9IHN0cmR1cF90b19zdHJ1Y3RfbWVtYmVyKHBhLCBmc2xhYmVsLCBkYXRhKTsKKworCQkJaWYgKCFyYyAmJiAhYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlKHByLCAiVVVJRCIsICAmZGF0YSwgTlVMTCkpCisJCQkJcmMgPSBzdHJkdXBfdG9fc3RydWN0X21lbWJlcihwYSwgZnN1dWlkLCBkYXRhKTsKKwkJfQorCisJCWJsa2lkX2ZyZWVfcHJvYmUocHIpOworCQlwYS0+ZnNfcHJvYmVkID0gMTsKKwl9CisjZW5kaWYgLyogSEFWRV9MSUJCTEtJRCAqLworCitkb25lOgorCURCRyhQQVJULCB1bF9kZWJ1Z29iaihwYSwgIjw8PCBlbmQgcHJvYmUgIyV6dSBwYXJ0aXRpb25bY3h0ICVwLCByYz0lZF0iLCBwYS0+cGFydG5vLCBjeHQsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl90b19zdHJpbmc6CisgKiBAcGE6IHBhcnRpdGlvbgorICogQGN4dDogY29udGV4dAorICogQGlkOiBmaWVsZCAoRkRJU0tfRklFTERfKikKKyAqIEBkYXRhOiByZXR1cm5zIHN0cmluZyB3aXRoIGFsbG9jYXRlZCBkYXRhCisgKgorICogUmV0dXJucyBpbmZvIGFib3V0IHBhcnRpdGlvbiBjb252ZXJ0ZWQgdG8gcHJpbnRhYmxlIHN0cmluZy4KKyAqCisgKiBGb3IgZXhhbXBsZQorICogPGluZm9ybWFsZXhhbXBsZT4KKyAqICAgPHByb2dyYW1saXN0aW5nPgorICogICAgICBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYTsKKyAqCisgKiAgICAgIGZkaXNrX2dldF9wYXJ0aXRpb24oY3h0LCAwLCAmcGEpOworICoJZmRpc2tfcGFydGl0aW9uX3RvX3N0cmluZyhwYSwgRkRJU0tfRklFTERfVVVJRCwgJmRhdGEpOworICoJcHJpbnRmKCJmaXJzdCBwYXJ0aXRpb24gdXVpZDogJXNcbiIsIGRhdGEpOworICoJZnJlZShkYXRhKTsKKyAqCWZkaXNrX3VucmVmX3BhcnRpdGlvbihwYSk7CisgKiAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKyAqCisgKiByZXR1cm5zIFVVSUQgZm9yIHRoZSBmaXJzdCBwYXJ0aXRpb24uCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvdGhlcndpc2UsIGEgY29ycmVzcG9uZGluZyBlcnJvci4KKyAqLworaW50IGZkaXNrX3BhcnRpdGlvbl90b19zdHJpbmcoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsCisJCQkgICAgICBzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJICAgICAgaW50IGlkLAorCQkJICAgICAgY2hhciAqKmRhdGEpCit7CisJY2hhciAqcCA9IE5VTEw7CisJaW50IHJjID0gMDsKKwl1aW50NjRfdCB4OworCisJaWYgKCFwYSB8fCAhY3h0IHx8ICFkYXRhKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXN3aXRjaCAoaWQpIHsKKwljYXNlIEZESVNLX0ZJRUxEX0RFVklDRToKKwkJaWYgKHBhLT5mcmVlc3BhY2UpCisJCQlwID0gc3RyZHVwKF8oIkZyZWUgc3BhY2UiKSk7CisJCWVsc2UgaWYgKGZkaXNrX3BhcnRpdGlvbl9oYXNfcGFydG5vKHBhKSAmJiBjeHQtPmRldl9wYXRoKSB7CisJCQlpZiAoY3h0LT5sYWJlbC0+ZmxhZ3MgJiBGRElTS19MQUJFTF9GTF9JTkNIQVJTX1BBUlROTykKKwkJCQlyYyA9IGFzcHJpbnRmKCZwLCAiJWMiLCAoaW50KSBwYS0+cGFydG5vICsgJ2EnKTsKKwkJCWVsc2UKKwkJCQlwID0gZmRpc2tfcGFydG5hbWUoY3h0LT5kZXZfcGF0aCwgcGEtPnBhcnRubyArIDEpOworCQl9CisJCWJyZWFrOworCWNhc2UgRkRJU0tfRklFTERfQk9PVDoKKwkJcCA9IGZkaXNrX3BhcnRpdGlvbl9pc19ib290YWJsZShwYSkgPyBzdHJkdXAoIioiKSA6IE5VTEw7CisJCWJyZWFrOworCWNhc2UgRkRJU0tfRklFTERfU1RBUlQ6CisJCWlmIChmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSkgeworCQkJeCA9IGZkaXNrX2Nyb3VuZChjeHQsIHBhLT5zdGFydCk7CisJCQlyYyA9IHBhLT5zdGFydF9wb3N0ID8KKwkJCQlhc3ByaW50ZigmcCwgIiUiUFJJdTY0IiVjIiwgeCwgcGEtPnN0YXJ0X3Bvc3QpIDoKKwkJCQlhc3ByaW50ZigmcCwgIiUiUFJJdTY0LCB4KTsKKwkJfQorCQlicmVhazsKKwljYXNlIEZESVNLX0ZJRUxEX0VORDoKKwkJaWYgKGZkaXNrX3BhcnRpdGlvbl9oYXNfZW5kKHBhKSkgeworCQkJeCA9IGZkaXNrX2Nyb3VuZChjeHQsIGZkaXNrX3BhcnRpdGlvbl9nZXRfZW5kKHBhKSk7CisJCQlyYyA9IHBhLT5lbmRfcG9zdCA/CisJCQkJCWFzcHJpbnRmKCZwLCAiJSJQUkl1NjQiJWMiLCB4LCBwYS0+ZW5kX3Bvc3QpIDoKKwkJCQkJYXNwcmludGYoJnAsICIlIlBSSXU2NCwgeCk7CisJCX0KKwkJYnJlYWs7CisJY2FzZSBGRElTS19GSUVMRF9TSVpFOgorCQlpZiAoZmRpc2tfcGFydGl0aW9uX2hhc19zaXplKHBhKSkgeworCQkJdWludDY0X3Qgc3ogPSBwYS0+c2l6ZSAqIGN4dC0+c2VjdG9yX3NpemU7CisKKwkJCXN3aXRjaCAoY3h0LT5zaXpldW5pdCkgeworCQkJY2FzZSBGRElTS19TSVpFVU5JVF9CWVRFUzoKKwkJCQlyYyA9IGFzcHJpbnRmKCZwLCAiJSJQUkl1NjQiIiwgc3opOworCQkJCWJyZWFrOworCQkJY2FzZSBGRElTS19TSVpFVU5JVF9IVU1BTjoKKwkJCQlpZiAoZmRpc2tfaXNfZGV0YWlscyhjeHQpKQorCQkJCQlyYyA9IHBhLT5zaXplX3Bvc3QgPworCQkJCQkJCWFzcHJpbnRmKCZwLCAiJSJQUkl1NjQiJWMiLCBzeiwgcGEtPnNpemVfcG9zdCkgOgorCQkJCQkJCWFzcHJpbnRmKCZwLCAiJSJQUkl1NjQsIHN6KTsKKwkJCQllbHNlIHsKKwkJCQkJcCA9IHNpemVfdG9faHVtYW5fc3RyaW5nKFNJWkVfU1VGRklYXzFMRVRURVIsIHN6KTsKKwkJCQkJaWYgKCFwKQorCQkJCQkJcmMgPSAtRU5PTUVNOworCQkJCX0KKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCQlicmVhazsKKwljYXNlIEZESVNLX0ZJRUxEX0NZTElOREVSUzoKKwl7CisJCXVpbnRtYXhfdCBzeiA9IGZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkgPyBwYS0+c2l6ZSA6IDA7CisJCWlmIChzeikKKwkJCS8qIFdoeSB3ZSBuZWVkIHRvIGNhc3QgdGhhdCB0byB1aW50bWF4X3Q/ICovCisJCQlyYyA9IGFzcHJpbnRmKCZwLCAiJWp1IiwgKHVpbnRtYXhfdCkoc3ogLyAoY3h0LT5nZW9tLmhlYWRzICogY3h0LT5nZW9tLnNlY3RvcnMpKSArIDEpOworCQlicmVhazsKKwl9CisJY2FzZSBGRElTS19GSUVMRF9TRUNUT1JTOgorCQlyYyA9IGFzcHJpbnRmKCZwLCAiJWp1IiwKKwkJCWZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkgPyAodWludG1heF90KSBwYS0+c2l6ZSA6IDApOworCQlicmVhazsKKwljYXNlIEZESVNLX0ZJRUxEX0JTSVpFOgorCQlyYyA9IGFzcHJpbnRmKCZwLCAiJSJQUkl1NjQsIHBhLT5ic2l6ZSk7CisJCWJyZWFrOworCWNhc2UgRkRJU0tfRklFTERfRlNJWkU6CisJCXJjID0gYXNwcmludGYoJnAsICIlIlBSSXU2NCwgcGEtPmZzaXplKTsKKwkJYnJlYWs7CisJY2FzZSBGRElTS19GSUVMRF9DUEc6CisJCXJjID0gYXNwcmludGYoJnAsICIlIlBSSXU2NCwgcGEtPmNwZyk7CisJCWJyZWFrOworCWNhc2UgRkRJU0tfRklFTERfVFlQRToKKwkJcCA9IHBhLT50eXBlICYmIHBhLT50eXBlLT5uYW1lID8gc3RyZHVwKF8ocGEtPnR5cGUtPm5hbWUpKSA6IE5VTEw7CisJCWJyZWFrOworCWNhc2UgRkRJU0tfRklFTERfVFlQRUlEOgorCQlpZiAocGEtPnR5cGUgJiYgZmRpc2tfcGFydHR5cGVfZ2V0X3N0cmluZyhwYS0+dHlwZSkpCisJCQlyYyA9IGFzcHJpbnRmKCZwLCAiJXMiLCBmZGlza19wYXJ0dHlwZV9nZXRfc3RyaW5nKHBhLT50eXBlKSk7CisJCWVsc2UgaWYgKHBhLT50eXBlKQorCQkJcmMgPSBhc3ByaW50ZigmcCwgIiV4IiwgZmRpc2tfcGFydHR5cGVfZ2V0X2NvZGUocGEtPnR5cGUpKTsKKwkJYnJlYWs7CisJY2FzZSBGRElTS19GSUVMRF9VVUlEOgorCQlwID0gcGEtPnV1aWQgJiYgKnBhLT51dWlkPyBzdHJkdXAocGEtPnV1aWQpIDogTlVMTDsKKwkJYnJlYWs7CisJY2FzZSBGRElTS19GSUVMRF9OQU1FOgorCQlwID0gcGEtPm5hbWUgJiYgKnBhLT5uYW1lID8gc3RyZHVwKHBhLT5uYW1lKSA6IE5VTEw7CisJCWJyZWFrOworCWNhc2UgRkRJU0tfRklFTERfQVRUUjoKKwkJcCA9IHBhLT5hdHRycyAmJiAqcGEtPmF0dHJzID8gc3RyZHVwKHBhLT5hdHRycykgOiBOVUxMOworCQlicmVhazsKKwljYXNlIEZESVNLX0ZJRUxEX1NBRERSOgorCQlwID0gcGEtPnN0YXJ0X2NocyAmJiAqcGEtPnN0YXJ0X2NocyA/IHN0cmR1cChwYS0+c3RhcnRfY2hzKSA6IE5VTEw7CisJCWJyZWFrOworCWNhc2UgRkRJU0tfRklFTERfRUFERFI6CisJCXAgPSBwYS0+ZW5kX2NocyAmJiAqcGEtPmVuZF9jaHM/IHN0cmR1cChwYS0+ZW5kX2NocykgOiBOVUxMOworCQlicmVhazsKKwljYXNlIEZESVNLX0ZJRUxEX0ZTVVVJRDoKKwkJaWYgKHBhLT5mc19wcm9iZWQgfHwgcHJvYmVfcGFydGl0aW9uX2NvbnRlbnQoY3h0LCBwYSkgPT0gMCkKKwkJCXAgPSBwYS0+ZnN1dWlkICYmICpwYS0+ZnN1dWlkID8gc3RyZHVwKHBhLT5mc3V1aWQpIDogTlVMTDsKKwkJYnJlYWs7CisJY2FzZSBGRElTS19GSUVMRF9GU0xBQkVMOgorCQlpZiAocGEtPmZzX3Byb2JlZCB8fCBwcm9iZV9wYXJ0aXRpb25fY29udGVudChjeHQsIHBhKSA9PSAwKQorCQkJcCA9IHBhLT5mc2xhYmVsICYmICpwYS0+ZnNsYWJlbCA/IHN0cmR1cChwYS0+ZnNsYWJlbCkgOiBOVUxMOworCQlicmVhazsKKwljYXNlIEZESVNLX0ZJRUxEX0ZTVFlQRToKKwkJaWYgKHBhLT5mc19wcm9iZWQgfHwgcHJvYmVfcGFydGl0aW9uX2NvbnRlbnQoY3h0LCBwYSkgPT0gMCkKKwkJCXAgPSBwYS0+ZnN0eXBlICYmICpwYS0+ZnN0eXBlID8gc3RyZHVwKHBhLT5mc3R5cGUpIDogTlVMTDsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJaWYgKHJjIDwgMCkgeworCQlyYyA9IC1FTk9NRU07CisJCWZyZWUocCk7CisJCXAgPSBOVUxMOworCisJfSBlbHNlIGlmIChyYyA+IDApCisJCXJjID0gMDsKKworCSpkYXRhID0gcDsKKworCXJldHVybiByYzsKK30KKworCisvKioKKyAqIGZkaXNrX2dldF9wYXJ0aXRpb246CisgKiBAY3h0OiBjb250ZXh0CisgKiBAcGFydG5vOiBwYXJ0aXRpb24gbnVtYmVyICgwIGlzIHRoZSBmaXJzdCBwYXJ0aXRpb24pCisgKiBAcGE6IHJldHVybnMgZGF0YSBhYm91dCBwYXJ0aXRpb24KKyAqCisgKiBSZWFkcyBkaXNrbGFiZWwgYW5kIGZpbGxzIGluIEBwYSB3aXRoIGRhdGEgYWJvdXQgcGFydGl0aW9uIEBuLgorICoKKyAqIE5vdGUgdGhhdCBwYXJ0bm8gbWF5IGFkZHJlc3MgdW51c2VkIHBhcnRpdGlvbiBhbmQgdGhlbiB0aGlzIGZ1bmN0aW9uIGRvZXMKKyAqIG5vdCBmaWxsIGFueXRoaW5nIHRvIEBwYS4gIFNlZSBmZGlza19pc19wYXJ0aXRpb25fdXNlZCgpLiBJZiBAcGEgcG9pbnRzIHRvCisgKiBOVUxMIHRoZW4gdGhlIGZ1bmN0aW9uIGFsbG9jYXRlcyBhIG5ld2x5IGFsbG9jYXRlZCBmZGlza19wYXJ0aXRpb24gc3RydWN0LAorICogdXNlIGZkaXNrX3VucmVmX3BhcnRpdGlvbigpIHRvIGRlYWxsb2NhdGUuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvdGhlcndpc2UsIGEgY29ycmVzcG9uZGluZyBlcnJvci4KKyAqLworaW50IGZkaXNrX2dldF9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IHBhcnRubywKKwkJCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKipwYSkKK3sKKwlpbnQgcmM7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqbnAgPSBOVUxMOworCisJaWYgKCFjeHQgfHwgIWN4dC0+bGFiZWwgfHwgIXBhKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIWN4dC0+bGFiZWwtPm9wLT5nZXRfcGFydCkKKwkJcmV0dXJuIC1FTk9TWVM7CisJaWYgKCFmZGlza19pc19wYXJ0aXRpb25fdXNlZChjeHQsIHBhcnRubykpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKCEqcGEpIHsKKwkJbnAgPSAqcGEgPSBmZGlza19uZXdfcGFydGl0aW9uKCk7CisJCWlmICghKnBhKQorCQkJcmV0dXJuIC1FTk9NRU07CisJfSBlbHNlCisJCWZkaXNrX3Jlc2V0X3BhcnRpdGlvbigqcGEpOworCisJKCpwYSktPnBhcnRubyA9IHBhcnRubzsKKwlyYyA9IGN4dC0+bGFiZWwtPm9wLT5nZXRfcGFydChjeHQsIHBhcnRubywgKnBhKTsKKworCWlmIChyYykgeworCQlpZiAobnApIHsKKwkJCWZkaXNrX3VucmVmX3BhcnRpdGlvbihucCk7CisJCQkqcGEgPSBOVUxMOworCQl9IGVsc2UKKwkJCWZkaXNrX3Jlc2V0X3BhcnRpdGlvbigqcGEpOworCX0gZWxzZQorCQkoKnBhKS0+c2l6ZV9leHBsaWNpdCA9IDE7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcmVzaXplX2dldF9ieV9vZmZzZXQoCisJCQlzdHJ1Y3QgZmRpc2tfdGFibGUgKnRiLCBmZGlza19zZWN0b3JfdCBvZmYpCit7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBOVUxMOworCXN0cnVjdCBmZGlza19pdGVyIGl0cjsKKworCWZkaXNrX3Jlc2V0X2l0ZXIoJml0ciwgRkRJU0tfSVRFUl9GT1JXQVJEKTsKKworCXdoaWxlIChmZGlza190YWJsZV9uZXh0X3BhcnRpdGlvbih0YiwgJml0ciwgJnBhKSA9PSAwKSB7CisJCWlmICghZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydChwYSkgfHwgIWZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkpCisJCQljb250aW51ZTsKKwkJaWYgKG9mZiA+PSBwYS0+c3RhcnQgJiYgb2ZmIDwgcGEtPnN0YXJ0ICsgcGEtPnNpemUpCisJCQlyZXR1cm4gcGE7CisJfQorCisJcmV0dXJuIE5VTEw7Cit9CisKKy8qCisgKiBWZXJpZnkgdGhhdCBhcmVhIGFkZHJlc3NlZCBieSBAc3RhcnQgaXMgZnJlZXNwYWNlIG9yIHRoZSBAY3VyW3JlbnRdCisgKiBwYXJ0aXRpb24gYW5kIGNvbnRpbnVlIHRvIHRoZSBuZXh0IHRhYmxlIGVudHJpZXMgdW50aWwgaXQncyBmcmVlc3BhY2UsIGFuZAorICogY291bnRzIHNpemUgb2YgYWxsIHRoaXMgc3BhY2UuCisgKgorICogVGhpcyBpcyBjb3JlIG9mIHRoZSBwYXJ0aXRpb24gc3RhcnQgb2Zmc2V0IG1vdmUgb3BlcmF0aW9uLiBXZSBjYW4gbW92ZSB0aGUKKyAqIHN0YXJ0IHdpdGhpbiB0aGUgY3VycmVudCBwYXJ0aXRpb24gb2YgdG8gdGhlIGFub3RoZXIgZnJlZSBzcGFjZS4gSXQncworICogZm9yYmlkZGVuIHRvIG1vdmUgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiB0byBhbm90aGVyIGFscmVhZHkgZGVmaW5lZAorICogcGFydGl0aW9uLgorICovCitzdGF0aWMgaW50IHJlc2l6ZV9nZXRfbGFzdF9wb3NzaWJsZSgKKwkJCXN0cnVjdCBmZGlza190YWJsZSAqdGIsCisJCQlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpjdXIsCisJCQlmZGlza19zZWN0b3JfdCBzdGFydCwKKwkJCWZkaXNrX3NlY3Rvcl90ICptYXhzeikKK3sKKwlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSA9IE5VTEwsICpsYXN0ID0gTlVMTDsKKwlzdHJ1Y3QgZmRpc2tfaXRlciBpdHI7CisKKwlmZGlza19yZXNldF9pdGVyKCZpdHIsIEZESVNLX0lURVJfRk9SV0FSRCk7CisKKwkqbWF4c3ogPSAwOworCisJd2hpbGUgKGZkaXNrX3RhYmxlX25leHRfcGFydGl0aW9uKHRiLCAmaXRyLCAmcGEpID09IDApIHsKKwkJaWYgKCFmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSB8fAorCQkgICAgIWZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkgfHwKKwkJICAgIGZkaXNrX3BhcnRpdGlvbl9pc19jb250YWluZXIocGEpKQorCQkJY29udGludWU7CisKKwkJREJHKFBBUlQsIHVsX2RlYnVnb2JqKHBhLCAiY2hlY2tpbmcgc3RhcnQ9JWp1LCBzaXplPSVqdSIsCisJCSAgICAgICAgICAgICAgICAgICAgICAodWludG1heF90KXBhLT5zdGFydCwgKHVpbnRtYXhfdClwYS0+c2l6ZSkpOworCisJCWlmICghbGFzdCkgeworCQkJaWYgKHN0YXJ0ID49IHBhLT5zdGFydCAmJiAgc3RhcnQgPCBwYS0+c3RhcnQgKyBwYS0+c2l6ZSkgeworCQkJCWlmIChmZGlza19wYXJ0aXRpb25faXNfZnJlZXNwYWNlKHBhKSB8fCBwYSA9PSBjdXIpCisJCQkJCWxhc3QgPSBwYTsKKwkJCQllbHNlCisJCQkJCWJyZWFrOworCisJCQkJKm1heHN6ID0gcGEtPnNpemUgLSAoc3RhcnQgLSBwYS0+c3RhcnQpOworCQkJfQorCQl9IGVsc2UgaWYgKCFmZGlza19wYXJ0aXRpb25faXNfZnJlZXNwYWNlKHBhKSAmJiBwYSAhPSBjdXIpIHsKKwkJCWJyZWFrOworCQl9IGVsc2UgeworCQkJbGFzdCA9IHBhOworCQkJKm1heHN6ICs9IHBhLT5zaXplOworCQl9CisJfQorCisJaWYgKGxhc3QpCisJCURCRyhQQVJULCB1bF9kZWJ1Z29iaihjdXIsICJyZXNpemU6IG1heCBzaXplPSVqdSIsICh1aW50bWF4X3QpICptYXhzeikpOworCWVsc2UKKwkJREJHKFBBUlQsIHVsX2RlYnVnb2JqKGN1ciwgInJlc2l6ZTogbm90aGluZyB1c2FibGUgYWZ0ZXIgJWp1IiwgKHVpbnRtYXhfdCkgc3RhcnQpKTsKKworCXJldHVybiBsYXN0ID8gMCA6IC0xOworfQorCisvKgorICogVXNlcyB0ZW1wbGF0ZSBAdHBsIHRvIHJlY291bnQgc3RhcnQgYW5kIHNpemUgY2hhbmdlIG9mIHRoZSBwYXJ0aXRpb24gQHJlcy4gVGhlCisgKiBAdHBsLT5zaXplIGFuZCBAdHBsLT5zdGFydCBhcmUgaW50ZXJwcmV0ZWQgYXMgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgc2V0dGluZy4KKyAqLworc3RhdGljIGludCByZWNvdW50X3Jlc2l6ZSgKKwkJCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBwYXJ0bm8sCisJCQlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpyZXMsIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnRwbCkKK3sKKwlmZGlza19zZWN0b3JfdCBzdGFydCwgc2l6ZSwgeHNpemU7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqY3VyID0gTlVMTDsKKwlzdHJ1Y3QgZmRpc2tfdGFibGUgKnRiID0gTlVMTDsKKwlpbnQgcmM7CisKKwlEQkcoUEFSVCwgdWxfZGVidWdvYmoodHBsLCAiPj4+IHJlc2l6ZSByZXF1ZXN0ZWQiKSk7CisKKwlGRElTS19JTklUX1VOREVGKHN0YXJ0KTsKKwlGRElTS19JTklUX1VOREVGKHNpemUpOworCisJcmMgPSBmZGlza19nZXRfcGFydGl0aW9ucyhjeHQsICZ0Yik7CisJaWYgKCFyYykKKwkJcmMgPSBmZGlza19nZXRfZnJlZXNwYWNlcyhjeHQsICZ0Yik7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwljdXIgPSBmZGlza190YWJsZV9nZXRfcGFydGl0aW9uX2J5X3BhcnRubyh0YiwgcGFydG5vKTsKKwlpZiAoIWN1cikgeworCQlmZGlza191bnJlZl90YWJsZSh0Yik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCS8qIDFhKSBzZXQgbmV3IHN0YXJ0IC0gY2hhbmdlIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IG9uLWRpc2sgc2V0dGluZyAqLworCWlmICh0cGwtPm1vdmVzdGFydCAmJiBmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHRwbCkpIHsKKwkJc3RhcnQgPSBmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0KGN1cik7CisJCWlmICh0cGwtPm1vdmVzdGFydCA9PSBGRElTS19NT1ZFX0RPV04pIHsKKwkJCWlmIChmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHRwbCkgPiBzdGFydCkKKwkJCQlnb3RvIGVyYW5nZTsKKwkJCXN0YXJ0IC09IGZkaXNrX3BhcnRpdGlvbl9nZXRfc3RhcnQodHBsKTsKKwkJfSBlbHNlCisJCQlzdGFydCArPSBmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHRwbCk7CisKKwkJREJHKFBBUlQsIHVsX2RlYnVnb2JqKHRwbCwgInJlc2l6ZTogbW92aW5nIHN0YXJ0ICVzIHJlbGF0aXZlLCBuZXcgc3RhcnQ6ICVqdSIsCisJCQkJdHBsLT5tb3Zlc3RhcnQgPT0gRkRJU0tfTU9WRV9ET1dOICA/ICJET1dOIiA6ICJVUCIsICh1aW50bWF4X3Qpc3RhcnQpKTsKKworCS8qIDFiKSBzZXQgbmV3IHN0YXJ0IC0gYWJzb2x1dGUgbnVtYmVyICovCisJfSBlbHNlIGlmIChmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHRwbCkpIHsKKwkJc3RhcnQgPSBmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHRwbCk7CisJCURCRyhQQVJULCB1bF9kZWJ1Z29iaih0cGwsICJyZXNpemU6IG1vdmluZyBzdGFydCB0byBhYnNvbHV0ZSBvZmZzZXQ6ICVqdSIsCisJCSAgICAgICAgICAgICAgICAgICAgICAodWludG1heF90KXN0YXJ0KSk7CisJfQorCisJLyogMikgdmVyaWZ5IHRoYXQgc3RhcnQgaXMgd2l0aGluIHRoZSBjdXJyZW50IHBhcnRpdGlvbiBvciBhbnkgZnJlZXNwYWNlIGFyZWEgKi8KKwlpZiAoIUZESVNLX0lTX1VOREVGKHN0YXJ0KSkgeworCQlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICphcmVhID0gcmVzaXplX2dldF9ieV9vZmZzZXQodGIsIHN0YXJ0KTsKKwkJaWYgKGFyZWEgPT0gY3VyKQorCQkJREJHKFBBUlQsIHVsX2RlYnVnb2JqKHRwbCwgInJlc2l6ZTogc3RhcnQgcG9pbnRzIHRvIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIpKTsKKwkJZWxzZSBpZiAoYXJlYSAmJiBmZGlza19wYXJ0aXRpb25faXNfZnJlZXNwYWNlKGFyZWEpKQorCQkJREJHKFBBUlQsIHVsX2RlYnVnb2JqKHRwbCwgInJlc2l6ZTogc3RhcnQgcG9pbnRzIHRvIGZyZWVzcGFjZSIpKTsKKwkJZWxzZSBpZiAoIWFyZWEgJiYgc3RhcnQgPj0gY3h0LT5maXJzdF9sYmEgJiYgc3RhcnQgPCBjeHQtPmZpcnN0X2xiYSArIChjeHQtPmdyYWluIC8gY3h0LT5zZWN0b3Jfc2l6ZSkpCisJCQlEQkcoUEFSVCwgdWxfZGVidWdvYmoodHBsLCAicmVzaXplOiBzdGFydCBwb2ludHMgYmVmb3JlIGZpcnN0IHBhcnRpdGlvbiIpKTsKKwkJZWxzZQorCQkJZ290byBlcmFuZ2U7CisJfSBlbHNlIHsKKwkJLyogbm8gY2hhbmdlLCBzdGFydCBwb2ludHMgdG8gdGhlIGN1cnJlbnQgcGFydGl0aW9uICovCisJCURCRyhQQVJULCB1bF9kZWJ1Z29iaih0cGwsICJyZXNpemU6IHN0YXJ0IHVuY2hhbmdlZCIpKTsKKwkJc3RhcnQgPSBmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0KGN1cik7CisJfQorCisJLyogM2EpIHNldCBuZXcgc2l6ZSAtLSByZWR1Y2UgKi8KKwlpZiAodHBsLT5yZXNpemUgPT0gRkRJU0tfUkVTSVpFX1JFRFVDRSAmJiBmZGlza19wYXJ0aXRpb25faGFzX3NpemUodHBsKSkgeworCQlEQkcoUEFSVCwgdWxfZGVidWdvYmoodHBsLCAicmVzaXplOiByZWR1Y2UiKSk7CisJCXNpemUgPSBmZGlza19wYXJ0aXRpb25fZ2V0X3NpemUoY3VyKTsKKwkJaWYgKGZkaXNrX3BhcnRpdGlvbl9nZXRfc2l6ZSh0cGwpID4gc2l6ZSkKKwkJCWdvdG8gZXJhbmdlOworCQlzaXplIC09IGZkaXNrX3BhcnRpdGlvbl9nZXRfc2l6ZSh0cGwpOworCisJLyogM2IpIHNldCBuZXcgc2l6ZSAtLSBlbmxhcmdlICovCisJfSBlbHNlIGlmICh0cGwtPnJlc2l6ZSA9PSBGRElTS19SRVNJWkVfRU5MQVJHRSAmJiBmZGlza19wYXJ0aXRpb25faGFzX3NpemUodHBsKSkgeworCQlEQkcoUEFSVCwgdWxfZGVidWdvYmoodHBsLCAicmVzaXplOiBlbmxhcmdlIikpOworCQlzaXplID0gZmRpc2tfcGFydGl0aW9uX2dldF9zaXplKGN1cik7CisJCXNpemUgKz0gZmRpc2tfcGFydGl0aW9uX2dldF9zaXplKHRwbCk7CisKKwkvKiAzYykgc2V0IG5ldyBzaXplIC0tIG5vIHNpemUgc3BlY2lmaWVkLCBlbmxhcmdlIHRvIGFsbCBmcmVlc3BhY2UgKi8KKwl9IGVsc2UgaWYgKHRwbC0+cmVzaXplID09IEZESVNLX1JFU0laRV9FTkxBUkdFKSB7CisJCURCRyhQQVJULCB1bF9kZWJ1Z29iaih0cGwsICJyZXNpemU6IGVubGFyZ2UgdG8gYWxsIHBvc3NpYmxlIikpOworCQlpZiAocmVzaXplX2dldF9sYXN0X3Bvc3NpYmxlKHRiLCBjdXIsIHN0YXJ0LCAmc2l6ZSkpCisJCQlnb3RvIGVyYW5nZTsKKworCS8qIDNkKSBzZXQgbmV3IHNpemUgLS0gYWJzb2x1dGUgbnVtYmVyICovCisJfSBlbHNlIGlmIChmZGlza19wYXJ0aXRpb25faGFzX3NpemUodHBsKSkgeworCQlEQkcoUEFSVCwgdWxfZGVidWdvYmoodHBsLCAicmVzaXplOiBuZXcgYWJzb2x1dGUgc2l6ZSIpKTsKKwkJc2l6ZSA9IGZkaXNrX3BhcnRpdGlvbl9nZXRfc2l6ZSh0cGwpOworCX0KKworCS8qIDQpIHZlcmlmeSB0aGF0IHNpemUgaXMgd2l0aGluIHRoZSBjdXJyZW50IHBhcnRpdGlvbiBvciBuZXh0IGZyZWUgc3BhY2UgKi8KKwl4c2l6ZSA9ICFGRElTS19JU19VTkRFRihzaXplKSA/IHNpemUgOiBmZGlza19wYXJ0aXRpb25fZ2V0X3NpemUoY3VyKTsKKworCWlmIChmZGlza19wYXJ0aXRpb25faGFzX3NpemUoY3VyKSkgeworCQlmZGlza19zZWN0b3JfdCBtYXhzejsKKworCQlpZiAocmVzaXplX2dldF9sYXN0X3Bvc3NpYmxlKHRiLCBjdXIsIHN0YXJ0LCAmbWF4c3opKQorCQkJZ290byBlcmFuZ2U7CisJCURCRyhQQVJULCB1bF9kZWJ1Z29iaih0cGwsICJyZXNpemU6IHNpemU9JWp1LCBtYXg9JWp1IiwKKwkJCQkJKHVpbnRtYXhfdCkgeHNpemUsICh1aW50bWF4X3QpIG1heHN6KSk7CisJCWlmICh4c2l6ZSA+IG1heHN6KQorCQkJZ290byBlcmFuZ2U7CisJfQorCisJaWYgKCFGRElTS19JU19VTkRFRihzaXplKSkgeworCQlEQkcoUEFSVCwgdWxfZGVidWdvYmoodHBsLCAicmVzaXplOiBzaXplIHVuY2hhbmdlZCAodW5kZWZpbmVkKSIpKTsKKwl9CisKKworCURCRyhQQVJULCB1bF9kZWJ1Z29iaih0cGwsICI8PDwgcmVzaXplOiBTVUNDRVNTOiBzdGFydCAlanUtPiVqdTsgc2l6ZSAlanUtPiVqdSIsCisJCQkodWludG1heF90KSBmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0KGN1ciksICh1aW50bWF4X3QpIHN0YXJ0LAorCQkJKHVpbnRtYXhfdCkgZmRpc2tfcGFydGl0aW9uX2dldF9zaXplKGN1ciksICh1aW50bWF4X3QpIHNpemUpKTsKKwlyZXMtPnN0YXJ0ID0gc3RhcnQ7CisJcmVzLT5zaXplID0gc2l6ZTsKKwlmZGlza191bnJlZl90YWJsZSh0Yik7CisJcmV0dXJuIDA7CitlcmFuZ2U6CisJREJHKFBBUlQsIHVsX2RlYnVnb2JqKHRwbCwgIjw8PCByZXNpemU6IEZBSUxFRCIpKTsKKwlmZGlza193YXJueChjeHQsIF8oIkZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uICMlenUuIiksIHBhcnRubyArIDEpOworCWZkaXNrX3VucmVmX3RhYmxlKHRiKTsKKwlyZXR1cm4gLUVSQU5HRTsKKworfQorCisvKioKKyAqIGZkaXNrX3NldF9wYXJ0aXRpb246CisgKiBAY3h0OiBjb250ZXh0CisgKiBAcGFydG5vOiBwYXJ0aXRpb24gbnVtYmVyICgwIGlzIHRoZSBmaXJzdCBwYXJ0aXRpb24pCisgKiBAcGE6IG5ldyBwYXJ0aXRpb24gc2V0dGluZworICoKKyAqIE1vZGlmaWVzIGRpc2tsYWJlbCBhY2NvcmRpbmcgdG8gc2V0dGluZyB3aXRoIGluIEBwYS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLgorICovCitpbnQgZmRpc2tfc2V0X3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgcGFydG5vLAorCQkJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqeHBhID0gcGEsICp0bXAgPSBOVUxMOworCWludCByYywgd2lwZSA9IDA7CisKKwlpZiAoIWN4dCB8fCAhY3h0LT5sYWJlbCB8fCAhcGEpCisJCXJldHVybiAtRUlOVkFMOworCWlmICghY3h0LT5sYWJlbC0+b3AtPnNldF9wYXJ0KQorCQlyZXR1cm4gLUVOT1NZUzsKKworCXBhLT5mc19wcm9iZWQgPSAwOworCisJaWYgKCFmZGlza19pc19wYXJ0aXRpb25fdXNlZChjeHQsIHBhcnRubykpIHsKKwkJcGEtPnBhcnRubyA9IHBhcnRubzsKKwkJcmV0dXJuIGZkaXNrX2FkZF9wYXJ0aXRpb24oY3h0LCBwYSwgTlVMTCk7CisJfQorCisJaWYgKHBhLT5yZXNpemUgfHwgZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydChwYSkgfHwgZmRpc2tfcGFydGl0aW9uX2hhc19zaXplKHBhKSkgeworCQl4cGEgPSBfX2NvcHlfcGFydGl0aW9uKHBhKTsKKwkJeHBhLT5tb3Zlc3RhcnQgPSAwOworCQl4cGEtPnJlc2l6ZSA9IDA7CisJCUZESVNLX0lOSVRfVU5ERUYoeHBhLT5zaXplKTsKKwkJRkRJU0tfSU5JVF9VTkRFRih4cGEtPnN0YXJ0KTsKKworCQlyYyA9IHJlY291bnRfcmVzaXplKGN4dCwgcGFydG5vLCB4cGEsIHBhKTsKKwkJaWYgKHJjKQorCQkJZ290byBkb25lOworCX0KKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInNldHRpbmcgcGFydGl0aW9uICV6dSAlcCAoc3RhcnQ9JWp1LCBlbmQ9JWp1LCBzaXplPSVqdSkiLAorCQkgICAgcGFydG5vLCB4cGEsCisJCSAgICAodWludG1heF90KSBmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHhwYSksCisJCSAgICAodWludG1heF90KSBmZGlza19wYXJ0aXRpb25fZ2V0X2VuZCh4cGEpLAorCQkgICAgKHVpbnRtYXhfdCkgZmRpc2tfcGFydGl0aW9uX2dldF9zaXplKHhwYSkpKTsKKworCS8qIGRpc2FibGUgd2lwZSBmb3Igb2xkIG9mZnNldC9zaXplIHNldHRpbmcgKi8KKwlpZiAoZmRpc2tfZ2V0X3BhcnRpdGlvbihjeHQsIHBhcnRubywgJnRtcCkgPT0gMCAmJiB0bXApIHsKKwkJd2lwZSA9IGZkaXNrX3NldF93aXBlX2FyZWEoY3h0LCBmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHRtcCksCisJCQkJCQlmZGlza19wYXJ0aXRpb25fZ2V0X3NpemUodG1wKSwgRkFMU0UpOworCQlmZGlza191bnJlZl9wYXJ0aXRpb24odG1wKTsKKwl9CisKKwkvKiBjYWxsIGxhYmVsIGRyaXZlciAqLworCXJjID0gY3h0LT5sYWJlbC0+b3AtPnNldF9wYXJ0KGN4dCwgcGFydG5vLCB4cGEpOworCisJLyogZW5hYmxlIHdpcGUgZm9yIG5ldyBvZmZzZXQvc2l6ZSAqLworCWlmICghcmMgJiYgd2lwZSkKKwkJZmRpc2tfd2lwZV9wYXJ0aXRpb24oY3h0LCBwYXJ0bm8sIFRSVUUpOworZG9uZToKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJzZXRfcGFydGl0aW9uKCkgcmM9JWQiLCByYykpOworCWlmICh4cGEgIT0gcGEpCisJCWZkaXNrX3VucmVmX3BhcnRpdGlvbih4cGEpOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBmZGlza193aXBlX3BhcnRpdGlvbjoKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqIEBwYXJ0bm86IHBhcnRpdGlvbiBudW1iZXIKKyAqIEBlbmFibGU6IDAgb3IgMQorICoKKyAqIEVuYWJsZS9kaXNhYmxlIGZpbGVzeXN0ZW1zL1JBSURzIHdpcGluZyBpbiBhcmVhIGRlZmluZWQgYnkgcGFydGl0aW9uIHN0YXJ0IGFuZCBzaXplLgorICoKKyAqIFJldHVybnM6IDwwIGluIGNhc2Ugb2YgZXJyb3IsIDAgb24gc3VjY2VzcworICogU2luY2U6IDIuMjkKKyAqLworaW50IGZkaXNrX3dpcGVfcGFydGl0aW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBwYXJ0bm8sIGludCBlbmFibGUpCit7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBOVUxMOworCWludCByYzsKKworCXJjID0gZmRpc2tfZ2V0X3BhcnRpdGlvbihjeHQsIHBhcnRubywgJnBhKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCXJjID0gZmRpc2tfc2V0X3dpcGVfYXJlYShjeHQsIGZkaXNrX3BhcnRpdGlvbl9nZXRfc3RhcnQocGEpLAorCQkJCSAgICAgIGZkaXNrX3BhcnRpdGlvbl9nZXRfc2l6ZShwYSksIGVuYWJsZSk7CisJZmRpc2tfdW5yZWZfcGFydGl0aW9uKHBhKTsKKwlyZXR1cm4gcmMgPCAwID8gcmMgOiAwOworfQorCisKKy8qKgorICogZmRpc2tfYWRkX3BhcnRpdGlvbjoKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqIEBwYTogdGVtcGxhdGUgZm9yIHRoZSBwYXJ0aXRpb24gKG9yIE5VTEwpCisgKiBAcGFydG5vOiBOVUxMIG9yIHJldHVybnMgbmV3IHBhcnRpdGlvbiBudW1iZXIKKyAqCisgKiBJZiBAcGEgaXMgbm90IHNwZWNpZmllZCBvciBhbnkgQHBhIGl0ZW0gaXMgbWlzc2luZyB0aGUgbGliZmRpc2sgd2lsbCBhc2sgYnkKKyAqIGZkaXNrX2Fza18gQVBJLgorICoKKyAqIEFkZHMgYSBuZXcgcGFydGl0aW9uIHRvIGRpc2tsYWJlbC4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLgorICovCitpbnQgZmRpc2tfYWRkX3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsCisJCQlzaXplX3QgKnBhcnRubykKK3sKKwlpbnQgcmM7CisKKwlpZiAoIWN4dCB8fCAhY3h0LT5sYWJlbCkKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKCFjeHQtPmxhYmVsLT5vcC0+YWRkX3BhcnQpCisJCXJldHVybiAtRU5PU1lTOworCWlmIChmZGlza19taXNzaW5nX2dlb21ldHJ5KGN4dCkpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKHBhKSB7CisJCXBhLT5mc19wcm9iZWQgPSAwOworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJhZGRpbmcgbmV3IHBhcnRpdGlvbiAlcCAoc3RhcnQ9JWp1LCBlbmQ9JWp1LCBzaXplPSVqdSwgIgorCQkJICAgICJkZWZhdWx0cyhzdGFydD0lcywgZW5kPSVzLCBwYXJ0bm89JXMpIiwKKwkJCSAgICBwYSwKKwkJCSAgICAodWludG1heF90KSBmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBhKSwKKwkJCSAgICAodWludG1heF90KSBmZGlza19wYXJ0aXRpb25fZ2V0X2VuZChwYSksCisJCQkgICAgKHVpbnRtYXhfdCkgZmRpc2tfcGFydGl0aW9uX2dldF9zaXplKHBhKSwKKwkJCSAgICBwYS0+c3RhcnRfZm9sbG93X2RlZmF1bHQgPyAieWVzIiA6ICJubyIsCisJCQkgICAgcGEtPmVuZF9mb2xsb3dfZGVmYXVsdCA/ICJ5ZXMiIDogIm5vIiwKKwkJCSAgICBwYS0+cGFydG5vX2ZvbGxvd19kZWZhdWx0ID8gInllcyIgOiAibm8iKSk7CisJfSBlbHNlCisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImFkZGluZyBwYXJ0aXRpb24iKSk7CisKKwlyYyA9IGN4dC0+bGFiZWwtPm9wLT5hZGRfcGFydChjeHQsIHBhLCBwYXJ0bm8pOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiYWRkIHBhcnRpdGlvbiBkb25lIChyYz0lZCkiLCByYykpOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBmZGlza19kZWxldGVfcGFydGl0aW9uOgorICogQGN4dDogZmRpc2sgY29udGV4dAorICogQHBhcnRubzogcGFydGl0aW9uIG51bWJlciB0byBkZWxldGUgKDAgaXMgdGhlIGZpcnN0IHBhcnRpdGlvbikKKyAqCisgKiBEZWxldGVzIGEgQHBhcnRubyBwYXJ0aXRpb24gZnJvbSBkaXNrbGFiZWwuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvcgorICovCitpbnQgZmRpc2tfZGVsZXRlX3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgcGFydG5vKQoreworCWlmICghY3h0IHx8ICFjeHQtPmxhYmVsKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIWN4dC0+bGFiZWwtPm9wLT5kZWxfcGFydCkKKwkJcmV0dXJuIC1FTk9TWVM7CisKKwlmZGlza193aXBlX3BhcnRpdGlvbihjeHQsIHBhcnRubywgMCk7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJkZWxldGluZyAlcyBwYXJ0aXRpb24gbnVtYmVyICV6ZCIsCisJCQkJY3h0LT5sYWJlbC0+bmFtZSwgcGFydG5vKSk7CisJcmV0dXJuIGN4dC0+bGFiZWwtPm9wLT5kZWxfcGFydChjeHQsIHBhcnRubyk7Cit9CisKKy8qKgorICogZmRpc2tfZGVsZXRlX2FsbF9wYXJ0aXRpb25zOgorICogQGN4dDogZmRpc2sgY29udGV4dAorICoKKyAqIERlbGV0ZSBhbGwgdXNlZCBwYXJ0aXRpb25zIGZyb20gZGlza2xhYmVsLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2Vzcywgb3RoZXJ3aXNlLCBhIGNvcnJlc3BvbmRpbmcgZXJyb3IuCisgKi8KK2ludCBmZGlza19kZWxldGVfYWxsX3BhcnRpdGlvbnMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzaXplX3QgaTsKKwlpbnQgcmMgPSAwOworCisJaWYgKCFjeHQgfHwgIWN4dC0+bGFiZWwpCisJCXJldHVybiAtRUlOVkFMOworCisJZm9yIChpID0gMDsgaSA8IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXg7IGkrKykgeworCisJCWlmICghZmRpc2tfaXNfcGFydGl0aW9uX3VzZWQoY3h0LCBpKSkKKwkJCWNvbnRpbnVlOworCQlyYyA9IGZkaXNrX2RlbGV0ZV9wYXJ0aXRpb24oY3h0LCBpKTsKKwkJaWYgKHJjKQorCQkJYnJlYWs7CisJfQorCisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIGZkaXNrX2lzX3BhcnRpdGlvbl91c2VkOgorICogQGN4dDogY29udGV4dAorICogQG46IHBhcnRpdGlvbiBudW1iZXIgKDAgaXMgdGhlIGZpcnN0IHBhcnRpdGlvbikKKyAqCisgKiBUaGlzIGlzIGZhc3RlciB0aGFuIGZkaXNrX2dldF9wYXJ0aXRpb24oKSArIGZkaXNrX3BhcnRpdGlvbl9pc191c2VkKCkuCisgKgorICogUmV0dXJuczogMCBvciAxCisgKi8KK2ludCBmZGlza19pc19wYXJ0aXRpb25fdXNlZChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgbikKK3sKKwlpZiAoIWN4dCB8fCAhY3h0LT5sYWJlbCkKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKCFjeHQtPmxhYmVsLT5vcC0+cGFydF9pc191c2VkKQorCQlyZXR1cm4gLUVOT1NZUzsKKworCXJldHVybiBjeHQtPmxhYmVsLT5vcC0+cGFydF9pc191c2VkKGN4dCwgbik7Cit9CisKZGlmZiAtLWdpdCBhL2xpYmZkaXNrL3NyYy9wYXJ0dHlwZS5jIGIvbGliZmRpc2svc3JjL3BhcnR0eXBlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDg5NGNmOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmZkaXNrL3NyYy9wYXJ0dHlwZS5jCkBAIC0wLDAgKzEsNDA1IEBACisKKyNpbmNsdWRlIDxjdHlwZS5oPgorCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiZmRpc2tQLmgiCisKKy8qKgorICogU0VDVElPTjogcGFydHR5cGUKKyAqIEB0aXRsZTogUGFydGl0aW9uIHR5cGVzCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGFic3RyYWN0aW9uIHRvIHBhcnRpdGlvbiB0eXBlcworICoKKyAqIFRoZXJlIGFyZSB0d28gYmFzaWMgdHlwZXMgb2YgcGFydHR5cGVzLCBzdHJpbmcgYmFzZWQgKGUuZy4gR1BUKQorICogYW5kIGNvZGUvaGV4IGJhc2VkIChlLmcuIE1CUikuCisgKi8KKworLyoqCisgKiBmZGlza19uZXdfcGFydHR5cGU6CisgKgorICogSXQncyByZWNvbW1lbmRlZCB0byB1c2UgZmRpc2tfbGFiZWxfZ2V0X3BhcnR0eXBlX2Zyb21fY29kZSgpIG9yCisgKiBmZGlza19sYWJlbF9nZXRfcGFydHR5cGVfZnJvbV9zdHJpbmcoKSBmb3Igd2VsbCBrbm93biB0eXBlcyByYXRoZXIKKyAqIHRoYW4gYWxsb2NhdGUgYSBuZXcgaW5zdGFuY2UuCisgKgorICogUmV0dXJuczogbmV3IGluc3RhbmNlLgorICovCitzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKmZkaXNrX25ld19wYXJ0dHlwZSh2b2lkKQoreworCXN0cnVjdCBmZGlza19wYXJ0dHlwZSAqdCA9IGNhbGxvYygxLCBzaXplb2YoKnQpKTsKKworCXQtPnJlZmNvdW50ID0gMTsKKwl0LT5mbGFncyA9IEZESVNLX1BBUlRUWVBFX0FMTE9DQVRFRDsKKwlEQkcoUEFSVFRZUEUsIHVsX2RlYnVnb2JqKHQsICJhbGxvYyIpKTsKKwlyZXR1cm4gdDsKK30KKworLyoqCisgKiBmZGlza19yZWZfcGFydHR5cGU6CisgKiBAdDogcGFydGl0aW9uIHR5cGUKKyAqCisgKiBJbmNyZW1lbnRzIHJlZmVyZW5jZSBjb3VudGVyIGZvciBhbGxvY2F0ZWQgdHlwZXMKKyAqLwordm9pZCBmZGlza19yZWZfcGFydHR5cGUoc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0KQoreworCWlmIChmZGlza19wYXJ0dHlwZV9pc19hbGxvY2F0ZWQodCkpCisJCXQtPnJlZmNvdW50Kys7Cit9CisKKy8qKgorICogZmRpc2tfdW5yZWZfcGFydHR5cGUKKyAqIEB0OiBwYXJ0aXRpb24gcG9pbnRlcgorICoKKyAqIERlY3JlbWVudHMgcmVmZXJlbmNlIGNvdW50ZXIsIG9uIHplcm8gdGhlIEB0IGlzIGF1dG9tYXRpY2FsbHkKKyAqIGRlYWxsb2NhdGVkLgorICovCit2b2lkIGZkaXNrX3VucmVmX3BhcnR0eXBlKHN0cnVjdCBmZGlza19wYXJ0dHlwZSAqdCkKK3sKKwlpZiAoIWZkaXNrX3BhcnR0eXBlX2lzX2FsbG9jYXRlZCh0KSkKKwkJcmV0dXJuOworCisJdC0+cmVmY291bnQtLTsKKwlpZiAodC0+cmVmY291bnQgPD0gMCkgeworCQlEQkcoUEFSVFRZUEUsIHVsX2RlYnVnb2JqKHQsICJmcmVlIikpOworCQlmcmVlKHQtPnR5cGVzdHIpOworCQlmcmVlKHQtPm5hbWUpOworCQlmcmVlKHQpOworCX0KK30KKworLyoqCisgKiBmZGlza19wYXJ0dHlwZV9zZXRfbmFtZToKKyAqIEB0OiBwYXJ0aXRpb24gdHlwZQorICogQHN0cjogdHlwZSBuYW1lCisgKgorICogU2V0cyB0eXBlIG5hbWUgdG8gYWxsb2NhdGVkIHBhcnRpdGlvbiB0eXBlLCBmb3Igc3RhdGljIHR5cGVzCisgKiBpdCByZXR1cm5zIC1FSU5WQUwuCisgKgorICogUmV0dXJuOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yCisgKi8KK2ludCBmZGlza19wYXJ0dHlwZV9zZXRfbmFtZShzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQsIGNvbnN0IGNoYXIgKnN0cikKK3sKKwljaGFyICpwID0gTlVMTDsKKworCWlmICghdCB8fCAhZmRpc2tfcGFydHR5cGVfaXNfYWxsb2NhdGVkKHQpKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoc3RyKSB7CisJCXAgPSBzdHJkdXAoc3RyKTsKKwkJaWYgKCFwKQorCQkJcmV0dXJuIC1FTk9NRU07CisJfQorCisJZnJlZSh0LT5uYW1lKTsKKwl0LT5uYW1lID0gcDsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19wYXJ0dHlwZV9zZXRfdHlwZXN0cjoKKyAqIEB0OiBwYXJ0aXRpb24gdHlwZQorICogQHN0cjogdHlwZSBpZGVudGlmaWVyIChlLmcuIEdVSUQgZm9yIEdQVCkKKyAqCisgKiBTZXRzIHR5cGUgc3RyaW5nIHRvIGFsbG9jYXRlZCBwYXJ0aXRpb24gdHlwZSwgZm9yIHN0YXRpYyB0eXBlcworICogaXQgcmV0dXJucyAtRUlOVkFMLiBEb24ndCB1c2UgdGhpcyBmdW5jdGlvbiBmb3IgTUJSLCBzZWUKKyAqIGZkaXNrX3BhcnR0eXBlX3NldF9jb2RlKCkuCisgKgorICogUmV0dXJuOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yCisgKi8KK2ludCBmZGlza19wYXJ0dHlwZV9zZXRfdHlwZXN0cihzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQsIGNvbnN0IGNoYXIgKnN0cikKK3sKKwljaGFyICpwID0gTlVMTDsKKworCWlmICghdCB8fCAhZmRpc2tfcGFydHR5cGVfaXNfYWxsb2NhdGVkKHQpKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoc3RyKSB7CisJCXAgPSBzdHJkdXAoc3RyKTsKKwkJaWYgKCFwKQorCQkJcmV0dXJuIC1FTk9NRU07CisJfQorCisJZnJlZSh0LT50eXBlc3RyKTsKKwl0LT50eXBlc3RyID0gcDsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19wYXJ0dHlwZV9zZXRfY29kZToKKyAqIEB0OiBwYXJ0aXRpb24gdHlwZQorICogQGNvZGU6IHR5cGUgaWRlbnRpZmllciAoZS5nLiBNQlIgdHlwZSBjb2RlcykKKyAqCisgKiBTZXRzIHR5cGUgY29kZSB0byBhbGxvY2F0ZWQgcGFydGl0aW9uIHR5cGUsIGZvciBzdGF0aWMgdHlwZXMgaXQgcmV0dXJucworICogLUVJTlZBTC4gRG9uJ3QgdXNlIHRoaXMgZnVuY3Rpb24gZm9yIEdQVCwgc2VlIGZkaXNrX3BhcnR0eXBlX3NldF90eXBlc3RyKCkuCisgKgorICogUmV0dXJuOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yCisgKi8KK2ludCBmZGlza19wYXJ0dHlwZV9zZXRfY29kZShzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQsIGludCBjb2RlKQoreworCWlmICghdCB8fCAhZmRpc2tfcGFydHR5cGVfaXNfYWxsb2NhdGVkKHQpKQorCQlyZXR1cm4gLUVJTlZBTDsKKwl0LT5jb2RlID0gY29kZTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19sYWJlbF9nZXRfbnBhcnR0eXBlczoKKyAqIEBsYjogbGFiZWwKKyAqCisgKiBSZXR1cm5zOiBudW1iZXIgb2YgdHlwZXMgc3VwcG9ydGVkIGJ5IGxhYmVsLgorICovCitzaXplX3QgZmRpc2tfbGFiZWxfZ2V0X25wYXJ0dHlwZXMoY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsICpsYikKK3sKKwlpZiAoIWxiKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gbGItPm5wYXJ0dHlwZXM7Cit9CisKKy8qKgorICogZmRpc2tfbGFiZWxfZ2V0X3BhcnR0eXBlOgorICogQGxiOiBsYWJlbAorICogQG46IG51bWJlcgorICoKKyAqIFJldHVybnM6IHJldHVybiBwYXJ0dHlwZQorICovCitzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKmZkaXNrX2xhYmVsX2dldF9wYXJ0dHlwZShjb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiLCBzaXplX3QgbikKK3sKKwlpZiAoIWxiIHx8IG4gPj0gbGItPm5wYXJ0dHlwZXMpCisJCXJldHVybiBOVUxMOworCXJldHVybiAmbGItPnBhcnR0eXBlc1tuXTsKK30KKworLyoqCisgKiBmZGlza19sYWJlbF9oYXNfY29kZV9wYXJ0dHlwZXM6CisgKiBAbGI6IGxhYmVsCisgKgorICogUmV0dXJuczogMSBpZiB0aGUgbGFiZWwgdXNlcyBjb2RlIGFzIHBhcnRpdGlvbiB0eXBlCisgKiAgICAgICAgICBpZGVudGlmaWVycyAoZS5nLiBNQlIpIG9yIDAuCisgKi8KK2ludCBmZGlza19sYWJlbF9oYXNfY29kZV9wYXJ0dHlwZXMoY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsICpsYikKK3sKKwlhc3NlcnQobGIpOworCisJaWYgKGxiLT5wYXJ0dHlwZXMgJiYgbGItPnBhcnR0eXBlc1swXS50eXBlc3RyKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gMTsKK30KKworCisvKioKKyAqIGZkaXNrX2xhYmVsX2dldF9wYXJ0dHlwZV9mcm9tX2NvZGU6CisgKiBAbGI6IGxhYmVsCisgKiBAY29kZTogY29kZSB0byBzZWFyY2ggZm9yCisgKgorICogU2VhcmNoIGZvciBwYXJ0aXRpb24gdHlwZSBpbiBsYWJlbC1zcGVjaWZpYyB0YWJsZS4gVGhlIHJlc3VsdAorICogaXMgcG9pbnRlciB0byBzdGF0aWMgYXJyYXkgb2YgbGFiZWwgdHlwZXMuCisgKgorICogUmV0dXJuczogcGFydGl0aW9uIHR5cGUgb3IgTlVMTCB1cG9uIGZhaWx1cmUgb3IgaW52YWxpZCBAY29kZS4KKyAqLworc3RydWN0IGZkaXNrX3BhcnR0eXBlICpmZGlza19sYWJlbF9nZXRfcGFydHR5cGVfZnJvbV9jb2RlKAorCQkJCWNvbnN0IHN0cnVjdCBmZGlza19sYWJlbCAqbGIsCisJCQkJdW5zaWduZWQgaW50IGNvZGUpCit7CisJc2l6ZV90IGk7CisKKwlhc3NlcnQobGIpOworCisJaWYgKCFsYi0+bnBhcnR0eXBlcykKKwkJcmV0dXJuIE5VTEw7CisKKwlmb3IgKGkgPSAwOyBpIDwgbGItPm5wYXJ0dHlwZXM7IGkrKykKKwkJaWYgKGxiLT5wYXJ0dHlwZXNbaV0uY29kZSA9PSBjb2RlKQorCQkJcmV0dXJuICZsYi0+cGFydHR5cGVzW2ldOworCXJldHVybiBOVUxMOworfQorCisvKioKKyAqIGZkaXNrX2xhYmVsX2dldF9wYXJ0dHlwZV9mcm9tX3N0cmluZzoKKyAqIEBsYjogbGFiZWwKKyAqIEBzdHI6IHN0cmluZyB0byBzZWFyY2ggZm9yCisgKgorICogU2VhcmNoIGZvciBwYXJ0aXRpb24gdHlwZSBpbiBsYWJlbC1zcGVjaWZpYyB0YWJsZS4gVGhlIHJlc3VsdAorICogaXMgcG9pbnRlciB0byBzdGF0aWMgYXJyYXkgb2YgbGFiZWwgdHlwZXMuCisgKgorICogUmV0dXJuczogcGFydGl0aW9uIHR5cGUgb3IgTlVMTCB1cG9uIGZhaWx1cmUgb3IgaW52YWxpZCBAc3RyLgorICovCitzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKmZkaXNrX2xhYmVsX2dldF9wYXJ0dHlwZV9mcm9tX3N0cmluZygKKwkJCQljb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiLAorCQkJCWNvbnN0IGNoYXIgKnN0cikKK3sKKwlzaXplX3QgaTsKKworCWFzc2VydChsYik7CisKKwlpZiAoIWxiLT5ucGFydHR5cGVzKQorCQlyZXR1cm4gTlVMTDsKKworCWZvciAoaSA9IDA7IGkgPCBsYi0+bnBhcnR0eXBlczsgaSsrKQorCQlpZiAobGItPnBhcnR0eXBlc1tpXS50eXBlc3RyCisJCSAgICAmJiBzdHJjYXNlY21wKGxiLT5wYXJ0dHlwZXNbaV0udHlwZXN0ciwgc3RyKSA9PSAwKQorCQkJcmV0dXJuICZsYi0+cGFydHR5cGVzW2ldOworCisJcmV0dXJuIE5VTEw7Cit9CisKKy8qKgorICogZmRpc2tfbmV3X3Vua25vd25fcGFydHR5cGU6CisgKiBAY29kZTogdHlwZSBhcyBudW1iZXIKKyAqIEB0eXBlc3RyOiB0eXBlIGFzIHN0cmluZworCisgKiBBbGxvY2F0ZXMgbmV3ICd1bmtub3duJyBwYXJ0aXRpb24gdHlwZS4gVXNlIGZkaXNrX3VucmVmX3BhcnR0eXBlKCkgdG8KKyAqIGRlYWxsb2NhdGUuCisgKgorICogUmV0dXJuczogbmV3bHkgYWxsb2NhdGVkIHBhcnRpdGlvbiB0eXBlLCBvciBOVUxMIHVwb24gZmFpbHVyZS4KKyAqLworc3RydWN0IGZkaXNrX3BhcnR0eXBlICpmZGlza19uZXdfdW5rbm93bl9wYXJ0dHlwZSh1bnNpZ25lZCBpbnQgY29kZSwKKwkJCQkJCSAgY29uc3QgY2hhciAqdHlwZXN0cikKK3sKKwlzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQgPSBmZGlza19uZXdfcGFydHR5cGUoKTsKKworCWlmICghdCkKKwkJcmV0dXJuIE5VTEw7CisKKwlmZGlza19wYXJ0dHlwZV9zZXRfbmFtZSh0LCBfKCJ1bmtub3duIikpOworCWZkaXNrX3BhcnR0eXBlX3NldF9jb2RlKHQsIGNvZGUpOworCWZkaXNrX3BhcnR0eXBlX3NldF90eXBlc3RyKHQsIHR5cGVzdHIpOworCXQtPmZsYWdzIHw9IEZESVNLX1BBUlRUWVBFX1VOS05PV047CisKKwlyZXR1cm4gdDsKK30KKworLyoqCisgKiBmZGlza19jb3B5X3BhcnR0eXBlOgorICogQHR5cGU6IHR5cGUgdG8gY29weQorICoKKyAqIFVzZSBmZGlza191bnJlZl9wYXJ0dHlwZSgpIHRvIGRlYWxsb2NhdGUuCisgKgorICogUmV0dXJuczogbmV3bHkgYWxsb2NhdGVkIHBhcnRpdGlvbiB0eXBlLCBvciBOVUxMIHVwb24gZmFpbHVyZS4KKyAqLworc3RydWN0IGZkaXNrX3BhcnR0eXBlICpmZGlza19jb3B5X3BhcnR0eXBlKGNvbnN0IHN0cnVjdCBmZGlza19wYXJ0dHlwZSAqdHlwZSkKK3sKKwlzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQgPSBmZGlza19uZXdfcGFydHR5cGUoKTsKKworCWlmICghdCkKKwkJcmV0dXJuIE5VTEw7CisKKwlmZGlza19wYXJ0dHlwZV9zZXRfbmFtZSh0LCB0eXBlLT5uYW1lKTsKKwlmZGlza19wYXJ0dHlwZV9zZXRfY29kZSh0LCB0eXBlLT5jb2RlKTsKKwlmZGlza19wYXJ0dHlwZV9zZXRfdHlwZXN0cih0LCB0eXBlLT50eXBlc3RyKTsKKworCXJldHVybiB0OworfQorCisvKioKKyAqIGZkaXNrX2xhYmVsX3BhcnNlX3BhcnR0eXBlOgorICogQGxiOiBsYWJlbAorICogQHN0cjogc3RyaW5nIHRvIHBhcnNlIGZyb20KKyAqCisgKiBQYXJzZXMgcGFydGl0aW9uIHR5cGUgZnJvbSBAc3RyIGFjY29yZGluZyB0byB0aGUgbGFiZWwuIFRoZSBmdW5jdGlvbiByZXR1cm5zCisgKiBhIHBvaW50ZXIgdG8gc3RhdGljIHRhYmxlIG9mIHRoZSBwYXJ0aXRpb24gdHlwZXMsIG9yIG5ld2x5IGFsbG9jYXRlZAorICogcGFydGl0aW9uIHR5cGUgZm9yIHVua25vd24gdHlwZXMgKHNlZSBmZGlza19wYXJ0dHlwZV9pc191bmtub3duKCkuIEl0J3MKKyAqIHNhZmUgdG8gY2FsbCBmZGlza191bnJlZl9wYXJ0dHlwZSgpIGZvciBhbGwgcmVzdWx0cy4KKyAqCisgKiBSZXR1cm5zOiBwb2ludGVyIHRvIHR5cGUgb3IgTlVMTCBvbiBlcnJvci4KKyAqLworc3RydWN0IGZkaXNrX3BhcnR0eXBlICpmZGlza19sYWJlbF9wYXJzZV9wYXJ0dHlwZSgKKwkJCQljb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiLAorCQkJCWNvbnN0IGNoYXIgKnN0cikKK3sKKwlzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnR5cGVzLCAqcmV0ID0gTlVMTDsKKwljaGFyICplbmQgPSBOVUxMOworCisJYXNzZXJ0KGxiKTsKKworCWlmICghbGItPm5wYXJ0dHlwZXMpCisJCXJldHVybiBOVUxMOworCisJREJHKExBQkVMLCB1bF9kZWJ1Z29iaihsYiwgInBhcnNpbmcgJyVzJyAoJXMpIHBhcnRpdGlvbiB0eXBlIiwKKwkJCQlzdHIsIGxiLT5uYW1lKSk7CisJdHlwZXMgPSBsYi0+cGFydHR5cGVzOworCisJaWYgKHR5cGVzWzBdLnR5cGVzdHIgPT0gTlVMTCAmJiBpc3hkaWdpdCgqc3RyKSkgeworCQl1bnNpZ25lZCBpbnQgY29kZSA9IDA7CisKKwkJZXJybm8gPSAwOworCQljb2RlID0gc3RydG9sKHN0ciwgJmVuZCwgMTYpOworCisJCWlmIChlcnJubyB8fCAqZW5kICE9ICdcMCcpIHsKKwkJCURCRyhMQUJFTCwgdWxfZGVidWdvYmoobGIsICJwYXJzaW5nIGZhaWxlZDogJW0iKSk7CisJCQlyZXR1cm4gTlVMTDsKKwkJfQorCQlyZXQgPSBmZGlza19sYWJlbF9nZXRfcGFydHR5cGVfZnJvbV9jb2RlKGxiLCBjb2RlKTsKKwkJaWYgKHJldCkKKwkJCWdvdG8gZG9uZTsKKworCQlyZXQgPSBmZGlza19uZXdfdW5rbm93bl9wYXJ0dHlwZShjb2RlLCBOVUxMKTsKKwl9IGVsc2UgeworCQlpbnQgaTsKKworCQkvKiBtYXliZSBzcGVjaWZpZWQgYnkgdHlwZSBzdHJpbmcgKGUuZy4gVVVJRCkgKi8KKwkJcmV0ID0gZmRpc2tfbGFiZWxfZ2V0X3BhcnR0eXBlX2Zyb21fc3RyaW5nKGxiLCBzdHIpOworCQlpZiAocmV0KQorCQkJZ290byBkb25lOworCisJCS8qIG1heWJlIHNwZWNpZmllZCBieSBvcmRlciBudW1iZXIgKi8KKwkJZXJybm8gPSAwOworCQlpID0gc3RydG9sKHN0ciwgJmVuZCwgMCk7CisJCWlmIChlcnJubyA9PSAwICYmICplbmQgPT0gJ1wwJyAmJiBpID4gMAorCQkgICAgJiYgaSAtIDEgPCAoaW50KSBsYi0+bnBhcnR0eXBlcykgeworCQkJcmV0ID0gJnR5cGVzW2kgLSAxXTsKKwkJCWdvdG8gZG9uZTsKKwkJfQorCisJCXJldCA9IGZkaXNrX25ld191bmtub3duX3BhcnR0eXBlKDAsIHN0cik7CisJfQorCitkb25lOgorCURCRyhQQVJUVFlQRSwgdWxfZGVidWdvYmoocmV0LCAicmV0dXJucyBwYXJzZWQgJyVzJyBbJXNdIHBhcnRpdGlvbiB0eXBlIiwKKwkJCQlyZXQtPm5hbWUsIHJldC0+dHlwZXN0ciA/IDogIiIpKTsKKwlyZXR1cm4gcmV0OworfQorCisvKioKKyAqIGZkaXNrX3BhcnR0eXBlX2dldF9zdHJpbmc6CisgKiBAdDogdHlwZQorICoKKyAqIFJldHVybnM6IHBhcnRpdGlvbiB0eXBlIHN0cmluZyAoZS5nLiBHVUlEIGZvciBHUFQpCisgKi8KK2NvbnN0IGNoYXIgKmZkaXNrX3BhcnR0eXBlX2dldF9zdHJpbmcoY29uc3Qgc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0KQoreworCWFzc2VydCh0KTsKKwlyZXR1cm4gdC0+dHlwZXN0ciAmJiAqdC0+dHlwZXN0ciA/IHQtPnR5cGVzdHIgOiBOVUxMOworfQorCisvKioKKyAqIGZkaXNrX3BhcnR0eXBlX2dldF9jb2RlOgorICogQHQ6IHR5cGUKKyAqCisgKiBSZXR1cm5zOiBwYXJ0aXRpb24gdHlwZSBjb2RlIChlLmcuIGZvciBNQlIpCisgKi8KK3Vuc2lnbmVkIGludCBmZGlza19wYXJ0dHlwZV9nZXRfY29kZShjb25zdCBzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQpCit7CisJYXNzZXJ0KHQpOworCXJldHVybiB0LT5jb2RlOworfQorCisvKioKKyAqIGZkaXNrX3BhcnR0eXBlX2dldF9uYW1lOgorICogQHQ6IHR5cGUKKyAqCisgKiBSZXR1cm5zOiBwYXJ0aXRpb24gdHlwZSBodW1hbiByZWFkYWJsZSBuYW1lCisgKi8KK2NvbnN0IGNoYXIgKmZkaXNrX3BhcnR0eXBlX2dldF9uYW1lKGNvbnN0IHN0cnVjdCBmZGlza19wYXJ0dHlwZSAqdCkKK3sKKwlhc3NlcnQodCk7CisJcmV0dXJuIHQtPm5hbWU7Cit9CisKKy8qKgorICogZmRpc2tfcGFydHR5cGVfaXNfdW5rbm93bjoKKyAqIEB0OiB0eXBlCisgKgorICogQ2hlY2tzIGZvciBleGFtcGxlIHJlc3VsdCBmcm9tIGZkaXNrX2xhYmVsX3BhcnNlX3BhcnR0eXBlKCkuCisgKgorICogUmV0dXJuczogMSBpcyB0eXBlIGlzICJ1bmtub3duIiBvciAwLgorICovCitpbnQgZmRpc2tfcGFydHR5cGVfaXNfdW5rbm93bihjb25zdCBzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQpCit7CisJcmV0dXJuIHQgJiYgKHQtPmZsYWdzICYgRkRJU0tfUEFSVFRZUEVfVU5LTk9XTikgPyAxIDogMDsKK30KZGlmZiAtLWdpdCBhL2xpYmZkaXNrL3NyYy9zY3JpcHQuYyBiL2xpYmZkaXNrL3NyYy9zY3JpcHQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZTdlOTlhCi0tLSAvZGV2L251bGwKKysrIGIvbGliZmRpc2svc3JjL3NjcmlwdC5jCkBAIC0wLDAgKzEsMTU4MiBAQAorCisjaW5jbHVkZSAiZmRpc2tQLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJjYXJlZnVscHV0Yy5oIgorCisvKioKKyAqIFNFQ1RJT046IHNjcmlwdAorICogQHRpdGxlOiBTY3JpcHQKKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogdGV4dCBiYXNlZCBzZmRpc2sgY29tcGF0aWJsZSBkZXNjcmlwdGlvbiBvZiBwYXJ0aXRpb24gdGFibGUKKyAqCisgKiBUaGUgbGliZmRpc2sgc2NyaXB0cyBhcmUgYmFzZWQgb24gb3JpZ2luYWwgc2ZkaXNrIHNjcmlwdCAoZHVtcHMpLiAgRWFjaAorICogc2NyaXB0IGhhcyB0d28gcGFydHM6IHNjcmlwdCBoZWFkZXJzIGFuZCBwYXJ0aXRpb24gdGFibGUgZW50cmllcworICogKHBhcnRpdGlvbnMpLgorICoKKyAqIEZvciBtb3JlIGRldGFpbHMgYWJvdXQgc2NyaXB0IGZvcm1hdCBzZWUgc2ZkaXNrIG1hbiBwYWdlLgorICovCisKKy8qIHNjcmlwdCBoZWFkZXIgKGUuZy4gdW5pdDogc2VjdG9ycykgKi8KK3N0cnVjdCBmZGlza19zY3JpcHRoZWFkZXIgeworCXN0cnVjdCBsaXN0X2hlYWQJaGVhZGVyczsKKwljaGFyCQkJKm5hbWU7CisJY2hhcgkJCSpkYXRhOworfTsKKworLyogc2NyaXB0IGNvbnRyb2wgc3RydWN0ICovCitzdHJ1Y3QgZmRpc2tfc2NyaXB0IHsKKwlzdHJ1Y3QgZmRpc2tfdGFibGUJKnRhYmxlOworCXN0cnVjdCBsaXN0X2hlYWQJaGVhZGVyczsKKwlzdHJ1Y3QgZmRpc2tfY29udGV4dAkqY3h0OworCisJaW50CQkJcmVmY291bnQ7CisJY2hhcgkJCSooKmZuX2ZnZXRzKShzdHJ1Y3QgZmRpc2tfc2NyaXB0ICosIGNoYXIgKiwgc2l6ZV90LCBGSUxFICopOworCXZvaWQJCQkqdXNlcmRhdGE7CisKKwkvKiBwYXJzZXIncyBzdGF0ZSAqLworCXNpemVfdAkJCW5saW5lczsKKwlzdHJ1Y3QgZmRpc2tfbGFiZWwJKmxhYmVsOworCisJdW5zaWduZWQgaW50CQlqc29uIDogMTsJCS8qIEpTT04gb3V0cHV0ICovCit9OworCisKK3N0YXRpYyB2b2lkIGZkaXNrX3NjcmlwdF9mcmVlX2hlYWRlcihzdHJ1Y3QgZmRpc2tfc2NyaXB0aGVhZGVyICpmaSkKK3sKKwlpZiAoIWZpKQorCQlyZXR1cm47CisKKwlEQkcoU0NSSVBULCB1bF9kZWJ1Z29iaihmaSwgImZyZWUgaGVhZGVyICVzIiwgZmktPm5hbWUpKTsKKwlmcmVlKGZpLT5uYW1lKTsKKwlmcmVlKGZpLT5kYXRhKTsKKwlsaXN0X2RlbCgmZmktPmhlYWRlcnMpOworCWZyZWUoZmkpOworfQorCisvKioKKyAqIGZkaXNrX25ld19zY3JpcHQ6CisgKiBAY3h0OiBjb250ZXh0CisgKgorICogVGhlIHNjcmlwdCBob2xkIGZkaXNrX3RhYmxlIGFuZCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHRvIHJlYWQvd3JpdGUKKyAqIHNjcmlwdCB0byB0aGUgZmlsZS4KKyAqCisgKiBSZXR1cm5zOiBuZXdseSBhbGxvY2F0ZWQgc2NyaXB0IHN0cnVjdC4KKyAqLworc3RydWN0IGZkaXNrX3NjcmlwdCAqZmRpc2tfbmV3X3NjcmlwdChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBmZGlza19zY3JpcHQgKmRwID0gTlVMTDsKKworCWRwID0gY2FsbG9jKDEsIHNpemVvZigqZHApKTsKKwlpZiAoIWRwKQorCQlyZXR1cm4gTlVMTDsKKworCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAiYWxsb2MiKSk7CisJZHAtPnJlZmNvdW50ID0gMTsKKwlkcC0+Y3h0ID0gY3h0OworCWZkaXNrX3JlZl9jb250ZXh0KGN4dCk7CisKKwlkcC0+dGFibGUgPSBmZGlza19uZXdfdGFibGUoKTsKKwlpZiAoIWRwLT50YWJsZSkgeworCQlmZGlza191bnJlZl9zY3JpcHQoZHApOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlJTklUX0xJU1RfSEVBRCgmZHAtPmhlYWRlcnMpOworCXJldHVybiBkcDsKK30KKworLyoqCisgKiBmZGlza19uZXdfc2NyaXB0X2Zyb21fZmlsZToKKyAqIEBjeHQ6IGNvbnRleHQKKyAqIEBmaWxlbmFtZTogcGF0aCB0byB0aGUgc2NyaXB0IGZpbGUKKyAqCisgKiBBbGxvY2F0ZXMgYSBuZXcgc2NyaXB0IGFuZCByZWFkcyBzY3JpcHQgZnJvbSBAZmlsZW5hbWUuCisgKgorICogUmV0dXJuczogbmV3IHNjcmlwdCBpbnN0YW5jZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IgKGNoZWNrIGVycm5vIGZvciBtb3JlIGRldGFpbHMpLgorICovCitzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpmZGlza19uZXdfc2NyaXB0X2Zyb21fZmlsZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJCQkJIGNvbnN0IGNoYXIgKmZpbGVuYW1lKQoreworCWludCByYzsKKwlGSUxFICpmOworCXN0cnVjdCBmZGlza19zY3JpcHQgKmRwLCAqcmVzID0gTlVMTDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChmaWxlbmFtZSk7CisKKwlEQkcoU0NSSVBULCB1bF9kZWJ1Zygib3BlbmluZyAlcyIsIGZpbGVuYW1lKSk7CisJZiA9IGZvcGVuKGZpbGVuYW1lLCAiciIpOworCWlmICghZikKKwkJcmV0dXJuIE5VTEw7CisKKwlkcCA9IGZkaXNrX25ld19zY3JpcHQoY3h0KTsKKwlpZiAoIWRwKQorCQlnb3RvIGRvbmU7CisKKwlyYyA9IGZkaXNrX3NjcmlwdF9yZWFkX2ZpbGUoZHAsIGYpOworCWlmIChyYykgeworCQllcnJubyA9IC1yYzsKKwkJZ290byBkb25lOworCX0KKworCXJlcyA9IGRwOworZG9uZToKKwlmY2xvc2UoZik7CisJaWYgKCFyZXMpCisJCWZkaXNrX3VucmVmX3NjcmlwdChkcCk7CisJZWxzZQorCQllcnJubyA9IDA7CisKKwlyZXR1cm4gcmVzOworfQorCisvKioKKyAqIGZkaXNrX3JlZl9zY3JpcHQ6CisgKiBAZHA6IHNjcmlwdCBwb2ludGVyCisgKgorICogSW5jcmVtZW50cyByZWZlcmVuY2UgY291bnRlci4KKyAqLwordm9pZCBmZGlza19yZWZfc2NyaXB0KHN0cnVjdCBmZGlza19zY3JpcHQgKmRwKQoreworCWlmIChkcCkKKwkJZHAtPnJlZmNvdW50Kys7Cit9CisKK3N0YXRpYyB2b2lkIGZkaXNrX3Jlc2V0X3NjcmlwdChzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCkKK3sKKwlhc3NlcnQoZHApOworCisJREJHKFNDUklQVCwgdWxfZGVidWdvYmooZHAsICJyZXNldCIpKTsKKwlmZGlza191bnJlZl90YWJsZShkcC0+dGFibGUpOworCWRwLT50YWJsZSA9IE5VTEw7CisKKwl3aGlsZSAoIWxpc3RfZW1wdHkoJmRwLT5oZWFkZXJzKSkgeworCQlzdHJ1Y3QgZmRpc2tfc2NyaXB0aGVhZGVyICpmaSA9IGxpc3RfZW50cnkoZHAtPmhlYWRlcnMubmV4dCwKKwkJCQkJCSAgc3RydWN0IGZkaXNrX3NjcmlwdGhlYWRlciwgaGVhZGVycyk7CisJCWZkaXNrX3NjcmlwdF9mcmVlX2hlYWRlcihmaSk7CisJfQorCUlOSVRfTElTVF9IRUFEKCZkcC0+aGVhZGVycyk7Cit9CisKKy8qKgorICogZmRpc2tfdW5yZWZfc2NyaXB0OgorICogQGRwOiBzY3JpcHQgcG9pbnRlcgorICoKKyAqIERlY3JlbWVudHMgcmVmZXJlbmNlIGNvdW50ZXIsIG9uIHplcm8gdGhlIEBkcCBpcyBhdXRvbWF0aWNhbGx5CisgKiBkZWFsbG9jYXRlZC4KKyAqLwordm9pZCBmZGlza191bnJlZl9zY3JpcHQoc3RydWN0IGZkaXNrX3NjcmlwdCAqZHApCit7CisJaWYgKCFkcCkKKwkJcmV0dXJuOworCisJZHAtPnJlZmNvdW50LS07CisJaWYgKGRwLT5yZWZjb3VudCA8PSAwKSB7CisJCWZkaXNrX3Jlc2V0X3NjcmlwdChkcCk7CisJCWZkaXNrX3VucmVmX2NvbnRleHQoZHAtPmN4dCk7CisJCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAiZnJlZSBzY3JpcHQiKSk7CisJCWZyZWUoZHApOworCX0KK30KKworLyoqCisgKiBmZGlza19zY3JpcHRfc2V0X3VzZXJkYXRhCisgKiBAZHA6IHNjcmlwdAorICogQGRhdGE6IHlvdXIgZGF0YQorICoKKyAqIFNldHMgZGF0YSB1c2FibGUgZm9yIGV4YW1wbGUgaW4gY2FsbGJhY2tzIChlLmcgZmRpc2tfc2NyaXB0X3NldF9mZ2V0cygpKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLgorICovCitpbnQgZmRpc2tfc2NyaXB0X3NldF91c2VyZGF0YShzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCwgdm9pZCAqZGF0YSkKK3sKKwlhc3NlcnQoZHApOworCWRwLT51c2VyZGF0YSA9IGRhdGE7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfc2NyaXB0X2dldF91c2VyZGF0YQorICogQGRwOiBzY3JpcHQKKyAqCisgKiBSZXR1cm5zOiB1c2VyIGRhdGEgb3IgTlVMTC4KKyAqLwordm9pZCAqZmRpc2tfc2NyaXB0X2dldF91c2VyZGF0YShzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCkKK3sKKwlhc3NlcnQoZHApOworCXJldHVybiBkcC0+dXNlcmRhdGE7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmRpc2tfc2NyaXB0aGVhZGVyICpzY3JpcHRfZ2V0X2hlYWRlcihzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCwKKwkJCQkJCSAgICAgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwOworCisJbGlzdF9mb3JfZWFjaChwLCAmZHAtPmhlYWRlcnMpIHsKKwkJc3RydWN0IGZkaXNrX3NjcmlwdGhlYWRlciAqZmkgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBmZGlza19zY3JpcHRoZWFkZXIsIGhlYWRlcnMpOworCisJCWlmIChzdHJjYXNlY21wKGZpLT5uYW1lLCBuYW1lKSA9PSAwKQorCQkJcmV0dXJuIGZpOworCX0KKworCXJldHVybiBOVUxMOworfQorCisvKioKKyAqIGZkaXNrX3NjcmlwdF9nZXRfaGVhZGVyOgorICogQGRwOiBzY3JpcHQgaW5zdGFuY2UKKyAqIEBuYW1lOiBoZWFkZXIgbmFtZQorICoKKyAqIFJldHVybnM6IHBvaW50ZXIgdG8gaGVhZGVyIGRhdGEgb3IgTlVMTC4KKyAqLworY29uc3QgY2hhciAqZmRpc2tfc2NyaXB0X2dldF9oZWFkZXIoc3RydWN0IGZkaXNrX3NjcmlwdCAqZHAsIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJc3RydWN0IGZkaXNrX3NjcmlwdGhlYWRlciAqZmk7CisKKwlhc3NlcnQoZHApOworCWFzc2VydChuYW1lKTsKKworCWZpID0gc2NyaXB0X2dldF9oZWFkZXIoZHAsIG5hbWUpOworCXJldHVybiBmaSA/IGZpLT5kYXRhIDogTlVMTDsKK30KKworCisvKioKKyAqIGZkaXNrX3NjcmlwdF9zZXRfaGVhZGVyOgorICogQGRwOiBzY3JpcHQgaW5zdGFuY2UKKyAqIEBuYW1lOiBoZWFkZXIgbmFtZQorICogQGRhdGE6IGhlYWRlciBkYXRhIChvciBOVUxMKQorICoKKyAqIFRoZSBoZWFkZXJzIGFyZSB1c2VkIGFzIGdsb2JhbCBvcHRpb25zIGZvciB3aG9sZSBwYXJ0aXRpb24KKyAqIHRhYmxlLCBhbHdheXMgb25lIGhlYWRlciBwZXIgbGluZS4KKyAqCisgKiBJZiBubyBAZGF0YSBpcyBzcGVjaWZpZWQgdGhlbiB0aGUgaGVhZGVyIGlzIHJlbW92ZWQuIElmIGhlYWRlciBkb2VzIG5vdCBleGlzdAorICogYW5kIEBkYXRhIGlzIHNwZWNpZmllZCB0aGVuIGEgbmV3IGhlYWRlciBpcyBhZGRlZC4KKyAqCisgKiBOb3RlIHRoYXQgbGliZmRpc2sgYWxsb3dzIHRvIHNwZWNpZnkgYXJiaXRyYXJ5IGN1c3RvbSBoZWFkZXIsIHRoZSBkZWZhdWx0CisgKiBidWlsZC1pbiBoZWFkZXJzIGFyZSAidW5pdCIgYW5kICJsYWJlbCIsIGFuZCBzb21lIGxhYmVsIHNwZWNpZmljIGhlYWRlcnMKKyAqIChmb3IgZXhhbXBsZSAidXVpZCIgYW5kICJuYW1lIiBmb3IgR1BUKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yCisgKi8KK2ludCBmZGlza19zY3JpcHRfc2V0X2hlYWRlcihzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCwKKwkJCSAgICBjb25zdCBjaGFyICpuYW1lLAorCQkJICAgIGNvbnN0IGNoYXIgKmRhdGEpCit7CisJc3RydWN0IGZkaXNrX3NjcmlwdGhlYWRlciAqZmk7CisKKwlpZiAoIWRwIHx8ICFuYW1lKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWZpID0gc2NyaXB0X2dldF9oZWFkZXIoZHAsIG5hbWUpOworCWlmICghZmkgJiYgIWRhdGEpCisJCXJldHVybiAwOwkvKiB3YW50IHRvIHJlbW92ZSBoZWFkZXIgdGhhdCBkb2VzIG5vdCBleGlzdCwgc3VjY2VzcyAqLworCisJaWYgKCFkYXRhKSB7CisJCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAiZnJlZWluZyBoZWFkZXIgJXMiLCBuYW1lKSk7CisKKwkJLyogbm8gZGF0YSwgcmVtb3ZlIHRoZSBoZWFkZXIgKi8KKwkJZmRpc2tfc2NyaXB0X2ZyZWVfaGVhZGVyKGZpKTsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKCFmaSkgeworCQlEQkcoU0NSSVBULCB1bF9kZWJ1Z29iaihkcCwgInNldHRpbmcgbmV3IGhlYWRlciAlcz0nJXMnIiwgbmFtZSwgZGF0YSkpOworCisJCS8qIG5ldyBoZWFkZXIgKi8KKwkJZmkgPSBjYWxsb2MoMSwgc2l6ZW9mKCpmaSkpOworCQlpZiAoIWZpKQorCQkJcmV0dXJuIC1FTk9NRU07CisJCUlOSVRfTElTVF9IRUFEKCZmaS0+aGVhZGVycyk7CisJCWZpLT5uYW1lID0gc3RyZHVwKG5hbWUpOworCQlmaS0+ZGF0YSA9IHN0cmR1cChkYXRhKTsKKwkJaWYgKCFmaS0+ZGF0YSB8fCAhZmktPm5hbWUpIHsKKwkJCWZkaXNrX3NjcmlwdF9mcmVlX2hlYWRlcihmaSk7CisJCQlyZXR1cm4gLUVOT01FTTsKKwkJfQorCQlsaXN0X2FkZF90YWlsKCZmaS0+aGVhZGVycywgJmRwLT5oZWFkZXJzKTsKKwl9IGVsc2UgeworCQkvKiB1cGRhdGUgZXhpc3RpbmcgKi8KKwkJY2hhciAqeCA9IHN0cmR1cChkYXRhKTsKKworCQlEQkcoU0NSSVBULCB1bF9kZWJ1Z29iaihkcCwgInVwZGF0ZSAnJXMnIGhlYWRlciAnJXMnIC0+ICclcyciLCBuYW1lLCBmaS0+ZGF0YSwgZGF0YSkpOworCisJCWlmICgheCkKKwkJCXJldHVybiAtRU5PTUVNOworCQlmcmVlKGZpLT5kYXRhKTsKKwkJZmktPmRhdGEgPSB4OworCX0KKworCWlmIChzdHJjbXAobmFtZSwgImxhYmVsIikgPT0gMCkKKwkJZHAtPmxhYmVsID0gTlVMTDsKKworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX3NjcmlwdF9nZXRfdGFibGU6CisgKiBAZHA6IHNjcmlwdAorICoKKyAqIFRoZSB0YWJsZSAoY29udGFpbmVyIHdpdGggcGFydGl0aW9ucykgaXMgcG9zc2libGUgdG8gY3JlYXRlIGJ5CisgKiBmZGlza19zY3JpcHRfcmVhZF9jb250ZXh0KCkgb3IgZmRpc2tfc2NyaXB0X3JlYWRfZmlsZSgpLCBvdGhlcndpc2UKKyAqIHRoaXMgZnVuY3Rpb24gcmV0dXJucyBOVUxMLgorICoKKyAqIFJldHVybnM6IE5VTEwgb3Igc2NyaXB0LgorICovCitzdHJ1Y3QgZmRpc2tfdGFibGUgKmZkaXNrX3NjcmlwdF9nZXRfdGFibGUoc3RydWN0IGZkaXNrX3NjcmlwdCAqZHApCit7CisJYXNzZXJ0KGRwKTsKKwlyZXR1cm4gZHAgPyBkcC0+dGFibGUgOiBOVUxMOworfQorCitzdGF0aWMgc3RydWN0IGZkaXNrX2xhYmVsICpzY3JpcHRfZ2V0X2xhYmVsKHN0cnVjdCBmZGlza19zY3JpcHQgKmRwKQoreworCWFzc2VydChkcCk7CisJYXNzZXJ0KGRwLT5jeHQpOworCisJaWYgKCFkcC0+bGFiZWwpIHsKKwkJZHAtPmxhYmVsID0gZmRpc2tfZ2V0X2xhYmVsKGRwLT5jeHQsCisJCQkJCWZkaXNrX3NjcmlwdF9nZXRfaGVhZGVyKGRwLCAibGFiZWwiKSk7CisJCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAibGFiZWwgJyVzJyIsIGRwLT5sYWJlbCA/IGRwLT5sYWJlbC0+bmFtZSA6ICIiKSk7CisJfQorCXJldHVybiBkcC0+bGFiZWw7Cit9CisKKy8qKgorICogZmRpc2tfc2NyaXB0X2dldF9ubGluZXM6CisgKiBAZHA6IHNjcmlwdAorICoKKyAqIFJldHVybnM6IG51bWJlciBvZiBwYXJzZWQgbGluZXMgb3IgPDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19zY3JpcHRfZ2V0X25saW5lcyhzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCkKK3sKKwlhc3NlcnQoZHApOworCXJldHVybiBkcC0+bmxpbmVzOworfQorCisvKioKKyAqIGZkaXNrX3NjcmlwdF9yZWFkX2NvbnRleHQ6CisgKiBAZHA6IHNjcmlwdAorICogQGN4dDogY29udGV4dAorICoKKyAqIFJlYWRzIGRhdGEgZnJvbSB0aGUgQGN4dCBjb250ZXh0IChvbiBkaXNrIHBhcnRpdGlvbiB0YWJsZSkgaW50byB0aGUgc2NyaXB0LgorICogSWYgdGhlIGNvbnRleHQgaXMgbm8gc3BlY2lmaWVkIHRoYW4gZGVmYXVsdHMgdG8gY29udGV4dCB1c2VkIGZvciBmZGlza19uZXdfc2NyaXB0KCkuCisgKgorICogUmV0dXJuOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLgorICovCitpbnQgZmRpc2tfc2NyaXB0X3JlYWRfY29udGV4dChzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCwgc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiOworCWludCByYzsKKwljaGFyICpwID0gTlVMTDsKKworCWlmICghZHAgfHwgKCFjeHQgJiYgIWRwLT5jeHQpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmICghY3h0KQorCQljeHQgPSBkcC0+Y3h0OworCisJREJHKFNDUklQVCwgdWxfZGVidWdvYmooZHAsICJyZWFkaW5nIGNvbnRleHQgaW50byBzY3JpcHQiKSk7CisJZmRpc2tfcmVzZXRfc2NyaXB0KGRwKTsKKworCWxiID0gZmRpc2tfZ2V0X2xhYmVsKGN4dCwgTlVMTCk7CisJaWYgKCFsYikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiBhbGxvY2F0ZSBhbmQgZmlsbCBuZXcgdGFibGUgKi8KKwlyYyA9IGZkaXNrX2dldF9wYXJ0aXRpb25zKGN4dCwgJmRwLT50YWJsZSk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwkvKiBnZW5lcmF0ZSBoZWFkZXJzICovCisJcmMgPSBmZGlza19zY3JpcHRfc2V0X2hlYWRlcihkcCwgImxhYmVsIiwgZmRpc2tfbGFiZWxfZ2V0X25hbWUobGIpKTsKKworCWlmICghcmMgJiYgZmRpc2tfZ2V0X2Rpc2tsYWJlbF9pZChjeHQsICZwKSA9PSAwICYmIHApIHsKKwkJcmMgPSBmZGlza19zY3JpcHRfc2V0X2hlYWRlcihkcCwgImxhYmVsLWlkIiwgcCk7CisJCWZyZWUocCk7CisJfQorCWlmICghcmMgJiYgY3h0LT5kZXZfcGF0aCkKKwkJcmMgPSBmZGlza19zY3JpcHRfc2V0X2hlYWRlcihkcCwgImRldmljZSIsIGN4dC0+ZGV2X3BhdGgpOworCWlmICghcmMpCisJCXJjID0gZmRpc2tfc2NyaXB0X3NldF9oZWFkZXIoZHAsICJ1bml0IiwgInNlY3RvcnMiKTsKKworCWlmICghcmMgJiYgZmRpc2tfaXNfbGFiZWwoY3h0LCBHUFQpKSB7CisJCXN0cnVjdCBmZGlza19sYWJlbGl0ZW0gaXRlbTsKKwkJY2hhciBidWZbNjRdOworCisJCS8qIGZpcnN0LWxiYSAqLworCQlyYyA9IGZkaXNrX2dldF9kaXNrbGFiZWxfaXRlbShjeHQsIEdQVF9MQUJFTElURU1fRklSU1RMQkEsICZpdGVtKTsKKwkJaWYgKCFyYykgeworCQkJc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiUiUFJJdTY0LCBpdGVtLmRhdGEubnVtNjQpOworCQkJcmMgPSBmZGlza19zY3JpcHRfc2V0X2hlYWRlcihkcCwgImZpcnN0LWxiYSIsIGJ1Zik7CisJCX0KKworCQkvKiBsYXN0LWxiYSAqLworCQlpZiAoIXJjKQorCQkJcmMgPSBmZGlza19nZXRfZGlza2xhYmVsX2l0ZW0oY3h0LCBHUFRfTEFCRUxJVEVNX0xBU1RMQkEsICZpdGVtKTsKKwkJaWYgKCFyYykgeworCQkJc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiUiUFJJdTY0LCBpdGVtLmRhdGEubnVtNjQpOworCQkJcmMgPSBmZGlza19zY3JpcHRfc2V0X2hlYWRlcihkcCwgImxhc3QtbGJhIiwgYnVmKTsKKwkJfQorCisJCS8qIHRhYmxlLWxlbmd0aCAqLworCQlpZiAoIXJjKSB7CisJCQlzaXplX3QgbiA9IGZkaXNrX2dldF9ucGFydGl0aW9ucyhjeHQpOworCQkJaWYgKG4gIT0gRkRJU0tfR1BUX05QQVJUSVRJT05TX0RFRkFVTFQpIHsKKwkJCQlzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJXp1Iiwgbik7CisJCQkJcmMgPSBmZGlza19zY3JpcHRfc2V0X2hlYWRlcihkcCwgInRhYmxlLWxlbmd0aCIsIGJ1Zik7CisJCQl9CisJCX0KKwl9CisKKwlEQkcoU0NSSVBULCB1bF9kZWJ1Z29iaihkcCwgInJlYWQgY29udGV4dCBkb25lIFtyYz0lZF0iLCByYykpOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBmZGlza19zY3JpcHRfZW5hYmxlX2pzb246CisgKiBAZHA6IHNjcmlwdAorICogQGpzb246IDAgb3IgMQorICoKKyAqIERpc2FibGUvRW5hYmxlIEpTT04gb3V0cHV0IGZvcm1hdC4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLgorICovCitpbnQgZmRpc2tfc2NyaXB0X2VuYWJsZV9qc29uKHN0cnVjdCBmZGlza19zY3JpcHQgKmRwLCBpbnQganNvbikKK3sKKwlhc3NlcnQoZHApOworCisJZHAtPmpzb24gPSBqc29uOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBmcHV0X2luZGVudChpbnQgaW5kZW50LCBGSUxFICpmKQoreworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8PSBpbmRlbnQ7IGkrKykKKwkJZnB1dHMoIiAgICIsIGYpOworfQorCitzdGF0aWMgaW50IHdyaXRlX2ZpbGVfanNvbihzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCwgRklMRSAqZikKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkICpoOworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhOworCXN0cnVjdCBmZGlza19pdGVyIGl0cjsKKwljb25zdCBjaGFyICpkZXZuYW1lID0gTlVMTDsKKwlpbnQgY3QgPSAwLCBpbmRlbnQgPSAwOworCisJYXNzZXJ0KGRwKTsKKwlhc3NlcnQoZik7CisKKwlEQkcoU0NSSVBULCB1bF9kZWJ1Z29iaihkcCwgIndyaXRpbmcganNvbiBkdW1wIHRvIGZpbGUiKSk7CisKKwlmcHV0cygie1xuIiwgZik7CisKKwlmcHV0X2luZGVudChpbmRlbnQsIGYpOworCWZwdXRzKCJcInBhcnRpdGlvbnRhYmxlXCI6IHtcbiIsIGYpOworCWluZGVudCsrOworCisJLyogc2NyaXB0IGhlYWRlcnMgKi8KKwlsaXN0X2Zvcl9lYWNoKGgsICZkcC0+aGVhZGVycykgeworCQlzdHJ1Y3QgZmRpc2tfc2NyaXB0aGVhZGVyICpmaSA9IGxpc3RfZW50cnkoaCwgc3RydWN0IGZkaXNrX3NjcmlwdGhlYWRlciwgaGVhZGVycyk7CisJCWNvbnN0IGNoYXIgKm5hbWUgPSBmaS0+bmFtZTsKKwkJaW50IG51bSA9IDA7CisKKwkJaWYgKHN0cmNtcChuYW1lLCAiZmlyc3QtbGJhIikgPT0gMCkgeworCQkJbmFtZSA9ICJmaXJzdGxiYSI7CisJCQludW0gPSAxOworCQl9IGVsc2UgaWYgKHN0cmNtcChuYW1lLCAibGFzdC1sYmEiKSA9PSAwKSB7CisJCQluYW1lID0gImxhc3RsYmEiOworCQkJbnVtID0gMTsKKwkJfSBlbHNlIGlmIChzdHJjbXAobmFtZSwgImxhYmVsLWlkIikgPT0gMCkKKwkJCW5hbWUgPSAiaWQiOworCisJCWZwdXRfaW5kZW50KGluZGVudCwgZik7CisJCWZwdXRzX3F1b3RlZF9sb3dlcihuYW1lLCBmKTsKKwkJZnB1dHMoIjogIiwgZik7CisJCWlmICghbnVtKQorCQkJZnB1dHNfcXVvdGVkKGZpLT5kYXRhLCBmKTsKKwkJZWxzZQorCQkJZnB1dHMoZmktPmRhdGEsIGYpOworCQlpZiAoIWRwLT50YWJsZSAmJiBmaSA9PSBsaXN0X2xhc3RfZW50cnkoJmRwLT5oZWFkZXJzLCBzdHJ1Y3QgZmRpc2tfc2NyaXB0aGVhZGVyLCBoZWFkZXJzKSkKKwkJCWZwdXRjKCdcbicsIGYpOworCQllbHNlCisJCQlmcHV0cygiLFxuIiwgZik7CisKKwkJaWYgKHN0cmNtcChuYW1lLCAiZGV2aWNlIikgPT0gMCkKKwkJCWRldm5hbWUgPSBmaS0+ZGF0YTsKKwl9CisKKworCWlmICghZHAtPnRhYmxlKSB7CisJCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAic2NyaXB0IHRhYmxlIGVtcHR5IikpOworCQlnb3RvIGRvbmU7CisJfQorCisJREJHKFNDUklQVCwgdWxfZGVidWdvYmooZHAsICIlenUgZW50cmllcyIsIGZkaXNrX3RhYmxlX2dldF9uZW50cyhkcC0+dGFibGUpKSk7CisKKwlmcHV0X2luZGVudChpbmRlbnQsIGYpOworCWZwdXRzKCJcInBhcnRpdGlvbnNcIjogW1xuIiwgZik7CisJaW5kZW50Kys7CisKKwlmZGlza19yZXNldF9pdGVyKCZpdHIsIEZESVNLX0lURVJfRk9SV0FSRCk7CisJd2hpbGUgKGZkaXNrX3RhYmxlX25leHRfcGFydGl0aW9uKGRwLT50YWJsZSwgJml0ciwgJnBhKSA9PSAwKSB7CisJCWNoYXIgKnAgPSBOVUxMOworCisJCWN0Kys7CisJCWZwdXRfaW5kZW50KGluZGVudCwgZik7CisJCWZwdXRjKCd7JywgZik7CisJCWlmIChkZXZuYW1lKQorCQkJcCA9IGZkaXNrX3BhcnRuYW1lKGRldm5hbWUsIHBhLT5wYXJ0bm8gKyAxKTsKKwkJaWYgKHApIHsKKwkJCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAid3JpdGUgJXMgZW50cnkiLCBwKSk7CisJCQlmcHV0cygiXCJub2RlXCI6ICIsIGYpOworCQkJZnB1dHNfcXVvdGVkKHAsIGYpOworCQl9CisKKwkJaWYgKGZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpKQorCQkJZnByaW50ZihmLCAiLCBcInN0YXJ0XCI6ICVqdSIsICh1aW50bWF4X3QpcGEtPnN0YXJ0KTsKKwkJaWYgKGZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkpCisJCQlmcHJpbnRmKGYsICIsIFwic2l6ZVwiOiAlanUiLCAodWludG1heF90KXBhLT5zaXplKTsKKworCQlpZiAocGEtPnR5cGUgJiYgZmRpc2tfcGFydHR5cGVfZ2V0X3N0cmluZyhwYS0+dHlwZSkpCisJCQlmcHJpbnRmKGYsICIsIFwidHlwZVwiOiBcIiVzXCIiLCBmZGlza19wYXJ0dHlwZV9nZXRfc3RyaW5nKHBhLT50eXBlKSk7CisJCWVsc2UgaWYgKHBhLT50eXBlKQorCQkJZnByaW50ZihmLCAiLCBcInR5cGVcIjogXCIleFwiIiwgZmRpc2tfcGFydHR5cGVfZ2V0X2NvZGUocGEtPnR5cGUpKTsKKworCQlpZiAocGEtPnV1aWQpCisJCQlmcHJpbnRmKGYsICIsIFwidXVpZFwiOiBcIiVzXCIiLCBwYS0+dXVpZCk7CisJCWlmIChwYS0+bmFtZSAmJiAqcGEtPm5hbWUpIHsKKwkJCWZwdXRzKCIsIFwibmFtZVwiOiAiLCBmKSwKKwkJCWZwdXRzX3F1b3RlZChwYS0+bmFtZSwgZik7CisJCX0KKworCQkvKiBmb3IgTUJSIGF0dHI9ODAgbWVhbnMgYm9vdGFibGUgKi8KKwkJaWYgKHBhLT5hdHRycykgeworCQkJc3RydWN0IGZkaXNrX2xhYmVsICpsYiA9IHNjcmlwdF9nZXRfbGFiZWwoZHApOworCisJCQlpZiAoIWxiIHx8IGZkaXNrX2xhYmVsX2dldF90eXBlKGxiKSAhPSBGRElTS19ESVNLTEFCRUxfRE9TKQorCQkJCWZwcmludGYoZiwgIiwgXCJhdHRyc1wiOiBcIiVzXCIiLCBwYS0+YXR0cnMpOworCQl9CisJCWlmIChmZGlza19wYXJ0aXRpb25faXNfYm9vdGFibGUocGEpKQorCQkJZnByaW50ZihmLCAiLCBcImJvb3RhYmxlXCI6IHRydWUiKTsKKworCQlpZiAoKHNpemVfdCljdCA8IGZkaXNrX3RhYmxlX2dldF9uZW50cyhkcC0+dGFibGUpKQorCQkJZnB1dHMoIn0sXG4iLCBmKTsKKwkJZWxzZQorCQkJZnB1dHMoIn1cbiIsIGYpOworCX0KKworCWluZGVudC0tOworCWZwdXRfaW5kZW50KGluZGVudCwgZik7CisJZnB1dHMoIl1cbiIsIGYpOworZG9uZToKKwlpbmRlbnQtLTsKKwlmcHV0X2luZGVudChpbmRlbnQsIGYpOworCWZwdXRzKCJ9XG59XG4iLCBmKTsKKworCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAid3JpdGUgc2NyaXB0IGRvbmUiKSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgd3JpdGVfZmlsZV9zZmRpc2soc3RydWN0IGZkaXNrX3NjcmlwdCAqZHAsIEZJTEUgKmYpCit7CisJc3RydWN0IGxpc3RfaGVhZCAqaDsKKwlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYTsKKwlzdHJ1Y3QgZmRpc2tfaXRlciBpdHI7CisJY29uc3QgY2hhciAqZGV2bmFtZSA9IE5VTEw7CisKKwlhc3NlcnQoZHApOworCWFzc2VydChmKTsKKworCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAid3JpdGluZyBzZmRpc2stbGlrZSBzY3JpcHQgdG8gZmlsZSIpKTsKKworCS8qIHNjcmlwdCBoZWFkZXJzICovCisJbGlzdF9mb3JfZWFjaChoLCAmZHAtPmhlYWRlcnMpIHsKKwkJc3RydWN0IGZkaXNrX3NjcmlwdGhlYWRlciAqZmkgPSBsaXN0X2VudHJ5KGgsIHN0cnVjdCBmZGlza19zY3JpcHRoZWFkZXIsIGhlYWRlcnMpOworCQlmcHJpbnRmKGYsICIlczogJXNcbiIsIGZpLT5uYW1lLCBmaS0+ZGF0YSk7CisJCWlmIChzdHJjbXAoZmktPm5hbWUsICJkZXZpY2UiKSA9PSAwKQorCQkJZGV2bmFtZSA9IGZpLT5kYXRhOworCX0KKworCWlmICghZHAtPnRhYmxlKSB7CisJCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAic2NyaXB0IHRhYmxlIGVtcHR5IikpOworCQlyZXR1cm4gMDsKKwl9CisKKwlEQkcoU0NSSVBULCB1bF9kZWJ1Z29iaihkcCwgIiV6dSBlbnRyaWVzIiwgZmRpc2tfdGFibGVfZ2V0X25lbnRzKGRwLT50YWJsZSkpKTsKKworCWZwdXRjKCdcbicsIGYpOworCisJZmRpc2tfcmVzZXRfaXRlcigmaXRyLCBGRElTS19JVEVSX0ZPUldBUkQpOworCXdoaWxlIChmZGlza190YWJsZV9uZXh0X3BhcnRpdGlvbihkcC0+dGFibGUsICZpdHIsICZwYSkgPT0gMCkgeworCQljaGFyICpwID0gTlVMTDsKKworCQlpZiAoZGV2bmFtZSkKKwkJCXAgPSBmZGlza19wYXJ0bmFtZShkZXZuYW1lLCBwYS0+cGFydG5vICsgMSk7CisJCWlmIChwKSB7CisJCQlEQkcoU0NSSVBULCB1bF9kZWJ1Z29iaihkcCwgIndyaXRlICVzIGVudHJ5IiwgcCkpOworCQkJZnByaW50ZihmLCAiJXMgOiIsIHApOworCQl9IGVsc2UKKwkJCWZwcmludGYoZiwgIiV6dSA6IiwgcGEtPnBhcnRubyArIDEpOworCisJCWlmIChmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSkKKwkJCWZwcmludGYoZiwgIiBzdGFydD0lMTJqdSIsICh1aW50bWF4X3QpcGEtPnN0YXJ0KTsKKwkJaWYgKGZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkpCisJCQlmcHJpbnRmKGYsICIsIHNpemU9JTEyanUiLCAodWludG1heF90KXBhLT5zaXplKTsKKworCQlpZiAocGEtPnR5cGUgJiYgZmRpc2tfcGFydHR5cGVfZ2V0X3N0cmluZyhwYS0+dHlwZSkpCisJCQlmcHJpbnRmKGYsICIsIHR5cGU9JXMiLCBmZGlza19wYXJ0dHlwZV9nZXRfc3RyaW5nKHBhLT50eXBlKSk7CisJCWVsc2UgaWYgKHBhLT50eXBlKQorCQkJZnByaW50ZihmLCAiLCB0eXBlPSV4IiwgZmRpc2tfcGFydHR5cGVfZ2V0X2NvZGUocGEtPnR5cGUpKTsKKworCQlpZiAocGEtPnV1aWQpCisJCQlmcHJpbnRmKGYsICIsIHV1aWQ9JXMiLCBwYS0+dXVpZCk7CisJCWlmIChwYS0+bmFtZSAmJiAqcGEtPm5hbWUpCisJCQlmcHJpbnRmKGYsICIsIG5hbWU9XCIlc1wiIiwgcGEtPm5hbWUpOworCisJCS8qIGZvciBNQlIgYXR0cj04MCBtZWFucyBib290YWJsZSAqLworCQlpZiAocGEtPmF0dHJzKSB7CisJCQlzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiID0gc2NyaXB0X2dldF9sYWJlbChkcCk7CisKKwkJCWlmICghbGIgfHwgZmRpc2tfbGFiZWxfZ2V0X3R5cGUobGIpICE9IEZESVNLX0RJU0tMQUJFTF9ET1MpCisJCQkJZnByaW50ZihmLCAiLCBhdHRycz1cIiVzXCIiLCBwYS0+YXR0cnMpOworCQl9CisJCWlmIChmZGlza19wYXJ0aXRpb25faXNfYm9vdGFibGUocGEpKQorCQkJZnByaW50ZihmLCAiLCBib290YWJsZSIpOworCQlmcHV0YygnXG4nLCBmKTsKKwl9CisKKwlEQkcoU0NSSVBULCB1bF9kZWJ1Z29iaihkcCwgIndyaXRlIHNjcmlwdCBkb25lIikpOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX3NjcmlwdF93cml0ZV9maWxlOgorICogQGRwOiBzY3JpcHQKKyAqIEBmOiBvdXRwdXQgZmlsZQorICoKKyAqIFdyaXRlcyBzY3JpcHQgQGRwIHRvIHRoZSBmaWxlIEBmLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19zY3JpcHRfd3JpdGVfZmlsZShzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCwgRklMRSAqZikKK3sKKwlhc3NlcnQoZHApOworCisJaWYgKGRwLT5qc29uKQorCQlyZXR1cm4gd3JpdGVfZmlsZV9qc29uKGRwLCBmKTsKKworCXJldHVybiB3cml0ZV9maWxlX3NmZGlzayhkcCwgZik7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGlzX2hlYWRlcl9saW5lKGNvbnN0IGNoYXIgKnMpCit7CisJY29uc3QgY2hhciAqcCA9IHN0cmNocihzLCAnOicpOworCisJaWYgKCFwIHx8IHAgPT0gcyB8fCAhKihwICsgMSkgfHwgc3RyY2hyKHMsICc9JykpCisJCXJldHVybiAwOworCisJcmV0dXJuIDE7Cit9CisKKy8qIHBhcnNlcyAiPG5hbWU+OiB2YWx1ZSIsIG5vdGUgbW9kaWZpZXMgQHMqLworc3RhdGljIGludCBwYXJzZV9saW5lX2hlYWRlcihzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCwgY2hhciAqcykKK3sKKwlpbnQgcmMgPSAtRUlOVkFMOworCWNoYXIgKm5hbWUsICp2YWx1ZTsKKworCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAiICAgcGFyc2UgaGVhZGVyICclcyciLCBzKSk7CisKKwlpZiAoIXMgfHwgISpzKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW5hbWUgPSBzOworCXZhbHVlID0gc3RyY2hyKHMsICc6Jyk7CisJaWYgKCF2YWx1ZSkKKwkJZ290byBkb25lOworCSp2YWx1ZSA9ICdcMCc7CisJdmFsdWUrKzsKKworCWx0cmltX3doaXRlc3BhY2UoKHVuc2lnbmVkIGNoYXIgKikgbmFtZSk7CisJcnRyaW1fd2hpdGVzcGFjZSgodW5zaWduZWQgY2hhciAqKSBuYW1lKTsKKwlsdHJpbV93aGl0ZXNwYWNlKCh1bnNpZ25lZCBjaGFyICopIHZhbHVlKTsKKwlydHJpbV93aGl0ZXNwYWNlKCh1bnNpZ25lZCBjaGFyICopIHZhbHVlKTsKKworCWlmIChzdHJjbXAobmFtZSwgImxhYmVsIikgPT0gMCkgeworCQlpZiAoZHAtPmN4dCAmJiAhZmRpc2tfZ2V0X2xhYmVsKGRwLT5jeHQsIHZhbHVlKSkKKwkJCWdvdG8gZG9uZTsJCQkvKiB1bmtub3duIGxhYmVsIG5hbWUgKi8KKwl9IGVsc2UgaWYgKHN0cmNtcChuYW1lLCAidW5pdCIpID09IDApIHsKKwkJaWYgKHN0cmNtcCh2YWx1ZSwgInNlY3RvcnMiKSAhPSAwKQorCQkJZ290byBkb25lOwkJCS8qIG9ubHkgInNlY3RvcnMiIHN1cHBvcnRlZCAqLworCX0gZWxzZSBpZiAoc3RyY21wKG5hbWUsICJsYWJlbC1pZCIpID09IDAKKwkJICAgfHwgc3RyY21wKG5hbWUsICJkZXZpY2UiKSA9PSAwCisJCSAgIHx8IHN0cmNtcChuYW1lLCAiZmlyc3QtbGJhIikgPT0gMAorCQkgICB8fCBzdHJjbXAobmFtZSwgImxhc3QtbGJhIikgPT0gMAorCQkgICB8fCBzdHJjbXAobmFtZSwgInRhYmxlLWxlbmd0aCIpID09IDApIHsKKwkJOwkJCQkJLyogd2hhdGV2ZXIgaXMgcG9zc2libGUgKi8KKwl9IGVsc2UKKwkJZ290byBkb25lOwkJCQkvKiB1bmtub3duIGhlYWRlciAqLworCisJaWYgKCpuYW1lICYmICp2YWx1ZSkKKwkJcmMgPSBmZGlza19zY3JpcHRfc2V0X2hlYWRlcihkcCwgbmFtZSwgdmFsdWUpOworZG9uZToKKwlpZiAocmMpCisJCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAiaGVhZGVyIHBhcnNlIGVycm9yOiAiCisJCQkJIltyYz0lZCwgbmFtZT0nJXMnLCB2YWx1ZT0nJXMnXSIsCisJCQkJcmMsIG5hbWUsIHZhbHVlKSk7CisJcmV0dXJuIHJjOworCit9CisKKy8qIHJldHVybnMgemVybyB0ZXJtaW5hdGVkIHN0cmluZyB3aXRoIG5leHQgdG9rZW4gYW5kIEBzdHIgaXMgdXBkYXRlZCAqLworc3RhdGljIGNoYXIgKm5leHRfdG9rZW4oY2hhciAqKnN0cikKK3sKKwljaGFyICp0a19iZWdpbiA9IE5VTEwsCisJICAgICAqdGtfZW5kID0gTlVMTCwKKwkgICAgICplbmQgPSBOVUxMLAorCSAgICAgKnA7CisJaW50IG9wZW5fcXVvdGUgPSAwLCB0ZXJtaW5hdGVkID0gMDsKKworCWZvciAocCA9ICpzdHI7IHAgJiYgKnA7IHArKykgeworCQlpZiAoIXRrX2JlZ2luKSB7CisJCQlpZiAoaXNibGFuaygqcCkpCisJCQkJY29udGludWU7CisJCQl0a19iZWdpbiA9ICpwID09ICciJyA/IHAgKyAxIDogcDsKKwkJfQorCQlpZiAoKnAgPT0gJyInKQorCQkJb3Blbl9xdW90ZSBePSAxOworCQlpZiAob3Blbl9xdW90ZSkKKwkJCWNvbnRpbnVlOworCQlpZiAoaXNibGFuaygqcCkgfHwgKnAgPT0gJywnIHx8ICpwID09ICc7JyB8fCAqcCA9PSAnIicgKQorCQkJdGtfZW5kID0gcDsKKwkJZWxzZSBpZiAoKihwICsgMSkgPT0gJ1wwJykKKwkJCXRrX2VuZCA9IHAgKyAxOworCQlpZiAodGtfYmVnaW4gJiYgdGtfZW5kKQorCQkJYnJlYWs7CisJfQorCisJaWYgKCF0a19lbmQpCisJCXJldHVybiBOVUxMOworCisJZW5kID0gdGtfZW5kOworCisJLyogc2tpcCBjbG9zaW5nIHF1b3RlcyAqLworCWlmICgqZW5kID09ICciJykKKwkJZW5kKys7CisKKwkvKiB0b2tlbiBpcyB0ZXJtaW5hdGVkIGJ5IGJsYW5rIChvciBibGFuayBpcyBiZWZvcmUgIiwiIG9yICI7IikgKi8KKwlpZiAoaXNibGFuaygqZW5kKSkgeworCQllbmQgPSAoY2hhciAqKSBza2lwX2JsYW5rKGVuZCk7CisJCXRlcm1pbmF0ZWQrKzsKKwl9CisKKwkvKiB0b2tlbiBpcyB0ZXJtaW5hdGVkIGJ5ICIsIiBvciAiOyIgKi8KKwlpZiAoKmVuZCA9PSAnLCcgfHwgKmVuZCA9PSAnOycpIHsKKwkJZW5kKys7CisJCXRlcm1pbmF0ZWQrKzsKKworCS8qIHRva2VuIGlzIHRlcm1pbmF0ZWQgYnkgXDAgKi8KKwl9IGVsc2UgaWYgKCEqZW5kKQorCQl0ZXJtaW5hdGVkKys7CisKKwlpZiAoIXRlcm1pbmF0ZWQpIHsKKwkJREJHKFNDUklQVCwgdWxfZGVidWcoInVudGVybWluYXRlZCB0b2tlbiAnJXMnIiwgZW5kKSk7CisJCXJldHVybiBOVUxMOworCX0KKworCS8qIHNraXAgZXh0cmEgc3BhY2UgYWZ0ZXIgdGVybWluYXRvciAqLworCWVuZCA9IChjaGFyICopIHNraXBfYmxhbmsoZW5kKTsKKworCSp0a19lbmQgPSAnXDAnOworCSpzdHIgPSBlbmQ7CisJcmV0dXJuIHRrX2JlZ2luOworfQorCitzdGF0aWMgaW50IG5leHRfbnVtYmVyKGNoYXIgKipzLCB1aW50NjRfdCAqbnVtLCBpbnQgKnBvd2VyKQoreworCWNoYXIgKnRrOworCWludCByYyA9IC1FSU5WQUw7CisKKwlhc3NlcnQobnVtKTsKKwlhc3NlcnQocyk7CisKKwl0ayA9IG5leHRfdG9rZW4ocyk7CisJaWYgKHRrKQorCQlyYyA9IHBhcnNlX3NpemUodGssICh1aW50bWF4X3QgKikgbnVtLCBwb3dlcik7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IG5leHRfc3RyaW5nKGNoYXIgKipzLCBjaGFyICoqc3RyKQoreworCWNoYXIgKnRrOworCWludCByYyA9IC1FSU5WQUw7CisKKwlhc3NlcnQocyk7CisJYXNzZXJ0KHN0cik7CisKKwl0ayA9IG5leHRfdG9rZW4ocyk7CisJaWYgKHRrKSB7CisJCSpzdHIgPSBzdHJkdXAodGspOworCQlyYyA9ICEqc3RyID8gLUVOT01FTSA6IDA7CisJfQorCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBwYXJ0bm9fZnJvbV9kZXZuYW1lKGNoYXIgKnMpCit7CisJaW50IHBubzsKKwlzaXplX3Qgc3o7CisJY2hhciAqZW5kLCAqcDsKKworCXN6ID0gcnRyaW1fd2hpdGVzcGFjZSgodW5zaWduZWQgY2hhciAqKXMpOworCXAgPSBzICsgc3ogLSAxOworCisJd2hpbGUgKHAgPiBzICYmIGlzZGlnaXQoKihwIC0gMSkpKQorCQlwLS07CisKKwllcnJubyA9IDA7CisJcG5vID0gc3RydG9sKHAsICZlbmQsIDEwKTsKKwlpZiAoZXJybm8gfHwgIWVuZCB8fCBwID09IGVuZCkKKwkJcmV0dXJuIC0xOworCXJldHVybiBwbm8gLSAxOworfQorCisvKiBkdW1wIGZvcm1hdAorICogPGRldmljZT46IHN0YXJ0PTxudW0+LCBzaXplPTxudW0+LCB0eXBlPTxzdHJpbmc+LCAuLi4KKyAqLworc3RhdGljIGludCBwYXJzZV9saW5lX25hbWV2YWwoc3RydWN0IGZkaXNrX3NjcmlwdCAqZHAsIGNoYXIgKnMpCit7CisJY2hhciAqcCwgKng7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGE7CisJaW50IHJjID0gMDsKKwl1aW50NjRfdCBudW07CisJaW50IHBubzsKKworCWFzc2VydChkcCk7CisJYXNzZXJ0KHMpOworCisJREJHKFNDUklQVCwgdWxfZGVidWdvYmooZHAsICIgICBwYXJzZSBzY3JpcHQgbGluZTogJyVzJyIsIHMpKTsKKworCXBhID0gZmRpc2tfbmV3X3BhcnRpdGlvbigpOworCWlmICghcGEpCisJCXJldHVybiAtRU5PTUVNOworCisJZmRpc2tfcGFydGl0aW9uX3N0YXJ0X2ZvbGxvd19kZWZhdWx0KHBhLCAxKTsKKwlmZGlza19wYXJ0aXRpb25fZW5kX2ZvbGxvd19kZWZhdWx0KHBhLCAxKTsKKwlmZGlza19wYXJ0aXRpb25fcGFydG5vX2ZvbGxvd19kZWZhdWx0KHBhLCAxKTsKKworCS8qIHNldCBwYXJ0bm8gKi8KKwlwID0gc3RyY2hyKHMsICc6Jyk7CisJeCA9IHN0cmNocihzLCAnPScpOworCWlmIChwICYmICgheCB8fCBwIDwgeCkpIHsKKwkJKnAgPSAnXDAnOworCQlwKys7CisKKwkJcG5vID0gcGFydG5vX2Zyb21fZGV2bmFtZShzKTsKKwkJaWYgKHBubyA+PSAwKSB7CisJCQlmZGlza19wYXJ0aXRpb25fcGFydG5vX2ZvbGxvd19kZWZhdWx0KHBhLCAwKTsKKwkJCWZkaXNrX3BhcnRpdGlvbl9zZXRfcGFydG5vKHBhLCBwbm8pOworCQl9CisJfSBlbHNlCisJCXAgPSBzOworCisJd2hpbGUgKHJjID09IDAgJiYgcCAmJiAqcCkgeworCisJCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAiIHBhcnNpbmcgJyVzJyIsIHApKTsKKwkJcCA9IChjaGFyICopIHNraXBfYmxhbmsocCk7CisKKwkJaWYgKCFzdHJuY2FzZWNtcChwLCAic3RhcnQ9IiwgNikpIHsKKwkJCWludCBwb3cgPSAwOworCQkJcCArPSA2OworCQkJcmMgPSBuZXh0X251bWJlcigmcCwgJm51bSwgJnBvdyk7CisJCQlpZiAoIXJjKSB7CisJCQkJaWYgKHBvdykJLyogc3BlY2lmaWVkIGFzIDxudW0+PHN1ZmZpeD4gKi8KKwkJCQkJbnVtIC89IGRwLT5jeHQtPnNlY3Rvcl9zaXplOworCQkJCWZkaXNrX3BhcnRpdGlvbl9zZXRfc3RhcnQocGEsIG51bSk7CisJCQkJZmRpc2tfcGFydGl0aW9uX3N0YXJ0X2ZvbGxvd19kZWZhdWx0KHBhLCAwKTsKKwkJCX0KKwkJfSBlbHNlIGlmICghc3RybmNhc2VjbXAocCwgInNpemU9IiwgNSkpIHsKKwkJCWludCBwb3cgPSAwOworCisJCQlwICs9IDU7CisJCQlyYyA9IG5leHRfbnVtYmVyKCZwLCAmbnVtLCAmcG93KTsKKwkJCWlmICghcmMpIHsKKwkJCQlpZiAocG93KQkvKiBzcGVjaWZpZWQgYXMgPG51bT48c3VmZml4PiAqLworCQkJCQludW0gLz0gZHAtPmN4dC0+c2VjdG9yX3NpemU7CisJCQkJZWxzZQkJLyogc3BlY2lmaWVkIGFzIG51bWJlciBvZiBzZWN0b3JzICovCisJCQkJCWZkaXNrX3BhcnRpdGlvbl9zaXplX2V4cGxpY2l0KHBhLCAxKTsKKwkJCQlmZGlza19wYXJ0aXRpb25fc2V0X3NpemUocGEsIG51bSk7CisJCQkJZmRpc2tfcGFydGl0aW9uX2VuZF9mb2xsb3dfZGVmYXVsdChwYSwgMCk7CisJCQl9CisKKwkJfSBlbHNlIGlmICghc3RybmNhc2VjbXAocCwgImJvb3RhYmxlIiwgOCkpIHsKKwkJCS8qIHdlIHVzZSBuZXh0X3Rva2VuKCkgdG8gc2tpcCBwb3NzaWJsZSBleHRyYSBzcGFjZSAqLworCQkJY2hhciAqdGsgPSBuZXh0X3Rva2VuKCZwKTsKKwkJCWlmICh0ayAmJiBzdHJjYXNlY21wKHRrLCAiYm9vdGFibGUiKSA9PSAwKQorCQkJCXBhLT5ib290ID0gMTsKKwkJCWVsc2UKKwkJCQlyYyA9IC1FSU5WQUw7CisKKwkJfSBlbHNlIGlmICghc3RybmNhc2VjbXAocCwgImF0dHJzPSIsIDYpKSB7CisJCQlwICs9IDY7CisJCQlyYyA9IG5leHRfc3RyaW5nKCZwLCAmcGEtPmF0dHJzKTsKKworCQl9IGVsc2UgaWYgKCFzdHJuY2FzZWNtcChwLCAidXVpZD0iLCA1KSkgeworCQkJcCArPSA1OworCQkJcmMgPSBuZXh0X3N0cmluZygmcCwgJnBhLT51dWlkKTsKKworCQl9IGVsc2UgaWYgKCFzdHJuY2FzZWNtcChwLCAibmFtZT0iLCA1KSkgeworCQkJcCArPSA1OworCQkJcmMgPSBuZXh0X3N0cmluZygmcCwgJnBhLT5uYW1lKTsKKworCQl9IGVsc2UgaWYgKCFzdHJuY2FzZWNtcChwLCAidHlwZT0iLCA1KSB8fAorCQkJICAgIXN0cm5jYXNlY21wKHAsICJJZD0iLCAzKSkgewkJLyogYmFja3dhcmQgY29tcGF0aWJpbGl0eSAqLworCQkJY2hhciAqdHlwZTsKKworCQkJcCArPSAoKCpwID09ICdJJyB8fCAqcCA9PSAnaScpID8gMyA6IDUpOyAvKiAiSWQ9IiwgInR5cGU9IiAqLworCisJCQlyYyA9IG5leHRfc3RyaW5nKCZwLCAmdHlwZSk7CisJCQlpZiAocmMpCisJCQkJYnJlYWs7CisJCQlwYS0+dHlwZSA9IGZkaXNrX2xhYmVsX3BhcnNlX3BhcnR0eXBlKAorCQkJCQlzY3JpcHRfZ2V0X2xhYmVsKGRwKSwgdHlwZSk7CisJCQlmcmVlKHR5cGUpOworCisJCQlpZiAoIXBhLT50eXBlKSB7CisJCQkJcmMgPSAtRUlOVkFMOworCQkJCWZkaXNrX3VucmVmX3BhcnR0eXBlKHBhLT50eXBlKTsKKwkJCQlwYS0+dHlwZSA9IE5VTEw7CisJCQkJYnJlYWs7CisJCQl9CisKKwkJfSBlbHNlIHsKKwkJCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAic2NyaXB0IHBhcnNlIGVycm9yOiB1bmtub3duIGZpZWxkICclcyciLCBwKSk7CisJCQlyYyA9IC1FSU5WQUw7CisJCQlicmVhazsKKwkJfQorCX0KKworCWlmICghcmMpCisJCXJjID0gZmRpc2tfdGFibGVfYWRkX3BhcnRpdGlvbihkcC0+dGFibGUsIHBhKTsKKwlpZiAocmMpCisJCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAic2NyaXB0IHBhcnNlIGVycm9yOiBbcmM9JWRdIiwgcmMpKTsKKworCWZkaXNrX3VucmVmX3BhcnRpdGlvbihwYSk7CisJcmV0dXJuIHJjOworfQorCisvKiBvcmlnaW5hbCBzZmRpc2sgc3VwcG9ydHMgcGFydGl0aW9uIHR5cGVzIHNob3J0Y3V0cyBsaWtlICdMJyA9IExpbnV4IG5hdGl2ZQorICovCitzdGF0aWMgc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0cmFuc2xhdGVfdHlwZV9zaG9ydGN1dHMoc3RydWN0IGZkaXNrX3NjcmlwdCAqZHAsIGNoYXIgKnN0cikKK3sKKwlzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiOworCWNvbnN0IGNoYXIgKnR5cGUgPSBOVUxMOworCisJaWYgKHN0cmxlbihzdHIpICE9IDEpCisJCXJldHVybiBOVUxMOworCisJbGIgPSBzY3JpcHRfZ2V0X2xhYmVsKGRwKTsKKwlpZiAoIWxiKQorCQlyZXR1cm4gTlVMTDsKKworCWlmIChsYi0+aWQgPT0gRkRJU0tfRElTS0xBQkVMX0RPUykgeworCQlzd2l0Y2ggKCpzdHIpIHsKKwkJY2FzZSAnTCc6CS8qIExpbnV4ICovCisJCQl0eXBlID0gIjgzIjsKKwkJCWJyZWFrOworCQljYXNlICdTJzoJLyogU3dhcCAqLworCQkJdHlwZSA9ICI4MiI7CisJCQlicmVhazsKKwkJY2FzZSAnRSc6CS8qIERvcyBleHRlbmRlZCAqLworCQkJdHlwZSA9ICIwNSI7CisJCQlicmVhazsKKwkJY2FzZSAnWCc6CS8qIExpbnV4IGV4dGVuZGVkICovCisJCQl0eXBlID0gIjg1IjsKKwkJCWJyZWFrOworCQljYXNlICdVJzoJLyogVUVGSSBzeXN0ZW0gKi8KKwkJCXR5cGUgPSAiRUYiOworCQkJYnJlYWs7CisJCX0KKwl9IGVsc2UgaWYgKGxiLT5pZCA9PSBGRElTS19ESVNLTEFCRUxfR1BUKSB7CisJCXN3aXRjaCAoKnN0cikgeworCQljYXNlICdMJzoJLyogTGludXggKi8KKwkJCXR5cGUgPSAiMEZDNjNEQUYtODQ4My00NzcyLThFNzktM0Q2OUQ4NDc3REU0IjsKKwkJCWJyZWFrOworCQljYXNlICdTJzoJLyogU3dhcCAqLworCQkJdHlwZSA9ICIwNjU3RkQ2RC1BNEFCLTQzQzQtODRFNS0wOTMzQzg0QjRGNEYiOworCQkJYnJlYWs7CisJCWNhc2UgJ0gnOgkvKiBIb21lICovCisJCQl0eXBlID0gIjkzM0FDN0UxLTJFQjQtNEYxMy1CODQ0LTBFMTRFMkFFRjkxNSI7CisJCQlicmVhazsKKwkJY2FzZSAnVSc6CS8qIFVFRkkgc3lzdGVtICovCisJCQl0eXBlID0gIkMxMkE3MzI4LUY4MUYtMTFEMi1CQTRCLTAwQTBDOTNFQzkzQiI7CisJCQlicmVhazsKKwkJfQorCX0KKworCXJldHVybiB0eXBlID8gZmRpc2tfbGFiZWxfcGFyc2VfcGFydHR5cGUobGIsIHR5cGUpIDogTlVMTDsKK30KKworI2RlZmluZSBUS19QTFVTCQkxCisjZGVmaW5lIFRLX01JTlVTCS0xCisKKyNkZWZpbmUgYWxvbmVfc2lnbihfc2lnbiwgX3ApCShfc2lnbiAmJiAoKl9wID09ICdcMCcgfHwgaXNibGFuaygqX3ApKSkKKworLyogc2ltcGxlIGZvcm1hdDoKKyAqIDxzdGFydD4sIDxzaXplPiwgPHR5cGU+LCA8Ym9vdGFibGU+LCAuLi4KKyAqLworc3RhdGljIGludCBwYXJzZV9saW5lX3ZhbGNvbW1hcyhzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCwgY2hhciAqcykKK3sKKwlpbnQgcmMgPSAwOworCWNoYXIgKnAgPSBzLCAqc3RyOworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhOworCWVudW0geyBJVEVNX1NUQVJULCBJVEVNX1NJWkUsIElURU1fVFlQRSwgSVRFTV9CT09UQUJMRSB9OworCWludCBpdGVtID0gLTE7CisKKwlhc3NlcnQoZHApOworCWFzc2VydChzKTsKKworCXBhID0gZmRpc2tfbmV3X3BhcnRpdGlvbigpOworCWlmICghcGEpCisJCXJldHVybiAtRU5PTUVNOworCisJZmRpc2tfcGFydGl0aW9uX3N0YXJ0X2ZvbGxvd19kZWZhdWx0KHBhLCAxKTsKKwlmZGlza19wYXJ0aXRpb25fZW5kX2ZvbGxvd19kZWZhdWx0KHBhLCAxKTsKKwlmZGlza19wYXJ0aXRpb25fcGFydG5vX2ZvbGxvd19kZWZhdWx0KHBhLCAxKTsKKworCXdoaWxlIChyYyA9PSAwICYmIHAgJiYgKnApIHsKKwkJdWludDY0X3QgbnVtOworCQljaGFyICpiZWdpbjsKKwkJaW50IHNpZ24gPSAwOworCisJCXAgPSAoY2hhciAqKSBza2lwX2JsYW5rKHApOworCQlpdGVtKys7CisKKwkJaWYgKGl0ZW0gIT0gSVRFTV9CT09UQUJMRSkgeworCQkJc2lnbiA9ICpwID09ICctJyA/IFRLX01JTlVTIDogKnAgPT0gJysnID8gVEtfUExVUyA6IDA7CisJCQlpZiAoc2lnbikKKwkJCQlwKys7CisJCX0KKworCQlEQkcoU0NSSVBULCB1bF9kZWJ1Z29iaihkcCwgIiBwYXJzaW5nIGl0ZW0gJWQgKCclcycpIiwgaXRlbSwgcCkpOworCQliZWdpbiA9IHA7CisKKwkJc3dpdGNoIChpdGVtKSB7CisJCWNhc2UgSVRFTV9TVEFSVDoKKwkJCWlmICgqcCA9PSAnLCcgfHwgKnAgPT0gJzsnIHx8IGFsb25lX3NpZ24oc2lnbiwgcCkpCisJCQkJZmRpc2tfcGFydGl0aW9uX3N0YXJ0X2ZvbGxvd19kZWZhdWx0KHBhLCAxKTsKKwkJCWVsc2UgeworCQkJCWludCBwb3cgPSAwOworCisJCQkJcmMgPSBuZXh0X251bWJlcigmcCwgJm51bSwgJnBvdyk7CisJCQkJaWYgKCFyYykgeworCQkJCQlpZiAocG93KQkvKiBzcGVjaWZpZWQgYXMgPG51bT48c3VmZml4PiAqLworCQkJCQkJbnVtIC89IGRwLT5jeHQtPnNlY3Rvcl9zaXplOworCQkJCQlmZGlza19wYXJ0aXRpb25fc2V0X3N0YXJ0KHBhLCBudW0pOworCQkJCQlwYS0+bW92ZXN0YXJ0ID0gc2lnbiA9PSBUS19NSU5VUyA/IEZESVNLX01PVkVfRE9XTiA6CisJCQkJCQkJc2lnbiA9PSBUS19QTFVTICA/IEZESVNLX01PVkVfVVAgOgorCQkJCQkJCUZESVNLX01PVkVfTk9ORTsKKwkJCQl9CisJCQkJZmRpc2tfcGFydGl0aW9uX3N0YXJ0X2ZvbGxvd19kZWZhdWx0KHBhLCAwKTsKKwkJCX0KKwkJCWJyZWFrOworCQljYXNlIElURU1fU0laRToKKwkJCWlmICgqcCA9PSAnLCcgfHwgKnAgPT0gJzsnIHx8IGFsb25lX3NpZ24oc2lnbiwgcCkpIHsKKwkJCQlmZGlza19wYXJ0aXRpb25fZW5kX2ZvbGxvd19kZWZhdWx0KHBhLCAxKTsKKwkJCQlpZiAoc2lnbiA9PSBUS19QTFVTKQorCQkJCQkvKiAnKycgYWxvbmUgbWVhbnMgdXNlIGFsbCBwb3NzaWJsZSBzcGFjZSwgJy0nIGFsb25lIG1lYW5zIG5vdGhpbmcgKi8KKwkJCQkJcGEtPnJlc2l6ZSA9IEZESVNLX1JFU0laRV9FTkxBUkdFOworCQkJfSBlbHNlIHsKKwkJCQlpbnQgcG93ID0gMDsKKwkJCQlyYyA9IG5leHRfbnVtYmVyKCZwLCAmbnVtLCAmcG93KTsKKwkJCQlpZiAoIXJjKSB7CisJCQkJCWlmIChwb3cpIC8qIHNwZWNpZmllZCBhcyA8c2l6ZT48c3VmZml4PiAqLworCQkJCQkJbnVtIC89IGRwLT5jeHQtPnNlY3Rvcl9zaXplOworCQkJCQllbHNlCSAvKiBzcGVjaWZpZWQgYXMgbnVtYmVyIG9mIHNlY3RvcnMgKi8KKwkJCQkJCWZkaXNrX3BhcnRpdGlvbl9zaXplX2V4cGxpY2l0KHBhLCAxKTsKKwkJCQkJZmRpc2tfcGFydGl0aW9uX3NldF9zaXplKHBhLCBudW0pOworCQkJCQlwYS0+cmVzaXplID0gc2lnbiA9PSBUS19NSU5VUyA/IEZESVNLX1JFU0laRV9SRURVQ0UgOgorCQkJCQkJICAgICBzaWduID09IFRLX1BMVVMgID8gRkRJU0tfUkVTSVpFX0VOTEFSR0UgOgorCQkJCQkJCUZESVNLX1JFU0laRV9OT05FOworCQkJCX0KKwkJCQlmZGlza19wYXJ0aXRpb25fZW5kX2ZvbGxvd19kZWZhdWx0KHBhLCAwKTsKKwkJCX0KKwkJCWJyZWFrOworCQljYXNlIElURU1fVFlQRToKKwkJCWlmICgqcCA9PSAnLCcgfHwgKnAgPT0gJzsnIHx8IGFsb25lX3NpZ24oc2lnbiwgcCkpCisJCQkJYnJlYWs7CS8qIHVzZSBkZWZhdWx0IHR5cGUgKi8KKworCQkJcmMgPSBuZXh0X3N0cmluZygmcCwgJnN0cik7CisJCQlpZiAocmMpCisJCQkJYnJlYWs7CisKKwkJCXBhLT50eXBlID0gdHJhbnNsYXRlX3R5cGVfc2hvcnRjdXRzKGRwLCBzdHIpOworCQkJaWYgKCFwYS0+dHlwZSkKKwkJCQlwYS0+dHlwZSA9IGZkaXNrX2xhYmVsX3BhcnNlX3BhcnR0eXBlKAorCQkJCQkJc2NyaXB0X2dldF9sYWJlbChkcCksIHN0cik7CisJCQlmcmVlKHN0cik7CisKKwkJCWlmICghcGEtPnR5cGUpIHsKKwkJCQlyYyA9IC1FSU5WQUw7CisJCQkJZmRpc2tfdW5yZWZfcGFydHR5cGUocGEtPnR5cGUpOworCQkJCXBhLT50eXBlID0gTlVMTDsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWJyZWFrOworCQljYXNlIElURU1fQk9PVEFCTEU6CisJCQlpZiAoKnAgPT0gJywnIHx8ICpwID09ICc7JykKKwkJCQlicmVhazsKKwkJCWVsc2UgeworCQkJCWNoYXIgKnRrID0gbmV4dF90b2tlbigmcCk7CisJCQkJaWYgKHRrICYmICp0ayA9PSAnKicgJiYgKih0ayArIDEpID09ICdcMCcpCisJCQkJCXBhLT5ib290ID0gMTsKKwkJCQllbHNlIGlmICh0ayAmJiAqdGsgPT0gJy0nICYmICoodGsgKyAxKSA9PSAnXDAnKQorCQkJCQlwYS0+Ym9vdCA9IDA7CisJCQkJZWxzZSBpZiAodGsgJiYgKnRrID09ICcrJyAmJiAqKHRrICsgMSkgPT0gJ1wwJykKKwkJCQkJcGEtPmJvb3QgPSAxOworCQkJCWVsc2UKKwkJCQkJcmMgPSAtRUlOVkFMOworCQkJfQorCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlicmVhazsKKwkJfQorCisJCWlmIChiZWdpbiA9PSBwKQorCQkJcCsrOworCX0KKworCWlmICghcmMpCisJCXJjID0gZmRpc2tfdGFibGVfYWRkX3BhcnRpdGlvbihkcC0+dGFibGUsIHBhKTsKKwlpZiAocmMpCisJCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAic2NyaXB0IHBhcnNlIGVycm9yOiBbcmM9JWRdIiwgcmMpKTsKKworCWZkaXNrX3VucmVmX3BhcnRpdGlvbihwYSk7CisJcmV0dXJuIHJjOworfQorCisvKiBtb2RpZmllcyBAcyAhICovCitzdGF0aWMgaW50IGZkaXNrX3NjcmlwdF9yZWFkX2J1ZmZlcihzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCwgY2hhciAqcykKK3sKKwlpbnQgcmMgPSAwOworCisJYXNzZXJ0KGRwKTsKKwlhc3NlcnQocyk7CisKKwlEQkcoU0NSSVBULCB1bF9kZWJ1Z29iaihkcCwgIiAgcGFyc2luZyBidWZmZXIiKSk7CisKKwlzID0gKGNoYXIgKikgc2tpcF9ibGFuayhzKTsKKwlpZiAoIXMgfHwgISpzKQorCQlyZXR1cm4gMDsJLyogbm90aGluZyBiYWJ5LCBpZ25vcmUgKi8KKworCWlmICghZHAtPnRhYmxlKSB7CisJCWRwLT50YWJsZSA9IGZkaXNrX25ld190YWJsZSgpOworCQlpZiAoIWRwLT50YWJsZSkKKwkJCXJldHVybiAtRU5PTUVNOworCX0KKworCS8qIHBhcnNlIGhlYWRlciBsaW5lcyBvbmx5IGlmIG5vIHBhcnRpdGlvbiBzcGVjaWZpZWQgeWV0ICovCisJaWYgKGZkaXNrX3RhYmxlX2lzX2VtcHR5KGRwLT50YWJsZSkgJiYgaXNfaGVhZGVyX2xpbmUocykpCisJCXJjID0gcGFyc2VfbGluZV9oZWFkZXIoZHAsIHMpOworCisJLyogcGFyc2Ugc2NyaXB0IGZvcm1hdCAqLworCWVsc2UgaWYgKHN0cmNocihzLCAnPScpKQorCQlyYyA9IHBhcnNlX2xpbmVfbmFtZXZhbChkcCwgcyk7CisKKwkvKiBwYXJzZSBzaW1wbGUgPHZhbHVlPiwgLi4uIGZvcm1hdCAqLworCWVsc2UKKwkJcmMgPSBwYXJzZV9saW5lX3ZhbGNvbW1hcyhkcCwgcyk7CisKKwlpZiAocmMpCisJCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAiJXp1OiBwYXJzZSBlcnJvciBbcmM9JWRdIiwKKwkJCQlkcC0+bmxpbmVzLCByYykpOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBmZGlza19zY3JpcHRfc2V0X2ZnZXRzOgorICogQGRwOiBzY3JpcHQKKyAqIEBmbl9mZ2V0czogY2FsbGJhY2sgZnVuY3Rpb24KKyAqCisgKiBUaGUgbGlicmFyeSB1c2VzIGZnZXRzKCkgZnVuY3Rpb24gdG8gcmVhZCB0aGUgbmV4dCBsaW5lIGZyb20gdGhlIHNjcmlwdC4KKyAqIFRoaXMgZGVmYXVsdCBtYXliZSBvdmVycmlkZGVuIGJ5IGFub3RoZXIgZnVuY3Rpb24uIE5vdGUgdGhhdCB0aGUgZnVuY3Rpb24gaGFzCisgKiB0byByZXR1cm4gdGhlIGxpbmUgdGVybWluYXRlZCBieSBcbiAoZm9yIGV4YW1wbGUgcmVhZGxpbmUoMykgcmVtb3ZlcyBcbikuCisgKgorICogUmV0dXJuOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yCisgKi8KK2ludCBmZGlza19zY3JpcHRfc2V0X2ZnZXRzKHN0cnVjdCBmZGlza19zY3JpcHQgKmRwLAorCQkJICBjaGFyICooKmZuX2ZnZXRzKShzdHJ1Y3QgZmRpc2tfc2NyaXB0ICosIGNoYXIgKiwgc2l6ZV90LCBGSUxFICopKQoreworCWFzc2VydChkcCk7CisKKwlkcC0+Zm5fZmdldHMgPSBmbl9mZ2V0czsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19zY3JpcHRfcmVhZF9saW5lOgorICogQGRwOiBzY3JpcHQKKyAqIEBmOiBmaWxlCisgKiBAYnVmOiBidWZmZXIgdG8gc3RvcmUgb25lIGxpbmUgb2YgdGhlIGZpbGUKKyAqIEBidWZzejogYnVmZmVyIHNpemUKKyAqCisgKiBSZWFkcyBuZXh0IGxpbmUgaW50byBkdW1wLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IsIDEgd2hlbiBub3RoaW5nIHRvIHJlYWQuCisgKi8KK2ludCBmZGlza19zY3JpcHRfcmVhZF9saW5lKHN0cnVjdCBmZGlza19zY3JpcHQgKmRwLCBGSUxFICpmLCBjaGFyICpidWYsIHNpemVfdCBidWZzeikKK3sKKwljaGFyICpzOworCisJYXNzZXJ0KGRwKTsKKwlhc3NlcnQoZik7CisKKwlEQkcoU0NSSVBULCB1bF9kZWJ1Z29iaihkcCwgIiBwYXJzaW5nIGxpbmUgJXp1IiwgZHAtPm5saW5lcykpOworCisJLyogcmVhZCB0aGUgbmV4dCBub24tYmxhbmsgbm9uLWNvbW1lbnQgbGluZSAqLworCWRvIHsKKwkJaWYgKGRwLT5mbl9mZ2V0cykgeworCQkJaWYgKGRwLT5mbl9mZ2V0cyhkcCwgYnVmLCBidWZzeiwgZikgPT0gTlVMTCkKKwkJCQlyZXR1cm4gMTsKKwkJfSBlbHNlIGlmIChmZ2V0cyhidWYsIGJ1ZnN6LCBmKSA9PSBOVUxMKQorCQkJcmV0dXJuIDE7CisKKwkJZHAtPm5saW5lcysrOworCQlzID0gc3RyY2hyKGJ1ZiwgJ1xuJyk7CisJCWlmICghcykgeworCQkJLyogTWlzc2luZyBmaW5hbCBuZXdsaW5lPyAgT3RoZXJ3aXNlIGFuIGV4dHJlbWVseSAqLworCQkJLyogbG9uZyBsaW5lIC0gYXNzdW1lIGZpbGUgd2FzIGNvcnJ1cHRlZCAqLworCQkJaWYgKGZlb2YoZikpIHsKKwkJCQlEQkcoU0NSSVBULCB1bF9kZWJ1Z29iaihkcCwgIm5vIGZpbmFsIG5ld2xpbmUiKSk7CisJCQkJcyA9IHN0cmNocihidWYsICdcMCcpOworCQkJfSBlbHNlIHsKKwkJCQlEQkcoU0NSSVBULCB1bF9kZWJ1Z29iaihkcCwKKwkJCQkJIiV6dTogbWlzc2luZyBuZXdsaW5lIGF0IGxpbmUiLCBkcC0+bmxpbmVzKSk7CisJCQkJcmV0dXJuIC1FSU5WQUw7CisJCQl9CisJCX0KKworCQkqcyA9ICdcMCc7CisJCWlmICgtLXMgPj0gYnVmICYmICpzID09ICdccicpCisJCQkqcyA9ICdcMCc7CisJCXMgPSAoY2hhciAqKSBza2lwX2JsYW5rKGJ1Zik7CisJfSB3aGlsZSAoKnMgPT0gJ1wwJyB8fCAqcyA9PSAnIycpOworCisJcmV0dXJuIGZkaXNrX3NjcmlwdF9yZWFkX2J1ZmZlcihkcCwgcyk7Cit9CisKKworLyoqCisgKiBmZGlza19zY3JpcHRfcmVhZF9maWxlOgorICogQGRwOiBzY3JpcHQKKyAqIEBmOiBpbnB1dCBmaWxlCisgKgorICogUmVhZHMgZmlsZSBAZiBpbnRvIHNjcmlwdCBAZHAuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3NjcmlwdF9yZWFkX2ZpbGUoc3RydWN0IGZkaXNrX3NjcmlwdCAqZHAsIEZJTEUgKmYpCit7CisJY2hhciBidWZbQlVGU0laXTsKKwlpbnQgcmMgPSAxOworCisJYXNzZXJ0KGRwKTsKKwlhc3NlcnQoZik7CisKKwlEQkcoU0NSSVBULCB1bF9kZWJ1Z29iaihkcCwgInBhcnNpbmcgZmlsZSIpKTsKKworCXdoaWxlICghZmVvZihmKSkgeworCQlyYyA9IGZkaXNrX3NjcmlwdF9yZWFkX2xpbmUoZHAsIGYsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCQlpZiAocmMpCisJCQlicmVhazsKKwl9CisKKwlpZiAocmMgPT0gMSkKKwkJcmMgPSAwOwkJLyogZW5kIG9mIGZpbGUgKi8KKworCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAicGFyc2luZyBmaWxlIGRvbmUgW3JjPSVkXSIsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIGZkaXNrX3NldF9zY3JpcHQ6CisgKiBAY3h0OiBjb250ZXh0CisgKiBAZHA6IHNjcmlwdCAob3IgTlVMTCB0byByZW1vdmUgcHJldmlvdXMgcmVmZXJlbmNlKQorICoKKyAqIFNldHMgcmVmZXJlbmNlIHRvIHRoZSBAZHAgc2NyaXB0IGFuZCByZW1vdmUgcmVmZXJlbmNlIHRvIHRoZSBwcmV2aW91c2x5IHVzZWQKKyAqIHNjcmlwdC4KKyAqCisgKiBUaGUgc2NyaXB0IGhlYWRlcnMgbWlnaHQgYmUgdXNlZCBieSBsYWJlbCBkcml2ZXJzIHRvIG92ZXJ3cml0ZQorICogYnVpbHQtaW4gZGVmYXVsdHMgKGZvciBleGFtcGxlIGRpc2sgbGFiZWwgSWQpIGFuZCBsYWJlbCBkcml2ZXIgbWlnaHQKKyAqIG9wdGltaXplIHRoZSBkZWZhdWx0IHNlbWFudGljIHRvIGJlIG1vcmUgdXNhYmxlIGZvciBzY3JpcHRzIChmb3IgZXhhbXBsZSB0bworICogbm90IGFzayBmb3IgcHJpbWFyeS9sb2dpY2FsL2V4dGVuZGVkIHBhcnRpdGlvbiB0eXBlKS4KKyAqCisgKiBOb3RlIHRoYXQgc2NyaXB0IGFsc28gY29udGFpbnMgcmVmZXJlbmNlIHRvIHRoZSBmZGlzayBjb250ZXh0IChzZWUKKyAqIGZkaXNrX25ld19zY3JpcHQoKSkuIFRoaXMgY29udGV4dCBtYXkgYmUgY29tcGxldGVseSBpbmRlcGVuZGVudCBvbgorICogY29udGV4dCB1c2VkIGZvciBmZGlza19zZXRfc2NyaXB0KCkuCisgKgorICogUmV0dXJuczogPDAgb24gZXJyb3IsIDAgb24gc3VjY2Vzcy4KKyAqLworaW50IGZkaXNrX3NldF9zY3JpcHQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX3NjcmlwdCAqZHApCit7CisJYXNzZXJ0KGN4dCk7CisKKwkvKiB1bnJlZiBvbGQgKi8KKwlpZiAoY3h0LT5zY3JpcHQpCisJCWZkaXNrX3VucmVmX3NjcmlwdChjeHQtPnNjcmlwdCk7CisKKwkvKiByZWYgbmV3ICovCisJY3h0LT5zY3JpcHQgPSBkcDsKKwlpZiAoY3h0LT5zY3JpcHQpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAic2V0dGluZyByZWZlcmVuY2UgdG8gc2NyaXB0ICVwIiwgY3h0LT5zY3JpcHQpKTsKKwkJZmRpc2tfcmVmX3NjcmlwdChjeHQtPnNjcmlwdCk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X3NjcmlwdDoKKyAqIEBjeHQ6IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiB0aGUgY3VycmVudCBzY3JpcHQgb3IgTlVMTC4KKyAqLworc3RydWN0IGZkaXNrX3NjcmlwdCAqZmRpc2tfZ2V0X3NjcmlwdChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWFzc2VydChjeHQpOworCXJldHVybiBjeHQtPnNjcmlwdDsKK30KKworLyoqCisgKiBmZGlza19hcHBseV9zY3JpcHRfaGVhZGVyczoKKyAqIEBjeHQ6IGNvbnRleHQKKyAqIEBkcDogc2NyaXB0CisgKgorICogQXNzb2NpYXRlIGNvbnRleHQgQGN4dCB3aXRoIHNjcmlwdCBAZHAgYW5kIGNyZWF0ZXMgYSBuZXcgZW1wdHkgZGlza2xhYmVsLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19hcHBseV9zY3JpcHRfaGVhZGVycyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCkKK3sKKwljb25zdCBjaGFyICpuYW1lOworCWNvbnN0IGNoYXIgKnN0cjsKKwlpbnQgcmM7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoZHApOworCisJREJHKFNDUklQVCwgdWxfZGVidWdvYmooZHAsICJhcHBseWluZyBzY3JpcHQgaGVhZGVycyIpKTsKKwlmZGlza19zZXRfc2NyaXB0KGN4dCwgZHApOworCisJLyogY3JlYXRlIGVtcHR5IGxhYmVsICovCisJbmFtZSA9IGZkaXNrX3NjcmlwdF9nZXRfaGVhZGVyKGRwLCAibGFiZWwiKTsKKwlpZiAoIW5hbWUpCisJCXJldHVybiAtRUlOVkFMOworCisJcmMgPSBmZGlza19jcmVhdGVfZGlza2xhYmVsKGN4dCwgbmFtZSk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwlzdHIgPSBmZGlza19zY3JpcHRfZ2V0X2hlYWRlcihkcCwgInRhYmxlLWxlbmd0aCIpOworCWlmIChzdHIpIHsKKwkJdWludG1heF90IHN6OworCisJCXJjID0gcGFyc2Vfc2l6ZShzdHIsICZzeiwgTlVMTCk7CisJCWlmIChyYyA9PSAwKQorCQkJcmMgPSBmZGlza19ncHRfc2V0X25wYXJ0aXRpb25zKGN4dCwgc3opOworCX0KKworCXJldHVybiByYzsKK30KKworLyoqCisgKiBmZGlza19hcHBseV9zY3JpcHQ6CisgKiBAY3h0OiBjb250ZXh0CisgKiBAZHA6IHNjcmlwdAorICoKKyAqIFRoaXMgZnVuY3Rpb24gY3JlYXRlcyBhIG5ldyBkaXNrbGFiZWwgYW5kIHBhcnRpdGlvbiB3aXRoaW4gY29udGV4dCBAY3h0LiBZb3UKKyAqIGhhdmUgdG8gY2FsbCBmZGlza193cml0ZV9kaXNrbGFiZWwoKSB0byBhcHBseSBjaGFuZ2VzIHRvIHRoZSBkZXZpY2UuCisgKgorICogUmV0dXJuczogMCBvbiBlcnJvciwgPDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19hcHBseV9zY3JpcHQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX3NjcmlwdCAqZHApCit7CisJaW50IHJjOworCXN0cnVjdCBmZGlza19zY3JpcHQgKm9sZDsKKworCWFzc2VydChkcCk7CisJYXNzZXJ0KGN4dCk7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJhcHBseWluZyBzY3JpcHQgJXAiLCBkcCkpOworCisJb2xkID0gZmRpc2tfZ2V0X3NjcmlwdChjeHQpOworCWZkaXNrX3JlZl9zY3JpcHQob2xkKTsKKworCS8qIGNyZWF0ZSBlbXB0eSBkaXNrIGxhYmVsICovCisJcmMgPSBmZGlza19hcHBseV9zY3JpcHRfaGVhZGVycyhjeHQsIGRwKTsKKworCS8qIGNyZWF0ZSBwYXJ0aXRpb25zICovCisJaWYgKCFyYyAmJiBkcC0+dGFibGUpCisJCXJjID0gZmRpc2tfYXBwbHlfdGFibGUoY3h0LCBkcC0+dGFibGUpOworCisJZmRpc2tfc2V0X3NjcmlwdChjeHQsIG9sZCk7CisJZmRpc2tfdW5yZWZfc2NyaXB0KG9sZCk7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJzY3JpcHQgZG9uZSBbcmM9JWRdIiwgcmMpKTsKKwlyZXR1cm4gcmM7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU0KK3N0YXRpYyBpbnQgdGVzdF9kdW1wKHN0cnVjdCBmZGlza190ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwljaGFyICpkZXZuYW1lID0gYXJndlsxXTsKKwlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0OworCXN0cnVjdCBmZGlza19zY3JpcHQgKmRwOworCisJY3h0ID0gZmRpc2tfbmV3X2NvbnRleHQoKTsKKwlmZGlza19hc3NpZ25fZGV2aWNlKGN4dCwgZGV2bmFtZSwgMSk7CisKKwlkcCA9IGZkaXNrX25ld19zY3JpcHQoY3h0KTsKKwlmZGlza19zY3JpcHRfcmVhZF9jb250ZXh0KGRwLCBOVUxMKTsKKworCWZkaXNrX3NjcmlwdF93cml0ZV9maWxlKGRwLCBzdGRvdXQpOworCWZkaXNrX3VucmVmX3NjcmlwdChkcCk7CisJZmRpc2tfdW5yZWZfY29udGV4dChjeHQpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9yZWFkKHN0cnVjdCBmZGlza190ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwljaGFyICpmaWxlbmFtZSA9IGFyZ3ZbMV07CisJc3RydWN0IGZkaXNrX3NjcmlwdCAqZHA7CisJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dDsKKwlGSUxFICpmOworCisJaWYgKCEoZiA9IGZvcGVuKGZpbGVuYW1lLCAiciIpKSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgIiVzOiBjYW5ub3Qgb3BlbiIsIGZpbGVuYW1lKTsKKworCWN4dCA9IGZkaXNrX25ld19jb250ZXh0KCk7CisJZHAgPSBmZGlza19uZXdfc2NyaXB0KGN4dCk7CisKKwlmZGlza19zY3JpcHRfcmVhZF9maWxlKGRwLCBmKTsKKwlmY2xvc2UoZik7CisKKwlmZGlza19zY3JpcHRfd3JpdGVfZmlsZShkcCwgc3Rkb3V0KTsKKwlmZGlza191bnJlZl9zY3JpcHQoZHApOworCWZkaXNrX3VucmVmX2NvbnRleHQoY3h0KTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHRlc3Rfc3RkaW4oc3RydWN0IGZkaXNrX3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNoYXIgYnVmW0JVRlNJWl07CisJc3RydWN0IGZkaXNrX3NjcmlwdCAqZHA7CisJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dDsKKwlpbnQgcmMgPSAwOworCisJY3h0ID0gZmRpc2tfbmV3X2NvbnRleHQoKTsKKwlkcCA9IGZkaXNrX25ld19zY3JpcHQoY3h0KTsKKwlmZGlza19zY3JpcHRfc2V0X2hlYWRlcihkcCwgImxhYmVsIiwgImRvcyIpOworCisJcHJpbnRmKCI8c3RhcnQ+LCA8c2l6ZT4sIDx0eXBlPiwgPGJvb3RhYmxlOiAqfC0+XG4iKTsKKwlkbyB7CisJCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhOworCQlzaXplX3QgbiA9IGZkaXNrX3RhYmxlX2dldF9uZW50cyhkcC0+dGFibGUpOworCisJCXByaW50ZigiICMlenUgOlxuIiwgbiArIDEpOworCQlyYyA9IGZkaXNrX3NjcmlwdF9yZWFkX2xpbmUoZHAsIHN0ZGluLCBidWYsIHNpemVvZihidWYpKTsKKworCQlpZiAocmMgPT0gMCkgeworCQkJcGEgPSBmZGlza190YWJsZV9nZXRfcGFydGl0aW9uKGRwLT50YWJsZSwgbik7CisJCQlwcmludGYoIiAjJXp1ICAlMTJqdSAlMTJqdVxuIiwJbiArIDEsCisJCQkJCQkodWludG1heF90KWZkaXNrX3BhcnRpdGlvbl9nZXRfc3RhcnQocGEpLAorCQkJCQkJKHVpbnRtYXhfdClmZGlza19wYXJ0aXRpb25fZ2V0X3NpemUocGEpKTsKKwkJfQorCX0gd2hpbGUgKHJjID09IDApOworCisJaWYgKCFyYykKKwkJZmRpc2tfc2NyaXB0X3dyaXRlX2ZpbGUoZHAsIHN0ZG91dCk7CisJZmRpc2tfdW5yZWZfc2NyaXB0KGRwKTsKKwlmZGlza191bnJlZl9jb250ZXh0KGN4dCk7CisKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9hcHBseShzdHJ1Y3QgZmRpc2tfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY2hhciAqZGV2bmFtZSA9IGFyZ3ZbMV0sICpzY3JpcHRuYW1lID0gYXJndlsyXTsKKwlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0OworCXN0cnVjdCBmZGlza19zY3JpcHQgKmRwID0gTlVMTDsKKwlzdHJ1Y3QgZmRpc2tfdGFibGUgKnRiID0gTlVMTDsKKwlzdHJ1Y3QgZmRpc2tfaXRlciAqaXRyID0gTlVMTDsKKwlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSA9IE5VTEw7CisJaW50IHJjOworCisJY3h0ID0gZmRpc2tfbmV3X2NvbnRleHQoKTsKKwlmZGlza19hc3NpZ25fZGV2aWNlKGN4dCwgZGV2bmFtZSwgMCk7CisKKwlkcCA9IGZkaXNrX25ld19zY3JpcHRfZnJvbV9maWxlKGN4dCwgc2NyaXB0bmFtZSk7CisJaWYgKCFkcCkKKwkJcmV0dXJuIC1lcnJubzsKKworCXJjID0gZmRpc2tfYXBwbHlfc2NyaXB0KGN4dCwgZHApOworCWlmIChyYykKKwkJZ290byBkb25lOworCWZkaXNrX3VucmVmX3NjcmlwdChkcCk7CisKKwkvKiBsaXN0IHJlc3VsdCAqLworCWZkaXNrX2xpc3RfZGlza2xhYmVsKGN4dCk7CisJZmRpc2tfZ2V0X3BhcnRpdGlvbnMoY3h0LCAmdGIpOworCisJaXRyID0gZmRpc2tfbmV3X2l0ZXIoRkRJU0tfSVRFUl9GT1JXQVJEKTsKKwl3aGlsZSAoZmRpc2tfdGFibGVfbmV4dF9wYXJ0aXRpb24odGIsIGl0ciwgJnBhKSA9PSAwKSB7CisJCXByaW50ZigiICMlenUgICUxMmp1ICUxMmp1XG4iLAlmZGlza19wYXJ0aXRpb25fZ2V0X3BhcnRubyhwYSksCisJCQkJCQkodWludG1heF90KWZkaXNrX3BhcnRpdGlvbl9nZXRfc3RhcnQocGEpLAorCQkJCQkJKHVpbnRtYXhfdClmZGlza19wYXJ0aXRpb25fZ2V0X3NpemUocGEpKTsKKwl9CisKK2RvbmU6CisJZmRpc2tfZnJlZV9pdGVyKGl0cik7CisJZmRpc2tfdW5yZWZfdGFibGUodGIpOworCisJLypmZGlza193cml0ZV9kaXNrbGFiZWwoY3h0KTsqLworCWZkaXNrX3VucmVmX2NvbnRleHQoY3h0KTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB0ZXN0X3Rva2VucyhzdHJ1Y3QgZmRpc2tfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY2hhciAqcCwgKnN0ciA9IGFyZ2MgPT0gMiA/IHN0cmR1cChhcmd2WzFdKSA6IE5VTEw7CisJaW50IGk7CisKKwlmb3IgKGkgPSAxLCBwID0gc3RyOyBwICYmICpwOyBpKyspIHsKKwkJY2hhciAqdGsgPSBuZXh0X3Rva2VuKCZwKTsKKworCQlpZiAoIXRrKQorCQkJYnJlYWs7CisKKwkJcHJpbnRmKCIjJWQ6ICclcydcbiIsIGksIHRrKTsKKwl9CisKKwlmcmVlKHN0cik7CisJcmV0dXJuIDA7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IGZkaXNrX3Rlc3QgdHNzW10gPSB7CisJeyAiLS1kdW1wIiwgICAgdGVzdF9kdW1wLCAgICAiPGRldmljZT4gICAgICAgICAgICBkdW1wIFBUIGFzIHNjcmlwdCIgfSwKKwl7ICItLXJlYWQiLCAgICB0ZXN0X3JlYWQsICAgICI8ZmlsZT4gICAgICAgICAgICAgIHJlYWQgUFQgc2NyaXB0IGZyb20gZmlsZSIgfSwKKwl7ICItLWFwcGx5IiwgICB0ZXN0X2FwcGx5LCAgICI8ZGV2aWNlPiA8ZmlsZT4gICAgIHRyeSBhcHBseSBzY3JpcHQgZnJvbSBmaWxlIHRvIGRldmljZSIgfSwKKwl7ICItLXN0ZGluIiwgICB0ZXN0X3N0ZGluLCAgICIgICAgICAgICAgICAgICAgICAgIHJlYWQgaW5wdXQgbGlrZSBzZmRpc2siIH0sCisJeyAiLS10b2tlbnMiLCAgdGVzdF90b2tlbnMsICAiPHN0cmluZz4gICAgICAgICAgICBwYXJzZSBzdHJpbmciIH0sCisJeyBOVUxMIH0KKwl9OworCisJcmV0dXJuIGZkaXNrX3J1bl90ZXN0KHRzcywgYXJnYywgYXJndik7Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliZmRpc2svc3JjL3NnaS5jIGIvbGliZmRpc2svc3JjL3NnaS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjY2YyNDUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJmZGlzay9zcmMvc2dpLmMKQEAgLTAsMCArMSwxMjA2IEBACisvKgorICoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBEYXZpZGxvaHIgQnVlc28gPGRhdmVAZ251Lm9yZz4KKyAqICAgICAgICAgICAgICAgMjAxMyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGlzIGEgcmUtd3JpdHRlbiB2ZXJzaW9uIGZvciBsaWJmZGlzaywgdGhlIG9yaWdpbmFsIHdhcyBmZGlza3NnaWxhYmVsLmMKKyAqIGZyb20gdXRpbC1saW51eCBmZGlzaywgYnk6CisgKgorICogICAgICAgICAgICAgICBBbmRyZWFzIE5ldXBlciwgU2VwIDE5OTgsCisgKiAgICAgICAgICAgICAgIEFybmFsZG8gQ2FydmFsaG8gZGUgTWVsbyA8YWNtZUBjb25lY3RpdmEuY29tLmJyPiwgTWFyIDE5OTksCisgKiAgICAgICAgICAgICAgIFBoaWxsaXAgS2VzbGluZyA8cGtlc2xpbmdAc2dpLmNvbT4sIE1hciAyMDAzLgorICovCisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiYWxsLWlvLmgiCisKKyNpbmNsdWRlICJibGtkZXYuaCIKKworI2luY2x1ZGUgImJpdG9wcy5oIgorI2luY2x1ZGUgInB0LXNnaS5oIgorI2luY2x1ZGUgInB0LW1ici5oIgorI2luY2x1ZGUgImZkaXNrUC5oIgorCisvKioKKyAqIFNFQ1RJT046IHNnaQorICogQHRpdGxlOiBTR0kKKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogZGlzayBsYWJlbCBzcGVjaWZpYyBmdW5jdGlvbnMKKyAqCisgKi8KKworLyoKKyAqIGluLW1lbW9yeSBmZGlzayBTR0kgc3R1ZmYKKyAqLworc3RydWN0IGZkaXNrX3NnaV9sYWJlbCB7CisJc3RydWN0IGZkaXNrX2xhYmVsCWhlYWQ7CQkvKiBnZW5lcmljIGZkaXNrIHBhcnQgKi8KKwlzdHJ1Y3Qgc2dpX2Rpc2tsYWJlbAkqaGVhZGVyOwkvKiBvbi1kaXNrIGRhdGEgKHBvaW50ZXIgdG8gY3h0LT5maXJzdHNlY3RvcikgKi8KKworCXN0cnVjdCBzZ2lfZnJlZWJsb2NrcyB7CisJCXVuc2lnbmVkIGludCBmaXJzdDsKKwkJdW5zaWduZWQgaW50IGxhc3Q7CisJfSBmcmVlbGlzdFtTR0lfTUFYUEFSVElUSU9OUyArIDFdOworfTsKKworc3RhdGljIHN0cnVjdCBmZGlza19wYXJ0dHlwZSBzZ2lfcGFydHR5cGVzW10gPQoreworCXtTR0lfVFlQRV9WT0xIRFIsCU5fKCJTR0kgdm9saGRyIil9LAorCXtTR0lfVFlQRV9UUktSRVBMLAlOXygiU0dJIHRya3JlcGwiKX0sCisJe1NHSV9UWVBFX1NFQ1JFUEwsCU5fKCJTR0kgc2VjcmVwbCIpfSwKKwl7U0dJX1RZUEVfU1dBUCwJCU5fKCJTR0kgcmF3Iil9LAorCXtTR0lfVFlQRV9CU0QsCQlOXygiU0dJIGJzZCIpfSwKKwl7U0dJX1RZUEVfU1lTViwJCU5fKCJTR0kgc3lzdiIpfSwKKwl7U0dJX1RZUEVfRU5USVJFX0RJU0ssCU5fKCJTR0kgdm9sdW1lIil9LAorCXtTR0lfVFlQRV9FRlMsCQlOXygiU0dJIGVmcyIpfSwKKwl7U0dJX1RZUEVfTFZPTCwJCU5fKCJTR0kgbHZvbCIpfSwKKwl7U0dJX1RZUEVfUkxWT0wsCU5fKCJTR0kgcmx2b2wiKX0sCisJe1NHSV9UWVBFX1hGUywJCU5fKCJTR0kgeGZzIil9LAorCXtTR0lfVFlQRV9YRlNMT0csCU5fKCJTR0kgeGZzbG9nIil9LAorCXtTR0lfVFlQRV9YTFYsCQlOXygiU0dJIHhsdiIpfSwKKwl7U0dJX1RZUEVfWFZNLAkJTl8oIlNHSSB4dm0iKX0sCisJe01CUl9MSU5VWF9TV0FQX1BBUlRJVElPTiwgTl8oIkxpbnV4IHN3YXAiKX0sCisJe01CUl9MSU5VWF9EQVRBX1BBUlRJVElPTiwgTl8oIkxpbnV4IG5hdGl2ZSIpfSwKKwl7TUJSX0xJTlVYX0xWTV9QQVJUSVRJT04sIE5fKCJMaW51eCBMVk0iKX0sCisJe01CUl9MSU5VWF9SQUlEX1BBUlRJVElPTiwgTl8oIkxpbnV4IFJBSUQiKX0sCisJezAsIE5VTEwgfQorfTsKKworc3RhdGljIHVuc2lnbmVkIGludCBzZ2lfZ2V0X3N0YXJ0X3NlY3RvcihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBpbnQgaSApOworc3RhdGljIHVuc2lnbmVkIGludCBzZ2lfZ2V0X251bV9zZWN0b3JzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGludCBpICk7CitzdGF0aWMgaW50IHNnaV9nZXRfYm9vdHBhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK3N0YXRpYyBpbnQgc2dpX2dldF9zd2FwcGFydGl0aW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCisvKiBSZXR1cm5zIGEgcG9pbnRlciBidWZmZXIgd2l0aCBvbi1kaXNrIGRhdGEuICovCitzdGF0aWMgaW5saW5lIHN0cnVjdCBzZ2lfZGlza2xhYmVsICpzZWxmX2Rpc2tsYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBTR0kpKTsKKworCXJldHVybiAoKHN0cnVjdCBmZGlza19zZ2lfbGFiZWwgKikgY3h0LT5sYWJlbCktPmhlYWRlcjsKK30KKworLyogUmV0dXJucyBpbi1tZW1vcnkgZmRpc2sgZGF0YS4gKi8KK3N0YXRpYyBpbmxpbmUgc3RydWN0IGZkaXNrX3NnaV9sYWJlbCAqc2VsZl9sYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBTR0kpKTsKKworCXJldHVybiAoc3RydWN0IGZkaXNrX3NnaV9sYWJlbCAqKSBjeHQtPmxhYmVsOworfQorCisvKgorICogSW5mb3JtYXRpb24gd2l0aGluIHNlY29uZCBvbi1kaXNrIGJsb2NrCisgKi8KKyNkZWZpbmUJU0dJX0lORk9fTUFHSUMJCTB4MDAwNzI5NTkKKworc3RydWN0IHNnaV9pbmZvIHsKKwl1bnNpZ25lZCBpbnQgICBtYWdpYzsJCS8qIGxvb2tzIGxpa2UgYSBtYWdpYyBudW1iZXIgKi8KKwl1bnNpZ25lZCBpbnQgICBhMjsKKwl1bnNpZ25lZCBpbnQgICBhMzsKKwl1bnNpZ25lZCBpbnQgICBhNDsKKwl1bnNpZ25lZCBpbnQgICBiMTsKKwl1bnNpZ25lZCBzaG9ydCBiMjsKKwl1bnNpZ25lZCBzaG9ydCBiMzsKKwl1bnNpZ25lZCBpbnQgICBjWzE2XTsKKwl1bnNpZ25lZCBzaG9ydCBkWzNdOworCXVuc2lnbmVkIGNoYXIgIHNjc2lfc3RyaW5nWzUwXTsKKwl1bnNpZ25lZCBjaGFyICBzZXJpYWxbMTM3XTsKKwl1bnNpZ25lZCBzaG9ydCBjaGVjazE4MTY7CisJdW5zaWduZWQgY2hhciAgaW5zdGFsbGVyWzIyNV07Cit9OworCitzdGF0aWMgc3RydWN0IHNnaV9pbmZvICpzZ2lfbmV3X2luZm8odm9pZCkKK3sKKwlzdHJ1Y3Qgc2dpX2luZm8gKmluZm8gPSBjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBzZ2lfaW5mbykpOworCisJaWYgKCFpbmZvKQorCQlyZXR1cm4gTlVMTDsKKworCWluZm8tPm1hZ2ljID0gY3B1X3RvX2JlMzIoU0dJX0lORk9fTUFHSUMpOworCWluZm8tPmIxID0gY3B1X3RvX2JlMzIoLTEpOworCWluZm8tPmIyID0gY3B1X3RvX2JlMTYoLTEpOworCWluZm8tPmIzID0gY3B1X3RvX2JlMTYoMSk7CisKKwkvKiBZb3UgbWF5IHdhbnQgdG8gcmVwbGFjZSB0aGlzIHN0cmluZyAhISEhISEhICovCisJc3RyY3B5KChjaGFyICopIGluZm8tPnNjc2lfc3RyaW5nLCAiSUJNIE9FTSAwNjYyUzEyICAgICAgICAgMyAzMCIpOworCXN0cmNweSgoY2hhciAqKSBpbmZvLT5zZXJpYWwsICIwMDAwIik7CisJaW5mby0+Y2hlY2sxODE2ID0gY3B1X3RvX2JlMTYoMTggKiAyNTYgKyAxNik7CisJc3RyY3B5KChjaGFyICopIGluZm8tPmluc3RhbGxlciwgIlNmeCB2ZXJzaW9uIDUuMywgT2N0IDE4LCAxOTk0Iik7CisKKwlyZXR1cm4gaW5mbzsKK30KKworc3RhdGljIHZvaWQgc2dpX2ZyZWVfaW5mbyhzdHJ1Y3Qgc2dpX2luZm8gKmluZm8pCit7CisJZnJlZShpbmZvKTsKK30KKworLyoqCisgKiBmZGlza19zZ2lfY3JlYXRlX2luZm86CisgKiBAY3h0OiBjb250ZXh0CisgKgorICogVGhpcyBmdW5jdGlvbiBhZGQgaGludCBhYm91dCBTR0kgbGFiZWwgKGUuZy4gc2V0ICJzZ2lsYWJlbCIgYXMgdm9sdW1lIG5hbWUpCisgKiB0byB0aGUgZmlyc3QgU0dJIHZvbHVtZS4gVGhpcyBpcyBwcm9iYWJseSBvbGQgU0dJIGNvbnZlbnRpb24gd2l0aG91dCBhbnkKKyAqIGVmZmVjdCB0byB0aGUgZGV2aWNlIHBhcnRpdGlvbmluZy4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yCisgKi8KK2ludCBmZGlza19zZ2lfY3JlYXRlX2luZm8oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3Qgc2dpX2Rpc2tsYWJlbCAqc2dpbGFiZWwgPSBzZWxmX2Rpc2tsYWJlbChjeHQpOworCisJLyogSSBrZWVwIFNHSSdzIGhhYml0IHRvIHdyaXRlIHRoZSBzZ2lsYWJlbCB0byB0aGUgc2Vjb25kIGJsb2NrICovCisJc2dpbGFiZWwtPnZvbHVtZVswXS5ibG9ja19udW0gPSBjcHVfdG9fYmUzMigyKTsKKwlzZ2lsYWJlbC0+dm9sdW1lWzBdLm51bV9ieXRlcyA9IGNwdV90b19iZTMyKHNpemVvZihzdHJ1Y3Qgc2dpX2luZm8pKTsKKwlzdHJuY3B5KChjaGFyICopIHNnaWxhYmVsLT52b2x1bWVbMF0ubmFtZSwgInNnaWxhYmVsIiwgOCk7CisKKwlmZGlza19pbmZvKGN4dCwgXygiU0dJIGluZm8gY3JlYXRlZCBvbiBzZWNvbmQgc2VjdG9yLiIpKTsKKwlyZXR1cm4gMDsKK30KKworCisvKgorICogb25seSBkZWFsaW5nIHdpdGggZnJlZSBibG9ja3MgaGVyZQorICovCitzdGF0aWMgdm9pZCBzZXRfZnJlZWxpc3Qoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJc2l6ZV90IGksIHVuc2lnbmVkIGludCBmLCB1bnNpZ25lZCBpbnQgbCkKK3sKKwlzdHJ1Y3QgZmRpc2tfc2dpX2xhYmVsICpzZ2kgPSBzZWxmX2xhYmVsKGN4dCk7CisKKwlpZiAoaSA8IEFSUkFZX1NJWkUoc2dpLT5mcmVlbGlzdCkpIHsKKwkJc2dpLT5mcmVlbGlzdFtpXS5maXJzdCA9IGY7CisJCXNnaS0+ZnJlZWxpc3RbaV0ubGFzdCA9IGw7CisJfQorfQorCitzdGF0aWMgdm9pZCBhZGRfdG9fZnJlZWxpc3Qoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJdW5zaWduZWQgaW50IGYsIHVuc2lnbmVkIGludCBsKQoreworCXN0cnVjdCBmZGlza19zZ2lfbGFiZWwgKnNnaSA9IHNlbGZfbGFiZWwoY3h0KTsKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHNnaS0+ZnJlZWxpc3QpOyBpKyspIHsKKwkJaWYgKHNnaS0+ZnJlZWxpc3RbaV0ubGFzdCA9PSAwKQorCQkJYnJlYWs7CisJfQorCXNldF9mcmVlbGlzdChjeHQsIGksIGYsIGwpOworfQorCitzdGF0aWMgdm9pZCBjbGVhcl9mcmVlbGlzdChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBmZGlza19zZ2lfbGFiZWwgKnNnaSA9IHNlbGZfbGFiZWwoY3h0KTsKKworCW1lbXNldChzZ2ktPmZyZWVsaXN0LCAwLCBzaXplb2Yoc2dpLT5mcmVlbGlzdCkpOworfQorCitzdGF0aWMgdW5zaWduZWQgaW50IGlzX2luX2ZyZWVsaXN0KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHVuc2lnbmVkIGludCBiKQoreworCXN0cnVjdCBmZGlza19zZ2lfbGFiZWwgKnNnaSA9IHNlbGZfbGFiZWwoY3h0KTsKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHNnaS0+ZnJlZWxpc3QpOyBpKyspIHsKKwkJaWYgKHNnaS0+ZnJlZWxpc3RbaV0uZmlyc3QgPD0gYgorCQkgICAgJiYgc2dpLT5mcmVlbGlzdFtpXS5sYXN0ID49IGIpCisJCQlyZXR1cm4gc2dpLT5mcmVlbGlzdFtpXS5sYXN0OworCX0KKworCXJldHVybiAwOworfQorCisKK3N0YXRpYyBpbnQgc2dpX2dldF9uc2VjdChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBzZ2lfZGlza2xhYmVsICpzZ2lsYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJcmV0dXJuIGJlMTZfdG9fY3B1KHNnaWxhYmVsLT5kZXZwYXJhbS5uc2VjdCk7Cit9CisKK3N0YXRpYyBpbnQgc2dpX2dldF9udHJrcyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBzZ2lfZGlza2xhYmVsICpzZ2lsYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJcmV0dXJuIGJlMTZfdG9fY3B1KHNnaWxhYmVsLT5kZXZwYXJhbS5udHJrcyk7Cit9CisKK3N0YXRpYyBzaXplX3QgY291bnRfdXNlZF9wYXJ0aXRpb25zKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc2l6ZV90IGksIGN0ID0gMDsKKworCWZvciAoaSA9IDA7IGkgPCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4OyBpKyspCisJCWN0ICs9IHNnaV9nZXRfbnVtX3NlY3RvcnMoY3h0LCBpKSA+IDA7CisKKwlyZXR1cm4gY3Q7Cit9CisKK3N0YXRpYyBpbnQgc2dpX3Byb2JlX2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IGZkaXNrX3NnaV9sYWJlbCAqc2dpOworCXN0cnVjdCBzZ2lfZGlza2xhYmVsICpzZ2lsYWJlbDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBTR0kpKTsKKwlhc3NlcnQoc2l6ZW9mKHN0cnVjdCBzZ2lfZGlza2xhYmVsKSA8PSA1MTIpOworCisJLyogbWFwIGZpcnN0IHNlY3RvciB0byBoZWFkZXIgKi8KKwlzZ2kgPSAoc3RydWN0IGZkaXNrX3NnaV9sYWJlbCAqKSBjeHQtPmxhYmVsOworCXNnaS0+aGVhZGVyID0gKHN0cnVjdCBzZ2lfZGlza2xhYmVsICopIGN4dC0+Zmlyc3RzZWN0b3I7CisJc2dpbGFiZWwgPSBzZ2ktPmhlYWRlcjsKKworCWlmIChiZTMyX3RvX2NwdShzZ2lsYWJlbC0+bWFnaWMpICE9IFNHSV9MQUJFTF9NQUdJQykgeworCQlzZ2ktPmhlYWRlciA9IE5VTEw7CisJCXJldHVybiAwOworCX0KKworCS8qCisJICogdGVzdCBmb3IgY29ycmVjdCBjaGVja3N1bQorCSAqLworCWlmIChzZ2lfcHRfY2hlY2tzdW0oc2dpbGFiZWwpICE9IDApCisJCWZkaXNrX3dhcm54KGN4dCwgXygiRGV0ZWN0ZWQgYW4gU0dJIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiIpKTsKKworCWNsZWFyX2ZyZWVsaXN0KGN4dCk7CisJY3h0LT5sYWJlbC0+bnBhcnRzX21heCA9IFNHSV9NQVhQQVJUSVRJT05TOworCWN4dC0+bGFiZWwtPm5wYXJ0c19jdXIgPSBjb3VudF91c2VkX3BhcnRpdGlvbnMoY3h0KTsKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBzZ2lfZ2V0X2Rpc2tsYWJlbF9pdGVtKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHN0cnVjdCBmZGlza19sYWJlbGl0ZW0gKml0ZW0pCit7CisJc3RydWN0IHNnaV9kaXNrbGFiZWwgKnNnaWxhYmVsOworCXN0cnVjdCBzZ2lfZGV2aWNlX3BhcmFtZXRlciAqc2dpcGFyYW07CisJaW50IHJjID0gMDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBTR0kpKTsKKworCXNnaWxhYmVsID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKwlzZ2lwYXJhbSA9ICZzZ2lsYWJlbC0+ZGV2cGFyYW07CisKKwlzd2l0Y2ggKGl0ZW0tPmlkKSB7CisJY2FzZSBTR0lfTEFCRUxJVEVNX1BDWUxDT1VOVDoKKwkJaXRlbS0+bmFtZSA9IF8oIlBoeXNpY2FsIGN5bGluZGVycyIpOworCQlpdGVtLT50eXBlID0gJ2onOworCQlpdGVtLT5kYXRhLm51bTY0ID0gKHVpbnQ2NF90KSBiZTE2X3RvX2NwdShzZ2lwYXJhbS0+cGN5bGNvdW50KTsKKwkJYnJlYWs7CisJY2FzZSBTR0lfTEFCRUxJVEVNX1NQQVJFQ1lMOgorCQlpdGVtLT5uYW1lID0gXygiRXh0cmEgc2VjdHMvY3lsIik7CisJCWl0ZW0tPnR5cGUgPSAnaic7CisJCWl0ZW0tPmRhdGEubnVtNjQgPSAodWludDY0X3QpIHNnaXBhcmFtLT5zcGFyZWN5bDsKKwkJYnJlYWs7CisJY2FzZSBTR0lfTEFCRUxJVEVNX0lMRkFDVDoKKwkJaXRlbS0+bmFtZSA9IF8oIkludGVybGVhdmUiKTsKKwkJaXRlbS0+dHlwZSA9ICdqJzsKKwkJaXRlbS0+ZGF0YS5udW02NCA9ICh1aW50NjRfdCkgYmUxNl90b19jcHUoc2dpcGFyYW0tPmlsZmFjdCk7CisJCWJyZWFrOworCWNhc2UgU0dJX0xBQkVMSVRFTV9CT09URklMRToKKwkJaXRlbS0+bmFtZSA9IF8oIkJvb3RmaWxlIik7CisJCWl0ZW0tPnR5cGUgPSAncyc7CisJCWl0ZW0tPmRhdGEuc3RyID0gKnNnaWxhYmVsLT5ib290X2ZpbGUgPyBzdHJkdXAoKGNoYXIgKikgc2dpbGFiZWwtPmJvb3RfZmlsZSkgOiBOVUxMOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlpZiAoaXRlbS0+aWQgPCBfX0ZESVNLX05MQUJFTElURU1TKQorCQkJcmMgPSAxOwkvKiB1bnN1cHBvcnRlZCBnZW5lcmljIGl0ZW0gKi8KKwkJZWxzZQorCQkJcmMgPSAyOwkvKiBvdXQgb2YgcmFuZ2UgKi8KKwkJYnJlYWs7CisJfQorCisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgdW5zaWduZWQgaW50IHNnaV9nZXRfc3RhcnRfc2VjdG9yKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGludCBpKQoreworCXN0cnVjdCBzZ2lfZGlza2xhYmVsICpzZ2lsYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJcmV0dXJuIGJlMzJfdG9fY3B1KHNnaWxhYmVsLT5wYXJ0aXRpb25zW2ldLmZpcnN0X2Jsb2NrKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGludCBzZ2lfZ2V0X251bV9zZWN0b3JzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGludCBpKQoreworCXN0cnVjdCBzZ2lfZGlza2xhYmVsICpzZ2lsYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJcmV0dXJuIGJlMzJfdG9fY3B1KHNnaWxhYmVsLT5wYXJ0aXRpb25zW2ldLm51bV9ibG9ja3MpOworfQorCitzdGF0aWMgaW50IHNnaV9nZXRfc3lzaWQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgaW50IGkpCit7CisJc3RydWN0IHNnaV9kaXNrbGFiZWwgKnNnaWxhYmVsID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKwlyZXR1cm4gYmUzMl90b19jcHUoc2dpbGFiZWwtPnBhcnRpdGlvbnNbaV0udHlwZSk7Cit9CisKK3N0YXRpYyBpbnQgc2dpX2dldF9ib290cGFydGl0aW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IHNnaV9kaXNrbGFiZWwgKnNnaWxhYmVsID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKwlyZXR1cm4gYmUxNl90b19jcHUoc2dpbGFiZWwtPnJvb3RfcGFydF9udW0pOworfQorCitzdGF0aWMgaW50IHNnaV9nZXRfc3dhcHBhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBzZ2lfZGlza2xhYmVsICpzZ2lsYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJcmV0dXJuIGJlMTZfdG9fY3B1KHNnaWxhYmVsLT5zd2FwX3BhcnRfbnVtKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGludCBzZ2lfZ2V0X2xhc3RibG9jayhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXJldHVybiBjeHQtPmdlb20uaGVhZHMgKiBjeHQtPmdlb20uc2VjdG9ycyAqIGN4dC0+Z2VvbS5jeWxpbmRlcnM7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnNnaV9nZXRfcGFydHR5cGUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IG4pCit7CisJc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0OworCisJaWYgKG4gPj0gY3h0LT5sYWJlbC0+bnBhcnRzX21heCkKKwkJcmV0dXJuIE5VTEw7CisKKwl0ID0gZmRpc2tfbGFiZWxfZ2V0X3BhcnR0eXBlX2Zyb21fY29kZShjeHQtPmxhYmVsLCBzZ2lfZ2V0X3N5c2lkKGN4dCwgbikpOworCXJldHVybiB0ID8gOiBmZGlza19uZXdfdW5rbm93bl9wYXJ0dHlwZShzZ2lfZ2V0X3N5c2lkKGN4dCwgbiksIE5VTEwpOworfQorCisvKiBmZGlza19nZXRfcGFydGl0aW9uKCkgYmFja2VuZCAqLworc3RhdGljIGludCBzZ2lfZ2V0X3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3Qgbiwgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJZmRpc2tfc2VjdG9yX3Qgc3RhcnQsIGxlbjsKKworCXBhLT51c2VkID0gc2dpX2dldF9udW1fc2VjdG9ycyhjeHQsIG4pID4gMDsKKwlpZiAoIXBhLT51c2VkKQorCQlyZXR1cm4gMDsKKworCXN0YXJ0ID0gc2dpX2dldF9zdGFydF9zZWN0b3IoY3h0LCBuKTsKKwlsZW4gPSBzZ2lfZ2V0X251bV9zZWN0b3JzKGN4dCwgbik7CisKKwlwYS0+dHlwZSA9IHNnaV9nZXRfcGFydHR5cGUoY3h0LCBuKTsKKwlwYS0+c2l6ZSA9IGxlbjsKKwlwYS0+c3RhcnQgPSBzdGFydDsKKworCWlmIChwYS0+dHlwZSAmJiBwYS0+dHlwZS0+Y29kZSA9PSBTR0lfVFlQRV9FTlRJUkVfRElTSykKKwkJcGEtPndob2xlZGlzayA9IDE7CisKKwlwYS0+YXR0cnMgPSBzZ2lfZ2V0X3N3YXBwYXJ0aXRpb24oY3h0KSA9PSAoaW50KSBuID8gInN3YXAiIDoKKwkJICAgIHNnaV9nZXRfYm9vdHBhcnRpdGlvbihjeHQpID09IChpbnQpIG4gPyAiYm9vdCIgOiBOVUxMOworCWlmIChwYS0+YXR0cnMpCisJCXBhLT5hdHRycyA9IHN0cmR1cChwYS0+YXR0cnMpOworCisJcmV0dXJuIDA7Cit9CisKKworc3RhdGljIGludCBzZ2lfY2hlY2tfYm9vdGZpbGUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlzaXplX3Qgc3o7CisJc3RydWN0IHNnaV9kaXNrbGFiZWwgKnNnaWxhYmVsID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKworCXN6ID0gc3RybGVuKG5hbWUpOworCisJaWYgKHN6IDwgMykgeworCQkvKiAiL2FcbiIgaXMgbWluaW11bSAqLworCQlmZGlza193YXJueChjeHQsIF8oIkludmFsaWQgYm9vdGZpbGUhICBUaGUgYm9vdGZpbGUgbXVzdCAiCisJCQkJICAgImJlIGFuIGFic29sdXRlIG5vbi16ZXJvIHBhdGhuYW1lLCAiCisJCQkJICAgImUuZy4gXCIvdW5peFwiIG9yIFwiL3VuaXguc2F2ZVwiLiIpKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwl9IGVsc2UgaWYgKHN6ID4gc2l6ZW9mKHNnaWxhYmVsLT5ib290X2ZpbGUpKSB7CisJCWZkaXNrX3dhcm54KGN4dCwgUF8oIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlIG1heGltdW0uIiwKKwkJCQkgICAgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlcyBtYXhpbXVtLiIsCisJCQkJICAgIHNpemVvZihzZ2lsYWJlbC0+Ym9vdF9maWxlKSksCisJCQkgICAgc2l6ZW9mKHNnaWxhYmVsLT5ib290X2ZpbGUpKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwl9IGVsc2UgaWYgKCpuYW1lICE9ICcvJykgeworCQlmZGlza193YXJueChjeHQsIF8oIkJvb3RmaWxlIG11c3QgaGF2ZSBhIGZ1bGx5IHF1YWxpZmllZCBwYXRobmFtZS4iKSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCWlmIChzdHJuY21wKG5hbWUsIChjaGFyICopIHNnaWxhYmVsLT5ib290X2ZpbGUsCisJCQkJc2l6ZW9mKHNnaWxhYmVsLT5ib290X2ZpbGUpKSkgeworCQlmZGlza193YXJueChjeHQsIF8oIkJlIGF3YXJlIHRoYXQgdGhlIGJvb3RmaWxlIGlzIG5vdCBjaGVja2VkICIKKwkJCQkgICAiZm9yIGV4aXN0ZW5jZS4gIFNHSSdzIGRlZmF1bHQgaXMgXCIvdW5peFwiLCAiCisJCQkJICAgImFuZCBmb3IgYmFja3VwIFwiL3VuaXguc2F2ZVwiLiIpKTsKKwkJcmV0dXJuIDA7CS8qIGZpbGVuYW1lIGlzIGNvcnJlY3QgYW5kIGRpZCBjaGFuZ2UgKi8KKwl9CisKKwlyZXR1cm4gMTsJLyogZmlsZW5hbWUgZGlkIG5vdCBjaGFuZ2UgKi8KK30KKworLyoqCisgKiBmZGlza19zZ2lfc2V0X2Jvb3RmaWxlOgorICogQGN4dDogY29udGV4dAorICoKKyAqIEFsbG93cyB0byBzZXQgU0dJIGJvb3QgZmlsZS4gVGhlIGZ1bmN0aW9uIHVzZXMgQXNrIEFQSSBmb3IgZGlhbG9nIHdpdGgKKyAqIHVzZXIuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvcgorICovCitpbnQgZmRpc2tfc2dpX3NldF9ib290ZmlsZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWludCByYyA9IDA7CisJc2l6ZV90IHN6OworCWNoYXIgKm5hbWUgPSBOVUxMOworCXN0cnVjdCBzZ2lfZGlza2xhYmVsICpzZ2lsYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisKKwlmZGlza19pbmZvKGN4dCwgXygiVGhlIGN1cnJlbnQgYm9vdCBmaWxlIGlzOiAlcyIpLCBzZ2lsYWJlbC0+Ym9vdF9maWxlKTsKKworCXJjID0gZmRpc2tfYXNrX3N0cmluZyhjeHQsIF8oIkVudGVyIG9mIHRoZSBuZXcgYm9vdCBmaWxlIiksICZuYW1lKTsKKwlpZiAocmMgPT0gMCkKKwkJcmMgPSBzZ2lfY2hlY2tfYm9vdGZpbGUoY3h0LCBuYW1lKTsKKwlpZiAocmMpIHsKKwkJaWYgKHJjID09IDEpCisJCQlmZGlza19pbmZvKGN4dCwgXygiQm9vdCBmaWxlIGlzIHVuY2hhbmdlZC4iKSk7CisJCWdvdG8gZG9uZTsKKwl9CisKKwltZW1zZXQoc2dpbGFiZWwtPmJvb3RfZmlsZSwgMCwgc2l6ZW9mKHNnaWxhYmVsLT5ib290X2ZpbGUpKTsKKwlzeiA9IHN0cmxlbihuYW1lKTsKKworCWFzc2VydChzeiA8PSBzaXplb2Yoc2dpbGFiZWwtPmJvb3RfZmlsZSkpOwkvKiBzZWUgc2dpX2NoZWNrX2Jvb3RmaWxlKCkgKi8KKworCW1lbWNweShzZ2lsYWJlbC0+Ym9vdF9maWxlLCBuYW1lLCBzeik7CisKKwlmZGlza19pbmZvKGN4dCwgXygiQm9vdGZpbGUgaGFzIGJlZW4gY2hhbmdlZCB0byBcIiVzXCIuIiksIG5hbWUpOworZG9uZToKKwlmcmVlKG5hbWUpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBzZ2lfd3JpdGVfZGlza2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IHNnaV9kaXNrbGFiZWwgKnNnaWxhYmVsOworCXN0cnVjdCBzZ2lfaW5mbyAqaW5mbyA9IE5VTEw7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgU0dJKSk7CisKKwlzZ2lsYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJc2dpbGFiZWwtPmNzdW0gPSAwOworCXNnaWxhYmVsLT5jc3VtID0gY3B1X3RvX2JlMzIoc2dpX3B0X2NoZWNrc3VtKHNnaWxhYmVsKSk7CisKKwlhc3NlcnQoc2dpX3B0X2NoZWNrc3VtKHNnaWxhYmVsKSA9PSAwKTsKKworCWlmIChsc2VlayhjeHQtPmRldl9mZCwgMCwgU0VFS19TRVQpIDwgMCkKKwkJZ290byBlcnI7CisJaWYgKHdyaXRlX2FsbChjeHQtPmRldl9mZCwgc2dpbGFiZWwsIERFRkFVTFRfU0VDVE9SX1NJWkUpKQorCQlnb3RvIGVycjsKKwlpZiAoIXN0cm5jbXAoKGNoYXIgKikgc2dpbGFiZWwtPnZvbHVtZVswXS5uYW1lLCAic2dpbGFiZWwiLCA4KSkgeworCQkvKgorCQkgKiBLZWVwIHRoaXMgaGFiaXQgb2YgZmlyc3Qgd3JpdGluZyB0aGUgInNnaWxhYmVsIi4KKwkJICogSSBuZXZlciB0ZXN0ZWQgd2hldGhlciBpdCB3b3JrcyB3aXRob3V0LiAoQU4gMTk5OC0xMC0wMikKKwkJICovCisJCWludCBpbmZvc3RhcnRibG9jaworCQkJPSBiZTMyX3RvX2NwdShzZ2lsYWJlbC0+dm9sdW1lWzBdLmJsb2NrX251bSk7CisKKwkJaWYgKGxzZWVrKGN4dC0+ZGV2X2ZkLCAob2ZmX3QpIGluZm9zdGFydGJsb2NrICoKKwkJCQkJREVGQVVMVF9TRUNUT1JfU0laRSwgU0VFS19TRVQpIDwgMCkKKwkJCWdvdG8gZXJyOworCQlpbmZvID0gc2dpX25ld19pbmZvKCk7CisJCWlmICghaW5mbykKKwkJCWdvdG8gZXJyOworCQlpZiAod3JpdGVfYWxsKGN4dC0+ZGV2X2ZkLCBpbmZvLCBzaXplb2YoKmluZm8pKSkKKwkJCWdvdG8gZXJyOworCX0KKworCXNnaV9mcmVlX2luZm8oaW5mbyk7CisJcmV0dXJuIDA7CitlcnI6CisJc2dpX2ZyZWVfaW5mbyhpbmZvKTsKKwlyZXR1cm4gLWVycm5vOworfQorCitzdGF0aWMgaW50IGNvbXBhcmVfc3RhcnQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCSBjb25zdCB2b2lkICp4LCBjb25zdCB2b2lkICp5KQoreworCS8qCisJICogU29ydCBhY2NvcmRpbmcgdG8gc3RhcnQgc2VjdG9ycyBhbmQgcHJlZmVyIHRoZSBsYXJnZXN0IHBhcnRpdGlvbjoKKwkgKiBlbnRyeSB6ZXJvIGlzIHRoZSBlbnRpcmUtZGlzayBlbnRyeS4KKwkgKi8KKwl1bnNpZ25lZCBpbnQgaSA9ICooaW50ICopIHg7CisJdW5zaWduZWQgaW50IGogPSAqKGludCAqKSB5OworCXVuc2lnbmVkIGludCBhID0gc2dpX2dldF9zdGFydF9zZWN0b3IoY3h0LCBpKTsKKwl1bnNpZ25lZCBpbnQgYiA9IHNnaV9nZXRfc3RhcnRfc2VjdG9yKGN4dCwgaik7CisJdW5zaWduZWQgaW50IGMgPSBzZ2lfZ2V0X251bV9zZWN0b3JzKGN4dCwgaSk7CisJdW5zaWduZWQgaW50IGQgPSBzZ2lfZ2V0X251bV9zZWN0b3JzKGN4dCwgaik7CisKKwlpZiAoYSA9PSBiKQorCQlyZXR1cm4gKGQgPiBjKSA/IDEgOiAoZCA9PSBjKSA/IDAgOiAtMTsKKwlyZXR1cm4gKGEgPiBiKSA/IDEgOiAtMTsKK30KKworc3RhdGljIHZvaWQgZ2VuZXJpY19zd2FwKHZvaWQgKmEwLCB2b2lkICpiMCwgaW50IHNpemUpCit7CisJY2hhciAqYSA9IGEwLCAqYiA9IGIwOworCisJZm9yICg7IHNpemUgPiAwOyAtLXNpemUsIGErKywgYisrKSB7CisJCWNoYXIgdCA9ICphOworCQkqYSA9ICpiOworCQkqYiA9IHQ7CisJfQorfQorCisKKy8qIGhlYXAgc29ydCwgYmFzZWQgb24gTWF0dCBNYWNrYWxsJ3MgbGludXgga2VybmVsIHZlcnNpb24gKi8KK3N0YXRpYyB2b2lkIHNvcnQodm9pZCAqYmFzZTAsIHNpemVfdCBudW0sIHNpemVfdCBzaXplLCBzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkgaW50ICgqY21wX2Z1bmMpKHN0cnVjdCBmZGlza19jb250ZXh0ICosIGNvbnN0IHZvaWQgKiwgY29uc3Qgdm9pZCAqKSkKK3sKKwkvKiBwcmUtc2NhbGUgY291bnRlcnMgZm9yIHBlcmZvcm1hbmNlICovCisJaW50IGkgPSAobnVtLzIgLSAxKSAqIHNpemU7CisJc2l6ZV90IG4gPSBudW0gKiBzaXplLCBjLCByOworCWNoYXIgKmJhc2UgPSBiYXNlMDsKKworCS8qIGhlYXBpZnkgKi8KKwlmb3IgKCA7IGkgPj0gMDsgaSAtPSBzaXplKSB7CisJCWZvciAociA9IGk7IHIgKiAyICsgc2l6ZSA8IG47IHIgID0gYykgeworCQkJYyA9IHIgKiAyICsgc2l6ZTsKKwkJCWlmIChjIDwgbiAtIHNpemUgJiYKKwkJCSAgICBjbXBfZnVuYyhjeHQsIGJhc2UgKyBjLCBiYXNlICsgYyArIHNpemUpIDwgMCkKKwkJCQljICs9IHNpemU7CisJCQlpZiAoY21wX2Z1bmMoY3h0LCBiYXNlICsgciwgYmFzZSArIGMpID49IDApCisJCQkJYnJlYWs7CisJCQlnZW5lcmljX3N3YXAoYmFzZSArIHIsIGJhc2UgKyBjLCBzaXplKTsKKwkJfQorCX0KKworCS8qIHNvcnQgKi8KKwlmb3IgKGkgPSBuIC0gc2l6ZTsgaSA+IDA7IGkgLT0gc2l6ZSkgeworCQlnZW5lcmljX3N3YXAoYmFzZSwgYmFzZSArIGksIHNpemUpOworCQlmb3IgKHIgPSAwOyByICogMiArIHNpemUgPCAoc2l6ZV90KSBpOyByID0gYykgeworCQkJYyA9IHIgKiAyICsgc2l6ZTsKKwkJCWlmIChjIDwgaSAtIHNpemUgJiYKKwkJCSAgICBjbXBfZnVuYyhjeHQsIGJhc2UgKyBjLCBiYXNlICsgYyArIHNpemUpIDwgMCkKKwkJCQljICs9IHNpemU7CisJCQlpZiAoY21wX2Z1bmMoY3h0LCBiYXNlICsgciwgYmFzZSArIGMpID49IDApCisJCQkJYnJlYWs7CisJCQlnZW5lcmljX3N3YXAoYmFzZSArIHIsIGJhc2UgKyBjLCBzaXplKTsKKwkJfQorCX0KK30KKworc3RhdGljIGludCB2ZXJpZnlfZGlza2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGludCB2ZXJib3NlKQoreworCWludCBJbmRleFtTR0lfTUFYUEFSVElUSU9OU107CS8qIGxpc3Qgb2YgdmFsaWQgcGFydGl0aW9ucyAqLworCWludCBzb3J0Y291bnQgPSAwOwkJLyogbnVtYmVyIG9mIHVzZWQgcGFydGl0aW9ucywgaS5lLiBub24temVybyBsZW5ndGhzICovCisJaW50IGVudGlyZSA9IDAsIGkgPSAwOworCXVuc2lnbmVkIGludCBzdGFydCA9IDA7CisJbG9uZyBsb25nIGdhcCA9IDA7CS8qIGNvdW50IHVudXNlZCBibG9ja3MgKi8KKwl1bnNpZ25lZCBpbnQgbGFzdGJsb2NrID0gc2dpX2dldF9sYXN0YmxvY2soY3h0KTsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBTR0kpKTsKKworCWNsZWFyX2ZyZWVsaXN0KGN4dCk7CisJbWVtc2V0KEluZGV4LCAwLCBzaXplb2YoSW5kZXgpKTsKKworCWZvciAoaT0wOyBpIDwgU0dJX01BWFBBUlRJVElPTlM7IGkrKykgeworCQlpZiAoc2dpX2dldF9udW1fc2VjdG9ycyhjeHQsIGkpICE9IDApIHsKKwkJCUluZGV4W3NvcnRjb3VudCsrXSA9IGk7CisJCQlpZiAoc2dpX2dldF9zeXNpZChjeHQsIGkpID09IFNHSV9UWVBFX0VOVElSRV9ESVNLCisJCQkgICAgJiYgZW50aXJlKysgPT0gMSAmJiB2ZXJib3NlKSB7CisJCQkJZmRpc2tfaW5mbyhjeHQsIF8oIk1vcmUgdGhhbiBvbmUgZW50aXJlICIKKwkJCQkJCSJkaXNrIGVudHJ5IHByZXNlbnQuIikpOworCQkJfQorCQl9CisJfQorCWlmIChzb3J0Y291bnQgPT0gMCkgeworCQlpZiAodmVyYm9zZSkKKwkJCWZkaXNrX2luZm8oY3h0LCBfKCJObyBwYXJ0aXRpb25zIGRlZmluZWQuIikpOworCQlpZiAobGFzdGJsb2NrKQorCQkJYWRkX3RvX2ZyZWVsaXN0KGN4dCwgMCwgbGFzdGJsb2NrKTsKKwkJcmV0dXJuIChsYXN0YmxvY2sgPiAwKSA/IDEgOiAobGFzdGJsb2NrID09IDApID8gMCA6IC0xOworCX0KKworCXNvcnQoSW5kZXgsIHNvcnRjb3VudCwgc2l6ZW9mKEluZGV4WzBdKSwgY3h0LCBjb21wYXJlX3N0YXJ0KTsKKworCWlmIChzZ2lfZ2V0X3N5c2lkKGN4dCwgSW5kZXhbMF0pID09IFNHSV9UWVBFX0VOVElSRV9ESVNLKSB7CisJCWlmICh2ZXJib3NlICYmIEluZGV4WzBdICE9IDEwKQorCQkJZmRpc2tfaW5mbyhjeHQsIF8oIklSSVggbGlrZXMgaXQgd2hlbiBwYXJ0aXRpb24gMTEgIgorCQkJCQkgICJjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIpKTsKKworCQlpZiAodmVyYm9zZSAmJiBzZ2lfZ2V0X3N0YXJ0X3NlY3RvcihjeHQsIEluZGV4WzBdKSAhPSAwKQorCQkJZmRpc2tfaW5mbyhjeHQsIF8oIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gc2hvdWxkICIKKwkJCQkJICAic3RhcnQgYXQgYmxvY2sgMCwgbm90IGF0IGJsb2NrICVkLiIpLAorCQkJCSAgIHNnaV9nZXRfc3RhcnRfc2VjdG9yKGN4dCwgSW5kZXhbMF0pKTsKKworCQlpZiAodmVyYm9zZSAmJiBzZ2lfZ2V0X251bV9zZWN0b3JzKGN4dCwgSW5kZXhbMF0pICE9IGxhc3RibG9jaykKKwkJCURCRyhMQUJFTCwgdWxfZGVidWcoCisJCQkJImVudGlyZSBkaXNrIHBhcnRpdGlvbj0lZHMsIGJ1dCBkaXNrPSVkcyIsCisJCQkJc2dpX2dldF9udW1fc2VjdG9ycyhjeHQsIEluZGV4WzBdKSwKKwkJCQlsYXN0YmxvY2spKTsKKwkJbGFzdGJsb2NrID0gc2dpX2dldF9udW1fc2VjdG9ycyhjeHQsIEluZGV4WzBdKTsKKwl9IGVsc2UgaWYgKHZlcmJvc2UpIHsKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIlBhcnRpdGlvbiAxMSBzaG91bGQgY292ZXIgdGhlIGVudGlyZSBkaXNrLiIpKTsKKwkJREJHKExBQkVMLCB1bF9kZWJ1Zygic3lzaWQ9JWRcdHBhcnRpdGlvbj0lZCIsCisJCQkgICAgICAgc2dpX2dldF9zeXNpZChjeHQsIEluZGV4WzBdKSwgSW5kZXhbMF0rMSkpOworCX0KKwlmb3IgKGk9MSwgc3RhcnQ9MDsgaTxzb3J0Y291bnQ7IGkrKykgeworCQlpbnQgY3lsc2l6ZSA9IHNnaV9nZXRfbnNlY3QoY3h0KSAqIHNnaV9nZXRfbnRya3MoY3h0KTsKKworCQlpZiAodmVyYm9zZSAmJiBjeWxzaXplCisJCSAgICAmJiAoc2dpX2dldF9zdGFydF9zZWN0b3IoY3h0LCBJbmRleFtpXSkgJSBjeWxzaXplKSAhPSAwKQorCQkJREJHKExBQkVMLCB1bF9kZWJ1ZygicGFydGl0aW9uICVkIGRvZXMgbm90IHN0YXJ0IG9uICIKKwkJCQkJImN5bGluZGVyIGJvdW5kYXJ5LiIsIEluZGV4W2ldKzEpKTsKKworCQlpZiAodmVyYm9zZSAmJiBjeWxzaXplCisJCSAgICAmJiBzZ2lfZ2V0X251bV9zZWN0b3JzKGN4dCwgSW5kZXhbaV0pICUgY3lsc2l6ZSAhPSAwKQorCQkJREJHKExBQkVMLCB1bF9kZWJ1ZygicGFydGl0aW9uICVkIGRvZXMgbm90IGVuZCBvbiAiCisJCQkJCSJjeWxpbmRlciBib3VuZGFyeS4iLCBJbmRleFtpXSsxKSk7CisKKwkJLyogV2UgY2Fubm90IGhhbmRsZSBzZXZlcmFsICJlbnRpcmUgZGlzayIgZW50cmllcy4gKi8KKwkJaWYgKHNnaV9nZXRfc3lzaWQoY3h0LCBJbmRleFtpXSkgPT0gU0dJX1RZUEVfRU5USVJFX0RJU0spCisJCQljb250aW51ZTsKKworCQlpZiAoc3RhcnQgPiBzZ2lfZ2V0X3N0YXJ0X3NlY3RvcihjeHQsIEluZGV4W2ldKSkgeworCQkJaWYgKHZlcmJvc2UpCisJCQkJZmRpc2tfaW5mbyhjeHQsCisJCQkJCSAgIFBfKCJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3Rvci4iLAorCQkJCQkgICAgICAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3JzLiIsCisJCQkJCSAgICAgIHN0YXJ0IC0gc2dpX2dldF9zdGFydF9zZWN0b3IoY3h0LCBJbmRleFtpXSkpLAorCQkJCQkgICBJbmRleFtpLTFdKzEsIEluZGV4W2ldKzEsCisJCQkJCSAgIHN0YXJ0IC0gc2dpX2dldF9zdGFydF9zZWN0b3IoY3h0LCBJbmRleFtpXSkpOworCQkJaWYgKGdhcCA+ICAwKSBnYXAgPSAtZ2FwOworCQkJaWYgKGdhcCA9PSAwKSBnYXAgPSAtMTsKKwkJfQorCQlpZiAoc3RhcnQgPCBzZ2lfZ2V0X3N0YXJ0X3NlY3RvcihjeHQsIEluZGV4W2ldKSkgeworCQkJaWYgKHZlcmJvc2UpCisJCQkJZmRpc2tfaW5mbyhjeHQsCisJCQkJCSAgIFBfKCJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3I6IHNlY3RvciAlOHUiLAorCQkJCQkgICAgICAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yczogc2VjdG9ycyAlOHUtJXUiLAorCQkJCQkgICAgICBzZ2lfZ2V0X3N0YXJ0X3NlY3RvcihjeHQsIEluZGV4W2ldKSAtIHN0YXJ0KSwKKwkJCQkJICAgc2dpX2dldF9zdGFydF9zZWN0b3IoY3h0LCBJbmRleFtpXSkgLSBzdGFydCwKKwkJCQkJICAgc3RhcnQsIHNnaV9nZXRfc3RhcnRfc2VjdG9yKGN4dCwgSW5kZXhbaV0pLTEpOworCQkJZ2FwICs9IHNnaV9nZXRfc3RhcnRfc2VjdG9yKGN4dCwgSW5kZXhbaV0pIC0gc3RhcnQ7CisJCQlhZGRfdG9fZnJlZWxpc3QoY3h0LCBzdGFydCwKKwkJCQkJc2dpX2dldF9zdGFydF9zZWN0b3IoY3h0LCBJbmRleFtpXSkpOworCQl9CisJCXN0YXJ0ID0gc2dpX2dldF9zdGFydF9zZWN0b3IoY3h0LCBJbmRleFtpXSkKKwkJCSsgc2dpX2dldF9udW1fc2VjdG9ycyhjeHQsIEluZGV4W2ldKTsKKwkJLyogQWxpZ24gZnJlZSBzcGFjZSBvbiBjeWxpbmRlciBib3VuZGFyeS4gKi8KKwkJaWYgKGN5bHNpemUgJiYgc3RhcnQgJSBjeWxzaXplKQorCQkJc3RhcnQgKz0gY3lsc2l6ZSAtIChzdGFydCAlIGN5bHNpemUpOworCisJCURCRyhMQUJFTCwgdWxfZGVidWcoIiUyZDolMTJkXHQlMTJkXHQlMTJkIiwgSW5kZXhbaV0sCisJCQkJICAgICAgIHNnaV9nZXRfc3RhcnRfc2VjdG9yKGN4dCwgSW5kZXhbaV0pLAorCQkJCSAgICAgICBzZ2lfZ2V0X251bV9zZWN0b3JzKGN4dCwgSW5kZXhbaV0pLAorCQkJCSAgICAgICBzZ2lfZ2V0X3N5c2lkKGN4dCwgSW5kZXhbaV0pKSk7CisJfQorCWlmIChzdGFydCA8IGxhc3RibG9jaykgeworCQlpZiAodmVyYm9zZSkKKwkJCWZkaXNrX2luZm8oY3h0LCBQXygiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yOiBzZWN0b3IgJTh1IiwKKwkJCQkJICAgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3RvcnM6IHNlY3RvcnMgJTh1LSV1IiwKKwkJCQkJICAgbGFzdGJsb2NrIC0gc3RhcnQpLAorCQkJCSAgIGxhc3RibG9jayAtIHN0YXJ0LCBzdGFydCwgbGFzdGJsb2NrLTEpOworCQlnYXAgKz0gbGFzdGJsb2NrIC0gc3RhcnQ7CisJCWFkZF90b19mcmVlbGlzdChjeHQsIHN0YXJ0LCBsYXN0YmxvY2spOworCX0KKwkvKgorCSAqIERvbmUgd2l0aCBhcml0aG1ldGljcy4gR28gZm9yIGRldGFpbHMgbm93LgorCSAqLworCWlmICh2ZXJib3NlKSB7CisJCWlmIChzZ2lfZ2V0X2Jvb3RwYXJ0aXRpb24oY3h0KSA8IDAKKwkJICAgIHx8ICFzZ2lfZ2V0X251bV9zZWN0b3JzKGN4dCwgc2dpX2dldF9ib290cGFydGl0aW9uKGN4dCkpKQorCQkJZmRpc2tfaW5mbyhjeHQsIF8oIlRoZSBib290IHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iKSk7CisKKwkJaWYgKHNnaV9nZXRfc3dhcHBhcnRpdGlvbihjeHQpIDwgMAorCQkgICAgfHwgIXNnaV9nZXRfbnVtX3NlY3RvcnMoY3h0LCBzZ2lfZ2V0X3N3YXBwYXJ0aXRpb24oY3h0KSkpCisJCQlmZGlza19pbmZvKGN4dCwgXygiVGhlIHN3YXAgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIpKTsKKworCQllbHNlIGlmIChzZ2lfZ2V0X3N5c2lkKGN4dCwgc2dpX2dldF9zd2FwcGFydGl0aW9uKGN4dCkpICE9IFNHSV9UWVBFX1NXQVAKKwkJICAgICYmIHNnaV9nZXRfc3lzaWQoY3h0LCBzZ2lfZ2V0X3N3YXBwYXJ0aXRpb24oY3h0KSkgIT0gTUJSX0xJTlVYX1NXQVBfUEFSVElUSU9OKQorCQkJZmRpc2tfaW5mbyhjeHQsIF8oIlRoZSBzd2FwIHBhcnRpdGlvbiBoYXMgbm8gc3dhcCB0eXBlLiIpKTsKKworCQlpZiAoc2dpX2NoZWNrX2Jvb3RmaWxlKGN4dCwgIi91bml4IikpCisJCQlmZGlza19pbmZvKGN4dCwgXygiWW91IGhhdmUgY2hvc2VuIGFuIHVudXN1YWwgYm9vdGZpbGUgbmFtZS4iKSk7CisJfQorCisJcmV0dXJuIChnYXAgPiAwKSA/IDEgOiAoZ2FwID09IDApID8gMCA6IC0xOworfQorCitzdGF0aWMgaW50IHNnaV92ZXJpZnlfZGlza2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJcmV0dXJuIHZlcmlmeV9kaXNrbGFiZWwoY3h0LCAxKTsKK30KKworc3RhdGljIGludCBzZ2lfZ2FwcyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCS8qCisJICogcmV0dXJuZWQgdmFsdWUgaXM6CisJICogID0gMCA6IGRpc2sgaXMgcHJvcGVybHkgZmlsbGVkIHRvIHRoZSByaW0KKwkgKiAgPCAwIDogdGhlcmUgaXMgYW4gb3ZlcmxhcAorCSAqICA+IDAgOiB0aGVyZSBpcyBzdGlsbCBzb21lIHZhY2FudCBzcGFjZQorCSAqLworCXJldHVybiB2ZXJpZnlfZGlza2xhYmVsKGN4dCwgMCk7Cit9CisKKy8qIFJldHVybnMgcGFydGl0aW9uIGluZGV4IG9mIGZpcnN0IGVudHJ5IG1hcmtlZCBhcyBlbnRpcmUgZGlzay4gKi8KK3N0YXRpYyBpbnQgc2dpX2VudGlyZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IFNHSV9NQVhQQVJUSVRJT05TOyBpKyspCisJCWlmIChzZ2lfZ2V0X3N5c2lkKGN4dCwgaSkgPT0gU0dJX1RZUEVfRU5USVJFX0RJU0spCisJCQlyZXR1cm4gaTsKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBpbnQgc2V0X3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgaSwKKwkJCSAgICAgdW5zaWduZWQgaW50IHN0YXJ0LCB1bnNpZ25lZCBpbnQgbGVuZ3RoLCBpbnQgc3lzKQoreworCXN0cnVjdCBzZ2lfZGlza2xhYmVsICpzZ2lsYWJlbDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBTR0kpKTsKKworCXNnaWxhYmVsID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKwlzZ2lsYWJlbC0+cGFydGl0aW9uc1tpXS50eXBlID0gY3B1X3RvX2JlMzIoc3lzKTsKKwlzZ2lsYWJlbC0+cGFydGl0aW9uc1tpXS5udW1fYmxvY2tzID0gY3B1X3RvX2JlMzIobGVuZ3RoKTsKKwlzZ2lsYWJlbC0+cGFydGl0aW9uc1tpXS5maXJzdF9ibG9jayA9IGNwdV90b19iZTMyKHN0YXJ0KTsKKworCWZkaXNrX2xhYmVsX3NldF9jaGFuZ2VkKGN4dC0+bGFiZWwsIDEpOworCisJaWYgKHNnaV9nYXBzKGN4dCkgPCAwKQkvKiByZWJ1aWxkIGZyZWVsaXN0ICovCisJCWZkaXNrX3dhcm54KGN4dCwgXygiUGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIikpOworCWlmIChsZW5ndGgpIHsKKwkJc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0ID0KKwkJCQlmZGlza19sYWJlbF9nZXRfcGFydHR5cGVfZnJvbV9jb2RlKGN4dC0+bGFiZWwsIHN5cyk7CisJCWZkaXNrX2luZm9fbmV3X3BhcnRpdGlvbihjeHQsIGkgKyAxLCBzdGFydCwgc3RhcnQgKyBsZW5ndGgsIHQpOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBzZ2lfc2V0X2VudGlyZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXNpemVfdCBuOworCisJZm9yIChuID0gMTA7IG4gPCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4OyBuKyspIHsKKwkJaWYgKCFzZ2lfZ2V0X251bV9zZWN0b3JzKGN4dCwgbikpIHsKKwkJCXNldF9wYXJ0aXRpb24oY3h0LCBuLCAwLCBzZ2lfZ2V0X2xhc3RibG9jayhjeHQpLCBTR0lfVFlQRV9FTlRJUkVfRElTSyk7CisJCQlicmVhazsKKwkJfQorCX0KK30KKworc3RhdGljIHZvaWQgc2dpX3NldF92b2xoZHIoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzaXplX3QgbjsKKworCWZvciAobiA9IDg7IG4gPCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4OyBuKyspIHsKKwkJaWYgKCFzZ2lfZ2V0X251bV9zZWN0b3JzKGN4dCwgbikpIHsKKwkJCS8qIENob29zZSBzYW1lIGRlZmF1bHQgdm9sdW1lIGhlYWRlciBzaXplIGFzIElSSVggZnggdXNlcy4gKi8KKwkJCWlmICg0MDk2IDwgc2dpX2dldF9sYXN0YmxvY2soY3h0KSkKKwkJCQlzZXRfcGFydGl0aW9uKGN4dCwgbiwgMCwgNDA5NiwgU0dJX1RZUEVfVk9MSERSKTsKKwkJCWJyZWFrOworCQl9CisJfQorfQorCitzdGF0aWMgaW50IHNnaV9kZWxldGVfcGFydGl0aW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBwYXJ0bnVtKQoreworCWludCByYzsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKworCWlmIChwYXJ0bnVtID4gY3h0LT5sYWJlbC0+bnBhcnRzX21heCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyYyA9IHNldF9wYXJ0aXRpb24oY3h0LCBwYXJ0bnVtLCAwLCAwLCAwKTsKKworCWN4dC0+bGFiZWwtPm5wYXJ0c19jdXIgPSBjb3VudF91c2VkX3BhcnRpdGlvbnMoY3h0KTsKKworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBzZ2lfYWRkX3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJICAgICBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwKKwkJCSAgICAgc2l6ZV90ICpwYXJ0bm8pCit7CisJc3RydWN0IGZkaXNrX3NnaV9sYWJlbCAqc2dpOworCWNoYXIgbWVzZ1syNTZdOworCXVuc2lnbmVkIGludCBmaXJzdCA9IDAsIGxhc3QgPSAwOworCXN0cnVjdCBmZGlza19hc2sgKmFzazsKKwlpbnQgc3lzID0gcGEgJiYgcGEtPnR5cGUgPyBwYS0+dHlwZS0+Y29kZSA6IFNHSV9UWVBFX1hGUzsKKwlpbnQgcmM7CisJc2l6ZV90IG47CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgU0dJKSk7CisKKwlyYyA9IGZkaXNrX3BhcnRpdGlvbl9uZXh0X3BhcnRubyhwYSwgY3h0LCAmbik7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisJaWYgKG4gPT0gMTApCisJCXN5cyA9IFNHSV9UWVBFX0VOVElSRV9ESVNLOworCWVsc2UgaWYgKG4gPT0gOCkKKwkJc3lzID0gMDsKKworCXNnaSA9IHNlbGZfbGFiZWwoY3h0KTsKKworCWlmIChzZ2lfZ2V0X251bV9zZWN0b3JzKGN4dCwgbikpIHsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gICIKKwkJCQkgICAiRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIiksIG4gKyAxKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCWlmICghY3h0LT5zY3JpcHQgJiYgc2dpX2VudGlyZShjeHQpID09IC0xICYmICBzeXMgIT0gU0dJX1RZUEVfRU5USVJFX0RJU0spIHsKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIkF0dGVtcHRpbmcgdG8gZ2VuZXJhdGUgZW50aXJlIGRpc2sgZW50cnkgYXV0b21hdGljYWxseS4iKSk7CisJCXNnaV9zZXRfZW50aXJlKGN4dCk7CisJCXNnaV9zZXRfdm9saGRyKGN4dCk7CisJfQorCWlmIChzZ2lfZ2FwcyhjeHQpID09IDAgJiYgc3lzICE9IFNHSV9UWVBFX0VOVElSRV9ESVNLKSB7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiVGhlIGVudGlyZSBkaXNrIGlzIGFscmVhZHkgY292ZXJlZCB3aXRoIHBhcnRpdGlvbnMuIikpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJaWYgKHNnaV9nYXBzKGN4dCkgPCAwKSB7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiWW91IGdvdCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiBGaXggaXQgZmlyc3QhIikpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlpZiAoc3lzID09IFNHSV9UWVBFX0VOVElSRV9ESVNLKSB7CisJCWZpcnN0ID0gMDsKKwkJbGFzdCA9IHNnaV9nZXRfbGFzdGJsb2NrKGN4dCk7CisJfSBlbHNlIHsKKwkJZmlyc3QgPSBzZ2ktPmZyZWVsaXN0WzBdLmZpcnN0OworCQlsYXN0ICA9IHNnaS0+ZnJlZWxpc3RbMF0ubGFzdDsKKwl9CisKKwkvKiBmaXJzdCBzZWN0b3IgKi8KKwlpZiAocGEgJiYgcGEtPnN0YXJ0X2ZvbGxvd19kZWZhdWx0KQorCQk7CisJZWxzZSBpZiAocGEgJiYgZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydChwYSkpIHsKKwkJZmlyc3QgPSBwYS0+c3RhcnQ7CisJCWxhc3QgPSBpc19pbl9mcmVlbGlzdChjeHQsIGZpcnN0KTsKKworCQlpZiAoc3lzICE9IFNHSV9UWVBFX0VOVElSRV9ESVNLICYmICFsYXN0KQorCQkJcmV0dXJuIC1FUkFOR0U7CisJfSBlbHNlIHsKKwkJc25wcmludGYobWVzZywgc2l6ZW9mKG1lc2cpLCBfKCJGaXJzdCAlcyIpLAorCQkJCWZkaXNrX2dldF91bml0KGN4dCwgRkRJU0tfU0lOR1VMQVIpKTsKKwkJYXNrID0gZmRpc2tfbmV3X2FzaygpOworCQlpZiAoIWFzaykKKwkJCXJldHVybiAtRU5PTUVNOworCisJCWZkaXNrX2Fza19zZXRfcXVlcnkoYXNrLCBtZXNnKTsKKwkJZmRpc2tfYXNrX3NldF90eXBlKGFzaywgRkRJU0tfQVNLVFlQRV9OVU1CRVIpOworCisJCWZkaXNrX2Fza19udW1iZXJfc2V0X2xvdyhhc2ssICAgICBmZGlza19zY3JvdW5kKGN4dCwgZmlyc3QpKTsJLyogbWluaW1hbCAqLworCQlmZGlza19hc2tfbnVtYmVyX3NldF9kZWZhdWx0KGFzaywgZmRpc2tfc2Nyb3VuZChjeHQsIGZpcnN0KSk7CS8qIGRlZmF1bHQgKi8KKwkJZmRpc2tfYXNrX251bWJlcl9zZXRfaGlnaChhc2ssICAgIGZkaXNrX3Njcm91bmQoY3h0LCBsYXN0KSAtIDEpOyAvKiBtYXhpbWFsICovCisKKwkJcmMgPSBmZGlza19kb19hc2soY3h0LCBhc2spOworCQlmaXJzdCA9IGZkaXNrX2Fza19udW1iZXJfZ2V0X3Jlc3VsdChhc2spOworCQlmZGlza191bnJlZl9hc2soYXNrKTsKKworCQlpZiAocmMpCisJCQlyZXR1cm4gcmM7CisJCWlmIChmZGlza191c2VfY3lsaW5kZXJzKGN4dCkpCisJCQlmaXJzdCAqPSBmZGlza19nZXRfdW5pdHNfcGVyX3NlY3RvcihjeHQpOworCX0KKworCWlmIChmaXJzdCAmJiBzeXMgPT0gU0dJX1RZUEVfRU5USVJFX0RJU0spCisJCWZkaXNrX2luZm8oY3h0LCBfKCJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgIgorCQkJCSAgImVsZXZlbnRoIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIGVudGlyZSAiCisJCQkJICAiZGlzayBhbmQgaXMgb2YgdHlwZSAnU0dJIHZvbHVtZScuIikpOworCWlmICghbGFzdCkKKwkJbGFzdCA9IGlzX2luX2ZyZWVsaXN0KGN4dCwgZmlyc3QpOworCisJLyogbGFzdCBzZWN0b3IgKi8KKwlpZiAocGEgJiYgcGEtPmVuZF9mb2xsb3dfZGVmYXVsdCkKKwkJbGFzdCAtPSAxVUxMOworCWVsc2UgaWYgKHBhICYmIGZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkpIHsKKwkJaWYgKGZpcnN0ICsgcGEtPnNpemUgLSAxVUxMID4gbGFzdCkKKwkJCXJldHVybiAtRVJBTkdFOworCQlsYXN0ID0gZmlyc3QgKyBwYS0+c2l6ZSAtIDFVTEw7CisJfSBlbHNlIHsKKwkJc25wcmludGYobWVzZywgc2l6ZW9mKG1lc2cpLAorCQkJIF8oIkxhc3QgJXMgb3IgKyVzIG9yICtzaXple0ssTSxHLFQsUH0iKSwKKwkJCSBmZGlza19nZXRfdW5pdChjeHQsIEZESVNLX1NJTkdVTEFSKSwKKwkJCSBmZGlza19nZXRfdW5pdChjeHQsIEZESVNLX1BMVVJBTCkpOworCisJCWFzayA9IGZkaXNrX25ld19hc2soKTsKKwkJaWYgKCFhc2spCisJCQlyZXR1cm4gLUVOT01FTTsKKworCQlmZGlza19hc2tfc2V0X3F1ZXJ5KGFzaywgbWVzZyk7CisJCWZkaXNrX2Fza19zZXRfdHlwZShhc2ssIEZESVNLX0FTS1RZUEVfT0ZGU0VUKTsKKworCQlmZGlza19hc2tfbnVtYmVyX3NldF9sb3coYXNrLCAgICAgZmRpc2tfc2Nyb3VuZChjeHQsIGZpcnN0KSk7CS8qIG1pbmltYWwgKi8KKwkJZmRpc2tfYXNrX251bWJlcl9zZXRfZGVmYXVsdChhc2ssIGZkaXNrX3Njcm91bmQoY3h0LCBsYXN0KSAtIDEpOy8qIGRlZmF1bHQgKi8KKwkJZmRpc2tfYXNrX251bWJlcl9zZXRfaGlnaChhc2ssICAgIGZkaXNrX3Njcm91bmQoY3h0LCBsYXN0KSAtIDEpOy8qIG1heGltYWwgKi8KKwkJZmRpc2tfYXNrX251bWJlcl9zZXRfYmFzZShhc2ssICAgIGZkaXNrX3Njcm91bmQoY3h0LCBmaXJzdCkpOworCisJCWlmIChmZGlza191c2VfY3lsaW5kZXJzKGN4dCkpCisJCQlmZGlza19hc2tfbnVtYmVyX3NldF91bml0KGFzaywKKwkJCQkgICAgIGN4dC0+c2VjdG9yX3NpemUgKgorCQkJCSAgICAgZmRpc2tfZ2V0X3VuaXRzX3Blcl9zZWN0b3IoY3h0KSk7CisJCWVsc2UKKwkJCWZkaXNrX2Fza19udW1iZXJfc2V0X3VuaXQoYXNrLGN4dC0+c2VjdG9yX3NpemUpOworCisJCXJjID0gZmRpc2tfZG9fYXNrKGN4dCwgYXNrKTsKKwkJbGFzdCA9IGZkaXNrX2Fza19udW1iZXJfZ2V0X3Jlc3VsdChhc2spICsgMTsKKworCQlmZGlza191bnJlZl9hc2soYXNrKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCQlpZiAoZmRpc2tfdXNlX2N5bGluZGVycyhjeHQpKQorCQkJbGFzdCAqPSBmZGlza19nZXRfdW5pdHNfcGVyX3NlY3RvcihjeHQpOworCX0KKworCWlmIChzeXMgPT0gU0dJX1RZUEVfRU5USVJFX0RJU0sKKwkgICAgJiYgKGZpcnN0ICE9IDAgfHwgbGFzdCAhPSBzZ2lfZ2V0X2xhc3RibG9jayhjeHQpKSkKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSAiCisJCQkJICAiZWxldmVudGggcGFydGl0aW9uIGNvdmVycyB0aGUgZW50aXJlICIKKwkJCQkgICJkaXNrIGFuZCBpcyBvZiB0eXBlICdTR0kgdm9sdW1lJy4iKSk7CisKKwlzZXRfcGFydGl0aW9uKGN4dCwgbiwgZmlyc3QsIGxhc3QgLSBmaXJzdCwgc3lzKTsKKwljeHQtPmxhYmVsLT5ucGFydHNfY3VyID0gY291bnRfdXNlZF9wYXJ0aXRpb25zKGN4dCk7CisJaWYgKHBhcnRubykKKwkJKnBhcnRubyA9IG47CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc2dpX2NyZWF0ZV9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgZmRpc2tfc2dpX2xhYmVsICpzZ2k7CisJc3RydWN0IHNnaV9kaXNrbGFiZWwgKnNnaWxhYmVsOworCWludCByYzsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBTR0kpKTsKKworCWlmIChjeHQtPmdlb20uaGVhZHMgJiYgY3h0LT5nZW9tLnNlY3RvcnMpIHsKKwkJZmRpc2tfc2VjdG9yX3QgbGxzZWN0b3JzOworCisJCWlmIChibGtkZXZfZ2V0X3NlY3RvcnMoY3h0LT5kZXZfZmQsICh1bnNpZ25lZCBsb25nIGxvbmcgKikgJmxsc2VjdG9ycykgPT0gMCkgeworCQkJLyogdGhlIGdldCBkZXZpY2Ugc2l6ZSBpb2N0bCB3YXMgc3VjY2Vzc2Z1bCAqLworCQkJZmRpc2tfc2VjdG9yX3QgbGxjeWxzOworCQkJaW50IHNlY19mYWMgPSBjeHQtPnNlY3Rvcl9zaXplIC8gNTEyOworCisJCQlsbGN5bHMgPSBsbHNlY3RvcnMgLyAoY3h0LT5nZW9tLmhlYWRzICogY3h0LT5nZW9tLnNlY3RvcnMgKiBzZWNfZmFjKTsKKwkJCWN4dC0+Z2VvbS5jeWxpbmRlcnMgPSBsbGN5bHM7CisJCQlpZiAoY3h0LT5nZW9tLmN5bGluZGVycyAhPSBsbGN5bHMpCS8qIHRydW5jYXRlZD8gKi8KKwkJCQljeHQtPmdlb20uY3lsaW5kZXJzID0gfjA7CisJCX0gZWxzZSB7CisJCQkvKiBvdGhlcndpc2UgcHJpbnQgZXJyb3IgYW5kIHVzZSB0cnVuY2F0ZWQgdmVyc2lvbiAqLworCQkJZmRpc2tfd2FybngoY3h0LAorCQkJCV8oIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiAiCisJCQkJICAiVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gIgorCQkJCSAgIlRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyAiCisJCQkJICAiPiAzMy44IEdCLiIpLCBjeHQtPmRldl9wYXRoLCBjeHQtPmdlb20uY3lsaW5kZXJzKTsKKwkJfQorCX0KKworCXJjID0gZmRpc2tfaW5pdF9maXJzdHNlY3Rvcl9idWZmZXIoY3h0LCAwLCAwKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCXNnaSA9IChzdHJ1Y3QgZmRpc2tfc2dpX2xhYmVsICopIGN4dC0+bGFiZWw7CisJc2dpLT5oZWFkZXIgPSAoc3RydWN0IHNnaV9kaXNrbGFiZWwgKikgY3h0LT5maXJzdHNlY3RvcjsKKworCXNnaWxhYmVsID0gc2dpLT5oZWFkZXI7CisKKwlzZ2lsYWJlbC0+bWFnaWMgPSBjcHVfdG9fYmUzMihTR0lfTEFCRUxfTUFHSUMpOworCXNnaWxhYmVsLT5yb290X3BhcnRfbnVtID0gY3B1X3RvX2JlMTYoMCk7CisJc2dpbGFiZWwtPnN3YXBfcGFydF9udW0gPSBjcHVfdG9fYmUxNigxKTsKKworCS8qIHNpemVvZihzZ2lsYWJlbC0+Ym9vdF9maWxlKSA9IDE2ID4gNiAqLworCW1lbXNldChzZ2lsYWJlbC0+Ym9vdF9maWxlLCAwLCAxNik7CisJc3RyY3B5KChjaGFyICopIHNnaWxhYmVsLT5ib290X2ZpbGUsICIvdW5peCIpOworCisJc2dpbGFiZWwtPmRldnBhcmFtLnNrZXcJCQk9ICgwKTsKKwlzZ2lsYWJlbC0+ZGV2cGFyYW0uZ2FwMQkJCT0gKDApOworCXNnaWxhYmVsLT5kZXZwYXJhbS5nYXAyCQkJPSAoMCk7CisJc2dpbGFiZWwtPmRldnBhcmFtLnNwYXJlY3lsCQkJPSAoMCk7CisJc2dpbGFiZWwtPmRldnBhcmFtLnBjeWxjb3VudAk9IGNwdV90b19iZTE2KGN4dC0+Z2VvbS5jeWxpbmRlcnMpOworCXNnaWxhYmVsLT5kZXZwYXJhbS5oZWFkX3ZvbDAJPSBjcHVfdG9fYmUxNigwKTsKKwlzZ2lsYWJlbC0+ZGV2cGFyYW0ubnRya3MJPSBjcHVfdG9fYmUxNihjeHQtPmdlb20uaGVhZHMpOworCS8qIHRyYWNrcy9jeWxpbmRlciAoaGVhZHMpICovCisJc2dpbGFiZWwtPmRldnBhcmFtLmNtZF90YWdfcXVldWVfZGVwdGgJPSAoMCk7CisJc2dpbGFiZWwtPmRldnBhcmFtLnVudXNlZDAJCQk9ICgwKTsKKwlzZ2lsYWJlbC0+ZGV2cGFyYW0udW51c2VkMQk9IGNwdV90b19iZTE2KDApOworCXNnaWxhYmVsLT5kZXZwYXJhbS5uc2VjdAk9IGNwdV90b19iZTE2KGN4dC0+Z2VvbS5zZWN0b3JzKTsKKwkvKiBzZWN0b3JzL3RyYWNrICovCisJc2dpbGFiZWwtPmRldnBhcmFtLmJ5dGVzCT0gY3B1X3RvX2JlMTYoY3h0LT5zZWN0b3Jfc2l6ZSk7CisJc2dpbGFiZWwtPmRldnBhcmFtLmlsZmFjdAk9IGNwdV90b19iZTE2KDEpOworCXNnaWxhYmVsLT5kZXZwYXJhbS5mbGFncwk9IGNwdV90b19iZTMyKAorCQkJU0dJX0RFVlBBUkFNX1RSQUNLX0ZXRAorCQkJfCBTR0lfREVWUEFSQU1fSUdOT1JFX0VSUk9SUworCQkJfCBTR0lfREVWUEFSQU1fUkVTRUVLKTsKKwlzZ2lsYWJlbC0+ZGV2cGFyYW0uZGF0YXJhdGUJPSBjcHVfdG9fYmUzMigwKTsKKwlzZ2lsYWJlbC0+ZGV2cGFyYW0ucmV0cmllc19vbl9lcnJvcgk9IGNwdV90b19iZTMyKDEpOworCXNnaWxhYmVsLT5kZXZwYXJhbS5tc19wZXJfd29yZAkJPSBjcHVfdG9fYmUzMigwKTsKKwlzZ2lsYWJlbC0+ZGV2cGFyYW0ueHlsb2dpY3NfZ2FwMQk9IGNwdV90b19iZTE2KDApOworCXNnaWxhYmVsLT5kZXZwYXJhbS54eWxvZ2ljc19zeW5jZGVsYXkJPSBjcHVfdG9fYmUxNigwKTsKKwlzZ2lsYWJlbC0+ZGV2cGFyYW0ueHlsb2dpY3NfcmVhZGRlbGF5CT0gY3B1X3RvX2JlMTYoMCk7CisJc2dpbGFiZWwtPmRldnBhcmFtLnh5bG9naWNzX2dhcDIJPSBjcHVfdG9fYmUxNigwKTsKKwlzZ2lsYWJlbC0+ZGV2cGFyYW0ueHlsb2dpY3NfcmVhZGdhdGUJPSBjcHVfdG9fYmUxNigwKTsKKwlzZ2lsYWJlbC0+ZGV2cGFyYW0ueHlsb2dpY3Nfd3JpdGVjb250CT0gY3B1X3RvX2JlMTYoMCk7CisKKwltZW1zZXQoJihzZ2lsYWJlbC0+dm9sdW1lKSwgMCwKKwkJCXNpemVvZihzdHJ1Y3Qgc2dpX3ZvbHVtZSkgKiBTR0lfTUFYVk9MVU1FUyk7CisJbWVtc2V0KCYoc2dpbGFiZWwtPnBhcnRpdGlvbnMpLCAwLAorCQkJc2l6ZW9mKHN0cnVjdCBzZ2lfcGFydGl0aW9uKSAqIFNHSV9NQVhQQVJUSVRJT05TKTsKKwljeHQtPmxhYmVsLT5ucGFydHNfbWF4ID0gU0dJX01BWFBBUlRJVElPTlM7CisKKwkvKiBkb24ndCBjcmVhdGUgZGVmYXVsdCBsYXlvdXQgd2hlbiBhIHNjcmlwdCBkZWZpbmVkICovCisJaWYgKCFjeHQtPnNjcmlwdCkgeworCQlzZ2lfc2V0X2VudGlyZShjeHQpOworCQlzZ2lfc2V0X3ZvbGhkcihjeHQpOworCX0KKwljeHQtPmxhYmVsLT5ucGFydHNfY3VyID0gY291bnRfdXNlZF9wYXJ0aXRpb25zKGN4dCk7CisKKwlmZGlza19pbmZvKGN4dCwgXygiQ3JlYXRlZCBhIG5ldyBTR0kgZGlza2xhYmVsLiIpKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzZ2lfc2V0X3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQlzaXplX3QgaSwKKwkJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJc3RydWN0IHNnaV9kaXNrbGFiZWwgKnNnaWxhYmVsOworCisJaWYgKGkgPj0gY3h0LT5sYWJlbC0+bnBhcnRzX21heCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlzZ2lsYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisKKwlpZiAocGEtPnR5cGUpIHsKKwkJc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0ID0gcGEtPnR5cGU7CisKKwkJaWYgKHNnaV9nZXRfbnVtX3NlY3RvcnMoY3h0LCBpKSA9PSAwKQkvKiBjYXVnaHQgYWxyZWFkeSBiZWZvcmUsIC4uLiAqLyB7CisJCQlmZGlza193YXJueChjeHQsIF8oIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIpKTsKKwkJCXJldHVybiAtRUlOVkFMOworCQl9CisKKwkJaWYgKChpID09IDEwICYmIHQtPmNvZGUgIT0gU0dJX1RZUEVfRU5USVJFX0RJU0spCisJCSAgICB8fCAoaSA9PSA4ICYmIHQtPmNvZGUgIT0gMCkpCisJCQlmZGlza19pbmZvKGN4dCwgXygiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gOSBhcyB2b2x1bWUgaGVhZGVyICgwKSwgIgorCQkJCQkgICJhbmQgcGFydGl0aW9uIDExIGFzIGVudGlyZSB2b2x1bWUgKDYpLCAiCisJCQkJCSAgImFzIElSSVggZXhwZWN0cyBpdC4iKSk7CisKKwkJaWYgKGN4dC0+c2NyaXB0ID09IE5VTEwKKwkJICAgICYmICgodC0+Y29kZSAhPSBTR0lfVFlQRV9FTlRJUkVfRElTSykgJiYgKHQtPmNvZGUgIT0gU0dJX1RZUEVfVk9MSERSKSkKKwkJICAgICYmIChzZ2lfZ2V0X3N0YXJ0X3NlY3RvcihjeHQsIGkpIDwgMSkpIHsKKwkJCWludCB5ZXMgPSAwOworCQkJZmRpc2tfYXNrX3llc25vKGN4dCwKKwkJCQlfKCJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwICIKKwkJCQkgICJpcyBvZiB0eXBlIFwiU0dJIHZvbGhkclwiLCB0aGUgSVJJWCBzeXN0ZW0gd2lsbCByZWx5IG9uIGl0IHRvICIKKwkJCQkgICJyZXRyaWV2ZSBmcm9tIGl0cyBkaXJlY3Rvcnkgc3RhbmRhbG9uZSB0b29scyBsaWtlIHNhc2ggYW5kIGZ4LiAiCisJCQkJICAiT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiAiCisJCQkJICAiQXJlIHlvdSBzdXJlIGFib3V0IHRhZ2dpbmcgdGhpcyBwYXJ0aXRpb24gZGlmZmVyZW50bHk/IiksICZ5ZXMpOworCQkJaWYgKCF5ZXMpCisJCQkJcmV0dXJuIDE7CisJCX0KKworCQlzZ2lsYWJlbC0+cGFydGl0aW9uc1tpXS50eXBlID0gY3B1X3RvX2JlMzIodC0+Y29kZSk7CisJfQorCisJaWYgKGZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpKQorCQlzZ2lsYWJlbC0+cGFydGl0aW9uc1tpXS5maXJzdF9ibG9jayA9IGNwdV90b19iZTMyKHBhLT5zdGFydCk7CisJaWYgKGZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkpCisJCXNnaWxhYmVsLT5wYXJ0aXRpb25zW2ldLm51bV9ibG9ja3MgPSBjcHVfdG9fYmUzMihwYS0+c2l6ZSk7CisKKwlmZGlza19sYWJlbF9zZXRfY2hhbmdlZChjeHQtPmxhYmVsLCAxKTsKKwlyZXR1cm4gMDsKK30KKworCitzdGF0aWMgaW50IHNnaV9wYXJ0aXRpb25faXNfdXNlZCgKKwkJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJc2l6ZV90IGkpCit7CisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgU0dJKSk7CisKKwlpZiAoaSA+PSBjeHQtPmxhYmVsLT5ucGFydHNfbWF4KQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gc2dpX2dldF9udW1fc2VjdG9ycyhjeHQsIGkpID8gMSA6IDA7Cit9CisKK3N0YXRpYyBpbnQgc2dpX3RvZ2dsZV9wYXJ0aXRpb25fZmxhZyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgaSwgdW5zaWduZWQgbG9uZyBmbGFnKQoreworCXN0cnVjdCBzZ2lfZGlza2xhYmVsICpzZ2lsYWJlbDsKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgU0dJKSk7CisKKwlpZiAoaSA+PSBjeHQtPmxhYmVsLT5ucGFydHNfbWF4KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXNnaWxhYmVsID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKworCXN3aXRjaCAoZmxhZykgeworCWNhc2UgU0dJX0ZMQUdfQk9PVDoKKwkJc2dpbGFiZWwtPnJvb3RfcGFydF9udW0gPQorCQkJYmUxNl90b19jcHUoc2dpbGFiZWwtPnJvb3RfcGFydF9udW0pID09IGkgPworCQkJMCA6IGNwdV90b19iZTE2KGkpOworCQlmZGlza19sYWJlbF9zZXRfY2hhbmdlZChjeHQtPmxhYmVsLCAxKTsKKwkJYnJlYWs7CisJY2FzZSBTR0lfRkxBR19TV0FQOgorCQlzZ2lsYWJlbC0+c3dhcF9wYXJ0X251bSA9CisJCQliZTE2X3RvX2NwdShzZ2lsYWJlbC0+c3dhcF9wYXJ0X251bSkgPT0gaSA/CisJCQkwIDogY3B1X3RvX2JlMTYoaSk7CisJCWZkaXNrX2xhYmVsX3NldF9jaGFuZ2VkKGN4dC0+bGFiZWwsIDEpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gMTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBmZGlza19maWVsZCBzZ2lfZmllbGRzW10gPQoreworCXsgRkRJU0tfRklFTERfREVWSUNFLAlOXygiRGV2aWNlIiksCSAxMCwJMCB9LAorCXsgRkRJU0tfRklFTERfU1RBUlQsCU5fKCJTdGFydCIpLAkgIDUsCUZESVNLX0ZJRUxERkxfTlVNQkVSIH0sCisJeyBGRElTS19GSUVMRF9FTkQsCU5fKCJFbmQiKSwJICA1LAlGRElTS19GSUVMREZMX05VTUJFUiB9LAorCXsgRkRJU0tfRklFTERfU0VDVE9SUywJTl8oIlNlY3RvcnMiKSwJICA1LAlGRElTS19GSUVMREZMX05VTUJFUiB9LAorCXsgRkRJU0tfRklFTERfQ1lMSU5ERVJTLE5fKCJDeWxpbmRlcnMiKSwgIDUsCUZESVNLX0ZJRUxERkxfTlVNQkVSIH0sCisJeyBGRElTS19GSUVMRF9TSVpFLAlOXygiU2l6ZSIpLAkgIDUsCUZESVNLX0ZJRUxERkxfTlVNQkVSIHwgRkRJU0tfRklFTERGTF9FWUVDQU5EWSB9LAorCXsgRkRJU0tfRklFTERfVFlQRUlELAlOXygiSWQiKSwJICAyLAlGRElTS19GSUVMREZMX05VTUJFUiB9LAorCXsgRkRJU0tfRklFTERfVFlQRSwJTl8oIlR5cGUiKSwJMC4xLAlGRElTS19GSUVMREZMX0VZRUNBTkRZIH0sCisJeyBGRElTS19GSUVMRF9BVFRSLAlOXygiQXR0cnMiKSwJICAwLAlGRElTS19GSUVMREZMX05VTUJFUiB9Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsX29wZXJhdGlvbnMgc2dpX29wZXJhdGlvbnMgPQoreworCS5wcm9iZQkJPSBzZ2lfcHJvYmVfbGFiZWwsCisJLndyaXRlCQk9IHNnaV93cml0ZV9kaXNrbGFiZWwsCisJLnZlcmlmeQkJPSBzZ2lfdmVyaWZ5X2Rpc2tsYWJlbCwKKwkuZ2V0X2l0ZW0JPSBzZ2lfZ2V0X2Rpc2tsYWJlbF9pdGVtLAorCS5jcmVhdGUJCT0gc2dpX2NyZWF0ZV9kaXNrbGFiZWwsCisKKwkuZ2V0X3BhcnQJPSBzZ2lfZ2V0X3BhcnRpdGlvbiwKKwkuc2V0X3BhcnQJPSBzZ2lfc2V0X3BhcnRpdGlvbiwKKwkuYWRkX3BhcnQJPSBzZ2lfYWRkX3BhcnRpdGlvbiwKKwkuZGVsX3BhcnQJPSBzZ2lfZGVsZXRlX3BhcnRpdGlvbiwKKworCS5wYXJ0X2lzX3VzZWQJPSBzZ2lfcGFydGl0aW9uX2lzX3VzZWQsCisJLnBhcnRfdG9nZ2xlX2ZsYWcgPSBzZ2lfdG9nZ2xlX3BhcnRpdGlvbl9mbGFnCit9OworCisvKiBBbGxvY2F0ZXMgYW4gU0dJIGxhYmVsIGRyaXZlci4gKi8KK3N0cnVjdCBmZGlza19sYWJlbCAqZmRpc2tfbmV3X3NnaV9sYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBmZGlza19sYWJlbCAqbGI7CisJc3RydWN0IGZkaXNrX3NnaV9sYWJlbCAqc2dpOworCisJYXNzZXJ0KGN4dCk7CisKKwlzZ2kgPSBjYWxsb2MoMSwgc2l6ZW9mKCpzZ2kpKTsKKwlpZiAoIXNnaSkKKwkJcmV0dXJuIE5VTEw7CisKKwkvKiBpbml0aWFsaXplIGdlbmVyaWMgcGFydCBvZiB0aGUgZHJpdmVyICovCisJbGIgPSAoc3RydWN0IGZkaXNrX2xhYmVsICopIHNnaTsKKwlsYi0+bmFtZSA9ICJzZ2kiOworCWxiLT5pZCA9IEZESVNLX0RJU0tMQUJFTF9TR0k7CisJbGItPm9wID0gJnNnaV9vcGVyYXRpb25zOworCWxiLT5wYXJ0dHlwZXMgPSBzZ2lfcGFydHR5cGVzOworCWxiLT5ucGFydHR5cGVzID0gQVJSQVlfU0laRShzZ2lfcGFydHR5cGVzKSAtIDE7CisJbGItPmZpZWxkcyA9IHNnaV9maWVsZHM7CisJbGItPm5maWVsZHMgPSBBUlJBWV9TSVpFKHNnaV9maWVsZHMpOworCisJbGItPmZsYWdzIHw9IEZESVNLX0xBQkVMX0ZMX1JFUVVJUkVfR0VPTUVUUlk7CisKKwlyZXR1cm4gbGI7Cit9CmRpZmYgLS1naXQgYS9saWJmZGlzay9zcmMvc3VuLmMgYi9saWJmZGlzay9zcmMvc3VuLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTVlYzg3NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmZkaXNrL3NyYy9zdW4uYwpAQCAtMCwwICsxLDExNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogQmFzZWQgb24gb3JpZ2luYWwgY29kZSBmcm9tIGZkaXNrOgorICogICBKYWt1YiBKZWxpbmVrIChqakBzdW5zaXRlLm1mZi5jdW5pLmN6KSwgSnVseSAxOTk2CisgKiAgIE1lcmdlZCB3aXRoIGZkaXNrIGZvciBvdGhlciBhcmNoaXRlY3R1cmVzLCBhZWIsIEp1bmUgMTk5OC4KKyAqICAgQXJuYWxkbyBDYXJ2YWxobyBkZSBNZWxvIDxhY21lQGNvbmVjdGl2YS5jb20uYnI+IE1hciAxOTk5LCBJbnRlcm5hdGlvbmFsaXphdGlvbgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4JCS8qIHN0ZGVyciAqLworI2luY2x1ZGUgPHN0ZGxpYi5oPgkJLyogcXNvcnQgKi8KKyNpbmNsdWRlIDxzdHJpbmcuaD4JCS8qIHN0cnN0ciAqLworI2luY2x1ZGUgPHVuaXN0ZC5oPgkJLyogd3JpdGUgKi8KKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4JCS8qIGlvY3RsICovCisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJibGtkZXYuaCIKKyNpbmNsdWRlICJiaXRvcHMuaCIKKworI2luY2x1ZGUgImZkaXNrUC5oIgorI2luY2x1ZGUgInB0LXN1bi5oIgorI2luY2x1ZGUgImFsbC1pby5oIgorCisKKy8qKgorICogU0VDVElPTjogc3VuCisgKiBAdGl0bGU6IFNVTgorICogQHNob3J0X2Rlc2NyaXB0aW9uOiBkaXNrIGxhYmVsIHNwZWNpZmljIGZ1bmN0aW9ucworICoKKyAqLworCisvKgorICogaW4tbWVtb3J5IGZkaXNrIFNVTiBzdHVmZgorICovCitzdHJ1Y3QgZmRpc2tfc3VuX2xhYmVsIHsKKwlzdHJ1Y3QgZmRpc2tfbGFiZWwJaGVhZDsJCS8qIGdlbmVyaWMgcGFydCAqLworCXN0cnVjdCBzdW5fZGlza2xhYmVsICAgKmhlYWRlcjsJCS8qIG9uLWRpc2sgZGF0YSAocG9pbnRlciB0byBjeHQtPmZpcnN0c2VjdG9yKSAqLworfTsKKworc3RhdGljIHN0cnVjdCBmZGlza19wYXJ0dHlwZSBzdW5fcGFydHR5cGVzW10gPSB7CisJe1NVTl9UQUdfVU5BU1NJR05FRCwgTl8oIlVuYXNzaWduZWQiKX0sCisJe1NVTl9UQUdfQk9PVCwgTl8oIkJvb3QiKX0sCisJe1NVTl9UQUdfUk9PVCwgTl8oIlN1bk9TIHJvb3QiKX0sCisJe1NVTl9UQUdfU1dBUCwgTl8oIlN1bk9TIHN3YXAiKX0sCisJe1NVTl9UQUdfVVNSLCBOXygiU3VuT1MgdXNyIil9LAorCXtTVU5fVEFHX1dIT0xFRElTSywgTl8oIldob2xlIGRpc2siKX0sCisJe1NVTl9UQUdfU1RBTkQsIE5fKCJTdW5PUyBzdGFuZCIpfSwKKwl7U1VOX1RBR19WQVIsIE5fKCJTdW5PUyB2YXIiKX0sCisJe1NVTl9UQUdfSE9NRSwgTl8oIlN1bk9TIGhvbWUiKX0sCisJe1NVTl9UQUdfQUxUU0NUUiwgTl8oIlN1bk9TIGFsdCBzZWN0b3JzIil9LAorCXtTVU5fVEFHX0NBQ0hFLCBOXygiU3VuT1MgY2FjaGVmcyIpfSwKKwl7U1VOX1RBR19SRVNFUlZFRCwgTl8oIlN1bk9TIHJlc2VydmVkIil9LAorCXtTVU5fVEFHX0xJTlVYX1NXQVAsIE5fKCJMaW51eCBzd2FwIil9LAorCXtTVU5fVEFHX0xJTlVYX05BVElWRSwgTl8oIkxpbnV4IG5hdGl2ZSIpfSwKKwl7U1VOX1RBR19MSU5VWF9MVk0sIE5fKCJMaW51eCBMVk0iKX0sCisJe1NVTl9UQUdfTElOVVhfUkFJRCwgTl8oIkxpbnV4IHJhaWQgYXV0b2RldGVjdCIpfSwKKwl7IDAsIE5VTEwgfQorfTsKKworLyogcmV0dXJuIHBvaW50ZXIgYnVmZmVyIHdpdGggb24tZGlzayBkYXRhICovCitzdGF0aWMgaW5saW5lIHN0cnVjdCBzdW5fZGlza2xhYmVsICpzZWxmX2Rpc2tsYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBTVU4pKTsKKworCXJldHVybiAoKHN0cnVjdCBmZGlza19zdW5fbGFiZWwgKikgY3h0LT5sYWJlbCktPmhlYWRlcjsKK30KKworLyogcmV0dXJuIGluLW1lbW9yeSBzdW4gZmRpc2sgZGF0YSAqLworc3RhdGljIGlubGluZSBzdHJ1Y3QgZmRpc2tfc3VuX2xhYmVsICpzZWxmX2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIFNVTikpOworCisJcmV0dXJuIChzdHJ1Y3QgZmRpc2tfc3VuX2xhYmVsICopIGN4dC0+bGFiZWw7Cit9CisKK3N0YXRpYyB2b2lkIHNldF9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IGksCisJCXVpbnQzMl90IHN0YXJ0LHVpbnQzMl90IHN0b3AsIHVpbnQxNl90IHN5c2lkKQoreworCXN0cnVjdCBzdW5fZGlza2xhYmVsICpzdW5sYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0ID0KKwkJCWZkaXNrX2xhYmVsX2dldF9wYXJ0dHlwZV9mcm9tX2NvZGUoY3h0LT5sYWJlbCwgc3lzaWQpOworCisJc3VubGFiZWwtPnZ0b2MuaW5mb3NbaV0uaWQgPSBjcHVfdG9fYmUxNihzeXNpZCk7CisJc3VubGFiZWwtPnZ0b2MuaW5mb3NbaV0uZmxhZ3MgPSBjcHVfdG9fYmUxNigwKTsKKwlzdW5sYWJlbC0+cGFydGl0aW9uc1tpXS5zdGFydF9jeWxpbmRlciA9CisJCWNwdV90b19iZTMyKHN0YXJ0IC8gKGN4dC0+Z2VvbS5oZWFkcyAqIGN4dC0+Z2VvbS5zZWN0b3JzKSk7CisJc3VubGFiZWwtPnBhcnRpdGlvbnNbaV0ubnVtX3NlY3RvcnMgPSBjcHVfdG9fYmUzMihzdG9wIC0gc3RhcnQpOworCWZkaXNrX2xhYmVsX3NldF9jaGFuZ2VkKGN4dC0+bGFiZWwsIDEpOworCisJZmRpc2tfaW5mb19uZXdfcGFydGl0aW9uKGN4dCwgaSArIDEsIHN0YXJ0LCBzdG9wLCB0KTsKK30KKworc3RhdGljIHNpemVfdCBjb3VudF91c2VkX3BhcnRpdGlvbnMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3Qgc3VuX2Rpc2tsYWJlbCAqc3VubGFiZWwgPSBzZWxmX2Rpc2tsYWJlbChjeHQpOworCXNpemVfdCBjdCA9IDAsIGk7CisKKwlhc3NlcnQoc3VubGFiZWwpOworCisJZm9yIChpID0gMDsgaSA8IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXg7IGkrKykgeworCQlpZiAoc3VubGFiZWwtPnBhcnRpdGlvbnNbaV0ubnVtX3NlY3RvcnMpCisJCQljdCsrOworCX0KKwlyZXR1cm4gY3Q7Cit9CisKK3N0YXRpYyBpbnQgc3VuX3Byb2JlX2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IGZkaXNrX3N1bl9sYWJlbCAqc3VuOworCXN0cnVjdCBzdW5fZGlza2xhYmVsICpzdW5sYWJlbDsKKwl1bnNpZ25lZCBzaG9ydCAqdXNoOworCWludCBjc3VtOworCWludCBuZWVkX2ZpeGluZyA9IDA7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgU1VOKSk7CisKKwkvKiBtYXAgZmlyc3Qgc2VjdG9yIHRvIGhlYWRlciAqLworCXN1biA9IChzdHJ1Y3QgZmRpc2tfc3VuX2xhYmVsICopIGN4dC0+bGFiZWw7CisJc3VuLT5oZWFkZXIgPSAoc3RydWN0IHN1bl9kaXNrbGFiZWwgKikgY3h0LT5maXJzdHNlY3RvcjsKKwlzdW5sYWJlbCA9IHN1bi0+aGVhZGVyOworCisJaWYgKGJlMTZfdG9fY3B1KHN1bmxhYmVsLT5tYWdpYykgIT0gU1VOX0xBQkVMX01BR0lDKSB7CisJCXN1bi0+aGVhZGVyID0gTlVMTDsKKwkJcmV0dXJuIDA7CQkvKiBmYWlsZWQgKi8KKwl9CisKKwl1c2ggPSAoKHVuc2lnbmVkIHNob3J0ICopIChzdW5sYWJlbCArIDEpKSAtIDE7CisJZm9yIChjc3VtID0gMDsgdXNoID49ICh1bnNpZ25lZCBzaG9ydCAqKXN1bmxhYmVsOykKKwkJY3N1bSBePSAqdXNoLS07CisKKwlpZiAoY3N1bSkgeworCQlmZGlza193YXJueChjeHQsIF8oIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4gIgorCQkJICAgICAgIlByb2JhYmx5IHlvdSdsbCBoYXZlIHRvIHNldCBhbGwgdGhlIHZhbHVlcywgIgorCQkJICAgICAgImUuZy4gaGVhZHMsIHNlY3RvcnMsIGN5bGluZGVycyBhbmQgcGFydGl0aW9ucyAiCisJCQkgICAgICAib3IgZm9yY2UgYSBmcmVzaCBsYWJlbCAocyBjb21tYW5kIGluIG1haW4gbWVudSkiKSk7CisJCXJldHVybiAxOworCX0KKworCWN4dC0+bGFiZWwtPm5wYXJ0c19tYXggPSBTVU5fTUFYUEFSVElUSU9OUzsKKwljeHQtPmdlb20uaGVhZHMgPSBiZTE2X3RvX2NwdShzdW5sYWJlbC0+bmhlYWQpOworCWN4dC0+Z2VvbS5jeWxpbmRlcnMgPSBiZTE2X3RvX2NwdShzdW5sYWJlbC0+bmN5bCk7CisJY3h0LT5nZW9tLnNlY3RvcnMgPSBiZTE2X3RvX2NwdShzdW5sYWJlbC0+bnNlY3QpOworCisJaWYgKGJlMzJfdG9fY3B1KHN1bmxhYmVsLT52dG9jLnZlcnNpb24pICE9IFNVTl9WVE9DX1ZFUlNJT04pIHsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdmVyc2lvbiBbJWRdLiIpLAorCQkJYmUzMl90b19jcHUoc3VubGFiZWwtPnZ0b2MudmVyc2lvbikpOworCQluZWVkX2ZpeGluZyA9IDE7CisJfQorCWlmIChiZTMyX3RvX2NwdShzdW5sYWJlbC0+dnRvYy5zYW5pdHkpICE9IFNVTl9WVE9DX1NBTklUWSkgeworCQlmZGlza193YXJueChjeHQsIF8oIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLnNhbml0eSBbMHglMDh4XS4iKSwKKwkJCWJlMzJfdG9fY3B1KHN1bmxhYmVsLT52dG9jLnNhbml0eSkpOworCQluZWVkX2ZpeGluZyA9IDE7CisJfQorCWlmIChiZTE2X3RvX2NwdShzdW5sYWJlbC0+dnRvYy5ucGFydHMpICE9IFNVTl9NQVhQQVJUSVRJT05TKSB7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2MubnBhcnRzIFsldV0uIiksCisJCQliZTE2X3RvX2NwdShzdW5sYWJlbC0+dnRvYy5ucGFydHMpKTsKKwkJbmVlZF9maXhpbmcgPSAxOworCX0KKwlpZiAobmVlZF9maXhpbmcpIHsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJXYXJuaW5nOiBXcm9uZyB2YWx1ZXMgbmVlZCB0byBiZSBmaXhlZCB1cCBhbmQgIgorCQkJICAgICAgICAgICAid2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKSIpKTsKKworCQlzdW5sYWJlbC0+dnRvYy52ZXJzaW9uID0gY3B1X3RvX2JlMzIoU1VOX1ZUT0NfVkVSU0lPTik7CisJCXN1bmxhYmVsLT52dG9jLnNhbml0eSA9IGNwdV90b19iZTMyKFNVTl9WVE9DX1NBTklUWSk7CisJCXN1bmxhYmVsLT52dG9jLm5wYXJ0cyA9IGNwdV90b19iZTE2KFNVTl9NQVhQQVJUSVRJT05TKTsKKworCQl1c2ggPSAodW5zaWduZWQgc2hvcnQgKilzdW5sYWJlbDsKKwkJY3N1bSA9IDA7CisJCXdoaWxlKHVzaCA8ICh1bnNpZ25lZCBzaG9ydCAqKSgmc3VubGFiZWwtPmNzdW0pKQorCQkJY3N1bSBePSAqdXNoKys7CisJCXN1bmxhYmVsLT5jc3VtID0gY3N1bTsKKworCQlmZGlza19sYWJlbF9zZXRfY2hhbmdlZChjeHQtPmxhYmVsLCAxKTsKKwl9CisKKwljeHQtPmxhYmVsLT5ucGFydHNfY3VyID0gY291bnRfdXNlZF9wYXJ0aXRpb25zKGN4dCk7CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIHZvaWQgYXNrX2dlb20oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwl1aW50bWF4X3QgcmVzOworCisJYXNzZXJ0KGN4dCk7CisKKwlpZiAoZmRpc2tfYXNrX251bWJlcihjeHQsIDEsIDEsIDEwMjQsIF8oIkhlYWRzIiksICZyZXMpID09IDApCisJCWN4dC0+Z2VvbS5oZWFkcyA9IHJlczsKKwlpZiAoZmRpc2tfYXNrX251bWJlcihjeHQsIDEsIDEsIDEwMjQsIF8oIlNlY3RvcnMvdHJhY2siKSwgJnJlcykgPT0gMCkKKwkJY3h0LT5nZW9tLnNlY3RvcnMgPSByZXM7CisJaWYgKGZkaXNrX2Fza19udW1iZXIoY3h0LCAxLCAxLCBVU0hSVF9NQVgsIF8oIkN5bGluZGVycyIpLCAmcmVzKSA9PSAwKQorCQljeHQtPmdlb20uY3lsaW5kZXJzID0gcmVzOworfQorCitzdGF0aWMgaW50IHN1bl9jcmVhdGVfZGlza2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJdW5zaWduZWQgaW50IG5kaXY7CisJc3RydWN0IGZkaXNrX3N1bl9sYWJlbCAqc3VuOwkJLyogbGliZmRpc2sgc3VuIGhhbmRsZXIgKi8KKwlzdHJ1Y3Qgc3VuX2Rpc2tsYWJlbCAqc3VubGFiZWw7CS8qIG9uIGRpc2sgZGF0YSAqLworCWludCByYyA9IDA7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgU1VOKSk7CisKKwkvKiBtYXAgZmlyc3Qgc2VjdG9yIHRvIGhlYWRlciAqLworCXJjID0gZmRpc2tfaW5pdF9maXJzdHNlY3Rvcl9idWZmZXIoY3h0LCAwLCAwKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCXN1biA9IChzdHJ1Y3QgZmRpc2tfc3VuX2xhYmVsICopIGN4dC0+bGFiZWw7CisJc3VuLT5oZWFkZXIgPSAoc3RydWN0IHN1bl9kaXNrbGFiZWwgKikgY3h0LT5maXJzdHNlY3RvcjsKKworCXN1bmxhYmVsID0gc3VuLT5oZWFkZXI7CisKKwljeHQtPmxhYmVsLT5ucGFydHNfbWF4ID0gU1VOX01BWFBBUlRJVElPTlM7CisKKwlzdW5sYWJlbC0+bWFnaWMgPSBjcHVfdG9fYmUxNihTVU5fTEFCRUxfTUFHSUMpOworCXN1bmxhYmVsLT52dG9jLnZlcnNpb24gPSBjcHVfdG9fYmUzMihTVU5fVlRPQ19WRVJTSU9OKTsKKwlzdW5sYWJlbC0+dnRvYy5zYW5pdHkgPSBjcHVfdG9fYmUzMihTVU5fVlRPQ19TQU5JVFkpOworCXN1bmxhYmVsLT52dG9jLm5wYXJ0cyA9IGNwdV90b19iZTE2KFNVTl9NQVhQQVJUSVRJT05TKTsKKworCWlmIChjeHQtPmdlb20uaGVhZHMgJiYgY3h0LT5nZW9tLnNlY3RvcnMpIHsKKwkJZmRpc2tfc2VjdG9yX3QgbGxzZWN0b3JzOworCisJCWlmIChibGtkZXZfZ2V0X3NlY3RvcnMoY3h0LT5kZXZfZmQsICh1bnNpZ25lZCBsb25nIGxvbmcgKikgJmxsc2VjdG9ycykgPT0gMCkgeworCQkJaW50IHNlY19mYWMgPSBjeHQtPnNlY3Rvcl9zaXplIC8gNTEyOworCQkJZmRpc2tfc2VjdG9yX3QgbGxjeWxzOworCisJCQlsbGN5bHMgPSBsbHNlY3RvcnMgLyAoY3h0LT5nZW9tLmhlYWRzICogY3h0LT5nZW9tLnNlY3RvcnMgKiBzZWNfZmFjKTsKKwkJCWN4dC0+Z2VvbS5jeWxpbmRlcnMgPSBsbGN5bHM7CisJCQlpZiAoY3h0LT5nZW9tLmN5bGluZGVycyAhPSBsbGN5bHMpCisJCQkJY3h0LT5nZW9tLmN5bGluZGVycyA9IH4wOworCQl9IGVsc2UgeworCQkJZmRpc2tfd2FybngoY3h0LAorCQkJCV8oIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiAiCisJCQkJICAiVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gIgorCQkJCSAgIlRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyAiCisJCQkJICAiPiAzMy44IEdCLiIpLAorCQkJCWN4dC0+ZGV2X3BhdGgsIGN4dC0+Z2VvbS5jeWxpbmRlcnMpOworCQl9CisJfSBlbHNlCisJCWFza19nZW9tKGN4dCk7CisKKwlzdW5sYWJlbC0+YWN5bCAgID0gY3B1X3RvX2JlMTYoMCk7CisJc3VubGFiZWwtPnBjeWwgICA9IGNwdV90b19iZTE2KGN4dC0+Z2VvbS5jeWxpbmRlcnMpOworCXN1bmxhYmVsLT5ycG0gICAgPSBjcHVfdG9fYmUxNig1NDAwKTsKKwlzdW5sYWJlbC0+aW50cmx2ID0gY3B1X3RvX2JlMTYoMSk7CisJc3VubGFiZWwtPmFwYyAgICA9IGNwdV90b19iZTE2KDApOworCisJc3VubGFiZWwtPm5oZWFkICA9IGNwdV90b19iZTE2KGN4dC0+Z2VvbS5oZWFkcyk7CisJc3VubGFiZWwtPm5zZWN0ICA9IGNwdV90b19iZTE2KGN4dC0+Z2VvbS5zZWN0b3JzKTsKKwlzdW5sYWJlbC0+bmN5bCAgID0gY3B1X3RvX2JlMTYoY3h0LT5nZW9tLmN5bGluZGVycyk7CisKKwlzbnByaW50ZigoY2hhciAqKSBzdW5sYWJlbC0+bGFiZWxfaWQsIHNpemVvZihzdW5sYWJlbC0+bGFiZWxfaWQpLAorCQkgIkxpbnV4IGN5bCAlanUgYWx0ICV1IGhkICV1IHNlYyAlanUiLAorCQkgKHVpbnRtYXhfdCkgY3h0LT5nZW9tLmN5bGluZGVycywKKwkJIGJlMTZfdG9fY3B1KHN1bmxhYmVsLT5hY3lsKSwKKwkJIGN4dC0+Z2VvbS5oZWFkcywKKwkJICh1aW50bWF4X3QpIGN4dC0+Z2VvbS5zZWN0b3JzKTsKKworCWlmIChjeHQtPmdlb20uY3lsaW5kZXJzICogY3h0LT5nZW9tLmhlYWRzICogY3h0LT5nZW9tLnNlY3RvcnMgPj0gMTUwICogMjA0OCkgeworCSAgICAgICAgbmRpdiA9IGN4dC0+Z2VvbS5jeWxpbmRlcnMgLSAoNTAgKiAyMDQ4IC8gKGN4dC0+Z2VvbS5oZWFkcyAqIGN4dC0+Z2VvbS5zZWN0b3JzKSk7IC8qIDUwTSBzd2FwICovCisJfSBlbHNlCisJICAgICAgICBuZGl2ID0gY3h0LT5nZW9tLmN5bGluZGVycyAqIDIgLyAzOworCisJLyogY3JlYXRlIHRoZSBkZWZhdWx0IGxheW91dCBvbmx5IGlmIG5vLXNjcmlwdCBkZWZpbmVkICovCisJaWYgKCFjeHQtPnNjcmlwdCkgeworCQlzZXRfcGFydGl0aW9uKGN4dCwgMCwgMCwgbmRpdiAqIGN4dC0+Z2VvbS5oZWFkcyAqIGN4dC0+Z2VvbS5zZWN0b3JzLAorCQkJICBTVU5fVEFHX0xJTlVYX05BVElWRSk7CisJCXNldF9wYXJ0aXRpb24oY3h0LCAxLCBuZGl2ICogY3h0LT5nZW9tLmhlYWRzICogY3h0LT5nZW9tLnNlY3RvcnMsCisJCQkgIGN4dC0+Z2VvbS5jeWxpbmRlcnMgKiBjeHQtPmdlb20uaGVhZHMgKiBjeHQtPmdlb20uc2VjdG9ycywKKwkJCSAgU1VOX1RBR19MSU5VWF9TV0FQKTsKKwkJc3VubGFiZWwtPnZ0b2MuaW5mb3NbMV0uZmxhZ3MgfD0gY3B1X3RvX2JlMTYoU1VOX0ZMQUdfVU5NTlQpOworCisJCXNldF9wYXJ0aXRpb24oY3h0LCAyLCAwLAorCQkJICBjeHQtPmdlb20uY3lsaW5kZXJzICogY3h0LT5nZW9tLmhlYWRzICogY3h0LT5nZW9tLnNlY3RvcnMsCisJCQkgIFNVTl9UQUdfV0hPTEVESVNLKTsKKwl9CisKKwl7CisJCXVuc2lnbmVkIHNob3J0ICp1c2ggPSAodW5zaWduZWQgc2hvcnQgKilzdW5sYWJlbDsKKwkJdW5zaWduZWQgc2hvcnQgY3N1bSA9IDA7CisJCXdoaWxlKHVzaCA8ICh1bnNpZ25lZCBzaG9ydCAqKSgmc3VubGFiZWwtPmNzdW0pKQorCQkJY3N1bSBePSAqdXNoKys7CisJCXN1bmxhYmVsLT5jc3VtID0gY3N1bTsKKwl9CisKKwlmZGlza19sYWJlbF9zZXRfY2hhbmdlZChjeHQtPmxhYmVsLCAxKTsKKwljeHQtPmxhYmVsLT5ucGFydHNfY3VyID0gY291bnRfdXNlZF9wYXJ0aXRpb25zKGN4dCk7CisKKwlmZGlza19pbmZvKGN4dCwgXygiQ3JlYXRlZCBhIG5ldyBTdW4gZGlza2xhYmVsLiIpKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzdW5fdG9nZ2xlX3BhcnRpdGlvbl9mbGFnKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBpLCB1bnNpZ25lZCBsb25nIGZsYWcpCit7CisJc3RydWN0IHN1bl9kaXNrbGFiZWwgKnN1bmxhYmVsOworCXN0cnVjdCBzdW5faW5mbyAqcDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBTVU4pKTsKKworCWlmIChpID49IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXgpCisJCXJldHVybiAtRUlOVkFMOworCisJc3VubGFiZWwgPSBzZWxmX2Rpc2tsYWJlbChjeHQpOworCXAgPSAmc3VubGFiZWwtPnZ0b2MuaW5mb3NbaV07CisKKwlzd2l0Y2ggKGZsYWcpIHsKKwljYXNlIFNVTl9GTEFHX1VOTU5UOgorCQlwLT5mbGFncyBePSBjcHVfdG9fYmUxNihTVU5fRkxBR19VTk1OVCk7CisJCWZkaXNrX2xhYmVsX3NldF9jaGFuZ2VkKGN4dC0+bGFiZWwsIDEpOworCQlicmVhazsKKwljYXNlIFNVTl9GTEFHX1JPTkxZOgorCQlwLT5mbGFncyBePSBjcHVfdG9fYmUxNihTVU5fRkxBR19ST05MWSk7CisJCWZkaXNrX2xhYmVsX3NldF9jaGFuZ2VkKGN4dC0+bGFiZWwsIDEpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gMTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgZmV0Y2hfc3VuKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCSAgICAgIHVpbnQzMl90ICpzdGFydHMsCisJCSAgICAgIHVpbnQzMl90ICpsZW5zLAorCQkgICAgICB1aW50MzJfdCAqc3RhcnQsCisJCSAgICAgIHVpbnQzMl90ICpzdG9wKQoreworCXN0cnVjdCBzdW5fZGlza2xhYmVsICpzdW5sYWJlbDsKKwlpbnQgY29udGludW91cyA9IDE7CisJc2l6ZV90IGk7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgU1VOKSk7CisKKwlzdW5sYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisKKwkqc3RhcnQgPSAwOworCSpzdG9wID0gY3h0LT5nZW9tLmN5bGluZGVycyAqIGN4dC0+Z2VvbS5oZWFkcyAqIGN4dC0+Z2VvbS5zZWN0b3JzOworCisJZm9yIChpID0gMDsgaSA8IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXg7IGkrKykgeworCQlzdHJ1Y3Qgc3VuX3BhcnRpdGlvbiAqcGFydCA9ICZzdW5sYWJlbC0+cGFydGl0aW9uc1tpXTsKKwkJc3RydWN0IHN1bl9pbmZvICppbmZvID0gJnN1bmxhYmVsLT52dG9jLmluZm9zW2ldOworCisJCWlmIChwYXJ0LT5udW1fc2VjdG9ycyAmJgorCQkgICAgYmUxNl90b19jcHUoaW5mby0+aWQpICE9IFNVTl9UQUdfVU5BU1NJR05FRCAmJgorCQkgICAgYmUxNl90b19jcHUoaW5mby0+aWQpICE9IFNVTl9UQUdfV0hPTEVESVNLKSB7CisJCQlzdGFydHNbaV0gPSBiZTMyX3RvX2NwdShwYXJ0LT5zdGFydF9jeWxpbmRlcikgKgorCQkJCSAgICAgY3h0LT5nZW9tLmhlYWRzICogY3h0LT5nZW9tLnNlY3RvcnM7CisJCQlsZW5zW2ldID0gYmUzMl90b19jcHUocGFydC0+bnVtX3NlY3RvcnMpOworCQkJaWYgKGNvbnRpbnVvdXMpIHsKKwkJCQlpZiAoc3RhcnRzW2ldID09ICpzdGFydCkKKwkJCQkJKnN0YXJ0ICs9IGxlbnNbaV07CisJCQkJZWxzZSBpZiAoc3RhcnRzW2ldICsgbGVuc1tpXSA+PSAqc3RvcCkKKwkJCQkJKnN0b3AgPSBzdGFydHNbaV07CisJCQkJZWxzZQorCQkJCQljb250aW51b3VzID0gMDsKKwkJCQkgICAgICAgIC8qIFRoZXJlIHdpbGwgYmUgcHJvYmFibHkgbW9yZSBnYXBzCisJCQkJCSAgdGhhbiBvbmUsIHNvIGxldHMgY2hlY2sgYWZ0ZXJ3YXJkcyAqLworCQkJfQorCQl9IGVsc2UgeworCQkJc3RhcnRzW2ldID0gMDsKKwkJCWxlbnNbaV0gPSAwOworCQl9CisJfQorfQorCisvKiBub24tTGludXggcXNvcnRfcigzKSBoYXMgdXN1YWxseSBkaWZmZXJlbnRseSBvcmRlcmVkIGFyZ3VtZW50cyAqLworI2lmICFkZWZpbmVkIChfX2xpbnV4X18pIHx8ICFkZWZpbmVkIChfX0dMSUJDX18pCisjIHVuZGVmIEhBVkVfUVNPUlRfUgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX1FTT1JUX1IKK3N0YXRpYyBpbnQgdmVyaWZ5X3N1bl9jbXAoaW50ICphLCBpbnQgKmIsIHZvaWQgKmRhdGEpCit7CisgICAgdW5zaWduZWQgaW50ICp2ZXJpZnlfc3VuX3N0YXJ0cyA9ICh1bnNpZ25lZCBpbnQgKikgZGF0YTsKKworICAgIGlmICgqYSA9PSAtMSkKKwkgICAgcmV0dXJuIDE7CisgICAgaWYgKCpiID09IC0xKQorCSAgICByZXR1cm4gLTE7CisgICAgaWYgKHZlcmlmeV9zdW5fc3RhcnRzWyphXSA+IHZlcmlmeV9zdW5fc3RhcnRzWypiXSkKKwkgICAgcmV0dXJuIDE7CisgICAgcmV0dXJuIC0xOworfQorI2VuZGlmCisKK3N0YXRpYyBpbnQgc3VuX3ZlcmlmeV9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKyAgICB1aW50MzJfdCBzdGFydHNbU1VOX01BWFBBUlRJVElPTlNdLCBsZW5zW1NVTl9NQVhQQVJUSVRJT05TXSwgc3RhcnQsIHN0b3A7CisgICAgdWludDMyX3QgaSxqLGssc3RhcnRvLGVuZG87CisjaWZkZWYgSEFWRV9RU09SVF9SCisgICAgaW50IGFycmF5W1NVTl9NQVhQQVJUSVRJT05TXTsKKyAgICB1bnNpZ25lZCBpbnQgKnZlcmlmeV9zdW5fc3RhcnRzOworI2VuZGlmCisgICAgYXNzZXJ0KGN4dCk7CisgICAgYXNzZXJ0KGN4dC0+bGFiZWwpOworICAgIGFzc2VydChmZGlza19pc19sYWJlbChjeHQsIFNVTikpOworCisgICAgZmV0Y2hfc3VuKGN4dCwgc3RhcnRzLCBsZW5zLCAmc3RhcnQsICZzdG9wKTsKKworICAgIGZvciAoayA9IDA7IGsgPCA3OyBrKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgU1VOX01BWFBBUlRJVElPTlM7IGkrKykgeworCSAgICBpZiAoayAmJiAobGVuc1tpXSAlIChjeHQtPmdlb20uaGVhZHMgKiBjeHQtPmdlb20uc2VjdG9ycykpKQorCSAgICAgICAgZmRpc2tfd2FybngoY3h0LCBfKCJQYXJ0aXRpb24gJXUgZG9lc24ndCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIiksIGkrMSk7CisJICAgIGlmIChsZW5zW2ldKSB7CisJICAgICAgICBmb3IgKGogPSAwOyBqIDwgaTsgaisrKQorCSAgICAgICAgICAgIGlmIChsZW5zW2pdKSB7CisJICAgICAgICAgICAgICAgIGlmIChzdGFydHNbal0gPT0gc3RhcnRzW2ldK2xlbnNbaV0pIHsKKwkgICAgICAgICAgICAgICAgICAgIHN0YXJ0c1tqXSA9IHN0YXJ0c1tpXTsgbGVuc1tqXSArPSBsZW5zW2ldOworCSAgICAgICAgICAgICAgICAgICAgbGVuc1tpXSA9IDA7CisJICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc3RhcnRzW2ldID09IHN0YXJ0c1tqXStsZW5zW2pdKXsKKwkgICAgICAgICAgICAgICAgICAgIGxlbnNbal0gKz0gbGVuc1tpXTsKKwkgICAgICAgICAgICAgICAgICAgIGxlbnNbaV0gPSAwOworCSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFrKSB7CisJICAgICAgICAgICAgICAgICAgICBpZiAoc3RhcnRzW2ldIDwgc3RhcnRzW2pdK2xlbnNbal0gJiYKKwkJCQlzdGFydHNbal0gPCBzdGFydHNbaV0rbGVuc1tpXSkgeworCSAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0byA9IHN0YXJ0c1tpXTsKKwkgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RhcnRzW2pdID4gc3RhcnRvKQorCQkJCQlzdGFydG8gPSBzdGFydHNbal07CisJICAgICAgICAgICAgICAgICAgICAgICAgZW5kbyA9IHN0YXJ0c1tpXStsZW5zW2ldOworCSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdGFydHNbal0rbGVuc1tqXSA8IGVuZG8pCisJCQkJCWVuZG8gPSBzdGFydHNbal0rbGVuc1tqXTsKKwkgICAgICAgICAgICAgICAgICAgICAgICBmZGlza193YXJueChjeHQsIF8oIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIG90aGVycyBpbiAiCisJCQkJICAgICAgICJzZWN0b3JzICV1LSV1LiIpLCBpKzEsIHN0YXJ0bywgZW5kbyk7CisJICAgICAgICAgICAgICAgICAgICB9CisJICAgICAgICAgICAgICAgIH0KKwkgICAgICAgICAgICB9CisJICAgIH0KKwl9CisgICAgfQorCisjaWZkZWYgSEFWRV9RU09SVF9SCisgICAgZm9yIChpID0gMDsgaSA8IFNVTl9NQVhQQVJUSVRJT05TOyBpKyspIHsKKyAgICAgICAgaWYgKGxlbnNbaV0pCisgICAgICAgICAgICBhcnJheVtpXSA9IGk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGFycmF5W2ldID0gLTE7CisgICAgfQorICAgIHZlcmlmeV9zdW5fc3RhcnRzID0gc3RhcnRzOworCisgICAgcXNvcnRfcihhcnJheSxBUlJBWV9TSVpFKGFycmF5KSxzaXplb2YoYXJyYXlbMF0pLAorCSAgKGludCAoKikoY29uc3Qgdm9pZCAqLGNvbnN0IHZvaWQgKix2b2lkICopKSB2ZXJpZnlfc3VuX2NtcCwKKwkgIHZlcmlmeV9zdW5fc3RhcnRzKTsKKworICAgIGlmIChhcnJheVswXSA9PSAtMSkgeworCWZkaXNrX2luZm8oY3h0LCBfKCJObyBwYXJ0aXRpb25zIGRlZmluZWQuIikpOworCXJldHVybiAwOworICAgIH0KKyAgICBzdG9wID0gY3h0LT5nZW9tLmN5bGluZGVycyAqIGN4dC0+Z2VvbS5oZWFkcyAqIGN4dC0+Z2VvbS5zZWN0b3JzOworICAgIGlmIChzdGFydHNbYXJyYXlbMF1dKQorICAgICAgICBmZGlza193YXJueChjeHQsIF8oIlVudXNlZCBnYXAgLSBzZWN0b3JzIDAtJXUuIiksIHN0YXJ0c1thcnJheVswXV0pOworICAgIGZvciAoaSA9IDA7IGkgPCA3ICYmIGFycmF5W2krMV0gIT0gLTE7IGkrKykgeworICAgICAgICBmZGlza193YXJueChjeHQsIF8oIlVudXNlZCBnYXAgLSBzZWN0b3JzICV1LSV1LiIpLAorCSAgICAgICAoc3RhcnRzW2FycmF5W2ldXSArIGxlbnNbYXJyYXlbaV1dKSwKKwkgICAgICAgc3RhcnRzW2FycmF5W2krMV1dKTsKKyAgICB9CisgICAgc3RhcnQgPSAoc3RhcnRzW2FycmF5W2ldXSArIGxlbnNbYXJyYXlbaV1dKTsKKyAgICBpZiAoc3RhcnQgPCBzdG9wKQorICAgICAgICBmZGlza193YXJueChjeHQsIF8oIlVudXNlZCBnYXAgLSBzZWN0b3JzICV1LSV1LiIpLCBzdGFydCwgc3RvcCk7CisjZW5kaWYKKyAgICByZXR1cm4gMDsKK30KKworCitzdGF0aWMgaW50IGlzX2ZyZWVfc2VjdG9yKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCWZkaXNrX3NlY3Rvcl90IHMsIHVpbnQzMl90IHN0YXJ0c1tdLCB1aW50MzJfdCBsZW5zW10pCit7CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgY3h0LT5sYWJlbC0+bnBhcnRzX21heDsgaSsrKSB7CisJCWlmIChsZW5zW2ldICYmIHN0YXJ0c1tpXSA8PSBzCisJCSAgICAmJiBzdGFydHNbaV0gKyBsZW5zW2ldID4gcykKKwkJCXJldHVybiAwOworCX0KKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBzdW5fYWRkX3BhcnRpdGlvbigKKwkJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsCisJCXNpemVfdCAqcGFydG5vKQoreworCXN0cnVjdCBzdW5fZGlza2xhYmVsICpzdW5sYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJdWludDMyX3Qgc3RhcnRzW1NVTl9NQVhQQVJUSVRJT05TXSwgbGVuc1tTVU5fTUFYUEFSVElUSU9OU107CisJc3RydWN0IHN1bl9wYXJ0aXRpb24gKnBhcnQ7CisJc3RydWN0IHN1bl9pbmZvICppbmZvOworCXVpbnQzMl90IHN0YXJ0LCBzdG9wLCBzdG9wMjsKKwlpbnQgd2hvbGVfZGlzayA9IDA7CisJaW50IHN5cyA9IHBhICYmIHBhLT50eXBlID8gcGEtPnR5cGUtPmNvZGUgOiBTVU5fVEFHX0xJTlVYX05BVElWRTsKKwlpbnQgcmM7CisJc2l6ZV90IG47CisKKwljaGFyIG1lc2dbMjU2XTsKKwlzaXplX3QgaTsKKwl1bnNpZ25lZCBpbnQgZmlyc3QsIGxhc3Q7CisKKwlyYyA9IGZkaXNrX3BhcnRpdGlvbl9uZXh0X3BhcnRubyhwYSwgY3h0LCAmbik7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwlwYXJ0ID0gJnN1bmxhYmVsLT5wYXJ0aXRpb25zW25dOworCWluZm8gPSAmc3VubGFiZWwtPnZ0b2MuaW5mb3Nbbl07CisKKwlpZiAocGFydC0+bnVtX3NlY3RvcnMgJiYgYmUxNl90b19jcHUoaW5mby0+aWQpICE9IFNVTl9UQUdfVU5BU1NJR05FRCkgeworCQlmZGlza19pbmZvKGN4dCwgXygiUGFydGl0aW9uICV6dSBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgIgorCQkJIml0IGJlZm9yZSByZS1hZGRpbmcgaXQuIiksIG4gKyAxKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJZmV0Y2hfc3VuKGN4dCwgc3RhcnRzLCBsZW5zLCAmc3RhcnQsICZzdG9wKTsKKworCWlmIChzdG9wIDw9IHN0YXJ0KSB7CisJCWlmIChuID09IDIpCisJCQl3aG9sZV9kaXNrID0gMTsKKwkJZWxzZSB7CisJCQlmZGlza19pbmZvKGN4dCwgXygiT3RoZXIgcGFydGl0aW9ucyBhbHJlYWR5IGNvdmVyIHRoZSAiCisJCQkJIndob2xlIGRpc2suIERlbGV0ZSBzb21lL3NocmluayB0aGVtIGJlZm9yZSByZXRyeS4iKSk7CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCX0KKworCWlmIChwYSAmJiBwYS0+c3RhcnRfZm9sbG93X2RlZmF1bHQpCisJCWZpcnN0ID0gc3RhcnQ7CisJZWxzZSBpZiAocGEgJiYgZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydChwYSkpIHsKKwkJZmlyc3QgPSBwYS0+c3RhcnQ7CisKKwkJaWYgKCF3aG9sZV9kaXNrICYmICFpc19mcmVlX3NlY3RvcihjeHQsIGZpcnN0LCBzdGFydHMsIGxlbnMpKQorCQkJcmV0dXJuIC1FUkFOR0U7CisJfSBlbHNlIHsKKwkJc3RydWN0IGZkaXNrX2FzayAqYXNrOworCisJCXNucHJpbnRmKG1lc2csIHNpemVvZihtZXNnKSwgXygiRmlyc3QgJXMiKSwKKwkJCQlmZGlza19nZXRfdW5pdChjeHQsIEZESVNLX1NJTkdVTEFSKSk7CisJCWZvciAoOzspIHsKKwkJCWFzayA9IGZkaXNrX25ld19hc2soKTsKKwkJCWlmICghYXNrKQorCQkJCXJldHVybiAtRU5PTUVNOworCisJCQlmZGlza19hc2tfc2V0X3F1ZXJ5KGFzaywgbWVzZyk7CisJCQlmZGlza19hc2tfc2V0X3R5cGUoYXNrLCBGRElTS19BU0tUWVBFX05VTUJFUik7CisKKwkJCWlmICh3aG9sZV9kaXNrKSB7CisJCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfbG93KGFzaywgICAgIDApOwkvKiBtaW5pbWFsICovCisJCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfZGVmYXVsdChhc2ssIDApOwkvKiBkZWZhdWx0ICovCisJCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfaGlnaChhc2ssICAgIDApOwkvKiBtYXhpbWFsICovCisJCQl9IGVsc2UgeworCQkJCWZkaXNrX2Fza19udW1iZXJfc2V0X2xvdyhhc2ssICAgICBmZGlza19zY3JvdW5kKGN4dCwgc3RhcnQpKTsJLyogbWluaW1hbCAqLworCQkJCWZkaXNrX2Fza19udW1iZXJfc2V0X2RlZmF1bHQoYXNrLCBmZGlza19zY3JvdW5kKGN4dCwgc3RhcnQpKTsJLyogZGVmYXVsdCAqLworCQkJCWZkaXNrX2Fza19udW1iZXJfc2V0X2hpZ2goYXNrLCAgICBmZGlza19zY3JvdW5kKGN4dCwgc3RvcCkpOwkvKiBtYXhpbWFsICovCisJCQl9CisJCQlyYyA9IGZkaXNrX2RvX2FzayhjeHQsIGFzayk7CisJCQlmaXJzdCA9IGZkaXNrX2Fza19udW1iZXJfZ2V0X3Jlc3VsdChhc2spOworCQkJZmRpc2tfdW5yZWZfYXNrKGFzayk7CisJCQlpZiAocmMpCisJCQkJcmV0dXJuIHJjOworCisJCQlpZiAoZmRpc2tfdXNlX2N5bGluZGVycyhjeHQpKQorCQkJCWZpcnN0ICo9IGZkaXNrX2dldF91bml0c19wZXJfc2VjdG9yKGN4dCk7CisKKwkJCS8qIGV3dCBhc2tzIHRvIGFkZDogImRvbid0IHN0YXJ0IGEgcGFydGl0aW9uIGF0IGN5bCAwIgorCQkJICAgSG93ZXZlciwgZWRtdW5kb0ByYW5vLmRlbW9uLmNvLnVrIHdyaXRlczoKKwkJCSAgICJJbiBhZGRpdGlvbiB0byBoYXZpbmcgYSBTdW4gcGFydGl0aW9uIHRhYmxlLCB0byBiZSBhYmxlIHRvCisJCQkgICBib290IGZyb20gdGhlIGRpc2MsIHRoZSBmaXJzdCBwYXJ0aXRpb24sIC9kZXYvc2RYMSwgbXVzdAorCQkJICAgc3RhcnQgYXQgY3lsaW5kZXIgMC4gVGhpcyBtZWFucyB0aGF0IC9kZXYvc2RYMSBjb250YWlucworCQkJICAgdGhlIHBhcnRpdGlvbiB0YWJsZSBhbmQgdGhlIGJvb3QgYmxvY2ssIGFzIHRoZXNlIGFyZSB0aGUKKwkJCSAgIGZpcnN0IHR3byBzZWN0b3JzIG9mIHRoZSBkaXNjLiBUaGVyZWZvcmUgeW91IG11c3QgYmUKKwkJCSAgIGNhcmVmdWwgd2hhdCB5b3UgdXNlIC9kZXYvc2RYMSBmb3IuIEluIHBhcnRpY3VsYXIsIHlvdSBtdXN0CisJCQkgICBub3QgdXNlIGEgcGFydGl0aW9uIHN0YXJ0aW5nIGF0IGN5bGluZGVyIDAgZm9yIExpbnV4IHN3YXAsCisJCQkgICBhcyB0aGF0IHdvdWxkIG92ZXJ3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIGFuZCB0aGUgYm9vdAorCQkJICAgYmxvY2suIFlvdSBtYXksIGhvd2V2ZXIsIHVzZSBzdWNoIGEgcGFydGl0aW9uIGZvciBhIFVGUworCQkJICAgb3IgRVhUMiBmaWxlIHN5c3RlbSwgYXMgdGhlc2UgZmlsZSBzeXN0ZW1zIGxlYXZlIHRoZSBmaXJzdAorCQkJICAgMTAyNCBieXRlcyB1bmRpc3R1cmJlZC4gKi8KKwkJCS8qIE9uIHRoZSBvdGhlciBoYW5kLCBvbmUgc2hvdWxkIG5vdCB1c2UgcGFydGl0aW9ucworCQkJICAgc3RhcnRpbmcgYXQgYmxvY2sgMCBpbiBhbiBtZCwgb3IgdGhlIGxhYmVsIHdpbGwKKwkJCSAgIGJlIHRyYXNoZWQuICovCisJCQlpZiAoIWlzX2ZyZWVfc2VjdG9yKGN4dCwgZmlyc3QsIHN0YXJ0cywgIGxlbnMpICYmICF3aG9sZV9kaXNrKSB7CisJCQkJaWYgKG4gPT0gMiAmJiAhZmlyc3QpIHsKKwkJCQkgICAgd2hvbGVfZGlzayA9IDE7CisJCQkJICAgIGJyZWFrOworCQkJCX0KKwkJCQlmZGlza193YXJueChjeHQsIF8oIlNlY3RvciAlZCBpcyBhbHJlYWR5IGFsbG9jYXRlZCIpLCBmaXJzdCk7CisJCQl9IGVsc2UKKwkJCQlicmVhazsKKwkJfQorCX0KKworCWlmIChuID09IDIgJiYgZmlyc3QgIT0gMCkKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgIgorCQkJCSAgICJ0aGlyZCBwYXJ0aXRpb24gY292ZXJzIHRoZSB3aG9sZSBkaXNrICIKKwkJCQkgICAiYW5kIGlzIG9mIHR5cGUgYFdob2xlIGRpc2snIikpOworCisJaWYgKCFmZGlza191c2VfY3lsaW5kZXJzKGN4dCkpIHsKKwkJLyogU3RhcnRpbmcgc2VjdG9yIGhhcyB0byBiZSBwcm9wZXJseSBhbGlnbmVkICovCisJCWludCBjcyA9IGN4dC0+Z2VvbS5oZWFkcyAqIGN4dC0+Z2VvbS5zZWN0b3JzOworCQlpbnQgeCA9IGZpcnN0ICUgY3M7CisKKwkJaWYgKHgpIHsKKwkJCWZkaXNrX2luZm8oY3h0LCBfKCJBbGlnbmluZyB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gJXUgdG8gJXUgIgorCQkJCQkgICJ0byBiZSBvbiBjeWxpbmRlciBib3VuZGFyeS4iKSwKKwkJCQkJZmlyc3QsIGZpcnN0ICsgY3MgLSB4KTsKKwkJCWZpcnN0ICs9IGNzIC0geDsKKwkJfQorCX0KKworCXN0b3AgPSBjeHQtPmdlb20uY3lsaW5kZXJzICogY3h0LT5nZW9tLmhlYWRzICogY3h0LT5nZW9tLnNlY3RvcnM7CS8qIGFuY2llbnQgKi8KKwlzdG9wMiA9IHN0b3A7CisJZm9yIChpID0gMDsgaSA8IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXg7IGkrKykgeworCQlpZiAoc3RhcnRzW2ldID4gZmlyc3QgJiYgc3RhcnRzW2ldIDwgc3RvcCkKKwkJCXN0b3AgPSBzdGFydHNbaV07CisJfQorCisJLyogbGFzdCAqLworCWlmIChwYSAmJiBwYS0+ZW5kX2ZvbGxvd19kZWZhdWx0KQorCQlsYXN0ID0gd2hvbGVfZGlzayB8fCAobiA9PSAyICYmICFmaXJzdCkgPyBzdG9wMiA6IHN0b3A7CisJZWxzZSBpZiAocGEgJiYgZmRpc2tfcGFydGl0aW9uX2hhc19zaXplKHBhKSkgeworCQlsYXN0ID0gZmlyc3QgKyBwYS0+c2l6ZSAtIDFVTEw7CisKKwkJaWYgKCF3aG9sZV9kaXNrICYmIGxhc3QgPiBzdG9wKQorCQkJcmV0dXJuIC1FUkFOR0U7CisJfSBlbHNlIHsKKwkJc3RydWN0IGZkaXNrX2FzayAqYXNrID0gZmRpc2tfbmV3X2FzaygpOworCisJCWlmICghYXNrKQorCQkJcmV0dXJuIC1FTk9NRU07CisKKwkJc25wcmludGYobWVzZywgc2l6ZW9mKG1lc2cpLAorCQkJIF8oIkxhc3QgJXMgb3IgKyVzIG9yICtzaXple0ssTSxHLFQsUH0iKSwKKwkJCSBmZGlza19nZXRfdW5pdChjeHQsIEZESVNLX1NJTkdVTEFSKSwKKwkJCSBmZGlza19nZXRfdW5pdChjeHQsIEZESVNLX1BMVVJBTCkpOworCQlmZGlza19hc2tfc2V0X3F1ZXJ5KGFzaywgbWVzZyk7CisJCWZkaXNrX2Fza19zZXRfdHlwZShhc2ssIEZESVNLX0FTS1RZUEVfT0ZGU0VUKTsKKworCQlpZiAod2hvbGVfZGlzaykgeworCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfbG93KGFzaywgICAgIGZkaXNrX3Njcm91bmQoY3h0LCBzdG9wMikpOwkvKiBtaW5pbWFsICovCisJCQlmZGlza19hc2tfbnVtYmVyX3NldF9kZWZhdWx0KGFzaywgZmRpc2tfc2Nyb3VuZChjeHQsIHN0b3AyKSk7CS8qIGRlZmF1bHQgKi8KKwkJCWZkaXNrX2Fza19udW1iZXJfc2V0X2hpZ2goYXNrLCAgICBmZGlza19zY3JvdW5kKGN4dCwgc3RvcDIpKTsJLyogbWF4aW1hbCAqLworCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfYmFzZShhc2ssICAgIDApOworCQl9IGVsc2UgaWYgKG4gPT0gMiAmJiAhZmlyc3QpIHsKKwkJCWZkaXNrX2Fza19udW1iZXJfc2V0X2xvdyhhc2ssICAgICBmZGlza19zY3JvdW5kKGN4dCwgZmlyc3QpKTsJLyogbWluaW1hbCAqLworCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfZGVmYXVsdChhc2ssIGZkaXNrX3Njcm91bmQoY3h0LCBzdG9wMikpOwkvKiBkZWZhdWx0ICovCisJCQlmZGlza19hc2tfbnVtYmVyX3NldF9oaWdoKGFzaywgICAgZmRpc2tfc2Nyb3VuZChjeHQsIHN0b3AyKSk7CS8qIG1heGltYWwgKi8KKwkJCWZkaXNrX2Fza19udW1iZXJfc2V0X2Jhc2UoYXNrLAkgIGZkaXNrX3Njcm91bmQoY3h0LCBmaXJzdCkpOworCQl9IGVsc2UgeworCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfbG93KGFzaywgICAgIGZkaXNrX3Njcm91bmQoY3h0LCBmaXJzdCkpOwkvKiBtaW5pbWFsICovCisJCQlmZGlza19hc2tfbnVtYmVyX3NldF9kZWZhdWx0KGFzaywgZmRpc2tfc2Nyb3VuZChjeHQsIHN0b3ApKTsJLyogZGVmYXVsdCAqLworCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfaGlnaChhc2ssICAgIGZkaXNrX3Njcm91bmQoY3h0LCBzdG9wKSk7CS8qIG1heGltYWwgKi8KKwkJCWZkaXNrX2Fza19udW1iZXJfc2V0X2Jhc2UoYXNrLCAgICBmZGlza19zY3JvdW5kKGN4dCwgZmlyc3QpKTsKKwkJfQorCisJCWlmIChmZGlza191c2VfY3lsaW5kZXJzKGN4dCkpCisJCQlmZGlza19hc2tfbnVtYmVyX3NldF91bml0KGFzaywKKwkJCQkgICAgIGN4dC0+c2VjdG9yX3NpemUgKgorCQkJCSAgICAgZmRpc2tfZ2V0X3VuaXRzX3Blcl9zZWN0b3IoY3h0KSk7CisJCWVsc2UKKwkJCWZkaXNrX2Fza19udW1iZXJfc2V0X3VuaXQoYXNrLAljeHQtPnNlY3Rvcl9zaXplKTsKKworCQlyYyA9IGZkaXNrX2RvX2FzayhjeHQsIGFzayk7CisJCWxhc3QgPSBmZGlza19hc2tfbnVtYmVyX2dldF9yZXN1bHQoYXNrKTsKKworCQlmZGlza191bnJlZl9hc2soYXNrKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCQlpZiAoZmRpc2tfdXNlX2N5bGluZGVycyhjeHQpKQorCQkJbGFzdCAqPSBmZGlza19nZXRfdW5pdHNfcGVyX3NlY3RvcihjeHQpOworCX0KKworCWlmIChuID09IDIgJiYgIWZpcnN0KSB7CisJCWlmIChsYXN0ID49IHN0b3AyKSB7CisJCSAgICB3aG9sZV9kaXNrID0gMTsKKwkJICAgIGxhc3QgPSBzdG9wMjsKKwkJfSBlbHNlIGlmIChsYXN0ID4gc3RvcCkgeworCQkgICAgZmRpc2tfd2FybngoY3h0LAorICAgXygiWW91IGhhdmVuJ3QgY292ZXJlZCB0aGUgd2hvbGUgZGlzayB3aXRoIHRoZSAzcmQgcGFydGl0aW9uLCBidXQgeW91ciB2YWx1ZVxuIgorICAgICAiJWx1ICVzIGNvdmVycyBzb21lIG90aGVyIHBhcnRpdGlvbi4gWW91ciBlbnRyeSBoYXMgYmVlbiBjaGFuZ2VkXG4iCisgICAgICJ0byAlbHUgJXMiKSwKKwkJCSh1bnNpZ25lZCBsb25nKSBmZGlza19zY3JvdW5kKGN4dCwgbGFzdCksIGZkaXNrX2dldF91bml0KGN4dCwgRkRJU0tfU0lOR1VMQVIpLAorCQkJKHVuc2lnbmVkIGxvbmcpIGZkaXNrX3Njcm91bmQoY3h0LCBzdG9wKSwgZmRpc2tfZ2V0X3VuaXQoY3h0LCBGRElTS19TSU5HVUxBUikpOworCQkgICAgbGFzdCA9IHN0b3A7CisJCX0KKwl9IGVsc2UgaWYgKCF3aG9sZV9kaXNrICYmIGxhc3QgPiBzdG9wKQorCQlsYXN0ID0gc3RvcDsKKworCWlmICh3aG9sZV9kaXNrKQorCQlzeXMgPSBTVU5fVEFHX1dIT0xFRElTSzsKKworCXNldF9wYXJ0aXRpb24oY3h0LCBuLCBmaXJzdCwgbGFzdCwgc3lzKTsKKwljeHQtPmxhYmVsLT5ucGFydHNfY3VyID0gY291bnRfdXNlZF9wYXJ0aXRpb25zKGN4dCk7CisJaWYgKHBhcnRubykKKwkJKnBhcnRubyA9IG47CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc3VuX2RlbGV0ZV9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJc2l6ZV90IHBhcnRudW0pCit7CisJc3RydWN0IHN1bl9kaXNrbGFiZWwgKnN1bmxhYmVsOworCXN0cnVjdCBzdW5fcGFydGl0aW9uICpwYXJ0OworCXN0cnVjdCBzdW5faW5mbyAqaW5mbzsKKwl1bnNpZ25lZCBpbnQgbnNlYzsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBTVU4pKTsKKworCXN1bmxhYmVsID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKwlwYXJ0ID0gJnN1bmxhYmVsLT5wYXJ0aXRpb25zW3BhcnRudW1dOworCWluZm8gPSAmc3VubGFiZWwtPnZ0b2MuaW5mb3NbcGFydG51bV07CisKKwlpZiAocGFydG51bSA9PSAyICYmCisJICAgIGJlMTZfdG9fY3B1KGluZm8tPmlkKSA9PSBTVU5fVEFHX1dIT0xFRElTSyAmJgorCSAgICAhcGFydC0+c3RhcnRfY3lsaW5kZXIgJiYKKwkgICAgKG5zZWMgPSBiZTMyX3RvX2NwdShwYXJ0LT5udW1fc2VjdG9ycykpCisJICAgID09IGN4dC0+Z2VvbS5oZWFkcyAqIGN4dC0+Z2VvbS5zZWN0b3JzICogY3h0LT5nZW9tLmN5bGluZGVycykKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIklmIHlvdSB3YW50IHRvIG1haW50YWluIFN1bk9TL1NvbGFyaXMgY29tcGF0aWJpbGl0eSwgIgorCQkJICJjb25zaWRlciBsZWF2aW5nIHRoaXMgIgorCQkJICJwYXJ0aXRpb24gYXMgV2hvbGUgZGlzayAoNSksIHN0YXJ0aW5nIGF0IDAsIHdpdGggJXUgIgorCQkJICJzZWN0b3JzIiksIG5zZWMpOworCWluZm8tPmlkID0gY3B1X3RvX2JlMTYoU1VOX1RBR19VTkFTU0lHTkVEKTsKKwlwYXJ0LT5udW1fc2VjdG9ycyA9IDA7CisJY3h0LT5sYWJlbC0+bnBhcnRzX2N1ciA9IGNvdW50X3VzZWRfcGFydGl0aW9ucyhjeHQpOworCWZkaXNrX2xhYmVsX3NldF9jaGFuZ2VkKGN4dC0+bGFiZWwsIDEpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHN1bl9nZXRfZGlza2xhYmVsX2l0ZW0oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX2xhYmVsaXRlbSAqaXRlbSkKK3sKKwlzdHJ1Y3Qgc3VuX2Rpc2tsYWJlbCAqc3VubGFiZWw7CisJaW50IHJjID0gMDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBTVU4pKTsKKworCXN1bmxhYmVsID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKworCXN3aXRjaCAoaXRlbS0+aWQpIHsKKwljYXNlIFNVTl9MQUJFTElURU1fTEFCRUxJRDoKKwkJaXRlbS0+bmFtZSA9XygiTGFiZWwgSUQiKTsKKwkJaXRlbS0+dHlwZSA9ICdzJzsKKwkJaXRlbS0+ZGF0YS5zdHIgPSAqc3VubGFiZWwtPmxhYmVsX2lkID8gc3RybmR1cCgoY2hhciAqKXN1bmxhYmVsLT5sYWJlbF9pZCwgc2l6ZW9mKHN1bmxhYmVsLT5sYWJlbF9pZCkpIDogTlVMTDsKKwkJYnJlYWs7CisJY2FzZSBTVU5fTEFCRUxJVEVNX1ZUT0NJRDoKKwkJaXRlbS0+bmFtZSA9XygiVm9sdW1lIElEIik7CisJCWl0ZW0tPnR5cGUgPSAncyc7CisJCWl0ZW0tPmRhdGEuc3RyID0gKnN1bmxhYmVsLT52dG9jLnZvbHVtZV9pZCA/IHN0cm5kdXAoKGNoYXIgKilzdW5sYWJlbC0+dnRvYy52b2x1bWVfaWQsIHNpemVvZihzdW5sYWJlbC0+dnRvYy52b2x1bWVfaWQpKSA6IE5VTEw7CisJCWJyZWFrOworCWNhc2UgU1VOX0xBQkVMSVRFTV9SUE06CisJCWl0ZW0tPm5hbWUgPV8oIlJwbSIpOworCQlpdGVtLT50eXBlID0gJ2onOworCQlpdGVtLT5kYXRhLm51bTY0ID0gYmUxNl90b19jcHUoc3VubGFiZWwtPnJwbSk7CisJCWJyZWFrOworCWNhc2UgU1VOX0xBQkVMSVRFTV9BQ1lMOgorCQlpdGVtLT5uYW1lID1fKCJBbHRlcm5hdGUgY3lsaW5kZXJzIik7CisJCWl0ZW0tPnR5cGUgPSAnaic7CisJCWl0ZW0tPmRhdGEubnVtNjQgPSBiZTE2X3RvX2NwdShzdW5sYWJlbC0+YWN5bCk7CisJCWJyZWFrOworCWNhc2UgU1VOX0xBQkVMSVRFTV9QQ1lMOgorCQlpdGVtLT5uYW1lID1fKCJQaHlzaWNhbCBjeWxpbmRlcnMiKTsKKwkJaXRlbS0+dHlwZSA9ICdqJzsKKwkJaXRlbS0+ZGF0YS5udW02NCA9IGJlMTZfdG9fY3B1KHN1bmxhYmVsLT5wY3lsKTsKKwkJYnJlYWs7CisJY2FzZSBTVU5fTEFCRUxJVEVNX0FQQzoKKwkJaXRlbS0+bmFtZSA9XygiRXh0cmEgc2VjdHMvY3lsIik7CisJCWl0ZW0tPnR5cGUgPSAnaic7CisJCWl0ZW0tPmRhdGEubnVtNjQgPSBiZTE2X3RvX2NwdShzdW5sYWJlbC0+YXBjKTsKKwkJYnJlYWs7CisJY2FzZSBTVU5fTEFCRUxJVEVNX0lOVFJMVjoKKwkJaXRlbS0+bmFtZSA9XygiSW50ZXJsZWF2ZSIpOworCQlpdGVtLT50eXBlID0gJ2onOworCQlpdGVtLT5kYXRhLm51bTY0ID0gYmUxNl90b19jcHUoc3VubGFiZWwtPmludHJsdik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWlmIChpdGVtLT5pZCA8IF9fRkRJU0tfTkxBQkVMSVRFTVMpCisJCQlyYyA9IDE7CS8qIHVuc3VwcG9ydGVkIGdlbmVyaWMgaXRlbSAqLworCQllbHNlCisJCQlyYyA9IDI7CS8qIG91dCBvZiByYW5nZSAqLworCQlicmVhazsKKwl9CisKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnN1bl9nZXRfcGFydHR5cGUoCisJCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCXNpemVfdCBuKQoreworCXN0cnVjdCBzdW5fZGlza2xhYmVsICpzdW5sYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0OworCisJaWYgKG4gPj0gY3h0LT5sYWJlbC0+bnBhcnRzX21heCkKKwkJcmV0dXJuIE5VTEw7CisKKwl0ID0gZmRpc2tfbGFiZWxfZ2V0X3BhcnR0eXBlX2Zyb21fY29kZShjeHQtPmxhYmVsLAorCQkJYmUxNl90b19jcHUoc3VubGFiZWwtPnZ0b2MuaW5mb3Nbbl0uaWQpKTsKKwlyZXR1cm4gdCA/IDogZmRpc2tfbmV3X3Vua25vd25fcGFydHR5cGUoYmUxNl90b19jcHUoc3VubGFiZWwtPnZ0b2MuaW5mb3Nbbl0uaWQpLCBOVUxMKTsKK30KKworCitzdGF0aWMgaW50IHN1bl9nZXRfcGFydGl0aW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBuLAorCQkJICAgICAgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJc3RydWN0IHN1bl9kaXNrbGFiZWwgKnN1bmxhYmVsOworCXN0cnVjdCBzdW5fcGFydGl0aW9uICpwYXJ0OworCXVpbnQxNl90IGZsYWdzOworCXVpbnQzMl90IHN0YXJ0LCBsZW47CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgU1VOKSk7CisKKwlpZiAobiA+PSBjeHQtPmxhYmVsLT5ucGFydHNfbWF4KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXN1bmxhYmVsID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKwlwYXJ0ID0gJnN1bmxhYmVsLT5wYXJ0aXRpb25zW25dOworCisJcGEtPnVzZWQgPSBwYXJ0LT5udW1fc2VjdG9ycyA/IDEgOiAwOworCWlmICghcGEtPnVzZWQpCisJCXJldHVybiAwOworCisJZmxhZ3MgPSBiZTE2X3RvX2NwdShzdW5sYWJlbC0+dnRvYy5pbmZvc1tuXS5mbGFncyk7CisJc3RhcnQgPSBiZTMyX3RvX2NwdShwYXJ0LT5zdGFydF9jeWxpbmRlcikKKwkJCSogY3h0LT5nZW9tLmhlYWRzICogY3h0LT5nZW9tLnNlY3RvcnM7CisJbGVuID0gYmUzMl90b19jcHUocGFydC0+bnVtX3NlY3RvcnMpOworCisJcGEtPnR5cGUgPSBzdW5fZ2V0X3BhcnR0eXBlKGN4dCwgbik7CisJaWYgKHBhLT50eXBlICYmIHBhLT50eXBlLT5jb2RlID09IFNVTl9UQUdfV0hPTEVESVNLKQorCQlwYS0+d2hvbGVkaXNrID0gMTsKKworCWlmIChmbGFncyAmIFNVTl9GTEFHX1VOTU5UIHx8IGZsYWdzICYgU1VOX0ZMQUdfUk9OTFkpIHsKKwkJaWYgKGFzcHJpbnRmKCZwYS0+YXR0cnMsICIlYyVjIiwKKwkJCQlmbGFncyAmIFNVTl9GTEFHX1VOTU5UID8gJ3UnIDogJyAnLAorCQkJCWZsYWdzICYgU1VOX0ZMQUdfUk9OTFkgPyAncicgOiAnICcpIDwgMCkKKwkJCXJldHVybiAtRU5PTUVNOworCX0KKworCXBhLT5zdGFydCA9IHN0YXJ0OworCXBhLT5zaXplID0gbGVuOworCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfc3VuX3NldF9hbHRfY3lsOgorICogQGN4dDogY29udGV4dAorICoKKyAqIFNldHMgbnVtYmVyIG9mIGFsdGVybmF0aXZlIGN5bGluZGVycy4gVGhpcyBmdW5jdGlvbiB1c2VzIGxpYmZkaXNrIEFzayBBUEkKKyAqIGZvciBkaWFsb2cgd2l0aCB1c2VyLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19zdW5fc2V0X2FsdF9jeWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3Qgc3VuX2Rpc2tsYWJlbCAqc3VubGFiZWwgPSBzZWxmX2Rpc2tsYWJlbChjeHQpOworCXVpbnRtYXhfdCByZXM7CisJaW50IHJjID0gZmRpc2tfYXNrX251bWJlcihjeHQsIDAsCQkJLyogbG93ICovCisJCQliZTE2X3RvX2NwdShzdW5sYWJlbC0+YWN5bCksCQkvKiBkZWZhdWx0ICovCisJCQk2NTUzNSwJCQkJCS8qIGhpZ2ggKi8KKwkJCV8oIk51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIiksCS8qIHF1ZXJ5ICovCisJCQkmcmVzKTsJCQkJCS8qIHJlc3VsdCAqLworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJc3VubGFiZWwtPmFjeWwgPSBjcHVfdG9fYmUxNihyZXMpOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX3N1bl9zZXRfeGN5bDoKKyAqIEBjeHQ6IGNvbnRleHQKKyAqCisgKiBTZXRzIG51bWJlciBvZiBleHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlci4gVGhpcyBmdW5jdGlvbiB1c2VzIGxpYmZkaXNrIEFzayBBUEkKKyAqIGZvciBkaWFsb2cgd2l0aCB1c2VyLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19zdW5fc2V0X3hjeWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3Qgc3VuX2Rpc2tsYWJlbCAqc3VubGFiZWwgPSBzZWxmX2Rpc2tsYWJlbChjeHQpOworCXVpbnRtYXhfdCByZXM7CisJaW50IHJjID0gZmRpc2tfYXNrX251bWJlcihjeHQsIDAsCQkJLyogbG93ICovCisJCQliZTE2X3RvX2NwdShzdW5sYWJlbC0+YXBjKSwJCS8qIGRlZmF1bHQgKi8KKwkJCWN4dC0+Z2VvbS5zZWN0b3JzLAkJCS8qIGhpZ2ggKi8KKwkJCV8oIkV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIiksCS8qIHF1ZXJ5ICovCisJCQkmcmVzKTsJCQkJCS8qIHJlc3VsdCAqLworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCXN1bmxhYmVsLT5hcGMgPSBjcHVfdG9fYmUxNihyZXMpOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX3N1bl9zZXRfaWxmYWN0OgorICogQGN4dDogY29udGV4dAorICoKKyAqIFNldHMgaW50ZXJsZWF2ZSBmYWN0b3IuIFRoaXMgZnVuY3Rpb24gdXNlcyBsaWJmZGlzayBBc2sgQVBJIGZvciBkaWFsb2cgd2l0aAorICogdXNlci4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLgorICovCitpbnQgZmRpc2tfc3VuX3NldF9pbGZhY3Qoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3Qgc3VuX2Rpc2tsYWJlbCAqc3VubGFiZWwgPSBzZWxmX2Rpc2tsYWJlbChjeHQpOworCXVpbnRtYXhfdCByZXM7CisJaW50IHJjID0gZmRpc2tfYXNrX251bWJlcihjeHQsIDEsCQkJLyogbG93ICovCisJCQliZTE2X3RvX2NwdShzdW5sYWJlbC0+aW50cmx2KSwJCS8qIGRlZmF1bHQgKi8KKwkJCTMyLAkJCQkJLyogaGlnaCAqLworCQkJXygiSW50ZXJsZWF2ZSBmYWN0b3IiKSwJLyogcXVlcnkgKi8KKwkJCSZyZXMpOwkJCQkJLyogcmVzdWx0ICovCisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisJc3VubGFiZWwtPmludHJsdiA9IGNwdV90b19iZTE2KHJlcyk7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfc3VuX3NldF9yc3BlZWQKKyAqIEBjeHQ6IGNvbnRleHQKKyAqCisgKiBTZXRzIHJvdGF0aW9uIHNwZWVkLiBUaGlzIGZ1bmN0aW9uIHVzZXMgbGliZmRpc2sgQXNrIEFQSSBmb3IgZGlhbG9nIHdpdGgKKyAqIHVzZXIuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3N1bl9zZXRfcnNwZWVkKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IHN1bl9kaXNrbGFiZWwgKnN1bmxhYmVsID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKwl1aW50bWF4X3QgcmVzOworCWludCByYyA9IGZkaXNrX2Fza19udW1iZXIoY3h0LCAxLAkJCS8qIGxvdyAqLworCQkJYmUxNl90b19jcHUoc3VubGFiZWwtPnJwbSksCQkvKiBkZWZhdWx0ICovCisJCQlVU0hSVF9NQVgsCQkJCS8qIGhpZ2ggKi8KKwkJCV8oIlJvdGF0aW9uIHNwZWVkIChycG0pIiksCQkvKiBxdWVyeSAqLworCQkJJnJlcyk7CQkJCQkvKiByZXN1bHQgKi8KKwlpZiAocmMpCisJCXJldHVybiByYzsKKwlzdW5sYWJlbC0+cnBtID0gY3B1X3RvX2JlMTYocmVzKTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19zdW5fc2V0X3BjeWxjb3VudAorICogQGN4dDogY29udGV4dAorICoKKyAqIFNldHMgbnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycy4gVGhpcyBmdW5jdGlvbiB1c2VzIGxpYmZkaXNrIEFzayBBUEkgZm9yCisgKiBkaWFsb2cgd2l0aCB1c2VyLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19zdW5fc2V0X3BjeWxjb3VudChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBzdW5fZGlza2xhYmVsICpzdW5sYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJdWludG1heF90IHJlczsKKwlpbnQgcmMgPSBmZGlza19hc2tfbnVtYmVyKGN4dCwgMCwJCQkvKiBsb3cgKi8KKwkJCWJlMTZfdG9fY3B1KHN1bmxhYmVsLT5wY3lsKSwJCS8qIGRlZmF1bHQgKi8KKwkJCVVTSFJUX01BWCwJCQkJLyogaGlnaCAqLworCQkJXygiTnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIpLAkvKiBxdWVyeSAqLworCQkJJnJlcyk7CQkJCQkvKiByZXN1bHQgKi8KKwlpZiAoIXJjKQorCQlyZXR1cm4gcmM7CisJc3VubGFiZWwtPnBjeWwgPSBjcHVfdG9fYmUxNihyZXMpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHN1bl93cml0ZV9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3Qgc3VuX2Rpc2tsYWJlbCAqc3VubGFiZWw7CisJdW5zaWduZWQgc2hvcnQgKnVzaDsKKwl1bnNpZ25lZCBzaG9ydCBjc3VtID0gMDsKKwljb25zdCBzaXplX3Qgc3ogPSBzaXplb2Yoc3RydWN0IHN1bl9kaXNrbGFiZWwpOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIFNVTikpOworCisJc3VubGFiZWwgPSBzZWxmX2Rpc2tsYWJlbChjeHQpOworCisJLyogTWF5YmUgZ2VvbWV0cnkgaGFzIGJlZW4gbW9kaWZpZWQgKi8KKwlzdW5sYWJlbC0+bmhlYWQgPSBjcHVfdG9fYmUxNihjeHQtPmdlb20uaGVhZHMpOworCXN1bmxhYmVsLT5uc2VjdCA9IGNwdV90b19iZTE2KGN4dC0+Z2VvbS5zZWN0b3JzKTsKKworCWlmIChjeHQtPmdlb20uY3lsaW5kZXJzICE9IGJlMTZfdG9fY3B1KHN1bmxhYmVsLT5uY3lsKSkgeworCQlpbnQgYSA9IGNwdV90b19iZTE2KGN4dC0+Z2VvbS5jeWxpbmRlcnMpOworCQlpbnQgYiA9IGJlMTZfdG9fY3B1KHN1bmxhYmVsLT5hY3lsKTsKKwkJc3VubGFiZWwtPm5jeWwgPSBhIC0gYjsKKwl9CisKKwl1c2ggPSAodW5zaWduZWQgc2hvcnQgKikgc3VubGFiZWw7CisKKwl3aGlsZSh1c2ggPCAodW5zaWduZWQgc2hvcnQgKikoJnN1bmxhYmVsLT5jc3VtKSkKKwkJY3N1bSBePSAqdXNoKys7CisJc3VubGFiZWwtPmNzdW0gPSBjc3VtOworCWlmIChsc2VlayhjeHQtPmRldl9mZCwgMCwgU0VFS19TRVQpIDwgMCkKKwkJcmV0dXJuIC1lcnJubzsKKwlpZiAod3JpdGVfYWxsKGN4dC0+ZGV2X2ZkLCBzdW5sYWJlbCwgc3opICE9IDApCisJCXJldHVybiAtZXJybm87CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzdW5fc2V0X3BhcnRpdGlvbigKKwkJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJc2l6ZV90IGksCisJCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKQoreworCXN0cnVjdCBzdW5fZGlza2xhYmVsICpzdW5sYWJlbDsKKwlzdHJ1Y3Qgc3VuX3BhcnRpdGlvbiAqcGFydDsKKwlzdHJ1Y3Qgc3VuX2luZm8gKmluZm87CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgU1VOKSk7CisKKwlzdW5sYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisKKwlpZiAoaSA+PSBjeHQtPmxhYmVsLT5ucGFydHNfbWF4KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChwYS0+dHlwZSkgeworCQlzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQgPSBwYS0+dHlwZTsKKworCQlpZiAodC0+Y29kZSA+IFVJTlQxNl9NQVgpCisJCQlyZXR1cm4gLUVJTlZBTDsKKworCQlpZiAoaSA9PSAyICYmIHQtPmNvZGUgIT0gU1VOX1RBR19XSE9MRURJU0spCisJCQlmZGlza19pbmZvKGN4dCwgXygiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gMyBhcyBXaG9sZSBkaXNrICg1KSxcbiIKKwkJCSAgICAgICAgICJhcyBTdW5PUy9Tb2xhcmlzIGV4cGVjdHMgaXQgYW5kIGV2ZW4gTGludXggbGlrZXMgaXQuXG4iKSk7CisKKwkJcGFydCA9ICZzdW5sYWJlbC0+cGFydGl0aW9uc1tpXTsKKwkJaW5mbyA9ICZzdW5sYWJlbC0+dnRvYy5pbmZvc1tpXTsKKworCQlpZiAoY3h0LT5zY3JpcHQgPT0gTlVMTCAmJgorCQkgICAgdC0+Y29kZSA9PSBTVU5fVEFHX0xJTlVYX1NXQVAgJiYgIXBhcnQtPnN0YXJ0X2N5bGluZGVyKSB7CisJCQlpbnQgeWVzLCByYzsKKworCQkJcmMgPSBmZGlza19hc2tfeWVzbm8oY3h0LAorCQkJICAgICAgXygiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMFxuIgorCQkJICAgICAgImlzIFVGUywgRVhUMkZTIGZpbGVzeXN0ZW0gb3IgU3VuT1Mgc3dhcC4gUHV0dGluZyBMaW51eCBzd2FwXG4iCisJCQkgICAgICAidGhlcmUgbWF5IGRlc3Ryb3kgeW91ciBwYXJ0aXRpb24gdGFibGUgYW5kIGJvb3RibG9jay5cbiIKKwkJCSAgICAgICJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdGFnIHRoZSBwYXJ0aXRpb24gYXMgTGludXggc3dhcD8iKSwgJnllcyk7CisJCQlpZiAocmMpCisJCQkJcmV0dXJuIHJjOworCQkJaWYgKCF5ZXMpCisJCQkJcmV0dXJuIDE7CisJCX0KKworCQlzd2l0Y2ggKHQtPmNvZGUpIHsKKwkJY2FzZSBTVU5fVEFHX1NXQVA6CisJCWNhc2UgU1VOX1RBR19MSU5VWF9TV0FQOgorCQkJLyogc3dhcHMgYXJlIG5vdCBtb3VudGFibGUgYnkgZGVmYXVsdCAqLworCQkJaW5mby0+ZmxhZ3MgfD0gY3B1X3RvX2JlMTYoU1VOX0ZMQUdfVU5NTlQpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQkvKiBhc3N1bWUgb3RoZXIgdHlwZXMgYXJlIG1vdW50YWJsZTsKKwkJCSAgIHVzZXIgY2FuIGNoYW5nZSBpdCBhbnl3YXkgKi8KKwkJCWluZm8tPmZsYWdzICY9IH5jcHVfdG9fYmUxNihTVU5fRkxBR19VTk1OVCk7CisJCQlicmVhazsKKwkJfQorCQlpbmZvLT5pZCA9IGNwdV90b19iZTE2KHQtPmNvZGUpOworCX0KKworCWlmIChmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSkKKwkJc3VubGFiZWwtPnBhcnRpdGlvbnNbaV0uc3RhcnRfY3lsaW5kZXIgPQorCQkJY3B1X3RvX2JlMzIocGEtPnN0YXJ0IC8gKGN4dC0+Z2VvbS5oZWFkcyAqIGN4dC0+Z2VvbS5zZWN0b3JzKSk7CisJaWYgKGZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkpCisJCXN1bmxhYmVsLT5wYXJ0aXRpb25zW2ldLm51bV9zZWN0b3JzID0gY3B1X3RvX2JlMzIocGEtPnNpemUpOworCisJZmRpc2tfbGFiZWxfc2V0X2NoYW5nZWQoY3h0LT5sYWJlbCwgMSk7CisJcmV0dXJuIDA7Cit9CisKKworc3RhdGljIGludCBzdW5fcmVzZXRfYWxpZ25tZW50KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXJldHVybiAwOworfQorCisKK3N0YXRpYyBpbnQgc3VuX3BhcnRpdGlvbl9pc191c2VkKAorCQlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQlzaXplX3QgaSkKK3sKKwlzdHJ1Y3Qgc3VuX2Rpc2tsYWJlbCAqc3VubGFiZWw7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgU1VOKSk7CisKKwlpZiAoaSA+PSBjeHQtPmxhYmVsLT5ucGFydHNfbWF4KQorCQlyZXR1cm4gMDsKKworCXN1bmxhYmVsID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKwlyZXR1cm4gc3VubGFiZWwtPnBhcnRpdGlvbnNbaV0ubnVtX3NlY3RvcnMgPyAxIDogMDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBmZGlza19maWVsZCBzdW5fZmllbGRzW10gPQoreworCXsgRkRJU0tfRklFTERfREVWSUNFLAlOXygiRGV2aWNlIiksCSAxMCwJMCB9LAorCXsgRkRJU0tfRklFTERfU1RBUlQsCU5fKCJTdGFydCIpLAkgIDUsCUZESVNLX0ZJRUxERkxfTlVNQkVSIH0sCisJeyBGRElTS19GSUVMRF9FTkQsCU5fKCJFbmQiKSwJICA1LAlGRElTS19GSUVMREZMX05VTUJFUiB9LAorCXsgRkRJU0tfRklFTERfU0VDVE9SUywJTl8oIlNlY3RvcnMiKSwJICA1LAlGRElTS19GSUVMREZMX05VTUJFUiB9LAorCXsgRkRJU0tfRklFTERfQ1lMSU5ERVJTLE5fKCJDeWxpbmRlcnMiKSwgIDUsCUZESVNLX0ZJRUxERkxfTlVNQkVSIH0sCisJeyBGRElTS19GSUVMRF9TSVpFLAlOXygiU2l6ZSIpLAkgIDUsCUZESVNLX0ZJRUxERkxfTlVNQkVSIH0sCisJeyBGRElTS19GSUVMRF9UWVBFSUQsCU5fKCJJZCIpLAkgIDIsCUZESVNLX0ZJRUxERkxfTlVNQkVSIH0sCisJeyBGRElTS19GSUVMRF9UWVBFLAlOXygiVHlwZSIpLAkwLjEsCTAgfSwKKwl7IEZESVNLX0ZJRUxEX0FUVFIsCU5fKCJGbGFncyIpLAkgIDAsCUZESVNLX0ZJRUxERkxfTlVNQkVSIH0KK307CisKK2NvbnN0IHN0cnVjdCBmZGlza19sYWJlbF9vcGVyYXRpb25zIHN1bl9vcGVyYXRpb25zID0KK3sKKwkucHJvYmUJCT0gc3VuX3Byb2JlX2xhYmVsLAorCS53cml0ZQkJPSBzdW5fd3JpdGVfZGlza2xhYmVsLAorCS52ZXJpZnkJCT0gc3VuX3ZlcmlmeV9kaXNrbGFiZWwsCisJLmNyZWF0ZQkJPSBzdW5fY3JlYXRlX2Rpc2tsYWJlbCwKKwkuZ2V0X2l0ZW0JPSBzdW5fZ2V0X2Rpc2tsYWJlbF9pdGVtLAorCisJLmdldF9wYXJ0CT0gc3VuX2dldF9wYXJ0aXRpb24sCisJLnNldF9wYXJ0CT0gc3VuX3NldF9wYXJ0aXRpb24sCisJLmFkZF9wYXJ0CT0gc3VuX2FkZF9wYXJ0aXRpb24sCisJLmRlbF9wYXJ0CT0gc3VuX2RlbGV0ZV9wYXJ0aXRpb24sCisKKwkucGFydF9pc191c2VkCT0gc3VuX3BhcnRpdGlvbl9pc191c2VkLAorCS5wYXJ0X3RvZ2dsZV9mbGFnID0gc3VuX3RvZ2dsZV9wYXJ0aXRpb25fZmxhZywKKworCS5yZXNldF9hbGlnbm1lbnQgPSBzdW5fcmVzZXRfYWxpZ25tZW50LAorfTsKKworLyoKKyAqIGFsbG9jYXRlcyBTVU4gbGFiZWwgZHJpdmVyCisgKi8KK3N0cnVjdCBmZGlza19sYWJlbCAqZmRpc2tfbmV3X3N1bl9sYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBmZGlza19sYWJlbCAqbGI7CisJc3RydWN0IGZkaXNrX3N1bl9sYWJlbCAqc3VuOworCisJYXNzZXJ0KGN4dCk7CisKKwlzdW4gPSBjYWxsb2MoMSwgc2l6ZW9mKCpzdW4pKTsKKwlpZiAoIXN1bikKKwkJcmV0dXJuIE5VTEw7CisKKwkvKiBpbml0aWFsaXplIGdlbmVyaWMgcGFydCBvZiB0aGUgZHJpdmVyICovCisJbGIgPSAoc3RydWN0IGZkaXNrX2xhYmVsICopIHN1bjsKKwlsYi0+bmFtZSA9ICJzdW4iOworCWxiLT5pZCA9IEZESVNLX0RJU0tMQUJFTF9TVU47CisJbGItPm9wID0gJnN1bl9vcGVyYXRpb25zOworCWxiLT5wYXJ0dHlwZXMgPSBzdW5fcGFydHR5cGVzOworCWxiLT5ucGFydHR5cGVzID0gQVJSQVlfU0laRShzdW5fcGFydHR5cGVzKSAtIDE7CisJbGItPmZpZWxkcyA9IHN1bl9maWVsZHM7CisJbGItPm5maWVsZHMgPSBBUlJBWV9TSVpFKHN1bl9maWVsZHMpOworCWxiLT5mbGFncyB8PSBGRElTS19MQUJFTF9GTF9SRVFVSVJFX0dFT01FVFJZOworCisJcmV0dXJuIGxiOworfQpkaWZmIC0tZ2l0IGEvbGliZmRpc2svc3JjL3RhYmxlLmMgYi9saWJmZGlzay9zcmMvdGFibGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOTc1MTY4Ci0tLSAvZGV2L251bGwKKysrIGIvbGliZmRpc2svc3JjL3RhYmxlLmMKQEAgLTAsMCArMSw3MTEgQEAKKworI2luY2x1ZGUgImZkaXNrUC5oIgorCisvKioKKyAqIFNFQ1RJT046IHRhYmxlCisgKiBAdGl0bGU6IFRhYmxlCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGNvbnRhaW5lciBmb3IgZmRpc2sgcGFydGl0aW9ucworICoKKyAqIFRoZSBmZGlza190YWJsZSBpcyBzaW1wbGUgY29udGFpbmVyIGZvciBmZGlza19wYXJ0aXRpb25zLiBUaGUgdGFibGUgaXMgbm8KKyAqIGRpcmVjdGx5IGNvbm5lY3RlZCB0byBsYWJlbCBkYXRhIChwYXJ0aXRpb24gdGFibGUpLCBhbmQgdGFibGUgY2hhbmdlcyBkb24ndAorICogYWZmZWN0IGluLW1lbW9yeSBvciBvbi1kaXNrIGRhdGEuCisgKi8KKworLyoqCisgKiBmZGlza19uZXdfdGFibGU6CisgKgorICogVGhlIHRhYmxlIGlzIGEgY29udGFpbmVyIGZvciBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uIGVudHJpZXMuIFRoZSBjb250YWluZXIKKyAqIGRvZXMgbm90IGhhdmUgYW55IHJlYWwgY29ubmVjdGlvbiB3aXRoIGxhYmVsIChwYXJ0aXRpb24gdGFibGUpIGFuZCB3aXRoCisgKiByZWFsIG9uLWRpc2sgZGF0YS4KKyAqCisgKiBSZXR1cm5zOiBuZXdseSBhbGxvY2F0ZWQgdGFibGUgc3RydWN0LgorICovCitzdHJ1Y3QgZmRpc2tfdGFibGUgKmZkaXNrX25ld190YWJsZSh2b2lkKQoreworCXN0cnVjdCBmZGlza190YWJsZSAqdGIgPSBOVUxMOworCisJdGIgPSBjYWxsb2MoMSwgc2l6ZW9mKCp0YikpOworCWlmICghdGIpCisJCXJldHVybiBOVUxMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJhbGxvYyIpKTsKKwl0Yi0+cmVmY291bnQgPSAxOworCUlOSVRfTElTVF9IRUFEKCZ0Yi0+cGFydHMpOworCXJldHVybiB0YjsKK30KKworLyoqCisgKiBmZGlza19yZXNldF90YWJsZToKKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqCisgKiBSZW1vdmVzIGFsbCBlbnRyaWVzIChwYXJ0aXRpb25zKSBmcm9tIHRoZSB0YWJsZS4gVGhlIHBhcnRpdGlvbnMgd2l0aCB6ZXJvCisgKiByZWZlcmVuY2UgY291bnQgd2lsbCBiZSBkZWFsbG9jYXRlZC4gVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBtb2RpZnkgcGFydGl0aW9uCisgKiB0YWJsZS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBmZGlza19yZXNldF90YWJsZShzdHJ1Y3QgZmRpc2tfdGFibGUgKnRiKQoreworCWlmICghdGIpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJyZXNldCIpKTsKKworCXdoaWxlICghbGlzdF9lbXB0eSgmdGItPnBhcnRzKSkgeworCQlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSA9IGxpc3RfZW50cnkodGItPnBhcnRzLm5leHQsCisJCQkJICAgICAgICAgICAgICAgICAgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiwgcGFydHMpOworCQlmZGlza190YWJsZV9yZW1vdmVfcGFydGl0aW9uKHRiLCBwYSk7CisJfQorCisJdGItPm5lbnRzID0gMDsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19yZWZfdGFibGU6CisgKiBAdGI6IHRhYmxlIHBvaW50ZXIKKyAqCisgKiBJbmNyZW1lbnRzIHJlZmVyZW5jZSBjb3VudGVyLgorICovCit2b2lkIGZkaXNrX3JlZl90YWJsZShzdHJ1Y3QgZmRpc2tfdGFibGUgKnRiKQoreworCWlmICh0YikKKwkJdGItPnJlZmNvdW50Kys7Cit9CisKKy8qKgorICogZmRpc2tfdW5yZWZfdGFibGU6CisgKiBAdGI6IHRhYmxlIHBvaW50ZXIKKyAqCisgKiBEZXNjcmVtZW50cyByZWZlcmVuY2UgY291bnRlciwgb24gemVybyB0aGUgQHRiIGlzIGF1dG9tYXRpY2FsbHkKKyAqIGRlYWxsb2NhdGVkLgorICovCit2b2lkIGZkaXNrX3VucmVmX3RhYmxlKHN0cnVjdCBmZGlza190YWJsZSAqdGIpCit7CisJaWYgKCF0YikKKwkJcmV0dXJuOworCisJdGItPnJlZmNvdW50LS07CisJaWYgKHRiLT5yZWZjb3VudCA8PSAwKSB7CisJCWZkaXNrX3Jlc2V0X3RhYmxlKHRiKTsKKworCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImZyZWUiKSk7CisJCWZyZWUodGIpOworCX0KK30KKworLyoqCisgKiBmZGlza190YWJsZV9pc19lbXB0eToKKyAqIEB0YjogcG9pbnRlciB0byB0YWIKKyAqCisgKiBSZXR1cm5zOiAxIGlmIHRoZSB0YWJsZSBpcyB3aXRob3V0IGZpbGVzeXN0ZW1zLCBvciAwLgorICovCitpbnQgZmRpc2tfdGFibGVfaXNfZW1wdHkoc3RydWN0IGZkaXNrX3RhYmxlICp0YikKK3sKKwlyZXR1cm4gdGIgPT0gTlVMTCB8fCBsaXN0X2VtcHR5KCZ0Yi0+cGFydHMpID8gMSA6IDA7Cit9CisKKy8qKgorICogZmRpc2tfdGFibGVfZ2V0X25lbnRzOgorICogQHRiOiBwb2ludGVyIHRvIHRhYgorICoKKyAqIFJldHVybnM6IG51bWJlciBvZiBlbnRyaWVzIGluIHRhYmxlLgorICovCitzaXplX3QgZmRpc2tfdGFibGVfZ2V0X25lbnRzKHN0cnVjdCBmZGlza190YWJsZSAqdGIpCit7CisJcmV0dXJuIHRiID8gdGItPm5lbnRzIDogMDsKK30KKworLyoqCisgKiBmZGlza190YWJsZV9uZXh0X3BhcnRpdGlvbjoKKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqIEBpdHI6IGl0ZXJhdG9yCisgKiBAcGE6IHJldHVybnMgdGhlIG5leHQgdGFiIGVudHJ5CisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvciBvciAxIGF0IHRoZSBlbmQgb2YgbGlzdC4KKyAqCisgKiBFeGFtcGxlOgorICogPGluZm9ybWFsZXhhbXBsZT4KKyAqICAgPHByb2dyYW1saXN0aW5nPgorICoJd2hpbGUoZmRpc2tfdGFibGVfbmV4dF9wYXJ0aXRpb24odGIsIGl0ciwgJnBhKSA9PSAwKSB7CisgKgkJLi4uCisgKgl9CisgKiAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKyAqLworaW50IGZkaXNrX3RhYmxlX25leHRfcGFydGl0aW9uKAorCQkJc3RydWN0IGZkaXNrX3RhYmxlICp0YiwKKwkJCXN0cnVjdCBmZGlza19pdGVyICppdHIsCisJCQlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICoqcGEpCit7CisJaW50IHJjID0gMTsKKworCWlmICghdGIgfHwgIWl0ciB8fCAhcGEpCisJCXJldHVybiAtRUlOVkFMOworCSpwYSA9IE5VTEw7CisKKwlpZiAoIWl0ci0+aGVhZCkKKwkJRkRJU0tfSVRFUl9JTklUKGl0ciwgJnRiLT5wYXJ0cyk7CisJaWYgKGl0ci0+cCAhPSBpdHItPmhlYWQpIHsKKwkJRkRJU0tfSVRFUl9JVEVSQVRFKGl0ciwgKnBhLCBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uLCBwYXJ0cyk7CisJCXJjID0gMDsKKwl9CisKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogZmRpc2tfdGFibGVfZ2V0X3BhcnRpdGlvbjoKKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqIEBuOiBudW1iZXIgb2YgZW50cnkgaW4gdGFibGUKKyAqCisgKiBSZXR1cm5zOiBuLXRoIGVudHJ5IGZyb20gdGFibGUgb3IgTlVMTAorICovCitzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpmZGlza190YWJsZV9nZXRfcGFydGl0aW9uKAorCQkJc3RydWN0IGZkaXNrX3RhYmxlICp0YiwKKwkJCXNpemVfdCBuKQoreworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhID0gTlVMTDsKKwlzdHJ1Y3QgZmRpc2tfaXRlciBpdHI7CisKKwlpZiAoIXRiKQorCQlyZXR1cm4gTlVMTDsKKworCWZkaXNrX3Jlc2V0X2l0ZXIoJml0ciwgRkRJU0tfSVRFUl9GT1JXQVJEKTsKKworCXdoaWxlIChmZGlza190YWJsZV9uZXh0X3BhcnRpdGlvbih0YiwgJml0ciwgJnBhKSA9PSAwKSB7CisJCWlmIChuID09IDApCisJCQlyZXR1cm4gcGE7CisJCW4tLTsKKwl9CisKKwlyZXR1cm4gTlVMTDsKK30KKworLyoqCisgKiBmZGlza190YWJsZV9nZXRfcGFydGl0aW9uX2J5X3BhcnRubzoKKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqIEBwYXJ0bm86IHBhcnRpdGlvbiBudW1iZXIKKyAqCisgKiBSZXR1cm5zOiBwYXJ0aXRpb24gd2l0aCBAcGFydG5vIG9yIE5VTEwuCisgKi8KK3N0cnVjdCBmZGlza19wYXJ0aXRpb24gKmZkaXNrX3RhYmxlX2dldF9wYXJ0aXRpb25fYnlfcGFydG5vKAorCQkJc3RydWN0IGZkaXNrX3RhYmxlICp0YiwKKwkJCXNpemVfdCBwYXJ0bm8pCit7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBOVUxMOworCXN0cnVjdCBmZGlza19pdGVyIGl0cjsKKworCWlmICghdGIpCisJCXJldHVybiBOVUxMOworCisJZmRpc2tfcmVzZXRfaXRlcigmaXRyLCBGRElTS19JVEVSX0ZPUldBUkQpOworCisJd2hpbGUgKGZkaXNrX3RhYmxlX25leHRfcGFydGl0aW9uKHRiLCAmaXRyLCAmcGEpID09IDApIHsKKwkJaWYgKHBhLT5wYXJ0bm8gPT0gcGFydG5vKQorCQkJcmV0dXJuIHBhOworCX0KKworCXJldHVybiBOVUxMOworfQorCisvKioKKyAqIGZkaXNrX3RhYmxlX2FkZF9wYXJ0aXRpb24KKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqIEBwYTogbmV3IGVudHJ5CisgKgorICogQWRkcyBhIG5ldyBlbnRyeSB0byB0YWJsZSBhbmQgaW5jcmVtZW50IEBwYSByZWZlcmVuY2UgY291bnRlci4gRG9uJ3QgZm9yZ2V0IHRvCisgKiB1c2UgZmRpc2tfdW5yZWZfcGFydGl0aW9uKCkgYWZ0ZXIgZmRpc2tfdGFibGVfYWRkX3BhcnRpdGlvbigpIGlmIHlvdSB3YW50IHRvIGtlZXAKKyAqIHRoZSBAcGEgcmVmZXJlbmNlZCBieSB0aGUgdGFibGUgb25seS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBmZGlza190YWJsZV9hZGRfcGFydGl0aW9uKHN0cnVjdCBmZGlza190YWJsZSAqdGIsIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKQoreworCWlmICghdGIgfHwgIXBhKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWZkaXNrX3JlZl9wYXJ0aXRpb24ocGEpOworCWxpc3RfYWRkX3RhaWwoJnBhLT5wYXJ0cywgJnRiLT5wYXJ0cyk7CisJdGItPm5lbnRzKys7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImFkZCBlbnRyeSAlcCBbc3RhcnQ9JWp1LCBlbmQ9JWp1LCBzaXplPSVqdSwgJXMgJXMgJXNdIiwKKwkJCXBhLAorCQkJKHVpbnRtYXhfdCkgZmRpc2tfcGFydGl0aW9uX2dldF9zdGFydChwYSksCisJCQkodWludG1heF90KSBmZGlza19wYXJ0aXRpb25fZ2V0X2VuZChwYSksCisJCQkodWludG1heF90KSBmZGlza19wYXJ0aXRpb25fZ2V0X3NpemUocGEpLAorCQkJZmRpc2tfcGFydGl0aW9uX2lzX2ZyZWVzcGFjZShwYSkgPyAiZnJlZXNwYWNlIiA6ICIiLAorCQkJZmRpc2tfcGFydGl0aW9uX2lzX25lc3RlZChwYSkgICAgPyAibmVzdGVkIiAgICA6ICIiLAorCQkJZmRpc2tfcGFydGl0aW9uX2lzX2NvbnRhaW5lcihwYSkgPyAiY29udGFpbmVyIiA6ICJwcmltYXJ5IikpOworCXJldHVybiAwOworfQorCisvKiBpbnNlcnRzIEBwYSBhZnRlciBAcG96ICovCitzdGF0aWMgaW50IHRhYmxlX2luc2VydF9wYXJ0aXRpb24oCisJCQlzdHJ1Y3QgZmRpc2tfdGFibGUgKnRiLAorCQkJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcG96LAorCQkJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJYXNzZXJ0KHRiKTsKKwlhc3NlcnQocGEpOworCisJZmRpc2tfcmVmX3BhcnRpdGlvbihwYSk7CisJaWYgKHBveikKKwkJbGlzdF9hZGQoJnBhLT5wYXJ0cywgJnBvei0+cGFydHMpOworCWVsc2UKKwkJbGlzdF9hZGQoJnBhLT5wYXJ0cywgJnRiLT5wYXJ0cyk7CisJdGItPm5lbnRzKys7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImluc2VydCBlbnRyeSAlcCBwcmU9JXAgW3N0YXJ0PSVqdSwgZW5kPSVqdSwgc2l6ZT0lanUsICVzICVzICVzXSIsCisJCQlwYSwgcG96ID8gcG96IDogTlVMTCwKKwkJCSh1aW50bWF4X3QpIGZkaXNrX3BhcnRpdGlvbl9nZXRfc3RhcnQocGEpLAorCQkJKHVpbnRtYXhfdCkgZmRpc2tfcGFydGl0aW9uX2dldF9lbmQocGEpLAorCQkJKHVpbnRtYXhfdCkgZmRpc2tfcGFydGl0aW9uX2dldF9zaXplKHBhKSwKKwkJCWZkaXNrX3BhcnRpdGlvbl9pc19mcmVlc3BhY2UocGEpID8gImZyZWVzcGFjZSIgOiAiIiwKKwkJCWZkaXNrX3BhcnRpdGlvbl9pc19uZXN0ZWQocGEpICAgID8gIm5lc3RlZCIgICAgOiAiIiwKKwkJCWZkaXNrX3BhcnRpdGlvbl9pc19jb250YWluZXIocGEpID8gImNvbnRhaW5lciIgOiAiIikpOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX3RhYmxlX3JlbW92ZV9wYXJ0aXRpb24KKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqIEBwYTogbmV3IGVudHJ5CisgKgorICogUmVtb3ZlcyB0aGUgQHBhIGZyb20gdGhlIHRhYmxlIGFuZCBkZS1pbmNyZW1lbnQgcmVmZXJlbmNlIGNvdW50ZXIgb2YgdGhlIEBwYS4gVGhlCisgKiBwYXJ0aXRpb24gd2l0aCB6ZXJvIHJlZmVyZW5jZSBjb3VudGVyIHdpbGwgYmUgZGVhbGxvY2F0ZWQuIERvbid0IGZvcmdldCB0byB1c2UKKyAqIGZkaXNrX3JlZl9wYXJ0aXRpb24oKSBiZWZvcmUgY2FsbCBmZGlza190YWJsZV9yZW1vdmVfcGFydGl0aW9uKCkgaWYgeW91IHdhbnQKKyAqIHRvIHVzZSBAcGEgbGF0ZXIuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgZmRpc2tfdGFibGVfcmVtb3ZlX3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfdGFibGUgKnRiLCBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlpZiAoIXRiIHx8ICFwYSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgInJlbW92ZSBlbnRyeSAlcCIsIHBhKSk7CisJbGlzdF9kZWwoJnBhLT5wYXJ0cyk7CisJSU5JVF9MSVNUX0hFQUQoJnBhLT5wYXJ0cyk7CisKKwlmZGlza191bnJlZl9wYXJ0aXRpb24ocGEpOworCXRiLT5uZW50cy0tOworCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X3BhcnRpdGlvbnMKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqIEB0YjogcmV0dXJucyB0YWJsZQorICoKKyAqIFRoaXMgZnVuY3Rpb24gYWRkcyBwYXJ0aXRpb25zIGZyb20gZGlza2xhYmVsIHRvIEB0YWJsZSwgaXQgYWxsb2NhdGVzIGEgbmV3CisgKiB0YWJsZSBpZiBpZiBAdGFibGUgcG9pbnRzIHRvIE5VTEwuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvdGhlcndpc2UsIGEgY29ycmVzcG9uZGluZyBlcnJvci4KKyAqLworaW50IGZkaXNrX2dldF9wYXJ0aXRpb25zKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHN0cnVjdCBmZGlza190YWJsZSAqKnRiKQoreworCXNpemVfdCBpOworCisJaWYgKCFjeHQgfHwgIWN4dC0+bGFiZWwgfHwgIXRiKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIWN4dC0+bGFiZWwtPm9wLT5nZXRfcGFydCkKKwkJcmV0dXJuIC1FTk9TWVM7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICIgLS0gZ2V0IHRhYmxlIC0tIikpOworCisJaWYgKCEqdGIgJiYgISgqdGIgPSBmZGlza19uZXdfdGFibGUoKSkpCisJCXJldHVybiAtRU5PTUVNOworCisJZm9yIChpID0gMDsgaSA8IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXg7IGkrKykgeworCQlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSA9IE5VTEw7CisKKwkJaWYgKGZkaXNrX2dldF9wYXJ0aXRpb24oY3h0LCBpLCAmcGEpICE9IDApCisJCQljb250aW51ZTsKKwkJaWYgKGZkaXNrX3BhcnRpdGlvbl9pc191c2VkKHBhKSkKKwkJCWZkaXNrX3RhYmxlX2FkZF9wYXJ0aXRpb24oKnRiLCBwYSk7CisJCWZkaXNrX3VucmVmX3BhcnRpdGlvbihwYSk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGRlYnVnX3ByaW50X3RhYmxlKHN0cnVjdCBmZGlza190YWJsZSAqdGIpCit7CisJc3RydWN0IGZkaXNrX2l0ZXIgaXRyOworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhOworCisJZmRpc2tfcmVzZXRfaXRlcigmaXRyLCBGRElTS19JVEVSX0ZPUldBUkQpOworCXdoaWxlIChmZGlza190YWJsZV9uZXh0X3BhcnRpdGlvbih0YiwgJml0ciwgJnBhKSA9PSAwKQorCQl1bF9kZWJ1Z29iaih0YiwgInBhcnRpdGlvbiAlcCBbcGFydG5vPSV6dSwgc3RhcnQ9JWp1LCBlbmQ9JWp1LCBzaXplPSVqdV0gIiwKKwkJCSAgICBwYSwgcGEtPnBhcnRubywKKwkJCSAgICAodWludG1heF90KSBmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBhKSwKKwkJCSAgICAodWludG1heF90KSBmZGlza19wYXJ0aXRpb25fZ2V0X2VuZChwYSksCisJCQkgICAgKHVpbnRtYXhfdCkgZmRpc2tfcGFydGl0aW9uX2dldF9zaXplKHBhKSk7CisKK30KKworCit0eXBlZGVmCWludCAoKmZkaXNrX3BhcnRjbXBfdCkoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqLCBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICopOworCitzdGF0aWMgaW50IGNtcF9wYXJ0c193cmFwcGVyKHN0cnVjdCBsaXN0X2hlYWQgKmEsIHN0cnVjdCBsaXN0X2hlYWQgKmIsIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBsaXN0X2VudHJ5KGEsIHN0cnVjdCBmZGlza19wYXJ0aXRpb24sIHBhcnRzKSwKKwkJCSAgICAgICAqcGIgPSBsaXN0X2VudHJ5KGIsIHN0cnVjdCBmZGlza19wYXJ0aXRpb24sIHBhcnRzKTsKKworCWZkaXNrX3BhcnRjbXBfdCBjbXAgPSAoZmRpc2tfcGFydGNtcF90KSBkYXRhOworCisJcmV0dXJuIGNtcChwYSwgcGIpOworfQorCisKKy8qKgorICogZmRpc2tfdGFibGVfc29ydF9wYXJ0aXRpb25zOgorICogQHRiOiB0YWJsZQorICogQGNtcDogY29tcGFyZSBmdW5jdGlvbgorICoKKyAqIFNvcnQgcGFydGl0aW9uIGluIHRoZSB0YWJsZS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLgorICovCitpbnQgZmRpc2tfdGFibGVfc29ydF9wYXJ0aXRpb25zKHN0cnVjdCBmZGlza190YWJsZSAqdGIsCisJCQlpbnQgKCpjbXApKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKiwKKwkJCQkgICBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICopKQoreworCWlmICghdGIpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJCZWZvcmUgc29ydDoiKSk7CisJT05fREJHKFRBQiwgZGVidWdfcHJpbnRfdGFibGUodGIpKTsKKworCWxpc3Rfc29ydCgmdGItPnBhcnRzLCBjbXBfcGFydHNfd3JhcHBlciwgKHZvaWQgKikgY21wKTsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiQWZ0ZXIgc29ydDoiKSk7CisJT05fREJHKFRBQiwgZGVidWdfcHJpbnRfdGFibGUodGIpKTsKKworCXJldHVybiAwOworfQorCisvKiBhbGxvY2F0ZXMgYSBuZXcgZnJlZXNwYWNlIGRlc2NyaXB0aW9uICovCitzdGF0aWMgaW50IG5ld19mcmVlc3BhY2Uoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCSBmZGlza19zZWN0b3JfdCBzdGFydCwKKwkJCSBmZGlza19zZWN0b3JfdCBlbmQsCisJCQkgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGFyZW50LAorCQkJIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKipwYSkKK3sKKwlmZGlza19zZWN0b3JfdCBhbGlnbmVkX3N0YXJ0LCBzaXplOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KHBhKTsKKworCSpwYSA9IE5VTEw7CisKKwlpZiAoc3RhcnQgPT0gZW5kKQorCQlyZXR1cm4gMDsKKworCWFzc2VydChzdGFydCk7CisJYXNzZXJ0KGVuZCk7CisJYXNzZXJ0KGVuZCA+IHN0YXJ0KTsKKworCWFsaWduZWRfc3RhcnQgPSBmZGlza19hbGlnbl9sYmFfaW5fcmFuZ2UoY3h0LCBzdGFydCwgc3RhcnQsIGVuZCk7CisJc2l6ZSA9IGVuZCAtIGFsaWduZWRfc3RhcnQgKyAxVUxMOworCisJaWYgKHNpemUgPT0gMCkgeworCQlEQkcoVEFCLCB1bF9kZWJ1ZygiaWdub3JlIGZyZWVzcGFjZSAoYWxpZ25lZCBzaXplIGlzIHplcm8pIikpOworCQlyZXR1cm4gMDsKKwl9CisKKwkqcGEgPSBmZGlza19uZXdfcGFydGl0aW9uKCk7CisJaWYgKCEqcGEpCisJCXJldHVybiAtRU5PTUVNOworCisJKCpwYSktPmZyZWVzcGFjZSA9IDE7CisJKCpwYSktPnN0YXJ0ID0gYWxpZ25lZF9zdGFydDsKKwkoKnBhKS0+c2l6ZSA9IHNpemU7CisKKwlpZiAocGFyZW50KQorCQkoKnBhKS0+cGFyZW50X3BhcnRubyA9IHBhcmVudC0+cGFydG5vOworCXJldHVybiAwOworfQorCisvKiBhZGQgZnJlZXNwYWNlIGRlc2NyaXB0aW9uIHRvIHRoZSByaWdodCBwbGFjZSB3aXRoaW4gQHRiICovCitzdGF0aWMgaW50IHRhYmxlX2FkZF9mcmVlc3BhY2UoCisJCQlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJc3RydWN0IGZkaXNrX3RhYmxlICp0YiwKKwkJCWZkaXNrX3NlY3Rvcl90IHN0YXJ0LAorCQkJZmRpc2tfc2VjdG9yX3QgZW5kLAorCQkJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGFyZW50KQoreworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhLCAqeCwgKnJlYWxfcGFyZW50ID0gTlVMTCwgKmJlc3QgPSBOVUxMOworCXN0cnVjdCBmZGlza19pdGVyIGl0cjsKKwlpbnQgcmMgPSAwOworCisJYXNzZXJ0KHRiKTsKKworCXJjID0gbmV3X2ZyZWVzcGFjZShjeHQsIHN0YXJ0LCBlbmQsIHBhcmVudCwgJnBhKTsKKwlpZiAocmMpCisJCXJldHVybiAtRU5PTUVNOworCWlmICghcGEpCisJCXJldHVybiAwOworCisJYXNzZXJ0KGZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpKTsKKwlhc3NlcnQoZmRpc2tfcGFydGl0aW9uX2hhc19lbmQocGEpKTsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiYWRkaW5nIGZyZWVzcGFjZSIpKTsKKworCWZkaXNrX3Jlc2V0X2l0ZXIoJml0ciwgRkRJU0tfSVRFUl9GT1JXQVJEKTsKKwlpZiAocGFyZW50ICYmIGZkaXNrX3BhcnRpdGlvbl9oYXNfcGFydG5vKHBhcmVudCkpIHsKKwkJd2hpbGUgKGZkaXNrX3RhYmxlX25leHRfcGFydGl0aW9uKHRiLCAmaXRyLCAmeCkgPT0gMCkgeworCQkJaWYgKCFmZGlza19wYXJ0aXRpb25faGFzX3BhcnRubyh4KSkKKwkJCQljb250aW51ZTsKKwkJCWlmICh4LT5wYXJ0bm8gPT0gcGFyZW50LT5wYXJ0bm8pIHsKKwkJCQlyZWFsX3BhcmVudCA9IHg7CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwkJaWYgKCFyZWFsX3BhcmVudCkgeworCQkJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJub3QgZm91bmQgZnJlZXNwYWNlIHBhcmVudCAocGFydG5vPSV6dSkiLAorCQkJCQlwYXJlbnQtPnBhcnRubykpOworCQkJZmRpc2tfcmVzZXRfaXRlcigmaXRyLCBGRElTS19JVEVSX0ZPUldBUkQpOworCQl9CisJfQorCisJd2hpbGUgKGZkaXNrX3RhYmxlX25leHRfcGFydGl0aW9uKHRiLCAmaXRyLCAmeCkgPT0gMCkgeworCQlmZGlza19zZWN0b3JfdCB0aGVfZW5kLCBiZXN0X2VuZCA9IDA7CisKKwkJaWYgKCFmZGlza19wYXJ0aXRpb25faGFzX2VuZCh4KSkKKwkJCWNvbnRpbnVlOworCisJCXRoZV9lbmQgPSBmZGlza19wYXJ0aXRpb25fZ2V0X2VuZCh4KTsKKwkJaWYgKGJlc3QpCisJCQliZXN0X2VuZCA9IGZkaXNrX3BhcnRpdGlvbl9nZXRfZW5kKGJlc3QpOworCisJCWlmICh0aGVfZW5kIDwgcGEtPnN0YXJ0ICYmICghYmVzdCB8fCBiZXN0X2VuZCA8IHRoZV9lbmQpKQorCQkJYmVzdCA9IHg7CisJfQorCisJaWYgKCFiZXN0ICYmIHJlYWxfcGFyZW50KQorCQliZXN0ID0gcmVhbF9wYXJlbnQ7CisJcmMgPSB0YWJsZV9pbnNlcnRfcGFydGl0aW9uKHRiLCBiZXN0LCBwYSk7CisKKwlmZGlza191bnJlZl9wYXJ0aXRpb24ocGEpOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJhZGRpbmcgZnJlZXNwYWNlIERPTkUgW3JjPSVkXSIsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCisvKiBhbmFseXplIEBjb250KGFpbmVyKSBpbiBAcGFydHMgYW5kIGFkZCBhbGwgZGV0ZWN0ZWQgZnJlZXNwYWNlIGludG8gQHRiLCBub3RlCisgKiB0aGF0IEBwYXJ0cyBoYXMgdG8gYmUgc29ydGVkIGJ5IHBhcnRpdGlvbiBzdGFydHMgKi8KK3N0YXRpYyBpbnQgY2hlY2tfY29udGFpbmVyX2ZyZWVzcGFjZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJCSAgICAgc3RydWN0IGZkaXNrX3RhYmxlICpwYXJ0cywKKwkJCQkgICAgIHN0cnVjdCBmZGlza190YWJsZSAqdGIsCisJCQkJICAgICBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpjb250KQoreworCXN0cnVjdCBmZGlza19pdGVyIGl0cjsKKwlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYTsKKwlmZGlza19zZWN0b3JfdCB4LCBsYXN0LCBncmFpbiwgbGFzdHBsdXNvZmY7CisJaW50IHJjID0gMDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChwYXJ0cyk7CisJYXNzZXJ0KHRiKTsKKwlhc3NlcnQoY29udCk7CisJYXNzZXJ0KGZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQoY29udCkpOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJhbmFseXplIGNvbnRhaW5lciAweCVwIiwgY29udCkpOworCisJbGFzdCA9IGZkaXNrX3BhcnRpdGlvbl9nZXRfc3RhcnQoY29udCk7CisJZ3JhaW4gPSBjeHQtPmdyYWluID4gY3h0LT5zZWN0b3Jfc2l6ZSA/CWN4dC0+Z3JhaW4gLyBjeHQtPnNlY3Rvcl9zaXplIDogMTsKKwlmZGlza19yZXNldF9pdGVyKCZpdHIsIEZESVNLX0lURVJfRk9SV0FSRCk7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJpbml0aWFsaXplZDogIGxhc3Q9JWp1LCBncmFpbj0lanUiLAorCSAgICAgICAgICAgICAgICAgICAgICh1aW50bWF4X3QpbGFzdCwgICh1aW50bWF4X3QpZ3JhaW4pKTsKKworCXdoaWxlIChmZGlza190YWJsZV9uZXh0X3BhcnRpdGlvbihwYXJ0cywgJml0ciwgJnBhKSA9PSAwKSB7CisKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAicGFydG5vPSV6dSwgc3RhcnQ9JWp1IiwKKwkJICAgICAgICAgICAgICAgICAgICAgcGEtPnBhcnRubywgKHVpbnRtYXhfdClwYS0+c3RhcnQpKTsKKworCQlpZiAoIXBhLT51c2VkIHx8ICFmZGlza19wYXJ0aXRpb25faXNfbmVzdGVkKHBhKQorCQkJICAgICAgfHwgIWZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpKQorCQkJY29udGludWU7CisKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZnJlZXNwYWNlIGNvbnRhaW5lciBhbmFseXplOiBwYXJ0bm89JXp1LCBzdGFydD0lanUsIGVuZD0lanUiLAorCQkJCQlwYS0+cGFydG5vLAorCQkJCQkodWludG1heF90KSBmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBhKSwKKwkJCQkJKHVpbnRtYXhfdCkgZmRpc2tfcGFydGl0aW9uX2dldF9lbmQocGEpKSk7CisKKwkJbGFzdHBsdXNvZmYgPSBsYXN0ICsgY3h0LT5maXJzdF9sYmE7CisJCWlmIChwYS0+c3RhcnQgPiBsYXN0cGx1c29mZiAmJiBwYS0+c3RhcnQgLSBsYXN0cGx1c29mZiA+IGdyYWluKQorCQkJcmMgPSB0YWJsZV9hZGRfZnJlZXNwYWNlKGN4dCwgdGIsIGxhc3RwbHVzb2ZmLCBwYS0+c3RhcnQsIGNvbnQpOworCQlpZiAocmMpCisJCQlnb3RvIGRvbmU7CisJCWxhc3QgPSBmZGlza19wYXJ0aXRpb25fZ2V0X2VuZChwYSk7CisJfQorCisJLyogZnJlZS1zcGFjZSByZW1haW5pbmcgaW4gZXh0ZW5kZWQgcGFydGl0aW9uICovCisJeCA9IGZkaXNrX3BhcnRpdGlvbl9nZXRfc3RhcnQoY29udCkgKyBmZGlza19wYXJ0aXRpb25fZ2V0X3NpemUoY29udCkgLSAxOworCWxhc3RwbHVzb2ZmID0gbGFzdCArIGN4dC0+Zmlyc3RfbGJhOworCWlmIChsYXN0cGx1c29mZiA8IHggJiYgeCAtIGxhc3RwbHVzb2ZmID4gZ3JhaW4pIHsKKwkJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJhZGQgcmVtYWluaW5nIHNwYWNlIGluIGNvbnRhaW5lciAweCVwIiwgY29udCkpOworCQlyYyA9IHRhYmxlX2FkZF9mcmVlc3BhY2UoY3h0LCB0YiwgbGFzdHBsdXNvZmYsIHgsIGNvbnQpOworCX0KKworZG9uZToKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImFuYWx5emUgY29udGFpbmVyIDB4JXAgRE9ORSBbcmM9JWRdIiwgY29udCwgcmMpKTsKKwlyZXR1cm4gcmM7Cit9CisKKworLyoqCisgKiBmZGlza19nZXRfZnJlZXNwYWNlcworICogQGN4dDogZmRpc2sgY29udGV4dAorICogQHRiOiByZXR1cm5zIHRhYmxlCisgKgorICogVGhpcyBmdW5jdGlvbiBhZGRzIGZyZWVzcGFjZSAoZGVzY3JpYmVkIGJ5IGZkaXNrX3BhcnRpdGlvbikgdG8gQHRhYmxlLCBpdAorICogYWxsb2NhdGVzIGEgbmV3IHRhYmxlIGlmIHRoZSBAdGFibGUgcG9pbnRzIHRvIE5VTEwuCisgKgorICogTm90ZSB0aGF0IGZyZWUgc3BhY2Ugc21hbGxlciB0aGFuIGdyYWluIChzZWUgZmRpc2tfZ2V0X2dyYWluX3NpemUoKSkgaXMKKyAqIGlnbm9yZWQuCisKKyAqIFJldHVybnM6IDAgb24gc3VjY2Vzcywgb3RoZXJ3aXNlLCBhIGNvcnJlc3BvbmRpbmcgZXJyb3IuCisgKi8KK2ludCBmZGlza19nZXRfZnJlZXNwYWNlcyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzdHJ1Y3QgZmRpc2tfdGFibGUgKip0YikKK3sKKwlpbnQgcmMgPSAwOworCXNpemVfdCBucGFydHMgPSAwOworCWZkaXNrX3NlY3Rvcl90IGxhc3QsIGdyYWluOworCXN0cnVjdCBmZGlza190YWJsZSAqcGFydHMgPSBOVUxMOworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhOworCXN0cnVjdCBmZGlza19pdGVyIGl0cjsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIi0tIGdldCBmcmVlc3BhY2UgLS0iKSk7CisKKwlpZiAoIWN4dCB8fCAhY3h0LT5sYWJlbCB8fCAhdGIpCisJCXJldHVybiAtRUlOVkFMOworCWlmICghKnRiICYmICEoKnRiID0gZmRpc2tfbmV3X3RhYmxlKCkpKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXJjID0gZmRpc2tfZ2V0X3BhcnRpdGlvbnMoY3h0LCAmcGFydHMpOworCWlmIChyYykKKwkJZ290byBkb25lOworCisJZmRpc2tfdGFibGVfc29ydF9wYXJ0aXRpb25zKHBhcnRzLCBmZGlza19wYXJ0aXRpb25fY21wX3N0YXJ0KTsKKwlmZGlza19yZXNldF9pdGVyKCZpdHIsIEZESVNLX0lURVJfRk9SV0FSRCk7CisJbGFzdCA9IGN4dC0+Zmlyc3RfbGJhOworCWdyYWluID0gY3h0LT5ncmFpbiA+IGN4dC0+c2VjdG9yX3NpemUgPwljeHQtPmdyYWluIC8gY3h0LT5zZWN0b3Jfc2l6ZSA6IDE7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJpbml0aWFsaXplZDogIGxhc3Q9JWp1LCBncmFpbj0lanUiLAorCSAgICAgICAgICAgICAgICAgICAgICh1aW50bWF4X3QpbGFzdCwgICh1aW50bWF4X3QpZ3JhaW4pKTsKKworCS8qIGFuYWx5emUgZ2FwcyBiZXR3ZWVuIHBhcnRpdGlvbnMgKi8KKwl3aGlsZSAocmMgPT0gMCAmJiBmZGlza190YWJsZV9uZXh0X3BhcnRpdGlvbihwYXJ0cywgJml0ciwgJnBhKSA9PSAwKSB7CisKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAicGFydG5vPSV6dSwgc3RhcnQ9JWp1IiwKKwkJICAgICAgICAgICAgICAgICAgICAgcGEtPnBhcnRubywgKHVpbnRtYXhfdClwYS0+c3RhcnQpKTsKKworCQlpZiAoIXBhLT51c2VkIHx8IHBhLT53aG9sZWRpc2sgfHwgZmRpc2tfcGFydGl0aW9uX2lzX25lc3RlZChwYSkKKwkJCSAgICAgIHx8ICFmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSkKKwkJCWNvbnRpbnVlOworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJmcmVlc3BhY2UgYW5hbHl6ZTogcGFydG5vPSV6dSwgc3RhcnQ9JWp1LCBlbmQ9JWp1IiwKKwkJCQkJcGEtPnBhcnRubywKKwkJCQkJKHVpbnRtYXhfdCkgZmRpc2tfcGFydGl0aW9uX2dldF9zdGFydChwYSksCisJCQkJCSh1aW50bWF4X3QpIGZkaXNrX3BhcnRpdGlvbl9nZXRfZW5kKHBhKSkpOworCisJCS8qIFdlIGlnbm9yZSBzbWFsbCBmcmVlIHNwYWNlcyAoc21hbGxlciB0aGFuIGdyYWluKSB0byBrZWVwIHBhcnRpdGlvbnMKKwkJICogYWxpZ25lZCwgdGhlIGV4Y2VwdGlvbiBpcyBzcGFjZSBiZWZvcmUgdGhlIGZpcnN0IHBhcnRpdGlvbiB3aGVyZQorCQkgKiB3ZSBhc3N1bWUgdGhhdCBjeHQtPmZpcnN0X2xiYSBpcyBhbGlnbmVkLiAqLworCQlpZiAobGFzdCArIGdyYWluIDwgcGEtPnN0YXJ0CisJCSAgICB8fCAobGFzdCA8IHBhLT5zdGFydCAmJiBucGFydHMgPT0gMCkpIHsKKwkJCXJjID0gdGFibGVfYWRkX2ZyZWVzcGFjZShjeHQsICp0YiwKKwkJCQlsYXN0ICsgKG5wYXJ0cyA9PSAwID8gMCA6IDEpLAorCQkJCXBhLT5zdGFydCAtIDEsIE5VTEwpOworCQl9CisJCS8qIGFkZCBnYXBzIGJldHdlZW4gbG9naWNhbCBwYXJ0aXRpb25zICovCisJCWlmIChmZGlza19wYXJ0aXRpb25faXNfY29udGFpbmVyKHBhKSkKKwkJCXJjID0gY2hlY2tfY29udGFpbmVyX2ZyZWVzcGFjZShjeHQsIHBhcnRzLCAqdGIsIHBhKTsKKwkJbGFzdCA9IGZkaXNrX3BhcnRpdGlvbl9nZXRfZW5kKHBhKTsKKwkJbnBhcnRzKys7CisJfQorCisJLyogYWRkIGZyZWUtc3BhY2UgYmVoaW5kIGxhc3QgcGFydGl0aW9uIHRvIHRoZSBlbmQgb2YgdGhlIHRhYmxlIChzbworCSAqIGRvbid0IHVzZSB0YWJsZV9hZGRfZnJlZXNwYWNlKCkpICovCisJaWYgKHJjID09IDAgJiYgbGFzdCArIGdyYWluIDwgY3h0LT50b3RhbF9zZWN0b3JzIC0gMSkgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJmcmVlc3BhY2UgYmVoaW5kIGxhc3QgcGFydGl0aW9uIGRldGVjdGVkIikpOworCQlyYyA9IG5ld19mcmVlc3BhY2UoY3h0LAorCQkJbGFzdCArIChsYXN0ID4gY3h0LT5maXJzdF9sYmEgfHwgbnBhcnRzID8gMSA6IDApLAorCQkJY3h0LT5sYXN0X2xiYSwgTlVMTCwgJnBhKTsKKwkJaWYgKHBhKSB7CisJCQlmZGlza190YWJsZV9hZGRfcGFydGl0aW9uKCp0YiwgcGEpOworCQkJZmRpc2tfdW5yZWZfcGFydGl0aW9uKHBhKTsKKwkJfQorCX0KKworZG9uZToKKwlmZGlza191bnJlZl90YWJsZShwYXJ0cyk7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJnZXQgZnJlZXNwYWNlIERPTkUgW3JjPSVkXSIsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIGZkaXNrX3RhYmxlX3dyb25nX29yZGVyOgorICogQHRiOiB0YWJsZQorICoKKyAqIFJldHVybnM6IDEgb2YgdGhlIHRhYmxlIGlzIG5vdCBpbiBkaXNrIG9yZGVyCisgKi8KK2ludCBmZGlza190YWJsZV93cm9uZ19vcmRlcihzdHJ1Y3QgZmRpc2tfdGFibGUgKnRiKQoreworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhOworCXN0cnVjdCBmZGlza19pdGVyIGl0cjsKKwlmZGlza19zZWN0b3JfdCBsYXN0ID0gMDsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAid3Jvbmcgb2xkZXIgY2hlY2siKSk7CisKKwlmZGlza19yZXNldF9pdGVyKCZpdHIsIEZESVNLX0lURVJfRk9SV0FSRCk7CisJd2hpbGUgKHRiICYmIGZkaXNrX3RhYmxlX25leHRfcGFydGl0aW9uKHRiLCAmaXRyLCAmcGEpID09IDApIHsKKwkJaWYgKCFmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSB8fCBmZGlza19wYXJ0aXRpb25faXNfd2hvbGVkaXNrKHBhKSkKKwkJCWNvbnRpbnVlOworCQlpZiAocGEtPnN0YXJ0IDwgbGFzdCkKKwkJCXJldHVybiAxOworCQlsYXN0ID0gcGEtPnN0YXJ0OworCX0KKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19hcHBseV90YWJsZToKKyAqIEBjeHQ6IGNvbnRleHQKKyAqIEB0YjogdGFibGUKKyAqCisgKiBBZGQgcGFydGl0aW9ucyBmcm9tIHRhYmxlIEB0YiB0byB0aGUgaW4tbWVtb3J5IGRpc2sgbGFiZWwuIFNlZQorICogZmRpc2tfYWRkX3BhcnRpdGlvbigpLCBmZGlza19kZWxldGVfYWxsX3BhcnRpdGlvbnMoKS4gVGhlIHBhcnRpdGlvbnMKKyAqIHRoYXQgZG9lcyBub3QgZGVmaW5lIHN0YXJ0IChvciBkb2VzIG5vdCBmb2xsb3cgdGhlIGRlZmF1bHQgc3RhcnQpCisgKiBhcmUgaWdub3JlZC4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLgorICovCitpbnQgZmRpc2tfYXBwbHlfdGFibGUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX3RhYmxlICp0YikKK3sKKwlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYTsKKwlzdHJ1Y3QgZmRpc2tfaXRlciBpdHI7CisJaW50IHJjID0gMDsKKworCWFzc2VydChjeHQpOworCWFzc2VydCh0Yik7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImFwcGx5aW5nIHRvIGNvbnRleHQgJXAiLCBjeHQpKTsKKworCWZkaXNrX3Jlc2V0X2l0ZXIoJml0ciwgRkRJU0tfSVRFUl9GT1JXQVJEKTsKKwl3aGlsZSAodGIgJiYgZmRpc2tfdGFibGVfbmV4dF9wYXJ0aXRpb24odGIsICZpdHIsICZwYSkgPT0gMCkgeworCQlpZiAoIWZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpICYmICFwYS0+c3RhcnRfZm9sbG93X2RlZmF1bHQpCisJCQljb250aW51ZTsKKwkJcmMgPSBmZGlza19hZGRfcGFydGl0aW9uKGN4dCwgcGEsIE5VTEwpOworCQlpZiAocmMpCisJCQlicmVhazsKKwl9CisKKwlyZXR1cm4gcmM7Cit9CisKZGlmZiAtLWdpdCBhL2xpYmZkaXNrL3NyYy90ZXN0LmMgYi9saWJmZGlzay9zcmMvdGVzdC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxZWQ3ZTAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJmZGlzay9zcmMvdGVzdC5jCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICoKKyAqIFJvdXRpbmVzIGZvciBURVNUX1BST0dSQU1zCisgKi8KKworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisKKyNpZm5kZWYgVEVTVF9QUk9HUkFNCisjZGVmaW5lIFRFU1RfUFJPR1JBTQorI2VuZGlmCisKKyNpbmNsdWRlICJmZGlza1AuaCIKKworaW50IGZkaXNrX3J1bl90ZXN0KHN0cnVjdCBmZGlza190ZXN0ICp0ZXN0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlpbnQgcmMgPSAtMTsKKwlzdHJ1Y3QgZmRpc2tfdGVzdCAqdHM7CisKKwlhc3NlcnQodGVzdHMpOworCWFzc2VydChhcmdjKTsKKwlhc3NlcnQoYXJndik7CisKKwlpZiAoYXJnYyA8IDIgfHwKKwkgICAgc3RyY21wKGFyZ3ZbMV0sICItLWhlbHAiKSA9PSAwIHx8CisJICAgIHN0cmNtcChhcmd2WzFdLCAiLWgiKSA9PSAwKQorCQlnb3RvIHVzYWdlOworCisJZmRpc2tfaW5pdF9kZWJ1ZygwKTsKKworCWZvciAodHMgPSB0ZXN0czsgdHMtPm5hbWU7IHRzKyspIHsKKwkJaWYgKHN0cmNtcCh0cy0+bmFtZSwgYXJndlsxXSkgPT0gMCkgeworCQkJcmMgPSB0cy0+Ym9keSh0cywgYXJnYyAtIDEsIGFyZ3YgKyAxKTsKKwkJCWlmIChyYykKKwkJCQlwcmludGYoIkZBSUxFRCBbcmM9JWRdIiwgcmMpOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlpZiAocmMgPCAwICYmIHRzLT5uYW1lID09IE5VTEwpCisJCWdvdG8gdXNhZ2U7CisKKwlyZXR1cm4gcmMgPT0gMCA/IEVYSVRfU1VDQ0VTUyA6IEVYSVRfRkFJTFVSRTsKK3VzYWdlOgorCXByaW50ZigiXG5Vc2FnZTpcblx0JXMgPHRlc3Q+IFt0ZXN0b3B0aW9uc11cblRlc3RzOlxuIiwKKwkJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKwlmb3IgKHRzID0gdGVzdHM7IHRzLT5uYW1lOyB0cysrKSB7CisJCXByaW50ZigiXHQlLTE1cyIsIHRzLT5uYW1lKTsKKwkJaWYgKHRzLT51c2FnZSkKKwkJCXByaW50ZigiICVzXG4iLCB0cy0+dXNhZ2UpOworCX0KKwlwcmludGYoIlxuIik7CisJcmV0dXJuIEVYSVRfRkFJTFVSRTsKK30KZGlmZiAtLWdpdCBhL2xpYmZkaXNrL3NyYy91dGlscy5jIGIvbGliZmRpc2svc3JjL3V0aWxzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWJhOWUwNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmZkaXNrL3NyYy91dGlscy5jCkBAIC0wLDAgKzEsMTk1IEBACisKKyNpbmNsdWRlICJmZGlza1AuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJjYW5vbmljYWxpemUuaCIKKworI2luY2x1ZGUgPGN0eXBlLmg+CisKKy8qKgorICogU0VDVElPTjogdXRpbHMKKyAqIEB0aXRsZTogVXRpbHMKKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogbWlzYyBmZGlzayBmdW5jdGlvbnMKKyAqLworCitzdGF0aWMgaW50IHJlYWRfZnJvbV9kZXZpY2Uoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJdW5zaWduZWQgY2hhciAqYnVmLAorCQl1aW50bWF4X3Qgc3RhcnQsIHNpemVfdCBzaXplKQoreworCXNzaXplX3QgcjsKKworCWFzc2VydChjeHQpOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAicmVhZGluZzogb2Zmc2V0PSVqdSwgc2l6ZT0lenUiLAorCQkJCXN0YXJ0LCBzaXplKSk7CisKKwlyID0gbHNlZWsoY3h0LT5kZXZfZmQsIHN0YXJ0LCBTRUVLX1NFVCk7CisJaWYgKHIgPT0gLTEpCisJeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJmYWlsZWQgdG8gc2VlayB0byBvZmZzZXQgJWp1OiAlbSIsIHN0YXJ0KSk7CisJCXJldHVybiAtZXJybm87CisJfQorCisJciA9IHJlYWQoY3h0LT5kZXZfZmQsIGJ1Ziwgc2l6ZSk7CisJaWYgKHIgPCAwIHx8IChzaXplX3QpciAhPSBzaXplKSB7CisJCWlmICghZXJybm8pCisJCQllcnJubyA9IEVJTlZBTDsJLyogcHJvYmFibHkgdG9vIHNtYWxsIGZpbGUvZGV2aWNlICovCisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImZhaWxlZCB0byByZWFkICV6dSBmcm9tIG9mZnNldCAlanU6ICVtIiwKKwkJCQlzaXplLCBzdGFydCkpOworCQlyZXR1cm4gLWVycm5vOworCX0KKworCXJldHVybiAwOworfQorCisKKy8qCisgKiBaZXJvcyBpbi1tZW1vcnkgZmlyc3Qgc2VjdG9yIGJ1ZmZlcgorICovCitpbnQgZmRpc2tfaW5pdF9maXJzdHNlY3Rvcl9idWZmZXIoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCQkgIHVuc2lnbmVkIGludCBwcm90ZWN0X29mZiwKKwkJCQkgIHVuc2lnbmVkIGludCBwcm90ZWN0X3NpemUpCit7CisJaWYgKCFjeHQpCisJCXJldHVybiAtRUlOVkFMOworCisJYXNzZXJ0KHByb3RlY3Rfb2ZmICsgcHJvdGVjdF9zaXplIDw9IGN4dC0+c2VjdG9yX3NpemUpOworCisJaWYgKCFjeHQtPmZpcnN0c2VjdG9yIHx8IGN4dC0+Zmlyc3RzZWN0b3JfYnVmc3ogIT0gY3h0LT5zZWN0b3Jfc2l6ZSkgeworCQkvKiBMZXQncyBhbGxvY2F0ZSBhIG5ldyBidWZmZXIgaWYgbm8gYWxsb2NhdGVkIHlldCwgb3IgdGhlCisJCSAqIGN1cnJlbnQgYnVmZmVyIGhhcyBpbmNvcnJlY3Qgc2l6ZSAqLworCQlpZiAoIWN4dC0+cGFyZW50IHx8IGN4dC0+cGFyZW50LT5maXJzdHNlY3RvciAhPSBjeHQtPmZpcnN0c2VjdG9yKQorCQkJZnJlZShjeHQtPmZpcnN0c2VjdG9yKTsKKworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJpbml0aWFsaXplIGluLW1lbW9yeSBmaXJzdCBzZWN0b3IgIgorCQkJCSJidWZmZXIgW3NlY3Rvcl9zaXplPSVsdV0iLCBjeHQtPnNlY3Rvcl9zaXplKSk7CisJCWN4dC0+Zmlyc3RzZWN0b3IgPSBjYWxsb2MoMSwgY3h0LT5zZWN0b3Jfc2l6ZSk7CisJCWlmICghY3h0LT5maXJzdHNlY3RvcikKKwkJCXJldHVybiAtRU5PTUVNOworCisJCWN4dC0+Zmlyc3RzZWN0b3JfYnVmc3ogPSBjeHQtPnNlY3Rvcl9zaXplOworCQlyZXR1cm4gMDsKKwl9CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJ6ZXJvaXplIGluLW1lbW9yeSBmaXJzdCBzZWN0b3IgYnVmZmVyIikpOworCW1lbXNldChjeHQtPmZpcnN0c2VjdG9yLCAwLCBjeHQtPmZpcnN0c2VjdG9yX2J1ZnN6KTsKKworCWlmIChwcm90ZWN0X3NpemUpIHsKKwkJLyoKKwkJICogSXQgd291bGQgYmUgcG9zc2libGUgdG8gcmV1c2UgZGF0YSBmcm9tIGN4dC0+Zmlyc3RzZWN0b3IKKwkJICogKGNhbGwgbWVtc2V0KCkgZm9yIG5vbi1wcm90ZWN0ZWQgYXJlYSBvbmx5KSBhbmQgYXZvaWQgb25lCisJCSAqIHJlYWQoKSBmcm9tIHRoZSBkZXZpY2UsIGJ1dCBpdCBzZWVtcyBsaWtlIGEgdG9vIGZyYWdpbGUKKwkJICogc29sdXRpb24gYXMgd2UgaGF2ZSBubyBjbHVlIGFib3V0IHN0dWZmIGluIHRoZSBidWZmZXIgLS0KKwkJICogbWF5YmUgaXQgd2FzIGFscmVhZHkgbW9kaWZpZWQuIExldCdzIHJlLXJlYWQgZnJvbSB0aGUgZGV2aWNlCisJCSAqIHRvIGJlIHN1cmUuCQkJLS0ga3phayAxMy1BcHItMjAxNQorCQkgKi8KKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZmlyc3Qgc2VjdG9yIHByb3RlY3Rpb24gZW5hYmxlZCAtLSByZS1yZWFkaW5nIikpOworCQlyZWFkX2Zyb21fZGV2aWNlKGN4dCwgY3h0LT5maXJzdHNlY3RvciwgcHJvdGVjdF9vZmYsIHByb3RlY3Rfc2l6ZSk7CisJfQorCXJldHVybiAwOworfQorCitpbnQgZmRpc2tfcmVhZF9maXJzdHNlY3RvcihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWludCByYzsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPnNlY3Rvcl9zaXplKTsKKworCXJjID0gZmRpc2tfaW5pdF9maXJzdHNlY3Rvcl9idWZmZXIoY3h0LCAwLCAwKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCWFzc2VydChjeHQtPnNlY3Rvcl9zaXplID09IGN4dC0+Zmlyc3RzZWN0b3JfYnVmc3opOworCisKKwlyZXR1cm4gIHJlYWRfZnJvbV9kZXZpY2UoY3h0LCBjeHQtPmZpcnN0c2VjdG9yLCAwLCBjeHQtPnNlY3Rvcl9zaXplKTsKK30KKworLyoqCisgKiBmZGlza19wYXJ0bmFtZToKKyAqIEBkZXY6IGRldmljZSBuYW1lCisgKiBAcGFydG5vOiBwYXJ0aXRpb24gbmFtZQorICoKKyAqIFJldHVybjogYWxsb2NhdGVkIGJ1ZmZlciB3aXRoIHBhcnRpdGlvbiBuYW1lLCB1c2UgZnJlZSgpIHRvIGRlYWxsb2NhdGUuCisgKi8KK2NoYXIgKmZkaXNrX3BhcnRuYW1lKGNvbnN0IGNoYXIgKmRldiwgc2l6ZV90IHBhcnRubykKK3sKKwljaGFyICpyZXMgPSBOVUxMOworCWNvbnN0IGNoYXIgKnAgPSAiIjsKKwljaGFyICpkZXZfbWFwcGVkID0gTlVMTDsKKwlpbnQgdyA9IDA7CisKKwlpZiAoIWRldiB8fCAhKmRldikgeworCQlpZiAoYXNwcmludGYoJnJlcywgIiV6ZCIsIHBhcnRubykgPiAwKQorCQkJcmV0dXJuIHJlczsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJLyogSXQgaXMgaW1wb3NzaWJsZSB0byBwcmVkaWN0IC9kZXYvZG0tTiBwYXJ0aXRpb24gbmFtZXMuICovCisJaWYgKHN0cm5jbXAoZGV2LCAiL2Rldi9kbS0iLCBzaXplb2YoIi9kZXYvZG0tIikgLSAxKSA9PSAwKSB7CisJCWRldl9tYXBwZWQgPSBjYW5vbmljYWxpemVfZG1fbmFtZSAoZGV2ICsgNSk7CisJCWlmIChkZXZfbWFwcGVkKQorCQkJZGV2ID0gZGV2X21hcHBlZDsKKwl9CisKKwl3ID0gc3RybGVuKGRldik7CisJaWYgKGlzZGlnaXQoZGV2W3cgLSAxXSkpCisjaWZkZWYgX19HTlVfXworCQlwID0gInMiOworI2Vsc2UKKwkJcCA9ICJwIjsKKyNlbmRpZgorCisJLyogZGV2ZnMga2x1ZGdlIC0gbm90ZTogZmRpc2sgcGFydGl0aW9uIG5hbWVzIGFyZSBub3Qgc3VwcG9zZWQKKwkgICB0byBlcXVhbCBrZXJuZWwgbmFtZXMsIHNvIHRoZXJlIGlzIG5vIHJlYXNvbiB0byBkbyB0aGlzICovCisJaWYgKHN0cmNtcChkZXYgKyB3IC0gNCwgImRpc2MiKSA9PSAwKSB7CisJCXcgLT0gNDsKKwkJcCA9ICJwYXJ0IjsKKwl9CisKKwkvKiB1ZGV2IG5hbWVzIHBhcnRpdGlvbnMgYnkgYXBwZW5kaW5nIC1wYXJ0TgorCSAgIGUuZy4gYXRhLVNBTVNVTkdfU1Y4MDA0SF8wMzU3SjFGVDcxMjQ0OC1wYXJ0MQorCSAgIG11bHRpcGF0aC10b29scyBrcGFydHgucnVsZXMgYWxzbyBhcHBlbmQgLXBhcnROICovCisJaWYgKChzdHJuY21wKGRldiwgX1BBVEhfREVWX0JZSUQsIHNpemVvZihfUEFUSF9ERVZfQllJRCkgLSAxKSA9PSAwKSB8fAorCSAgICAgc3RybmNtcChkZXYsIF9QQVRIX0RFVl9CWVBBVEgsIHNpemVvZihfUEFUSF9ERVZfQllQQVRIKSAtIDEpID09IDAgfHwKKwkgICAgIHN0cm5jbXAoZGV2LCAiL2Rldi9tYXBwZXIiLCBzaXplb2YoIi9kZXYvbWFwcGVyIikgLSAxKSA9PSAwKSB7CisJICAgICAgIHAgPSAiLXBhcnQiOworCX0KKworCWlmIChhc3ByaW50ZigmcmVzLCAiJS4qcyVzJXp1IiwgdywgZGV2LCBwLCBwYXJ0bm8pIDw9IDApCisJCXJlcyA9IE5VTEw7CisKKwlmcmVlKGRldl9tYXBwZWQpOworCXJldHVybiByZXM7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU0KK3N0cnVjdCBmZGlza19sYWJlbCAqZmRpc2tfbmV3X2Rvc19sYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KSB7IHJldHVybiBOVUxMOyB9CitzdHJ1Y3QgZmRpc2tfbGFiZWwgKmZkaXNrX25ld19ic2RfbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkgeyByZXR1cm4gTlVMTDsgfQorCitzdGF0aWMgaW50IHRlc3RfcGFydG5hbWVzKHN0cnVjdCBmZGlza190ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzaXplX3QgaTsKKwljb25zdCBjaGFyICpkaXNrID0gYXJndlsxXTsKKworCWZvciAoaSA9IDA7IGkgPCA1OyBpKyspIHsKKwkJY2hhciAqcCA9IGZkaXNrX3BhcnRuYW1lKGRpc2ssIGkgKyAxKTsKKwkJaWYgKHApCisJCQlwcmludGYoIiV6dTogJyVzJ1xuIiwgaSArIDEsIHApOworCQlmcmVlKHApOworCX0KKworCXJldHVybiAwOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBmZGlza190ZXN0IHRzc1tdID0geworCQl7ICItLXBhcnRuYW1lcyIsICB0ZXN0X3BhcnRuYW1lcywgICI8ZGlza25hbWU+IiB9LAorCQl7IE5VTEwgfQorCX07CisKKwlyZXR1cm4gZmRpc2tfcnVuX3Rlc3QodHNzLCBhcmdjLCBhcmd2KTsKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9saWJmZGlzay9zcmMvdmVyc2lvbi5jIGIvbGliZmRpc2svc3JjL3ZlcnNpb24uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZDg0YjRjCi0tLSAvZGV2L251bGwKKysrIGIvbGliZmRpc2svc3JjL3ZlcnNpb24uYwpAQCAtMCwwICsxLDEyNSBAQAorLyoKKyAqIHZlcnNpb24uYyAtIFJldHVybiB0aGUgdmVyc2lvbiBvZiB0aGUgbGlicmFyeQorICoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKi8KKworLyoqCisgKiBTRUNUSU9OOiB2ZXJzaW9uLXV0aWxzCisgKiBAdGl0bGU6IFZlcnNpb24gZnVuY3Rpb25zCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGZ1bmN0aW9ucyB0byBnZXQgdGhlIGxpYnJhcnkgdmVyc2lvbi4KKyAqLworCisjaW5jbHVkZSA8Y3R5cGUuaD4KKworI2luY2x1ZGUgImZkaXNrUC5oIgorCitzdGF0aWMgY29uc3QgY2hhciAqbGliX3ZlcnNpb24gPSBMSUJGRElTS19WRVJTSU9OOworc3RhdGljIGNvbnN0IGNoYXIgKmxpYl9mZWF0dXJlc1tdID0geworI2lmICFkZWZpbmVkKE5ERUJVRykJLyogbGliYyBhc3NlcnQuaCBzdHVmZiAqLworCSJhc3NlcnQiLAorI2VuZGlmCisJImRlYnVnIiwJLyogYWx3YXlzIGVuYWJsZWQgKi8KKwlOVUxMCit9OworCisvKioKKyAqIGZkaXNrX3BhcnNlX3ZlcnNpb25fc3RyaW5nOgorICogQHZlcl9zdHJpbmc6IHZlcnNpb24gc3RyaW5nIChlLmcgIjIuMTguMCIpCisgKgorICogUmV0dXJuczogcmVsZWFzZSB2ZXJzaW9uIGNvZGUuCisgKi8KK2ludCBmZGlza19wYXJzZV92ZXJzaW9uX3N0cmluZyhjb25zdCBjaGFyICp2ZXJfc3RyaW5nKQoreworCWNvbnN0IGNoYXIgKmNwOworCWludCB2ZXJzaW9uID0gMDsKKworCWFzc2VydCh2ZXJfc3RyaW5nKTsKKworCWZvciAoY3AgPSB2ZXJfc3RyaW5nOyAqY3A7IGNwKyspIHsKKwkJaWYgKCpjcCA9PSAnLicpCisJCQljb250aW51ZTsKKwkJaWYgKCFpc2RpZ2l0KCpjcCkpCisJCQlicmVhazsKKwkJdmVyc2lvbiA9ICh2ZXJzaW9uICogMTApICsgKCpjcCAtICcwJyk7CisJfQorCXJldHVybiB2ZXJzaW9uOworfQorCisvKioKKyAqIGZkaXNrX2dldF9saWJyYXJ5X3ZlcnNpb246CisgKiBAdmVyX3N0cmluZzogcmV0dXJuIHBvaW50ZXIgdG8gdGhlIHN0YXRpYyBsaWJyYXJ5IHZlcnNpb24gc3RyaW5nIGlmIG5vdCBOVUxMCisgKgorICogUmV0dXJuczogcmVsZWFzZSB2ZXJzaW9uIG51bWJlci4KKyAqLworaW50IGZkaXNrX2dldF9saWJyYXJ5X3ZlcnNpb24oY29uc3QgY2hhciAqKnZlcl9zdHJpbmcpCit7CisJaWYgKHZlcl9zdHJpbmcpCisJCSp2ZXJfc3RyaW5nID0gbGliX3ZlcnNpb247CisKKwlyZXR1cm4gZmRpc2tfcGFyc2VfdmVyc2lvbl9zdHJpbmcobGliX3ZlcnNpb24pOworfQorCisvKioKKyAqIGZkaXNrX2dldF9saWJyYXJ5X2ZlYXR1cmVzOgorICogQGZlYXR1cmVzOiByZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgc3RhdGljIGFycmF5IG9mIHN0cmluZ3MsIHRoZSBhcnJheSBpcworICogICAgICAgICAgICB0ZXJtaW5hdGVkIGJ5IE5VTEwuCisgKgorICogUmV0dXJuczogbnVtYmVyIG9mIGl0ZW1zIGluIHRoZSBmZWF0dXJlcyBhcnJheSBub3QgaW5jbHVkaW5nIHRoZSBsYXN0IE5VTEwsCisgKiAgICAgICAgICBvciBsZXNzIHRoYW4gemVybyBpbiBjYXNlIG9mIGVycm9yCisgKgorICogRXhhbXBsZToKKyAqIDxpbmZvcm1hbGV4YW1wbGU+CisgKiAgIDxwcm9ncmFtbGlzdGluZz4KKyAqCWNvbnN0IGNoYXIgKmZlYXR1cmVzOworICoKKyAqCWZkaXNrX2dldF9saWJyYXJ5X2ZlYXR1cmVzKCZmZWF0dXJlcyk7CisgKgl3aGlsZSAoZmVhdHVyZXMgJiYgKmZlYXR1cmVzKQorICoJCXByaW50ZigiJXNcbiIsICpmZWF0dXJlcysrKTsKKyAqICAgPC9wcm9ncmFtbGlzdGluZz4KKyAqIDwvaW5mb3JtYWxleGFtcGxlPgorICoKKyAqLworaW50IGZkaXNrX2dldF9saWJyYXJ5X2ZlYXR1cmVzKGNvbnN0IGNoYXIgKioqZmVhdHVyZXMpCit7CisJaWYgKCFmZWF0dXJlcykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkqZmVhdHVyZXMgPSBsaWJfZmVhdHVyZXM7CisJcmV0dXJuIEFSUkFZX1NJWkUobGliX2ZlYXR1cmVzKSAtIDE7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU0KK3N0YXRpYyBpbnQgdGVzdF92ZXJzaW9uKHN0cnVjdCBmZGlza190ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwljb25zdCBjaGFyICp2ZXI7CisJY29uc3QgY2hhciAqKmZlYXR1cmVzOworCisJZmRpc2tfZ2V0X2xpYnJhcnlfdmVyc2lvbigmdmVyKTsKKworCXByaW50ZigiTGlicmFyeSB2ZXJzaW9uOiAlc1xuIiwgdmVyKTsKKwlwcmludGYoIkxpYnJhcnkgQVBJIHZlcnNpb246ICIgTElCRkRJU0tfVkVSU0lPTiAiXG4iKTsKKwlwcmludGYoIkxpYnJhcnkgZmVhdHVyZXM6Iik7CisKKwlmZGlza19nZXRfbGlicmFyeV9mZWF0dXJlcygmZmVhdHVyZXMpOworCXdoaWxlIChmZWF0dXJlcyAmJiAqZmVhdHVyZXMpCisJCXByaW50ZigiICVzIiwgKmZlYXR1cmVzKyspOworCisJaWYgKGZkaXNrX2dldF9saWJyYXJ5X3ZlcnNpb24oTlVMTCkgPT0KKwkJCWZkaXNrX3BhcnNlX3ZlcnNpb25fc3RyaW5nKExJQkZESVNLX1ZFUlNJT04pKQorCQlyZXR1cm4gMDsKKworCXJldHVybiAtMTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgZmRpc2tfdGVzdCB0c1tdID0geworCQl7ICItLXByaW50IiwgdGVzdF92ZXJzaW9uLCAicHJpbnQgdmVyc2lvbnMiIH0sCisJCXsgTlVMTCB9CisJfTsKKworCXJldHVybiBmZGlza19ydW5fdGVzdCh0cywgYXJnYywgYXJndik7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmZkaXNrL3NyYy93aXBlLmMgYi9saWJmZGlzay9zcmMvd2lwZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3NzNmNzUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJmZGlzay9zcmMvd2lwZS5jCkBAIC0wLDAgKzEsMTQ1IEBACisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisKKyNpZmRlZiBIQVZFX0xJQkJMS0lECisjIGluY2x1ZGUgPGJsa2lkLmg+CisjZW5kaWYKKworI2luY2x1ZGUgImZkaXNrUC5oIgorCitzdHJ1Y3QgZmRpc2tfd2lwZSB7CisJc3RydWN0IGxpc3RfaGVhZAl3aXBlczsKKwl1aW50NjRfdAkJc3RhcnQ7CQkvKiBzZWN0b3JzICovCisJdWludDY0X3QJCXNpemU7CQkvKiBzZWN0b3JzICovCit9OworCitzdGF0aWMgc3RydWN0IGZkaXNrX3dpcGUgKmZkaXNrX2dldF93aXBlX2FyZWEoCisJCQlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJdWludDY0X3Qgc3RhcnQsCisJCQl1aW50NjRfdCBzaXplKQoreworCXN0cnVjdCBsaXN0X2hlYWQgKnA7CisKKwlpZiAoY3h0ID09IE5VTEwgfHwgbGlzdF9lbXB0eSgmY3h0LT53aXBlcykpCisJCXJldHVybiBOVUxMOworCisJbGlzdF9mb3JfZWFjaChwLCAmY3h0LT53aXBlcykgeworCQlzdHJ1Y3QgZmRpc2tfd2lwZSAqd3AgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBmZGlza193aXBlLCB3aXBlcyk7CisJCWlmICh3cC0+c3RhcnQgPT0gc3RhcnQgJiYgd3AtPnNpemUgPT0gc2l6ZSkKKwkJCXJldHVybiB3cDsKKwl9CisJcmV0dXJuIE5VTEw7Cit9CisKK3ZvaWQgZmRpc2tfZnJlZV93aXBlX2FyZWFzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJd2hpbGUgKCFsaXN0X2VtcHR5KCZjeHQtPndpcGVzKSkgeworCQlzdHJ1Y3QgZmRpc2tfd2lwZSAqd3AgPSBsaXN0X2VudHJ5KGN4dC0+d2lwZXMubmV4dCwKKwkJCQkgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZmRpc2tfd2lwZSwgd2lwZXMpOworCQlEQkcoV0lQRSwgdWxfZGVidWdvYmood3AsICJmcmVlIFtzdGFydD0lanUsIHNpemU9JWp1XSIsCisJCQkJKHVpbnRtYXhfdCkgd3AtPnN0YXJ0LCAodWludG1heF90KSB3cC0+c2l6ZSkpOworCQlsaXN0X2RlbCgmd3AtPndpcGVzKTsKKwkJZnJlZSh3cCk7CisJfQorfQorCitpbnQgZmRpc2tfaGFzX3dpcGVfYXJlYShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJdWludDY0X3Qgc3RhcnQsCisJCQl1aW50NjRfdCBzaXplKQoreworCXJldHVybiBmZGlza19nZXRfd2lwZV9hcmVhKGN4dCwgc3RhcnQsIHNpemUpICE9IE5VTEw7Cit9CisKKy8qIEFkZC9yZW1vdmUgbmV3IHdpcGluZyBhcmVhCisgKgorICogUmV0dXJuczogPDAgb24gZXJyb3IsIG9yIG9sZCBhcmVhIHNldHRpbmcgKDE6IGVuYWJsZWQsIDA6IGRpc2FibGVkKQorICovCitpbnQgZmRpc2tfc2V0X3dpcGVfYXJlYShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJdWludDY0X3Qgc3RhcnQsCisJCQl1aW50NjRfdCBzaXplLAorCQkJaW50IGVuYWJsZSkKK3sKKwlzdHJ1Y3QgZmRpc2tfd2lwZSAqd3A7CisKKwlpZiAoRkRJU0tfSVNfVU5ERUYoc3RhcnQpIHx8IEZESVNLX0lTX1VOREVGKHNpemUpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXdwID0gZmRpc2tfZ2V0X3dpcGVfYXJlYShjeHQsIHN0YXJ0LCBzaXplKTsKKworCS8qIGRpc2FibGUgKi8KKwlpZiAoIWVuYWJsZSkgeworCQlpZiAod3ApIHsKKwkJCURCRyhXSVBFLCB1bF9kZWJ1Z29iaih3cCwgImRpc2FibGUgW3N0YXJ0PSVqdSwgc2l6ZT0lanVdIiwKKwkJCQkJCSh1aW50bWF4X3QpIHN0YXJ0LCAodWludG1heF90KSBzaXplKSk7CisJCQlsaXN0X2RlbCgmd3AtPndpcGVzKTsKKwkJCWZyZWUod3ApOworCQkJcmV0dXJuIDE7CisJCX0KKwkJcmV0dXJuIDA7CisJfQorCisJLyogZW5hYmxlICovCisJaWYgKHdwKQorCQlyZXR1cm4gMTsJLyogYWxyZWFkeSBlbmFibGVkICovCisKKwl3cCA9IGNhbGxvYygxLCBzaXplb2YoKndwKSk7CisJaWYgKCF3cCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlEQkcoV0lQRSwgdWxfZGVidWdvYmood3AsICJlbmFibGUgW3N0YXJ0PSVqdSwgc2l6ZT0lanVdIiwKKwkJCQkodWludG1heF90KSBzdGFydCwgKHVpbnRtYXhfdCkgc2l6ZSkpOworCisJSU5JVF9MSVNUX0hFQUQoJndwLT53aXBlcyk7CisJd3AtPnN0YXJ0ID0gc3RhcnQ7CisJd3AtPnNpemUgPSBzaXplOworCWxpc3RfYWRkX3RhaWwoJndwLT53aXBlcywgJmN4dC0+d2lwZXMpOworCisJcmV0dXJuIDA7Cit9CisKK2ludCBmZGlza19kb193aXBlKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisjaWZkZWYgSEFWRV9MSUJCTEtJRAorCXN0cnVjdCBsaXN0X2hlYWQgKnA7CisJYmxraWRfcHJvYmUgcHI7CisJaW50IHJjOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+ZGV2X2ZkID49IDApOworCisJaWYgKGxpc3RfZW1wdHkoJmN4dC0+d2lwZXMpKQorCQlyZXR1cm4gMDsKKworCXByID0gYmxraWRfbmV3X3Byb2JlKCk7CisJaWYgKCFwcikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlsaXN0X2Zvcl9lYWNoKHAsICZjeHQtPndpcGVzKSB7CisJCXN0cnVjdCBmZGlza193aXBlICp3cCA9IGxpc3RfZW50cnkocCwgc3RydWN0IGZkaXNrX3dpcGUsIHdpcGVzKTsKKwkJYmxraWRfbG9mZl90IHN0YXJ0ID0gKGJsa2lkX2xvZmZfdCkgd3AtPnN0YXJ0ICogY3h0LT5zZWN0b3Jfc2l6ZSwKKwkJCSAgICAgc2l6ZSA9IChibGtpZF9sb2ZmX3QpIHdwLT5zaXplICogY3h0LT5zZWN0b3Jfc2l6ZTsKKworCQlEQkcoV0lQRSwgdWxfZGVidWdvYmood3AsICJpbml0aWFsaXplIGxpYmJsa2lkIHByb2JlciBbc3RhcnQ9JWp1LCBzaXplPSVqdV0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludG1heF90KSBzdGFydCwgKHVpbnRtYXhfdCkgc2l6ZSkpOworCisJCXJjID0gYmxraWRfcHJvYmVfc2V0X2RldmljZShwciwgY3h0LT5kZXZfZmQsIHN0YXJ0LCBzaXplKTsKKwkJaWYgKHJjKSB7CisJCQlEQkcoV0lQRSwgdWxfZGVidWdvYmood3AsICJibGtpZF9wcm9iZV9zZXRfZGV2aWNlKCkgZmFpbGVkIFtyYz0lZF0iLCByYykpOworCQkJcmV0dXJuIHJjOworCQl9CisKKwkJYmxraWRfcHJvYmVfZW5hYmxlX3N1cGVyYmxvY2tzKHByLCAxKTsKKwkJYmxraWRfcHJvYmVfc2V0X3N1cGVyYmxvY2tzX2ZsYWdzKHByLCBCTEtJRF9TVUJMS1NfTUFHSUMpOworCQlibGtpZF9wcm9iZV9lbmFibGVfcGFydGl0aW9ucyhwciwgMSk7CisJCWJsa2lkX3Byb2JlX3NldF9wYXJ0aXRpb25zX2ZsYWdzKHByLCBCTEtJRF9QQVJUU19NQUdJQyk7CisKKwkJd2hpbGUgKGJsa2lkX2RvX3Byb2JlKHByKSA9PSAwKSB7CisJCQlEQkcoV0lQRSwgdWxfZGVidWdvYmood3AsICIgd2lwaW5nLi4uIikpOworCQkJYmxraWRfZG9fd2lwZShwciwgRkFMU0UpOworCQl9CisJfQorCisJYmxraWRfZnJlZV9wcm9iZShwcik7CisjZW5kaWYKKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL2xpYm1vdW50L0NPUFlJTkcgYi9saWJtb3VudC9DT1BZSU5HCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlMWE1YjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtb3VudC9DT1BZSU5HCkBAIC0wLDAgKzEsOCBAQAorVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCit2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIKK3ZlcnNpb24uCisKK1RoZSBjb21wbGV0ZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGlzIGF2YWlsYWJsZSBpbiB0aGUKKy4uL0RvY3VtZW50YXRpb24vbGljZW5zZXMvQ09QWUlORy5MR1BMdjIuMSBmaWxlLgpkaWZmIC0tZ2l0IGEvbGlibW91bnQvTWFrZW1vZHVsZS5hbSBiL2xpYm1vdW50L01ha2Vtb2R1bGUuYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODU0NmMyZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L01ha2Vtb2R1bGUuYW0KQEAgLTAsMCArMSwxNSBAQAoraWYgQlVJTERfTElCTU9VTlQKKworaW5jbHVkZSBsaWJtb3VudC9zcmMvTWFrZW1vZHVsZS5hbQoraW5jbHVkZSBsaWJtb3VudC9weXRob24vTWFrZW1vZHVsZS5hbQorCitpZiBFTkFCTEVfR1RLX0RPQworIyBEb2NzIHVzZXMgc2VwYXJhdGUgTWFrZWZpbGVzCitTVUJESVJTICs9IGxpYm1vdW50L2RvY3MKK2VuZGlmCisKK3BrZ2NvbmZpZ19EQVRBICs9IGxpYm1vdW50L21vdW50LnBjCitQQVRIRklMRVMgICAgICArPSBsaWJtb3VudC9tb3VudC5wYworRVhUUkFfRElTVCAgICAgKz0gbGlibW91bnQvQ09QWUlORworCitlbmRpZiAjIEJVSUxEX0xJQk1PVU5UCmRpZmYgLS1naXQgYS9saWJtb3VudC9kb2NzLy5naXRpZ25vcmUgYi9saWJtb3VudC9kb2NzLy5naXRpZ25vcmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjkxZjkzZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L2RvY3MvLmdpdGlnbm9yZQpAQCAtMCwwICsxLDE4IEBACisqLWRlY2wtbGlzdC50eHQKKyotZGVjbC50eHQKKyotb3ZlcnJpZGVzLnR4dAorKi11bmRlY2xhcmVkLnR4dAorKi11bmRvY3VtZW50ZWQudHh0CisqLXVudXNlZC50eHQKKyouYXJncworKi5iYWsKKyouaGllcmFyY2h5CisqLmludGVyZmFjZXMKKyoucHJlcmVxdWlzaXRlcworKi5zaWduYWxzCisqLnN0YW1wCisqLnR5cGVzCitodG1sLyoKK3RtcGwvKgordmVyc2lvbi54bWwKK3htbC8qCmRpZmYgLS1naXQgYS9saWJtb3VudC9kb2NzL01ha2VmaWxlLmFtIGIvbGlibW91bnQvZG9jcy9NYWtlZmlsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYzAzNjNmCi0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvZG9jcy9NYWtlZmlsZS5hbQpAQCAtMCwwICsxLDkzIEBACisjIyBQcm9jZXNzIHRoaXMgZmlsZSB3aXRoIGF1dG9tYWtlIHRvIHByb2R1Y2UgTWFrZWZpbGUuaW4KKworIyBXZSByZXF1aXJlIGF1dG9tYWtlIDEuMTAgYXQgbGVhc3QuCitBVVRPTUFLRV9PUFRJT05TID0gMS4xMAorCisjIFRoaXMgaXMgYSBibGFuayBNYWtlZmlsZS5hbSBmb3IgdXNpbmcgZ3RrLWRvYy4KKyMgQ29weSB0aGlzIHRvIHlvdXIgcHJvamVjdCdzIEFQSSBkb2NzIGRpcmVjdG9yeSBhbmQgbW9kaWZ5IHRoZSB2YXJpYWJsZXMgdG8KKyMgc3VpdCB5b3VyIHByb2plY3QuIFNlZSB0aGUgR1RLKyBNYWtlZmlsZXMgaW4gZ3RrKy9kb2NzL3JlZmVyZW5jZSBmb3IgZXhhbXBsZXMKKyMgb2YgdXNpbmcgdGhlIHZhcmlvdXMgb3B0aW9ucy4KKworIyBUaGUgbmFtZSBvZiB0aGUgbW9kdWxlLCBlLmcuICdnbGliJy4KK0RPQ19NT0RVTEU9bGlibW91bnQKKworIyBVbmNvbW1lbnQgZm9yIHZlcnNpb25lZCBkb2NzIGFuZCBzcGVjaWZ5IHRoZSB2ZXJzaW9uIG9mIHRoZSBtb2R1bGUsIGUuZy4gJzInLgorI0RPQ19NT0RVTEVfVkVSU0lPTj0yCisKKyMgVGhlIHRvcC1sZXZlbCBTR01MIGZpbGUuIFlvdSBjYW4gY2hhbmdlIHRoaXMgaWYgeW91IHdhbnQgdG8uCitET0NfTUFJTl9TR01MX0ZJTEU9JChET0NfTU9EVUxFKS1kb2NzLnhtbAorCisjIFRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgc291cmNlIGNvZGUuIFJlbGF0aXZlIHRvICQoc3JjZGlyKS4KKyMgZ3RrLWRvYyB3aWxsIHNlYXJjaCBhbGwgLmMgJiAuaCBmaWxlcyBiZW5lYXRoIGhlcmUgZm9yIGlubGluZSBjb21tZW50cworIyBkb2N1bWVudGluZyB0aGUgZnVuY3Rpb25zIGFuZCBtYWNyb3MuCisjIGUuZy4gRE9DX1NPVVJDRV9ESVI9Li4vLi4vLi4vZ3RrCitET0NfU09VUkNFX0RJUj0uLi9zcmMKKworIyBFeHRyYSBvcHRpb25zIHRvIHBhc3MgdG8gZ3RrZG9jLXNjYW5nb2JqLiBOb3Qgbm9ybWFsbHkgbmVlZGVkLgorU0NBTkdPQkpfT1BUSU9OUz0KKworIyBFeHRyYSBvcHRpb25zIHRvIHN1cHBseSB0byBndGtkb2Mtc2Nhbi4KKyMgZS5nLiBTQ0FOX09QVElPTlM9LS1kZXByZWNhdGVkLWd1YXJkcz0iR1RLX0RJU0FCTEVfREVQUkVDQVRFRCIKK1NDQU5fT1BUSU9OUz0KKworIyBFeHRyYSBvcHRpb25zIHRvIHN1cHBseSB0byBndGtkb2MtbWtkYi4KKyMgZS5nLiBNS0RCX09QVElPTlM9LS1zZ21sLW1vZGUgLS1vdXRwdXQtZm9ybWF0PXhtbAorTUtEQl9PUFRJT05TPS0tc2dtbC1tb2RlIC0tb3V0cHV0LWZvcm1hdD14bWwgLS1uYW1lLXNwYWNlIG1udAorCisjIEV4dHJhIG9wdGlvbnMgdG8gc3VwcGx5IHRvIGd0a2RvYy1ta3RtcGwKKyMgZS5nLiBNS1RNUExfT1BUSU9OUz0tLW9ubHktc2VjdGlvbi10bXBsCitNS1RNUExfT1BUSU9OUz0KKworIyBFeHRyYSBvcHRpb25zIHRvIHN1cHBseSB0byBndGtkb2MtbWtodG1sCitNS0hUTUxfT1BUSU9OUz0KKworIyBFeHRyYSBvcHRpb25zIHRvIHN1cHBseSB0byBndGtkb2MtZml4cmVmLiBOb3Qgbm9ybWFsbHkgbmVlZGVkLgorIyBlLmcuIEZJWFhSRUZfT1BUSU9OUz0tLWV4dHJhLWRpcj0uLi9nZGstcGl4YnVmL2h0bWwgLS1leHRyYS1kaXI9Li4vZ2RrL2h0bWwKK0ZJWFhSRUZfT1BUSU9OUz0KKworIyBVc2VkIGZvciBkZXBlbmRlbmNpZXMuIFRoZSBkb2NzIHdpbGwgYmUgcmVidWlsdCBpZiBhbnkgb2YgdGhlc2UgY2hhbmdlLgorIyBlLmcuIEhGSUxFX0dMT0I9JCh0b3Bfc3JjZGlyKS9ndGsvKi5oCisjIGUuZy4gQ0ZJTEVfR0xPQj0kKHRvcF9zcmNkaXIpL2d0ay8qLmMKK0hGSUxFX0dMT0I9JCh0b3BfYnVpbGRkaXIpL2xpYm1vdW50L3NyYy9saWJtb3VudC5oCitDRklMRV9HTE9CPSQodG9wX3NyY2RpcikvbGlibW91bnQvc3JjLyouYworCisjIEV4dHJhIGhlYWRlciB0byBpbmNsdWRlIHdoZW4gc2Nhbm5pbmcsIHdoaWNoIGFyZSBub3QgdW5kZXIgRE9DX1NPVVJDRV9ESVIKKyMgZS5nLiBFWFRSQV9IRklMRVM9JCh0b3Bfc3JjZGlyfS9jb250cmliL2V4dHJhLmgKK0VYVFJBX0hGSUxFUz0KKworIyBIZWFkZXIgZmlsZXMgdG8gaWdub3JlIHdoZW4gc2Nhbm5pbmcuIFVzZSBiYXNlIGZpbGUgbmFtZSwgbm8gcGF0aHMKKyMgZS5nLiBJR05PUkVfSEZJTEVTPWd0a2RlYnVnLmggZ3RraW50bC5oCitJR05PUkVfSEZJTEVTPW1vdW50UC5oCisKKyMgSW1hZ2VzIHRvIGNvcHkgaW50byBIVE1MIGRpcmVjdG9yeS4KKyMgZS5nLiBIVE1MX0lNQUdFUz0kKHRvcF9zcmNkaXIpL2d0ay9zdG9jay1pY29ucy9zdG9ja19hYm91dF8yNC5wbmcKK0hUTUxfSU1BR0VTPQorCisjIEV4dHJhIFNHTUwgZmlsZXMgdGhhdCBhcmUgaW5jbHVkZWQgYnkgJChET0NfTUFJTl9TR01MX0ZJTEUpLgorIyBlLmcuIGNvbnRlbnRfZmlsZXM9cnVubmluZy5zZ21sIGJ1aWxkaW5nLnNnbWwgY2hhbmdlcy0yLjAuc2dtbAorY29udGVudF9maWxlcyA9ICQoYnVpbGRkaXIpL3ZlcnNpb24ueG1sCisKKyMgU0dNTCBmaWxlcyB3aGVyZSBndGstZG9jIGFiYnJldmF0aW9ucyAoI0d0a1dpZGdldCkgYXJlIGV4cGFuZGVkCisjIFRoZXNlIGZpbGVzIG11c3QgYmUgbGlzdGVkIGhlcmUgKmFuZCogaW4gY29udGVudF9maWxlcworIyBlLmcuIGV4cGFuZF9jb250ZW50X2ZpbGVzPXJ1bm5pbmcuc2dtbAorZXhwYW5kX2NvbnRlbnRfZmlsZXM9CisKKyMgQ0ZMQUdTIGFuZCBMREZMQUdTIGZvciBjb21waWxpbmcgZ3RrZG9jLXNjYW5nb2JqIHdpdGggeW91ciBsaWJyYXJ5LgorIyBPbmx5IG5lZWRlZCBpZiB5b3UgYXJlIHVzaW5nIGd0a2RvYy1zY2FuZ29iaiB0byBkeW5hbWljYWxseSBxdWVyeSB3aWRnZXQKKyMgc2lnbmFscyBhbmQgcHJvcGVydGllcy4KKyMgZS5nLiBHVEtET0NfQ0ZMQUdTPS1JJCh0b3Bfc3JjZGlyKSAtSSQodG9wX2J1aWxkZGlyKSAkKEdUS19ERUJVR19GTEFHUykKKyMgZS5nLiBHVEtET0NfTElCUz0kKHRvcF9idWlsZGRpcikvZ3RrLyQoZ3RrdGFyZ2V0bGliKQorR1RLRE9DX0NGTEFHUz0KK0dUS0RPQ19MSUJTPQorCisjIFRoaXMgaW5jbHVkZXMgdGhlIHN0YW5kYXJkIGd0ay1kb2MgbWFrZSBydWxlcywgY29waWVkIGJ5IGd0a2RvY2l6ZS4KK2luY2x1ZGUgJCh0b3Bfc3JjZGlyKS9jb25maWcvZ3RrLWRvYy5tYWtlCisKKyMgT3RoZXIgZmlsZXMgdG8gZGlzdHJpYnV0ZQorIyBlLmcuIEVYVFJBX0RJU1QgKz0gdmVyc2lvbi54bWwuaW4KK0VYVFJBX0RJU1QgKz0gdmVyc2lvbi54bWwuaW4KKworIyBGaWxlcyBub3QgdG8gZGlzdHJpYnV0ZQorIyBmb3IgLS1yZWJ1aWxkLXR5cGVzIGluICQoU0NBTl9PUFRJT05TKSwgZS5nLiAkKERPQ19NT0RVTEUpLnR5cGVzCisjIGZvciAtLXJlYnVpbGQtc2VjdGlvbnMgaW4gJChTQ0FOX09QVElPTlMpIGUuZy4gJChET0NfTU9EVUxFKS1zZWN0aW9ucy50eHQKK0RJU1RDTEVBTkZJTEVTICs9IHZlcnNpb24ueG1sCmRpZmYgLS1naXQgYS9saWJtb3VudC9kb2NzL2xpYm1vdW50LWRvY3MueG1sIGIvbGlibW91bnQvZG9jcy9saWJtb3VudC1kb2NzLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNGEwNTVmCi0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvZG9jcy9saWJtb3VudC1kb2NzLnhtbApAQCAtMCwwICsxLDcwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBib29rIFBVQkxJQyAiLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC4zLy9FTiIKKyAgICAgICAgICAgICAgICJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuMy9kb2Nib29reC5kdGQiCitbCisgIDwhRU5USVRZIHZlcnNpb24gU1lTVEVNICJ2ZXJzaW9uLnhtbCI+CitdPgorPGJvb2sgaWQ9ImluZGV4IiB4bWxuczp4aT0iaHR0cDovL3d3dy53My5vcmcvMjAwMy9YSW5jbHVkZSI+CisgIDxib29raW5mbz4KKyAgICA8dGl0bGU+bGlibW91bnQgUmVmZXJlbmNlIE1hbnVhbDwvdGl0bGU+CisgICAgPHJlbGVhc2VpbmZvPmZvciBsaWJtb3VudCB2ZXJzaW9uICZ2ZXJzaW9uOzwvcmVsZWFzZWluZm8+CisgICAgPGNvcHlyaWdodD4KKyAgICAgIDx5ZWFyPjIwMTAtMjAxNTwveWVhcj4KKyAgICAgIDxob2xkZXI+S2FyZWwgWmFrICZsdDtremFrQHJlZGhhdC5jb20mZ3Q7PC9ob2xkZXI+CisgICAgPC9jb3B5cmlnaHQ+CisgIDwvYm9va2luZm8+CisKKyAgPHBhcnQgaWQ9Imd0ayI+CisgICAgPHRpdGxlPmxpYm1vdW50IE92ZXJ2aWV3PC90aXRsZT4KKyAgICA8cGFydGludHJvPgorICAgIDxwYXJhPgorVGhlIGxpYm1vdW50IGxpYnJhcnkgaXMgdXNlZCB0byBwYXJzZSAvZXRjL2ZzdGFiLCAvZXRjL210YWIgYW5kCisvcHJvYy9zZWxmL21vdW50aW5mbyBmaWxlcywgbWFuYWdlIHRoZSBtdGFiIGZpbGUsIGV2YWx1YXRlIG1vdW50IG9wdGlvbnMsIGV0Yy4KKyAgICA8L3BhcmE+CisgICAgPHBhcmE+CitUaGUgbGlicmFyeSBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2Ugc2luY2UgdmVyc2lvbiAyLjE4IGFuZCBpcworYXZhaWxhYmxlIGZyb20gZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgorICAgIDwvcGFyYT4KKyAgPC9wYXJ0aW50cm8+CisgPC9wYXJ0PgorCisgIDxwYXJ0PgorICAgIDx0aXRsZT5IaWdoLWxldmVsIEFQSTwvdGl0bGU+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2NvbnRleHQueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2NvbnRleHQtbW91bnQueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2NvbnRleHQtdW1vdW50LnhtbCIvPgorICA8L3BhcnQ+CisgIDxwYXJ0PgorICAgIDx0aXRsZT5GaWxlcyBwYXJzaW5nPC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvdGFibGUueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2ZzLnhtbCIvPgorICA8L3BhcnQ+CisgIDxwYXJ0PgorICAgIDx0aXRsZT5UYWJsZXMgbWFuYWdlbWVudDwvdGl0bGU+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2xvY2sueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL3VwZGF0ZS54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvbW9uaXRvci54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvdGFiZGlmZi54bWwiLz4KKyAgPC9wYXJ0PgorICA8cGFydD4KKyAgICA8dGl0bGU+TW91bnQgb3B0aW9uczwvdGl0bGU+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL29wdHN0ci54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvb3B0bWFwLnhtbCIvPgorICA8L3BhcnQ+CisgIDxwYXJ0PgorICAgIDx0aXRsZT5NaXNjPC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvaW5pdC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvY2FjaGUueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2l0ZXIueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL3V0aWxzLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC92ZXJzaW9uLXV0aWxzLnhtbCIvPgorICA8L3BhcnQ+CisgIDxpbmRleCBpZD0iYXBpLWluZGV4Ij4KKyAgICA8dGl0bGU+QVBJIEluZGV4PC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvYXBpLWluZGV4LWZ1bGwueG1sIj48eGk6ZmFsbGJhY2sgLz48L3hpOmluY2x1ZGU+CisgIDwvaW5kZXg+CisgIDxpbmRleCByb2xlPSIyLjI4Ij4KKyAgICA8dGl0bGU+SW5kZXggb2YgbmV3IHN5bWJvbHMgaW4gMi4yODwvdGl0bGU+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2FwaS1pbmRleC0yLjI4LnhtbCI+PHhpOmZhbGxiYWNrIC8+PC94aTppbmNsdWRlPgorICA8L2luZGV4PgorPC9ib29rPgpkaWZmIC0tZ2l0IGEvbGlibW91bnQvZG9jcy9saWJtb3VudC1zZWN0aW9ucy50eHQgYi9saWJtb3VudC9kb2NzL2xpYm1vdW50LXNlY3Rpb25zLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMTYwN2VhCi0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvZG9jcy9saWJtb3VudC1zZWN0aW9ucy50eHQKQEAgLTAsMCArMSw0MDkgQEAKKzxTRUNUSU9OPgorPEZJTEU+Y2FjaGU8L0ZJTEU+CitsaWJtbnRfY2FjaGUKK21udF9uZXdfY2FjaGUKK21udF9mcmVlX2NhY2hlCittbnRfcmVmX2NhY2hlCittbnRfdW5yZWZfY2FjaGUKK21udF9jYWNoZV9kZXZpY2VfaGFzX3RhZworbW50X2NhY2hlX2ZpbmRfdGFnX3ZhbHVlCittbnRfY2FjaGVfcmVhZF90YWdzCittbnRfY2FjaGVfc2V0X3RhcmdldHMKK21udF9nZXRfZnN0eXBlCittbnRfcHJldHR5X3BhdGgKK21udF9yZXNvbHZlX3BhdGgKK21udF9yZXNvbHZlX3NwZWMKK21udF9yZXNvbHZlX3RhZworbW50X3Jlc29sdmVfdGFyZ2V0Cis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+Y29udGV4dDwvRklMRT4KK2xpYm1udF9jb250ZXh0CittbnRfZnJlZV9jb250ZXh0CittbnRfbmV3X2NvbnRleHQKK21udF9yZXNldF9jb250ZXh0CittbnRfY29udGV4dF9hcHBlbmRfb3B0aW9ucworbW50X2NvbnRleHRfYXBwbHlfZnN0YWIKK21udF9jb250ZXh0X2Rpc2FibGVfY2Fub25pY2FsaXplCittbnRfY29udGV4dF9kaXNhYmxlX2hlbHBlcnMKK21udF9jb250ZXh0X2Rpc2FibGVfbXRhYgorbW50X2NvbnRleHRfZGlzYWJsZV9zd2FwbWF0Y2gKK21udF9jb250ZXh0X2VuYWJsZV9mYWtlCittbnRfY29udGV4dF9lbmFibGVfZm9yY2UKK21udF9jb250ZXh0X2VuYWJsZV9mb3JrCittbnRfY29udGV4dF9lbmFibGVfbGF6eQorbW50X2NvbnRleHRfZW5hYmxlX2xvb3BkZWwKK21udF9jb250ZXh0X2VuYWJsZV9yZG9ubHlfdW1vdW50CittbnRfY29udGV4dF9lbmFibGVfc2xvcHB5CittbnRfY29udGV4dF9lbmFibGVfdmVyYm9zZQorbW50X2NvbnRleHRfZ2V0X2NhY2hlCittbnRfY29udGV4dF9nZXRfZnMKK21udF9jb250ZXh0X2dldF9mc3RhYgorbW50X2NvbnRleHRfZ2V0X2ZzdGFiX3VzZXJkYXRhCittbnRfY29udGV4dF9nZXRfZnN0eXBlCittbnRfY29udGV4dF9nZXRfZnNfdXNlcmRhdGEKK21udF9jb250ZXh0X2dldF9oZWxwZXJfc3RhdHVzCittbnRfY29udGV4dF9nZXRfbG9jaworbW50X2NvbnRleHRfZ2V0X21mbGFncworbW50X2NvbnRleHRfZ2V0X210YWIKK21udF9jb250ZXh0X2dldF9tdGFiX3VzZXJkYXRhCittbnRfY29udGV4dF9nZXRfb3B0aW9ucworbW50X2NvbnRleHRfZ2V0X29wdHNtb2RlCittbnRfY29udGV4dF9nZXRfc291cmNlCittbnRfY29udGV4dF9nZXRfc3RhdHVzCittbnRfY29udGV4dF9nZXRfc3lzY2FsbF9lcnJubworbW50X2NvbnRleHRfZ2V0X3RhYmxlCittbnRfY29udGV4dF9nZXRfdGFyZ2V0CittbnRfY29udGV4dF9nZXRfdXNlcl9tZmxhZ3MKK21udF9jb250ZXh0X2hlbHBlcl9leGVjdXRlZAorbW50X2NvbnRleHRfaGVscGVyX3NldG9wdAorbW50X2NvbnRleHRfaW5pdF9oZWxwZXIKK21udF9jb250ZXh0X2lzX2NoaWxkCittbnRfY29udGV4dF9pc19mYWtlCittbnRfY29udGV4dF9pc19mb3JjZQorbW50X2NvbnRleHRfaXNfZm9yaworbW50X2NvbnRleHRfaXNfZnNfbW91bnRlZAorbW50X2NvbnRleHRfaXNfbGF6eQorbW50X2NvbnRleHRfaXNfbG9vcGRlbAorbW50X2NvbnRleHRfaXNfbm9jYW5vbmljYWxpemUKK21udF9jb250ZXh0X2lzX25vaGVscGVycworbW50X2NvbnRleHRfaXNfbm9tdGFiCittbnRfY29udGV4dF9pc19wYXJlbnQKK21udF9jb250ZXh0X2lzX3Jkb25seV91bW91bnQKK21udF9jb250ZXh0X2lzX3Jlc3RyaWN0ZWQKK21udF9jb250ZXh0X2lzX3Nsb3BweQorbW50X2NvbnRleHRfaXNfc3dhcG1hdGNoCittbnRfY29udGV4dF9pc192ZXJib3NlCittbnRfY29udGV4dF9yZXNldF9zdGF0dXMKK21udF9jb250ZXh0X3NldF9jYWNoZQorbW50X2NvbnRleHRfc2V0X2ZzCittbnRfY29udGV4dF9zZXRfZnN0YWIKK21udF9jb250ZXh0X3NldF9mc3R5cGUKK21udF9jb250ZXh0X3NldF9mc3R5cGVfcGF0dGVybgorbW50X2NvbnRleHRfc2V0X21mbGFncworbW50X2NvbnRleHRfc2V0X21vdW50ZGF0YQorbW50X2NvbnRleHRfc2V0X29wdGlvbnMKK21udF9jb250ZXh0X3NldF9vcHRpb25zX3BhdHRlcm4KK21udF9jb250ZXh0X3NldF9vcHRzbW9kZQorbW50X2NvbnRleHRfc2V0X3Bhc3N3ZF9jYgorbW50X2NvbnRleHRfc2V0X3NvdXJjZQorbW50X2NvbnRleHRfc2V0X3N5c2NhbGxfc3RhdHVzCittbnRfY29udGV4dF9zZXRfdGFibGVzX2VycmNiCittbnRfY29udGV4dF9zZXRfdGFyZ2V0CittbnRfY29udGV4dF9zZXRfdXNlcl9tZmxhZ3MKK21udF9jb250ZXh0X3N0cmVycm9yCittbnRfY29udGV4dF9zeXNjYWxsX2NhbGxlZAorbW50X2NvbnRleHRfdGFiX2FwcGxpZWQKK21udF9jb250ZXh0X3dhaXRfZm9yX2NoaWxkcmVuCis8U1VCU0VDVElPTj4KK01OVF9FUlJfQU1CSUZTCitNTlRfRVJSX0FQUExZRkxBR1MKK01OVF9FUlJfTE9PUERFVgorTU5UX0VSUl9NT1VOVE9QVAorTU5UX0VSUl9OT0ZTVEFCCitNTlRfRVJSX05PRlNUWVBFCitNTlRfRVJSX05PU09VUkNFCitNTlRfRVJSX0xPT1BPVkVSTEFQCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+Y29udGV4dC1tb3VudDwvRklMRT4KK21udF9jb250ZXh0X2RvX21vdW50CittbnRfY29udGV4dF9maW5hbGl6ZV9tb3VudAorbW50X2NvbnRleHRfbW91bnQKK21udF9jb250ZXh0X25leHRfbW91bnQKK21udF9jb250ZXh0X3ByZXBhcmVfbW91bnQKKzxTVUJTRUNUSU9OPgorTU5UX01TX0NPTU1FTlQKK01OVF9NU19HUk9VUAorTU5UX01TX0hFTFBFUgorTU5UX01TX0xPT1AKK01OVF9NU19ORVRERVYKK01OVF9NU19OT0FVVE8KK01OVF9NU19OT0ZBSUwKK01OVF9NU19PRkZTRVQKK01OVF9NU19PV05FUgorTU5UX01TX1NJWkVMSU1JVAorTU5UX01TX0VOQ1JZUFRJT04KK01OVF9NU19VSEVMUEVSCitNTlRfTVNfVVNFUgorTU5UX01TX1VTRVJTCitNTlRfTVNfWENPTU1FTlQKKzxTVUJTRUNUSU9OPgorTVNfQklORAorTVNfRElSU1lOQworTVNfSV9WRVJTSU9OCitNU19NQU5ETE9DSworTVNfTUdDX01TSworTVNfTUdDX1ZBTAorTVNfTU9WRQorTVNfTk9BVElNRQorTVNfTk9ERVYKK01TX05PRElSQVRJTUUKK01TX05PRVhFQworTVNfTk9TVUlECitNU19PV05FUlNFQ1VSRQorTVNfUFJJVkFURQorTVNfUFJPUEFHQVRJT04KK01TX1JET05MWQorTVNfUkVDCitNU19SRUxBVElNRQorTVNfUkVNT1VOVAorTVNfU0VDVVJFCitNU19TSEFSRUQKK01TX1NJTEVOVAorTVNfU0xBVkUKK01TX1NUUklDVEFUSU1FCitNU19TWU5DSFJPTk9VUworTVNfVU5CSU5EQUJMRQorTVNfTEFaWVRJTUUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5jb250ZXh0LXVtb3VudDwvRklMRT4KK21udF9jb250ZXh0X2ZpbmRfdW1vdW50X2ZzCittbnRfY29udGV4dF9kb191bW91bnQKK21udF9jb250ZXh0X2ZpbmFsaXplX3Vtb3VudAorbW50X2NvbnRleHRfbmV4dF91bW91bnQKK21udF9jb250ZXh0X3ByZXBhcmVfdW1vdW50CittbnRfY29udGV4dF91bW91bnQKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5mczwvRklMRT4KK2xpYm1udF9mcworbW50X2NvcHlfZnMKK21udF9mcmVlX2ZzCittbnRfZnJlZV9tbnRlbnQKK21udF9yZWZfZnMKK21udF91bnJlZl9mcworbW50X2ZzX2FwcGVuZF9hdHRyaWJ1dGVzCittbnRfZnNfYXBwZW5kX2NvbW1lbnQKK21udF9mc19hcHBlbmRfb3B0aW9ucworbW50X2ZzX2dldF9hdHRyaWJ1dGUKK21udF9mc19nZXRfYXR0cmlidXRlcworbW50X2ZzX2dldF9iaW5kc3JjCittbnRfZnNfZ2V0X2NvbW1lbnQKK21udF9mc19nZXRfZGV2bm8KK21udF9mc19nZXRfZnJlcQorbW50X2ZzX2dldF9mc19vcHRpb25zCittbnRfZnNfZ2V0X2ZzdHlwZQorbW50X2ZzX2dldF9pZAorbW50X2ZzX2dldF9vcHRpb24KK21udF9mc19nZXRfb3B0aW9uYWxfZmllbGRzCittbnRfZnNfZ2V0X29wdGlvbnMKK21udF9mc19nZXRfcGFyZW50X2lkCittbnRfZnNfZ2V0X3Bhc3NubworbW50X2ZzX2dldF9wcmlvcml0eQorbW50X2ZzX2dldF9wcm9wYWdhdGlvbgorbW50X2ZzX2dldF9yb290CittbnRfZnNfZ2V0X3NpemUKK21udF9mc19nZXRfc291cmNlCittbnRfZnNfZ2V0X3NyY3BhdGgKK21udF9mc19nZXRfc3dhcHR5cGUKK21udF9mc19nZXRfdGFnCittbnRfZnNfZ2V0X3RhcmdldAorbW50X2ZzX2dldF90aWQKK21udF9mc19nZXRfdXNlZHNpemUKK21udF9mc19nZXRfdXNlcmRhdGEKK21udF9mc19nZXRfdXNlcl9vcHRpb25zCittbnRfZnNfZ2V0X3Zmc19vcHRpb25zCittbnRfZnNfaXNfa2VybmVsCittbnRfZnNfaXNfbmV0ZnMKK21udF9mc19pc19wc2V1ZG9mcworbW50X2ZzX2lzX3N3YXBhcmVhCittbnRfZnNfbWF0Y2hfZnN0eXBlCittbnRfZnNfbWF0Y2hfb3B0aW9ucworbW50X2ZzX21hdGNoX3NvdXJjZQorbW50X2ZzX21hdGNoX3RhcmdldAorbW50X2ZzX3ByZXBlbmRfYXR0cmlidXRlcworbW50X2ZzX3ByZXBlbmRfb3B0aW9ucworbW50X2ZzX3ByaW50X2RlYnVnCittbnRfZnNfc2V0X2F0dHJpYnV0ZXMKK21udF9mc19zZXRfYmluZHNyYworbW50X2ZzX3NldF9jb21tZW50CittbnRfZnNfc2V0X2ZyZXEKK21udF9mc19zZXRfZnN0eXBlCittbnRfZnNfc2V0X29wdGlvbnMKK21udF9mc19zZXRfcGFzc25vCittbnRfZnNfc2V0X3ByaW9yaXR5CittbnRfZnNfc2V0X3Jvb3QKK21udF9mc19zZXRfc291cmNlCittbnRfZnNfc2V0X3RhcmdldAorbW50X2ZzX3NldF91c2VyZGF0YQorbW50X2ZzX3N0cmR1cF9vcHRpb25zCittbnRfZnNfc3RyZXFfc3JjcGF0aAorbW50X2ZzX3N0cmVxX3RhcmdldAorbW50X2ZzX3RvX21udGVudAorbW50X25ld19mcworbW50X3Jlc2V0X2ZzCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+aW5pdDwvRklMRT4KK21udF9pbml0X2RlYnVnCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+aXRlcjwvRklMRT4KK2xpYm1udF9pdGVyCittbnRfZnJlZV9pdGVyCittbnRfaXRlcl9nZXRfZGlyZWN0aW9uCittbnRfbmV3X2l0ZXIKK21udF9yZXNldF9pdGVyCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+bG9jazwvRklMRT4KK2xpYm1udF9sb2NrCittbnRfZnJlZV9sb2NrCittbnRfbG9ja19maWxlCittbnRfbmV3X2xvY2sKK21udF91bmxvY2tfZmlsZQorbW50X2xvY2tfYmxvY2tfc2lnbmFscworPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPm9wdG1hcDwvRklMRT4KK2xpYm1udF9vcHRtYXAKK21udF9nZXRfYnVpbHRpbl9vcHRtYXAKK01OVF9JTlZFUlQKK01OVF9OT01UQUIKK01OVF9QUkVGSVgKK01OVF9OT0hMUFMKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5vcHRzdHI8L0ZJTEU+CittbnRfb3B0c3RyX2FwcGVuZF9vcHRpb24KK21udF9vcHRzdHJfYXBwbHlfZmxhZ3MKK21udF9vcHRzdHJfZGVkdXBsaWNhdGVfb3B0aW9uCittbnRfb3B0c3RyX2dldF9mbGFncworbW50X29wdHN0cl9nZXRfb3B0aW9uCittbnRfb3B0c3RyX2dldF9vcHRpb25zCittbnRfb3B0c3RyX25leHRfb3B0aW9uCittbnRfb3B0c3RyX3ByZXBlbmRfb3B0aW9uCittbnRfb3B0c3RyX3JlbW92ZV9vcHRpb24KK21udF9vcHRzdHJfc2V0X29wdGlvbgorbW50X3NwbGl0X29wdHN0cgorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPnRhYmxlPC9GSUxFPgorbGlibW50X3RhYmxlCittbnRfZnJlZV90YWJsZQorbW50X25ld190YWJsZQorbW50X3Jlc2V0X3RhYmxlCittbnRfcmVmX3RhYmxlCittbnRfdW5yZWZfdGFibGUKK21udF9uZXdfdGFibGVfZnJvbV9kaXIKK21udF9uZXdfdGFibGVfZnJvbV9maWxlCittbnRfdGFibGVfYWRkX2ZzCittbnRfdGFibGVfYXBwZW5kX2ludHJvX2NvbW1lbnQKK21udF90YWJsZV9hcHBlbmRfdHJhaWxpbmdfY29tbWVudAorbW50X3RhYmxlX2VuYWJsZV9jb21tZW50cworbW50X3RhYmxlX2ZpbmRfZGV2bm8KK21udF90YWJsZV9maW5kX21vdW50cG9pbnQKK21udF90YWJsZV9maW5kX25leHRfZnMKK21udF90YWJsZV9maW5kX3BhaXIKK21udF90YWJsZV9maW5kX3NvdXJjZQorbW50X3RhYmxlX2ZpbmRfc3JjcGF0aAorbW50X3RhYmxlX2ZpbmRfdGFnCittbnRfdGFibGVfZmluZF90YXJnZXQKK21udF90YWJsZV9maW5kX3RhcmdldF93aXRoX29wdGlvbgorbW50X3RhYmxlX2ZpcnN0X2ZzCittbnRfdGFibGVfZ2V0X2NhY2hlCittbnRfdGFibGVfZ2V0X2ludHJvX2NvbW1lbnQKK21udF90YWJsZV9nZXRfbmVudHMKK21udF90YWJsZV9nZXRfcm9vdF9mcworbW50X3RhYmxlX2dldF90cmFpbGluZ19jb21tZW50CittbnRfdGFibGVfZ2V0X3VzZXJkYXRhCittbnRfdGFibGVfaXNfZW1wdHkKK21udF90YWJsZV9pc19mc19tb3VudGVkCittbnRfdGFibGVfbGFzdF9mcworbW50X3RhYmxlX25leHRfY2hpbGRfZnMKK21udF90YWJsZV9uZXh0X2ZzCittbnRfdGFibGVfcGFyc2VfZGlyCittbnRfdGFibGVfcGFyc2VfZmlsZQorbW50X3RhYmxlX3BhcnNlX2ZzdGFiCittbnRfdGFibGVfcGFyc2VfbXRhYgorbW50X3RhYmxlX3BhcnNlX3N0cmVhbQorbW50X3RhYmxlX3BhcnNlX3N3YXBzCittbnRfdGFibGVfcmVtb3ZlX2ZzCittbnRfdGFibGVfc2V0X2NhY2hlCittbnRfdGFibGVfc2V0X2ludHJvX2NvbW1lbnQKK21udF90YWJsZV9zZXRfaXRlcgorbW50X3RhYmxlX3NldF9wYXJzZXJfZXJyY2IKK21udF90YWJsZV9zZXRfdHJhaWxpbmdfY29tbWVudAorbW50X3RhYmxlX3NldF91c2VyZGF0YQorbW50X3RhYmxlX3dpdGhfY29tbWVudHMKK21udF90YWJsZV91bmlxX2ZzCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+dGFiZGlmZjwvRklMRT4KK2xpYm1udF90YWJkaWZmCittbnRfbmV3X3RhYmRpZmYKK21udF9mcmVlX3RhYmRpZmYKK21udF90YWJkaWZmX25leHRfY2hhbmdlCittbnRfZGlmZl90YWJsZXMKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT51cGRhdGU8L0ZJTEU+CitsaWJtbnRfdXBkYXRlCittbnRfZnJlZV91cGRhdGUKK21udF9uZXdfdXBkYXRlCittbnRfdGFibGVfcmVwbGFjZV9maWxlCittbnRfdGFibGVfd3JpdGVfZmlsZQorbW50X3VwZGF0ZV9mb3JjZV9yZG9ubHkKK21udF91cGRhdGVfZ2V0X2ZpbGVuYW1lCittbnRfdXBkYXRlX2dldF9mcworbW50X3VwZGF0ZV9nZXRfbWZsYWdzCittbnRfdXBkYXRlX2lzX3JlYWR5CittbnRfdXBkYXRlX3NldF9mcworbW50X3VwZGF0ZV90YWJsZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPnV0aWxzPC9GSUxFPgorbW50X2ZzdHlwZV9pc19uZXRmcworbW50X2ZzdHlwZV9pc19wc2V1ZG9mcworbW50X2dldF9mc3RhYl9wYXRoCittbnRfZ2V0X21vdW50cG9pbnQKK21udF9nZXRfbXRhYl9wYXRoCittbnRfZ2V0X3N3YXBzX3BhdGgKK21udF9oYXNfcmVndWxhcl9tdGFiCittbnRfbWFuZ2xlCittbnRfbWF0Y2hfZnN0eXBlCittbnRfbWF0Y2hfb3B0aW9ucworbW50X3RhZ19pc192YWxpZAorbW50X3VubWFuZ2xlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+dmVyc2lvbi11dGlsczwvRklMRT4KK0xJQk1PVU5UX01BSk9SX1ZFUlNJT04KK0xJQk1PVU5UX01JTk9SX1ZFUlNJT04KK0xJQk1PVU5UX1BBVENIX1ZFUlNJT04KK21udF9wYXJzZV92ZXJzaW9uX3N0cmluZworbW50X2dldF9saWJyYXJ5X3ZlcnNpb24KK21udF9nZXRfbGlicmFyeV9mZWF0dXJlcworTElCTU9VTlRfVkVSU0lPTgorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPm1vbml0b3I8L0ZJTEU+CitsaWJtbnRfbW9uaXRvcgorbW50X25ld19tb25pdG9yCittbnRfcmVmX21vbml0b3IKK21udF91bnJlZl9tb25pdG9yCittbnRfbW9uaXRvcl9lbmFibGVfdXNlcnNwYWNlCittbnRfbW9uaXRvcl9lbmFibGVfa2VybmVsCittbnRfbW9uaXRvcl9nZXRfZmQKK21udF9tb25pdG9yX2Nsb3NlX2ZkCittbnRfbW9uaXRvcl9uZXh0X2NoYW5nZQorbW50X21vbml0b3JfZXZlbnRfY2xlYW51cAorbW50X21vbml0b3Jfd2FpdAorPC9TRUNUSU9OPgpkaWZmIC0tZ2l0IGEvbGlibW91bnQvZG9jcy92ZXJzaW9uLnhtbC5pbiBiL2xpYm1vdW50L2RvY3MvdmVyc2lvbi54bWwuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDc4YmRhOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L2RvY3MvdmVyc2lvbi54bWwuaW4KQEAgLTAsMCArMSBAQAorQFZFUlNJT05ACmRpZmYgLS1naXQgYS9saWJtb3VudC9tb3VudC5wYy5pbiBiL2xpYm1vdW50L21vdW50LnBjLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjMzI3OTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtb3VudC9tb3VudC5wYy5pbgpAQCAtMCwwICsxLDExIEBACitwcmVmaXg9QHByZWZpeEAKK2V4ZWNfcHJlZml4PUBleGVjX3ByZWZpeEAKK2xpYmRpcj1AdXNybGliX2V4ZWNkaXJACitpbmNsdWRlZGlyPUBpbmNsdWRlZGlyQAorCitOYW1lOiBtb3VudAorRGVzY3JpcHRpb246IG1vdW50IGxpYnJhcnkKK1ZlcnNpb246IEBMSUJNT1VOVF9WRVJTSU9OQAorUmVxdWlyZXMucHJpdmF0ZTogYmxraWQKK0NmbGFnczogLUkke2luY2x1ZGVkaXJ9L2xpYm1vdW50CitMaWJzOiAtTCR7bGliZGlyfSAtbG1vdW50CmRpZmYgLS1naXQgYS9saWJtb3VudC9weXRob24vTWFrZW1vZHVsZS5hbSBiL2xpYm1vdW50L3B5dGhvbi9NYWtlbW9kdWxlLmFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiOTNiNmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtb3VudC9weXRob24vTWFrZW1vZHVsZS5hbQpAQCAtMCwwICsxLDM1IEBACitpZiBCVUlMRF9QWUxJQk1PVU5UCisKK3B5bGlibW91bnRleGVjZGlyID0gJChweWV4ZWNkaXIpL2xpYm1vdW50CisKKyMgUGxlYXNlLCBkb24ndCB1c2UgJHB5dGhvbmRpciBmb3IgdGhlIHNjcmlwdHMuIFdlIGhhdmUgdG8gdXNlIHRoZSBzYW1lCisjIGRpcmVjdG9yeSBmb3IgYmluYXJ5IHN0dWZmIGFzIHdlbGwgYXMgZm9yIHRoZSBzY3JpcHRzIG90aGVyd2lzZSBpdCdzCisjIG5vdCBwb3NzaWJsZSB0byBpbnN0YWxsIDMyLWJpdCBhbmQgNjQtYml0IHZlcnNpb24gb24gdGhlIHNhbWUgc3lzdGVtLgorcHlsaWJtb3VudGV4ZWNfTFRMSUJSQVJJRVMgPSBweWxpYm1vdW50LmxhCitweWxpYm1vdW50ZXhlY19QWVRIT04gPSBsaWJtb3VudC9weXRob24vX19pbml0X18ucHkKKworcHlsaWJtb3VudF9sYV9TT1VSQ0VTID0gXAorCWxpYm1vdW50L3B5dGhvbi9weWxpYm1vdW50LmMgXAorCWxpYm1vdW50L3B5dGhvbi9weWxpYm1vdW50LmggXAorCWxpYm1vdW50L3B5dGhvbi9mcy5jIFwKKwlsaWJtb3VudC9weXRob24vdGFiLmMKK2lmIExJTlVYCitweWxpYm1vdW50X2xhX1NPVVJDRVMgKz0gbGlibW91bnQvcHl0aG9uL2NvbnRleHQuYworZW5kaWYKKworcHlsaWJtb3VudF9sYV9MSUJBREQgPSBsaWJtb3VudC5sYSAkKFBZVEhPTl9MSUJTKQorCitweWxpYm1vdW50X2xhX0NGTEFHUyA9IFwKKwkkKEFNX0NGTEFHUykgXAorCSQoUFlUSE9OX0NGTEFHUykgXAorCS1JJCh1bF9saWJtb3VudF9pbmNkaXIpIFwKKwktZm5vLXN0cmljdC1hbGlhc2luZyAjLWdnZGIzIC1PMAorCitweWxpYm1vdW50X2xhX0xERkxBR1MgPSBcCisJLWF2b2lkLXZlcnNpb24gLW1vZHVsZSAtc2hhcmVkIC1leHBvcnQtZHluYW1pYworCitkaXN0X2NoZWNrX1NDUklQVFMgKz0gbGlibW91bnQvcHl0aG9uL3Rlc3RfbW91bnRfY29udGV4dC5weQorZGlzdF9jaGVja19TQ1JJUFRTICs9IGxpYm1vdW50L3B5dGhvbi90ZXN0X21vdW50X3RhYi5weQorZGlzdF9jaGVja19TQ1JJUFRTICs9IGxpYm1vdW50L3B5dGhvbi90ZXN0X21vdW50X3RhYl91cGRhdGUucHkKKworZW5kaWYgIyBCVUlMRF9QWUxJQk1PVU5UCmRpZmYgLS1naXQgYS9saWJtb3VudC9weXRob24vX19pbml0X18ucHkgYi9saWJtb3VudC9weXRob24vX19pbml0X18ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDkxMDRlMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L3B5dGhvbi9fX2luaXRfXy5weQpAQCAtMCwwICsxLDIgQEAKK2Zyb20gLnB5bGlibW91bnQgaW1wb3J0ICoKKwpkaWZmIC0tZ2l0IGEvbGlibW91bnQvcHl0aG9uL2NvbnRleHQuYyBiL2xpYm1vdW50L3B5dGhvbi9jb250ZXh0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODI1NmU4NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L3B5dGhvbi9jb250ZXh0LmMKQEAgLTAsMCArMSwxMjI4IEBACisvKgorICogUHl0aG9uIGJpbmRpbmdzIGZvciB0aGUgbGlibW91bnQgbGlicmFyeS4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMsIFJlZCBIYXQsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFdyaXR0ZW4gYnkgT25kcmVqIE9wcmFsYSBhbmQgS2FyZWwgWmFrCisgKgorICogVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgZmlsZTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqLworI2luY2x1ZGUgInB5bGlibW91bnQuaCIKKworc3RhdGljIFB5TWVtYmVyRGVmIENvbnRleHRfbWVtYmVyc1tdID0geworCXsgTlVMTCB9Cit9OworCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfc2V0X3RhYmxlc19lcnJjYihDb250ZXh0T2JqZXh0ICpzZWxmLCBQeU9iamVjdCAqZnVuYywKKwkJCQkgICAgICB2b2lkICpjbG9zdXJlIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCWlmICghZnVuYykgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBOT0RFTF9BVFRSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJaWYgKCFQeUNhbGxhYmxlX0NoZWNrKGZ1bmMpKQorCQlyZXR1cm4gTlVMTDsKKwllbHNlIHsKKwkJUHlPYmplY3QgKnRtcCA9IHNlbGYtPnRhYmxlX2VycmNiOworCQlQeV9JTkNSRUYoZnVuYyk7CisJCXNlbGYtPnRhYmxlX2VycmNiID0gZnVuYzsKKwkJUHlfWERFQ1JFRih0bXApOworCX0KKwlyZXR1cm4gVUxfSW5jUmVmKHNlbGYpOworfQorCitzdGF0aWMgdm9pZCBDb250ZXh0X2RlYWxsb2MoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlpZiAoIXNlbGYtPmN4dCkgLyogaWYgaW5pdCBmYWlscyAqLworCQlyZXR1cm47CisKKwlQeV9YREVDUkVGKG1udF9jb250ZXh0X2dldF9mc191c2VyZGF0YShzZWxmLT5jeHQpKTsKKwlQeV9YREVDUkVGKG1udF9jb250ZXh0X2dldF9mc3RhYl91c2VyZGF0YShzZWxmLT5jeHQpKTsKKwlQeV9YREVDUkVGKG1udF9jb250ZXh0X2dldF9tdGFiX3VzZXJkYXRhKHNlbGYtPmN4dCkpOworCisJbW50X2ZyZWVfY29udGV4dChzZWxmLT5jeHQpOworCVB5RnJlZShzZWxmKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X25ldyhQeVR5cGVPYmplY3QgKnR5cGUsCisJCQkgUHlPYmplY3QgKmFyZ3MgX19hdHRyaWJ1dGVfXygodW51c2VkKSksCisJCQkgUHlPYmplY3QgKmt3ZHMgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCit7CisJQ29udGV4dE9iamV4dCAqc2VsZiA9IChDb250ZXh0T2JqZXh0KikgdHlwZS0+dHBfYWxsb2ModHlwZSwgMCk7CisKKwlpZiAoc2VsZikgeworCQlzZWxmLT5jeHQgPSBOVUxMOworCQlzZWxmLT50YWJsZV9lcnJjYiA9IE5VTEw7CisJfQorCisJcmV0dXJuIChQeU9iamVjdCAqKXNlbGY7Cit9CisKKy8qCisgKiBOb3RlIHRoZXJlIGlzIG5vIHBvaW50ZXIgdG8gZW5jYXBzdWxhdGluZyBvYmplY3QgbmVlZGVkIGhlcmUsIHNpbmNlIEN4dCBpcworICogb24gdG9wIG9mIHRoZSBDb250ZXh0KFRhYmxlKEZpbGVzeXN0ZW0pKSBoaWVyYXJjaHkKKyAqLworI2RlZmluZSBDb250ZXh0X0hFTFAgIkNvbnRleHQoc291cmNlPU5vbmUsIHRhcmdldD1Ob25lLCBmc3R5cGU9Tm9uZSwgIiBcCisJCSJvcHRpb25zPU5vbmUsIG1mbGFncz0wLCBmc3R5cGVfcGF0dGVybj1Ob25lLCAiIFwKKwkJIm9wdGlvbnNfcGF0dGVybj1Ob25lLCBmcz1Ob25lLCBmc3RhYj1Ob25lLCBvcHRzbW9kZT0wKSIKK3N0YXRpYyBpbnQgQ29udGV4dF9pbml0KENvbnRleHRPYmpleHQgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwljaGFyICpzb3VyY2UgPSBOVUxMLCAqdGFyZ2V0ID0gTlVMTCwgKmZzdHlwZSA9IE5VTEw7CisJY2hhciAqb3B0aW9ucyA9IE5VTEwsICpmc3R5cGVfcGF0dGVybiA9IE5VTEwsICpvcHRpb25zX3BhdHRlcm4gPSBOVUxMOworCXVuc2lnbmVkIGxvbmcgbWZsYWdzID0gMDsKKwlpbnQgb3B0c21vZGUgPSAwLCBzeXNjYWxsX3N0YXR1cyA9IDE7CisJRnNPYmplY3QgKmZzID0gTlVMTDsKKwlUYWJsZU9iamVjdCAqZnN0YWIgPSBOVUxMOworCWludCByYyA9IDA7CisJY2hhciAqa3dsaXN0W10gPSB7CisJCSJzb3VyY2UiLCAidGFyZ2V0IiwgImZzdHlwZSIsCisJCSJvcHRpb25zIiwgIm1mbGFncyIsICJmc3R5cGVfcGF0dGVybiIsCisJCSJvcHRpb25zX3BhdHRlcm4iLCAiZnMiLCAiZnN0YWIiLAorCQkib3B0c21vZGUiCisJfTsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKAorCQkJCWFyZ3MsIGt3ZHMsICJ8c3Nzc2tzc08hTyFpIiwga3dsaXN0LAorCQkJCSZzb3VyY2UsICZ0YXJnZXQsICZmc3R5cGUsICZvcHRpb25zLCAmbWZsYWdzLAorCQkJCSZmc3R5cGVfcGF0dGVybiwgJm9wdGlvbnNfcGF0dGVybiwgJkZzVHlwZSwgJmZzLAorCQkJCSZUYWJsZVR5cGUsICZmc3RhYiwgJm9wdHNtb2RlLCAmc3lzY2FsbF9zdGF0dXMpKSB7CisJCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJCXJldHVybiAtMTsKKwl9CisKKwlpZiAoc2VsZi0+Y3h0KQorCQltbnRfZnJlZV9jb250ZXh0KHNlbGYtPmN4dCk7CisKKwlzZWxmLT5jeHQgPSBtbnRfbmV3X2NvbnRleHQoKTsKKwlpZiAoIXNlbGYtPmN4dCkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfTWVtb3J5RXJyb3IsIE1FTU9SWV9FUlIpOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKHNvdXJjZSAmJiAocmMgPSBtbnRfY29udGV4dF9zZXRfc291cmNlKHNlbGYtPmN4dCwgc291cmNlKSkpIHsKKwkJVUxfUmFpc2VFeGMoLXJjKTsKKwkJcmV0dXJuIC0xOworCX0KKworCWlmICh0YXJnZXQgJiYgKHJjID0gbW50X2NvbnRleHRfc2V0X3RhcmdldChzZWxmLT5jeHQsIHRhcmdldCkpKSB7CisJCVVMX1JhaXNlRXhjKC1yYyk7CisJCXJldHVybiAtMTsKKwl9CisKKwlpZiAoZnN0eXBlICYmIChyYyA9IG1udF9jb250ZXh0X3NldF9mc3R5cGUoc2VsZi0+Y3h0LCBmc3R5cGUpKSkgeworCQlVTF9SYWlzZUV4YygtcmMpOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKG9wdGlvbnMgJiYgKHJjID0gbW50X2NvbnRleHRfc2V0X29wdGlvbnMoc2VsZi0+Y3h0LCBvcHRpb25zKSkpIHsKKwkJVUxfUmFpc2VFeGMoLXJjKTsKKwkJcmV0dXJuIC0xOworCX0KKworCWlmIChmc3R5cGVfcGF0dGVybiAmJiAocmMgPSBtbnRfY29udGV4dF9zZXRfZnN0eXBlX3BhdHRlcm4oc2VsZi0+Y3h0LCBmc3R5cGVfcGF0dGVybikpKSB7CisJCVVMX1JhaXNlRXhjKC1yYyk7CisJCXJldHVybiAtMTsKKwl9CisKKwlpZiAob3B0aW9uc19wYXR0ZXJuICYmIChyYyA9IG1udF9jb250ZXh0X3NldF9vcHRpb25zX3BhdHRlcm4oc2VsZi0+Y3h0LCBvcHRpb25zX3BhdHRlcm4pKSkgeworCQlVTF9SYWlzZUV4YygtcmMpOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKGZzICYmIChyYyA9IG1udF9jb250ZXh0X3NldF9mcyhzZWxmLT5jeHQsIGZzLT5mcykpKSB7CisJCVVMX1JhaXNlRXhjKC1yYyk7CisJCXJldHVybiAtMTsKKwl9CisKKwlpZiAoZnN0YWIgJiYgKHJjID0gbW50X2NvbnRleHRfc2V0X2ZzdGFiKHNlbGYtPmN4dCwgZnN0YWItPnRhYikpKSB7CisJCVVMX1JhaXNlRXhjKC1yYyk7CisJCXJldHVybiAtMTsKKwl9CisKKwlpZiAob3B0c21vZGUgJiYgKHJjID0gbW50X2NvbnRleHRfc2V0X29wdHNtb2RlKHNlbGYtPmN4dCwgb3B0c21vZGUpKSkgeworCQlVTF9SYWlzZUV4YygtcmMpOworCQlyZXR1cm4gLTE7CisJfQorCisJbW50X2NvbnRleHRfc2V0X21mbGFncyhzZWxmLT5jeHQsIG1mbGFncyk7CisJbW50X2NvbnRleHRfc2V0X29wdHNtb2RlKHNlbGYtPmN4dCwgb3B0c21vZGUpOworCW1udF9jb250ZXh0X3NldF90YWJsZXNfZXJyY2Ioc2VsZi0+Y3h0LCBweW1udF90YWJsZV9wYXJzZXJfZXJyY2IpOworCisJcmV0dXJuIDA7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9lbmFibGVfZmFrZV9IRUxQICJlbmFibGVfZmFrZShlbmFibGUpXG5cbiIgXAorCSJFbmFibGUvZGlzYWJsZSBmYWtlIG1vdW50aW5nIChzZWUgbW91bnQoOCkgbWFuIHBhZ2UsIG9wdGlvbiAtZikuXG4iIFwKKwkiXG4iIFwKKwkiUmV0dXJucyBzZWxmIG9yIHJhaXNlcyBhbiBleGNlcHRpb24gaW4gY2FzZSBvZiBhbiBlcnJvci4iCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfZW5hYmxlX2Zha2UoQ29udGV4dE9iamV4dCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWludCByYzsKKwlpbnQgZW5hYmxlOworCWNoYXIgKmt3bGlzdFtdID0geyAiZW5hYmxlIiwgTlVMTCB9OworCisJaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgImkiLCBrd2xpc3QsICZlbmFibGUpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmMgPSBtbnRfY29udGV4dF9lbmFibGVfZmFrZShzZWxmLT5jeHQsIGVuYWJsZSk7CisJcmV0dXJuIHJjID8gVUxfUmFpc2VFeGMoLXJjKSA6IFVMX0luY1JlZihzZWxmKTsKK30KKworI2RlZmluZSBDb250ZXh0X2VuYWJsZV9mb3JjZV9IRUxQICJlbmFibGVfZm9yY2UoZW5hYmxlKVxuXG4iIFwKKwkiRW5hYmxlL2Rpc2FibGUgZm9yY2UgdW1vdW50aW5nIChzZWUgdW1vdW50KDgpIG1hbiBwYWdlLCBvcHRpb24gLWYpLlxuIiBcCisJIlxuIiBcCisJIlJldHVybnMgc2VsZiBvciByYWlzZXMgYW4gZXhjZXB0aW9uIGluIGNhc2Ugb2YgYW4gZXJyb3IuIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2VuYWJsZV9mb3JjZShDb250ZXh0T2JqZXh0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJaW50IHJjOworCWludCBlbmFibGU7CisJY2hhciAqa3dsaXN0W10gPSB7ICJlbmFibGUiLCBOVUxMIH07CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAiaSIsIGt3bGlzdCwgJmVuYWJsZSkpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyYyA9IG1udF9jb250ZXh0X2VuYWJsZV9mb3JjZShzZWxmLT5jeHQsIGVuYWJsZSk7CisJcmV0dXJuIHJjID8gVUxfUmFpc2VFeGMoLXJjKSA6IFVMX0luY1JlZihzZWxmKTsKK30KKworI2RlZmluZSBDb250ZXh0X2VuYWJsZV9sYXp5X0hFTFAgImVuYWJsZV9sYXp5KGVuYWJsZSlcblxuIiBcCisJIkVuYWJsZS9kaXNhYmxlIGxhenkgdW1vdW50IChzZWUgdW1vdW50KDgpIG1hbiBwYWdlLCBvcHRpb24gLWwpLlxuIiBcCisJIlxuIiBcCisJIlJldHVybnMgc2VsZiBvciByYWlzZXMgYW4gZXhjZXB0aW9uIGluIGNhc2Ugb2YgYW4gZXJyb3IuIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2VuYWJsZV9sYXp5KENvbnRleHRPYmpleHQgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwlpbnQgcmM7CisJaW50IGVuYWJsZTsKKwljaGFyICprd2xpc3RbXSA9IHsgImVuYWJsZSIsIE5VTEwgfTsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJpIiwga3dsaXN0LCAmZW5hYmxlKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJjID0gbW50X2NvbnRleHRfZW5hYmxlX2xhenkoc2VsZi0+Y3h0LCBlbmFibGUpOworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKC1yYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9lbmFibGVfbG9vcGRlbF9IRUxQICJlbmFibGVfbG9vcGRlbChlbmFibGUpXG5cbiIgXAorCSJFbmFibGUvZGlzYWJsZSBsb29wIGRlbGV0ZSAoZGVzdHJveSkgYWZ0ZXIgdW1vdW50IChzZWUgdW1vdW50KDgpLCBvcHRpb24gLWQpXG4iIFwKKwkiXG4iIFwKKwkiUmV0dXJucyBzZWxmIG9yIHJhaXNlcyBhbiBleGNlcHRpb24gaW4gY2FzZSBvZiBhbiBlcnJvci4iCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfZW5hYmxlX2xvb3BkZWwoQ29udGV4dE9iamV4dCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWludCByYzsKKwlpbnQgZW5hYmxlOworCWNoYXIgKmt3bGlzdFtdID0geyAiZW5hYmxlIiwgTlVMTCB9OworCisJaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgImkiLCBrd2xpc3QsICZlbmFibGUpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmMgPSBtbnRfY29udGV4dF9lbmFibGVfbG9vcGRlbChzZWxmLT5jeHQsIGVuYWJsZSk7CisJcmV0dXJuIHJjID8gVUxfUmFpc2VFeGMoLXJjKSA6IFVMX0luY1JlZihzZWxmKTsKK30KKworI2RlZmluZSBDb250ZXh0X2VuYWJsZV9yZG9ubHlfdW1vdW50X0hFTFAgImVuYWJsZV9yZG9ubHlfdW1vdW50KGVuYWJsZSlcblxuIiBcCisJIkVuYWJsZS9kaXNhYmxlIHJlYWQtb25seSByZW1vdW50IG9uIGZhaWxlZCB1bW91bnQoMilcbiAiXAorCSIoc2VlIHVtb3VudCg4KSBtYW4gcGFnZSwgb3B0aW9uIC1yKS5cbiIgXAorCSJcbiIgXAorCSJSZXR1cm5zIHNlbGYgb3IgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpbiBjYXNlIG9mIGFuIGVycm9yLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9lbmFibGVfcmRvbmx5X3Vtb3VudChDb250ZXh0T2JqZXh0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJaW50IHJjOworCWludCBlbmFibGU7CisJY2hhciAqa3dsaXN0W10gPSB7ICJlbmFibGUiLCBOVUxMIH07CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAiaSIsIGt3bGlzdCwgJmVuYWJsZSkpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyYyA9IG1udF9jb250ZXh0X2VuYWJsZV9yZG9ubHlfdW1vdW50KHNlbGYtPmN4dCwgZW5hYmxlKTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YygtcmMpIDogVUxfSW5jUmVmKHNlbGYpOworfQorCisjZGVmaW5lIENvbnRleHRfZW5hYmxlX3Nsb3BweV9IRUxQICJlbmFibGVfc2xvcHB5KGVuYWJsZSlcblxuIiBcCisJIlNldC91bnNldCBzbG9wcHkgbW91bnRpbmcgKHNlZSBtb3VudCg4KSBtYW4gcGFnZSwgb3B0aW9uIC1zKS5cbiIgXAorCSJcbiIgXAorCSJSZXR1cm5zIHNlbGYgb3IgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpbiBjYXNlIG9mIGFuIGVycm9yLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9lbmFibGVfc2xvcHB5KENvbnRleHRPYmpleHQgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwlpbnQgcmM7CisJaW50IGVuYWJsZTsKKwljaGFyICprd2xpc3RbXSA9IHsgImVuYWJsZSIsIE5VTEwgfTsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJpIiwga3dsaXN0LCAmZW5hYmxlKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJjID0gbW50X2NvbnRleHRfZW5hYmxlX3Nsb3BweShzZWxmLT5jeHQsIGVuYWJsZSk7CisJcmV0dXJuIHJjID8gVUxfUmFpc2VFeGMoLXJjKSA6IFVMX0luY1JlZihzZWxmKTsKK30KKworI2RlZmluZSBDb250ZXh0X2VuYWJsZV92ZXJib3NlX0hFTFAgImVuYWJsZV92ZXJib3NlKGVuYWJsZSlcblxuIiBcCisJIkVuYWJsZS9kaXNhYmxlIHZlcmJvc2Ugb3V0cHV0IChUT0RPOiBub3QgaW1wbGVtZW50ZWQgeWV0KVxuIiBcCisJIlxuIiBcCisJIlJldHVybnMgc2VsZiBvciByYWlzZXMgYW4gZXhjZXB0aW9uIGluIGNhc2Ugb2YgYW4gZXJyb3IuIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2VuYWJsZV92ZXJib3NlKENvbnRleHRPYmpleHQgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwlpbnQgcmM7CisJaW50IGVuYWJsZTsKKwljaGFyICprd2xpc3RbXSA9IHsgImVuYWJsZSIsIE5VTEwgfTsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJpIiwga3dsaXN0LCAmZW5hYmxlKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJjID0gbW50X2NvbnRleHRfZW5hYmxlX3ZlcmJvc2Uoc2VsZi0+Y3h0LCBlbmFibGUpOworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKC1yYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9lbmFibGVfZm9ya19IRUxQICJlbmFibGVfZm9yayhlbmFibGUpXG5cbiIgXAorCSJFbmFibGUvZGlzYWJsZSBmb3JrKDIpIGNhbGwgaW4gQ3h0Lm5leHRfbW91bnQoKShub3QgeWV0IGltcGxlbWVudGVkKSAoc2VlIG1vdW50KDgpIG1hblxuIiBcCisJInBhZ2UsIG9wdGlvbiAtRikuXG4iIFwKKwkiXG4iIFwKKwkiUmV0dXJucyBzZWxmIG9yIHJhaXNlcyBhbiBleGNlcHRpb24gaW4gY2FzZSBvZiBhbiBlcnJvci4iCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfZW5hYmxlX2ZvcmsoQ29udGV4dE9iamV4dCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWludCByYzsKKwlpbnQgZW5hYmxlOworCWNoYXIgKmt3bGlzdFtdID0geyJlbmFibGUiLCBOVUxMfTsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJpIiwga3dsaXN0LCAmZW5hYmxlKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJjID0gbW50X2NvbnRleHRfZW5hYmxlX2Zvcmsoc2VsZi0+Y3h0LCBlbmFibGUpOworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKC1yYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9kaXNhYmxlX2Nhbm9uaWNhbGl6ZV9IRUxQICJkaXNhYmxlX2Nhbm9uaWNhbGl6ZShkaXNhYmxlKVxuXG4iIFwKKwkiRW5hYmxlL2Rpc2FibGUgcGF0aHMgY2Fub25pY2FsaXphdGlvbiBhbmQgdGFncyBldmFsdWF0aW9uLiBUaGUgbGlibW91bnQgY29udGV4dFxuIiBcCisJImNhbm9uaWNhbGl6ZXMgcGF0aHMgd2hlbiBzZWFyY2hpbmcgZnN0YWIgYW5kIHdoZW4gcHJlcGFyaW5nIHNvdXJjZSBhbmQgdGFyZ2V0IHBhdGhzXG4iIFwKKwkiZm9yIG1vdW50KDIpIHN5c2NhbGwuXG4iIFwKKwkiXG4iIFwKKwkiVGhpcyBmdW5jdGlvbiBoYXMgZWZmZWN0IHRvIHRoZSBwcml2YXRlICh3aXRoaW4gY29udGV4dCkgZnN0YWIgaW5zdGFuY2Ugb25seVxuIiBcCisJIihzZWUgQ3h0LmZzdGFiKS5cbiIgXAorCSJSZXR1cm5zIHNlbGYgb3IgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpbiBjYXNlIG9mIGFuIGVycm9yLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9kaXNhYmxlX2Nhbm9uaWNhbGl6ZShDb250ZXh0T2JqZXh0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJaW50IHJjOworCWludCBkaXNhYmxlOworCWNoYXIgKmt3bGlzdFtdID0geyJkaXNhYmxlIiwgTlVMTH07CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAiaSIsIGt3bGlzdCwgJmRpc2FibGUpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmMgPSBtbnRfY29udGV4dF9kaXNhYmxlX2Nhbm9uaWNhbGl6ZShzZWxmLT5jeHQsIGRpc2FibGUpOworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKC1yYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9kaXNhYmxlX2hlbHBlcnNfSEVMUCAiZGlzYWJsZV9oZWxwZXJzKGRpc2FibGUpXG5cbiIgXAorCSJFbmFibGUvZGlzYWJsZSAvc2Jpbi9bdV1tb3VudC4qIGhlbHBlcnMgKHNlZSBtb3VudCg4KSBtYW4gcGFnZSwgb3B0aW9uIC1pKS5cbiIgXAorCSJcbiIgXAorCSJSZXR1cm5zIHNlbGYgb3IgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpbiBjYXNlIG9mIGFuIGVycm9yLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9kaXNhYmxlX2hlbHBlcnMoQ29udGV4dE9iamV4dCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWludCByYzsKKwlpbnQgZGlzYWJsZTsKKwljaGFyICprd2xpc3RbXSA9IHsiZGlzYWJsZSIsIE5VTEx9OworCisJaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgImkiLCBrd2xpc3QsICZkaXNhYmxlKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJjID0gbW50X2NvbnRleHRfZGlzYWJsZV9oZWxwZXJzKHNlbGYtPmN4dCwgZGlzYWJsZSk7CisJcmV0dXJuIHJjID8gVUxfUmFpc2VFeGMoLXJjKSA6IFVMX0luY1JlZihzZWxmKTsKK30KKworI2RlZmluZSBDb250ZXh0X2Rpc2FibGVfbXRhYl9IRUxQICJkaXNhYmxlX210YWIoZGlzYWJsZSlcblxuIiBcCisJIkRpc2FibGUvZW5hYmxlIG10YWIgdXBkYXRlIChzZWUgbW91bnQoOCkgbWFuIHBhZ2UsIG9wdGlvbiAtbikuXG4iIFwKKwkiXG4iIFwKKwkiUmV0dXJucyBzZWxmIG9yIHJhaXNlcyBhbiBleGNlcHRpb24gaW4gY2FzZSBvZiBhbiBlcnJvci4iCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfZGlzYWJsZV9tdGFiKENvbnRleHRPYmpleHQgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwlpbnQgcmM7CisJaW50IGRpc2FibGU7CisJY2hhciAqa3dsaXN0W10gPSB7ImRpc2FibGUiLCBOVUxMIH07CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAiaSIsIGt3bGlzdCwgJmRpc2FibGUpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmMgPSBtbnRfY29udGV4dF9kaXNhYmxlX210YWIoc2VsZi0+Y3h0LCBkaXNhYmxlKTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YygtcmMpIDogVUxfSW5jUmVmKHNlbGYpOworfQorCisjZGVmaW5lIENvbnRleHRfZGlzYWJsZV9zd2FwbWF0Y2hfSEVMUCAiZGlzYWJsZV9zd2FwbWF0Y2goZGlzYWJsZSlcblxuIiBcCisJIkRpc2FibGUvZW5hYmxlIHN3YXAgYmV0d2VlbiBzb3VyY2UgYW5kIHRhcmdldCBmb3IgbW91bnQoOCkgaWYgb25seSBvbmUgcGF0aFxuIiBcCisJImlzIHNwZWNpZmllZC5cbiIgXAorCSJcbiIgXAorCSJSZXR1cm5zIHNlbGYgb3IgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpbiBjYXNlIG9mIGFuIGVycm9yLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9kaXNhYmxlX3N3YXBtYXRjaChDb250ZXh0T2JqZXh0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJaW50IHJjOworCWludCBkaXNhYmxlOworCWNoYXIgKmt3bGlzdFtdID0geyAiZGlzYWJsZSIsIE5VTEwgfTsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJpIiwga3dsaXN0LCAmZGlzYWJsZSkpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyYyA9IG1udF9jb250ZXh0X2Rpc2FibGVfc3dhcG1hdGNoKHNlbGYtPmN4dCwgZGlzYWJsZSk7CisJcmV0dXJuIHJjID8gVUxfUmFpc2VFeGMoLXJjKSA6IFVMX0luY1JlZihzZWxmKTsKK30KKworc3RhdGljIGludCBDb250ZXh0X3NldF9zb3VyY2UoQ29udGV4dE9iamV4dCAqc2VsZiwgUHlPYmplY3QgKnZhbHVlLCB2b2lkICpjbG9zdXJlIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCWNoYXIgKnNvdXJjZTsKKwlpbnQgcmMgPSAwOworCisJaWYgKCF2YWx1ZSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBOT0RFTF9BVFRSKTsKKwkJcmV0dXJuIC0xOworCX0KKwlpZiAoIShzb3VyY2UgPSBweXN0b3ModmFsdWUpKSkKKwkJcmV0dXJuIC0xOworCisJcmMgPSBtbnRfY29udGV4dF9zZXRfc291cmNlKHNlbGYtPmN4dCwgc291cmNlKTsKKwlpZiAocmMpIHsKKwkJVUxfUmFpc2VFeGMoLXJjKTsKKwkJcmV0dXJuIC0xOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBDb250ZXh0X3NldF9tb3VudGRhdGEoQ29udGV4dE9iamV4dCAqc2VsZiwgUHlPYmplY3QgKnZhbHVlLCB2b2lkICpjbG9zdXJlIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCWNoYXIgKm1vdW50ZGF0YTsKKwlpbnQgcmMgPSAwOworCisJaWYgKCF2YWx1ZSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBOT0RFTF9BVFRSKTsKKwkJcmV0dXJuIC0xOworCX0KKwlpZiAoIShtb3VudGRhdGEgPSBweXN0b3ModmFsdWUpKSkKKwkJcmV0dXJuIC0xOworCisJcmMgPSBtbnRfY29udGV4dF9zZXRfbW91bnRkYXRhKHNlbGYtPmN4dCwgbW91bnRkYXRhKTsKKwlpZiAocmMpIHsKKwkJVUxfUmFpc2VFeGMoLXJjKTsKKwkJcmV0dXJuIC0xOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBDb250ZXh0X3NldF90YXJnZXQoQ29udGV4dE9iamV4dCAqc2VsZiwgUHlPYmplY3QgKnZhbHVlLCB2b2lkICpjbG9zdXJlIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCWNoYXIgKiB0YXJnZXQ7CisJaW50IHJjID0gMDsKKworCWlmICghdmFsdWUpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgTk9ERUxfQVRUUik7CisJCXJldHVybiAtMTsKKwl9CisJaWYgKCEodGFyZ2V0ID0gcHlzdG9zKHZhbHVlKSkpCisJCXJldHVybiAtMTsKKworCXJjID0gbW50X2NvbnRleHRfc2V0X3RhcmdldChzZWxmLT5jeHQsIHRhcmdldCk7CisJaWYgKHJjKSB7CisJCVVMX1JhaXNlRXhjKC1yYyk7CisJCXJldHVybiAtMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgQ29udGV4dF9zZXRfZnN0eXBlKENvbnRleHRPYmpleHQgKnNlbGYsIFB5T2JqZWN0ICp2YWx1ZSwgdm9pZCAqY2xvc3VyZSBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwljaGFyICogZnN0eXBlOworCWludCByYyA9IDA7CisKKwlpZiAoIXZhbHVlKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIE5PREVMX0FUVFIpOworCQlyZXR1cm4gLTE7CisJfQorCWlmICghKGZzdHlwZSA9IHB5c3Rvcyh2YWx1ZSkpKQorCQlyZXR1cm4gLTE7CisKKwlyYyA9IG1udF9jb250ZXh0X3NldF9mc3R5cGUoc2VsZi0+Y3h0LCBmc3R5cGUpOworCWlmIChyYykgeworCQlVTF9SYWlzZUV4YygtcmMpOworCQlyZXR1cm4gLTE7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IENvbnRleHRfc2V0X29wdGlvbnMoQ29udGV4dE9iamV4dCAqc2VsZiwgUHlPYmplY3QgKnZhbHVlLCB2b2lkICpjbG9zdXJlIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCWNoYXIgKiBvcHRpb25zOworCWludCByYyA9IDA7CisKKwlpZiAoIXZhbHVlKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIE5PREVMX0FUVFIpOworCQlyZXR1cm4gLTE7CisJfQorCWlmICghKG9wdGlvbnMgPSBweXN0b3ModmFsdWUpKSkKKwkJcmV0dXJuIC0xOworCisJcmMgPSBtbnRfY29udGV4dF9zZXRfb3B0aW9ucyhzZWxmLT5jeHQsIG9wdGlvbnMpOworCWlmIChyYykgeworCQlVTF9SYWlzZUV4YygtcmMpOworCQlyZXR1cm4gLTE7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IENvbnRleHRfc2V0X2ZzdHlwZV9wYXR0ZXJuKENvbnRleHRPYmpleHQgKnNlbGYsIFB5T2JqZWN0ICp2YWx1ZSwgdm9pZCAqY2xvc3VyZSBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwljaGFyICogZnN0eXBlX3BhdHRlcm47CisJaW50IHJjID0gMDsKKworCWlmICghdmFsdWUpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgTk9ERUxfQVRUUik7CisJCXJldHVybiAtMTsKKwl9CisJaWYgKCEoZnN0eXBlX3BhdHRlcm4gPSBweXN0b3ModmFsdWUpKSkKKwkJcmV0dXJuIC0xOworCisJcmMgPSBtbnRfY29udGV4dF9zZXRfZnN0eXBlX3BhdHRlcm4oc2VsZi0+Y3h0LCBmc3R5cGVfcGF0dGVybik7CisJaWYgKHJjKSB7CisJCVVMX1JhaXNlRXhjKC1yYyk7CisJCXJldHVybiAtMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgQ29udGV4dF9zZXRfb3B0aW9uc19wYXR0ZXJuKENvbnRleHRPYmpleHQgKnNlbGYsIFB5T2JqZWN0ICp2YWx1ZSwgdm9pZCAqY2xvc3VyZSBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwljaGFyICogb3B0aW9uc19wYXR0ZXJuOworCWludCByYyA9IDA7CisKKwlpZiAoIXZhbHVlKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIE5PREVMX0FUVFIpOworCQlyZXR1cm4gLTE7CisJfQorCWlmICghKG9wdGlvbnNfcGF0dGVybiA9IHB5c3Rvcyh2YWx1ZSkpKQorCQlyZXR1cm4gLTE7CisKKwlyYyA9IG1udF9jb250ZXh0X3NldF9vcHRpb25zX3BhdHRlcm4oc2VsZi0+Y3h0LCBvcHRpb25zX3BhdHRlcm4pOworCWlmIChyYykgeworCQlVTF9SYWlzZUV4YygtcmMpOworCQlyZXR1cm4gLTE7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IENvbnRleHRfc2V0X2ZzKENvbnRleHRPYmpleHQgKnNlbGYsIFB5T2JqZWN0ICp2YWx1ZSwgdm9pZCAqY2xvc3VyZSBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwlGc09iamVjdCAqZnM7CisKKwlpZiAoIXZhbHVlKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIE5PREVMX0FUVFIpOworCQlyZXR1cm4gLTE7CisJfQorCWlmICghUHlBcmdfUGFyc2UodmFsdWUsICJPISIsICZGc1R5cGUsICZmcykpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiAtMTsKKwl9CisJUHlfSU5DUkVGKGZzKTsKKwlQeV9YREVDUkVGKG1udF9jb250ZXh0X2dldF9mc191c2VyZGF0YShzZWxmLT5jeHQpKTsKKworCXJldHVybiBtbnRfY29udGV4dF9zZXRfZnMoc2VsZi0+Y3h0LCBmcy0+ZnMpOworfQorCitzdGF0aWMgaW50IENvbnRleHRfc2V0X2ZzdGFiKENvbnRleHRPYmpleHQgKnNlbGYsIFB5T2JqZWN0ICp2YWx1ZSwgdm9pZCAqY2xvc3VyZSBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwlUYWJsZU9iamVjdCAqZnN0YWI7CisKKwlpZiAoIXZhbHVlKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIE5PREVMX0FUVFIpOworCQlyZXR1cm4gLTE7CisJfQorCWlmICghUHlBcmdfUGFyc2UodmFsdWUsICJPISIsICZUYWJsZVR5cGUsICZmc3RhYikpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiAtMTsKKwl9CisJUHlfSU5DUkVGKGZzdGFiKTsKKwlQeV9YREVDUkVGKG1udF9jb250ZXh0X2dldF9mc3RhYl91c2VyZGF0YShzZWxmLT5jeHQpKTsKKworCXJldHVybiBtbnRfY29udGV4dF9zZXRfZnN0YWIoc2VsZi0+Y3h0LCBmc3RhYi0+dGFiKTsKK30KKworc3RhdGljIGludCBDb250ZXh0X3NldF9vcHRzbW9kZShDb250ZXh0T2JqZXh0ICpzZWxmLCBQeU9iamVjdCAqdmFsdWUsIHZvaWQgKmNsb3N1cmUgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCit7CisJaW50IG9wdHNtb2RlOworCisJaWYgKCF2YWx1ZSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBOT0RFTF9BVFRSKTsKKwkJcmV0dXJuIC0xOworCX0KKwllbHNlIGlmICghUHlMb25nX0NoZWNrKHZhbHVlKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIC0xOworCX0KKwlvcHRzbW9kZSA9IFB5TG9uZ19Bc0xvbmcodmFsdWUpOworCXJldHVybiBtbnRfY29udGV4dF9zZXRfb3B0c21vZGUoc2VsZi0+Y3h0LCBvcHRzbW9kZSk7Cit9CisKK3N0YXRpYyBpbnQgQ29udGV4dF9zZXRfc3lzY2FsbF9zdGF0dXMoQ29udGV4dE9iamV4dCAqc2VsZiwgUHlPYmplY3QgKnZhbHVlLCB2b2lkICpjbG9zdXJlIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCWludCBzeXNjYWxsX3N0YXR1czsKKworCWlmICghdmFsdWUpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgTk9ERUxfQVRUUik7CisJCXJldHVybiAtMTsKKwl9CisJZWxzZSBpZiAoIVB5TG9uZ19DaGVjayh2YWx1ZSkpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiAtMTsKKwl9CisJc3lzY2FsbF9zdGF0dXMgPSBQeUxvbmdfQXNMb25nKHZhbHVlKTsKKwlyZXR1cm4gbW50X2NvbnRleHRfc2V0X3N5c2NhbGxfc3RhdHVzKHNlbGYtPmN4dCwgc3lzY2FsbF9zdGF0dXMpOworfQorCitzdGF0aWMgaW50IENvbnRleHRfc2V0X3VzZXJfbWZsYWdzKENvbnRleHRPYmpleHQgKnNlbGYsIFB5T2JqZWN0ICp2YWx1ZSwgdm9pZCAqY2xvc3VyZSBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJaWYgKCF2YWx1ZSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBOT0RFTF9BVFRSKTsKKwkJcmV0dXJuIC0xOworCX0KKwllbHNlIGlmICghUHlMb25nX0NoZWNrKHZhbHVlKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIC0xOworCX0KKwlmbGFncyA9IFB5TG9uZ19Bc1Vuc2lnbmVkTG9uZyh2YWx1ZSk7CisJcmV0dXJuIG1udF9jb250ZXh0X3NldF9tZmxhZ3Moc2VsZi0+Y3h0LCBmbGFncyk7CisKK30KKworc3RhdGljIGludCBDb250ZXh0X3NldF9tZmxhZ3MoQ29udGV4dE9iamV4dCAqc2VsZiwgUHlPYmplY3QgKnZhbHVlLCB2b2lkICpjbG9zdXJlIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlpZiAoIXZhbHVlKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIE5PREVMX0FUVFIpOworCQlyZXR1cm4gLTE7CisJfQorCWVsc2UgaWYgKCFQeUxvbmdfQ2hlY2sodmFsdWUpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gLTE7CisJfQorCWZsYWdzID0gUHlMb25nX0FzVW5zaWduZWRMb25nKHZhbHVlKTsKKwlyZXR1cm4gbW50X2NvbnRleHRfc2V0X21mbGFncyhzZWxmLT5jeHQsIGZsYWdzKTsKK30KKworLyogcmV0dXJucyBhIGZsYWdzIGludGVnZXIgKGJlaGF2aW9yIGRpZmZlcnMgZnJvbSBDIEFQSSkgKi8KK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9nZXRfbWZsYWdzKENvbnRleHRPYmpleHQgKnNlbGYpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCVB5T2JqZWN0ICpyZXN1bHQ7CisJbW50X2NvbnRleHRfZ2V0X21mbGFncyhzZWxmLT5jeHQsICZmbGFncyk7CisJcmVzdWx0ID0gUHlfQnVpbGRWYWx1ZSgiayIsIGZsYWdzKTsKKworCWlmICghcmVzdWx0KQorCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLCBDT05TVFJVQ1RfRVJSKTsKKwlyZXR1cm4gcmVzdWx0OworCit9CisvKiByZXR1cm5zIGEgZmxhZ3MgaW50ZWdlciAoYmVoYXZpb3IgZGlmZmVycyBmcm9tIEMgQVBJKSAqLworc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2dldF91c2VyX21mbGFncyhDb250ZXh0T2JqZXh0ICpzZWxmKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlQeU9iamVjdCAqcmVzdWx0OworCW1udF9jb250ZXh0X2dldF91c2VyX21mbGFncyhzZWxmLT5jeHQsICZmbGFncyk7CisJcmVzdWx0ID0gUHlfQnVpbGRWYWx1ZSgiayIsIGZsYWdzKTsKKworCWlmICghcmVzdWx0KQorCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLCBDT05TVFJVQ1RfRVJSKTsKKwlyZXR1cm4gcmVzdWx0OworCit9CisjZGVmaW5lIENvbnRleHRfcmVzZXRfc3RhdHVzX0hFTFAgInJlc2V0X3N0YXR1cygpXG5cbiIgXAorCSJSZXNldHMgbW91bnQoMikgYW5kIG1vdW50LnR5cGUgc3RhdHVzZXMsIHNvIEN4dC5kb19tb3VudCgpIG9yXG4iIFwKKwkiQ3h0LmRvX3Vtb3VudCgpIGNvdWxkIGJlIGFnYWluIGNhbGxlZCB3aXRoIHRoZSBzYW1lIHNldHRpbmdzLlxuIiBcCisJIlxuIiBcCisJIkJFIENBUkVGVUwgLS0gYWZ0ZXIgdGhpcyBzb2Z0IHJlc2V0IHRoZSBsaWJtb3VudCB3aWxsIE5PVCBwYXJzZSBtb3VudFxuIiBcCisJIm9wdGlvbnMsIGV2YWx1YXRlIHBlcm1pc3Npb25zIG9yIGFwcGx5IHN0dWZmIGZyb20gZnN0YWIuXG4iIFwKKwkiXG4iIFwKKwkiUmV0dXJucyBzZWxmIG9yIHJhaXNlcyBhbiBleGNlcHRpb24gaW4gY2FzZSBvZiBhbiBlcnJvci4iCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfcmVzZXRfc3RhdHVzKENvbnRleHRPYmpleHQgKnNlbGYpCit7CisJaW50IHJjID0gbW50X2NvbnRleHRfcmVzZXRfc3RhdHVzKHNlbGYtPmN4dCk7CisKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YygtcmMpIDogVUxfSW5jUmVmKHNlbGYpOworfQorCisjZGVmaW5lIENvbnRleHRfaXNfZmFrZV9IRUxQICJpc19mYWtlKClcblxuIiBcCisiUmV0dXJucyBUcnVlIGlmIGZha2UgZmxhZyBpcyBlbmFibGVkIG9yIEZhbHNlIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2lzX2Zha2UoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlyZXR1cm4gUHlCb29sX0Zyb21Mb25nKG1udF9jb250ZXh0X2lzX2Zha2Uoc2VsZi0+Y3h0KSk7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9pc19mb3JjZV9IRUxQICJpc19mb3JjZSgpXG5cbiIgXAorIlJldHVybnMgVHJ1ZSBpZiBmb3JjZSB1bW91bnRpbmcgZmxhZyBpcyBlbmFibGVkIG9yIEZhbHNlIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2lzX2ZvcmNlKENvbnRleHRPYmpleHQgKnNlbGYpCit7CisJcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhtbnRfY29udGV4dF9pc19mb3JjZShzZWxmLT5jeHQpKTsKK30KKworI2RlZmluZSBDb250ZXh0X2lzX2xhenlfSEVMUCAiaXNfbGF6eSgpXG5cbiIgXAorIlJldHVybnMgVHJ1ZSBpZiBsYXp5IHVtb3VudCBpcyBlbmFibGVkIG9yIEZhbHNlIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2lzX2xhenkoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlyZXR1cm4gUHlCb29sX0Zyb21Mb25nKG1udF9jb250ZXh0X2lzX2xhenkoc2VsZi0+Y3h0KSk7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9pc19ub210YWJfSEVMUCAiaXNfbm9tdGFiKClcblxuIiBcCisJIlJldHVybnMgVHJ1ZSBpZiBuby1tdGFiIGlzIGVuYWJsZWQgb3IgRmFsc2UiCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfaXNfbm9tdGFiKENvbnRleHRPYmpleHQgKnNlbGYpCit7CisJcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhtbnRfY29udGV4dF9pc19ub210YWIoc2VsZi0+Y3h0KSk7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9pc19yZG9ubHlfdW1vdW50X0hFTFAgImlzX3Jkb25seV91bW91bnQoKVxuXG4iIFwKKwkiRW5hYmxlL2Rpc2FibGUgcmVhZC1vbmx5IHJlbW91bnQgb24gZmFpbGVkIHVtb3VudCgyKVxuIiBcCisJIihzZWUgdW1vdW50KDgpIG1hbiBwYWdlLCBvcHRpb24gLXIpLlxuIiBcCisJIlxuIiBcCisJIlJldHVybnMgc2VsZiBvbiBzdWNjZXNzLCByYWlzZXMgYW4gZXhjZXB0aW9uIGluIGNhc2Ugb2YgZXJyb3IuIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2lzX3Jkb25seV91bW91bnQoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlpbnQgcmMgPSBtbnRfY29udGV4dF9pc19yZG9ubHlfdW1vdW50KHNlbGYtPmN4dCk7CisJcmV0dXJuIHJjID8gVUxfUmFpc2VFeGMoLXJjKSA6IFVMX0luY1JlZihzZWxmKTsKK30KKworI2RlZmluZSBDb250ZXh0X2lzX3Jlc3RyaWN0ZWRfSEVMUCAiaXNfcmVzdHJpY3RlZCgpXG5cbiIgXAorCSJSZXR1cm5zIEZhbHNlIGZvciB1bnJlc3RyaWN0ZWQgbW91bnQgKHVzZXIgaXMgcm9vdCksIG9yIFRydWUgZm9yIG5vbi1yb290IG1vdW50cyIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9pc19yZXN0cmljdGVkKENvbnRleHRPYmpleHQgKnNlbGYpCit7CisJcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhtbnRfY29udGV4dF9pc19yZXN0cmljdGVkKHNlbGYtPmN4dCkpOworfQorCisjZGVmaW5lIENvbnRleHRfaXNfc2xvcHB5X0hFTFAgImlzX3Nsb3BweSgpXG5cbiIgXAorCSJSZXR1cm5zIFRydWUgaWYgc2xvcHB5IGZsYWcgaXMgZW5hYmxlZCBvciBGYWxzZSIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9pc19zbG9wcHkoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlyZXR1cm4gUHlCb29sX0Zyb21Mb25nKG1udF9jb250ZXh0X2lzX3Nsb3BweShzZWxmLT5jeHQpKTsKK30KKworI2RlZmluZSBDb250ZXh0X2lzX3ZlcmJvc2VfSEVMUCAiaXNfdmVyYm9zZSgpXG5cbiIgXAorCSJSZXR1cm5zIFRydWUgaWYgdmVyYm9zZSBmbGFnIGlzIGVuYWJsZWQgb3IgRmFsc2UiCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfaXNfdmVyYm9zZShDb250ZXh0T2JqZXh0ICpzZWxmKQoreworCXJldHVybiBQeUJvb2xfRnJvbUxvbmcobW50X2NvbnRleHRfaXNfdmVyYm9zZShzZWxmLT5jeHQpKTsKK30KKyNkZWZpbmUgQ29udGV4dF9pc19mc19tb3VudGVkX0hFTFAgImlzX2ZzX21vdW50ZWQoZnMsIG1vdW50ZWQpXG5cbiIgXAorCSJSZXR1cm5zIHNlbGYgb3IgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpbiBjYXNlIG9mIGFuIGVycm9yLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9pc19mc19tb3VudGVkKENvbnRleHRPYmpleHQgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwljaGFyICprd2xpc3RbXSA9IHsiZnMiLCAibW91bnRlZCIsIE5VTEx9OworCUZzT2JqZWN0ICpmczsKKwlpbnQgbW91bnRlZDsKKworCWlmIChQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgIk8haSIsIGt3bGlzdCwKKwkJCQkJJkZzVHlwZSwgJmZzLCAmbW91bnRlZCkpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyZXR1cm4gUHlCb29sX0Zyb21Mb25nKG1udF9jb250ZXh0X2lzX2ZzX21vdW50ZWQoc2VsZi0+Y3h0LCBmcy0+ZnMsICZtb3VudGVkKSk7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9pc19jaGlsZF9IRUxQICJpc19jaGlsZCgpXG5cbiIgXAorCSJSZXR1cm5zIFRydWUgaWYgbW91bnQgLUYgZW5hYmxlZCBhbmQgdGhlIGN1cnJlbnQgY29udGV4dCBpcyBjaGlsZCwgb3IgRmFsc2UiCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfaXNfY2hpbGQoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlyZXR1cm4gUHlCb29sX0Zyb21Mb25nKG1udF9jb250ZXh0X2lzX2NoaWxkKHNlbGYtPmN4dCkpOworfQorCisjZGVmaW5lIENvbnRleHRfaXNfZm9ya19IRUxQICJpc19mb3JrKClcblxuIiBcCisJIlJldHVybnMgVHJ1ZSBpZiBmb3JrIChtb3VudCAtRikgaXMgZW5hYmxlZCBvciBGYWxzZSIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9pc19mb3JrKENvbnRleHRPYmpleHQgKnNlbGYpCit7CisJcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhtbnRfY29udGV4dF9pc19mb3JrKHNlbGYtPmN4dCkpOworfQorCisjZGVmaW5lIENvbnRleHRfaXNfcGFyZW50X0hFTFAgImlzX3BhcmVudCgpXG5cbiIgXAorCSJSZXR1cm5zIFRydWUgaWYgbW91bnQgLUYgZW5hYmxlZCBhbmQgdGhlIGN1cnJlbnQgY29udGV4dCBpcyBwYXJlbnQsIG9yIEZhbHNlIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2lzX3BhcmVudChDb250ZXh0T2JqZXh0ICpzZWxmKQoreworCXJldHVybiBQeUJvb2xfRnJvbUxvbmcobW50X2NvbnRleHRfaXNfcGFyZW50KHNlbGYtPmN4dCkpOworfQorCisjZGVmaW5lIENvbnRleHRfaXNfbG9vcGRlbF9IRUxQICJpc19sb29wZGVsKClcblxuIiBcCisJIlJldHVybnMgVHJ1ZSBpZiBsb29wIGRldmljZSBzaG91bGQgYmUgZGVsZXRlZCBhZnRlciB1bW91bnQgKHVtb3VudCAtZCkgb3IgRmFsc2UuIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2lzX2xvb3BkZWwoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlyZXR1cm4gUHlCb29sX0Zyb21Mb25nKG1udF9jb250ZXh0X2lzX2xvb3BkZWwoc2VsZi0+Y3h0KSk7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9pc19ub2Nhbm9uaWNhbGl6ZV9IRUxQICJpc19ub2Nhbm9uaWNhbGl6ZSgpXG5cbiIgXAorCSJSZXR1cm5zIFRydWUgaWYgbm8tY2Fub25pY2FsaXplIG1vZGUgZW5hYmxlZCBvciBGYWxzZS4iCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfaXNfbm9jYW5vbmljYWxpemUoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlyZXR1cm4gUHlCb29sX0Zyb21Mb25nKG1udF9jb250ZXh0X2lzX25vY2Fub25pY2FsaXplKHNlbGYtPmN4dCkpOworfQorCisjZGVmaW5lIENvbnRleHRfaXNfbm9oZWxwZXJzX0hFTFAgImlzX25vaGVscGVycygpXG5cbiIgXAorCSJSZXR1cm5zIFRydWUgaWYgaGVscGVycyBhcmUgZGlzYWJsZWQgKG1vdW50IC1pKSBvciBGYWxzZS4iCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfaXNfbm9oZWxwZXJzKENvbnRleHRPYmpleHQgKnNlbGYpCit7CisJcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhtbnRfY29udGV4dF9pc19ub2hlbHBlcnMoc2VsZi0+Y3h0KSk7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9zeXNjYWxsX2NhbGxlZF9IRUxQICJzeXNjYWxsX2NhbGxlZCgpXG5cbiIgXAorCSJSZXR1cm5zIFRydWUgaWYgbW91bnQoMikgc3lzY2FsbCBoYXMgYmVlbiBjYWxsZWQsIG9yIEZhbHNlLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9zeXNjYWxsX2NhbGxlZChDb250ZXh0T2JqZXh0ICpzZWxmKQoreworCXJldHVybiBQeUJvb2xfRnJvbUxvbmcobW50X2NvbnRleHRfc3lzY2FsbF9jYWxsZWQoc2VsZi0+Y3h0KSk7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9pc19zd2FwbWF0Y2hfSEVMUCAiaXNfc3dhcG1hdGNoKClcblxuIiBcCisJIlJldHVybnMgVHJ1ZSBpZiBzd2FwIGJldHdlZW4gc291cmNlIGFuZCB0YXJnZXQgaXMgYWxsb3dlZCAoZGVmYXVsdCBpcyBUcnVlKSBvciBGYWxzZS4iCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfaXNfc3dhcG1hdGNoKENvbnRleHRPYmpleHQgKnNlbGYpCit7CisJcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhtbnRfY29udGV4dF9pc19zd2FwbWF0Y2goc2VsZi0+Y3h0KSk7Cit9CisKKyNkZWZpbmUgQ29udGV4dF90YWJfYXBwbGllZF9IRUxQICJ0YWJfYXBwbGllZCgpXG5cbiIgXAorCSJSZXR1cm5zIFRydWUgaWYgZnN0YWIgKG9yIG10YWIpIGhhcyBiZWVuIGFwcGxpZWQgdG8gdGhlIGNvbnRleHQsIEZhbHNlIG90aGVyd2lzZS4iCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfdGFiX2FwcGxpZWQoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlyZXR1cm4gUHlCb29sX0Zyb21Mb25nKG1udF9jb250ZXh0X3RhYl9hcHBsaWVkKHNlbGYtPmN4dCkpOworfQorCisjZGVmaW5lIENvbnRleHRfYXBwbHlfZnN0YWJfSEVMUCAiYXBwbHlfZnN0YWIoKVxuXG4iIFwKKwkiVGhpcyBmdW5jdGlvbiBpcyBvcHRpb25hbC5cbiIgXAorCSJcbiIgXAorCSJSZXR1cm5zIHNlbGYgb3IgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpbiBjYXNlIG9mIGFuIGVycm9yLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9hcHBseV9mc3RhYihDb250ZXh0T2JqZXh0ICpzZWxmKQoreworCWludCByYyA9IG1udF9jb250ZXh0X2FwcGx5X2ZzdGFiKHNlbGYtPmN4dCk7CisJcmV0dXJuIHJjID8gVUxfUmFpc2VFeGMoLXJjKSA6IFVMX0luY1JlZihzZWxmKTsKK30KKworI2RlZmluZSBDb250ZXh0X2hlbHBlcl9leGVjdXRlZF9IRUxQICJoZWxwZXJfZXhlY3V0ZWQoKVxuXG4iIFwKKwkiUmV0dXJucyBUcnVlIGlmIG1vdW50LnR5cGUgaGVscGVyIGhhcyBiZWVuIGV4ZWN1dGVkLCBvciBGYWxzZS4iCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfaGVscGVyX2V4ZWN1dGVkKENvbnRleHRPYmpleHQgKnNlbGYpCit7CisJcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhtbnRfY29udGV4dF9oZWxwZXJfZXhlY3V0ZWQoc2VsZi0+Y3h0KSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9nZXRfc291cmNlKENvbnRleHRPYmpleHQgKnNlbGYpCit7CisJcmV0dXJuIFB5T2JqZWN0UmVzdWx0U3RyKG1udF9jb250ZXh0X2dldF9zb3VyY2Uoc2VsZi0+Y3h0KSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9nZXRfdGFyZ2V0KENvbnRleHRPYmpleHQgKnNlbGYpCit7CisJcmV0dXJuIFB5T2JqZWN0UmVzdWx0U3RyKG1udF9jb250ZXh0X2dldF90YXJnZXQoc2VsZi0+Y3h0KSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9nZXRfb3B0aW9ucyhDb250ZXh0T2JqZXh0ICpzZWxmKQoreworCXJldHVybiBQeU9iamVjdFJlc3VsdFN0cihtbnRfY29udGV4dF9nZXRfb3B0aW9ucyhzZWxmLT5jeHQpKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2dldF9mc3R5cGUoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRTdHIobW50X2NvbnRleHRfZ2V0X2ZzdHlwZShzZWxmLT5jeHQpKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2dldF9mcyhDb250ZXh0T2JqZXh0ICpzZWxmKQoreworCXJldHVybiBQeU9iamVjdFJlc3VsdEZzKG1udF9jb250ZXh0X2dldF9mcyhzZWxmLT5jeHQpKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2dldF9mc3RhYihDb250ZXh0T2JqZXh0ICpzZWxmKQoreworCXN0cnVjdCBsaWJtbnRfdGFibGUgKnRhYiA9IE5VTEw7CisKKwlpZiAobW50X2NvbnRleHRfZ2V0X2ZzdGFiKHNlbGYtPmN4dCwgJnRhYikgIT0gMCB8fCAhdGFiKQorCQlyZXR1cm4gTlVMTDsKKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRUYWIodGFiKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2dldF9tdGFiKENvbnRleHRPYmpleHQgKnNlbGYpCit7CisJc3RydWN0IGxpYm1udF90YWJsZSAqdGFiID0gTlVMTDsKKworCWlmIChtbnRfY29udGV4dF9nZXRfbXRhYihzZWxmLT5jeHQsICZ0YWIpICE9IDAgfHwgIXRhYikKKwkJcmV0dXJuIE5VTEw7CisJcmV0dXJuIFB5T2JqZWN0UmVzdWx0VGFiKHRhYik7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9nZXRfb3B0c21vZGUoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRJbnQobW50X2NvbnRleHRfZ2V0X29wdHNtb2RlKHNlbGYtPmN4dCkpOworfQorCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfZ2V0X3N0YXR1cyhDb250ZXh0T2JqZXh0ICpzZWxmKQoreworCXJldHVybiBQeU9iamVjdFJlc3VsdEludChtbnRfY29udGV4dF9nZXRfc3RhdHVzKHNlbGYtPmN4dCkpOworfQorCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfZ2V0X3N5c2NhbGxfZXJybm8oQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRJbnQobW50X2NvbnRleHRfZ2V0X3N5c2NhbGxfZXJybm8oc2VsZi0+Y3h0KSk7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9kb19tb3VudF9IRUxQICJkb19tb3VudCgpXG5cbiIgXAorCSJDYWxsIG1vdW50KDIpIG9yIG1vdW50LnR5cGUgaGVscGVyLiBVbm5lY2Vzc2FyeSBmb3IgQ3h0Lm1vdW50KCkuXG4iIFwKKwkiXG4iIFwKKwkiTm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gY291bGQgYmUgY2FsbGVkIG9ubHkgb25jZS4gSWYgeW91IHdhbnQgdG8gbW91bnRcbiIgXAorCSJhbm90aGVyIHNvdXJjZSBvciB0YXJnZXQgdGhhbiB5b3UgaGF2ZSB0byBjYWxsIEN4dC5yZXNldF9jb250ZXh0KCkuXG4iIFwKKwkiXG4iIFwKKwkiSWYgeW91IHdhbnQgdG8gY2FsbCBtb3VudCgyKSBmb3IgdGhlIHNhbWUgc291cmNlIGFuZCB0YXJnZXQgd2l0aCBhIGRpZmZlcmVudFxuIiBcCisJIm1vdW50IGZsYWdzIG9yIGZzdHlwZSB0aGVuIGNhbGwgQ3h0LnJlc2V0X3N0YXR1cygpIGFuZCB0aGVuIHRyeVxuIiBcCisJImFnYWluIEN4dC5kb19tb3VudCgpLlxuIiBcCisJIlxuIiBcCisJIldBUk5JTkc6IG5vbi16ZXJvIHJldHVybiBjb2RlIGRvZXMgbm90IG1lYW4gdGhhdCBtb3VudCgyKSBzeXNjYWxsIG9yXG4iIFwKKwkibW91bnQudHlwZSBoZWxwZXIgd2Fzbid0IHN1Y2Nlc3NmdWxseSBjYWxsZWQuXG4iIFwKKwkiXG4iIFwKKwkiQ2hlY2sgQ3h0LnN0YXR1cyBhZnRlciBlcnJvciFcbiIgXAorCSJcbiIgXAorCSJSZXR1cm5zIHNlbGYgb24gc3VjY2VzcyBvciBhbiBleGNlcHRpb24gaW4gY2FzZSBvZiBvdGhlciBlcnJvcnMuIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2RvX21vdW50KENvbnRleHRPYmpleHQgKnNlbGYpCit7CisJaW50IHJjID0gbW50X2NvbnRleHRfZG9fbW91bnQoc2VsZi0+Y3h0KTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YyhyYyA8IDAgPyAtcmMgOiByYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9kb191bW91bnRfSEVMUCAiZG9fdW1vdW50KClcblxuIiBcCisJIlVtb3VudCBmaWxlc3lzdGVtIGJ5IHVtb3VudCgyKSBvciBmb3JrKCkrZXhlYygvc2Jpbi91bW91bnQudHlwZSkuXG4iIFwKKwkiVW5uZWNlc3NhcnkgZm9yIEN4dC51bW91bnQoKS5cbiIgXAorCSJcbiIgXAorCSJTZWUgYWxzbyBDeHQuZGlzYWJsZV9oZWxwZXJzKCkuXG4iIFwKKwkiXG4iIFwKKwkiV0FSTklORzogbm9uLXplcm8gcmV0dXJuIGNvZGUgZG9lcyBub3QgbWVhbiB0aGF0IHVtb3VudCgyKSBzeXNjYWxsIG9yXG4iIFwKKwkidW1vdW50LnR5cGUgaGVscGVyIHdhc24ndCBzdWNjZXNzZnVsbHkgY2FsbGVkLlxuIiBcCisJIlxuIiBcCisJIkNoZWNrIEN4dC5zdGF0dXMgYWZ0ZXIgZXJyb3IhXG4iIFwKKwkiXG4iIFwKKwkiUmV0dXJucyBzZWxmIG9uIHN1Y2Nlc3Mgb3IgYW4gZXhjZXB0aW9uIGluIGNhc2Ugb2Ygb3RoZXIgZXJyb3JzLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9kb191bW91bnQoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlpbnQgcmMgPSBtbnRfY29udGV4dF9kb191bW91bnQoc2VsZi0+Y3h0KTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YyhyYyA8IDAgPyAtcmMgOiByYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9tb3VudF9IRUxQICJtb3VudCgpXG5cbiIgXAorCSJIaWdoLWxldmVsLCBtb3VudHMgZmlsZXN5c3RlbSBieSBtb3VudCgyKSBvciBmb3JrKCkrZXhlYygvc2Jpbi9tb3VudC50eXBlKS5cbiIgXAorCSJcbiIgXAorCSJUaGlzIGlzIHNpbWlsYXIgdG86XG4iIFwKKwkiXG4iIFwKKwkiQ3h0LnByZXBhcmVfbW91bnQoKTtcbiIgXAorCSJDeHQuZG9fbW91bnQoKTtcbiIgXAorCSJDeHQuZmluYWxpemVfbW91bnQoKTtcbiIgXAorCSJcbiIgXAorCSJTZWUgYWxzbyBDeHQuZGlzYWJsZV9oZWxwZXIoKS5cbiIgXAorCSJcbiIgXAorCSJOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBjb3VsZCBiZSBjYWxsZWQgb25seSBvbmNlLiBJZiB5b3Ugd2FudCB0byBtb3VudCB3aXRoXG4iIFwKKwkiZGlmZmVyZW50IHNldHRpbmcgdGhhbiB5b3UgaGF2ZSB0byBjYWxsIEN4dC5yZXNldF9jb250ZXh0KCkuIEl0J3MgTk9UIGVub3VnaFxuIiBcCisJInRvIGNhbGwgQ3h0LnJlc2V0X3N0YXR1cygpIGlmIHlvdSB3YW50IGNhbGwgdGhpcyBmdW5jdGlvbiBtb3JlIHRoYW5cbiIgXAorCSJvbmNlLCB3aG9sZSBjb250ZXh0IGhhcyB0byBiZSByZXNldC5cbiIgXAorCSJcbiIgXAorCSJXQVJOSU5HOiBub24temVybyByZXR1cm4gY29kZSBkb2VzIG5vdCBtZWFuIHRoYXQgbW91bnQoMikgc3lzY2FsbCBvclxuIiBcCisJIm1vdW50LnR5cGUgaGVscGVyIHdhc24ndCBzdWNjZXNzZnVsbHkgY2FsbGVkLlxuIiBcCisJIlxuIiBcCisJIkNoZWNrIEN4dC5zdGF0dXMgYWZ0ZXIgZXJyb3IhXG4iIFwKKwkiXG4iIFwKKwkiUmV0dXJucyBzZWxmIG9uIHN1Y2Nlc3Mgb3IgYW4gZXhjZXB0aW9uIGluIGNhc2Ugb2Ygb3RoZXIgZXJyb3JzLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9tb3VudChDb250ZXh0T2JqZXh0ICpzZWxmKQoreworCWludCByYyA9IG1udF9jb250ZXh0X21vdW50KHNlbGYtPmN4dCk7CisJcmV0dXJuIHJjID8gVUxfUmFpc2VFeGMocmMgPCAwID8gLXJjIDogcmMpIDogVUxfSW5jUmVmKHNlbGYpOworfQorCisjZGVmaW5lIENvbnRleHRfdW1vdW50X0hFTFAgInVtb3VudCgpXG5cbiIgXAorCSJIaWdoLWxldmVsLCB1bW91bnRzIGZpbGVzeXN0ZW0gYnkgdW1vdW50KDIpIG9yIGZvcmsoKStleGVjKC9zYmluL3Vtb3VudC50eXBlKS5cbiIgXAorCSJcbiIgXAorCSJUaGlzIGlzIHNpbWlsYXIgdG86XG4iIFwKKwkiXG4iIFwKKwkiQ3h0LnByZXBhcmVfdW1vdW50KCk7XG4iIFwKKwkiQ3h0LmRvX3Vtb3VudCgpO1xuIiBcCisJIkN4dC5maW5hbGl6ZV91bW91bnQoKTtcbiIgXAorCSJcbiIgXAorCSJTZWUgYWxzbyBDeHQuZGlzYWJsZV9oZWxwZXJzKCkuXG4iIFwKKwkiXG4iIFwKKwkiV0FSTklORzogbm9uLXplcm8gcmV0dXJuIGNvZGUgZG9lcyBub3QgbWVhbiB0aGF0IHVtb3VudCgyKSBzeXNjYWxsIG9yXG4iIFwKKwkidW1vdW50LnR5cGUgaGVscGVyIHdhc24ndCBzdWNjZXNzZnVsbHkgY2FsbGVkLlxuIiBcCisJIlxuIiBcCisJIkNoZWNrIEN4dC5zdGF0dXMgYWZ0ZXIgZXJyb3IhXG4iIFwKKwkiXG4iIFwKKwkiUmV0dXJucyBzZWxmIG9uIHN1Y2Nlc3Mgb3IgYW4gZXhjZXB0aW9uIGluIGNhc2Ugb2Ygb3RoZXIgZXJyb3JzLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF91bW91bnQoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlpbnQgcmMgPSBtbnRfY29udGV4dF91bW91bnQoc2VsZi0+Y3h0KTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YyhyYyA8IDAgPyAtcmMgOiByYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9maW5hbGl6ZV9tb3VudF9IRUxQICJmaW5hbGl6ZV9tb3VudCgpXG5cbiIgXAorCSJNdGFiIHVwZGF0ZSwgZXRjLiBVbm5lY2Vzc2FyeSBmb3IgQ3h0Lm1vdW50KCksIGJ1dCBzaG91bGQgYmUgY2FsbGVkXG4iIFwKKwkiYWZ0ZXIgQ3h0LmRvX21vdW50KCkuIFNlZSBhbHNvIEN4dC5zeXNjYWxsX3N0YXR1cy5cbiIgXAorCSJcbiIgXAorCSJSZXR1cm5zIHNlbGYgb3IgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpbiBjYXNlIG9mIGFuIGVycm9yLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9maW5hbGl6ZV9tb3VudChDb250ZXh0T2JqZXh0ICpzZWxmKQoreworCWludCByYyA9IG1udF9jb250ZXh0X2ZpbmFsaXplX21vdW50KHNlbGYtPmN4dCk7CisJcmV0dXJuIHJjID8gVUxfUmFpc2VFeGMoLXJjKSA6IFVMX0luY1JlZihzZWxmKTsKK30KKworI2RlZmluZSBDb250ZXh0X3ByZXBhcmVfdW1vdW50X0hFTFAgInByZXBhcmVfdW1vdW50KClcblxuIiBcCisJIlByZXBhcmUgY29udGV4dCBmb3IgdW1vdW50aW5nLCB1bm5lY2Vzc2FyeSBmb3IgQ3h0LnVtb3VudCgpLlxuIiBcCisJIlxuIiBcCisJIlJldHVybnMgc2VsZiBvciByYWlzZXMgYW4gZXhjZXB0aW9uIGluIGNhc2Ugb2YgYW4gZXJyb3IuIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X3ByZXBhcmVfdW1vdW50KENvbnRleHRPYmpleHQgKnNlbGYpCit7CisJaW50IHJjID0gbW50X2NvbnRleHRfcHJlcGFyZV91bW91bnQoc2VsZi0+Y3h0KTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YygtcmMpIDogVUxfSW5jUmVmKHNlbGYpOworfQorCisjZGVmaW5lIENvbnRleHRfcHJlcGFyZV9tb3VudF9IRUxQICJwcmVwYXJlX21vdW50KClcblxuIiBcCisJIlByZXBhcmUgY29udGV4dCBmb3IgbW91bnRpbmcsIHVubmVjZXNzYXJ5IGZvciBDeHQubW91bnQoKS5cbiIgXAorCSJcbiIgXAorCSJSZXR1cm5zIHNlbGYgb3IgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpbiBjYXNlIG9mIGFuIGVycm9yLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9wcmVwYXJlX21vdW50KENvbnRleHRPYmpleHQgKnNlbGYpCit7CisJaW50IHJjID0gbW50X2NvbnRleHRfcHJlcGFyZV9tb3VudChzZWxmLT5jeHQpOworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKC1yYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9maW5hbGl6ZV91bW91bnRfSEVMUCAiZmluYWxpemVfdW1vdW50KClcblxuIiBcCisJIk10YWIgdXBkYXRlLCBldGMuIFVubmVjZXNzYXJ5IGZvciBDeHQudW1vdW50KCksIGJ1dCBzaG91bGQgYmUgY2FsbGVkXG4iIFwKKwkiYWZ0ZXIgQ3h0LmRvX3Vtb3VudCgpLiBTZWUgYWxzbyBDeHQuc3lzY2FsbF9zdGF0dXMuXG4iIFwKKwkiXG4iIFwKKwkiUmV0dXJucyBzZWxmIG9uIHN1Y2Nlc3MsIHJhaXNlcyBMaWJtb3VudEVycm9yIGlmIHRhcmdldCBmaWxlc3lzdGVtIG5vdCBmb3VuZCwgb3Igb3RoZXIgZXhjZXB0aW9uIG9uIGVycm9yLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9maW5hbGl6ZV91bW91bnQoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlpbnQgcmMgPSBtbnRfY29udGV4dF9maW5hbGl6ZV91bW91bnQoc2VsZi0+Y3h0KTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YygtcmMpIDogVUxfSW5jUmVmKHNlbGYpOworfQorCisjZGVmaW5lIENvbnRleHRfZmluZF91bW91bnRfZnNfSEVMUCAiZmluZF91bW91bnRfZnModGd0LCBwZnMpXG5cbiIgXAorCSJSZXR1cm5zIHNlbGYgb3IgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpbiBjYXNlIG9mIGFuIGVycm9yLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9maW5kX3Vtb3VudF9mcyhDb250ZXh0T2JqZXh0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJaW50IHJjOworCWNoYXIgKmt3bGlzdFtdID0geyAidGd0IiwgInBmcyIsIE5VTEwgfTsKKwljaGFyICp0Z3QgPSBOVUxMOworCUZzT2JqZWN0ICpmczsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJzTyEiLCBrd2xpc3QsICZ0Z3QsICZGc1R5cGUsICZmcykpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKworCXJjID0gbW50X2NvbnRleHRfZmluZF91bW91bnRfZnMoc2VsZi0+Y3h0LCB0Z3QsICZmcy0+ZnMpOworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKC1yYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9hcHBlbmRfb3B0aW9uc19IRUxQICJhcHBlbmRfb3B0aW9ucyhvcHRzdHIpXG5cbiIgXAorCSJSZXR1cm5zIHNlbGYgb3IgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpbiBjYXNlIG9mIGFuIGVycm9yLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9hcHBlbmRfb3B0aW9ucyhDb250ZXh0T2JqZXh0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJaW50IHJjOworCWNoYXIgKmt3bGlzdFtdID0geyJvcHRzdHIiLCBOVUxMfTsKKwljaGFyICpvcHRzdHIgPSBOVUxMOworCisJaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInMiLCBrd2xpc3QsICZvcHRzdHIpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlyYyA9IG1udF9jb250ZXh0X2FwcGVuZF9vcHRpb25zKHNlbGYtPmN4dCwgb3B0c3RyKTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YygtcmMpIDogVUxfSW5jUmVmKHNlbGYpOworfQorCisjZGVmaW5lIENvbnRleHRfaGVscGVyX3NldG9wdF9IRUxQICJoZWxwZXJfc2V0b3B0KGMsIGFyZylcblxuIiBcCisJIlRoaXMgZnVuY3Rpb24gYXBwbGllcyBbdV1tb3VudC50eXBlIGNvbW1hbmQgbGluZSBvcHRpb24gKGZvciBleGFtcGxlIHBhcnNlZFxuIiBcCisJImJ5IGdldG9wdCBvciBnZXRvcHRfbG9uZykgdG8gY3h0LiBBbGwgdW5rbm93biBvcHRpb25zIGFyZSBpZ25vcmVkIGFuZFxuIiBcCisJInRoZW4gVmFsdWVFcnJvciBpcyByYWlzZWQuXG4iIFwKKwkiXG4iIFwKKwkiUmV0dXJucyBzZWxmIG9uIHN1Y2Nlc3MsIHJhaXNlcyBWYWx1ZUVycm9yIGlmIGMgaXMgdW5rbm93biBvciBvdGhlciBleGNlcHRpb24gaW4gY2FzZSBvZiBhbiBlcnJvci4iCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfaGVscGVyX3NldG9wdChDb250ZXh0T2JqZXh0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJaW50IHJjOworCWludCBjOworCWNoYXIgKmFyZzsKKwljaGFyICprd2xpc3RbXSA9IHsgImMiLCAiYXJnIiwgTlVMTCB9OworCisJaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgImlzIiwga3dsaXN0LCAmYywgJmFyZykpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKworCXJjID0gbW50X2NvbnRleHRfaGVscGVyX3NldG9wdChzZWxmLT5jeHQsIGMsIGFyZyk7CisJcmV0dXJuIHJjID8gVUxfUmFpc2VFeGMoLXJjKSA6IFVMX0luY1JlZihzZWxmKTsKK30KKworI2RlZmluZSBDb250ZXh0X2luaXRfaGVscGVyX0hFTFAgImluaXRfaGVscGVyKGFjdGlvbiwgZmxhZ3MpXG5cbiIgXAorCSJUaGlzIGZ1bmN0aW9uIGluZm9ybXMgbGlibW91bnQgdGhhdCBpdCBpcyB1c2VkIGZyb20gW3VdbW91bnQudHlwZSBoZWxwZXIuXG4iIFwKKwkiXG4iIFwKKwkiVGhlIGZ1bmN0aW9uIGFsc28gY2FsbHMgQ3h0LmRpc2FibGVfaGVscGVycygpIHRvIGF2b2lkIGNhbGxpbmdcbiIgXAorCSJtb3VudC50eXBlIGhlbHBlcnMgcmVjdXJzaXZlbHkuIElmIHlvdSByZWFsbHkgd2FudCB0byBjYWxsIGFub3RoZXJcbiIgXAorCSJtb3VudC50eXBlIGhlbHBlciBmcm9tIHlvdXIgaGVscGVyIHRoZW4geW91IGhhdmUgdG8gZXhwbGljaXRseSBlbmFibGUgdGhpc1xuIiBcCisJImZlYXR1cmUgYnk6XG4iIFwKKwkiXG4iIFwKKwkiQ3h0LmRpc2FibGVfaGVscGVycyhGYWxzZSk7XG4iIFwKKwkiXG4iIFwKKwkiUmV0dXJucyBzZWxmIG9yIHJhaXNlcyBhbiBleGNlcHRpb24gaW4gY2FzZSBvZiBhbiBlcnJvci4iCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfaW5pdF9oZWxwZXIoQ29udGV4dE9iamV4dCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWludCByYzsKKwlpbnQgYWN0aW9uLCBmbGFnczsKKwljaGFyICprd2xpc3RbXSA9IHsiYWN0aW9uIiwgImZsYWdzIiwgTlVMTH07CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAiaWkiLCBrd2xpc3QsICZhY3Rpb24sICZmbGFncykpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKworCXJjID0gbW50X2NvbnRleHRfaW5pdF9oZWxwZXIoc2VsZi0+Y3h0LCBhY3Rpb24sIGZsYWdzKTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YygtcmMpIDogVUxfSW5jUmVmKHNlbGYpOworfQorCitzdGF0aWMgUHlHZXRTZXREZWYgQ29udGV4dF9nZXRzZXRlcnNbXSA9IHsKKwl7InRhYmxlc19lcnJjYiIsCU5VTEwsIChzZXR0ZXIpQ29udGV4dF9zZXRfdGFibGVzX2VycmNiLCAiZXJyb3IgY2FsbGJhY2sgZnVuY3Rpb24iLCBOVUxMfSwKKwl7InN0YXR1cyIsCQkoZ2V0dGVyKUNvbnRleHRfZ2V0X3N0YXR1cywgTlVMTCwgInN0YXR1cyIsIE5VTEx9LAorCXsic291cmNlIiwJCShnZXR0ZXIpQ29udGV4dF9nZXRfc291cmNlLCAoc2V0dGVyKUNvbnRleHRfc2V0X3NvdXJjZSwgInNvdXJjZSIsIE5VTEx9LAorCXsidGFyZ2V0IiwJCShnZXR0ZXIpQ29udGV4dF9nZXRfdGFyZ2V0LCAoc2V0dGVyKUNvbnRleHRfc2V0X3RhcmdldCwgInRhcmdldCIsIE5VTEx9LAorCXsiZnN0eXBlIiwJCShnZXR0ZXIpQ29udGV4dF9nZXRfZnN0eXBlLCAoc2V0dGVyKUNvbnRleHRfc2V0X2ZzdHlwZSwgImZzdHlwZSIsIE5VTEx9LAorCXsib3B0aW9ucyIsCQkoZ2V0dGVyKUNvbnRleHRfZ2V0X29wdGlvbnMsIChzZXR0ZXIpQ29udGV4dF9zZXRfb3B0aW9ucywgIm9wdGlvbnMiLCBOVUxMfSwKKwl7Im1mbGFncyIsCQkoZ2V0dGVyKUNvbnRleHRfZ2V0X21mbGFncywgKHNldHRlcilDb250ZXh0X3NldF9tZmxhZ3MsICJtZmxhZ3MiLCBOVUxMfSwKKwl7Im1vdW50ZGF0YSIsCQlOVUxMLCAoc2V0dGVyKUNvbnRleHRfc2V0X21vdW50ZGF0YSwgIm1vdW50ZGF0YSIsIE5VTEx9LAorCXsiZnN0eXBlX3BhdHRlcm4iLAlOVUxMLCAoc2V0dGVyKUNvbnRleHRfc2V0X2ZzdHlwZV9wYXR0ZXJuLCAiZnN0eXBlX3BhdHRlcm4iLCBOVUxMfSwKKwl7Im9wdGlvbnNfcGF0dGVybiIsCU5VTEwsIChzZXR0ZXIpQ29udGV4dF9zZXRfb3B0aW9uc19wYXR0ZXJuLCAib3B0aW9uc19wYXR0ZXJuIiwgTlVMTH0sCisJeyJmcyIsCQkJKGdldHRlcilDb250ZXh0X2dldF9mcywgKHNldHRlcilDb250ZXh0X3NldF9mcywgImZpbGVzeXN0ZW0gZGVzY3JpcHRpb24gKHR5cGUsIG1vdW50cG9pbnQsIGRldmljZSwgLi4uKSIsIE5VTEx9LAorCXsibXRhYiIsCQkoZ2V0dGVyKUNvbnRleHRfZ2V0X210YWIsIE5VTEwsICJtdGFiIGVudHJpZXMiLCBOVUxMfSwKKwl7ImZzdGFiIiwJCShnZXR0ZXIpQ29udGV4dF9nZXRfZnN0YWIsIChzZXR0ZXIpQ29udGV4dF9zZXRfZnN0YWIsICJmc3RhYiAob3IgbXRhYiBmb3Igc29tZSByZW1vdW50cykiLCBOVUxMfSwKKwl7Im9wdHNtb2RlIiwJCShnZXR0ZXIpQ29udGV4dF9nZXRfb3B0c21vZGUsIChzZXR0ZXIpQ29udGV4dF9zZXRfb3B0c21vZGUsICJmc3RhYiBvcHRzdHIgbW9kZSBNTlRfT1BUU01PREVfe0FVVE8sRk9SQ0UsSUdOT1JFfSIsIE5VTEx9LAorCXsic3lzY2FsbF9lcnJubyIsCShnZXR0ZXIpQ29udGV4dF9nZXRfc3lzY2FsbF9lcnJubywgKHNldHRlcilDb250ZXh0X3NldF9zeXNjYWxsX3N0YXR1cywgIjE6IG5vdF9jYWxsZWQgeWV0LCAwOiBzdWNjZXNzLCA8MDogLWVycm5vIiwgTlVMTH0sCisJeyJ1c2VyX21mbGFncyIsCQkoZ2V0dGVyKUNvbnRleHRfZ2V0X3VzZXJfbWZsYWdzLCAoc2V0dGVyKUNvbnRleHRfc2V0X3VzZXJfbWZsYWdzLCAidXNlciBtZmxhZ3MiLCBOVUxMfSwKKwl7TlVMTH0KK307CitzdGF0aWMgUHlNZXRob2REZWYgQ29udGV4dF9tZXRob2RzW10gPSB7CisJeyJmaW5kX3Vtb3VudF9mcyIsCShQeUNGdW5jdGlvbilDb250ZXh0X2ZpbmRfdW1vdW50X2ZzLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgQ29udGV4dF9maW5kX3Vtb3VudF9mc19IRUxQfSwKKwl7InJlc2V0X3N0YXR1cyIsCShQeUNGdW5jdGlvbilDb250ZXh0X3Jlc2V0X3N0YXR1cywgTUVUSF9OT0FSR1MsIENvbnRleHRfcmVzZXRfc3RhdHVzX0hFTFB9LAorCXsiaGVscGVyX2V4ZWN1dGVkIiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfaGVscGVyX2V4ZWN1dGVkLCBNRVRIX05PQVJHUywgQ29udGV4dF9oZWxwZXJfZXhlY3V0ZWRfSEVMUH0sCisJeyJpbml0X2hlbHBlciIsCShQeUNGdW5jdGlvbilDb250ZXh0X2luaXRfaGVscGVyLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgQ29udGV4dF9pbml0X2hlbHBlcl9IRUxQfSwKKwl7ImhlbHBlcl9zZXRvcHQiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9oZWxwZXJfc2V0b3B0LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgQ29udGV4dF9oZWxwZXJfc2V0b3B0X0hFTFB9LAorCXsiYXBwZW5kX29wdGlvbnMiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9hcHBlbmRfb3B0aW9ucywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIENvbnRleHRfYXBwZW5kX29wdGlvbnNfSEVMUH0sCisJeyJhcHBseV9mc3RhYiIsCShQeUNGdW5jdGlvbilDb250ZXh0X2FwcGx5X2ZzdGFiLCBNRVRIX05PQVJHUywgQ29udGV4dF9hcHBseV9mc3RhYl9IRUxQfSwKKwl7ImRpc2FibGVfY2Fub25pY2FsaXplIiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfZGlzYWJsZV9jYW5vbmljYWxpemUsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBDb250ZXh0X2Rpc2FibGVfY2Fub25pY2FsaXplX0hFTFB9LAorCXsiZGlzYWJsZV9oZWxwZXJzIiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfZGlzYWJsZV9oZWxwZXJzLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgQ29udGV4dF9kaXNhYmxlX2hlbHBlcnNfSEVMUH0sCisJeyJkaXNhYmxlX210YWIiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9kaXNhYmxlX210YWIsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBDb250ZXh0X2Rpc2FibGVfbXRhYl9IRUxQfSwKKwl7ImRvX21vdW50IiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfZG9fbW91bnQsIE1FVEhfTk9BUkdTLCBDb250ZXh0X2RvX21vdW50X0hFTFB9LAorCXsiZG9fdW1vdW50IiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfZG9fdW1vdW50LCBNRVRIX05PQVJHUyAsIENvbnRleHRfZG9fdW1vdW50X0hFTFB9LAorCXsiZW5hYmxlX2Zha2UiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9lbmFibGVfZmFrZSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIENvbnRleHRfZW5hYmxlX2Zha2VfSEVMUH0sCisJeyJlbmFibGVfZm9yY2UiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9lbmFibGVfZm9yY2UsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBDb250ZXh0X2VuYWJsZV9mb3JjZV9IRUxQfSwKKwl7ImVuYWJsZV9sYXp5IiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfZW5hYmxlX2xhenksIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBDb250ZXh0X2VuYWJsZV9sYXp5X0hFTFB9LAorCXsiZW5hYmxlX2xvb3BkZWwiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9lbmFibGVfbG9vcGRlbCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIENvbnRleHRfZW5hYmxlX2xvb3BkZWxfSEVMUH0sCisJeyJlbmFibGVfcmRvbmx5X3Vtb3VudCIsCShQeUNGdW5jdGlvbilDb250ZXh0X2VuYWJsZV9yZG9ubHlfdW1vdW50LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgQ29udGV4dF9lbmFibGVfcmRvbmx5X3Vtb3VudF9IRUxQfSwKKwl7ImVuYWJsZV9zbG9wcHkiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9lbmFibGVfc2xvcHB5LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgQ29udGV4dF9lbmFibGVfc2xvcHB5X0hFTFB9LAorCXsiZW5hYmxlX3ZlcmJvc2UiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9lbmFibGVfdmVyYm9zZSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIENvbnRleHRfZW5hYmxlX3ZlcmJvc2VfSEVMUH0sCisJeyJlbmFibGVfZm9yayIsCShQeUNGdW5jdGlvbilDb250ZXh0X2VuYWJsZV9mb3JrLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgQ29udGV4dF9lbmFibGVfZm9ya19IRUxQfSwKKwl7ImZpbmFsaXplX21vdW50IiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfZmluYWxpemVfbW91bnQsIE1FVEhfTk9BUkdTLCBDb250ZXh0X2ZpbmFsaXplX21vdW50X0hFTFB9LAorCXsiZmluYWxpemVfdW1vdW50IiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfZmluYWxpemVfdW1vdW50LCBNRVRIX05PQVJHUywgQ29udGV4dF9maW5hbGl6ZV91bW91bnRfSEVMUH0sCisJeyJpc19mYWtlIiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfaXNfZmFrZSwgTUVUSF9OT0FSR1MsIENvbnRleHRfaXNfZmFrZV9IRUxQfSwKKwl7ImlzX2ZvcmNlIiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfaXNfZm9yY2UsIE1FVEhfTk9BUkdTLCBDb250ZXh0X2lzX2ZvcmNlX0hFTFB9LAorCXsiaXNfZm9yayIsCShQeUNGdW5jdGlvbilDb250ZXh0X2lzX2ZvcmssIE1FVEhfTk9BUkdTLCBDb250ZXh0X2lzX2ZvcmtfSEVMUH0sCisJeyJpc19mc19tb3VudGVkIiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfaXNfZnNfbW91bnRlZCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIENvbnRleHRfaXNfZnNfbW91bnRlZF9IRUxQfSwKKwl7ImlzX2xhenkiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9pc19sYXp5LCBNRVRIX05PQVJHUywgQ29udGV4dF9pc19sYXp5X0hFTFB9LAorCXsiaXNfbm9tdGFiIiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfaXNfbm9tdGFiLCBNRVRIX05PQVJHUywgQ29udGV4dF9pc19ub210YWJfSEVMUH0sCisJeyJpc19yZG9ubHlfdW1vdW50IiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfaXNfcmRvbmx5X3Vtb3VudCwgTUVUSF9OT0FSR1MsIENvbnRleHRfaXNfcmRvbmx5X3Vtb3VudF9IRUxQfSwKKwl7ImlzX3Jlc3RyaWN0ZWQiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9pc19yZXN0cmljdGVkLCBNRVRIX05PQVJHUywgQ29udGV4dF9pc19yZXN0cmljdGVkX0hFTFB9LAorCXsiaXNfc2xvcHB5IiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfaXNfc2xvcHB5LCBNRVRIX05PQVJHUywgQ29udGV4dF9pc19zbG9wcHlfSEVMUH0sCisJeyJpc192ZXJib3NlIiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfaXNfdmVyYm9zZSwgTUVUSF9OT0FSR1MsIENvbnRleHRfaXNfdmVyYm9zZV9IRUxQfSwKKwl7ImlzX2NoaWxkIiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfaXNfY2hpbGQsIE1FVEhfTk9BUkdTLCBDb250ZXh0X2lzX2NoaWxkX0hFTFB9LAorCXsiaXNfcGFyZW50IiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfaXNfcGFyZW50LCBNRVRIX05PQVJHUywgQ29udGV4dF9pc19wYXJlbnRfSEVMUH0sCisJeyJpc19sb29wZGVsIiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfaXNfbG9vcGRlbCwgTUVUSF9OT0FSR1MsIENvbnRleHRfaXNfbG9vcGRlbF9IRUxQfSwKKwl7ImlzX25vY2Fub25pY2FsaXplIiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfaXNfbm9jYW5vbmljYWxpemUsIE1FVEhfTk9BUkdTLCBDb250ZXh0X2lzX25vY2Fub25pY2FsaXplX0hFTFB9LAorCXsiaXNfbm9oZWxwZXJzIiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfaXNfbm9oZWxwZXJzLCBNRVRIX05PQVJHUywgQ29udGV4dF9pc19ub2hlbHBlcnNfSEVMUH0sCisJeyJpc19zd2FwbWF0Y2giLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9pc19zd2FwbWF0Y2gsIE1FVEhfTk9BUkdTLCBDb250ZXh0X2lzX3N3YXBtYXRjaF9IRUxQfSwKKwl7Im1vdW50IiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfbW91bnQsIE1FVEhfTk9BUkdTLCBDb250ZXh0X21vdW50X0hFTFB9LAorCXsicHJlcGFyZV9tb3VudCIsCShQeUNGdW5jdGlvbilDb250ZXh0X3ByZXBhcmVfbW91bnQsIE1FVEhfTk9BUkdTLCBDb250ZXh0X3ByZXBhcmVfbW91bnRfSEVMUH0sCisJeyJwcmVwYXJlX3Vtb3VudCIsCShQeUNGdW5jdGlvbilDb250ZXh0X3ByZXBhcmVfdW1vdW50LCBNRVRIX05PQVJHUywgQ29udGV4dF9wcmVwYXJlX3Vtb3VudF9IRUxQfSwKKwl7InVtb3VudCIsCShQeUNGdW5jdGlvbilDb250ZXh0X3Vtb3VudCwgTUVUSF9OT0FSR1MsIENvbnRleHRfdW1vdW50X0hFTFB9LAorCXsic3lzY2FsbF9jYWxsZWQiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9zeXNjYWxsX2NhbGxlZCwgTUVUSF9OT0FSR1MsIENvbnRleHRfc3lzY2FsbF9jYWxsZWRfSEVMUH0sCisJeyJkaXNhYmxlX3N3YXBtYXRjaCIsCShQeUNGdW5jdGlvbilDb250ZXh0X2Rpc2FibGVfc3dhcG1hdGNoLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgQ29udGV4dF9kaXNhYmxlX3N3YXBtYXRjaF9IRUxQfSwKKwl7InRhYl9hcHBsaWVkIiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfdGFiX2FwcGxpZWQsIE1FVEhfTk9BUkdTLCBDb250ZXh0X3RhYl9hcHBsaWVkX0hFTFB9LAorCXtOVUxMfQorfTsKKworc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X3JlcHIoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlyZXR1cm4gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIjxsaWJtb3VudC5Db250ZXh0IG9iamVjdCBhdCAlcCwgcmVzdHJpY3RlZD0lcz4iLAorCQkJc2VsZiwgbW50X2NvbnRleHRfaXNfcmVzdHJpY3RlZChzZWxmLT5jeHQpID8gIlRydWUiIDogIkZhbHNlIik7Cit9CisKK1B5VHlwZU9iamVjdCBDb250ZXh0VHlwZSA9IHsKKwlQeVZhck9iamVjdF9IRUFEX0lOSVQoTlVMTCwgMCkKKwkibGlibW91bnQuQ29udGV4dCIsIC8qdHBfbmFtZSovCisJc2l6ZW9mKENvbnRleHRPYmpleHQpLCAvKnRwX2Jhc2ljc2l6ZSovCisJMCwgLyp0cF9pdGVtc2l6ZSovCisJKGRlc3RydWN0b3IpQ29udGV4dF9kZWFsbG9jLCAvKnRwX2RlYWxsb2MqLworCTAsIC8qdHBfcHJpbnQqLworCTAsIC8qdHBfZ2V0YXR0ciovCisJMCwgLyp0cF9zZXRhdHRyKi8KKwkwLCAvKnRwX2NvbXBhcmUqLworCShyZXByZnVuYykgQ29udGV4dF9yZXByLAorCTAsIC8qdHBfYXNfbnVtYmVyKi8KKwkwLCAvKnRwX2FzX3NlcXVlbmNlKi8KKwkwLCAvKnRwX2FzX21hcHBpbmcqLworCTAsIC8qdHBfaGFzaCAqLworCTAsIC8qdHBfY2FsbCovCisJMCwgLyp0cF9zdHIqLworCTAsIC8qdHBfZ2V0YXR0cm8qLworCTAsIC8qdHBfc2V0YXR0cm8qLworCTAsIC8qdHBfYXNfYnVmZmVyKi8KKwlQeV9UUEZMQUdTX0RFRkFVTFQgfCBQeV9UUEZMQUdTX0JBU0VUWVBFLCAvKnRwX2ZsYWdzKi8KKwlDb250ZXh0X0hFTFAsIC8qIHRwX2RvYyAqLworCTAsIC8qIHRwX3RyYXZlcnNlICovCisJMCwgLyogdHBfY2xlYXIgKi8KKwkwLCAvKiB0cF9yaWNoY29tcGFyZSAqLworCTAsIC8qIHRwX3dlYWtsaXN0b2Zmc2V0ICovCisJMCwgLyogdHBfaXRlciAqLworCTAsIC8qIHRwX2l0ZXJuZXh0ICovCisJQ29udGV4dF9tZXRob2RzLCAvKiB0cF9tZXRob2RzICovCisJQ29udGV4dF9tZW1iZXJzLCAvKiB0cF9tZW1iZXJzICovCisJQ29udGV4dF9nZXRzZXRlcnMsIC8qIHRwX2dldHNldCAqLworCTAsIC8qIHRwX2Jhc2UgKi8KKwkwLCAvKiB0cF9kaWN0ICovCisJMCwgLyogdHBfZGVzY3JfZ2V0ICovCisJMCwgLyogdHBfZGVzY3Jfc2V0ICovCisJMCwgLyogdHBfZGljdG9mZnNldCAqLworCShpbml0cHJvYylDb250ZXh0X2luaXQsIC8qIHRwX2luaXQgKi8KKwkwLCAvKiB0cF9hbGxvYyAqLworCUNvbnRleHRfbmV3LCAvKiB0cF9uZXcgKi8KK307CisKK3ZvaWQgQ29udGV4dF9BZGRNb2R1bGVPYmplY3QoUHlPYmplY3QgKm1vZCkKK3sKKwlpZiAoUHlUeXBlX1JlYWR5KCZDb250ZXh0VHlwZSkgPCAwKQorCQlyZXR1cm47CisKKwlEQkcoQ1hULCBweW1udF9kZWJ1ZygiYWRkIHRvIG1vZHVsZSIpKTsKKworCVB5X0lOQ1JFRigmQ29udGV4dFR5cGUpOworCVB5TW9kdWxlX0FkZE9iamVjdChtb2QsICJDb250ZXh0IiwgKFB5T2JqZWN0ICopJkNvbnRleHRUeXBlKTsKK30KKworCmRpZmYgLS1naXQgYS9saWJtb3VudC9weXRob24vZnMuYyBiL2xpYm1vdW50L3B5dGhvbi9mcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhMWNlMmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtb3VudC9weXRob24vZnMuYwpAQCAtMCwwICsxLDg1MCBAQAorLyoKKyAqIFB5dGhvbiBiaW5kaW5ncyBmb3IgdGhlIGxpYm1vdW50IGxpYnJhcnkuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDEzLCBSZWQgSGF0LCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBXcml0dGVuIGJ5IE9uZHJlaiBPcHJhbGEgYW5kIEthcmVsIFphaworICoKKyAqIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGZpbGU7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisgKi8KKworLyoKKyAqIFRPRE86CisgKiBtbnRfZnNfbWF0Y2hfe3NvdXJjZSx0YXJnZXR9CisgKiBtbnRfZnNfZ2V0X3thdHRyaWJ1dGUsb3B0aW9ufQorICovCisKKyNpbmNsdWRlICJweWxpYm1vdW50LmgiCisjaW5jbHVkZSA8ZXJybm8uaD4KKworI2RlZmluZSBGc19IRUxQICJGcyhzb3VyY2U9Tm9uZSwgcm9vdD1Ob25lLCB0YXJnZXQ9Tm9uZSwgZnN0eXBlPU5vbmUsIG9wdGlvbnM9Tm9uZSwgYXR0cmlidXRlcz1Ob25lLCBmcmVxPTAsIHBhc3Nubz0wKSIKKworc3RhdGljIFB5TWVtYmVyRGVmIEZzX21lbWJlcnNbXSA9IHsKKwl7TlVMTH0KK307CisKK3N0YXRpYyBQeU9iamVjdCAqRnNfZ2V0X3RhZyhGc09iamVjdCAqc2VsZikKK3sKKwljb25zdCBjaGFyICp0YWcgPSBOVUxMLCAqdmFsID0gTlVMTDsKKwlQeU9iamVjdCAqcmVzdWx0OworCisJaWYgKG1udF9mc19nZXRfdGFnKHNlbGYtPmZzLCAmdGFnLCAmdmFsKSAhPSAwKQorCQlyZXR1cm4gTlVMTDsKKworCXJlc3VsdCA9IFB5X0J1aWxkVmFsdWUoIihzcykiLCB0YWcsIHZhbCk7CisJaWYgKCFyZXN1bHQpCisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsIENPTlNUUlVDVF9FUlIpOworCXJldHVybiByZXN1bHQ7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqRnNfZ2V0X2lkKEZzT2JqZWN0ICpzZWxmKQoreworCXJldHVybiBQeU9iamVjdFJlc3VsdEludChtbnRfZnNfZ2V0X2lkKHNlbGYtPmZzKSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqRnNfZ2V0X3BhcmVudF9pZChGc09iamVjdCAqc2VsZikKK3sKKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRJbnQobW50X2ZzX2dldF9wYXJlbnRfaWQoc2VsZi0+ZnMpKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICpGc19nZXRfZGV2bm8oRnNPYmplY3QgKnNlbGYpCit7CisJcmV0dXJuIFB5T2JqZWN0UmVzdWx0SW50KG1udF9mc19nZXRfZGV2bm8oc2VsZi0+ZnMpKTsKK30KKworI2RlZmluZSBGc19wcmludF9kZWJ1Z19IRUxQICJwcmludF9kZWJ1ZygpXG5cbiIKK3N0YXRpYyBQeU9iamVjdCAqRnNfcHJpbnRfZGVidWcoRnNPYmplY3QgKnNlbGYpCit7CisJUHlTeXNfV3JpdGVTdGRvdXQoIi0tLS0tLSBmczogJXBcbiIsIHNlbGYtPmZzKTsKKwlQeVN5c19Xcml0ZVN0ZG91dCgic291cmNlOiAlc1xuIiwgbW50X2ZzX2dldF9zb3VyY2Uoc2VsZi0+ZnMpKTsKKwlQeVN5c19Xcml0ZVN0ZG91dCgidGFyZ2V0OiAlc1xuIiwgbW50X2ZzX2dldF90YXJnZXQoc2VsZi0+ZnMpKTsKKwlQeVN5c19Xcml0ZVN0ZG91dCgiZnN0eXBlOiAlc1xuIiwgbW50X2ZzX2dldF9mc3R5cGUoc2VsZi0+ZnMpKTsKKworCWlmIChtbnRfZnNfZ2V0X29wdGlvbnMoc2VsZi0+ZnMpKQorCQlQeVN5c19Xcml0ZVN0ZG91dCgib3B0c3RyOiAlc1xuIiwgbW50X2ZzX2dldF9vcHRpb25zKHNlbGYtPmZzKSk7CisJaWYgKG1udF9mc19nZXRfdmZzX29wdGlvbnMoc2VsZi0+ZnMpKQorCQlQeVN5c19Xcml0ZVN0ZG91dCgiVkZTLW9wdHN0cjogJXNcbiIsIG1udF9mc19nZXRfdmZzX29wdGlvbnMoc2VsZi0+ZnMpKTsKKwlpZiAobW50X2ZzX2dldF9mc19vcHRpb25zKHNlbGYtPmZzKSkKKwkJUHlTeXNfV3JpdGVTdGRvdXQoIkZTLW9wc3RyOiAlc1xuIiwgbW50X2ZzX2dldF9mc19vcHRpb25zKHNlbGYtPmZzKSk7CisJaWYgKG1udF9mc19nZXRfdXNlcl9vcHRpb25zKHNlbGYtPmZzKSkKKwkJUHlTeXNfV3JpdGVTdGRvdXQoInVzZXItb3B0c3RyOiAlc1xuIiwgbW50X2ZzX2dldF91c2VyX29wdGlvbnMoc2VsZi0+ZnMpKTsKKwlpZiAobW50X2ZzX2dldF9vcHRpb25hbF9maWVsZHMoc2VsZi0+ZnMpKQorCQlQeVN5c19Xcml0ZVN0ZG91dCgib3B0aW9uYWwtZmllbGRzOiAnJXMnXG4iLCBtbnRfZnNfZ2V0X29wdGlvbmFsX2ZpZWxkcyhzZWxmLT5mcykpOworCWlmIChtbnRfZnNfZ2V0X2F0dHJpYnV0ZXMoc2VsZi0+ZnMpKQorCQlQeVN5c19Xcml0ZVN0ZG91dCgiYXR0cmlidXRlczogJXNcbiIsIG1udF9mc19nZXRfYXR0cmlidXRlcyhzZWxmLT5mcykpOworCisJaWYgKG1udF9mc19nZXRfcm9vdChzZWxmLT5mcykpCisJCVB5U3lzX1dyaXRlU3Rkb3V0KCJyb290OiAgICVzXG4iLCBtbnRfZnNfZ2V0X3Jvb3Qoc2VsZi0+ZnMpKTsKKworCWlmIChtbnRfZnNfZ2V0X3N3YXB0eXBlKHNlbGYtPmZzKSkKKwkJUHlTeXNfV3JpdGVTdGRvdXQoInN3YXB0eXBlOiAlc1xuIiwgbW50X2ZzX2dldF9zd2FwdHlwZShzZWxmLT5mcykpOworCWlmIChtbnRfZnNfZ2V0X3NpemUoc2VsZi0+ZnMpKQorCQlQeVN5c19Xcml0ZVN0ZG91dCgic2l6ZTogJWpkXG4iLCBtbnRfZnNfZ2V0X3NpemUoc2VsZi0+ZnMpKTsKKwlpZiAobW50X2ZzX2dldF91c2Vkc2l6ZShzZWxmLT5mcykpCisJCVB5U3lzX1dyaXRlU3Rkb3V0KCJ1c2Vkc2l6ZTogJWpkXG4iLCBtbnRfZnNfZ2V0X3VzZWRzaXplKHNlbGYtPmZzKSk7CisJaWYgKG1udF9mc19nZXRfcHJpb3JpdHkoc2VsZi0+ZnMpKQorCQlQeVN5c19Xcml0ZVN0ZG91dCgicHJpb3JpdHk6ICVkXG4iLCBtbnRfZnNfZ2V0X3ByaW9yaXR5KHNlbGYtPmZzKSk7CisKKwlpZiAobW50X2ZzX2dldF9iaW5kc3JjKHNlbGYtPmZzKSkKKwkJUHlTeXNfV3JpdGVTdGRvdXQoImJpbmRzcmM6ICVzXG4iLCBtbnRfZnNfZ2V0X2JpbmRzcmMoc2VsZi0+ZnMpKTsKKwlpZiAobW50X2ZzX2dldF9mcmVxKHNlbGYtPmZzKSkKKwkJUHlTeXNfV3JpdGVTdGRvdXQoImZyZXE6ICAgJWRcbiIsIG1udF9mc19nZXRfZnJlcShzZWxmLT5mcykpOworCWlmIChtbnRfZnNfZ2V0X3Bhc3NubyhzZWxmLT5mcykpCisJCVB5U3lzX1dyaXRlU3Rkb3V0KCJwYXNzOiAgICVkXG4iLCBtbnRfZnNfZ2V0X3Bhc3NubyhzZWxmLT5mcykpOworCWlmIChtbnRfZnNfZ2V0X2lkKHNlbGYtPmZzKSkKKwkJUHlTeXNfV3JpdGVTdGRvdXQoImlkOiAgICAgJWRcbiIsIG1udF9mc19nZXRfaWQoc2VsZi0+ZnMpKTsKKwlpZiAobW50X2ZzX2dldF9wYXJlbnRfaWQoc2VsZi0+ZnMpKQorCQlQeVN5c19Xcml0ZVN0ZG91dCgicGFyZW50OiAlZFxuIiwgbW50X2ZzX2dldF9wYXJlbnRfaWQoc2VsZi0+ZnMpKTsKKwlpZiAobW50X2ZzX2dldF9kZXZubyhzZWxmLT5mcykpCisJCVB5U3lzX1dyaXRlU3Rkb3V0KCJkZXZubzogICVkOiVkXG4iLCBtYWpvcihtbnRfZnNfZ2V0X2Rldm5vKHNlbGYtPmZzKSksCisJCQkJCQltaW5vcihtbnRfZnNfZ2V0X2Rldm5vKHNlbGYtPmZzKSkpOworCWlmIChtbnRfZnNfZ2V0X3RpZChzZWxmLT5mcykpCisJCVB5U3lzX1dyaXRlU3Rkb3V0KCJ0aWQ6ICAgICVkXG4iLCBtbnRfZnNfZ2V0X3RpZChzZWxmLT5mcykpOworCWlmIChtbnRfZnNfZ2V0X2NvbW1lbnQoc2VsZi0+ZnMpKQorCQlQeVN5c19Xcml0ZVN0ZG91dCgiY29tbWVudDogJyVzJ1xuIiwgbW50X2ZzX2dldF9jb21tZW50KHNlbGYtPmZzKSk7CisJcmV0dXJuIFVMX0luY1JlZihzZWxmKTsKK30KKy8qCisgKiogRnMgZ2V0dGVycy9zZXR0ZXJzCisgKi8KKworc3RhdGljIFB5T2JqZWN0ICpGc19nZXRfY29tbWVudChGc09iamVjdCAqc2VsZiwgdm9pZCAqY2xvc3VyZSBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRTdHIobW50X2ZzX2dldF9jb21tZW50KHNlbGYtPmZzKSk7Cit9CisKK3N0YXRpYyBpbnQgRnNfc2V0X2NvbW1lbnQoRnNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2YWx1ZSwgdm9pZCAqY2xvc3VyZSBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwljaGFyICpjb21tZW50ID0gTlVMTDsKKwlpbnQgcmMgPSAwOworCisJaWYgKCF2YWx1ZSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBOT0RFTF9BVFRSKTsKKwkJcmV0dXJuIC0xOworCX0KKwlpZiAoIShjb21tZW50ID0gcHlzdG9zKHZhbHVlKSkpCisJCXJldHVybiAtMTsKKworCXJjID0gbW50X2ZzX3NldF9jb21tZW50KHNlbGYtPmZzLCBjb21tZW50KTsKKwlpZiAocmMpIHsKKwkJVUxfUmFpc2VFeGMoLXJjKTsKKwkJcmV0dXJuIC0xOworCX0KKwlyZXR1cm4gMDsKK30KKy8qIHNvdXJjZSAqLworc3RhdGljIFB5T2JqZWN0ICpGc19nZXRfc291cmNlKEZzT2JqZWN0ICpzZWxmKQoreworCXJldHVybiBQeU9iamVjdFJlc3VsdFN0cihtbnRfZnNfZ2V0X3NvdXJjZShzZWxmLT5mcykpOworfQorCitzdGF0aWMgaW50IEZzX3NldF9zb3VyY2UoRnNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2YWx1ZSwgdm9pZCAqY2xvc3VyZSBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwljaGFyICpzb3VyY2UgPSBOVUxMOworCWludCByYyA9IDA7CisKKwlpZiAoIXZhbHVlKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIE5PREVMX0FUVFIpOworCQlyZXR1cm4gLTE7CisJfQorCWlmICghKHNvdXJjZSA9IHB5c3Rvcyh2YWx1ZSkpKQorCQlyZXR1cm4gLTE7CisKKwlyYyA9IG1udF9mc19zZXRfc291cmNlKHNlbGYtPmZzLCBzb3VyY2UpOworCWlmIChyYykgeworCQlVTF9SYWlzZUV4YygtcmMpOworCQlyZXR1cm4gLTE7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgUHlPYmplY3QgKkZzX2dldF9zcmNwYXRoKEZzT2JqZWN0ICpzZWxmKQoreworCXJldHVybiBQeU9iamVjdFJlc3VsdFN0cihtbnRfZnNfZ2V0X3NyY3BhdGgoc2VsZi0+ZnMpKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICpGc19nZXRfcm9vdChGc09iamVjdCAqc2VsZikKK3sKKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRTdHIobW50X2ZzX2dldF9yb290KHNlbGYtPmZzKSk7Cit9CisKK3N0YXRpYyBpbnQgRnNfc2V0X3Jvb3QoRnNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2YWx1ZSwgdm9pZCAqY2xvc3VyZSBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwljaGFyICpyb290ID0gTlVMTDsKKwlpbnQgcmMgPSAwOworCisJaWYgKCF2YWx1ZSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBOT0RFTF9BVFRSKTsKKwkJcmV0dXJuIC0xOworCX0KKwlpZiAoIShyb290ID0gcHlzdG9zKHZhbHVlKSkpCisJCXJldHVybiAtMTsKKworCXJjID0gbW50X2ZzX3NldF9yb290KHNlbGYtPmZzLCByb290KTsKKwlpZiAocmMpIHsKKwkJVUxfUmFpc2VFeGMoLXJjKTsKKwkJcmV0dXJuIC0xOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIFB5T2JqZWN0ICpGc19nZXRfdGFyZ2V0KEZzT2JqZWN0ICpzZWxmKQoreworCXJldHVybiBQeU9iamVjdFJlc3VsdFN0cihtbnRfZnNfZ2V0X3RhcmdldChzZWxmLT5mcykpOworfQorCitzdGF0aWMgaW50IEZzX3NldF90YXJnZXQoRnNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2YWx1ZSwgdm9pZCAqY2xvc3VyZSBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwljaGFyICp0YXJnZXQgPSBOVUxMOworCWludCByYyA9IDA7CisKKwlpZiAoIXZhbHVlKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIE5PREVMX0FUVFIpOworCQlyZXR1cm4gLTE7CisJfQorCWlmICghKHRhcmdldCA9IHB5c3Rvcyh2YWx1ZSkpKQorCQlyZXR1cm4gLTE7CisKKwlyYyA9IG1udF9mc19zZXRfdGFyZ2V0KHNlbGYtPmZzLCB0YXJnZXQpOworCWlmIChyYykgeworCQlVTF9SYWlzZUV4YygtcmMpOworCQlyZXR1cm4gLTE7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgUHlPYmplY3QgKkZzX2dldF9mc3R5cGUoRnNPYmplY3QgKnNlbGYpCit7CisJcmV0dXJuIFB5T2JqZWN0UmVzdWx0U3RyKG1udF9mc19nZXRfZnN0eXBlKHNlbGYtPmZzKSk7Cit9CisKK3N0YXRpYyBpbnQgRnNfc2V0X2ZzdHlwZShGc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKnZhbHVlLAorCQkJdm9pZCAqY2xvc3VyZSBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwljaGFyICpmc3R5cGUgPSBOVUxMOworCWludCByYyA9IDA7CisKKwlpZiAoIXZhbHVlKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIE5PREVMX0FUVFIpOworCQlyZXR1cm4gLTE7CisJfQorCWlmICghKGZzdHlwZSA9IHB5c3Rvcyh2YWx1ZSkpKQorCQlyZXR1cm4gLTE7CisKKwlyYyA9IG1udF9mc19zZXRfZnN0eXBlKHNlbGYtPmZzLCBmc3R5cGUpOworCWlmIChyYykgeworCQlVTF9SYWlzZUV4YygtcmMpOworCQlyZXR1cm4gLTE7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgUHlPYmplY3QgKkZzX2dldF9vcHRpb25zKEZzT2JqZWN0ICpzZWxmKQoreworCXJldHVybiBQeU9iamVjdFJlc3VsdFN0cihtbnRfZnNfZ2V0X29wdGlvbnMoc2VsZi0+ZnMpKTsKK30KKworc3RhdGljIGludCBGc19zZXRfb3B0aW9ucyhGc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKnZhbHVlLAorCQkJdm9pZCAqY2xvc3VyZSBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwljaGFyICpvcHRpb25zID0gTlVMTDsKKwlpbnQgcmMgPSAwOworCisJaWYgKCF2YWx1ZSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBOT0RFTF9BVFRSKTsKKwkJcmV0dXJuIC0xOworCX0KKwlpZiAoIShvcHRpb25zID0gcHlzdG9zKHZhbHVlKSkpCisJCXJldHVybiAtMTsKKworCXJjID0gbW50X2ZzX3NldF9vcHRpb25zKHNlbGYtPmZzLCBvcHRpb25zKTsKKwlpZiAocmMpIHsKKwkJVUxfUmFpc2VFeGMoLXJjKTsKKwkJcmV0dXJuIC0xOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIFB5T2JqZWN0ICpGc19nZXRfdmZzX29wdGlvbnMoRnNPYmplY3QgKnNlbGYpCit7CisJcmV0dXJuIFB5T2JqZWN0UmVzdWx0U3RyKG1udF9mc19nZXRfdmZzX29wdGlvbnMoc2VsZi0+ZnMpKTsKK30KKworCitzdGF0aWMgUHlPYmplY3QgKkZzX2dldF9vcHRpb25hbF9maWVsZHMoRnNPYmplY3QgKnNlbGYpCit7CisJcmV0dXJuIFB5T2JqZWN0UmVzdWx0U3RyKG1udF9mc19nZXRfb3B0aW9uYWxfZmllbGRzKHNlbGYtPmZzKSk7Cit9CisKKworc3RhdGljIFB5T2JqZWN0ICpGc19nZXRfZnNfb3B0aW9ucyhGc09iamVjdCAqc2VsZikKK3sKKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRTdHIobW50X2ZzX2dldF9mc19vcHRpb25zKHNlbGYtPmZzKSk7Cit9CisKKworc3RhdGljIFB5T2JqZWN0ICpGc19nZXRfdXNlcl9vcHRpb25zKEZzT2JqZWN0ICpzZWxmKQoreworCXJldHVybiBQeU9iamVjdFJlc3VsdFN0cihtbnRfZnNfZ2V0X3VzZXJfb3B0aW9ucyhzZWxmLT5mcykpOworfQorCisKK3N0YXRpYyBQeU9iamVjdCAqRnNfZ2V0X2F0dHJpYnV0ZXMoRnNPYmplY3QgKnNlbGYpCit7CisJcmV0dXJuIFB5T2JqZWN0UmVzdWx0U3RyKG1udF9mc19nZXRfYXR0cmlidXRlcyhzZWxmLT5mcykpOworfQorCitzdGF0aWMgaW50IEZzX3NldF9hdHRyaWJ1dGVzKEZzT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdmFsdWUsCisJCQl2b2lkICpjbG9zdXJlIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCWNoYXIgKmF0dHJpYnV0ZXMgPSBOVUxMOworCWludCByYyA9IDA7CisKKwlpZiAoIXZhbHVlKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIE5PREVMX0FUVFIpOworCQlyZXR1cm4gLTE7CisJfQorCWlmICghKGF0dHJpYnV0ZXMgPSBweXN0b3ModmFsdWUpKSkKKwkJcmV0dXJuIC0xOworCisJcmMgPSBtbnRfZnNfc2V0X2F0dHJpYnV0ZXMoc2VsZi0+ZnMsIGF0dHJpYnV0ZXMpOworCWlmIChyYykgeworCQlVTF9SYWlzZUV4YygtcmMpOworCQlyZXR1cm4gLTE7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgUHlPYmplY3QgKkZzX2dldF9mcmVxKEZzT2JqZWN0ICpzZWxmLCB2b2lkICpjbG9zdXJlIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCXJldHVybiBQeU9iamVjdFJlc3VsdEludChtbnRfZnNfZ2V0X2ZyZXEoc2VsZi0+ZnMpKTsKK30KKworc3RhdGljIGludCBGc19zZXRfZnJlcShGc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKnZhbHVlLAorCQkJCXZvaWQgKmNsb3N1cmUgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCit7CisJaW50IGZyZXEgPSAwOworCisJaWYgKCF2YWx1ZSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBOT0RFTF9BVFRSKTsKKwkJcmV0dXJuIC0xOworCisJfSBlbHNlIGlmICghUHlMb25nX0NoZWNrKHZhbHVlKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIC0xOworCX0KKworCWZyZXEgPSBQeUxvbmdfQXNMb25nKHZhbHVlKTsKKwlpZiAoZnJlcSA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsICJ0eXBlIGNvbnZlcnNpb24gZmFpbGVkIik7CisJCXJldHVybiAtMTsKKwl9CisJcmV0dXJuIG1udF9mc19zZXRfZnJlcShzZWxmLT5mcywgZnJlcSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqRnNfZ2V0X3Bhc3NubyhGc09iamVjdCAqc2VsZikKK3sKKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRJbnQobW50X2ZzX2dldF9wYXNzbm8oc2VsZi0+ZnMpKTsKK30KKworc3RhdGljIGludCBGc19zZXRfcGFzc25vKEZzT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdmFsdWUsIHZvaWQgKmNsb3N1cmUgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCit7CisJaW50IHBhc3NubyA9IDA7CisKKwlpZiAoIXZhbHVlKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIE5PREVMX0FUVFIpOworCQlyZXR1cm4gLTE7CisJfSBlbHNlIGlmICghUHlMb25nX0NoZWNrKHZhbHVlKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIC0xOworCX0KKworCXBhc3NubyA9IFB5TG9uZ19Bc0xvbmcodmFsdWUpOworCWlmIChwYXNzbm8gPT0gLTEgJiYgUHlFcnJfT2NjdXJyZWQoKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLCAidHlwZSBjb252ZXJzaW9uIGZhaWxlZCIpOworCQlyZXR1cm4gLTE7CisJfQorCXJldHVybiBtbnRfZnNfc2V0X3Bhc3NubyhzZWxmLT5mcywgcGFzc25vKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICpGc19nZXRfc3dhcHR5cGUoRnNPYmplY3QgKnNlbGYpCit7CisJcmV0dXJuIFB5T2JqZWN0UmVzdWx0U3RyKG1udF9mc19nZXRfc3dhcHR5cGUoc2VsZi0+ZnMpKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICpGc19nZXRfc2l6ZShGc09iamVjdCAqc2VsZikKK3sKKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRJbnQobW50X2ZzX2dldF9zaXplKHNlbGYtPmZzKSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqRnNfZ2V0X3VzZWRzaXplKEZzT2JqZWN0ICpzZWxmKQoreworCXJldHVybiBQeU9iamVjdFJlc3VsdEludChtbnRfZnNfZ2V0X3VzZWRzaXplKHNlbGYtPmZzKSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqRnNfZ2V0X3ByaW9yaXR5KEZzT2JqZWN0ICpzZWxmKQoreworCXJldHVybiBQeU9iamVjdFJlc3VsdEludChtbnRfZnNfZ2V0X3ByaW9yaXR5KHNlbGYtPmZzKSk7Cit9CisKKyNkZWZpbmUgRnNfZ2V0X3Byb3BhZ2F0aW9uX0hFTFAgImdldF9wcm9wYWdhdGlvbihmbGFncylcblxuXAorTm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gc2V0IGZsYWdzIHRvIHplcm8gaWYgbm90IGZvdW5kIGFueSBwcm9wYWdhdGlvbiBmbGFnXG5cCitpbiBtb3VudGluZm8gZmlsZS4gVGhlIGtlcm5lbCBkZWZhdWx0IGlzIE1TX1BSSVZBVEUsIHRoaXMgZmxhZyBpcyBub3Qgc3RvcmVkXG5cCitpbiB0aGUgbW91bnRpbmZvIGZpbGUuXG5cCitcblwKK1JldHVybnMgc2VsZiBvciByYWlzZXMgYW4gZXhjZXB0aW9uIGluIGNhc2Ugb2YgYW4gZXJyb3IuIgorc3RhdGljIFB5T2JqZWN0ICpGc19nZXRfcHJvcGFnYXRpb24oRnNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWNoYXIgKmt3bGlzdFtdID0geyJmbGFncyIsIE5VTEx9OworCisJaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgImsiLCBrd2xpc3QsICZmbGFncykpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRJbnQobW50X2ZzX2dldF9wcm9wYWdhdGlvbihzZWxmLT5mcywgJmZsYWdzKSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqRnNfZ2V0X3RpZChGc09iamVjdCAqc2VsZikKK3sKKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRJbnQobW50X2ZzX2dldF90aWQoc2VsZi0+ZnMpKTsKK30KKworI2RlZmluZSBGc19pc19rZXJuZWxfSEVMUCAiaXNfa2VybmVsKClcblxuUmV0dXJucyAxIGlmIHRoZSBmaWxlc3lzdGVtICIgXAorCQkJICAiZGVzY3JpcHRpb24gaXMgcmVhZCBmcm9tIGtlcm5lbCBlLmcuIC9wcm9jL21vdW50cy4iCitzdGF0aWMgUHlPYmplY3QgKkZzX2lzX2tlcm5lbChGc09iamVjdCAqc2VsZikKK3sKKwlyZXR1cm4gUHlCb29sX0Zyb21Mb25nKG1udF9mc19pc19rZXJuZWwoc2VsZi0+ZnMpKTsKK30KKworI2RlZmluZSBGc19pc19uZXRmc19IRUxQICJpc19uZXRmcygpXG5cblJldHVybnMgMSBpZiB0aGUgZmlsZXN5c3RlbSBpcyAiIFwKKwkJCSAiYSBuZXR3b3JrIGZpbGVzeXN0ZW0iCitzdGF0aWMgUHlPYmplY3QgKkZzX2lzX25ldGZzKEZzT2JqZWN0ICpzZWxmKQoreworCXJldHVybiBQeUJvb2xfRnJvbUxvbmcobW50X2ZzX2lzX25ldGZzKHNlbGYtPmZzKSk7Cit9CisKKyNkZWZpbmUgRnNfaXNfcHNldWRvZnNfSEVMUCAiaXNfcHNldWRvZnMoKVxuXG5SZXR1cm5zIDEgaWYgdGhlIGZpbGVzeXN0ZW0gaXMgIlwKKwkJCSAgICAiYSBwc2V1ZG8gZnMgdHlwZSAocHJvYywgY2dyb3VwcykiCitzdGF0aWMgUHlPYmplY3QgKkZzX2lzX3BzZXVkb2ZzKEZzT2JqZWN0ICpzZWxmKQoreworCXJldHVybiBQeUJvb2xfRnJvbUxvbmcobW50X2ZzX2lzX3BzZXVkb2ZzKHNlbGYtPmZzKSk7Cit9CisKKyNkZWZpbmUgRnNfaXNfc3dhcGFyZWFfSEVMUCAiaXNfc3dhcGFyZWEoKVxuXG5SZXR1cm5zIDEgaWYgdGhlIGZpbGVzeXN0ZW0gIiBcCisJCQkgICAgInVzZXMgXCJzd2FwXCIgYXMgYSB0eXBlIgorc3RhdGljIFB5T2JqZWN0ICpGc19pc19zd2FwYXJlYShGc09iamVjdCAqc2VsZikKK3sKKwlyZXR1cm4gUHlCb29sX0Zyb21Mb25nKG1udF9mc19pc19zd2FwYXJlYShzZWxmLT5mcykpOworfQorCisjZGVmaW5lIEZzX2FwcGVuZF9hdHRyaWJ1dGVzX0hFTFAgImFwcGVuZF9hdHRyaWJ1dGVzKG9wdHN0cilcblxuIiBcCisJCQkJICAiQXBwZW5kcyBtb3VudCBhdHRyaWJ1dGVzLiIKK3N0YXRpYyBQeU9iamVjdCAqRnNfYXBwZW5kX2F0dHJpYnV0ZXMoRnNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwljaGFyICprd2xpc3RbXSA9IHsib3B0c3RyIiwgTlVMTH07CisJY2hhciAqb3B0c3RyID0gTlVMTDsKKwlpbnQgcmM7CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAicyIsIGt3bGlzdCwgJm9wdHN0cikpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyYyA9IG1udF9mc19hcHBlbmRfYXR0cmlidXRlcyhzZWxmLT5mcywgb3B0c3RyKTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YygtcmMpIDogVUxfSW5jUmVmKHNlbGYpOworfQorCisjZGVmaW5lIEZzX2FwcGVuZF9vcHRpb25zX0hFTFAgImFwcGVuZF9vcHRpb25zKG9wdHN0cilcblxuIiBcCisJCQkiUGFyc2VzIChzcGxpdHMpIG9wdHN0ciBhbmQgYXBwZW5kcyByZXN1bHRzIHRvIFZGUywgIiBcCisJCQkiRlMgYW5kIHVzZXJzcGFjZSBsaXN0cyBvZiBvcHRpb25zLiIKK3N0YXRpYyBQeU9iamVjdCAqRnNfYXBwZW5kX29wdGlvbnMoRnNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwljaGFyICprd2xpc3RbXSA9IHsib3B0c3RyIiwgTlVMTH07CisJY2hhciAqb3B0c3RyID0gTlVMTDsKKwlpbnQgcmM7CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAicyIsIGt3bGlzdCwgJm9wdHN0cikpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyYyA9IG1udF9mc19hcHBlbmRfb3B0aW9ucyhzZWxmLT5mcywgb3B0c3RyKTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YygtcmMpIDogVUxfSW5jUmVmKHNlbGYpOworfQorCisjZGVmaW5lIEZzX3ByZXBlbmRfYXR0cmlidXRlc19IRUxQICJwcmVwZW5kX2F0dHJpYnV0ZXMob3B0c3RyKVxuXG4iIFwKKwkJCQkgICAiUHJlcGVuZHMgbW91bnQgYXR0cmlidXRlcy4iCitzdGF0aWMgUHlPYmplY3QgKkZzX3ByZXBlbmRfYXR0cmlidXRlcyhGc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWNoYXIgKmt3bGlzdFtdID0geyJvcHRzdHIiLCBOVUxMfTsKKwljaGFyICpvcHRzdHIgPSBOVUxMOworCWludCByYzsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJzIiwga3dsaXN0LCAmb3B0c3RyKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJjID0gbW50X2ZzX3ByZXBlbmRfYXR0cmlidXRlcyhzZWxmLT5mcywgb3B0c3RyKTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YygtcmMpIDogVUxfSW5jUmVmKHNlbGYpOworfQorCisjZGVmaW5lIEZzX3ByZXBlbmRfb3B0aW9uc19IRUxQICJwcmVwZW5kX29wdGlvbnMob3B0c3RyKVxuXG4iIFwKKwkJCSJQYXJzZXMgKHNwbGl0cykgb3B0c3RyIGFuZCBwcmVwZW5kcyByZXN1bHRzIHRvIFZGUywgIiBcCisJCQkiRlMgYW5kIHVzZXJzcGFjZSBsaXN0cyBvZiBvcHRpb25zLiIKK3N0YXRpYyBQeU9iamVjdCAqRnNfcHJlcGVuZF9vcHRpb25zKEZzT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJY2hhciAqa3dsaXN0W10gPSB7Im9wdHN0ciIsIE5VTEx9OworCWNoYXIgKm9wdHN0ciA9IE5VTEw7CisJaW50IHJjOworCisJaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInMiLCBrd2xpc3QsICZvcHRzdHIpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmMgPSBtbnRfZnNfcHJlcGVuZF9vcHRpb25zKHNlbGYtPmZzLCBvcHRzdHIpOworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKC1yYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgRnNfbWF0Y2hfZnN0eXBlX0hFTFAgIm1hdGNoX2ZzdHlwZShwYXR0ZXJuKVxuXG4iIFwKKwkJInBhdHRlcm46IGZpbGVzeXN0ZW0gbmFtZSBvciBjb21tYSBkZWxpbWl0ZWQgbGlzdChzdHJpbmcpIG9mIG5hbWVzXG5cbiIgXAorCQkiVGhlIHBhdHRlcm4gbGlzdCBvZiBmaWxlc3lzdGVtIGNhbiBiZSBwcmVmaXhlZCB3aXRoIGEgZ2xvYmFsXG4iIFwKKwkJIlwibm9cIiBwcmVmaXggdG8gaW52ZXJ0IG1hdGNoaW5nIG9mIHRoZSB3aG9sZSBsaXN0LiBUaGUgXCJub1wiIGNvdWxkXG4iIFwKKwkJImFsc28gYmUgdXNlZCBmb3IgaW5kaXZpZHVhbCBpdGVtcyBpbiB0aGUgcGF0dGVybiBsaXN0LiBTbyxcbiIgXAorCQkiXCJub2ZvbyxiYXJcIiBoYXMgdGhlIHNhbWUgbWVhbmluZyBhcyBcIm5vZm9vLG5vYmFyXCIuXG4iIFwKKwkJIlwiYmFyXCIgOiBcIm5vZm9vLGJhclwiCS0+IEZhbHNlICAgKGdsb2JhbCBcIm5vXCIgcHJlZml4KVxuIiBcCisJCSJcImJhclwiIDogXCJmb28sYmFyXCIJCS0+IFRydWVcbiIgXAorCQkiXCJiYXJcIiA6IFwiZm9vLG5vYmFyXCIJLT4gRmFsc2VcblxuIiBcCisJCSJSZXR1cm5zIFRydWUgaWYgdHlwZSBpcyBtYXRjaGluZywgZWxzZSBGYWxzZS4iCitzdGF0aWMgUHlPYmplY3QgKkZzX21hdGNoX2ZzdHlwZShGc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWNoYXIgKmt3bGlzdFtdID0geyJwYXR0ZXJuIiwgTlVMTH07CisJY2hhciAqcGF0dGVybiA9IE5VTEw7CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAicyIsIGt3bGlzdCwgJnBhdHRlcm4pKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhtbnRfZnNfbWF0Y2hfZnN0eXBlKHNlbGYtPmZzLCBwYXR0ZXJuKSk7Cit9CisKKyNkZWZpbmUgRnNfbWF0Y2hfb3B0aW9uc19IRUxQICJtYXRjaF9vcHRpb25zKG9wdGlvbnMpXG5cbiIgXAorCQkib3B0aW9uczogY29tbWEgZGVsaW1pdGVkIGxpc3Qgb2Ygb3B0aW9ucyAoYW5kIG5vb3B0aW9ucylcbiIgXAorCQkiUmV0dXJucyBUcnVlIGlmIGZzIHR5cGUgaXMgbWF0Y2hpbmcgdG8gb3B0aW9ucyBlbHNlIEZhbHNlLiIKK3N0YXRpYyBQeU9iamVjdCAqRnNfbWF0Y2hfb3B0aW9ucyhGc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWNoYXIgKmt3bGlzdFtdID0geyJvcHRpb25zIiwgTlVMTH07CisJY2hhciAqb3B0aW9ucyA9IE5VTEw7CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAicyIsIGt3bGlzdCwgJm9wdGlvbnMpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhtbnRfZnNfbWF0Y2hfb3B0aW9ucyhzZWxmLT5mcywgb3B0aW9ucykpOworfQorCisjZGVmaW5lIEZzX3N0cmVxX3NyY3BhdGhfSEVMUCAic3RyZXFfc3JjcGF0aChzcmNwYXRoKVxuXG4iIFwKKwkJIkNvbXBhcmVzIGZzIHNvdXJjZSBwYXRoIHdpdGggcGF0aC4gVGhlIHRhaWxpbmcgc2xhc2ggaXMgaWdub3JlZC5cbiIgXAorCQkiUmV0dXJucyBUcnVlIGlmIGZzIHNvdXJjZSBwYXRoIGVxdWFsIHRvIHBhdGgsIG90aGVyd2lzZSBGYWxzZS4iCitzdGF0aWMgUHlPYmplY3QgKkZzX3N0cmVxX3NyY3BhdGgoRnNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwljaGFyICprd2xpc3RbXSA9IHsic3JjcGF0aCIsIE5VTEx9OworCWNoYXIgKnNyY3BhdGggPSBOVUxMOworCisJaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInMiLCBrd2xpc3QsICZzcmNwYXRoKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJldHVybiBQeUJvb2xfRnJvbUxvbmcobW50X2ZzX3N0cmVxX3NyY3BhdGgoc2VsZi0+ZnMsIHNyY3BhdGgpKTsKK30KKworI2RlZmluZSBGc19zdHJlcV90YXJnZXRfSEVMUCAic3RyZXFfdGFyZ2V0KHRhcmdldClcblxuIiBcCisJCSJDb21wYXJlcyBmcyB0YXJnZXQgcGF0aCB3aXRoIHBhdGguIFRoZSB0YWlsaW5nIHNsYXNoIGlzIGlnbm9yZWQuXG4iIFwKKwkJIlNlZSBhbHNvIEZzLm1hdGNoX3RhcmdldCgpLlxuIiBcCisJCSJSZXR1cm5zIFRydWUgaWYgZnMgdGFyZ2V0IHBhdGggZXF1YWwgdG8gcGF0aCwgb3RoZXJ3aXNlIEZhbHNlLiIKK3N0YXRpYyBQeU9iamVjdCAqRnNfc3RyZXFfdGFyZ2V0KEZzT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJY2hhciAqa3dsaXN0W10gPSB7InRhcmdldCIsIE5VTEx9OworCWNoYXIgKnRhcmdldCA9IE5VTEw7CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAicyIsIGt3bGlzdCwgJnRhcmdldCkpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyZXR1cm4gUHlCb29sX0Zyb21Mb25nKG1udF9mc19zdHJlcV90YXJnZXQoc2VsZi0+ZnMsIHRhcmdldCkpOworfQorCisjZGVmaW5lIEZzX2NvcHlfZnNfSEVMUCAiY29weV9mcyhkZXN0PU5vbmUpXG5cbiIgXAorCQkiSWYgZGVzdCBpcyBOb25lLCBhIG5ldyBvYmplY3QgaXMgY3JlYXRlZCwgaWYgYW55IGZzICIgXAorCQkiZmllbGQgaXMgYWxyZWFkeSBzZXQsIHRoZW4gdGhlIGZpZWxkIGlzIE5PVCBvdmVyd3JpdHRlbi4iCitzdGF0aWMgUHlPYmplY3QgKkZzX2NvcHlfZnMoRnNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcyk7CisKK3N0YXRpYyBQeU1ldGhvZERlZiBGc19tZXRob2RzW10gPSB7CisJeyJnZXRfcHJvcGFnYXRpb24iLAkoUHlDRnVuY3Rpb24pRnNfZ2V0X3Byb3BhZ2F0aW9uLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgRnNfZ2V0X3Byb3BhZ2F0aW9uX0hFTFB9LAorCXsibW50X2ZzX2FwcGVuZF9hdHRyaWJ1dGVzIiwJKFB5Q0Z1bmN0aW9uKUZzX2FwcGVuZF9hdHRyaWJ1dGVzLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgRnNfYXBwZW5kX2F0dHJpYnV0ZXNfSEVMUH0sCisJeyJhcHBlbmRfb3B0aW9ucyIsCShQeUNGdW5jdGlvbilGc19hcHBlbmRfb3B0aW9ucywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIEZzX2FwcGVuZF9vcHRpb25zX0hFTFB9LAorCXsibW50X2ZzX3ByZXBlbmRfYXR0cmlidXRlcyIsCShQeUNGdW5jdGlvbilGc19wcmVwZW5kX2F0dHJpYnV0ZXMsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBGc19wcmVwZW5kX2F0dHJpYnV0ZXNfSEVMUH0sCisJeyJwcmVwZW5kX29wdGlvbnMiLAkoUHlDRnVuY3Rpb24pRnNfcHJlcGVuZF9vcHRpb25zLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgRnNfcHJlcGVuZF9vcHRpb25zX0hFTFB9LAorCXsiY29weV9mcyIsCQkoUHlDRnVuY3Rpb24pRnNfY29weV9mcywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIEZzX2NvcHlfZnNfSEVMUH0sCisJeyJpc19rZXJuZWwiLAkJKFB5Q0Z1bmN0aW9uKUZzX2lzX2tlcm5lbCwgTUVUSF9OT0FSR1MsIEZzX2lzX2tlcm5lbF9IRUxQfSwKKwl7ImlzX25ldGZzIiwJCShQeUNGdW5jdGlvbilGc19pc19uZXRmcywgTUVUSF9OT0FSR1MsIEZzX2lzX25ldGZzX0hFTFB9LAorCXsiaXNfcHNldWRvZnMiLAkJKFB5Q0Z1bmN0aW9uKUZzX2lzX3BzZXVkb2ZzLCBNRVRIX05PQVJHUywgRnNfaXNfcHNldWRvZnNfSEVMUH0sCisJeyJpc19zd2FwYXJlYSIsCQkoUHlDRnVuY3Rpb24pRnNfaXNfc3dhcGFyZWEsIE1FVEhfTk9BUkdTLCBGc19pc19zd2FwYXJlYV9IRUxQfSwKKwl7Im1hdGNoX2ZzdHlwZSIsCShQeUNGdW5jdGlvbilGc19tYXRjaF9mc3R5cGUsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBGc19tYXRjaF9mc3R5cGVfSEVMUH0sCisJeyJtYXRjaF9vcHRpb25zIiwJKFB5Q0Z1bmN0aW9uKUZzX21hdGNoX29wdGlvbnMsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBGc19tYXRjaF9vcHRpb25zX0hFTFB9LAorCXsic3RyZXFfc3JjcGF0aCIsCShQeUNGdW5jdGlvbilGc19zdHJlcV9zcmNwYXRoLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgRnNfc3RyZXFfc3JjcGF0aF9IRUxQfSwKKwl7InN0cmVxX3RhcmdldCIsCShQeUNGdW5jdGlvbilGc19zdHJlcV90YXJnZXQsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBGc19zdHJlcV90YXJnZXRfSEVMUH0sCisJeyJwcmludF9kZWJ1ZyIsCQkoUHlDRnVuY3Rpb24pRnNfcHJpbnRfZGVidWcsIE1FVEhfTk9BUkdTLCBGc19wcmludF9kZWJ1Z19IRUxQfSwKKwl7TlVMTH0KK307CisKK3N0YXRpYyB2b2lkIEZzX2Rlc3RydWN0b3IoRnNPYmplY3QgKnNlbGYpCit7CisJREJHKEZTLCBweW1udF9kZWJ1Z19oKHNlbGYtPmZzLCAiZGVzdHJ1Y3RvciBweS1vYmo6ICVwLCBweS1yZWZjbnQ9JWQiLAorCQkJCXNlbGYsIChpbnQpICgoUHlPYmplY3QgKikgc2VsZiktPm9iX3JlZmNudCkpOworCW1udF91bnJlZl9mcyhzZWxmLT5mcyk7CisJUHlGcmVlKHNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKkZzX25ldyhQeVR5cGVPYmplY3QgKnR5cGUsIFB5T2JqZWN0ICphcmdzIF9fYXR0cmlidXRlX18oKHVudXNlZCkpLAorCQlQeU9iamVjdCAqa3dkcyBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwlGc09iamVjdCAqc2VsZiA9IChGc09iamVjdCopdHlwZS0+dHBfYWxsb2ModHlwZSwgMCk7CisKKwlpZiAoc2VsZikgeworCQlzZWxmLT5mcyA9IE5VTEw7CisJCURCRyhGUywgcHltbnRfZGVidWdfaChzZWxmLCAibmV3IikpOworCX0KKwlyZXR1cm4gKFB5T2JqZWN0ICopIHNlbGY7Cit9CisKK3N0YXRpYyBpbnQgRnNfaW5pdChGc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWNoYXIgKnNvdXJjZSA9IE5VTEwsICpyb290ID0gTlVMTCwgKnRhcmdldCA9IE5VTEw7CisJY2hhciAqZnN0eXBlID0gTlVMTCwgKm9wdGlvbnMgPSBOVUxMLCAqYXR0cmlidXRlcyA9TlVMTDsKKwlpbnQgZnJlcSA9IDA7IGludCBwYXNzbm8gPSAwOworCWludCByYyA9IDA7CisJY2hhciAqa3dsaXN0W10gPSB7CisJCSJzb3VyY2UiLCAicm9vdCIsICJ0YXJnZXQiLAorCQkiZnN0eXBlIiwgIm9wdGlvbnMiLCAiYXR0cmlidXRlcyIsCisJCSJmcmVxIiwgInBhc3NubyIsIE5VTEwKKwl9OworCisJaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInxzc3Nzc3NpaSIsIGt3bGlzdCwKKwkJCQkmc291cmNlLCAmcm9vdCwgJnRhcmdldCwgJmZzdHlwZSwgJm9wdGlvbnMsCisJCQkJJmF0dHJpYnV0ZXMsICZmcmVxLCAmcGFzc25vKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiSW52YWxpZCB0eXBlIik7CisJCXJldHVybiAtMTsKKwl9CisKKwlEQkcoRlMsIHB5bW50X2RlYnVnX2goc2VsZiwgImluaXQiKSk7CisKKwlpZiAoc2VsZi0+ZnMpCisJCW1udF91bnJlZl9mcyhzZWxmLT5mcyk7CisKKwlzZWxmLT5mcyA9IG1udF9uZXdfZnMoKTsJCS8qIG5ldyBGUyB3aXRoIHJlZmNvdW50PTEgKi8KKworCWlmIChzb3VyY2UgJiYgKHJjID0gbW50X2ZzX3NldF9zb3VyY2Uoc2VsZi0+ZnMsIHNvdXJjZSkpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19NZW1vcnlFcnJvciwgTUVNT1JZX0VSUik7CisJCXJldHVybiByYzsKKwl9CisJaWYgKHJvb3QgJiYgKHJjID0gbW50X2ZzX3NldF9yb290KHNlbGYtPmZzLCByb290KSkpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX01lbW9yeUVycm9yLCBNRU1PUllfRVJSKTsKKwkJcmV0dXJuIHJjOworCX0KKwlpZiAodGFyZ2V0ICYmIChyYyA9IG1udF9mc19zZXRfdGFyZ2V0KHNlbGYtPmZzLCB0YXJnZXQpKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfTWVtb3J5RXJyb3IsIE1FTU9SWV9FUlIpOworCQlyZXR1cm4gcmM7CisJfQorCWlmIChmc3R5cGUgJiYgKHJjID0gbW50X2ZzX3NldF9mc3R5cGUoc2VsZi0+ZnMsIGZzdHlwZSkpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19NZW1vcnlFcnJvciwgTUVNT1JZX0VSUik7CisJCXJldHVybiByYzsKKwl9CisJaWYgKG9wdGlvbnMgJiYgKHJjID0gbW50X2ZzX3NldF9vcHRpb25zKHNlbGYtPmZzLCBvcHRpb25zKSkpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX01lbW9yeUVycm9yLCBNRU1PUllfRVJSKTsKKwkJcmV0dXJuIHJjOworCX0KKwlpZiAoYXR0cmlidXRlcyAmJiAocmMgPSBtbnRfZnNfc2V0X2F0dHJpYnV0ZXMoc2VsZi0+ZnMsIGF0dHJpYnV0ZXMpKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfTWVtb3J5RXJyb3IsIE1FTU9SWV9FUlIpOworCQlyZXR1cm4gcmM7CisJfQorCisJbW50X2ZzX3NldF9mcmVxKHNlbGYtPmZzLCBmcmVxKTsKKwltbnRfZnNfc2V0X3Bhc3NubyhzZWxmLT5mcywgcGFzc25vKTsKKwltbnRfZnNfc2V0X3VzZXJkYXRhKHNlbGYtPmZzLCBzZWxmKTsgLyogc3RvcmUgYSBwb2ludGVyIHRvIHNlbGYsIGNvbnZlbmllbnQgd2hlbiByZXNldHRpbmcgdGhlIHRhYmxlICovCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBtaXNzaW5nOgorICogYXR0cmlidXRlCisgKiBvcHRpb24KKyAqLworc3RhdGljIFB5R2V0U2V0RGVmIEZzX2dldHNldGVyc1tdID0geworCXsiaWQiLAkJKGdldHRlcilGc19nZXRfaWQsIE5VTEwsICJtb3VudGluZm9bMV06IElEIiwgTlVMTH0sCisJeyJwYXJlbnQiLAkoZ2V0dGVyKUZzX2dldF9wYXJlbnRfaWQsIE5VTEwsICJtb3VudGluZm9bMl06IHBhcmVudCIsIE5VTEx9LAorCXsiZGV2bm8iLAkoZ2V0dGVyKUZzX2dldF9kZXZubywgTlVMTCwgIm1vdW50aW5mb1szXTogc3RfZGV2IiwgTlVMTH0sCisJeyJjb21tZW50IiwJKGdldHRlcilGc19nZXRfY29tbWVudCwgKHNldHRlcilGc19zZXRfY29tbWVudCwgImZzdGFiIGVudHJ5IGNvbW1lbnQiLCBOVUxMfSwKKwl7InNvdXJjZSIsCShnZXR0ZXIpRnNfZ2V0X3NvdXJjZSwgKHNldHRlcilGc19zZXRfc291cmNlLCAiZnN0YWJbMV0sIG1vdW50aW5mb1sxMF0sIHN3YXBzWzFdOiBzb3VyY2UgZGV2LCBmaWxlLCBkaXIgb3IgVEFHIiwgTlVMTH0sCisJeyJzcmNwYXRoIiwJKGdldHRlcilGc19nZXRfc3JjcGF0aCwgTlVMTCwgIm1vdW50IHNvdXJjZSBwYXRoIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvciBvciB3aGVuIHRoZSBwYXRoIGlzIG5vdCBkZWZpbmVkLiIsIE5VTEx9LAorCXsicm9vdCIsCShnZXR0ZXIpRnNfZ2V0X3Jvb3QsIChzZXR0ZXIpRnNfc2V0X3Jvb3QsICJtb3VudGluZm9bNF06IHJvb3Qgb2YgdGhlIG1vdW50IHdpdGhpbiB0aGUgRlMiLCBOVUxMfSwKKwl7InRhcmdldCIsCShnZXR0ZXIpRnNfZ2V0X3RhcmdldCwgKHNldHRlcilGc19zZXRfdGFyZ2V0LCAibW91bnRpbmZvWzVdLCBmc3RhYlsyXTogbW91bnRwb2ludCIsIE5VTEx9LAorCXsiZnN0eXBlIiwJKGdldHRlcilGc19nZXRfZnN0eXBlLCAoc2V0dGVyKUZzX3NldF9mc3R5cGUsICJtb3VudGluZm9bOV0sIGZzdGFiWzNdOiBmaWxlc3lzdGVtIHR5cGUiLCBOVUxMfSwKKwl7Im9wdGlvbnMiLAkoZ2V0dGVyKUZzX2dldF9vcHRpb25zLCAoc2V0dGVyKUZzX3NldF9vcHRpb25zLCAiZnN0YWJbNF06IG1lcmdlZCBvcHRpb25zIiwgTlVMTH0sCisJeyJ2ZnNfb3B0aW9ucyIsCShnZXR0ZXIpRnNfZ2V0X3Zmc19vcHRpb25zLCBOVUxMLCAibW91bnRpbmZvWzZdOiBmcy1pbmRlcGVuZGVudCAoVkZTKSBvcHRpb25zIiwgTlVMTH0sCisJeyJvcHRfZmllbGRzIiwJKGdldHRlcilGc19nZXRfb3B0aW9uYWxfZmllbGRzLCBOVUxMLCAibW91bnRpbmZvWzddOiBvcHRpb25hbCBmaWVsZHMiLCBOVUxMfSwKKwl7ImZzX29wdGlvbnMiLAkoZ2V0dGVyKUZzX2dldF9mc19vcHRpb25zLCBOVUxMLCAibW91bnRpbmZvWzExXTogZnMtZGVwZW5kZW50IG9wdGlvbnMiLCBOVUxMfSwKKwl7InVzcl9vcHRpb25zIiwJKGdldHRlcilGc19nZXRfdXNlcl9vcHRpb25zLCBOVUxMLCAidXNlcnNwYWNlIG1vdW50IG9wdGlvbnMiLCBOVUxMfSwKKwl7ImF0dHJpYnV0ZXMiLAkoZ2V0dGVyKUZzX2dldF9hdHRyaWJ1dGVzLCAoc2V0dGVyKUZzX3NldF9hdHRyaWJ1dGVzLCAibW91bnQgYXR0cmlidXRlcyIsIE5VTEx9LAorCXsiZnJlcSIsCShnZXR0ZXIpRnNfZ2V0X2ZyZXEsIChzZXR0ZXIpRnNfc2V0X2ZyZXEsICJmc3RhYls1XTogZHVtcCBmcmVxdWVuY3kgaW4gZGF5cyIsIE5VTEx9LAorCXsicGFzc25vIiwJKGdldHRlcilGc19nZXRfcGFzc25vLCAoc2V0dGVyKUZzX3NldF9wYXNzbm8sICJmc3RhYls2XTogcGFzcyBudW1iZXIgb24gcGFyYWxsZWwgZnNjayIsIE5VTEx9LAorCXsic3dhcHR5cGUiLAkoZ2V0dGVyKUZzX2dldF9zd2FwdHlwZSwgTlVMTCwgInN3YXBzWzJdOiBkZXZpY2UgdHlwZSIsIE5VTEx9LAorCXsic2l6ZSIsCShnZXR0ZXIpRnNfZ2V0X3NpemUsIE5VTEwsICJzYXBzWzNdOiBzd2FwYXJlYSBzaXplIiwgTlVMTH0sCisJeyJ1c2Vkc2l6ZSIsCShnZXR0ZXIpRnNfZ2V0X3VzZWRzaXplLCBOVUxMLCAic3dhcHNbNF06IHVzZWQgc2l6ZSIsIE5VTEx9LAorCXsicHJpb3JpdHkiLAkoZ2V0dGVyKUZzX2dldF9wcmlvcml0eSwgTlVMTCwgInN3YXBzWzVdOiBzd2FwIHByaW9yaXR5IiwgTlVMTH0sCisJeyJ0YWciLAkJKGdldHRlcilGc19nZXRfdGFnLCBOVUxMLCAiKE5hbWUsIFZhbHVlKSIsIE5VTEx9LAorCXsidGlkIiwJCShnZXR0ZXIpRnNfZ2V0X3RpZCwgTlVMTCwgIi9wcm9jLzx0aWQ+L21vdW50aW5mbywgb3RoZXJ3aXNlIHplcm8iLCBOVUxMfSwKKwl7TlVMTH0KK307CisKK3N0YXRpYyBQeU9iamVjdCAqRnNfcmVwcihGc09iamVjdCAqc2VsZikKK3sKKwljb25zdCBjaGFyICpzcmMgPSBtbnRfZnNfZ2V0X3NvdXJjZShzZWxmLT5mcyksCisJCSAgICp0Z3QgPSBtbnRfZnNfZ2V0X3RhcmdldChzZWxmLT5mcyksCisJCSAgICp0eXBlID0gbW50X2ZzX2dldF9mc3R5cGUoc2VsZi0+ZnMpOworCisJcmV0dXJuIFB5VW5pY29kZV9Gcm9tRm9ybWF0KAorCQkJIjxsaWJtb3VudC5GcyBvYmplY3QgYXQgJXAsICIKKwkJCSJzb3VyY2U9JXMsIHRhcmdldD0lcywgZnN0eXBlPSVzPiIsCisJCQlzZWxmLAorCQkJc3JjID8gc3JjIDogIk5vbmUiLAorCQkJdGd0ID8gdGd0IDogIk5vbmUiLAorCQkJdHlwZSA/IHR5cGUgOiAiTm9uZSIpOworfQorCitQeU9iamVjdCAqUHlPYmplY3RSZXN1bHRGcyhzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlGc09iamVjdCAqcmVzdWx0OworCisJaWYgKCFmcykgeworCQlQeUVycl9TZXRTdHJpbmcoTGlibW91bnRFcnJvciwgImludGVybmFsIGV4Y2VwdGlvbiIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlyZXN1bHQgPSBtbnRfZnNfZ2V0X3VzZXJkYXRhKGZzKTsKKwlpZiAocmVzdWx0KSB7CisJCVB5X0lOQ1JFRihyZXN1bHQpOworCQlEQkcoRlMsIHB5bW50X2RlYnVnX2goZnMsICJyZXN1bHQgcHktb2JqICVwOiBhbHJlYWR5IGV4aXN0cywgcHktcmVmY250PSVkIiwKKwkJCQlyZXN1bHQsIChpbnQpICgoUHlPYmplY3QgKikgcmVzdWx0KS0+b2JfcmVmY250KSk7CisJCXJldHVybiAoUHlPYmplY3QgKikgcmVzdWx0OworCX0KKworCS8qIENyZWF0aW5nIGFuIGVuY2Fwc3VsYXRpbmcgb2JqZWN0OiBpbmNyZW1lbnQgdGhlIHJlZmNvdW50LCBzbyB0aGF0IGNvZGUKKwkgKiBzdWNoIGFzIHRhYi5uZXh0X2ZzKCkgZG9lc24ndCBjYWxsIHRoZSBkZXN0cnVjdG9yLCB3aGljaCB3b3VsZCBmcmVlCisJICogb3VyIGZzIHN0cnVjdCBhcyB3ZWxsCisJICovCisJcmVzdWx0ID0gUHlPYmplY3RfTmV3KEZzT2JqZWN0LCAmRnNUeXBlKTsKKwlpZiAoIXJlc3VsdCkgeworCQlVTF9SYWlzZUV4YyhFTk9NRU0pOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlQeV9JTkNSRUYocmVzdWx0KTsKKwltbnRfcmVmX2ZzKGZzKTsKKworCURCRyhGUywgcHltbnRfZGVidWdfaChmcywgInJlc3VsdCBweS1vYmogJXAgbmV3LCBweS1yZWZjbnQ9JWQiLAorCQkJCXJlc3VsdCwgKGludCkgKChQeU9iamVjdCAqKSByZXN1bHQpLT5vYl9yZWZjbnQpKTsKKwlyZXN1bHQtPmZzID0gZnM7CisJbW50X2ZzX3NldF91c2VyZGF0YShmcywgcmVzdWx0KTsKKwlyZXR1cm4gKFB5T2JqZWN0ICopIHJlc3VsdDsKK30KKworc3RhdGljIFB5T2JqZWN0ICpGc19jb3B5X2ZzKEZzT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJUHlPYmplY3QgKmRlc3QgPSBOVUxMOworCWNoYXIgKmt3bGlzdFtdID0geyJkZXN0IiwgTlVMTH07CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAifE8iLCBrd2xpc3QsICZkZXN0KSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCWlmIChQeU9iamVjdF9UeXBlQ2hlY2soZGVzdCwgJkZzVHlwZSkpIHsJLyogZXhpc3Rpbmcgb2JqZWN0IHBhc3NlZCBhcyBhcmd1bWVudCAqLworCQlpZiAoIW1udF9jb3B5X2ZzKCgoRnNPYmplY3QgKilkZXN0KS0+ZnMsIHNlbGYtPmZzKSkKKwkJCXJldHVybiBOVUxMOworCQlEQkcoRlMsIHB5bW50X2RlYnVnX2goZGVzdCwgImNvcHkgZGF0YSIpKTsKKwkJcmV0dXJuIChQeU9iamVjdCAqKWRlc3Q7CisKKwl9IGVsc2UgaWYgKGRlc3QgPT0gUHlfTm9uZSkgewkJCS8qIGNyZWF0ZSBuZXcgb2JqZWN0ICovCisJCUZzT2JqZWN0ICpyZXN1bHQgPSBQeU9iamVjdF9OZXcoRnNPYmplY3QsICZGc1R5cGUpOworCisJCURCRyhGUywgcHltbnRfZGVidWdfaChyZXN1bHQsICJuZXcgY29weSIpKTsKKwkJcmVzdWx0LT5mcyA9IG1udF9jb3B5X2ZzKE5VTEwsIHNlbGYtPmZzKTsKKwkJbW50X2ZzX3NldF91c2VyZGF0YShyZXN1bHQtPmZzLCByZXN1bHQpOwkvKiBrZWVwIGEgcG9pbnRlciB0byBlbmNhcHN1bGF0aW5nIG9iamVjdCAqLworCQlyZXR1cm4gKFB5T2JqZWN0ICopcmVzdWx0OworCX0KKworCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCXJldHVybiBOVUxMOworfQorCisKK1B5VHlwZU9iamVjdCBGc1R5cGUgPSB7CisJUHlWYXJPYmplY3RfSEVBRF9JTklUKE5VTEwsIDApCisJImxpYm1vdW50LkZzIiwgLyp0cF9uYW1lKi8KKwlzaXplb2YoRnNPYmplY3QpLCAvKnRwX2Jhc2ljc2l6ZSovCisJMCwgLyp0cF9pdGVtc2l6ZSovCisJKGRlc3RydWN0b3IpRnNfZGVzdHJ1Y3RvciwgLyp0cF9kZWFsbG9jKi8KKwkwLCAvKnRwX3ByaW50Ki8KKwkwLCAvKnRwX2dldGF0dHIqLworCTAsIC8qdHBfc2V0YXR0ciovCisJMCwgLyp0cF9jb21wYXJlKi8KKwkocmVwcmZ1bmMpRnNfcmVwciwgLyp0cF9yZXByKi8KKwkwLCAvKnRwX2FzX251bWJlciovCisJMCwgLyp0cF9hc19zZXF1ZW5jZSovCisJMCwgLyp0cF9hc19tYXBwaW5nKi8KKwkwLCAvKnRwX2hhc2ggKi8KKwkwLCAvKnRwX2NhbGwqLworCTAsIC8qdHBfc3RyKi8KKwkwLCAvKnRwX2dldGF0dHJvKi8KKwkwLCAvKnRwX3NldGF0dHJvKi8KKwkwLCAvKnRwX2FzX2J1ZmZlciovCisJUHlfVFBGTEFHU19ERUZBVUxUIHwgUHlfVFBGTEFHU19CQVNFVFlQRSwgLyp0cF9mbGFncyovCisJRnNfSEVMUCwgLyogdHBfZG9jICovCisJMCwgLyogdHBfdHJhdmVyc2UgKi8KKwkwLCAvKiB0cF9jbGVhciAqLworCTAsIC8qIHRwX3JpY2hjb21wYXJlICovCisJMCwgLyogdHBfd2Vha2xpc3RvZmZzZXQgKi8KKwkwLCAvKiB0cF9pdGVyICovCisJMCwgLyogdHBfaXRlcm5leHQgKi8KKwlGc19tZXRob2RzLCAvKiB0cF9tZXRob2RzICovCisJRnNfbWVtYmVycywgLyogdHBfbWVtYmVycyAqLworCUZzX2dldHNldGVycywgLyogdHBfZ2V0c2V0ICovCisJMCwgLyogdHBfYmFzZSAqLworCTAsIC8qIHRwX2RpY3QgKi8KKwkwLCAvKiB0cF9kZXNjcl9nZXQgKi8KKwkwLCAvKiB0cF9kZXNjcl9zZXQgKi8KKwkwLCAvKiB0cF9kaWN0b2Zmc2V0ICovCisJKGluaXRwcm9jKUZzX2luaXQsIC8qIHRwX2luaXQgKi8KKwkwLCAvKiB0cF9hbGxvYyAqLworCUZzX25ldywgLyogdHBfbmV3ICovCit9OworCit2b2lkIEZTX0FkZE1vZHVsZU9iamVjdChQeU9iamVjdCAqbW9kKQoreworCWlmIChQeVR5cGVfUmVhZHkoJkZzVHlwZSkgPCAwKQorCQlyZXR1cm47CisKKwlEQkcoRlMsIHB5bW50X2RlYnVnKCJhZGQgdG8gbW9kdWxlIikpOworCVB5X0lOQ1JFRigmRnNUeXBlKTsKKwlQeU1vZHVsZV9BZGRPYmplY3QobW9kLCAiRnMiLCAoUHlPYmplY3QgKikmRnNUeXBlKTsKK30KKwpkaWZmIC0tZ2l0IGEvbGlibW91bnQvcHl0aG9uL3B5bGlibW91bnQuYyBiL2xpYm1vdW50L3B5dGhvbi9weWxpYm1vdW50LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjFkYWNlNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L3B5dGhvbi9weWxpYm1vdW50LmMKQEAgLTAsMCArMSwzMDMgQEAKKy8qCisgKiBQeXRob24gYmluZGluZ3MgZm9yIHRoZSBsaWJtb3VudCBsaWJyYXJ5LgorICoKKyAqIENvcHlyaWdodCAoQykgMjAxMywgUmVkIEhhdCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogV3JpdHRlbiBieSBPbmRyZWogT3ByYWxhIGFuZCBLYXJlbCBaYWsKKyAqCisgKiBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBmaWxlOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorICovCisjaW5jbHVkZSAicHlsaWJtb3VudC5oIgorCisvKiBMaWJtb3VudC1zcGVjaWZpYyBFeGNlcHRpb24gY2xhc3MgKi8KK1B5T2JqZWN0ICpMaWJtb3VudEVycm9yOworaW50IHB5bGlibW91bnRfZGVidWdfbWFzazsKKworUHlPYmplY3QgKlVMX0luY1JlZih2b2lkICpraWxsbWUpCit7CisJUHlfSU5DUkVGKGtpbGxtZSk7CisJcmV0dXJuIGtpbGxtZTsKK30KKwordm9pZCBQeUZyZWUodm9pZCAqbykKK3sKKyNpZiBQWV9NQUpPUl9WRVJTSU9OID49IDMKKwlQeV9UWVBFKG8pLT50cF9mcmVlKChQeU9iamVjdCAqKW8pOworI2Vsc2UKKwkoKFB5T2JqZWN0ICopbyktPm9iX3R5cGUtPnRwX2ZyZWUoKFB5T2JqZWN0ICopbyk7CisjZW5kaWYKK30KKworLyogRGVtdWx0aXBsZXhlciBmb3IgdmFyaW91cyBwb3NzaWJsZSBlcnJvciBjb25kaXRpb25zIGFjcm9zcyB0aGUgbGlibW91bnQgbGlicmFyeSAqLwordm9pZCAqVUxfUmFpc2VFeGMoaW50IGUpCit7CisJLyogVE9ETzogRG8gd2UgbmVlZCB0byBkZWFsIHdpdGggLTEvMT8gKi8KKwlzd2l0Y2ggKGUpIHsKKwkJY2FzZSBFTk9NRU06CisJCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfTWVtb3J5RXJyb3IsIHN0cmVycm9yKGUpKTsKKwkJCWJyZWFrOworCQljYXNlIEVJTlZBTDoKKwkJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIHN0cmVycm9yKGUpKTsKKwkJCWJyZWFrOworCQkvKiBsaWJtb3VudC1zcGVjaWZpYyBlcnJvcnMgKi8KKwkJY2FzZSBNTlRfRVJSX0FQUExZRkxBR1M6CisJCQlQeUVycl9TZXRTdHJpbmcoTGlibW91bnRFcnJvciwgIkZhaWxlZCB0byBhcHBseSBNU19QUk9QQUdBVElPTiBmbGFncyIpOworCQkJYnJlYWs7CisJCWNhc2UgTU5UX0VSUl9NT1VOVE9QVDoKKwkJCVB5RXJyX1NldFN0cmluZyhMaWJtb3VudEVycm9yLCAiRmFpbGVkIHRvIHBhcnNlL3VzZSB1c2Vyc3BhY2UgbW91bnQgb3B0aW9ucyIpOworCQkJYnJlYWs7CisJCWNhc2UgTU5UX0VSUl9OT0ZTVEFCOgorCQkJUHlFcnJfU2V0U3RyaW5nKExpYm1vdW50RXJyb3IsICJGYWlsZWQgdG8gZGV0ZWN0IGZpbGVzeXN0ZW0gdHlwZSIpOworCQkJYnJlYWs7CisJCWNhc2UgTU5UX0VSUl9OT0ZTVFlQRToKKwkJCVB5RXJyX1NldFN0cmluZyhMaWJtb3VudEVycm9yLCAiUmVxdWlyZWQgbW91bnQgc291cmNlIHVuZGVmaW5lZCIpOworCQkJYnJlYWs7CisJCWNhc2UgTU5UX0VSUl9OT1NPVVJDRToKKwkJCVB5RXJyX1NldFN0cmluZyhMaWJtb3VudEVycm9yLCAiTG9vcGRldiBzZXR1cCBmYWlsZWQiKTsKKwkJCWJyZWFrOworCQljYXNlIE1OVF9FUlJfQU1CSUZTOgorCQkJUHlFcnJfU2V0U3RyaW5nKExpYm1vdW50RXJyb3IsICJMaWJibGtpZCBkZXRlY3RlZCBtb3JlIGZpbGVzeXN0ZW1zIG9uIHRoZSBkZXZpY2UiKTsKKwkJCWJyZWFrOworCQkvKiBzb21lIG90aGVyIGVycm5vICovCisJCWRlZmF1bHQ6CisJCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfRXhjZXB0aW9uLCBzdHJlcnJvcihlKSk7CisJCQlicmVhazsKKwl9CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qCisgKiBHZW5lcmFsIGZ1bmN0aW9ucworICovCitQeU9iamVjdCAqUHlPYmplY3RSZXN1bHRJbnQoaW50IGkpCit7CisJUHlPYmplY3QgKnJlc3VsdCA9IFB5X0J1aWxkVmFsdWUoImkiLCBpKTsKKwlpZiAoIXJlc3VsdCkKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwgQ09OU1RSVUNUX0VSUik7CisJcmV0dXJuIHJlc3VsdDsKK30KKworUHlPYmplY3QgKlB5T2JqZWN0UmVzdWx0U3RyKGNvbnN0IGNoYXIgKnMpCit7CisJUHlPYmplY3QgKnJlc3VsdDsKKwlpZiAoIXMpCisJCS8qIFRPRE86IG1heWJlIGxpZSBhYm91dCBpdCBhbmQgcmV0dXJuICIiOgorCQkgKiB3aGljaCB3b3VsZCBhbGxvdyBmb3IKKwkJICogZnMgPSBsaWJtb3VudC5GcygpCisJCSAqIGZzLmNvbW1lbnQgKz0gImNvbW1lbnQiCisJCXJldHVybiBQeV9CdWlsZFZhbHVlKCJzIiwgIiIpOyAqLworCQlQeV9SRVRVUk5fTk9ORTsKKwlyZXN1bHQgPSBQeV9CdWlsZFZhbHVlKCJzIiwgcyk7CisJaWYgKCFyZXN1bHQpCisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsIENPTlNUUlVDVF9FUlIpOworCXJldHVybiByZXN1bHQ7Cit9CisKKy8qIHdyYXBwZXIgYXJvdW5kIGEgY29tbW9uIHVzZSBjYXNlIGZvciBQeVVuaWNvZGVfQXNBU0NJSVN0cmluZygpICovCitjaGFyICpweXN0b3MoUHlPYmplY3QgKnB5cykKK3sKKyNpZiBQWV9NQUpPUl9WRVJTSU9OID49IDMKKwlpZiAoIVB5VW5pY29kZV9DaGVjayhweXMpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmV0dXJuIChjaGFyICopUHlVbmljb2RlXzFCWVRFX0RBVEEocHlzKTsKKyNlbHNlCisJaWYgKCFQeVN0cmluZ19DaGVjayhweXMpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmV0dXJuIFB5U3RyaW5nX0FzU3RyaW5nKHB5cyk7CisjZW5kaWYKK30KKworLyoKKyAqIHRoZSBsaWJtb3VudCBtb2R1bGUKKyAqLworI2RlZmluZSBQWUxJQk1PVU5UX0RFU0MgXAorCSJQeXRob24gQVBJIGZvciB0aGUgdXRpbC1saW51eCBsaWJtb3VudCBsaWJyYXJ5LlxuXG4iIFwKKwkiUGxlYXNlIG5vdGUgdGhhdCBub25lIG9mIHRoZSBjbGFzc2VzJyBhdHRyaWJ1dGVzIG1heSBiZSBkZWxldGVkLlxuIiBcCisJIlRoaXMgaXMgbm90IGEgY29tcGxldGUgbWFwcGluZyB0byB0aGUgbGlibW91bnQgQyBBUEksIG5vciBpcyBpdFxuIiBcCisJImF0dGVtcHRpbmcgdG8gYmUgb25lLlxuIiAiSXRlcmF0b3IgZnVuY3Rpb25zIG9ubHkgYWxsb3cgZm9yd2FyZFxuIiBcCisJIml0ZXJhdGlvbiBmb3Igbm93LiBDb250ZXh0LmdldF97dXNlcl8sfW1mbGFncygpIGRpZmZlcnMgZnJvbSB0aGUgQyBBUElcbiIgXAorCSJhbmQgcmV0dXJucyB0aGUgZmxhZ3MgZGlyZWN0bHkuIEZzLmdldF90YWcoKSBkaWZmZXJzIGZyb20gdGhlIEMgQVBJXG4iIFwKKwkiYW5kIHJldHVybnMgYSAodGFnLCB2YWx1ZSkgdHVwbGUuIEV2ZXJ5IGF0dHJpYnV0ZSBpcyBcImZpbHRlcmVkXCIiIFwKKwkidGhyb3VnaCBhcHByb3ByaWF0ZSBnZXR0ZXJzL3NldHRlcnMsIG5vIHZhbHVlcyBhcmUgc2V0IGRpcmVjdGx5LiIKKworCitzdHJ1Y3QgbW9kdWxlX3N0YXRlIHsKKyAgICBQeU9iamVjdCAqZXJyb3I7Cit9OworCisjaWYgUFlfTUFKT1JfVkVSU0lPTiA+PSAzCisjZGVmaW5lIEdFVFNUQVRFKG0pICgoc3RydWN0IG1vZHVsZV9zdGF0ZSopUHlNb2R1bGVfR2V0U3RhdGUobSkpCisjZWxzZQorI2RlZmluZSBHRVRTVEFURShtKSAoJl9zdGF0ZSkKK3N0YXRpYyBzdHJ1Y3QgbW9kdWxlX3N0YXRlIF9zdGF0ZTsKKyNlbmRpZgorCitzdGF0aWMgUHlPYmplY3QgKgorZXJyb3Jfb3V0KFB5T2JqZWN0ICptIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKSB7CisgICAgc3RydWN0IG1vZHVsZV9zdGF0ZSAqc3QgPSBHRVRTVEFURShtKTsKKyAgICBQeUVycl9TZXRTdHJpbmcoc3QtPmVycm9yLCAic29tZXRoaW5nIGJhZCBoYXBwZW5lZCIpOworICAgIHJldHVybiBOVUxMOworfQorCitzdGF0aWMgUHlNZXRob2REZWYgcHlsaWJtb3VudF9tZXRob2RzW10gPSB7CisgICAgeyJlcnJvcl9vdXQiLCAoUHlDRnVuY3Rpb24pZXJyb3Jfb3V0LCBNRVRIX05PQVJHUywgTlVMTH0sCisgICAge05VTEwsIE5VTEx9Cit9OworCisjaWYgUFlfTUFKT1JfVkVSU0lPTiA+PSAzCisKK3N0YXRpYyBpbnQgcHlsaWJtb3VudF90cmF2ZXJzZShQeU9iamVjdCAqbSwgdmlzaXRwcm9jIHZpc2l0LCB2b2lkICphcmcpIHsKKyAgICBQeV9WSVNJVChHRVRTVEFURShtKS0+ZXJyb3IpOworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgaW50IHB5bGlibW91bnRfY2xlYXIoUHlPYmplY3QgKm0pIHsKKyAgICBQeV9DTEVBUihHRVRTVEFURShtKS0+ZXJyb3IpOworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IFB5TW9kdWxlRGVmIG1vZHVsZWRlZiA9IHsKKyAgICAgICAgUHlNb2R1bGVEZWZfSEVBRF9JTklULAorICAgICAgICAicHlsaWJtb3VudCIsCisgICAgICAgIE5VTEwsCisgICAgICAgIHNpemVvZihzdHJ1Y3QgbW9kdWxlX3N0YXRlKSwKKyAgICAgICAgcHlsaWJtb3VudF9tZXRob2RzLAorICAgICAgICBOVUxMLAorICAgICAgICBweWxpYm1vdW50X3RyYXZlcnNlLAorICAgICAgICBweWxpYm1vdW50X2NsZWFyLAorICAgICAgICBOVUxMCit9OworI2RlZmluZSBJTklURVJST1IgcmV0dXJuIE5VTEwKK1B5T2JqZWN0ICogUHlJbml0X3B5bGlibW91bnQodm9pZCk7CitQeU9iamVjdCAqIFB5SW5pdF9weWxpYm1vdW50KHZvaWQpCisjZWxzZQorI2RlZmluZSBJTklURVJST1IgcmV0dXJuCisjIGlmbmRlZiBQeU1PRElOSVRfRlVOQworIyAgZGVmaW5lIFB5TU9ESU5JVF9GVU5DIHZvaWQKKyMgZW5kaWYKK1B5TU9ESU5JVF9GVU5DIGluaXRweWxpYm1vdW50KHZvaWQpOworUHlNT0RJTklUX0ZVTkMgaW5pdHB5bGlibW91bnQodm9pZCkKKyNlbmRpZgoreworI2lmIFBZX01BSk9SX1ZFUlNJT04gPj0gMworCVB5T2JqZWN0ICptID0gUHlNb2R1bGVfQ3JlYXRlKCZtb2R1bGVkZWYpOworI2Vsc2UKKwlQeU9iamVjdCAqbSA9IFB5X0luaXRNb2R1bGUzKCJweWxpYm1vdW50IiwgcHlsaWJtb3VudF9tZXRob2RzLCBQWUxJQk1PVU5UX0RFU0MpOworI2VuZGlmCisKKwlpZiAoIW0pCisJCUlOSVRFUlJPUjsKKwkvKgorCSAqIGluaXQgZGVidWcgc3R1ZmYKKwkgKi8KKwlpZiAoIShweWxpYm1vdW50X2RlYnVnX21hc2sgJiBQWU1OVF9ERUJVR19JTklUKSkgeworCQljaGFyICpzdHIgPSBnZXRlbnYoIlBZTElCTU9VTlRfREVCVUciKTsKKworCQlweWxpYm1vdW50X2RlYnVnX21hc2sgPSAwOworCQlpZiAoc3RyKQorCQkJcHlsaWJtb3VudF9kZWJ1Z19tYXNrID0gc3RydG91bChzdHIsIDAsIDApOworCisJCXB5bGlibW91bnRfZGVidWdfbWFzayB8PSBQWU1OVF9ERUJVR19JTklUOworCX0KKworCWlmIChweWxpYm1vdW50X2RlYnVnX21hc2sgJiYgcHlsaWJtb3VudF9kZWJ1Z19tYXNrICE9IFBZTU5UX0RFQlVHX0lOSVQpCisJCURCRyhJTklULCBweW1udF9kZWJ1ZygibGlicmFyeSBkZWJ1ZyBtYXNrOiAweCUwNHgiLAorCQkJCQlweWxpYm1vdW50X2RlYnVnX21hc2spKTsKKwltbnRfaW5pdF9kZWJ1ZygwKTsKKworCS8qCisJICogQWRkIG1vZHVsZSBvYmplY3RzCisJICovCisJTGlibW91bnRFcnJvciA9IFB5RXJyX05ld0V4Y2VwdGlvbigibGlibW91bnQuRXJyb3IiLCBOVUxMLCBOVUxMKTsKKwlQeV9JTkNSRUYoTGlibW91bnRFcnJvcik7CisJUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJFcnJvciIsIChQeU9iamVjdCAqKUxpYm1vdW50RXJyb3IpOworCisJRlNfQWRkTW9kdWxlT2JqZWN0KG0pOworCVRhYmxlX0FkZE1vZHVsZU9iamVjdChtKTsKKyNpZmRlZiBfX2xpbnV4X18KKwlDb250ZXh0X0FkZE1vZHVsZU9iamVjdChtKTsKKyNlbmRpZgorCisJLyoKKwkgKiBtb3VudCg4KSB1c2Vyc3BhY2Ugb3B0aW9ucyBtYXNrcyAoTU5UX01BUF9VU0VSU1BBQ0UgbWFwKQorCSAqLworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNTlRfTVNfQ09NTUVOVCIsIE1OVF9NU19DT01NRU5UKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTU5UX01TX0dST1VQIiwgTU5UX01TX0dST1VQKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTU5UX01TX0hFTFBFUiIsIE1OVF9NU19IRUxQRVIpOworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNTlRfTVNfTE9PUCIsIE1OVF9NU19MT09QKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTU5UX01TX05FVERFViIsIE1OVF9NU19ORVRERVYpOworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNTlRfTVNfTk9BVVRPIiwgTU5UX01TX05PQVVUTyk7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1OVF9NU19OT0ZBSUwiLCBNTlRfTVNfTk9GQUlMKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTU5UX01TX09GRlNFVCIsIE1OVF9NU19PRkZTRVQpOworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNTlRfTVNfT1dORVIiLCBNTlRfTVNfT1dORVIpOworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNTlRfTVNfU0laRUxJTUlUIiwgTU5UX01TX1NJWkVMSU1JVCk7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1OVF9NU19FTkNSWVBUSU9OIiwgTU5UX01TX0VOQ1JZUFRJT04pOworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNTlRfTVNfVUhFTFBFUiIsIE1OVF9NU19VSEVMUEVSKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTU5UX01TX1VTRVIiLCBNTlRfTVNfVVNFUik7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1OVF9NU19VU0VSUyIsIE1OVF9NU19VU0VSUyk7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1OVF9NU19YQ09NTUVOVCIsIE1OVF9NU19YQ09NTUVOVCk7CisKKwkvKgorCSAqIG1vdW50KDIpIE1TXyogbWFza3MgKE1OVF9NQVBfTElOVVggbWFwKQorCSAqLworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNU19CSU5EIiwgTVNfQklORCk7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1TX0RJUlNZTkMiLCBNU19ESVJTWU5DKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTVNfSV9WRVJTSU9OIiwgTVNfSV9WRVJTSU9OKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTVNfTUFORExPQ0siLCBNU19NQU5ETE9DSyk7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1TX01HQ19NU0siLCBNU19NR0NfTVNLKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTVNfTUdDX1ZBTCIsIE1TX01HQ19WQUwpOworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNU19NT1ZFIiwgTVNfTU9WRSk7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1TX05PQVRJTUUiLCBNU19OT0FUSU1FKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTVNfTk9ERVYiLCBNU19OT0RFVik7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1TX05PRElSQVRJTUUiLCBNU19OT0RJUkFUSU1FKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTVNfTk9FWEVDIiwgTVNfTk9FWEVDKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTVNfTk9TVUlEIiwgTVNfTk9TVUlEKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTVNfT1dORVJTRUNVUkUiLCBNU19PV05FUlNFQ1VSRSk7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1TX1BSSVZBVEUiLCBNU19QUklWQVRFKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTVNfUFJPUEFHQVRJT04iLCBNU19QUk9QQUdBVElPTik7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1TX1JET05MWSIsIE1TX1JET05MWSk7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1TX1JFQyIsIE1TX1JFQyk7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1TX1JFTEFUSU1FIiwgTVNfUkVMQVRJTUUpOworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNU19SRU1PVU5UIiwgTVNfUkVNT1VOVCk7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1TX1NFQ1VSRSIsIE1TX1NFQ1VSRSk7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1TX1NIQVJFRCIsIE1TX1NIQVJFRCk7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1TX1NJTEVOVCIsIE1TX1NJTEVOVCk7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1TX1NMQVZFIiwgTVNfU0xBVkUpOworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNU19TVFJJQ1RBVElNRSIsIE1TX1NUUklDVEFUSU1FKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTVNfU1lOQ0hST05PVVMiLCBNU19TWU5DSFJPTk9VUyk7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1TX1VOQklOREFCTEUiLCBNU19VTkJJTkRBQkxFKTsKKworCS8qIFdpbGwgd2UgbmVlZCB0aGVzZSBkaXJlY3RseT8KKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTU5UX0VSUl9BTUJJRlMiLCBNTlRfRVJSX0FNQklGUyk7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1OVF9FUlJfQVBQTFlGTEFHUyIsIE1OVF9FUlJfQVBQTFlGTEFHUyk7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1OVF9FUlJfTE9PUERFViIsIE1OVF9FUlJfTE9PUERFVik7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1OVF9FUlJfTU9VTlRPUFQiLCBNTlRfRVJSX01PVU5UT1BUKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTU5UX0VSUl9OT0ZTVEFCIiwgTU5UX0VSUl9OT0ZTVEFCKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTU5UX0VSUl9OT0ZTVFlQRSIsIE1OVF9FUlJfTk9GU1RZUEUpOworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNTlRfRVJSX05PU09VUkNFIiwgTU5UX0VSUl9OT1NPVVJDRSk7CisJKi8KKworCS8qIFN0aWxsIHVzZWZ1bCBmb3IgZnVuY3Rpb25zIHVzaW5nIGl0ZXJhdG9ycyBpbnRlcm5hbGx5ICovCisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1OVF9JVEVSX0ZPUldBUkQiLCBNTlRfSVRFUl9GT1JXQVJEKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTU5UX0lURVJfQkFDS1dBUkQiLCBNTlRfSVRFUl9CQUNLV0FSRCk7CisKKyNpZiBQWV9NQUpPUl9WRVJTSU9OID49IDMKKwlyZXR1cm4gbTsKKyNlbmRpZgorfQorCmRpZmYgLS1naXQgYS9saWJtb3VudC9weXRob24vcHlsaWJtb3VudC5oIGIvbGlibW91bnQvcHl0aG9uL3B5bGlibW91bnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZjMyNzhkCi0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvcHl0aG9uL3B5bGlibW91bnQuaApAQCAtMCwwICsxLDEzMSBAQAorI2lmbmRlZiBVVElMX0xJTlVYX1BZTElCTU9VTlRfSAorI2RlZmluZSBVVElMX0xJTlVYX1BZTElCTU9VTlRfSAorCisjaW5jbHVkZSA8UHl0aG9uLmg+CisjaW5jbHVkZSA8c3RydWN0bWVtYmVyLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibGlibW91bnQuaCIKKworI2RlZmluZSBDT05GSUdfUFlMSUJNT1VOVF9ERUJVRworCisjZGVmaW5lIFBZTU5UX0RFQlVHX0lOSVQJKDEgPDwgMSkKKyNkZWZpbmUgUFlNTlRfREVCVUdfVEFCCQkoMSA8PCAyKQorI2RlZmluZSBQWU1OVF9ERUJVR19GUwkJKDEgPDwgMykKKyNkZWZpbmUgUFlNTlRfREVCVUdfQ1hUCQkoMSA8PCA0KQorCisjaWZkZWYgQ09ORklHX1BZTElCTU9VTlRfREVCVUcKKyMgaW5jbHVkZSA8c3RkaW8uaD4KKyMgaW5jbHVkZSA8c3RkYXJnLmg+CisKKyMgZGVmaW5lIERCRyhtLCB4KQlkbyB7IFwKKwkJCQlpZiAoKFBZTU5UX0RFQlVHXyAjIyBtKSAmIHB5bGlibW91bnRfZGVidWdfbWFzaykgeyBcCisJCQkJCWZwcmludGYoc3RkZXJyLCAiJWQ6IHB5bGlibW91bnQ6ICU2czogIiwgZ2V0cGlkKCksICMgbSk7IFwKKwkJCQkJeDsgXAorCQkJCX0gXAorCQkJfSB3aGlsZSAoMCkKKworZXh0ZXJuIGludCBweWxpYm1vdW50X2RlYnVnX21hc2s7CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyAoX19wcmludGZfXywgMSwgMikpKQorcHltbnRfZGVidWcoY29uc3QgY2hhciAqbWVzZywgLi4uKQoreworCXZhX2xpc3QgYXA7CisJdmFfc3RhcnQoYXAsIG1lc2cpOworCXZmcHJpbnRmKHN0ZGVyciwgbWVzZywgYXApOworCXZhX2VuZChhcCk7CisJZnB1dGMoJ1xuJywgc3RkZXJyKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIF9fYXR0cmlidXRlX18gKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAyLCAzKSkpCitweW1udF9kZWJ1Z19oKHZvaWQgKmhhbmRsZXIsIGNvbnN0IGNoYXIgKm1lc2csIC4uLikKK3sKKwl2YV9saXN0IGFwOworCisJaWYgKGhhbmRsZXIpCisJCWZwcmludGYoc3RkZXJyLCAiWyVwXTogIiwgaGFuZGxlcik7CisJdmFfc3RhcnQoYXAsIG1lc2cpOworCXZmcHJpbnRmKHN0ZGVyciwgbWVzZywgYXApOworCXZhX2VuZChhcCk7CisJZnB1dGMoJ1xuJywgc3RkZXJyKTsKK30KKworI2Vsc2UgLyogIUNPTkZJR19QWUxJQk1PVU5UX0RFQlVHICovCisjIGRlZmluZSBEQkcobSx4KSBkbyB7IDsgfSB3aGlsZSAoMCkKKyNlbmRpZgorCisKKyNkZWZpbmUgTk9ERUxfQVRUUgkiVGhpcyBhdHRyaWJ1dGUgY2Fubm90IGJlIGRlbGV0ZWQiCisjZGVmaW5lIENPTlNUUlVDVF9FUlIJIkVycm9yIGR1cmluZyBvYmplY3QgY29uc3RydWN0aW9uIgorI2RlZmluZSBBUkdfRVJSCQkiSW52YWxpZCBudW1iZXIgb3IgdHlwZSBvZiBhcmd1bWVudHMiCisjZGVmaW5lIE5PRlNfRVJSCSJObyBmaWxlc3lzdGVtcyB0byBtb3VudCIKKyNkZWZpbmUgTUVNT1JZX0VSUglzdHJlcnJvcihFTk9NRU0pCisjZGVmaW5lIENPTlZfRVJSCSJUeXBlIGNvbnZlcnNpb24gZmFpbGVkIgorCisvKgorICogZnMuYworICovCit0eXBlZGVmIHN0cnVjdCB7CisJUHlPYmplY3RfSEVBRAorCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworfSBGc09iamVjdDsKKworZXh0ZXJuIFB5VHlwZU9iamVjdCBGc1R5cGU7CisKK2V4dGVybiBQeU9iamVjdCAqUHlPYmplY3RSZXN1bHRGcyhzdHJ1Y3QgbGlibW50X2ZzICpmcyk7CitleHRlcm4gdm9pZCBGU19BZGRNb2R1bGVPYmplY3QoUHlPYmplY3QgKm1vZCk7CisKKy8qCisgKiB0YWIuYworICovCit0eXBlZGVmIHN0cnVjdCB7CisJUHlPYmplY3RfSEVBRAorCisJc3RydWN0IGxpYm1udF90YWJsZQkJKnRhYjsKKwlzdHJ1Y3QgbGlibW50X2l0ZXIJCSppdGVyOworCVB5T2JqZWN0CQkJKmVycmNiOworfSBUYWJsZU9iamVjdDsKKworZXh0ZXJuIFB5VHlwZU9iamVjdCBUYWJsZVR5cGU7CisKK2V4dGVybiBQeU9iamVjdCAqUHlPYmplY3RSZXN1bHRUYWIoc3RydWN0IGxpYm1udF90YWJsZSAqdGFiKTsKKworZXh0ZXJuIHZvaWQgVGFibGVfdW5yZWYoc3RydWN0IGxpYm1udF90YWJsZSAqdGFiKTsKK2V4dGVybiB2b2lkIFRhYmxlX0FkZE1vZHVsZU9iamVjdChQeU9iamVjdCAqbW9kKTsKKworZXh0ZXJuIGludCBweW1udF90YWJsZV9wYXJzZXJfZXJyY2Ioc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgbGluZSk7CisKKyNpZmRlZiBfX2xpbnV4X18KKworLyoKKyAqIGNvbnRleHQuYworICovCit0eXBlZGVmIHN0cnVjdCB7CisJUHlPYmplY3RfSEVBRAorCisJc3RydWN0IGxpYm1udF9jb250ZXh0CQkqY3h0OworCVB5T2JqZWN0CQkJKnRhYmxlX2VycmNiOworCit9IENvbnRleHRPYmpleHQ7CisKK2V4dGVybiBQeVR5cGVPYmplY3QgQ29udGV4dFR5cGU7CitleHRlcm4gdm9pZCBDb250ZXh0X0FkZE1vZHVsZU9iamVjdChQeU9iamVjdCAqbW9kKTsKKworI2VuZGlmIC8qIF9fbGludXhfXyAqLworCisvKgorICogbWlzYworICovCitleHRlcm4gUHlPYmplY3QgKkxpYm1vdW50RXJyb3I7CitleHRlcm4gUHlPYmplY3QgKlVMX0luY1JlZih2b2lkICpraWxsbWUpOworZXh0ZXJuIHZvaWQgKlVMX1JhaXNlRXhjKGludCBlKTsKKworZXh0ZXJuIFB5T2JqZWN0ICpQeU9iamVjdFJlc3VsdEludChpbnQgaSk7CitleHRlcm4gUHlPYmplY3QgKlB5T2JqZWN0UmVzdWx0U3RyKGNvbnN0IGNoYXIgKnMpOworCitleHRlcm4gY2hhciAqcHlzdG9zKFB5T2JqZWN0ICpweXMpOworZXh0ZXJuIHZvaWQgUHlGcmVlKHZvaWQgKm8pOworCisKKworI2VuZGlmIC8qIFVUSUxfTElOVVhfUFlMSUJNT1VOVCAqLwpkaWZmIC0tZ2l0IGEvbGlibW91bnQvcHl0aG9uL3RhYi5jIGIvbGlibW91bnQvcHl0aG9uL3RhYi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3N2M1Y2IKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtb3VudC9weXRob24vdGFiLmMKQEAgLTAsMCArMSw3ODEgQEAKKy8qCisgKiBQeXRob24gYmluZGluZ3MgZm9yIHRoZSBsaWJtb3VudCBsaWJyYXJ5LgorICoKKyAqIENvcHlyaWdodCAoQykgMjAxMywgUmVkIEhhdCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogV3JpdHRlbiBieSBPbmRyZWogT3ByYWxhIGFuZCBLYXJlbCBaYWsKKyAqCisgKiBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBmaWxlOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorICovCisjaW5jbHVkZSAicHlsaWJtb3VudC5oIgorCitzdGF0aWMgUHlNZW1iZXJEZWYgVGFibGVfbWVtYmVyc1tdID0geworCXsgTlVMTCB9Cit9OworCitzdGF0aWMgaW50IFRhYmxlX3NldF9wYXJzZXJfZXJyY2IoVGFibGVPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpmdW5jLAorCQkJCSAgdm9pZCAqY2xvc3VyZSBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwlQeU9iamVjdCAqdG1wOworCisJaWYgKCFmdW5jKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIE5PREVMX0FUVFIpOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKCFQeUNhbGxhYmxlX0NoZWNrKGZ1bmMpKQorCQlyZXR1cm4gLTE7CisKKwl0bXAgPSBzZWxmLT5lcnJjYjsKKwlQeV9JTkNSRUYoZnVuYyk7CisJc2VsZi0+ZXJyY2IgPSBmdW5jOworCVB5X1hERUNSRUYodG1wKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIFB5T2JqZWN0ICpUYWJsZV9nZXRfaW50cm9fY29tbWVudChUYWJsZU9iamVjdCAqc2VsZiwKKwkJCQl2b2lkICpjbG9zdXJlIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCXJldHVybiBQeU9iamVjdFJlc3VsdFN0cihtbnRfdGFibGVfZ2V0X2ludHJvX2NvbW1lbnQoc2VsZi0+dGFiKSk7Cit9CisKK3N0YXRpYyBpbnQgVGFibGVfc2V0X2ludHJvX2NvbW1lbnQoVGFibGVPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2YWx1ZSwKKwkJCQl2b2lkICpjbG9zdXJlIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCWNoYXIgKmNvbW1lbnQgPSBOVUxMOworCWludCByYyA9IDA7CisKKwlpZiAoIXZhbHVlKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIE5PREVMX0FUVFIpOworCQlyZXR1cm4gLTE7CisJfQorCWlmICghKGNvbW1lbnQgPSBweXN0b3ModmFsdWUpKSkKKwkJcmV0dXJuIC0xOworCisJaWYgKChyYyA9IG1udF90YWJsZV9zZXRfaW50cm9fY29tbWVudChzZWxmLT50YWIsIGNvbW1lbnQpKSkgeworCQlVTF9SYWlzZUV4YygtcmMpOworCQlyZXR1cm4gLTE7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgUHlPYmplY3QgKlRhYmxlX2dldF90cmFpbGluZ19jb21tZW50KFRhYmxlT2JqZWN0ICpzZWxmLAorCQkJCXZvaWQgKmNsb3N1cmUgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCit7CisJcmV0dXJuIFB5T2JqZWN0UmVzdWx0U3RyKG1udF90YWJsZV9nZXRfdHJhaWxpbmdfY29tbWVudChzZWxmLT50YWIpKTsKK30KKworc3RhdGljIGludCBUYWJsZV9zZXRfdHJhaWxpbmdfY29tbWVudChUYWJsZU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnZhbHVlLAorCQkJCXZvaWQgKmNsb3N1cmUgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCit7CisJY2hhciAqY29tbWVudCA9IE5VTEw7CisJaW50IHJjID0gMDsKKworCWlmICghdmFsdWUpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgTk9ERUxfQVRUUik7CisJCXJldHVybiAtMTsKKwl9CisJaWYgKCEoY29tbWVudCA9IHB5c3Rvcyh2YWx1ZSkpKQorCQlyZXR1cm4gLTE7CisKKwlpZiAoKHJjID0gbW50X3RhYmxlX3NldF90cmFpbGluZ19jb21tZW50KHNlbGYtPnRhYiwgY29tbWVudCkpKSB7CisJCVVMX1JhaXNlRXhjKC1yYyk7CisJCXJldHVybiAtMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKyNkZWZpbmUgVGFibGVfZW5hYmxlX2NvbW1lbnRzX0hFTFAgImVuYWJsZV9jb21tZW50cyhlbmFibGUpXG5cbiIgXAorCSJFbmFibGVzIHBhcnNpbmcgb2YgY29tbWVudHMuXG5cbiIgXAorCSJUaGUgaW5pdGlhbCAoaW50cm8pIGZpbGUgY29tbWVudCBpcyBhY2Nlc3NpYmxlIGJ5XG4iIFwKKwkiVGFiLmludHJvX2NvbW1lbnQuIFRoZSBpbnRybyBhbmQgdGhlIGNvbW1lbnQgb2YgdGhlIGZpcnN0IGZzdGFiIiBcCisJImVudHJ5IGhhcyB0byBiZSBzZXBhcmF0ZWQgYnkgYmxhbmsgbGluZS4gIFRoZSBmaWxlc3lzdGVtIGNvbW1lbnRzIGFyZVxuIiBcCisJImFjY2Vzc2libGUgYnkgRnMuY29tbWVudC4gVGhlIHRhaWxpbmcgZnN0YWIgY29tbWVudCBpcyBhY2Nlc3NpYmxlXG4iIFwKKwkiYnkgVGFiLnRyYWlsaW5nX2NvbW1lbnQuXG4iIFwKKwkiXG4iIFwKKwkiPGluZm9ybWFsZXhhbXBsZT5cbiIgXAorCSI8cHJvZ3JhbWxpc3Rpbmc+XG4iIFwKKwkiI1xuIiBcCisJIiMgSW50cm8gY29tbWVudFxuIiBcCisJIiNcbiIgXAorCSJcbiIgXAorCSIjIHRoaXMgY29tbWVudHMgYmVsb25ncyB0byB0aGUgZmlyc3QgZnNcbiIgXAorCSJMQUJFTD1mb28gL21udC9mb28gYXV0byBkZWZhdWx0cyAxIDJcbiIgXAorCSIjIHRoaXMgY29tbWVudHMgYmVsb25ncyB0byB0aGUgc2Vjb25kIGZzXG4iIFwKKwkiTEFCRUw9YmFyIC9tbnQvYmFyIGF1dG8gZGVmYXVsdHMgMSAyIFxuIiBcCisJIiMgdGFpbGluZyBjb21tZW50XG4iIFwKKwkiPC9wcm9ncmFtbGlzdGluZz5cbiIgXAorCSI8L2luZm9ybWFsZXhhbXBsZT4iCitzdGF0aWMgUHlPYmplY3QgKlRhYmxlX2VuYWJsZV9jb21tZW50cyhUYWJsZU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsCisJCQkJCVB5T2JqZWN0ICprd2RzKQoreworCWludCBlbmFibGUgPSAwOworCWNoYXIgKmt3bGlzdFtdID0geyJlbmFibGUiLCBOVUxMfTsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJpIiwga3dsaXN0LCAmZW5hYmxlKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCW1udF90YWJsZV9lbmFibGVfY29tbWVudHMoc2VsZi0+dGFiLCBlbmFibGUpOworCVB5X0lOQ1JFRihzZWxmKTsKKwlyZXR1cm4gKFB5T2JqZWN0ICopc2VsZjsKK30KKworI2RlZmluZSBUYWJsZV9yZXBsYWNlX2ZpbGVfSEVMUCAicmVwbGFjZV9maWxlKGZpbGVuYW1lKVxuXG4iIFwKKwkJIlRoaXMgZnVuY3Rpb24gcmVwbGFjZXMgZmlsZW5hbWUgd2l0aCB0aGUgbmV3IGNvbnRlbnQgZnJvbSBUYWJsZU9iamVjdC4iCitzdGF0aWMgUHlPYmplY3QgKlRhYmxlX3JlcGxhY2VfZmlsZShUYWJsZU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWludCByYzsKKwljaGFyICpmaWxlbmFtZSA9IE5VTEw7CisJY2hhciAqa3dsaXN0W10gPSB7ImZpbGVuYW1lIiwgTlVMTH07CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAicyIsIGt3bGlzdCwgJmZpbGVuYW1lKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJjID0gbW50X3RhYmxlX3JlcGxhY2VfZmlsZShzZWxmLT50YWIsIGZpbGVuYW1lKTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YygtcmMpIDogVUxfSW5jUmVmKHNlbGYpOworfQorCisjZGVmaW5lIFRhYmxlX3dyaXRlX2ZpbGVfSEVMUCAid3JpdGVfZmlsZShwYXRoKVxuXG4iIFwKKwkJIlRoaXMgZnVuY3Rpb24gd3JpdGVzIHRhYiB0byBmaWxlKHN0cmVhbSkiCitzdGF0aWMgUHlPYmplY3QgKlRhYmxlX3dyaXRlX2ZpbGUoVGFibGVPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwlpbnQgcmM7CisJLy9QeU9iamVjdCAqc3RyZWFtID0gTlVMTDsKKwlGSUxFICpmID0gTlVMTDsKKwljaGFyICpwYXRoID0gTlVMTDsKKwljaGFyICprd2xpc3RbXSA9IHsicGF0aCIsIE5VTEx9OworCisJaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInMiLCBrd2xpc3QsCisJCQkJCSZwYXRoKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCWlmICghKGYgPSBmb3BlbihwYXRoLCAidyIpKSkKKwkJcmV0dXJuIFVMX1JhaXNlRXhjKGVycm5vKTsKKwlyYyA9IG1udF90YWJsZV93cml0ZV9maWxlKHNlbGYtPnRhYiwgZik7CisJZmNsb3NlKGYpOworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKC1yYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgVGFibGVfZmluZF9kZXZub19IRUxQICJmaW5kX2Rldm5vKGRldm5vLCBbZGlyZWN0aW9uXSlcblxuIiBcCisJCSJOb3RlIHRoYXQgemVybyBjb3VsZCBiZSB2YWxpZCBkZXZpY2UgbnVtYmVyIGZvciByb290IHBzZXVkbyAiIFwKKwkJImZpbGVzeXN0ZW0gKGUuZy4gdG1wZnMpXG4iIFwKKwkJIlJldHVybnMgYSB0YWIgZW50cnkgb3IgTm9uZSIKK3N0YXRpYyBQeU9iamVjdCAqVGFibGVfZmluZF9kZXZubyhUYWJsZU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWRldl90IGRldm5vOworCWludCBkaXJlY3Rpb24gPSBNTlRfSVRFUl9CQUNLV0FSRDsKKwljaGFyICprd2xpc3RbXSA9IHsiZGV2bm8iLCAiZGlyZWN0aW9uIiwgTlVMTH07CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAiSXxpIiwga3dsaXN0LCAmZGV2bm8sICZkaXJlY3Rpb24pKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmV0dXJuIFB5T2JqZWN0UmVzdWx0RnMobW50X3RhYmxlX2ZpbmRfZGV2bm8oc2VsZi0+dGFiLCBkZXZubywgZGlyZWN0aW9uKSk7Cit9CisKKyNkZWZpbmUgVGFibGVfZmluZF9tb3VudHBvaW50X0hFTFAgImZpbmRfbW91bnRwb2ludChwYXRoLCBbZGlyZWN0aW9uXSlcblxuIiBcCisJCSJSZXR1cm5zIGEgdGFiIGVudHJ5IG9yIE5vbmUuIgorc3RhdGljIFB5T2JqZWN0ICpUYWJsZV9maW5kX21vdW50cG9pbnQoVGFibGVPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwljaGFyICpwYXRoOworCWludCBkaXJlY3Rpb24gPSBNTlRfSVRFUl9CQUNLV0FSRDsKKwljaGFyICprd2xpc3RbXSA9IHsicGF0aCIsICJkaXJlY3Rpb24iLCBOVUxMfTsKKworCWlmICghIFB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAic3xpIiwga3dsaXN0LCAmcGF0aCwgJmRpcmVjdGlvbikpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRGcyhtbnRfdGFibGVfZmluZF9tb3VudHBvaW50KHNlbGYtPnRhYiwgcGF0aCwgZGlyZWN0aW9uKSk7Cit9CisKKyNkZWZpbmUgVGFibGVfZmluZF9wYWlyX0hFTFAgImZpbmRfcGFpcihzb3VyY2UsIHRhcmdldCwgW2RpcmVjdGlvbl0pXG5cbiIgXAorCQkiUmV0dXJucyBhIHRhYiBlbnRyeSBvciBOb25lLiIKK3N0YXRpYyBQeU9iamVjdCAqVGFibGVfZmluZF9wYWlyKFRhYmxlT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJY2hhciAqa3dsaXN0W10gPSB7InNvdXJjZSIsICJ0YXJnZXQiLCAiZGlyZWN0aW9uIiwgTlVMTH07CisJY2hhciAqc291cmNlOworCWNoYXIgKnRhcmdldDsKKwlpbnQgZGlyZWN0aW9uID0gTU5UX0lURVJfQkFDS1dBUkQ7CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAic3N8aSIsIGt3bGlzdCwgJnNvdXJjZSwgJnRhcmdldCwgJmRpcmVjdGlvbikpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRGcyhtbnRfdGFibGVfZmluZF9wYWlyKHNlbGYtPnRhYiwgc291cmNlLCB0YXJnZXQsIGRpcmVjdGlvbikpOworfQorCisjZGVmaW5lIFRhYmxlX2ZpbmRfc291cmNlX0hFTFAgImZpbmRfc291cmNlKHNvdXJjZSwgW2RpcmVjdGlvbl0pXG5cbiIgXAorCQkiUmV0dXJucyBhIHRhYiBlbnRyeSBvciBOb25lLiIKK3N0YXRpYyBQeU9iamVjdCAqVGFibGVfZmluZF9zb3VyY2UoVGFibGVPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwljaGFyICprd2xpc3RbXSA9IHsic291cmNlIiwgImRpcmVjdGlvbiIsIE5VTEx9OworCWNoYXIgKnNvdXJjZTsKKwlpbnQgZGlyZWN0aW9uID0gTU5UX0lURVJfQkFDS1dBUkQ7CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAic3xpIiwga3dsaXN0LCAmc291cmNlLCAmZGlyZWN0aW9uKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJldHVybiBQeU9iamVjdFJlc3VsdEZzKG1udF90YWJsZV9maW5kX3NvdXJjZShzZWxmLT50YWIsIHNvdXJjZSwgZGlyZWN0aW9uKSk7Cit9CisKKyNkZWZpbmUgVGFibGVfZmluZF90YXJnZXRfSEVMUCAiZmluZF90YXJnZXQodGFyZ2V0LCBbZGlyZWN0aW9uXSlcblxuIiBcCisJCSJUcnkgdG8gbG9va3VwIGFuIGVudHJ5IGluIGdpdmVuIHRhYiwgcG9zc2libGUgYXJlIHRocmVlIGl0ZXJhdGlvbnMsIGZpcnN0XG4iIFwKKwkJIndpdGggcGF0aCwgc2Vjb25kIHdpdGggcmVhbHBhdGgocGF0aCkgYW5kIHRoaXJkIHdpdGggcmVhbHBhdGgocGF0aClcbiIgXAorCQkiYWdhaW5zdCByZWFscGF0aChmcy0+dGFyZ2V0KS4gVGhlIDJuZCBhbmQgM3JkIGl0ZXJhdGlvbnMgYXJlIG5vdCBwZXJmb3JtZWRcbiIgXAorCQkid2hlbiB0YiBjYWNoZSBpcyBub3Qgc2V0IChjYWNoZSBub3QgaW1wbGVtZW50ZWQgeWV0KS5cbiIgXAorCQkiXG4iIFwKKwkJIlJldHVybnMgYSB0YWIgZW50cnkgb3IgTm9uZS4iCitzdGF0aWMgUHlPYmplY3QgKlRhYmxlX2ZpbmRfdGFyZ2V0KFRhYmxlT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJY2hhciAqa3dsaXN0W10gPSB7InRhcmdldCIsICJkaXJlY3Rpb24iLCBOVUxMfTsKKwljaGFyICp0YXJnZXQ7CisJaW50IGRpcmVjdGlvbiA9IE1OVF9JVEVSX0JBQ0tXQVJEOworCisJaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInN8aSIsIGt3bGlzdCwgJnRhcmdldCwgJmRpcmVjdGlvbikpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRGcyhtbnRfdGFibGVfZmluZF90YXJnZXQoc2VsZi0+dGFiLCB0YXJnZXQsIGRpcmVjdGlvbikpOworfQorCisjZGVmaW5lIFRhYmxlX2ZpbmRfc3JjcGF0aF9IRUxQICJmaW5kX3NyY3BhdGgoc3JjcGF0aCwgW2RpcmVjdGlvbl0pXG5cbiIgXAorCQkiVHJ5IHRvIGxvb2t1cCBhbiBlbnRyeSBpbiBnaXZlbiB0YWIsIHBvc3NpYmxlIGFyZSBmb3VyIGl0ZXJhdGlvbnMsIGZpcnN0XG4iIFwKKwkJIndpdGggcGF0aCwgc2Vjb25kIHdpdGggcmVhbHBhdGgocGF0aCksIHRoaXJkIHdpdGggdGFncyAoTEFCRUwsIFVVSUQsIC4uKVxuIiBcCisJCSJmcm9tIHBhdGggYW5kIGZvdXJ0aCB3aXRoIHJlYWxwYXRoKHBhdGgpIGFnYWluc3QgcmVhbHBhdGgoZW50cnktPnNyY3BhdGgpLlxuIiBcCisJCSJcbiIgXAorCQkiVGhlIDJuZCwgM3JkIGFuZCA0dGggaXRlcmF0aW9ucyBhcmUgbm90IHBlcmZvcm1lZCB3aGVuIHRiIGNhY2hlIGlzIG5vdFxuIiBcCisJCSJzZXQgKG5vdCBpbXBsZW1lbnRlZCB5ZXQpLlxuIiBcCisJCSJcbiIgXAorCQkiTm90ZSB0aGF0IE5vbmUgaXMgYSB2YWxpZCBzb3VyY2UgcGF0aDsgaXQgd2lsbCBiZSByZXBsYWNlZCB3aXRoIFwibm9uZVwiLiBUaGVcbiIgXAorCQkiXCJub25lXCIgaXMgdXNlZCBpbiAvcHJvYy97bW91bnRzLHNlbGYvbW91bnRpbmZvfSBmb3IgcHNldWRvIGZpbGVzeXN0ZW1zLlxuIiBcCisJCSJcbiIgXAorCQkiUmV0dXJucyBhIHRhYiBlbnRyeSBvciBOb25lLiIKK3N0YXRpYyBQeU9iamVjdCAqVGFibGVfZmluZF9zcmNwYXRoKFRhYmxlT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJY2hhciAqa3dsaXN0W10gPSB7InNyY3BhdGgiLCAiZGlyZWN0aW9uIiwgTlVMTH07CisJY2hhciAqc3JjcGF0aDsKKwlpbnQgZGlyZWN0aW9uID0gTU5UX0lURVJfQkFDS1dBUkQ7CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAic3xpIiwga3dsaXN0LCAmc3JjcGF0aCwgJmRpcmVjdGlvbikpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRGcyhtbnRfdGFibGVfZmluZF9zcmNwYXRoKHNlbGYtPnRhYiwgc3JjcGF0aCwgZGlyZWN0aW9uKSk7Cit9CisKKyNkZWZpbmUgVGFibGVfZmluZF90YWdfSEVMUCAiZmluZF90YWcodGFnLCB2YWwsIFtkaXJlY3Rpb25dKVxuXG4iIFwKKwkJIlRyeSB0byBsb29rdXAgYW4gZW50cnkgaW4gZ2l2ZW4gdGFiLCBmaXJzdCBhdHRlbXB0IGlzIGxvb2t1cCBieSB0YWcgYW5kXG4iIFwKKwkJInZhbCwgZm9yIHRoZSBzZWNvbmQgYXR0ZW1wdCB0aGUgdGFnIGlzIGV2YWx1YXRlZCAoY29udmVydGVkIHRvIHRoZSBkZXZpY2VcbiIgXAorCQkibmFtZSkgYW5kIFRhYi5maW5kX3NyY3BhdGgoKSBpcyBwcmVmb3JtZWQuIFRoZSBzZWNvbmQgYXR0ZW1wdCBpcyBub3RcbiIgXAorCQkicGVyZm9ybWVkIHdoZW4gdGIgY2FjaGUgaXMgbm90IHNldCAobm90IGltcGxlbWVudGVkIHlldCkuXG4iIFwKKwkJIlxuIiBcCisJCSJSZXR1cm5zIGEgdGFiIGVudHJ5IG9yIE5VTEwuIgorc3RhdGljIFB5T2JqZWN0ICpUYWJsZV9maW5kX3RhZyhUYWJsZU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWNoYXIgKmt3bGlzdFtdID0geyJ0YWciLCAidmFsIiwgImRpcmVjdGlvbiIsIE5VTEx9OworCWNoYXIgKnRhZzsKKwljaGFyICp2YWw7CisJaW50IGRpcmVjdGlvbiA9IE1OVF9JVEVSX0JBQ0tXQVJEOworCisJaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInNzfGkiLCBrd2xpc3QsICZ0YWcsICZ2YWwsICZkaXJlY3Rpb24pKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmV0dXJuIFB5T2JqZWN0UmVzdWx0RnMobW50X3RhYmxlX2ZpbmRfdGFnKHNlbGYtPnRhYiwgdGFnLCB2YWwsIGRpcmVjdGlvbikpOworfQorCitzdGF0aWMgUHlPYmplY3QgKlRhYmxlX2dldF9uZW50cyhUYWJsZU9iamVjdCAqc2VsZikKK3sKKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRJbnQobW50X3RhYmxlX2dldF9uZW50cyhzZWxmLT50YWIpKTsKK30KKworI2RlZmluZSBUYWJsZV9pc19mc19tb3VudGVkX0hFTFAgImlzX2ZzX21vdW50ZWQoZnN0YWJfZnMpXG5cbiIgXAorCQkiQ2hlY2tzIGlmIHRoZSBmc3RhYl9mcyBlbnRyeSBpcyBhbHJlYWR5IGluIHRoZSB0YiB0YWJsZS4gVGhlIFwic3dhcFwiIGlzXG4iIFwKKwkJImlnbm9yZWQuIFRoaXMgZnVuY3Rpb24gZXhwbGljaXRseSBjb21wYXJlcyBzb3VyY2UsIHRhcmdldCBhbmQgcm9vdCBvZiB0aGVcbiIgXAorCQkiZmlsZXN5c3RlbXMuXG4iIFwKKwkJIlxuIiBcCisJCSJOb3RlIHRoYXQgc291cmNlIGFuZCB0YXJnZXQgYXJlIGNhbm9uaWNhbGl6ZWQgb25seSBpZiBhIGNhY2hlIGZvciB0YiBpc1xuIiBcCisJCSJkZWZpbmVkIChub3QgaW1wbGVtZW50ZWQgeWV0KS4gVGhlIHRhcmdldCBjYW5vbmljYWxpemF0aW9uIG1heVxuIiBcCisJCSJ0cmlnZ2VyIGF1dG9tb3VudCBvbiBhdXRvZnMgbW91bnRwb2ludHMhXG4iIFwKKwkJIlxuIiBcCisJCSJEb24ndCB1c2UgaXQgaWYgeW91IHdhbnQgdG8ga25vdyBpZiBhIGRldmljZSBpcyBtb3VudGVkLCBqdXN0IHVzZVxuIiBcCisJCSJUYWIuZmluZF9zb3VyY2UoKSBmb3IgdGhlIGRldmljZS5cbiIgXAorCQkiXG4iIFwKKwkJIlRoaXMgZnVuY3Rpb24gaXMgZGVzaWduZWQgbW9zdGx5IGZvciBcIm1vdW50IC1hXCIuXG4iIFwKKwkJIlxuIiBcCisJCSJSZXR1cm5zIGEgYm9vbGVhbiB2YWx1ZS4iCitzdGF0aWMgUHlPYmplY3QgKlRhYmxlX2lzX2ZzX21vdW50ZWQoVGFibGVPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwlGc09iamVjdCAqZnM7CisJY2hhciAqa3dsaXN0W10gPSB7ImZzdGFiX2ZzIiwgTlVMTH07CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAiTyEiLCBrd2xpc3QsICZGc1R5cGUsICZmcykpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyZXR1cm4gUHlCb29sX0Zyb21Mb25nKG1udF90YWJsZV9pc19mc19tb3VudGVkKHNlbGYtPnRhYiwgZnMtPmZzKSk7Cit9CisKKyNkZWZpbmUgVGFibGVfcGFyc2VfZmlsZV9IRUxQICJwYXJzZV9maWxlKGZpbGUpXG5cbiIgXAorCQkiUGFyc2VzIHdob2xlIHRhYmxlIChlLmcuIC9ldGMvbXRhYikgYW5kIGFwcGVuZHMgbmV3IHJlY29yZHMgdG8gdGhlIHRhYi5cbiIgXAorCQkiXG4iIFwKKwkJIlRoZSBsaWJtb3VudCBwYXJzZXIgaWdub3JlcyBicm9rZW4gKHN5bnRheCBlcnJvcikgbGluZXMsIHRoZXNlIGxpbmVzIGFyZVxuIiBcCisJCSJyZXBvcnRlZCB0byBjYWxsZXIgYnkgZXJyY2IoKSBmdW5jdGlvbiAoc2VlIFRhYi5wYXJzZXJfZXJyY2IpLlxuIiBcCisJCSJcbiIgXAorCQkiUmV0dXJucyBzZWxmIG9yIHJhaXNlcyBhbiBleGNlcHRpb24gaW4gY2FzZSBvZiBhbiBlcnJvci4iCitzdGF0aWMgUHlPYmplY3QgKlRhYmxlX3BhcnNlX2ZpbGUoVGFibGVPYmplY3QgKnNlbGYsIFB5T2JqZWN0KiBhcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwlpbnQgcmM7CisJY2hhciAqZmlsZSA9IE5VTEw7CisJY2hhciAqa3dsaXN0W10gPSB7ImZpbGUiLCBOVUxMfTsKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAicyIsIGt3bGlzdCwgJmZpbGUpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmMgPSBtbnRfdGFibGVfcGFyc2VfZmlsZShzZWxmLT50YWIsIGZpbGUpOworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKC1yYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgVGFibGVfcGFyc2VfZnN0YWJfSEVMUCAicGFyc2VfZnN0YWIoW2ZzdGFiXSlcblxuIiBcCisJCSJUaGlzIGZ1bmN0aW9uIHBhcnNlcyAvZXRjL2ZzdGFiIGFuZCBhcHBlbmRzIG5ldyBsaW5lcyB0byB0aGUgdGFiLiBJZiB0aGVcbiIgXAorCQkiZmlsZW5hbWUgaXMgYSBkaXJlY3RvcnkgdGhlbiBUYWIucGFyc2VfZGlyKCkgaXMgY2FsbGVkLlxuIiBcCisJCSJcbiIgXAorCQkiU2VlIGFsc28gVGFiLnBhcnNlcl9lcnJjYi5cbiIgXAorCQkiXG4iIFwKKwkJIlJldHVybnMgc2VsZiBvciByYWlzZXMgYW4gZXhjZXB0aW9uIGluIGNhc2Ugb2YgYW4gZXJyb3IuIgorc3RhdGljIFB5T2JqZWN0ICpUYWJsZV9wYXJzZV9mc3RhYihUYWJsZU9iamVjdCAqc2VsZiwgUHlPYmplY3QqIGFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWludCByYzsKKwljaGFyICpmc3RhYiA9IE5VTEw7CisJY2hhciAqa3dsaXN0W10gPSB7ImZzdGFiIiwgTlVMTH07CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAifHMiLCBrd2xpc3QsICZmc3RhYikpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyYyA9IG1udF90YWJsZV9wYXJzZV9mc3RhYihzZWxmLT50YWIsIGZzdGFiKTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YygtcmMpIDogVUxfSW5jUmVmKHNlbGYpOworfQorCisjZGVmaW5lIFRhYmxlX3BhcnNlX210YWJfSEVMUCAicGFyc2VfbXRhYihbbXRhYl0pXG5cbiIgXAorCQkiVGhpcyBmdW5jdGlvbiBwYXJzZXMgL2V0Yy9tdGFiIG9yIC9wcm9jL3NlbGYvbW91bnRpbmZvXG4iIFwKKwkJIi9ydW4vbW91bnQvdXRhYnMgb3IgL3Byb2MvbW91bnRzLlxuIiBcCisJCSJcbiIgXAorCQkiU2VlIGFsc28gVGFiLnBhcnNlcl9lcnJjYigpLlxuIiBcCisJCSJcbiIgXAorCQkiUmV0dXJucyBzZWxmIG9yIHJhaXNlcyBhbiBleGNlcHRpb24gaW4gY2FzZSBvZiBhbiBlcnJvci4iCitzdGF0aWMgUHlPYmplY3QgKlRhYmxlX3BhcnNlX210YWIoVGFibGVPYmplY3QgKnNlbGYsIFB5T2JqZWN0KiBhcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwlpbnQgcmM7CisJY2hhciAqbXRhYiA9IE5VTEw7CisJY2hhciAqa3dsaXN0W10gPSB7Im10YWIiLCBOVUxMfTsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJ8cyIsIGt3bGlzdCwgJm10YWIpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmMgPSBtbnRfdGFibGVfcGFyc2VfbXRhYihzZWxmLT50YWIsIG10YWIpOworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKC1yYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgVGFibGVfcGFyc2VfZGlyX0hFTFAgInBhcnNlX2RpcihkaXIpXG5cbiIgXAorCQkiVGhlIGRpcmVjdG9yeTpcbiIgXAorCQkiLSBmaWxlcyBhcmUgc29ydGVkIGJ5IHN0cnZlcnNjbXAoMylcbiIgXAorCQkiLSBmaWxlcyB0aGF0IHN0YXJ0IHdpdGggXCIuXCIgYXJlIGlnbm9yZWQgKGUuZy4gXCIuMTBmb28uZnN0YWJcIilcbiIgXAorCQkiLSBmaWxlcyB3aXRob3V0IHRoZSBcIi5mc3RhYlwiIGV4dGVuc2lvbiBhcmUgaWdub3JlZFxuIiBcCisJCSJcbiIgXAorCQkiUmV0dXJucyBzZWxmIG9yIHJhaXNlcyBhbiBleGNlcHRpb24gaW4gY2FzZSBvZiBhbiBlcnJvci4iCitzdGF0aWMgUHlPYmplY3QgKlRhYmxlX3BhcnNlX2RpcihUYWJsZU9iamVjdCAqc2VsZiwgUHlPYmplY3QqIGFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWludCByYzsKKwljaGFyICpkaXIgPSBOVUxMOworCWNoYXIgKmt3bGlzdFtdID0geyJkaXIiLCBOVUxMfTsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJzIiwga3dsaXN0LCAmZGlyKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJjID0gbW50X3RhYmxlX3BhcnNlX2RpcihzZWxmLT50YWIsIGRpcik7CisJcmV0dXJuIHJjID8gVUxfUmFpc2VFeGMoLXJjKSA6IFVMX0luY1JlZihzZWxmKTsKK30KKworI2RlZmluZSBUYWJsZV9wYXJzZV9zd2Fwc19IRUxQICJwYXJzZV9zd2Fwcyhzd2FwcylcblxuIiBcCisJCSJUaGlzIGZ1bmN0aW9uIHBhcnNlcyAvcHJvYy9zd2FwcyBhbmQgYXBwZW5kcyBuZXcgbGluZXMgdG8gdGhlIHRhYiIKK3N0YXRpYyBQeU9iamVjdCAqVGFibGVfcGFyc2Vfc3dhcHMoVGFibGVPYmplY3QgKnNlbGYsIFB5T2JqZWN0KiBhcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwlpbnQgcmM7CisJY2hhciAqc3dhcHMgPSBOVUxMOworCWNoYXIgKmt3bGlzdFtdID0geyJzd2FwcyIsIE5VTEx9OworCisJaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInMiLCBrd2xpc3QsICZzd2FwcykpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyYyA9IG1udF90YWJsZV9wYXJzZV9zd2FwcyhzZWxmLT50YWIsIHN3YXBzKTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YygtcmMpIDogVUxfSW5jUmVmKHNlbGYpOworfQorCisjZGVmaW5lIFRhYmxlX2FkZF9mc19IRUxQICJhZGRfZnMoZnMpXG5cbkFkZHMgYSBuZXcgZW50cnkgdG8gdGFiLlxuIiBcCisJCSJSZXR1cm5zIHNlbGYgb3IgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpbiBjYXNlIG9mIGFuIGVycm9yLiIKKworc3RhdGljIFB5T2JqZWN0ICpUYWJsZV9hZGRfZnMoVGFibGVPYmplY3QgKnNlbGYsIFB5T2JqZWN0KiBhcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwlpbnQgcmM7CisJRnNPYmplY3QgKmZzID0gTlVMTDsKKwljaGFyICprd2xpc3RbXSA9IHsiZnMiLCBOVUxMfTsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJPISIsIGt3bGlzdCwgJkZzVHlwZSwgJmZzKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCVB5X0lOQ1JFRihmcyk7CisJcmMgPSBtbnRfdGFibGVfYWRkX2ZzKHNlbGYtPnRhYiwgZnMtPmZzKTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YygtcmMpIDogVUxfSW5jUmVmKHNlbGYpOworfQorCisjZGVmaW5lIFRhYmxlX3JlbW92ZV9mc19IRUxQICJyZW1vdmVfZnMoZnMpXG5cbiIgXAorCQkiUmV0dXJucyBzZWxmIG9yIHJhaXNlcyBhbiBleGNlcHRpb24gaW4gY2FzZSBvZiBhbiBlcnJvci4iCitzdGF0aWMgUHlPYmplY3QgKlRhYmxlX3JlbW92ZV9mcyhUYWJsZU9iamVjdCAqc2VsZiwgUHlPYmplY3QqIGFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWludCByYzsKKwlGc09iamVjdCAqZnMgPSBOVUxMOworCWNoYXIgKmt3bGlzdFtdID0geyJmcyIsIE5VTEx9OworCisJaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgIk8hIiwga3dsaXN0LCAmRnNUeXBlLCAmZnMpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmMgPSBtbnRfdGFibGVfcmVtb3ZlX2ZzKHNlbGYtPnRhYiwgZnMtPmZzKTsKKwlQeV9ERUNSRUYoZnMpOworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKC1yYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgVGFibGVfbmV4dF9mc19IRUxQICJuZXh0X2ZzKClcblxuIiBcCisJCSJSZXR1cm5zIHRoZSBuZXh0IEZzIG9uIHN1Y2Nlc3MsIHJhaXNlcyBhbiBleGNlcHRpb24gaW4gY2FzZSAiIFwKKwkJIm9mIGFuIGVycm9yIGFuZCBOb25lIGF0IGVuZCBvZiBsaXN0LlxuIiBcCisJCSJcbiIgXAorCQkiRXhhbXBsZTpcbiIgXAorCQkiPGluZm9ybWFsZXhhbXBsZT5cbiIgXAorCQkiPHByb2dyYW1saXN0aW5nPlxuIiBcCisJCSJpbXBvcnQgbGlibW91bnRcbiIgXAorCQkiaW1wb3J0IGZ1bmN0b29sc1xuIiBcCisJCSJmb3IgZnMgaW4gaXRlcihmdW5jdG9vbHMucGFydGlhbCh0Yi5uZXh0X2ZzKSwgTm9uZSk6XG4iIFwKKwkJIiAgICBkaXIgPSBGcy50YXJnZXRcbiIgXAorCQkiICAgIHByaW50IFwibW91bnQgcG9pbnQ6IHs6c31cIi5mb3JtYXQoZGlyKVxuIiBcCisJCSJcbiIgXAorCQkiPC9wcm9ncmFtbGlzdGluZz5cbiIgXAorCQkiPC9pbmZvcm1hbGV4YW1wbGU+XG4iIFwKKwkJIlxuIiBcCisJCSJsaXN0cyBhbGwgbW91bnRwb2ludHMgZnJvbSBmc3RhYiBpbiBiYWNrd2FyZCBvcmRlci4iCitzdGF0aWMgUHlPYmplY3QgKlRhYmxlX25leHRfZnMoVGFibGVPYmplY3QgKnNlbGYpCit7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJaW50IHJjOworCisJLyogUmVzZXQgdGhlIGJ1aWx0aW4gaXRlcmF0b3IgYWZ0ZXIgcmVhY2hpbmcgdGhlIGVuZCBvZiB0aGUgbGlzdCAqLworCXJjID0gbW50X3RhYmxlX25leHRfZnMoc2VsZi0+dGFiLCBzZWxmLT5pdGVyLCAmZnMpOworCWlmIChyYyA9PSAxKSB7CisJCW1udF9yZXNldF9pdGVyKHNlbGYtPml0ZXIsIE1OVF9JVEVSX0ZPUldBUkQpOworCQlQeV9SRVRVUk5fTk9ORTsKKwl9IGVsc2UgaWYgKHJjKQorCQlyZXR1cm4gVUxfUmFpc2VFeGMoLXJjKTsKKworCXJldHVybiBQeU9iamVjdFJlc3VsdEZzKGZzKTsKK30KKworc3RhdGljIFB5TWV0aG9kRGVmIFRhYmxlX21ldGhvZHNbXSA9IHsKKwl7ImVuYWJsZV9jb21tZW50cyIsIChQeUNGdW5jdGlvbilUYWJsZV9lbmFibGVfY29tbWVudHMsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBUYWJsZV9lbmFibGVfY29tbWVudHNfSEVMUH0sCisJeyJmaW5kX3BhaXIiLCAoUHlDRnVuY3Rpb24pVGFibGVfZmluZF9wYWlyLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgVGFibGVfZmluZF9wYWlyX0hFTFB9LAorCXsiZmluZF9zb3VyY2UiLCAoUHlDRnVuY3Rpb24pVGFibGVfZmluZF9zb3VyY2UsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBUYWJsZV9maW5kX3NvdXJjZV9IRUxQfSwKKwl7ImZpbmRfc3JjcGF0aCIsIChQeUNGdW5jdGlvbilUYWJsZV9maW5kX3NyY3BhdGgsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBUYWJsZV9maW5kX3NyY3BhdGhfSEVMUH0sCisJeyJmaW5kX3RhZyIsIChQeUNGdW5jdGlvbilUYWJsZV9maW5kX3RhZywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIFRhYmxlX2ZpbmRfdGFnX0hFTFB9LAorCXsiZmluZF90YXJnZXQiLCAoUHlDRnVuY3Rpb24pVGFibGVfZmluZF90YXJnZXQsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBUYWJsZV9maW5kX3RhcmdldF9IRUxQfSwKKwl7ImZpbmRfZGV2bm8iLCAoUHlDRnVuY3Rpb24pVGFibGVfZmluZF9kZXZubywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIFRhYmxlX2ZpbmRfZGV2bm9fSEVMUH0sCisJeyJmaW5kX21vdW50cG9pbnQiLCAoUHlDRnVuY3Rpb24pVGFibGVfZmluZF9tb3VudHBvaW50LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgVGFibGVfZmluZF9tb3VudHBvaW50X0hFTFB9LAorCXsicGFyc2VfZmlsZSIsIChQeUNGdW5jdGlvbilUYWJsZV9wYXJzZV9maWxlLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgVGFibGVfcGFyc2VfZmlsZV9IRUxQfSwKKwl7InBhcnNlX2ZzdGFiIiwgKFB5Q0Z1bmN0aW9uKVRhYmxlX3BhcnNlX2ZzdGFiLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgVGFibGVfcGFyc2VfZnN0YWJfSEVMUH0sCisJeyJwYXJzZV9tdGFiIiwgKFB5Q0Z1bmN0aW9uKVRhYmxlX3BhcnNlX210YWIsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBUYWJsZV9wYXJzZV9tdGFiX0hFTFB9LAorCXsicGFyc2VfZGlyIiwgKFB5Q0Z1bmN0aW9uKVRhYmxlX3BhcnNlX2RpciwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIFRhYmxlX3BhcnNlX2Rpcl9IRUxQfSwKKwl7InBhcnNlX3N3YXBzIiwgKFB5Q0Z1bmN0aW9uKVRhYmxlX3BhcnNlX3N3YXBzLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgVGFibGVfcGFyc2Vfc3dhcHNfSEVMUH0sCisJeyJpc19mc19tb3VudGVkIiwgKFB5Q0Z1bmN0aW9uKVRhYmxlX2lzX2ZzX21vdW50ZWQsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBUYWJsZV9pc19mc19tb3VudGVkX0hFTFB9LAorCXsiYWRkX2ZzIiwgKFB5Q0Z1bmN0aW9uKVRhYmxlX2FkZF9mcywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIFRhYmxlX2FkZF9mc19IRUxQfSwKKwl7InJlbW92ZV9mcyIsIChQeUNGdW5jdGlvbilUYWJsZV9yZW1vdmVfZnMsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBUYWJsZV9yZW1vdmVfZnNfSEVMUH0sCisJeyJuZXh0X2ZzIiwgKFB5Q0Z1bmN0aW9uKVRhYmxlX25leHRfZnMsIE1FVEhfTk9BUkdTLCBUYWJsZV9uZXh0X2ZzX0hFTFB9LAorCXsid3JpdGVfZmlsZSIsIChQeUNGdW5jdGlvbilUYWJsZV93cml0ZV9maWxlLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgVGFibGVfd3JpdGVfZmlsZV9IRUxQfSwKKwl7InJlcGxhY2VfZmlsZSIsIChQeUNGdW5jdGlvbilUYWJsZV9yZXBsYWNlX2ZpbGUsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBUYWJsZV9yZXBsYWNlX2ZpbGVfSEVMUH0sCisJe05VTEx9Cit9OworCisvKiBtbnRfZnJlZV90YWIoKSB3aXRoIGEgZmV3IG5lY2Vzc2FyeSBhZGRpdGlvbnMgKi8KK3ZvaWQgVGFibGVfdW5yZWYoc3RydWN0IGxpYm1udF90YWJsZSAqdGFiKQoreworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCXN0cnVjdCBsaWJtbnRfaXRlciAqaXRlcjsKKworCWlmICghdGFiKQorCQlyZXR1cm47CisKKwlEQkcoVEFCLCBweW1udF9kZWJ1Z19oKHRhYiwgInVuLXJlZmVyZW5jaW5nIGZpbGVzeXN0ZW1zIikpOworCisJaXRlciA9IG1udF9uZXdfaXRlcihNTlRfSVRFUl9CQUNLV0FSRCk7CisKKwkvKiByZW1vdmUgcHlsaWJtb3VudCBzcGVjaWZpYyByZWZlcmVuY2VzIHRvIHRoZSBlbnRyaWVzICovCisJd2hpbGUgKG1udF90YWJsZV9uZXh0X2ZzKHRhYiwgaXRlciwgJmZzKSA9PSAwKQorCQlQeV9YREVDUkVGKG1udF9mc19nZXRfdXNlcmRhdGEoZnMpKTsKKworCURCRyhUQUIsIHB5bW50X2RlYnVnX2godGFiLCAidW4tcmVmZXJlbmNpbmcgdGFibGUiKSk7CisKKwltbnRfdW5yZWZfdGFibGUodGFiKTsKKwltbnRfZnJlZV9pdGVyKGl0ZXIpOworfQorCitzdGF0aWMgdm9pZCBUYWJsZV9kZXN0cnVjdG9yKFRhYmxlT2JqZWN0ICpzZWxmKQoreworCURCRyhUQUIsIHB5bW50X2RlYnVnX2goc2VsZi0+dGFiLCAiZGVzdHJ1Y3RvciBweS1vYmo6ICVwLCBweS1yZWZjbnQ9JWQiLAorCQkJCXNlbGYsIChpbnQpICgoUHlPYmplY3QgKikgc2VsZiktPm9iX3JlZmNudCkpOworCVRhYmxlX3VucmVmKHNlbGYtPnRhYik7CisJc2VsZi0+dGFiID0gTlVMTDsKKworCW1udF9mcmVlX2l0ZXIoc2VsZi0+aXRlcik7CisJUHlfWERFQ1JFRihzZWxmLT5lcnJjYik7CisJUHlGcmVlKHNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKlRhYmxlX25ldyhQeVR5cGVPYmplY3QgKnR5cGUsCisJCQkgICBQeU9iamVjdCAqYXJncyBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSwKKwkJCSAgIFB5T2JqZWN0ICprd2RzIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCVRhYmxlT2JqZWN0ICpzZWxmID0gKFRhYmxlT2JqZWN0Kil0eXBlLT50cF9hbGxvYyh0eXBlLCAwKTsKKworCWlmIChzZWxmKSB7CisJCURCRyhUQUIsIHB5bW50X2RlYnVnX2goc2VsZiwgIm5ldyIpKTsKKworCQlzZWxmLT50YWIgPSBOVUxMOworCQlzZWxmLT5pdGVyID0gTlVMTDsKKwkJc2VsZi0+ZXJyY2IgPSBOVUxMOworCX0KKwlyZXR1cm4gKFB5T2JqZWN0ICopc2VsZjsKK30KKworLyogZXhwbGljaXQgdGFiLl9faW5pdF9fKCkgc2VydmVzIGFzIG1udF9yZXNldF90YWJsZSh0YWIpIHdvdWxkIGluIEMKKyAqIGFuZCBhcyBtbnRfbmV3X3RhYmxleyxfZnJvbV9kaXIsX2Zyb21fZmlsZX0oKSB3aXRoIHByb3BlciBhcmd1bWVudHMgKi8KKyNkZWZpbmUgVGFibGVfSEVMUCAiVGFibGUocGF0aD1Ob25lLCBlcnJjYj1Ob25lKSIKK3N0YXRpYyBpbnQgVGFibGVfaW5pdChUYWJsZU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCXN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlOworCWNoYXIgKnBhdGggPSBOVUxMOworCWNoYXIgKmt3bGlzdFtdID0geyJwYXRoIiwgImVycmNiIiwgTlVMTH07CisJUHlPYmplY3QgKmVycmNiID0gTlVMTDsKKwlzdHJ1Y3Qgc3RhdCBidWY7CisKKwltZW1zZXQgKCZidWYsIDAsIHNpemVvZihzdHJ1Y3Qgc3RhdCkpOworCisJaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInxzTyIsCisJCQkJCWt3bGlzdCwgJnBhdGgsICZlcnJjYikpCisJCXJldHVybiAtMTsKKworCURCRyhUQUIsIHB5bW50X2RlYnVnX2goc2VsZiwgImluaXQiKSk7CisKKwlUYWJsZV91bnJlZihzZWxmLT50YWIpOworCXNlbGYtPnRhYiA9IE5VTEw7CisKKwlpZiAoc2VsZi0+aXRlcikKKwkJbW50X3Jlc2V0X2l0ZXIoc2VsZi0+aXRlciwgTU5UX0lURVJfRk9SV0FSRCk7CisJZWxzZQorCQlzZWxmLT5pdGVyID0gbW50X25ld19pdGVyKE1OVF9JVEVSX0ZPUldBUkQpOworCisJaWYgKGVycmNiKSB7CisJCVB5T2JqZWN0ICp0bXA7CisJCWlmICghUHlDYWxsYWJsZV9DaGVjayhlcnJjYikpCisJCQlyZXR1cm4gLTE7CisJCXRtcCA9IHNlbGYtPmVycmNiOworCQlQeV9JTkNSRUYoZXJyY2IpOworCQlzZWxmLT5lcnJjYiA9IGVycmNiOworCQlQeV9YREVDUkVGKHRtcCk7CisJfSBlbHNlIHsKKwkJUHlfWERFQ1JFRihzZWxmLT5lcnJjYik7CisJCXNlbGYtPmVycmNiID0gTlVMTDsKKwl9CisKKwlpZiAocGF0aCkgeworCQlEQkcoVEFCLCBweW1udF9kZWJ1Z19oKHNlbGYsICJpbml0OiBwYXRoIGRlZmluZWQgKCVzKSIsIHBhdGgpKTsKKworCQlpZiAoc3RhdChwYXRoLCAmYnVmKSkgeworCQkJLyogVE9ETzogd2VpcmQgKi8KKwkJCVB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19SdW50aW1lRXJyb3IpOworCQkJcmV0dXJuIC0xOworCQl9CisJCWlmIChTX0lTUkVHKGJ1Zi5zdF9tb2RlKSkKKwkJCXNlbGYtPnRhYiA9IG1udF9uZXdfdGFibGVfZnJvbV9maWxlKHBhdGgpOworCQllbHNlIGlmIChTX0lTRElSKGJ1Zi5zdF9tb2RlKSkKKwkJCXNlbGYtPnRhYiA9IG1udF9uZXdfdGFibGVfZnJvbV9kaXIocGF0aCk7CisJfSBlbHNlIHsKKwkJREJHKFRBQiwgcHltbnRfZGVidWdfaChzZWxmLCAiaW5pdDogYWxsb2NhdGUgZW1wdHkgdGFibGUiKSk7CisJCXNlbGYtPnRhYiA9IG1udF9uZXdfdGFibGUoKTsKKwl9CisKKwkvKiBBbHdheXMgc2V0IGN1c3RvbSBoYW5kbGVyIHdoZW4gdXNpbmcgbGlibW91bnQgZnJvbSBweXRob24gKi8KKwltbnRfdGFibGVfc2V0X3BhcnNlcl9lcnJjYihzZWxmLT50YWIsIHB5bW50X3RhYmxlX3BhcnNlcl9lcnJjYik7CisJbW50X3RhYmxlX3NldF91c2VyZGF0YShzZWxmLT50YWIsIHNlbGYpOworCisJY2FjaGUgPSBtbnRfbmV3X2NhY2hlKCk7CQkvKiBUT0RPOiBtYWtlIGl0IG9wdGlvbmFsPyAqLworCWlmICghY2FjaGUpCisJCXJldHVybiAtMTsKKwltbnRfdGFibGVfc2V0X2NhY2hlKHNlbGYtPnRhYiwgY2FjaGUpOworCW1udF91bnJlZl9jYWNoZShjYWNoZSk7CisKKwlyZXR1cm4gMDsKK30KKworLyogSGFuZGxlciBmb3IgdGhlIHRhYi0+ZXJyY2IgY2FsbGJhY2sgKi8KK2ludCBweW1udF90YWJsZV9wYXJzZXJfZXJyY2Ioc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgbGluZSkKK3sKKwlpbnQgcmMgPSAwOworCVB5T2JqZWN0ICpvYmo7CisKKwlvYmogPSBtbnRfdGFibGVfZ2V0X3VzZXJkYXRhKHRiKTsKKwlpZiAob2JqICYmICgoVGFibGVPYmplY3QqKSBvYmopLT5lcnJjYikgeworCQlQeU9iamVjdCAqYXJnbGlzdCwgKnJlc3VsdDsKKworCQlhcmdsaXN0ID0gUHlfQnVpbGRWYWx1ZSgiKE9zaSkiLCBvYmosIGZpbGVuYW1lLCBsaW5lKTsKKwkJaWYgKCFhcmdsaXN0KQorCQkJcmV0dXJuIC1FTk9NRU07CisKKwkJLyogQSBweXRob24gY2FsbGJhY2sgd2FzIHNldCwgc28gdGIgaXMgZGVmaW5pdGVseSBlbmNhcHN1bGF0ZWQgaW4gYW4gb2JqZWN0ICovCisJCXJlc3VsdCA9IFB5RXZhbF9DYWxsT2JqZWN0KCgoVGFibGVPYmplY3QgKilvYmopLT5lcnJjYiwgYXJnbGlzdCk7CisJCVB5X0RFQ1JFRihhcmdsaXN0KTsKKworCQlpZiAoIXJlc3VsdCkKKwkJCXJldHVybiAtRUlOVkFMOworCQlpZiAoIVB5QXJnX1BhcnNlKHJlc3VsdCwgImkiLCAmcmMpKQorCQkJcmMgPSAtRUlOVkFMOworCQlQeV9ERUNSRUYocmVzdWx0KTsKKwl9CisJcmV0dXJuIHJjOworfQorCitQeU9iamVjdCAqUHlPYmplY3RSZXN1bHRUYWIoc3RydWN0IGxpYm1udF90YWJsZSAqdGFiKQoreworCVRhYmxlT2JqZWN0ICpyZXN1bHQ7CisKKwlpZiAoIXRhYikgeworCQlQeUVycl9TZXRTdHJpbmcoTGlibW91bnRFcnJvciwgImludGVybmFsIGV4Y2VwdGlvbiIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlyZXN1bHQgPSBtbnRfdGFibGVfZ2V0X3VzZXJkYXRhKHRhYik7CisJaWYgKHJlc3VsdCkgeworCQlQeV9JTkNSRUYocmVzdWx0KTsKKwkJREJHKFRBQiwgcHltbnRfZGVidWdfaCh0YWIsICJyZXN1bHQgcHktb2JqICVwOiBhbHJlYWR5IGV4aXN0cywgcHktcmVmY250PSVkIiwKKwkJCQlyZXN1bHQsIChpbnQpICgoUHlPYmplY3QgKikgcmVzdWx0KS0+b2JfcmVmY250KSk7CisJCXJldHVybiAoUHlPYmplY3QgKikgcmVzdWx0OworCX0KKworCS8qIENyZWF0aW5nIGFuIGVuY2Fwc3VsYXRpbmcgb2JqZWN0OiBpbmNyZW1lbnQgdGhlIHJlZmNvdW50LCBzbyB0aGF0CisJICogY29kZSBzdWNoIGFzOiBjeHQuZ2V0X2ZzdGFiKCkgZG9lc24ndCBjYWxsIHRoZSBkZXN0cnVjdG9yLCB3aGljaAorCSAqIHdvdWxkIGZyZWUgb3VyIHRhYiBzdHJ1Y3QgYXMgd2VsbAorCSAqLworCXJlc3VsdCA9IFB5T2JqZWN0X05ldyhUYWJsZU9iamVjdCwgJlRhYmxlVHlwZSk7CisJaWYgKCFyZXN1bHQpIHsKKwkJVUxfUmFpc2VFeGMoRU5PTUVNKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJUHlfSU5DUkVGKHJlc3VsdCk7CisJbW50X3JlZl90YWJsZSh0YWIpOworCisJREJHKFRBQiwgcHltbnRfZGVidWdfaCh0YWIsICJyZXN1bHQgcHktb2JqICVwIG5ldywgcHktcmVmY250PSVkIiwKKwkJCQlyZXN1bHQsIChpbnQpICgoUHlPYmplY3QgKikgcmVzdWx0KS0+b2JfcmVmY250KSk7CisJcmVzdWx0LT50YWIgPSB0YWI7CisJcmVzdWx0LT5pdGVyID0gbW50X25ld19pdGVyKE1OVF9JVEVSX0ZPUldBUkQpOworCW1udF90YWJsZV9zZXRfdXNlcmRhdGEocmVzdWx0LT50YWIsIHJlc3VsdCk7CisJcmVzdWx0LT5lcnJjYiA9IE5VTEw7CisJcmV0dXJuIChQeU9iamVjdCAqKSByZXN1bHQ7Cit9CisKK3N0YXRpYyBQeUdldFNldERlZiBUYWJsZV9nZXRzZXRlcnNbXSA9IHsKKwl7Im5lbnRzIiwJCShnZXR0ZXIpVGFibGVfZ2V0X25lbnRzLCBOVUxMLCAibnVtYmVyIG9mIHZhbGlkIGVudHJpZXMgaW4gdGFiIiwgTlVMTH0sCisJeyJpbnRyb19jb21tZW50IiwJKGdldHRlcilUYWJsZV9nZXRfaW50cm9fY29tbWVudCwgKHNldHRlcilUYWJsZV9zZXRfaW50cm9fY29tbWVudCwgImZzdGFiIGludHJvIGNvbW1lbnQiLCBOVUxMfSwKKwl7InRyYWlsaW5nX2NvbW1lbnQiLAkoZ2V0dGVyKVRhYmxlX2dldF90cmFpbGluZ19jb21tZW50LCAoc2V0dGVyKVRhYmxlX3NldF90cmFpbGluZ19jb21tZW50LCAiZnN0YWIgdHJhaWxpbmcgY29tbWVudCIsIE5VTEx9LAorCXsiZXJyY2IiLAkJTlVMTCwgKHNldHRlcilUYWJsZV9zZXRfcGFyc2VyX2VycmNiLCAicGFyc2VyIGVycm9yIGNhbGxiYWNrIiwgTlVMTH0sCisJe05VTEx9Cit9OworCisKK3N0YXRpYyBQeU9iamVjdCAqVGFibGVfcmVwcihUYWJsZU9iamVjdCAqc2VsZikKK3sKKwlyZXR1cm4gUHlVbmljb2RlX0Zyb21Gb3JtYXQoCisJCQkiPGxpYm1vdW50LlRhYmxlIG9iamVjdCBhdCAlcCwgZW50cmllcz0lZCwgY29tbWVudHNfZW5hYmxlZD0lcywgZXJyY2I9JXM+IiwKKwkJCXNlbGYsCisJCQltbnRfdGFibGVfZ2V0X25lbnRzKHNlbGYtPnRhYiksCisJCQltbnRfdGFibGVfd2l0aF9jb21tZW50cyhzZWxmLT50YWIpID8gIlRydWUiIDogIkZhbHNlIiwKKwkJCXNlbGYtPmVycmNiID8gcHlzdG9zKFB5T2JqZWN0X1JlcHIoc2VsZi0+ZXJyY2IpKSA6ICJOb25lIik7Cit9CisKK1B5VHlwZU9iamVjdCBUYWJsZVR5cGUgPSB7CisJUHlWYXJPYmplY3RfSEVBRF9JTklUKE5VTEwsIDApCisJImxpYm1vdW50LlRhYmxlIiwgLyp0cF9uYW1lKi8KKwlzaXplb2YoVGFibGVPYmplY3QpLCAvKnRwX2Jhc2ljc2l6ZSovCisJMCwgLyp0cF9pdGVtc2l6ZSovCisJKGRlc3RydWN0b3IpVGFibGVfZGVzdHJ1Y3RvciwgLyp0cF9kZWFsbG9jKi8KKwkwLCAvKnRwX3ByaW50Ki8KKwkwLCAvKnRwX2dldGF0dHIqLworCTAsIC8qdHBfc2V0YXR0ciovCisJMCwgLyp0cF9jb21wYXJlKi8KKwkocmVwcmZ1bmMpIFRhYmxlX3JlcHIsIC8qdHBfcmVwciovCisJMCwgLyp0cF9hc19udW1iZXIqLworCTAsIC8qdHBfYXNfc2VxdWVuY2UqLworCTAsIC8qdHBfYXNfbWFwcGluZyovCisJMCwgLyp0cF9oYXNoICovCisJMCwgLyp0cF9jYWxsKi8KKwkwLCAvKnRwX3N0ciovCisJMCwgLyp0cF9nZXRhdHRybyovCisJMCwgLyp0cF9zZXRhdHRybyovCisJMCwgLyp0cF9hc19idWZmZXIqLworCVB5X1RQRkxBR1NfREVGQVVMVCB8IFB5X1RQRkxBR1NfQkFTRVRZUEUsIC8qdHBfZmxhZ3MqLworCVRhYmxlX0hFTFAsIC8qIHRwX2RvYyAqLworCTAsIC8qIHRwX3RyYXZlcnNlICovCisJMCwgLyogdHBfY2xlYXIgKi8KKwkwLCAvKiB0cF9yaWNoY29tcGFyZSAqLworCTAsIC8qIHRwX3dlYWtsaXN0b2Zmc2V0ICovCisJMCwgLyogdHBfaXRlciAqLworCTAsIC8qIHRwX2l0ZXJuZXh0ICovCisJVGFibGVfbWV0aG9kcywgLyogdHBfbWV0aG9kcyAqLworCVRhYmxlX21lbWJlcnMsIC8qIHRwX21lbWJlcnMgKi8KKwlUYWJsZV9nZXRzZXRlcnMsIC8qIHRwX2dldHNldCAqLworCTAsIC8qIHRwX2Jhc2UgKi8KKwkwLCAvKiB0cF9kaWN0ICovCisJMCwgLyogdHBfZGVzY3JfZ2V0ICovCisJMCwgLyogdHBfZGVzY3Jfc2V0ICovCisJMCwgLyogdHBfZGljdG9mZnNldCAqLworCShpbml0cHJvYylUYWJsZV9pbml0LCAvKiB0cF9pbml0ICovCisJMCwgLyogdHBfYWxsb2MgKi8KKwlUYWJsZV9uZXcsIC8qIHRwX25ldyAqLworfTsKKwordm9pZCBUYWJsZV9BZGRNb2R1bGVPYmplY3QoUHlPYmplY3QgKm1vZCkKK3sKKwlpZiAoUHlUeXBlX1JlYWR5KCZUYWJsZVR5cGUpIDwgMCkKKwkJcmV0dXJuOworCisJREJHKFRBQiwgcHltbnRfZGVidWcoImFkZCB0byBtb2R1bGUiKSk7CisKKwlQeV9JTkNSRUYoJlRhYmxlVHlwZSk7CisJUHlNb2R1bGVfQWRkT2JqZWN0KG1vZCwgIlRhYmxlIiwgKFB5T2JqZWN0ICopJlRhYmxlVHlwZSk7Cit9CisKZGlmZiAtLWdpdCBhL2xpYm1vdW50L3B5dGhvbi90ZXN0X21vdW50X2NvbnRleHQucHkgYi9saWJtb3VudC9weXRob24vdGVzdF9tb3VudF9jb250ZXh0LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdhZWE0NDQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtb3VudC9weXRob24vdGVzdF9tb3VudF9jb250ZXh0LnB5CkBAIC0wLDAgKzEsMTczIEBACitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCBzdGF0CitpbXBvcnQgZXJybm8KKworIyB1c2UgImltcG9ydCBsaWJtb3VudCIgZm9yIGluIGEgc3RhbmRhcmQgd2F5IGluc3RhbGxlZCBweXRob24gYmluZGluZworaW1wb3J0IHB5bGlibW91bnQgYXMgbW50CisKK2RlZiB1c2FnZSh0c3MpOgorCXByaW50KCJcblVzYWdlOlxuXHR7OnN9IDx0ZXN0PiBbdGVzdG9wdGlvbnNdXG5UZXN0czpcbiIuZm9ybWF0KHN5cy5hcmd2WzBdKSkKKwlmb3IgaSBpbiB0c3M6CisJCXByaW50KCJcdHsxNTotc30iLmZvcm1hdChpWzBdKSkKKwkJaWYgaVsyXSAhPSAiIjoKKwkJCXByaW50KCIgezpzfVxuIi5mb3JtYXQoaVsyXSkpCisKKwlwcmludCgiXG4iKQorCXJldHVybiAxCisKK2RlZiBtbnRfcnVuX3Rlc3QodHNzLCBhcmd2KToKKwlyYyA9IC0xCisJaWYgKChsZW4oYXJndikgPCAyKSBvciAoYXJndlsxXSA9PSAiLS1oZWxwIikgb3IgKGFyZ3ZbMV0gPT0gIi1oIikpOgorCQlyZXR1cm4gdXNhZ2UodHNzKQorCisJI21udF9pbml0X2RlYnVnKDApCisKKwlpPSgpCisJZm9yIGkgaW4gdHNzOgorCQlpZiBpWzBdID09IGFyZ3ZbMV06CisJCQlyYyA9IGlbMV0oaSwgYXJndlsxOl0pCisJCQlpZiByYzoKKwkJCQlwcmludCgiRkFJTEVEIFtyYz17OmR9XSIuZm9ybWF0KHJjKSkKKwkJCWJyZWFrCisKKwlpZiAoKHJjIDwgMCkgYW5kIChpID09ICgpKSk6CisJCXJldHVybiB1c2FnZSh0c3MpCisJcmV0dXJuIG5vdCBub3QgcmMgI2JlY2F1c2UgISFyYyBpcyB0b28gbWFpbnN0cmVhbSBmb3IgcHl0aG9uCisKK2RlZiB0ZXN0X21vdW50KHRzLCBhcmd2KToKKwlpZHggPSAxCisJcmMgPSAwCisKKwlpZiBsZW4oYXJndikgPCAyOgorCQlyZXR1cm4gLWVycm5vLkVJTlZBTAorCisJY3h0ID0gbW50LkNvbnRleHQoKQorCisJaWYgYXJndltpZHhdID09ICItbyI6CisJCWN4dC5vcHRpb25zID0gYXJndltpZHgrMV0KKwkJaWR4ICs9IDIKKwlpZiBhcmd2W2lkeF0gPT0gIi10IjoKKwkJY3h0LmZzdHlwZSA9IGFyZ3ZbaWR4KzFdCisJCWlkeCArPSAyCisJaWYgbGVuKGFyZ3YpID09IGlkeCArIDE6CisJCWN4dC50YXJnZXQgPSBhcmd2W2lkeF0KKwkJaWR4Kz0xCisJZWxpZiAobGVuKGFyZ3YpID09IGlkeCArIDIpOgorCQljeHQuc291cmNlID0gYXJndltpZHhdCisJCWlkeCArPSAxCisJCWN4dC50YXJnZXQgPSBhcmd2W2lkeF0KKwkJaWR4ICs9IDEKKworCXRyeToKKwkJY3h0Lm1vdW50KCkKKwlleGNlcHQgRXhjZXB0aW9uOgorCQlwcmludCgiZmFpbGVkIHRvIG1vdW50IikKKwkJcmV0dXJuIC0xCisJcHJpbnQoInN1Y2Nlc3NmdWxseSBtb3VudGVkIikKKwlyZXR1cm4gcmMKKworZGVmIHRlc3RfdW1vdW50KHRzLCBhcmd2KToKKwlpZHggPSAxCisJcmMgPSAwCisJaWYgbGVuKGFyZ3YpIDwgMjoKKwkJcmV0dXJuIC1lcnJuby5FSU5WQUwKKworCWN4dCA9IG1udC5Db250ZXh0KCkKKworCWlmIGFyZ3ZbaWR4XSA9PSAiLXQiOgorCQljeHQub3B0aW9ucyA9IGFyZ3ZbaWR4KzFdCisJCWlkeCArPSAyCisKKwlpZiBhcmd2W2lkeF0gPT0gIi1mIjoKKwkJY3h0LmVuYWJsZV9mb3JjZShUcnVlKQorCisJaWYgYXJndltpZHhdID09ICItbCI6CisJCWN4dC5lbmFibGVfbGF6eShUcnVlKQorCQlpZHggKz0gMQorCWVsaWYgYXJndltpZHhdID09ICAiLXIiOgorCQljeHQuZW5hYmxlX3Jkb25seV91bW91bnQoVHJ1ZSkKKwkJaWR4ICs9IDEKKworCWlmIGxlbihhcmd2KSA9PSBpZHggKyAxOgorCQljeHQudGFyZ2V0ID0gYXJndltpZHhdCisJCWlkeCArPSAxCisJZWxzZToKKwkJcmV0dXJuIC1lcnJuby5FSU5WQUwKKwl0cnk6CisJCWN4dC51bW91bnQoKQorCWV4Y2VwdCBFeGNlcHRpb246CisJCXByaW50KCJmYWlsZWQgdG8gdW1vdW50IikKKwkJcmV0dXJuIDEKKwlwcmludCgic3VjY2Vzc2Z1bGx5IHVtb3VudGVkIikKKwlyZXR1cm4gcmMKKworZGVmIHRlc3RfZmxhZ3ModHMsIGFyZ3YpOgorCWlkeCA9IDEKKwlyYyA9IDAKKwlvcHQgPSAiIgorCWZsYWdzID0gMAorCWN4dCA9IG1udC5Db250ZXh0KCkKKworCWlmIGFyZ3ZbaWR4XSA9PSAiLW8iOgorCQljeHQub3B0aW9ucyA9IGFyZ3ZbaWR4ICsgMV0KKwkJaWR4ICs9IDIKKwlpZiBsZW4oYXJndikgPT0gaWR4ICsgMToKKwkJY3h0LnRhcmdldCA9IGFyZ3ZbaWR4XQorCQlpZHggKz0gMQorCisJdHJ5OgorCQljeHQucHJlcGFyZV9tb3VudCgpCisJIyBjYXRjaCBpb2Vycm9yIGhlcmUKKwlleGNlcHQgSU9FcnJvciBhcyBlOgorCQlwcmludCgiZmFpbGVkIHRvIHByZXBhcmUgbW91bnQgezpzfSIuZm9ybWF0KGUuc3RyZXJyb3IpKQorCisJb3B0ID0gY3h0LmZzLm9wdGlvbnMKKwlpZiAob3B0KToKKwkJcHJpbnQoIm9wdGlvbnM6IHs6c30iLCBvcHQpCisKKwlwcmludCgiZmxhZ3M6IHswODpseH0iLmZvcm1hdChjeHQubWZsYWdzKCkpKQorCXJldHVybiByYworCitkZWYgdGVzdF9tb3VudGFsbCh0cywgYXJndik6CisJbW50cmMgPSAxCisJaWdub3JlZCA9IDEKKwlpZHggPSAxCisJY3h0ID0gbW50LkNvbnRleHQoKQorCisJaWYgbGVuKGFyZ3YpID4gMjoKKwkJaWYgYXJndltpZHhdID09ICItTyI6CisJCQljeHQub3B0aW9uc19wYXR0ZXJuID0gYXJndltpZHgrMV0KKwkJCWlkeCArPSAyCisJCWlmIGFyZ3ZbaWR4XSA9PSAiLXQiOgorCQkJY3h0LmZzdHlwZV9wYXR0ZXJuID0gYXJndltpZHgrMV0KKwkJCWlkeCArPSAyCisKKwlpID0gKCkKKwl3aGlsZSAoY3h0Lm5leHRfbW91bnQoKSk6CisJCXRndCA9IGkudGFyZ2V0CisJCWlmIChpZ25vcmVkID09IDEpOgorCQkJcHJpbnQoIns6c306IGlnbm9yZWQ6IG5vdCBtYXRjaCIuZm9ybWF0KHRndCkpCisJCWVsaWYgKGlnbm9yZWQgPT0gMik6CisJCQlwcmludCgiezpzfTogaWdub3JlZDogYWxyZWFkeSBtb3VudGVkIi5mb3JtYXQodGd0KSkKKwkJZWxpZiAobm90IGN4dC5zdGF0dXMpOgorCQkJaWYgKG1udHJjID4gMCk6CisJCQkJIyA/PyBlcnJubyA9IG1udHJjCisJCQkJcHJpbnQoIns6c306IG1vdW50IGZhaWxlZCIuZm9ybWF0KHRndCkpCisJCQllbHNlOgorCQkJCXByaW50KCJ7OnN9OiBtb3VudCBmYWlsZWQiLmZvcm1hdCh0Z3QpKQorCQllbHNlOgorCQkJcHJpbnQoIns6c306IHN1Y2Nlc3NmdWxseSBtb3VudGVkIi5mb3JtYXQodGd0KSkKKworCXJldHVybiAwCisKKwordHNzID0gKAorCSggIi0tbW91bnQiLCAgdGVzdF9tb3VudCwgICJbLW8gPG9wdHM+XSBbLXQgPHR5cGU+XSA8c3BlYz58PHNyYz4gPHRhcmdldD4iICksCisJKCAiLS11bW91bnQiLCB0ZXN0X3Vtb3VudCwgIlstdCA8dHlwZT5dIFstZl1bLWxdWy1yXSA8c3JjPnw8dGFyZ2V0PiIgKSwKKwkoICItLW1vdW50LWFsbCIsIHRlc3RfbW91bnRhbGwsICAiWy1PIDxwYXR0ZXJuPl0gWy10IDxwYXR0ZXJuXSBtb3VudCBhbGwgZmlsZXN5c3RlbXMgZnJvbSBmc3RhYiIgKSwKKwkoICItLWZsYWdzIiwgdGVzdF9mbGFncywgICAiWy1vIDxvcHRzPl0gPHNwZWM+IiApCispCitvcy51bWFzayhzdGF0LlNfSVdHUlAgfCBzdGF0LlNfSVdPVEgpICN0byBiZSBjb21wYXRpYmxlIHdpdGggbW91bnQoOCkKKworc3lzLmV4aXQobW50X3J1bl90ZXN0KHRzcywgc3lzLmFyZ3YpKQpkaWZmIC0tZ2l0IGEvbGlibW91bnQvcHl0aG9uL3Rlc3RfbW91bnRfdGFiLnB5IGIvbGlibW91bnQvcHl0aG9uL3Rlc3RfbW91bnRfdGFiLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFmNjNiOTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtb3VudC9weXRob24vdGVzdF9tb3VudF90YWIucHkKQEAgLTAsMCArMSwxNjQgQEAKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IHN0YXQKK2ltcG9ydCBlcnJubworaW1wb3J0IGZ1bmN0b29scyBhcyBmdAorCisjIHVzZSAiaW1wb3J0IGxpYm1vdW50IiBmb3IgaW4gYSBzdGFuZGFyZCB3YXkgaW5zdGFsbGVkIHB5dGhvbiBiaW5kaW5nCitpbXBvcnQgcHlsaWJtb3VudCBhcyBtbnQKKworZGVmIHVzYWdlKHRzcyk6CisJcHJpbnQoIlxuVXNhZ2U6XG5cdHs6c30gPHRlc3Q+IFt0ZXN0b3B0aW9uc11cblRlc3RzOlxuIi5mb3JtYXQoc3lzLmFyZ3ZbMF0pKQorCWZvciBpIGluIHRzczoKKwkJcHJpbnQoIlx0ezE1Oi1zfSIuZm9ybWF0KGlbMF0pKQorCQlpZiBpWzJdICE9ICIiOgorCQkJcHJpbnQoIiB7OnN9XG4iLmZvcm1hdChpWzJdKSkKKworCXByaW50KCJcbiIpCisJcmV0dXJuIDEKKworZGVmIG1udF9ydW5fdGVzdCh0c3MsIGFyZ3YpOgorCXJjID0gLTEKKwlpZiAoKGxlbihhcmd2KSA8IDIpIG9yIChhcmd2WzFdID09ICItLWhlbHAiKSBvciAoYXJndlsxXSA9PSAiLWgiKSk6CisJCXJldHVybiB1c2FnZSh0c3MpCisKKwkjbW50X2luaXRfZGVidWcoMCkKKworCWk9KCkKKwlmb3IgaSBpbiB0c3M6CisJCWlmIGlbMF0gPT0gYXJndlsxXToKKwkJCXJjID0gaVsxXShpLCBhcmd2WzE6XSkKKwkJCWlmIHJjOgorCQkJCXByaW50KCJGQUlMRUQgW3JjPXs6ZH1dIi5mb3JtYXQocmMpKQorCQkJYnJlYWsKKworCWlmICgocmMgPCAwKSBhbmQgKGkgPT0gKCkpKToKKwkJcmV0dXJuIHVzYWdlKHRzcykKKwlyZXR1cm4gbm90IG5vdCByYyAjYmVjYXVzZSAhIXJjIGlzIHRvbyBtYWluc3RyZWFtIGZvciBweXRob24KKworZGVmIHBhcnNlcl9lcnJjYih0YiwgZm5hbWUsIGxpbmUpOgorCXByaW50KCJ7OnN9Ons6ZH06IHBhcnNlIGVycm9yIi5mb3JtYXQoZm5hbWUsIGxpbmUpKQorCXJldHVybiAxCisKK2RlZiBjcmVhdGVfdGFibGUoZiwgY29tbWVudHMpOgorCWlmIG5vdCBmOgorCQlyZXR1cm4gTm9uZQorCisJdGIgPSBtbnQuVGFibGUoKQorCXRiLmVuYWJsZV9jb21tZW50cyhjb21tZW50cykKKwl0Yi5lcnJjYiA9IHBhcnNlcl9lcnJjYgorCisJdHJ5OgorCQl0Yi5wYXJzZV9maWxlKGYpCisJZXhjZXB0IEV4Y2VwdGlvbjoKKwkJcHJpbnQoIns6c306IHBhcnNpbmcgZmFpbGVkIi5mb3JtYXQoZikpCisJCXJldHVybiBOb25lCisJcmV0dXJuIHRiCisKK2RlZiB0ZXN0X2NvcHlfZnModHMsIGFyZ3YpOgorCXJjID0gLTEKKwl0YiA9IGNyZWF0ZV90YWJsZShhcmd2WzFdLCBGYWxzZSkKKwlmcyA9IHRiLmZpbmRfdGFyZ2V0KCIvIiwgbW50Lk1OVF9JVEVSX0ZPUldBUkQpCisJaWYgbm90IGZzOgorCQlyZXR1cm4gcmMKKworCXByaW50KCJPUklHSU5BTDoiKQorCWZzLnByaW50X2RlYnVnKCkKKworCWZzID0gZnMuY29weV9mcyhOb25lKQorCWlmIG5vdCBmczoKKwkJcmV0dXJuIHJjCisJcHJpbnQoIkNPUFk6IikKKwlmcy5wcmludF9kZWJ1ZygpCisJcmV0dXJuIDAKKworZGVmIHRlc3RfcGFyc2UodHMsIGFyZ3YpOgorCXBhcnNlX2NvbW1lbnRzID0gRmFsc2UKKworCWlmIGxlbihhcmd2KSA9PSAzIGFuZCBhcmd2WzJdID09ICItLWNvbW1lbnRzIjoKKwkJcGFyc2VfY29tbWVudHMgPSBUcnVlCisJdGIgPSBjcmVhdGVfdGFibGUoYXJndlsxXSwgcGFyc2VfY29tbWVudHMpCisKKwlpZiB0Yi5pbnRyb19jb21tZW50OgorCQlwcmludCgiSW5pdGlhbCBjb21tZW50OlxuXCJ7OnN9XCIiLmZvcm1hdCh0Yi5pbnRyb19jb21tZW50KSkKKwkjd2hpbGUgKChmcyA9IHRiLm5leHRfZnMoKSkgIT0gTm9uZSk6CisJZm9yIGZzIGluIGl0ZXIoZnQucGFydGlhbCh0Yi5uZXh0X2ZzKSwgTm9uZSk6CisJCWZzLnByaW50X2RlYnVnKCkKKwlpZiB0Yi50cmFpbGluZ19jb21tZW50OgorCQlwcmludCgiVHJhaWxpbmcgY29tbWVudDpcblwiezpzfVwiIi5mb3JtYXQodGIudHJhaWxpbmdfY29tbWVudCkpCisJcmV0dXJuIDAKKworZGVmIHRlc3RfZmluZCh0cywgYXJndiwgZHIpOgorCWlmIGxlbihhcmd2KSAhPSA0OgorCQlwcmludCgidHJ5IC0taGVscCIpCisJCXJldHVybiAtZXJybm8uRUlOVkFMCisKKwlmLCBmaW5kLCB3aGF0ID0gYXJndlsxOl0KKworCXRiID0gY3JlYXRlX3RhYmxlKGYsIEZhbHNlKQorCWlmIGZpbmQubG93ZXIoKSA9PSAic291cmNlIjoKKwkJZnMgPSB0Yi5maW5kX3NvdXJjZSh3aGF0LCBkcikKKwllbGlmIGZpbmQubG93ZXIoKSA9PSAidGFyZ2V0IjoKKwkJZnMgPSB0Yi5maW5kX3RhcmdldCh3aGF0LCBkcikKKworCWlmIG5vdCBmczoKKwkJcHJpbnQoIns6c306IG5vdCBmb3VuZCB7OnN9ICd7OnN9JyIuZm9ybWF0KGYsIGZpbmQsIHdoYXQpKQorCWVsc2U6CisJCWZzLnByaW50X2RlYnVnKCkKKwlyZXR1cm4gMAorCitkZWYgdGVzdF9maW5kX2Z3KHRzLCBhcmd2KToKKwlyZXR1cm4gdGVzdF9maW5kKHRzLCBhcmd2LCBtbnQuTU5UX0lURVJfRk9SV0FSRCkKKworZGVmIHRlc3RfZmluZF9idyh0cywgYXJndik6CisJcmV0dXJuIHRlc3RfZmluZCh0cywgYXJndiwgbW50Lk1OVF9JVEVSX0JBQ0tXQVJEKQorCitkZWYgdGVzdF9maW5kX3BhaXIodHMsIGFyZ3YpOgorCXJjID0gLTEKKwl0YiA9IGNyZWF0ZV90YWJsZShhcmd2WzFdLCBGYWxzZSkKKwlmcyA9IHRiLmZpbmRfcGFpcihhcmd2WzJdLCBhcmd2WzNdLCBtbnQuTU5UX0lURVJfRk9SV0FSRCkKKwlpZiBub3QgZnM6CisJCXJldHVybiByYworCWZzLnByaW50X2RlYnVnKCkKKwlyZXR1cm4gMAorCitkZWYgdGVzdF9pc19tb3VudGVkKHRzLCBhcmd2KToKKwlyYyA9IC0xCisJdGIgPSBtbnQuVGFiKHBhdGg9Ii9wcm9jL3NlbGYvbW91bnRpbmZvIikKKwlpZiBub3QgdGI6CisJCXByaW50KCJmYWlsZWQgdG8gcGFyc2UgbW91bnRpbnRvIikKKwkJcmV0dXJuIHJjCisKKwlmc3RhYiA9IGNyZWF0ZV90YWJsZShhcmd2WzFdLCBGYWxzZSkKKwlpZiBub3QgZnN0YWI6CisJCXJldHVybiByYworCWZzID0gKCkKKwlmb3IgZnMgaW4gZnQuaXRlcih0Yi5uZXh0X2ZzKCksIC0xKToKKwkJaWYgdGIuaXNfZnNfbW91bnRlZChmcyk6CisJCQlwcmludCgiezpzfSBhbHJlYWR5IG1vdW50ZWQgb24gezpzfSIuZm9ybWF0KGZzLnNvdXJjZSwgZnMudGFyZ2V0KSkKKwkJZWxzZToKKwkJCXByaW50KCJ7OnN9IG5vdCBtb3VudGVkIG9uIHs6c30iLmZvcm1hdChmcy5zb3VyY2UsIGZzLnRhcmdldCkpCisJcmV0dXJuIDAKKworZGVmIHRlc3RfZmluZF9tb3VudHBvaW50KHRzLCBhcmd2KToKKwlyYyA9IC0xCisJdGIgPSBtbnQuVGFibGUoIi9wcm9jL3NlbGYvbW91bnRpbmZvIikKKwlpZiBub3QgdGI6CisJCXJldHVybiByYworCWZzID0gdGIuZmluZF9tb3VudHBvaW50KGFyZ3ZbMV0sIG1udC5NTlRfSVRFUl9CQUNLV0FSRCkKKwlpZiBub3QgZnM6CisJCXJldHVybiByYworCWZzLnByaW50X2RlYnVnKCkKKwlyZXR1cm4gMAorCisKK3RzcyA9ICgKKwkoICItLXBhcnNlIiwgICAgdGVzdF9wYXJzZSwgICAgICAgICI8ZmlsZT4gWy0tY29tbWVudHNdIHBhcnNlIGFuZCBwcmludCh0YWIiICksCisJKCAiLS1maW5kLWZvcndhcmQiLCAgdGVzdF9maW5kX2Z3LCAiPGZpbGU+IDxzb3VyY2V8dGFyZ2V0PiA8c3RyaW5nPiIgKSwKKwkoICItLWZpbmQtYmFja3dhcmQiLCB0ZXN0X2ZpbmRfYncsICI8ZmlsZT4gPHNvdXJjZXx0YXJnZXQ+IDxzdHJpbmc+IiApLAorCSggIi0tZmluZC1wYWlyIiwgICAgIHRlc3RfZmluZF9wYWlyLCAiPGZpbGU+IDxzb3VyY2U+IDx0YXJnZXQ+IiApLAorCSggIi0tZmluZC1tb3VudHBvaW50IiwgdGVzdF9maW5kX21vdW50cG9pbnQsICI8cGF0aD4iICksCisJKCAiLS1jb3B5LWZzIiwgICAgICAgdGVzdF9jb3B5X2ZzLCAiPGZpbGU+ICBjb3B5IHJvb3QgRlMgZnJvbSB0aGUgZmlsZSIgKSwKKwkoICItLWlzLW1vdW50ZWQiLCAgICB0ZXN0X2lzX21vdW50ZWQsICI8ZnN0YWI+IGNoZWNrIHdoYXQgZnJvbSA8ZmlsZT4gYXJlIGFscmVhZHkgbW91bnRlZCIgKSwKKykKK3N5cy5leGl0KG1udF9ydW5fdGVzdCh0c3MsIHN5cy5hcmd2KSkKZGlmZiAtLWdpdCBhL2xpYm1vdW50L3B5dGhvbi90ZXN0X21vdW50X3RhYl91cGRhdGUucHkgYi9saWJtb3VudC9weXRob24vdGVzdF9tb3VudF90YWJfdXBkYXRlLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmExNmU5ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtb3VudC9weXRob24vdGVzdF9tb3VudF90YWJfdXBkYXRlLnB5CkBAIC0wLDAgKzEsNTkgQEAKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IHN0YXQKK2ltcG9ydCBlcnJubworCisjIHVzZSAiaW1wb3J0IGxpYm1vdW50IiBmb3IgaW4gYSBzdGFuZGFyZCB3YXkgaW5zdGFsbGVkIHB5dGhvbiBiaW5kaW5nCitpbXBvcnQgcHlsaWJtb3VudCBhcyBtbnQKKworZGVmIHVzYWdlKHRzcyk6CisJcHJpbnQoIlxuVXNhZ2U6XG5cdHs6c30gPHRlc3Q+IFt0ZXN0b3B0aW9uc11cblRlc3RzOlxuIi5mb3JtYXQoc3lzLmFyZ3ZbMF0pKQorCWZvciBpIGluIHRzczoKKwkJcHJpbnQoIlx0ezE1Oi1zfSIuZm9ybWF0KGlbMF0pKQorCQlpZiBpWzJdICE9ICIiOgorCQkJcHJpbnQoIiB7OnN9XG4iLmZvcm1hdChpWzJdKSkKKworCXByaW50KCJcbiIpCisJcmV0dXJuIDEKKworZGVmIG1udF9ydW5fdGVzdCh0c3MsIGFyZ3YpOgorCXJjID0gLTEKKwlpZiAoKGxlbihhcmd2KSA8IDIpIG9yIChhcmd2WzFdID09ICItLWhlbHAiKSBvciAoYXJndlsxXSA9PSAiLWgiKSk6CisJCXJldHVybiB1c2FnZSh0c3MpCisKKwkjbW50X2luaXRfZGVidWcoMCkKKworCWk9KCkKKwlmb3IgaSBpbiB0c3M6CisJCWlmIGlbMF0gPT0gYXJndlsxXToKKwkJCXJjID0gaVsxXShpLCBhcmd2WzE6XSkKKwkJCWlmIHJjOgorCQkJCXByaW50KCJGQUlMRUQgW3JjPXs6ZH1dIi5mb3JtYXQocmMpKQorCQkJYnJlYWsKKworCWlmICgocmMgPCAwKSBhbmQgKGkgPT0gKCkpKToKKwkJcmV0dXJuIHVzYWdlKHRzcykKKwlyZXR1cm4gbm90IG5vdCByYyAjYmVjYXVzZSAhIXJjIGlzIHRvbyBtYWluc3RyZWFtIGZvciBweXRob24KKworZGVmIHRlc3RfcmVwbGFjZSh0cywgYXJndik6CisJZnMgPSBtbnQuRnMoKQorCXRiID0gbW50LlRhYmxlKCkKKworCWlmIChsZW4oYXJndikgPCAzKToKKwkJcmV0dXJuIC0xCisJdGIuZW5hYmxlX2NvbW1lbnRzKFRydWUpCisJdGIucGFyc2VfZnN0YWIoKQorCisJZnMuc291cmNlID0gYXJndlsxXQorCWZzLnRhcmdldCA9IGFyZ3ZbMl0KKwkjVE9ETzogcmVzb2x2ZSBOb25lICsgc3RyaW5nCisJZnMuY29tbWVudCA9ICIjIHRoaXMgaXMgbmV3IGZpbGVzeXN0ZW1cbiIKKwl0Yi5hZGRfZnMoZnMpCisJdGIucmVwbGFjZV9maWxlKG9zLmVudmlyb25bIkxJQk1PVU5UX0ZTVEFCIl0pCisJcmV0dXJuIDAKKwordHNzID0gKAorCSggIi0tcmVwbGFjZSIsdGVzdF9yZXBsYWNlLCAiPHNyYz4gPHRhcmdldD4gICAgICAgICAgICAgICAgQWRkIGEgbGluZSB0byBMSUJNT1VOVF9GU1RBQiBhbmQgcmVwbGFjZSB0aGUgb3JpZ2luYWwgZmlsZSIgKSwKKykKKworc3lzLmV4aXQobW50X3J1bl90ZXN0KHRzcywgc3lzLmFyZ3YpKQpkaWZmIC0tZ2l0IGEvbGlibW91bnQvc3JjLy5naXRpZ25vcmUgYi9saWJtb3VudC9zcmMvLmdpdGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZGFhMGJkCi0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvc3JjLy5naXRpZ25vcmUKQEAgLTAsMCArMSBAQAorbGlibW91bnQuaApkaWZmIC0tZ2l0IGEvbGlibW91bnQvc3JjL01ha2Vtb2R1bGUuYW0gYi9saWJtb3VudC9zcmMvTWFrZW1vZHVsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YzVlZjA4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvc3JjL01ha2Vtb2R1bGUuYW0KQEAgLTAsMCArMSwxNzIgQEAKKworIyBsaWJtb3VudC5oIGlzIGdlbmVyYXRlZCwgc28gaXQncyBzdG9yZSBpbiBidWlsZGRpciEKK21vdW50aW5jZGlyID0gJChpbmNsdWRlZGlyKS9saWJtb3VudAorbm9kaXN0X21vdW50aW5jX0hFQURFUlMgPSAkKHRvcF9idWlsZGRpcikvbGlibW91bnQvc3JjL2xpYm1vdW50LmgKKwordXNybGliX2V4ZWNfTFRMSUJSQVJJRVMgKz0gbGlibW91bnQubGEKK2xpYm1vdW50X2xhX1NPVVJDRVMgPSBcCisJaW5jbHVkZS9saXN0LmggXAorCWxpYi9tb25vdG9uaWMuYyBcCisJXAorCWxpYm1vdW50L3NyYy9jYWNoZS5jIFwKKwlsaWJtb3VudC9zcmMvZnMuYyBcCisJbGlibW91bnQvc3JjL2luaXQuYyBcCisJbGlibW91bnQvc3JjL2l0ZXIuYyBcCisJbGlibW91bnQvc3JjL2xvY2suYyBcCisJbGlibW91bnQvc3JjL21vdW50UC5oIFwKKwlsaWJtb3VudC9zcmMvb3B0bWFwLmMgXAorCWxpYm1vdW50L3NyYy9vcHRzdHIuYyBcCisJbGlibW91bnQvc3JjL3RhYi5jIFwKKwlsaWJtb3VudC9zcmMvdGFiX2RpZmYuYyBcCisJbGlibW91bnQvc3JjL3RhYl9wYXJzZS5jIFwKKwlsaWJtb3VudC9zcmMvdGFiX3VwZGF0ZS5jIFwKKwlsaWJtb3VudC9zcmMvdGVzdC5jIFwKKwlsaWJtb3VudC9zcmMvdXRpbHMuYyBcCisJbGlibW91bnQvc3JjL3ZlcnNpb24uYyBcCisJJChub2Rpc3RfbW91bnRpbmNfSEVBREVSUykKKworaWYgTElOVVgKK2xpYm1vdW50X2xhX1NPVVJDRVMgKz0gXAorCWxpYm1vdW50L3NyYy9jb250ZXh0LmMgXAorCWxpYm1vdW50L3NyYy9jb250ZXh0X2xvb3BkZXYuYyBcCisJbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYyBcCisJbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmMgXAorCWxpYm1vdW50L3NyYy9tb25pdG9yLmMKKworaWYgSEFWRV9CVFJGUworbGlibW91bnRfbGFfU09VUkNFUyArPSBsaWJtb3VudC9zcmMvYnRyZnMuYworZW5kaWYKKworZW5kaWYgIyBMSU5VWAorCitub2Rpc3RfbGlibW91bnRfbGFfU09VUkNFUyA9IGxpYm1vdW50L3NyYy9tb3VudFAuaAorCitsaWJtb3VudF9sYV9MSUJBREQgPSBcCisJbGliY29tbW9uLmxhIFwKKwlsaWJibGtpZC5sYSBcCisJJChTRUxJTlVYX0xJQlMpIFwKKwkkKFJFQUxUSU1FX0xJQlMpCisKK2xpYm1vdW50X2xhX0NGTEFHUyA9IFwKKwkkKEFNX0NGTEFHUykgXAorCSQoU09MSUJfQ0ZMQUdTKSBcCisJLUkkKHVsX2xpYmJsa2lkX2luY2RpcikgXAorCS1JJCh1bF9saWJtb3VudF9pbmNkaXIpIFwKKwktSSQodG9wX3NyY2RpcikvbGlibW91bnQvc3JjCisKK2xpYm1vdW50X2xhX0RFUEVOREVOQ0lFUyA9IFwKKwlsaWJjb21tb24ubGEgXAorCWxpYmJsa2lkLmxhIFwKKwlsaWJtb3VudC9zcmMvbGlibW91bnQuc3ltIFwKKwlsaWJtb3VudC9zcmMvbGlibW91bnQuaC5pbgorCitsaWJtb3VudF9sYV9MREZMQUdTID0gJChTT0xJQl9MREZMQUdTKQoraWYgSEFWRV9WU0NSSVBUCitsaWJtb3VudF9sYV9MREZMQUdTICs9ICQoVlNDUklQVF9MREZMQUdTKSwkKHRvcF9zcmNkaXIpL2xpYm1vdW50L3NyYy9saWJtb3VudC5zeW0KK2VuZGlmCitsaWJtb3VudF9sYV9MREZMQUdTICs9IC12ZXJzaW9uLWluZm8gJChMSUJNT1VOVF9WRVJTSU9OX0lORk8pCisKKworRVhUUkFfRElTVCArPSBcCisJbGlibW91bnQvc3JjL2xpYm1vdW50LnN5bSBcCisJbGlibW91bnQvc3JjL2xpYm1vdW50LmguaW4KKworaWYgQlVJTERfTElCTU9VTlRfVEVTVFMKK2NoZWNrX1BST0dSQU1TICs9IFwKKwl0ZXN0X21vdW50X2NhY2hlIFwKKwl0ZXN0X21vdW50X2xvY2sgXAorCXRlc3RfbW91bnRfb3B0c3RyIFwKKwl0ZXN0X21vdW50X3RhYiBcCisJdGVzdF9tb3VudF90YWJfZGlmZiBcCisJdGVzdF9tb3VudF90YWJfdXBkYXRlIFwKKwl0ZXN0X21vdW50X3V0aWxzIFwKKwl0ZXN0X21vdW50X3ZlcnNpb24gXAorCXRlc3RfbW91bnRfZGVidWcKK2lmIExJTlVYCitjaGVja19QUk9HUkFNUyArPSB0ZXN0X21vdW50X2NvbnRleHQKK2NoZWNrX1BST0dSQU1TICs9IHRlc3RfbW91bnRfbW9uaXRvcgorZW5kaWYKKworbGlibW91bnRfdGVzdHNfY2ZsYWdzICA9IC1EVEVTVF9QUk9HUkFNICQobGlibW91bnRfbGFfQ0ZMQUdTKSAkKE5PX1VOVVNFRF9XQVJOX0NGTEFHUykKK2xpYm1vdW50X3Rlc3RzX2xkZmxhZ3MgPSBsaWJibGtpZC5sYSAtc3RhdGljCitsaWJtb3VudF90ZXN0c19sZGFkZCAgID0gJChMREFERCkgbGlibW91bnQubGEgJChVVUlEX0xJQlMpICQoUkVBTFRJTUVfTElCUykKKworaWYgSEFWRV9TRUxJTlVYCitsaWJtb3VudF90ZXN0c19sZGFkZCArPSAkKFNFTElOVVhfTElCUykKK2VuZGlmCisKK3Rlc3RfbW91bnRfY2FjaGVfU09VUkNFUyA9IGxpYm1vdW50L3NyYy9jYWNoZS5jCit0ZXN0X21vdW50X2NhY2hlX0NGTEFHUyA9ICQobGlibW91bnRfdGVzdHNfY2ZsYWdzKQordGVzdF9tb3VudF9jYWNoZV9MREZMQUdTID0gJChsaWJtb3VudF90ZXN0c19sZGZsYWdzKQordGVzdF9tb3VudF9jYWNoZV9MREFERCA9ICQobGlibW91bnRfdGVzdHNfbGRhZGQpCisKK3Rlc3RfbW91bnRfY29udGV4dF9TT1VSQ0VTID0gbGlibW91bnQvc3JjL2NvbnRleHQuYwordGVzdF9tb3VudF9jb250ZXh0X0NGTEFHUyA9ICQobGlibW91bnRfdGVzdHNfY2ZsYWdzKQordGVzdF9tb3VudF9jb250ZXh0X0xERkxBR1MgPSAkKGxpYm1vdW50X3Rlc3RzX2xkZmxhZ3MpCit0ZXN0X21vdW50X2NvbnRleHRfTERBREQgPSAkKGxpYm1vdW50X3Rlc3RzX2xkYWRkKQorCit0ZXN0X21vdW50X2xvY2tfU09VUkNFUyA9IGxpYm1vdW50L3NyYy9sb2NrLmMKK3Rlc3RfbW91bnRfbG9ja19DRkxBR1MgPSAkKGxpYm1vdW50X3Rlc3RzX2NmbGFncykKK3Rlc3RfbW91bnRfbG9ja19MREZMQUdTID0gJChsaWJtb3VudF90ZXN0c19sZGZsYWdzKQordGVzdF9tb3VudF9sb2NrX0xEQUREID0gJChsaWJtb3VudF90ZXN0c19sZGFkZCkKKwordGVzdF9tb3VudF9vcHRzdHJfU09VUkNFUyA9IGxpYm1vdW50L3NyYy9vcHRzdHIuYwordGVzdF9tb3VudF9vcHRzdHJfQ0ZMQUdTID0gJChsaWJtb3VudF90ZXN0c19jZmxhZ3MpCit0ZXN0X21vdW50X29wdHN0cl9MREZMQUdTID0gJChsaWJtb3VudF90ZXN0c19sZGZsYWdzKQordGVzdF9tb3VudF9vcHRzdHJfTERBREQgPSAkKGxpYm1vdW50X3Rlc3RzX2xkYWRkKQorCit0ZXN0X21vdW50X3RhYl9TT1VSQ0VTID0gbGlibW91bnQvc3JjL3RhYi5jCit0ZXN0X21vdW50X3RhYl9DRkxBR1MgPSAkKGxpYm1vdW50X3Rlc3RzX2NmbGFncykKK3Rlc3RfbW91bnRfdGFiX0xERkxBR1MgPSAkKGxpYm1vdW50X3Rlc3RzX2xkZmxhZ3MpCit0ZXN0X21vdW50X3RhYl9MREFERCA9ICQobGlibW91bnRfdGVzdHNfbGRhZGQpCisKK3Rlc3RfbW91bnRfdGFiX2RpZmZfU09VUkNFUyA9IGxpYm1vdW50L3NyYy90YWJfZGlmZi5jCit0ZXN0X21vdW50X3RhYl9kaWZmX0NGTEFHUyA9ICQobGlibW91bnRfdGVzdHNfY2ZsYWdzKQordGVzdF9tb3VudF90YWJfZGlmZl9MREZMQUdTID0gJChsaWJtb3VudF90ZXN0c19sZGZsYWdzKQordGVzdF9tb3VudF90YWJfZGlmZl9MREFERCA9ICQobGlibW91bnRfdGVzdHNfbGRhZGQpCisKK3Rlc3RfbW91bnRfbW9uaXRvcl9TT1VSQ0VTID0gbGlibW91bnQvc3JjL21vbml0b3IuYwordGVzdF9tb3VudF9tb25pdG9yX0NGTEFHUyA9ICQobGlibW91bnRfdGVzdHNfY2ZsYWdzKQordGVzdF9tb3VudF9tb25pdG9yX0xERkxBR1MgPSAkKGxpYm1vdW50X3Rlc3RzX2xkZmxhZ3MpCit0ZXN0X21vdW50X21vbml0b3JfTERBREQgPSAkKGxpYm1vdW50X3Rlc3RzX2xkYWRkKQorCit0ZXN0X21vdW50X3RhYl91cGRhdGVfU09VUkNFUyA9IGxpYm1vdW50L3NyYy90YWJfdXBkYXRlLmMKK3Rlc3RfbW91bnRfdGFiX3VwZGF0ZV9DRkxBR1MgPSAkKGxpYm1vdW50X3Rlc3RzX2NmbGFncykKK3Rlc3RfbW91bnRfdGFiX3VwZGF0ZV9MREZMQUdTID0gJChsaWJtb3VudF90ZXN0c19sZGZsYWdzKQordGVzdF9tb3VudF90YWJfdXBkYXRlX0xEQUREID0gJChsaWJtb3VudF90ZXN0c19sZGFkZCkKKwordGVzdF9tb3VudF91dGlsc19TT1VSQ0VTID0gbGlibW91bnQvc3JjL3V0aWxzLmMKK3Rlc3RfbW91bnRfdXRpbHNfQ0ZMQUdTID0gJChsaWJtb3VudF90ZXN0c19jZmxhZ3MpCit0ZXN0X21vdW50X3V0aWxzX0xERkxBR1MgPSAkKGxpYm1vdW50X3Rlc3RzX2xkZmxhZ3MpCit0ZXN0X21vdW50X3V0aWxzX0xEQUREID0gJChsaWJtb3VudF90ZXN0c19sZGFkZCkKKwordGVzdF9tb3VudF92ZXJzaW9uX1NPVVJDRVMgPSBsaWJtb3VudC9zcmMvdmVyc2lvbi5jCit0ZXN0X21vdW50X3ZlcnNpb25fQ0ZMQUdTID0gJChsaWJtb3VudF90ZXN0c19jZmxhZ3MpCit0ZXN0X21vdW50X3ZlcnNpb25fTERGTEFHUyA9ICQobGlibW91bnRfdGVzdHNfbGRmbGFncykKK3Rlc3RfbW91bnRfdmVyc2lvbl9MREFERCA9ICQobGlibW91bnRfdGVzdHNfbGRhZGQpCisKK3Rlc3RfbW91bnRfZGVidWdfU09VUkNFUyA9IGxpYm1vdW50L3NyYy9pbml0LmMKK3Rlc3RfbW91bnRfZGVidWdfQ0ZMQUdTID0gJChsaWJtb3VudF90ZXN0c19jZmxhZ3MpCit0ZXN0X21vdW50X2RlYnVnX0xERkxBR1MgPSAkKGxpYm1vdW50X3Rlc3RzX2xkZmxhZ3MpCit0ZXN0X21vdW50X2RlYnVnX0xEQUREID0gJChsaWJtb3VudF90ZXN0c19sZGFkZCkKKworZW5kaWYgIyBCVUlMRF9MSUJNT1VOVF9URVNUUworCisKKyMgbW92ZSBsaWIgZnJvbSAkKHVzcmxpYl9leGVjZGlyKSB0byAkKGxpYmRpcikgaWYgbmVlZGVkCitpbnN0YWxsLWV4ZWMtaG9vay1saWJtb3VudDoKKwlpZiB0ZXN0ICIkKHVzcmxpYl9leGVjZGlyKSIgIT0gIiQobGliZGlyKSIgLWEgLWYgIiQoREVTVERJUikkKHVzcmxpYl9leGVjZGlyKS9saWJtb3VudC5zbyI7IHRoZW4gXAorCQkkKE1LRElSX1ApICQoREVTVERJUikkKGxpYmRpcik7IFwKKwkJbXYgJChERVNURElSKSQodXNybGliX2V4ZWNkaXIpL2xpYm1vdW50LnNvLiogJChERVNURElSKSQobGliZGlyKTsgXAorCQlzb19pbWdfbmFtZT0kJChyZWFkbGluayAkKERFU1RESVIpJCh1c3JsaWJfZXhlY2RpcikvbGlibW91bnQuc28pOyBcCisJCXNvX2ltZ19yZWxfdGFyZ2V0PSQkKGVjaG8gJCh1c3JsaWJfZXhlY2RpcikgfCBzZWQgJ3MsXCheL1x8XClbXi9dW14vXSosLi4sZycpOyBcCisJCShjZCAkKERFU1RESVIpJCh1c3JsaWJfZXhlY2RpcikgJiYgXAorCQkJcm0gLWYgbGlibW91bnQuc28gJiYgXAorCQkJJChMTl9TKSAkJHNvX2ltZ19yZWxfdGFyZ2V0JChsaWJkaXIpLyQkc29faW1nX25hbWUgbGlibW91bnQuc28pOyBcCisJZmkKKwordW5pbnN0YWxsLWhvb2stbGlibW91bnQ6CisJcm0gLWYgJChERVNURElSKSQobGliZGlyKS9saWJtb3VudC5zbyoKKworSU5TVEFMTF9FWEVDX0hPT0tTICs9IGluc3RhbGwtZXhlYy1ob29rLWxpYm1vdW50CitVTklOU1RBTExfSE9PS1MgKz0gdW5pbnN0YWxsLWhvb2stbGlibW91bnQKZGlmZiAtLWdpdCBhL2xpYm1vdW50L3NyYy9idHJmcy5jIGIvbGlibW91bnQvc3JjL2J0cmZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmU0ZDE0NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L3NyYy9idHJmcy5jCkBAIC0wLDAgKzEsMTc0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IERhdmlkIFN0ZXJiYSA8ZHN0ZXJiYUBzdXNlLmN6PgorICogQ29weXJpZ2h0IChDKSAyMDE2IFN0YW5pc2xhdiBCcmFiZWMgPHNicmFiZWNAc3VzZS5jej4KKyAqCisgKiBCYXNlZCBvbiBrZXJuZWwgY3RyZWUuaCwgcmJ0cmVlLmggYW5kIGJ0cmZzLXByb2dzLgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxkaXJlbnQuaD4KKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxsaW51eC9idHJmcy5oPgorCisjaW5jbHVkZSAibW91bnRQLmgiCisjaW5jbHVkZSAiYml0b3BzLmgiCisKKworLyogbGludXgvYnRyZnMuaCBsYWNrcyBsYXJnZSBwYXJ0cyBvZiBzdHVmZiBuZWVkZWQgZm9yIGdldHRpbmcgZGVmYXVsdAorICogc3ViLXZvbHVtZS4gU3VwcG9zZSB0aGF0IGlmIEJUUkZTX0RJUl9JVEVNX0tFWSBpcyBub3QgZGVmaW5lZCwgYWxsCisgKiBkZWNsYXJhdGlvbnMgYXJlIHN0aWxsIG1pc3NpbmcuCisgKi8KKyNpZm5kZWYgQlRSRlNfRElSX0lURU1fS0VZCisKKy8qCisgKiBkaXIgaXRlbXMgYXJlIHRoZSBuYW1lIC0+IGlub2RlIHBvaW50ZXJzIGluIGEgZGlyZWN0b3J5LiAgVGhlcmUgaXMgb25lCisgKiBmb3IgZXZlcnkgbmFtZSBpbiBhIGRpcmVjdG9yeS4KKyAqLworI2RlZmluZSBCVFJGU19ESVJfSVRFTV9LRVkJODQKKworLyogaG9sZHMgcG9pbnRlcnMgdG8gYWxsIG9mIHRoZSB0cmVlIHJvb3RzICovCisjZGVmaW5lIEJUUkZTX1JPT1RfVFJFRV9PQkpFQ1RJRCAxVUxMCisKKy8qIGRpcmVjdG9yeSBvYmplY3RpZCBpbnNpZGUgdGhlIHJvb3QgdHJlZSAqLworI2RlZmluZSBCVFJGU19ST09UX1RSRUVfRElSX09CSkVDVElEIDZVTEwKKworLyoKKyAqIHRoZSBrZXkgZGVmaW5lcyB0aGUgb3JkZXIgaW4gdGhlIHRyZWUsIGFuZCBzbyBpdCBhbHNvIGRlZmluZXMgKG9wdGltYWwpCisgKiBibG9jayBsYXlvdXQuICBvYmplY3RpZCBjb3JyZXNwb25kcyB3aXRoIHRoZSBpbm9kZSBudW1iZXIuICBUaGUgZmxhZ3MKKyAqIHRlbGxzIHVzIHRoaW5ncyBhYm91dCB0aGUgb2JqZWN0LCBhbmQgaXMgYSBraW5kIG9mIHN0cmVhbSBzZWxlY3Rvci4KKyAqIHNvIGZvciBhIGdpdmVuIGlub2RlLCBrZXlzIHdpdGggZmxhZ3Mgb2YgMSBtaWdodCByZWZlciB0byB0aGUgaW5vZGUKKyAqIGRhdGEsIGZsYWdzIG9mIDIgbWF5IHBvaW50IHRvIGZpbGUgZGF0YSBpbiB0aGUgYnRyZWUgYW5kIGZsYWdzID09IDMKKyAqIG1heSBwb2ludCB0byBleHRlbnRzLgorICoKKyAqIG9mZnNldCBpcyB0aGUgc3RhcnRpbmcgYnl0ZSBvZmZzZXQgZm9yIHRoaXMga2V5IGluIHRoZSBzdHJlYW0uCisgKgorICogYnRyZnNfZGlza19rZXkgaXMgaW4gZGlzayBieXRlIG9yZGVyLiAgc3RydWN0IGJ0cmZzX2tleSBpcyBhbHdheXMKKyAqIGluIGNwdSBuYXRpdmUgb3JkZXIuICBPdGhlcndpc2UgdGhleSBhcmUgaWRlbnRpY2FsIGFuZCB0aGVpciBzaXplcworICogc2hvdWxkIGJlIHRoZSBzYW1lIChpZSBib3RoIHBhY2tlZCkKKyAqLworc3RydWN0IGJ0cmZzX2Rpc2tfa2V5IHsKKwl1aW50NjRfdCBvYmplY3RpZDsgLyogbGl0dGxlIGVuZGlhbiAqLworCXVpbnQ4X3QgdHlwZTsKKwl1aW50NjRfdCBvZmZzZXQ7IC8qIGxpdHRsZSBlbmRpYW4gKi8KK30gX19hdHRyaWJ1dGVfXyAoKF9fcGFja2VkX18pKTsKKworc3RydWN0IGJ0cmZzX2Rpcl9pdGVtIHsKKwlzdHJ1Y3QgYnRyZnNfZGlza19rZXkgbG9jYXRpb247CisJdWludDY0X3QgdHJhbnNpZDsgLyogbGl0dGxlIGVuZGlhbiAqLworCXVpbnQxNl90IGRhdGFfbGVuOyAvKiBsaXR0bGUgZW5kaWFuICovCisJdWludDE2X3QgbmFtZV9sZW47IC8qIGxpdHRsZSBlbmRpYW4gKi8KKwl1aW50OF90IHR5cGU7Cit9IF9fYXR0cmlidXRlX18gKChfX3BhY2tlZF9fKSk7CisKKyNkZWZpbmUgQlRSRlNfU0VUR0VUX1NUQUNLX0ZVTkNTKG5hbWUsIHR5cGUsIG1lbWJlciwgYml0cykJCVwKK3N0YXRpYyBpbmxpbmUgdWludCMjYml0cyMjX3QgYnRyZnNfIyNuYW1lKGNvbnN0IHR5cGUgKnMpCQlcCit7CQkJCQkJCQkJXAorCXJldHVybiBsZSMjYml0cyMjX3RvX2NwdShzLT5tZW1iZXIpOwkJCQlcCit9CQkJCQkJCQkJXAorc3RhdGljIGlubGluZSB2b2lkIGJ0cmZzX3NldF8jI25hbWUodHlwZSAqcywgdWludCMjYml0cyMjX3QgdmFsKQlcCit7CQkJCQkJCQkJXAorCXMtPm1lbWJlciA9IGNwdV90b19sZSMjYml0cyh2YWwpOwkJCQlcCit9CisKKy8qIHN0cnVjdCBidHJmc19kaXNrX2tleSAqLworQlRSRlNfU0VUR0VUX1NUQUNLX0ZVTkNTKGRpc2tfa2V5X29iamVjdGlkLCBzdHJ1Y3QgYnRyZnNfZGlza19rZXksCisJCQkgb2JqZWN0aWQsIDY0KTsKKworQlRSRlNfU0VUR0VUX1NUQUNLX0ZVTkNTKHN0YWNrX2Rpcl9uYW1lX2xlbiwgc3RydWN0IGJ0cmZzX2Rpcl9pdGVtLCBuYW1lX2xlbiwgMTYpOworCisvKgorICBSZWQgQmxhY2sgVHJlZXMKKyovCitzdHJ1Y3QgcmJfbm9kZSB7CisJdW5zaWduZWQgbG9uZyAgX19yYl9wYXJlbnRfY29sb3I7CisJc3RydWN0IHJiX25vZGUgKnJiX3JpZ2h0OworCXN0cnVjdCByYl9ub2RlICpyYl9sZWZ0OworfSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKHNpemVvZihsb25nKSkpKTsKKyAgICAvKiBUaGUgYWxpZ25tZW50IG1pZ2h0IHNlZW0gcG9pbnRsZXNzLCBidXQgYWxsZWdlZGx5IENSSVMgbmVlZHMgaXQgKi8KKworI2VuZGlmIC8qIEJUUkZTX0RJUl9JVEVNX0tFWSAqLworCisvKgorICogYnRyZnNfZ2V0X2RlZmF1bHRfc3Vidm9sX2lkOgorICogQHBhdGg6IFBhdGggdG8gbW91bnRlZCBidHJmcyB2b2x1bWUKKyAqCisgKiBTZWFyY2hlcyBmb3IgdGhlIGJ0cmZzIGRlZmF1bHQgc3Vidm9sdW1lIGlkLgorICoKKyAqIFJldHVybnM6IGRlZmF1bHQgc3Vidm9sdW1lIGlkIG9yIFVJTlQ2NF9NQVggKC0xKSBpbiBjYXNlIG9mIG5vCisgKiBkZWZhdWx0IHN1YnZvbHVtZSBvciBlcnJvci4gSW4gY2FzZSBvZiBlcnJvciwgZXJybm8gaXMgc2V0CisgKiBwcm9wZXJseS4KKyAqLwordWludDY0X3QgYnRyZnNfZ2V0X2RlZmF1bHRfc3Vidm9sX2lkKGNvbnN0IGNoYXIgKnBhdGgpCit7CisJaW50IGlvY3JldDsKKwlpbnQgZmQ7CisJRElSICpkaXJzdHJlYW0gPSBOVUxMOworCXN0cnVjdCBidHJmc19pb2N0bF9zZWFyY2hfYXJncyBhcmdzOworCXN0cnVjdCBidHJmc19pb2N0bF9zZWFyY2hfa2V5ICpzayA9ICZhcmdzLmtleTsKKwlzdHJ1Y3QgYnRyZnNfaW9jdGxfc2VhcmNoX2hlYWRlciAqc2g7CisJdWludDY0X3QgZm91bmQgPSBVSU5UNjRfTUFYOworCisJZGlyc3RyZWFtID0gb3BlbmRpcihwYXRoKTsKKwlpZiAoIWRpcnN0cmVhbSkgeworCQlEQkcoQlRSRlMsIHVsX2RlYnVnKCJvcGVuZGlyKCkgZmFpbGVkIGZvciBcIiVzXCIgW2Vycm5vPSVkICVtXSIsIHBhdGgsIGVycm5vKSk7CisJCXJldHVybiBVSU5UNjRfTUFYOworCX0KKwlmZCA9IGRpcmZkKGRpcnN0cmVhbSk7CisJaWYgKGZkIDwgMCkgeworCQlEQkcoQlRSRlMsIHVsX2RlYnVnKCJkaXJmZChvcGVuZGlyKCkpIGZhaWxlZCBmb3IgXCIlc1wiIFtlcnJubz0lZCAlbV0iLCBwYXRoLCBlcnJubykpOworCQlnb3RvIG91dDsKKwl9CisKKwltZW1zZXQoJmFyZ3MsIDAsIHNpemVvZihhcmdzKSk7CisJc2stPnRyZWVfaWQgPSBCVFJGU19ST09UX1RSRUVfT0JKRUNUSUQ7CisJc2stPm1pbl9vYmplY3RpZCA9IEJUUkZTX1JPT1RfVFJFRV9ESVJfT0JKRUNUSUQ7CisJc2stPm1heF9vYmplY3RpZCA9IEJUUkZTX1JPT1RfVFJFRV9ESVJfT0JKRUNUSUQ7CisJc2stPm1pbl90eXBlID0gQlRSRlNfRElSX0lURU1fS0VZOworCXNrLT5tYXhfdHlwZSA9IEJUUkZTX0RJUl9JVEVNX0tFWTsKKwlzay0+bWF4X29mZnNldCA9IFVJTlQ2NF9NQVg7CisJc2stPm1heF90cmFuc2lkID0gVUlOVDY0X01BWDsKKwlzay0+bnJfaXRlbXMgPSAxOworCisJaW9jcmV0ID0gaW9jdGwoZmQsIEJUUkZTX0lPQ19UUkVFX1NFQVJDSCwgJmFyZ3MpOworCWlmIChpb2NyZXQgPCAwKSB7CisJCURCRyhCVFJGUywgdWxfZGVidWcoImlvY3RsKCkgZmFpbGVkIGZvciBcIiVzXCIgW2Vycm5vPSVkICVtXSIsIHBhdGgsIGVycm5vKSk7CisJCWdvdG8gb3V0OworCX0KKworCS8qIHRoZSBpb2N0bCByZXR1cm5zIHRoZSBudW1iZXIgb2YgaXRlbXMgaXQgZm91bmQgaW4gbnJfaXRlbXMgKi8KKwlpZiAoc2stPm5yX2l0ZW1zID09IDApIHsKKwkJREJHKEJUUkZTLCB1bF9kZWJ1Zygicm9vdCB0cmVlIGRpciBvYmplY3QgaWQgbm90IGZvdW5kIikpOworCQlnb3RvIG91dDsKKwl9CisJREJHKEJUUkZTLCB1bF9kZWJ1ZygiZm91bmQgJWQgcm9vdCB0cmVlIGRpciBvYmplY3QgaWQgaXRlbXMiLCBzay0+bnJfaXRlbXMpKTsKKworCXNoID0gKHN0cnVjdCBidHJmc19pb2N0bF9zZWFyY2hfaGVhZGVyICopYXJncy5idWY7CisKKwlpZiAoc2gtPnR5cGUgPT0gQlRSRlNfRElSX0lURU1fS0VZKSB7CisJCXN0cnVjdCBidHJmc19kaXJfaXRlbSAqZGk7CisJCWludCBuYW1lX2xlbjsKKwkJY2hhciAqbmFtZTsKKworCQlkaSA9IChzdHJ1Y3QgYnRyZnNfZGlyX2l0ZW0gKikoc2ggKyAxKTsKKwkJbmFtZV9sZW4gPSBidHJmc19zdGFja19kaXJfbmFtZV9sZW4oZGkpOworCQluYW1lID0gKGNoYXIgKikoZGkgKyAxKTsKKworCQlpZiAoIXN0cm5jbXAoImRlZmF1bHQiLCBuYW1lLCBuYW1lX2xlbikpIHsKKwkJCWZvdW5kID0gYnRyZnNfZGlza19rZXlfb2JqZWN0aWQoJmRpLT5sb2NhdGlvbik7CisJCQlEQkcoQlRSRlMsIHVsX2RlYnVnKCJcImRlZmF1bHRcIiBpZCBpcyAlbGx1IiwgKHVuc2lnbmVkIGxvbmcgbG9uZylmb3VuZCkpOworCQl9IGVsc2UgeworCQkJREJHKEJUUkZTLCB1bF9kZWJ1ZygiXCJkZWZhdWx0XCIgaWQgbm90IGZvdW5kIGluIHRyZWUgcm9vdCIpKTsKKwkJCWdvdG8gb3V0OworCQl9CisJfSBlbHNlIHsKKwkJREJHKEJUUkZTLCB1bF9kZWJ1ZygidW5leHBlY3RlZCB0eXBlIGZvdW5kOiAlZCIsIChpbnQpc2gtPnR5cGUpKTsKKwkJZ290byBvdXQ7CisJfQorCitvdXQ6CisJY2xvc2VkaXIoZGlyc3RyZWFtKTsKKwlyZXR1cm4gZm91bmQ7Cit9CmRpZmYgLS1naXQgYS9saWJtb3VudC9zcmMvY2FjaGUuYyBiL2xpYm1vdW50L3NyYy9jYWNoZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0ZGNiN2YKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtb3VudC9zcmMvY2FjaGUuYwpAQCAtMCwwICsxLDgzMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOS0yMDExIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworLyoqCisgKiBTRUNUSU9OOiBjYWNoZQorICogQHRpdGxlOiBDYWNoZQorICogQHNob3J0X2Rlc2NyaXB0aW9uOiBwYXRocyBhbmQgdGFncyAoVVVJRC9MQUJFTCkgY2FjaGluZworICoKKyAqIFRoZSBjYWNoZSBpcyBhIHZlcnkgc2ltcGxlIEFQSSBmb3Igd29ya2luZyB3aXRoIHRhZ3MgKExBQkVMLCBVVUlELCAuLi4pIGFuZAorICogcGF0aHMuIFRoZSBjYWNoZSB1c2VzIGxpYmJsa2lkIGFzIGEgYmFja2VuZCBmb3IgVEFHcyByZXNvbHV0aW9uLgorICoKKyAqIEFsbCByZXR1cm5lZCBwYXRocyBhcmUgYWx3YXlzIGNhbm9uaWNhbGl6ZWQuCisgKi8KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxibGtpZC5oPgorCisjaW5jbHVkZSAiY2Fub25pY2FsaXplLmgiCisjaW5jbHVkZSAibW91bnRQLmgiCisjaW5jbHVkZSAibG9vcGRldi5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisKKy8qCisgKiBDYW5vbmljYWxpemVkIChyZXNvbHZlZCkgcGF0aHMgJiB0YWdzIGNhY2hlCisgKi8KKyNkZWZpbmUgTU5UX0NBQ0hFX0NIVU5LU1oJMTI4CisKKyNkZWZpbmUgTU5UX0NBQ0hFX0lTVEFHCQkoMSA8PCAxKSAvKiBlbnRyeSBpcyBUQUcgKi8KKyNkZWZpbmUgTU5UX0NBQ0hFX0lTUEFUSAkoMSA8PCAyKSAvKiBlbnRyeSBpcyBwYXRoICovCisjZGVmaW5lIE1OVF9DQUNIRV9UQUdSRUFECSgxIDw8IDMpIC8qIHRhZyByZWFkIGJ5IG1udF9jYWNoZV9yZWFkX3RhZ3MoKSAqLworCisvKiBwYXRoIGNhY2hlIGVudHJ5ICovCitzdHJ1Y3QgbW50X2NhY2hlX2VudHJ5IHsKKwljaGFyCQkJKmtleTsJLyogc2VhcmNoIGtleSAoZS5nLiB1bmNhbm9uaWNhbGl6ZWQgcGF0aCkgKi8KKwljaGFyCQkJKnZhbHVlOwkvKiB2YWx1ZSAoZS5nLiBjYW5vbmljYWxpemVkIHBhdGgpICovCisJaW50CQkJZmxhZzsKK307CisKK3N0cnVjdCBsaWJtbnRfY2FjaGUgeworCXN0cnVjdCBtbnRfY2FjaGVfZW50cnkJKmVudHM7CisJc2l6ZV90CQkJbmVudHM7CisJc2l6ZV90CQkJbmFsbG9jczsKKwlpbnQJCQlyZWZjb3VudDsKKworCS8qIGJsa2lkX2V2YWx1YXRlX3RhZygpIHdvcmtzIGluIHR3byB3YXlzOgorCSAqCisJICogMS8gYWxsIHRhZ3MgYXJlIGV2YWx1YXRlZCBieSB1ZGV2IC9kZXYvZGlzay9ieS0qIHN5bWxpbmtzLAorCSAqICAgIHRoZW4gdGhlIGJsa2lkX2NhY2hlIGlzIE5VTEwuCisJICoKKwkgKiAyLyBhbGwgdGFncyBhcmUgcmVhZCBmcm9tIGJsa2lkLnRhYiBhbmQgdmVyaWZpZWQgYnkgL2RldgorCSAqICAgIHNjYW5uaW5nLCB0aGVuIHRoZSBibGtpZF9jYWNoZSBpcyBub3QgTlVMTCBhbmQgdGhlbiBpdCdzCisJICogICAgYmV0dGVyIHRvIHJldXNlIHRoZSBibGtpZF9jYWNoZS4KKwkgKi8KKwlibGtpZF9jYWNoZQkJYmM7CisKKwlzdHJ1Y3QgbGlibW50X3RhYmxlCSptdGFiOworfTsKKworLyoqCisgKiBtbnRfbmV3X2NhY2hlOgorICoKKyAqIFJldHVybnM6IG5ldyBzdHJ1Y3QgbGlibW50X2NhY2hlIGluc3RhbmNlIG9yIE5VTEwgaW4gY2FzZSBvZiBFTk9NRU0gZXJyb3IuCisgKi8KK3N0cnVjdCBsaWJtbnRfY2FjaGUgKm1udF9uZXdfY2FjaGUodm9pZCkKK3sKKwlzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSA9IGNhbGxvYygxLCBzaXplb2YoKmNhY2hlKSk7CisJaWYgKCFjYWNoZSkKKwkJcmV0dXJuIE5VTEw7CisJREJHKENBQ0hFLCB1bF9kZWJ1Z29iaihjYWNoZSwgImFsbG9jIikpOworCWNhY2hlLT5yZWZjb3VudCA9IDE7CisJcmV0dXJuIGNhY2hlOworfQorCisvKioKKyAqIG1udF9mcmVlX2NhY2hlOgorICogQGNhY2hlOiBwb2ludGVyIHRvIHN0cnVjdCBsaWJtbnRfY2FjaGUgaW5zdGFuY2UKKyAqCisgKiBEZWFsbG9jYXRlcyB0aGUgY2FjaGUuIFRoaXMgZnVuY3Rpb24gZG9lcyBub3QgY2FyZSBhYm91dCByZWZlcmVuY2UgY291bnQuIERvbid0CisgKiB1c2UgdGhpcyBmdW5jdGlvbiBkaXJlY3RseSAtLSBpdCdzIGJldHRlciB0byB1c2UgdXNlIG1udF91bnJlZl9jYWNoZSgpLgorICovCit2b2lkIG1udF9mcmVlX2NhY2hlKHN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlKQoreworCXNpemVfdCBpOworCisJaWYgKCFjYWNoZSkKKwkJcmV0dXJuOworCisJREJHKENBQ0hFLCB1bF9kZWJ1Z29iaihjYWNoZSwgImZyZWUgW3JlZmNvdW50PSVkXSIsIGNhY2hlLT5yZWZjb3VudCkpOworCisJZm9yIChpID0gMDsgaSA8IGNhY2hlLT5uZW50czsgaSsrKSB7CisJCXN0cnVjdCBtbnRfY2FjaGVfZW50cnkgKmUgPSAmY2FjaGUtPmVudHNbaV07CisJCWlmIChlLT52YWx1ZSAhPSBlLT5rZXkpCisJCQlmcmVlKGUtPnZhbHVlKTsKKwkJZnJlZShlLT5rZXkpOworCX0KKwlmcmVlKGNhY2hlLT5lbnRzKTsKKwlpZiAoY2FjaGUtPmJjKQorCQlibGtpZF9wdXRfY2FjaGUoY2FjaGUtPmJjKTsKKwlmcmVlKGNhY2hlKTsKK30KKworLyoqCisgKiBtbnRfcmVmX2NhY2hlOgorICogQGNhY2hlOiBjYWNoZSBwb2ludGVyCisgKgorICogSW5jcmVtZW50cyByZWZlcmVuY2UgY291bnRlci4KKyAqLwordm9pZCBtbnRfcmVmX2NhY2hlKHN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlKQoreworCWlmIChjYWNoZSkgeworCQljYWNoZS0+cmVmY291bnQrKzsKKwkJLypEQkcoQ0FDSEUsIHVsX2RlYnVnb2JqKGNhY2hlLCAicmVmPSVkIiwgY2FjaGUtPnJlZmNvdW50KSk7Ki8KKwl9Cit9CisKKy8qKgorICogbW50X3VucmVmX2NhY2hlOgorICogQGNhY2hlOiBjYWNoZSBwb2ludGVyCisgKgorICogRGUtaW5jcmVtZW50cyByZWZlcmVuY2UgY291bnRlciwgb24gemVybyB0aGUgY2FjaGUgaXMgYXV0b21hdGljYWxseQorICogZGVhbGxvY2F0ZWQgYnkgbW50X2ZyZWVfY2FjaGUoKS4KKyAqLwordm9pZCBtbnRfdW5yZWZfY2FjaGUoc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUpCit7CisJaWYgKGNhY2hlKSB7CisJCWNhY2hlLT5yZWZjb3VudC0tOworCQkvKkRCRyhDQUNIRSwgdWxfZGVidWdvYmooY2FjaGUsICJ1bnJlZj0lZCIsIGNhY2hlLT5yZWZjb3VudCkpOyovCisJCWlmIChjYWNoZS0+cmVmY291bnQgPD0gMCkgeworCQkJbW50X3VucmVmX3RhYmxlKGNhY2hlLT5tdGFiKTsKKworCQkJbW50X2ZyZWVfY2FjaGUoY2FjaGUpOworCQl9CisJfQorfQorCisvKioKKyAqIG1udF9jYWNoZV9zZXRfdGFyZ2V0czoKKyAqIEBjYWNoZTogY2FjaGUgcG9pbnRlcgorICogQG10YWI6IHRhYmxlIHdpdGggYWxyZWFkeSBjYW5vbmljYWxpemVkIG1vdW50cG9pbnRzCisgKgorICogQWRkIHRvIEBjYWNoZSByZWZlcmVuY2UgdG8gQG10YWIuIFRoaXMgYWxsb3dzIHRvIGF2b2lkIHVubmVjZXNzYXJ5IHBhdGhzCisgKiBjYW5vbmljYWxpemF0aW9uIGluIG1udF9yZXNvbHZlX3RhcmdldCgpLgorICoKKyAqIFJldHVybnM6IG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLCBvciAwIG8gc3VjY2Vzcy4KKyAqLworaW50IG1udF9jYWNoZV9zZXRfdGFyZ2V0cyhzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSwKKwkJCQlzdHJ1Y3QgbGlibW50X3RhYmxlICptdGFiKQoreworCWlmICghY2FjaGUpCisJCXJldHVybiAtRUlOVkFMOworCisJbW50X3JlZl90YWJsZShtdGFiKTsKKwltbnRfdW5yZWZfdGFibGUoY2FjaGUtPm10YWIpOworCWNhY2hlLT5tdGFiID0gbXRhYjsKKwlyZXR1cm4gMDsKK30KKworCisvKiBub3RlIHRoYXQgdGhlIEBrZXkgY291bGQgYmUgdGhlIHNhbWUgcG9pbnRlciBhcyBAdmFsdWUgKi8KK3N0YXRpYyBpbnQgY2FjaGVfYWRkX2VudHJ5KHN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlLCBjaGFyICprZXksCisJCQkJCWNoYXIgKnZhbHVlLCBpbnQgZmxhZykKK3sKKwlzdHJ1Y3QgbW50X2NhY2hlX2VudHJ5ICplOworCisJYXNzZXJ0KGNhY2hlKTsKKwlhc3NlcnQodmFsdWUpOworCWFzc2VydChrZXkpOworCisJaWYgKGNhY2hlLT5uZW50cyA9PSBjYWNoZS0+bmFsbG9jcykgeworCQlzaXplX3Qgc3ogPSBjYWNoZS0+bmFsbG9jcyArIE1OVF9DQUNIRV9DSFVOS1NaOworCisJCWUgPSByZWFsbG9jKGNhY2hlLT5lbnRzLCBzeiAqIHNpemVvZihzdHJ1Y3QgbW50X2NhY2hlX2VudHJ5KSk7CisJCWlmICghZSkKKwkJCXJldHVybiAtRU5PTUVNOworCQljYWNoZS0+ZW50cyA9IGU7CisJCWNhY2hlLT5uYWxsb2NzID0gc3o7CisJfQorCisJZSA9ICZjYWNoZS0+ZW50c1tjYWNoZS0+bmVudHNdOworCWUtPmtleSA9IGtleTsKKwllLT52YWx1ZSA9IHZhbHVlOworCWUtPmZsYWcgPSBmbGFnOworCWNhY2hlLT5uZW50cysrOworCisJREJHKENBQ0hFLCB1bF9kZWJ1Z29iaihjYWNoZSwgImFkZCBlbnRyeSBbJTJ6ZF0gKCVzKTogJXM6ICVzIiwKKwkJCWNhY2hlLT5uZW50cywKKwkJCShmbGFnICYgTU5UX0NBQ0hFX0lTUEFUSCkgPyAicGF0aCIgOiAidGFnIiwKKwkJCXZhbHVlLCBrZXkpKTsKKwlyZXR1cm4gMDsKK30KKworLyogYWRkIHRhZyB0byB0aGUgY2FjaGUsIEBkZXZuYW1lIGhhcyB0byBiZSBhbiBhbGxvY2F0ZWQgc3RyaW5nICovCitzdGF0aWMgaW50IGNhY2hlX2FkZF90YWcoc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUsIGNvbnN0IGNoYXIgKnRhZ25hbWUsCisJCQkJY29uc3QgY2hhciAqdGFndmFsLCBjaGFyICpkZXZuYW1lLCBpbnQgZmxhZykKK3sKKwlzaXplX3QgdGtzeiwgdmxzejsKKwljaGFyICprZXk7CisJaW50IHJjOworCisJYXNzZXJ0KGNhY2hlKTsKKwlhc3NlcnQoZGV2bmFtZSk7CisJYXNzZXJ0KHRhZ25hbWUpOworCWFzc2VydCh0YWd2YWwpOworCisJLyogYWRkIGludG8gY2FjaGUgLS0gY2FjaGUgZm9ybWF0IGZvciBUQUdzIGlzCisJICoJa2V5ICAgID0gIlRBR19OQU1FXDBUQUdfVkFMVUVcMCIKKwkgKgl2YWx1ZSAgPSAiL2Rldi9mb28iCisJICovCisJdGtzeiA9IHN0cmxlbih0YWduYW1lKTsKKwl2bHN6ID0gc3RybGVuKHRhZ3ZhbCk7CisKKwlrZXkgPSBtYWxsb2ModGtzeiArIHZsc3ogKyAyKTsKKwlpZiAoIWtleSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwltZW1jcHkoa2V5LCB0YWduYW1lLCB0a3N6ICsgMSk7CSAgIC8qIGluY2x1ZGUgJ1wwJyAqLworCW1lbWNweShrZXkgKyB0a3N6ICsgMSwgdGFndmFsLCB2bHN6ICsgMSk7CisKKwlyYyA9IGNhY2hlX2FkZF9lbnRyeShjYWNoZSwga2V5LCBkZXZuYW1lLCBmbGFnIHwgTU5UX0NBQ0hFX0lTVEFHKTsKKwlpZiAoIXJjKQorCQlyZXR1cm4gMDsKKworCWZyZWUoa2V5KTsKKwlyZXR1cm4gcmM7Cit9CisKKworLyoKKyAqIFJldHVybnMgY2FjaGVkIGNhbm9uaWNhbGl6ZWQgcGF0aCBvciBOVUxMLgorICovCitzdGF0aWMgY29uc3QgY2hhciAqY2FjaGVfZmluZF9wYXRoKHN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlLCBjb25zdCBjaGFyICpwYXRoKQoreworCXNpemVfdCBpOworCisJaWYgKCFjYWNoZSB8fCAhcGF0aCkKKwkJcmV0dXJuIE5VTEw7CisKKwlmb3IgKGkgPSAwOyBpIDwgY2FjaGUtPm5lbnRzOyBpKyspIHsKKwkJc3RydWN0IG1udF9jYWNoZV9lbnRyeSAqZSA9ICZjYWNoZS0+ZW50c1tpXTsKKwkJaWYgKCEoZS0+ZmxhZyAmIE1OVF9DQUNIRV9JU1BBVEgpKQorCQkJY29udGludWU7CisJCWlmIChzdHJlcV9wYXRocyhwYXRoLCBlLT5rZXkpKQorCQkJcmV0dXJuIGUtPnZhbHVlOworCX0KKwlyZXR1cm4gTlVMTDsKK30KKworLyoKKyAqIFJldHVybnMgY2FjaGVkIHBhdGggb3IgTlVMTC4KKyAqLworc3RhdGljIGNvbnN0IGNoYXIgKmNhY2hlX2ZpbmRfdGFnKHN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlLAorCQkJY29uc3QgY2hhciAqdG9rZW4sIGNvbnN0IGNoYXIgKnZhbHVlKQoreworCXNpemVfdCBpOworCXNpemVfdCB0a3N6OworCisJaWYgKCFjYWNoZSB8fCAhdG9rZW4gfHwgIXZhbHVlKQorCQlyZXR1cm4gTlVMTDsKKworCXRrc3ogPSBzdHJsZW4odG9rZW4pOworCisJZm9yIChpID0gMDsgaSA8IGNhY2hlLT5uZW50czsgaSsrKSB7CisJCXN0cnVjdCBtbnRfY2FjaGVfZW50cnkgKmUgPSAmY2FjaGUtPmVudHNbaV07CisJCWlmICghKGUtPmZsYWcgJiBNTlRfQ0FDSEVfSVNUQUcpKQorCQkJY29udGludWU7CisJCWlmIChzdHJjbXAodG9rZW4sIGUtPmtleSkgPT0gMCAmJgorCQkgICAgc3RyY21wKHZhbHVlLCBlLT5rZXkgKyB0a3N6ICsgMSkgPT0gMCkKKwkJCXJldHVybiBlLT52YWx1ZTsKKwl9CisJcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyBjaGFyICpjYWNoZV9maW5kX3RhZ192YWx1ZShzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSwKKwkJCWNvbnN0IGNoYXIgKmRldm5hbWUsIGNvbnN0IGNoYXIgKnRva2VuKQoreworCXNpemVfdCBpOworCisJYXNzZXJ0KGNhY2hlKTsKKwlhc3NlcnQoZGV2bmFtZSk7CisJYXNzZXJ0KHRva2VuKTsKKworCWZvciAoaSA9IDA7IGkgPCBjYWNoZS0+bmVudHM7IGkrKykgeworCQlzdHJ1Y3QgbW50X2NhY2hlX2VudHJ5ICplID0gJmNhY2hlLT5lbnRzW2ldOworCQlpZiAoIShlLT5mbGFnICYgTU5UX0NBQ0hFX0lTVEFHKSkKKwkJCWNvbnRpbnVlOworCQlpZiAoc3RyY21wKGUtPnZhbHVlLCBkZXZuYW1lKSA9PSAwICYmCS8qIGRldiBuYW1lICovCisJCSAgICBzdHJjbXAodG9rZW4sIGUtPmtleSkgPT0gMCkJLyogdGFnIG5hbWUgKi8KKwkJCXJldHVybiBlLT5rZXkgKyBzdHJsZW4odG9rZW4pICsgMTsJLyogdGFnIHZhbHVlICovCisJfQorCisJcmV0dXJuIE5VTEw7Cit9CisKKy8qKgorICogbW50X2NhY2hlX3JlYWRfdGFncworICogQGNhY2hlOiBwb2ludGVyIHRvIHN0cnVjdCBsaWJtbnRfY2FjaGUgaW5zdGFuY2UKKyAqIEBkZXZuYW1lOiBwYXRoIGRldmljZQorICoKKyAqIFJlYWRzIEBkZXZuYW1lIExBQkVMIGFuZCBVVUlEIHRvIHRoZSBAY2FjaGUuCisgKgorICogUmV0dXJuczogMCBpZiBhdCBsZWFzdCBvbmUgdGFnIHdhcyBhZGRlZCwgMSBpZiBubyB0YWcgd2FzIGFkZGVkIG9yCisgKiAgICAgICAgICBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9jYWNoZV9yZWFkX3RhZ3Moc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUsIGNvbnN0IGNoYXIgKmRldm5hbWUpCit7CisJYmxraWRfcHJvYmUgcHI7CisJc2l6ZV90IGksIG50YWdzID0gMDsKKwlpbnQgcmM7CisJY29uc3QgY2hhciAqdGFnc1tdID0geyAiTEFCRUwiLCAiVVVJRCIsICJUWVBFIiwgIlBBUlRVVUlEIiwgIlBBUlRMQUJFTCIgfTsKKwljb25zdCBjaGFyICpibGt0YWdzW10gPSB7ICJMQUJFTCIsICJVVUlEIiwgIlRZUEUiLCAiUEFSVF9FTlRSWV9VVUlEIiwgIlBBUlRfRU5UUllfTkFNRSIgfTsKKworCWlmICghY2FjaGUgfHwgIWRldm5hbWUpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKENBQ0hFLCB1bF9kZWJ1Z29iaihjYWNoZSwgInRhZ3MgZm9yICVzIHJlcXVlc3RlZCIsIGRldm5hbWUpKTsKKworCS8qIGNoZWNrIGlmIGRldmljZSBpcyBhbHJlYWR5IGNhY2hlZCAqLworCWZvciAoaSA9IDA7IGkgPCBjYWNoZS0+bmVudHM7IGkrKykgeworCQlzdHJ1Y3QgbW50X2NhY2hlX2VudHJ5ICplID0gJmNhY2hlLT5lbnRzW2ldOworCQlpZiAoIShlLT5mbGFnICYgTU5UX0NBQ0hFX1RBR1JFQUQpKQorCQkJY29udGludWU7CisJCWlmIChzdHJjbXAoZS0+dmFsdWUsIGRldm5hbWUpID09IDApCisJCQkvKiB0YWdzIGhhdmUgYWxyZWFkeSBiZWVuIHJlYWQgKi8KKwkJCXJldHVybiAwOworCX0KKworCXByID0gIGJsa2lkX25ld19wcm9iZV9mcm9tX2ZpbGVuYW1lKGRldm5hbWUpOworCWlmICghcHIpCisJCXJldHVybiAtMTsKKworCWJsa2lkX3Byb2JlX2VuYWJsZV9zdXBlcmJsb2NrcyhwciwgMSk7CisJYmxraWRfcHJvYmVfc2V0X3N1cGVyYmxvY2tzX2ZsYWdzKHByLAorCQkJQkxLSURfU1VCTEtTX0xBQkVMIHwgQkxLSURfU1VCTEtTX1VVSUQgfAorCQkJQkxLSURfU1VCTEtTX1RZUEUpOworCisJYmxraWRfcHJvYmVfZW5hYmxlX3BhcnRpdGlvbnMocHIsIDEpOworCWJsa2lkX3Byb2JlX3NldF9wYXJ0aXRpb25zX2ZsYWdzKHByLCBCTEtJRF9QQVJUU19FTlRSWV9ERVRBSUxTKTsKKworCXJjID0gYmxraWRfZG9fc2FmZXByb2JlKHByKTsKKwlpZiAocmMpCisJCWdvdG8gZXJyb3I7CisKKwlEQkcoQ0FDSEUsIHVsX2RlYnVnb2JqKGNhY2hlLCAicmVhZGluZyB0YWdzIGZvcjogJXMiLCBkZXZuYW1lKSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh0YWdzKTsgaSsrKSB7CisJCWNvbnN0IGNoYXIgKmRhdGE7CisJCWNoYXIgKmRldjsKKworCQlpZiAoY2FjaGVfZmluZF90YWdfdmFsdWUoY2FjaGUsIGRldm5hbWUsIHRhZ3NbaV0pKSB7CisJCQlEQkcoQ0FDSEUsIHVsX2RlYnVnb2JqKGNhY2hlLAorCQkJCQkiXG50YWcgJXMgYWxyZWFkeSBjYWNoZWQiLCB0YWdzW2ldKSk7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlKHByLCBibGt0YWdzW2ldLCAmZGF0YSwgTlVMTCkpCisJCQljb250aW51ZTsKKwkJZGV2ID0gc3RyZHVwKGRldm5hbWUpOworCQlpZiAoIWRldikKKwkJCWdvdG8gZXJyb3I7CisJCWlmIChjYWNoZV9hZGRfdGFnKGNhY2hlLCB0YWdzW2ldLCBkYXRhLCBkZXYsCisJCQkJCU1OVF9DQUNIRV9UQUdSRUFEKSkgeworCQkJZnJlZShkZXYpOworCQkJZ290byBlcnJvcjsKKwkJfQorCQludGFncysrOworCX0KKworCURCRyhDQUNIRSwgdWxfZGVidWdvYmooY2FjaGUsICJcdHJlYWQgJXpkIHRhZ3MiLCBudGFncykpOworCWJsa2lkX2ZyZWVfcHJvYmUocHIpOworCXJldHVybiBudGFncyA/IDAgOiAxOworZXJyb3I6CisJYmxraWRfZnJlZV9wcm9iZShwcik7CisJcmV0dXJuIHJjIDwgMCA/IHJjIDogLTE7Cit9CisKKy8qKgorICogbW50X2NhY2hlX2RldmljZV9oYXNfdGFnOgorICogQGNhY2hlOiBwYXRocyBjYWNoZQorICogQGRldm5hbWU6IHBhdGggdG8gdGhlIGRldmljZQorICogQHRva2VuOiB0YWcgbmFtZSAoZS5nICJMQUJFTCIpCisgKiBAdmFsdWU6IHRhZyB2YWx1ZQorICoKKyAqIExvb2sgdXAgQGNhY2hlIHRvIGNoZWNrIGlmIEB0YWcrQHZhbHVlIGFyZSBhc3NvY2lhdGVkIHdpdGggQGRldm5hbWUuCisgKgorICogUmV0dXJuczogMSBvbiBzdWNjZXNzIG9yIDAuCisgKi8KK2ludCBtbnRfY2FjaGVfZGV2aWNlX2hhc190YWcoc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUsIGNvbnN0IGNoYXIgKmRldm5hbWUsCisJCQkJY29uc3QgY2hhciAqdG9rZW4sIGNvbnN0IGNoYXIgKnZhbHVlKQoreworCWNvbnN0IGNoYXIgKnBhdGggPSBjYWNoZV9maW5kX3RhZyhjYWNoZSwgdG9rZW4sIHZhbHVlKTsKKworCWlmIChwYXRoICYmIGRldm5hbWUgJiYgc3RyY21wKHBhdGgsIGRldm5hbWUpID09IDApCisJCXJldHVybiAxOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9fbW50X2NhY2hlX2ZpbmRfdGFnX3ZhbHVlKHN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlLAorCQljb25zdCBjaGFyICpkZXZuYW1lLCBjb25zdCBjaGFyICp0b2tlbiwgY2hhciAqKmRhdGEpCit7CisJaW50IHJjID0gMDsKKworCWlmICghY2FjaGUgfHwgIWRldm5hbWUgfHwgIXRva2VuIHx8ICFkYXRhKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXJjID0gbW50X2NhY2hlX3JlYWRfdGFncyhjYWNoZSwgZGV2bmFtZSk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwkqZGF0YSA9IGNhY2hlX2ZpbmRfdGFnX3ZhbHVlKGNhY2hlLCBkZXZuYW1lLCB0b2tlbik7CisJcmV0dXJuICpkYXRhID8gMCA6IC0xOworfQorCisvKioKKyAqIG1udF9jYWNoZV9maW5kX3RhZ192YWx1ZToKKyAqIEBjYWNoZTogY2FjaGUgZm9yIHJlc3VsdHMKKyAqIEBkZXZuYW1lOiBkZXZpY2UgbmFtZQorICogQHRva2VuOiB0YWcgbmFtZSAoIkxBQkVMIiBvciAiVVVJRCIpCisgKgorICogUmV0dXJuczogTEFCRUwgb3IgVVVJRCBmb3IgdGhlIEBkZXZuYW1lIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworY2hhciAqbW50X2NhY2hlX2ZpbmRfdGFnX3ZhbHVlKHN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlLAorCQljb25zdCBjaGFyICpkZXZuYW1lLCBjb25zdCBjaGFyICp0b2tlbikKK3sKKwljaGFyICpkYXRhID0gTlVMTDsKKworCWlmIChfX21udF9jYWNoZV9maW5kX3RhZ192YWx1ZShjYWNoZSwgZGV2bmFtZSwgdG9rZW4sICZkYXRhKSA9PSAwKQorCQlyZXR1cm4gZGF0YTsKKwlyZXR1cm4gTlVMTDsKK30KKworLyoqCisgKiBtbnRfZ2V0X2ZzdHlwZToKKyAqIEBkZXZuYW1lOiBkZXZpY2UgbmFtZQorICogQGFtYmk6IHJldHVybnMgVFJVRSBpZiBwcm9iaW5nIHJlc3VsdCBpcyBhbWJpdmFsZW50IChvcHRpb25hbCBhcmd1bWVudCkKKyAqIEBjYWNoZTogY2FjaGUgZm9yIHJlc3VsdHMgb3IgTlVMTAorICoKKyAqIFJldHVybnM6IGZpbGVzeXN0ZW0gdHlwZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuIFRoZSByZXN1bHQgaGFzIHRvIGJlCisgKiBkZWFsbG9jYXRlZCBieSBmcmVlKCkgaWYgQGNhY2hlIGlzIE5VTEwuCisgKi8KK2NoYXIgKm1udF9nZXRfZnN0eXBlKGNvbnN0IGNoYXIgKmRldm5hbWUsIGludCAqYW1iaSwgc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUpCit7CisJYmxraWRfcHJvYmUgcHI7CisJY29uc3QgY2hhciAqZGF0YTsKKwljaGFyICp0eXBlID0gTlVMTDsKKwlpbnQgcmM7CisKKwlEQkcoQ0FDSEUsIHVsX2RlYnVnb2JqKGNhY2hlLCAiZ2V0ICVzIEZTIHR5cGUiLCBkZXZuYW1lKSk7CisKKwlpZiAoY2FjaGUpIHsKKwkJY2hhciAqdmFsID0gTlVMTDsKKwkJcmMgPSBfX21udF9jYWNoZV9maW5kX3RhZ192YWx1ZShjYWNoZSwgZGV2bmFtZSwgIlRZUEUiLCAmdmFsKTsKKwkJaWYgKGFtYmkpCisJCQkqYW1iaSA9IHJjID09IC0yID8gVFJVRSA6IEZBTFNFOworCQlyZXR1cm4gcmMgPyBOVUxMIDogdmFsOworCX0KKworCS8qCisJICogbm8gY2FjaGUsIHByb2JlIGRpcmVjdGx5CisJICovCisJcHIgPSAgYmxraWRfbmV3X3Byb2JlX2Zyb21fZmlsZW5hbWUoZGV2bmFtZSk7CisJaWYgKCFwcikKKwkJcmV0dXJuIE5VTEw7CisKKwlibGtpZF9wcm9iZV9lbmFibGVfc3VwZXJibG9ja3MocHIsIDEpOworCWJsa2lkX3Byb2JlX3NldF9zdXBlcmJsb2Nrc19mbGFncyhwciwgQkxLSURfU1VCTEtTX1RZUEUpOworCisJcmMgPSBibGtpZF9kb19zYWZlcHJvYmUocHIpOworCisJREJHKENBQ0hFLCB1bF9kZWJ1Z29iaihjYWNoZSwgImxpYmJsa2lkIHJjPSVkIiwgcmMpKTsKKworCWlmICghcmMgJiYgIWJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIlRZUEUiLCAmZGF0YSwgTlVMTCkpCisJCXR5cGUgPSBzdHJkdXAoZGF0YSk7CisKKwlpZiAoYW1iaSkKKwkJKmFtYmkgPSByYyA9PSAtMiA/IFRSVUUgOiBGQUxTRTsKKworCWJsa2lkX2ZyZWVfcHJvYmUocHIpOworCXJldHVybiB0eXBlOworfQorCitzdGF0aWMgY2hhciAqY2Fub25pY2FsaXplX3BhdGhfYW5kX2NhY2hlKGNvbnN0IGNoYXIgKnBhdGgsCisJCQkJCQlzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSkKK3sKKwljaGFyICpwID0gTlVMTDsKKwljaGFyICprZXkgPSBOVUxMOworCWNoYXIgKnZhbHVlID0gTlVMTDsKKworCURCRyhDQUNIRSwgdWxfZGVidWdvYmooY2FjaGUsICJjYW5vbmljYWxpemUgcGF0aCAlcyIsIHBhdGgpKTsKKwlwID0gY2Fub25pY2FsaXplX3BhdGgocGF0aCk7CisKKwlpZiAocCAmJiBjYWNoZSkgeworCQl2YWx1ZSA9IHA7CisJCWtleSA9IHN0cmNtcChwYXRoLCBwKSA9PSAwID8gdmFsdWUgOiBzdHJkdXAocGF0aCk7CisKKwkJaWYgKCFrZXkgfHwgIXZhbHVlKQorCQkJZ290byBlcnJvcjsKKworCQlpZiAoY2FjaGVfYWRkX2VudHJ5KGNhY2hlLCBrZXksIHZhbHVlLAorCQkJCU1OVF9DQUNIRV9JU1BBVEgpKQorCQkJZ290byBlcnJvcjsKKwl9CisKKwlyZXR1cm4gcDsKK2Vycm9yOgorCWlmICh2YWx1ZSAhPSBrZXkpCisJCWZyZWUodmFsdWUpOworCWZyZWUoa2V5KTsKKwlyZXR1cm4gTlVMTDsKK30KKworLyoqCisgKiBtbnRfcmVzb2x2ZV9wYXRoOgorICogQHBhdGg6ICJuYXRpdmUiIHBhdGgKKyAqIEBjYWNoZTogY2FjaGUgZm9yIHJlc3VsdHMgb3IgTlVMTAorICoKKyAqIENvbnZlcnRzIHBhdGg6CisgKgktIHRvIHRoZSBhYnNvbHV0ZSBwYXRoCisgKgktIC9kZXYvZG0tTiB0byAvZGV2L21hcHBlci9uYW1lCisgKgorICogUmV0dXJuczogYWJzb2x1dGUgcGF0aCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuIFRoZSByZXN1bHQgaGFzIHRvIGJlCisgKiBkZWFsbG9jYXRlZCBieSBmcmVlKCkgaWYgQGNhY2hlIGlzIE5VTEwuCisgKi8KK2NoYXIgKm1udF9yZXNvbHZlX3BhdGgoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUpCit7CisJY2hhciAqcCA9IE5VTEw7CisKKwkvKkRCRyhDQUNIRSwgdWxfZGVidWdvYmooY2FjaGUsICJyZXNvbHZpbmcgcGF0aCAlcyIsIHBhdGgpKTsqLworCisJaWYgKCFwYXRoKQorCQlyZXR1cm4gTlVMTDsKKwlpZiAoY2FjaGUpCisJCXAgPSAoY2hhciAqKSBjYWNoZV9maW5kX3BhdGgoY2FjaGUsIHBhdGgpOworCWlmICghcCkKKwkJcCA9IGNhbm9uaWNhbGl6ZV9wYXRoX2FuZF9jYWNoZShwYXRoLCBjYWNoZSk7CisKKwlyZXR1cm4gcDsKK30KKworLyoqCisgKiBtbnRfcmVzb2x2ZV90YXJnZXQ6CisgKiBAcGF0aDogIm5hdGl2ZSIgcGF0aCwgYSBwb3RlbnRpYWwgbW91bnQgcG9pbnQKKyAqIEBjYWNoZTogY2FjaGUgZm9yIHJlc3VsdHMgb3IgTlVMTC4KKyAqCisgKiBMaWtlIG1udF9yZXNvbHZlX3BhdGgoKSwgdW5sZXNzIEBjYWNoZSBpcyBub3QgTlVMTCBhbmQKKyAqIG1udF9jYWNoZV9zZXRfdGFyZ2V0cyhjYWNoZSwgbXRhYikgd2FzIGNhbGxlZDogaWYgQHBhdGggaXMgZm91bmQgaW4gdGhlCisgKiBjYWNoZWQgQG10YWIgYW5kIHRoZSBtYXRjaGluZyBlbnRyeSB3YXMgcHJvdmlkZWQgYnkgdGhlIGtlcm5lbCwgYXNzdW1lIHRoYXQKKyAqIEBwYXRoIGlzIGFscmVhZHkgY2Fub25pY2FsaXplZC4gQnkgYXZvaWRpbmcgYSBjYWxsIHRvIHJlYWxwYXRoKDIpIG9uCisgKiBrbm93biBtb3VudCBwb2ludHMsIHRoZXJlIGlzIGEgbG93ZXIgcmlzayBvZiBzdGVwcGluZyBvbiBhIHN0YWxlIG1vdW50CisgKiBwb2ludCwgd2hpY2ggY2FuIHJlc3VsdCBpbiBhbiBhcHBsaWNhdGlvbiBmcmVlemUuIFRoaXMgaXMgYWxzbyBmYXN0ZXIgaW4KKyAqIGdlbmVyYWwsIGFzIHN0YXQoMikgb24gYSBtb3VudCBwb2ludCBpcyBzbG93ZXIgdGhhbiBvbiBhIHJlZ3VsYXIgZmlsZS4KKyAqCisgKiBSZXR1cm5zOiBhYnNvbHV0ZSBwYXRoIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4gVGhlIHJlc3VsdCBoYXMgdG8gYmUKKyAqIGRlYWxsb2NhdGVkIGJ5IGZyZWUoKSBpZiBAY2FjaGUgaXMgTlVMTC4KKyAqLworY2hhciAqbW50X3Jlc29sdmVfdGFyZ2V0KGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlKQoreworCWNoYXIgKnAgPSBOVUxMOworCisJLypEQkcoQ0FDSEUsIHVsX2RlYnVnb2JqKGNhY2hlLCAicmVzb2x2aW5nIHRhcmdldCAlcyIsIHBhdGgpKTsqLworCisJaWYgKCFjYWNoZSB8fCAhY2FjaGUtPm10YWIpCisJCXJldHVybiBtbnRfcmVzb2x2ZV9wYXRoKHBhdGgsIGNhY2hlKTsKKworCXAgPSAoY2hhciAqKSBjYWNoZV9maW5kX3BhdGgoY2FjaGUsIHBhdGgpOworCWlmIChwKQorCQlyZXR1cm4gcDsKKwllbHNlIHsKKwkJc3RydWN0IGxpYm1udF9pdGVyIGl0cjsKKwkJc3RydWN0IGxpYm1udF9mcyAqZnMgPSBOVUxMOworCisJCW1udF9yZXNldF9pdGVyKCZpdHIsIE1OVF9JVEVSX0JBQ0tXQVJEKTsKKwkJd2hpbGUgKG1udF90YWJsZV9uZXh0X2ZzKGNhY2hlLT5tdGFiLCAmaXRyLCAmZnMpID09IDApIHsKKworCQkJaWYgKCFtbnRfZnNfaXNfa2VybmVsKGZzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IG1udF9mc19pc19zd2FwYXJlYShmcykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAhbW50X2ZzX3N0cmVxX3RhcmdldChmcywgcGF0aCkpCisJCQkJY29udGludWU7CisKKwkJCXAgPSBzdHJkdXAocGF0aCk7CisJCQlpZiAoIXApCisJCQkJcmV0dXJuIE5VTEw7CS8qIEVOT01FTSAqLworCisJCQlpZiAoY2FjaGVfYWRkX2VudHJ5KGNhY2hlLCBwLCBwLCBNTlRfQ0FDSEVfSVNQQVRIKSkgeworCQkJCWZyZWUocCk7CisJCQkJcmV0dXJuIE5VTEw7CS8qIEVOT01FTSAqLworCQkJfQorCQkJYnJlYWs7CisJCX0KKwl9CisKKwlpZiAoIXApCisJCXAgPSBjYW5vbmljYWxpemVfcGF0aF9hbmRfY2FjaGUocGF0aCwgY2FjaGUpOworCXJldHVybiBwOworfQorCisvKioKKyAqIG1udF9wcmV0dHlfcGF0aDoKKyAqIEBwYXRoOiBhbnkgcGF0aAorICogQGNhY2hlOiBOVUxMIG9yIHBvaW50ZXIgdG8gdGhlIGNhY2hlCisgKgorICogQ29udmVydHMgcGF0aDoKKyAqCS0gdG8gdGhlIGFic29sdXRlIHBhdGgKKyAqCS0gL2Rldi9kbS1OIHRvIC9kZXYvbWFwcGVyL25hbWUKKyAqCS0gL2Rldi9sb29wTiB0byB0aGUgbG9vcCBiYWNraW5nIGZpbGVuYW1lCisgKgktIGVtcHR5IHBhdGggKE5VTEwpIHRvICdub25lJworICoKKyAqIFJldHVybnM6IG5ld2x5IGFsbG9jYXRlZCBzdHJpbmcgd2l0aCBwYXRoLCByZXN1bHQgYWx3YXlzIGhhcyB0byBiZSBkZWFsbG9jYXRlZAorICogICAgICAgICAgYnkgZnJlZSgpLgorICovCitjaGFyICptbnRfcHJldHR5X3BhdGgoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUpCit7CisJY2hhciAqcHJldHR5ID0gbW50X3Jlc29sdmVfcGF0aChwYXRoLCBjYWNoZSk7CisKKwlpZiAoIXByZXR0eSkKKwkJcmV0dXJuIHN0cmR1cCgibm9uZSIpOworCisjaWZkZWYgX19saW51eF9fCisJLyogdXNlcnMgYXNzdW1lIGJhY2tpbmcgZmlsZSBuYW1lIHJhdGhlciB0aGFuIC9kZXYvbG9vcE4gaW4KKwkgKiBvdXRwdXQgaWYgdGhlIGRldmljZSBoYXMgYmVlbiBpbml0aWFsaXplZCBieSBtb3VudCg4KS4KKwkgKi8KKwlpZiAoc3RybmNtcChwcmV0dHksICIvZGV2L2xvb3AiLCA5KSA9PSAwKSB7CisJCXN0cnVjdCBsb29wZGV2X2N4dCBsYzsKKworCQlpZiAobG9vcGN4dF9pbml0KCZsYywgMCkgfHwgbG9vcGN4dF9zZXRfZGV2aWNlKCZsYywgcHJldHR5KSkKKwkJCWdvdG8gZG9uZTsKKworCQlpZiAobG9vcGN4dF9pc19hdXRvY2xlYXIoJmxjKSkgeworCQkJY2hhciAqdG1wID0gbG9vcGN4dF9nZXRfYmFja2luZ19maWxlKCZsYyk7CisJCQlpZiAodG1wKSB7CisJCQkJbG9vcGN4dF9kZWluaXQoJmxjKTsKKwkJCQlpZiAoIWNhY2hlKQorCQkJCQlmcmVlKHByZXR0eSk7CS8qIG5vdCBjYWNoZWQsIGRlYWxsb2NhdGUgKi8KKwkJCQlyZXR1cm4gdG1wOwkJLyogcmV0dXJuIGJhY2tpbmcgZmlsZSAqLworCQkJfQorCQl9CisJCWxvb3BjeHRfZGVpbml0KCZsYyk7CisKKwl9CisjZW5kaWYKKworZG9uZToKKwkvKiBkb24ndCByZXR1cm4gcG9pbnRlciB0byB0aGUgY2FjaGUsIGFsbG9jYXRlIGEgbmV3IHN0cmluZyAqLworCXJldHVybiBjYWNoZSA/IHN0cmR1cChwcmV0dHkpIDogcHJldHR5OworfQorCisvKioKKyAqIG1udF9yZXNvbHZlX3RhZzoKKyAqIEB0b2tlbjogdGFnIG5hbWUKKyAqIEB2YWx1ZTogdGFnIHZhbHVlCisgKiBAY2FjaGU6IGZvciByZXN1bHRzIG9yIE5VTEwKKyAqCisgKiBSZXR1cm5zOiBkZXZpY2UgbmFtZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuIFRoZSByZXN1bHQgaGFzIHRvIGJlCisgKiBkZWFsbG9jYXRlZCBieSBmcmVlKCkgaWYgQGNhY2hlIGlzIE5VTEwuCisgKi8KK2NoYXIgKm1udF9yZXNvbHZlX3RhZyhjb25zdCBjaGFyICp0b2tlbiwgY29uc3QgY2hhciAqdmFsdWUsCisJCSAgICAgIHN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlKQoreworCWNoYXIgKnAgPSBOVUxMOworCisJLypEQkcoQ0FDSEUsIHVsX2RlYnVnb2JqKGNhY2hlLCAicmVzb2x2aW5nIHRhZyB0b2tlbj0lcyB2YWx1ZT0lcyIsCisJCQkJdG9rZW4sIHZhbHVlKSk7Ki8KKworCWlmICghdG9rZW4gfHwgIXZhbHVlKQorCQlyZXR1cm4gTlVMTDsKKworCWlmIChjYWNoZSkKKwkJcCA9IChjaGFyICopIGNhY2hlX2ZpbmRfdGFnKGNhY2hlLCB0b2tlbiwgdmFsdWUpOworCisJaWYgKCFwKSB7CisJCS8qIHJldHVybnMgbmV3bHkgYWxsb2NhdGVkIHN0cmluZyAqLworCQlwID0gYmxraWRfZXZhbHVhdGVfdGFnKHRva2VuLCB2YWx1ZSwgY2FjaGUgPyAmY2FjaGUtPmJjIDogTlVMTCk7CisKKwkJaWYgKHAgJiYgY2FjaGUgJiYKKwkJICAgIGNhY2hlX2FkZF90YWcoY2FjaGUsIHRva2VuLCB2YWx1ZSwgcCwgMCkpCisJCQkJZ290byBlcnJvcjsKKwl9CisKKwlyZXR1cm4gcDsKK2Vycm9yOgorCWZyZWUocCk7CisJcmV0dXJuIE5VTEw7Cit9CisKKworCisvKioKKyAqIG1udF9yZXNvbHZlX3NwZWM6CisgKiBAc3BlYzogcGF0aCBvciB0YWcKKyAqIEBjYWNoZTogcGF0aHMgY2FjaGUKKyAqCisgKiBSZXR1cm5zOiBjYW5vbmljYWxpemVkIHBhdGggb3IgTlVMTC4gVGhlIHJlc3VsdCBoYXMgdG8gYmUKKyAqIGRlYWxsb2NhdGVkIGJ5IGZyZWUoKSBpZiBAY2FjaGUgaXMgTlVMTC4KKyAqLworY2hhciAqbW50X3Jlc29sdmVfc3BlYyhjb25zdCBjaGFyICpzcGVjLCBzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSkKK3sKKwljaGFyICpjbiA9IE5VTEw7CisJY2hhciAqdCA9IE5VTEwsICp2ID0gTlVMTDsKKworCWlmICghc3BlYykKKwkJcmV0dXJuIE5VTEw7CisKKwlpZiAoYmxraWRfcGFyc2VfdGFnX3N0cmluZyhzcGVjLCAmdCwgJnYpID09IDAgJiYgbW50X3ZhbGlkX3RhZ25hbWUodCkpCisJCWNuID0gbW50X3Jlc29sdmVfdGFnKHQsIHYsIGNhY2hlKTsKKwllbHNlCisJCWNuID0gbW50X3Jlc29sdmVfcGF0aChzcGVjLCBjYWNoZSk7CisKKwlmcmVlKHQpOworCWZyZWUodik7CisJcmV0dXJuIGNuOworfQorCisKKyNpZmRlZiBURVNUX1BST0dSQU0KKworc3RhdGljIGludCB0ZXN0X3Jlc29sdmVfcGF0aChzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNoYXIgbGluZVtCVUZTSVpdOworCXN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlOworCisJY2FjaGUgPSBtbnRfbmV3X2NhY2hlKCk7CisJaWYgKCFjYWNoZSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwl3aGlsZShmZ2V0cyhsaW5lLCBzaXplb2YobGluZSksIHN0ZGluKSkgeworCQlzaXplX3Qgc3ogPSBzdHJsZW4obGluZSk7CisJCWNoYXIgKnA7CisKKwkJaWYgKHN6ID4gMCAmJiBsaW5lW3N6IC0gMV0gPT0gJ1xuJykKKwkJCWxpbmVbc3ogLSAxXSA9ICdcMCc7CisKKwkJcCA9IG1udF9yZXNvbHZlX3BhdGgobGluZSwgY2FjaGUpOworCQlwcmludGYoIiVzIDogJXNcbiIsIGxpbmUsIHApOworCX0KKwltbnRfdW5yZWZfY2FjaGUoY2FjaGUpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHRlc3RfcmVzb2x2ZV9zcGVjKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY2hhciBsaW5lW0JVRlNJWl07CisJc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGU7CisKKwljYWNoZSA9IG1udF9uZXdfY2FjaGUoKTsKKwlpZiAoIWNhY2hlKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXdoaWxlKGZnZXRzKGxpbmUsIHNpemVvZihsaW5lKSwgc3RkaW4pKSB7CisJCXNpemVfdCBzeiA9IHN0cmxlbihsaW5lKTsKKwkJY2hhciAqcDsKKworCQlpZiAoc3ogPiAwICYmIGxpbmVbc3ogLSAxXSA9PSAnXG4nKQorCQkJbGluZVtzeiAtIDFdID0gJ1wwJzsKKworCQlwID0gbW50X3Jlc29sdmVfc3BlYyhsaW5lLCBjYWNoZSk7CisJCXByaW50ZigiJXMgOiAlc1xuIiwgbGluZSwgcCk7CisJfQorCW1udF91bnJlZl9jYWNoZShjYWNoZSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9yZWFkX3RhZ3Moc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwljaGFyIGxpbmVbQlVGU0laXTsKKwlzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZTsKKwlzaXplX3QgaTsKKworCWNhY2hlID0gbW50X25ld19jYWNoZSgpOworCWlmICghY2FjaGUpCisJCXJldHVybiAtRU5PTUVNOworCisJd2hpbGUoZmdldHMobGluZSwgc2l6ZW9mKGxpbmUpLCBzdGRpbikpIHsKKwkJc2l6ZV90IHN6ID0gc3RybGVuKGxpbmUpOworCQljaGFyICp0ID0gTlVMTCwgKnYgPSBOVUxMOworCisJCWlmIChzeiA+IDAgJiYgbGluZVtzeiAtIDFdID09ICdcbicpCisJCQlsaW5lW3N6IC0gMV0gPSAnXDAnOworCisJCWlmICghc3RyY21wKGxpbmUsICJxdWl0IikpCisJCQlicmVhazsKKworCQlpZiAoKmxpbmUgPT0gJy8nKSB7CisJCQlpZiAobW50X2NhY2hlX3JlYWRfdGFncyhjYWNoZSwgbGluZSkgPCAwKQorCQkJCWZwcmludGYoc3RkZXJyLCAiJXM6IHJlYWQgdGFncyBmYWlsZWRcbiIsIGxpbmUpOworCisJCX0gZWxzZSBpZiAoYmxraWRfcGFyc2VfdGFnX3N0cmluZyhsaW5lLCAmdCwgJnYpID09IDApIHsKKwkJCWNvbnN0IGNoYXIgKmNuID0gTlVMTDsKKworCQkJaWYgKG1udF92YWxpZF90YWduYW1lKHQpKQorCQkJCWNuID0gY2FjaGVfZmluZF90YWcoY2FjaGUsIHQsIHYpOworCQkJZnJlZSh0KTsKKwkJCWZyZWUodik7CisKKwkJCWlmIChjbikKKwkJCQlwcmludGYoIiVzOiAlc1xuIiwgbGluZSwgY24pOworCQkJZWxzZQorCQkJCXByaW50ZigiJXM6IG5vdCBjYWNoZWRcbiIsIGxpbmUpOworCQl9CisJfQorCisJZm9yIChpID0gMDsgaSA8IGNhY2hlLT5uZW50czsgaSsrKSB7CisJCXN0cnVjdCBtbnRfY2FjaGVfZW50cnkgKmUgPSAmY2FjaGUtPmVudHNbaV07CisJCWlmICghKGUtPmZsYWcgJiBNTlRfQ0FDSEVfSVNUQUcpKQorCQkJY29udGludWU7CisKKwkJcHJpbnRmKCIlMTVzIDogJTVzIDogJXNcbiIsIGUtPnZhbHVlLCBlLT5rZXksCisJCQkJZS0+a2V5ICsgc3RybGVuKGUtPmtleSkgKyAxKTsKKwl9CisKKwltbnRfdW5yZWZfY2FjaGUoY2FjaGUpOworCXJldHVybiAwOworCit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IGxpYm1udF90ZXN0IHRzW10gPSB7CisJCXsgIi0tcmVzb2x2ZS1wYXRoIiwgdGVzdF9yZXNvbHZlX3BhdGgsICIgIHJlc29sdmUgcGF0aHMgZnJvbSBzdGRpbiIgfSwKKwkJeyAiLS1yZXNvbHZlLXNwZWMiLCB0ZXN0X3Jlc29sdmVfc3BlYywgIiAgZXZhbHVhdGUgc3BlY3MgZnJvbSBzdGRpbiIgfSwKKwkJeyAiLS1yZWFkLXRhZ3MiLCB0ZXN0X3JlYWRfdGFncywgICAgICAgIiAgcmVhZCBkZXZuYW1lIG9yIFRBRyBmcm9tIHN0ZGluIChcInF1aXRcIiB0byBleGl0KSIgfSwKKwkJeyBOVUxMIH0KKwl9OworCisJcmV0dXJuIG1udF9ydW5fdGVzdCh0cywgYXJnYywgYXJndik7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYm1vdW50L3NyYy9jb250ZXh0LmMgYi9saWJtb3VudC9zcmMvY29udGV4dC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3Y2NjY2YKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtb3VudC9zcmMvY29udGV4dC5jCkBAIC0wLDAgKzEsMjYyNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCwyMDExLDIwMTIgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisvKioKKyAqIFNFQ1RJT046IGNvbnRleHQKKyAqIEB0aXRsZTogTGlicmFyeSBoaWdoLWxldmVsIGNvbnRleHQKKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogaGlnaC1sZXZlbCBBUEkgdG8gbW91bnQvdW1vdW50IGRldmljZXMuCisgKgorICogPGluZm9ybWFsZXhhbXBsZT4KKyAqICAgPHByb2dyYW1saXN0aW5nPgorICoJc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQgPSBtbnRfbmV3X2NvbnRleHQoKTsKKyAqCisgKgltbnRfY29udGV4dF9zZXRfb3B0aW9ucyhjeHQsICJhYWEsYmJiLGNjYz1DQ0MiKTsKKyAqCW1udF9jb250ZXh0X3NldF9tZmxhZ3MoY3h0LCBNU19OT0FUSU1FfE1TX05PRVhFQyk7CisgKgltbnRfY29udGV4dF9zZXRfdGFyZ2V0KGN4dCwgIi9tbnQvZm9vIik7CisgKgorICoJaWYgKCFtbnRfY29udGV4dF9tb3VudChjeHQpKQorICoJCXByaW50Zigic3VjY2Vzc2Z1bGx5IG1vdW50ZWRcbiIpOworICoJbW50X2ZyZWVfY29udGV4dChjeHQpOworICoKKyAqICAgPC9wcm9ncmFtbGlzdGluZz4KKyAqIDwvaW5mb3JtYWxleGFtcGxlPgorICoKKyAqIFRoaXMgY29kZSBpcyBzaW1pbGFyIHRvOgorICoKKyAqICAgbW91bnQgLW8gYWFhLGJiYixjY2M9Q0NDLG5vYXRpbWUsbm9leGVjIC9tbnQvZm9vCisgKgorICovCisKKyNpbmNsdWRlICJtb3VudFAuaCIKKyNpbmNsdWRlICJmaWxldXRpbHMuaCIKKworI2luY2x1ZGUgPHN5cy93YWl0Lmg+CisKKy8qKgorICogbW50X25ld19jb250ZXh0OgorICoKKyAqIFJldHVybnM6IG5ld2x5IGFsbG9jYXRlZCBtb3VudCBjb250ZXh0CisgKi8KK3N0cnVjdCBsaWJtbnRfY29udGV4dCAqbW50X25ld19jb250ZXh0KHZvaWQpCit7CisJc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQ7CisJdWlkX3QgcnVpZCwgZXVpZDsKKworCWN4dCA9IGNhbGxvYygxLCBzaXplb2YoKmN4dCkpOworCWlmICghY3h0KQorCQlyZXR1cm4gTlVMTDsKKworCUlOSVRfTElTVF9IRUFEKCZjeHQtPmFkZG1vdW50cyk7CisKKwlydWlkID0gZ2V0dWlkKCk7CisJZXVpZCA9IGdldGV1aWQoKTsKKworCW1udF9jb250ZXh0X3Jlc2V0X3N0YXR1cyhjeHQpOworCisJY3h0LT5sb29wZGV2X2ZkID0gLTE7CisKKwkvKiBpZiB3ZSdyZSByZWFsbHkgcm9vdCBhbmQgYXJlbid0IHJ1bm5pbmcgc2V0dWlkICovCisJY3h0LT5yZXN0cmljdGVkID0gKHVpZF90KSAwID09IHJ1aWQgJiYgcnVpZCA9PSBldWlkID8gMCA6IDE7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICItLS0tPiBhbGxvY2F0ZSAlcyIsCisJCQkJY3h0LT5yZXN0cmljdGVkID8gIltSRVNUUklDVEVEXSIgOiAiIikpOworCisKKwlyZXR1cm4gY3h0OworfQorCisvKioKKyAqIG1udF9mcmVlX2NvbnRleHQ6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogRGVhbGxvY2F0ZXMgY29udGV4dCBzdHJ1Y3QuCisgKi8KK3ZvaWQgbW50X2ZyZWVfY29udGV4dChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlpZiAoIWN4dCkKKwkJcmV0dXJuOworCisJbW50X3Jlc2V0X2NvbnRleHQoY3h0KTsKKworCWZyZWUoY3h0LT5mc3R5cGVfcGF0dGVybik7CisJZnJlZShjeHQtPm9wdHN0cl9wYXR0ZXJuKTsKKworCW1udF91bnJlZl90YWJsZShjeHQtPmZzdGFiKTsKKwltbnRfdW5yZWZfY2FjaGUoY3h0LT5jYWNoZSk7CisKKwltbnRfY29udGV4dF9jbGVhcl9sb29wZGV2KGN4dCk7CisJbW50X2ZyZWVfbG9jayhjeHQtPmxvY2spOworCW1udF9mcmVlX3VwZGF0ZShjeHQtPnVwZGF0ZSk7CisKKwlmcmVlKGN4dC0+Y2hpbGRyZW4pOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiPC0tLS0gZnJlZSIpKTsKKwlmcmVlKGN4dCk7Cit9CisKKy8qKgorICogbW50X3Jlc2V0X2NvbnRleHQ6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogUmVzZXRzIGFsbCBpbmZvcm1hdGlvbiBpbiB0aGUgY29udGV4dCB0aGF0IGlzIGRpcmVjdGx5IHJlbGF0ZWQgdG8KKyAqIHRoZSBsYXRlc3QgbW91bnQgKHNwZWMsIHNvdXJjZSwgdGFyZ2V0LCBtb3VudCBvcHRpb25zLCAuLi4pLgorICoKKyAqIFRoZSBtYXRjaCBwYXR0ZXJucywgY2FjaGVkIGZzdGFiLCBjYWNoZWQgY2Fub25pY2FsaXplZCBwYXRocyBhbmQgdGFncyBhbmQKKyAqIFtlXXVpZCBhcmUgbm90IHJlc2V0LiBZb3UgaGF2ZSB0byB1c2UKKyAqCisgKgltbnRfY29udGV4dF9zZXRfZnN0YWIoY3h0LCBOVUxMKTsKKyAqCW1udF9jb250ZXh0X3NldF9jYWNoZShjeHQsIE5VTEwpOworICoJbW50X2NvbnRleHRfc2V0X2ZzdHlwZV9wYXR0ZXJuKGN4dCwgTlVMTCk7CisgKgltbnRfY29udGV4dF9zZXRfb3B0aW9uc19wYXR0ZXJuKGN4dCwgTlVMTCk7CisgKgorICoKKyAqIHRvIHJlc2V0IHRoaXMgc3R1ZmYuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9yZXNldF9jb250ZXh0KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWludCBmbDsKKworCWlmICghY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIjwtLS0tIHJlc2V0IFtzdGF0dXM9JWRdIC0tLS0+IiwKKwkJCQltbnRfY29udGV4dF9nZXRfc3RhdHVzKGN4dCkpKTsKKworCWZsID0gY3h0LT5mbGFnczsKKworCW1udF91bnJlZl9mcyhjeHQtPmZzKTsKKwltbnRfdW5yZWZfdGFibGUoY3h0LT5tdGFiKTsKKwltbnRfdW5yZWZfdGFibGUoY3h0LT51dGFiKTsKKworCWZyZWUoY3h0LT5oZWxwZXIpOworCWZyZWUoY3h0LT5vcmlnX3VzZXIpOworCisJY3h0LT5mcyA9IE5VTEw7CisJY3h0LT5tdGFiID0gTlVMTDsKKwljeHQtPnV0YWIgPSBOVUxMOworCWN4dC0+aGVscGVyID0gTlVMTDsKKwljeHQtPm9yaWdfdXNlciA9IE5VTEw7CisJY3h0LT5tb3VudGZsYWdzID0gMDsKKwljeHQtPnVzZXJfbW91bnRmbGFncyA9IDA7CisJY3h0LT5tb3VudGRhdGEgPSBOVUxMOworCWN4dC0+ZmxhZ3MgPSBNTlRfRkxfREVGQVVMVDsKKworCS8qIGZyZWUgYWRkaXRpb25hbCBtb3VudHMgbGlzdCAqLworCXdoaWxlICghbGlzdF9lbXB0eSgmY3h0LT5hZGRtb3VudHMpKSB7CisJCXN0cnVjdCBsaWJtbnRfYWRkbW91bnQgKmFkID0gbGlzdF9lbnRyeShjeHQtPmFkZG1vdW50cy5uZXh0LAorCQkJCSAgICAgICAgICAgICAgICAgIHN0cnVjdCBsaWJtbnRfYWRkbW91bnQsCisJCQkJCQkgIG1vdW50cyk7CisJCW1udF9mcmVlX2FkZG1vdW50KGFkKTsKKwl9CisKKwltbnRfY29udGV4dF9yZXNldF9zdGF0dXMoY3h0KTsKKworCWlmIChjeHQtPnRhYmxlX2ZsdHJjYikKKwkJbW50X2NvbnRleHRfc2V0X3RhYmZpbHRlcihjeHQsIE5VTEwsIE5VTEwpOworCisJLyogcmVzdG9yZSBub24tcmVzZXR0YWJsZSBmbGFncyAqLworCWN4dC0+ZmxhZ3MgfD0gKGZsICYgTU5UX0ZMX05PTVRBQik7CisJY3h0LT5mbGFncyB8PSAoZmwgJiBNTlRfRkxfRkFLRSk7CisJY3h0LT5mbGFncyB8PSAoZmwgJiBNTlRfRkxfU0xPUFBZKTsKKwljeHQtPmZsYWdzIHw9IChmbCAmIE1OVF9GTF9WRVJCT1NFKTsKKwljeHQtPmZsYWdzIHw9IChmbCAmIE1OVF9GTF9OT0hFTFBFUlMpOworCWN4dC0+ZmxhZ3MgfD0gKGZsICYgTU5UX0ZMX0xPT1BERUwpOworCWN4dC0+ZmxhZ3MgfD0gKGZsICYgTU5UX0ZMX0xBWlkpOworCWN4dC0+ZmxhZ3MgfD0gKGZsICYgTU5UX0ZMX0ZPUkspOworCWN4dC0+ZmxhZ3MgfD0gKGZsICYgTU5UX0ZMX0ZPUkNFKTsKKwljeHQtPmZsYWdzIHw9IChmbCAmIE1OVF9GTF9OT0NBTk9OSUNBTElaRSk7CisJY3h0LT5mbGFncyB8PSAoZmwgJiBNTlRfRkxfUkRPTkxZX1VNT1VOVCk7CisJY3h0LT5mbGFncyB8PSAoZmwgJiBNTlRfRkxfTk9TV0FQTUFUQ0gpOworCWN4dC0+ZmxhZ3MgfD0gKGZsICYgTU5UX0ZMX1RBQlBBVEhTX0NIRUNLRUQpOworCXJldHVybiAwOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X3Jlc2V0X3N0YXR1czoKKyAqIEBjeHQ6IGNvbnRleHQKKyAqCisgKiBSZXNldHMgbW91bnQoMikgYW5kIG1vdW50LnR5cGUgc3RhdHVzZXMsIHNvIG1udF9jb250ZXh0X2RvX21vdW50KCkgb3IKKyAqIG1udF9jb250ZXh0X2RvX3Vtb3VudCgpIGNvdWxkIGJlIGFnYWluIGNhbGxlZCB3aXRoIHRoZSBzYW1lIHNldHRpbmdzLgorICoKKyAqIEJFIENBUkVGVUwgLS0gYWZ0ZXIgdGhpcyBzb2Z0IHJlc2V0IHRoZSBsaWJtb3VudCB3aWxsIE5PVCBwYXJzZSBtb3VudAorICogb3B0aW9ucywgZXZhbHVhdGUgcGVybWlzc2lvbnMgb3IgYXBwbHkgc3R1ZmYgZnJvbSBmc3RhYi4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfcmVzZXRfc3RhdHVzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWlmICghY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWN4dC0+c3lzY2FsbF9zdGF0dXMgPSAxOwkJLyogbWVhbnMgbm90IGNhbGxlZCB5ZXQgKi8KKwljeHQtPmhlbHBlcl9leGVjX3N0YXR1cyA9IDE7CisJY3h0LT5oZWxwZXJfc3RhdHVzID0gMDsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjb250ZXh0X2luaXRfcGF0aHMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCB3cml0YWJsZSkKK3sKKwlhc3NlcnQoY3h0KTsKKworI2lmZGVmIFVTRV9MSUJNT1VOVF9TVVBQT1JUX01UQUIKKwlpZiAoIWN4dC0+bXRhYl9wYXRoKQorCQljeHQtPm10YWJfcGF0aCA9IG1udF9nZXRfbXRhYl9wYXRoKCk7CisjZW5kaWYKKwlpZiAoIWN4dC0+dXRhYl9wYXRoKQorCQljeHQtPnV0YWJfcGF0aCA9IG1udF9nZXRfdXRhYl9wYXRoKCk7CisKKwlpZiAoIXdyaXRhYmxlKQorCQlyZXR1cm4gMDsJCS8qIG9ubHkgcGF0aHMgd2FudGVkICovCisJaWYgKG1udF9jb250ZXh0X2lzX25vbXRhYihjeHQpKQorCQlyZXR1cm4gMDsJCS8qIHdyaXRlIG1vZGUgb3ZlcnJpZGRlbiBieSBtb3VudCAtbiAqLworCWlmIChjeHQtPmZsYWdzICYgTU5UX0ZMX1RBQlBBVEhTX0NIRUNLRUQpCisJCXJldHVybiAwOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiY2hlY2tpbmcgZm9yIHdyaXRhYmxlIHRhYiBmaWxlcyIpKTsKKworCWN4dC0+bXRhYl93cml0YWJsZSA9IDA7CisKKyNpZmRlZiBVU0VfTElCTU9VTlRfU1VQUE9SVF9NVEFCCisJbW50X2hhc19yZWd1bGFyX210YWIoJmN4dC0+bXRhYl9wYXRoLCAmY3h0LT5tdGFiX3dyaXRhYmxlKTsKKwlpZiAoIWN4dC0+bXRhYl93cml0YWJsZSkKKyNlbmRpZgorCQkvKiB1c2UgL3J1bi9tb3VudC91dGFiIGlmIC9ldGMvbXRhYiBpcyB1c2VsZXNzICovCisJCW1udF9oYXNfcmVndWxhcl91dGFiKCZjeHQtPnV0YWJfcGF0aCwgJmN4dC0+dXRhYl93cml0YWJsZSk7CisKKwljeHQtPmZsYWdzIHw9IE1OVF9GTF9UQUJQQVRIU19DSEVDS0VEOworCXJldHVybiAwOworfQorCitpbnQgbW50X2NvbnRleHRfbXRhYl93cml0YWJsZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlhc3NlcnQoY3h0KTsKKworCWNvbnRleHRfaW5pdF9wYXRocyhjeHQsIDEpOworCXJldHVybiBjeHQtPm10YWJfd3JpdGFibGUgPT0gMTsKK30KKworaW50IG1udF9jb250ZXh0X3V0YWJfd3JpdGFibGUoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJYXNzZXJ0KGN4dCk7CisKKwljb250ZXh0X2luaXRfcGF0aHMoY3h0LCAxKTsKKwlyZXR1cm4gY3h0LT51dGFiX3dyaXRhYmxlID09IDE7Cit9CisKK2NvbnN0IGNoYXIgKm1udF9jb250ZXh0X2dldF93cml0YWJsZV90YWJwYXRoKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWFzc2VydChjeHQpOworCisJY29udGV4dF9pbml0X3BhdGhzKGN4dCwgMSk7CisJcmV0dXJuIGN4dC0+bXRhYl93cml0YWJsZSA/IGN4dC0+bXRhYl9wYXRoIDogY3h0LT51dGFiX3BhdGg7Cit9CisKKworc3RhdGljIGludCBzZXRfZmxhZyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgaW50IGZsYWcsIGludCBlbmFibGUpCit7CisJaWYgKCFjeHQpCisJCXJldHVybiAtRUlOVkFMOworCWlmIChlbmFibGUpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZW5hYmxpbmcgZmxhZyAlMDR4IiwgZmxhZykpOworCQljeHQtPmZsYWdzIHw9IGZsYWc7CisJfSBlbHNlIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZGlzYWJsaW5nIGZsYWcgJTA0eCIsIGZsYWcpKTsKKwkJY3h0LT5mbGFncyAmPSB+ZmxhZzsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfaXNfcmVzdHJpY3RlZDoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiAwIGZvciBhbiB1bnJlc3RyaWN0ZWQgbW91bnQgKHVzZXIgaXMgcm9vdCksIG9yIDEgZm9yIG5vbi1yb290IG1vdW50cworICovCitpbnQgbW50X2NvbnRleHRfaXNfcmVzdHJpY3RlZChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gY3h0LT5yZXN0cmljdGVkOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X3NldF9vcHRzbW9kZQorICogQGN4dDogbW91bnQgY29udGV4dAorICogQG1vZGU6IE1OVF9PTU9ERV8qIGZsYWdzCisgKgorICogQ29udHJvbHMgaG93IHRvIHVzZSBtb3VudCBvcHRpb25zc291cmNlIGFuZCB0YXJnZXQgcGF0aHMgZnJvbSBmc3RhYi9tdGFiLgorICoKKyAqIEBNTlRfT01PREVfSUdOT1JFOiBpZ25vcmUgbXRhYi9mc3RhYiBvcHRpb25zCisgKgorICogQE1OVF9PTU9ERV9BUFBFTkQ6IGFwcGVuZCBtdGFiL2ZzdGFiIG9wdGlvbnMgdG8gZXhpc3Rpbmcgb3B0aW9ucworICoKKyAqIEBNTlRfT01PREVfUFJFUEVORDogcHJlcGVuZCBtdGFiL2ZzdGFiIG9wdGlvbnMgdG8gZXhpc3Rpbmcgb3B0aW9ucworICoKKyAqIEBNTlRfT01PREVfUkVQTEFDRTogcmVwbGFjZSBleGlzdGluZyBvcHRpb25zIHdpdGggb3B0aW9ucyBmcm9tIG10YWIvZnN0YWIKKyAqCisgKiBATU5UX09NT0RFX0ZPUkNFOiBhbHdheXMgcmVhZCBtdGFiL2ZzdGFiIChhbHRob3VnaCBzb3VyY2UgYW5kIHRhcmdldCBhcmUgZGVmaW5lZCkKKyAqCisgKiBATU5UX09NT0RFX0ZTVEFCOiByZWFkIGZyb20gZnN0YWIKKyAqCisgKiBATU5UX09NT0RFX01UQUI6IHJlYWQgZnJvbSBtdGFiIGlmIGZzdGFiIG5vdCBlbmFibGVkIG9yIGZhaWxlZAorICoKKyAqIEBNTlRfT01PREVfTk9UQUI6IGRvIG5vdCByZWFkIGZzdGFiL210YWIgYXQgYWxsCisgKgorICogQE1OVF9PTU9ERV9BVVRPOiBkZWZhdWx0IG1vZGUgKE1OVF9PTU9ERV9QUkVQRU5EIHwgTU5UX09NT0RFX0ZTVEFCIHwgTU5UX09NT0RFX01UQUIpCisgKgorICogQE1OVF9PTU9ERV9VU0VSOiBkZWZhdWx0IGZvciBub24tcm9vdCB1c2VycyAoTU5UX09NT0RFX1JFUExBQ0UgfCBNTlRfT01PREVfRk9SQ0UgfCBNTlRfT01PREVfRlNUQUIpCisgKgorICogTm90ZXM6CisgKgorICogLSBNTlRfT01PREVfVVNFUiBpcyBhbHdheXMgdXNlZCBpZiBtb3VudCBjb250ZXh0IGlzIGluIHJlc3RyaWN0ZWQgbW9kZQorICogLSBNTlRfT01PREVfQVVUTyBpcyB1c2VkIGlmIG5vdGhpbmcgZWxzZSBpcyBkZWZpbmVkCisgKiAtIHRoZSBmbGFncyBhcmUgZXZhbHVhdGVkIGluIHRoaXMgb3JkZXI6IE1OVF9PTU9ERV9OT1RBQiwgTU5UX09NT0RFX0ZPUkNFLAorICogICBNTlRfT01PREVfRlNUQUIsIE1OVF9PTU9ERV9NVEFCIGFuZCB0aGVuIHRoZSBtb3VudCBvcHRpb25zIGZyb20gZnN0YWIvbXRhYgorICogICBhcmUgc2V0IGFjY29yZGluZyB0byBNTlRfT01PREVfe0lHTk9SRSxBUFBFTkQsUFJFUEFORCxSRVBMQUNFfQorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfY29udGV4dF9zZXRfb3B0c21vZGUoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBtb2RlKQoreworCWlmICghY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKwljeHQtPm9wdHNtb2RlID0gbW9kZTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9nZXRfb3B0c21vZGUKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiBNTlRfT01PREVfKiBtYXNrIG9yIHplcm8uCisgKi8KKworaW50IG1udF9jb250ZXh0X2dldF9vcHRzbW9kZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gY3h0LT5vcHRzbW9kZTsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9kaXNhYmxlX2Nhbm9uaWNhbGl6ZToKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqIEBkaXNhYmxlOiBUUlVFIG9yIEZBTFNFCisgKgorICogRW5hYmxlL2Rpc2FibGUgcGF0aHMgY2Fub25pY2FsaXphdGlvbiBhbmQgdGFncyBldmFsdWF0aW9uLiBUaGUgbGlibW91bnQgY29udGV4dAorICogY2Fub25pY2FsaXplcyBwYXRocyB3aGVuIHNlYXJjaGluZyBpbiBmc3RhYiBhbmQgd2hlbiBwcmVwYXJpbmcgc291cmNlIGFuZCB0YXJnZXQgcGF0aHMKKyAqIGZvciBtb3VudCgyKSBzeXNjYWxsLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaGFzIGFuIGVmZmVjdCBvbiB0aGUgcHJpdmF0ZSAod2l0aGluIGNvbnRleHQpIGZzdGFiIGluc3RhbmNlIG9ubHkKKyAqIChzZWUgbW50X2NvbnRleHRfc2V0X2ZzdGFiKCkpLiBJZiB5b3Ugd2FudCB0byB1c2UgYW4gZXh0ZXJuYWwgZnN0YWIgdGhlbiB5b3UKKyAqIG5lZWQgdG8gbWFuYWdlIHlvdXIgcHJpdmF0ZSBzdHJ1Y3QgbGlibW50X2NhY2hlIChzZWUgbW50X3RhYmxlX3NldF9jYWNoZShmc3RhYiwKKyAqIE5VTEwpLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfY29udGV4dF9kaXNhYmxlX2Nhbm9uaWNhbGl6ZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgaW50IGRpc2FibGUpCit7CisJcmV0dXJuIHNldF9mbGFnKGN4dCwgTU5UX0ZMX05PQ0FOT05JQ0FMSVpFLCBkaXNhYmxlKTsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9pc19ub2Nhbm9uaWNhbGl6ZToKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiAxIGlmIG5vLWNhbm9uaWNhbGl6ZSBtb2RlIGlzIGVuYWJsZWQgb3IgMC4KKyAqLworaW50IG1udF9jb250ZXh0X2lzX25vY2Fub25pY2FsaXplKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCXJldHVybiBjeHQtPmZsYWdzICYgTU5UX0ZMX05PQ0FOT05JQ0FMSVpFID8gMSA6IDA7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfZW5hYmxlX2xhenk6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKiBAZW5hYmxlOiBUUlVFIG9yIEZBTFNFCisgKgorICogRW5hYmxlL2Rpc2FibGUgbGF6eSB1bW91bnQgKHNlZSB1bW91bnQoOCkgbWFuIHBhZ2UsIG9wdGlvbiAtbCkuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9jb250ZXh0X2VuYWJsZV9sYXp5KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBpbnQgZW5hYmxlKQoreworCXJldHVybiBzZXRfZmxhZyhjeHQsIE1OVF9GTF9MQVpZLCBlbmFibGUpOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2lzX2xhenk6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogUmV0dXJuczogMSBpZiBsYXp5IHVtb3VudCBpcyBlbmFibGVkIG9yIDAKKyAqLworaW50IG1udF9jb250ZXh0X2lzX2xhenkoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJcmV0dXJuIGN4dC0+ZmxhZ3MgJiBNTlRfRkxfTEFaWSA/IDEgOiAwOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2VuYWJsZV9mb3JrOgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQGVuYWJsZTogVFJVRSBvciBGQUxTRQorICoKKyAqIEVuYWJsZS9kaXNhYmxlIGZvcmsoMikgY2FsbCBpbiBtbnRfY29udGV4dF9uZXh0X21vdW50KCkgKHNlZSBtb3VudCg4KSBtYW4KKyAqIHBhZ2UsIG9wdGlvbiAtRikuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9jb250ZXh0X2VuYWJsZV9mb3JrKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBpbnQgZW5hYmxlKQoreworCXJldHVybiBzZXRfZmxhZyhjeHQsIE1OVF9GTF9GT1JLLCBlbmFibGUpOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2lzX2Zvcms6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogUmV0dXJuczogMSBpZiBmb3JrIChtb3VudCAtRikgaXMgZW5hYmxlZCBvciAwCisgKi8KK2ludCBtbnRfY29udGV4dF9pc19mb3JrKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCXJldHVybiBjeHQtPmZsYWdzICYgTU5UX0ZMX0ZPUksgPyAxIDogMDsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9pc19wYXJlbnQ6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogUmV0dXJuOiAxIGlmIG1vdW50IC1GIGVuYWJsZWQgYW5kIHRoZSBjdXJyZW50IGNvbnRleHQgaXMgcGFyZW50LCBvciAwCisgKi8KK2ludCBtbnRfY29udGV4dF9pc19wYXJlbnQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJcmV0dXJuIG1udF9jb250ZXh0X2lzX2ZvcmsoY3h0KSAmJiBjeHQtPnBpZCA9PSAwOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2lzX2NoaWxkOgorICogQGN4dDogbW91bnQgY29udGV4dAorICoKKyAqIFJldHVybjogMSBmIHRoZSBjdXJyZW50IGNvbnRleHQgaXMgY2hpbGQsIG9yIDAKKyAqLworaW50IG1udF9jb250ZXh0X2lzX2NoaWxkKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCS8qIFNlZSBtbnRfZm9ya19jb250ZXh0KCksIHRoZSBmb3IgZm9yayBmbGFnIGlzIGFsd2F5cyBkaXNhYmxlZAorCSAqIGZvciBjaGlsZHJlbiB0byBhdm9pZCByZWN1cnNpdmUgZm9ya2luZy4KKwkgKi8KKwlyZXR1cm4gIW1udF9jb250ZXh0X2lzX2ZvcmsoY3h0KSAmJiBjeHQtPnBpZDsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9lbmFibGVfcmRvbmx5X3Vtb3VudDoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqIEBlbmFibGU6IFRSVUUgb3IgRkFMU0UKKyAqCisgKiBFbmFibGUvZGlzYWJsZSByZWFkLW9ubHkgcmVtb3VudCBvbiBmYWlsZWQgdW1vdW50KDIpCisgKiAoc2VlIHVtb3VudCg4KSBtYW4gcGFnZSwgb3B0aW9uIC1yKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfZW5hYmxlX3Jkb25seV91bW91bnQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBlbmFibGUpCit7CisJcmV0dXJuIHNldF9mbGFnKGN4dCwgTU5UX0ZMX1JET05MWV9VTU9VTlQsIGVuYWJsZSk7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfaXNfcmRvbmx5X3Vtb3VudAorICogQGN4dDogbW91bnQgY29udGV4dAorICoKKyAqIFNlZSBhbHNvIG1udF9jb250ZXh0X2VuYWJsZV9yZG9ubHlfdW1vdW50KCkgYW5kIHVtb3VudCg4KSBtYW4gcGFnZSwKKyAqIG9wdGlvbiAtci4KKyAqCisgKiBSZXR1cm5zOiAxIGlmIHJlYWQtb25seSByZW1vdW50IGZhaWxlZCB1bW91bnQoMikgaXMgZW5hYmxlcyBvciAwCisgKi8KK2ludCBtbnRfY29udGV4dF9pc19yZG9ubHlfdW1vdW50KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCXJldHVybiBjeHQtPmZsYWdzICYgTU5UX0ZMX1JET05MWV9VTU9VTlQgPyAxIDogMDsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9kaXNhYmxlX2hlbHBlcnM6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKiBAZGlzYWJsZTogVFJVRSBvciBGQUxTRQorICoKKyAqIEVuYWJsZS9kaXNhYmxlIC9zYmluL1t1XW1vdW50LiogaGVscGVycyAoc2VlIG1vdW50KDgpIG1hbiBwYWdlLCBvcHRpb24gLWkpLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfY29udGV4dF9kaXNhYmxlX2hlbHBlcnMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBkaXNhYmxlKQoreworCXJldHVybiBzZXRfZmxhZyhjeHQsIE1OVF9GTF9OT0hFTFBFUlMsIGRpc2FibGUpOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2lzX25vaGVscGVycworICogQGN4dDogbW91bnQgY29udGV4dAorICoKKyAqIFJldHVybnM6IDEgaWYgaGVscGVycyBhcmUgZGlzYWJsZWQgKG1vdW50IC1pKSBvciAwCisgKi8KK2ludCBtbnRfY29udGV4dF9pc19ub2hlbHBlcnMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJcmV0dXJuIGN4dC0+ZmxhZ3MgJiBNTlRfRkxfTk9IRUxQRVJTID8gMSA6IDA7Cit9CisKKworLyoqCisgKiBtbnRfY29udGV4dF9lbmFibGVfc2xvcHB5OgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQGVuYWJsZTogVFJVRSBvciBGQUxTRQorICoKKyAqIFNldC91bnNldCBzbG9wcHkgbW91bnRpbmcgKHNlZSBtb3VudCg4KSBtYW4gcGFnZSwgb3B0aW9uIC1zKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfZW5hYmxlX3Nsb3BweShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgaW50IGVuYWJsZSkKK3sKKwlyZXR1cm4gc2V0X2ZsYWcoY3h0LCBNTlRfRkxfU0xPUFBZLCBlbmFibGUpOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2lzX3Nsb3BweToKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiAxIGlmIHNsb3BweSBmbGFnIGlzIGVuYWJsZWQgb3IgMAorICovCitpbnQgbW50X2NvbnRleHRfaXNfc2xvcHB5KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCXJldHVybiBjeHQtPmZsYWdzICYgTU5UX0ZMX1NMT1BQWSA/IDEgOiAwOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2VuYWJsZV9mYWtlOgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQGVuYWJsZTogVFJVRSBvciBGQUxTRQorICoKKyAqIEVuYWJsZS9kaXNhYmxlIGZha2UgbW91bnRpbmcgKHNlZSBtb3VudCg4KSBtYW4gcGFnZSwgb3B0aW9uIC1mKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfZW5hYmxlX2Zha2Uoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBlbmFibGUpCit7CisJcmV0dXJuIHNldF9mbGFnKGN4dCwgTU5UX0ZMX0ZBS0UsIGVuYWJsZSk7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfaXNfZmFrZToKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiAxIGlmIGZha2UgZmxhZyBpcyBlbmFibGVkIG9yIDAKKyAqLworaW50IG1udF9jb250ZXh0X2lzX2Zha2Uoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJcmV0dXJuIGN4dC0+ZmxhZ3MgJiBNTlRfRkxfRkFLRSA/IDEgOiAwOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2Rpc2FibGVfbXRhYjoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqIEBkaXNhYmxlOiBUUlVFIG9yIEZBTFNFCisgKgorICogRGlzYWJsZS9lbmFibGUgbXRhYiB1cGRhdGUgKHNlZSBtb3VudCg4KSBtYW4gcGFnZSwgb3B0aW9uIC1uKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfZGlzYWJsZV9tdGFiKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBpbnQgZGlzYWJsZSkKK3sKKwlyZXR1cm4gc2V0X2ZsYWcoY3h0LCBNTlRfRkxfTk9NVEFCLCBkaXNhYmxlKTsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9pc19ub210YWI6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogUmV0dXJuczogMSBpZiBuby1tdGFiIGlzIGVuYWJsZWQgb3IgMAorICovCitpbnQgbW50X2NvbnRleHRfaXNfbm9tdGFiKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCXJldHVybiBjeHQtPmZsYWdzICYgTU5UX0ZMX05PTVRBQiA/IDEgOiAwOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2Rpc2FibGVfc3dhcG1hdGNoOgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQGRpc2FibGU6IFRSVUUgb3IgRkFMU0UKKyAqCisgKiBEaXNhYmxlL2VuYWJsZSBzd2FwIGJldHdlZW4gc291cmNlIGFuZCB0YXJnZXQgZm9yIG1vdW50KDgpIGlmIG9ubHkgb25lIHBhdGgKKyAqIGlzIHNwZWNpZmllZC4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfZGlzYWJsZV9zd2FwbWF0Y2goc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBkaXNhYmxlKQoreworCXJldHVybiBzZXRfZmxhZyhjeHQsIE1OVF9GTF9OT1NXQVBNQVRDSCwgZGlzYWJsZSk7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfaXNfc3dhcG1hdGNoOgorICogQGN4dDogbW91bnQgY29udGV4dAorICoKKyAqIFJldHVybnM6IDEgaWYgc3dhcCBiZXR3ZWVuIHNvdXJjZSBhbmQgdGFyZ2V0IGlzIGFsbG93ZWQgKGRlZmF1bHQgaXMgMSkgb3IgMC4KKyAqLworaW50IG1udF9jb250ZXh0X2lzX3N3YXBtYXRjaChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gY3h0LT5mbGFncyAmIE1OVF9GTF9OT1NXQVBNQVRDSCA/IDAgOiAxOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2VuYWJsZV9mb3JjZToKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqIEBlbmFibGU6IFRSVUUgb3IgRkFMU0UKKyAqCisgKiBFbmFibGUvZGlzYWJsZSBmb3JjZSB1bW91bnRpbmcgKHNlZSB1bW91bnQoOCkgbWFuIHBhZ2UsIG9wdGlvbiAtZikuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9jb250ZXh0X2VuYWJsZV9mb3JjZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgaW50IGVuYWJsZSkKK3sKKwlyZXR1cm4gc2V0X2ZsYWcoY3h0LCBNTlRfRkxfRk9SQ0UsIGVuYWJsZSk7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfaXNfZm9yY2UKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiAxIGlmIGZvcmNlIHVtb3VudGluZyBmbGFnIGlzIGVuYWJsZWQgb3IgMAorICovCitpbnQgbW50X2NvbnRleHRfaXNfZm9yY2Uoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJcmV0dXJuIGN4dC0+ZmxhZ3MgJiBNTlRfRkxfRk9SQ0UgPyAxIDogMDsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9lbmFibGVfdmVyYm9zZToKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqIEBlbmFibGU6IFRSVUUgb3IgRkFMU0UKKyAqCisgKiBFbmFibGUvZGlzYWJsZSB2ZXJib3NlIG91dHB1dCAoVE9ETzogbm90IGltcGxlbWVudGVkIHlldCkKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfZW5hYmxlX3ZlcmJvc2Uoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBlbmFibGUpCit7CisJcmV0dXJuIHNldF9mbGFnKGN4dCwgTU5UX0ZMX1ZFUkJPU0UsIGVuYWJsZSk7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfaXNfdmVyYm9zZQorICogQGN4dDogbW91bnQgY29udGV4dAorICoKKyAqIFJldHVybnM6IDEgaWYgdmVyYm9zZSBmbGFnIGlzIGVuYWJsZWQgb3IgMAorICovCitpbnQgbW50X2NvbnRleHRfaXNfdmVyYm9zZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gY3h0LT5mbGFncyAmIE1OVF9GTF9WRVJCT1NFID8gMSA6IDA7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfZW5hYmxlX2xvb3BkZWw6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKiBAZW5hYmxlOiBUUlVFIG9yIEZBTFNFCisgKgorICogRW5hYmxlL2Rpc2FibGUgdGhlIGxvb3AgZGVsZXRlIChkZXN0cm95KSBhZnRlciB1bW91bnQgKHNlZSB1bW91bnQoOCksIG9wdGlvbiAtZCkKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfZW5hYmxlX2xvb3BkZWwoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBlbmFibGUpCit7CisJcmV0dXJuIHNldF9mbGFnKGN4dCwgTU5UX0ZMX0xPT1BERUwsIGVuYWJsZSk7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfaXNfbG9vcGRlbDoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiAxIGlmIGxvb3AgZGV2aWNlIHNob3VsZCBiZSBkZWxldGVkIGFmdGVyIHVtb3VudCAodW1vdW50IC1kKSBvciAwLgorICovCitpbnQgbW50X2NvbnRleHRfaXNfbG9vcGRlbChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gY3h0LT5mbGFncyAmIE1OVF9GTF9MT09QREVMID8gMSA6IDA7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfc2V0X2ZzOgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQGZzOiBmaWxlc3lzdGVtIGRlc2NyaXB0aW9uCisgKgorICogVGhlIG1vdW50IGNvbnRleHQgdXNlcyBwcml2YXRlIEBmcyBieSBkZWZhdWx0LiBUaGlzIGZ1bmN0aW9uIGFsbG93cyB0bworICogb3ZlcndyaXRlIHRoZSBwcml2YXRlIEBmcyB3aXRoIGFuIGV4dGVybmFsIGluc3RhbmNlLiBUaGlzIGZ1bmN0aW9uCisgKiBpbmNyZW1lbnRzIEBmcyByZWZlcmVuY2UgY291bnRlciAoYW5kIGRlY3JlbWVudCByZWZlcmVuY2UgY291bnRlciBvZiB0aGUKKyAqIG9sZCBmcykuCisgKgorICogVGhlIEBmcyB3aWxsIGJlIG1vZGlmaWVkIGJ5IG1udF9jb250ZXh0X3NldF97c291cmNlLHRhcmdldCxvcHRpb25zLGZzdHlwZX0KKyAqIGZ1bmN0aW9ucywgSWYgdGhlIEBmcyBpcyBOVUxMLCB0aGVuIGFsbCBjdXJyZW50IEZTIHNwZWNpZmljIHNldHRpbmdzIChzb3VyY2UsCisgKiB0YXJnZXQsIGV0Yy4sIGV4Y2x1ZGUgc3BlYykgYXJlIHJlc2V0LgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfY29udGV4dF9zZXRfZnMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCWlmICghY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW1udF9yZWZfZnMoZnMpOwkJCS8qIG5ldyAqLworCW1udF91bnJlZl9mcyhjeHQtPmZzKTsJCS8qIG9sZCAqLworCWN4dC0+ZnMgPSBmczsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9nZXRfZnM6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogVGhlIEZTIGNvbnRhaW5zIHRoZSBiYXNpYyBkZXNjcmlwdGlvbiBvZiBtb3VudHBvaW50LCBmcyB0eXBlIGFuZCBzbyBvbi4KKyAqIE5vdGUgdGhhdCB0aGUgRlMgaXMgbW9kaWZpZWQgYnkgbW50X2NvbnRleHRfc2V0X3tzb3VyY2UsdGFyZ2V0LG9wdGlvbnMsZnN0eXBlfQorICogZnVuY3Rpb25zLgorICoKKyAqIFJldHVybnM6IHBvaW50ZXIgdG8gRlMgZGVzY3JpcHRpb24gb3IgTlVMTCBpbiBjYXNlIG9mIGEgY2FsbG9jKCkgZXJyb3IuCisgKi8KK3N0cnVjdCBsaWJtbnRfZnMgKm1udF9jb250ZXh0X2dldF9mcyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlpZiAoIWN4dCkKKwkJcmV0dXJuIE5VTEw7CisJaWYgKCFjeHQtPmZzKQorCQljeHQtPmZzID0gbW50X25ld19mcygpOworCXJldHVybiBjeHQtPmZzOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2dldF9mc191c2VyZGF0YToKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiBwb2ludGVyIHRvIHVzZXJkYXRhIG9yIE5VTEwuCisgKi8KK3ZvaWQgKm1udF9jb250ZXh0X2dldF9mc191c2VyZGF0YShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gY3h0LT5mcyA/IG1udF9mc19nZXRfdXNlcmRhdGEoY3h0LT5mcykgOiBOVUxMOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2dldF9mc3RhYl91c2VyZGF0YToKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiBwb2ludGVyIHRvIHVzZXJkYXRhIG9yIE5VTEwuCisgKi8KK3ZvaWQgKm1udF9jb250ZXh0X2dldF9mc3RhYl91c2VyZGF0YShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gY3h0LT5mc3RhYiA/IG1udF90YWJsZV9nZXRfdXNlcmRhdGEoY3h0LT5mc3RhYikgOiBOVUxMOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2dldF9tdGFiX3VzZXJkYXRhOgorICogQGN4dDogbW91bnQgY29udGV4dAorICoKKyAqIFJldHVybnM6IHBvaW50ZXIgdG8gdXNlcmRhdGEgb3IgTlVMTC4KKyAqLwordm9pZCAqbW50X2NvbnRleHRfZ2V0X210YWJfdXNlcmRhdGEoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJcmV0dXJuIGN4dC0+bXRhYiA/IG1udF90YWJsZV9nZXRfdXNlcmRhdGEoY3h0LT5tdGFiKSA6IE5VTEw7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfc2V0X3NvdXJjZToKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqIEBzb3VyY2U6IG1vdW50IHNvdXJjZSAoZGV2aWNlLCBkaXJlY3RvcnksIFVVSUQsIExBQkVMLCAuLi4pCisgKgorICogTm90ZSB0aGF0IGxpYm1vdW50IGRvZXMgbm90IGludGVycHJldCAibm9mYWlsIiAoTU5UX01TX05PRkFJTCkKKyAqIG1vdW50IG9wdGlvbi4gVGhlIHJlYWwgcmV0dXJuIGNvZGUgaXMgYWx3YXlzIHJldHVybmVkLCB3aGVuCisgKiB0aGUgZGV2aWNlIGRvZXMgbm90IGV4aXN0IHRoZW4gaXQncyB1c3VhbGx5IE1OVF9FUlJfTk9TT1VSQ0UKKyAqIGZyb20gbGlibW91bnQgb3IgRU5PRU5ULCBFTk9URElSLCBFTk9UQkxLLCBFTlhJTyBmcm9tIG1vdW50KDIpLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfY29udGV4dF9zZXRfc291cmNlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBjb25zdCBjaGFyICpzb3VyY2UpCit7CisJcmV0dXJuIG1udF9mc19zZXRfc291cmNlKG1udF9jb250ZXh0X2dldF9mcyhjeHQpLCBzb3VyY2UpOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2dldF9zb3VyY2U6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogUmV0dXJuczogcmV0dXJucyBwb2ludGVyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvciBvciBpZiBub3Qgc2V0LgorICovCitjb25zdCBjaGFyICptbnRfY29udGV4dF9nZXRfc291cmNlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCXJldHVybiBtbnRfZnNfZ2V0X3NvdXJjZShtbnRfY29udGV4dF9nZXRfZnMoY3h0KSk7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfc2V0X3RhcmdldDoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqIEB0YXJnZXQ6IG1vdW50cG9pbnQKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfc2V0X3RhcmdldChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqdGFyZ2V0KQoreworCXJldHVybiBtbnRfZnNfc2V0X3RhcmdldChtbnRfY29udGV4dF9nZXRfZnMoY3h0KSwgdGFyZ2V0KTsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9nZXRfdGFyZ2V0OgorICogQGN4dDogbW91bnQgY29udGV4dAorICoKKyAqIFJldHVybnM6IHJldHVybnMgcG9pbnRlciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3Igb3IgaWYgbm90IHNldC4KKyAqLworY29uc3QgY2hhciAqbW50X2NvbnRleHRfZ2V0X3RhcmdldChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gbW50X2ZzX2dldF90YXJnZXQobW50X2NvbnRleHRfZ2V0X2ZzKGN4dCkpOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X3NldF9mc3R5cGU6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKiBAZnN0eXBlOiBmaWxlc3lzdGVtIHR5cGUKKyAqCisgKiBOb3RlIHRoYXQgdGhlIEBmc3R5cGUgaGFzIHRvIGJlIGEgRlMgdHlwZS4gRm9yIHBhdHRlcm5zIHdpdGgKKyAqIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGZpbGVzeXN0ZW1zIG9yIGZvciB0aGUgIm5vZnMiIG5vdGF0aW9uLCB1c2UKKyAqIG1udF9jb250ZXh0X3NldF9mc3R5cGVfcGF0dGVybigpLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfY29udGV4dF9zZXRfZnN0eXBlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBjb25zdCBjaGFyICpmc3R5cGUpCit7CisJcmV0dXJuIG1udF9mc19zZXRfZnN0eXBlKG1udF9jb250ZXh0X2dldF9mcyhjeHQpLCBmc3R5cGUpOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2dldF9mc3R5cGU6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogUmV0dXJuczogcG9pbnRlciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3Igb3IgaWYgbm90IHNldC4KKyAqLworY29uc3QgY2hhciAqbW50X2NvbnRleHRfZ2V0X2ZzdHlwZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gbW50X2ZzX2dldF9mc3R5cGUobW50X2NvbnRleHRfZ2V0X2ZzKGN4dCkpOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X3NldF9vcHRpb25zOgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQG9wdHN0cjogY29tbWEgZGVsaW1pdGVkIG1vdW50IG9wdGlvbnMKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfc2V0X29wdGlvbnMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKm9wdHN0cikKK3sKKwlyZXR1cm4gbW50X2ZzX3NldF9vcHRpb25zKG1udF9jb250ZXh0X2dldF9mcyhjeHQpLCBvcHRzdHIpOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2FwcGVuZF9vcHRpb25zOgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQG9wdHN0cjogY29tbWEgZGVsaW1pdGVkIG1vdW50IG9wdGlvbnMKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfYXBwZW5kX29wdGlvbnMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKm9wdHN0cikKK3sKKwlyZXR1cm4gbW50X2ZzX2FwcGVuZF9vcHRpb25zKG1udF9jb250ZXh0X2dldF9mcyhjeHQpLCBvcHRzdHIpOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2dldF9vcHRpb25zOgorICogQGN4dDogbW91bnQgY29udGV4dAorICoKKyAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucyBtb3VudCBvcHRpb25zIHNldCBieSBtbnRfY29udGV4dF9zZXRfb3B0aW9ucygpIG9yCisgKiBtbnRfY29udGV4dF9hcHBlbmRfb3B0aW9ucygpLgorICoKKyAqIE5vdGUgdGhhdCAqYWZ0ZXIqIG1udF9jb250ZXh0X3ByZXBhcmVfbW91bnQoKSwgdGhlIG1vdW50IG9wdGlvbnMgc3RyaW5nCisgKiBtYXkgYWxzbyBpbmNsdWRlIG9wdGlvbnMgc2V0IGJ5IG1udF9jb250ZXh0X3NldF9tZmxhZ3MoKSBvciBvdGhlciBvcHRpb25zCisgKiBnZW5lcmF0ZWQgYnkgdGhpcyBsaWJyYXJ5LgorICoKKyAqIFJldHVybnM6IHBvaW50ZXIgb3IgTlVMTAorICovCitjb25zdCBjaGFyICptbnRfY29udGV4dF9nZXRfb3B0aW9ucyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gbW50X2ZzX2dldF9vcHRpb25zKG1udF9jb250ZXh0X2dldF9mcyhjeHQpKTsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9zZXRfZnN0eXBlX3BhdHRlcm46CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKiBAcGF0dGVybjogRlMgbmFtZSBwYXR0ZXJuIChvciBOVUxMIHRvIHJlc2V0IHRoZSBjdXJyZW50IHNldHRpbmcpCisgKgorICogU2VlIG1vdW50KDgpLCBvcHRpb24gLXQuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9jb250ZXh0X3NldF9mc3R5cGVfcGF0dGVybihzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqcGF0dGVybikKK3sKKwljaGFyICpwID0gTlVMTDsKKworCWlmICghY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAocGF0dGVybikgeworCQlwID0gc3RyZHVwKHBhdHRlcm4pOworCQlpZiAoIXApCisJCQlyZXR1cm4gLUVOT01FTTsKKwl9CisJZnJlZShjeHQtPmZzdHlwZV9wYXR0ZXJuKTsKKwljeHQtPmZzdHlwZV9wYXR0ZXJuID0gcDsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9zZXRfb3B0aW9uc19wYXR0ZXJuOgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQHBhdHRlcm46IG9wdGlvbnMgcGF0dGVybiAob3IgTlVMTCB0byByZXNldCB0aGUgY3VycmVudCBzZXR0aW5nKQorICoKKyAqIFNlZSBtb3VudCg4KSwgb3B0aW9uIC1PLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfY29udGV4dF9zZXRfb3B0aW9uc19wYXR0ZXJuKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBjb25zdCBjaGFyICpwYXR0ZXJuKQoreworCWNoYXIgKnAgPSBOVUxMOworCisJaWYgKCFjeHQpCisJCXJldHVybiAtRUlOVkFMOworCWlmIChwYXR0ZXJuKSB7CisJCXAgPSBzdHJkdXAocGF0dGVybik7CisJCWlmICghcCkKKwkJCXJldHVybiAtRU5PTUVNOworCX0KKwlmcmVlKGN4dC0+b3B0c3RyX3BhdHRlcm4pOworCWN4dC0+b3B0c3RyX3BhdHRlcm4gPSBwOworCXJldHVybiAwOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X3NldF9mc3RhYjoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqIEB0YjogZnN0YWIKKyAqCisgKiBUaGUgbW91bnQgY29udGV4dCByZWFkcyAvZXRjL2ZzdGFiIHRvIHRoZSBwcml2YXRlIHN0cnVjdCBsaWJtbnRfdGFibGUgYnkgZGVmYXVsdC4KKyAqIFRoaXMgZnVuY3Rpb24gYWxsb3dzIHRvIG92ZXJ3cml0ZSB0aGUgcHJpdmF0ZSBmc3RhYiB3aXRoIGFuIGV4dGVybmFsCisgKiBpbnN0YW5jZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIG1vZGlmeSB0aGUgQHRiIHJlZmVyZW5jZSBjb3VudGVyLiBUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IHNldAorICogdGhlIGNhY2hlIGZvciB0aGUgQHRiLiBZb3UgaGF2ZSB0byBleHBsaWNpdGx5IGNhbGwgbW50X3RhYmxlX3NldF9jYWNoZSh0YiwKKyAqIG1udF9jb250ZXh0X2dldF9jYWNoZShjeHQpKTsKKyAqCisgKiBUaGUgZnN0YWIgaXMgdXNlZCByZWFkLW9ubHkgYW5kIGlzIG5vdCBtb2RpZmllZCwgaXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvCisgKiBzaGFyZSB0aGUgZnN0YWIgYmV0d2VlbiBtb3JlIG1vdW50IGNvbnRleHRzIChUT0RPOiB0ZXN0IGl0LikKKyAqCisgKiBJZiB0aGUgQHRiIGFyZ3VtZW50IGlzIE5VTEwsIHRoZW4gdGhlIGN1cnJlbnQgcHJpdmF0ZSBmc3RhYiBpbnN0YW5jZSBpcworICogcmVzZXQuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9jb250ZXh0X3NldF9mc3RhYihzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgc3RydWN0IGxpYm1udF90YWJsZSAqdGIpCit7CisJaWYgKCFjeHQpCisJCXJldHVybiAtRUlOVkFMOworCisJbW50X3JlZl90YWJsZSh0Yik7CQkvKiBuZXcgKi8KKwltbnRfdW5yZWZfdGFibGUoY3h0LT5mc3RhYik7CS8qIG9sZCAqLworCisJY3h0LT5mc3RhYiA9IHRiOworCXJldHVybiAwOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2dldF9mc3RhYjoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqIEB0YjogcmV0dXJucyBmc3RhYgorICoKKyAqIFNlZSBhbHNvIG1udF90YWJsZV9wYXJzZV9mc3RhYigpIGZvciBtb3JlIGRldGFpbHMgYWJvdXQgZnN0YWIuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9jb250ZXh0X2dldF9mc3RhYihzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgc3RydWN0IGxpYm1udF90YWJsZSAqKnRiKQoreworCWlmICghY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIWN4dC0+ZnN0YWIpIHsKKwkJaW50IHJjOworCisJCWN4dC0+ZnN0YWIgPSBtbnRfbmV3X3RhYmxlKCk7CisJCWlmICghY3h0LT5mc3RhYikKKwkJCXJldHVybiAtRU5PTUVNOworCQlpZiAoY3h0LT50YWJsZV9lcnJjYikKKwkJCW1udF90YWJsZV9zZXRfcGFyc2VyX2VycmNiKGN4dC0+ZnN0YWIsIGN4dC0+dGFibGVfZXJyY2IpOworCQltbnRfdGFibGVfc2V0X2NhY2hlKGN4dC0+ZnN0YWIsIG1udF9jb250ZXh0X2dldF9jYWNoZShjeHQpKTsKKwkJcmMgPSBtbnRfdGFibGVfcGFyc2VfZnN0YWIoY3h0LT5mc3RhYiwgTlVMTCk7CisJCWlmIChyYykKKwkJCXJldHVybiByYzsKKwl9CisKKwlpZiAodGIpCisJCSp0YiA9IGN4dC0+ZnN0YWI7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfZ2V0X210YWI6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKiBAdGI6IHJldHVybnMgbXRhYgorICoKKyAqIFNlZSBhbHNvIG1udF90YWJsZV9wYXJzZV9tdGFiKCkgZm9yIG1vcmUgZGV0YWlscyBhYm91dCBtdGFiL21vdW50aW5mby4gVGhlCisgKiByZXN1bHQgd2lsbCBiZSBkZWFsbG9jYXRlZCBieSBtbnRfZnJlZV9jb250ZXh0KEBjeHQpLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfY29udGV4dF9nZXRfbXRhYihzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgc3RydWN0IGxpYm1udF90YWJsZSAqKnRiKQoreworCWlmICghY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIWN4dC0+bXRhYikgeworCQlpbnQgcmM7CisKKwkJY29udGV4dF9pbml0X3BhdGhzKGN4dCwgMCk7CisKKwkJY3h0LT5tdGFiID0gbW50X25ld190YWJsZSgpOworCQlpZiAoIWN4dC0+bXRhYikKKwkJCXJldHVybiAtRU5PTUVNOworCisJCWlmIChjeHQtPnRhYmxlX2VycmNiKQorCQkJbW50X3RhYmxlX3NldF9wYXJzZXJfZXJyY2IoY3h0LT5tdGFiLCBjeHQtPnRhYmxlX2VycmNiKTsKKwkJaWYgKGN4dC0+dGFibGVfZmx0cmNiKQorCQkJbW50X3RhYmxlX3NldF9wYXJzZXJfZmx0cmNiKGN4dC0+bXRhYiwKKwkJCQkJY3h0LT50YWJsZV9mbHRyY2IsCisJCQkJCWN4dC0+dGFibGVfZmx0cmNiX2RhdGEpOworCisJCW1udF90YWJsZV9zZXRfY2FjaGUoY3h0LT5tdGFiLCBtbnRfY29udGV4dF9nZXRfY2FjaGUoY3h0KSk7CisKKwkJLyoKKwkJICogTm90ZSB0aGF0IG10YWJfcGF0aCBpcyBOVUxMIGlmIG10YWIgaXMgdXNlbGVzcyBvciB1bnN1cHBvcnRlZAorCQkgKi8KKwkJaWYgKGN4dC0+dXRhYikKKwkJCS8qIHV0YWIgYWxyZWFkeSBwYXJzZWQsIGRvbid0IHBhcnNlIGl0IGFnYWluICovCisJCQlyYyA9IF9fbW50X3RhYmxlX3BhcnNlX210YWIoY3h0LT5tdGFiLAorCQkJCQkJICAgIGN4dC0+bXRhYl9wYXRoLCBjeHQtPnV0YWIpOworCQllbHNlCisJCQlyYyA9IG1udF90YWJsZV9wYXJzZV9tdGFiKGN4dC0+bXRhYiwgY3h0LT5tdGFiX3BhdGgpOworCQlpZiAocmMpCisJCQlyZXR1cm4gcmM7CisJfQorCisJaWYgKHRiKQorCQkqdGIgPSBjeHQtPm10YWI7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJtdGFiIHJlcXVlc3RlZCBbbmVudHM9JWRdIiwKKwkJCQltbnRfdGFibGVfZ2V0X25lbnRzKGN4dC0+bXRhYikpKTsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIENhbGxlZCBieSBtdGFiIHBhcnNlciB0byBmaWx0ZXIgb3V0IGVudHJpZXMsIG5vbi16ZXJvIG1lYW5zIHRoYXQKKyAqIGFuIGVudHJ5IGhhcyB0byBiZSBmaWx0ZXJlZCBvdXQuCisgKi8KK3N0YXRpYyBpbnQgbXRhYl9maWx0ZXIoc3RydWN0IGxpYm1udF9mcyAqZnMsIHZvaWQgKmRhdGEpCit7CisJaWYgKCFmcyB8fCAhZGF0YSkKKwkJcmV0dXJuIDA7CisJaWYgKG1udF9mc19zdHJlcV90YXJnZXQoZnMsIGRhdGEpKQorCQlyZXR1cm4gMDsKKwlpZiAobW50X2ZzX3N0cmVxX3NyY3BhdGgoZnMsIGRhdGEpKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gMTsKK30KKworLyoKKyAqIFRoZSBzYW1lIGxpa2UgbW50X2NvbnRleHRfZ2V0X210YWIoKSwgYnV0IGRvZXMgbm90IHJlYWQgYWxsIG1vdW50aW5mby9tdGFiCisgKiBmaWxlLCBidXQgb25seSBlbnRyaWVzIHJlbGV2YW50IGZvciBAdGd0LgorICovCitpbnQgbW50X2NvbnRleHRfZ2V0X210YWJfZm9yX3RhcmdldChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwKKwkJCQkgICAgc3RydWN0IGxpYm1udF90YWJsZSAqKm10YWIsCisJCQkJICAgIGNvbnN0IGNoYXIgKnRndCkKK3sKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwlzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSA9IE5VTEw7CisJY2hhciAqY25fdGd0ID0gTlVMTDsKKwlpbnQgcmM7CisKKwlpZiAobW50X3N0YXRfbW91bnRwb2ludCh0Z3QsICZzdCkgPT0gMCAmJiBTX0lTRElSKHN0LnN0X21vZGUpKSB7CisJCWNhY2hlID0gbW50X2NvbnRleHRfZ2V0X2NhY2hlKGN4dCk7CisJCWNuX3RndCA9IG1udF9yZXNvbHZlX3BhdGgodGd0LCBjYWNoZSk7CisJCWlmIChjbl90Z3QpCisJCQltbnRfY29udGV4dF9zZXRfdGFiZmlsdGVyKGN4dCwgbXRhYl9maWx0ZXIsIGNuX3RndCk7CisJfQorCisJcmMgPSBtbnRfY29udGV4dF9nZXRfbXRhYihjeHQsIG10YWIpOworCisJaWYgKGNuX3RndCkgeworCQltbnRfY29udGV4dF9zZXRfdGFiZmlsdGVyKGN4dCwgTlVMTCwgTlVMTCk7CisJCWlmICghY2FjaGUpCisJCQlmcmVlKGNuX3RndCk7CisJfQorCisJcmV0dXJuIHJjOworfQorCisvKgorICogQWxsb3dzIHRvIHNwZWNpZnkgYSBmaWx0ZXIgZm9yIHRhYiBmaWxlIGVudHJpZXMuIFRoZSBmaWx0ZXIgaXMgY2FsbGVkIGJ5CisgKiB0aGUgdGFibGUgcGFyc2VyLiBDdXJyZW50bHkgdXNlZCBmb3IgbXRhYiBhbmQgdXRhYiBvbmx5LgorICovCitpbnQgbW50X2NvbnRleHRfc2V0X3RhYmZpbHRlcihzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwKKwkJCSAgICAgIGludCAoKmZsdHIpKHN0cnVjdCBsaWJtbnRfZnMgKiwgdm9pZCAqKSwKKwkJCSAgICAgIHZvaWQgKmRhdGEpCit7CisJaWYgKCFjeHQpCisJCXJldHVybiAtRUlOVkFMOworCisJY3h0LT50YWJsZV9mbHRyY2IgPSBmbHRyOworCWN4dC0+dGFibGVfZmx0cmNiX2RhdGEgPSBkYXRhOworCisJaWYgKGN4dC0+bXRhYikKKwkJbW50X3RhYmxlX3NldF9wYXJzZXJfZmx0cmNiKGN4dC0+bXRhYiwKKwkJCQljeHQtPnRhYmxlX2ZsdHJjYiwKKwkJCQljeHQtPnRhYmxlX2ZsdHJjYl9kYXRhKTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInRhYmZpbHRlciAlcyIsIGZsdHIgPyAiRU5BQkxFRCEiIDogImRpc2FibGVkIikpOworCXJldHVybiAwOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2dldF90YWJsZToKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqIEBmaWxlbmFtZTogZS5nLiAvcHJvYy9zZWxmL21vdW50aW5mbworICogQHRiOiByZXR1cm5zIHRoZSB0YWJsZQorICoKKyAqIFRoaXMgZnVuY3Rpb24gYWxsb2NhdGVzIGEgbmV3IHRhYmxlIGFuZCBwYXJzZXMgdGhlIEBmaWxlLiBUaGUgcGFyc2VyIGVycm9yCisgKiBjYWxsYmFjayBhbmQgY2FjaGUgZm9yIHRhZ3MgYW5kIHBhdGhzIGlzIHNldCBhY2NvcmRpbmcgdG8gdGhlIEBjeHQgc2V0dGluZy4KKyAqIFNlZSBhbHNvIG1udF90YWJsZV9wYXJzZV9maWxlKCkuCisgKgorICogSXQncyBzdHJvbmdseSByZWNvbW1lbmRlZCB0byB1c2UgdGhlIG1udF9jb250ZXh0X2dldF9tdGFiKCkgYW5kCisgKiBtbnRfY29udGV4dF9nZXRfZnN0YWIoKSBmdW5jdGlvbnMgZm9yIG10YWIgYW5kIGZzdGFiIGZpbGVzLiBUaGlzIGZ1bmN0aW9uCisgKiBkb2VzIG5vdCBjYXJlIGFib3V0IExJQk1PVU5UXyogZW52LnZhcmlhYmxlcyBhbmQgZG9lcyBub3QgbWVyZ2UgdXNlcnNwYWNlCisgKiBvcHRpb25zLgorICoKKyAqIFRoZSByZXN1bHQgd2lsbCBOT1QgYmUgZGVhbGxvY2F0ZWQgYnkgbW50X2ZyZWVfY29udGV4dChAY3h0KS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfZ2V0X3RhYmxlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorCQkJICBjb25zdCBjaGFyICpmaWxlbmFtZSwgc3RydWN0IGxpYm1udF90YWJsZSAqKnRiKQoreworCWludCByYzsKKworCWlmICghY3h0IHx8ICF0YikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkqdGIgPSBtbnRfbmV3X3RhYmxlKCk7CisJaWYgKCEqdGIpCisJCXJldHVybiAtRU5PTUVNOworCisJaWYgKGN4dC0+dGFibGVfZXJyY2IpCisJCW1udF90YWJsZV9zZXRfcGFyc2VyX2VycmNiKCp0YiwgY3h0LT50YWJsZV9lcnJjYik7CisKKwlyYyA9IG1udF90YWJsZV9wYXJzZV9maWxlKCp0YiwgZmlsZW5hbWUpOworCWlmIChyYykgeworCQltbnRfdW5yZWZfdGFibGUoKnRiKTsKKwkJcmV0dXJuIHJjOworCX0KKworCW1udF90YWJsZV9zZXRfY2FjaGUoKnRiLCBtbnRfY29udGV4dF9nZXRfY2FjaGUoY3h0KSk7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfc2V0X3RhYmxlc19lcnJjYgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQGNiOiBwb2ludGVyIHRvIGNhbGxiYWNrIGZ1bmN0aW9uCisgKgorICogVGhlIGVycm9yIGNhbGxiYWNrIGlzIHVzZWQgZm9yIGFsbCB0YWIgZmlsZXMgKGUuZy4gbXRhYiwgZnN0YWIpCisgKiBwYXJzZWQgd2l0aGluIHRoZSBjb250ZXh0LgorICoKKyAqIFNlZSBhbHNvIG1udF9jb250ZXh0X2dldF9tdGFiKCksCisgKiAgICAgICAgICBtbnRfY29udGV4dF9nZXRfZnN0YWIoKSwKKyAqICAgICAgICAgIG1udF90YWJsZV9zZXRfcGFyc2VyX2VycmNiKCkuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9jb250ZXh0X3NldF90YWJsZXNfZXJyY2Ioc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsCisJaW50ICgqY2IpKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBjb25zdCBjaGFyICpmaWxlbmFtZSwgaW50IGxpbmUpKQoreworCWlmICghY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChjeHQtPm10YWIpCisJCW1udF90YWJsZV9zZXRfcGFyc2VyX2VycmNiKGN4dC0+bXRhYiwgY2IpOworCWlmIChjeHQtPmZzdGFiKQorCQltbnRfdGFibGVfc2V0X3BhcnNlcl9lcnJjYihjeHQtPmZzdGFiLCBjYik7CisKKwljeHQtPnRhYmxlX2VycmNiID0gY2I7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfc2V0X2NhY2hlOgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQGNhY2hlOiBjYWNoZSBpbnN0YW5jZSBvciBOVUxMCisgKgorICogVGhlIG1vdW50IGNvbnRleHQgbWFpbnRhaW5zIGEgcHJpdmF0ZSBzdHJ1Y3QgbGlibW50X2NhY2hlIGJ5IGRlZmF1bHQuIFRoaXMKKyAqIGZ1bmN0aW9uIGFsbG93cyB0byBvdmVyd3JpdGUgdGhlIHByaXZhdGUgY2FjaGUgd2l0aCBhbiBleHRlcm5hbCBpbnN0YW5jZS4KKyAqIFRoaXMgZnVuY3Rpb24gaW5jcmVtZW50cyBjYWNoZSByZWZlcmVuY2UgY291bnRlci4KKyAqCisgKiBJZiB0aGUgQGNhY2hlIGFyZ3VtZW50IGlzIE5VTEwsIHRoZW4gdGhlIGN1cnJlbnQgY2FjaGUgaW5zdGFuY2UgaXMgcmVzZXQuCisgKiBUaGlzIGZ1bmN0aW9uIGFwcGx5IHRoZSBjYWNoZSB0byBmc3RhYiBhbmQgbXRhYiBpbnN0YW5jZXMgKGlmIGFscmVhZHkKKyAqIGV4aXN0cykuCisgKgorICogVGhlIG9sZCBjYWNoZSBpbnN0YW5jZSByZWZlcmVuY2UgY291bnRlciBpcyBkZS1pbmNyZW1lbnRlZC4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfc2V0X2NhY2hlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSkKK3sKKwlpZiAoIWN4dCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwltbnRfcmVmX2NhY2hlKGNhY2hlKTsJCQkvKiBuZXcgKi8KKwltbnRfdW5yZWZfY2FjaGUoY3h0LT5jYWNoZSk7CQkvKiBvbGQgKi8KKworCWN4dC0+Y2FjaGUgPSBjYWNoZTsKKworCWlmIChjeHQtPm10YWIpCisJCW1udF90YWJsZV9zZXRfY2FjaGUoY3h0LT5tdGFiLCBjYWNoZSk7CisJaWYgKGN4dC0+ZnN0YWIpCisJCW1udF90YWJsZV9zZXRfY2FjaGUoY3h0LT5mc3RhYiwgY2FjaGUpOworCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfZ2V0X2NhY2hlCisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogU2VlIGFsc28gbW50X2NvbnRleHRfc2V0X2NhY2hlKCkuCisgKgorICogUmV0dXJuczogcG9pbnRlciB0byBjYWNoZSBvciBOVUxMIGlmIGNhbm9uaWNhbGl6YXRpb24gaXMgZGlzYWJsZWQuCisgKi8KK3N0cnVjdCBsaWJtbnRfY2FjaGUgKm1udF9jb250ZXh0X2dldF9jYWNoZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlpZiAoIWN4dCB8fCBtbnRfY29udGV4dF9pc19ub2Nhbm9uaWNhbGl6ZShjeHQpKQorCQlyZXR1cm4gTlVMTDsKKworCWlmICghY3h0LT5jYWNoZSkgeworCQlzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSA9IG1udF9uZXdfY2FjaGUoKTsKKwkJbW50X2NvbnRleHRfc2V0X2NhY2hlKGN4dCwgY2FjaGUpOworCQltbnRfdW5yZWZfY2FjaGUoY2FjaGUpOworCX0KKwlyZXR1cm4gY3h0LT5jYWNoZTsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9zZXRfcGFzc3dkX2NiOgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQGdldDogY2FsbGJhY2sgdG8gZ2V0IHBhc3N3b3JkCisgKiBAcmVsZWFzZTogY2FsbGJhY2sgdG8gcmVsZWFzZSAoZGVhbGxvY2F0ZSkgcGFzc3dvcmQKKyAqCisgKiBTZXRzIGNhbGxiYWNrcyBmb3IgZW5jcnlwdGlvbiBwYXNzd29yZCAoZS5nIGVuY3J5cHRlZCBsb29wZGV2KS4gVGhpcworICogZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCAoZW5jcnlwdGVkIGxvb3BzIGFyZSBubyBsb25nZXIgc3VwcG9ydGVkKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfc2V0X3Bhc3N3ZF9jYihzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwKKwkJCSAgICAgIGNoYXIgKigqZ2V0KShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKiksCisJCQkgICAgICB2b2lkICgqcmVsZWFzZSkoc3RydWN0IGxpYm1udF9jb250ZXh0ICosIGNoYXIgKikpCit7CisJaWYgKCFjeHQpCisJCXJldHVybiAtRUlOVkFMOworCWN4dC0+cHdkX2dldF9jYiA9IGdldDsKKwljeHQtPnB3ZF9yZWxlYXNlX2NiID0gcmVsZWFzZTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9nZXRfbG9jazoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBUaGUgbGlibW91bnQgYXBwbGljYXRpb25zIGRvbid0IGhhdmUgdG8gY2FyZSBhYm91dCBtdGFiIGxvY2tpbmcsIGJ1dCB3aXRoIGEKKyAqIHNtYWxsIGV4Y2VwdGlvbjogdGhlIGFwcGxpY2F0aW9uIGhhcyB0byBiZSBhYmxlIHRvIHJlbW92ZSB0aGUgbG9jayBmaWxlIHdoZW4KKyAqIGludGVycnVwdGVkIGJ5IHNpZ25hbCBvciBzaWduYWxzIGhhdmUgdG8gYmUgaWdub3JlZCB3aGVuIHRoZSBsb2NrIGlzIGxvY2tlZC4KKyAqCisgKiBUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBpZ25vcmUgYWxsIHNpZ25hbHMgKGV4Y2VwdCBTSUdBTFJNIGFuZAorICogU0lHVFJBUCBmb3IgbXRhYiB1cGRhdGUpIHdoZW4gdGhlIGxvY2sgaXMgbG9ja2VkLiBJZiB0aGlzIGJlaGF2aW9yCisgKiBpcyB1bmFjY2VwdGFibGUsIHRoZW4gdXNlOgorICoKKyAqCWxjID0gbW50X2NvbnRleHRfZ2V0X2xvY2soY3h0KTsKKyAqCWlmIChsYykKKyAqCQltbnRfbG9ja19ibG9ja19zaWduYWxzKGxjLCBGQUxTRSk7CisgKgorICogYW5kIGRvbid0IGZvcmdldCB0byBjYWxsIG1udF91bmxvY2tfZmlsZShsYykgYmVmb3JlIGV4aXQuCisgKgorICogUmV0dXJuczogcG9pbnRlciB0byBsb2NrIHN0cnVjdCBvciBOVUxMLgorICovCitzdHJ1Y3QgbGlibW50X2xvY2sgKm1udF9jb250ZXh0X2dldF9sb2NrKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCS8qCisJICogRE9OJ1QgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGhpbiBsaWJtb3VudCwgaXQgd2lsbCBhbHdheXMgYWxsb2NhdGUKKwkgKiB0aGUgbG9jay4gVGhlIG1udF91cGRhdGVfKiBmdW5jdGlvbnMgYXJlIGFibGUgdG8gYWxsb2NhdGUgdGhlIGxvY2sKKwkgKiBvbmx5IHdoZW4gbXRhYi91dGFiIHVwZGF0ZSBpcyByZWFsbHkgbmVjZXNzYXJ5LgorCSAqLworCWlmICghY3h0IHx8IG1udF9jb250ZXh0X2lzX25vbXRhYihjeHQpKQorCQlyZXR1cm4gTlVMTDsKKworCWlmICghY3h0LT5sb2NrKSB7CisJCWN4dC0+bG9jayA9IG1udF9uZXdfbG9jaygKKwkJCQltbnRfY29udGV4dF9nZXRfd3JpdGFibGVfdGFicGF0aChjeHQpLCAwKTsKKwkJaWYgKGN4dC0+bG9jaykKKwkJCW1udF9sb2NrX2Jsb2NrX3NpZ25hbHMoY3h0LT5sb2NrLCBUUlVFKTsKKwl9CisJcmV0dXJuIGN4dC0+bG9jazsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9zZXRfbWZsYWdzOgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQGZsYWdzOiBtb3VudCgyKSBmbGFncyAoTVNfKiBmbGFncykKKyAqCisgKiBTZXRzIG1vdW50IGZsYWdzIChzZWUgbW91bnQoMikgbWFuIHBhZ2UpLgorICoKKyAqIE5vdGUgdGhhdCBtb3VudCBjb250ZXh0IGFsbG93cyB0byBkZWZpbmUgbW91bnQgb3B0aW9ucyBieSBtb3VudCBmbGFncy4gSXQKKyAqIG1lYW5zIHlvdSBjYW4gZm9yIGV4YW1wbGUgdXNlCisgKgorICoJbW50X2NvbnRleHRfc2V0X21mbGFncyhjeHQsIE1TX05PRVhFQyB8IE1TX05PU1VJRCk7CisgKgorICogcmF0aGVyIHRoYW4KKyAqCisgKgltbnRfY29udGV4dF9zZXRfb3B0aW9ucyhjeHQsICJub2V4ZWMsbm9zdWlkIik7CisgKgorICogYm90aCBvZiB0aGVzZSBjYWxscyBoYXZlIHRoZSBzYW1lIGVmZmVjdC4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfc2V0X21mbGFncyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgdW5zaWduZWQgbG9uZyBmbGFncykKK3sKKwlpZiAoIWN4dCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwljeHQtPm1vdW50ZmxhZ3MgPSBmbGFnczsKKworCWlmICgoY3h0LT5mbGFncyAmIE1OVF9GTF9NT1VOVE9QVFNfRklYRUQpICYmIGN4dC0+ZnMpCisJCS8qCisJCSAqIHRoZSBmaW5hbCBtb3VudCBvcHRpb25zIGFyZSBhbHJlYWR5IGdlbmVyYXRlZCwgcmVmcmVzaC4uLgorCQkgKi8KKwkJcmV0dXJuIG1udF9vcHRzdHJfYXBwbHlfZmxhZ3MoCisJCQkJJmN4dC0+ZnMtPnZmc19vcHRzdHIsCisJCQkJY3h0LT5tb3VudGZsYWdzLAorCQkJCW1udF9nZXRfYnVpbHRpbl9vcHRtYXAoTU5UX0xJTlVYX01BUCkpOworCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfZ2V0X21mbGFnczoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqIEBmbGFnczogcmV0dXJucyBNU18qIG1vdW50IGZsYWdzCisgKgorICogQ29udmVydHMgbW91bnQgb3B0aW9ucyBzdHJpbmcgdG8gTVNfKiBmbGFncyBhbmQgYml0d2lzZS1PUiB0aGUgcmVzdWx0IHdpdGgKKyAqIHRoZSBhbHJlYWR5IGRlZmluZWQgZmxhZ3MgKHNlZSBtbnRfY29udGV4dF9zZXRfbWZsYWdzKCkpLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfY29udGV4dF9nZXRfbWZsYWdzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCB1bnNpZ25lZCBsb25nICpmbGFncykKK3sKKwlpbnQgcmMgPSAwOworCXN0cnVjdCBsaXN0X2hlYWQgKnA7CisKKwlpZiAoIWN4dCB8fCAhZmxhZ3MpCisJCXJldHVybiAtRUlOVkFMOworCisJKmZsYWdzID0gMDsKKwlpZiAoIShjeHQtPmZsYWdzICYgTU5UX0ZMX01PVU5URkxBR1NfTUVSR0VEKSAmJiBjeHQtPmZzKSB7CisJCWNvbnN0IGNoYXIgKm8gPSBtbnRfZnNfZ2V0X29wdGlvbnMoY3h0LT5mcyk7CisJCWlmIChvKQorCQkJcmMgPSBtbnRfb3B0c3RyX2dldF9mbGFncyhvLCBmbGFncywKKwkJCQkgICAgbW50X2dldF9idWlsdGluX29wdG1hcChNTlRfTElOVVhfTUFQKSk7CisJfQorCisJbGlzdF9mb3JfZWFjaChwLCAmY3h0LT5hZGRtb3VudHMpIHsKKwkJc3RydWN0IGxpYm1udF9hZGRtb3VudCAqYWQgPQorCQkJCWxpc3RfZW50cnkocCwgc3RydWN0IGxpYm1udF9hZGRtb3VudCwgbW91bnRzKTsKKworCQkqZmxhZ3MgfD0gYWQtPm1vdW50ZmxhZ3M7CisJfQorCisJaWYgKCFyYykKKwkJKmZsYWdzIHw9IGN4dC0+bW91bnRmbGFnczsKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfc2V0X3VzZXJfbWZsYWdzOgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQGZsYWdzOiBtb3VudCgyKSBmbGFncyAoTU5UX01TXyogZmxhZ3MsIGUuZy4gTU5UX01TX0xPT1ApCisgKgorICogU2V0cyB1c2Vyc3BhY2UgbW91bnQgZmxhZ3MuCisgKgorICogU2VlIGFsc28gbm90ZXMgZm9yIG1udF9jb250ZXh0X3NldF9tZmxhZ3MoKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfc2V0X3VzZXJfbWZsYWdzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCB1bnNpZ25lZCBsb25nIGZsYWdzKQoreworCWlmICghY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKwljeHQtPnVzZXJfbW91bnRmbGFncyA9IGZsYWdzOworCXJldHVybiAwOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2dldF91c2VyX21mbGFnczoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqIEBmbGFnczogcmV0dXJucyBtb3VudCBmbGFncworICoKKyAqIENvbnZlcnRzIG1vdW50IG9wdGlvbnMgc3RyaW5nIHRvIE1OVF9NU18qIGZsYWdzIGFuZCBiaXR3aXNlLU9SIHRoZSByZXN1bHQKKyAqIHdpdGggdGhlIGFscmVhZHkgZGVmaW5lZCBmbGFncyAoc2VlIG1udF9jb250ZXh0X3NldF91c2VyX21mbGFncygpKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfZ2V0X3VzZXJfbWZsYWdzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCB1bnNpZ25lZCBsb25nICpmbGFncykKK3sKKwlpbnQgcmMgPSAwOworCisJaWYgKCFjeHQgfHwgIWZsYWdzKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCSpmbGFncyA9IDA7CisJaWYgKCEoY3h0LT5mbGFncyAmIE1OVF9GTF9NT1VOVEZMQUdTX01FUkdFRCkgJiYgY3h0LT5mcykgeworCQljb25zdCBjaGFyICpvID0gbW50X2ZzX2dldF91c2VyX29wdGlvbnMoY3h0LT5mcyk7CisJCWlmIChvKQorCQkJcmMgPSBtbnRfb3B0c3RyX2dldF9mbGFncyhvLCBmbGFncywKKwkJCQltbnRfZ2V0X2J1aWx0aW5fb3B0bWFwKE1OVF9VU0VSU1BBQ0VfTUFQKSk7CisJfQorCWlmICghcmMpCisJCSpmbGFncyB8PSBjeHQtPnVzZXJfbW91bnRmbGFnczsKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfc2V0X21vdW50ZGF0YToKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqIEBkYXRhOiBtb3VudCgyKSBkYXRhCisgKgorICogVGhlIG1vdW50IGNvbnRleHQgZ2VuZXJhdGVzIG1vdW50ZGF0YSBmcm9tIG1vdW50IG9wdGlvbnMgYnkgZGVmYXVsdC4gVGhpcworICogZnVuY3Rpb24gYWxsb3dzIHRvIG92ZXJ3cml0ZSB0aGlzIGJlaGF2aW9yLCBhbmQgQGRhdGEgd2lsbCBiZSB1c2VkIGluc3RlYWQKKyAqIG9mIG1vdW50IG9wdGlvbnMuCisgKgorICogVGhlIGxpYm1vdW50IGRvZXMgbm90IGRlYWxsb2NhdGUgdGhlIGRhdGEgYnkgbW50X2ZyZWVfY29udGV4dCgpLiBOb3RlIHRoYXQKKyAqIE5VTEwgaXMgYWxzbyB2YWxpZCBtb3VudCBkYXRhLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfY29udGV4dF9zZXRfbW91bnRkYXRhKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCB2b2lkICpkYXRhKQoreworCWlmICghY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKwljeHQtPm1vdW50ZGF0YSA9IGRhdGE7CisJY3h0LT5mbGFncyB8PSBNTlRfRkxfTU9VTlREQVRBOworCXJldHVybiAwOworfQorCisvKgorICogVHJhbnNsYXRlcyBMQUJFTC9VVUlEL3BhdGggdG8gbW91bnRhYmxlIHBhdGgKKyAqLworaW50IG1udF9jb250ZXh0X3ByZXBhcmVfc3JjcGF0aChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwljb25zdCBjaGFyICpwYXRoID0gTlVMTDsKKwlzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZTsKKwljb25zdCBjaGFyICp0LCAqdiwgKnNyYzsKKwlpbnQgcmMgPSAwOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+ZnMpOworCWFzc2VydCgoY3h0LT5mbGFncyAmIE1OVF9GTF9NT1VOVEZMQUdTX01FUkdFRCkpOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAicHJlcGFyaW5nIHNvdXJjZSBwYXRoIikpOworCisJc3JjID0gbW50X2ZzX2dldF9zb3VyY2UoY3h0LT5mcyk7CisKKwlpZiAoIXNyYyAmJiBtbnRfY29udGV4dF9wcm9wYWdhdGlvbl9vbmx5KGN4dCkpCisJCS8qIG1vdW50IC0tbWFrZS17c2hhcmVkLHByaXZhdGUsLi4ufSAqLworCQlyZXR1cm4gbW50X2ZzX3NldF9zb3VyY2UoY3h0LT5mcywgIm5vbmUiKTsKKworCS8qIGlnbm9yZSBmaWxlc3lzdGVtcyB3aXRob3V0IHNvdXJjZSBvciBmaWxlc3lzdGVtcworCSAqIHdoZXJlIHRoZSBzb3VyY2UgaXMgYSBxdWFzaS1wYXRoICgvL2Zvby9iYXIpCisJICovCisJaWYgKCFzcmMgfHwgbW50X2ZzX2lzX25ldGZzKGN4dC0+ZnMpKQorCQlyZXR1cm4gMDsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInNyY3BhdGggJyVzJyIsIHNyYykpOworCisJY2FjaGUgPSBtbnRfY29udGV4dF9nZXRfY2FjaGUoY3h0KTsKKworCWlmICghbW50X2ZzX2dldF90YWcoY3h0LT5mcywgJnQsICZ2KSkgeworCQkvKgorCQkgKiBTb3VyY2UgaXMgVEFHIChldmFsdWF0ZSkKKwkJICovCisJCWlmIChjYWNoZSkKKwkJCXBhdGggPSBtbnRfcmVzb2x2ZV90YWcodCwgdiwgY2FjaGUpOworCisJCXJjID0gcGF0aCA/IG1udF9mc19zZXRfc291cmNlKGN4dC0+ZnMsIHBhdGgpIDogLU1OVF9FUlJfTk9TT1VSQ0U7CisKKwl9IGVsc2UgaWYgKGNhY2hlICYmICFtbnRfZnNfaXNfcHNldWRvZnMoY3h0LT5mcykpIHsKKwkJLyoKKwkJICogU291cmNlIGlzIFBBVEggKGNhbm9uaWNhbGl6ZSkKKwkJICovCisJCXBhdGggPSBtbnRfcmVzb2x2ZV9wYXRoKHNyYywgY2FjaGUpOworCQlpZiAocGF0aCAmJiBzdHJjbXAocGF0aCwgc3JjKSkKKwkJCXJjID0gbW50X2ZzX3NldF9zb3VyY2UoY3h0LT5mcywgcGF0aCk7CisJIH0KKworCWlmIChyYykgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJmYWlsZWQgdG8gcHJlcGFyZSBzcmNwYXRoIFtyYz0lZF0iLCByYykpOworCQlyZXR1cm4gcmM7CisJfQorCisJaWYgKCFwYXRoKQorCQlwYXRoID0gc3JjOworCisJaWYgKChjeHQtPm1vdW50ZmxhZ3MgJiAoTVNfQklORCB8IE1TX01PVkUgfCBNU19SRU1PVU5UKSkKKwkgICAgfHwgbW50X2ZzX2lzX3BzZXVkb2ZzKGN4dC0+ZnMpKSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIlJFTU9VTlQvQklORC9NT1ZFL3BzZXVkbyBGUyBzb3VyY2U6ICVzIiwgcGF0aCkpOworCQlyZXR1cm4gcmM7CisJfQorCisJLyoKKwkgKiBJbml0aWFsaXplIGxvb3AgZGV2aWNlCisJICovCisJaWYgKG1udF9jb250ZXh0X2lzX2xvb3BkZXYoY3h0KSkgeworCQlyYyA9IG1udF9jb250ZXh0X3NldHVwX2xvb3BkZXYoY3h0KTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCX0KKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImZpbmFsIHNyY3BhdGggJyVzJyIsCisJCQkJbW50X2ZzX2dldF9zb3VyY2UoY3h0LT5mcykpKTsKKwlyZXR1cm4gMDsKK30KKworLyogY3JlYXRlIGEgbW91bnRwb2ludCBpZiB4LW1vdW50Lm1rZGlyWz08bW9kZT5dIHNwZWNpZmllZCAqLworc3RhdGljIGludCBta2Rpcl90YXJnZXQoY29uc3QgY2hhciAqdGd0LCBzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwljaGFyICptc3RyID0gTlVMTDsKKwlzaXplX3QgbXN0cl9zeiA9IDA7CisJbW9kZV90IG1vZGUgPSAwOworCXN0cnVjdCBzdGF0IHN0OworCWludCByYzsKKworCWFzc2VydCh0Z3QpOworCWFzc2VydChmcyk7CisKKwlpZiAobW50X29wdHN0cl9nZXRfb3B0aW9uKGZzLT51c2VyX29wdHN0ciwgIngtbW91bnQubWtkaXIiLCAmbXN0ciwgJm1zdHJfc3opICE9IDApCisJCXJldHVybiAwOworCWlmIChtbnRfc3RhdF9tb3VudHBvaW50KHRndCwgJnN0KSA9PSAwKQorCQlyZXR1cm4gMDsKKworCWlmIChtc3RyICYmIG1zdHJfc3opIHsKKwkJY2hhciAqZW5kID0gTlVMTDsKKworCQllcnJubyA9IDA7CisJCW1vZGUgPSBzdHJ0b2wobXN0ciwgJmVuZCwgOCk7CisKKwkJaWYgKGVycm5vIHx8ICFlbmQgfHwgbXN0ciArIG1zdHJfc3ogIT0gZW5kKSB7CisJCQlEQkcoQ1hULCB1bF9kZWJ1ZygiZmFpbGVkIHRvIHBhcnNlIG1rZGlyIG1vZGUgJyVzJyIsIG1zdHIpKTsKKwkJCXJldHVybiAtTU5UX0VSUl9NT1VOVE9QVDsKKwkJfQorCX0KKworCWlmICghbW9kZSkKKwkJbW9kZSA9IFNfSVJXWFUgfAkJCS8qIDA3NTUgKi8KKwkJICAgICAgIFNfSVJHUlAgfCBTX0lYR1JQIHwKKwkJICAgICAgIFNfSVJPVEggfCBTX0lYT1RIOworCisJcmMgPSBta2Rpcl9wKHRndCwgbW9kZSk7CisJaWYgKHJjKQorCQlEQkcoQ1hULCB1bF9kZWJ1ZygibWtkaXIgJXMgZmFpbGVkOiAlbSIsIHRndCkpOworCisJcmV0dXJuIHJjOworfQorCitpbnQgbW50X2NvbnRleHRfcHJlcGFyZV90YXJnZXQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJY29uc3QgY2hhciAqdGd0OworCXN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlOworCWludCByYyA9IDA7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5mcyk7CisJYXNzZXJ0KChjeHQtPmZsYWdzICYgTU5UX0ZMX01PVU5URkxBR1NfTUVSR0VEKSk7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJwcmVwYXJpbmcgdGFyZ2V0IHBhdGgiKSk7CisKKwl0Z3QgPSBtbnRfZnNfZ2V0X3RhcmdldChjeHQtPmZzKTsKKwlpZiAoIXRndCkKKwkJcmV0dXJuIDA7CisKKwkvKiBta2RpciB0YXJnZXQgKi8KKwlpZiAoY3h0LT5hY3Rpb24gPT0gTU5UX0FDVF9NT1VOVAorCSAgICAmJiAhbW50X2NvbnRleHRfaXNfcmVzdHJpY3RlZChjeHQpCisJICAgICYmIGN4dC0+dXNlcl9tb3VudGZsYWdzICYgTU5UX01TX1hDT01NRU5UKSB7CisKKwkJcmMgPSBta2Rpcl90YXJnZXQodGd0LCBjeHQtPmZzKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOwkvKiBta2RpciBvciBwYXJzZSBlcnJvciAqLworCX0KKworCS8qIGNhbm9uaWNhbGl6ZSB0aGUgcGF0aCAqLworCWNhY2hlID0gbW50X2NvbnRleHRfZ2V0X2NhY2hlKGN4dCk7CisJaWYgKGNhY2hlKSB7CisJCWNoYXIgKnBhdGggPSBtbnRfcmVzb2x2ZV9wYXRoKHRndCwgY2FjaGUpOworCQlpZiAocGF0aCAmJiBzdHJjbXAocGF0aCwgdGd0KSAhPSAwKQorCQkJcmMgPSBtbnRfZnNfc2V0X3RhcmdldChjeHQtPmZzLCBwYXRoKTsKKwl9CisKKwlpZiAocmMpCisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImZhaWxlZCB0byBwcmVwYXJlIHRhcmdldCAnJXMnIiwgdGd0KSk7CisJZWxzZQorCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJmaW5hbCB0YXJnZXQgJyVzJyIsCisJCQkJCW1udF9mc19nZXRfdGFyZ2V0KGN4dC0+ZnMpKSk7CisJcmV0dXJuIDA7Cit9CisKKy8qIEd1ZXNzIHR5cGUsIGJ1dCBub3Qgc2V0IHRvIGN4dC0+ZnMsIGFsd2F5cyB1c2UgZnJlZSgpIGZvciB0aGUgcmVzdWx0LiBJdCdzCisgKiBubyBlcnJvciB3aGVuIHdlJ3JlIG5vdCBhYmxlIHRvIGd1ZXNzIGEgZmlsZXN5c3RlbSB0eXBlLiBOb3RlIHRoYXQgZXJyb3IKKyAqIGRvZXMgbm90IG1lYW4gdGhhdCByZXN1bHQgaW4gQHR5cGUgaXMgTlVMTC4KKyAqLworaW50IG1udF9jb250ZXh0X2d1ZXNzX3NyY3BhdGhfZnN0eXBlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBjaGFyICoqdHlwZSkKK3sKKwlpbnQgcmMgPSAwOworCWNvbnN0IGNoYXIgKmRldiA9IG1udF9mc19nZXRfc3JjcGF0aChjeHQtPmZzKTsKKworCSp0eXBlID0gTlVMTDsKKworCWlmICghZGV2KQorCQlnb3RvIGRvbmU7CisKKwlpZiAoYWNjZXNzKGRldiwgRl9PSykgPT0gMCkgeworCQlzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSA9IG1udF9jb250ZXh0X2dldF9jYWNoZShjeHQpOworCQlpbnQgYW1iaSA9IDA7CisKKwkJKnR5cGUgPSBtbnRfZ2V0X2ZzdHlwZShkZXYsICZhbWJpLCBjYWNoZSk7CisJCWlmIChjYWNoZSAmJiAqdHlwZSkKKwkJCSp0eXBlID0gc3RyZHVwKCp0eXBlKTsKKwkJaWYgKGFtYmkpCisJCQlyYyA9IC1NTlRfRVJSX0FNQklGUzsKKwl9IGVsc2UgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJhY2Nlc3MoJXMpIGZhaWxlZCBbJW1dIiwgZGV2KSk7CisJCWlmIChzdHJjaHIoZGV2LCAnOicpICE9IE5VTEwpCisJCQkqdHlwZSA9IHN0cmR1cCgibmZzIik7CisJCWVsc2UgaWYgKCFzdHJuY21wKGRldiwgIi8vIiwgMikpCisJCQkqdHlwZSA9IHN0cmR1cCgiY2lmcyIpOworCX0KKworZG9uZToKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBJdCdzIHVzdWFsbHkgbm8gZXJyb3Igd2hlbiB3ZSdyZSBub3QgYWJsZSB0byBkZXRlY3QgdGhlIGZpbGVzeXN0ZW0gdHlwZSAtLSB3ZQorICogd2lsbCB0cnkgdG8gdXNlIHRoZSB0eXBlcyBmcm9tIC97ZXRjLHByb2N9L2ZpbGVzeXN0ZW1zLgorICovCitpbnQgbW50X2NvbnRleHRfZ3Vlc3NfZnN0eXBlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWNoYXIgKnR5cGU7CisJaW50IHJjID0gMDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmZzKTsKKwlhc3NlcnQoKGN4dC0+ZmxhZ3MgJiBNTlRfRkxfTU9VTlRGTEFHU19NRVJHRUQpKTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInByZXBhcmluZyBmc3R5cGUiKSk7CisKKwlpZiAoKGN4dC0+bW91bnRmbGFncyAmIChNU19CSU5EIHwgTVNfTU9WRSkpCisJICAgIHx8IG1udF9jb250ZXh0X3Byb3BhZ2F0aW9uX29ubHkoY3h0KSkKKwkJZ290byBub25lOworCisJdHlwZSA9IChjaGFyICopIG1udF9mc19nZXRfZnN0eXBlKGN4dC0+ZnMpOworCWlmICh0eXBlICYmICFzdHJjbXAodHlwZSwgImF1dG8iKSkgeworCQltbnRfZnNfc2V0X2ZzdHlwZShjeHQtPmZzLCBOVUxMKTsKKwkJdHlwZSA9IE5VTEw7CisJfQorCisJaWYgKHR5cGUpCisJCWdvdG8gZG9uZTsKKwlpZiAoY3h0LT5tb3VudGZsYWdzICYgTVNfUkVNT1VOVCkKKwkJZ290byBub25lOworCWlmIChjeHQtPmZzdHlwZV9wYXR0ZXJuKQorCQlnb3RvIGRvbmU7CisKKwlyYyA9IG1udF9jb250ZXh0X2d1ZXNzX3NyY3BhdGhfZnN0eXBlKGN4dCwgJnR5cGUpOworCWlmIChyYyA9PSAwICYmIHR5cGUpCisJCV9fbW50X2ZzX3NldF9mc3R5cGVfcHRyKGN4dC0+ZnMsIHR5cGUpOworCWVsc2UKKwkJZnJlZSh0eXBlKTsKK2RvbmU6CisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiRlMgdHlwZTogJXMgW3JjPSVkXSIsCisJCQkJbW50X2ZzX2dldF9mc3R5cGUoY3h0LT5mcyksIHJjKSk7CisJcmV0dXJuIHJjOworbm9uZToKKwlyZXR1cm4gbW50X2ZzX3NldF9mc3R5cGUoY3h0LT5mcywgIm5vbmUiKTsKK30KKworLyoKKyAqIFRoZSBkZWZhdWx0IGlzIHRvIHVzZSBmc3R5cGUgZnJvbSBjeHQtPmZzLCB0aGlzIGNvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5CisgKiBAdHlwZS4gVGhlIEBhY3QgaXMgTU5UX0FDVF97TU9VTlQsVU1PVU5UfS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuIE5vdGUgdGhhdCBzdWNjZXNzCisgKiBkb2VzIG5vdCBtZWFuIHRoYXQgdGhlcmUgaXMgYW55IHVzYWJsZSBoZWxwZXIsIHlvdSBoYXZlIHRvIGNoZWNrIGN4dC0+aGVscGVyLgorICovCitpbnQgbW50X2NvbnRleHRfcHJlcGFyZV9oZWxwZXIoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKm5hbWUsCisJCQkJY29uc3QgY2hhciAqdHlwZSkKK3sKKwljaGFyIHNlYXJjaF9wYXRoW10gPSBGU19TRUFSQ0hfUEFUSDsJCS8qIGZyb20gY29uZmlnLmggKi8KKwljaGFyICpwID0gTlVMTCwgKnBhdGg7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5mcyk7CisJYXNzZXJ0KChjeHQtPmZsYWdzICYgTU5UX0ZMX01PVU5URkxBR1NfTUVSR0VEKSk7CisKKwlpZiAoIXR5cGUpCisJCXR5cGUgPSBtbnRfZnNfZ2V0X2ZzdHlwZShjeHQtPmZzKTsKKworCWlmICh0eXBlICYmIHN0cmNocih0eXBlLCAnLCcpKQorCQlyZXR1cm4gMDsJCQkvKiB0eXBlIGlzIGZzdHlwZSBwYXR0ZXJuICovCisKKwlpZiAobW50X2NvbnRleHRfaXNfbm9oZWxwZXJzKGN4dCkKKwkgICAgfHwgIXR5cGUKKwkgICAgfHwgIXN0cmNtcCh0eXBlLCAibm9uZSIpCisJICAgIHx8IHN0cnN0cih0eXBlLCAiLy4uIikJCS8qIGRvbid0IHRyeSB0byBzbXVnZ2xlIHBhdGggKi8KKwkgICAgfHwgbW50X2ZzX2lzX3N3YXBhcmVhKGN4dC0+ZnMpKQorCQlyZXR1cm4gMDsKKworCXBhdGggPSBzdHJ0b2tfcihzZWFyY2hfcGF0aCwgIjoiLCAmcCk7CisJd2hpbGUgKHBhdGgpIHsKKwkJY2hhciBoZWxwZXJbUEFUSF9NQVhdOworCQlzdHJ1Y3Qgc3RhdCBzdDsKKwkJaW50IHJjOworCisJCXJjID0gc25wcmludGYoaGVscGVyLCBzaXplb2YoaGVscGVyKSwgIiVzLyVzLiVzIiwKKwkJCQkJCXBhdGgsIG5hbWUsIHR5cGUpOworCQlwYXRoID0gc3RydG9rX3IoTlVMTCwgIjoiLCAmcCk7CisKKwkJaWYgKHJjIDwgMCB8fCAoc2l6ZV90KSByYyA+PSBzaXplb2YoaGVscGVyKSkKKwkJCWNvbnRpbnVlOworCisJCXJjID0gc3RhdChoZWxwZXIsICZzdCk7CisJCWlmIChyYyA9PSAtMSAmJiBlcnJubyA9PSBFTk9FTlQgJiYgc3RyY2hyKHR5cGUsICcuJykpIHsKKwkJCS8qIElmIHR5cGUgZW5kcyB3aXRoICIuc3VidHlwZSIgdHJ5IHdpdGhvdXQgaXQgKi8KKwkJCWNoYXIgKmhzID0gc3RycmNocihoZWxwZXIsICcuJyk7CisJCQlpZiAoaHMpCisJCQkJKmhzID0gJ1wwJzsKKwkJCXJjID0gc3RhdChoZWxwZXIsICZzdCk7CisJCX0KKworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICIlLTI1cyAuLi4gJXMiLCBoZWxwZXIsCisJCQkJCXJjID8gIm5vdCBmb3VuZCIgOiAiZm91bmQiKSk7CisJCWlmIChyYykKKwkJCWNvbnRpbnVlOworCisJCWZyZWUoY3h0LT5oZWxwZXIpOworCQljeHQtPmhlbHBlciA9IHN0cmR1cChoZWxwZXIpOworCQlpZiAoIWN4dC0+aGVscGVyKQorCQkJcmV0dXJuIC1FTk9NRU07CisJCXJldHVybiAwOworCX0KKworCXJldHVybiAwOworfQorCitpbnQgbW50X2NvbnRleHRfbWVyZ2VfbWZsYWdzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCXVuc2lnbmVkIGxvbmcgZmwgPSAwOworCWludCByYzsKKworCWFzc2VydChjeHQpOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAibWVyZ2luZyBtb3VudCBmbGFncyIpKTsKKworCXJjID0gbW50X2NvbnRleHRfZ2V0X21mbGFncyhjeHQsICZmbCk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisJY3h0LT5tb3VudGZsYWdzID0gZmw7CisKKwlmbCA9IDA7CisJcmMgPSBtbnRfY29udGV4dF9nZXRfdXNlcl9tZmxhZ3MoY3h0LCAmZmwpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCWN4dC0+dXNlcl9tb3VudGZsYWdzID0gZmw7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJmaW5hbCBmbGFnczogVkZTPSUwOGx4IHVzZXI9JTA4bHgiLAorCQkJY3h0LT5tb3VudGZsYWdzLCBjeHQtPnVzZXJfbW91bnRmbGFncykpOworCisJY3h0LT5mbGFncyB8PSBNTlRfRkxfTU9VTlRGTEFHU19NRVJHRUQ7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBQcmVwYXJlIC9ldGMvbXRhYiBvciAvcnVuL21vdW50L3V0YWIKKyAqLworaW50IG1udF9jb250ZXh0X3ByZXBhcmVfdXBkYXRlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWludCByYzsKKwljb25zdCBjaGFyICp0YXJnZXQ7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5mcyk7CisJYXNzZXJ0KGN4dC0+YWN0aW9uKTsKKwlhc3NlcnQoKGN4dC0+ZmxhZ3MgJiBNTlRfRkxfTU9VTlRGTEFHU19NRVJHRUQpKTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInByZXBhcmUgdXBkYXRlIikpOworCisJaWYgKG1udF9jb250ZXh0X3Byb3BhZ2F0aW9uX29ubHkoY3h0KSkgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJza2lwIHVwZGF0ZTogb25seSBNU19QUk9QQUdBVElPTiIpKTsKKwkJcmV0dXJuIDA7CisJfQorCisJdGFyZ2V0ID0gbW50X2ZzX2dldF90YXJnZXQoY3h0LT5mcyk7CisKKwlpZiAoY3h0LT5hY3Rpb24gPT0gTU5UX0FDVF9VTU9VTlQgJiYgdGFyZ2V0ICYmICFzdHJjbXAodGFyZ2V0LCAiLyIpKSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInJvb3QgdW1vdW50OiBzZXR0aW5nIE5PTVRBQiIpKTsKKwkJbW50X2NvbnRleHRfZGlzYWJsZV9tdGFiKGN4dCwgVFJVRSk7CisJfQorCWlmIChtbnRfY29udGV4dF9pc19ub210YWIoY3h0KSkgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJza2lwIHVwZGF0ZTogTk9NVEFCIGZsYWciKSk7CisJCXJldHVybiAwOworCX0KKwlpZiAoIW1udF9jb250ZXh0X2dldF93cml0YWJsZV90YWJwYXRoKGN4dCkpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAic2tpcCB1cGRhdGU6IG5vIHdyaXRhYmxlIGRlc3RpbmF0aW9uIikpOworCQlyZXR1cm4gMDsKKwl9CisJLyogMCA9IHN1Y2Nlc3MsIDEgPSBub3QgY2FsbGVkIHlldCAqLworCWlmIChjeHQtPnN5c2NhbGxfc3RhdHVzICE9IDEgJiYgY3h0LT5zeXNjYWxsX3N0YXR1cyAhPSAwKSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwKKwkJCQkic2tpcCB1cGRhdGU6IHN5c2NhbGwgZmFpbGVkIFtzdGF0dXM9JWRdIiwKKwkJCQljeHQtPnN5c2NhbGxfc3RhdHVzKSk7CisJCXJldHVybiAwOworCX0KKworCWlmICghY3h0LT51cGRhdGUpIHsKKwkJY29uc3QgY2hhciAqbmFtZSA9IG1udF9jb250ZXh0X2dldF93cml0YWJsZV90YWJwYXRoKGN4dCk7CisKKwkJaWYgKGN4dC0+YWN0aW9uID09IE1OVF9BQ1RfVU1PVU5UICYmIGlzX2ZpbGVfZW1wdHkobmFtZSkpIHsKKwkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwKKwkJCQkic2tpcCB1cGRhdGU6IHVtb3VudCwgbm8gdGFibGUiKSk7CisJCQlyZXR1cm4gMDsKKwkJfQorCisJCWN4dC0+dXBkYXRlID0gbW50X25ld191cGRhdGUoKTsKKwkJaWYgKCFjeHQtPnVwZGF0ZSkKKwkJCXJldHVybiAtRU5PTUVNOworCisJCW1udF91cGRhdGVfc2V0X2ZpbGVuYW1lKGN4dC0+dXBkYXRlLCBuYW1lLAorCQkJCSFtbnRfY29udGV4dF9tdGFiX3dyaXRhYmxlKGN4dCkpOworCX0KKworCWlmIChjeHQtPmFjdGlvbiA9PSBNTlRfQUNUX1VNT1VOVCkKKwkJcmMgPSBtbnRfdXBkYXRlX3NldF9mcyhjeHQtPnVwZGF0ZSwgY3h0LT5tb3VudGZsYWdzLAorCQkJCQltbnRfY29udGV4dF9nZXRfdGFyZ2V0KGN4dCksIE5VTEwpOworCWVsc2UKKwkJcmMgPSBtbnRfdXBkYXRlX3NldF9mcyhjeHQtPnVwZGF0ZSwgY3h0LT5tb3VudGZsYWdzLAorCQkJCQlOVUxMLCBjeHQtPmZzKTsKKworCXJldHVybiByYyA8IDAgPyByYyA6IDA7Cit9CisKK2ludCBtbnRfY29udGV4dF91cGRhdGVfdGFicyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsOworCisJYXNzZXJ0KGN4dCk7CisKKwlpZiAobW50X2NvbnRleHRfaXNfbm9tdGFiKGN4dCkpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZG9uJ3QgdXBkYXRlOiBOT01UQUIgZmxhZyIpKTsKKwkJcmV0dXJuIDA7CisJfQorCWlmICghY3h0LT51cGRhdGUgfHwgIW1udF91cGRhdGVfaXNfcmVhZHkoY3h0LT51cGRhdGUpKSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImRvbid0IHVwZGF0ZTogbm8gdXBkYXRlIHByZXBhcmVkIikpOworCQlyZXR1cm4gMDsKKwl9CisKKwkvKiBjaGVjayB1dGFiIHVwZGF0ZSB3aGVuIGV4dGVybmFsIGhlbHBlciBleGVjdXRlZCAqLworCWlmIChtbnRfY29udGV4dF9oZWxwZXJfZXhlY3V0ZWQoY3h0KQorCSAgICAmJiBtbnRfY29udGV4dF9nZXRfaGVscGVyX3N0YXR1cyhjeHQpID09IDAKKwkgICAgJiYgbW50X2NvbnRleHRfdXRhYl93cml0YWJsZShjeHQpKSB7CisKKwkJaWYgKG1udF91cGRhdGVfYWxyZWFkeV9kb25lKGN4dC0+dXBkYXRlLCBjeHQtPmxvY2spKSB7CisJCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJkb24ndCB1cGRhdGU6IGVycm9yIGV2YWx1YXRlIG9yIGFscmVhZHkgdXBkYXRlZCIpKTsKKwkJCXJldHVybiAwOworCQl9CisJfSBlbHNlIGlmIChjeHQtPmhlbHBlcikgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJkb24ndCB1cGRhdGU6IGV4dGVybmFsIGhlbHBlciIpKTsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKGN4dC0+c3lzY2FsbF9zdGF0dXMgIT0gMAorCSAgICAmJiAhKG1udF9jb250ZXh0X2hlbHBlcl9leGVjdXRlZChjeHQpICYmCisJCSBtbnRfY29udGV4dF9nZXRfaGVscGVyX3N0YXR1cyhjeHQpID09IDApKSB7CisKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZG9uJ3QgdXBkYXRlOiBzeXNjYWxsL2hlbHBlciBmYWlsZWQvbm90IGNhbGxlZCIpKTsKKwkJcmV0dXJuIDA7CisJfQorCisJZmwgPSBtbnRfdXBkYXRlX2dldF9tZmxhZ3MoY3h0LT51cGRhdGUpOworCWlmICgoY3h0LT5tb3VudGZsYWdzICYgTVNfUkRPTkxZKSAhPSAoZmwgJiBNU19SRE9OTFkpKQorCQkvKgorCQkgKiBmaXggTVNfUkRPTkxZIGluIG9wdGlvbnMKKwkJICovCisJCW1udF91cGRhdGVfZm9yY2VfcmRvbmx5KGN4dC0+dXBkYXRlLAorCQkJCWN4dC0+bW91bnRmbGFncyAmIE1TX1JET05MWSk7CisKKwlyZXR1cm4gbW50X3VwZGF0ZV90YWJsZShjeHQtPnVwZGF0ZSwgY3h0LT5sb2NrKTsKK30KKworc3RhdGljIGludCBhcHBseV90YWJsZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgc3RydWN0IGxpYm1udF90YWJsZSAqdGIsCisJCSAgICAgaW50IGRpcmVjdGlvbikKK3sKKwlzdHJ1Y3QgbGlibW50X2ZzICpmcyA9IE5VTEw7CisJY29uc3QgY2hhciAqc3JjID0gTlVMTCwgKnRndCA9IE5VTEw7CisJaW50IHJjOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+ZnMpOworCisJc3JjID0gbW50X2ZzX2dldF9zb3VyY2UoY3h0LT5mcyk7CisJdGd0ID0gbW50X2ZzX2dldF90YXJnZXQoY3h0LT5mcyk7CisKKwlpZiAodGd0ICYmIHNyYykKKwkJZnMgPSBtbnRfdGFibGVfZmluZF9wYWlyKHRiLCBzcmMsIHRndCwgZGlyZWN0aW9uKTsKKwllbHNlIHsKKwkJaWYgKHNyYykKKwkJCWZzID0gbW50X3RhYmxlX2ZpbmRfc291cmNlKHRiLCBzcmMsIGRpcmVjdGlvbik7CisJCWVsc2UgaWYgKHRndCkKKwkJCWZzID0gbW50X3RhYmxlX2ZpbmRfdGFyZ2V0KHRiLCB0Z3QsIGRpcmVjdGlvbik7CisKKwkJaWYgKCFmcyAmJiBtbnRfY29udGV4dF9pc19zd2FwbWF0Y2goY3h0KSkgeworCQkJLyogc3dhcCBzb3VyY2UgYW5kIHRhcmdldCAoaWYgQHNyYyBpcyBub3QgTEFCRUwvVVVJRCksCisJCQkgKiBmb3IgZXhhbXBsZSBpbgorCQkJICoKKwkJCSAqCW1vdW50IC9mb28vYmFyCisJCQkgKgorCQkJICogdGhlIHBhdGggY291bGQgYmUgYSBtb3VudHBvaW50IGFzIHdlbGwgYXMgYSBzb3VyY2UgKGZvcgorCQkJICogZXhhbXBsZSBiaW5kIG1vdW50LCBzeW1saW5rIHRvIGEgZGV2aWNlLCAuLi4pLgorCQkJICovCisJCQlpZiAoc3JjICYmICFtbnRfZnNfZ2V0X3RhZyhjeHQtPmZzLCBOVUxMLCBOVUxMKSkKKwkJCQlmcyA9IG1udF90YWJsZV9maW5kX3RhcmdldCh0Yiwgc3JjLCBkaXJlY3Rpb24pOworCQkJaWYgKCFmcyAmJiB0Z3QpCisJCQkJZnMgPSBtbnRfdGFibGVfZmluZF9zb3VyY2UodGIsIHRndCwgZGlyZWN0aW9uKTsKKwkJfQorCX0KKworCWlmICghZnMpCisJCXJldHVybiAtTU5UX0VSUl9OT0ZTVEFCOwkvKiBub3QgZm91bmQgKi8KKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImFwcGx5IGVudHJ5OiIpKTsKKwlEQkcoQ1hULCBtbnRfZnNfcHJpbnRfZGVidWcoZnMsIHN0ZGVycikpOworCisJLyogY29weSBmcm9tIHRhYiB0byBvdXIgRlMgZGVzY3JpcHRpb24KKwkgKi8KKwlyYyA9IG1udF9mc19zZXRfc291cmNlKGN4dC0+ZnMsIG1udF9mc19nZXRfc291cmNlKGZzKSk7CisJaWYgKCFyYykKKwkJcmMgPSBtbnRfZnNfc2V0X3RhcmdldChjeHQtPmZzLCBtbnRfZnNfZ2V0X3RhcmdldChmcykpOworCisJaWYgKCFyYyAmJiAhbW50X2ZzX2dldF9mc3R5cGUoY3h0LT5mcykpCisJCXJjID0gbW50X2ZzX3NldF9mc3R5cGUoY3h0LT5mcywgbW50X2ZzX2dldF9mc3R5cGUoZnMpKTsKKworCWlmICghcmMgJiYgIW1udF9mc19nZXRfcm9vdChjeHQtPmZzKSAmJiBtbnRfZnNfZ2V0X3Jvb3QoZnMpKQorCQlyYyA9IG1udF9mc19zZXRfcm9vdChjeHQtPmZzLCBtbnRfZnNfZ2V0X3Jvb3QoZnMpKTsKKworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJaWYgKGN4dC0+b3B0c21vZGUgJiBNTlRfT01PREVfSUdOT1JFKQorCQk7CisJZWxzZSBpZiAoY3h0LT5vcHRzbW9kZSAmIE1OVF9PTU9ERV9SRVBMQUNFKQorCQlyYyA9IG1udF9mc19zZXRfb3B0aW9ucyhjeHQtPmZzLCBtbnRfZnNfZ2V0X29wdGlvbnMoZnMpKTsKKworCWVsc2UgaWYgKGN4dC0+b3B0c21vZGUgJiBNTlRfT01PREVfQVBQRU5EKQorCQlyYyA9IG1udF9mc19hcHBlbmRfb3B0aW9ucyhjeHQtPmZzLCBtbnRfZnNfZ2V0X29wdGlvbnMoZnMpKTsKKworCWVsc2UgaWYgKGN4dC0+b3B0c21vZGUgJiBNTlRfT01PREVfUFJFUEVORCkKKwkJcmMgPSBtbnRfZnNfcHJlcGVuZF9vcHRpb25zKGN4dC0+ZnMsIG1udF9mc19nZXRfb3B0aW9ucyhmcykpOworCisJaWYgKCFyYykKKwkJY3h0LT5mbGFncyB8PSBNTlRfRkxfVEFCX0FQUExJRUQ7CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2FwcGx5X2ZzdGFiOgorICogQGN4dDogbW91bnQgY29udGV4dAorICoKKyAqIFRoaXMgZnVuY3Rpb24gaXMgb3B0aW9uYWwuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9jb250ZXh0X2FwcGx5X2ZzdGFiKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWludCByYyA9IC0xLCBpc3JlbW91bnQgPSAwOworCXN0cnVjdCBsaWJtbnRfdGFibGUgKnRhYiA9IE5VTEw7CisJY29uc3QgY2hhciAqc3JjID0gTlVMTCwgKnRndCA9IE5VTEw7CisJdW5zaWduZWQgbG9uZyBtZmxhZ3MgPSAwOworCisJaWYgKCFjeHQgfHwgIWN4dC0+ZnMpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKG1udF9jb250ZXh0X3RhYl9hcHBsaWVkKGN4dCkpCS8qIGFscmVhZHkgYXBwbGllZCAqLworCQlyZXR1cm4gMDsKKworCWlmIChtbnRfY29udGV4dF9pc19yZXN0cmljdGVkKGN4dCkpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZm9yY2UgZnN0YWIgdXNhZ2UgZm9yIG5vbi1yb290IHVzZXJzISIpKTsKKwkJY3h0LT5vcHRzbW9kZSA9IE1OVF9PTU9ERV9VU0VSOworCX0gZWxzZSBpZiAoY3h0LT5vcHRzbW9kZSA9PSAwKSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInVzZSBkZWZhdWx0IG9wdHNtb2RlIikpOworCQljeHQtPm9wdHNtb2RlID0gTU5UX09NT0RFX0FVVE87CisJfSBlbHNlIGlmIChjeHQtPm9wdHNtb2RlICYgTU5UX09NT0RFX05PVEFCKSB7CisJCWN4dC0+b3B0c21vZGUgJj0gfk1OVF9PTU9ERV9GU1RBQjsKKwkJY3h0LT5vcHRzbW9kZSAmPSB+TU5UX09NT0RFX01UQUI7CisJCWN4dC0+b3B0c21vZGUgJj0gfk1OVF9PTU9ERV9GT1JDRTsKKwl9CisKKwlpZiAobW50X2NvbnRleHRfZ2V0X21mbGFncyhjeHQsICZtZmxhZ3MpID09IDAgJiYgbWZsYWdzICYgTVNfUkVNT1VOVCkKKwkJaXNyZW1vdW50ID0gMTsKKworCWlmIChjeHQtPmZzKSB7CisJCXNyYyA9IG1udF9mc19nZXRfc291cmNlKGN4dC0+ZnMpOworCQl0Z3QgPSBtbnRfZnNfZ2V0X3RhcmdldChjeHQtPmZzKTsKKwl9CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJPUFRTTU9ERTogaWdub3JlPSVkLCBhcHBlbmQ9JWQsIHByZXBlbmQ9JWQsICIKKwkJCQkgICJyZXBsYWNlPSVkLCBmb3JjZT0lZCwgZnN0YWI9JWQsIG10YWI9JWQiLAorCQkJCSAgY3h0LT5vcHRzbW9kZSAmIE1OVF9PTU9ERV9JR05PUkUgPyAxIDogMCwKKwkJCQkgIGN4dC0+b3B0c21vZGUgJiBNTlRfT01PREVfQVBQRU5EID8gMSA6IDAsCisJCQkJICBjeHQtPm9wdHNtb2RlICYgTU5UX09NT0RFX1BSRVBFTkQgPyAxIDogMCwKKwkJCQkgIGN4dC0+b3B0c21vZGUgJiBNTlRfT01PREVfUkVQTEFDRSA/IDEgOiAwLAorCQkJCSAgY3h0LT5vcHRzbW9kZSAmIE1OVF9PTU9ERV9GT1JDRSA/IDEgOiAwLAorCQkJCSAgY3h0LT5vcHRzbW9kZSAmIE1OVF9PTU9ERV9GU1RBQiA/IDEgOiAwLAorCQkJCSAgY3h0LT5vcHRzbW9kZSAmIE1OVF9PTU9ERV9NVEFCID8gMSA6IDApKTsKKworCS8qIGZzdGFiIGlzIG5vdCByZXF1aXJlZCBpZiBzb3VyY2UgYW5kIHRhcmdldCBhcmUgc3BlY2lmaWVkICovCisJaWYgKHNyYyAmJiB0Z3QgJiYgIShjeHQtPm9wdHNtb2RlICYgTU5UX09NT0RFX0ZPUkNFKSkgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJmc3RhYiBub3QgcmVxdWlyZWQgLS0gc2tpcCIpKTsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKCFzcmMgJiYgdGd0CisJICAgICYmICEoY3h0LT5vcHRzbW9kZSAmIE1OVF9PTU9ERV9GU1RBQikKKwkgICAgJiYgIShjeHQtPm9wdHNtb2RlICYgTU5UX09NT0RFX01UQUIpKSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIm9ubHkgdGFyZ2V0OyBmc3RhYi9tdGFiIG5vdCByZXF1aXJlZCAiCisJCQkJCSAgIi0tIHNraXAsIHByb2JhYmx5IE1TX1BST1BBR0FUSU9OIikpOworCQlyZXR1cm4gMDsKKwl9CisKKwkvKiBsZXQncyBpbml0aWFsaXplIGN4dC0+ZnMgKi8KKwlpZ25vcmVfcmVzdWx0KCBtbnRfY29udGV4dF9nZXRfZnMoY3h0KSApOworCisJLyogdHJ5IGZzdGFiICovCisJaWYgKGN4dC0+b3B0c21vZGUgJiBNTlRfT01PREVfRlNUQUIpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAidHJ5aW5nIHRvIGFwcGx5IGZzdGFiIChzcmM9JXMsIHRhcmdldD0lcykiLCBzcmMsIHRndCkpOworCQlyYyA9IG1udF9jb250ZXh0X2dldF9mc3RhYihjeHQsICZ0YWIpOworCQlpZiAoIXJjKQorCQkJcmMgPSBhcHBseV90YWJsZShjeHQsIHRhYiwgTU5UX0lURVJfRk9SV0FSRCk7CisJfQorCisJLyogdHJ5IG10YWIgKi8KKwlpZiAocmMgPCAwICYmIChjeHQtPm9wdHNtb2RlICYgTU5UX09NT0RFX01UQUIpCisJICAgICYmIChpc3JlbW91bnQgfHwgY3h0LT5hY3Rpb24gPT0gTU5UX0FDVF9VTU9VTlQpKSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInRyeWluZyB0byBhcHBseSBtdGFiIChzcmM9JXMsIHRhcmdldD0lcykiLCBzcmMsIHRndCkpOworCQlpZiAodGd0KQorCQkJcmMgPSBtbnRfY29udGV4dF9nZXRfbXRhYl9mb3JfdGFyZ2V0KGN4dCwgJnRhYiwgdGd0KTsKKwkJZWxzZQorCQkJcmMgPSBtbnRfY29udGV4dF9nZXRfbXRhYihjeHQsICZ0YWIpOworCQlpZiAoIXJjKQorCQkJcmMgPSBhcHBseV90YWJsZShjeHQsIHRhYiwgTU5UX0lURVJfQkFDS1dBUkQpOworCX0KKwlpZiAocmMpIHsKKwkJaWYgKCFtbnRfY29udGV4dF9pc19yZXN0cmljdGVkKGN4dCkKKwkJICAgICYmIHRndCAmJiAhc3JjCisJCSAgICAmJiBpc3JlbW91bnQpIHsKKwkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIm9ubHkgdGFyZ2V0OyBpZ25vcmUgbWlzc2luZyBtdGFiIGVudHJ5IG9uIHJlbW91bnQiKSk7CisJCQlyZXR1cm4gMDsKKwkJfQorCisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImZhaWxlZCB0byBmaW5kIGVudHJ5IGluIGZzdGFiL210YWIgW3JjPSVkXTogJW0iLCByYykpOworCisJCS8qIGZvcmNlIHRvICJub3QgZm91bmQgaW4gZnN0YWIvbXRhYiIgZXJyb3IsIHRoZSBkZXRhaWxzIHdoeQorCQkgKiBub3QgZm91bmQgYXJlIG5vdCBzbyBpbXBvcnRhbnQgYW5kIG1heSBiZSBtaXNpbnRlcnByZXRlZCBieQorCQkgKiBhcHBsaWNhdGlvbnMuLi4gKi8KKwkJcmMgPSAtTU5UX0VSUl9OT0ZTVEFCOworCX0KKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfdGFiX2FwcGxpZWQ6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogUmV0dXJuczogMSBpZiBmc3RhYiAob3IgbXRhYikgaGFzIGJlZW4gYXBwbGllZCB0byB0aGUgY29udGV4dCwgb3IgMC4KKyAqLworaW50IG1udF9jb250ZXh0X3RhYl9hcHBsaWVkKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCXJldHVybiBjeHQtPmZsYWdzICYgTU5UX0ZMX1RBQl9BUFBMSUVEOworfQorCisvKgorICogVGhpcyBpcyBub3QgYSBwdWJsaWMgZnVuY3Rpb24hCisgKgorICogUmV0dXJucyAxIGlmICpvbmx5IHByb3BhZ2F0aW9uIGZsYWdzKiBjaGFuZ2UgaXMgcmVxdWVzdGVkLgorICovCitpbnQgbW50X2NvbnRleHRfcHJvcGFnYXRpb25fb25seShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlpZiAoY3h0LT5hY3Rpb24gIT0gTU5UX0FDVF9NT1VOVCkKKwkJcmV0dXJuIDA7CisKKwkvKiBoYXMgdG8gYmUgY2FsbGVkIGFmdGVyIGNvbnRleHRfbW91bnQuYzogZml4X29wdHMoKSAqLworCWFzc2VydCgoY3h0LT5mbGFncyAmIE1OVF9GTF9NT1VOVE9QVFNfRklYRUQpKTsKKworCS8qIGFsbCBwcm9wYWdhdGlvbiBtb3VudHMgYXJlIGluIGN4dC0+YWRkbW91bnQgKi8KKwlyZXR1cm4gIWxpc3RfZW1wdHkoJmN4dC0+YWRkbW91bnRzKQorCSAgICAgICAmJiAoY3h0LT5tb3VudGZsYWdzID09IDAgfHwgY3h0LT5tb3VudGZsYWdzID09IE1TX1NJTEVOVCkKKwkgICAgICAgJiYgY3h0LT5mcworCSAgICAgICAmJiAoIWN4dC0+ZnMtPmZzdHlwZSB8fCBzdHJjbXAoY3h0LT5mcy0+ZnN0eXBlLCAibm9uZSIpID09IDApCisJICAgICAgICYmICghY3h0LT5mcy0+c291cmNlIHx8IHN0cmNtcChjeHQtPmZzLT5zb3VyY2UsICJub25lIikgPT0gMCk7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfZ2V0X3N0YXR1czoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBHbG9iYWwgbGlibW91bnQgc3RhdHVzLgorICoKKyAqIFRoZSByZWFsIGV4aXQgY29kZSBvZiB0aGUgbW91bnQudHlwZSBoZWxwZXIgaGFzIHRvIGJlIHRlc3RlZCBieQorICogbW50X2NvbnRleHRfZ2V0X2hlbHBlcl9zdGF0dXMoKS4gVGhlIG1udF9jb250ZXh0X2dldF9zdGF0dXMoKSBvbmx5IGluZm9ybXMKKyAqIHRoYXQgZXhlYygpIGhhcyBiZWVuIHN1Y2Nlc3NmdWwuCisgKgorICogUmV0dXJuczogMSBpZiBtb3VudC50eXBlIG9yIG1vdW50KDIpIHN5c2NhbGwgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGNhbGxlZC4KKyAqLworaW50IG1udF9jb250ZXh0X2dldF9zdGF0dXMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJcmV0dXJuICFjeHQtPnN5c2NhbGxfc3RhdHVzIHx8ICFjeHQtPmhlbHBlcl9leGVjX3N0YXR1czsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9oZWxwZXJfZXhlY3V0ZWQ6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogUmV0dXJuczogMSBpZiBtb3VudC50eXBlIGhlbHBlciBoYXMgYmVlbiBleGVjdXRlZCwgb3IgMC4KKyAqLworaW50IG1udF9jb250ZXh0X2hlbHBlcl9leGVjdXRlZChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gY3h0LT5oZWxwZXJfZXhlY19zdGF0dXMgIT0gMTsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9nZXRfaGVscGVyX3N0YXR1czoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBSZXR1cm46IG1vdW50LnR5cGUgaGVscGVyIGV4aXQgc3RhdHVzLCByZXN1bHQgaXMgcmVsaWFibGUgb25seSBpZgorICogICAgICAgICBtbnRfY29udGV4dF9oZWxwZXJfZXhlY3V0ZWQoKSByZXR1cm5zIDEuCisgKi8KK2ludCBtbnRfY29udGV4dF9nZXRfaGVscGVyX3N0YXR1cyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gY3h0LT5oZWxwZXJfc3RhdHVzOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X3N5c2NhbGxfY2FsbGVkOgorICogQGN4dDogbW91bnQgY29udGV4dAorICoKKyAqIFJldHVybnM6IDEgaWYgbW91bnQoMikgc3lzY2FsbCBoYXMgYmVlbiBjYWxsZWQsIG9yIDAuCisgKi8KK2ludCBtbnRfY29udGV4dF9zeXNjYWxsX2NhbGxlZChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gY3h0LT5zeXNjYWxsX3N0YXR1cyAhPSAxOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2dldF9zeXNjYWxsX2Vycm5vOgorICogQGN4dDogbW91bnQgY29udGV4dAorICoKKyAqIFRoZSByZXN1bHQgZnJvbSB0aGlzIGZ1bmN0aW9uIGlzIHJlbGlhYmxlIG9ubHkgaWYKKyAqIG1udF9jb250ZXh0X3N5c2NhbGxfY2FsbGVkKCkgcmV0dXJucyAxLgorICoKKyAqIFJldHVybnM6IG1vdW50KDIpIGVycm5vIGlmIHRoZSBzeXNjYWxsIGZhaWxlZCBvciAwLgorICovCitpbnQgbW50X2NvbnRleHRfZ2V0X3N5c2NhbGxfZXJybm8oc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJaWYgKGN4dC0+c3lzY2FsbF9zdGF0dXMgPCAwKQorCQlyZXR1cm4gLWN4dC0+c3lzY2FsbF9zdGF0dXM7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfc2V0X3N5c2NhbGxfc3RhdHVzOgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQHN0YXR1czogbW91bnQoMikgc3RhdHVzCisgKgorICogVGhlIEBzdGF0dXMgc2hvdWxkIGJlIDAgb24gc3VjY2Vzcywgb3IgbmVnYXRpdmUgbnVtYmVyIG9uIGVycm9yICgtZXJybm8pLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gc2hvdWxkIG9ubHkgYmUgdXNlZCBpZiB0aGUgW3VdbW91bnQoMikgc3lzY2FsbCBpcyBOT1QgY2FsbGVkIGJ5CisgKiBsaWJtb3VudCBjb2RlLgorICoKKyAqIFJldHVybnM6IDAgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfY29udGV4dF9zZXRfc3lzY2FsbF9zdGF0dXMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBzdGF0dXMpCit7CisJaWYgKCFjeHQpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAic3lzY2FsbCBzdGF0dXMgc2V0IHRvOiAlZCIsIHN0YXR1cykpOworCWN4dC0+c3lzY2FsbF9zdGF0dXMgPSBzdGF0dXM7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfc3RyZXJyb3IKKyAqIEBjeHQ6IGNvbnRleHQKKyAqIEBidWY6IGJ1ZmZlcgorICogQGJ1ZnNpejogc2l6ZSBvZiB0aGUgYnVmZmVyCisgKgorICogTm90IGltcGxlbWVudGVkIHlldC4KKyAqCisgKiBSZXR1cm5zOiAwIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfc3RyZXJyb3Ioc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpLAorCQkJIGNoYXIgKmJ1ZiBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSksCisJCQkgc2l6ZV90IGJ1ZnNpeiBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJLyogVE9ETzogYmFzZWQgb24gY3h0LT5zeXNjYWxsX2Vycm5vIG9yIGN4dC0+aGVscGVyX3N0YXR1cyAqLworCXJldHVybiAwOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2luaXRfaGVscGVyCisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKiBAYWN0aW9uOiBNTlRfQUNUX3tVTU9VTlQsTU9VTlR9CisgKiBAZmxhZ3M6IG5vdCB1c2VkIG5vdworICoKKyAqIFRoaXMgZnVuY3Rpb24gaW5mb3JtcyBsaWJtb3VudCB0aGF0IHVzZWQgZnJvbSBbdV1tb3VudC50eXBlIGhlbHBlci4KKyAqCisgKiBUaGUgZnVuY3Rpb24gYWxzbyBjYWxscyBtbnRfY29udGV4dF9kaXNhYmxlX2hlbHBlcnMoKSB0byBhdm9pZCByZWN1cnNpdmUKKyAqIG1vdW50LnR5cGUgaGVscGVycyBjYWxsaW5nLiBJdCB5b3UgcmVhbGx5IHdhbnQgdG8gY2FsbCBhbm90aGVyCisgKiBtb3VudC50eXBlIGhlbHBlciBmcm9tIHlvdXIgaGVscGVyLCB0aGVuIHlvdSBoYXZlIHRvIGV4cGxpY2l0bHkgZW5hYmxlIHRoaXMKKyAqIGZlYXR1cmUgYnk6CisgKgorICoJIG1udF9jb250ZXh0X2Rpc2FibGVfaGVscGVycyhjeHQsIEZBTFNFKTsKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfaW5pdF9oZWxwZXIoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBhY3Rpb24sCisJCQkgICAgaW50IGZsYWdzIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlpbnQgcmM7CisKKwlpZiAoIWN4dCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyYyA9IG1udF9jb250ZXh0X2Rpc2FibGVfaGVscGVycyhjeHQsIFRSVUUpOworCWlmICghcmMpCisJCXJjID0gc2V0X2ZsYWcoY3h0LCBNTlRfRkxfSEVMUEVSLCAxKTsKKwlpZiAoIXJjKQorCQljeHQtPmFjdGlvbiA9IGFjdGlvbjsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImluaXRpYWxpemVkIGZvciBbdV1tb3VudC48dHlwZT4gaGVscGVyIFtyYz0lZF0iLCByYykpOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9oZWxwZXJfc2V0b3B0OgorICogQGN4dDogY29udGV4dAorICogQGM6IGdldG9wdCgpIHJlc3VsdAorICogQGFyZzogZ2V0b3B0KCkgb3B0YXJnCisgKgorICogVGhpcyBmdW5jdGlvbiBhcHBsaWVzIHRoZSBbdV1tb3VudC50eXBlIGNvbW1hbmQgbGluZSBvcHRpb24gKGZvciBleGFtcGxlIHBhcnNlZAorICogYnkgZ2V0b3B0IG9yIGdldG9wdF9sb25nKSB0byBAY3h0LiBBbGwgdW5rbm93biBvcHRpb25zIGFyZSBpZ25vcmVkIGFuZAorICogdGhlbiAxIGlzIHJldHVybmVkLgorICoKKyAqIFJldHVybnM6IG5lZ2F0aXZlIG51bWJlciBvbiBlcnJvciwgMSBpZiBAYyBpcyB1bmtub3duIG9wdGlvbiwgMCBvbiBzdWNjZXNzLgorICovCitpbnQgbW50X2NvbnRleHRfaGVscGVyX3NldG9wdChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgaW50IGMsIGNoYXIgKmFyZykKK3sKKwlpZiAoY3h0KSB7CisJCXN3aXRjaChjeHQtPmFjdGlvbikgeworCQljYXNlIE1OVF9BQ1RfTU9VTlQ6CisJCQlyZXR1cm4gbW50X2NvbnRleHRfbW91bnRfc2V0b3B0KGN4dCwgYywgYXJnKTsKKwkJY2FzZSBNTlRfQUNUX1VNT1VOVDoKKwkJCXJldHVybiBtbnRfY29udGV4dF91bW91bnRfc2V0b3B0KGN4dCwgYywgYXJnKTsKKwkJfQorCX0KKwlyZXR1cm4gLUVJTlZBTDsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9pc19mc19tb3VudGVkOgorICogQGN4dDogY29udGV4dAorICogQGZzOiBmaWxlc3lzdGVtCisgKiBAbW91bnRlZDogcmV0dXJucyAxIGZvciBtb3VudGVkIGFuZCAwIGZvciBub24tbW91bnRlZCBmaWxlc3lzdGVtcworICoKKyAqIFBsZWFzZSwgcmVhZCB0aGUgbW50X3RhYmxlX2lzX2ZzX21vdW50ZWQoKSBkZXNjcmlwdGlvbiEKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MgYW5kIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfaXNfZnNfbW91bnRlZChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwKKwkJCSAgICAgIHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBpbnQgKm1vdW50ZWQpCit7CisJc3RydWN0IGxpYm1udF90YWJsZSAqbXRhYjsKKwlpbnQgcmM7CisKKwlpZiAoIWN4dCB8fCAhZnMgfHwgIW1vdW50ZWQpCisJCXJldHVybiAtRUlOVkFMOworCisJcmMgPSBtbnRfY29udGV4dF9nZXRfbXRhYihjeHQsICZtdGFiKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCSptb3VudGVkID0gbW50X3RhYmxlX2lzX2ZzX21vdW50ZWQobXRhYiwgZnMpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IG1udF9jb250ZXh0X2FkZF9jaGlsZChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgcGlkX3QgcGlkKQoreworCXBpZF90ICpwaWRzOworCisJaWYgKCFjeHQpCisJCXJldHVybiAtRUlOVkFMOworCisJcGlkcyA9IHJlYWxsb2MoY3h0LT5jaGlsZHJlbiwgc2l6ZW9mKHBpZF90KSAqIGN4dC0+bmNoaWxkcmVuICsgMSk7CisJaWYgKCFwaWRzKQorCQlyZXR1cm4gLUVOT01FTTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImFkZCBuZXcgY2hpbGQgJWQiLCBwaWQpKTsKKwljeHQtPmNoaWxkcmVuID0gcGlkczsKKwljeHQtPmNoaWxkcmVuW2N4dC0+bmNoaWxkcmVuKytdID0gcGlkOworCisJcmV0dXJuIDA7Cit9CisKK2ludCBtbnRfZm9ya19jb250ZXh0KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWludCByYyA9IDA7CisJcGlkX3QgcGlkOworCisJYXNzZXJ0KGN4dCk7CisJaWYgKCFtbnRfY29udGV4dF9pc19wYXJlbnQoY3h0KSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJmb3JraW5nIGNvbnRleHQiKSk7CisKKwlEQkdfRkxVU0g7CisKKwlwaWQgPSBmb3JrKCk7CisKKwlzd2l0Y2ggKHBpZCkgeworCWNhc2UgLTE6IC8qIGVycm9yICovCisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImZvcmsgZmFpbGVkICVtIikpOworCQlyZXR1cm4gLWVycm5vOworCisJY2FzZSAwOiAvKiBjaGlsZCAqLworCQljeHQtPnBpZCA9IGdldHBpZCgpOworCQltbnRfY29udGV4dF9lbmFibGVfZm9yayhjeHQsIEZBTFNFKTsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiY2hpbGQgY3JlYXRlZCIpKTsKKwkJYnJlYWs7CisKKwlkZWZhdWx0OgorCQlyYyA9IG1udF9jb250ZXh0X2FkZF9jaGlsZChjeHQsIHBpZCk7CisJCWJyZWFrOworCX0KKworCXJldHVybiByYzsKK30KKworaW50IG1udF9jb250ZXh0X3dhaXRfZm9yX2NoaWxkcmVuKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorCQkJCSAgaW50ICpuY2hpbGRyZW4sIGludCAqbmVycnMpCit7CisJaW50IGk7CisKKwlpZiAoIWN4dCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlhc3NlcnQobW50X2NvbnRleHRfaXNfcGFyZW50KGN4dCkpOworCisJZm9yIChpID0gMDsgaSA8IGN4dC0+bmNoaWxkcmVuOyBpKyspIHsKKwkJcGlkX3QgcGlkID0gY3h0LT5jaGlsZHJlbltpXTsKKwkJaW50IHJjID0gMCwgcmV0ID0gMDsKKworCQlpZiAoIXBpZCkKKwkJCWNvbnRpbnVlOworCQlkbyB7CisJCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsCisJCQkJCSJ3YWl0aW5nIGZvciBjaGlsZCAoJWQvJWQpOiAlZCIsCisJCQkJCWkgKyAxLCBjeHQtPm5jaGlsZHJlbiwgcGlkKSk7CisJCQllcnJubyA9IDA7CisJCQlyYyA9IHdhaXRwaWQocGlkLCAmcmV0LCAwKTsKKworCQl9IHdoaWxlIChyYyA9PSAtMSAmJiBlcnJubyA9PSBFSU5UUik7CisKKwkJaWYgKG5jaGlsZHJlbikKKwkJCSgqbmNoaWxkcmVuKSsrOworCisJCWlmIChyYyAhPSAtMSAmJiBuZXJycykgeworCQkJaWYgKFdJRkVYSVRFRChyZXQpKQorCQkJCSgqbmVycnMpICs9IFdFWElUU1RBVFVTKHJldCkgPT0gMCA/IDAgOiAxOworCQkJZWxzZQorCQkJCSgqbmVycnMpKys7CisJCX0KKwkJY3h0LT5jaGlsZHJlbltpXSA9IDA7CisJfQorCisJY3h0LT5uY2hpbGRyZW4gPSAwOworCWZyZWUoY3h0LT5jaGlsZHJlbik7CisJY3h0LT5jaGlsZHJlbiA9IE5VTEw7CisJcmV0dXJuIDA7Cit9CisKKworCisjaWZkZWYgVEVTVF9QUk9HUkFNCisKK3N0cnVjdCBsaWJtbnRfbG9jayAqbG9jazsKKworc3RhdGljIHZvaWQgbG9ja19mYWxsYmFjayh2b2lkKQoreworCWlmIChsb2NrKQorCQltbnRfdW5sb2NrX2ZpbGUobG9jayk7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9tb3VudChzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWludCBpZHggPSAxLCByYyA9IDA7CisJc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQ7CisKKwlpZiAoYXJnYyA8IDIpCisJCXJldHVybiAtRUlOVkFMOworCisJY3h0ID0gbW50X25ld19jb250ZXh0KCk7CisJaWYgKCFjeHQpCisJCXJldHVybiAtRU5PTUVNOworCisJaWYgKCFzdHJjbXAoYXJndltpZHhdLCAiLW8iKSkgeworCQltbnRfY29udGV4dF9zZXRfb3B0aW9ucyhjeHQsIGFyZ3ZbaWR4ICsgMV0pOworCQlpZHggKz0gMjsKKwl9CisJaWYgKCFzdHJjbXAoYXJndltpZHhdLCAiLXQiKSkgeworCQkvKiBUT0RPOiB1c2UgbW50X2NvbnRleHRfc2V0X2ZzdHlwZV9wYXR0ZXJuKCkgKi8KKwkJbW50X2NvbnRleHRfc2V0X2ZzdHlwZShjeHQsIGFyZ3ZbaWR4ICsgMV0pOworCQlpZHggKz0gMjsKKwl9CisKKwlpZiAoYXJnYyA9PSBpZHggKyAxKQorCQkvKiBtb3VudCA8bW91bnRwb2ludD58PGRldmljZT4gKi8KKwkJbW50X2NvbnRleHRfc2V0X3RhcmdldChjeHQsIGFyZ3ZbaWR4KytdKTsKKworCWVsc2UgaWYgKGFyZ2MgPT0gaWR4ICsgMikgeworCQkvKiBtb3VudCA8ZGV2aWNlPiA8bW91bnRwb2ludD4gKi8KKwkJbW50X2NvbnRleHRfc2V0X3NvdXJjZShjeHQsIGFyZ3ZbaWR4KytdKTsKKwkJbW50X2NvbnRleHRfc2V0X3RhcmdldChjeHQsIGFyZ3ZbaWR4KytdKTsKKwl9CisKKwkvKiB0aGlzIGlzIHVubmVjZXNzYXJ5ISAtLSBsaWJtb3VudCBpcyBhYmxlIHRvIGludGVybmFsbHkKKwkgKiBjcmVhdGUgYW5kIG1hbmFnZSB0aGUgbG9jaworCSAqLworCWxvY2sgPSBtbnRfY29udGV4dF9nZXRfbG9jayhjeHQpOworCWlmIChsb2NrKQorCQlhdGV4aXQobG9ja19mYWxsYmFjayk7CisKKwlyYyA9IG1udF9jb250ZXh0X21vdW50KGN4dCk7CisJaWYgKHJjKQorCQl3YXJuKCJmYWlsZWQgdG8gbW91bnQiKTsKKwllbHNlCisJCXByaW50Zigic3VjY2Vzc2Z1bGx5IG1vdW50ZWRcbiIpOworCisJbG9jayA9IE5VTEw7CS8qIGJlY2F1c2Ugd2UgdXNlIGF0ZXhpdCBsb2NrX2ZhbGxiYWNrICovCisJbW50X2ZyZWVfY29udGV4dChjeHQpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB0ZXN0X3Vtb3VudChzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWludCBpZHggPSAxLCByYyA9IDA7CisJc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQ7CisKKwlpZiAoYXJnYyA8IDIpCisJCXJldHVybiAtRUlOVkFMOworCisJY3h0ID0gbW50X25ld19jb250ZXh0KCk7CisJaWYgKCFjeHQpCisJCXJldHVybiAtRU5PTUVNOworCisJaWYgKCFzdHJjbXAoYXJndltpZHhdLCAiLXQiKSkgeworCQltbnRfY29udGV4dF9zZXRfZnN0eXBlKGN4dCwgYXJndltpZHggKyAxXSk7CisJCWlkeCArPSAyOworCX0KKworCWlmICghc3RyY21wKGFyZ3ZbaWR4XSwgIi1mIikpIHsKKwkJbW50X2NvbnRleHRfZW5hYmxlX2ZvcmNlKGN4dCwgVFJVRSk7CisJCWlkeCsrOworCX0KKworCWlmICghc3RyY21wKGFyZ3ZbaWR4XSwgIi1sIikpIHsKKwkJbW50X2NvbnRleHRfZW5hYmxlX2xhenkoY3h0LCBUUlVFKTsKKwkJaWR4Kys7CisJfQorCisJaWYgKCFzdHJjbXAoYXJndltpZHhdLCAiLXIiKSkgeworCQltbnRfY29udGV4dF9lbmFibGVfcmRvbmx5X3Vtb3VudChjeHQsIFRSVUUpOworCQlpZHgrKzsKKwl9CisKKwlpZiAoYXJnYyA9PSBpZHggKyAxKSB7CisJCS8qIG1vdW50IDxtb3VudHBvaW50Pnw8ZGV2aWNlPiAqLworCQltbnRfY29udGV4dF9zZXRfdGFyZ2V0KGN4dCwgYXJndltpZHgrK10pOworCX0gZWxzZSB7CisJCXJjID0gLUVJTlZBTDsKKwkJZ290byBlcnI7CisJfQorCisJbG9jayA9IG1udF9jb250ZXh0X2dldF9sb2NrKGN4dCk7CisJaWYgKGxvY2spCisJCWF0ZXhpdChsb2NrX2ZhbGxiYWNrKTsKKworCXJjID0gbW50X2NvbnRleHRfdW1vdW50KGN4dCk7CisJaWYgKHJjKQorCQlwcmludGYoImZhaWxlZCB0byB1bW91bnRcbiIpOworCWVsc2UKKwkJcHJpbnRmKCJzdWNjZXNzZnVsbHkgdW1vdW50ZWRcbiIpOworZXJyOgorCWxvY2sgPSBOVUxMOwkvKiBiZWNhdXNlIHdlIHVzZSBhdGV4aXQgbG9ja19mYWxsYmFjayAqLworCW1udF9mcmVlX2NvbnRleHQoY3h0KTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9mbGFncyhzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWludCBpZHggPSAxLCByYyA9IDA7CisJc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQ7CisJY29uc3QgY2hhciAqb3B0ID0gTlVMTDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzID0gMDsKKworCWlmIChhcmdjIDwgMikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwljeHQgPSBtbnRfbmV3X2NvbnRleHQoKTsKKwlpZiAoIWN4dCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlpZiAoIXN0cmNtcChhcmd2W2lkeF0sICItbyIpKSB7CisJCW1udF9jb250ZXh0X3NldF9vcHRpb25zKGN4dCwgYXJndltpZHggKyAxXSk7CisJCWlkeCArPSAyOworCX0KKworCWlmIChhcmdjID09IGlkeCArIDEpCisJCS8qIG1vdW50IDxtb3VudHBvaW50Pnw8ZGV2aWNlPiAqLworCQltbnRfY29udGV4dF9zZXRfdGFyZ2V0KGN4dCwgYXJndltpZHgrK10pOworCisJcmMgPSBtbnRfY29udGV4dF9wcmVwYXJlX21vdW50KGN4dCk7CisJaWYgKHJjKQorCQlwcmludGYoImZhaWxlZCB0byBwcmVwYXJlIG1vdW50ICVzXG4iLCBzdHJlcnJvcigtcmMpKTsKKworCW9wdCA9IG1udF9mc19nZXRfb3B0aW9ucyhjeHQtPmZzKTsKKwlpZiAob3B0KQorCQlmcHJpbnRmKHN0ZG91dCwgIm9wdGlvbnM6ICVzXG4iLCBvcHQpOworCisJbW50X2NvbnRleHRfZ2V0X21mbGFncyhjeHQsICZmbGFncyk7CisJZnByaW50ZihzdGRvdXQsICJmbGFnczogJTA4bHhcbiIsIGZsYWdzKTsKKworCW1udF9mcmVlX2NvbnRleHQoY3h0KTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9tb3VudGFsbChzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0OworCXN0cnVjdCBsaWJtbnRfaXRlciAqaXRyOworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCWludCBtbnRyYywgaWdub3JlZCwgaWR4ID0gMTsKKworCWN4dCA9IG1udF9uZXdfY29udGV4dCgpOworCWl0ciA9IG1udF9uZXdfaXRlcihNTlRfSVRFUl9GT1JXQVJEKTsKKworCWlmICghY3h0IHx8ICFpdHIpCisJCXJldHVybiAtRU5PTUVNOworCisJaWYgKGFyZ2MgPiAyKSB7CisJCWlmIChhcmd2W2lkeF0gJiYgIXN0cmNtcChhcmd2W2lkeF0sICItTyIpKSB7CisJCQltbnRfY29udGV4dF9zZXRfb3B0aW9uc19wYXR0ZXJuKGN4dCwgYXJndltpZHggKyAxXSk7CisJCQlpZHggKz0gMjsKKwkJfQorCQlpZiAoYXJndltpZHhdICYmICFzdHJjbXAoYXJndltpZHhdLCAiLXQiKSkgeworCQkJbW50X2NvbnRleHRfc2V0X2ZzdHlwZV9wYXR0ZXJuKGN4dCwgYXJndltpZHggKyAxXSk7CisJCQlpZHggKz0gMjsKKwkJfQorCX0KKworCXdoaWxlIChtbnRfY29udGV4dF9uZXh0X21vdW50KGN4dCwgaXRyLCAmZnMsICZtbnRyYywgJmlnbm9yZWQpID09IDApIHsKKworCQljb25zdCBjaGFyICp0Z3QgPSBtbnRfZnNfZ2V0X3RhcmdldChmcyk7CisKKwkJaWYgKGlnbm9yZWQgPT0gMSkKKwkJCXByaW50ZigiJXM6IGlnbm9yZWQ6IG5vdCBtYXRjaFxuIiwgdGd0KTsKKwkJZWxzZSBpZiAoaWdub3JlZCA9PSAyKQorCQkJcHJpbnRmKCIlczogaWdub3JlZDogYWxyZWFkeSBtb3VudGVkXG4iLCB0Z3QpOworCisJCWVsc2UgaWYgKCFtbnRfY29udGV4dF9nZXRfc3RhdHVzKGN4dCkpIHsKKwkJCWlmIChtbnRyYyA+IDApIHsKKwkJCQllcnJubyA9IG1udHJjOworCQkJCXdhcm4oIiVzOiBtb3VudCBmYWlsZWQiLCB0Z3QpOworCQkJfSBlbHNlCisJCQkJd2FybngoIiVzOiBtb3VudCBmYWlsZWQiLCB0Z3QpOworCQl9IGVsc2UKKwkJCXByaW50ZigiJXM6IHN1Y2Nlc3NmdWxseSBtb3VudGVkXG4iLCB0Z3QpOworCX0KKworCW1udF9mcmVlX2NvbnRleHQoY3h0KTsKKwlyZXR1cm4gMDsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgbGlibW50X3Rlc3QgdHNzW10gPSB7CisJeyAiLS1tb3VudCIsICB0ZXN0X21vdW50LCAgIlstbyA8b3B0cz5dIFstdCA8dHlwZT5dIDxzcGVjPnw8c3JjPiA8dGFyZ2V0PiIgfSwKKwl7ICItLXVtb3VudCIsIHRlc3RfdW1vdW50LCAiWy10IDx0eXBlPl0gWy1mXVstbF1bLXJdIDxzcmM+fDx0YXJnZXQ+IiB9LAorCXsgIi0tbW91bnQtYWxsIiwgdGVzdF9tb3VudGFsbCwgICJbLU8gPHBhdHRlcm4+XSBbLXQgPHBhdHRlcm5dIG1vdW50IGFsbCBmaWxlc3lzdGVtcyBmcm9tIGZzdGFiIiB9LAorCXsgIi0tZmxhZ3MiLCB0ZXN0X2ZsYWdzLCAgICJbLW8gPG9wdHM+XSA8c3BlYz4iIH0sCisJeyBOVUxMIH19OworCisJdW1hc2soU19JV0dSUHxTX0lXT1RIKTsJLyogdG8gYmUgY29tcGF0aWJsZSB3aXRoIG1vdW50KDgpICovCisKKwlyZXR1cm4gbW50X3J1bl90ZXN0KHRzcywgYXJnYywgYXJndik7Cit9CisKKyNlbmRpZiAvKiBURVNUX1BST0dSQU0gKi8KZGlmZiAtLWdpdCBhL2xpYm1vdW50L3NyYy9jb250ZXh0X2xvb3BkZXYuYyBiL2xpYm1vdW50L3NyYy9jb250ZXh0X2xvb3BkZXYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZWYxODMxCi0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvc3JjL2NvbnRleHRfbG9vcGRldi5jCkBAIC0wLDAgKzEsNDI0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworLyoKKyAqIERPQ1M6IC0gImxvQCIgcHJlZml4IGZvciBmc3R5cGUgaXMgdW5zdXBwb3J0ZWQKKyAqLworCisjaW5jbHVkZSA8YmxraWQuaD4KKworI2luY2x1ZGUgIm1vdW50UC5oIgorI2luY2x1ZGUgImxvb3BkZXYuaCIKKyNpbmNsdWRlICJsaW51eF92ZXJzaW9uLmgiCisKKworaW50IG1udF9jb250ZXh0X2lzX2xvb3BkZXYoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJY29uc3QgY2hhciAqdHlwZSwgKnNyYzsKKworCWFzc2VydChjeHQpOworCisJLyogVGhlIG1vdW50IGZsYWdzIGhhdmUgdG8gYmUgbWVyZ2VkLCBvdGhlcndpc2Ugd2UgaGF2ZSB0byB1c2UKKwkgKiBleHBlbnNpdmUgbW50X2NvbnRleHRfZ2V0X3VzZXJfbWZsYWdzKCkgaW5zdGVhZCBvZiBjeHQtPnVzZXJfbW91bnRmbGFncy4gKi8KKwlhc3NlcnQoKGN4dC0+ZmxhZ3MgJiBNTlRfRkxfTU9VTlRGTEFHU19NRVJHRUQpKTsKKworCWlmICghY3h0LT5mcykKKwkJcmV0dXJuIDA7CisJc3JjID0gbW50X2ZzX2dldF9zcmNwYXRoKGN4dC0+ZnMpOworCWlmICghc3JjKQorCQlyZXR1cm4gMDsJCS8qIGJhY2tpbmcgZmlsZSBub3Qgc2V0ICovCisKKwlpZiAoY3h0LT51c2VyX21vdW50ZmxhZ3MgJiAoTU5UX01TX0xPT1AgfAorCQkJCSAgICBNTlRfTVNfT0ZGU0VUIHwKKwkJCQkgICAgTU5UX01TX1NJWkVMSU1JVCkpIHsKKworCQlEQkcoTE9PUCwgdWxfZGVidWdvYmooY3h0LCAibG9vcGRldiBzcGVjaWZpYyBvcHRpb25zIGRldGVjdGVkIikpOworCQlyZXR1cm4gMTsKKwl9CisKKwlpZiAoKGN4dC0+bW91bnRmbGFncyAmIChNU19CSU5EIHwgTVNfTU9WRSkpCisJICAgIHx8IG1udF9jb250ZXh0X3Byb3BhZ2F0aW9uX29ubHkoY3h0KSkKKwkJcmV0dXJuIDA7CisKKwkvKiBBdXRvbWF0aWNhbGx5IGNyZWF0ZSBhIGxvb3AgZGV2aWNlIGZyb20gYSByZWd1bGFyIGZpbGUgaWYgYQorCSAqIGZpbGVzeXN0ZW0gaXMgbm90IHNwZWNpZmllZCBvciB0aGUgZmlsZXN5c3RlbSBpcyBrbm93biBmb3IgbGliYmxraWQKKwkgKiAodGhlc2UgZmlsZXN5c3RlbXMgd29yayB3aXRoIGJsb2NrIGRldmljZXMgb25seSkuIFRoZSBmaWxlIHNpemUKKwkgKiBzaG91bGQgYmUgYXQgbGVhc3QgMUtpQiwgb3RoZXJ3aXNlIHdlIHdpbGwgY3JlYXRlIGFuIGVtcHR5IGxvb3BkZXYgd2l0aAorCSAqIG5vIG1vdW50YWJsZSBmaWxlc3lzdGVtLi4uCisJICoKKwkgKiBOb3RlIHRoYXQgdGhlcmUgaXMgbm8gcmVzdHJpY3Rpb24gKG9uIGtlcm5lbCBzaWRlKSB0aGF0IHdvdWxkIHByZXZlbnQgYSByZWd1bGFyCisJICogZmlsZSBhcyBhIG1vdW50KDIpIHNvdXJjZSBhcmd1bWVudC4gQSBmaWxlc3lzdGVtIHRoYXQgaXMgYWJsZSB0byBtb3VudAorCSAqIHJlZ3VsYXIgZmlsZXMgY291bGQgYmUgaW1wbGVtZW50ZWQuCisJICovCisJdHlwZSA9IG1udF9mc19nZXRfZnN0eXBlKGN4dC0+ZnMpOworCisJaWYgKG1udF9mc19pc19yZWd1bGFyKGN4dC0+ZnMpICYmCisJICAgICghdHlwZSB8fCBzdHJjbXAodHlwZSwgImF1dG8iKSA9PSAwIHx8IGJsa2lkX2tub3duX2ZzdHlwZSh0eXBlKSkpIHsKKwkJc3RydWN0IHN0YXQgc3Q7CisKKwkJaWYgKHN0YXQoc3JjLCAmc3QpID09IDAgJiYgU19JU1JFRyhzdC5zdF9tb2RlKSAmJgorCQkgICAgc3Quc3Rfc2l6ZSA+IDEwMjQpIHsKKwkJCURCRyhMT09QLCB1bF9kZWJ1Z29iaihjeHQsICJhdXRvbWF0aWNhbGx5IGVuYWJsaW5nIGxvb3A9IG9wdGlvbiIpKTsKKwkJCWN4dC0+dXNlcl9tb3VudGZsYWdzIHw9IE1OVF9NU19MT09QOworCQkJbW50X29wdHN0cl9hcHBlbmRfb3B0aW9uKCZjeHQtPmZzLT51c2VyX29wdHN0ciwgImxvb3AiLCBOVUxMKTsKKwkJCXJldHVybiAxOworCQl9CisJfQorCisJcmV0dXJuIDA7Cit9CisKKworLyogQ2hlY2sgaWYgdGhlcmUgYWxyZWFkeSBleGlzdHMgYSBtb3VudGVkIGxvb3AgZGV2aWNlIG9uIHRoZSBtb3VudHBvaW50IG5vZGUKKyAqIHdpdGggdGhlIHNhbWUgcGFyYW1ldGVycy4KKyAqLworc3RhdGljIGludCBfX2F0dHJpYnV0ZV9fKChub25udWxsKSkKK2lzX21vdW50ZWRfc2FtZV9sb29wZmlsZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwKKwkJCQkgICAgY29uc3QgY2hhciAqdGFyZ2V0LAorCQkJCSAgICBjb25zdCBjaGFyICpiYWNraW5nX2ZpbGUsCisJCQkJICAgIHVpbnQ2NF90IG9mZnNldCkKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YjsKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgaXRyOworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCXN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlOworCWNvbnN0IGNoYXIgKmJmOworCWludCByYyA9IDA7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5mcyk7CisJYXNzZXJ0KChjeHQtPmZsYWdzICYgTU5UX0ZMX01PVU5URkxBR1NfTUVSR0VEKSk7CisKKwlpZiAobW50X2NvbnRleHRfZ2V0X210YWIoY3h0LCAmdGIpKQorCQlyZXR1cm4gMDsKKworCURCRyhMT09QLCB1bF9kZWJ1Z29iaihjeHQsICJjaGVja2luZyBpZiAlcyBtb3VudGVkIG9uICVzIiwKKwkJCQliYWNraW5nX2ZpbGUsIHRhcmdldCkpOworCisJY2FjaGUgPSBtbnRfY29udGV4dF9nZXRfY2FjaGUoY3h0KTsKKwltbnRfcmVzZXRfaXRlcigmaXRyLCBNTlRfSVRFUl9CQUNLV0FSRCk7CisKKwliZiA9IGNhY2hlID8gbW50X3Jlc29sdmVfcGF0aChiYWNraW5nX2ZpbGUsIGNhY2hlKSA6IGJhY2tpbmdfZmlsZTsKKworCS8qIFNlYXJjaCBmb3IgYSBtb3VudHBvaW50IG5vZGUgaW4gbXRhYiwgcHJvY2VlZCBpZiBhbnkgb2YgdGhlc2UgaGF2ZSB0aGUKKwkgKiBsb29wIG9wdGlvbiBzZXQgb3IgdGhlIGRldmljZSBpcyBhIGxvb3AgZGV2aWNlCisJICovCisJd2hpbGUgKHJjID09IDAgJiYgbW50X3RhYmxlX25leHRfZnModGIsICZpdHIsICZmcykgPT0gMCkgeworCQljb25zdCBjaGFyICpzcmMgPSBtbnRfZnNfZ2V0X3NvdXJjZShmcyk7CisJCWNvbnN0IGNoYXIgKm9wdHMgPSBtbnRfZnNfZ2V0X3VzZXJfb3B0aW9ucyhmcyk7CisJCWNoYXIgKnZhbDsKKwkJc2l6ZV90IGxlbjsKKworCQlpZiAoIXNyYyB8fCAhbW50X2ZzX21hdGNoX3RhcmdldChmcywgdGFyZ2V0LCBjYWNoZSkpCisJCQljb250aW51ZTsKKworCQlyYyA9IDA7CisKKwkJaWYgKHN0cm5jbXAoc3JjLCAiL2Rldi9sb29wIiwgOSkgPT0gMCkgeworCQkJcmMgPSBsb29wZGV2X2lzX3VzZWQoKGNoYXIgKikgc3JjLCBiZiwgb2Zmc2V0LCAwLCBMT09QREVWX0ZMX09GRlNFVCk7CisKKwkJfSBlbHNlIGlmIChvcHRzICYmIChjeHQtPnVzZXJfbW91bnRmbGFncyAmIE1OVF9NU19MT09QKSAmJgorCQkgICAgbW50X29wdHN0cl9nZXRfb3B0aW9uKG9wdHMsICJsb29wIiwgJnZhbCwgJmxlbikgPT0gMCAmJiB2YWwpIHsKKworCQkJdmFsID0gc3RybmR1cCh2YWwsIGxlbik7CisJCQlyYyA9IGxvb3BkZXZfaXNfdXNlZCgoY2hhciAqKSB2YWwsIGJmLCBvZmZzZXQsIDAsIExPT1BERVZfRkxfT0ZGU0VUKTsKKwkJCWZyZWUodmFsKTsKKwkJfQorCX0KKwlpZiAocmMpCisJCURCRyhMT09QLCB1bF9kZWJ1Z29iaihjeHQsICIlcyBhbHJlYWR5IG1vdW50ZWQiLCBiYWNraW5nX2ZpbGUpKTsKKwlyZXR1cm4gcmM7Cit9CisKK2ludCBtbnRfY29udGV4dF9zZXR1cF9sb29wZGV2KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWNvbnN0IGNoYXIgKmJhY2tpbmdfZmlsZSwgKm9wdHN0ciwgKmxvb3BkZXYgPSBOVUxMOworCWNoYXIgKnZhbCA9IE5VTEwsICpsb29wdmFsID0gTlVMTDsKKwlzaXplX3QgbGVuOworCXN0cnVjdCBsb29wZGV2X2N4dCBsYzsKKwlpbnQgcmMgPSAwLCBsb19mbGFncyA9IDA7CisJdWludDY0X3Qgb2Zmc2V0ID0gMCwgc2l6ZWxpbWl0ID0gMDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmZzKTsKKwlhc3NlcnQoKGN4dC0+ZmxhZ3MgJiBNTlRfRkxfTU9VTlRGTEFHU19NRVJHRUQpKTsKKworCWJhY2tpbmdfZmlsZSA9IG1udF9mc19nZXRfc3JjcGF0aChjeHQtPmZzKTsKKwlpZiAoIWJhY2tpbmdfZmlsZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoTE9PUCwgdWxfZGVidWdvYmooY3h0LCAidHJ5aW5nIHRvIHNldHVwIGRldmljZSBmb3IgJXMiLCBiYWNraW5nX2ZpbGUpKTsKKworCWlmIChjeHQtPm1vdW50ZmxhZ3MgJiBNU19SRE9OTFkpIHsKKwkJREJHKExPT1AsIHVsX2RlYnVnb2JqKGN4dCwgImVuYWJsaW5nIFJFQUQtT05MWSBmbGFnIikpOworCQlsb19mbGFncyB8PSBMT19GTEFHU19SRUFEX09OTFk7CisJfQorCisJb3B0c3RyID0gbW50X2ZzX2dldF91c2VyX29wdGlvbnMoY3h0LT5mcyk7CisKKwkvKgorCSAqIGxvb3A9CisJICovCisJaWYgKHJjID09IDAgJiYgKGN4dC0+dXNlcl9tb3VudGZsYWdzICYgTU5UX01TX0xPT1ApICYmCisJICAgIG1udF9vcHRzdHJfZ2V0X29wdGlvbihvcHRzdHIsICJsb29wIiwgJnZhbCwgJmxlbikgPT0gMCAmJiB2YWwpIHsKKwkJbG9vcHZhbCA9IHN0cm5kdXAodmFsLCBsZW4pOworCQlyYyA9IGxvb3B2YWwgPyAwIDogLUVOT01FTTsKKwl9CisKKwkvKgorCSAqIG9mZnNldD0KKwkgKi8KKwlpZiAocmMgPT0gMCAmJiAoY3h0LT51c2VyX21vdW50ZmxhZ3MgJiBNTlRfTVNfT0ZGU0VUKSAmJgorCSAgICBtbnRfb3B0c3RyX2dldF9vcHRpb24ob3B0c3RyLCAib2Zmc2V0IiwgJnZhbCwgJmxlbikgPT0gMCkgeworCQlyYyA9IG1udF9wYXJzZV9vZmZzZXQodmFsLCBsZW4sICZvZmZzZXQpOworCQlpZiAocmMpIHsKKwkJCURCRyhMT09QLCB1bF9kZWJ1Z29iaihjeHQsICJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0PSIpKTsKKwkJCXJjID0gLU1OVF9FUlJfTU9VTlRPUFQ7CisJCX0KKwl9CisKKwkvKgorCSAqIHNpemVsaW1pdD0KKwkgKi8KKwlpZiAocmMgPT0gMCAmJiAoY3h0LT51c2VyX21vdW50ZmxhZ3MgJiBNTlRfTVNfU0laRUxJTUlUKSAmJgorCSAgICBtbnRfb3B0c3RyX2dldF9vcHRpb24ob3B0c3RyLCAic2l6ZWxpbWl0IiwgJnZhbCwgJmxlbikgPT0gMCkgeworCQlyYyA9IG1udF9wYXJzZV9vZmZzZXQodmFsLCBsZW4sICZzaXplbGltaXQpOworCQlpZiAocmMpIHsKKwkJCURCRyhMT09QLCB1bF9kZWJ1Z29iaihjeHQsICJmYWlsZWQgdG8gcGFyc2Ugc2l6ZWxpbWl0PSIpKTsKKwkJCXJjID0gLU1OVF9FUlJfTU9VTlRPUFQ7CisJCX0KKwl9CisKKwkvKgorCSAqIGVuY3J5cHRpb249CisJICovCisJaWYgKHJjID09IDAgJiYgKGN4dC0+dXNlcl9tb3VudGZsYWdzICYgTU5UX01TX0VOQ1JZUFRJT04pICYmCisJICAgIG1udF9vcHRzdHJfZ2V0X29wdGlvbihvcHRzdHIsICJlbmNyeXB0aW9uIiwgJnZhbCwgJmxlbikgPT0gMCkgeworCQlEQkcoTE9PUCwgdWxfZGVidWdvYmooY3h0LCAiZW5jcnlwdGlvbiBubyBsb25nZXIgc3VwcG9ydGVkIikpOworCQlyYyA9IC1NTlRfRVJSX01PVU5UT1BUOworCX0KKworCWlmIChyYyA9PSAwICYmIGlzX21vdW50ZWRfc2FtZV9sb29wZmlsZShjeHQsCisJCQkJbW50X2NvbnRleHRfZ2V0X3RhcmdldChjeHQpLAorCQkJCWJhY2tpbmdfZmlsZSwgb2Zmc2V0KSkKKwkJcmMgPSAtRUJVU1k7CisKKwlpZiAocmMpCisJCWdvdG8gZG9uZV9ub19kZWluaXQ7CisKKwkvKiBJdCBpcyBwb3NzaWJsZSB0byBtb3VudCB0aGUgc2FtZSBmaWxlIG1vcmUgdGltZXMuIElmIHdlIHNldCBtb3JlCisJICogdGhhbiBvbmUgbG9vcCBkZXZpY2UgcmVmZXJyaW5nIHRvIHRoZSBzYW1lIGZpbGUsIGtlcm5lbCBoYXMgbm8KKwkgKiBtZWNoYW5pc20gdG8gZGV0ZWN0IGl0LiBUbyBwcmV2ZW50IGRhdGEgY29ycnVwdGlvbiwgdGhlIHNhbWUgbG9vcAorCSAqIGRldmljZSBoYXMgdG8gYmUgcmVjeWNsZWQuCisJKi8KKwlpZiAoYmFja2luZ19maWxlKSB7CisJCXJjID0gbG9vcGN4dF9pbml0KCZsYywgMCk7CisJCWlmIChyYykKKwkJCWdvdG8gZG9uZV9ub19kZWluaXQ7CisKKwkJcmMgPSBsb29wY3h0X2ZpbmRfb3ZlcmxhcCgmbGMsIGJhY2tpbmdfZmlsZSwgb2Zmc2V0LCBzaXplbGltaXQpOworCQlzd2l0Y2ggKHJjKSB7CisJCWNhc2UgMDogLyogbm90IGZvdW5kICovCisJCQlEQkcoTE9PUCwgdWxfZGVidWdvYmooY3h0LCAibm90IGZvdW5kIG92ZXJsYXBpbmcgbG9vcGRldiIpKTsKKwkJCWxvb3BjeHRfZGVpbml0KCZsYyk7CisJCQlicmVhazsKKworCQljYXNlIDE6CS8qIG92ZXJsYXAgKi8KKwkJCURCRyhMT09QLCB1bF9kZWJ1Z29iaihjeHQsICJvdmVybGFwaW5nICVzIGRldGVjdGVkIiwKKwkJCQkJCWxvb3BjeHRfZ2V0X2RldmljZSgmbGMpKSk7CisJCQlyYyA9IC1NTlRfRVJSX0xPT1BPVkVSTEFQOworCQkJZ290byBkb25lOworCisJCWNhc2UgMjogLyogb3ZlcmxhcCAtLSBmdWxsIHNpemUgYW5kIG9mZnNldCBtYXRjaCAocmV1c2UpICovCisJCXsKKwkJCXVpbnQzMl90IGxjX2VuY3J5cHRfdHlwZTsKKworCQkJREJHKExPT1AsIHVsX2RlYnVnb2JqKGN4dCwgInJlLXVzaW5nIGV4aXN0aW5nIGxvb3AgZGV2aWNlICVzIiwKKwkJCQlsb29wY3h0X2dldF9kZXZpY2UoJmxjKSkpOworCisJCQkvKiBPbmNlIGEgbG9vcCBpcyBpbml0aWFsaXplZCBSTywgdGhlcmUgaXMgbm8KKwkJCSAqIHdheSB0byBjaGFuZ2UgaXRzIHBhcmFtZXRlcnMuICovCisJCQlpZiAobG9vcGN4dF9pc19yZWFkb25seSgmbGMpCisJCQkgICAgJiYgIShsb19mbGFncyAmIExPX0ZMQUdTX1JFQURfT05MWSkpIHsKKwkJCQlEQkcoTE9PUCwgdWxfZGVidWdvYmooY3h0LCAiJXMgaXMgcmVhZC1vbmx5IiwKKwkJCQkJCWxvb3BjeHRfZ2V0X2RldmljZSgmbGMpKSk7CisJCQkJcmMgPSAtRVJPRlM7CisJCQkJZ290byBkb25lOworCQkJfQorCisJCQkvKiBUaGlzIGlzIG5vIG1vcmUgc3VwcG9ydGVkLCBidXQgY2hlY2sgdG8gYmUgc2FmZS4gKi8KKwkJCWlmIChsb29wY3h0X2dldF9lbmNyeXB0X3R5cGUoJmxjLCAmbGNfZW5jcnlwdF90eXBlKSA9PSAwCisJCQkgICAgJiYgbGNfZW5jcnlwdF90eXBlICE9IExPX0NSWVBUX05PTkUpIHsKKwkJCQlEQkcoTE9PUCwgdWxfZGVidWdvYmooY3h0LCAiZW5jcnlwdGlvbiBubyBsb25nZXIgc3VwcG9ydGVkIGZvciBkZXZpY2UgJXMiLAorCQkJCQlsb29wY3h0X2dldF9kZXZpY2UoJmxjKSkpOworCQkJCXJjID0gLU1OVF9FUlJfTE9PUE9WRVJMQVA7CisJCQkJZ290byBkb25lOworCQkJfQorCQkJcmMgPSAwOworCQkJZ290byBzdWNjZXNzOworCQl9CisJCWRlZmF1bHQ6IC8qIGVycm9yICovCisJCQlnb3RvIGRvbmU7CisJCX0KKwl9CisKKwlEQkcoTE9PUCwgdWxfZGVidWdvYmooY3h0LCAibm90IGZvdW5kOyBjcmVhdGUgYSBuZXcgbG9vcCBkZXZpY2UiKSk7CisJcmMgPSBsb29wY3h0X2luaXQoJmxjLCAwKTsKKwlpZiAocmMpCisJCWdvdG8gZG9uZV9ub19kZWluaXQ7CisJaWYgKGxvb3B2YWwpIHsKKwkJcmMgPSBsb29wY3h0X3NldF9kZXZpY2UoJmxjLCBsb29wdmFsKTsKKwkJaWYgKHJjID09IDApCisJCQlsb29wZGV2ID0gbG9vcGN4dF9nZXRfZGV2aWNlKCZsYyk7CisJfQorCWlmIChyYykKKwkJZ290byBkb25lOworCisJLyogc2luY2UgMi42LjM3IHdlIGRvbid0IGhhdmUgdG8gc3RvcmUgYmFja2luZyBmaWxlbmFtZSB0byBtdGFiCisJICogYmVjYXVzZSBrZXJuZWwgcHJvdmlkZXMgdGhlIG5hbWUgaW4gL3N5cy4KKwkgKi8KKwlpZiAoZ2V0X2xpbnV4X3ZlcnNpb24oKSA+PSBLRVJORUxfVkVSU0lPTigyLCA2LCAzNykgfHwKKwkgICAgIW1udF9jb250ZXh0X210YWJfd3JpdGFibGUoY3h0KSkgeworCQlEQkcoTE9PUCwgdWxfZGVidWdvYmooY3h0LCAiZW5hYmxpbmcgQVVUT0NMRUFSIGZsYWciKSk7CisJCWxvX2ZsYWdzIHw9IExPX0ZMQUdTX0FVVE9DTEVBUjsKKwl9CisKKwlkbyB7CisJCS8qIGZvdW5kIGZyZWUgZGV2aWNlICovCisJCWlmICghbG9vcGRldikgeworCQkJcmMgPSBsb29wY3h0X2ZpbmRfdW51c2VkKCZsYyk7CisJCQlpZiAocmMpCisJCQkJZ290byBkb25lOworCQkJREJHKExPT1AsIHVsX2RlYnVnb2JqKGN4dCwgInRyeWluZyB0byB1c2UgJXMiLAorCQkJCQkJbG9vcGN4dF9nZXRfZGV2aWNlKCZsYykpKTsKKwkJfQorCisJCS8qIHNldCBkZXZpY2UgYXR0cmlidXRlcworCQkgKiAtLSBub3RlIHRoYXQgbG9vcGN4dF9maW5kX3VudXNlZCgpIHJlc2V0cyAibGMiCisJCSAqLworCQlyYyA9IGxvb3BjeHRfc2V0X2JhY2tpbmdfZmlsZSgmbGMsIGJhY2tpbmdfZmlsZSk7CisKKwkJaWYgKCFyYyAmJiBvZmZzZXQpCisJCQlyYyA9IGxvb3BjeHRfc2V0X29mZnNldCgmbGMsIG9mZnNldCk7CisJCWlmICghcmMgJiYgc2l6ZWxpbWl0KQorCQkJcmMgPSBsb29wY3h0X3NldF9zaXplbGltaXQoJmxjLCBzaXplbGltaXQpOworCQlpZiAoIXJjKQorCQkJbG9vcGN4dF9zZXRfZmxhZ3MoJmxjLCBsb19mbGFncyk7CisJCWlmIChyYykgeworCQkJREJHKExPT1AsIHVsX2RlYnVnb2JqKGN4dCwgImZhaWxlZCB0byBzZXQgbG9vcCBhdHRyaWJ1dGVzIikpOworCQkJZ290byBkb25lOworCQl9CisKKwkJLyogc2V0dXAgdGhlIGRldmljZSAqLworCQlyYyA9IGxvb3BjeHRfc2V0dXBfZGV2aWNlKCZsYyk7CisJCWlmICghcmMpCisJCQlicmVhazsJCS8qIHN1Y2Nlc3MgKi8KKworCQlpZiAobG9vcGRldiB8fCByYyAhPSAtRUJVU1kpIHsKKwkJCURCRyhMT09QLCB1bF9kZWJ1Z29iaihjeHQsICJmYWlsZWQgdG8gc2V0dXAgZGV2aWNlIikpOworCQkJcmMgPSAtTU5UX0VSUl9MT09QREVWOworCQkJZ290byBkb25lOworCQl9CisJCURCRyhMT09QLCB1bF9kZWJ1Z29iaihjeHQsICJkZXZpY2Ugc3RvbGVuLi4udHJ5aW5nIGFnYWluIikpOworCX0gd2hpbGUgKDEpOworCitzdWNjZXNzOgorCWlmICghcmMpCisJCXJjID0gbW50X2ZzX3NldF9zb3VyY2UoY3h0LT5mcywgbG9vcGN4dF9nZXRfZGV2aWNlKCZsYykpOworCisJaWYgKCFyYykgeworCQkvKiBzdWNjZXNzICovCisJCWN4dC0+ZmxhZ3MgfD0gTU5UX0ZMX0xPT1BERVZfUkVBRFk7CisKKwkJaWYgKChjeHQtPnVzZXJfbW91bnRmbGFncyAmIE1OVF9NU19MT09QKSAmJgorCQkgICAgbG9vcGN4dF9pc19hdXRvY2xlYXIoJmxjKSkgeworCQkJLyoKKwkJCSAqIGF1dG9jbGVhciBmbGFnIGFjY2VwdGVkIGJ5IHRoZSBrZXJuZWwsIGRvbid0IHN0b3JlCisJCQkgKiB0aGUgImxvb3A9IiBvcHRpb24gdG8gbXRhYi4KKwkJCSAqLworCQkJREJHKExPT1AsIHVsX2RlYnVnb2JqKGN4dCwgInJlbW92aW5nIHVubmVjZXNzYXJ5IGxvb3A9IGZyb20gbXRhYiIpKTsKKwkJCWN4dC0+dXNlcl9tb3VudGZsYWdzICY9IH5NTlRfTVNfTE9PUDsKKwkJCW1udF9vcHRzdHJfcmVtb3ZlX29wdGlvbigmY3h0LT5mcy0+dXNlcl9vcHRzdHIsICJsb29wIik7CisJCX0KKworCQlpZiAoIShjeHQtPm1vdW50ZmxhZ3MgJiBNU19SRE9OTFkpICYmCisJCSAgICBsb29wY3h0X2lzX3JlYWRvbmx5KCZsYykpCisJCQkvKgorCQkJICogbW91bnQgcGxhbm5lZCByZWFkLXdyaXRlLCBidXQgbG9vcGRldiBpcyByZWFkLW9ubHksCisJCQkgKiBsZXQncyBmaXggbW91bnQgb3B0aW9ucy4uLgorCQkJICovCisJCQltbnRfY29udGV4dF9zZXRfbWZsYWdzKGN4dCwgY3h0LT5tb3VudGZsYWdzIHwgTVNfUkRPTkxZKTsKKworCQkvKiB3ZSBoYXZlIHRvIGtlZXAgdGhlIGRldmljZSBvcGVuIHVudGlsIG1vdW50KDEpLAorCQkgKiBvdGhlcndpc2UgaXQgd2lsbCBiZSBhdXRvLWNsZWFyZWQgYnkga2VybmVsCisJCSAqLworCQljeHQtPmxvb3BkZXZfZmQgPSBsb29wY3h0X2dldF9mZCgmbGMpOworCQlpZiAoY3h0LT5sb29wZGV2X2ZkIDwgMCkgeworCQkJREJHKExPT1AsIHVsX2RlYnVnb2JqKGN4dCwgImZhaWxlZCB0byBnZXQgbG9vcGRldiBGRCIpKTsKKwkJCXJjID0gLWVycm5vOworCQl9IGVsc2UKKwkJCWxvb3BjeHRfc2V0X2ZkKCZsYywgLTEsIDApOworCX0KK2RvbmU6CisJbG9vcGN4dF9kZWluaXQoJmxjKTsKK2RvbmVfbm9fZGVpbml0OgorCWZyZWUobG9vcHZhbCk7CisJcmV0dXJuIHJjOworfQorCisvKgorICogRGVsZXRlcyBsb29wIGRldmljZQorICovCitpbnQgbW50X2NvbnRleHRfZGVsZXRlX2xvb3BkZXYoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJY29uc3QgY2hhciAqc3JjOworCWludCByYzsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmZzKTsKKworCXNyYyA9IG1udF9mc19nZXRfc3JjcGF0aChjeHQtPmZzKTsKKwlpZiAoIXNyYykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoY3h0LT5sb29wZGV2X2ZkID4gLTEpCisJCWNsb3NlKGN4dC0+bG9vcGRldl9mZCk7CisKKwlyYyA9IGxvb3BkZXZfZGVsZXRlKHNyYyk7CisJY3h0LT5mbGFncyAmPSB+TU5UX0ZMX0xPT1BERVZfUkVBRFk7CisJY3h0LT5sb29wZGV2X2ZkID0gLTE7CisKKwlEQkcoTE9PUCwgdWxfZGVidWdvYmooY3h0LCAiZGVsZXRlZCBbcmM9JWRdIiwgcmMpKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBDbGVhcnMgbG9vcGRldiBzdHVmZiBpbiBjb250ZXh0LCBzaG91bGQgYmUgY2FsbGVkIGFmdGVyCisgKiBmYWlsZWQgb3Igc3VjY2Vzc2Z1bCBtb3VudCgyKS4KKyAqLworaW50IG1udF9jb250ZXh0X2NsZWFyX2xvb3BkZXYoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJYXNzZXJ0KGN4dCk7CisKKwlpZiAobW50X2NvbnRleHRfZ2V0X3N0YXR1cyhjeHQpID09IDAgJiYKKwkgICAgKGN4dC0+ZmxhZ3MgJiBNTlRfRkxfTE9PUERFVl9SRUFEWSkpIHsKKwkJLyoKKwkJICogbW91bnQoMikgZmFpbGVkLCBkZWxldGUgbG9vcGRldgorCQkgKi8KKwkJbW50X2NvbnRleHRfZGVsZXRlX2xvb3BkZXYoY3h0KTsKKworCX0gZWxzZSBpZiAoY3h0LT5sb29wZGV2X2ZkID4gLTEpIHsKKwkJLyoKKwkJICogbW91bnQoMikgc3VjY2VzcywgY2xvc2UgdGhlIGRldmljZQorCQkgKi8KKwkJREJHKExPT1AsIHVsX2RlYnVnb2JqKGN4dCwgImNsb3NpbmcgRkQiKSk7CisJCWNsb3NlKGN4dC0+bG9vcGRldl9mZCk7CisJfQorCWN4dC0+bG9vcGRldl9mZCA9IC0xOworCXJldHVybiAwOworfQorCmRpZmYgLS1naXQgYS9saWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jIGIvbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yM2YwZTMwCi0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYwpAQCAtMCwwICsxLDEyMjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisvKioKKyAqIFNFQ1RJT046IGNvbnRleHQtbW91bnQKKyAqIEB0aXRsZTogTW91bnQgY29udGV4dAorICogQHNob3J0X2Rlc2NyaXB0aW9uOiBoaWdoLWxldmVsIEFQSSB0byBtb3VudCBvcGVyYXRpb24uCisgKi8KKworI2lmZGVmIEhBVkVfTElCU0VMSU5VWAorI2luY2x1ZGUgPHNlbGludXgvc2VsaW51eC5oPgorI2luY2x1ZGUgPHNlbGludXgvY29udGV4dC5oPgorI2VuZGlmCisKKyNpbmNsdWRlIDxzeXMvd2FpdC5oPgorI2luY2x1ZGUgPHN5cy9tb3VudC5oPgorCisjaW5jbHVkZSAibGludXhfdmVyc2lvbi5oIgorI2luY2x1ZGUgIm1vdW50UC5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisKKy8qCisgKiBLZXJuZWwgc3VwcG9ydHMgb25seSBvbmUgTVNfUFJPUEFHQVRJT04gZmxhZyBjaGFuZ2UgYnkgb25lIG1vdW50KDIpIHN5c2NhbGwsCisgKiB0byBieXBhc3MgdGhpcyByZXN0cmljdGlvbiB3ZSBjYWxsIG1vdW50KDIpIHBlciBmbGFnLiBJdCdzIHJlYWxseSBub3QgYSBwZXJmZWN0CisgKiBzb2x1dGlvbiwgYnV0IGl0J3MgdGhlIHNhbWUgbGlrZSB0byBleGVjdXRlIG11bHRpcGxlIG1vdW50KDgpIGNvbW1hbmRzLgorICoKKyAqIFdlIHVzZSBjeHQtPmFkZG1vdW50cyAoYWRkaXRpb25hbCBtb3VudHMpIGxpc3QgdG8ga2VlcCBvcmRlciBvZiB0aGUgcmVxdWVzdGVkCisgKiBmbGFncyBjaGFuZ2VzLgorICovCitzdHJ1Y3QgbGlibW50X2FkZG1vdW50ICptbnRfbmV3X2FkZG1vdW50KHZvaWQpCit7CisJc3RydWN0IGxpYm1udF9hZGRtb3VudCAqYWQgPSBjYWxsb2MoMSwgc2l6ZW9mKCphZCkpOworCWlmICghYWQpCisJCXJldHVybiBOVUxMOworCisJSU5JVF9MSVNUX0hFQUQoJmFkLT5tb3VudHMpOworCXJldHVybiBhZDsKK30KKwordm9pZCBtbnRfZnJlZV9hZGRtb3VudChzdHJ1Y3QgbGlibW50X2FkZG1vdW50ICphZCkKK3sKKwlpZiAoIWFkKQorCQlyZXR1cm47CisJbGlzdF9kZWwoJmFkLT5tb3VudHMpOworCWZyZWUoYWQpOworfQorCitzdGF0aWMgaW50IG1udF9jb250ZXh0X2FwcGVuZF9hZGRpdGlvbmFsX21vdW50KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorCQkJCQkgICAgICAgc3RydWN0IGxpYm1udF9hZGRtb3VudCAqYWQpCit7CisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGFkKTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwKKwkJCSJtb3VudDogYWRkIGFkZGl0aW9uYWwgZmxhZzogMHglMDhseCIsCisJCQlhZC0+bW91bnRmbGFncykpOworCisJbGlzdF9hZGRfdGFpbCgmYWQtPm1vdW50cywgJmN4dC0+YWRkbW91bnRzKTsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIGFkZCBhZGRpdGlvbmFsIG1vdW50KDIpIHN5c2NhbGwgcmVxdWVzdHMgd2hlbiBuZWNlc3NhcnkgdG8gc2V0IHByb3BhZ2F0aW9uIGZsYWdzCisgKiBhZnRlciByZWd1bGFyIG1vdW50KDIpLgorICovCitzdGF0aWMgaW50IGluaXRfcHJvcGFnYXRpb24oc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJY2hhciAqbmFtZTsKKwljaGFyICpvcHRzID0gKGNoYXIgKikgbW50X2ZzX2dldF92ZnNfb3B0aW9ucyhjeHQtPmZzKTsKKwlzaXplX3QgbmFtZXN6OworCXN0cnVjdCBsaWJtbnRfb3B0bWFwIGNvbnN0ICptYXBzWzFdOworCisJaWYgKCFvcHRzKQorCQlyZXR1cm4gMDsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIm1vdW50OiBpbml0aWFsaXplIGFkZGl0aW9uYWwgcHJvcGFnYXRpb24gbW91bnRzIikpOworCisJbWFwc1swXSA9IG1udF9nZXRfYnVpbHRpbl9vcHRtYXAoTU5UX0xJTlVYX01BUCk7CisKKwl3aGlsZSAoIW1udF9vcHRzdHJfbmV4dF9vcHRpb24oJm9wdHMsICZuYW1lLCAmbmFtZXN6LCBOVUxMLCBOVUxMKSkgeworCQljb25zdCBzdHJ1Y3QgbGlibW50X29wdG1hcCAqZW50OworCQlzdHJ1Y3QgbGlibW50X2FkZG1vdW50ICphZDsKKwkJaW50IHJjOworCisJCWlmICghbW50X29wdG1hcF9nZXRfZW50cnkobWFwcywgMSwgbmFtZSwgbmFtZXN6LCAmZW50KQorCQkgICAgfHwgIWVudAorCQkgICAgfHwgIShlbnQtPmlkICYgTVNfUFJPUEFHQVRJT04pKQorCQkJY29udGludWU7CisKKwkJYWQgPSBtbnRfbmV3X2FkZG1vdW50KCk7CisJCWlmICghYWQpCisJCQlyZXR1cm4gLUVOT01FTTsKKworCQlhZC0+bW91bnRmbGFncyA9IGVudC0+aWQ7CisJCXJjID0gbW50X2NvbnRleHRfYXBwZW5kX2FkZGl0aW9uYWxfbW91bnQoY3h0LCBhZCk7CisJCWlmIChyYykKKwkJCXJldHVybiByYzsKKworCQljeHQtPm1vdW50ZmxhZ3MgJj0gfmVudC0+aWQ7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBhZGQgYWRkaXRpb25hbCBtb3VudCgyKSBzeXNjYWxsIHJlcXVlc3QgdG8gaW1wbGVtZW50ICJybyxiaW5kIiwgdGhlIGZpcnN0IHJlZ3VsYXIKKyAqIG1vdW50KDIpIGlzIHRoZSAiYmluZCIgb3BlcmF0aW9uLCB0aGUgc2Vjb25kIGlzICJyZW1vdW50LHJvLGJpbmQiIGNhbGwuCisgKgorICogTm90ZSB0aGF0IHdlIGRvbid0IHJlbW92ZSAicm8iIGZyb20gdGhlIGZpcnN0IHN5c2NhbGwgKGtlcm5lbCBzaWxlbnRseQorICogaWdub3JlcyB0aGlzIGZsYWdzIGZvciBiaW5kIG9wZXJhdGlvbikgLS0gbWF5YmUgb25lIGRheSBrZXJuZWwgd2lsbCBzdXBwb3J0CisgKiByZWFkLW9ubHkgYmluZHMgaW4gb25lIHN0ZXAgYW5kIHRoZW4gYWxsIHdpbGwgYmUgZG9uZSBieSB0aGUgZmlyc3QgbW91bnQoMikgYW5kIHRoZQorICogc2Vjb25kIHJlbW91bnQgd2lsbCBiZSBub29wLi4uCisgKi8KK3N0YXRpYyBpbnQgaW5pdF9yb2JpbmQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IGxpYm1udF9hZGRtb3VudCAqYWQ7CisJaW50IHJjOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bW91bnRmbGFncyAmIE1TX0JJTkQpOworCWFzc2VydChjeHQtPm1vdW50ZmxhZ3MgJiBNU19SRE9OTFkpOworCWFzc2VydCghKGN4dC0+bW91bnRmbGFncyAmIE1TX1JFTU9VTlQpKTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIm1vdW50OiBpbml0aWFsaXplIGFkZGl0aW9uYWwgcm8sYmluZCBtb3VudCIpKTsKKworCWFkID0gbW50X25ld19hZGRtb3VudCgpOworCWlmICghYWQpCisJCXJldHVybiAtRU5PTUVNOworCisJYWQtPm1vdW50ZmxhZ3MgPSBNU19SRU1PVU5UIHwgTVNfQklORCB8IE1TX1JET05MWTsKKwlpZiAoY3h0LT5tb3VudGZsYWdzICYgTVNfUkVDKQorCQlhZC0+bW91bnRmbGFncyB8PSBNU19SRUM7CisJcmMgPSBtbnRfY29udGV4dF9hcHBlbmRfYWRkaXRpb25hbF9tb3VudChjeHQsIGFkKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCXJldHVybiAwOworfQorCisjaWYgZGVmaW5lZChIQVZFX0xJQlNFTElOVVgpIHx8IGRlZmluZWQoSEFWRV9TTUFDSykKK3N0cnVjdCBsaWJtbnRfb3B0bmFtZSB7CisJY29uc3QgY2hhciAqbmFtZTsKKwlzaXplX3QgbmFtZXN6OworfTsKKworI2RlZmluZSBERUZfT1BUTkFNRShuKQkJeyAubmFtZSA9IG4sIC5uYW1lc3ogPSBzaXplb2YobikgLSAxIH0KKyNkZWZpbmUgREVGX09QVE5BTUVfTEFTVAl7IC5uYW1lID0gTlVMTCB9CisKK3N0YXRpYyBpbnQgaXNfb3B0aW9uKGNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBuYW1lc3osCisJCSAgICAgY29uc3Qgc3RydWN0IGxpYm1udF9vcHRuYW1lICpuYW1lcykKK3sKKwljb25zdCBzdHJ1Y3QgbGlibW50X29wdG5hbWUgKnA7CisKKwlmb3IgKHAgPSBuYW1lczsgcCAmJiBwLT5uYW1lOyBwKyspIHsKKwkJaWYgKHAtPm5hbWVzeiA9PSBuYW1lc3oKKwkJICAgICYmIHN0cm5jbXAobmFtZSwgcC0+bmFtZSwgbmFtZXN6KSA9PSAwKQorCQkJcmV0dXJuIDE7CisJfQorCisJcmV0dXJuIDA7Cit9CisjZW5kaWYgLyogSEFWRV9MSUJTRUxJTlVYIHx8IEhBVkVfU01BQ0sgKi8KKworLyoKKyAqIHRoaXMgaGFzIHRvIGJlIGNhbGxlZCBhZnRlciBtbnRfY29udGV4dF9ldmFsdWF0ZV9wZXJtaXNzaW9ucygpCisgKi8KK3N0YXRpYyBpbnQgZml4X29wdHN0cihzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlpbnQgcmMgPSAwOworCWNoYXIgKm5leHQ7CisJY2hhciAqbmFtZSwgKnZhbDsKKwlzaXplX3QgbmFtZXN6LCB2YWxzejsKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKyNpZmRlZiBIQVZFX0xJQlNFTElOVVgKKwlpbnQgc2VfZml4ID0gMCwgc2VfcmVtID0gMDsKKwlzdGF0aWMgY29uc3Qgc3RydWN0IGxpYm1udF9vcHRuYW1lIHNlbGludXhfb3B0aW9uc1tdID0geworCQlERUZfT1BUTkFNRSgiY29udGV4dCIpLAorCQlERUZfT1BUTkFNRSgiZnNjb250ZXh0IiksCisJCURFRl9PUFROQU1FKCJkZWZjb250ZXh0IiksCisJCURFRl9PUFROQU1FKCJyb290Y29udGV4dCIpLAorCQlERUZfT1BUTkFNRSgic2VjbGFiZWwiKSwKKwkJREVGX09QVE5BTUVfTEFTVAorCX07CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NNQUNLCisJaW50IHNtX3JlbSA9IDA7CisJc3RhdGljIGNvbnN0IHN0cnVjdCBsaWJtbnRfb3B0bmFtZSBzbWFja19vcHRpb25zW10gPSB7CisJCURFRl9PUFROQU1FKCJzbWFja2ZzZGVmIiksCisJCURFRl9PUFROQU1FKCJzbWFja2ZzZmxvb3IiKSwKKwkJREVGX09QVE5BTUUoInNtYWNrZnNoYXQiKSwKKwkJREVGX09QVE5BTUUoInNtYWNrZnNyb290IiksCisJCURFRl9PUFROQU1FKCJzbWFja2ZzdHJhbnNtdXRlIiksCisJCURFRl9PUFROQU1FX0xBU1QKKwl9OworI2VuZGlmCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KChjeHQtPmZsYWdzICYgTU5UX0ZMX01PVU5URkxBR1NfTUVSR0VEKSk7CisKKwlpZiAoIWN4dC0+ZnMgfHwgKGN4dC0+ZmxhZ3MgJiBNTlRfRkxfTU9VTlRPUFRTX0ZJWEVEKSkKKwkJcmV0dXJuIDA7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJtb3VudDogZml4aW5nIG9wdHN0ciIpKTsKKworCWZzID0gY3h0LT5mczsKKworCS8qCisJICogVGhlICJ1c2VyIiBvcHRpb25zIGlzIG91ciBidXNpbmVzcyAoc28gd2UgY2FuIG1vZGlmeSB0aGUgb3B0aW9uKSwKKwkgKiB0aGUgZXhjZXB0aW9uIGlzIGNvbW1hbmQgbGluZSBmb3IgL3NiaW4vbW91bnQuPHR5cGU+IGhlbHBlcnMuIExldCdzCisJICogc2F2ZSB0aGUgb3JpZ2luYWwgdXNlcj08bmFtZT4gdG8gY2FsbCB0aGUgaGVscGVycyB3aXRoIGFuIHVuY2hhbmdlZAorCSAqICJ1c2VyIiBzZXR0aW5nLgorCSAqLworCWlmIChjeHQtPnVzZXJfbW91bnRmbGFncyAmIE1OVF9NU19VU0VSKSB7CisJCWlmICghbW50X29wdHN0cl9nZXRfb3B0aW9uKGZzLT51c2VyX29wdHN0ciwKKwkJCQkJInVzZXIiLCAmdmFsLCAmdmFsc3opICYmIHZhbCkgeworCQkJY3h0LT5vcmlnX3VzZXIgPSBzdHJuZHVwKHZhbCwgdmFsc3opOworCQkJaWYgKCFjeHQtPm9yaWdfdXNlcikgeworCQkJCXJjID0gLUVOT01FTTsKKwkJCQlnb3RvIGRvbmU7CisJCQl9CisJCX0KKwkJY3h0LT5mbGFncyB8PSBNTlRfRkxfU0FWRURfVVNFUjsKKwl9CisKKwkvKgorCSAqIFN5bmMgbW91bnQgb3B0aW9ucyB3aXRoIG1vdW50IGZsYWdzCisJICovCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAibW91bnQ6IGZpeGluZyB2ZnMgb3B0c3RyIikpOworCXJjID0gbW50X29wdHN0cl9hcHBseV9mbGFncygmZnMtPnZmc19vcHRzdHIsIGN4dC0+bW91bnRmbGFncywKKwkJCQltbnRfZ2V0X2J1aWx0aW5fb3B0bWFwKE1OVF9MSU5VWF9NQVApKTsKKwlpZiAocmMpCisJCWdvdG8gZG9uZTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIm1vdW50OiBmaXhpbmcgdXNlciBvcHRzdHIiKSk7CisJcmMgPSBtbnRfb3B0c3RyX2FwcGx5X2ZsYWdzKCZmcy0+dXNlcl9vcHRzdHIsIGN4dC0+dXNlcl9tb3VudGZsYWdzLAorCQkJCW1udF9nZXRfYnVpbHRpbl9vcHRtYXAoTU5UX1VTRVJTUEFDRV9NQVApKTsKKwlpZiAocmMpCisJCWdvdG8gZG9uZTsKKworCWlmIChmcy0+dmZzX29wdHN0ciAmJiAqZnMtPnZmc19vcHRzdHIgPT0gJ1wwJykgeworCQlmcmVlKGZzLT52ZnNfb3B0c3RyKTsKKwkJZnMtPnZmc19vcHRzdHIgPSBOVUxMOworCX0KKwlpZiAoZnMtPnVzZXJfb3B0c3RyICYmICpmcy0+dXNlcl9vcHRzdHIgPT0gJ1wwJykgeworCQlmcmVlKGZzLT51c2VyX29wdHN0cik7CisJCWZzLT51c2VyX29wdHN0ciA9IE5VTEw7CisJfQorCWlmIChjeHQtPm1vdW50ZmxhZ3MgJiBNU19QUk9QQUdBVElPTikgeworCQlyYyA9IGluaXRfcHJvcGFnYXRpb24oY3h0KTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCX0KKwlpZiAoKGN4dC0+bW91bnRmbGFncyAmIE1TX0JJTkQpCisJICAgICYmIChjeHQtPm1vdW50ZmxhZ3MgJiBNU19SRE9OTFkpCisJICAgICYmICEoY3h0LT5tb3VudGZsYWdzICYgTVNfUkVNT1VOVCkpIHsKKwkJcmMgPSBpbml0X3JvYmluZChjeHQpOworCQlpZiAocmMpCisJCQlyZXR1cm4gcmM7CisJfQorCisJbmV4dCA9IGZzLT5mc19vcHRzdHI7CisKKyNpZmRlZiBIQVZFX0xJQlNFTElOVVgKKwlpZiAoIWlzX3NlbGludXhfZW5hYmxlZCgpKQorCQkvKiBBbHdheXMgcmVtb3ZlIFNFTGludXggZ2FyYmFnZSBpZiBTRUxpbnV4IGRpc2FibGVkICovCisJCXNlX3JlbSA9IDE7CisJZWxzZSBpZiAoY3h0LT5tb3VudGZsYWdzICYgTVNfUkVNT1VOVCkKKwkJLyoKKwkJICogTGludXgga2VybmVsIDwgMi42LjM5IGRvZXMgbm90IGFsbG93IHRvIHJlbW91bnQgd2l0aCBhbnkKKwkJICogc2VsaW51eCBzcGVjaWZpYyBtb3VudCBvcHRpb25zLgorCQkgKgorCQkgKiBLZXJuZWwgMi42LjM5IGNvbW1pdHM6ICBmZjM2ZmUyYzg0NWNhYjIxMDJlNDgyNmMxZmZhMGE2ZWJmNDg3YzY1CisJCSAqICAgICAgICAgICAgICAgICAgICAgICAgIDAyNmViMTY3YWU3NzI0NDQ1OGZhNGI0YjlmYzE3MTIwOWMwNzliYTcKKwkJICogZml4IHRoaXMgb2RkIGJlaGF2aW9yLCBzbyB3ZSBkb24ndCBoYXZlIHRvIGNhcmUgYWJvdXQgaXQgaW4KKwkJICogdXNlcnNwYWNlLgorCQkgKi8KKwkJc2VfcmVtID0gZ2V0X2xpbnV4X3ZlcnNpb24oKSA8IEtFUk5FTF9WRVJTSU9OKDIsIDYsIDM5KTsKKwllbHNlCisJCS8qIEZvciBub3JtYWwgbW91bnQsIGNvbnRleHRzIGFyZSB0cmFuc2xhdGVkICovCisJCXNlX2ZpeCA9IDE7CisKKwlpZiAoIXNlX3JlbSkgeworCQkvKiBkZS1kdXBsaWNhdGUgU0VMaW51eCBvcHRpb25zICovCisJCWNvbnN0IHN0cnVjdCBsaWJtbnRfb3B0bmFtZSAqcDsKKwkJZm9yIChwID0gc2VsaW51eF9vcHRpb25zOyBwICYmIHAtPm5hbWU7IHArKykKKwkJCW1udF9vcHRzdHJfZGVkdXBsaWNhdGVfb3B0aW9uKCZmcy0+ZnNfb3B0c3RyLCBwLT5uYW1lKTsKKwl9CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NNQUNLCisJaWYgKGFjY2VzcygiL3N5cy9mcy9zbWFja2ZzIiwgRl9PSykgIT0gMCkKKwkJc21fcmVtID0gMTsKKyNlbmRpZgorCXdoaWxlICghbW50X29wdHN0cl9uZXh0X29wdGlvbigmbmV4dCwgJm5hbWUsICZuYW1lc3osICZ2YWwsICZ2YWxzeikpIHsKKworCQlpZiAobmFtZXN6ID09IDMgJiYgIXN0cm5jbXAobmFtZSwgInVpZCIsIDMpKQorCQkJcmMgPSBtbnRfb3B0c3RyX2ZpeF91aWQoJmZzLT5mc19vcHRzdHIsIHZhbCwgdmFsc3osICZuZXh0KTsKKwkJZWxzZSBpZiAobmFtZXN6ID09IDMgJiYgIXN0cm5jbXAobmFtZSwgImdpZCIsIDMpKQorCQkJcmMgPSBtbnRfb3B0c3RyX2ZpeF9naWQoJmZzLT5mc19vcHRzdHIsIHZhbCwgdmFsc3osICZuZXh0KTsKKyNpZmRlZiBIQVZFX0xJQlNFTElOVVgKKwkJZWxzZSBpZiAoKHNlX3JlbSB8fCBzZV9maXgpCisJCQkgJiYgaXNfb3B0aW9uKG5hbWUsIG5hbWVzeiwgc2VsaW51eF9vcHRpb25zKSkgeworCisJCQlpZiAoc2VfcmVtKSB7CisJCQkJLyogcmVtb3ZlIGNvbnRleHQ9IG9wdGlvbiAqLworCQkJCW5leHQgPSBuYW1lOworCQkJCXJjID0gbW50X29wdHN0cl9yZW1vdmVfb3B0aW9uX2F0KCZmcy0+ZnNfb3B0c3RyLAorCQkJCQkJbmFtZSwKKwkJCQkJCXZhbCA/IHZhbCArIHZhbHN6IDoKKwkJCQkJCSAgICAgIG5hbWUgKyBuYW1lc3opOworCQkJfSBlbHNlIGlmIChzZV9maXggJiYgdmFsICYmIHZhbHN6KQorCQkJCS8qIHRyYW5zbGF0ZSBzZWxpbnV4IGNvbnRleHRzICovCisJCQkJcmMgPSBtbnRfb3B0c3RyX2ZpeF9zZWNvbnRleHQoJmZzLT5mc19vcHRzdHIsCisJCQkJCQkJdmFsLCB2YWxzeiwgJm5leHQpOworCQl9CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NNQUNLCisJCWVsc2UgaWYgKHNtX3JlbSAmJiBpc19vcHRpb24obmFtZSwgbmFtZXN6LCBzbWFja19vcHRpb25zKSkgeworCisJCQluZXh0ID0gbmFtZTsKKwkJCXJjID0gbW50X29wdHN0cl9yZW1vdmVfb3B0aW9uX2F0KCZmcy0+ZnNfb3B0c3RyLAorCQkJCQluYW1lLAorCQkJCQl2YWwgPyB2YWwgKyB2YWxzeiA6IG5hbWUgKyBuYW1lc3opOworCQl9CisjZW5kaWYKKwkJaWYgKHJjKQorCQkJZ290byBkb25lOworCX0KKworCWlmICghcmMgJiYgY3h0LT5yZXN0cmljdGVkICYmIChjeHQtPnVzZXJfbW91bnRmbGFncyAmIE1OVF9NU19VU0VSKSkKKwkJcmMgPSBtbnRfb3B0c3RyX2ZpeF91c2VyKCZmcy0+dXNlcl9vcHRzdHIpOworCisJLyogcmVmcmVzaCBtZXJnZWQgb3B0c3RyICovCisJZnJlZShmcy0+b3B0c3RyKTsKKwlmcy0+b3B0c3RyID0gTlVMTDsKKwlmcy0+b3B0c3RyID0gbW50X2ZzX3N0cmR1cF9vcHRpb25zKGZzKTsKK2RvbmU6CisJY3h0LT5mbGFncyB8PSBNTlRfRkxfTU9VTlRPUFRTX0ZJWEVEOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZml4ZWQgb3B0aW9ucyBbcmM9JWRdOiAiCisJCSJ2ZnM6ICclcycgZnM6ICclcycgdXNlcjogJyVzJywgb3B0c3RyOiAnJXMnIiwgcmMsCisJCWZzLT52ZnNfb3B0c3RyLCBmcy0+ZnNfb3B0c3RyLCBmcy0+dXNlcl9vcHRzdHIsIGZzLT5vcHRzdHIpKTsKKworCWlmIChyYykKKwkJcmMgPSAtTU5UX0VSUl9NT1VOVE9QVDsKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBDb252ZXJ0cyB0aGUgYWxyZWFkeSBldmFsdWF0ZWQgYW5kIGZpeGVkIG9wdGlvbnMgdG8gdGhlIGZvcm0gdGhhdCBpcyBjb21wYXRpYmxlCisgKiB3aXRoIC9zYmluL21vdW50LnR5cGUgaGVscGVycy4KKyAqLworc3RhdGljIGludCBnZW5lcmF0ZV9oZWxwZXJfb3B0c3RyKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBjaGFyICoqb3B0c3RyKQoreworCXN0cnVjdCBsaWJtbnRfb3B0bWFwIGNvbnN0ICptYXBzWzJdOworCWNoYXIgKm5leHQsICpuYW1lLCAqdmFsOworCXNpemVfdCBuYW1lc3osIHZhbHN6OworCWludCByYyA9IDA7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5mcyk7CisJYXNzZXJ0KG9wdHN0cik7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJtb3VudDogZ2VuZXJhdGUgaGVscGVyIG1vdW50IG9wdGlvbnMiKSk7CisKKwkqb3B0c3RyID0gbW50X2ZzX3N0cmR1cF9vcHRpb25zKGN4dC0+ZnMpOworCWlmICghKm9wdHN0cikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlpZiAoKGN4dC0+dXNlcl9tb3VudGZsYWdzICYgTU5UX01TX1VTRVIpIHx8CisJICAgIChjeHQtPnVzZXJfbW91bnRmbGFncyAmIE1OVF9NU19VU0VSUykpIHsKKwkJLyoKKwkJICogVGhpcyBpcyB1bm5lY2Vzc2FyeSBmb3IgcmVhbCB1c2VyLW1vdW50cyBhcyBtb3VudC48dHlwZT4KKwkJICogaGVscGVycyBhbHdheXMgaGF2ZSB0byBmb2xsb3cgZnN0YWIgcmF0aGVyIHRoYW4gbW91bnQKKwkJICogb3B0aW9ucyBvbiB0aGUgY29tbWFuZCBsaW5lLgorCQkgKgorCQkgKiBIb3dldmVyLCBpZiB5b3UgY2FsbCBtb3VudC48dHlwZT4gYXMgcm9vdCwgdGhlbiB0aGUgaGVscGVyIGZvbGxvd3MKKwkJICogdGhlIGNvbW1hbmQgbGluZS4gSWYgdGhlcmUgaXMgKGZvciBleGFtcGxlKSAidXNlcixleGVjIiBpbiBmc3RhYiwKKwkJICogdGhlbiB3ZSBoYXZlIHRvIG1hbnVhbGx5IGFwcGVuZCB0aGUgImV4ZWMiIGJhY2sgdG8gdGhlIG9wdGlvbnMKKwkJICogc3RyaW5nLCBiZWNhdXNlIHRoZXJlIGlzIG5vdGhpbmcgbGlrZSBNU19FWEVDICh3ZSBvbmx5IGhhdmUKKwkJICogTVNfTk9FWEVDIGluIG1vdW50IGZsYWdzIGFuZCB3ZSBkb24ndCBjYXJlIGFib3V0IHRoZSBvcmlnaW5hbAorCQkgKiBtb3VudCBzdHJpbmcgaW4gbGlibW91bnQgZm9yIFZGUyBvcHRpb25zKS4KKwkJICovCisJCWlmICghKGN4dC0+bW91bnRmbGFncyAmIE1TX05PRVhFQykpCisJCQltbnRfb3B0c3RyX2FwcGVuZF9vcHRpb24ob3B0c3RyLCAiZXhlYyIsIE5VTEwpOworCQlpZiAoIShjeHQtPm1vdW50ZmxhZ3MgJiBNU19OT1NVSUQpKQorCQkJbW50X29wdHN0cl9hcHBlbmRfb3B0aW9uKG9wdHN0ciwgInN1aWQiLCBOVUxMKTsKKwkJaWYgKCEoY3h0LT5tb3VudGZsYWdzICYgTVNfTk9ERVYpKQorCQkJbW50X29wdHN0cl9hcHBlbmRfb3B0aW9uKG9wdHN0ciwgImRldiIsIE5VTEwpOworCX0KKworCisJaWYgKGN4dC0+ZmxhZ3MgJiBNTlRfRkxfU0FWRURfVVNFUikKKwkJcmMgPSBtbnRfb3B0c3RyX3NldF9vcHRpb24ob3B0c3RyLCAidXNlciIsIGN4dC0+b3JpZ191c2VyKTsKKwlpZiAocmMpCisJCWdvdG8gZXJyOworCisJLyogcmVtb3ZlIHVzZXJzcGFjZSBvcHRpb25zIHdpdGggTU5UX05PSExQUyBmbGFnICovCisJbWFwc1swXSA9IG1udF9nZXRfYnVpbHRpbl9vcHRtYXAoTU5UX1VTRVJTUEFDRV9NQVApOworCW1hcHNbMV0gPSBtbnRfZ2V0X2J1aWx0aW5fb3B0bWFwKE1OVF9MSU5VWF9NQVApOworCW5leHQgPSAqb3B0c3RyOworCisJd2hpbGUgKCFtbnRfb3B0c3RyX25leHRfb3B0aW9uKCZuZXh0LCAmbmFtZSwgJm5hbWVzeiwgJnZhbCwgJnZhbHN6KSkgeworCQljb25zdCBzdHJ1Y3QgbGlibW50X29wdG1hcCAqZW50OworCisJCW1udF9vcHRtYXBfZ2V0X2VudHJ5KG1hcHMsIDIsIG5hbWUsIG5hbWVzeiwgJmVudCk7CisJCWlmIChlbnQgJiYgZW50LT5pZCAmJiAoZW50LT5tYXNrICYgTU5UX05PSExQUykpIHsKKwkJCW5leHQgPSBuYW1lOworCQkJcmMgPSBtbnRfb3B0c3RyX3JlbW92ZV9vcHRpb25fYXQob3B0c3RyLCBuYW1lLAorCQkJCQl2YWwgPyB2YWwgKyB2YWxzeiA6IG5hbWUgKyBuYW1lc3opOworCQkJaWYgKHJjKQorCQkJCWdvdG8gZXJyOworCQl9CisJfQorCisJcmV0dXJuIHJjOworZXJyOgorCWZyZWUoKm9wdHN0cik7CisJKm9wdHN0ciA9IE5VTEw7CisJcmV0dXJuIHJjOworfQorCisvKgorICogdGhpcyBoYXMgdG8gYmUgY2FsbGVkIGJlZm9yZSBmaXhfb3B0c3RyKCkKKyAqCisgKiBOb3RlIHRoYXQgdXNlcj08bmFtZT4gbWF5IGJlIHVzZWQgYnkgc29tZSBmaWxlc3lzdGVtcyBhcyBhIGZpbGVzeXN0ZW0KKyAqIHNwZWNpZmljIG9wdGlvbiAoZS5nLiBjaWZzKS4gWWVzLCBkZXZlbG9wZXJzIG9mIHN1Y2ggZmlsZXN5c3RlbXMgaGF2ZQorICogYWxsb2NhdGVkIHByZXR0eSBob3QgcGxhY2UgaW4gaGVsbC4uLgorICovCitzdGF0aWMgaW50IGV2YWx1YXRlX3Blcm1pc3Npb25zKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCXVuc2lnbmVkIGxvbmcgdV9mbGFncyA9IDA7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoKGN4dC0+ZmxhZ3MgJiBNTlRfRkxfTU9VTlRGTEFHU19NRVJHRUQpKTsKKworCWlmICghY3h0LT5mcykKKwkJcmV0dXJuIDA7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJtb3VudDogZXZhbHVhdGluZyBwZXJtaXNzaW9ucyIpKTsKKworCW1udF9jb250ZXh0X2dldF91c2VyX21mbGFncyhjeHQsICZ1X2ZsYWdzKTsKKworCWlmICghbW50X2NvbnRleHRfaXNfcmVzdHJpY3RlZChjeHQpKSB7CisJCS8qCisJCSAqIHN1cGVydXNlciBtb3VudAorCQkgKi8KKwkJY3h0LT51c2VyX21vdW50ZmxhZ3MgJj0gfk1OVF9NU19PV05FUjsKKwkJY3h0LT51c2VyX21vdW50ZmxhZ3MgJj0gfk1OVF9NU19HUk9VUDsKKwl9IGVsc2UgeworCQkvKgorCQkgKiB1c2VyIG1vdW50CisJCSAqLworCQlpZiAoIW1udF9jb250ZXh0X3RhYl9hcHBsaWVkKGN4dCkpCisJCXsKKwkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInBlcm1zOiBmc3RhYiBub3QgYXBwbGllZCwgaWdub3JlIHVzZXIgbW91bnQiKSk7CisJCQlyZXR1cm4gLUVQRVJNOworCQl9CisKKwkJLyoKKwkJICogTVNfT1dORVJTRUNVUkUgYW5kIE1TX1NFQ1VSRSBtb3VudCBvcHRpb25zIGFyZSBhbHJlYWR5CisJCSAqIGFwcGxpZWQgYnkgbW50X29wdHN0cl9nZXRfZmxhZ3MoKSBpbiBtbnRfY29udGV4dF9tZXJnZV9tZmxhZ3MoKQorCQkgKiBpZiAidXNlciIgKGJ1dCBubyB1c2VyPTxuYW1lPiAhKSBvcHRpb25zIGlzIHNldC4KKwkJICoKKwkJICogTGV0J3MgaWdub3JlIGFsbCB1c2VyPTxuYW1lPiAoaWYgPG5hbWU+IGlzIHNldCkgcmVxdWVzdHMuCisJCSAqLworCQlpZiAoY3h0LT51c2VyX21vdW50ZmxhZ3MgJiBNTlRfTVNfVVNFUikgeworCQkJc2l6ZV90IHZhbHN6ID0gMDsKKworCQkJaWYgKCFtbnRfb3B0c3RyX2dldF9vcHRpb24oY3h0LT5mcy0+dXNlcl9vcHRzdHIsCisJCQkJCSJ1c2VyIiwgTlVMTCwgJnZhbHN6KSAmJiB2YWxzeikgeworCisJCQkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAicGVybXM6IHVzZXI9PG5hbWU+IGRldGVjdGVkLCBpZ25vcmUiKSk7CisJCQkJY3h0LT51c2VyX21vdW50ZmxhZ3MgJj0gfk1OVF9NU19VU0VSOworCQkJfQorCQl9CisKKwkJLyoKKwkJICogTVNfT1dORVI6IEFsbG93IG93bmVycyB0byBtb3VudCB3aGVuIGZzdGFiIGNvbnRhaW5zIHRoZQorCQkgKiBvd25lciBvcHRpb24uICBOb3RlIHRoYXQgdGhpcyBzaG91bGQgbmV2ZXIgYmUgdXNlZCBpbiBhIGhpZ2gKKwkJICogc2VjdXJpdHkgZW52aXJvbm1lbnQsIGJ1dCBtYXkgYmUgdXNlZnVsIHRvIGdpdmUgcGVvcGxlIGF0CisJCSAqIHRoZSBjb25zb2xlIHRoZSBwb3NzaWJpbGl0eSBvZiBtb3VudGluZyBhIGZsb3BweS4gIE1TX0dST1VQOgorCQkgKiBBbGxvdyBtZW1iZXJzIG9mIGRldmljZSBncm91cCB0byBtb3VudC4gKE1hcnRpbiBEaWNrb3BwKQorCQkgKi8KKwkJaWYgKHVfZmxhZ3MgJiAoTU5UX01TX09XTkVSIHwgTU5UX01TX0dST1VQKSkgeworCQkJc3RydWN0IHN0YXQgc2I7CisJCQlzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSA9IE5VTEw7CisJCQljaGFyICp4c3JjID0gTlVMTDsKKwkJCWNvbnN0IGNoYXIgKnNyY3BhdGggPSBtbnRfZnNfZ2V0X3NyY3BhdGgoY3h0LT5mcyk7CisKKwkJCWlmICghc3JjcGF0aCkgewkJCQkJLyogQWguLi4gc291cmNlIGlzIFRBRyAqLworCQkJCWNhY2hlID0gbW50X2NvbnRleHRfZ2V0X2NhY2hlKGN4dCk7CisJCQkJeHNyYyA9IG1udF9yZXNvbHZlX3NwZWMoCisJCQkJCQltbnRfY29udGV4dF9nZXRfc291cmNlKGN4dCksCisJCQkJCQljYWNoZSk7CisJCQkJc3JjcGF0aCA9IHhzcmM7CisJCQl9CisJCQlpZiAoIXNyY3BhdGgpIHsKKwkJCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJwZXJtczogc3JjIHVuZGVmaW5lZCIpKTsKKwkJCQlyZXR1cm4gLUVQRVJNOworCQkJfQorCisJCQlpZiAoc3RybmNtcChzcmNwYXRoLCAiL2Rldi8iLCA1KSA9PSAwICYmCisJCQkgICAgc3RhdChzcmNwYXRoLCAmc2IpID09IDAgJiYKKwkJCSAgICAoKCh1X2ZsYWdzICYgTU5UX01TX09XTkVSKSAmJiBnZXR1aWQoKSA9PSBzYi5zdF91aWQpIHx8CisJCQkgICAgICgodV9mbGFncyAmIE1OVF9NU19HUk9VUCkgJiYgbW50X2luX2dyb3VwKHNiLnN0X2dpZCkpKSkKKworCQkJCWN4dC0+dXNlcl9tb3VudGZsYWdzIHw9IE1OVF9NU19VU0VSOworCisJCQlpZiAoIWNhY2hlKQorCQkJCWZyZWUoeHNyYyk7CisJCX0KKworCQlpZiAoIShjeHQtPnVzZXJfbW91bnRmbGFncyAmIChNTlRfTVNfVVNFUiB8IE1OVF9NU19VU0VSUykpKSB7CisJCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJwZXJtaXNzaW9ucyBldmFsdWF0aW9uIGVuZHMgd2l0aCAtRVBFUk1TIikpOworCQkJcmV0dXJuIC1FUEVSTTsKKwkJfQorCX0KKworCXJldHVybiAwOworfQorCisvKgorICogbW50X2NvbnRleHRfaGVscGVyX3NldG9wdCgpIGJhY2tlbmQKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGFwcGxpZXMgdGhlIG1vdW50LnR5cGUgY29tbWFuZCBsaW5lIG9wdGlvbiAoZm9yIGV4YW1wbGUgcGFyc2VkCisgKiBieSBnZXRvcHQoKSBvciBnZXRvcHRfbG9uZygpKSB0byBAY3h0LiBBbGwgdW5rbm93biBvcHRpb25zIGFyZSBpZ25vcmVkIGFuZAorICogdGhlbiAxIGlzIHJldHVybmVkLgorICoKKyAqIFJldHVybnM6IG5lZ2F0aXZlIG51bWJlciBvbiBlcnJvciwgMSBpZiBAYyBpcyB1bmtub3duIG9wdGlvbiwgMCBvbiBzdWNjZXNzLgorICovCitpbnQgbW50X2NvbnRleHRfbW91bnRfc2V0b3B0KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBpbnQgYywgY2hhciAqYXJnKQoreworCWludCByYyA9IC1FSU5WQUw7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5hY3Rpb24gPT0gTU5UX0FDVF9NT1VOVCk7CisKKwlzd2l0Y2goYykgeworCWNhc2UgJ2YnOgorCQlyYyA9IG1udF9jb250ZXh0X2VuYWJsZV9mYWtlKGN4dCwgVFJVRSk7CisJCWJyZWFrOworCWNhc2UgJ24nOgorCQlyYyA9IG1udF9jb250ZXh0X2Rpc2FibGVfbXRhYihjeHQsIFRSVUUpOworCQlicmVhazsKKwljYXNlICdyJzoKKwkJcmMgPSBtbnRfY29udGV4dF9hcHBlbmRfb3B0aW9ucyhjeHQsICJybyIpOworCQlicmVhazsKKwljYXNlICd2JzoKKwkJcmMgPSBtbnRfY29udGV4dF9lbmFibGVfdmVyYm9zZShjeHQsIFRSVUUpOworCQlicmVhazsKKwljYXNlICd3JzoKKwkJcmMgPSBtbnRfY29udGV4dF9hcHBlbmRfb3B0aW9ucyhjeHQsICJydyIpOworCQlicmVhazsKKwljYXNlICdvJzoKKwkJaWYgKGFyZykKKwkJCXJjID0gbW50X2NvbnRleHRfYXBwZW5kX29wdGlvbnMoY3h0LCBhcmcpOworCQlicmVhazsKKwljYXNlICdzJzoKKwkJcmMgPSBtbnRfY29udGV4dF9lbmFibGVfc2xvcHB5KGN4dCwgVFJVRSk7CisJCWJyZWFrOworCWNhc2UgJ3QnOgorCQlpZiAoYXJnKQorCQkJcmMgPSBtbnRfY29udGV4dF9zZXRfZnN0eXBlKGN4dCwgYXJnKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIDE7CisJfQorCisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IGV4ZWNfaGVscGVyKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWNoYXIgKm8gPSBOVUxMOworCWludCByYzsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmZzKTsKKwlhc3NlcnQoY3h0LT5oZWxwZXIpOworCWFzc2VydCgoY3h0LT5mbGFncyAmIE1OVF9GTF9NT1VOVEZMQUdTX01FUkdFRCkpOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAibW91bnQ6IGV4ZWN1dGluZyBoZWxwZXIgJXMiLCBjeHQtPmhlbHBlcikpOworCisJcmMgPSBnZW5lcmF0ZV9oZWxwZXJfb3B0c3RyKGN4dCwgJm8pOworCWlmIChyYykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkdfRkxVU0g7CisKKwlzd2l0Y2ggKGZvcmsoKSkgeworCWNhc2UgMDoKKwl7CisJCWNvbnN0IGNoYXIgKmFyZ3NbMTJdLCAqdHlwZTsKKwkJaW50IGkgPSAwOworCisJCWlmIChzZXRnaWQoZ2V0Z2lkKCkpIDwgMCkKKwkJCWV4aXQoRVhJVF9GQUlMVVJFKTsKKworCQlpZiAoc2V0dWlkKGdldHVpZCgpKSA8IDApCisJCQlleGl0KEVYSVRfRkFJTFVSRSk7CisKKwkJdHlwZSA9IG1udF9mc19nZXRfZnN0eXBlKGN4dC0+ZnMpOworCisJCWFyZ3NbaSsrXSA9IGN4dC0+aGVscGVyOwkJLyogMSAqLworCQlhcmdzW2krK10gPSBtbnRfZnNfZ2V0X3NyY3BhdGgoY3h0LT5mcyk7LyogMiAqLworCQlhcmdzW2krK10gPSBtbnRfZnNfZ2V0X3RhcmdldChjeHQtPmZzKTsJLyogMyAqLworCisJCWlmIChtbnRfY29udGV4dF9pc19zbG9wcHkoY3h0KSkKKwkJCWFyZ3NbaSsrXSA9ICItcyI7CQkvKiA0ICovCisJCWlmIChtbnRfY29udGV4dF9pc19mYWtlKGN4dCkpCisJCQlhcmdzW2krK10gPSAiLWYiOwkJLyogNSAqLworCQlpZiAobW50X2NvbnRleHRfaXNfbm9tdGFiKGN4dCkpCisJCQlhcmdzW2krK10gPSAiLW4iOwkJLyogNiAqLworCQlpZiAobW50X2NvbnRleHRfaXNfdmVyYm9zZShjeHQpKQorCQkJYXJnc1tpKytdID0gIi12IjsJCS8qIDcgKi8KKwkJaWYgKG8pIHsKKwkJCWFyZ3NbaSsrXSA9ICItbyI7CQkvKiA4ICovCisJCQlhcmdzW2krK10gPSBvOwkJCS8qIDkgKi8KKwkJfQorCQlpZiAodHlwZQorCQkgICAgJiYgc3RyY2hyKHR5cGUsICcuJykKKwkJICAgICYmICFlbmRzd2l0aChjeHQtPmhlbHBlciwgdHlwZSkpIHsKKwkJCWFyZ3NbaSsrXSA9ICItdCI7CQkvKiAxMCAqLworCQkJYXJnc1tpKytdID0gdHlwZTsJCS8qIDExICovCisJCX0KKwkJYXJnc1tpXSA9IE5VTEw7CQkJCS8qIDEyICovCisJCWZvciAoaSA9IDA7IGFyZ3NbaV07IGkrKykKKwkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImFyZ3ZbJWRdID0gXCIlc1wiIiwKKwkJCQkJCQlpLCBhcmdzW2ldKSk7CisJCURCR19GTFVTSDsKKwkJZXhlY3YoY3h0LT5oZWxwZXIsIChjaGFyICogY29uc3QgKikgYXJncyk7CisJCWV4aXQoRVhJVF9GQUlMVVJFKTsKKwl9CisJZGVmYXVsdDoKKwl7CisJCWludCBzdDsKKwkJd2FpdCgmc3QpOworCQljeHQtPmhlbHBlcl9zdGF0dXMgPSBXSUZFWElURUQoc3QpID8gV0VYSVRTVEFUVVMoc3QpIDogLTE7CisKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiJXMgZXhlY3V0ZWQgW3N0YXR1cz0lZF0iLAorCQkJCQljeHQtPmhlbHBlciwgY3h0LT5oZWxwZXJfc3RhdHVzKSk7CisJCWN4dC0+aGVscGVyX2V4ZWNfc3RhdHVzID0gcmMgPSAwOworCQlicmVhazsKKwl9CisKKwljYXNlIC0xOgorCQljeHQtPmhlbHBlcl9leGVjX3N0YXR1cyA9IHJjID0gLWVycm5vOworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJmb3JrKCkgZmFpbGVkIikpOworCQlicmVhazsKKwl9CisKKwlmcmVlKG8pOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBkb19tb3VudF9hZGRpdGlvbmFsKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorCQkJICAgICAgIGNvbnN0IGNoYXIgKnRhcmdldCwKKwkJCSAgICAgICB1bnNpZ25lZCBsb25nIGZsYWdzLAorCQkJICAgICAgIGludCAqc3lzZXJyKQoreworCXN0cnVjdCBsaXN0X2hlYWQgKnA7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQodGFyZ2V0KTsKKworCWlmIChzeXNlcnIpCisJCSpzeXNlcnIgPSAwOworCisJbGlzdF9mb3JfZWFjaChwLCAmY3h0LT5hZGRtb3VudHMpIHsKKwkJaW50IHJjOworCQlzdHJ1Y3QgbGlibW50X2FkZG1vdW50ICphZCA9CisJCQkJbGlzdF9lbnRyeShwLCBzdHJ1Y3QgbGlibW50X2FkZG1vdW50LCBtb3VudHMpOworCisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIm1vdW50KDIpIGNoYW5naW5nIGZsYWc6IDB4JTA4bHggJXMiLAorCQkJCWFkLT5tb3VudGZsYWdzLAorCQkJCWFkLT5tb3VudGZsYWdzICYgTVNfUkVDID8gIiAocmVjdXJzaXZlKSIgOiAiIikpOworCisJCXJjID0gbW91bnQoIm5vbmUiLCB0YXJnZXQsIE5VTEwsCisJCQkJYWQtPm1vdW50ZmxhZ3MgfCAoZmxhZ3MgJiBNU19TSUxFTlQpLCBOVUxMKTsKKwkJaWYgKHJjKSB7CisJCQlpZiAoc3lzZXJyKQorCQkJCSpzeXNlcnIgPSAtZXJybm87CisJCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsCisJCQkJCSJtb3VudCgyKSBmYWlsZWQgW2Vycm5vPSVkICVtXSIsCisJCQkJCWVycm5vKSk7CisJCQlyZXR1cm4gcmM7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFRoZSBkZWZhdWx0IGlzIHRvIHVzZSBmc3R5cGUgZnJvbSBjeHQtPmZzLCB0aGlzIGNvdWxkIGJlIG92ZXJ3cml0dGVuIGJ5CisgKiBAdHJ5X3R5cGUgYXJndW1lbnQuIElmIEB0cnlfdHlwZSBpcyBzcGVjaWZpZWQgdGhlbiBtb3VudCB3aXRoIE1TX1NJTEVOVC4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsCisgKiAgICAgICAgID4wIGluIGNhc2Ugb2YgbW91bnQoMikgZXJyb3IgKHJldHVybnMgc3lzY2FsbCBlcnJubyksCisgKiAgICAgICAgIDwwIGluIGNhc2Ugb2Ygb3RoZXIgZXJyb3JzLgorICovCitzdGF0aWMgaW50IGRvX21vdW50KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBjb25zdCBjaGFyICp0cnlfdHlwZSkKK3sKKwlpbnQgcmMgPSAwOworCWNvbnN0IGNoYXIgKnNyYywgKnRhcmdldCwgKnR5cGU7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmZzKTsKKwlhc3NlcnQoKGN4dC0+ZmxhZ3MgJiBNTlRfRkxfTU9VTlRGTEFHU19NRVJHRUQpKTsKKworCWlmICh0cnlfdHlwZSAmJiAhY3h0LT5oZWxwZXIpIHsKKwkJcmMgPSBtbnRfY29udGV4dF9wcmVwYXJlX2hlbHBlcihjeHQsICJtb3VudCIsIHRyeV90eXBlKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCX0KKworCWZsYWdzID0gY3h0LT5tb3VudGZsYWdzOworCXNyYyA9IG1udF9mc19nZXRfc3JjcGF0aChjeHQtPmZzKTsKKwl0YXJnZXQgPSBtbnRfZnNfZ2V0X3RhcmdldChjeHQtPmZzKTsKKworCWlmIChjeHQtPmhlbHBlcikgeworCQlyYyA9IGV4ZWNfaGVscGVyKGN4dCk7CisKKwkJaWYgKG1udF9jb250ZXh0X2hlbHBlcl9leGVjdXRlZChjeHQpCisJCSAgICAmJiBtbnRfY29udGV4dF9nZXRfaGVscGVyX3N0YXR1cyhjeHQpID09IDAKKwkJICAgICYmICFsaXN0X2VtcHR5KCZjeHQtPmFkZG1vdW50cykKKwkJICAgICYmIGRvX21vdW50X2FkZGl0aW9uYWwoY3h0LCB0YXJnZXQsIGZsYWdzLCBOVUxMKSkKKworCQkJcmV0dXJuIC1NTlRfRVJSX0FQUExZRkxBR1M7CisJCXJldHVybiByYzsKKwl9CisKKwlpZiAoIXRhcmdldCkKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKCFzcmMpIHsKKwkJLyogdW5uZWNlc3NhcnksIHNob3VsZCBiZSBhbHJlYWR5IHJlc29sdmVkIGluCisJCSAqIG1udF9jb250ZXh0X3ByZXBhcmVfc3JjcGF0aCgpLCBidXQgdG8gYmUgc3VyZS4uLiAqLworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJXQVJOSU5HOiBzb3VyY2UgaXMgTlVMTCAtLSB1c2luZyBcIm5vbmVcIiEiKSk7CisJCXNyYyA9ICJub25lIjsKKwl9CisJdHlwZSA9IHRyeV90eXBlID8gOiBtbnRfZnNfZ2V0X2ZzdHlwZShjeHQtPmZzKTsKKworCWlmICghKGZsYWdzICYgTVNfTUdDX01TSykpCisJCWZsYWdzIHw9IE1TX01HQ19WQUw7CisJaWYgKHRyeV90eXBlKQorCQlmbGFncyB8PSBNU19TSUxFTlQ7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICIlc21vdW50KDIpICIKKwkJCSJbc291cmNlPSVzLCB0YXJnZXQ9JXMsIHR5cGU9JXMsICIKKwkJCSIgbW91bnRmbGFncz0weCUwOGx4LCBtb3VudGRhdGE9JXNdIiwKKwkJCW1udF9jb250ZXh0X2lzX2Zha2UoY3h0KSA/ICIoRkFLRSkgIiA6ICIiLAorCQkJc3JjLCB0YXJnZXQsIHR5cGUsCisJCQlmbGFncywgY3h0LT5tb3VudGRhdGEgPyAieWVzIiA6ICI8bm9uZT4iKSk7CisKKwlpZiAobW50X2NvbnRleHRfaXNfZmFrZShjeHQpKSB7CisJCS8qCisJCSAqIGZha2UKKwkJICovCisJCWN4dC0+c3lzY2FsbF9zdGF0dXMgPSAwOworCisJfSBlbHNlIGlmIChtbnRfY29udGV4dF9wcm9wYWdhdGlvbl9vbmx5KGN4dCkpIHsKKwkJLyoKKwkJICogcHJvcGFnYXRpb24gZmxhZ3MgKm9ubHkqCisJCSAqLworCQlpZiAoZG9fbW91bnRfYWRkaXRpb25hbChjeHQsIHRhcmdldCwgZmxhZ3MsICZjeHQtPnN5c2NhbGxfc3RhdHVzKSkKKwkJCXJldHVybiAtTU5UX0VSUl9BUFBMWUZMQUdTOworCX0gZWxzZSB7CisJCS8qCisJCSAqIHJlZ3VsYXIgbW91bnQKKwkJICovCisJCWlmIChtb3VudChzcmMsIHRhcmdldCwgdHlwZSwgZmxhZ3MsIGN4dC0+bW91bnRkYXRhKSkgeworCQkJY3h0LT5zeXNjYWxsX3N0YXR1cyA9IC1lcnJubzsKKwkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIm1vdW50KDIpIGZhaWxlZCBbZXJybm89JWQgJW1dIiwKKwkJCQkJCQktY3h0LT5zeXNjYWxsX3N0YXR1cykpOworCQkJcmV0dXJuIC1jeHQtPnN5c2NhbGxfc3RhdHVzOworCQl9CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIiAgc3VjY2VzcyIpKTsKKwkJY3h0LT5zeXNjYWxsX3N0YXR1cyA9IDA7CisKKwkJLyoKKwkJICogYWRkaXRpb25hbCBtb3VudHMgZm9yIGV4dHJhIHByb3BhZ2F0aW9uIGZsYWdzCisJCSAqLworCQlpZiAoIWxpc3RfZW1wdHkoJmN4dC0+YWRkbW91bnRzKQorCQkgICAgJiYgZG9fbW91bnRfYWRkaXRpb25hbChjeHQsIHRhcmdldCwgZmxhZ3MsIE5VTEwpKSB7CisKKwkJCS8qIFRPRE86IGNhbGwgdW1vdW50PyAqLworCQkJcmV0dXJuIC1NTlRfRVJSX0FQUExZRkxBR1M7CisJCX0KKwl9CisKKwlpZiAodHJ5X3R5cGUgJiYgY3h0LT51cGRhdGUpIHsKKwkJc3RydWN0IGxpYm1udF9mcyAqZnMgPSBtbnRfdXBkYXRlX2dldF9mcyhjeHQtPnVwZGF0ZSk7CisJCWlmIChmcykKKwkJCXJjID0gbW50X2ZzX3NldF9mc3R5cGUoZnMsIHRyeV90eXBlKTsKKwl9CisKKwlyZXR1cm4gcmM7Cit9CisKKy8qIHRyeSBtb3VudCgyKSBmb3IgYWxsIGl0ZW1zIGluIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIHRoZSBmaWxlc3lzdGVtIEB0eXBlcyAqLworc3RhdGljIGludCBkb19tb3VudF9ieV90eXBlcyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqdHlwZXMpCit7CisJaW50IHJjID0gLUVJTlZBTDsKKwljaGFyICpwLCAqcDA7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoKGN4dC0+ZmxhZ3MgJiBNTlRfRkxfTU9VTlRGTEFHU19NRVJHRUQpKTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInRyeWluZyB0byBtb3VudCBieSBGUyBsaXN0ICclcyciLCB0eXBlcykpOworCisJcDAgPSBwID0gc3RyZHVwKHR5cGVzKTsKKwlpZiAoIXApCisJCXJldHVybiAtRU5PTUVNOworCWRvIHsKKwkJY2hhciAqYXV0b3R5cGUgPSBOVUxMOworCQljaGFyICplbmQgPSBzdHJjaHIocCwgJywnKTsKKworCQlpZiAoZW5kKQorCQkJKmVuZCA9ICdcMCc7CisKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiLS0+dHJ5aW5nICclcyciLCBwKSk7CisKKwkJLyogTGV0J3Mgc3VwcG9ydCB0aGluZ3MgbGlrZSAidWRmLGlzbzk2NjAsYXV0byIgKi8KKwkJaWYgKHN0cmNtcChwLCAiYXV0byIpID09IDApIHsKKwkJCXJjID0gbW50X2NvbnRleHRfZ3Vlc3Nfc3JjcGF0aF9mc3R5cGUoY3h0LCAmYXV0b3R5cGUpOworCQkJaWYgKHJjKSB7CisJCQkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZmFpbGVkIHRvIGd1ZXNzIEZTIHR5cGUgW3JjPSVkXSIsIHJjKSk7CisJCQkJZnJlZShwMCk7CisJCQkJZnJlZShhdXRvdHlwZSk7CisJCQkJcmV0dXJuIHJjOworCQkJfQorCQkJcCA9IGF1dG90eXBlOworCQkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiICAgLS0+ICclcyciLCBwKSk7CisJCX0KKworCQlpZiAocCkKKwkJCXJjID0gZG9fbW91bnQoY3h0LCBwKTsKKwkJcCA9IGVuZCA/IGVuZCArIDEgOiBOVUxMOworCQlmcmVlKGF1dG90eXBlKTsKKwl9IHdoaWxlICghbW50X2NvbnRleHRfZ2V0X3N0YXR1cyhjeHQpICYmIHApOworCisJZnJlZShwMCk7CisJcmV0dXJuIHJjOworfQorCisKK3N0YXRpYyBpbnQgZG9fbW91bnRfYnlfcGF0dGVybihzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqcGF0dGVybikKK3sKKwlpbnQgbmVnID0gcGF0dGVybiAmJiBzdHJuY21wKHBhdHRlcm4sICJubyIsIDIpID09IDA7CisJaW50IHJjID0gLUVJTlZBTDsKKwljaGFyICoqZmlsZXN5c3RlbXMsICoqZnA7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoKGN4dC0+ZmxhZ3MgJiBNTlRfRkxfTU9VTlRGTEFHU19NRVJHRUQpKTsKKworCS8qCisJICogVXNlIHRoZSBwYXR0ZXJuIGFzIGxpc3Qgb2YgdGhlIGZpbGVzeXN0ZW1zCisJICovCisJaWYgKCFuZWcgJiYgcGF0dGVybikgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJ1c2UgRlMgcGF0dGVybiBhcyBGUyBsaXN0IikpOworCQlyZXR1cm4gZG9fbW91bnRfYnlfdHlwZXMoY3h0LCBwYXR0ZXJuKTsKKwl9CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJ0cnlpbmcgdG8gbW91bnQgYnkgRlMgcGF0dGVybiAnJXMnIiwgcGF0dGVybikpOworCisJLyoKKwkgKiBBcHBseSBwYXR0ZXJuIHRvIC9ldGMvZmlsZXN5c3RlbXMgYW5kIC9wcm9jL2ZpbGVzeXN0ZW1zCisJICovCisJcmMgPSBtbnRfZ2V0X2ZpbGVzeXN0ZW1zKCZmaWxlc3lzdGVtcywgbmVnID8gcGF0dGVybiA6IE5VTEwpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJaWYgKGZpbGVzeXN0ZW1zID09IE5VTEwpCisJCXJldHVybiAtTU5UX0VSUl9OT0ZTVFlQRTsKKworCWZvciAoZnAgPSBmaWxlc3lzdGVtczsgKmZwOyBmcCsrKSB7CisJCXJjID0gZG9fbW91bnQoY3h0LCAqZnApOworCQlpZiAobW50X2NvbnRleHRfZ2V0X3N0YXR1cyhjeHQpKQorCQkJYnJlYWs7CisJCWlmIChtbnRfY29udGV4dF9nZXRfc3lzY2FsbF9lcnJubyhjeHQpICE9IEVJTlZBTCAmJgorCQkgICAgbW50X2NvbnRleHRfZ2V0X3N5c2NhbGxfZXJybm8oY3h0KSAhPSBFTk9ERVYpCisJCQlicmVhazsKKwl9CisJbW50X2ZyZWVfZmlsZXN5c3RlbXMoZmlsZXN5c3RlbXMpOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9wcmVwYXJlX21vdW50OgorICogQGN4dDogY29udGV4dAorICoKKyAqIFByZXBhcmUgY29udGV4dCBmb3IgbW91bnRpbmcsIHVubmVjZXNzYXJ5IGZvciBtbnRfY29udGV4dF9tb3VudCgpLgorICoKKyAqIFJldHVybnM6IG5lZ2F0aXZlIG51bWJlciBvbiBlcnJvciwgemVybyBvbiBzdWNjZXNzCisgKi8KK2ludCBtbnRfY29udGV4dF9wcmVwYXJlX21vdW50KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWludCByYyA9IC1FSU5WQUw7CisKKwlpZiAoIWN4dCB8fCAhY3h0LT5mcyB8fCBtbnRfZnNfaXNfc3dhcGFyZWEoY3h0LT5mcykpCisJCXJldHVybiAtRUlOVkFMOworCWlmICghbW50X2ZzX2dldF9zb3VyY2UoY3h0LT5mcykgJiYgIW1udF9mc19nZXRfdGFyZ2V0KGN4dC0+ZnMpKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoY3h0LT5mbGFncyAmIE1OVF9GTF9QUkVQQVJFRCkKKwkJcmV0dXJuIDA7CisKKwlhc3NlcnQoY3h0LT5oZWxwZXJfZXhlY19zdGF0dXMgPT0gMSk7CisJYXNzZXJ0KGN4dC0+c3lzY2FsbF9zdGF0dXMgPT0gMSk7CisKKwljeHQtPmFjdGlvbiA9IE1OVF9BQ1RfTU9VTlQ7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJtb3VudDogcHJlcGFyaW5nIikpOworCisJcmMgPSBtbnRfY29udGV4dF9hcHBseV9mc3RhYihjeHQpOworCWlmICghcmMpCisJCXJjID0gbW50X2NvbnRleHRfbWVyZ2VfbWZsYWdzKGN4dCk7CisJaWYgKCFyYykKKwkJcmMgPSBldmFsdWF0ZV9wZXJtaXNzaW9ucyhjeHQpOworCWlmICghcmMpCisJCXJjID0gZml4X29wdHN0cihjeHQpOworCWlmICghcmMpCisJCXJjID0gbW50X2NvbnRleHRfcHJlcGFyZV9zcmNwYXRoKGN4dCk7CisJaWYgKCFyYykKKwkJcmMgPSBtbnRfY29udGV4dF9wcmVwYXJlX3RhcmdldChjeHQpOworCWlmICghcmMpCisJCXJjID0gbW50X2NvbnRleHRfZ3Vlc3NfZnN0eXBlKGN4dCk7CisJaWYgKCFyYykKKwkJcmMgPSBtbnRfY29udGV4dF9wcmVwYXJlX2hlbHBlcihjeHQsICJtb3VudCIsIE5VTEwpOworCWlmIChyYykgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJtb3VudDogcHJlcGFyaW5nIGZhaWxlZCIpKTsKKwkJcmV0dXJuIHJjOworCX0KKwljeHQtPmZsYWdzIHw9IE1OVF9GTF9QUkVQQVJFRDsKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfZG9fbW91bnQKKyAqIEBjeHQ6IGNvbnRleHQKKyAqCisgKiBDYWxsIG1vdW50KDIpIG9yIG1vdW50LnR5cGUgaGVscGVyLiBVbm5lY2Vzc2FyeSBmb3IgbW50X2NvbnRleHRfbW91bnQoKS4KKyAqCisgKiBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBjb3VsZCBiZSBjYWxsZWQgb25seSBvbmNlLiBJZiB5b3Ugd2FudCB0byBtb3VudAorICogYW5vdGhlciBzb3VyY2Ugb3IgdGFyZ2V0LCB0aGVuIHlvdSBoYXZlIHRvIGNhbGwgbW50X3Jlc2V0X2NvbnRleHQoKS4KKyAqCisgKiBJZiB5b3Ugd2FudCB0byBjYWxsIG1vdW50KDIpIGZvciB0aGUgc2FtZSBzb3VyY2UgYW5kIHRhcmdldCB3aXRoIGRpZmZlcmVudAorICogbW91bnQgZmxhZ3Mgb3IgZnN0eXBlLCB0aGVuIGNhbGwgbW50X2NvbnRleHRfcmVzZXRfc3RhdHVzKCkgYW5kIHRoZW4gdHJ5CisgKiBhZ2FpbiBtbnRfY29udGV4dF9kb19tb3VudCgpLgorICoKKyAqIFdBUk5JTkc6IG5vbi16ZXJvIHJldHVybiBjb2RlIGRvZXMgbm90IG1lYW4gdGhhdCBtb3VudCgyKSBzeXNjYWxsIG9yCisgKiAgICAgICAgICBtb3VudC50eXBlIGhlbHBlciB3YXNuJ3Qgc3VjY2Vzc2Z1bGx5IGNhbGxlZC4KKyAqCisgKiAgICAgICAgICBDaGVjayBtbnRfY29udGV4dF9nZXRfc3RhdHVzKCkgYWZ0ZXIgZXJyb3IhCisqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3M7CisgKiAgICAgICAgID4wIGluIGNhc2Ugb2YgbW91bnQoMikgZXJyb3IgKHJldHVybnMgc3lzY2FsbCBlcnJubyksCisgKiAgICAgICAgIDwwIGluIGNhc2Ugb2Ygb3RoZXIgZXJyb3JzLgorICovCitpbnQgbW50X2NvbnRleHRfZG9fbW91bnQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJY29uc3QgY2hhciAqdHlwZTsKKwlpbnQgcmVzOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+ZnMpOworCWFzc2VydChjeHQtPmhlbHBlcl9leGVjX3N0YXR1cyA9PSAxKTsKKwlhc3NlcnQoY3h0LT5zeXNjYWxsX3N0YXR1cyA9PSAxKTsKKwlhc3NlcnQoKGN4dC0+ZmxhZ3MgJiBNTlRfRkxfTU9VTlRGTEFHU19NRVJHRUQpKTsKKwlhc3NlcnQoKGN4dC0+ZmxhZ3MgJiBNTlRfRkxfUFJFUEFSRUQpKTsKKwlhc3NlcnQoKGN4dC0+YWN0aW9uID09IE1OVF9BQ1RfTU9VTlQpKTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIm1vdW50OiBkbyBtb3VudCIpKTsKKworCWlmICghKGN4dC0+ZmxhZ3MgJiBNTlRfRkxfTU9VTlREQVRBKSkKKwkJY3h0LT5tb3VudGRhdGEgPSAoY2hhciAqKSBtbnRfZnNfZ2V0X2ZzX29wdGlvbnMoY3h0LT5mcyk7CisKKwl0eXBlID0gbW50X2ZzX2dldF9mc3R5cGUoY3h0LT5mcyk7CisJaWYgKHR5cGUpIHsKKwkJaWYgKHN0cmNocih0eXBlLCAnLCcpKQorCQkJLyogdGhpcyBvbmx5IGhhcHBlbnMgaWYgZnN0YWIgY29udGFpbnMgYSBsaXN0IG9mIGZpbGVzeXN0ZW1zICovCisJCQlyZXMgPSBkb19tb3VudF9ieV90eXBlcyhjeHQsIHR5cGUpOworCQllbHNlCisJCQlyZXMgPSBkb19tb3VudChjeHQsIE5VTEwpOworCX0gZWxzZQorCQlyZXMgPSBkb19tb3VudF9ieV9wYXR0ZXJuKGN4dCwgY3h0LT5mc3R5cGVfcGF0dGVybik7CisKKyNpZiBVU0VfTElCTU9VTlRfU1VQUE9SVF9NVEFCCisJaWYgKG1udF9jb250ZXh0X2dldF9zdGF0dXMoY3h0KQorCSAgICAmJiAhbW50X2NvbnRleHRfaXNfZmFrZShjeHQpCisJICAgICYmICFjeHQtPmhlbHBlcikgeworCQkvKgorCQkgKiBNb3VudGVkIGJ5IG1vdW50KDIpLCBkbyBzb21lIHBvc3QtbW91bnQgY2hlY2tzCisJCSAqCisJCSAqIEtlcm5lbCBhbGxvd3MgdG8gdXNlIE1TX1JET05MWSBmb3IgYmluZCBtb3VudHMsIGJ1dCB0aGUKKwkJICogcmVhZC1vbmx5IHJlcXVlc3QgY291bGQgYmUgc2lsZW50bHkgaWdub3JlZC4gQ2hlY2sgaXQgdG8KKwkJICogYXZvaWQgJ3JvJyBpbiBtdGFiIGFuZCAncncnIGluIC9wcm9jL21vdW50cy4KKwkJICovCisJCWlmICgoY3h0LT5tb3VudGZsYWdzICYgTVNfQklORCkKKwkJICAgICYmIChjeHQtPm1vdW50ZmxhZ3MgJiBNU19SRE9OTFkpCisJCSAgICAmJiAhbW50X2lzX3JlYWRvbmx5KG1udF9jb250ZXh0X2dldF90YXJnZXQoY3h0KSkpCisKKwkJCW1udF9jb250ZXh0X3NldF9tZmxhZ3MoY3h0LAorCQkJCQljeHQtPm1vdW50ZmxhZ3MgJiB+TVNfUkRPTkxZKTsKKworCisJCS8qIEtlcm5lbCBjYW4gc2lsZW50bHkgYWRkIE1TX1JET05MWSBmbGFnIHdoZW4gbW91bnRpbmcgZmlsZQorCQkgKiBzeXN0ZW0gdGhhdCBkb2VzIG5vdCBoYXZlIHdyaXRlIHN1cHBvcnQuIENoZWNrIHRoaXMgdG8gYXZvaWQKKwkJICogJ3JvJyBpbiAvcHJvYy9tb3VudHMgYW5kICdydycgaW4gbXRhYi4KKwkJICovCisJCWlmICghKGN4dC0+bW91bnRmbGFncyAmIChNU19SRE9OTFkgfCBNU19NT1ZFKSkKKwkJICAgICYmICFtbnRfY29udGV4dF9wcm9wYWdhdGlvbl9vbmx5KGN4dCkKKwkJICAgICYmIG1udF9pc19yZWFkb25seShtbnRfY29udGV4dF9nZXRfdGFyZ2V0KGN4dCkpKQorCisJCQltbnRfY29udGV4dF9zZXRfbWZsYWdzKGN4dCwKKwkJCQkJY3h0LT5tb3VudGZsYWdzIHwgTVNfUkRPTkxZKTsKKwl9CisjZW5kaWYKKworCXJldHVybiByZXM7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfZmluYWxpemVfbW91bnQ6CisgKiBAY3h0OiBjb250ZXh0CisgKgorICogTXRhYiB1cGRhdGUsIGV0Yy4gVW5uZWNlc3NhcnkgZm9yIG1udF9jb250ZXh0X21vdW50KCksIGJ1dCBzaG91bGQgYmUgY2FsbGVkCisgKiBhZnRlciBtbnRfY29udGV4dF9kb19tb3VudCgpLiBTZWUgYWxzbyBtbnRfY29udGV4dF9zZXRfc3lzY2FsbF9zdGF0dXMoKS4KKyAqCisgKiBSZXR1cm5zOiBuZWdhdGl2ZSBudW1iZXIgb24gZXJyb3IsIDAgb24gc3VjY2Vzcy4KKyAqLworaW50IG1udF9jb250ZXh0X2ZpbmFsaXplX21vdW50KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWludCByYzsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmZzKTsKKwlhc3NlcnQoKGN4dC0+ZmxhZ3MgJiBNTlRfRkxfTU9VTlRGTEFHU19NRVJHRUQpKTsKKwlhc3NlcnQoKGN4dC0+ZmxhZ3MgJiBNTlRfRkxfUFJFUEFSRUQpKTsKKworCXJjID0gbW50X2NvbnRleHRfcHJlcGFyZV91cGRhdGUoY3h0KTsKKwlpZiAoIXJjKQorCQlyYyA9IG1udF9jb250ZXh0X3VwZGF0ZV90YWJzKGN4dCk7OworCXJldHVybiByYzsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9tb3VudDoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBIaWdoLWxldmVsLCBtb3VudHMgdGhlIGZpbGVzeXN0ZW0gYnkgbW91bnQoMikgb3IgZm9yaygpK2V4ZWMoL3NiaW4vbW91bnQudHlwZSkuCisgKgorICogVGhpcyBpcyBzaW1pbGFyIHRvOgorICoKKyAqCW1udF9jb250ZXh0X3ByZXBhcmVfbW91bnQoY3h0KTsKKyAqCW1udF9jb250ZXh0X2RvX21vdW50KGN4dCk7CisgKgltbnRfY29udGV4dF9maW5hbGl6ZV9tb3VudChjeHQpOworICoKKyAqIFNlZSBhbHNvIG1udF9jb250ZXh0X2Rpc2FibGVfaGVscGVycygpLgorICoKKyAqIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIHNob3VsZCBiZSBjYWxsZWQgb25seSBvbmNlLiBJZiB5b3Ugd2FudCB0byBtb3VudCB3aXRoCisgKiBkaWZmZXJlbnQgc2V0dGluZ3MsIHRoZW4geW91IGhhdmUgdG8gY2FsbCBtbnRfcmVzZXRfY29udGV4dCgpLiBJdCdzIE5PVCBlbm91Z2gKKyAqIHRvIGNhbGwgbW50X2NvbnRleHRfcmVzZXRfc3RhdHVzKCkuIElmIHlvdSB3YW50IHRvIGNhbGwgdGhpcyBmdW5jdGlvbiBtb3JlIHRoYW4KKyAqIG9uY2UsIHRoZSB3aG9sZSBjb250ZXh0IGhhcyB0byBiZSByZXNldC4KKyAqCisgKiBXQVJOSU5HOiBub24temVybyByZXR1cm4gY29kZSBkb2VzIG5vdCBtZWFuIHRoYXQgbW91bnQoMikgc3lzY2FsbCBvcgorICogICAgICAgICAgbW91bnQudHlwZSBoZWxwZXIgd2Fzbid0IHN1Y2Nlc3NmdWxseSBjYWxsZWQuCisgKgorICogICAgICAgICAgQ2hlY2sgbW50X2NvbnRleHRfZ2V0X3N0YXR1cygpIGFmdGVyIGVycm9yIQorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzczsKKyAqICAgICAgICAgPjAgaW4gY2FzZSBvZiBtb3VudCgyKSBlcnJvciAocmV0dXJucyBzeXNjYWxsIGVycm5vKSwKKyAqICAgICAgICAgPDAgaW4gY2FzZSBvZiBvdGhlciBlcnJvcnMuCisgKi8KK2ludCBtbnRfY29udGV4dF9tb3VudChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlpbnQgcmM7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5mcyk7CisJYXNzZXJ0KGN4dC0+aGVscGVyX2V4ZWNfc3RhdHVzID09IDEpOworCWFzc2VydChjeHQtPnN5c2NhbGxfc3RhdHVzID09IDEpOworCisJcmMgPSBtbnRfY29udGV4dF9wcmVwYXJlX21vdW50KGN4dCk7CisJaWYgKCFyYykKKwkJcmMgPSBtbnRfY29udGV4dF9wcmVwYXJlX3VwZGF0ZShjeHQpOworCWlmICghcmMpCisJCXJjID0gbW50X2NvbnRleHRfZG9fbW91bnQoY3h0KTsKKwlpZiAoIXJjKQorCQlyYyA9IG1udF9jb250ZXh0X3VwZGF0ZV90YWJzKGN4dCk7CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X25leHRfbW91bnQ6CisgKiBAY3h0OiBjb250ZXh0CisgKiBAaXRyOiBpdGVyYXRvcgorICogQGZzOiByZXR1cm5zIHRoZSBjdXJyZW50IGZpbGVzeXN0ZW0KKyAqIEBtbnRyYzogcmV0dXJucyB0aGUgcmV0dXJuIGNvZGUgZnJvbSBtbnRfY29udGV4dF9tb3VudCgpCisgKiBAaWdub3JlZDogcmV0dXJucyAxIGZvciBub24tbWF0Y2hpbmcgYW5kIDIgZm9yIGFscmVhZHkgbW91bnRlZCBmaWxlc3lzdGVtcworICoKKyAqIFRoaXMgZnVuY3Rpb24gdHJpZXMgdG8gbW91bnQgdGhlIG5leHQgZmlsZXN5c3RlbSBmcm9tIGZzdGFiIChhcyByZXR1cm5lZCBieQorICogbW50X2NvbnRleHRfZ2V0X2ZzdGFiKCkpLiBTZWUgYWxzbyBtbnRfY29udGV4dF9zZXRfZnN0YWIoKS4KKyAqCisgKiBZb3UgY2FuIGZpbHRlciBvdXQgZmlsZXN5c3RlbXMgYnk6CisgKgltbnRfY29udGV4dF9zZXRfb3B0aW9uc19wYXR0ZXJuKCkgdG8gc2ltdWxhdGUgbW91bnQgLWEgLU8gcGF0dGVybgorICoJbW50X2NvbnRleHRfc2V0X2ZzdHlwZV9wYXR0ZXJuKCkgIHRvIHNpbXVsYXRlIG1vdW50IC1hIC10IHBhdHRlcm4KKyAqCisgKiBJZiB0aGUgZmlsZXN5c3RlbSBpcyBhbHJlYWR5IG1vdW50ZWQgb3IgZG9lcyBub3QgbWF0Y2ggZGVmaW5lZCBjcml0ZXJpYSwKKyAqIHRoZW4gdGhlIG1udF9jb250ZXh0X25leHRfbW91bnQoKSBmdW5jdGlvbiByZXR1cm5zIHplcm8sIGJ1dCB0aGUgQGlnbm9yZWQgaXMKKyAqIG5vbi16ZXJvLiBOb3RlIHRoYXQgdGhlIHJvb3QgZmlsZXN5c3RlbSBhbmQgZmlsZXN5c3RlbXMgd2l0aCAibm9hdXRvIiBvcHRpb24KKyAqIGFyZSBhbHdheXMgaWdub3JlZC4KKyAqCisgKiBJZiBtb3VudCgyKSBzeXNjYWxsIG9yIG1vdW50LnR5cGUgaGVscGVyIGZhaWxlZCwgdGhlbiB0aGUKKyAqIG1udF9jb250ZXh0X25leHRfbW91bnQoKSBmdW5jdGlvbiByZXR1cm5zIHplcm8sIGJ1dCB0aGUgQG1udHJjIGlzIG5vbi16ZXJvLgorICogVXNlIGFsc28gbW50X2NvbnRleHRfZ2V0X3N0YXR1cygpIHRvIGNoZWNrIGlmIHRoZSBmaWxlc3lzdGVtIHdhcworICogc3VjY2Vzc2Z1bGx5IG1vdW50ZWQuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLAorICogICAgICAgICA8MCBpbiBjYXNlIG9mIGVycm9yICghPSBtb3VudCgyKSBlcnJvcnMpCisgKiAgICAgICAgICAxIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QuCisgKi8KK2ludCBtbnRfY29udGV4dF9uZXh0X21vdW50KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorCQkJICAgc3RydWN0IGxpYm1udF9pdGVyICppdHIsCisJCQkgICBzdHJ1Y3QgbGlibW50X2ZzICoqZnMsCisJCQkgICBpbnQgKm1udHJjLAorCQkJICAgaW50ICppZ25vcmVkKQoreworCXN0cnVjdCBsaWJtbnRfdGFibGUgKmZzdGFiLCAqbXRhYjsKKwljb25zdCBjaGFyICpvLCAqdGd0OworCWludCByYywgbW91bnRlZCA9IDA7CisKKwlpZiAoaWdub3JlZCkKKwkJKmlnbm9yZWQgPSAwOworCWlmIChtbnRyYykKKwkJKm1udHJjID0gMDsKKworCWlmICghY3h0IHx8ICFmcyB8fCAhaXRyKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW10YWIgPSBjeHQtPm10YWI7CisJY3h0LT5tdGFiID0gTlVMTDsJCS8qIGRvIG5vdCByZXNldCBtdGFiICovCisJbW50X3Jlc2V0X2NvbnRleHQoY3h0KTsKKwljeHQtPm10YWIgPSBtdGFiOworCisJcmMgPSBtbnRfY29udGV4dF9nZXRfZnN0YWIoY3h0LCAmZnN0YWIpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJcmMgPSBtbnRfdGFibGVfbmV4dF9mcyhmc3RhYiwgaXRyLCBmcyk7CisJaWYgKHJjICE9IDApCisJCXJldHVybiByYzsJLyogbW9yZSBmaWxlc3lzdGVtcyAob3IgZXJyb3IpICovCisKKwlvID0gbW50X2ZzX2dldF91c2VyX29wdGlvbnMoKmZzKTsKKwl0Z3QgPSBtbnRfZnNfZ2V0X3RhcmdldCgqZnMpOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAibmV4dC1tb3VudDogdHJ5aW5nICVzIiwgdGd0KSk7CisKKwkvKiAgaWdub3JlIHN3YXAgKi8KKwlpZiAobW50X2ZzX2lzX3N3YXBhcmVhKCpmcykgfHwKKworCS8qIGlnbm9yZSByb290IGZpbGVzeXN0ZW0gKi8KKwkgICAodGd0ICYmIChzdHJjbXAodGd0LCAiLyIpID09IDAgfHwgc3RyY21wKHRndCwgInJvb3QiKSA9PSAwKSkgfHwKKworCS8qIGlnbm9yZSBub2F1dG8gZmlsZXN5c3RlbXMgKi8KKwkgICAobyAmJiBtbnRfb3B0c3RyX2dldF9vcHRpb24obywgIm5vYXV0byIsIE5VTEwsIE5VTEwpID09IDApIHx8CisKKwkvKiBpZ25vcmUgZmlsZXN5c3RlbXMgd2hpY2ggZG9uJ3QgbWF0Y2ggb3B0aW9ucyBwYXR0ZXJucyAqLworCSAgIChjeHQtPmZzdHlwZV9wYXR0ZXJuICYmICFtbnRfZnNfbWF0Y2hfZnN0eXBlKCpmcywKKwkJCQkJY3h0LT5mc3R5cGVfcGF0dGVybikpIHx8CisKKwkvKiBpZ25vcmUgZmlsZXN5c3RlbXMgd2hpY2ggZG9uJ3QgbWF0Y2ggdHlwZSBwYXR0ZXJucyAqLworCSAgIChjeHQtPm9wdHN0cl9wYXR0ZXJuICYmICFtbnRfZnNfbWF0Y2hfb3B0aW9ucygqZnMsCisJCQkJCWN4dC0+b3B0c3RyX3BhdHRlcm4pKSkgeworCQlpZiAoaWdub3JlZCkKKwkJCSppZ25vcmVkID0gMTsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAibmV4dC1tb3VudDogbm90LW1hdGNoICIKKwkJCQkiW2ZzdHlwZTogJXMsIHQtcGF0dGVybjogJXMsIG9wdGlvbnM6ICVzLCBPLXBhdHRlcm46ICVzXSIsCisJCQkJbW50X2ZzX2dldF9mc3R5cGUoKmZzKSwKKwkJCQljeHQtPmZzdHlwZV9wYXR0ZXJuLAorCQkJCW1udF9mc19nZXRfb3B0aW9ucygqZnMpLAorCQkJCWN4dC0+b3B0c3RyX3BhdHRlcm4pKTsKKwkJcmV0dXJuIDA7CisJfQorCisJLyogaWdub3JlIGFscmVhZHkgbW91bnRlZCBmaWxlc3lzdGVtcyAqLworCXJjID0gbW50X2NvbnRleHRfaXNfZnNfbW91bnRlZChjeHQsICpmcywgJm1vdW50ZWQpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCWlmIChtb3VudGVkKSB7CisJCWlmIChpZ25vcmVkKQorCQkJKmlnbm9yZWQgPSAyOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAobW50X2NvbnRleHRfaXNfZm9yayhjeHQpKSB7CisJCXJjID0gbW50X2ZvcmtfY29udGV4dChjeHQpOworCQlpZiAocmMpCisJCQlyZXR1cm4gcmM7CQkvKiBmb3JrIGVycm9yICovCisKKwkJaWYgKG1udF9jb250ZXh0X2lzX3BhcmVudChjeHQpKSB7CisJCQlyZXR1cm4gMDsJCS8qIHBhcmVudCAqLworCQl9CisJfQorCisJLyogY2hpbGQgb3Igbm9uLWZvcmtlZCAqLworCisJcmMgPSBtbnRfY29udGV4dF9zZXRfZnMoY3h0LCAqZnMpOworCWlmICghcmMpIHsKKwkJcmMgPSBtbnRfY29udGV4dF9tb3VudChjeHQpOworCQlpZiAobW50cmMpCisJCQkqbW50cmMgPSByYzsKKwl9CisKKwlpZiAobW50X2NvbnRleHRfaXNfY2hpbGQoY3h0KSkgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJuZXh0LW1vdW50OiBjaGlsZCBleGl0IFtyYz0lZF0iLCByYykpOworCQlEQkdfRkxVU0g7CisJCWV4aXQocmMpOworCX0KKwlyZXR1cm4gMDsKK30KKwpkaWZmIC0tZ2l0IGEvbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmMgYi9saWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODc4N2RhCi0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmMKQEAgLTAsMCArMSwxMDE4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworLyoqCisgKiBTRUNUSU9OOiBjb250ZXh0LXVtb3VudAorICogQHRpdGxlOiBVbW91bnQgY29udGV4dAorICogQHNob3J0X2Rlc2NyaXB0aW9uOiBoaWdoLWxldmVsIEFQSSB0byB1bW91bnQgb3BlcmF0aW9uLgorICovCisKKyNpbmNsdWRlIDxzeXMvd2FpdC5oPgorI2luY2x1ZGUgPHN5cy9tb3VudC5oPgorCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAibG9vcGRldi5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAibW91bnRQLmgiCisKKy8qCisgKiB1bW91bnQyIGZsYWdzCisgKi8KKyNpZm5kZWYgTU5UX0ZPUkNFCisjIGRlZmluZSBNTlRfRk9SQ0UgICAgICAgIDB4MDAwMDAwMDEJLyogQXR0ZW1wdCB0byBmb3JjaWJseSB1bW91bnQgKi8KKyNlbmRpZgorCisjaWZuZGVmIE1OVF9ERVRBQ0gKKyMgZGVmaW5lIE1OVF9ERVRBQ0ggICAgICAgMHgwMDAwMDAwMgkvKiBKdXN0IGRldGFjaCBmcm9tIHRoZSB0cmVlICovCisjZW5kaWYKKworI2lmbmRlZiBVTU9VTlRfTk9GT0xMT1cKKyMgZGVmaW5lIFVNT1VOVF9OT0ZPTExPVyAgMHgwMDAwMDAwOAkvKiBEb24ndCBmb2xsb3cgc3ltbGluayBvbiB1bW91bnQgKi8KKyNlbmRpZgorCisjaWZuZGVmIFVNT1VOVF9VTlVTRUQKKyMgZGVmaW5lIFVNT1VOVF9VTlVTRUQgICAgMHg4MDAwMDAwMAkvKiBGbGFnIGd1YXJhbnRlZWQgdG8gYmUgdW51c2VkICovCisjZW5kaWYKKworLyoqCisgKiBtbnRfY29udGV4dF9maW5kX3Vtb3VudF9mczoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqIEB0Z3Q6IG1vdW50cG9pbnQsIGRldmljZSwgLi4uCisgKiBAcGZzOiByZXR1cm5zIHBvaW50IHRvIGZpbGVzeXN0ZW0KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLCAxIGlmIHRhcmdldCBmaWxlc3lzdGVtIG5vdCBmb3VuZAorICovCitpbnQgbW50X2NvbnRleHRfZmluZF91bW91bnRfZnMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsCisJCQkgICAgICAgY29uc3QgY2hhciAqdGd0LAorCQkJICAgICAgIHN0cnVjdCBsaWJtbnRfZnMgKipwZnMpCit7CisJaW50IHJjOworCXN0cnVjdCBsaWJtbnRfdGFibGUgKm10YWIgPSBOVUxMOworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCWNoYXIgKmxvb3BkZXYgPSBOVUxMOworCisJaWYgKHBmcykKKwkJKnBmcyA9IE5VTEw7CisKKwlpZiAoIWN4dCB8fCAhdGd0IHx8ICFwZnMpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAidW1vdW50OiBsb29rdXAgRlMgZm9yICclcyciLCB0Z3QpKTsKKworCWlmICghKnRndCkKKwkJcmV0dXJuIDE7IC8qIGVtcHR5IHN0cmluZyBpcyBub3QgYW4gZXJyb3IgKi8KKworCS8qCisJICogVGhlIG1vdW50IHRhYmxlIG1heSBiZSBodWdlLCBhbmQgb24gc3lzdGVtcyB3aXRoIHV0YWIgd2UgaGF2ZSB0byBtZXJnZQorCSAqIHVzZXJzcGFjZSBtb3VudCBvcHRpb25zIGludG8gL3Byb2Mvc2VsZi9tb3VudGluZm8uIFRoaXMgYWxsIGlzCisJICogZXhwZW5zaXZlLiBUaGUgdGFiIGZpbHRlciBhbGxvd3MgdG8gZmlsdGVyIG91dCBlbnRyaWVzLCB0aGVuCisJICogYSBtb3VudCB0YWJsZSBhbmQgdXRhYiBhcmUgdmVyeSB0aW55IGZpbGVzLgorCSAqCisJICogKmJ1dCouLi4gdGhlIGZpbHRlciB1c2VzIG1udF9mc19zdHJlcV97dGFyZ2V0LHNyY3BhdGh9IGZ1bmN0aW9ucworCSAqIHdoZXJlIExBQkVMLCBVVUlEIG9yIHN5bWxpbmtzIGFyZSBjYW5vbmljYWxpemVkLiBJdCBtZWFucyB0aGF0CisJICogaXQncyB1c2FibGUgb25seSBmb3IgY2Fub25pY2FsaXplZCBzdHVmZiAoZS5nLiBrZXJuZWwgbW91bnRpbmZvKS4KKwkgKi8KKwlpZiAoIW1udF9jb250ZXh0X210YWJfd3JpdGFibGUoY3h0KSAmJiAqdGd0ID09ICcvJyAmJgorCSAgICAhbW50X2NvbnRleHRfaXNfZm9yY2UoY3h0KSAmJiAhbW50X2NvbnRleHRfaXNfbGF6eShjeHQpKQorCQlyYyA9IG1udF9jb250ZXh0X2dldF9tdGFiX2Zvcl90YXJnZXQoY3h0LCAmbXRhYiwgdGd0KTsKKwllbHNlCisJCXJjID0gbW50X2NvbnRleHRfZ2V0X210YWIoY3h0LCAmbXRhYik7CisKKwlpZiAocmMpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAidW1vdW50OiBmYWlsZWQgdG8gcmVhZCBtdGFiIikpOworCQlyZXR1cm4gcmM7CisJfQorCisJaWYgKG1udF90YWJsZV9nZXRfbmVudHMobXRhYikgPT0gMCkgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJ1bW91bnQ6IG10YWIgZW1wdHkiKSk7CisJCXJldHVybiAxOworCX0KKwordHJ5X2xvb3BkZXY6CisJZnMgPSBtbnRfdGFibGVfZmluZF90YXJnZXQobXRhYiwgdGd0LCBNTlRfSVRFUl9CQUNLV0FSRCk7CisJaWYgKCFmcyAmJiBtbnRfY29udGV4dF9pc19zd2FwbWF0Y2goY3h0KSkgeworCQkvKgorCQkgKiBNYXliZSB0aGUgb3B0aW9uIGlzIHNvdXJjZSByYXRoZXIgdGhhbiB0YXJnZXQgKHNvbWV0aW1lcworCQkgKiBwZW9wbGUgdXNlIGUuZy4gInVtb3VudCAvZGV2L3NkYTEiKQorCQkgKi8KKwkJZnMgPSBtbnRfdGFibGVfZmluZF9zb3VyY2UobXRhYiwgdGd0LCBNTlRfSVRFUl9CQUNLV0FSRCk7CisKKwkJaWYgKGZzKSB7CisJCQlzdHJ1Y3QgbGlibW50X2ZzICpmczEgPSBtbnRfdGFibGVfZmluZF90YXJnZXQobXRhYiwKKwkJCQkJCQltbnRfZnNfZ2V0X3RhcmdldChmcyksCisJCQkJCQkJTU5UX0lURVJfQkFDS1dBUkQpOworCQkJaWYgKCFmczEpIHsKKwkJCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJtdGFiIGlzIGJyb2tlbj8hPyEiKSk7CisJCQkJcmMgPSAtRUlOVkFMOworCQkJCWdvdG8gZXJyOworCQkJfQorCQkJaWYgKGZzICE9IGZzMSkgeworCQkJCS8qIFNvbWV0aGluZyB3YXMgc3RhY2tlZCBvdmVyIGBmaWxlJyBvbiB0aGUKKwkJCQkgKiBzYW1lIG1vdW50IHBvaW50LiAqLworCQkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwKKwkJCQkJCSJ1bW91bnQ6ICVzOiAlcyBpcyBtb3VudGVkICIKKwkJCQkJCSJvdmVyIGl0IG9uIHRoZSBzYW1lIHBvaW50IiwKKwkJCQkJCXRndCwgbW50X2ZzX2dldF9zb3VyY2UoZnMxKSkpOworCQkJCXJjID0gLUVJTlZBTDsKKwkJCQlnb3RvIGVycjsKKwkJCX0KKwkJfQorCX0KKworCWlmICghZnMgJiYgIWxvb3BkZXYgJiYgbW50X2NvbnRleHRfaXNfc3dhcG1hdGNoKGN4dCkpIHsKKwkJLyoKKwkJICogTWF5YmUgdGhlIG9wdGlvbiBpcyAvcGF0aC9maWxlLmltZywgdHJ5IHRvIGNvbnZlcnQgdG8gL2Rldi9sb29wTgorCQkgKi8KKwkJc3RydWN0IHN0YXQgc3Q7CisKKwkJaWYgKG1udF9zdGF0X21vdW50cG9pbnQodGd0LCAmc3QpID09IDAgJiYgU19JU1JFRyhzdC5zdF9tb2RlKSkgeworCQkJaW50IGNvdW50OworCQkJc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUgPSBtbnRfY29udGV4dF9nZXRfY2FjaGUoY3h0KTsKKwkJCWNvbnN0IGNoYXIgKmJmID0gY2FjaGUgPyBtbnRfcmVzb2x2ZV9wYXRoKHRndCwgY2FjaGUpIDogdGd0OworCisJCQljb3VudCA9IGxvb3BkZXZfY291bnRfYnlfYmFja2luZ19maWxlKGJmLCAmbG9vcGRldik7CisJCQlpZiAoY291bnQgPT0gMSkgeworCQkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwKKwkJCQkJInVtb3VudDogJXMgLS0+ICVzIChyZXRyeSkiLCB0Z3QsIGxvb3BkZXYpKTsKKwkJCQl0Z3QgPSBsb29wZGV2OworCQkJCWdvdG8gdHJ5X2xvb3BkZXY7CisKKwkJCX0gZWxzZSBpZiAoY291bnQgPiAxKQorCQkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwKKwkJCQkJInVtb3VudDogd2FybmluZzogJXMgaXMgYXNzb2NpYXRlZCAiCisJCQkJCSJ3aXRoIG1vcmUgdGhhbiBvbmUgbG9vcGRldiIsIHRndCkpOworCQl9CisJfQorCisJaWYgKHBmcykKKwkJKnBmcyA9IGZzOworCWZyZWUobG9vcGRldik7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJ1bW91bnQgZnM6ICVzIiwgZnMgPyBtbnRfZnNfZ2V0X3RhcmdldChmcykgOgorCQkJCQkJCSI8bm90IGZvdW5kPiIpKTsKKwlyZXR1cm4gZnMgPyAwIDogMTsKK2VycjoKKwlmcmVlKGxvb3BkZXYpOworCXJldHVybiByYzsKK30KKworLyogQ2hlY2sgaWYgdGhlcmUgaXMgc29tZXRoaW5nIGltcG9ydGFudCBpbiB0aGUgdXRhYiBmaWxlLiBUaGUgcGFyc2VkIHV0YWIgaXMKKyAqIHN0b3JlZCBpbiBjb250ZXh0LT51dGFiIGFuZCBkZWFsbG9jYXRlZCBieSBtbnRfZnJlZV9jb250ZXh0KCkuCisgKgorICogVGhpcyBmdW5jdGlvbiBleGlzdHMgdG8gYXZvaWQgKGlmIHBvc3NpYmxlKSAvcHJvYy9zZWxmL21vdW50aW5mbyB1c2FnZSwgc28KKyAqIGRvbid0IHVzZSB0aGluZ3MgbGlrZSBtbnRfcmVzb2x2ZV90YXJnZXQoKSwgbW50X2NvbnRleHRfZ2V0X210YWIoKSBldGMgaGVyZS4KKyAqIFNlZSBsb29rdXBfdW1vdW50X2ZzKCkgZm9yIG1vcmUgZGV0YWlscy4KKyAqLworc3RhdGljIGludCBoYXNfdXRhYl9lbnRyeShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqdGFyZ2V0KQoreworCXN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlID0gTlVMTDsKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgaXRyOworCWNoYXIgKmNuID0gTlVMTDsKKwlpbnQgcmMgPSAwOworCisJYXNzZXJ0KGN4dCk7CisKKwlpZiAoIWN4dC0+dXRhYikgeworCQljb25zdCBjaGFyICpwYXRoID0gbW50X2dldF91dGFiX3BhdGgoKTsKKworCQlpZiAoIXBhdGggfHwgaXNfZmlsZV9lbXB0eShwYXRoKSkKKwkJCXJldHVybiAwOworCQljeHQtPnV0YWIgPSBtbnRfbmV3X3RhYmxlKCk7CisJCWlmICghY3h0LT51dGFiKQorCQkJcmV0dXJuIDA7CisJCWN4dC0+dXRhYi0+Zm10ID0gTU5UX0ZNVF9VVEFCOworCQlpZiAobW50X3RhYmxlX3BhcnNlX2ZpbGUoY3h0LT51dGFiLCBwYXRoKSkKKwkJCXJldHVybiAwOworCX0KKworCS8qIHBhdGhzIGluIHV0YWIgYXJlIGNhbm9uaWNhbGl6ZWQgKi8KKwljYWNoZSA9IG1udF9jb250ZXh0X2dldF9jYWNoZShjeHQpOworCWNuID0gbW50X3Jlc29sdmVfcGF0aCh0YXJnZXQsIGNhY2hlKTsKKwltbnRfcmVzZXRfaXRlcigmaXRyLCBNTlRfSVRFUl9CQUNLV0FSRCk7CisKKwl3aGlsZSAobW50X3RhYmxlX25leHRfZnMoY3h0LT51dGFiLCAmaXRyLCAmZnMpID09IDApIHsKKwkJaWYgKG1udF9mc19zdHJlcV90YXJnZXQoZnMsIGNuKSkgeworCQkJcmMgPSAxOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlpZiAoIWNhY2hlKQorCQlmcmVlKGNuKTsKKworCXJldHVybiByYzsKK30KKworLyogdGhpcyBpcyB1bW91bnQgcmVwbGFjZW1lbnQgdG8gbW50X2NvbnRleHRfYXBwbHlfZnN0YWIoKSwgdXNlCisgKiBtbnRfY29udGV4dF90YWJfYXBwbGllZCgpIHRvIGNoZWNrIHJlc3VsdC4KKyAqLworc3RhdGljIGludCBsb29rdXBfdW1vdW50X2ZzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWNvbnN0IGNoYXIgKnRndDsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwlzdHJ1Y3QgbGlibW50X2ZzICpmcyA9IE5VTEw7CisJaW50IHJjID0gMDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmZzKTsKKworCXRndCA9IG1udF9mc19nZXRfdGFyZ2V0KGN4dC0+ZnMpOworCWlmICghdGd0KSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInVtb3VudDogdW5kZWZpbmVkIHRhcmdldCIpKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJLyoKKwkgKiBMZXQncyB0cnkgdG8gYXZvaWQgbW91bnRpbmZvIHVzYWdlIGF0IGFsbCB0byBtaW5pbWl6ZSBwZXJmb3JtYW5jZQorCSAqIGRlZ3JhZGF0aW9uLiBEb24ndCBmb3JnZXQgdGhhdCBrZXJuZWwgaGFzIHRvIGNvbXBvc2UgKndob2xlKgorCSAqIG1vdW50aW5mbyBhYm91dCBhbGwgbW91bnRwb2ludHMgYWx0aG91Z2ggd2UgbG9vayBmb3Igb25seSBvbmUgZW50cnkuCisJICoKKwkgKiBBbGwgd2UgbmVlZCBpcyBmc3R5cGUgYW5kIHRvIGNoZWNrIGlmIHRoZXJlIGlzIG5vIHVzZXJzcGFjZSBtb3VudAorCSAqIG9wdGlvbnMgZm9yIHRoZSB0YXJnZXQgKGUuZy4gaGVscGVyPXVkaXNrcyB0byBjYWxsIC9zYmluL3Vtb3VudC51ZGlza3MpLgorCSAqCisJICogU28sIGxldCdzIHVzZSBzdGF0ZnMoKSBpZiBwb3NzaWJsZSAoaXQncyBiYWQgaWRlYSBmb3IgLS1sYXp5Ly0tZm9yY2UKKwkgKiB1bW91bnRzIGFzIHRhcmdldCBpcyBwcm9iYWJseSB1bnJlYWNoYWJsZSBORlMsIGFsc28gZm9yIC0tZGV0YWNoLWxvb3AKKwkgKiBhcyB0aGlzIGFkZGl0aW9uYWxseSBuZWVkcyB0byBrbm93IHRoZSBuYW1lIG9mIHRoZSBsb29wIGRldmljZSkuCisJICovCisJaWYgKCFtbnRfY29udGV4dF9pc19yZXN0cmljdGVkKGN4dCkKKwkgICAgJiYgKnRndCA9PSAnLycKKwkgICAgJiYgIShjeHQtPmZsYWdzICYgTU5UX0ZMX0hFTFBFUikKKwkgICAgJiYgIW1udF9jb250ZXh0X210YWJfd3JpdGFibGUoY3h0KQorCSAgICAmJiAhbW50X2NvbnRleHRfaXNfZm9yY2UoY3h0KQorCSAgICAmJiAhbW50X2NvbnRleHRfaXNfbGF6eShjeHQpCisJICAgICYmICFtbnRfY29udGV4dF9pc19sb29wZGVsKGN4dCkKKwkgICAgJiYgbW50X3N0YXRfbW91bnRwb2ludCh0Z3QsICZzdCkgPT0gMCAmJiBTX0lTRElSKHN0LnN0X21vZGUpCisJICAgICYmICFoYXNfdXRhYl9lbnRyeShjeHQsIHRndCkpIHsKKworCQljb25zdCBjaGFyICp0eXBlID0gbW50X2ZzX2dldF9mc3R5cGUoY3h0LT5mcyk7CisKKwkJLyogIW1udF9jb250ZXh0X210YWJfd3JpdGFibGUoY3h0KSAmJiBoYXNfdXRhYl9lbnRyeSgpIHZlcmlmaWVkIHRoYXQgdGhlcmUKKwkJICogaXMgbm8gc3R1ZmYgaW4gdXRhYiwgc28gZGlzYWJsZSBhbGwgbXRhYi91dGFiIHJlbGF0ZWQgYWN0aW9ucyAqLworCQltbnRfY29udGV4dF9kaXNhYmxlX210YWIoY3h0LCBUUlVFKTsKKworCQlpZiAoIXR5cGUpIHsKKwkJCXN0cnVjdCBzdGF0ZnMgdmZzOworCQkJaWYgKHN0YXRmcyh0Z3QsICZ2ZnMpID09IDApCisJCQkJdHlwZSA9IG1udF9zdGF0ZnNfZ2V0X2ZzdHlwZSgmdmZzKTsKKwkJCWlmICh0eXBlKSB7CisJCQkJcmMgPSBtbnRfZnNfc2V0X2ZzdHlwZShjeHQtPmZzLCB0eXBlKTsKKwkJCQlpZiAocmMpCisJCQkJCXJldHVybiByYzsKKwkJCX0KKwkJfQorCQlpZiAodHlwZSkgeworCQkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LAorCQkJCSJ1bW91bnQ6IG1vdW50aW5mbyB1bm5lY2Vzc2FyeSBbdHlwZT0lc10iLCB0eXBlKSk7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0KKworCXJjID0gbW50X2NvbnRleHRfZmluZF91bW91bnRfZnMoY3h0LCB0Z3QsICZmcyk7CisJaWYgKHJjIDwgMCkKKwkJcmV0dXJuIHJjOworCisJaWYgKHJjID09IDEgfHwgIWZzKSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInVtb3VudDogY2Fubm90IGZpbmQgJyVzJyBpbiBtdGFiIiwgdGd0KSk7CisJCXJldHVybiAwOwkvKiB0aGlzIGlzIGNvcnJlY3QhICovCisJfQorCisJaWYgKGZzICE9IGN4dC0+ZnMpIHsKKwkJLyogY29weSBmcm9tIG10YWIgdG8gb3VyIEZTIGRlc2NyaXB0aW9uCisJCSAqLworCQltbnRfZnNfc2V0X3NvdXJjZShjeHQtPmZzLCBOVUxMKTsKKwkJbW50X2ZzX3NldF90YXJnZXQoY3h0LT5mcywgTlVMTCk7CisKKwkJaWYgKCFtbnRfY29weV9mcyhjeHQtPmZzLCBmcykpIHsKKwkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInVtb3VudDogZmFpbGVkIHRvIGNvcHkgRlMiKSk7CisJCQlyZXR1cm4gLWVycm5vOworCQl9CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInVtb3VudDogbXRhYiBhcHBsaWVkIikpOworCX0KKworCWN4dC0+ZmxhZ3MgfD0gTU5UX0ZMX1RBQl9BUFBMSUVEOworCXJldHVybiByYzsKK30KKworLyogY2hlY2sgaWYgQGRldm5hbWUgaXMgbG9vcGRldiBhbmQgaWYgdGhlIGRldmljZSBpcyBhc3NvY2lhdGVkCisgKiB3aXRoIGEgc291cmNlIGZyb20gQGZzdGFiX2ZzCisgKi8KK3N0YXRpYyBpbnQgaXNfYXNzb2NpYXRlZF9mcyhjb25zdCBjaGFyICpkZXZuYW1lLCBzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwl1aW50bWF4X3Qgb2Zmc2V0ID0gMDsKKwljb25zdCBjaGFyICpzcmM7CisJY2hhciAqdmFsLCAqb3B0c3RyOworCXNpemVfdCB2YWxzejsKKwlpbnQgZmxhZ3MgPSAwOworCisJLyogY2hlY2sgaWYgaXQgYmVnaW5zIHdpdGggL2Rldi9sb29wICovCisJaWYgKHN0cm5jbXAoZGV2bmFtZSwgX1BBVEhfREVWX0xPT1AsIHNpemVvZihfUEFUSF9ERVZfTE9PUCkgLSAxKSkKKwkJcmV0dXJuIDA7CisKKwlzcmMgPSBtbnRfZnNfZ2V0X3NyY3BhdGgoZnMpOworCWlmICghc3JjKQorCQlyZXR1cm4gMDsKKworCS8qIGNoZWNrIGZvciB0aGUgb2Zmc2V0IG9wdGlvbiBpbiBAZnMgKi8KKwlvcHRzdHIgPSAoY2hhciAqKSBtbnRfZnNfZ2V0X3VzZXJfb3B0aW9ucyhmcyk7CisKKwlpZiAob3B0c3RyICYmCisJICAgIG1udF9vcHRzdHJfZ2V0X29wdGlvbihvcHRzdHIsICJvZmZzZXQiLCAmdmFsLCAmdmFsc3opID09IDApIHsKKwkJZmxhZ3MgfD0gTE9PUERFVl9GTF9PRkZTRVQ7CisKKwkJaWYgKG1udF9wYXJzZV9vZmZzZXQodmFsLCB2YWxzeiwgJm9mZnNldCkgIT0gMCkKKwkJCXJldHVybiAwOworCX0KKworCXJldHVybiBsb29wZGV2X2lzX3VzZWQoZGV2bmFtZSwgc3JjLCBvZmZzZXQsIDAsIGZsYWdzKTsKK30KKworc3RhdGljIGludCBwcmVwYXJlX2hlbHBlcl9mcm9tX29wdGlvbnMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsCisJCQkJICAgICAgIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJY2hhciAqc3VmZml4ID0gTlVMTDsKKwljb25zdCBjaGFyICpvcHRzOworCXNpemVfdCB2YWxzejsKKworCWlmIChtbnRfY29udGV4dF9pc19ub2hlbHBlcnMoY3h0KSkKKwkJcmV0dXJuIDA7CisKKwlvcHRzID0gbW50X2ZzX2dldF91c2VyX29wdGlvbnMoY3h0LT5mcyk7CisJaWYgKCFvcHRzKQorCQlyZXR1cm4gMDsKKworCWlmIChtbnRfb3B0c3RyX2dldF9vcHRpb24ob3B0cywgbmFtZSwgJnN1ZmZpeCwgJnZhbHN6KSkKKwkJcmV0dXJuIDA7CisKKwlzdWZmaXggPSBzdHJuZHVwKHN1ZmZpeCwgdmFsc3opOworCWlmICghc3VmZml4KQorCQlyZXR1cm4gLUVOT01FTTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInVtb3VudDogdW1vdW50LiVzICVzIHJlcXVlc3RlZCIsIHN1ZmZpeCwgbmFtZSkpOworCisJcmV0dXJuIG1udF9jb250ZXh0X3ByZXBhcmVfaGVscGVyKGN4dCwgInVtb3VudCIsIHN1ZmZpeCk7Cit9CisKKy8qCisgKiBOb3RlIHRoYXQgY3h0LT5mcyBjb250YWlucyByZWxldmFudCBtdGFiIGVudHJ5IQorICovCitzdGF0aWMgaW50IGV2YWx1YXRlX3Blcm1pc3Npb25zKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBsaWJtbnRfdGFibGUgKmZzdGFiOworCXVuc2lnbmVkIGxvbmcgdV9mbGFncyA9IDA7CisJY29uc3QgY2hhciAqdGd0LCAqc3JjLCAqb3B0c3RyOworCWludCByYywgb2sgPSAwOworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+ZnMpOworCWFzc2VydCgoY3h0LT5mbGFncyAmIE1OVF9GTF9NT1VOVEZMQUdTX01FUkdFRCkpOworCisJaWYgKCFtbnRfY29udGV4dF9pc19yZXN0cmljdGVkKGN4dCkpCisJCSByZXR1cm4gMDsJCS8qIHN1cGVydXNlciBtb3VudCAqLworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAidW1vdW50OiBldmFsdWF0aW5nIHBlcm1pc3Npb25zIikpOworCisJaWYgKCFtbnRfY29udGV4dF90YWJfYXBwbGllZChjeHQpKSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwKKwkJCQkiY2Fubm90IGZpbmQgJXMgaW4gbXRhYiBhbmQgeW91IGFyZSBub3Qgcm9vdCIsCisJCQkJbW50X2ZzX2dldF90YXJnZXQoY3h0LT5mcykpKTsKKwkJZ290byBlcGVybTsKKwl9CisKKwlpZiAoY3h0LT51c2VyX21vdW50ZmxhZ3MgJiBNTlRfTVNfVUhFTFBFUikgeworCQkvKiBvbiB1aGVscGVyPSBtb3VudCBvcHRpb24gYmFzZWQgaGVscGVyICovCisJCXJjID0gcHJlcGFyZV9oZWxwZXJfZnJvbV9vcHRpb25zKGN4dCwgInVoZWxwZXIiKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCQlpZiAoY3h0LT5oZWxwZXIpCisJCQlyZXR1cm4gMDsJLyogd2UnbGwgY2FsbCAvc2Jpbi91bW91bnQuPHVoZWxwZXI+ICovCisJfQorCisJLyoKKwkgKiBVc2VyIG1vdW50cyBoYXZlIHRvIGJlIGluIC9ldGMvZnN0YWIKKwkgKi8KKwlyYyA9IG1udF9jb250ZXh0X2dldF9mc3RhYihjeHQsICZmc3RhYik7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwl0Z3QgPSBtbnRfZnNfZ2V0X3RhcmdldChjeHQtPmZzKTsKKwlzcmMgPSBtbnRfZnNfZ2V0X3NvdXJjZShjeHQtPmZzKTsKKworCWlmIChtbnRfZnNfZ2V0X2JpbmRzcmMoY3h0LT5mcykpIHsKKwkJc3JjID0gbW50X2ZzX2dldF9iaW5kc3JjKGN4dC0+ZnMpOworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsCisJCQkJInVtb3VudDogdXNpbmcgYmluZCBzb3VyY2U6ICVzIiwgc3JjKSk7CisJfQorCisJLyogSWYgZnN0YWIgY29udGFpbnMgdGhlIHR3byBsaW5lcworCSAqCS9kZXYvc2RhMSAvbW50L3ppcCBhdXRvIHVzZXIsbm9hdXRvICAwIDAKKwkgKgkvZGV2L3NkYTQgL21udC96aXAgYXV0byB1c2VyLG5vYXV0byAgMCAwCisJICogdGhlbiAibW91bnQgL2Rldi9zZGE0IiBmb2xsb3dlZCBieSAidW1vdW50IC9tbnQvemlwIiB1c2VkIHRvIGZhaWwuCisJICogU28sIHdlIG11c3Qgbm90IGxvb2sgZm9yIHRoZSBmaWxlLCBidXQgZm9yIHRoZSBwYWlyIChkZXYsZmlsZSkgaW4gZnN0YWIuCisJICAqLworCWZzID0gbW50X3RhYmxlX2ZpbmRfcGFpcihmc3RhYiwgc3JjLCB0Z3QsIE1OVF9JVEVSX0ZPUldBUkQpOworCWlmICghZnMpIHsKKwkJLyoKKwkJICogSXQncyBwb3NzaWJsZSB0aGF0IHRoZXJlIGlzIC9wYXRoL2ZpbGUuaW1nIGluIGZzdGFiIGFuZAorCQkgKiAvZGV2L2xvb3AwIGluIG10YWIgLS0gdGhlbiB3ZSBoYXZlIHRvIGNoZWNrIHRoZSByZWxhdGlvbgorCQkgKiBiZXR3ZWVuIGxvb3BkZXYgYW5kIHRoZSBmaWxlLgorCQkgKi8KKwkJZnMgPSBtbnRfdGFibGVfZmluZF90YXJnZXQoZnN0YWIsIHRndCwgTU5UX0lURVJfRk9SV0FSRCk7CisJCWlmIChmcykgeworCQkJc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUgPSBtbnRfY29udGV4dF9nZXRfY2FjaGUoY3h0KTsKKwkJCWNvbnN0IGNoYXIgKnNwID0gbW50X2ZzX2dldF9zcmNwYXRoKGN4dC0+ZnMpOwkJLyogZGV2bmFtZSBmcm9tIG10YWIgKi8KKwkJCWNvbnN0IGNoYXIgKmRldiA9IHNwICYmIGNhY2hlID8gbW50X3Jlc29sdmVfcGF0aChzcCwgY2FjaGUpIDogc3A7CisKKwkJCWlmICghZGV2IHx8ICFpc19hc3NvY2lhdGVkX2ZzKGRldiwgZnMpKQorCQkJCWZzID0gTlVMTDsKKwkJfQorCQlpZiAoIWZzKSB7CisJCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsCisJCQkJCSJ1bW91bnQgJXM6IG10YWIgZGlzYWdyZWVzIHdpdGggZnN0YWIiLAorCQkJCQl0Z3QpKTsKKwkJCWdvdG8gZXBlcm07CisJCX0KKwl9CisKKwkvKgorCSAqIFVzZXIgbW91bnRpbmcgYW5kIHVubW91bnRpbmcgaXMgYWxsb3dlZCBvbmx5IGlmIGZzdGFiIGNvbnRhaW5zIG9uZQorCSAqIG9mIHRoZSBvcHRpb25zIGB1c2VyJywgYHVzZXJzJyBvciBgb3duZXInIG9yIGBncm91cCcuCisJICoKKwkgKiBUaGUgb3B0aW9uIGB1c2VycycgYWxsb3dzIGFyYml0cmFyeSB1c2VycyB0byBtb3VudCBhbmQgdW5tb3VudCAtCisJICogdGhpcyBtYXkgYmUgYSBzZWN1cml0eSByaXNrLgorCSAqCisJICogVGhlIG9wdGlvbnMgYHVzZXInLCBgb3duZXInIGFuZCBgZ3JvdXAnIG9ubHkgYWxsb3cgdW5tb3VudGluZyBieSB0aGUKKwkgKiB1c2VyIHRoYXQgbW91bnRlZCAodmlzaWJsZSBpbiBtdGFiKS4KKwkgKi8KKwlvcHRzdHIgPSBtbnRfZnNfZ2V0X3VzZXJfb3B0aW9ucyhmcyk7CS8qIEZTVEFCIG1vdW50IG9wdGlvbnMhICovCisJaWYgKCFvcHRzdHIpCisJCWdvdG8gZXBlcm07CisKKwlpZiAobW50X29wdHN0cl9nZXRfZmxhZ3Mob3B0c3RyLCAmdV9mbGFncywKKwkJCQltbnRfZ2V0X2J1aWx0aW5fb3B0bWFwKE1OVF9VU0VSU1BBQ0VfTUFQKSkpCisJCWdvdG8gZXBlcm07CisKKwlpZiAodV9mbGFncyAmIE1OVF9NU19VU0VSUykgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsCisJCQkidW1vdW50OiBwcm9taXNjdW91cyBzZXR0aW5nICgndXNlcnMnKSBpbiBmc3RhYiIpKTsKKwkJcmV0dXJuIDA7CisJfQorCS8qCisJICogQ2hlY2sgdXNlcj08dXNlcm5hbWU+IHNldHRpbmcgZnJvbSBtdGFiIGlmIHRoZXJlIGlzIGEgdXNlciwgb3duZXIgb3IKKwkgKiBncm91cCBvcHRpb24gaW4gL2V0Yy9mc3RhYgorCSAqLworCWlmICh1X2ZsYWdzICYgKE1OVF9NU19VU0VSIHwgTU5UX01TX09XTkVSIHwgTU5UX01TX0dST1VQKSkgeworCisJCWNoYXIgKmN1cnJfdXNlciA9IE5VTEw7CisJCWNoYXIgKm10YWJfdXNlciA9IE5VTEw7CisJCXNpemVfdCBzejsKKworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsCisJCQkJInVtb3VudDogY2hlY2tpbmcgdXNlcj08dXNlcm5hbWU+IGZyb20gbXRhYiIpKTsKKworCQljdXJyX3VzZXIgPSBtbnRfZ2V0X3VzZXJuYW1lKGdldHVpZCgpKTsKKworCQlpZiAoIWN1cnJfdXNlcikgeworCQkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAidW1vdW50ICVzOiBjYW5ub3QgIgorCQkJCSJjb252ZXJ0ICVkIHRvIHVzZXJuYW1lIiwgdGd0LCBnZXR1aWQoKSkpOworCQkJZ290byBlcGVybTsKKwkJfQorCisJCS8qIGdldCBvcHRpb25zIGZyb20gbXRhYiAqLworCQlvcHRzdHIgPSBtbnRfZnNfZ2V0X3VzZXJfb3B0aW9ucyhjeHQtPmZzKTsKKwkJaWYgKG9wdHN0ciAmJiAhbW50X29wdHN0cl9nZXRfb3B0aW9uKG9wdHN0ciwKKwkJCQkJInVzZXIiLCAmbXRhYl91c2VyLCAmc3opICYmIHN6KQorCQkJb2sgPSAhc3RybmNtcChjdXJyX3VzZXIsIG10YWJfdXNlciwgc3opOworCisJCWZyZWUoY3Vycl91c2VyKTsKKwl9CisKKwlpZiAob2spIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAidW1vdW50ICVzIGlzIGFsbG93ZWQiLCB0Z3QpKTsKKwkJcmV0dXJuIDA7CisJfQorZXBlcm06CisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAidW1vdW50IGlzIG5vdCBhbGxvd2VkIGZvciB5b3UiKSk7CisJcmV0dXJuIC1FUEVSTTsKK30KKworc3RhdGljIGludCBleGVjX2hlbHBlcihzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlpbnQgcmM7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5mcyk7CisJYXNzZXJ0KGN4dC0+aGVscGVyKTsKKwlhc3NlcnQoKGN4dC0+ZmxhZ3MgJiBNTlRfRkxfTU9VTlRGTEFHU19NRVJHRUQpKTsKKwlhc3NlcnQoY3h0LT5oZWxwZXJfZXhlY19zdGF0dXMgPT0gMSk7CisKKwlpZiAobW50X2NvbnRleHRfaXNfZmFrZShjeHQpKSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImZha2UgbW9kZTogZG9lcyBub3QgZXhlY3V0ZSBoZWxwZXIiKSk7CisJCWN4dC0+aGVscGVyX2V4ZWNfc3RhdHVzID0gcmMgPSAwOworCQlyZXR1cm4gcmM7CisJfQorCisJREJHX0ZMVVNIOworCisJc3dpdGNoIChmb3JrKCkpIHsKKwljYXNlIDA6CisJeworCQljb25zdCBjaGFyICphcmdzWzEwXSwgKnR5cGU7CisJCWludCBpID0gMDsKKworCQlpZiAoc2V0Z2lkKGdldGdpZCgpKSA8IDApCisJCQlleGl0KEVYSVRfRkFJTFVSRSk7CisKKwkJaWYgKHNldHVpZChnZXR1aWQoKSkgPCAwKQorCQkJZXhpdChFWElUX0ZBSUxVUkUpOworCisJCXR5cGUgPSBtbnRfZnNfZ2V0X2ZzdHlwZShjeHQtPmZzKTsKKworCQlhcmdzW2krK10gPSBjeHQtPmhlbHBlcjsJCQkvKiAxICovCisJCWFyZ3NbaSsrXSA9IG1udF9mc19nZXRfdGFyZ2V0KGN4dC0+ZnMpOwkJLyogMiAqLworCisJCWlmIChtbnRfY29udGV4dF9pc19ub210YWIoY3h0KSkKKwkJCWFyZ3NbaSsrXSA9ICItbiI7CQkJLyogMyAqLworCQlpZiAobW50X2NvbnRleHRfaXNfbGF6eShjeHQpKQorCQkJYXJnc1tpKytdID0gIi1sIjsJCQkvKiA0ICovCisJCWlmIChtbnRfY29udGV4dF9pc19mb3JjZShjeHQpKQorCQkJYXJnc1tpKytdID0gIi1mIjsJCQkvKiA1ICovCisJCWlmIChtbnRfY29udGV4dF9pc192ZXJib3NlKGN4dCkpCisJCQlhcmdzW2krK10gPSAiLXYiOwkJCS8qIDYgKi8KKwkJaWYgKG1udF9jb250ZXh0X2lzX3Jkb25seV91bW91bnQoY3h0KSkKKwkJCWFyZ3NbaSsrXSA9ICItciI7CQkJLyogNyAqLworCQlpZiAodHlwZQorCQkgICAgJiYgc3RyY2hyKHR5cGUsICcuJykKKwkJICAgICYmICFlbmRzd2l0aChjeHQtPmhlbHBlciwgdHlwZSkpIHsKKwkJCWFyZ3NbaSsrXSA9ICItdCI7CQkJLyogOCAqLworCQkJYXJnc1tpKytdID0gKGNoYXIgKikgdHlwZTsJCS8qIDkgKi8KKwkJfQorCisJCWFyZ3NbaV0gPSBOVUxMOwkJCQkJLyogMTAgKi8KKwkJZm9yIChpID0gMDsgYXJnc1tpXTsgaSsrKQorCQkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiYXJndlslZF0gPSBcIiVzXCIiLAorCQkJCQkJCWksIGFyZ3NbaV0pKTsKKwkJREJHX0ZMVVNIOworCQlleGVjdihjeHQtPmhlbHBlciwgKGNoYXIgKiBjb25zdCAqKSBhcmdzKTsKKwkJZXhpdChFWElUX0ZBSUxVUkUpOworCX0KKwlkZWZhdWx0OgorCXsKKwkJaW50IHN0OworCQl3YWl0KCZzdCk7CisJCWN4dC0+aGVscGVyX3N0YXR1cyA9IFdJRkVYSVRFRChzdCkgPyBXRVhJVFNUQVRVUyhzdCkgOiAtMTsKKworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICIlcyBleGVjdXRlZCBbc3RhdHVzPSVkXSIsCisJCQkJCWN4dC0+aGVscGVyLCBjeHQtPmhlbHBlcl9zdGF0dXMpKTsKKwkJY3h0LT5oZWxwZXJfZXhlY19zdGF0dXMgPSByYyA9IDA7CisJCWJyZWFrOworCX0KKworCWNhc2UgLTE6CisJCWN4dC0+aGVscGVyX2V4ZWNfc3RhdHVzID0gcmMgPSAtZXJybm87CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImZvcmsoKSBmYWlsZWQiKSk7CisJCWJyZWFrOworCX0KKworCXJldHVybiByYzsKK30KKworLyoKKyAqIG1udF9jb250ZXh0X2hlbHBlcl9zZXRvcHQoKSBiYWNrZW5kLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gYXBwbGllcyB1bW91bnQudHlwZSBjb21tYW5kIGxpbmUgb3B0aW9uIChmb3IgZXhhbXBsZSBwYXJzZWQKKyAqIGJ5IGdldG9wdCgpIG9yIGdldG9wdF9sb25nKCkpIHRvIEBjeHQuIEFsbCB1bmtub3duIG9wdGlvbnMgYXJlIGlnbm9yZWQgYW5kCisgKiB0aGVuIDEgaXMgcmV0dXJuZWQuCisgKgorICogUmV0dXJuczogbmVnYXRpdmUgbnVtYmVyIG9uIGVycm9yLCAxIGlmIEBjIGlzIHVua25vd24gb3B0aW9uLCAwIG9uIHN1Y2Nlc3MuCisgKi8KK2ludCBtbnRfY29udGV4dF91bW91bnRfc2V0b3B0KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBpbnQgYywgY2hhciAqYXJnKQoreworCWludCByYyA9IC1FSU5WQUw7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5hY3Rpb24gPT0gTU5UX0FDVF9VTU9VTlQpOworCisJc3dpdGNoKGMpIHsKKwljYXNlICduJzoKKwkJcmMgPSBtbnRfY29udGV4dF9kaXNhYmxlX210YWIoY3h0LCBUUlVFKTsKKwkJYnJlYWs7CisJY2FzZSAnbCc6CisJCXJjID0gbW50X2NvbnRleHRfZW5hYmxlX2xhenkoY3h0LCBUUlVFKTsKKwkJYnJlYWs7CisJY2FzZSAnZic6CisJCXJjID0gbW50X2NvbnRleHRfZW5hYmxlX2ZvcmNlKGN4dCwgVFJVRSk7CisJCWJyZWFrOworCWNhc2UgJ3YnOgorCQlyYyA9IG1udF9jb250ZXh0X2VuYWJsZV92ZXJib3NlKGN4dCwgVFJVRSk7CisJCWJyZWFrOworCWNhc2UgJ3InOgorCQlyYyA9IG1udF9jb250ZXh0X2VuYWJsZV9yZG9ubHlfdW1vdW50KGN4dCwgVFJVRSk7CisJCWJyZWFrOworCWNhc2UgJ3QnOgorCQlpZiAoYXJnKQorCQkJcmMgPSBtbnRfY29udGV4dF9zZXRfZnN0eXBlKGN4dCwgYXJnKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIDE7CisJfQorCisJcmV0dXJuIHJjOworfQorCisvKiBDaGVjayB3aGV0aGVyIHRoZSBrZXJuZWwgc3VwcG9ydHMgdGhlIFVNT1VOVF9OT0ZPTExPVyBmbGFnICovCitzdGF0aWMgaW50IHVtb3VudF9ub2ZvbGxvd19zdXBwb3J0KHZvaWQpCit7CisJaW50IHJlcyA9IHVtb3VudDIoIiIsIFVNT1VOVF9VTlVTRUQpOworCWlmIChyZXMgIT0gLTEgfHwgZXJybm8gIT0gRUlOVkFMKQorCQlyZXR1cm4gMDsKKworCXJlcyA9IHVtb3VudDIoIiIsIFVNT1VOVF9OT0ZPTExPVyk7CisJaWYgKHJlcyAhPSAtMSB8fCBlcnJubyAhPSBFTk9FTlQpCisJCXJldHVybiAwOworCisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgZG9fdW1vdW50KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWludCByYyA9IDAsIGZsYWdzID0gMDsKKwljb25zdCBjaGFyICpzcmMsICp0YXJnZXQ7CisJY2hhciAqdGd0YnVmID0gTlVMTDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmZzKTsKKwlhc3NlcnQoKGN4dC0+ZmxhZ3MgJiBNTlRfRkxfTU9VTlRGTEFHU19NRVJHRUQpKTsKKwlhc3NlcnQoY3h0LT5zeXNjYWxsX3N0YXR1cyA9PSAxKTsKKworCWlmIChjeHQtPmhlbHBlcikKKwkJcmV0dXJuIGV4ZWNfaGVscGVyKGN4dCk7CisKKwlzcmMgPSBtbnRfZnNfZ2V0X3NyY3BhdGgoY3h0LT5mcyk7CisJdGFyZ2V0ID0gbW50X2ZzX2dldF90YXJnZXQoY3h0LT5mcyk7CisKKwlpZiAoIXRhcmdldCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJkbyB1bW91bnQiKSk7CisKKwlpZiAoY3h0LT5yZXN0cmljdGVkICYmICFtbnRfY29udGV4dF9pc19mYWtlKGN4dCkpIHsKKwkJLyoKKwkJICogZXh0cmEgcGFyYW5vaWEgZm9yIG5vbi1yb290IHVzZXJzCisJCSAqIC0tIGNoZGlyIHRvIHRoZSBwYXJlbnQgb2YgdGhlIG1vdW50cG9pbnQgYW5kIHVzZSBOT0ZPTExPVworCQkgKiAgICBmbGFnIHRvIGF2b2lkIHJhY2VzIGFuZCBzeW1saW5rIGF0dGFja3MuCisJCSAqLworCQlpZiAodW1vdW50X25vZm9sbG93X3N1cHBvcnQoKSkKKwkJCWZsYWdzIHw9IFVNT1VOVF9OT0ZPTExPVzsKKworCQlyYyA9IG1udF9jaGRpcl90b19wYXJlbnQodGFyZ2V0LCAmdGd0YnVmKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCQl0YXJnZXQgPSB0Z3RidWY7CisJfQorCisJaWYgKG1udF9jb250ZXh0X2lzX2xhenkoY3h0KSkKKwkJZmxhZ3MgfD0gTU5UX0RFVEFDSDsKKworCWVsc2UgaWYgKG1udF9jb250ZXh0X2lzX2ZvcmNlKGN4dCkpCisJCWZsYWdzIHw9IE1OVF9GT1JDRTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInVtb3VudCgyKSBbdGFyZ2V0PSclcycsIGZsYWdzPTB4JTA4eF0lcyIsCisJCQkJdGFyZ2V0LCBmbGFncywKKwkJCQltbnRfY29udGV4dF9pc19mYWtlKGN4dCkgPyAiIChGQUtFKSIgOiAiIikpOworCisJaWYgKG1udF9jb250ZXh0X2lzX2Zha2UoY3h0KSkKKwkJcmMgPSAwOworCWVsc2UgeworCQlyYyA9IGZsYWdzID8gdW1vdW50Mih0YXJnZXQsIGZsYWdzKSA6IHVtb3VudCh0YXJnZXQpOworCQlpZiAocmMgPCAwKQorCQkJY3h0LT5zeXNjYWxsX3N0YXR1cyA9IC1lcnJubzsKKwkJZnJlZSh0Z3RidWYpOworCX0KKworCS8qCisJICogdHJ5IHJlbW91bnQgcmVhZC1vbmx5CisJICovCisJaWYgKHJjIDwgMAorCSAgICAmJiBjeHQtPnN5c2NhbGxfc3RhdHVzID09IC1FQlVTWQorCSAgICAmJiBtbnRfY29udGV4dF9pc19yZG9ubHlfdW1vdW50KGN4dCkKKwkgICAgJiYgc3JjKSB7CisKKwkJbW50X2NvbnRleHRfc2V0X21mbGFncyhjeHQsIChjeHQtPm1vdW50ZmxhZ3MgfAorCQkJCQkgICAgIE1TX1JFTU9VTlQgfCBNU19SRE9OTFkpKTsKKwkJbW50X2NvbnRleHRfZW5hYmxlX2xvb3BkZWwoY3h0LCBGQUxTRSk7CisKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LAorCQkJInVtb3VudCgyKSBmYWlsZWQgW2Vycm5vPSVkXSAtLSB0cnlpbmcgdG8gcmVtb3VudCByZWFkLW9ubHkiLAorCQkJLWN4dC0+c3lzY2FsbF9zdGF0dXMpKTsKKworCQlyYyA9IG1vdW50KHNyYywgbW50X2ZzX2dldF90YXJnZXQoY3h0LT5mcyksIE5VTEwsCisJCQkgICAgTVNfTUdDX1ZBTCB8IE1TX1JFTU9VTlQgfCBNU19SRE9OTFksIE5VTEwpOworCQlpZiAocmMgPCAwKSB7CisJCQljeHQtPnN5c2NhbGxfc3RhdHVzID0gLWVycm5vOworCQkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LAorCQkJCSJyZWFkLW9ubHkgcmUtbW91bnQoMikgZmFpbGVkIFtlcnJubz0lZF0iLAorCQkJCS1jeHQtPnN5c2NhbGxfc3RhdHVzKSk7CisKKwkJCXJldHVybiAtY3h0LT5zeXNjYWxsX3N0YXR1czsKKwkJfQorCQljeHQtPnN5c2NhbGxfc3RhdHVzID0gMDsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAicmVhZC1vbmx5IHJlLW1vdW50KDIpIHN1Y2Nlc3MiKSk7CisJCXJldHVybiAwOworCX0KKworCWlmIChyYyA8IDApIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAidW1vdW50KDIpIGZhaWxlZCBbZXJybm89JWRdIiwKKwkJCS1jeHQtPnN5c2NhbGxfc3RhdHVzKSk7CisJCXJldHVybiAtY3h0LT5zeXNjYWxsX3N0YXR1czsKKwl9CisKKwljeHQtPnN5c2NhbGxfc3RhdHVzID0gMDsKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJ1bW91bnQoMikgc3VjY2VzcyIpKTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9wcmVwYXJlX3Vtb3VudDoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBQcmVwYXJlIGNvbnRleHQgZm9yIHVtb3VudGluZywgdW5uZWNlc3NhcnkgZm9yIG1udF9jb250ZXh0X3Vtb3VudCgpLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgYW5kIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfcHJlcGFyZV91bW91bnQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJaW50IHJjOworCisJaWYgKCFjeHQgfHwgIWN4dC0+ZnMgfHwgbW50X2ZzX2lzX3N3YXBhcmVhKGN4dC0+ZnMpKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIW1udF9jb250ZXh0X2dldF9zb3VyY2UoY3h0KSAmJiAhbW50X2NvbnRleHRfZ2V0X3RhcmdldChjeHQpKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoY3h0LT5mbGFncyAmIE1OVF9GTF9QUkVQQVJFRCkKKwkJcmV0dXJuIDA7CisKKwlhc3NlcnQoY3h0LT5oZWxwZXJfZXhlY19zdGF0dXMgPT0gMSk7CisJYXNzZXJ0KGN4dC0+c3lzY2FsbF9zdGF0dXMgPT0gMSk7CisKKwlmcmVlKGN4dC0+aGVscGVyKTsJLyogYmUgcGFyYW5vaWQgKi8KKwljeHQtPmhlbHBlciA9IE5VTEw7CisJY3h0LT5hY3Rpb24gPSBNTlRfQUNUX1VNT1VOVDsKKworCXJjID0gbG9va3VwX3Vtb3VudF9mcyhjeHQpOworCWlmICghcmMpCisJCXJjID0gbW50X2NvbnRleHRfbWVyZ2VfbWZsYWdzKGN4dCk7CisJaWYgKCFyYykKKwkJcmMgPSBldmFsdWF0ZV9wZXJtaXNzaW9ucyhjeHQpOworCisJaWYgKCFyYyAmJiAhY3h0LT5oZWxwZXIpIHsKKworCQlpZiAoY3h0LT51c2VyX21vdW50ZmxhZ3MgJiBNTlRfTVNfSEVMUEVSKQorCQkJLyogb24gaGVscGVyPSBtb3VudCBvcHRpb24gYmFzZWQgaGVscGVyICovCisJCQlyYyA9IHByZXBhcmVfaGVscGVyX2Zyb21fb3B0aW9ucyhjeHQsICJoZWxwZXIiKTsKKworCQlpZiAoIXJjICYmICFjeHQtPmhlbHBlcikKKwkJCS8qIG9uIGZzdHlwZSBiYXNlZCBoZWxwZXIgKi8KKwkJCXJjID0gbW50X2NvbnRleHRfcHJlcGFyZV9oZWxwZXIoY3h0LCAidW1vdW50IiwgTlVMTCk7CisJfQorCisJaWYgKCFyYyAmJiAoY3h0LT51c2VyX21vdW50ZmxhZ3MgJiBNTlRfTVNfTE9PUCkpCisJCS8qIGxvb3Agb3B0aW9uIGV4cGxpY2l0bHkgc3BlY2lmaWVkIGluIG10YWIsIGRldGFjaCB0aGlzIGxvb3AgKi8KKwkJbW50X2NvbnRleHRfZW5hYmxlX2xvb3BkZWwoY3h0LCBUUlVFKTsKKworCWlmICghcmMgJiYgbW50X2NvbnRleHRfaXNfbG9vcGRlbChjeHQpICYmIGN4dC0+ZnMpIHsKKwkJY29uc3QgY2hhciAqc3JjID0gbW50X2ZzX2dldF9zcmNwYXRoKGN4dC0+ZnMpOworCisJCWlmIChzcmMgJiYgKCFpc19sb29wZGV2KHNyYykgfHwgbG9vcGRldl9pc19hdXRvY2xlYXIoc3JjKSkpCisJCQltbnRfY29udGV4dF9lbmFibGVfbG9vcGRlbChjeHQsIEZBTFNFKTsKKwl9CisKKwlpZiAocmMpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAidW1vdW50OiBwcmVwYXJpbmcgZmFpbGVkIikpOworCQlyZXR1cm4gcmM7CisJfQorCWN4dC0+ZmxhZ3MgfD0gTU5UX0ZMX1BSRVBBUkVEOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9kb191bW91bnQ6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogVW1vdW50IGZpbGVzeXN0ZW0gYnkgdW1vdW50KDIpIG9yIGZvcmsoKStleGVjKC9zYmluL3Vtb3VudC50eXBlKS4KKyAqIFVubmVjZXNzYXJ5IGZvciBtbnRfY29udGV4dF91bW91bnQoKS4KKyAqCisgKiBTZWUgYWxzbyBtbnRfY29udGV4dF9kaXNhYmxlX2hlbHBlcnMoKS4KKyAqCisgKiBXQVJOSU5HOiBub24temVybyByZXR1cm4gY29kZSBkb2VzIG5vdCBtZWFuIHRoYXQgdW1vdW50KDIpIHN5c2NhbGwgb3IKKyAqICAgICAgICAgIHVtb3VudC50eXBlIGhlbHBlciB3YXNuJ3Qgc3VjY2Vzc2Z1bGx5IGNhbGxlZC4KKyAqCisgKiAgICAgICAgICBDaGVjayBtbnRfY29udGV4dF9nZXRfc3RhdHVzKCkgYWZ0ZXIgZXJyb3IhCisqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3M7CisgKiAgICAgICAgID4wIGluIGNhc2Ugb2YgdW1vdW50KDIpIGVycm9yIChyZXR1cm5zIHN5c2NhbGwgZXJybm8pLAorICogICAgICAgICA8MCBpbiBjYXNlIG9mIG90aGVyIGVycm9ycy4KKyAqLworaW50IG1udF9jb250ZXh0X2RvX3Vtb3VudChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlpbnQgcmM7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5mcyk7CisJYXNzZXJ0KGN4dC0+aGVscGVyX2V4ZWNfc3RhdHVzID09IDEpOworCWFzc2VydChjeHQtPnN5c2NhbGxfc3RhdHVzID09IDEpOworCWFzc2VydCgoY3h0LT5mbGFncyAmIE1OVF9GTF9QUkVQQVJFRCkpOworCWFzc2VydCgoY3h0LT5hY3Rpb24gPT0gTU5UX0FDVF9VTU9VTlQpKTsKKwlhc3NlcnQoKGN4dC0+ZmxhZ3MgJiBNTlRfRkxfTU9VTlRGTEFHU19NRVJHRUQpKTsKKworCXJjID0gZG9fdW1vdW50KGN4dCk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwlpZiAobW50X2NvbnRleHRfZ2V0X3N0YXR1cyhjeHQpICYmICFtbnRfY29udGV4dF9pc19mYWtlKGN4dCkpIHsKKwkJLyoKKwkJICogVW1vdW50ZWQsIGRvIHNvbWUgcG9zdC11bW91bnQgb3BlcmF0aW9ucworCQkgKgktIHJlbW92ZSBsb29wZGV2CisJCSAqCS0gcmVmcmVzaCBpbi1tZW1vcnkgbXRhYiBzdHVmZiBpZiByZW1vdW50IHJhdGhlciB0aGFuCisJCSAqCSAgdW1vdW50IGhhcyBiZWVuIHBlcmZvcm1lZAorCQkgKi8KKwkJaWYgKG1udF9jb250ZXh0X2lzX2xvb3BkZWwoY3h0KQorCQkgICAgJiYgIShjeHQtPm1vdW50ZmxhZ3MgJiBNU19SRU1PVU5UKSkKKwkJCXJjID0gbW50X2NvbnRleHRfZGVsZXRlX2xvb3BkZXYoY3h0KTsKKworCQlpZiAoIW1udF9jb250ZXh0X2lzX25vbXRhYihjeHQpCisJCSAgICAmJiBtbnRfY29udGV4dF9nZXRfc3RhdHVzKGN4dCkKKwkJICAgICYmICFjeHQtPmhlbHBlcgorCQkgICAgJiYgbW50X2NvbnRleHRfaXNfcmRvbmx5X3Vtb3VudChjeHQpCisJCSAgICAmJiAoY3h0LT5tb3VudGZsYWdzICYgTVNfUkVNT1VOVCkpIHsKKworCQkJLyogdXNlICJyZW1vdW50IiBpbnN0ZWFkIG9mICJ1bW91bnQiIGluIC9ldGMvbXRhYiAqLworCQkJaWYgKCFyYyAmJiBjeHQtPnVwZGF0ZSAmJiBtbnRfY29udGV4dF9tdGFiX3dyaXRhYmxlKGN4dCkpCisJCQkJcmMgPSBtbnRfdXBkYXRlX3NldF9mcyhjeHQtPnVwZGF0ZSwKKwkJCQkJCSAgICAgICBjeHQtPm1vdW50ZmxhZ3MsIE5VTEwsIGN4dC0+ZnMpOworCQl9CisJfQorCXJldHVybiByYzsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9maW5hbGl6ZV91bW91bnQ6CisgKiBAY3h0OiBjb250ZXh0CisgKgorICogTXRhYiB1cGRhdGUsIGV0Yy4gVW5uZWNlc3NhcnkgZm9yIG1udF9jb250ZXh0X3Vtb3VudCgpLCBidXQgc2hvdWxkIGJlIGNhbGxlZAorICogYWZ0ZXIgbW50X2NvbnRleHRfZG9fdW1vdW50KCkuIFNlZSBhbHNvIG1udF9jb250ZXh0X3NldF9zeXNjYWxsX3N0YXR1cygpLgorICoKKyAqIFJldHVybnM6IG5lZ2F0aXZlIG51bWJlciBvbiBlcnJvciwgMCBvbiBzdWNjZXNzLgorICovCitpbnQgbW50X2NvbnRleHRfZmluYWxpemVfdW1vdW50KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWludCByYzsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmZzKTsKKwlhc3NlcnQoKGN4dC0+ZmxhZ3MgJiBNTlRfRkxfUFJFUEFSRUQpKTsKKwlhc3NlcnQoKGN4dC0+ZmxhZ3MgJiBNTlRfRkxfTU9VTlRGTEFHU19NRVJHRUQpKTsKKworCXJjID0gbW50X2NvbnRleHRfcHJlcGFyZV91cGRhdGUoY3h0KTsKKwlpZiAoIXJjKQorCQlyYyA9IG1udF9jb250ZXh0X3VwZGF0ZV90YWJzKGN4dCk7OworCXJldHVybiByYzsKK30KKworCisvKioKKyAqIG1udF9jb250ZXh0X3Vtb3VudDoKKyAqIEBjeHQ6IHVtb3VudCBjb250ZXh0CisgKgorICogSGlnaC1sZXZlbCwgdW1vdW50cyBmaWxlc3lzdGVtIGJ5IHVtb3VudCgyKSBvciBmb3JrKCkrZXhlYygvc2Jpbi91bW91bnQudHlwZSkuCisgKgorICogVGhpcyBpcyBzaW1pbGFyIHRvOgorICoKKyAqCW1udF9jb250ZXh0X3ByZXBhcmVfdW1vdW50KGN4dCk7CisgKgltbnRfY29udGV4dF9kb191bW91bnQoY3h0KTsKKyAqCW1udF9jb250ZXh0X2ZpbmFsaXplX3Vtb3VudChjeHQpOworICoKKyAqIFNlZSBhbHNvIG1udF9jb250ZXh0X2Rpc2FibGVfaGVscGVycygpLgorICoKKyAqIFdBUk5JTkc6IG5vbi16ZXJvIHJldHVybiBjb2RlIGRvZXMgbm90IG1lYW4gdGhhdCB1bW91bnQoMikgc3lzY2FsbCBvcgorICogICAgICAgICAgdW1vdW50LnR5cGUgaGVscGVyIHdhc24ndCBzdWNjZXNzZnVsbHkgY2FsbGVkLgorICoKKyAqICAgICAgICAgIENoZWNrIG1udF9jb250ZXh0X2dldF9zdGF0dXMoKSBhZnRlciBlcnJvciEKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3M7CisgKiAgICAgICAgID4wIGluIGNhc2Ugb2YgdW1vdW50KDIpIGVycm9yIChyZXR1cm5zIHN5c2NhbGwgZXJybm8pLAorICogICAgICAgICA8MCBpbiBjYXNlIG9mIG90aGVyIGVycm9ycy4KKyAqLworaW50IG1udF9jb250ZXh0X3Vtb3VudChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlpbnQgcmM7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5mcyk7CisJYXNzZXJ0KGN4dC0+aGVscGVyX2V4ZWNfc3RhdHVzID09IDEpOworCWFzc2VydChjeHQtPnN5c2NhbGxfc3RhdHVzID09IDEpOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAidW1vdW50OiAlcyIsIG1udF9jb250ZXh0X2dldF90YXJnZXQoY3h0KSkpOworCisJcmMgPSBtbnRfY29udGV4dF9wcmVwYXJlX3Vtb3VudChjeHQpOworCWlmICghcmMpCisJCXJjID0gbW50X2NvbnRleHRfcHJlcGFyZV91cGRhdGUoY3h0KTsKKwlpZiAoIXJjKQorCQlyYyA9IG1udF9jb250ZXh0X2RvX3Vtb3VudChjeHQpOworCWlmICghcmMpCisJCXJjID0gbW50X2NvbnRleHRfdXBkYXRlX3RhYnMoY3h0KTsKKwlyZXR1cm4gcmM7Cit9CisKKworLyoqCisgKiBtbnRfY29udGV4dF9uZXh0X3Vtb3VudDoKKyAqIEBjeHQ6IGNvbnRleHQKKyAqIEBpdHI6IGl0ZXJhdG9yCisgKiBAZnM6IHJldHVybnMgdGhlIGN1cnJlbnQgZmlsZXN5c3RlbQorICogQG1udHJjOiByZXR1cm5zIHRoZSByZXR1cm4gY29kZSBmcm9tIG1udF9jb250ZXh0X3Vtb3VudCgpCisgKiBAaWdub3JlZDogcmV0dXJucyAxIGZvciBub3QgbWF0Y2hpbmcKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHRyaWVzIHRvIHVtb3VudCB0aGUgbmV4dCBmaWxlc3lzdGVtIGZyb20gbXRhYiAoYXMgcmV0dXJuZWQgYnkKKyAqIG1udF9jb250ZXh0X2dldF9tdGFiKCkpLgorICoKKyAqIFlvdSBjYW4gZmlsdGVyIG91dCBmaWxlc3lzdGVtcyBieToKKyAqCW1udF9jb250ZXh0X3NldF9vcHRpb25zX3BhdHRlcm4oKSB0byBzaW11bGF0ZSB1bW91bnQgLWEgLU8gcGF0dGVybgorICoJbW50X2NvbnRleHRfc2V0X2ZzdHlwZV9wYXR0ZXJuKCkgIHRvIHNpbXVsYXRlIHVtb3VudCAtYSAtdCBwYXR0ZXJuCisgKgorICogSWYgdGhlIGZpbGVzeXN0ZW0gaXMgbm90IG1vdW50ZWQgb3IgZG9lcyBub3QgbWF0Y2ggdGhlIGRlZmluZWQgY3JpdGVyaWEsCisgKiB0aGVuIHRoZSBmdW5jdGlvbiBtbnRfY29udGV4dF9uZXh0X3Vtb3VudCgpIHJldHVybnMgemVybywgYnV0IHRoZSBAaWdub3JlZCBpcworICogbm9uLXplcm8uIE5vdGUgdGhhdCB0aGUgcm9vdCBmaWxlc3lzdGVtIGlzIGFsd2F5cyBpZ25vcmVkLgorICoKKyAqIElmIHVtb3VudCgyKSBzeXNjYWxsIG9yIHVtb3VudC50eXBlIGhlbHBlciBmYWlsZWQsIHRoZW4gdGhlCisgKiBtbnRfY29udGV4dF9uZXh0X3Vtb3VudCgpIGZ1bmN0aW9uIHJldHVybnMgemVybywgYnV0IHRoZSBAbW50cmMgaXMgbm9uLXplcm8uCisgKiBVc2UgYWxzbyBtbnRfY29udGV4dF9nZXRfc3RhdHVzKCkgdG8gY2hlY2sgaWYgdGhlIGZpbGVzeXN0ZW0gd2FzCisgKiBzdWNjZXNzZnVsbHkgdW1vdW50ZWQuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLAorICogICAgICAgICA8MCBpbiBjYXNlIG9mIGVycm9yICghPSB1bW91bnQoMikgZXJyb3JzKQorICogICAgICAgICAgMSBhdCB0aGUgZW5kIG9mIHRoZSBsaXN0LgorICovCitpbnQgbW50X2NvbnRleHRfbmV4dF91bW91bnQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsCisJCQkgICBzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciwKKwkJCSAgIHN0cnVjdCBsaWJtbnRfZnMgKipmcywKKwkJCSAgIGludCAqbW50cmMsCisJCQkgICBpbnQgKmlnbm9yZWQpCit7CisJc3RydWN0IGxpYm1udF90YWJsZSAqbXRhYjsKKwljb25zdCBjaGFyICp0Z3Q7CisJaW50IHJjOworCisJaWYgKGlnbm9yZWQpCisJCSppZ25vcmVkID0gMDsKKwlpZiAobW50cmMpCisJCSptbnRyYyA9IDA7CisKKwlpZiAoIWN4dCB8fCAhZnMgfHwgIWl0cikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyYyA9IG1udF9jb250ZXh0X2dldF9tdGFiKGN4dCwgJm10YWIpOworCWN4dC0+bXRhYiA9IE5VTEw7CQkvKiBkbyBub3QgcmVzZXQgbXRhYiAqLworCW1udF9yZXNldF9jb250ZXh0KGN4dCk7CisJY3h0LT5tdGFiID0gbXRhYjsKKworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJZG8geworCQlyYyA9IG1udF90YWJsZV9uZXh0X2ZzKG10YWIsIGl0ciwgZnMpOworCQlpZiAocmMgIT0gMCkKKwkJCXJldHVybiByYzsJLyogbm8gbW9yZSBmaWxlc3lzdGVtcyAob3IgZXJyb3IpICovCisKKwkJdGd0ID0gbW50X2ZzX2dldF90YXJnZXQoKmZzKTsKKwl9IHdoaWxlICghdGd0KTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIm5leHQtdW1vdW50OiB0cnlpbmcgJXMgW2ZzdHlwZTogJXMsIHQtcGF0dGVybjogJXMsIG9wdGlvbnM6ICVzLCBPLXBhdHRlcm46ICVzXSIsIHRndCwKKwkJCQkgbW50X2ZzX2dldF9mc3R5cGUoKmZzKSwgY3h0LT5mc3R5cGVfcGF0dGVybiwgbW50X2ZzX2dldF9vcHRpb25zKCpmcyksIGN4dC0+b3B0c3RyX3BhdHRlcm4pKTsKKworCS8qIGlnbm9yZSBmaWxlc3lzdGVtcyB3aGljaCBkb24ndCBtYXRjaCBvcHRpb25zIHBhdHRlcm5zICovCisJaWYgKChjeHQtPmZzdHlwZV9wYXR0ZXJuICYmICFtbnRfZnNfbWF0Y2hfZnN0eXBlKCpmcywKKwkJCQkJY3h0LT5mc3R5cGVfcGF0dGVybikpIHx8CisKKwkvKiBpZ25vcmUgZmlsZXN5c3RlbXMgd2hpY2ggZG9uJ3QgbWF0Y2ggdHlwZSBwYXR0ZXJucyAqLworCSAgIChjeHQtPm9wdHN0cl9wYXR0ZXJuICYmICFtbnRfZnNfbWF0Y2hfb3B0aW9ucygqZnMsCisJCQkJCWN4dC0+b3B0c3RyX3BhdHRlcm4pKSkgeworCQlpZiAoaWdub3JlZCkKKwkJCSppZ25vcmVkID0gMTsKKworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJuZXh0LXVtb3VudDogbm90LW1hdGNoIikpOworCQlyZXR1cm4gMDsKKwl9CisKKwlyYyA9IG1udF9jb250ZXh0X3NldF9mcyhjeHQsICpmcyk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisJcmMgPSBtbnRfY29udGV4dF91bW91bnQoY3h0KTsKKwlpZiAobW50cmMpCisJCSptbnRyYyA9IHJjOworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvbGlibW91bnQvc3JjL2ZzLmMgYi9saWJtb3VudC9zcmMvZnMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTQzZWI1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvc3JjL2ZzLmMKQEAgLTAsMCArMSwxNjAxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisvKioKKyAqIFNFQ1RJT046IGZzCisgKiBAdGl0bGU6IEZpbGVzeXN0ZW0KKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogcmVwcmVzZW50cyBvbmUgZW50cnkgZnJvbSBmc3RhYiwgbXRhYiwgb3IgbW91bnRpbmZvIGZpbGUKKyAqCisgKi8KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPGJsa2lkLmg+CisjaW5jbHVkZSA8c3RkZGVmLmg+CisKKyNpbmNsdWRlICJtb3VudFAuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorCisvKioKKyAqIG1udF9uZXdfZnM6CisgKgorICogVGhlIGluaXRpYWwgcmVmY291bnQgaXMgMSwgYW5kIG5lZWRzIHRvIGJlIGRlY3JlbWVudGVkIHRvCisgKiByZWxlYXNlIHRoZSByZXNvdXJjZXMgb2YgdGhlIGZpbGVzeXN0ZW0uCisgKgorICogUmV0dXJuczogbmV3bHkgYWxsb2NhdGVkIHN0cnVjdCBsaWJtbnRfZnMuCisgKi8KK3N0cnVjdCBsaWJtbnRfZnMgKm1udF9uZXdfZnModm9pZCkKK3sKKwlzdHJ1Y3QgbGlibW50X2ZzICpmcyA9IGNhbGxvYygxLCBzaXplb2YoKmZzKSk7CisJaWYgKCFmcykKKwkJcmV0dXJuIE5VTEw7CisKKwlmcy0+cmVmY291bnQgPSAxOworCUlOSVRfTElTVF9IRUFEKCZmcy0+ZW50cyk7CisJLypEQkcoRlMsIHVsX2RlYnVnb2JqKGZzLCAiYWxsb2MiKSk7Ki8KKwlyZXR1cm4gZnM7Cit9CisKKy8qKgorICogbW50X2ZyZWVfZnM6CisgKiBAZnM6IGZzIHBvaW50ZXIKKyAqCisgKiBEZWFsbG9jYXRlcyB0aGUgZnMuIFRoaXMgZnVuY3Rpb24gZG9lcyBub3QgY2FyZSBhYm91dCByZWZlcmVuY2UgY291bnQuIERvbid0CisgKiB1c2UgdGhpcyBmdW5jdGlvbiBkaXJlY3RseSAtLSBpdCdzIGJldHRlciB0byB1c2UgdXNlIG1udF91bnJlZl9mcygpLgorICoKKyAqIFRoZSByZWZlcmVuY2UgY291bnRpbmcgaXMgc3VwcG9ydGVkIHNpbmNlIHV0aWwtbGludXggdjIuMjQuCisgKi8KK3ZvaWQgbW50X2ZyZWVfZnMoc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJaWYgKCFmcykKKwkJcmV0dXJuOworCisJREJHKEZTLCB1bF9kZWJ1Z29iaihmcywgImZyZWUgW3JlZmNvdW50PSVkXSIsIGZzLT5yZWZjb3VudCkpOworCisJbW50X3Jlc2V0X2ZzKGZzKTsKKwlmcmVlKGZzKTsKK30KKworLyoqCisgKiBtbnRfcmVzZXRfZnM6CisgKiBAZnM6IGZzIHBvaW50ZXIKKyAqCisgKiBSZXNldHMgKHplcm9pemUpIEBmcy4KKyAqLwordm9pZCBtbnRfcmVzZXRfZnMoc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJaW50IHJlZjsKKworCWlmICghZnMpCisJCXJldHVybjsKKworCXJlZiA9IGZzLT5yZWZjb3VudDsKKworCWxpc3RfZGVsKCZmcy0+ZW50cyk7CisJZnJlZShmcy0+c291cmNlKTsKKwlmcmVlKGZzLT5iaW5kc3JjKTsKKwlmcmVlKGZzLT50YWduYW1lKTsKKwlmcmVlKGZzLT50YWd2YWwpOworCWZyZWUoZnMtPnJvb3QpOworCWZyZWUoZnMtPnN3YXB0eXBlKTsKKwlmcmVlKGZzLT50YXJnZXQpOworCWZyZWUoZnMtPmZzdHlwZSk7CisJZnJlZShmcy0+b3B0c3RyKTsKKwlmcmVlKGZzLT52ZnNfb3B0c3RyKTsKKwlmcmVlKGZzLT5mc19vcHRzdHIpOworCWZyZWUoZnMtPnVzZXJfb3B0c3RyKTsKKwlmcmVlKGZzLT5hdHRycyk7CisJZnJlZShmcy0+b3B0X2ZpZWxkcyk7CisJZnJlZShmcy0+Y29tbWVudCk7CisKKwltZW1zZXQoZnMsIDAsIHNpemVvZigqZnMpKTsKKwlJTklUX0xJU1RfSEVBRCgmZnMtPmVudHMpOworCWZzLT5yZWZjb3VudCA9IHJlZjsKK30KKworLyoqCisgKiBtbnRfcmVmX2ZzOgorICogQGZzOiBmcyBwb2ludGVyCisgKgorICogSW5jcmVtZW50cyByZWZlcmVuY2UgY291bnRlci4KKyAqLwordm9pZCBtbnRfcmVmX2ZzKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCWlmIChmcykgeworCQlmcy0+cmVmY291bnQrKzsKKwkJLypEQkcoRlMsIHVsX2RlYnVnb2JqKGZzLCAicmVmPSVkIiwgZnMtPnJlZmNvdW50KSk7Ki8KKwl9Cit9CisKKy8qKgorICogbW50X3VucmVmX2ZzOgorICogQGZzOiBmcyBwb2ludGVyCisgKgorICogRGUtaW5jcmVtZW50cyByZWZlcmVuY2UgY291bnRlciwgb24gemVybyB0aGUgQGZzIGlzIGF1dG9tYXRpY2FsbHkKKyAqIGRlYWxsb2NhdGVkIGJ5IG1udF9mcmVlX2ZzKCkuCisgKi8KK3ZvaWQgbW50X3VucmVmX2ZzKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCWlmIChmcykgeworCQlmcy0+cmVmY291bnQtLTsKKwkJLypEQkcoRlMsIHVsX2RlYnVnb2JqKGZzLCAidW5yZWY9JWQiLCBmcy0+cmVmY291bnQpKTsqLworCQlpZiAoZnMtPnJlZmNvdW50IDw9IDApCisJCQltbnRfZnJlZV9mcyhmcyk7CisJfQorfQorCitzdGF0aWMgaW5saW5lIGludCB1cGRhdGVfc3RyKGNoYXIgKipkZXN0LCBjb25zdCBjaGFyICpzcmMpCit7CisJc2l6ZV90IHN6OworCWNoYXIgKng7CisKKwlhc3NlcnQoZGVzdCk7CisKKwlpZiAoIXNyYykgeworCQlmcmVlKCpkZXN0KTsKKwkJKmRlc3QgPSBOVUxMOworCQlyZXR1cm4gMDsJLyogc291cmNlIChvbGQpIGlzIGVtcHR5ICovCisJfQorCisJc3ogPSBzdHJsZW4oc3JjKSArIDE7CisJeCA9IHJlYWxsb2MoKmRlc3QsIHN6KTsKKwlpZiAoIXgpCisJCXJldHVybiAtRU5PTUVNOworCSpkZXN0ID0geDsKKwltZW1jcHkoKmRlc3QsIHNyYywgc3opOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW5saW5lIGludCBjcHlfc3RyX2F0X29mZnNldCh2b2lkICpuZXcsIGNvbnN0IHZvaWQgKm9sZCwgc2l6ZV90IG9mZnNldCkKK3sKKwljaGFyICoqbyA9IChjaGFyICoqKSAoKGNoYXIgKikgb2xkICsgb2Zmc2V0KTsKKwljaGFyICoqbiA9IChjaGFyICoqKSAoKGNoYXIgKikgbmV3ICsgb2Zmc2V0KTsKKworCWlmICgqbikKKwkJcmV0dXJuIDA7CS8qIGFscmVhZHkgc2V0LCBkb24ndCBvdmVyd3JpdGUgKi8KKworCXJldHVybiB1cGRhdGVfc3RyKG4sICpvKTsKK30KKworLyoqCisgKiBtbnRfY29weV9mczoKKyAqIEBkZXN0OiBkZXN0aW5hdGlvbiBGUworICogQHNyYzogc291cmNlIEZTCisgKgorICogSWYgQGRlc3QgaXMgTlVMTCwgdGhlbiBhIG5ldyBGUyBpcyBhbGxvY2F0ZWQsIGlmIGFueSBAZGVzdCBmaWVsZCBpcyBhbHJlYWR5CisgKiBzZXQsIHRoZW4gdGhlIGZpZWxkIGlzIE5PVCBvdmVyd3JpdHRlbi4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IGNvcHkgdXNlcmRhdGEgKHNlIG1udF9mc19zZXRfdXNlcmRhdGEoKSkuIEEgbmV3IGNvcHkgaXMKKyAqIG5vdCBsaW5rZWQgd2l0aCBhbnkgZXhpc3RpbmcgbW50X3RhYi4KKyAqCisgKiBSZXR1cm5zOiBAZGVzdCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RydWN0IGxpYm1udF9mcyAqbW50X2NvcHlfZnMoc3RydWN0IGxpYm1udF9mcyAqZGVzdCwKKwkJCSAgICAgIGNvbnN0IHN0cnVjdCBsaWJtbnRfZnMgKnNyYykKK3sKKwljb25zdCBzdHJ1Y3QgbGlibW50X2ZzICpvcmcgPSBkZXN0OworCisJaWYgKCFzcmMpCisJCXJldHVybiBOVUxMOworCWlmICghZGVzdCkgeworCQlkZXN0ID0gbW50X25ld19mcygpOworCQlpZiAoIWRlc3QpCisJCQlyZXR1cm4gTlVMTDsKKwl9CisKKwkvKkRCRyhGUywgdWxfZGVidWdvYmooZGVzdCwgImNvcHkgZnJvbSAlcCIsIHNyYykpOyovCisKKwlkZXN0LT5pZCAgICAgICAgID0gc3JjLT5pZDsKKwlkZXN0LT5wYXJlbnQgICAgID0gc3JjLT5wYXJlbnQ7CisJZGVzdC0+ZGV2bm8gICAgICA9IHNyYy0+ZGV2bm87CisJZGVzdC0+dGlkICAgICAgICA9IHNyYy0+dGlkOworCisJaWYgKGNweV9zdHJfYXRfb2Zmc2V0KGRlc3QsIHNyYywgb2Zmc2V0b2Yoc3RydWN0IGxpYm1udF9mcywgc291cmNlKSkpCisJCWdvdG8gZXJyOworCWlmIChjcHlfc3RyX2F0X29mZnNldChkZXN0LCBzcmMsIG9mZnNldG9mKHN0cnVjdCBsaWJtbnRfZnMsIHRhZ25hbWUpKSkKKwkJZ290byBlcnI7CisJaWYgKGNweV9zdHJfYXRfb2Zmc2V0KGRlc3QsIHNyYywgb2Zmc2V0b2Yoc3RydWN0IGxpYm1udF9mcywgdGFndmFsKSkpCisJCWdvdG8gZXJyOworCWlmIChjcHlfc3RyX2F0X29mZnNldChkZXN0LCBzcmMsIG9mZnNldG9mKHN0cnVjdCBsaWJtbnRfZnMsIHJvb3QpKSkKKwkJZ290byBlcnI7CisJaWYgKGNweV9zdHJfYXRfb2Zmc2V0KGRlc3QsIHNyYywgb2Zmc2V0b2Yoc3RydWN0IGxpYm1udF9mcywgc3dhcHR5cGUpKSkKKwkJZ290byBlcnI7CisJaWYgKGNweV9zdHJfYXRfb2Zmc2V0KGRlc3QsIHNyYywgb2Zmc2V0b2Yoc3RydWN0IGxpYm1udF9mcywgdGFyZ2V0KSkpCisJCWdvdG8gZXJyOworCWlmIChjcHlfc3RyX2F0X29mZnNldChkZXN0LCBzcmMsIG9mZnNldG9mKHN0cnVjdCBsaWJtbnRfZnMsIGZzdHlwZSkpKQorCQlnb3RvIGVycjsKKwlpZiAoY3B5X3N0cl9hdF9vZmZzZXQoZGVzdCwgc3JjLCBvZmZzZXRvZihzdHJ1Y3QgbGlibW50X2ZzLCBvcHRzdHIpKSkKKwkJZ290byBlcnI7CisJaWYgKGNweV9zdHJfYXRfb2Zmc2V0KGRlc3QsIHNyYywgb2Zmc2V0b2Yoc3RydWN0IGxpYm1udF9mcywgdmZzX29wdHN0cikpKQorCQlnb3RvIGVycjsKKwlpZiAoY3B5X3N0cl9hdF9vZmZzZXQoZGVzdCwgc3JjLCBvZmZzZXRvZihzdHJ1Y3QgbGlibW50X2ZzLCBmc19vcHRzdHIpKSkKKwkJZ290byBlcnI7CisJaWYgKGNweV9zdHJfYXRfb2Zmc2V0KGRlc3QsIHNyYywgb2Zmc2V0b2Yoc3RydWN0IGxpYm1udF9mcywgdXNlcl9vcHRzdHIpKSkKKwkJZ290byBlcnI7CisJaWYgKGNweV9zdHJfYXRfb2Zmc2V0KGRlc3QsIHNyYywgb2Zmc2V0b2Yoc3RydWN0IGxpYm1udF9mcywgYXR0cnMpKSkKKwkJZ290byBlcnI7CisJaWYgKGNweV9zdHJfYXRfb2Zmc2V0KGRlc3QsIHNyYywgb2Zmc2V0b2Yoc3RydWN0IGxpYm1udF9mcywgYmluZHNyYykpKQorCQlnb3RvIGVycjsKKworCWRlc3QtPmZyZXEgICAgICAgPSBzcmMtPmZyZXE7CisJZGVzdC0+cGFzc25vICAgICA9IHNyYy0+cGFzc25vOworCWRlc3QtPmZsYWdzICAgICAgPSBzcmMtPmZsYWdzOworCWRlc3QtPnNpemUJID0gc3JjLT5zaXplOworCWRlc3QtPnVzZWRzaXplICAgPSBzcmMtPnVzZWRzaXplOworCWRlc3QtPnByaW9yaXR5ICAgPSBzcmMtPnByaW9yaXR5OworCisJcmV0dXJuIGRlc3Q7CitlcnI6CisJaWYgKCFvcmcpCisJCW1udF9mcmVlX2ZzKGRlc3QpOworCXJldHVybiBOVUxMOworfQorCisvKgorICogVGhpcyBmdW5jdGlvbiBjb3BpZXMgYWxsIEBmcyBkZXNjcmlwdGlvbiBleGNlcHQgaW5mb3JtYXRpb24gdGhhdCBkb2VzIG5vdAorICogYmVsb25nIHRvIC9ldGMvbXRhYiAoZS5nLiBWRlMgYW5kIHVzZXJzcGFjZSBtb3VudCBvcHRpb25zIHdpdGggTU5UX05PTVRBQgorICogbWFzaykuCisgKgorICogUmV0dXJuczogY29weSBvZiBAZnMuCisgKi8KK3N0cnVjdCBsaWJtbnRfZnMgKm1udF9jb3B5X210YWJfZnMoY29uc3Qgc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJc3RydWN0IGxpYm1udF9mcyAqbiA9IG1udF9uZXdfZnMoKTsKKworCWFzc2VydChmcyk7CisJaWYgKCFuKQorCQlyZXR1cm4gTlVMTDsKKworCWlmIChjcHlfc3RyX2F0X29mZnNldChuLCBmcywgb2Zmc2V0b2Yoc3RydWN0IGxpYm1udF9mcywgc291cmNlKSkpCisJCWdvdG8gZXJyOworCWlmIChjcHlfc3RyX2F0X29mZnNldChuLCBmcywgb2Zmc2V0b2Yoc3RydWN0IGxpYm1udF9mcywgdGFyZ2V0KSkpCisJCWdvdG8gZXJyOworCWlmIChjcHlfc3RyX2F0X29mZnNldChuLCBmcywgb2Zmc2V0b2Yoc3RydWN0IGxpYm1udF9mcywgZnN0eXBlKSkpCisJCWdvdG8gZXJyOworCisJaWYgKGZzLT52ZnNfb3B0c3RyKSB7CisJCWNoYXIgKnAgPSBOVUxMOworCQltbnRfb3B0c3RyX2dldF9vcHRpb25zKGZzLT52ZnNfb3B0c3RyLCAmcCwKKwkJCQltbnRfZ2V0X2J1aWx0aW5fb3B0bWFwKE1OVF9MSU5VWF9NQVApLAorCQkJCU1OVF9OT01UQUIpOworCQluLT52ZnNfb3B0c3RyID0gcDsKKwl9CisKKwlpZiAoZnMtPnVzZXJfb3B0c3RyKSB7CisJCWNoYXIgKnAgPSBOVUxMOworCQltbnRfb3B0c3RyX2dldF9vcHRpb25zKGZzLT51c2VyX29wdHN0ciwgJnAsCisJCQkJbW50X2dldF9idWlsdGluX29wdG1hcChNTlRfVVNFUlNQQUNFX01BUCksCisJCQkJTU5UX05PTVRBQik7CisJCW4tPnVzZXJfb3B0c3RyID0gcDsKKwl9CisKKwlpZiAoY3B5X3N0cl9hdF9vZmZzZXQobiwgZnMsIG9mZnNldG9mKHN0cnVjdCBsaWJtbnRfZnMsIGZzX29wdHN0cikpKQorCQlnb3RvIGVycjsKKworCS8qIHdlIGNhbm5vdCBjb3B5IG9yaWdpbmFsIG9wdHN0ciwgdGhlIG5ldyBvcHRzdHIgaGFzIHRvIGJlIHdpdGhvdXQKKwkgKiBub24tbXRhYiBvcHRpb25zIC0tIHNvLCBsZXQncyBnZW5lcmF0ZSBhIG5ldyBzdHJpbmcgKi8KKwluLT5vcHRzdHIgPSBtbnRfZnNfc3RyZHVwX29wdGlvbnMobik7CisKKwluLT5mcmVxICAgICAgID0gZnMtPmZyZXE7CisJbi0+cGFzc25vICAgICA9IGZzLT5wYXNzbm87CisJbi0+ZmxhZ3MgICAgICA9IGZzLT5mbGFnczsKKworCXJldHVybiBuOworZXJyOgorCW1udF9mcmVlX2ZzKG4pOworCXJldHVybiBOVUxMOworCit9CisKKy8qKgorICogbW50X2ZzX2dldF91c2VyZGF0YToKKyAqIEBmczogc3RydWN0IGxpYm1udF9maWxlIGluc3RhbmNlCisgKgorICogUmV0dXJuczogcHJpdmF0ZSBkYXRhIHNldCBieSBtbnRfZnNfc2V0X3VzZXJkYXRhKCkgb3IgTlVMTC4KKyAqLwordm9pZCAqbW50X2ZzX2dldF91c2VyZGF0YShzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlpZiAoIWZzKQorCQlyZXR1cm4gTlVMTDsKKworCS8qREJHKEZTLCB1bF9kZWJ1Z29iaihmcywgImdldCB1c2VyZGF0YSBbJXBdIiwgZnMtPnVzZXJkYXRhKSk7Ki8KKwlyZXR1cm4gZnMtPnVzZXJkYXRhOworfQorCisvKioKKyAqIG1udF9mc19zZXRfdXNlcmRhdGE6CisgKiBAZnM6IHN0cnVjdCBsaWJtbnRfZmlsZSBpbnN0YW5jZQorICogQGRhdGE6IHVzZXIgZGF0YQorICoKKyAqIFRoZSAidXNlcmRhdGEiIGFyZSBsaWJyYXJ5IGluZGVwZW5kZW50IGRhdGEuCisgKgorICogUmV0dXJuczogMCBvciBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvciAoaWYgQGZzIGlzIE5VTEwpLgorICovCitpbnQgbW50X2ZzX3NldF91c2VyZGF0YShzdHJ1Y3QgbGlibW50X2ZzICpmcywgdm9pZCAqZGF0YSkKK3sKKwlpZiAoIWZzKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCS8qREJHKEZTLCB1bF9kZWJ1Z29iaihmcywgInNldCB1c2VyZGF0YSBbJXBdIiwgZnMtPnVzZXJkYXRhKSk7Ki8KKwlmcy0+dXNlcmRhdGEgPSBkYXRhOworCXJldHVybiAwOworfQorCisvKioKKyAqIG1udF9mc19nZXRfc3JjcGF0aDoKKyAqIEBmczogc3RydWN0IGxpYm1udF9maWxlIChmc3RhYi9tdGFiL21vdW50aW5mbykgZnMKKyAqCisgKiBUaGUgbW91bnQgInNvdXJjZSBwYXRoIiBpczoKKyAqIC0gYSBkaXJlY3RvcnkgZm9yICdiaW5kJyBtb3VudHMgKGluIGZzdGFiIG9yIG10YWIgb25seSkKKyAqIC0gYSBkZXZpY2UgbmFtZSBmb3Igc3RhbmRhcmQgbW91bnRzCisgKgorICogU2VlIGFsc28gbW50X2ZzX2dldF90YWcoKSBhbmQgbW50X2ZzX2dldF9zb3VyY2UoKS4KKyAqCisgKiBSZXR1cm5zOiBtb3VudCBzb3VyY2UgcGF0aCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3Igb3Igd2hlbiB0aGUgcGF0aAorICogaXMgbm90IGRlZmluZWQuCisgKi8KK2NvbnN0IGNoYXIgKm1udF9mc19nZXRfc3JjcGF0aChzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlpZiAoIWZzKQorCQlyZXR1cm4gTlVMTDsKKworCS8qIGZzdGFiLWxpa2UgZnMgKi8KKwlpZiAoZnMtPnRhZ25hbWUpCisJCXJldHVybiBOVUxMOwkvKiB0aGUgc291cmNlIGNvbnRhaW5zIGEgIk5BTUU9dmFsdWUiICovCisJcmV0dXJuIGZzLT5zb3VyY2U7Cit9CisKKy8qKgorICogbW50X2ZzX2dldF9zb3VyY2U6CisgKiBAZnM6IHN0cnVjdCBsaWJtbnRfZmlsZSAoZnN0YWIvbXRhYi9tb3VudGluZm8pIGZzCisgKgorICogUmV0dXJuczogbW91bnQgc291cmNlLiBOb3RlIHRoYXQgdGhlIHNvdXJjZSBjb3VsZCBiZSB1bnBhcnNlZCBUQUcKKyAqIChMQUJFTC9VVUlEKS4gU2VlIGFsc28gbW50X2ZzX2dldF9zcmNwYXRoKCkgYW5kIG1udF9mc19nZXRfdGFnKCkuCisgKi8KK2NvbnN0IGNoYXIgKm1udF9mc19nZXRfc291cmNlKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXJldHVybiBmcyA/IGZzLT5zb3VyY2UgOiBOVUxMOworfQorCisvKgorICogVXNlZCBieSB0aGUgcGFyc2VyIE9OTFkgKEBzb3VyY2UgaGFzIHRvIGJlIGZyZWVkIG9uIGVycm9yKQorICovCitpbnQgX19tbnRfZnNfc2V0X3NvdXJjZV9wdHIoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNoYXIgKnNvdXJjZSkKK3sKKwljaGFyICp0ID0gTlVMTCwgKnYgPSBOVUxMOworCisJYXNzZXJ0KGZzKTsKKworCWlmIChzb3VyY2UgJiYgYmxraWRfcGFyc2VfdGFnX3N0cmluZyhzb3VyY2UsICZ0LCAmdikgPT0gMCAmJgorCSAgICAhbW50X3ZhbGlkX3RhZ25hbWUodCkpIHsKKwkJLyogcGFyc2FibGUgYnV0IHVua25vd24gdGFnIC0tIGlnbm9yZSAqLworCQlmcmVlKHQpOworCQlmcmVlKHYpOworCQl0ID0gdiA9IE5VTEw7CisJfQorCisJaWYgKGZzLT5zb3VyY2UgIT0gc291cmNlKQorCQlmcmVlKGZzLT5zb3VyY2UpOworCisJZnJlZShmcy0+dGFnbmFtZSk7CisJZnJlZShmcy0+dGFndmFsKTsKKworCWZzLT5zb3VyY2UgPSBzb3VyY2U7CisJZnMtPnRhZ25hbWUgPSB0OworCWZzLT50YWd2YWwgPSB2OworCXJldHVybiAwOworfQorCisvKioKKyAqIG1udF9mc19zZXRfc291cmNlOgorICogQGZzOiBmc3RhYi9tdGFiL21vdW50aW5mbyBlbnRyeQorICogQHNvdXJjZTogbmV3IHNvdXJjZQorICoKKyAqIFRoaXMgZnVuY3Rpb24gY3JlYXRlcyBhIHByaXZhdGUgY29weSAoc3RyZHVwKCkpIG9mIEBzb3VyY2UuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2ZzX3NldF9zb3VyY2Uoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKnNvdXJjZSkKK3sKKwljaGFyICpwID0gTlVMTDsKKwlpbnQgcmM7CisKKwlpZiAoIWZzKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChzb3VyY2UpIHsKKwkJcCA9IHN0cmR1cChzb3VyY2UpOworCQlpZiAoIXApCisJCQlyZXR1cm4gLUVOT01FTTsKKwl9CisKKwlyYyA9IF9fbW50X2ZzX3NldF9zb3VyY2VfcHRyKGZzLCBwKTsKKwlpZiAocmMpCisJCWZyZWUocCk7CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIG1udF9mc19zdHJlcV9zcmNwYXRoOgorICogQGZzOiBmcworICogQHBhdGg6IHNvdXJjZSBwYXRoCisgKgorICogQ29tcGFyZXMgQGZzIHNvdXJjZSBwYXRoIHdpdGggQHBhdGguIFRoZSByZWR1bmRhbnQgc2xhc2hzIGFyZSBpZ25vcmVkLgorICogVGhpcyBmdW5jdGlvbiBjb21wYXJlcyBzdHJpbmdzIGFuZCBkb2VzIG5vdCBjYW5ub25pY2FsaXplIHRoZSBwYXRocy4KKyAqIFNlZSBhbHNvIG1vcmUgaGVhdnkgYW5kIGdlbmVyaWMgbW50X2ZzX21hdGNoX3NvdXJjZSgpLgorICoKKyAqIFJldHVybnM6IDEgaWYgQGZzIHNvdXJjZSBwYXRoIGVxdWFsIHRvIEBwYXRoLCBvdGhlcndpc2UgMC4KKyAqLworaW50IG1udF9mc19zdHJlcV9zcmNwYXRoKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpwYXRoKQoreworCWNvbnN0IGNoYXIgKnA7CisKKwlpZiAoIWZzKQorCQlyZXR1cm4gMDsKKworCXAgPSBtbnRfZnNfZ2V0X3NyY3BhdGgoZnMpOworCisJaWYgKCFtbnRfZnNfaXNfcHNldWRvZnMoZnMpKQorCQlyZXR1cm4gc3RyZXFfcGF0aHMocCwgcGF0aCk7CisKKwlpZiAoIXAgJiYgIXBhdGgpCisJCXJldHVybiAxOworCisJcmV0dXJuIHAgJiYgcGF0aCAmJiBzdHJjbXAocCwgcGF0aCkgPT0gMDsKK30KKworLyoqCisgKiBtbnRfZnNfc3RyZXFfdGFyZ2V0OgorICogQGZzOiBmcworICogQHBhdGg6IG1vdW50IHBvaW50CisgKgorICogQ29tcGFyZXMgQGZzIHRhcmdldCBwYXRoIHdpdGggQHBhdGguIFRoZSByZWR1bmRhbnQgc2xhc2hzIGFyZSBpZ25vcmVkLgorICogVGhpcyBmdW5jdGlvbiBjb21wYXJlcyBzdHJpbmdzIGFuZCBkb2VzIG5vdCBjYW5ub25pY2FsaXplIHRoZSBwYXRocy4KKyAqIFNlZSBhbHNvIG1vcmUgZ2VuZXJpYyBtbnRfZnNfbWF0Y2hfdGFyZ2V0KCkuCisgKgorICogUmV0dXJuczogMSBpZiBAZnMgdGFyZ2V0IHBhdGggZXF1YWwgdG8gQHBhdGgsIG90aGVyd2lzZSAwLgorICovCitpbnQgbW50X2ZzX3N0cmVxX3RhcmdldChzdHJ1Y3QgbGlibW50X2ZzICpmcywgY29uc3QgY2hhciAqcGF0aCkKK3sKKwlyZXR1cm4gZnMgJiYgc3RyZXFfcGF0aHMobW50X2ZzX2dldF90YXJnZXQoZnMpLCBwYXRoKTsKK30KKworLyoqCisgKiBtbnRfZnNfZ2V0X3RhZzoKKyAqIEBmczogZnMKKyAqIEBuYW1lOiByZXR1cm5zIHBvaW50ZXIgdG8gTkFNRSBzdHJpbmcKKyAqIEB2YWx1ZTogcmV0dXJucyBwb2ludGVyIHRvIFZBTFVFIHN0cmluZworICoKKyAqICJUQUciIGlzIE5BTUU9VkFMVUUgKGUuZy4gTEFCRUw9Zm9vKQorICoKKyAqIFRoZSBUQUcgaXMgdGhlIGZpcnN0IGNvbHVtbiBpbiB0aGUgZnN0YWIgZmlsZS4gVGhlIFRBRyBvciAic3JjcGF0aCIgYWx3YXlzIGhhcworICogdG8gYmUgc2V0IGZvciBhbGwgZW50cmllcy4KKyAqCisgKiBTZWUgYWxzbyBtbnRfZnNfZ2V0X3NvdXJjZSgpLgorICoKKyAqIDxpbmZvcm1hbGV4YW1wbGU+CisgKiAgIDxwcm9ncmFtbGlzdGluZz4KKyAqCWNoYXIgKnNyYzsKKyAqCXN0cnVjdCBsaWJtbnRfZnMgKmZzID0gbW50X3RhYmxlX2ZpbmRfdGFyZ2V0KHRiLCAiL2hvbWUiLCBNTlRfSVRFUl9GT1JXQVJEKTsKKyAqCisgKglpZiAoIWZzKQorICoJCWdvdG8gZXJyOworICoKKyAqCXNyYyA9IG1udF9mc19nZXRfc3JjcGF0aChmcyk7CisgKglpZiAoIXNyYykgeworICoJCWNoYXIgKnRhZywgKnZhbDsKKyAqCQlpZiAobW50X2ZzX2dldF90YWcoZnMsICZ0YWcsICZ2YWwpID09IDApCisgKgkJCXByaW50ZigiJXM6ICVzXG4iLCB0YWcsIHZhbCk7CS8vIExBQkVMIG9yIFVVSUQKKyAqCX0gZWxzZQorICoJCXByaW50ZigiZGV2aWNlOiAlc1xuIiwgc3JjKTsJCS8vIGRldmljZSBvciBiaW5kIHBhdGgKKyAqICAgPC9wcm9ncmFtbGlzdGluZz4KKyAqIDwvaW5mb3JtYWxleGFtcGxlPgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcyBvciBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBhIFRBRyBpcyBub3QgZGVmaW5lZC4KKyAqLworaW50IG1udF9mc19nZXRfdGFnKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICoqbmFtZSwgY29uc3QgY2hhciAqKnZhbHVlKQoreworCWlmIChmcyA9PSBOVUxMIHx8ICFmcy0+dGFnbmFtZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKG5hbWUpCisJCSpuYW1lID0gZnMtPnRhZ25hbWU7CisJaWYgKHZhbHVlKQorCQkqdmFsdWUgPSBmcy0+dGFndmFsOworCXJldHVybiAwOworfQorCisvKioKKyAqIG1udF9mc19nZXRfdGFyZ2V0OgorICogQGZzOiBmc3RhYi9tdGFiL21vdW50aW5mbyBlbnRyeSBwb2ludGVyCisgKgorICogUmV0dXJuczogcG9pbnRlciB0byBtb3VudHBvaW50IHBhdGggb3IgTlVMTAorICovCitjb25zdCBjaGFyICptbnRfZnNfZ2V0X3RhcmdldChzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlyZXR1cm4gZnMgPyBmcy0+dGFyZ2V0IDogTlVMTDsKK30KKworLyoqCisgKiBtbnRfZnNfc2V0X3RhcmdldDoKKyAqIEBmczogZnN0YWIvbXRhYi9tb3VudGluZm8gZW50cnkKKyAqIEB0Z3Q6IG1vdW50cG9pbnQKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGNyZWF0ZXMgYSBwcml2YXRlIGNvcHkgKHN0cmR1cCgpKSBvZiBAdGd0LgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcyBvciBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9mc19zZXRfdGFyZ2V0KHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICp0Z3QpCit7CisJcmV0dXJuIHN0cmR1cF90b19zdHJ1Y3RfbWVtYmVyKGZzLCB0YXJnZXQsIHRndCk7Cit9CisKK3N0YXRpYyBpbnQgbW50X2ZzX2dldF9mbGFncyhzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlyZXR1cm4gZnMgPyBmcy0+ZmxhZ3MgOiAwOworfQorCisvKioKKyAqIG1udF9mc19nZXRfcHJvcGFnYXRpb246CisgKiBAZnM6IG1vdW50aW5mbyBlbnRyeQorICogQGZsYWdzOiByZXR1cm5zIHByb3BhZ2F0aW9uIE1TXyogZmxhZ3MgYXMgcHJlc2VudCBpbiB0aGUgbW91bnRpbmZvIGZpbGUKKyAqCisgKiBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBzZXRzIEBmbGFncyB0byB6ZXJvIGlmIG5vIHByb3BhZ2F0aW9uIGZsYWdzIGFyZSBmb3VuZAorICogaW4gdGhlIG1vdW50aW5mbyBmaWxlLiBUaGUga2VybmVsIGRlZmF1bHQgaXMgTVNfUFJJVkFURSwgdGhpcyBmbGFnIGlzIG5vdCBzdG9yZWQKKyAqIGluIHRoZSBtb3VudGluZm8gZmlsZS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfZnNfZ2V0X3Byb3BhZ2F0aW9uKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCB1bnNpZ25lZCBsb25nICpmbGFncykKK3sKKwlpZiAoIWZzIHx8ICFmbGFncykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkqZmxhZ3MgPSAwOworCisJaWYgKCFmcy0+b3B0X2ZpZWxkcykKKwkJcmV0dXJuIDA7CisKKwkgLyoKKwkgKiBUaGUgb3B0aW9uYWwgZmllbGRzIGZvcm1hdCBpcyBpbmNvbXBhdGlibGUgd2l0aCBtb3VudCBvcHRpb25zCisJICogLi4uIHdlIGhhdmUgdG8gcGFyc2UgdGhlIGZpZWxkIGhlcmUuCisJICovCisJKmZsYWdzIHw9IHN0cnN0cihmcy0+b3B0X2ZpZWxkcywgInNoYXJlZDoiKSA/IE1TX1NIQVJFRCA6IE1TX1BSSVZBVEU7CisKKwlpZiAoc3Ryc3RyKGZzLT5vcHRfZmllbGRzLCAibWFzdGVyOiIpKQorCQkqZmxhZ3MgfD0gTVNfU0xBVkU7CisJaWYgKHN0cnN0cihmcy0+b3B0X2ZpZWxkcywgInVuYmluZGFibGUiKSkKKwkJKmZsYWdzIHw9IE1TX1VOQklOREFCTEU7CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfZnNfaXNfa2VybmVsOgorICogQGZzOiBmaWxlc3lzdGVtCisgKgorICogUmV0dXJuczogMSBpZiB0aGUgZmlsZXN5c3RlbSBkZXNjcmlwdGlvbiBpcyByZWFkIGZyb20ga2VybmVsIGUuZy4gL3Byb2MvbW91bnRzLgorICovCitpbnQgbW50X2ZzX2lzX2tlcm5lbChzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlyZXR1cm4gbW50X2ZzX2dldF9mbGFncyhmcykgJiBNTlRfRlNfS0VSTkVMOworfQorCisvKioKKyAqIG1udF9mc19pc19zd2FwYXJlYToKKyAqIEBmczogZmlsZXN5c3RlbQorICoKKyAqIFJldHVybnM6IDEgaWYgdGhlIGZpbGVzeXN0ZW0gdXNlcyAic3dhcCIgYXMgYSB0eXBlCisgKi8KK2ludCBtbnRfZnNfaXNfc3dhcGFyZWEoc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJcmV0dXJuIG1udF9mc19nZXRfZmxhZ3MoZnMpICYgTU5UX0ZTX1NXQVA7Cit9CisKKy8qKgorICogbW50X2ZzX2lzX3BzZXVkb2ZzOgorICogQGZzOiBmaWxlc3lzdGVtCisgKgorICogUmV0dXJuczogMSBpZiB0aGUgZmlsZXN5c3RlbSBpcyBhIHBzZXVkbyBmcyB0eXBlIChwcm9jLCBjZ3JvdXBzKQorICovCitpbnQgbW50X2ZzX2lzX3BzZXVkb2ZzKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXJldHVybiBtbnRfZnNfZ2V0X2ZsYWdzKGZzKSAmIE1OVF9GU19QU0VVRE87Cit9CisKKy8qKgorICogbW50X2ZzX2lzX25ldGZzOgorICogQGZzOiBmaWxlc3lzdGVtCisgKgorICogUmV0dXJuczogMSBpZiB0aGUgZmlsZXN5c3RlbSBpcyBhIG5ldHdvcmsgZmlsZXN5c3RlbQorICovCitpbnQgbW50X2ZzX2lzX25ldGZzKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXJldHVybiBtbnRfZnNfZ2V0X2ZsYWdzKGZzKSAmIE1OVF9GU19ORVQ7Cit9CisKKy8qKgorICogbW50X2ZzX2dldF9mc3R5cGU6CisgKiBAZnM6IGZzdGFiL210YWIvbW91bnRpbmZvIGVudHJ5IHBvaW50ZXIKKyAqCisgKiBSZXR1cm5zOiBwb2ludGVyIHRvIGZpbGVzeXN0ZW0gdHlwZS4KKyAqLworY29uc3QgY2hhciAqbW50X2ZzX2dldF9mc3R5cGUoc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJcmV0dXJuIGZzID8gZnMtPmZzdHlwZSA6IE5VTEw7Cit9CisKKy8qIFVzZWQgYnkgdGhlIHN0cnVjdCBsaWJtbnRfZmlsZSBwYXJzZXIgb25seSAqLworaW50IF9fbW50X2ZzX3NldF9mc3R5cGVfcHRyKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjaGFyICpmc3R5cGUpCit7CisJYXNzZXJ0KGZzKTsKKworCWlmIChmc3R5cGUgIT0gZnMtPmZzdHlwZSkKKwkJZnJlZShmcy0+ZnN0eXBlKTsKKworCWZzLT5mc3R5cGUgPSBmc3R5cGU7CisJZnMtPmZsYWdzICY9IH5NTlRfRlNfUFNFVURPOworCWZzLT5mbGFncyAmPSB+TU5UX0ZTX05FVDsKKwlmcy0+ZmxhZ3MgJj0gfk1OVF9GU19TV0FQOworCisJLyogc2F2ZSBpbmZvIGFib3V0IHBzZXVkbyBmaWxlc3lzdGVtcyAqLworCWlmIChmcy0+ZnN0eXBlKSB7CisJCWlmIChtbnRfZnN0eXBlX2lzX3BzZXVkb2ZzKGZzLT5mc3R5cGUpKQorCQkJZnMtPmZsYWdzIHw9IE1OVF9GU19QU0VVRE87CisJCWVsc2UgaWYgKG1udF9mc3R5cGVfaXNfbmV0ZnMoZnMtPmZzdHlwZSkpCisJCQlmcy0+ZmxhZ3MgfD0gTU5UX0ZTX05FVDsKKwkJZWxzZSBpZiAoIXN0cmNtcChmcy0+ZnN0eXBlLCAic3dhcCIpKQorCQkJZnMtPmZsYWdzIHw9IE1OVF9GU19TV0FQOworCX0KKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfZnNfc2V0X2ZzdHlwZToKKyAqIEBmczogZnN0YWIvbXRhYi9tb3VudGluZm8gZW50cnkKKyAqIEBmc3R5cGU6IGZpbGVzeXN0ZW0gdHlwZQorICoKKyAqIFRoaXMgZnVuY3Rpb24gY3JlYXRlcyBhIHByaXZhdGUgY29weSAoc3RyZHVwKCkpIG9mIEBmc3R5cGUuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2ZzX3NldF9mc3R5cGUoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKmZzdHlwZSkKK3sKKwljaGFyICpwID0gTlVMTDsKKworCWlmICghZnMpCisJCXJldHVybiAtRUlOVkFMOworCWlmIChmc3R5cGUpIHsKKwkJcCA9IHN0cmR1cChmc3R5cGUpOworCQlpZiAoIXApCisJCQlyZXR1cm4gLUVOT01FTTsKKwl9CisJcmV0dXJuICBfX21udF9mc19zZXRfZnN0eXBlX3B0cihmcywgcCk7Cit9CisKKy8qCisgKiBNZXJnZXMgQHZmcyBhbmQgQGZzIG9wdGlvbnMgc3RyaW5ncyBpbnRvIGEgbmV3IHN0cmluZy4KKyAqIFRoaXMgZnVuY3Rpb24gY2FyZXMgYWJvdXQgJ3JvL3J3JyBvcHRpb25zLiBUaGUgJ3JvJyBpcworICogYWx3YXlzIHVzZWQgaWYgQHZmcyBvciBAZnMgaXMgcmVhZC1vbmx5LgorICogRm9yIGV4YW1wbGU6CisgKgorICogICAgbW50X21lcmdlX29wdHN0cigicncsbm9leGVjIiwgInJvLGpvdXJuYWw9dXBkYXRlIikKKyAqCisgKiAgICAgICAgICAgcmV0dXJuczogInJvLG5vZXhlYyxqb3VybmFsPXVwZGF0ZSIKKyAqCisgKiAgICBtbnRfbWVyZ2Vfb3B0c3RyKCJydyxub2V4ZWMiLCAicncsam91cm5hbD11cGRhdGUiKQorICoKKyAqICAgICAgICAgICByZXR1cm5zOiAicncsbm9leGVjLGpvdXJuYWw9dXBkYXRlIgorICovCitzdGF0aWMgY2hhciAqbWVyZ2Vfb3B0c3RyKGNvbnN0IGNoYXIgKnZmcywgY29uc3QgY2hhciAqZnMpCit7CisJY2hhciAqcmVzLCAqcDsKKwlzaXplX3Qgc3o7CisJaW50IHJvID0gMCwgcncgPSAwOworCisJaWYgKCF2ZnMgJiYgIWZzKQorCQlyZXR1cm4gTlVMTDsKKwlpZiAoIXZmcyB8fCAhZnMpCisJCXJldHVybiBzdHJkdXAoZnMgPyBmcyA6IHZmcyk7CisJaWYgKCFzdHJjbXAodmZzLCBmcykpCisJCXJldHVybiBzdHJkdXAodmZzKTsJCS8qIGUuZy4gImFhYSIgYW5kICJhYWEiICovCisKKwkvKiBsZWF2ZSBzcGFjZSBmb3IgdGhlIGxlYWRpbmcgInJbb3ddLCIsICIsIiBhbmQgdGhlIHRyYWlsaW5nIHplcm8gKi8KKwlzeiA9IHN0cmxlbih2ZnMpICsgc3RybGVuKGZzKSArIDU7CisJcmVzID0gbWFsbG9jKHN6KTsKKwlpZiAoIXJlcykKKwkJcmV0dXJuIE5VTEw7CisJcCA9IHJlcyArIDM7CQkJLyogbWFrZSBhIHJvb20gZm9yIHJ3L3JvIGZsYWcgKi8KKworCXNucHJpbnRmKHAsIHN6IC0gMywgIiVzLCVzIiwgdmZzLCBmcyk7CisKKwkvKiByZW1vdmUgJ3J3JyBmbGFncyAqLworCXJ3ICs9ICFtbnRfb3B0c3RyX3JlbW92ZV9vcHRpb24oJnAsICJydyIpOwkvKiBmcm9tIHZmcyAqLworCXJ3ICs9ICFtbnRfb3B0c3RyX3JlbW92ZV9vcHRpb24oJnAsICJydyIpOwkvKiBmcm9tIGZzICovCisKKwkvKiByZW1vdmUgJ3JvJyBmbGFncyBpZiBuZWNlc3NhcnkgKi8KKwlpZiAocncgIT0gMikgeworCQlybyArPSAhbW50X29wdHN0cl9yZW1vdmVfb3B0aW9uKCZwLCAicm8iKTsKKwkJaWYgKHJvICsgcncgPCAyKQorCQkJcm8gKz0gIW1udF9vcHRzdHJfcmVtb3ZlX29wdGlvbigmcCwgInJvIik7CisJfQorCisJaWYgKCFzdHJsZW4ocCkpCisJCW1lbWNweShyZXMsIHJvID8gInJvIiA6ICJydyIsIDMpOworCWVsc2UKKwkJbWVtY3B5KHJlcywgcm8gPyAicm8sIiA6ICJydywiLCAzKTsKKwlyZXR1cm4gcmVzOworfQorCisvKioKKyAqIG1udF9mc19zdHJkdXBfb3B0aW9uczoKKyAqIEBmczogZnN0YWIvbXRhYi9tb3VudGluZm8gZW50cnkgcG9pbnRlcgorICoKKyAqIE1lcmdlcyBhbGwgbW91bnQgb3B0aW9ucyAoVkZTLCBGUyBhbmQgdXNlcnNwYWNlKSB0byBvbmUgb3B0aW9ucyBzdHJpbmcKKyAqIGFuZCByZXR1cm5zIHRoZSByZXN1bHQuIFRoaXMgZnVuY3Rpb24gZG9lcyBub3QgbW9kaWZ5IEBmcy4KKyAqCisgKiBSZXR1cm5zOiBwb2ludGVyIHRvIHN0cmluZyAoY2FuIGJlIGZyZWVkIGJ5IGZyZWUoMykpIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworY2hhciAqbW50X2ZzX3N0cmR1cF9vcHRpb25zKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCWNoYXIgKnJlczsKKworCWlmICghZnMpCisJCXJldHVybiBOVUxMOworCisJZXJybm8gPSAwOworCWlmIChmcy0+b3B0c3RyKQorCQlyZXR1cm4gc3RyZHVwKGZzLT5vcHRzdHIpOworCisJcmVzID0gbWVyZ2Vfb3B0c3RyKGZzLT52ZnNfb3B0c3RyLCBmcy0+ZnNfb3B0c3RyKTsKKwlpZiAoIXJlcyAmJiBlcnJubykKKwkJcmV0dXJuIE5VTEw7CisJaWYgKGZzLT51c2VyX29wdHN0ciAmJgorCSAgICBtbnRfb3B0c3RyX2FwcGVuZF9vcHRpb24oJnJlcywgZnMtPnVzZXJfb3B0c3RyLCBOVUxMKSkgeworCQlmcmVlKHJlcyk7CisJCXJlcyA9IE5VTEw7CisJfQorCXJldHVybiByZXM7Cit9CisKKy8qKgorICogbW50X2ZzX2dldF9vcHRpb25zOgorICogQGZzOiBmc3RhYi9tdGFiL21vdW50aW5mbyBlbnRyeSBwb2ludGVyCisgKgorICogUmV0dXJuczogcG9pbnRlciB0byBzdHJpbmcgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCitjb25zdCBjaGFyICptbnRfZnNfZ2V0X29wdGlvbnMoc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJcmV0dXJuIGZzID8gZnMtPm9wdHN0ciA6IE5VTEw7Cit9CisKKy8qKgorICogbW50X2ZzX2dldF9vcHRpb25hbF9maWVsZHMKKyAqIEBmczogbW91bnRpbmZvIGVudHJ5IHBvaW50ZXIKKyAqCisgKiBSZXR1cm5zOiBwb2ludGVyIHRvIHN0cmluZyB3aXRoIG1vdW50aW5mbyBvcHRpb25hbCBmaWVsZHMKKyAqICAgICAgICAgIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworY29uc3QgY2hhciAqbW50X2ZzX2dldF9vcHRpb25hbF9maWVsZHMoc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJcmV0dXJuIGZzID8gZnMtPm9wdF9maWVsZHMgOiBOVUxMOworfQorCisvKioKKyAqIG1udF9mc19zZXRfb3B0aW9uczoKKyAqIEBmczogZnN0YWIvbXRhYi9tb3VudGluZm8gZW50cnkgcG9pbnRlcgorICogQG9wdHN0cjogb3B0aW9ucyBzdHJpbmcKKyAqCisgKiBTcGxpdHMgQG9wdHN0ciB0byBWRlMsIEZTIGFuZCB1c2Vyc3BhY2UgbW91bnQgb3B0aW9ucyBhbmQgdXBkYXRlcyByZWxldmFudAorICogcGFydHMgb2YgQGZzLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2Vzcywgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfZnNfc2V0X29wdGlvbnMoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKm9wdHN0cikKK3sKKwljaGFyICp2ID0gTlVMTCwgKmYgPSBOVUxMLCAqdSA9IE5VTEwsICpuID0gTlVMTDsKKworCWlmICghZnMpCisJCXJldHVybiAtRUlOVkFMOworCWlmIChvcHRzdHIpIHsKKwkJaW50IHJjID0gbW50X3NwbGl0X29wdHN0cihvcHRzdHIsICZ1LCAmdiwgJmYsIDAsIDApOworCQlpZiAocmMpCisJCQlyZXR1cm4gcmM7CisJCW4gPSBzdHJkdXAob3B0c3RyKTsKKwkJaWYgKCFuKSB7CisJCQlmcmVlKHUpOworCQkJZnJlZSh2KTsKKwkJCWZyZWUoZik7CisJCQlyZXR1cm4gLUVOT01FTTsKKwkJfQorCX0KKworCWZyZWUoZnMtPmZzX29wdHN0cik7CisJZnJlZShmcy0+dmZzX29wdHN0cik7CisJZnJlZShmcy0+dXNlcl9vcHRzdHIpOworCWZyZWUoZnMtPm9wdHN0cik7CisKKwlmcy0+ZnNfb3B0c3RyID0gZjsKKwlmcy0+dmZzX29wdHN0ciA9IHY7CisJZnMtPnVzZXJfb3B0c3RyID0gdTsKKwlmcy0+b3B0c3RyID0gbjsKKworCXJldHVybiAwOworfQorCisvKioKKyAqIG1udF9mc19hcHBlbmRfb3B0aW9uczoKKyAqIEBmczogZnN0YWIvbXRhYi9tb3VudGluZm8gZW50cnkKKyAqIEBvcHRzdHI6IG1vdW50IG9wdGlvbnMKKyAqCisgKiBQYXJzZXMgKHNwbGl0cykgQG9wdHN0ciBhbmQgYXBwZW5kcyByZXN1bHRzIHRvIFZGUywgRlMgYW5kIHVzZXJzcGFjZSBsaXN0cworICogb2Ygb3B0aW9ucy4KKyAqCisgKiBJZiBAb3B0c3RyIGlzIE5VTEwsIHRoZW4gQGZzIGlzIG5vdCBtb2RpZmllZCBhbmQgMCBpcyByZXR1cm5lZC4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfZnNfYXBwZW5kX29wdGlvbnMoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKm9wdHN0cikKK3sKKwljaGFyICp2ID0gTlVMTCwgKmYgPSBOVUxMLCAqdSA9IE5VTEw7CisJaW50IHJjOworCisJaWYgKCFmcykKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKCFvcHRzdHIpCisJCXJldHVybiAwOworCisJcmMgPSBtbnRfc3BsaXRfb3B0c3RyKChjaGFyICopIG9wdHN0ciwgJnUsICZ2LCAmZiwgMCwgMCk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwlpZiAoIXJjICYmIHYpCisJCXJjID0gbW50X29wdHN0cl9hcHBlbmRfb3B0aW9uKCZmcy0+dmZzX29wdHN0ciwgdiwgTlVMTCk7CisJaWYgKCFyYyAmJiBmKQorCQlyYyA9IG1udF9vcHRzdHJfYXBwZW5kX29wdGlvbigmZnMtPmZzX29wdHN0ciwgZiwgTlVMTCk7CisJaWYgKCFyYyAmJiB1KQorCQlyYyA9IG1udF9vcHRzdHJfYXBwZW5kX29wdGlvbigmZnMtPnVzZXJfb3B0c3RyLCB1LCBOVUxMKTsKKwlpZiAoIXJjKQorCQlyYyA9IG1udF9vcHRzdHJfYXBwZW5kX29wdGlvbigmZnMtPm9wdHN0ciwgb3B0c3RyLCBOVUxMKTsKKworCWZyZWUodik7CisJZnJlZShmKTsKKwlmcmVlKHUpOworCisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIG1udF9mc19wcmVwZW5kX29wdGlvbnM6CisgKiBAZnM6IGZzdGFiL210YWIvbW91bnRpbmZvIGVudHJ5CisgKiBAb3B0c3RyOiBtb3VudCBvcHRpb25zCisgKgorICogUGFyc2VzIChzcGxpdHMpIEBvcHRzdHIgYW5kIHByZXBlbmRzIHRoZSByZXN1bHRzIHRvIFZGUywgRlMgYW5kIHVzZXJzcGFjZSBsaXN0cworICogb2Ygb3B0aW9ucy4KKyAqCisgKiBJZiBAb3B0c3RyIGlzIE5VTEwsIHRoZW4gQGZzIGlzIG5vdCBtb2RpZmllZCBhbmQgMCBpcyByZXR1cm5lZC4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfZnNfcHJlcGVuZF9vcHRpb25zKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpvcHRzdHIpCit7CisJY2hhciAqdiA9IE5VTEwsICpmID0gTlVMTCwgKnUgPSBOVUxMOworCWludCByYzsKKworCWlmICghZnMpCisJCXJldHVybiAtRUlOVkFMOworCWlmICghb3B0c3RyKQorCQlyZXR1cm4gMDsKKworCXJjID0gbW50X3NwbGl0X29wdHN0cigoY2hhciAqKSBvcHRzdHIsICZ1LCAmdiwgJmYsIDAsIDApOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJaWYgKCFyYyAmJiB2KQorCQlyYyA9IG1udF9vcHRzdHJfcHJlcGVuZF9vcHRpb24oJmZzLT52ZnNfb3B0c3RyLCB2LCBOVUxMKTsKKwlpZiAoIXJjICYmIGYpCisJCXJjID0gbW50X29wdHN0cl9wcmVwZW5kX29wdGlvbigmZnMtPmZzX29wdHN0ciwgZiwgTlVMTCk7CisJaWYgKCFyYyAmJiB1KQorCQlyYyA9IG1udF9vcHRzdHJfcHJlcGVuZF9vcHRpb24oJmZzLT51c2VyX29wdHN0ciwgdSwgTlVMTCk7CisJaWYgKCFyYykKKwkJcmMgPSBtbnRfb3B0c3RyX3ByZXBlbmRfb3B0aW9uKCZmcy0+b3B0c3RyLCBvcHRzdHIsIE5VTEwpOworCisJZnJlZSh2KTsKKwlmcmVlKGYpOworCWZyZWUodSk7CisKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBtbnRfZnNfZ2V0X2ZzX29wdGlvbnM6CisgKiBAZnM6IGZzdGFiL210YWIvbW91bnRpbmZvIGVudHJ5IHBvaW50ZXIKKyAqCisgKiBSZXR1cm5zOiBwb2ludGVyIHRvIHN1cGVyYmxvY2sgKGZzLWRlcGVuZCkgbW91bnQgb3B0aW9uIHN0cmluZyBvciBOVUxMLgorICovCitjb25zdCBjaGFyICptbnRfZnNfZ2V0X2ZzX29wdGlvbnMoc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJcmV0dXJuIGZzID8gZnMtPmZzX29wdHN0ciA6IE5VTEw7Cit9CisKKy8qKgorICogbW50X2ZzX2dldF92ZnNfb3B0aW9uczoKKyAqIEBmczogZnN0YWIvbXRhYiBlbnRyeSBwb2ludGVyCisgKgorICogUmV0dXJuczogcG9pbnRlciB0byBmcy1pbmRlcGVuZGVudCAoVkZTKSBtb3VudCBvcHRpb24gc3RyaW5nIG9yIE5VTEwuCisgKi8KK2NvbnN0IGNoYXIgKm1udF9mc19nZXRfdmZzX29wdGlvbnMoc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJcmV0dXJuIGZzID8gZnMtPnZmc19vcHRzdHIgOiBOVUxMOworfQorCisvKioKKyAqIG1udF9mc19nZXRfdXNlcl9vcHRpb25zOgorICogQGZzOiBmc3RhYi9tdGFiIGVudHJ5IHBvaW50ZXIKKyAqCisgKiBSZXR1cm5zOiBwb2ludGVyIHRvIHVzZXJzcGFjZSBtb3VudCBvcHRpb24gc3RyaW5nIG9yIE5VTEwuCisgKi8KK2NvbnN0IGNoYXIgKm1udF9mc19nZXRfdXNlcl9vcHRpb25zKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXJldHVybiBmcyA/IGZzLT51c2VyX29wdHN0ciA6IE5VTEw7Cit9CisKKy8qKgorICogbW50X2ZzX2dldF9hdHRyaWJ1dGVzOgorICogQGZzOiBmc3RhYi9tdGFiIGVudHJ5IHBvaW50ZXIKKyAqCisgKiBSZXR1cm5zOiBwb2ludGVyIHRvIGF0dHJpYnV0ZXMgc3RyaW5nIG9yIE5VTEwuCisgKi8KK2NvbnN0IGNoYXIgKm1udF9mc19nZXRfYXR0cmlidXRlcyhzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlyZXR1cm4gZnMgPyBmcy0+YXR0cnMgOiBOVUxMOworfQorCisvKioKKyAqIG1udF9mc19zZXRfYXR0cmlidXRlczoKKyAqIEBmczogZnN0YWIvbXRhYi9tb3VudGluZm8gZW50cnkKKyAqIEBvcHRzdHI6IG9wdGlvbnMgc3RyaW5nCisgKgorICogU2V0cyBtb3VudCBhdHRyaWJ1dGVzLiBUaGUgYXR0cmlidXRlcyBhcmUgbW91bnQoMikgYW5kIG1vdW50KDgpIGluZGVwZW5kZW50CisgKiBvcHRpb25zLCB0aGVzZSBvcHRpb25zIGFyZSBub3Qgc2VudCB0byB0aGUga2VybmVsIGFuZCBhcmUgbm90IGludGVycHJldGVkIGJ5CisgKiBsaWJtb3VudC4gVGhlIGF0dHJpYnV0ZXMgYXJlIHN0b3JlZCBpbiAvcnVuL21vdW50L3V0YWIgb25seS4KKyAqCisgKiBUaGUgYXR0cmlidXRlcyBhcmUgbWFuYWdlZCBieSBsaWJtb3VudCBpbiB1c2Vyc3BhY2Ugb25seS4gSXQncyBwb3NzaWJsZQorICogdGhhdCBpbmZvcm1hdGlvbiBzdG9yZWQgaW4gdXNlcnNwYWNlIHdpbGwgbm90IGJlIGF2YWlsYWJsZSBmb3IgbGlibW91bnQKKyAqIGFmdGVyIENMT05FX0ZTIHVuc2hhcmUuIEJlIGNhcmVmdWwsIGFuZCBkb24ndCB1c2UgYXR0cmlidXRlcyBpZiBwb3NzaWJsZS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfZnNfc2V0X2F0dHJpYnV0ZXMoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKm9wdHN0cikKK3sKKwlyZXR1cm4gc3RyZHVwX3RvX3N0cnVjdF9tZW1iZXIoZnMsIGF0dHJzLCBvcHRzdHIpOworfQorCisvKioKKyAqIG1udF9mc19hcHBlbmRfYXR0cmlidXRlcworICogQGZzOiBmc3RhYi9tdGFiL21vdW50aW5mbyBlbnRyeQorICogQG9wdHN0cjogb3B0aW9ucyBzdHJpbmcKKyAqCisgKiBBcHBlbmRzIG1vdW50IGF0dHJpYnV0ZXMuIChTZWUgbW50X2ZzX3NldF9hdHRyaWJ1dGVzKCkpLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcyBvciBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9mc19hcHBlbmRfYXR0cmlidXRlcyhzdHJ1Y3QgbGlibW50X2ZzICpmcywgY29uc3QgY2hhciAqb3B0c3RyKQoreworCWlmICghZnMpCisJCXJldHVybiAtRUlOVkFMOworCWlmICghb3B0c3RyKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gbW50X29wdHN0cl9hcHBlbmRfb3B0aW9uKCZmcy0+YXR0cnMsIG9wdHN0ciwgTlVMTCk7Cit9CisKKy8qKgorICogbW50X2ZzX3ByZXBlbmRfYXR0cmlidXRlcworICogQGZzOiBmc3RhYi9tdGFiL21vdW50aW5mbyBlbnRyeQorICogQG9wdHN0cjogb3B0aW9ucyBzdHJpbmcKKyAqCisgKiBQcmVwZW5kcyBtb3VudCBhdHRyaWJ1dGVzLiAoU2VlIG1udF9mc19zZXRfYXR0cmlidXRlcygpKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfZnNfcHJlcGVuZF9hdHRyaWJ1dGVzKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpvcHRzdHIpCit7CisJaWYgKCFmcykKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKCFvcHRzdHIpCisJCXJldHVybiAwOworCXJldHVybiBtbnRfb3B0c3RyX3ByZXBlbmRfb3B0aW9uKCZmcy0+YXR0cnMsIG9wdHN0ciwgTlVMTCk7Cit9CisKKworLyoqCisgKiBtbnRfZnNfZ2V0X2ZyZXE6CisgKiBAZnM6IGZzdGFiL210YWIvbW91bnRpbmZvIGVudHJ5IHBvaW50ZXIKKyAqCisgKiBSZXR1cm5zOiBkdW1wIGZyZXF1ZW5jeSBpbiBkYXlzLgorICovCitpbnQgbW50X2ZzX2dldF9mcmVxKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXJldHVybiBmcyA/IGZzLT5mcmVxIDogMDsKK30KKworLyoqCisgKiBtbnRfZnNfc2V0X2ZyZXE6CisgKiBAZnM6IGZzdGFiL210YWIgZW50cnkgcG9pbnRlcgorICogQGZyZXE6IGR1bXAgZnJlcXVlbmN5IGluIGRheXMKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfZnNfc2V0X2ZyZXEoc3RydWN0IGxpYm1udF9mcyAqZnMsIGludCBmcmVxKQoreworCWlmICghZnMpCisJCXJldHVybiAtRUlOVkFMOworCWZzLT5mcmVxID0gZnJlcTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfZnNfZ2V0X3Bhc3NubzoKKyAqIEBmczogZnN0YWIvbXRhYiBlbnRyeSBwb2ludGVyCisgKgorICogUmV0dXJuczogInBhc3MgbnVtYmVyIG9uIHBhcmFsbGVsIGZzY2siLgorICovCitpbnQgbW50X2ZzX2dldF9wYXNzbm8oc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJcmV0dXJuIGZzID8gZnMtPnBhc3NubzogMDsKK30KKworLyoqCisgKiBtbnRfZnNfc2V0X3Bhc3NubzoKKyAqIEBmczogZnN0YWIvbXRhYiBlbnRyeSBwb2ludGVyCisgKiBAcGFzc25vOiBwYXNzIG51bWJlcgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcyBvciBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9mc19zZXRfcGFzc25vKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBpbnQgcGFzc25vKQoreworCWlmICghZnMpCisJCXJldHVybiAtRUlOVkFMOworCWZzLT5wYXNzbm8gPSBwYXNzbm87CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X2ZzX2dldF9yb290OgorICogQGZzOiAvcHJvYy9zZWxmL21vdW50aW5mbyBlbnRyeQorICoKKyAqIFJldHVybnM6IHJvb3Qgb2YgdGhlIG1vdW50IHdpdGhpbiB0aGUgZmlsZXN5c3RlbSBvciBOVUxMCisgKi8KK2NvbnN0IGNoYXIgKm1udF9mc19nZXRfcm9vdChzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlyZXR1cm4gZnMgPyBmcy0+cm9vdCA6IE5VTEw7Cit9CisKKy8qKgorICogbW50X2ZzX3NldF9yb290OgorICogQGZzOiBtb3VudGluZm8gZW50cnkKKyAqIEBwYXRoOiByb290IHBhdGgKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfZnNfc2V0X3Jvb3Qoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKnBhdGgpCit7CisJcmV0dXJuIHN0cmR1cF90b19zdHJ1Y3RfbWVtYmVyKGZzLCByb290LCBwYXRoKTsKK30KKworLyoqCisgKiBtbnRfZnNfZ2V0X3N3YXB0eXBlOgorICogQGZzOiAvcHJvYy9zd2FwcyBlbnRyeQorICoKKyAqIFJldHVybnM6IHN3YXAgdHlwZSBvciBOVUxMCisgKi8KK2NvbnN0IGNoYXIgKm1udF9mc19nZXRfc3dhcHR5cGUoc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJcmV0dXJuIGZzID8gZnMtPnN3YXB0eXBlIDogTlVMTDsKK30KKworLyoqCisgKiBtbnRfZnNfZ2V0X3NpemU6CisgKiBAZnM6IC9wcm9jL3N3YXBzIGVudHJ5CisgKgorICogUmV0dXJuczogc2l6ZQorICovCitvZmZfdCBtbnRfZnNfZ2V0X3NpemUoc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJcmV0dXJuIGZzID8gZnMtPnNpemUgOiAwOworfQorCisvKioKKyAqIG1udF9mc19nZXRfdXNlZHNpemU6CisgKiBAZnM6IC9wcm9jL3N3YXBzIGVudHJ5CisgKgorICogUmV0dXJuczogdXNlZCBzaXplCisgKi8KK29mZl90IG1udF9mc19nZXRfdXNlZHNpemUoc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJcmV0dXJuIGZzID8gZnMtPnVzZWRzaXplIDogMDsKK30KKworLyoqCisgKiBtbnRfZnNfZ2V0X3ByaW9yaXR5OgorICogQGZzOiAvcHJvYy9zd2FwcyBlbnRyeQorICoKKyAqIFJldHVybnM6IHByaW9yaXR5CisgKi8KK2ludCBtbnRfZnNfZ2V0X3ByaW9yaXR5KHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXJldHVybiBmcyA/IGZzLT5wcmlvcml0eSA6IDA7Cit9CisKKy8qKgorICogbW50X2ZzX3NldF9wcmlvcml0eToKKyAqIEBmczogL3Byb2Mvc3dhcHMgZW50cnkKKyAqIEBwcmlvOiBwcmlvcml0eQorICoKKyAqIFJldHVybnM6IDAgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQgbW50X2ZzX3NldF9wcmlvcml0eShzdHJ1Y3QgbGlibW50X2ZzICpmcywgaW50IHByaW8pCit7CisJaWYgKCFmcykKKwkJcmV0dXJuIC1FSU5WQUw7CisJZnMtPnByaW9yaXR5ID0gcHJpbzsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfZnNfZ2V0X2JpbmRzcmM6CisgKiBAZnM6IC9ydW4vbW91bnQvdXRhYiBlbnRyeQorICoKKyAqIFJldHVybnM6IGZ1bGwgcGF0aCB0aGF0IHdhcyB1c2VkIGZvciBtb3VudCgyKSBvbiBNU19CSU5ECisgKi8KK2NvbnN0IGNoYXIgKm1udF9mc19nZXRfYmluZHNyYyhzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlyZXR1cm4gZnMgPyBmcy0+YmluZHNyYyA6IE5VTEw7Cit9CisKKy8qKgorICogbW50X2ZzX3NldF9iaW5kc3JjOgorICogQGZzOiBmaWxlc3lzdGVtCisgKiBAc3JjOiBwYXRoCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2ZzX3NldF9iaW5kc3JjKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpzcmMpCit7CisJcmV0dXJuIHN0cmR1cF90b19zdHJ1Y3RfbWVtYmVyKGZzLCBiaW5kc3JjLCBzcmMpOworfQorCisvKioKKyAqIG1udF9mc19nZXRfaWQ6CisgKiBAZnM6IC9wcm9jL3NlbGYvbW91bnRpbmZvIGVudHJ5CisgKgorICogUmV0dXJuczogbW91bnQgSUQgKHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBtb3VudCkgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfZnNfZ2V0X2lkKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXJldHVybiBmcyA/IGZzLT5pZCA6IC1FSU5WQUw7Cit9CisKKy8qKgorICogbW50X2ZzX2dldF9wYXJlbnRfaWQ6CisgKiBAZnM6IC9wcm9jL3NlbGYvbW91bnRpbmZvIGVudHJ5CisgKgorICogUmV0dXJuczogcGFyZW50IG1vdW50IElEIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2ZzX2dldF9wYXJlbnRfaWQoc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJcmV0dXJuIGZzID8gZnMtPnBhcmVudCA6IC1FSU5WQUw7Cit9CisKKy8qKgorICogbW50X2ZzX2dldF9kZXZubzoKKyAqIEBmczogL3Byb2Mvc2VsZi9tb3VudGluZm8gZW50cnkKKyAqCisgKiBSZXR1cm5zOiB2YWx1ZSBvZiBzdF9kZXYgZm9yIGZpbGVzIG9uIGZpbGVzeXN0ZW0gb3IgMCBpbiBjYXNlIG9mIGVycm9yLgorICovCitkZXZfdCBtbnRfZnNfZ2V0X2Rldm5vKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXJldHVybiBmcyA/IGZzLT5kZXZubyA6IDA7Cit9CisKKy8qKgorICogbW50X2ZzX2dldF90aWQ6CisgKiBAZnM6IC9wcm9jL3RpZC9tb3VudGluZm8gZW50cnkKKyAqCisgKiBSZXR1cm5zOiBUSUQgKHRhc2sgSUQpIGZvciBmaWxlc3lzdGVtcyByZWFkIGZyb20gdGhlIG1vdW50aW5mbyBmaWxlCisgKi8KK3BpZF90IG1udF9mc19nZXRfdGlkKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXJldHVybiBmcyA/IGZzLT50aWQgOiAwOworfQorCisvKioKKyAqIG1udF9mc19nZXRfb3B0aW9uOgorICogQGZzOiBmc3RhYi9tdGFiL21vdW50aW5mbyBlbnRyeSBwb2ludGVyCisgKiBAbmFtZTogb3B0aW9uIG5hbWUKKyAqIEB2YWx1ZTogcmV0dXJucyBwb2ludGVyIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHZhbHVlIChlLmcuIG5hbWU9VkFMVUUpIG9yIE5VTEwKKyAqIEB2YWxzejogcmV0dXJucyBzaXplIG9mIG9wdGlvbnMgdmFsdWUgb3IgMAorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgMSB3aGVuIEBuYW1lIG5vdCBmb3VuZCBvciBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9mc19nZXRfb3B0aW9uKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpuYW1lLAorCQljaGFyICoqdmFsdWUsIHNpemVfdCAqdmFsc3opCit7CisJY2hhciByYyA9IDE7CisKKwlpZiAoIWZzKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoZnMtPmZzX29wdHN0cikKKwkJcmMgPSBtbnRfb3B0c3RyX2dldF9vcHRpb24oZnMtPmZzX29wdHN0ciwgbmFtZSwgdmFsdWUsIHZhbHN6KTsKKwlpZiAocmMgPT0gMSAmJiBmcy0+dmZzX29wdHN0cikKKwkJcmMgPSBtbnRfb3B0c3RyX2dldF9vcHRpb24oZnMtPnZmc19vcHRzdHIsIG5hbWUsIHZhbHVlLCB2YWxzeik7CisJaWYgKHJjID09IDEgJiYgZnMtPnVzZXJfb3B0c3RyKQorCQlyYyA9IG1udF9vcHRzdHJfZ2V0X29wdGlvbihmcy0+dXNlcl9vcHRzdHIsIG5hbWUsIHZhbHVlLCB2YWxzeik7CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIG1udF9mc19nZXRfYXR0cmlidXRlOgorICogQGZzOiBmc3RhYi9tdGFiL21vdW50aW5mbyBlbnRyeSBwb2ludGVyCisgKiBAbmFtZTogb3B0aW9uIG5hbWUKKyAqIEB2YWx1ZTogcmV0dXJucyBwb2ludGVyIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHZhbHVlIChlLmcuIG5hbWU9VkFMVUUpIG9yIE5VTEwKKyAqIEB2YWxzejogcmV0dXJucyBzaXplIG9mIG9wdGlvbnMgdmFsdWUgb3IgMAorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgMSB3aGVuIEBuYW1lIG5vdCBmb3VuZCBvciBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9mc19nZXRfYXR0cmlidXRlKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpuYW1lLAorCQljaGFyICoqdmFsdWUsIHNpemVfdCAqdmFsc3opCit7CisJY2hhciByYyA9IDE7CisKKwlpZiAoIWZzKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoZnMtPmF0dHJzKQorCQlyYyA9IG1udF9vcHRzdHJfZ2V0X29wdGlvbihmcy0+YXR0cnMsIG5hbWUsIHZhbHVlLCB2YWxzeik7CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIG1udF9mc19nZXRfY29tbWVudDoKKyAqIEBmczogZnN0YWIvbXRhYi9tb3VudGluZm8gZW50cnkgcG9pbnRlcgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgMSB3aGVuIG5vdCBmb3VuZCB0aGUgQG5hbWUgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2NvbnN0IGNoYXIgKm1udF9mc19nZXRfY29tbWVudChzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlpZiAoIWZzKQorCQlyZXR1cm4gTlVMTDsKKwlyZXR1cm4gZnMtPmNvbW1lbnQ7Cit9CisKKy8qKgorICogbW50X2ZzX3NldF9jb21tZW50OgorICogQGZzOiBmc3RhYiBlbnRyeSBwb2ludGVyCisgKiBAY29tbTogY29tbWVudCBzdHJpbmcKKyAqCisgKiBOb3RlIHRoYXQgdGhlIGNvbW1lbnQgaGFzIHRvIGJlIHRlcm1pbmF0ZWQgYnkgJ1xuJyAobmV3IGxpbmUpLCBvdGhlcndpc2UKKyAqIHRoZSB3aG9sZSBmaWxlc3lzdGVtIGVudHJ5IHdpbGwgYmUgd3JpdHRlbiBhcyBhIGNvbW1lbnQgdG8gdGhlIHRhYmZpbGUgKGUuZy4KKyAqIGZzdGFiKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgPDAgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9mc19zZXRfY29tbWVudChzdHJ1Y3QgbGlibW50X2ZzICpmcywgY29uc3QgY2hhciAqY29tbSkKK3sKKwlyZXR1cm4gc3RyZHVwX3RvX3N0cnVjdF9tZW1iZXIoZnMsIGNvbW1lbnQsIGNvbW0pOworfQorCisvKioKKyAqIG1udF9mc19hcHBlbmRfY29tbWVudDoKKyAqIEBmczogZnN0YWIgZW50cnkgcG9pbnRlcgorICogQGNvbW06IGNvbW1lbnQgc3RyaW5nCisgKgorICogU2VlIGFsc28gbW50X2ZzX3NldF9jb21tZW50KCkuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIDwwIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfZnNfYXBwZW5kX2NvbW1lbnQoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKmNvbW0pCit7CisJaWYgKCFmcykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyZXR1cm4gYXBwZW5kX3N0cmluZygmZnMtPmNvbW1lbnQsIGNvbW0pOworfQorCisvKioKKyAqIG1udF9mc19tYXRjaF90YXJnZXQ6CisgKiBAZnM6IGZpbGVzeXN0ZW0KKyAqIEB0YXJnZXQ6IG1vdW50cG9pbnQgcGF0aAorICogQGNhY2hlOiB0YWdzL3BhdGhzIGNhY2hlIG9yIE5VTEwKKyAqCisgKiBQb3NzaWJsZSBhcmUgdGhyZWUgYXR0ZW1wdHM6CisgKgkxKSBjb21wYXJlIEB0YXJnZXQgd2l0aCBAZnMtPnRhcmdldAorICoKKyAqCTIpIHJlYWxwYXRoKEB0YXJnZXQpIHdpdGggQGZzLT50YXJnZXQKKyAqCisgKgkzKSByZWFscGF0aChAdGFyZ2V0KSB3aXRoIHJlYWxwYXRoKEBmcy0+dGFyZ2V0KSBpZiBAZnMgaXMgbm90IGZyb20KKyAqCSAgIC9wcm9jL3NlbGYvbW91bnRpbmZvLgorICoKKyAqCSAgIEhvd2V2ZXIsIGlmIG1udF9jYWNoZV9zZXRfdGFyZ2V0cyhjYWNoZSwgbXRhYikgd2FzIGNhbGxlZCwgYW5kIHRoZQorICoJICAgcGF0aCBAdGFyZ2V0IG9yIEBmcy0+dGFyZ2V0IGlzIGZvdW5kIGluIHRoZSBAbXRhYiwgdGhlIGNhbm9uaWNhbGl6YXRpb24gaXMKKyAqCSAgIGlzIG5vdCBwZXJmb3JtZWQgKHNlZSBtbnRfcmVzb2x2ZV90YXJnZXQoKSkuCisgKgorICogVGhlIDJuZCBhbmQgM3JkIGF0dGVtcHRzIGFyZSBub3QgcGVyZm9ybWVkIHdoZW4gQGNhY2hlIGlzIE5VTEwuCisgKgorICogUmV0dXJuczogMSBpZiBAZnMgdGFyZ2V0IGlzIGVxdWFsIHRvIEB0YXJnZXQsIGVsc2UgMC4KKyAqLworaW50IG1udF9mc19tYXRjaF90YXJnZXQoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKnRhcmdldCwKKwkJCXN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlKQoreworCWludCByYyA9IDA7CisKKwlpZiAoIWZzIHx8ICF0YXJnZXQgfHwgIWZzLT50YXJnZXQpCisJCXJldHVybiAwOworCisJLyogMSkgbmF0aXZlIHBhdGhzICovCisJcmMgPSBtbnRfZnNfc3RyZXFfdGFyZ2V0KGZzLCB0YXJnZXQpOworCisJaWYgKCFyYyAmJiBjYWNoZSkgeworCQkvKiAyKSAtIGNhbm9uaWNhbGl6ZWQgYW5kIG5vbi1jYW5vbmljYWxpemVkICovCisJCWNoYXIgKmNuID0gbW50X3Jlc29sdmVfdGFyZ2V0KHRhcmdldCwgY2FjaGUpOworCQlyYyA9IChjbiAmJiBtbnRfZnNfc3RyZXFfdGFyZ2V0KGZzLCBjbikpOworCisJCS8qIDMpIC0gY2Fub25pY2FsaXplZCBhbmQgY2Fub25pY2FsaXplZCAqLworCQlpZiAoIXJjICYmIGNuICYmICFtbnRfZnNfaXNfa2VybmVsKGZzKSAmJiAhbW50X2ZzX2lzX3N3YXBhcmVhKGZzKSkgeworCQkJY2hhciAqdGNuID0gbW50X3Jlc29sdmVfdGFyZ2V0KGZzLT50YXJnZXQsIGNhY2hlKTsKKwkJCXJjID0gKHRjbiAmJiBzdHJjbXAoY24sIHRjbikgPT0gMCk7CisJCX0KKwl9CisKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogbW50X2ZzX21hdGNoX3NvdXJjZToKKyAqIEBmczogZmlsZXN5c3RlbQorICogQHNvdXJjZTogdGFnIG9yIHBhdGggKGRldmljZSBvciBzbykgb3IgTlVMTAorICogQGNhY2hlOiB0YWdzL3BhdGhzIGNhY2hlIG9yIE5VTEwKKyAqCisgKiBGb3VyIGF0dGVtcHRzIGFyZSBwb3NzaWJsZToKKyAqCTEpIGNvbXBhcmUgQHNvdXJjZSB3aXRoIEBmcy0+c291cmNlCisgKgkyKSBjb21wYXJlIHJlYWxwYXRoKEBzb3VyY2UpIHdpdGggQGZzLT5zb3VyY2UKKyAqCTMpIGNvbXBhcmUgcmVhbHBhdGgoQHNvdXJjZSkgd2l0aCByZWFscGF0aChAZnMtPnNvdXJjZSkKKyAqCTQpIGNvbXBhcmUgcmVhbHBhdGgoQHNvdXJjZSkgd2l0aCBldmFsdWF0ZWQgdGFnIGZyb20gQGZzLT5zb3VyY2UKKyAqCisgKiBUaGUgMm5kLCAzcmQgYW5kIDR0aCBhdHRlbXB0cyBhcmUgbm90IHBlcmZvcm1lZCB3aGVuIEBjYWNoZSBpcyBOVUxMLiBUaGUKKyAqIDJuZCBhbmQgM3JkIGF0dGVtcHRzIGFyZSBub3QgcGVyZm9ybWVkIGlmIEBmcy0+c291cmNlIGlzIHRhZy4KKyAqCisgKiBSZXR1cm5zOiAxIGlmIEBmcyBzb3VyY2UgaXMgZXF1YWwgdG8gQHNvdXJjZSwgZWxzZSAwLgorICovCitpbnQgbW50X2ZzX21hdGNoX3NvdXJjZShzdHJ1Y3QgbGlibW50X2ZzICpmcywgY29uc3QgY2hhciAqc291cmNlLAorCQkJc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUpCit7CisJY2hhciAqY247CisJY29uc3QgY2hhciAqc3JjLCAqdCwgKnY7CisKKwlpZiAoIWZzKQorCQlyZXR1cm4gMDsKKworCS8qIDEpIG5hdGl2ZSBwYXRocy4uLiAqLworCWlmIChtbnRfZnNfc3RyZXFfc3JjcGF0aChmcywgc291cmNlKSA9PSAxKQorCQlyZXR1cm4gMTsKKworCWlmICghc291cmNlIHx8ICFmcy0+c291cmNlKQorCQlyZXR1cm4gMDsKKworCS8qIC4uLiBhbmQgdGFncyAqLworCWlmIChmcy0+dGFnbmFtZSAmJiBzdHJjbXAoc291cmNlLCBmcy0+c291cmNlKSA9PSAwKQorCQlyZXR1cm4gMTsKKworCWlmICghY2FjaGUpCisJCXJldHVybiAwOworCWlmIChmcy0+ZmxhZ3MgJiAoTU5UX0ZTX05FVCB8IE1OVF9GU19QU0VVRE8pKQorCQlyZXR1cm4gMDsKKworCWNuID0gbW50X3Jlc29sdmVfc3BlYyhzb3VyY2UsIGNhY2hlKTsKKwlpZiAoIWNuKQorCQlyZXR1cm4gMDsKKworCS8qIDIpIGNhbm9uaWNhbGl6ZWQgYW5kIG5hdGl2ZSAqLworCXNyYyA9IG1udF9mc19nZXRfc3JjcGF0aChmcyk7CisJaWYgKHNyYyAmJiBtbnRfZnNfc3RyZXFfc3JjcGF0aChmcywgY24pKQorCQlyZXR1cm4gMTsKKworCS8qIDMpIGNhbm9uaWNhbGl6ZWQgYW5kIGNhbm9uaWNhbGl6ZWQgKi8KKwlpZiAoc3JjKSB7CisJCXNyYyA9IG1udF9yZXNvbHZlX3BhdGgoc3JjLCBjYWNoZSk7CisJCWlmIChzcmMgJiYgIXN0cmNtcChjbiwgc3JjKSkKKwkJCXJldHVybiAxOworCX0KKwlpZiAoc3JjIHx8IG1udF9mc19nZXRfdGFnKGZzLCAmdCwgJnYpKQorCQkvKiBzcmMgcGF0aCBkb2VzIG5vdCBtYXRjaCBhbmQgdGhlIHRhZyBpcyBub3QgZGVmaW5lZCAqLworCQlyZXR1cm4gMDsKKworCS8qIHJlYWQgQHNvdXJjZSdzIHRhZ3MgdG8gdGhlIGNhY2hlICovCisJaWYgKG1udF9jYWNoZV9yZWFkX3RhZ3MoY2FjaGUsIGNuKSA8IDApIHsKKwkJaWYgKGVycm5vID09IEVBQ0NFUykgeworCQkJLyogd2UgZG9uJ3QgaGF2ZSBwZXJtaXNzaW9ucyB0byByZWFkIFRBR3MgZnJvbQorCQkJICogQHNvdXJjZSwgYnV0IGNhbiB0cmFuc2xhdGUgdGhlIEBmcyB0YWcgdG8gZGV2bmFtZS4KKwkJCSAqCisJCQkgKiAoYmVjYXVzZSBsaWJibGtpZCB1c2VzIHVkZXYgc3ltbGlua3MgYW5kIHRoaXMgaXMKKwkJCSAqIGFjY2Vzc2libGUgZm9yIG5vbi1yb290IHVzZXMpCisJCQkgKi8KKwkJCWNoYXIgKnggPSBtbnRfcmVzb2x2ZV90YWcodCwgdiwgY2FjaGUpOworCQkJaWYgKHggJiYgIXN0cmNtcCh4LCBjbikpCisJCQkJcmV0dXJuIDE7CisJCX0KKwkJcmV0dXJuIDA7CisJfQorCisJLyogNCkgaGFzIHRoZSBAc291cmNlIGEgdGFnIHRoYXQgbWF0Y2hlcyB3aXRoIHRoZSB0YWcgZnJvbSBAZnMgPyAqLworCWlmIChtbnRfY2FjaGVfZGV2aWNlX2hhc190YWcoY2FjaGUsIGNuLCB0LCB2KSkKKwkJcmV0dXJuIDE7CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfZnNfbWF0Y2hfZnN0eXBlOgorICogQGZzOiBmaWxlc3lzdGVtCisgKiBAdHlwZXM6IGZpbGVzeXN0ZW0gbmFtZSBvciBjb21tYSBkZWxpbWl0ZWQgbGlzdCBvZiBmaWxlc3lzdGVtcworICoKKyAqIEZvciBtb3JlIGRldGFpbHMgc2VlIG1udF9tYXRjaF9mc3R5cGUoKS4KKyAqCisgKiBSZXR1cm5zOiAxIGlmIEBmcyB0eXBlIGlzIG1hdGNoaW5nIHRvIEB0eXBlcywgZWxzZSAwLiBUaGUgZnVuY3Rpb24gcmV0dXJucworICogMCB3aGVuIHR5cGVzIGlzIE5VTEwuCisgKi8KK2ludCBtbnRfZnNfbWF0Y2hfZnN0eXBlKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICp0eXBlcykKK3sKKwlyZXR1cm4gbW50X21hdGNoX2ZzdHlwZShmcy0+ZnN0eXBlLCB0eXBlcyk7Cit9CisKKy8qKgorICogbW50X2ZzX21hdGNoX29wdGlvbnM6CisgKiBAZnM6IGZpbGVzeXN0ZW0KKyAqIEBvcHRpb25zOiBjb21tYSBkZWxpbWl0ZWQgbGlzdCBvZiBvcHRpb25zIChhbmQgbm9vcHRpb25zKQorICoKKyAqIEZvciBtb3JlIGRldGFpbHMgc2VlIG1udF9tYXRjaF9vcHRpb25zKCkuCisgKgorICogUmV0dXJuczogMSBpZiBAZnMgdHlwZSBpcyBtYXRjaGluZyB0byBAb3B0aW9ucywgZWxzZSAwLiBUaGUgZnVuY3Rpb24gcmV0dXJucworICogMCB3aGVuIHR5cGVzIGlzIE5VTEwuCisgKi8KK2ludCBtbnRfZnNfbWF0Y2hfb3B0aW9ucyhzdHJ1Y3QgbGlibW50X2ZzICpmcywgY29uc3QgY2hhciAqb3B0aW9ucykKK3sKKwlyZXR1cm4gbW50X21hdGNoX29wdGlvbnMobW50X2ZzX2dldF9vcHRpb25zKGZzKSwgb3B0aW9ucyk7Cit9CisKKy8qKgorICogbW50X2ZzX3ByaW50X2RlYnVnCisgKiBAZnM6IGZzdGFiL210YWIvbW91bnRpbmZvIGVudHJ5CisgKiBAZmlsZTogZmlsZSBzdHJlYW0KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfZnNfcHJpbnRfZGVidWcoc3RydWN0IGxpYm1udF9mcyAqZnMsIEZJTEUgKmZpbGUpCit7CisJaWYgKCFmcyB8fCAhZmlsZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJZnByaW50ZihmaWxlLCAiLS0tLS0tIGZzOiAlcFxuIiwgZnMpOworCWZwcmludGYoZmlsZSwgInNvdXJjZTogJXNcbiIsIG1udF9mc19nZXRfc291cmNlKGZzKSk7CisJZnByaW50ZihmaWxlLCAidGFyZ2V0OiAlc1xuIiwgbW50X2ZzX2dldF90YXJnZXQoZnMpKTsKKwlmcHJpbnRmKGZpbGUsICJmc3R5cGU6ICVzXG4iLCBtbnRfZnNfZ2V0X2ZzdHlwZShmcykpOworCisJaWYgKG1udF9mc19nZXRfb3B0aW9ucyhmcykpCisJCWZwcmludGYoZmlsZSwgIm9wdHN0cjogJXNcbiIsIG1udF9mc19nZXRfb3B0aW9ucyhmcykpOworCWlmIChtbnRfZnNfZ2V0X3Zmc19vcHRpb25zKGZzKSkKKwkJZnByaW50ZihmaWxlLCAiVkZTLW9wdHN0cjogJXNcbiIsIG1udF9mc19nZXRfdmZzX29wdGlvbnMoZnMpKTsKKwlpZiAobW50X2ZzX2dldF9mc19vcHRpb25zKGZzKSkKKwkJZnByaW50ZihmaWxlLCAiRlMtb3BzdHI6ICVzXG4iLCBtbnRfZnNfZ2V0X2ZzX29wdGlvbnMoZnMpKTsKKwlpZiAobW50X2ZzX2dldF91c2VyX29wdGlvbnMoZnMpKQorCQlmcHJpbnRmKGZpbGUsICJ1c2VyLW9wdHN0cjogJXNcbiIsIG1udF9mc19nZXRfdXNlcl9vcHRpb25zKGZzKSk7CisJaWYgKG1udF9mc19nZXRfb3B0aW9uYWxfZmllbGRzKGZzKSkKKwkJZnByaW50ZihmaWxlLCAib3B0aW9uYWwtZmllbGRzOiAnJXMnXG4iLCBtbnRfZnNfZ2V0X29wdGlvbmFsX2ZpZWxkcyhmcykpOworCWlmIChtbnRfZnNfZ2V0X2F0dHJpYnV0ZXMoZnMpKQorCQlmcHJpbnRmKGZpbGUsICJhdHRyaWJ1dGVzOiAlc1xuIiwgbW50X2ZzX2dldF9hdHRyaWJ1dGVzKGZzKSk7CisKKwlpZiAobW50X2ZzX2dldF9yb290KGZzKSkKKwkJZnByaW50ZihmaWxlLCAicm9vdDogICAlc1xuIiwgbW50X2ZzX2dldF9yb290KGZzKSk7CisKKwlpZiAobW50X2ZzX2dldF9zd2FwdHlwZShmcykpCisJCWZwcmludGYoZmlsZSwgInN3YXB0eXBlOiAlc1xuIiwgbW50X2ZzX2dldF9zd2FwdHlwZShmcykpOworCWlmIChtbnRfZnNfZ2V0X3NpemUoZnMpKQorCQlmcHJpbnRmKGZpbGUsICJzaXplOiAlamRcbiIsIG1udF9mc19nZXRfc2l6ZShmcykpOworCWlmIChtbnRfZnNfZ2V0X3VzZWRzaXplKGZzKSkKKwkJZnByaW50ZihmaWxlLCAidXNlZHNpemU6ICVqZFxuIiwgbW50X2ZzX2dldF91c2Vkc2l6ZShmcykpOworCWlmIChtbnRfZnNfZ2V0X3ByaW9yaXR5KGZzKSkKKwkJZnByaW50ZihmaWxlLCAicHJpb3JpdHk6ICVkXG4iLCBtbnRfZnNfZ2V0X3ByaW9yaXR5KGZzKSk7CisKKwlpZiAobW50X2ZzX2dldF9iaW5kc3JjKGZzKSkKKwkJZnByaW50ZihmaWxlLCAiYmluZHNyYzogJXNcbiIsIG1udF9mc19nZXRfYmluZHNyYyhmcykpOworCWlmIChtbnRfZnNfZ2V0X2ZyZXEoZnMpKQorCQlmcHJpbnRmKGZpbGUsICJmcmVxOiAgICVkXG4iLCBtbnRfZnNfZ2V0X2ZyZXEoZnMpKTsKKwlpZiAobW50X2ZzX2dldF9wYXNzbm8oZnMpKQorCQlmcHJpbnRmKGZpbGUsICJwYXNzOiAgICVkXG4iLCBtbnRfZnNfZ2V0X3Bhc3NubyhmcykpOworCWlmIChtbnRfZnNfZ2V0X2lkKGZzKSkKKwkJZnByaW50ZihmaWxlLCAiaWQ6ICAgICAlZFxuIiwgbW50X2ZzX2dldF9pZChmcykpOworCWlmIChtbnRfZnNfZ2V0X3BhcmVudF9pZChmcykpCisJCWZwcmludGYoZmlsZSwgInBhcmVudDogJWRcbiIsIG1udF9mc19nZXRfcGFyZW50X2lkKGZzKSk7CisJaWYgKG1udF9mc19nZXRfZGV2bm8oZnMpKQorCQlmcHJpbnRmKGZpbGUsICJkZXZubzogICVkOiVkXG4iLCBtYWpvcihtbnRfZnNfZ2V0X2Rldm5vKGZzKSksCisJCQkJCQltaW5vcihtbnRfZnNfZ2V0X2Rldm5vKGZzKSkpOworCWlmIChtbnRfZnNfZ2V0X3RpZChmcykpCisJCWZwcmludGYoZmlsZSwgInRpZDogICAgJWRcbiIsIG1udF9mc19nZXRfdGlkKGZzKSk7CisJaWYgKG1udF9mc19nZXRfY29tbWVudChmcykpCisJCWZwcmludGYoZmlsZSwgImNvbW1lbnQ6ICclcydcbiIsIG1udF9mc19nZXRfY29tbWVudChmcykpOworCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X2ZyZWVfbW50ZW50OgorICogQG1udDogbW91bnQgZW50cnkKKyAqCisgKiBEZWFsbG9jYXRlcyB0aGUgIm1udGVudC5oIiBtb3VudCBlbnRyeS4KKyAqLwordm9pZCBtbnRfZnJlZV9tbnRlbnQoc3RydWN0IG1udGVudCAqbW50KQoreworCWlmIChtbnQpIHsKKwkJZnJlZShtbnQtPm1udF9mc25hbWUpOworCQlmcmVlKG1udC0+bW50X2Rpcik7CisJCWZyZWUobW50LT5tbnRfdHlwZSk7CisJCWZyZWUobW50LT5tbnRfb3B0cyk7CisJCWZyZWUobW50KTsKKwl9Cit9CisKKy8qKgorICogbW50X2ZzX3RvX21udGVudDoKKyAqIEBmczogZmlsZXN5c3RlbQorICogQG1udDogbW91bnQgZGVzY3JpcHRpb24gKGFzIGRlc2NyaWJlZCBpbiBtbnRlbnQuaCkKKyAqCisgKiBDb3BpZXMgdGhlIGluZm9ybWF0aW9uIGZyb20gQGZzIHRvIHN0cnVjdCBtbnRlbnQgQG1udC4gSWYgQG1udCBpcyBhbHJlYWR5IHNldCwKKyAqIHRoZW4gdGhlIHN0cnVjdCBtbnRlbnQgaXRlbXMgYXJlIHJlYWxsb2NhdGVkIGFuZCB1cGRhdGVkLiBTZWUgYWxzbworICogbW50X2ZyZWVfbW50ZW50KCkuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIGFuZCBhIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2ZzX3RvX21udGVudChzdHJ1Y3QgbGlibW50X2ZzICpmcywgc3RydWN0IG1udGVudCAqKm1udCkKK3sKKwlpbnQgcmM7CisJc3RydWN0IG1udGVudCAqbTsKKworCWlmICghZnMgfHwgIW1udCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwltID0gKm1udDsKKwlpZiAoIW0pIHsKKwkJbSA9IGNhbGxvYygxLCBzaXplb2YoKm0pKTsKKwkJaWYgKCFtKQorCQkJcmV0dXJuIC1FTk9NRU07CisJfQorCisJaWYgKChyYyA9IHVwZGF0ZV9zdHIoJm0tPm1udF9mc25hbWUsIG1udF9mc19nZXRfc291cmNlKGZzKSkpKQorCQlnb3RvIGVycjsKKwlpZiAoKHJjID0gdXBkYXRlX3N0cigmbS0+bW50X2RpciwgbW50X2ZzX2dldF90YXJnZXQoZnMpKSkpCisJCWdvdG8gZXJyOworCWlmICgocmMgPSB1cGRhdGVfc3RyKCZtLT5tbnRfdHlwZSwgbW50X2ZzX2dldF9mc3R5cGUoZnMpKSkpCisJCWdvdG8gZXJyOworCisJZXJybm8gPSAwOworCW0tPm1udF9vcHRzID0gbW50X2ZzX3N0cmR1cF9vcHRpb25zKGZzKTsKKwlpZiAoIW0tPm1udF9vcHRzICYmIGVycm5vKSB7CisJCXJjID0gLWVycm5vOworCQlnb3RvIGVycjsKKwl9CisKKwltLT5tbnRfZnJlcSA9IG1udF9mc19nZXRfZnJlcShmcyk7CisJbS0+bW50X3Bhc3NubyA9IG1udF9mc19nZXRfcGFzc25vKGZzKTsKKworCWlmICghbS0+bW50X2ZzbmFtZSkgeworCQltLT5tbnRfZnNuYW1lID0gc3RyZHVwKCJub25lIik7CisJCWlmICghbS0+bW50X2ZzbmFtZSkKKwkJCWdvdG8gZXJyOworCX0KKwkqbW50ID0gbTsKKworCXJldHVybiAwOworZXJyOgorCWlmIChtICE9ICptbnQpCisJCW1udF9mcmVlX21udGVudChtKTsKKwlyZXR1cm4gcmM7Cit9CmRpZmYgLS1naXQgYS9saWJtb3VudC9zcmMvaW5pdC5jIGIvbGlibW91bnQvc3JjL2luaXQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTI3ZmI3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvc3JjL2luaXQuYwpAQCAtMCwwICsxLDEwMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKy8qKgorICogU0VDVElPTjogaW5pdAorICogQHRpdGxlOiBMaWJyYXJ5IGluaXRpYWxpemF0aW9uCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGluaXRpYWxpemUgZGVidWdnaW5nCisgKi8KKworI2luY2x1ZGUgPHN0ZGFyZy5oPgorCisjaW5jbHVkZSAibW91bnRQLmgiCisKK1VMX0RFQlVHX0RFRklORV9NQVNLKGxpYm1vdW50KTsKK1VMX0RFQlVHX0RFRklORV9NQVNLTkFNRVMobGlibW91bnQpID0KK3sKKwl7ICJhbGwiLCBNTlRfREVCVUdfQUxMLAkJImluZm8gYWJvdXQgYWxsIHN1YnN5c3RlbXMiIH0sCisJeyAiY2FjaGUiLCBNTlRfREVCVUdfQ0FDSEUsCSJwYXRocyBhbmQgdGFncyBjYWNoZSIgfSwKKwl7ICJjeHQiLCBNTlRfREVCVUdfQ1hULAkJImxpYnJhcnkgY29udGV4dCAoaGFuZGxlcikiIH0sCisJeyAiZGlmZiIsIE1OVF9ERUJVR19ESUZGLAkibW91bnRpbmZvIGNoYW5nZXMgdHJhY2tpbmciIH0sCisJeyAiZnMiLCBNTlRfREVCVUdfRlMsCQkiRlMgYWJzdHJhY3Rpb24iIH0sCisJeyAiaGVscCIsIE1OVF9ERUJVR19IRUxQLAkidGhpcyBoZWxwIiB9LAorCXsgImxvY2tzIiwgTU5UX0RFQlVHX0xPQ0tTLAkibXRhYiBhbmQgdXRhYiBsb2NraW5nIiB9LAorCXsgImxvb3AiLCBNTlRfREVCVUdfTE9PUCwJImxvb3AgZGV2aWNlcyByb3V0aW5lcyIgfSwKKwl7ICJvcHRpb25zIiwgTU5UX0RFQlVHX09QVElPTlMsCSJtb3VudCBvcHRpb25zIHBhcnNpbmciIH0sCisJeyAidGFiIiwgTU5UX0RFQlVHX1RBQiwJCSJmc3RhYiwgbXRhYiwgbW91bnRpbmZvIHJvdXRpbmVzIiB9LAorCXsgInVwZGF0ZSIsIE1OVF9ERUJVR19VUERBVEUsCSJtdGFiLCB1dGFiIHVwZGF0ZXMiIH0sCisJeyAidXRpbHMiLCBNTlRfREVCVUdfVVRJTFMsCSJtaXNjIGxpYnJhcnkgdXRpbHMiIH0sCisJeyAibW9uaXRvciIsIE1OVF9ERUJVR19NT05JVE9SLAkibW91bnQgdGFibGVzIG1vbml0b3IiIH0sCisJeyAiYnRyZnMiLCBNTlRfREVCVUdfQlRSRlMsCSJidHJmcyBzcGVjaWZpYyByb3V0aW5lcyIgfSwKKworCXsgTlVMTCwgMCB9Cit9OworCisvKioKKyAqIG1udF9pbml0X2RlYnVnOgorICogQG1hc2s6IGRlYnVnIG1hc2sgKDB4ZmZmZiB0byBlbmFibGUgZnVsbCBkZWJ1Z2dpbmcpCisgKgorICogSWYgdGhlIEBtYXNrIGlzIG5vdCBzcGVjaWZpZWQsIHRoZW4gdGhpcyBmdW5jdGlvbiByZWFkcworICogdGhlIExJQk1PVU5UX0RFQlVHIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIGdldCB0aGUgbWFzay4KKyAqCisgKiBBbHJlYWR5IGluaXRpYWxpemVkIGRlYnVnZ2luZyBzdHVmZiBjYW5ub3QgYmUgY2hhbmdlZC4gQ2FsbGluZworICogdGhpcyBmdW5jdGlvbiB0d2ljZSBoYXMgbm8gZWZmZWN0LgorICovCit2b2lkIG1udF9pbml0X2RlYnVnKGludCBtYXNrKQoreworCWlmIChsaWJtb3VudF9kZWJ1Z19tYXNrKQorCQlyZXR1cm47CisKKwlfX1VMX0lOSVRfREVCVUcobGlibW91bnQsIE1OVF9ERUJVR18sIG1hc2ssIExJQk1PVU5UX0RFQlVHKTsKKworCWlmIChsaWJtb3VudF9kZWJ1Z19tYXNrICE9IE1OVF9ERUJVR19JTklUCisJICAgICYmIGxpYm1vdW50X2RlYnVnX21hc2sgIT0gKE1OVF9ERUJVR19IRUxQfE1OVF9ERUJVR19JTklUKSkgeworCQljb25zdCBjaGFyICp2ZXIgPSBOVUxMOworCQljb25zdCBjaGFyICoqZmVhdHVyZXMgPSBOVUxMLCAqKnA7CisKKwkJbW50X2dldF9saWJyYXJ5X3ZlcnNpb24oJnZlcik7CisJCW1udF9nZXRfbGlicmFyeV9mZWF0dXJlcygmZmVhdHVyZXMpOworCisJCURCRyhJTklULCB1bF9kZWJ1ZygibGlicmFyeSBkZWJ1ZyBtYXNrOiAweCUwNHgiLCBsaWJtb3VudF9kZWJ1Z19tYXNrKSk7CisJCURCRyhJTklULCB1bF9kZWJ1ZygibGlicmFyeSB2ZXJzaW9uOiAlcyIsIHZlcikpOworCQlwID0gZmVhdHVyZXM7CisJCXdoaWxlIChwICYmICpwKQorCQkJREJHKElOSVQsIHVsX2RlYnVnKCIgICAgZmVhdHVyZTogJXMiLCAqcCsrKSk7CisJfQorCisJT05fREJHKEhFTFAsIHVsX2RlYnVnX3ByaW50X21hc2tzKCJMSUJNT1VOVF9ERUJVRyIsCisJCQkJVUxfREVCVUdfTUFTS05BTUVTKGxpYm1vdW50KSkpOworfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNCisKKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgoraW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlpZiAoYXJnYyA9PSAyKSB7CisJCWludCBtYXNrOworCisJCWVycm5vID0gMDsKKwkJbWFzayA9IHN0cnRvdWwoYXJndlsxXSwgMCwgMCk7CisKKwkJaWYgKGVycm5vKQorCQkJcmV0dXJuIDE7CisKKwkJbW50X2luaXRfZGVidWcobWFzayk7CisJfQorCWVsc2UgaWYgKGFyZ2MgPT0gMSkgeworCQltbnRfaW5pdF9kZWJ1ZygwKTsKKwl9IGVsc2UKKwkJcmV0dXJuIDE7CisKKwlyZXR1cm4gMDsKK30KKyNlbmRpZiAvKiBURVNUX1BST0dSQU0gKi8KKwpkaWZmIC0tZ2l0IGEvbGlibW91bnQvc3JjL2l0ZXIuYyBiL2xpYm1vdW50L3NyYy9pdGVyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDE2Zjg4ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L3NyYy9pdGVyLmMKQEAgLTAsMCArMSw3MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKy8qKgorICogU0VDVElPTjogaXRlcgorICogQHRpdGxlOiBJdGVyYXRvcgorICogQHNob3J0X2Rlc2NyaXB0aW9uOiB1bmlmaWVkIGl0ZXJhdG9yCisgKgorICogVGhlIGl0ZXJhdG9yIGtlZXBzIHRoZSBkaXJlY3Rpb24gYW5kIHRoZSBsYXN0IHBvc2l0aW9uCisgKiBmb3IgYWNjZXNzIHRvIHRoZSBpbnRlcm5hbCBsaWJyYXJ5IHRhYmxlcy9saXN0cy4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisKKyNpbmNsdWRlICJtb3VudFAuaCIKKworLyoqCisgKiBtbnRfbmV3X2l0ZXI6CisgKiBAZGlyZWN0aW9uOiBNTlRfSU5URVJfe0ZPUixCQUNLfVdBUkQgZGlyZWN0aW9uCisgKgorICogUmV0dXJuczogbmV3bHkgYWxsb2NhdGVkIGdlbmVyaWMgbGlibW91bnQgaXRlcmF0b3IuCisgKi8KK3N0cnVjdCBsaWJtbnRfaXRlciAqbW50X25ld19pdGVyKGludCBkaXJlY3Rpb24pCit7CisJc3RydWN0IGxpYm1udF9pdGVyICppdHIgPSBjYWxsb2MoMSwgc2l6ZW9mKCppdHIpKTsKKwlpZiAoIWl0cikKKwkJcmV0dXJuIE5VTEw7CisJaXRyLT5kaXJlY3Rpb24gPSBkaXJlY3Rpb247CisJcmV0dXJuIGl0cjsKK30KKworLyoqCisgKiBtbnRfZnJlZV9pdGVyOgorICogQGl0cjogaXRlcmF0b3IgcG9pbnRlcgorICoKKyAqIERlYWxsb2NhdGVzIHRoZSBpdGVyYXRvci4KKyAqLwordm9pZCBtbnRfZnJlZV9pdGVyKHN0cnVjdCBsaWJtbnRfaXRlciAqaXRyKQoreworCWZyZWUoaXRyKTsKK30KKworLyoqCisgKiBtbnRfcmVzZXRfaXRlcjoKKyAqIEBpdHI6IGl0ZXJhdG9yIHBvaW50ZXIKKyAqIEBkaXJlY3Rpb246IE1OVF9JTlRFUl97Rk9SLEJBQ0t9V0FSRCBvciAtMSB0byBrZWVwIHRoZSBkaXJlY3Rpb24gdW5jaGFuZ2VkCisgKgorICogUmVzZXRzIHRoZSBpdGVyYXRvci4KKyAqLwordm9pZCBtbnRfcmVzZXRfaXRlcihzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciwgaW50IGRpcmVjdGlvbikKK3sKKwlpZiAoZGlyZWN0aW9uID09IC0xKQorCQlkaXJlY3Rpb24gPSBpdHItPmRpcmVjdGlvbjsKKworCW1lbXNldChpdHIsIDAsIHNpemVvZigqaXRyKSk7CisJaXRyLT5kaXJlY3Rpb24gPSBkaXJlY3Rpb247Cit9CisKKy8qKgorICogbW50X2l0ZXJfZ2V0X2RpcmVjdGlvbjoKKyAqIEBpdHI6IGl0ZXJhdG9yIHBvaW50ZXIKKyAqCisgKiBSZXR1cm5zOiBNTlRfSU5URVJfe0ZPUixCQUNLfVdBUkQKKyAqLworaW50IG1udF9pdGVyX2dldF9kaXJlY3Rpb24oc3RydWN0IGxpYm1udF9pdGVyICppdHIpCit7CisJcmV0dXJuIGl0ci0+ZGlyZWN0aW9uOworfQpkaWZmIC0tZ2l0IGEvbGlibW91bnQvc3JjL2xpYm1vdW50LmguaW4gYi9saWJtb3VudC9zcmMvbGlibW91bnQuaC5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NmZmMTUwCi0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvc3JjL2xpYm1vdW50LmguaW4KQEAgLTAsMCArMSw4NzMgQEAKKy8qCisgKiBtb3VudC5oIC0gbGlibW91bnQgQVBJCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworICogd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyAqIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisgKi8KKworI2lmbmRlZiBfTElCTU9VTlRfTU9VTlRfSAorI2RlZmluZSBfTElCTU9VTlRfTU9VTlRfSAorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPG1udGVudC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorCisjZGVmaW5lIExJQk1PVU5UX1ZFUlNJT04gICAiQExJQk1PVU5UX1ZFUlNJT05AIgorI2RlZmluZSBMSUJNT1VOVF9NQUpPUl9WRVJTSU9OICAgQExJQk1PVU5UX01BSk9SX1ZFUlNJT05ACisjZGVmaW5lIExJQk1PVU5UX01JTk9SX1ZFUlNJT04gICBATElCTU9VTlRfTUlOT1JfVkVSU0lPTkAKKyNkZWZpbmUgTElCTU9VTlRfUEFUQ0hfVkVSU0lPTiAgIEBMSUJNT1VOVF9QQVRDSF9WRVJTSU9OQAorCisvKioKKyAqIGxpYm1udF9jYWNoZToKKyAqCisgKiBTdG9yZXMgY2Fub25pY2FsaXplZCBwYXRocyBhbmQgZXZhbHVhdGVkIHRhZ3MKKyAqLworc3RydWN0IGxpYm1udF9jYWNoZTsKKworLyoqCisgKiBsaWJtbnRfbG9jazoKKyAqCisgKiBTdG9yZXMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGxvY2tlZCBmaWxlIChlLmcuIC9ldGMvbXRhYikKKyAqLworc3RydWN0IGxpYm1udF9sb2NrOworCisvKioKKyAqIGxpYm1udF9pdGVyOgorICoKKyAqIEdlbmVyaWMgaXRlcmF0b3IgKHN0b3JlcyBzdGF0ZSBhYm91dCBsaXN0cykKKyAqLworc3RydWN0IGxpYm1udF9pdGVyOworCisvKioKKyAqIGxpYm1udF9vcHRtYXA6CisgKiBAbmFtZTogb3B0aW9uIG5hbWVbPXR5cGVdIHdoZXJlIHR5cGUgaXMgcHJpbnRmLWxpa2UgdHlwZSBzcGVjaWZpZXIiKQorICogQGlkOiBvcHRpb24gSUQgb3IgTVNfKiBmbGFncyAoZS5nIE1TX1JET05MWSkKKyAqIEBtYXNrOiBNTlRfe05PTVRBQixJTlZFUlQsLi4ufSBtYXNrCisgKgorICogTW91bnQgb3B0aW9ucyBkZXNjcmlwdGlvbiAobWFwKQorICovCitzdHJ1Y3QgbGlibW50X29wdG1hcAoreworCWNvbnN0IGNoYXIJKm5hbWU7CisJaW50CQlpZDsKKwlpbnQJCW1hc2s7Cit9OworCisvKgorICogbW91bnQgb3B0aW9ucyBtYXAgbWFza3MKKyAqLworI2RlZmluZSBNTlRfSU5WRVJUCSgxIDw8IDEpIC8qIGludmVydCB0aGUgbW91bnRmbGFnICovCisjZGVmaW5lIE1OVF9OT01UQUIJKDEgPDwgMikgLyogc2tpcCBpbiB0aGUgbXRhYiBvcHRpb24gc3RyaW5nICovCisjZGVmaW5lIE1OVF9QUkVGSVgJKDEgPDwgMykgLyogcHJlZml4IHVzZWQgZm9yIHNvbWUgb3B0aW9ucyAoZS5nLiAieC1mb28iKSAqLworI2RlZmluZSBNTlRfTk9ITFBTCSgxIDw8IDQpIC8qIGRvbid0IGFkZCB0aGUgb3B0aW9uIHRvIG1vdW50Ljx0eXBlPiBoZWxwZXJzIGNvbW1hbmQgbGluZSAqLworCisvKioKKyAqIGxpYm1udF9mczoKKyAqCisgKiBQYXJzZWQgZnN0YWIvbXRhYi9tb3VudGluZm8gZW50cnkKKyAqLworc3RydWN0IGxpYm1udF9mczsKKworLyoqCisgKiBsaWJtbnRfdGFibGU6CisgKgorICogTGlzdCBvZiBzdHJ1Y3QgbGlibW50X2ZzIGVudHJpZXMgKHBhcnNlZCBmc3RhYi9tdGFiL21vdW50aW5mbykKKyAqLworc3RydWN0IGxpYm1udF90YWJsZTsKKworLyoqCisgKiBsaWJtbnRfdXBkYXRlCisgKgorICogL2V0Yy9tdGFiIG9yIHV0YWIgdXBkYXRlIGRlc2NyaXB0aW9uCisgKi8KK3N0cnVjdCBsaWJtbnRfdXBkYXRlOworCisvKioKKyAqIGxpYm1udF9jb250ZXh0CisgKgorICogTW91bnQvdW1vdW50IHN0YXR1cworICovCitzdHJ1Y3QgbGlibW50X2NvbnRleHQ7CisKKy8qKgorICogbGlibW50X21vbml0b3IKKyAqCisgKiBNb3VudCB0YWJsZXMgbW9uaXRvcgorICovCitzdHJ1Y3QgbGlibW50X21vbml0b3I7CisKKy8qKgorICogbGlibW50X3RhYmRpZmY6CisgKgorICogU3RvcmVzIG1vdW50aW5mbyBzdGF0ZQorICovCitzdHJ1Y3QgbGlibW50X3RhYmRpZmY7CisKKy8qCisgKiBBY3Rpb25zCisgKi8KK2VudW0geworCU1OVF9BQ1RfTU9VTlQgPSAxLAorCU1OVF9BQ1RfVU1PVU5UCit9OworCisvKgorICogRXJyb3JzIC0tIGJ5IGRlZmF1bHQgbGlibW91bnQgcmV0dXJucyAtZXJybm8gZm9yIGdlbmVyaWMgZXJyb3JzIChFTk9NRU0sCisgKiBFSU5WQUwsIC4uLikgYW5kIGZvciBtb3VudCgyKSBlcnJvcnMsIGJ1dCBmb3Igc29tZSBzcGVjaWZpYyBvcGVyYXRpb25zIGl0CisgKiByZXR1cm5zIHByaXZhdGUgZXJyb3IgY29kZXMuIE5vdGUgdGhhdCBtYXhpbXVtIHN5c3RlbSBlcnJubyB2YWx1ZSBzaG91bGQgYmUKKyAqIDQwOTUgb24gVU5JWGVzLgorICoKKyAqIFNlZSBhbHNvIG1udF9jb250ZXh0X2dldF9zeXNjYWxsX2Vycm5vKCkgYW5kIG1udF9jb250ZXh0X2dldF9oZWxwZXJfc3RhdHVzKCkuCisgKi8KKy8qKgorICogTU5UX0VSUl9OT0ZTVEFCOgorICoKKyAqIG5vdCBmb3VuZCByZXF1aXJlZCBlbnRyeSBpbiBmc3RhYgorICovCisjZGVmaW5lIE1OVF9FUlJfTk9GU1RBQiAgICAgIDUwMDAKKy8qKgorICogTU5UX0VSUl9OT0ZTVFlQRToKKyAqCisgKiBmYWlsZWQgdG8gZGV0ZWN0IGZpbGVzeXN0ZW0gdHlwZQorICovCisjZGVmaW5lIE1OVF9FUlJfTk9GU1RZUEUgICAgIDUwMDEKKy8qKgorICogTU5UX0VSUl9OT1NPVVJDRToKKyAqCisgKiByZXF1aXJlZCBtb3VudCBzb3VyY2UgdW5kZWZpbmVkCisgKi8KKyNkZWZpbmUgTU5UX0VSUl9OT1NPVVJDRSAgICAgNTAwMgorLyoqCisgKiBNTlRfRVJSX0xPT1BERVY6CisgKgorICogbG9vcGRldiBzZXR1cCBmYWlsZWQsIGVycm5vIHNldCBieSBsaWJjCisgKi8KKyNkZWZpbmUgTU5UX0VSUl9MT09QREVWICAgICAgNTAwMworLyoqCisgKiBNTlRfRVJSX01PVU5UT1BUOgorICoKKyAqIGZhaWxlZCB0byBwYXJzZS91c2UgdXNlcnNwYWNlIG1vdW50IG9wdGlvbnMKKyAqLworI2RlZmluZSBNTlRfRVJSX01PVU5UT1BUICAgICA1MDA0CisvKioKKyAqIE1OVF9FUlJfQVBQTFlGTEFHUzoKKyAqCisgKiBmYWlsZWQgdG8gYXBwbHkgTVNfUFJPUEFHQVRJT04gZmxhZ3MKKyAqLworI2RlZmluZSBNTlRfRVJSX0FQUExZRkxBR1MgICA1MDA1CisvKioKKyAqIE1OVF9FUlJfQU1CSUZTOgorICoKKyAqIGxpYmJsa2lkIGRldGVjdGVkIG1vcmUgZmlsZXN5c3RlbXMgb24gdGhlIGRldmljZQorICovCisjZGVmaW5lIE1OVF9FUlJfQU1CSUZTICAgICAgIDUwMDYKKy8qKgorICogTU5UX0VSUl9MT09QT1ZFUkxBUDoKKyAqCisgKiBkZXRlY3RlZCBvdmVybGFwcGluZyBsb29wIGRldmljZSB0aGF0IGNhbm5vdCBiZSByZS11c2VkCisgKi8KKyNkZWZpbmUgTU5UX0VSUl9MT09QT1ZFUkxBUCA1MDA3CisKKyNpZm5kZWYgX19HTlVDX1BSRVJFUQorIyBpZiBkZWZpbmVkIF9fR05VQ19fICYmIGRlZmluZWQgX19HTlVDX01JTk9SX18KKyMgIGRlZmluZSBfX0dOVUNfUFJFUkVRKG1haiwgbWluKSAgKChfX0dOVUNfXyA8PCAxNikgKyBfX0dOVUNfTUlOT1JfXyA+PSAoKG1haikgPDwgMTYpICsgKG1pbikpCisjIGVsc2UKKyMgIGRlZmluZSBfX0dOVUNfUFJFUkVRKG1haiwgbWluKSAwCisjIGVuZGlmCisjZW5kaWYKKworI2lmbmRlZiBfX3VsX2F0dHJpYnV0ZV9fCisjIGlmIF9fR05VQ19QUkVSRVEgKDMsIDQpCisjICBkZWZpbmUgX191bF9hdHRyaWJ1dGVfXyhfYV8pIF9fYXR0cmlidXRlX18oX2FfKQorIyBlbHNlCisjICBkZWZpbmUgX191bF9hdHRyaWJ1dGVfXyhfYV8pCisjIGVuZGlmCisjZW5kaWYKKworCisvKiBpbml0LmMgKi8KK2V4dGVybiB2b2lkIG1udF9pbml0X2RlYnVnKGludCBtYXNrKTsKKworLyogdmVyc2lvbi5jICovCitleHRlcm4gaW50IG1udF9wYXJzZV92ZXJzaW9uX3N0cmluZyhjb25zdCBjaGFyICp2ZXJfc3RyaW5nKTsKK2V4dGVybiBpbnQgbW50X2dldF9saWJyYXJ5X3ZlcnNpb24oY29uc3QgY2hhciAqKnZlcl9zdHJpbmcpOworZXh0ZXJuIGludCBtbnRfZ2V0X2xpYnJhcnlfZmVhdHVyZXMoY29uc3QgY2hhciAqKipmZWF0dXJlcyk7CisKKy8qIHV0aWxzLmMgKi8KK2V4dGVybiBjaGFyICptbnRfbWFuZ2xlKGNvbnN0IGNoYXIgKnN0cikKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIGNoYXIgKm1udF91bm1hbmdsZShjb25zdCBjaGFyICpzdHIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKKworZXh0ZXJuIGludCBtbnRfdGFnX2lzX3ZhbGlkKGNvbnN0IGNoYXIgKnRhZyk7CitleHRlcm4gaW50IG1udF9mc3R5cGVfaXNfbmV0ZnMoY29uc3QgY2hhciAqdHlwZSk7CitleHRlcm4gaW50IG1udF9mc3R5cGVfaXNfcHNldWRvZnMoY29uc3QgY2hhciAqdHlwZSk7CisKK2V4dGVybiBpbnQgbW50X21hdGNoX2ZzdHlwZShjb25zdCBjaGFyICp0eXBlLCBjb25zdCBjaGFyICpwYXR0ZXJuKQorCQkJX191bF9hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CitleHRlcm4gaW50IG1udF9tYXRjaF9vcHRpb25zKGNvbnN0IGNoYXIgKm9wdHN0ciwgY29uc3QgY2hhciAqcGF0dGVybikKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIGNvbnN0IGNoYXIgKm1udF9nZXRfZnN0YWJfcGF0aCh2b2lkKTsKK2V4dGVybiBjb25zdCBjaGFyICptbnRfZ2V0X3N3YXBzX3BhdGgodm9pZCk7CitleHRlcm4gY29uc3QgY2hhciAqbW50X2dldF9tdGFiX3BhdGgodm9pZCk7CitleHRlcm4gaW50IG1udF9oYXNfcmVndWxhcl9tdGFiKGNvbnN0IGNoYXIgKiptdGFiLCBpbnQgKndyaXRhYmxlKTsKK2V4dGVybiBjaGFyICptbnRfZ2V0X21vdW50cG9pbnQoY29uc3QgY2hhciAqcGF0aCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworCisvKiBjYWNoZS5jICovCitleHRlcm4gc3RydWN0IGxpYm1udF9jYWNoZSAqbW50X25ld19jYWNoZSh2b2lkKQorCQkJX191bF9hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CitleHRlcm4gdm9pZCBtbnRfZnJlZV9jYWNoZShzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSk7CisKK2V4dGVybiB2b2lkIG1udF9yZWZfY2FjaGUoc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUpOworZXh0ZXJuIHZvaWQgbW50X3VucmVmX2NhY2hlKHN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlKTsKKworZXh0ZXJuIGludCBtbnRfY2FjaGVfc2V0X3RhcmdldHMoc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUsCisJCQkJc3RydWN0IGxpYm1udF90YWJsZSAqbXRhYik7CitleHRlcm4gaW50IG1udF9jYWNoZV9yZWFkX3RhZ3Moc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUsIGNvbnN0IGNoYXIgKmRldm5hbWUpOworCitleHRlcm4gaW50IG1udF9jYWNoZV9kZXZpY2VfaGFzX3RhZyhzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSwKKwkJCQljb25zdCBjaGFyICpkZXZuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICp0b2tlbiwKKwkJCQljb25zdCBjaGFyICp2YWx1ZSk7CisKK2V4dGVybiBjaGFyICptbnRfY2FjaGVfZmluZF90YWdfdmFsdWUoc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUsCisJCQkJY29uc3QgY2hhciAqZGV2bmFtZSwgY29uc3QgY2hhciAqdG9rZW4pOworCitleHRlcm4gY2hhciAqbW50X2dldF9mc3R5cGUoY29uc3QgY2hhciAqZGV2bmFtZSwgaW50ICphbWJpLAorCQkJICAgIHN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlKQorCQkJX191bF9hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CitleHRlcm4gY2hhciAqbW50X3Jlc29sdmVfcGF0aChjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSkKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIGNoYXIgKm1udF9yZXNvbHZlX3RhcmdldChjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSkKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIGNoYXIgKm1udF9yZXNvbHZlX3RhZyhjb25zdCBjaGFyICp0b2tlbiwgY29uc3QgY2hhciAqdmFsdWUsCisJCQkgICAgIHN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlKQorCQkJX191bF9hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CitleHRlcm4gY2hhciAqbW50X3Jlc29sdmVfc3BlYyhjb25zdCBjaGFyICpzcGVjLCBzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSkKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIGNoYXIgKm1udF9wcmV0dHlfcGF0aChjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSkKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworCisvKiBvcHRzdHIuYyAqLworZXh0ZXJuIGludCBtbnRfb3B0c3RyX25leHRfb3B0aW9uKGNoYXIgKipvcHRzdHIsIGNoYXIgKipuYW1lLCBzaXplX3QgKm5hbWVzeiwKKwkJCQljaGFyICoqdmFsdWUsIHNpemVfdCAqdmFsdWVzeik7CitleHRlcm4gaW50IG1udF9vcHRzdHJfYXBwZW5kX29wdGlvbihjaGFyICoqb3B0c3RyLCBjb25zdCBjaGFyICpuYW1lLAorCQkJCWNvbnN0IGNoYXIgKnZhbHVlKTsKK2V4dGVybiBpbnQgbW50X29wdHN0cl9wcmVwZW5kX29wdGlvbihjaGFyICoqb3B0c3RyLCBjb25zdCBjaGFyICpuYW1lLAorCQkJCWNvbnN0IGNoYXIgKnZhbHVlKTsKKworZXh0ZXJuIGludCBtbnRfb3B0c3RyX2dldF9vcHRpb24oY29uc3QgY2hhciAqb3B0c3RyLCBjb25zdCBjaGFyICpuYW1lLAorCQkJCWNoYXIgKip2YWx1ZSwgc2l6ZV90ICp2YWxzeik7CitleHRlcm4gaW50IG1udF9vcHRzdHJfc2V0X29wdGlvbihjaGFyICoqb3B0c3RyLCBjb25zdCBjaGFyICpuYW1lLAorCQkJCWNvbnN0IGNoYXIgKnZhbHVlKTsKK2V4dGVybiBpbnQgbW50X29wdHN0cl9yZW1vdmVfb3B0aW9uKGNoYXIgKipvcHRzdHIsIGNvbnN0IGNoYXIgKm5hbWUpOworZXh0ZXJuIGludCBtbnRfb3B0c3RyX2RlZHVwbGljYXRlX29wdGlvbihjaGFyICoqb3B0c3RyLCBjb25zdCBjaGFyICpuYW1lKTsKKworZXh0ZXJuIGludCBtbnRfc3BsaXRfb3B0c3RyKGNvbnN0IGNoYXIgKm9wdHN0ciwKKwkJCSAgICBjaGFyICoqdXNlciwgY2hhciAqKnZmcywgY2hhciAqKmZzLAorCQkJICAgIGludCBpZ25vcmVfdXNlciwgaW50IGlnbm9yZV92ZnMpOworCitleHRlcm4gaW50IG1udF9vcHRzdHJfZ2V0X29wdGlvbnMoY29uc3QgY2hhciAqb3B0c3RyLCBjaGFyICoqc3Vic2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBsaWJtbnRfb3B0bWFwICptYXAsIGludCBpZ25vcmUpOworCitleHRlcm4gaW50IG1udF9vcHRzdHJfZ2V0X2ZsYWdzKGNvbnN0IGNoYXIgKm9wdHN0ciwgdW5zaWduZWQgbG9uZyAqZmxhZ3MsCisJCQkJY29uc3Qgc3RydWN0IGxpYm1udF9vcHRtYXAgKm1hcCk7CisKK2V4dGVybiBpbnQgbW50X29wdHN0cl9hcHBseV9mbGFncyhjaGFyICoqb3B0c3RyLCB1bnNpZ25lZCBsb25nIGZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbGlibW50X29wdG1hcCAqbWFwKTsKKworLyogaXRlci5jICovCitlbnVtIHsKKworCU1OVF9JVEVSX0ZPUldBUkQgPSAwLAorCU1OVF9JVEVSX0JBQ0tXQVJECit9OworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfaXRlciAqbW50X25ld19pdGVyKGludCBkaXJlY3Rpb24pCisJCQlfX3VsX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKK2V4dGVybiB2b2lkIG1udF9mcmVlX2l0ZXIoc3RydWN0IGxpYm1udF9pdGVyICppdHIpOworCitleHRlcm4gdm9pZCBtbnRfcmVzZXRfaXRlcihzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciwgaW50IGRpcmVjdGlvbikKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgbW50X2l0ZXJfZ2V0X2RpcmVjdGlvbihzdHJ1Y3QgbGlibW50X2l0ZXIgKml0cikKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworLyogb3B0bWFwLmMgKi8KK2VudW0geworCU1OVF9MSU5VWF9NQVAgPSAxLAorCU1OVF9VU0VSU1BBQ0VfTUFQCit9OworZXh0ZXJuIGNvbnN0IHN0cnVjdCBsaWJtbnRfb3B0bWFwICptbnRfZ2V0X2J1aWx0aW5fb3B0bWFwKGludCBpZCk7CisKKy8qIGxvY2suYyAqLworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfbG9jayAqbW50X25ld19sb2NrKGNvbnN0IGNoYXIgKmRhdGFmaWxlLCBwaWRfdCBpZCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIHZvaWQgbW50X2ZyZWVfbG9jayhzdHJ1Y3QgbGlibW50X2xvY2sgKm1sKTsKKworZXh0ZXJuIHZvaWQgbW50X3VubG9ja19maWxlKHN0cnVjdCBsaWJtbnRfbG9jayAqbWwpOworZXh0ZXJuIGludCBtbnRfbG9ja19maWxlKHN0cnVjdCBsaWJtbnRfbG9jayAqbWwpOworZXh0ZXJuIGludCBtbnRfbG9ja19ibG9ja19zaWduYWxzKHN0cnVjdCBsaWJtbnRfbG9jayAqbWwsIGludCBlbmFibGUpOworCisvKiBmcy5jICovCitleHRlcm4gc3RydWN0IGxpYm1udF9mcyAqbW50X25ld19mcyh2b2lkKQorCQkJX191bF9hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CitleHRlcm4gdm9pZCBtbnRfZnJlZV9mcyhzdHJ1Y3QgbGlibW50X2ZzICpmcyk7CitleHRlcm4gdm9pZCBtbnRfcmVmX2ZzKHN0cnVjdCBsaWJtbnRfZnMgKmZzKTsKK2V4dGVybiB2b2lkIG1udF91bnJlZl9mcyhzdHJ1Y3QgbGlibW50X2ZzICpmcyk7CisKK2V4dGVybiB2b2lkIG1udF9yZXNldF9mcyhzdHJ1Y3QgbGlibW50X2ZzICpmcyk7CitleHRlcm4gc3RydWN0IGxpYm1udF9mcyAqbW50X2NvcHlfZnMoc3RydWN0IGxpYm1udF9mcyAqZGVzdCwKKwkJCQkgICAgIGNvbnN0IHN0cnVjdCBsaWJtbnRfZnMgKnNyYykKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIHZvaWQgKm1udF9mc19nZXRfdXNlcmRhdGEoc3RydWN0IGxpYm1udF9mcyAqZnMpOworZXh0ZXJuIGludCBtbnRfZnNfc2V0X3VzZXJkYXRhKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCB2b2lkICpkYXRhKTsKK2V4dGVybiBjb25zdCBjaGFyICptbnRfZnNfZ2V0X3NvdXJjZShzdHJ1Y3QgbGlibW50X2ZzICpmcyk7CitleHRlcm4gaW50IG1udF9mc19zZXRfc291cmNlKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpzb3VyY2UpOworZXh0ZXJuIGNvbnN0IGNoYXIgKm1udF9mc19nZXRfc3JjcGF0aChzdHJ1Y3QgbGlibW50X2ZzICpmcyk7CisKK2V4dGVybiBpbnQgbW50X2ZzX2dldF90YWcoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKipuYW1lLAorCQkJICBjb25zdCBjaGFyICoqdmFsdWUpOworZXh0ZXJuIGNvbnN0IGNoYXIgKm1udF9mc19nZXRfdGFyZ2V0KHN0cnVjdCBsaWJtbnRfZnMgKmZzKTsKK2V4dGVybiBpbnQgbW50X2ZzX3NldF90YXJnZXQoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKnRndCk7CitleHRlcm4gY29uc3QgY2hhciAqbW50X2ZzX2dldF9mc3R5cGUoc3RydWN0IGxpYm1udF9mcyAqZnMpOworZXh0ZXJuIGludCBtbnRfZnNfc2V0X2ZzdHlwZShzdHJ1Y3QgbGlibW50X2ZzICpmcywgY29uc3QgY2hhciAqZnN0eXBlKTsKKworZXh0ZXJuIGludCBtbnRfZnNfc3RyZXFfc3JjcGF0aChzdHJ1Y3QgbGlibW50X2ZzICpmcywgY29uc3QgY2hhciAqcGF0aCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIGludCBtbnRfZnNfc3RyZXFfdGFyZ2V0KHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpwYXRoKQorCQkJX191bF9hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CisKK2V4dGVybiBjaGFyICptbnRfZnNfc3RyZHVwX29wdGlvbnMoc3RydWN0IGxpYm1udF9mcyAqZnMpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKK2V4dGVybiBjb25zdCBjaGFyICptbnRfZnNfZ2V0X29wdGlvbnMoc3RydWN0IGxpYm1udF9mcyAqZnMpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKK2V4dGVybiBjb25zdCBjaGFyICptbnRfZnNfZ2V0X29wdGlvbmFsX2ZpZWxkcyhzdHJ1Y3QgbGlibW50X2ZzICpmcykKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIGludCBtbnRfZnNfZ2V0X3Byb3BhZ2F0aW9uKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCB1bnNpZ25lZCBsb25nICpmbGFncyk7CisKK2V4dGVybiBpbnQgbW50X2ZzX3NldF9vcHRpb25zKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpvcHRzdHIpOworZXh0ZXJuIGludCBtbnRfZnNfYXBwZW5kX29wdGlvbnMoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKm9wdHN0cik7CitleHRlcm4gaW50IG1udF9mc19wcmVwZW5kX29wdGlvbnMoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKm9wdHN0cik7CisKK2V4dGVybiBpbnQgbW50X2ZzX2dldF9vcHRpb24oc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKm5hbWUsCisJCQkJY2hhciAqKnZhbHVlLCBzaXplX3QgKnZhbHN6KTsKKworZXh0ZXJuIGNvbnN0IGNoYXIgKm1udF9mc19nZXRfZnNfb3B0aW9ucyhzdHJ1Y3QgbGlibW50X2ZzICpmcyk7CitleHRlcm4gY29uc3QgY2hhciAqbW50X2ZzX2dldF92ZnNfb3B0aW9ucyhzdHJ1Y3QgbGlibW50X2ZzICpmcyk7CitleHRlcm4gY29uc3QgY2hhciAqbW50X2ZzX2dldF91c2VyX29wdGlvbnMoc3RydWN0IGxpYm1udF9mcyAqZnMpOworCitleHRlcm4gY29uc3QgY2hhciAqbW50X2ZzX2dldF9hdHRyaWJ1dGVzKHN0cnVjdCBsaWJtbnRfZnMgKmZzKTsKK2V4dGVybiBpbnQgbW50X2ZzX3NldF9hdHRyaWJ1dGVzKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpvcHRzdHIpOworZXh0ZXJuIGludCBtbnRfZnNfZ2V0X2F0dHJpYnV0ZShzdHJ1Y3QgbGlibW50X2ZzICpmcywgY29uc3QgY2hhciAqbmFtZSwKKwkJCQljaGFyICoqdmFsdWUsIHNpemVfdCAqdmFsc3opOworZXh0ZXJuIGludCBtbnRfZnNfYXBwZW5kX2F0dHJpYnV0ZXMoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKm9wdHN0cik7CitleHRlcm4gaW50IG1udF9mc19wcmVwZW5kX2F0dHJpYnV0ZXMoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKm9wdHN0cik7CisKK2V4dGVybiBpbnQgbW50X2ZzX2dldF9mcmVxKHN0cnVjdCBsaWJtbnRfZnMgKmZzKTsKK2V4dGVybiBpbnQgbW50X2ZzX3NldF9mcmVxKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBpbnQgZnJlcSk7CitleHRlcm4gaW50IG1udF9mc19nZXRfcGFzc25vKHN0cnVjdCBsaWJtbnRfZnMgKmZzKTsKK2V4dGVybiBpbnQgbW50X2ZzX3NldF9wYXNzbm8oc3RydWN0IGxpYm1udF9mcyAqZnMsIGludCBwYXNzbm8pOworZXh0ZXJuIGNvbnN0IGNoYXIgKm1udF9mc19nZXRfcm9vdChzdHJ1Y3QgbGlibW50X2ZzICpmcyk7CitleHRlcm4gaW50IG1udF9mc19zZXRfcm9vdChzdHJ1Y3QgbGlibW50X2ZzICpmcywgY29uc3QgY2hhciAqcGF0aCk7CitleHRlcm4gY29uc3QgY2hhciAqbW50X2ZzX2dldF9iaW5kc3JjKHN0cnVjdCBsaWJtbnRfZnMgKmZzKTsKK2V4dGVybiBpbnQgbW50X2ZzX3NldF9iaW5kc3JjKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpzcmMpOworZXh0ZXJuIGludCBtbnRfZnNfZ2V0X2lkKHN0cnVjdCBsaWJtbnRfZnMgKmZzKTsKK2V4dGVybiBpbnQgbW50X2ZzX2dldF9wYXJlbnRfaWQoc3RydWN0IGxpYm1udF9mcyAqZnMpOworZXh0ZXJuIGRldl90IG1udF9mc19nZXRfZGV2bm8oc3RydWN0IGxpYm1udF9mcyAqZnMpOworZXh0ZXJuIHBpZF90IG1udF9mc19nZXRfdGlkKHN0cnVjdCBsaWJtbnRfZnMgKmZzKTsKKworZXh0ZXJuIGNvbnN0IGNoYXIgKm1udF9mc19nZXRfc3dhcHR5cGUoc3RydWN0IGxpYm1udF9mcyAqZnMpOworZXh0ZXJuIG9mZl90IG1udF9mc19nZXRfc2l6ZShzdHJ1Y3QgbGlibW50X2ZzICpmcyk7CitleHRlcm4gb2ZmX3QgbW50X2ZzX2dldF91c2Vkc2l6ZShzdHJ1Y3QgbGlibW50X2ZzICpmcyk7CitleHRlcm4gaW50IG1udF9mc19nZXRfcHJpb3JpdHkoc3RydWN0IGxpYm1udF9mcyAqZnMpOworZXh0ZXJuIGludCBtbnRfZnNfc2V0X3ByaW9yaXR5KHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBpbnQgcHJpbyk7CisKK2V4dGVybiBjb25zdCBjaGFyICptbnRfZnNfZ2V0X2NvbW1lbnQoc3RydWN0IGxpYm1udF9mcyAqZnMpOworZXh0ZXJuIGludCBtbnRfZnNfc2V0X2NvbW1lbnQoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKmNvbW0pOworZXh0ZXJuIGludCBtbnRfZnNfYXBwZW5kX2NvbW1lbnQoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKmNvbW0pOworCitleHRlcm4gaW50IG1udF9mc19tYXRjaF90YXJnZXQoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKnRhcmdldCwKKwkJCSAgICAgICBzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSk7CitleHRlcm4gaW50IG1udF9mc19tYXRjaF9zb3VyY2Uoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKnNvdXJjZSwKKwkJCSAgICAgICBzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSk7CitleHRlcm4gaW50IG1udF9mc19tYXRjaF9mc3R5cGUoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKnR5cGVzKTsKK2V4dGVybiBpbnQgbW50X2ZzX21hdGNoX29wdGlvbnMoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKm9wdGlvbnMpOworZXh0ZXJuIGludCBtbnRfZnNfcHJpbnRfZGVidWcoc3RydWN0IGxpYm1udF9mcyAqZnMsIEZJTEUgKmZpbGUpOworCitleHRlcm4gaW50IG1udF9mc19pc19rZXJuZWwoc3RydWN0IGxpYm1udF9mcyAqZnMpOworZXh0ZXJuIGludCBtbnRfZnNfaXNfc3dhcGFyZWEoc3RydWN0IGxpYm1udF9mcyAqZnMpOworZXh0ZXJuIGludCBtbnRfZnNfaXNfbmV0ZnMoc3RydWN0IGxpYm1udF9mcyAqZnMpOworZXh0ZXJuIGludCBtbnRfZnNfaXNfcHNldWRvZnMoc3RydWN0IGxpYm1udF9mcyAqZnMpOworCitleHRlcm4gdm9pZCBtbnRfZnJlZV9tbnRlbnQoc3RydWN0IG1udGVudCAqbW50KTsKK2V4dGVybiBpbnQgbW50X2ZzX3RvX21udGVudChzdHJ1Y3QgbGlibW50X2ZzICpmcywgc3RydWN0IG1udGVudCAqKm1udCk7CisKKy8qIHRhYi1wYXJzZS5jICovCitleHRlcm4gc3RydWN0IGxpYm1udF90YWJsZSAqbW50X25ld190YWJsZV9mcm9tX2ZpbGUoY29uc3QgY2hhciAqZmlsZW5hbWUpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKK2V4dGVybiBzdHJ1Y3QgbGlibW50X3RhYmxlICptbnRfbmV3X3RhYmxlX2Zyb21fZGlyKGNvbnN0IGNoYXIgKmRpcm5hbWUpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKK2V4dGVybiBpbnQgbW50X3RhYmxlX3BhcnNlX3N0cmVhbShzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgRklMRSAqZiwKKwkJCQkgIGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKK2V4dGVybiBpbnQgbW50X3RhYmxlX3BhcnNlX2ZpbGUoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKK2V4dGVybiBpbnQgbW50X3RhYmxlX3BhcnNlX2RpcihzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgY29uc3QgY2hhciAqZGlybmFtZSk7CisKK2V4dGVybiBpbnQgbW50X3RhYmxlX3BhcnNlX2ZzdGFiKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBjb25zdCBjaGFyICpmaWxlbmFtZSk7CitleHRlcm4gaW50IG1udF90YWJsZV9wYXJzZV9zd2FwcyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgY29uc3QgY2hhciAqZmlsZW5hbWUpOworZXh0ZXJuIGludCBtbnRfdGFibGVfcGFyc2VfbXRhYihzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgY29uc3QgY2hhciAqZmlsZW5hbWUpOworZXh0ZXJuIGludCBtbnRfdGFibGVfc2V0X3BhcnNlcl9lcnJjYihzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwKKyAgICAgICAgICAgICAgICBpbnQgKCpjYikoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgbGluZSkpOworCisvKiB0YWIuYyAqLworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfdGFibGUgKm1udF9uZXdfdGFibGUodm9pZCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIHZvaWQgbW50X2ZyZWVfdGFibGUoc3RydWN0IGxpYm1udF90YWJsZSAqdGIpOworCitleHRlcm4gdm9pZCBtbnRfcmVmX3RhYmxlKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiKTsKK2V4dGVybiB2b2lkIG1udF91bnJlZl90YWJsZShzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yik7CisKK2V4dGVybiBpbnQgbW50X3Jlc2V0X3RhYmxlKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiKTsKK2V4dGVybiBpbnQgbW50X3RhYmxlX2dldF9uZW50cyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yik7CitleHRlcm4gaW50IG1udF90YWJsZV9pc19lbXB0eShzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yik7CisKK2V4dGVybiBpbnQgbW50X3RhYmxlX3NldF91c2VyZGF0YShzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yiwgdm9pZCAqZGF0YSk7CitleHRlcm4gdm9pZCAqbW50X3RhYmxlX2dldF91c2VyZGF0YShzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yik7CisKK2V4dGVybiB2b2lkIG1udF90YWJsZV9lbmFibGVfY29tbWVudHMoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGludCBlbmFibGUpOworZXh0ZXJuIGludCBtbnRfdGFibGVfd2l0aF9jb21tZW50cyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yik7CitleHRlcm4gY29uc3QgY2hhciAqbW50X3RhYmxlX2dldF9pbnRyb19jb21tZW50KHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiKTsKK2V4dGVybiBpbnQgbW50X3RhYmxlX3NldF9pbnRyb19jb21tZW50KHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBjb25zdCBjaGFyICpjb21tKTsKK2V4dGVybiBpbnQgbW50X3RhYmxlX2FwcGVuZF9pbnRyb19jb21tZW50KHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBjb25zdCBjaGFyICpjb21tKTsKK2V4dGVybiBpbnQgbW50X3RhYmxlX3NldF90cmFpbGluZ19jb21tZW50KHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBjb25zdCBjaGFyICpjb21tKTsKK2V4dGVybiBjb25zdCBjaGFyICptbnRfdGFibGVfZ2V0X3RyYWlsaW5nX2NvbW1lbnQoc3RydWN0IGxpYm1udF90YWJsZSAqdGIpOworZXh0ZXJuIGludCBtbnRfdGFibGVfYXBwZW5kX3RyYWlsaW5nX2NvbW1lbnQoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKmNvbW0pOworCitleHRlcm4gaW50IG1udF90YWJsZV9zZXRfY2FjaGUoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIHN0cnVjdCBsaWJtbnRfY2FjaGUgKm1wYyk7CitleHRlcm4gc3RydWN0IGxpYm1udF9jYWNoZSAqbW50X3RhYmxlX2dldF9jYWNoZShzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yik7CitleHRlcm4gaW50IG1udF90YWJsZV9hZGRfZnMoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIHN0cnVjdCBsaWJtbnRfZnMgKmZzKTsKK2V4dGVybiBpbnQgbW50X3RhYmxlX3JlbW92ZV9mcyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yiwgc3RydWN0IGxpYm1udF9mcyAqZnMpOworZXh0ZXJuIGludCBtbnRfdGFibGVfZmlyc3RfZnMoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIHN0cnVjdCBsaWJtbnRfZnMgKipmcyk7CitleHRlcm4gaW50IG1udF90YWJsZV9sYXN0X2ZzKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBzdHJ1Y3QgbGlibW50X2ZzICoqZnMpOworZXh0ZXJuIGludCBtbnRfdGFibGVfbmV4dF9mcyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yiwgc3RydWN0IGxpYm1udF9pdGVyICppdHIsCisJCQkgICAgIHN0cnVjdCBsaWJtbnRfZnMgKipmcyk7CitleHRlcm4gaW50IG1udF90YWJsZV9uZXh0X2NoaWxkX2ZzKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciwKKwkgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbGlibW50X2ZzICpwYXJlbnQsIHN0cnVjdCBsaWJtbnRfZnMgKipjaGxkKTsKK2V4dGVybiBpbnQgbW50X3RhYmxlX2dldF9yb290X2ZzKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBzdHJ1Y3QgbGlibW50X2ZzICoqcm9vdCk7CitleHRlcm4gaW50IG1udF90YWJsZV9zZXRfaXRlcihzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yiwgc3RydWN0IGxpYm1udF9pdGVyICppdHIsCisJCQkgICAgICBzdHJ1Y3QgbGlibW50X2ZzICpmcyk7CisKK2VudW0geworCU1OVF9VTklRX0ZPUldBUkQgID0gKDEgPDwgMSksCS8qIGRlZmF1bHQgaXMgYmFja3dhcmQgKi8KKwlNTlRfVU5JUV9LRUVQVFJFRSA9ICgxIDw8IDIpCit9OworZXh0ZXJuIGludCBtbnRfdGFibGVfdW5pcV9mcyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgaW50IGZsYWdzLAorCQkJCWludCAoKmNtcCkoc3RydWN0IGxpYm1udF90YWJsZSAqLAorCQkJCQkgICBzdHJ1Y3QgbGlibW50X2ZzICosCisJCQkJCSAgIHN0cnVjdCBsaWJtbnRfZnMgKikpOworCitleHRlcm4gc3RydWN0IGxpYm1udF9mcyAqbW50X3RhYmxlX2ZpbmRfbW91bnRwb2ludChzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwKKwkJCQljb25zdCBjaGFyICpwYXRoLCBpbnQgZGlyZWN0aW9uKTsKK2V4dGVybiBzdHJ1Y3QgbGlibW50X2ZzICptbnRfdGFibGVfZmluZF90YXJnZXQoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsCisJCQkJY29uc3QgY2hhciAqcGF0aCwgaW50IGRpcmVjdGlvbik7CitleHRlcm4gc3RydWN0IGxpYm1udF9mcyAqbW50X3RhYmxlX2ZpbmRfc3JjcGF0aChzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwKKwkJCQljb25zdCBjaGFyICpwYXRoLCBpbnQgZGlyZWN0aW9uKTsKK2V4dGVybiBzdHJ1Y3QgbGlibW50X2ZzICptbnRfdGFibGVfZmluZF90YWcoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKnRhZywKKwkJCQljb25zdCBjaGFyICp2YWwsIGludCBkaXJlY3Rpb24pOworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfZnMgKm1udF90YWJsZV9maW5kX3RhcmdldF93aXRoX29wdGlvbihzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgY29uc3QgY2hhciAqcGF0aCwKKwkJCWNvbnN0IGNoYXIgKm9wdGlvbiwgY29uc3QgY2hhciAqdmFsLCBpbnQgZGlyZWN0aW9uKTsKK2V4dGVybiBzdHJ1Y3QgbGlibW50X2ZzICptbnRfdGFibGVfZmluZF9zb3VyY2Uoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsCisJCQkJY29uc3QgY2hhciAqc291cmNlLCBpbnQgZGlyZWN0aW9uKTsKK2V4dGVybiBzdHJ1Y3QgbGlibW50X2ZzICptbnRfdGFibGVfZmluZF9wYWlyKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLAorCQkJCWNvbnN0IGNoYXIgKnNvdXJjZSwKKwkJCQljb25zdCBjaGFyICp0YXJnZXQsIGludCBkaXJlY3Rpb24pOworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfZnMgKm1udF90YWJsZV9maW5kX2Rldm5vKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLAorCQkJCWRldl90IGRldm5vLCBpbnQgZGlyZWN0aW9uKTsKKworZXh0ZXJuIGludCBtbnRfdGFibGVfZmluZF9uZXh0X2ZzKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLAorCQkJc3RydWN0IGxpYm1udF9pdGVyICppdHIsCisJCQlpbnQgKCptYXRjaF9mdW5jKShzdHJ1Y3QgbGlibW50X2ZzICosIHZvaWQgKiksCisJCQl2b2lkICp1c2VyZGF0YSwKKwkJICAgICAgICBzdHJ1Y3QgbGlibW50X2ZzICoqZnMpOworCitleHRlcm4gaW50IG1udF90YWJsZV9pc19mc19tb3VudGVkKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBzdHJ1Y3QgbGlibW50X2ZzICpmc3RhYl9mcyk7CisKKy8qIHRhYl91cGRhdGUuYyAqLworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfdXBkYXRlICptbnRfbmV3X3VwZGF0ZSh2b2lkKQorCQkJX191bF9hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CitleHRlcm4gdm9pZCBtbnRfZnJlZV91cGRhdGUoc3RydWN0IGxpYm1udF91cGRhdGUgKnVwZCk7CisKK2V4dGVybiBpbnQgbW50X3RhYmxlX3JlcGxhY2VfZmlsZShzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgY29uc3QgY2hhciAqZmlsZW5hbWUpOworZXh0ZXJuIGludCBtbnRfdGFibGVfd3JpdGVfZmlsZShzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgRklMRSAqZmlsZSk7CisKK2V4dGVybiBpbnQgbW50X3VwZGF0ZV9pc19yZWFkeShzdHJ1Y3QgbGlibW50X3VwZGF0ZSAqdXBkKTsKK2V4dGVybiBpbnQgbW50X3VwZGF0ZV9zZXRfZnMoc3RydWN0IGxpYm1udF91cGRhdGUgKnVwZCwgdW5zaWduZWQgbG9uZyBtb3VudGZsYWdzLAorCSAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICp0YXJnZXQsIHN0cnVjdCBsaWJtbnRfZnMgKmZzKTsKK2V4dGVybiBpbnQgbW50X3VwZGF0ZV90YWJsZShzdHJ1Y3QgbGlibW50X3VwZGF0ZSAqdXBkLCBzdHJ1Y3QgbGlibW50X2xvY2sgKmxjKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIG1udF91cGRhdGVfZ2V0X21mbGFncyhzdHJ1Y3QgbGlibW50X3VwZGF0ZSAqdXBkKTsKK2V4dGVybiBpbnQgbW50X3VwZGF0ZV9mb3JjZV9yZG9ubHkoc3RydWN0IGxpYm1udF91cGRhdGUgKnVwZCwgaW50IHJkb25seSk7CitleHRlcm4gY29uc3QgY2hhciAqbW50X3VwZGF0ZV9nZXRfZmlsZW5hbWUoc3RydWN0IGxpYm1udF91cGRhdGUgKnVwZCk7CitleHRlcm4gc3RydWN0IGxpYm1udF9mcyAqbW50X3VwZGF0ZV9nZXRfZnMoc3RydWN0IGxpYm1udF91cGRhdGUgKnVwZCk7CisKKy8qIHRhYl9kaWZmLmMgKi8KK2VudW0geworCU1OVF9UQUJESUZGX01PVU5UID0gMSwKKwlNTlRfVEFCRElGRl9VTU9VTlQsCisJTU5UX1RBQkRJRkZfTU9WRSwKKwlNTlRfVEFCRElGRl9SRU1PVU5ULAorCU1OVF9UQUJESUZGX1BST1BBR0FUSU9OLAkvKiBub3QgaW1wbGVtZW50ZWQgeWV0IChUT0RPKSAqLworfTsKKworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfdGFiZGlmZiAqbW50X25ld190YWJkaWZmKHZvaWQpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKK2V4dGVybiB2b2lkIG1udF9mcmVlX3RhYmRpZmYoc3RydWN0IGxpYm1udF90YWJkaWZmICpkZik7CisKK2V4dGVybiBpbnQgbW50X2RpZmZfdGFibGVzKHN0cnVjdCBsaWJtbnRfdGFiZGlmZiAqZGYsCisJCQkgICBzdHJ1Y3QgbGlibW50X3RhYmxlICpvbGRfdGFiLAorCQkJICAgc3RydWN0IGxpYm1udF90YWJsZSAqbmV3X3RhYik7CisKK2V4dGVybiBpbnQgbW50X3RhYmRpZmZfbmV4dF9jaGFuZ2Uoc3RydWN0IGxpYm1udF90YWJkaWZmICpkZiwKKwkJCQkgICBzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciwKKwkJCQkgICBzdHJ1Y3QgbGlibW50X2ZzICoqb2xkX2ZzLAorCQkJCSAgIHN0cnVjdCBsaWJtbnRfZnMgKipuZXdfZnMsCisJCQkJICAgaW50ICpvcGVyKTsKKworLyogbW9uaXRvci5jICovCitlbnVtIHsKKwlNTlRfTU9OSVRPUl9UWVBFX1VTRVJTUEFDRSA9IDEsCS8qIHVzZXJzcGFjZSBtb3VudCBvcHRpb25zICovCisJTU5UX01PTklUT1JfVFlQRV9LRVJORUwJCS8qIGtlcm5lbCBtb3VudCB0YWJsZSAqLworfTsKKworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfbW9uaXRvciAqbW50X25ld19tb25pdG9yKHZvaWQpOworZXh0ZXJuIHZvaWQgbW50X3JlZl9tb25pdG9yKHN0cnVjdCBsaWJtbnRfbW9uaXRvciAqbW4pOworZXh0ZXJuIHZvaWQgbW50X3VucmVmX21vbml0b3Ioc3RydWN0IGxpYm1udF9tb25pdG9yICptbik7CisKK2V4dGVybiBpbnQgbW50X21vbml0b3JfZW5hYmxlX2tlcm5lbChzdHJ1Y3QgbGlibW50X21vbml0b3IgKm1uLCBpbnQgZW5hYmxlKTsKK2V4dGVybiBpbnQgbW50X21vbml0b3JfZW5hYmxlX3VzZXJzcGFjZShzdHJ1Y3QgbGlibW50X21vbml0b3IgKm1uLAorCQkJCWludCBlbmFibGUsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKKworZXh0ZXJuIGludCBtbnRfbW9uaXRvcl9nZXRfZmQoc3RydWN0IGxpYm1udF9tb25pdG9yICptbik7CitleHRlcm4gaW50IG1udF9tb25pdG9yX2Nsb3NlX2ZkKHN0cnVjdCBsaWJtbnRfbW9uaXRvciAqbW4pOworZXh0ZXJuIGludCBtbnRfbW9uaXRvcl93YWl0KHN0cnVjdCBsaWJtbnRfbW9uaXRvciAqbW4sIGludCB0aW1lb3V0KTsKKworZXh0ZXJuIGludCBtbnRfbW9uaXRvcl9uZXh0X2NoYW5nZShzdHJ1Y3QgbGlibW50X21vbml0b3IgKm1uLAorCQkJICAgICBjb25zdCBjaGFyICoqZmlsZW5hbWUsIGludCAqdHlwZSk7CitleHRlcm4gaW50IG1udF9tb25pdG9yX2V2ZW50X2NsZWFudXAoc3RydWN0IGxpYm1udF9tb25pdG9yICptbik7CisKKworLyogY29udGV4dC5jICovCisKKy8qCisgKiBNb2RlIGZvciBtb3VudCBvcHRpb25zIGZyb20gZnN0YWIgKG9yIG10YWIpLCBzZWUgbW50X2NvbnRleHRfc2V0X29wdHNtb2RlKCkuCisgKi8KK2VudW0geworCU1OVF9PTU9ERV9JR05PUkUgID0gKDEgPDwgMSksCS8qIGlnbm9yZSBtdGFiL2ZzdGFiIG9wdGlvbnMgKi8KKwlNTlRfT01PREVfQVBQRU5EICA9ICgxIDw8IDIpLAkvKiBhcHBlbmQgbXRhYi9mc3RhYiBvcHRpb25zIHRvIGV4aXN0aW5nIG9wdGlvbnMgKi8KKwlNTlRfT01PREVfUFJFUEVORCA9ICgxIDw8IDMpLAkvKiBwcmVwZW5kIG10YWIvZnN0YWIgb3B0aW9ucyB0byBleGlzdGluZyBvcHRpb25zICovCisJTU5UX09NT0RFX1JFUExBQ0UgPSAoMSA8PCA0KSwJLyogcmVwbGFjZSBleGlzdGluZyBvcHRpb25zIHdpdGggb3B0aW9ucyBmcm9tIG10YWIvZnN0YWIgKi8KKworCU1OVF9PTU9ERV9GT1JDRSAgID0gKDEgPDwgNSksICAgLyogYWx3YXlzIHJlYWQgbXRhYi9mc3RhYiBvcHRpb25zICovCisKKwlNTlRfT01PREVfRlNUQUIgICA9ICgxIDw8IDEwKSwJLyogcmVhZCBmcm9tIGZzdGFiICovCisJTU5UX09NT0RFX01UQUIgICAgPSAoMSA8PCAxMSksCS8qIHJlYWQgZnJvbSBtdGFiIGlmIGZzdGFiIG5vdCBlbmFibGVkIG9yIGZhaWxlZCAqLworCU1OVF9PTU9ERV9OT1RBQiAgID0gKDEgPDwgMTIpLAkvKiBkbyBub3QgcmVhZCBmc3RhYi9tdGFiIGF0IGFsbCAqLworCisJLyogZGVmYXVsdCAqLworCU1OVF9PTU9ERV9BVVRPICAgPSAoTU5UX09NT0RFX1BSRVBFTkQgfCBNTlRfT01PREVfRlNUQUIgfCBNTlRfT01PREVfTVRBQiksCisJLyogbm9uLXJvb3QgdXNlcnMgKi8KKwlNTlRfT01PREVfVVNFUiAgID0gKE1OVF9PTU9ERV9SRVBMQUNFIHwgTU5UX09NT0RFX0ZPUkNFIHwgTU5UX09NT0RFX0ZTVEFCKQorfTsKKworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfY29udGV4dCAqbW50X25ld19jb250ZXh0KHZvaWQpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKK2V4dGVybiB2b2lkIG1udF9mcmVlX2NvbnRleHQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworCitleHRlcm4gaW50IG1udF9yZXNldF9jb250ZXh0KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfaXNfcmVzdHJpY3RlZChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworZXh0ZXJuIGludCBtbnRfY29udGV4dF9pbml0X2hlbHBlcihzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwKKwkJCQkgICBpbnQgYWN0aW9uLCBpbnQgZmxhZ3MpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9oZWxwZXJfc2V0b3B0KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBpbnQgYywgY2hhciAqYXJnKTsKKworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zZXRfb3B0c21vZGUoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBtb2RlKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfZGlzYWJsZV9jYW5vbmljYWxpemUoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBkaXNhYmxlKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfZW5hYmxlX2xhenkoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBlbmFibGUpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9lbmFibGVfcmRvbmx5X3Vtb3VudChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgaW50IGVuYWJsZSk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2Rpc2FibGVfaGVscGVycyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgaW50IGRpc2FibGUpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9lbmFibGVfc2xvcHB5KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBpbnQgZW5hYmxlKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfZW5hYmxlX2Zha2Uoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBlbmFibGUpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9kaXNhYmxlX210YWIoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBkaXNhYmxlKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfZW5hYmxlX2ZvcmNlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBpbnQgZW5hYmxlKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfZW5hYmxlX3ZlcmJvc2Uoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBlbmFibGUpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9lbmFibGVfbG9vcGRlbChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgaW50IGVuYWJsZSk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2VuYWJsZV9mb3JrKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBpbnQgZW5hYmxlKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfZGlzYWJsZV9zd2FwbWF0Y2goc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBkaXNhYmxlKTsKKworZXh0ZXJuIGludCBtbnRfY29udGV4dF9nZXRfb3B0c21vZGUoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworCitleHRlcm4gaW50IG1udF9jb250ZXh0X2lzX2xhenkoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2lzX3Jkb25seV91bW91bnQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2lzX3Nsb3BweShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfaXNfZmFrZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfaXNfbm9tdGFiKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9pc19mb3JjZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfaXNfdmVyYm9zZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfaXNfbG9vcGRlbChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfaXNfbm9oZWxwZXJzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9pc19ub2Nhbm9uaWNhbGl6ZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfaXNfc3dhcG1hdGNoKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworCitleHRlcm4gaW50IG1udF9jb250ZXh0X2lzX2Zvcmsoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2lzX3BhcmVudChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfaXNfY2hpbGQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfd2FpdF9mb3JfY2hpbGRyZW4oc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICpuY2hpbGRyZW4sIGludCAqbmVycnMpOworCitleHRlcm4gaW50IG1udF9jb250ZXh0X2lzX2ZzX21vdW50ZWQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbGlibW50X2ZzICpmcywgaW50ICptb3VudGVkKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfc2V0X2ZzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBzdHJ1Y3QgbGlibW50X2ZzICpmcyk7CitleHRlcm4gc3RydWN0IGxpYm1udF9mcyAqbW50X2NvbnRleHRfZ2V0X2ZzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KTsKKworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zZXRfc291cmNlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBjb25zdCBjaGFyICpzb3VyY2UpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zZXRfdGFyZ2V0KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBjb25zdCBjaGFyICp0YXJnZXQpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zZXRfZnN0eXBlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBjb25zdCBjaGFyICpmc3R5cGUpOworCitleHRlcm4gY29uc3QgY2hhciAqbW50X2NvbnRleHRfZ2V0X3NvdXJjZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CitleHRlcm4gY29uc3QgY2hhciAqbW50X2NvbnRleHRfZ2V0X3RhcmdldChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CitleHRlcm4gY29uc3QgY2hhciAqbW50X2NvbnRleHRfZ2V0X2ZzdHlwZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CisKK2V4dGVybiB2b2lkICptbnRfY29udGV4dF9nZXRfbXRhYl91c2VyZGF0YShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CitleHRlcm4gdm9pZCAqbW50X2NvbnRleHRfZ2V0X2ZzdGFiX3VzZXJkYXRhKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KTsKK2V4dGVybiB2b2lkICptbnRfY29udGV4dF9nZXRfZnNfdXNlcmRhdGEoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworCitleHRlcm4gaW50IG1udF9jb250ZXh0X3NldF9vcHRpb25zKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBjb25zdCBjaGFyICpvcHRzdHIpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9hcHBlbmRfb3B0aW9ucyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqb3B0c3RyKTsKKworZXh0ZXJuIGNvbnN0IGNoYXIgKm1udF9jb250ZXh0X2dldF9vcHRpb25zKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KTsKKworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zZXRfZnN0eXBlX3BhdHRlcm4oc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKnBhdHRlcm4pOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zZXRfb3B0aW9uc19wYXR0ZXJuKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBjb25zdCBjaGFyICpwYXR0ZXJuKTsKKworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zZXRfcGFzc3dkX2NiKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorCQkJICAgICAgY2hhciAqKCpnZXQpKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqKSwKKwkJCSAgICAgIHZvaWQgKCpyZWxlYXNlKShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKiwgY2hhciAqKSkKKwkJCV9fdWxfYXR0cmlidXRlX18oKGRlcHJlY2F0ZWQpKTsKKworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zZXRfdGFibGVzX2VycmNiKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorICAgICAgICBpbnQgKCpjYikoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgbGluZSkpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zZXRfZnN0YWIoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsCisJCQkJIHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfZ2V0X2ZzdGFiKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorCQkJCSBzdHJ1Y3QgbGlibW50X3RhYmxlICoqdGIpOworCitleHRlcm4gaW50IG1udF9jb250ZXh0X2dldF9tdGFiKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorCQkJCXN0cnVjdCBsaWJtbnRfdGFibGUgKip0Yik7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2dldF90YWJsZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwKKwkJCQljb25zdCBjaGFyICpmaWxlbmFtZSwKKwkJCQlzdHJ1Y3QgbGlibW50X3RhYmxlICoqdGIpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zZXRfY2FjaGUoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsCisJCQkJIHN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlKTsKK2V4dGVybiBzdHJ1Y3QgbGlibW50X2NhY2hlICptbnRfY29udGV4dF9nZXRfY2FjaGUoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfbG9jayAqbW50X2NvbnRleHRfZ2V0X2xvY2soc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zZXRfbWZsYWdzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorCQkJCSAgICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3MpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9nZXRfbWZsYWdzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorCQkJCSAgICAgIHVuc2lnbmVkIGxvbmcgKmZsYWdzKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfc2V0X3VzZXJfbWZsYWdzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorCQkJCQkJdW5zaWduZWQgbG9uZyBmbGFncyk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2dldF91c2VyX21mbGFncyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwKKwkJCQkJCXVuc2lnbmVkIGxvbmcgKmZsYWdzKTsKKworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zZXRfbW91bnRkYXRhKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCB2b2lkICpkYXRhKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfYXBwbHlfZnN0YWIoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworCitleHRlcm4gaW50IG1udF9jb250ZXh0X3Jlc2V0X3N0YXR1cyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2dldF9zdGF0dXMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworCitleHRlcm4gaW50IG1udF9jb250ZXh0X2hlbHBlcl9leGVjdXRlZChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2dldF9oZWxwZXJfc3RhdHVzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KTsKKworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zeXNjYWxsX2NhbGxlZChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CisKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfZ2V0X3N5c2NhbGxfZXJybm8oc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworCitleHRlcm4gaW50IG1udF9jb250ZXh0X3N0cmVycm9yKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBjaGFyICpidWYsCisJCQkJc2l6ZV90IGJ1ZnNpeik7CisKKy8qIGNvbnRleHRfbW91bnQuYyAqLworZXh0ZXJuIGludCBtbnRfY29udGV4dF9tb3VudChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X3Vtb3VudChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X25leHRfbW91bnQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsCisJCQkJc3RydWN0IGxpYm1udF9pdGVyICppdHIsCisJCQkJc3RydWN0IGxpYm1udF9mcyAqKmZzLAorCQkJCWludCAqbW50cmMsIGludCAqaWdub3JlZCk7CisKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfcHJlcGFyZV9tb3VudChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9kb19tb3VudChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2ZpbmFsaXplX21vdW50KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KTsKKworLyogY29udGV4dF91bW91bnQuYyAqLworZXh0ZXJuIGludCBtbnRfY29udGV4dF9maW5kX3Vtb3VudF9mcyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwKKwkJCSAgICAgICBjb25zdCBjaGFyICp0Z3QsCisJCQkgICAgICAgc3RydWN0IGxpYm1udF9mcyAqKnBmcyk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X25leHRfdW1vdW50KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorCQkJCXN0cnVjdCBsaWJtbnRfaXRlciAqaXRyLAorCQkJCXN0cnVjdCBsaWJtbnRfZnMgKipmcywKKwkJCQlpbnQgKm1udHJjLCBpbnQgKmlnbm9yZWQpOworCitleHRlcm4gaW50IG1udF9jb250ZXh0X3ByZXBhcmVfdW1vdW50KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQorCQkJX191bF9hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2RvX3Vtb3VudChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2ZpbmFsaXplX3Vtb3VudChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CisKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfdGFiX2FwcGxpZWQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zZXRfc3lzY2FsbF9zdGF0dXMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBzdGF0dXMpOworCisvKgorICogbW91bnQoOCkgdXNlcnNwYWNlIG9wdGlvbnMgbWFza3MgKE1OVF9NQVBfVVNFUlNQQUNFIG1hcCkKKyAqLworI2RlZmluZSBNTlRfTVNfTk9BVVRPCSgxIDw8IDIpCisjZGVmaW5lIE1OVF9NU19VU0VSCSgxIDw8IDMpCisjZGVmaW5lIE1OVF9NU19VU0VSUwkoMSA8PCA0KQorI2RlZmluZSBNTlRfTVNfT1dORVIJKDEgPDwgNSkKKyNkZWZpbmUgTU5UX01TX0dST1VQCSgxIDw8IDYpCisjZGVmaW5lIE1OVF9NU19ORVRERVYJKDEgPDwgNykKKyNkZWZpbmUgTU5UX01TX0NPTU1FTlQgICgxIDw8IDgpCisjZGVmaW5lIE1OVF9NU19MT09QICAgICAoMSA8PCA5KQorI2RlZmluZSBNTlRfTVNfTk9GQUlMICAgKDEgPDwgMTApCisjZGVmaW5lIE1OVF9NU19VSEVMUEVSICAoMSA8PCAxMSkKKyNkZWZpbmUgTU5UX01TX0hFTFBFUiAgICgxIDw8IDEyKQorI2RlZmluZSBNTlRfTVNfWENPTU1FTlQgKDEgPDwgMTMpCisjZGVmaW5lIE1OVF9NU19PRkZTRVQgICAoMSA8PCAxNCkKKyNkZWZpbmUgTU5UX01TX1NJWkVMSU1JVCAoMSA8PCAxNSkKKyNkZWZpbmUgTU5UX01TX0VOQ1JZUFRJT04gKDEgPDwgMTYpCisKKy8qCisgKiBtb3VudCgyKSBNU18qIG1hc2tzIChNTlRfTUFQX0xJTlVYIG1hcCkKKyAqLworI2lmbmRlZiBNU19SRE9OTFkKKyNkZWZpbmUgTVNfUkRPTkxZCSAxCS8qIE1vdW50IHJlYWQtb25seSAqLworI2VuZGlmCisjaWZuZGVmIE1TX05PU1VJRAorI2RlZmluZSBNU19OT1NVSUQJIDIJLyogSWdub3JlIHN1aWQgYW5kIHNnaWQgYml0cyAqLworI2VuZGlmCisjaWZuZGVmIE1TX05PREVWCisjZGVmaW5lIE1TX05PREVWCSA0CS8qIERpc2FsbG93IGFjY2VzcyB0byBkZXZpY2Ugc3BlY2lhbCBmaWxlcyAqLworI2VuZGlmCisjaWZuZGVmIE1TX05PRVhFQworI2RlZmluZSBNU19OT0VYRUMJIDgJLyogRGlzYWxsb3cgcHJvZ3JhbSBleGVjdXRpb24gKi8KKyNlbmRpZgorI2lmbmRlZiBNU19TWU5DSFJPTk9VUworI2RlZmluZSBNU19TWU5DSFJPTk9VUwkxNgkvKiBXcml0ZXMgYXJlIHN5bmNlZCBhdCBvbmNlICovCisjZW5kaWYKKyNpZm5kZWYgTVNfUkVNT1VOVAorI2RlZmluZSBNU19SRU1PVU5UCTMyCS8qIEFsdGVyIGZsYWdzIG9mIGEgbW91bnRlZCBGUyAqLworI2VuZGlmCisjaWZuZGVmIE1TX01BTkRMT0NLCisjZGVmaW5lIE1TX01BTkRMT0NLCTY0CS8qIEFsbG93IG1hbmRhdG9yeSBsb2NrcyBvbiBhbiBGUyAqLworI2VuZGlmCisjaWZuZGVmIE1TX0RJUlNZTkMKKyNkZWZpbmUgTVNfRElSU1lOQwkxMjgJLyogRGlyZWN0b3J5IG1vZGlmaWNhdGlvbnMgYXJlIHN5bmNocm9ub3VzICovCisjZW5kaWYKKyNpZm5kZWYgTVNfTk9BVElNRQorI2RlZmluZSBNU19OT0FUSU1FCTB4NDAwCS8qIDEwMjQ6IERvIG5vdCB1cGRhdGUgYWNjZXNzIHRpbWVzLiAqLworI2VuZGlmCisjaWZuZGVmIE1TX05PRElSQVRJTUUKKyNkZWZpbmUgTVNfTk9ESVJBVElNRSAgIDB4ODAwCS8qIDIwNDg6IERvbid0IHVwZGF0ZSBkaXJlY3RvcnkgYWNjZXNzIHRpbWVzICovCisjZW5kaWYKKyNpZm5kZWYgTVNfQklORAorI2RlZmluZQlNU19CSU5ECQkweDEwMDAJLyogNDA5NjogTW91bnQgZXhpc3RpbmcgdHJlZSBlbHNld2hlcmUgYXMgd2VsbCAqLworI2VuZGlmCisjaWZuZGVmIE1TX01PVkUKKyNkZWZpbmUgTVNfTU9WRQkJMHgyMDAwCS8qIDgxOTI6IEF0b21pY2FsbHkgbW92ZSB0aGUgdHJlZSAqLworI2VuZGlmCisjaWZuZGVmIE1TX1JFQworI2RlZmluZSBNU19SRUMJCTB4NDAwMAkvKiAxNjM4NDogUmVjdXJzaXZlIGxvb3BiYWNrICovCisjZW5kaWYKKyNpZm5kZWYgTVNfU0lMRU5UCisjZGVmaW5lIE1TX1NJTEVOVAkweDgwMDAJLyogMzI3Njg6IERvbid0IGVtaXQgY2VydGFpbiBrZXJuZWwgbWVzc2FnZXMgKi8KKyNlbmRpZgorI2lmbmRlZiBNU19VTkJJTkRBQkxFCisjZGVmaW5lIE1TX1VOQklOREFCTEUJKDE8PDE3KQkvKiAxMzEwNzI6IE1ha2UgdW5iaW5kYWJsZSAqLworI2VuZGlmCisjaWZuZGVmIE1TX1BSSVZBVEUKKyNkZWZpbmUgTVNfUFJJVkFURQkoMTw8MTgpCS8qIDI2MjE0NDogTWFrZSBwcml2YXRlICovCisjZW5kaWYKKyNpZm5kZWYgTVNfU0xBVkUKKyNkZWZpbmUgTVNfU0xBVkUJKDE8PDE5KQkvKiA1MjQyODg6IE1ha2Ugc2xhdmUgKi8KKyNlbmRpZgorI2lmbmRlZiBNU19TSEFSRUQKKyNkZWZpbmUgTVNfU0hBUkVECSgxPDwyMCkJLyogMTA0ODU3NjogTWFrZSBzaGFyZWQgKi8KKyNlbmRpZgorI2lmbmRlZiBNU19SRUxBVElNRQorI2RlZmluZSBNU19SRUxBVElNRQkoMTw8MjEpIC8qIDIwOTcxNTI6IFVwZGF0ZSBhdGltZSByZWxhdGl2ZSB0byBtdGltZS9jdGltZSAqLworI2VuZGlmCisjaWZuZGVmIE1TX0lfVkVSU0lPTgorI2RlZmluZSBNU19JX1ZFUlNJT04JKDE8PDIzKQkvKiBVcGRhdGUgdGhlIGlub2RlIElfdmVyc2lvbiBmaWVsZCAqLworI2VuZGlmCisjaWZuZGVmIE1TX1NUUklDVEFUSU1FCisjZGVmaW5lIE1TX1NUUklDVEFUSU1FCSgxPDwyNCkgLyogQWx3YXlzIHBlcmZvcm0gYXRpbWUgdXBkYXRlcyAqLworI2VuZGlmCisjaWZuZGVmIE1TX0xBWllUSU1FCisjZGVmaW5lIE1TX0xBWllUSU1FICAgICAoMTw8MjUpIC8qIFVwZGF0ZSB0aGUgb24tZGlzayBbYWNtXXRpbWVzIGxhemlseSAqLworI2VuZGlmCisKKworLyoKKyAqIE1hZ2ljIG1vdW50IGZsYWcgbnVtYmVyLiBIYWQgdG8gYmUgb3ItZWQgdG8gdGhlIGZsYWcgdmFsdWVzLgorICovCisjaWZuZGVmIE1TX01HQ19WQUwKKyNkZWZpbmUgTVNfTUdDX1ZBTCAweEMwRUQwMDAwCS8qIG1hZ2ljIGZsYWcgbnVtYmVyIHRvIGluZGljYXRlICJuZXciIGZsYWdzICovCisjZW5kaWYKKyNpZm5kZWYgTVNfTUdDX01TSworI2RlZmluZSBNU19NR0NfTVNLIDB4ZmZmZjAwMDAJLyogbWFnaWMgZmxhZyBudW1iZXIgbWFzayAqLworI2VuZGlmCisKKworLyogU2hhcmVkLXN1YnRyZWUgb3B0aW9ucyAqLworI2RlZmluZSBNU19QUk9QQUdBVElPTiAgKE1TX1NIQVJFRHxNU19TTEFWRXxNU19VTkJJTkRBQkxFfE1TX1BSSVZBVEUpCisKKy8qIE9wdGlvbnMgdGhhdCB3ZSBtYWtlIG9yZGluYXJ5IHVzZXJzIGhhdmUgYnkgZGVmYXVsdC4gICovCisjZGVmaW5lIE1TX1NFQ1VSRQkoTVNfTk9FWEVDfE1TX05PU1VJRHxNU19OT0RFVikKKworLyogT3B0aW9ucyB0aGF0IHdlIG1ha2Ugb3duZXItbW91bnRlZCBkZXZpY2VzIGhhdmUgYnkgZGVmYXVsdCAqLworI2RlZmluZSBNU19PV05FUlNFQ1VSRQkoTVNfTk9TVUlEfE1TX05PREVWKQorCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogX0xJQk1PVU5UX01PVU5UX0ggKi8KZGlmZiAtLWdpdCBhL2xpYm1vdW50L3NyYy9saWJtb3VudC5zeW0gYi9saWJtb3VudC9zcmMvbGlibW91bnQuc3ltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwMjEwYzIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtb3VudC9zcmMvbGlibW91bnQuc3ltCkBAIC0wLDAgKzEsMzE3IEBACisvKgorICogVGhlIHN5bWJvbCB2ZXJzaW9uaW5nIGVuc3VyZXMgdGhhdCBhIG5ldyBhcHBsaWNhdGlvbiByZXF1aXJpbmcgc3ltYm9sIGZvbywKKyAqIGNhbid0IHJ1biB3aXRoIG9sZCBsaWJyYXJ5LnNvIG5vdCBwcm92aWRpbmcgZm9vLgorICoKKyAqIFZlcnNpb24gaW5mbyBjYW4ndCBlbmZvcmNlIHRoaXMgc2luY2Ugd2UgbmV2ZXIgY2hhbmdlIHRoZSBTT05BTUUuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDExLTIwMTQgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+IAorICovCitNT1VOVF8yLjE5IHsKK2dsb2JhbDoKKwltbnRfY2FjaGVfZGV2aWNlX2hhc190YWc7CisJbW50X2NhY2hlX2ZpbmRfdGFnX3ZhbHVlOworCW1udF9jYWNoZV9yZWFkX3RhZ3M7CisJbW50X2NvbnRleHRfYXBwZW5kX29wdGlvbnM7CisJbW50X2NvbnRleHRfYXBwbHlfZnN0YWI7CisJbW50X2NvbnRleHRfZGlzYWJsZV9jYW5vbmljYWxpemU7CisJbW50X2NvbnRleHRfZGlzYWJsZV9oZWxwZXJzOworCW1udF9jb250ZXh0X2Rpc2FibGVfbXRhYjsKKwltbnRfY29udGV4dF9kb19tb3VudDsKKwltbnRfY29udGV4dF9kb191bW91bnQ7CisJbW50X2NvbnRleHRfZW5hYmxlX2Zha2U7CisJbW50X2NvbnRleHRfZW5hYmxlX2ZvcmNlOworCW1udF9jb250ZXh0X2VuYWJsZV9sYXp5OworCW1udF9jb250ZXh0X2VuYWJsZV9sb29wZGVsOworCW1udF9jb250ZXh0X2VuYWJsZV9yZG9ubHlfdW1vdW50OworCW1udF9jb250ZXh0X2VuYWJsZV9zbG9wcHk7CisJbW50X2NvbnRleHRfZW5hYmxlX3ZlcmJvc2U7CisJbW50X2NvbnRleHRfZmluYWxpemVfbW91bnQ7CisJbW50X2NvbnRleHRfZmluYWxpemVfdW1vdW50OworCW1udF9jb250ZXh0X2dldF9jYWNoZTsKKwltbnRfY29udGV4dF9nZXRfZnM7CisJbW50X2NvbnRleHRfZ2V0X2ZzdGFiOworCW1udF9jb250ZXh0X2dldF9mc3R5cGU7CisJbW50X2NvbnRleHRfZ2V0X2xvY2s7CisJbW50X2NvbnRleHRfZ2V0X21mbGFnczsKKwltbnRfY29udGV4dF9nZXRfbXRhYjsKKwltbnRfY29udGV4dF9nZXRfb3B0c21vZGU7CisJbW50X2NvbnRleHRfZ2V0X3NvdXJjZTsKKwltbnRfY29udGV4dF9nZXRfc3RhdHVzOworCW1udF9jb250ZXh0X2dldF90YXJnZXQ7CisJbW50X2NvbnRleHRfZ2V0X3VzZXJfbWZsYWdzOworCW1udF9jb250ZXh0X2hlbHBlcl9zZXRvcHQ7CisJbW50X2NvbnRleHRfaW5pdF9oZWxwZXI7CisJbW50X2NvbnRleHRfaXNfZmFrZTsKKwltbnRfY29udGV4dF9pc19mb3JjZTsKKwltbnRfY29udGV4dF9pc19sYXp5OworCW1udF9jb250ZXh0X2lzX25vbXRhYjsKKwltbnRfY29udGV4dF9pc19yZG9ubHlfdW1vdW50OworCW1udF9jb250ZXh0X2lzX3Jlc3RyaWN0ZWQ7CisJbW50X2NvbnRleHRfaXNfc2xvcHB5OworCW1udF9jb250ZXh0X2lzX3ZlcmJvc2U7CisJbW50X2NvbnRleHRfbW91bnQ7CisJbW50X2NvbnRleHRfcHJlcGFyZV9tb3VudDsKKwltbnRfY29udGV4dF9wcmVwYXJlX3Vtb3VudDsKKwltbnRfY29udGV4dF9zZXRfY2FjaGU7CisJbW50X2NvbnRleHRfc2V0X2ZzOworCW1udF9jb250ZXh0X3NldF9mc3RhYjsKKwltbnRfY29udGV4dF9zZXRfZnN0eXBlOworCW1udF9jb250ZXh0X3NldF9mc3R5cGVfcGF0dGVybjsKKwltbnRfY29udGV4dF9zZXRfbWZsYWdzOworCW1udF9jb250ZXh0X3NldF9tb3VudGRhdGE7CisJbW50X2NvbnRleHRfc2V0X29wdGlvbnM7CisJbW50X2NvbnRleHRfc2V0X29wdGlvbnNfcGF0dGVybjsKKwltbnRfY29udGV4dF9zZXRfb3B0c21vZGU7CisJbW50X2NvbnRleHRfc2V0X3NvdXJjZTsKKwltbnRfY29udGV4dF9zZXRfc3lzY2FsbF9zdGF0dXM7CisJbW50X2NvbnRleHRfc2V0X3RhcmdldDsKKwltbnRfY29udGV4dF9zZXRfdXNlcl9tZmxhZ3M7CisJbW50X2NvbnRleHRfc3RyZXJyb3I7CisJbW50X2NvbnRleHRfdW1vdW50OworCW1udF9jb3B5X2ZzOworCW1udF9mcmVlX2NhY2hlOworCW1udF9mcmVlX2NvbnRleHQ7CisJbW50X2ZyZWVfZnM7CisJbW50X2ZyZWVfaXRlcjsKKwltbnRfZnJlZV9sb2NrOworCW1udF9mcmVlX21udGVudDsKKwltbnRfZnJlZV90YWJsZTsKKwltbnRfZnJlZV91cGRhdGU7CisJbW50X2ZzX2FwcGVuZF9hdHRyaWJ1dGVzOworCW1udF9mc19hcHBlbmRfb3B0aW9uczsKKwltbnRfZnNfZ2V0X2F0dHJpYnV0ZTsKKwltbnRfZnNfZ2V0X2F0dHJpYnV0ZXM7CisJbW50X2ZzX2dldF9iaW5kc3JjOworCW1udF9mc19nZXRfZGV2bm87CisJbW50X2ZzX2dldF9mcmVxOworCW1udF9mc19nZXRfZnNfb3B0aW9uczsKKwltbnRfZnNfZ2V0X2ZzdHlwZTsKKwltbnRfZnNfZ2V0X2lkOworCW1udF9mc19nZXRfb3B0aW9uOworCW1udF9mc19nZXRfcGFyZW50X2lkOworCW1udF9mc19nZXRfcGFzc25vOworCW1udF9mc19nZXRfcm9vdDsKKwltbnRfZnNfZ2V0X3NvdXJjZTsKKwltbnRfZnNfZ2V0X3NyY3BhdGg7CisJbW50X2ZzX2dldF90YWc7CisJbW50X2ZzX2dldF90YXJnZXQ7CisJbW50X2ZzX2dldF91c2VyZGF0YTsKKwltbnRfZnNfZ2V0X3VzZXJfb3B0aW9uczsKKwltbnRfZnNfZ2V0X3Zmc19vcHRpb25zOworCW1udF9mc19pc19rZXJuZWw7CisJbW50X2ZzX21hdGNoX2ZzdHlwZTsKKwltbnRfZnNfbWF0Y2hfb3B0aW9uczsKKwltbnRfZnNfbWF0Y2hfc291cmNlOworCW1udF9mc19tYXRjaF90YXJnZXQ7CisJbW50X2ZzX3ByZXBlbmRfYXR0cmlidXRlczsKKwltbnRfZnNfcHJlcGVuZF9vcHRpb25zOworCW1udF9mc19wcmludF9kZWJ1ZzsKKwltbnRfZnNfc2V0X2F0dHJpYnV0ZXM7CisJbW50X2ZzX3NldF9iaW5kc3JjOworCW1udF9mc19zZXRfZnJlcTsKKwltbnRfZnNfc2V0X2ZzdHlwZTsKKwltbnRfZnNfc2V0X29wdGlvbnM7CisJbW50X2ZzX3NldF9wYXNzbm87CisJbW50X2ZzX3NldF9yb290OworCW1udF9mc19zZXRfc291cmNlOworCW1udF9mc19zZXRfdGFyZ2V0OworCW1udF9mc19zZXRfdXNlcmRhdGE7CisJbW50X2ZzX3N0cmR1cF9vcHRpb25zOworCW1udF9mc190b19tbnRlbnQ7CisJbW50X2ZzdHlwZV9pc19uZXRmczsKKwltbnRfZnN0eXBlX2lzX3BzZXVkb2ZzOworCW1udF9nZXRfYnVpbHRpbl9vcHRtYXA7CisJbW50X2dldF9mc3RhYl9wYXRoOworCW1udF9nZXRfZnN0eXBlOworCW1udF9nZXRfbGlicmFyeV92ZXJzaW9uOworCW1udF9nZXRfbXRhYl9wYXRoOworCW1udF9oYXNfcmVndWxhcl9tdGFiOworCW1udF9pbml0X2RlYnVnOworCW1udF9pdGVyX2dldF9kaXJlY3Rpb247CisJbW50X2xvY2tfZmlsZTsKKwltbnRfbWFuZ2xlOworCW1udF9tYXRjaF9mc3R5cGU7CisJbW50X21hdGNoX29wdGlvbnM7CisJbW50X25ld19jYWNoZTsKKwltbnRfbmV3X2NvbnRleHQ7CisJbW50X25ld19mczsKKwltbnRfbmV3X2l0ZXI7CisJbW50X25ld19sb2NrOworCW1udF9uZXdfdGFibGU7CisJbW50X25ld190YWJsZV9mcm9tX2RpcjsKKwltbnRfbmV3X3RhYmxlX2Zyb21fZmlsZTsKKwltbnRfbmV3X3VwZGF0ZTsKKwltbnRfb3B0c3RyX2FwcGVuZF9vcHRpb247CisJbW50X29wdHN0cl9hcHBseV9mbGFnczsKKwltbnRfb3B0c3RyX2dldF9mbGFnczsKKwltbnRfb3B0c3RyX2dldF9vcHRpb247CisJbW50X29wdHN0cl9nZXRfb3B0aW9uczsKKwltbnRfb3B0c3RyX25leHRfb3B0aW9uOworCW1udF9vcHRzdHJfcHJlcGVuZF9vcHRpb247CisJbW50X29wdHN0cl9yZW1vdmVfb3B0aW9uOworCW1udF9vcHRzdHJfc2V0X29wdGlvbjsKKwltbnRfcGFyc2VfdmVyc2lvbl9zdHJpbmc7CisJbW50X3Jlc2V0X2NvbnRleHQ7CisJbW50X3Jlc2V0X2ZzOworCW1udF9yZXNldF9pdGVyOworCW1udF9yZXNvbHZlX3BhdGg7CisJbW50X3Jlc29sdmVfc3BlYzsKKwltbnRfcmVzb2x2ZV90YWc7CisJbW50X3NwbGl0X29wdHN0cjsKKwltbnRfdGFibGVfYWRkX2ZzOworCW1udF90YWJsZV9maW5kX25leHRfZnM7CisJbW50X3RhYmxlX2ZpbmRfcGFpcjsKKwltbnRfdGFibGVfZmluZF9zb3VyY2U7CisJbW50X3RhYmxlX2ZpbmRfc3JjcGF0aDsKKwltbnRfdGFibGVfZmluZF90YWc7CisJbW50X3RhYmxlX2ZpbmRfdGFyZ2V0OworCW1udF90YWJsZV9nZXRfY2FjaGU7CisJbW50X3RhYmxlX2dldF9uZW50czsKKwltbnRfdGFibGVfZ2V0X3Jvb3RfZnM7CisJbW50X3RhYmxlX25leHRfY2hpbGRfZnM7CisJbW50X3RhYmxlX25leHRfZnM7CisJbW50X3RhYmxlX3BhcnNlX2ZpbGU7CisJbW50X3RhYmxlX3BhcnNlX2ZzdGFiOworCW1udF90YWJsZV9wYXJzZV9tdGFiOworCW1udF90YWJsZV9wYXJzZV9zdHJlYW07CisJbW50X3RhYmxlX3JlbW92ZV9mczsKKwltbnRfdGFibGVfc2V0X2NhY2hlOworCW1udF90YWJsZV9zZXRfaXRlcjsKKwltbnRfdGFibGVfc2V0X3BhcnNlcl9lcnJjYjsKKwltbnRfdW5sb2NrX2ZpbGU7CisJbW50X3VubWFuZ2xlOworCW1udF91cGRhdGVfZm9yY2VfcmRvbmx5OworCW1udF91cGRhdGVfZ2V0X2ZpbGVuYW1lOworCW1udF91cGRhdGVfZ2V0X2ZzOworCW1udF91cGRhdGVfZ2V0X21mbGFnczsKKwltbnRfdXBkYXRlX2lzX3JlYWR5OworCW1udF91cGRhdGVfc2V0X2ZzOworCW1udF91cGRhdGVfdGFibGU7Citsb2NhbDoKKwkqOworfTsKKworTU9VTlRfMi4yMCB7CitnbG9iYWw6CisJbW50X2NvbnRleHRfZ2V0X3RhYmxlOworCW1udF9jb250ZXh0X2lzX2ZzX21vdW50ZWQ7CisJbW50X2NvbnRleHRfbmV4dF9tb3VudDsKKwltbnRfY29udGV4dF9zZXRfdGFibGVzX2VycmNiOworCW1udF9kaWZmX3RhYmxlczsKKwltbnRfZnJlZV90YWJkaWZmOworCW1udF9mc19nZXRfb3B0aW9uczsKKwltbnRfbG9ja19ibG9ja19zaWduYWxzOworCW1udF9uZXdfdGFiZGlmZjsKKwltbnRfcHJldHR5X3BhdGg7CisJbW50X3Jlc2V0X3RhYmxlOworCW1udF90YWJkaWZmX25leHRfY2hhbmdlOworCW1udF90YWJsZV9pc19mc19tb3VudGVkOworfSBNT1VOVF8yLjE5OworCitNT1VOVF8yLjIxIHsKK2dsb2JhbDoKKwltbnRfY29udGV4dF9lbmFibGVfZm9yazsKKwltbnRfY29udGV4dF9nZXRfaGVscGVyX3N0YXR1czsKKwltbnRfY29udGV4dF9nZXRfc3lzY2FsbF9lcnJubzsKKwltbnRfY29udGV4dF9oZWxwZXJfZXhlY3V0ZWQ7CisJbW50X2NvbnRleHRfaXNfY2hpbGQ7CisJbW50X2NvbnRleHRfaXNfZm9yazsKKwltbnRfY29udGV4dF9pc19wYXJlbnQ7CisJbW50X2NvbnRleHRfbmV4dF91bW91bnQ7CisJbW50X2NvbnRleHRfcmVzZXRfc3RhdHVzOworCW1udF9jb250ZXh0X3NldF9wYXNzd2RfY2I7CisJbW50X2NvbnRleHRfc3lzY2FsbF9jYWxsZWQ7CisJbW50X2NvbnRleHRfd2FpdF9mb3JfY2hpbGRyZW47CisJbW50X2ZzX2lzX25ldGZzOworCW1udF9mc19pc19wc2V1ZG9mczsKKwltbnRfZnNfaXNfc3dhcGFyZWE7CisJbW50X2dldF9saWJyYXJ5X2ZlYXR1cmVzOworCW1udF90YWJsZV9wYXJzZV9kaXI7Cit9IE1PVU5UXzIuMjA7CisKK01PVU5UXzIuMjIgeworZ2xvYmFsOgorCW1udF9jb250ZXh0X2Rpc2FibGVfc3dhcG1hdGNoOworCW1udF9jb250ZXh0X2dldF9vcHRpb25zOworCW1udF9jb250ZXh0X2lzX2xvb3BkZWw7CisJbW50X2NvbnRleHRfaXNfbm9jYW5vbmljYWxpemU7CisJbW50X2NvbnRleHRfaXNfbm9oZWxwZXJzOworCW1udF9jb250ZXh0X2lzX3N3YXBtYXRjaDsKKwltbnRfY29udGV4dF90YWJfYXBwbGllZDsKKwltbnRfZnNfZ2V0X3ByaW9yaXR5OworCW1udF9mc19nZXRfc2l6ZTsKKwltbnRfZnNfZ2V0X3N3YXB0eXBlOworCW1udF9mc19nZXRfdGlkOworCW1udF9mc19nZXRfdXNlZHNpemU7CisJbW50X2ZzX3N0cmVxX3NyY3BhdGg7CisJbW50X2ZzX3N0cmVxX3RhcmdldDsKKwltbnRfZ2V0X21vdW50cG9pbnQ7CisJbW50X2dldF9zd2Fwc19wYXRoOworCW1udF9vcHRzdHJfZGVkdXBsaWNhdGVfb3B0aW9uOworCW1udF90YWJsZV9maW5kX2Rldm5vOworCW1udF90YWJsZV9wYXJzZV9zd2FwczsKK30gTU9VTlRfMi4yMTsKKworTU9VTlRfMi4yMyB7CitnbG9iYWw6CisJbW50X2ZzX2dldF9vcHRpb25hbF9maWVsZHM7CisJbW50X2ZzX2dldF9wcm9wYWdhdGlvbjsKKwltbnRfY29udGV4dF9maW5kX3Vtb3VudF9mczsKKwltbnRfdGFibGVfZmluZF9tb3VudHBvaW50OworfSBNT1VOVF8yLjIyOworCitNT1VOVF8yLjI0IHsKK2dsb2JhbDoKKwltbnRfY29udGV4dF9nZXRfZnN0YWJfdXNlcmRhdGE7CisJbW50X2NvbnRleHRfZ2V0X2ZzX3VzZXJkYXRhOworCW1udF9jb250ZXh0X2dldF9tdGFiX3VzZXJkYXRhOworCW1udF9mc19hcHBlbmRfY29tbWVudDsKKwltbnRfZnNfZ2V0X2NvbW1lbnQ7CisJbW50X2ZzX3NldF9jb21tZW50OworCW1udF9yZWZfY2FjaGU7CisJbW50X3JlZl9mczsKKwltbnRfcmVmX3RhYmxlOworCW1udF90YWJsZV9hcHBlbmRfaW50cm9fY29tbWVudDsKKwltbnRfdGFibGVfYXBwZW5kX3RyYWlsaW5nX2NvbW1lbnQ7CisJbW50X3RhYmxlX2VuYWJsZV9jb21tZW50czsKKwltbnRfdGFibGVfZmlyc3RfZnM7CisJbW50X3RhYmxlX2dldF9pbnRyb19jb21tZW50OworCW1udF90YWJsZV9nZXRfdHJhaWxpbmdfY29tbWVudDsKKwltbnRfdGFibGVfZ2V0X3VzZXJkYXRhOworCW1udF90YWJsZV9pc19lbXB0eTsKKwltbnRfdGFibGVfbGFzdF9mczsKKwltbnRfdGFibGVfcmVwbGFjZV9maWxlOworCW1udF90YWJsZV9zZXRfaW50cm9fY29tbWVudDsKKwltbnRfdGFibGVfc2V0X3RyYWlsaW5nX2NvbW1lbnQ7CisJbW50X3RhYmxlX3NldF91c2VyZGF0YTsKKwltbnRfdGFibGVfd2l0aF9jb21tZW50czsKKwltbnRfdGFibGVfd3JpdGVfZmlsZTsKKwltbnRfdW5yZWZfY2FjaGU7CisJbW50X3VucmVmX2ZzOworCW1udF91bnJlZl90YWJsZTsKK30gTU9VTlRfMi4yMzsKKworTU9VTlRfMi4yNSB7CisJbW50X2NhY2hlX3NldF90YXJnZXRzOworCW1udF9yZXNvbHZlX3RhcmdldDsKKwltbnRfdGFibGVfdW5pcV9mczsKKwltbnRfdGFnX2lzX3ZhbGlkOworfSBNT1VOVF8yLjI0OworCitNT1VOVF8yLjI2IHsKKwltbnRfbW9uaXRvcl9jbG9zZV9mZDsKKwltbnRfbW9uaXRvcl9lbmFibGVfdXNlcnNwYWNlOworCW1udF9tb25pdG9yX2VuYWJsZV9rZXJuZWw7CisJbW50X21vbml0b3JfZXZlbnRfY2xlYW51cDsKKwltbnRfbW9uaXRvcl9nZXRfZmQ7CisJbW50X21vbml0b3JfbmV4dF9jaGFuZ2U7CisJbW50X21vbml0b3Jfd2FpdDsKKwltbnRfbmV3X21vbml0b3I7CisJbW50X3JlZl9tb25pdG9yOworCW1udF91bnJlZl9tb25pdG9yOworfSBNT1VOVF8yLjI1OworCitNT1VOVF8yLjI4IHsKKwltbnRfdGFibGVfZmluZF90YXJnZXRfd2l0aF9vcHRpb247CisJbW50X2ZzX3NldF9wcmlvcml0eTsKK30gTU9VTlRfMi4yNjsKZGlmZiAtLWdpdCBhL2xpYm1vdW50L3NyYy9sb2NrLmMgYi9saWJtb3VudC9zcmMvbG9jay5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMzY2QyMjYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtb3VudC9zcmMvbG9jay5jCkBAIC0wLDAgKzEsNzExIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworLyoqCisgKiBTRUNUSU9OOiBsb2NrCisgKiBAdGl0bGU6IExvY2tpbmcKKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogbG9ja2luZyBtZXRob2RzIGZvciAvZXRjL210YWIgb3IgYW5vdGhlciBsaWJtb3VudCBmaWxlcworICoKKyAqIFRoZSBtdGFiIGxvY2sgaXMgYmFja3dhcmRzIGNvbXBhdGlibGUgd2l0aCB0aGUgc3RhbmRhcmQgbGludXggL2V0Yy9tdGFiCisgKiBsb2NraW5nLiAgTm90ZSwgaXQncyBuZWNlc3NhcnkgdG8gdXNlIHRoZSBzYW1lIGxvY2tpbmcgc2NoZW1hIGluIGFsbAorICogYXBwbGljYXRpb25zIHRoYXQgYWNjZXNzIHRoZSBmaWxlLgorICovCisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNpbmNsdWRlIDx0aW1lLmg+CisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxzeXMvZmlsZS5oPgorCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgIm1vdW50UC5oIgorI2luY2x1ZGUgIm1vbm90b25pYy5oIgorCisvKgorICogbG9jayBoYW5kbGVyCisgKi8KK3N0cnVjdCBsaWJtbnRfbG9jayB7CisJY2hhcgkqbG9ja2ZpbGU7CS8qIHBhdGggdG8gbG9jayBmaWxlIChlLmcuIC9ldGMvbXRhYn4pICovCisJY2hhcgkqbGlua2ZpbGU7CS8qIHBhdGggdG8gbGluayBmaWxlIChlLmcuIC9ldGMvbXRhYn4uPGlkPikgKi8KKwlpbnQJbG9ja2ZpbGVfZmQ7CS8qIGxvY2sgZmlsZSBkZXNjcmlwdG9yICovCisKKwl1bnNpZ25lZCBpbnQJbG9ja2VkIDoxLAkvKiBkbyB3ZSBvd24gdGhlIGxvY2s/ICovCisJCQlzaWdibG9jayA6MSwJLyogYmxvY2sgc2lnbmFscyB3aGVuIGxvY2tlZCAqLworCQkJc2ltcGxlbG9jayA6MTsJLyogdXNlIGZsb2NrIHJhdGhlciB0aGFuIG5vcm1hbCBtdGFiIGxvY2sgKi8KKworCXNpZ3NldF90IG9sZHNpZ21hc2s7Cit9OworCisKKy8qKgorICogbW50X25ld19sb2NrOgorICogQGRhdGFmaWxlOiB0aGUgZmlsZSB0aGF0IHNob3VsZCBiZSBjb3ZlcmVkIGJ5IHRoZSBsb2NrCisgKiBAaWQ6IHVuaXF1ZSBsaW5rZmlsZSBpZGVudGlmaWVyIG9yIDAgKGRlZmF1bHQgaXMgZ2V0cGlkKCkpCisgKgorICogUmV0dXJuczogbmV3bHkgYWxsb2NhdGVkIGxvY2sgaGFuZGxlciBvciBOVUxMIG9uIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3N0cnVjdCBsaWJtbnRfbG9jayAqbW50X25ld19sb2NrKGNvbnN0IGNoYXIgKmRhdGFmaWxlLCBwaWRfdCBpZCkKK3sKKwlzdHJ1Y3QgbGlibW50X2xvY2sgKm1sID0gTlVMTDsKKwljaGFyICpsbyA9IE5VTEwsICpsbiA9IE5VTEw7CisJc2l6ZV90IGxvc3o7CisKKwlpZiAoIWRhdGFmaWxlKQorCQlyZXR1cm4gTlVMTDsKKworCS8qIGZvciBmbG9jayB3ZSB1c2UgImZvby5sb2NrLCBmb3IgbXRhYiAiZm9vfiIKKwkgKi8KKwlsb3N6ID0gc3RybGVuKGRhdGFmaWxlKSArIHNpemVvZigiLmxvY2siKTsKKwlsbyA9IG1hbGxvYyhsb3N6KTsKKwlpZiAoIWxvKQorCQlnb3RvIGVycjsKKworCS8qIGRlZmF1bHQgaXMgbXRhYn4gbG9jayAqLworCXNucHJpbnRmKGxvLCBsb3N6LCAiJXN+IiwgZGF0YWZpbGUpOworCisJaWYgKGFzcHJpbnRmKCZsbiwgIiVzfi4lZCIsIGRhdGFmaWxlLCBpZCA/IDogZ2V0cGlkKCkpID09IC0xKSB7CisJCWxuID0gTlVMTDsKKwkJZ290byBlcnI7CisJfQorCW1sID0gY2FsbG9jKDEsIHNpemVvZigqbWwpICk7CisJaWYgKCFtbCkKKwkJZ290byBlcnI7CisKKwltbC0+bG9ja2ZpbGVfZmQgPSAtMTsKKwltbC0+bGlua2ZpbGUgPSBsbjsKKwltbC0+bG9ja2ZpbGUgPSBsbzsKKworCURCRyhMT0NLUywgdWxfZGVidWdvYmoobWwsICJhbGxvYzogZGVmYXVsdCBsaW5rZmlsZT0lcywgbG9ja2ZpbGU9JXMiLCBsbiwgbG8pKTsKKwlyZXR1cm4gbWw7CitlcnI6CisJZnJlZShsbyk7CisJZnJlZShsbik7CisJZnJlZShtbCk7CisJcmV0dXJuIE5VTEw7Cit9CisKKworLyoqCisgKiBtbnRfZnJlZV9sb2NrOgorICogQG1sOiBzdHJ1Y3QgbGlibW50X2xvY2sgaGFuZGxlcgorICoKKyAqIERlYWxsb2NhdGVzIG1udF9sb2NrLgorICovCit2b2lkIG1udF9mcmVlX2xvY2soc3RydWN0IGxpYm1udF9sb2NrICptbCkKK3sKKwlpZiAoIW1sKQorCQlyZXR1cm47CisJREJHKExPQ0tTLCB1bF9kZWJ1Z29iaihtbCwgImZyZWUlcyIsIG1sLT5sb2NrZWQgPyAiICEhISBMT0NLRUQgISEhIiA6ICIiKSk7CisJZnJlZShtbC0+bG9ja2ZpbGUpOworCWZyZWUobWwtPmxpbmtmaWxlKTsKKwlmcmVlKG1sKTsKK30KKworLyoqCisgKiBtbnRfbG9ja19ibG9ja19zaWduYWxzOgorICogQG1sOiBzdHJ1Y3QgbGlibW50X2xvY2sgaGFuZGxlcgorICogQGVuYWJsZTogVFJVRS9GQUxTRQorICoKKyAqIEJsb2NrL3VuYmxvY2sgc2lnbmFscyB3aGVuIHRoZSBsb2NrIGlzIGxvY2tlZCwgdGhlIHNpZ25hbHMgYXJlIG5vdCBibG9ja2VkCisgKiBieSBkZWZhdWx0LgorICoKKyAqIFJldHVybnM6IDwwIG9uIGVycm9yLCAwIG9uIHN1Y2Nlc3MuCisgKi8KK2ludCBtbnRfbG9ja19ibG9ja19zaWduYWxzKHN0cnVjdCBsaWJtbnRfbG9jayAqbWwsIGludCBlbmFibGUpCit7CisJaWYgKCFtbCkKKwkJcmV0dXJuIC1FSU5WQUw7CisJREJHKExPQ0tTLCB1bF9kZWJ1Z29iaihtbCwgInNpZ25hbHM6ICVzIiwgZW5hYmxlID8gIkJMT0NLRUQiIDogIlVOQkxPQ0tFRCIpKTsKKwltbC0+c2lnYmxvY2sgPSBlbmFibGUgPyAxIDogMDsKKwlyZXR1cm4gMDsKK30KKworLyogZG9uJ3QgZXhwb3J0IHRoaXMgdG8gQVBJCisgKi8KK2ludCBtbnRfbG9ja191c2Vfc2ltcGxlbG9jayhzdHJ1Y3QgbGlibW50X2xvY2sgKm1sLCBpbnQgZW5hYmxlKQoreworCXNpemVfdCBzejsKKworCWlmICghbWwpCisJCXJldHVybiAtRUlOVkFMOworCisJYXNzZXJ0KG1sLT5sb2NrZmlsZSk7CisKKwlEQkcoTE9DS1MsIHVsX2RlYnVnb2JqKG1sLCAiZmxvY2s6ICVzIiwgZW5hYmxlID8gIkVOQUJMRUQiIDogIkRJU0FCTEVEIikpOworCW1sLT5zaW1wbGVsb2NrID0gZW5hYmxlID8gMSA6IDA7CisKKwlzeiA9IHN0cmxlbihtbC0+bG9ja2ZpbGUpOworCWFzc2VydChzeik7CisKKwlpZiAoc3ogPCAxKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCS8qIENoYW5nZSBsb2NrIG5hbWU6CisJICoKKwkgKglmbG9jazogICAgICI8bmFtZT4ubG9jayIKKwkgKgltdGFiIGxvY2s6ICI8bmFtZT5+IgorCSAqLworCWlmIChtbC0+c2ltcGxlbG9jayAmJiBlbmRzd2l0aChtbC0+bG9ja2ZpbGUsICJ+IikpCisJCW1lbWNweShtbC0+bG9ja2ZpbGUgKyBzeiAtIDEsICIubG9jayIsIDYpOworCisJZWxzZSBpZiAoIW1sLT5zaW1wbGVsb2NrICYmIGVuZHN3aXRoKG1sLT5sb2NrZmlsZSwgIi5sb2NrIikpCisJCSBtZW1jcHkobWwtPmxvY2tmaWxlICsgc3ogLSA1LCAifiIsIDIpOworCisJREJHKExPQ0tTLCB1bF9kZWJ1Z29iaihtbCwgIm5ldyBsb2NrIGZpbGVuYW1lOiAnJXMnIiwgbWwtPmxvY2tmaWxlKSk7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBSZXR1cm5zIHBhdGggdG8gbG9ja2ZpbGUuCisgKi8KK3N0YXRpYyBjb25zdCBjaGFyICptbnRfbG9ja19nZXRfbG9ja2ZpbGUoc3RydWN0IGxpYm1udF9sb2NrICptbCkKK3sKKwlyZXR1cm4gbWwgPyBtbC0+bG9ja2ZpbGUgOiBOVUxMOworfQorCisvKgorICogTm90ZSB0aGF0IHRoZSBmaWxlbmFtZSBpcyBnZW5lcmF0ZWQgYnkgbW50X25ld19sb2NrKCkgYW5kIGRlcGVuZHMgb24KKyAqIGdldHBpZCgpIG9yICdpZCcgYXJndW1lbnQgb2YgdGhlIG1udF9uZXdfbG9jaygpIGZ1bmN0aW9uLgorICoKKyAqIFJldHVybnM6IHVuaXF1ZSAocGVyIHByb2Nlc3MvdGhyZWFkKSBwYXRoIHRvIGxpbmtmaWxlLgorICovCitzdGF0aWMgY29uc3QgY2hhciAqbW50X2xvY2tfZ2V0X2xpbmtmaWxlKHN0cnVjdCBsaWJtbnRfbG9jayAqbWwpCit7CisJcmV0dXJuIG1sID8gbWwtPmxpbmtmaWxlIDogTlVMTDsKK30KKworLyoKKyAqIFNpbXBsZSBmbG9ja2luZworICovCitzdGF0aWMgdm9pZCB1bmxvY2tfc2ltcGxlbG9jayhzdHJ1Y3QgbGlibW50X2xvY2sgKm1sKQoreworCWFzc2VydChtbCk7CisJYXNzZXJ0KG1sLT5zaW1wbGVsb2NrKTsKKworCWlmIChtbC0+bG9ja2ZpbGVfZmQgPj0gMCkgeworCQlEQkcoTE9DS1MsIHVsX2RlYnVnb2JqKG1sLCAiJXM6IHVuZmxvY2tpbmciLAorCQkJCQltbnRfbG9ja19nZXRfbG9ja2ZpbGUobWwpKSk7CisJCWNsb3NlKG1sLT5sb2NrZmlsZV9mZCk7CisJfQorfQorCitzdGF0aWMgaW50IGxvY2tfc2ltcGxlbG9jayhzdHJ1Y3QgbGlibW50X2xvY2sgKm1sKQoreworCWNvbnN0IGNoYXIgKmxmaWxlOworCWludCByYzsKKworCWFzc2VydChtbCk7CisJYXNzZXJ0KG1sLT5zaW1wbGVsb2NrKTsKKworCWxmaWxlID0gbW50X2xvY2tfZ2V0X2xvY2tmaWxlKG1sKTsKKworCURCRyhMT0NLUywgdWxfZGVidWdvYmoobWwsICIlczogbG9ja2luZyIsIGxmaWxlKSk7CisKKwlpZiAobWwtPnNpZ2Jsb2NrKSB7CisJCXNpZ3NldF90IHNpZ3M7CisJCXNpZ2VtcHR5c2V0KCZtbC0+b2xkc2lnbWFzayk7CisJCXNpZ2ZpbGxzZXQoJnNpZ3MpOworCQlzaWdwcm9jbWFzayhTSUdfQkxPQ0ssICZzaWdzLCAmbWwtPm9sZHNpZ21hc2spOworCX0KKworCW1sLT5sb2NrZmlsZV9mZCA9IG9wZW4obGZpbGUsIE9fUkRPTkxZfE9fQ1JFQVR8T19DTE9FWEVDLAorCQkJCSAgICAgIFNfSVdVU1J8U19JUlVTUnxTX0lSR1JQfFNfSVJPVEgpOworCWlmIChtbC0+bG9ja2ZpbGVfZmQgPCAwKSB7CisJCXJjID0gLWVycm5vOworCQlnb3RvIGVycjsKKwl9CisKKwl3aGlsZSAoZmxvY2sobWwtPmxvY2tmaWxlX2ZkLCBMT0NLX0VYKSA8IDApIHsKKwkJaW50IGVycnN2OworCQlpZiAoKGVycm5vID09IEVBR0FJTikgfHwgKGVycm5vID09IEVJTlRSKSkKKwkJCWNvbnRpbnVlOworCQllcnJzdiA9IGVycm5vOworCQljbG9zZShtbC0+bG9ja2ZpbGVfZmQpOworCQltbC0+bG9ja2ZpbGVfZmQgPSAtMTsKKwkJcmMgPSAtZXJyc3Y7CisJCWdvdG8gZXJyOworCX0KKwltbC0+bG9ja2VkID0gMTsKKwlyZXR1cm4gMDsKK2VycjoKKwlpZiAobWwtPnNpZ2Jsb2NrKQorCQlzaWdwcm9jbWFzayhTSUdfU0VUTUFTSywgJm1sLT5vbGRzaWdtYXNrLCBOVUxMKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiB0cmFkaXRpb25hbCBtdGFiIGxvY2tpbmcKKyAqLworCitzdGF0aWMgdm9pZCBtbnRfbG9ja2Fscm1faGFuZGxlcihpbnQgc2lnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwkvKiBkbyBub3RoaW5nLCBzYXkgbm90aGluZywgYmUgbm90aGluZyAqLworfQorCisvKgorICogV2FpdHMgZm9yIEZfU0VUTEtXLCB1bmZvcnR1bmF0ZWx5IHdlIGhhdmUgdG8gdXNlIFNJR0FMUk0gaGVyZSB0byBpbnRlcnJ1cHQKKyAqIGZjbnRsKCkgdG8gYXZvaWQgbmV2ZXJlbmRpbmcgd2FpdGluZy4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDEgb24gdGltZW91dCwgLWVycm5vIG9uIGVycm9yLgorICovCitzdGF0aWMgaW50IG1udF93YWl0X210YWJfbG9jayhzdHJ1Y3QgbGlibW50X2xvY2sgKm1sLCBzdHJ1Y3QgZmxvY2sgKmZsLCB0aW1lX3QgbWF4dGltZSkKK3sKKwlzdHJ1Y3QgdGltZXZhbCBub3c7CisJc3RydWN0IHNpZ2FjdGlvbiBzYSwgb3NhOworCWludCByZXQgPSAwOworCisJZ2V0dGltZV9tb25vdG9uaWMoJm5vdyk7CisJREJHKExPQ0tTLCB1bF9kZWJ1Z29iaihtbCwgIiglZCkgd2FpdGluZyBmb3IgRl9TRVRMS1cgKG5vdz0lbHUsIG1heHRpbWU9JWx1LCBkaWZmPSVsdSkiLAorCQkJCWdldHBpZCgpLAorCQkJCSh1bnNpZ25lZCBsb25nKSBub3cudHZfc2VjLAorCQkJCSh1bnNpZ25lZCBsb25nKSBtYXh0aW1lLAorCQkJCSh1bnNpZ25lZCBsb25nKSAobWF4dGltZSAtIG5vdy50dl9zZWMpKSk7CisKKwlpZiAobm93LnR2X3NlYyA+PSBtYXh0aW1lKQorCQlyZXR1cm4gMTsJCS8qIHRpbWVvdXQgKi8KKworCS8qIHNldHVwIEFMQVJNIGhhbmRsZXIgLS0gd2UgZG9uJ3Qgd2FudCB0byB3YWl0IGZvcmV2ZXIgKi8KKwlzYS5zYV9mbGFncyA9IDA7CisJc2Euc2FfaGFuZGxlciA9IG1udF9sb2NrYWxybV9oYW5kbGVyOworCXNpZ2ZpbGxzZXQgKCZzYS5zYV9tYXNrKTsKKworCXNpZ2FjdGlvbihTSUdBTFJNLCAmc2EsICZvc2EpOworCisKKwlhbGFybShtYXh0aW1lIC0gbm93LnR2X3NlYyk7CisJaWYgKGZjbnRsKG1sLT5sb2NrZmlsZV9mZCwgRl9TRVRMS1csIGZsKSA9PSAtMSkKKwkJcmV0ID0gZXJybm8gPT0gRUlOVFIgPyAxIDogLWVycm5vOworCWFsYXJtKDApOworCisJLyogcmVzdG9yZSBvbGQgc2lnYWN0aW9uICovCisJc2lnYWN0aW9uKFNJR0FMUk0sICZvc2EsIE5VTEwpOworCisJREJHKExPQ0tTLCB1bF9kZWJ1Z29iaihtbCwgIiglZCkgbGVhdmluZyBtbnRfd2FpdF9zZXRsa3coKSwgcmM9JWQiLAorCQkJCWdldHBpZCgpLCByZXQpKTsKKwlyZXR1cm4gcmV0OworfQorCisvKgorICogQ3JlYXRlIHRoZSBtdGFiIGxvY2sgZmlsZS4KKyAqCisgKiBUaGUgb2xkIGNvZGUgaGVyZSB1c2VkIGZsb2NrIG9uIGEgbG9jayBmaWxlIC9ldGMvbXRhYn4gYW5kIGRlbGV0ZWQKKyAqIHRoaXMgbG9jayBmaWxlIGFmdGVyd2FyZHMuIEhvd2V2ZXIsIGFzIHJnb29jaCByZW1hcmtzLCB0aGF0IGhhcyBhCisgKiByYWNlOiBhIHNlY29uZCBtb3VudCBtYXkgYmUgd2FpdGluZyBvbiB0aGUgbG9jayBhbmQgcHJvY2VlZCBhcworICogc29vbiBhcyB0aGUgbG9jayBmaWxlIGlzIGRlbGV0ZWQgYnkgdGhlIGZpcnN0IG1vdW50LCBhbmQgaW1tZWRpYXRlbHkKKyAqIGFmdGVyd2FyZHMgYSB0aGlyZCBtb3VudCBjb21lcywgY3JlYXRlcyBhIG5ldyAvZXRjL210YWJ+LCBhcHBsaWVzCisgKiBmbG9jayB0byB0aGF0LCBhbmQgYWxzbyBwcm9jZWVkcywgc28gdGhhdCB0aGUgc2Vjb25kIGFuZCB0aGlyZCBtb3VudAorICogYXJlIG5vdyBib3RoIHNjcmliYmxpbmcgaW4gL2V0Yy9tdGFiLgorICoKKyAqIFRoZSBuZXcgY29kZSB1c2VzIGEgbGluaygpIGluc3RlYWQgb2YgYSBjcmVhdCgpLCB3aGVyZSB3ZSBwcm9jZWVkCisgKiBvbmx5IGlmIGl0IHdhcyB1cyB0aGF0IGNyZWF0ZWQgdGhlIGxvY2ssIGFuZCBoZW5jZSB3ZSBhbHdheXMgaGF2ZQorICogdG8gZGVsZXRlIHRoZSBsb2NrIGFmdGVyd2FyZHMuIE5vdyB0aGUgdXNlIG9mIGZsb2NrKCkgaXMgaW4gcHJpbmNpcGxlCisgKiBzdXBlcmZsdW91cywgYnV0IGF2b2lkcyBhbiBhcmJpdHJhcnkgc2xlZXAoKS4KKyAqCisgKiBXaGVyZSBkb2VzIHRoZSBsaW5rIHBvaW50IHRvPyBPYnZpb3VzIGNob2ljZXMgYXJlIG10YWIgYW5kIG10YWJ+fi4KKyAqIEhKTHUgcG9pbnRzIG91dCB0aGF0IHRoZSBsYXR0ZXIgbGVhZHMgdG8gcmFjZXMuIFJpZ2h0IG5vdyB3ZSB1c2UKKyAqIG10YWJ+LnBpZCBpbnN0ZWFkLgorICoKKyAqCisgKiBUaGUgb3JpZ2luYWwgbW91bnQgbG9ja2luZyBjb2RlIGhhcyB1c2VkIHNsZWVwKDEpIGJldHdlZW4gYXR0ZW1wdHMgYW5kCisgKiBtYXhpbWFsIG51bWJlciBvZiBhdHRlbXB0cyBoYXMgYmVlbiA1LgorICoKKyAqIFRoZXJlIHdhcyBhIHZlcnkgc21hbGwgbnVtYmVyIG9mIGF0dGVtcHRzIGFuZCBleHRyZW1lbHkgbG9uZyB3YWl0aW5nICgxcykKKyAqIHRoYXQgaXMgdXNlbGVzcyBvbiBtYWNoaW5lcyB3aXRoIGxhcmdlIG51bWJlciBvZiBtb3VudCBwcm9jZXNzZXMuCisgKgorICogTm93IHdlIHdhaXQgZm9yIGEgZmV3IHRob3VzYW5kIG1pY3Jvc2Vjb25kcyBiZXR3ZWVuIGF0dGVtcHRzIGFuZCB3ZSBoYXZlIGEgZ2xvYmFsCisgKiB0aW1lIGxpbWl0ICgzMHMpIHJhdGhlciB0aGFuIGEgbGltaXQgZm9yIHRoZSBudW1iZXIgb2YgYXR0ZW1wdHMuIFRoZSBhZHZhbnRhZ2UKKyAqIGlzIHRoYXQgdGhpcyBtZXRob2QgYWxzbyBjb3VudHMgdGltZSB3aGljaCB3ZSBzcGVuZCBpbiBmY250bChGX1NFVExLVykgYW5kCisgKiB0aGUgbnVtYmVyIG9mIGF0dGVtcHRzIGlzIG5vdCByZXN0cmljdGVkLgorICogLS0ga3pha0ByZWRoYXQuY29tIFtNYXItMjAwN10KKyAqCisgKgorICogVGhpcyBtdGFiIGxvY2tpbmcgY29kZSBoYXMgYmVlbiByZWZhY3RvcmVkIGFuZCBtb3ZlZCB0byBsaWJtb3VudC4gVGhlIG10YWIKKyAqIGxvY2tpbmcgaXMgcmVhbGx5IG5vdCBwZXJmZWN0IChlLmcuIFNJR0FMUk0pLCBidXQgaXQncyBzdGFibGUsIHJlbGlhYmxlIGFuZAorICogYmFja3dhcmRseSBjb21wYXRpYmxlIGNvZGUuCisgKgorICogRG9uJ3QgZm9yZ2V0IHRoYXQgdGhpcyBjb2RlIGhhcyB0byBiZSBjb21wYXRpYmxlIHdpdGggM3JkIHBhcnR5IG1vdW50cworICogKC9zYmluL21vdW50LmZvbykgYW5kIGhhcyB0byB3b3JrIHdpdGggTkZTLgorICogLS0ga3pha0ByZWRoYXQuY29tIFtNYXktMjAwOV0KKyAqLworCisvKiBtYXhpbXVtIHNlY29uZHMgYmV0d2VlbiB0aGUgZmlyc3QgYW5kIHRoZSBsYXN0IGF0dGVtcHQgKi8KKyNkZWZpbmUgTU9VTlRMT0NLX01BWFRJTUUJCTMwCisKKy8qIHNsZWVwIHRpbWUgKGluIG1pY3Jvc2Vjb25kcywgbWF4PTk5OTk5OSkgYmV0d2VlbiBhdHRlbXB0cyAqLworI2RlZmluZSBNT1VOVExPQ0tfV0FJVFRJTUUJCTUwMDAKKworc3RhdGljIHZvaWQgdW5sb2NrX210YWIoc3RydWN0IGxpYm1udF9sb2NrICptbCkKK3sKKwlpZiAoIW1sKQorCQlyZXR1cm47CisKKwlpZiAoIW1sLT5sb2NrZWQgJiYgbWwtPmxvY2tmaWxlICYmIG1sLT5saW5rZmlsZSkKKwl7CisJCS8qIFdlIChwcm9iYWJseSkgaGF2ZSBhbGwgdGhlIGZpbGVzLCBidXQgd2UgZG9uJ3Qgb3duIHRoZSBsb2NrLAorCQkgKiBSZWFsbHk/IENoZWNrIGl0ISBNYXliZSBtbC0+bG9ja2VkIHdhc24ndCBzZXQgcHJvcGVybHkKKwkJICogYmVjYXVzZSB0aGUgY29kZSB3YXMgaW50ZXJydXB0ZWQgYnkgYSBzaWduYWwuIFBhcmFub2lhPyBZZXMuCisJCSAqCisJCSAqIFdlIG93biB0aGUgbG9jayB3aGVuIGxpbmtmaWxlID09IGxvY2tmaWxlLgorCQkgKi8KKwkJc3RydWN0IHN0YXQgbG8sIGxpOworCisJCWlmICghc3RhdChtbC0+bG9ja2ZpbGUsICZsbykgJiYgIXN0YXQobWwtPmxpbmtmaWxlLCAmbGkpICYmCisJCSAgICBsby5zdF9kZXYgPT0gbGkuc3RfZGV2ICYmIGxvLnN0X2lubyA9PSBsaS5zdF9pbm8pCisJCQltbC0+bG9ja2VkID0gMTsKKwl9CisKKwlpZiAobWwtPmxpbmtmaWxlKQorCQl1bmxpbmsobWwtPmxpbmtmaWxlKTsKKwlpZiAobWwtPmxvY2tmaWxlX2ZkID49IDApCisJCWNsb3NlKG1sLT5sb2NrZmlsZV9mZCk7CisJaWYgKG1sLT5sb2NrZWQgJiYgbWwtPmxvY2tmaWxlKSB7CisJCXVubGluayhtbC0+bG9ja2ZpbGUpOworCQlEQkcoTE9DS1MsIHVsX2RlYnVnb2JqKG1sLCAidW5saW5rICVzIiwgbWwtPmxvY2tmaWxlKSk7CisJfQorfQorCitzdGF0aWMgaW50IGxvY2tfbXRhYihzdHJ1Y3QgbGlibW50X2xvY2sgKm1sKQoreworCWludCBpLCByYyA9IC0xOworCXN0cnVjdCB0aW1lc3BlYyB3YWl0dGltZTsKKwlzdHJ1Y3QgdGltZXZhbCBtYXh0aW1lOworCWNvbnN0IGNoYXIgKmxvY2tmaWxlLCAqbGlua2ZpbGU7CisKKwlpZiAoIW1sKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAobWwtPmxvY2tlZCkKKwkJcmV0dXJuIDA7CisKKwlsb2NrZmlsZSA9IG1udF9sb2NrX2dldF9sb2NrZmlsZShtbCk7CisJaWYgKCFsb2NrZmlsZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJbGlua2ZpbGUgPSBtbnRfbG9ja19nZXRfbGlua2ZpbGUobWwpOworCWlmICghbGlua2ZpbGUpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKG1sLT5zaWdibG9jaykgeworCQkvKgorCQkgKiBCbG9jayBhbGwgc2lnbmFscyB3aGVuIGxvY2tlZCwgbW50X3VubG9ja19maWxlKCkgd2lsbAorCQkgKiByZXN0b3JlIHRoZSBvbGQgbWFzay4KKwkJICovCisJCXNpZ3NldF90IHNpZ3M7CisKKwkJc2lnZW1wdHlzZXQoJm1sLT5vbGRzaWdtYXNrKTsKKwkJc2lnZmlsbHNldCgmc2lncyk7CisJCXNpZ2RlbHNldCgmc2lncywgU0lHVFJBUCk7CisJCXNpZ2RlbHNldCgmc2lncywgU0lHQUxSTSk7CisJCXNpZ3Byb2NtYXNrKFNJR19CTE9DSywgJnNpZ3MsICZtbC0+b2xkc2lnbWFzayk7CisJfQorCisJaSA9IG9wZW4obGlua2ZpbGUsIE9fV1JPTkxZfE9fQ1JFQVR8T19DTE9FWEVDLCBTX0lSVVNSfFNfSVdVU1IpOworCWlmIChpIDwgMCkgeworCQkvKiBsaW5rZmlsZSBkb2VzIG5vdCBleGlzdCAoYXMgYSBmaWxlKSBhbmQgd2UgY2Fubm90IGNyZWF0ZSBpdC4KKwkJICogUmVhZC1vbmx5IG9yIGZ1bGwgZmlsZXN5c3RlbT8gVG9vIG1hbnkgZmlsZXMgb3BlbiBpbiB0aGUgc3lzdGVtPworCQkgKi8KKwkJaWYgKGVycm5vID4gMCkKKwkJCXJjID0gLWVycm5vOworCQlnb3RvIGZhaWxlZDsKKwl9CisJY2xvc2UoaSk7CisKKwlnZXR0aW1lX21vbm90b25pYygmbWF4dGltZSk7CisJbWF4dGltZS50dl9zZWMgKz0gTU9VTlRMT0NLX01BWFRJTUU7CisKKwl3YWl0dGltZS50dl9zZWMgPSAwOworCXdhaXR0aW1lLnR2X25zZWMgPSAoMTAwMCAqIE1PVU5UTE9DS19XQUlUVElNRSk7CisKKwkvKiBSZXBlYXQgdW50aWwgaXQgd2FzIHVzIHdobyBtYWRlIHRoZSBsaW5rICovCisJd2hpbGUgKCFtbC0+bG9ja2VkKSB7CisJCXN0cnVjdCB0aW1ldmFsIG5vdzsKKwkJc3RydWN0IGZsb2NrIGZsb2NrOworCQlpbnQgajsKKworCQlqID0gbGluayhsaW5rZmlsZSwgbG9ja2ZpbGUpOworCQlpZiAoaiA9PSAwKQorCQkJbWwtPmxvY2tlZCA9IDE7CisKKwkJaWYgKGogPCAwICYmIGVycm5vICE9IEVFWElTVCkgeworCQkJaWYgKGVycm5vID4gMCkKKwkJCQlyYyA9IC1lcnJubzsKKwkJCWdvdG8gZmFpbGVkOworCQl9CisJCW1sLT5sb2NrZmlsZV9mZCA9IG9wZW4obG9ja2ZpbGUsIE9fV1JPTkxZfE9fQ0xPRVhFQyk7CisKKwkJaWYgKG1sLT5sb2NrZmlsZV9mZCA8IDApIHsKKwkJCS8qIFN0cmFuZ2UuLi4gTWF5YmUgdGhlIGZpbGUgd2FzIGp1c3QgZGVsZXRlZD8gKi8KKwkJCWludCBlcnJzdiA9IGVycm5vOworCQkJZ2V0dGltZV9tb25vdG9uaWMoJm5vdyk7CisJCQlpZiAoZXJyc3YgPT0gRU5PRU5UICYmIG5vdy50dl9zZWMgPCBtYXh0aW1lLnR2X3NlYykgeworCQkJCW1sLT5sb2NrZWQgPSAwOworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJaWYgKGVycnN2ID4gMCkKKwkJCQlyYyA9IC1lcnJzdjsKKwkJCWdvdG8gZmFpbGVkOworCQl9CisKKwkJZmxvY2subF90eXBlID0gRl9XUkxDSzsKKwkJZmxvY2subF93aGVuY2UgPSBTRUVLX1NFVDsKKwkJZmxvY2subF9zdGFydCA9IDA7CisJCWZsb2NrLmxfbGVuID0gMDsKKworCQlpZiAobWwtPmxvY2tlZCkgeworCQkJLyogV2UgbWFkZSB0aGUgbGluay4gTm93IGNsYWltIHRoZSBsb2NrLiAqLworCQkJaWYgKGZjbnRsIChtbC0+bG9ja2ZpbGVfZmQsIEZfU0VUTEssICZmbG9jaykgPT0gLTEpIHsKKwkJCQlEQkcoTE9DS1MsIHVsX2RlYnVnb2JqKG1sLAorCQkJCQkiJXM6IGNhbid0IEZfU0VUTEsgbG9ja2ZpbGUsIGVycm5vPSVkXG4iLAorCQkJCQlsb2NrZmlsZSwgZXJybm8pKTsKKwkJCQkvKiBwcm9jZWVkLCBzaW5jZSBpdCB3YXMgdXMgd2hvIGNyZWF0ZWQgdGhlIGxvY2tmaWxlIGFueXdheSAqLworCQkJfQorCQkJYnJlYWs7CisJCX0gZWxzZSB7CisJCQkvKiBTb21lb25lIGVsc2UgbWFkZSB0aGUgbGluay4gV2FpdC4gKi8KKwkJCWludCBlcnIgPSBtbnRfd2FpdF9tdGFiX2xvY2sobWwsICZmbG9jaywgbWF4dGltZS50dl9zZWMpOworCisJCQlpZiAoZXJyID09IDEpIHsKKwkJCQlEQkcoTE9DS1MsIHVsX2RlYnVnb2JqKG1sLAorCQkJCQkiJXM6IGNhbid0IGNyZWF0ZSBsaW5rOiB0aW1lIG91dCAocGVyaGFwcyAiCisJCQkJCSJ0aGVyZSBpcyBhIHN0YWxlIGxvY2sgZmlsZT8pIiwgbG9ja2ZpbGUpKTsKKwkJCQlyYyA9IC1FVElNRURPVVQ7CisJCQkJZ290byBmYWlsZWQ7CisKKwkJCX0gZWxzZSBpZiAoZXJyIDwgMCkgeworCQkJCXJjID0gZXJyOworCQkJCWdvdG8gZmFpbGVkOworCQkJfQorCQkJbmFub3NsZWVwKCZ3YWl0dGltZSwgTlVMTCk7CisJCQljbG9zZShtbC0+bG9ja2ZpbGVfZmQpOworCQkJbWwtPmxvY2tmaWxlX2ZkID0gLTE7CisJCX0KKwl9CisJREJHKExPQ0tTLCB1bF9kZWJ1Z29iaihtbCwgIiVzOiAoJWQpIHN1Y2Nlc3NmdWxseSBsb2NrZWQiLAorCQkJCQlsb2NrZmlsZSwgZ2V0cGlkKCkpKTsKKwl1bmxpbmsobGlua2ZpbGUpOworCXJldHVybiAwOworCitmYWlsZWQ6CisJbW50X3VubG9ja19maWxlKG1sKTsKKwlyZXR1cm4gcmM7Cit9CisKKworLyoqCisgKiBtbnRfbG9ja19maWxlCisgKiBAbWw6IHBvaW50ZXIgdG8gc3RydWN0IGxpYm1udF9sb2NrIGluc3RhbmNlCisgKgorICogQ3JlYXRlcyBhIGxvY2sgZmlsZSAoZS5nLiAvZXRjL210YWJ+KS4gTm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gbWF5CisgKiB1c2UgYWxhcm0oKS4KKyAqCisgKiBZb3VyIGFwcGxpY2F0aW9uIGFsd2F5cyBoYXMgdG8gY2FsbCBtbnRfdW5sb2NrX2ZpbGUoKSBiZWZvcmUgZXhpdC4KKyAqCisgKiBUcmFkaXRpb25hbCBtdGFiIGxvY2tpbmcgc2NoZW1lOgorICoKKyAqICAgMS4gY3JlYXRlIGxpbmtmaWxlIChlLmcuIC9ldGMvbXRhYn4uJFBJRCkKKyAqICAgMi4gbGluayBsaW5rZmlsZSAtLT4gbG9ja2ZpbGUgKGUuZy4gL2V0Yy9tdGFifi4kUElEIC0tPiAvZXRjL210YWJ+KQorICogICAzLiBhKSBsaW5rKCkgc3VjY2Vzczogc2V0dXBzIEZfU0VUTEsgbG9jayAoc2VlIGZjbnRsKDIpKQorICogICAgICBiKSBsaW5rKCkgZmFpbGVkOiAgd2FpdCAobWF4IDMwcykgb24gRl9TRVRMS1cgbG9jaywgZ290byAyLgorICoKKyAqIE5vdGUgdGhhdCB3aGVuIHRoZSBsb2NrIGlzIHVzZWQgYnkgbW50X3VwZGF0ZV90YWJsZSgpIGludGVyZmFjZSB0aGVuIGxpYm1vdW50CisgKiB1c2VzIGZsb2NrKCkgZm9yIHByaXZhdGUgbGlicmFyeSBmaWxlIC9ydW4vbW91bnQvdXRhYi4gVGhlIGZjbnRsKDIpIGlzIHVzZWQgb25seQorICogZm9yIGJhY2t3YXJkbHkgY29tcGF0aWJsZSBzdHVmZiBsaWtlIC9ldGMvbXRhYi4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IgKC1FVElNRU9VVCBpcyBjYXNlCisgKiBvZiBzdGFsZSBsb2NrIGZpbGUpLgorICovCitpbnQgbW50X2xvY2tfZmlsZShzdHJ1Y3QgbGlibW50X2xvY2sgKm1sKQoreworCWlmICghbWwpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKG1sLT5zaW1wbGVsb2NrKQorCQlyZXR1cm4gbG9ja19zaW1wbGVsb2NrKG1sKTsKKworCXJldHVybiBsb2NrX210YWIobWwpOworfQorCisvKioKKyAqIG1udF91bmxvY2tfZmlsZToKKyAqIEBtbDogbG9jayBzdHJ1Y3QKKyAqCisgKiBVbmxvY2tzIHRoZSBmaWxlLiBUaGUgZnVuY3Rpb24gY291bGQgYmUgY2FsbGVkIGluZGVwZW5kZW50bHkgb2YgdGhlCisgKiBsb2NrIHN0YXR1cyAoZm9yIGV4YW1wbGUgZnJvbSBleGl0KDMpKS4KKyAqLwordm9pZCBtbnRfdW5sb2NrX2ZpbGUoc3RydWN0IGxpYm1udF9sb2NrICptbCkKK3sKKwlpZiAoIW1sKQorCQlyZXR1cm47CisKKwlEQkcoTE9DS1MsIHVsX2RlYnVnb2JqKG1sLCAiKCVkKSAlcyIsIGdldHBpZCgpLAorCQkJbWwtPmxvY2tlZCA/ICJ1bmxvY2tpbmciIDogImNsZWFuaW5nIikpOworCisJaWYgKG1sLT5zaW1wbGVsb2NrKQorCQl1bmxvY2tfc2ltcGxlbG9jayhtbCk7CisJZWxzZQorCQl1bmxvY2tfbXRhYihtbCk7CisKKwltbC0+bG9ja2VkID0gMDsKKwltbC0+bG9ja2ZpbGVfZmQgPSAtMTsKKworCWlmIChtbC0+c2lnYmxvY2spIHsKKwkJREJHKExPQ0tTLCB1bF9kZWJ1Z29iaihtbCwgInJlc3RvcmluZyBzaWdtYXNrIikpOworCQlzaWdwcm9jbWFzayhTSUdfU0VUTUFTSywgJm1sLT5vbGRzaWdtYXNrLCBOVUxMKTsKKwl9Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU0KKworc3RydWN0IGxpYm1udF9sb2NrICpsb2NrOworCisvKgorICogcmVhZCBudW1iZXIgZnJvbSBAZmlsZW5hbWUsIGluY3JlbWVudCB0aGUgbnVtYmVyIGFuZAorICogd3JpdGUgdGhlIG51bWJlciBiYWNrIHRvIHRoZSBmaWxlCisgKi8KK3N0YXRpYyB2b2lkIGluY3JlbWVudF9kYXRhKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgdmVyYm9zZSwgaW50IGxvb3BubykKK3sKKwlsb25nIG51bTsKKwlGSUxFICpmOworCWNoYXIgYnVmWzI1Nl07CisKKwlpZiAoIShmID0gZm9wZW4oZmlsZW5hbWUsICJyIiBVTF9DTE9FWEVDU1RSKSkpCisJCWVycihFWElUX0ZBSUxVUkUsICIlZDogZmFpbGVkIHRvIG9wZW46ICVzIiwgZ2V0cGlkKCksIGZpbGVuYW1lKTsKKworCWlmICghZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgZikpCisJCWVycihFWElUX0ZBSUxVUkUsICIlZCBmYWlsZWQgcmVhZDogJXMiLCBnZXRwaWQoKSwgZmlsZW5hbWUpOworCisJZmNsb3NlKGYpOworCW51bSA9IGF0b2woYnVmKSArIDE7CisKKwlpZiAoIShmID0gZm9wZW4oZmlsZW5hbWUsICJ3IiBVTF9DTE9FWEVDU1RSKSkpCisJCWVycihFWElUX0ZBSUxVUkUsICIlZDogZmFpbGVkIHRvIG9wZW46ICVzIiwgZ2V0cGlkKCksIGZpbGVuYW1lKTsKKworCWZwcmludGYoZiwgIiVsZCIsIG51bSk7CisKKwlpZiAoY2xvc2Vfc3RyZWFtKGYpICE9IDApCisJCWVycihFWElUX0ZBSUxVUkUsICJ3cml0ZSBmYWlsZWQ6ICVzIiwgZmlsZW5hbWUpOworCisJaWYgKHZlcmJvc2UpCisJCWZwcmludGYoc3RkZXJyLCAiJWQ6ICVzOiAlbGQgLS0+ICVsZCAobG9vcD0lZClcbiIsIGdldHBpZCgpLAorCQkJCWZpbGVuYW1lLCBudW0gLSAxLCBudW0sIGxvb3Bubyk7Cit9CisKK3N0YXRpYyB2b2lkIGNsZWFuX2xvY2sodm9pZCkKK3sKKwlpZiAoIWxvY2spCisJCXJldHVybjsKKwltbnRfdW5sb2NrX2ZpbGUobG9jayk7CisJbW50X2ZyZWVfbG9jayhsb2NrKTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgc2lnX2hhbmRsZXIoaW50IHNpZykKK3sKKwllcnJ4KEVYSVRfRkFJTFVSRSwgIlxuJWQ6IGNhdGNoIHNpZ25hbDogJXNcbiIsIGdldHBpZCgpLCBzdHJzaWduYWwoc2lnKSk7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9sb2NrKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJdGltZV90IHN5bmN0aW1lID0gMDsKKwl1bnNpZ25lZCBpbnQgdXNlY3M7CisJY29uc3QgY2hhciAqZGF0YWZpbGUgPSBOVUxMOworCWludCB2ZXJib3NlID0gMCwgbG9vcHMgPSAwLCBsLCBpZHggPSAxOworCisJaWYgKGFyZ2MgPCAzKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChzdHJjbXAoYXJndltpZHhdLCAiLS1zeW5jdGltZSIpID09IDApIHsKKwkJc3luY3RpbWUgPSAodGltZV90KSBhdG9sKGFyZ3ZbaWR4ICsgMV0pOworCQlpZHggKz0gMjsKKwl9CisJaWYgKGlkeCA8IGFyZ2MgJiYgc3RyY21wKGFyZ3ZbaWR4XSwgIi0tdmVyYm9zZSIpID09IDApIHsKKwkJdmVyYm9zZSA9IDE7CisJCWlkeCsrOworCX0KKworCWlmIChpZHggPCBhcmdjKQorCQlkYXRhZmlsZSA9IGFyZ3ZbaWR4KytdOworCWlmIChpZHggPCBhcmdjKQorCQlsb29wcyA9IGF0b2koYXJndltpZHgrK10pOworCisJaWYgKCFkYXRhZmlsZSB8fCAhbG9vcHMpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKHZlcmJvc2UpCisJCWZwcmludGYoc3RkZXJyLCAiJWQ6IHN0YXJ0OiBzeW5jdGltZT0ldSwgZGF0YWZpbGU9JXMsIGxvb3BzPSVkXG4iLAorCQkJIGdldHBpZCgpLCAoaW50KSBzeW5jdGltZSwgZGF0YWZpbGUsIGxvb3BzKTsKKworCWF0ZXhpdChjbGVhbl9sb2NrKTsKKworCS8qIGJlIHBhcmFub2lkIGFuZCBjYWxsIGV4aXQoKSAoPWNsZWFuX2xvY2soKSkgZm9yIGFsbCBzaWduYWxzICovCisJeworCQlpbnQgc2lnID0gMDsKKwkJc3RydWN0IHNpZ2FjdGlvbiBzYTsKKworCQlzYS5zYV9oYW5kbGVyID0gc2lnX2hhbmRsZXI7CisJCXNhLnNhX2ZsYWdzID0gMDsKKwkJc2lnZmlsbHNldCgmc2Euc2FfbWFzayk7CisKKwkJd2hpbGUgKHNpZ2lzbWVtYmVyKCZzYS5zYV9tYXNrLCArK3NpZykgIT0gLTEgJiYgc2lnICE9IFNJR0NITEQpCisJCQlzaWdhY3Rpb24gKHNpZywgJnNhLCAoc3RydWN0IHNpZ2FjdGlvbiAqKSAwKTsKKwl9CisKKwkvKiBzdGFydCB0aGUgdGVzdCBpbiBleGFjdGx5IGRlZmluZWQgdGltZSAqLworCWlmIChzeW5jdGltZSkgeworCQlzdHJ1Y3QgdGltZXZhbCB0djsKKworCQlnZXR0aW1lb2ZkYXkoJnR2LCBOVUxMKTsKKwkJaWYgKHN5bmN0aW1lICYmIHN5bmN0aW1lIC0gdHYudHZfc2VjID4gMSkgeworCQkJdXNlY3MgPSAoKHN5bmN0aW1lIC0gdHYudHZfc2VjKSAqIDEwMDAwMDBVTCkgLQorCQkJCQkJKDEwMDAwMDBVTCAtIHR2LnR2X3VzZWMpOworCQkJeHVzbGVlcCh1c2Vjcyk7CisJCX0KKwl9CisKKwlmb3IgKGwgPSAwOyBsIDwgbG9vcHM7IGwrKykgeworCQlsb2NrID0gbW50X25ld19sb2NrKGRhdGFmaWxlLCAwKTsKKwkJaWYgKCFsb2NrKQorCQkJcmV0dXJuIC0xOworCisJCWlmIChtbnRfbG9ja19maWxlKGxvY2spICE9IDApIHsKKwkJCWZwcmludGYoc3RkZXJyLCAiJWQ6IGZhaWxlZCB0byBsb2NrICVzIGZpbGVcbiIsCisJCQkJCWdldHBpZCgpLCBkYXRhZmlsZSk7CisJCQlyZXR1cm4gLTE7CisJCX0KKworCQlpbmNyZW1lbnRfZGF0YShkYXRhZmlsZSwgdmVyYm9zZSwgbCk7CisKKwkJbW50X3VubG9ja19maWxlKGxvY2spOworCQltbnRfZnJlZV9sb2NrKGxvY2spOworCQlsb2NrID0gTlVMTDsKKworCQkvKiBUaGUgbW91bnQgY29tbWFuZCB1c3VhbGx5IGZpbmlzaGVzIGFmdGVyIGEgbXRhYiB1cGRhdGUuIFdlCisJCSAqIHNpbXVsYXRlIHRoaXMgdmlhIHNob3J0IHNsZWVwIC0tIGl0J3MgYWxzbyBlbm91Z2ggdG8gbWFrZQorCQkgKiBjb25jdXJyZW50IHByb2Nlc3NlcyBoYXBweS4KKwkJICovCisJCWlmIChzeW5jdGltZSkKKwkJCXh1c2xlZXAoMjUwMDApOworCX0KKworCXJldHVybiAwOworfQorCisvKgorICogTm90ZSB0aGF0IHRoaXMgdGVzdCBzaG91bGQgYmUgZXhlY3V0ZWQgZnJvbSBhIHNjcmlwdCB0aGF0IGNyZWF0ZXMgbWFueQorICogcGFyYWxsZWwgcHJvY2Vzc2VzLCBvdGhlcndpc2UgdGhpcyB0ZXN0IGRvZXMgbm90IG1ha2Ugc2Vuc2UuCisgKi8KK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IGxpYm1udF90ZXN0IHRzc1tdID0geworCXsgIi0tbG9jayIsIHRlc3RfbG9jaywgICIgWy0tc3luY3RpbWUgPHRpbWVfdD5dIFstLXZlcmJvc2VdIDxkYXRhZmlsZT4gPGxvb3BzPiAiCisJCQkJImluY3JlbWVudCBhIG51bWJlciBpbiBkYXRhZmlsZSIgfSwKKwl7IE5VTEwgfQorCX07CisKKwlyZXR1cm4gbW50X3J1bl90ZXN0KHRzcywgYXJnYywgYXJndik7Cit9CisKKyNlbmRpZiAvKiBURVNUX1BST0dSQU0gKi8KZGlmZiAtLWdpdCBhL2xpYm1vdW50L3NyYy9tb25pdG9yLmMgYi9saWJtb3VudC9zcmMvbW9uaXRvci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0YjJlMDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtb3VudC9zcmMvbW9uaXRvci5jCkBAIC0wLDAgKzEsOTc1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworLyoqCisgKiBTRUNUSU9OOiBtb25pdG9yCisgKiBAdGl0bGU6IE1vbml0b3IKKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogaW50ZXJmYWNlIHRvIG1vbml0b3IgbW91bnQgdGFibGVzCisgKgorICogRm9yIGV4YW1wbGUgbW9uaXRvciBWRlMgKC9wcm9jL3NlbGYvbW91bnRpbmZvKSBmb3IgY2hhbmdlczoKKyAqCisgKiA8aW5mb3JtYWxleGFtcGxlPgorICogICA8cHJvZ3JhbWxpc3Rpbmc+CisgKiBjb25zdCBjaGFyICpmaWxlbmFtZTsKKyAqIHN0cnVjdCBsaWJtb3VudF9tb25pdG9yICptbiA9IG1udF9uZXdfbW9uaXRvcigpOworICoKKyAqIG1udF9tb25pdG9yX2VuYWJsZV9rZXJuZWwobW4sIFRSVUUpKTsKKyAqCisgKiBwcmludGYoIndhaXRpbmcgZm9yIGNoYW5nZXMuLi5cbiIpOworICogd2hpbGUgKG1udF9tb25pdG9yX3dhaXQobW4sIC0xKSA+IDApIHsKKyAqICAgIHdoaWxlIChtbnRfbW9uaXRvcl9uZXh0X2NoYW5nZShtbiwgJmZpbGVuYW1lLCBOVUxMKSA9PSAwKQorICogICAgICAgcHJpbnRmKCIgJXM6IGNoYW5nZSBkZXRlY3RlZFxuIiwgZmlsZW5hbWUpOworICogfQorICogbW50X3VucmVmX21vbml0b3IobW4pOworICogICA8L3Byb2dyYW1saXN0aW5nPgorICogPC9pbmZvcm1hbGV4YW1wbGU+CisgKgorICovCisKKyNpbmNsdWRlICJmaWxldXRpbHMuaCIKKyNpbmNsdWRlICJtb3VudFAuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKworI2luY2x1ZGUgPHN5cy9pbm90aWZ5Lmg+CisjaW5jbHVkZSA8c3lzL2Vwb2xsLmg+CisKKworc3RydWN0IG1vbml0b3Jfb3BlcnM7CisKK3N0cnVjdCBtb25pdG9yX2VudHJ5IHsKKwlpbnQJCQlmZDsJCS8qIHByaXZhdGUgZW50cnkgZmlsZSBkZXNjcmlwdG9yICovCisJY2hhcgkJCSpwYXRoOwkJLyogcGF0aCB0byB0aGUgbW9uaXRvcmVkIGZpbGUgKi8KKwlpbnQJCQl0eXBlOwkJLyogTU5UX01PTklUT1JfVFlQRV8qICovCisJdWludDMyX3QJCWV2ZW50czsJCS8qIHdhbnRlZCBlcG9sbCBldmVudHMgKi8KKworCWNvbnN0IHN0cnVjdCBtb25pdG9yX29wZXJzICpvcGVyczsKKworCXVuc2lnbmVkIGludAkJZW5hYmxlIDogMSwKKwkJCQljaGFuZ2VkIDogMTsKKworCXN0cnVjdCBsaXN0X2hlYWQJZW50czsKK307CisKK3N0cnVjdCBsaWJtbnRfbW9uaXRvciB7CisJaW50CQkJcmVmY291bnQ7CisJaW50CQkJZmQ7CQkvKiBwdWJsaWMgbW9uaXRvciBmaWxlIGRlc2NyaXB0b3IgKi8KKworCXN0cnVjdCBsaXN0X2hlYWQJZW50czsKK307CisKK3N0cnVjdCBtb25pdG9yX29wZXJzIHsKKwlpbnQgKCpvcF9nZXRfZmQpKHN0cnVjdCBsaWJtbnRfbW9uaXRvciAqLCBzdHJ1Y3QgbW9uaXRvcl9lbnRyeSAqKTsKKwlpbnQgKCpvcF9jbG9zZV9mZCkoc3RydWN0IGxpYm1udF9tb25pdG9yICosIHN0cnVjdCBtb25pdG9yX2VudHJ5ICopOworCWludCAoKm9wX2V2ZW50X3ZlcmlmeSkoc3RydWN0IGxpYm1udF9tb25pdG9yICosIHN0cnVjdCBtb25pdG9yX2VudHJ5ICopOworfTsKKworc3RhdGljIGludCBtb25pdG9yX21vZGlmeV9lcG9sbChzdHJ1Y3QgbGlibW50X21vbml0b3IgKm1uLAorCQkJCXN0cnVjdCBtb25pdG9yX2VudHJ5ICptZSwgaW50IGVuYWJsZSk7CisKKy8qKgorICogbW50X25ld19tb25pdG9yOgorICoKKyAqIFRoZSBpbml0aWFsIHJlZmNvdW50IGlzIDEsIGFuZCBuZWVkcyB0byBiZSBkZWNyZW1lbnRlZCB0bworICogcmVsZWFzZSB0aGUgcmVzb3VyY2VzIG9mIHRoZSBmaWxlc3lzdGVtLgorICoKKyAqIFJldHVybnM6IG5ld2x5IGFsbG9jYXRlZCBzdHJ1Y3QgbGlibW50X21vbml0b3IuCisgKi8KK3N0cnVjdCBsaWJtbnRfbW9uaXRvciAqbW50X25ld19tb25pdG9yKHZvaWQpCit7CisJc3RydWN0IGxpYm1udF9tb25pdG9yICptbiA9IGNhbGxvYygxLCBzaXplb2YoKm1uKSk7CisJaWYgKCFtbikKKwkJcmV0dXJuIE5VTEw7CisKKwltbi0+cmVmY291bnQgPSAxOworCW1uLT5mZCA9IC0xOworCUlOSVRfTElTVF9IRUFEKCZtbi0+ZW50cyk7CisKKwlEQkcoTU9OSVRPUiwgdWxfZGVidWdvYmoobW4sICJhbGxvYyIpKTsKKwlyZXR1cm4gbW47Cit9CisKKy8qKgorICogbW50X3JlZl9tb25pdG9yOgorICogQG1uOiBtb25pdG9yIHBvaW50ZXIKKyAqCisgKiBJbmNyZW1lbnRzIHJlZmVyZW5jZSBjb3VudGVyLgorICovCit2b2lkIG1udF9yZWZfbW9uaXRvcihzdHJ1Y3QgbGlibW50X21vbml0b3IgKm1uKQoreworCWlmIChtbikKKwkJbW4tPnJlZmNvdW50Kys7Cit9CisKK3N0YXRpYyB2b2lkIGZyZWVfbW9uaXRvcl9lbnRyeShzdHJ1Y3QgbW9uaXRvcl9lbnRyeSAqbWUpCit7CisJaWYgKCFtZSkKKwkJcmV0dXJuOworCWxpc3RfZGVsKCZtZS0+ZW50cyk7CisJaWYgKG1lLT5mZCA+PSAwKQorCQljbG9zZShtZS0+ZmQpOworCWZyZWUobWUtPnBhdGgpOworCWZyZWUobWUpOworfQorCisvKioKKyAqIG1udF91bnJlZl9tb25pdG9yOgorICogQG1uOiBtb25pdG9yIHBvaW50ZXIKKyAqCisgKiBEZWNyZW1lbnRzIHRoZSByZWZlcmVuY2UgY291bnRlciwgb24gemVybyB0aGUgQG1uIGlzIGF1dG9tYXRpY2FsbHkKKyAqIGRlYWxsb2NhdGVkLgorICovCit2b2lkIG1udF91bnJlZl9tb25pdG9yKHN0cnVjdCBsaWJtbnRfbW9uaXRvciAqbW4pCit7CisJaWYgKCFtbikKKwkJcmV0dXJuOworCisJbW4tPnJlZmNvdW50LS07CisJaWYgKG1uLT5yZWZjb3VudCA8PSAwKSB7CisJCW1udF9tb25pdG9yX2Nsb3NlX2ZkKG1uKTsJLyogZGVzdHJveXMgYWxsIGZpbGUgZGVzY3JpcHRvcnMgKi8KKworCQl3aGlsZSAoIWxpc3RfZW1wdHkoJm1uLT5lbnRzKSkgeworCQkJc3RydWN0IG1vbml0b3JfZW50cnkgKm1lID0gbGlzdF9lbnRyeShtbi0+ZW50cy5uZXh0LAorCQkJCQkJICBzdHJ1Y3QgbW9uaXRvcl9lbnRyeSwgZW50cyk7CisJCQlmcmVlX21vbml0b3JfZW50cnkobWUpOworCQl9CisKKwkJZnJlZShtbik7CisJfQorfQorCitzdGF0aWMgc3RydWN0IG1vbml0b3JfZW50cnkgKm1vbml0b3JfbmV3X2VudHJ5KHN0cnVjdCBsaWJtbnRfbW9uaXRvciAqbW4pCit7CisJc3RydWN0IG1vbml0b3JfZW50cnkgKm1lOworCisJYXNzZXJ0KG1uKTsKKworCW1lID0gY2FsbG9jKDEsIHNpemVvZigqbWUpKTsKKwlpZiAoIW1lKQorCQlyZXR1cm4gTlVMTDsKKyAgICAgICAgSU5JVF9MSVNUX0hFQUQoJm1lLT5lbnRzKTsKKwlsaXN0X2FkZF90YWlsKCZtZS0+ZW50cywgJm1uLT5lbnRzKTsKKworCW1lLT5mZCA9IC0xOworCisJcmV0dXJuIG1lOworfQorCitzdGF0aWMgaW50IG1vbml0b3JfbmV4dF9lbnRyeShzdHJ1Y3QgbGlibW50X21vbml0b3IgKm1uLAorCQkJICAgICAgc3RydWN0IGxpYm1udF9pdGVyICppdHIsCisJCQkgICAgICBzdHJ1Y3QgbW9uaXRvcl9lbnRyeSAqKm1lKQoreworCWludCByYyA9IDE7CisKKwlhc3NlcnQobW4pOworCWFzc2VydChpdHIpOworCWFzc2VydChtZSk7CisKKwkqbWUgPSBOVUxMOworCisJaWYgKCFpdHItPmhlYWQpCisJCU1OVF9JVEVSX0lOSVQoaXRyLCAmbW4tPmVudHMpOworCWlmIChpdHItPnAgIT0gaXRyLT5oZWFkKSB7CisJCU1OVF9JVEVSX0lURVJBVEUoaXRyLCAqbWUsIHN0cnVjdCBtb25pdG9yX2VudHJ5LCBlbnRzKTsKKwkJcmMgPSAwOworCX0KKworCXJldHVybiByYzsKK30KKworLyogcmV0dXJucyBlbnRyeSBieSB0eXBlICovCitzdGF0aWMgc3RydWN0IG1vbml0b3JfZW50cnkgKm1vbml0b3JfZ2V0X2VudHJ5KHN0cnVjdCBsaWJtbnRfbW9uaXRvciAqbW4sIGludCB0eXBlKQoreworCXN0cnVjdCBsaWJtbnRfaXRlciBpdHI7CisJc3RydWN0IG1vbml0b3JfZW50cnkgKm1lOworCisJbW50X3Jlc2V0X2l0ZXIoJml0ciwgTU5UX0lURVJfRk9SV0FSRCk7CisJd2hpbGUgKG1vbml0b3JfbmV4dF9lbnRyeShtbiwgJml0ciwgJm1lKSA9PSAwKSB7CisJCWlmIChtZS0+dHlwZSA9PSB0eXBlKQorCQkJcmV0dXJuIG1lOworCX0KKwlyZXR1cm4gTlVMTDsKK30KKworCisvKgorICogVXNlcnNwYWNlIG1vbml0b3IKKyAqLworCitzdGF0aWMgaW50IHVzZXJzcGFjZV9tb25pdG9yX2Nsb3NlX2ZkKHN0cnVjdCBsaWJtbnRfbW9uaXRvciAqbW4sCisJCQkJICAgIHN0cnVjdCBtb25pdG9yX2VudHJ5ICptZSkKK3sKKwlhc3NlcnQobW4pOworCWFzc2VydChtZSk7CisKKwlpZiAobWUtPmZkID49IDApCisJCWNsb3NlKG1lLT5mZCk7CisJbWUtPmZkID0gLTE7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdXNlcnNwYWNlX2FkZF93YXRjaChzdHJ1Y3QgbW9uaXRvcl9lbnRyeSAqbWUsIGludCAqZmluYWwsIGludCAqZmQpCit7CisJY2hhciAqZmlsZW5hbWUgPSBOVUxMOworCWludCB3ZCwgcmMgPSAtRUlOVkFMOworCisJYXNzZXJ0KG1lKTsKKwlhc3NlcnQobWUtPnBhdGgpOworCisJLyoKKwkgKiBsaWJtb3VudCB1c2VzIHJlbmFtZSgyKSB0byBhdG9taWNhbGx5IHVwZGF0ZSB1dGFiLCBtb25pdG9yCisJICogcmVuYW1lIGNoYW5nZXMgaXMgdG9vIHRyaWNreS4gSXQgc2VlbXMgYmV0dGVyIHRvIG1vbml0b3IgdXRhYgorCSAqIGxvY2tmaWxlIGNsb3NlLgorCSAqLworCWlmIChhc3ByaW50ZigmZmlsZW5hbWUsICIlcy5sb2NrIiwgbWUtPnBhdGgpIDw9IDApIHsKKwkJcmMgPSAtZXJybm87CisJCWdvdG8gZG9uZTsKKwl9CisKKwkvKiB0cnkgbG9jayBmaWxlIGlmIGFscmVhZHkgZXhpc3RzICovCisJZXJybm8gPSAwOworCXdkID0gaW5vdGlmeV9hZGRfd2F0Y2gobWUtPmZkLCBmaWxlbmFtZSwgSU5fQ0xPU0VfTk9XUklURSk7CisJaWYgKHdkID49IDApIHsKKwkJREJHKE1PTklUT1IsIHVsX2RlYnVnKCIgYWRkZWQgaW5vdGlmeSB3YXRjaCBmb3IgJXMgW2ZkPSVkXSIsIGZpbGVuYW1lLCB3ZCkpOworCQlyYyA9IDA7CisJCWlmIChmaW5hbCkKKwkJCSpmaW5hbCA9IDE7CisJCWlmIChmZCkKKwkJCSpmZCA9IHdkOworCQlnb3RvIGRvbmU7CisJfSBlbHNlIGlmIChlcnJubyAhPSBFTk9FTlQpIHsKKwkJcmMgPSAtZXJybm87CisJCWdvdG8gZG9uZTsKKwl9CisKKwl3aGlsZSAoc3RyY2hyKGZpbGVuYW1lLCAnLycpKSB7CisJCXN0cmlwb2ZmX2xhc3RfY29tcG9uZW50KGZpbGVuYW1lKTsKKwkJaWYgKCEqZmlsZW5hbWUpCisJCQlicmVhazsKKworCQkvKiB0cnkgZGlyZWN0b3J5IHdoZXJlIGlzIHRoZSBsb2NrIGZpbGUgKi8KKwkJZXJybm8gPSAwOworCQl3ZCA9IGlub3RpZnlfYWRkX3dhdGNoKG1lLT5mZCwgZmlsZW5hbWUsIElOX0NSRUFURXxJTl9JU0RJUik7CisJCWlmICh3ZCA+PSAwKSB7CisJCQlEQkcoTU9OSVRPUiwgdWxfZGVidWcoIiBhZGRlZCBpbm90aWZ5IHdhdGNoIGZvciAlcyBbZmQ9JWRdIiwgZmlsZW5hbWUsIHdkKSk7CisJCQlyYyA9IDA7CisJCQlpZiAoZmQpCisJCQkJKmZkID0gd2Q7CisJCQlicmVhazsKKwkJfSBlbHNlIGlmIChlcnJubyAhPSBFTk9FTlQpIHsKKwkJCXJjID0gLWVycm5vOworCQkJYnJlYWs7CisJCX0KKwl9Citkb25lOgorCWZyZWUoZmlsZW5hbWUpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB1c2Vyc3BhY2VfbW9uaXRvcl9nZXRfZmQoc3RydWN0IGxpYm1udF9tb25pdG9yICptbiwKKwkJCQkgICAgc3RydWN0IG1vbml0b3JfZW50cnkgKm1lKQoreworCWludCByYzsKKworCWlmICghbWUgfHwgbWUtPmVuYWJsZSA9PSAwKQkvKiBub3QtaW5pdGlhbGl6ZWQgb3IgZGlzYWJsZWQgKi8KKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKG1lLT5mZCA+PSAwKQorCQlyZXR1cm4gbWUtPmZkOwkJLyogYWxyZWFkeSBpbml0aWFsaXplZCAqLworCisJYXNzZXJ0KG1lLT5wYXRoKTsKKwlEQkcoTU9OSVRPUiwgdWxfZGVidWdvYmoobW4sICIgb3BlbiB1c2Vyc3BhY2UgbW9uaXRvciBmb3IgJXMiLCBtZS0+cGF0aCkpOworCisJbWUtPmZkID0gaW5vdGlmeV9pbml0MShJTl9OT05CTE9DSyB8IElOX0NMT0VYRUMpOworCWlmIChtZS0+ZmQgPCAwKQorCQlnb3RvIGVycjsKKworCWlmICh1c2Vyc3BhY2VfYWRkX3dhdGNoKG1lLCBOVUxMLCBOVUxMKSA8IDApCisJCWdvdG8gZXJyOworCisJcmV0dXJuIG1lLT5mZDsKK2VycjoKKwlyYyA9IC1lcnJubzsKKwlpZiAobWUtPmZkID49IDApCisJCWNsb3NlKG1lLT5mZCk7CisJbWUtPmZkID0gLTE7CisJREJHKE1PTklUT1IsIHVsX2RlYnVnb2JqKG1uLCAiZmFpbGVkIHRvIGNyZWF0ZSB1c2Vyc3BhY2UgbW9uaXRvciBbcmM9JWRdIiwgcmMpKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiB2ZXJpZnkgYW5kIGRyYWluIGlub3RpZnkgYnVmZmVyCisgKi8KK3N0YXRpYyBpbnQgdXNlcnNwYWNlX2V2ZW50X3ZlcmlmeShzdHJ1Y3QgbGlibW50X21vbml0b3IgKm1uLAorCQkJCQlzdHJ1Y3QgbW9uaXRvcl9lbnRyeSAqbWUpCit7CisJY2hhciBidWZbc2l6ZW9mKHN0cnVjdCBpbm90aWZ5X2V2ZW50KSArIE5BTUVfTUFYICsgMV07CisJaW50IHN0YXR1cyA9IDA7CisKKwlpZiAoIW1lIHx8IG1lLT5mZCA8IDApCisJCXJldHVybiAwOworCisJREJHKE1PTklUT1IsIHVsX2RlYnVnb2JqKG1uLCAiZHJhaW4gYW5kIHZlcmlmeSB1c2Vyc3BhY2UgbW9uaXRvciBpbm90aWZ5IikpOworCisJLyogdGhlIG1lLT5mZCBpcyBub24tYmxvY2tpbmcgKi8KKwlkbyB7CisJCXNzaXplX3QgbGVuOworCQljaGFyICpwOworCQljb25zdCBzdHJ1Y3QgaW5vdGlmeV9ldmVudCAqZTsKKworCQlsZW4gPSByZWFkKG1lLT5mZCwgYnVmLCBzaXplb2YoYnVmKSk7CisJCWlmIChsZW4gPCAwKQorCQkJYnJlYWs7CisKKwkJZm9yIChwID0gYnVmOyBwIDwgYnVmICsgbGVuOworCQkgICAgIHAgKz0gc2l6ZW9mKHN0cnVjdCBpbm90aWZ5X2V2ZW50KSArIGUtPmxlbikgeworCisJCQlpbnQgZmQgPSAtMTsKKworCQkJZSA9IChjb25zdCBzdHJ1Y3QgaW5vdGlmeV9ldmVudCAqKSBwOworCQkJREJHKE1PTklUT1IsIHVsX2RlYnVnb2JqKG1uLCAiIGlub3RpZnkgZXZlbnQgMHgleCBbJXNdXG4iLCBlLT5tYXNrLCBlLT5sZW4gPyBlLT5uYW1lIDogIiIpKTsKKworCQkJaWYgKGUtPm1hc2sgJiBJTl9DTE9TRV9OT1dSSVRFKQorCQkJCXN0YXR1cyA9IDE7CisJCQllbHNlIHsKKwkJCQkvKiBldmVudCBvbiBsb2NrIGZpbGUgKi8KKwkJCQl1c2Vyc3BhY2VfYWRkX3dhdGNoKG1lLCAmc3RhdHVzLCAmZmQpOworCisJCQkJaWYgKGZkICE9IGUtPndkKSB7CisJCQkJCURCRyhNT05JVE9SLCB1bF9kZWJ1Z29iaihtbiwgIiByZW1vdmluZyB3YXRjaCBbZmQ9JWRdIiwgZS0+d2QpKTsKKwkJCQkJaW5vdGlmeV9ybV93YXRjaChtZS0+ZmQsIGUtPndkKTsKKwkJCQl9CisJCQl9CisJCX0KKwl9IHdoaWxlICgxKTsKKworCURCRyhNT05JVE9SLCB1bF9kZWJ1Z29iaihtbiwgIiVzIiwgc3RhdHVzID09IDEgPyAiIHN1Y2Nlc3MiIDogIiBub3RoaW5nIikpOworCXJldHVybiBzdGF0dXM7Cit9CisKKy8qCisgKiB1c2Vyc3BhY2UgbW9uaXRvciBvcGVyYXRpb25zCisgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbW9uaXRvcl9vcGVycyB1c2Vyc3BhY2Vfb3BlcnMgPSB7CisJLm9wX2dldF9mZAkJPSB1c2Vyc3BhY2VfbW9uaXRvcl9nZXRfZmQsCisJLm9wX2Nsb3NlX2ZkCQk9IHVzZXJzcGFjZV9tb25pdG9yX2Nsb3NlX2ZkLAorCS5vcF9ldmVudF92ZXJpZnkJPSB1c2Vyc3BhY2VfZXZlbnRfdmVyaWZ5Cit9OworCisvKioKKyAqIG1udF9tb25pdG9yX2VuYWJsZV91c2Vyc3BhY2U6CisgKiBAbW46IG1vbml0b3IKKyAqIEBlbmFibGU6IDAgb3IgMQorICogQGZpbGVuYW1lOiBvdmVyd3JpdGVzIGRlZmF1bHQKKyAqCisgKiBFbmFibGVzIG9yIGRpc2FibGVzIHVzZXJzcGFjZSBtb25pdG9yaW5nLiBJZiB0aGUgdXNlcnNwYWNlIG1vbml0b3IgZG9lcyBub3QKKyAqIGV4aXN0IGFuZCBlbmFibGU9MSB0aGVuIGFsbG9jYXRlcyBuZXcgcmVzb3VyY2VzIG5lY2Vzc2FyeSBmb3IgdGhlIG1vbml0b3IuCisgKgorICogSWYgdGhlIHRvcC1sZXZlbCBtb25pdG9yIGhhcyBiZWVuIGFscmVhZHkgY3JlYXRlZCAoYnkgbW50X21vbml0b3JfZ2V0X2ZkKCkKKyAqIG9yIG1udF9tb25pdG9yX3dhaXQoKSkgdGhlbiBpdCdzIHVwZGF0ZWQgYWNjb3JkaW5nIHRvIEBlbmFibGUuCisgKgorICogVGhlIEBmaWxlbmFtZSBpcyB1c2VkIG9ubHkgdGhlIGZpcnN0IHRpbWUgd2hlbiB5b3UgZW5hYmxlIHRoZSBtb25pdG9yLiBJdCdzCisgKiBpbXBvc3NpYmxlIHRvIGhhdmUgbW9yZSB0aGFuIG9uZSB1c2Vyc3BhY2UgbW9uaXRvci4gVGhlIHJlY29tbWVuZGVkIGlzIHRvCisgKiB1c2UgTlVMTCBhcyBmaWxlbmFtZS4KKyAqCisgKiBUaGUgdXNlcnNwYWNlIG1vbml0b3IgaXMgdW5zdXBwb3J0ZWQgZm9yIHN5c3RlbXMgd2l0aCBjbGFzc2ljIHJlZ3VsYXIKKyAqIC9ldGMvbXRhYiBmaWxlLgorICoKKyAqIFJldHVybjogMCBvbiBzdWNjZXNzIGFuZCA8MCBvbiBlcnJvcgorICovCitpbnQgbW50X21vbml0b3JfZW5hYmxlX3VzZXJzcGFjZShzdHJ1Y3QgbGlibW50X21vbml0b3IgKm1uLCBpbnQgZW5hYmxlLCBjb25zdCBjaGFyICpmaWxlbmFtZSkKK3sKKwlzdHJ1Y3QgbW9uaXRvcl9lbnRyeSAqbWU7CisJaW50IHJjID0gMDsKKworCWlmICghbW4pCisJCXJldHVybiAtRUlOVkFMOworCisJbWUgPSBtb25pdG9yX2dldF9lbnRyeShtbiwgTU5UX01PTklUT1JfVFlQRV9VU0VSU1BBQ0UpOworCWlmIChtZSkgeworCQlyYyA9IG1vbml0b3JfbW9kaWZ5X2Vwb2xsKG1uLCBtZSwgZW5hYmxlKTsKKwkJaWYgKCFlbmFibGUpCisJCQl1c2Vyc3BhY2VfbW9uaXRvcl9jbG9zZV9mZChtbiwgbWUpOworCQlyZXR1cm4gcmM7CisJfQorCWlmICghZW5hYmxlKQorCQlyZXR1cm4gMDsKKworCURCRyhNT05JVE9SLCB1bF9kZWJ1Z29iaihtbiwgImFsbG9jYXRlIG5ldyB1c2Vyc3BhY2UgbW9uaXRvciIpKTsKKworCWlmICghZmlsZW5hbWUpCisJCWZpbGVuYW1lID0gbW50X2dldF91dGFiX3BhdGgoKTsJCS8qIC9ydW4vbW91bnQvdXRhYiAqLworCWlmICghZmlsZW5hbWUpIHsKKwkJREJHKE1PTklUT1IsIHVsX2RlYnVnb2JqKG1uLCAiZmFpbGVkIHRvIGdldCB1c2Vyc3BhY2UgbW91bnQgdGFibGUgcGF0aCIpKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJbWUgPSBtb25pdG9yX25ld19lbnRyeShtbik7CisJaWYgKCFtZSkKKwkJZ290byBlcnI7CisKKwltZS0+dHlwZSA9IE1OVF9NT05JVE9SX1RZUEVfVVNFUlNQQUNFOworCW1lLT5vcGVycyA9ICZ1c2Vyc3BhY2Vfb3BlcnM7CisJbWUtPmV2ZW50cyA9IEVQT0xMSU47CisJbWUtPnBhdGggPSBzdHJkdXAoZmlsZW5hbWUpOworCWlmICghbWUtPnBhdGgpCisJCWdvdG8gZXJyOworCisJcmV0dXJuIG1vbml0b3JfbW9kaWZ5X2Vwb2xsKG1uLCBtZSwgVFJVRSk7CitlcnI6CisJcmMgPSAtZXJybm87CisJZnJlZV9tb25pdG9yX2VudHJ5KG1lKTsKKwlEQkcoTU9OSVRPUiwgdWxfZGVidWdvYmoobW4sICJmYWlsZWQgdG8gYWxsb2NhdGUgdXNlcnNwYWNlIG1vbml0b3IgW3JjPSVkXSIsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCisKKy8qCisgKiBLZXJuZWwgbW9uaXRvcgorICovCisKK3N0YXRpYyBpbnQga2VybmVsX21vbml0b3JfY2xvc2VfZmQoc3RydWN0IGxpYm1udF9tb25pdG9yICptbiwKKwkJCQkgICBzdHJ1Y3QgbW9uaXRvcl9lbnRyeSAqbWUpCit7CisJYXNzZXJ0KG1uKTsKKwlhc3NlcnQobWUpOworCisJaWYgKG1lLT5mZCA+PSAwKQorCQljbG9zZShtZS0+ZmQpOworCW1lLT5mZCA9IC0xOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGtlcm5lbF9tb25pdG9yX2dldF9mZChzdHJ1Y3QgbGlibW50X21vbml0b3IgKm1uLAorCQkJCSBzdHJ1Y3QgbW9uaXRvcl9lbnRyeSAqbWUpCit7CisJaW50IHJjOworCisJaWYgKCFtZSB8fCBtZS0+ZW5hYmxlID09IDApCS8qIG5vdC1pbml0aWFsaXplZCBvciBkaXNhYmxlZCAqLworCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAobWUtPmZkID49IDApCisJCXJldHVybiBtZS0+ZmQ7CQkvKiBhbHJlYWR5IGluaXRpYWxpemVkICovCisKKwlhc3NlcnQobWUtPnBhdGgpOworCURCRyhNT05JVE9SLCB1bF9kZWJ1Z29iaihtbiwgIiBvcGVuIGtlcm5lbCBtb25pdG9yIGZvciAlcyIsIG1lLT5wYXRoKSk7CisKKwltZS0+ZmQgPSBvcGVuKG1lLT5wYXRoLCBPX1JET05MWXxPX0NMT0VYRUMpOworCWlmIChtZS0+ZmQgPCAwKQorCQlnb3RvIGVycjsKKworCXJldHVybiBtZS0+ZmQ7CitlcnI6CisJcmMgPSAtZXJybm87CisJREJHKE1PTklUT1IsIHVsX2RlYnVnb2JqKG1uLCAiZmFpbGVkIHRvIGNyZWF0ZSBrZXJuZWwgIG1vbml0b3IgW3JjPSVkXSIsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCisvKgorICoga2VybmVsIG1vbml0b3Igb3BlcmF0aW9ucworICovCitzdGF0aWMgY29uc3Qgc3RydWN0IG1vbml0b3Jfb3BlcnMga2VybmVsX29wZXJzID0geworCS5vcF9nZXRfZmQJCT0ga2VybmVsX21vbml0b3JfZ2V0X2ZkLAorCS5vcF9jbG9zZV9mZAkJPSBrZXJuZWxfbW9uaXRvcl9jbG9zZV9mZCwKK307CisKKy8qKgorICogbW50X21vbml0b3JfZW5hYmxlX2tlcm5lbDoKKyAqIEBtbjogbW9uaXRvcgorICogQGVuYWJsZTogMCBvciAxCisgKgorICogRW5hYmxlcyBvciBkaXNhYmxlcyBrZXJuZWwgVkZTIG1vbml0b3JpbmcuIElmIHRoZSBtb25pdG9yIGRvZXMgbm90IGV4aXN0IGFuZAorICogZW5hYmxlPTEgdGhlbiBhbGxvY2F0ZXMgbmV3IHJlc291cmNlcyBuZWNlc3NhcnkgZm9yIHRoZSBtb25pdG9yLgorICoKKyAqIElmIHRoZSB0b3AtbGV2ZWwgbW9uaXRvciBoYXMgYmVlbiBhbHJlYWR5IGNyZWF0ZWQgKGJ5IG1udF9tb25pdG9yX2dldF9mZCgpCisgKiBvciBtbnRfbW9uaXRvcl93YWl0KCkpIHRoZW4gaXQncyB1cGRhdGVkIGFjY29yZGluZyB0byBAZW5hYmxlLgorICoKKyAqIFJldHVybjogMCBvbiBzdWNjZXNzIGFuZCA8MCBvbiBlcnJvcgorICovCitpbnQgbW50X21vbml0b3JfZW5hYmxlX2tlcm5lbChzdHJ1Y3QgbGlibW50X21vbml0b3IgKm1uLCBpbnQgZW5hYmxlKQoreworCXN0cnVjdCBtb25pdG9yX2VudHJ5ICptZTsKKwlpbnQgcmMgPSAwOworCisJaWYgKCFtbikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwltZSA9IG1vbml0b3JfZ2V0X2VudHJ5KG1uLCBNTlRfTU9OSVRPUl9UWVBFX0tFUk5FTCk7CisJaWYgKG1lKSB7CisJCXJjID0gbW9uaXRvcl9tb2RpZnlfZXBvbGwobW4sIG1lLCBlbmFibGUpOworCQlpZiAoIWVuYWJsZSkKKwkJCWtlcm5lbF9tb25pdG9yX2Nsb3NlX2ZkKG1uLCBtZSk7CisJCXJldHVybiByYzsKKwl9CisJaWYgKCFlbmFibGUpCisJCXJldHVybiAwOworCisJREJHKE1PTklUT1IsIHVsX2RlYnVnb2JqKG1uLCAiYWxsb2NhdGUgbmV3IGtlcm5lbCBtb25pdG9yIikpOworCisJLyogY3JlYXRlIGEgbmV3IGVudHJ5ICovCisJbWUgPSBtb25pdG9yX25ld19lbnRyeShtbik7CisJaWYgKCFtZSkKKwkJZ290byBlcnI7CisKKwkvKiBJZiB5b3Ugd2FudCB0byB1c2UgZXBvbGwgRkQgaW4gYW5vdGhlciBlcG9sbCB0aGVuIHRvcCBsZXZlbAorCSAqIGVwb2xsX3dhaXQoKSB3aWxsIGRyYWluIGFsbCBldmVudHMgZnJvbSBsb3ctbGV2ZWwgRkQgaWYgdGhlCisJICogbG93LWxldmVsIEZEIGlzIG5vdCBhZGRlZCB3aXRoIEVQT0xMSU4uIEl0IG1lYW5zIHdpdGhvdXQgRVBPTExJTiBpdAorCSAqIGl0J3MgaW1wb3NzaWJsZSB0byBkZXRlY3Qgd2hpY2ggbG93LWxldmVsIEZEIGhhcyBiZWVuIGFjdGl2ZS4KKwkgKgorCSAqIFVuZm9ydHVuYXRlbHksIHVzZSBFUE9MTElOIGZvciBtb3VudGluZm8gaXMgdHJpY2t5IGJlY2F1c2UgaW4gdGhpcworCSAqIGNhc2Uga2VybmVsIHJldHVybnMgZXZlbnRzIGFsbCB0aW1lICh3ZSBkb24ndCByZWFkIGZyb20gdGhlIEZEKS4KKwkgKiBUaGUgc29sdXRpb24gaXMgdG8gdXNlIGFsc28gZWRnZS10cmlnZ2VyZWQgKEVQT0xMRVQpIGZsYWcsIHRoZW4KKwkgKiBrZXJuZWwgZ2VuZXJhdGUgZXZlbnRzIG9uIG1vdW50aW5mbyBjaGFuZ2VzIG9ubHkuIFRoZSBkaXNhZHZhbnRhZ2UgaXMKKwkgKiB0aGF0IHdlIGhhdmUgdG8gZHJhaW4gaW5pdGlhbCBldmVudCBnZW5lcmF0ZWQgYnkgRVBPTExJTiBhZnRlcgorCSAqIGVwb2xsX2N0bChBREQpLiBTZWUgbW9uaXRvcl9tb2RpZnlfZXBvbGwoKS4KKwkgKi8KKwltZS0+ZXZlbnRzID0gRVBPTExJTiB8IEVQT0xMRVQ7CisKKwltZS0+dHlwZSA9IE1OVF9NT05JVE9SX1RZUEVfS0VSTkVMOworCW1lLT5vcGVycyA9ICZrZXJuZWxfb3BlcnM7CisJbWUtPnBhdGggPSBzdHJkdXAoX1BBVEhfUFJPQ19NT1VOVElORk8pOworCWlmICghbWUtPnBhdGgpCisJCWdvdG8gZXJyOworCisJcmV0dXJuIG1vbml0b3JfbW9kaWZ5X2Vwb2xsKG1uLCBtZSwgVFJVRSk7CitlcnI6CisJcmMgPSAtZXJybm87CisJZnJlZV9tb25pdG9yX2VudHJ5KG1lKTsKKwlEQkcoTU9OSVRPUiwgdWxfZGVidWdvYmoobW4sICJmYWlsZWQgdG8gYWxsb2NhdGUga2VybmVsIG1vbml0b3IgW3JjPSVkXSIsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCisvKgorICogQWRkL1JlbW92ZSBtb25pdG9yIGVudHJ5IHRvL2Zyb20gbW9uaXRvciBlcG9sbC4KKyAqLworc3RhdGljIGludCBtb25pdG9yX21vZGlmeV9lcG9sbChzdHJ1Y3QgbGlibW50X21vbml0b3IgKm1uLAorCQkJCXN0cnVjdCBtb25pdG9yX2VudHJ5ICptZSwgaW50IGVuYWJsZSkKK3sKKwlhc3NlcnQobW4pOworCWFzc2VydChtZSk7CisKKwltZS0+ZW5hYmxlID0gZW5hYmxlID8gMSA6IDA7CisJbWUtPmNoYW5nZWQgPSAwOworCisJaWYgKG1uLT5mZCA8IDApCisJCXJldHVybiAwOwkvKiBubyBlcG9sbCwgaWdub3JlIHJlcXVlc3QgKi8KKworCWlmIChlbmFibGUpIHsKKwkJc3RydWN0IGVwb2xsX2V2ZW50IGV2ID0geyAuZXZlbnRzID0gbWUtPmV2ZW50cyB9OworCQlpbnQgZmQgPSBtZS0+b3BlcnMtPm9wX2dldF9mZChtbiwgbWUpOworCisJCWlmIChmZCA8IDApCisJCQlnb3RvIGVycjsKKworCQlEQkcoTU9OSVRPUiwgdWxfZGVidWdvYmoobW4sICIgYWRkIGZkPSVkIChmb3IgJXMpIiwgZmQsIG1lLT5wYXRoKSk7CisKKwkJZXYuZGF0YS5wdHIgPSAodm9pZCAqKSBtZTsKKworCQlpZiAoZXBvbGxfY3RsKG1uLT5mZCwgRVBPTExfQ1RMX0FERCwgZmQsICZldikgPCAwKSB7CisJCQlpZiAoZXJybm8gIT0gRUVYSVNUKQorCQkJCWdvdG8gZXJyOworCQl9CisJCWlmIChtZS0+ZXZlbnRzICYgKEVQT0xMSU4gfCBFUE9MTEVUKSkgeworCQkJLyogRHJhaW4gaW5pdGlhbCBldmVudHMgZ2VuZXJhdGVkIGZvciAvcHJvYy9zZWxmL21vdW50aW5mbyAqLworCQkJc3RydWN0IGVwb2xsX2V2ZW50IGV2ZW50c1sxXTsKKwkJCXdoaWxlIChlcG9sbF93YWl0KG1uLT5mZCwgZXZlbnRzLCAxLCAwKSA+IDApOworCQl9CisJfSBlbHNlIGlmIChtZS0+ZmQpIHsKKwkJREJHKE1PTklUT1IsIHVsX2RlYnVnb2JqKG1uLCAiIHJlbW92ZSBmZD0lZCAoZm9yICVzKSIsIG1lLT5mZCwgbWUtPnBhdGgpKTsKKwkJaWYgKGVwb2xsX2N0bChtbi0+ZmQsIEVQT0xMX0NUTF9ERUwsIG1lLT5mZCwgTlVMTCkgPCAwKSB7CisJCQlpZiAoZXJybm8gIT0gRU5PRU5UKQorCQkJCWdvdG8gZXJyOworCQl9CisJfQorCisJcmV0dXJuIDA7CitlcnI6CisJcmV0dXJuIC1lcnJubzsKK30KKworLyoqCisgKiBtbnRfbW9uaXRvcl9jbG9zZV9mZDoKKyAqIEBtbjogbW9uaXRvcgorICoKKyAqIENsb3NlIG1vbml0b3IgZmlsZSBkZXNjcmlwdG9yLiBUaGlzIGlzIHVzdWFsbHkgdW5uZWNlc3NhcnksIGJlY2F1c2UKKyAqIG1udF91bnJlZl9tb25pdG9yKCkgY2xlYW51cHMgYWxsLgorICoKKyAqIFRoZSBmdW5jdGlvbiBpcyBuZWNlc3Nhcnkgb25seSBpZiB5b3Ugd2FudCB0byByZXNldCBtb25pdG9yIHNldHRpbmcuIFRoZQorICogbmV4dCBtbnRfbW9uaXRvcl9nZXRfZmQoKSBvciBtbnRfbW9uaXRvcl93YWl0KCkgd2lsbCB1c2UgbmV3bHkgaW5pdGlhbGl6ZWQKKyAqIG1vbml0b3IuICBUaGlzIHJlc3RhcnQgaXMgdW5uZWNlc3NhcnkgZm9yIG1udF9tb25pdG9yX2VuYWJsZV8qKCkgZnVuY3Rpb25zLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IuCisgKi8KK2ludCBtbnRfbW9uaXRvcl9jbG9zZV9mZChzdHJ1Y3QgbGlibW50X21vbml0b3IgKm1uKQoreworCXN0cnVjdCBsaWJtbnRfaXRlciBpdHI7CisJc3RydWN0IG1vbml0b3JfZW50cnkgKm1lOworCisJaWYgKCFtbikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwltbnRfcmVzZXRfaXRlcigmaXRyLCBNTlRfSVRFUl9GT1JXQVJEKTsKKworCS8qIGRpc2FibGUgYWxsIG1vbml0b3IgZW50cmllcyAqLworCXdoaWxlIChtb25pdG9yX25leHRfZW50cnkobW4sICZpdHIsICZtZSkgPT0gMCkgeworCisJCS8qIHJlbW92ZSBlbnRyeSBmcm9tIGVwb2xsICovCisJCWlmIChtbi0+ZmQgPj0gMCkKKwkJCW1vbml0b3JfbW9kaWZ5X2Vwb2xsKG1uLCBtZSwgRkFMU0UpOworCisJCS8qIGNsb3NlIGVudHJ5IEZEICovCisJCW1lLT5vcGVycy0+b3BfY2xvc2VfZmQobW4sIG1lKTsKKwl9CisKKwlpZiAobW4tPmZkID49IDApIHsKKwkJREJHKE1PTklUT1IsIHVsX2RlYnVnb2JqKG1uLCAiY2xvc2luZyB0b3AtbGV2ZWwgbW9uaXRvciBmZCIpKTsKKwkJY2xvc2UobW4tPmZkKTsKKwl9CisJbW4tPmZkID0gLTE7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X21vbml0b3JfZ2V0X2ZkOgorICogQG1uOiBtb25pdG9yCisgKgorICogVGhlIGZpbGUgZGVzY3JpcHRvciBpcyBhc3NvY2lhdGVkIHdpdGggYWxsIG1vbml0b3JlZCBmaWxlcyBhbmQgaXQncyB1c2FibGUKKyAqIGZvciBleGFtcGxlIGZvciBlcG9sbC4gWW91IGhhdmUgdG8gY2FsbCBtbnRfbW9uaXRvcl9ldmVudF9jbGVhbnVwKCkgb3IKKyAqIG1udF9tb25pdG9yX25leHRfY2hhbmdlKCkgYWZ0ZXIgZWFjaCBldmVudC4KKyAqCisgKiBSZXR1cm5zOiA+PTAgKGZkKSBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvcgorICovCitpbnQgbW50X21vbml0b3JfZ2V0X2ZkKHN0cnVjdCBsaWJtbnRfbW9uaXRvciAqbW4pCit7CisJc3RydWN0IGxpYm1udF9pdGVyIGl0cjsKKwlzdHJ1Y3QgbW9uaXRvcl9lbnRyeSAqbWU7CisJaW50IHJjID0gMDsKKworCWlmICghbW4pCisJCXJldHVybiAtRUlOVkFMOworCWlmIChtbi0+ZmQgPj0gMCkKKwkJcmV0dXJuIG1uLT5mZDsKKworCURCRyhNT05JVE9SLCB1bF9kZWJ1Z29iaihtbiwgImNyZWF0ZSB0b3AtbGV2ZWwgbW9uaXRvciBmZCIpKTsKKwltbi0+ZmQgPSBlcG9sbF9jcmVhdGUxKEVQT0xMX0NMT0VYRUMpOworCWlmIChtbi0+ZmQgPCAwKQorCQlyZXR1cm4gLWVycm5vOworCisJbW50X3Jlc2V0X2l0ZXIoJml0ciwgTU5UX0lURVJfRk9SV0FSRCk7CisKKwlEQkcoTU9OSVRPUiwgdWxfZGVidWdvYmoobW4sICJhZGRpbmcgbW9uaXRvciBlbnRyaWVzIHRvIGVwb2xsIChmZD0lZCkiLCBtbi0+ZmQpKTsKKwl3aGlsZSAobW9uaXRvcl9uZXh0X2VudHJ5KG1uLCAmaXRyLCAmbWUpID09IDApIHsKKwkJaWYgKCFtZS0+ZW5hYmxlKQorCQkJY29udGludWU7CisJCXJjID0gbW9uaXRvcl9tb2RpZnlfZXBvbGwobW4sIG1lLCBUUlVFKTsKKwkJaWYgKHJjKQorCQkJZ290byBlcnI7CisJfQorCisJREJHKE1PTklUT1IsIHVsX2RlYnVnb2JqKG1uLCAic3VjY2Vzc2Z1bGx5IGNyZWF0ZWQgbW9uaXRvciIpKTsKKwlyZXR1cm4gbW4tPmZkOworZXJyOgorCXJjID0gZXJybm8gPyAtZXJybm8gOiAtRUlOVkFMOworCWNsb3NlKG1uLT5mZCk7CisJbW4tPmZkID0gLTE7CisJREJHKE1PTklUT1IsIHVsX2RlYnVnb2JqKG1uLCAiZmFpbGVkIHRvIGNyZWF0ZSBtb25pdG9yIFtyYz0lZF0iLCByYykpOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBtbnRfbW9uaXRvcl93YWl0OgorICogQG1uOiBtb25pdG9yCisgKiBAdGltZW91dDogbnVtYmVyIG9mIG1pbGxpc2Vjb25kcywgLTEgYmxvY2sgaW5kZWZpbml0ZWx5LCAwIHJldHVybiBpbW1lZGlhdGVseQorICoKKyAqIFdhaXRzIGZvciB0aGUgbmV4dCBjaGFuZ2UsIGFmdGVyIHRoZSBldmVudCBpdCdzIHJlY29tbWVuZGVkIHRvIHVzZQorICogbW50X21vbml0b3JfbmV4dF9jaGFuZ2UoKSB0byBnZXQgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBjaGFuZ2UgYW5kIHRvCisgKiBhdm9pZCBmYWxzZSBwb3NpdGl2ZSBldmVudHMuCisgKgorICogUmV0dXJuczogMSBzdWNjZXNzIChzb21ldGhpbmcgY2hhbmdlZCksIDAgdGltZW91dCwgPDAgZXJyb3IuCisgKi8KK2ludCBtbnRfbW9uaXRvcl93YWl0KHN0cnVjdCBsaWJtbnRfbW9uaXRvciAqbW4sIGludCB0aW1lb3V0KQoreworCWludCByYzsKKwlzdHJ1Y3QgbW9uaXRvcl9lbnRyeSAqbWU7CisJc3RydWN0IGVwb2xsX2V2ZW50IGV2ZW50c1sxXTsKKworCWlmICghbW4pCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKG1uLT5mZCA8IDApIHsKKwkJcmMgPSBtbnRfbW9uaXRvcl9nZXRfZmQobW4pOworCQlpZiAocmMgPCAwKQorCQkJcmV0dXJuIHJjOworCX0KKworCWRvIHsKKwkJREJHKE1PTklUT1IsIHVsX2RlYnVnb2JqKG1uLCAiY2FsbGluZyBlcG9sbF93YWl0KCksIHRpbWVvdXQ9JWQiLCB0aW1lb3V0KSk7CisJCXJjID0gZXBvbGxfd2FpdChtbi0+ZmQsIGV2ZW50cywgMSwgdGltZW91dCk7CisJCWlmIChyYyA8IDApCisJCQlyZXR1cm4gLWVycm5vOwkJLyogZXJyb3IgKi8KKwkJaWYgKHJjID09IDApCisJCQlyZXR1cm4gMDsJCS8qIHRpbWVvdXQgKi8KKworCQltZSA9IChzdHJ1Y3QgbW9uaXRvcl9lbnRyeSAqKSBldmVudHNbMF0uZGF0YS5wdHI7CisJCWlmICghbWUpCisJCQlyZXR1cm4gLUVJTlZBTDsKKworCQlpZiAobWUtPm9wZXJzLT5vcF9ldmVudF92ZXJpZnkgPT0gTlVMTCB8fAorCQkgICAgbWUtPm9wZXJzLT5vcF9ldmVudF92ZXJpZnkobW4sIG1lKSA9PSAxKSB7CisJCQltZS0+Y2hhbmdlZCA9IDE7CisJCQlicmVhazsKKwkJfQorCX0gd2hpbGUgKDEpOworCisJcmV0dXJuIDE7CQkJLyogc3VjY2VzcyAqLworfQorCisKK3N0YXRpYyBzdHJ1Y3QgbW9uaXRvcl9lbnRyeSAqZ2V0X2NoYW5nZWQoc3RydWN0IGxpYm1udF9tb25pdG9yICptbikKK3sKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgaXRyOworCXN0cnVjdCBtb25pdG9yX2VudHJ5ICptZTsKKworCW1udF9yZXNldF9pdGVyKCZpdHIsIE1OVF9JVEVSX0ZPUldBUkQpOworCXdoaWxlIChtb25pdG9yX25leHRfZW50cnkobW4sICZpdHIsICZtZSkgPT0gMCkgeworCQlpZiAobWUtPmNoYW5nZWQpCisJCQlyZXR1cm4gbWU7CisJfQorCXJldHVybiBOVUxMOworfQorCisvKioKKyAqIG1udF9tb25pdG9yX25leHRfY2hhbmdlOgorICogQG1uOiBtb25pdG9yCisgKiBAZmlsZW5hbWU6IHJldHVybnMgY2hhbmdlZCBmaWxlIChvcHRpb25hbCBhcmd1bWVudCkKKyAqIEB0eXBlOiByZXR1cm5zIE1OVF9NT05JVE9SX1RZUEVfKiAob3B0aW9uYWwgYXJndW1lbnQpCisgKgorICogVGhlIGZ1bmN0aW9uIGRvZXMgbm90IHdhaXQgYW5kIGl0J3MgZGVzaWduZWQgdG8gcHJvdmlkZSBkZXRhaWxzIGFib3V0IGNoYW5nZXMuCisgKiBJdCdzIGFsd2F5cyByZWNvbW1lbmRlZCB0byB1c2UgdGhpcyBmdW5jdGlvbiB0byBhdm9pZCBmYWxzZSBwb3NpdGl2ZXMuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCAxIG5vIGNoYW5nZSwgPDAgb24gZXJyb3IKKyAqLworaW50IG1udF9tb25pdG9yX25leHRfY2hhbmdlKHN0cnVjdCBsaWJtbnRfbW9uaXRvciAqbW4sCisJCQkgICAgIGNvbnN0IGNoYXIgKipmaWxlbmFtZSwKKwkJCSAgICAgaW50ICp0eXBlKQoreworCWludCByYzsKKwlzdHJ1Y3QgbW9uaXRvcl9lbnRyeSAqbWU7CisKKwlpZiAoIW1uIHx8IG1uLT5mZCA8IDApCisJCXJldHVybiAtRUlOVkFMOworCisJLyoKKwkgKiBpZiB3ZSBwcmV2aW91c2x5IGNhbGxlZCBlcG9sbF93YWl0KCkgKGUuZy4gbW50X21vbml0b3Jfd2FpdCgpKSB0aGVuCisJICogaW5mbyBhYm91dCB1bnJlYWQgY2hhbmdlIGlzIGFscmVhZHkgc3RvcmVkIGluIG1vbml0b3JfZW50cnkuCisJICoKKwkgKiBJZiB3ZSBnZXQgbm90aGluZywgdGhlbiBhc2sga2VybmVsLgorCSAqLworCW1lID0gZ2V0X2NoYW5nZWQobW4pOworCXdoaWxlICghbWUpIHsKKwkJc3RydWN0IGVwb2xsX2V2ZW50IGV2ZW50c1sxXTsKKworCQlEQkcoTU9OSVRPUiwgdWxfZGVidWdvYmoobW4sICJhc2tpbmcgZm9yIG5leHQgY2hhbmdlZCIpKTsKKworCQlyYyA9IGVwb2xsX3dhaXQobW4tPmZkLCBldmVudHMsIDEsIDApOwkvKiBubyB0aW1lb3V0ISAqLworCQlpZiAocmMgPCAwKSB7CisJCQlEQkcoTU9OSVRPUiwgdWxfZGVidWdvYmoobW4sICIgKioqIGVycm9yIikpOworCQkJcmV0dXJuIC1lcnJubzsKKwkJfQorCQlpZiAocmMgPT0gMCkgeworCQkJREJHKE1PTklUT1IsIHVsX2RlYnVnb2JqKG1uLCAiICoqKiBub3RoaW5nIikpOworCQkJcmV0dXJuIDE7CisJCX0KKworCQltZSA9IChzdHJ1Y3QgbW9uaXRvcl9lbnRyeSAqKSBldmVudHNbMF0uZGF0YS5wdHI7CisJCWlmICghbWUpCisJCQlyZXR1cm4gLUVJTlZBTDsKKworCQlpZiAobWUtPm9wZXJzLT5vcF9ldmVudF92ZXJpZnkgIT0gTlVMTCAmJgorCQkgICAgbWUtPm9wZXJzLT5vcF9ldmVudF92ZXJpZnkobW4sIG1lKSAhPSAxKQorCQkJbWUgPSBOVUxMOworCX0KKworCW1lLT5jaGFuZ2VkID0gMDsKKworCWlmIChmaWxlbmFtZSkKKwkJKmZpbGVuYW1lID0gbWUtPnBhdGg7CisJaWYgKHR5cGUpCisJCSp0eXBlID0gbWUtPnR5cGU7CisKKwlEQkcoTU9OSVRPUiwgdWxfZGVidWdvYmoobW4sICIgKioqIHN1Y2Nlc3MgW2NoYW5nZWQ6ICVzXSIsIG1lLT5wYXRoKSk7CisJcmV0dXJuIDA7CQkJCS8qIHN1Y2Nlc3MgKi8KK30KKworLyoqCisgKiBtbnRfbW9uaXRvcl9ldmVudF9jbGVhbnVwOgorICogQG1uOiBtb25pdG9yCisgKgorICogVGhpcyBmdW5jdGlvbiBjbGVhbnVwcyAoZHJhaW4pIGludGVybmFsIGJ1ZmZlcnMuIEl0J3MgbmVjZXNzYXJ5IHRvIGNhbGwKKyAqIHRoaXMgZnVuY3Rpb24gYWZ0ZXIgZXZlbnQgaWYgeW91IGRvIG5vdCBjYWxsIG1udF9tb25pdG9yX25leHRfY2hhbmdlKCkuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvcgorICovCitpbnQgbW50X21vbml0b3JfZXZlbnRfY2xlYW51cChzdHJ1Y3QgbGlibW50X21vbml0b3IgKm1uKQoreworCWludCByYzsKKworCWlmICghbW4gfHwgbW4tPmZkIDwgMCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwl3aGlsZSAoKHJjID0gbW50X21vbml0b3JfbmV4dF9jaGFuZ2UobW4sIE5VTEwsIE5VTEwpKSA9PSAwKTsKKwlyZXR1cm4gcmMgPCAwID8gcmMgOiAwOworfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNCisKK3N0YXRpYyBzdHJ1Y3QgbGlibW50X21vbml0b3IgKmNyZWF0ZV90ZXN0X21vbml0b3IoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgbGlibW50X21vbml0b3IgKm1uOworCWludCBpOworCisJbW4gPSBtbnRfbmV3X21vbml0b3IoKTsKKwlpZiAoIW1uKSB7CisJCXdhcm4oImZhaWxlZCB0byBhbGxvY2F0ZSBtb25pdG9yIik7CisJCWdvdG8gZXJyOworCX0KKworCWZvciAoaSA9IDE7IGkgPCBhcmdjOyBpKyspIHsKKwkJaWYgKHN0cmNtcChhcmd2W2ldLCAidXNlcnNwYWNlIikgPT0gMCkgeworCQkJaWYgKG1udF9tb25pdG9yX2VuYWJsZV91c2Vyc3BhY2UobW4sIFRSVUUsIE5VTEwpKSB7CisJCQkJd2FybigiZmFpbGVkIHRvIGluaXRpYWxpemUgdXNlcnNwYWNlIG1vbml0b3IiKTsKKwkJCQlnb3RvIGVycjsKKwkJCX0KKworCQl9IGVsc2UgaWYgKHN0cmNtcChhcmd2W2ldLCAia2VybmVsIikgPT0gMCkgeworCQkJaWYgKG1udF9tb25pdG9yX2VuYWJsZV9rZXJuZWwobW4sIFRSVUUpKSB7CisJCQkJd2FybigiZmFpbGVkIHRvIGluaXRpYWxpemUga2VybmVsIG1vbml0b3IiKTsKKwkJCQlnb3RvIGVycjsKKwkJCX0KKwkJfQorCX0KKwlpZiAoaSA9PSAxKSB7CisJCXdhcm54KCJObyBtb25pdG9yIHR5cGUgc3BlY2lmaWVkIik7CisJCWdvdG8gZXJyOworCX0KKworCXJldHVybiBtbjsKK2VycjoKKwltbnRfdW5yZWZfbW9uaXRvcihtbik7CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qCisgKiBjcmVhdGUgYSBtb25pdG9yIGFuZCBhZGQgdGhlIG1vbml0b3IgZmQgdG8gZXBvbGwKKyAqLworc3RhdGljIGludCBfX3Rlc3RfZXBvbGwoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSwgaW50IGNsZWFudXApCit7CisJaW50IGZkLCBlZmQgPSAtMSwgcmMgPSAtMTsKKwlzdHJ1Y3QgZXBvbGxfZXZlbnQgZXY7CisJc3RydWN0IGxpYm1udF9tb25pdG9yICptbiA9IGNyZWF0ZV90ZXN0X21vbml0b3IoYXJnYywgYXJndik7CisKKwlpZiAoIW1uKQorCQlyZXR1cm4gLTE7CisKKwlmZCA9IG1udF9tb25pdG9yX2dldF9mZChtbik7CisJaWYgKGZkIDwgMCkgeworCQl3YXJuKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBtb25pdG9yIGZkIik7CisJCWdvdG8gZG9uZTsKKwl9CisKKwllZmQgPSBlcG9sbF9jcmVhdGUxKEVQT0xMX0NMT0VYRUMpOworCWlmIChlZmQgPCAwKSB7CisJCXdhcm4oImZhaWxlZCB0byBjcmVhdGUgZXBvbGwiKTsKKwkJZ290byBkb25lOworCX0KKworCWV2LmV2ZW50cyA9IEVQT0xMSU47CisJZXYuZGF0YS5mZCA9IGZkOworCisJcmMgPSBlcG9sbF9jdGwoZWZkLCBFUE9MTF9DVExfQURELCBmZCwgJmV2KTsKKwlpZiAocmMgPCAwKSB7CisJCXdhcm4oImZhaWxlZCB0byBhZGQgZmQgdG8gZXBvbGwiKTsKKwkJZ290byBkb25lOworCX0KKworCXByaW50Zigid2FpdGluZyBmb3IgY2hhbmdlcy4uLlxuIik7CisJZG8geworCQljb25zdCBjaGFyICpmaWxlbmFtZSA9IE5VTEw7CisJCXN0cnVjdCBlcG9sbF9ldmVudCBldmVudHNbMV07CisJCWludCBuID0gZXBvbGxfd2FpdChlZmQsIGV2ZW50cywgMSwgLTEpOworCisJCWlmIChuIDwgMCkgeworCQkJcmMgPSAtZXJybm87CisJCQl3YXJuKCJwb2xsaW5nIGVycm9yIik7CisJCQlnb3RvIGRvbmU7CisJCX0KKwkJaWYgKG4gPT0gMCB8fCBldmVudHNbMF0uZGF0YS5mZCAhPSBmZCkKKwkJCWNvbnRpbnVlOworCisJCXByaW50ZigiIHRvcC1sZXZlbCBGRCBhY3RpdmVcbiIpOworCQlpZiAoY2xlYW51cCkKKwkJCW1udF9tb25pdG9yX2V2ZW50X2NsZWFudXAobW4pOworCQllbHNlIHsKKwkJCXdoaWxlIChtbnRfbW9uaXRvcl9uZXh0X2NoYW5nZShtbiwgJmZpbGVuYW1lLCBOVUxMKSA9PSAwKQorCQkJCXByaW50ZigiICAlczogY2hhbmdlIGRldGVjdGVkXG4iLCBmaWxlbmFtZSk7CisJCX0KKwl9IHdoaWxlICgxKTsKKworCXJjID0gMDsKK2RvbmU6CisJaWYgKGVmZCA+PSAwKQorCQljbG9zZShlZmQpOworCW1udF91bnJlZl9tb25pdG9yKG1uKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBjcmVhdGUgYSBtb25pdG9yIGFuZCBhZGQgdGhlIG1vbml0b3IgZmQgdG8gZXBvbGwKKyAqLworc3RhdGljIGludCB0ZXN0X2Vwb2xsKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJcmV0dXJuIF9fdGVzdF9lcG9sbCh0cywgYXJnYywgYXJndiwgMCk7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9lcG9sbF9jbGVhbnVwKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJcmV0dXJuIF9fdGVzdF9lcG9sbCh0cywgYXJnYywgYXJndiwgMSk7Cit9CisKKy8qCisgKiBjcmVhdGUgYSBtb25pdG9yIGFuZCB3YWl0IGZvciBhIGNoYW5nZQorICovCitzdGF0aWMgaW50IHRlc3Rfd2FpdChzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNvbnN0IGNoYXIgKmZpbGVuYW1lOworCXN0cnVjdCBsaWJtbnRfbW9uaXRvciAqbW4gPSBjcmVhdGVfdGVzdF9tb25pdG9yKGFyZ2MsIGFyZ3YpOworCisJaWYgKCFtbikKKwkJcmV0dXJuIC0xOworCisJcHJpbnRmKCJ3YWl0aW5nIGZvciBjaGFuZ2VzLi4uXG4iKTsKKwl3aGlsZSAobW50X21vbml0b3Jfd2FpdChtbiwgLTEpID4gMCkgeworCQlwcmludGYoIm5vdGlmaWNhdGlvbiBkZXRlY3RlZFxuIik7CisKKwkJd2hpbGUgKG1udF9tb25pdG9yX25leHRfY2hhbmdlKG1uLCAmZmlsZW5hbWUsIE5VTEwpID09IDApCisJCQlwcmludGYoIiAlczogY2hhbmdlIGRldGVjdGVkXG4iLCBmaWxlbmFtZSk7CisKKwl9CisJbW50X3VucmVmX21vbml0b3IobW4pOworCXJldHVybiAwOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBsaWJtbnRfdGVzdCB0c3NbXSA9IHsKKwkJeyAiLS1lcG9sbCIsIHRlc3RfZXBvbGwsICI8dXNlcnNwYWNlIGtlcm5lbCAuLi4+ICBtb25pdG9yIGluIGVwb2xsIiB9LAorCQl7ICItLWVwb2xsLWNsZWFuIiwgdGVzdF9lcG9sbF9jbGVhbnVwLCAiPHVzZXJzcGFjZSBrZXJuZWwgLi4uPiAgbW9uaXRvciBpbiBlcG9sbCBhbmQgY2xlYW4gZXZlbnRzIiB9LAorCQl7ICItLXdhaXQiLCAgdGVzdF93YWl0LCAgIjx1c2Vyc3BhY2Uga2VybmVsIC4uLj4gIG1vbml0b3Igd2FpdCBmdW5jdGlvbiIgfSwKKwkJeyBOVUxMIH0KKwl9OworCisJcmV0dXJuIG1udF9ydW5fdGVzdCh0c3MsIGFyZ2MsIGFyZ3YpOworfQorCisjZW5kaWYgLyogVEVTVF9QUk9HUkFNICovCmRpZmYgLS1naXQgYS9saWJtb3VudC9zcmMvbW91bnRQLmggYi9saWJtb3VudC9zcmMvbW91bnRQLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmJhYWI1NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L3NyYy9tb3VudFAuaApAQCAtMCwwICsxLDQyMiBAQAorLyoKKyAqIG1vdW50UC5oIC0gcHJpdmF0ZSBsaWJyYXJ5IGhlYWRlciBmaWxlCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMTIgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisjaWZuZGVmIF9MSUJNT1VOVF9QUklWQVRFX0gKKyNkZWZpbmUgX0xJQk1PVU5UX1BSSVZBVEVfSAorCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy92ZnMuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImxpc3QuaCIKKyNpbmNsdWRlICJkZWJ1Zy5oIgorI2luY2x1ZGUgImxpYm1vdW50LmgiCisKKy8qCisgKiBEZWJ1ZworICovCisjZGVmaW5lIE1OVF9ERUJVR19IRUxQCQkoMSA8PCAwKQorI2RlZmluZSBNTlRfREVCVUdfSU5JVAkJKDEgPDwgMSkKKyNkZWZpbmUgTU5UX0RFQlVHX0NBQ0hFCQkoMSA8PCAyKQorI2RlZmluZSBNTlRfREVCVUdfT1BUSU9OUwkoMSA8PCAzKQorI2RlZmluZSBNTlRfREVCVUdfTE9DS1MJCSgxIDw8IDQpCisjZGVmaW5lIE1OVF9ERUJVR19UQUIJCSgxIDw8IDUpCisjZGVmaW5lIE1OVF9ERUJVR19GUwkJKDEgPDwgNikKKyNkZWZpbmUgTU5UX0RFQlVHX1VQREFURQkoMSA8PCA3KQorI2RlZmluZSBNTlRfREVCVUdfVVRJTFMJCSgxIDw8IDgpCisjZGVmaW5lIE1OVF9ERUJVR19DWFQJCSgxIDw8IDkpCisjZGVmaW5lIE1OVF9ERUJVR19ESUZGCQkoMSA8PCAxMCkKKyNkZWZpbmUgTU5UX0RFQlVHX01PTklUT1IJKDEgPDwgMTEpCisjZGVmaW5lIE1OVF9ERUJVR19CVFJGUwkJKDEgPDwgMTIpCisjZGVmaW5lIE1OVF9ERUJVR19MT09QCQkoMSA8PCAxMykKKworI2RlZmluZSBNTlRfREVCVUdfQUxMCQkweEZGRkYKKworVUxfREVCVUdfREVDTEFSRV9NQVNLKGxpYm1vdW50KTsKKyNkZWZpbmUgREJHKG0sIHgpCV9fVUxfREJHKGxpYm1vdW50LCBNTlRfREVCVUdfLCBtLCB4KQorI2RlZmluZSBPTl9EQkcobSwgeCkJX19VTF9EQkdfQ0FMTChsaWJtb3VudCwgTU5UX0RFQlVHXywgbSwgeCkKKyNkZWZpbmUgREJHX0ZMVVNICV9fVUxfREJHX0ZMVVNIKGxpYm1vdW50LCBNTlRfREVCVUdfKQorCisvKiBleHRlbnNpb24gZm9yIGZpbGVzIGluIHRoZSBkaXJlY3RvcnkgKi8KKyNkZWZpbmUgTU5UX01OVFRBQkRJUl9FWFQJIi5mc3RhYiIKKworLyogbGlicmFyeSBwcml2YXRlIHBhdGhzICovCisjZGVmaW5lIE1OVF9SVU5USU1FX1RPUERJUgkiL3J1biIKKyNkZWZpbmUgTU5UX1JVTlRJTUVfVE9QRElSX09MRAkiL2RldiIKKworI2RlZmluZSBNTlRfUEFUSF9VVEFCCQlNTlRfUlVOVElNRV9UT1BESVIgIi9tb3VudC91dGFiIgorI2RlZmluZSBNTlRfUEFUSF9VVEFCX09MRAlNTlRfUlVOVElNRV9UT1BESVJfT0xEICIvLm1vdW50L3V0YWIiCisKKyNkZWZpbmUgTU5UX1VUQUJfSEVBREVSCSIjIGxpYm1vdW50IHV0YWIgZmlsZVxuIgorCisjaWZkZWYgVEVTVF9QUk9HUkFNCitzdHJ1Y3QgbGlibW50X3Rlc3QgeworCWNvbnN0IGNoYXIJKm5hbWU7CisJaW50CQkoKmJvZHkpKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pOworCWNvbnN0IGNoYXIJKnVzYWdlOworfTsKKworLyogdGVzdC5jICovCitleHRlcm4gaW50IG1udF9ydW5fdGVzdChzdHJ1Y3QgbGlibW50X3Rlc3QgKnRlc3RzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKTsKKyNlbmRpZgorCisvKiB1dGlscy5jICovCitleHRlcm4gaW50IG1udF92YWxpZF90YWduYW1lKGNvbnN0IGNoYXIgKnRhZ25hbWUpOworZXh0ZXJuIGludCBhcHBlbmRfc3RyaW5nKGNoYXIgKiphLCBjb25zdCBjaGFyICpiKTsKKworZXh0ZXJuIGNvbnN0IGNoYXIgKm1udF9zdGF0ZnNfZ2V0X2ZzdHlwZShzdHJ1Y3Qgc3RhdGZzICp2ZnMpOworZXh0ZXJuIGludCBpc19maWxlX2VtcHR5KGNvbnN0IGNoYXIgKm5hbWUpOworCitleHRlcm4gaW50IG1udF9pc19yZWFkb25seShjb25zdCBjaGFyICpwYXRoKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworCitleHRlcm4gaW50IG1udF9wYXJzZV9vZmZzZXQoY29uc3QgY2hhciAqc3RyLCBzaXplX3QgbGVuLCB1aW50bWF4X3QgKnJlcyk7CisKK2V4dGVybiBpbnQgbW50X2NoZGlyX3RvX3BhcmVudChjb25zdCBjaGFyICp0YXJnZXQsIGNoYXIgKipmaWxlbmFtZSk7CisKK2V4dGVybiBjaGFyICptbnRfZ2V0X3VzZXJuYW1lKGNvbnN0IHVpZF90IHVpZCk7CitleHRlcm4gaW50IG1udF9nZXRfdWlkKGNvbnN0IGNoYXIgKnVzZXJuYW1lLCB1aWRfdCAqdWlkKTsKK2V4dGVybiBpbnQgbW50X2dldF9naWQoY29uc3QgY2hhciAqZ3JvdXBuYW1lLCBnaWRfdCAqZ2lkKTsKK2V4dGVybiBpbnQgbW50X2luX2dyb3VwKGdpZF90IGdpZCk7CisKK2V4dGVybiBpbnQgbW50X29wZW5fdW5pcV9maWxlbmFtZShjb25zdCBjaGFyICpmaWxlbmFtZSwgY2hhciAqKm5hbWUpOworCitleHRlcm4gaW50IG1udF9oYXNfcmVndWxhcl91dGFiKGNvbnN0IGNoYXIgKip1dGFiLCBpbnQgKndyaXRhYmxlKTsKK2V4dGVybiBjb25zdCBjaGFyICptbnRfZ2V0X3V0YWJfcGF0aCh2b2lkKTsKKworZXh0ZXJuIGludCBtbnRfZ2V0X2ZpbGVzeXN0ZW1zKGNoYXIgKioqZmlsZXN5c3RlbXMsIGNvbnN0IGNoYXIgKnBhdHRlcm4pOworZXh0ZXJuIHZvaWQgbW50X2ZyZWVfZmlsZXN5c3RlbXMoY2hhciAqKmZpbGVzeXN0ZW1zKTsKKworZXh0ZXJuIGNoYXIgKm1udF9nZXRfa2VybmVsX2NtZGxpbmVfb3B0aW9uKGNvbnN0IGNoYXIgKm5hbWUpOworZXh0ZXJuIGludCBtbnRfZ3Vlc3Nfc3lzdGVtX3Jvb3QoZGV2X3QgZGV2bm8sIHN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlLCBjaGFyICoqcGF0aCk7CitleHRlcm4gaW50IG1udF9zdGF0X21vdW50cG9pbnQoY29uc3QgY2hhciAqdGFyZ2V0LCBzdHJ1Y3Qgc3RhdCAqc3QpOworCisvKiB0YWIuYyAqLworZXh0ZXJuIGludCBpc19tb3VudGluZm8oc3RydWN0IGxpYm1udF90YWJsZSAqdGIpOworZXh0ZXJuIGludCBtbnRfdGFibGVfc2V0X3BhcnNlcl9mbHRyY2IoCXN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLAorCQkJCQlpbnQgKCpjYikoc3RydWN0IGxpYm1udF9mcyAqLCB2b2lkICopLAorCQkJCQl2b2lkICpkYXRhKTsKKworZXh0ZXJuIGludCBfX21udF90YWJsZV9wYXJzZV9tdGFiKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLAorCQkJCQljb25zdCBjaGFyICpmaWxlbmFtZSwKKwkJCQkJc3RydWN0IGxpYm1udF90YWJsZSAqdV90Yik7CisKK2V4dGVybiBzdHJ1Y3QgbGlibW50X2ZzICptbnRfdGFibGVfZ2V0X2ZzX3Jvb3Qoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsCisJCQkJCXN0cnVjdCBsaWJtbnRfZnMgKmZzLAorCQkJCQl1bnNpZ25lZCBsb25nIG1vdW50ZmxhZ3MsCisJCQkJCWNoYXIgKipmc3Jvb3QpOworCisvKgorICogR2VuZXJpYyBpdGVyYXRvcgorICovCitzdHJ1Y3QgbGlibW50X2l0ZXIgeworICAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkICAgICAgICAqcDsJCS8qIGN1cnJlbnQgcG9zaXRpb24gKi8KKyAgICAgICAgc3RydWN0IGxpc3RfaGVhZCAgICAgICAgKmhlYWQ7CQkvKiBzdGFydCBwb3NpdGlvbiAqLworCWludAkJCWRpcmVjdGlvbjsJLyogTU5UX0lURVJfe0ZPUixCQUNLfVdBUkQgKi8KK307CisKKyNkZWZpbmUgSVNfSVRFUl9GT1JXQVJEKF9pKQkoKF9pKS0+ZGlyZWN0aW9uID09IE1OVF9JVEVSX0ZPUldBUkQpCisjZGVmaW5lIElTX0lURVJfQkFDS1dBUkQoX2kpCSgoX2kpLT5kaXJlY3Rpb24gPT0gTU5UX0lURVJfQkFDS1dBUkQpCisKKyNkZWZpbmUgTU5UX0lURVJfSU5JVChpdHIsIGxpc3QpIFwKKwlkbyB7IFwKKwkJKGl0ciktPnAgPSBJU19JVEVSX0ZPUldBUkQoaXRyKSA/IFwKKwkJCQkobGlzdCktPm5leHQgOiAobGlzdCktPnByZXY7IFwKKwkJKGl0ciktPmhlYWQgPSAobGlzdCk7IFwKKwl9IHdoaWxlKDApCisKKyNkZWZpbmUgTU5UX0lURVJfSVRFUkFURShpdHIsIHJlcywgcmVzdHlwZSwgbWVtYmVyKSBcCisJZG8geyBcCisJCXJlcyA9IGxpc3RfZW50cnkoKGl0ciktPnAsIHJlc3R5cGUsIG1lbWJlcik7IFwKKwkJKGl0ciktPnAgPSBJU19JVEVSX0ZPUldBUkQoaXRyKSA/IFwKKwkJCQkoaXRyKS0+cC0+bmV4dCA6IChpdHIpLT5wLT5wcmV2OyBcCisJfSB3aGlsZSgwKQorCisKKy8qCisgKiBUaGlzIHN0cnVjdCByZXByZXNlbnRzIG9uZSBlbnRyeSBpbiBhIG10YWIvZnN0YWIvbW91bnRpbmZvIGZpbGUuCisgKiAobm90ZSB0aGF0IGZzdGFiWzFdIG1lYW5zIHRoZSBmaXJzdCBjb2x1bW4gZnJvbSBmc3RhYiwgYW5kIHNvIG9uLi4uKQorICovCitzdHJ1Y3QgbGlibW50X2ZzIHsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGVudHM7CisKKwlpbnQJCXJlZmNvdW50OwkvKiByZWZlcmVuY2UgY291bnRlciAqLworCWludAkJaWQ7CQkvKiBtb3VudGluZm9bMV06IElEICovCisJaW50CQlwYXJlbnQ7CQkvKiBtb3VudGluZm9bMl06IHBhcmVudCAqLworCWRldl90CQlkZXZubzsJCS8qIG1vdW50aW5mb1szXTogc3RfZGV2ICovCisKKwljaGFyCQkqYmluZHNyYzsJLyogdXRhYiwgZnVsbCBwYXRoIGZyb20gZnN0YWJbMV0gZm9yIGJpbmQgbW91bnRzICovCisKKwljaGFyCQkqc291cmNlOwkvKiBmc3RhYlsxXSwgbW91bnRpbmZvWzEwXSwgc3dhcHNbMV06CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogc291cmNlIGRldiwgZmlsZSwgZGlyIG9yIFRBRyAqLworCWNoYXIJCSp0YWduYW1lOwkvKiBmc3RhYlsxXTogdGFnIG5hbWUgLSAiTEFCRUwiLCAiVVVJRCIsIC4uKi8KKwljaGFyCQkqdGFndmFsOwkvKiAgICAgICAgICAgdGFnIHZhbHVlICovCisKKwljaGFyCQkqcm9vdDsJCS8qIG1vdW50aW5mb1s0XTogcm9vdCBvZiB0aGUgbW91bnQgd2l0aGluIHRoZSBGUyAqLworCWNoYXIJCSp0YXJnZXQ7CS8qIG1vdW50aW5mb1s1XSwgZnN0YWJbMl06IG1vdW50cG9pbnQgKi8KKwljaGFyCQkqZnN0eXBlOwkvKiBtb3VudGluZm9bOV0sIGZzdGFiWzNdOiBmaWxlc3lzdGVtIHR5cGUgKi8KKworCWNoYXIJCSpvcHRzdHI7CS8qIGZzdGFiWzRdLCBtZXJnZWQgb3B0aW9ucyAqLworCWNoYXIJCSp2ZnNfb3B0c3RyOwkvKiBtb3VudGluZm9bNl06IGZzLWluZGVwZW5kZW50IChWRlMpIG9wdGlvbnMgKi8KKwljaGFyCQkqb3B0X2ZpZWxkczsJLyogbW91bnRpbmZvWzddOiBvcHRpb25hbCBmaWVsZHMgKi8KKwljaGFyCQkqZnNfb3B0c3RyOwkvKiBtb3VudGluZm9bMTFdOiBmcy1kZXBlbmRlbnQgb3B0aW9ucyAqLworCWNoYXIJCSp1c2VyX29wdHN0cjsJLyogdXNlcnNwYWNlIG1vdW50IG9wdGlvbnMgKi8KKwljaGFyCQkqYXR0cnM7CQkvKiBtb3VudCBhdHRyaWJ1dGVzICovCisKKwlpbnQJCWZyZXE7CQkvKiBmc3RhYls1XTogZHVtcCBmcmVxdWVuY3kgaW4gZGF5cyAqLworCWludAkJcGFzc25vOwkJLyogZnN0YWJbNl06IHBhc3MgbnVtYmVyIG9uIHBhcmFsbGVsIGZzY2sgKi8KKworCS8qIC9wcm9jL3N3YXBzICovCisJY2hhcgkJKnN3YXB0eXBlOwkvKiBzd2Fwc1syXTogZGV2aWNlIHR5cGUgKHBhcnRpdGlvbiwgZmlsZSwgLi4uKSAqLworCW9mZl90CQlzaXplOwkJLyogc3dhcHNbM106IHN3YXBhcmVhIHNpemUgKi8KKwlvZmZfdAkJdXNlZHNpemU7CS8qIHN3YXBzWzRdOiB1c2VkIHNpemUgKi8KKwlpbnQJCXByaW9yaXR5OwkvKiBzd2Fwc1s1XTogc3dhcCBwcmlvcml0eSAqLworCisJaW50CQlmbGFnczsJCS8qIE1OVF9GU18qIGZsYWdzICovCisJcGlkX3QJCXRpZDsJCS8qIC9wcm9jLzx0aWQ+L21vdW50aW5mbyBvdGhlcndpc2UgemVybyAqLworCisJY2hhcgkJKmNvbW1lbnQ7CS8qIGZzdGFiIGNvbW1lbnQgKi8KKworCXZvaWQJCSp1c2VyZGF0YTsJLyogbGlicmFyeSBpbmRlcGVuZGVudCBkYXRhICovCit9OworCisvKgorICogZnMgZmxhZ3MKKyAqLworI2RlZmluZSBNTlRfRlNfUFNFVURPCSgxIDw8IDEpIC8qIHBzZXVkbyBmaWxlc3lzdGVtICovCisjZGVmaW5lIE1OVF9GU19ORVQJKDEgPDwgMikgLyogbmV0d29yayBmaWxlc3lzdGVtICovCisjZGVmaW5lIE1OVF9GU19TV0FQCSgxIDw8IDMpIC8qIHN3YXAgZGV2aWNlICovCisjZGVmaW5lIE1OVF9GU19LRVJORUwJKDEgPDwgNCkgLyogZGF0YSBmcm9tIC9wcm9jL3ttb3VudHMsc2VsZi9tb3VudGluZm99ICovCisjZGVmaW5lIE1OVF9GU19NRVJHRUQJKDEgPDwgNSkgLyogYWxyZWFkeSBtZXJnZWQgZGF0YSBmcm9tIC9ydW4vbW91bnQvdXRhYiAqLworCisjZGVmaW5lIG1udF9mc19pc19yZWd1bGFyKF9mKQkoIShtbnRfZnNfaXNfcHNldWRvZnMoX2YpIFwKKwkJCQkgICB8fCBtbnRfZnNfaXNfbmV0ZnMoX2YpIFwKKwkJCQkgICB8fCBtbnRfZnNfaXNfc3dhcGFyZWEoX2YpKSkKKworLyoKKyAqIG10YWIvZnN0YWIvbW91bnRpbmZvIGZpbGUKKyAqLworc3RydWN0IGxpYm1udF90YWJsZSB7CisJaW50CQlmbXQ7CQkvKiBNTlRfRk1UXyogZmlsZSBmb3JtYXQgKi8KKwlpbnQJCW5lbnRzOwkJLyogbnVtYmVyIG9mIGVudHJpZXMgKi8KKwlpbnQJCXJlZmNvdW50OwkvKiByZWZlcmVuY2UgY291bnRlciAqLworCWludAkJY29tbXM7CQkvKiBlbmFibGUvZGlzYWJsZSBjb21tZW50IHBhcnNpbmcgKi8KKwljaGFyCQkqY29tbV9pbnRybzsJLyogRmlyc3QgY29tbWVudCBpbiBmaWxlICovCisJY2hhcgkJKmNvbW1fdGFpbDsJLyogTGFzdCBjb21tZW50IGluIGZpbGUgKi8KKworCXN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlOwkJLyogY2Fub25pY2FsaXplZCBwYXRocy90YWdzIGNhY2hlICovCisKKyAgICAgICAgaW50CQkoKmVycmNiKShzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwKKwkJCQkgY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCBsaW5lKTsKKworCWludAkJKCpmbHRyY2IpKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCB2b2lkICpkYXRhKTsKKwl2b2lkCQkqZmx0cmNiX2RhdGE7CisKKworCXN0cnVjdCBsaXN0X2hlYWQJZW50czsJLyogbGlzdCBvZiBlbnRyaWVzIChsaWJtbnRfZnMpICovCisJdm9pZAkJKnVzZXJkYXRhOworfTsKKworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfdGFibGUgKl9fbW50X25ld190YWJsZV9mcm9tX2ZpbGUoY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCBmbXQpOworCisvKgorICogVGFiIGZpbGUgZm9ybWF0CisgKi8KK2VudW0geworCU1OVF9GTVRfR1VFU1MsCisJTU5UX0ZNVF9GU1RBQiwJCQkvKiAvZXRjL3tmcyxtfXRhYiAqLworCU1OVF9GTVRfTVRBQiA9IE1OVF9GTVRfRlNUQUIsCS8qIGFsaWFzICovCisJTU5UX0ZNVF9NT1VOVElORk8sCQkvKiAvcHJvYy8jL21vdW50aW5mbyAqLworCU1OVF9GTVRfVVRBQiwJCQkvKiAvcnVuL21vdW50L3V0YWIgKi8KKwlNTlRfRk1UX1NXQVBTCQkJLyogL3Byb2Mvc3dhcHMgKi8KK307CisKKy8qCisgKiBBZGRpdGlvbmFsIG1vdW50cworICovCitzdHJ1Y3QgbGlibW50X2FkZG1vdW50IHsKKwl1bnNpZ25lZCBsb25nIG1vdW50ZmxhZ3M7CisKKwlzdHJ1Y3QgbGlzdF9oZWFkCW1vdW50czsKK307CisKKy8qCisgKiBNb3VudCBjb250ZXh0IC0tIGhpZ2gtbGV2ZWwgQVBJCisgKi8KK3N0cnVjdCBsaWJtbnRfY29udGV4dAoreworCWludAlhY3Rpb247CQkvKiBNTlRfQUNUX3tNT1VOVCxVTU9VTlR9ICovCisJaW50CXJlc3RyaWN0ZWQ7CS8qIHJvb3Qgb3Igbm90PyAqLworCisJY2hhcgkqZnN0eXBlX3BhdHRlcm47CS8qIGZvciBtbnRfbWF0Y2hfZnN0eXBlKCkgKi8KKwljaGFyCSpvcHRzdHJfcGF0dGVybjsJLyogZm9yIG1udF9tYXRjaF9vcHRpb25zKCkgKi8KKworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOwkJLyogZmlsZXN5c3RlbSBkZXNjcmlwdGlvbiAodHlwZSwgbW91bnRwb2ludCwgZGV2aWNlLCAuLi4pICovCisKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICpmc3RhYjsJLyogZnN0YWIgKG9yIG10YWIgZm9yIHNvbWUgcmVtb3VudHMpIGVudHJpZXMgKi8KKwlzdHJ1Y3QgbGlibW50X3RhYmxlICptdGFiOwkvKiBtdGFiIGVudHJpZXMgKi8KKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp1dGFiOwkvKiByYXJlbHkgdXNlZCBieSB1bW91bnQgb25seSAqLworCisJaW50CSgqdGFibGVfZXJyY2IpKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLAkvKiBjYWxsYmFjayBmb3IgbGlibW50X3RhYmxlIHN0cnVjdHMgKi8KKwkJCSBjb25zdCBjaGFyICpmaWxlbmFtZSwgaW50IGxpbmUpOworCisJaW50CSgqdGFibGVfZmx0cmNiKShzdHJ1Y3QgbGlibW50X2ZzICpmcywgdm9pZCAqZGF0YSk7CS8qIGNhbGxiYWNrIGZvciBsaWJtbnRfdGFibGUgc3RydWN0cyAqLworCXZvaWQJKnRhYmxlX2ZsdHJjYl9kYXRhOworCisJY2hhcgkqKCpwd2RfZ2V0X2NiKShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKik7CQkvKiBnZXQgZW5jcnlwdGlvbiBwYXNzd29yZCAqLworCXZvaWQJKCpwd2RfcmVsZWFzZV9jYikoc3RydWN0IGxpYm1udF9jb250ZXh0ICosIGNoYXIgKik7CS8qIHJlbGVhc2UgcGFzc3dvcmQgKi8KKworCWludAlvcHRzbW9kZTsJLyogZnN0YWIgb3B0c3RyIG1vZGUgTU5UX09QVFNNT0RFX3tBVVRPLEZPUkNFLElHTk9SRX0gKi8KKwlpbnQJbG9vcGRldl9mZDsJLyogb3BlbiBsb29wZGV2ICovCisKKwl1bnNpZ25lZCBsb25nCW1vdW50ZmxhZ3M7CS8qIGZpbmFsIG1vdW50KDIpIGZsYWdzICovCisJY29uc3Qgdm9pZAkqbW91bnRkYXRhOwkvKiBmaW5hbCBtb3VudCgyKSBkYXRhLCBzdHJpbmcgb3IgYmluYXJ5IGRhdGEgKi8KKworCXVuc2lnbmVkIGxvbmcJdXNlcl9tb3VudGZsYWdzOwkvKiBNTlRfTVNfKiAobG9vcD0sIHVzZXI9LCAuLi4pICovCisKKwlzdHJ1Y3QgbGlzdF9oZWFkCWFkZG1vdW50czsJLyogYWRkaXRpb25hbCBtb3VudHMgKi8KKworCXN0cnVjdCBsaWJtbnRfY2FjaGUJKmNhY2hlOwkvKiBwYXRocyBjYWNoZSAqLworCXN0cnVjdCBsaWJtbnRfbG9jawkqbG9jazsJLyogbXRhYiBsb2NrICovCisJc3RydWN0IGxpYm1udF91cGRhdGUJKnVwZGF0ZTsvKiBtdGFiL3V0YWIgdXBkYXRlICovCisKKwljb25zdCBjaGFyCSptdGFiX3BhdGg7IC8qIHBhdGggdG8gbXRhYiAqLworCWludAkJbXRhYl93cml0YWJsZTsgLyogaXMgbXRhYiB3cml0YWJsZSAqLworCisJY29uc3QgY2hhcgkqdXRhYl9wYXRoOyAvKiBwYXRoIHRvIHV0YWIgKi8KKwlpbnQJCXV0YWJfd3JpdGFibGU7IC8qIGlzIHV0YWIgd3JpdGFibGUgKi8KKworCWludAlmbGFnczsJCS8qIHByaXZhdGUgY29udGV4dCBmbGFncyAqLworCisJY2hhcgkqaGVscGVyOwkvKiBuYW1lIG9mIHRoZSB1c2VkIC9zYmluL1t1XW1vdW50Ljx0eXBlPiBoZWxwZXIgKi8KKwlpbnQJaGVscGVyX3N0YXR1czsJLyogaGVscGVyIHdhaXQoMikgc3RhdHVzICovCisJaW50CWhlbHBlcl9leGVjX3N0YXR1czsgLyogMTogbm90IGNhbGxlZCB5ZXQsIDA6IHN1Y2Nlc3MsIDwwOiAtZXJybm8gKi8KKworCWNoYXIJKm9yaWdfdXNlcjsJLyogb3JpZ2luYWwgKG5vbi1maXhlZCkgdXNlcj0gb3B0aW9uICovCisKKwlwaWRfdAkqY2hpbGRyZW47CS8qICJtb3VudCAtYSAtLWZvcmsiIFBJRHMgKi8KKwlpbnQJbmNoaWxkcmVuOwkvKiBudW1iZXIgb2YgY2hpbGRyZW4gKi8KKwlwaWRfdAlwaWQ7CQkvKiAwPXBhcmVudDsgUElEPWNoaWxkICovCisKKworCWludAlzeXNjYWxsX3N0YXR1czsJLyogMTogbm90IGNhbGxlZCB5ZXQsIDA6IHN1Y2Nlc3MsIDwwOiAtZXJybm8gKi8KK307CisKKy8qIGZsYWdzICovCisjZGVmaW5lIE1OVF9GTF9OT01UQUIJCSgxIDw8IDEpCisjZGVmaW5lIE1OVF9GTF9GQUtFCQkoMSA8PCAyKQorI2RlZmluZSBNTlRfRkxfU0xPUFBZCQkoMSA8PCAzKQorI2RlZmluZSBNTlRfRkxfVkVSQk9TRQkJKDEgPDwgNCkKKyNkZWZpbmUgTU5UX0ZMX05PSEVMUEVSUwkoMSA8PCA1KQorI2RlZmluZSBNTlRfRkxfTE9PUERFTAkJKDEgPDwgNikKKyNkZWZpbmUgTU5UX0ZMX0xBWlkJCSgxIDw8IDcpCisjZGVmaW5lIE1OVF9GTF9GT1JDRQkJKDEgPDwgOCkKKyNkZWZpbmUgTU5UX0ZMX05PQ0FOT05JQ0FMSVpFCSgxIDw8IDkpCisjZGVmaW5lIE1OVF9GTF9SRE9OTFlfVU1PVU5UCSgxIDw8IDExKQkvKiByZW1vdW50LHJvIGFmdGVyIEVCVVNZIHVtb3VudCgyKSAqLworI2RlZmluZSBNTlRfRkxfRk9SSwkJKDEgPDwgMTIpCisjZGVmaW5lIE1OVF9GTF9OT1NXQVBNQVRDSAkoMSA8PCAxMykKKworI2RlZmluZSBNTlRfRkxfTU9VTlREQVRBCSgxIDw8IDIwKQorI2RlZmluZSBNTlRfRkxfVEFCX0FQUExJRUQJKDEgPDwgMjEpCS8qIG10YWIvZnN0YWIgbWVyZ2VkIHRvIGN4dC0+ZnMgKi8KKyNkZWZpbmUgTU5UX0ZMX01PVU5URkxBR1NfTUVSR0VEICgxIDw8IDIyKQkvKiBNU18qIGZsYWdzIHdhcyByZWFkIGZyb20gb3B0c3RyICovCisjZGVmaW5lIE1OVF9GTF9TQVZFRF9VU0VSCSgxIDw8IDIzKQorI2RlZmluZSBNTlRfRkxfUFJFUEFSRUQJCSgxIDw8IDI0KQorI2RlZmluZSBNTlRfRkxfSEVMUEVSCQkoMSA8PCAyNSkJLyogW3VdbW91bnQuPHR5cGU+ICovCisjZGVmaW5lIE1OVF9GTF9MT09QREVWX1JFQURZCSgxIDw8IDI2KQkvKiAvZGV2L2xvb3A8Tj4gaW5pdGlhbGl6ZWQgYnkgdGhlIGxpYnJhcnkgKi8KKyNkZWZpbmUgTU5UX0ZMX01PVU5UT1BUU19GSVhFRCAgKDEgPDwgMjcpCisjZGVmaW5lIE1OVF9GTF9UQUJQQVRIU19DSEVDS0VECSgxIDw8IDI4KQorCisvKiBkZWZhdWx0IGZsYWdzICovCisjZGVmaW5lIE1OVF9GTF9ERUZBVUxUCQkwCisKKy8qIGxvY2suYyAqLworZXh0ZXJuIGludCBtbnRfbG9ja191c2Vfc2ltcGxlbG9jayhzdHJ1Y3QgbGlibW50X2xvY2sgKm1sLCBpbnQgZW5hYmxlKTsKKworLyogb3B0bWFwLmMgKi8KK2V4dGVybiBjb25zdCBzdHJ1Y3QgbGlibW50X29wdG1hcCAqbW50X29wdG1hcF9nZXRfZW50cnkoCisJCQkgICAgIHN0cnVjdCBsaWJtbnRfb3B0bWFwIGNvbnN0ICoqbWFwcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG5tYXBzLAorCQkJICAgICBjb25zdCBjaGFyICpuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgbmFtZWxlbiwKKwkJCSAgICAgY29uc3Qgc3RydWN0IGxpYm1udF9vcHRtYXAgKiptYXBlbnQpOworCisvKiBvcHRzdHIuYyAqLworZXh0ZXJuIGludCBtbnRfb3B0c3RyX3JlbW92ZV9vcHRpb25fYXQoY2hhciAqKm9wdHN0ciwgY2hhciAqYmVnaW4sIGNoYXIgKmVuZCk7CitleHRlcm4gaW50IG1udF9vcHRzdHJfZml4X2dpZChjaGFyICoqb3B0c3RyLCBjaGFyICp2YWx1ZSwgc2l6ZV90IHZhbHN6LCBjaGFyICoqbmV4dCk7CitleHRlcm4gaW50IG1udF9vcHRzdHJfZml4X3VpZChjaGFyICoqb3B0c3RyLCBjaGFyICp2YWx1ZSwgc2l6ZV90IHZhbHN6LCBjaGFyICoqbmV4dCk7CitleHRlcm4gaW50IG1udF9vcHRzdHJfZml4X3NlY29udGV4dChjaGFyICoqb3B0c3RyLCBjaGFyICp2YWx1ZSwgc2l6ZV90IHZhbHN6LCBjaGFyICoqbmV4dCk7CitleHRlcm4gaW50IG1udF9vcHRzdHJfZml4X3VzZXIoY2hhciAqKm9wdHN0cik7CisKKy8qIGZzLmMgKi8KK2V4dGVybiBzdHJ1Y3QgbGlibW50X2ZzICptbnRfY29weV9tdGFiX2ZzKGNvbnN0IHN0cnVjdCBsaWJtbnRfZnMgKmZzKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworZXh0ZXJuIGludCBfX21udF9mc19zZXRfc291cmNlX3B0cihzdHJ1Y3QgbGlibW50X2ZzICpmcywgY2hhciAqc291cmNlKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCgxKSkpOworZXh0ZXJuIGludCBfX21udF9mc19zZXRfZnN0eXBlX3B0cihzdHJ1Y3QgbGlibW50X2ZzICpmcywgY2hhciAqZnN0eXBlKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCgxKSkpOworCisvKiBjb250ZXh0LmMgKi8KK2V4dGVybiBpbnQgbW50X2NvbnRleHRfbXRhYl93cml0YWJsZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X3V0YWJfd3JpdGFibGUoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworZXh0ZXJuIGNvbnN0IGNoYXIgKm1udF9jb250ZXh0X2dldF93cml0YWJsZV90YWJwYXRoKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KTsKKworZXh0ZXJuIGludCBtbnRfY29udGV4dF9nZXRfbXRhYl9mb3JfdGFyZ2V0KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorCQkJCSAgICBzdHJ1Y3QgbGlibW50X3RhYmxlICoqbXRhYiwgY29uc3QgY2hhciAqdGd0KTsKKworZXh0ZXJuIGludCBtbnRfY29udGV4dF9wcmVwYXJlX3NyY3BhdGgoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9wcmVwYXJlX3RhcmdldChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2d1ZXNzX3NyY3BhdGhfZnN0eXBlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBjaGFyICoqdHlwZSk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2d1ZXNzX2ZzdHlwZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X3ByZXBhcmVfaGVscGVyKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorCQkJCSAgICAgIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnR5cGUpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9wcmVwYXJlX3VwZGF0ZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X21lcmdlX21mbGFncyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X3VwZGF0ZV90YWJzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KTsKKworZXh0ZXJuIGludCBtbnRfY29udGV4dF91bW91bnRfc2V0b3B0KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBpbnQgYywgY2hhciAqYXJnKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfbW91bnRfc2V0b3B0KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBpbnQgYywgY2hhciAqYXJnKTsKKworZXh0ZXJuIGludCBtbnRfY29udGV4dF9pc19sb29wZGV2KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworCitleHRlcm4gaW50IG1udF9jb250ZXh0X3Byb3BhZ2F0aW9uX29ubHkoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKK2V4dGVybiBzdHJ1Y3QgbGlibW50X2FkZG1vdW50ICptbnRfbmV3X2FkZG1vdW50KHZvaWQpOworZXh0ZXJuIHZvaWQgbW50X2ZyZWVfYWRkbW91bnQoc3RydWN0IGxpYm1udF9hZGRtb3VudCAqYWQpOworCitleHRlcm4gaW50IG1udF9jb250ZXh0X3NldHVwX2xvb3BkZXYoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9kZWxldGVfbG9vcGRldihzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2NsZWFyX2xvb3BkZXYoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworCitleHRlcm4gaW50IG1udF9mb3JrX2NvbnRleHQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworCitleHRlcm4gaW50IG1udF9jb250ZXh0X3NldF90YWJmaWx0ZXIoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsCisJCQkJICAgICBpbnQgKCpmbHRyKShzdHJ1Y3QgbGlibW50X2ZzICosIHZvaWQgKiksCisJCQkJICAgICB2b2lkICpkYXRhKTsKKworLyogdGFiX3VwZGF0ZS5jICovCitleHRlcm4gaW50IG1udF91cGRhdGVfc2V0X2ZpbGVuYW1lKHN0cnVjdCBsaWJtbnRfdXBkYXRlICp1cGQsCisJCQkJICAgY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCB1c2Vyc3BhY2Vfb25seSk7CitleHRlcm4gaW50IG1udF91cGRhdGVfYWxyZWFkeV9kb25lKHN0cnVjdCBsaWJtbnRfdXBkYXRlICp1cGQsCisJCQkJICAgc3RydWN0IGxpYm1udF9sb2NrICpsYyk7CisKKyNpZiBfX2xpbnV4X18KKy8qIGJ0cmZzLmMgKi8KK2V4dGVybiB1aW50NjRfdCBidHJmc19nZXRfZGVmYXVsdF9zdWJ2b2xfaWQoY29uc3QgY2hhciAqcGF0aCk7CisjZW5kaWYKKworI2VuZGlmIC8qIF9MSUJNT1VOVF9QUklWQVRFX0ggKi8KZGlmZiAtLWdpdCBhL2xpYm1vdW50L3NyYy9vcHRtYXAuYyBiL2xpYm1vdW50L3NyYy9vcHRtYXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODI3ZTA0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvc3JjL29wdG1hcC5jCkBAIC0wLDAgKzEsMjQ4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworLyoqCisgKiBTRUNUSU9OOiBvcHRtYXAKKyAqIEB0aXRsZTogT3B0aW9uIG1hcHMKKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogZGVzY3JpcHRpb24gZm9yIG1vdW50IG9wdGlvbnMKKyAqCisgKiBUaGUgbW91bnQoMikgbGludXggc3lzY2FsbCB1c2VzIHR3byBhcmd1bWVudHMgZm9yIG1vdW50IG9wdGlvbnM6CisgKgorICoJQG1vdW50ZmxhZ3M6IChzZWUgTVNfKiBtYWNyb3MgaW4gbGludXgvZnMuaCkKKyAqCisgKglAbW91bnRkYXRhOiAodXN1YWxseSBhIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmcgb2Ygb3B0aW9ucykKKyAqCisgKiBUaGUgbGlibW91bnQgdXNlcyBvcHRpb25zLW1hcChzKSB0byBkZXNjcmliZSBtb3VudCBvcHRpb25zLgorICoKKyAqIFRoZSBvcHRpb24gZGVzY3JpcHRpb24gKG1hcCBlbnRyeSkgaW5jbHVkZXM6CisgKgorICoJQG5hbWU6IGFuZCBhcmd1bWVudCBuYW1lCisgKgorICoJQGlkOiAoaW4gdGhlIG1hcCB1bmlxdWUgaWRlbnRpZmllciBvciBhIG1vdW50ZmxhZ3MsIGUuZyBNU19SRE9OTFkpCisgKgorICoJQG1hc2s6IChNTlRfSU5WRVJULCBNTlRfTk9NVEFCKQorICoKKyAqIFRoZSBvcHRpb24gYXJndW1lbnQgdmFsdWUgaXMgZGVmaW5lZCBieToKKyAqCisgKgkiPSIgICAtLSByZXF1aXJlZCBhcmd1bWVudCwgZS5nICJjb21tZW50PSIKKyAqCisgKgkiWz1dIiAtLSBvcHRpb25hbCBhcmd1bWVudCwgZS5nLiAibG9vcFs9XSIKKyAqCisgKiBFeGFtcGxlOgorICoKKyAqIDxpbmZvcm1hbGV4YW1wbGU+CisgKiAgIDxwcm9ncmFtbGlzdGluZz4KKyAqICAgICAjZGVmaW5lIE1ZX01TX0ZPTyAgICgxIDw8IDEpCisgKiAgICAgI2RlZmluZSBNWV9NU19CQVIgICAoMSA8PCAyKQorICoKKyAqICAgICBsaWJtbnRfb3B0bWFwIG15b3B0aW9uc1tdID0geworICogICAgICAgeyAiZm9vIiwgICBNWV9NU19GT08gfSwKKyAqICAgICAgIHsgIm5vZm9vIiwgTVlfTVNfRk9PIHwgTU5UX0lOVkVSVCB9LAorICogICAgICAgeyAiYmFyPSIsICBNWV9NU19CQVIgfSwKKyAqICAgICAgIHsgTlVMTCB9CisgKiAgICAgfTsKKyAqICAgPC9wcm9ncmFtbGlzdGluZz4KKyAqIDwvaW5mb3JtYWxleGFtcGxlPgorICoKKyAqIFRoZSBsaWJtb3VudCBkZWZpbmVzIHR3byBiYXNpYyBidWlsdC1pbiBvcHRpb25zIG1hcHM6CisgKgorICoJQE1OVF9MSU5VWF9NQVA6IGZzLWluZGVwZW5kZW50IGtlcm5lbCBtb3VudCBvcHRpb25zICh1c3VhbGx5IE1TXyogZmxhZ3MpCisgKgorICoJQE1OVF9VU0VSU1BBQ0VfTUFQOiB1c2Vyc3BhY2Ugc3BlY2lmaWMgbW91bnQgb3B0aW9ucyAoZS5nLiAidXNlciIsICJsb29wIikKKyAqCisgKiBGb3IgbW9yZSBkZXRhaWxzIGFib3V0IG9wdGlvbiBtYXAgc3RydWN0IHNlZSAic3RydWN0IG1udF9vcHRtYXAiIGluCisgKiBtb3VudC9tb3VudC5oLgorICovCisjaW5jbHVkZSAibW91bnRQLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKworLyoKKyAqIGZzLWluZGVwZW5kZW50IG1vdW50IGZsYWdzIChidWlsdC1pbiBNTlRfTElOVVhfTUFQKQorICovCitzdGF0aWMgY29uc3Qgc3RydWN0IGxpYm1udF9vcHRtYXAgbGludXhfZmxhZ3NfbWFwW10gPQoreworICAgeyAicm8iLCAgICAgICBNU19SRE9OTFkgfSwgICAgICAgICAgICAgICAgIC8qIHJlYWQtb25seSAqLworICAgeyAicnciLCAgICAgICBNU19SRE9OTFksIE1OVF9JTlZFUlQgfSwgICAgIC8qIHJlYWQtd3JpdGUgKi8KKyAgIHsgImV4ZWMiLCAgICAgTVNfTk9FWEVDLCBNTlRfSU5WRVJUIH0sICAgICAvKiBwZXJtaXQgZXhlY3V0aW9uIG9mIGJpbmFyaWVzICovCisgICB7ICJub2V4ZWMiLCAgIE1TX05PRVhFQyB9LCAgICAgICAgICAgICAgICAgLyogZG9uJ3QgZXhlY3V0ZSBiaW5hcmllcyAqLworICAgeyAic3VpZCIsICAgICBNU19OT1NVSUQsIE1OVF9JTlZFUlQgfSwgICAgIC8qIGhvbm9yIHN1aWQgZXhlY3V0YWJsZXMgKi8KKyAgIHsgIm5vc3VpZCIsICAgTVNfTk9TVUlEIH0sICAgICAgICAgICAgICAgICAvKiBkb24ndCBob25vciBzdWlkIGV4ZWN1dGFibGVzICovCisgICB7ICJkZXYiLCAgICAgIE1TX05PREVWLCBNTlRfSU5WRVJUIH0sICAgICAgLyogaW50ZXJwcmV0IGRldmljZSBmaWxlcyAgKi8KKyAgIHsgIm5vZGV2IiwgICAgTVNfTk9ERVYgfSwgICAgICAgICAgICAgICAgICAvKiBkb24ndCBpbnRlcnByZXQgZGV2aWNlcyAqLworCisgICB7ICJzeW5jIiwgICAgIE1TX1NZTkNIUk9OT1VTIH0sICAgICAgICAgICAgLyogc3luY2hyb25vdXMgSS9PICovCisgICB7ICJhc3luYyIsICAgIE1TX1NZTkNIUk9OT1VTLCBNTlRfSU5WRVJUIH0sLyogYXN5bmNocm9ub3VzIEkvTyAqLworCisgICB7ICJkaXJzeW5jIiwgIE1TX0RJUlNZTkMgfSwgICAgICAgICAgICAgICAgLyogc3luY2hyb25vdXMgZGlyZWN0b3J5IG1vZGlmaWNhdGlvbnMgKi8KKyAgIHsgInJlbW91bnQiLCAgTVNfUkVNT1VOVCwgTU5UX05PTVRBQiB9LCAgICAvKiBhbHRlciBmbGFncyBvZiBtb3VudGVkIEZTICovCisgICB7ICJiaW5kIiwgICAgIE1TX0JJTkQgfSwgICAgICAgICAgICAgICAgICAgLyogUmVtb3VudCBwYXJ0IG9mIHRoZSB0cmVlIGVsc2V3aGVyZSAqLworICAgeyAicmJpbmQiLCAgICBNU19CSU5EIHwgTVNfUkVDIH0sICAgICAgICAgIC8qIElkZW0sIHBsdXMgbW91bnRlZCBzdWJ0cmVlcyAqLworI2lmZGVmIE1TX05PU1VCCisgICB7ICJzdWIiLCAgICAgIE1TX05PU1VCLCBNTlRfSU5WRVJUIH0sICAgICAgLyogYWxsb3cgc3VibW91bnRzICovCisgICB7ICJub3N1YiIsICAgIE1TX05PU1VCIH0sICAgICAgICAgICAgICAgICAgLyogZG9uJ3QgYWxsb3cgc3VibW91bnRzICovCisjZW5kaWYKKyNpZmRlZiBNU19TSUxFTlQKKyAgIHsgInNpbGVudCIsCSBNU19TSUxFTlQgfSwgICAgICAgICAgICAgICAgIC8qIGJlIHF1aWV0ICAqLworICAgeyAibG91ZCIsICAgICBNU19TSUxFTlQsIE1OVF9JTlZFUlQgfSwgICAgIC8qIHByaW50IG91dCBtZXNzYWdlcy4gKi8KKyNlbmRpZgorI2lmZGVmIE1TX01BTkRMT0NLCisgICB7ICJtYW5kIiwgICAgIE1TX01BTkRMT0NLIH0sICAgICAgICAgICAgICAgLyogQWxsb3cgbWFuZGF0b3J5IGxvY2tzIG9uIHRoaXMgRlMgKi8KKyAgIHsgIm5vbWFuZCIsICAgTVNfTUFORExPQ0ssIE1OVF9JTlZFUlQgfSwgICAvKiBGb3JiaWQgbWFuZGF0b3J5IGxvY2tzIG9uIHRoaXMgRlMgKi8KKyNlbmRpZgorI2lmZGVmIE1TX05PQVRJTUUKKyAgIHsgImF0aW1lIiwgICAgTVNfTk9BVElNRSwgTU5UX0lOVkVSVCB9LCAgICAvKiBVcGRhdGUgYWNjZXNzIHRpbWUgKi8KKyAgIHsgIm5vYXRpbWUiLAkgTVNfTk9BVElNRSB9LCAgICAgICAgICAgICAgICAvKiBEbyBub3QgdXBkYXRlIGFjY2VzcyB0aW1lICovCisjZW5kaWYKKyNpZmRlZiBNU19JX1ZFUlNJT04KKyAgIHsgIml2ZXJzaW9uIiwgTVNfSV9WRVJTSU9OIH0sICAgICAgICAgICAgICAvKiBVcGRhdGUgaW5vZGUgSV92ZXJzaW9uIHRpbWUgKi8KKyAgIHsgIm5vaXZlcnNpb24iLCBNU19JX1ZFUlNJT04sICBNTlRfSU5WRVJUfSwvKiBEb24ndCB1cGRhdGUgaW5vZGUgSV92ZXJzaW9uIHRpbWUgKi8KKyNlbmRpZgorI2lmZGVmIE1TX05PRElSQVRJTUUKKyAgIHsgImRpcmF0aW1lIiwgTVNfTk9ESVJBVElNRSwgTU5UX0lOVkVSVCB9LCAvKiBVcGRhdGUgZGlyIGFjY2VzcyB0aW1lcyAqLworICAgeyAibm9kaXJhdGltZSIsIE1TX05PRElSQVRJTUUgfSwgICAgICAgICAgIC8qIERvIG5vdCB1cGRhdGUgZGlyIGFjY2VzcyB0aW1lcyAqLworI2VuZGlmCisjaWZkZWYgTVNfUkVMQVRJTUUKKyAgIHsgInJlbGF0aW1lIiwgTVNfUkVMQVRJTUUgfSwgICAgICAgICAgICAgICAvKiBVcGRhdGUgYWNjZXNzIHRpbWVzIHJlbGF0aXZlIHRvIG10aW1lL2N0aW1lICovCisgICB7ICJub3JlbGF0aW1lIiwgTVNfUkVMQVRJTUUsIE1OVF9JTlZFUlQgfSwgLyogVXBkYXRlIGFjY2VzcyB0aW1lIHdpdGhvdXQgcmVnYXJkIHRvIG10aW1lL2N0aW1lICovCisjZW5kaWYKKyNpZmRlZiBNU19TVFJJQ1RBVElNRQorICAgeyAic3RyaWN0YXRpbWUiLCBNU19TVFJJQ1RBVElNRSB9LCAgICAgICAgIC8qIFN0cmljdCBhdGltZSBzZW1hbnRpY3MgKi8KKyAgIHsgIm5vc3RyaWN0YXRpbWUiLCBNU19TVFJJQ1RBVElNRSwgTU5UX0lOVkVSVCB9LCAvKiBrZXJuZWwgZGVmYXVsdCBhdGltZSAqLworI2VuZGlmCisjaWZkZWYgTVNfTEFaWVRJTUUKKyAgIHsgImxhenl0aW1lIiwgTVNfTEFaWVRJTUUgfSwgICAgICAgICAgICAgICAvKiBVcGRhdGUge2EsbSxjfXRpbWUgb24gdGhlIGluLW1lbW9yeSBpbm9kZSBvbmx5ICovCisgICB7ICJub2xhenl0aW1lIiwgTVNfTEFaWVRJTUUsIE1OVF9JTlZFUlQgfSwKKyNlbmRpZgorI2lmZGVmIE1TX1BST1BBR0FUSU9OCisgICB7ICJ1bmJpbmRhYmxlIiwgIE1TX1VOQklOREFCTEUsICAgICAgICAgIE1OVF9OT0hMUFMgfCBNTlRfTk9NVEFCIH0sIC8qIFVuYmluZGFibGUgKi8KKyAgIHsgInJ1bmJpbmRhYmxlIiwgTVNfVU5CSU5EQUJMRSB8IE1TX1JFQywgTU5UX05PSExQUyB8IE1OVF9OT01UQUIgfSwKKyAgIHsgInByaXZhdGUiLCAgICAgTVNfUFJJVkFURSwgICAgICAgICAgICAgTU5UX05PSExQUyB8IE1OVF9OT01UQUIgfSwgLyogUHJpdmF0ZSAqLworICAgeyAicnByaXZhdGUiLCAgICBNU19QUklWQVRFIHwgTVNfUkVDLCAgICBNTlRfTk9ITFBTIHwgTU5UX05PTVRBQiB9LAorICAgeyAic2xhdmUiLCAgICAgICBNU19TTEFWRSwgICAgICAgICAgICAgICBNTlRfTk9ITFBTIHwgTU5UX05PTVRBQiB9LCAvKiBTbGF2ZSAqLworICAgeyAicnNsYXZlIiwgICAgICBNU19TTEFWRSB8IE1TX1JFQywgICAgICBNTlRfTk9ITFBTIHwgTU5UX05PTVRBQiB9LAorICAgeyAic2hhcmVkIiwgICAgICBNU19TSEFSRUQsICAgICAgICAgICAgICBNTlRfTk9ITFBTIHwgTU5UX05PTVRBQiB9LCAvKiBTaGFyZWQgKi8KKyAgIHsgInJzaGFyZWQiLCAgICAgTVNfU0hBUkVEIHwgTVNfUkVDLCAgICAgTU5UX05PSExQUyB8IE1OVF9OT01UQUIgfSwKKyNlbmRpZgorICAgeyBOVUxMLCAwLCAwIH0KK307CisKKy8qCisgKiB1c2Vyc3BhY2UgbW91bnQgb3B0aW9uIChidWlsdC1pbiBNTlRfVVNFUlNQQUNFX01BUCkKKyAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBsaWJtbnRfb3B0bWFwIHVzZXJzcGFjZV9vcHRzX21hcFtdID0KK3sKKyAgIHsgImRlZmF1bHRzIiwgMCwgMCB9LCAgICAgICAgICAgICAgIC8qIGRlZmF1bHQgb3B0aW9ucyAqLworCisgICB7ICJhdXRvIiwgICAgTU5UX01TX05PQVVUTywgTU5UX05PSExQUyB8IE1OVF9JTlZFUlQgfCBNTlRfTk9NVEFCIH0sICAvKiBDYW4gYmUgbW91bnRlZCB1c2luZyAtYSAqLworICAgeyAibm9hdXRvIiwgIE1OVF9NU19OT0FVVE8sIE1OVF9OT0hMUFMgfCBNTlRfTk9NVEFCIH0sICAvKiBDYW4gb25seSBiZSBtb3VudGVkIGV4cGxpY2l0bHkgKi8KKworICAgeyAidXNlcls9XSIsIE1OVF9NU19VU0VSIH0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBBbGxvdyBvcmRpbmFyeSB1c2VyIHRvIG1vdW50IChtdGFiKSAqLworICAgeyAibm91c2VyIiwgIE1OVF9NU19VU0VSLCBNTlRfSU5WRVJUIHwgTU5UX05PTVRBQiB9LCAgICAvKiBGb3JiaWQgb3JkaW5hcnkgdXNlciB0byBtb3VudCAqLworCisgICB7ICJ1c2VycyIsICAgTU5UX01TX1VTRVJTLCBNTlRfTk9NVEFCIH0sICAgICAgICAgICAgICAgIC8qIEFsbG93IG9yZGluYXJ5IHVzZXJzIHRvIG1vdW50ICovCisgICB7ICJub3VzZXJzIiwgTU5UX01TX1VTRVJTLCBNTlRfSU5WRVJUIHwgTU5UX05PTVRBQiB9LCAgIC8qIEZvcmJpZCBvcmRpbmFyeSB1c2VycyB0byBtb3VudCAqLworCisgICB7ICJvd25lciIsICAgTU5UX01TX09XTkVSLCBNTlRfTk9NVEFCIH0sICAgICAgICAgICAgICAgIC8qIExldCB0aGUgb3duZXIgb2YgdGhlIGRldmljZSBtb3VudCAqLworICAgeyAibm9vd25lciIsIE1OVF9NU19PV05FUiwgTU5UX0lOVkVSVCB8IE1OVF9OT01UQUIgfSwgICAvKiBEZXZpY2Ugb3duZXIgaGFzIG5vIHNwZWNpYWwgcHJpdnMgKi8KKworICAgeyAiZ3JvdXAiLCAgIE1OVF9NU19HUk9VUCwgTU5UX05PTVRBQiB9LCAgICAgICAgICAgICAgICAvKiBMZXQgdGhlIGdyb3VwIG9mIHRoZSBkZXZpY2UgbW91bnQgKi8KKyAgIHsgIm5vZ3JvdXAiLCBNTlRfTVNfR1JPVVAsIE1OVF9JTlZFUlQgfCBNTlRfTk9NVEFCIH0sICAgLyogRGV2aWNlIGdyb3VwIGhhcyBubyBzcGVjaWFsIHByaXZzICovCisKKyAgIC8qCisgICAgKiBOb3RlIHRoYXQgdHJhZGl0aW9uYWwgaW5pdCBzY3JpcHRzIGFzc3VtZSB0aGUgX25ldGRldiBvcHRpb24gaW4gL2V0Yy9tdGFiIHRvCisgICAgKiB1bW91bnQgbmV0d29yayBibG9jayBkZXZpY2VzIG9uIHNodXRkb3duLgorICAgICovCisgICB7ICJfbmV0ZGV2IiwgTU5UX01TX05FVERFViB9LCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIERldmljZSByZXF1aXJlcyBuZXR3b3JrICovCisKKyAgIHsgImNvbW1lbnQ9IiwgTU5UX01TX0NPTU1FTlQsIE1OVF9OT0hMUFMgfCBNTlRfTk9NVEFCIH0sLyogZnN0YWIgY29tbWVudCBvbmx5ICovCisgICB7ICJ4LSIsICAgICAgTU5UX01TX1hDT01NRU5ULCBNTlRfTk9ITFBTIHwgTU5UX05PTVRBQiB8IE1OVF9QUkVGSVggfSwgLyogeC0gb3B0aW9ucyAqLworCisgICB7ICJsb29wWz1dIiwgTU5UX01TX0xPT1AsIE1OVF9OT0hMUFMgfSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHVzZSB0aGUgbG9vcCBkZXZpY2UgKi8KKyAgIHsgIm9mZnNldD0iLCBNTlRfTVNfT0ZGU0VULCBNTlRfTk9ITFBTIHwgTU5UX05PTVRBQiB9LAkJICAgLyogbG9vcCBkZXZpY2Ugb2Zmc2V0ICovCisgICB7ICJzaXplbGltaXQ9IiwgTU5UX01TX1NJWkVMSU1JVCwgTU5UX05PSExQUyB8IE1OVF9OT01UQUIgfSwJICAgLyogbG9vcCBkZXZpY2Ugc2l6ZSBsaW1pdCAqLworICAgeyAiZW5jcnlwdGlvbj0iLCBNTlRfTVNfRU5DUllQVElPTiwgTU5UX05PSExQUyB8IE1OVF9OT01UQUIgfSwJICAgLyogbG9vcCBkZXZpY2UgZW5jcnlwdGlvbiAqLworCisgICB7ICJub2ZhaWwiLCAgTU5UX01TX05PRkFJTCwgTU5UX05PTVRBQiB9LCAgICAgICAgICAgICAgIC8qIERvIG5vdCBmYWlsIGlmIEVOT0VOVCBvbiBkZXYgKi8KKworICAgeyAidWhlbHBlcj0iLCBNTlRfTVNfVUhFTFBFUiB9LAkJCSAgIC8qIC9zYmluL3Vtb3VudC48aGVscGVyPiAqLworCisgICB7ICJoZWxwZXI9IiwgTU5UX01TX0hFTFBFUiB9LAkJCSAgIC8qIC9zYmluL21vdW50LjxoZWxwZXI+ICovCisKKyAgIHsgTlVMTCwgMCwgMCB9Cit9OworCisvKioKKyAqIG1udF9nZXRfYnVpbHRpbl9tYXA6CisgKiBAaWQ6IG1hcCBpZCAtLSBNTlRfTElOVVhfTUFQIG9yIE1OVF9VU0VSU1BBQ0VfTUFQCisgKgorICogTU5UX0xJTlVYX01BUCAtIExpbnV4IGtlcm5lbCBmcy1pbmRlcGVuZGVudCBtb3VudCBvcHRpb25zCisgKiAgICAgICAgICAgICAgICAgKHVzdWFsbHkgTVNfKiBmbGFncywgc2VlIGxpbnV4L2ZzLmgpCisgKgorICogTU5UX1VTRVJTUEFDRV9NQVAgLSB1c2Vyc3BhY2UgbW91bnQoOCkgc3BlY2lmaWMgbW91bnQgb3B0aW9ucworICogICAgICAgICAgICAgICAgICAgICAoZS5nIHVzZXI9LCBfbmV0ZGV2LCAuLi4pCisgKgorICogUmV0dXJuczogc3RhdGljIGJ1aWx0LWluIGxpYm1vdW50IG1hcC4KKyAqLworY29uc3Qgc3RydWN0IGxpYm1udF9vcHRtYXAgKm1udF9nZXRfYnVpbHRpbl9vcHRtYXAoaW50IGlkKQoreworCWFzc2VydChpZCk7CisKKwlpZiAoaWQgPT0gTU5UX0xJTlVYX01BUCkKKwkJcmV0dXJuIGxpbnV4X2ZsYWdzX21hcDsKKwllbHNlIGlmIChpZCA9PSBNTlRfVVNFUlNQQUNFX01BUCkKKwkJcmV0dXJuIHVzZXJzcGFjZV9vcHRzX21hcDsKKwlyZXR1cm4gTlVMTDsKK30KKworLyoKKyAqIExvb2tzIHVwIHRoZSBAbmFtZSBpbiBAbWFwcyBhbmQgcmV0dXJucyBhIG1hcCBhbmQgaW4gQG1hcGVudAorICogcmV0dXJucyB0aGUgbWFwIGVudHJ5CisgKi8KK2NvbnN0IHN0cnVjdCBsaWJtbnRfb3B0bWFwICptbnRfb3B0bWFwX2dldF9lbnRyeSgKKwkJCQlzdHJ1Y3QgbGlibW50X29wdG1hcCBjb25zdCAqKm1hcHMsCisJCQkJaW50IG5tYXBzLAorCQkJCWNvbnN0IGNoYXIgKm5hbWUsCisJCQkJc2l6ZV90IG5hbWVsZW4sCisJCQkJY29uc3Qgc3RydWN0IGxpYm1udF9vcHRtYXAgKiptYXBlbnQpCit7CisJaW50IGk7CisKKwlhc3NlcnQobWFwcyk7CisJYXNzZXJ0KG5tYXBzKTsKKwlhc3NlcnQobmFtZSk7CisJYXNzZXJ0KG5hbWVsZW4pOworCisJaWYgKG1hcGVudCkKKwkJKm1hcGVudCA9IE5VTEw7CisKKwlmb3IgKGkgPSAwOyBpIDwgbm1hcHM7IGkrKykgeworCQljb25zdCBzdHJ1Y3QgbGlibW50X29wdG1hcCAqbWFwID0gbWFwc1tpXTsKKwkJY29uc3Qgc3RydWN0IGxpYm1udF9vcHRtYXAgKmVudDsKKwkJY29uc3QgY2hhciAqcDsKKworCQlmb3IgKGVudCA9IG1hcDsgZW50ICYmIGVudC0+bmFtZTsgZW50KyspIHsKKwkJCWlmIChlbnQtPm1hc2sgJiBNTlRfUFJFRklYKSB7CisJCQkJaWYgKHN0YXJ0c3dpdGgobmFtZSwgZW50LT5uYW1lKSkgeworCQkJCQlpZiAobWFwZW50KQorCQkJCQkJKm1hcGVudCA9IGVudDsKKwkJCQkJcmV0dXJuIG1hcDsKKwkJCQl9CisJCQkJY29udGludWU7CisJCQl9CisJCQlpZiAoc3RybmNtcChlbnQtPm5hbWUsIG5hbWUsIG5hbWVsZW4pKQorCQkJCWNvbnRpbnVlOworCQkJcCA9IGVudC0+bmFtZSArIG5hbWVsZW47CisJCQlpZiAoKnAgPT0gJ1wwJyB8fCAqcCA9PSAnPScgfHwgKnAgPT0gJ1snKSB7CisJCQkJaWYgKG1hcGVudCkKKwkJCQkJKm1hcGVudCA9IGVudDsKKwkJCQlyZXR1cm4gbWFwOworCQkJfQorCQl9CisJfQorCXJldHVybiBOVUxMOworfQorCmRpZmYgLS1naXQgYS9saWJtb3VudC9zcmMvb3B0c3RyLmMgYi9saWJtb3VudC9zcmMvb3B0c3RyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWRmYWI2NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L3NyYy9vcHRzdHIuYwpAQCAtMCwwICsxLDEzNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgsMjAwOSwyMDEyIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworLyoqCisgKiBTRUNUSU9OOiBvcHRzdHIKKyAqIEB0aXRsZTogT3B0aW9ucyBzdHJpbmcKKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogbG93LWxldmVsIEFQSSBmb3Igd29ya2luZyB3aXRoIG1vdW50IG9wdGlvbnMKKyAqCisgKiBUaGlzIGlzIGEgc2ltcGxlIGFuZCBsb3ctbGV2ZWwgQVBJIHRvIHdvcmtpbmcgd2l0aCBtb3VudCBvcHRpb25zIHRoYXQgYXJlIHN0b3JlZAorICogaW4gYSBzdHJpbmcuCisgKi8KKyNpbmNsdWRlIDxjdHlwZS5oPgorCisjaWZkZWYgSEFWRV9MSUJTRUxJTlVYCisjaW5jbHVkZSA8c2VsaW51eC9zZWxpbnV4Lmg+CisjaW5jbHVkZSA8c2VsaW51eC9jb250ZXh0Lmg+CisjZW5kaWYKKworI2luY2x1ZGUgIm1vdW50UC5oIgorCisvKgorICogT3B0aW9uIGxvY2F0aW9uCisgKi8KK3N0cnVjdCBsaWJtbnRfb3B0bG9jIHsKKwljaGFyCSpiZWdpbjsKKwljaGFyCSplbmQ7CisJY2hhcgkqdmFsdWU7CisJc2l6ZV90CXZhbHN6OworCXNpemVfdCAgbmFtZXN6OworfTsKKworI2RlZmluZSBtbnRfaW5pdF9vcHRsb2MoX29sKQkobWVtc2V0KChfb2wpLCAwLCBzaXplb2Yoc3RydWN0IGxpYm1udF9vcHRsb2MpKSkKKworI2RlZmluZSBtbnRfb3B0bWFwX2VudHJ5X25vdmFsdWUoZSkgXAorCQkoZSAmJiAoZSktPm5hbWUgJiYgIXN0cmNocigoZSktPm5hbWUsICc9JykgJiYgISgoZSktPm1hc2sgJiBNTlRfUFJFRklYKSkKKworLyoKKyAqIFBhcnNlcyB0aGUgZmlyc3Qgb3B0aW9uIGZyb20gQG9wdHN0ci4gVGhlIEBvcHRzdHIgcG9pbnRlciBpcyBzZXQgdG8gdGhlIGJlZ2lubmluZworICogb2YgdGhlIG5leHQgb3B0aW9uLgorICoKKyAqIFJldHVybnMgLUVJTlZBTCBvbiBwYXJzZSBlcnJvciwgMSBhdCB0aGUgZW5kIG9mIG9wdHN0ciBhbmQgMCBvbiBzdWNjZXNzLgorICovCitzdGF0aWMgaW50IG1udF9vcHRzdHJfcGFyc2VfbmV4dChjaGFyICoqb3B0c3RyLAkgY2hhciAqKm5hbWUsIHNpemVfdCAqbmFtZXN6LAorCQkJCQljaGFyICoqdmFsdWUsIHNpemVfdCAqdmFsc3opCit7CisJaW50IG9wZW5fcXVvdGUgPSAwOworCWNoYXIgKnN0YXJ0ID0gTlVMTCwgKnN0b3AgPSBOVUxMLCAqcCwgKnNlcCA9IE5VTEw7CisJY2hhciAqb3B0c3RyMDsKKworCWFzc2VydChvcHRzdHIpOworCWFzc2VydCgqb3B0c3RyKTsKKworCW9wdHN0cjAgPSAqb3B0c3RyOworCisJaWYgKG5hbWUpCisJCSpuYW1lID0gTlVMTDsKKwlpZiAobmFtZXN6KQorCQkqbmFtZXN6ID0gMDsKKwlpZiAodmFsdWUpCisJCSp2YWx1ZSA9IE5VTEw7CisJaWYgKHZhbHN6KQorCQkqdmFsc3ogPSAwOworCisJLyogdHJpbSBsZWFkaW5nIGNvbW1hcyBhcyB0byBub3QgaW52YWxpZGF0ZSBvcHRpb24KKwkgKiBzdHJpbmdzIHdpdGggbXVsdGlwbGUgY29uc2VjdXRpdmUgY29tbWFzICovCisJd2hpbGUgKG9wdHN0cjAgJiYgKm9wdHN0cjAgPT0gJywnKQorCQlvcHRzdHIwKys7CisKKwlmb3IgKHAgPSBvcHRzdHIwOyBwICYmICpwOyBwKyspIHsKKwkJaWYgKCFzdGFydCkKKwkJCXN0YXJ0ID0gcDsJCS8qIGJlZ2lubmluZyBvZiB0aGUgb3B0aW9uIGl0ZW0gKi8KKwkJaWYgKCpwID09ICciJykKKwkJCW9wZW5fcXVvdGUgXj0gMTsJLyogcmV2ZXJzZSB0aGUgc3RhdHVzICovCisJCWlmIChvcGVuX3F1b3RlKQorCQkJY29udGludWU7CQkvKiBzdGlsbCBpbiBxdW90ZWQgYmxvY2sgKi8KKwkJaWYgKCFzZXAgJiYgcCA+IHN0YXJ0ICYmICpwID09ICc9JykKKwkJCXNlcCA9IHA7CQkvKiBuYW1lIGFuZCB2YWx1ZSBzZXBhcmF0b3IgKi8KKwkJaWYgKCpwID09ICcsJykKKwkJCXN0b3AgPSBwOwkJLyogdGVybWluYXRlIHRoZSBvcHRpb24gaXRlbSAqLworCQllbHNlIGlmICgqKHAgKyAxKSA9PSAnXDAnKQorCQkJc3RvcCA9IHAgKyAxOwkJLyogZW5kIG9mIG9wdHN0ciAqLworCQlpZiAoIXN0YXJ0IHx8ICFzdG9wKQorCQkJY29udGludWU7CisJCWlmIChzdG9wIDw9IHN0YXJ0KQorCQkJZ290byBlcnJvcjsKKworCQlpZiAobmFtZSkKKwkJCSpuYW1lID0gc3RhcnQ7CisJCWlmIChuYW1lc3opCisJCQkqbmFtZXN6ID0gc2VwID8gc2VwIC0gc3RhcnQgOiBzdG9wIC0gc3RhcnQ7CisJCSpvcHRzdHIgPSAqc3RvcCA/IHN0b3AgKyAxIDogc3RvcDsKKworCQlpZiAoc2VwKSB7CisJCQlpZiAodmFsdWUpCisJCQkJKnZhbHVlID0gc2VwICsgMTsKKwkJCWlmICh2YWxzeikKKwkJCQkqdmFsc3ogPSBzdG9wIC0gc2VwIC0gMTsKKwkJfQorCQlyZXR1cm4gMDsKKwl9CisKKwlyZXR1cm4gMTsJCQkJLyogZW5kIG9mIG9wdHN0ciAqLworCitlcnJvcjoKKwlEQkcoT1BUSU9OUywgdWxfZGVidWcoInBhcnNlIGVycm9yOiBcIiVzXCIiLCBvcHRzdHIwKSk7CisJcmV0dXJuIC1FSU5WQUw7Cit9CisKKy8qCisgKiBMb2NhdGVzIHRoZSBmaXJzdCBvcHRpb24gdGhhdCBtYXRjaGVzIEBuYW1lLiBUaGUgQGVuZCBpcyBzZXQgdG8gdGhlCisgKiBjaGFyIGJlaGluZCB0aGUgb3B0aW9uIChpdCBtZWFucyAnLCcgb3IgXDApLgorICoKKyAqIFJldHVybnMgbmVnYXRpdmUgbnVtYmVyIG9uIHBhcnNlIGVycm9yLCAxIHdoZW4gbm90IGZvdW5kIGFuZCAwIG9uIHN1Y2Nlc3MuCisgKi8KK3N0YXRpYyBpbnQgbW50X29wdHN0cl9sb2NhdGVfb3B0aW9uKGNoYXIgKm9wdHN0ciwgY29uc3QgY2hhciAqbmFtZSwKKwkJCQkJc3RydWN0IGxpYm1udF9vcHRsb2MgKm9sKQoreworCWNoYXIgKm47CisJc2l6ZV90IG5hbWVzeiwgbnN6OworCWludCByYzsKKworCWlmICghb3B0c3RyKQorCQlyZXR1cm4gMTsKKworCWFzc2VydChuYW1lKTsKKworCW5hbWVzeiA9IHN0cmxlbihuYW1lKTsKKworCWRvIHsKKwkJcmMgPSBtbnRfb3B0c3RyX3BhcnNlX25leHQoJm9wdHN0ciwgJm4sICZuc3osCisJCQkJCSZvbC0+dmFsdWUsICZvbC0+dmFsc3opOworCQlpZiAocmMpCisJCQlicmVhazsKKworCQlpZiAobmFtZXN6ID09IG5zeiAmJiBzdHJuY21wKG4sIG5hbWUsIG5zeikgPT0gMCkgeworCQkJb2wtPmJlZ2luID0gbjsKKwkJCW9sLT5lbmQgPSAqKG9wdHN0ciAtIDEpID09ICcsJyA/IG9wdHN0ciAtIDEgOiBvcHRzdHI7CisJCQlvbC0+bmFtZXN6ID0gbnN6OworCQkJcmV0dXJuIDA7CisJCX0KKwl9IHdoaWxlKDEpOworCisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIG1udF9vcHRzdHJfbmV4dF9vcHRpb246CisgKiBAb3B0c3RyOiBvcHRpb24gc3RyaW5nLCByZXR1cm5zIHRoZSBwb3NpdGlvbiBvZiB0aGUgbmV4dCBvcHRpb24KKyAqIEBuYW1lOiByZXR1cm5zIHRoZSBvcHRpb24gbmFtZQorICogQG5hbWVzejogcmV0dXJucyB0aGUgb3B0aW9uIG5hbWUgbGVuZ3RoCisgKiBAdmFsdWU6IHJldHVybnMgdGhlIG9wdGlvbiB2YWx1ZSBvciBOVUxMCisgKiBAdmFsdWVzejogcmV0dXJucyB0aGUgb3B0aW9uIHZhbHVlIGxlbmd0aCBvciB6ZXJvCisgKgorICogUGFyc2VzIHRoZSBmaXJzdCBvcHRpb24gaW4gQG9wdHN0ci4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDEgYXQgdGhlIGVuZCBvZiBAb3B0c3RyIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mCisgKiBlcnJvci4KKyAqLworaW50IG1udF9vcHRzdHJfbmV4dF9vcHRpb24oY2hhciAqKm9wdHN0ciwgY2hhciAqKm5hbWUsIHNpemVfdCAqbmFtZXN6LAorCQkJCQljaGFyICoqdmFsdWUsIHNpemVfdCAqdmFsdWVzeikKK3sKKwlpZiAoIW9wdHN0ciB8fCAhKm9wdHN0cikKKwkJcmV0dXJuIC1FSU5WQUw7CisJcmV0dXJuIG1udF9vcHRzdHJfcGFyc2VfbmV4dChvcHRzdHIsIG5hbWUsIG5hbWVzeiwgdmFsdWUsIHZhbHVlc3opOworfQorCitzdGF0aWMgaW50IF9fbW50X29wdHN0cl9hcHBlbmRfb3B0aW9uKGNoYXIgKipvcHRzdHIsCisJCQljb25zdCBjaGFyICpuYW1lLCBzaXplX3QgbnN6LAorCQkJY29uc3QgY2hhciAqdmFsdWUsIHNpemVfdCB2c3opCit7CisJY2hhciAqcDsKKwlzaXplX3Qgc3osIG9zejsKKworCWFzc2VydChuYW1lKTsKKwlhc3NlcnQoKm5hbWUpOworCWFzc2VydChuc3opOworCWFzc2VydChvcHRzdHIpOworCisJb3N6ID0gKm9wdHN0ciA/IHN0cmxlbigqb3B0c3RyKSA6IDA7CisKKwlzeiA9IG9zeiArIG5zeiArIDE7CQkvKiAxOiAnXDAnICovCisJaWYgKG9zeikKKwkJc3orKzsJCQkvKiAnLCcgb3B0aW9ucyBzZXBhcmF0b3IgKi8KKwlpZiAodmFsdWUpCisJCXN6ICs9IHZzeiArIDE7CQkvKiAxOiAnPScgKi8KKworCXAgPSByZWFsbG9jKCpvcHRzdHIsIHN6KTsKKwlpZiAoIXApCisJCXJldHVybiAtRU5PTUVNOworCSpvcHRzdHIgPSBwOworCisJaWYgKG9zeikgeworCQlwICs9IG9zejsKKwkJKnArKyA9ICcsJzsKKwl9CisKKwltZW1jcHkocCwgbmFtZSwgbnN6KTsKKwlwICs9IG5zejsKKworCWlmICh2YWx1ZSkgeworCQkqcCsrID0gJz0nOworCQltZW1jcHkocCwgdmFsdWUsIHZzeik7CisJCXAgKz0gdnN6OworCX0KKwkqcCA9ICdcMCc7CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfb3B0c3RyX2FwcGVuZF9vcHRpb246CisgKiBAb3B0c3RyOiBvcHRpb24gc3RyaW5nIG9yIE5VTEwsIHJldHVybnMgYSByZWFsbG9jYXRlZCBzdHJpbmcKKyAqIEBuYW1lOiB2YWx1ZSBuYW1lCisgKiBAdmFsdWU6IHZhbHVlCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIDwwIGluIGNhc2Ugb2YgZXJyb3IuIEFmdGVyIGFuIGVycm9yIHRoZSBAb3B0c3RyIHNob3VsZAorICogICAgICAgICAgYmUgdW5tb2RpZmllZC4KKyAqLworaW50IG1udF9vcHRzdHJfYXBwZW5kX29wdGlvbihjaGFyICoqb3B0c3RyLCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICp2YWx1ZSkKK3sKKwlzaXplX3QgdnN6LCBuc3o7CisKKwlpZiAoIW9wdHN0cikKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKCFuYW1lIHx8ICEqbmFtZSkKKwkJcmV0dXJuIDA7CisKKwluc3ogPSBzdHJsZW4obmFtZSk7CisJdnN6ID0gdmFsdWUgPyBzdHJsZW4odmFsdWUpIDogMDsKKworCXJldHVybiBfX21udF9vcHRzdHJfYXBwZW5kX29wdGlvbihvcHRzdHIsIG5hbWUsIG5zeiwgdmFsdWUsIHZzeik7Cit9CisKKy8qKgorICogbW50X29wdHN0cl9wcmVwZW5kX29wdGlvbjoKKyAqIEBvcHRzdHI6IG9wdGlvbiBzdHJpbmcgb3IgTlVMTCwgcmV0dXJucyBhIHJlYWxsb2NhdGVkIHN0cmluZworICogQG5hbWU6IHZhbHVlIG5hbWUKKyAqIEB2YWx1ZTogdmFsdWUKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgPDAgaW4gY2FzZSBvZiBlcnJvci4gQWZ0ZXIgYW4gZXJyb3IgdGhlIEBvcHRzdHIgc2hvdWxkCisgKiAgICAgICAgICBiZSB1bm1vZGlmaWVkLgorICovCitpbnQgbW50X29wdHN0cl9wcmVwZW5kX29wdGlvbihjaGFyICoqb3B0c3RyLCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICp2YWx1ZSkKK3sKKwlpbnQgcmMgPSAwOworCWNoYXIgKnRtcDsKKworCWlmICghb3B0c3RyKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIW5hbWUgfHwgISpuYW1lKQorCQlyZXR1cm4gMDsKKworCXRtcCA9ICpvcHRzdHI7CisJKm9wdHN0ciA9IE5VTEw7CisKKwlyYyA9IG1udF9vcHRzdHJfYXBwZW5kX29wdGlvbihvcHRzdHIsIG5hbWUsIHZhbHVlKTsKKwlpZiAoIXJjICYmIHRtcCAmJiAqdG1wKQorCQlyYyA9IG1udF9vcHRzdHJfYXBwZW5kX29wdGlvbihvcHRzdHIsIHRtcCwgTlVMTCk7CisJaWYgKCFyYykgeworCQlmcmVlKHRtcCk7CisJCXJldHVybiAwOworCX0KKworCWZyZWUoKm9wdHN0cik7CisJKm9wdHN0ciA9IHRtcDsKKworCURCRyhPUFRJT05TLCB1bF9kZWJ1ZygiZmFpbGVkIHRvIHByZXBlbmQgJyVzWz0lc10nIHRvICclcyciLAorCQkJCW5hbWUsIHZhbHVlLCAqb3B0c3RyKSk7CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIG1udF9vcHRzdHJfZ2V0X29wdGlvbjoKKyAqIEBvcHRzdHI6IHN0cmluZyB3aXRoIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2Ygb3B0aW9ucworICogQG5hbWU6IHJlcXVlc3RlZCBvcHRpb24gbmFtZQorICogQHZhbHVlOiByZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSB2YWx1ZSAoZS5nLiBuYW1lPVZBTFVFKSBvciBOVUxMCisgKiBAdmFsc3o6IHJldHVybnMgc2l6ZSBvZiB0aGUgdmFsdWUgb3IgMAorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgMSB3aGVuIG5vdCBmb3VuZCB0aGUgQG5hbWUgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2UKKyAqIG9mIGVycm9yLgorICovCitpbnQgbW50X29wdHN0cl9nZXRfb3B0aW9uKGNvbnN0IGNoYXIgKm9wdHN0ciwgY29uc3QgY2hhciAqbmFtZSwKKwkJCSAgY2hhciAqKnZhbHVlLCBzaXplX3QgKnZhbHN6KQoreworCXN0cnVjdCBsaWJtbnRfb3B0bG9jIG9sOworCWludCByYzsKKworCWlmICghb3B0c3RyIHx8ICFuYW1lKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW1udF9pbml0X29wdGxvYygmb2wpOworCisJcmMgPSBtbnRfb3B0c3RyX2xvY2F0ZV9vcHRpb24oKGNoYXIgKikgb3B0c3RyLCBuYW1lLCAmb2wpOworCWlmICghcmMpIHsKKwkJaWYgKHZhbHVlKQorCQkJKnZhbHVlID0gb2wudmFsdWU7CisJCWlmICh2YWxzeikKKwkJCSp2YWxzeiA9IG9sLnZhbHN6OworCX0KKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogbW50X29wdHN0cl9kZWR1cGxpY2F0ZV9vcHRpb246CisgKiBAb3B0c3RyOiBzdHJpbmcgd2l0aCBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIG9wdGlvbnMKKyAqIEBuYW1lOiByZXF1ZXN0ZWQgb3B0aW9uIG5hbWUKKyAqCisgKiBSZW1vdmVzIGFsbCBpbnN0YW5jZXMgb2YgQG5hbWUgZXhjZXB0IHRoZSBsYXN0IG9uZS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDEgd2hlbiBub3QgZm91bmQgdGhlIEBuYW1lIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlCisgKiBvZiBlcnJvci4KKyAqLworaW50IG1udF9vcHRzdHJfZGVkdXBsaWNhdGVfb3B0aW9uKGNoYXIgKipvcHRzdHIsIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJaW50IHJjOworCWNoYXIgKmJlZ2luID0gTlVMTCwgKmVuZCA9IE5VTEwsICpvcHQ7CisKKwlpZiAoIW9wdHN0ciB8fCAhbmFtZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlvcHQgPSAqb3B0c3RyOworCWRvIHsKKwkJc3RydWN0IGxpYm1udF9vcHRsb2Mgb2w7CisKKwkJbW50X2luaXRfb3B0bG9jKCZvbCk7CisKKwkJcmMgPSBtbnRfb3B0c3RyX2xvY2F0ZV9vcHRpb24ob3B0LCBuYW1lLCAmb2wpOworCQlpZiAoIXJjKSB7CisJCQlpZiAoYmVnaW4pIHsKKwkJCQkvKiByZW1vdmUgdGhlIHByZXZpb3VzIGluc3RhbmNlICovCisJCQkJc2l6ZV90IHNoaWZ0ID0gc3RybGVuKCpvcHRzdHIpOworCisJCQkJbW50X29wdHN0cl9yZW1vdmVfb3B0aW9uX2F0KG9wdHN0ciwgYmVnaW4sIGVuZCk7CisKKwkJCQkvKiBub3cgYWxsIHRoZSBvZmZzZXRzIGFyZSBub3QgdmFsaWQgYW55bW9yZSAtIHJlY291bnQgKi8KKwkJCQlzaGlmdCAtPSBzdHJsZW4oKm9wdHN0cik7CisJCQkJb2wuYmVnaW4gLT0gc2hpZnQ7CisJCQkJb2wuZW5kIC09IHNoaWZ0OworCQkJfQorCQkJYmVnaW4gPSBvbC5iZWdpbjsKKwkJCWVuZCA9IG9sLmVuZDsKKwkJCW9wdCA9IGVuZCAmJiAqZW5kID8gZW5kICsgMSA6IE5VTEw7CisJCX0KKwl9IHdoaWxlIChyYyA9PSAwICYmIG9wdCAmJiAqb3B0KTsKKworCXJldHVybiByYyA8IDAgPyByYyA6IGJlZ2luID8gMCA6IDE7Cit9CisKKy8qCisgKiBUaGUgcmVzdWx0IG5ldmVyIHN0YXJ0cyBvciBlbmRzIHdpdGggYSBjb21tYSBvciBjb250YWlucyB0d28gY29tbWFzCisgKiAgICAoZS5nLiAiLGFhYSxiYmIiIG9yICJhYWEsLGJiYiIgb3IgImFhYSwiKQorICovCitpbnQgbW50X29wdHN0cl9yZW1vdmVfb3B0aW9uX2F0KGNoYXIgKipvcHRzdHIsIGNoYXIgKmJlZ2luLCBjaGFyICplbmQpCit7CisJc2l6ZV90IHN6OworCisJaWYgKCFvcHRzdHIgfHwgIWJlZ2luIHx8ICFlbmQpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKChiZWdpbiA9PSAqb3B0c3RyIHx8ICooYmVnaW4gLSAxKSA9PSAnLCcpICYmICplbmQgPT0gJywnKQorCQllbmQrKzsKKworCXN6ID0gc3RybGVuKGVuZCk7CisKKwltZW1tb3ZlKGJlZ2luLCBlbmQsIHN6ICsgMSk7CisJaWYgKCEqYmVnaW4gJiYgKGJlZ2luID4gKm9wdHN0cikgJiYgKihiZWdpbiAtIDEpID09ICcsJykKKwkJKihiZWdpbiAtIDEpID0gJ1wwJzsKKworCXJldHVybiAwOworfQorCisvKiBpbnNlcnQgJ3N1YnN0cicgb3IgJz1zdWJzdHInIHRvIEBzdHIgb24gcG9zaXRpb24gQHBvcyAqLworc3RhdGljIGludCBfX2F0dHJpYnV0ZV9fKChub25udWxsKDEsMiwzKSkpCitpbnNlcnRfdmFsdWUoY2hhciAqKnN0ciwgY2hhciAqcG9zLCBjb25zdCBjaGFyICpzdWJzdHIsIGNoYXIgKipuZXh0KQoreworCXNpemVfdCBzdWJzeiA9IHN0cmxlbihzdWJzdHIpOwkJCS8qIHN1YnN0cmluZyBzaXplICovCisJc2l6ZV90IHN0cnN6ID0gc3RybGVuKCpzdHIpOworCXNpemVfdCBwb3NzeiA9IHN0cmxlbihwb3MpOworCXNpemVfdCBwb3NvZmY7CisJY2hhciAqcCA9IE5VTEw7CisJaW50IHNlcDsKKworCS8qIGlzIGl0IG5lY2Vzc2FyeSB0byBwcmVwZW5kICc9JyBiZWZvcmUgdGhlIHN1YnN0cmluZyA/ICovCisJc2VwID0gIShwb3MgPiAqc3RyICYmICoocG9zIC0gMSkgPT0gJz0nKTsKKworCS8qIHNhdmUgYW4gb2Zmc2V0IG9mIHRoZSBwbGFjZSB3aGVyZSB3ZSBuZWVkIHRvIGFkZCBzdWJzdHIgKi8KKwlwb3NvZmYgPSBwb3MgLSAqc3RyOworCisJcCA9IHJlYWxsb2MoKnN0ciwgc3Ryc3ogKyBzZXAgKyBzdWJzeiArIDEpOworCWlmICghcCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwkvKiB6ZXJvaXplIHRoZSBuZXdseSBhbGxvY2F0ZWQgbWVtb3J5IC0tIHZhbGdyaW5kIGxvdmVzIHVzLi4uICovCisJbWVtc2V0KHAgKyBzdHJzeiwgMCwgc2VwICsgc3Vic3ogKyAxKTsKKworCS8qIHNldCBwb2ludGVycyB0byB0aGUgcmVhbGxvY2F0ZWQgc3RyaW5nICovCisJKnN0ciA9IHA7CisJcG9zID0gcCArIHBvc29mZjsKKworCWlmIChwb3NzeikKKwkJLyogY3JlYXRlIGEgcm9vbSBmb3IgdGhlIG5ldyBzdWJzdHJpbmcgKi8KKwkJbWVtbW92ZShwb3MgKyBzdWJzeiArIHNlcCwgcG9zLCBwb3NzeiArIDEpOworCWlmIChzZXApCisJCSpwb3MrKyA9ICc9JzsKKworCW1lbWNweShwb3MsIHN1YnN0ciwgc3Vic3opOworCisJaWYgKG5leHQpIHsKKwkJLyogc2V0IHBvaW50ZXIgdG8gdGhlIG5leHQgb3B0aW9uICovCisJCSpuZXh0ID0gcG9zICsgc3Vic3o7CisJCWlmICgqKm5leHQgPT0gJywnKQorCQkJKCpuZXh0KSsrOworCX0KKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfb3B0c3RyX3NldF9vcHRpb246CisgKiBAb3B0c3RyOiBzdHJpbmcgd2l0aCBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIG9wdGlvbnMKKyAqIEBuYW1lOiByZXF1ZXN0ZWQgb3B0aW9uCisgKiBAdmFsdWU6IG5ldyB2YWx1ZSBvciBOVUxMCisgKgorICogU2V0IG9yIHVuc2V0IHRoZSBvcHRpb24gQHZhbHVlLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgMSB3aGVuIG5vdCBmb3VuZCB0aGUgQG5hbWUgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2UKKyAqIG9mIGVycm9yLgorICovCitpbnQgbW50X29wdHN0cl9zZXRfb3B0aW9uKGNoYXIgKipvcHRzdHIsIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbHVlKQoreworCXN0cnVjdCBsaWJtbnRfb3B0bG9jIG9sOworCWNoYXIgKm5hbWVlbmQ7CisJaW50IHJjID0gMTsKKworCWlmICghb3B0c3RyIHx8ICFuYW1lKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW1udF9pbml0X29wdGxvYygmb2wpOworCisJaWYgKCpvcHRzdHIpCisJCXJjID0gbW50X29wdHN0cl9sb2NhdGVfb3B0aW9uKCpvcHRzdHIsIG5hbWUsICZvbCk7CisJaWYgKHJjIDwgMCkKKwkJcmV0dXJuIHJjOwkJCS8qIHBhcnNlIGVycm9yICovCisJaWYgKHJjID09IDEpCisJCXJldHVybiBtbnRfb3B0c3RyX2FwcGVuZF9vcHRpb24ob3B0c3RyLCBuYW1lLCB2YWx1ZSk7CS8qIG5vdCBmb3VuZCAqLworCisJbmFtZWVuZCA9IG9sLmJlZ2luICsgb2wubmFtZXN6OworCisJaWYgKHZhbHVlID09IE5VTEwgJiYgb2wudmFsdWUgJiYgb2wudmFsc3opCisJCS8qIHJlbW92ZSB1bndhbnRlZCAiPXZhbHVlIiAqLworCQltbnRfb3B0c3RyX3JlbW92ZV9vcHRpb25fYXQob3B0c3RyLCBuYW1lZW5kLCBvbC5lbmQpOworCisJZWxzZSBpZiAodmFsdWUgJiYgb2wudmFsdWUgPT0gTlVMTCkKKwkJLyogaW5zZXJ0ICI9dmFsdWUiICovCisJCXJjID0gaW5zZXJ0X3ZhbHVlKG9wdHN0ciwgbmFtZWVuZCwgdmFsdWUsIE5VTEwpOworCisJZWxzZSBpZiAodmFsdWUgJiYgb2wudmFsdWUgJiYgc3RybGVuKHZhbHVlKSA9PSBvbC52YWxzeikKKwkJLyogc2ltcGx5IHJlcGxhY2UgPXZhbHVlICovCisJCW1lbWNweShvbC52YWx1ZSwgdmFsdWUsIG9sLnZhbHN6KTsKKworCWVsc2UgaWYgKHZhbHVlICYmIG9sLnZhbHVlKSB7CisJCW1udF9vcHRzdHJfcmVtb3ZlX29wdGlvbl9hdChvcHRzdHIsIG5hbWVlbmQsIG9sLmVuZCk7CisJCXJjID0gaW5zZXJ0X3ZhbHVlKG9wdHN0ciwgbmFtZWVuZCwgdmFsdWUsIE5VTEwpOworCX0KKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogbW50X29wdHN0cl9yZW1vdmVfb3B0aW9uOgorICogQG9wdHN0cjogc3RyaW5nIHdpdGggYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBvcHRpb25zCisgKiBAbmFtZTogcmVxdWVzdGVkIG9wdGlvbiBuYW1lCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCAxIHdoZW4gbm90IGZvdW5kIHRoZSBAbmFtZSBvciBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZQorICogb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfb3B0c3RyX3JlbW92ZV9vcHRpb24oY2hhciAqKm9wdHN0ciwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlzdHJ1Y3QgbGlibW50X29wdGxvYyBvbDsKKwlpbnQgcmM7CisKKwlpZiAoIW9wdHN0ciB8fCAhbmFtZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwltbnRfaW5pdF9vcHRsb2MoJm9sKTsKKworCXJjID0gbW50X29wdHN0cl9sb2NhdGVfb3B0aW9uKCpvcHRzdHIsIG5hbWUsICZvbCk7CisJaWYgKHJjICE9IDApCisJCXJldHVybiByYzsKKworCW1udF9vcHRzdHJfcmVtb3ZlX29wdGlvbl9hdChvcHRzdHIsIG9sLmJlZ2luLCBvbC5lbmQpOworCXJldHVybiAwOworfQorCisvKioKKyAqIG1udF9zcGxpdF9vcHRzdHI6CisgKiBAb3B0c3RyOiBzdHJpbmcgd2l0aCBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBvcHRpb25zCisgKiBAdXNlcjogcmV0dXJucyBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nIHdpdGggdXNlcnNwYWNlIG9wdGlvbnMKKyAqIEB2ZnM6IHJldHVybnMgbmV3bHkgYWxsb2NhdGVkIHN0cmluZyB3aXRoIFZGUyBvcHRpb25zCisgKiBAZnM6IHJldHVybnMgbmV3bHkgYWxsb2NhdGVkIHN0cmluZyB3aXRoIEZTIG9wdGlvbnMKKyAqIEBpZ25vcmVfdXNlcjogb3B0aW9uIG1hc2sgZm9yIG9wdGlvbnMgdGhhdCBzaG91bGQgYmUgaWdub3JlZAorICogQGlnbm9yZV92ZnM6IG9wdGlvbiBtYXNrIGZvciBvcHRpb25zIHRoYXQgc2hvdWxkIGJlIGlnbm9yZWQKKyAqCisgKiBGb3IgZXhhbXBsZToKKyAqCisgKgltbnRfc3BsaXRfb3B0c3RyKG9wdHN0ciwgJnUsIE5VTEwsIE5VTEwsIE1OVF9OT01UQUIsIDApOworICoKKyAqIHJldHVybnMgYWxsIHVzZXJzcGFjZSBvcHRpb25zLCB0aGUgb3B0aW9ucyB0aGF0IGRvIG5vdCBiZWxvbmcgdG8KKyAqIG10YWIgYXJlIGlnbm9yZWQuCisgKgorICogTm90ZSB0aGF0IEZTIG9wdGlvbnMgYXJlIGFsbCBvcHRpb25zIHRoYXQgYXJlIHVuZGVmaW5lZCBpbiBNTlRfVVNFUlNQQUNFX01BUAorICogb3IgTU5UX0xJTlVYX01BUC4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG9yIGEgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfc3BsaXRfb3B0c3RyKGNvbnN0IGNoYXIgKm9wdHN0ciwgY2hhciAqKnVzZXIsIGNoYXIgKip2ZnMsCisJCSAgICAgY2hhciAqKmZzLCBpbnQgaWdub3JlX3VzZXIsIGludCBpZ25vcmVfdmZzKQoreworCWNoYXIgKm5hbWUsICp2YWwsICpzdHIgPSAoY2hhciAqKSBvcHRzdHI7CisJc2l6ZV90IG5hbWVzeiwgdmFsc3o7CisJc3RydWN0IGxpYm1udF9vcHRtYXAgY29uc3QgKm1hcHNbMl07CisKKwlpZiAoIW9wdHN0cikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwltYXBzWzBdID0gbW50X2dldF9idWlsdGluX29wdG1hcChNTlRfTElOVVhfTUFQKTsKKwltYXBzWzFdID0gbW50X2dldF9idWlsdGluX29wdG1hcChNTlRfVVNFUlNQQUNFX01BUCk7CisKKwlpZiAodmZzKQorCQkqdmZzID0gTlVMTDsKKwlpZiAoZnMpCisJCSpmcyA9IE5VTEw7CisJaWYgKHVzZXIpCisJCSp1c2VyID0gTlVMTDsKKworCXdoaWxlICghbW50X29wdHN0cl9uZXh0X29wdGlvbigmc3RyLCAmbmFtZSwgJm5hbWVzeiwgJnZhbCwgJnZhbHN6KSkgeworCQlpbnQgcmMgPSAwOworCQljb25zdCBzdHJ1Y3QgbGlibW50X29wdG1hcCAqZW50ID0gTlVMTDsKKwkJY29uc3Qgc3RydWN0IGxpYm1udF9vcHRtYXAgKm0gPQorCQkJIG1udF9vcHRtYXBfZ2V0X2VudHJ5KG1hcHMsIDIsIG5hbWUsIG5hbWVzeiwgJmVudCk7CisKKwkJaWYgKGVudCAmJiAhZW50LT5pZCkKKwkJCWNvbnRpbnVlOwkvKiBpZ25vcmUgdW5kZWZpbmVkIG9wdGlvbnMgKGNvbW1lbnRzKSAqLworCisJCS8qIGlnbm9yZSBuYW1lPTx2YWx1ZT4gaWYgb3B0aW9ucyBtYXAgZXhwZWN0cyA8bmFtZT4gb25seSAqLworCQlpZiAodmFsc3ogJiYgbW50X29wdG1hcF9lbnRyeV9ub3ZhbHVlKGVudCkpCisJCQltID0gTlVMTDsKKworCQlpZiAoZW50ICYmIG0gJiYgbSA9PSBtYXBzWzBdICYmIHZmcykgeworCQkJaWYgKGlnbm9yZV92ZnMgJiYgKGVudC0+bWFzayAmIGlnbm9yZV92ZnMpKQorCQkJCWNvbnRpbnVlOworCQkJcmMgPSBfX21udF9vcHRzdHJfYXBwZW5kX29wdGlvbih2ZnMsIG5hbWUsIG5hbWVzeiwKKwkJCQkJCQkJdmFsLCB2YWxzeik7CisJCX0gZWxzZSBpZiAoZW50ICYmIG0gJiYgbSA9PSBtYXBzWzFdICYmIHVzZXIpIHsKKwkJCWlmIChpZ25vcmVfdXNlciAmJiAoZW50LT5tYXNrICYgaWdub3JlX3VzZXIpKQorCQkJCWNvbnRpbnVlOworCQkJcmMgPSBfX21udF9vcHRzdHJfYXBwZW5kX29wdGlvbih1c2VyLCBuYW1lLCBuYW1lc3osCisJCQkJCQkJCXZhbCwgdmFsc3opOworCQl9IGVsc2UgaWYgKCFtICYmIGZzKQorCQkJcmMgPSBfX21udF9vcHRzdHJfYXBwZW5kX29wdGlvbihmcywgbmFtZSwgbmFtZXN6LAorCQkJCQkJCQl2YWwsIHZhbHN6KTsKKwkJaWYgKHJjKSB7CisJCQlpZiAodmZzKSB7CisJCQkJZnJlZSgqdmZzKTsKKwkJCQkqdmZzID0gTlVMTDsKKwkJCX0KKwkJCWlmIChmcykgeworCQkJCWZyZWUoKmZzKTsKKwkJCQkqZnMgPSBOVUxMOworCQkJfQorCQkJaWYgKHVzZXIpIHsKKwkJCQlmcmVlKCp1c2VyKTsKKwkJCQkqdXNlciA9IE5VTEw7CisJCQl9CisJCQlyZXR1cm4gcmM7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfb3B0c3RyX2dldF9vcHRpb25zCisgKiBAb3B0c3RyOiBzdHJpbmcgd2l0aCBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIG9wdGlvbnMKKyAqIEBzdWJzZXQ6IHJldHVybnMgbmV3bHkgYWxsb2NhdGVkIHN0cmluZyB3aXRoIG9wdGlvbnMKKyAqIEBtYXA6IG9wdGlvbnMgbWFwCisgKiBAaWdub3JlOiBtYXNrIG9mIHRoZSBvcHRpb25zIHRoYXQgc2hvdWxkIGJlIGlnbm9yZWQKKyAqCisgKiBFeHRyYWN0cyBvcHRpb25zIGZyb20gQG9wdHN0ciB0aGF0IGJlbG9uZyB0byB0aGUgQG1hcCwgZm9yIGV4YW1wbGU6CisgKgorICoJIG1udF9vcHRzdHJfZ2V0X29wdGlvbnMob3B0c3RyLCAmcCwKKyAqCQkJbW50X2dldF9idWlsdGluX29wdG1hcChNTlRfTElOVVhfTUFQKSwKKyAqCQkJTU5UX05PTVRBQik7CisgKgorICogdGhlICdwJyByZXR1cm5zIGFsbCBWRlMgb3B0aW9ucywgdGhlIG9wdGlvbnMgdGhhdCBkbyBub3QgYmVsb25nIHRvIG10YWIKKyAqIGFyZSBpZ25vcmVkLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2Vzcywgb3IgYSBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9vcHRzdHJfZ2V0X29wdGlvbnMoY29uc3QgY2hhciAqb3B0c3RyLCBjaGFyICoqc3Vic2V0LAorCQkJICAgIGNvbnN0IHN0cnVjdCBsaWJtbnRfb3B0bWFwICptYXAsIGludCBpZ25vcmUpCit7CisJc3RydWN0IGxpYm1udF9vcHRtYXAgY29uc3QgKm1hcHNbMV07CisJY2hhciAqbmFtZSwgKnZhbCwgKnN0ciA9IChjaGFyICopIG9wdHN0cjsKKwlzaXplX3QgbmFtZXN6LCB2YWxzejsKKworCWlmICghb3B0c3RyIHx8ICFzdWJzZXQpCisJCXJldHVybiAtRUlOVkFMOworCisJbWFwc1swXSA9IG1hcDsKKwkqc3Vic2V0ID0gTlVMTDsKKworCXdoaWxlKCFtbnRfb3B0c3RyX25leHRfb3B0aW9uKCZzdHIsICZuYW1lLCAmbmFtZXN6LCAmdmFsLCAmdmFsc3opKSB7CisJCWludCByYyA9IDA7CisJCWNvbnN0IHN0cnVjdCBsaWJtbnRfb3B0bWFwICplbnQ7CisKKwkJbW50X29wdG1hcF9nZXRfZW50cnkobWFwcywgMSwgbmFtZSwgbmFtZXN6LCAmZW50KTsKKworCQlpZiAoIWVudCB8fCAhZW50LT5pZCkKKwkJCWNvbnRpbnVlOwkvKiBpZ25vcmUgdW5kZWZpbmVkIG9wdGlvbnMgKGNvbW1lbnRzKSAqLworCisJCWlmIChpZ25vcmUgJiYgKGVudC0+bWFzayAmIGlnbm9yZSkpCisJCQljb250aW51ZTsKKworCQkvKiBpZ25vcmUgbmFtZT08dmFsdWU+IGlmIG9wdGlvbnMgbWFwIGV4cGVjdHMgPG5hbWU+IG9ubHkgKi8KKwkJaWYgKHZhbHN6ICYmIG1udF9vcHRtYXBfZW50cnlfbm92YWx1ZShlbnQpKQorCQkJY29udGludWU7CisKKwkJcmMgPSBfX21udF9vcHRzdHJfYXBwZW5kX29wdGlvbihzdWJzZXQsIG5hbWUsIG5hbWVzeiwgdmFsLCB2YWxzeik7CisJCWlmIChyYykgeworCQkJZnJlZSgqc3Vic2V0KTsKKwkJCXJldHVybiByYzsKKwkJfQorCX0KKworCXJldHVybiAwOworfQorCisKKy8qKgorICogbW50X29wdHN0cl9nZXRfZmxhZ3M6CisgKiBAb3B0c3RyOiBzdHJpbmcgd2l0aCBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBvcHRpb25zCisgKiBAZmxhZ3M6IHJldHVybnMgbW91bnQgZmxhZ3MKKyAqIEBtYXA6IG9wdGlvbnMgbWFwCisgKgorICogUmV0dXJucyBpbiBAZmxhZ3MgSURzIG9mIG9wdGlvbnMgZnJvbSBAb3B0c3RyIGFzIGRlZmluZWQgaW4gdGhlIEBtYXAuCisgKgorICogRm9yIGV4YW1wbGU6CisgKgorICoJImJpbmQsZXhlYyxmb28sYmFyIiAgIC0tcmV0dXJucy0+ICAgTVNfQklORAorICoKKyAqCSJiaW5kLG5vZXhlYyxmb28sYmFyIiAtLXJldHVybnMtPiAgIE1TX0JJTkR8TVNfTk9FWEVDCisgKgorICogTm90ZSB0aGF0IEBmbGFncyBhcmUgbm90IHplcm9pemVkIGJ5IHRoaXMgZnVuY3Rpb24hIFRoaXMgZnVuY3Rpb24gc2V0cy91bnNldHMKKyAqIGJpdHMgaW4gdGhlIEBmbGFncyBvbmx5LgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcyBvciBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQgbW50X29wdHN0cl9nZXRfZmxhZ3MoY29uc3QgY2hhciAqb3B0c3RyLCB1bnNpZ25lZCBsb25nICpmbGFncywKKwkJY29uc3Qgc3RydWN0IGxpYm1udF9vcHRtYXAgKm1hcCkKK3sKKwlzdHJ1Y3QgbGlibW50X29wdG1hcCBjb25zdCAqbWFwc1syXTsKKwljaGFyICpuYW1lLCAqc3RyID0gKGNoYXIgKikgb3B0c3RyOworCXNpemVfdCBuYW1lc3ogPSAwLCB2YWxzeiA9IDA7CisJaW50IG5tYXBzID0gMDsKKworCWlmICghb3B0c3RyIHx8ICFmbGFncyB8fCAhbWFwKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW1hcHNbbm1hcHMrK10gPSBtYXA7CisKKwlpZiAobWFwID09IG1udF9nZXRfYnVpbHRpbl9vcHRtYXAoTU5UX0xJTlVYX01BUCkpCisJCS8qCisJCSAqIEFkZCB1c2Vyc3BhY2UgbWFwIC0tIHRoZSAidXNlciIgaXMgaW50ZXJwcmV0ZWQgYXMKKwkJICogICAgICAgICAgICAgICAgICAgICAgTVNfTk97RVhFQyxTVUlELERFVn0uCisJCSAqLworCQltYXBzW25tYXBzKytdID0gbW50X2dldF9idWlsdGluX29wdG1hcChNTlRfVVNFUlNQQUNFX01BUCk7CisKKwl3aGlsZSghbW50X29wdHN0cl9uZXh0X29wdGlvbigmc3RyLCAmbmFtZSwgJm5hbWVzeiwgTlVMTCwgJnZhbHN6KSkgeworCQljb25zdCBzdHJ1Y3QgbGlibW50X29wdG1hcCAqZW50OworCQljb25zdCBzdHJ1Y3QgbGlibW50X29wdG1hcCAqbTsKKworCQltID0gbW50X29wdG1hcF9nZXRfZW50cnkobWFwcywgbm1hcHMsIG5hbWUsIG5hbWVzeiwgJmVudCk7CisJCWlmICghbSB8fCAhZW50IHx8ICFlbnQtPmlkKQorCQkJY29udGludWU7CisKKwkJLyogaWdub3JlIG5hbWU9PHZhbHVlPiBpZiBvcHRpb25zIG1hcCBleHBlY3RzIDxuYW1lPiBvbmx5ICovCisJCWlmICh2YWxzeiAmJiBtbnRfb3B0bWFwX2VudHJ5X25vdmFsdWUoZW50KSkKKwkJCWNvbnRpbnVlOworCisJCWlmIChtID09IG1hcCkgewkJCQkvKiByZXF1ZXN0ZWQgbWFwICovCisJCQlpZiAoZW50LT5tYXNrICYgTU5UX0lOVkVSVCkKKwkJCQkqZmxhZ3MgJj0gfmVudC0+aWQ7CisJCQllbHNlCisJCQkJKmZsYWdzIHw9IGVudC0+aWQ7CisKKwkJfSBlbHNlIGlmIChubWFwcyA9PSAyICYmIG0gPT0gbWFwc1sxXSAmJiB2YWxzeiA9PSAwKSB7CisJCQkvKgorCQkJICogU3BlY2lhbCBjYXNlIC0tIHRyYW5zbGF0ZSAidXNlciIgKGJ1dCBubyB1c2VyPSkgdG8KKwkJCSAqIE1TXyBvcHRpb25zCisJCQkgKi8KKwkJCWlmIChlbnQtPm1hc2sgJiBNTlRfSU5WRVJUKQorCQkJCWNvbnRpbnVlOworCQkJaWYgKGVudC0+aWQgJiAoTU5UX01TX09XTkVSIHwgTU5UX01TX0dST1VQKSkKKwkJCQkqZmxhZ3MgfD0gTVNfT1dORVJTRUNVUkU7CisJCQllbHNlIGlmIChlbnQtPmlkICYgKE1OVF9NU19VU0VSIHwgTU5UX01TX1VTRVJTKSkKKwkJCQkqZmxhZ3MgfD0gTVNfU0VDVVJFOworCQl9CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X29wdHN0cl9hcHBseV9mbGFnczoKKyAqIEBvcHRzdHI6IHN0cmluZyB3aXRoIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIG9wdGlvbnMKKyAqIEBmbGFnczogcmV0dXJucyBtb3VudCBmbGFncworICogQG1hcDogb3B0aW9ucyBtYXAKKyAqCisgKiBSZW1vdmVzL2FkZHMgb3B0aW9ucyB0byB0aGUgQG9wdHN0ciBhY2NvcmRpbmcgdG8gZmxhZ3MuIEZvciBleGFtcGxlOgorICoKKyAqCU1TX05PQVRJTUUgYW5kICJmb28sYmFyLG5vZXhlYyIgICAtLXJldHVybnMtPiAgImZvbyxiYXIsbm9hdGltZSIKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfb3B0c3RyX2FwcGx5X2ZsYWdzKGNoYXIgKipvcHRzdHIsIHVuc2lnbmVkIGxvbmcgZmxhZ3MsCisJCQkJY29uc3Qgc3RydWN0IGxpYm1udF9vcHRtYXAgKm1hcCkKK3sKKwlzdHJ1Y3QgbGlibW50X29wdG1hcCBjb25zdCAqbWFwc1sxXTsKKwljaGFyICpuYW1lLCAqbmV4dCwgKnZhbDsKKwlzaXplX3QgbmFtZXN6ID0gMCwgdmFsc3ogPSAwOworCXVuc2lnbmVkIGxvbmcgZmw7CisJaW50IHJjID0gMDsKKworCWlmICghb3B0c3RyIHx8ICFtYXApCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKENYVCwgdWxfZGVidWcoImFwcGx5aW5nIDB4JTA4bHUgZmxhZ3MgdG8gJyVzJyIsIGZsYWdzLCAqb3B0c3RyKSk7CisKKwltYXBzWzBdID0gbWFwOworCW5leHQgPSAqb3B0c3RyOworCWZsID0gZmxhZ3M7CisKKwkvKgorCSAqIFRoZXJlIGlzIGEgY29udmVudGlvbiB0aGF0ICdydy9ybycgZmxhZ3MgYXJlIGFsd2F5cyBhdCB0aGUgYmVnaW5uaW5nIG9mCisJICogdGhlIHN0cmluZyAoYWx0aG91Z2ggdGhlICdydycgaXMgdW5uZWNlc3NhcnkpLgorCSAqLworCWlmIChtYXAgPT0gbW50X2dldF9idWlsdGluX29wdG1hcChNTlRfTElOVVhfTUFQKSkgeworCQljb25zdCBjaGFyICpvID0gKGZsICYgTVNfUkRPTkxZKSA/ICJybyIgOiAicnciOworCisJCWlmIChuZXh0ICYmCisJCSAgICAoIXN0cm5jbXAobmV4dCwgInJ3IiwgMikgfHwgIXN0cm5jbXAobmV4dCwgInJvIiwgMikpICYmCisJCSAgICAoKihuZXh0ICsgMikgPT0gJ1wwJyB8fCAqKG5leHQgKyAyKSA9PSAnLCcpKSB7CisKKwkJCS8qIGFscmVhZHkgc2V0LCBiZSBwYXJhbm9pZCBhbmQgZml4IGl0ICovCisJCQltZW1jcHkobmV4dCwgbywgMik7CisJCX0gZWxzZSB7CisJCQlyYyA9IG1udF9vcHRzdHJfcHJlcGVuZF9vcHRpb24ob3B0c3RyLCBvLCBOVUxMKTsKKwkJCWlmIChyYykKKwkJCQlnb3RvIGVycjsKKwkJCW5leHQgPSAqb3B0c3RyOwkJLyogYmVjYXVzZSByZWFsbG9jKCkgKi8KKwkJfQorCQlmbCAmPSB+TVNfUkRPTkxZOworCQluZXh0ICs9IDI7CisJCWlmICgqbmV4dCA9PSAnLCcpCisJCQluZXh0Kys7CisJfQorCisJaWYgKG5leHQgJiYgKm5leHQpIHsKKwkJLyoKKwkJICogc2NhbiBAb3B0c3RyIGFuZCByZW1vdmUgb3B0aW9ucyB0aGF0IGFyZSBtaXNzaW5nIGluCisJCSAqIEBmbGFncworCQkgKi8KKwkJd2hpbGUoIW1udF9vcHRzdHJfbmV4dF9vcHRpb24oJm5leHQsICZuYW1lLCAmbmFtZXN6LAorCQkJCQkJCSZ2YWwsICZ2YWxzeikpIHsKKwkJCWNvbnN0IHN0cnVjdCBsaWJtbnRfb3B0bWFwICplbnQ7CisKKwkJCWlmIChtbnRfb3B0bWFwX2dldF9lbnRyeShtYXBzLCAxLCBuYW1lLCBuYW1lc3osICZlbnQpKSB7CisJCQkJLyoKKwkJCQkgKiByZW1vdmUgdW53YW50ZWQgb3B0aW9uIChydy9ybyBpcyBhbHJlYWR5IHNldCkKKwkJCQkgKi8KKwkJCQlpZiAoIWVudCB8fCAhZW50LT5pZCkKKwkJCQkJY29udGludWU7CisJCQkJLyogaWdub3JlIG5hbWU9PHZhbHVlPiBpZiBvcHRpb25zIG1hcCBleHBlY3RzIDxuYW1lPiBvbmx5ICovCisJCQkJaWYgKHZhbHN6ICYmIG1udF9vcHRtYXBfZW50cnlfbm92YWx1ZShlbnQpKQorCQkJCQljb250aW51ZTsKKworCQkJCWlmIChlbnQtPmlkID09IE1TX1JET05MWSB8fAorCQkJCSAgICAoZW50LT5tYXNrICYgTU5UX0lOVkVSVCkgfHwKKwkJCQkgICAgKGZsICYgZW50LT5pZCkgIT0gKHVuc2lnbmVkIGxvbmcpIGVudC0+aWQpIHsKKworCQkJCQljaGFyICplbmQgPSB2YWwgPyB2YWwgKyB2YWxzeiA6CisJCQkJCQkJICBuYW1lICsgbmFtZXN6OworCQkJCQluZXh0ID0gbmFtZTsKKwkJCQkJcmMgPSBtbnRfb3B0c3RyX3JlbW92ZV9vcHRpb25fYXQoCisJCQkJCQkJb3B0c3RyLCBuYW1lLCBlbmQpOworCQkJCQlpZiAocmMpCisJCQkJCQlnb3RvIGVycjsKKwkJCQl9CisJCQkJaWYgKCEoZW50LT5tYXNrICYgTU5UX0lOVkVSVCkpCisJCQkJCWZsICY9IH5lbnQtPmlkOworCQkJfQorCQl9CisJfQorCisJLyogYWRkIG1pc3Npbmcgb3B0aW9ucyAqLworCWlmIChmbCkgeworCQljb25zdCBzdHJ1Y3QgbGlibW50X29wdG1hcCAqZW50OworCQljaGFyICpwOworCisJCWZvciAoZW50ID0gbWFwOyBlbnQgJiYgZW50LT5uYW1lOyBlbnQrKykgeworCQkJaWYgKChlbnQtPm1hc2sgJiBNTlRfSU5WRVJUKQorCQkJICAgIHx8IGVudC0+aWQgPT0gMAorCQkJICAgIHx8IChmbCAmIGVudC0+aWQpICE9ICh1bnNpZ25lZCBsb25nKSBlbnQtPmlkKQorCQkJCWNvbnRpbnVlOworCisJCQkvKiBkb24ndCBhZGQgb3B0aW9ucyB3aGljaCByZXF1aXJlIHZhbHVlcyAoZS5nLiBvZmZzZXQ9JWQpICovCisJCQlwID0gc3RyY2hyKGVudC0+bmFtZSwgJz0nKTsKKwkJCWlmIChwKSB7CisJCQkJaWYgKHAgPiBlbnQtPm5hbWUgJiYgKihwIC0gMSkgPT0gJ1snKQorCQkJCQlwLS07CQkJLyogbmFtZVs9XSAqLworCQkJCWVsc2UKKwkJCQkJY29udGludWU7CQkvKiBuYW1lPSAqLworCisJCQkJcCA9IHN0cm5kdXAoZW50LT5uYW1lLCBwIC0gZW50LT5uYW1lKTsKKwkJCQlpZiAoIXApIHsKKwkJCQkJcmMgPSAtRU5PTUVNOworCQkJCQlnb3RvIGVycjsKKwkJCQl9CisJCQkJbW50X29wdHN0cl9hcHBlbmRfb3B0aW9uKG9wdHN0ciwgcCwgTlVMTCk7CisJCQkJZnJlZShwKTsKKwkJCX0gZWxzZQorCQkJCW1udF9vcHRzdHJfYXBwZW5kX29wdGlvbihvcHRzdHIsIGVudC0+bmFtZSwgTlVMTCk7CisJCX0KKwl9CisKKwlEQkcoQ1hULCB1bF9kZWJ1ZygibmV3IG9wdHN0ciAnJXMnIiwgKm9wdHN0cikpOworCXJldHVybiByYzsKK2VycjoKKwlEQkcoQ1hULCB1bF9kZWJ1ZygiZmFpbGVkIHRvIGFwcGx5IGZsYWdzIFtyYz0lZF0iLCByYykpOworCXJldHVybiByYzsKK30KKworLyoKKyAqIEBvcHRzdHI6IHN0cmluZyB3aXRoIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIG9wdGlvbnMKKyAqIEB2YWx1ZTogcG9pbnRlciB0byB0aGUgYmVnaW4gb2YgdGhlIGNvbnRleHQgdmFsdWUKKyAqIEB2YWxzejogc2l6ZSBvZiB0aGUgdmFsdWUKKyAqIEBuZXh0OiByZXR1cm5zIHBvaW50ZXIgdG8gdGhlIG5leHQgb3B0aW9uIChvcHRpb25hbCBhcmd1bWVudCkKKyAqCisgKiBUcmFuc2xhdGVzIFNFTGludXggY29udGV4dCBmcm9tIGh1bWFuIHRvIHJhdyBmb3JtYXQuIFRoZSBmdW5jdGlvbiBkb2VzIG5vdAorICogbW9kaWZ5IEBvcHRzdHIgYW5kIHJldHVybnMgemVybyBpZiBsaWJtb3VudCBpcyBjb21waWxlZCB3aXRob3V0IFNFTGludXgKKyAqIHN1cHBvcnQuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBhIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCisjaWZuZGVmIEhBVkVfTElCU0VMSU5VWAoraW50IG1udF9vcHRzdHJfZml4X3NlY29udGV4dChjaGFyICoqb3B0c3RyIF9fYXR0cmlidXRlX18gKChfX3VudXNlZF9fKSksCisJCQkgICAgIGNoYXIgKnZhbHVlICAgX19hdHRyaWJ1dGVfXyAoKF9fdW51c2VkX18pKSwKKwkJCSAgICAgc2l6ZV90IHZhbHN6ICBfX2F0dHJpYnV0ZV9fICgoX191bnVzZWRfXykpLAorCQkJICAgICBjaGFyICoqbmV4dCAgIF9fYXR0cmlidXRlX18gKChfX3VudXNlZF9fKSkpCit7CisJcmV0dXJuIDA7Cit9CisjZWxzZQoraW50IG1udF9vcHRzdHJfZml4X3NlY29udGV4dChjaGFyICoqb3B0c3RyLAorCQkJICAgICBjaGFyICp2YWx1ZSwKKwkJCSAgICAgc2l6ZV90IHZhbHN6LAorCQkJICAgICBjaGFyICoqbmV4dCkKK3sKKwlpbnQgcmMgPSAwOworCisJc2VjdXJpdHlfY29udGV4dF90IHJhdyA9IE5VTEw7CisJY2hhciAqcCwgKnZhbCwgKmJlZ2luLCAqZW5kOworCXNpemVfdCBzejsKKworCWlmICghb3B0c3RyIHx8ICEqb3B0c3RyIHx8ICF2YWx1ZSB8fCAhdmFsc3opCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKENYVCwgdWxfZGVidWcoImZpeGluZyBTRUxpbnV4IGNvbnRleHQiKSk7CisKKwliZWdpbiA9IHZhbHVlOworCWVuZCA9IHZhbHVlICsgdmFsc3o7CisKKwkvKiB0aGUgc2VsaW51eCBjb250ZXh0cyBhcmUgcXVvdGVkICovCisJaWYgKCp2YWx1ZSA9PSAnIicpIHsKKwkJaWYgKHZhbHN6IDw9IDIgfHwgKih2YWx1ZSArIHZhbHN6IC0gMSkgIT0gJyInKQorCQkJcmV0dXJuIC1FSU5WQUw7CQkvKiBpbXByb3Blcmx5IHF1b3RlZCBvcHRpb24gc3RyaW5nICovCisJCXZhbHVlKys7CisJCXZhbHN6IC09IDI7CisJfQorCisJcCA9IHN0cm5kdXAodmFsdWUsIHZhbHN6KTsKKwlpZiAoIXApCisJCXJldHVybiAtRU5PTUVNOworCisKKwkvKiB0cmFuc2xhdGUgdGhlIGNvbnRleHQgKi8KKwlyYyA9IHNlbGludXhfdHJhbnNfdG9fcmF3X2NvbnRleHQoKHNlY3VyaXR5X2NvbnRleHRfdCkgcCwgJnJhdyk7CisKKwlEQkcoQ1hULCB1bF9kZWJ1ZygiU0VMaW51eCBjb250ZXh0ICclcycgdHJhbnNsYXRlZCB0byAnJXMnIiwKKwkJCXAsIHJjID09IC0xID8gIkZBSUxFRCIgOiAoY2hhciAqKSByYXcpKTsKKworCWZyZWUocCk7CisJaWYgKHJjID09IC0xIHx8CSFyYXcpCisJCXJldHVybiAtRUlOVkFMOworCisKKwkvKiBjcmVhdGUgYSBxdW90ZWQgc3RyaW5nIGZyb20gdGhlIHJhdyBjb250ZXh0ICovCisJc3ogPSBzdHJsZW4oKGNoYXIgKikgcmF3KTsKKwlpZiAoIXN6KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXAgPSB2YWwgPSBtYWxsb2ModmFsc3ogKyAzKTsKKwlpZiAoIXZhbCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwkqcCsrID0gJyInOworCW1lbWNweShwLCByYXcsIHN6KTsKKwlwICs9IHN6OworCSpwKysgPSAnIic7CisJKnAgPSAnXDAnOworCisJZnJlZWNvbihyYXcpOworCisJLyogc2V0IG5ldyBjb250ZXh0ICovCisJbW50X29wdHN0cl9yZW1vdmVfb3B0aW9uX2F0KG9wdHN0ciwgYmVnaW4sIGVuZCk7CisJcmMgPSBpbnNlcnRfdmFsdWUob3B0c3RyLCBiZWdpbiwgdmFsLCBuZXh0KTsKKwlmcmVlKHZhbCk7CisKKwlyZXR1cm4gcmM7Cit9CisjZW5kaWYKKworc3RhdGljIGludCBzZXRfdWludF92YWx1ZShjaGFyICoqb3B0c3RyLCB1bnNpZ25lZCBpbnQgbnVtLAorCQkJY2hhciAqYmVnaW4sIGNoYXIgKmVuZCwgY2hhciAqKm5leHQpCit7CisJY2hhciBidWZbNDBdOworCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIldSIsIG51bSk7CisKKwltbnRfb3B0c3RyX3JlbW92ZV9vcHRpb25fYXQob3B0c3RyLCBiZWdpbiwgZW5kKTsKKwlyZXR1cm4gaW5zZXJ0X3ZhbHVlKG9wdHN0ciwgYmVnaW4sIGJ1ZiwgbmV4dCk7Cit9CisKKy8qCisgKiBAb3B0c3RyOiBzdHJpbmcgd2l0aCBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIG9wdGlvbnMKKyAqIEB2YWx1ZTogcG9pbnRlciB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSB1aWQgdmFsdWUKKyAqIEB2YWxzejogc2l6ZSBvZiB0aGUgdmFsdWUKKyAqIEBuZXh0OiByZXR1cm5zIHBvaW50ZXIgdG8gdGhlIG5leHQgb3B0aW9uIChvcHRpb25hbCBhcmd1bWVudCkKKworICogVHJhbnNsYXRlcyAidXNlcm5hbWUiIG9yICJ1c2VydWlkIiB0byB0aGUgcmVhbCBVSUQuCisgKgorICogRm9yIGV4YW1wbGU6CisgKglpZiAoIW1udF9vcHRzdHJfZ2V0X29wdGlvbihvcHRzdHIsICJ1aWQiLCAmdmFsLCAmdmFsc3opKQorICoJCW1udF9vcHRzdHJfZml4X3VpZCgmb3B0c3RyLCB2YWwsIHZhbHN6LCBOVUxMKTsKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIGEgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfb3B0c3RyX2ZpeF91aWQoY2hhciAqKm9wdHN0ciwgY2hhciAqdmFsdWUsIHNpemVfdCB2YWxzeiwgY2hhciAqKm5leHQpCit7CisJY2hhciAqZW5kOworCisJaWYgKCFvcHRzdHIgfHwgISpvcHRzdHIgfHwgIXZhbHVlIHx8ICF2YWxzeikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoQ1hULCB1bF9kZWJ1ZygiZml4aW5nIHVpZCIpKTsKKworCWVuZCA9IHZhbHVlICsgdmFsc3o7CisKKwlpZiAodmFsc3ogPT0gNyAmJiAhc3RybmNtcCh2YWx1ZSwgInVzZXJ1aWQiLCA3KSAmJgorCSAgICAoKih2YWx1ZSArIDcpID09ICcsJyB8fCAhKih2YWx1ZSArIDcpKSkKKwkJcmV0dXJuIHNldF91aW50X3ZhbHVlKG9wdHN0ciwgZ2V0dWlkKCksIHZhbHVlLCBlbmQsIG5leHQpOworCisJZWxzZSBpZiAoIWlzZGlnaXQoKnZhbHVlKSkgeworCQl1aWRfdCBpZDsKKwkJaW50IHJjOworCQljaGFyICpwID0gc3RybmR1cCh2YWx1ZSwgdmFsc3opOworCQlpZiAoIXApCisJCQlyZXR1cm4gLUVOT01FTTsKKwkJcmMgPSBtbnRfZ2V0X3VpZChwLCAmaWQpOworCQlmcmVlKHApOworCisJCWlmICghcmMpCisJCQlyZXR1cm4gc2V0X3VpbnRfdmFsdWUob3B0c3RyLCBpZCwgdmFsdWUsIGVuZCwgbmV4dCk7CisJfQorCisJaWYgKG5leHQpIHsKKwkJLyogbm8gY2hhbmdlLCBsZXQncyBrZWVwIHRoZSBvcmlnaW5hbCB2YWx1ZSAqLworCQkqbmV4dCA9IHZhbHVlICsgdmFsc3o7CisJCWlmICgqKm5leHQgPT0gJywnKQorCQkJKCpuZXh0KSsrOworCX0KKworCXJldHVybiAwOworfQorCisvKgorICogQG9wdHN0cjogc3RyaW5nIHdpdGggYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBvcHRpb25zCisgKiBAdmFsdWU6IHBvaW50ZXIgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgdWlkIHZhbHVlCisgKiBAdmFsc3o6IHNpemUgb2YgdGhlIHZhbHVlCisgKiBAbmV4dDogcmV0dXJucyBwb2ludGVyIHRvIHRoZSBuZXh0IG9wdGlvbiAob3B0aW9uYWwgYXJndW1lbnQpCisKKyAqIFRyYW5zbGF0ZXMgImdyb3VwbmFtZSIgb3IgInVzZXJnaWQiIHRvIHRoZSByZWFsIEdJRC4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIGEgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfb3B0c3RyX2ZpeF9naWQoY2hhciAqKm9wdHN0ciwgY2hhciAqdmFsdWUsIHNpemVfdCB2YWxzeiwgY2hhciAqKm5leHQpCit7CisJY2hhciAqZW5kOworCisJaWYgKCFvcHRzdHIgfHwgISpvcHRzdHIgfHwgIXZhbHVlIHx8ICF2YWxzeikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoQ1hULCB1bF9kZWJ1ZygiZml4aW5nIGdpZCIpKTsKKworCWVuZCA9IHZhbHVlICsgdmFsc3o7CisKKwlpZiAodmFsc3ogPT0gNyAmJiAhc3RybmNtcCh2YWx1ZSwgInVzZXJnaWQiLCA3KSAmJgorCSAgICAoKih2YWx1ZSArIDcpID09ICcsJyB8fCAhKih2YWx1ZSArIDcpKSkKKwkJcmV0dXJuIHNldF91aW50X3ZhbHVlKG9wdHN0ciwgZ2V0Z2lkKCksIHZhbHVlLCBlbmQsIG5leHQpOworCisJZWxzZSBpZiAoIWlzZGlnaXQoKnZhbHVlKSkgeworCQlpbnQgcmM7CisJCWdpZF90IGlkOworCQljaGFyICpwID0gc3RybmR1cCh2YWx1ZSwgdmFsc3opOworCQlpZiAoIXApCisJCQlyZXR1cm4gLUVOT01FTTsKKwkJcmMgPSBtbnRfZ2V0X2dpZChwLCAmaWQpOworCQlmcmVlKHApOworCisJCWlmICghcmMpCisJCQlyZXR1cm4gc2V0X3VpbnRfdmFsdWUob3B0c3RyLCBpZCwgdmFsdWUsIGVuZCwgbmV4dCk7CisKKwl9CisKKwlpZiAobmV4dCkgeworCQkvKiBub3RoaW5nICovCisJCSpuZXh0ID0gdmFsdWUgKyB2YWxzejsKKwkJaWYgKCoqbmV4dCA9PSAnLCcpCisJCQkoKm5leHQpKys7CisJfQorCXJldHVybiAwOworfQorCisvKgorICogQ29udmVydHMgInVzZXIiIHRvICJ1c2VyPTx1c2VybmFtZT4iLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfb3B0c3RyX2ZpeF91c2VyKGNoYXIgKipvcHRzdHIpCit7CisJY2hhciAqdXNlcm5hbWU7CisJc3RydWN0IGxpYm1udF9vcHRsb2Mgb2w7CisJaW50IHJjID0gMDsKKworCURCRyhDWFQsIHVsX2RlYnVnKCJmaXhpbmcgdXNlciIpKTsKKworCW1udF9pbml0X29wdGxvYygmb2wpOworCisJcmMgPSBtbnRfb3B0c3RyX2xvY2F0ZV9vcHRpb24oKm9wdHN0ciwgInVzZXIiLCAmb2wpOworCWlmIChyYykKKwkJcmV0dXJuIHJjID09IDEgPyAwIDogcmM7CS8qIDE6IHVzZXI9IG5vdCBmb3VuZCAqLworCisJdXNlcm5hbWUgPSBtbnRfZ2V0X3VzZXJuYW1lKGdldHVpZCgpKTsKKwlpZiAoIXVzZXJuYW1lKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWlmICghb2wudmFsc3ogfHwgKG9sLnZhbHVlICYmIHN0cm5jbXAob2wudmFsdWUsIHVzZXJuYW1lLCBvbC52YWxzeikpKSB7CisJCWlmIChvbC52YWxzeikKKwkJCS8qIHJlbW92ZSBvbGQgdmFsdWUgKi8KKwkJCW1udF9vcHRzdHJfcmVtb3ZlX29wdGlvbl9hdChvcHRzdHIsIG9sLnZhbHVlLCBvbC5lbmQpOworCisJCXJjID0gaW5zZXJ0X3ZhbHVlKG9wdHN0ciwgb2wudmFsdWUgPyBvbC52YWx1ZSA6IG9sLmVuZCwKKwkJCQkgIHVzZXJuYW1lLCBOVUxMKTsKKwl9CisKKwlmcmVlKHVzZXJuYW1lKTsKKwlyZXR1cm4gcmM7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU0KKworc3RhdGljIGludCB0ZXN0X2FwcGVuZChzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNvbnN0IGNoYXIgKnZhbHVlID0gTlVMTCwgKm5hbWU7CisJY2hhciAqb3B0c3RyOworCWludCByYzsKKworCWlmIChhcmdjIDwgMykKKwkJcmV0dXJuIC1FSU5WQUw7CisJb3B0c3RyID0gc3RyZHVwKGFyZ3ZbMV0pOworCW5hbWUgPSBhcmd2WzJdOworCisJaWYgKGFyZ2MgPT0gNCkKKwkJdmFsdWUgPSBhcmd2WzNdOworCisJcmMgPSBtbnRfb3B0c3RyX2FwcGVuZF9vcHRpb24oJm9wdHN0ciwgbmFtZSwgdmFsdWUpOworCWlmICghcmMpCisJCXByaW50ZigicmVzdWx0OiA+JXM8XG4iLCBvcHRzdHIpOworCWZyZWUob3B0c3RyKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9wcmVwZW5kKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY29uc3QgY2hhciAqdmFsdWUgPSBOVUxMLCAqbmFtZTsKKwljaGFyICpvcHRzdHI7CisJaW50IHJjOworCisJaWYgKGFyZ2MgPCAzKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlvcHRzdHIgPSBzdHJkdXAoYXJndlsxXSk7CisJbmFtZSA9IGFyZ3ZbMl07CisKKwlpZiAoYXJnYyA9PSA0KQorCQl2YWx1ZSA9IGFyZ3ZbM107CisKKwlyYyA9IG1udF9vcHRzdHJfcHJlcGVuZF9vcHRpb24oJm9wdHN0ciwgbmFtZSwgdmFsdWUpOworCWlmICghcmMpCisJCXByaW50ZigicmVzdWx0OiA+JXM8XG4iLCBvcHRzdHIpOworCWZyZWUob3B0c3RyKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9zcGxpdChzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNoYXIgKm9wdHN0ciwgKnVzZXIgPSBOVUxMLCAqZnMgPSBOVUxMLCAqdmZzID0gTlVMTDsKKwlpbnQgcmM7CisKKwlpZiAoYXJnYyA8IDIpCisJCXJldHVybiAtRUlOVkFMOworCisJb3B0c3RyID0gc3RyZHVwKGFyZ3ZbMV0pOworCisJcmMgPSBtbnRfc3BsaXRfb3B0c3RyKG9wdHN0ciwgJnVzZXIsICZ2ZnMsICZmcywgMCwgMCk7CisJaWYgKCFyYykgeworCQlwcmludGYoInVzZXIgOiAlc1xuIiwgdXNlcik7CisJCXByaW50ZigidmZzICA6ICVzXG4iLCB2ZnMpOworCQlwcmludGYoImZzICAgOiAlc1xuIiwgZnMpOworCX0KKworCWZyZWUodXNlcik7CisJZnJlZSh2ZnMpOworCWZyZWUoZnMpOworCWZyZWUob3B0c3RyKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9mbGFncyhzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNoYXIgKm9wdHN0cjsKKwlpbnQgcmM7CisJdW5zaWduZWQgbG9uZyBmbCA9IDA7CisKKwlpZiAoYXJnYyA8IDIpCisJCXJldHVybiAtRUlOVkFMOworCisJb3B0c3RyID0gc3RyZHVwKGFyZ3ZbMV0pOworCisJcmMgPSBtbnRfb3B0c3RyX2dldF9mbGFncyhvcHRzdHIsICZmbCwgbW50X2dldF9idWlsdGluX29wdG1hcChNTlRfTElOVVhfTUFQKSk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisJcHJpbnRmKCJtb3VudGZsYWdzOiAgICAgICAgICAgMHglMDhseFxuIiwgZmwpOworCisJZmwgPSAwOworCXJjID0gbW50X29wdHN0cl9nZXRfZmxhZ3Mob3B0c3RyLCAmZmwsIG1udF9nZXRfYnVpbHRpbl9vcHRtYXAoTU5UX1VTRVJTUEFDRV9NQVApKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKwlwcmludGYoInVzZXJzcGFjZS1tb3VudGZsYWdzOiAweCUwOGx4XG4iLCBmbCk7CisKKwlmcmVlKG9wdHN0cik7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHRlc3RfYXBwbHkoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwljaGFyICpvcHRzdHI7CisJaW50IHJjLCBtYXA7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCWlmIChhcmdjIDwgNCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoIXN0cmNtcChhcmd2WzFdLCAiLS11c2VyIikpCisJCW1hcCA9IE1OVF9VU0VSU1BBQ0VfTUFQOworCWVsc2UgaWYgKCFzdHJjbXAoYXJndlsxXSwgIi0tbGludXgiKSkKKwkJbWFwID0gTU5UX0xJTlVYX01BUDsKKwllbHNlIHsKKwkJZnByaW50ZihzdGRlcnIsICJ1bmtub3duIG9wdGlvbiAnJXMnXG4iLCBhcmd2WzFdKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJb3B0c3RyID0gc3RyZHVwKGFyZ3ZbMl0pOworCWZsYWdzID0gc3RydG91bChhcmd2WzNdLCBOVUxMLCAxNik7CisKKwlwcmludGYoImZsYWdzOiAgMHglMDhseFxuIiwgZmxhZ3MpOworCisJcmMgPSBtbnRfb3B0c3RyX2FwcGx5X2ZsYWdzKCZvcHRzdHIsIGZsYWdzLCBtbnRfZ2V0X2J1aWx0aW5fb3B0bWFwKG1hcCkpOworCXByaW50Zigib3B0c3RyOiAlc1xuIiwgb3B0c3RyKTsKKworCWZyZWUob3B0c3RyKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9zZXQoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwljb25zdCBjaGFyICp2YWx1ZSA9IE5VTEwsICpuYW1lOworCWNoYXIgKm9wdHN0cjsKKwlpbnQgcmM7CisKKwlpZiAoYXJnYyA8IDMpCisJCXJldHVybiAtRUlOVkFMOworCW9wdHN0ciA9IHN0cmR1cChhcmd2WzFdKTsKKwluYW1lID0gYXJndlsyXTsKKworCWlmIChhcmdjID09IDQpCisJCXZhbHVlID0gYXJndlszXTsKKworCXJjID0gbW50X29wdHN0cl9zZXRfb3B0aW9uKCZvcHRzdHIsIG5hbWUsIHZhbHVlKTsKKwlpZiAoIXJjKQorCQlwcmludGYoInJlc3VsdDogPiVzPFxuIiwgb3B0c3RyKTsKKwlmcmVlKG9wdHN0cik7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHRlc3RfZ2V0KHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY2hhciAqb3B0c3RyOworCWNvbnN0IGNoYXIgKm5hbWU7CisJY2hhciAqdmFsID0gTlVMTDsKKwlzaXplX3Qgc3ogPSAwOworCWludCByYzsKKworCWlmIChhcmdjIDwgMikKKwkJcmV0dXJuIC1FSU5WQUw7CisJb3B0c3RyID0gYXJndlsxXTsKKwluYW1lID0gYXJndlsyXTsKKworCXJjID0gbW50X29wdHN0cl9nZXRfb3B0aW9uKG9wdHN0ciwgbmFtZSwgJnZhbCwgJnN6KTsKKwlpZiAocmMgPT0gMCkgeworCQlwcmludGYoImZvdW5kOyBuYW1lOiAlcyIsIG5hbWUpOworCQlpZiAoc3opIHsKKwkJCXByaW50ZigiLCBhcmd1bWVudDogc2l6ZT0lemQgZGF0YT0iLCBzeik7CisJCQlpZiAoZndyaXRlKHZhbCwgMSwgc3osIHN0ZG91dCkgIT0gc3opCisJCQkJcmV0dXJuIC0xOworCQl9CisJCXByaW50ZigiXG4iKTsKKwl9IGVsc2UgaWYgKHJjID09IDEpCisJCXByaW50ZigiJXM6IG5vdCBmb3VuZFxuIiwgbmFtZSk7CisJZWxzZQorCQlwcmludGYoInBhcnNlIGVycm9yOiAlc1xuIiwgb3B0c3RyKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9yZW1vdmUoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwljb25zdCBjaGFyICpuYW1lOworCWNoYXIgKm9wdHN0cjsKKwlpbnQgcmM7CisKKwlpZiAoYXJnYyA8IDMpCisJCXJldHVybiAtRUlOVkFMOworCW9wdHN0ciA9IHN0cmR1cChhcmd2WzFdKTsKKwluYW1lID0gYXJndlsyXTsKKworCXJjID0gbW50X29wdHN0cl9yZW1vdmVfb3B0aW9uKCZvcHRzdHIsIG5hbWUpOworCWlmICghcmMpCisJCXByaW50ZigicmVzdWx0OiA+JXM8XG4iLCBvcHRzdHIpOworCWZyZWUob3B0c3RyKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9kZWR1cChzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNvbnN0IGNoYXIgKm5hbWU7CisJY2hhciAqb3B0c3RyOworCWludCByYzsKKworCWlmIChhcmdjIDwgMykKKwkJcmV0dXJuIC1FSU5WQUw7CisJb3B0c3RyID0gc3RyZHVwKGFyZ3ZbMV0pOworCW5hbWUgPSBhcmd2WzJdOworCisJcmMgPSBtbnRfb3B0c3RyX2RlZHVwbGljYXRlX29wdGlvbigmb3B0c3RyLCBuYW1lKTsKKwlpZiAoIXJjKQorCQlwcmludGYoInJlc3VsdDogPiVzPFxuIiwgb3B0c3RyKTsKKwlmcmVlKG9wdHN0cik7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHRlc3RfZml4KHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY2hhciAqb3B0c3RyOworCWludCByYyA9IDA7CisJY2hhciAqbmFtZSwgKnZhbCwgKm5leHQ7CisJc2l6ZV90IHZhbHN6LCBuYW1lc3o7CisKKwlpZiAoYXJnYyA8IDIpCisJCXJldHVybiAtRUlOVkFMOworCisJbmV4dCA9IG9wdHN0ciA9IHN0cmR1cChhcmd2WzFdKTsKKworCXByaW50Zigib3B0c3RyOiAlc1xuIiwgb3B0c3RyKTsKKworCXdoaWxlICghbW50X29wdHN0cl9uZXh0X29wdGlvbigmbmV4dCwgJm5hbWUsICZuYW1lc3osICZ2YWwsICZ2YWxzeikpIHsKKworCQlpZiAoIXN0cm5jbXAobmFtZSwgInVpZCIsIDMpKQorCQkJcmMgPSBtbnRfb3B0c3RyX2ZpeF91aWQoJm9wdHN0ciwgdmFsLCB2YWxzeiwgJm5leHQpOworCQllbHNlIGlmICghc3RybmNtcChuYW1lLCAiZ2lkIiwgMykpCisJCQlyYyA9IG1udF9vcHRzdHJfZml4X2dpZCgmb3B0c3RyLCB2YWwsIHZhbHN6LCAmbmV4dCk7CisJCWVsc2UgaWYgKCFzdHJuY21wKG5hbWUsICJjb250ZXh0IiwgNykpCisJCQlyYyA9IG1udF9vcHRzdHJfZml4X3NlY29udGV4dCgmb3B0c3RyLCB2YWwsIHZhbHN6LCAmbmV4dCk7CisJCWlmIChyYykKKwkJCWJyZWFrOworCX0KKwlpZiAocmMpCisJCXJjID0gbW50X29wdHN0cl9maXhfdXNlcigmb3B0c3RyKTsKKworCXByaW50ZigiZml4ZWQ6ICAlc1xuIiwgb3B0c3RyKTsKKworCWZyZWUob3B0c3RyKTsKKwlyZXR1cm4gcmM7CisKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgbGlibW50X3Rlc3QgdHNzW10gPSB7CisJCXsgIi0tYXBwZW5kIiwgdGVzdF9hcHBlbmQsICI8b3B0c3RyPiA8bmFtZT4gWzx2YWx1ZT5dICBhcHBlbmQgdmFsdWUgdG8gb3B0c3RyIiB9LAorCQl7ICItLXByZXBlbmQiLHRlc3RfcHJlcGVuZCwiPG9wdHN0cj4gPG5hbWU+IFs8dmFsdWU+XSAgcHJlcGVuZCB2YWx1ZSB0byBvcHRzdHIiIH0sCisJCXsgIi0tc2V0IiwgICAgdGVzdF9zZXQsICAgICI8b3B0c3RyPiA8bmFtZT4gWzx2YWx1ZT5dICAodW4pc2V0IHZhbHVlIiB9LAorCQl7ICItLWdldCIsICAgIHRlc3RfZ2V0LCAgICAiPG9wdHN0cj4gPG5hbWU+ICAgICAgICAgICAgc2VhcmNoIG5hbWUgaW4gb3B0c3RyIiB9LAorCQl7ICItLXJlbW92ZSIsIHRlc3RfcmVtb3ZlLCAiPG9wdHN0cj4gPG5hbWU+ICAgICAgICAgICAgcmVtb3ZlIG5hbWUgaW4gb3B0c3RyIiB9LAorCQl7ICItLWRlZHVwIiwgIHRlc3RfZGVkdXAsICAiPG9wdHN0cj4gPG5hbWU+ICAgICAgICAgICAgZGVkdXBsaWNhdGUgbmFtZSBpbiBvcHRzdHIiIH0sCisJCXsgIi0tc3BsaXQiLCAgdGVzdF9zcGxpdCwgICI8b3B0c3RyPiAgICAgICAgICAgICAgICAgICBzcGxpdCBpbnRvIEZTLCBWRlMgYW5kIHVzZXJzcGFjZSIgfSwKKwkJeyAiLS1mbGFncyIsICB0ZXN0X2ZsYWdzLCAgIjxvcHRzdHI+ICAgICAgICAgICAgICAgICAgIGNvbnZlcnQgb3B0aW9ucyB0byBNU18qIGZsYWdzIiB9LAorCQl7ICItLWFwcGx5IiwgIHRlc3RfYXBwbHksICAiLS17bGludXgsdXNlcn0gPG9wdHN0cj4gPG1hc2s+ICAgIGFwcGx5IG1hc2sgdG8gb3B0c3RyIiB9LAorCQl7ICItLWZpeCIsICAgIHRlc3RfZml4LCAgICAiPG9wdHN0cj4gICAgICAgICAgICAgICAgICAgZml4IHVpZD0sIGdpZD0sIHVzZXIsIGFuZCBjb250ZXh0PSIgfSwKKworCQl7IE5VTEwgfQorCX07CisJcmV0dXJuICBtbnRfcnVuX3Rlc3QodHNzLCBhcmdjLCBhcmd2KTsKK30KKyNlbmRpZiAvKiBURVNUX1BST0dSQU0gKi8KZGlmZiAtLWdpdCBhL2xpYm1vdW50L3NyYy90YWIuYyBiL2xpYm1vdW50L3NyYy90YWIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZWVlZmU3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvc3JjL3RhYi5jCkBAIC0wLDAgKzEsMTk2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOC0yMDEwIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworLyoqCisgKiBTRUNUSU9OOiB0YWJsZQorICogQHRpdGxlOiBUYWJsZSBvZiBmaWxlc3lzdGVtcworICogQHNob3J0X2Rlc2NyaXB0aW9uOiBjb250YWluZXIgZm9yIGVudHJpZXMgZnJvbSBmc3RhYiwgbXRhYiBvciBtb3VudGluZm8KKyAqCisgKiBOb3RlIHRoYXQgbW50X3RhYmxlX2ZpbmRfKiBmdW5jdGlvbnMgYXJlIG1vdW50KDgpIGNvbXBhdGlibGUuIFRoZXNlIGZ1bmN0aW9ucworICogdHJ5IHRvIGZpbmQgYW4gZW50cnkgaW4gbW9yZSBpdGVyYXRpb25zLCB3aGVyZSB0aGUgZmlyc3QgYXR0ZW1wdCBpcyBhbHdheXMKKyAqIGJhc2VkIG9uIGNvbXBhcmlzb24gd2l0aCB1bm1vZGlmaWVkIChub24tY2Fub25pY2FsaXplZCBvciB1bi1ldmFsdWF0ZWQpCisgKiBwYXRocyBvciB0YWdzLiBGb3IgZXhhbXBsZSBhIGZzdGFiIHdpdGggdHdvIGVudHJpZXM6CisgKiA8aW5mb3JtYWxleGFtcGxlPgorICogICA8cHJvZ3JhbWxpc3Rpbmc+CisgKglMQUJFTD1mb28JL2ZvbwlhdXRvICAgcncKKyAqCS9kZXYvZm9vCS9mb28JYXV0byAgIHJ3CisgKiAgPC9wcm9ncmFtbGlzdGluZz4KKyAqIDwvaW5mb3JtYWxleGFtcGxlPgorICoKKyAqIHdoZXJlIGJvdGggbGluZXMgYXJlIHVzZWQgZm9yIHRoZSAqc2FtZSogZGV2aWNlLCB0aGVuCisgKiA8aW5mb3JtYWxleGFtcGxlPgorICogIDxwcm9ncmFtbGlzdGluZz4KKyAqCW1udF90YWJsZV9maW5kX3NvdXJjZSh0YiwgIi9kZXYvZm9vIiwgJmZzKTsKKyAqICA8L3Byb2dyYW1saXN0aW5nPgorICogPC9pbmZvcm1hbGV4YW1wbGU+CisgKiB3aWxsIHJldHVybnMgdGhlIHNlY29uZCBsaW5lLCBhbmQKKyAqIDxpbmZvcm1hbGV4YW1wbGU+CisgKiAgPHByb2dyYW1saXN0aW5nPgorICoJbW50X3RhYmxlX2ZpbmRfc291cmNlKHRiLCAiTEFCRUw9Zm9vIiwgJmZzKTsKKyAqICA8L3Byb2dyYW1saXN0aW5nPgorICogPC9pbmZvcm1hbGV4YW1wbGU+CisgKiB3aWxsIHJldHVybnMgdGhlIGZpcnN0IGVudHJ5LCBhbmQKKyAqIDxpbmZvcm1hbGV4YW1wbGU+CisgKiAgPHByb2dyYW1saXN0aW5nPgorICoJbW50X3RhYmxlX2ZpbmRfc291cmNlKHRiLCAiVVVJRD1hbnl1dWlkIiwgJmZzKTsKKyAqICA8L3Byb2dyYW1saXN0aW5nPgorICogPC9pbmZvcm1hbGV4YW1wbGU+CisgKiB3aWxsIHJldHVybiB0aGUgZmlyc3QgZW50cnkgKGlmIFVVSUQgbWF0Y2hlcyB3aXRoIHRoZSBkZXZpY2UpLgorICovCisjaW5jbHVkZSA8YmxraWQuaD4KKworI2luY2x1ZGUgIm1vdW50UC5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAibG9vcGRldi5oIgorI2luY2x1ZGUgImZpbGV1dGlscy5oIgorI2luY2x1ZGUgImNhbm9uaWNhbGl6ZS5oIgorCitpbnQgaXNfbW91bnRpbmZvKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiKQoreworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCisJaWYgKCF0YikKKwkJcmV0dXJuIDA7CisKKwlmcyA9IGxpc3RfZmlyc3RfZW50cnkoJnRiLT5lbnRzLCBzdHJ1Y3QgbGlibW50X2ZzLCBlbnRzKTsKKwlpZiAoZnMgJiYgbW50X2ZzX2lzX2tlcm5lbChmcykgJiYgbW50X2ZzX2dldF9yb290KGZzKSkKKwkJcmV0dXJuIDE7CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfbmV3X3RhYmxlOgorICoKKyAqIFRoZSB0YWIgaXMgYSBjb250YWluZXIgZm9yIHN0cnVjdCBsaWJtbnRfZnMgZW50cmllcyB0aGF0IHVzdWFsbHkgcmVwcmVzZW50cyBhIGZzdGFiLAorICogbXRhYiBvciBtb3VudGluZm8gZmlsZSBmcm9tIHlvdXIgc3lzdGVtLgorICoKKyAqIFNlZSBhbHNvIG1udF90YWJsZV9wYXJzZV9maWxlKCkuCisgKgorICogUmV0dXJuczogbmV3bHkgYWxsb2NhdGVkIHRhYiBzdHJ1Y3QuCisgKi8KK3N0cnVjdCBsaWJtbnRfdGFibGUgKm1udF9uZXdfdGFibGUodm9pZCkKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiA9IE5VTEw7CisKKwl0YiA9IGNhbGxvYygxLCBzaXplb2YoKnRiKSk7CisJaWYgKCF0YikKKwkJcmV0dXJuIE5VTEw7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImFsbG9jIikpOworCXRiLT5yZWZjb3VudCA9IDE7CisJSU5JVF9MSVNUX0hFQUQoJnRiLT5lbnRzKTsKKwlyZXR1cm4gdGI7Cit9CisKKy8qKgorICogbW50X3Jlc2V0X3RhYmxlOgorICogQHRiOiB0YWIgcG9pbnRlcgorICoKKyAqIFJlbW92ZXMgYWxsIGVudHJpZXMgKGZpbGVzeXN0ZW1zKSBmcm9tIHRoZSB0YWJsZS4gVGhlIGZpbGVzeXN0ZW1zIHdpdGggemVybworICogcmVmZXJlbmNlIGNvdW50IHdpbGwgYmUgZGVhbGxvY2F0ZWQuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X3Jlc2V0X3RhYmxlKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiKQoreworCWlmICghdGIpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJyZXNldCIpKTsKKworCXdoaWxlICghbGlzdF9lbXB0eSgmdGItPmVudHMpKSB7CisJCXN0cnVjdCBsaWJtbnRfZnMgKmZzID0gbGlzdF9lbnRyeSh0Yi0+ZW50cy5uZXh0LAorCQkJCSAgICAgICAgICAgICAgICAgIHN0cnVjdCBsaWJtbnRfZnMsIGVudHMpOworCQltbnRfdGFibGVfcmVtb3ZlX2ZzKHRiLCBmcyk7CisJfQorCisJdGItPm5lbnRzID0gMDsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfcmVmX3RhYmxlOgorICogQHRiOiB0YWJsZSBwb2ludGVyCisgKgorICogSW5jcmVtZW50cyByZWZlcmVuY2UgY291bnRlci4KKyAqLwordm9pZCBtbnRfcmVmX3RhYmxlKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiKQoreworCWlmICh0YikgeworCQl0Yi0+cmVmY291bnQrKzsKKwkJLypEQkcoRlMsIHVsX2RlYnVnb2JqKHRiLCAicmVmPSVkIiwgdGItPnJlZmNvdW50KSk7Ki8KKwl9Cit9CisKKy8qKgorICogbW50X3VucmVmX3RhYmxlOgorICogQHRiOiB0YWJsZSBwb2ludGVyCisgKgorICogRGUtaW5jcmVtZW50cyByZWZlcmVuY2UgY291bnRlciwgb24gemVybyB0aGUgQHRiIGlzIGF1dG9tYXRpY2FsbHkKKyAqIGRlYWxsb2NhdGVkIGJ5IG1udF9mcmVlX3RhYmxlKCkuCisgKi8KK3ZvaWQgbW50X3VucmVmX3RhYmxlKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiKQoreworCWlmICh0YikgeworCQl0Yi0+cmVmY291bnQtLTsKKwkJLypEQkcoRlMsIHVsX2RlYnVnb2JqKHRiLCAidW5yZWY9JWQiLCB0Yi0+cmVmY291bnQpKTsqLworCQlpZiAodGItPnJlZmNvdW50IDw9IDApCisJCQltbnRfZnJlZV90YWJsZSh0Yik7CisJfQorfQorCisKKy8qKgorICogbW50X2ZyZWVfdGFibGU6CisgKiBAdGI6IHRhYiBwb2ludGVyCisgKgorICogRGVhbGxvY2F0ZXMgdGhlIHRhYmxlLiBUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IGNhcmUgYWJvdXQgcmVmZXJlbmNlIGNvdW50LiBEb24ndAorICogdXNlIHRoaXMgZnVuY3Rpb24gZGlyZWN0bHkgLS0gaXQncyBiZXR0ZXIgdG8gdXNlIHVzZSBtbnRfdW5yZWZfdGFibGUoKS4KKyAqCisgKiBUaGUgdGFibGUgZW50cmllcyAoZmlsZXN5c3RlbXMpIGFyZSB1bnJlZmVyZW5jZWQgYnkgbW50X3Jlc2V0X3RhYmxlKCkgYW5kCisgKiBjYWNoZSBieSBtbnRfdW5yZWZfY2FjaGUoKS4KKyAqLwordm9pZCBtbnRfZnJlZV90YWJsZShzdHJ1Y3QgbGlibW50X3RhYmxlICp0YikKK3sKKwlpZiAoIXRiKQorCQlyZXR1cm47CisKKwltbnRfcmVzZXRfdGFibGUodGIpOworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiZnJlZSBbcmVmY291bnQ9JWRdIiwgdGItPnJlZmNvdW50KSk7CisKKwltbnRfdW5yZWZfY2FjaGUodGItPmNhY2hlKTsKKwlmcmVlKHRiLT5jb21tX2ludHJvKTsKKwlmcmVlKHRiLT5jb21tX3RhaWwpOworCWZyZWUodGIpOworfQorCisvKioKKyAqIG1udF90YWJsZV9nZXRfbmVudHM6CisgKiBAdGI6IHBvaW50ZXIgdG8gdGFiCisgKgorICogUmV0dXJuczogbnVtYmVyIG9mIGVudHJpZXMgaW4gdGFibGUuCisgKi8KK2ludCBtbnRfdGFibGVfZ2V0X25lbnRzKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiKQoreworCXJldHVybiB0YiA/IHRiLT5uZW50cyA6IDA7Cit9CisKKy8qKgorICogbW50X3RhYmxlX2lzX2VtcHR5OgorICogQHRiOiBwb2ludGVyIHRvIHRhYgorICoKKyAqIFJldHVybnM6IDEgaWYgdGhlIHRhYmxlIGlzIHdpdGhvdXQgZmlsZXN5c3RlbXMsIG9yIDAuCisgKi8KK2ludCBtbnRfdGFibGVfaXNfZW1wdHkoc3RydWN0IGxpYm1udF90YWJsZSAqdGIpCit7CisJcmV0dXJuIHRiID09IE5VTEwgfHwgbGlzdF9lbXB0eSgmdGItPmVudHMpID8gMSA6IDA7Cit9CisKKy8qKgorICogbW50X3RhYmxlX3NldF91c2VyZGF0YToKKyAqIEB0YjogcG9pbnRlciB0byB0YWIKKyAqIEBkYXRhOiBwb2ludGVyIHRvIHVzZXIgZGF0YQorICoKKyAqIFNldHMgcG9pbnRlciB0byB0aGUgcHJpdmF0ZSB1c2VyIGRhdGEuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X3RhYmxlX3NldF91c2VyZGF0YShzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yiwgdm9pZCAqZGF0YSkKK3sKKwlpZiAoIXRiKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXRiLT51c2VyZGF0YSA9IGRhdGE7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X3RhYmxlX2dldF91c2VyZGF0YToKKyAqIEB0YjogcG9pbnRlciB0byB0YWIKKyAqCisgKiBSZXR1cm5zOiBwb2ludGVyIHRvIHVzZXIncyBkYXRhLgorICovCit2b2lkICptbnRfdGFibGVfZ2V0X3VzZXJkYXRhKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiKQoreworCXJldHVybiB0YiA/IHRiLT51c2VyZGF0YSA6IE5VTEw7Cit9CisKKy8qKgorICogbW50X3RhYmxlX2VuYWJsZV9jb21tZW50czoKKyAqIEB0YjogcG9pbnRlciB0byB0YWIKKyAqIEBlbmFibGU6IFRSVUUgb3IgRkFMU0UKKyAqCisgKiBFbmFibGVzIHBhcnNpbmcgb2YgY29tbWVudHMuCisgKgorICogVGhlIGluaXRpYWwgKGludHJvKSBmaWxlIGNvbW1lbnQgaXMgYWNjZXNzaWJsZSBieQorICogbW50X3RhYmxlX2dldF9pbnRyb19jb21tZW50KCkuIFRoZSBpbnRybyBhbmQgdGhlIGNvbW1lbnQgb2YgdGhlIGZpcnN0IGZzdGFiCisgKiBlbnRyeSBoYXMgdG8gYmUgc2VwYXJhdGVkIGJ5IGJsYW5rIGxpbmUuICBUaGUgZmlsZXN5c3RlbSBjb21tZW50cyBhcmUKKyAqIGFjY2Vzc2libGUgYnkgbW50X2ZzX2dldF9jb21tZW50KCkuIFRoZSB0cmFpbGluZyBmc3RhYiBjb21tZW50IGlzIGFjY2Vzc2libGUKKyAqIGJ5IG1udF90YWJsZV9nZXRfdHJhaWxpbmdfY29tbWVudCgpLgorICoKKyAqIDxpbmZvcm1hbGV4YW1wbGU+CisgKiAgPHByb2dyYW1saXN0aW5nPgorICoJIworICoJIyBJbnRybyBjb21tZW50CisgKgkjCisgKgorICoJIyB0aGlzIGNvbW1lbnRzIGJlbG9uZ3MgdG8gdGhlIGZpcnN0IGZzCisgKglMQUJFTD1mb28gL21udC9mb28gYXV0byBkZWZhdWx0cyAxIDIKKyAqCSMgdGhpcyBjb21tZW50cyBiZWxvbmdzIHRvIHRoZSBzZWNvbmQgZnMKKyAqCUxBQkVMPWJhciAvbW50L2JhciBhdXRvIGRlZmF1bHRzIDEgMgorICoJIyB0YWlsaW5nIGNvbW1lbnQKKyAqICA8L3Byb2dyYW1saXN0aW5nPgorICogPC9pbmZvcm1hbGV4YW1wbGU+CisgKi8KK3ZvaWQgbW50X3RhYmxlX2VuYWJsZV9jb21tZW50cyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgaW50IGVuYWJsZSkKK3sKKwlpZiAodGIpCisJCXRiLT5jb21tcyA9IGVuYWJsZTsKK30KKworLyoqCisgKiBtbnRfdGFibGVfd2l0aF9jb21tZW50czoKKyAqIEB0YjogcG9pbnRlciB0byB0YWJsZQorICoKKyAqIFJldHVybnM6IDEgaWYgY29tbWVudHMgcGFyc2luZyBpcyBlbmFibGVkLCBvciAwLgorICovCitpbnQgbW50X3RhYmxlX3dpdGhfY29tbWVudHMoc3RydWN0IGxpYm1udF90YWJsZSAqdGIpCit7CisJYXNzZXJ0KHRiKTsKKwlyZXR1cm4gdGIgPyB0Yi0+Y29tbXMgOiAwOworfQorCisvKioKKyAqIG1udF90YWJsZV9nZXRfaW50cm9fY29tbWVudDoKKyAqIEB0YjogcG9pbnRlciB0byB0YWIKKyAqCisgKiBSZXR1cm5zOiBpbml0aWFsIGNvbW1lbnQgaW4gdGIKKyAqLworY29uc3QgY2hhciAqbW50X3RhYmxlX2dldF9pbnRyb19jb21tZW50KHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiKQoreworCXJldHVybiB0YiA/IHRiLT5jb21tX2ludHJvIDogTlVMTDsKK30KKworLyoqCisgKiBtbnRfdGFibGVfc2V0X2ludG9fY29tbWVudDoKKyAqIEB0YjogcG9pbnRlciB0byB0YWIKKyAqIEBjb21tOiBjb21tZW50IG9yIE5VTEwKKyAqCisgKiBTZXRzIHRoZSBpbml0aWFsIGNvbW1lbnQgaW4gdGIuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X3RhYmxlX3NldF9pbnRyb19jb21tZW50KHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBjb25zdCBjaGFyICpjb21tKQoreworCXJldHVybiBzdHJkdXBfdG9fc3RydWN0X21lbWJlcih0YiwgY29tbV9pbnRybywgY29tbSk7Cit9CisKKy8qKgorICogbW50X3RhYmxlX2FwcGVuZF9pbnRvX2NvbW1lbnQ6CisgKiBAdGI6IHBvaW50ZXIgdG8gdGFiCisgKiBAY29tbTogY29tbWVudCBvZiBOVUxMCisgKgorICogQXBwZW5kcyB0aGUgaW5pdGlhbCBjb21tZW50IGluIHRiLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcyBvciBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF90YWJsZV9hcHBlbmRfaW50cm9fY29tbWVudChzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgY29uc3QgY2hhciAqY29tbSkKK3sKKwlpZiAoIXRiKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlyZXR1cm4gYXBwZW5kX3N0cmluZygmdGItPmNvbW1faW50cm8sIGNvbW0pOworfQorCisvKioKKyAqIG1udF90YWJsZV9nZXRfdHJhaWxpbmdfY29tbWVudDoKKyAqIEB0YjogcG9pbnRlciB0byB0YWIKKyAqCisgKiBSZXR1cm5zOiB0YWJsZSB0cmFpbGluZyBjb21tZW50CisgKi8KK2NvbnN0IGNoYXIgKm1udF90YWJsZV9nZXRfdHJhaWxpbmdfY29tbWVudChzdHJ1Y3QgbGlibW50X3RhYmxlICp0YikKK3sKKwlyZXR1cm4gdGIgPyB0Yi0+Y29tbV90YWlsIDogTlVMTDsKK30KKworLyoqCisgKiBtbnRfdGFibGVfc2V0X3RyYWlsaW5nX2NvbW1lbnQKKyAqIEB0YjogcG9pbnRlciB0byB0YWIKKyAqIEBjb21tOiBjb21tZW50IHN0cmluZworICoKKyAqIFNldHMgdGhlIHRyYWlsaW5nIGNvbW1lbnQgaW4gdGFibGUuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X3RhYmxlX3NldF90cmFpbGluZ19jb21tZW50KHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBjb25zdCBjaGFyICpjb21tKQoreworCXJldHVybiBzdHJkdXBfdG9fc3RydWN0X21lbWJlcih0YiwgY29tbV90YWlsLCBjb21tKTsKK30KKworLyoqCisgKiBtbnRfdGFibGVfYXBwZW5kX3RyYWlsaW5nX2NvbW1lbnQ6CisgKiBAdGI6IHBvaW50ZXIgdG8gdGFiCisgKiBAY29tbTogY29tbWVudCBvZiBOVUxMCisgKgorICogQXBwZW5kcyB0byB0aGUgdHJhaWxpbmcgdGFibGUgY29tbWVudC4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfdGFibGVfYXBwZW5kX3RyYWlsaW5nX2NvbW1lbnQoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKmNvbW0pCit7CisJaWYgKCF0YikKKwkJcmV0dXJuIC1FSU5WQUw7CisJcmV0dXJuIGFwcGVuZF9zdHJpbmcoJnRiLT5jb21tX3RhaWwsIGNvbW0pOworfQorCisvKioKKyAqIG1udF90YWJsZV9zZXRfY2FjaGU6CisgKiBAdGI6IHBvaW50ZXIgdG8gdGFiCisgKiBAbXBjOiBwb2ludGVyIHRvIHN0cnVjdCBsaWJtbnRfY2FjaGUgaW5zdGFuY2UKKyAqCisgKiBTZXRzIHVwIGEgY2FjaGUgZm9yIGNhbm9uaWNhbGl6ZWQgcGF0aHMgYW5kIGV2YWx1YXRlZCB0YWdzIChMQUJFTC9VVUlEKS4gVGhlCisgKiBjYWNoZSBpcyByZWNvbW1lbmRlZCBmb3IgbW50X3RhYmxlX2ZpbmRfKigpIGZ1bmN0aW9ucy4KKyAqCisgKiBUaGUgY2FjaGUgY291bGQgYmUgc2hhcmVkIGJldHdlZW4gbW9yZSB0YWJzLiBCZSBjYXJlZnVsIHdoZW4geW91IHNoYXJlIHRoZQorICogc2FtZSBjYWNoZSBiZXR3ZWVuIG1vcmUgdGhyZWFkcyAtLSBjdXJyZW50bHkgdGhlIGNhY2hlIGRvZXMgbm90IHByb3ZpZGUgYW55CisgKiBsb2NraW5nIG1ldGhvZC4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGluY3JlbWVudHMgY2FjaGUgcmVmZXJlbmNlIGNvdW50ZXIuIEl0J3MgcmVjb21tZW5kZWQgdG8gdXNlCisgKiBtbnRfdW5yZWZfY2FjaGUoKSBhZnRlciBtbnRfdGFibGVfc2V0X2NhY2hlKCkgaWYgeW91IHdhbnQgdG8ga2VlcCB0aGUgY2FjaGUKKyAqIHJlZmVyZW5jZWQgYnkgQHRiIG9ubHkuCisgKgorICogU2VlIGFsc28gbW50X25ld19jYWNoZSgpLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcyBvciBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF90YWJsZV9zZXRfY2FjaGUoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIHN0cnVjdCBsaWJtbnRfY2FjaGUgKm1wYykKK3sKKwlpZiAoIXRiKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW1udF9yZWZfY2FjaGUobXBjKTsJCQkvKiBuZXcgKi8KKwltbnRfdW5yZWZfY2FjaGUodGItPmNhY2hlKTsJCS8qIG9sZCAqLworCXRiLT5jYWNoZSA9IG1wYzsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfdGFibGVfZ2V0X2NhY2hlOgorICogQHRiOiBwb2ludGVyIHRvIHRhYgorICoKKyAqIFJldHVybnM6IHBvaW50ZXIgdG8gc3RydWN0IGxpYm1udF9jYWNoZSBpbnN0YW5jZSBvciBOVUxMLgorICovCitzdHJ1Y3QgbGlibW50X2NhY2hlICptbnRfdGFibGVfZ2V0X2NhY2hlKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiKQoreworCXJldHVybiB0YiA/IHRiLT5jYWNoZSA6IE5VTEw7Cit9CisKKy8qKgorICogbW50X3RhYmxlX2FkZF9mczoKKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqIEBmczogbmV3IGVudHJ5CisgKgorICogQWRkcyBhIG5ldyBlbnRyeSB0byB0YWIgYW5kIGluY3JlbWVudCBAZnMgcmVmZXJlbmNlIGNvdW50ZXIuIERvbid0IGZvcmdldCB0bworICogdXNlIG1udF91bnJlZl9mcygpIGFmdGVyIG1udF90YWJsZV9hZGRfZnMoKSB5b3Ugd2FudCB0byBrZWVwIHRoZSBAZnMKKyAqIHJlZmVyZW5jZWQgYnkgdGhlIHRhYmxlIG9ubHkuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X3RhYmxlX2FkZF9mcyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yiwgc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJaWYgKCF0YiB8fCAhZnMpCisJCXJldHVybiAtRUlOVkFMOworCisJbW50X3JlZl9mcyhmcyk7CisJbGlzdF9hZGRfdGFpbCgmZnMtPmVudHMsICZ0Yi0+ZW50cyk7CisJdGItPm5lbnRzKys7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImFkZCBlbnRyeTogJXMgJXMiLAorCQkJbW50X2ZzX2dldF9zb3VyY2UoZnMpLCBtbnRfZnNfZ2V0X3RhcmdldChmcykpKTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfdGFibGVfcmVtb3ZlX2ZzOgorICogQHRiOiB0YWIgcG9pbnRlcgorICogQGZzOiBuZXcgZW50cnkKKyAqCisgKiBSZW1vdmVzIHRoZSBAZnMgZnJvbSB0aGUgdGFibGUgYW5kIGRlLWluY3JlbWVudCByZWZlcmVuY2UgY291bnRlciBvZiB0aGUgQGZzLiBUaGUKKyAqIGZpbGVzeXN0ZW0gd2l0aCB6ZXJvIHJlZmVyZW5jZSBjb3VudGVyIHdpbGwgYmUgZGVhbGxvY2F0ZWQuIERvbid0IGZvcmdldCB0byB1c2UKKyAqIG1udF9yZWZfZnMoKSBiZWZvcmUgY2FsbCBtbnRfdGFibGVfcmVtb3ZlX2ZzKCkgaWYgeW91IHdhbnQgdG8gdXNlIEBmcyBsYXRlci4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfdGFibGVfcmVtb3ZlX2ZzKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlpZiAoIXRiIHx8ICFmcykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlsaXN0X2RlbCgmZnMtPmVudHMpOworCUlOSVRfTElTVF9IRUFEKCZmcy0+ZW50cyk7CS8qIG90aGVyd2lzZSBGUyBzdGlsbCBwb2ludHMgdG8gdGhlIGxpc3QgKi8KKworCW1udF91bnJlZl9mcyhmcyk7CisJdGItPm5lbnRzLS07CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGxpYm1udF9mcyAqZ2V0X3BhcmVudF9mcyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yiwgc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJc3RydWN0IGxpYm1udF9pdGVyIGl0cjsKKwlzdHJ1Y3QgbGlibW50X2ZzICp4OworCWludCBwYXJlbnRfaWQgPSBtbnRfZnNfZ2V0X3BhcmVudF9pZChmcyk7CisKKwltbnRfcmVzZXRfaXRlcigmaXRyLCBNTlRfSVRFUl9GT1JXQVJEKTsKKwl3aGlsZSAobW50X3RhYmxlX25leHRfZnModGIsICZpdHIsICZ4KSA9PSAwKSB7CisJCWlmIChtbnRfZnNfZ2V0X2lkKHgpID09IHBhcmVudF9pZCkKKwkJCXJldHVybiB4OworCX0KKworCXJldHVybiBOVUxMOworfQorCisvKioKKyAqIG1udF90YWJsZV9nZXRfcm9vdF9mczoKKyAqIEB0YjogbW91bnRpbmZvIGZpbGUgKC9wcm9jL3NlbGYvbW91bnRpbmZvKQorICogQHJvb3Q6IHJldHVybnMgcG9pbnRlciB0byB0aGUgcm9vdCBmaWxlc3lzdGVtICgvKQorICoKKyAqIFRoZSBmdW5jdGlvbiB1c2VzIHRoZSBwYXJlbnQgSUQgZnJvbSB0aGUgbW91bnRpbmZvIGZpbGUgdG8gZGV0ZXJtaW5lIHRoZQorICogcm9vdCBmaWxlc3lzdGVtICh0aGUgZmlsZXN5c3RlbSB3aXRoIHRoZSBzbWFsbGVzdCBJRCB3aXRoIHBhcmVudCBJRCBtaXNzaW5nCisgKiBpbiB0aGUgdGFibGUpLiBUaGUgZnVuY3Rpb24gaXMgZGVzaWduZWQgbW9zdGx5IGZvciBhcHBsaWNhdGlvbnMgd2hlcmUgaXQgaXMKKyAqIG5lY2Vzc2FyeSB0byBzb3J0IG1vdW50cG9pbnRzIGJ5IElEcyB0byBnZXQgdGhlIHRyZWUgb2YgdGhlIG1vdW50cG9pbnRzCisgKiAoZS5nLiBmaW5kbW50IGRlZmF1bHQgb3V0cHV0KS4KKyAqCisgKiBJZiB5b3UncmUgbm90IHN1cmUsIHRoZW4gdXNlCisgKgorICoJbW50X3RhYmxlX2ZpbmRfdGFyZ2V0KHRiLCAiLyIsIE1OVF9JVEVSX0JBQ0tXQVJEKTsKKyAqCisgKiB0aGlzIGlzIG1vcmUgcm9idXN0IGFuZCB1c2FibGUgZm9yIGFyYml0cmFyeSB0YWIgZmlsZXMgKGluY2x1ZGluZyBmc3RhYikuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X3RhYmxlX2dldF9yb290X2ZzKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBzdHJ1Y3QgbGlibW50X2ZzICoqcm9vdCkKK3sKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgaXRyOworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCWludCByb290X2lkID0gMDsKKworCWlmICghdGIgfHwgIXJvb3QgfHwgIWlzX21vdW50aW5mbyh0YikpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJsb29rdXAgcm9vdCBmcyIpKTsKKworCSpyb290ID0gTlVMTDsKKworCS8qIGdldCBzbWFsbGVzdCBwb3NzaWJsZSBJRCBmcm9tIHRoZSB0YWJsZSAqLworCW1udF9yZXNldF9pdGVyKCZpdHIsIE1OVF9JVEVSX0ZPUldBUkQpOworCXdoaWxlKG1udF90YWJsZV9uZXh0X2ZzKHRiLCAmaXRyLCAmZnMpID09IDApIHsKKwkJaW50IGlkID0gbW50X2ZzX2dldF9wYXJlbnRfaWQoZnMpOworCisJCWlmICghKnJvb3QgfHwgaWQgPCByb290X2lkKSB7CisJCQkqcm9vdCA9IGZzOworCQkJcm9vdF9pZCA9IGlkOworCQl9CisJfQorCisJLyogZ28gdG8gdGhlIHJvb3Qgbm9kZSBieSAicGFyZW50X2lkIC0+IGlkIiByZWxhdGlvbiAqLworCXdoaWxlICgqcm9vdCkgeworCQlzdHJ1Y3QgbGlibW50X2ZzICp4ID0gZ2V0X3BhcmVudF9mcyh0YiwgKnJvb3QpOworCQlpZiAoIXggfHwgeCA9PSAqcm9vdCkKKwkJCWJyZWFrOworCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIiBtZXNzeSBtb3VudGluZm8sIHdhbGsgdG8gJXMiLCBtbnRfZnNfZ2V0X3RhcmdldCh4KSkpOworCQkqcm9vdCA9IHg7CisJfQorCisJcmV0dXJuICpyb290ID8gMCA6IC1FSU5WQUw7Cit9CisKKy8qKgorICogbW50X3RhYmxlX25leHRfY2hpbGRfZnM6CisgKiBAdGI6IG1vdW50aW5mbyBmaWxlICgvcHJvYy9zZWxmL21vdW50aW5mbykKKyAqIEBpdHI6IGl0ZXJhdG9yCisgKiBAcGFyZW50OiBwYXJlbnRhbCBGUworICogQGNobGQ6IHJldHVybnMgdGhlIG5leHQgY2hpbGQgZmlsZXN5c3RlbQorICoKKyAqIE5vdGUgdGhhdCBmaWxlc3lzdGVtcyBhcmUgcmV0dXJuZWQgaW4gdGhlIG9yZGVyIG9mIG1vdW50aW5nIChhY2NvcmRpbmcgdG8KKyAqIElEcyBpbiAvcHJvYy9zZWxmL21vdW50aW5mbykuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvciBvciAxIGF0IHRoZSBlbmQgb2YgbGlzdC4KKyAqLworaW50IG1udF90YWJsZV9uZXh0X2NoaWxkX2ZzKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciwKKwkJCXN0cnVjdCBsaWJtbnRfZnMgKnBhcmVudCwgc3RydWN0IGxpYm1udF9mcyAqKmNobGQpCit7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJaW50IHBhcmVudF9pZCwgbGFzdGNobGRfaWQgPSAwLCBjaGxkX2lkID0gMDsKKworCWlmICghdGIgfHwgIWl0ciB8fCAhcGFyZW50IHx8ICFpc19tb3VudGluZm8odGIpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAibG9va3VwIG5leHQgY2hpbGQgb2YgJyVzJyIsCisJCQkJbW50X2ZzX2dldF90YXJnZXQocGFyZW50KSkpOworCisJcGFyZW50X2lkID0gbW50X2ZzX2dldF9pZChwYXJlbnQpOworCisJLyogZ2V0IElEIG9mIHRoZSBwcmV2aW91c2x5IHJldHVybmVkIGNoaWxkICovCisJaWYgKGl0ci0+aGVhZCAmJiBpdHItPnAgIT0gaXRyLT5oZWFkKSB7CisJCU1OVF9JVEVSX0lURVJBVEUoaXRyLCBmcywgc3RydWN0IGxpYm1udF9mcywgZW50cyk7CisJCWxhc3RjaGxkX2lkID0gbW50X2ZzX2dldF9pZChmcyk7CisJfQorCisJKmNobGQgPSBOVUxMOworCisJbW50X3Jlc2V0X2l0ZXIoaXRyLCBNTlRfSVRFUl9GT1JXQVJEKTsKKwl3aGlsZShtbnRfdGFibGVfbmV4dF9mcyh0YiwgaXRyLCAmZnMpID09IDApIHsKKwkJaW50IGlkOworCisJCWlmIChtbnRfZnNfZ2V0X3BhcmVudF9pZChmcykgIT0gcGFyZW50X2lkKQorCQkJY29udGludWU7CisKKwkJaWQgPSBtbnRfZnNfZ2V0X2lkKGZzKTsKKworCQkvKiBhdm9pZCBhbiBpbmZpbml0ZSBsb29wLiBUaGlzIG9ubHkgaGFwcGVucyBpbiByYXJlIGNhc2VzCisJCSAqIHN1Y2ggYXMgaW4gZWFybHkgdXNlcnNwYWNlIHdoZW4gdGhlIHJvb3RmcyBpcyBpdHMgb3duIHBhcmVudCAqLworCQlpZiAoaWQgPT0gcGFyZW50X2lkKQorCQkJY29udGludWU7CisKKwkJaWYgKCghbGFzdGNobGRfaWQgfHwgaWQgPiBsYXN0Y2hsZF9pZCkgJiYKKwkJICAgICghKmNobGQgfHwgaWQgPCBjaGxkX2lkKSkgeworCQkJKmNobGQgPSBmczsKKwkJCWNobGRfaWQgPSBpZDsKKwkJfQorCX0KKworCWlmICghKmNobGQpCisJCXJldHVybiAxOwkvKiBlbmQgb2YgaXRlcmF0b3IgKi8KKworCS8qIHNldCB0aGUgaXRlcmF0b3IgdG8gdGhlIEBjaGxkIGZvciB0aGUgbmV4dCBjYWxsICovCisJbW50X3RhYmxlX3NldF9pdGVyKHRiLCBpdHIsICpjaGxkKTsKKworCXJldHVybiAwOworfQorCisvKioKKyAqIG1udF90YWJsZV9uZXh0X2ZzOgorICogQHRiOiB0YWIgcG9pbnRlcgorICogQGl0cjogaXRlcmF0b3IKKyAqIEBmczogcmV0dXJucyB0aGUgbmV4dCB0YWIgZW50cnkKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yIG9yIDEgYXQgdGhlIGVuZCBvZiBsaXN0LgorICoKKyAqIEV4YW1wbGU6CisgKiA8aW5mb3JtYWxleGFtcGxlPgorICogICA8cHJvZ3JhbWxpc3Rpbmc+CisgKgl3aGlsZShtbnRfdGFibGVfbmV4dF9mcyh0YiwgaXRyLCAmZnMpID09IDApIHsKKyAqCQljb25zdCBjaGFyICpkaXIgPSBtbnRfZnNfZ2V0X3RhcmdldChmcyk7CisgKgkJcHJpbnRmKCJtb3VudCBwb2ludDogJXNcbiIsIGRpcik7CisgKgl9CisgKiAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKyAqCisgKiBsaXN0cyBhbGwgbW91bnRwb2ludHMgZnJvbSBmc3RhYiBpbiByZXZlcnNlIG9yZGVyLgorICovCitpbnQgbW50X3RhYmxlX25leHRfZnMoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIHN0cnVjdCBsaWJtbnRfaXRlciAqaXRyLCBzdHJ1Y3QgbGlibW50X2ZzICoqZnMpCit7CisJaW50IHJjID0gMTsKKworCWlmICghdGIgfHwgIWl0ciB8fCAhZnMpCisJCXJldHVybiAtRUlOVkFMOworCSpmcyA9IE5VTEw7CisKKwlpZiAoIWl0ci0+aGVhZCkKKwkJTU5UX0lURVJfSU5JVChpdHIsICZ0Yi0+ZW50cyk7CisJaWYgKGl0ci0+cCAhPSBpdHItPmhlYWQpIHsKKwkJTU5UX0lURVJfSVRFUkFURShpdHIsICpmcywgc3RydWN0IGxpYm1udF9mcywgZW50cyk7CisJCXJjID0gMDsKKwl9CisKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogbW50X3RhYmxlX2ZpcnN0X2ZzOgorICogQHRiOiB0YWIgcG9pbnRlcgorICogQGZzOiByZXR1cm5zIHRoZSBmaXJzdCB0YWIgZW50cnkKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yIG9yIDEgYXQgdGhlIGVuZCBvZiBsaXN0LgorICovCitpbnQgbW50X3RhYmxlX2ZpcnN0X2ZzKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBzdHJ1Y3QgbGlibW50X2ZzICoqZnMpCit7CisJaWYgKCF0YiB8fCAhZnMpCisJCXJldHVybiAtRUlOVkFMOworCWlmIChsaXN0X2VtcHR5KCZ0Yi0+ZW50cykpCisJCXJldHVybiAxOworCSpmcyA9IGxpc3RfZmlyc3RfZW50cnkoJnRiLT5lbnRzLCBzdHJ1Y3QgbGlibW50X2ZzLCBlbnRzKTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfdGFibGVfbGFzdF9mczoKKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqIEBmczogcmV0dXJucyB0aGUgbGFzdCB0YWIgZW50cnkKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yIG9yIDEgYXQgdGhlIGVuZCBvZiBsaXN0LgorICovCitpbnQgbW50X3RhYmxlX2xhc3RfZnMoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIHN0cnVjdCBsaWJtbnRfZnMgKipmcykKK3sKKwlpZiAoIXRiIHx8ICFmcykKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKGxpc3RfZW1wdHkoJnRiLT5lbnRzKSkKKwkJcmV0dXJuIDE7CisJKmZzID0gbGlzdF9sYXN0X2VudHJ5KCZ0Yi0+ZW50cywgc3RydWN0IGxpYm1udF9mcywgZW50cyk7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X3RhYmxlX2ZpbmRfbmV4dF9mczoKKyAqIEB0YjogdGFibGUKKyAqIEBpdHI6IGl0ZXJhdG9yCisgKiBAbWF0Y2hfZnVuYzogZnVuY3Rpb24gcmV0dXJuaW5nIDEgb3IgMAorICogQHVzZXJkYXRhOiBleHRyYSBkYXRhIGZvciBtYXRjaF9mdW5jCisgKiBAZnM6IHJldHVybnMgcG9pbnRlciB0byB0aGUgbmV4dCBtYXRjaGluZyB0YWJsZSBlbnRyeQorICoKKyAqIFRoaXMgZnVuY3Rpb24gYWxsb3dzIHNlYXJjaGluZyBpbiBAdGIuCisgKgorICogUmV0dXJuczogbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IsIDEgYXQgZW5kIG9mIHRhYmxlIG9yIDAgbyBzdWNjZXNzLgorICovCitpbnQgbW50X3RhYmxlX2ZpbmRfbmV4dF9mcyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yiwgc3RydWN0IGxpYm1udF9pdGVyICppdHIsCisJCWludCAoKm1hdGNoX2Z1bmMpKHN0cnVjdCBsaWJtbnRfZnMgKiwgdm9pZCAqKSwgdm9pZCAqdXNlcmRhdGEsCisJCXN0cnVjdCBsaWJtbnRfZnMgKipmcykKK3sKKwlpZiAoIXRiIHx8ICFpdHIgfHwgIWZzIHx8ICFtYXRjaF9mdW5jKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAibG9va3VwIG5leHQgZnMiKSk7CisKKwlpZiAoIWl0ci0+aGVhZCkKKwkJTU5UX0lURVJfSU5JVChpdHIsICZ0Yi0+ZW50cyk7CisKKwlkbyB7CisJCWlmIChpdHItPnAgIT0gaXRyLT5oZWFkKQorCQkJTU5UX0lURVJfSVRFUkFURShpdHIsICpmcywgc3RydWN0IGxpYm1udF9mcywgZW50cyk7CisJCWVsc2UKKwkJCWJyZWFrOwkJCS8qIGVuZCAqLworCisJCWlmIChtYXRjaF9mdW5jKCpmcywgdXNlcmRhdGEpKQorCQkJcmV0dXJuIDA7CisJfSB3aGlsZSgxKTsKKworCSpmcyA9IE5VTEw7CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgbW50X3RhYmxlX21vdmVfcGFyZW50KHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBpbnQgb2xkaWQsIGludCBuZXdpZCkKK3sKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgaXRyOworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCisJaWYgKCF0YikKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKGxpc3RfZW1wdHkoJnRiLT5lbnRzKSkKKwkJcmV0dXJuIDA7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIm1vdmluZyBwYXJlbnQgSUQgZnJvbSAlZCAtPiAlZCIsIG9sZGlkLCBuZXdpZCkpOworCW1udF9yZXNldF9pdGVyKCZpdHIsIE1OVF9JVEVSX0ZPUldBUkQpOworCisJd2hpbGUgKG1udF90YWJsZV9uZXh0X2ZzKHRiLCAmaXRyLCAmZnMpID09IDApIHsKKwkJaWYgKGZzLT5wYXJlbnQgPT0gb2xkaWQpCisJCQlmcy0+cGFyZW50ID0gbmV3aWQ7CisJfQorCXJldHVybiAwOworfQorCisvKioKKyAqIG1udF90YWJsZV91bmlxX2ZzOgorICogQHRiOiB0YWJsZQorICogQGZsYWdzOiBNTlRfVU5JUV8qCisgKiBAY21wOiBmdW5jdGlvbiB0byBjb21wYXJlIGZpbGVzeXN0ZW1zCisgKgorICogVGhpcyBmdW5jdGlvbiBkZS1kdXBsaWNhdGUgdGhlIEB0YiwgYnV0IGRvZXMgbm90IGNoYW5nZSBvcmRlciBvZiB0aGUKKyAqIGZpbGVzeXN0ZW1zLiBUaGUgQGNtcCBmdW5jdGlvbiBoYXMgdG8gcmV0dXJuIDAgaWYgdGhlIGZpbGVzeXN0ZW1zIGFyZQorICogZXF1YWwsIG90aGVyd2lzZSBub24temVyby4KKyAqCisgKiBUaGUgZGVmYXVsdCBpcyB0byBrZWVwIGluIHRoZSB0YWJsZSBsYXRlciBtb3VudGVkIGZpbGVzeXN0ZW1zIChmdW5jdGlvbiB1c2VzCisgKiBiYWNrd2FyZCBtb2RlIGl0ZXJhdG9yKS4KKyAqCisgKiBATU5UX1VOSVFfRk9SV0FSRDogIHJlbW92ZSBsYXRlciBtb3VudGVkIGZpbGVzeXN0ZW1zCisgKiBATU5UX1VOSVFfS0VFUFRSRUU6IGtlZXAgcGFyZW50LT5pZCByZWxhdGlvbnNoaXAgc3RpbGwgdmFsaWQKKyAqCisgKiBSZXR1cm5zOiBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvciwgb3IgMCBvIHN1Y2Nlc3MuCisgKi8KK2ludCBtbnRfdGFibGVfdW5pcV9mcyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgaW50IGZsYWdzLAorCQkJCWludCAoKmNtcCkoc3RydWN0IGxpYm1udF90YWJsZSAqLAorCQkJCQkgICBzdHJ1Y3QgbGlibW50X2ZzICosCisJCQkJCSAgIHN0cnVjdCBsaWJtbnRfZnMgKikpCit7CisJc3RydWN0IGxpYm1udF9pdGVyIGl0cjsKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKwlpbnQgZGlyZWN0aW9uID0gTU5UX0lURVJfQkFDS1dBUkQ7CisKKwlpZiAoIXRiIHx8ICFjbXApCisJCXJldHVybiAtRUlOVkFMOworCWlmIChsaXN0X2VtcHR5KCZ0Yi0+ZW50cykpCisJCXJldHVybiAwOworCisJaWYgKGZsYWdzICYgTU5UX1VOSVFfRk9SV0FSRCkKKwkJZGlyZWN0aW9uID0gTU5UX0lURVJfRk9SV0FSRDsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiZGUtZHVwbGljYXRlIikpOworCW1udF9yZXNldF9pdGVyKCZpdHIsIGRpcmVjdGlvbik7CisKKwlpZiAoKGZsYWdzICYgTU5UX1VOSVFfS0VFUFRSRUUpICYmICFpc19tb3VudGluZm8odGIpKQorCQlmbGFncyAmPSB+TU5UX1VOSVFfS0VFUFRSRUU7CisKKwl3aGlsZSAobW50X3RhYmxlX25leHRfZnModGIsICZpdHIsICZmcykgPT0gMCkgeworCQlpbnQgd2FudCA9IDE7CisJCXN0cnVjdCBsaWJtbnRfaXRlciB4dHI7CisJCXN0cnVjdCBsaWJtbnRfZnMgKng7CisKKwkJbW50X3Jlc2V0X2l0ZXIoJnh0ciwgZGlyZWN0aW9uKTsKKwkJd2hpbGUgKHdhbnQgJiYgbW50X3RhYmxlX25leHRfZnModGIsICZ4dHIsICZ4KSA9PSAwKSB7CisJCQlpZiAoZnMgPT0geCkKKwkJCQlicmVhazsKKwkJCXdhbnQgPSBjbXAodGIsIHgsIGZzKSAhPSAwOworCQl9CisKKwkJaWYgKCF3YW50KSB7CisJCQlpZiAoZmxhZ3MgJiBNTlRfVU5JUV9LRUVQVFJFRSkKKwkJCQltbnRfdGFibGVfbW92ZV9wYXJlbnQodGIsIG1udF9mc19nZXRfaWQoZnMpLAorCQkJCQkJCSAgbW50X2ZzX2dldF9wYXJlbnRfaWQoZnMpKTsKKworCQkJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJyZW1vdmUgZHVwbGljYXRlICVzIiwKKwkJCQkJCW1udF9mc19nZXRfdGFyZ2V0KGZzKSkpOworCQkJbW50X3RhYmxlX3JlbW92ZV9mcyh0YiwgZnMpOworCQl9CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X3RhYmxlX3NldF9pdGVyOgorICogQHRiOiB0YWIgcG9pbnRlcgorICogQGl0cjogaXRlcmF0b3IKKyAqIEBmczogdGFiIGVudHJ5CisgKgorICogU2V0cyBAaXRlciB0byB0aGUgcG9zaXRpb24gb2YgQGZzIGluIHRoZSBmaWxlIEB0Yi4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X3RhYmxlX3NldF9pdGVyKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciwgc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJaWYgKCF0YiB8fCAhaXRyIHx8ICFmcykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlNTlRfSVRFUl9JTklUKGl0ciwgJnRiLT5lbnRzKTsKKwlpdHItPnAgPSAmZnMtPmVudHM7CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfdGFibGVfZmluZF9tb3VudHBvaW50OgorICogQHRiOiB0YWIgcG9pbnRlcgorICogQHBhdGg6IGRpcmVjdG9yeQorICogQGRpcmVjdGlvbjogTU5UX0lURVJfe0ZPUldBUkQsQkFDS1dBUkR9CisgKgorICogU2FtZSBhcyBtbnRfZ2V0X21vdW50cG9pbnQoKSwgZXhjZXB0IHRoaXMgZnVuY3Rpb24gZG9lcyBub3QgcmVseSBvbgorICogc3RfZGV2IG51bWJlcnMuCisgKgorICogUmV0dXJuczogYSB0YWIgZW50cnkgb3IgTlVMTC4KKyAqLworc3RydWN0IGxpYm1udF9mcyAqbW50X3RhYmxlX2ZpbmRfbW91bnRwb2ludChzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwKKwkJCQkJICAgIGNvbnN0IGNoYXIgKnBhdGgsCisJCQkJCSAgICBpbnQgZGlyZWN0aW9uKQoreworCWNoYXIgKm1udDsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKworCWlmICghdGIgfHwgIXBhdGggfHwgISpwYXRoKQorCQlyZXR1cm4gTlVMTDsKKwlpZiAoZGlyZWN0aW9uICE9IE1OVF9JVEVSX0ZPUldBUkQgJiYgZGlyZWN0aW9uICE9IE1OVF9JVEVSX0JBQ0tXQVJEKQorCQlyZXR1cm4gTlVMTDsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAibG9va3VwIE1PVU5UUE9JTlQ6ICclcyciLCBwYXRoKSk7CisKKwlpZiAobW50X3N0YXRfbW91bnRwb2ludChwYXRoLCAmc3QpKQorCQlyZXR1cm4gTlVMTDsKKworCW1udCA9IHN0cmR1cChwYXRoKTsKKwlpZiAoIW1udCkKKwkJcmV0dXJuIE5VTEw7CisKKwlkbyB7CisJCWNoYXIgKnA7CisJCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCisJCWZzID0gbW50X3RhYmxlX2ZpbmRfdGFyZ2V0KHRiLCBtbnQsIGRpcmVjdGlvbik7CisJCWlmIChmcykgeworCQkJZnJlZShtbnQpOworCQkJcmV0dXJuIGZzOworCQl9CisKKwkJcCA9IHN0cmlwb2ZmX2xhc3RfY29tcG9uZW50KG1udCk7CisJCWlmICghcCkKKwkJCWJyZWFrOworCX0gd2hpbGUgKG1udCAmJiAqKG1udCArIDEpICE9ICdcMCcpOworCisJZnJlZShtbnQpOworCXJldHVybiBtbnRfdGFibGVfZmluZF90YXJnZXQodGIsICIvIiwgZGlyZWN0aW9uKTsKK30KKworLyoqCisgKiBtbnRfdGFibGVfZmluZF90YXJnZXQ6CisgKiBAdGI6IHRhYiBwb2ludGVyCisgKiBAcGF0aDogbW91bnRwb2ludCBkaXJlY3RvcnkKKyAqIEBkaXJlY3Rpb246IE1OVF9JVEVSX3tGT1JXQVJELEJBQ0tXQVJEfQorICoKKyAqIFRyeSB0byBsb29rdXAgYW4gZW50cnkgaW4gdGhlIGdpdmVuIHRhYiwgdGhyZWUgaXRlcmF0aW9ucyBhcmUgcG9zc2libGUsIHRoZSBmaXJzdAorICogd2l0aCBAcGF0aCwgdGhlIHNlY29uZCB3aXRoIHJlYWxwYXRoKEBwYXRoKSBhbmQgdGhlIHRoaXJkIHdpdGggcmVhbHBhdGgoQHBhdGgpCisgKiBhZ2FpbnN0IHJlYWxwYXRoKGZzLT50YXJnZXQpLiBUaGUgMm5kIGFuZCAzcmQgaXRlcmF0aW9ucyBhcmUgbm90IHBlcmZvcm1lZCB3aGVuCisgKiB0aGUgQHRiIGNhY2hlIGlzIG5vdCBzZXQgKHNlZSBtbnRfdGFibGVfc2V0X2NhY2hlKCkpLiBJZgorICogbW50X2NhY2hlX3NldF90YXJnZXRzKGNhY2hlLCBtdGFiKSB3YXMgY2FsbGVkLCB0aGUgM3JkIGl0ZXJhdGlvbiBza2lwcyBhbnkKKyAqIEBmcy0+dGFyZ2V0IGZvdW5kIGluIEBtdGFiIChzZWUgbW50X3Jlc29sdmVfdGFyZ2V0KCkpLgorICoKKyAqIFJldHVybnM6IGEgdGFiIGVudHJ5IG9yIE5VTEwuCisgKi8KK3N0cnVjdCBsaWJtbnRfZnMgKm1udF90YWJsZV9maW5kX3RhcmdldChzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgY29uc3QgY2hhciAqcGF0aCwgaW50IGRpcmVjdGlvbikKK3sKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgaXRyOworCXN0cnVjdCBsaWJtbnRfZnMgKmZzID0gTlVMTDsKKwljaGFyICpjbjsKKworCWlmICghdGIgfHwgIXBhdGggfHwgISpwYXRoKQorCQlyZXR1cm4gTlVMTDsKKwlpZiAoZGlyZWN0aW9uICE9IE1OVF9JVEVSX0ZPUldBUkQgJiYgZGlyZWN0aW9uICE9IE1OVF9JVEVSX0JBQ0tXQVJEKQorCQlyZXR1cm4gTlVMTDsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAibG9va3VwIFRBUkdFVDogJyVzJyIsIHBhdGgpKTsKKworCS8qIG5hdGl2ZSBAdGFyZ2V0ICovCisJbW50X3Jlc2V0X2l0ZXIoJml0ciwgZGlyZWN0aW9uKTsKKwl3aGlsZShtbnRfdGFibGVfbmV4dF9mcyh0YiwgJml0ciwgJmZzKSA9PSAwKSB7CisJCWlmIChtbnRfZnNfc3RyZXFfdGFyZ2V0KGZzLCBwYXRoKSkKKwkJCXJldHVybiBmczsKKwl9CisKKwkvKiB0cnkgYWJzb2x1dGUgcGF0aCAqLworCWlmIChpc19yZWxhdGl2ZV9wYXRoKHBhdGgpICYmIChjbiA9IGFic29sdXRlX3BhdGgocGF0aCkpKSB7CisJCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAibG9va3VwIGFic29sdXRlIFRBUkdFVDogJyVzJyIsIGNuKSk7CisJCW1udF9yZXNldF9pdGVyKCZpdHIsIGRpcmVjdGlvbik7CisJCXdoaWxlIChtbnRfdGFibGVfbmV4dF9mcyh0YiwgJml0ciwgJmZzKSA9PSAwKSB7CisJCQlpZiAobW50X2ZzX3N0cmVxX3RhcmdldChmcywgY24pKSB7CisJCQkJZnJlZShjbik7CisJCQkJcmV0dXJuIGZzOworCQkJfQorCQl9CisJCWZyZWUoY24pOworCX0KKworCWlmICghdGItPmNhY2hlIHx8ICEoY24gPSBtbnRfcmVzb2x2ZV9wYXRoKHBhdGgsIHRiLT5jYWNoZSkpKQorCQlyZXR1cm4gTlVMTDsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAibG9va3VwIGNhbm9uaWNhbCBUQVJHRVQ6ICclcyciLCBjbikpOworCisJLyogY2Fub25pY2FsaXplZCBwYXRocyBpbiBzdHJ1Y3QgbGlibW50X3RhYmxlICovCisJbW50X3Jlc2V0X2l0ZXIoJml0ciwgZGlyZWN0aW9uKTsKKwl3aGlsZShtbnRfdGFibGVfbmV4dF9mcyh0YiwgJml0ciwgJmZzKSA9PSAwKSB7CisJCWlmIChtbnRfZnNfc3RyZXFfdGFyZ2V0KGZzLCBjbikpCisJCQlyZXR1cm4gZnM7CisJfQorCisJLyogbm9uLWNhbm9uaWNhbCBwYXRoIGluIHN0cnVjdCBsaWJtbnRfdGFibGUKKwkgKiAtLSBub3RlIHRoYXQgbW91bnRwb2ludCBpbiAvcHJvYy9zZWxmL21vdW50aW5mbyBpcyBhbHJlYWR5CisJICogICAgY2Fub25pY2FsaXplZCBieSB0aGUga2VybmVsCisJICovCisJbW50X3Jlc2V0X2l0ZXIoJml0ciwgZGlyZWN0aW9uKTsKKwl3aGlsZShtbnRfdGFibGVfbmV4dF9mcyh0YiwgJml0ciwgJmZzKSA9PSAwKSB7CisJCWNoYXIgKnA7CisKKwkJaWYgKCFmcy0+dGFyZ2V0CisJCSAgICB8fCBtbnRfZnNfaXNfc3dhcGFyZWEoZnMpCisJCSAgICB8fCBtbnRfZnNfaXNfa2VybmVsKGZzKQorCQkgICAgfHwgKCpmcy0+dGFyZ2V0ID09ICcvJyAmJiAqKGZzLT50YXJnZXQgKyAxKSA9PSAnXDAnKSkKKwkJICAgICAgIGNvbnRpbnVlOworCisJCXAgPSBtbnRfcmVzb2x2ZV90YXJnZXQoZnMtPnRhcmdldCwgdGItPmNhY2hlKTsKKwkJLyogYm90aCBjYW5vbmljYWxpemVkLCBzdHJjbXAoKSBpcyBmaW5lIGhlcmUgKi8KKwkJaWYgKHAgJiYgc3RyY21wKGNuLCBwKSA9PSAwKQorCQkJcmV0dXJuIGZzOworCX0KKwlyZXR1cm4gTlVMTDsKK30KKworLyoqCisgKiBtbnRfdGFibGVfZmluZF9zcmNwYXRoOgorICogQHRiOiB0YWIgcG9pbnRlcgorICogQHBhdGg6IHNvdXJjZSBwYXRoIChkZXZuYW1lIG9yIGRpcm5hbWUpIG9yIE5VTEwKKyAqIEBkaXJlY3Rpb246IE1OVF9JVEVSX3tGT1JXQVJELEJBQ0tXQVJEfQorICoKKyAqIFRyeSB0byBsb29rdXAgYW4gZW50cnkgaW4gdGhlIGdpdmVuIHRhYiwgZm91ciBpdGVyYXRpb25zIGFyZSBwb3NzaWJsZSwgdGhlIGZpcnN0CisgKiB3aXRoIEBwYXRoLCB0aGUgc2Vjb25kIHdpdGggcmVhbHBhdGgoQHBhdGgpLCB0aGUgdGhpcmQgd2l0aCB0YWdzIChMQUJFTCwgVVVJRCwgLi4pCisgKiBmcm9tIEBwYXRoIGFuZCB0aGUgZm91cnRoIHdpdGggcmVhbHBhdGgoQHBhdGgpIGFnYWluc3QgcmVhbHBhdGgoZW50cnktPnNyY3BhdGgpLgorICoKKyAqIFRoZSAybmQsIDNyZCBhbmQgNHRoIGl0ZXJhdGlvbnMgYXJlIG5vdCBwZXJmb3JtZWQgd2hlbiB0aGUgQHRiIGNhY2hlIGlzIG5vdAorICogc2V0IChzZWUgbW50X3RhYmxlX3NldF9jYWNoZSgpKS4KKyAqCisgKiBOb3RlIHRoYXQgTlVMTCBpcyBhIHZhbGlkIHNvdXJjZSBwYXRoOyBpdCB3aWxsIGJlIHJlcGxhY2VkIHdpdGggIm5vbmUiLiBUaGUKKyAqICJub25lIiBpcyB1c2VkIGluIC9wcm9jL3ttb3VudHMsc2VsZi9tb3VudGluZm99IGZvciBwc2V1ZG8gZmlsZXN5c3RlbXMuCisgKgorICogUmV0dXJuczogYSB0YWIgZW50cnkgb3IgTlVMTC4KKyAqLworc3RydWN0IGxpYm1udF9mcyAqbW50X3RhYmxlX2ZpbmRfc3JjcGF0aChzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgY29uc3QgY2hhciAqcGF0aCwgaW50IGRpcmVjdGlvbikKK3sKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgaXRyOworCXN0cnVjdCBsaWJtbnRfZnMgKmZzID0gTlVMTDsKKwlpbnQgbnRhZ3MgPSAwLCBuZW50czsKKwljaGFyICpjbjsKKwljb25zdCBjaGFyICpwOworCisJaWYgKCF0YiB8fCAhcGF0aCB8fCAhKnBhdGgpCisJCXJldHVybiBOVUxMOworCWlmIChkaXJlY3Rpb24gIT0gTU5UX0lURVJfRk9SV0FSRCAmJiBkaXJlY3Rpb24gIT0gTU5UX0lURVJfQkFDS1dBUkQpCisJCXJldHVybiBOVUxMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJsb29rdXAgU1JDUEFUSDogJyVzJyIsIHBhdGgpKTsKKworCS8qIG5hdGl2ZSBwYXRocyAqLworCW1udF9yZXNldF9pdGVyKCZpdHIsIGRpcmVjdGlvbik7CisJd2hpbGUobW50X3RhYmxlX25leHRfZnModGIsICZpdHIsICZmcykgPT0gMCkgeworCQlpZiAobW50X2ZzX3N0cmVxX3NyY3BhdGgoZnMsIHBhdGgpKQorCQkJcmV0dXJuIGZzOworCQlpZiAobW50X2ZzX2dldF90YWcoZnMsIE5VTEwsIE5VTEwpID09IDApCisJCQludGFncysrOworCX0KKworCWlmICghcGF0aCB8fCAhdGItPmNhY2hlIHx8ICEoY24gPSBtbnRfcmVzb2x2ZV9wYXRoKHBhdGgsIHRiLT5jYWNoZSkpKQorCQlyZXR1cm4gTlVMTDsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAibG9va3VwIGNhbm9uaWNhbCBTUkNQQVRIOiAnJXMnIiwgY24pKTsKKworCW5lbnRzID0gbW50X3RhYmxlX2dldF9uZW50cyh0Yik7CisKKwkvKiBjYW5vbmljYWxpemVkIHBhdGhzIGluIHN0cnVjdCBsaWJtbnRfdGFibGUgKi8KKwlpZiAobnRhZ3MgPCBuZW50cykgeworCQltbnRfcmVzZXRfaXRlcigmaXRyLCBkaXJlY3Rpb24pOworCQl3aGlsZShtbnRfdGFibGVfbmV4dF9mcyh0YiwgJml0ciwgJmZzKSA9PSAwKSB7CisJCQlpZiAobW50X2ZzX3N0cmVxX3NyY3BhdGgoZnMsIGNuKSkKKwkJCQlyZXR1cm4gZnM7CisJCX0KKwl9CisKKwkvKiBldmFsdWF0ZWQgdGFnICovCisJaWYgKG50YWdzKSB7CisJCWludCByYyA9IG1udF9jYWNoZV9yZWFkX3RhZ3ModGItPmNhY2hlLCBjbik7CisKKwkJbW50X3Jlc2V0X2l0ZXIoJml0ciwgZGlyZWN0aW9uKTsKKworCQlpZiAocmMgPT0gMCkgeworCQkJLyogQHBhdGgncyBUQUdzIGFyZSBpbiB0aGUgY2FjaGUgKi8KKwkJCXdoaWxlKG1udF90YWJsZV9uZXh0X2ZzKHRiLCAmaXRyLCAmZnMpID09IDApIHsKKwkJCQljb25zdCBjaGFyICp0LCAqdjsKKworCQkJCWlmIChtbnRfZnNfZ2V0X3RhZyhmcywgJnQsICZ2KSkKKwkJCQkJY29udGludWU7CisKKwkJCQlpZiAobW50X2NhY2hlX2RldmljZV9oYXNfdGFnKHRiLT5jYWNoZSwgY24sIHQsIHYpKQorCQkJCQlyZXR1cm4gZnM7CisJCQl9CisJCX0gZWxzZSBpZiAocmMgPCAwICYmIGVycm5vID09IEVBQ0NFUykgeworCQkJLyogQHBhdGggaXMgaW5hY2Nlc3NpYmxlLCB0cnkgZXZhbHVhdGluZyBhbGwgVEFHcyBpbiBAdGIKKwkJCSAqIGJ5IHVkZXYgc3ltbGlua3MgLS0gdGhpcyBjb3VsZCBiZSBleHBlbnNpdmUgb24gc3lzdGVtcworCQkJICogd2l0aCBhIGh1Z2UgZnN0YWIvbXRhYiAqLworCQkJIHdoaWxlKG1udF90YWJsZV9uZXh0X2ZzKHRiLCAmaXRyLCAmZnMpID09IDApIHsKKwkJCQkgY29uc3QgY2hhciAqdCwgKnYsICp4OworCQkJCSBpZiAobW50X2ZzX2dldF90YWcoZnMsICZ0LCAmdikpCisJCQkJCSBjb250aW51ZTsKKwkJCQkgeCA9IG1udF9yZXNvbHZlX3RhZyh0LCB2LCB0Yi0+Y2FjaGUpOworCisJCQkJIC8qIGJvdGggY2Fub25pY2FsaXplZCwgc3RyY21wKCkgaXMgZmluZSBoZXJlICovCisJCQkJIGlmICh4ICYmIHN0cmNtcCh4LCBjbikgPT0gMCkKKwkJCQkJIHJldHVybiBmczsKKwkJCSB9CisJCX0KKwl9CisKKwkvKiBub24tY2Fub25pY2FsaXplZCBwYXRocyBpbiBzdHJ1Y3QgbGlibW50X3RhYmxlICovCisJaWYgKG50YWdzIDw9IG5lbnRzKSB7CisJCW1udF9yZXNldF9pdGVyKCZpdHIsIGRpcmVjdGlvbik7CisJCXdoaWxlKG1udF90YWJsZV9uZXh0X2ZzKHRiLCAmaXRyLCAmZnMpID09IDApIHsKKwkJCWlmIChtbnRfZnNfaXNfbmV0ZnMoZnMpIHx8IG1udF9mc19pc19wc2V1ZG9mcyhmcykpCisJCQkJY29udGludWU7CisJCQlwID0gbW50X2ZzX2dldF9zcmNwYXRoKGZzKTsKKwkJCWlmIChwKQorCQkJCXAgPSBtbnRfcmVzb2x2ZV9wYXRoKHAsIHRiLT5jYWNoZSk7CisKKwkJCS8qIGJvdGggY2Fub25pY2FsaXplZCwgc3RyY21wKCkgaXMgZmluZSBoZXJlICovCisJCQlpZiAocCAmJiBzdHJjbXAocCwgY24pID09IDApCisJCQkJcmV0dXJuIGZzOworCQl9CisJfQorCisJcmV0dXJuIE5VTEw7Cit9CisKKworLyoqCisgKiBtbnRfdGFibGVfZmluZF90YWc6CisgKiBAdGI6IHRhYiBwb2ludGVyCisgKiBAdGFnOiB0YWcgbmFtZSAoZS5nICJMQUJFTCIsICJVVUlEIiwgLi4uKQorICogQHZhbDogdGFnIHZhbHVlCisgKiBAZGlyZWN0aW9uOiBNTlRfSVRFUl97Rk9SV0FSRCxCQUNLV0FSRH0KKyAqCisgKiBUcnkgdG8gbG9va3VwIGFuIGVudHJ5IGluIHRoZSBnaXZlbiB0YWIsIHRoZSBmaXJzdCBhdHRlbXB0IGlzIHRvIGxvb2t1cCBieSBAdGFnIGFuZAorICogQHZhbCwgZm9yIHRoZSBzZWNvbmQgYXR0ZW1wdCB0aGUgdGFnIGlzIGV2YWx1YXRlZCAoY29udmVydGVkIHRvIHRoZSBkZXZpY2UKKyAqIG5hbWUpIGFuZCBtbnRfdGFibGVfZmluZF9zcmNwYXRoKCkgaXMgcGVyZm9ybWVkLiBUaGUgc2Vjb25kIGF0dGVtcHQgaXMgbm90CisgKiBwZXJmb3JtZWQgd2hlbiBAdGIgY2FjaGUgaXMgbm90IHNldCAoc2VlIG1udF90YWJsZV9zZXRfY2FjaGUoKSkuCisKKyAqIFJldHVybnM6IGEgdGFiIGVudHJ5IG9yIE5VTEwuCisgKi8KK3N0cnVjdCBsaWJtbnRfZnMgKm1udF90YWJsZV9maW5kX3RhZyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgY29uc3QgY2hhciAqdGFnLAorCQkJY29uc3QgY2hhciAqdmFsLCBpbnQgZGlyZWN0aW9uKQoreworCXN0cnVjdCBsaWJtbnRfaXRlciBpdHI7CisJc3RydWN0IGxpYm1udF9mcyAqZnMgPSBOVUxMOworCisJaWYgKCF0YiB8fCAhdGFnIHx8ICEqdGFnIHx8ICF2YWwpCisJCXJldHVybiBOVUxMOworCWlmIChkaXJlY3Rpb24gIT0gTU5UX0lURVJfRk9SV0FSRCAmJiBkaXJlY3Rpb24gIT0gTU5UX0lURVJfQkFDS1dBUkQpCisJCXJldHVybiBOVUxMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJsb29rdXAgYnkgVEFHOiAlcyAlcyIsIHRhZywgdmFsKSk7CisKKwkvKiBsb29rIHVwIGJ5IFRBRyAqLworCW1udF9yZXNldF9pdGVyKCZpdHIsIGRpcmVjdGlvbik7CisJd2hpbGUobW50X3RhYmxlX25leHRfZnModGIsICZpdHIsICZmcykgPT0gMCkgeworCQlpZiAoZnMtPnRhZ25hbWUgJiYgZnMtPnRhZ3ZhbCAmJgorCQkgICAgc3RyY21wKGZzLT50YWduYW1lLCB0YWcpID09IDAgJiYKKwkJICAgIHN0cmNtcChmcy0+dGFndmFsLCB2YWwpID09IDApCisJCQlyZXR1cm4gZnM7CisJfQorCisJaWYgKHRiLT5jYWNoZSkgeworCQkvKiBsb29rIHVwIGJ5IGRldmljZSBuYW1lICovCisJCWNoYXIgKmNuID0gbW50X3Jlc29sdmVfdGFnKHRhZywgdmFsLCB0Yi0+Y2FjaGUpOworCQlpZiAoY24pCisJCQlyZXR1cm4gbW50X3RhYmxlX2ZpbmRfc3JjcGF0aCh0YiwgY24sIGRpcmVjdGlvbik7CisJfQorCXJldHVybiBOVUxMOworfQorCisvKioKKyAqIG1udF90YWJsZV9maW5kX3RhcmdldF93aXRoX29wdGlvbjoKKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqIEBwYXRoOiBtb3VudHBvaW50IGRpcmVjdG9yeQorICogQG9wdGlvbjogb3B0aW9uIG5hbWUgKGUuZyAic3Vidm9sIiwgInN1YnZvbGlkIiwgLi4uKQorICogQHZhbDogb3B0aW9uIHZhbHVlIG9yIE5VTEwKKyAqIEBkaXJlY3Rpb246IE1OVF9JVEVSX3tGT1JXQVJELEJBQ0tXQVJEfQorICoKKyAqIFRyeSB0byBsb29rdXAgYW4gZW50cnkgaW4gdGhlIGdpdmVuIHRhYiB0aGF0IG1hdGNoZXMgY29tYmluYXRpb24gb2YgQHBhdGgKKyAqIGFuZCBAb3B0aW9uLiBJbiBkaWZmZXJlbmNlIHRvIG1udF90YWJsZV9maW5kX3RhcmdldCgpLCBvbmx5IEBwYXRoIGl0ZXJhdGlvbgorICogaXMgZG9uZS4gTm8gbG9va3VwIGJ5IGRldmljZSBuYW1lLCBubyBjYW5vbmljYWxpemF0aW9uLgorICoKKyAqIFJldHVybnM6IGEgdGFiIGVudHJ5IG9yIE5VTEwuCisgKgorICogU2luY2U6IDIuMjgKKyAqLworc3RydWN0IGxpYm1udF9mcyAqbW50X3RhYmxlX2ZpbmRfdGFyZ2V0X3dpdGhfb3B0aW9uKAorCQkJc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKnBhdGgsCisJCQljb25zdCBjaGFyICpvcHRpb24sIGNvbnN0IGNoYXIgKnZhbCwgaW50IGRpcmVjdGlvbikKK3sKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgaXRyOworCXN0cnVjdCBsaWJtbnRfZnMgKmZzID0gTlVMTDsKKwljaGFyICpvcHR2YWwgPSBOVUxMOworCXNpemVfdCBvcHR2YWxzeiA9IDAsIHZhbHN6ID0gdmFsID8gc3RybGVuKHZhbCkgOiAwOworCisJaWYgKCF0YiB8fCAhcGF0aCB8fCAhKnBhdGggfHwgIW9wdGlvbiB8fCAhKm9wdGlvbiB8fCAhdmFsKQorCQlyZXR1cm4gTlVMTDsKKwlpZiAoZGlyZWN0aW9uICE9IE1OVF9JVEVSX0ZPUldBUkQgJiYgZGlyZWN0aW9uICE9IE1OVF9JVEVSX0JBQ0tXQVJEKQorCQlyZXR1cm4gTlVMTDsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAibG9va3VwIFRBUkdFVDogJyVzJyB3aXRoIE9QVElPTiAlcyAlcyIsIHBhdGgsIG9wdGlvbiwgdmFsKSk7CisKKwkvKiBsb29rIHVwIGJ5IG5hdGl2ZSBAdGFyZ2V0IHdpdGggT1BUSU9OICovCisJbW50X3Jlc2V0X2l0ZXIoJml0ciwgZGlyZWN0aW9uKTsKKwl3aGlsZSAobW50X3RhYmxlX25leHRfZnModGIsICZpdHIsICZmcykgPT0gMCkgeworCQlpZiAobW50X2ZzX3N0cmVxX3RhcmdldChmcywgcGF0aCkKKwkJICAgICYmIG1udF9mc19nZXRfb3B0aW9uKGZzLCBvcHRpb24sICZvcHR2YWwsICZvcHR2YWxzeikgPT0gMAorCQkgICAgJiYgKCF2YWwgfHwgKG9wdHZhbHN6ID09IHZhbHN6CisJCQkJICYmIHN0cm5jbXAob3B0dmFsLCB2YWwsIG9wdHZhbHN6KSA9PSAwKSkpCisJCQlyZXR1cm4gZnM7CisJfQorCXJldHVybiBOVUxMOworfQorCisvKioKKyAqIG1udF90YWJsZV9maW5kX3NvdXJjZToKKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqIEBzb3VyY2U6IFRBRyBvciBwYXRoCisgKiBAZGlyZWN0aW9uOiBNTlRfSVRFUl97Rk9SV0FSRCxCQUNLV0FSRH0KKyAqCisgKiBUaGlzIGlzIGEgaGlnaC1sZXZlbCBBUEkgZm9yIG1udF90YWJsZV9maW5kX3tzcmNwYXRoLHRhZ30uIFlvdSBuZWVkbid0IGNhcmUKKyAqIGFib3V0IHRoZSBAc291cmNlIGZvcm1hdCAoZGV2aWNlLCBMQUJFTCwgVVVJRCwgLi4uKS4gVGhpcyBmdW5jdGlvbiBwYXJzZXMKKyAqIHRoZSBAc291cmNlIGFuZCBjYWxscyBtbnRfdGFibGVfZmluZF90YWcoKSBvciBtbnRfdGFibGVfZmluZF9zcmNwYXRoKCkuCisgKgorICogUmV0dXJuczogYSB0YWIgZW50cnkgb3IgTlVMTC4KKyAqLworc3RydWN0IGxpYm1udF9mcyAqbW50X3RhYmxlX2ZpbmRfc291cmNlKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLAorCQkJCQljb25zdCBjaGFyICpzb3VyY2UsIGludCBkaXJlY3Rpb24pCit7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJY2hhciAqdCA9IE5VTEwsICp2ID0gTlVMTDsKKworCWlmICghdGIpCisJCXJldHVybiBOVUxMOworCWlmIChkaXJlY3Rpb24gIT0gTU5UX0lURVJfRk9SV0FSRCAmJiBkaXJlY3Rpb24gIT0gTU5UX0lURVJfQkFDS1dBUkQpCisJCXJldHVybiBOVUxMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJsb29rdXAgU09VUkNFOiAnJXMnIiwgc291cmNlKSk7CisKKwlpZiAoYmxraWRfcGFyc2VfdGFnX3N0cmluZyhzb3VyY2UsICZ0LCAmdikgfHwgIW1udF92YWxpZF90YWduYW1lKHQpKQorCQlmcyA9IG1udF90YWJsZV9maW5kX3NyY3BhdGgodGIsIHNvdXJjZSwgZGlyZWN0aW9uKTsKKwllbHNlCisJCWZzID0gbW50X3RhYmxlX2ZpbmRfdGFnKHRiLCB0LCB2LCBkaXJlY3Rpb24pOworCisJZnJlZSh0KTsKKwlmcmVlKHYpOworCisJcmV0dXJuIGZzOworfQorCisvKioKKyAqIG1udF90YWJsZV9maW5kX3BhaXIKKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqIEBzb3VyY2U6IFRBRyBvciBwYXRoCisgKiBAdGFyZ2V0OiBtb3VudHBvaW50CisgKiBAZGlyZWN0aW9uOiBNTlRfSVRFUl97Rk9SV0FSRCxCQUNLV0FSRH0KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIGltcGxlbWVudGVkIGJ5IG1udF9mc19tYXRjaF9zb3VyY2UoKSBhbmQKKyAqIG1udF9mc19tYXRjaF90YXJnZXQoKSBmdW5jdGlvbnMuIEl0IG1lYW5zIHRoYXQgdGhpcyBpcyBtb3JlIGV4cGVuc2l2ZSB0aGFuCisgKiBvdGhlcnMgbW50X3RhYmxlX2ZpbmRfKiBmdW5jdGlvbiwgYmVjYXVzZSBldmVyeSBAdGFiIGVudHJ5IGlzIGZ1bGx5IGV2YWx1YXRlZC4KKyAqCisgKiBSZXR1cm5zOiBhIHRhYiBlbnRyeSBvciBOVUxMLgorICovCitzdHJ1Y3QgbGlibW50X2ZzICptbnRfdGFibGVfZmluZF9wYWlyKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBjb25zdCBjaGFyICpzb3VyY2UsCisJCQkJICAgICAgY29uc3QgY2hhciAqdGFyZ2V0LCBpbnQgZGlyZWN0aW9uKQoreworCXN0cnVjdCBsaWJtbnRfZnMgKmZzID0gTlVMTDsKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgaXRyOworCisJaWYgKCF0YiB8fCAhdGFyZ2V0IHx8ICEqdGFyZ2V0IHx8ICFzb3VyY2UgfHwgISpzb3VyY2UpCisJCXJldHVybiBOVUxMOworCWlmIChkaXJlY3Rpb24gIT0gTU5UX0lURVJfRk9SV0FSRCAmJiBkaXJlY3Rpb24gIT0gTU5UX0lURVJfQkFDS1dBUkQpCisJCXJldHVybiBOVUxMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJsb29rdXAgU09VUkNFOiAlcyBUQVJHRVQ6ICVzIiwgc291cmNlLCB0YXJnZXQpKTsKKworCW1udF9yZXNldF9pdGVyKCZpdHIsIGRpcmVjdGlvbik7CisJd2hpbGUobW50X3RhYmxlX25leHRfZnModGIsICZpdHIsICZmcykgPT0gMCkgeworCisJCWlmIChtbnRfZnNfbWF0Y2hfdGFyZ2V0KGZzLCB0YXJnZXQsIHRiLT5jYWNoZSkgJiYKKwkJICAgIG1udF9mc19tYXRjaF9zb3VyY2UoZnMsIHNvdXJjZSwgdGItPmNhY2hlKSkKKwkJCXJldHVybiBmczsKKwl9CisKKwlyZXR1cm4gTlVMTDsKK30KKworLyoqCisgKiBtbnRfdGFibGVfZmluZF9kZXZubworICogQHRiOiAvcHJvYy9zZWxmL21vdW50aW5mbworICogQGRldm5vOiBkZXZpY2UgbnVtYmVyCisgKiBAZGlyZWN0aW9uOiBNTlRfSVRFUl97Rk9SV0FSRCxCQUNLV0FSRH0KKyAqCisgKiBOb3RlIHRoYXQgemVybyBjb3VsZCBiZSBhIHZhbGlkIGRldmljZSBudW1iZXIgZm9yIHRoZSByb290IHBzZXVkbyBmaWxlc3lzdGVtIChlLmcuCisgKiB0bXBmcykuCisgKgorICogUmV0dXJuczogYSB0YWIgZW50cnkgb3IgTlVMTC4KKyAqLworc3RydWN0IGxpYm1udF9mcyAqbW50X3RhYmxlX2ZpbmRfZGV2bm8oc3RydWN0IGxpYm1udF90YWJsZSAqdGIsCisJCQkJICAgICAgIGRldl90IGRldm5vLCBpbnQgZGlyZWN0aW9uKQoreworCXN0cnVjdCBsaWJtbnRfZnMgKmZzID0gTlVMTDsKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgaXRyOworCisJaWYgKCF0YikKKwkJcmV0dXJuIE5VTEw7CisJaWYgKGRpcmVjdGlvbiAhPSBNTlRfSVRFUl9GT1JXQVJEICYmIGRpcmVjdGlvbiAhPSBNTlRfSVRFUl9CQUNLV0FSRCkKKwkJcmV0dXJuIE5VTEw7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImxvb2t1cCBERVZOTzogJWQiLCAoaW50KSBkZXZubykpOworCisJbW50X3Jlc2V0X2l0ZXIoJml0ciwgZGlyZWN0aW9uKTsKKworCXdoaWxlKG1udF90YWJsZV9uZXh0X2ZzKHRiLCAmaXRyLCAmZnMpID09IDApIHsKKwkJaWYgKG1udF9mc19nZXRfZGV2bm8oZnMpID09IGRldm5vKQorCQkJcmV0dXJuIGZzOworCX0KKworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgY2hhciAqcmVtb3ZlX21vdW50cG9pbnRfZnJvbV9wYXRoKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKm1udCkKK3sKKyAgICAgICAgY2hhciAqcmVzOworCWNvbnN0IGNoYXIgKnA7CisJc2l6ZV90IHN6OworCisJc3ogPSBzdHJsZW4obW50KTsKKwlwID0gc3ogPiAxID8gcGF0aCArIHN6IDogcGF0aDsKKworCXJlcyA9ICpwID8gc3RyZHVwKHApIDogc3RyZHVwKCIvIik7CisJREJHKFVUSUxTLCB1bF9kZWJ1ZygiJXMgZnMtcm9vdCBpcyAlcyIsIHBhdGgsIHJlcykpOworCXJldHVybiByZXM7Cit9CisKKyNpZmRlZiBIQVZFX0JUUkZTX1NVUFBPUlQKK3N0YXRpYyBpbnQgZ2V0X2J0cmZzX2ZzX3Jvb3Qoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjaGFyICoqcm9vdCkKK3sKKwljaGFyICp2b2wgPSBOVUxMLCAqcDsKKwlzaXplX3Qgc3osIHZvbHN6ID0gMDsKKworCURCRyhCVFJGUywgdWxfZGVidWcoImxvb2t1cCBmb3IgYnRyZnMgRlMgcm9vdCIpKTsKKwkqcm9vdCA9IE5VTEw7CisKKwlpZiAobW50X2ZzX2dldF9vcHRpb24oZnMsICJzdWJ2b2xpZCIsICZ2b2wsICZ2b2xzeikgPT0gMCkgeworCQljaGFyICp0YXJnZXQ7CisJCXN0cnVjdCBsaWJtbnRfZnMgKmY7CisJCWNoYXIgc3Vidm9saWRzdHJbc2l6ZW9mKHN0cmluZ2lmeV92YWx1ZShVSU5UNjRfTUFYKSldOworCisJCURCRyhCVFJGUywgdWxfZGVidWcoIiBmb3VuZCBzdWJ2b2xpZD0lcywgY2hlY2tpbmciLCB2b2wpKTsKKworCQlhc3NlcnQgKHZvbHN6ICsgMSA8IHNpemVvZihzdHJpbmdpZnlfdmFsdWUoVUlOVDY0X01BWCkpKTsKKwkJbWVtY3B5KHN1YnZvbGlkc3RyLCB2b2wsIHZvbHN6KTsKKwkJc3Vidm9saWRzdHJbdm9sc3pdID0gJ1wwJzsKKworCQl0YXJnZXQgPSBtbnRfcmVzb2x2ZV90YXJnZXQobW50X2ZzX2dldF90YXJnZXQoZnMpLCB0Yi0+Y2FjaGUpOworCQlpZiAoIXRhcmdldCkKKwkJCWdvdG8gZXJyOworCisJCURCRyhCVFJGUywgdWxfZGVidWcoIiB0cnlpbmcgdGFyZ2V0PSVzIHN1YnZvbGlkPSVzIiwgdGFyZ2V0LCBzdWJ2b2xpZHN0cikpOworCQlmID0gbW50X3RhYmxlX2ZpbmRfdGFyZ2V0X3dpdGhfb3B0aW9uKHRiLCB0YXJnZXQsCisJCQkJCSJzdWJ2b2xpZCIsIHN1YnZvbGlkc3RyLAorCQkJCQlNTlRfSVRFUl9CQUNLV0FSRCk7CisJCWlmICghdGItPmNhY2hlKQorCQkJZnJlZSh0YXJnZXQpOworCQlpZiAoIWYpCisJCQlnb3RvIG5vdF9mb3VuZDsKKworCQkvKiBJbnN0ZWFkIG9mIHNldCBvZiBCQUNLUkVGIHF1ZXJpZXMgY29uc3RydWN0aW5nIHN1YnZvbCBwYXRoCisJCSAqIGNvcnJlc3BvbmRpbmcgdG8gYSBwYXJ0aWN1bGFyIHN1YnZvbGlkLCB1c2UgdGhlIG9uZSBpbgorCQkgKiBtb3VudGluZm8uIEtlcm5lbCBrZWVwcyBzdWJ2b2wgcGF0aCB1cCB0byBkYXRlLgorCQkgKi8KKwkJaWYgKG1udF9mc19nZXRfb3B0aW9uKGYsICJzdWJ2b2wiLCAmdm9sLCAmdm9sc3opICE9IDApCisJCQlnb3RvIG5vdF9mb3VuZDsKKworCX0gZWxzZSBpZiAobW50X2ZzX2dldF9vcHRpb24oZnMsICJzdWJ2b2wiLCAmdm9sLCAmdm9sc3opICE9IDApIHsKKwkJLyogSWYgZnN0YWIgZW50cnkgZG9lcyBub3QgY29udGFpbiAic3Vidm9sIiwgd2UgaGF2ZSB0bworCQkgKiBjaGVjaywgd2hldGhlciBidHJmcyBoYXMgZGVmYXVsdCBzdWJ2b2x1bWUgZGVmaW5lZC4KKwkJICovCisJCXVpbnQ2NF90IGRlZmF1bHRfaWQ7CisJCWNoYXIgKnRhcmdldDsKKwkJc3RydWN0IGxpYm1udF9mcyAqZjsKKwkJY2hhciBkZWZhdWx0X2lkX3N0cltzaXplb2Yoc3RyaW5naWZ5X3ZhbHVlKFVJTlQ2NF9NQVgpKV07CisKKwkJREJHKEJUUkZTLCB1bF9kZWJ1ZygiIHN1YnZvbGlkL3N1YnZvbCBub3QgZm91bmQsIGNoZWNraW5nIGRlZmF1bHQiKSk7CisKKwkJZGVmYXVsdF9pZCA9IGJ0cmZzX2dldF9kZWZhdWx0X3N1YnZvbF9pZChtbnRfZnNfZ2V0X3RhcmdldChmcykpOworCQlpZiAoZGVmYXVsdF9pZCA9PSBVSU5UNjRfTUFYKQorCQkJZ290byBub3RfZm91bmQ7CisKKwkJLyogVm9sdW1lIGhhcyBkZWZhdWx0IHN1YnZvbHVtZS4gQ2hlY2sgaWYgaXQgbWF0Y2hlcyB0bworCQkgKiB0aGUgb25lIGluIG1vdW50aW5mby4KKwkJICoKKwkJICogT25seSBrZXJuZWwgPj0gNC4yIHJlcG9ydHMgc3Vidm9saWQuIE9uIG9sZGVyCisJCSAqIGtlcm5lbHMsIHRoZXJlIGlzIG5vIHJlYXNvbmFibGUgd2F5IHRvIGRldGVjdCB3aGljaAorCQkgKiBzdWJ2b2x1bWUgd2FzIG1vdW50ZWQuCisJCSAqLworCQl0YXJnZXQgPSBtbnRfcmVzb2x2ZV90YXJnZXQobW50X2ZzX2dldF90YXJnZXQoZnMpLCB0Yi0+Y2FjaGUpOworCQlpZiAoIXRhcmdldCkKKwkJCWdvdG8gZXJyOworCisJCXNucHJpbnRmKGRlZmF1bHRfaWRfc3RyLCBzaXplb2YoZGVmYXVsdF9pZF9zdHIpLCAiJWxsdSIsCisJCQkJKHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQpIGRlZmF1bHRfaWQpOworCisJCURCRyhCVFJGUywgdWxfZGVidWcoIiB0cnlpbmcgdGFyZ2V0PSVzIGRlZmF1bHQgc3Vidm9saWQ9JXMiLAorCQkJCQl0YXJnZXQsIGRlZmF1bHRfaWRfc3RyKSk7CisKKwkJZiA9IG1udF90YWJsZV9maW5kX3RhcmdldF93aXRoX29wdGlvbih0YiwgdGFyZ2V0LAorCQkJCQkic3Vidm9saWQiLCBkZWZhdWx0X2lkX3N0ciwKKwkJCQkJTU5UX0lURVJfQkFDS1dBUkQpOworCQlpZiAoIXRiLT5jYWNoZSkKKwkJCWZyZWUodGFyZ2V0KTsKKwkJaWYgKCFmKQorCQkJZ290byBub3RfZm91bmQ7CisKKwkJLyogSW5zdGVhZCBvZiBzZXQgb2YgQkFDS1JFRiBxdWVyaWVzIGNvbnN0cnVjdGluZworCQkgKiBzdWJ2b2wgcGF0aCwgdXNlIHRoZSBvbmUgaW4gbW91bnRpbmZvLiBLZXJuZWwgZG9lcworCQkgKiB0aGUgZXZhbHVhdGlvbiBmb3IgdXMuCisJCSAqLworCQlEQkcoQlRSRlMsIHVsX2RlYnVnKCJzZXR0aW5nIEZTIHJvb3Q6IGJ0cmZzIGRlZmF1bHQgc3Vidm9saWQgPSAlcyIsCisJCQkJCWRlZmF1bHRfaWRfc3RyKSk7CisKKwkJaWYgKG1udF9mc19nZXRfb3B0aW9uKGYsICJzdWJ2b2wiLCAmdm9sLCAmdm9sc3opICE9IDApCisJCQlnb3RvIG5vdF9mb3VuZDsKKwl9CisKKwlEQkcoQlRSRlMsIHVsX2RlYnVnKCIgdXNpbmcgc3Vidm9sPSVzIiwgdm9sKSk7CisJc3ogPSB2b2xzejsKKwlpZiAoKnZvbCAhPSAnLycpCisJCXN6Kys7CisJKnJvb3QgPSBtYWxsb2Moc3ogKyAxKTsKKwlpZiAoISpyb290KQorCQlnb3RvIGVycjsKKwlwID0gKnJvb3Q7CisJaWYgKCp2b2wgIT0gJy8nKQorCQkqcCsrID0gJy8nOworCW1lbWNweShwLCB2b2wsIHZvbHN6KTsKKwkqKCpyb290ICsgc3opID0gJ1wwJzsKKwlyZXR1cm4gMDsKKworbm90X2ZvdW5kOgorCURCRyhCVFJGUywgdWxfZGVidWcoIiBub3QgZm91bmQgYnRyZnMgdm9sdW1lIHNldHRpbmciKSk7CisJcmV0dXJuIDE7CitlcnI6CisJREJHKEJUUkZTLCB1bF9kZWJ1ZygiIGVycm9yIG9uIGJ0cmZzIHZvbHVtZSBzZXR0aW5nIGV2YWx1YXRpb24iKSk7CisJcmV0dXJuIGVycm5vID8gLWVycm5vIDogLTE7Cit9CisjZW5kaWYgLyogSEFWRV9CVFJGU19TVVBQT1JUICovCisKK3N0YXRpYyBjb25zdCBjaGFyICpnZXRfY2lmc191bmNfc3ViZGlyX3BhdGggKGNvbnN0IGNoYXIgKnVuYykKK3sKKwkvKgorCSAqICAxIG9yIG1vcmUgc2xhc2g6ICAgICAlKlsvXQorCSAqICAxIG9yIG1vcmUgbm9uLXNsYXNoOiAlKlteL10KKwkgKiAgbnVtYmVyIG9mIGJ5dGUgcmVhZDogJW4KKwkgKi8KKwlpbnQgc2hhcmVfZW5kID0gMDsKKwlpbnQgciA9IHNzY2FuZih1bmMsICIlKlsvXSUqW14vXSUqWy9dJSpbXi9dJW4iLCAmc2hhcmVfZW5kKTsKKwlpZiAociA9PSBFT0YgfHwgc2hhcmVfZW5kID09IDApCisJCXJldHVybiBOVUxMOworCXJldHVybiB1bmMgKyBzaGFyZV9lbmQ7Cit9CisKKy8qCisgKiB0YjogL3Byb2Mvc2VsZi9tb3VudGluZm8KKyAqIGZzOiBmaWxlc3lzdGVtCisgKiBtb3VudGZsYWdzOiBNU19CSU5EIG9yIDAKKyAqIGZzcm9vdDogZnMtcm9vdCB0aGF0IHdpbGwgcHJvYmFibHkgYmUgdXNlZCBpbiB0aGUgbW91bnRpbmZvIGZpbGUKKyAqICAgICAgICAgIGZvciBAZnMgYWZ0ZXIgbW91bnQoMikKKyAqCisgKiBGb3IgYnRyZnMgc3Vidm9sdW1lcyB0aGlzIGZ1bmN0aW9uIHJldHVybnMgTlVMTCwgYnV0IEBmc3Jvb3QgcHJvcGVybHkgc2V0LgorICoKKyAqIElmIEB0YiBpcyBOVUxMIHRoZW4gZGVmYXVsdHMgdG8gJy8nLgorICoKKyAqIFJldHVybnM6IGVudHJ5IGZyb20gQHRiIHRoYXQgd2lsbCBiZSB1c2VkIGFzIGEgc291cmNlIGZvciBAZnMgaWYgdGhlIEBmcyBpcworICogICAgICAgICAgYmluZG1vdW50LgorICoKKyAqIERvbid0IGV4cG9ydCB0byBsaWJyYXJ5IEFQSSEKKyAqLworc3RydWN0IGxpYm1udF9mcyAqbW50X3RhYmxlX2dldF9mc19yb290KHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLAorCQkJCQlzdHJ1Y3QgbGlibW50X2ZzICpmcywKKwkJCQkJdW5zaWduZWQgbG9uZyBtb3VudGZsYWdzLAorCQkJCQljaGFyICoqZnNyb290KQoreworCWNoYXIgKnJvb3QgPSBOVUxMOworCWNvbnN0IGNoYXIgKm1udCA9IE5VTEw7CisJY29uc3QgY2hhciAqZnN0eXBlOworCXN0cnVjdCBsaWJtbnRfZnMgKnNyY19mcyA9IE5VTEw7CisKKwlhc3NlcnQoZnMpOworCWFzc2VydChmc3Jvb3QpOworCisJREJHKFRBQiwgdWxfZGVidWcoImxvb2t1cCBmcy1yb290IGZvciAnJXMnIiwgbW50X2ZzX2dldF9zb3VyY2UoZnMpKSk7CisKKwlmc3R5cGUgPSBtbnRfZnNfZ2V0X2ZzdHlwZShmcyk7CisKKwlpZiAodGIgJiYgKG1vdW50ZmxhZ3MgJiBNU19CSU5EKSkgeworCQljb25zdCBjaGFyICpzcmMsICpzcmNfcm9vdDsKKwkJY2hhciAqeHNyYyA9IE5VTEw7CisKKwkJREJHKFRBQiwgdWxfZGVidWcoImZzLXJvb3QgZm9yIGJpbmQiKSk7CisKKwkJc3JjID0geHNyYyA9IG1udF9yZXNvbHZlX3NwZWMobW50X2ZzX2dldF9zb3VyY2UoZnMpLCB0Yi0+Y2FjaGUpOworCQlpZiAoc3JjKSB7CisJCQlzdHJ1Y3QgbGlibW50X2ZzICpmID0gbW50X3RhYmxlX2ZpbmRfbW91bnRwb2ludCh0YiwKKwkJCQkJCQlzcmMsIE1OVF9JVEVSX0JBQ0tXQVJEKTsKKwkJCWlmIChmKQorCQkJCW1udCA9IG1udF9mc19nZXRfdGFyZ2V0KGYpOworCQl9CisJCWlmIChtbnQpCisJCQlyb290ID0gcmVtb3ZlX21vdW50cG9pbnRfZnJvbV9wYXRoKHNyYywgbW50KTsKKworCQlpZiAoeHNyYyAmJiAhdGItPmNhY2hlKSB7CisJCQlmcmVlKHhzcmMpOworCQkJc3JjID0gTlVMTDsKKwkJfQorCQlpZiAoIW1udCkKKwkJCWdvdG8gZXJyOworCisJCXNyY19mcyA9IG1udF90YWJsZV9maW5kX3RhcmdldCh0YiwgbW50LCBNTlRfSVRFUl9CQUNLV0FSRCk7CisJCWlmICghc3JjX2ZzKSAgeworCQkJREJHKFRBQiwgdWxfZGVidWcoIm5vdCBmb3VuZCAnJXMnIGluIG1vdW50aW5mbyAtLSB1c2luZyBkZWZhdWx0IiwgbW50KSk7CisJCQlnb3RvIGRmbHQ7CisJCX0KKworCQkvKiBJdCdzIHBvc3NpYmxlIHRoYXQgZnN0YWJfZnMgc291cmNlIGlzIHN1YmRpcmVjdG9yeSBvbiBidHJmcworCQkgKiBzdWJ2b2x1bWUgb3IgYW5vdGhlciBiaW5kIG1vdW50LiBGb3IgZXhhbXBsZToKKwkJICoKKwkJICogL2Rldi9zZGMgICAgICAgIC9tbnQvdGVzdCAgICAgICBidHJmcyAgIHN1YnZvbD0vYW55ZGlyCisJCSAqIC9kZXYvc2RjICAgICAgICAvbW50L3Rlc3QgICAgICAgYnRyZnMgICBkZWZhdWx0cworCQkgKiAvbW50L3Rlc3QvZm9vICAgL21udC90ZXN0MiAgICAgIGF1dG8gICAgYmluZAorCQkgKgorCQkgKiBpbiB0aGlzIGNhc2UsIHRoZSByb290IGZvciAvbW50L3Rlc3QyIHdpbGwgYmUgL2FueWRpci9mb28gb24KKwkJICogL2Rldi9zZGMuIEl0IG1lYW5zIHdlIGhhdmUgdG8gY29tcG9zZSB0aGUgZmluYWwgcm9vdCBmcm9tCisJCSAqIHJvb3QgYW5kIHNyY19yb290LgorCQkgKi8KKwkJc3JjX3Jvb3QgPSBtbnRfZnNfZ2V0X3Jvb3Qoc3JjX2ZzKTsKKworCQlEQkcoRlMsIHVsX2RlYnVnb2JqKGZzLCAic291cmNlIHJvb3Q6ICVzLCBzb3VyY2UgRlMgcm9vdDogJXMiLCByb290LCBzcmNfcm9vdCkpOworCisJCWlmIChzcmNfcm9vdCAmJiAhc3RhcnRzd2l0aChyb290LCBzcmNfcm9vdCkpIHsKKwkJCWlmIChzdHJjbXAocm9vdCwgIi8iKSA9PSAwKSB7CisJCQkJZnJlZShyb290KTsKKwkJCQlyb290ID0gc3RyZHVwKHNyY19yb290KTsKKwkJCQlpZiAoIXJvb3QpCisJCQkJCWdvdG8gZXJyOworCQkJfSBlbHNlIHsKKwkJCQljaGFyICp0bXA7CisJCQkJaWYgKGFzcHJpbnRmKCZ0bXAsICIlcyVzIiwgc3JjX3Jvb3QsIHJvb3QpIDwgMCkKKwkJCQkJZ290byBlcnI7CisJCQkJZnJlZShyb290KTsKKwkJCQlyb290ID0gdG1wOworCQkJfQorCQl9CisJfQorCisjaWZkZWYgSEFWRV9CVFJGU19TVVBQT1JUCisJLyoKKwkgKiBidHJmcy1zdWJ2b2x1bWUgbW91bnQgLS0gZ2V0IHN1YnZvbHVtZSBuYW1lIGFuZCB1c2UgaXQgYXMgYSByb290LWZzIHBhdGgKKwkgKi8KKwllbHNlIGlmICh0YiAmJiBmc3R5cGUgJiYgKCFzdHJjbXAoZnN0eXBlLCAiYnRyZnMiKSB8fCAhc3RyY21wKGZzdHlwZSwgImF1dG8iKSkpIHsKKwkJaWYgKGdldF9idHJmc19mc19yb290KHRiLCBmcywgJnJvb3QpIDwgMCkKKwkJCWdvdG8gZXJyOworCX0KKyNlbmRpZiAvKiBIQVZFX0JUUkZTX1NVUFBPUlQgKi8KKworZGZsdDoKKwlpZiAoIXJvb3QpIHsKKwkJcm9vdCA9IHN0cmR1cCgiLyIpOworCQlpZiAoIXJvb3QpCisJCQlnb3RvIGVycjsKKwl9CisJKmZzcm9vdCA9IHJvb3Q7CisKKwlEQkcoVEFCLCB1bF9kZWJ1ZygiRlMgcm9vdCByZXN1bHQ6ICVzIiwgcm9vdCkpOworCisJcmV0dXJuIHNyY19mczsKK2VycjoKKwlmcmVlKHJvb3QpOworCXJldHVybiBOVUxMOworfQorCisvKioKKyAqIG1udF90YWJsZV9pc19mc19tb3VudGVkOgorICogQHRiOiAvcHJvYy9zZWxmL21vdW50aW5mbyBmaWxlCisgKiBAZnN0YWJfZnM6IC9ldGMvZnN0YWIgZW50cnkKKyAqCisgKiBDaGVja3MgaWYgdGhlIEBmc3RhYl9mcyBlbnRyeSBpcyBhbHJlYWR5IGluIHRoZSBAdGIgdGFibGUuIFRoZSAic3dhcCIgaXMKKyAqIGlnbm9yZWQuIFRoaXMgZnVuY3Rpb24gZXhwbGljaXRseSBjb21wYXJlcyB0aGUgc291cmNlLCB0YXJnZXQgYW5kIHJvb3Qgb2YgdGhlCisgKiBmaWxlc3lzdGVtcy4KKyAqCisgKiBOb3RlIHRoYXQgc291cmNlIGFuZCB0YXJnZXQgYXJlIGNhbm9uaWNhbGl6ZWQgb25seSBpZiBhIGNhY2hlIGZvciBAdGIgaXMKKyAqIGRlZmluZWQgKHNlZSBtbnRfdGFibGVfc2V0X2NhY2hlKCkpLiBUaGUgdGFyZ2V0IGNhbm9uaWNhbGl6YXRpb24gbWF5CisgKiB0cmlnZ2VyIGF1dG9tb3VudCBvbiBhdXRvZnMgbW91bnRwb2ludHMhCisgKgorICogRG9uJ3QgdXNlIGl0IGlmIHlvdSB3YW50IHRvIGtub3cgaWYgYSBkZXZpY2UgaXMgbW91bnRlZCwganVzdCB1c2UKKyAqIG1udF90YWJsZV9maW5kX3NvdXJjZSgpIG9uIHRoZSBkZXZpY2UuCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyBkZXNpZ25lZCBtb3N0bHkgZm9yICJtb3VudCAtYSIuCisgKgorICogUmV0dXJuczogMCBvciAxCisgKi8KK2ludCBtbnRfdGFibGVfaXNfZnNfbW91bnRlZChzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yiwgc3RydWN0IGxpYm1udF9mcyAqZnN0YWJfZnMpCit7CisJc3RydWN0IGxpYm1udF9pdGVyIGl0cjsKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKworCWNoYXIgKnJvb3QgPSBOVUxMOworCWNvbnN0IGNoYXIgKnNyYyA9IE5VTEwsICp0Z3QgPSBOVUxMOworCWNoYXIgKnh0Z3QgPSBOVUxMOworCWludCByYyA9IDA7CisJZGV2X3QgZGV2bm8gPSAwOworCisJREJHKEZTLCB1bF9kZWJ1Z29iaihmc3RhYl9mcywgIm1udF90YWJsZV9pc19mc19tb3VudGVkOiB0YXJnZXQ9JXMsIHNvdXJjZT0lcyIsCisJCQkJbW50X2ZzX2dldF90YXJnZXQoZnN0YWJfZnMpLAorCQkJCW1udF9mc19nZXRfc291cmNlKGZzdGFiX2ZzKSkpOworCisJaWYgKG1udF9mc19pc19zd2FwYXJlYShmc3RhYl9mcykgfHwgbW50X3RhYmxlX2lzX2VtcHR5KHRiKSkgeworCQlEQkcoRlMsIHVsX2RlYnVnb2JqKGZzdGFiX2ZzLCAiLSBpZ25vcmUgKHN3YXAgb3Igbm8gZGF0YSkiKSk7CisJCXJldHVybiAwOworCX0KKworCWlmIChpc19tb3VudGluZm8odGIpKSB7CisJCS8qIEB0YiBpcyBtb3VudGluZm8sIHNvIHdlIGNhbiB0cnkgdG8gdXNlIGZzLXJvb3RzICovCisJCXN0cnVjdCBsaWJtbnRfZnMgKnJvb3RmczsKKwkJaW50IGZsYWdzID0gMDsKKworCQlpZiAobW50X2ZzX2dldF9vcHRpb24oZnN0YWJfZnMsICJiaW5kIiwgTlVMTCwgTlVMTCkgPT0gMCkKKwkJCWZsYWdzID0gTVNfQklORDsKKworCQlyb290ZnMgPSBtbnRfdGFibGVfZ2V0X2ZzX3Jvb3QodGIsIGZzdGFiX2ZzLCBmbGFncywgJnJvb3QpOworCQlpZiAocm9vdGZzKQorCQkJc3JjID0gbW50X2ZzX2dldF9zcmNwYXRoKHJvb3Rmcyk7CisJfQorCisJaWYgKCFzcmMpCisJCXNyYyA9IG1udF9mc19nZXRfc291cmNlKGZzdGFiX2ZzKTsKKworCWlmIChzcmMgJiYgdGItPmNhY2hlICYmICFtbnRfZnNfaXNfcHNldWRvZnMoZnN0YWJfZnMpKQorCQlzcmMgPSBtbnRfcmVzb2x2ZV9zcGVjKHNyYywgdGItPmNhY2hlKTsKKworCWlmIChzcmMgJiYgcm9vdCkgeworCQlzdHJ1Y3Qgc3RhdCBzdDsKKworCQlkZXZubyA9IG1udF9mc19nZXRfZGV2bm8oZnN0YWJfZnMpOworCQlpZiAoIWRldm5vICYmIHN0YXQoc3JjLCAmc3QpID09IDAgJiYgU19JU0JMSyhzdC5zdF9tb2RlKSkKKwkJCWRldm5vID0gc3Quc3RfcmRldjsKKwl9CisKKwl0Z3QgPSBtbnRfZnNfZ2V0X3RhcmdldChmc3RhYl9mcyk7CisKKwlpZiAoIXRndCB8fCAhc3JjKSB7CisJCURCRyhGUywgdWxfZGVidWdvYmooZnN0YWJfZnMsICItIGlnbm9yZSAobm8gc291cmNlL3RhcmdldCkiKSk7CisJCWdvdG8gZG9uZTsKKwl9CisJbW50X3Jlc2V0X2l0ZXIoJml0ciwgTU5UX0lURVJfRk9SV0FSRCk7CisKKwlEQkcoRlMsIHVsX2RlYnVnb2JqKGZzdGFiX2ZzLCAibW50X3RhYmxlX2lzX2ZzX21vdW50ZWQ6IHNyYz0lcywgdGd0PSVzLCByb290PSVzIiwgc3JjLCB0Z3QsIHJvb3QpKTsKKworCXdoaWxlIChtbnRfdGFibGVfbmV4dF9mcyh0YiwgJml0ciwgJmZzKSA9PSAwKSB7CisKKwkJaW50IGVxID0gbW50X2ZzX3N0cmVxX3NyY3BhdGgoZnMsIHNyYyk7CisKKwkJaWYgKCFlcSAmJiBkZXZubyAmJiBtbnRfZnNfZ2V0X2Rldm5vKGZzKSA9PSBkZXZubykKKwkJCWVxID0gMTsKKworCQlpZiAoIWVxKSB7CisJCQkvKiBUaGUgc291cmNlIGRvZXMgbm90IG1hdGNoLiBNYXliZSB0aGUgc291cmNlIGlzIGEgbG9vcAorCQkJICogZGV2aWNlIGJhY2tpbmcgZmlsZS4KKwkJCSAqLworCQkJdWludDY0X3Qgb2Zmc2V0ID0gMDsKKwkJCWNoYXIgKnZhbDsKKwkJCXNpemVfdCBsZW47CisJCQlpbnQgZmxhZ3MgPSAwOworCisJCQlpZiAoIW1udF9mc19nZXRfc3JjcGF0aChmcykgfHwKKwkJCSAgICAhc3RhcnRzd2l0aChtbnRfZnNfZ2V0X3NyY3BhdGgoZnMpLCAiL2Rldi9sb29wIikpCisJCQkJY29udGludWU7CS8qIGRvZXMgbm90IGxvb2sgbGlrZSBsb29wZGV2ICovCisKKwkJCWlmIChtbnRfZnNfZ2V0X29wdGlvbihmc3RhYl9mcywgIm9mZnNldCIsICZ2YWwsICZsZW4pID09IDApIHsKKwkJCQlpZiAobW50X3BhcnNlX29mZnNldCh2YWwsIGxlbiwgJm9mZnNldCkpIHsKKwkJCQkJREJHKEZTLCB1bF9kZWJ1Z29iaihmc3RhYl9mcywgImZhaWxlZCB0byBwYXJzZSBvZmZzZXQ9IikpOworCQkJCQljb250aW51ZTsKKwkJCQl9CisJCQkJZmxhZ3MgPSBMT09QREVWX0ZMX09GRlNFVDsKKwkJCX0KKworCQkJREJHKEZTLCB1bF9kZWJ1Z29iaihmcywgImNoZWNraW5nIGZvciBsb29wOiBzcmM9JXMiLCBtbnRfZnNfZ2V0X3NyY3BhdGgoZnMpKSk7CisjaWYgX19saW51eF9fCisJCQlpZiAoIWxvb3BkZXZfaXNfdXNlZChtbnRfZnNfZ2V0X3NyY3BhdGgoZnMpLCBzcmMsIG9mZnNldCwgMCwgZmxhZ3MpKQorCQkJCWNvbnRpbnVlOworCisJCQlEQkcoRlMsIHVsX2RlYnVnb2JqKGZzLCAidXNlZCBsb29wIikpOworI2VuZGlmCisJCX0KKworCQlpZiAocm9vdCkgeworCQkJY29uc3QgY2hhciAqZnN0eXBlID0gbW50X2ZzX2dldF9mc3R5cGUoZnMpOworCisJCQlpZiAoZnN0eXBlICYmIHN0cmNtcChmc3R5cGUsICJjaWZzIikgPT0gMCkgeworCQkJCWNvbnN0IGNoYXIgKnVuY19zdWJkaXIgPSBnZXRfY2lmc191bmNfc3ViZGlyX3BhdGgoc3JjKTsKKwkJCQljb25zdCBjaGFyICpwYXRoX29uX2ZzID0gbW50X2ZzX2dldF9yb290KGZzKTsKKwkJCQlpZiAoIXVuY19zdWJkaXIgfHwgIXBhdGhfb25fZnMgfHwgIXN0cmVxX3BhdGhzKHVuY19zdWJkaXIsIHBhdGhfb25fZnMpKQorCQkJCQljb250aW51ZTsKKwkJCX0gZWxzZSB7CisJCQkJY29uc3QgY2hhciAqciA9IG1udF9mc19nZXRfcm9vdChmcyk7CisJCQkJaWYgKCFyIHx8IHN0cmNtcChyLCByb290KSAhPSAwKQorCQkJCQljb250aW51ZTsKKwkJCX0KKwkJfQorCisJCS8qCisJCSAqIENvbXBhcmUgdGFyZ2V0LCB0cnkgdG8gbWluaW1pemUgdGhlIG51bWJlciBvZiBzaXR1YXRpb25zIHdoZW4gd2UKKwkJICogbmVlZCB0byBjYW5vbmljYWxpemUgdGhlIHBhdGggdG8gYXZvaWQgcmVhZGxpbmsoKSBvbgorCQkgKiBtb3VudHBvaW50cy4KKwkJICovCisJCWlmICgheHRndCkgeworCQkJaWYgKG1udF9mc19zdHJlcV90YXJnZXQoZnMsIHRndCkpCisJCQkJYnJlYWs7CisJCQlpZiAodGItPmNhY2hlKQorCQkJCXh0Z3QgPSBtbnRfcmVzb2x2ZV9wYXRoKHRndCwgdGItPmNhY2hlKTsKKwkJfQorCQlpZiAoeHRndCAmJiBtbnRfZnNfc3RyZXFfdGFyZ2V0KGZzLCB4dGd0KSkKKwkJCWJyZWFrOworCX0KKworCWlmIChmcykKKwkJcmMgPSAxOwkJLyogc3VjY2VzcyAqLworZG9uZToKKwlmcmVlKHJvb3QpOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJtbnRfdGFibGVfaXNfZnNfbW91bnRlZDogJXMgW3JjPSVkXSIsIHNyYywgcmMpKTsKKwlyZXR1cm4gcmM7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU0KKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKworc3RhdGljIGludCBwYXJzZXJfZXJyY2Ioc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgbGluZSkKK3sKKwlmcHJpbnRmKHN0ZGVyciwgIiVzOiVkOiBwYXJzZSBlcnJvclxuIiwgZmlsZW5hbWUsIGxpbmUpOworCisJcmV0dXJuIDE7CS8qIGFsbCBlcnJvcnMgYXJlIHJlY292ZXJhYmxlIC0tIHRoaXMgaXMgdGhlIGRlZmF1bHQgKi8KK30KKworc3RhdGljIHN0cnVjdCBsaWJtbnRfdGFibGUgKmNyZWF0ZV90YWJsZShjb25zdCBjaGFyICpmaWxlLCBpbnQgY29tbWVudHMpCit7CisJc3RydWN0IGxpYm1udF90YWJsZSAqdGI7CisKKwlpZiAoIWZpbGUpCisJCXJldHVybiBOVUxMOworCXRiID0gbW50X25ld190YWJsZSgpOworCWlmICghdGIpCisJCWdvdG8gZXJyOworCisJbW50X3RhYmxlX2VuYWJsZV9jb21tZW50cyh0YiwgY29tbWVudHMpOworCW1udF90YWJsZV9zZXRfcGFyc2VyX2VycmNiKHRiLCBwYXJzZXJfZXJyY2IpOworCisJaWYgKG1udF90YWJsZV9wYXJzZV9maWxlKHRiLCBmaWxlKSAhPSAwKQorCQlnb3RvIGVycjsKKwlyZXR1cm4gdGI7CitlcnI6CisJZnByaW50ZihzdGRlcnIsICIlczogcGFyc2luZyBmYWlsZWRcbiIsIGZpbGUpOworCW1udF91bnJlZl90YWJsZSh0Yik7CisJcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9jb3B5X2ZzKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IGxpYm1udF90YWJsZSAqdGI7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJaW50IHJjID0gLTE7CisKKwl0YiA9IGNyZWF0ZV90YWJsZShhcmd2WzFdLCBGQUxTRSk7CisJaWYgKCF0YikKKwkJcmV0dXJuIC0xOworCisJZnMgPSBtbnRfdGFibGVfZmluZF90YXJnZXQodGIsICIvIiwgTU5UX0lURVJfRk9SV0FSRCk7CisJaWYgKCFmcykKKwkJZ290byBkb25lOworCisJcHJpbnRmKCJPUklHSU5BTDpcbiIpOworCW1udF9mc19wcmludF9kZWJ1Zyhmcywgc3Rkb3V0KTsKKworCWZzID0gbW50X2NvcHlfZnMoTlVMTCwgZnMpOworCWlmICghZnMpCisJCWdvdG8gZG9uZTsKKworCXByaW50ZigiQ09QWTpcbiIpOworCW1udF9mc19wcmludF9kZWJ1Zyhmcywgc3Rkb3V0KTsKKwltbnRfdW5yZWZfZnMoZnMpOworCXJjID0gMDsKK2RvbmU6CisJbW50X3VucmVmX3RhYmxlKHRiKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9wYXJzZShzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBsaWJtbnRfdGFibGUgKnRiID0gTlVMTDsKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciA9IE5VTEw7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJaW50IHJjID0gLTE7CisJaW50IHBhcnNlX2NvbW1lbnRzID0gRkFMU0U7CisKKwlpZiAoYXJnYyA9PSAzICYmICFzdHJjbXAoYXJndlsyXSwgIi0tY29tbWVudHMiKSkKKwkJcGFyc2VfY29tbWVudHMgPSBUUlVFOworCisJdGIgPSBjcmVhdGVfdGFibGUoYXJndlsxXSwgcGFyc2VfY29tbWVudHMpOworCWlmICghdGIpCisJCXJldHVybiAtMTsKKworCWl0ciA9IG1udF9uZXdfaXRlcihNTlRfSVRFUl9GT1JXQVJEKTsKKwlpZiAoIWl0cikKKwkJZ290byBkb25lOworCisJaWYgKG1udF90YWJsZV9nZXRfaW50cm9fY29tbWVudCh0YikpCisJCWZwcmludGYoc3Rkb3V0LCAiSW5pdGlhbCBjb21tZW50OlxuXCIlc1wiXG4iLAorCQkJCW1udF90YWJsZV9nZXRfaW50cm9fY29tbWVudCh0YikpOworCisJd2hpbGUobW50X3RhYmxlX25leHRfZnModGIsIGl0ciwgJmZzKSA9PSAwKQorCQltbnRfZnNfcHJpbnRfZGVidWcoZnMsIHN0ZG91dCk7CisKKwlpZiAobW50X3RhYmxlX2dldF90cmFpbGluZ19jb21tZW50KHRiKSkKKwkJZnByaW50ZihzdGRvdXQsICJUcmFpbGluZyBjb21tZW50OlxuXCIlc1wiXG4iLAorCQkJCW1udF90YWJsZV9nZXRfdHJhaWxpbmdfY29tbWVudCh0YikpOworCXJjID0gMDsKK2RvbmU6CisJbW50X2ZyZWVfaXRlcihpdHIpOworCW1udF91bnJlZl90YWJsZSh0Yik7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHRlc3RfZmluZChzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdLCBpbnQgZHIpCit7CisJc3RydWN0IGxpYm1udF90YWJsZSAqdGI7CisJc3RydWN0IGxpYm1udF9mcyAqZnMgPSBOVUxMOworCXN0cnVjdCBsaWJtbnRfY2FjaGUgKm1wYyA9IE5VTEw7CisJY29uc3QgY2hhciAqZmlsZSwgKmZpbmQsICp3aGF0OworCWludCByYyA9IC0xOworCisJaWYgKGFyZ2MgIT0gNCkgeworCQlmcHJpbnRmKHN0ZGVyciwgInRyeSAtLWhlbHBcbiIpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlmaWxlID0gYXJndlsxXSwgZmluZCA9IGFyZ3ZbMl0sIHdoYXQgPSBhcmd2WzNdOworCisJdGIgPSBjcmVhdGVfdGFibGUoZmlsZSwgRkFMU0UpOworCWlmICghdGIpCisJCWdvdG8gZG9uZTsKKworCS8qIGNyZWF0ZSBhIGNhY2hlIGZvciBjYW5vbmljYWxpemVkIHBhdGhzICovCisJbXBjID0gbW50X25ld19jYWNoZSgpOworCWlmICghbXBjKQorCQlnb3RvIGRvbmU7CisJbW50X3RhYmxlX3NldF9jYWNoZSh0YiwgbXBjKTsKKwltbnRfdW5yZWZfY2FjaGUobXBjKTsKKworCWlmIChzdHJjYXNlY21wKGZpbmQsICJzb3VyY2UiKSA9PSAwKQorCQlmcyA9IG1udF90YWJsZV9maW5kX3NvdXJjZSh0Yiwgd2hhdCwgZHIpOworCWVsc2UgaWYgKHN0cmNhc2VjbXAoZmluZCwgInRhcmdldCIpID09IDApCisJCWZzID0gbW50X3RhYmxlX2ZpbmRfdGFyZ2V0KHRiLCB3aGF0LCBkcik7CisKKwlpZiAoIWZzKQorCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiBub3QgZm91bmQgJXMgJyVzJ1xuIiwgZmlsZSwgZmluZCwgd2hhdCk7CisJZWxzZSB7CisJCW1udF9mc19wcmludF9kZWJ1Zyhmcywgc3Rkb3V0KTsKKwkJcmMgPSAwOworCX0KK2RvbmU6CisJbW50X3VucmVmX3RhYmxlKHRiKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9maW5kX2J3KHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJcmV0dXJuIHRlc3RfZmluZCh0cywgYXJnYywgYXJndiwgTU5UX0lURVJfQkFDS1dBUkQpOworfQorCitzdGF0aWMgaW50IHRlc3RfZmluZF9mdyhzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXJldHVybiB0ZXN0X2ZpbmQodHMsIGFyZ2MsIGFyZ3YsIE1OVF9JVEVSX0ZPUldBUkQpOworfQorCitzdGF0aWMgaW50IHRlc3RfZmluZF9wYWlyKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IGxpYm1udF90YWJsZSAqdGI7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJc3RydWN0IGxpYm1udF9jYWNoZSAqbXBjID0gTlVMTDsKKwlpbnQgcmMgPSAtMTsKKworCXRiID0gY3JlYXRlX3RhYmxlKGFyZ3ZbMV0sIEZBTFNFKTsKKwlpZiAoIXRiKQorCQlyZXR1cm4gLTE7CisJbXBjID0gbW50X25ld19jYWNoZSgpOworCWlmICghbXBjKQorCQlnb3RvIGRvbmU7CisJbW50X3RhYmxlX3NldF9jYWNoZSh0YiwgbXBjKTsKKwltbnRfdW5yZWZfY2FjaGUobXBjKTsKKworCWZzID0gbW50X3RhYmxlX2ZpbmRfcGFpcih0YiwgYXJndlsyXSwgYXJndlszXSwgTU5UX0lURVJfRk9SV0FSRCk7CisJaWYgKCFmcykKKwkJZ290byBkb25lOworCisJbW50X2ZzX3ByaW50X2RlYnVnKGZzLCBzdGRvdXQpOworCXJjID0gMDsKK2RvbmU6CisJbW50X3VucmVmX3RhYmxlKHRiKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9maW5kX21vdW50cG9pbnQoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YjsKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKwlzdHJ1Y3QgbGlibW50X2NhY2hlICptcGMgPSBOVUxMOworCWludCByYyA9IC0xOworCisJdGIgPSBtbnRfbmV3X3RhYmxlX2Zyb21fZmlsZShfUEFUSF9QUk9DX01PVU5USU5GTyk7CisJaWYgKCF0YikKKwkJcmV0dXJuIC0xOworCW1wYyA9IG1udF9uZXdfY2FjaGUoKTsKKwlpZiAoIW1wYykKKwkJZ290byBkb25lOworCW1udF90YWJsZV9zZXRfY2FjaGUodGIsIG1wYyk7CisJbW50X3VucmVmX2NhY2hlKG1wYyk7CisKKwlmcyA9IG1udF90YWJsZV9maW5kX21vdW50cG9pbnQodGIsIGFyZ3ZbMV0sIE1OVF9JVEVSX0JBQ0tXQVJEKTsKKwlpZiAoIWZzKQorCQlnb3RvIGRvbmU7CisKKwltbnRfZnNfcHJpbnRfZGVidWcoZnMsIHN0ZG91dCk7CisJcmMgPSAwOworZG9uZToKKwltbnRfdW5yZWZfdGFibGUodGIpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB0ZXN0X2lzX21vdW50ZWQoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiA9IE5VTEwsICpmc3RhYiA9IE5VTEw7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJc3RydWN0IGxpYm1udF9pdGVyICppdHIgPSBOVUxMOworCXN0cnVjdCBsaWJtbnRfY2FjaGUgKm1wYyA9IE5VTEw7CisJaW50IHdyaXRhYmxlID0gMDsKKwljb25zdCBjaGFyICpwYXRoID0gTlVMTDsKKworCWlmIChtbnRfaGFzX3JlZ3VsYXJfbXRhYigmcGF0aCwgJndyaXRhYmxlKSA9PSAxICYmIHdyaXRhYmxlID09IDApCisJCXRiID0gbW50X25ld190YWJsZV9mcm9tX2ZpbGUocGF0aCk7CisJZWxzZQorCQl0YiA9IG1udF9uZXdfdGFibGVfZnJvbV9maWxlKCIvcHJvYy9zZWxmL21vdW50aW5mbyIpOworCisJaWYgKCF0YikgeworCQlmcHJpbnRmKHN0ZGVyciwgImZhaWxlZCB0byBwYXJzZSBtb3VudGluZm9cbiIpOworCQlyZXR1cm4gLTE7CisJfQorCisJZnN0YWIgPSBjcmVhdGVfdGFibGUoYXJndlsxXSwgRkFMU0UpOworCWlmICghZnN0YWIpCisJCWdvdG8gZG9uZTsKKworCWl0ciA9IG1udF9uZXdfaXRlcihNTlRfSVRFUl9GT1JXQVJEKTsKKwlpZiAoIWl0cikKKwkJZ290byBkb25lOworCisJbXBjID0gbW50X25ld19jYWNoZSgpOworCWlmICghbXBjKQorCQlnb3RvIGRvbmU7CisJbW50X3RhYmxlX3NldF9jYWNoZSh0YiwgbXBjKTsKKwltbnRfdW5yZWZfY2FjaGUobXBjKTsKKworCXdoaWxlIChtbnRfdGFibGVfbmV4dF9mcyhmc3RhYiwgaXRyLCAmZnMpID09IDApIHsKKwkJaWYgKG1udF90YWJsZV9pc19mc19tb3VudGVkKHRiLCBmcykpCisJCQlwcmludGYoIiVzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIiwKKwkJCQkJbW50X2ZzX2dldF9zb3VyY2UoZnMpLAorCQkJCQltbnRfZnNfZ2V0X3RhcmdldChmcykpOworCQllbHNlCisJCQlwcmludGYoIiVzIG5vdCBtb3VudGVkIG9uICVzXG4iLAorCQkJCQltbnRfZnNfZ2V0X3NvdXJjZShmcyksCisJCQkJCW1udF9mc19nZXRfdGFyZ2V0KGZzKSk7CisJfQorCitkb25lOgorCW1udF91bnJlZl90YWJsZSh0Yik7CisJbW50X3VucmVmX3RhYmxlKGZzdGFiKTsKKwltbnRfZnJlZV9pdGVyKGl0cik7CisJcmV0dXJuIDA7Cit9CisKKy8qIHJldHVybnMgMCBpZiBAYSBhbmQgQGIgdGFyZ2V0cyBhcmUgdGhlIHNhbWUgKi8KK3N0YXRpYyBpbnQgdGVzdF91bmlxX2NtcChzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSksCisJCQkgc3RydWN0IGxpYm1udF9mcyAqYSwKKwkJCSBzdHJ1Y3QgbGlibW50X2ZzICpiKQoreworCWFzc2VydChhKTsKKwlhc3NlcnQoYik7CisKKwlyZXR1cm4gbW50X2ZzX3N0cmVxX3RhcmdldChhLCBtbnRfZnNfZ2V0X3RhcmdldChiKSkgPyAwIDogMTsKK30KKworc3RhdGljIGludCB0ZXN0X3VuaXEoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YjsKKwlpbnQgcmMgPSAtMTsKKworCWlmIChhcmdjICE9IDIpIHsKKwkJZnByaW50ZihzdGRlcnIsICJ0cnkgLS1oZWxwXG4iKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJdGIgPSBjcmVhdGVfdGFibGUoYXJndlsxXSwgRkFMU0UpOworCWlmICghdGIpCisJCWdvdG8gZG9uZTsKKworCWlmIChtbnRfdGFibGVfdW5pcV9mcyh0YiwgMCwgdGVzdF91bmlxX2NtcCkgPT0gMCkgeworCQlzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciA9IG1udF9uZXdfaXRlcihNTlRfSVRFUl9GT1JXQVJEKTsKKwkJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJCWlmICghaXRyKQorCQkJZ290byBkb25lOworCQl3aGlsZSAobW50X3RhYmxlX25leHRfZnModGIsIGl0ciwgJmZzKSA9PSAwKQorCQkJbW50X2ZzX3ByaW50X2RlYnVnKGZzLCBzdGRvdXQpOworCQltbnRfZnJlZV9pdGVyKGl0cik7CisJCXJjID0gMDsKKwl9Citkb25lOgorCW1udF91bnJlZl90YWJsZSh0Yik7CisJcmV0dXJuIHJjOworfQorCisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IGxpYm1udF90ZXN0IHRzc1tdID0geworCXsgIi0tcGFyc2UiLCAgICB0ZXN0X3BhcnNlLCAgICAgICAgIjxmaWxlPiBbLS1jb21tZW50c10gcGFyc2UgYW5kIHByaW50IHRhYiIgfSwKKwl7ICItLWZpbmQtZm9yd2FyZCIsICB0ZXN0X2ZpbmRfZncsICI8ZmlsZT4gPHNvdXJjZXx0YXJnZXQ+IDxzdHJpbmc+IiB9LAorCXsgIi0tZmluZC1iYWNrd2FyZCIsIHRlc3RfZmluZF9idywgIjxmaWxlPiA8c291cmNlfHRhcmdldD4gPHN0cmluZz4iIH0sCisJeyAiLS11bmlxLXRhcmdldCIsICAgdGVzdF91bmlxLCAgICAiPGZpbGU+IiB9LAorCXsgIi0tZmluZC1wYWlyIiwgICAgIHRlc3RfZmluZF9wYWlyLCAiPGZpbGU+IDxzb3VyY2U+IDx0YXJnZXQ+IiB9LAorCXsgIi0tZmluZC1tb3VudHBvaW50IiwgdGVzdF9maW5kX21vdW50cG9pbnQsICI8cGF0aD4iIH0sCisJeyAiLS1jb3B5LWZzIiwgICAgICAgdGVzdF9jb3B5X2ZzLCAiPGZpbGU+ICBjb3B5IHJvb3QgRlMgZnJvbSB0aGUgZmlsZSIgfSwKKwl7ICItLWlzLW1vdW50ZWQiLCAgICB0ZXN0X2lzX21vdW50ZWQsICI8ZnN0YWI+IGNoZWNrIHdoYXQgZnJvbSBmc3RhYiBpcyBhbHJlYWR5IG1vdW50ZWQiIH0sCisJeyBOVUxMIH0KKwl9OworCisJcmV0dXJuIG1udF9ydW5fdGVzdCh0c3MsIGFyZ2MsIGFyZ3YpOworfQorCisjZW5kaWYgLyogVEVTVF9QUk9HUkFNICovCmRpZmYgLS1naXQgYS9saWJtb3VudC9zcmMvdGFiX2RpZmYuYyBiL2xpYm1vdW50L3NyYy90YWJfZGlmZi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjZjllNTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtb3VudC9zcmMvdGFiX2RpZmYuYwpAQCAtMCwwICsxLDM3MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKy8qKgorICogU0VDVElPTjogdGFiZGlmZgorICogQHRpdGxlOiBDb21wYXJlIGNoYW5nZXMgaW4gbW91bnQgdGFibGVzCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGNvbXBhcmUgY2hhbmdlcyBpbiB0aGUgbGlzdCBvZiB0aGUgbW91bnRlZCBmaWxlc3lzdGVtcworICovCisjaW5jbHVkZSAibW91bnRQLmgiCisKK3N0cnVjdCB0YWJkaWZmX2VudHJ5IHsKKwlpbnQJb3BlcjsJCQkvKiBNTlRfVEFCRElGRl8qIGZsYWdzOyAqLworCisJc3RydWN0IGxpYm1udF9mcyAqb2xkX2ZzOwkvKiBwb2ludGVyIHRvIHRoZSBvbGQgRlMgKi8KKwlzdHJ1Y3QgbGlibW50X2ZzICpuZXdfZnM7CS8qIHBvaW50ZXIgdG8gdGhlIG5ldyBGUyAqLworCisJc3RydWN0IGxpc3RfaGVhZCBjaGFuZ2VzOworfTsKKworc3RydWN0IGxpYm1udF90YWJkaWZmIHsKKwlpbnQgbmNoYW5nZXM7CQkJLyogbnVtYmVyIG9mIGNoYW5nZXMgKi8KKworCXN0cnVjdCBsaXN0X2hlYWQgY2hhbmdlczsJLyogbGlzdCB3aXRoIG1vZGlmaWVkIGVudHJpZXMgKi8KKwlzdHJ1Y3QgbGlzdF9oZWFkIHVudXNlZDsJLyogbGlzdCB3aXRoIHVudXNlZCBlbnRyaWVzICovCit9OworCisvKioKKyAqIG1udF9uZXdfdGFiZGlmZjoKKyAqCisgKiBBbGxvY2F0ZXMgYSBuZXcgdGFibGUgZGlmZiBzdHJ1Y3QuCisgKgorICogUmV0dXJuczogbmV3IGRpZmYgaGFuZGxlciBvciBOVUxMLgorICovCitzdHJ1Y3QgbGlibW50X3RhYmRpZmYgKm1udF9uZXdfdGFiZGlmZih2b2lkKQoreworCXN0cnVjdCBsaWJtbnRfdGFiZGlmZiAqZGYgPSBjYWxsb2MoMSwgc2l6ZW9mKCpkZikpOworCisJaWYgKCFkZikKKwkJcmV0dXJuIE5VTEw7CisKKwlEQkcoRElGRiwgdWxfZGVidWdvYmooZGYsICJhbGxvYyIpKTsKKworCUlOSVRfTElTVF9IRUFEKCZkZi0+Y2hhbmdlcyk7CisJSU5JVF9MSVNUX0hFQUQoJmRmLT51bnVzZWQpOworCXJldHVybiBkZjsKK30KKworc3RhdGljIHZvaWQgZnJlZV90YWJkaWZmX2VudHJ5KHN0cnVjdCB0YWJkaWZmX2VudHJ5ICpkZSkKK3sKKwlpZiAoIWRlKQorCQlyZXR1cm47CisJbGlzdF9kZWwoJmRlLT5jaGFuZ2VzKTsKKwltbnRfdW5yZWZfZnMoZGUtPm5ld19mcyk7CisJbW50X3VucmVmX2ZzKGRlLT5vbGRfZnMpOworCWZyZWUoZGUpOworfQorCisvKioKKyAqIG1udF9mcmVlX3RhYmRpZmY6CisgKiBAZGY6IHRhYiBkaWZmCisgKgorICogRGVhbGxvY2F0ZXMgdGFiIGRpZmYgc3RydWN0IGFuZCBhbGwgZW50cmllcy4KKyAqLwordm9pZCBtbnRfZnJlZV90YWJkaWZmKHN0cnVjdCBsaWJtbnRfdGFiZGlmZiAqZGYpCit7CisJaWYgKCFkZikKKwkJcmV0dXJuOworCisJREJHKERJRkYsIHVsX2RlYnVnb2JqKGRmLCAiZnJlZSIpKTsKKworCXdoaWxlICghbGlzdF9lbXB0eSgmZGYtPmNoYW5nZXMpKSB7CisJCXN0cnVjdCB0YWJkaWZmX2VudHJ5ICpkZSA9IGxpc3RfZW50cnkoZGYtPmNoYW5nZXMubmV4dCwKKwkJCSAgICAgICAgICAgICAgICAgIHN0cnVjdCB0YWJkaWZmX2VudHJ5LCBjaGFuZ2VzKTsKKwkJZnJlZV90YWJkaWZmX2VudHJ5KGRlKTsKKwl9CisKKwlmcmVlKGRmKTsKK30KKworLyoqCisgKiBtbnRfdGFiZGlmZl9uZXh0X2NoYW5nZToKKyAqIEBkZjogdGFiZGlmZiBwb2ludGVyCisgKiBAaXRyOiBpdGVyYXRvcgorICogQG9sZF9mczogcmV0dXJucyB0aGUgb2xkIGVudHJ5IG9yIE5VTEwgaWYgbmV3IGVudHJ5IGFkZGVkCisgKiBAbmV3X2ZzOiByZXR1cm5zIHRoZSBuZXcgZW50cnkgb3IgTlVMTCBpZiBvbGQgZW50cnkgcmVtb3ZlZAorICogQG9wZXI6IE1OVF9UQUJESUZGX3tNT1ZFLFVNT1VOVCxSRU1PVU5ULE1PVU5UfSBmbGFncworICoKKyAqIFRoZSBvcHRpb25zIEBvbGRfZnMsIEBuZXdfZnMgYW5kIEBvcGVyIGFyZSBvcHRpb25hbC4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yIG9yIDEgYXQgdGhlIGVuZCBvZiBsaXN0LgorICovCitpbnQgbW50X3RhYmRpZmZfbmV4dF9jaGFuZ2Uoc3RydWN0IGxpYm1udF90YWJkaWZmICpkZiwgc3RydWN0IGxpYm1udF9pdGVyICppdHIsCisJCXN0cnVjdCBsaWJtbnRfZnMgKipvbGRfZnMsIHN0cnVjdCBsaWJtbnRfZnMgKipuZXdfZnMsIGludCAqb3BlcikKK3sKKwlpbnQgcmMgPSAxOworCXN0cnVjdCB0YWJkaWZmX2VudHJ5ICpkZSA9IE5VTEw7CisKKwlpZiAoIWRmIHx8ICFpdHIpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKCFpdHItPmhlYWQpCisJCU1OVF9JVEVSX0lOSVQoaXRyLCAmZGYtPmNoYW5nZXMpOworCWlmIChpdHItPnAgIT0gaXRyLT5oZWFkKSB7CisJCU1OVF9JVEVSX0lURVJBVEUoaXRyLCBkZSwgc3RydWN0IHRhYmRpZmZfZW50cnksIGNoYW5nZXMpOworCQlyYyA9IDA7CisJfQorCisJaWYgKG9sZF9mcykKKwkJKm9sZF9mcyA9IGRlID8gZGUtPm9sZF9mcyA6IE5VTEw7CisJaWYgKG5ld19mcykKKwkJKm5ld19mcyA9IGRlID8gZGUtPm5ld19mcyA6IE5VTEw7CisJaWYgKG9wZXIpCisJCSpvcGVyID0gZGUgPyBkZS0+b3BlciA6IDA7CisKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdGFiZGlmZl9yZXNldChzdHJ1Y3QgbGlibW50X3RhYmRpZmYgKmRmKQoreworCWFzc2VydChkZik7CisKKwlEQkcoRElGRiwgdWxfZGVidWdvYmooZGYsICJyZXNldHRpbmciKSk7CisKKwkvKiB6ZXJvaXplIGFsbCBlbnRyaWVzIGFuZCBtb3ZlIHRoZW0gdG8gdGhlIGxpc3Qgb2YgdW51c2VkCisJICovCisJd2hpbGUgKCFsaXN0X2VtcHR5KCZkZi0+Y2hhbmdlcykpIHsKKwkJc3RydWN0IHRhYmRpZmZfZW50cnkgKmRlID0gbGlzdF9lbnRyeShkZi0+Y2hhbmdlcy5uZXh0LAorCQkJICAgICAgICAgICAgICAgICAgc3RydWN0IHRhYmRpZmZfZW50cnksIGNoYW5nZXMpOworCisJCWxpc3RfZGVsKCZkZS0+Y2hhbmdlcyk7CisJCWxpc3RfYWRkX3RhaWwoJmRlLT5jaGFuZ2VzLCAmZGYtPnVudXNlZCk7CisKKwkJbW50X3VucmVmX2ZzKGRlLT5uZXdfZnMpOworCQltbnRfdW5yZWZfZnMoZGUtPm9sZF9mcyk7CisKKwkJZGUtPm5ld19mcyA9IGRlLT5vbGRfZnMgPSBOVUxMOworCQlkZS0+b3BlciA9IDA7CisJfQorCisJZGYtPm5jaGFuZ2VzID0gMDsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB0YWJkaWZmX2FkZF9lbnRyeShzdHJ1Y3QgbGlibW50X3RhYmRpZmYgKmRmLCBzdHJ1Y3QgbGlibW50X2ZzICpvbGQsCisJCQkgICAgIHN0cnVjdCBsaWJtbnRfZnMgKm5ldywgaW50IG9wZXIpCit7CisJc3RydWN0IHRhYmRpZmZfZW50cnkgKmRlOworCisJYXNzZXJ0KGRmKTsKKworCURCRyhESUZGLCB1bF9kZWJ1Z29iaihkZiwgImFkZCBjaGFuZ2Ugb24gJXMiLAorCQkJCW1udF9mc19nZXRfdGFyZ2V0KG5ldyA/IG5ldyA6IG9sZCkpKTsKKworCWlmICghbGlzdF9lbXB0eSgmZGYtPnVudXNlZCkpIHsKKwkJZGUgPSBsaXN0X2VudHJ5KGRmLT51bnVzZWQubmV4dCwgc3RydWN0IHRhYmRpZmZfZW50cnksIGNoYW5nZXMpOworCQlsaXN0X2RlbCgmZGUtPmNoYW5nZXMpOworCX0gZWxzZSB7CisJCWRlID0gY2FsbG9jKDEsIHNpemVvZigqZGUpKTsKKwkJaWYgKCFkZSkKKwkJCXJldHVybiAtRU5PTUVNOworCX0KKworCUlOSVRfTElTVF9IRUFEKCZkZS0+Y2hhbmdlcyk7CisKKwltbnRfcmVmX2ZzKG5ldyk7CisJbW50X3JlZl9mcyhvbGQpOworCisJbW50X3VucmVmX2ZzKGRlLT5uZXdfZnMpOworCW1udF91bnJlZl9mcyhkZS0+b2xkX2ZzKTsKKworCWRlLT5vbGRfZnMgPSBvbGQ7CisJZGUtPm5ld19mcyA9IG5ldzsKKwlkZS0+b3BlciA9IG9wZXI7CisKKwlsaXN0X2FkZF90YWlsKCZkZS0+Y2hhbmdlcywgJmRmLT5jaGFuZ2VzKTsKKwlkZi0+bmNoYW5nZXMrKzsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCB0YWJkaWZmX2VudHJ5ICp0YWJkaWZmX2dldF9tb3VudChzdHJ1Y3QgbGlibW50X3RhYmRpZmYgKmRmLAorCQkJCQkgICAgICAgY29uc3QgY2hhciAqc3JjLAorCQkJCQkgICAgICAgaW50IGlkKQoreworCXN0cnVjdCBsaXN0X2hlYWQgKnA7CisKKwlhc3NlcnQoZGYpOworCisJbGlzdF9mb3JfZWFjaChwLCAmZGYtPmNoYW5nZXMpIHsKKwkJc3RydWN0IHRhYmRpZmZfZW50cnkgKmRlOworCisJCWRlID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgdGFiZGlmZl9lbnRyeSwgY2hhbmdlcyk7CisKKwkJaWYgKGRlLT5vcGVyID09IE1OVF9UQUJESUZGX01PVU5UICYmIGRlLT5uZXdfZnMgJiYKKwkJICAgIG1udF9mc19nZXRfaWQoZGUtPm5ld19mcykgPT0gaWQpIHsKKworCQkJY29uc3QgY2hhciAqcyA9IG1udF9mc19nZXRfc291cmNlKGRlLT5uZXdfZnMpOworCisJCQlpZiAocyA9PSBOVUxMICYmIHNyYyA9PSBOVUxMKQorCQkJCXJldHVybiBkZTsKKwkJCWlmIChzICYmIHNyYyAmJiBzdHJjbXAocywgc3JjKSA9PSAwKQorCQkJCXJldHVybiBkZTsKKwkJfQorCX0KKwlyZXR1cm4gTlVMTDsKK30KKworLyoqCisgKiBtbnRfZGlmZl90YWJsZXM6CisgKiBAZGY6IGRpZmYgaGFuZGxlcgorICogQG9sZF90YWI6IG9sZCB0YWJsZQorICogQG5ld190YWI6IG5ldyB0YWJsZQorICoKKyAqIENvbXBhcmVzIEBvbGRfdGFiIGFuZCBAbmV3X3RhYiwgdGhlIHJlc3VsdCBpcyBzdG9yZWQgaW4gQGRmIGFuZCBhY2Nlc3NpYmxlIGJ5CisgKiBtbnRfdGFiZGlmZl9uZXh0X2NoYW5nZSgpLgorICoKKyAqIFJldHVybnM6IG51bWJlciBvZiBjaGFuZ2VzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9kaWZmX3RhYmxlcyhzdHJ1Y3QgbGlibW50X3RhYmRpZmYgKmRmLCBzdHJ1Y3QgbGlibW50X3RhYmxlICpvbGRfdGFiLAorCQkgICAgc3RydWN0IGxpYm1udF90YWJsZSAqbmV3X3RhYikKK3sKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgaXRyOworCWludCBubywgbm47CisKKwlpZiAoIWRmIHx8ICFvbGRfdGFiIHx8ICFuZXdfdGFiKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXRhYmRpZmZfcmVzZXQoZGYpOworCisJbm8gPSBtbnRfdGFibGVfZ2V0X25lbnRzKG9sZF90YWIpOworCW5uID0gbW50X3RhYmxlX2dldF9uZW50cyhuZXdfdGFiKTsKKworCWlmICghbm8gJiYgIW5uKQkJCS8qIGJvdGggdGFibGVzIGFyZSBlbXB0eSAqLworCQlyZXR1cm4gMDsKKworCURCRyhESUZGLCB1bF9kZWJ1Z29iaihkZiwgImFuYWx5emUgbmV3PSVwICglZCBlbnRyaWVzKSwgIgorCQkJCSAgICAgICAgICAib2xkPSVwICglZCBlbnRyaWVzKSIsCisJCQkJbmV3X3RhYiwgbm4sIG9sZF90YWIsIG5vKSk7CisKKwltbnRfcmVzZXRfaXRlcigmaXRyLCBNTlRfSVRFUl9GT1JXQVJEKTsKKworCS8qIGFsbCBtb3VudGVkIG9yIHVtb3VudGVkICovCisJaWYgKCFubyAmJiBubikgeworCQl3aGlsZShtbnRfdGFibGVfbmV4dF9mcyhuZXdfdGFiLCAmaXRyLCAmZnMpID09IDApCisJCQl0YWJkaWZmX2FkZF9lbnRyeShkZiwgTlVMTCwgZnMsIE1OVF9UQUJESUZGX01PVU5UKTsKKwkJZ290byBkb25lOworCisJfSBlbHNlIGlmIChubyAmJiAhbm4pIHsKKwkJd2hpbGUobW50X3RhYmxlX25leHRfZnMob2xkX3RhYiwgJml0ciwgJmZzKSA9PSAwKQorCQkJdGFiZGlmZl9hZGRfZW50cnkoZGYsIGZzLCBOVUxMLCBNTlRfVEFCRElGRl9VTU9VTlQpOworCQlnb3RvIGRvbmU7CisJfQorCisJLyogc2VhcmNoIG5ld2x5IG1vdW50ZWQgb3IgbW9kaWZpZWQgKi8KKwl3aGlsZShtbnRfdGFibGVfbmV4dF9mcyhuZXdfdGFiLCAmaXRyLCAmZnMpID09IDApIHsKKwkJc3RydWN0IGxpYm1udF9mcyAqb19mczsKKwkJY29uc3QgY2hhciAqc3JjID0gbW50X2ZzX2dldF9zb3VyY2UoZnMpLAorCQkJICAgKnRndCA9IG1udF9mc19nZXRfdGFyZ2V0KGZzKTsKKworCQlvX2ZzID0gbW50X3RhYmxlX2ZpbmRfcGFpcihvbGRfdGFiLCBzcmMsIHRndCwgTU5UX0lURVJfRk9SV0FSRCk7CisJCWlmICghb19mcykKKwkJCS8qICdmcycgaXMgbm90IGluIHRoZSBvbGQgdGFibGUgLS0gc28gbmV3bHkgbW91bnRlZCAqLworCQkJdGFiZGlmZl9hZGRfZW50cnkoZGYsIE5VTEwsIGZzLCBNTlRfVEFCRElGRl9NT1VOVCk7CisJCWVsc2UgeworCQkJLyogaXMgbW9kaWZpZWQ/ICovCisJCQljb25zdCBjaGFyICp2MSA9IG1udF9mc19nZXRfdmZzX29wdGlvbnMob19mcyksCisJCQkJICAgKnYyID0gbW50X2ZzX2dldF92ZnNfb3B0aW9ucyhmcyksCisJCQkJICAgKmYxID0gbW50X2ZzX2dldF9mc19vcHRpb25zKG9fZnMpLAorCQkJCSAgICpmMiA9IG1udF9mc19nZXRfZnNfb3B0aW9ucyhmcyk7CisKKwkJCWlmICgodjEgJiYgdjIgJiYgc3RyY21wKHYxLCB2MikpIHx8IChmMSAmJiBmMiAmJiBzdHJjbXAoZjEsIGYyKSkpCisJCQkJdGFiZGlmZl9hZGRfZW50cnkoZGYsIG9fZnMsIGZzLCBNTlRfVEFCRElGRl9SRU1PVU5UKTsKKwkJfQorCX0KKworCS8qIHNlYXJjaCB1bW91bnRlZCBvciBtb3ZlZCAqLworCW1udF9yZXNldF9pdGVyKCZpdHIsIE1OVF9JVEVSX0ZPUldBUkQpOworCXdoaWxlKG1udF90YWJsZV9uZXh0X2ZzKG9sZF90YWIsICZpdHIsICZmcykgPT0gMCkgeworCQljb25zdCBjaGFyICpzcmMgPSBtbnRfZnNfZ2V0X3NvdXJjZShmcyksCisJCQkgICAqdGd0ID0gbW50X2ZzX2dldF90YXJnZXQoZnMpOworCisJCWlmICghbW50X3RhYmxlX2ZpbmRfcGFpcihuZXdfdGFiLCBzcmMsIHRndCwgTU5UX0lURVJfRk9SV0FSRCkpIHsKKwkJCXN0cnVjdCB0YWJkaWZmX2VudHJ5ICpkZTsKKworCQkJZGUgPSB0YWJkaWZmX2dldF9tb3VudChkZiwgc3JjLAltbnRfZnNfZ2V0X2lkKGZzKSk7CisJCQlpZiAoZGUpIHsKKwkJCQltbnRfcmVmX2ZzKGZzKTsKKwkJCQltbnRfdW5yZWZfZnMoZGUtPm9sZF9mcyk7CisJCQkJZGUtPm9wZXIgPSBNTlRfVEFCRElGRl9NT1ZFOworCQkJCWRlLT5vbGRfZnMgPSBmczsKKwkJCX0gZWxzZQorCQkJCXRhYmRpZmZfYWRkX2VudHJ5KGRmLCBmcywgTlVMTCwgTU5UX1RBQkRJRkZfVU1PVU5UKTsKKwkJfQorCX0KK2RvbmU6CisJREJHKERJRkYsIHVsX2RlYnVnb2JqKGRmLCAiJWQgY2hhbmdlcyBkZXRlY3RlZCIsIGRmLT5uY2hhbmdlcykpOworCXJldHVybiBkZi0+bmNoYW5nZXM7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU0KKworc3RhdGljIGludCB0ZXN0X2RpZmYoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yl9vbGQgPSBOVUxMLCAqdGJfbmV3ID0gTlVMTDsKKwlzdHJ1Y3QgbGlibW50X3RhYmRpZmYgKmRpZmYgPSBOVUxMOworCXN0cnVjdCBsaWJtbnRfaXRlciAqaXRyOworCXN0cnVjdCBsaWJtbnRfZnMgKm9sZCwgKm5ldzsKKwlpbnQgcmMgPSAtMSwgY2hhbmdlOworCisJdGJfb2xkID0gbW50X25ld190YWJsZV9mcm9tX2ZpbGUoYXJndlsxXSk7CisJdGJfbmV3ID0gbW50X25ld190YWJsZV9mcm9tX2ZpbGUoYXJndlsyXSk7CisJZGlmZiA9IG1udF9uZXdfdGFiZGlmZigpOworCWl0ciA9IG1udF9uZXdfaXRlcihNTlRfSVRFUl9GT1JXQVJEKTsKKworCWlmICghdGJfb2xkIHx8ICF0Yl9uZXcgfHwgIWRpZmYgfHwgIWl0cikgeworCQl3YXJueCgiZmFpbGVkIHRvIGFsbG9jYXRlIHJlc291cmNlcyIpOworCQlnb3RvIGRvbmU7CisJfQorCisJcmMgPSBtbnRfZGlmZl90YWJsZXMoZGlmZiwgdGJfb2xkLCB0Yl9uZXcpOworCWlmIChyYyA8IDApCisJCWdvdG8gZG9uZTsKKworCXdoaWxlKG1udF90YWJkaWZmX25leHRfY2hhbmdlKGRpZmYsIGl0ciwgJm9sZCwgJm5ldywgJmNoYW5nZSkgPT0gMCkgeworCisJCXByaW50ZigiJXMgb24gJXM6ICIsIG1udF9mc19nZXRfc291cmNlKG5ldyA/IG5ldyA6IG9sZCksCisJCQkJICAgICBtbnRfZnNfZ2V0X3RhcmdldChuZXcgPyBuZXcgOiBvbGQpKTsKKworCQlzd2l0Y2goY2hhbmdlKSB7CisJCWNhc2UgTU5UX1RBQkRJRkZfTU9WRToKKwkJCXByaW50ZigiTU9WRUQgdG8gJXNcbiIsIG1udF9mc19nZXRfdGFyZ2V0KG5ldykpOworCQkJYnJlYWs7CisJCWNhc2UgTU5UX1RBQkRJRkZfVU1PVU5UOgorCQkJcHJpbnRmKCJVTU9VTlRFRFxuIik7CisJCQlicmVhazsKKwkJY2FzZSBNTlRfVEFCRElGRl9SRU1PVU5UOgorCQkJcHJpbnRmKCJSRU1PVU5URUQgZnJvbSAnJXMnIHRvICclcydcbiIsCisJCQkJCW1udF9mc19nZXRfb3B0aW9ucyhvbGQpLAorCQkJCQltbnRfZnNfZ2V0X29wdGlvbnMobmV3KSk7CisJCQlicmVhazsKKwkJY2FzZSBNTlRfVEFCRElGRl9NT1VOVDoKKwkJCXByaW50ZigiTU9VTlRFRFxuIik7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXByaW50ZigidW5rbm93biBjaGFuZ2UhXG4iKTsKKwkJfQorCX0KKworCXJjID0gMDsKK2RvbmU6CisJbW50X3VucmVmX3RhYmxlKHRiX29sZCk7CisJbW50X3VucmVmX3RhYmxlKHRiX25ldyk7CisJbW50X2ZyZWVfdGFiZGlmZihkaWZmKTsKKwltbnRfZnJlZV9pdGVyKGl0cik7CisJcmV0dXJuIHJjOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBsaWJtbnRfdGVzdCB0c3NbXSA9IHsKKwkJeyAiLS1kaWZmIiwgdGVzdF9kaWZmLCAiPG9sZD4gPG5ldz4gcHJpbnRzIGNoYW5nZSIgfSwKKwkJeyBOVUxMIH0KKwl9OworCisJcmV0dXJuIG1udF9ydW5fdGVzdCh0c3MsIGFyZ2MsIGFyZ3YpOworfQorCisjZW5kaWYgLyogVEVTVF9QUk9HUkFNICovCmRpZmYgLS1naXQgYS9saWJtb3VudC9zcmMvdGFiX3BhcnNlLmMgYi9saWJtb3VudC9zcmMvdGFiX3BhcnNlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjE3YTIyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L3NyYy90YWJfcGFyc2UuYwpAQCAtMCwwICsxLDExNzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisjaWZkZWYgSEFWRV9TQ0FORElSQVQKKyNpZm5kZWYgX19VU0VfR05VCisjZGVmaW5lIF9fVVNFX0dOVQorI2VuZGlmCS8qICFfX1VTRV9HTlUgKi8KKyNlbmRpZgkvKiBIQVZFX1NDQU5ESVJBVCAqLworCisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxkaXJlbnQuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisKKyNpbmNsdWRlICJmaWxldXRpbHMuaCIKKyNpbmNsdWRlICJtYW5nbGUuaCIKKyNpbmNsdWRlICJtb3VudFAuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorCitzdHJ1Y3QgbGlibW50X3BhcnNlciB7CisJRklMRQkqZjsJCS8qIGZzdGFiLCBtdGFiLCBzd2FwcyBvciBtb3VudGluZm8gLi4uICovCisJY29uc3QgY2hhciAqZmlsZW5hbWU7CS8qIGZpbGUgbmFtZSBvciBOVUxMICovCisJY2hhcgkqYnVmOwkJLyogYnVmZmVyICh0aGUgY3VycmVudCBsaW5lIGNvbnRlbnQpICovCisJc2l6ZV90CWJ1ZnNpejsJCS8qIHNpemUgb2YgdGhlIGJ1ZmZlciAqLworCXNpemVfdAlsaW5lOwkJLyogY3VycmVudCBsaW5lICovCit9OworCitzdGF0aWMgdm9pZCBwYXJzZXJfY2xlYW51cChzdHJ1Y3QgbGlibW50X3BhcnNlciAqcGEpCit7CisJaWYgKCFwYSkKKwkJcmV0dXJuOworCWZyZWUocGEtPmJ1Zik7CisJbWVtc2V0KHBhLCAwLCBzaXplb2YoKnBhKSk7Cit9CisKK3N0YXRpYyBpbnQgbmV4dF9udW1iZXIoY2hhciAqKnMsIGludCAqbnVtKQoreworCWNoYXIgKmVuZCA9IE5VTEw7CisKKwlhc3NlcnQobnVtKTsKKwlhc3NlcnQocyk7CisKKwkqcyA9IChjaGFyICopIHNraXBfYmxhbmsoKnMpOworCWlmICghKipzKQorCQlyZXR1cm4gLTE7CisJKm51bSA9IHN0cnRvbCgqcywgJmVuZCwgMTApOworCWlmIChlbmQgPT0gTlVMTCB8fCAqcyA9PSBlbmQpCisJICAgICAgIHJldHVybiAtMTsKKworCSpzID0gZW5kOworCisJLyogdmFsaWQgZW5kIG9mIG51bWJlciBpcyBhIHNwYWNlIG9yIGEgdGVybWluYXRvciAqLworCWlmICgqZW5kID09ICcgJyB8fCAqZW5kID09ICdcdCcgfHwgKmVuZCA9PSAnXDAnKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gLTE7Cit9CisKKy8qCisgKiBQYXJzZXMgb25lIGxpbmUgZnJvbSB7ZnMsbX10YWIKKyAqLworc3RhdGljIGludCBtbnRfcGFyc2VfdGFibGVfbGluZShzdHJ1Y3QgbGlibW50X2ZzICpmcywgY2hhciAqcykKK3sKKwlpbnQgcmMsIG4gPSAwLCB4cmM7CisJY2hhciAqc3JjID0gTlVMTCwgKmZzdHlwZSA9IE5VTEwsICpvcHRzdHIgPSBOVUxMOworCisJcmMgPSBzc2NhbmYocywJVUxfU0NOc0EiICIJLyogKDEpIHNvdXJjZSAqLworCQkJVUxfU0NOc0EiICIJLyogKDIpIHRhcmdldCAqLworCQkJVUxfU0NOc0EiICIJLyogKDMpIEZTIHR5cGUgKi8KKwkJCVVMX1NDTnNBIiAiCS8qICg0KSBvcHRpb25zICovCisJCQkiJW4iLAkJLyogYnl0ZSBjb3VudCAqLworCisJCQkmc3JjLAorCQkJJmZzLT50YXJnZXQsCisJCQkmZnN0eXBlLAorCQkJJm9wdHN0ciwKKwkJCSZuKTsKKwl4cmMgPSByYzsKKworCWlmIChyYyA9PSAzIHx8IHJjID09IDQpIHsJCQkvKiBvcHRpb25zIGFyZSBvcHRpb25hbCAqLworCQl1bm1hbmdsZV9zdHJpbmcoc3JjKTsKKwkJdW5tYW5nbGVfc3RyaW5nKGZzLT50YXJnZXQpOworCQl1bm1hbmdsZV9zdHJpbmcoZnN0eXBlKTsKKworCQlpZiAob3B0c3RyICYmICpvcHRzdHIpCisJCQl1bm1hbmdsZV9zdHJpbmcob3B0c3RyKTsKKworCQkvKiBub3RlIHRoYXQgX19mb28gZnVuY3Rpb25zIGRvIG5vdCByZWFsbG9jYXRlIHRoZSBzdHJpbmcKKwkJICovCisJCXJjID0gX19tbnRfZnNfc2V0X3NvdXJjZV9wdHIoZnMsIHNyYyk7CisJCWlmICghcmMpIHsKKwkJCXNyYyA9IE5VTEw7CisJCQlyYyA9IF9fbW50X2ZzX3NldF9mc3R5cGVfcHRyKGZzLCBmc3R5cGUpOworCQkJaWYgKCFyYykKKwkJCQlmc3R5cGUgPSBOVUxMOworCQl9CisJCWlmICghcmMgJiYgb3B0c3RyKQorCQkJcmMgPSBtbnRfZnNfc2V0X29wdGlvbnMoZnMsIG9wdHN0cik7CisJCWZyZWUob3B0c3RyKTsKKwkJb3B0c3RyID0gTlVMTDsKKwl9IGVsc2UgeworCQlEQkcoVEFCLCB1bF9kZWJ1ZygidGFiIHBhcnNlIGVycm9yOiBbc3NjYW5mIHJjPSVkXTogJyVzJyIsIHJjLCBzKSk7CisJCXJjID0gLUVJTlZBTDsKKwl9CisKKwlpZiAocmMpIHsKKwkJZnJlZShzcmMpOworCQlmcmVlKGZzdHlwZSk7CisJCWZyZWUob3B0c3RyKTsKKwkJREJHKFRBQiwgdWxfZGVidWcoInRhYiBwYXJzZSBlcnJvcjogW3NldCB2YXJzLCByYz0lZF1cbiIsIHJjKSk7CisJCXJldHVybiByYzsJLyogZXJyb3IgKi8KKwl9CisKKwlmcy0+cGFzc25vID0gZnMtPmZyZXEgPSAwOworCisJaWYgKHhyYyA9PSA0ICYmIG4pCisJCXMgPSAoY2hhciAqKSBza2lwX2JsYW5rKHMgKyBuKTsKKwlpZiAoeHJjID09IDQgJiYgKnMpIHsKKwkJaWYgKG5leHRfbnVtYmVyKCZzLCAmZnMtPmZyZXEpICE9IDApIHsKKwkJCWlmICgqcykgeworCQkJCURCRyhUQUIsIHVsX2RlYnVnKCJ0YWIgcGFyc2UgZXJyb3I6IFtmcmVxXSIpKTsKKwkJCQlyYyA9IC1FSU5WQUw7CisJCQl9CisJCX0gZWxzZSBpZiAobmV4dF9udW1iZXIoJnMsICZmcy0+cGFzc25vKSAhPSAwICYmICpzKSB7CisJCQlEQkcoVEFCLCB1bF9kZWJ1ZygidGFiIHBhcnNlIGVycm9yOiBbcGFzc25vXSIpKTsKKwkJCXJjID0gLUVJTlZBTDsKKwkJfQorCX0KKworCXJldHVybiByYzsKK30KKworLyoKKyAqIFBhcnNlcyBvbmUgbGluZSBmcm9tIGEgbW91bnRpbmZvIGZpbGUKKyAqLworc3RhdGljIGludCBtbnRfcGFyc2VfbW91bnRpbmZvX2xpbmUoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNoYXIgKnMpCit7CisJaW50IHJjLCBlbmQgPSAwOworCXVuc2lnbmVkIGludCBtYWosIG1pbjsKKwljaGFyICpmc3R5cGUgPSBOVUxMLCAqc3JjID0gTlVMTCwgKnA7CisKKwlyYyA9IHNzY2FuZihzLAkiJWQgIgkJLyogKDEpIGlkICovCisJCQkiJWQgIgkJLyogKDIpIHBhcmVudCAqLworCQkJIiV1OiV1ICIJLyogKDMpIG1hajptaW4gKi8KKwkJCVVMX1NDTnNBIiAiCS8qICg0KSBtb3VudHJvb3QgKi8KKwkJCVVMX1NDTnNBIiAiCS8qICg1KSB0YXJnZXQgKi8KKwkJCVVMX1NDTnNBCS8qICg2KSB2ZnMgb3B0aW9ucyAoZnMtaW5kZXBlbmRlbnQpICovCisJCQkiJW4iLAkJLyogbnVtYmVyIG9mIHJlYWQgYnl0ZXMgKi8KKworCQkJJmZzLT5pZCwKKwkJCSZmcy0+cGFyZW50LAorCQkJJm1haiwgJm1pbiwKKwkJCSZmcy0+cm9vdCwKKwkJCSZmcy0+dGFyZ2V0LAorCQkJJmZzLT52ZnNfb3B0c3RyLAorCQkJJmVuZCk7CisKKwlpZiAocmMgPj0gNyAmJiBlbmQgPiAwKQorCQlzICs9IGVuZDsKKworCS8qICg3KSBvcHRpb25hbCBmaWVsZHMsIHRlcm1pbmF0ZWQgYnkgIiAtICIgKi8KKwlwID0gc3Ryc3RyKHMsICIgLSAiKTsKKwlpZiAoIXApIHsKKwkJREJHKFRBQiwgdWxfZGVidWcoIm1vdW50aW5mbyBwYXJzZSBlcnJvcjogc2VwYXJhdG9yIG5vdCBmb3VuZCIpKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCWlmIChwID4gcyArIDEpCisJCWZzLT5vcHRfZmllbGRzID0gc3RybmR1cChzICsgMSwgcCAtIHMgLSAxKTsKKwlzID0gcCArIDM7CisKKwlyYyArPSBzc2NhbmYocywJVUxfU0NOc0EiICIJLyogKDgpIEZTIHR5cGUgKi8KKwkJCVVMX1NDTnNBIiAiCS8qICg5KSBzb3VyY2UgKi8KKwkJCVVMX1NDTnNBLAkvKiAoMTApIGZzIG9wdGlvbnMgKGZzIHNwZWNpZmljKSAqLworCisJCQkmZnN0eXBlLAorCQkJJnNyYywKKwkJCSZmcy0+ZnNfb3B0c3RyKTsKKworCWlmIChyYyA+PSAxMCkgeworCQlzaXplX3Qgc3o7CisKKwkJZnMtPmZsYWdzIHw9IE1OVF9GU19LRVJORUw7CisJCWZzLT5kZXZubyA9IG1ha2VkZXYobWFqLCBtaW4pOworCisJCS8qIHJlbW92ZSAiKGRlbGV0ZWQpIiBzdWZmaXggKi8KKwkJc3ogPSBzdHJsZW4oZnMtPnRhcmdldCk7CisJCWlmIChzeiA+IFBBVEhfREVMRVRFRF9TVUZGSVhfU1opIHsKKwkJCWNoYXIgKnB0ciA9IGZzLT50YXJnZXQgKyAoc3ogLSBQQVRIX0RFTEVURURfU1VGRklYX1NaKTsKKworCQkJaWYgKHN0cmNtcChwdHIsIFBBVEhfREVMRVRFRF9TVUZGSVgpID09IDApCisJCQkJKnB0ciA9ICdcMCc7CisJCX0KKworCQl1bm1hbmdsZV9zdHJpbmcoZnMtPnJvb3QpOworCQl1bm1hbmdsZV9zdHJpbmcoZnMtPnRhcmdldCk7CisJCXVubWFuZ2xlX3N0cmluZyhmcy0+dmZzX29wdHN0cik7CisJCXVubWFuZ2xlX3N0cmluZyhmc3R5cGUpOworCQl1bm1hbmdsZV9zdHJpbmcoc3JjKTsKKwkJdW5tYW5nbGVfc3RyaW5nKGZzLT5mc19vcHRzdHIpOworCisJCXJjID0gX19tbnRfZnNfc2V0X2ZzdHlwZV9wdHIoZnMsIGZzdHlwZSk7CisJCWlmICghcmMpIHsKKwkJCWZzdHlwZSA9IE5VTEw7CisJCQlyYyA9IF9fbW50X2ZzX3NldF9zb3VyY2VfcHRyKGZzLCBzcmMpOworCQkJaWYgKCFyYykKKwkJCQlzcmMgPSBOVUxMOworCQl9CisKKwkJLyogbWVyZ2UgVkZTIGFuZCBGUyBvcHRpb25zIHRvIG9uZSBzdHJpbmcgKi8KKwkJZnMtPm9wdHN0ciA9IG1udF9mc19zdHJkdXBfb3B0aW9ucyhmcyk7CisJCWlmICghZnMtPm9wdHN0cikKKwkJCXJjID0gLUVOT01FTTsKKwl9IGVsc2UgeworCQlmcmVlKGZzdHlwZSk7CisJCWZyZWUoc3JjKTsKKwkJREJHKFRBQiwgdWxfZGVidWcoCisJCQkibW91bnRpbmZvIHBhcnNlIGVycm9yIFtzc2NhbmYgcmM9JWRdOiAnJXMnIiwgcmMsIHMpKTsKKwkJcmMgPSAtRUlOVkFMOworCX0KKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBQYXJzZXMgb25lIGxpbmUgZnJvbSB1dGFiIGZpbGUKKyAqLworc3RhdGljIGludCBtbnRfcGFyc2VfdXRhYl9saW5lKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpzKQoreworCWNvbnN0IGNoYXIgKnAgPSBzOworCisJYXNzZXJ0KGZzKTsKKwlhc3NlcnQocyk7CisJYXNzZXJ0KCFmcy0+c291cmNlKTsKKwlhc3NlcnQoIWZzLT50YXJnZXQpOworCisJd2hpbGUgKHAgJiYgKnApIHsKKwkJY2hhciAqZW5kID0gTlVMTDsKKworCQl3aGlsZSAoKnAgPT0gJyAnKSBwKys7CisJCWlmICghKnApCisJCQlicmVhazsKKworCQlpZiAoIWZzLT5zb3VyY2UgJiYgIXN0cm5jbXAocCwgIlNSQz0iLCA0KSkgeworCQkJY2hhciAqdiA9IHVubWFuZ2xlKHAgKyA0LCAmZW5kKTsKKwkJCWlmICghdikKKwkJCQlnb3RvIGVub21lbTsKKwkJCV9fbW50X2ZzX3NldF9zb3VyY2VfcHRyKGZzLCB2KTsKKworCQl9IGVsc2UgaWYgKCFmcy0+dGFyZ2V0ICYmICFzdHJuY21wKHAsICJUQVJHRVQ9IiwgNykpIHsKKwkJCWZzLT50YXJnZXQgPSB1bm1hbmdsZShwICsgNywgJmVuZCk7CisJCQlpZiAoIWZzLT50YXJnZXQpCisJCQkJZ290byBlbm9tZW07CisKKwkJfSBlbHNlIGlmICghZnMtPnJvb3QgJiYgIXN0cm5jbXAocCwgIlJPT1Q9IiwgNSkpIHsKKwkJCWZzLT5yb290ID0gdW5tYW5nbGUocCArIDUsICZlbmQpOworCQkJaWYgKCFmcy0+cm9vdCkKKwkJCQlnb3RvIGVub21lbTsKKworCQl9IGVsc2UgaWYgKCFmcy0+YmluZHNyYyAmJiAhc3RybmNtcChwLCAiQklORFNSQz0iLCA4KSkgeworCQkJZnMtPmJpbmRzcmMgPSB1bm1hbmdsZShwICsgOCwgJmVuZCk7CisJCQlpZiAoIWZzLT5iaW5kc3JjKQorCQkJCWdvdG8gZW5vbWVtOworCisJCX0gZWxzZSBpZiAoIWZzLT51c2VyX29wdHN0ciAmJiAhc3RybmNtcChwLCAiT1BUUz0iLCA1KSkgeworCQkJZnMtPnVzZXJfb3B0c3RyID0gdW5tYW5nbGUocCArIDUsICZlbmQpOworCQkJaWYgKCFmcy0+dXNlcl9vcHRzdHIpCisJCQkJZ290byBlbm9tZW07CisKKwkJfSBlbHNlIGlmICghZnMtPmF0dHJzICYmICFzdHJuY21wKHAsICJBVFRSUz0iLCA2KSkgeworCQkJZnMtPmF0dHJzID0gdW5tYW5nbGUocCArIDYsICZlbmQpOworCQkJaWYgKCFmcy0+YXR0cnMpCisJCQkJZ290byBlbm9tZW07CisKKwkJfSBlbHNlIHsKKwkJCS8qIHVua25vd24gdmFyaWFibGUgKi8KKwkJCXdoaWxlICgqcCAmJiAqcCAhPSAnICcpIHArKzsKKwkJfQorCQlpZiAoZW5kKQorCQkJcCA9IGVuZDsKKwl9CisKKwlyZXR1cm4gMDsKK2Vub21lbToKKwlEQkcoVEFCLCB1bF9kZWJ1ZygidXRhYiBwYXJzZSBlcnJvcjogRU5PTUVNIikpOworCXJldHVybiAtRU5PTUVNOworfQorCisvKgorICogUGFyc2VzIG9uZSBsaW5lIGZyb20gL3Byb2Mvc3dhcHMKKyAqLworc3RhdGljIGludCBtbnRfcGFyc2Vfc3dhcHNfbGluZShzdHJ1Y3QgbGlibW50X2ZzICpmcywgY2hhciAqcykKK3sKKwl1aW50bWF4X3QgZnN6LCB1c3o7CisJaW50IHJjOworCWNoYXIgKnNyYyA9IE5VTEw7CisKKwlyYyA9IHNzY2FuZihzLAlVTF9TQ05zQSIgIgkvKiAoMSkgc291cmNlICovCisJCQlVTF9TQ05zQSIgIgkvKiAoMikgdHlwZSAqLworCQkJIiVqdSIJCS8qICgzKSBzaXplICovCisJCQkiJWp1IgkJLyogKDQpIHVzZWQgKi8KKwkJCSIlZCIsCQkvKiBwcmlvcml0eSAqLworCisJCQkmc3JjLAorCQkJJmZzLT5zd2FwdHlwZSwKKwkJCSZmc3osCisJCQkmdXN6LAorCQkJJmZzLT5wcmlvcml0eSk7CisKKwlpZiAocmMgPT0gNSkgeworCQlzaXplX3Qgc3o7CisKKwkJZnMtPnNpemUgPSBmc3o7CisJCWZzLT51c2Vkc2l6ZSA9IHVzejsKKworCQl1bm1hbmdsZV9zdHJpbmcoc3JjKTsKKworCQkvKiByZW1vdmUgIihkZWxldGVkKSIgc3VmZml4ICovCisJCXN6ID0gc3RybGVuKHNyYyk7CisJCWlmIChzeiA+IFBBVEhfREVMRVRFRF9TVUZGSVhfU1opIHsKKwkJCWNoYXIgKnAgPSBzcmMgKyAoc3ogLSBQQVRIX0RFTEVURURfU1VGRklYX1NaKTsKKwkJCWlmIChzdHJjbXAocCwgUEFUSF9ERUxFVEVEX1NVRkZJWCkgPT0gMCkKKwkJCQkqcCA9ICdcMCc7CisJCX0KKworCQlyYyA9IG1udF9mc19zZXRfc291cmNlKGZzLCBzcmMpOworCQlpZiAoIXJjKQorCQkJbW50X2ZzX3NldF9mc3R5cGUoZnMsICJzd2FwIik7CisJCWZyZWUoc3JjKTsKKwl9IGVsc2UgeworCQlEQkcoVEFCLCB1bF9kZWJ1ZygidGFiIHBhcnNlIGVycm9yOiBbc3NjYW5mIHJjPSVkXTogJyVzJyIsIHJjLCBzKSk7CisJCXJjID0gLUVJTlZBTDsKKwl9CisKKwlyZXR1cm4gcmM7Cit9CisKKworLyoKKyAqIFJldHVybnMge20sZnN9dGFiIG9yIG1vdW50aW5mbyBmaWxlIGZvcm1hdCAoTU5UX0ZNVF8qKQorICoKKyAqIE5vdGUgdGhhdCB3ZSBhcmVuJ3QgdHJ5aW5nIHRvIGd1ZXNzIHRoZSB1dGFiIGZpbGUgZm9ybWF0LCBiZWNhdXNlIHRoaXMgZmlsZQorICogYWx3YXlzIGhhcyB0byBiZSBwYXJzZWQgYnkgcHJpdmF0ZSBsaWJtb3VudCByb3V0aW5lcyB3aXRoIGFuIGV4cGxpY2l0bHkgZGVmaW5lZAorICogZm9ybWF0LgorICoKKyAqIG1vdW50aW5mbzogIjxudW1iZXI+IDxudW1iZXI+IC4uLiAiCisgKi8KK3N0YXRpYyBpbnQgZ3Vlc3NfdGFibGVfZm9ybWF0KGNoYXIgKmxpbmUpCit7CisJdW5zaWduZWQgaW50IGEsIGI7CisKKwlEQkcoVEFCLCB1bF9kZWJ1ZygidHJ5aW5nIHRvIGd1ZXNzIHRhYmxlIHR5cGUiKSk7CisKKwlpZiAoc3NjYW5mKGxpbmUsICIldSAldSIsICZhLCAmYikgPT0gMikKKwkJcmV0dXJuIE1OVF9GTVRfTU9VTlRJTkZPOworCisJaWYgKHN0cm5jbXAobGluZSwgIkZpbGVuYW1lXHQiLCA5KSA9PSAwKQorCQlyZXR1cm4gTU5UX0ZNVF9TV0FQUzsKKworCXJldHVybiBNTlRfRk1UX0ZTVEFCOwkJLyogZnN0YWIsIG10YWIgb3IgL3Byb2MvbW91bnRzICovCit9CisKK3N0YXRpYyBpbnQgaXNfY29tbWVudF9saW5lKGNoYXIgKmxpbmUpCit7CisJY2hhciAqcAk9IChjaGFyICopIHNraXBfYmxhbmsobGluZSk7CisKKwlpZiAocCAmJiAoKnAgPT0gJyMnIHx8ICpwID09ICdcbicpKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworLyogcmV0dXJucyAxIGlmIHRoZSBsYXN0IGxpbmUgaW4gdGhlIEBzdHIgaXMgYmxhbmsgKi8KK3N0YXRpYyBpbnQgaXNfdGVybWluYXRlZF9ieV9ibGFuayhjb25zdCBjaGFyICpzdHIpCit7CisJc2l6ZV90IHN6ID0gc3RyID8gc3RybGVuKHN0cikgOiAwOworCWNvbnN0IGNoYXIgKnAgPSBzeiA/IHN0ciArIChzeiAtIDEpIDogTlVMTDsKKworCWlmICghc3ogfHwgIXAgfHwgKnAgIT0gJ1xuJykKKwkJcmV0dXJuIDA7CQkvKiBlbXB0eSBvciBub3QgdGVybWluYXRlZCBieSAnXG4nICovCisJaWYgKHAgPT0gc3RyKQorCQlyZXR1cm4gMTsJCS8qIG9ubHkgJ1xuJyAqLworCXAtLTsKKwl3aGlsZSAocCA+PSBzdHIgJiYgKCpwID09ICcgJyB8fCAqcCA9PSAnXHQnKSkKKwkJcC0tOworCXJldHVybiAqcCA9PSAnXG4nID8gMSA6IDA7Cit9CisKKy8qCisgKiBSZWFkcyB0aGUgbmV4dCBsaW5lIGZyb20gdGhlIGZpbGUuCisgKgorICogUmV0dXJucyAwIGlmIHRoZSBsaW5lIGlzIGEgY29tbWVudAorICogICAgICAgICAxIGlmIHRoZSBsaW5lIGlzIG5vdCBhIGNvbW1lbnQKKyAqICAgICAgICA8MCBvbiBlcnJvcgorICovCitzdGF0aWMgaW50IG5leHRfY29tbWVudF9saW5lKHN0cnVjdCBsaWJtbnRfcGFyc2VyICpwYSwgY2hhciAqKmxhc3QpCit7CisJaWYgKGdldGxpbmUoJnBhLT5idWYsICZwYS0+YnVmc2l6LCBwYS0+ZikgPCAwKQorCQlyZXR1cm4gZmVvZihwYS0+ZikgPyAxIDogLWVycm5vOworCisJcGEtPmxpbmUrKzsKKwkqbGFzdCA9IHN0cmNocihwYS0+YnVmLCAnXG4nKTsKKworCXJldHVybiBpc19jb21tZW50X2xpbmUocGEtPmJ1ZikgPyAwIDogMTsKK30KKworc3RhdGljIGludCBhcHBlbmRfY29tbWVudChzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwKKwkJCSAgc3RydWN0IGxpYm1udF9mcyAqZnMsCisJCQkgIGNvbnN0IGNoYXIgKmNvbW0sCisJCQkgIGludCBlb2YpCit7CisJaW50IHJjLCBpbnRybyA9IG1udF90YWJsZV9nZXRfbmVudHModGIpID09IDA7CisKKwlpZiAoaW50cm8gJiYgaXNfdGVybWluYXRlZF9ieV9ibGFuayhtbnRfdGFibGVfZ2V0X2ludHJvX2NvbW1lbnQodGIpKSkKKwkJaW50cm8gPSAwOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJhcHBlbmRpbmcgJXMgY29tbWVudCIsCisJCQlpbnRybyA/ICJpbnRybyIgOgorCQkJZW9mID8gInRyYWlsaW5nIiA6ICJmcyIpKTsKKwlpZiAoaW50cm8pCisJCXJjID0gbW50X3RhYmxlX2FwcGVuZF9pbnRyb19jb21tZW50KHRiLCBjb21tKTsKKwllbHNlIGlmIChlb2YpIHsKKwkJcmMgPSBtbnRfdGFibGVfc2V0X3RyYWlsaW5nX2NvbW1lbnQodGIsCisJCQkJbW50X2ZzX2dldF9jb21tZW50KGZzKSk7CisJCWlmICghcmMpCisJCQlyYyA9IG1udF90YWJsZV9hcHBlbmRfdHJhaWxpbmdfY29tbWVudCh0YiwgY29tbSk7CisJCWlmICghcmMpCisJCQlyYyA9IG1udF9mc19zZXRfY29tbWVudChmcywgTlVMTCk7CisJfSBlbHNlCisJCXJjID0gbW50X2ZzX2FwcGVuZF9jb21tZW50KGZzLCBjb21tKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBSZWFkIGFuZCBwYXJzZSB0aGUgbmV4dCBsaW5lIGZyb20ge2ZzLG19dGFiIG9yIG1vdW50aW5mbworICovCitzdGF0aWMgaW50IG1udF90YWJsZV9wYXJzZV9uZXh0KHN0cnVjdCBsaWJtbnRfcGFyc2VyICpwYSwKKwkJCQlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwKKwkJCQlzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwljaGFyICpzOworCWludCByYzsKKworCWFzc2VydCh0Yik7CisJYXNzZXJ0KHBhKTsKKwlhc3NlcnQoZnMpOworCisJLyogcmVhZCB0aGUgbmV4dCBub24tYmxhbmsgbm9uLWNvbW1lbnQgbGluZSAqLworbmV4dF9saW5lOgorCWRvIHsKKwkJaWYgKGdldGxpbmUoJnBhLT5idWYsICZwYS0+YnVmc2l6LCBwYS0+ZikgPCAwKQorCQkJcmV0dXJuIC1FSU5WQUw7CisJCXBhLT5saW5lKys7CisJCXMgPSBzdHJjaHIocGEtPmJ1ZiwgJ1xuJyk7CisJCWlmICghcykgeworCQkJLyogTWlzc2luZyBmaW5hbCBuZXdsaW5lPyAgT3RoZXJ3aXNlIGFuIGV4dHJlbWVseSAqLworCQkJLyogbG9uZyBsaW5lIC0gYXNzdW1lIGZpbGUgd2FzIGNvcnJ1cHRlZCAqLworCQkJaWYgKGZlb2YocGEtPmYpKSB7CisJCQkJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsCisJCQkJCSIlczogbm8gZmluYWwgbmV3bGluZSIsCXBhLT5maWxlbmFtZSkpOworCQkJCXMgPSBzdHJjaHIocGEtPmJ1ZiwgJ1wwJyk7CisJCQl9IGVsc2UgeworCQkJCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLAorCQkJCQkiJXM6JXp1OiBtaXNzaW5nIG5ld2xpbmUgYXQgbGluZSIsCisJCQkJCXBhLT5maWxlbmFtZSwgcGEtPmxpbmUpKTsKKwkJCQlnb3RvIGVycjsKKwkJCX0KKwkJfQorCisJCS8qIGNvbW1lbnRzIHBhcnNlciAqLworCQlpZiAodGItPmNvbW1zCisJCSAgICAmJiAodGItPmZtdCA9PSBNTlRfRk1UX0dVRVNTIHx8IHRiLT5mbXQgPT0gTU5UX0ZNVF9GU1RBQikKKwkJICAgICYmIGlzX2NvbW1lbnRfbGluZShwYS0+YnVmKSkgeworCQkJZG8geworCQkJCXJjID0gYXBwZW5kX2NvbW1lbnQodGIsIGZzLCBwYS0+YnVmLCBmZW9mKHBhLT5mKSk7CisJCQkJaWYgKCFyYykKKwkJCQkJcmMgPSBuZXh0X2NvbW1lbnRfbGluZShwYSwgJnMpOworCQkJfSB3aGlsZSAocmMgPT0gMCk7CisKKwkJCWlmIChyYyA9PSAxICYmIGZlb2YocGEtPmYpKQorCQkJCXJjID0gYXBwZW5kX2NvbW1lbnQodGIsIGZzLCBOVUxMLCAxKTsKKwkJCWlmIChyYyA8IDApCisJCQkJcmV0dXJuIHJjOworCisJCX0KKworCQkqcyA9ICdcMCc7CisJCWlmICgtLXMgPj0gcGEtPmJ1ZiAmJiAqcyA9PSAnXHInKQorCQkJKnMgPSAnXDAnOworCQlzID0gKGNoYXIgKikgc2tpcF9ibGFuayhwYS0+YnVmKTsKKwl9IHdoaWxlICgqcyA9PSAnXDAnIHx8ICpzID09ICcjJyk7CisKKwlpZiAodGItPmZtdCA9PSBNTlRfRk1UX0dVRVNTKSB7CisJCXRiLT5mbXQgPSBndWVzc190YWJsZV9mb3JtYXQocyk7CisJCWlmICh0Yi0+Zm10ID09IE1OVF9GTVRfU1dBUFMpCisJCQlnb3RvIG5leHRfbGluZTsJCQkvKiBza2lwIHN3YXAgaGVhZGVyICovCisJfQorCisJc3dpdGNoICh0Yi0+Zm10KSB7CisJY2FzZSBNTlRfRk1UX0ZTVEFCOgorCQlyYyA9IG1udF9wYXJzZV90YWJsZV9saW5lKGZzLCBzKTsKKwkJYnJlYWs7CisJY2FzZSBNTlRfRk1UX01PVU5USU5GTzoKKwkJcmMgPSBtbnRfcGFyc2VfbW91bnRpbmZvX2xpbmUoZnMsIHMpOworCQlicmVhazsKKwljYXNlIE1OVF9GTVRfVVRBQjoKKwkJcmMgPSBtbnRfcGFyc2VfdXRhYl9saW5lKGZzLCBzKTsKKwkJYnJlYWs7CisJY2FzZSBNTlRfRk1UX1NXQVBTOgorCQlpZiAoc3RybmNtcChzLCAiRmlsZW5hbWVcdCIsIDkpID09IDApCisJCQlnb3RvIG5leHRfbGluZTsJCQkvKiBza2lwIHN3YXAgaGVhZGVyICovCisJCXJjID0gbW50X3BhcnNlX3N3YXBzX2xpbmUoZnMsIHMpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyYyA9IC0xOwkvKiB1bmtub3duIGZvcm1hdCAqLworCQlicmVhazsKKwl9CisKKwlpZiAocmMgPT0gMCkKKwkJcmV0dXJuIDA7CitlcnI6CisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICIlczolenU6ICVzIHBhcnNlIGVycm9yIiwgcGEtPmZpbGVuYW1lLCBwYS0+bGluZSwKKwkJCQl0Yi0+Zm10ID09IE1OVF9GTVRfTU9VTlRJTkZPID8gIm1vdW50aW5mbyIgOgorCQkJCXRiLT5mbXQgPT0gTU5UX0ZNVF9TV0FQUyA/ICJzd2FwcyIgOgorCQkJCXRiLT5mbXQgPT0gTU5UX0ZNVF9GU1RBQiA/ICJ0YWIiIDogInV0YWIiKSk7CisKKwkvKiBieSBkZWZhdWx0IGFsbCBlcnJvcnMgYXJlIHJlY292ZXJhYmxlLCBvdGhlcndpc2UgYmVoYXZpb3IgZGVwZW5kcyBvbgorCSAqIHRoZSBlcnJjYigpIGZ1bmN0aW9uLiBTZWUgbW50X3RhYmxlX3NldF9wYXJzZXJfZXJyY2IoKS4KKwkgKi8KKwlyZXR1cm4gdGItPmVycmNiID8gdGItPmVycmNiKHRiLCBwYS0+ZmlsZW5hbWUsIHBhLT5saW5lKSA6IDE7Cit9CisKK3N0YXRpYyBwaWRfdCBwYXRoX3RvX3RpZChjb25zdCBjaGFyICpmaWxlbmFtZSkKK3sKKwljaGFyICpwYXRoID0gbW50X3Jlc29sdmVfcGF0aChmaWxlbmFtZSwgTlVMTCk7CisJY2hhciAqcCwgKmVuZCA9IE5VTEw7CisJcGlkX3QgdGlkID0gMDsKKworCWlmICghcGF0aCkKKwkJZ290byBkb25lOworCXAgPSBzdHJyY2hyKHBhdGgsICcvJyk7CisJaWYgKCFwKQorCQlnb3RvIGRvbmU7CisJKnAgPSAnXDAnOworCXAgPSBzdHJyY2hyKHBhdGgsICcvJyk7CisJaWYgKCFwKQorCQlnb3RvIGRvbmU7CisJcCsrOworCisJZXJybm8gPSAwOworCXRpZCA9IHN0cnRvbChwLCAmZW5kLCAxMCk7CisJaWYgKGVycm5vIHx8IHAgPT0gZW5kIHx8IChlbmQgJiYgKmVuZCkpIHsKKwkJdGlkID0gMDsKKwkJZ290byBkb25lOworCX0KKwlEQkcoVEFCLCB1bF9kZWJ1ZygiVElEIGZvciAlcyBpcyAlZCIsIGZpbGVuYW1lLCB0aWQpKTsKK2RvbmU6CisJZnJlZShwYXRoKTsKKwlyZXR1cm4gdGlkOworfQorCitzdGF0aWMgaW50IGtlcm5lbF9mc19wb3N0cGFyc2Uoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsCisJCQkgICAgICAgc3RydWN0IGxpYm1udF9mcyAqZnMsIHBpZF90ICp0aWQsCisJCQkgICAgICAgY29uc3QgY2hhciAqZmlsZW5hbWUpCit7CisJaW50IHJjID0gMDsKKwljb25zdCBjaGFyICpzcmMgPSBtbnRfZnNfZ2V0X3NyY3BhdGgoZnMpOworCisJLyogVGhpcyBpcyBhIGZpbGVzeXN0ZW0gZGVzY3JpcHRpb24gZnJvbSAvcHJvYywgc28gd2UncmUgaW4gc29tZSBwcm9jZXNzCisJICogbmFtZXNwYWNlLiBMZXQncyByZW1lbWJlciB0aGUgcHJvY2VzcyBQSUQuCisJICovCisJaWYgKGZpbGVuYW1lICYmICp0aWQgPT0gLTEpCisJCSp0aWQgPSBwYXRoX3RvX3RpZChmaWxlbmFtZSk7CisKKwlmcy0+dGlkID0gKnRpZDsKKworCS8qCisJICogQ29udmVydCBvYnNjdXJlIC9kZXYvcm9vdCB0byBzb21ldGhpbmcgbW9yZSB1c2FibGUKKwkgKi8KKwlpZiAoc3JjICYmIHN0cmNtcChzcmMsICIvZGV2L3Jvb3QiKSA9PSAwKSB7CisJCWNoYXIgKnJlYWwgPSBOVUxMOworCisJCXJjID0gbW50X2d1ZXNzX3N5c3RlbV9yb290KGZzLT5kZXZubywgdGItPmNhY2hlLCAmcmVhbCk7CisJCWlmIChyYyA8IDApCisJCQlyZXR1cm4gcmM7CisKKwkJaWYgKHJjID09IDAgJiYgcmVhbCkgeworCQkJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJjYW5vbmljYWwgcm9vdCBGUzogJXMiLCByZWFsKSk7CisJCQlyYyA9IF9fbW50X2ZzX3NldF9zb3VyY2VfcHRyKGZzLCByZWFsKTsKKworCQl9IGVsc2UgaWYgKHJjID09IDEpIHsKKwkJCS8qIG1udF9ndWVzc19zeXN0ZW1fcm9vdCgpIHJldHVybnMgMSBpZiBub3QgYWJsZSB0byBjb252ZXJ0IHRvCisJCQkgKiB0aGUgcmVhbCBkZXZuYW1lOyBpZ25vcmUgdGhpcyBwcm9ibGVtICovCisJCQlyYyA9IDA7CisJCX0KKwl9CisKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogbW50X3RhYmxlX3BhcnNlX3N0cmVhbToKKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqIEBmOiBmaWxlIHN0cmVhbQorICogQGZpbGVuYW1lOiBmaWxlbmFtZSB1c2VkIGZvciBkZWJ1ZyBhbmQgZXJyb3IgbWVzc2FnZXMKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X3RhYmxlX3BhcnNlX3N0cmVhbShzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgRklMRSAqZiwgY29uc3QgY2hhciAqZmlsZW5hbWUpCit7CisJaW50IHJjID0gLTE7CisJaW50IGZsYWdzID0gMDsKKwlwaWRfdCB0aWQgPSAtMTsKKwlzdHJ1Y3QgbGlibW50X2ZzICpmcyA9IE5VTEw7CisJc3RydWN0IGxpYm1udF9wYXJzZXIgcGEgPSB7IC5saW5lID0gMCB9OworCisJYXNzZXJ0KHRiKTsKKwlhc3NlcnQoZik7CisJYXNzZXJ0KGZpbGVuYW1lKTsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiJXM6IHN0YXJ0IHBhcnNpbmcgW2VudHJpZXM9JWQsIGZpbHRlcj0lc10iLAorCQkJCWZpbGVuYW1lLCBtbnRfdGFibGVfZ2V0X25lbnRzKHRiKSwKKwkJCQl0Yi0+Zmx0cmNiID8gInllcyIgOiAibm90IikpOworCisJcGEuZmlsZW5hbWUgPSBmaWxlbmFtZTsKKwlwYS5mID0gZjsKKworCS8qIG5lY2Vzc2FyeSBmb3IgL3Byb2MvbW91bnRzIG9ubHksIHRoZSAvcHJvYy9zZWxmL21vdW50aW5mbworCSAqIHBhcnNlciBzZXRzIHRoZSBmbGFnIHByb3Blcmx5CisJICovCisJaWYgKGZpbGVuYW1lICYmIHN0cmNtcChmaWxlbmFtZSwgX1BBVEhfUFJPQ19NT1VOVFMpID09IDApCisJCWZsYWdzID0gTU5UX0ZTX0tFUk5FTDsKKworCXdoaWxlICghZmVvZihmKSkgeworCQlpZiAoIWZzKSB7CisJCQlmcyA9IG1udF9uZXdfZnMoKTsKKwkJCWlmICghZnMpCisJCQkJZ290byBlcnI7CisJCX0KKworCQlyYyA9IG1udF90YWJsZV9wYXJzZV9uZXh0KCZwYSwgdGIsIGZzKTsKKworCQlpZiAoIXJjICYmIHRiLT5mbHRyY2IgJiYgdGItPmZsdHJjYihmcywgdGItPmZsdHJjYl9kYXRhKSkKKwkJCXJjID0gMTsJLyogZmlsdGVyZWQgb3V0IGJ5IGNhbGxiYWNrLi4uICovCisKKwkJaWYgKCFyYykgeworCQkJcmMgPSBtbnRfdGFibGVfYWRkX2ZzKHRiLCBmcyk7CisJCQlmcy0+ZmxhZ3MgfD0gZmxhZ3M7CisKKwkJCWlmIChyYyA9PSAwICYmIHRiLT5mbXQgPT0gTU5UX0ZNVF9NT1VOVElORk8pIHsKKwkJCQlyYyA9IGtlcm5lbF9mc19wb3N0cGFyc2UodGIsIGZzLCAmdGlkLCBmaWxlbmFtZSk7CisJCQkJaWYgKHJjKQorCQkJCQltbnRfdGFibGVfcmVtb3ZlX2ZzKHRiLCBmcyk7CisJCQl9CisJCX0KKworCQlpZiAocmMpIHsKKwkJCWlmIChyYyA+IDApIHsKKwkJCQltbnRfcmVzZXRfZnMoZnMpOworCQkJCWFzc2VydChmcy0+cmVmY291bnQgPT0gMSk7CisJCQkJY29udGludWU7CS8qIHJlY292ZXJhYmxlIGVycm9yLCByZXVzZSBmcyovCisJCQl9CisKKwkJCW1udF91bnJlZl9mcyhmcyk7CisJCQlpZiAoZmVvZihmKSkKKwkJCQlicmVhazsKKwkJCWdvdG8gZXJyOwkJLyogZmF0YWwgZXJyb3IgKi8KKwkJfQorCQltbnRfdW5yZWZfZnMoZnMpOworCQlmcyA9IE5VTEw7CisJfQorCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICIlczogc3RvcCBwYXJzaW5nICglZCBlbnRyaWVzKSIsCisJCQkJZmlsZW5hbWUsIG1udF90YWJsZV9nZXRfbmVudHModGIpKSk7CisJcGFyc2VyX2NsZWFudXAoJnBhKTsKKwlyZXR1cm4gMDsKK2VycjoKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIiVzOiBwYXJzZSBlcnJvciAocmM9JWQpIiwgZmlsZW5hbWUsIHJjKSk7CisJcGFyc2VyX2NsZWFudXAoJnBhKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogbW50X3RhYmxlX3BhcnNlX2ZpbGU6CisgKiBAdGI6IHRhYiBwb2ludGVyCisgKiBAZmlsZW5hbWU6IGZpbGUKKyAqCisgKiBQYXJzZXMgdGhlIHdob2xlIHRhYmxlIChlLmcuIC9ldGMvZnN0YWIpIGFuZCBhcHBlbmRzIG5ldyByZWNvcmRzIHRvIHRoZSBAdGFiLgorICoKKyAqIFRoZSBsaWJtb3VudCBwYXJzZXIgaWdub3JlcyBicm9rZW4gKHN5bnRheCBlcnJvcikgbGluZXMsIHRoZXNlIGxpbmVzIGFyZQorICogcmVwb3J0ZWQgdG8gdGhlIGNhbGxlciBieSB0aGUgZXJyY2IoKSBmdW5jdGlvbiAoc2VlIG1udF90YWJsZV9zZXRfcGFyc2VyX2VycmNiKCkpLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfdGFibGVfcGFyc2VfZmlsZShzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgY29uc3QgY2hhciAqZmlsZW5hbWUpCit7CisJRklMRSAqZjsKKwlpbnQgcmM7CisKKwlpZiAoIWZpbGVuYW1lIHx8ICF0YikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlmID0gZm9wZW4oZmlsZW5hbWUsICJyIiBVTF9DTE9FWEVDU1RSKTsKKwlpZiAoZikgeworCQlyYyA9IG1udF90YWJsZV9wYXJzZV9zdHJlYW0odGIsIGYsIGZpbGVuYW1lKTsKKwkJZmNsb3NlKGYpOworCX0gZWxzZQorCQlyYyA9IC1lcnJubzsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAicGFyc2luZyBkb25lIFtmaWxlbmFtZT0lcywgcmM9JWRdIiwgZmlsZW5hbWUsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IG1udF90YWJsZV9wYXJzZV9kaXJfZmlsdGVyKGNvbnN0IHN0cnVjdCBkaXJlbnQgKmQpCit7CisJc2l6ZV90IG5hbWVzejsKKworI2lmZGVmIF9ESVJFTlRfSEFWRV9EX1RZUEUKKwlpZiAoZC0+ZF90eXBlICE9IERUX1VOS05PV04gJiYgZC0+ZF90eXBlICE9IERUX1JFRyAmJgorCSAgICBkLT5kX3R5cGUgIT0gRFRfTE5LKQorCQlyZXR1cm4gMDsKKyNlbmRpZgorCWlmICgqZC0+ZF9uYW1lID09ICcuJykKKwkJcmV0dXJuIDA7CisKKyNkZWZpbmUgTU5UX01OVFRBQkRJUl9FWFRTSVoJKHNpemVvZihNTlRfTU5UVEFCRElSX0VYVCkgLSAxKQorCisJbmFtZXN6ID0gc3RybGVuKGQtPmRfbmFtZSk7CisJaWYgKCFuYW1lc3ogfHwgbmFtZXN6IDwgTU5UX01OVFRBQkRJUl9FWFRTSVogKyAxIHx8CisJICAgIHN0cmNtcChkLT5kX25hbWUgKyAobmFtZXN6IC0gTU5UX01OVFRBQkRJUl9FWFRTSVopLAorCQkgICBNTlRfTU5UVEFCRElSX0VYVCkpCisJCXJldHVybiAwOworCisJLyogQWNjZXB0IHRoaXMgKi8KKwlyZXR1cm4gMTsKK30KKworI2lmZGVmIEhBVkVfU0NBTkRJUkFUCitzdGF0aWMgaW50IF9fbW50X3RhYmxlX3BhcnNlX2RpcihzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgY29uc3QgY2hhciAqZGlybmFtZSkKK3sKKwlpbnQgbiA9IDAsIGk7CisJaW50IGRkOworCXN0cnVjdCBkaXJlbnQgKipuYW1lbGlzdCA9IE5VTEw7CisKKwlkZCA9IG9wZW4oZGlybmFtZSwgT19SRE9OTFl8T19DTE9FWEVDfE9fRElSRUNUT1JZKTsKKwlpZiAoZGQgPCAwKQorCSAgICAgICAgcmV0dXJuIC1lcnJubzsKKworCW4gPSBzY2FuZGlyYXQoZGQsICIuIiwgJm5hbWVsaXN0LCBtbnRfdGFibGVfcGFyc2VfZGlyX2ZpbHRlciwgdmVyc2lvbnNvcnQpOworCWlmIChuIDw9IDApIHsKKwkgICAgICAgIGNsb3NlKGRkKTsKKwkgICAgICAgIHJldHVybiAwOworCX0KKworCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKKwkJc3RydWN0IGRpcmVudCAqZCA9IG5hbWVsaXN0W2ldOworCQlzdHJ1Y3Qgc3RhdCBzdDsKKwkJRklMRSAqZjsKKworCQlpZiAoZnN0YXRhdChkZCwgZC0+ZF9uYW1lLCAmc3QsIDApIHx8CisJCSAgICAhU19JU1JFRyhzdC5zdF9tb2RlKSkKKwkJCWNvbnRpbnVlOworCisJCWYgPSBmb3Blbl9hdChkZCwgZC0+ZF9uYW1lLCBPX1JET05MWXxPX0NMT0VYRUMsICJyIiBVTF9DTE9FWEVDU1RSKTsKKwkJaWYgKGYpIHsKKwkJCW1udF90YWJsZV9wYXJzZV9zdHJlYW0odGIsIGYsIGQtPmRfbmFtZSk7CisJCQlmY2xvc2UoZik7CisJCX0KKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKQorCQlmcmVlKG5hbWVsaXN0W2ldKTsKKwlmcmVlKG5hbWVsaXN0KTsKKwljbG9zZShkZCk7CisJcmV0dXJuIDA7Cit9CisjZWxzZQorc3RhdGljIGludCBfX21udF90YWJsZV9wYXJzZV9kaXIoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKmRpcm5hbWUpCit7CisJaW50IG4gPSAwLCBpLCByID0gMDsKKwlESVIgKmRpciA9IE5VTEw7CisJc3RydWN0IGRpcmVudCAqKm5hbWVsaXN0ID0gTlVMTDsKKworCW4gPSBzY2FuZGlyKGRpcm5hbWUsICZuYW1lbGlzdCwgbW50X3RhYmxlX3BhcnNlX2Rpcl9maWx0ZXIsIHZlcnNpb25zb3J0KTsKKwlpZiAobiA8PSAwKQorCQlyZXR1cm4gMDsKKworCS8qIGxldCdzIHVzZSAiYXQiIGZ1bmN0aW9ucyByYXRoZXIgdGhhbiBwbGF5aW5nIGNyYXp5IGdhbWVzIHdpdGggcGF0aHMuLi4gKi8KKwlkaXIgPSBvcGVuZGlyKGRpcm5hbWUpOworCWlmICghZGlyKSB7CisJCXIgPSAtZXJybm87CisJCWdvdG8gb3V0OworCX0KKworCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKKwkJc3RydWN0IGRpcmVudCAqZCA9IG5hbWVsaXN0W2ldOworCQlzdHJ1Y3Qgc3RhdCBzdDsKKwkJRklMRSAqZjsKKworCQlpZiAoZnN0YXRhdChkaXJmZChkaXIpLCBkLT5kX25hbWUsICZzdCwgMCkgfHwKKwkJICAgICFTX0lTUkVHKHN0LnN0X21vZGUpKQorCQkJY29udGludWU7CisKKwkJZiA9IGZvcGVuX2F0KGRpcmZkKGRpciksIGQtPmRfbmFtZSwKKwkJCQlPX1JET05MWXxPX0NMT0VYRUMsICJyIiBVTF9DTE9FWEVDU1RSKTsKKwkJaWYgKGYpIHsKKwkJCW1udF90YWJsZV9wYXJzZV9zdHJlYW0odGIsIGYsIGQtPmRfbmFtZSk7CisJCQlmY2xvc2UoZik7CisJCX0KKwl9CisKK291dDoKKwlmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKQorCQlmcmVlKG5hbWVsaXN0W2ldKTsKKwlmcmVlKG5hbWVsaXN0KTsKKwlpZiAoZGlyKQorCQljbG9zZWRpcihkaXIpOworCXJldHVybiByOworfQorI2VuZGlmCisKKy8qKgorICogbW50X3RhYmxlX3BhcnNlX2RpcjoKKyAqIEB0YjogbW91bnQgdGFibGUKKyAqIEBkaXJuYW1lOiBkaXJlY3RvcnkKKyAqCisgKiBUaGUgZGlyZWN0b3J5OgorICoJLSBmaWxlcyBhcmUgc29ydGVkIGJ5IHN0cnZlcnNjbXAoMykKKyAqCS0gZmlsZXMgdGhhdCBzdGFydCB3aXRoICIuIiBhcmUgaWdub3JlZCAoZS5nLiAiLjEwZm9vLmZzdGFiIikKKyAqCS0gZmlsZXMgd2l0aG91dCB0aGUgIi5mc3RhYiIgZXh0ZW5zaW9uIGFyZSBpZ25vcmVkCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X3RhYmxlX3BhcnNlX2RpcihzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgY29uc3QgY2hhciAqZGlybmFtZSkKK3sKKwlyZXR1cm4gX19tbnRfdGFibGVfcGFyc2VfZGlyKHRiLCBkaXJuYW1lKTsKK30KKworc3RydWN0IGxpYm1udF90YWJsZSAqX19tbnRfbmV3X3RhYmxlX2Zyb21fZmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSwgaW50IGZtdCkKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YjsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKworCWlmICghZmlsZW5hbWUpCisJCXJldHVybiBOVUxMOworCWlmIChzdGF0KGZpbGVuYW1lLCAmc3QpKQorCQlyZXR1cm4gTlVMTDsKKwl0YiA9IG1udF9uZXdfdGFibGUoKTsKKwlpZiAodGIpIHsKKwkJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJuZXcgdGFiIGZvciBmaWxlOiAlcyIsIGZpbGVuYW1lKSk7CisJCXRiLT5mbXQgPSBmbXQ7CisJCWlmIChtbnRfdGFibGVfcGFyc2VfZmlsZSh0YiwgZmlsZW5hbWUpICE9IDApIHsKKwkJCW1udF91bnJlZl90YWJsZSh0Yik7CisJCQl0YiA9IE5VTEw7CisJCX0KKwl9CisJcmV0dXJuIHRiOworfQorCisvKioKKyAqIG1udF9uZXdfdGFibGVfZnJvbV9maWxlOgorICogQGZpbGVuYW1lOiAvZXRjL3ttLGZzfXRhYiBvciAvcHJvYy9zZWxmL21vdW50aW5mbyBwYXRoCisgKgorICogU2FtZSBhcyBtbnRfbmV3X3RhYmxlKCkgKyBtbnRfdGFibGVfcGFyc2VfZmlsZSgpLiBVc2UgdGhpcyBmdW5jdGlvbiBmb3IgcHJpdmF0ZQorICogZmlsZXMgb25seS4gVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBhbGxvdyB1c2luZyB0aGUgZXJyb3IgY2FsbGJhY2ssIHNvIHlvdQorICogY2Fubm90IHByb3ZpZGUgYW55IGZlZWRiYWNrIHRvIGVuZC11c2VycyBhYm91dCBicm9rZW4gcmVjb3JkcyBpbiBmaWxlcyAoZS5nLgorICogZnN0YWIpLgorICoKKyAqIFJldHVybnM6IG5ld2x5IGFsbG9jYXRlZCB0YWIgb24gc3VjY2VzcyBhbmQgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCitzdHJ1Y3QgbGlibW50X3RhYmxlICptbnRfbmV3X3RhYmxlX2Zyb21fZmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSkKK3sKKwlpZiAoIWZpbGVuYW1lKQorCQlyZXR1cm4gTlVMTDsKKworCXJldHVybiBfX21udF9uZXdfdGFibGVfZnJvbV9maWxlKGZpbGVuYW1lLCBNTlRfRk1UX0dVRVNTKTsKK30KKworLyoqCisgKiBtbnRfbmV3X3RhYmxlX2Zyb21fZGlyCisgKiBAZGlybmFtZTogZGlyZWN0b3J5IHdpdGggKi5mc3RhYiBmaWxlcworICoKKyAqIFJldHVybnM6IG5ld2x5IGFsbG9jYXRlZCB0YWIgb24gc3VjY2VzcyBhbmQgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCitzdHJ1Y3QgbGlibW50X3RhYmxlICptbnRfbmV3X3RhYmxlX2Zyb21fZGlyKGNvbnN0IGNoYXIgKmRpcm5hbWUpCit7CisJc3RydWN0IGxpYm1udF90YWJsZSAqdGI7CisKKwlpZiAoIWRpcm5hbWUpCisJCXJldHVybiBOVUxMOworCXRiID0gbW50X25ld190YWJsZSgpOworCWlmICh0YiAmJiBtbnRfdGFibGVfcGFyc2VfZGlyKHRiLCBkaXJuYW1lKSAhPSAwKSB7CisJCW1udF91bnJlZl90YWJsZSh0Yik7CisJCXRiID0gTlVMTDsKKwl9CisJcmV0dXJuIHRiOworfQorCisvKioKKyAqIG1udF90YWJsZV9zZXRfcGFyc2VyX2VycmNiOgorICogQHRiOiBwb2ludGVyIHRvIHRhYmxlCisgKiBAY2I6IHBvaW50ZXIgdG8gY2FsbGJhY2sgZnVuY3Rpb24KKyAqCisgKiBUaGUgZXJyb3IgY2FsbGJhY2sgZnVuY3Rpb24gaXMgY2FsbGVkIGJ5IHRhYmxlIHBhcnNlciAobW50X3RhYmxlX3BhcnNlX2ZpbGUoKSkKKyAqIGluIGNhc2Ugb2YgYSBzeW50YXggZXJyb3IuIFRoZSBjYWxsYmFjayBmdW5jdGlvbiBjb3VsZCBiZSB1c2VkIGZvciBlcnJvcgorICogZXZhbHVhdGlvbiwgbGlibW91bnQgd2lsbCBjb250aW51ZS9zdG9wIHBhcnNpbmcgYWNjb3JkaW5nIHRvIGNhbGxiYWNrIHJldHVybgorICogY29kZXM6CisgKgorICogICA8MCAgOiBmYXRhbCBlcnJvciAoYWJvcnQgcGFyc2luZykKKyAqICAgIDAJIDogc3VjY2VzcyAocGFyc2luZyBjb250aW51ZXMpCisgKiAgID4wICA6IHJlY292ZXJhYmxlIGVycm9yICh0aGUgbGluZSBpcyBpZ25vcmVkLCBwYXJzaW5nIGNvbnRpbnVlcykuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X3RhYmxlX3NldF9wYXJzZXJfZXJyY2Ioc3RydWN0IGxpYm1udF90YWJsZSAqdGIsCisJCWludCAoKmNiKShzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCBsaW5lKSkKK3sKKwlpZiAoIXRiKQorCQlyZXR1cm4gLUVJTlZBTDsKKwl0Yi0+ZXJyY2IgPSBjYjsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIEZpbHRlciBvdXQgZW50cmllcyBkdXJpbmcgdGFiIGZpbGUgcGFyc2luZy4gSWYgQGNiIHJldHVybnMgMSwgdGhlbiB0aGUgZW50cnkKKyAqIGlzIGlnbm9yZWQuCisgKi8KK2ludCBtbnRfdGFibGVfc2V0X3BhcnNlcl9mbHRyY2Ioc3RydWN0IGxpYm1udF90YWJsZSAqdGIsCisJCWludCAoKmNiKShzdHJ1Y3QgbGlibW50X2ZzICosIHZvaWQgKiksCisJCXZvaWQgKmRhdGEpCit7CisJaWYgKCF0YikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIiVzIHRhYmxlIHBhcnNlciBmaWx0ZXIiLCBjYiA/ICJzZXQiIDogInVuc2V0IikpOworCXRiLT5mbHRyY2IgPSBjYjsKKwl0Yi0+Zmx0cmNiX2RhdGEgPSBkYXRhOworCXJldHVybiAwOworfQorCisvKioKKyAqIG1udF90YWJsZV9wYXJzZV9zd2FwczoKKyAqIEB0YjogdGFibGUKKyAqIEBmaWxlbmFtZTogb3ZlcndyaXRlcyBkZWZhdWx0ICgvcHJvYy9zd2FwcyBvciAkTElCTU9VTlRfU1dBUFMpIG9yIE5VTEwKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHBhcnNlcyAvcHJvYy9zd2FwcyBhbmQgYXBwZW5kcyBuZXcgbGluZXMgdG8gdGhlIEB0YWIuCisgKgorICogU2VlIGFsc28gbW50X3RhYmxlX3NldF9wYXJzZXJfZXJyY2IoKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfdGFibGVfcGFyc2Vfc3dhcHMoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKQoreworCWlmICghdGIpCisJCXJldHVybiAtRUlOVkFMOworCWlmICghZmlsZW5hbWUpIHsKKwkJZmlsZW5hbWUgPSBtbnRfZ2V0X3N3YXBzX3BhdGgoKTsKKwkJaWYgKCFmaWxlbmFtZSkKKwkJCXJldHVybiAtRUlOVkFMOworCX0KKworCXRiLT5mbXQgPSBNTlRfRk1UX1NXQVBTOworCisJcmV0dXJuIG1udF90YWJsZV9wYXJzZV9maWxlKHRiLCBmaWxlbmFtZSk7Cit9CisKKy8qKgorICogbW50X3RhYmxlX3BhcnNlX2ZzdGFiOgorICogQHRiOiB0YWJsZQorICogQGZpbGVuYW1lOiBvdmVyd3JpdGVzIGRlZmF1bHQgKC9ldGMvZnN0YWIgb3IgJExJQk1PVU5UX0ZTVEFCKSBvciBOVUxMCisgKgorICogVGhpcyBmdW5jdGlvbiBwYXJzZXMgL2V0Yy9mc3RhYiBhbmQgYXBwZW5kcyBuZXcgbGluZXMgdG8gdGhlIEB0YWIuIElmIHRoZQorICogQGZpbGVuYW1lIGlzIGEgZGlyZWN0b3J5LCB0aGVuIG1udF90YWJsZV9wYXJzZV9kaXIoKSBpcyBjYWxsZWQuCisgKgorICogU2VlIGFsc28gbW50X3RhYmxlX3NldF9wYXJzZXJfZXJyY2IoKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfdGFibGVfcGFyc2VfZnN0YWIoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKQoreworCXN0cnVjdCBzdGF0IHN0OworCWludCByYyA9IDA7CisKKwlpZiAoIXRiKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIWZpbGVuYW1lKQorCQlmaWxlbmFtZSA9IG1udF9nZXRfZnN0YWJfcGF0aCgpOworCisJaWYgKCFmaWxlbmFtZSB8fCBzdGF0KGZpbGVuYW1lLCAmc3QpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXRiLT5mbXQgPSBNTlRfRk1UX0ZTVEFCOworCisJaWYgKFNfSVNSRUcoc3Quc3RfbW9kZSkpCisJCXJjID0gbW50X3RhYmxlX3BhcnNlX2ZpbGUodGIsIGZpbGVuYW1lKTsKKwllbHNlIGlmIChTX0lTRElSKHN0LnN0X21vZGUpKQorCQlyYyA9IG1udF90YWJsZV9wYXJzZV9kaXIodGIsIGZpbGVuYW1lKTsKKwllbHNlCisJCXJjID0gLUVJTlZBTDsKKworCXJldHVybiByYzsKK30KKworLyoKKyAqIFRoaXMgZnVuY3Rpb24gdXNlcyBAdWYgdG8gZmluZCBhIGNvcnJlc3BvbmRpbmcgcmVjb3JkIGluIEB0YiwgdGhlbiB0aGUgcmVjb3JkCisgKiBmcm9tIEB0YiBpcyB1cGRhdGVkICh1c2VyIHNwZWNpZmljIG1vdW50IG9wdGlvbnMgYXJlIGFkZGVkKS4KKyAqCisgKiBOb3RlIHRoYXQgQHVmIG11c3QgY29udGFpbiBvbmx5IHVzZXIgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyBpbnN0ZWFkIG9mCisgKiBWRlMgb3B0aW9ucyAobm90ZSB0aGF0IEZTIG9wdGlvbnMgYXJlIGlnbm9yZWQpLgorICoKKyAqIFJldHVybnMgbW9kaWZpZWQgZmlsZXN5c3RlbSAoZnJvbSBAdGIpIG9yIE5VTEwuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgbGlibW50X2ZzICptbnRfdGFibGVfbWVyZ2VfdXNlcl9mcyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yiwgc3RydWN0IGxpYm1udF9mcyAqdWYpCit7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJc3RydWN0IGxpYm1udF9pdGVyIGl0cjsKKwljb25zdCBjaGFyICpvcHRzdHIsICpzcmMsICp0YXJnZXQsICpyb290LCAqYXR0cnM7CisKKwlpZiAoIXRiIHx8ICF1ZikKKwkJcmV0dXJuIE5VTEw7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIm1lcmdpbmcgdXNlciBmcyIpKTsKKworCXNyYyA9IG1udF9mc19nZXRfc3JjcGF0aCh1Zik7CisJdGFyZ2V0ID0gbW50X2ZzX2dldF90YXJnZXQodWYpOworCW9wdHN0ciA9IG1udF9mc19nZXRfdXNlcl9vcHRpb25zKHVmKTsKKwlhdHRycyA9IG1udF9mc19nZXRfYXR0cmlidXRlcyh1Zik7CisJcm9vdCA9IG1udF9mc19nZXRfcm9vdCh1Zik7CisKKwlpZiAoIXNyYyB8fCAhdGFyZ2V0IHx8ICFyb290IHx8ICghYXR0cnMgJiYgIW9wdHN0cikpCisJCXJldHVybiBOVUxMOworCisJbW50X3Jlc2V0X2l0ZXIoJml0ciwgTU5UX0lURVJfQkFDS1dBUkQpOworCisJd2hpbGUobW50X3RhYmxlX25leHRfZnModGIsICZpdHIsICZmcykgPT0gMCkgeworCQljb25zdCBjaGFyICpyID0gbW50X2ZzX2dldF9yb290KGZzKTsKKworCQlpZiAoZnMtPmZsYWdzICYgTU5UX0ZTX01FUkdFRCkKKwkJCWNvbnRpbnVlOworCisJCWlmIChyICYmIHN0cmNtcChyLCByb290KSA9PSAwCisJCSAgICAmJiBtbnRfZnNfc3RyZXFfdGFyZ2V0KGZzLCB0YXJnZXQpCisJCSAgICAmJiBtbnRfZnNfc3RyZXFfc3JjcGF0aChmcywgc3JjKSkKKwkJCWJyZWFrOworCX0KKworCWlmIChmcykgeworCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImZvdW5kIGZzIC0tIGFwcGVuZGluZyB1c2VyIG9wdHN0ciIpKTsKKwkJbW50X2ZzX2FwcGVuZF9vcHRpb25zKGZzLCBvcHRzdHIpOworCQltbnRfZnNfYXBwZW5kX2F0dHJpYnV0ZXMoZnMsIGF0dHJzKTsKKwkJbW50X2ZzX3NldF9iaW5kc3JjKGZzLCBtbnRfZnNfZ2V0X2JpbmRzcmModWYpKTsKKwkJZnMtPmZsYWdzIHw9IE1OVF9GU19NRVJHRUQ7CisKKwkJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJmb3VuZCBmczoiKSk7CisJCURCRyhUQUIsIG1udF9mc19wcmludF9kZWJ1Zyhmcywgc3RkZXJyKSk7CisJfQorCXJldHVybiBmczsKK30KKworLyogZGVmYXVsdCBmaWxlbmFtZSBpcyAvcHJvYy9zZWxmL21vdW50aW5mbworICovCitpbnQgX19tbnRfdGFibGVfcGFyc2VfbXRhYihzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgY29uc3QgY2hhciAqZmlsZW5hbWUsCisJCQkgICBzdHJ1Y3QgbGlibW50X3RhYmxlICp1X3RiKQoreworCWludCByYyA9IDAsIHByaXZfdXRhYiA9IDA7CisKKwlhc3NlcnQodGIpOworCisJaWYgKGZpbGVuYW1lKQorCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIiVzIHJlcXVlc3RlZCBhcyBtdGFiIiwgZmlsZW5hbWUpKTsKKworI2lmZGVmIFVTRV9MSUJNT1VOVF9TVVBQT1JUX01UQUIKKwlpZiAobW50X2hhc19yZWd1bGFyX210YWIoJmZpbGVuYW1lLCBOVUxMKSkgeworCisJCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiZm9yY2UgbXRhYiB1c2FnZSBbZmlsZW5hbWU9JXNdIiwgZmlsZW5hbWUpKTsKKworCQlyYyA9IG1udF90YWJsZV9wYXJzZV9maWxlKHRiLCBmaWxlbmFtZSk7CisKKwkJLyoKKwkJICogSWYgQGZpbGVuYW1lIGZvcmNlcyB1cyB0byByZWFkIGZyb20gL3Byb2MgdGhlbiBhbHNvIHJlYWQKKwkJICogdXRhYiBmaWxlIHRvIG1lcmdlIHVzZXJzcGFjZSBtb3VudCBvcHRpb25zLgorCQkgKi8KKwkJaWYgKHJjID09IDAgJiYgaXNfbW91bnRpbmZvKHRiKSkKKwkJCWdvdG8gcmVhZF91dGFiOworCisJCWlmICghcmMpCisJCQlyZXR1cm4gMDsKKwkJZmlsZW5hbWUgPSBOVUxMOwkvKiBmYWlsZWQgKi8KKwl9IGVsc2UKKwkJZmlsZW5hbWUgPSBOVUxMOwkvKiBtdGFiIHVzZWxlc3MgKi8KKyNlbmRpZgorCisJaWYgKCFmaWxlbmFtZSB8fCBzdHJjbXAoZmlsZW5hbWUsIF9QQVRIX1BST0NfTU9VTlRJTkZPKSA9PSAwKSB7CisJCWZpbGVuYW1lID0gX1BBVEhfUFJPQ19NT1VOVElORk87CisJCXRiLT5mbXQgPSBNTlRfRk1UX01PVU5USU5GTzsKKwkJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJtdGFiIHBhcnNlOiAjMSByZWFkIG1vdW50aW5mbyIpKTsKKwl9IGVsc2UKKwkJdGItPmZtdCA9IE1OVF9GTVRfR1VFU1M7CisKKwlyYyA9IG1udF90YWJsZV9wYXJzZV9maWxlKHRiLCBmaWxlbmFtZSk7CisJaWYgKHJjKSB7CisJCS8qIGhtbSwgb2xkIGtlcm5lbD8gLi4udHJ5IC9wcm9jL21vdW50cyAqLworCQl0Yi0+Zm10ID0gTU5UX0ZNVF9NVEFCOworCQlyZXR1cm4gbW50X3RhYmxlX3BhcnNlX2ZpbGUodGIsIF9QQVRIX1BST0NfTU9VTlRTKTsKKwl9CisKKwlpZiAoIWlzX21vdW50aW5mbyh0YikpCisJCXJldHVybiAwOworI2lmZGVmIFVTRV9MSUJNT1VOVF9TVVBQT1JUX01UQUIKK3JlYWRfdXRhYjoKKyNlbmRpZgorCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAibXRhYiBwYXJzZTogIzIgcmVhZCB1dGFiIikpOworCisJaWYgKG1udF90YWJsZV9nZXRfbmVudHModGIpID09IDApCisJCXJldHVybiAwOwkJCS8qIGVtcHR5LCBpZ25vcmUgdXRhYiAqLworCS8qCisJICogdHJ5IHRvIHJlYWQgdGhlIHVzZXIgc3BlY2lmaWMgaW5mb3JtYXRpb24gZnJvbSAvcnVuL21vdW50L3V0YWJzCisJICovCisJaWYgKCF1X3RiKSB7CisJCWNvbnN0IGNoYXIgKnV0YWIgPSBtbnRfZ2V0X3V0YWJfcGF0aCgpOworCisJCWlmICghdXRhYiB8fCBpc19maWxlX2VtcHR5KHV0YWIpKQorCQkJcmV0dXJuIDA7CisKKwkJdV90YiA9IG1udF9uZXdfdGFibGUoKTsKKwkJaWYgKCF1X3RiKQorCQkJcmV0dXJuIC1FTk9NRU07CisKKwkJdV90Yi0+Zm10ID0gTU5UX0ZNVF9VVEFCOworCQltbnRfdGFibGVfc2V0X3BhcnNlcl9mbHRyY2IodV90YiwgdGItPmZsdHJjYiwgdGItPmZsdHJjYl9kYXRhKTsKKworCQlyYyA9IG1udF90YWJsZV9wYXJzZV9maWxlKHVfdGIsIHV0YWIpOworCQlwcml2X3V0YWIgPSAxOworCX0KKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAibXRhYiBwYXJzZTogIzMgbWVyZ2UgdXRhYiIpKTsKKworCWlmIChyYyA9PSAwKSB7CisJCXN0cnVjdCBsaWJtbnRfZnMgKnVfZnM7CisJCXN0cnVjdCBsaWJtbnRfaXRlciBpdHI7CisKKwkJbW50X3Jlc2V0X2l0ZXIoJml0ciwgTU5UX0lURVJfQkFDS1dBUkQpOworCisJCS8qICBtZXJnZSB1c2VyIG9wdGlvbnMgaW50byBtb3VudGluZm8gZnJvbSB0aGUga2VybmVsICovCisJCXdoaWxlKG1udF90YWJsZV9uZXh0X2ZzKHVfdGIsICZpdHIsICZ1X2ZzKSA9PSAwKQorCQkJbW50X3RhYmxlX21lcmdlX3VzZXJfZnModGIsIHVfZnMpOworCX0KKworCisJaWYgKHByaXZfdXRhYikKKwkJbW50X3VucmVmX3RhYmxlKHVfdGIpOworCXJldHVybiAwOworfQorLyoqCisgKiBtbnRfdGFibGVfcGFyc2VfbXRhYjoKKyAqIEB0YjogdGFibGUKKyAqIEBmaWxlbmFtZTogb3ZlcndyaXRlcyBkZWZhdWx0IG9yIE5VTEwKKyAqCisgKiBUaGUgZGVmYXVsdCBmaWxlbmFtZSBpcyAvcHJvYy9zZWxmL21vdW50aW5mby4gSWYgdGhlIG1vdW50IHRhYmxlIGlzIGEKKyAqIG1vdW50aW5mbyBmaWxlIHRoZW4gL3J1bi9tb3VudC91dGFicyBpcyBwYXJzZWQgdG9vIGFuZCBib3RoIGZpbGVzIGFyZSBtZXJnZWQKKyAqIHRvIHRoZSBvbmUgbGlibW50X3RhYmxlLgorICoKKyAqIElmIGxpYm1vdW50IGlzIGNvbXBpbGVkIHdpdGggY2xhc3NpYyBtdGFiIGZpbGUgc3VwcG9ydCwgYW5kIHRoZSAvZXRjL210YWIgaXMKKyAqIGEgcmVndWxhciBmaWxlIHRoZW4gdGhpcyBmaWxlIGlzIHBhcnNlZC4KKyAqCisgKiBJdCdzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvIHVzZSBOVUxMIGFzIGEgQGZpbGVuYW1lIHRvIGtlZXAgY29kZSBwb3J0YWJsZS4KKyAqCisgKiBTZWUgYWxzbyBtbnRfdGFibGVfc2V0X3BhcnNlcl9lcnJjYigpLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcyBvciBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF90YWJsZV9wYXJzZV9tdGFiKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBjb25zdCBjaGFyICpmaWxlbmFtZSkKK3sKKwlyZXR1cm4gX19tbnRfdGFibGVfcGFyc2VfbXRhYih0YiwgZmlsZW5hbWUsIE5VTEwpOworfQpkaWZmIC0tZ2l0IGEvbGlibW91bnQvc3JjL3RhYl91cGRhdGUuYyBiL2xpYm1vdW50L3NyYy90YWJfdXBkYXRlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDg1Y2I4OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L3NyYy90YWJfdXBkYXRlLmMKQEAgLTAsMCArMSwxMDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworLyoqCisgKiBTRUNUSU9OOiB1cGRhdGUKKyAqIEB0aXRsZTogVGFibGVzIHVwZGF0ZQorICogQHNob3J0X2Rlc2NyaXB0aW9uOiB1c2Vyc3BhY2UgbW91bnQgaW5mb3JtYXRpb24gbWFuYWdlbWVudAorICoKKyAqIFRoZSBzdHJ1Y3QgbGlibW50X3VwZGF0ZSBwcm92aWRlcyBhbiBhYnN0cmFjdGlvbiB0byBtYW5hZ2UgbW91bnQgb3B0aW9ucyBpbgorICogdXNlcnNwYWNlIGluZGVwZW5kZW50bHkgb2Ygc3lzdGVtIGNvbmZpZ3VyYXRpb24uIFRoaXMgbG93LWxldmVsIEFQSSB3b3JrcyBvbgorICogc3lzdGVtcyBib3RoIHdpdGggYW5kIHdpdGhvdXQgL2V0Yy9tdGFiLiBPbiBzeXN0ZW1zIHdpdGhvdXQgdGhlIHJlZ3VsYXIgL2V0Yy9tdGFiCisgKiBmaWxlLCB0aGUgdXNlcnNwYWNlIG1vdW50IG9wdGlvbnMgKGUuZy4gdXNlcj0pIGFyZSBzdG9yZWQgaW4gdGhlIC9ydW4vbW91bnQvdXRhYgorICogZmlsZS4KKyAqCisgKiBJdCdzIHJlY29tbWVuZGVkIHRvIHVzZSBoaWdoLWxldmVsIHN0cnVjdCBsaWJtbnRfY29udGV4dCBBUEkuCisgKi8KKyNpbmNsdWRlIDxzeXMvZmlsZS5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8c2lnbmFsLmg+CisKKyNpbmNsdWRlICJtb3VudFAuaCIKKyNpbmNsdWRlICJtYW5nbGUuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKworc3RydWN0IGxpYm1udF91cGRhdGUgeworCWNoYXIJCSp0YXJnZXQ7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJY2hhcgkJKmZpbGVuYW1lOworCXVuc2lnbmVkIGxvbmcJbW91bnRmbGFnczsKKwlpbnQJCXVzZXJzcGFjZV9vbmx5OworCWludAkJcmVhZHk7CisKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICptb3VudGluZm87Cit9OworCitzdGF0aWMgaW50IHNldF9mc19yb290KHN0cnVjdCBsaWJtbnRfdXBkYXRlICp1cGQsIHN0cnVjdCBsaWJtbnRfZnMgKmZzLCB1bnNpZ25lZCBsb25nIG1vdW50ZmxhZ3MpOworc3RhdGljIGludCB1dGFiX25ld19lbnRyeShzdHJ1Y3QgbGlibW50X3VwZGF0ZSAqdXBkLCBzdHJ1Y3QgbGlibW50X2ZzICpmcywgdW5zaWduZWQgbG9uZyBtb3VudGZsYWdzKTsKKworLyoqCisgKiBtbnRfbmV3X3VwZGF0ZToKKyAqCisgKiBSZXR1cm5zOiBuZXdseSBhbGxvY2F0ZWQgdXBkYXRlIGhhbmRsZXIKKyAqLworc3RydWN0IGxpYm1udF91cGRhdGUgKm1udF9uZXdfdXBkYXRlKHZvaWQpCit7CisJc3RydWN0IGxpYm1udF91cGRhdGUgKnVwZDsKKworCXVwZCA9IGNhbGxvYygxLCBzaXplb2YoKnVwZCkpOworCWlmICghdXBkKQorCQlyZXR1cm4gTlVMTDsKKworCURCRyhVUERBVEUsIHVsX2RlYnVnb2JqKHVwZCwgImFsbG9jYXRlIikpOworCXJldHVybiB1cGQ7Cit9CisKKy8qKgorICogbW50X2ZyZWVfdXBkYXRlOgorICogQHVwZDogdXBkYXRlCisgKgorICogRGVhbGxvY2F0ZXMgc3RydWN0IGxpYm1udF91cGRhdGUgaGFuZGxlci4KKyAqLwordm9pZCBtbnRfZnJlZV91cGRhdGUoc3RydWN0IGxpYm1udF91cGRhdGUgKnVwZCkKK3sKKwlpZiAoIXVwZCkKKwkJcmV0dXJuOworCisJREJHKFVQREFURSwgdWxfZGVidWdvYmoodXBkLCAiZnJlZSIpKTsKKworCW1udF91bnJlZl9mcyh1cGQtPmZzKTsKKwltbnRfdW5yZWZfdGFibGUodXBkLT5tb3VudGluZm8pOworCWZyZWUodXBkLT50YXJnZXQpOworCWZyZWUodXBkLT5maWxlbmFtZSk7CisJZnJlZSh1cGQpOworfQorCisvKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIDwwIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfdXBkYXRlX3NldF9maWxlbmFtZShzdHJ1Y3QgbGlibW50X3VwZGF0ZSAqdXBkLCBjb25zdCBjaGFyICpmaWxlbmFtZSwKKwkJCSAgICBpbnQgdXNlcnNwYWNlX29ubHkpCit7CisJY29uc3QgY2hhciAqcGF0aCA9IE5VTEw7CisJaW50IHJ3ID0gMDsKKworCWlmICghdXBkKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCS8qIGZpbGVuYW1lIGV4cGxpY2l0bHkgZGVmaW5lZCAqLworCWlmIChmaWxlbmFtZSkgeworCQljaGFyICpwID0gc3RyZHVwKGZpbGVuYW1lKTsKKwkJaWYgKCFwKQorCQkJcmV0dXJuIC1FTk9NRU07CisKKwkJdXBkLT51c2Vyc3BhY2Vfb25seSA9IHVzZXJzcGFjZV9vbmx5OworCQlmcmVlKHVwZC0+ZmlsZW5hbWUpOworCQl1cGQtPmZpbGVuYW1lID0gcDsKKwl9CisKKwlpZiAodXBkLT5maWxlbmFtZSkKKwkJcmV0dXJuIDA7CisKKwkvKiBkZXRlY3QgdGFiIGZpbGVuYW1lIC0tIC9ldGMvbXRhYiBvciAvcnVuL21vdW50L3V0YWIKKwkgKi8KKyNpZmRlZiBVU0VfTElCTU9VTlRfU1VQUE9SVF9NVEFCCisJbW50X2hhc19yZWd1bGFyX210YWIoJnBhdGgsICZydyk7CisjZW5kaWYKKwlpZiAoIXJ3KSB7CisJCXBhdGggPSBOVUxMOworCQltbnRfaGFzX3JlZ3VsYXJfdXRhYigmcGF0aCwgJnJ3KTsKKwkJaWYgKCFydykKKwkJCXJldHVybiAtRUFDQ0VTOworCQl1cGQtPnVzZXJzcGFjZV9vbmx5ID0gVFJVRTsKKwl9CisJdXBkLT5maWxlbmFtZSA9IHN0cmR1cChwYXRoKTsKKwlpZiAoIXVwZC0+ZmlsZW5hbWUpCisJCXJldHVybiAtRU5PTUVNOworCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X3VwZGF0ZV9nZXRfZmlsZW5hbWU6CisgKiBAdXBkOiB1cGRhdGUKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGZpbGUgbmFtZSAoZS5nLiAvZXRjL210YWIpIG9mIHRoZSB1cC1kYXRlZCBmaWxlLgorICoKKyAqIFJldHVybnM6IHBvaW50ZXIgdG8gZmlsZW5hbWUgdGhhdCB3aWxsIGJlIHVwZGF0ZWQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCitjb25zdCBjaGFyICptbnRfdXBkYXRlX2dldF9maWxlbmFtZShzdHJ1Y3QgbGlibW50X3VwZGF0ZSAqdXBkKQoreworCXJldHVybiB1cGQgPyB1cGQtPmZpbGVuYW1lIDogTlVMTDsKK30KKworLyoqCisgKiBtbnRfdXBkYXRlX2lzX3JlYWR5OgorICogQHVwZDogdXBkYXRlIGhhbmRsZXIKKyAqCisgKiBSZXR1cm5zOiAxIGlmIGVudHJ5IGRlc2NyaWJlZCBieSBAdXBkIGlzIHN1Y2Nlc3NmdWxseSBwcmVwYXJlZCBhbmQgd2lsbCBiZQorICogd3JpdHRlbiB0byB0aGUgbXRhYi91dGFiIGZpbGUuCisgKi8KK2ludCBtbnRfdXBkYXRlX2lzX3JlYWR5KHN0cnVjdCBsaWJtbnRfdXBkYXRlICp1cGQpCit7CisJcmV0dXJuIHVwZCA/IHVwZC0+cmVhZHkgOiBGQUxTRTsKK30KKworLyoqCisgKiBtbnRfdXBkYXRlX3NldF9mczoKKyAqIEB1cGQ6IHVwZGF0ZSBoYW5kbGVyCisgKiBAbW91bnRmbGFnczogTVNfKiBmbGFncworICogQHRhcmdldDogdW1vdW50IHRhcmdldCwgbXVzdCBiZSBOVUxMIGZvciBtb3VudAorICogQGZzOiBtb3VudCBmaWxlc3lzdGVtIGRlc2NyaXB0aW9uLCBtdXN0IGJlIE5VTEwgZm9yIHVtb3VudAorICoKKyAqIFJldHVybnM6IDwwIGluIGNhc2Ugb24gZXJyb3IsIDAgb24gc3VjY2VzcywgMSBpZiB1cGRhdGUgaXMgdW5uZWNlc3NhcnkuCisgKi8KK2ludCBtbnRfdXBkYXRlX3NldF9mcyhzdHJ1Y3QgbGlibW50X3VwZGF0ZSAqdXBkLCB1bnNpZ25lZCBsb25nIG1vdW50ZmxhZ3MsCisJCSAgICAgIGNvbnN0IGNoYXIgKnRhcmdldCwgc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJaW50IHJjOworCisJaWYgKCF1cGQpCisJCXJldHVybiAtRUlOVkFMOworCWlmICgobW91bnRmbGFncyAmIE1TX01PVkUpICYmICghZnMgfHwgIW1udF9mc19nZXRfc3JjcGF0aChmcykpKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAodGFyZ2V0ICYmIGZzKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhVUERBVEUsIHVsX2RlYnVnb2JqKHVwZCwKKwkJCSJyZXNldHRpbmcgRlMgW2ZzPTB4JXAsIHRhcmdldD0lcywgZmxhZ3M9MHglMDhseF0iLAorCQkJZnMsIHRhcmdldCwgbW91bnRmbGFncykpOworCWlmIChmcykgeworCQlEQkcoVVBEQVRFLCB1bF9kZWJ1Z29iaih1cGQsICJGUyB0ZW1wbGF0ZToiKSk7CisJCURCRyhVUERBVEUsIG1udF9mc19wcmludF9kZWJ1Zyhmcywgc3RkZXJyKSk7CisJfQorCisJbW50X3VucmVmX2ZzKHVwZC0+ZnMpOworCWZyZWUodXBkLT50YXJnZXQpOworCXVwZC0+cmVhZHkgPSBGQUxTRTsKKwl1cGQtPmZzID0gTlVMTDsKKwl1cGQtPnRhcmdldCA9IE5VTEw7CisJdXBkLT5tb3VudGZsYWdzID0gMDsKKworCWlmIChtb3VudGZsYWdzICYgTVNfUFJPUEFHQVRJT04pCisJCXJldHVybiAxOworCisJdXBkLT5tb3VudGZsYWdzID0gbW91bnRmbGFnczsKKworCXJjID0gbW50X3VwZGF0ZV9zZXRfZmlsZW5hbWUodXBkLCBOVUxMLCAwKTsKKwlpZiAocmMpIHsKKwkJREJHKFVQREFURSwgdWxfZGVidWdvYmoodXBkLCAibm8gd3JpdGFibGUgZmlsZSBhdmFpbGFibGUgW3JjPSVkXSIsIHJjKSk7CisJCXJldHVybiByYzsJLyogZXJyb3Igb3Igbm8gZmlsZSBhdmFpbGFibGUgKHJjID0gMSkgKi8KKwl9CisJaWYgKHRhcmdldCkgeworCQl1cGQtPnRhcmdldCA9IHN0cmR1cCh0YXJnZXQpOworCQlpZiAoIXVwZC0+dGFyZ2V0KQorCQkJcmV0dXJuIC1FTk9NRU07CisKKwl9IGVsc2UgaWYgKGZzKSB7CisJCWlmICh1cGQtPnVzZXJzcGFjZV9vbmx5ICYmICEobW91bnRmbGFncyAmIE1TX01PVkUpKSB7CisJCQlyYyA9IHV0YWJfbmV3X2VudHJ5KHVwZCwgZnMsIG1vdW50ZmxhZ3MpOworCQkJaWYgKHJjKQorCQkJCXJldHVybiByYzsKKwkJfSBlbHNlIHsKKwkJCXVwZC0+ZnMgPSBtbnRfY29weV9tdGFiX2ZzKGZzKTsKKwkJCWlmICghdXBkLT5mcykKKwkJCQlyZXR1cm4gLUVOT01FTTsKKworCQl9CisJfQorCisKKwlEQkcoVVBEQVRFLCB1bF9kZWJ1Z29iaih1cGQsICJyZWFkeSIpKTsKKwl1cGQtPnJlYWR5ID0gVFJVRTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfdXBkYXRlX2dldF9mczoKKyAqIEB1cGQ6IHVwZGF0ZQorICoKKyAqIFJldHVybnM6IHVwZGF0ZSBmaWxlc3lzdGVtIGVudHJ5IG9yIE5VTEwKKyAqLworc3RydWN0IGxpYm1udF9mcyAqbW50X3VwZGF0ZV9nZXRfZnMoc3RydWN0IGxpYm1udF91cGRhdGUgKnVwZCkKK3sKKwlyZXR1cm4gdXBkID8gdXBkLT5mcyA6IE5VTEw7Cit9CisKKy8qKgorICogbW50X3VwZGF0ZV9nZXRfbWZsYWdzOgorICogQHVwZDogdXBkYXRlCisgKgorICogUmV0dXJuczogbW91bnQgZmxhZ3MgYXMgd2FzIHNldCBieSBtbnRfdXBkYXRlX3NldF9mcygpCisgKi8KK3Vuc2lnbmVkIGxvbmcgbW50X3VwZGF0ZV9nZXRfbWZsYWdzKHN0cnVjdCBsaWJtbnRfdXBkYXRlICp1cGQpCit7CisJcmV0dXJuIHVwZCA/IHVwZC0+bW91bnRmbGFncyA6IDA7Cit9CisKKy8qKgorICogbW50X3VwZGF0ZV9mb3JjZV9yZG9ubHk6CisgKiBAdXBkOiB1cGRhdGUKKyAqIEByZG9ubHk6IGlzIHJlYWQtb25seT8KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MgYW5kIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X3VwZGF0ZV9mb3JjZV9yZG9ubHkoc3RydWN0IGxpYm1udF91cGRhdGUgKnVwZCwgaW50IHJkb25seSkKK3sKKwlpbnQgcmMgPSAwOworCisJaWYgKCF1cGQgfHwgIXVwZC0+ZnMpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKHJkb25seSAmJiAodXBkLT5tb3VudGZsYWdzICYgTVNfUkRPTkxZKSkKKwkJcmV0dXJuIDA7CisJaWYgKCFyZG9ubHkgJiYgISh1cGQtPm1vdW50ZmxhZ3MgJiBNU19SRE9OTFkpKQorCQlyZXR1cm4gMDsKKworCWlmICghdXBkLT51c2Vyc3BhY2Vfb25seSkgeworCQkvKiAvZXRjL210YWIgLS0gd2UgY2FyZSBhYm91dCBWRlMgb3B0aW9ucyB0aGVyZSAqLworCQljb25zdCBjaGFyICpvID0gbW50X2ZzX2dldF9vcHRpb25zKHVwZC0+ZnMpOworCQljaGFyICpuID0gbyA/IHN0cmR1cChvKSA6IE5VTEw7CisKKwkJaWYgKG4pCisJCQltbnRfb3B0c3RyX3JlbW92ZV9vcHRpb24oJm4sIHJkb25seSA/ICJydyIgOiAicm8iKTsKKwkJaWYgKCFtbnRfb3B0c3RyX3ByZXBlbmRfb3B0aW9uKCZuLCByZG9ubHkgPyAicm8iIDogInJ3IiwgTlVMTCkpCisJCQlyYyA9IG1udF9mc19zZXRfb3B0aW9ucyh1cGQtPmZzLCBuKTsKKworCQlmcmVlKG4pOworCX0KKworCWlmIChyZG9ubHkpCisJCXVwZC0+bW91bnRmbGFncyAmPSB+TVNfUkRPTkxZOworCWVsc2UKKwkJdXBkLT5tb3VudGZsYWdzIHw9IE1TX1JET05MWTsKKworCXJldHVybiByYzsKK30KKworCisvKgorICogQWxsb2NhdGVzIGFuIHV0YWIgZW50cnkgKHVwZC0+ZnMpIGZvciBtb3VudC9yZW1vdW50LiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBiZQorICogY2FsbGVkICpiZWZvcmUqIG1vdW50KDIpIHN5c2NhbGwuIFRoZSBAZnMgaXMgdXNlZCBhcyBhIHJlYWQtb25seSB0ZW1wbGF0ZS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBvbiBlcnJvciwgMSBpZiB1dGFiJ3MgdXBkYXRlIGlzCisgKiAgICAgICAgICB1bm5lY2Vzc2FyeS4KKyAqLworc3RhdGljIGludCB1dGFiX25ld19lbnRyeShzdHJ1Y3QgbGlibW50X3VwZGF0ZSAqdXBkLCBzdHJ1Y3QgbGlibW50X2ZzICpmcywKKwkJCSAgdW5zaWduZWQgbG9uZyBtb3VudGZsYWdzKQoreworCWludCByYyA9IDA7CisJY29uc3QgY2hhciAqbyA9IE5VTEwsICphID0gTlVMTDsKKwljaGFyICp1ID0gTlVMTDsKKworCWFzc2VydChmcyk7CisJYXNzZXJ0KHVwZCk7CisJYXNzZXJ0KHVwZC0+ZnMgPT0gTlVMTCk7CisJYXNzZXJ0KCEobW91bnRmbGFncyAmIE1TX01PVkUpKTsKKworCURCRyhVUERBVEUsIHVsX2RlYnVnKCJwcmVwYXJlIHV0YWIgZW50cnkiKSk7CisKKwlvID0gbW50X2ZzX2dldF91c2VyX29wdGlvbnMoZnMpOworCWEgPSBtbnRfZnNfZ2V0X2F0dHJpYnV0ZXMoZnMpOworCXVwZC0+ZnMgPSBOVUxMOworCisJaWYgKG8pIHsKKwkJLyogcmVtb3ZlIG5vbi1tdGFiIG9wdGlvbnMgKi8KKwkJcmMgPSBtbnRfb3B0c3RyX2dldF9vcHRpb25zKG8sICZ1LAorCQkJCW1udF9nZXRfYnVpbHRpbl9vcHRtYXAoTU5UX1VTRVJTUEFDRV9NQVApLAorCQkJCU1OVF9OT01UQUIpOworCQlpZiAocmMpCisJCQlnb3RvIGVycjsKKwl9CisKKwlpZiAoIXUgJiYgIWEpIHsKKwkJREJHKFVQREFURSwgdWxfZGVidWcoInV0YWIgZW50cnkgdW5uZWNlc3NhcnkgKG5vIG9wdGlvbnMpIikpOworCQlyZXR1cm4gMTsKKwl9CisKKwkvKiBhbGxvY2F0ZSB0aGUgZW50cnkgKi8KKwl1cGQtPmZzID0gbW50X2NvcHlfZnMoTlVMTCwgZnMpOworCWlmICghdXBkLT5mcykgeworCQlyYyA9IC1FTk9NRU07CisJCWdvdG8gZXJyOworCX0KKworCXJjID0gbW50X2ZzX3NldF9vcHRpb25zKHVwZC0+ZnMsIHUpOworCWlmIChyYykKKwkJZ290byBlcnI7CisJcmMgPSBtbnRfZnNfc2V0X2F0dHJpYnV0ZXModXBkLT5mcywgYSk7CisJaWYgKHJjKQorCQlnb3RvIGVycjsKKworCWlmICghKG1vdW50ZmxhZ3MgJiBNU19SRU1PVU5UKSkgeworCQlyYyA9IHNldF9mc19yb290KHVwZCwgZnMsIG1vdW50ZmxhZ3MpOworCQlpZiAocmMpCisJCQlnb3RvIGVycjsKKwl9CisKKwlmcmVlKHUpOworCURCRyhVUERBVEUsIHVsX2RlYnVnKCJ1dGFiIGVudHJ5IE9LIikpOworCXJldHVybiAwOworZXJyOgorCWZyZWUodSk7CisJbW50X3VucmVmX2ZzKHVwZC0+ZnMpOworCXVwZC0+ZnMgPSBOVUxMOworCXJldHVybiByYzsKK30KKworLyoKKyAqIFNldHMgZnMtcm9vdCBhbmQgZnMtdHlwZSB0byBAdXBkLT5mcyBhY2NvcmRpbmcgdG8gdGhlIEBmcyB0ZW1wbGF0ZSBhbmQKKyAqIEBtb3VudGZhbGdzLiBGb3IgTVNfQklORCBtb3VudGZsYWcgaXQgcmVhZHMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNvdXJjZQorICogZmlsZXN5c3RlbSBmcm9tIC9wcm9jL3NlbGYvbW91bnRpbmZvLgorICovCitzdGF0aWMgaW50IHNldF9mc19yb290KHN0cnVjdCBsaWJtbnRfdXBkYXRlICp1cGQsIHN0cnVjdCBsaWJtbnRfZnMgKmZzLAorCQkgICAgICAgdW5zaWduZWQgbG9uZyBtb3VudGZsYWdzKQoreworCXN0cnVjdCBsaWJtbnRfZnMgKnNyY19mczsKKwljaGFyICpmc3Jvb3QgPSBOVUxMOworCWNvbnN0IGNoYXIgKnNyYywgKmZzdHlwZTsKKwlpbnQgcmMgPSAwOworCisJREJHKFVQREFURSwgdWxfZGVidWcoInNldHRpbmcgRlMgcm9vdCIpKTsKKworCWFzc2VydCh1cGQpOworCWFzc2VydCh1cGQtPmZzKTsKKwlhc3NlcnQoZnMpOworCisJZnN0eXBlID0gbW50X2ZzX2dldF9mc3R5cGUoZnMpOworCisJaWYgKG1vdW50ZmxhZ3MgJiBNU19CSU5EKSB7CisJCWlmICghdXBkLT5tb3VudGluZm8pCisJCQl1cGQtPm1vdW50aW5mbyA9IG1udF9uZXdfdGFibGVfZnJvbV9maWxlKF9QQVRIX1BST0NfTU9VTlRJTkZPKTsKKwkJc3JjID0gbW50X2ZzX2dldF9zcmNwYXRoKGZzKTsKKwkJaWYgKHNyYykgeworCQkJIHJjID0gbW50X2ZzX3NldF9iaW5kc3JjKHVwZC0+ZnMsIHNyYyk7CisJCQkgaWYgKHJjKQorCQkJCSBnb3RvIGVycjsKKwkJfQorCisJfSBlbHNlIGlmIChmc3R5cGUgJiYgKHN0cmNtcChmc3R5cGUsICJidHJmcyIpID09IDAgfHwgc3RyY21wKGZzdHlwZSwgImF1dG8iKSA9PSAwKSkgeworCQlpZiAoIXVwZC0+bW91bnRpbmZvKQorCQkJdXBkLT5tb3VudGluZm8gPSBtbnRfbmV3X3RhYmxlX2Zyb21fZmlsZShfUEFUSF9QUk9DX01PVU5USU5GTyk7CisJfQorCisJc3JjX2ZzID0gbW50X3RhYmxlX2dldF9mc19yb290KHVwZC0+bW91bnRpbmZvLCBmcywKKwkJCQkJbW91bnRmbGFncywgJmZzcm9vdCk7CisJaWYgKHNyY19mcykgeworCQlzcmMgPSBtbnRfZnNfZ2V0X3NyY3BhdGgoc3JjX2ZzKTsKKwkJcmMgPSBtbnRfZnNfc2V0X3NvdXJjZSh1cGQtPmZzLCBzcmMpOworCQlpZiAocmMpCisJCQlnb3RvIGVycjsKKworCQltbnRfZnNfc2V0X2ZzdHlwZSh1cGQtPmZzLCBtbnRfZnNfZ2V0X2ZzdHlwZShzcmNfZnMpKTsKKwl9CisKKwl1cGQtPmZzLT5yb290ID0gZnNyb290OworCXJldHVybiAwOworZXJyOgorCWZyZWUoZnNyb290KTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qIG10YWIgYW5kIGZzdGFiIHVwZGF0ZSAtLSByZXR1cm5zIHplcm8gb24gc3VjY2VzcworICovCitzdGF0aWMgaW50IGZwcmludGZfbXRhYl9mcyhGSUxFICpmLCBzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwljb25zdCBjaGFyICpvLCAqc3JjLCAqZnN0eXBlLCAqY29tbTsKKwljaGFyICptMSwgKm0yLCAqbTMsICptNDsKKwlpbnQgcmM7CisKKwlhc3NlcnQoZnMpOworCWFzc2VydChmKTsKKworCWNvbW0gPSBtbnRfZnNfZ2V0X2NvbW1lbnQoZnMpOworCXNyYyA9IG1udF9mc19nZXRfc291cmNlKGZzKTsKKwlmc3R5cGUgPSBtbnRfZnNfZ2V0X2ZzdHlwZShmcyk7CisJbyA9IG1udF9mc19nZXRfb3B0aW9ucyhmcyk7CisKKwltMSA9IHNyYyA/IG1hbmdsZShzcmMpIDogIm5vbmUiOworCW0yID0gbWFuZ2xlKG1udF9mc19nZXRfdGFyZ2V0KGZzKSk7CisJbTMgPSBmc3R5cGUgPyBtYW5nbGUoZnN0eXBlKSA6ICJub25lIjsKKwltNCA9IG8gPyBtYW5nbGUobykgOiAicnciOworCisJaWYgKG0xICYmIG0yICYmIG0zICYmIG00KSB7CisJCWlmIChjb21tKQorCQkJZnB1dHMoY29tbSwgZik7CisJCXJjID0gZnByaW50ZihmLCAiJXMgJXMgJXMgJXMgJWQgJWRcbiIsCisJCQkJbTEsIG0yLCBtMywgbTQsCisJCQkJbW50X2ZzX2dldF9mcmVxKGZzKSwKKwkJCQltbnRfZnNfZ2V0X3Bhc3NubyhmcykpOworCQlpZiAocmMgPiAwKQorCQkJcmMgPSAwOworCX0gZWxzZQorCQlyYyA9IC1FTk9NRU07CisKKwlpZiAoc3JjKQorCQlmcmVlKG0xKTsKKwlmcmVlKG0yKTsKKwlpZiAoZnN0eXBlKQorCQlmcmVlKG0zKTsKKwlpZiAobykKKwkJZnJlZShtNCk7CisKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgZnByaW50Zl91dGFiX2ZzKEZJTEUgKmYsIHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCWNoYXIgKnA7CisJaW50IHJjID0gMDsKKworCWlmICghZnMgfHwgIWYpCisJCXJldHVybiAtRUlOVkFMOworCisJcCA9IG1hbmdsZShtbnRfZnNfZ2V0X3NvdXJjZShmcykpOworCWlmIChwKSB7CisJCXJjID0gZnByaW50ZihmLCAiU1JDPSVzICIsIHApOworCQlmcmVlKHApOworCX0KKwlpZiAocmMgPj0gMCkgeworCQlwID0gbWFuZ2xlKG1udF9mc19nZXRfdGFyZ2V0KGZzKSk7CisJCWlmIChwKSB7CisJCQlyYyA9IGZwcmludGYoZiwgIlRBUkdFVD0lcyAiLCBwKTsKKwkJCWZyZWUocCk7CisJCX0KKwl9CisJaWYgKHJjID49IDApIHsKKwkJcCA9IG1hbmdsZShtbnRfZnNfZ2V0X3Jvb3QoZnMpKTsKKwkJaWYgKHApIHsKKwkJCXJjID0gZnByaW50ZihmLCAiUk9PVD0lcyAiLCBwKTsKKwkJCWZyZWUocCk7CisJCX0KKwl9CisJaWYgKHJjID49IDApIHsKKwkJcCA9IG1hbmdsZShtbnRfZnNfZ2V0X2JpbmRzcmMoZnMpKTsKKwkJaWYgKHApIHsKKwkJCXJjID0gZnByaW50ZihmLCAiQklORFNSQz0lcyAiLCBwKTsKKwkJCWZyZWUocCk7CisJCX0KKwl9CisJaWYgKHJjID49IDApIHsKKwkJcCA9IG1hbmdsZShtbnRfZnNfZ2V0X2F0dHJpYnV0ZXMoZnMpKTsKKwkJaWYgKHApIHsKKwkJCXJjID0gZnByaW50ZihmLCAiQVRUUlM9JXMgIiwgcCk7CisJCQlmcmVlKHApOworCQl9CisJfQorCWlmIChyYyA+PSAwKSB7CisJCXAgPSBtYW5nbGUobW50X2ZzX2dldF91c2VyX29wdGlvbnMoZnMpKTsKKwkJaWYgKHApIHsKKwkJCXJjID0gZnByaW50ZihmLCAiT1BUUz0lcyIsIHApOworCQkJZnJlZShwKTsKKwkJfQorCX0KKwlpZiAocmMgPj0gMCkKKwkJcmMgPSBmcHJpbnRmKGYsICJcbiIpOworCisJaWYgKHJjID4gMCkKKwkJcmMgPSAwOwkvKiBzdWNjZXNzICovCisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHVwZGF0ZV90YWJsZShzdHJ1Y3QgbGlibW50X3VwZGF0ZSAqdXBkLCBzdHJ1Y3QgbGlibW50X3RhYmxlICp0YikKK3sKKwlGSUxFICpmOworCWludCByYywgZmQ7CisJY2hhciAqdXEgPSBOVUxMOworCisJaWYgKCF0YiB8fCAhdXBkLT5maWxlbmFtZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoVVBEQVRFLCB1bF9kZWJ1Z29iaih1cGQsICIlczogdXBkYXRpbmciLCB1cGQtPmZpbGVuYW1lKSk7CisKKwlmZCA9IG1udF9vcGVuX3VuaXFfZmlsZW5hbWUodXBkLT5maWxlbmFtZSwgJnVxKTsKKwlpZiAoZmQgPCAwKQorCQlyZXR1cm4gZmQ7CS8qIGVycm9yICovCisKKwlmID0gZmRvcGVuKGZkLCAidyIgVUxfQ0xPRVhFQ1NUUik7CisJaWYgKGYpIHsKKwkJc3RydWN0IHN0YXQgc3Q7CisJCXN0cnVjdCBsaWJtbnRfaXRlciBpdHI7CisJCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCisJCW1udF9yZXNldF9pdGVyKCZpdHIsIE1OVF9JVEVSX0ZPUldBUkQpOworCisJCWlmICh0Yi0+Y29tbXMgJiYgbW50X3RhYmxlX2dldF9pbnRyb19jb21tZW50KHRiKSkKKwkJCWZwdXRzKG1udF90YWJsZV9nZXRfaW50cm9fY29tbWVudCh0YiksIGYpOworCisJCXdoaWxlKG1udF90YWJsZV9uZXh0X2ZzKHRiLCAmaXRyLCAmZnMpID09IDApIHsKKwkJCWlmICh1cGQtPnVzZXJzcGFjZV9vbmx5KQorCQkJCXJjID0gZnByaW50Zl91dGFiX2ZzKGYsIGZzKTsKKwkJCWVsc2UKKwkJCQlyYyA9IGZwcmludGZfbXRhYl9mcyhmLCBmcyk7CisJCQlpZiAocmMpIHsKKwkJCQlEQkcoVVBEQVRFLCB1bF9kZWJ1Z29iaih1cGQsCisJCQkJCSIlczogd3JpdGUgZW50cnkgZmFpbGVkOiAlbSIsIHVxKSk7CisJCQkJZ290byBsZWF2ZTsKKwkJCX0KKwkJfQorCQlpZiAodGItPmNvbW1zICYmIG1udF90YWJsZV9nZXRfdHJhaWxpbmdfY29tbWVudCh0YikpCisJCQlmcHV0cyhtbnRfdGFibGVfZ2V0X3RyYWlsaW5nX2NvbW1lbnQodGIpLCBmKTsKKworCQlpZiAoZmZsdXNoKGYpICE9IDApIHsKKwkJCXJjID0gLWVycm5vOworCQkJREJHKFVQREFURSwgdWxfZGVidWdvYmoodXBkLCAiJXM6IGZmbHVzaCBmYWlsZWQ6ICVtIiwgdXEpKTsKKwkJCWdvdG8gbGVhdmU7CisJCX0KKworCQlyYyA9IGZjaG1vZChmZCwgU19JUlVTUnxTX0lXVVNSfFNfSVJHUlB8U19JUk9USCkgPyAtZXJybm8gOiAwOworCisJCWlmICghcmMgJiYgc3RhdCh1cGQtPmZpbGVuYW1lLCAmc3QpID09IDApCisJCQkvKiBDb3B5IHVpZC9naWQgZnJvbSB0aGUgcHJlc2VudCBmaWxlIGJlZm9yZSByZW5hbWluZy4gKi8KKwkJCXJjID0gZmNob3duKGZkLCBzdC5zdF91aWQsIHN0LnN0X2dpZCkgPyAtZXJybm8gOiAwOworCisJCWZjbG9zZShmKTsKKwkJZiA9IE5VTEw7CisKKwkJaWYgKCFyYykKKwkJCXJjID0gcmVuYW1lKHVxLCB1cGQtPmZpbGVuYW1lKSA/IC1lcnJubyA6IDA7CisJfSBlbHNlIHsKKwkJcmMgPSAtZXJybm87CisJCWNsb3NlKGZkKTsKKwl9CisKK2xlYXZlOgorCWlmIChmKQorCQlmY2xvc2UoZik7CisKKwl1bmxpbmsodXEpOwkvKiBiZSBwYXJhbm9pZCAqLworCWZyZWUodXEpOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBtbnRfdGFibGVfd3JpdGVfZmlsZQorICogQHRiOiBwYXJzZWQgZmlsZSAoZS5nLiBmc3RhYikKKyAqIEBmaWxlOiB0YXJnZXQKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHdyaXRlcyBAdGIgdG8gQGZpbGUuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgb24gZXJyb3IuCisgKi8KK2ludCBtbnRfdGFibGVfd3JpdGVfZmlsZShzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgRklMRSAqZmlsZSkKK3sKKwlpbnQgcmMgPSAwOworCXN0cnVjdCBsaWJtbnRfaXRlciBpdHI7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisKKwlpZiAodGItPmNvbW1zICYmIG1udF90YWJsZV9nZXRfaW50cm9fY29tbWVudCh0YikpCisJCWZwdXRzKG1udF90YWJsZV9nZXRfaW50cm9fY29tbWVudCh0YiksIGZpbGUpOworCisJbW50X3Jlc2V0X2l0ZXIoJml0ciwgTU5UX0lURVJfRk9SV0FSRCk7CisJd2hpbGUobW50X3RhYmxlX25leHRfZnModGIsICZpdHIsICZmcykgPT0gMCkgeworCQlyYyA9IGZwcmludGZfbXRhYl9mcyhmaWxlLCBmcyk7CisJCWlmIChyYykKKwkJCXJldHVybiByYzsKKwl9CisJaWYgKHRiLT5jb21tcyAmJiBtbnRfdGFibGVfZ2V0X3RyYWlsaW5nX2NvbW1lbnQodGIpKQorCQlmcHV0cyhtbnRfdGFibGVfZ2V0X3RyYWlsaW5nX2NvbW1lbnQodGIpLCBmaWxlKTsKKworCWlmIChmZmx1c2goZmlsZSkgIT0gMCkKKwkJcmMgPSAtZXJybm87CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIndyaXRlIGZpbGUgZG9uZSBbcmM9JWRdIiwgcmMpKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogbW50X3RhYmxlX3JlcGxhY2VfZmlsZQorICogQHRiOiBwYXJzZWQgZmlsZSAoZS5nLiBmc3RhYikKKyAqIEBmaWxlbmFtZTogdGFyZ2V0CisgKgorICogVGhpcyBmdW5jdGlvbiByZXBsYWNlcyBAZmlsZSBieSB0aGUgbmV3IGNvbnRlbnQgZnJvbSBAdGIuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgb24gZXJyb3IuCisgKi8KK2ludCBtbnRfdGFibGVfcmVwbGFjZV9maWxlKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBjb25zdCBjaGFyICpmaWxlbmFtZSkKK3sKKwlpbnQgZmQsIHJjID0gMDsKKwlGSUxFICpmOworCWNoYXIgKnVxID0gTlVMTDsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiJXM6IHJlcGxhY2luZyIsIGZpbGVuYW1lKSk7CisKKwlmZCA9IG1udF9vcGVuX3VuaXFfZmlsZW5hbWUoZmlsZW5hbWUsICZ1cSk7CisJaWYgKGZkIDwgMCkKKwkJcmV0dXJuIGZkOwkvKiBlcnJvciAqLworCisJZiA9IGZkb3BlbihmZCwgInciIFVMX0NMT0VYRUNTVFIpOworCWlmIChmKSB7CisJCXN0cnVjdCBzdGF0IHN0OworCisJCW1udF90YWJsZV93cml0ZV9maWxlKHRiLCBmKTsKKworCQlpZiAoZmZsdXNoKGYpICE9IDApIHsKKwkJCXJjID0gLWVycm5vOworCQkJREJHKFVQREFURSwgdWxfZGVidWcoIiVzOiBmZmx1c2ggZmFpbGVkOiAlbSIsIHVxKSk7CisJCQlnb3RvIGxlYXZlOworCQl9CisKKwkJcmMgPSBmY2htb2QoZmQsIFNfSVJVU1J8U19JV1VTUnxTX0lSR1JQfFNfSVJPVEgpID8gLWVycm5vIDogMDsKKworCQlpZiAoIXJjICYmIHN0YXQoZmlsZW5hbWUsICZzdCkgPT0gMCkKKwkJCS8qIENvcHkgdWlkL2dpZCBmcm9tIHRoZSBwcmVzZW50IGZpbGUgYmVmb3JlIHJlbmFtaW5nLiAqLworCQkJcmMgPSBmY2hvd24oZmQsIHN0LnN0X3VpZCwgc3Quc3RfZ2lkKSA/IC1lcnJubyA6IDA7CisKKwkJZmNsb3NlKGYpOworCQlmID0gTlVMTDsKKworCQlpZiAoIXJjKQorCQkJcmMgPSByZW5hbWUodXEsIGZpbGVuYW1lKSA/IC1lcnJubyA6IDA7CisJfSBlbHNlIHsKKwkJcmMgPSAtZXJybm87CisJCWNsb3NlKGZkKTsKKwl9CisKK2xlYXZlOgorCWlmIChmKQorCQlmY2xvc2UoZik7CisJdW5saW5rKHVxKTsKKwlmcmVlKHVxKTsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAicmVwbGFjZSBkb25lIFtyYz0lZF0iLCByYykpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBhZGRfZmlsZV9lbnRyeShzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yiwgc3RydWN0IGxpYm1udF91cGRhdGUgKnVwZCkKK3sKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKworCWFzc2VydCh1cGQpOworCisJZnMgPSBtbnRfY29weV9mcyhOVUxMLCB1cGQtPmZzKTsKKwlpZiAoIWZzKQorCQlyZXR1cm4gLUVOT01FTTsKKworCW1udF90YWJsZV9hZGRfZnModGIsIGZzKTsKKwltbnRfdW5yZWZfZnMoZnMpOworCisJcmV0dXJuIHVwZGF0ZV90YWJsZSh1cGQsIHRiKTsKK30KKworc3RhdGljIGludCB1cGRhdGVfYWRkX2VudHJ5KHN0cnVjdCBsaWJtbnRfdXBkYXRlICp1cGQsIHN0cnVjdCBsaWJtbnRfbG9jayAqbGMpCit7CisJc3RydWN0IGxpYm1udF90YWJsZSAqdGI7CisJaW50IHJjID0gMDsKKworCWFzc2VydCh1cGQpOworCWFzc2VydCh1cGQtPmZzKTsKKworCURCRyhVUERBVEUsIHVsX2RlYnVnb2JqKHVwZCwgIiVzOiBhZGQgZW50cnkiLCB1cGQtPmZpbGVuYW1lKSk7CisKKwlpZiAobGMpCisJCXJjID0gbW50X2xvY2tfZmlsZShsYyk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwl0YiA9IF9fbW50X25ld190YWJsZV9mcm9tX2ZpbGUodXBkLT5maWxlbmFtZSwKKwkJCXVwZC0+dXNlcnNwYWNlX29ubHkgPyBNTlRfRk1UX1VUQUIgOiBNTlRfRk1UX01UQUIpOworCWlmICh0YikKKwkJcmMgPSBhZGRfZmlsZV9lbnRyeSh0YiwgdXBkKTsKKwlpZiAobGMpCisJCW1udF91bmxvY2tfZmlsZShsYyk7CisKKwltbnRfdW5yZWZfdGFibGUodGIpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB1cGRhdGVfcmVtb3ZlX2VudHJ5KHN0cnVjdCBsaWJtbnRfdXBkYXRlICp1cGQsIHN0cnVjdCBsaWJtbnRfbG9jayAqbGMpCit7CisJc3RydWN0IGxpYm1udF90YWJsZSAqdGI7CisJaW50IHJjID0gMDsKKworCWFzc2VydCh1cGQpOworCWFzc2VydCh1cGQtPnRhcmdldCk7CisKKwlEQkcoVVBEQVRFLCB1bF9kZWJ1Z29iaih1cGQsICIlczogcmVtb3ZlIGVudHJ5IiwgdXBkLT5maWxlbmFtZSkpOworCisJaWYgKGxjKQorCQlyYyA9IG1udF9sb2NrX2ZpbGUobGMpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJdGIgPSBfX21udF9uZXdfdGFibGVfZnJvbV9maWxlKHVwZC0+ZmlsZW5hbWUsCisJCQl1cGQtPnVzZXJzcGFjZV9vbmx5ID8gTU5UX0ZNVF9VVEFCIDogTU5UX0ZNVF9NVEFCKTsKKwlpZiAodGIpIHsKKwkJc3RydWN0IGxpYm1udF9mcyAqcmVtID0gbW50X3RhYmxlX2ZpbmRfdGFyZ2V0KHRiLCB1cGQtPnRhcmdldCwgTU5UX0lURVJfQkFDS1dBUkQpOworCQlpZiAocmVtKSB7CisJCQltbnRfdGFibGVfcmVtb3ZlX2ZzKHRiLCByZW0pOworCQkJcmMgPSB1cGRhdGVfdGFibGUodXBkLCB0Yik7CisJCX0KKwl9CisJaWYgKGxjKQorCQltbnRfdW5sb2NrX2ZpbGUobGMpOworCisJbW50X3VucmVmX3RhYmxlKHRiKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdXBkYXRlX21vZGlmeV90YXJnZXQoc3RydWN0IGxpYm1udF91cGRhdGUgKnVwZCwgc3RydWN0IGxpYm1udF9sb2NrICpsYykKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiA9IE5VTEw7CisJaW50IHJjID0gMDsKKworCWFzc2VydCh1cGQpOworCURCRyhVUERBVEUsIHVsX2RlYnVnb2JqKHVwZCwgIiVzOiBtb2RpZnkgdGFyZ2V0IiwgdXBkLT5maWxlbmFtZSkpOworCisJaWYgKGxjKQorCQlyYyA9IG1udF9sb2NrX2ZpbGUobGMpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJdGIgPSBfX21udF9uZXdfdGFibGVfZnJvbV9maWxlKHVwZC0+ZmlsZW5hbWUsCisJCQl1cGQtPnVzZXJzcGFjZV9vbmx5ID8gTU5UX0ZNVF9VVEFCIDogTU5UX0ZNVF9NVEFCKTsKKwlpZiAodGIpIHsKKwkJc3RydWN0IGxpYm1udF9mcyAqY3VyID0gbW50X3RhYmxlX2ZpbmRfdGFyZ2V0KHRiLAorCQkJCW1udF9mc19nZXRfc3JjcGF0aCh1cGQtPmZzKSwgTU5UX0lURVJfQkFDS1dBUkQpOworCQlpZiAoY3VyKSB7CisJCQlyYyA9IG1udF9mc19zZXRfdGFyZ2V0KGN1ciwgbW50X2ZzX2dldF90YXJnZXQodXBkLT5mcykpOworCQkJaWYgKCFyYykKKwkJCQlyYyA9IHVwZGF0ZV90YWJsZSh1cGQsIHRiKTsKKwkJfQorCX0KKworCWlmIChsYykKKwkJbW50X3VubG9ja19maWxlKGxjKTsKKworCW1udF91bnJlZl90YWJsZSh0Yik7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHVwZGF0ZV9tb2RpZnlfb3B0aW9ucyhzdHJ1Y3QgbGlibW50X3VwZGF0ZSAqdXBkLCBzdHJ1Y3QgbGlibW50X2xvY2sgKmxjKQoreworCXN0cnVjdCBsaWJtbnRfdGFibGUgKnRiID0gTlVMTDsKKwlpbnQgcmMgPSAwOworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCisJYXNzZXJ0KHVwZCk7CisJYXNzZXJ0KHVwZC0+ZnMpOworCisJREJHKFVQREFURSwgdWxfZGVidWdvYmoodXBkLCAiJXM6IG1vZGlmeSBvcHRpb25zIiwgdXBkLT5maWxlbmFtZSkpOworCisJZnMgPSB1cGQtPmZzOworCisJaWYgKGxjKQorCQlyYyA9IG1udF9sb2NrX2ZpbGUobGMpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJdGIgPSBfX21udF9uZXdfdGFibGVfZnJvbV9maWxlKHVwZC0+ZmlsZW5hbWUsCisJCQl1cGQtPnVzZXJzcGFjZV9vbmx5ID8gTU5UX0ZNVF9VVEFCIDogTU5UX0ZNVF9NVEFCKTsKKwlpZiAodGIpIHsKKwkJc3RydWN0IGxpYm1udF9mcyAqY3VyID0gbW50X3RhYmxlX2ZpbmRfdGFyZ2V0KHRiLAorCQkJCQltbnRfZnNfZ2V0X3RhcmdldChmcyksCisJCQkJCU1OVF9JVEVSX0JBQ0tXQVJEKTsKKwkJaWYgKGN1cikgeworCQkJaWYgKHVwZC0+dXNlcnNwYWNlX29ubHkpCisJCQkJcmMgPSBtbnRfZnNfc2V0X2F0dHJpYnV0ZXMoY3VyLAltbnRfZnNfZ2V0X2F0dHJpYnV0ZXMoZnMpKTsKKwkJCWlmICghcmMpCisJCQkJcmMgPSBtbnRfZnNfc2V0X29wdGlvbnMoY3VyLCBtbnRfZnNfZ2V0X29wdGlvbnMoZnMpKTsKKwkJCWlmICghcmMpCisJCQkJcmMgPSB1cGRhdGVfdGFibGUodXBkLCB0Yik7CisJCX0gZWxzZQorCQkJcmMgPSBhZGRfZmlsZV9lbnRyeSh0YiwgdXBkKTsJLyogbm90IGZvdW5kLCBhZGQgbmV3ICovCisJfQorCisJaWYgKGxjKQorCQltbnRfdW5sb2NrX2ZpbGUobGMpOworCisJbW50X3VucmVmX3RhYmxlKHRiKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogbW50X3VwZGF0ZV90YWJsZToKKyAqIEB1cGQ6IHVwZGF0ZQorICogQGxjOiBsb2NrIG9yIE5VTEwKKyAqCisgKiBIaWdoLWxldmVsIEFQSSB0byB1cGRhdGUgL2V0Yy9tdGFiIChvciBwcml2YXRlIC9ydW4vbW91bnQvdXRhYiBmaWxlKS4KKyAqCisgKiBUaGUgQGxjIGxvY2sgaXMgb3B0aW9uYWwgYW5kIHdpbGwgYmUgY3JlYXRlZCBpZiBuZWNlc3NhcnkuIE5vdGUgdGhhdAorICogYW4gYXV0b21hdGljYWxseSBjcmVhdGVkIGxvY2sgYmxvY2tzIGFsbCBzaWduYWxzLgorICoKKyAqIFNlZSBhbHNvIG1udF9sb2NrX2Jsb2NrX3NpZ25hbHMoKSBhbmQgbW50X2NvbnRleHRfZ2V0X2xvY2soKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBvbiBlcnJvci4KKyAqLworaW50IG1udF91cGRhdGVfdGFibGUoc3RydWN0IGxpYm1udF91cGRhdGUgKnVwZCwgc3RydWN0IGxpYm1udF9sb2NrICpsYykKK3sKKwlzdHJ1Y3QgbGlibW50X2xvY2sgKmxjMCA9IGxjOworCWludCByYyA9IC1FSU5WQUw7CisKKwlpZiAoIXVwZCB8fCAhdXBkLT5maWxlbmFtZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKCF1cGQtPnJlYWR5KQorCQlyZXR1cm4gMDsKKworCURCRyhVUERBVEUsIHVsX2RlYnVnb2JqKHVwZCwgIiVzOiB1cGRhdGUgdGFiIiwgdXBkLT5maWxlbmFtZSkpOworCWlmICh1cGQtPmZzKSB7CisJCURCRyhVUERBVEUsIG1udF9mc19wcmludF9kZWJ1Zyh1cGQtPmZzLCBzdGRlcnIpKTsKKwl9CisJaWYgKCFsYykgeworCQlsYyA9IG1udF9uZXdfbG9jayh1cGQtPmZpbGVuYW1lLCAwKTsKKwkJaWYgKGxjKQorCQkJbW50X2xvY2tfYmxvY2tfc2lnbmFscyhsYywgVFJVRSk7CisJfQorCWlmIChsYyAmJiB1cGQtPnVzZXJzcGFjZV9vbmx5KQorCQltbnRfbG9ja191c2Vfc2ltcGxlbG9jayhsYywgVFJVRSk7CS8qIHVzZSBmbG9jayAqLworCisJaWYgKCF1cGQtPmZzICYmIHVwZC0+dGFyZ2V0KQorCQlyYyA9IHVwZGF0ZV9yZW1vdmVfZW50cnkodXBkLCBsYyk7CS8qIHVtb3VudCAqLworCWVsc2UgaWYgKHVwZC0+bW91bnRmbGFncyAmIE1TX01PVkUpCisJCXJjID0gdXBkYXRlX21vZGlmeV90YXJnZXQodXBkLCBsYyk7CS8qIG1vdmUgKi8KKwllbHNlIGlmICh1cGQtPm1vdW50ZmxhZ3MgJiBNU19SRU1PVU5UKQorCQlyYyA9IHVwZGF0ZV9tb2RpZnlfb3B0aW9ucyh1cGQsIGxjKTsJLyogcmVtb3VudCAqLworCWVsc2UgaWYgKHVwZC0+ZnMpCisJCXJjID0gdXBkYXRlX2FkZF9lbnRyeSh1cGQsIGxjKTsJLyogbW91bnQgKi8KKworCXVwZC0+cmVhZHkgPSBGQUxTRTsKKwlEQkcoVVBEQVRFLCB1bF9kZWJ1Z29iaih1cGQsICIlczogdXBkYXRlIHRhYjogZG9uZSBbcmM9JWRdIiwKKwkJCQl1cGQtPmZpbGVuYW1lLCByYykpOworCWlmIChsYyAhPSBsYzApCisJCSBtbnRfZnJlZV9sb2NrKGxjKTsKKwlyZXR1cm4gcmM7Cit9CisKK2ludCBtbnRfdXBkYXRlX2FscmVhZHlfZG9uZShzdHJ1Y3QgbGlibW50X3VwZGF0ZSAqdXBkLCBzdHJ1Y3QgbGlibW50X2xvY2sgKmxjKQoreworCXN0cnVjdCBsaWJtbnRfdGFibGUgKnRiID0gTlVMTDsKKwlzdHJ1Y3QgbGlibW50X2xvY2sgKmxjMCA9IGxjOworCWludCByYyA9IDA7CisKKwlpZiAoIXVwZCB8fCAhdXBkLT5maWxlbmFtZSB8fCAoIXVwZC0+ZnMgJiYgIXVwZC0+dGFyZ2V0KSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoVVBEQVRFLCB1bF9kZWJ1Z29iaih1cGQsICIlczogY2hlY2tpbmcgZm9yIHByZXZpb3VzIHVwZGF0ZSIsIHVwZC0+ZmlsZW5hbWUpKTsKKworCWlmICghbGMpIHsKKwkJbGMgPSBtbnRfbmV3X2xvY2sodXBkLT5maWxlbmFtZSwgMCk7CisJCWlmIChsYykKKwkJCW1udF9sb2NrX2Jsb2NrX3NpZ25hbHMobGMsIFRSVUUpOworCX0KKwlpZiAobGMgJiYgdXBkLT51c2Vyc3BhY2Vfb25seSkKKwkJbW50X2xvY2tfdXNlX3NpbXBsZWxvY2sobGMsIFRSVUUpOwkvKiB1c2UgZmxvY2sgKi8KKwlpZiAobGMpCisJCXJjID0gbW50X2xvY2tfZmlsZShsYyk7CisJaWYgKHJjKQorCQlnb3RvIGRvbmU7CisKKwl0YiA9IF9fbW50X25ld190YWJsZV9mcm9tX2ZpbGUodXBkLT5maWxlbmFtZSwKKwkJCXVwZC0+dXNlcnNwYWNlX29ubHkgPyBNTlRfRk1UX1VUQUIgOiBNTlRfRk1UX01UQUIpOworCWlmIChsYykKKwkJbW50X3VubG9ja19maWxlKGxjKTsKKwlpZiAoIXRiKQorCQlnb3RvIGRvbmU7CisKKwlpZiAodXBkLT5mcykgeworCQkvKiBtb3VudCAqLworCQljb25zdCBjaGFyICp0Z3QgPSBtbnRfZnNfZ2V0X3RhcmdldCh1cGQtPmZzKTsKKwkJY29uc3QgY2hhciAqc3JjID0gbW50X2ZzX2dldF9iaW5kc3JjKHVwZC0+ZnMpID8KKwkJCQkJbW50X2ZzX2dldF9iaW5kc3JjKHVwZC0+ZnMpIDoKKwkJCQkJbW50X2ZzX2dldF9zb3VyY2UodXBkLT5mcyk7CisKKwkJaWYgKG1udF90YWJsZV9maW5kX3BhaXIodGIsIHNyYywgdGd0LCBNTlRfSVRFUl9CQUNLV0FSRCkpIHsKKwkJCURCRyhVUERBVEUsIHVsX2RlYnVnb2JqKHVwZCwgIiVzOiBmb3VuZCAlcyAlcyIsCisJCQkJCQl1cGQtPmZpbGVuYW1lLCBzcmMsIHRndCkpOworCQkJcmMgPSAxOworCQl9CisJfSBlbHNlIGlmICh1cGQtPnRhcmdldCkgeworCQkvKiB1bW91bnQgKi8KKwkJaWYgKCFtbnRfdGFibGVfZmluZF90YXJnZXQodGIsIHVwZC0+dGFyZ2V0LCBNTlRfSVRFUl9CQUNLV0FSRCkpIHsKKwkJCURCRyhVUERBVEUsIHVsX2RlYnVnb2JqKHVwZCwgIiVzOiBub3QtZm91bmQgKHVtb3VudGVkKSAlcyIsCisJCQkJCQl1cGQtPmZpbGVuYW1lLCB1cGQtPnRhcmdldCkpOworCQkJcmMgPSAxOworCQl9CisJfQorCisJbW50X3VucmVmX3RhYmxlKHRiKTsKK2RvbmU6CisJaWYgKGxjICYmIGxjICE9IGxjMCkKKwkJbW50X2ZyZWVfbG9jayhsYyk7CisJREJHKFVQREFURSwgdWxfZGVidWdvYmoodXBkLCAiJXM6IHByZXZpb3VzIHVwZGF0ZSBjaGVjayBkb25lIFtyYz0lZF0iLAorCQkJCXVwZC0+ZmlsZW5hbWUsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCisKKyNpZmRlZiBURVNUX1BST0dSQU0KKworc3RhdGljIGludCB1cGRhdGUoY29uc3QgY2hhciAqdGFyZ2V0LCBzdHJ1Y3QgbGlibW50X2ZzICpmcywgdW5zaWduZWQgbG9uZyBtb3VudGZsYWdzKQoreworCWludCByYzsKKwlzdHJ1Y3QgbGlibW50X3VwZGF0ZSAqdXBkOworCisJREJHKFVQREFURSwgdWxfZGVidWcoInVwZGF0ZSB0ZXN0IikpOworCisJdXBkID0gbW50X25ld191cGRhdGUoKTsKKwlpZiAoIXVwZCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlyYyA9IG1udF91cGRhdGVfc2V0X2ZzKHVwZCwgbW91bnRmbGFncywgdGFyZ2V0LCBmcyk7CisJaWYgKHJjID09IDEpIHsKKwkJLyogdXBkYXRlIGlzIHVubmVjZXNzYXJ5ICovCisJCXJjID0gMDsKKwkJZ290byBkb25lOworCX0KKwlpZiAocmMpIHsKKwkJZnByaW50ZihzdGRlcnIsICJmYWlsZWQgdG8gc2V0IEZTXG4iKTsKKwkJZ290byBkb25lOworCX0KKworCS8qIFsuLi4gbW91bnQoMikgY2FsbCBzaG91bGQgYmUgaGVyZS4uLl0gICovCisKKwlyYyA9IG1udF91cGRhdGVfdGFibGUodXBkLCBOVUxMKTsKK2RvbmU6CisJbW50X2ZyZWVfdXBkYXRlKHVwZCk7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHRlc3RfYWRkKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IGxpYm1udF9mcyAqZnMgPSBtbnRfbmV3X2ZzKCk7CisJaW50IHJjOworCisJaWYgKGFyZ2MgPCA1IHx8ICFmcykKKwkJcmV0dXJuIC0xOworCW1udF9mc19zZXRfc291cmNlKGZzLCBhcmd2WzFdKTsKKwltbnRfZnNfc2V0X3RhcmdldChmcywgYXJndlsyXSk7CisJbW50X2ZzX3NldF9mc3R5cGUoZnMsIGFyZ3ZbM10pOworCW1udF9mc19zZXRfb3B0aW9ucyhmcywgYXJndls0XSk7CisKKwlyYyA9IHVwZGF0ZShOVUxMLCBmcywgMCk7CisJbW50X3VucmVmX2ZzKGZzKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9yZW1vdmUoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlpZiAoYXJnYyA8IDIpCisJCXJldHVybiAtMTsKKwlyZXR1cm4gdXBkYXRlKGFyZ3ZbMV0sIE5VTEwsIDApOworfQorCitzdGF0aWMgaW50IHRlc3RfbW92ZShzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBsaWJtbnRfZnMgKmZzID0gbW50X25ld19mcygpOworCWludCByYzsKKworCWlmIChhcmdjIDwgMykKKwkJcmV0dXJuIC0xOworCW1udF9mc19zZXRfc291cmNlKGZzLCBhcmd2WzFdKTsKKwltbnRfZnNfc2V0X3RhcmdldChmcywgYXJndlsyXSk7CisKKwlyYyA9IHVwZGF0ZShOVUxMLCBmcywgTVNfTU9WRSk7CisKKwltbnRfdW5yZWZfZnMoZnMpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB0ZXN0X3JlbW91bnQoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgbGlibW50X2ZzICpmcyA9IG1udF9uZXdfZnMoKTsKKwlpbnQgcmM7CisKKwlpZiAoYXJnYyA8IDMpCisJCXJldHVybiAtMTsKKwltbnRfZnNfc2V0X3RhcmdldChmcywgYXJndlsxXSk7CisJbW50X2ZzX3NldF9vcHRpb25zKGZzLCBhcmd2WzJdKTsKKworCXJjID0gdXBkYXRlKE5VTEwsIGZzLCBNU19SRU1PVU5UKTsKKwltbnRfdW5yZWZfZnMoZnMpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB0ZXN0X3JlcGxhY2Uoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgbGlibW50X2ZzICpmcyA9IG1udF9uZXdfZnMoKTsKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiA9IG1udF9uZXdfdGFibGUoKTsKKwlpbnQgcmM7CisKKwlpZiAoYXJnYyA8IDMpCisJCXJldHVybiAtMTsKKworCW1udF90YWJsZV9lbmFibGVfY29tbWVudHModGIsIFRSVUUpOworCW1udF90YWJsZV9wYXJzZV9mc3RhYih0YiwgTlVMTCk7CisKKwltbnRfZnNfc2V0X3NvdXJjZShmcywgYXJndlsxXSk7CisJbW50X2ZzX3NldF90YXJnZXQoZnMsIGFyZ3ZbMl0pOworCW1udF9mc19hcHBlbmRfY29tbWVudChmcywgIiMgdGhpcyBpcyBuZXcgZmlsZXN5c3RlbVxuIik7CisKKwltbnRfdGFibGVfYWRkX2ZzKHRiLCBmcyk7CisJbW50X3VucmVmX2ZzKGZzKTsKKworCXJjID0gbW50X3RhYmxlX3JlcGxhY2VfZmlsZSh0YiwgbW50X2dldF9mc3RhYl9wYXRoKCkpOworCW1udF91bnJlZl90YWJsZSh0Yik7CisJcmV0dXJuIHJjOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBsaWJtbnRfdGVzdCB0c3NbXSA9IHsKKwl7ICItLWFkZCIsICAgIHRlc3RfYWRkLCAgICAgIjxzcmM+IDx0YXJnZXQ+IDx0eXBlPiA8b3B0aW9ucz4gIGFkZCBhIGxpbmUgdG8gbXRhYiIgfSwKKwl7ICItLXJlbW92ZSIsIHRlc3RfcmVtb3ZlLCAgIjx0YXJnZXQ+ICAgICAgICAgICAgICAgICAgICAgIE1TX1JFTU9VTlQgbXRhYiBjaGFuZ2UiIH0sCisJeyAiLS1tb3ZlIiwgICB0ZXN0X21vdmUsICAgICI8b2xkX3RhcmdldD4gIDx0YXJnZXQ+ICAgICAgICBNU19NT1ZFIG10YWIgY2hhbmdlIiB9LAorCXsgIi0tcmVtb3VudCIsdGVzdF9yZW1vdW50LCAiPHRhcmdldD4gIDxvcHRpb25zPiAgICAgICAgICAgTVNfUkVNT1VOVCBtdGFiIGNoYW5nZSIgfSwKKwl7ICItLXJlcGxhY2UiLHRlc3RfcmVwbGFjZSwgIjxzcmM+IDx0YXJnZXQ+ICAgICAgICAgICAgICAgIEFkZCBhIGxpbmUgdG8gTElCTU9VTlRfRlNUQUIgYW5kIHJlcGxhY2UgdGhlIG9yaWdpbmFsIGZpbGUiIH0sCisJeyBOVUxMIH0KKwl9OworCisJcmV0dXJuIG1udF9ydW5fdGVzdCh0c3MsIGFyZ2MsIGFyZ3YpOworfQorCisjZW5kaWYgLyogVEVTVF9QUk9HUkFNICovCmRpZmYgLS1naXQgYS9saWJtb3VudC9zcmMvdGVzdC5jIGIvbGlibW91bnQvc3JjL3Rlc3QuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZGEwMGI0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvc3JjL3Rlc3QuYwpAQCAtMCwwICsxLDU5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqCisgKiBSb3V0aW5lcyBmb3IgVEVTVF9QUk9HUkFNcworICovCisKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorCisjaWZuZGVmIFRFU1RfUFJPR1JBTQorI2RlZmluZSBURVNUX1BST0dSQU0KKyNlbmRpZgorCisjaW5jbHVkZSAibW91bnRQLmgiCisKK2ludCBtbnRfcnVuX3Rlc3Qoc3RydWN0IGxpYm1udF90ZXN0ICp0ZXN0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlpbnQgcmMgPSAtMTsKKwlzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzOworCisJYXNzZXJ0KHRlc3RzKTsKKwlhc3NlcnQoYXJnYyk7CisJYXNzZXJ0KGFyZ3YpOworCisJaWYgKGFyZ2MgPCAyIHx8CisJICAgIHN0cmNtcChhcmd2WzFdLCAiLS1oZWxwIikgPT0gMCB8fAorCSAgICBzdHJjbXAoYXJndlsxXSwgIi1oIikgPT0gMCkKKwkJZ290byB1c2FnZTsKKworCW1udF9pbml0X2RlYnVnKDApOworCisJZm9yICh0cyA9IHRlc3RzOyB0cy0+bmFtZTsgdHMrKykgeworCQlpZiAoc3RyY21wKHRzLT5uYW1lLCBhcmd2WzFdKSA9PSAwKSB7CisJCQlyYyA9IHRzLT5ib2R5KHRzLCBhcmdjIC0gMSwgYXJndiArIDEpOworCQkJaWYgKHJjKQorCQkJCXByaW50ZigiRkFJTEVEIFtyYz0lZF0iLCByYyk7CisJCQlicmVhazsKKwkJfQorCX0KKworCWlmIChyYyA8IDAgJiYgdHMtPm5hbWUgPT0gTlVMTCkKKwkJZ290byB1c2FnZTsKKworCXJldHVybiByYyA9PSAwID8gRVhJVF9TVUNDRVNTIDogRVhJVF9GQUlMVVJFOwordXNhZ2U6CisJcHJpbnRmKCJcblVzYWdlOlxuXHQlcyA8dGVzdD4gW3Rlc3RvcHRpb25zXVxuVGVzdHM6XG4iLAorCQkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCWZvciAodHMgPSB0ZXN0czsgdHMtPm5hbWU7IHRzKyspIHsKKwkJcHJpbnRmKCJcdCUtMTVzIiwgdHMtPm5hbWUpOworCQlpZiAodHMtPnVzYWdlKQorCQkJcHJpbnRmKCIgJXNcbiIsIHRzLT51c2FnZSk7CisJfQorCXByaW50ZigiXG4iKTsKKwlyZXR1cm4gRVhJVF9GQUlMVVJFOworfQpkaWZmIC0tZ2l0IGEvbGlibW91bnQvc3JjL3V0aWxzLmMgYi9saWJtb3VudC9zcmMvdXRpbHMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOWYyNTlmCi0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvc3JjL3V0aWxzLmMKQEAgLTAsMCArMSwxMzcyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisvKioKKyAqIFNFQ1RJT046IHV0aWxzCisgKiBAdGl0bGU6IFV0aWxzCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IG1pc2MgdXRpbHMuCisgKi8KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8cHdkLmg+CisjaW5jbHVkZSA8Z3JwLmg+CisjaW5jbHVkZSA8YmxraWQuaD4KKworI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAibW91bnRQLmgiCisjaW5jbHVkZSAibWFuZ2xlLmgiCisjaW5jbHVkZSAiY2Fub25pY2FsaXplLmgiCisjaW5jbHVkZSAiZW52LmgiCisjaW5jbHVkZSAibWF0Y2guaCIKKyNpbmNsdWRlICJmaWxldXRpbHMuaCIKKyNpbmNsdWRlICJzdGF0ZnNfbWFnaWMuaCIKKyNpbmNsdWRlICJzeXNmcy5oIgorCitpbnQgYXBwZW5kX3N0cmluZyhjaGFyICoqYSwgY29uc3QgY2hhciAqYikKK3sKKwlzaXplX3QgYWwsIGJsOworCWNoYXIgKnRtcDsKKworCWFzc2VydChhKTsKKworCWlmICghYiB8fCAhKmIpCisJCXJldHVybiAwOworCWlmICghKmEpIHsKKwkJKmEgPSBzdHJkdXAoYik7CisJCXJldHVybiAhKmEgPyAtRU5PTUVNIDogMDsKKwl9CisKKwlhbCA9IHN0cmxlbigqYSk7CisJYmwgPSBzdHJsZW4oYik7CisKKwl0bXAgPSByZWFsbG9jKCphLCBhbCArIGJsICsgMSk7CisJaWYgKCF0bXApCisJCXJldHVybiAtRU5PTUVNOworCSphID0gdG1wOworCW1lbWNweSgoKmEpICsgYWwsIGIsIGJsICsgMSk7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBSZXR1cm4gMSBpZiB0aGUgZmlsZSBpcyBub3QgYWNjZXNzaWJsZSBvciBlbXB0eQorICovCitpbnQgaXNfZmlsZV9lbXB0eShjb25zdCBjaGFyICpuYW1lKQoreworCXN0cnVjdCBzdGF0IHN0OworCWFzc2VydChuYW1lKTsKKworCXJldHVybiAoc3RhdChuYW1lLCAmc3QpICE9IDAgfHwgc3Quc3Rfc2l6ZSA9PSAwKTsKK30KKworaW50IG1udF92YWxpZF90YWduYW1lKGNvbnN0IGNoYXIgKnRhZ25hbWUpCit7CisJaWYgKHRhZ25hbWUgJiYgKnRhZ25hbWUgJiYgKAorCSAgICBzdHJjbXAoIlVVSUQiLCB0YWduYW1lKSA9PSAwIHx8CisJICAgIHN0cmNtcCgiTEFCRUwiLCB0YWduYW1lKSA9PSAwIHx8CisJICAgIHN0cmNtcCgiUEFSVFVVSUQiLCB0YWduYW1lKSA9PSAwIHx8CisJICAgIHN0cmNtcCgiUEFSVExBQkVMIiwgdGFnbmFtZSkgPT0gMCkpCisJCXJldHVybiAxOworCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X3RhZ19pc192YWxpZDoKKyAqIEB0YWc6IE5BTUU9dmFsdWUgc3RyaW5nCisgKgorICogUmV0dXJuczogMSBpZiB0aGUgQHRhZyBpcyBwYXJzYWJsZSBhbmQgdGFnIE5BTUU9IGlzIHN1cHBvcnRlZCBieSBsaWJtb3VudCwgb3IgMC4KKyAqLworaW50IG1udF90YWdfaXNfdmFsaWQoY29uc3QgY2hhciAqdGFnKQoreworCWNoYXIgKnQgPSBOVUxMOworCWludCByYyA9IHRhZyAmJiBibGtpZF9wYXJzZV90YWdfc3RyaW5nKHRhZywgJnQsIE5VTEwpID09IDAKKwkJICAgICAmJiBtbnRfdmFsaWRfdGFnbmFtZSh0KTsKKworCWZyZWUodCk7CisJcmV0dXJuIHJjOworfQorCitpbnQgbW50X3BhcnNlX29mZnNldChjb25zdCBjaGFyICpzdHIsIHNpemVfdCBsZW4sIHVpbnRtYXhfdCAqcmVzKQoreworCWNoYXIgKnA7CisJaW50IHJjID0gMDsKKworCWlmICghc3RyIHx8ICEqc3RyKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXAgPSBzdHJuZHVwKHN0ciwgbGVuKTsKKwlpZiAoIXApCisJCXJldHVybiAtZXJybm87CisKKwlpZiAoc3RydG9zaXplKHAsIHJlcykpCisJCXJjID0gLUVJTlZBTDsKKwlmcmVlKHApOworCXJldHVybiByYzsKK30KKworLyogdXNlZCBhcyBhIGNhbGxiYWNrIGJ5IGJzZWFyY2ggaW4gbW50X2ZzdHlwZV9pc19wc2V1ZG9mcygpICovCitzdGF0aWMgaW50IGZzdHlwZV9jbXAoY29uc3Qgdm9pZCAqdjEsIGNvbnN0IHZvaWQgKnYyKQoreworCWNvbnN0IGNoYXIgKnMxID0gKihjb25zdCBjaGFyICoqKXYxOworCWNvbnN0IGNoYXIgKnMyID0gKihjb25zdCBjaGFyICoqKXYyOworCisJcmV0dXJuIHN0cmNtcChzMSwgczIpOworfQorCitpbnQgbW50X3N0YXRfbW91bnRwb2ludChjb25zdCBjaGFyICp0YXJnZXQsIHN0cnVjdCBzdGF0ICpzdCkKK3sKKyNpZmRlZiBBVF9OT19BVVRPTU9VTlQKKwlyZXR1cm4gZnN0YXRhdCgtMSwgdGFyZ2V0LCBzdCwgQVRfTk9fQVVUT01PVU5UKTsKKyNlbHNlCisJcmV0dXJuIHN0YXQodGFyZ2V0LCBzdCk7CisjZW5kaWYKK30KKworLyoKKyAqIE5vdGUgdGhhdCB0aGUgQHRhcmdldCBoYXMgdG8gYmUgYW4gYWJzb2x1dGUgcGF0aCAoc28gYXQgbGVhc3QgIi8iKS4gIFRoZQorICogQGZpbGVuYW1lIHJldHVybnMgYW4gYWxsb2NhdGVkIGJ1ZmZlciB3aXRoIHRoZSBsYXN0IHBhdGggY29tcG9uZW50LCBmb3IgZXhhbXBsZToKKyAqCisgKiBtbnRfY2hkaXJfdG9fcGFyZW50KCIvbW50L3Rlc3QiLCAmYnVmKSA9PT4gY2hkaXIoIi9tbnQiKSwgYnVmPSJ0ZXN0IgorICovCitpbnQgbW50X2NoZGlyX3RvX3BhcmVudChjb25zdCBjaGFyICp0YXJnZXQsIGNoYXIgKipmaWxlbmFtZSkKK3sKKwljaGFyICpidWYsICpwYXJlbnQsICpsYXN0ID0gTlVMTDsKKwljaGFyIGN3ZFtQQVRIX01BWF07CisJaW50IHJjID0gLUVJTlZBTDsKKworCWlmICghdGFyZ2V0IHx8ICp0YXJnZXQgIT0gJy8nKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhVVElMUywgdWxfZGVidWcoIm1vdmluZyB0byAlcyBwYXJlbnQiLCB0YXJnZXQpKTsKKworCWJ1ZiA9IHN0cmR1cCh0YXJnZXQpOworCWlmICghYnVmKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWlmICgqKGJ1ZiArIDEpICE9ICdcMCcpIHsKKwkJbGFzdCA9IHN0cmlwb2ZmX2xhc3RfY29tcG9uZW50KGJ1Zik7CisJCWlmICghbGFzdCkKKwkJCWdvdG8gZXJyOworCX0KKworCXBhcmVudCA9IGJ1ZiAmJiAqYnVmID8gYnVmIDogIi8iOworCisJaWYgKGNoZGlyKHBhcmVudCkgPT0gLTEpIHsKKwkJREJHKFVUSUxTLCB1bF9kZWJ1ZygiZmFpbGVkIHRvIGNoZGlyIHRvICVzOiAlbSIsIHBhcmVudCkpOworCQlyYyA9IC1lcnJubzsKKwkJZ290byBlcnI7CisJfQorCWlmICghZ2V0Y3dkKGN3ZCwgc2l6ZW9mKGN3ZCkpKSB7CisJCURCRyhVVElMUywgdWxfZGVidWcoImZhaWxlZCB0byBvYnRhaW4gY3VycmVudCBkaXJlY3Rvcnk6ICVtIikpOworCQlyYyA9IC1lcnJubzsKKwkJZ290byBlcnI7CisJfQorCWlmIChzdHJjbXAoY3dkLCBwYXJlbnQpICE9IDApIHsKKwkJREJHKFVUSUxTLCB1bF9kZWJ1ZygKKwkJICAgICJ1bmV4cGVjdGVkIGNoZGlyIChleHBlY3RlZD0lcywgY3dkPSVzKSIsIHBhcmVudCwgY3dkKSk7CisJCWdvdG8gZXJyOworCX0KKworCURCRyhDWFQsIHVsX2RlYnVnKAorCQkiY3VycmVudCBkaXJlY3RvcnkgbW92ZWQgdG8gJXMgW2xhc3RfY29tcG9uZW50PSclcyddIiwKKwkJcGFyZW50LCBsYXN0KSk7CisKKwlpZiAoZmlsZW5hbWUpIHsKKwkJKmZpbGVuYW1lID0gYnVmOworCisJCWlmICghbGFzdCB8fCAhKmxhc3QpCisJCQltZW1jcHkoKmZpbGVuYW1lLCAiLiIsIDIpOworCQllbHNlCisJCQltZW1tb3ZlKCpmaWxlbmFtZSwgbGFzdCwgc3RybGVuKGxhc3QpICsgMSk7CisJfSBlbHNlCisJCWZyZWUoYnVmKTsKKwlyZXR1cm4gMDsKK2VycjoKKwlmcmVlKGJ1Zik7CisJcmV0dXJuIHJjOworfQorCisvKgorICogQ2hlY2sgaWYgQHBhdGggaXMgb24gYSByZWFkLW9ubHkgZmlsZXN5c3RlbSBpbmRlcGVuZGVudGx5IG9mIGZpbGUgcGVybWlzc2lvbnMuCisgKi8KK2ludCBtbnRfaXNfcmVhZG9ubHkoY29uc3QgY2hhciAqcGF0aCkKK3sKKwlpZiAoYWNjZXNzKHBhdGgsIFdfT0spID09IDApCisJCXJldHVybiAwOworCWlmIChlcnJubyA9PSBFUk9GUykKKwkJcmV0dXJuIDE7CisJaWYgKGVycm5vICE9IEVBQ0NFUykKKwkJcmV0dXJuIDA7CisKKyNpZmRlZiBIQVZFX1VUSU1FTlNBVAorCS8qCisJICogYWNjZXNzKDIpIHJldHVybnMgRUFDQ0VTIG9uIHJlYWQtb25seSBGUzoKKwkgKgorCSAqIC0gZm9yIHNldC11aWQgYXBwbGljYXRpb24gaWYgb25lIGNvbXBvbmVudCBvZiB0aGUgcGF0aCBpcyBub3QKKwkgKiAgIGFjY2Vzc2libGUgZm9yIHRoZSBjdXJyZW50IHJVSUQuIChOb3RlIHRoYXQgZXVpZGFjY2VzcygyKSBkb2VzIG5vdAorCSAqICAgY2hlY2sgZm9yIEVST0ZTIGF0IGFsbCkuCisJICoKKwkgKiAtIGZvciBhIHJlYWQtd3JpdGUgZmlsZXN5c3RlbSB3aXRoIGEgcmVhZC1vbmx5IFZGUyBub2RlIChha2EgLW8gcmVtb3VudCxybyxiaW5kKQorCSAqLworCXsKKwkJc3RydWN0IHRpbWVzcGVjIHRpbWVzWzJdOworCisJCXRpbWVzWzBdLnR2X25zZWMgPSBVVElNRV9OT1c7CS8qIGF0aW1lICovCisJCXRpbWVzWzFdLnR2X25zZWMgPSBVVElNRV9PTUlUOwkvKiBtdGltZSAqLworCisJCWlmICh1dGltZW5zYXQoQVRfRkRDV0QsIHBhdGgsIHRpbWVzLCAwKSA9PSAtMSkKKwkJCXJldHVybiBlcnJubyA9PSBFUk9GUzsKKwl9CisjZW5kaWYKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfbWFuZ2xlOgorICogQHN0cjogc3RyaW5nCisgKgorICogRW5jb2RlIEBzdHIgdG8gYmUgY29tcGF0aWJsZSB3aXRoIGZzdGFiL210YWIKKyAqCisgKiBSZXR1cm5zOiBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworY2hhciAqbW50X21hbmdsZShjb25zdCBjaGFyICpzdHIpCit7CisJcmV0dXJuIG1hbmdsZShzdHIpOworfQorCisvKioKKyAqIG1udF91bm1hbmdsZToKKyAqIEBzdHI6IHN0cmluZworICoKKyAqIERlY29kZSBAc3RyIGZyb20gZnN0YWIvbXRhYgorICoKKyAqIFJldHVybnM6IG5ld2x5IGFsbG9jYXRlZCBzdHJpbmcgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCitjaGFyICptbnRfdW5tYW5nbGUoY29uc3QgY2hhciAqc3RyKQoreworCXJldHVybiB1bm1hbmdsZShzdHIsIE5VTEwpOworfQorCisvKioKKyAqIG1udF9mc3R5cGVfaXNfcHNldWRvZnM6CisgKiBAdHlwZTogZmlsZXN5c3RlbSBuYW1lCisgKgorICogUmV0dXJuczogMSBmb3IgZmlsZXN5c3RlbXMgbGlrZSBwcm9jLCBzeXNmcywgLi4uIG9yIDAuCisgKi8KK2ludCBtbnRfZnN0eXBlX2lzX3BzZXVkb2ZzKGNvbnN0IGNoYXIgKnR5cGUpCit7CisJLyogVGhpcyBhcnJheSBtdXN0IHJlbWFpbiBzb3J0ZWQgd2hlbiBhZGRpbmcgbmV3IGZzdHlwZXMgKi8KKwlzdGF0aWMgY29uc3QgY2hhciAqcHNldWRvZnNbXSA9IHsKKwkJImFub25faW5vZGVmcyIsCisJCSJhdXRvZnMiLAorCQkiYmRldiIsCisJCSJiaW5mbXRfbWlzYyIsCisJCSJjZ3JvdXAiLAorCQkiY2dyb3VwMiIsCisJCSJjb25maWdmcyIsCisJCSJjcHVzZXQiLAorCQkiZGVidWdmcyIsCisJCSJkZXZmcyIsCisJCSJkZXZwdHMiLAorCQkiZGV2dG1wZnMiLAorCQkiZGxtZnMiLAorCQkiZWZpdmFyZnMiLAorCQkiZnVzZS5ndmZzLWZ1c2UtZGFlbW9uIiwKKwkJImZ1c2VjdGwiLAorCQkiaHVnZXRsYmZzIiwKKwkJIm1xdWV1ZSIsCisJCSJuZnNkIiwKKwkJIm5vbmUiLAorCQkib3ZlcmxheSIsCisJCSJwaXBlZnMiLAorCQkicHJvYyIsCisJCSJwc3RvcmUiLAorCQkicmFtZnMiLAorCQkicm9vdGZzIiwKKwkJInJwY19waXBlZnMiLAorCQkic2VjdXJpdHlmcyIsCisJCSJzb2NrZnMiLAorCQkic3B1ZnMiLAorCQkic3lzZnMiLAorCQkidG1wZnMiCisJfTsKKworCWFzc2VydCh0eXBlKTsKKworCXJldHVybiAhKGJzZWFyY2goJnR5cGUsIHBzZXVkb2ZzLCBBUlJBWV9TSVpFKHBzZXVkb2ZzKSwKKwkJCQlzaXplb2YoY2hhciopLCBmc3R5cGVfY21wKSA9PSBOVUxMKTsKK30KKworLyoqCisgKiBtbnRfZnN0eXBlX2lzX25ldGZzOgorICogQHR5cGU6IGZpbGVzeXN0ZW0gbmFtZQorICoKKyAqIFJldHVybnM6IDEgZm9yIGZpbGVzeXN0ZW1zIGxpa2UgY2lmcywgbmZzLCAuLi4gb3IgMC4KKyAqLworaW50IG1udF9mc3R5cGVfaXNfbmV0ZnMoY29uc3QgY2hhciAqdHlwZSkKK3sKKwlpZiAoc3RyY21wKHR5cGUsICJjaWZzIikgICA9PSAwIHx8CisJICAgIHN0cmNtcCh0eXBlLCAic21iZnMiKSAgPT0gMCB8fAorCSAgICBzdHJuY21wKHR5cGUsIm5mcyIsIDMpID09IDAgfHwKKwkgICAgc3RyY21wKHR5cGUsICJhZnMiKSAgICA9PSAwIHx8CisJICAgIHN0cmNtcCh0eXBlLCAibmNwZnMiKSAgPT0gMCB8fAorCSAgICBzdHJuY21wKHR5cGUsIjlwIiwgMikgID09IDApCisJCXJldHVybiAxOworCXJldHVybiAwOworfQorCitjb25zdCBjaGFyICptbnRfc3RhdGZzX2dldF9mc3R5cGUoc3RydWN0IHN0YXRmcyAqdmZzKQoreworCWFzc2VydCh2ZnMpOworCisJc3dpdGNoICh2ZnMtPmZfdHlwZSkgeworCWNhc2UgU1RBVEZTX0FERlNfTUFHSUM6CQlyZXR1cm4gImFkZnMiOworCWNhc2UgU1RBVEZTX0FGRlNfTUFHSUM6CQlyZXR1cm4gImFmZnMiOworCWNhc2UgU1RBVEZTX0FGU19NQUdJQzoJCXJldHVybiAiYWZzIjsKKwljYXNlIFNUQVRGU19BVVRPRlNfTUFHSUM6CXJldHVybiAiYXV0b2ZzIjsKKwljYXNlIFNUQVRGU19CREVWRlNfTUFHSUM6CXJldHVybiAiYmRldiI7CisJY2FzZSBTVEFURlNfQkVGU19NQUdJQzoJCXJldHVybiAiYmVmcyI7CisJY2FzZSBTVEFURlNfQkZTX01BR0lDOgkJcmV0dXJuICJiZWZzIjsKKwljYXNlIFNUQVRGU19CSU5GTVRGU19NQUdJQzoJcmV0dXJuICJiaW5mbXRfbWlzYyI7CisJY2FzZSBTVEFURlNfQlRSRlNfTUFHSUM6CXJldHVybiAiYnRyZnMiOworCWNhc2UgU1RBVEZTX0NFUEhfTUFHSUM6CQlyZXR1cm4gImNlcGgiOworCWNhc2UgU1RBVEZTX0NHUk9VUF9NQUdJQzoJcmV0dXJuICJjZ3JvdXAiOworCWNhc2UgU1RBVEZTX0NJRlNfTUFHSUM6CQlyZXR1cm4gImNpZnMiOworCWNhc2UgU1RBVEZTX0NPREFfTUFHSUM6CQlyZXR1cm4gImNvZGEiOworCWNhc2UgU1RBVEZTX0NPTkZJR0ZTX01BR0lDOglyZXR1cm4gImNvbmZpZ2ZzIjsKKwljYXNlIFNUQVRGU19DUkFNRlNfTUFHSUM6CXJldHVybiAiY3JhbWZzIjsKKwljYXNlIFNUQVRGU19ERUJVR0ZTX01BR0lDOglyZXR1cm4gImRlYnVnZnMiOworCWNhc2UgU1RBVEZTX0RFVlBUU19NQUdJQzoJcmV0dXJuICJkZXZwdHMiOworCWNhc2UgU1RBVEZTX0VDUllQVEZTX01BR0lDOglyZXR1cm4gImVjcnlwdGZzIjsKKwljYXNlIFNUQVRGU19FRklWQVJGU19NQUdJQzoJcmV0dXJuICJlZml2YXJmcyI7CisJY2FzZSBTVEFURlNfRUZTX01BR0lDOgkJcmV0dXJuICJlZnMiOworCWNhc2UgU1RBVEZTX0VYT0ZTX01BR0lDOglyZXR1cm4gImV4b2ZzIjsKKwljYXNlIFNUQVRGU19FWFQ0X01BR0lDOgkJcmV0dXJuICJleHQ0IjsJICAgLyogYWxsIGV4dE4gdXNlIHRoZSBzYW1lIG1hZ2ljICovCisJY2FzZSBTVEFURlNfRjJGU19NQUdJQzoJCXJldHVybiAiZjJmcyI7CisJY2FzZSBTVEFURlNfRlVTRV9NQUdJQzoJCXJldHVybiAiZnVzZSI7CisJY2FzZSBTVEFURlNfRlVURVhGU19NQUdJQzoJcmV0dXJuICJmdXRleGZzIjsKKwljYXNlIFNUQVRGU19HRlMyX01BR0lDOgkJcmV0dXJuICJnZnMyIjsKKwljYXNlIFNUQVRGU19IRlNQTFVTX01BR0lDOglyZXR1cm4gImhmc3BsdXMiOworCWNhc2UgU1RBVEZTX0hPU1RGU19NQUdJQzoJcmV0dXJuICJob3N0ZnMiOworCWNhc2UgU1RBVEZTX0hQRlNfTUFHSUM6CQlyZXR1cm4gImhwZnMiOworCWNhc2UgU1RBVEZTX0hQUEZTX01BR0lDOglyZXR1cm4gImhwcGZzIjsKKwljYXNlIFNUQVRGU19IVUdFVExCRlNfTUFHSUM6CXJldHVybiAiaHVnZXRsYmZzIjsKKwljYXNlIFNUQVRGU19JU09GU19NQUdJQzoJcmV0dXJuICJpc285NjYwIjsKKwljYXNlIFNUQVRGU19KRkZTMl9NQUdJQzoJcmV0dXJuICJqZmZzMiI7CisJY2FzZSBTVEFURlNfSkZTX01BR0lDOgkJcmV0dXJuICJqZnMiOworCWNhc2UgU1RBVEZTX0xPR0ZTX01BR0lDOglyZXR1cm4gImxvZ2ZzIjsKKwljYXNlIFNUQVRGU19NSU5JWDJfTUFHSUM6CisJY2FzZSBTVEFURlNfTUlOSVgyX01BR0lDMjoKKwljYXNlIFNUQVRGU19NSU5JWDNfTUFHSUM6CisJY2FzZSBTVEFURlNfTUlOSVhfTUFHSUM6CisJY2FzZSBTVEFURlNfTUlOSVhfTUFHSUMyOglyZXR1cm4gIm1pbml4IjsKKwljYXNlIFNUQVRGU19NUVVFVUVfTUFHSUM6CXJldHVybiAibXF1ZXVlIjsKKwljYXNlIFNUQVRGU19NU0RPU19NQUdJQzoJcmV0dXJuICJ2ZmF0IjsKKwljYXNlIFNUQVRGU19OQ1BfTUFHSUM6CQlyZXR1cm4gIm5jcCI7CisJY2FzZSBTVEFURlNfTkZTX01BR0lDOgkJcmV0dXJuICJuZnMiOworCWNhc2UgU1RBVEZTX05JTEZTX01BR0lDOglyZXR1cm4gIm5pbGZzMiI7CisJY2FzZSBTVEFURlNfTlRGU19NQUdJQzoJCXJldHVybiAibnRmcyI7CisJY2FzZSBTVEFURlNfT0NGUzJfTUFHSUM6CXJldHVybiAib2NmczIiOworCWNhc2UgU1RBVEZTX09NRlNfTUFHSUM6CQlyZXR1cm4gIm9tZnMiOworCWNhc2UgU1RBVEZTX09QRU5QUk9NRlNfTUFHSUM6CXJldHVybiAib3BlbnByb21mcyI7CisJY2FzZSBTVEFURlNfUElQRUZTX01BR0lDOglyZXR1cm4gInBpcGVmcyI7CisJY2FzZSBTVEFURlNfUFJPQ19NQUdJQzoJCXJldHVybiAicHJvYyI7CisJY2FzZSBTVEFURlNfUFNUT1JFRlNfTUFHSUM6CXJldHVybiAicHN0b3JlIjsKKwljYXNlIFNUQVRGU19RTlg0X01BR0lDOgkJcmV0dXJuICJxbng0IjsKKwljYXNlIFNUQVRGU19RTlg2X01BR0lDOgkJcmV0dXJuICJxbng2IjsKKwljYXNlIFNUQVRGU19SQU1GU19NQUdJQzoJcmV0dXJuICJyYW1mcyI7CisJY2FzZSBTVEFURlNfUkVJU0VSRlNfTUFHSUM6CXJldHVybiAicmVpc2VyNCI7CisJY2FzZSBTVEFURlNfUk9NRlNfTUFHSUM6CXJldHVybiAicm9tZnMiOworCWNhc2UgU1RBVEZTX1NFQ1VSSVRZRlNfTUFHSUM6CXJldHVybiAic2VjdXJpdHlmcyI7CisJY2FzZSBTVEFURlNfU0VMSU5VWEZTX01BR0lDOglyZXR1cm4gInNlbGludXhmcyI7CisJY2FzZSBTVEFURlNfU01BQ0tGU19NQUdJQzoJcmV0dXJuICJzbWFja2ZzIjsKKwljYXNlIFNUQVRGU19TTUJfTUFHSUM6CQlyZXR1cm4gInNtYiI7CisJY2FzZSBTVEFURlNfU09DS0ZTX01BR0lDOglyZXR1cm4gInNvY2tmcyI7CisJY2FzZSBTVEFURlNfU1FVQVNIRlNfTUFHSUM6CXJldHVybiAic3F1YXNoZnMiOworCWNhc2UgU1RBVEZTX1NZU0ZTX01BR0lDOglyZXR1cm4gInN5c2ZzIjsKKwljYXNlIFNUQVRGU19UTVBGU19NQUdJQzoJcmV0dXJuICJ0bXBmcyI7CisJY2FzZSBTVEFURlNfVUJJRlNfTUFHSUM6CXJldHVybiAidWJpZnMiOworCWNhc2UgU1RBVEZTX1VERl9NQUdJQzoJCXJldHVybiAidWRmIjsKKwljYXNlIFNUQVRGU19VRlMyX01BR0lDOgorCWNhc2UgU1RBVEZTX1VGU19NQUdJQzoJCXJldHVybiAidWZzIjsKKwljYXNlIFNUQVRGU19WOUZTX01BR0lDOgkJcmV0dXJuICI5cCI7CisJY2FzZSBTVEFURlNfVlhGU19NQUdJQzoJCXJldHVybiAidnhmcyI7CisJY2FzZSBTVEFURlNfWEVORlNfTUFHSUM6CXJldHVybiAieGVuZnMiOworCWNhc2UgU1RBVEZTX1hGU19NQUdJQzoJCXJldHVybiAieGZzIjsKKwlkZWZhdWx0OgorCQlicmVhazsKKwl9CisKKwlyZXR1cm4gTlVMTDsKK30KKworCisvKioKKyAqIG1udF9tYXRjaF9mc3R5cGU6CisgKiBAdHlwZTogZmlsZXN5c3RlbSB0eXBlCisgKiBAcGF0dGVybjogZmlsZXN5c3RlbSBuYW1lIG9yIGNvbW1hIGRlbGltaXRlZCBsaXN0IG9mIG5hbWVzCisgKgorICogVGhlIEBwYXR0ZXJuIGxpc3Qgb2YgZmlsZXN5c3RlbXMgY2FuIGJlIHByZWZpeGVkIHdpdGggYSBnbG9iYWwKKyAqICJubyIgcHJlZml4IHRvIGludmVydCBtYXRjaGluZyBvZiB0aGUgd2hvbGUgbGlzdC4gVGhlICJubyIgY291bGQKKyAqIGFsc28gYmUgdXNlZCBmb3IgaW5kaXZpZHVhbCBpdGVtcyBpbiB0aGUgQHBhdHRlcm4gbGlzdC4gU28sCisgKiAibm9mb28sYmFyIiBoYXMgdGhlIHNhbWUgbWVhbmluZyBhcyAibm9mb28sbm9iYXIiLgorICoKKyAqICJiYXIiICA6ICJub2ZvbyxiYXIiCQktPiBGYWxzZSAgIChnbG9iYWwgIm5vIiBwcmVmaXgpCisgKgorICogImJhciIgIDogImZvbyxiYXIiCQktPiBUcnVlCisgKgorICogImJhciIgOiAiZm9vLG5vYmFyIgkJLT4gRmFsc2UKKyAqCisgKiBSZXR1cm5zOiAxIGlmIHR5cGUgaXMgbWF0Y2hpbmcsIGVsc2UgMC4gVGhpcyBmdW5jdGlvbiBhbHNvIHJldHVybnMKKyAqICAgICAgICAgIDAgaWYgQHBhdHRlcm4gaXMgTlVMTCBhbmQgQHR5cGUgaXMgbm9uLU5VTEwuCisgKi8KK2ludCBtbnRfbWF0Y2hfZnN0eXBlKGNvbnN0IGNoYXIgKnR5cGUsIGNvbnN0IGNoYXIgKnBhdHRlcm4pCit7CisJcmV0dXJuIG1hdGNoX2ZzdHlwZSh0eXBlLCBwYXR0ZXJuKTsKK30KKworCisvKiBSZXR1cm5zIDEgaWYgbmVlZGxlIGZvdW5kIG9yIG5vbmVlZGxlIG5vdCBmb3VuZCBpbiBoYXlzdGFjaworICogT3RoZXJ3aXNlIHJldHVybnMgMAorICovCitzdGF0aWMgaW50IGNoZWNrX29wdGlvbihjb25zdCBjaGFyICpoYXlzdGFjaywgc2l6ZV90IGxlbiwKKwkJCWNvbnN0IGNoYXIgKm5lZWRsZSwgc2l6ZV90IG5lZWRsZV9sZW4pCit7CisJY29uc3QgY2hhciAqcDsKKwlpbnQgbm8gPSAwOworCisJaWYgKG5lZWRsZV9sZW4gPj0gMSAmJiAqbmVlZGxlID09ICcrJykgeworCQluZWVkbGUrKzsKKwkJbmVlZGxlX2xlbi0tOworCX0gZWxzZSBpZiAobmVlZGxlX2xlbiA+PSAyICYmICFzdHJuY21wKG5lZWRsZSwgIm5vIiwgMikpIHsKKwkJbm8gPSAxOworCQluZWVkbGUgKz0gMjsKKwkJbmVlZGxlX2xlbiAtPSAyOworCX0KKworCWZvciAocCA9IGhheXN0YWNrOyBwICYmIHAgPCBoYXlzdGFjayArIGxlbjsgcCsrKSB7CisJCWNoYXIgKnNlcCA9IHN0cmNocihwLCAnLCcpOworCQlzaXplX3QgcGxlbiA9IHNlcCA/IChzaXplX3QpIChzZXAgLSBwKSA6CisJCQkJICAgIGxlbiAtIChwIC0gaGF5c3RhY2spOworCisJCWlmIChwbGVuID09IG5lZWRsZV9sZW4gJiYgIXN0cm5jbXAocCwgbmVlZGxlLCBwbGVuKSkKKwkJCXJldHVybiAhbm87CS8qIGZvbyBvciBub2ZvbyB3YXMgZm91bmQgKi8KKwkJcCArPSBwbGVuOworCX0KKworCXJldHVybiBubzsgIC8qIGZvbyBvciBub2ZvbyB3YXMgbm90IGZvdW5kICovCit9CisKKy8qKgorICogbW50X21hdGNoX29wdGlvbnM6CisgKiBAb3B0c3RyOiBvcHRpb25zIHN0cmluZworICogQHBhdHRlcm46IGNvbW1hIGRlbGltaXRlZCBsaXN0IG9mIG9wdGlvbnMKKyAqCisgKiBUaGUgIm5vIiBjb3VsZCBiZSB1c2VkIGZvciBpbmRpdmlkdWFsIGl0ZW1zIGluIHRoZSBAb3B0aW9ucyBsaXN0LiBUaGUgIm5vIgorICogcHJlZml4IGRvZXMgbm90IGhhdmUgYSBnbG9iYWwgbWVhbmluZy4KKyAqCisgKiBVbmxpa2UgZnMgdHlwZSBtYXRjaGluZywgbm9uZXRkZXYsdXNlciBhbmQgbm9uZXRkZXYsbm91c2VyIGhhdmUKKyAqIERJRkZFUkVOVCBtZWFuaW5nczsgZWFjaCBvcHRpb24gaXMgbWF0Y2hlZCBleHBsaWNpdGx5IGFzIHNwZWNpZmllZC4KKyAqCisgKiBUaGUgIm5vIiBwcmVmaXggaW50ZXJwcmV0YXRpb24gY291bGQgYmUgZGlzYWJsZWQgYnkgdGhlICIrIiBwcmVmaXgsIGZvciBleGFtcGxlCisgKiAiK25vYXV0byIgbWF0Y2hlcyBpZiBAb3B0c3RyIGxpdGVyYWxseSBjb250YWlucyB0aGUgIm5vYXV0byIgc3RyaW5nLgorICoKKyAqICJ4eHgseXl5LHp6eiIgOiAibm96enoiCS0+IEZhbHNlCisgKgorICogInh4eCx5eXksenp6IiA6ICJ4eHgsbm9lZWUiCS0+IFRydWUKKyAqCisgKiAiYmFyLHp6eiIgICAgIDogIm5vZm9vIiAgICAgIC0+IFRydWUKKyAqCisgKiAibm9mb28sYmFyIiAgIDogIitub2ZvbyIgICAgIC0+IFRydWUKKyAqCisgKiAiYmFyLHp6eiIgICAgIDogIitub2ZvbyIgICAgIC0+IEZhbHNlCisgKgorICoKKyAqIFJldHVybnM6IDEgaWYgcGF0dGVybiBpcyBtYXRjaGluZywgZWxzZSAwLiBUaGlzIGZ1bmN0aW9uIGFsc28gcmV0dXJucyAwCisgKiAgICAgICAgICBpZiBAcGF0dGVybiBpcyBOVUxMIGFuZCBAb3B0c3RyIGlzIG5vbi1OVUxMLgorICovCitpbnQgbW50X21hdGNoX29wdGlvbnMoY29uc3QgY2hhciAqb3B0c3RyLCBjb25zdCBjaGFyICpwYXR0ZXJuKQoreworCWNvbnN0IGNoYXIgKnA7CisJc2l6ZV90IGxlbiwgb3B0c3RyX2xlbiA9IDA7CisKKwlpZiAoIXBhdHRlcm4gJiYgIW9wdHN0cikKKwkJcmV0dXJuIDE7CisJaWYgKCFwYXR0ZXJuKQorCQlyZXR1cm4gMDsKKworCWxlbiA9IHN0cmxlbihwYXR0ZXJuKTsKKwlpZiAob3B0c3RyKQorCQlvcHRzdHJfbGVuID0gc3RybGVuKG9wdHN0cik7CisKKwlmb3IgKHAgPSBwYXR0ZXJuOyBwIDwgcGF0dGVybiArIGxlbjsgcCsrKSB7CisJCWNoYXIgKnNlcCA9IHN0cmNocihwLCAnLCcpOworCQlzaXplX3QgcGxlbiA9IHNlcCA/IChzaXplX3QpIChzZXAgLSBwKSA6CisJCQkJICAgIGxlbiAtIChwIC0gcGF0dGVybik7CisKKwkJaWYgKCFwbGVuKQorCQkJY29udGludWU7IC8qIGlmIHR3byAnLCcgYXBwZWFyIGluIGEgcm93ICovCisKKwkJaWYgKCFjaGVja19vcHRpb24ob3B0c3RyLCBvcHRzdHJfbGVuLCBwLCBwbGVuKSkKKwkJCXJldHVybiAwOyAvKiBhbnkgbWF0Y2ggZmFpbHVyZSBtZWFucyBmYWlsdXJlICovCisKKwkJcCArPSBwbGVuOworCX0KKworCS8qIG5vIG1hdGNoIGZhaWx1cmVzIGluIGxpc3QgbWVhbnMgc3VjY2VzcyAqLworCXJldHVybiAxOworfQorCit2b2lkIG1udF9mcmVlX2ZpbGVzeXN0ZW1zKGNoYXIgKipmaWxlc3lzdGVtcykKK3sKKwljaGFyICoqcDsKKworCWlmICghZmlsZXN5c3RlbXMpCisJCXJldHVybjsKKwlmb3IgKHAgPSBmaWxlc3lzdGVtczsgKnA7IHArKykKKwkJZnJlZSgqcCk7CisJZnJlZShmaWxlc3lzdGVtcyk7Cit9CisKK3N0YXRpYyBpbnQgYWRkX2ZpbGVzeXN0ZW0oY2hhciAqKipmaWxlc3lzdGVtcywgY2hhciAqbmFtZSkKK3sKKwlpbnQgbiA9IDA7CisKKwlhc3NlcnQoZmlsZXN5c3RlbXMpOworCWFzc2VydChuYW1lKTsKKworCWlmICgqZmlsZXN5c3RlbXMpIHsKKwkJY2hhciAqKnA7CisJCWZvciAobiA9IDAsIHAgPSAqZmlsZXN5c3RlbXM7ICpwOyBwKyssIG4rKykgeworCQkJaWYgKHN0cmNtcCgqcCwgbmFtZSkgPT0gMCkKKwkJCQlyZXR1cm4gMDsKKwkJfQorCX0KKworCSNkZWZpbmUgTVlDSFVOSwkxNgorCisJaWYgKG4gPT0gMCB8fCAhKChuICsgMSkgJSBNWUNIVU5LKSkgeworCQlzaXplX3QgaXRlbXMgPSAoKG4gKyAxICsgTVlDSFVOSykgLyBNWUNIVU5LKSAqIE1ZQ0hVTks7CisJCWNoYXIgKip4ID0gcmVhbGxvYygqZmlsZXN5c3RlbXMsIGl0ZW1zICogc2l6ZW9mKGNoYXIgKikpOworCisJCWlmICgheCkKKwkJCWdvdG8gZXJyOworCQkqZmlsZXN5c3RlbXMgPSB4OworCX0KKwluYW1lID0gc3RyZHVwKG5hbWUpOworCSgqZmlsZXN5c3RlbXMpW25dID0gbmFtZTsKKwkoKmZpbGVzeXN0ZW1zKVtuICsgMV0gPSBOVUxMOworCWlmICghbmFtZSkKKwkJZ290byBlcnI7CisJcmV0dXJuIDA7CitlcnI6CisJbW50X2ZyZWVfZmlsZXN5c3RlbXMoKmZpbGVzeXN0ZW1zKTsKKwlyZXR1cm4gLUVOT01FTTsKK30KKworc3RhdGljIGludCBnZXRfZmlsZXN5c3RlbXMoY29uc3QgY2hhciAqZmlsZW5hbWUsIGNoYXIgKioqZmlsZXN5c3RlbXMsIGNvbnN0IGNoYXIgKnBhdHRlcm4pCit7CisJaW50IHJjID0gMDsKKwlGSUxFICpmOworCWNoYXIgbGluZVsxMjldOworCisJZiA9IGZvcGVuKGZpbGVuYW1lLCAiciIgVUxfQ0xPRVhFQ1NUUik7CisJaWYgKCFmKQorCQlyZXR1cm4gMTsKKworCURCRyhVVElMUywgdWxfZGVidWcoInJlYWRpbmcgZmlsZXN5c3RlbXMgbGlzdCBmcm9tOiAlcyIsIGZpbGVuYW1lKSk7CisKKwl3aGlsZSAoZmdldHMobGluZSwgc2l6ZW9mKGxpbmUpLCBmKSkgeworCQljaGFyIG5hbWVbc2l6ZW9mKGxpbmUpXTsKKworCQlpZiAoKmxpbmUgPT0gJyMnIHx8IHN0cm5jbXAobGluZSwgIm5vZGV2IiwgNSkgPT0gMCkKKwkJCWNvbnRpbnVlOworCQlpZiAoc3NjYW5mKGxpbmUsICIgJTEyOFteXG4gXVxuIiwgbmFtZSkgIT0gMSkKKwkJCWNvbnRpbnVlOworCQlpZiAoc3RyY21wKG5hbWUsICIqIikgPT0gMCkgeworCQkJcmMgPSAxOworCQkJYnJlYWs7CQkvKiBlbmQgb2YgdGhlIC9ldGMvZmlsZXN5c3RlbXMgKi8KKwkJfQorCQlpZiAocGF0dGVybiAmJiAhbW50X21hdGNoX2ZzdHlwZShuYW1lLCBwYXR0ZXJuKSkKKwkJCWNvbnRpbnVlOworCQlyYyA9IGFkZF9maWxlc3lzdGVtKGZpbGVzeXN0ZW1zLCBuYW1lKTsKKwkJaWYgKHJjKQorCQkJYnJlYWs7CisJfQorCisJZmNsb3NlKGYpOworCXJldHVybiByYzsKK30KKworLyoKKyAqIEFsd2F5cyBjaGVjayB0aGUgQGZpbGVzeXN0ZW1zIHBvaW50ZXIhCisgKgorICogbWFuIG1vdW50OgorICoKKyAqIC4uLm1vdW50IHdpbGwgdHJ5IHRvIHJlYWQgdGhlIGZpbGUgL2V0Yy9maWxlc3lzdGVtcywgb3IsIGlmIHRoYXQgZG9lcyBub3QKKyAqIGV4aXN0LCAvcHJvYy9maWxlc3lzdGVtcy4gQWxsIG9mIHRoZSBmaWxlc3lzdGVtICB0eXBlcyAgbGlzdGVkICB0aGVyZSAgd2lsbAorICogYmUgdHJpZWQsICBleGNlcHQgIGZvciAgdGhvc2UgIHRoYXQgIGFyZSAgbGFiZWxlZCAgIm5vZGV2IiAgKGUuZy4sICBkZXZwdHMsCisgKiBwcm9jICBhbmQgIG5mcykuICBJZiAvZXRjL2ZpbGVzeXN0ZW1zIGVuZHMgaW4gYSBsaW5lIHdpdGggYSBzaW5nbGUgKiBvbmx5LAorICogbW91bnQgd2lsbCByZWFkIC9wcm9jL2ZpbGVzeXN0ZW1zIGFmdGVyd2FyZHMuCisgKi8KK2ludCBtbnRfZ2V0X2ZpbGVzeXN0ZW1zKGNoYXIgKioqZmlsZXN5c3RlbXMsIGNvbnN0IGNoYXIgKnBhdHRlcm4pCit7CisJaW50IHJjOworCisJaWYgKCFmaWxlc3lzdGVtcykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkqZmlsZXN5c3RlbXMgPSBOVUxMOworCisJcmMgPSBnZXRfZmlsZXN5c3RlbXMoX1BBVEhfRklMRVNZU1RFTVMsIGZpbGVzeXN0ZW1zLCBwYXR0ZXJuKTsKKwlpZiAocmMgIT0gMSkKKwkJcmV0dXJuIHJjOworCisJcmMgPSBnZXRfZmlsZXN5c3RlbXMoX1BBVEhfUFJPQ19GSUxFU1lTVEVNUywgZmlsZXN5c3RlbXMsIHBhdHRlcm4pOworCWlmIChyYyA9PSAxICYmICpmaWxlc3lzdGVtcykKKwkJcmMgPSAwOwkJCS8qIC9wcm9jL2ZpbGVzeXN0ZW1zIG5vdCBmb3VuZCAqLworCisJcmV0dXJuIHJjOworfQorCisvKgorICogUmV0dXJucyBhbiBhbGxvY2F0ZWQgc3RyaW5nIHdpdGggdXNlcm5hbWUgb3IgTlVMTC4KKyAqLworY2hhciAqbW50X2dldF91c2VybmFtZShjb25zdCB1aWRfdCB1aWQpCit7CisgICAgICAgIHN0cnVjdCBwYXNzd2QgcHdkOworCXN0cnVjdCBwYXNzd2QgKnJlczsKKwljaGFyICpidWYsICp1c2VybmFtZSA9IE5VTEw7CisKKwlidWYgPSBtYWxsb2MoVUxfR0VUUFdfQlVGU0laKTsKKwlpZiAoIWJ1ZikKKwkJcmV0dXJuIE5VTEw7CisKKwlpZiAoIWdldHB3dWlkX3IodWlkLCAmcHdkLCBidWYsIFVMX0dFVFBXX0JVRlNJWiwgJnJlcykgJiYgcmVzKQorCQl1c2VybmFtZSA9IHN0cmR1cChwd2QucHdfbmFtZSk7CisKKwlmcmVlKGJ1Zik7CisJcmV0dXJuIHVzZXJuYW1lOworfQorCitpbnQgbW50X2dldF91aWQoY29uc3QgY2hhciAqdXNlcm5hbWUsIHVpZF90ICp1aWQpCit7CisJaW50IHJjID0gLTE7CisgICAgICAgIHN0cnVjdCBwYXNzd2QgcHdkOworCXN0cnVjdCBwYXNzd2QgKnB3OworCWNoYXIgKmJ1ZjsKKworCWlmICghdXNlcm5hbWUgfHwgIXVpZCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlidWYgPSBtYWxsb2MoVUxfR0VUUFdfQlVGU0laKTsKKwlpZiAoIWJ1ZikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlpZiAoIWdldHB3bmFtX3IodXNlcm5hbWUsICZwd2QsIGJ1ZiwgVUxfR0VUUFdfQlVGU0laLCAmcHcpICYmIHB3KSB7CisJCSp1aWQ9IHB3LT5wd191aWQ7CisJCXJjID0gMDsKKwl9IGVsc2UgeworCQlEQkcoVVRJTFMsIHVsX2RlYnVnKAorCQkJImNhbm5vdCBjb252ZXJ0ICclcycgdXNlcm5hbWUgdG8gVUlEIiwgdXNlcm5hbWUpKTsKKwkJcmMgPSBlcnJubyA/IC1lcnJubyA6IC1FSU5WQUw7CisJfQorCisJZnJlZShidWYpOworCXJldHVybiByYzsKK30KKworaW50IG1udF9nZXRfZ2lkKGNvbnN0IGNoYXIgKmdyb3VwbmFtZSwgZ2lkX3QgKmdpZCkKK3sKKwlpbnQgcmMgPSAtMTsKKyAgICAgICAgc3RydWN0IGdyb3VwIGdycDsKKwlzdHJ1Y3QgZ3JvdXAgKmdyOworCWNoYXIgKmJ1ZjsKKworCWlmICghZ3JvdXBuYW1lIHx8ICFnaWQpCisJCXJldHVybiAtRUlOVkFMOworCisJYnVmID0gbWFsbG9jKFVMX0dFVFBXX0JVRlNJWik7CisJaWYgKCFidWYpCisJCXJldHVybiAtRU5PTUVNOworCisJaWYgKCFnZXRncm5hbV9yKGdyb3VwbmFtZSwgJmdycCwgYnVmLCBVTF9HRVRQV19CVUZTSVosICZncikgJiYgZ3IpIHsKKwkJKmdpZD0gZ3ItPmdyX2dpZDsKKwkJcmMgPSAwOworCX0gZWxzZSB7CisJCURCRyhVVElMUywgdWxfZGVidWcoCisJCQkiY2Fubm90IGNvbnZlcnQgJyVzJyBncm91cG5hbWUgdG8gR0lEIiwgZ3JvdXBuYW1lKSk7CisJCXJjID0gZXJybm8gPyAtZXJybm8gOiAtRUlOVkFMOworCX0KKworCWZyZWUoYnVmKTsKKwlyZXR1cm4gcmM7Cit9CisKK2ludCBtbnRfaW5fZ3JvdXAoZ2lkX3QgZ2lkKQoreworCWludCByYyA9IDAsIG4sIGk7CisJZ2lkX3QgKmdycHMgPSBOVUxMOworCisJaWYgKGdldGdpZCgpID09IGdpZCkKKwkJcmV0dXJuIDE7CisKKwluID0gZ2V0Z3JvdXBzKDAsIE5VTEwpOworCWlmIChuIDw9IDApCisJCWdvdG8gZG9uZTsKKworCWdycHMgPSBtYWxsb2MobiAqIHNpemVvZigqZ3JwcykpOworCWlmICghZ3JwcykKKwkJZ290byBkb25lOworCisJaWYgKGdldGdyb3VwcyhuLCBncnBzKSA9PSBuKSB7CisJCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKKwkJCWlmIChncnBzW2ldID09IGdpZCkgeworCQkJCXJjID0gMTsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCX0KK2RvbmU6CisJZnJlZShncnBzKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdHJ5X3dyaXRlKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQoreworCWludCBmZDsKKworCWlmICghZmlsZW5hbWUpCisJCXJldHVybiAtRUlOVkFMOworCisJZmQgPSBvcGVuKGZpbGVuYW1lLCBPX1JEV1J8T19DUkVBVHxPX0NMT0VYRUMsCisJCQkgICAgU19JV1VTUnxTX0lSVVNSfFNfSVJHUlB8U19JUk9USCk7CisJaWYgKGZkID49IDApIHsKKwkJY2xvc2UoZmQpOworCQlyZXR1cm4gMDsKKwl9CisJcmV0dXJuIC1lcnJubzsKK30KKworLyoqCisgKiBtbnRfaGFzX3JlZ3VsYXJfbXRhYjoKKyAqIEBtdGFiOiByZXR1cm5zIHBhdGggdG8gbXRhYgorICogQHdyaXRhYmxlOiByZXR1cm5zIDEgaWYgdGhlIGZpbGUgaXMgd3JpdGFibGUKKyAqCisgKiBJZiB0aGUgZmlsZSBkb2VzIG5vdCBleGlzdCBhbmQgQHdyaXRhYmxlIGFyZ3VtZW50IGlzIG5vdCBOVUxMLCB0aGVuIGl0IHdpbGwKKyAqIHRyeSB0byBjcmVhdGUgdGhlIGZpbGUuCisgKgorICogUmV0dXJuczogMSBpZiAvZXRjL210YWIgaXMgYSByZWd1bGFyIGZpbGUsIGFuZCAwIGluIGNhc2Ugb2YgZXJyb3IgKGNoZWNrCisgKiAgICAgICAgICBlcnJubyBmb3IgbW9yZSBkZXRhaWxzKS4KKyAqLworaW50IG1udF9oYXNfcmVndWxhcl9tdGFiKGNvbnN0IGNoYXIgKiptdGFiLCBpbnQgKndyaXRhYmxlKQoreworCXN0cnVjdCBzdGF0IHN0OworCWludCByYzsKKwljb25zdCBjaGFyICpmaWxlbmFtZSA9IG10YWIgJiYgKm10YWIgPyAqbXRhYiA6IG1udF9nZXRfbXRhYl9wYXRoKCk7CisKKwlpZiAod3JpdGFibGUpCisJCSp3cml0YWJsZSA9IDA7CisJaWYgKG10YWIgJiYgISptdGFiKQorCQkqbXRhYiA9IGZpbGVuYW1lOworCisJREJHKFVUSUxTLCB1bF9kZWJ1ZygibXRhYjogJXMiLCBmaWxlbmFtZSkpOworCisJcmMgPSBsc3RhdChmaWxlbmFtZSwgJnN0KTsKKworCWlmIChyYyA9PSAwKSB7CisJCS8qIGZpbGUgZXhpc3RzICovCisJCWlmIChTX0lTUkVHKHN0LnN0X21vZGUpKSB7CisJCQlpZiAod3JpdGFibGUpCisJCQkJKndyaXRhYmxlID0gIXRyeV93cml0ZShmaWxlbmFtZSk7CisJCQlEQkcoVVRJTFMsIHVsX2RlYnVnKCIlczogd3JpdGFibGUiLCBmaWxlbmFtZSkpOworCQkJcmV0dXJuIDE7CisJCX0KKwkJZ290byBkb25lOworCX0KKworCS8qIHRyeSB0byBjcmVhdGUgdGhlIGZpbGUgKi8KKwlpZiAod3JpdGFibGUpIHsKKwkJKndyaXRhYmxlID0gIXRyeV93cml0ZShmaWxlbmFtZSk7CisJCWlmICgqd3JpdGFibGUpIHsKKwkJCURCRyhVVElMUywgdWxfZGVidWcoIiVzOiB3cml0YWJsZSIsIGZpbGVuYW1lKSk7CisJCQlyZXR1cm4gMTsKKwkJfQorCX0KKworZG9uZToKKwlEQkcoVVRJTFMsIHVsX2RlYnVnKCIlczogaXJyZWd1bGFyL25vbi13cml0YWJsZSIsIGZpbGVuYW1lKSk7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBEb24ndCBleHBvcnQgdGhpcyB0byBsaWJtb3VudCBBUEkgLS0gdXRhYiBpcyBwcml2YXRlIGxpYnJhcnkgc3R1ZmYuCisgKgorICogSWYgdGhlIGZpbGUgZG9lcyBub3QgZXhpc3QgYW5kIEB3cml0YWJsZSBhcmd1bWVudCBpcyBub3QgTlVMTCwgdGhlbiBpdCB3aWxsCisgKiB0cnkgdG8gY3JlYXRlIHRoZSBkaXJlY3RvcnkgKGUuZy4gL3J1bi9tb3VudCkgYW5kIHRoZSBmaWxlLgorICoKKyAqIFJldHVybnM6IDEgaWYgdXRhYiBpcyBhIHJlZ3VsYXIgZmlsZSwgYW5kIDAgaW4gY2FzZSBvZgorICogICAgICAgICAgZXJyb3IgKGNoZWNrIGVycm5vIGZvciBtb3JlIGRldGFpbHMpLgorICovCitpbnQgbW50X2hhc19yZWd1bGFyX3V0YWIoY29uc3QgY2hhciAqKnV0YWIsIGludCAqd3JpdGFibGUpCit7CisJc3RydWN0IHN0YXQgc3Q7CisJaW50IHJjOworCWNvbnN0IGNoYXIgKmZpbGVuYW1lID0gdXRhYiAmJiAqdXRhYiA/ICp1dGFiIDogbW50X2dldF91dGFiX3BhdGgoKTsKKworCWlmICh3cml0YWJsZSkKKwkJKndyaXRhYmxlID0gMDsKKwlpZiAodXRhYiAmJiAhKnV0YWIpCisJCSp1dGFiID0gZmlsZW5hbWU7CisKKwlEQkcoVVRJTFMsIHVsX2RlYnVnKCJ1dGFiOiAlcyIsIGZpbGVuYW1lKSk7CisKKwlyYyA9IGxzdGF0KGZpbGVuYW1lLCAmc3QpOworCisJaWYgKHJjID09IDApIHsKKwkJLyogZmlsZSBleGlzdHMgKi8KKwkJaWYgKFNfSVNSRUcoc3Quc3RfbW9kZSkpIHsKKwkJCWlmICh3cml0YWJsZSkKKwkJCQkqd3JpdGFibGUgPSAhdHJ5X3dyaXRlKGZpbGVuYW1lKTsKKwkJCXJldHVybiAxOworCQl9CisJCWdvdG8gZG9uZTsJLyogaXQncyBub3QgYSByZWd1bGFyIGZpbGUgKi8KKwl9CisKKwlpZiAod3JpdGFibGUpIHsKKwkJY2hhciAqZGlybmFtZSA9IHN0cmR1cChmaWxlbmFtZSk7CisKKwkJaWYgKCFkaXJuYW1lKQorCQkJZ290byBkb25lOworCisJCXN0cmlwb2ZmX2xhc3RfY29tcG9uZW50KGRpcm5hbWUpOwkvKiByZW1vdmUgZmlsZW5hbWUgKi8KKworCQlyYyA9IG1rZGlyKGRpcm5hbWUsIFNfSVdVU1J8CisJCQkJICAgIFNfSVJVU1J8U19JUkdSUHxTX0lST1RIfAorCQkJCSAgICBTX0lYVVNSfFNfSVhHUlB8U19JWE9USCk7CisJCWZyZWUoZGlybmFtZSk7CisJCWlmIChyYyAmJiBlcnJubyAhPSBFRVhJU1QpCisJCQlnb3RvIGRvbmU7CQkJLyogcHJvYmFibHkgRUFDQ0VTICovCisKKwkJKndyaXRhYmxlID0gIXRyeV93cml0ZShmaWxlbmFtZSk7CisJCWlmICgqd3JpdGFibGUpCisJCQlyZXR1cm4gMTsKKwl9Citkb25lOgorCURCRyhVVElMUywgdWxfZGVidWcoIiVzOiBpcnJlZ3VsYXIvbm9uLXdyaXRhYmxlIGZpbGUiLCBmaWxlbmFtZSkpOworCXJldHVybiAwOworfQorCisvKioKKyAqIG1udF9nZXRfc3dhcHNfcGF0aDoKKyAqCisgKiBSZXR1cm5zOiBwYXRoIHRvIC9wcm9jL3N3YXBzIG9yICRMSUJNT1VOVF9TV0FQUy4KKyAqLworY29uc3QgY2hhciAqbW50X2dldF9zd2Fwc19wYXRoKHZvaWQpCit7CisJY29uc3QgY2hhciAqcCA9IHNhZmVfZ2V0ZW52KCJMSUJNT1VOVF9TV0FQUyIpOworCXJldHVybiBwID8gOiBfUEFUSF9QUk9DX1NXQVBTOworfQorCisvKioKKyAqIG1udF9nZXRfZnN0YWJfcGF0aDoKKyAqCisgKiBSZXR1cm5zOiBwYXRoIHRvIC9ldGMvZnN0YWIgb3IgJExJQk1PVU5UX0ZTVEFCLgorICovCitjb25zdCBjaGFyICptbnRfZ2V0X2ZzdGFiX3BhdGgodm9pZCkKK3sKKwljb25zdCBjaGFyICpwID0gc2FmZV9nZXRlbnYoIkxJQk1PVU5UX0ZTVEFCIik7CisJcmV0dXJuIHAgPyA6IF9QQVRIX01OVFRBQjsKK30KKworLyoqCisgKiBtbnRfZ2V0X210YWJfcGF0aDoKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlICpkZWZhdWx0KiBsb2NhdGlvbiBvZiB0aGUgbXRhYiBmaWxlLiBUaGUgcmVzdWx0IGRvZXMKKyAqIG5vdCBoYXZlIHRvIGJlIHdyaXRhYmxlLiBTZWUgYWxzbyBtbnRfaGFzX3JlZ3VsYXJfbXRhYigpLgorICoKKyAqIFJldHVybnM6IHBhdGggdG8gL2V0Yy9tdGFiIG9yICRMSUJNT1VOVF9NVEFCLgorICovCitjb25zdCBjaGFyICptbnRfZ2V0X210YWJfcGF0aCh2b2lkKQoreworCWNvbnN0IGNoYXIgKnAgPSBzYWZlX2dldGVudigiTElCTU9VTlRfTVRBQiIpOworCXJldHVybiBwID8gOiBfUEFUSF9NT1VOVEVEOworfQorCisvKgorICogRG9uJ3QgZXhwb3J0IHRoaXMgdG8gbGlibW91bnQgQVBJIC0tIHV0YWIgaXMgcHJpdmF0ZSBsaWJyYXJ5IHN0dWZmLgorICoKKyAqIFJldHVybnM6IHBhdGggdG8gL3J1bi9tb3VudC91dGFiIChvciAvZGV2Ly5tb3VudC91dGFiKSBvciAkTElCTU9VTlRfVVRBQi4KKyAqLworY29uc3QgY2hhciAqbW50X2dldF91dGFiX3BhdGgodm9pZCkKK3sKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwljb25zdCBjaGFyICpwID0gc2FmZV9nZXRlbnYoIkxJQk1PVU5UX1VUQUIiKTsKKworCWlmIChwKQorCQlyZXR1cm4gcDsKKworCWlmIChzdGF0KE1OVF9SVU5USU1FX1RPUERJUiwgJnN0KSA9PSAwKQorCQlyZXR1cm4gTU5UX1BBVEhfVVRBQjsKKworCXJldHVybiBNTlRfUEFUSF9VVEFCX09MRDsKK30KKworCisvKiByZXR1cm5zIGZpbGUgZGVzY3JpcHRvciBvciAtZXJybm8sIEBuYW1lIHJldHVybnMgYSB1bmlxdWUgZmlsZW5hbWUKKyAqLworaW50IG1udF9vcGVuX3VuaXFfZmlsZW5hbWUoY29uc3QgY2hhciAqZmlsZW5hbWUsIGNoYXIgKipuYW1lKQoreworCWludCByYywgZmQ7CisJY2hhciAqbjsKKwltb2RlX3Qgb2xkbW9kZTsKKworCWlmICghZmlsZW5hbWUpCisJCXJldHVybiAtRUlOVkFMOworCWlmIChuYW1lKQorCQkqbmFtZSA9IE5VTEw7CisKKwlyYyA9IGFzcHJpbnRmKCZuLCAiJXMuWFhYWFhYIiwgZmlsZW5hbWUpOworCWlmIChyYyA8PSAwKQorCQlyZXR1cm4gLWVycm5vOworCisJLyogVGhpcyBpcyBmb3IgdmVyeSBvbGQgZ2xpYmMgYW5kIGZvciBjb21wYXRpYmlsaXR5IHdpdGggUG9zaXgsIHdoaWNoIHNheXMKKwkgKiBub3RoaW5nIGFib3V0IG1rc3RlbXAoKSBtb2RlLiBBbGwgc2FuZSBnbGliYyB1c2Ugc2VjdXJlIG1vZGUgKDA2MDApLgorCSAqLworCW9sZG1vZGUgPSB1bWFzayhTX0lSR1JQfFNfSVdHUlB8U19JWEdSUHwKKwkJCVNfSVJPVEh8U19JV09USHxTX0lYT1RIKTsKKwlmZCA9IG1rb3N0ZW1wKG4sIE9fUkRXUnxPX0NSRUFUfE9fRVhDTHxPX0NMT0VYRUMpOworCWlmIChmZCA8IDApCisJCWZkID0gLWVycm5vOworCXVtYXNrKG9sZG1vZGUpOworCisJaWYgKGZkID49IDAgJiYgbmFtZSkKKwkJKm5hbWUgPSBuOworCWVsc2UKKwkJZnJlZShuKTsKKworCXJldHVybiBmZDsKK30KKworLyoqCisgKiBtbnRfZ2V0X21vdW50cG9pbnQ6CisgKiBAcGF0aDogcGF0aG5hbWUKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGZpbmRzIHRoZSBtb3VudHBvaW50IHRoYXQgYSBnaXZlbiBwYXRoIHJlc2lkZXMgaW4uIEBwYXRoCisgKiBzaG91bGQgYmUgY2Fub25pY2FsaXplZC4gVGhlIHJldHVybmVkIHBvaW50ZXIgc2hvdWxkIGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIuCisgKgorICogV0FSTklORzogdGhlIGZ1bmN0aW9uIGNvbXBhcmVzIHN0X2RldiBvZiB0aGUgQHBhdGggZWxlbWVudHMuIFRoaXMgdHJhZGl0aW9uYWwKKyAqIHdheSBtYXliZSBiZSBpbnN1ZmZpY2llbnQgb24gZmlsZXN5c3RlbXMgbGlrZSBMaW51eCAib3ZlcmxheSIuIFNlZSBhbHNvCisgKiBtbnRfdGFibGVfZmluZF90YXJnZXQoKS4KKyAqCisgKiBSZXR1cm5zOiBhbGxvY2F0ZWQgc3RyaW5nIHdpdGggdGhlIHRhcmdldCBvZiB0aGUgbW91bnRlZCBkZXZpY2Ugb3IgTlVMTCBvbiBlcnJvcgorICovCitjaGFyICptbnRfZ2V0X21vdW50cG9pbnQoY29uc3QgY2hhciAqcGF0aCkKK3sKKwljaGFyICptbnQ7CisJc3RydWN0IHN0YXQgc3Q7CisJZGV2X3QgZGlyLCBiYXNlOworCisJaWYgKCFwYXRoKQorCQlyZXR1cm4gTlVMTDsKKworCW1udCA9IHN0cmR1cChwYXRoKTsKKwlpZiAoIW1udCkKKwkJcmV0dXJuIE5VTEw7CisJaWYgKCptbnQgPT0gJy8nICYmICoobW50ICsgMSkgPT0gJ1wwJykKKwkJZ290byBkb25lOworCisJaWYgKG1udF9zdGF0X21vdW50cG9pbnQobW50LCAmc3QpKQorCQlnb3RvIGVycjsKKwliYXNlID0gc3Quc3RfZGV2OworCisJZG8geworCQljaGFyICpwID0gc3RyaXBvZmZfbGFzdF9jb21wb25lbnQobW50KTsKKworCQlpZiAoIXApCisJCQlicmVhazsKKwkJaWYgKG1udF9zdGF0X21vdW50cG9pbnQoKm1udCA/IG1udCA6ICIvIiwgJnN0KSkKKwkJCWdvdG8gZXJyOworCQlkaXIgPSBzdC5zdF9kZXY7CisJCWlmIChkaXIgIT0gYmFzZSkgeworCQkJaWYgKHAgPiBtbnQpCisJCQkJKihwIC0gMSkgPSAnLyc7CisJCQlnb3RvIGRvbmU7CisJCX0KKwkJYmFzZSA9IGRpcjsKKwl9IHdoaWxlIChtbnQgJiYgKihtbnQgKyAxKSAhPSAnXDAnKTsKKworCW1lbWNweShtbnQsICIvIiwgMik7Citkb25lOgorCURCRyhVVElMUywgdWxfZGVidWcoIiVzIG1vdW50cG9pbnQgaXMgJXMiLCBwYXRoLCBtbnQpKTsKKwlyZXR1cm4gbW50OworZXJyOgorCWZyZWUobW50KTsKKwlyZXR1cm4gTlVMTDsKK30KKworLyoKKyAqIFNlYXJjaCBmb3IgQG5hbWUga2VybmVsIGNvbW1hbmQgcGFyYW1ldGVyLgorICoKKyAqIFJldHVybnMgbmV3bHkgYWxsb2NhdGVkIHN0cmluZyB3aXRoIGEgcGFyYW1ldGVyIGFyZ3VtZW50IGlmIHRoZSBAbmFtZSBpcworICogc3BlY2lmaWVkIGFzICJuYW1lPSIgb3IgcmV0dXJucyBwb2ludGVyIHRvIEBuYW1lIG9yIHJldHVybnMgTlVMTCBpZiBub3QKKyAqIGZvdW5kLiAgSWYgaXQgaXMgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlLCB3ZSBncmFiIHRoZSBsYXN0IGNvcHkuCisgKgorICogRm9yIGV4YW1wbGUgY21kbGluZTogImFhYSBiYmI9QkJCIGNjYyIKKyAqCisgKglAbmFtZSBpcyAiYWFhIgktLXJldHVybnMtLT4gImFhYSIgKHBvaW50ZXIgdG8gQG5hbWUpCisgKglAbmFtZSBpcyAiYmJiPSIgLS1yZXR1cm5zLS0+ICJCQkIiIChhbGxvY2F0ZWQpCisgKglAbmFtZSBpcyAiZm9vIiAgLS1yZXR1cm5zLS0+IE5VTEwKKyAqCisgKiBOb3RlOiBJdCBpcyBub3QgcmVhbGx5IGZlYXNpYmxlIHRvIHBhcnNlIHRoZSBjb21tYW5kIGxpbmUgZXhhY3RseSB0aGUgc2FtZQorICogYXMgdGhlIGtlcm5lbCBkb2VzIHNpbmNlIHdlIGRvbid0IGtub3cgd2hpY2ggb3B0aW9ucyBhcmUgdmFsaWQuICBXZSBjYW4gdXNlCisgKiB0aGUgLS0gbWFya2VyIHRob3VnaCBhbmQgbm90IHdhbGsgcGFzdCB0aGF0LgorICovCitjaGFyICptbnRfZ2V0X2tlcm5lbF9jbWRsaW5lX29wdGlvbihjb25zdCBjaGFyICpuYW1lKQoreworCUZJTEUgKmY7CisJc2l6ZV90IGxlbjsKKwlpbnQgdmFsID0gMDsKKwljaGFyICpwLCAqcmVzID0gTlVMTCwgKm1lbSA9IE5VTEw7CisJY2hhciBidWZbQlVGU0laXTsJLyogc2VlIGtlcm5lbCBpbmNsdWRlL2FzbS1nZW5lcmljL3NldHVwLmg6IENPTU1BTkRfTElORV9TSVpFICovCisJY29uc3QgY2hhciAqcGF0aCA9IF9QQVRIX1BST0NfQ01ETElORTsKKworCWlmICghbmFtZSB8fCAhbmFtZVswXSkKKwkJcmV0dXJuIE5VTEw7CisKKyNpZmRlZiBURVNUX1BST0dSQU0KKwlwYXRoID0gZ2V0ZW52KCJMSUJNT1VOVF9LRVJORUxfQ01ETElORSIpOworCWlmICghcGF0aCkKKwkJcGF0aCA9IF9QQVRIX1BST0NfQ01ETElORTsKKyNlbmRpZgorCWYgPSBmb3BlbihwYXRoLCAiciIgVUxfQ0xPRVhFQ1NUUik7CisJaWYgKCFmKQorCQlyZXR1cm4gTlVMTDsKKworCXAgPSBmZ2V0cyhidWYsIHNpemVvZihidWYpLCBmKTsKKwlmY2xvc2UoZik7CisKKwlpZiAoIXAgfHwgISpwIHx8ICpwID09ICdcbicpCisJCXJldHVybiBOVUxMOworCisJcCA9IHN0cnN0cihwLCAiIC0tICIpOworCWlmIChwKSB7CisJCS8qIG5vIG1vcmUga2VybmVsIGFyZ3MgYWZ0ZXIgdGhpcyAqLworCQkqcCA9ICdcMCc7CisJfSBlbHNlIHsKKwkJbGVuID0gc3RybGVuKGJ1Zik7CisJCWJ1ZltsZW4gLSAxXSA9ICdcMCc7CS8qIHJlbW92ZSBsYXN0ICdcbicgKi8KKwl9CisKKwlsZW4gPSBzdHJsZW4obmFtZSk7CisJaWYgKG5hbWVbbGVuIC0gMV0gPT0gJz0nKQorCQl2YWwgPSAxOworCisJZm9yIChwID0gYnVmOyBwICYmICpwOyBwKyspIHsKKwkJaWYgKCEocCA9IHN0cnN0cihwLCBuYW1lKSkpCisJCQlicmVhazsJCQkvKiBub3QgZm91bmQgdGhlIG9wdGlvbiAqLworCQlpZiAocCAhPSBidWYgJiYgIWlzYmxhbmsoKihwIC0gMSkpKQorCQkJY29udGludWU7CQkvKiBubyBzcGFjZSBiZWZvcmUgdGhlIG9wdGlvbiAqLworCQlpZiAoIXZhbCAmJiAqKHAgKyBsZW4pICE9ICdcMCcgJiYgIWlzYmxhbmsoKihwICsgbGVuKSkpCisJCQljb250aW51ZTsJCS8qIG5vIHNwYWNlIGFmdGVyIHRoZSBvcHRpb24gKi8KKwkJaWYgKHZhbCkgeworCQkJY2hhciAqdiA9IHAgKyBsZW47CisJCQlpbnQgZW5kOworCisJCQl3aGlsZSAoKnAgJiYgIWlzYmxhbmsoKnApKQkvKiBqdW1wIHRvIHRoZSBlbmQgb2YgdGhlIGFyZ3VtZW50ICovCisJCQkJcCsrOworCQkJZW5kID0gKCpwID09ICdcMCcpOworCQkJKnAgPSAnXDAnOworCQkJZnJlZShtZW0pOworCQkJcmVzID0gbWVtID0gc3RyZHVwKHYpOworCQkJaWYgKGVuZCkKKwkJCQlicmVhazsKKwkJfSBlbHNlCisJCQlyZXMgPSAoY2hhciAqKSBuYW1lOwkvKiBvcHRpb24gd2l0aG91dCAnPScgKi8KKwkJLyogZG9uJ3QgYnJlYWsgLS0ga2VlcCBzY2FubmluZyBmb3IgbW9yZSBvcHRpb25zICovCisJfQorCisJcmV0dXJuIHJlczsKK30KKworLyoKKyAqIENvbnZlcnRzIEBkZXZubyB0byB0aGUgcmVhbCBkZXZpY2UgbmFtZSBpZiBkZXZubyBtYWpvciBudW1iZXIgaXMgZ3JlYXRlcgorICogdGhhbiB6ZXJvLCBvdGhlcndpc2UgdXNlIHJvb3Q9IGtlcm5lbCBjbWRsaW5lIG9wdGlvbiB0byBnZXQgZGV2aWNlIG5hbWUuCisgKgorICogVGhlIGZ1bmN0aW9uIHVzZXMgL3N5cyB0byBjb252ZXJ0IGRldm5vIHRvIGRldmljZSBuYW1lLgorICoKKyAqIFJldHVybnM6IDAgPSBzdWNjZXNzLCAxID0gbm90IGZvdW5kLCA8MCA9IGVycm9yCisgKi8KK2ludCBtbnRfZ3Vlc3Nfc3lzdGVtX3Jvb3QoZGV2X3QgZGV2bm8sIHN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlLCBjaGFyICoqcGF0aCkKK3sKKwljaGFyIGJ1ZltQQVRIX01BWF07CisJY2hhciAqZGV2ID0gTlVMTCwgKnNwZWMgPSBOVUxMOworCXVuc2lnbmVkIGludCB4LCB5OworCWludCBhbGxvY2F0ZWQgPSAwOworCisJYXNzZXJ0KHBhdGgpOworCisJREJHKFVUSUxTLCB1bF9kZWJ1ZygiZ3Vlc3Npbmcgc3lzdGVtIHJvb3QgW2Rldm5vICV1OiV1XSIsIG1ham9yKGRldm5vKSwgbWlub3IoZGV2bm8pKSk7CisKKwkvKiBUaGUgcHNldWRvLWZzLCBuZXQtZnMgb3IgYnRyZnMgZGV2bm8gaXMgdXNlbGVzcywgb3RoZXJ3aXNlIGl0CisJICogdXN1YWxseSBtYXRjaGVzIHdpdGggdGhlIHNvdXJjZSBkZXZpY2UsIGxldCdzIHRyeSB0byB1c2UgaXQuCisJICovCisJaWYgKG1ham9yKGRldm5vKSA+IDApIHsKKwkJZGV2ID0gc3lzZnNfZGV2bm9fdG9fZGV2cGF0aChkZXZubywgYnVmLCBzaXplb2YoYnVmKSk7CisJCWlmIChkZXYpIHsKKwkJCURCRyhVVElMUywgdWxfZGVidWcoIiAgZGV2bm8gY29udmVydGVkIHRvICVzIiwgZGV2KSk7CisJCQlnb3RvIGRvbmU7CisJCX0KKwl9CisKKwkvKiBMZXQncyB0cnkgdG8gdXNlIHJvb3Q9IGtlcm5lbCBjb21tYW5kIGxpbmUgb3B0aW9uCisJICovCisJc3BlYyA9IG1udF9nZXRfa2VybmVsX2NtZGxpbmVfb3B0aW9uKCJyb290PSIpOworCWlmICghc3BlYykKKwkJZ290byBkb25lOworCisJLyogbWFqOm1pbiBub3RhdGlvbiAqLworCWlmIChzc2NhbmYoc3BlYywgIiV1OiV1IiwgJngsICZ5KSA9PSAyKSB7CisJCWRldiA9IHN5c2ZzX2Rldm5vX3RvX2RldnBhdGgobWFrZWRldih4LCB5KSwgYnVmLCBzaXplb2YoYnVmKSk7CisJCWlmIChkZXYpIHsKKwkJCURCRyhVVElMUywgdWxfZGVidWcoIiAgcm9vdD0lcyBjb252ZXJ0ZWQgdG8gJXMiLCBzcGVjLCBkZXYpKTsKKwkJCWdvdG8gZG9uZTsKKwkJfQorCisJLyogaGV4aGV4IG5vdGF0aW9uICovCisJfSBlbHNlIGlmIChpc3hkaWdpdF9zdHJpbmcoc3BlYykpIHsKKwkJY2hhciAqZW5kID0gTlVMTDsKKwkJdWludDMyX3QgbjsKKworCQllcnJubyA9IDA7CisJCW4gPSBzdHJ0b3VsKHNwZWMsICZlbmQsIDE2KTsKKworCQlpZiAoZXJybm8gfHwgc3BlYyA9PSBlbmQgfHwgKGVuZCAmJiAqZW5kKSkKKwkJCURCRyhVVElMUywgdWxfZGVidWcoIiAgZmFpbGVkIHRvIHBhcnNlIHJvb3Q9JyVzJyIsIHNwZWMpKTsKKwkJZWxzZSB7CisJCQkvKiBrZXJuZWwgbmV3X2RlY29kZV9kZXYoKSAqLworCQkJeCA9IChuICYgMHhmZmYwMCkgPj4gODsKKwkJCXkgPSAobiAmIDB4ZmYpIHwgKChuID4+IDEyKSAmIDB4ZmZmMDApOworCQkJZGV2ID0gc3lzZnNfZGV2bm9fdG9fZGV2cGF0aChtYWtlZGV2KHgsIHkpLCBidWYsIHNpemVvZihidWYpKTsKKwkJCWlmIChkZXYpIHsKKwkJCQlEQkcoVVRJTFMsIHVsX2RlYnVnKCIgIHJvb3Q9JXMgY29udmVydGVkIHRvICVzIiwgc3BlYywgZGV2KSk7CisJCQkJZ290byBkb25lOworCQkJfQorCQl9CisKKwkvKiBkZXZuYW1lIG9yIFBBUlRVVUlEPSBldGMuICovCisJfSBlbHNlIHsKKwkJREJHKFVUSUxTLCB1bF9kZWJ1ZygiICBjb252ZXJ0aW5nIHJvb3Q9JyVzJyIsIHNwZWMpKTsKKworCQlkZXYgPSBtbnRfcmVzb2x2ZV9zcGVjKHNwZWMsIGNhY2hlKTsKKwkJaWYgKGRldiAmJiAhY2FjaGUpCisJCQlhbGxvY2F0ZWQgPSAxOworCX0KK2RvbmU6CisJZnJlZShzcGVjKTsKKwlpZiAoZGV2KSB7CisJCSpwYXRoID0gYWxsb2NhdGVkID8gZGV2IDogc3RyZHVwKGRldik7CisJCWlmICghKnBhdGgpCisJCQlyZXR1cm4gLUVOT01FTTsKKwkJcmV0dXJuIDA7CisJfQorCisJcmV0dXJuIDE7Cit9CisKKworI2lmZGVmIFRFU1RfUFJPR1JBTQorc3RhdGljIGludCB0ZXN0X21hdGNoX2ZzdHlwZShzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNoYXIgKnR5cGUgPSBhcmd2WzFdOworCWNoYXIgKnBhdHRlcm4gPSBhcmd2WzJdOworCisJcHJpbnRmKCIlc1xuIiwgbW50X21hdGNoX2ZzdHlwZSh0eXBlLCBwYXR0ZXJuKSA/ICJNQVRDSCIgOiAiTk9ULU1BVENIIik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9tYXRjaF9vcHRpb25zKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY2hhciAqb3B0c3RyID0gYXJndlsxXTsKKwljaGFyICpwYXR0ZXJuID0gYXJndlsyXTsKKworCXByaW50ZigiJXNcbiIsIG1udF9tYXRjaF9vcHRpb25zKG9wdHN0ciwgcGF0dGVybikgPyAiTUFUQ0giIDogIk5PVC1NQVRDSCIpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHRlc3Rfc3RhcnRzd2l0aChzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNoYXIgKm9wdHN0ciA9IGFyZ3ZbMV07CisJY2hhciAqcGF0dGVybiA9IGFyZ3ZbMl07CisKKwlwcmludGYoIiVzXG4iLCBzdGFydHN3aXRoKG9wdHN0ciwgcGF0dGVybikgPyAiWUVTIiA6ICJOT1QiKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB0ZXN0X2VuZHN3aXRoKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY2hhciAqb3B0c3RyID0gYXJndlsxXTsKKwljaGFyICpwYXR0ZXJuID0gYXJndlsyXTsKKworCXByaW50ZigiJXNcbiIsIGVuZHN3aXRoKG9wdHN0ciwgcGF0dGVybikgPyAiWUVTIiA6ICJOT1QiKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB0ZXN0X2FwcGVuZHN0cihzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNoYXIgKnN0ciA9IHN0cmR1cChhcmd2WzFdKTsKKwljb25zdCBjaGFyICphcCA9IGFyZ3ZbMl07CisKKwlhcHBlbmRfc3RyaW5nKCZzdHIsIGFwKTsKKwlwcmludGYoIm5ldyBzdHJpbmc6ICclcydcbiIsIHN0cik7CisKKwlmcmVlKHN0cik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9tb3VudHBvaW50KHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY2hhciAqcGF0aCA9IGNhbm9uaWNhbGl6ZV9wYXRoKGFyZ3ZbMV0pLAorCSAgICAgKm1udCA9IHBhdGggPyBtbnRfZ2V0X21vdW50cG9pbnQocGF0aCkgOiAgTlVMTDsKKworCXByaW50ZigiJXM6ICVzXG4iLCBhcmd2WzFdLCBtbnQgPyA6ICJ1bmtub3duIik7CisJZnJlZShtbnQpOworCWZyZWUocGF0aCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9maWxlc3lzdGVtcyhzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNoYXIgKipmaWxlc3lzdGVtcyA9IE5VTEw7CisJaW50IHJjOworCisJcmMgPSBtbnRfZ2V0X2ZpbGVzeXN0ZW1zKCZmaWxlc3lzdGVtcywgYXJnYyA/IGFyZ3ZbMV0gOiBOVUxMKTsKKwlpZiAoIXJjKSB7CisJCWNoYXIgKipwOworCQlmb3IgKHAgPSBmaWxlc3lzdGVtczsgKnA7IHArKykKKwkJCXByaW50ZigiJXNcbiIsICpwKTsKKwkJbW50X2ZyZWVfZmlsZXN5c3RlbXMoZmlsZXN5c3RlbXMpOworCX0KKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9jaGRpcihzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWludCByYzsKKwljaGFyICpwYXRoID0gY2Fub25pY2FsaXplX3BhdGgoYXJndlsxXSksCisJICAgICAqbGFzdCA9IE5VTEw7CisKKwlpZiAoIXBhdGgpCisJCXJldHVybiAtZXJybm87CisKKwlyYyA9IG1udF9jaGRpcl90b19wYXJlbnQocGF0aCwgJmxhc3QpOworCWlmICghcmMpIHsKKwkJcHJpbnRmKCJwYXRoPSclcycsIGFicz0nJXMnLCBsYXN0PSclcydcbiIsCisJCQkJYXJndlsxXSwgcGF0aCwgbGFzdCk7CisJfQorCWZyZWUocGF0aCk7CisJZnJlZShsYXN0KTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9rZXJuZWxfY21kbGluZShzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNoYXIgKm5hbWUgPSBhcmd2WzFdOworCWNoYXIgKnJlczsKKworCXJlcyA9IG1udF9nZXRfa2VybmVsX2NtZGxpbmVfb3B0aW9uKG5hbWUpOworCWlmICghcmVzKQorCQlwcmludGYoIiclcycgbm90IGZvdW5kXG4iLCBuYW1lKTsKKwllbHNlIGlmIChyZXMgPT0gbmFtZSkKKwkJcHJpbnRmKCInJXMnIGZvdW5kXG4iLCBuYW1lKTsKKwllbHNlIHsKKwkJcHJpbnRmKCInJXMnIGZvdW5kLCBhcmd1bWVudDogJyVzJ1xuIiwgbmFtZSwgcmVzKTsKKwkJZnJlZShyZXMpOworCX0KKworCXJldHVybiAwOworfQorCisKK3N0YXRpYyBpbnQgdGVzdF9ndWVzc19yb290KHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJaW50IHJjOworCWNoYXIgKnJlYWw7CisJZGV2X3QgZGV2bm8gPSAwOworCisJaWYgKGFyZ2MpIHsKKwkJdW5zaWduZWQgaW50IHgsIHk7CisKKwkJaWYgKHNzY2FuZihhcmd2WzFdLCAiJXU6JXUiLCAmeCwgJnkpICE9IDIpCisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJZGV2bm8gPSBtYWtlZGV2KHgsIHkpOworCX0KKworCXJjID0gbW50X2d1ZXNzX3N5c3RlbV9yb290KGRldm5vLCBOVUxMLCAmcmVhbCk7CisJaWYgKHJjIDwgMCkKKwkJcmV0dXJuIHJjOworCWlmIChyYyA9PSAxKQorCQlmcHV0cygibm90IGZvdW5kXG4iLCBzdGRvdXQpOworCWVsc2UgeworCQlwcmludGYoIiVzXG4iLCByZWFsKTsKKwkJZnJlZShyZWFsKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9ta2RpcihzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWludCByYzsKKworCXJjID0gbWtkaXJfcChhcmd2WzFdLCBTX0lSV1hVIHwKKwkJCSBTX0lSR1JQIHwgU19JWEdSUCB8CisJCQkgU19JUk9USCB8IFNfSVhPVEgpOworCWlmIChyYykKKwkJcHJpbnRmKCJta2RpciAlcyBmYWlsZWRcbiIsIGFyZ3ZbMV0pOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB0ZXN0X3N0YXRmc190eXBlKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IHN0YXRmcyB2ZnM7CisJaW50IHJjOworCisJcmMgPSBzdGF0ZnMoYXJndlsxXSwgJnZmcyk7CisJaWYgKHJjKQorCQlwcmludGYoIiVzOiBzdGF0ZnMgZmFpbGVkOiAlbVxuIiwgYXJndlsxXSk7CisJZWxzZQorCQlwcmludGYoIiUtMzBzOiBzdGF0ZnMgdHlwZTogJS0xMnMgWzB4JWx4XVxuIiwgYXJndlsxXSwKKwkJCQltbnRfc3RhdGZzX2dldF9mc3R5cGUoJnZmcyksCisJCQkJKGxvbmcpIHZmcy5mX3R5cGUpOworCXJldHVybiByYzsKK30KKworCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBsaWJtbnRfdGVzdCB0c3NbXSA9IHsKKwl7ICItLW1hdGNoLWZzdHlwZSIsICB0ZXN0X21hdGNoX2ZzdHlwZSwgICAgIjx0eXBlPiA8cGF0dGVybj4gICAgIEZTIHR5cGVzIG1hdGNoaW5nIiB9LAorCXsgIi0tbWF0Y2gtb3B0aW9ucyIsIHRlc3RfbWF0Y2hfb3B0aW9ucywgICAiPG9wdGlvbnM+IDxwYXR0ZXJuPiAgb3B0aW9ucyBtYXRjaGluZyIgfSwKKwl7ICItLWZpbGVzeXN0ZW1zIiwgICB0ZXN0X2ZpbGVzeXN0ZW1zLAkgICAiWzxwYXR0ZXJuPl0gbGlzdCAve2V0Yyxwcm9jfS9maWxlc3lzdGVtcyIgfSwKKwl7ICItLXN0YXJ0cy13aXRoIiwgICB0ZXN0X3N0YXJ0c3dpdGgsICAgICAgIjxzdHJpbmc+IDxwcmVmaXg+IiB9LAorCXsgIi0tZW5kcy13aXRoIiwgICAgIHRlc3RfZW5kc3dpdGgsICAgICAgICAiPHN0cmluZz4gPHByZWZpeD4iIH0sCisJeyAiLS1hcHBlbmQtc3RyaW5nIiwgdGVzdF9hcHBlbmRzdHIsICAgICAgICI8c3RyaW5nPiA8YXBwZW5kaXg+IiB9LAorCXsgIi0tbW91bnRwb2ludCIsICAgIHRlc3RfbW91bnRwb2ludCwgICAgICAiPHBhdGg+IiB9LAorCXsgIi0tY2QtcGFyZW50IiwgICAgIHRlc3RfY2hkaXIsICAgICAgICAgICAiPHBhdGg+IiB9LAorCXsgIi0ta2VybmVsLWNtZGxpbmUiLHRlc3Rfa2VybmVsX2NtZGxpbmUsICAiPG9wdGlvbj4gfCA8b3B0aW9uPj0iIH0sCisJeyAiLS1ndWVzcy1yb290IiwgICAgdGVzdF9ndWVzc19yb290LCAgICAgICJbPG1hajptaW4+XSIgfSwKKwl7ICItLW1rZGlyIiwgICAgICAgICB0ZXN0X21rZGlyLCAgICAgICAgICAgIjxwYXRoPiIgfSwKKwl7ICItLXN0YXRmcy10eXBlIiwgICB0ZXN0X3N0YXRmc190eXBlLCAgICAgIjxwYXRoPiIgfSwKKworCXsgTlVMTCB9CisJfTsKKworCXJldHVybiBtbnRfcnVuX3Rlc3QodHNzLCBhcmdjLCBhcmd2KTsKK30KKworI2VuZGlmIC8qIFRFU1RfUFJPR1JBTSAqLwpkaWZmIC0tZ2l0IGEvbGlibW91bnQvc3JjL3ZlcnNpb24uYyBiL2xpYm1vdW50L3NyYy92ZXJzaW9uLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzZlMTM3ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L3NyYy92ZXJzaW9uLmMKQEAgLTAsMCArMSwxMzkgQEAKKy8qCisgKiB2ZXJzaW9uLmMgLSBSZXR1cm4gdGhlIHZlcnNpb24gb2YgdGhlIGxpYm1vdW50IGxpYnJhcnkKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKiBbQmFzZWQgb24gbGliYmxraWQvdmVyc2lvbi5jIGJ5IFRoZW9kb3JlIFRzJ29dCisgKgorICogU2VlIENPUFlJTkcubGlibW91bnQgZm9yIHRoZSBMaWNlbnNlIG9mIHRoaXMgc29mdHdhcmUuCisgKi8KKworLyoqCisgKiBTRUNUSU9OOiB2ZXJzaW9uLXV0aWxzCisgKiBAdGl0bGU6IFZlcnNpb24gZnVuY3Rpb25zCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGZ1bmN0aW9ucyB0byBnZXQgdGhlIGxpYnJhcnkgdmVyc2lvbi4KKyAqLworCisjaW5jbHVkZSA8Y3R5cGUuaD4KKworI2luY2x1ZGUgIm1vdW50UC5oIgorCitzdGF0aWMgY29uc3QgY2hhciAqbGliX3ZlcnNpb24gPSBMSUJNT1VOVF9WRVJTSU9OOworc3RhdGljIGNvbnN0IGNoYXIgKmxpYl9mZWF0dXJlc1tdID0geworI2lmZGVmIEhBVkVfTElCU0VMSU5VWAorCSJzZWxpbnV4IiwKKyNlbmRpZgorI2lmZGVmIEhBVkVfU01BQ0sKKwkic21hY2siLAorI2VuZGlmCisjaWZkZWYgSEFWRV9CVFJGU19TVVBQT1JUCisJImJ0cmZzIiwKKyNlbmRpZgorI2lmZGVmIFVTRV9MSUJNT1VOVF9TVVBQT1JUX01UQUIKKwkibXRhYiIsCisjZW5kaWYKKyNpZiAhZGVmaW5lZChOREVCVUcpCisJImFzc2VydCIsCS8qIGxpYmMgYXNzZXJ0Lmggc3R1ZmYgKi8KKyNlbmRpZgorCSJkZWJ1ZyIsCS8qIGFsd2F5cyBlbmFibGVkICovCisJTlVMTAorfTsKKworLyoqCisgKiBtbnRfcGFyc2VfdmVyc2lvbl9zdHJpbmc6CisgKiBAdmVyX3N0cmluZzogdmVyc2lvbiBzdHJpbmcgKGUuZyAiMi4xOC4wIikKKyAqCisgKiBSZXR1cm5zOiByZWxlYXNlIHZlcnNpb24gY29kZS4KKyAqLworaW50IG1udF9wYXJzZV92ZXJzaW9uX3N0cmluZyhjb25zdCBjaGFyICp2ZXJfc3RyaW5nKQoreworCWNvbnN0IGNoYXIgKmNwOworCWludCB2ZXJzaW9uID0gMDsKKworCWFzc2VydCh2ZXJfc3RyaW5nKTsKKworCWZvciAoY3AgPSB2ZXJfc3RyaW5nOyAqY3A7IGNwKyspIHsKKwkJaWYgKCpjcCA9PSAnLicpCisJCQljb250aW51ZTsKKwkJaWYgKCFpc2RpZ2l0KCpjcCkpCisJCQlicmVhazsKKwkJdmVyc2lvbiA9ICh2ZXJzaW9uICogMTApICsgKCpjcCAtICcwJyk7CisJfQorCXJldHVybiB2ZXJzaW9uOworfQorCisvKioKKyAqIG1udF9nZXRfbGlicmFyeV92ZXJzaW9uOgorICogQHZlcl9zdHJpbmc6IHJldHVybiBwb2ludGVyIHRvIHRoZSBzdGF0aWMgbGlicmFyeSB2ZXJzaW9uIHN0cmluZyBpZiBub3QgTlVMTAorICoKKyAqIFJldHVybnM6IHJlbGVhc2UgdmVyc2lvbiBudW1iZXIuCisgKi8KK2ludCBtbnRfZ2V0X2xpYnJhcnlfdmVyc2lvbihjb25zdCBjaGFyICoqdmVyX3N0cmluZykKK3sKKwlpZiAodmVyX3N0cmluZykKKwkJKnZlcl9zdHJpbmcgPSBsaWJfdmVyc2lvbjsKKworCXJldHVybiBtbnRfcGFyc2VfdmVyc2lvbl9zdHJpbmcobGliX3ZlcnNpb24pOworfQorCisvKioKKyAqIG1udF9nZXRfbGlicmFyeV9mZWF0dXJlczoKKyAqIEBmZWF0dXJlczogcmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIHN0YXRpYyBhcnJheSBvZiBzdHJpbmdzLCB0aGUgYXJyYXkgaXMKKyAqICAgICAgICAgICAgdGVybWluYXRlZCBieSBOVUxMLgorICoKKyAqIFJldHVybnM6IG51bWJlciBvZiBpdGVtcyBpbiB0aGUgZmVhdHVyZXMgYXJyYXkgbm90IGluY2x1ZGluZyB0aGUgbGFzdCBOVUxMLAorICogICAgICAgICAgb3IgbGVzcyB0aGFuIHplcm8gaW4gY2FzZSBvZiBlcnJvcgorICoKKyAqIEV4YW1wbGU6CisgKiA8aW5mb3JtYWxleGFtcGxlPgorICogICA8cHJvZ3JhbWxpc3Rpbmc+CisgKgljb25zdCBjaGFyICpmZWF0dXJlczsKKyAqCisgKgltbnRfZ2V0X2xpYnJhcnlfZmVhdHVyZXMoJmZlYXR1cmVzKTsKKyAqCXdoaWxlIChmZWF0dXJlcyAmJiAqZmVhdHVyZXMpCisgKgkJcHJpbnRmKCIlc1xuIiwgKmZlYXR1cmVzKyspOworICogICA8L3Byb2dyYW1saXN0aW5nPgorICogPC9pbmZvcm1hbGV4YW1wbGU+CisgKgorICovCitpbnQgbW50X2dldF9saWJyYXJ5X2ZlYXR1cmVzKGNvbnN0IGNoYXIgKioqZmVhdHVyZXMpCit7CisJaWYgKCFmZWF0dXJlcykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkqZmVhdHVyZXMgPSBsaWJfZmVhdHVyZXM7CisJcmV0dXJuIEFSUkFZX1NJWkUobGliX2ZlYXR1cmVzKSAtIDE7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU0KK3N0YXRpYyBpbnQgdGVzdF92ZXJzaW9uKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY29uc3QgY2hhciAqdmVyOworCWNvbnN0IGNoYXIgKipmZWF0dXJlczsKKworCW1udF9nZXRfbGlicmFyeV92ZXJzaW9uKCZ2ZXIpOworCisJcHJpbnRmKCJMaWJyYXJ5IHZlcnNpb246ICVzXG4iLCB2ZXIpOworCXByaW50ZigiTGlicmFyeSBBUEkgdmVyc2lvbjogIiBMSUJNT1VOVF9WRVJTSU9OICJcbiIpOworCXByaW50ZigiTGlicmFyeSBmZWF0dXJlczoiKTsKKworCW1udF9nZXRfbGlicmFyeV9mZWF0dXJlcygmZmVhdHVyZXMpOworCXdoaWxlIChmZWF0dXJlcyAmJiAqZmVhdHVyZXMpCisJCXByaW50ZigiICVzIiwgKmZlYXR1cmVzKyspOworCisJaWYgKG1udF9nZXRfbGlicmFyeV92ZXJzaW9uKE5VTEwpID09CisJCQltbnRfcGFyc2VfdmVyc2lvbl9zdHJpbmcoTElCTU9VTlRfVkVSU0lPTikpCisJCXJldHVybiAwOworCisJcmV0dXJuIC0xOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBsaWJtbnRfdGVzdCB0c1tdID0geworCQl7ICItLXByaW50IiwgdGVzdF92ZXJzaW9uLCAicHJpbnQgdmVyc2lvbnMiIH0sCisJCXsgTlVMTCB9CisJfTsKKworCXJldHVybiBtbnRfcnVuX3Rlc3QodHMsIGFyZ2MsIGFyZ3YpOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9saWJzbWFydGNvbHMvQ09QWUlORyBiL2xpYnNtYXJ0Y29scy9DT1BZSU5HCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlMWE1YjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzbWFydGNvbHMvQ09QWUlORwpAQCAtMCwwICsxLDggQEAKK1RoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKK21vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKK0xpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgordmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyCit2ZXJzaW9uLgorCitUaGUgY29tcGxldGUgdGV4dCBvZiB0aGUgbGljZW5zZSBpcyBhdmFpbGFibGUgaW4gdGhlCisuLi9Eb2N1bWVudGF0aW9uL2xpY2Vuc2VzL0NPUFlJTkcuTEdQTHYyLjEgZmlsZS4KZGlmZiAtLWdpdCBhL2xpYnNtYXJ0Y29scy9NYWtlbW9kdWxlLmFtIGIvbGlic21hcnRjb2xzL01ha2Vtb2R1bGUuYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDEyODQ4YgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNtYXJ0Y29scy9NYWtlbW9kdWxlLmFtCkBAIC0wLDAgKzEsMTUgQEAKK2lmIEJVSUxEX0xJQlNNQVJUQ09MUworCitpbmNsdWRlIGxpYnNtYXJ0Y29scy9zcmMvTWFrZW1vZHVsZS5hbQoraW5jbHVkZSBsaWJzbWFydGNvbHMvc2FtcGxlcy9NYWtlbW9kdWxlLmFtCisKK2lmIEVOQUJMRV9HVEtfRE9DCisjIERvY3MgdXNlcyBzZXBhcmF0ZSBNYWtlZmlsZXMKK1NVQkRJUlMgKz0gbGlic21hcnRjb2xzL2RvY3MKK2VuZGlmCisKK3BrZ2NvbmZpZ19EQVRBICs9IGxpYnNtYXJ0Y29scy9zbWFydGNvbHMucGMKK1BBVEhGSUxFUyAgICAgICs9IGxpYnNtYXJ0Y29scy9zbWFydGNvbHMucGMKK0VYVFJBX0RJU1QgICAgICs9IGxpYnNtYXJ0Y29scy9DT1BZSU5HCisKK2VuZGlmICMgQlVJTERfTElCU01BUlRDT0xTCmRpZmYgLS1naXQgYS9saWJzbWFydGNvbHMvZG9jcy8uZ2l0aWdub3JlIGIvbGlic21hcnRjb2xzL2RvY3MvLmdpdGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOTFmOTNkCi0tLSAvZGV2L251bGwKKysrIGIvbGlic21hcnRjb2xzL2RvY3MvLmdpdGlnbm9yZQpAQCAtMCwwICsxLDE4IEBACisqLWRlY2wtbGlzdC50eHQKKyotZGVjbC50eHQKKyotb3ZlcnJpZGVzLnR4dAorKi11bmRlY2xhcmVkLnR4dAorKi11bmRvY3VtZW50ZWQudHh0CisqLXVudXNlZC50eHQKKyouYXJncworKi5iYWsKKyouaGllcmFyY2h5CisqLmludGVyZmFjZXMKKyoucHJlcmVxdWlzaXRlcworKi5zaWduYWxzCisqLnN0YW1wCisqLnR5cGVzCitodG1sLyoKK3RtcGwvKgordmVyc2lvbi54bWwKK3htbC8qCmRpZmYgLS1naXQgYS9saWJzbWFydGNvbHMvZG9jcy9NYWtlZmlsZS5hbSBiL2xpYnNtYXJ0Y29scy9kb2NzL01ha2VmaWxlLmFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4NDE1NmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzbWFydGNvbHMvZG9jcy9NYWtlZmlsZS5hbQpAQCAtMCwwICsxLDkzIEBACisjIyBQcm9jZXNzIHRoaXMgZmlsZSB3aXRoIGF1dG9tYWtlIHRvIHByb2R1Y2UgTWFrZWZpbGUuaW4KKworIyBXZSByZXF1aXJlIGF1dG9tYWtlIDEuMTAgYXQgbGVhc3QuCitBVVRPTUFLRV9PUFRJT05TID0gMS4xMAorCisjIFRoaXMgaXMgYSBibGFuayBNYWtlZmlsZS5hbSBmb3IgdXNpbmcgZ3RrLWRvYy4KKyMgQ29weSB0aGlzIHRvIHlvdXIgcHJvamVjdCdzIEFQSSBkb2NzIGRpcmVjdG9yeSBhbmQgbW9kaWZ5IHRoZSB2YXJpYWJsZXMgdG8KKyMgc3VpdCB5b3VyIHByb2plY3QuIFNlZSB0aGUgR1RLKyBNYWtlZmlsZXMgaW4gZ3RrKy9kb2NzL3JlZmVyZW5jZSBmb3IgZXhhbXBsZXMKKyMgb2YgdXNpbmcgdGhlIHZhcmlvdXMgb3B0aW9ucy4KKworIyBUaGUgbmFtZSBvZiB0aGUgbW9kdWxlLCBlLmcuICdnbGliJy4KK0RPQ19NT0RVTEU9bGlic21hcnRjb2xzCisKKyMgVW5jb21tZW50IGZvciB2ZXJzaW9uZWQgZG9jcyBhbmQgc3BlY2lmeSB0aGUgdmVyc2lvbiBvZiB0aGUgbW9kdWxlLCBlLmcuICcyJy4KKyNET0NfTU9EVUxFX1ZFUlNJT049MgorCisjIFRoZSB0b3AtbGV2ZWwgU0dNTCBmaWxlLiBZb3UgY2FuIGNoYW5nZSB0aGlzIGlmIHlvdSB3YW50IHRvLgorRE9DX01BSU5fU0dNTF9GSUxFPSQoRE9DX01PRFVMRSktZG9jcy54bWwKKworIyBUaGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIHNvdXJjZSBjb2RlLiBSZWxhdGl2ZSB0byAkKHNyY2RpcikuCisjIGd0ay1kb2Mgd2lsbCBzZWFyY2ggYWxsIC5jICYgLmggZmlsZXMgYmVuZWF0aCBoZXJlIGZvciBpbmxpbmUgY29tbWVudHMKKyMgZG9jdW1lbnRpbmcgdGhlIGZ1bmN0aW9ucyBhbmQgbWFjcm9zLgorIyBlLmcuIERPQ19TT1VSQ0VfRElSPS4uLy4uLy4uL2d0aworRE9DX1NPVVJDRV9ESVI9Li4vc3JjCisKKyMgRXh0cmEgb3B0aW9ucyB0byBwYXNzIHRvIGd0a2RvYy1zY2FuZ29iai4gTm90IG5vcm1hbGx5IG5lZWRlZC4KK1NDQU5HT0JKX09QVElPTlM9CisKKyMgRXh0cmEgb3B0aW9ucyB0byBzdXBwbHkgdG8gZ3RrZG9jLXNjYW4uCisjIGUuZy4gU0NBTl9PUFRJT05TPS0tZGVwcmVjYXRlZC1ndWFyZHM9IkdUS19ESVNBQkxFX0RFUFJFQ0FURUQiCitTQ0FOX09QVElPTlM9CisKKyMgRXh0cmEgb3B0aW9ucyB0byBzdXBwbHkgdG8gZ3RrZG9jLW1rZGIuCisjIGUuZy4gTUtEQl9PUFRJT05TPS0tc2dtbC1tb2RlIC0tb3V0cHV0LWZvcm1hdD14bWwKK01LREJfT1BUSU9OUz0tLXNnbWwtbW9kZSAtLW91dHB1dC1mb3JtYXQ9eG1sIC0tbmFtZS1zcGFjZSBzY29scworCisjIEV4dHJhIG9wdGlvbnMgdG8gc3VwcGx5IHRvIGd0a2RvYy1ta3RtcGwKKyMgZS5nLiBNS1RNUExfT1BUSU9OUz0tLW9ubHktc2VjdGlvbi10bXBsCitNS1RNUExfT1BUSU9OUz0KKworIyBFeHRyYSBvcHRpb25zIHRvIHN1cHBseSB0byBndGtkb2MtbWtodG1sCitNS0hUTUxfT1BUSU9OUz0KKworIyBFeHRyYSBvcHRpb25zIHRvIHN1cHBseSB0byBndGtkb2MtZml4cmVmLiBOb3Qgbm9ybWFsbHkgbmVlZGVkLgorIyBlLmcuIEZJWFhSRUZfT1BUSU9OUz0tLWV4dHJhLWRpcj0uLi9nZGstcGl4YnVmL2h0bWwgLS1leHRyYS1kaXI9Li4vZ2RrL2h0bWwKK0ZJWFhSRUZfT1BUSU9OUz0KKworIyBVc2VkIGZvciBkZXBlbmRlbmNpZXMuIFRoZSBkb2NzIHdpbGwgYmUgcmVidWlsdCBpZiBhbnkgb2YgdGhlc2UgY2hhbmdlLgorIyBlLmcuIEhGSUxFX0dMT0I9JCh0b3Bfc3JjZGlyKS9ndGsvKi5oCisjIGUuZy4gQ0ZJTEVfR0xPQj0kKHRvcF9zcmNkaXIpL2d0ay8qLmMKK0hGSUxFX0dMT0I9JCh0b3BfYnVpbGRkaXIpL2xpYnNtYXJ0Y29scy9zcmMvbGlic21hcnRjb2xzLmgKK0NGSUxFX0dMT0I9JCh0b3Bfc3JjZGlyKS9saWJzbWFydGNvbHMvc3JjLyouYworCisjIEV4dHJhIGhlYWRlciB0byBpbmNsdWRlIHdoZW4gc2Nhbm5pbmcsIHdoaWNoIGFyZSBub3QgdW5kZXIgRE9DX1NPVVJDRV9ESVIKKyMgZS5nLiBFWFRSQV9IRklMRVM9JCh0b3Bfc3JjZGlyfS9jb250cmliL2V4dHJhLmgKK0VYVFJBX0hGSUxFUz0KKworIyBIZWFkZXIgZmlsZXMgdG8gaWdub3JlIHdoZW4gc2Nhbm5pbmcuIFVzZSBiYXNlIGZpbGUgbmFtZSwgbm8gcGF0aHMKKyMgZS5nLiBJR05PUkVfSEZJTEVTPWd0a2RlYnVnLmggZ3RraW50bC5oCitJR05PUkVfSEZJTEVTPXNtYXJ0Y29sc1AuaAorCisjIEltYWdlcyB0byBjb3B5IGludG8gSFRNTCBkaXJlY3RvcnkuCisjIGUuZy4gSFRNTF9JTUFHRVM9JCh0b3Bfc3JjZGlyKS9ndGsvc3RvY2staWNvbnMvc3RvY2tfYWJvdXRfMjQucG5nCitIVE1MX0lNQUdFUz0KKworIyBFeHRyYSBTR01MIGZpbGVzIHRoYXQgYXJlIGluY2x1ZGVkIGJ5ICQoRE9DX01BSU5fU0dNTF9GSUxFKS4KKyMgZS5nLiBjb250ZW50X2ZpbGVzPXJ1bm5pbmcuc2dtbCBidWlsZGluZy5zZ21sIGNoYW5nZXMtMi4wLnNnbWwKK2NvbnRlbnRfZmlsZXMgPSAkKGJ1aWxkZGlyKS92ZXJzaW9uLnhtbAorCisjIFNHTUwgZmlsZXMgd2hlcmUgZ3RrLWRvYyBhYmJyZXZhdGlvbnMgKCNHdGtXaWRnZXQpIGFyZSBleHBhbmRlZAorIyBUaGVzZSBmaWxlcyBtdXN0IGJlIGxpc3RlZCBoZXJlICphbmQqIGluIGNvbnRlbnRfZmlsZXMKKyMgZS5nLiBleHBhbmRfY29udGVudF9maWxlcz1ydW5uaW5nLnNnbWwKK2V4cGFuZF9jb250ZW50X2ZpbGVzPQorCisjIENGTEFHUyBhbmQgTERGTEFHUyBmb3IgY29tcGlsaW5nIGd0a2RvYy1zY2FuZ29iaiB3aXRoIHlvdXIgbGlicmFyeS4KKyMgT25seSBuZWVkZWQgaWYgeW91IGFyZSB1c2luZyBndGtkb2Mtc2NhbmdvYmogdG8gZHluYW1pY2FsbHkgcXVlcnkgd2lkZ2V0CisjIHNpZ25hbHMgYW5kIHByb3BlcnRpZXMuCisjIGUuZy4gR1RLRE9DX0NGTEFHUz0tSSQodG9wX3NyY2RpcikgLUkkKHRvcF9idWlsZGRpcikgJChHVEtfREVCVUdfRkxBR1MpCisjIGUuZy4gR1RLRE9DX0xJQlM9JCh0b3BfYnVpbGRkaXIpL2d0ay8kKGd0a3RhcmdldGxpYikKK0dUS0RPQ19DRkxBR1M9CitHVEtET0NfTElCUz0KKworIyBUaGlzIGluY2x1ZGVzIHRoZSBzdGFuZGFyZCBndGstZG9jIG1ha2UgcnVsZXMsIGNvcGllZCBieSBndGtkb2NpemUuCitpbmNsdWRlICQodG9wX3NyY2RpcikvY29uZmlnL2d0ay1kb2MubWFrZQorCisjIE90aGVyIGZpbGVzIHRvIGRpc3RyaWJ1dGUKKyMgZS5nLiBFWFRSQV9ESVNUICs9IHZlcnNpb24ueG1sLmluCitFWFRSQV9ESVNUICs9IHZlcnNpb24ueG1sLmluCisKKyMgRmlsZXMgbm90IHRvIGRpc3RyaWJ1dGUKKyMgZm9yIC0tcmVidWlsZC10eXBlcyBpbiAkKFNDQU5fT1BUSU9OUyksIGUuZy4gJChET0NfTU9EVUxFKS50eXBlcworIyBmb3IgLS1yZWJ1aWxkLXNlY3Rpb25zIGluICQoU0NBTl9PUFRJT05TKSBlLmcuICQoRE9DX01PRFVMRSktc2VjdGlvbnMudHh0CitESVNUQ0xFQU5GSUxFUyArPSB2ZXJzaW9uLnhtbApkaWZmIC0tZ2l0IGEvbGlic21hcnRjb2xzL2RvY3MvbGlic21hcnRjb2xzLWRvY3MueG1sIGIvbGlic21hcnRjb2xzL2RvY3MvbGlic21hcnRjb2xzLWRvY3MueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0YzQ3NTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzbWFydGNvbHMvZG9jcy9saWJzbWFydGNvbHMtZG9jcy54bWwKQEAgLTAsMCArMSw2NCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgYm9vayBQVUJMSUMgIi0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMy8vRU4iCisgICAgICAgICAgICAgICAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjMvZG9jYm9va3guZHRkIgorWworICA8IUVOVElUWSB2ZXJzaW9uIFNZU1RFTSAidmVyc2lvbi54bWwiPgorXT4KKzxib29rIGlkPSJpbmRleCIgeG1sbnM6eGk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDMvWEluY2x1ZGUiPgorICA8Ym9va2luZm8+CisgICAgPHRpdGxlPmxpYnNtYXJ0Y29scyBSZWZlcmVuY2UgTWFudWFsPC90aXRsZT4KKyAgICA8cmVsZWFzZWluZm8+Zm9yIGxpYnNtYXJ0Y29scyB2ZXJzaW9uICZ2ZXJzaW9uOzwvcmVsZWFzZWluZm8+CisgICAgPGNvcHlyaWdodD4KKyAgICAgIDx5ZWFyPjIwMTQtMjAxNjwveWVhcj4KKyAgICAgIDxob2xkZXI+S2FyZWwgWmFrICZsdDtremFrQHJlZGhhdC5jb20mZ3Q7PC9ob2xkZXI+CisgICAgPC9jb3B5cmlnaHQ+CisgIDwvYm9va2luZm8+CisKKyAgPHBhcnQgaWQ9Im92ZXJ2aWV3Ij4KKyAgICA8dGl0bGU+bGlic21hcnRjb2xzIE92ZXJ2aWV3PC90aXRsZT4KKyAgICA8cGFydGludHJvPgorICAgIDxwYXJhPgorVGhlIGxpYnNtYXJ0Y29scyBsaWJyYXJ5IGlzIHVzZWQgZm9yIHNtYXJ0IGFkYXB0aXZlIGZvcm1hdHRpbmcgb2YgdGFidWxhciBkYXRhLgorICAgIDwvcGFyYT4KKyAgICA8cGFyYT4KK1RoZSBsaWJyYXJ5IGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBzaW5jZSB2ZXJzaW9uIDIuMjUgYW5kIGlzCithdmFpbGFibGUgZnJvbSBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCisgICAgPC9wYXJhPgorICA8L3BhcnRpbnRybz4KKyA8L3BhcnQ+CisKKyAgPHBhcnQ+CisgICAgPHRpdGxlPkRhdGEgbWFuaXB1bGF0aW9uPC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvdGFibGUueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2NvbHVtbi54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvbGluZS54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvY2VsbC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvc3ltYm9scy54bWwiLz4KKyAgPC9wYXJ0PgorICA8cGFydD4KKyAgICA8dGl0bGU+UHJpbnRpbmc8L3RpdGxlPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC90YWJsZV9wcmludC54bWwiLz4KKyAgPC9wYXJ0PgorICA8cGFydD4KKyAgICA8dGl0bGU+TWlzYzwvdGl0bGU+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2l0ZXIueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL3ZlcnNpb24tdXRpbHMueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2luaXQueG1sIi8+CisgIDwvcGFydD4KKyAgPGluZGV4IGlkPSJhcGktaW5kZXgiPgorICAgIDx0aXRsZT5BUEkgSW5kZXg8L3RpdGxlPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9hcGktaW5kZXgtZnVsbC54bWwiPjx4aTpmYWxsYmFjayAvPjwveGk6aW5jbHVkZT4KKyAgPC9pbmRleD4KKyAgPGluZGV4IHJvbGU9IjIuMjciPgorICAgIDx0aXRsZT5JbmRleCBvZiBuZXcgc3ltYm9scyBpbiAyLjI3PC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvYXBpLWluZGV4LTIuMjcueG1sIj48eGk6ZmFsbGJhY2sgLz48L3hpOmluY2x1ZGU+CisgIDwvaW5kZXg+CisgIDxpbmRleCByb2xlPSIyLjI4Ij4KKyAgICA8dGl0bGU+SW5kZXggb2YgbmV3IHN5bWJvbHMgaW4gMi4yODwvdGl0bGU+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2FwaS1pbmRleC0yLjI4LnhtbCI+PHhpOmZhbGxiYWNrIC8+PC94aTppbmNsdWRlPgorICA8L2luZGV4PgorICA8aW5kZXggcm9sZT0iMi4yOSI+CisgICAgPHRpdGxlPkluZGV4IG9mIG5ldyBzeW1ib2xzIGluIDIuMjk8L3RpdGxlPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9hcGktaW5kZXgtMi4yOS54bWwiPjx4aTpmYWxsYmFjayAvPjwveGk6aW5jbHVkZT4KKyAgPC9pbmRleD4KKzwvYm9vaz4KZGlmZiAtLWdpdCBhL2xpYnNtYXJ0Y29scy9kb2NzL2xpYnNtYXJ0Y29scy1zZWN0aW9ucy50eHQgYi9saWJzbWFydGNvbHMvZG9jcy9saWJzbWFydGNvbHMtc2VjdGlvbnMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlNjk2NjQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzbWFydGNvbHMvZG9jcy9saWJzbWFydGNvbHMtc2VjdGlvbnMudHh0CkBAIC0wLDAgKzEsMTc5IEBACis8U0VDVElPTj4KKzxGSUxFPmNlbGw8L0ZJTEU+CitsaWJzY29sc19jZWxsCitzY29sc19jZWxsX2NvcHlfY29udGVudAorc2NvbHNfY2VsbF9nZXRfY29sb3IKK3Njb2xzX2NlbGxfZ2V0X2RhdGEKK3Njb2xzX2NlbGxfZ2V0X2ZsYWdzCitzY29sc19jZWxsX2dldF91c2VyZGF0YQorc2NvbHNfY2VsbF9yZWZlcl9kYXRhCitzY29sc19jZWxsX3NldF9jb2xvcgorc2NvbHNfY2VsbF9zZXRfZGF0YQorc2NvbHNfY2VsbF9zZXRfZmxhZ3MKK3Njb2xzX2NlbGxfc2V0X3VzZXJkYXRhCitzY29sc19jbXBzdHJfY2VsbHMKK3Njb2xzX3Jlc2V0X2NlbGwKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5jb2x1bW48L0ZJTEU+CitsaWJzY29sc19jb2x1bW4KK3Njb2xzX2NvbHVtbl9nZXRfY29sb3IKK3Njb2xzX2NvbHVtbl9nZXRfZmxhZ3MKK3Njb2xzX2NvbHVtbl9nZXRfaGVhZGVyCitzY29sc19jb2x1bW5fZ2V0X3NhZmVjaGFycworc2NvbHNfY29sdW1uX2dldF90YWJsZQorc2NvbHNfY29sdW1uX2dldF93aGludAorc2NvbHNfY29sdW1uX2dldF93aWR0aAorc2NvbHNfY29sdW1uX2lzX2N1c3RvbXdyYXAKK3Njb2xzX2NvbHVtbl9pc19oaWRkZW4KK3Njb2xzX2NvbHVtbl9pc19ub2V4dHJlbWVzCitzY29sc19jb2x1bW5faXNfcmlnaHQKK3Njb2xzX2NvbHVtbl9pc19zdHJpY3Rfd2lkdGgKK3Njb2xzX2NvbHVtbl9pc190cmVlCitzY29sc19jb2x1bW5faXNfdHJ1bmMKK3Njb2xzX2NvbHVtbl9pc193cmFwCitzY29sc19jb2x1bW5fc2V0X2NtcGZ1bmMKK3Njb2xzX2NvbHVtbl9zZXRfY29sb3IKK3Njb2xzX2NvbHVtbl9zZXRfZmxhZ3MKK3Njb2xzX2NvbHVtbl9zZXRfc2FmZWNoYXJzCitzY29sc19jb2x1bW5fc2V0X3doaW50CitzY29sc19jb2x1bW5fc2V0X3dyYXBmdW5jCitzY29sc19jb3B5X2NvbHVtbgorc2NvbHNfbmV3X2NvbHVtbgorc2NvbHNfcmVmX2NvbHVtbgorc2NvbHNfdW5yZWZfY29sdW1uCitzY29sc193cmFwbmxfY2h1bmtzaXplCitzY29sc193cmFwbmxfbmV4dGNodW5rCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+aXRlcjwvRklMRT4KK2xpYnNjb2xzX2l0ZXIKK3Njb2xzX2ZyZWVfaXRlcgorc2NvbHNfaXRlcl9nZXRfZGlyZWN0aW9uCitzY29sc19uZXdfaXRlcgorc2NvbHNfcmVzZXRfaXRlcgorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPmxpbmU8L0ZJTEU+CitsaWJzY29sc19saW5lCitzY29sc19jb3B5X2xpbmUKK3Njb2xzX2xpbmVfYWRkX2NoaWxkCitzY29sc19saW5lX2FsbG9jX2NlbGxzCitzY29sc19saW5lX2ZyZWVfY2VsbHMKK3Njb2xzX2xpbmVfZ2V0X2NlbGwKK3Njb2xzX2xpbmVfZ2V0X2NvbG9yCitzY29sc19saW5lX2dldF9jb2x1bW5fY2VsbAorc2NvbHNfbGluZV9nZXRfbmNlbGxzCitzY29sc19saW5lX2dldF9wYXJlbnQKK3Njb2xzX2xpbmVfZ2V0X3VzZXJkYXRhCitzY29sc19saW5lX2hhc19jaGlsZHJlbgorc2NvbHNfbGluZV9uZXh0X2NoaWxkCitzY29sc19saW5lX3JlZmVyX2NvbHVtbl9kYXRhCitzY29sc19saW5lX3JlZmVyX2RhdGEKK3Njb2xzX2xpbmVfcmVtb3ZlX2NoaWxkCitzY29sc19saW5lX3NldF9jb2xvcgorc2NvbHNfbGluZV9zZXRfY29sdW1uX2RhdGEKK3Njb2xzX2xpbmVfc2V0X2RhdGEKK3Njb2xzX2xpbmVfc2V0X3VzZXJkYXRhCitzY29sc19uZXdfbGluZQorc2NvbHNfcmVmX2xpbmUKK3Njb2xzX3VucmVmX2xpbmUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5zeW1ib2xzPC9GSUxFPgorbGlic2NvbHNfc3ltYm9scworc2NvbHNfY29weV9zeW1ib2xzCitzY29sc19uZXdfc3ltYm9scworc2NvbHNfcmVmX3N5bWJvbHMKK3Njb2xzX3N5bWJvbHNfc2V0X2JyYW5jaAorc2NvbHNfc3ltYm9sc19zZXRfcmlnaHQKK3Njb2xzX3N5bWJvbHNfc2V0X3ZlcnRpY2FsCitzY29sc19zeW1ib2xzX3NldF90aXRsZV9wYWRkaW5nCitzY29sc19zeW1ib2xzX3NldF9jZWxsX3BhZGRpbmcKK3Njb2xzX3VucmVmX3N5bWJvbHMKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT50YWJsZTwvRklMRT4KK2xpYnNjb2xzX3RhYmxlCitzY29sc19jb3B5X3RhYmxlCitzY29sc19uZXdfdGFibGUKK3Njb2xzX3JlZl90YWJsZQorc2NvbHNfc29ydF90YWJsZQorc2NvbHNfdGFibGVfYWRkX2NvbHVtbgorc2NvbHNfdGFibGVfYWRkX2xpbmUKK3Njb2xzX3RhYmxlX2NvbG9yc193YW50ZWQKK3Njb2xzX3RhYmxlX2VuYWJsZV9hc2NpaQorc2NvbHNfdGFibGVfZW5hYmxlX2NvbG9ycworc2NvbHNfdGFibGVfZW5hYmxlX2V4cG9ydAorc2NvbHNfdGFibGVfZW5hYmxlX2pzb24KK3Njb2xzX3RhYmxlX2VuYWJsZV9tYXhvdXQKK3Njb2xzX3RhYmxlX2VuYWJsZV9ub2hlYWRpbmdzCitzY29sc190YWJsZV9lbmFibGVfbm9saW5lc2VwCitzY29sc190YWJsZV9lbmFibGVfbm93cmFwCitzY29sc190YWJsZV9lbmFibGVfcmF3CitzY29sc190YWJsZV9nZXRfY29sdW1uCitzY29sc190YWJsZV9nZXRfY29sdW1uX3NlcGFyYXRvcgorc2NvbHNfdGFibGVfZ2V0X2xpbmUKK3Njb2xzX3RhYmxlX2dldF9saW5lX3NlcGFyYXRvcgorc2NvbHNfdGFibGVfZ2V0X25hbWUKK3Njb2xzX3RhYmxlX2dldF9uY29scworc2NvbHNfdGFibGVfZ2V0X25saW5lcworc2NvbHNfdGFibGVfZ2V0X3N0cmVhbQorc2NvbHNfdGFibGVfZ2V0X3N5bWJvbHMKK3Njb2xzX3RhYmxlX2dldF90ZXJtZm9yY2UKK3Njb2xzX3RhYmxlX2dldF90ZXJtd2lkdGgKK3Njb2xzX3RhYmxlX2dldF90aXRsZQorc2NvbHNfdGFibGVfaXNfYXNjaWkKK3Njb2xzX3RhYmxlX2lzX2VtcHR5CitzY29sc190YWJsZV9pc19leHBvcnQKK3Njb2xzX3RhYmxlX2lzX2pzb24KK3Njb2xzX3RhYmxlX2lzX21heG91dAorc2NvbHNfdGFibGVfaXNfbm9oZWFkaW5ncworc2NvbHNfdGFibGVfaXNfbm9saW5lc2VwCitzY29sc190YWJsZV9pc19ub3dyYXAKK3Njb2xzX3RhYmxlX2lzX3Jhdworc2NvbHNfdGFibGVfaXNfdHJlZQorc2NvbHNfdGFibGVfbmV3X2NvbHVtbgorc2NvbHNfdGFibGVfbmV3X2xpbmUKK3Njb2xzX3RhYmxlX25leHRfY29sdW1uCitzY29sc190YWJsZV9uZXh0X2xpbmUKK3Njb2xzX3RhYmxlX3JlZHVjZV90ZXJtd2lkdGgKK3Njb2xzX3RhYmxlX3JlbW92ZV9jb2x1bW4KK3Njb2xzX3RhYmxlX3JlbW92ZV9jb2x1bW5zCitzY29sc190YWJsZV9yZW1vdmVfbGluZQorc2NvbHNfdGFibGVfcmVtb3ZlX2xpbmVzCitzY29sc190YWJsZV9zZXRfY29sdW1uX3NlcGFyYXRvcgorc2NvbHNfdGFibGVfc2V0X2RlZmF1bHRfc3ltYm9scworc2NvbHNfdGFibGVfc2V0X2xpbmVfc2VwYXJhdG9yCitzY29sc190YWJsZV9zZXRfbmFtZQorc2NvbHNfdGFibGVfc2V0X3N0cmVhbQorc2NvbHNfdGFibGVfc2V0X3N5bWJvbHMKK3Njb2xzX3RhYmxlX3NldF90ZXJtZm9yY2UKK3Njb2xzX3RhYmxlX3NldF90ZXJtd2lkdGgKK3Njb2xzX3VucmVmX3RhYmxlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+dGFibGVfcHJpbnQ8L0ZJTEU+CitzY29sc19wcmludF90YWJsZQorc2NvbHNfcHJpbnRfdGFibGVfdG9fc3RyaW5nCitzY29sc190YWJsZV9wcmludF9yYW5nZQorc2NvbHNfdGFibGVfcHJpbnRfcmFuZ2VfdG9fc3RyaW5nCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+dmVyc2lvbi11dGlsczwvRklMRT4KK3Njb2xzX2dldF9saWJyYXJ5X3ZlcnNpb24KK3Njb2xzX3BhcnNlX3ZlcnNpb25fc3RyaW5nCitMSUJTTUFSVENPTFNfVkVSU0lPTgorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPmluaXQ8L0ZJTEU+CitzY29sc19pbml0X2RlYnVnCis8L1NFQ1RJT04+CmRpZmYgLS1naXQgYS9saWJzbWFydGNvbHMvZG9jcy92ZXJzaW9uLnhtbC5pbiBiL2xpYnNtYXJ0Y29scy9kb2NzL3ZlcnNpb24ueG1sLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3OGJkYTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzbWFydGNvbHMvZG9jcy92ZXJzaW9uLnhtbC5pbgpAQCAtMCwwICsxIEBACitAVkVSU0lPTkAKZGlmZiAtLWdpdCBhL2xpYnNtYXJ0Y29scy9zYW1wbGVzL01ha2Vtb2R1bGUuYW0gYi9saWJzbWFydGNvbHMvc2FtcGxlcy9NYWtlbW9kdWxlLmFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhNTRhYmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzbWFydGNvbHMvc2FtcGxlcy9NYWtlbW9kdWxlLmFtCkBAIC0wLDAgKzEsMzkgQEAKKworY2hlY2tfUFJPR1JBTVMgKz0gXAorCXNhbXBsZS1zY29scy10aXRsZSBcCisJc2FtcGxlLXNjb2xzLXdyYXAgXAorCXNhbXBsZS1zY29scy1jb250aW51b3VzIFwKKwlzYW1wbGUtc2NvbHMtZnJvbWZpbGUgXAorCXNhbXBsZS1zY29scy1tYXhvdXQKKworc2FtcGxlX3Njb2xzX2NmbGFncyA9ICQoQU1fQ0ZMQUdTKSAkKE5PX1VOVVNFRF9XQVJOX0NGTEFHUykgXAorICAgICAgICAgICAgICAgICAgICAgIC1JJCh1bF9saWJzbWFydGNvbHNfaW5jZGlyKQorc2FtcGxlX3Njb2xzX2xkYWRkID0gJChMREFERCkgbGlic21hcnRjb2xzLmxhCisKK2lmIEhBVkVfT1BFTkFUCitjaGVja19QUk9HUkFNUyArPSBzYW1wbGUtc2NvbHMtdHJlZQorc2FtcGxlX3Njb2xzX3RyZWVfU09VUkNFUyA9IGxpYnNtYXJ0Y29scy9zYW1wbGVzL3RyZWUuYworc2FtcGxlX3Njb2xzX3RyZWVfTERBREQgPSAkKHNhbXBsZV9zY29sc19sZGFkZCkgbGliY29tbW9uLmxhCitzYW1wbGVfc2NvbHNfdHJlZV9DRkxBR1MgPSAkKHNhbXBsZV9zY29sc19jZmxhZ3MpCitlbmRpZgorCitzYW1wbGVfc2NvbHNfdGl0bGVfU09VUkNFUyA9IGxpYnNtYXJ0Y29scy9zYW1wbGVzL3RpdGxlLmMKK3NhbXBsZV9zY29sc190aXRsZV9MREFERCA9ICQoc2FtcGxlX3Njb2xzX2xkYWRkKSBsaWJjb21tb24ubGEKK3NhbXBsZV9zY29sc190aXRsZV9DRkxBR1MgPSAkKHNhbXBsZV9zY29sc19jZmxhZ3MpCisKK3NhbXBsZV9zY29sc193cmFwX1NPVVJDRVMgPSBsaWJzbWFydGNvbHMvc2FtcGxlcy93cmFwLmMKK3NhbXBsZV9zY29sc193cmFwX0xEQUREID0gJChzYW1wbGVfc2NvbHNfbGRhZGQpCitzYW1wbGVfc2NvbHNfd3JhcF9DRkxBR1MgPSAkKHNhbXBsZV9zY29sc19jZmxhZ3MpCisKK3NhbXBsZV9zY29sc19jb250aW51b3VzX1NPVVJDRVMgPSBsaWJzbWFydGNvbHMvc2FtcGxlcy9jb250aW51b3VzLmMKK3NhbXBsZV9zY29sc19jb250aW51b3VzX0xEQUREID0gJChzYW1wbGVfc2NvbHNfbGRhZGQpIGxpYmNvbW1vbi5sYQorc2FtcGxlX3Njb2xzX2NvbnRpbnVvdXNfQ0ZMQUdTID0gJChzYW1wbGVfc2NvbHNfY2ZsYWdzKQorCitzYW1wbGVfc2NvbHNfbWF4b3V0X1NPVVJDRVMgPSBsaWJzbWFydGNvbHMvc2FtcGxlcy9tYXhvdXQuYworc2FtcGxlX3Njb2xzX21heG91dF9MREFERCA9ICQoc2FtcGxlX3Njb2xzX2xkYWRkKQorc2FtcGxlX3Njb2xzX21heG91dF9DRkxBR1MgPSAkKHNhbXBsZV9zY29sc19jZmxhZ3MpCisKK3NhbXBsZV9zY29sc19mcm9tZmlsZV9TT1VSQ0VTID0gbGlic21hcnRjb2xzL3NhbXBsZXMvZnJvbWZpbGUuYworc2FtcGxlX3Njb2xzX2Zyb21maWxlX0xEQUREID0gJChzYW1wbGVfc2NvbHNfbGRhZGQpIGxpYmNvbW1vbi5sYQorc2FtcGxlX3Njb2xzX2Zyb21maWxlX0NGTEFHUyA9ICQoc2FtcGxlX3Njb2xzX2NmbGFncykKKwpkaWZmIC0tZ2l0IGEvbGlic21hcnRjb2xzL3NhbXBsZXMvY29udGludW91cy5jIGIvbGlic21hcnRjb2xzL3NhbXBsZXMvY29udGludW91cy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjZDhiNDgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzbWFydGNvbHMvc2FtcGxlcy9jb250aW51b3VzLmMKQEAgLTAsMCArMSwxMjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorCisjaW5jbHVkZSAibGlic21hcnRjb2xzLmgiCisKKyNkZWZpbmUgVElNRV9QRVJJT0QJMy4wCS8qIHNlY29uZHMgKi8KKworZW51bSB7IENPTF9OVU0sIENPTF9EQVRBLCBDT0xfVElNRSB9OworCitzdGF0aWMgZG91YmxlIHRpbWVfZGlmZihzdHJ1Y3QgdGltZXZhbCAqYSwgc3RydWN0IHRpbWV2YWwgKmIpCit7CisJcmV0dXJuIChhLT50dl9zZWMgLSBiLT50dl9zZWMpICsgKGEtPnR2X3VzZWMgLSBiLT50dl91c2VjKSAvIDFFNjsKK30KKworLyogYWRkIGNvbHVtbnMgdG8gdGhlIEB0YiAqLworc3RhdGljIHZvaWQgc2V0dXBfY29sdW1ucyhzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXNjb2xzX3RhYmxlX2VuYWJsZV9tYXhvdXQodGIsIDEpOworCWlmICghc2NvbHNfdGFibGVfbmV3X2NvbHVtbih0YiwgIiNOVU0iLCAwLjEsIFNDT0xTX0ZMX1JJR0hUKSkKKwkJZ290byBmYWlsOworCWlmICghc2NvbHNfdGFibGVfbmV3X2NvbHVtbih0YiwgIkRBVEEiLCAwLjcsIDApKQorCQlnb3RvIGZhaWw7CisJaWYgKCFzY29sc190YWJsZV9uZXdfY29sdW1uKHRiLCAiVElNRSIsIDAuMiwgMCkpCisJCWdvdG8gZmFpbDsKKwlyZXR1cm47CitmYWlsOgorCXNjb2xzX3VucmVmX3RhYmxlKHRiKTsKKwllcnIoRVhJVF9GQUlMVVJFLCAiZmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgY29sdW1ucyIpOworfQorCitzdGF0aWMgc3RydWN0IGxpYnNjb2xzX2xpbmUgKmFkZF9saW5lKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIHNpemVfdCBpKQoreworCWNoYXIgKnA7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuID0gc2NvbHNfdGFibGVfbmV3X2xpbmUodGIsIE5VTEwpOworCisJaWYgKCFsbikKKwkJZXJyKEVYSVRfRkFJTFVSRSwgImZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGxpbmUiKTsKKworCXhhc3ByaW50ZigmcCwgIiV6dSIsIGkpOworCWlmIChzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIENPTF9OVU0sIHApKQorCQlnb3RvIGZhaWw7CisKKwl4YXNwcmludGYoJnAsICJkYXRhLSUwMnp1LSUwMnp1LSUwMnp1LWVuZCIsIGkgKyAxLCBpICsgMiwgaSArIDMpOworCWlmIChzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIENPTF9EQVRBLCBwKSkKKwkJZ290byBmYWlsOworCisJcmV0dXJuIGxuOworZmFpbDoKKwlzY29sc191bnJlZl90YWJsZSh0Yik7CisJZXJyKEVYSVRfRkFJTFVSRSwgImZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGxpbmUiKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiOworCXNpemVfdCBpOworCXN0cnVjdCB0aW1ldmFsIGxhc3Q7CisKKwlzY29sc19pbml0X2RlYnVnKDApOworCisJdGIgPSBzY29sc19uZXdfdGFibGUoKTsKKwlpZiAoIXRiKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiZmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgdGFibGUiKTsKKworCXNldHVwX2NvbHVtbnModGIpOworCWdldHRpbWVvZmRheSgmbGFzdCwgTlVMTCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgMTA7IGkrKykgeworCQlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbGluZTsKKwkJc3RydWN0IHRpbWV2YWwgbm93OworCQlpbnQgZG9uZSA9IDA7CisJCWNoYXIgKnRpbWVjZWxsID0geG1hbGxvYyggc2l6ZW9mKHN0cmluZ2lmeV92YWx1ZShVSU5UX01BWCkpICk7CisKKwkJbGluZSA9IGFkZF9saW5lKHRiLCBpKTsKKworCQkvKiBNYWtlIGEgcmVmZXJlbmNlIGZyb20gY2VsbCBkYXRhIHRvIHRoZSBidWZmZXIsIHRoZW4gd2UgY2FuCisJCSAqIHVwZGF0ZSBjZWxsIGRhdGEgd2l0aG91dCBhbnkgaW50ZXJhY3Rpb24gd2l0aCBsaWJzbWFydGNvbHMKKwkJICovCisJCXNjb2xzX2xpbmVfcmVmZXJfZGF0YShsaW5lLCBDT0xfVElNRSwgdGltZWNlbGwpOworCisJCWRvIHsKKwkJCWRvdWJsZSBkaWZmOworCisJCQlnZXR0aW1lb2ZkYXkoJm5vdywgTlVMTCk7CisJCQlkaWZmID0gdGltZV9kaWZmKCZub3csICZsYXN0KTsKKworCQkJaWYgKG5vdy50dl9zZWMgPT0gbGFzdC50dl9zZWMgKyAobG9uZykgVElNRV9QRVJJT0QpCisJCQkJZG9uZSA9IDE7CisJCQllbHNlCisJCQkJeHVzbGVlcCgxMDAwMDApOworCisJCQkvKiB1cGRhdGUgIlRJTUUiIGNlbGwgZGF0YSAqLworCQkJc3ByaW50Zih0aW1lY2VsbCwgIiVmIFslM2QlJV0iLCBkaWZmLAorCQkJCWRvbmUgPyAxMDAgOiAoaW50KShkaWZmIC8gKFRJTUVfUEVSSU9EIC8gMTAwLjApKSk7CisKKwkJCS8qIGRvbid0IHByaW50IGxpbmUgc2VwYXJhdG9yIHdoZW4gaW4gcHJvZ3Jlc3MgKi8KKwkJCXNjb2xzX3RhYmxlX2VuYWJsZV9ub2xpbmVzZXAodGIsICFkb25lKTsKKwkJCS8qIHByaW50IHRoZSBsaW5lICovCisJCQlzY29sc190YWJsZV9wcmludF9yYW5nZSh0YiwgbGluZSwgTlVMTCk7CisKKwkJCWlmICghZG9uZSkgeworCQkJCS8qIHRlcm1pbmFsIGlzIHdhaXRpbmcgZm9yIFxuLCBmZmx1c2goKSB0byBmb3JjZSBvdXRwdXQgKi8KKwkJCQlmZmx1c2goc2NvbHNfdGFibGVfZ2V0X3N0cmVhbSh0YikpOworCQkJCS8qIG1vdmUgdG8gdGhlIGJlZ2luIG9mIHRoZSBsaW5lICovCisJCQkJZnB1dGMoJ1xyJywgc2NvbHNfdGFibGVfZ2V0X3N0cmVhbSh0YikpOworCQkJfQorCQl9IHdoaWxlICghZG9uZSk7CisKKwkJbGFzdCA9IG5vdzsKKwl9CisKKwlzY29sc191bnJlZl90YWJsZSh0Yik7CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL2xpYnNtYXJ0Y29scy9zYW1wbGVzL2Zyb21maWxlLmMgYi9saWJzbWFydGNvbHMvc2FtcGxlcy9mcm9tZmlsZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyYTIyYTQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzbWFydGNvbHMvc2FtcGxlcy9mcm9tZmlsZS5jCkBAIC0wLDAgKzEsMzM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8ZGlyZW50Lmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJvcHR1dGlscy5oIgorCisjaW5jbHVkZSAibGlic21hcnRjb2xzLmgiCisKK3N0cnVjdCBjb2x1bW5fZmxhZyB7CisJY29uc3QgY2hhciAqbmFtZTsKKwlpbnQgbWFzazsKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgY29sdW1uX2ZsYWcgZmxhZ3NbXSA9IHsKKwl7ICJ0cnVuYyIsCVNDT0xTX0ZMX1RSVU5DIH0sCisJeyAidHJlZSIsCVNDT0xTX0ZMX1RSRUUgfSwKKwl7ICJyaWdodCIsCVNDT0xTX0ZMX1JJR0hUIH0sCisJeyAic3RyaWN0d2lkdGgiLFNDT0xTX0ZMX1NUUklDVFdJRFRIIH0sCisJeyAibm9leHRyZW1lcyIsIFNDT0xTX0ZMX05PRVhUUkVNRVMgfSwKKwl7ICJoaWRkZW4iLAlTQ09MU19GTF9ISURERU4gfSwKKwl7ICJ3cmFwIiwJU0NPTFNfRkxfV1JBUCB9LAorCXsgIndyYXBubCIsCVNDT0xTX0ZMX1dSQVAgfSwKKwl7ICJub25lIiwJMCB9Cit9OworCitzdGF0aWMgbG9uZyBuYW1lX3RvX2ZsYWcoY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90IG5hbWVzeikKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGZsYWdzKTsgaSsrKSB7CisJCWNvbnN0IGNoYXIgKmNuID0gZmxhZ3NbaV0ubmFtZTsKKworCQlpZiAoIXN0cm5jYXNlY21wKG5hbWUsIGNuLCBuYW1lc3opICYmICEqKGNuICsgbmFtZXN6KSkKKwkJCXJldHVybiBmbGFnc1tpXS5tYXNrOworCX0KKwl3YXJueCgidW5rbm93biBmbGFnOiAlcyIsIG5hbWUpOworCXJldHVybiAtMTsKK30KKworc3RhdGljIGludCBwYXJzZV9jb2x1bW5fZmxhZ3MoY2hhciAqc3RyKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3MgPSAwOworCisJaWYgKHN0cmluZ190b19iaXRtYXNrKHN0ciwgJmZsYWdzLCBuYW1lX3RvX2ZsYWcpKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiZmFpbGVkIHRvIHBhcnNlIGNvbHVtbiBmbGFncyIpOworCisJcmV0dXJuIGZsYWdzOworfQorCitzdGF0aWMgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqcGFyc2VfY29sdW1uKEZJTEUgKmYpCit7CisJc2l6ZV90IGxlbiA9IDA7CisJY2hhciAqbGluZSA9IE5VTEw7CisJaW50IG5saW5lcyA9IDA7CisKKwlzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCA9IE5VTEw7CisKKwl3aGlsZSAoZ2V0bGluZSgmbGluZSwgJmxlbiwgZikgIT0gLTEpIHsKKworCQljaGFyICpwID0gc3RycmNocihsaW5lLCAnXG4nKTsKKwkJaWYgKHApCisJCQkqcCA9ICdcMCc7CisKKwkJc3dpdGNoIChubGluZXMpIHsKKwkJY2FzZSAwOiAvKiBOQU1FICovCisJCXsKKwkJCXN0cnVjdCBsaWJzY29sc19jZWxsICpocjsKKworCQkJY2wgPSBzY29sc19uZXdfY29sdW1uKCk7CisJCQlpZiAoIWNsKQorCQkJCWdvdG8gZmFpbDsKKwkJCWhyID0gc2NvbHNfY29sdW1uX2dldF9oZWFkZXIoY2wpOworCQkJaWYgKCFociB8fCBzY29sc19jZWxsX3NldF9kYXRhKGhyLCBsaW5lKSkKKwkJCQlnb3RvIGZhaWw7CisJCQlicmVhazsKKwkJfQorCQljYXNlIDE6IC8qIFdJRFRILUhJTlQgKi8KKwkJeworCQkJZG91YmxlIHdoaW50ID0gc3RydG9kX29yX2VycihsaW5lLCAiZmFpbGVkIHRvIHBhcnNlIGNvbHVtbiB3aGludCIpOworCQkJaWYgKHNjb2xzX2NvbHVtbl9zZXRfd2hpbnQoY2wsIHdoaW50KSkKKwkJCQlnb3RvIGZhaWw7CisJCQlicmVhazsKKwkJfQorCQljYXNlIDI6IC8qIEZMQUdTICovCisJCXsKKwkJCWludCBmbGFncyA9IHBhcnNlX2NvbHVtbl9mbGFncyhsaW5lKTsKKwkJCWlmIChzY29sc19jb2x1bW5fc2V0X2ZsYWdzKGNsLCBmbGFncykpCisJCQkJZ290byBmYWlsOworCQkJaWYgKHN0cmNtcChsaW5lLCAid3JhcG5sIikgPT0gMCkgeworCQkJCXNjb2xzX2NvbHVtbl9zZXRfd3JhcGZ1bmMoY2wsCisJCQkJCQlzY29sc193cmFwbmxfY2h1bmtzaXplLAorCQkJCQkJc2NvbHNfd3JhcG5sX25leHRjaHVuaywKKwkJCQkJCU5VTEwpOworCQkJCXNjb2xzX2NvbHVtbl9zZXRfc2FmZWNoYXJzKGNsLCAiXG4iKTsKKwkJCX0KKwkJCWJyZWFrOworCQl9CisJCWNhc2UgMzogLyogQ09MT1IgKi8KKwkJCWlmIChzY29sc19jb2x1bW5fc2V0X2NvbG9yKGNsLCBsaW5lKSkKKwkJCQlnb3RvIGZhaWw7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWJyZWFrOworCQl9CisKKwkJbmxpbmVzKys7CisJfQorCisJcmV0dXJuIGNsOworZmFpbDoKKwlzY29sc191bnJlZl9jb2x1bW4oY2wpOworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgaW50IHBhcnNlX2NvbHVtbl9kYXRhKEZJTEUgKmYsIHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGludCBjb2wpCit7CisJc2l6ZV90IGxlbiA9IDAsIG5saW5lcyA9IDA7CisJaW50IGk7CisJY2hhciAqc3RyID0gTlVMTDsKKworCXdoaWxlICgoaSA9IGdldGxpbmUoJnN0ciwgJmxlbiwgZikpICE9IC0xKSB7CisKKwkJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuOworCQljaGFyICpwID0gc3RycmNocihzdHIsICdcbicpOworCQlpZiAocCkKKwkJCSpwID0gJ1wwJzsKKworCQl3aGlsZSAoKHAgPSBzdHJyY2hyKHN0ciwgJ1xcJykpICYmICoocCArIDEpID09ICduJykgeworCQkJKnAgPSAnXG4nOworCQkJbWVtbW92ZShwICsgMSwgcCArIDIsIGkgLSAocCArIDIgLSBzdHIpKTsKKwkJfQorCisJCWxuID0gc2NvbHNfdGFibGVfZ2V0X2xpbmUodGIsIG5saW5lcysrKTsKKwkJaWYgKCFsbikKKwkJCWJyZWFrOworCisJCXNjb2xzX2xpbmVfc2V0X2RhdGEobG4sIGNvbCwgc3RyKTsKKwl9CisKKwlyZXR1cm4gMDsKKworfQorCitzdGF0aWMgc3RydWN0IGxpYnNjb2xzX2xpbmUgKmdldF9saW5lX3dpdGhfaWQoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwKKwkJCQkJCWludCBjb2xfaWQsIGNvbnN0IGNoYXIgKmlkKQoreworCXN0cnVjdCBsaWJzY29sc19saW5lICpsbjsKKwlzdHJ1Y3QgbGlic2NvbHNfaXRlciAqaXRyID0gc2NvbHNfbmV3X2l0ZXIoU0NPTFNfSVRFUl9GT1JXQVJEKTsKKworCXdoaWxlIChzY29sc190YWJsZV9uZXh0X2xpbmUodGIsIGl0ciwgJmxuKSA9PSAwKSB7CisJCXN0cnVjdCBsaWJzY29sc19jZWxsICpjZSA9IHNjb2xzX2xpbmVfZ2V0X2NlbGwobG4sIGNvbF9pZCk7CisJCWNvbnN0IGNoYXIgKmRhdGEgPSBjZSA/IHNjb2xzX2NlbGxfZ2V0X2RhdGEoY2UpIDogTlVMTDsKKworCQlpZiAoZGF0YSAmJiBzdHJjbXAoZGF0YSwgaWQpID09IDApCisJCQlicmVhazsKKwl9CisKKwlzY29sc19mcmVlX2l0ZXIoaXRyKTsKKwlyZXR1cm4gbG47Cit9CisKK3N0YXRpYyB2b2lkIGNvbXBvc2VfdHJlZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBpbnQgcGFyZW50X2NvbCwgaW50IGlkX2NvbCkKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG47CisJc3RydWN0IGxpYnNjb2xzX2l0ZXIgKml0ciA9IHNjb2xzX25ld19pdGVyKFNDT0xTX0lURVJfRk9SV0FSRCk7CisKKwl3aGlsZSAoc2NvbHNfdGFibGVfbmV4dF9saW5lKHRiLCBpdHIsICZsbikgPT0gMCkgeworCQlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqcGFyZW50ID0gTlVMTDsKKwkJc3RydWN0IGxpYnNjb2xzX2NlbGwgKmNlID0gc2NvbHNfbGluZV9nZXRfY2VsbChsbiwgcGFyZW50X2NvbCk7CisJCWNvbnN0IGNoYXIgKmRhdGEgPSBjZSA/IHNjb2xzX2NlbGxfZ2V0X2RhdGEoY2UpIDogTlVMTDsKKworCQlpZiAoZGF0YSkKKwkJCXBhcmVudCA9IGdldF9saW5lX3dpdGhfaWQodGIsIGlkX2NvbCwgZGF0YSk7CisJCWlmIChwYXJlbnQpCisJCQlzY29sc19saW5lX2FkZF9jaGlsZChwYXJlbnQsIGxuKTsKKwl9CisKKwlzY29sc19mcmVlX2l0ZXIoaXRyKTsKK30KKworCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqIG91dCkKK3sKKwlmcHJpbnRmKG91dCwKKwkJIlxuICVzIFtvcHRpb25zXSA8Y29sdW1uLWRhdGEtZmlsZT4gLi4uXG5cbiIsIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKCIgLW0sIC0tbWF4b3V0ICAgICAgICAgICAgICAgICAgIGZpbGwgYWxsIHRlcm1pbmFsIHdpZHRoXG4iLCBvdXQpOworCWZwdXRzKCIgLWMsIC0tY29sdW1uIDxmaWxlPiAgICAgICAgICAgIGNvbHVtbiBkZWZpbml0aW9uXG4iLCBvdXQpOworCWZwdXRzKCIgLW4sIC0tbmxpbmVzIDxudW0+ICAgICAgICAgICAgIG51bWJlciBvZiBsaW5lc1xuIiwgb3V0KTsKKwlmcHV0cygiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgICBKU09OIG91dHB1dCBmb3JtYXRcbiIsIG91dCk7CisJZnB1dHMoIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgICAgUkFXIG91dHB1dCBmb3JtYXRcbiIsIG91dCk7CisJZnB1dHMoIiAtRSwgLS1leHBvcnQgICAgICAgICAgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIiwgb3V0KTsKKwlmcHV0cygiIC1DLCAtLWNvbHNlcCA8c3RyPiAgICAgICAgICAgICBzZXQgY29sdW1ucyBzZXBhcmF0b3JcbiIsIG91dCk7CisJZnB1dHMoIiAtdywgLS13aWR0aCA8bnVtPiAgICAgICAgICAgICAgaGFyZGNvZGUgdGVybWluYWwgd2lkdGhcbiIsIG91dCk7CisJZnB1dHMoIiAtcCwgLS10cmVlLXBhcmVudC1jb2x1bW4gPG4+ICAgcGFyZW50IGNvbHVtblxuIiwgb3V0KTsKKwlmcHV0cygiIC1pLCAtLXRyZWUtaWQtY29sdW1uIDxuPiAgICAgICBpZCBjb2x1bW5cbiIsIG91dCk7CisJZnB1dHMoIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgdGhpcyBoZWxwXG4iLCBvdXQpOworCWZwdXRzKCJcbiIsIG91dCk7CisKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGI7CisJaW50IGMsIG4sIG5saW5lcyA9IDA7CisJaW50IHBhcmVudF9jb2wgPSAtMSwgaWRfY29sID0gLTE7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJtYXhvdXQiLCAwLCAwLCAnbScgfSwKKwkJeyAiY29sdW1uIiwgMSwgMCwgJ2MnIH0sCisJCXsgIm5saW5lcyIsIDEsIDAsICduJyB9LAorCQl7ICJ3aWR0aCIsICAxLCAwLCAndycgfSwKKwkJeyAidHJlZS1wYXJlbnQtY29sdW1uIiwgMSwgMCwgJ3AnIH0sCisJCXsgInRyZWUtaWQtY29sdW1uIiwJMSwgMCwgJ2knIH0sCisJCXsgImpzb24iLCAgIDAsIDAsICdKJyB9LAorCQl7ICJyYXciLCAgICAwLCAwLCAncicgfSwKKwkJeyAiZXhwb3J0IiwgMCwgMCwgJ0UnIH0sCisJCXsgImNvbHNlcCIsICAxLCAwLCAnQycgfSwKKwkJeyAiaGVscCIsICAgMCwgMCwgJ2gnIH0sCisJCXsgTlVMTCwgMCwgMCwgMCB9LAorCX07CisKKwlzdGF0aWMgY29uc3QgdWxfZXhjbF90IGV4Y2xbXSA9IHsgICAgICAgLyogcm93cyBhbmQgY29scyBpbiBpbiBBU0NJSSBvcmRlciAqLworCQl7ICdFJywgJ0onLCAncicgfSwKKwkJeyAwIH0KKwl9OworCWludCBleGNsX3N0W0FSUkFZX1NJWkUoZXhjbCldID0gVUxfRVhDTF9TVEFUVVNfSU5JVDsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsJLyoganVzdCB0byBoYXZlIGVuYWJsZSBVVEY4IGNoYXJzICovCisJc2NvbHNfaW5pdF9kZWJ1ZygwKTsKKworCXRiID0gc2NvbHNfbmV3X3RhYmxlKCk7CisJaWYgKCF0YikKKwkJZXJyKEVYSVRfRkFJTFVSRSwgImZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IHRhYmxlIik7CisKKwl3aGlsZSgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJoQ2M6RWk6Sm1uOnA6cnc6IiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhjLCBsb25nb3B0cywgZXhjbCwgZXhjbF9zdCk7CisKKwkJc3dpdGNoKGMpIHsKKwkJY2FzZSAnYyc6IC8qIGFkZCBjb2x1bW4gZnJvbSBmaWxlICovCisJCXsKKwkJCXN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsOworCQkJRklMRSAqZiA9IGZvcGVuKG9wdGFyZywgInIiKTsKKworCQkJaWYgKCFmKQorCQkJCWVycihFWElUX0ZBSUxVUkUsICIlczogb3BlbiBmYWlsZWQiLCBvcHRhcmcpOworCQkJY2wgPSBwYXJzZV9jb2x1bW4oZik7CisJCQlpZiAoY2wgJiYgc2NvbHNfdGFibGVfYWRkX2NvbHVtbih0YiwgY2wpKQorCQkJCWVycihFWElUX0ZBSUxVUkUsICIlczogZmFpbGVkIHRvIGFkZCBjb2x1bW4iLCBvcHRhcmcpOworCQkJc2NvbHNfdW5yZWZfY29sdW1uKGNsKTsKKwkJCWZjbG9zZShmKTsKKwkJCWJyZWFrOworCQl9CisJCWNhc2UgJ3AnOgorCQkJcGFyZW50X2NvbCA9IHN0cnRvdTMyX29yX2VycihvcHRhcmcsICJmYWlsZWQgdG8gcGFyc2UgdHJlZSBQQVJFTlQgY29sdW1uIik7CisJCQlicmVhazsKKwkJY2FzZSAnaSc6CisJCQlpZF9jb2wgPSBzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLCAiZmFpbGVkIHRvIHBhcnNlIHRyZWUgSUQgY29sdW1uIik7CisJCQlicmVhazsKKwkJY2FzZSAnSic6CisJCQlzY29sc190YWJsZV9lbmFibGVfanNvbih0YiwgMSk7CisJCQlzY29sc190YWJsZV9zZXRfbmFtZSh0YiwgInRlc3R0YWJsZSIpOworCQkJYnJlYWs7CisJCWNhc2UgJ20nOgorCQkJc2NvbHNfdGFibGVfZW5hYmxlX21heG91dCh0YiwgVFJVRSk7CisJCQlicmVhazsKKwkJY2FzZSAncic6CisJCQlzY29sc190YWJsZV9lbmFibGVfcmF3KHRiLCBUUlVFKTsKKwkJCWJyZWFrOworCQljYXNlICdFJzoKKwkJCXNjb2xzX3RhYmxlX2VuYWJsZV9leHBvcnQodGIsIFRSVUUpOworCQkJYnJlYWs7CisJCWNhc2UgJ0MnOgorCQkJc2NvbHNfdGFibGVfc2V0X2NvbHVtbl9zZXBhcmF0b3IodGIsIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQlubGluZXMgPSBzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyIpOworCQkJYnJlYWs7CisJCWNhc2UgJ3cnOgorCQkJc2NvbHNfdGFibGVfc2V0X3Rlcm1mb3JjZSh0YiwgU0NPTFNfVEVSTUZPUkNFX0FMV0FZUyk7CisJCQlzY29sc190YWJsZV9zZXRfdGVybXdpZHRoKHRiLCBzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLCAiZmFpbGVkIHRvIHBhcnNlIHRlcm1pbmFsIHdpZHRoIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2Uoc3Rkb3V0KTsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKHN0ZGVycik7CisJCX0KKwl9CisKKwlpZiAobmxpbmVzIDw9IDApCisJCWVycngoRVhJVF9GQUlMVVJFLCAiLS1ubGluZXMgbm90IHNldCIpOworCisJZm9yIChuID0gMDsgbiA8IG5saW5lczsgbisrKSB7CisJCXN0cnVjdCBsaWJzY29sc19saW5lICpsbiA9IHNjb2xzX25ld19saW5lKCk7CisKKwkJaWYgKCFsbiB8fCBzY29sc190YWJsZV9hZGRfbGluZSh0YiwgbG4pKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgImZhaWxlZCB0byBhZGQgYSBuZXcgbGluZSIpOworCX0KKworCW4gPSAwOworCisJd2hpbGUgKG9wdGluZCA8IGFyZ2MpIHsKKwkJRklMRSAqZiA9IGZvcGVuKGFyZ3Zbb3B0aW5kXSwgInIiKTsKKworCQlpZiAoIWYpCisJCQllcnIoRVhJVF9GQUlMVVJFLCAiJXM6IG9wZW4gZmFpbGVkIiwgYXJndltvcHRpbmRdKTsKKworCQlwYXJzZV9jb2x1bW5fZGF0YShmLCB0Yiwgbik7CisJCW9wdGluZCsrOworCQluKys7CisJfQorCisJaWYgKHNjb2xzX3RhYmxlX2lzX3RyZWUodGIpICYmIHBhcmVudF9jb2wgPj0gMCAmJiBpZF9jb2wgPj0gMCkKKwkJY29tcG9zZV90cmVlKHRiLCBwYXJlbnRfY29sLCBpZF9jb2wpOworCisJc2NvbHNfdGFibGVfZW5hYmxlX2NvbG9ycyh0YiwgaXNhdHR5KFNURE9VVF9GSUxFTk8pKTsKKworCXNjb2xzX3ByaW50X3RhYmxlKHRiKTsKKwlzY29sc191bnJlZl90YWJsZSh0Yik7CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL2xpYnNtYXJ0Y29scy9zYW1wbGVzL21heG91dC5jIGIvbGlic21hcnRjb2xzL3NhbXBsZXMvbWF4b3V0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDdhMDVlMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNtYXJ0Y29scy9zYW1wbGVzL21heG91dC5jCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxkaXJlbnQuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJsaWJzbWFydGNvbHMuaCIKKworZW51bSB7IENPTF9MRUZULCBDT0xfRk9PLCBDT0xfUklHSFQgfTsKKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiOworCWludCByYyA9IC0xLCBubGluZXMgPSAzOworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOwkvKiBqdXN0IHRvIGhhdmUgZW5hYmxlIFVURjggY2hhcnMgKi8KKworCXNjb2xzX2luaXRfZGVidWcoMCk7CisKKwl0YiA9IHNjb2xzX25ld190YWJsZSgpOworCWlmICghdGIpCisJCWVycihFWElUX0ZBSUxVUkUsICJmYWlsZWQgdG8gY3JlYXRlIG91dHB1dCB0YWJsZSIpOworCisJc2NvbHNfdGFibGVfZW5hYmxlX21heG91dCh0YiwgVFJVRSk7CisJaWYgKCFzY29sc190YWJsZV9uZXdfY29sdW1uKHRiLCAiTEVGVCIsIDAsIDApKQorCQlnb3RvIGRvbmU7CisJaWYgKCFzY29sc190YWJsZV9uZXdfY29sdW1uKHRiLCAiRk9PIiwgMCwgMCkpCisJCWdvdG8gZG9uZTsKKwlpZiAoIXNjb2xzX3RhYmxlX25ld19jb2x1bW4odGIsICJSSUdIVCIsIDAsIFNDT0xTX0ZMX1JJR0hUKSkKKwkJZ290byBkb25lOworCisJd2hpbGUgKG5saW5lcy0tKSB7CisJCXN0cnVjdCBsaWJzY29sc19saW5lICpsbiA9IHNjb2xzX3RhYmxlX25ld19saW5lKHRiLCBOVUxMKTsKKworCQlzY29sc19saW5lX3NldF9kYXRhKGxuLCBDT0xfTEVGVCwgIkEiKTsKKwkJc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgQ09MX0ZPTywgIkIiKTsKKwkJc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgQ09MX1JJR0hULCAiQyIpOworCX0KKworCXNjb2xzX3ByaW50X3RhYmxlKHRiKTsKKwlyYyA9IDA7Citkb25lOgorCXNjb2xzX3VucmVmX3RhYmxlKHRiKTsKKwlyZXR1cm4gcmMgPT0gMCA/IEVYSVRfU1VDQ0VTUyA6IEVYSVRfRkFJTFVSRTsKK30KZGlmZiAtLWdpdCBhL2xpYnNtYXJ0Y29scy9zYW1wbGVzL3RpdGxlLmMgYi9saWJzbWFydGNvbHMvc2FtcGxlcy90aXRsZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1MjMxNjAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzbWFydGNvbHMvc2FtcGxlcy90aXRsZS5jCkBAIC0wLDAgKzEsMTIyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwLTIwMTQgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxkaXJlbnQuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorCisjaW5jbHVkZSAibGlic21hcnRjb2xzLmgiCisKKworZW51bSB7IENPTF9OQU1FLCBDT0xfREFUQSB9OworCisvKiBhZGQgY29sdW1ucyB0byB0aGUgQHRiICovCitzdGF0aWMgdm9pZCBzZXR1cF9jb2x1bW5zKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJaWYgKCFzY29sc190YWJsZV9uZXdfY29sdW1uKHRiLCAiTkFNRSIsIDAsIDApKQorCQlnb3RvIGZhaWw7CisJaWYgKCFzY29sc190YWJsZV9uZXdfY29sdW1uKHRiLCAiREFUQSIsIDAsIDApKQorCQlnb3RvIGZhaWw7CisJcmV0dXJuOworZmFpbDoKKwlzY29sc191bnJlZl90YWJsZSh0Yik7CisJZXJyKEVYSVRfRkFJTFVSRSwgImZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGNvbHVtbnMiKTsKK30KKworc3RhdGljIHZvaWQgYWRkX2xpbmUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqZGF0YSkKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4gPSBzY29sc190YWJsZV9uZXdfbGluZSh0YiwgTlVMTCk7CisJaWYgKCFsbikKKwkJZXJyKEVYSVRfRkFJTFVSRSwgImZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGxpbmUiKTsKKworCWlmIChzY29sc19saW5lX3NldF9kYXRhKGxuLCBDT0xfTkFNRSwgbmFtZSkpCisJCWdvdG8gZmFpbDsKKwlpZiAoc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgQ09MX0RBVEEsIGRhdGEpKQorCQlnb3RvIGZhaWw7CisJcmV0dXJuOworZmFpbDoKKwlzY29sc191bnJlZl90YWJsZSh0Yik7CisJZXJyKEVYSVRfRkFJTFVSRSwgImZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGxpbmUiKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiOworCXN0cnVjdCBsaWJzY29sc19zeW1ib2xzICpzeTsKKwlzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqdGl0bGU7CisJaW50IGM7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJtYXhvdXQiLCAwLCAwLCAnbScgfSwKKwkJeyAid2lkdGgiLCAgMSwgMCwgJ3cnIH0sCisJCXsgTlVMTCwgMCwgMCwgMCB9LAorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CS8qIGp1c3QgdG8gaGF2ZSBlbmFibGUgVVRGOCBjaGFycyAqLworCisJc2NvbHNfaW5pdF9kZWJ1ZygwKTsKKworCXRiID0gc2NvbHNfbmV3X3RhYmxlKCk7CisJaWYgKCF0YikKKwkJZXJyKEVYSVRfRkFJTFVSRSwgImZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IHRhYmxlIik7CisKKwl3aGlsZSgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJtdzoiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisJCXN3aXRjaChjKSB7CisJCWNhc2UgJ20nOgorCQkJc2NvbHNfdGFibGVfZW5hYmxlX21heG91dCh0YiwgVFJVRSk7CisJCQlicmVhazsKKwkJY2FzZSAndyc6CisJCQlzY29sc190YWJsZV9zZXRfdGVybWZvcmNlKHRiLCBTQ09MU19URVJNRk9SQ0VfQUxXQVlTKTsKKwkJCXNjb2xzX3RhYmxlX3NldF90ZXJtd2lkdGgodGIsIHN0cnRvdTMyX29yX2VycihvcHRhcmcsICJmYWlsZWQgdG8gcGFyc2UgdGVybWluYWwgd2lkdGgiKSk7CisJCQlicmVhazsKKwkJfQorCX0KKworCXNjb2xzX3RhYmxlX2VuYWJsZV9jb2xvcnModGIsIGlzYXR0eShTVERPVVRfRklMRU5PKSk7CisJc2V0dXBfY29sdW1ucyh0Yik7CisJYWRkX2xpbmUodGIsICJmb28iLCAiYmxhIGJsYSBibGEiKTsKKwlhZGRfbGluZSh0YiwgImJhciIsICJhbGIgYWxiIGFsYiIpOworCisJdGl0bGUgPSBzY29sc190YWJsZV9nZXRfdGl0bGUodGIpOworCisJLyogcmlnaHQgKi8KKwlzY29sc19jZWxsX3NldF9kYXRhKHRpdGxlLCAiVGhpcyBpcyByaWdodCB0aXRsZSIpOworCXNjb2xzX2NlbGxfc2V0X2NvbG9yKHRpdGxlLCAicmVkIik7CisJc2NvbHNfY2VsbF9zZXRfZmxhZ3ModGl0bGUsIFNDT0xTX0NFTExfRkxfUklHSFQpOworCXNjb2xzX3ByaW50X3RhYmxlKHRiKTsKKworCS8qIGNlbnRlciAqLworCXN5ID0gc2NvbHNfbmV3X3N5bWJvbHMoKTsKKwlpZiAoIXN5KQorCQllcnJfb29tKCk7CisJc2NvbHNfdGFibGVfc2V0X3N5bWJvbHModGIsIHN5KTsKKworCXNjb2xzX3N5bWJvbHNfc2V0X3RpdGxlX3BhZGRpbmcoc3ksICI9Iik7CisJc2NvbHNfY2VsbF9zZXRfZGF0YSh0aXRsZSwgIlRoaXMgaXMgY2VudGVyIHRpdGxlICh3aXRoIHBhZGRpbmcpIik7CisJc2NvbHNfY2VsbF9zZXRfY29sb3IodGl0bGUsICJncmVlbiIpOworCXNjb2xzX2NlbGxfc2V0X2ZsYWdzKHRpdGxlLCBTQ09MU19DRUxMX0ZMX0NFTlRFUik7CisJc2NvbHNfcHJpbnRfdGFibGUodGIpOworCisJLyogbGVmdCAqLworCXNjb2xzX3N5bWJvbHNfc2V0X3RpdGxlX3BhZGRpbmcoc3ksICItIik7CisJc2NvbHNfY2VsbF9zZXRfZGF0YSh0aXRsZSwgIlRoaXMgaXMgbGVmdCB0aXRsZSAod2l0aCBwYWRkaW5nKSIpOworCXNjb2xzX2NlbGxfc2V0X2NvbG9yKHRpdGxlLCAiYmx1ZSIpOworCXNjb2xzX2NlbGxfc2V0X2ZsYWdzKHRpdGxlLCBTQ09MU19DRUxMX0ZMX0xFRlQpOworCXNjb2xzX3ByaW50X3RhYmxlKHRiKTsKKworCXNjb2xzX3VucmVmX3RhYmxlKHRiKTsKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvbGlic21hcnRjb2xzL3NhbXBsZXMvdHJlZS5jIGIvbGlic21hcnRjb2xzL3NhbXBsZXMvdHJlZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4MDliMmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzbWFydGNvbHMvc2FtcGxlcy90cmVlLmMKQEAgLTAsMCArMSwyNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGRpcmVudC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisKKyNpbmNsdWRlICJsaWJzbWFydGNvbHMuaCIKKworc3RhdGljIGludCBhZGRfY2hpbGRyZW4oc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwKKwkJCXN0cnVjdCBsaWJzY29sc19saW5lICpsbiwgaW50IGZkKTsKKworCitlbnVtIHsgQ09MX01PREUsIENPTF9TSVpFLCBDT0xfTkFNRSB9OworCisvKiBhZGQgY29sdW1ucyB0byB0aGUgQHRiICovCitzdGF0aWMgdm9pZCBzZXR1cF9jb2x1bW5zKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGludCBub3RyZWUpCit7CisJaWYgKCFzY29sc190YWJsZV9uZXdfY29sdW1uKHRiLCAiTU9ERSIsIDAuMywgMCkpCisJCWdvdG8gZmFpbDsKKwlpZiAoIXNjb2xzX3RhYmxlX25ld19jb2x1bW4odGIsICJTSVpFIiwgNSwgU0NPTFNfRkxfUklHSFQpKQorCQlnb3RvIGZhaWw7CisJaWYgKCFzY29sc190YWJsZV9uZXdfY29sdW1uKHRiLCAiTkFNRSIsIDAuNSwKKwkJCShub3RyZWUgPyAwIDogU0NPTFNfRkxfVFJFRSkgfCBTQ09MU19GTF9OT0VYVFJFTUVTKSkKKwkJZ290byBmYWlsOworCisJcmV0dXJuOworZmFpbDoKKwlzY29sc191bnJlZl90YWJsZSh0Yik7CisJZXJyKEVYSVRfRkFJTFVSRSwgImZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGNvbHVtbnMiKTsKK30KKworLyogYWRkIGEgbmV3IGxpbmUgdG8gQHRiLCB0aGUgY29udGVudCBpcyBiYXNlZCBvbiBAc3QgKi8KK3N0YXRpYyBpbnQgYWRkX2xpbmVfZnJvbV9zdGF0KHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsCisJCQkgICAgICBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqcGFyZW50LAorCQkJICAgICAgaW50IHBhcmVudF9mZCwKKwkJCSAgICAgIHN0cnVjdCBzdGF0ICpzdCwKKwkJCSAgICAgIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuOworCWNoYXIgbW9kYnVmWzExXSwgKnA7CisJbW9kZV90IG1vZGUgPSBzdC0+c3RfbW9kZTsKKwlpbnQgcmMgPSAwOworCisJbG4gPSBzY29sc190YWJsZV9uZXdfbGluZSh0YiwgcGFyZW50KTsKKwlpZiAoIWxuKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiZmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgbGluZSIpOworCisJLyogTU9ERTsgbG9jYWwgYnVmZmVyLCB1c2Ugc2NvbHNfbGluZV9zZXRfZGF0YSgpIHRoYXQgY2FsbHMgc3RyZHVwKCkgKi8KKwl4c3RybW9kZShtb2RlLCBtb2RidWYpOworCWlmIChzY29sc19saW5lX3NldF9kYXRhKGxuLCBDT0xfTU9ERSwgbW9kYnVmKSkKKwkJZ290byBmYWlsOworCisJLyogU0laRTsgYWxyZWFkeSBhbGxvY2F0ZWQgc3RyaW5nLCB1c2Ugc2NvbHNfbGluZV9yZWZlcl9kYXRhKCkgKi8KKwlwID0gc2l6ZV90b19odW1hbl9zdHJpbmcoMCwgc3QtPnN0X3NpemUpOworCWlmICghcCB8fCBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIENPTF9TSVpFLCBwKSkKKwkJZ290byBmYWlsOworCisJLyogTkFNRSAqLworCWlmIChzY29sc19saW5lX3NldF9kYXRhKGxuLCBDT0xfTkFNRSwgbmFtZSkpCisJCWdvdG8gZmFpbDsKKworCS8qIGNvbG9ycyAqLworCWlmIChzY29sc190YWJsZV9jb2xvcnNfd2FudGVkKHRiKSkgeworCQlzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2UgPSBzY29sc19saW5lX2dldF9jZWxsKGxuLCBDT0xfTkFNRSk7CisKKwkJaWYgKFNfSVNESVIobW9kZSkpCisJCQlzY29sc19jZWxsX3NldF9jb2xvcihjZSwgImJsdWUiKTsKKwkJZWxzZSBpZiAoU19JU0xOSyhtb2RlKSkKKwkJCXNjb2xzX2NlbGxfc2V0X2NvbG9yKGNlLCAiY3lhbiIpOworCQllbHNlIGlmIChTX0lTQkxLKG1vZGUpKQorCQkJc2NvbHNfY2VsbF9zZXRfY29sb3IoY2UsICJtYWdlbnRhIik7CisJCWVsc2UgaWYgKChtb2RlICYgU19JWE9USCkgfHwgKG1vZGUgJiBTX0lYR1JQKSB8fCAobW9kZSAmIFNfSVhVU1IpKQorCQkJc2NvbHNfY2VsbF9zZXRfY29sb3IoY2UsICJncmVlbiIpOworCX0KKworCWlmIChTX0lTRElSKHN0LT5zdF9tb2RlKSkgeworCQlpbnQgZmQ7CisKKwkJaWYgKHBhcmVudF9mZCA+PSAwKQorCQkJZmQgPSBvcGVuYXQocGFyZW50X2ZkLCBuYW1lLCBPX1JET05MWXxPX05PTkJMT0NLfE9fRElSRUNUT1JZfE9fQ0xPRVhFQyk7CisJCWVsc2UKKwkJCWZkID0gb3BlbihuYW1lLCBPX1JET05MWXxPX05PTkJMT0NLfE9fRElSRUNUT1JZfE9fQ0xPRVhFQyk7CisJCWlmIChmZCA+PSAwKSB7CisJCQlyYyA9IGFkZF9jaGlsZHJlbih0YiwgbG4sIGZkKTsKKwkJCWNsb3NlKGZkKTsKKwkJfQorCX0KKwlyZXR1cm4gcmM7CitmYWlsOgorCWVycihFWElUX0ZBSUxVUkUsICJmYWlsZWQgdG8gY3JlYXRlIGNlbGwgZGF0YSIpOworCXJldHVybiAtMTsKK30KKworLyogcmVhZCBhbGwgZW50cmllcyBmcm9tIGRpcmVjdG9yeSBhZGRyZXNzZWQgYnkgQGZkICovCitzdGF0aWMgaW50IGFkZF9jaGlsZHJlbihzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLAorCQkJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLAorCQkJaW50IGZkKQoreworCURJUiAqZGlyOworCXN0cnVjdCBkaXJlbnQgKmQ7CisKKwlkaXIgPSBmZG9wZW5kaXIoZmQpOworCWlmICghZGlyKQorCQlyZXR1cm4gLWVycm5vOworCisJd2hpbGUgKChkID0gcmVhZGRpcihkaXIpKSkgeworCQlzdHJ1Y3Qgc3RhdCBzdDsKKworCQlpZiAoc3RyY21wKGQtPmRfbmFtZSwgIi4iKSA9PSAwIHx8IHN0cmNtcChkLT5kX25hbWUsICIuLiIpID09IDApCisJCQljb250aW51ZTsKKwkJaWYgKGZzdGF0YXQoZmQsIGQtPmRfbmFtZSwgJnN0LCBBVF9TWU1MSU5LX05PRk9MTE9XKSAhPSAwKQorCQkJY29udGludWU7CisJCWFkZF9saW5lX2Zyb21fc3RhdCh0YiwgbG4sIGZkLCAmc3QsIGQtPmRfbmFtZSk7CisJfQorCWNsb3NlZGlyKGRpcik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGFkZF9saW5lcyhzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBjb25zdCBjaGFyICpkaXJuYW1lKQoreworCXN0cnVjdCBzdGF0IHN0OworCisJaWYgKGxzdGF0KGRpcm5hbWUsICZzdCkpCisJCWVycihFWElUX0ZBSUxVUkUsICIlcyIsIGRpcm5hbWUpOworCisJYWRkX2xpbmVfZnJvbV9zdGF0KHRiLCBOVUxMLCAtMSwgJnN0LCBkaXJuYW1lKTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqb3V0KQoreworCWZwcmludGYob3V0LCAiICVzIFtvcHRpb25zXSBbPGRpcj4gLi4uXVxuXG4iLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisJZnB1dHMoIiAtYywgLS1jc3YgICAgICAgICAgICAgICBkaXNwbGF5IGEgY3N2LWxpa2Ugb3V0cHV0XG4iLCBvdXQpOworCWZwdXRzKCIgLWksIC0tYXNjaWkgICAgICAgICAgICAgdXNlIGFzY2lpIGNoYXJhY3RlcnMgb25seVxuIiwgb3V0KTsKKwlmcHV0cygiIC1sLCAtLWxpc3QgICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIsIG91dCk7CisJZnB1dHMoIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIiwgb3V0KTsKKwlmcHV0cygiIC1wLCAtLXBhaXJzICAgICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIsIG91dCk7CisJZnB1dHMoIiAtSiwgLS1qc29uICAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iLCBvdXQpOworCWZwdXRzKCIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iLCBvdXQpOworCWZwdXRzKCIgLVMsIC0tcmFuZ2Utc3RhcnQgPG4+ICAgZmlyc3QgbGluZSB0byBwcmludFxuIiwgb3V0KTsKKwlmcHV0cygiIC1FLCAtLXJhbmdlLWVuZCA8bj4gICAgIGxhc3QgbGluZSB0byBwcmludFxuIiwgb3V0KTsKKworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YjsKKwlpbnQgYywgbm90cmVlID0gMCwgbnN0YXJ0ID0gLTEsIG5lbmQgPSAtMTsKKworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyAiYXNjaWkiLAkwLCAwLCAnaScgfSwKKwkJeyAiY3N2IiwgICAgICAgIDAsIDAsICdjJyB9LAorCQl7ICJsaXN0IiwgICAgICAgMCwgMCwgJ2wnIH0sCisJCXsgIm5vaGVhZGluZ3MiLAkwLCAwLCAnbicgfSwKKwkJeyAicGFpcnMiLCAgICAgIDAsIDAsICdwJyB9LAorCQl7ICJqc29uIiwgICAgICAgMCwgMCwgJ0onIH0sCisJCXsgInJhdyIsICAgICAgICAwLCAwLCAncicgfSwKKwkJeyAicmFuZ2Utc3RhcnQiLDEsIDAsICdTJyB9LAorCQl7ICJyYW5nZS1lbmQiLCAgMSwgMCwgJ0UnIH0sCisJCXsgTlVMTCwgMCwgMCwgMCB9LAorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CS8qIGp1c3QgdG8gaGF2ZSBlbmFibGUgVVRGOCBjaGFycyAqLworCisJc2NvbHNfaW5pdF9kZWJ1ZygwKTsKKworCXRiID0gc2NvbHNfbmV3X3RhYmxlKCk7CisJaWYgKCF0YikKKwkJZXJyKEVYSVRfRkFJTFVSRSwgImZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IHRhYmxlIik7CisKKwl3aGlsZSgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJjaUpsbnByUzpFOiIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKwkJc3dpdGNoKGMpIHsKKwkJY2FzZSAnYyc6CisJCQlzY29sc190YWJsZV9zZXRfY29sdW1uX3NlcGFyYXRvcih0YiwgIiwiKTsKKwkJCXNjb2xzX3RhYmxlX2VuYWJsZV9yYXcodGIsIDEpOworCQkJbm90cmVlID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdpJzoKKwkJCXNjb2xzX3RhYmxlX2VuYWJsZV9hc2NpaSh0YiwgMSk7CisJCQlicmVhazsKKwkJY2FzZSAnSic6CisJCQlzY29sc190YWJsZV9zZXRfbmFtZSh0YiwgInNjb2xzdGVzdCIpOworCQkJc2NvbHNfdGFibGVfZW5hYmxlX2pzb24odGIsIDEpOworCQkJYnJlYWs7CisJCWNhc2UgJ2wnOgorCQkJbm90cmVlID0gMTsKKwkJCWJyZWFrOworCQljYXNlICduJzoKKwkJCXNjb2xzX3RhYmxlX2VuYWJsZV9ub2hlYWRpbmdzKHRiLCAxKTsKKwkJCWJyZWFrOworCQljYXNlICdwJzoKKwkJCXNjb2xzX3RhYmxlX2VuYWJsZV9leHBvcnQodGIsIDEpOworCQkJbm90cmVlID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdyJzoKKwkJCXNjb2xzX3RhYmxlX2VuYWJsZV9yYXcodGIsIDEpOworCQkJbm90cmVlID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdTJzoKKwkJCW5zdGFydCA9IHN0cnRvczMyX29yX2VycihvcHRhcmcsICJmYWlsZWQgdG8gcGFyc2UgcmFuZ2Ugc3RhcnQiKSAtIDE7CisJCQlicmVhazsKKwkJY2FzZSAnRSc6CisJCQluZW5kID0gc3RydG9zMzJfb3JfZXJyKG9wdGFyZywgImZhaWxlZCB0byBwYXJzZSByYW5nZSBlbmQiKSAtIDE7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKHN0ZGVycik7CisJCX0KKwl9CisKKwlzY29sc190YWJsZV9lbmFibGVfY29sb3JzKHRiLCBpc2F0dHkoU1RET1VUX0ZJTEVOTykpOworCXNldHVwX2NvbHVtbnModGIsIG5vdHJlZSk7CisKKwlpZiAob3B0aW5kID09IGFyZ2MpCisJCWFkZF9saW5lcyh0YiwgIi4iKTsKKwllbHNlIHdoaWxlIChvcHRpbmQgPCBhcmdjKQorCQlhZGRfbGluZXModGIsIGFyZ3Zbb3B0aW5kKytdKTsKKworCWlmIChuc3RhcnQgPj0gMCB8fCBuZW5kID49IDApIHsKKwkJLyogcHJpbnQgc3Vic2V0ICovCisJCXN0cnVjdCBsaWJzY29sc19saW5lICpzdGFydCA9IE5VTEwsICplbmQgPSBOVUxMOworCisJCWlmIChuc3RhcnQgPj0gMCkKKwkJCXN0YXJ0ID0gc2NvbHNfdGFibGVfZ2V0X2xpbmUodGIsIG5zdGFydCk7CisJCWlmIChuZW5kID49IDApCisJCQllbmQgPSBzY29sc190YWJsZV9nZXRfbGluZSh0YiwgbmVuZCk7CisKKwkJaWYgKHN0YXJ0IHx8IGVuZCkKKwkJCXNjb2xzX3RhYmxlX3ByaW50X3JhbmdlKHRiLCBzdGFydCwgZW5kKTsKKwl9IGVsc2UKKwkJLyogcHJpbnQgYWxsIHRhYmxlICovCisJCXNjb2xzX3ByaW50X3RhYmxlKHRiKTsKKworCXNjb2xzX3VucmVmX3RhYmxlKHRiKTsKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvbGlic21hcnRjb2xzL3NhbXBsZXMvd3JhcC5jIGIvbGlic21hcnRjb2xzL3NhbXBsZXMvd3JhcC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5NWJlZjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzbWFydGNvbHMvc2FtcGxlcy93cmFwLmMKQEAgLTAsMCArMSwxMTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGRpcmVudC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisKKyNpbmNsdWRlICJsaWJzbWFydGNvbHMuaCIKKworCitlbnVtIHsgQ09MX05BTUUsIENPTF9ERVNDLCBDT0xfRk9PLCBDT0xfTElLRSwgQ09MX1RFWFQgfTsKKworLyogYWRkIGNvbHVtbnMgdG8gdGhlIEB0YiAqLworc3RhdGljIHZvaWQgc2V0dXBfY29sdW1ucyhzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCWlmICghc2NvbHNfdGFibGVfbmV3X2NvbHVtbih0YiwgIk5BTUUiLCAwLCBTQ09MU19GTF9UUkVFKSkKKwkJZ290byBmYWlsOworCWlmICghc2NvbHNfdGFibGVfbmV3X2NvbHVtbih0YiwgIkRFU0MiLCAwLCAwKSkKKwkJZ290byBmYWlsOworCWlmICghc2NvbHNfdGFibGVfbmV3X2NvbHVtbih0YiwgIkZPTyIsIDAsIFNDT0xTX0ZMX1dSQVApKQorCQlnb3RvIGZhaWw7CisJaWYgKCFzY29sc190YWJsZV9uZXdfY29sdW1uKHRiLCAiTElLRSIsIDAsIFNDT0xTX0ZMX1JJR0hUKSkKKwkJZ290byBmYWlsOworCWlmICghc2NvbHNfdGFibGVfbmV3X2NvbHVtbih0YiwgIlRFWFQiLCAwLCBTQ09MU19GTF9XUkFQKSkKKwkJZ290byBmYWlsOworCXJldHVybjsKK2ZhaWw6CisJc2NvbHNfdW5yZWZfdGFibGUodGIpOworCWVycihFWElUX0ZBSUxVUkUsICJmYWlsZWQgdG8gY3JlYXRlIG91dHB1dCBjb2x1bW5zIik7Cit9CisKK3N0YXRpYyBjaGFyICpnZW5fdGV4dChjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKnN1Yl9wcmVmaXgsIGNoYXIgKmJ1Ziwgc2l6ZV90IHN6KQoreworCWludCB4ID0gc25wcmludGYoYnVmLCBzeiwgICIlcy0lcy0iLCBwcmVmaXgsIHN1Yl9wcmVmaXgpOworCisJZm9yICggOyAoc2l6ZV90KXggPCBzeiAtIDE7IHgrKykKKwkJYnVmW3hdID0gKnByZWZpeDsKKworCWJ1Zlt4KytdID0gJ3gnOworCWJ1Zlt4XSA9ICdcMCc7CisJcmV0dXJuIGJ1ZjsKK30KKworc3RhdGljIHN0cnVjdCBsaWJzY29sc19saW5lICogYWRkX2xpbmUoCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsCisJCQkJCXN0cnVjdCBsaWJzY29sc19saW5lICpwYXJlbnQsCisJCQkJCWNvbnN0IGNoYXIgKnByZWZpeCkKK3sKKwljaGFyIGJ1ZltCVUZTSVpdOworCXN0cnVjdCBsaWJzY29sc19saW5lICpsbiA9IHNjb2xzX3RhYmxlX25ld19saW5lKHRiLCBwYXJlbnQpOworCWlmICghbG4pCisJCWVycihFWElUX0ZBSUxVUkUsICJmYWlsZWQgdG8gY3JlYXRlIG91dHB1dCBsaW5lIik7CisKKwlpZiAoc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgQ09MX05BTUUsIGdlbl90ZXh0KHByZWZpeCwgIk4iLCBidWYsIDE1KSkpCisJCWdvdG8gZmFpbDsKKwlpZiAoc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgQ09MX0RFU0MsIGdlbl90ZXh0KHByZWZpeCwgIkQiLCBidWYsIDEwKSkpCisJCWdvdG8gZmFpbDsKKwlpZiAoc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgQ09MX0ZPTywgZ2VuX3RleHQocHJlZml4LCAiVSIsIGJ1ZiwgNTUpKSkKKwkJZ290byBmYWlsOworCWlmIChzY29sc19saW5lX3NldF9kYXRhKGxuLCBDT0xfTElLRSwgIjEiKSkKKwkJZ290byBmYWlsOworCWlmIChzY29sc19saW5lX3NldF9kYXRhKGxuLCBDT0xfVEVYVCwgZ2VuX3RleHQocHJlZml4LCAiVCIsIGJ1ZiwgNTApKSkKKwkJZ290byBmYWlsOworCXJldHVybiBsbjsKK2ZhaWw6CisJc2NvbHNfdW5yZWZfdGFibGUodGIpOworCWVycihFWElUX0ZBSUxVUkUsICJmYWlsZWQgdG8gY3JlYXRlIG91dHB1dCBsaW5lIik7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YjsKKwlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sICp4bG47CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CS8qIGp1c3QgdG8gaGF2ZSBlbmFibGUgVVRGOCBjaGFycyAqLworCisJc2NvbHNfaW5pdF9kZWJ1ZygwKTsKKworCXRiID0gc2NvbHNfbmV3X3RhYmxlKCk7CisJaWYgKCF0YikKKwkJZXJyKEVYSVRfRkFJTFVSRSwgImZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IHRhYmxlIik7CisKKwlzY29sc190YWJsZV9lbmFibGVfY29sb3JzKHRiLCBpc2F0dHkoU1RET1VUX0ZJTEVOTykpOworCXNldHVwX2NvbHVtbnModGIpOworCisJbG4gPSBhZGRfbGluZSh0YiwgTlVMTCwgIkEiKTsKKwlhZGRfbGluZSh0YiwgbG4sICJhYSIpOworCWFkZF9saW5lKHRiLCBsbiwgImFiIik7CisKKwlsbiA9IGFkZF9saW5lKHRiLCBOVUxMLCAiQiIpOworCXhsbiA9IGFkZF9saW5lKHRiLCBsbiwgImJhIik7CisJYWRkX2xpbmUodGIsIHhsbiwgImJhYSIpOworCWFkZF9saW5lKHRiLCB4bG4sICJiYWIiKTsKKwlhZGRfbGluZSh0YiwgbG4sICJiYiIpOworCisJc2NvbHNfcHJpbnRfdGFibGUodGIpOworCXNjb2xzX3VucmVmX3RhYmxlKHRiKTsKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvbGlic21hcnRjb2xzL3NtYXJ0Y29scy5wYy5pbiBiL2xpYnNtYXJ0Y29scy9zbWFydGNvbHMucGMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGIxNjczOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNtYXJ0Y29scy9zbWFydGNvbHMucGMuaW4KQEAgLTAsMCArMSwxMCBAQAorcHJlZml4PUBwcmVmaXhACitleGVjX3ByZWZpeD1AZXhlY19wcmVmaXhACitsaWJkaXI9QHVzcmxpYl9leGVjZGlyQAoraW5jbHVkZWRpcj1AaW5jbHVkZWRpckAKKworTmFtZTogc21hcnRjb2xzCitEZXNjcmlwdGlvbjogdGFibGUgb3IgdHJlZSBsaWJyYXJ5CitWZXJzaW9uOiBATElCU01BUlRDT0xTX1ZFUlNJT05ACitDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfS9saWJzbWFydGNvbHMKK0xpYnM6IC1MJHtsaWJkaXJ9IC1sc21hcnRjb2xzCmRpZmYgLS1naXQgYS9saWJzbWFydGNvbHMvc3JjLy5naXRpZ25vcmUgYi9saWJzbWFydGNvbHMvc3JjLy5naXRpZ25vcmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjJhMGM1ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNtYXJ0Y29scy9zcmMvLmdpdGlnbm9yZQpAQCAtMCwwICsxIEBACitsaWJzbWFydGNvbHMuaApkaWZmIC0tZ2l0IGEvbGlic21hcnRjb2xzL3NyYy9NYWtlbW9kdWxlLmFtIGIvbGlic21hcnRjb2xzL3NyYy9NYWtlbW9kdWxlLmFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzYzEyY2EKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzbWFydGNvbHMvc3JjL01ha2Vtb2R1bGUuYW0KQEAgLTAsMCArMSw2NCBAQAorCisKKyMgc21hcnRjb2xzLmggaXMgZ2VuZXJhdGVkLCBzbyBpdCdzIHN0b3JlZCBpbiBidWlsZGRpciEKK3NtYXJ0Y29sc2luY2RpciA9ICQoaW5jbHVkZWRpcikvbGlic21hcnRjb2xzCitub2Rpc3Rfc21hcnRjb2xzaW5jX0hFQURFUlMgPSAkKHRvcF9idWlsZGRpcikvbGlic21hcnRjb2xzL3NyYy9saWJzbWFydGNvbHMuaAorCit1c3JsaWJfZXhlY19MVExJQlJBUklFUyArPSBsaWJzbWFydGNvbHMubGEKK2xpYnNtYXJ0Y29sc19sYV9TT1VSQ0VTPSBcCisJaW5jbHVkZS9saXN0LmggXAorCVwKKwlsaWJzbWFydGNvbHMvc3JjL3NtYXJ0Y29sc1AuaCBcCisJbGlic21hcnRjb2xzL3NyYy9pdGVyLmMgXAorCWxpYnNtYXJ0Y29scy9zcmMvc3ltYm9scy5jIFwKKwlsaWJzbWFydGNvbHMvc3JjL2NlbGwuYyBcCisJbGlic21hcnRjb2xzL3NyYy9jb2x1bW4uYyBcCisJbGlic21hcnRjb2xzL3NyYy9saW5lLmMgXAorCWxpYnNtYXJ0Y29scy9zcmMvdGFibGUuYyBcCisJbGlic21hcnRjb2xzL3NyYy90YWJsZV9wcmludC5jIFwKKwlsaWJzbWFydGNvbHMvc3JjL3ZlcnNpb24uYyBcCisJbGlic21hcnRjb2xzL3NyYy9pbml0LmMgXAorCSQobm9kaXN0X3NtYXJ0Y29sc2luY19IRUFERVJTKQorCitub2Rpc3RfbGlic21hcnRjb2xzX2xhX1NPVVJDRVMgPSBsaWJzbWFydGNvbHMvc3JjL3NtYXJ0Y29sc1AuaAorCitsaWJzbWFydGNvbHNfbGFfTElCQUREID0gbGliY29tbW9uLmxhCisKK2xpYnNtYXJ0Y29sc19sYV9DRkxBR1MgPSBcCisJJChBTV9DRkxBR1MpIFwKKwkkKFNPTElCX0NGTEFHUykgXAorCS1JJCh1bF9saWJzbWFydGNvbHNfaW5jZGlyKSBcCisJLUkkKHRvcF9zcmNkaXIpL2xpYnNtYXJ0Y29scy9zcmMKKworbGlic21hcnRjb2xzX2xhX0RFUEVOREVOQ0lFUyA9IFwKKwlsaWJjb21tb24ubGEgXAorCWxpYnNtYXJ0Y29scy9zcmMvbGlic21hcnRjb2xzLnN5bSBcCisJbGlic21hcnRjb2xzL3NyYy9saWJzbWFydGNvbHMuaC5pbgorCitsaWJzbWFydGNvbHNfbGFfTERGTEFHUyA9ICQoU09MSUJfTERGTEFHUykKK2lmIEhBVkVfVlNDUklQVAorbGlic21hcnRjb2xzX2xhX0xERkxBR1MgKz0gJChWU0NSSVBUX0xERkxBR1MpLCQodG9wX3NyY2RpcikvbGlic21hcnRjb2xzL3NyYy9saWJzbWFydGNvbHMuc3ltCitlbmRpZgorbGlic21hcnRjb2xzX2xhX0xERkxBR1MgKz0gLXZlcnNpb24taW5mbyAkKExJQlNNQVJUQ09MU19WRVJTSU9OX0lORk8pCisKK0VYVFJBX0RJU1QgKz0gXAorCWxpYnNtYXJ0Y29scy9zcmMvbGlic21hcnRjb2xzLnN5bSBcCisJbGlic21hcnRjb2xzL3NyYy9saWJzbWFydGNvbHMuaC5pbgorCisjIG1vdmUgbGliIGZyb20gJCh1c3JsaWJfZXhlY2RpcikgdG8gJChsaWJkaXIpIGlmIG5lZWRlZAoraW5zdGFsbC1leGVjLWhvb2stbGlic21hcnRjb2xzOgorCWlmIHRlc3QgIiQodXNybGliX2V4ZWNkaXIpIiAhPSAiJChsaWJkaXIpIiAtYSAtZiAiJChERVNURElSKSQodXNybGliX2V4ZWNkaXIpL2xpYnNtYXJ0Y29scy5zbyI7IHRoZW4gXAorCQkkKE1LRElSX1ApICQoREVTVERJUikkKGxpYmRpcik7IFwKKwkJbXYgJChERVNURElSKSQodXNybGliX2V4ZWNkaXIpL2xpYnNtYXJ0Y29scy5zby4qICQoREVTVERJUikkKGxpYmRpcik7IFwKKwkJc29faW1nX25hbWU9JCQocmVhZGxpbmsgJChERVNURElSKSQodXNybGliX2V4ZWNkaXIpL2xpYnNtYXJ0Y29scy5zbyk7IFwKKwkJc29faW1nX3JlbF90YXJnZXQ9JCQoZWNobyAkKHVzcmxpYl9leGVjZGlyKSB8IHNlZCAncyxcKF4vXHxcKVteL11bXi9dKiwuLixnJyk7IFwKKwkJKGNkICQoREVTVERJUikkKHVzcmxpYl9leGVjZGlyKSAmJiBcCisJCQlybSAtZiBsaWJzbWFydGNvbHMuc28gJiYgXAorCQkJJChMTl9TKSAkJHNvX2ltZ19yZWxfdGFyZ2V0JChsaWJkaXIpLyQkc29faW1nX25hbWUgbGlic21hcnRjb2xzLnNvKTsgXAorCWZpCisKK3VuaW5zdGFsbC1ob29rLWxpYnNtYXJ0Y29sczoKKwlybSAtZiAkKERFU1RESVIpJChsaWJkaXIpL2xpYnNtYXJ0Y29scy5zbyoKKworSU5TVEFMTF9FWEVDX0hPT0tTICs9IGluc3RhbGwtZXhlYy1ob29rLWxpYnNtYXJ0Y29scworVU5JTlNUQUxMX0hPT0tTICs9IHVuaW5zdGFsbC1ob29rLWxpYnNtYXJ0Y29scwpkaWZmIC0tZ2l0IGEvbGlic21hcnRjb2xzL3NyYy9jZWxsLmMgYi9saWJzbWFydGNvbHMvc3JjL2NlbGwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNGU5YmZjCi0tLSAvZGV2L251bGwKKysrIGIvbGlic21hcnRjb2xzL3NyYy9jZWxsLmMKQEAgLTAsMCArMSwyNTUgQEAKKy8qCisgKiBjZWxsLmMgLSBmdW5jdGlvbnMgZm9yIHRhYmxlIGhhbmRsaW5nIGF0IHRoZSBjZWxsIGxldmVsCisgKgorICogQ29weXJpZ2h0IChDKSAyMDE0IE9uZHJlaiBPcHJhbGEgPG9vcHJhbGFAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKy8qKgorICogU0VDVElPTjogY2VsbAorICogQHRpdGxlOiBDZWxsCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGNvbnRhaW5lciBmb3IgeW91ciBkYXRhCisgKgorICogQW4gQVBJIHRvIGFjY2VzcyBhbmQgbW9kaWZ5IHBlci1jZWxsIGRhdGEgYW5kIGluZm9ybWF0aW9uLiBOb3RlIHRoYXQgY2VsbCBpcworICogYWx3YXlzIHBhcnQgb2YgdGhlIGxpbmUuIElmIHlvdSBkZXN0cm95ICh1bi1yZWZlcmVuY2UpIGEgbGluZSB0aGFuIGl0CisgKiBkZXN0cm95cyBhbGwgbGluZSBjZWxscyB0b28uCisgKi8KKworCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKworI2luY2x1ZGUgInNtYXJ0Y29sc1AuaCIKKworLyoKKyAqIFRoZSBjZWxsIGhhcyBubyByZWYtY291bnRpbmcsIGZyZWUoKSBhbmQgbmV3KCkgZnVuY3Rpb25zLiBBbGwgaXMKKyAqIGhhbmRsZWQgYnkgbGlic2NvbHNfbGluZS4KKyAqLworCisvKioKKyAqIHNjb2xzX3Jlc2V0X2NlbGw6CisgKiBAY2U6IHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfY2VsbCBpbnN0YW5jZQorICoKKyAqIEZyZWVzIHRoZSBjZWxsJ3MgaW50ZXJuYWwgZGF0YSBhbmQgcmVzZXRzIGl0cyBzdGF0dXMuCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfcmVzZXRfY2VsbChzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2UpCit7CisJaWYgKCFjZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKkRCRyhDRUxMLCB1bF9kZWJ1Z29iaihjZSwgInJlc2V0IikpOyovCisJZnJlZShjZS0+ZGF0YSk7CisJZnJlZShjZS0+Y29sb3IpOworCW1lbXNldChjZSwgMCwgc2l6ZW9mKCpjZSkpOworCXJldHVybiAwOworfQorCisvKioKKyAqIHNjb2xzX2NlbGxfc2V0X2RhdGE6CisgKiBAY2U6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jZWxsIGluc3RhbmNlCisgKiBAZGF0YTogZGF0YSAodXNlZCBmb3Igc2NvbHNfcHJpbnRfdGFibGUoKSkKKyAqCisgKiBTdG9yZXMgYSBjb3B5IG9mIHRoZSBAc3RyIGluIEBjZSwgdGhlIG9sZCBkYXRhIGFyZSBkZWFsbG9jYXRlZCBieSBmcmVlKCkuCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfY2VsbF9zZXRfZGF0YShzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2UsIGNvbnN0IGNoYXIgKmRhdGEpCit7CisJcmV0dXJuIHN0cmR1cF90b19zdHJ1Y3RfbWVtYmVyKGNlLCBkYXRhLCBkYXRhKTsKK30KKworLyoqCisgKiBzY29sc19jZWxsX3JlZmVyX2RhdGE6CisgKiBAY2U6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jZWxsIGluc3RhbmNlCisgKiBAZGF0YTogZGF0YSAodXNlZCBmb3Igc2NvbHNfcHJpbnRfdGFibGUoKSkKKyAqCisgKiBBZGRzIGEgcmVmZXJlbmNlIHRvIEBzdHIgdG8gQGNlLiBUaGUgcG9pbnRlciBpcyBkZWFsbG9jYXRlZCBieQorICogc2NvbHNfcmVzZXRfY2VsbCgpIG9yIHNjb2xzX3VucmVmX2xpbmUoKS4gVGhpcyBmdW5jdGlvbiBpcyBtb3N0bHkgZGVzaWduZWQKKyAqIGZvciBzaXR1YXRpb25zIHdoZW4gdGhlIGRhdGEgZm9yIHRoZSBjZWxsIGFyZSBhbHJlYWR5IGNvbXBvc2VkIGluIGFsbG9jYXRlZAorICogbWVtb3J5IChlLmcuIGFzcHJpbnRmKCkpIHRvIGF2b2lkIGV4dHJhIHVubmVjZXNzYXJ5IHN0cmR1cCgpLgorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX2NlbGxfcmVmZXJfZGF0YShzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2UsIGNoYXIgKmRhdGEpCit7CisJaWYgKCFjZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJZnJlZShjZS0+ZGF0YSk7CisJY2UtPmRhdGEgPSBkYXRhOworCXJldHVybiAwOworfQorCisvKioKKyAqIHNjb2xzX2NlbGxfZ2V0X2RhdGE6CisgKiBAY2U6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jZWxsIGluc3RhbmNlCisgKgorICogUmV0dXJuczogZGF0YSBpbiBAY2Ugb3IgTlVMTC4KKyAqLworY29uc3QgY2hhciAqc2NvbHNfY2VsbF9nZXRfZGF0YShjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2UpCit7CisJcmV0dXJuIGNlID8gY2UtPmRhdGEgOiBOVUxMOworfQorCisvKioKKyAqIHNjb2xzX2NlbGxfc2V0X3VzZXJkYXRhOgorICogQGNlOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfY2VsbCBpbnN0YW5jZQorICogQGRhdGE6IHByaXZhdGUgdXNlciBkYXRhCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfY2VsbF9zZXRfdXNlcmRhdGEoc3RydWN0IGxpYnNjb2xzX2NlbGwgKmNlLCB2b2lkICpkYXRhKQoreworCWlmICghY2UpCisJCXJldHVybiAtRUlOVkFMOworCWNlLT51c2VyZGF0YSA9IGRhdGE7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogc2NvbHNfY2VsbF9nZXRfdXNlcmRhdGEKKyAqIEBjZTogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NlbGwgaW5zdGFuY2UKKyAqCisgKiBSZXR1cm5zOiB1c2VyIGRhdGEKKyAqLwordm9pZCAqc2NvbHNfY2VsbF9nZXRfdXNlcmRhdGEoc3RydWN0IGxpYnNjb2xzX2NlbGwgKmNlKQoreworCXJldHVybiBjZS0+dXNlcmRhdGE7Cit9CisKKy8qKgorICogc2NvbHNfY21wc3RyX2NlbGxzOgorICogQGE6IHBvaW50ZXIgdG8gY2VsbAorICogQGI6IHBvaW50ZXIgdG8gY2VsbAorICogQGRhdGE6IHVudXNlZCBwb2ludGVyIHRvIHByaXZhdGUgZGF0YSAoZGVmaW5lZCBieSBBUEkpCisgKgorICogQ29tcGFyZXMgY2VsbHMgZGF0YSBieSBzdHJjbXAoKS4gVGhlIGZ1bmN0aW9uIGlzIGRlc2lnbmVkIGZvcgorICogc2NvbHNfY29sdW1uX3NldF9jbXBmdW5jKCkgYW5kIHNjb2xzX3NvcnRfdGFibGUoKS4KKyAqCisgKiBSZXR1cm5zOiBmb2xsb3dzIHN0cmNtcCgpIHJldHVybiB2YWx1ZXMuCisgKi8KK2ludCBzY29sc19jbXBzdHJfY2VsbHMoc3RydWN0IGxpYnNjb2xzX2NlbGwgKmEsCisJCSAgICAgICBzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqYiwKKwkJICAgICAgIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSB2b2lkICpkYXRhKQoreworCWNvbnN0IGNoYXIgKmFkYXRhLCAqYmRhdGE7CisKKwlpZiAoYSA9PSBiKQorCQlyZXR1cm4gMDsKKworCWFkYXRhID0gc2NvbHNfY2VsbF9nZXRfZGF0YShhKTsKKwliZGF0YSA9IHNjb2xzX2NlbGxfZ2V0X2RhdGEoYik7CisKKwlpZiAoYWRhdGEgPT0gTlVMTCAmJiBiZGF0YSA9PSBOVUxMKQorCQlyZXR1cm4gMDsKKwlpZiAoYWRhdGEgPT0gTlVMTCkKKwkJcmV0dXJuIC0xOworCWlmIChiZGF0YSA9PSBOVUxMKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gc3RyY21wKGFkYXRhLCBiZGF0YSk7Cit9CisKKy8qKgorICogc2NvbHNfY2VsbF9zZXRfY29sb3I6CisgKiBAY2U6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jZWxsIGluc3RhbmNlCisgKiBAY29sb3I6IGNvbG9yIG5hbWUgb3IgRVNDIHNlcXVlbmNlCisgKgorICogU2V0IHRoZSBjb2xvciBvZiBAY2UgdG8gQGNvbG9yLgorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX2NlbGxfc2V0X2NvbG9yKHN0cnVjdCBsaWJzY29sc19jZWxsICpjZSwgY29uc3QgY2hhciAqY29sb3IpCit7CisJaWYgKGNvbG9yICYmIGlzYWxwaGEoKmNvbG9yKSkgeworCQljb2xvciA9IGNvbG9yX3NlcXVlbmNlX2Zyb21fY29sb3JuYW1lKGNvbG9yKTsKKwkJaWYgKCFjb2xvcikKKwkJCXJldHVybiAtRUlOVkFMOworCX0KKwlyZXR1cm4gc3RyZHVwX3RvX3N0cnVjdF9tZW1iZXIoY2UsIGNvbG9yLCBjb2xvcik7Cit9CisKKy8qKgorICogc2NvbHNfY2VsbF9nZXRfY29sb3I6CisgKiBAY2U6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jZWxsIGluc3RhbmNlCisgKgorICogUmV0dXJuczogdGhlIGN1cnJlbnQgY29sb3Igb2YgQGNlLgorICovCitjb25zdCBjaGFyICpzY29sc19jZWxsX2dldF9jb2xvcihjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2UpCit7CisJcmV0dXJuIGNlLT5jb2xvcjsKK30KKworLyoqCisgKiBzY29sc19jZWxsX3NldF9mbGFnczoKKyAqIEBjZTogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NlbGwgaW5zdGFuY2UKKyAqIEBmbGFnczogU0NPTFNfQ0VMTF9GTF8qIGZsYWdzCisgKgorICogTm90ZSB0aGF0IGNlbGxzIGluIHRoZSB0YWJsZSBhcmUgYWx3YXlzIGFsaWduZWQgYnkgY29sdW1uIGZsYWdzLiBUaGUgY2VsbAorICogZmxhZ3MgYXJlIHVzZWQgZm9yIHRhYmxlIHRpdGxlIG9ubHkgKG5vdykuCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfY2VsbF9zZXRfZmxhZ3Moc3RydWN0IGxpYnNjb2xzX2NlbGwgKmNlLCBpbnQgZmxhZ3MpCit7CisJaWYgKCFjZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJY2UtPmZsYWdzID0gZmxhZ3M7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogc2NvbHNfY2VsbF9nZXRfZmxhZ3M6CisgKiBAY2U6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jZWxsIGluc3RhbmNlCisgKgorICogUmV0dXJuczogdGhlIGN1cnJlbnQgZmxhZ3MKKyAqLworaW50IHNjb2xzX2NlbGxfZ2V0X2ZsYWdzKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jZWxsICpjZSkKK3sKKwlyZXR1cm4gY2UtPmZsYWdzOworfQorCisvKioKKyAqIHNjb2xzX2NlbGxfZ2V0X2FsaWdubWVudDoKKyAqIEBjZTogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NlbGwgaW5zdGFuY2UKKyAqCisgKiBSZXR1cm5zOiBTQ09MU19DRUxMX0ZMX3tSSUdIVCxDRUxOVEVSLExFRlR9CisgKi8KK2ludCBzY29sc19jZWxsX2dldF9hbGlnbm1lbnQoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NlbGwgKmNlKQoreworCWlmIChjZS0+ZmxhZ3MgJiBTQ09MU19DRUxMX0ZMX1JJR0hUKQorCQlyZXR1cm4gU0NPTFNfQ0VMTF9GTF9SSUdIVDsKKwllbHNlIGlmIChjZS0+ZmxhZ3MgJiBTQ09MU19DRUxMX0ZMX0NFTlRFUikKKwkJcmV0dXJuIFNDT0xTX0NFTExfRkxfQ0VOVEVSOworCisJcmV0dXJuIFNDT0xTX0NFTExfRkxfTEVGVDsJLyogZGVmYXVsdCAqLworfQorCisvKioKKyAqIHNjb2xzX2NlbGxfY29weV9jb250ZW50OgorICogQGRlc3Q6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jZWxsIGluc3RhbmNlCisgKiBAc3JjOiBhIHBvaW50ZXIgdG8gYW4gaW1tdXRhYmxlIHN0cnVjdCBsaWJzY29sc19jZWxsIGluc3RhbmNlCisgKgorICogQ29weSB0aGUgY29udGVudHMgb2YgQHNyYyBpbnRvIEBkZXN0LgorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX2NlbGxfY29weV9jb250ZW50KHN0cnVjdCBsaWJzY29sc19jZWxsICpkZXN0LAorCQkJICAgIGNvbnN0IHN0cnVjdCBsaWJzY29sc19jZWxsICpzcmMpCit7CisJaW50IHJjOworCisJcmMgPSBzY29sc19jZWxsX3NldF9kYXRhKGRlc3QsIHNjb2xzX2NlbGxfZ2V0X2RhdGEoc3JjKSk7CisJaWYgKCFyYykKKwkJcmMgPSBzY29sc19jZWxsX3NldF9jb2xvcihkZXN0LCBzY29sc19jZWxsX2dldF9jb2xvcihzcmMpKTsKKwlpZiAoIXJjKQorCQlkZXN0LT51c2VyZGF0YSA9IHNyYy0+dXNlcmRhdGE7CisKKwlEQkcoQ0VMTCwgdWxfZGVidWdvYmooc3JjLCAiY29weSBpbnRvICVwIiwgZGVzdCkpOworCXJldHVybiByYzsKK30KZGlmZiAtLWdpdCBhL2xpYnNtYXJ0Y29scy9zcmMvY29sdW1uLmMgYi9saWJzbWFydGNvbHMvc3JjL2NvbHVtbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkMzI4NzkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzbWFydGNvbHMvc3JjL2NvbHVtbi5jCkBAIC0wLDAgKzEsNTIwIEBACisvKgorICogY29sdW1uLmMgLSBmdW5jdGlvbnMgZm9yIHRhYmxlIGhhbmRsaW5nIGF0IHRoZSBjb2x1bW4gbGV2ZWwKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgT25kcmVqIE9wcmFsYSA8b29wcmFsYUByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworLyoqCisgKiBTRUNUSU9OOiBjb2x1bW4KKyAqIEB0aXRsZTogQ29sdW1uCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGRlZmluZXMgb3V0cHV0IGNvbHVtbnMgZm9ybWF0cywgaGVhZGVycywgZXRjLgorICoKKyAqIEFuIEFQSSB0byBhY2Nlc3MgYW5kIG1vZGlmeSBwZXItY29sdW1uIGRhdGEgYW5kIGluZm9ybWF0aW9uLgorICovCisKKworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisKKyNpbmNsdWRlICJtYnNhbGlnbi5oIgorCisjaW5jbHVkZSAic21hcnRjb2xzUC5oIgorCisvKioKKyAqIHNjb2xzX25ld19jb2x1bW46CisgKgorICogQWxsb2NhdGVzIHNwYWNlIGZvciBhIG5ldyBjb2x1bW4uCisgKgorICogUmV0dXJuczogYSBwb2ludGVyIHRvIGEgbmV3IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gaW5zdGFuY2UsIE5VTEwgaW4gY2FzZSBvZiBhbiBFTk9NRU0gZXJyb3IuCisgKi8KK3N0cnVjdCBsaWJzY29sc19jb2x1bW4gKnNjb2xzX25ld19jb2x1bW4odm9pZCkKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbDsKKworCWNsID0gY2FsbG9jKDEsIHNpemVvZigqY2wpKTsKKwlpZiAoIWNsKQorCQlyZXR1cm4gTlVMTDsKKwlEQkcoQ09MLCB1bF9kZWJ1Z29iaihjbCwgImFsbG9jIikpOworCWNsLT5yZWZjb3VudCA9IDE7CisJSU5JVF9MSVNUX0hFQUQoJmNsLT5jbF9jb2x1bW5zKTsKKwlyZXR1cm4gY2w7Cit9CisKKy8qKgorICogc2NvbHNfcmVmX2NvbHVtbjoKKyAqIEBjbDogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiBpbnN0YW5jZQorICoKKyAqIEluY3JlYXNlcyB0aGUgcmVmY291bnQgb2YgQGNsLgorICovCit2b2lkIHNjb2xzX3JlZl9jb2x1bW4oc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpCit7CisJaWYgKGNsKQorCQljbC0+cmVmY291bnQrKzsKK30KKworLyoqCisgKiBzY29sc191bnJlZl9jb2x1bW46CisgKiBAY2w6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gaW5zdGFuY2UKKyAqCisgKiBEZWNyZWFzZXMgdGhlIHJlZmNvdW50IG9mIEBjbC4gV2hlbiB0aGUgY291bnQgZmFsbHMgdG8gemVybywgdGhlIGluc3RhbmNlCisgKiBpcyBhdXRvbWF0aWNhbGx5IGRlYWxsb2NhdGVkLgorICovCit2b2lkIHNjb2xzX3VucmVmX2NvbHVtbihzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCkKK3sKKwlpZiAoY2wgJiYgLS1jbC0+cmVmY291bnQgPD0gMCkgeworCQlEQkcoQ09MLCB1bF9kZWJ1Z29iaihjbCwgImRlYWxsb2MiKSk7CisJCWxpc3RfZGVsKCZjbC0+Y2xfY29sdW1ucyk7CisJCXNjb2xzX3Jlc2V0X2NlbGwoJmNsLT5oZWFkZXIpOworCQlmcmVlKGNsLT5jb2xvcik7CisJCWZyZWUoY2wtPnNhZmVjaGFycyk7CisJCWZyZWUoY2wtPnBlbmRpbmdfZGF0YV9idWYpOworCQlmcmVlKGNsKTsKKwl9Cit9CisKKy8qKgorICogc2NvbHNfY29weV9jb2x1bW46CisgKiBAY2w6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gaW5zdGFuY2UKKyAqCisgKiBDcmVhdGVzIGEgbmV3IGNvbHVtbiBhbmQgY29waWVzIEBjbCdzIGRhdGEgb3ZlciB0byBpdC4KKyAqCisgKiBSZXR1cm5zOiBhIHBvaW50ZXIgdG8gYSBuZXcgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiBpbnN0YW5jZS4KKyAqLworc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqc2NvbHNfY29weV9jb2x1bW4oY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpCit7CisJc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqcmV0OworCisJaWYgKCFjbCkKKwkJcmV0dXJuIE5VTEw7CisJcmV0ID0gc2NvbHNfbmV3X2NvbHVtbigpOworCWlmICghcmV0KQorCQlyZXR1cm4gTlVMTDsKKworCURCRyhDT0wsIHVsX2RlYnVnb2JqKGNsLCAiY29weSB0byAlcCIsIHJldCkpOworCisJaWYgKHNjb2xzX2NvbHVtbl9zZXRfY29sb3IocmV0LCBjbC0+Y29sb3IpKQorCQlnb3RvIGVycjsKKwlpZiAoc2NvbHNfY2VsbF9jb3B5X2NvbnRlbnQoJnJldC0+aGVhZGVyLCAmY2wtPmhlYWRlcikpCisJCWdvdG8gZXJyOworCisJcmV0LT53aWR0aAk9IGNsLT53aWR0aDsKKwlyZXQtPndpZHRoX21pbgk9IGNsLT53aWR0aF9taW47CisJcmV0LT53aWR0aF9tYXgJPSBjbC0+d2lkdGhfbWF4OworCXJldC0+d2lkdGhfYXZnCT0gY2wtPndpZHRoX2F2ZzsKKwlyZXQtPndpZHRoX2hpbnQJPSBjbC0+d2lkdGhfaGludDsKKwlyZXQtPmZsYWdzCT0gY2wtPmZsYWdzOworCXJldC0+aXNfZXh0cmVtZSA9IGNsLT5pc19leHRyZW1lOworCisJcmV0dXJuIHJldDsKK2VycjoKKwlzY29sc191bnJlZl9jb2x1bW4ocmV0KTsKKwlyZXR1cm4gTlVMTDsKK30KKworLyoqCisgKiBzY29sc19jb2x1bW5fc2V0X3doaW50OgorICogQGNsOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uIGluc3RhbmNlCisgKiBAd2hpbnQ6IGEgd2lkdGggaGludAorICoKKyAqIFNldHMgdGhlIHdpZHRoIGhpbnQgb2YgY29sdW1uIEBjbCB0byBAd2hpbnQuIFNlZSBzY29sc190YWJsZV9uZXdfY29sdW1uKCkuCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfY29sdW1uX3NldF93aGludChzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCwgZG91YmxlIHdoaW50KQoreworCWlmICghY2wpCisJCXJldHVybiAtRUlOVkFMOworCisJY2wtPndpZHRoX2hpbnQgPSB3aGludDsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBzY29sc19jb2x1bW5fZ2V0X3doaW50OgorICogQGNsOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uIGluc3RhbmNlCisgKgorICogUmV0dXJuczogVGhlIHdpZHRoIGhpbnQgb2YgY29sdW1uIEBjbCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitkb3VibGUgc2NvbHNfY29sdW1uX2dldF93aGludChjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCkKK3sKKwlyZXR1cm4gY2wtPndpZHRoX2hpbnQ7Cit9CisKKy8qKgorICogc2NvbHNfY29sdW1uX3NldF9mbGFnczoKKyAqIEBjbDogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiBpbnN0YW5jZQorICogQGZsYWdzOiBhIGZsYWcgbWFzaworICoKKyAqIFNldHMgdGhlIGZsYWdzIG9mIEBjbCB0byBAZmxhZ3MuCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfY29sdW1uX3NldF9mbGFncyhzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCwgaW50IGZsYWdzKQoreworCWlmICghY2wpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKGNsLT50YWJsZSkgeworCQlpZiAoIShjbC0+ZmxhZ3MgJiBTQ09MU19GTF9UUkVFKSAmJiAoZmxhZ3MgJiBTQ09MU19GTF9UUkVFKSkKKwkJCWNsLT50YWJsZS0+bnRyZWVjb2xzKys7CisJCWVsc2UgaWYgKChjbC0+ZmxhZ3MgJiBTQ09MU19GTF9UUkVFKSAmJiAhKGZsYWdzICYgU0NPTFNfRkxfVFJFRSkpCisJCQljbC0+dGFibGUtPm50cmVlY29scy0tOworCX0KKworCWNsLT5mbGFncyA9IGZsYWdzOworCXJldHVybiAwOworfQorCisvKioKKyAqIHNjb2xzX2NvbHVtbl9nZXRfdGFibGU6CisgKiBAY2w6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gaW5zdGFuY2UKKyAqCisgKiBSZXR1cm5zOiBwb2ludGVyIHRvIHRoZSB0YWJsZSB3aGVyZSBjb2x1bW5zIGlzIHVzZWQKKyAqLworc3RydWN0IGxpYnNjb2xzX3RhYmxlICpzY29sc19jb2x1bW5fZ2V0X3RhYmxlKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKQoreworCXJldHVybiBjbC0+dGFibGU7Cit9CisKKy8qKgorICogc2NvbHNfY29sdW1uX2dldF9mbGFnczoKKyAqIEBjbDogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IFRoZSBmbGFnIG1hc2sgb2YgQGNsLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK2ludCBzY29sc19jb2x1bW5fZ2V0X2ZsYWdzKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKQoreworCXJldHVybiBjbC0+ZmxhZ3M7Cit9CisKKy8qKgorICogc2NvbHNfY29sdW1uX2dldF9oZWFkZXI6CisgKiBAY2w6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gaW5zdGFuY2UKKyAqCisgKiBSZXR1cm5zOiBBIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfY2VsbCBpbnN0YW5jZSwgcmVwcmVzZW50aW5nIHRoZQorICogaGVhZGVyIGluZm8gb2YgY29sdW1uIEBjbCBvciBOVUxMIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK3N0cnVjdCBsaWJzY29sc19jZWxsICpzY29sc19jb2x1bW5fZ2V0X2hlYWRlcihzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCkKK3sKKwlyZXR1cm4gJmNsLT5oZWFkZXI7Cit9CisKKy8qKgorICogc2NvbHNfY29sdW1uX3NldF9jb2xvcjoKKyAqIEBjbDogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiBpbnN0YW5jZQorICogQGNvbG9yOiBjb2xvciBuYW1lIG9yIEVTQyBzZXF1ZW5jZQorICoKKyAqIFRoZSBkZWZhdWx0IGNvbG9yIGZvciBkYXRhIGNlbGxzIGFuZCBjb2x1bW4gaGVhZGVyLgorICoKKyAqIElmIHlvdSB3YW50IHRvIHNldCBoZWFkZXIgc3BlY2lmaWMgY29sb3IgdGhlbiB1c2Ugc2NvbHNfY29sdW1uX2dldF9oZWFkZXIoKQorICogYW5kIHNjb2xzX2NlbGxfc2V0X2NvbG9yKCkuCisgKgorICogSWYgeW91IHdhbnQgdG8gc2V0IGRhdGEgY2VsbCBzcGVjaWZpYyBjb2xvciB0aGUgdXNlIHNjb2xzX2xpbmVfZ2V0X2NlbGwoKSArCisgKiBzY29sc19jZWxsX3NldF9jb2xvcigpLgorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX2NvbHVtbl9zZXRfY29sb3Ioc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wsIGNvbnN0IGNoYXIgKmNvbG9yKQoreworCWlmIChjb2xvciAmJiBpc2FscGhhKCpjb2xvcikpIHsKKwkJY29sb3IgPSBjb2xvcl9zZXF1ZW5jZV9mcm9tX2NvbG9ybmFtZShjb2xvcik7CisJCWlmICghY29sb3IpCisJCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJcmV0dXJuIHN0cmR1cF90b19zdHJ1Y3RfbWVtYmVyKGNsLCBjb2xvciwgY29sb3IpOworfQorCisvKioKKyAqIHNjb2xzX2NvbHVtbl9nZXRfY29sb3I6CisgKiBAY2w6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gaW5zdGFuY2UKKyAqCisgKiBSZXR1cm5zOiBUaGUgY3VycmVudCBjb2xvciBzZXR0aW5nIG9mIHRoZSBjb2x1bW4gQGNsLgorICovCitjb25zdCBjaGFyICpzY29sc19jb2x1bW5fZ2V0X2NvbG9yKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKQoreworCXJldHVybiBjbC0+Y29sb3I7Cit9CisKKy8qKgorICogc2NvbHNfd3JhcG5sX25leHRjaHVuazoKKyAqIEBjbDogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiBpbnN0YW5jZQorICogQGRhdGE6IHN0cmluZworICogQHVzZXJkYXRhOiBjYWxsYmFjayBwcml2YXRlIGRhdGEKKyAqCisgKiBUaGlzIGlzIGJ1aWx0LWluIGZ1bmN0aW9uIGZvciBzY29sc19jb2x1bW5fc2V0X3dyYXBmdW5jKCkuIFRoaXMgZnVuY3Rpb24KKyAqIHRlcm1pbmF0ZXMgdGhlIGN1cnJlbnQgY2h1bmsgYnkgXDAgYW5kIHJldHVybnMgcG9pbnRlciB0byB0aGUgYmVnaW4gb2YKKyAqIHRoZSBuZXh0IGNodW5rLiBUaGUgY2h1bmtzIGFyZSBiYXNlZCBvbiBcbi4KKyAqCisgKiBGb3IgZXhhbXBsZSBmb3IgZGF0YSAiQUFBXG5CQkJcbkNDQyIgdGhlIG5leHQgY2h1bmsgaXMgIkJCQiIuCisgKgorICogUmV0dXJuczogbmV4dCBjaHVuaworICoKKyAqIFNpbmNlOiAyLjI5CisgKi8KK2NoYXIgKnNjb2xzX3dyYXBubF9uZXh0Y2h1bmsoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wgX19hdHRyaWJ1dGVfXygodW51c2VkKSksCisJCQljaGFyICpkYXRhLAorCQkJdm9pZCAqdXNlcmRhdGEgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCit7CisJY2hhciAqcCA9IGRhdGEgPyBzdHJjaHIoZGF0YSwgJ1xuJykgOiBOVUxMOworCisJaWYgKHApIHsKKwkJKnAgPSAnXDAnOworCQlyZXR1cm4gcCArIDE7CisJfQorCXJldHVybiBOVUxMOworfQorCisvKioKKyAqIHNjb2xzX3dyYXBubF9jaHVua3NpemU6CisgKiBAY2w6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gaW5zdGFuY2UKKyAqIEBkYXRhOiBzdHJpbmcKKyAqIEB1c2VyZGF0YTogY2FsbGJhY2sgcHJpdmF0ZSBkYXRhCisgKgorICogQW5hbHl6ZXMgQGRhdGEgYW5kIHJldHVybnMgc2l6ZSBvZiB0aGUgbGFyZ2VzdCBjaHVuay4gVGhlIGNodW5rcyBhcmUgYmFzZWQKKyAqIG9uIFxuLiBGb3IgZXhhbXBsZSBmb3IgZGF0YSAiQUFBXG5CQkJcbkNDQ0MiIHRoZSBsYXJnZXN0IGNodW5rIHNpemUgaXMgNC4KKyAqCisgKiBOb3RlIHRoYXQgdGhlIHNpemUgaGFzIHRvIGJlIGJhc2VkIG9uIG51bWJlciBvZiB0ZXJtaW5hbCBjZWxscyByYXRoZXIgdGhhbgorICogYnl0ZXMgdG8gc3VwcG9ydCBtdWx0dS1ieXRlIG91dHB1dC4KKyAqCisgKiBSZXR1cm5zOiBzaXplIG9mIHRoZSBsYXJnZXN0IGNodW5rLgorICoKKyAqIFNpbmNlOiAyLjI5CisgKi8KK3NpemVfdCBzY29sc193cmFwbmxfY2h1bmtzaXplKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsIF9fYXR0cmlidXRlX18oKHVudXNlZCkpLAorCQljb25zdCBjaGFyICpkYXRhLAorCQl2b2lkICp1c2VyZGF0YSBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwlzaXplX3Qgc3VtID0gMDsKKworCXdoaWxlIChkYXRhICYmICpkYXRhKSB7CisJCWNvbnN0IGNoYXIgKnAgPSBkYXRhOworCQlzaXplX3Qgc3o7CisKKwkJcCA9IHN0cmNocihkYXRhLCAnXG4nKTsKKwkJaWYgKHApIHsKKwkJCXN6ID0gbWJzX3NhZmVfbndpZHRoKGRhdGEsIHAgLSBkYXRhLCBOVUxMKTsKKwkJCXArKzsKKwkJfSBlbHNlCisJCQlzeiA9IG1ic19zYWZlX3dpZHRoKGRhdGEpOworCisJCXN1bSA9IG1heChzdW0sIHN6KTsKKwkJZGF0YSA9IHA7OworCX0KKworCXJldHVybiBzdW07Cit9CisKKy8qKgorICogc2NvbHNfY29sdW1uX3NldF9jbXBmdW5jOgorICogQGNsOiBjb2x1bW4KKyAqIEBjbXA6IHBvaW50ZXIgdG8gY29tcGFyZSBmdW5jdGlvbgorICogQGRhdGE6IHByaXZhdGUgZGF0YSBmb3IgY21wIGZ1bmN0aW9uCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfY29sdW1uX3NldF9jbXBmdW5jKHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsLAorCQkJaW50ICgqY21wKShzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqLAorCQkJCSAgIHN0cnVjdCBsaWJzY29sc19jZWxsICosCisJCQkJICAgdm9pZCAqKSwKKwkJCXZvaWQgKmRhdGEpCit7CisJaWYgKCFjbCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwljbC0+Y21wZnVuYyA9IGNtcDsKKwljbC0+Y21wZnVuY19kYXRhID0gZGF0YTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBzY29sc19jb2x1bW5fc2V0X3dyYXBmdW5jOgorICogQGNsOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uIGluc3RhbmNlCisgKiBAd3JhcF9jaHVua3NpemU6IGZ1bmN0aW9uIHRvIHJldHVybiBzaXplIG9mIHRoZSBsYXJnZXN0IGNoaW5rIG9mIGRhdGEKKyAqIEB3cmFwX25leHRjaHVuazogZnVuY3Rpb24gdG8gcmV0dXJuIG5leHQgemVybyB0ZXJtaW5hdGVkIGRhdGEKKyAqIEB1c2VyZGF0YTogb3B0aW9uYWwgc3R1ZmYgZm9yIGNhbGxiYWNrcworICoKKyAqIEV4dGVuZHMgU0NPTFNfRkxfV1JBUCBhbmQgYWxsb3dzIHRvIHNldCBjdXN0b20gd3JhcCBmdW5jdGlvbi4gVGhlIGRlZmF1bHQKKyAqIGlzIHRvIHdyYXAgYnkgY29sdW1uIHNpemUsIGJ1dCB5b3UgY2FuIGNyZWF0ZSBmdW5jdGlvbnMgdG8gd3JhcCBmb3IgZXhhbXBsZQorICogYWZ0ZXIgXG4gb3IgYWZ0ZXIgd29yZHMsIGV0Yy4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKgorICogU2luY2U6IDIuMjkKKyAqLworaW50IHNjb2xzX2NvbHVtbl9zZXRfd3JhcGZ1bmMoc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wsCisJCQlzaXplX3QgKCp3cmFwX2NodW5rc2l6ZSkoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqLAorCQkJCQkJIGNvbnN0IGNoYXIgKiwKKwkJCQkJCSB2b2lkICopLAorCQkJY2hhciAqICgqd3JhcF9uZXh0Y2h1bmspKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKiwKKwkJCQkJCSBjaGFyICosCisJCQkJCQkgdm9pZCAqKSwKKwkJCXZvaWQgKnVzZXJkYXRhKQoreworCWlmICghY2wpCisJCXJldHVybiAtRUlOVkFMOworCisJY2wtPndyYXBfbmV4dGNodW5rID0gd3JhcF9uZXh0Y2h1bms7CisJY2wtPndyYXBfY2h1bmtzaXplID0gd3JhcF9jaHVua3NpemU7CisJY2wtPndyYXBmdW5jX2RhdGEgPSB1c2VyZGF0YTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBzY29sc19jb2x1bW5fc2V0X3NhZmVjaGFyczoKKyAqIEBjbDogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiBpbnN0YW5jZQorICogQHNhZmU6IHNhZmUgY2hhcmFjdGVycyAoZS5nLiAiXG5cdCIpCisgKgorICogVXNlIGZvciBieXRlcyB5b3UgZG9uJ3Qgd2FudCB0byBlbmNvZGUgb24gb3V0cHV0LiBUaGlzIGlzIGZvciBleGFtcGxlCisgKiBuZWNlc3NhcnkgaWYgeW91IHdhbnQgdG8gdXNlIGN1c3RvbSB3cmFwIGZ1bmN0aW9uIGJhc2VkIG9uIFxuLCBpbiB0aGlzIGNhc2UKKyAqIHlvdSBoYXZlIHRvIHNldCAiXG4iIGFzIGEgc2FmZSBjaGFyLgorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqCisgKiBTaW5jZTogMi4yOQorICovCitpbnQgc2NvbHNfY29sdW1uX3NldF9zYWZlY2hhcnMoc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wsIGNvbnN0IGNoYXIgKnNhZmUpCit7CisJcmV0dXJuIHN0cmR1cF90b19zdHJ1Y3RfbWVtYmVyKGNsLCBzYWZlY2hhcnMsIHNhZmUpOworfQorCisvKioKKyAqIHNjb2xzX2NvbHVtbl9nZXRfc2FmZWNoYXJzOgorICogQGNsOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uIGluc3RhbmNlCisgKgorICogUmV0dXJuczogc2FmZSBjaGFycworICoKKyAqIFNpbmNlOiAyLjI5CisgKi8KK2NvbnN0IGNoYXIgKnNjb2xzX2NvbHVtbl9nZXRfc2FmZWNoYXJzKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKQoreworCXJldHVybiBjbC0+c2FmZWNoYXJzOworfQorCisvKioKKyAqIHNjb2xzX2NvbHVtbl9nZXRfd2lkdGg6CisgKiBAY2w6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gaW5zdGFuY2UKKyAqCisgKiBJbXBvcnRhbnQgbm90ZTogdGhlIGNvbHVtbiB3aWR0aCBpcyB1bmtub3duIHVudGlsIGxpYnJhcnkgc3RhcnRzIHByaW50aW5nCisgKiAod2lkdGggaXMgY2FsY3VsYXRlZCBiZWZvcmUgcHJpbnRpbmcpLiBUaGUgZnVuY3Rpb24gaXMgdXNhYmxlIGZvciBleGFtcGxlIGluCisgKiBuZXh0Y2h1bmsoKSBjYWxsYmFjayBzcGVjaWZpZWQgYnkgc2NvbHNfY29sdW1uX3NldF93cmFwZnVuYygpLgorICoKKyAqIFNlZSBhbHNvIHNjb2xzX2NvbHVtbl9nZXRfd2hpbnQoKSwgaXQgcmV0dXJucyB3YW50ZWQgc2l6ZSAoIT0gZmluYWwgc2l6ZSkuCisgKgorICogUmV0dXJuczogY29sdW1uIHdpZHRoCisgKgorICogU2luY2U6IDIuMjkKKyAqLworc2l6ZV90IHNjb2xzX2NvbHVtbl9nZXRfd2lkdGgoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpCit7CisJcmV0dXJuIGNsLT53aWR0aDsKK30KKworLyoqCisgKiBzY29sc19jb2x1bW5faXNfaGlkZGVuOgorICogQGNsOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uIGluc3RhbmNlCisgKgorICogR2V0cyB0aGUgdmFsdWUgb2YgQGNsJ3MgZmxhZyBoaWRkZW4uCisgKgorICogUmV0dXJuczogMCBvciAxCisgKgorICogU2luY2U6IDIuMjcKKyAqLworaW50IHNjb2xzX2NvbHVtbl9pc19oaWRkZW4oY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpCit7CisJcmV0dXJuIGNsLT5mbGFncyAmIFNDT0xTX0ZMX0hJRERFTiA/IDEgOiAwOworfQorCisvKioKKyAqIHNjb2xzX2NvbHVtbl9pc190cnVuYzoKKyAqIEBjbDogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiBpbnN0YW5jZQorICoKKyAqIEdldHMgdGhlIHZhbHVlIG9mIEBjbCdzIGZsYWcgdHJ1bmMuCisgKgorICogUmV0dXJuczogMCBvciAxCisgKi8KK2ludCBzY29sc19jb2x1bW5faXNfdHJ1bmMoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpCit7CisJcmV0dXJuIGNsLT5mbGFncyAmIFNDT0xTX0ZMX1RSVU5DID8gMSA6IDA7Cit9CisvKioKKyAqIHNjb2xzX2NvbHVtbl9pc190cmVlOgorICogQGNsOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uIGluc3RhbmNlCisgKgorICogR2V0cyB0aGUgdmFsdWUgb2YgQGNsJ3MgZmxhZyB0cmVlLgorICoKKyAqIFJldHVybnM6IDAgb3IgMQorICovCitpbnQgc2NvbHNfY29sdW1uX2lzX3RyZWUoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpCit7CisJcmV0dXJuIGNsLT5mbGFncyAmIFNDT0xTX0ZMX1RSRUUgPyAxIDogMDsKK30KKy8qKgorICogc2NvbHNfY29sdW1uX2lzX3JpZ2h0OgorICogQGNsOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uIGluc3RhbmNlCisgKgorICogR2V0cyB0aGUgdmFsdWUgb2YgQGNsJ3MgZmxhZyByaWdodC4KKyAqCisgKiBSZXR1cm5zOiAwIG9yIDEKKyAqLworaW50IHNjb2xzX2NvbHVtbl9pc19yaWdodChjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCkKK3sKKwlyZXR1cm4gY2wtPmZsYWdzICYgU0NPTFNfRkxfUklHSFQgPyAxIDogMDsKK30KKy8qKgorICogc2NvbHNfY29sdW1uX2lzX3N0cmljdF93aWR0aDoKKyAqIEBjbDogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiBpbnN0YW5jZQorICoKKyAqIEdldHMgdGhlIHZhbHVlIG9mIEBjbCdzIGZsYWcgc3RyaWN0X3dpZHRoLgorICoKKyAqIFJldHVybnM6IDAgb3IgMQorICovCitpbnQgc2NvbHNfY29sdW1uX2lzX3N0cmljdF93aWR0aChjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCkKK3sKKwlyZXR1cm4gY2wtPmZsYWdzICYgU0NPTFNfRkxfU1RSSUNUV0lEVEggPyAxIDogMDsKK30KKy8qKgorICogc2NvbHNfY29sdW1uX2lzX25vZXh0cmVtZXM6CisgKiBAY2w6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gaW5zdGFuY2UKKyAqCisgKiBHZXRzIHRoZSB2YWx1ZSBvZiBAY2wncyBmbGFnIG5vX2V4dHJlbWVzLgorICoKKyAqIFJldHVybnM6IDAgb3IgMQorICovCitpbnQgc2NvbHNfY29sdW1uX2lzX25vZXh0cmVtZXMoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpCit7CisJcmV0dXJuIGNsLT5mbGFncyAmIFNDT0xTX0ZMX05PRVhUUkVNRVMgPyAxIDogMDsKK30KKy8qKgorICogc2NvbHNfY29sdW1uX2lzX3dyYXA6CisgKiBAY2w6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gaW5zdGFuY2UKKyAqCisgKiBHZXRzIHRoZSB2YWx1ZSBvZiBAY2wncyBmbGFnIHdyYXAuCisgKgorICogUmV0dXJuczogMCBvciAxCisgKgorICogU2luY2U6IDIuMjgKKyAqLworaW50IHNjb2xzX2NvbHVtbl9pc193cmFwKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKQoreworCXJldHVybiBjbC0+ZmxhZ3MgJiBTQ09MU19GTF9XUkFQID8gMSA6IDA7Cit9CisvKioKKyAqIHNjb2xzX2NvbHVtbl9pc19jdXN0b213cmFwOgorICogQGNsOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uIGluc3RhbmNlCisgKgorICogUmV0dXJuczogMCBvciAxCisgKgorICogU2luY2U6IDIuMjkKKyAqLworaW50IHNjb2xzX2NvbHVtbl9pc19jdXN0b213cmFwKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKQoreworCXJldHVybiAoY2wtPmZsYWdzICYgU0NPTFNfRkxfV1JBUCkKKwkJJiYgY2wtPndyYXBfY2h1bmtzaXplCisJCSYmIGNsLT53cmFwX25leHRjaHVuayA/IDEgOiAwOworfQpkaWZmIC0tZ2l0IGEvbGlic21hcnRjb2xzL3NyYy9pbml0LmMgYi9saWJzbWFydGNvbHMvc3JjL2luaXQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MDZiMGUxCi0tLSAvZGV2L251bGwKKysrIGIvbGlic21hcnRjb2xzL3NyYy9pbml0LmMKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKy8qKgorICogU0VDVElPTjogaW5pdAorICogQHRpdGxlOiBMaWJyYXJ5IGluaXRpYWxpemF0aW9uCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGluaXRpYWxpemUgZGVidWdnaW5nCisgKgorICogVGhlIGxpYnJhcnkgZGVidWcgc3R1ZmYuCisgKi8KKworI2luY2x1ZGUgPHN0ZGFyZy5oPgorCisjaW5jbHVkZSAic21hcnRjb2xzUC5oIgorCitVTF9ERUJVR19ERUZJTkVfTUFTSyhsaWJzbWFydGNvbHMpOworVUxfREVCVUdfREVGSU5FX01BU0tOQU1FUyhsaWJzbWFydGNvbHMpID0KK3sKKwl7ICJhbGwiLCBTQ09MU19ERUJVR19BTEwsCSJpbmZvIGFib3V0IGFsbCBzdWJzeXN0ZW1zIiB9LAorCXsgImJ1ZmYiLCBTQ09MU19ERUJVR19CVUZGLAkib3V0cHV0IGJ1ZmZlciB1dGlscyIgfSwKKwl7ICJjZWxsIiwgU0NPTFNfREVCVUdfQ0VMTCwJInRhYmxlIGNlbGwgdXRpbHMiIH0sCisJeyAiY29sIiwgU0NPTFNfREVCVUdfQ09MLAkiY29scyB1dGlscyIgfSwKKwl7ICJoZWxwIiwgU0NPTFNfREVCVUdfSEVMUCwJInRoaXMgaGVscCIgfSwKKwl7ICJsaW5lIiwgU0NPTFNfREVCVUdfTElORSwJInRhYmxlIGxpbmUgdXRpbHMiIH0sCisJeyAidGFiIiwgU0NPTFNfREVCVUdfVEFCLAkidGFibGUgdXRpbHMiIH0sCisJeyBOVUxMLCAwLCBOVUxMIH0KK307CisKKy8qKgorICogc2NvbHNfaW5pdF9kZWJ1ZzoKKyAqIEBtYXNrOiBkZWJ1ZyBtYXNrICgweGZmZmYgdG8gZW5hYmxlIGZ1bGwgZGVidWdnaW5nKQorICoKKyAqIElmIHRoZSBAbWFzayBpcyBub3Qgc3BlY2lmaWVkLCB0aGVuIHRoaXMgZnVuY3Rpb24gcmVhZHMKKyAqIHRoZSBMSUJTTUFSVENPTFNfREVCVUcgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gZ2V0IHRoZSBtYXNrLgorICoKKyAqIEFscmVhZHkgaW5pdGlhbGl6ZWQgZGVidWdnaW5nIHN0dWZmIGNhbm5vdCBiZSBjaGFuZ2VkLiBDYWxsaW5nCisgKiB0aGlzIGZ1bmN0aW9uIHR3aWNlIGhhcyBubyBlZmZlY3QuCisgKi8KK3ZvaWQgc2NvbHNfaW5pdF9kZWJ1ZyhpbnQgbWFzaykKK3sKKwlpZiAobGlic21hcnRjb2xzX2RlYnVnX21hc2spCisJCXJldHVybjsKKworCV9fVUxfSU5JVF9ERUJVRyhsaWJzbWFydGNvbHMsIFNDT0xTX0RFQlVHXywgbWFzaywgTElCU01BUlRDT0xTX0RFQlVHKTsKKworCWlmIChsaWJzbWFydGNvbHNfZGVidWdfbWFzayAhPSBTQ09MU19ERUJVR19JTklUCisJICAgICYmIGxpYnNtYXJ0Y29sc19kZWJ1Z19tYXNrICE9IChTQ09MU19ERUJVR19IRUxQfFNDT0xTX0RFQlVHX0lOSVQpKSB7CisJCWNvbnN0IGNoYXIgKnZlciA9IE5VTEw7CisKKwkJc2NvbHNfZ2V0X2xpYnJhcnlfdmVyc2lvbigmdmVyKTsKKworCQlEQkcoSU5JVCwgdWxfZGVidWcoImxpYnJhcnkgZGVidWcgbWFzazogMHglMDR4IiwgbGlic21hcnRjb2xzX2RlYnVnX21hc2spKTsKKwkJREJHKElOSVQsIHVsX2RlYnVnKCJsaWJyYXJ5IHZlcnNpb246ICVzIiwgdmVyKSk7CisJfQorCU9OX0RCRyhIRUxQLCB1bF9kZWJ1Z19wcmludF9tYXNrcygiTElCU01BUlRDT0xTX0RFQlVHIiwKKwkJCQlVTF9ERUJVR19NQVNLTkFNRVMobGlic21hcnRjb2xzKSkpOworfQpkaWZmIC0tZ2l0IGEvbGlic21hcnRjb2xzL3NyYy9pdGVyLmMgYi9saWJzbWFydGNvbHMvc3JjL2l0ZXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MWNjMDgwCi0tLSAvZGV2L251bGwKKysrIGIvbGlic21hcnRjb2xzL3NyYy9pdGVyLmMKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOS0yMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDE0IE9uZHJlaiBPcHJhbGEgPG9vcHJhbGFAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKy8qKgorICogU0VDVElPTjogaXRlcgorICogQHRpdGxlOiBJdGVyYXRvcgorICogQHNob3J0X2Rlc2NyaXB0aW9uOiB1bmlmaWVkIGl0ZXJhdG9yCisgKgorICogVGhlIGl0ZXJhdG9yIGtlZXBzIHRoZSBkaXJlY3Rpb24gYW5kIHRoZSBsYXN0IHBvc2l0aW9uCisgKiBmb3IgYWNjZXNzIHRvIHRoZSBpbnRlcm5hbCBsaWJyYXJ5IHRhYmxlcy9saXN0cy4KKyAqLworCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisKKyNpbmNsdWRlICJzbWFydGNvbHNQLmgiCisKKy8qKgorICogc2NvbHNfbmV3X2l0ZXI6CisgKiBAZGlyZWN0aW9uOiBTQ09MU19JTlRFUl97Rk9SLEJBQ0t9V0FSRCBkaXJlY3Rpb24KKyAqCisgKiBSZXR1cm5zOiBuZXdseSBhbGxvY2F0ZWQgZ2VuZXJpYyBsaWJtb3VudCBpdGVyYXRvci4KKyAqLworc3RydWN0IGxpYnNjb2xzX2l0ZXIgKnNjb2xzX25ld19pdGVyKGludCBkaXJlY3Rpb24pCit7CisJc3RydWN0IGxpYnNjb2xzX2l0ZXIgKml0ciA9IGNhbGxvYygxLCBzaXplb2YoKml0cikpOworCWlmICghaXRyKQorCQlyZXR1cm4gTlVMTDsKKwlpdHItPmRpcmVjdGlvbiA9IGRpcmVjdGlvbjsKKwlyZXR1cm4gaXRyOworfQorCisvKioKKyAqIHNjb2xzX2ZyZWVfaXRlcjoKKyAqIEBpdHI6IGl0ZXJhdG9yIHBvaW50ZXIKKyAqCisgKiBEZWFsbG9jYXRlcyB0aGUgaXRlcmF0b3IuCisgKi8KK3ZvaWQgc2NvbHNfZnJlZV9pdGVyKHN0cnVjdCBsaWJzY29sc19pdGVyICppdHIpCit7CisJZnJlZShpdHIpOworfQorCisvKioKKyAqIHNjb2xzX3Jlc2V0X2l0ZXI6CisgKiBAaXRyOiBpdGVyYXRvciBwb2ludGVyCisgKiBAZGlyZWN0aW9uOiBTQ09MU19JTlRFUl97Rk9SLEJBQ0t9V0FSRCBvciAtMSB0byBrZWVwIHRoZSBkaXJlY3Rpb24gdW5jaGFuZ2VkCisgKgorICogUmVzZXRzIHRoZSBpdGVyYXRvci4KKyAqLwordm9pZCBzY29sc19yZXNldF9pdGVyKHN0cnVjdCBsaWJzY29sc19pdGVyICppdHIsIGludCBkaXJlY3Rpb24pCit7CisJaWYgKGRpcmVjdGlvbiA9PSAtMSkKKwkJZGlyZWN0aW9uID0gaXRyLT5kaXJlY3Rpb247CisKKwltZW1zZXQoaXRyLCAwLCBzaXplb2YoKml0cikpOworCWl0ci0+ZGlyZWN0aW9uID0gZGlyZWN0aW9uOworfQorCisvKioKKyAqIHNjb2xzX2l0ZXJfZ2V0X2RpcmVjdGlvbjoKKyAqIEBpdHI6IGl0ZXJhdG9yIHBvaW50ZXIKKyAqCisgKiBSZXR1cm5zOiBTQ09MU19JTlRFUl97Rk9SLEJBQ0t9V0FSRAorICovCitpbnQgc2NvbHNfaXRlcl9nZXRfZGlyZWN0aW9uKGNvbnN0IHN0cnVjdCBsaWJzY29sc19pdGVyICppdHIpCit7CisJcmV0dXJuIGl0ci0+ZGlyZWN0aW9uOworfQpkaWZmIC0tZ2l0IGEvbGlic21hcnRjb2xzL3NyYy9saWJzbWFydGNvbHMuaC5pbiBiL2xpYnNtYXJ0Y29scy9zcmMvbGlic21hcnRjb2xzLmguaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODhjNjQ2NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNtYXJ0Y29scy9zcmMvbGlic21hcnRjb2xzLmguaW4KQEAgLTAsMCArMSwzMDAgQEAKKy8qCisgKiBQcmludHMgdGFibGUgb3IgdHJlZS4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgT25kcmVqIE9wcmFsYSA8b29wcmFsYUByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpZm5kZWYgX0xJQlNNQVJUQ09MU19ICisjZGVmaW5lIF9MSUJTTUFSVENPTFNfSAorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorCisvKioKKyAqIExJQlNNQVJUQ09MU19WRVJTSU9OOgorICoKKyAqIExpYnJhcnkgdmVyc2lvbiBzdHJpbmcKKyAqLworI2RlZmluZSBMSUJTTUFSVENPTFNfVkVSU0lPTiAgICJATElCU01BUlRDT0xTX1ZFUlNJT05AIgorCisvKioKKyAqIGxpYnNjb2xzX2l0ZXI6CisgKgorICogR2VuZXJpYyBpdGVyYXRvcgorICovCitzdHJ1Y3QgbGlic2NvbHNfaXRlcjsKKworLyoqCisgKiBsaWJzY29sc19zeW1ib2xzOgorICoKKyAqIFN5bWJvbCBncm91cHMgZm9yIHByaW50aW5nIHRyZWUgaGllcmFyY2hpZXMKKyAqLworc3RydWN0IGxpYnNjb2xzX3N5bWJvbHM7CisKKy8qKgorICogbGlic2NvbHNfY2VsbDoKKyAqCisgKiBBIGNlbGwgLSB0aGUgc21hbGxlc3QgbGlicmFyeSBvYmplY3QKKyAqLworc3RydWN0IGxpYnNjb2xzX2NlbGw7CisKKy8qKgorICogbGlic2NvbHNfbGluZToKKyAqCisgKiBBIGxpbmUgLSBhbiBhcnJheSBvZiBjZWxscworICovCitzdHJ1Y3QgbGlic2NvbHNfbGluZTsKKworLyoqCisgKiBsaWJzY29sc190YWJsZToKKyAqCisgKiBBIHRhYmxlIC0gVGhlIG1vc3QgYWJzdHJhY3Qgb2JqZWN0LCBlbmNhcHN1bGF0aW5nIGxpbmVzLCBjb2x1bW5zLCBzeW1ib2xzIGFuZCBjZWxscworICovCitzdHJ1Y3QgbGlic2NvbHNfdGFibGU7CisKKy8qKgorICogbGlic2NvbHNfY29sdW1uOgorICoKKyAqIEEgY29sdW1uIC0gZGVmaW5lcyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIGNvbHVtbiBuYW1lcworICovCitzdHJ1Y3QgbGlic2NvbHNfY29sdW1uOworCisvKiBpdGVyLmMgKi8KK2VudW0geworCisJU0NPTFNfSVRFUl9GT1JXQVJEID0gMCwKKwlTQ09MU19JVEVSX0JBQ0tXQVJECit9OworCisvKgorICogQ29sdW1uIGZsYWdzCisgKi8KK2VudW0geworCVNDT0xTX0ZMX1RSVU5DICAgICAgID0gKDEgPDwgMCksICAgLyogdHJ1bmNhdGUgZmllbGRzIGRhdGEgaWYgbmVjZXNzYXJ5ICovCisJU0NPTFNfRkxfVFJFRSAgICAgICAgPSAoMSA8PCAxKSwgICAvKiB1c2UgdHJlZSAiYXNjaWkgYXJ0IiAqLworCVNDT0xTX0ZMX1JJR0hUCSAgICAgPSAoMSA8PCAyKSwgICAvKiBhbGlnbiB0byB0aGUgcmlnaHQgKi8KKwlTQ09MU19GTF9TVFJJQ1RXSURUSCA9ICgxIDw8IDMpLCAgIC8qIGRvbid0IHJlZHVjZSB3aWR0aCBpZiBjb2x1bW4gaXMgZW1wdHkgKi8KKwlTQ09MU19GTF9OT0VYVFJFTUVTICA9ICgxIDw8IDQpLCAgIC8qIGlnbm9yZSBleHRyZW1lIGZpZWxkcyB3aGVuIGNvdW50IGNvbHVtbiB3aWR0aCovCisJU0NPTFNfRkxfSElEREVOCSAgICAgPSAoMSA8PCA1KSwgICAvKiBtYWludGFpbiBkYXRhLCBidXQgZG9uJ3QgcHJpbnQgKi8KKwlTQ09MU19GTF9XUkFQCSAgICAgPSAoMSA8PCA2KSAgICAvKiB3cmFwIGxvbmcgbGluZXMgdG8gbXVsdGktbGluZSBjZWxscyAqLworfTsKKworLyoKKyAqIENlbGwgZmxhZ3MsIHNlZSBzY29sc19jZWxsX3NldF9mbGFncygpIGJlZm9yZSB1c2UKKyAqLworZW51bSB7CisJLyogYWxpZ25tZW50IGV2YWx1YXRlZCBpbiBvcmRlcjogcmlnaHQsY2VudGVyLGxlZnQgKi8KKwlTQ09MU19DRUxMX0ZMX0xFRlQgICAgPSAwLAorCVNDT0xTX0NFTExfRkxfQ0VOVEVSICA9ICgxIDw8IDApLAorCVNDT0xTX0NFTExfRkxfUklHSFQgICA9ICgxIDw8IDEpCit9OworCitleHRlcm4gc3RydWN0IGxpYnNjb2xzX2l0ZXIgKnNjb2xzX25ld19pdGVyKGludCBkaXJlY3Rpb24pOworZXh0ZXJuIHZvaWQgc2NvbHNfZnJlZV9pdGVyKHN0cnVjdCBsaWJzY29sc19pdGVyICppdHIpOworZXh0ZXJuIHZvaWQgc2NvbHNfcmVzZXRfaXRlcihzdHJ1Y3QgbGlic2NvbHNfaXRlciAqaXRyLCBpbnQgZGlyZWN0aW9uKTsKK2V4dGVybiBpbnQgc2NvbHNfaXRlcl9nZXRfZGlyZWN0aW9uKGNvbnN0IHN0cnVjdCBsaWJzY29sc19pdGVyICppdHIpOworCisvKiBpbml0LmMgKi8KK2V4dGVybiB2b2lkIHNjb2xzX2luaXRfZGVidWcoaW50IG1hc2spOworCisvKiB2ZXJzaW9uLmMgKi8KK2V4dGVybiBpbnQgc2NvbHNfcGFyc2VfdmVyc2lvbl9zdHJpbmcoY29uc3QgY2hhciAqdmVyX3N0cmluZyk7CitleHRlcm4gaW50IHNjb2xzX2dldF9saWJyYXJ5X3ZlcnNpb24oY29uc3QgY2hhciAqKnZlcl9zdHJpbmcpOworCisvKiBzeW1ib2xzLmMgKi8KK2V4dGVybiBzdHJ1Y3QgbGlic2NvbHNfc3ltYm9scyAqc2NvbHNfbmV3X3N5bWJvbHModm9pZCk7CitleHRlcm4gdm9pZCBzY29sc19yZWZfc3ltYm9scyhzdHJ1Y3QgbGlic2NvbHNfc3ltYm9scyAqc3kpOworZXh0ZXJuIHZvaWQgc2NvbHNfdW5yZWZfc3ltYm9scyhzdHJ1Y3QgbGlic2NvbHNfc3ltYm9scyAqc3kpOworZXh0ZXJuIHN0cnVjdCBsaWJzY29sc19zeW1ib2xzICpzY29sc19jb3B5X3N5bWJvbHMoY29uc3Qgc3RydWN0IGxpYnNjb2xzX3N5bWJvbHMgKnN5KTsKK2V4dGVybiBpbnQgc2NvbHNfc3ltYm9sc19zZXRfYnJhbmNoKHN0cnVjdCBsaWJzY29sc19zeW1ib2xzICpzeSwgY29uc3QgY2hhciAqc3RyKTsKK2V4dGVybiBpbnQgc2NvbHNfc3ltYm9sc19zZXRfdmVydGljYWwoc3RydWN0IGxpYnNjb2xzX3N5bWJvbHMgKnN5LCBjb25zdCBjaGFyICpzdHIpOworZXh0ZXJuIGludCBzY29sc19zeW1ib2xzX3NldF9yaWdodChzdHJ1Y3QgbGlic2NvbHNfc3ltYm9scyAqc3ksIGNvbnN0IGNoYXIgKnN0cik7CitleHRlcm4gaW50IHNjb2xzX3N5bWJvbHNfc2V0X3RpdGxlX3BhZGRpbmcoc3RydWN0IGxpYnNjb2xzX3N5bWJvbHMgKnN5LCBjb25zdCBjaGFyICpzdHIpOworZXh0ZXJuIGludCBzY29sc19zeW1ib2xzX3NldF9jZWxsX3BhZGRpbmcoc3RydWN0IGxpYnNjb2xzX3N5bWJvbHMgKnN5LCBjb25zdCBjaGFyICpzdHIpOworCisvKiBjZWxsLmMgKi8KK2V4dGVybiBpbnQgc2NvbHNfcmVzZXRfY2VsbChzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2UpOworZXh0ZXJuIGludCBzY29sc19jZWxsX2NvcHlfY29udGVudChzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqZGVzdCwKKwkJCQkgICBjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqc3JjKTsKK2V4dGVybiBpbnQgc2NvbHNfY2VsbF9zZXRfZGF0YShzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2UsIGNvbnN0IGNoYXIgKmRhdGEpOworZXh0ZXJuIGludCBzY29sc19jZWxsX3JlZmVyX2RhdGEoc3RydWN0IGxpYnNjb2xzX2NlbGwgKmNlLCBjaGFyICpkYXRhKTsKK2V4dGVybiBjb25zdCBjaGFyICpzY29sc19jZWxsX2dldF9kYXRhKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jZWxsICpjZSk7CitleHRlcm4gaW50IHNjb2xzX2NlbGxfc2V0X2NvbG9yKHN0cnVjdCBsaWJzY29sc19jZWxsICpjZSwgY29uc3QgY2hhciAqY29sb3IpOworZXh0ZXJuIGNvbnN0IGNoYXIgKnNjb2xzX2NlbGxfZ2V0X2NvbG9yKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jZWxsICpjZSk7CisKK2V4dGVybiBpbnQgc2NvbHNfY2VsbF9zZXRfZmxhZ3Moc3RydWN0IGxpYnNjb2xzX2NlbGwgKmNlLCBpbnQgZmxhZ3MpOworZXh0ZXJuIGludCBzY29sc19jZWxsX2dldF9mbGFncyhjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2UpOworCitleHRlcm4gdm9pZCAqc2NvbHNfY2VsbF9nZXRfdXNlcmRhdGEoc3RydWN0IGxpYnNjb2xzX2NlbGwgKmNlKTsKK2V4dGVybiBpbnQgc2NvbHNfY2VsbF9zZXRfdXNlcmRhdGEoc3RydWN0IGxpYnNjb2xzX2NlbGwgKmNlLCB2b2lkICpkYXRhKTsKKworZXh0ZXJuIGludCBzY29sc19jbXBzdHJfY2VsbHMoc3RydWN0IGxpYnNjb2xzX2NlbGwgKmEsCisJCQkgICAgICBzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqYiwgdm9pZCAqZGF0YSk7CisvKiBjb2x1bW4uYyAqLworZXh0ZXJuIGludCBzY29sc19jb2x1bW5faXNfdHJlZShjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCk7CitleHRlcm4gaW50IHNjb2xzX2NvbHVtbl9pc190cnVuYyhjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCk7CitleHRlcm4gaW50IHNjb2xzX2NvbHVtbl9pc19yaWdodChjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCk7CitleHRlcm4gaW50IHNjb2xzX2NvbHVtbl9pc19zdHJpY3Rfd2lkdGgoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpOworZXh0ZXJuIGludCBzY29sc19jb2x1bW5faXNfaGlkZGVuKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKTsKK2V4dGVybiBpbnQgc2NvbHNfY29sdW1uX2lzX25vZXh0cmVtZXMoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpOworZXh0ZXJuIGludCBzY29sc19jb2x1bW5faXNfd3JhcChjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCk7CitleHRlcm4gaW50IHNjb2xzX2NvbHVtbl9pc19jdXN0b213cmFwKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKTsKKworZXh0ZXJuIHNpemVfdCBzY29sc19jb2x1bW5fZ2V0X3dpZHRoKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKTsKKworZXh0ZXJuIGludCBzY29sc19jb2x1bW5fc2V0X3NhZmVjaGFycyhzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCwgY29uc3QgY2hhciAqc2FmZSk7CitleHRlcm4gY29uc3QgY2hhciAqc2NvbHNfY29sdW1uX2dldF9zYWZlY2hhcnMoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpOworCitleHRlcm4gaW50IHNjb2xzX2NvbHVtbl9zZXRfZmxhZ3Moc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wsIGludCBmbGFncyk7CitleHRlcm4gaW50IHNjb2xzX2NvbHVtbl9nZXRfZmxhZ3MoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpOworZXh0ZXJuIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKnNjb2xzX25ld19jb2x1bW4odm9pZCk7CitleHRlcm4gdm9pZCBzY29sc19yZWZfY29sdW1uKHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKTsKK2V4dGVybiB2b2lkIHNjb2xzX3VucmVmX2NvbHVtbihzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCk7CitleHRlcm4gc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqc2NvbHNfY29weV9jb2x1bW4oY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpOworZXh0ZXJuIGludCBzY29sc19jb2x1bW5fc2V0X3doaW50KHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsLCBkb3VibGUgd2hpbnQpOworZXh0ZXJuIGRvdWJsZSBzY29sc19jb2x1bW5fZ2V0X3doaW50KGNvbnN0IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKTsKK2V4dGVybiBzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqc2NvbHNfY29sdW1uX2dldF9oZWFkZXIoc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpOworZXh0ZXJuIGludCBzY29sc19jb2x1bW5fc2V0X2NvbG9yKHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsLCBjb25zdCBjaGFyICpjb2xvcik7CitleHRlcm4gY29uc3QgY2hhciAqc2NvbHNfY29sdW1uX2dldF9jb2xvcihjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCk7CitleHRlcm4gc3RydWN0IGxpYnNjb2xzX3RhYmxlICpzY29sc19jb2x1bW5fZ2V0X3RhYmxlKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKTsKKworZXh0ZXJuIGludCBzY29sc19jb2x1bW5fc2V0X2NtcGZ1bmMoc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wsCisJCQlpbnQgKCpjbXApKHN0cnVjdCBsaWJzY29sc19jZWxsICphLAorCQkJCSAgIHN0cnVjdCBsaWJzY29sc19jZWxsICpiLCB2b2lkICopLAorCQkJdm9pZCAqZGF0YSk7CisKK2V4dGVybiBpbnQgc2NvbHNfY29sdW1uX3NldF93cmFwZnVuYyhzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCwKKwkJCXNpemVfdCAoKndyYXBfY2h1bmtzaXplKShjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICosCisJCQkJCSBjb25zdCBjaGFyICosIHZvaWQgKiksCisJCQljaGFyICogKCp3cmFwX25leHRjaHVuaykoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqLAorCQkJCQkgY2hhciAqLCB2b2lkICopLAorCQkJdm9pZCAqdXNlcmRhdGEpOworCitleHRlcm4gY2hhciAqc2NvbHNfd3JhcG5sX25leHRjaHVuayhjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCwgY2hhciAqZGF0YSwgdm9pZCAqdXNlcmRhdGEpOworZXh0ZXJuIHNpemVfdCBzY29sc193cmFwbmxfY2h1bmtzaXplKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsLCBjb25zdCBjaGFyICpkYXRhLCB2b2lkICp1c2VyZGF0YSk7CisKKy8qIGxpbmUuYyAqLworZXh0ZXJuIHN0cnVjdCBsaWJzY29sc19saW5lICpzY29sc19uZXdfbGluZSh2b2lkKTsKK2V4dGVybiB2b2lkIHNjb2xzX3JlZl9saW5lKHN0cnVjdCBsaWJzY29sc19saW5lICpsbik7CitleHRlcm4gdm9pZCBzY29sc191bnJlZl9saW5lKHN0cnVjdCBsaWJzY29sc19saW5lICpsbik7CitleHRlcm4gaW50IHNjb2xzX2xpbmVfYWxsb2NfY2VsbHMoc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLCBzaXplX3Qgbik7CitleHRlcm4gdm9pZCBzY29sc19saW5lX2ZyZWVfY2VsbHMoc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuKTsKK2V4dGVybiBpbnQgc2NvbHNfbGluZV9zZXRfdXNlcmRhdGEoc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLCB2b2lkICpkYXRhKTsKK2V4dGVybiB2b2lkICpzY29sc19saW5lX2dldF91c2VyZGF0YShzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4pOworZXh0ZXJuIGludCBzY29sc19saW5lX3JlbW92ZV9jaGlsZChzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sIHN0cnVjdCBsaWJzY29sc19saW5lICpjaGlsZCk7CitleHRlcm4gaW50IHNjb2xzX2xpbmVfYWRkX2NoaWxkKHN0cnVjdCBsaWJzY29sc19saW5lICpsbiwgc3RydWN0IGxpYnNjb2xzX2xpbmUgKmNoaWxkKTsKK2V4dGVybiBpbnQgc2NvbHNfbGluZV9oYXNfY2hpbGRyZW4oc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuKTsKK2V4dGVybiBpbnQgc2NvbHNfbGluZV9uZXh0X2NoaWxkKHN0cnVjdCBsaWJzY29sc19saW5lICpsbiwKKwkJCSAgc3RydWN0IGxpYnNjb2xzX2l0ZXIgKml0ciwgc3RydWN0IGxpYnNjb2xzX2xpbmUgKipjaGxkKTsKK2V4dGVybiBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqc2NvbHNfbGluZV9nZXRfcGFyZW50KGNvbnN0IHN0cnVjdCBsaWJzY29sc19saW5lICpsbik7CitleHRlcm4gaW50IHNjb2xzX2xpbmVfc2V0X2NvbG9yKHN0cnVjdCBsaWJzY29sc19saW5lICpsbiwgY29uc3QgY2hhciAqY29sb3IpOworZXh0ZXJuIGNvbnN0IGNoYXIgKnNjb2xzX2xpbmVfZ2V0X2NvbG9yKGNvbnN0IHN0cnVjdCBsaWJzY29sc19saW5lICpsbik7CitleHRlcm4gc2l6ZV90IHNjb2xzX2xpbmVfZ2V0X25jZWxscyhjb25zdCBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4pOworZXh0ZXJuIHN0cnVjdCBsaWJzY29sc19jZWxsICpzY29sc19saW5lX2dldF9jZWxsKHN0cnVjdCBsaWJzY29sc19saW5lICpsbiwgc2l6ZV90IG4pOworZXh0ZXJuIHN0cnVjdCBsaWJzY29sc19jZWxsICpzY29sc19saW5lX2dldF9jb2x1bW5fY2VsbCgKKwkJICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLAorCQkgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCk7CitleHRlcm4gaW50IHNjb2xzX2xpbmVfc2V0X2RhdGEoc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLCBzaXplX3QgbiwgY29uc3QgY2hhciAqZGF0YSk7CitleHRlcm4gaW50IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sIHNpemVfdCBuLCBjaGFyICpkYXRhKTsKK2V4dGVybiBpbnQgc2NvbHNfbGluZV9zZXRfY29sdW1uX2RhdGEoc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCwgY29uc3QgY2hhciAqZGF0YSk7CitleHRlcm4gaW50IHNjb2xzX2xpbmVfcmVmZXJfY29sdW1uX2RhdGEoc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCwgY2hhciAqZGF0YSk7CitleHRlcm4gc3RydWN0IGxpYnNjb2xzX2xpbmUgKnNjb2xzX2NvcHlfbGluZShjb25zdCBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4pOworCisvKiB0YWJsZSAqLworZXh0ZXJuIGludCBzY29sc190YWJsZV9jb2xvcnNfd2FudGVkKGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9zZXRfbmFtZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBjb25zdCBjaGFyICpuYW1lKTsKK2V4dGVybiBjb25zdCBjaGFyICpzY29sc190YWJsZV9nZXRfbmFtZShjb25zdCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKTsKK2V4dGVybiBzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqc2NvbHNfdGFibGVfZ2V0X3RpdGxlKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9pc19yYXcoY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yik7CitleHRlcm4gaW50IHNjb2xzX3RhYmxlX2lzX2FzY2lpKGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9pc19qc29uKGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9pc19ub2hlYWRpbmdzKGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9pc19lbXB0eShjb25zdCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKTsKK2V4dGVybiBpbnQgc2NvbHNfdGFibGVfaXNfZXhwb3J0KGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9pc19tYXhvdXQoY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yik7CitleHRlcm4gaW50IHNjb2xzX3RhYmxlX2lzX25vd3JhcChjb25zdCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKTsKK2V4dGVybiBpbnQgc2NvbHNfdGFibGVfaXNfbm9saW5lc2VwKGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9pc190cmVlKGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpOworCitleHRlcm4gaW50IHNjb2xzX3RhYmxlX2VuYWJsZV9jb2xvcnMoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwgaW50IGVuYWJsZSk7CitleHRlcm4gaW50IHNjb2xzX3RhYmxlX2VuYWJsZV9yYXcoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwgaW50IGVuYWJsZSk7CitleHRlcm4gaW50IHNjb2xzX3RhYmxlX2VuYWJsZV9hc2NpaShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBpbnQgZW5hYmxlKTsKK2V4dGVybiBpbnQgc2NvbHNfdGFibGVfZW5hYmxlX2pzb24oc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwgaW50IGVuYWJsZSk7CitleHRlcm4gaW50IHNjb2xzX3RhYmxlX2VuYWJsZV9ub2hlYWRpbmdzKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGludCBlbmFibGUpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9lbmFibGVfZXhwb3J0KHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGludCBlbmFibGUpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9lbmFibGVfbWF4b3V0KHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGludCBlbmFibGUpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9lbmFibGVfbm93cmFwKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGludCBlbmFibGUpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9lbmFibGVfbm9saW5lc2VwKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGludCBlbmFibGUpOworCitleHRlcm4gaW50IHNjb2xzX3RhYmxlX3NldF9jb2x1bW5fc2VwYXJhdG9yKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGNvbnN0IGNoYXIgKnNlcCk7CitleHRlcm4gaW50IHNjb2xzX3RhYmxlX3NldF9saW5lX3NlcGFyYXRvcihzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBjb25zdCBjaGFyICpzZXApOworCitleHRlcm4gc3RydWN0IGxpYnNjb2xzX3RhYmxlICpzY29sc19uZXdfdGFibGUodm9pZCk7CitleHRlcm4gdm9pZCBzY29sc19yZWZfdGFibGUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yik7CitleHRlcm4gdm9pZCBzY29sc191bnJlZl90YWJsZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKTsKK2V4dGVybiBpbnQgc2NvbHNfdGFibGVfYWRkX2NvbHVtbihzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCk7CitleHRlcm4gaW50IHNjb2xzX3RhYmxlX3JlbW92ZV9jb2x1bW4oc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yiwgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9yZW1vdmVfY29sdW1ucyhzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKTsKK2V4dGVybiBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpzY29sc190YWJsZV9uZXdfY29sdW1uKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGNvbnN0IGNoYXIgKm5hbWUsIGRvdWJsZSB3aGludCwgaW50IGZsYWdzKTsKK2V4dGVybiBpbnQgc2NvbHNfdGFibGVfbmV4dF9jb2x1bW4oc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yiwgc3RydWN0IGxpYnNjb2xzX2l0ZXIgKml0ciwgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqKmNsKTsKK2V4dGVybiBjb25zdCBjaGFyICpzY29sc190YWJsZV9nZXRfY29sdW1uX3NlcGFyYXRvcihjb25zdCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKTsKK2V4dGVybiBjb25zdCBjaGFyICpzY29sc190YWJsZV9nZXRfbGluZV9zZXBhcmF0b3IoY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yik7CitleHRlcm4gc2l6ZV90IHNjb2xzX3RhYmxlX2dldF9uY29scyhjb25zdCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKTsKK2V4dGVybiBzaXplX3Qgc2NvbHNfdGFibGVfZ2V0X25saW5lcyhjb25zdCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKTsKK2V4dGVybiBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpzY29sc190YWJsZV9nZXRfY29sdW1uKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIHNpemVfdCBuKTsKK2V4dGVybiBpbnQgc2NvbHNfdGFibGVfYWRkX2xpbmUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yiwgc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuKTsKK2V4dGVybiBpbnQgc2NvbHNfdGFibGVfcmVtb3ZlX2xpbmUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yiwgc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuKTsKK2V4dGVybiB2b2lkIHNjb2xzX3RhYmxlX3JlbW92ZV9saW5lcyhzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKTsKK2V4dGVybiBpbnQgc2NvbHNfdGFibGVfbmV4dF9saW5lKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIHN0cnVjdCBsaWJzY29sc19pdGVyICppdHIsIHN0cnVjdCBsaWJzY29sc19saW5lICoqbG4pOworZXh0ZXJuIHN0cnVjdCBsaWJzY29sc19saW5lICpzY29sc190YWJsZV9uZXdfbGluZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqcGFyZW50KTsKK2V4dGVybiBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqc2NvbHNfdGFibGVfZ2V0X2xpbmUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yiwgc2l6ZV90IG4pOworZXh0ZXJuIHN0cnVjdCBsaWJzY29sc190YWJsZSAqc2NvbHNfY29weV90YWJsZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKTsKK2V4dGVybiBpbnQgc2NvbHNfdGFibGVfc2V0X3N5bWJvbHMoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yiwgc3RydWN0IGxpYnNjb2xzX3N5bWJvbHMgKnN5KTsKK2V4dGVybiBpbnQgc2NvbHNfdGFibGVfc2V0X2RlZmF1bHRfc3ltYm9scyhzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKTsKK2V4dGVybiBzdHJ1Y3QgbGlic2NvbHNfc3ltYm9scyAqc2NvbHNfdGFibGVfZ2V0X3N5bWJvbHMoY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yik7CisKK2V4dGVybiBpbnQgc2NvbHNfdGFibGVfc2V0X3N0cmVhbShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBGSUxFICpzdHJlYW0pOworZXh0ZXJuIEZJTEUgKnNjb2xzX3RhYmxlX2dldF9zdHJlYW0oY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yik7CitleHRlcm4gaW50IHNjb2xzX3RhYmxlX3JlZHVjZV90ZXJtd2lkdGgoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yiwgc2l6ZV90IHJlZHVjZSk7CisKK2V4dGVybiBpbnQgc2NvbHNfc29ydF90YWJsZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCk7CisKKy8qCisgKgorICovCitlbnVtIHsKKwlTQ09MU19URVJNRk9SQ0VfQVVUTyA9IDAsCisJU0NPTFNfVEVSTUZPUkNFX05FVkVSLAorCVNDT0xTX1RFUk1GT1JDRV9BTFdBWVMKK307CitleHRlcm4gaW50IHNjb2xzX3RhYmxlX3NldF90ZXJtZm9yY2Uoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwgaW50IGZvcmNlKTsKK2V4dGVybiBpbnQgc2NvbHNfdGFibGVfZ2V0X3Rlcm1mb3JjZShjb25zdCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKTsKK2V4dGVybiBpbnQgc2NvbHNfdGFibGVfc2V0X3Rlcm13aWR0aChzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBzaXplX3Qgd2lkdGgpOworZXh0ZXJuIHNpemVfdCBzY29sc190YWJsZV9nZXRfdGVybXdpZHRoKGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpOworCisKKy8qIHRhYmxlX3ByaW50LmMgKi8KK2V4dGVybiBpbnQgc2NvbHNfcHJpbnRfdGFibGUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yik7CitleHRlcm4gaW50IHNjb2xzX3ByaW50X3RhYmxlX3RvX3N0cmluZyhzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBjaGFyICoqZGF0YSk7CisKK2V4dGVybiBpbnQgc2NvbHNfdGFibGVfcHJpbnRfcmFuZ2UoCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsCisJCQkJCXN0cnVjdCBsaWJzY29sc19saW5lICpzdGFydCwKKwkJCQkJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmVuZCk7CitleHRlcm4gaW50IHNjb2xzX3RhYmxlX3ByaW50X3JhbmdlX3RvX3N0cmluZygJc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwKKwkJCQkJCXN0cnVjdCBsaWJzY29sc19saW5lICpzdGFydCwKKwkJCQkJCXN0cnVjdCBsaWJzY29sc19saW5lICplbmQsCisJCQkJCQljaGFyICoqZGF0YSk7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBfTElCU01BUlRDT0xTX0ggKi8KZGlmZiAtLWdpdCBhL2xpYnNtYXJ0Y29scy9zcmMvbGlic21hcnRjb2xzLnN5bSBiL2xpYnNtYXJ0Y29scy9zcmMvbGlic21hcnRjb2xzLnN5bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYmYyYjRlCi0tLSAvZGV2L251bGwKKysrIGIvbGlic21hcnRjb2xzL3NyYy9saWJzbWFydGNvbHMuc3ltCkBAIC0wLDAgKzEsMTU5IEBACisvKgorICogc3ltYm9scyBzaW5jZSB1dGlsLWxpbnV4IDIuMjUKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAxNiBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqLworU01BUlRDT0xTXzIuMjUgeworZ2xvYmFsOgorCXNjb2xzX2NlbGxfY29weV9jb250ZW50OworCXNjb2xzX2NlbGxfZ2V0X2NvbG9yOworCXNjb2xzX2NlbGxfZ2V0X2RhdGE7CisJc2NvbHNfY2VsbF9nZXRfdXNlcmRhdGE7CisJc2NvbHNfY2VsbF9yZWZlcl9kYXRhOworCXNjb2xzX2NlbGxfc2V0X2NvbG9yOworCXNjb2xzX2NlbGxfc2V0X2RhdGE7CisJc2NvbHNfY2VsbF9zZXRfdXNlcmRhdGE7CisJc2NvbHNfY21wc3RyX2NlbGxzOworCXNjb2xzX2NvbHVtbl9nZXRfY29sb3I7CisJc2NvbHNfY29sdW1uX2dldF9mbGFnczsKKwlzY29sc19jb2x1bW5fZ2V0X2hlYWRlcjsKKwlzY29sc19jb2x1bW5fZ2V0X3doaW50OworCXNjb2xzX2NvbHVtbl9pc19ub2V4dHJlbWVzOworCXNjb2xzX2NvbHVtbl9pc19yaWdodDsKKwlzY29sc19jb2x1bW5faXNfc3RyaWN0X3dpZHRoOworCXNjb2xzX2NvbHVtbl9pc190cmVlOworCXNjb2xzX2NvbHVtbl9pc190cnVuYzsKKwlzY29sc19jb2x1bW5fc2V0X2NtcGZ1bmM7CisJc2NvbHNfY29sdW1uX3NldF9jb2xvcjsKKwlzY29sc19jb2x1bW5fc2V0X2ZsYWdzOworCXNjb2xzX2NvbHVtbl9zZXRfd2hpbnQ7CisJc2NvbHNfY29weV9jb2x1bW47CisJc2NvbHNfY29weV9saW5lOworCXNjb2xzX2NvcHlfc3ltYm9sczsKKwlzY29sc19jb3B5X3RhYmxlOworCXNjb2xzX2ZyZWVfaXRlcjsKKwlzY29sc19nZXRfbGlicmFyeV92ZXJzaW9uOworCXNjb2xzX2luaXRfZGVidWc7CisJc2NvbHNfaXRlcl9nZXRfZGlyZWN0aW9uOworCXNjb2xzX2xpbmVfYWRkX2NoaWxkOworCXNjb2xzX2xpbmVfYWxsb2NfY2VsbHM7CisJc2NvbHNfbGluZV9mcmVlX2NlbGxzOworCXNjb2xzX2xpbmVfZ2V0X2NlbGw7CisJc2NvbHNfbGluZV9nZXRfY29sb3I7CisJc2NvbHNfbGluZV9nZXRfY29sdW1uX2NlbGw7CisJc2NvbHNfbGluZV9nZXRfbmNlbGxzOworCXNjb2xzX2xpbmVfZ2V0X3BhcmVudDsKKwlzY29sc19saW5lX2dldF91c2VyZGF0YTsKKwlzY29sc19saW5lX2hhc19jaGlsZHJlbjsKKwlzY29sc19saW5lX25leHRfY2hpbGQ7CisJc2NvbHNfbGluZV9yZWZlcl9kYXRhOworCXNjb2xzX2xpbmVfcmVtb3ZlX2NoaWxkOworCXNjb2xzX2xpbmVfc2V0X2NvbG9yOworCXNjb2xzX2xpbmVfc2V0X2RhdGE7CisJc2NvbHNfbGluZV9zZXRfdXNlcmRhdGE7CisJc2NvbHNfbmV3X2NvbHVtbjsKKwlzY29sc19uZXdfaXRlcjsKKwlzY29sc19uZXdfbGluZTsKKwlzY29sc19uZXdfc3ltYm9sczsKKwlzY29sc19uZXdfdGFibGU7CisJc2NvbHNfcGFyc2VfdmVyc2lvbl9zdHJpbmc7CisJc2NvbHNfcHJpbnRfdGFibGU7CisJc2NvbHNfcHJpbnRfdGFibGVfdG9fc3RyaW5nOworCXNjb2xzX3JlZl9jb2x1bW47CisJc2NvbHNfcmVmX2xpbmU7CisJc2NvbHNfcmVmX3N5bWJvbHM7CisJc2NvbHNfcmVmX3RhYmxlOworCXNjb2xzX3Jlc2V0X2NlbGw7CisJc2NvbHNfcmVzZXRfaXRlcjsKKwlzY29sc19zb3J0X3RhYmxlOworCXNjb2xzX3N5bWJvbHNfc2V0X2JyYW5jaDsKKwlzY29sc19zeW1ib2xzX3NldF9yaWdodDsKKwlzY29sc19zeW1ib2xzX3NldF92ZXJ0aWNhbDsKKwlzY29sc190YWJsZV9hZGRfY29sdW1uOworCXNjb2xzX3RhYmxlX2FkZF9saW5lOworCXNjb2xzX3RhYmxlX2NvbG9yc193YW50ZWQ7CisJc2NvbHNfdGFibGVfZW5hYmxlX2FzY2lpOworCXNjb2xzX3RhYmxlX2VuYWJsZV9jb2xvcnM7CisJc2NvbHNfdGFibGVfZW5hYmxlX2V4cG9ydDsKKwlzY29sc190YWJsZV9lbmFibGVfbWF4b3V0OworCXNjb2xzX3RhYmxlX2VuYWJsZV9ub2hlYWRpbmdzOworCXNjb2xzX3RhYmxlX2VuYWJsZV9yYXc7CisJc2NvbHNfdGFibGVfZ2V0X2NvbHVtbjsKKwlzY29sc190YWJsZV9nZXRfY29sdW1uX3NlcGFyYXRvcjsKKwlzY29sc190YWJsZV9nZXRfbGluZTsKKwlzY29sc190YWJsZV9nZXRfbGluZV9zZXBhcmF0b3I7CisJc2NvbHNfdGFibGVfZ2V0X25jb2xzOworCXNjb2xzX3RhYmxlX2dldF9ubGluZXM7CisJc2NvbHNfdGFibGVfZ2V0X3N0cmVhbTsKKwlzY29sc190YWJsZV9pc19hc2NpaTsKKwlzY29sc190YWJsZV9pc19lbXB0eTsKKwlzY29sc190YWJsZV9pc19leHBvcnQ7CisJc2NvbHNfdGFibGVfaXNfbWF4b3V0OworCXNjb2xzX3RhYmxlX2lzX25vaGVhZGluZ3M7CisJc2NvbHNfdGFibGVfaXNfcmF3OworCXNjb2xzX3RhYmxlX2lzX3RyZWU7CisJc2NvbHNfdGFibGVfbmV3X2NvbHVtbjsKKwlzY29sc190YWJsZV9uZXdfbGluZTsKKwlzY29sc190YWJsZV9uZXh0X2NvbHVtbjsKKwlzY29sc190YWJsZV9uZXh0X2xpbmU7CisJc2NvbHNfdGFibGVfcmVkdWNlX3Rlcm13aWR0aDsKKwlzY29sc190YWJsZV9yZW1vdmVfY29sdW1uOworCXNjb2xzX3RhYmxlX3JlbW92ZV9jb2x1bW5zOworCXNjb2xzX3RhYmxlX3JlbW92ZV9saW5lOworCXNjb2xzX3RhYmxlX3JlbW92ZV9saW5lczsKKwlzY29sc190YWJsZV9zZXRfY29sdW1uX3NlcGFyYXRvcjsKKwlzY29sc190YWJsZV9zZXRfbGluZV9zZXBhcmF0b3I7CisJc2NvbHNfdGFibGVfc2V0X3N0cmVhbTsKKwlzY29sc190YWJsZV9zZXRfc3ltYm9sczsKKwlzY29sc191bnJlZl9jb2x1bW47CisJc2NvbHNfdW5yZWZfbGluZTsKKwlzY29sc191bnJlZl9zeW1ib2xzOworCXNjb2xzX3VucmVmX3RhYmxlOworbG9jYWw6CisJKjsKK307CisKK1NNQVJUQ09MU18yLjI3IHsKK2dsb2JhbDoKKwlzY29sc19jb2x1bW5faXNfaGlkZGVuOworCXNjb2xzX3RhYmxlX2VuYWJsZV9qc29uOworCXNjb2xzX3RhYmxlX2lzX2pzb247CisJc2NvbHNfdGFibGVfc2V0X25hbWU7Cit9IFNNQVJUQ09MU18yLjI1OworCitTTUFSVENPTFNfMi4yOCB7CitnbG9iYWw6CisJc2NvbHNfY29sdW1uX2lzX3dyYXA7CisJc2NvbHNfbGluZV9yZWZlcl9jb2x1bW5fZGF0YTsKKwlzY29sc19saW5lX3NldF9jb2x1bW5fZGF0YTsKKwlzY29sc19zeW1ib2xzX3NldF90aXRsZV9wYWRkaW5nOworCXNjb2xzX3RhYmxlX2VuYWJsZV9ub3dyYXA7CisJc2NvbHNfdGFibGVfZ2V0X3RpdGxlOworCXNjb2xzX2NlbGxfZ2V0X2ZsYWdzOworCXNjb2xzX2NlbGxfc2V0X2ZsYWdzOworCXNjb2xzX3RhYmxlX3ByaW50X3JhbmdlOworCXNjb2xzX3RhYmxlX3ByaW50X3JhbmdlX3RvX3N0cmluZzsKKwlzY29sc190YWJsZV9lbmFibGVfbm9saW5lc2VwOworfSBTTUFSVENPTFNfMi4yNzsKKworU01BUlRDT0xTXzIuMjkgeworZ2xvYmFsOgorCXNjb2xzX2NvbHVtbl9nZXRfc2FmZWNoYXJzOworCXNjb2xzX2NvbHVtbl9nZXRfdGFibGU7CisJc2NvbHNfY29sdW1uX2dldF93aWR0aDsKKwlzY29sc19jb2x1bW5faXNfY3VzdG9td3JhcDsKKwlzY29sc19jb2x1bW5fc2V0X3NhZmVjaGFyczsKKwlzY29sc19jb2x1bW5fc2V0X3dyYXBmdW5jOworCXNjb2xzX3N5bWJvbHNfc2V0X2NlbGxfcGFkZGluZzsKKwlzY29sc190YWJsZV9nZXRfbmFtZTsKKwlzY29sc190YWJsZV9nZXRfc3ltYm9sczsKKwlzY29sc190YWJsZV9nZXRfdGVybWZvcmNlOworCXNjb2xzX3RhYmxlX2dldF90ZXJtd2lkdGg7CisJc2NvbHNfdGFibGVfaXNfbm9saW5lc2VwOworCXNjb2xzX3RhYmxlX2lzX25vd3JhcDsKKwlzY29sc190YWJsZV9zZXRfZGVmYXVsdF9zeW1ib2xzOworCXNjb2xzX3RhYmxlX3NldF90ZXJtZm9yY2U7CisJc2NvbHNfdGFibGVfc2V0X3Rlcm13aWR0aDsKKwlzY29sc193cmFwbmxfY2h1bmtzaXplOworCXNjb2xzX3dyYXBubF9uZXh0Y2h1bms7Cit9IFNNQVJUQ09MU18yLjI4OwpkaWZmIC0tZ2l0IGEvbGlic21hcnRjb2xzL3NyYy9saW5lLmMgYi9saWJzbWFydGNvbHMvc3JjL2xpbmUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTQ4ODIwCi0tLSAvZGV2L251bGwKKysrIGIvbGlic21hcnRjb2xzL3NyYy9saW5lLmMKQEAgLTAsMCArMSw0NjUgQEAKKy8qCisgKiBsaW5lLmMgLSBmdW5jdGlvbnMgZm9yIHRhYmxlIGhhbmRsaW5nIGF0IHRoZSBsaW5lIGxldmVsCisgKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDE0IE9uZHJlaiBPcHJhbGEgPG9vcHJhbGFAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKy8qKgorICogU0VDVElPTjogbGluZQorICogQHRpdGxlOiBMaW5lCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGNlbGxzIGNvbnRhaW5lciwgYWxzbyBrZWVwcyB0cmVlIChwYXJlbnQtPmNoaWxkKSBpbmZvcm1hdGlvbgorICoKKyAqIEFuIEFQSSB0byBhY2Nlc3MgYW5kIG1vZGlmeSBwZXItbGluZSBkYXRhIGFuZCBpbmZvcm1hdGlvbi4KKyAqLworCisKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorCisjaW5jbHVkZSAic21hcnRjb2xzUC5oIgorCisvKioKKyAqIHNjb2xzX25ld19saW5lOgorICoKKyAqIE5vdGUgdGhhdCB0aGUgbGluZSBpcyBhbGxvY2F0ZWQgd2l0aG91dCBjZWxscywgdGhlIGNlbGxzIHdpbGwgYmUgYWxsb2NhdGVkCisgKiBsYXRlciB3aGVuIHlvdSBhZGQgdGhlIGxpbmUgdG8gdGhlIHRhYmxlLiBJZiB5b3Ugd2FudCB0byB1c2UgdGhlIGxpbmUKKyAqIHdpdGhvdXQgdGFibGUgdGhlbiB5b3UgaGF2ZSB0byBleHBsaWNpdGx5IGFsbG9jYXRlIHRoZSBjZWxscyBieQorICogc2NvbHNfbGluZV9hbGxvY19jZWxscygpLgorICoKKyAqIFJldHVybnM6IGEgcG9pbnRlciB0byBhIG5ldyBzdHJ1Y3QgbGlic2NvbHNfbGluZSBpbnN0YW5jZS4KKyAqLworc3RydWN0IGxpYnNjb2xzX2xpbmUgKnNjb2xzX25ld19saW5lKHZvaWQpCit7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuOworCisJbG4gPSBjYWxsb2MoMSwgc2l6ZW9mKCpsbikpOworCWlmICghbG4pCisJCXJldHVybiBOVUxMOworCisJREJHKExJTkUsIHVsX2RlYnVnb2JqKGxuLCAiYWxsb2MiKSk7CisJbG4tPnJlZmNvdW50ID0gMTsKKwlJTklUX0xJU1RfSEVBRCgmbG4tPmxuX2xpbmVzKTsKKwlJTklUX0xJU1RfSEVBRCgmbG4tPmxuX2NoaWxkcmVuKTsKKwlJTklUX0xJU1RfSEVBRCgmbG4tPmxuX2JyYW5jaCk7CisJcmV0dXJuIGxuOworfQorCisvKioKKyAqIHNjb2xzX3JlZl9saW5lOgorICogQGxuOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfbGluZSBpbnN0YW5jZQorICoKKyAqIEluY3JlYXNlcyB0aGUgcmVmY291bnQgb2YgQGxuLgorICovCit2b2lkIHNjb2xzX3JlZl9saW5lKHN0cnVjdCBsaWJzY29sc19saW5lICpsbikKK3sKKwlpZiAobG4pCisJCWxuLT5yZWZjb3VudCsrOworfQorCisvKioKKyAqIHNjb2xzX3VucmVmX2xpbmU6CisgKiBAbG46IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19saW5lIGluc3RhbmNlCisgKgorICogRGVjcmVhc2VzIHRoZSByZWZjb3VudCBvZiBAbG4uIFdoZW4gdGhlIGNvdW50IGZhbGxzIHRvIHplcm8sIHRoZSBpbnN0YW5jZQorICogaXMgYXV0b21hdGljYWxseSBkZWFsbG9jYXRlZC4KKyAqLwordm9pZCBzY29sc191bnJlZl9saW5lKHN0cnVjdCBsaWJzY29sc19saW5lICpsbikKK3sKKwlpZiAobG4gJiYgLS1sbi0+cmVmY291bnQgPD0gMCkgeworCQlEQkcoQ0VMTCwgdWxfZGVidWdvYmoobG4sICJkZWFsbG9jIikpOworCQlsaXN0X2RlbCgmbG4tPmxuX2xpbmVzKTsKKwkJbGlzdF9kZWwoJmxuLT5sbl9jaGlsZHJlbik7CisJCXNjb2xzX2xpbmVfZnJlZV9jZWxscyhsbik7CisJCWZyZWUobG4tPmNvbG9yKTsKKwkJZnJlZShsbik7CisJCXJldHVybjsKKwl9Cit9CisKKy8qKgorICogc2NvbHNfbGluZV9mcmVlX2NlbGxzOgorICogQGxuOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfbGluZSBpbnN0YW5jZQorICoKKyAqIEZyZWVzIHRoZSBhbGxvY2F0ZWQgY2VsbHMgcmVmZXJlbmNlZCB0byBieSBAbG4uCisgKi8KK3ZvaWQgc2NvbHNfbGluZV9mcmVlX2NlbGxzKHN0cnVjdCBsaWJzY29sc19saW5lICpsbikKK3sKKwlzaXplX3QgaTsKKworCWlmICghbG4gfHwgIWxuLT5jZWxscykKKwkJcmV0dXJuOworCisJREJHKExJTkUsIHVsX2RlYnVnb2JqKGxuLCAiZnJlZSBjZWxscyIpKTsKKworCWZvciAoaSA9IDA7IGkgPCBsbi0+bmNlbGxzOyBpKyspCisJCXNjb2xzX3Jlc2V0X2NlbGwoJmxuLT5jZWxsc1tpXSk7CisKKwlmcmVlKGxuLT5jZWxscyk7CisJbG4tPm5jZWxscyA9IDA7CisJbG4tPmNlbGxzID0gTlVMTDsKK30KKworLyoqCisgKiBzY29sc19saW5lX2FsbG9jX2NlbGxzOgorICogQGxuOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfbGluZSBpbnN0YW5jZQorICogQG46IHRoZSBudW1iZXIgb2YgZWxlbWVudHMKKyAqCisgKiBBbGxvY2F0ZXMgc3BhY2UgZm9yIEBuIGNlbGxzLiBUaGlzIGZ1bmN0aW9uIGlzIG9wdGlvbmFsLAorICogYW5kIGxpYnNtYXJ0Y29scyBhdXRvbWF0aWNhbGx5IGFsbG9jYXRlcyBuZWNlc3NhcnkgY2VsbHMKKyAqIGFjY29yZGluZyB0byBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgdGFibGUgd2hlbiB5b3UgYWRkCisgKiB0aGUgbGluZSB0byB0aGUgdGFibGUuIFNlZSBzY29sc190YWJsZV9hZGRfbGluZSgpLgorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX2xpbmVfYWxsb2NfY2VsbHMoc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLCBzaXplX3QgbikKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2U7CisKKwlpZiAoIWxuKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAobG4tPm5jZWxscyA9PSBuKQorCQlyZXR1cm4gMDsKKworCWlmICghbikgeworCQlzY29sc19saW5lX2ZyZWVfY2VsbHMobG4pOworCQlyZXR1cm4gMDsKKwl9CisKKwlEQkcoTElORSwgdWxfZGVidWdvYmoobG4sICJhbGxvYyAlenUgY2VsbHMiLCBuKSk7CisKKwljZSA9IHJlYWxsb2MobG4tPmNlbGxzLCBuICogc2l6ZW9mKHN0cnVjdCBsaWJzY29sc19jZWxsKSk7CisJaWYgKCFjZSkKKwkJcmV0dXJuIC1lcnJubzsKKworCWlmIChuID4gbG4tPm5jZWxscykKKwkJbWVtc2V0KGNlICsgbG4tPm5jZWxscywgMCwKKwkJICAgICAgIChuIC0gbG4tPm5jZWxscykgKiBzaXplb2Yoc3RydWN0IGxpYnNjb2xzX2NlbGwpKTsKKworCWxuLT5jZWxscyA9IGNlOworCWxuLT5uY2VsbHMgPSBuOworCXJldHVybiAwOworfQorCisvKioKKyAqIHNjb2xzX2xpbmVfc2V0X3VzZXJkYXRhOgorICogQGxuOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfbGluZSBpbnN0YW5jZQorICogQGRhdGE6IHVzZXIgZGF0YQorICoKKyAqIEJpbmRzIEBkYXRhIHRvIEBsbi4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK2ludCBzY29sc19saW5lX3NldF91c2VyZGF0YShzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sIHZvaWQgKmRhdGEpCit7CisJaWYgKCFsbikKKwkJcmV0dXJuIC1FSU5WQUw7CisJbG4tPnVzZXJkYXRhID0gZGF0YTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBzY29sc19saW5lX2dldF91c2VyZGF0YToKKyAqIEBsbjogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2xpbmUgaW5zdGFuY2UKKyAqCisgKiBSZXR1cm5zOiB1c2VyIGRhdGEKKyAqLwordm9pZCAqc2NvbHNfbGluZV9nZXRfdXNlcmRhdGEoc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuKQoreworCXJldHVybiBsbi0+dXNlcmRhdGE7Cit9CisKKy8qKgorICogc2NvbHNfbGluZV9yZW1vdmVfY2hpbGQ6CisgKiBAbG46IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19saW5lIGluc3RhbmNlCisgKiBAY2hpbGQ6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19saW5lIGluc3RhbmNlCisgKgorICogUmVtb3ZlcyBAY2hpbGQgYXMgYSBjaGlsZCBvZiBAbG4uCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfbGluZV9yZW1vdmVfY2hpbGQoc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLCBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqY2hpbGQpCit7CisJaWYgKCFsbiB8fCAhY2hpbGQpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKExJTkUsIHVsX2RlYnVnb2JqKGxuLCAicmVtb3ZlIGNoaWxkICVwIiwgY2hpbGQpKTsKKworCWxpc3RfZGVsX2luaXQoJmNoaWxkLT5sbl9jaGlsZHJlbik7CisJY2hpbGQtPnBhcmVudCA9IE5VTEw7CisJc2NvbHNfdW5yZWZfbGluZShjaGlsZCk7CisKKwlzY29sc191bnJlZl9saW5lKGxuKTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBzY29sc19saW5lX2FkZF9jaGlsZDoKKyAqIEBsbjogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2xpbmUgaW5zdGFuY2UKKyAqIEBjaGlsZDogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2xpbmUgaW5zdGFuY2UKKyAqCisgKiBTZXRzIEBjaGlsZCBhcyBhIGNoaWxkIG9mIEBsbi4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK2ludCBzY29sc19saW5lX2FkZF9jaGlsZChzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sIHN0cnVjdCBsaWJzY29sc19saW5lICpjaGlsZCkKK3sKKwlpZiAoIWxuIHx8ICFjaGlsZCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoTElORSwgdWxfZGVidWdvYmoobG4sICJhZGQgY2hpbGQgJXAiLCBjaGlsZCkpOworCXNjb2xzX3JlZl9saW5lKGNoaWxkKTsKKwlzY29sc19yZWZfbGluZShsbik7CisKKwkvKiB1bnJlZiBvbGQ8LT5wYXJlbnQgKi8KKwlpZiAoY2hpbGQtPnBhcmVudCkKKwkJc2NvbHNfbGluZV9yZW1vdmVfY2hpbGQoY2hpbGQtPnBhcmVudCwgY2hpbGQpOworCisJLyogbmV3IHJlZmVyZW5jZSBmcm9tIHBhcmVudCB0byBjaGlsZCAqLworCWxpc3RfYWRkX3RhaWwoJmNoaWxkLT5sbl9jaGlsZHJlbiwgJmxuLT5sbl9icmFuY2gpOworCisJLyogbmV3IHJlZmVyZW5jZSBmcm9tIGNoaWxkIHRvIHBhcmVudCAqLworCWNoaWxkLT5wYXJlbnQgPSBsbjsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBzY29sc19saW5lX2dldF9wYXJlbnQ6CisgKiBAbG46IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19saW5lIGluc3RhbmNlCisgKgorICogUmV0dXJuczogYSBwb2ludGVyIHRvIEBsbidzIHBhcmVudCwgTlVMTCBpbiBjYXNlIGl0IGhhcyBubyBwYXJlbnQgb3IgaWYgdGhlcmUgd2FzIGFuIGVycm9yLgorICovCitzdHJ1Y3QgbGlic2NvbHNfbGluZSAqc2NvbHNfbGluZV9nZXRfcGFyZW50KGNvbnN0IHN0cnVjdCBsaWJzY29sc19saW5lICpsbikKK3sKKwlyZXR1cm4gbG4gPyBsbi0+cGFyZW50IDogTlVMTDsKK30KKworLyoqCisgKiBzY29sc19saW5lX2hhc19jaGlsZHJlbjoKKyAqIEBsbjogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2xpbmUgaW5zdGFuY2UKKyAqCisgKiBSZXR1cm5zOiAxIGlmIEBsbiBoYXMgYW55IGNoaWxkcmVuLCBvdGhlcndpc2UgMC4KKyAqLworaW50IHNjb2xzX2xpbmVfaGFzX2NoaWxkcmVuKHN0cnVjdCBsaWJzY29sc19saW5lICpsbikKK3sKKwlyZXR1cm4gbG4gPyAhbGlzdF9lbXB0eSgmbG4tPmxuX2JyYW5jaCkgOiAwOworfQorCisvKioKKyAqIHNjb2xzX2xpbmVfbmV4dF9jaGlsZDoKKyAqIEBsbjogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2xpbmUgaW5zdGFuY2UKKyAqIEBpdHI6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19pdGVyIGluc3RhbmNlCisgKiBAY2hsZDogYSBwb2ludGVyIHRvIGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19saW5lIGluc3RhbmNlCisgKgorICogRmluZHMgdGhlIG5leHQgY2hpbGQgYW5kIHJldHVybnMgYSBwb2ludGVyIHRvIGl0IHZpYSBAY2hsZC4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK2ludCBzY29sc19saW5lX25leHRfY2hpbGQoc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLAorCQkJICBzdHJ1Y3QgbGlic2NvbHNfaXRlciAqaXRyLAorCQkJICBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqKmNobGQpCit7CisJaW50IHJjID0gMTsKKworCWlmICghbG4gfHwgIWl0ciB8fCAhY2hsZCkKKwkJcmV0dXJuIC1FSU5WQUw7CisJKmNobGQgPSBOVUxMOworCisJaWYgKCFpdHItPmhlYWQpCisJCVNDT0xTX0lURVJfSU5JVChpdHIsICZsbi0+bG5fYnJhbmNoKTsKKwlpZiAoaXRyLT5wICE9IGl0ci0+aGVhZCkgeworCQlTQ09MU19JVEVSX0lURVJBVEUoaXRyLCAqY2hsZCwgc3RydWN0IGxpYnNjb2xzX2xpbmUsIGxuX2NoaWxkcmVuKTsKKwkJcmMgPSAwOworCX0KKworCXJldHVybiByYzsKK30KKworLyoqCisgKiBzY29sc19saW5lX3NldF9jb2xvcjoKKyAqIEBsbjogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2xpbmUgaW5zdGFuY2UKKyAqIEBjb2xvcjogY29sb3IgbmFtZSBvciBFU0Mgc2VxdWVuY2UKKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK2ludCBzY29sc19saW5lX3NldF9jb2xvcihzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sIGNvbnN0IGNoYXIgKmNvbG9yKQoreworCWlmIChjb2xvciAmJiBpc2FsbnVtKCpjb2xvcikpIHsKKwkJY29sb3IgPSBjb2xvcl9zZXF1ZW5jZV9mcm9tX2NvbG9ybmFtZShjb2xvcik7CisJCWlmICghY29sb3IpCisJCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJcmV0dXJuIHN0cmR1cF90b19zdHJ1Y3RfbWVtYmVyKGxuLCBjb2xvciwgY29sb3IpOworfQorCisvKioKKyAqIHNjb2xzX2xpbmVfZ2V0X2NvbG9yOgorICogQGxuOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfbGluZSBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IEBsbidzIGNvbG9yIHN0cmluZywgTlVMTCBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitjb25zdCBjaGFyICpzY29sc19saW5lX2dldF9jb2xvcihjb25zdCBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4pCit7CisJcmV0dXJuIGxuLT5jb2xvcjsKK30KKworLyoqCisgKiBzY29sc19saW5lX2dldF9uY2VsbHM6CisgKiBAbG46IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19saW5lIGluc3RhbmNlCisgKgorICogUmV0dXJuczogbnVtYmVyIG9mIGNlbGxzCisgKi8KK3NpemVfdCBzY29sc19saW5lX2dldF9uY2VsbHMoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuKQoreworCXJldHVybiBsbi0+bmNlbGxzOworfQorCisvKioKKyAqIHNjb2xzX2xpbmVfZ2V0X2NlbGw6CisgKiBAbG46IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19saW5lIGluc3RhbmNlCisgKiBAbjogY2VsbCBudW1iZXIgdG8gcmV0cmlldmUKKyAqCisgKiBSZXR1cm5zOiB0aGUgQG4tdGggY2VsbCBpbiBAbG4sIE5VTEwgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworc3RydWN0IGxpYnNjb2xzX2NlbGwgKnNjb2xzX2xpbmVfZ2V0X2NlbGwoc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLAorCQkJCQkgIHNpemVfdCBuKQoreworCWlmICghbG4gfHwgbiA+PSBsbi0+bmNlbGxzKQorCQlyZXR1cm4gTlVMTDsKKwlyZXR1cm4gJmxuLT5jZWxsc1tuXTsKK30KKworLyoqCisgKiBzY29sc19saW5lX2dldF9jb2x1bW5fY2VsbDoKKyAqIEBsbjogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2xpbmUgaW5zdGFuY2UKKyAqIEBjbDogcG9pbnRlciB0byBjZWxsCisgKgorICogTGlrZSBzY29sc19saW5lX2dldF9jZWxsKCkgYnkgY2VsbCBpcyByZWZlcmVuY2VkIGJ5IGNvbHVtbi4KKyAqCisgKiBSZXR1cm5zOiB0aGUgQG4tdGggY2VsbCBpbiBAbG4sIE5VTEwgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworc3RydWN0IGxpYnNjb2xzX2NlbGwgKnNjb2xzX2xpbmVfZ2V0X2NvbHVtbl9jZWxsKAorCQkJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLAorCQkJc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpCit7CisJaWYgKCFsbiB8fCAhY2wpCisJCXJldHVybiBOVUxMOworCisJcmV0dXJuIHNjb2xzX2xpbmVfZ2V0X2NlbGwobG4sIGNsLT5zZXFudW0pOworfQorCisvKioKKyAqIHNjb2xzX2xpbmVfc2V0X2RhdGE6CisgKiBAbG46IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19saW5lIGluc3RhbmNlCisgKiBAbjogbnVtYmVyIG9mIHRoZSBjZWxsLCB3aG9zZSBkYXRhIGlzIHRvIGJlIHNldAorICogQGRhdGE6IGFjdHVhbCBkYXRhIHRvIHNldAorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX2xpbmVfc2V0X2RhdGEoc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLCBzaXplX3QgbiwgY29uc3QgY2hhciAqZGF0YSkKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2UgPSBzY29sc19saW5lX2dldF9jZWxsKGxuLCBuKTsKKworCWlmICghY2UpCisJCXJldHVybiAtRUlOVkFMOworCXJldHVybiBzY29sc19jZWxsX3NldF9kYXRhKGNlLCBkYXRhKTsKK30KKworLyoqCisgKiBzY29sc19saW5lX3NldF9jb2x1bW5fZGF0YToKKyAqIEBsbjogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2xpbmUgaW5zdGFuY2UKKyAqIEBjbDogY29sdW1uLCB3aG9zZSBkYXRhIGlzIHRvIGJlIHNldAorICogQGRhdGE6IGFjdHVhbCBkYXRhIHRvIHNldAorICoKKyAqIFRoZSBzYW1lIGFzIHNjb2xzX2xpbmVfc2V0X2RhdGEoKSBidXQgY2VsbCBpcyByZWZlcmVuY2VkIGJ5IGNvbHVtbiBvYmplY3QuCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICoKKyAqIFNpbmNlOiAyLjI4CisgKi8KK2ludCBzY29sc19saW5lX3NldF9jb2x1bW5fZGF0YShzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sCisJCQkgICAgICAgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wsCisJCQkgICAgICAgY29uc3QgY2hhciAqZGF0YSkKK3sKKwlyZXR1cm4gc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgY2wtPnNlcW51bSwgZGF0YSk7Cit9CisKKy8qKgorICogc2NvbHNfbGluZV9yZWZlcl9kYXRhOgorICogQGxuOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfbGluZSBpbnN0YW5jZQorICogQG46IG51bWJlciBvZiB0aGUgY2VsbCB3aGljaCB3aWxsIHJlZmVyIHRvIEBkYXRhCisgKiBAZGF0YTogYWN0dWFsIGRhdGEgdG8gcmVmZXIgdG8KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK2ludCBzY29sc19saW5lX3JlZmVyX2RhdGEoc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLCBzaXplX3QgbiwgY2hhciAqZGF0YSkKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2UgPSBzY29sc19saW5lX2dldF9jZWxsKGxuLCBuKTsKKworCWlmICghY2UpCisJCXJldHVybiAtRUlOVkFMOworCXJldHVybiBzY29sc19jZWxsX3JlZmVyX2RhdGEoY2UsIGRhdGEpOworfQorCisvKioKKyAqIHNjb2xzX2xpbmVfcmVmZXJfY29sdW1uX2RhdGE6CisgKiBAbG46IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19saW5lIGluc3RhbmNlCisgKiBAY2w6IGNvbHVtbiwgd2hvc2UgZGF0YSBpcyB0byBiZSBzZXQKKyAqIEBkYXRhOiBhY3R1YWwgZGF0YSB0byByZWZlciB0bworICoKKyAqIFRoZSBzYW1lIGFzIHNjb2xzX2xpbmVfcmVmZXJfZGF0YSgpIGJ1dCBjZWxsIGlzIHJlZmVyZW5jZWQgYnkgY29sdW1uIG9iamVjdC4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKgorICogU2luY2U6IDIuMjgKKyAqLworaW50IHNjb2xzX2xpbmVfcmVmZXJfY29sdW1uX2RhdGEoc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLAorCQkJICAgICAgIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsLAorCQkJICAgICAgIGNoYXIgKmRhdGEpCit7CisJcmV0dXJuIHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgY2wtPnNlcW51bSwgZGF0YSk7Cit9CisKKy8qKgorICogc2NvbHNfY29weV9saW5lOgorICogQGxuOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfbGluZSBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IEEgbmV3bHkgYWxsb2NhdGVkIGNvcHkgb2YgQGxuLCBOVUxMIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK3N0cnVjdCBsaWJzY29sc19saW5lICpzY29sc19jb3B5X2xpbmUoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuKQoreworCXN0cnVjdCBsaWJzY29sc19saW5lICpyZXQ7CisJc2l6ZV90IGk7CisKKwlpZiAoIWxuKQorCQlyZXR1cm4gTlVMTDsKKworCXJldCA9IHNjb2xzX25ld19saW5lKCk7CisJaWYgKCFyZXQpCisJCXJldHVybiBOVUxMOworCWlmIChzY29sc19saW5lX3NldF9jb2xvcihyZXQsIGxuLT5jb2xvcikpCisJCWdvdG8gZXJyOworCWlmIChzY29sc19saW5lX2FsbG9jX2NlbGxzKHJldCwgbG4tPm5jZWxscykpCisJCWdvdG8gZXJyOworCisJcmV0LT51c2VyZGF0YSA9IGxuLT51c2VyZGF0YTsKKwlyZXQtPm5jZWxscyAgID0gbG4tPm5jZWxsczsKKwlyZXQtPnNlcW51bSAgID0gbG4tPnNlcW51bTsKKworCURCRyhMSU5FLCB1bF9kZWJ1Z29iaihsbiwgImNvcHkgdG8gJXAiLCByZXQpKTsKKworCWZvciAoaSA9IDA7IGkgPCByZXQtPm5jZWxsczsgKytpKSB7CisJCWlmIChzY29sc19jZWxsX2NvcHlfY29udGVudCgmcmV0LT5jZWxsc1tpXSwgJmxuLT5jZWxsc1tpXSkpCisJCQlnb3RvIGVycjsKKwl9CisKKwlyZXR1cm4gcmV0OworZXJyOgorCXNjb2xzX3VucmVmX2xpbmUocmV0KTsKKwlyZXR1cm4gTlVMTDsKK30KZGlmZiAtLWdpdCBhL2xpYnNtYXJ0Y29scy9zcmMvc21hcnRjb2xzUC5oIGIvbGlic21hcnRjb2xzL3NyYy9zbWFydGNvbHNQLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmU4ZWVlNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNtYXJ0Y29scy9zcmMvc21hcnRjb2xzUC5oCkBAIC0wLDAgKzEsMjA3IEBACisvKgorICogc21hcnRjb2xzUC5oIC0gcHJpdmF0ZSBsaWJyYXJ5IGhlYWRlciBmaWxlCisgKgorICogQ29weXJpZ2h0IChDKSAyMDE0IE9uZHJlaiBPcHJhbGEgPG9vcHJhbGFAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKyNpZm5kZWYgX0xJQlNNQVJUQ09MU19QUklWQVRFX0gKKyNkZWZpbmUgX0xJQlNNQVJUQ09MU19QUklWQVRFX0gKKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJsaXN0LmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJjb2xvci1uYW1lcy5oIgorI2luY2x1ZGUgImRlYnVnLmgiCisKKyNpbmNsdWRlICJsaWJzbWFydGNvbHMuaCIKKworLyoKKyAqIERlYnVnCisgKi8KKyNkZWZpbmUgU0NPTFNfREVCVUdfSEVMUAkoMSA8PCAwKQorI2RlZmluZSBTQ09MU19ERUJVR19JTklUCSgxIDw8IDEpCisjZGVmaW5lIFNDT0xTX0RFQlVHX0NFTEwJKDEgPDwgMikKKyNkZWZpbmUgU0NPTFNfREVCVUdfTElORQkoMSA8PCAzKQorI2RlZmluZSBTQ09MU19ERUJVR19UQUIJCSgxIDw8IDQpCisjZGVmaW5lIFNDT0xTX0RFQlVHX0NPTAkJKDEgPDwgNSkKKyNkZWZpbmUgU0NPTFNfREVCVUdfQlVGRgkoMSA8PCA2KQorI2RlZmluZSBTQ09MU19ERUJVR19BTEwJCTB4RkZGRgorCitVTF9ERUJVR19ERUNMQVJFX01BU0sobGlic21hcnRjb2xzKTsKKyNkZWZpbmUgREJHKG0sIHgpCV9fVUxfREJHKGxpYnNtYXJ0Y29scywgU0NPTFNfREVCVUdfLCBtLCB4KQorI2RlZmluZSBPTl9EQkcobSwgeCkJX19VTF9EQkdfQ0FMTChsaWJzbWFydGNvbHMsIFNDT0xTX0RFQlVHXywgbSwgeCkKKyNkZWZpbmUgREJHX0ZMVVNICV9fVUxfREJHX0ZMVVNIKGxpYnNtYXJ0Y29scywgU0NPTFNfREVCVUdfKQorCisvKgorICogR2VuZXJpYyBpdGVyYXRvcgorICovCitzdHJ1Y3QgbGlic2NvbHNfaXRlciB7CisJc3RydWN0IGxpc3RfaGVhZCAgICAgICAgKnA7CQkvKiBjdXJyZW50IHBvc2l0aW9uICovCisJc3RydWN0IGxpc3RfaGVhZCAgICAgICAgKmhlYWQ7CQkvKiBzdGFydCBwb3NpdGlvbiAqLworCWludAkJCWRpcmVjdGlvbjsJLyogU0NPTFNfSVRFUl97Rk9SLEJBQ0t9V0FSRCAqLworfTsKKworLyoKKyAqIFRyZWUgc3ltYm9scworICovCitzdHJ1Y3QgbGlic2NvbHNfc3ltYm9scyB7CisJaW50CXJlZmNvdW50OworCWNoYXIJKmJyYW5jaDsKKwljaGFyCSp2ZXJ0OworCWNoYXIJKnJpZ2h0OworCWNoYXIJKnRpdGxlX3BhZGRpbmc7CisJY2hhcgkqY2VsbF9wYWRkaW5nOworfTsKKworLyoKKyAqIFRhYmxlIGNlbGxzCisgKi8KK3N0cnVjdCBsaWJzY29sc19jZWxsIHsKKwljaGFyCSpkYXRhOworCWNoYXIJKmNvbG9yOworCXZvaWQgICAgKnVzZXJkYXRhOworCWludAlmbGFnczsKK307CisKKworLyoKKyAqIFRhYmxlIGNvbHVtbgorICovCitzdHJ1Y3QgbGlic2NvbHNfY29sdW1uIHsKKwlpbnQJcmVmY291bnQ7CS8qIHJlZmVyZW5jZSBjb3VudGVyICovCisJc2l6ZV90CXNlcW51bTsJCS8qIGNvbHVtbiBpbmRleCAqLworCisJc2l6ZV90CXdpZHRoOwkJLyogcmVhbCBjb2x1bW4gd2lkdGggKi8KKwlzaXplX3QJd2lkdGhfbWluOwkvKiBtaW5pbWFsIHdpZHRoICh1c3VhbGx5IGhlYWRlciB3aWR0aCkgKi8KKwlzaXplX3QgIHdpZHRoX21heDsJLyogbWF4aW1hbCB3aWR0aCAqLworCXNpemVfdCAgd2lkdGhfYXZnOwkvKiBhdmVyYWdlIHdpZHRoLCB1c2VkIHRvIGRldGVjdCBleHRyZW1lIGZpZWxkcyAqLworCXNpemVfdAl3aWR0aF90cmVlYXJ0OwkvKiBzaXplIG9mIHRoZSB0cmVlIGFzY2lpIGFydCAqLworCWRvdWJsZQl3aWR0aF9oaW50OwkvKiBoaW50IChOIDwgMSBpcyBpbiBwZXJjZW50IG9mIHRlcm13aWR0aCkgKi8KKworCWludAlmbGFnczsKKwlpbnQJaXNfZXh0cmVtZTsKKwljaGFyCSpjb2xvcjsJCS8qIGRlZmF1bHQgY29sdW1uIGNvbG9yICovCisJY2hhcgkqc2FmZWNoYXJzOwkvKiBkbyBub3QgZW5jb2RlIHRoaXMgYnl0ZXMgKi8KKworCWNoYXIJKnBlbmRpbmdfZGF0YTsKKwlzaXplX3QJcGVuZGluZ19kYXRhX3N6OworCWNoYXIJKnBlbmRpbmdfZGF0YV9idWY7CisKKwlpbnQgKCpjbXBmdW5jKShzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqLAorCQkgICAgICAgc3RydWN0IGxpYnNjb2xzX2NlbGwgKiwKKwkJICAgICAgIHZvaWQgKik7CQkJLyogY2VsbHMgY29tcGFyaXNvbiBmdW5jdGlvbiAqLworCXZvaWQgKmNtcGZ1bmNfZGF0YTsKKworCXNpemVfdCAoKndyYXBfY2h1bmtzaXplKShjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICosCisJCQljb25zdCBjaGFyICosIHZvaWQgKik7CisJY2hhciAqKCp3cmFwX25leHRjaHVuaykoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqLAorCQkJY2hhciAqLCB2b2lkICopOworCXZvaWQgKndyYXBmdW5jX2RhdGE7CisKKworCXN0cnVjdCBsaWJzY29sc19jZWxsCWhlYWRlcjsKKwlzdHJ1Y3QgbGlzdF9oZWFkCWNsX2NvbHVtbnM7CisKKwlzdHJ1Y3QgbGlic2NvbHNfdGFibGUJKnRhYmxlOworfTsKKworLyoKKyAqIFRhYmxlIGxpbmUKKyAqLworc3RydWN0IGxpYnNjb2xzX2xpbmUgeworCWludAlyZWZjb3VudDsKKwlzaXplX3QJc2VxbnVtOworCisJdm9pZAkqdXNlcmRhdGE7CisJY2hhcgkqY29sb3I7CQkvKiBkZWZhdWx0IGxpbmUgY29sb3IgKi8KKworCXN0cnVjdCBsaWJzY29sc19jZWxsCSpjZWxsczsJCS8qIGFycmF5IHdpdGggZGF0YSAqLworCXNpemVfdAkJCW5jZWxsczsJCS8qIG51bWJlciBvZiBjZWxscyAqLworCisJc3RydWN0IGxpc3RfaGVhZAlsbl9saW5lczsJLyogdGFibGUgbGluZXMgKi8KKwlzdHJ1Y3QgbGlzdF9oZWFkCWxuX2JyYW5jaDsJLyogYmVnaW4gb2YgYnJhbmNoIChoZWFkIG9mIGxuX2NoaWxkcmVuKSAqLworCXN0cnVjdCBsaXN0X2hlYWQJbG5fY2hpbGRyZW47CisKKwlzdHJ1Y3QgbGlic2NvbHNfbGluZQkqcGFyZW50OworfTsKKworZW51bSB7CisJU0NPTFNfRk1UX0hVTUFOID0gMCwJCS8qIGRlZmF1bHQsIGh1bWFuIHJlYWRhYmxlICovCisJU0NPTFNfRk1UX1JBVywJCQkvKiBzcGFjZSBzZXBhcmF0ZWQgKi8KKwlTQ09MU19GTVRfRVhQT1JULAkJLyogQ09MTkFNRT0iZGF0YSIgLi4uICovCisJU0NPTFNfRk1UX0pTT04JCQkvKiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0pTT04gKi8KK307CisKKy8qCisgKiBUaGUgdGFibGUKKyAqLworc3RydWN0IGxpYnNjb2xzX3RhYmxlIHsKKwlpbnQJcmVmY291bnQ7CisJY2hhcgkqbmFtZTsJCS8qIG9wdGlvbmFsIHRhYmxlIG5hbWUgKGZvciBKU09OKSAqLworCXNpemVfdAluY29sczsJCS8qIG51bWJlciBvZiBjb2x1bW5zICovCisJc2l6ZV90ICBudHJlZWNvbHM7CS8qIG51bWJlciBvZiBjb2x1bW5zIHdpdGggU0NPTFNfRkxfVFJFRSAqLworCXNpemVfdAlubGluZXM7CQkvKiBudW1iZXIgb2YgbGluZXMgKi8KKwlzaXplX3QJdGVybXdpZHRoOwkvKiB0ZXJtaW5hbCB3aWR0aCAqLworCXNpemVfdCAgdGVybXJlZHVjZTsJLyogZXh0cmEgYmxhbmsgc3BhY2UgKi8KKwlpbnQJdGVybWZvcmNlOwkvKiBTQ09MU19URVJNRk9SQ0VfKiAqLworCUZJTEUJKm91dDsJCS8qIG91dHB1dCBzdHJlYW0gKi8KKworCWNoYXIJKmNvbHNlcDsJLyogY29sdW1uIHNlcGFyYXRvciAqLworCWNoYXIJKmxpbmVzZXA7CS8qIGxpbmUgc2VwYXJhdG9yICovCisKKwlzdHJ1Y3QgbGlzdF9oZWFkCXRiX2NvbHVtbnM7CisJc3RydWN0IGxpc3RfaGVhZAl0Yl9saW5lczsKKwlzdHJ1Y3QgbGlic2NvbHNfc3ltYm9scwkqc3ltYm9sczsKKwlzdHJ1Y3QgbGlic2NvbHNfY2VsbAl0aXRsZTsJCS8qIG9wdGlvbmFsIHRhYmxlIHRpdGxlIChmb3IgaHVtYW5zKSAqLworCisJaW50CWluZGVudDsJCS8qIGluZGVudGlvbiBjb3VudGVyICovCisJaW50CWluZGVudF9sYXN0X3NlcDsvKiBsYXN0IHByaW50ZWQgaGFzIGJlZW4gbGluZSBzZXBhcmF0b3IgKi8KKwlpbnQJZm9ybWF0OwkJLyogU0NPTFNfRk1UXyogKi8KKworCS8qIGZsYWdzICovCisJdW5zaWduZWQgaW50CWFzY2lpCQk6MSwJLyogZG9uJ3QgdXNlIHVuaWNvZGUgKi8KKwkJCWNvbG9yc193YW50ZWQJOjEsCS8qIGVuYWJsZSBjb2xvcnMgKi8KKwkJCWlzX3Rlcm0JCToxLAkvKiBpc2F0dHkoKSAqLworCQkJcGFkZGluZ19kZWJ1Zwk6MSwJLyogb3V0cHV0IHZpc2libGUgcGFkZGluZyBjaGFycyAqLworCQkJbWF4b3V0CQk6MSwJLyogbWF4aW1pemUgb3V0cHV0ICovCisJCQloZWFkZXJfcHJpbnRlZCAgOjEsCS8qIGhlYWRlciBhbHJlYWR5IHByaW50ZWQgKi8KKwkJCXByaXZfc3ltYm9scwk6MSwJLyogZGVmYXVsdCBwcml2YXRlIHN5bWJvbHMgKi8KKwkJCW5vX2hlYWRpbmdzCToxLAkvKiBkb24ndCBwcmludCBoZWFkZXIgKi8KKwkJCW5vX2xpbmVzZXAJOjEsCS8qIGRvbid0IHByaW50IGxpbmUgc2VwYXJhdG9yICovCisJCQlub193cmFwCQk6MTsJLyogbmV2ZXIgd3JhcCBsaW5lcyAqLworfTsKKworI2RlZmluZSBJU19JVEVSX0ZPUldBUkQoX2kpCSgoX2kpLT5kaXJlY3Rpb24gPT0gU0NPTFNfSVRFUl9GT1JXQVJEKQorI2RlZmluZSBJU19JVEVSX0JBQ0tXQVJEKF9pKQkoKF9pKS0+ZGlyZWN0aW9uID09IFNDT0xTX0lURVJfQkFDS1dBUkQpCisKKyNkZWZpbmUgU0NPTFNfSVRFUl9JTklUKGl0ciwgbGlzdCkgXAorCWRvIHsgXAorCQkoaXRyKS0+cCA9IElTX0lURVJfRk9SV0FSRChpdHIpID8gXAorCQkJCShsaXN0KS0+bmV4dCA6IChsaXN0KS0+cHJldjsgXAorCQkoaXRyKS0+aGVhZCA9IChsaXN0KTsgXAorCX0gd2hpbGUoMCkKKworI2RlZmluZSBTQ09MU19JVEVSX0lURVJBVEUoaXRyLCByZXMsIHJlc3R5cGUsIG1lbWJlcikgXAorCWRvIHsgXAorCQlyZXMgPSBsaXN0X2VudHJ5KChpdHIpLT5wLCByZXN0eXBlLCBtZW1iZXIpOyBcCisJCShpdHIpLT5wID0gSVNfSVRFUl9GT1JXQVJEKGl0cikgPyBcCisJCQkJKGl0ciktPnAtPm5leHQgOiAoaXRyKS0+cC0+cHJldjsgXAorCX0gd2hpbGUoMCkKKworCitzdGF0aWMgaW5saW5lIGludCBzY29sc19pdGVyX2lzX2xhc3QoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2l0ZXIgKml0cikKK3sKKwlpZiAoIWl0ciB8fCAhaXRyLT5oZWFkIHx8ICFpdHItPnApCisJCXJldHVybiAwOworCisJcmV0dXJuIGl0ci0+cCA9PSBpdHItPmhlYWQ7Cit9CisKKy8qIHRlbXBvcmFyeSBmb3IgMi4yOS4xLCBwdWJsaWMgZm9yIHYyLjMwICovCitleHRlcm4gaW50IHNjb2xzX2NlbGxfZ2V0X2FsaWdubWVudChjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2UpOworCisjZW5kaWYgLyogX0xJQlNNQVJUQ09MU19QUklWQVRFX0ggKi8KZGlmZiAtLWdpdCBhL2xpYnNtYXJ0Y29scy9zcmMvc3ltYm9scy5jIGIvbGlic21hcnRjb2xzL3NyYy9zeW1ib2xzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmRkZjE4NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNtYXJ0Y29scy9zcmMvc3ltYm9scy5jCkBAIC0wLDAgKzEsMTczIEBACisvKgorICogc3ltYm9scy5jIC0gcm91dGluZXMgZm9yIHN5bWJvbCBoYW5kbGluZworICoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBPbmRyZWogT3ByYWxhIDxvb3ByYWxhQHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdvciBHbmF0ZW5rbyA8aS5nbmF0ZW5rby5icmFpbkBnbWFpbC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisvKioKKyAqIFNFQ1RJT046IHN5bWJvbHMKKyAqIEB0aXRsZTogU3ltYm9scworICogQHNob3J0X2Rlc2NyaXB0aW9uOiBhbGxvd3MgdG8gb3ZlcndyaXRlIGRlZmF1bHQgb3V0cHV0IGNoYXJzIChmb3IgYXNjaWkgYXJ0KQorICoKKyAqIEFuIEFQSSB0byBhY2Nlc3MgYW5kIG1vZGlmeSBkYXRhIGFuZCBpbmZvcm1hdGlvbiBwZXIgc3ltYm9sL3N5bWJvbCBncm91cC4KKyAqLworCisKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworI2luY2x1ZGUgInNtYXJ0Y29sc1AuaCIKKworLyoqCisgKiBzY29sc19uZXdfc3ltYm9sczoKKyAqCisgKiBSZXR1cm5zOiBhIHBvaW50ZXIgdG8gYSBuZXdseSBhbGxvY2F0ZWQgc3RydWN0IGxpYnNjb2xzX3N5bWJvbHMgaW5zdGFuY2UuCisgKi8KK3N0cnVjdCBsaWJzY29sc19zeW1ib2xzICpzY29sc19uZXdfc3ltYm9scyh2b2lkKQoreworCXN0cnVjdCBsaWJzY29sc19zeW1ib2xzICpzeSA9IGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGxpYnNjb2xzX3N5bWJvbHMpKTsKKworCWlmICghc3kpCisJCXJldHVybiBOVUxMOworCXN5LT5yZWZjb3VudCA9IDE7CisJcmV0dXJuIHN5OworfQorCisvKioKKyAqIHNjb2xzX3JlZl9zeW1ib2xzOgorICogQHN5OiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfc3ltYm9scyBpbnN0YW5jZQorICoKKyAqIEluY3JlYXNlcyB0aGUgcmVmY291bnQgb2YgQHN5LgorICovCit2b2lkIHNjb2xzX3JlZl9zeW1ib2xzKHN0cnVjdCBsaWJzY29sc19zeW1ib2xzICpzeSkKK3sKKwlpZiAoc3kpCisJCXN5LT5yZWZjb3VudCsrOworfQorCisvKioKKyAqIHNjb2xzX3VucmVmX3N5bWJvbHM6CisgKiBAc3k6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19zeW1ib2xzIGluc3RhbmNlCisgKgorICogRGVjcmVhc2VzIHRoZSByZWZjb3VudCBvZiBAc3kuCisgKi8KK3ZvaWQgc2NvbHNfdW5yZWZfc3ltYm9scyhzdHJ1Y3QgbGlic2NvbHNfc3ltYm9scyAqc3kpCit7CisJaWYgKHN5ICYmIC0tc3ktPnJlZmNvdW50IDw9IDApIHsKKwkJZnJlZShzeS0+YnJhbmNoKTsKKwkJZnJlZShzeS0+dmVydCk7CisJCWZyZWUoc3ktPnJpZ2h0KTsKKwkJZnJlZShzeS0+dGl0bGVfcGFkZGluZyk7CisJCWZyZWUoc3ktPmNlbGxfcGFkZGluZyk7CisJCWZyZWUoc3kpOworCX0KK30KKworLyoqCisgKiBzY29sc19zeW1ib2xzX3NldF9icmFuY2g6CisgKiBAc3k6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19zeW1ib2xzIGluc3RhbmNlCisgKiBAc3RyOiBhIHN0cmluZyB3aGljaCB3aWxsIHJlcHJlc2VudCB0aGUgYnJhbmNoIHBhcnQgb2YgYSB0cmVlIG91dHB1dAorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX3N5bWJvbHNfc2V0X2JyYW5jaChzdHJ1Y3QgbGlic2NvbHNfc3ltYm9scyAqc3ksIGNvbnN0IGNoYXIgKnN0cikKK3sKKwlyZXR1cm4gc3RyZHVwX3RvX3N0cnVjdF9tZW1iZXIoc3ksIGJyYW5jaCwgc3RyKTsKK30KKworLyoqCisgKiBzY29sc19zeW1ib2xzX3NldF92ZXJ0aWNhbDoKKyAqIEBzeTogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX3N5bWJvbHMgaW5zdGFuY2UKKyAqIEBzdHI6IGEgc3RyaW5nIHdoaWNoIHdpbGwgcmVwcmVzZW50IHRoZSB2ZXJ0aWNhbCBwYXJ0IG9mIGEgdHJlZSBvdXRwdXQKKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK2ludCBzY29sc19zeW1ib2xzX3NldF92ZXJ0aWNhbChzdHJ1Y3QgbGlic2NvbHNfc3ltYm9scyAqc3ksIGNvbnN0IGNoYXIgKnN0cikKK3sKKwlyZXR1cm4gc3RyZHVwX3RvX3N0cnVjdF9tZW1iZXIoc3ksIHZlcnQsIHN0cik7Cit9CisKKy8qKgorICogc2NvbHNfc3ltYm9sc19zZXRfcmlnaHQ6CisgKiBAc3k6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19zeW1ib2xzIGluc3RhbmNlCisgKiBAc3RyOiBhIHN0cmluZyB3aGljaCB3aWxsIHJlcHJlc2VudCB0aGUgcmlnaHQgcGFydCBvZiBhIHRyZWUgb3V0cHV0CisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfc3ltYm9sc19zZXRfcmlnaHQoc3RydWN0IGxpYnNjb2xzX3N5bWJvbHMgKnN5LCBjb25zdCBjaGFyICpzdHIpCit7CisJcmV0dXJuIHN0cmR1cF90b19zdHJ1Y3RfbWVtYmVyKHN5LCByaWdodCwgc3RyKTsKK30KKworLyoqCisgKiBzY29sc19zeW1ib2xzX3NldF90aXRsZV9wYWRkaW5nOgorICogQHN5OiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfc3ltYm9scyBpbnN0YW5jZQorICogQHN0cjogYSBzdHJpbmcgd2hpY2ggd2lsbCByZXByZXNlbnQgdGhlIHN5bWJvbHMgd2hpY2ggZmlsbCB0aXRsZSBvdXRwdXQKKyAqCisgKiBUaGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiB1c2VzIG9ubHkgdGhlIGZpcnN0IGJ5dGUgZnJvbSB0aGUgcGFkZGluZyBzdHJpbmcuCisgKiBBIG11bHRpYnl0ZSBjaGFycyBhcmUgbm90IHN1cHBvcnRlZCB5ZXQuCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICoKKyAqIFNpbmNlOiAyLjI4CisgKi8KK2ludCBzY29sc19zeW1ib2xzX3NldF90aXRsZV9wYWRkaW5nKHN0cnVjdCBsaWJzY29sc19zeW1ib2xzICpzeSwgY29uc3QgY2hhciAqc3RyKQoreworCXJldHVybiBzdHJkdXBfdG9fc3RydWN0X21lbWJlcihzeSwgdGl0bGVfcGFkZGluZywgc3RyKTsKK30KKworLyoqCisgKiBzY29sc19zeW1ib2xzX3NldF9jZWxsX3BhZGRpbmc6CisgKiBAc3k6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19zeW1ib2xzIGluc3RhbmNlCisgKiBAc3RyOiBhIHN0cmluZyB3aGljaCB3aWxsIHJlcHJlc2VudCB0aGUgc3ltYm9scyB3aGljaCBmaWxsIGNlbGxzCisgKgorICogVGhlIHBhZGRpbmcgY2hhciBoYXMgdG8gdGFrZSB1cCBqdXN0IG9uZSBjZWxsIG9uIHRoZSB0ZXJtaW5hbC4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKgorICogU2luY2U6IDIuMjkKKyAqLworaW50IHNjb2xzX3N5bWJvbHNfc2V0X2NlbGxfcGFkZGluZyhzdHJ1Y3QgbGlic2NvbHNfc3ltYm9scyAqc3ksIGNvbnN0IGNoYXIgKnN0cikKK3sKKwlyZXR1cm4gc3RyZHVwX3RvX3N0cnVjdF9tZW1iZXIoc3ksIGNlbGxfcGFkZGluZywgc3RyKTsKK30KKworLyoqCisgKiBzY29sc19jb3B5X3N5bWJvbHM6CisgKiBAc3k6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19zeW1ib2xzIGluc3RhbmNlCisgKgorICogUmV0dXJuczogYSBuZXdseSBhbGxvY2F0ZWQgY29weSBvZiB0aGUgQHN5IHN5bWJvbCBncm91cCBvciBOVUxMIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK3N0cnVjdCBsaWJzY29sc19zeW1ib2xzICpzY29sc19jb3B5X3N5bWJvbHMoY29uc3Qgc3RydWN0IGxpYnNjb2xzX3N5bWJvbHMgKnN5KQoreworCXN0cnVjdCBsaWJzY29sc19zeW1ib2xzICpyZXQ7CisJaW50IHJjOworCisJYXNzZXJ0KHN5KTsKKwlpZiAoIXN5KQorCQlyZXR1cm4gTlVMTDsKKworCXJldCA9IHNjb2xzX25ld19zeW1ib2xzKCk7CisJaWYgKCFyZXQpCisJCXJldHVybiBOVUxMOworCisJcmMgPSBzY29sc19zeW1ib2xzX3NldF9icmFuY2gocmV0LCBzeS0+YnJhbmNoKTsKKwlpZiAoIXJjKQorCQlyYyA9IHNjb2xzX3N5bWJvbHNfc2V0X3ZlcnRpY2FsKHJldCwgc3ktPnZlcnQpOworCWlmICghcmMpCisJCXJjID0gc2NvbHNfc3ltYm9sc19zZXRfcmlnaHQocmV0LCBzeS0+cmlnaHQpOworCWlmICghcmMpCisJCXJjID0gc2NvbHNfc3ltYm9sc19zZXRfdGl0bGVfcGFkZGluZyhyZXQsIHN5LT50aXRsZV9wYWRkaW5nKTsKKwlpZiAoIXJjKQorCQlyYyA9IHNjb2xzX3N5bWJvbHNfc2V0X2NlbGxfcGFkZGluZyhyZXQsIHN5LT5jZWxsX3BhZGRpbmcpOworCWlmICghcmMpCisJCXJldHVybiByZXQ7CisKKwlzY29sc191bnJlZl9zeW1ib2xzKHJldCk7CisJcmV0dXJuIE5VTEw7Cit9CmRpZmYgLS1naXQgYS9saWJzbWFydGNvbHMvc3JjL3RhYmxlLmMgYi9saWJzbWFydGNvbHMvc3JjL3RhYmxlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWE2MzE4ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNtYXJ0Y29scy9zcmMvdGFibGUuYwpAQCAtMCwwICsxLDEyOTQgQEAKKy8qCisgKiB0YWJsZS5jIC0gZnVuY3Rpb25zIGhhbmRsaW5nIHRoZSBkYXRhIGF0IHRoZSB0YWJsZSBsZXZlbAorICoKKyAqIENvcHlyaWdodCAoQykgMjAxMC0yMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDE0IE9uZHJlaiBPcHJhbGEgPG9vcHJhbGFAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAxNiBJZ29yIEduYXRlbmtvIDxpLmduYXRlbmtvLmJyYWluQGdtYWlsLmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKy8qKgorICogU0VDVElPTjogdGFibGUKKyAqIEB0aXRsZTogVGFibGUKKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogY29udGFpbmVyIGZvciByb3dzIGFuZCBjb2x1bW5zCisgKgorICogVGFibGUgZGF0YSBtYW5pcHVsYXRpb24gQVBJLgorICovCisKKworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHRlcm1pb3MuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAidHR5dXRpbHMuaCIKKyNpbmNsdWRlICJzbWFydGNvbHNQLmgiCisKKyNpZmRlZiBIQVZFX1dJREVDSEFSCisjZGVmaW5lIFVURl9WCSJcMzQyXDIyNFwyMDIiCS8qIFUrMjUwMiwgVmVydGljYWwgbGluZSBkcmF3aW5nIGNoYXIgKi8KKyNkZWZpbmUgVVRGX1ZSCSJcMzQyXDIyNFwyMzQiCS8qIFUrMjUxQywgVmVydGljYWwgYW5kIHJpZ2h0ICovCisjZGVmaW5lIFVURl9ICSJcMzQyXDIyNFwyMDAiCS8qIFUrMjUwMCwgSG9yaXpvbnRhbCAqLworI2RlZmluZSBVVEZfVVIJIlwzNDJcMjI0XDIyNCIJLyogVSsyNTE0LCBVcCBhbmQgcmlnaHQgKi8KKyNlbmRpZiAvKiAhSEFWRV9XSURFQ0hBUiAqLworCisjZGVmaW5lIGlzX2xhc3RfY29sdW1uKF90YiwgX2NsKSBcCisJCWxpc3RfZW50cnlfaXNfbGFzdCgmKF9jbCktPmNsX2NvbHVtbnMsICYoX3RiKS0+dGJfY29sdW1ucykKKworCitzdGF0aWMgdm9pZCBjaGVja19wYWRkaW5nX2RlYnVnKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJY29uc3QgY2hhciAqc3RyOworCisJYXNzZXJ0KGxpYnNtYXJ0Y29sc19kZWJ1Z19tYXNrKTsJLyogZGVidWcgaGFzIHRvIGJlIGVuYWJsZWQhICovCisKKwlzdHIgPSBnZXRlbnYoIkxJQlNNQVJUQ09MU19ERUJVR19QQURESU5HIik7CisJaWYgKCFzdHIgfHwgKHN0cmNtcChzdHIsICJvbiIpICE9IDAgJiYgc3RyY21wKHN0ciwgIjEiKSAhPSAwKSkKKwkJcmV0dXJuOworCisJREJHKElOSVQsIHVsX2RlYnVnb2JqKHRiLCAicGFkZGluZyBkZWJ1ZzogRU5BQkxFIikpOworCXRiLT5wYWRkaW5nX2RlYnVnID0gMTsKK30KKworLyoqCisgKiBzY29sc19uZXdfdGFibGU6CisgKgorICogUmV0dXJuczogQSBuZXdseSBhbGxvY2F0ZWQgdGFibGUuCisgKi8KK3N0cnVjdCBsaWJzY29sc190YWJsZSAqc2NvbHNfbmV3X3RhYmxlKHZvaWQpCit7CisJc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YjsKKworCXRiID0gY2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgbGlic2NvbHNfdGFibGUpKTsKKwlpZiAoIXRiKQorCQlyZXR1cm4gTlVMTDsKKworCXRiLT5yZWZjb3VudCA9IDE7CisJdGItPm91dCA9IHN0ZG91dDsKKwl0Yi0+dGVybXdpZHRoID0gZ2V0X3Rlcm1pbmFsX3dpZHRoKDgwKTsKKworCUlOSVRfTElTVF9IRUFEKCZ0Yi0+dGJfbGluZXMpOworCUlOSVRfTElTVF9IRUFEKCZ0Yi0+dGJfY29sdW1ucyk7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImFsbG9jIikpOworCU9OX0RCRyhJTklULCBjaGVja19wYWRkaW5nX2RlYnVnKHRiKSk7CisKKwlyZXR1cm4gdGI7Cit9CisKKy8qKgorICogc2NvbHNfcmVmX3RhYmxlOgorICogQHRiOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgaW5zdGFuY2UKKyAqCisgKiBJbmNyZWFzZXMgdGhlIHJlZmNvdW50IG9mIEB0Yi4KKyAqLwordm9pZCBzY29sc19yZWZfdGFibGUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwlpZiAodGIpCisJCXRiLT5yZWZjb3VudCsrOworfQorCisvKioKKyAqIHNjb2xzX3VucmVmX3RhYmxlOgorICogQHRiOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgaW5zdGFuY2UKKyAqCisgKiBEZWNyZWFzZXMgdGhlIHJlZmNvdW50IG9mIEB0Yi4gV2hlbiB0aGUgY291bnQgZmFsbHMgdG8gemVybywgdGhlIGluc3RhbmNlCisgKiBpcyBhdXRvbWF0aWNhbGx5IGRlYWxsb2NhdGVkLgorICovCit2b2lkIHNjb2xzX3VucmVmX3RhYmxlKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJaWYgKHRiICYmICgtLXRiLT5yZWZjb3VudCA8PSAwKSkgeworCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImRlYWxsb2MiKSk7CisJCXNjb2xzX3RhYmxlX3JlbW92ZV9saW5lcyh0Yik7CisJCXNjb2xzX3RhYmxlX3JlbW92ZV9jb2x1bW5zKHRiKTsKKwkJc2NvbHNfdW5yZWZfc3ltYm9scyh0Yi0+c3ltYm9scyk7CisJCXNjb2xzX3Jlc2V0X2NlbGwoJnRiLT50aXRsZSk7CisJCWZyZWUodGItPmxpbmVzZXApOworCQlmcmVlKHRiLT5jb2xzZXApOworCQlmcmVlKHRiLT5uYW1lKTsKKwkJZnJlZSh0Yik7CisJfQorfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX3NldF9uYW1lOgorICogQHRiOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgaW5zdGFuY2UKKyAqIEBuYW1lOiBhIG5hbWUKKyAqCisgKiBUaGUgdGFibGUgbmFtZSBpcyB1c2VkIGZvciBleGFtcGxlIGZvciBKU09OIHRvcCBsZXZlbCBvYmplY3QgbmFtZS4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGFuIGVycm9yLgorICoKKyAqIFNpbmNlOiAyLjI3CisgKi8KK2ludCBzY29sc190YWJsZV9zZXRfbmFtZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBjb25zdCBjaGFyICpuYW1lKQoreworCXJldHVybiBzdHJkdXBfdG9fc3RydWN0X21lbWJlcih0YiwgbmFtZSwgbmFtZSk7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfZ2V0X25hbWU6CisgKiBAdGI6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc190YWJsZSBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IFRoZSBjdXJyZW50IG5hbWUgc2V0dGluZyBvZiB0aGUgdGFibGUgQHRiCisgKgorICogU2luY2U6IDIuMjkKKyAqLworY29uc3QgY2hhciAqc2NvbHNfdGFibGVfZ2V0X25hbWUoY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwlyZXR1cm4gdGItPm5hbWU7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfZ2V0X3RpdGxlOgorICogQHRiOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgaW5zdGFuY2UKKyAqCisgKiBUaGUgcmV0dXJuZWQgcG9pbnRlciBpcyBwb3NzaWJsZSB0byBtb2RpZnkgYnkgY2VsbCBmdW5jdGlvbnMuIE5vdGUgdGhhdAorICogdGl0bGUgb3V0cHV0IGFsaWdubWVudCBvbiBub24tdHR5IGlzIGhhcmRjb2RlZCB0byA4MCBvdXRwdXQgY2hhcnMuIEZvciB0aGUKKyAqIHJlZ3VsYXIgdGVybWluYWwgaXQncyBiYXNlZCBvbiB0ZXJtaW5hbCB3aWR0aC4KKyAqCisgKiBSZXR1cm5zOiBUaXRsZSBvZiB0aGUgdGFibGUsIG9yICVOVUxMIGluIGNhc2Ugb2YgYmxhbmsgdGl0bGUuCisgKgorICogU2luY2U6IDIuMjgKKyAqLworc3RydWN0IGxpYnNjb2xzX2NlbGwgKnNjb2xzX3RhYmxlX2dldF90aXRsZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXJldHVybiAmdGItPnRpdGxlOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX2FkZF9jb2x1bW46CisgKiBAdGI6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc190YWJsZSBpbnN0YW5jZQorICogQGNsOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uIGluc3RhbmNlCisgKgorICogQWRkcyBAY2wgdG8gQHRiJ3MgY29sdW1uIGxpc3QuIFRoZSBjb2x1bW4gY2Fubm90IGJlIHNoYXJlZCBiZXR3ZWVuIG1vcmUKKyAqIHRhYmxlcy4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfdGFibGVfYWRkX2NvbHVtbihzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCkKK3sKKwlpZiAoIXRiIHx8ICFjbCB8fCAhbGlzdF9lbXB0eSgmdGItPnRiX2xpbmVzKSB8fCBjbC0+dGFibGUpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKGNsLT5mbGFncyAmIFNDT0xTX0ZMX1RSRUUpCisJCXRiLT5udHJlZWNvbHMrKzsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiYWRkIGNvbHVtbiAlcCIsIGNsKSk7CisJbGlzdF9hZGRfdGFpbCgmY2wtPmNsX2NvbHVtbnMsICZ0Yi0+dGJfY29sdW1ucyk7CisJY2wtPnNlcW51bSA9IHRiLT5uY29scysrOworCWNsLT50YWJsZSA9IHRiOworCXNjb2xzX3JlZl9jb2x1bW4oY2wpOworCisJLyogVE9ETzoKKwkgKgorCSAqIEN1cnJlbnRseSBpdCdzIHBvc3NpYmxlIHRvIGFkZC9yZW1vdmUgY29sdW1ucyBvbmx5IGlmIHRoZSB0YWJsZSBpcworCSAqIGVtcHR5IChzZWUgbGlzdF9lbXB0eSh0Yi0+dGJfbGluZXMpIGFib3ZlKS4gSXQgd291bGQgYmUgbmljZSB0bworCSAqIGVubGFyZ2UvcmVkdWNlIGxpbmVzIGNlbGxzW10gYWx3YXlzIHdoZW4gd2UgYWRkL3JlbW92ZSBhIG5ldyBjb2x1bW4uCisJICovCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfcmVtb3ZlX2NvbHVtbjoKKyAqIEB0YjogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX3RhYmxlIGluc3RhbmNlCisgKiBAY2w6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gaW5zdGFuY2UKKyAqCisgKiBSZW1vdmVzIEBjbCBmcm9tIEB0Yi4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfdGFibGVfcmVtb3ZlX2NvbHVtbihzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLAorCQkJICAgICAgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpCit7CisJaWYgKCF0YiB8fCAhY2wgfHwgIWxpc3RfZW1wdHkoJnRiLT50Yl9saW5lcykpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKGNsLT5mbGFncyAmIFNDT0xTX0ZMX1RSRUUpCisJCXRiLT5udHJlZWNvbHMtLTsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAicmVtb3ZlIGNvbHVtbiAlcCIsIGNsKSk7CisJbGlzdF9kZWxfaW5pdCgmY2wtPmNsX2NvbHVtbnMpOworCXRiLT5uY29scy0tOworCWNsLT50YWJsZSA9IE5VTEw7CisJc2NvbHNfdW5yZWZfY29sdW1uKGNsKTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9yZW1vdmVfY29sdW1uczoKKyAqIEB0YjogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX3RhYmxlIGluc3RhbmNlCisgKgorICogUmVtb3ZlcyBhbGwgb2YgQHRiJ3MgY29sdW1ucy4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfdGFibGVfcmVtb3ZlX2NvbHVtbnMoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwlpZiAoIXRiIHx8ICFsaXN0X2VtcHR5KCZ0Yi0+dGJfbGluZXMpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAicmVtb3ZlIGFsbCBjb2x1bW5zIikpOworCXdoaWxlICghbGlzdF9lbXB0eSgmdGItPnRiX2NvbHVtbnMpKSB7CisJCXN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsID0gbGlzdF9lbnRyeSh0Yi0+dGJfY29sdW1ucy5uZXh0LAorCQkJCQlzdHJ1Y3QgbGlic2NvbHNfY29sdW1uLCBjbF9jb2x1bW5zKTsKKwkJc2NvbHNfdGFibGVfcmVtb3ZlX2NvbHVtbih0YiwgY2wpOworCX0KKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9uZXdfY29sdW1uOgorICogQHRiOiB0YWJsZQorICogQG5hbWU6IGNvbHVtbiBoZWFkZXIKKyAqIEB3aGludDogY29sdW1uIHdpZHRoIGhpbnQgKGFic29sdXRlIHdpZHRoOiBOID4gMTsgcmVsYXRpdmUgd2lkdGg6IE4gPCAxKQorICogQGZsYWdzOiBmbGFncyBpbnRlZ2VyCisgKgorICogVGhpcyBpcyBzaG9ydGN1dCBmb3IKKyAqCisgKiAgIGNsID0gc2NvbHNfbmV3X2NvbHVtbigpOworICogICBzY29sc19jb2x1bW5fc2V0Xy4uLi4oY2wsIC4uLik7CisgKiAgIHNjb2xzX3RhYmxlX2FkZF9jb2x1bW4odGIsIGNsKTsKKyAqCisgKiBUaGUgY29sdW1uIHdpZHRoIGlzIHBvc3NpYmxlIHRvIGRlZmluZSBieToKKyAqCisgKiAgQHdoaW50ID0gMC4uMSAgICA6IHJlbGF0aXZlIHdpZHRoLCBwZXJjZW50IG9mIHRlcm1pbmFsIHdpZHRoCisgKgorICogIEB3aGludCA9IDEuLk4gICAgOiBhYnNvbHV0ZSB3aWR0aCwgZW1wdHkgY29sdW1uIHdpbGwgYmUgdHJ1bmNhdGVkIHRvCisgKiAgICAgICAgICAgICAgICAgICAgIHRoZSBjb2x1bW4gaGVhZGVyIHdpZHRoIGlmIG5vIHNwZWNpZmllZCBTVFJJQ1RXSURUSCBmbGFnCisgKgorICogTm90ZSB0aGF0IGlmIHRhYmxlIGhhcyBkaXNhYmxlZCAibWF4b3V0IiBmbGFnIChkaXNhYmxlZCBieSBkZWZhdWx0KSB0aGFuCisgKiByZWxhdGl2ZSB3aWR0aCBpcyB1c2VkIGFzIGEgaGludCBvbmx5LiBJdCdzIHBvc3NpYmxlIHRoYXQgY29sdW1uIHdpbGwgYmUKKyAqIG5hcnJvdyBpZiB0aGUgc3BlY2lmaWVkIHNpemUgaXMgdG9vIGxhcmdlIGZvciBjb2x1bW4gZGF0YS4KKyAqCisgKiBUaGUgY29sdW1uIGlzIG5lY2Vzc2FyeSB0byBhZGRyZXNzIGJ5IHNlcXVlbnRpYWwgbnVtYmVyLiBUaGUgZmlyc3QgZGVmaW5lZAorICogY29sdW1uIGhhcyB0aGUgY29sbnVtID0gMC4gRm9yIGV4YW1wbGU6CisgKgorICoJc2NvbHNfdGFibGVfbmV3X2NvbHVtbih0YWIsICJGT08iLCAwLjUsIDApOwkJLy8gY29sbnVtID0gMAorICoJc2NvbHNfdGFibGVfbmV3X2NvbHVtbih0YWIsICJCQVIiLCAwLjUsIDApOwkJLy8gY29sbnVtID0gMQorICogICAgICAuCisgKiAgICAgIC4KKyAqCXNjb2xzX2xpbmVfZ2V0X2NlbGwobGluZSwgMCk7CQkJCS8vIEZPTyBjb2x1bW4KKyAqCXNjb2xzX2xpbmVfZ2V0X2NlbGwobGluZSwgMSk7CQkJCS8vIEJBUiBjb2x1bW4KKyAqCisgKiBSZXR1cm5zOiBuZXdseSBhbGxvY2F0ZWQgY29sdW1uCisgKi8KK3N0cnVjdCBsaWJzY29sc19jb2x1bW4gKnNjb2xzX3RhYmxlX25ld19jb2x1bW4oc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwKKwkJCQkJICAgICAgIGNvbnN0IGNoYXIgKm5hbWUsCisJCQkJCSAgICAgICBkb3VibGUgd2hpbnQsCisJCQkJCSAgICAgICBpbnQgZmxhZ3MpCit7CisJc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2w7CisJc3RydWN0IGxpYnNjb2xzX2NlbGwgKmhyOworCisJaWYgKCF0YikKKwkJcmV0dXJuIE5VTEw7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIm5ldyBjb2x1bW4gbmFtZT0lcywgd2hpbnQ9JWcsIGZsYWdzPSVkIiwKKwkJCQluYW1lLCB3aGludCwgZmxhZ3MpKTsKKwljbCA9IHNjb2xzX25ld19jb2x1bW4oKTsKKwlpZiAoIWNsKQorCQlyZXR1cm4gTlVMTDsKKworCS8qIHNldCBjb2x1bW4gbmFtZSAqLworCWhyID0gc2NvbHNfY29sdW1uX2dldF9oZWFkZXIoY2wpOworCWlmICghaHIpCisJCWdvdG8gZXJyOworCWlmIChzY29sc19jZWxsX3NldF9kYXRhKGhyLCBuYW1lKSkKKwkJZ290byBlcnI7CisKKwlzY29sc19jb2x1bW5fc2V0X3doaW50KGNsLCB3aGludCk7CisJc2NvbHNfY29sdW1uX3NldF9mbGFncyhjbCwgZmxhZ3MpOworCisJaWYgKHNjb2xzX3RhYmxlX2FkZF9jb2x1bW4odGIsIGNsKSkJLyogdGhpcyBpbmNyZW1lbnRzIGNvbHVtbiByZWYtY291bnRlciAqLworCQlnb3RvIGVycjsKKworCXNjb2xzX3VucmVmX2NvbHVtbihjbCk7CisJcmV0dXJuIGNsOworZXJyOgorCXNjb2xzX3VucmVmX2NvbHVtbihjbCk7CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfbmV4dF9jb2x1bW46CisgKiBAdGI6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc190YWJsZSBpbnN0YW5jZQorICogQGl0cjogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2l0ZXIgaW5zdGFuY2UKKyAqIEBjbDogYSBwb2ludGVyIHRvIGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gaW5zdGFuY2UKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXh0IGNvbHVtbiBvZiBAdGIgdmlhIEBjbC4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK2ludCBzY29sc190YWJsZV9uZXh0X2NvbHVtbihzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLAorCQkJICAgIHN0cnVjdCBsaWJzY29sc19pdGVyICppdHIsCisJCQkgICAgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqKmNsKQoreworCWludCByYyA9IDE7CisKKwlpZiAoIXRiIHx8ICFpdHIgfHwgIWNsKQorCQlyZXR1cm4gLUVJTlZBTDsKKwkqY2wgPSBOVUxMOworCisJaWYgKCFpdHItPmhlYWQpCisJCVNDT0xTX0lURVJfSU5JVChpdHIsICZ0Yi0+dGJfY29sdW1ucyk7CisJaWYgKGl0ci0+cCAhPSBpdHItPmhlYWQpIHsKKwkJU0NPTFNfSVRFUl9JVEVSQVRFKGl0ciwgKmNsLCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uLCBjbF9jb2x1bW5zKTsKKwkJcmMgPSAwOworCX0KKworCXJldHVybiByYzsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9nZXRfbmNvbHM6CisgKiBAdGI6IHRhYmxlCisgKgorICogUmV0dXJuczogdGhlIG5jb2xzIHRhYmxlIG1lbWJlci4KKyAqLworc2l6ZV90IHNjb2xzX3RhYmxlX2dldF9uY29scyhjb25zdCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXJldHVybiB0Yi0+bmNvbHM7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfZ2V0X25saW5lczoKKyAqIEB0YjogdGFibGUKKyAqCisgKiBSZXR1cm5zOiB0aGUgbmxpbmVzIHRhYmxlIG1lbWJlci4KKyAqLworc2l6ZV90IHNjb2xzX3RhYmxlX2dldF9ubGluZXMoY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwlyZXR1cm4gdGItPm5saW5lczsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9zZXRfc3RyZWFtOgorICogQHRiOiB0YWJsZQorICogQHN0cmVhbTogb3V0cHV0IHN0cmVhbQorICoKKyAqIFNldHMgdGhlIG91dHB1dCBzdHJlYW0gZm9yIHRhYmxlIEB0Yi4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfdGFibGVfc2V0X3N0cmVhbShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBGSUxFICpzdHJlYW0pCit7CisJYXNzZXJ0KHRiKTsKKwlpZiAoIXRiKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAic2V0dGluZyBhbHRlcm5hdGl2ZSBzdHJlYW0iKSk7CisJdGItPm91dCA9IHN0cmVhbTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9nZXRfc3RyZWFtOgorICogQHRiOiB0YWJsZQorICoKKyAqIEdldHMgdGhlIG91dHB1dCBzdHJlYW0gZm9yIHRhYmxlIEB0Yi4KKyAqCisgKiBSZXR1cm5zOiBzdHJlYW0gcG9pbnRlciwgTlVMTCBpbiBjYXNlIG9mIGFuIGVycm9yIG9yIGFuIHVuc2V0IHN0cmVhbS4KKyAqLworRklMRSAqc2NvbHNfdGFibGVfZ2V0X3N0cmVhbShjb25zdCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXJldHVybiB0Yi0+b3V0OworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX3JlZHVjZV90ZXJtd2lkdGg6CisgKiBAdGI6IHRhYmxlCisgKiBAcmVkdWNlOiB3aWR0aAorICoKKyAqIElmIG5lY2Vzc2FyeSB0aGVuIGxpYnNtYXJ0Y29scyB1c2UgYWxsIHRlcm1pbmFsIHdpZHRoLCB0aGUgQHJlZHVjZSBzZXR0aW5nCisgKiBwcm92aWRlcyBleHRyYSBzcGFjZSAoZm9yIGV4YW1wbGUgZm9yIGJvcmRlcnMgaW4gbmN1cnNlcyBhcHBsaWNhdGlvbnMpLgorICoKKyAqIFRoZSBAcmVkdWNlIG11c3QgYmUgc21hbGxlciB0aGFuIHRlcm1pbmFsIHdpZHRoLCBvdGhlcndpc2UgaXQncyBzaWxlbnRseQorICogaWdub3JlZC4gVGhlIHJlZHVjdGlvbiBpcyBub3QgYXBwbGllZCB3aGVuIFNURE9VVF9GSUxFTk8gaXMgbm90IHRlcm1pbmFsLgorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX3RhYmxlX3JlZHVjZV90ZXJtd2lkdGgoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yiwgc2l6ZV90IHJlZHVjZSkKK3sKKwlpZiAoIXRiKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAicmVkdWNlIHRlcm1pbmFsIHdpZHRoOiAlenUiLCByZWR1Y2UpKTsKKwl0Yi0+dGVybXJlZHVjZSA9IHJlZHVjZTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9nZXRfY29sdW1uOgorICogQHRiOiB0YWJsZQorICogQG46IG51bWJlciBvZiBjb2x1bW4gKDAuLk4pCisgKgorICogUmV0dXJuczogcG9pbnRlciB0byBjb2x1bW4gb3IgTlVMTAorICovCitzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpzY29sc190YWJsZV9nZXRfY29sdW1uKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsCisJCQkJCSAgICAgICBzaXplX3QgbikKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfaXRlciBpdHI7CisJc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2w7CisKKwlpZiAoIXRiKQorCQlyZXR1cm4gTlVMTDsKKwlpZiAobiA+PSB0Yi0+bmNvbHMpCisJCXJldHVybiBOVUxMOworCisJc2NvbHNfcmVzZXRfaXRlcigmaXRyLCBTQ09MU19JVEVSX0ZPUldBUkQpOworCXdoaWxlIChzY29sc190YWJsZV9uZXh0X2NvbHVtbih0YiwgJml0ciwgJmNsKSA9PSAwKSB7CisJCWlmIChjbC0+c2VxbnVtID09IG4pCisJCQlyZXR1cm4gY2w7CisJfQorCXJldHVybiBOVUxMOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX2FkZF9saW5lOgorICogQHRiOiB0YWJsZQorICogQGxuOiBsaW5lCisgKgorICogTm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gY2FsbHMgc2NvbHNfbGluZV9hbGxvY19jZWxscygpIGlmIG51bWJlcgorICogb2YgdGhlIGNlbGxzIGluIHRoZSBsaW5lIGlzIHRvbyBzbWFsbCBmb3IgQHRiLgorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX3RhYmxlX2FkZF9saW5lKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIHN0cnVjdCBsaWJzY29sc19saW5lICpsbikKK3sKKwlpZiAoIXRiIHx8ICFsbiB8fCB0Yi0+bmNvbHMgPT0gMCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAodGItPm5jb2xzID4gbG4tPm5jZWxscykgeworCQlpbnQgcmMgPSBzY29sc19saW5lX2FsbG9jX2NlbGxzKGxuLCB0Yi0+bmNvbHMpOworCQlpZiAocmMpCisJCQlyZXR1cm4gcmM7CisJfQorCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJhZGQgbGluZSAlcCIsIGxuKSk7CisJbGlzdF9hZGRfdGFpbCgmbG4tPmxuX2xpbmVzLCAmdGItPnRiX2xpbmVzKTsKKwlsbi0+c2VxbnVtID0gdGItPm5saW5lcysrOworCXNjb2xzX3JlZl9saW5lKGxuKTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9yZW1vdmVfbGluZToKKyAqIEB0YjogdGFibGUKKyAqIEBsbjogbGluZQorICoKKyAqIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGRvZXMgbm90IGRlc3Ryb3kgdGhlIHBhcmVudDwtPmNoaWxkIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGxpbmVzLgorICogWW91IGhhdmUgdG8gY2FsbCBzY29sc19saW5lX3JlbW92ZV9jaGlsZCgpCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfdGFibGVfcmVtb3ZlX2xpbmUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwKKwkJCSAgICBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4pCit7CisJaWYgKCF0YiB8fCAhbG4pCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJyZW1vdmUgbGluZSAlcCIsIGxuKSk7CisJbGlzdF9kZWxfaW5pdCgmbG4tPmxuX2xpbmVzKTsKKwl0Yi0+bmxpbmVzLS07CisJc2NvbHNfdW5yZWZfbGluZShsbik7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfcmVtb3ZlX2xpbmVzOgorICogQHRiOiB0YWJsZQorICoKKyAqIFRoaXMgZW1wdGllcyB0aGUgdGFibGUgYW5kIGFsc28gZGVzdHJveXMgYWxsIHRoZSBwYXJlbnQ8LT5jaGlsZCByZWxhdGlvbnNoaXBzLgorICovCit2b2lkIHNjb2xzX3RhYmxlX3JlbW92ZV9saW5lcyhzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCWlmICghdGIpCisJCXJldHVybjsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAicmVtb3ZlIGFsbCBsaW5lcyIpKTsKKwl3aGlsZSAoIWxpc3RfZW1wdHkoJnRiLT50Yl9saW5lcykpIHsKKwkJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuID0gbGlzdF9lbnRyeSh0Yi0+dGJfbGluZXMubmV4dCwKKwkJCQkJCXN0cnVjdCBsaWJzY29sc19saW5lLCBsbl9saW5lcyk7CisJCWlmIChsbi0+cGFyZW50KQorCQkJc2NvbHNfbGluZV9yZW1vdmVfY2hpbGQobG4tPnBhcmVudCwgbG4pOworCQlzY29sc190YWJsZV9yZW1vdmVfbGluZSh0YiwgbG4pOworCX0KK30KKworLyoqCisgKiBzY29sc190YWJsZV9uZXh0X2xpbmU6CisgKiBAdGI6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc190YWJsZSBpbnN0YW5jZQorICogQGl0cjogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2l0ZXIgaW5zdGFuY2UKKyAqIEBsbjogYSBwb2ludGVyIHRvIGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19saW5lIGluc3RhbmNlCisgKgorICogRmluZHMgdGhlIG5leHQgbGluZSBhbmQgcmV0dXJucyBhIHBvaW50ZXIgdG8gaXQgdmlhIEBsbi4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK2ludCBzY29sc190YWJsZV9uZXh0X2xpbmUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwKKwkJCSAgc3RydWN0IGxpYnNjb2xzX2l0ZXIgKml0ciwKKwkJCSAgc3RydWN0IGxpYnNjb2xzX2xpbmUgKipsbikKK3sKKwlpbnQgcmMgPSAxOworCisJaWYgKCF0YiB8fCAhaXRyIHx8ICFsbikKKwkJcmV0dXJuIC1FSU5WQUw7CisJKmxuID0gTlVMTDsKKworCWlmICghaXRyLT5oZWFkKQorCQlTQ09MU19JVEVSX0lOSVQoaXRyLCAmdGItPnRiX2xpbmVzKTsKKwlpZiAoaXRyLT5wICE9IGl0ci0+aGVhZCkgeworCQlTQ09MU19JVEVSX0lURVJBVEUoaXRyLCAqbG4sIHN0cnVjdCBsaWJzY29sc19saW5lLCBsbl9saW5lcyk7CisJCXJjID0gMDsKKwl9CisKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfbmV3X2xpbmU6CisgKiBAdGI6IHRhYmxlCisgKiBAcGFyZW50OiBwYXJlbnRhbCBsaW5lIG9yIE5VTEwKKyAqCisgKiBUaGlzIGlzIHNob3J0Y3V0IGZvcgorICoKKyAqICAgbG4gPSBzY29sc19uZXdfbGluZSgpOworICogICBzY29sc190YWJsZV9hZGRfbGluZSh0YiwgbG4pOworICogICBzY29sc19saW5lX2FkZF9jaGlsZChwYXJlbnQsIGxuKTsKKyAqCisgKgorICogUmV0dXJuczogbmV3bHkgYWxsb2NhdGUgbGluZQorICovCitzdHJ1Y3QgbGlic2NvbHNfbGluZSAqc2NvbHNfdGFibGVfbmV3X2xpbmUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwKKwkJCQkJICAgc3RydWN0IGxpYnNjb2xzX2xpbmUgKnBhcmVudCkKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG47CisKKwlpZiAoIXRiIHx8ICF0Yi0+bmNvbHMpCisJCXJldHVybiBOVUxMOworCisJbG4gPSBzY29sc19uZXdfbGluZSgpOworCWlmICghbG4pCisJCXJldHVybiBOVUxMOworCisJaWYgKHNjb2xzX3RhYmxlX2FkZF9saW5lKHRiLCBsbikpCisJCWdvdG8gZXJyOworCWlmIChwYXJlbnQpCisJCXNjb2xzX2xpbmVfYWRkX2NoaWxkKHBhcmVudCwgbG4pOworCisJc2NvbHNfdW5yZWZfbGluZShsbik7CS8qIHJlZi1jb3VudGVyIGluY3JlbWVudGVkIGJ5IHNjb2xzX3RhYmxlX2FkZF9saW5lKCkgKi8KKwlyZXR1cm4gbG47CitlcnI6CisJc2NvbHNfdW5yZWZfbGluZShsbik7CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfZ2V0X2xpbmU6CisgKiBAdGI6IHRhYmxlCisgKiBAbjogY29sdW1uIG51bWJlciAoMC4uTikKKyAqCisgKiBSZXR1cm5zOiBhIGxpbmUgb3IgTlVMTAorICovCitzdHJ1Y3QgbGlic2NvbHNfbGluZSAqc2NvbHNfdGFibGVfZ2V0X2xpbmUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwKKwkJCQkJICAgc2l6ZV90IG4pCit7CisJc3RydWN0IGxpYnNjb2xzX2l0ZXIgaXRyOworCXN0cnVjdCBsaWJzY29sc19saW5lICpsbjsKKworCWlmICghdGIpCisJCXJldHVybiBOVUxMOworCWlmIChuID49IHRiLT5ubGluZXMpCisJCXJldHVybiBOVUxMOworCisJc2NvbHNfcmVzZXRfaXRlcigmaXRyLCBTQ09MU19JVEVSX0ZPUldBUkQpOworCXdoaWxlIChzY29sc190YWJsZV9uZXh0X2xpbmUodGIsICZpdHIsICZsbikgPT0gMCkgeworCQlpZiAobG4tPnNlcW51bSA9PSBuKQorCQkJcmV0dXJuIGxuOworCX0KKwlyZXR1cm4gTlVMTDsKK30KKworLyoqCisgKiBzY29sc19jb3B5X3RhYmxlOgorICogQHRiOiB0YWJsZQorICoKKyAqIENyZWF0ZXMgYSBuZXcgaW5kZXBlbmRlbnQgdGFibGUgY29weSwgZXhjZXB0IHN0cnVjdCBsaWJzY29sc19zeW1ib2xzIHRoYXQKKyAqIGFyZSBzaGFyZWQgYmV0d2VlbiB0aGUgdGFibGVzLgorICoKKyAqIFJldHVybnM6IGEgbmV3bHkgYWxsb2NhdGVkIGNvcHkgb2YgQHRiCisgKi8KK3N0cnVjdCBsaWJzY29sc190YWJsZSAqc2NvbHNfY29weV90YWJsZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXN0cnVjdCBsaWJzY29sc190YWJsZSAqcmV0OworCXN0cnVjdCBsaWJzY29sc19saW5lICpsbjsKKwlzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbDsKKwlzdHJ1Y3QgbGlic2NvbHNfaXRlciBpdHI7CisKKwlpZiAoIXRiKQorCQlyZXR1cm4gTlVMTDsKKwlyZXQgPSBzY29sc19uZXdfdGFibGUoKTsKKwlpZiAoIXJldCkKKwkJcmV0dXJuIE5VTEw7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImNvcHkgaW50byAlcCIsIHJldCkpOworCisJaWYgKHRiLT5zeW1ib2xzKQorCQlzY29sc190YWJsZV9zZXRfc3ltYm9scyhyZXQsIHRiLT5zeW1ib2xzKTsKKworCS8qIGNvbHVtbnMgKi8KKwlzY29sc19yZXNldF9pdGVyKCZpdHIsIFNDT0xTX0lURVJfRk9SV0FSRCk7CisJd2hpbGUgKHNjb2xzX3RhYmxlX25leHRfY29sdW1uKHRiLCAmaXRyLCAmY2wpID09IDApIHsKKwkJY2wgPSBzY29sc19jb3B5X2NvbHVtbihjbCk7CisJCWlmICghY2wpCisJCQlnb3RvIGVycjsKKwkJaWYgKHNjb2xzX3RhYmxlX2FkZF9jb2x1bW4ocmV0LCBjbCkpCisJCQlnb3RvIGVycjsKKwkJc2NvbHNfdW5yZWZfY29sdW1uKGNsKTsKKwl9CisKKwkvKiBsaW5lcyAqLworCXNjb2xzX3Jlc2V0X2l0ZXIoJml0ciwgU0NPTFNfSVRFUl9GT1JXQVJEKTsKKwl3aGlsZSAoc2NvbHNfdGFibGVfbmV4dF9saW5lKHRiLCAmaXRyLCAmbG4pID09IDApIHsKKwkJc3RydWN0IGxpYnNjb2xzX2xpbmUgKm5ld2xuID0gc2NvbHNfY29weV9saW5lKGxuKTsKKwkJaWYgKCFuZXdsbikKKwkJCWdvdG8gZXJyOworCQlpZiAoc2NvbHNfdGFibGVfYWRkX2xpbmUocmV0LCBuZXdsbikpCisJCQlnb3RvIGVycjsKKwkJaWYgKGxuLT5wYXJlbnQpIHsKKwkJCXN0cnVjdCBsaWJzY29sc19saW5lICpwID0KKwkJCQlzY29sc190YWJsZV9nZXRfbGluZShyZXQsIGxuLT5wYXJlbnQtPnNlcW51bSk7CisJCQlpZiAocCkKKwkJCQlzY29sc19saW5lX2FkZF9jaGlsZChwLCBuZXdsbik7CisJCX0KKwkJc2NvbHNfdW5yZWZfbGluZShuZXdsbik7CisJfQorCisJLyogc2VwYXJhdG9ycyAqLworCWlmIChzY29sc190YWJsZV9zZXRfY29sdW1uX3NlcGFyYXRvcihyZXQsIHRiLT5jb2xzZXApIHx8CisJICAgIHNjb2xzX3RhYmxlX3NldF9saW5lX3NlcGFyYXRvcihyZXQsIHRiLT5saW5lc2VwKSkKKwkJZ290byBlcnI7CisKKwlyZXR1cm4gcmV0OworZXJyOgorCXNjb2xzX3VucmVmX3RhYmxlKHJldCk7CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfc2V0X2RlZmF1bHRfc3ltYm9sczoKKyAqIEB0YjogdGFibGUKKyAqCisgKiBUaGUgbGlicmFyeSBjaGVjayB0aGUgY3VycmVudCBlbnZpcm9ubWVudCB0byBzZWxlY3QgQVNDSUkgb3IgVVRGOCBzeW1ib2xzLgorICogVGhpcyBkZWZhdWx0IGJlaGF2aW9yIGNvdWxkIGJlIGNvbnRyb2xsZWQgYnkgc2NvbHNfdGFibGVfZW5hYmxlX2FzY2lpKCkuCisgKgorICogVXNlIHNjb2xzX3RhYmxlX3NldF9zeW1ib2xzKCkgdG8gdW5zZXQgc3ltYm9scyBvciB1c2UgeW91ciBvd24gc2V0dGluZy4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKgorICogU2luY2U6IDIuMjkKKyAqLworaW50IHNjb2xzX3RhYmxlX3NldF9kZWZhdWx0X3N5bWJvbHMoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfc3ltYm9scyAqc3k7CisJaW50IHJjOworCisJaWYgKCF0YikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgInNldHRpbmcgZGVmYXVsdCBzeW1ib2xzIikpOworCisJc3kgPSBzY29sc19uZXdfc3ltYm9scygpOworCWlmICghc3kpCisJCXJldHVybiAtRU5PTUVNOworCisjaWYgZGVmaW5lZChIQVZFX1dJREVDSEFSKQorCWlmICghc2NvbHNfdGFibGVfaXNfYXNjaWkodGIpICYmCisJICAgICFzdHJjbXAobmxfbGFuZ2luZm8oQ09ERVNFVCksICJVVEYtOCIpKSB7CisJCXNjb2xzX3N5bWJvbHNfc2V0X2JyYW5jaChzeSwgVVRGX1ZSIFVURl9IKTsKKwkJc2NvbHNfc3ltYm9sc19zZXRfdmVydGljYWwoc3ksIFVURl9WICIgIik7CisJCXNjb2xzX3N5bWJvbHNfc2V0X3JpZ2h0KHN5LCBVVEZfVVIgVVRGX0gpOworCX0gZWxzZQorI2VuZGlmCisJeworCQlzY29sc19zeW1ib2xzX3NldF9icmFuY2goc3ksICJ8LSIpOworCQlzY29sc19zeW1ib2xzX3NldF92ZXJ0aWNhbChzeSwgInwgIik7CisJCXNjb2xzX3N5bWJvbHNfc2V0X3JpZ2h0KHN5LCAiYC0iKTsKKwl9CisJc2NvbHNfc3ltYm9sc19zZXRfdGl0bGVfcGFkZGluZyhzeSwgIiAiKTsKKwlzY29sc19zeW1ib2xzX3NldF9jZWxsX3BhZGRpbmcoc3ksICIgIik7CisKKwlyYyA9IHNjb2xzX3RhYmxlX3NldF9zeW1ib2xzKHRiLCBzeSk7CisJc2NvbHNfdW5yZWZfc3ltYm9scyhzeSk7CisJcmV0dXJuIHJjOworfQorCisKKy8qKgorICogc2NvbHNfdGFibGVfc2V0X3N5bWJvbHM6CisgKiBAdGI6IHRhYmxlCisgKiBAc3k6IHN5bWJvbHMgb3IgTlVMTAorICoKKyAqIEFkZCBhIHJlZmVyZW5jZSB0byBAc3kgZnJvbSB0aGUgdGFibGUuIFRoZSBzeW1ib2xzIGFyZSB1c2VkIGJ5IGxpYnJhcnkgdG8KKyAqIGRyYXcgdHJlZSBvdXRwdXQuIElmIG5vIHN5bWJvbHMgYXJlIHVzZWQgZm9yIHRoZSB0YWJsZSB0aGVuIGxpYnJhcnkgY3JlYXRlcworICogZGVmYXVsdCB0ZW1wb3Jhcnkgc3ltYm9scyB0byBkcmF3IG91dHB1dCBieSBzY29sc190YWJsZV9zZXRfZGVmYXVsdF9zeW1ib2xzKCkuCisgKgorICogSWYgQHN5IGlzIE5VTEwgdGhlbiByZW1vdmUgcmVmZXJlbmNlIGZyb20gdGhlIGN1cnJlbmx5IHVzZXMgc3ltYm9scy4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK2ludCBzY29sc190YWJsZV9zZXRfc3ltYm9scyhzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLAorCQkJICAgIHN0cnVjdCBsaWJzY29sc19zeW1ib2xzICpzeSkKK3sKKwlpZiAoIXRiKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCS8qIHJlbW92ZSBvbGQgKi8KKwlpZiAodGItPnN5bWJvbHMpIHsKKwkJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJyZW1vdmUgc3ltYm9scyAlcCByZWZyZW5jZSIsIHRiLT5zeW1ib2xzKSk7CisJCXNjb2xzX3VucmVmX3N5bWJvbHModGItPnN5bWJvbHMpOworCQl0Yi0+c3ltYm9scyA9IE5VTEw7CisJfQorCisJLyogc2V0IG5ldyAqLworCWlmIChzeSkgewkJCQkJLyogcmVmIHVzZXIgZGVmaW5lZCAqLworCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgInNldCBzeW1ib2xzIHNvICVwIiwgc3kpKTsKKwkJdGItPnN5bWJvbHMgPSBzeTsKKwkJc2NvbHNfcmVmX3N5bWJvbHMoc3kpOworCX0KKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9nZXRfc3ltYm9sczoKKyAqIEB0YjogdGFibGUKKyAqCisgKiBSZXR1cm5zOiBwb2ludGVyIHRvIHN5bWJvbHMgdGFibGUuCisgKgorICogU2luY2U6IDIuMjkKKyAqLworc3RydWN0IGxpYnNjb2xzX3N5bWJvbHMgKnNjb2xzX3RhYmxlX2dldF9zeW1ib2xzKGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJcmV0dXJuIHRiLT5zeW1ib2xzOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX2VuYWJsZV9ub2xpbmVzZXA6CisgKiBAdGI6IHRhYmxlCisgKiBAZW5hYmxlOiAxIG9yIDAKKyAqCisgKiBFbmFibGUvZGlzYWJsZSBsaW5lIHNlcGFyYXRvciBwcmludGluZy4gVGhpcyBpcyB1c2VmdWwgaWYgeW91IHdhbnQgdG8KKyAqIHJlLXByaW50aW5nIHRoZSBzYW1lIGxpbmUgbW9yZSB0aGFuIG9uY2UgKGUuZy4gcHJvZ3Jlc3MgYmFyKS4gRG9uJ3QgdXNlIGl0CisgKiBpZiB5b3UncmUgbm90IHN1cmUuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX3RhYmxlX2VuYWJsZV9ub2xpbmVzZXAoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwgaW50IGVuYWJsZSkKK3sKKwlpZiAoIXRiKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAibm9saW5lc2VwOiAlcyIsIGVuYWJsZSA/ICJFTkFCTEUiIDogIkRJU0FCTEUiKSk7CisJdGItPm5vX2xpbmVzZXAgPSBlbmFibGUgPyAxIDogMDsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9pc19ub2xpbmVzZXA6CisgKiBAdGI6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc190YWJsZSBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IDEgaWYgbGluZSBzZXBhcmF0b3IgcHJpbnRpbmcgaXMgZGlzYWJsZWQuCisgKgorICogU2luY2U6IDIuMjkKKyAqLworaW50IHNjb2xzX3RhYmxlX2lzX25vbGluZXNlcChjb25zdCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXJldHVybiB0Yi0+bm9fbGluZXNlcDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9lbmFibGVfY29sb3JzOgorICogQHRiOiB0YWJsZQorICogQGVuYWJsZTogMSBvciAwCisgKgorICogRW5hYmxlL2Rpc2FibGUgY29sb3JzLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK2ludCBzY29sc190YWJsZV9lbmFibGVfY29sb3JzKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGludCBlbmFibGUpCit7CisJaWYgKCF0YikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImNvbG9yczogJXMiLCBlbmFibGUgPyAiRU5BQkxFIiA6ICJESVNBQkxFIikpOworCXRiLT5jb2xvcnNfd2FudGVkID0gZW5hYmxlOworCXJldHVybiAwOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX2VuYWJsZV9yYXc6CisgKiBAdGI6IHRhYmxlCisgKiBAZW5hYmxlOiAxIG9yIDAKKyAqCisgKiBFbmFibGUvZGlzYWJsZSByYXcgb3V0cHV0IGZvcm1hdC4gVGhlIHBhcnNhYmxlIG91dHB1dCBmb3JtYXRzCisgKiAoZXhwb3J0LCByYXcsIEpTT04sIC4uLikgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfdGFibGVfZW5hYmxlX3JhdyhzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBpbnQgZW5hYmxlKQoreworCWlmICghdGIpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJyYXc6ICVzIiwgZW5hYmxlID8gIkVOQUJMRSIgOiAiRElTQUJMRSIpKTsKKwlpZiAoZW5hYmxlKQorCQl0Yi0+Zm9ybWF0ID0gU0NPTFNfRk1UX1JBVzsKKwllbHNlIGlmICh0Yi0+Zm9ybWF0ID09IFNDT0xTX0ZNVF9SQVcpCisJCXRiLT5mb3JtYXQgPSAwOworCXJldHVybiAwOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX2VuYWJsZV9qc29uOgorICogQHRiOiB0YWJsZQorICogQGVuYWJsZTogMSBvciAwCisgKgorICogRW5hYmxlL2Rpc2FibGUgSlNPTiBvdXRwdXQgZm9ybWF0LiBUaGUgcGFyc2FibGUgb3V0cHV0IGZvcm1hdHMKKyAqIChleHBvcnQsIHJhdywgSlNPTiwgLi4uKSBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKgorICogU2luY2U6IDIuMjcKKyAqLworaW50IHNjb2xzX3RhYmxlX2VuYWJsZV9qc29uKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGludCBlbmFibGUpCit7CisJaWYgKCF0YikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImpzb246ICVzIiwgZW5hYmxlID8gIkVOQUJMRSIgOiAiRElTQUJMRSIpKTsKKwlpZiAoZW5hYmxlKQorCQl0Yi0+Zm9ybWF0ID0gU0NPTFNfRk1UX0pTT047CisJZWxzZSBpZiAodGItPmZvcm1hdCA9PSBTQ09MU19GTVRfSlNPTikKKwkJdGItPmZvcm1hdCA9IDA7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfZW5hYmxlX2V4cG9ydDoKKyAqIEB0YjogdGFibGUKKyAqIEBlbmFibGU6IDEgb3IgMAorICoKKyAqIEVuYWJsZS9kaXNhYmxlIGV4cG9ydCBvdXRwdXQgZm9ybWF0IChDT0xVTU5BTUU9InZhbHVlIiAuLi4pLgorICogVGhlIHBhcnNhYmxlIG91dHB1dCBmb3JtYXRzIChleHBvcnQgYW5kIHJhdykgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfdGFibGVfZW5hYmxlX2V4cG9ydChzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBpbnQgZW5hYmxlKQoreworCWlmICghdGIpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJleHBvcnQ6ICVzIiwgZW5hYmxlID8gIkVOQUJMRSIgOiAiRElTQUJMRSIpKTsKKwlpZiAoZW5hYmxlKQorCQl0Yi0+Zm9ybWF0ID0gU0NPTFNfRk1UX0VYUE9SVDsKKwllbHNlIGlmICh0Yi0+Zm9ybWF0ID09IFNDT0xTX0ZNVF9FWFBPUlQpCisJCXRiLT5mb3JtYXQgPSAwOworCXJldHVybiAwOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX2VuYWJsZV9hc2NpaToKKyAqIEB0YjogdGFibGUKKyAqIEBlbmFibGU6IDEgb3IgMAorICoKKyAqIFRoZSBBU0NJSS1vbmx5IG91dHB1dCBpcyByZWxldmFudCBmb3IgdHJlZS1saWtlIG91dHB1dHMuIFRoZSBsaWJyYXJ5CisgKiBjaGVja3MgaWYgdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQgaXMgVVRGOCBjb21wYXRpYmxlIGJ5IGRlZmF1bHQuIFRoaXMKKyAqIGZ1bmN0aW9uIG92ZXJyaWRlcyB0aGlzIGNoZWNrIGFuZCBmb3JjZSB0aGUgbGlicmFyeSB0byB1c2UgQVNDSUkgY2hhcnMKKyAqIGZvciB0aGUgdHJlZS4KKyAqCisgKiBJZiBhIGN1c3RvbSBsaWJjb2xzX3N5bWJvbHMgYXJlIHNwZWNpZmllZCAoc2VlIHNjb2xzX3RhYmxlX3NldF9zeW1ib2xzKCkKKyAqIHRoZW4gQVNDSUkgZmxhZyBzZXR0aW5nIGlzIGlnbm9yZWQuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX3RhYmxlX2VuYWJsZV9hc2NpaShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBpbnQgZW5hYmxlKQoreworCWlmICghdGIpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJhc2NpaTogJXMiLCBlbmFibGUgPyAiRU5BQkxFIiA6ICJESVNBQkxFIikpOworCXRiLT5hc2NpaSA9IGVuYWJsZSA/IDEgOiAwOworCXJldHVybiAwOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX2VuYWJsZV9ub2hlYWRpbmdzOgorICogQHRiOiB0YWJsZQorICogQGVuYWJsZTogMSBvciAwCisgKgorICogRW5hYmxlL2Rpc2FibGUgaGVhZGVyIGxpbmUuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX3RhYmxlX2VuYWJsZV9ub2hlYWRpbmdzKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGludCBlbmFibGUpCit7CisJaWYgKCF0YikKKwkJcmV0dXJuIC1FSU5WQUw7CisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJub2hlYWRpbmc6ICVzIiwgZW5hYmxlID8gIkVOQUJMRSIgOiAiRElTQUJMRSIpKTsKKwl0Yi0+bm9faGVhZGluZ3MgPSBlbmFibGUgPyAxIDogMDsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9lbmFibGVfbWF4b3V0OgorICogQHRiOiB0YWJsZQorICogQGVuYWJsZTogMSBvciAwCisgKgorICogVGhlIGV4dHJhIHNwYWNlIGFmdGVyIGxhc3QgY29sdW1uIGlzIGlnbm9yZWQgYnkgZGVmYXVsdC4gVGhlIG91dHB1dAorICogbWF4aW1pemF0aW9uIHVzZSB0aGUgZXh0cmEgc3BhY2UgZm9yIGFsbCBjb2x1bW5zLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK2ludCBzY29sc190YWJsZV9lbmFibGVfbWF4b3V0KHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGludCBlbmFibGUpCit7CisJaWYgKCF0YikKKwkJcmV0dXJuIC1FSU5WQUw7CisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJtYXhvdXQ6ICVzIiwgZW5hYmxlID8gIkVOQUJMRSIgOiAiRElTQUJMRSIpKTsKKwl0Yi0+bWF4b3V0ID0gZW5hYmxlID8gMSA6IDA7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfZW5hYmxlX25vd3JhcDoKKyAqIEB0YjogdGFibGUKKyAqIEBlbmFibGU6IDEgb3IgMAorICoKKyAqIE5ldmVyIGNvbnRpbnVlIG9uIG5leHQgbGluZSwgcmVtb3ZlIGxhc3QgY29sdW1uKHMpIHdoZW4gdG9vIGxhcmdlLCB0cnVuY2F0ZSBsYXN0IGNvbHVtbi4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGFuIGVycm9yLgorICoKKyAqIFNpbmNlOiAyLjI4CisgKi8KK2ludCBzY29sc190YWJsZV9lbmFibGVfbm93cmFwKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGludCBlbmFibGUpCit7CisJaWYgKCF0YikKKwkJcmV0dXJuIC1FSU5WQUw7CisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJub3dyYXA6ICVzIiwgZW5hYmxlID8gIkVOQUJMRSIgOiAiRElTQUJMRSIpKTsKKwl0Yi0+bm9fd3JhcCA9IGVuYWJsZSA/IDEgOiAwOworCXJldHVybiAwOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX2lzX25vd3JhcDoKKyAqIEB0YjogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX3RhYmxlIGluc3RhbmNlCisgKgorICogUmV0dXJuczogMSBpZiBub3dyYXAgaXMgZW5hYmxlZC4KKyAqCisgKiBTaW5jZTogMi4yOQorICovCitpbnQgc2NvbHNfdGFibGVfaXNfbm93cmFwKGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJcmV0dXJuIHRiLT5ub193cmFwOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX2NvbG9yc193YW50ZWQ6CisgKiBAdGI6IHRhYmxlCisgKgorICogUmV0dXJuczogMSBpZiBjb2xvcnMgYXJlIGVuYWJsZWQuCisgKi8KK2ludCBzY29sc190YWJsZV9jb2xvcnNfd2FudGVkKGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJcmV0dXJuIHRiLT5jb2xvcnNfd2FudGVkOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX2lzX2VtcHR5OgorICogQHRiOiB0YWJsZQorICoKKyAqIFJldHVybnM6IDEgaWYgdGhlIHRhYmxlIGlzIGVtcHR5LgorICovCitpbnQgc2NvbHNfdGFibGVfaXNfZW1wdHkoY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwlyZXR1cm4gIXRiLT5ubGluZXM7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfaXNfYXNjaWk6CisgKiBAdGI6IHRhYmxlCisgKgorICogUmV0dXJuczogMSBpZiBBU0NJSSB0cmVlIGlzIGVuYWJsZWQuCisgKi8KK2ludCBzY29sc190YWJsZV9pc19hc2NpaShjb25zdCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXJldHVybiB0Yi0+YXNjaWk7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfaXNfbm9oZWFkaW5nczoKKyAqIEB0YjogdGFibGUKKyAqCisgKiBSZXR1cm5zOiAxIGlmIGhlYWRlciBvdXRwdXQgaXMgZGlzYWJsZWQuCisgKi8KK2ludCBzY29sc190YWJsZV9pc19ub2hlYWRpbmdzKGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJcmV0dXJuIHRiLT5ub19oZWFkaW5nczsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9pc19leHBvcnQ6CisgKiBAdGI6IHRhYmxlCisgKgorICogUmV0dXJuczogMSBpZiBleHBvcnQgb3V0cHV0IGZvcm1hdCBpcyBlbmFibGVkLgorICovCitpbnQgc2NvbHNfdGFibGVfaXNfZXhwb3J0KGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJcmV0dXJuIHRiLT5mb3JtYXQgPT0gU0NPTFNfRk1UX0VYUE9SVDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9pc19yYXc6CisgKiBAdGI6IHRhYmxlCisgKgorICogUmV0dXJuczogMSBpZiByYXcgb3V0cHV0IGZvcm1hdCBpcyBlbmFibGVkLgorICovCitpbnQgc2NvbHNfdGFibGVfaXNfcmF3KGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJcmV0dXJuIHRiLT5mb3JtYXQgPT0gU0NPTFNfRk1UX1JBVzsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9pc19qc29uOgorICogQHRiOiB0YWJsZQorICoKKyAqIFJldHVybnM6IDEgaWYgSlNPTiBvdXRwdXQgZm9ybWF0IGlzIGVuYWJsZWQuCisgKgorICogU2luY2U6IDIuMjcKKyAqLworaW50IHNjb2xzX3RhYmxlX2lzX2pzb24oY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwlyZXR1cm4gdGItPmZvcm1hdCA9PSBTQ09MU19GTVRfSlNPTjsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9pc19tYXhvdXQKKyAqIEB0YjogdGFibGUKKyAqCisgKiBSZXR1cm5zOiAxIGlmIG91dHB1dCBtYXhpbWl6YXRpb24gaXMgZW5hYmxlZCBvciAwCisgKi8KK2ludCBzY29sc190YWJsZV9pc19tYXhvdXQoY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwlyZXR1cm4gdGItPm1heG91dDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9pc190cmVlOgorICogQHRiOiB0YWJsZQorICoKKyAqIFJldHVybnM6IHJldHVybnMgMSB0cmVlLWxpa2Ugb3V0cHV0IGlzIGV4cGVjdGVkLgorICovCitpbnQgc2NvbHNfdGFibGVfaXNfdHJlZShjb25zdCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXJldHVybiB0Yi0+bnRyZWVjb2xzID4gMDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9zZXRfY29sdW1uX3NlcGFyYXRvcjoKKyAqIEB0YjogdGFibGUKKyAqIEBzZXA6IHNlcGFyYXRvcgorICoKKyAqIFNldHMgdGhlIGNvbHVtbiBzZXBhcmF0b3Igb2YgQHRiIHRvIEBzZXAuCisgKiBQbGVhc2Ugbm90ZSB0aGF0IEBzZXAgc2hvdWxkIGFsd2F5cyB0YWtlIHVwIGEgc2luZ2xlIGNlbGwgaW4gdGhlIG91dHB1dC4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK2ludCBzY29sc190YWJsZV9zZXRfY29sdW1uX3NlcGFyYXRvcihzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBjb25zdCBjaGFyICpzZXApCit7CisJcmV0dXJuIHN0cmR1cF90b19zdHJ1Y3RfbWVtYmVyKHRiLCBjb2xzZXAsIHNlcCk7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfc2V0X2xpbmVfc2VwYXJhdG9yOgorICogQHRiOiB0YWJsZQorICogQHNlcDogc2VwYXJhdG9yCisgKgorICogU2V0cyB0aGUgbGluZSBzZXBhcmF0b3Igb2YgQHRiIHRvIEBzZXAuCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfdGFibGVfc2V0X2xpbmVfc2VwYXJhdG9yKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGNvbnN0IGNoYXIgKnNlcCkKK3sKKwlyZXR1cm4gc3RyZHVwX3RvX3N0cnVjdF9tZW1iZXIodGIsIGxpbmVzZXAsIHNlcCk7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfZ2V0X2NvbHVtbl9zZXBhcmF0b3I6CisgKiBAdGI6IHRhYmxlCisgKgorICogUmV0dXJuczogQHRiIGNvbHVtbiBzZXBhcmF0b3IsIE5VTEwgaW4gY2FzZSBvZiBhbiBlcnJvcgorICovCitjb25zdCBjaGFyICpzY29sc190YWJsZV9nZXRfY29sdW1uX3NlcGFyYXRvcihjb25zdCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXJldHVybiB0Yi0+Y29sc2VwOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX2dldF9saW5lX3NlcGFyYXRvcjoKKyAqIEB0YjogdGFibGUKKyAqCisgKiBSZXR1cm5zOiBAdGIgbGluZSBzZXBhcmF0b3IsIE5VTEwgaW4gY2FzZSBvZiBhbiBlcnJvcgorICovCitjb25zdCBjaGFyICpzY29sc190YWJsZV9nZXRfbGluZV9zZXBhcmF0b3IoY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwlyZXR1cm4gdGItPmxpbmVzZXA7Cit9CisvKiBmb3IgbGluZXMgaW4gdGhlIHN0cnVjdCBsaWJzY29sc19saW5lLT5sbl9saW5lcyBsaXN0ICovCitzdGF0aWMgaW50IGNlbGxzX2NtcF93cmFwcGVyX2xpbmVzKHN0cnVjdCBsaXN0X2hlYWQgKmEsIHN0cnVjdCBsaXN0X2hlYWQgKmIsIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wgPSAoc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqKSBkYXRhOworCXN0cnVjdCBsaWJzY29sc19saW5lICpyYSwgKnJiOworCXN0cnVjdCBsaWJzY29sc19jZWxsICpjYSwgKmNiOworCisJYXNzZXJ0KGEpOworCWFzc2VydChiKTsKKwlhc3NlcnQoY2wpOworCisJcmEgPSBsaXN0X2VudHJ5KGEsIHN0cnVjdCBsaWJzY29sc19saW5lLCBsbl9saW5lcyk7CisJcmIgPSBsaXN0X2VudHJ5KGIsIHN0cnVjdCBsaWJzY29sc19saW5lLCBsbl9saW5lcyk7CisJY2EgPSBzY29sc19saW5lX2dldF9jZWxsKHJhLCBjbC0+c2VxbnVtKTsKKwljYiA9IHNjb2xzX2xpbmVfZ2V0X2NlbGwocmIsIGNsLT5zZXFudW0pOworCisJcmV0dXJuIGNsLT5jbXBmdW5jKGNhLCBjYiwgY2wtPmNtcGZ1bmNfZGF0YSk7Cit9CisKKy8qIGZvciBsaW5lcyBpbiB0aGUgc3RydWN0IGxpYnNjb2xzX2xpbmUtPmxuX2NoaWxkcmVuIGxpc3QgKi8KK3N0YXRpYyBpbnQgY2VsbHNfY21wX3dyYXBwZXJfY2hpbGRyZW4oc3RydWN0IGxpc3RfaGVhZCAqYSwgc3RydWN0IGxpc3RfaGVhZCAqYiwgdm9pZCAqZGF0YSkKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCA9IChzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICopIGRhdGE7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKnJhLCAqcmI7CisJc3RydWN0IGxpYnNjb2xzX2NlbGwgKmNhLCAqY2I7CisKKwlhc3NlcnQoYSk7CisJYXNzZXJ0KGIpOworCWFzc2VydChjbCk7CisKKwlyYSA9IGxpc3RfZW50cnkoYSwgc3RydWN0IGxpYnNjb2xzX2xpbmUsIGxuX2NoaWxkcmVuKTsKKwlyYiA9IGxpc3RfZW50cnkoYiwgc3RydWN0IGxpYnNjb2xzX2xpbmUsIGxuX2NoaWxkcmVuKTsKKwljYSA9IHNjb2xzX2xpbmVfZ2V0X2NlbGwocmEsIGNsLT5zZXFudW0pOworCWNiID0gc2NvbHNfbGluZV9nZXRfY2VsbChyYiwgY2wtPnNlcW51bSk7CisKKwlyZXR1cm4gY2wtPmNtcGZ1bmMoY2EsIGNiLCBjbC0+Y21wZnVuY19kYXRhKTsKK30KKworCitzdGF0aWMgaW50IHNvcnRfbGluZV9jaGlsZHJlbihzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKQoreworCXN0cnVjdCBsaXN0X2hlYWQgKnA7CisKKwlpZiAobGlzdF9lbXB0eSgmbG4tPmxuX2JyYW5jaCkpCisJCXJldHVybiAwOworCisJbGlzdF9mb3JfZWFjaChwLCAmbG4tPmxuX2JyYW5jaCkgeworCQlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqY2hsZCA9CisJCQkJbGlzdF9lbnRyeShwLCBzdHJ1Y3QgbGlic2NvbHNfbGluZSwgbG5fY2hpbGRyZW4pOworCQlzb3J0X2xpbmVfY2hpbGRyZW4oY2hsZCwgY2wpOworCX0KKworCWxpc3Rfc29ydCgmbG4tPmxuX2JyYW5jaCwgY2VsbHNfY21wX3dyYXBwZXJfY2hpbGRyZW4sIGNsKTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBzY29sc19zb3J0X3RhYmxlOgorICogQHRiOiB0YWJsZQorICogQGNsOiBvcmRlciBieSB0aGlzIGNvbHVtbgorICoKKyAqIE9yZGVycyB0aGUgdGFibGUgYnkgdGhlIGNvbHVtbi4gU2VlIGFsc28gc2NvbHNfY29sdW1uX3NldF9jbXBmdW5jKCkuCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfc29ydF90YWJsZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCkKK3sKKwlpZiAoIXRiIHx8ICFjbCB8fCAhY2wtPmNtcGZ1bmMpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJzb3J0aW5nIHRhYmxlIikpOworCWxpc3Rfc29ydCgmdGItPnRiX2xpbmVzLCBjZWxsc19jbXBfd3JhcHBlcl9saW5lcywgY2wpOworCisJaWYgKHNjb2xzX3RhYmxlX2lzX3RyZWUodGIpKSB7CisJCXN0cnVjdCBsaWJzY29sc19saW5lICpsbjsKKwkJc3RydWN0IGxpYnNjb2xzX2l0ZXIgaXRyOworCisJCXNjb2xzX3Jlc2V0X2l0ZXIoJml0ciwgU0NPTFNfSVRFUl9GT1JXQVJEKTsKKwkJd2hpbGUgKHNjb2xzX3RhYmxlX25leHRfbGluZSh0YiwgJml0ciwgJmxuKSA9PSAwKQorCQkJc29ydF9saW5lX2NoaWxkcmVuKGxuLCBjbCk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfc2V0X3Rlcm1mb3JjZToKKyAqIEB0YjogdGFibGUKKyAqIEBmb3JjZTogU0NPTFNfVEVSTUZPUkNFX3tORVZFUixBTFdBWVMsQVVUT30KKyAqCisgKiBGb3JjZXMgbGlicmFyeSB0byB1c2Ugc3Rkb3V0IGFzIHRlcm1pbmFsLCBub24tdGVybWluYWwgb3IgdXNlIGF1dG9tYXRpYworICogZGV0ZWN0aW9uIChkZWZhdWx0KS4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKgorICogU2luY2U6IDIuMjkKKyAqLworaW50IHNjb2xzX3RhYmxlX3NldF90ZXJtZm9yY2Uoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwgaW50IGZvcmNlKQoreworCWlmICghdGIpCisJCXJldHVybiAtRUlOVkFMOworCXRiLT50ZXJtZm9yY2UgPSBmb3JjZTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9nZXRfdGVybWZvcmNlOgorICogQHRiOiB0YWJsZQorICoKKyAqIFJldHVybnM6IFNDT0xTX1RFUk1GT1JDRV97TkVWRVIsQUxXQVlTLEFVVE99IG9yIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqCisgKiBTaW5jZTogMi4yOQorICovCitpbnQgc2NvbHNfdGFibGVfZ2V0X3Rlcm1mb3JjZShjb25zdCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXJldHVybiB0Yi0+dGVybWZvcmNlOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX3NldF90ZXJtd2lkdGgKKyAqIEB0YjogdGFibGUKKyAqIEB3aWR0aDogdGVybWluYWwgd2lkdGgKKyAqCisgKiBUaGUgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGRldGVjdHMgdGVybWluYWwgd2lkdGggb3IgZGVmYXVsdHMgdG8gODAgY2hhcnMgaWYKKyAqIGRldGVjdGlvbnMgaXMgdW5zdWNjZXNzZnVsLiBUaGlzIGZ1bmN0aW9uIG92ZXJyaWRlIHRoaXMgYmVoYXZpb3VyLgorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqCisgKiBTaW5jZTogMi4yOQorICovCitpbnQgc2NvbHNfdGFibGVfc2V0X3Rlcm13aWR0aChzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBzaXplX3Qgd2lkdGgpCit7CisJdGItPnRlcm13aWR0aCA9IHdpZHRoOworCXJldHVybiAwOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX2dldF90ZXJtd2lkdGgKKyAqIEB0YjogdGFibGUKKyAqCisgKiBSZXR1cm5zOiB0ZXJtaW5hbCB3aWR0aCBvciBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK3NpemVfdCBzY29sc190YWJsZV9nZXRfdGVybXdpZHRoKGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJcmV0dXJuIHRiLT50ZXJtd2lkdGg7Cit9CmRpZmYgLS1naXQgYS9saWJzbWFydGNvbHMvc3JjL3RhYmxlX3ByaW50LmMgYi9saWJzbWFydGNvbHMvc3JjL3RhYmxlX3ByaW50LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWVkNGY5NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNtYXJ0Y29scy9zcmMvdGFibGVfcHJpbnQuYwpAQCAtMCwwICsxLDE2MjMgQEAKKy8qCisgKiB0YWJsZS5jIC0gZnVuY3Rpb25zIGhhbmRsaW5nIHRoZSBkYXRhIGF0IHRoZSB0YWJsZSBsZXZlbAorICoKKyAqIENvcHlyaWdodCAoQykgMjAxMC0yMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDE2IElnb3IgR25hdGVua28gPGkuZ25hdGVua28uYnJhaW5AZ21haWwuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworLyoqCisgKiBTRUNUSU9OOiB0YWJsZV9wcmludAorICogQHRpdGxlOiBUYWJsZSBwcmludAorICogQHNob3J0X2Rlc2NyaXB0aW9uOiBvdXRwdXQgZnVuY3Rpb25zCisgKgorICogVGFibGUgb3V0cHV0IEFQSS4KKyAqLworCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dGVybWlvcy5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisKKyNpbmNsdWRlICJtYnNhbGlnbi5oIgorI2luY2x1ZGUgImNhcmVmdWxwdXRjLmgiCisjaW5jbHVkZSAic21hcnRjb2xzUC5oIgorCisjZGVmaW5lIGNvbHNlcCh0YikJKCh0YiktPmNvbHNlcCA/ICh0YiktPmNvbHNlcCA6ICIgIikKKyNkZWZpbmUgbGluZXNlcCh0YikJKCh0YiktPmxpbmVzZXAgPyAodGIpLT5saW5lc2VwIDogIlxuIikKKworLyogRmFsbGJhY2sgZm9yIHN5bWJvbHMKKyAqCisgKiBOb3RlIHRoYXQgYnkgZGVmYXVsdCBsaWJyYXJ5IGRlZmluZSBhbGwgdGhlIHN5bWJvbHMsIGJ1dCBpbiBjYXNlIHVzZXIgZG9lcworICogbm90IGRlZmluZSBhbGwgc3ltYm9scyBvciBpZiB3ZSBleHRlbmRlZCB0aGUgc3ltYm9scyBzdHJ1Y3QgdGhlbiB3ZSBuZWVkCisgKiBmYWxsYmFjayB0byBiZSBtb3JlIHJvYnVzdCBhbmQgYmFja3dhcmRseSBjb21wYXRpYmxlLgorICovCisjZGVmaW5lIHRpdGxlcGFkZGluZ19zeW1ib2wodGIpCSgodGIpLT5zeW1ib2xzLT50aXRsZV9wYWRkaW5nID8gKHRiKS0+c3ltYm9scy0+dGl0bGVfcGFkZGluZyA6ICIgIikKKyNkZWZpbmUgYnJhbmNoX3N5bWJvbCh0YikJKCh0YiktPnN5bWJvbHMtPmJyYW5jaCA/ICh0YiktPnN5bWJvbHMtPmJyYW5jaCA6ICJ8LSIpCisjZGVmaW5lIHZlcnRpY2FsX3N5bWJvbCh0YikJKCh0YiktPnN5bWJvbHMtPnZlcnQgPyAodGIpLT5zeW1ib2xzLT52ZXJ0IDogInwgIikKKyNkZWZpbmUgcmlnaHRfc3ltYm9sKHRiKQkoKHRiKS0+c3ltYm9scy0+cmlnaHQgPyAodGIpLT5zeW1ib2xzLT5yaWdodCA6ICJgLSIpCisKKyNkZWZpbmUgY2VsbHBhZGRpbmdfc3ltYm9sKHRiKSAgKCh0YiktPnBhZGRpbmdfZGVidWcgPyAiLiIgOiBcCisJCQkJICgodGIpLT5zeW1ib2xzLT5jZWxsX3BhZGRpbmcgPyAodGIpLT5zeW1ib2xzLT5jZWxsX3BhZGRpbmc6ICIgIikpCisKKy8qIFRoaXMgaXMgcHJpdmF0ZSBzdHJ1Y3QgdG8gd29yayB3aXRoIG91dHB1dCBkYXRhICovCitzdHJ1Y3QgbGlic2NvbHNfYnVmZmVyIHsKKwljaGFyCSpiZWdpbjsJCS8qIGJlZ2luIG9mIHRoZSBidWZmZXIgKi8KKwljaGFyCSpjdXI7CQkvKiBjdXJyZW50IGVuZCBvZiAgdGhlIGJ1ZmZlciAqLworCWNoYXIJKmVuY2RhdGE7CS8qIGVuY29kZWQgYnVmZmVyIG1ic19zYWZlX2VuY29kZSgpICovCisKKwlzaXplX3QJYnVmc3o7CQkvKiBzaXplIG9mIHRoZSBidWZmZXIgKi8KKwlzaXplX3QJYXJ0X2lkeDsJLyogYmVnaW4gb2YgdGhlIHRyZWUgYXNjaWkgYXJ0IG9yIHplcm8gKi8KK307CisKK3N0YXRpYyBzdHJ1Y3QgbGlic2NvbHNfYnVmZmVyICpuZXdfYnVmZmVyKHNpemVfdCBzeikKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfYnVmZmVyICpidWYgPSBtYWxsb2Moc3ogKyBzaXplb2Yoc3RydWN0IGxpYnNjb2xzX2J1ZmZlcikpOworCisJaWYgKCFidWYpCisJCXJldHVybiBOVUxMOworCisJYnVmLT5jdXIgPSBidWYtPmJlZ2luID0gKChjaGFyICopIGJ1ZikgKyBzaXplb2Yoc3RydWN0IGxpYnNjb2xzX2J1ZmZlcik7CisJYnVmLT5lbmNkYXRhID0gTlVMTDsKKwlidWYtPmJ1ZnN6ID0gc3o7CisKKwlEQkcoQlVGRiwgdWxfZGVidWdvYmooYnVmLCAiYWxsb2MgKHNpemU9JXp1KSIsIHN6KSk7CisJcmV0dXJuIGJ1ZjsKK30KKworc3RhdGljIHZvaWQgZnJlZV9idWZmZXIoc3RydWN0IGxpYnNjb2xzX2J1ZmZlciAqYnVmKQoreworCWlmICghYnVmKQorCQlyZXR1cm47CisJREJHKEJVRkYsIHVsX2RlYnVnb2JqKGJ1ZiwgImRlYWxsb2MiKSk7CisJZnJlZShidWYtPmVuY2RhdGEpOworCWZyZWUoYnVmKTsKK30KKworc3RhdGljIGludCBidWZmZXJfcmVzZXRfZGF0YShzdHJ1Y3QgbGlic2NvbHNfYnVmZmVyICpidWYpCit7CisJaWYgKCFidWYpCisJCXJldHVybiAtRUlOVkFMOworCisJLypEQkcoQlVGRiwgdWxfZGVidWdvYmooYnVmLCAicmVzZXQgZGF0YSIpKTsqLworCWJ1Zi0+YmVnaW5bMF0gPSAnXDAnOworCWJ1Zi0+Y3VyID0gYnVmLT5iZWdpbjsKKwlidWYtPmFydF9pZHggPSAwOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGJ1ZmZlcl9hcHBlbmRfZGF0YShzdHJ1Y3QgbGlic2NvbHNfYnVmZmVyICpidWYsIGNvbnN0IGNoYXIgKnN0cikKK3sKKwlzaXplX3QgbWF4c3osIHN6OworCisJaWYgKCFidWYpCisJCXJldHVybiAtRUlOVkFMOworCWlmICghc3RyIHx8ICEqc3RyKQorCQlyZXR1cm4gMDsKKworCXN6ID0gc3RybGVuKHN0cik7CisJbWF4c3ogPSBidWYtPmJ1ZnN6IC0gKGJ1Zi0+Y3VyIC0gYnVmLT5iZWdpbik7CisKKwlpZiAobWF4c3ogPD0gc3opCisJCXJldHVybiAtRUlOVkFMOworCW1lbWNweShidWYtPmN1ciwgc3RyLCBzeiArIDEpOworCWJ1Zi0+Y3VyICs9IHN6OworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGJ1ZmZlcl9zZXRfZGF0YShzdHJ1Y3QgbGlic2NvbHNfYnVmZmVyICpidWYsIGNvbnN0IGNoYXIgKnN0cikKK3sKKwlpbnQgcmMgPSBidWZmZXJfcmVzZXRfZGF0YShidWYpOworCXJldHVybiByYyA/IHJjIDogYnVmZmVyX2FwcGVuZF9kYXRhKGJ1Ziwgc3RyKTsKK30KKworLyogc2F2ZSB0aGUgY3VycmVudCBidWZmZXIgcG9zaXRpb24gdG8gYXJ0X2lkeCAqLworc3RhdGljIHZvaWQgYnVmZmVyX3NldF9hcnRfaW5kZXgoc3RydWN0IGxpYnNjb2xzX2J1ZmZlciAqYnVmKQoreworCWlmIChidWYpIHsKKwkJYnVmLT5hcnRfaWR4ID0gYnVmLT5jdXIgLSBidWYtPmJlZ2luOworCQkvKkRCRyhCVUZGLCB1bF9kZWJ1Z29iaihidWYsICJhcnQgaW5kZXg6ICV6dSIsIGJ1Zi0+YXJ0X2lkeCkpOyovCisJfQorfQorCitzdGF0aWMgY2hhciAqYnVmZmVyX2dldF9kYXRhKHN0cnVjdCBsaWJzY29sc19idWZmZXIgKmJ1ZikKK3sKKwlyZXR1cm4gYnVmID8gYnVmLT5iZWdpbiA6IE5VTEw7Cit9CisKKy8qIGVuY29kZSBkYXRhIGJ5IG1ic19zYWZlX2VuY29kZSgpIHRvIGF2b2lkIGNvbnRyb2wgYW5kIG5vbi1wcmludGFibGUgY2hhcnMgKi8KK3N0YXRpYyBjaGFyICpidWZmZXJfZ2V0X3NhZmVfZGF0YShzdHJ1Y3QgbGlic2NvbHNfYnVmZmVyICpidWYsIHNpemVfdCAqY2VsbHMsCisJCQkJICBjb25zdCBjaGFyICpzYWZlY2hhcnMpCit7CisJY2hhciAqZGF0YSA9IGJ1ZmZlcl9nZXRfZGF0YShidWYpOworCWNoYXIgKnJlcyA9IE5VTEw7CisKKwlpZiAoIWRhdGEpCisJCWdvdG8gbm90aGluZzsKKworCWlmICghYnVmLT5lbmNkYXRhKSB7CisJCWJ1Zi0+ZW5jZGF0YSA9IG1hbGxvYyhtYnNfc2FmZV9lbmNvZGVfc2l6ZShidWYtPmJ1ZnN6KSArIDEpOworCQlpZiAoIWJ1Zi0+ZW5jZGF0YSkKKwkJCWdvdG8gbm90aGluZzsKKwl9CisKKwlyZXMgPSBtYnNfc2FmZV9lbmNvZGVfdG9fYnVmZmVyKGRhdGEsIGNlbGxzLCBidWYtPmVuY2RhdGEsIHNhZmVjaGFycyk7CisJaWYgKCFyZXMgfHwgISpjZWxscyB8fCAqY2VsbHMgPT0gKHNpemVfdCkgLTEpCisJCWdvdG8gbm90aGluZzsKKwlyZXR1cm4gcmVzOworbm90aGluZzoKKwkqY2VsbHMgPSAwOworCXJldHVybiBOVUxMOworfQorCisvKiByZXR1cm5zIHNpemUgaW4gYnl0ZXMgb2YgdGhlIGFzY2lpIGFydCAoYWNjb3JkaW5nIHRvIGFydF9pZHgpIGluIHNhZmUgZW5jb2RpbmcgKi8KK3N0YXRpYyBzaXplX3QgYnVmZmVyX2dldF9zYWZlX2FydF9zaXplKHN0cnVjdCBsaWJzY29sc19idWZmZXIgKmJ1ZikKK3sKKwljaGFyICpkYXRhID0gYnVmZmVyX2dldF9kYXRhKGJ1Zik7CisJc2l6ZV90IGJ5dGVzID0gMDsKKworCWlmICghZGF0YSB8fCAhYnVmLT5hcnRfaWR4KQorCQlyZXR1cm4gMDsKKworCW1ic19zYWZlX253aWR0aChkYXRhLCBidWYtPmFydF9pZHgsICZieXRlcyk7CisJcmV0dXJuIGJ5dGVzOworfQorCisvKiByZXR1cm5zIHBvaW50ZXIgdG8gdGhlIGVuZCBvZiB1c2VkIGRhdGEgKi8KK3N0YXRpYyBpbnQgbGluZV9hc2NpaV9hcnRfdG9fYnVmZmVyKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsCisJCQkJICAgIHN0cnVjdCBsaWJzY29sc19saW5lICpsbiwKKwkJCQkgICAgc3RydWN0IGxpYnNjb2xzX2J1ZmZlciAqYnVmKQoreworCWNvbnN0IGNoYXIgKmFydDsKKwlpbnQgcmM7CisKKwlhc3NlcnQobG4pOworCWFzc2VydChidWYpOworCisJaWYgKCFsbi0+cGFyZW50KQorCQlyZXR1cm4gMDsKKworCXJjID0gbGluZV9hc2NpaV9hcnRfdG9fYnVmZmVyKHRiLCBsbi0+cGFyZW50LCBidWYpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJaWYgKGxpc3RfZW50cnlfaXNfbGFzdCgmbG4tPmxuX2NoaWxkcmVuLCAmbG4tPnBhcmVudC0+bG5fYnJhbmNoKSkKKwkJYXJ0ID0gIiAgIjsKKwllbHNlCisJCWFydCA9IHZlcnRpY2FsX3N5bWJvbCh0Yik7CisKKwlyZXR1cm4gYnVmZmVyX2FwcGVuZF9kYXRhKGJ1ZiwgYXJ0KTsKK30KKworc3RhdGljIGludCBpc19sYXN0X2NvbHVtbihzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCkKK3sKKwlpbnQgcmMgPSBsaXN0X2VudHJ5X2lzX2xhc3QoJmNsLT5jbF9jb2x1bW5zLCAmY2wtPnRhYmxlLT50Yl9jb2x1bW5zKTsKKwlzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpuZXh0OworCisJaWYgKHJjKQorCQlyZXR1cm4gMTsKKworCW5leHQgPSBsaXN0X2VudHJ5KGNsLT5jbF9jb2x1bW5zLm5leHQsIHN0cnVjdCBsaWJzY29sc19jb2x1bW4sIGNsX2NvbHVtbnMpOworCWlmIChuZXh0ICYmIHNjb2xzX2NvbHVtbl9pc19oaWRkZW4obmV4dCkgJiYgaXNfbGFzdF9jb2x1bW4obmV4dCkpCisJCXJldHVybiAxOworCXJldHVybiAwOworfQorCisKK3N0YXRpYyBpbnQgaGFzX3BlbmRpbmdfZGF0YShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsOworCXN0cnVjdCBsaWJzY29sc19pdGVyIGl0cjsKKworCXNjb2xzX3Jlc2V0X2l0ZXIoJml0ciwgU0NPTFNfSVRFUl9GT1JXQVJEKTsKKwl3aGlsZSAoc2NvbHNfdGFibGVfbmV4dF9jb2x1bW4odGIsICZpdHIsICZjbCkgPT0gMCkgeworCQlpZiAoc2NvbHNfY29sdW1uX2lzX2hpZGRlbihjbCkpCisJCQljb250aW51ZTsKKwkJaWYgKGNsLT5wZW5kaW5nX2RhdGEpCisJCQlyZXR1cm4gMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qIHByaW50IHBhZGRpbmcgb3IgQVNDSUktYXJ0IGluc3RlYWQgb2YgZGF0YSBvZiBAY2wgKi8KK3N0YXRpYyB2b2lkIHByaW50X2VtcHR5X2NlbGwoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwKKwkJCSAgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wsCisJCQkgIHN0cnVjdCBsaWJzY29sc19saW5lICpsbiwJLyogb3B0aW9uYWwgKi8KKwkJCSAgc2l6ZV90IGJ1ZnN6KQoreworCXNpemVfdCBsZW5fcGFkID0gMDsJCS8qIGluIHNjcmVlbiBjZWxscyBhcyBvcHBvc2VkIHRvIGJ5dGVzICovCisKKwkvKiBnZW5lcmF0ZSB0cmVlIEFTQ0lJLWFydCByYXRoZXIgdGhhbiBwYWRkaW5nICovCisJaWYgKGxuICYmIHNjb2xzX2NvbHVtbl9pc190cmVlKGNsKSkgeworCQlpZiAoIWxuLT5wYXJlbnQpIHsKKwkJCS8qIG9ubHkgcHJpbnQgc3ltYm9scy0+dmVydCBpZiBmb2xsb3dlZCBieSBjaGlsZCAqLworCQkJaWYgKCFsaXN0X2VtcHR5KCZsbi0+bG5fYnJhbmNoKSkgeworCQkJCWZwdXRzKHZlcnRpY2FsX3N5bWJvbCh0YiksIHRiLT5vdXQpOworCQkJCWxlbl9wYWQgPSBtYnNfc2FmZV93aWR0aCh2ZXJ0aWNhbF9zeW1ib2wodGIpKTsKKwkJCX0KKwkJfSBlbHNlIHsKKwkJCS8qIHVzZSB0aGUgc2FtZSBkcmF3IGZ1bmN0aW9uIGFzIHRob3VnaCB3ZSB3ZXJlIGludGVuZGluZyB0byBkcmF3IGFuIEwtc2hhcGUgKi8KKwkJCXN0cnVjdCBsaWJzY29sc19idWZmZXIgKmFydCA9IG5ld19idWZmZXIoYnVmc3opOworCQkJY2hhciAqZGF0YTsKKworCQkJaWYgKGFydCkgeworCQkJCS8qIHdoYXRldmVyIHRoZSByYywgbGVuX3BhZCB3aWxsIGJlIHNlbnNpYmxlICovCisJCQkJbGluZV9hc2NpaV9hcnRfdG9fYnVmZmVyKHRiLCBsbiwgYXJ0KTsKKwkJCQlpZiAoIWxpc3RfZW1wdHkoJmxuLT5sbl9icmFuY2gpICYmIGhhc19wZW5kaW5nX2RhdGEodGIpKQorCQkJCQlidWZmZXJfYXBwZW5kX2RhdGEoYXJ0LCB2ZXJ0aWNhbF9zeW1ib2wodGIpKTsKKwkJCQlkYXRhID0gYnVmZmVyX2dldF9zYWZlX2RhdGEoYXJ0LCAmbGVuX3BhZCwgTlVMTCk7CisJCQkJaWYgKGRhdGEgJiYgbGVuX3BhZCkKKwkJCQkJZnB1dHMoZGF0YSwgdGItPm91dCk7CisJCQkJZnJlZV9idWZmZXIoYXJ0KTsKKwkJCX0KKwkJfQorCX0KKworCWlmIChpc19sYXN0X2NvbHVtbihjbCkpCisJCXJldHVybjsKKworCS8qIGZpbGwgcmVzdCBvZiBjZWxsIHdpdGggc3BhY2UgKi8KKwlmb3IoOyBsZW5fcGFkIDwgY2wtPndpZHRoOyArK2xlbl9wYWQpCisJCWZwdXRzKGNlbGxwYWRkaW5nX3N5bWJvbCh0YiksIHRiLT5vdXQpOworCisJZnB1dHMoY29sc2VwKHRiKSwgdGItPm91dCk7Cit9CisKKworc3RhdGljIGNvbnN0IGNoYXIgKmdldF9jZWxsX2NvbG9yKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsCisJCQkJICBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCwKKwkJCQkgIHN0cnVjdCBsaWJzY29sc19saW5lICpsbiwJLyogb3B0aW9uYWwgKi8KKwkJCQkgIHN0cnVjdCBsaWJzY29sc19jZWxsICpjZSkJLyogb3B0aW9uYWwgKi8KK3sKKwljb25zdCBjaGFyICpjb2xvciA9IE5VTEw7CisKKwlpZiAodGIgJiYgdGItPmNvbG9yc193YW50ZWQpIHsKKwkJaWYgKGNlICYmICFjb2xvcikKKwkJCWNvbG9yID0gY2UtPmNvbG9yOworCQlpZiAobG4gJiYgIWNvbG9yKQorCQkJY29sb3IgPSBsbi0+Y29sb3I7CisJCWlmICghY29sb3IpCisJCQljb2xvciA9IGNsLT5jb2xvcjsKKwl9CisJcmV0dXJuIGNvbG9yOworfQorCisvKiBGaWxsIHRoZSBzdGFydCBvZiBhIGxpbmUgd2l0aCBwYWRkaW5nIChvciB3aXRoIHRyZWUgYXNjaWktYXJ0KS4KKyAqCisgKiBUaGlzIGlzIG5lY2Vzc2FyeSBhZnRlciBhIGxvbmcgbm9uLXRydW5jYXRlZCBjb2x1bW4sIGFzIHRoaXMgcmVxdWlyZXMgdGhlCisgKiBuZXh0IGNvbHVtbiB0byBiZSBwcmludGVkIG9uIHRoZSBuZXh0IGxpbmUuIEZvciBleGFtcGxlIChzZWUgJ0RERCcpOgorICoKKyAqIGFhYSBiYmIgY2NjIGRkZCBlZWUKKyAqIEFBQSBCQkIgQ0NDQ0NDQworICogICAgICAgICAgICAgREREIEVFRQorICogXl5eXl5eXl5eXl5eCisgKiAgbmV3IGxpbmUgcGFkZGluZworICovCitzdGF0aWMgdm9pZCBwcmludF9uZXdsaW5lX3BhZGRpbmcoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwKKwkJCQkgIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsLAorCQkJCSAgc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLAkvKiBvcHRpb25hbCAqLworCQkJCSAgc2l6ZV90IGJ1ZnN6KQoreworCXNpemVfdCBpOworCisJYXNzZXJ0KHRiKTsKKwlhc3NlcnQoY2wpOworCisJZnB1dHMobGluZXNlcCh0YiksIHRiLT5vdXQpOwkJLyogbGluZSBicmVhayAqLworCisJLyogZmlsbCBjZWxscyBhZnRlciBsaW5lIGJyZWFrICovCisJZm9yIChpID0gMDsgaSA8PSAoc2l6ZV90KSBjbC0+c2VxbnVtOyBpKyspCisJCXByaW50X2VtcHR5X2NlbGwodGIsIHNjb2xzX3RhYmxlX2dldF9jb2x1bW4odGIsIGkpLCBsbiwgYnVmc3opOworfQorCisvKgorICogUGVuZGluZyBkYXRhCisgKgorICogVGhlIGZpcnN0IGxpbmUgaW4gdGhlIG11bHRpLWxpbmUgY2VsbHMgKGNvbHVtbnMgd2l0aCBTQ09MU19GTF9XUkFQIGZsYWcpIGlzCisgKiBwcmludGVkIGFzIHVzdWFsbHkgYW5kIG91dHB1dCBpcyB0cnVuY2F0ZWQgdG8gbWF0Y2ggY29sdW1uIHdpZHRoLgorICoKKyAqIFRoZSByZXN0IG9mIHRoZSBsb25nIHRleHQgaXMgcHJpbnRlZCBvbiBuZXh0IGV4dHJhIGxpbmUocykuIFRoZSBleHRyYSBsaW5lcworICogZG9uJ3QgZXhpc3QgaW4gdGhlIHRhYmxlIChub3QgcmVwcmVzZW50ZWQgYnkgbGlic2NvbHNfbGluZSkuIFRoZSBkYXRhIGZvcgorICogdGhlIGV4dHJhIGxpbmVzIGFyZSBzdG9yZWQgaW4gbGlic2NvbHNfY29sdW1uLT5wZW5kaW5nX2RhdGFfYnVmIGFuZCB0aGUKKyAqIGZ1bmN0aW9uIHByaW50X2xpbmUoKSBhZGRzIGV4dHJhIGxpbmVzIHVudGlsIHRoZSBidWZmZXIgaXMgbm90IGVtcHR5IGluIGFsbAorICogY29sdW1ucy4KKyAqLworCisvKiBzZXQgZGF0YSB0aGF0IHdpbGwgYmUgcHJpbnRlZCBieSBleHRyYSBsaW5lcyAqLworc3RhdGljIGludCBzZXRfcGVuZGluZ19kYXRhKHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsLCBjb25zdCBjaGFyICpkYXRhLCBzaXplX3Qgc3opCit7CisJY2hhciAqcCA9IE5VTEw7CisKKwlpZiAoZGF0YSAmJiAqZGF0YSkgeworCQlEQkcoQ09MLCB1bF9kZWJ1Z29iaihjbCwgInNldHRpbmcgcGVuZGluZyBkYXRhIikpOworCQlhc3NlcnQoc3opOworCQlwID0gc3RyZHVwKGRhdGEpOworCQlpZiAoIXApCisJCQlyZXR1cm4gLUVOT01FTTsKKwl9CisKKwlmcmVlKGNsLT5wZW5kaW5nX2RhdGFfYnVmKTsKKwljbC0+cGVuZGluZ19kYXRhX2J1ZiA9IHA7CisJY2wtPnBlbmRpbmdfZGF0YV9zeiA9IHN6OworCWNsLT5wZW5kaW5nX2RhdGEgPSBjbC0+cGVuZGluZ19kYXRhX2J1ZjsKKwlyZXR1cm4gMDsKK30KKworLyogdGhlIG5leHQgZXh0cmEgbGluZSBoYXMgYmVlbiBwcmludGVkLCBtb3ZlIHBlbmRpbmcgZGF0YSBjdXJzb3IgKi8KK3N0YXRpYyBpbnQgc3RlcF9wZW5kaW5nX2RhdGEoc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wsIHNpemVfdCBieXRlcykKK3sKKwlEQkcoQ09MLCB1bF9kZWJ1Z29iaihjbCwgInN0ZXAgcGVuZGluZyBkYXRhICV6dSAtPSAlenUiLCBjbC0+cGVuZGluZ19kYXRhX3N6LCBieXRlcykpOworCisJaWYgKGJ5dGVzID49IGNsLT5wZW5kaW5nX2RhdGFfc3opCisJCXJldHVybiBzZXRfcGVuZGluZ19kYXRhKGNsLCBOVUxMLCAwKTsKKworCWNsLT5wZW5kaW5nX2RhdGEgKz0gYnl0ZXM7CisJY2wtPnBlbmRpbmdfZGF0YV9zeiAtPSBieXRlczsKKwlyZXR1cm4gMDsKK30KKworLyogcHJpbnQgbmV4dCBwZW5kaW5nIGRhdGEgZm9yIHRoZSBjb2x1bW4gQGNsICovCitzdGF0aWMgaW50IHByaW50X3BlbmRpbmdfZGF0YSgKKwkJc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwKKwkJc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wsCisJCXN0cnVjdCBsaWJzY29sc19saW5lICpsbiwJLyogb3B0aW9uYWwgKi8KKwkJc3RydWN0IGxpYnNjb2xzX2NlbGwgKmNlKQoreworCWNvbnN0IGNoYXIgKmNvbG9yID0gZ2V0X2NlbGxfY29sb3IodGIsIGNsLCBsbiwgY2UpOworCXNpemVfdCB3aWR0aCA9IGNsLT53aWR0aCwgYnl0ZXM7CisJc2l6ZV90IGxlbiA9IHdpZHRoLCBpOworCWNoYXIgKmRhdGE7CisJY2hhciAqbmV4dGNodW5rID0gTlVMTDsKKworCWlmICghY2wtPnBlbmRpbmdfZGF0YSkKKwkJcmV0dXJuIDA7CisKKwlEQkcoQ09MLCB1bF9kZWJ1Z29iaihjbCwgInByaW50aW5nIHBlbmRpbmcgZGF0YSIpKTsKKworCWRhdGEgPSBzdHJkdXAoY2wtPnBlbmRpbmdfZGF0YSk7CisJaWYgKCFkYXRhKQorCQlnb3RvIGVycjsKKworCWlmIChzY29sc19jb2x1bW5faXNfY3VzdG9td3JhcChjbCkKKwkgICAgJiYgKG5leHRjaHVuayA9IGNsLT53cmFwX25leHRjaHVuayhjbCwgZGF0YSwgY2wtPndyYXBmdW5jX2RhdGEpKSkgeworCQlieXRlcyA9IG5leHRjaHVuayAtIGRhdGE7CisKKwkJbGVuID0gbWJzX3NhZmVfbndpZHRoKGRhdGEsIGJ5dGVzLCBOVUxMKTsKKwl9IGVsc2UKKwkJYnl0ZXMgPSBtYnNfdHJ1bmNhdGUoZGF0YSwgJmxlbik7CisKKwlpZiAoYnl0ZXMgPT0gKHNpemVfdCkgLTEpCisJCWdvdG8gZXJyOworCisJc3RlcF9wZW5kaW5nX2RhdGEoY2wsIGJ5dGVzKTsKKworCWlmIChjb2xvcikKKwkJZnB1dHMoY29sb3IsIHRiLT5vdXQpOworCWZwdXRzKGRhdGEsIHRiLT5vdXQpOworCWlmIChjb2xvcikKKwkJZnB1dHMoVUxfQ09MT1JfUkVTRVQsIHRiLT5vdXQpOworCWZyZWUoZGF0YSk7CisKKwlpZiAoaXNfbGFzdF9jb2x1bW4oY2wpKQorCQlyZXR1cm4gMDsKKworCWZvciAoaSA9IGxlbjsgaSA8IHdpZHRoOyBpKyspCisJCWZwdXRzKGNlbGxwYWRkaW5nX3N5bWJvbCh0YiksIHRiLT5vdXQpOwkJLyogcGFkZGluZyAqLworCisJZnB1dHMoY29sc2VwKHRiKSwgdGItPm91dCk7CS8qIGNvbHVtbnMgc2VwYXJhdG9yICovCisJcmV0dXJuIDA7CitlcnI6CisJZnJlZShkYXRhKTsKKwlyZXR1cm4gLWVycm5vOworfQorCitzdGF0aWMgaW50IHByaW50X2RhdGEoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwKKwkJICAgICAgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wsCisJCSAgICAgIHN0cnVjdCBsaWJzY29sc19saW5lICpsbiwJLyogb3B0aW9uYWwgKi8KKwkJICAgICAgc3RydWN0IGxpYnNjb2xzX2NlbGwgKmNlLAkvKiBvcHRpb25hbCAqLworCQkgICAgICBzdHJ1Y3QgbGlic2NvbHNfYnVmZmVyICpidWYpCit7CisJc2l6ZV90IGxlbiA9IDAsIGksIHdpZHRoLCBieXRlczsKKwljb25zdCBjaGFyICpjb2xvciA9IE5VTEw7CisJY2hhciAqZGF0YSwgKm5leHRjaHVuazsKKwlpbnQgaXNfbGFzdDsKKworCWFzc2VydCh0Yik7CisJYXNzZXJ0KGNsKTsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLAorCQkJIiAtPiBkYXRhLCBjb2x1bW49JXAsIGxpbmU9JXAsIGNlbGw9JXAsIGJ1ZmY9JXAiLAorCQkJY2wsIGxuLCBjZSwgYnVmKSk7CisKKwlkYXRhID0gYnVmZmVyX2dldF9kYXRhKGJ1Zik7CisJaWYgKCFkYXRhKQorCQlkYXRhID0gIiI7CisKKwlpc19sYXN0ID0gaXNfbGFzdF9jb2x1bW4oY2wpOworCisJc3dpdGNoICh0Yi0+Zm9ybWF0KSB7CisJY2FzZSBTQ09MU19GTVRfUkFXOgorCQlmcHV0c19ub25ibGFuayhkYXRhLCB0Yi0+b3V0KTsKKwkJaWYgKCFpc19sYXN0KQorCQkJZnB1dHMoY29sc2VwKHRiKSwgdGItPm91dCk7CisJCXJldHVybiAwOworCisJY2FzZSBTQ09MU19GTVRfRVhQT1JUOgorCQlmcHJpbnRmKHRiLT5vdXQsICIlcz0iLCBzY29sc19jZWxsX2dldF9kYXRhKCZjbC0+aGVhZGVyKSk7CisJCWZwdXRzX3F1b3RlZChkYXRhLCB0Yi0+b3V0KTsKKwkJaWYgKCFpc19sYXN0KQorCQkJZnB1dHMoY29sc2VwKHRiKSwgdGItPm91dCk7CisJCXJldHVybiAwOworCisJY2FzZSBTQ09MU19GTVRfSlNPTjoKKwkJZnB1dHNfcXVvdGVkX2pzb25fbG93ZXIoc2NvbHNfY2VsbF9nZXRfZGF0YSgmY2wtPmhlYWRlciksIHRiLT5vdXQpOworCQlmcHV0cygiOiAiLCB0Yi0+b3V0KTsKKwkJaWYgKCFkYXRhIHx8ICEqZGF0YSkKKwkJCWZwdXRzKCJudWxsIiwgdGItPm91dCk7CisJCWVsc2UKKwkJCWZwdXRzX3F1b3RlZF9qc29uKGRhdGEsIHRiLT5vdXQpOworCQlpZiAoIWlzX2xhc3QpCisJCQlmcHV0cygiLCAiLCB0Yi0+b3V0KTsKKwkJcmV0dXJuIDA7CisKKwljYXNlIFNDT0xTX0ZNVF9IVU1BTjoKKwkJYnJlYWs7CQkvKiBjb250aW51ZSBiZWxvdyAqLworCX0KKworCWNvbG9yID0gZ2V0X2NlbGxfY29sb3IodGIsIGNsLCBsbiwgY2UpOworCisJLyogRW5jb2RlLiBOb3RlIHRoYXQgJ2xlbicgYW5kICd3aWR0aCcgYXJlIG51bWJlciBvZiBjZWxscywgbm90IGJ5dGVzLgorCSAqLworCWRhdGEgPSBidWZmZXJfZ2V0X3NhZmVfZGF0YShidWYsICZsZW4sIHNjb2xzX2NvbHVtbl9nZXRfc2FmZWNoYXJzKGNsKSk7CisJaWYgKCFkYXRhKQorCQlkYXRhID0gIiI7CisJYnl0ZXMgPSBzdHJsZW4oZGF0YSk7CisJd2lkdGggPSBjbC0+d2lkdGg7CisKKwkvKiBjdXN0b20gbXVsdGktbGluZSBjZWxsIGJhc2VkICovCisJaWYgKCpkYXRhICYmIHNjb2xzX2NvbHVtbl9pc19jdXN0b213cmFwKGNsKQorCSAgICAmJiAobmV4dGNodW5rID0gY2wtPndyYXBfbmV4dGNodW5rKGNsLCBkYXRhLCBjbC0+d3JhcGZ1bmNfZGF0YSkpKSB7CisJCXNldF9wZW5kaW5nX2RhdGEoY2wsIG5leHRjaHVuaywgYnl0ZXMgLSAobmV4dGNodW5rIC0gZGF0YSkpOworCQlieXRlcyA9IG5leHRjaHVuayAtIGRhdGE7CisJCWxlbiA9IG1ic19zYWZlX253aWR0aChkYXRhLCBieXRlcywgTlVMTCk7CisJfQorCisJaWYgKGlzX2xhc3QKKwkgICAgJiYgbGVuIDwgd2lkdGgKKwkgICAgJiYgIXNjb2xzX3RhYmxlX2lzX21heG91dCh0YikKKwkgICAgJiYgIXNjb2xzX2NvbHVtbl9pc19yaWdodChjbCkpCisJCXdpZHRoID0gbGVuOworCisJLyogdHJ1bmNhdGUgZGF0YSAqLworCWlmIChsZW4gPiB3aWR0aCAmJiBzY29sc19jb2x1bW5faXNfdHJ1bmMoY2wpKSB7CisJCWxlbiA9IHdpZHRoOworCQlieXRlcyA9IG1ic190cnVuY2F0ZShkYXRhLCAmbGVuKTsJLyogdXBkYXRlcyAnbGVuJyAqLworCX0KKworCS8qIHN0YW5kYXJkIG11bHRpLWxpbmUgY2VsbCAqLworCWlmIChsZW4gPiB3aWR0aCAmJiBzY29sc19jb2x1bW5faXNfd3JhcChjbCkKKwkgICAgJiYgIXNjb2xzX2NvbHVtbl9pc19jdXN0b213cmFwKGNsKSkgeworCQlzZXRfcGVuZGluZ19kYXRhKGNsLCBkYXRhLCBieXRlcyk7CisKKwkJbGVuID0gd2lkdGg7CisJCWJ5dGVzID0gbWJzX3RydW5jYXRlKGRhdGEsICZsZW4pOworCQlpZiAoYnl0ZXMgICE9IChzaXplX3QpIC0xICYmIGJ5dGVzID4gMCkKKwkJCXN0ZXBfcGVuZGluZ19kYXRhKGNsLCBieXRlcyk7CisJfQorCisJaWYgKGJ5dGVzID09IChzaXplX3QpIC0xKSB7CisJCWJ5dGVzID0gbGVuID0gMDsKKwkJZGF0YSA9IE5VTEw7CisJfQorCisJaWYgKGRhdGEpIHsKKwkJaWYgKHNjb2xzX2NvbHVtbl9pc19yaWdodChjbCkpIHsKKwkJCWlmIChjb2xvcikKKwkJCQlmcHV0cyhjb2xvciwgdGItPm91dCk7CisJCQlmb3IgKGkgPSBsZW47IGkgPCB3aWR0aDsgaSsrKQorCQkJCWZwdXRzKGNlbGxwYWRkaW5nX3N5bWJvbCh0YiksIHRiLT5vdXQpOworCQkJZnB1dHMoZGF0YSwgdGItPm91dCk7CisJCQlpZiAoY29sb3IpCisJCQkJZnB1dHMoVUxfQ09MT1JfUkVTRVQsIHRiLT5vdXQpOworCQkJbGVuID0gd2lkdGg7CisKKwkJfSBlbHNlIGlmIChjb2xvcikgeworCQkJY2hhciAqcCA9IGRhdGE7CisJCQlzaXplX3QgYXJ0ID0gYnVmZmVyX2dldF9zYWZlX2FydF9zaXplKGJ1Zik7CisKKwkJCS8qIHdlIGRvbid0IHdhbnQgdG8gY29sb3JpemUgdHJlZSBhc2NpaSBhcnQgKi8KKwkJCWlmIChzY29sc19jb2x1bW5faXNfdHJlZShjbCkgJiYgYXJ0ICYmIGFydCA8IGJ5dGVzKSB7CisJCQkJZndyaXRlKHAsIDEsIGFydCwgdGItPm91dCk7CisJCQkJcCArPSBhcnQ7CisJCQl9CisKKwkJCWZwdXRzKGNvbG9yLCB0Yi0+b3V0KTsKKwkJCWZwdXRzKHAsIHRiLT5vdXQpOworCQkJZnB1dHMoVUxfQ09MT1JfUkVTRVQsIHRiLT5vdXQpOworCQl9IGVsc2UKKwkJCWZwdXRzKGRhdGEsIHRiLT5vdXQpOworCX0KKwlmb3IgKGkgPSBsZW47IGkgPCB3aWR0aDsgaSsrKQorCQlmcHV0cyhjZWxscGFkZGluZ19zeW1ib2wodGIpLCB0Yi0+b3V0KTsJLyogcGFkZGluZyAqLworCisJaWYgKGlzX2xhc3QpCisJCXJldHVybiAwOworCisJaWYgKGxlbiA+IHdpZHRoICYmICFzY29sc19jb2x1bW5faXNfdHJ1bmMoY2wpKQorCQlwcmludF9uZXdsaW5lX3BhZGRpbmcodGIsIGNsLCBsbiwgYnVmLT5idWZzeik7CS8qIG5leHQgY29sdW1uIHN0YXJ0cyBvbiBuZXh0IGxpbmUgKi8KKwllbHNlCisJCWZwdXRzKGNvbHNlcCh0YiksIHRiLT5vdXQpOwkJLyogY29sdW1ucyBzZXBhcmF0b3IgKi8KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNlbGxfdG9fYnVmZmVyKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsCisJCQkgIHN0cnVjdCBsaWJzY29sc19saW5lICpsbiwKKwkJCSAgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wsCisJCQkgIHN0cnVjdCBsaWJzY29sc19idWZmZXIgKmJ1ZikKK3sKKwljb25zdCBjaGFyICpkYXRhOworCXN0cnVjdCBsaWJzY29sc19jZWxsICpjZTsKKwlpbnQgcmMgPSAwOworCisJYXNzZXJ0KHRiKTsKKwlhc3NlcnQobG4pOworCWFzc2VydChjbCk7CisJYXNzZXJ0KGJ1Zik7CisJYXNzZXJ0KGNsLT5zZXFudW0gPD0gdGItPm5jb2xzKTsKKworCWJ1ZmZlcl9yZXNldF9kYXRhKGJ1Zik7CisKKwljZSA9IHNjb2xzX2xpbmVfZ2V0X2NlbGwobG4sIGNsLT5zZXFudW0pOworCWRhdGEgPSBjZSA/IHNjb2xzX2NlbGxfZ2V0X2RhdGEoY2UpIDogTlVMTDsKKwlpZiAoIWRhdGEpCisJCXJldHVybiAwOworCisJaWYgKCFzY29sc19jb2x1bW5faXNfdHJlZShjbCkpCisJCXJldHVybiBidWZmZXJfc2V0X2RhdGEoYnVmLCBkYXRhKTsKKworCS8qCisJICogVHJlZSBzdHVmZgorCSAqLworCWlmIChsbi0+cGFyZW50ICYmICFzY29sc190YWJsZV9pc19qc29uKHRiKSkgeworCQlyYyA9IGxpbmVfYXNjaWlfYXJ0X3RvX2J1ZmZlcih0YiwgbG4tPnBhcmVudCwgYnVmKTsKKworCQlpZiAoIXJjICYmIGxpc3RfZW50cnlfaXNfbGFzdCgmbG4tPmxuX2NoaWxkcmVuLCAmbG4tPnBhcmVudC0+bG5fYnJhbmNoKSkKKwkJCXJjID0gYnVmZmVyX2FwcGVuZF9kYXRhKGJ1ZiwgcmlnaHRfc3ltYm9sKHRiKSk7CisJCWVsc2UgaWYgKCFyYykKKwkJCXJjID0gYnVmZmVyX2FwcGVuZF9kYXRhKGJ1ZiwgYnJhbmNoX3N5bWJvbCh0YikpOworCQlpZiAoIXJjKQorCQkJYnVmZmVyX3NldF9hcnRfaW5kZXgoYnVmKTsKKwl9CisKKwlpZiAoIXJjKQorCQlyYyA9IGJ1ZmZlcl9hcHBlbmRfZGF0YShidWYsIGRhdGEpOworCXJldHVybiByYzsKK30KKworc3RhdGljIHZvaWQgZnB1dF9pbmRlbnQoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPD0gdGItPmluZGVudDsgaSsrKQorCQlmcHV0cygiICAgIiwgdGItPm91dCk7Cit9CisKK3N0YXRpYyB2b2lkIGZwdXRfdGFibGVfb3BlbihzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXRiLT5pbmRlbnQgPSAwOworCisJaWYgKHNjb2xzX3RhYmxlX2lzX2pzb24odGIpKSB7CisJCWZwdXRjKCd7JywgdGItPm91dCk7CisJCWZwdXRzKGxpbmVzZXAodGIpLCB0Yi0+b3V0KTsKKworCQlmcHV0X2luZGVudCh0Yik7CisJCWZwdXRzX3F1b3RlZCh0Yi0+bmFtZSwgdGItPm91dCk7CisJCWZwdXRzKCI6IFsiLCB0Yi0+b3V0KTsKKwkJZnB1dHMobGluZXNlcCh0YiksIHRiLT5vdXQpOworCisJCXRiLT5pbmRlbnQrKzsKKwkJdGItPmluZGVudF9sYXN0X3NlcCA9IDE7CisJfQorfQorCitzdGF0aWMgdm9pZCBmcHV0X3RhYmxlX2Nsb3NlKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJdGItPmluZGVudC0tOworCisJaWYgKHNjb2xzX3RhYmxlX2lzX2pzb24odGIpKSB7CisJCWZwdXRfaW5kZW50KHRiKTsKKwkJZnB1dGMoJ10nLCB0Yi0+b3V0KTsKKwkJdGItPmluZGVudC0tOworCQlmcHV0cyhsaW5lc2VwKHRiKSwgdGItPm91dCk7CisJCWZwdXRjKCd9JywgdGItPm91dCk7CisJCXRiLT5pbmRlbnRfbGFzdF9zZXAgPSAxOworCX0KK30KKworc3RhdGljIHZvaWQgZnB1dF9jaGlsZHJlbl9vcGVuKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJaWYgKHNjb2xzX3RhYmxlX2lzX2pzb24odGIpKSB7CisJCWZwdXRjKCcsJywgdGItPm91dCk7CisJCWZwdXRzKGxpbmVzZXAodGIpLCB0Yi0+b3V0KTsKKwkJZnB1dF9pbmRlbnQodGIpOworCQlmcHV0cygiXCJjaGlsZHJlblwiOiBbIiwgdGItPm91dCk7CisJfQorCS8qIGJldHdlZW4gcGFyZW50IGFuZCBjaGlsZCBpcyBzZXBhcmF0b3IgKi8KKwlmcHV0cyhsaW5lc2VwKHRiKSwgdGItPm91dCk7CisJdGItPmluZGVudF9sYXN0X3NlcCA9IDE7CisJdGItPmluZGVudCsrOworfQorCitzdGF0aWMgdm9pZCBmcHV0X2NoaWxkcmVuX2Nsb3NlKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJdGItPmluZGVudC0tOworCisJaWYgKHNjb2xzX3RhYmxlX2lzX2pzb24odGIpKSB7CisJCWZwdXRfaW5kZW50KHRiKTsKKwkJZnB1dGMoJ10nLCB0Yi0+b3V0KTsKKwkJZnB1dHMobGluZXNlcCh0YiksIHRiLT5vdXQpOworCQl0Yi0+aW5kZW50X2xhc3Rfc2VwID0gMTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGZwdXRfbGluZV9vcGVuKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJaWYgKHNjb2xzX3RhYmxlX2lzX2pzb24odGIpKSB7CisJCWZwdXRfaW5kZW50KHRiKTsKKwkJZnB1dGMoJ3snLCB0Yi0+b3V0KTsKKwkJdGItPmluZGVudF9sYXN0X3NlcCA9IDA7CisJfQorCXRiLT5pbmRlbnQrKzsKK30KKworc3RhdGljIHZvaWQgZnB1dF9saW5lX2Nsb3NlKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGludCBsYXN0LCBpbnQgbGFzdF9pbl90YWJsZSkKK3sKKwl0Yi0+aW5kZW50LS07CisJaWYgKHNjb2xzX3RhYmxlX2lzX2pzb24odGIpKSB7CisJCWlmICh0Yi0+aW5kZW50X2xhc3Rfc2VwKQorCQkJZnB1dF9pbmRlbnQodGIpOworCQlmcHV0cyhsYXN0ID8gIn0iIDogIn0sIiwgdGItPm91dCk7CisJCWlmICghdGItPm5vX2xpbmVzZXApCisJCQlmcHV0cyhsaW5lc2VwKHRiKSwgdGItPm91dCk7CisKKwl9IGVsc2UgaWYgKHRiLT5ub19saW5lc2VwID09IDAgJiYgbGFzdF9pbl90YWJsZSA9PSAwKQorCQlmcHV0cyhsaW5lc2VwKHRiKSwgdGItPm91dCk7CisKKwl0Yi0+aW5kZW50X2xhc3Rfc2VwID0gMTsKK30KKworLyoKKyAqIFByaW50cyBkYXRhLiBEYXRhIGNhbiBiZSBwcmludGVkIGluIG1vcmUgZm9ybWF0cyAocmF3LCBOQU1FPXh4eCBwYWlycyksIGFuZAorICogY29udHJvbCBhbmQgbm9uLXByaW50YWJsZSBjaGFyYWN0ZXJzIGNhbiBiZSBlbmNvZGVkIGluIHRoZSBceD8/IGVuY29kaW5nLgorICovCitzdGF0aWMgaW50IHByaW50X2xpbmUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwKKwkJICAgICAgc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLAorCQkgICAgICBzdHJ1Y3QgbGlic2NvbHNfYnVmZmVyICpidWYpCit7CisJaW50IHJjID0gMCwgcGVuZGluZyA9IDA7CisJc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2w7CisJc3RydWN0IGxpYnNjb2xzX2l0ZXIgaXRyOworCisJYXNzZXJ0KGxuKTsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAicHJpbnRpbmcgbGluZSwgbGluZT0lcCwgYnVmZj0lcCIsIGxuLCBidWYpKTsKKworCS8qIHJlZ3VsYXIgbGluZSAqLworCXNjb2xzX3Jlc2V0X2l0ZXIoJml0ciwgU0NPTFNfSVRFUl9GT1JXQVJEKTsKKwl3aGlsZSAocmMgPT0gMCAmJiBzY29sc190YWJsZV9uZXh0X2NvbHVtbih0YiwgJml0ciwgJmNsKSA9PSAwKSB7CisJCWlmIChzY29sc19jb2x1bW5faXNfaGlkZGVuKGNsKSkKKwkJCWNvbnRpbnVlOworCQlyYyA9IGNlbGxfdG9fYnVmZmVyKHRiLCBsbiwgY2wsIGJ1Zik7CisJCWlmIChyYyA9PSAwKQorCQkJcmMgPSBwcmludF9kYXRhKHRiLCBjbCwgbG4sCisJCQkJCXNjb2xzX2xpbmVfZ2V0X2NlbGwobG4sIGNsLT5zZXFudW0pLAorCQkJCQlidWYpOworCQlpZiAocmMgPT0gMCAmJiBjbC0+cGVuZGluZ19kYXRhKQorCQkJcGVuZGluZyA9IDE7CisJfQorCisJLyogZXh0cmEgbGluZXMgb2YgdGhlIG11bHRpLWxpbmUgY2VsbHMgKi8KKwl3aGlsZSAocmMgPT0gMCAmJiBwZW5kaW5nKSB7CisJCXBlbmRpbmcgPSAwOworCQlmcHV0cyhsaW5lc2VwKHRiKSwgdGItPm91dCk7CisJCXNjb2xzX3Jlc2V0X2l0ZXIoJml0ciwgU0NPTFNfSVRFUl9GT1JXQVJEKTsKKwkJd2hpbGUgKHJjID09IDAgJiYgc2NvbHNfdGFibGVfbmV4dF9jb2x1bW4odGIsICZpdHIsICZjbCkgPT0gMCkgeworCQkJaWYgKHNjb2xzX2NvbHVtbl9pc19oaWRkZW4oY2wpKQorCQkJCWNvbnRpbnVlOworCQkJaWYgKGNsLT5wZW5kaW5nX2RhdGEpIHsKKwkJCQlyYyA9IHByaW50X3BlbmRpbmdfZGF0YSh0YiwgY2wsIGxuLCBzY29sc19saW5lX2dldF9jZWxsKGxuLCBjbC0+c2VxbnVtKSk7CisJCQkJaWYgKHJjID09IDAgJiYgY2wtPnBlbmRpbmdfZGF0YSkKKwkJCQkJcGVuZGluZyA9IDE7CisJCQl9IGVsc2UKKwkJCQlwcmludF9lbXB0eV9jZWxsKHRiLCBjbCwgbG4sIGJ1Zi0+YnVmc3opOworCQl9CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHJpbnRfdGl0bGUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwlpbnQgcmMsIGNvbG9yID0gMDsKKwltYnNfYWxpZ25fdCBhbGlnbjsKKwlzaXplX3Qgd2lkdGgsIGJ1ZnN6LCB0aXRsZXN6OworCWNoYXIgKnRpdGxlID0gTlVMTCwgKmJ1ZiA9IE5VTEw7CisKKwlhc3NlcnQodGIpOworCisJaWYgKCF0Yi0+dGl0bGUuZGF0YSkKKwkJcmV0dXJuIDA7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgInByaW50aW5nIHRpdGxlIikpOworCisJLyogZW5jb2RlIGRhdGEgKi8KKwlidWZzeiA9IG1ic19zYWZlX2VuY29kZV9zaXplKHN0cmxlbih0Yi0+dGl0bGUuZGF0YSkpICsgMTsKKwlpZiAoYnVmc3ogPT0gMSkgeworCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgInRpdGxlIGlzIGVtcHR5IHN0cmluZyAtLSBpZ25vcmUiKSk7CisJCXJldHVybiAwOworCX0KKwlidWYgPSBtYWxsb2MoYnVmc3opOworCWlmICghYnVmKSB7CisJCXJjID0gLUVOT01FTTsKKwkJZ290byBkb25lOworCX0KKworCWlmICghbWJzX3NhZmVfZW5jb2RlX3RvX2J1ZmZlcih0Yi0+dGl0bGUuZGF0YSwgJmJ1ZnN6LCBidWYsIE5VTEwpIHx8CisJICAgICFidWZzeiB8fCBidWZzeiA9PSAoc2l6ZV90KSAtMSkgeworCQlyYyA9IC1FSU5WQUw7CisJCWdvdG8gZG9uZTsKKwl9CisKKwkvKiB0cnVuY2F0ZSBhbmQgYWxpZ24gKi8KKwl3aWR0aCA9IHRiLT5pc190ZXJtID8gdGItPnRlcm13aWR0aCA6IDgwOworCXRpdGxlc3ogPSB3aWR0aCArIGJ1ZnN6OworCisJdGl0bGUgPSBtYWxsb2ModGl0bGVzeik7CisJaWYgKCF0aXRsZSkgeworCQlyYyA9IC1FSU5WQUw7CisJCWdvdG8gZG9uZTsKKwl9CisKKwlzd2l0Y2ggKHNjb2xzX2NlbGxfZ2V0X2FsaWdubWVudCgmdGItPnRpdGxlKSkgeworCWNhc2UgU0NPTFNfQ0VMTF9GTF9SSUdIVDoKKwkJYWxpZ24gPSBNQlNfQUxJR05fUklHSFQ7CisJCWJyZWFrOworCWNhc2UgU0NPTFNfQ0VMTF9GTF9DRU5URVI6CisJCWFsaWduID0gTUJTX0FMSUdOX0NFTlRFUjsKKwkJYnJlYWs7CisJY2FzZSBTQ09MU19DRUxMX0ZMX0xFRlQ6CisJZGVmYXVsdDoKKwkJYWxpZ24gPSBNQlNfQUxJR05fTEVGVDsKKwkJYnJlYWs7CisKKwl9CisKKwkvKiBjb3B5IGZyb20gYnVmIHRvIHRpdGxlIGFuZCBhbGlnbiB0byB3aWR0aCB3aXRoIHRpdGxlX3BhZGRpbmcgKi8KKwlyYyA9IG1ic2FsaWduX3dpdGhfcGFkZGluZyhidWYsIHRpdGxlLCB0aXRsZXN6LAorCQkJJndpZHRoLCBhbGlnbiwKKwkJCTAsIChpbnQpICp0aXRsZXBhZGRpbmdfc3ltYm9sKHRiKSk7CisKKwlpZiAocmMgPT0gLTEpIHsKKwkJcmMgPSAtRUlOVkFMOworCQlnb3RvIGRvbmU7CisJfQorCisJaWYgKHRiLT5jb2xvcnNfd2FudGVkICYmIHRiLT50aXRsZS5jb2xvcikKKwkJY29sb3IgPSAxOworCWlmIChjb2xvcikKKwkJZnB1dHModGItPnRpdGxlLmNvbG9yLCB0Yi0+b3V0KTsKKworCWZwdXRzKHRpdGxlLCB0Yi0+b3V0KTsKKworCWlmIChjb2xvcikKKwkJZnB1dHMoVUxfQ09MT1JfUkVTRVQsIHRiLT5vdXQpOworCisJZnB1dGMoJ1xuJywgdGItPm91dCk7CisJcmMgPSAwOworZG9uZToKKwlmcmVlKGJ1Zik7CisJZnJlZSh0aXRsZSk7CisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJwcmludGluZyB0aXRsZSBkb25lIFtyYz0lZF0iLCByYykpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBwcmludF9oZWFkZXIoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yiwgc3RydWN0IGxpYnNjb2xzX2J1ZmZlciAqYnVmKQoreworCWludCByYyA9IDA7CisJc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2w7CisJc3RydWN0IGxpYnNjb2xzX2l0ZXIgaXRyOworCisJYXNzZXJ0KHRiKTsKKworCWlmICh0Yi0+aGVhZGVyX3ByaW50ZWQgPT0gMSB8fAorCSAgICBzY29sc190YWJsZV9pc19ub2hlYWRpbmdzKHRiKSB8fAorCSAgICBzY29sc190YWJsZV9pc19leHBvcnQodGIpIHx8CisJICAgIHNjb2xzX3RhYmxlX2lzX2pzb24odGIpIHx8CisJICAgIGxpc3RfZW1wdHkoJnRiLT50Yl9saW5lcykpCisJCXJldHVybiAwOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJwcmludGluZyBoZWFkZXIiKSk7CisKKwkvKiBzZXQgdGhlIHdpZHRoIGFjY29yZGluZyB0byB0aGUgc2l6ZSBvZiB0aGUgZGF0YSAqLworCXNjb2xzX3Jlc2V0X2l0ZXIoJml0ciwgU0NPTFNfSVRFUl9GT1JXQVJEKTsKKwl3aGlsZSAocmMgPT0gMCAmJiBzY29sc190YWJsZV9uZXh0X2NvbHVtbih0YiwgJml0ciwgJmNsKSA9PSAwKSB7CisJCWlmIChzY29sc19jb2x1bW5faXNfaGlkZGVuKGNsKSkKKwkJCWNvbnRpbnVlOworCQlyYyA9IGJ1ZmZlcl9zZXRfZGF0YShidWYsIHNjb2xzX2NlbGxfZ2V0X2RhdGEoJmNsLT5oZWFkZXIpKTsKKwkJaWYgKCFyYykKKwkJCXJjID0gcHJpbnRfZGF0YSh0YiwgY2wsIE5VTEwsICZjbC0+aGVhZGVyLCBidWYpOworCX0KKworCWlmIChyYyA9PSAwKQorCQlmcHV0cyhsaW5lc2VwKHRiKSwgdGItPm91dCk7CisKKwl0Yi0+aGVhZGVyX3ByaW50ZWQgPSAxOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBwcmludF9yYW5nZSgJc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwKKwkJCXN0cnVjdCBsaWJzY29sc19idWZmZXIgKmJ1ZiwKKwkJCXN0cnVjdCBsaWJzY29sc19pdGVyICppdHIsCisJCQlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqZW5kKQoreworCWludCByYyA9IDA7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuOworCisJYXNzZXJ0KHRiKTsKKworCXdoaWxlIChyYyA9PSAwICYmIHNjb2xzX3RhYmxlX25leHRfbGluZSh0YiwgaXRyLCAmbG4pID09IDApIHsKKworCQlpbnQgbGFzdCA9IHNjb2xzX2l0ZXJfaXNfbGFzdChpdHIpOworCisJCWZwdXRfbGluZV9vcGVuKHRiKTsKKwkJcmMgPSBwcmludF9saW5lKHRiLCBsbiwgYnVmKTsKKwkJZnB1dF9saW5lX2Nsb3NlKHRiLCBsYXN0LCBsYXN0KTsKKworCQlpZiAoZW5kICYmIGxuID09IGVuZCkKKwkJCWJyZWFrOworCX0KKworCXJldHVybiByYzsKKworfQorCitzdGF0aWMgaW50IHByaW50X3RhYmxlKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIHN0cnVjdCBsaWJzY29sc19idWZmZXIgKmJ1ZikKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfaXRlciBpdHI7CisKKwlzY29sc19yZXNldF9pdGVyKCZpdHIsIFNDT0xTX0lURVJfRk9SV0FSRCk7CisJcmV0dXJuIHByaW50X3JhbmdlKHRiLCBidWYsICZpdHIsIE5VTEwpOworfQorCisKK3N0YXRpYyBpbnQgcHJpbnRfdHJlZV9saW5lKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsCisJCQkgICBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sCisJCQkgICBzdHJ1Y3QgbGlic2NvbHNfYnVmZmVyICpidWYsCisJCQkgICBpbnQgbGFzdCwKKwkJCSAgIGludCBsYXN0X2luX3RhYmxlKQoreworCWludCByYzsKKworCS8qIHByaW50IHRoZSBsaW5lICovCisJZnB1dF9saW5lX29wZW4odGIpOworCXJjID0gcHJpbnRfbGluZSh0YiwgbG4sIGJ1Zik7CisJaWYgKHJjKQorCQlnb3RvIGRvbmU7CisKKwkvKiBwcmludCBjaGlsZHJlbiAqLworCWlmICghbGlzdF9lbXB0eSgmbG4tPmxuX2JyYW5jaCkpIHsKKwkJc3RydWN0IGxpc3RfaGVhZCAqcDsKKworCQlmcHV0X2NoaWxkcmVuX29wZW4odGIpOworCisJCS8qIHByaW50IGFsbCBjaGlsZHJlbiAqLworCQlsaXN0X2Zvcl9lYWNoKHAsICZsbi0+bG5fYnJhbmNoKSB7CisJCQlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqY2hsZCA9CisJCQkJCWxpc3RfZW50cnkocCwgc3RydWN0IGxpYnNjb2xzX2xpbmUsIGxuX2NoaWxkcmVuKTsKKwkJCWludCBsYXN0X2NoaWxkID0gcC0+bmV4dCA9PSAmbG4tPmxuX2JyYW5jaDsKKworCQkJcmMgPSBwcmludF90cmVlX2xpbmUodGIsIGNobGQsIGJ1ZiwgbGFzdF9jaGlsZCwgbGFzdF9pbl90YWJsZSAmJiBsYXN0X2NoaWxkKTsKKwkJCWlmIChyYykKKwkJCQlnb3RvIGRvbmU7CisJCX0KKworCQlmcHV0X2NoaWxkcmVuX2Nsb3NlKHRiKTsKKwl9CisKKwlpZiAobGlzdF9lbXB0eSgmbG4tPmxuX2JyYW5jaCkgfHwgc2NvbHNfdGFibGVfaXNfanNvbih0YikpCisJCWZwdXRfbGluZV9jbG9zZSh0YiwgbGFzdCwgbGFzdF9pbl90YWJsZSk7Citkb25lOgorCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBwcmludF90cmVlKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIHN0cnVjdCBsaWJzY29sc19idWZmZXIgKmJ1ZikKK3sKKwlpbnQgcmMgPSAwOworCXN0cnVjdCBsaWJzY29sc19saW5lICpsbiwgKmxhc3QgPSBOVUxMOworCXN0cnVjdCBsaWJzY29sc19pdGVyIGl0cjsKKworCWFzc2VydCh0Yik7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgInByaW50aW5nIHRyZWUiKSk7CisKKwlzY29sc19yZXNldF9pdGVyKCZpdHIsIFNDT0xTX0lURVJfRk9SV0FSRCk7CisKKwl3aGlsZSAoc2NvbHNfdGFibGVfbmV4dF9saW5lKHRiLCAmaXRyLCAmbG4pID09IDApCisJCWlmICghbGFzdCB8fCAhbG4tPnBhcmVudCkKKwkJCWxhc3QgPSBsbjsKKworCXNjb2xzX3Jlc2V0X2l0ZXIoJml0ciwgU0NPTFNfSVRFUl9GT1JXQVJEKTsKKwl3aGlsZSAocmMgPT0gMCAmJiBzY29sc190YWJsZV9uZXh0X2xpbmUodGIsICZpdHIsICZsbikgPT0gMCkgeworCQlpZiAobG4tPnBhcmVudCkKKwkJCWNvbnRpbnVlOworCQlyYyA9IHByaW50X3RyZWVfbGluZSh0YiwgbG4sIGJ1ZiwgbG4gPT0gbGFzdCwgbG4gPT0gbGFzdCk7CisJfQorCisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgdm9pZCBkYmdfY29sdW1uKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKQoreworCWlmIChzY29sc19jb2x1bW5faXNfaGlkZGVuKGNsKSkgeworCQlEQkcoQ09MLCB1bF9kZWJ1Z29iaihjbCwgIiVzIChoaWRkZW4pIGlnbm9yZWQiLCBjbC0+aGVhZGVyLmRhdGEpKTsKKwkJcmV0dXJuOworCX0KKworCURCRyhDT0wsIHVsX2RlYnVnb2JqKGNsLCAiJTE1cyBzZXE9JXp1LCB3aWR0aD0lemQsICIKKwkJCQkgImhpbnQ9JWQsIGF2Zz0lenUsIG1heD0lenUsIG1pbj0lenUsICIKKwkJCQkgImV4dHJlbWU9JXMgJXMiLAorCisJCWNsLT5oZWFkZXIuZGF0YSwgY2wtPnNlcW51bSwgY2wtPndpZHRoLAorCQljbC0+d2lkdGhfaGludCA+IDEgPyAoaW50KSBjbC0+d2lkdGhfaGludCA6CisJCQkJICAgICAoaW50KSAoY2wtPndpZHRoX2hpbnQgKiB0Yi0+dGVybXdpZHRoKSwKKwkJY2wtPndpZHRoX2F2ZywKKwkJY2wtPndpZHRoX21heCwKKwkJY2wtPndpZHRoX21pbiwKKwkJY2wtPmlzX2V4dHJlbWUgPyAieWVzIiA6ICJub3QiLAorCQljbC0+ZmxhZ3MgJiBTQ09MU19GTF9UUlVOQyA/ICJ0cnVuYyIgOiAiIikpOworfQorCitzdGF0aWMgdm9pZCBkYmdfY29sdW1ucyhzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXN0cnVjdCBsaWJzY29sc19pdGVyIGl0cjsKKwlzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbDsKKworCXNjb2xzX3Jlc2V0X2l0ZXIoJml0ciwgU0NPTFNfSVRFUl9GT1JXQVJEKTsKKwl3aGlsZSAoc2NvbHNfdGFibGVfbmV4dF9jb2x1bW4odGIsICZpdHIsICZjbCkgPT0gMCkKKwkJZGJnX2NvbHVtbih0YiwgY2wpOworfQorCisKKy8qCisgKiBUaGlzIGZ1bmN0aW9uIGNvdW50cyBjb2x1bW4gd2lkdGguCisgKgorICogRm9yIHRoZSBTQ09MU19GTF9OT0VYVFJFTUVTIGNvbHVtbnMgaXQgaXMgcG9zc2libGUgdG8gY2FsbCB0aGlzIGZ1bmN0aW9uCisgKiB0d28gdGltZXMuIFRoZSBmaXJzdCBwYXNzIGNvdW50cyB0aGUgd2lkdGggYW5kIGF2ZXJhZ2Ugd2lkdGguIElmIHRoZSBjb2x1bW4KKyAqIGNvbnRhaW5zIGZpZWxkcyB0aGF0IGFyZSB0b28gbGFyZ2UgKGEgd2lkdGggZ3JlYXRlciB0aGFuIDIgKiBhdmVyYWdlKSB0aGVuCisgKiB0aGUgY29sdW1uIGlzIG1hcmtlZCBhcyAiZXh0cmVtZSIuIEluIHRoZSBzZWNvbmQgcGFzcyBhbGwgZXh0cmVtZSBmaWVsZHMKKyAqIGFyZSBpZ25vcmVkIGFuZCB0aGUgY29sdW1uIHdpZHRoIGlzIGNvdW50ZWQgZnJvbSBub24tZXh0cmVtZSBmaWVsZHMgb25seS4KKyAqLworc3RhdGljIGludCBjb3VudF9jb2x1bW5fd2lkdGgoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwKKwkJCSAgICAgIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsLAorCQkJICAgICAgc3RydWN0IGxpYnNjb2xzX2J1ZmZlciAqYnVmKQoreworCXN0cnVjdCBsaWJzY29sc19saW5lICpsbjsKKwlzdHJ1Y3QgbGlic2NvbHNfaXRlciBpdHI7CisJaW50IGNvdW50ID0gMCwgcmMgPSAwOworCXNpemVfdCBzdW0gPSAwOworCisJYXNzZXJ0KHRiKTsKKwlhc3NlcnQoY2wpOworCisJY2wtPndpZHRoID0gMDsKKwlpZiAoIWNsLT53aWR0aF9taW4pIHsKKwkJaWYgKGNsLT53aWR0aF9oaW50IDwgMSAmJiBzY29sc190YWJsZV9pc19tYXhvdXQodGIpICYmIHRiLT5pc190ZXJtKSB7CisJCQljbC0+d2lkdGhfbWluID0gKHNpemVfdCkgKGNsLT53aWR0aF9oaW50ICogdGItPnRlcm13aWR0aCk7CisJCQlpZiAoY2wtPndpZHRoX21pbiAmJiAhaXNfbGFzdF9jb2x1bW4oY2wpKQorCQkJCWNsLT53aWR0aF9taW4tLTsKKwkJfQorCQlpZiAoc2NvbHNfY2VsbF9nZXRfZGF0YSgmY2wtPmhlYWRlcikpIHsKKwkJCXNpemVfdCBsZW4gPSBtYnNfc2FmZV93aWR0aChzY29sc19jZWxsX2dldF9kYXRhKCZjbC0+aGVhZGVyKSk7CisJCQljbC0+d2lkdGhfbWluID0gbWF4KGNsLT53aWR0aF9taW4sIGxlbik7CisJCX0KKwl9CisKKwlzY29sc19yZXNldF9pdGVyKCZpdHIsIFNDT0xTX0lURVJfRk9SV0FSRCk7CisJd2hpbGUgKHNjb2xzX3RhYmxlX25leHRfbGluZSh0YiwgJml0ciwgJmxuKSA9PSAwKSB7CisJCXNpemVfdCBsZW47CisJCWNoYXIgKmRhdGE7CisKKwkJcmMgPSBjZWxsX3RvX2J1ZmZlcih0YiwgbG4sIGNsLCBidWYpOworCQlpZiAocmMpCisJCQlnb3RvIGRvbmU7CisKKwkJZGF0YSA9IGJ1ZmZlcl9nZXRfZGF0YShidWYpOworCisJCWlmICghZGF0YSkKKwkJCWxlbiA9IDA7CisJCWVsc2UgaWYgKHNjb2xzX2NvbHVtbl9pc19jdXN0b213cmFwKGNsKSkKKwkJCWxlbiA9IGNsLT53cmFwX2NodW5rc2l6ZShjbCwgZGF0YSwgY2wtPndyYXBmdW5jX2RhdGEpOworCQllbHNlCisJCQlsZW4gPSBtYnNfc2FmZV93aWR0aChkYXRhKTsKKworCQlpZiAobGVuID09IChzaXplX3QpIC0xKQkJLyogaWdub3JlIGJyb2tlbiBtdWx0aWJ5dGUgc3RyaW5ncyAqLworCQkJbGVuID0gMDsKKwkJY2wtPndpZHRoX21heCA9IG1heChsZW4sIGNsLT53aWR0aF9tYXgpOworCisJCWlmIChjbC0+aXNfZXh0cmVtZSAmJiBsZW4gPiBjbC0+d2lkdGhfYXZnICogMikKKwkJCWNvbnRpbnVlOworCQllbHNlIGlmIChzY29sc19jb2x1bW5faXNfbm9leHRyZW1lcyhjbCkpIHsKKwkJCXN1bSArPSBsZW47CisJCQljb3VudCsrOworCQl9CisJCWNsLT53aWR0aCA9IG1heChsZW4sIGNsLT53aWR0aCk7CisJCWlmIChzY29sc19jb2x1bW5faXNfdHJlZShjbCkpIHsKKwkJCXNpemVfdCB0cmVld2lkdGggPSBidWZmZXJfZ2V0X3NhZmVfYXJ0X3NpemUoYnVmKTsKKwkJCWNsLT53aWR0aF90cmVlYXJ0ID0gbWF4KGNsLT53aWR0aF90cmVlYXJ0LCB0cmVld2lkdGgpOworCQl9CisJfQorCisJaWYgKGNvdW50ICYmIGNsLT53aWR0aF9hdmcgPT0gMCkgeworCQljbC0+d2lkdGhfYXZnID0gc3VtIC8gY291bnQ7CisJCWlmIChjbC0+d2lkdGhfbWF4ID4gY2wtPndpZHRoX2F2ZyAqIDIpCisJCQljbC0+aXNfZXh0cmVtZSA9IDE7CisJfQorCisJLyogZW5sYXJnZSB0byBtaW5pbWFsIHdpZHRoICovCisJaWYgKGNsLT53aWR0aCA8IGNsLT53aWR0aF9taW4gJiYgIXNjb2xzX2NvbHVtbl9pc19zdHJpY3Rfd2lkdGgoY2wpKQorCQljbC0+d2lkdGggPSBjbC0+d2lkdGhfbWluOworCisJLyogdXNlIGFic29sdXRlIHNpemUgZm9yIGxhcmdlIGNvbHVtbnMgKi8KKwllbHNlIGlmIChjbC0+d2lkdGhfaGludCA+PSAxICYmIGNsLT53aWR0aCA8IChzaXplX3QpIGNsLT53aWR0aF9oaW50CisJCSAmJiBjbC0+d2lkdGhfbWluIDwgKHNpemVfdCkgY2wtPndpZHRoX2hpbnQpCisKKwkJY2wtPndpZHRoID0gKHNpemVfdCkgY2wtPndpZHRoX2hpbnQ7CisKK2RvbmU6CisJT05fREJHKENPTCwgZGJnX2NvbHVtbih0YiwgY2wpKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBUaGlzIGlzIGNvcmUgb2YgdGhlIHNjb2xzXyogdm9vZG9vLi4uCisgKi8KK3N0YXRpYyBpbnQgcmVjb3VudF93aWR0aHMoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yiwgc3RydWN0IGxpYnNjb2xzX2J1ZmZlciAqYnVmKQoreworCXN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsOworCXN0cnVjdCBsaWJzY29sc19pdGVyIGl0cjsKKwlzaXplX3Qgd2lkdGggPSAwLCB3aWR0aF9taW4gPSAwOwkvKiBvdXRwdXQgd2lkdGggKi8KKwlpbnQgdHJ1bmNfb25seSwgcmMgPSAwOworCWludCBleHRyZW1lcyA9IDA7CisKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAicmVjb3VudGluZyB3aWR0aHMgKHRlcm13aWR0aD0lenUpIiwgdGItPnRlcm13aWR0aCkpOworCisJLyogc2V0IGJhc2ljIGNvbHVtbnMgd2lkdGgKKwkgKi8KKwlzY29sc19yZXNldF9pdGVyKCZpdHIsIFNDT0xTX0lURVJfRk9SV0FSRCk7CisJd2hpbGUgKHNjb2xzX3RhYmxlX25leHRfY29sdW1uKHRiLCAmaXRyLCAmY2wpID09IDApIHsKKwkJaW50IGlzX2xhc3Q7CisKKwkJaWYgKHNjb2xzX2NvbHVtbl9pc19oaWRkZW4oY2wpKQorCQkJY29udGludWU7CisJCXJjID0gY291bnRfY29sdW1uX3dpZHRoKHRiLCBjbCwgYnVmKTsKKwkJaWYgKHJjKQorCQkJZ290byBkb25lOworCisJCWlzX2xhc3QgPSBpc19sYXN0X2NvbHVtbihjbCk7CisKKwkJd2lkdGggKz0gY2wtPndpZHRoICsgKGlzX2xhc3QgPyAwIDogMSk7CQkvKiBzZXBhcmF0b3IgZm9yIG5vbi1sYXN0IGNvbHVtbiAqLworCQl3aWR0aF9taW4gKz0gY2wtPndpZHRoX21pbiArIChpc19sYXN0ID8gMCA6IDEpOworCQlleHRyZW1lcyArPSBjbC0+aXNfZXh0cmVtZTsKKwl9CisKKwlpZiAoIXRiLT5pc190ZXJtKSB7CisJCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiIG5vbi10ZXJtaW5hbCBvdXRwdXQiKSk7CisJCWdvdG8gZG9uZTsKKwl9CisKKwkvKiBiZSBwYXJhbm9pZCAqLworCWlmICh3aWR0aF9taW4gPiB0Yi0+dGVybXdpZHRoICYmIHNjb2xzX3RhYmxlX2lzX21heG91dCh0YikpIHsKKwkJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICIgbWluIHdpZHRoIGxhcmdlciB0aGFuIHRlcm1pbmFsISBbd2lkdGg9JXp1LCB0ZXJtPSV6dV0iLCB3aWR0aF9taW4sIHRiLT50ZXJtd2lkdGgpKTsKKworCQlzY29sc19yZXNldF9pdGVyKCZpdHIsIFNDT0xTX0lURVJfRk9SV0FSRCk7CisJCXdoaWxlICh3aWR0aF9taW4gPiB0Yi0+dGVybXdpZHRoCisJCSAgICAgICAmJiBzY29sc190YWJsZV9uZXh0X2NvbHVtbih0YiwgJml0ciwgJmNsKSA9PSAwKSB7CisJCQlpZiAoc2NvbHNfY29sdW1uX2lzX2hpZGRlbihjbCkpCisJCQkJY29udGludWU7CisJCQl3aWR0aF9taW4tLTsKKwkJCWNsLT53aWR0aF9taW4tLTsKKwkJfQorCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIiBtaW4gd2lkdGggcmVkdWNlZCB0byAlenUiLCB3aWR0aF9taW4pKTsKKwl9CisKKwkvKiByZWR1Y2UgY29sdW1ucyB3aXRoIGV4dHJlbWUgZmllbGRzICovCisJaWYgKHdpZHRoID4gdGItPnRlcm13aWR0aCAmJiBleHRyZW1lcykgeworCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIiByZWR1Y2Ugd2lkdGggKGV4dHJlbWUgY29sdW1ucykiKSk7CisKKwkJc2NvbHNfcmVzZXRfaXRlcigmaXRyLCBTQ09MU19JVEVSX0ZPUldBUkQpOworCQl3aGlsZSAoc2NvbHNfdGFibGVfbmV4dF9jb2x1bW4odGIsICZpdHIsICZjbCkgPT0gMCkgeworCQkJc2l6ZV90IG9yZ193aWR0aDsKKworCQkJaWYgKCFjbC0+aXNfZXh0cmVtZSB8fCBzY29sc19jb2x1bW5faXNfaGlkZGVuKGNsKSkKKwkJCQljb250aW51ZTsKKworCQkJb3JnX3dpZHRoID0gY2wtPndpZHRoOworCQkJcmMgPSBjb3VudF9jb2x1bW5fd2lkdGgodGIsIGNsLCBidWYpOworCQkJaWYgKHJjKQorCQkJCWdvdG8gZG9uZTsKKworCQkJaWYgKG9yZ193aWR0aCA+IGNsLT53aWR0aCkKKwkJCQl3aWR0aCAtPSBvcmdfd2lkdGggLSBjbC0+d2lkdGg7CisJCQllbHNlCisJCQkJZXh0cmVtZXMtLTsJLyogaG1tLi4uIG5vdGhpbmcgcmVkdWNlZCAqLworCQl9CisJfQorCisJaWYgKHdpZHRoIDwgdGItPnRlcm13aWR0aCkgeworCQlpZiAoZXh0cmVtZXMpIHsKKwkJCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiIGVubGFyZ2Ugd2lkdGggKGV4dHJlbWUgY29sdW1ucykiKSk7CisKKwkJCS8qIGVubGFyZ2UgdGhlIGZpcnN0IGV4dHJlbWUgY29sdW1uICovCisJCQlzY29sc19yZXNldF9pdGVyKCZpdHIsIFNDT0xTX0lURVJfRk9SV0FSRCk7CisJCQl3aGlsZSAoc2NvbHNfdGFibGVfbmV4dF9jb2x1bW4odGIsICZpdHIsICZjbCkgPT0gMCkgeworCQkJCXNpemVfdCBhZGQ7CisKKwkJCQlpZiAoIWNsLT5pc19leHRyZW1lIHx8IHNjb2xzX2NvbHVtbl9pc19oaWRkZW4oY2wpKQorCQkJCQljb250aW51ZTsKKworCQkJCS8qIHRoaXMgY29sdW1uIGlzIHRvbyBsYXJnZSwgaWdub3JlPworCQkJCWlmIChjbC0+d2lkdGhfbWF4IC0gY2wtPndpZHRoID4KKwkJCQkJCSh0Yi0+dGVybXdpZHRoIC0gd2lkdGgpKQorCQkJCQljb250aW51ZTsKKwkJCQkqLworCisJCQkJYWRkID0gdGItPnRlcm13aWR0aCAtIHdpZHRoOworCQkJCWlmIChhZGQgJiYgY2wtPndpZHRoICsgYWRkID4gY2wtPndpZHRoX21heCkKKwkJCQkJYWRkID0gY2wtPndpZHRoX21heCAtIGNsLT53aWR0aDsKKworCQkJCWNsLT53aWR0aCArPSBhZGQ7CisJCQkJd2lkdGggKz0gYWRkOworCisJCQkJaWYgKHdpZHRoID09IHRiLT50ZXJtd2lkdGgpCisJCQkJCWJyZWFrOworCQkJfQorCQl9CisKKwkJaWYgKHdpZHRoIDwgdGItPnRlcm13aWR0aCAmJiBzY29sc190YWJsZV9pc19tYXhvdXQodGIpKSB7CisJCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIiBlbmxhcmdlIHdpZHRoIChtYXgtb3V0KSIpKTsKKworCQkJLyogdHJ5IGVubGFyZ2luZyBhbGwgY29sdW1ucyAqLworCQkJd2hpbGUgKHdpZHRoIDwgdGItPnRlcm13aWR0aCkgeworCQkJCXNjb2xzX3Jlc2V0X2l0ZXIoJml0ciwgU0NPTFNfSVRFUl9GT1JXQVJEKTsKKwkJCQl3aGlsZSAoc2NvbHNfdGFibGVfbmV4dF9jb2x1bW4odGIsICZpdHIsICZjbCkgPT0gMCkgeworCQkJCQlpZiAoc2NvbHNfY29sdW1uX2lzX2hpZGRlbihjbCkpCisJCQkJCQljb250aW51ZTsKKwkJCQkJY2wtPndpZHRoKys7CisJCQkJCXdpZHRoKys7CisJCQkJCWlmICh3aWR0aCA9PSB0Yi0+dGVybXdpZHRoKQorCQkJCQkJYnJlYWs7CisJCQkJfQorCQkJfQorCQl9IGVsc2UgaWYgKHdpZHRoIDwgdGItPnRlcm13aWR0aCkgeworCQkJLyogZW5sYXJnZSB0aGUgbGFzdCBjb2x1bW4gKi8KKwkJCXN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNvbCA9IGxpc3RfZW50cnkoCisJCQkJdGItPnRiX2NvbHVtbnMucHJldiwgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiwgY2xfY29sdW1ucyk7CisKKwkJCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiIGVubGFyZ2Ugd2lkdGggKGxhc3QgY29sdW1uKSIpKTsKKworCQkJaWYgKCFzY29sc19jb2x1bW5faXNfcmlnaHQoY29sKSAmJiB0Yi0+dGVybXdpZHRoIC0gd2lkdGggPiAwKSB7CisJCQkJY29sLT53aWR0aCArPSB0Yi0+dGVybXdpZHRoIC0gd2lkdGg7CisJCQkJd2lkdGggPSB0Yi0+dGVybXdpZHRoOworCQkJfQorCQl9CisJfQorCisJLyogYmFkLCB3ZSBoYXZlIHRvIHJlZHVjZSBvdXRwdXQgd2lkdGgsIHRoaXMgaXMgZG9uZSBpbiB0d28gc3RlcHM6CisJICogMSkgcmVkdWNlIGNvbHVtbnMgd2l0aCBhIHJlbGF0aXZlIHdpZHRoIGFuZCB3aXRoIHRydW5jYXRlIGZsYWcKKwkgKiAyKSByZWR1Y2UgY29sdW1ucyB3aXRoIGEgcmVsYXRpdmUgd2lkdGggd2l0aG91dCB0cnVuY2F0ZSBmbGFnCisJICovCisJdHJ1bmNfb25seSA9IDE7CisJd2hpbGUgKHdpZHRoID4gdGItPnRlcm13aWR0aCkgeworCQlzaXplX3Qgb3JnID0gd2lkdGg7CisKKwkJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICIgcmVkdWNlIHdpZHRoIChjdXJyZW50PSV6dSwgIgorCQkJCQkgIndhbnRlZD0lenUsIG1vZGU9JXMpIiwKKwkJCQkJd2lkdGgsIHRiLT50ZXJtd2lkdGgsCisJCQkJCXRydW5jX29ubHkgPyAidHJ1bmMtb25seSIgOiAiYWxsLXJlbGF0aXZlIikpOworCisJCXNjb2xzX3Jlc2V0X2l0ZXIoJml0ciwgU0NPTFNfSVRFUl9GT1JXQVJEKTsKKwkJd2hpbGUgKHNjb2xzX3RhYmxlX25leHRfY29sdW1uKHRiLCAmaXRyLCAmY2wpID09IDApIHsKKworCQkJREJHKFRBQiwgdWxfZGVidWdvYmooY2wsICIgIGNoZWNraW5nICVzICh3aWR0aD0lenUsIHRyZWVhcnQ9JXp1KSIsCisJCQkJCQljbC0+aGVhZGVyLmRhdGEsIGNsLT53aWR0aCwgY2wtPndpZHRoX3RyZWVhcnQpKTsKKwkJCWlmIChzY29sc19jb2x1bW5faXNfaGlkZGVuKGNsKSkKKwkJCQljb250aW51ZTsKKwkJCWlmICh3aWR0aCA8PSB0Yi0+dGVybXdpZHRoKQorCQkJCWJyZWFrOworCQkJaWYgKGNsLT53aWR0aF9oaW50ID4gMSAmJiAhc2NvbHNfY29sdW1uX2lzX3RydW5jKGNsKSkKKwkJCQljb250aW51ZTsJLyogbmV2ZXIgdHJ1bmNhdGUgY29sdW1ucyB3aXRoIGFic29sdXRlIHNpemVzICovCisJCQlpZiAoc2NvbHNfY29sdW1uX2lzX3RyZWUoY2wpICYmIHdpZHRoIDw9IGNsLT53aWR0aF90cmVlYXJ0KQorCQkJCWNvbnRpbnVlOwkvKiBuZXZlciB0cnVuY2F0ZSB0aGUgdHJlZSAqLworCQkJaWYgKHRydW5jX29ubHkgJiYgIShzY29sc19jb2x1bW5faXNfdHJ1bmMoY2wpIHx8CisJCQkJCShzY29sc19jb2x1bW5faXNfd3JhcChjbCkgJiYgIXNjb2xzX2NvbHVtbl9pc19jdXN0b213cmFwKGNsKSkpKQorCQkJCWNvbnRpbnVlOworCQkJaWYgKGNsLT53aWR0aCA9PSBjbC0+d2lkdGhfbWluKQorCQkJCWNvbnRpbnVlOworCisJCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIiAgdHJ5aW5nIHRvIHJlZHVjZTogJXMgKHdpZHRoPSV6dSkiLCBjbC0+aGVhZGVyLmRhdGEsIGNsLT53aWR0aCkpOworCisJCQkvKiB0cnVuY2F0ZSBjb2x1bW4gd2l0aCByZWxhdGl2ZSBzaXplcyAqLworCQkJaWYgKGNsLT53aWR0aF9oaW50IDwgMSAmJiBjbC0+d2lkdGggPiAwICYmIHdpZHRoID4gMCAmJgorCQkJICAgIGNsLT53aWR0aCA+PSAoc2l6ZV90KSAoY2wtPndpZHRoX2hpbnQgKiB0Yi0+dGVybXdpZHRoKSkgeworCQkJCWNsLT53aWR0aC0tOworCQkJCXdpZHRoLS07CisJCQl9CisKKwkJCS8qIHRydW5jYXRlIGNvbHVtbiB3aXRoIGFic29sdXRlIHNpemUgKi8KKwkJCWlmIChjbC0+d2lkdGhfaGludCA+IDEgJiYgY2wtPndpZHRoID4gMCAmJiB3aWR0aCA+IDAgJiYKKwkJCSAgICAhdHJ1bmNfb25seSkgeworCQkJCWNsLT53aWR0aC0tOworCQkJCXdpZHRoLS07CisJCQl9CisJCX0KKwkJaWYgKG9yZyA9PSB3aWR0aCkgeworCQkJaWYgKHRydW5jX29ubHkpCisJCQkJdHJ1bmNfb25seSA9IDA7CisJCQllbHNlCisJCQkJYnJlYWs7CisJCX0KKwl9CisKKwkvKiBpZ25vcmUgbGFzdCBjb2x1bW4ocykgb3IgZm9yY2UgbGFzdCBjb2x1bW4gdG8gYmUgdHJ1bmNhdGVkIGlmCisJICogbm93cmFwIG1vZGUgZW5hYmxlZCAqLworCWlmICh0Yi0+bm9fd3JhcCAmJiB3aWR0aCA+IHRiLT50ZXJtd2lkdGgpIHsKKwkJc2NvbHNfcmVzZXRfaXRlcigmaXRyLCBTQ09MU19JVEVSX0JBQ0tXQVJEKTsKKwkJd2hpbGUgKHNjb2xzX3RhYmxlX25leHRfY29sdW1uKHRiLCAmaXRyLCAmY2wpID09IDApIHsKKworCQkJaWYgKHNjb2xzX2NvbHVtbl9pc19oaWRkZW4oY2wpKQorCQkJCWNvbnRpbnVlOworCQkJaWYgKHdpZHRoIDw9IHRiLT50ZXJtd2lkdGgpCisJCQkJYnJlYWs7CisJCQlpZiAod2lkdGggLSBjbC0+d2lkdGggPCB0Yi0+dGVybXdpZHRoKSB7CisJCQkJc2l6ZV90IHIgPSAgd2lkdGggLSB0Yi0+dGVybXdpZHRoOworCisJCQkJY2wtPmZsYWdzIHw9IFNDT0xTX0ZMX1RSVU5DOworCQkJCWNsLT53aWR0aCAtPSByOworCQkJCXdpZHRoIC09IHI7CisJCQl9IGVsc2UgeworCQkJCWNsLT5mbGFncyB8PSBTQ09MU19GTF9ISURERU47CisJCQkJd2lkdGggLT0gY2wtPndpZHRoICsgMTsJCS8qICsxIG1lYW5zIHNlcGFyYXRvciBiZXR3ZWVuIGNvbHVtbnMgKi8KKwkJCX0KKwkJfQorCX0KK2RvbmU6CisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICIgZmluYWwgd2lkdGg6ICV6dSAocmM9JWQpIiwgd2lkdGgsIHJjKSk7CisJT05fREJHKFRBQiwgZGJnX2NvbHVtbnModGIpKTsKKworCXJldHVybiByYzsKK30KKworc3RhdGljIHNpemVfdCBzdHJsZW5fbGluZShzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4pCit7CisJc2l6ZV90IGksIHN6ID0gMDsKKworCWFzc2VydChsbik7CisKKwlmb3IgKGkgPSAwOyBpIDwgbG4tPm5jZWxsczsgaSsrKSB7CisJCXN0cnVjdCBsaWJzY29sc19jZWxsICpjZSA9IHNjb2xzX2xpbmVfZ2V0X2NlbGwobG4sIGkpOworCQljb25zdCBjaGFyICpkYXRhID0gY2UgPyBzY29sc19jZWxsX2dldF9kYXRhKGNlKSA6IE5VTEw7CisKKwkJc3ogKz0gZGF0YSA/IHN0cmxlbihkYXRhKSA6IDA7CisJfQorCisJcmV0dXJuIHN6OworfQorCitzdGF0aWMgdm9pZCBjbGVhbnVwX3ByaW50aW5nKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIHN0cnVjdCBsaWJzY29sc19idWZmZXIgKmJ1ZikKK3sKKwlpZiAoIXRiKQorCQlyZXR1cm47CisKKwlmcmVlX2J1ZmZlcihidWYpOworCisJaWYgKHRiLT5wcml2X3N5bWJvbHMpIHsKKwkJc2NvbHNfdGFibGVfc2V0X3N5bWJvbHModGIsIE5VTEwpOworCQl0Yi0+cHJpdl9zeW1ib2xzID0gMDsKKwl9Cit9CisKK3N0YXRpYyBpbnQgaW5pdGlhbGl6ZV9wcmludGluZyhzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBzdHJ1Y3QgbGlic2NvbHNfYnVmZmVyICoqYnVmKQoreworCXNpemVfdCBidWZzeiwgZXh0cmFfYnVmc3ogPSAwOworCXN0cnVjdCBsaWJzY29sc19saW5lICpsbjsKKwlzdHJ1Y3QgbGlic2NvbHNfaXRlciBpdHI7CisJaW50IHJjOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJpbml0aWFsaXplIHByaW50aW5nIikpOworCisJaWYgKCF0Yi0+c3ltYm9scykgeworCQlzY29sc190YWJsZV9zZXRfZGVmYXVsdF9zeW1ib2xzKHRiKTsKKwkJdGItPnByaXZfc3ltYm9scyA9IDE7CisJfSBlbHNlCisJCXRiLT5wcml2X3N5bWJvbHMgPSAwOworCisJaWYgKHRiLT5mb3JtYXQgPT0gU0NPTFNfRk1UX0hVTUFOKQorCQl0Yi0+aXNfdGVybSA9IHRiLT50ZXJtZm9yY2UgPT0gU0NPTFNfVEVSTUZPUkNFX05FVkVSICA/IDAgOgorCQkJICAgICAgdGItPnRlcm1mb3JjZSA9PSBTQ09MU19URVJNRk9SQ0VfQUxXQVlTID8gMSA6CisJCQkgICAgICBpc2F0dHkoU1RET1VUX0ZJTEVOTyk7CisKKwlpZiAodGItPmlzX3Rlcm0pIHsKKwkJc2l6ZV90IHdpZHRoID0gKHNpemVfdCkgc2NvbHNfdGFibGVfZ2V0X3Rlcm13aWR0aCh0Yik7CisKKwkJaWYgKHRiLT50ZXJtcmVkdWNlID4gMCAmJiB0Yi0+dGVybXJlZHVjZSA8IHdpZHRoKSB7CisJCQl3aWR0aCAtPSB0Yi0+dGVybXJlZHVjZTsKKwkJCXNjb2xzX3RhYmxlX3NldF90ZXJtd2lkdGgodGIsIHdpZHRoKTsKKwkJfQorCQlidWZzeiA9IHdpZHRoOworCX0gZWxzZQorCQlidWZzeiA9IEJVRlNJWjsKKworCS8qCisJICogRXN0aW1hdGUgZXh0cmEgc3BhY2UgbmVjZXNzYXJ5IGZvciB0cmVlLCBKU09OIG9yIGFub3RoZXIgb3V0cHV0CisJICogZGVjb3JhdGlvbi4KKwkgKi8KKwlpZiAoc2NvbHNfdGFibGVfaXNfdHJlZSh0YikpCisJCWV4dHJhX2J1ZnN6ICs9IHRiLT5ubGluZXMgKiBzdHJsZW4odmVydGljYWxfc3ltYm9sKHRiKSk7CisKKwlzd2l0Y2ggKHRiLT5mb3JtYXQpIHsKKwljYXNlIFNDT0xTX0ZNVF9SQVc6CisJCWV4dHJhX2J1ZnN6ICs9IHRiLT5uY29sczsJCQkvKiBzZXBhcmF0b3IgYmV0d2VlbiBjb2x1bW5zICovCisJCWJyZWFrOworCWNhc2UgU0NPTFNfRk1UX0pTT046CisJCWlmICh0Yi0+Zm9ybWF0ID09IFNDT0xTX0ZNVF9KU09OKQorCQkJZXh0cmFfYnVmc3ogKz0gdGItPm5saW5lcyAqIDM7CQkvKiBpbmRlbnRpb24gKi8KKwkJLyogZmFsbHRocm91Z2ggKi8KKwljYXNlIFNDT0xTX0ZNVF9FWFBPUlQ6CisJeworCQlzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbDsKKworCQlzY29sc19yZXNldF9pdGVyKCZpdHIsIFNDT0xTX0lURVJfRk9SV0FSRCk7CisKKwkJd2hpbGUgKHNjb2xzX3RhYmxlX25leHRfY29sdW1uKHRiLCAmaXRyLCAmY2wpID09IDApIHsKKwkJCWlmIChzY29sc19jb2x1bW5faXNfaGlkZGVuKGNsKSkKKwkJCQljb250aW51ZTsKKwkJCWV4dHJhX2J1ZnN6ICs9IHN0cmxlbihzY29sc19jZWxsX2dldF9kYXRhKCZjbC0+aGVhZGVyKSk7CS8qIGRhdGEgKi8KKwkJCWV4dHJhX2J1ZnN6ICs9IDI7CQkJCQkJLyogc2VwYXJhdG9ycyAqLworCQl9CisJCWJyZWFrOworCX0KKwljYXNlIFNDT0xTX0ZNVF9IVU1BTjoKKwkJYnJlYWs7CisJfQorCisJLyoKKwkgKiBFbmxhcmdlIGJ1ZmZlciBpZiBuZWNlc3NhcnksIHRoZSBidWZmZXIgc2hvdWxkIGJlIGxhcmdlIGVub3VnaCB0bworCSAqIHN0b3JlIGxpbmUgZGF0YSBhbmQgdHJlZSBhc2NpaSBhcnQgKG9yIGFub3RoZXIgZGVjb3JhdGlvbikuCisJICovCisJc2NvbHNfcmVzZXRfaXRlcigmaXRyLCBTQ09MU19JVEVSX0ZPUldBUkQpOworCXdoaWxlIChzY29sc190YWJsZV9uZXh0X2xpbmUodGIsICZpdHIsICZsbikgPT0gMCkgeworCQlzaXplX3Qgc3o7CisKKwkJc3ogPSBzdHJsZW5fbGluZShsbikgKyBleHRyYV9idWZzejsKKwkJaWYgKHN6ID4gYnVmc3opCisJCQlidWZzeiA9IHN6OworCX0KKworCSpidWYgPSBuZXdfYnVmZmVyKGJ1ZnN6ICsgMSk7CS8qIGRhdGEgKyBzcGFjZSBmb3IgXDAgKi8KKwlpZiAoISpidWYpIHsKKwkJcmMgPSAtRU5PTUVNOworCQlnb3RvIGVycjsKKwl9CisKKwlpZiAodGItPmZvcm1hdCA9PSBTQ09MU19GTVRfSFVNQU4pIHsKKwkJcmMgPSByZWNvdW50X3dpZHRocyh0YiwgKmJ1Zik7CisJCWlmIChyYyAhPSAwKQorCQkJZ290byBlcnI7CisJfQorCisJcmV0dXJuIDA7CitlcnI6CisJY2xlYW51cF9wcmludGluZyh0YiwgKmJ1Zik7CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIHNjb2xhX3RhYmxlX3ByaW50X3JhbmdlOgorICogQHRiOiB0YWJsZQorICogQHN0YXJ0OiBmaXJzdCBwcmludGVkIGxpbmUgb3IgTlVMTCB0byBwcmludCBmcm9tIHRoZSBiZWdpbiBvZiB0aGUgdGFibGUKKyAqIEBlbmQ6IGxhc3QgcHJpbnRlZCBsaW5lIG9yIE5VTEwgdG8gcHJpbnQgYWxsIGZyb20gc3RhcnQuCisgKgorICogSWYgdGhlIHN0YXJ0IGlzIHRoZSBmaXJzdCBsaW5lIGluIHRoZSB0YWJsZSB0aGFuIHByaW50cyB0YWJsZSBoZWFkZXIgdG9vLgorICogVGhlIGhlYWRlciBpcyBwcmludGVkIG9ubHkgb25jZS4gVGhpcyBkb2VzIG5vdCB3b3JrIGZvciB0cmVlcy4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK2ludCBzY29sc190YWJsZV9wcmludF9yYW5nZSgJc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwKKwkJCQlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqc3RhcnQsCisJCQkJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmVuZCkKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfYnVmZmVyICpidWY7CisJc3RydWN0IGxpYnNjb2xzX2l0ZXIgaXRyOworCWludCByYzsKKworCWlmIChzY29sc190YWJsZV9pc190cmVlKHRiKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgInByaW50aW5nIHJhbmdlIikpOworCisJcmMgPSBpbml0aWFsaXplX3ByaW50aW5nKHRiLCAmYnVmKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCWlmIChzdGFydCkgeworCQlpdHIuZGlyZWN0aW9uID0gU0NPTFNfSVRFUl9GT1JXQVJEOworCQlpdHIuaGVhZCA9ICZ0Yi0+dGJfbGluZXM7CisJCWl0ci5wID0gJnN0YXJ0LT5sbl9saW5lczsKKwl9IGVsc2UKKwkJc2NvbHNfcmVzZXRfaXRlcigmaXRyLCBTQ09MU19JVEVSX0ZPUldBUkQpOworCisJaWYgKCFzdGFydCB8fCBpdHIucCA9PSB0Yi0+dGJfbGluZXMubmV4dCkgeworCQlyYyA9IHByaW50X2hlYWRlcih0YiwgYnVmKTsKKwkJaWYgKHJjKQorCQkJZ290byBkb25lOworCX0KKworCXJjID0gcHJpbnRfcmFuZ2UodGIsIGJ1ZiwgJml0ciwgZW5kKTsKK2RvbmU6CisJY2xlYW51cF9wcmludGluZyh0YiwgYnVmKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfcHJpbnRfcmFuZ2VfdG9fc3RyaW5nOgorICogQHRiOiB0YWJsZQorICogQHN0YXJ0OiBmaXJzdCBwcmludGVkIGxpbmUgb3IgTlVMTCB0byBwcmludCBmcm9tIHRoZSBiZWdnaW4gb2YgdGhlIHRhYmxlCisgKiBAZW5kOiBsYXN0IHByaW50ZWQgbGluZSBvciBOVUxMIHRvIHByaW50IGFsbCBmcm9tIHN0YXJ0LgorICogQGRhdGE6IHBvaW50ZXIgdG8gdGhlIGJlZ2lubmluZyBvZiBhIG1lbW9yeSBhcmVhIHRvIHByaW50IHRvCisgKgorICogVGhlIHNhbWUgYXMgc2NvbHNfdGFibGVfcHJpbnRfcmFuZ2UoKSwgYnV0IHByaW50cyB0byBAZGF0YSBpbnN0ZWFkIG9mCisgKiBzdHJlYW0uCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfdGFibGVfcHJpbnRfcmFuZ2VfdG9fc3RyaW5nKAlzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLAorCQkJCQlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqc3RhcnQsCisJCQkJCXN0cnVjdCBsaWJzY29sc19saW5lICplbmQsCisJCQkJCWNoYXIgKipkYXRhKQoreworI2lmZGVmIEhBVkVfT1BFTl9NRU1TVFJFQU0KKwlGSUxFICpzdHJlYW0sICpvbGRfc3RyZWFtOworCXNpemVfdCBzejsKKwlpbnQgcmM7CisKKwlpZiAoIXRiKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAicHJpbnRpbmcgcmFuZ2UgdG8gc3RyaW5nIikpOworCisJLyogY3JlYXRlIGEgc3RyZWFtIGZvciBvdXRwdXQgKi8KKwlzdHJlYW0gPSBvcGVuX21lbXN0cmVhbShkYXRhLCAmc3opOworCWlmICghc3RyZWFtKQorCQlyZXR1cm4gLUVOT01FTTsKKworCW9sZF9zdHJlYW0gPSBzY29sc190YWJsZV9nZXRfc3RyZWFtKHRiKTsKKwlzY29sc190YWJsZV9zZXRfc3RyZWFtKHRiLCBzdHJlYW0pOworCXJjID0gc2NvbHNfdGFibGVfcHJpbnRfcmFuZ2UodGIsIHN0YXJ0LCBlbmQpOworCWZjbG9zZShzdHJlYW0pOworCXNjb2xzX3RhYmxlX3NldF9zdHJlYW0odGIsIG9sZF9zdHJlYW0pOworCisJcmV0dXJuIHJjOworI2Vsc2UKKwlyZXR1cm4gLUVOT1NZUzsKKyNlbmRpZgorfQorCitzdGF0aWMgaW50IF9fc2NvbHNfcHJpbnRfdGFibGUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwgaW50ICppc19lbXB0eSkKK3sKKwlpbnQgcmMgPSAwOworCXN0cnVjdCBsaWJzY29sc19idWZmZXIgKmJ1ZjsKKworCWlmICghdGIpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJwcmludGluZyIpKTsKKwlpZiAoaXNfZW1wdHkpCisJCSppc19lbXB0eSA9IDA7CisKKwlpZiAobGlzdF9lbXB0eSgmdGItPnRiX2NvbHVtbnMpKSB7CisJCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiZXJyb3IgLS0gbm8gY29sdW1ucyIpKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCWlmIChsaXN0X2VtcHR5KCZ0Yi0+dGJfbGluZXMpKSB7CisJCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiaWdub3JlIC0tIG5vIGxpbmVzIikpOworCQlpZiAoaXNfZW1wdHkpCisJCQkqaXNfZW1wdHkgPSAxOworCQlyZXR1cm4gMDsKKwl9CisKKwl0Yi0+aGVhZGVyX3ByaW50ZWQgPSAwOworCXJjID0gaW5pdGlhbGl6ZV9wcmludGluZyh0YiwgJmJ1Zik7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwlmcHV0X3RhYmxlX29wZW4odGIpOworCisJaWYgKHRiLT5mb3JtYXQgPT0gU0NPTFNfRk1UX0hVTUFOKQorCQlwcmludF90aXRsZSh0Yik7CisKKwlyYyA9IHByaW50X2hlYWRlcih0YiwgYnVmKTsKKwlpZiAocmMpCisJCWdvdG8gZG9uZTsKKworCWlmIChzY29sc190YWJsZV9pc190cmVlKHRiKSkKKwkJcmMgPSBwcmludF90cmVlKHRiLCBidWYpOworCWVsc2UKKwkJcmMgPSBwcmludF90YWJsZSh0YiwgYnVmKTsKKworCWZwdXRfdGFibGVfY2xvc2UodGIpOworZG9uZToKKwljbGVhbnVwX3ByaW50aW5nKHRiLCBidWYpOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBzY29sc19wcmludF90YWJsZToKKyAqIEB0YjogdGFibGUKKyAqCisgKiBQcmludHMgdGhlIHRhYmxlIHRvIHRoZSBvdXRwdXQgc3RyZWFtIGFuZCB0ZXJtaW5hdGUgYnkgXG4uCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfcHJpbnRfdGFibGUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwlpbnQgZW1wdHkgPSAwOworCWludCByYyA9IF9fc2NvbHNfcHJpbnRfdGFibGUodGIsICZlbXB0eSk7CisKKwlpZiAocmMgPT0gMCAmJiAhZW1wdHkpCisJCWZwdXRjKCdcbicsIHRiLT5vdXQpOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBzY29sc19wcmludF90YWJsZV90b19zdHJpbmc6CisgKiBAdGI6IHRhYmxlCisgKiBAZGF0YTogcG9pbnRlciB0byB0aGUgYmVnaW5uaW5nIG9mIGEgbWVtb3J5IGFyZWEgdG8gcHJpbnQgdG8KKyAqCisgKiBQcmludHMgdGhlIHRhYmxlIHRvIEBkYXRhLgorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX3ByaW50X3RhYmxlX3RvX3N0cmluZyhzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBjaGFyICoqZGF0YSkKK3sKKyNpZmRlZiBIQVZFX09QRU5fTUVNU1RSRUFNCisJRklMRSAqc3RyZWFtLCAqb2xkX3N0cmVhbTsKKwlzaXplX3Qgc3o7CisJaW50IHJjOworCisJaWYgKCF0YikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgInByaW50aW5nIHRvIHN0cmluZyIpKTsKKworCS8qIGNyZWF0ZSBhIHN0cmVhbSBmb3Igb3V0cHV0ICovCisJc3RyZWFtID0gb3Blbl9tZW1zdHJlYW0oZGF0YSwgJnN6KTsKKwlpZiAoIXN0cmVhbSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlvbGRfc3RyZWFtID0gc2NvbHNfdGFibGVfZ2V0X3N0cmVhbSh0Yik7CisJc2NvbHNfdGFibGVfc2V0X3N0cmVhbSh0Yiwgc3RyZWFtKTsKKwlyYyA9IF9fc2NvbHNfcHJpbnRfdGFibGUodGIsIE5VTEwpOworCWZjbG9zZShzdHJlYW0pOworCXNjb2xzX3RhYmxlX3NldF9zdHJlYW0odGIsIG9sZF9zdHJlYW0pOworCisJcmV0dXJuIHJjOworI2Vsc2UKKwlyZXR1cm4gLUVOT1NZUzsKKyNlbmRpZgorfQorCmRpZmYgLS1naXQgYS9saWJzbWFydGNvbHMvc3JjL3ZlcnNpb24uYyBiL2xpYnNtYXJ0Y29scy9zcmMvdmVyc2lvbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1OTJjY2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzbWFydGNvbHMvc3JjL3ZlcnNpb24uYwpAQCAtMCwwICsxLDYyIEBACisvKgorICogdmVyc2lvbi5jIC0gUmV0dXJuIHRoZSB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJ5CisgKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFNlZSBDT1BZSU5HLmxpYm1vdW50IGZvciB0aGUgTGljZW5zZSBvZiB0aGlzIHNvZnR3YXJlLgorICovCisKKy8qKgorICogU0VDVElPTjogdmVyc2lvbi11dGlscworICogQHRpdGxlOiBWZXJzaW9uIGZ1bmN0aW9ucworICogQHNob3J0X2Rlc2NyaXB0aW9uOiBmdW5jdGlvbnMgdG8gZ2V0IHRoZSBsaWJyYXJ5IHZlcnNpb24uCisgKgorICogTm90ZSB0aGF0IGxpYnJhcnkgdmVyc2lvbiBpcyBub3QgdGhlIHNhbWUgdGhpbmcgYXMgU09OQU1FIHZlcnNpb24uIFRoZQorICogbGlic21hcmNvbHMgdXNlcyBzeW1ib2xzIHZlcnNpb25pbmcgYW5kIFNPTkFNRSBpcyBub3QgbW9kaWZpZWQgZm9yIHJlbGVhc2VzLgorICoKKyAqIFRoZSBsaWJyYXJ5IHZlcnNpb24gYW5kIHN5bWJvbHMgdmVyc2lvbiBmb2xsb3cgdXRpbC1saW51eCBwYWNrYWdlIHZlcnNpb25pbmcuCisgKi8KKworI2luY2x1ZGUgPGN0eXBlLmg+CisKKyNpbmNsdWRlICJzbWFydGNvbHNQLmgiCisKK3N0YXRpYyBjb25zdCBjaGFyICpsaWJfdmVyc2lvbiA9IExJQlNNQVJUQ09MU19WRVJTSU9OOworCisvKioKKyAqIHNjb2xzX3BhcnNlX3ZlcnNpb25fc3RyaW5nOgorICogQHZlcl9zdHJpbmc6IHZlcnNpb24gc3RyaW5nIChlLmcgIjIuMTguMCIpCisgKgorICogUmV0dXJuczogcmVsZWFzZSB2ZXJzaW9uIGNvZGUuCisgKi8KK2ludCBzY29sc19wYXJzZV92ZXJzaW9uX3N0cmluZyhjb25zdCBjaGFyICp2ZXJfc3RyaW5nKQoreworCWNvbnN0IGNoYXIgKmNwOworCWludCB2ZXJzaW9uID0gMDsKKworCWFzc2VydCh2ZXJfc3RyaW5nKTsKKworCWZvciAoY3AgPSB2ZXJfc3RyaW5nOyAqY3A7IGNwKyspIHsKKwkJaWYgKCpjcCA9PSAnLicpCisJCQljb250aW51ZTsKKwkJaWYgKCFpc2RpZ2l0KCpjcCkpCisJCQlicmVhazsKKwkJdmVyc2lvbiA9ICh2ZXJzaW9uICogMTApICsgKCpjcCAtICcwJyk7CisJfQorCXJldHVybiB2ZXJzaW9uOworfQorCisvKioKKyAqIHNjb2xzX2dldF9saWJyYXJ5X3ZlcnNpb246CisgKiBAdmVyX3N0cmluZzogcmV0dXJuIHBvaW50ZXIgdG8gdGhlIHN0YXRpYyBsaWJyYXJ5IHZlcnNpb24gc3RyaW5nIGlmIG5vdCBOVUxMCisgKgorICogUmV0dXJuczogcmVsZWFzZSB2ZXJzaW9uIG51bWJlci4KKyAqLworaW50IHNjb2xzX2dldF9saWJyYXJ5X3ZlcnNpb24oY29uc3QgY2hhciAqKnZlcl9zdHJpbmcpCit7CisJaWYgKHZlcl9zdHJpbmcpCisJCSp2ZXJfc3RyaW5nID0gbGliX3ZlcnNpb247CisKKwlyZXR1cm4gc2NvbHNfcGFyc2VfdmVyc2lvbl9zdHJpbmcobGliX3ZlcnNpb24pOworfQorCmRpZmYgLS1naXQgYS9saWJ1dWlkL0NPUFlJTkcgYi9saWJ1dWlkL0NPUFlJTkcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGU5MDJjZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnV1aWQvQ09QWUlORwpAQCAtMCwwICsxLDUgQEAKK1RoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKK21vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1vZGlmaWVkIEJTRCBMaWNlbnNlLgorCitUaGUgY29tcGxldGUgdGV4dCBvZiB0aGUgbGljZW5zZSBpcyBhdmFpbGFibGUgaW4gdGhlCisuLi9Eb2N1bWVudGF0aW9uL2xpY2Vuc2VzL0NPUFlJTkcuQlNELTMgZmlsZS4KZGlmZiAtLWdpdCBhL2xpYnV1aWQvTWFrZW1vZHVsZS5hbSBiL2xpYnV1aWQvTWFrZW1vZHVsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNjZiZTVjCi0tLSAvZGV2L251bGwKKysrIGIvbGlidXVpZC9NYWtlbW9kdWxlLmFtCkBAIC0wLDAgKzEsMTAgQEAKK2lmIEJVSUxEX0xJQlVVSUQKKworaW5jbHVkZSBsaWJ1dWlkL21hbi9NYWtlbW9kdWxlLmFtCitpbmNsdWRlIGxpYnV1aWQvc3JjL01ha2Vtb2R1bGUuYW0KKworcGtnY29uZmlnX0RBVEEgKz0gbGlidXVpZC91dWlkLnBjCitQQVRIRklMRVMgICAgICArPSBsaWJ1dWlkL3V1aWQucGMKK0VYVFJBX0RJU1QgICAgICs9IGxpYnV1aWQvQ09QWUlORworCitlbmRpZiAjIEJVSUxEX0xJQlVVSUQKZGlmZiAtLWdpdCBhL2xpYnV1aWQvbWFuLy5naXRpZ25vcmUgYi9saWJ1dWlkL21hbi8uZ2l0aWdub3JlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5NTdhZDIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ1dWlkL21hbi8uZ2l0aWdub3JlCkBAIC0wLDAgKzEsMyBAQAordXVpZF9nZW5lcmF0ZV9yYW5kb20uMwordXVpZF9nZW5lcmF0ZV90aW1lLjMKK3V1aWRfZ2VuZXJhdGVfdGltZV9zYWZlLjMKZGlmZiAtLWdpdCBhL2xpYnV1aWQvbWFuL01ha2Vtb2R1bGUuYW0gYi9saWJ1dWlkL21hbi9NYWtlbW9kdWxlLmFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxMjg3ZDUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ1dWlkL21hbi9NYWtlbW9kdWxlLmFtCkBAIC0wLDAgKzEsMTQgQEAKKworZGlzdF9tYW5fTUFOUyArPSBcCisJbGlidXVpZC9tYW4vdXVpZC4zIFwKKwlsaWJ1dWlkL21hbi91dWlkX2NsZWFyLjMgXAorCWxpYnV1aWQvbWFuL3V1aWRfY29tcGFyZS4zIFwKKwlsaWJ1dWlkL21hbi91dWlkX2NvcHkuMyBcCisJbGlidXVpZC9tYW4vdXVpZF9nZW5lcmF0ZS4zIFwKKwlsaWJ1dWlkL21hbi91dWlkX2lzX251bGwuMyBcCisJbGlidXVpZC9tYW4vdXVpZF9wYXJzZS4zIFwKKwlsaWJ1dWlkL21hbi91dWlkX3RpbWUuMyBcCisJbGlidXVpZC9tYW4vdXVpZF91bnBhcnNlLjMgXAorCWxpYnV1aWQvbWFuL3V1aWRfZ2VuZXJhdGVfcmFuZG9tLjMgXAorCWxpYnV1aWQvbWFuL3V1aWRfZ2VuZXJhdGVfdGltZS4zIFwKKwlsaWJ1dWlkL21hbi91dWlkX2dlbmVyYXRlX3RpbWVfc2FmZS4zCmRpZmYgLS1naXQgYS9saWJ1dWlkL21hbi91dWlkLjMgYi9saWJ1dWlkL21hbi91dWlkLjMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdiMDQ5OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnV1aWQvbWFuL3V1aWQuMwpAQCAtMCwwICsxLDY1IEBACisuXCIgQ29weXJpZ2h0IDE5OTkgQW5kcmVhcyBEaWxnZXIgKGFkaWxnZXJAZW5lbC51Y2FsZ2FyeS5jYSkKKy5cIgorLlwiICVCZWdpbi1IZWFkZXIlCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgYW5kIHRoZSBlbnRpcmUgcGVybWlzc2lvbiBub3RpY2UgaW4gaXRzIGVudGlyZXR5LAorLlwiICAgIGluY2x1ZGluZyB0aGUgZGlzY2xhaW1lciBvZiB3YXJyYW50aWVzLgorLlwiIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLlwiICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisuXCIgMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlCisuXCIgICAgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvcgorLlwiICAgIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy5cIgorLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVECisuXCIgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKy5cIiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBBTEwgT0YKKy5cIiBXSElDSCBBUkUgSEVSRUJZIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFCisuXCIgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorLlwiIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UCisuXCIgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SCisuXCIgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRgorLlwiIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorLlwiIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFCisuXCIgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgTk9UIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gKKy5cIiBEQU1BR0UuCisuXCIgJUVuZC1IZWFkZXIlCisuXCIKKy5cIiBDcmVhdGVkICBXZWQgTWFyIDEwIDE3OjQyOjEyIDE5OTksIEFuZHJlYXMgRGlsZ2VyCisuVEggVVVJRCAzICJNYXkgMjAwOSIgInV0aWwtbGludXgiICJMaWJ1dWlkIEFQSSIKKy5TSCBOQU1FCit1dWlkIFwtIERDRSBjb21wYXRpYmxlIFVuaXZlcnNhbGx5IFVuaXF1ZSBJZGVudGlmaWVyIGxpYnJhcnkKKy5TSCBTWU5PUFNJUworLkIgI2luY2x1ZGUgPHV1aWQuaD4KKy5TSCBERVNDUklQVElPTgorVGhlIFVVSUQgbGlicmFyeSBpcyB1c2VkIHRvIGdlbmVyYXRlIHVuaXF1ZSBpZGVudGlmaWVycyBmb3Igb2JqZWN0cwordGhhdCBtYXkgYmUgYWNjZXNzaWJsZSBiZXlvbmQgdGhlIGxvY2FsIHN5c3RlbS4gIFRoaXMgbGlicmFyeQorZ2VuZXJhdGVzIFVVSURzIGNvbXBhdGlibGUgd2l0aCB0aG9zZSBjcmVhdGVkIGJ5IHRoZSBPcGVuIFNvZnR3YXJlCitGb3VuZGF0aW9uIChPU0YpIERpc3RyaWJ1dGVkIENvbXB1dGluZyBFbnZpcm9ubWVudCAoRENFKSB1dGlsaXR5CisuQlIgdXVpZGdlbiAuCisuc3AKK1RoZSBVVUlEcyBnZW5lcmF0ZWQgYnkgdGhpcyBsaWJyYXJ5IGNhbiBiZSByZWFzb25hYmx5IGV4cGVjdGVkIHRvIGJlCit1bmlxdWUgd2l0aGluIGEgc3lzdGVtLCBhbmQgdW5pcXVlIGFjcm9zcyBhbGwgc3lzdGVtcy4gIFRoZXkgY291bGQKK2JlIHVzZWQsIGZvciBpbnN0YW5jZSwgdG8gZ2VuZXJhdGUgdW5pcXVlIEhUVFAgY29va2llcyBhY3Jvc3MgbXVsdGlwbGUKK3dlYiBzZXJ2ZXJzIHdpdGhvdXQgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIHRoZSBzZXJ2ZXJzLCBhbmQgd2l0aG91dCBmZWFyCitvZiBhIG5hbWUgY2xhc2guCisuU0ggIkNPTkZPUk1JTkcgVE8iCitPU0YgRENFIDEuMQorLlNIIEFVVEhPUgorVGhlb2RvcmUgWS5cJiBUcydvCisuU0ggQVZBSUxBQklMSVRZCisuQiBsaWJ1dWlkCitpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2Ugc2luY2UgdmVyc2lvbiAyLjE1LjEgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCisuU0ggIlNFRSBBTFNPIgorLkJSIHV1aWRfY2xlYXIgKDMpLAorLkJSIHV1aWRfY29tcGFyZSAoMyksCisuQlIgdXVpZF9jb3B5ICgzKSwKKy5CUiB1dWlkX2dlbmVyYXRlICgzKSwKKy5CUiB1dWlkX2lzX251bGwgKDMpLAorLkJSIHV1aWRfcGFyc2UgKDMpLAorLkJSIHV1aWRfdGltZSAoMyksCisuQlIgdXVpZF91bnBhcnNlICgzKQpkaWZmIC0tZ2l0IGEvbGlidXVpZC9tYW4vdXVpZF9jbGVhci4zIGIvbGlidXVpZC9tYW4vdXVpZF9jbGVhci4zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwZmNhMDIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ1dWlkL21hbi91dWlkX2NsZWFyLjMKQEAgLTAsMCArMSw2MiBAQAorLlwiIENvcHlyaWdodCAxOTk5IEFuZHJlYXMgRGlsZ2VyIChhZGlsZ2VyQGVuZWwudWNhbGdhcnkuY2EpCisuXCIKKy5cIiAlQmVnaW4tSGVhZGVyJQorLlwiIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorLlwiIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworLlwiIGFyZSBtZXQ6CisuXCIgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy5cIiAgICBub3RpY2UsIGFuZCB0aGUgZW50aXJlIHBlcm1pc3Npb24gbm90aWNlIGluIGl0cyBlbnRpcmV0eSwKKy5cIiAgICBpbmNsdWRpbmcgdGhlIGRpc2NsYWltZXIgb2Ygd2FycmFudGllcy4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZQorLlwiICAgIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3IKKy5cIiAgICB3cml0dGVuIHBlcm1pc3Npb24uCisuXCIKKy5cIiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRAorLlwiIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisuXCIgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgQUxMIE9GCisuXCIgV0hJQ0ggQVJFIEhFUkVCWSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRQorLlwiIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKy5cIiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVAorLlwiIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUgorLlwiIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YKKy5cIiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKy5cIiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRQorLlwiIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIE5PVCBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICisuXCIgREFNQUdFLgorLlwiICVFbmQtSGVhZGVyJQorLlwiCisuXCIgQ3JlYXRlZCAgV2VkIE1hciAxMCAxNzo0MjoxMiAxOTk5LCBBbmRyZWFzIERpbGdlcgorLlRIIFVVSURfQ0xFQVIgMyAiTWF5IDIwMDkiICJ1dGlsLWxpbnV4IiAiTGlidXVpZCBBUEkiCisuU0ggTkFNRQordXVpZF9jbGVhciBcLSByZXNldCB2YWx1ZSBvZiBVVUlEIHZhcmlhYmxlIHRvIHRoZSBOVUxMIHZhbHVlCisuU0ggU1lOT1BTSVMKKy5uZgorLkIgI2luY2x1ZGUgPHV1aWQuaD4KKy5zcAorLkJJICJ2b2lkIHV1aWRfY2xlYXIodXVpZF90ICIgdXUgKTsKKy5maQorLlNIIERFU0NSSVBUSU9OCitUaGUKKy5CIHV1aWRfY2xlYXIKK2Z1bmN0aW9uIHNldHMgdGhlIHZhbHVlIG9mIHRoZSBzdXBwbGllZCB1dWlkIHZhcmlhYmxlCisuSSB1dQordG8gdGhlIE5VTEwgdmFsdWUuCisuU0ggQVVUSE9SCitUaGVvZG9yZSBZLlwmIFRzJ28KKy5TSCBBVkFJTEFCSUxJVFkKKy5CIGxpYnV1aWQKK2lzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBzaW5jZSB2ZXJzaW9uIDIuMTUuMSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2Z0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KKy5uYQorLlNIICJTRUUgQUxTTyIKKy5CUiB1dWlkICgzKSwKKy5CUiB1dWlkX2NvbXBhcmUgKDMpLAorLkJSIHV1aWRfY29weSAoMyksCisuQlIgdXVpZF9nZW5lcmF0ZSAoMyksCisuQlIgdXVpZF9pc19udWxsICgzKSwKKy5CUiB1dWlkX3BhcnNlICgzKSwKKy5CUiB1dWlkX3VucGFyc2UgKDMpCisuYWQKZGlmZiAtLWdpdCBhL2xpYnV1aWQvbWFuL3V1aWRfY29tcGFyZS4zIGIvbGlidXVpZC9tYW4vdXVpZF9jb21wYXJlLjMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjkxMTgxYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnV1aWQvbWFuL3V1aWRfY29tcGFyZS4zCkBAIC0wLDAgKzEsNjggQEAKKy5cIiBDb3B5cmlnaHQgMTk5OSBBbmRyZWFzIERpbGdlciAoYWRpbGdlckBlbmVsLnVjYWxnYXJ5LmNhKQorLlwiCisuXCIgJUJlZ2luLUhlYWRlciUKKy5cIiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy5cIiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy5cIiBhcmUgbWV0OgorLlwiIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCBhbmQgdGhlIGVudGlyZSBwZXJtaXNzaW9uIG5vdGljZSBpbiBpdHMgZW50aXJldHksCisuXCIgICAgaW5jbHVkaW5nIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnRpZXMuCisuXCIgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy5cIiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisuXCIgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKy5cIiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUKKy5cIiAgICBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yCisuXCIgICAgd3JpdHRlbiBwZXJtaXNzaW9uLgorLlwiCisuXCIgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQKKy5cIiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworLlwiIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UsIEFMTCBPRgorLlwiIFdISUNIIEFSRSBIRVJFQlkgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUKKy5cIiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisuXCIgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQKKy5cIiBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IKKy5cIiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GCisuXCIgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisuXCIgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUKKy5cIiBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBOT1QgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSAorLlwiIERBTUFHRS4KKy5cIiAlRW5kLUhlYWRlciUKKy5cIgorLlwiIENyZWF0ZWQgIFdlZCBNYXIgMTAgMTc6NDI6MTIgMTk5OSwgQW5kcmVhcyBEaWxnZXIKKy5USCBVVUlEX0NPTVBBUkUgMyAiTWF5IDIwMDkiICJ1dGlsLWxpbnV4IiAiTGlidXVpZCBBUEkiCisuU0ggTkFNRQordXVpZF9jb21wYXJlIFwtIGNvbXBhcmUgd2hldGhlciB0d28gVVVJRHMgYXJlIHRoZSBzYW1lCisuU0ggU1lOT1BTSVMKKy5uZgorLkIgI2luY2x1ZGUgPHV1aWQuaD4KKy5zcAorLkJJICJpbnQgdXVpZF9jb21wYXJlKHV1aWRfdCAiIHV1MSAiLCB1dWlkX3QgIiB1dTIpCisuZmkKKy5TSCBERVNDUklQVElPTgorVGhlCisuQiB1dWlkX2NvbXBhcmUKK2Z1bmN0aW9uIGNvbXBhcmVzIHRoZSB0d28gc3VwcGxpZWQgdXVpZCB2YXJpYWJsZXMKKy5JUiB1dTEgIiBhbmQgIiB1dTIKK3RvIGVhY2ggb3RoZXIuCisuU0ggUkVUVVJOIFZBTFVFCitSZXR1cm5zIGFuIGludGVnZXIgbGVzcyB0aGFuLCBlcXVhbCB0bywgb3IgZ3JlYXRlciB0aGFuIHplcm8gaWYKKy5JIHV1MQoraXMgZm91bmQsICByZXNwZWN0aXZlbHksIHRvIGJlIGxleGljb2dyYXBoaWNhbGx5IGxlc3MgdGhhbiwgZXF1YWwsIG9yCitncmVhdGVyIHRoYW4KKy5JUiB1dTIgLgorLlNIIEFVVEhPUgorVGhlb2RvcmUgWS5cJiBUcydvCisuU0ggQVZBSUxBQklMSVRZCisuQiBsaWJ1dWlkCitpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2Ugc2luY2UgdmVyc2lvbiAyLjE1LjEgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCisubmEKKy5TSCAiU0VFIEFMU08iCisuQlIgdXVpZCAoMyksCisuQlIgdXVpZF9jbGVhciAoMyksCisuQlIgdXVpZF9jb3B5ICgzKSwKKy5CUiB1dWlkX2dlbmVyYXRlICgzKSwKKy5CUiB1dWlkX2lzX251bGwgKDMpLAorLkJSIHV1aWRfcGFyc2UgKDMpLAorLkJSIHV1aWRfdW5wYXJzZSAoMykKKy5hZApkaWZmIC0tZ2l0IGEvbGlidXVpZC9tYW4vdXVpZF9jb3B5LjMgYi9saWJ1dWlkL21hbi91dWlkX2NvcHkuMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MTU5ZmE2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlidXVpZC9tYW4vdXVpZF9jb3B5LjMKQEAgLTAsMCArMSw2NCBAQAorLlwiIENvcHlyaWdodCAxOTk5IEFuZHJlYXMgRGlsZ2VyIChhZGlsZ2VyQGVuZWwudWNhbGdhcnkuY2EpCisuXCIKKy5cIiAlQmVnaW4tSGVhZGVyJQorLlwiIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorLlwiIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworLlwiIGFyZSBtZXQ6CisuXCIgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy5cIiAgICBub3RpY2UsIGFuZCB0aGUgZW50aXJlIHBlcm1pc3Npb24gbm90aWNlIGluIGl0cyBlbnRpcmV0eSwKKy5cIiAgICBpbmNsdWRpbmcgdGhlIGRpc2NsYWltZXIgb2Ygd2FycmFudGllcy4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZQorLlwiICAgIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3IKKy5cIiAgICB3cml0dGVuIHBlcm1pc3Npb24uCisuXCIKKy5cIiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRAorLlwiIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisuXCIgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgQUxMIE9GCisuXCIgV0hJQ0ggQVJFIEhFUkVCWSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRQorLlwiIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKy5cIiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVAorLlwiIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUgorLlwiIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YKKy5cIiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKy5cIiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRQorLlwiIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIE5PVCBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICisuXCIgREFNQUdFLgorLlwiICVFbmQtSGVhZGVyJQorLlwiCisuXCIgQ3JlYXRlZCAgV2VkIE1hciAxMCAxNzo0MjoxMiAxOTk5LCBBbmRyZWFzIERpbGdlcgorLlRIIFVVSURfQ09QWSAzICJNYXkgMjAwOSIgInV0aWwtbGludXgiICJMaWJ1dWlkIEFQSSIKKy5TSCBOQU1FCit1dWlkX2NvcHkgXC0gY29weSBhIFVVSUQgdmFsdWUKKy5TSCBTWU5PUFNJUworLm5mCisuQiAjaW5jbHVkZSA8dXVpZC5oPgorLnNwCisuQkkgInZvaWQgdXVpZF9jb3B5KHV1aWRfdCAiIGRzdCAiLCB1dWlkX3QgIiBzcmMpOworLmZpCisuU0ggREVTQ1JJUFRJT04KK1RoZQorLkIgdXVpZF9jb3B5CitmdW5jdGlvbiBjb3BpZXMgdGhlIFVVSUQgdmFyaWFibGUKKy5JUiBzcmMgIiB0byAiIGRzdCAuCisuU0ggUkVUVVJOIFZBTFVFCitUaGUgY29waWVkIFVVSUQgaXMgcmV0dXJuZWQgaW4gdGhlIGxvY2F0aW9uIHBvaW50ZWQgdG8gYnkKKy5JUiBkc3QgLgorLlNIIEFVVEhPUgorVGhlb2RvcmUgWS5cJiBUcydvCisuU0ggQVZBSUxBQklMSVRZCisuQiBsaWJ1dWlkCitpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2Ugc2luY2UgdmVyc2lvbiAyLjE1LjEgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCisubmEKKy5TSCAiU0VFIEFMU08iCisuQlIgdXVpZCAoMyksCisuQlIgdXVpZF9jbGVhciAoMyksCisuQlIgdXVpZF9jb21wYXJlICgzKSwKKy5CUiB1dWlkX2dlbmVyYXRlICgzKSwKKy5CUiB1dWlkX2lzX251bGwgKDMpLAorLkJSIHV1aWRfcGFyc2UgKDMpLAorLkJSIHV1aWRfdW5wYXJzZSAoMykKKy5hZApkaWZmIC0tZ2l0IGEvbGlidXVpZC9tYW4vdXVpZF9nZW5lcmF0ZS4zIGIvbGlidXVpZC9tYW4vdXVpZF9nZW5lcmF0ZS4zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhY2MzNWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ1dWlkL21hbi91dWlkX2dlbmVyYXRlLjMKQEAgLTAsMCArMSwxMjYgQEAKKy5cIiBDb3B5cmlnaHQgMTk5OSBBbmRyZWFzIERpbGdlciAoYWRpbGdlckBlbmVsLnVjYWxnYXJ5LmNhKQorLlwiCisuXCIgJUJlZ2luLUhlYWRlciUKKy5cIiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy5cIiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy5cIiBhcmUgbWV0OgorLlwiIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCBhbmQgdGhlIGVudGlyZSBwZXJtaXNzaW9uIG5vdGljZSBpbiBpdHMgZW50aXJldHksCisuXCIgICAgaW5jbHVkaW5nIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnRpZXMuCisuXCIgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy5cIiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisuXCIgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKy5cIiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUKKy5cIiAgICBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yCisuXCIgICAgd3JpdHRlbiBwZXJtaXNzaW9uLgorLlwiCisuXCIgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQKKy5cIiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworLlwiIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UsIEFMTCBPRgorLlwiIFdISUNIIEFSRSBIRVJFQlkgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUKKy5cIiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisuXCIgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQKKy5cIiBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IKKy5cIiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GCisuXCIgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisuXCIgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUKKy5cIiBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBOT1QgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSAorLlwiIERBTUFHRS4KKy5cIiAlRW5kLUhlYWRlciUKKy5cIgorLlwiIENyZWF0ZWQgIFdlZCBNYXIgMTAgMTc6NDI6MTIgMTk5OSwgQW5kcmVhcyBEaWxnZXIKKy5USCBVVUlEX0dFTkVSQVRFIDMgIk1heSAyMDA5IiAidXRpbC1saW51eCIgIkxpYnV1aWQgQVBJIgorLlNIIE5BTUUKK3V1aWRfZ2VuZXJhdGUsIHV1aWRfZ2VuZXJhdGVfcmFuZG9tLCB1dWlkX2dlbmVyYXRlX3RpbWUsCit1dWlkX2dlbmVyYXRlX3RpbWVfc2FmZSBcLSBjcmVhdGUgYSBuZXcgdW5pcXVlIFVVSUQgdmFsdWUKKy5TSCBTWU5PUFNJUworLm5mCisuQiAjaW5jbHVkZSA8dXVpZC5oPgorLnNwCisuQkkgInZvaWQgdXVpZF9nZW5lcmF0ZSh1dWlkX3QgIiBvdXQgKTsKKy5CSSAidm9pZCB1dWlkX2dlbmVyYXRlX3JhbmRvbSh1dWlkX3QgIiBvdXQgKTsKKy5CSSAidm9pZCB1dWlkX2dlbmVyYXRlX3RpbWUodXVpZF90ICIgb3V0ICk7CisuQkkgImludCB1dWlkX2dlbmVyYXRlX3RpbWVfc2FmZSh1dWlkX3QgIiBvdXQgKTsKKy5maQorLlNIIERFU0NSSVBUSU9OCitUaGUKKy5CIHV1aWRfZ2VuZXJhdGUKK2Z1bmN0aW9uIGNyZWF0ZXMgYSBuZXcgdW5pdmVyc2FsbHkgdW5pcXVlIGlkZW50aWZpZXIgKFVVSUQpLiAgVGhlIHV1aWQgd2lsbAorYmUgZ2VuZXJhdGVkIGJhc2VkIG9uIGhpZ2gtcXVhbGl0eSByYW5kb21uZXNzIGZyb20KKy5JUiAvZGV2L3VyYW5kb20gLAoraWYgYXZhaWxhYmxlLiAgSWYgaXQgaXMgbm90IGF2YWlsYWJsZSwgdGhlbgorLkIgdXVpZF9nZW5lcmF0ZQord2lsbCB1c2UgYW4gYWx0ZXJuYXRpdmUgYWxnb3JpdGhtIHdoaWNoIHVzZXMgdGhlIGN1cnJlbnQgdGltZSwgdGhlCitsb2NhbCBldGhlcm5ldCBNQUMgYWRkcmVzcyAoaWYgYXZhaWxhYmxlKSwgYW5kIHJhbmRvbSBkYXRhIGdlbmVyYXRlZAordXNpbmcgYSBwc2V1ZG8tcmFuZG9tIGdlbmVyYXRvci4KKy5zcAorVGhlCisuQiB1dWlkX2dlbmVyYXRlX3JhbmRvbQorZnVuY3Rpb24gZm9yY2VzIHRoZSB1c2Ugb2YgdGhlIGFsbC1yYW5kb20gVVVJRCBmb3JtYXQsIGV2ZW4gaWYKK2EgaGlnaC1xdWFsaXR5IHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yIChpLmUuLAorLklSIC9kZXYvdXJhbmRvbSApCitpcyBub3QgYXZhaWxhYmxlLCBpbiB3aGljaCBjYXNlIGEgcHNldWRvLXJhbmRvbQorZ2VuZXJhdG9yIHdpbGwgYmUgc3Vic3RpdHV0ZWQuICBOb3RlIHRoYXQgdGhlIHVzZSBvZiBhIHBzZXVkby1yYW5kb20KK2dlbmVyYXRvciBtYXkgY29tcHJvbWlzZSB0aGUgdW5pcXVlbmVzcyBvZiBVVUlEcworZ2VuZXJhdGVkIGluIHRoaXMgZmFzaGlvbi4KKy5zcAorVGhlCisuQiB1dWlkX2dlbmVyYXRlX3RpbWUKK2Z1bmN0aW9uIGZvcmNlcyB0aGUgdXNlIG9mIHRoZSBhbHRlcm5hdGl2ZSBhbGdvcml0aG0gd2hpY2ggdXNlcyB0aGUKK2N1cnJlbnQgdGltZSBhbmQgdGhlIGxvY2FsIGV0aGVybmV0IE1BQyBhZGRyZXNzIChpZiBhdmFpbGFibGUpLgorVGhpcyBhbGdvcml0aG0gdXNlZCB0byBiZSB0aGUgZGVmYXVsdCBvbmUgdXNlZCB0byBnZW5lcmF0ZSBVVUlELCBidXQKK2JlY2F1c2Ugb2YgdGhlIHVzZSBvZiB0aGUgZXRoZXJuZXQgTUFDIGFkZHJlc3MsIGl0IGNhbiBsZWFrCitpbmZvcm1hdGlvbiBhYm91dCB3aGVuIGFuZCB3aGVyZSB0aGUgVVVJRCB3YXMgZ2VuZXJhdGVkLiAgVGhpcyBjYW4gY2F1c2UKK3ByaXZhY3kgcHJvYmxlbXMgaW4gc29tZSBhcHBsaWNhdGlvbnMsIHNvIHRoZQorLkIgdXVpZF9nZW5lcmF0ZQorZnVuY3Rpb24gb25seSB1c2VzIHRoaXMgYWxnb3JpdGhtIGlmIGEgaGlnaC1xdWFsaXR5IHNvdXJjZSBvZgorcmFuZG9tbmVzcyBpcyBub3QgYXZhaWxhYmxlLiAgVG8gZ3VhcmFudGVlIHVuaXF1ZW5lc3Mgb2YgVVVJRHMgZ2VuZXJhdGVkCitieSBjb25jdXJyZW50bHkgcnVubmluZyBwcm9jZXNzZXMsIHRoZSB1dWlkIGxpYnJhcnkgdXNlcyBnbG9iYWwKK2Nsb2NrIHN0YXRlIGNvdW50ZXIgKGlmIHRoZSBwcm9jZXNzIGhhcyBwZXJtaXNzaW9ucyB0byBnYWluIGV4Y2x1c2l2ZSBhY2Nlc3MKK3RvIHRoaXMgZmlsZSkgYW5kL29yIHRoZQorLkIgdXVpZGQKK2RhZW1vbiwgaWYgaXQgaXMgcnVubmluZyBhbHJlYWR5IG9yIGNhbiBiZSBzcGF3bmVkIGJ5IHRoZSBwcm9jZXNzIChpZgoraW5zdGFsbGVkIGFuZCB0aGUgcHJvY2VzcyBoYXMgZW5vdWdoIHBlcm1pc3Npb25zIHRvIHJ1biBpdCkuICBJZiBuZWl0aGVyIG9mCit0aGVzZSB0d28gc3luY2hyb25pemF0aW9uIG1lY2hhbmlzbXMgY2FuIGJlIHVzZWQsIGl0IGlzIHRoZW9yZXRpY2FsbHkgcG9zc2libGUKK3RoYXQgdHdvIGNvbmN1cnJlbnRseSBydW5uaW5nIHByb2Nlc3NlcyBvYnRhaW4gdGhlIHNhbWUgVVVJRChzKS4gIFRvIHRlbGwKK3doZXRoZXIgdGhlIFVVSUQgaGFzIGJlZW4gZ2VuZXJhdGVkIGluIGEgc2FmZSBtYW5uZXIsIHVzZQorLkJSIHV1aWRfZ2VuZXJhdGVfdGltZV9zYWZlIC4KKy5zcAorVGhlCisuQiB1dWlkX2dlbmVyYXRlX3RpbWVfc2FmZQoraXMgc2ltaWxhciB0bworLkJSIHV1aWRfZ2VuZXJhdGVfdGltZSAsCitleGNlcHQgdGhhdCBpdCByZXR1cm5zIGEgdmFsdWUgd2hpY2ggZGVub3RlcyB3aGV0aGVyIGFueSBvZiB0aGUgc3luY2hyb25pemF0aW9uCittZWNoYW5pc21zIChzZWUgYWJvdmUpIGhhcyBiZWVuIHVzZWQuCisuc3AKK1RoZSBVVUlEIGlzIDE2IGJ5dGVzICgxMjggYml0cykgbG9uZywgd2hpY2ggZ2l2ZXMgYXBwcm94aW1hdGVseSAzLjR4MTBeMzgKK3VuaXF1ZSB2YWx1ZXMgKHRoZXJlIGFyZSBhcHByb3hpbWF0ZWx5IDEwXjgwIGVsZW1lbnRhcnkgcGFydGljbGVzIGluCit0aGUgdW5pdmVyc2UgYWNjb3JkaW5nIHRvIENhcmwgU2FnYW4ncworLklSIENvc21vcyApLgorVGhlIG5ldyBVVUlEIGNhbiByZWFzb25hYmx5IGJlIGNvbnNpZGVyZWQgdW5pcXVlIGFtb25nIGFsbCBVVUlEcyBjcmVhdGVkCitvbiB0aGUgbG9jYWwgc3lzdGVtLCBhbmQgYW1vbmcgVVVJRHMgY3JlYXRlZCBvbiBvdGhlciBzeXN0ZW1zIGluIHRoZSBwYXN0CithbmQgaW4gdGhlIGZ1dHVyZS4KKy5TSCBSRVRVUk4gVkFMVUUKK1RoZSBuZXdseSBjcmVhdGVkIFVVSUQgaXMgcmV0dXJuZWQgaW4gdGhlIG1lbW9yeSBsb2NhdGlvbiBwb2ludGVkIHRvIGJ5CisuSVIgb3V0IC4KKy5CIHV1aWRfZ2VuZXJhdGVfdGltZV9zYWZlCityZXR1cm5zIHplcm8gaWYgdGhlIFVVSUQgaGFzIGJlZW4gZ2VuZXJhdGVkIGluIGEgc2FmZSBtYW5uZXIsIFwtMSBvdGhlcndpc2UuCisuU0ggIkNPTkZPUk1JTkcgVE8iCitPU0YgRENFIDEuMQorLlNIIEFVVEhPUgorVGhlb2RvcmUgWS5cJiBUcydvCisuU0ggQVZBSUxBQklMSVRZCisuQiBsaWJ1dWlkCitpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2Ugc2luY2UgdmVyc2lvbiAyLjE1LjEgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCisuU0ggIlNFRSBBTFNPIgorLkJSIHV1aWRnZW4gKDEpLAorLkJSIHV1aWQgKDMpLAorLkJSIHV1aWRfY2xlYXIgKDMpLAorLkJSIHV1aWRfY29tcGFyZSAoMyksCisuQlIgdXVpZF9jb3B5ICgzKSwKKy5CUiB1dWlkX2lzX251bGwgKDMpLAorLkJSIHV1aWRfcGFyc2UgKDMpLAorLkJSIHV1aWRfdGltZSAoMyksCisuQlIgdXVpZF91bnBhcnNlICgzKSwKKy5CUiB1dWlkZCAoOCkKZGlmZiAtLWdpdCBhL2xpYnV1aWQvbWFuL3V1aWRfZ2VuZXJhdGVfcmFuZG9tLjMgYi9saWJ1dWlkL21hbi91dWlkX2dlbmVyYXRlX3JhbmRvbS4zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0MDU0ODYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ1dWlkL21hbi91dWlkX2dlbmVyYXRlX3JhbmRvbS4zCkBAIC0wLDAgKzEgQEAKKy5zbyBtYW4zL3V1aWRfZ2VuZXJhdGUuMwpkaWZmIC0tZ2l0IGEvbGlidXVpZC9tYW4vdXVpZF9nZW5lcmF0ZV90aW1lLjMgYi9saWJ1dWlkL21hbi91dWlkX2dlbmVyYXRlX3RpbWUuMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NDA1NDg2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlidXVpZC9tYW4vdXVpZF9nZW5lcmF0ZV90aW1lLjMKQEAgLTAsMCArMSBAQAorLnNvIG1hbjMvdXVpZF9nZW5lcmF0ZS4zCmRpZmYgLS1naXQgYS9saWJ1dWlkL21hbi91dWlkX2dlbmVyYXRlX3RpbWVfc2FmZS4zIGIvbGlidXVpZC9tYW4vdXVpZF9nZW5lcmF0ZV90aW1lX3NhZmUuMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NDA1NDg2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlidXVpZC9tYW4vdXVpZF9nZW5lcmF0ZV90aW1lX3NhZmUuMwpAQCAtMCwwICsxIEBACisuc28gbWFuMy91dWlkX2dlbmVyYXRlLjMKZGlmZiAtLWdpdCBhL2xpYnV1aWQvbWFuL3V1aWRfaXNfbnVsbC4zIGIvbGlidXVpZC9tYW4vdXVpZF9pc19udWxsLjMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODZhN2E1MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnV1aWQvbWFuL3V1aWRfaXNfbnVsbC4zCkBAIC0wLDAgKzEsNjQgQEAKKy5cIiBDb3B5cmlnaHQgMTk5OSBBbmRyZWFzIERpbGdlciAoYWRpbGdlckBlbmVsLnVjYWxnYXJ5LmNhKQorLlwiCisuXCIgJUJlZ2luLUhlYWRlciUKKy5cIiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy5cIiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy5cIiBhcmUgbWV0OgorLlwiIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCBhbmQgdGhlIGVudGlyZSBwZXJtaXNzaW9uIG5vdGljZSBpbiBpdHMgZW50aXJldHksCisuXCIgICAgaW5jbHVkaW5nIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnRpZXMuCisuXCIgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy5cIiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisuXCIgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKy5cIiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUKKy5cIiAgICBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yCisuXCIgICAgd3JpdHRlbiBwZXJtaXNzaW9uLgorLlwiCisuXCIgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQKKy5cIiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworLlwiIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UsIEFMTCBPRgorLlwiIFdISUNIIEFSRSBIRVJFQlkgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUKKy5cIiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisuXCIgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQKKy5cIiBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IKKy5cIiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GCisuXCIgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisuXCIgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUKKy5cIiBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBOT1QgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSAorLlwiIERBTUFHRS4KKy5cIiAlRW5kLUhlYWRlciUKKy5cIgorLlwiIENyZWF0ZWQgIFdlZCBNYXIgMTAgMTc6NDI6MTIgMTk5OSwgQW5kcmVhcyBEaWxnZXIKKy5USCBVVUlEX0lTX05VTEwgMyAiTWF5IDIwMDkiICJ1dGlsLWxpbnV4IiAiTGlidXVpZCBBUEkiCisuU0ggTkFNRQordXVpZF9pc19udWxsIFwtIGNvbXBhcmUgdGhlIHZhbHVlIG9mIHRoZSBVVUlEIHRvIHRoZSBOVUxMIHZhbHVlCisuU0ggU1lOT1BTSVMKKy5uZgorLkIgI2luY2x1ZGUgPHV1aWQuaD4KKy5zcAorLkJJICJpbnQgdXVpZF9pc19udWxsKHV1aWRfdCAiIHV1ICk7CisuZmkKKy5TSCBERVNDUklQVElPTgorVGhlCisuQiB1dWlkX2lzX251bGwKK2Z1bmN0aW9uIGNvbXBhcmVzIHRoZSB2YWx1ZSBvZiB0aGUgc3VwcGxpZWQgVVVJRCB2YXJpYWJsZQorLkkgdXUKK3RvIHRoZSBOVUxMIHZhbHVlLiAgSWYgdGhlIHZhbHVlIGlzIGVxdWFsIHRvIHRoZSBOVUxMIFVVSUQsIDEgaXMgcmV0dXJuZWQsCitvdGhlcndpc2UgMCBpcyByZXR1cm5lZC4KKy5TSCBBVVRIT1IKK1RoZW9kb3JlIFkuXCYgVHMnbworLlNIIEFWQUlMQUJJTElUWQorLkIgbGlidXVpZAoraXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIHNpbmNlIHZlcnNpb24gMi4xNS4xIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgorLm5hCisuU0ggIlNFRSBBTFNPIgorLkJSIHV1aWQgKDMpLAorLkJSIHV1aWRfY2xlYXIgKDMpLAorLkJSIHV1aWRfY29tcGFyZSAoMyksCisuQlIgdXVpZF9jb3B5ICgzKSwKKy5CUiB1dWlkX2dlbmVyYXRlICgzKSwKKy5CUiB1dWlkX3RpbWUgKDMpLAorLkJSIHV1aWRfcGFyc2UgKDMpLAorLkJSIHV1aWRfdW5wYXJzZSAoMykKKy5hZApkaWZmIC0tZ2l0IGEvbGlidXVpZC9tYW4vdXVpZF9wYXJzZS4zIGIvbGlidXVpZC9tYW4vdXVpZF9wYXJzZS4zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxYTU5MjYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ1dWlkL21hbi91dWlkX3BhcnNlLjMKQEAgLTAsMCArMSw3MyBAQAorLlwiIENvcHlyaWdodCAxOTk5IEFuZHJlYXMgRGlsZ2VyIChhZGlsZ2VyQGVuZWwudWNhbGdhcnkuY2EpCisuXCIKKy5cIiAlQmVnaW4tSGVhZGVyJQorLlwiIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorLlwiIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworLlwiIGFyZSBtZXQ6CisuXCIgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy5cIiAgICBub3RpY2UsIGFuZCB0aGUgZW50aXJlIHBlcm1pc3Npb24gbm90aWNlIGluIGl0cyBlbnRpcmV0eSwKKy5cIiAgICBpbmNsdWRpbmcgdGhlIGRpc2NsYWltZXIgb2Ygd2FycmFudGllcy4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZQorLlwiICAgIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3IKKy5cIiAgICB3cml0dGVuIHBlcm1pc3Npb24uCisuXCIKKy5cIiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRAorLlwiIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisuXCIgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgQUxMIE9GCisuXCIgV0hJQ0ggQVJFIEhFUkVCWSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRQorLlwiIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKy5cIiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVAorLlwiIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUgorLlwiIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YKKy5cIiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKy5cIiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRQorLlwiIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIE5PVCBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICisuXCIgREFNQUdFLgorLlwiICVFbmQtSGVhZGVyJQorLlwiCisuXCIgQ3JlYXRlZCAgV2VkIE1hciAxMCAxNzo0MjoxMiAxOTk5LCBBbmRyZWFzIERpbGdlcgorLlRIIFVVSURfUEFSU0UgMyAiTWF5IDIwMDkiICJ1dGlsLWxpbnV4IiAiTGlidXVpZCBBUEkiCisuU0ggTkFNRQordXVpZF9wYXJzZSBcLSBjb252ZXJ0IGFuIGlucHV0IFVVSUQgc3RyaW5nIGludG8gYmluYXJ5IHJlcHJlc2VudGF0aW9uCisuU0ggU1lOT1BTSVMKKy5uZgorLkIgI2luY2x1ZGUgPHV1aWQuaD4KKy5zcAorLkJJICJpbnQgdXVpZF9wYXJzZSggY2hhciAqIiBpbiAiLCB1dWlkX3QgIiB1dSApOworLmZpCisuU0ggREVTQ1JJUFRJT04KK1RoZQorLkIgdXVpZF9wYXJzZQorZnVuY3Rpb24gY29udmVydHMgdGhlIFVVSUQgc3RyaW5nIGdpdmVuIGJ5CisuSSBpbgoraW50byB0aGUgYmluYXJ5IHJlcHJlc2VudGF0aW9uLiAgVGhlIGlucHV0IFVVSUQgaXMgYSBzdHJpbmcgb2YgdGhlIGZvcm0KKzFiNGUyOGJhXC0yZmExXC0xMWQyXC04ODNmXC1iOWE3NjFiZGUzZmIgKGluCisuQlIgcHJpbnRmICgzKQorZm9ybWF0ICIlMDh4XC0lMDR4XC0lMDR4XC0lMDR4XC0lMDEyeCIsIDM2IGJ5dGVzIHBsdXMgdGhlIHRyYWlsaW5nICdcZTAnKS4KKy5TSCBSRVRVUk4gVkFMVUUKK1Vwb24gc3VjY2Vzc2Z1bGx5IHBhcnNpbmcgdGhlIGlucHV0IHN0cmluZywgMCBpcyByZXR1cm5lZCwgYW5kIHRoZSBVVUlEIGlzCitzdG9yZWQgaW4gdGhlIGxvY2F0aW9uIHBvaW50ZWQgdG8gYnkKKy5JUiB1dSAsCitvdGhlcndpc2UgXC0xIGlzIHJldHVybmVkLgorLlNIICJDT05GT1JNSU5HIFRPIgorT1NGIERDRSAxLjEKKy5TSCBBVVRIT1IKK1RoZW9kb3JlIFkuXCYgVHMnbworLlNIIEFWQUlMQUJJTElUWQorLkIgbGlidXVpZAoraXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIHNpbmNlIHZlcnNpb24gMi4xNS4xIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgorLm5hCisuU0ggIlNFRSBBTFNPIgorLkJSIHV1aWQgKDMpLAorLkJSIHV1aWRfY2xlYXIgKDMpLAorLkJSIHV1aWRfY29tcGFyZSAoMyksCisuQlIgdXVpZF9jb3B5ICgzKSwKKy5CUiB1dWlkX2dlbmVyYXRlICgzKSwKKy5CUiB1dWlkX2lzX251bGwgKDMpLAorLkJSIHV1aWRfdGltZSAoMyksCisuQlIgdXVpZF91bnBhcnNlICgzKQorLmFkCmRpZmYgLS1naXQgYS9saWJ1dWlkL21hbi91dWlkX3RpbWUuMyBiL2xpYnV1aWQvbWFuL3V1aWRfdGltZS4zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4MzY3NmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ1dWlkL21hbi91dWlkX3RpbWUuMwpAQCAtMCwwICsxLDc4IEBACisuXCIgQ29weXJpZ2h0IDE5OTkgQW5kcmVhcyBEaWxnZXIgKGFkaWxnZXJAZW5lbC51Y2FsZ2FyeS5jYSkKKy5cIgorLlwiICVCZWdpbi1IZWFkZXIlCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgYW5kIHRoZSBlbnRpcmUgcGVybWlzc2lvbiBub3RpY2UgaW4gaXRzIGVudGlyZXR5LAorLlwiICAgIGluY2x1ZGluZyB0aGUgZGlzY2xhaW1lciBvZiB3YXJyYW50aWVzLgorLlwiIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLlwiICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisuXCIgMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlCisuXCIgICAgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvcgorLlwiICAgIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy5cIgorLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVECisuXCIgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKy5cIiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBBTEwgT0YKKy5cIiBXSElDSCBBUkUgSEVSRUJZIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFCisuXCIgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorLlwiIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UCisuXCIgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SCisuXCIgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRgorLlwiIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorLlwiIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFCisuXCIgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgTk9UIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gKKy5cIiBEQU1BR0UuCisuXCIgJUVuZC1IZWFkZXIlCisuXCIKKy5cIiBDcmVhdGVkICBXZWQgTWFyIDEwIDE3OjQyOjEyIDE5OTksIEFuZHJlYXMgRGlsZ2VyCisuVEggVVVJRF9USU1FIDMgIk1heSAyMDA5IiAidXRpbC1saW51eCIgIkxpYnV1aWQgQVBJIgorLlNIIE5BTUUKK3V1aWRfdGltZSBcLSBleHRyYWN0IHRoZSB0aW1lIGF0IHdoaWNoIHRoZSBVVUlEIHdhcyBjcmVhdGVkCisuU0ggU1lOT1BTSVMKKy5uZgorLkIgI2luY2x1ZGUgPHV1aWQuaD4KKy5zcAorLkJJICJ0aW1lX3QgdXVpZF90aW1lKHV1aWRfdCAiIHV1ICIsIHN0cnVjdCB0aW1ldmFsICoiIHJldF90diApCisuZmkKKy5TSCBERVNDUklQVElPTgorVGhlCisuQiB1dWlkX3RpbWUKK2Z1bmN0aW9uIGV4dHJhY3RzIHRoZSB0aW1lIGF0IHdoaWNoIHRoZSBzdXBwbGllZCB0aW1lLWJhc2VkIFVVSUQKKy5JIHV1Cit3YXMgY3JlYXRlZC4gIE5vdGUgdGhhdCB0aGUgVVVJRCBjcmVhdGlvbiB0aW1lIGlzIG9ubHkgZW5jb2RlZCB3aXRoaW4KK2NlcnRhaW4gdHlwZXMgb2YgVVVJRHMuICBUaGlzIGZ1bmN0aW9uIGNhbiBvbmx5IHJlYXNvbmFibHkgZXhwZWN0IHRvCitleHRyYWN0IHRoZSBjcmVhdGlvbiB0aW1lIGZvciBVVUlEcyBjcmVhdGVkIHdpdGggdGhlCisuQlIgdXVpZF9nZW5lcmF0ZV90aW1lICgzKQorYW5kCisuQlIgdXVpZF9nZW5lcmF0ZV90aW1lX3NhZmUgKDMpCitmdW5jdGlvbnMuICBJdCBtYXkgb3IgbWF5IG5vdCB3b3JrIHdpdGggVVVJRHMgY3JlYXRlZCBieSBvdGhlciBtZWNoYW5pc21zLgorLlNIICJSRVRVUk4gVkFMVUVTIgorVGhlIHRpbWUgYXQgd2hpY2ggdGhlIFVVSUQgd2FzIGNyZWF0ZWQsIGluIHNlY29uZHMgc2luY2UgSmFudWFyeSAxLCAxOTcwIEdNVAorKHRoZSBlcG9jaCksIGlzIHJldHVybmVkIChzZWUKKy5CUiB0aW1lICIoMikpLiIKK1RoZSB0aW1lIGF0IHdoaWNoIHRoZSBVVUlEIHdhcyBjcmVhdGVkLCBpbiBzZWNvbmRzIGFuZCBtaWNyb3NlY29uZHMgc2luY2UKK3RoZSBlcG9jaCwgaXMgYWxzbyBzdG9yZWQgaW4gdGhlIGxvY2F0aW9uIHBvaW50ZWQgdG8gYnkKKy5JIHJldF90dgorKHNlZQorLkJSIGdldHRpbWVvZmRheSAiKDIpKS4iCisuU0ggQVVUSE9SCitUaGVvZG9yZSBZLlwmIFRzJ28KKy5TSCBBVkFJTEFCSUxJVFkKKy5CIGxpYnV1aWQKK2lzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBzaW5jZSB2ZXJzaW9uIDIuMTUuMSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2Z0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KKy5uYQorLlNIICJTRUUgQUxTTyIKKy5CUiB1dWlkICgzKSwKKy5CUiB1dWlkX2NsZWFyICgzKSwKKy5CUiB1dWlkX2NvbXBhcmUgKDMpLAorLkJSIHV1aWRfY29weSAoMyksCisuQlIgdXVpZF9nZW5lcmF0ZSAoMyksCisuQlIgdXVpZF9pc19udWxsICgzKSwKKy5CUiB1dWlkX3BhcnNlICgzKSwKKy5CUiB1dWlkX3VucGFyc2UgKDMpCisuYWQKZGlmZiAtLWdpdCBhL2xpYnV1aWQvbWFuL3V1aWRfdW5wYXJzZS4zIGIvbGlidXVpZC9tYW4vdXVpZF91bnBhcnNlLjMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWUwMTE2ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnV1aWQvbWFuL3V1aWRfdW5wYXJzZS4zCkBAIC0wLDAgKzEsODEgQEAKKy5cIiBDb3B5cmlnaHQgMTk5OSBBbmRyZWFzIERpbGdlciAoYWRpbGdlckBlbmVsLnVjYWxnYXJ5LmNhKQorLlwiCisuXCIgJUJlZ2luLUhlYWRlciUKKy5cIiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy5cIiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy5cIiBhcmUgbWV0OgorLlwiIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCBhbmQgdGhlIGVudGlyZSBwZXJtaXNzaW9uIG5vdGljZSBpbiBpdHMgZW50aXJldHksCisuXCIgICAgaW5jbHVkaW5nIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnRpZXMuCisuXCIgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy5cIiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisuXCIgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKy5cIiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUKKy5cIiAgICBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yCisuXCIgICAgd3JpdHRlbiBwZXJtaXNzaW9uLgorLlwiCisuXCIgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQKKy5cIiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworLlwiIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UsIEFMTCBPRgorLlwiIFdISUNIIEFSRSBIRVJFQlkgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUKKy5cIiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisuXCIgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQKKy5cIiBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IKKy5cIiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GCisuXCIgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisuXCIgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUKKy5cIiBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBOT1QgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSAorLlwiIERBTUFHRS4KKy5cIiAlRW5kLUhlYWRlciUKKy5cIgorLlwiIENyZWF0ZWQgIFdlZCBNYXIgMTAgMTc6NDI6MTIgMTk5OSwgQW5kcmVhcyBEaWxnZXIKKy5USCBVVUlEX1VOUEFSU0UgMyAiTWF5IDIwMDkiICJ1dGlsLWxpbnV4IiAiTGlidXVpZCBBUEkiCisuU0ggTkFNRQordXVpZF91bnBhcnNlIFwtIGNvbnZlcnQgYW4gVVVJRCBmcm9tIGJpbmFyeSByZXByZXNlbnRhdGlvbiB0byBhIHN0cmluZworLlNIIFNZTk9QU0lTCisubmYKKy5CICNpbmNsdWRlIDx1dWlkLmg+Cisuc3AKKy5CSSAidm9pZCB1dWlkX3VucGFyc2UodXVpZF90ICIgdXUgIiwgY2hhciAqIiBvdXQgKTsKKy5CSSAidm9pZCB1dWlkX3VucGFyc2VfdXBwZXIodXVpZF90ICIgdXUgIiwgY2hhciAqIiBvdXQgKTsKKy5CSSAidm9pZCB1dWlkX3VucGFyc2VfbG93ZXIodXVpZF90ICIgdXUgIiwgY2hhciAqIiBvdXQgKTsKKy5maQorLlNIIERFU0NSSVBUSU9OCitUaGUKKy5CIHV1aWRfdW5wYXJzZQorZnVuY3Rpb24gY29udmVydHMgdGhlIHN1cHBsaWVkIFVVSUQKKy5JIHV1Citmcm9tIHRoZSBiaW5hcnkgcmVwcmVzZW50YXRpb24gaW50byBhIDM2LWJ5dGUgc3RyaW5nIChwbHVzIHRhaWxpbmcgJ1xlMCcpCitvZiB0aGUgZm9ybSAxYjRlMjhiYVwtMmZhMVwtMTFkMlwtODgzZlwtMDAxNmQzY2NhNDI3IGFuZCBzdG9yZXMgdGhpcwordmFsdWUgaW4gdGhlIGNoYXJhY3RlciBzdHJpbmcgcG9pbnRlZCB0byBieQorLklSIG91dCAuCitUaGUgY2FzZSBvZiB0aGUgaGV4IGRpZ2l0cyByZXR1cm5lZCBieQorLkIgdXVpZF91bnBhcnNlCittYXkgYmUgdXBwZXIgb3IgbG93ZXIgY2FzZSwgYW5kIGlzCitkZXBlbmRlbnQgb24gdGhlIHN5c3RlbS1kZXBlbmRlbnQgbG9jYWwgZGVmYXVsdC4KKy5QUAorSWYgdGhlIGNhc2Ugb2YgdGhlCitoZXggZGlnaXRzIGlzIGltcG9ydGFudCB0aGVuIHRoZSBmdW5jdGlvbnMKKy5CIHV1aWRfdW5wYXJzZV91cHBlcgorYW5kCisuQiB1dWlkX3VucGFyc2VfbG93ZXIKK21heSBiZSB1c2VkLgorLlNIICJDT05GT1JNSU5HIFRPIgorT1NGIERDRSAxLjEKKy5TSCBBVVRIT1IKK1RoZW9kb3JlIFkuXCYgVHMnbworLlNIIEFWQUlMQUJJTElUWQorLkIgbGlidXVpZAoraXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIHNpbmNlIHZlcnNpb24gMi4xNS4xIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgorLm5hCisuU0ggIlNFRSBBTFNPIgorLkJSIHV1aWQgKDMpLAorLkJSIHV1aWRfY2xlYXIgKDMpLAorLkJSIHV1aWRfY29tcGFyZSAoMyksCisuQlIgdXVpZF9jb3B5ICgzKSwKKy5CUiB1dWlkX2dlbmVyYXRlICgzKSwKKy5CUiB1dWlkX3RpbWUgKDMpLAorLkJSIHV1aWRfaXNfbnVsbCAoMyksCisuQlIgdXVpZF9wYXJzZSAoMykKKy5hZApkaWZmIC0tZ2l0IGEvbGlidXVpZC9zcmMvTWFrZW1vZHVsZS5hbSBiL2xpYnV1aWQvc3JjL01ha2Vtb2R1bGUuYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDNmYzgxMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnV1aWQvc3JjL01ha2Vtb2R1bGUuYW0KQEAgLTAsMCArMSw2NCBAQAorCitjaGVja19QUk9HUkFNUyArPSB0ZXN0X3V1aWRfcGFyc2VyCit0ZXN0X3V1aWRfcGFyc2VyX1NPVVJDRVMgPSBsaWJ1dWlkL3NyYy90ZXN0X3V1aWQuYwordGVzdF91dWlkX3BhcnNlcl9MREFERCA9ICQoTERBREQpIGxpYnV1aWQubGEgJChTT0NLRVRfTElCUykKK3Rlc3RfdXVpZF9wYXJzZXJfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1JJCh1bF9saWJ1dWlkX2luY2RpcikKKworIyBpbmNsdWRlcwordXVpZGluY2RpciA9ICQoaW5jbHVkZWRpcikvdXVpZAordXVpZGluY19IRUFERVJTID0gbGlidXVpZC9zcmMvdXVpZC5oCisKK3VzcmxpYl9leGVjX0xUTElCUkFSSUVTICs9IGxpYnV1aWQubGEKKworbGlidXVpZF9sYV9TT1VSQ0VTID0gXAorCWxpYnV1aWQvc3JjL2NsZWFyLmMgXAorCWxpYnV1aWQvc3JjL2NvbXBhcmUuYyBcCisJbGlidXVpZC9zcmMvY29weS5jIFwKKwlsaWJ1dWlkL3NyYy9nZW5fdXVpZC5jIFwKKwlsaWJ1dWlkL3NyYy9pc251bGwuYyBcCisJbGlidXVpZC9zcmMvcGFjay5jIFwKKwlsaWJ1dWlkL3NyYy9wYXJzZS5jIFwKKwlsaWJ1dWlkL3NyYy91bnBhY2suYyBcCisJbGlidXVpZC9zcmMvdW5wYXJzZS5jIFwKKwlsaWJ1dWlkL3NyYy91dWlkZC5oIFwKKwlsaWJ1dWlkL3NyYy91dWlkZC5oIFwKKwlsaWJ1dWlkL3NyYy91dWlkUC5oIFwKKwlsaWJ1dWlkL3NyYy91dWlkX3RpbWUuYyBcCisJJCh1dWlkaW5jX0hFQURFUlMpIFwKKwlsaWIvcmFuZHV0aWxzLmMKKworbGlidXVpZF9sYV9ERVBFTkRFTkNJRVMgPSBsaWJ1dWlkL3NyYy9saWJ1dWlkLnN5bQorbGlidXVpZF9sYV9MSUJBREQgICAgICAgPSAkKFNPQ0tFVF9MSUJTKQorCitsaWJ1dWlkX2xhX0NGTEFHUyA9IFwKKwkkKEFNX0NGTEFHUykgXAorCSAkKFNPTElCX0NGTEFHUykgXAorCSAtSSQodWxfbGlidXVpZF9pbmNkaXIpIFwKKwkgLUlsaWJ1dWlkL3NyYworCitsaWJ1dWlkX2xhX0xERkxBR1MgPSAkKFNPTElCX0xERkxBR1MpCitpZiBIQVZFX1ZTQ1JJUFQKK2xpYnV1aWRfbGFfTERGTEFHUyArPSBsaWJ1dWlkX2xhX0xERkxBR1MgKz0gJChWU0NSSVBUX0xERkxBR1MpLCQodG9wX3NyY2RpcikvbGlidXVpZC9zcmMvbGlidXVpZC5zeW0KK2VuZGlmCitsaWJ1dWlkX2xhX0xERkxBR1MgKz0gLXZlcnNpb24taW5mbyAkKExJQlVVSURfVkVSU0lPTl9JTkZPKQorCisKK0VYVFJBX0RJU1QgKz0gbGlidXVpZC9zcmMvbGlidXVpZC5zeW0KKworIyBtb3ZlIGxpYiBmcm9tICQodXNybGliX2V4ZWNkaXIpIHRvICQobGliZGlyKSBpZiBuZWVkZWQKK2luc3RhbGwtZXhlYy1ob29rLWxpYnV1aWQ6CisJaWYgdGVzdCAiJCh1c3JsaWJfZXhlY2RpcikiICE9ICIkKGxpYmRpcikiIC1hIC1mICIkKERFU1RESVIpJCh1c3JsaWJfZXhlY2RpcikvbGlidXVpZC5zbyI7IHRoZW4gXAorCQkkKE1LRElSX1ApICQoREVTVERJUikkKGxpYmRpcik7IFwKKwkJbXYgJChERVNURElSKSQodXNybGliX2V4ZWNkaXIpL2xpYnV1aWQuc28uKiAkKERFU1RESVIpJChsaWJkaXIpOyBcCisJCXNvX2ltZ19uYW1lPSQkKHJlYWRsaW5rICQoREVTVERJUikkKHVzcmxpYl9leGVjZGlyKS9saWJ1dWlkLnNvKTsgXAorCQlzb19pbWdfcmVsX3RhcmdldD0kJChlY2hvICQodXNybGliX2V4ZWNkaXIpIHwgc2VkICdzLFwoXi9cfFwpW14vXVteL10qLC4uLGcnKTsgXAorCQkoY2QgJChERVNURElSKSQodXNybGliX2V4ZWNkaXIpICYmIFwKKwkJCXJtIC1mIGxpYnV1aWQuc28gJiYgXAorCQkJJChMTl9TKSAkJHNvX2ltZ19yZWxfdGFyZ2V0JChsaWJkaXIpLyQkc29faW1nX25hbWUgbGlidXVpZC5zbyk7IFwKKwlmaQorCit1bmluc3RhbGwtaG9vay1saWJ1dWlkOgorCXJtIC1mICQoREVTVERJUikkKGxpYmRpcikvbGlidXVpZC5zbyoKKworSU5TVEFMTF9FWEVDX0hPT0tTICs9IGluc3RhbGwtZXhlYy1ob29rLWxpYnV1aWQKK1VOSU5TVEFMTF9IT09LUyArPSB1bmluc3RhbGwtaG9vay1saWJ1dWlkCmRpZmYgLS1naXQgYS9saWJ1dWlkL3NyYy9jbGVhci5jIGIvbGlidXVpZC9zcmMvY2xlYXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZDkxZmVlCi0tLSAvZGV2L251bGwKKysrIGIvbGlidXVpZC9zcmMvY2xlYXIuYwpAQCAtMCwwICsxLDQzIEBACisvKgorICogY2xlYXIuYyAtLSBDbGVhciBhIFVVSUQKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcgVGhlb2RvcmUgVHMnby4KKyAqCisgKiAlQmVnaW4tSGVhZGVyJQorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCBhbmQgdGhlIGVudGlyZSBwZXJtaXNzaW9uIG5vdGljZSBpbiBpdHMgZW50aXJldHksCisgKiAgICBpbmNsdWRpbmcgdGhlIGRpc2NsYWltZXIgb2Ygd2FycmFudGllcy4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlCisgKiAgICBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yCisgKiAgICB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQKKyAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBBTEwgT0YKKyAqIFdISUNIIEFSRSBIRVJFQlkgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UCisgKiBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IKKyAqIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUKKyAqIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIE5PVCBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICisgKiBEQU1BR0UuCisgKiAlRW5kLUhlYWRlciUKKyAqLworCisjaW5jbHVkZSAic3RyaW5nLmgiCisKKyNpbmNsdWRlICJ1dWlkUC5oIgorCit2b2lkIHV1aWRfY2xlYXIodXVpZF90IHV1KQoreworCW1lbXNldCh1dSwgMCwgMTYpOworfQorCmRpZmYgLS1naXQgYS9saWJ1dWlkL3NyYy9jb21wYXJlLmMgYi9saWJ1dWlkL3NyYy9jb21wYXJlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGYzNDM3YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnV1aWQvc3JjL2NvbXBhcmUuYwpAQCAtMCwwICsxLDU1IEBACisvKgorICogY29tcGFyZS5jIC0tLSBjb21wYXJlIHdoZXRoZXIgb3Igbm90IHR3byBVVUlEcyBhcmUgdGhlIHNhbWUKKyAqCisgKiBSZXR1cm5zIDAgaWYgdGhlIHR3byBVVUlEcyBhcmUgZGlmZmVyZW50LCBhbmQgMSBpZiB0aGV5IGFyZSB0aGUgc2FtZS4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcgVGhlb2RvcmUgVHMnby4KKyAqCisgKiAlQmVnaW4tSGVhZGVyJQorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCBhbmQgdGhlIGVudGlyZSBwZXJtaXNzaW9uIG5vdGljZSBpbiBpdHMgZW50aXJldHksCisgKiAgICBpbmNsdWRpbmcgdGhlIGRpc2NsYWltZXIgb2Ygd2FycmFudGllcy4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlCisgKiAgICBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yCisgKiAgICB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQKKyAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBBTEwgT0YKKyAqIFdISUNIIEFSRSBIRVJFQlkgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UCisgKiBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IKKyAqIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUKKyAqIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIE5PVCBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICisgKiBEQU1BR0UuCisgKiAlRW5kLUhlYWRlciUKKyAqLworCisjaW5jbHVkZSAidXVpZFAuaCIKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworI2RlZmluZSBVVUNNUCh1MSx1MikgaWYgKHUxICE9IHUyKSByZXR1cm4oKHUxIDwgdTIpID8gLTEgOiAxKTsKKworaW50IHV1aWRfY29tcGFyZShjb25zdCB1dWlkX3QgdXUxLCBjb25zdCB1dWlkX3QgdXUyKQoreworCXN0cnVjdCB1dWlkCXV1aWQxLCB1dWlkMjsKKworCXV1aWRfdW5wYWNrKHV1MSwgJnV1aWQxKTsKKwl1dWlkX3VucGFjayh1dTIsICZ1dWlkMik7CisKKwlVVUNNUCh1dWlkMS50aW1lX2xvdywgdXVpZDIudGltZV9sb3cpOworCVVVQ01QKHV1aWQxLnRpbWVfbWlkLCB1dWlkMi50aW1lX21pZCk7CisJVVVDTVAodXVpZDEudGltZV9oaV9hbmRfdmVyc2lvbiwgdXVpZDIudGltZV9oaV9hbmRfdmVyc2lvbik7CisJVVVDTVAodXVpZDEuY2xvY2tfc2VxLCB1dWlkMi5jbG9ja19zZXEpOworCXJldHVybiBtZW1jbXAodXVpZDEubm9kZSwgdXVpZDIubm9kZSwgNik7Cit9CisKZGlmZiAtLWdpdCBhL2xpYnV1aWQvc3JjL2NvcHkuYyBiL2xpYnV1aWQvc3JjL2NvcHkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYWQzM2FhCi0tLSAvZGV2L251bGwKKysrIGIvbGlidXVpZC9zcmMvY29weS5jCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBjb3B5LmMgLS0tIGNvcHkgVVVJRHMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcgVGhlb2RvcmUgVHMnby4KKyAqCisgKiAlQmVnaW4tSGVhZGVyJQorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCBhbmQgdGhlIGVudGlyZSBwZXJtaXNzaW9uIG5vdGljZSBpbiBpdHMgZW50aXJldHksCisgKiAgICBpbmNsdWRpbmcgdGhlIGRpc2NsYWltZXIgb2Ygd2FycmFudGllcy4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlCisgKiAgICBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yCisgKiAgICB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQKKyAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBBTEwgT0YKKyAqIFdISUNIIEFSRSBIRVJFQlkgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UCisgKiBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IKKyAqIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUKKyAqIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIE5PVCBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICisgKiBEQU1BR0UuCisgKiAlRW5kLUhlYWRlciUKKyAqLworCisjaW5jbHVkZSAidXVpZFAuaCIKKwordm9pZCB1dWlkX2NvcHkodXVpZF90IGRzdCwgY29uc3QgdXVpZF90IHNyYykKK3sKKwl1bnNpZ25lZCBjaGFyCQkqY3AxOworCWNvbnN0IHVuc2lnbmVkIGNoYXIJKmNwMjsKKwlpbnQJCQlpOworCisJZm9yIChpPTAsIGNwMSA9IGRzdCwgY3AyID0gc3JjOyBpIDwgMTY7IGkrKykKKwkJKmNwMSsrID0gKmNwMisrOworfQpkaWZmIC0tZ2l0IGEvbGlidXVpZC9zcmMvZ2VuX3V1aWQuYyBiL2xpYnV1aWQvc3JjL2dlbl91dWlkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjlhOTM3YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnV1aWQvc3JjL2dlbl91dWlkLmMKQEAgLTAsMCArMSw1NTMgQEAKKy8qCisgKiBnZW5fdXVpZC5jIC0tLSBnZW5lcmF0ZSBhIERDRS1jb21wYXRpYmxlIHV1aWQKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcsIDE5OTgsIDE5OTkgVGhlb2RvcmUgVHMnby4KKyAqCisgKiAlQmVnaW4tSGVhZGVyJQorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCBhbmQgdGhlIGVudGlyZSBwZXJtaXNzaW9uIG5vdGljZSBpbiBpdHMgZW50aXJldHksCisgKiAgICBpbmNsdWRpbmcgdGhlIGRpc2NsYWltZXIgb2Ygd2FycmFudGllcy4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlCisgKiAgICBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yCisgKiAgICB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQKKyAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBBTEwgT0YKKyAqIFdISUNIIEFSRSBIRVJFQlkgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UCisgKiBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IKKyAqIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUKKyAqIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIE5PVCBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICisgKiBEQU1BR0UuCisgKiAlRW5kLUhlYWRlciUKKyAqLworCisjaWZkZWYgX1dJTjMyCisjZGVmaW5lIF9XSU4zMl9XSU5OVCAweDA1MDAKKyNpbmNsdWRlIDx3aW5kb3dzLmg+CisjZGVmaW5lIFVVSUQgTVlVVUlECisjZW5kaWYKKyNpbmNsdWRlIDxzdGRpby5oPgorI2lmZGVmIEhBVkVfVU5JU1REX0gKKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfU1RETElCX0gKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNlbmRpZgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpZmRlZiBIQVZFX1NZU19USU1FX0gKKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorI2VuZGlmCisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpZmRlZiBIQVZFX1NZU19GSUxFX0gKKyNpbmNsdWRlIDxzeXMvZmlsZS5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TWVNfSU9DVExfSAorI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TWVNfU09DS0VUX0gKKyNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NZU19VTl9ICisjaW5jbHVkZSA8c3lzL3VuLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NZU19TT0NLSU9fSAorI2luY2x1ZGUgPHN5cy9zb2NraW8uaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfTkVUX0lGX0gKKyNpbmNsdWRlIDxuZXQvaWYuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfTkVUSU5FVF9JTl9ICisjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9ORVRfSUZfRExfSAorI2luY2x1ZGUgPG5ldC9pZl9kbC5oPgorI2VuZGlmCisjaWYgZGVmaW5lZChfX2xpbnV4X18pICYmIGRlZmluZWQoSEFWRV9TWVNfU1lTQ0FMTF9IKQorI2luY2x1ZGUgPHN5cy9zeXNjYWxsLmg+CisjZW5kaWYKKworI2luY2x1ZGUgImFsbC1pby5oIgorI2luY2x1ZGUgInV1aWRQLmgiCisjaW5jbHVkZSAidXVpZGQuaCIKKyNpbmNsdWRlICJyYW5kdXRpbHMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgImMuaCIKKworI2lmZGVmIEhBVkVfVExTCisjZGVmaW5lIFRIUkVBRF9MT0NBTCBzdGF0aWMgX190aHJlYWQKKyNlbHNlCisjZGVmaW5lIFRIUkVBRF9MT0NBTCBzdGF0aWMKKyNlbmRpZgorCisjaWZkZWYgX1dJTjMyCitzdGF0aWMgdm9pZCBnZXR0aW1lb2ZkYXkgKHN0cnVjdCB0aW1ldmFsICp0diwgdm9pZCAqZHVtbXkpCit7CisJRklMRVRJTUUJZnRpbWU7CisJdWludDY0X3QJbjsKKworCUdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lICgmZnRpbWUpOworCW4gPSAoKCh1aW50NjRfdCkgZnRpbWUuZHdIaWdoRGF0ZVRpbWUgPDwgMzIpCisJICAgICArICh1aW50NjRfdCkgZnRpbWUuZHdMb3dEYXRlVGltZSk7CisJaWYgKG4pIHsKKwkJbiAvPSAxMDsKKwkJbiAtPSAoKDM2OSAqIDM2NSArIDg5KSAqICh1aW50NjRfdCkgODY0MDApICogMTAwMDAwMDsKKwl9CisKKwl0di0+dHZfc2VjID0gbiAvIDEwMDAwMDA7CisJdHYtPnR2X3VzZWMgPSBuICUgMTAwMDAwMDsKK30KKworc3RhdGljIGludCBnZXR1aWQgKHZvaWQpCit7CisJcmV0dXJuIDE7Cit9CisjZW5kaWYKKworLyoKKyAqIEdldCB0aGUgZXRoZXJuZXQgaGFyZHdhcmUgYWRkcmVzcywgaWYgd2UgY2FuIGZpbmQgaXQuLi4KKyAqCisgKiBYWFggZm9yIGEgd2luZG93cyB2ZXJzaW9uLCBwcm9iYWJseSBzaG91bGQgdXNlIEdldEFkYXB0ZXJzSW5mbzoKKyAqIGh0dHA6Ly93d3cuY29kZWd1cnUuY29tL2NwcC9pLW4vbmV0d29yay9uZXR3b3JraW5mb3JtYXRpb24vYXJ0aWNsZS5waHAvYzU0NTEKKyAqIGNvbW1lbnRpbmcgb3V0IGdldF9ub2RlX2lkIGp1c3QgdG8gZ2V0IGdlbl91dWlkIHRvIGNvbXBpbGUgdW5kZXIgd2luZG93cworICogaXMgbm90IHRoZSByaWdodCB3YXkgdG8gZ28hCisgKi8KK3N0YXRpYyBpbnQgZ2V0X25vZGVfaWQodW5zaWduZWQgY2hhciAqbm9kZV9pZCkKK3sKKyNpZmRlZiBIQVZFX05FVF9JRl9ICisJaW50CQlzZDsKKwlzdHJ1Y3QgaWZyZXEJaWZyLCAqaWZycDsKKwlzdHJ1Y3QgaWZjb25mCWlmYzsKKwljaGFyIGJ1ZlsxMDI0XTsKKwlpbnQJCW4sIGk7CisJdW5zaWduZWQgY2hhcgkqYTsKKyNpZmRlZiBIQVZFX05FVF9JRl9ETF9ICisJc3RydWN0IHNvY2thZGRyX2RsICpzZGxwOworI2VuZGlmCisKKy8qCisgKiBCU0QgNC40IGRlZmluZXMgdGhlIHNpemUgb2YgYW4gaWZyZXEgdG8gYmUKKyAqIG1heChzaXplb2YoaWZyZXEpLCBzaXplb2YoaWZyZXEuaWZyX25hbWUpK2lmcmVxLmlmcl9hZGRyLnNhX2xlbgorICogSG93ZXZlciwgdW5kZXIgZWFybGllciBzeXN0ZW1zLCBzYV9sZW4gaXNuJ3QgcHJlc2VudCwgc28gdGhlIHNpemUgaXMKKyAqIGp1c3Qgc2l6ZW9mKHN0cnVjdCBpZnJlcSkKKyAqLworI2lmZGVmIEhBVkVfU0FfTEVOCisjZGVmaW5lIGlmcmVxX3NpemUoaSkgbWF4KHNpemVvZihzdHJ1Y3QgaWZyZXEpLFwKKyAgICAgc2l6ZW9mKChpKS5pZnJfbmFtZSkrKGkpLmlmcl9hZGRyLnNhX2xlbikKKyNlbHNlCisjZGVmaW5lIGlmcmVxX3NpemUoaSkgc2l6ZW9mKHN0cnVjdCBpZnJlcSkKKyNlbmRpZiAvKiBIQVZFX1NBX0xFTiAqLworCisJc2QgPSBzb2NrZXQoQUZfSU5FVCwgU09DS19ER1JBTSwgSVBQUk9UT19JUCk7CisJaWYgKHNkIDwgMCkgeworCQlyZXR1cm4gLTE7CisJfQorCW1lbXNldChidWYsIDAsIHNpemVvZihidWYpKTsKKwlpZmMuaWZjX2xlbiA9IHNpemVvZihidWYpOworCWlmYy5pZmNfYnVmID0gYnVmOworCWlmIChpb2N0bCAoc2QsIFNJT0NHSUZDT05GLCAoY2hhciAqKSZpZmMpIDwgMCkgeworCQljbG9zZShzZCk7CisJCXJldHVybiAtMTsKKwl9CisJbiA9IGlmYy5pZmNfbGVuOworCWZvciAoaSA9IDA7IGkgPCBuOyBpKz0gaWZyZXFfc2l6ZSgqaWZycCkgKSB7CisJCWlmcnAgPSAoc3RydWN0IGlmcmVxICopKChjaGFyICopIGlmYy5pZmNfYnVmK2kpOworCQlzdHJuY3B5KGlmci5pZnJfbmFtZSwgaWZycC0+aWZyX25hbWUsIElGTkFNU0laKTsKKyNpZmRlZiBTSU9DR0lGSFdBRERSCisJCWlmIChpb2N0bChzZCwgU0lPQ0dJRkhXQUREUiwgJmlmcikgPCAwKQorCQkJY29udGludWU7CisJCWEgPSAodW5zaWduZWQgY2hhciAqKSAmaWZyLmlmcl9od2FkZHIuc2FfZGF0YTsKKyNlbHNlCisjaWZkZWYgU0lPQ0dFTkFERFIKKwkJaWYgKGlvY3RsKHNkLCBTSU9DR0VOQUREUiwgJmlmcikgPCAwKQorCQkJY29udGludWU7CisJCWEgPSAodW5zaWduZWQgY2hhciAqKSBpZnIuaWZyX2VuYWRkcjsKKyNlbHNlCisjaWZkZWYgSEFWRV9ORVRfSUZfRExfSAorCQlzZGxwID0gKHN0cnVjdCBzb2NrYWRkcl9kbCAqKSAmaWZycC0+aWZyX2FkZHI7CisJCWlmICgoc2RscC0+c2RsX2ZhbWlseSAhPSBBRl9MSU5LKSB8fCAoc2RscC0+c2RsX2FsZW4gIT0gNikpCisJCQljb250aW51ZTsKKwkJYSA9ICh1bnNpZ25lZCBjaGFyICopICZzZGxwLT5zZGxfZGF0YVtzZGxwLT5zZGxfbmxlbl07CisjZWxzZQorCQkvKgorCQkgKiBYWFggd2UgZG9uJ3QgaGF2ZSBhIHdheSBvZiBnZXR0aW5nIHRoZSBoYXJkd2FyZQorCQkgKiBhZGRyZXNzCisJCSAqLworCQljbG9zZShzZCk7CisJCXJldHVybiAwOworI2VuZGlmIC8qIEhBVkVfTkVUX0lGX0RMX0ggKi8KKyNlbmRpZiAvKiBTSU9DR0VOQUREUiAqLworI2VuZGlmIC8qIFNJT0NHSUZIV0FERFIgKi8KKwkJaWYgKCFhWzBdICYmICFhWzFdICYmICFhWzJdICYmICFhWzNdICYmICFhWzRdICYmICFhWzVdKQorCQkJY29udGludWU7CisJCWlmIChub2RlX2lkKSB7CisJCQltZW1jcHkobm9kZV9pZCwgYSwgNik7CisJCQljbG9zZShzZCk7CisJCQlyZXR1cm4gMTsKKwkJfQorCX0KKwljbG9zZShzZCk7CisjZW5kaWYKKwlyZXR1cm4gMDsKK30KKworLyogQXNzdW1lIHRoYXQgdGhlIGdldHRpbWVvZmRheSgpIGhhcyBtaWNyb3NlY29uZCBncmFudWxhcml0eSAqLworI2RlZmluZSBNQVhfQURKVVNUTUVOVCAxMAorCisvKgorICogR2V0IGNsb2NrIGZyb20gZ2xvYmFsIHNlcXVlbmNlIGNsb2NrIGNvdW50ZXIuCisgKgorICogUmV0dXJuIC0xIGlmIHRoZSBjbG9jayBjb3VudGVyIGNvdWxkIG5vdCBiZSBvcGVuZWQvbG9ja2VkIChpbiB0aGlzIGNhc2UKKyAqIHBzZXVkb3JhbmRvbSB2YWx1ZSBpcyByZXR1cm5lZCBpbiBAcmV0X2Nsb2NrX3NlcSksIG90aGVyd2lzZSByZXR1cm4gMC4KKyAqLworc3RhdGljIGludCBnZXRfY2xvY2sodWludDMyX3QgKmNsb2NrX2hpZ2gsIHVpbnQzMl90ICpjbG9ja19sb3csCisJCSAgICAgdWludDE2X3QgKnJldF9jbG9ja19zZXEsIGludCAqbnVtKQoreworCVRIUkVBRF9MT0NBTCBpbnQJCWFkanVzdG1lbnQgPSAwOworCVRIUkVBRF9MT0NBTCBzdHJ1Y3QgdGltZXZhbAlsYXN0ID0gezAsIDB9OworCVRIUkVBRF9MT0NBTCBpbnQJCXN0YXRlX2ZkID0gLTI7CisJVEhSRUFEX0xPQ0FMIEZJTEUJCSpzdGF0ZV9mOworCVRIUkVBRF9MT0NBTCB1aW50MTZfdAkJY2xvY2tfc2VxOworCXN0cnVjdCB0aW1ldmFsCQkJdHY7CisJdWludDY0X3QJCQljbG9ja19yZWc7CisJbW9kZV90CQkJCXNhdmVfdW1hc2s7CisJaW50CQkJCWxlbjsKKwlpbnQJCQkJcmV0ID0gMDsKKworCWlmIChzdGF0ZV9mZCA9PSAtMSkKKwkJcmV0ID0gLTE7CisKKwlpZiAoc3RhdGVfZmQgPT0gLTIpIHsKKwkJc2F2ZV91bWFzayA9IHVtYXNrKDApOworCQlzdGF0ZV9mZCA9IG9wZW4oTElCVVVJRF9DTE9DS19GSUxFLCBPX1JEV1J8T19DUkVBVHxPX0NMT0VYRUMsIDA2NjApOworCQkodm9pZCkgdW1hc2soc2F2ZV91bWFzayk7CisJCWlmIChzdGF0ZV9mZCAhPSAtMSkgeworCQkJc3RhdGVfZiA9IGZkb3BlbihzdGF0ZV9mZCwgInIrIiBVTF9DTE9FWEVDU1RSKTsKKwkJCWlmICghc3RhdGVfZikgeworCQkJCWNsb3NlKHN0YXRlX2ZkKTsKKwkJCQlzdGF0ZV9mZCA9IC0xOworCQkJCXJldCA9IC0xOworCQkJfQorCQl9CisJCWVsc2UKKwkJCXJldCA9IC0xOworCX0KKwlpZiAoc3RhdGVfZmQgPj0gMCkgeworCQlyZXdpbmQoc3RhdGVfZik7CisJCXdoaWxlIChmbG9jayhzdGF0ZV9mZCwgTE9DS19FWCkgPCAwKSB7CisJCQlpZiAoKGVycm5vID09IEVBR0FJTikgfHwgKGVycm5vID09IEVJTlRSKSkKKwkJCQljb250aW51ZTsKKwkJCWZjbG9zZShzdGF0ZV9mKTsKKwkJCWNsb3NlKHN0YXRlX2ZkKTsKKwkJCXN0YXRlX2ZkID0gLTE7CisJCQlyZXQgPSAtMTsKKwkJCWJyZWFrOworCQl9CisJfQorCWlmIChzdGF0ZV9mZCA+PSAwKSB7CisJCXVuc2lnbmVkIGludCBjbDsKKwkJdW5zaWduZWQgbG9uZyB0djEsIHR2MjsKKwkJaW50IGE7CisKKwkJaWYgKGZzY2FuZihzdGF0ZV9mLCAiY2xvY2s6ICUwNHggdHY6ICVsdSAlbHUgYWRqOiAlZFxuIiwKKwkJCSAgICZjbCwgJnR2MSwgJnR2MiwgJmEpID09IDQpIHsKKwkJCWNsb2NrX3NlcSA9IGNsICYgMHgzRkZGOworCQkJbGFzdC50dl9zZWMgPSB0djE7CisJCQlsYXN0LnR2X3VzZWMgPSB0djI7CisJCQlhZGp1c3RtZW50ID0gYTsKKwkJfQorCX0KKworCWlmICgobGFzdC50dl9zZWMgPT0gMCkgJiYgKGxhc3QudHZfdXNlYyA9PSAwKSkgeworCQlyYW5kb21fZ2V0X2J5dGVzKCZjbG9ja19zZXEsIHNpemVvZihjbG9ja19zZXEpKTsKKwkJY2xvY2tfc2VxICY9IDB4M0ZGRjsKKwkJZ2V0dGltZW9mZGF5KCZsYXN0LCAwKTsKKwkJbGFzdC50dl9zZWMtLTsKKwl9CisKK3RyeV9hZ2FpbjoKKwlnZXR0aW1lb2ZkYXkoJnR2LCAwKTsKKwlpZiAoKHR2LnR2X3NlYyA8IGxhc3QudHZfc2VjKSB8fAorCSAgICAoKHR2LnR2X3NlYyA9PSBsYXN0LnR2X3NlYykgJiYKKwkgICAgICh0di50dl91c2VjIDwgbGFzdC50dl91c2VjKSkpIHsKKwkJY2xvY2tfc2VxID0gKGNsb2NrX3NlcSsxKSAmIDB4M0ZGRjsKKwkJYWRqdXN0bWVudCA9IDA7CisJCWxhc3QgPSB0djsKKwl9IGVsc2UgaWYgKCh0di50dl9zZWMgPT0gbGFzdC50dl9zZWMpICYmCisJICAgICh0di50dl91c2VjID09IGxhc3QudHZfdXNlYykpIHsKKwkJaWYgKGFkanVzdG1lbnQgPj0gTUFYX0FESlVTVE1FTlQpCisJCQlnb3RvIHRyeV9hZ2FpbjsKKwkJYWRqdXN0bWVudCsrOworCX0gZWxzZSB7CisJCWFkanVzdG1lbnQgPSAwOworCQlsYXN0ID0gdHY7CisJfQorCisJY2xvY2tfcmVnID0gdHYudHZfdXNlYyoxMCArIGFkanVzdG1lbnQ7CisJY2xvY2tfcmVnICs9ICgodWludDY0X3QpIHR2LnR2X3NlYykqMTAwMDAwMDA7CisJY2xvY2tfcmVnICs9ICgoKHVpbnQ2NF90KSAweDAxQjIxREQyKSA8PCAzMikgKyAweDEzODE0MDAwOworCisJaWYgKG51bSAmJiAoKm51bSA+IDEpKSB7CisJCWFkanVzdG1lbnQgKz0gKm51bSAtIDE7CisJCWxhc3QudHZfdXNlYyArPSBhZGp1c3RtZW50IC8gMTA7CisJCWFkanVzdG1lbnQgPSBhZGp1c3RtZW50ICUgMTA7CisJCWxhc3QudHZfc2VjICs9IGxhc3QudHZfdXNlYyAvIDEwMDAwMDA7CisJCWxhc3QudHZfdXNlYyA9IGxhc3QudHZfdXNlYyAlIDEwMDAwMDA7CisJfQorCisJaWYgKHN0YXRlX2ZkID49IDApIHsKKwkJcmV3aW5kKHN0YXRlX2YpOworCQlsZW4gPSBmcHJpbnRmKHN0YXRlX2YsCisJCQkgICAgICAiY2xvY2s6ICUwNHggdHY6ICUwMTZsZCAlMDhsZCBhZGo6ICUwOGRcbiIsCisJCQkgICAgICBjbG9ja19zZXEsIChsb25nKWxhc3QudHZfc2VjLCAobG9uZylsYXN0LnR2X3VzZWMsIGFkanVzdG1lbnQpOworCQlmZmx1c2goc3RhdGVfZik7CisJCWlmIChmdHJ1bmNhdGUoc3RhdGVfZmQsIGxlbikgPCAwKSB7CisJCQlmcHJpbnRmKHN0YXRlX2YsICIgICAgICAgICAgICAgICAgICAgXG4iKTsKKwkJCWZmbHVzaChzdGF0ZV9mKTsKKwkJfQorCQlyZXdpbmQoc3RhdGVfZik7CisJCWZsb2NrKHN0YXRlX2ZkLCBMT0NLX1VOKTsKKwl9CisKKwkqY2xvY2tfaGlnaCA9IGNsb2NrX3JlZyA+PiAzMjsKKwkqY2xvY2tfbG93ID0gY2xvY2tfcmVnOworCSpyZXRfY2xvY2tfc2VxID0gY2xvY2tfc2VxOworCXJldHVybiByZXQ7Cit9CisKKyNpZiBkZWZpbmVkKEhBVkVfVVVJREQpICYmIGRlZmluZWQoSEFWRV9TWVNfVU5fSCkKKworLyoKKyAqIFRyeSB1c2luZyB0aGUgdXVpZGQgZGFlbW9uIHRvIGdlbmVyYXRlIHRoZSBVVUlECisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG5vbi16ZXJvIG9uIGZhaWx1cmUuCisgKi8KK3N0YXRpYyBpbnQgZ2V0X3V1aWRfdmlhX2RhZW1vbihpbnQgb3AsIHV1aWRfdCBvdXQsIGludCAqbnVtKQoreworCWNoYXIgb3BfYnVmWzY0XTsKKwlpbnQgb3BfbGVuOworCWludCBzOworCXNzaXplX3QgcmV0OworCWludDMyX3QgcmVwbHlfbGVuID0gMCwgZXhwZWN0ZWQgPSAxNjsKKwlzdHJ1Y3Qgc29ja2FkZHJfdW4gc3J2X2FkZHI7CisKKwlpZiAoc2l6ZW9mKFVVSUREX1NPQ0tFVF9QQVRIKSA+IHNpemVvZihzcnZfYWRkci5zdW5fcGF0aCkpCisJCXJldHVybiAtMTsKKworCWlmICgocyA9IHNvY2tldChBRl9VTklYLCBTT0NLX1NUUkVBTSwgMCkpIDwgMCkKKwkJcmV0dXJuIC0xOworCisJc3J2X2FkZHIuc3VuX2ZhbWlseSA9IEFGX1VOSVg7CisJeHN0cm5jcHkoc3J2X2FkZHIuc3VuX3BhdGgsIFVVSUREX1NPQ0tFVF9QQVRILCBzaXplb2Yoc3J2X2FkZHIuc3VuX3BhdGgpKTsKKworCWlmIChjb25uZWN0KHMsIChjb25zdCBzdHJ1Y3Qgc29ja2FkZHIgKikgJnNydl9hZGRyLAorCQkgICAgc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcl91bikpIDwgMCkKKwkJZ290byBmYWlsOworCisJb3BfYnVmWzBdID0gb3A7CisJb3BfbGVuID0gMTsKKwlpZiAob3AgPT0gVVVJRERfT1BfQlVMS19USU1FX1VVSUQpIHsKKwkJbWVtY3B5KG9wX2J1ZisxLCBudW0sIHNpemVvZigqbnVtKSk7CisJCW9wX2xlbiArPSBzaXplb2YoKm51bSk7CisJCWV4cGVjdGVkICs9IHNpemVvZigqbnVtKTsKKwl9CisKKwlyZXQgPSB3cml0ZShzLCBvcF9idWYsIG9wX2xlbik7CisJaWYgKHJldCA8IDEpCisJCWdvdG8gZmFpbDsKKworCXJldCA9IHJlYWRfYWxsKHMsIChjaGFyICopICZyZXBseV9sZW4sIHNpemVvZihyZXBseV9sZW4pKTsKKwlpZiAocmV0IDwgMCkKKwkJZ290byBmYWlsOworCisJaWYgKHJlcGx5X2xlbiAhPSBleHBlY3RlZCkKKwkJZ290byBmYWlsOworCisJcmV0ID0gcmVhZF9hbGwocywgb3BfYnVmLCByZXBseV9sZW4pOworCisJaWYgKG9wID09IFVVSUREX09QX0JVTEtfVElNRV9VVUlEKQorCQltZW1jcHkob3BfYnVmKzE2LCBudW0sIHNpemVvZihpbnQpKTsKKworCW1lbWNweShvdXQsIG9wX2J1ZiwgMTYpOworCisJY2xvc2Uocyk7CisJcmV0dXJuICgocmV0ID09IGV4cGVjdGVkKSA/IDAgOiAtMSk7CisKK2ZhaWw6CisJY2xvc2Uocyk7CisJcmV0dXJuIC0xOworfQorCisjZWxzZSAvKiAhZGVmaW5lZChIQVZFX1VVSUREKSAmJiBkZWZpbmVkKEhBVkVfU1lTX1VOX0gpICovCitzdGF0aWMgaW50IGdldF91dWlkX3ZpYV9kYWVtb24oaW50IG9wLCB1dWlkX3Qgb3V0LCBpbnQgKm51bSkKK3sKKwlyZXR1cm4gLTE7Cit9CisjZW5kaWYKKworaW50IF9fdXVpZF9nZW5lcmF0ZV90aW1lKHV1aWRfdCBvdXQsIGludCAqbnVtKQoreworCXN0YXRpYyB1bnNpZ25lZCBjaGFyIG5vZGVfaWRbNl07CisJc3RhdGljIGludCBoYXNfaW5pdCA9IDA7CisJc3RydWN0IHV1aWQgdXU7CisJdWludDMyX3QJY2xvY2tfbWlkOworCWludCByZXQ7CisKKwlpZiAoIWhhc19pbml0KSB7CisJCWlmIChnZXRfbm9kZV9pZChub2RlX2lkKSA8PSAwKSB7CisJCQlyYW5kb21fZ2V0X2J5dGVzKG5vZGVfaWQsIDYpOworCQkJLyoKKwkJCSAqIFNldCBtdWx0aWNhc3QgYml0LCB0byBwcmV2ZW50IGNvbmZsaWN0cworCQkJICogd2l0aCBJRUVFIDgwMiBhZGRyZXNzZXMgb2J0YWluZWQgZnJvbQorCQkJICogbmV0d29yayBjYXJkcworCQkJICovCisJCQlub2RlX2lkWzBdIHw9IDB4MDE7CisJCX0KKwkJaGFzX2luaXQgPSAxOworCX0KKwlyZXQgPSBnZXRfY2xvY2soJmNsb2NrX21pZCwgJnV1LnRpbWVfbG93LCAmdXUuY2xvY2tfc2VxLCBudW0pOworCXV1LmNsb2NrX3NlcSB8PSAweDgwMDA7CisJdXUudGltZV9taWQgPSAodWludDE2X3QpIGNsb2NrX21pZDsKKwl1dS50aW1lX2hpX2FuZF92ZXJzaW9uID0gKChjbG9ja19taWQgPj4gMTYpICYgMHgwRkZGKSB8IDB4MTAwMDsKKwltZW1jcHkodXUubm9kZSwgbm9kZV9pZCwgNik7CisJdXVpZF9wYWNrKCZ1dSwgb3V0KTsKKwlyZXR1cm4gcmV0OworfQorCisvKgorICogR2VuZXJhdGUgdGltZS1iYXNlZCBVVUlEIGFuZCBzdG9yZSBpdCB0byBAb3V0CisgKgorICogVHJpZXMgdG8gZ3VhcmFudGVlIHVuaXF1ZW5lc3Mgb2YgdGhlIGdlbmVyYXRlZCBVVUlEcyBieSBvYnRhaW5pbmcgdGhlbSBmcm9tIHRoZSB1dWlkZCBkYWVtb24sCisgKiBvciwgaWYgdXVpZGQgaXMgbm90IHVzYWJsZSwgYnkgdXNpbmcgdGhlIGdsb2JhbCBjbG9jayBzdGF0ZSBjb3VudGVyIChzZWUgZ2V0X2Nsb2NrKCkpLgorICogSWYgbmVpdGhlciBvZiB0aGVzZSBpcyBwb3NzaWJsZSAoZS5nLiBiZWNhdXNlIG9mIGluc3VmZmljaWVudCBwZXJtaXNzaW9ucyksIGl0IGdlbmVyYXRlcworICogdGhlIFVVSUQgYW55d2F5LCBidXQgcmV0dXJucyAtMS4gT3RoZXJ3aXNlLCByZXR1cm5zIDAuCisgKi8KK3N0YXRpYyBpbnQgdXVpZF9nZW5lcmF0ZV90aW1lX2dlbmVyaWModXVpZF90IG91dCkgeworI2lmZGVmIEhBVkVfVExTCisJVEhSRUFEX0xPQ0FMIGludAkJbnVtID0gMDsKKwlUSFJFQURfTE9DQUwgc3RydWN0IHV1aWQJdXU7CisJVEhSRUFEX0xPQ0FMIHRpbWVfdAkJbGFzdF90aW1lID0gMDsKKwl0aW1lX3QJCQkJbm93OworCisJaWYgKG51bSA+IDApIHsKKwkJbm93ID0gdGltZSgwKTsKKwkJaWYgKG5vdyA+IGxhc3RfdGltZSsxKQorCQkJbnVtID0gMDsKKwl9CisJaWYgKG51bSA8PSAwKSB7CisJCW51bSA9IDEwMDA7CisJCWlmIChnZXRfdXVpZF92aWFfZGFlbW9uKFVVSUREX09QX0JVTEtfVElNRV9VVUlELAorCQkJCQlvdXQsICZudW0pID09IDApIHsKKwkJCWxhc3RfdGltZSA9IHRpbWUoMCk7CisJCQl1dWlkX3VucGFjayhvdXQsICZ1dSk7CisJCQludW0tLTsKKwkJCXJldHVybiAwOworCQl9CisJCW51bSA9IDA7CisJfQorCWlmIChudW0gPiAwKSB7CisJCXV1LnRpbWVfbG93Kys7CisJCWlmICh1dS50aW1lX2xvdyA9PSAwKSB7CisJCQl1dS50aW1lX21pZCsrOworCQkJaWYgKHV1LnRpbWVfbWlkID09IDApCisJCQkJdXUudGltZV9oaV9hbmRfdmVyc2lvbisrOworCQl9CisJCW51bS0tOworCQl1dWlkX3BhY2soJnV1LCBvdXQpOworCQlyZXR1cm4gMDsKKwl9CisjZWxzZQorCWlmIChnZXRfdXVpZF92aWFfZGFlbW9uKFVVSUREX09QX1RJTUVfVVVJRCwgb3V0LCAwKSA9PSAwKQorCQlyZXR1cm4gMDsKKyNlbmRpZgorCisJcmV0dXJuIF9fdXVpZF9nZW5lcmF0ZV90aW1lKG91dCwgMCk7Cit9CisKKy8qCisgKiBHZW5lcmF0ZSB0aW1lLWJhc2VkIFVVSUQgYW5kIHN0b3JlIGl0IHRvIEBvdXQuCisgKgorICogRGlzY2FyZHMgcmV0dXJuIHZhbHVlIGZyb20gdXVpZF9nZW5lcmF0ZV90aW1lX2dlbmVyaWMoKQorICovCit2b2lkIHV1aWRfZ2VuZXJhdGVfdGltZSh1dWlkX3Qgb3V0KQoreworCSh2b2lkKXV1aWRfZ2VuZXJhdGVfdGltZV9nZW5lcmljKG91dCk7Cit9CisKKworaW50IHV1aWRfZ2VuZXJhdGVfdGltZV9zYWZlKHV1aWRfdCBvdXQpCit7CisJcmV0dXJuIHV1aWRfZ2VuZXJhdGVfdGltZV9nZW5lcmljKG91dCk7Cit9CisKKwordm9pZCBfX3V1aWRfZ2VuZXJhdGVfcmFuZG9tKHV1aWRfdCBvdXQsIGludCAqbnVtKQoreworCXV1aWRfdAlidWY7CisJc3RydWN0IHV1aWQgdXU7CisJaW50IGksIG47CisKKwlpZiAoIW51bSB8fCAhKm51bSkKKwkJbiA9IDE7CisJZWxzZQorCQluID0gKm51bTsKKworCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKKwkJcmFuZG9tX2dldF9ieXRlcyhidWYsIHNpemVvZihidWYpKTsKKwkJdXVpZF91bnBhY2soYnVmLCAmdXUpOworCisJCXV1LmNsb2NrX3NlcSA9ICh1dS5jbG9ja19zZXEgJiAweDNGRkYpIHwgMHg4MDAwOworCQl1dS50aW1lX2hpX2FuZF92ZXJzaW9uID0gKHV1LnRpbWVfaGlfYW5kX3ZlcnNpb24gJiAweDBGRkYpCisJCQl8IDB4NDAwMDsKKwkJdXVpZF9wYWNrKCZ1dSwgb3V0KTsKKwkJb3V0ICs9IHNpemVvZih1dWlkX3QpOworCX0KK30KKwordm9pZCB1dWlkX2dlbmVyYXRlX3JhbmRvbSh1dWlkX3Qgb3V0KQoreworCWludAludW0gPSAxOworCS8qIE5vIHJlYWwgcmVhc29uIHRvIHVzZSB0aGUgZGFlbW9uIGZvciByYW5kb20gdXVpZCdzIC0tIHlldCAqLworCisJX191dWlkX2dlbmVyYXRlX3JhbmRvbShvdXQsICZudW0pOworfQorCisvKgorICogQ2hlY2sgd2hldGhlciBnb29kIHJhbmRvbSBzb3VyY2UgKC9kZXYvcmFuZG9tIG9yIC9kZXYvdXJhbmRvbSkKKyAqIGlzIGF2YWlsYWJsZS4KKyAqLworc3RhdGljIGludCBoYXZlX3JhbmRvbV9zb3VyY2Uodm9pZCkKK3sKKwlzdHJ1Y3Qgc3RhdCBzOworCisJcmV0dXJuICghc3RhdCgiL2Rldi9yYW5kb20iLCAmcykgfHwgIXN0YXQoIi9kZXYvdXJhbmRvbSIsICZzKSk7Cit9CisKKworLyoKKyAqIFRoaXMgaXMgdGhlIGdlbmVyaWMgZnJvbnQtZW5kIHRvIHV1aWRfZ2VuZXJhdGVfcmFuZG9tIGFuZAorICogdXVpZF9nZW5lcmF0ZV90aW1lLiAgSXQgdXNlcyB1dWlkX2dlbmVyYXRlX3JhbmRvbSBvbmx5IGlmCisgKiAvZGV2L3VyYW5kb20gaXMgYXZhaWxhYmxlLCBzaW5jZSBvdGhlcndpc2Ugd2Ugd29uJ3QgaGF2ZQorICogaGlnaC1xdWFsaXR5IHJhbmRvbW5lc3MuCisgKi8KK3ZvaWQgdXVpZF9nZW5lcmF0ZSh1dWlkX3Qgb3V0KQoreworCWlmIChoYXZlX3JhbmRvbV9zb3VyY2UoKSkKKwkJdXVpZF9nZW5lcmF0ZV9yYW5kb20ob3V0KTsKKwllbHNlCisJCXV1aWRfZ2VuZXJhdGVfdGltZShvdXQpOworfQpkaWZmIC0tZ2l0IGEvbGlidXVpZC9zcmMvaXNudWxsLmMgYi9saWJ1dWlkL3NyYy9pc251bGwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MzFlN2U3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlidXVpZC9zcmMvaXNudWxsLmMKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIGlzbnVsbC5jIC0tLSBDaGVjayB3aGV0aGVyIG9yIG5vdCB0aGUgVVVJRCBpcyBudWxsCisgKgorICogQ29weXJpZ2h0IChDKSAxOTk2LCAxOTk3IFRoZW9kb3JlIFRzJ28uCisgKgorICogJUJlZ2luLUhlYWRlciUKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgYW5kIHRoZSBlbnRpcmUgcGVybWlzc2lvbiBub3RpY2UgaW4gaXRzIGVudGlyZXR5LAorICogICAgaW5jbHVkaW5nIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnRpZXMuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZQorICogICAgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvcgorICogICAgd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVECisgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgQUxMIE9GCisgKiBXSElDSCBBUkUgSEVSRUJZIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVAorICogT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SCisgKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFCisgKiBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBOT1QgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSAorICogREFNQUdFLgorICogJUVuZC1IZWFkZXIlCisgKi8KKworI2luY2x1ZGUgInV1aWRQLmgiCisKKy8qIFJldHVybnMgMSBpZiB0aGUgdXVpZCBpcyB0aGUgTlVMTCB1dWlkICovCitpbnQgdXVpZF9pc19udWxsKGNvbnN0IHV1aWRfdCB1dSkKK3sKKwljb25zdCB1bnNpZ25lZCBjaGFyIAkqY3A7CisJaW50CQkJaTsKKworCWZvciAoaT0wLCBjcCA9IHV1OyBpIDwgMTY7IGkrKykKKwkJaWYgKCpjcCsrKQorCQkJcmV0dXJuIDA7CisJcmV0dXJuIDE7Cit9CisKZGlmZiAtLWdpdCBhL2xpYnV1aWQvc3JjL2xpYnV1aWQuc3ltIGIvbGlidXVpZC9zcmMvbGlidXVpZC5zeW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjhhMjA3NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnV1aWQvc3JjL2xpYnV1aWQuc3ltCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBUaGUgc3ltYm9sIHZlcnNpb25pbmcgZW5zdXJlcyB0aGF0IGEgbmV3IGFwcGxpY2F0aW9uIHJlcXVpcmluZyBzeW1ib2wgJ2ZvbycKKyAqIGNhbid0IHJ1biB3aXRoIG9sZCBsaWJicmFyeS5zbyBub3QgcHJvdmlkaW5nICdmb28nIC0gdGhlIGdsb2JhbCBTT05BTUUKKyAqIHZlcnNpb24gaW5mbyBjYW4ndCBlbmZvcmNlIHRoaXMgc2luY2Ugd2UgbmV2ZXIgY2hhbmdlIHRoZSBTT05BTUUuCisgKgorICogVGhlIG9yaWdpbmFsIGxpYnV1aWQgZnJvbSBlMmZzcHJvZ3MgKDw9MS40MS41KSBkb2VzIG5vdCB0byB1c2UKKyAqIHN5bWJvbCB2ZXJzaW9uaW5nIC0tIGFsbCB0aGUgb3JpZ2luYWwgc3ltYm9scyBhcmUgaW4gVVVJRF8xLjAgbm93LgorICoKKyAqIENvcHlyaWdodCAoQykgMjAxMS0yMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICovCitVVUlEXzEuMCB7CitnbG9iYWw6CisJdXVpZF9jbGVhcjsKKwl1dWlkX2NvbXBhcmU7CisJdXVpZF9jb3B5OworCXV1aWRfZ2VuZXJhdGU7CisJdXVpZF9nZW5lcmF0ZV9yYW5kb207CisJdXVpZF9nZW5lcmF0ZV90aW1lOworCXV1aWRfaXNfbnVsbDsKKwl1dWlkX3BhcnNlOworCXV1aWRfdW5wYXJzZTsKKwl1dWlkX3VucGFyc2VfbG93ZXI7CisJdXVpZF91bnBhcnNlX3VwcGVyOworCXV1aWRfdGltZTsKKwl1dWlkX3R5cGU7CisJdXVpZF92YXJpYW50OworfTsKKworLyoKKyAqIHZlcnNpb24ocykgc2luY2UgdXRpbC1saW51eCAyLjIwCisgKi8KK1VVSURfMi4yMCB7CitnbG9iYWw6CisJdXVpZF9nZW5lcmF0ZV90aW1lX3NhZmU7Cit9IFVVSURfMS4wOworCisKKy8qCisgKiBfX3V1aWRfKiB0aGlzIGlzIG5vdCBwYXJ0IG9mIHRoZSBvZmZpY2lhbCBBUEksIHRoaXMgaXMKKyAqIHV1aWRkICh1dWlkIGRhZW1vbikgc3BlY2lmaWMgc3R1ZmYuIEhlbGwuCisgKi8KK1VVSUREX1BSSVZBVEUgeworZ2xvYmFsOgorCV9fdXVpZF9nZW5lcmF0ZV90aW1lOworCV9fdXVpZF9nZW5lcmF0ZV9yYW5kb207Citsb2NhbDoKKwkqOworfTsKZGlmZiAtLWdpdCBhL2xpYnV1aWQvc3JjL3BhY2suYyBiL2xpYnV1aWQvc3JjL3BhY2suYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZTEyNDc2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlidXVpZC9zcmMvcGFjay5jCkBAIC0wLDAgKzEsNjkgQEAKKy8qCisgKiBJbnRlcm5hbCByb3V0aW5lIGZvciBwYWNraW5nIFVVSURzCisgKgorICogQ29weXJpZ2h0IChDKSAxOTk2LCAxOTk3IFRoZW9kb3JlIFRzJ28uCisgKgorICogJUJlZ2luLUhlYWRlciUKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgYW5kIHRoZSBlbnRpcmUgcGVybWlzc2lvbiBub3RpY2UgaW4gaXRzIGVudGlyZXR5LAorICogICAgaW5jbHVkaW5nIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnRpZXMuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZQorICogICAgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvcgorICogICAgd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVECisgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgQUxMIE9GCisgKiBXSElDSCBBUkUgSEVSRUJZIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVAorICogT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SCisgKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFCisgKiBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBOT1QgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSAorICogREFNQUdFLgorICogJUVuZC1IZWFkZXIlCisgKi8KKworI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgInV1aWRQLmgiCisKK3ZvaWQgdXVpZF9wYWNrKGNvbnN0IHN0cnVjdCB1dWlkICp1dSwgdXVpZF90IHB0cikKK3sKKwl1aW50MzJfdAl0bXA7CisJdW5zaWduZWQgY2hhcgkqb3V0ID0gcHRyOworCisJdG1wID0gdXUtPnRpbWVfbG93OworCW91dFszXSA9ICh1bnNpZ25lZCBjaGFyKSB0bXA7CisJdG1wID4+PSA4OworCW91dFsyXSA9ICh1bnNpZ25lZCBjaGFyKSB0bXA7CisJdG1wID4+PSA4OworCW91dFsxXSA9ICh1bnNpZ25lZCBjaGFyKSB0bXA7CisJdG1wID4+PSA4OworCW91dFswXSA9ICh1bnNpZ25lZCBjaGFyKSB0bXA7CisKKwl0bXAgPSB1dS0+dGltZV9taWQ7CisJb3V0WzVdID0gKHVuc2lnbmVkIGNoYXIpIHRtcDsKKwl0bXAgPj49IDg7CisJb3V0WzRdID0gKHVuc2lnbmVkIGNoYXIpIHRtcDsKKworCXRtcCA9IHV1LT50aW1lX2hpX2FuZF92ZXJzaW9uOworCW91dFs3XSA9ICh1bnNpZ25lZCBjaGFyKSB0bXA7CisJdG1wID4+PSA4OworCW91dFs2XSA9ICh1bnNpZ25lZCBjaGFyKSB0bXA7CisKKwl0bXAgPSB1dS0+Y2xvY2tfc2VxOworCW91dFs5XSA9ICh1bnNpZ25lZCBjaGFyKSB0bXA7CisJdG1wID4+PSA4OworCW91dFs4XSA9ICh1bnNpZ25lZCBjaGFyKSB0bXA7CisKKwltZW1jcHkob3V0KzEwLCB1dS0+bm9kZSwgNik7Cit9CisKZGlmZiAtLWdpdCBhL2xpYnV1aWQvc3JjL3BhcnNlLmMgYi9saWJ1dWlkL3NyYy9wYXJzZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3NDM4M2UKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ1dWlkL3NyYy9wYXJzZS5jCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisgKiBwYXJzZS5jIC0tLSBVVUlEIHBhcnNpbmcKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcgVGhlb2RvcmUgVHMnby4KKyAqCisgKiAlQmVnaW4tSGVhZGVyJQorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCBhbmQgdGhlIGVudGlyZSBwZXJtaXNzaW9uIG5vdGljZSBpbiBpdHMgZW50aXJldHksCisgKiAgICBpbmNsdWRpbmcgdGhlIGRpc2NsYWltZXIgb2Ygd2FycmFudGllcy4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlCisgKiAgICBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yCisgKiAgICB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQKKyAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBBTEwgT0YKKyAqIFdISUNIIEFSRSBIRVJFQlkgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UCisgKiBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IKKyAqIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUKKyAqIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIE5PVCBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICisgKiBEQU1BR0UuCisgKiAlRW5kLUhlYWRlciUKKyAqLworCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorCisjaW5jbHVkZSAidXVpZFAuaCIKKworaW50IHV1aWRfcGFyc2UoY29uc3QgY2hhciAqaW4sIHV1aWRfdCB1dSkKK3sKKwlzdHJ1Y3QgdXVpZAl1dWlkOworCWludCAJCWk7CisJY29uc3QgY2hhcgkqY3A7CisJY2hhcgkJYnVmWzNdOworCisJaWYgKHN0cmxlbihpbikgIT0gMzYpCisJCXJldHVybiAtMTsKKwlmb3IgKGk9MCwgY3AgPSBpbjsgaSA8PSAzNjsgaSsrLGNwKyspIHsKKwkJaWYgKChpID09IDgpIHx8IChpID09IDEzKSB8fCAoaSA9PSAxOCkgfHwKKwkJICAgIChpID09IDIzKSkgeworCQkJaWYgKCpjcCA9PSAnLScpCisJCQkJY29udGludWU7CisJCQllbHNlCisJCQkJcmV0dXJuIC0xOworCQl9CisJCWlmIChpPT0gMzYpCisJCQlpZiAoKmNwID09IDApCisJCQkJY29udGludWU7CisJCWlmICghaXN4ZGlnaXQoKmNwKSkKKwkJCXJldHVybiAtMTsKKwl9CisJdXVpZC50aW1lX2xvdyA9IHN0cnRvdWwoaW4sIE5VTEwsIDE2KTsKKwl1dWlkLnRpbWVfbWlkID0gc3RydG91bChpbis5LCBOVUxMLCAxNik7CisJdXVpZC50aW1lX2hpX2FuZF92ZXJzaW9uID0gc3RydG91bChpbisxNCwgTlVMTCwgMTYpOworCXV1aWQuY2xvY2tfc2VxID0gc3RydG91bChpbisxOSwgTlVMTCwgMTYpOworCWNwID0gaW4rMjQ7CisJYnVmWzJdID0gMDsKKwlmb3IgKGk9MDsgaSA8IDY7IGkrKykgeworCQlidWZbMF0gPSAqY3ArKzsKKwkJYnVmWzFdID0gKmNwKys7CisJCXV1aWQubm9kZVtpXSA9IHN0cnRvdWwoYnVmLCBOVUxMLCAxNik7CisJfQorCisJdXVpZF9wYWNrKCZ1dWlkLCB1dSk7CisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9saWJ1dWlkL3NyYy90ZXN0X3V1aWQuYyBiL2xpYnV1aWQvc3JjL3Rlc3RfdXVpZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkMTU1YjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ1dWlkL3NyYy90ZXN0X3V1aWQuYwpAQCAtMCwwICsxLDEyMCBAQAorLyoKKyAqIHRzdF91dWlkLmMgLS0tIHRlc3QgcHJvZ3JhbSBmcm9tIHRoZSBVVUlEIGxpYnJhcnkKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcsIDE5OTggVGhlb2RvcmUgVHMnby4KKyAqCisgKiAlQmVnaW4tSGVhZGVyJQorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCBhbmQgdGhlIGVudGlyZSBwZXJtaXNzaW9uIG5vdGljZSBpbiBpdHMgZW50aXJldHksCisgKiAgICBpbmNsdWRpbmcgdGhlIGRpc2NsYWltZXIgb2Ygd2FycmFudGllcy4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlCisgKiAgICBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yCisgKiAgICB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQKKyAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBBTEwgT0YKKyAqIFdISUNIIEFSRSBIRVJFQlkgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UCisgKiBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IKKyAqIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUKKyAqIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIE5PVCBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICisgKiBEQU1BR0UuCisgKiAlRW5kLUhlYWRlciUKKyAqLworCisjaWZkZWYgX1dJTjMyCisjZGVmaW5lIF9XSU4zMl9XSU5OVCAweDA1MDAKKyNpbmNsdWRlIDx3aW5kb3dzLmg+CisjZGVmaW5lIFVVSUQgTVlVVUlECisjZW5kaWYKKworI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAidXVpZC5oIgorCitzdGF0aWMgaW50IHRlc3RfdXVpZChjb25zdCBjaGFyICogdXVpZCwgaW50IGlzVmFsaWQpCit7CisJc3RhdGljIGNvbnN0IGNoYXIgKiB2YWxpZFN0clsyXSA9IHsiaW52YWxpZCIsICJ2YWxpZCJ9OworCXV1aWRfdCB1dWlkQml0czsKKwlpbnQgcGFyc2VkT2s7CisKKwlwYXJzZWRPayA9IHV1aWRfcGFyc2UodXVpZCwgdXVpZEJpdHMpID09IDA7CisKKwlwcmludGYoIiVzIGlzICVzIiwgdXVpZCwgdmFsaWRTdHJbaXNWYWxpZF0pOworCWlmIChwYXJzZWRPayAhPSBpc1ZhbGlkKSB7CisJCXByaW50ZigiIGJ1dCB1dWlkX3BhcnNlIHNheXMgJXNcbiIsIHZhbGlkU3RyW3BhcnNlZE9rXSk7CisJCXJldHVybiAxOworCX0KKwlwcmludGYoIiwgT0tcbiIpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNoZWNrX3V1aWRzX2luX2ZpbGUoY29uc3QgY2hhciAqZmlsZSkKK3sKKwlpbnQgZmQsIHJldCA9IDA7CisJc2l6ZV90IHN6OworCWNoYXIgc3RyW3NpemVvZigiMDEyMzQ1NjctODlhYi1jZGVmLTAxMzQtNTY3ODkwYWJjZWRmIildOworCXV1aWRfdCB1dWlkQml0czsKKworCWlmICgoZmQgPSBvcGVuKGZpbGUsIE9fUkRPTkxZKSkgPCAwKSB7CisJCXdhcm4oIiVzIiwgZmlsZSk7CisJCXJldHVybiAxOworCX0KKwl3aGlsZSAoKHN6ID0gcmVhZChmZCwgc3RyLCBzaXplb2Yoc3RyKSkpICE9IDApIHsKKwkJaWYgKGlzc3BhY2Uoc3RyW3NpemVvZihzdHIpIC0gMV0pKQorCQkJc3RyW3NpemVvZihzdHIpIC0gMV0gPSAnXDAnOworCQlpZiAodXVpZF9wYXJzZShzdHIsIHV1aWRCaXRzKSkgeworCQkJd2FybngoIiVzOiAlcyIsIGZpbGUsIHN0cik7CisJCQlyZXQrKzsKKwkJfQorCX0KKwlyZXR1cm4gcmV0OworfQorCitpbnQKK21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBmYWlsZWQgPSAwOworCisJaWYgKGFyZ2MgPCAyKSB7CisJCWZhaWxlZCArPSB0ZXN0X3V1aWQoIjg0OTQ5Y2M1LTQ3MDEtNGE4NC04OTViLTM1NGM1ODRhOTgxYiIsIDEpOworCQlmYWlsZWQgKz0gdGVzdF91dWlkKCI4NDk0OUNDNS00NzAxLTRBODQtODk1Qi0zNTRDNTg0QTk4MUIiLCAxKTsKKwkJZmFpbGVkICs9IHRlc3RfdXVpZCgiODQ5NDljYzUtNDcwMS00YTg0LTg5NWItMzU0YzU4NGE5ODFiYyIsIDApOworCQlmYWlsZWQgKz0gdGVzdF91dWlkKCI4NDk0OWNjNS00NzAxLTRhODQtODk1Yi0zNTRjNTg0YTk4MSIsIDApOworCQlmYWlsZWQgKz0gdGVzdF91dWlkKCI4NDk0OWNjNXg0NzAxLTRhODQtODk1Yi0zNTRjNTg0YTk4MWIiLCAwKTsKKwkJZmFpbGVkICs9IHRlc3RfdXVpZCgiODQ5NDljYzUwNDcwMS00YTg0LTg5NWItMzU0YzU4NGE5ODFiIiwgMCk7CisJCWZhaWxlZCArPSB0ZXN0X3V1aWQoIjg0OTQ5Y2M1LTQ3MDEwNGE4NC04OTViLTM1NGM1ODRhOTgxYiIsIDApOworCQlmYWlsZWQgKz0gdGVzdF91dWlkKCI4NDk0OWNjNS00NzAxLTRhODQwODk1Yi0zNTRjNTg0YTk4MWIiLCAwKTsKKwkJZmFpbGVkICs9IHRlc3RfdXVpZCgiODQ5NDljYzUtNDcwMS00YTg0LTg5NWIwMzU0YzU4NGE5ODFiIiwgMCk7CisJCWZhaWxlZCArPSB0ZXN0X3V1aWQoImc0OTQ5Y2M1LTQ3MDEtNGE4NC04OTViLTM1NGM1ODRhOTgxYiIsIDApOworCQlmYWlsZWQgKz0gdGVzdF91dWlkKCI4NDk0OWNjNS00NzAxLTRhODQtODk1Yi0zNTRjNTg0YTk4MWciLCAwKTsKKwkJZmFpbGVkICs9IHRlc3RfdXVpZCgiMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwIiwgMSk7CisJCWZhaWxlZCArPSB0ZXN0X3V1aWQoIjAxMjM0NTY3LTg5YWItY2RlZi0wMTM0LTU2Nzg5MGFiY2VkZiIsIDEpOworCQlmYWlsZWQgKz0gdGVzdF91dWlkKCJmZmZmZmZmZi1mZmZmLWZmZmYtZmZmZi1mZmZmZmZmZmZmZmYiLCAxKTsKKwl9IGVsc2UgeworCQlpbnQgaTsKKworCQlmb3IgKGkgPSAxOyBpIDwgYXJnYzsgaSsrKQorCQkJZmFpbGVkICs9IGNoZWNrX3V1aWRzX2luX2ZpbGUoYXJndltpXSk7CisJfQorCWlmIChmYWlsZWQpIHsKKwkJcHJpbnRmKCIlZCBmYWlsdXJlcy5cbiIsIGZhaWxlZCk7CisJCWV4aXQoMSk7CisJfQorCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvbGlidXVpZC9zcmMvdW5wYWNrLmMgYi9saWJ1dWlkL3NyYy91bnBhY2suYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZWFhZmYzCi0tLSAvZGV2L251bGwKKysrIGIvbGlidXVpZC9zcmMvdW5wYWNrLmMKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIEludGVybmFsIHJvdXRpbmUgZm9yIHVucGFja2luZyBVVUlECisgKgorICogQ29weXJpZ2h0IChDKSAxOTk2LCAxOTk3IFRoZW9kb3JlIFRzJ28uCisgKgorICogJUJlZ2luLUhlYWRlciUKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgYW5kIHRoZSBlbnRpcmUgcGVybWlzc2lvbiBub3RpY2UgaW4gaXRzIGVudGlyZXR5LAorICogICAgaW5jbHVkaW5nIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnRpZXMuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZQorICogICAgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvcgorICogICAgd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVECisgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgQUxMIE9GCisgKiBXSElDSCBBUkUgSEVSRUJZIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVAorICogT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SCisgKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFCisgKiBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBOT1QgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSAorICogREFNQUdFLgorICogJUVuZC1IZWFkZXIlCisgKi8KKworI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgInV1aWRQLmgiCisKK3ZvaWQgdXVpZF91bnBhY2soY29uc3QgdXVpZF90IGluLCBzdHJ1Y3QgdXVpZCAqdXUpCit7CisJY29uc3QgdWludDhfdAkqcHRyID0gaW47CisJdWludDMyX3QJCXRtcDsKKworCXRtcCA9ICpwdHIrKzsKKwl0bXAgPSAodG1wIDw8IDgpIHwgKnB0cisrOworCXRtcCA9ICh0bXAgPDwgOCkgfCAqcHRyKys7CisJdG1wID0gKHRtcCA8PCA4KSB8ICpwdHIrKzsKKwl1dS0+dGltZV9sb3cgPSB0bXA7CisKKwl0bXAgPSAqcHRyKys7CisJdG1wID0gKHRtcCA8PCA4KSB8ICpwdHIrKzsKKwl1dS0+dGltZV9taWQgPSB0bXA7CisKKwl0bXAgPSAqcHRyKys7CisJdG1wID0gKHRtcCA8PCA4KSB8ICpwdHIrKzsKKwl1dS0+dGltZV9oaV9hbmRfdmVyc2lvbiA9IHRtcDsKKworCXRtcCA9ICpwdHIrKzsKKwl0bXAgPSAodG1wIDw8IDgpIHwgKnB0cisrOworCXV1LT5jbG9ja19zZXEgPSB0bXA7CisKKwltZW1jcHkodXUtPm5vZGUsIHB0ciwgNik7Cit9CisKZGlmZiAtLWdpdCBhL2xpYnV1aWQvc3JjL3VucGFyc2UuYyBiL2xpYnV1aWQvc3JjL3VucGFyc2UuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOTViYmIwCi0tLSAvZGV2L251bGwKKysrIGIvbGlidXVpZC9zcmMvdW5wYXJzZS5jCkBAIC0wLDAgKzEsNzYgQEAKKy8qCisgKiB1bnBhcnNlLmMgLS0gY29udmVydCBhIFVVSUQgdG8gc3RyaW5nCisgKgorICogQ29weXJpZ2h0IChDKSAxOTk2LCAxOTk3IFRoZW9kb3JlIFRzJ28uCisgKgorICogJUJlZ2luLUhlYWRlciUKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgYW5kIHRoZSBlbnRpcmUgcGVybWlzc2lvbiBub3RpY2UgaW4gaXRzIGVudGlyZXR5LAorICogICAgaW5jbHVkaW5nIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnRpZXMuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZQorICogICAgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvcgorICogICAgd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVECisgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgQUxMIE9GCisgKiBXSElDSCBBUkUgSEVSRUJZIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVAorICogT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SCisgKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFCisgKiBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBOT1QgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSAorICogREFNQUdFLgorICogJUVuZC1IZWFkZXIlCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisKKyNpbmNsdWRlICJ1dWlkUC5oIgorCitzdGF0aWMgY29uc3QgY2hhciAqZm10X2xvd2VyID0KKwkiJTA4eC0lMDR4LSUwNHgtJTAyeCUwMngtJTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4IjsKKworc3RhdGljIGNvbnN0IGNoYXIgKmZtdF91cHBlciA9CisJIiUwOFgtJTA0WC0lMDRYLSUwMlglMDJYLSUwMlglMDJYJTAyWCUwMlglMDJYJTAyWCI7CisKKyNpZmRlZiBVVUlEX1VOUEFSU0VfREVGQVVMVF9VUFBFUgorI2RlZmluZSBGTVRfREVGQVVMVCBmbXRfdXBwZXIKKyNlbHNlCisjZGVmaW5lIEZNVF9ERUZBVUxUIGZtdF9sb3dlcgorI2VuZGlmCisKK3N0YXRpYyB2b2lkIHV1aWRfdW5wYXJzZV94KGNvbnN0IHV1aWRfdCB1dSwgY2hhciAqb3V0LCBjb25zdCBjaGFyICpmbXQpCit7CisJc3RydWN0IHV1aWQgdXVpZDsKKworCXV1aWRfdW5wYWNrKHV1LCAmdXVpZCk7CisJc3ByaW50ZihvdXQsIGZtdCwKKwkJdXVpZC50aW1lX2xvdywgdXVpZC50aW1lX21pZCwgdXVpZC50aW1lX2hpX2FuZF92ZXJzaW9uLAorCQl1dWlkLmNsb2NrX3NlcSA+PiA4LCB1dWlkLmNsb2NrX3NlcSAmIDB4RkYsCisJCXV1aWQubm9kZVswXSwgdXVpZC5ub2RlWzFdLCB1dWlkLm5vZGVbMl0sCisJCXV1aWQubm9kZVszXSwgdXVpZC5ub2RlWzRdLCB1dWlkLm5vZGVbNV0pOworfQorCit2b2lkIHV1aWRfdW5wYXJzZV9sb3dlcihjb25zdCB1dWlkX3QgdXUsIGNoYXIgKm91dCkKK3sKKwl1dWlkX3VucGFyc2VfeCh1dSwgb3V0LAlmbXRfbG93ZXIpOworfQorCit2b2lkIHV1aWRfdW5wYXJzZV91cHBlcihjb25zdCB1dWlkX3QgdXUsIGNoYXIgKm91dCkKK3sKKwl1dWlkX3VucGFyc2VfeCh1dSwgb3V0LAlmbXRfdXBwZXIpOworfQorCit2b2lkIHV1aWRfdW5wYXJzZShjb25zdCB1dWlkX3QgdXUsIGNoYXIgKm91dCkKK3sKKwl1dWlkX3VucGFyc2VfeCh1dSwgb3V0LCBGTVRfREVGQVVMVCk7Cit9CmRpZmYgLS1naXQgYS9saWJ1dWlkL3NyYy91dWlkLmggYi9saWJ1dWlkL3NyYy91dWlkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzBiZDRjMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnV1aWQvc3JjL3V1aWQuaApAQCAtMCwwICsxLDEwNCBAQAorLyoKKyAqIFB1YmxpYyBpbmNsdWRlIGZpbGUgZm9yIHRoZSBVVUlEIGxpYnJhcnkKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcsIDE5OTggVGhlb2RvcmUgVHMnby4KKyAqCisgKiAlQmVnaW4tSGVhZGVyJQorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCBhbmQgdGhlIGVudGlyZSBwZXJtaXNzaW9uIG5vdGljZSBpbiBpdHMgZW50aXJldHksCisgKiAgICBpbmNsdWRpbmcgdGhlIGRpc2NsYWltZXIgb2Ygd2FycmFudGllcy4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlCisgKiAgICBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yCisgKiAgICB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQKKyAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBBTEwgT0YKKyAqIFdISUNIIEFSRSBIRVJFQlkgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UCisgKiBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IKKyAqIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUKKyAqIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIE5PVCBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICisgKiBEQU1BR0UuCisgKiAlRW5kLUhlYWRlciUKKyAqLworCisjaWZuZGVmIF9VVUlEX1VVSURfSAorI2RlZmluZSBfVVVJRF9VVUlEX0gKKworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2lmbmRlZiBfV0lOMzIKKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorI2VuZGlmCisjaW5jbHVkZSA8dGltZS5oPgorCit0eXBlZGVmIHVuc2lnbmVkIGNoYXIgdXVpZF90WzE2XTsKKworLyogVVVJRCBWYXJpYW50IGRlZmluaXRpb25zICovCisjZGVmaW5lIFVVSURfVkFSSUFOVF9OQ1MJMAorI2RlZmluZSBVVUlEX1ZBUklBTlRfRENFCTEKKyNkZWZpbmUgVVVJRF9WQVJJQU5UX01JQ1JPU09GVAkyCisjZGVmaW5lIFVVSURfVkFSSUFOVF9PVEhFUgkzCisKKy8qIFVVSUQgVHlwZSBkZWZpbml0aW9ucyAqLworI2RlZmluZSBVVUlEX1RZUEVfRENFX1RJTUUgICAxCisjZGVmaW5lIFVVSURfVFlQRV9EQ0VfUkFORE9NIDQKKworLyogQWxsb3cgVVVJRCBjb25zdGFudHMgdG8gYmUgZGVmaW5lZCAqLworI2lmZGVmIF9fR05VQ19fCisjZGVmaW5lIFVVSURfREVGSU5FKG5hbWUsdTAsdTEsdTIsdTMsdTQsdTUsdTYsdTcsdTgsdTksdTEwLHUxMSx1MTIsdTEzLHUxNCx1MTUpIFwKKwlzdGF0aWMgY29uc3QgdXVpZF90IG5hbWUgX19hdHRyaWJ1dGVfXyAoKHVudXNlZCkpID0ge3UwLHUxLHUyLHUzLHU0LHU1LHU2LHU3LHU4LHU5LHUxMCx1MTEsdTEyLHUxMyx1MTQsdTE1fQorI2Vsc2UKKyNkZWZpbmUgVVVJRF9ERUZJTkUobmFtZSx1MCx1MSx1Mix1Myx1NCx1NSx1Nix1Nyx1OCx1OSx1MTAsdTExLHUxMix1MTMsdTE0LHUxNSkgXAorCXN0YXRpYyBjb25zdCB1dWlkX3QgbmFtZSA9IHt1MCx1MSx1Mix1Myx1NCx1NSx1Nix1Nyx1OCx1OSx1MTAsdTExLHUxMix1MTMsdTE0LHUxNX0KKyNlbmRpZgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qIGNsZWFyLmMgKi8KK2V4dGVybiB2b2lkIHV1aWRfY2xlYXIodXVpZF90IHV1KTsKKworLyogY29tcGFyZS5jICovCitleHRlcm4gaW50IHV1aWRfY29tcGFyZShjb25zdCB1dWlkX3QgdXUxLCBjb25zdCB1dWlkX3QgdXUyKTsKKworLyogY29weS5jICovCitleHRlcm4gdm9pZCB1dWlkX2NvcHkodXVpZF90IGRzdCwgY29uc3QgdXVpZF90IHNyYyk7CisKKy8qIGdlbl91dWlkLmMgKi8KK2V4dGVybiB2b2lkIHV1aWRfZ2VuZXJhdGUodXVpZF90IG91dCk7CitleHRlcm4gdm9pZCB1dWlkX2dlbmVyYXRlX3JhbmRvbSh1dWlkX3Qgb3V0KTsKK2V4dGVybiB2b2lkIHV1aWRfZ2VuZXJhdGVfdGltZSh1dWlkX3Qgb3V0KTsKK2V4dGVybiBpbnQgdXVpZF9nZW5lcmF0ZV90aW1lX3NhZmUodXVpZF90IG91dCk7CisKKy8qIGlzbnVsbC5jICovCitleHRlcm4gaW50IHV1aWRfaXNfbnVsbChjb25zdCB1dWlkX3QgdXUpOworCisvKiBwYXJzZS5jICovCitleHRlcm4gaW50IHV1aWRfcGFyc2UoY29uc3QgY2hhciAqaW4sIHV1aWRfdCB1dSk7CisKKy8qIHVucGFyc2UuYyAqLworZXh0ZXJuIHZvaWQgdXVpZF91bnBhcnNlKGNvbnN0IHV1aWRfdCB1dSwgY2hhciAqb3V0KTsKK2V4dGVybiB2b2lkIHV1aWRfdW5wYXJzZV9sb3dlcihjb25zdCB1dWlkX3QgdXUsIGNoYXIgKm91dCk7CitleHRlcm4gdm9pZCB1dWlkX3VucGFyc2VfdXBwZXIoY29uc3QgdXVpZF90IHV1LCBjaGFyICpvdXQpOworCisvKiB1dWlkX3RpbWUuYyAqLworZXh0ZXJuIHRpbWVfdCB1dWlkX3RpbWUoY29uc3QgdXVpZF90IHV1LCBzdHJ1Y3QgdGltZXZhbCAqcmV0X3R2KTsKK2V4dGVybiBpbnQgdXVpZF90eXBlKGNvbnN0IHV1aWRfdCB1dSk7CitleHRlcm4gaW50IHV1aWRfdmFyaWFudChjb25zdCB1dWlkX3QgdXUpOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogX1VVSURfVVVJRF9IICovCmRpZmYgLS1naXQgYS9saWJ1dWlkL3NyYy91dWlkUC5oIGIvbGlidXVpZC9zcmMvdXVpZFAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NmE1ZTI2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlidXVpZC9zcmMvdXVpZFAuaApAQCAtMCwwICsxLDYxIEBACisvKgorICogdXVpZC5oIC0tIHByaXZhdGUgaGVhZGVyIGZpbGUgZm9yIHV1aWRzCisgKgorICogQ29weXJpZ2h0IChDKSAxOTk2LCAxOTk3IFRoZW9kb3JlIFRzJ28uCisgKgorICogJUJlZ2luLUhlYWRlciUKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgYW5kIHRoZSBlbnRpcmUgcGVybWlzc2lvbiBub3RpY2UgaW4gaXRzIGVudGlyZXR5LAorICogICAgaW5jbHVkaW5nIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnRpZXMuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZQorICogICAgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvcgorICogICAgd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVECisgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgQUxMIE9GCisgKiBXSElDSCBBUkUgSEVSRUJZIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVAorICogT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SCisgKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFCisgKiBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBOT1QgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSAorICogREFNQUdFLgorICogJUVuZC1IZWFkZXIlCisgKi8KKworI2luY2x1ZGUgPGludHR5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisKKyNpbmNsdWRlICJ1dWlkLmgiCisKKyNkZWZpbmUgTElCVVVJRF9DTE9DS19GSUxFCSIvdmFyL2xpYi9saWJ1dWlkL2Nsb2NrLnR4dCIKKworLyoKKyAqIE9mZnNldCBiZXR3ZWVuIDE1LU9jdC0xNTgyIGFuZCAxLUphbi03MAorICovCisjZGVmaW5lIFRJTUVfT0ZGU0VUX0hJR0ggMHgwMUIyMUREMgorI2RlZmluZSBUSU1FX09GRlNFVF9MT1cgIDB4MTM4MTQwMDAKKworc3RydWN0IHV1aWQgeworCXVpbnQzMl90CXRpbWVfbG93OworCXVpbnQxNl90CXRpbWVfbWlkOworCXVpbnQxNl90CXRpbWVfaGlfYW5kX3ZlcnNpb247CisJdWludDE2X3QJY2xvY2tfc2VxOworCXVpbnQ4X3QJbm9kZVs2XTsKK307CisKKworLyoKKyAqIHByb3RvdHlwZXMKKyAqLwordm9pZCB1dWlkX3BhY2soY29uc3Qgc3RydWN0IHV1aWQgKnV1LCB1dWlkX3QgcHRyKTsKK3ZvaWQgdXVpZF91bnBhY2soY29uc3QgdXVpZF90IGluLCBzdHJ1Y3QgdXVpZCAqdXUpOwpkaWZmIC0tZ2l0IGEvbGlidXVpZC9zcmMvdXVpZF90aW1lLmMgYi9saWJ1dWlkL3NyYy91dWlkX3RpbWUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OTkxZWNkCi0tLSAvZGV2L251bGwKKysrIGIvbGlidXVpZC9zcmMvdXVpZF90aW1lLmMKQEAgLTAsMCArMSwxNzEgQEAKKy8qCisgKiB1dWlkX3RpbWUuYyAtLS0gSW50ZXJwcmV0IHRoZSB0aW1lIGZpZWxkIGZyb20gYSB1dWlkLiAgVGhpcyBwcm9ncmFtCisgKiAJdmlvbGF0ZXMgdGhlIFVVSUQgYWJzdHJhY3Rpb24gYmFycmllciBieSByZWFjaGluZyBpbnRvIHRoZSBndXRzCisgKglvZiBhIFVVSUQgYW5kIGludGVycHJldGluZyBpdC4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTgsIDE5OTkgVGhlb2RvcmUgVHMnby4KKyAqCisgKiAlQmVnaW4tSGVhZGVyJQorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCBhbmQgdGhlIGVudGlyZSBwZXJtaXNzaW9uIG5vdGljZSBpbiBpdHMgZW50aXJldHksCisgKiAgICBpbmNsdWRpbmcgdGhlIGRpc2NsYWltZXIgb2Ygd2FycmFudGllcy4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlCisgKiAgICBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yCisgKiAgICB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQKKyAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBBTEwgT0YKKyAqIFdISUNIIEFSRSBIRVJFQlkgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UCisgKiBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IKKyAqIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUKKyAqIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIE5PVCBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICisgKiBEQU1BR0UuCisgKiAlRW5kLUhlYWRlciUKKyAqLworCisjaWZkZWYgX1dJTjMyCisjZGVmaW5lIF9XSU4zMl9XSU5OVCAweDA1MDAKKyNpbmNsdWRlIDx3aW5kb3dzLmg+CisjZGVmaW5lIFVVSUQgTVlVVUlECisjZW5kaWYKKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaWZkZWYgSEFWRV9VTklTVERfSAorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2VuZGlmCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaWZkZWYgSEFWRV9TWVNfVElNRV9ICisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNlbmRpZgorI2luY2x1ZGUgPHRpbWUuaD4KKworI2luY2x1ZGUgInV1aWRQLmgiCisKK3RpbWVfdCB1dWlkX3RpbWUoY29uc3QgdXVpZF90IHV1LCBzdHJ1Y3QgdGltZXZhbCAqcmV0X3R2KQoreworCXN0cnVjdCB0aW1ldmFsCQl0djsKKwlzdHJ1Y3QgdXVpZAkJdXVpZDsKKwl1aW50MzJfdAkJaGlnaDsKKwl1aW50NjRfdAkJY2xvY2tfcmVnOworCisJdXVpZF91bnBhY2sodXUsICZ1dWlkKTsKKworCWhpZ2ggPSB1dWlkLnRpbWVfbWlkIHwgKCh1dWlkLnRpbWVfaGlfYW5kX3ZlcnNpb24gJiAweEZGRikgPDwgMTYpOworCWNsb2NrX3JlZyA9IHV1aWQudGltZV9sb3cgfCAoKHVpbnQ2NF90KSBoaWdoIDw8IDMyKTsKKworCWNsb2NrX3JlZyAtPSAoKCh1aW50NjRfdCkgMHgwMUIyMUREMikgPDwgMzIpICsgMHgxMzgxNDAwMDsKKwl0di50dl9zZWMgPSBjbG9ja19yZWcgLyAxMDAwMDAwMDsKKwl0di50dl91c2VjID0gKGNsb2NrX3JlZyAlIDEwMDAwMDAwKSAvIDEwOworCisJaWYgKHJldF90dikKKwkJKnJldF90diA9IHR2OworCisJcmV0dXJuIHR2LnR2X3NlYzsKK30KKworaW50IHV1aWRfdHlwZShjb25zdCB1dWlkX3QgdXUpCit7CisJc3RydWN0IHV1aWQJCXV1aWQ7CisKKwl1dWlkX3VucGFjayh1dSwgJnV1aWQpOworCXJldHVybiAoKHV1aWQudGltZV9oaV9hbmRfdmVyc2lvbiA+PiAxMikgJiAweEYpOworfQorCitpbnQgdXVpZF92YXJpYW50KGNvbnN0IHV1aWRfdCB1dSkKK3sKKwlzdHJ1Y3QgdXVpZAkJdXVpZDsKKwlpbnQJCQl2YXI7CisKKwl1dWlkX3VucGFjayh1dSwgJnV1aWQpOworCXZhciA9IHV1aWQuY2xvY2tfc2VxOworCisJaWYgKCh2YXIgJiAweDgwMDApID09IDApCisJCXJldHVybiBVVUlEX1ZBUklBTlRfTkNTOworCWlmICgodmFyICYgMHg0MDAwKSA9PSAwKQorCQlyZXR1cm4gVVVJRF9WQVJJQU5UX0RDRTsKKwlpZiAoKHZhciAmIDB4MjAwMCkgPT0gMCkKKwkJcmV0dXJuIFVVSURfVkFSSUFOVF9NSUNST1NPRlQ7CisJcmV0dXJuIFVVSURfVkFSSUFOVF9PVEhFUjsKK30KKworI2lmZGVmIERFQlVHCitzdGF0aWMgY29uc3QgY2hhciAqdmFyaWFudF9zdHJpbmcoaW50IHZhcmlhbnQpCit7CisJc3dpdGNoICh2YXJpYW50KSB7CisJY2FzZSBVVUlEX1ZBUklBTlRfTkNTOgorCQlyZXR1cm4gIk5DUyI7CisJY2FzZSBVVUlEX1ZBUklBTlRfRENFOgorCQlyZXR1cm4gIkRDRSI7CisJY2FzZSBVVUlEX1ZBUklBTlRfTUlDUk9TT0ZUOgorCQlyZXR1cm4gIk1pY3Jvc29mdCI7CisJZGVmYXVsdDoKKwkJcmV0dXJuICJPdGhlciI7CisJfQorfQorCisKK2ludAorbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJdXVpZF90CQlidWY7CisJdGltZV90CQl0aW1lX3JlZzsKKwlzdHJ1Y3QgdGltZXZhbAl0djsKKwlpbnQJCXR5cGUsIHZhcmlhbnQ7CisKKwlpZiAoYXJnYyAhPSAyKSB7CisJCWZwcmludGYoc3RkZXJyLCAiVXNhZ2U6ICVzIHV1aWRcbiIsIGFyZ3ZbMF0pOworCQlleGl0KDEpOworCX0KKwlpZiAodXVpZF9wYXJzZShhcmd2WzFdLCBidWYpKSB7CisJCWZwcmludGYoc3RkZXJyLCAiSW52YWxpZCBVVUlEOiAlc1xuIiwgYXJndlsxXSk7CisJCWV4aXQoMSk7CisJfQorCXZhcmlhbnQgPSB1dWlkX3ZhcmlhbnQoYnVmKTsKKwl0eXBlID0gdXVpZF90eXBlKGJ1Zik7CisJdGltZV9yZWcgPSB1dWlkX3RpbWUoYnVmLCAmdHYpOworCisJcHJpbnRmKCJVVUlEIHZhcmlhbnQgaXMgJWQgKCVzKVxuIiwgdmFyaWFudCwgdmFyaWFudF9zdHJpbmcodmFyaWFudCkpOworCWlmICh2YXJpYW50ICE9IFVVSURfVkFSSUFOVF9EQ0UpIHsKKwkJcHJpbnRmKCJXYXJuaW5nOiBUaGlzIHByb2dyYW0gb25seSBrbm93cyBob3cgdG8gaW50ZXJwcmV0ICIKKwkJICAgICAgICJEQ0UgVVVJRHMuXG5cdFRoZSByZXN0IG9mIHRoZSBvdXRwdXQgaXMgbGlrZWx5ICIKKwkJICAgICAgICJ0byBiZSBpbmNvcnJlY3QhIVxuIik7CisJfQorCXByaW50ZigiVVVJRCB0eXBlIGlzICVkIiwgdHlwZSk7CisJc3dpdGNoICh0eXBlKSB7CisJY2FzZSAxOgorCQlwcmludGYoIiAodGltZSBiYXNlZClcbiIpOworCQlicmVhazsKKwljYXNlIDI6CisJCXByaW50ZigiIChEQ0UpXG4iKTsKKwkJYnJlYWs7CisJY2FzZSAzOgorCQlwcmludGYoIiAobmFtZS1iYXNlZClcbiIpOworCQlicmVhazsKKwljYXNlIDQ6CisJCXByaW50ZigiIChyYW5kb20pXG4iKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcHJpbnRmKCJcbiIpOworCX0KKwlpZiAodHlwZSAhPSAxKSB7CisJCXByaW50ZigiV2FybmluZzogbm90IGEgdGltZS1iYXNlZCBVVUlELCBzbyBVVUlEIHRpbWUgIgorCQkgICAgICAgImRlY29kaW5nIHdpbGwgbGlrZWx5IG5vdCB3b3JrIVxuIik7CisJfQorCXByaW50ZigiVVVJRCB0aW1lIGlzOiAoJWxkLCAlbGQpOiAlc1xuIiwgKGxvbmcpdHYudHZfc2VjLCAobG9uZyl0di50dl91c2VjLAorCSAgICAgICBjdGltZSgmdGltZV9yZWcpKTsKKworCXJldHVybiAwOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9saWJ1dWlkL3NyYy91dWlkZC5oIGIvbGlidXVpZC9zcmMvdXVpZGQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZjcwOTY4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlidXVpZC9zcmMvdXVpZGQuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogRGVmaW5pdGlvbnMgdXNlZCBieSB0aGUgdXVpZGQgZGFlbW9uCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA3IFRoZW9kb3JlIFRzJ28uCisgKgorICogJUJlZ2luLUhlYWRlciUKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgYW5kIHRoZSBlbnRpcmUgcGVybWlzc2lvbiBub3RpY2UgaW4gaXRzIGVudGlyZXR5LAorICogICAgaW5jbHVkaW5nIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnRpZXMuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZQorICogICAgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvcgorICogICAgd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVECisgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgQUxMIE9GCisgKiBXSElDSCBBUkUgSEVSRUJZIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVAorICogT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SCisgKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFCisgKiBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBOT1QgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSAorICogREFNQUdFLgorICogJUVuZC1IZWFkZXIlCisgKi8KKworI2lmbmRlZiBfVVVJRF9VVUlERF9ICisjZGVmaW5lIF9VVUlEX1VVSUREX0gKKworI2RlZmluZSBVVUlERF9ESVIJCV9QQVRIX0xPQ0FMU1RBVEVESVIgIi91dWlkZCIKKyNkZWZpbmUgVVVJRERfU09DS0VUX1BBVEgJVVVJRERfRElSICIvcmVxdWVzdCIKKyNkZWZpbmUgVVVJRERfUElERklMRV9QQVRICVVVSUREX0RJUiAiL3V1aWRkLnBpZCIKKyNkZWZpbmUgVVVJRERfUEFUSAkJIi91c3Ivc2Jpbi91dWlkZCIKKworI2RlZmluZSBVVUlERF9PUF9HRVRQSUQJCQkwCisjZGVmaW5lIFVVSUREX09QX0dFVF9NQVhPUAkJMQorI2RlZmluZSBVVUlERF9PUF9USU1FX1VVSUQJCTIKKyNkZWZpbmUgVVVJRERfT1BfUkFORE9NX1VVSUQJCTMKKyNkZWZpbmUgVVVJRERfT1BfQlVMS19USU1FX1VVSUQJCTQKKyNkZWZpbmUgVVVJRERfT1BfQlVMS19SQU5ET01fVVVJRAk1CisjZGVmaW5lIFVVSUREX01BWF9PUAkJCVVVSUREX09QX0JVTEtfUkFORE9NX1VVSUQKKworZXh0ZXJuIGludCBfX3V1aWRfZ2VuZXJhdGVfdGltZSh1dWlkX3Qgb3V0LCBpbnQgKm51bSk7CitleHRlcm4gdm9pZCBfX3V1aWRfZ2VuZXJhdGVfcmFuZG9tKHV1aWRfdCBvdXQsIGludCAqbnVtKTsKKworI2VuZGlmIC8qIF9VVUlEX1VVSURfSCAqLwpkaWZmIC0tZ2l0IGEvbGlidXVpZC91dWlkLnBjLmluIGIvbGlidXVpZC91dWlkLnBjLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3NWRlMTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ1dWlkL3V1aWQucGMuaW4KQEAgLTAsMCArMSwxMSBAQAorcHJlZml4PUBwcmVmaXhACitleGVjX3ByZWZpeD1AZXhlY19wcmVmaXhACitsaWJkaXI9QHVzcmxpYl9leGVjZGlyQAoraW5jbHVkZWRpcj1AaW5jbHVkZWRpckAKKworTmFtZTogdXVpZAorRGVzY3JpcHRpb246IFVuaXZlcnNhbGx5IHVuaXF1ZSBpZCBsaWJyYXJ5CitWZXJzaW9uOiBATElCVVVJRF9WRVJTSU9OQAorUmVxdWlyZXM6CitDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfS91dWlkCitMaWJzOiAtTCR7bGliZGlyfSAtbHV1aWQKZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL01ha2Vtb2R1bGUuYW0gYi9sb2dpbi11dGlscy9NYWtlbW9kdWxlLmFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlMDdhY2UKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy9NYWtlbW9kdWxlLmFtCkBAIC0wLDAgKzEsMjM4IEBACisKK2lmIEJVSUxEX0xBU1QKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IGxhc3QKK2Rpc3RfbWFuX01BTlMgKz0gXAorCWxvZ2luLXV0aWxzL2xhc3QuMSBcCisJbG9naW4tdXRpbHMvbGFzdGIuMQorbGFzdF9TT1VSQ0VTID0gbG9naW4tdXRpbHMvbGFzdC5jIGxpYi9tb25vdG9uaWMuYworbGFzdF9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYSAkKFJFQUxUSU1FX0xJQlMpCisKK2luc3RhbGwtZXhlYy1ob29rLWxhc3Q6CisJY2QgJChERVNURElSKSQodXNyYmluX2V4ZWNkaXIpICYmIGxuIC1zZiBsYXN0IGxhc3RiCisKK0lOU1RBTExfRVhFQ19IT09LUyArPSBpbnN0YWxsLWV4ZWMtaG9vay1sYXN0CitlbmRpZgorCitpZiBCVUlMRF9TVUxPR0lOCitzYmluX1BST0dSQU1TICs9IHN1bG9naW4KK2Rpc3RfbWFuX01BTlMgKz0gbG9naW4tdXRpbHMvc3Vsb2dpbi44CitzdWxvZ2luX1NPVVJDRVMgPSBcCisJbG9naW4tdXRpbHMvc3Vsb2dpbi5jIFwKKwlsb2dpbi11dGlscy9zdWxvZ2luLWNvbnNvbGVzLmMgXAorCWxvZ2luLXV0aWxzL3N1bG9naW4tY29uc29sZXMuaAorc3Vsb2dpbl9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQorCitpZiBIQVZFX0xJQkNSWVBUCitzdWxvZ2luX0xEQUREICs9IC1sY3J5cHQKK2VuZGlmCitpZiBIQVZFX1NFTElOVVgKK3N1bG9naW5fTERBREQgKz0gLWxzZWxpbnV4CitlbmRpZgorCitjaGVja19QUk9HUkFNUyArPSB0ZXN0X2NvbnNvbGVzCit0ZXN0X2NvbnNvbGVzX1NPVVJDRVMgPSBsb2dpbi11dGlscy9zdWxvZ2luLWNvbnNvbGVzLmMKK3Rlc3RfY29uc29sZXNfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1EVEVTVF9QUk9HUkFNCit0ZXN0X2NvbnNvbGVzX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCitlbmRpZiAjIEJVSUxEX1NVTE9HSU4KKworCitpZiBCVUlMRF9MT0dJTgorYmluX1BST0dSQU1TICs9IGxvZ2luCitkaXN0X21hbl9NQU5TICs9IGxvZ2luLXV0aWxzL2xvZ2luLjEKK2xvZ2luX1NPVVJDRVMgPSBcCisJbG9naW4tdXRpbHMvbG9naW4uYyBcCisJbG9naW4tdXRpbHMvbG9naW5kZWZzLmMgXAorCWxvZ2luLXV0aWxzL2xvZ2luZGVmcy5oCitsb2dpbl9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYSAtbHBhbQoraWYgSEFWRV9MSU5VWFBBTQorbG9naW5fTERBREQgKz0gLWxwYW1fbWlzYworZW5kaWYKK2lmIEhBVkVfQVVESVQKK2xvZ2luX0xEQUREICs9IC1sYXVkaXQKK2VuZGlmCitpZiBIQVZFX1NFTElOVVgKK2xvZ2luX0xEQUREICs9IC1sc2VsaW51eAorZW5kaWYKK2VuZGlmICMgQlVJTERfTE9HSU4KKworCitpZiBCVUlMRF9OT0xPR0lOCitzYmluX1BST0dSQU1TICs9IG5vbG9naW4KK2Rpc3RfbWFuX01BTlMgKz0gbG9naW4tdXRpbHMvbm9sb2dpbi44Citub2xvZ2luX1NPVVJDRVMgPSBsb2dpbi11dGlscy9ub2xvZ2luLmMKK2VuZGlmCisKKworaWYgQlVJTERfVVRNUERVTVAKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IHV0bXBkdW1wCitkaXN0X21hbl9NQU5TICs9IGxvZ2luLXV0aWxzL3V0bXBkdW1wLjEKK3V0bXBkdW1wX1NPVVJDRVMgPSBsb2dpbi11dGlscy91dG1wZHVtcC5jCit1dG1wZHVtcF9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQorZW5kaWYKKworCitpZiBCVUlMRF9DSEZOX0NIU0gKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IGNoZm4gY2hzaAorZGlzdF9tYW5fTUFOUyArPSBcCisJbG9naW4tdXRpbHMvY2hmbi4xIFwKKwlsb2dpbi11dGlscy9jaHNoLjEKKworY2hmbl9jaHNoX3NvdXJjZXMgPSBcCisJbG9naW4tdXRpbHMvY2gtY29tbW9uLmggXAorCWxvZ2luLXV0aWxzL2NoLWNvbW1vbi5jCitjaGZuX2Noc2hfY2ZsYWdzID0gJChTVUlEX0NGTEFHUykgJChBTV9DRkxBR1MpCitjaGZuX2Noc2hfbGRmbGFncyA9ICQoU1VJRF9MREZMQUdTKSAkKEFNX0xERkxBR1MpCitjaGZuX2Noc2hfbGRhZGQgPSBsaWJjb21tb24ubGEKKworaWYgQ0hGTl9DSFNIX1BBU1NXT1JECitjaGZuX2Noc2hfbGRhZGQgKz0gLWxwYW0KK2lmIEhBVkVfTElOVVhQQU0KK2NoZm5fY2hzaF9sZGFkZCArPSAtbHBhbV9taXNjCitlbmRpZgorY2hmbl9jaHNoX3NvdXJjZXMgKz0gXAorCWxvZ2luLXV0aWxzL2F1dGguYyBcCisJbG9naW4tdXRpbHMvYXV0aC5oCitlbmRpZiAjIENIRk5fQ0hTSF9QQVNTV09SRAorCitpZiBIQVZFX1VTRVIKK2NoZm5fY2hzaF9sZGZsYWdzICs9ICQoTElCVVNFUl9MSUJTKQorY2hmbl9jaHNoX2NmbGFncyArPSAkKExJQlVTRVJfQ0ZMQUdTKQorY2hmbl9jaHNoX3NvdXJjZXMrPSBcCisJbG9naW4tdXRpbHMvbGlidXNlci5jIFwKKwlsb2dpbi11dGlscy9saWJ1c2VyLmgKK2Vsc2UKK2NoZm5fY2hzaF9zb3VyY2VzICs9IFwKKwlsb2dpbi11dGlscy9pc2xvY2FsLmMgXAorCWxvZ2luLXV0aWxzL2lzbG9jYWwuaCBcCisJbG9naW4tdXRpbHMvc2V0cHduYW0uYyBcCisJbG9naW4tdXRpbHMvc2V0cHduYW0uaAorZW5kaWYKKworaWYgSEFWRV9TRUxJTlVYCitjaGZuX2Noc2hfc291cmNlcyArPSBcCisJbG9naW4tdXRpbHMvc2VsaW51eF91dGlscy5jIFwKKwlsb2dpbi11dGlscy9zZWxpbnV4X3V0aWxzLmgKK2NoZm5fY2hzaF9sZGFkZCArPSAtbHNlbGludXgKK2VuZGlmCisKK2NoZm5fU09VUkNFUyA9IFwKKwlsb2dpbi11dGlscy9jaGZuLmMgXAorCWxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jIFwKKwlsb2dpbi11dGlscy9sb2dpbmRlZnMuaCBcCisJJChjaGZuX2Noc2hfc291cmNlcykKK2NoZm5fQ0ZMQUdTID0gJChjaGZuX2Noc2hfY2ZsYWdzKQorY2hmbl9MREZMQUdTID0gJChjaGZuX2Noc2hfbGRmbGFncykKK2NoZm5fTERBREQgPSAkKExEQUREKSAkKGNoZm5fY2hzaF9sZGFkZCkKKworY2hzaF9TT1VSQ0VTID0gbG9naW4tdXRpbHMvY2hzaC5jICQoY2hmbl9jaHNoX3NvdXJjZXMpCitjaHNoX0NGTEFHUyA9ICQoY2hmbl9jaHNoX2NmbGFncykKK2Noc2hfTERGTEFHUyA9ICQoY2hmbl9jaHNoX2xkZmxhZ3MpCitjaHNoX0xEQUREID0gJChMREFERCkgJChjaGZuX2Noc2hfbGRhZGQpCitlbmRpZiAjIEJVSUxEX0NIRk5fQ0hTSAorCisKK2lmIEJVSUxEX1NVCitiaW5fUFJPR1JBTVMgKz0gc3UKK2Rpc3RfbWFuX01BTlMgKz0gbG9naW4tdXRpbHMvc3UuMQorc3VfU09VUkNFUyA9IFwKKwlsb2dpbi11dGlscy9zdS5jIFwKKwlsb2dpbi11dGlscy9zdS1jb21tb24uYyBcCisJbG9naW4tdXRpbHMvc3UtY29tbW9uLmggXAorCWxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jIFwKKwlsb2dpbi11dGlscy9sb2dpbmRlZnMuaAorc3VfQ0ZMQUdTID0gJChTVUlEX0NGTEFHUykgJChBTV9DRkxBR1MpCitzdV9MREZMQUdTID0gJChTVUlEX0xERkxBR1MpICQoQU1fTERGTEFHUykKK3N1X0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhIC1scGFtCitpZiBIQVZFX0xJTlVYUEFNCitzdV9MREFERCArPSAtbHBhbV9taXNjCitlbmRpZgorZW5kaWYgIyBCVUlMRF9TVQorCisKK2lmIEJVSUxEX1JVTlVTRVIKK3NiaW5fUFJPR1JBTVMgKz0gcnVudXNlcgorZGlzdF9tYW5fTUFOUyArPSBsb2dpbi11dGlscy9ydW51c2VyLjEKK3J1bnVzZXJfU09VUkNFUyA9IFwKKwlsb2dpbi11dGlscy9ydW51c2VyLmMgXAorCWxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jIFwKKwlsb2dpbi11dGlscy9zdS1jb21tb24uaCBcCisJbG9naW4tdXRpbHMvbG9naW5kZWZzLmMgXAorCWxvZ2luLXV0aWxzL2xvZ2luZGVmcy5oCitydW51c2VyX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhIC1scGFtCitpZiBIQVZFX0xJTlVYUEFNCitydW51c2VyX0xEQUREICs9IC1scGFtX21pc2MKK2VuZGlmCitlbmRpZiAjIEJVSUxEX1JVTlVTRVIKKworCitpZiBCVUlMRF9ORVdHUlAKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IG5ld2dycAorZGlzdF9tYW5fTUFOUyArPSBsb2dpbi11dGlscy9uZXdncnAuMQorbmV3Z3JwX1NPVVJDRVMgPSBsb2dpbi11dGlscy9uZXdncnAuYworbmV3Z3JwX0NGTEFHUyA9ICQoU1VJRF9DRkxBR1MpICQoQU1fQ0ZMQUdTKQorbmV3Z3JwX0xERkxBR1MgPSAkKFNVSURfTERGTEFHUykgJChBTV9MREZMQUdTKQorbmV3Z3JwX0xEQUREID0gJChMREFERCkKK2lmIEhBVkVfTElCQ1JZUFQKK25ld2dycF9MREFERCArPSAtbGNyeXB0CitlbmRpZgorZW5kaWYgIyBCVUlMRF9ORVdHUlAKKworaWYgQlVJTERfTFNMT0dJTlMKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IGxzbG9naW5zCitkaXN0X21hbl9NQU5TICs9IGxvZ2luLXV0aWxzL2xzbG9naW5zLjEKK2xzbG9naW5zX1NPVVJDRVMgPSBcCisJbG9naW4tdXRpbHMvbHNsb2dpbnMuYyBcCisJbG9naW4tdXRpbHMvbG9naW5kZWZzLmMgXAorCWxvZ2luLXV0aWxzL2xvZ2luZGVmcy5oCitsc2xvZ2luc19MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYSBsaWJzbWFydGNvbHMubGEKK2xzbG9naW5zX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtSSQodWxfbGlic21hcnRjb2xzX2luY2RpcikKK2lmIEhBVkVfU0VMSU5VWAorbHNsb2dpbnNfTERBREQgKz0gLWxzZWxpbnV4CitlbmRpZgoraWYgSEFWRV9TWVNURU1ECitsc2xvZ2luc19MREFERCArPSAkKFNZU1RFTURfTElCUykgJChTWVNURU1EX0pPVVJOQUxfTElCUykKK2xzbG9naW5zX0NGTEFHUyArPSAkKFNZU1RFTURfQ0ZMQUdTKSAkKFNZU1RFTURfSk9VUk5BTF9DRkxBR1MpCitlbmRpZgorZW5kaWYgIyBCVUlMRF9MU0xPR0lOUworCitpZiBCVUlMRF9WSVBXCit1c3JzYmluX2V4ZWNfUFJPR1JBTVMgKz0gdmlwdworZGlzdF9tYW5fTUFOUyArPSBcCisJbG9naW4tdXRpbHMvdmlnci44IFwKKwlsb2dpbi11dGlscy92aXB3LjgKK3ZpcHdfU09VUkNFUyA9IFwKKwlsb2dpbi11dGlscy92aXB3LmMgXAorCWxvZ2luLXV0aWxzL3NldHB3bmFtLmgKK3ZpcHdfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEKK2lmIEhBVkVfU0VMSU5VWAordmlwd19MREFERCArPSAtbHNlbGludXgKK2VuZGlmCitpbnN0YWxsLWV4ZWMtaG9vay12aXB3OjoKKwljZCAkKERFU1RESVIpJCh1c3JzYmluX2V4ZWNkaXIpICYmIGxuIC1zZiB2aXB3IHZpZ3IKKworSU5TVEFMTF9FWEVDX0hPT0tTICs9IGluc3RhbGwtZXhlYy1ob29rLXZpcHcKK2VuZGlmICMgQlVJTERfVklQVworCisKK2NoZWNrX1BST0dSQU1TICs9IFwKKwl0ZXN0X2lzbG9jYWwgXAorCXRlc3RfbG9naW5kZWZzCisKK3Rlc3RfaXNsb2NhbF9TT1VSQ0VTID0gbG9naW4tdXRpbHMvaXNsb2NhbC5jCit0ZXN0X2lzbG9jYWxfQ1BQRkxBR1MgPSAtRFRFU1RfUFJPR1JBTSAkKEFNX0NQUEZMQUdTKQorCit0ZXN0X2xvZ2luZGVmc19TT1VSQ0VTID0gXAorCWxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jIFwKKwlsb2dpbi11dGlscy9sb2dpbmRlZnMuaAordGVzdF9sb2dpbmRlZnNfQ1BQRkxBR1MgPSAtRFRFU1RfUFJPR1JBTSAkKEFNX0NQUEZMQUdTKQorCisKK2luc3RhbGwtZXhlYy1ob29rOgoraWYgQlVJTERfU1UKK2lmIE1BS0VJTlNUQUxMX0RPX1NFVFVJRAorCWNobW9kIDQ3NTUgJChERVNURElSKSQoYmluZGlyKS9zdQorZW5kaWYKK2VuZGlmCitpZiBCVUlMRF9WSVBXCisJY2QgJChERVNURElSKSQodXNyc2Jpbl9leGVjZGlyKSAmJiBsbiAtc2YgdmlwdyB2aWdyCitlbmRpZgpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvYXV0aC5jIGIvbG9naW4tdXRpbHMvYXV0aC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhZjZjNTMKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy9hdXRoLmMKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqICAgYXV0aC5jIC0tIFBBTSBhdXRob3JpemF0aW9uIGNvZGUsIGNvbW1vbiBiZXR3ZWVuIGNoc2ggYW5kIGNoZm4KKyAqICAgKGMpIDIwMTIgYnkgQ29keSBNYWxvbmV5IDxjbWFsb25leUB0aGVvcmV0aWNhbGNoYW9zLmNvbT4KKyAqCisgKiAgIHRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlLiAgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kCisgKiAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIGdudSBnZW5lcmFsIHB1YmxpYyBsaWNlbnNlLgorICogICB0aGVyZSBpcyBubyB3YXJyYW50eS4KKyAqCisgKi8KKyNpbmNsdWRlICJhdXRoLmgiCisjaW5jbHVkZSAicGFtZmFpbC5oIgorCitpbnQgYXV0aF9wYW0oY29uc3QgY2hhciAqc2VydmljZV9uYW1lLCB1aWRfdCB1aWQsIGNvbnN0IGNoYXIgKnVzZXJuYW1lKQoreworCWlmICh1aWQgIT0gMCkgeworCQlwYW1faGFuZGxlX3QgKnBhbWggPSBOVUxMOworI2lmZGVmIEhBVkVfU0VDVVJJVFlfUEFNX01JU0NfSAorCQlzdHJ1Y3QgcGFtX2NvbnYgY29udiA9IHsgbWlzY19jb252LCBOVUxMIH07CisjZWxpZiBkZWZpbmVkKEhBVkVfU0VDVVJJVFlfT1BFTlBBTV9IKQorCQlzdHJ1Y3QgcGFtX2NvbnYgY29udiA9IHsgb3BlbnBhbV90dHljb252LCBOVUxMIH07CisjZW5kaWYKKwkJaW50IHJldGNvZGU7CisKKwkJcmV0Y29kZSA9IHBhbV9zdGFydChzZXJ2aWNlX25hbWUsIHVzZXJuYW1lLCAmY29udiwgJnBhbWgpOworCQlpZiAocGFtX2ZhaWxfY2hlY2socGFtaCwgcmV0Y29kZSkpCisJCQlyZXR1cm4gRkFMU0U7CisKKwkJcmV0Y29kZSA9IHBhbV9hdXRoZW50aWNhdGUocGFtaCwgMCk7CisJCWlmIChwYW1fZmFpbF9jaGVjayhwYW1oLCByZXRjb2RlKSkKKwkJCXJldHVybiBGQUxTRTsKKworCQlyZXRjb2RlID0gcGFtX2FjY3RfbWdtdChwYW1oLCAwKTsKKwkJaWYgKHJldGNvZGUgPT0gUEFNX05FV19BVVRIVE9LX1JFUUQpCisJCQlyZXRjb2RlID0KKwkJCSAgICBwYW1fY2hhdXRodG9rKHBhbWgsIFBBTV9DSEFOR0VfRVhQSVJFRF9BVVRIVE9LKTsKKwkJaWYgKHBhbV9mYWlsX2NoZWNrKHBhbWgsIHJldGNvZGUpKQorCQkJcmV0dXJuIEZBTFNFOworCisJCXJldGNvZGUgPSBwYW1fc2V0Y3JlZChwYW1oLCAwKTsKKwkJaWYgKHBhbV9mYWlsX2NoZWNrKHBhbWgsIHJldGNvZGUpKQorCQkJcmV0dXJuIEZBTFNFOworCisJCXBhbV9lbmQocGFtaCwgMCk7CisJCS8qIG5vIG5lZWQgdG8gZXN0YWJsaXNoIGEgc2Vzc2lvbjsgdGhpcyBpc24ndCBhCisJCSAqIHNlc3Npb24tb3JpZW50ZWQgYWN0aXZpdHkuLi4gICovCisJfQorCXJldHVybiBUUlVFOworfQpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvYXV0aC5oIGIvbG9naW4tdXRpbHMvYXV0aC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmN2MzNjkKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy9hdXRoLmgKQEAgLTAsMCArMSwxMyBAQAorLyoKKyAqICAgYXV0aC5oIC0tIFBBTSBhdXRob3JpemF0aW9uIGNvZGUsIGNvbW1vbiBiZXR3ZWVuIGNoc2ggYW5kIGNoZm4KKyAqICAgKGMpIDIwMTIgYnkgQ29keSBNYWxvbmV5IDxjbWFsb25leUB0aGVvcmV0aWNhbGNoYW9zLmNvbT4KKyAqCisgKiAgIHRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlLiAgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kCisgKiAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIGdudSBnZW5lcmFsIHB1YmxpYyBsaWNlbnNlLgorICogICB0aGVyZSBpcyBubyB3YXJyYW50eS4KKyAqCisgKi8KKworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorCitleHRlcm4gaW50IGF1dGhfcGFtKGNvbnN0IGNoYXIgKnNlcnZpY2VfbmFtZSwgdWlkX3QgdWlkLCBjb25zdCBjaGFyICp1c2VybmFtZSk7CmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy9jaC1jb21tb24uYyBiL2xvZ2luLXV0aWxzL2NoLWNvbW1vbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0YjA5ZjMKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy9jaC1jb21tb24uYwpAQCAtMCwwICsxLDM0IEBACisvKgorICogY2hmbiBhbmQgY2hzaCBzaGFyZWQgZnVuY3Rpb25zCisgKgorICogdGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmUuICB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIGdudSBnZW5lcmFsIHB1YmxpYyBsaWNlbnNlLgorICogdGhlcmUgaXMgbm8gd2FycmFudHkuCisgKi8KKworI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisKKyNpbmNsdWRlICJjaC1jb21tb24uaCIKKworLyoKKyAqICBpbGxlZ2FsX3Bhc3N3ZF9jaGFycyAoKSAtCisgKgljaGVjayB3aGV0aGVyIGEgc3RyaW5nIGNvbnRhaW5zIGlsbGVnYWwgY2hhcmFjdGVycworICovCitpbnQgaWxsZWdhbF9wYXNzd2RfY2hhcnMoY29uc3QgY2hhciAqc3RyKQoreworCWNvbnN0IGNoYXIgaWxsZWdhbFtdID0gIiw6PVwiXG4iOworCWNvbnN0IHNpemVfdCBsZW4gPSBzdHJsZW4oc3RyKTsKKwlzaXplX3QgaTsKKworCWlmIChzdHJwYnJrKHN0ciwgaWxsZWdhbCkpCisJCXJldHVybiAxOworCWZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykgeworCQlpZiAoaXNjbnRybChzdHJbaV0pKQorCQkJcmV0dXJuIDE7CisJfQorCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvY2gtY29tbW9uLmggYi9sb2dpbi11dGlscy9jaC1jb21tb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZjcwZTUwCi0tLSAvZGV2L251bGwKKysrIGIvbG9naW4tdXRpbHMvY2gtY29tbW9uLmgKQEAgLTAsMCArMSw2IEBACisjaWZuZGVmIFVUSUxfTElOVVhfQ0hfQ09NTU9OX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9DSF9DT01NT05fSAorCitleHRlcm4gaW50IGlsbGVnYWxfcGFzc3dkX2NoYXJzKGNvbnN0IGNoYXIgKnN0cik7CisKKyNlbmRpZgkvKiBVVElMX0xJTlVYX0NIX0NPTU1PTiAqLwpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvY2hmbi4xIGIvbG9naW4tdXRpbHMvY2hmbi4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkZTUxNGEKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy9jaGZuLjEKQEAgLTAsMCArMSwxMDggQEAKKy5cIgorLlwiICBjaGZuLjEgLS0gY2hhbmdlIHlvdXIgZmluZ2VyIGluZm9ybWF0aW9uCisuXCIgIChjKSAxOTk0IGJ5IHNhbHZhdG9yZSB2YWxlbnRlIDxzdmFsZW50ZUBhdGhlbmEubWl0LmVkdT4KKy5cIgorLlwiICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZS4gIFlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZAorLlwiICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKy5cIiAgVGhlcmUgaXMgbm8gd2FycmFudHkuCisuXCIKKy5USCBDSEZOIDEgIk5vdmVtYmVyIDIwMTUiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitjaGZuIFwtIGNoYW5nZSB5b3VyIGZpbmdlciBpbmZvcm1hdGlvbgorLlNIIFNZTk9QU0lTCisuQiBjaGZuCisuUkIgWyBcLWYKKy5JUiBmdWxsLW5hbWUgXQorLlJCIFsgXC1vCisuSVIgb2ZmaWNlIF0KKy5SQiBbIFwtcAorLklSIG9mZmljZS1waG9uZSBdCisuUkIgWyBcLWgKKy5JUiBob21lLXBob25lIF0KKy5SQiBbIFwtdSBdCisuUkIgWyBcLXYgXQorLlJJIFsgdXNlcm5hbWUgXQorLlNIIERFU0NSSVBUSU9OCisuQiBjaGZuCitpcyB1c2VkIHRvIGNoYW5nZSB5b3VyIGZpbmdlciBpbmZvcm1hdGlvbi4gIFRoaXMgaW5mb3JtYXRpb24gaXMKK3N0b3JlZCBpbiB0aGUKKy5JIC9ldGMvcGFzc3dkCitmaWxlLCBhbmQgaXMgZGlzcGxheWVkIGJ5IHRoZQorLkIgZmluZ2VyCitwcm9ncmFtLiAgVGhlIExpbnV4CisuQiBmaW5nZXIKK2NvbW1hbmQgd2lsbCBkaXNwbGF5IGZvdXIgcGllY2VzIG9mIGluZm9ybWF0aW9uIHRoYXQgY2FuIGJlIGNoYW5nZWQgYnkKKy5CUiBjaGZuIDoKK3lvdXIgcmVhbCBuYW1lLCB5b3VyIHdvcmsgcm9vbSBhbmQgcGhvbmUsIGFuZCB5b3VyIGhvbWUgcGhvbmUuCisuUFAKK0FueSBvZiB0aGUgZm91ciBwaWVjZXMgb2YgaW5mb3JtYXRpb24gY2FuIGJlIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZAorbGluZS4gIElmIG5vIGluZm9ybWF0aW9uIGlzIGdpdmVuIG9uIHRoZSBjb21tYW5kIGxpbmUsCisuQiBjaGZuCitlbnRlcnMgaW50ZXJhY3RpdmUgbW9kZS4KKy5QUAorSW4gaW50ZXJhY3RpdmUgbW9kZSwKKy5CIGNoZm4KK3dpbGwgcHJvbXB0IGZvciBlYWNoIGZpZWxkLiAgQXQgYSBwcm9tcHQsIHlvdSBjYW4gZW50ZXIgdGhlIG5ldyBpbmZvcm1hdGlvbiwKK29yIGp1c3QgcHJlc3MgcmV0dXJuIHRvIGxlYXZlIHRoZSBmaWVsZCB1bmNoYW5nZWQuICBFbnRlciB0aGUga2V5d29yZAorIm5vbmUiIHRvIG1ha2UgdGhlIGZpZWxkIGJsYW5rLgorLlBQCisuQiBjaGZuCitzdXBwb3J0cyBub24tbG9jYWwgZW50cmllcyAoa2VyYmVyb3MsIExEQVAsIGV0Yy5cJikgaWYgbGlua2VkIHdpdGggbGlidXNlciwKK290aGVyd2lzZSB1c2UgXGZCeXBjaGZuXGZSLCBcZkJsY2hmblxmUiBvciBhbnkgb3RoZXIgaW1wbGVtZW50YXRpb24gZm9yCitub24tbG9jYWwgZW50cmllcy4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLWYgLCAiIFwtXC1mdWxsXC1uYW1lICIgXGZJZnVsbC1uYW1lCitTcGVjaWZ5IHlvdXIgcmVhbCBuYW1lLgorLlRQCisuQlIgXC1vICwgIiBcLVwtb2ZmaWNlICIgXGZJb2ZmaWNlCitTcGVjaWZ5IHlvdXIgb2ZmaWNlIHJvb20gbnVtYmVyLgorLlRQCisuQlIgXC1wICwgIiBcLVwtb2ZmaWNlXC1waG9uZSAiIFxmSW9mZmljZS1waG9uZQorU3BlY2lmeSB5b3VyIG9mZmljZSBwaG9uZSBudW1iZXIuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1ob21lXC1waG9uZSAiIFxmSWhvbWUtcGhvbmUKK1NwZWNpZnkgeW91ciBob21lIHBob25lIG51bWJlci4KKy5UUAorLkJSIFwtdSAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5UUAorLkJSIFwtdiAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuU0ggQ09ORklHIEZJTEUgSVRFTVMKKy5CIGNoZm4KK3JlYWRzIHRoZQorLklSIC9ldGNcOi9sb2dpbi5kZWZzICg1KQorY29uZmlndXJhdGlvbiBmaWxlLiAgTm90ZSB0aGF0IHRoZSBjb25maWd1cmF0aW9uIGZpbGUgY291bGQgYmUKK2Rpc3RyaWJ1dGVkIHdpdGggYW5vdGhlciBwYWNrYWdlIChlLmcuIHNoYWRvdy11dGlscykuICBUaGUgZm9sbG93aW5nCitjb25maWd1cmF0aW9uIGl0ZW1zIGFyZSByZWxldmFudCBmb3IKKy5CUiBjaGZuICgxKToKKy5QUAorLkJJIENIRk5fUkVTVFJJQ1QgIiBzdHJpbmciCisuUlMgNAorSW5kaWNhdGUgd2hpY2ggZmllbGRzIGFyZSBjaGFuZ2VhYmxlIGJ5IFxmQmNoZm5cZlIuCisKK1RoZSBib29sZWFuIHNldHRpbmcgXGZCInllcyJcZlIgbWVhbnMgdGhhdCBvbmx5IHRoZSBPZmZpY2UsIE9mZmljZSBQaG9uZSBhbmQKK0hvbWUgUGhvbmUgZmllbGRzIGFyZSBjaGFuZ2VhYmxlLCBhbmQgYm9vbGVhbiBzZXR0aW5nIFxmQiJubyJcZlIgbWVhbnMgdGhhdAorYWxzbyB0aGUgRnVsbCBOYW1lIGlzIGNoYW5nZWFibGUuCisKK0Fub3RoZXIgd2F5IHRvIHNwZWNpZnkgY2hhbmdlYWJsZSBmaWVsZHMgaXMgYnkgYWJicmV2aWF0aW9uczogZiA9IEZ1bGwgTmFtZSwKK3IgPSBPZmZpY2UgKHJvb20pLCB3ID0gT2ZmaWNlICh3b3JrKSBQaG9uZSwgaCA9IEhvbWUgUGhvbmUuICBGb3IgZXhhbXBsZSwKK1xmQkNIRk5fUkVTVFJJQ1QgIndoIlxmUiBhbGxvd3MgY2hhbmdpbmcgd29yayBhbmQgaG9tZSBwaG9uZSBudW1iZXJzLgorCitJZiBDSEZOX1JFU1RSSUNUIGlzIHVuZGVmaW5lZCwgdGhlbiBhbGwgZmluZ2VyIGluZm9ybWF0aW9uIGlzIHJlYWQtb25seS4KK1RoaXMgaXMgdGhlIGRlZmF1bHQuCisuUkUKKy5QUAorLlNIICJFWElUIFNUQVRVUyIKK1JldHVybnMgMCBpZiBvcGVyYXRpb24gd2FzIHN1Y2Nlc3NmdWwsIDEgaWYgb3BlcmF0aW9uIGZhaWxlZCBvciBjb21tYW5kIHN5bnRheCB3YXMgbm90IHZhbGlkLgorLlNIICJTRUUgQUxTTyIKKy5CUiBjaHNoKDEpLAorLkJSIGZpbmdlciAoMSksCisuQlIgbG9naW4uZGVmcyg1KSwKKy5CUiBwYXNzd2QgKDUpCisuU0ggQVVUSE9SCitTYWx2YXRvcmUgVmFsZW50ZSA8c3ZhbGVudGVAbWl0LmVkdT4KKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBjaGZuIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvY2hmbi5jIGIvbG9naW4tdXRpbHMvY2hmbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg5ZTZiZDcKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy9jaGZuLmMKQEAgLTAsMCArMSw0NzUgQEAKKy8qCisgKiAgIGNoZm4uYyAtLSBjaGFuZ2UgeW91ciBmaW5nZXIgaW5mb3JtYXRpb24KKyAqICAgKGMpIDE5OTQgYnkgc2FsdmF0b3JlIHZhbGVudGUgPHN2YWxlbnRlQGF0aGVuYS5taXQuZWR1PgorICogICAoYykgMjAxMiBieSBDb2R5IE1hbG9uZXkgPGNtYWxvbmV5QHRoZW9yZXRpY2FsY2hhb3MuY29tPgorICoKKyAqICAgdGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmUuICB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQKKyAqICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgZ251IGdlbmVyYWwgcHVibGljIGxpY2Vuc2UuCisgKiAgIHRoZXJlIGlzIG5vIHdhcnJhbnR5LgorICoKKyAqICAgJEF1dGhvcjogYWViciAkCisgKiAgICRSZXZpc2lvbjogMS4xOCAkCisgKiAgICREYXRlOiAxOTk4LzA2LzExIDIyOjMwOjExICQKKyAqCisgKiBVcGRhdGVkIFRodSBPY3QgMTIgMDk6MTk6MjYgMTk5NSBieSBmYWl0aEBjcy51bmMuZWR1IHdpdGggc2VjdXJpdHkKKyAqIHBhdGNoZXMgZnJvbSBaZWZyYW0gPEEuTWFpbkBkY3Mud2Fyd2ljay5hYy51az4KKyAqCisgKiBIYWNrZWQgYnkgUGV0ZXIgQnJlaXRlbmxvaG5lciwgcGViQG1wcG11Lm1wZy5kZSwKKyAqIHRvIHJlbW92ZSB0cmFpbGluZyBlbXB0eSBmaWVsZHMuICBPY3QgNSwgOTYuCisgKgorICogIDE5OTktMDItMjIgQXJrYWRpdXN6IE1pxZtraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4KKyAqICAtIGFkZGVkIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0CisgKi8KKworI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxwd2QuaD4KKyNpbmNsdWRlIDxzdGRib29sLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJlbnYuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgImlzbG9jYWwuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJzZXRwd25hbS5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAibG9naW5kZWZzLmgiCisKKyNpbmNsdWRlICJjaC1jb21tb24uaCIKKworI2lmZGVmIEhBVkVfTElCU0VMSU5VWAorIyBpbmNsdWRlIDxzZWxpbnV4L3NlbGludXguaD4KKyMgaW5jbHVkZSAic2VsaW51eF91dGlscy5oIgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0xJQlVTRVIKKyMgaW5jbHVkZSA8bGlidXNlci91c2VyLmg+CisjIGluY2x1ZGUgImxpYnVzZXIuaCIKKyNlbGlmIENIRk5fQ0hTSF9QQVNTV09SRAorIyBpbmNsdWRlICJhdXRoLmgiCisjZW5kaWYKKworc3RydWN0IGZpbmZvIHsKKwljaGFyICpmdWxsX25hbWU7CisJY2hhciAqb2ZmaWNlOworCWNoYXIgKm9mZmljZV9waG9uZTsKKwljaGFyICpob21lX3Bob25lOworCWNoYXIgKm90aGVyOworfTsKKworc3RydWN0IGNoZm5fY29udHJvbCB7CisJc3RydWN0IHBhc3N3ZCAqcHc7CisJY2hhciAqdXNlcm5hbWU7CisJLyogICJvbGRmIiAgQ29udGFpbnMgdGhlIHVzZXJzIG9yaWdpbmFsIGZpbmdlciBpbmZvcm1hdGlvbi4KKwkgKiAgIm5ld2YiICBDb250YWlucyB0aGUgY2hhbmdlZCBmaW5nZXIgaW5mb3JtYXRpb24sIGFuZCBjb250YWlucworCSAqICAgICAgICAgIE5VTEwgaW4gZmllbGRzIHRoYXQgaGF2ZW4ndCBiZWVuIGNoYW5nZWQuCisJICogIEluIHRoZSBlbmQsICJuZXdmIiBpcyBmb2xkZWQgaW50byAib2xkZiIuICAqLworCXN0cnVjdCBmaW5mbyBvbGRmLCBuZXdmOworCXVuc2lnbmVkIGludAorCQlhbGxvd19mdWxsbmFtZToxLAkvKiBUaGUgbG9naW4uZGVmcyByZXN0cmljdGlvbiAqLworCQlhbGxvd19yb29tOjEsCQkgICAvKiBzZWU6IG1hbiBsb2dpbi5kZWZzKDUpICovCisJCWFsbG93X3dvcms6MSwJCSAgIC8qIGFuZCBsb29rIGZvciBDSEZOX1JFU1RSSUNUICovCisJCWFsbG93X2hvbWU6MSwJCSAgIC8qIGtleXdvcmQgZm9yIHRoZXNlIGZvdXIuICovCisJCWNoYW5nZWQ6MSwJCS8qIGlzIGNoYW5nZSByZXF1ZXN0ZWQgKi8KKwkJaW50ZXJhY3RpdmU6MTsJCS8qIHdoZXRoZXIgdG8gcHJvbXB0IGZvciBmaWVsZHMgb3Igbm90ICovCit9OworCisvKiB3ZSBkbyBub3QgYWNjZXB0IGdlY29zIGZpZWxkIHNpemVzIGxvbmdlciB0aGFuIE1BWF9GSUVMRF9TSVpFICovCisjZGVmaW5lIE1BWF9GSUVMRF9TSVpFCQkyNTYKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqZnApCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBmcCk7CisJZnByaW50ZihmcCwgXygiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPl1cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIGZwKTsKKwlmcHV0cyhfKCJDaGFuZ2UgeW91ciBmaW5nZXIgaW5mb3JtYXRpb24uXG4iKSwgZnApOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgZnApOworCWZwdXRzKF8oIiAtZiwgLS1mdWxsLW5hbWUgPGZ1bGwtbmFtZT4gIHJlYWwgbmFtZVxuIiksIGZwKTsKKwlmcHV0cyhfKCIgLW8sIC0tb2ZmaWNlIDxvZmZpY2U+ICAgICAgICBvZmZpY2UgbnVtYmVyXG4iKSwgZnApOworCWZwdXRzKF8oIiAtcCwgLS1vZmZpY2UtcGhvbmUgPHBob25lPiAgIG9mZmljZSBwaG9uZSBudW1iZXJcbiIpLCBmcCk7CisJZnB1dHMoXygiIC1oLCAtLWhvbWUtcGhvbmUgPHBob25lPiAgICAgaG9tZSBwaG9uZSBudW1iZXJcbiIpLCBmcCk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBmcCk7CisJZnB1dHMoXygiIC11LCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iKSwgZnApOworCWZwdXRzKF8oIiAtdiwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIiksIGZwKTsKKwlmcHJpbnRmKGZwLCBVU0FHRV9NQU5fVEFJTCgiY2hmbigxKSIpKTsKKwlleGl0KGZwID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKKy8qCisgKiAgY2hlY2tfZ2Vjb3Nfc3RyaW5nICgpIC0tCisgKgljaGVjayB0aGF0IHRoZSBnaXZlbiBnZWNvcyBzdHJpbmcgaXMgbGVnYWwuICBpZiBpdCdzIG5vdCBsZWdhbCwKKyAqCW91dHB1dCAibXNnIiBmb2xsb3dlZCBieSBhIGRlc2NyaXB0aW9uIG9mIHRoZSBwcm9ibGVtLCBhbmQgcmV0dXJuICgtMSkuCisgKi8KK3N0YXRpYyBpbnQgY2hlY2tfZ2Vjb3Nfc3RyaW5nKGNvbnN0IGNoYXIgKm1zZywgY2hhciAqZ2Vjb3MpCit7CisJY29uc3Qgc2l6ZV90IGxlbiA9IHN0cmxlbihnZWNvcyk7CisKKwlpZiAoTUFYX0ZJRUxEX1NJWkUgPCBsZW4pIHsKKwkJd2FybngoXygiZmllbGQgJXMgaXMgdG9vIGxvbmciKSwgbXNnKTsKKwkJcmV0dXJuIC0xOworCX0KKwlpZiAoaWxsZWdhbF9wYXNzd2RfY2hhcnMoZ2Vjb3MpKSB7CisJCXdhcm54KF8oIiVzOiBoYXMgaWxsZWdhbCBjaGFyYWN0ZXJzIiksIGdlY29zKTsKKwkJcmV0dXJuIC0xOworCX0KKwlyZXR1cm4gMDsKK30KKworLyoKKyAqICBwYXJzZV9hcmd2ICgpIC0tCisgKglwYXJzZSB0aGUgY29tbWFuZCBsaW5lIGFyZ3VtZW50cy4KKyAqCXJldHVybnMgdHJ1ZSBpZiBubyBpbmZvcm1hdGlvbiBiZXlvbmQgdGhlIHVzZXJuYW1lIHdhcyBnaXZlbi4KKyAqLworc3RhdGljIHZvaWQgcGFyc2VfYXJndihzdHJ1Y3QgY2hmbl9jb250cm9sICpjdGwsIGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlpbnQgaW5kZXgsIGMsIHN0YXR1cyA9IDA7CisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ19vcHRpb25zW10gPSB7CisJCXsiZnVsbC1uYW1lIiwgcmVxdWlyZWRfYXJndW1lbnQsIDAsICdmJ30sCisJCXsib2ZmaWNlIiwgcmVxdWlyZWRfYXJndW1lbnQsIDAsICdvJ30sCisJCXsib2ZmaWNlLXBob25lIiwgcmVxdWlyZWRfYXJndW1lbnQsIDAsICdwJ30sCisJCXsiaG9tZS1waG9uZSIsIHJlcXVpcmVkX2FyZ3VtZW50LCAwLCAnaCd9LAorCQl7ImhlbHAiLCBub19hcmd1bWVudCwgMCwgJ3UnfSwKKwkJeyJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsIDAsICd2J30sCisJCXtOVUxMLCBub19hcmd1bWVudCwgMCwgJzAnfSwKKwl9OworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImY6cjpwOmg6bzp1diIsIGxvbmdfb3B0aW9ucywKKwkJCQkmaW5kZXgpKSAhPSAtMSkgeworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnZic6CisJCQlpZiAoIWN0bC0+YWxsb3dfZnVsbG5hbWUpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImxvZ2luLmRlZnMgZm9yYmlkcyBzZXR0aW5nICVzIiksIF8oIk5hbWUiKSk7CisJCQljdGwtPm5ld2YuZnVsbF9uYW1lID0gb3B0YXJnOworCQkJc3RhdHVzICs9IGNoZWNrX2dlY29zX3N0cmluZyhfKCJOYW1lIiksIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAnbyc6CisJCQlpZiAoIWN0bC0+YWxsb3dfcm9vbSkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibG9naW4uZGVmcyBmb3JiaWRzIHNldHRpbmcgJXMiKSwgXygiT2ZmaWNlIikpOworCQkJY3RsLT5uZXdmLm9mZmljZSA9IG9wdGFyZzsKKwkJCXN0YXR1cyArPSBjaGVja19nZWNvc19zdHJpbmcoXygiT2ZmaWNlIiksIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAncCc6CisJCQlpZiAoIWN0bC0+YWxsb3dfd29yaykKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibG9naW4uZGVmcyBmb3JiaWRzIHNldHRpbmcgJXMiKSwgXygiT2ZmaWNlIFBob25lIikpOworCQkJY3RsLT5uZXdmLm9mZmljZV9waG9uZSA9IG9wdGFyZzsKKwkJCXN0YXR1cyArPSBjaGVja19nZWNvc19zdHJpbmcoXygiT2ZmaWNlIFBob25lIiksIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQlpZiAoIWN0bC0+YWxsb3dfaG9tZSkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibG9naW4uZGVmcyBmb3JiaWRzIHNldHRpbmcgJXMiKSwgXygiSG9tZSBQaG9uZSIpKTsKKwkJCWN0bC0+bmV3Zi5ob21lX3Bob25lID0gb3B0YXJnOworCQkJc3RhdHVzICs9IGNoZWNrX2dlY29zX3N0cmluZyhfKCJIb21lIFBob25lIiksIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAndic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwkJY2FzZSAndSc6CisJCQl1c2FnZShzdGRvdXQpOworCQlkZWZhdWx0OgorCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJfQorCQljdGwtPmNoYW5nZWQgPSAxOworCQljdGwtPmludGVyYWN0aXZlID0gMDsKKwl9CisJaWYgKHN0YXR1cyAhPSAwKQorCQlleGl0KEVYSVRfRkFJTFVSRSk7CisJLyogZG9uZSBwYXJzaW5nIGFyZ3VtZW50cy4gIGNoZWNrIGZvciBhIHVzZXJuYW1lLiAqLworCWlmIChvcHRpbmQgPCBhcmdjKSB7CisJCWlmIChvcHRpbmQgKyAxIDwgYXJnYykKKwkJCXVzYWdlKHN0ZGVycik7CisJCWN0bC0+dXNlcm5hbWUgPSBhcmd2W29wdGluZF07CisJfQorCXJldHVybjsKK30KKworLyoKKyAqICBwYXJzZV9wYXNzd2QgKCkgLS0KKyAqCXRha2UgYSBzdHJ1Y3QgcGFzc3dvcmQgYW5kIGZpbGwgaW4gdGhlIGZpZWxkcyBvZiB0aGUgc3RydWN0IGZpbmZvLgorICovCitzdGF0aWMgdm9pZCBwYXJzZV9wYXNzd2Qoc3RydWN0IGNoZm5fY29udHJvbCAqY3RsKQoreworCWNoYXIgKmdlY29zOworCisJaWYgKCFjdGwtPnB3KQorCQlyZXR1cm47CisJLyogdXNlIHB3X2dlY29zIC0gd2UgdGFrZSBhIGNvcHkgc2luY2UgUEFNIGRlc3Ryb3lzIHRoZSBvcmlnaW5hbCAqLworCWdlY29zID0geHN0cmR1cChjdGwtPnB3LT5wd19nZWNvcyk7CisJLyogZXh0cmFjdCBrbm93biBmaWVsZHMgKi8KKwljdGwtPm9sZGYuZnVsbF9uYW1lID0gc3Ryc2VwKCZnZWNvcywgIiwiKTsKKwljdGwtPm9sZGYub2ZmaWNlID0gc3Ryc2VwKCZnZWNvcywgIiwiKTsKKwljdGwtPm9sZGYub2ZmaWNlX3Bob25lID0gc3Ryc2VwKCZnZWNvcywgIiwiKTsKKwljdGwtPm9sZGYuaG9tZV9waG9uZSA9IHN0cnNlcCgmZ2Vjb3MsICIsIik7CisJLyogIGV4dHJhIGZpZWxkcyBjb250YWluIHNpdGUtc3BlY2lmaWMgaW5mb3JtYXRpb24sIGFuZCBjYW4KKwkgKiAgbm90IGJlIGNoYW5nZWQgYnkgdGhpcyB2ZXJzaW9uIG9mIGNoZm4uICAqLworCWN0bC0+b2xkZi5vdGhlciA9IHN0cnNlcCgmZ2Vjb3MsICIsIik7Cit9CisKKy8qCisgKiAgYXNrX25ld19maWVsZCAoKSAtLQorICoJYXNrIHRoZSB1c2VyIGZvciBhIGdpdmVuIGZpZWxkIGFuZCBjaGVjayB0aGF0IHRoZSBzdHJpbmcgaXMgbGVnYWwuCisgKi8KK3N0YXRpYyBjaGFyICphc2tfbmV3X2ZpZWxkKHN0cnVjdCBjaGZuX2NvbnRyb2wgKmN0bCwgY29uc3QgY2hhciAqcXVlc3Rpb24sCisJCQkgICBjaGFyICpkZWZfdmFsKQoreworCWludCBsZW47CisJY2hhciAqYW5zOworCWNoYXIgYnVmW01BWF9GSUVMRF9TSVpFICsgMl07CisKKwlpZiAoIWRlZl92YWwpCisJCWRlZl92YWwgPSAiIjsKKwl3aGlsZSAodHJ1ZSkgeworCQlwcmludGYoIiVzIFslc106ICIsIHF1ZXN0aW9uLCBkZWZfdmFsKTsKKwkJX19mcHVyZ2Uoc3RkaW4pOworCQlpZiAoZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgc3RkaW4pID09IE5VTEwpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiQWJvcnRlZC4iKSk7CisJCWFucyA9IGJ1ZjsKKwkJLyogcmVtb3ZlIHdoaXRlIHNwYWNlcyBmcm9tIHN0cmluZyBlbmQgKi8KKwkJbHRyaW1fd2hpdGVzcGFjZSgodW5zaWduZWQgY2hhciAqKSBhbnMpOworCQlsZW4gPSBydHJpbV93aGl0ZXNwYWNlKCh1bnNpZ25lZCBjaGFyICopIGFucyk7CisJCWlmIChsZW4gPT0gMCkKKwkJCXJldHVybiB4c3RyZHVwKGRlZl92YWwpOworCQlpZiAoIXN0cmNhc2VjbXAoYW5zLCAibm9uZSIpKSB7CisJCQljdGwtPmNoYW5nZWQgPSAxOworCQkJcmV0dXJuIHhzdHJkdXAoIiIpOworCQl9CisJCWlmIChjaGVja19nZWNvc19zdHJpbmcocXVlc3Rpb24sIGFucykgPj0gMCkKKwkJCWJyZWFrOworCX0KKwljdGwtPmNoYW5nZWQgPSAxOworCXJldHVybiB4c3RyZHVwKGFucyk7Cit9CisKKy8qCisgKiAgZ2V0X2xvZ2luX2RlZnMoKQorICoJZmluZCAvZXRjL2xvZ2luLmRlZnMgQ0hGTl9SRVNUUklDVCBhbmQgc2F2ZSByZXN0cmljdGlvbnMgdG8gcnVuIHRpbWUKKyAqLworc3RhdGljIHZvaWQgZ2V0X2xvZ2luX2RlZnMoc3RydWN0IGNoZm5fY29udHJvbCAqY3RsKQoreworCWNvbnN0IGNoYXIgKnM7CisJc2l6ZV90IGk7CisJaW50IGJyb2tlbiA9IDA7CisKKwkvKiByZWFsIHJvb3QgZG9lcyBub3QgaGF2ZSByZXN0cmljdGlvbnMgKi8KKwlpZiAoZ2V0ZXVpZCgpID09IGdldHVpZCgpICYmIGdldHVpZCgpID09IDApIHsKKwkJY3RsLT5hbGxvd19mdWxsbmFtZSA9IGN0bC0+YWxsb3dfcm9vbSA9IGN0bC0+YWxsb3dfd29yayA9IGN0bC0+YWxsb3dfaG9tZSA9IDE7CisJCXJldHVybjsKKwl9CisJcyA9IGdldGxvZ2luZGVmc19zdHIoIkNIRk5fUkVTVFJJQ1QiLCAiIik7CisJaWYgKCFzdHJjbXAocywgInllcyIpKSB7CisJCWN0bC0+YWxsb3dfcm9vbSA9IGN0bC0+YWxsb3dfd29yayA9IGN0bC0+YWxsb3dfaG9tZSA9IDE7CisJCXJldHVybjsKKwl9CisJaWYgKCFzdHJjbXAocywgIm5vIikpIHsKKwkJY3RsLT5hbGxvd19mdWxsbmFtZSA9IGN0bC0+YWxsb3dfcm9vbSA9IGN0bC0+YWxsb3dfd29yayA9IGN0bC0+YWxsb3dfaG9tZSA9IDE7CisJCXJldHVybjsKKwl9CisJZm9yIChpID0gMDsgc1tpXTsgaSsrKSB7CisJCXN3aXRjaCAoc1tpXSkgeworCQljYXNlICdmJzoKKwkJCWN0bC0+YWxsb3dfZnVsbG5hbWUgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJY3RsLT5hbGxvd19yb29tID0gMTsKKwkJCWJyZWFrOworCQljYXNlICd3JzoKKwkJCWN0bC0+YWxsb3dfd29yayA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQljdGwtPmFsbG93X2hvbWUgPSAxOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlicm9rZW4gPSAxOworCQl9CisJfQorCWlmIChicm9rZW4pCisJCXdhcm54KF8oIiVzOiBDSEZOX1JFU1RSSUNUIGhhcyB1bmV4cGVjdGVkIHZhbHVlOiAlcyIpLCBfUEFUSF9MT0dJTkRFRlMsIHMpOworCWlmICghY3RsLT5hbGxvd19mdWxsbmFtZSAmJiAhY3RsLT5hbGxvd19yb29tICYmICFjdGwtPmFsbG93X3dvcmsgJiYgIWN0bC0+YWxsb3dfaG9tZSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzOiBDSEZOX1JFU1RSSUNUIGRvZXMgbm90IGFsbG93IGFueSBjaGFuZ2VzIiksIF9QQVRIX0xPR0lOREVGUyk7CisJcmV0dXJuOworfQorCisvKgorICogIGFza19pbmZvICgpIC0tCisgKglwcm9tcHQgdGhlIHVzZXIgZm9yIHRoZSBmaW5nZXIgaW5mb3JtYXRpb24gYW5kIHN0b3JlIGl0LgorICovCitzdGF0aWMgdm9pZCBhc2tfaW5mbyhzdHJ1Y3QgY2hmbl9jb250cm9sICpjdGwpCit7CisJaWYgKGN0bC0+YWxsb3dfZnVsbG5hbWUpCisJCWN0bC0+bmV3Zi5mdWxsX25hbWUgPSBhc2tfbmV3X2ZpZWxkKGN0bCwgXygiTmFtZSIpLCBjdGwtPm9sZGYuZnVsbF9uYW1lKTsKKwlpZiAoY3RsLT5hbGxvd19yb29tKQorCQljdGwtPm5ld2Yub2ZmaWNlID0gYXNrX25ld19maWVsZChjdGwsIF8oIk9mZmljZSIpLCBjdGwtPm9sZGYub2ZmaWNlKTsKKwlpZiAoY3RsLT5hbGxvd193b3JrKQorCQljdGwtPm5ld2Yub2ZmaWNlX3Bob25lID0gYXNrX25ld19maWVsZChjdGwsIF8oIk9mZmljZSBQaG9uZSIpLCBjdGwtPm9sZGYub2ZmaWNlX3Bob25lKTsKKwlpZiAoY3RsLT5hbGxvd19ob21lKQorCQljdGwtPm5ld2YuaG9tZV9waG9uZSA9IGFza19uZXdfZmllbGQoY3RsLCBfKCJIb21lIFBob25lIiksIGN0bC0+b2xkZi5ob21lX3Bob25lKTsKKwlwdXRjaGFyKCdcbicpOworfQorCisvKgorICogIGZpbmRfZmllbGQgKCkgLS0KKyAqCWZpbmQgZmllbGQgdmFsdWUgaW4gdW5pbnRlcmFjdGl2ZSBtb2RlOyBjYW4gYmUgbmV3LCBvbGQsIG9yIGJsYW5rCisgKi8KK3N0YXRpYyBjaGFyICpmaW5kX2ZpZWxkKGNoYXIgKm5mLCBjaGFyICpvZikKK3sKKwlpZiAobmYpCisJCXJldHVybiBuZjsKKwlpZiAob2YpCisJCXJldHVybiBvZjsKKwlyZXR1cm4geHN0cmR1cCgiIik7Cit9CisKKy8qCisgKiAgYWRkX21pc3NpbmcgKCkgLS0KKyAqCWFkZCBub3Qgc3VwcGxpZWQgZmllbGQgdmFsdWVzIHdoZW4gaW4gdW5pbnRlcmFjdGl2ZSBtb2RlCisgKi8KK3N0YXRpYyB2b2lkIGFkZF9taXNzaW5nKHN0cnVjdCBjaGZuX2NvbnRyb2wgKmN0bCkKK3sKKwljdGwtPm5ld2YuZnVsbF9uYW1lID0gZmluZF9maWVsZChjdGwtPm5ld2YuZnVsbF9uYW1lLCBjdGwtPm9sZGYuZnVsbF9uYW1lKTsKKwljdGwtPm5ld2Yub2ZmaWNlID0gZmluZF9maWVsZChjdGwtPm5ld2Yub2ZmaWNlLCBjdGwtPm9sZGYub2ZmaWNlKTsKKwljdGwtPm5ld2Yub2ZmaWNlX3Bob25lID0gZmluZF9maWVsZChjdGwtPm5ld2Yub2ZmaWNlX3Bob25lLCBjdGwtPm9sZGYub2ZmaWNlX3Bob25lKTsKKwljdGwtPm5ld2YuaG9tZV9waG9uZSA9IGZpbmRfZmllbGQoY3RsLT5uZXdmLmhvbWVfcGhvbmUsIGN0bC0+b2xkZi5ob21lX3Bob25lKTsKKwljdGwtPm5ld2Yub3RoZXIgPSBmaW5kX2ZpZWxkKGN0bC0+bmV3Zi5vdGhlciwgY3RsLT5vbGRmLm90aGVyKTsKKwlwcmludGYoIlxuIik7Cit9CisKKy8qCisgKiAgc2F2ZV9uZXdfZGF0YSAoKSAtLQorICoJc2F2ZSB0aGUgZ2l2ZW4gZmluZ2VyIGluZm8gaW4gL2V0Yy9wYXNzd2QuCisgKglyZXR1cm4gemVybyBvbiBzdWNjZXNzLgorICovCitzdGF0aWMgaW50IHNhdmVfbmV3X2RhdGEoc3RydWN0IGNoZm5fY29udHJvbCAqY3RsKQoreworCWNoYXIgKmdlY29zOworCWludCBsZW47CisKKwkvKiBjcmVhdGUgdGhlIG5ldyBnZWNvcyBzdHJpbmcgKi8KKwlsZW4gPSB4YXNwcmludGYoJmdlY29zLCAiJXMsJXMsJXMsJXMsJXMiLAorCQkJY3RsLT5uZXdmLmZ1bGxfbmFtZSwKKwkJCWN0bC0+bmV3Zi5vZmZpY2UsCisJCQljdGwtPm5ld2Yub2ZmaWNlX3Bob25lLAorCQkJY3RsLT5uZXdmLmhvbWVfcGhvbmUsCisJCQljdGwtPm5ld2Yub3RoZXIpOworCisJLyogcmVtb3ZlIHRyYWlsaW5nIGVtcHR5IGZpZWxkcyAoYnV0IG5vdCBzdWJmaWVsZHMgb2YgY3RsLT5uZXdmLm90aGVyKSAqLworCWlmICghY3RsLT5uZXdmLm90aGVyKSB7CisJCXdoaWxlIChsZW4gPiAwICYmIGdlY29zW2xlbiAtIDFdID09ICcsJykKKwkJCWxlbi0tOworCQlnZWNvc1tsZW5dID0gMDsKKwl9CisKKyNpZmRlZiBIQVZFX0xJQlVTRVIKKwlpZiAoc2V0X3ZhbHVlX2xpYnVzZXIoImNoZm4iLCBjdGwtPnVzZXJuYW1lLCBjdGwtPnB3LT5wd191aWQsCisJCQlMVV9HRUNPUywgZ2Vjb3MpIDwgMCkgeworI2Vsc2UgLyogSEFWRV9MSUJVU0VSICovCisJLyogd3JpdGUgdGhlIG5ldyBzdHJ1Y3QgcGFzc3dkIHRvIHRoZSBwYXNzd2QgZmlsZS4gKi8KKwljdGwtPnB3LT5wd19nZWNvcyA9IGdlY29zOworCWlmIChzZXRwd25hbShjdGwtPnB3LCAiLmNoZm4iKSA8IDApIHsKKwkJd2Fybigic2V0cHduYW0gZmFpbGVkIik7CisjZW5kaWYKKwkJcHJpbnRmKF8KKwkJICAgICAgICgiRmluZ2VyIGluZm9ybWF0aW9uICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuXG4iKSk7CisJCXJldHVybiAtMTsKKwl9CisJZnJlZShnZWNvcyk7CisJcHJpbnRmKF8oIkZpbmdlciBpbmZvcm1hdGlvbiBjaGFuZ2VkLlxuIikpOworCXJldHVybiAwOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJdWlkX3QgdWlkOworCXN0cnVjdCBjaGZuX2NvbnRyb2wgY3RsID0geworCQkuaW50ZXJhY3RpdmUgPSAxCisJfTsKKworCXNhbml0aXplX2VudigpOworCXNldGxvY2FsZShMQ19BTEwsICIiKTsJLyogYm90aCBmb3IgbWVzc2FnZXMgYW5kIGZvciBpc2NudHJsKCkgYmVsb3cgKi8KKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisJdWlkID0gZ2V0dWlkKCk7CisKKwkvKiBjaGVjayAvZXRjL2xvZ2luLmRlZnMgQ0hGTl9SRVNUUklDVCAqLworCWdldF9sb2dpbl9kZWZzKCZjdGwpOworCisJcGFyc2VfYXJndigmY3RsLCBhcmdjLCBhcmd2KTsKKwlpZiAoIWN0bC51c2VybmFtZSkgeworCQljdGwucHcgPSBnZXRwd3VpZCh1aWQpOworCQlpZiAoIWN0bC5wdykKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ5b3UgKHVzZXIgJWQpIGRvbid0IGV4aXN0LiIpLAorCQkJICAgICB1aWQpOworCQljdGwudXNlcm5hbWUgPSBjdGwucHctPnB3X25hbWU7CisJfSBlbHNlIHsKKwkJY3RsLnB3ID0gZ2V0cHduYW0oY3RsLnVzZXJuYW1lKTsKKwkJaWYgKCFjdGwucHcpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidXNlciBcIiVzXCIgZG9lcyBub3QgZXhpc3QuIiksCisJCQkgICAgIGN0bC51c2VybmFtZSk7CisJfQorCXBhcnNlX3Bhc3N3ZCgmY3RsKTsKKyNpZm5kZWYgSEFWRV9MSUJVU0VSCisJaWYgKCEoaXNfbG9jYWwoY3RsLnVzZXJuYW1lKSkpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcyIpKTsKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9MSUJTRUxJTlVYCisJaWYgKGlzX3NlbGludXhfZW5hYmxlZCgpID4gMCkgeworCQlpZiAodWlkID09IDApIHsKKwkJCWFjY2Vzc192ZWN0b3JfdCBhdiA9IGdldF9hY2Nlc3NfdmVjdG9yKCJwYXNzd2QiLCAiY2hmbiIpOworCisJCQlpZiAoc2VsaW51eF9jaGVja19wYXNzd2RfYWNjZXNzKGF2KSAhPSAwKSB7CisJCQkJc2VjdXJpdHlfY29udGV4dF90IHVzZXJfY29udGV4dDsKKwkJCQlpZiAoZ2V0cHJldmNvbigmdXNlcl9jb250ZXh0KSA8IDApCisJCQkJCXVzZXJfY29udGV4dCA9IE5VTEw7CisJCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkJICAgICBfKCIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgIgorCQkJCSAgICAgICAidGhlIGZpbmdlciBpbmZvIG9mICVzIiksCisJCQkJICAgICB1c2VyX2NvbnRleHQgPyA6IF8oIlVua25vd24gdXNlciBjb250ZXh0IiksCisJCQkJICAgICBjdGwudXNlcm5hbWUpOworCQkJfQorCQl9CisJCWlmIChzZXR1cERlZmF1bHRDb250ZXh0KF9QQVRIX1BBU1NXRCkpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCSAgICAgXygiY2FuJ3Qgc2V0IGRlZmF1bHQgY29udGV4dCBmb3IgJXMiKSwgX1BBVEhfUEFTU1dEKTsKKwl9CisjZW5kaWYKKworI2lmZGVmIEhBVkVfTElCVVNFUgorCS8qIElmIHdlJ3JlIHNldHVpZCBhbmQgbm90IHJlYWxseSByb290LCBkaXNhbGxvdyB0aGUgcGFzc3dvcmQgY2hhbmdlLiAqLworCWlmIChnZXRldWlkKCkgIT0gZ2V0dWlkKCkgJiYgdWlkICE9IGN0bC5wdy0+cHdfdWlkKSB7CisjZWxzZQorCWlmICh1aWQgIT0gMCAmJiB1aWQgIT0gY3RsLnB3LT5wd191aWQpIHsKKyNlbmRpZgorCQllcnJubyA9IEVBQ0NFUzsKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSAiCisJCSAgICAgICJhbHRlcmluZywgY2hhbmdlIGRlbmllZCIpKTsKKwl9CisKKwlwcmludGYoXygiQ2hhbmdpbmcgZmluZ2VyIGluZm9ybWF0aW9uIGZvciAlcy5cbiIpLCBjdGwudXNlcm5hbWUpOworCisjaWYgIWRlZmluZWQoSEFWRV9MSUJVU0VSKSAmJiBkZWZpbmVkKENIRk5fQ0hTSF9QQVNTV09SRCkKKwlpZiAoIWF1dGhfcGFtKCJjaGZuIiwgdWlkLCBjdGwudXNlcm5hbWUpKSB7CisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJfQorI2VuZGlmCisKKwlpZiAoY3RsLmludGVyYWN0aXZlKQorCQlhc2tfaW5mbygmY3RsKTsKKworCWFkZF9taXNzaW5nKCZjdGwpOworCisJaWYgKCFjdGwuY2hhbmdlZCkgeworCQlwcmludGYoXygiRmluZ2VyIGluZm9ybWF0aW9uIG5vdCBjaGFuZ2VkLlxuIikpOworCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCX0KKworCXJldHVybiBzYXZlX25ld19kYXRhKCZjdGwpID09IDAgPyBFWElUX1NVQ0NFU1MgOiBFWElUX0ZBSUxVUkU7Cit9CmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy9jaHNoLjEgYi9sb2dpbi11dGlscy9jaHNoLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTk2NDZlMgotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL2Noc2guMQpAQCAtMCwwICsxLDY1IEBACisuXCIKKy5cIiAgY2hzaC4xIC0tIGNoYW5nZSB5b3VyIGxvZ2luIHNoZWxsCisuXCIgIChjKSAxOTk0IGJ5IHNhbHZhdG9yZSB2YWxlbnRlIDxzdmFsZW50ZUBhdGhlbmEubWl0LmVkdT4KKy5cIgorLlwiICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZS4gIFlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZAorLlwiICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKy5cIiAgVGhlcmUgaXMgbm8gd2FycmFudHkuCisuXCIKKy5USCBDSFNIIDEgIkp1bHkgMjAxNCIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK2Noc2ggXC0gY2hhbmdlIHlvdXIgbG9naW4gc2hlbGwKKy5TSCBTWU5PUFNJUworLkIgY2hzaAorLlJCIFsgXC1zCisuSVIgc2hlbGwgXQorLlJCIFsgXC1sIF0KKy5SQiBbIFwtaCBdCisuUkIgWyBcLXYgXQorLlJJIFsgdXNlcm5hbWUgXQorLlNIIERFU0NSSVBUSU9OCisuQiBjaHNoCitpcyB1c2VkIHRvIGNoYW5nZSB5b3VyIGxvZ2luIHNoZWxsLgorSWYgYSBzaGVsbCBpcyBub3QgZ2l2ZW4gb24gdGhlIGNvbW1hbmQgbGluZSwKKy5CIGNoc2gKK3Byb21wdHMgZm9yIG9uZS4KKworLkIgY2hzaAorc3VwcG9ydHMgbm9uLWxvY2FsIGVudHJpZXMgKGtlcmJlcm9zLCBMREFQLCBldGMuXCYpIGlmIGxpbmtlZCB3aXRoIGxpYnVzZXIsCitvdGhlcndpc2UgdXNlIFxmQnlwY2hzaFxmUiwgXGZCbGNoc2hcZlIgb3IgYW55IG90aGVyIGltcGxlbWVudGF0aW9uIGZvcgorbm9uLWxvY2FsIGVudHJpZXMuCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1zICwgIiBcLVwtc2hlbGwgIiBcZklzaGVsbAorU3BlY2lmeSB5b3VyIGxvZ2luIHNoZWxsLgorLlRQCisuQlIgXC1sICwgIiBcLVwtbGlzdFwtc2hlbGxzIgorUHJpbnQgdGhlIGxpc3Qgb2Ygc2hlbGxzIGxpc3RlZCBpbgorLkkgL2V0Yy9zaGVsbHMKK2FuZCBleGl0LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlRQCisuQlIgXC12ICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5TSCAiVkFMSUQgU0hFTExTIgorLkIgY2hzaAord2lsbCBhY2NlcHQgdGhlIGZ1bGwgcGF0aG5hbWUgb2YgYW55IGV4ZWN1dGFibGUgZmlsZSBvbiB0aGUgc3lzdGVtLgorSG93ZXZlciwgaXQgd2lsbCBpc3N1ZSBhIHdhcm5pbmcgaWYgdGhlIHNoZWxsIGlzIG5vdCBsaXN0ZWQgaW4gdGhlCisuSSAvZXRjL3NoZWxscworZmlsZS4KK09uIHRoZSBvdGhlciBoYW5kLCBpdCBjYW4gYWxzbyBiZSBjb25maWd1cmVkIHN1Y2ggdGhhdCBpdCB3aWxsCitvbmx5IGFjY2VwdCBzaGVsbHMgbGlzdGVkIGluIHRoaXMgZmlsZSwgdW5sZXNzIHlvdSBhcmUgcm9vdC4KKy5TSCAiRVhJVCBTVEFUVVMiCitSZXR1cm5zIDAgaWYgb3BlcmF0aW9uIHdhcyBzdWNjZXNzZnVsLCAxIGlmIG9wZXJhdGlvbiBmYWlsZWQgb3IgY29tbWFuZCBzeW50YXggd2FzIG5vdCB2YWxpZC4KKy5TSCAiU0VFIEFMU08iCisuQlIgbG9naW4gKDEpLAorLkJSIGxvZ2luLmRlZnMoNSksCisuQlIgcGFzc3dkICg1KSwKKy5CUiBzaGVsbHMgKDUpCisuU0ggQVVUSE9SCitTYWx2YXRvcmUgVmFsZW50ZSA8c3ZhbGVudGVAbWl0LmVkdT4KKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBjaHNoIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvY2hzaC5jIGIvbG9naW4tdXRpbHMvY2hzaC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhMWM3YmEKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy9jaHNoLmMKQEAgLTAsMCArMSwzMzUgQEAKKy8qCisgKiAgIGNoc2guYyAtLSBjaGFuZ2UgeW91ciBsb2dpbiBzaGVsbAorICogICAoYykgMTk5NCBieSBzYWx2YXRvcmUgdmFsZW50ZSA8c3ZhbGVudGVAYXRoZW5hLm1pdC5lZHU+CisgKiAgIChjKSAyMDEyIGJ5IENvZHkgTWFsb25leSA8Y21hbG9uZXlAdGhlb3JldGljYWxjaGFvcy5jb20+CisgKgorICogICB0aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZS4gIHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZAorICogICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBnbnUgZ2VuZXJhbCBwdWJsaWMgbGljZW5zZS4KKyAqICAgdGhlcmUgaXMgbm8gd2FycmFudHkuCisgKgorICogICAkQXV0aG9yOiBhZWJyICQKKyAqICAgJFJldmlzaW9uOiAxLjE5ICQKKyAqICAgJERhdGU6IDE5OTgvMDYvMTEgMjI6MzA6MTQgJAorICoKKyAqIFVwZGF0ZWQgVGh1IE9jdCAxMiAwOTozMzoxNSAxOTk1IGJ5IGZhaXRoQGNzLnVuYy5lZHUgd2l0aCBzZWN1cml0eQorICogICBwYXRjaGVzIGZyb20gWmVmcmFtIDxBLk1haW5AZGNzLndhcndpY2suYWMudWs+CisgKgorICogVXBkYXRlZCBNb24gSnVsICAxIDE4OjQ2OjIyIDE5OTYgYnkgamFubEBtYXRoLnVpby5ubyB3aXRoIHNlY3VyaXR5CisgKiAgIHN1Z2dlc3Rpb24gZnJvbSBaZWZyYW0uICBEaXNhbGxvd2luZyB1c2VycyB3aXRoIHNoZWxscyBub3QgaW4gL2V0Yy9zaGVsbHMKKyAqICAgZnJvbSBjaGFuZ2luZyB0aGVpciBzaGVsbC4KKyAqCisgKiAgIDE5OTktMDItMjIgQXJrYWRpdXN6IE1pxZtraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4KKyAqICAgLSBhZGRlZCBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAorICovCisKKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8cHdkLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJlbnYuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgImlzbG9jYWwuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJzZXRwd25hbS5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisKKyNpbmNsdWRlICJjaC1jb21tb24uaCIKKworI2lmZGVmIEhBVkVfTElCU0VMSU5VWAorIyBpbmNsdWRlIDxzZWxpbnV4L3NlbGludXguaD4KKyMgaW5jbHVkZSAic2VsaW51eF91dGlscy5oIgorI2VuZGlmCisKKworI2lmZGVmIEhBVkVfTElCVVNFUgorIyBpbmNsdWRlIDxsaWJ1c2VyL3VzZXIuaD4KKyMgaW5jbHVkZSAibGlidXNlci5oIgorI2VsaWYgQ0hGTl9DSFNIX1BBU1NXT1JECisjIGluY2x1ZGUgImF1dGguaCIKKyNlbmRpZgorCitzdHJ1Y3Qgc2luZm8geworCWNoYXIgKnVzZXJuYW1lOworCWNoYXIgKnNoZWxsOworfTsKKworCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSAoRklMRSAqZnApCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBmcCk7CisJZnByaW50ZihmcCwgXygiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPl1cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIGZwKTsKKwlmcHV0cyhfKCJDaGFuZ2UgeW91ciBsb2dpbiBzaGVsbC5cbiIpLCBmcCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBmcCk7CisJZnB1dHMoXygiIC1zLCAtLXNoZWxsIDxzaGVsbD4gIHNwZWNpZnkgbG9naW4gc2hlbGxcbiIpLCBmcCk7CisJZnB1dHMoXygiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIHByaW50IGxpc3Qgb2Ygc2hlbGxzIGFuZCBleGl0XG4iKSwgZnApOworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgZnApOworCWZwdXRzKF8oIiAtdSwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIiksIGZwKTsKKwlmcHV0cyhfKCIgLXYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIpLCBmcCk7CisJZnByaW50ZihmcCwgVVNBR0VfTUFOX1RBSUwoImNoc2goMSkiKSk7CisJZXhpdChmcCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCisvKgorICogIGdldF9zaGVsbF9saXN0ICgpIC0tIGlmIHRoZSBnaXZlbiBzaGVsbCBhcHBlYXJzIGluIC9ldGMvc2hlbGxzLAorICoJcmV0dXJuIHRydWUuICBpZiBub3QsIHJldHVybiBmYWxzZS4KKyAqCWlmIHRoZSBnaXZlbiBzaGVsbCBpcyBOVUxMLCAvZXRjL3NoZWxscyBpcyBvdXRwdXR0ZWQgdG8gc3Rkb3V0LgorICovCitzdGF0aWMgaW50IGdldF9zaGVsbF9saXN0KGNvbnN0IGNoYXIgKnNoZWxsX25hbWUpCit7CisJRklMRSAqZnA7CisJaW50IGZvdW5kID0gMDsKKwljaGFyICpidWYgPSBOVUxMOworCXNpemVfdCBzeiA9IDA7CisJc3NpemVfdCBsZW47CisKKwlmcCA9IGZvcGVuKF9QQVRIX1NIRUxMUywgInIiKTsKKwlpZiAoIWZwKSB7CisJCWlmICghc2hlbGxfbmFtZSkKKwkJCXdhcm54KF8oIk5vIGtub3duIHNoZWxscy4iKSk7CisJCXJldHVybiAwOworCX0KKwl3aGlsZSAoKGxlbiA9IGdldGxpbmUoJmJ1ZiwgJnN6LCBmcCkpICE9IC0xKSB7CisJCS8qIGlnbm9yZSBjb21tZW50cyBhbmQgYmxhbmsgbGluZXMgKi8KKwkJaWYgKCpidWYgPT0gJyMnIHx8IGxlbiA8IDIpCisJCQljb250aW51ZTsKKwkJLyogc3RyaXAgdGhlIGVuZGluZyBuZXdsaW5lICovCisJCWlmIChidWZbbGVuIC0gMV0gPT0gJ1xuJykKKwkJCWJ1ZltsZW4gLSAxXSA9IDA7CisJCS8qIGNoZWNrIG9yIG91dHB1dCB0aGUgc2hlbGwgKi8KKwkJaWYgKHNoZWxsX25hbWUpIHsKKwkJCWlmICghc3RyY21wKHNoZWxsX25hbWUsIGJ1ZikpIHsKKwkJCQlmb3VuZCA9IDE7CisJCQkJYnJlYWs7CisJCQl9CisJCX0gZWxzZQorCQkJcHJpbnRmKCIlc1xuIiwgYnVmKTsKKwl9CisJZmNsb3NlKGZwKTsKKwlmcmVlKGJ1Zik7CisJcmV0dXJuIGZvdW5kOworfQorCisvKgorICogIHBhcnNlX2FyZ3YgKCkgLS0KKyAqCXBhcnNlIHRoZSBjb21tYW5kIGxpbmUgYXJndW1lbnRzLCBhbmQgZmlsbCBpbiAicGluZm8iIHdpdGggYW55CisgKglpbmZvcm1hdGlvbiBmcm9tIHRoZSBjb21tYW5kIGxpbmUuCisgKi8KK3N0YXRpYyB2b2lkIHBhcnNlX2FyZ3YoaW50IGFyZ2MsIGNoYXIgKiphcmd2LCBzdHJ1Y3Qgc2luZm8gKnBpbmZvKQoreworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdfb3B0aW9uc1tdID0geworCQl7InNoZWxsIiwgcmVxdWlyZWRfYXJndW1lbnQsIDAsICdzJ30sCisJCXsibGlzdC1zaGVsbHMiLCBub19hcmd1bWVudCwgMCwgJ2wnfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIDAsICdoJ30sCisJCXsidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCAwLCAndid9LAorCQl7TlVMTCwgbm9fYXJndW1lbnQsIDAsICcwJ30sCisJfTsKKwlpbnQgYzsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJzOmxodXYiLCBsb25nX29wdGlvbnMsIE5VTEwpKSAhPSAtMSkgeworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAndic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwkJY2FzZSAndSc6IC8qIGRlcHJlY2F0ZWQgKi8KKwkJY2FzZSAnaCc6CisJCQl1c2FnZShzdGRvdXQpOworCQljYXNlICdsJzoKKwkJCWdldF9zaGVsbF9saXN0KE5VTEwpOworCQkJZXhpdChFWElUX1NVQ0NFU1MpOworCQljYXNlICdzJzoKKwkJCWlmICghb3B0YXJnKQorCQkJCXVzYWdlKHN0ZGVycik7CisJCQlwaW5mby0+c2hlbGwgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKHN0ZGVycik7CisJCX0KKwl9CisJLyogZG9uZSBwYXJzaW5nIGFyZ3VtZW50cy4gIGNoZWNrIGZvciBhIHVzZXJuYW1lLiAqLworCWlmIChvcHRpbmQgPCBhcmdjKSB7CisJCWlmIChvcHRpbmQgKyAxIDwgYXJnYykKKwkJCXVzYWdlKHN0ZGVycik7CisJCXBpbmZvLT51c2VybmFtZSA9IGFyZ3Zbb3B0aW5kXTsKKwl9Cit9CisKKy8qCisgKiAgYXNrX25ld19zaGVsbCAoKSAtLQorICoJYXNrIHRoZSB1c2VyIGZvciBhIHNoZWxsIGFuZCByZXR1cm4gaXQuCisgKi8KK3N0YXRpYyBjaGFyICphc2tfbmV3X3NoZWxsKGNoYXIgKnF1ZXN0aW9uLCBjaGFyICpvbGRzaGVsbCkKK3sKKwlpbnQgbGVuOworCWNoYXIgKmFucyA9IE5VTEw7CisJc2l6ZV90IGR1bW15ID0gMDsKKwlzc2l6ZV90IHN6OworCisJaWYgKCFvbGRzaGVsbCkKKwkJb2xkc2hlbGwgPSAiIjsKKwlwcmludGYoIiVzIFslc106ICIsIHF1ZXN0aW9uLCBvbGRzaGVsbCk7CisJc3ogPSBnZXRsaW5lKCZhbnMsICZkdW1teSwgc3RkaW4pOworCWlmIChzeiA9PSAtMSkKKwkJcmV0dXJuIE5VTEw7CisJLyogcmVtb3ZlIHRoZSBuZXdsaW5lIGF0IHRoZSBlbmQgb2YgYW5zLiAqLworCWx0cmltX3doaXRlc3BhY2UoKHVuc2lnbmVkIGNoYXIgKikgYW5zKTsKKwlsZW4gPSBydHJpbV93aGl0ZXNwYWNlKCh1bnNpZ25lZCBjaGFyICopIGFucyk7CisJaWYgKGxlbiA9PSAwKQorCQlyZXR1cm4gTlVMTDsKKwlyZXR1cm4gYW5zOworfQorCisvKgorICogIGNoZWNrX3NoZWxsICgpIC0tIGlmIHRoZSBzaGVsbCBpcyBjb21wbGV0ZWx5IGludmFsaWQsIHByaW50CisgKglhbiBlcnJvciBhbmQgZXhpdC4KKyAqLworc3RhdGljIHZvaWQgY2hlY2tfc2hlbGwoY29uc3QgY2hhciAqc2hlbGwpCit7CisJaWYgKCpzaGVsbCAhPSAnLycpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJzaGVsbCBtdXN0IGJlIGEgZnVsbCBwYXRoIG5hbWUiKSk7CisJaWYgKGFjY2VzcyhzaGVsbCwgRl9PSykgPCAwKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiXCIlc1wiIGRvZXMgbm90IGV4aXN0IiksIHNoZWxsKTsKKwlpZiAoYWNjZXNzKHNoZWxsLCBYX09LKSA8IDApCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJcIiVzXCIgaXMgbm90IGV4ZWN1dGFibGUiKSwgc2hlbGwpOworCWlmIChpbGxlZ2FsX3Bhc3N3ZF9jaGFycyhzaGVsbCkpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogaGFzIGlsbGVnYWwgY2hhcmFjdGVycyIpLCBzaGVsbCk7CisJaWYgKCFnZXRfc2hlbGxfbGlzdChzaGVsbCkpIHsKKyNpZmRlZiBPTkxZX0xJU1RFRF9TSEVMTFMKKwkJaWYgKCFnZXR1aWQoKSkKKwkJCXdhcm54KF8oIldhcm5pbmc6IFwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLiIpLCBzaGVsbCwKKwkJCSAgICAgIF9QQVRIX1NIRUxMUyk7CisJCWVsc2UKKwkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJICAgICBfKCJcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy5cbiIKKwkJCSAgICAgICAiVXNlICVzIC1sIHRvIHNlZSBsaXN0LiIpLCBzaGVsbCwgX1BBVEhfU0hFTExTLAorCQkJICAgICBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisjZWxzZQorCQl3YXJueChfKCJcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy5cbiIKKwkJCSJVc2UgJXMgLWwgdG8gc2VlIGxpc3QuIiksIHNoZWxsLCBfUEFUSF9TSEVMTFMsCisJCSAgICAgICBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisjZW5kaWYKKwl9Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwljaGFyICpvbGRzaGVsbDsKKwlpbnQgbnVsbHNoZWxsID0gMDsKKwljb25zdCB1aWRfdCB1aWQgPSBnZXR1aWQoKTsKKwlzdHJ1Y3Qgc2luZm8gaW5mbyA9IHsgMCB9OworCXN0cnVjdCBwYXNzd2QgKnB3OworCisJc2FuaXRpemVfZW52KCk7CisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXBhcnNlX2FyZ3YoYXJnYywgYXJndiwgJmluZm8pOworCWlmICghaW5mby51c2VybmFtZSkgeworCQlwdyA9IGdldHB3dWlkKHVpZCk7CisJCWlmICghcHcpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygieW91ICh1c2VyICVkKSBkb24ndCBleGlzdC4iKSwKKwkJCSAgICAgdWlkKTsKKwl9IGVsc2UgeworCQlwdyA9IGdldHB3bmFtKGluZm8udXNlcm5hbWUpOworCQlpZiAoIXB3KQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVzZXIgXCIlc1wiIGRvZXMgbm90IGV4aXN0LiIpLAorCQkJICAgICBpbmZvLnVzZXJuYW1lKTsKKwl9CisKKyNpZm5kZWYgSEFWRV9MSUJVU0VSCisJaWYgKCEoaXNfbG9jYWwocHctPnB3X25hbWUpKSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzIikpOworI2VuZGlmCisKKyNpZmRlZiBIQVZFX0xJQlNFTElOVVgKKwlpZiAoaXNfc2VsaW51eF9lbmFibGVkKCkgPiAwKSB7CisJCWlmICh1aWQgPT0gMCkgeworCQkJYWNjZXNzX3ZlY3Rvcl90IGF2ID0gZ2V0X2FjY2Vzc192ZWN0b3IoInBhc3N3ZCIsICJjaHNoIik7CisKKwkJCWlmIChzZWxpbnV4X2NoZWNrX3Bhc3N3ZF9hY2Nlc3MoYXYpICE9IDApIHsKKwkJCQlzZWN1cml0eV9jb250ZXh0X3QgdXNlcl9jb250ZXh0OworCQkJCWlmIChnZXRwcmV2Y29uKCZ1c2VyX2NvbnRleHQpIDwgMCkKKwkJCQkJdXNlcl9jb250ZXh0ID0KKwkJCQkJICAgIChzZWN1cml0eV9jb250ZXh0X3QpIE5VTEw7CisKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCQkgICAgIF8oIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgc2hlbGwgb2YgJXMiKSwKKwkJCQkgICAgIHVzZXJfY29udGV4dCA/IDogXygiVW5rbm93biB1c2VyIGNvbnRleHQiKSwKKwkJCQkgICAgIHB3LT5wd19uYW1lKTsKKwkJCX0KKwkJfQorCQlpZiAoc2V0dXBEZWZhdWx0Q29udGV4dChfUEFUSF9QQVNTV0QpICE9IDApCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCSAgICAgXygiY2FuJ3Qgc2V0IGRlZmF1bHQgY29udGV4dCBmb3IgJXMiKSwgX1BBVEhfUEFTU1dEKTsKKwl9CisjZW5kaWYKKworCW9sZHNoZWxsID0gcHctPnB3X3NoZWxsOworCWlmIChvbGRzaGVsbCA9PSBOVUxMIHx8ICpvbGRzaGVsbCA9PSAnXDAnKSB7CisJCW9sZHNoZWxsID0gX1BBVEhfQlNIRUxMOwkvKiBkZWZhdWx0ICovCisJCW51bGxzaGVsbCA9IDE7CisJfQorCisJLyogcmVhbGl0eSBjaGVjayAqLworI2lmZGVmIEhBVkVfTElCVVNFUgorCS8qIElmIHdlJ3JlIHNldHVpZCBhbmQgbm90IHJlYWxseSByb290LCBkaXNhbGxvdyB0aGUgcGFzc3dvcmQgY2hhbmdlLiAqLworCWlmIChnZXRldWlkKCkgIT0gZ2V0dWlkKCkgJiYgdWlkICE9IHB3LT5wd191aWQpIHsKKyNlbHNlCisJaWYgKHVpZCAhPSAwICYmIHVpZCAhPSBwdy0+cHdfdWlkKSB7CisjZW5kaWYKKwkJZXJybm8gPSBFQUNDRVM7CisJCWVycihFWElUX0ZBSUxVUkUsCisJCSAgICBfKCJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlICIKKwkJICAgICAgImFsdGVyaW5nLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIikpOworCX0KKwlpZiAodWlkICE9IDAgJiYgIWdldF9zaGVsbF9saXN0KG9sZHNoZWxsKSkgeworCQllcnJubyA9IEVBQ0NFUzsKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygieW91ciBzaGVsbCBpcyBub3QgaW4gJXMsICIKKwkJCQkgICAgInNoZWxsIGNoYW5nZSBkZW5pZWQiKSwgX1BBVEhfU0hFTExTKTsKKwl9CisKKwlwcmludGYoXygiQ2hhbmdpbmcgc2hlbGwgZm9yICVzLlxuIiksIHB3LT5wd19uYW1lKTsKKworI2lmICFkZWZpbmVkKEhBVkVfTElCVVNFUikgJiYgZGVmaW5lZChDSEZOX0NIU0hfUEFTU1dPUkQpCisJaWYgKCFhdXRoX3BhbSgiY2hzaCIsIHVpZCwgcHctPnB3X25hbWUpKSB7CisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJfQorI2VuZGlmCisJaWYgKCFpbmZvLnNoZWxsKSB7CisJCWluZm8uc2hlbGwgPSBhc2tfbmV3X3NoZWxsKF8oIk5ldyBzaGVsbCIpLCBvbGRzaGVsbCk7CisJCWlmICghaW5mby5zaGVsbCkKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJfQorCisJY2hlY2tfc2hlbGwoaW5mby5zaGVsbCk7CisKKwlpZiAoIW51bGxzaGVsbCAmJiBzdHJjbXAob2xkc2hlbGwsIGluZm8uc2hlbGwpID09IDApCisJCWVycngoRVhJVF9TVUNDRVNTLCBfKCJTaGVsbCBub3QgY2hhbmdlZC4iKSk7CisKKyNpZmRlZiBIQVZFX0xJQlVTRVIKKwlpZiAoc2V0X3ZhbHVlX2xpYnVzZXIoImNoc2giLCBwdy0+cHdfbmFtZSwgdWlkLAorCSAgICBMVV9MT0dJTlNIRUxMLCBpbmZvLnNoZWxsKSA8IDApCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIpKTsKKyNlbHNlCisJcHctPnB3X3NoZWxsID0gaW5mby5zaGVsbDsKKwlpZiAoc2V0cHduYW0ocHcsICIuY2hzaCIpIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygic2V0cHduYW0gZmFpbGVkXG4iCisJCQkiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iKSk7CisjZW5kaWYKKworCXByaW50ZihfKCJTaGVsbCBjaGFuZ2VkLlxuIikpOworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy9pc2xvY2FsLmMgYi9sb2dpbi11dGlscy9pc2xvY2FsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2M0ZTc3NQotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL2lzbG9jYWwuYwpAQCAtMCwwICsxLDExMiBAQAorLyoKKyAqIGlzbG9jYWwuYyAtIHJldHVybnMgdHJ1ZSBpZiB1c2VyIGlzIHJlZ2lzdGVyZWQgaW4gdGhlIGxvY2FsCisgKiAvZXRjL3Bhc3N3ZCBmaWxlLiBXcml0dGVuIGJ5IMOBbHZhcm8gTWFydMOtbmV6IEVjaGV2YXJyaWEsCisgKiBhbHZhcm9AZW5hbm8uZXRzaXQudXBtLmVzLCB0byBhbGxvdyBwZWFjZWZ1bCBjb2V4aXN0ZW5jZSB3aXRoIHlwLiBOb3YgOTQuCisgKgorICogSGFja2VkIGEgYml0IGJ5IHBvZUBkYWltaS5hYXUuZGsKKyAqIFNlZSBhbHNvIGZ0cDovL2Z0cC5kYWltaS5hYXUuZGsvcHViL2xpbnV4L3BvZS9hZG11dGlsKgorICoKKyAqIEhhY2tlZCBieSBQZXRlciBCcmVpdGVubG9obmVyLCBwZWJAbXBwbXUubXBnLmRlLAorICogICB0byBkaXN0aW5ndWlzaCB1c2VyIG5hbWVzIHdoZXJlIG9uZSBpcyBhIHByZWZpeCBvZiB0aGUgb3RoZXIsCisgKiAgIGFuZCB0byB1c2UgInBhdGhuYW1lcy5oIi4gT2N0IDUsIDk2LgorICoKKyAqIDE5OTktMDItMjIgQXJrYWRpdXN6IE1pxZtraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4KKyAqIC0gYWRkZWQgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKKyAqCisgKiAyMDA4LTA0LTA2IEphbWVzIFlvdW5nbWFuLCBqYXlAZ251Lm9yZworICogLSBDb21wbGV0ZWx5IHJld3JpdHRlbiB0byByZW1vdmUgYXNzdW1wdGlvbiB0aGF0IC9ldGMvcGFzc3dkCisgKiAgIGxpbmVzIGFyZSA8IDEwMjQgY2hhcmFjdGVycyBsb25nLiAgQWxzbyBhZGRlZCB1bml0IHRlc3RzLgorICovCisKKyNpbmNsdWRlIDxzdGRkZWYuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJpc2xvY2FsLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisKK3N0YXRpYyBpbnQgaXNfbG9jYWxfaW5fZmlsZShjb25zdCBjaGFyICp1c2VyLCBjb25zdCBjaGFyICpmaWxlbmFtZSkKK3sKKwlpbnQgbG9jYWwgPSAwOworCXNpemVfdCBtYXRjaDsKKwlpbnQgY2hpbiwgc2tpcDsKKwlGSUxFICpmOworCisJaWYgKE5VTEwgPT0gKGYgPSBmb3BlbihmaWxlbmFtZSwgInIiKSkpCisJCXJldHVybiAtMTsKKworCW1hdGNoID0gMHU7CisJc2tpcCA9IDA7CisJd2hpbGUgKChjaGluID0gZ2V0YyhmKSkgIT0gRU9GKSB7CisJCWlmIChza2lwKSB7CisJCQkvKiBMb29raW5nIGZvciB0aGUgc3RhcnQgb2YgdGhlIG5leHQgbGluZS4gKi8KKwkJCWlmICgnXG4nID09IGNoaW4pIHsKKwkJCQkvKiBTdGFydCBtYXRjaGluZyB1c2VybmFtZSBhdCB0aGUgbmV4dCBjaGFyLiAqLworCQkJCXNraXAgPSAwOworCQkJCW1hdGNoID0gMHU7CisJCQl9CisJCX0gZWxzZSB7CisJCQlpZiAoJzonID09IGNoaW4pIHsKKwkJCQlpZiAoMCA9PSB1c2VyW21hdGNoXSkgeworCQkJCQkvKiBTdWNjZXNzLiAqLworCQkJCQlsb2NhbCA9IDE7CisJCQkJCS8qIG5leHQgbGluZSBoYXMgbm8gdGVzdCBjb3ZlcmFnZSwKKwkJCQkJICogYnV0IGl0IGlzIGp1c3QgYW4gb3B0aW1pc2F0aW9uCisJCQkJCSAqIGFueXdheS4gICovCisJCQkJCWJyZWFrOworCQkJCX0gZWxzZSB7CisJCQkJCS8qIHdlIHJlYWQgYSB3aG9sZSB1c2VybmFtZSwgYnV0IGl0CisJCQkJCSAqIGlzIHRoZSB3cm9uZyB1c2VyLiAgU2tpcCB0byB0aGUKKwkJCQkJICogbmV4dCBsaW5lLiAgKi8KKwkJCQkJc2tpcCA9IDE7CisJCQkJfQorCQkJfSBlbHNlIGlmICgnXG4nID09IGNoaW4pIHsKKwkJCQkvKiBUaGlzIGxpbmUgY29udGFpbnMgbm8gY29sb247IGl0J3MKKwkJCQkgKiBtYWxmb3JtZWQuICBObyBza2lwIHNpbmNlIHdlIGFyZSBhbHJlYWR5CisJCQkJICogYXQgdGhlIHN0YXJ0IG9mIHRoZSBuZXh0IGxpbmUuICAqLworCQkJCW1hdGNoID0gMHU7CisJCQl9IGVsc2UgaWYgKGNoaW4gIT0gdXNlclttYXRjaF0pIHsKKwkJCQkvKiB1c2VybmFtZSBkb2VzIG5vdCBtYXRjaC4gKi8KKwkJCQlza2lwID0gMTsKKwkJCX0gZWxzZSB7CisJCQkJKyttYXRjaDsKKwkJCX0KKwkJfQorCX0KKwlmY2xvc2UoZik7CisJcmV0dXJuIGxvY2FsOworfQorCitpbnQgaXNfbG9jYWwoY29uc3QgY2hhciAqdXNlcikKK3sKKwlpbnQgcnY7CisKKwlpZiAoKHJ2ID0gaXNfbG9jYWxfaW5fZmlsZSh1c2VyLCBfUEFUSF9QQVNTV0QpKSA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksIF9QQVRIX1BBU1NXRCk7CisJcmV0dXJuIHJ2OworfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCWlmIChhcmdjIDw9IDIpIHsKKwkJZnByaW50ZihzdGRlcnIsIF8oIlVzYWdlOiAlcyA8cGFzc3dvcmRmaWxlPiA8dXNlcm5hbWU+Li4uXG4iKSwKKwkJCWFyZ3ZbMF0pOworCQlyZXR1cm4gMTsKKwl9IGVsc2UgeworCQlpbnQgaTsKKwkJZm9yIChpID0gMjsgaSA8IGFyZ2M7IGkrKykgeworCQkJY29uc3QgaW50IHJ2ID0gaXNfbG9jYWxfaW5fZmlsZShhcmd2W2ldLCBhcmd2WzFdKTsKKwkJCWlmIChydiA8IDApIHsKKwkJCQlwZXJyb3IoYXJndlsxXSk7CisJCQkJcmV0dXJuIDI7CisJCQl9CisJCQlwcmludGYoIiVkOiVzXG4iLCBydiwgYXJndltpXSk7CisJCX0KKwkJcmV0dXJuIDA7CisJfQorfQorI2VuZGlmCmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy9pc2xvY2FsLmggYi9sb2dpbi11dGlscy9pc2xvY2FsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmM1ODc5OQotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL2lzbG9jYWwuaApAQCAtMCwwICsxIEBACitleHRlcm4gaW50IGlzX2xvY2FsKGNvbnN0IGNoYXIgKnVzZXIpOwpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvbGFzdC4xIGIvbG9naW4tdXRpbHMvbGFzdC4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiNTBhYzcKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy9sYXN0LjEKQEAgLTAsMCArMSwxOTggQEAKKy5cIiBDb3B5cmlnaHQgKEMpIDE5OTgtMjAwNCBNaXF1ZWwgdmFuIFNtb29yZW5idXJnLgorLlwiCisuXCIgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKy5cIiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorLlwiIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisuXCIgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKy5cIgorLlwiIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorLlwiIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisuXCIgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorLlwiIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisuXCIKKy5cIiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLlwiIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisuXCIgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQQorLlwiCisuVEggIkxBU1QsIExBU1RCIiAiMSIgIk9jdG9iZXIgMjAxMyIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK2xhc3QsIGxhc3RiIFwtIHNob3cgYSBsaXN0aW5nIG9mIGxhc3QgbG9nZ2VkIGluIHVzZXJzCisuU0ggU1lOT1BTSVMKKy5CIGxhc3QKK1tvcHRpb25zXQorLlJJIFsgdXNlcm5hbWUgIi4uLl0gWyIgdHR5IC4uLl0KKy5icgorLkIgbGFzdGIKK1tvcHRpb25zXQorLlJJIFsgdXNlcm5hbWUgIi4uLl0gWyIgdHR5IC4uLl0KKy5TSCBERVNDUklQVElPTgorLkIgbGFzdAorc2VhcmNoZXMgYmFjayB0aHJvdWdoIHRoZQorLkkgL3Zhci9sb2cvd3RtcAorZmlsZSAob3IgdGhlIGZpbGUgZGVzaWduYXRlZCBieSB0aGUKKy5CIFwtZgorb3B0aW9uKSBhbmQgZGlzcGxheXMgYSBsaXN0IG9mIGFsbCB1c2VycyBsb2dnZWQgaW4gKGFuZCBvdXQpIHNpbmNlIHRoYXQKK2ZpbGUgd2FzIGNyZWF0ZWQuICBPbmUgb3IgbW9yZQorLklSIHVzZXJuYW1lcyAiIGFuZC9vciAiIHR0eXMKK2NhbiBiZSBnaXZlbiwgaW4gd2hpY2ggY2FzZQorLkIgbGFzdAord2lsbCBzaG93IG9ubHkgdGhlIGVudHJpZXMgbWF0Y2hpbmcgdGhvc2UgYXJndW1lbnRzLiAgTmFtZXMgb2YKKy5JIHR0eXMKK2NhbiBiZSBhYmJyZXZpYXRlZCwgdGh1cworLkIgbGFzdCAwCitpcyB0aGUgc2FtZSBhcworLkJSICJsYXN0IHR0eTAiIC4KKy5QUAorV2hlbiBjYXRjaGluZyBhIFNJR0lOVCBzaWduYWwgKGdlbmVyYXRlZCBieSB0aGUgaW50ZXJydXB0IGtleSwgdXN1YWxseQorY29udHJvbC1DKSBvciBhIFNJR1FVSVQgc2lnbmFsLAorLkIgbGFzdAord2lsbCBzaG93IGhvdyBmYXIgaXQgaGFzIHNlYXJjaGVkIHRocm91Z2ggdGhlIGZpbGU7IGluIHRoZSBjYXNlIG9mIHRoZQorU0lHSU5UIHNpZ25hbAorLkIgbGFzdAord2lsbCB0aGVuIHRlcm1pbmF0ZS4KKy5QUAorVGhlIHBzZXVkbyB1c2VyCisuQiByZWJvb3QKK2xvZ3MgaW4gZWFjaCB0aW1lIHRoZSBzeXN0ZW0gaXMgcmVib290ZWQuICBUaHVzCisuQiBsYXN0IHJlYm9vdAord2lsbCBzaG93IGEgbG9nIG9mIGFsbCB0aGUgcmVib290cyBzaW5jZSB0aGUgbG9nIGZpbGUgd2FzIGNyZWF0ZWQuCisuUFAKKy5CIGxhc3RiCitpcyB0aGUgc2FtZSBhcworLkJSIGxhc3QgLAorZXhjZXB0IHRoYXQgYnkgZGVmYXVsdCBpdCBzaG93cyBhIGxvZyBvZiB0aGUKKy5JUiAvdmFyL2xvZy9idG1wCitmaWxlLCB3aGljaCBjb250YWlucyBhbGwgdGhlIGJhZCBsb2dpbiBhdHRlbXB0cy4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLWEgLCAiIFwtXC1ob3N0bGFzdCIKK0Rpc3BsYXkgdGhlIGhvc3RuYW1lIGluIHRoZSBsYXN0IGNvbHVtbi4gIFVzZWZ1bCBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZQorLkIgXC1cLWRucworb3B0aW9uLgorLlRQCisuQlIgXC1kICwgIiBcLVwtZG5zIgorRm9yIG5vbi1sb2NhbCBsb2dpbnMsIExpbnV4IHN0b3JlcyBub3Qgb25seSB0aGUgaG9zdCBuYW1lIG9mIHRoZSByZW1vdGUKK2hvc3QsIGJ1dCBpdHMgSVAgbnVtYmVyIGFzIHdlbGwuICBUaGlzIG9wdGlvbiB0cmFuc2xhdGVzIHRoZSBJUCBudW1iZXIKK2JhY2sgaW50byBhIGhvc3RuYW1lLgorLlRQCisuQlIgXC1mICwgIiBcLVwtZmlsZSAiIFxmSWZpbGVcZlIKK1RlbGwKKy5CIGxhc3QKK3RvIHVzZSBhIHNwZWNpZmljIFxmSWZpbGVcZlIgaW5zdGVhZCBvZgorLklSIC92YXIvbG9nL3d0bXAgLgorVGhlCisuQiBcLVwtZmlsZQorb3B0aW9uIGNhbiBiZSBnaXZlbiBtdWx0aXBsZSB0aW1lcywgYW5kIGFsbCBvZiB0aGUgc3BlY2lmaWVkIGZpbGVzIHdpbGwgYmUKK3Byb2Nlc3NlZC4KKy5UUAorLkJSIFwtRiAsICIgXC1cLWZ1bGx0aW1lcyIKK1ByaW50IGZ1bGwgbG9naW4gYW5kIGxvZ291dCB0aW1lcyBhbmQgZGF0ZXMuCisuVFAKKy5CUiBcLWkgLCAiIFwtXC1pcCIKK0xpa2UKKy5CIFwtXC1kbnMgLAorYnV0IGRpc3BsYXlzIHRoZSBob3N0J3MgSVAgbnVtYmVyIGluc3RlYWQgb2YgdGhlIG5hbWUuCisuVFAKKy5CSSBcLSBudW1iZXIKKy5UUQorLkJSIFwtbiAsICIgLVwtbGltaXQgIiBcZkludW1iZXJcZlIKK1RlbGwKKy5CIGxhc3QKK2hvdyBtYW55IGxpbmVzIHRvIHNob3cuCisuVFAKKy5CUiBcLXAgLCAiIFwtXC1wcmVzZW50ICIgXGZJdGltZVxmUgorRGlzcGxheSB0aGUgdXNlcnMgd2hvIHdlcmUgcHJlc2VudCBhdCB0aGUgc3BlY2lmaWVkIHRpbWUuICBUaGlzIGlzCitsaWtlIHVzaW5nIHRoZSBvcHRpb25zCisuQlIgXC1cLXNpbmNlICIgYW5kICIgXC1cLXVudGlsCit0b2dldGhlciB3aXRoIHRoZSBzYW1lIFxmSXRpbWVcZlIuCisuVFAKKy5CUiBcLVIgLCAiIFwtXC1ub2hvc3RuYW1lIgorU3VwcHJlc3NlcyB0aGUgZGlzcGxheSBvZiB0aGUgaG9zdG5hbWUgZmllbGQuCisuVFAKKy5CUiBcLXMgLCAiIFwtXC1zaW5jZSAiIFxmSXRpbWVcZlIKK0Rpc3BsYXkgdGhlIHN0YXRlIG9mIGxvZ2lucyBzaW5jZSB0aGUgc3BlY2lmaWVkCisuSVIgdGltZSAuCitUaGlzIGlzIHVzZWZ1bCwgZS5nLiwgdG8gZWFzaWx5IGRldGVybWluZSB3aG8gd2FzIGxvZ2dlZCBpbiBhdCBhCitwYXJ0aWN1bGFyIHRpbWUuICBUaGUgb3B0aW9uIGlzIG9mdGVuIGNvbWJpbmVkIHdpdGgKKy5CUiBcLVwtdW50aWwgLgorLlRQCisuQlIgXC10ICwgIiBcLVwtdW50aWwgIiBcZkl0aW1lXGZSCitEaXNwbGF5IHRoZSBzdGF0ZSBvZiBsb2dpbnMgdW50aWwgdGhlIHNwZWNpZmllZAorLklSIHRpbWUgLgorLlRQCisuQkkgXC1cLXRpbWVcLWZvcm1hdCAiIGZvcm1hdCIKK0RlZmluZSB0aGUgb3V0cHV0IHRpbWVzdGFtcAorLkkgZm9ybWF0Cit0byBiZSBvbmUgb2YKKy5JUiBub3RpbWUgLAorLklSIHNob3J0ICwKKy5JUiBmdWxsICwKK29yCisuSVIgaXNvIC4KK1RoZQorLkkgbm90aW1lCit2YXJpYW50IHdpbGwgbm90IHByaW50IGFueSB0aW1lc3RhbXBzIGF0IGFsbCwKKy5JIHNob3J0CitpcyB0aGUgZGVmYXVsdCwgYW5kCisuSSBmdWxsCitpcyB0aGUgc2FtZSBhcyB0aGUKKy5CIFwtXC1mdWxsdGltZXMKK29wdGlvbi4gIFRoZQorLkkgaXNvCit2YXJpYW50IHdpbGwgZGlzcGxheSB0aGUgdGltZXN0YW1wIGluIElTTy04NjAxIGZvcm1hdC4gIFRoZSBJU08gZm9ybWF0Citjb250YWlucyB0aW1lem9uZSBpbmZvcm1hdGlvbiwgbWFraW5nIGl0IHByZWZlcmFibGUgd2hlbiBwcmludG91dHMgYXJlCitpbnZlc3RpZ2F0ZWQgb3V0c2lkZSBvZiB0aGUgc3lzdGVtLgorLlRQCisuQlIgXC13ICwgIiBcLVwtZnVsbG5hbWVzIgorRGlzcGxheSBmdWxsIHVzZXIgbmFtZXMgYW5kIGRvbWFpbiBuYW1lcyBpbiB0aGUgb3V0cHV0LgorLlRQCisuQlIgXC14ICwgIiBcLVwtc3lzdGVtIgorRGlzcGxheSB0aGUgc3lzdGVtIHNodXRkb3duIGVudHJpZXMgYW5kIHJ1biBsZXZlbCBjaGFuZ2VzLgorLlNIIFRJTUUgRk9STUFUUworVGhlIG9wdGlvbnMgdGhhdCB0YWtlIHRoZQorLkkgdGltZQorYXJndW1lbnQgdW5kZXJzdGFuZCB0aGUgZm9sbG93aW5nIGZvcm1hdHM6CisuVFMKK2xlZnQgbDIgbC4KK1lZWVlNTUREaGhtbXNzCitZWVlZLU1NLUREIGhoOm1tOnNzCitZWVlZLU1NLUREIGhoOm1tCShzZWNvbmRzIHdpbGwgYmUgc2V0IHRvIDAwKQorWVlZWS1NTS1ERAkodGltZSB3aWxsIGJlIHNldCB0byAwMDowMDowMCkKK2hoOm1tOnNzCShkYXRlIHdpbGwgYmUgc2V0IHRvIHRvZGF5KQoraGg6bW0JKGRhdGUgd2lsbCBiZSBzZXQgdG8gdG9kYXksIHNlY29uZHMgdG8gMDApCitub3cKK3llc3RlcmRheQkodGltZSBpcyBzZXQgdG8gMDA6MDA6MDApCit0b2RheQkodGltZSBpcyBzZXQgdG8gMDA6MDA6MDApCit0b21vcnJvdwkodGltZSBpcyBzZXQgdG8gMDA6MDA6MDApCisrNW1pbgorLTVkYXlzCisuVEUKKy5TSCBOT1RFUworVGhlIGZpbGVzCisuSSB3dG1wCithbmQKKy5JIGJ0bXAKK21pZ2h0IG5vdCBiZSBmb3VuZC4gIFRoZSBzeXN0ZW0gb25seSBsb2dzIGluZm9ybWF0aW9uIGluIHRoZXNlIGZpbGVzIGlmCit0aGV5IGFyZSBwcmVzZW50LiAgVGhpcyBpcyBhIGxvY2FsIGNvbmZpZ3VyYXRpb24gaXNzdWUuICBJZiB5b3Ugd2FudCB0aGUKK2ZpbGVzIHRvIGJlIHVzZWQsIHRoZXkgY2FuIGJlIGNyZWF0ZWQgd2l0aCBhIHNpbXBsZQorLkJSIHRvdWNoICgxKQorY29tbWFuZCAoZm9yIGV4YW1wbGUsCisuSVIgInRvdWNoIC92YXIvbG9nL3d0bXAiICkuCisuU0ggRklMRVMKKy92YXIvbG9nL3d0bXAKKy5icgorL3Zhci9sb2cvYnRtcAorLlNIIEFVVEhPUgorLk1UIG1pcXVlbHNAY2lzdHJvbi5ubAorTWlxdWVsIHZhbiBTbW9vcmVuYnVyZworLk1FCisuU0ggQVZBSUxBQklMSVRZCitUaGUgbGFzdCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBmdHA6Ly9cOmZ0cC5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KKy5TSCAiU0VFIEFMU08iCisuQlIgbG9naW4gKDEpLAorLkJSIHd0bXAgKDUpLAorLkJSIGluaXQgKDgpLAorLkJSIHNodXRkb3duICg4KQpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvbGFzdC5jIGIvbG9naW4tdXRpbHMvbGFzdC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkMGU4OTIKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy9sYXN0LmMKQEAgLTAsMCArMSwxMDI0IEBACisvKgorICogbGFzdCgxKSBmcm9tIHN5c3Zpbml0IHByb2plY3QsIG1lcmdlZCBpbnRvIHV0aWwtbGludXggaW4gQXVnIDIwMTMuCisgKgorICogQ29weXJpZ2h0IChDKSAxOTkxLTIwMDQgTWlxdWVsIHZhbiBTbW9vcmVuYnVyZy4KKyAqIENvcHlyaWdodCAoQykgMjAxMyAgICAgIE9uZHJlaiBPcHJhbGEgPG9vcHJhbGFAcmVkaGF0LmNvbT4KKyAqICAgICAgICAgICAgICAgICAgICAgICAgIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFJlLWltcGxlbWVudGF0aW9uIG9mIHRoZSAnbGFzdCcgY29tbWFuZCwgdGhpcyB0aW1lIGZvciBMaW51eC4gWWVzIEkga25vdworICogdGhlcmUgaXMgQlNEIGxhc3QsIGJ1dCBJIGp1c3QgZmVsdCBsaWtlIHdyaXRpbmcgdGhpcy4gTm8gdGhhbmtzIDotKS4gIEFsc28sCisgKiB0aGlzIHZlcnNpb24gZ2l2ZXMgbG90cyBtb3JlIGluZm8gKGVzcGVjaWFsbHkgd2l0aCAteCkKKyAqCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQQorICovCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHRpbWUuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8dXRtcC5oPgorI2luY2x1ZGUgPHB3ZC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KKyNpbmNsdWRlIDxuZXRkYi5oPgorI2luY2x1ZGUgPGFycGEvaW5ldC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgIm9wdHV0aWxzLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJjYXJlZnVscHV0Yy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAidGltZXV0aWxzLmgiCisjaW5jbHVkZSAibW9ub3RvbmljLmgiCisKKyNpZiBkZWZpbmVkKF9IQVZFX1VUX1RWKQorIyBkZWZpbmUgVUxfVVRfVElNRSB1dF90di50dl9zZWMKKyNlbHNlCisjIGRlZmluZSBVTF9VVF9USU1FIHV0X3RpbWUKKyNlbmRpZgorCisjaWZuZGVmIFNIVVRET1dOX1RJTUUKKyMgZGVmaW5lIFNIVVRET1dOX1RJTUUgMjU0CisjZW5kaWYKKworI2lmbmRlZiBMQVNUX0xPR0lOX0xFTgorIyBkZWZpbmUgTEFTVF9MT0dJTl9MRU4gOAorI2VuZGlmCisKKyNpZm5kZWYgTEFTVF9ET01BSU5fTEVOCisjIGRlZmluZSBMQVNUX0RPTUFJTl9MRU4gMTYKKyNlbmRpZgorCisjaWZuZGVmIExBU1RfVElNRVNUQU1QX0xFTgorIyBkZWZpbmUgTEFTVF9USU1FU1RBTVBfTEVOIDMyCisjZW5kaWYKKworI2RlZmluZSBVQ0hVTktTSVpFCTE2Mzg0CS8qIEhvdyBtdWNoIHdlIHJlYWQgYXQgb25jZS4gKi8KKworc3RydWN0IGxhc3RfY29udHJvbCB7CisJdW5zaWduZWQgaW50IGxhc3RiIDoxLAkgIC8qIElzIHRoaXMgY29tbWFuZCAnbGFzdGInICovCisJCSAgICAgZXh0ZW5kZWQgOjEsIC8qIExvdHMgb2YgaW5mbyAqLworCQkgICAgIHNob3dob3N0IDoxLCAvKiBTaG93IGhvc3RuYW1lICovCisJCSAgICAgYWx0bGlzdCA6MSwgIC8qIEhvc3RuYW1lIGF0IHRoZSBlbmQgKi8KKwkJICAgICB1c2VkbnMgOjEsCSAgLyogVXNlIEROUyB0byBsb29rdXAgdGhlIGhvc3RuYW1lICovCisJCSAgICAgdXNlaXAgOjE7ICAgIC8qIFByaW50IElQIGFkZHJlc3MgaW4gbnVtYmVyIGZvcm1hdCAqLworCisJdW5zaWduZWQgaW50IG5hbWVfbGVuOwkvKiBOdW1iZXIgb2YgbG9naW4gbmFtZSBjaGFyYWN0ZXJzIHRvIHByaW50ICovCisJdW5zaWduZWQgaW50IGRvbWFpbl9sZW47IC8qIE51bWJlciBvZiBkb21haW4gbmFtZSBjaGFyYWN0ZXJzIHRvIHByaW50ICovCisJdW5zaWduZWQgaW50IG1heHJlY3M7CS8qIE1heGltdW0gbnVtYmVyIG9mIHJlY29yZHMgdG8gbGlzdCAqLworCisJY2hhciAqKnNob3c7CQkvKiBNYXRjaCBzZWFyY2ggbGlzdCAqLworCisJc3RydWN0IHRpbWV2YWwgYm9vdF90aW1lOyAvKiBzeXN0ZW0gYm9vdCB0aW1lICovCisJdGltZV90IHNpbmNlOwkJLyogYXQgd2hhdCB0aW1lIHRvIHN0YXJ0IGRpc3BsYXlpbmcgdGhlIGZpbGUgKi8KKwl0aW1lX3QgdW50aWw7CQkvKiBhdCB3aGF0IHRpbWUgdG8gc3RvcCBkaXNwbGF5aW5nIHRoZSBmaWxlICovCisJdGltZV90IHByZXNlbnQ7CQkvKiB3aG8gd2hlcmUgcHJlc2VudCBhdCB0aW1lX3QgKi8KKwl1bnNpZ25lZCBpbnQgdGltZV9mbXQ7CS8qIHRpbWUgZm9ybWF0ICovCit9OworCisvKiBEb3VibGUgbGlua2VkIGxpc3Qgb2Ygc3RydWN0IHV0bXAncyAqLworc3RydWN0IHV0bXBsaXN0IHsKKwlzdHJ1Y3QgdXRtcCB1dDsKKwlzdHJ1Y3QgdXRtcGxpc3QgKm5leHQ7CisJc3RydWN0IHV0bXBsaXN0ICpwcmV2OworfTsKKworLyogVHlwZXMgb2YgbGlzdGluZyAqLworZW51bSB7CisJUl9DUkFTSCA9IDEsCS8qIE5vIGxvZ291dCByZWNvcmQsIHN5c3RlbSBib290IGluIGJldHdlZW4gKi8KKwlSX0RPV04sCQkvKiBTeXN0ZW0gYnJvdWdodCBkb3duIGluIGRlY2VudCB3YXkgKi8KKwlSX05PUk1BTCwJLyogTm9ybWFsICovCisJUl9OT1csCQkvKiBTdGlsbCBsb2dnZWQgaW4gKi8KKwlSX1JFQk9PVCwJLyogUmVib290IHJlY29yZC4gKi8KKwlSX1BIQU5UT00sCS8qIE5vIGxvZ291dCByZWNvcmQgYnV0IHNlc3Npb24gaXMgc3RhbGUuICovCisJUl9USU1FQ0hBTkdFCS8qIE5FV19USU1FIG9yIE9MRF9USU1FICovCit9OworCitlbnVtIHsKKwlMQVNUX1RJTUVGVE1fTk9ORSA9IDAsCisJTEFTVF9USU1FRlRNX1NIT1JULAorCUxBU1RfVElNRUZUTV9DVElNRSwKKwlMQVNUX1RJTUVGVE1fSVNPODYwMSwKKworCUxBU1RfVElNRUZUTV9ISE1NLAkvKiBub24tcHVibGljICovCit9OworCitzdHJ1Y3QgbGFzdF90aW1lZm10IHsKKwljb25zdCBjaGFyICpuYW1lOworCWludCBpbl9sZW47CS8qIGxvZy1pbiAqLworCWludCBpbl9mbXQ7CisJaW50IG91dF9sZW47CS8qIGxvZy1vdXQgKi8KKwlpbnQgb3V0X2ZtdDsKK307CisKK3N0YXRpYyBzdHJ1Y3QgbGFzdF90aW1lZm10IHRpbWVmbXRzW10gPSB7CisJW0xBU1RfVElNRUZUTV9OT05FXSA9IHsgLm5hbWUgPSAibm90aW1lIiB9LAorCVtMQVNUX1RJTUVGVE1fU0hPUlRdID0geworCQkubmFtZSAgICA9ICJzaG9ydCIsCisJCS5pbl9sZW4gID0gMTYsCisJCS5vdXRfbGVuID0gNywKKwkJLmluX2ZtdCAgPSBMQVNUX1RJTUVGVE1fQ1RJTUUsCisJCS5vdXRfZm10ID0gTEFTVF9USU1FRlRNX0hITU0KKwl9LAorCVtMQVNUX1RJTUVGVE1fQ1RJTUVdID0geworCQkubmFtZSAgICA9ICJmdWxsIiwKKwkJLmluX2xlbiAgPSAyNCwKKwkJLm91dF9sZW4gPSAyNiwKKwkJLmluX2ZtdCAgPSBMQVNUX1RJTUVGVE1fQ1RJTUUsCisJCS5vdXRfZm10ID0gTEFTVF9USU1FRlRNX0NUSU1FCisJfSwKKwlbTEFTVF9USU1FRlRNX0lTTzg2MDFdID0geworCQkubmFtZSAgICA9ICJpc28iLAorCQkuaW5fbGVuICA9IDI0LAorCQkub3V0X2xlbiA9IDI2LAorCQkuaW5fZm10ICA9IExBU1RfVElNRUZUTV9JU084NjAxLAorCQkub3V0X2ZtdCA9IExBU1RfVElNRUZUTV9JU084NjAxCisJfQorfTsKKworLyogR2xvYmFsIHZhcmlhYmxlcyAqLworc3RhdGljIHVuc2lnbmVkIGludCByZWNzZG9uZTsJLyogTnVtYmVyIG9mIHJlY29yZHMgbGlzdGVkICovCitzdGF0aWMgdGltZV90IGxhc3RkYXRlOwkJLyogTGFzdCBkYXRlIHdlJ3ZlIHNlZW4gKi8KK3N0YXRpYyB0aW1lX3QgY3VycmVudGRhdGU7CS8qIGRhdGUgd2hlbiB3ZSBzdGFydGVkIHByb2Nlc3NpbmcgdGhlIGZpbGUgKi8KKworLyogLS10aW1lLWZvcm1hdD1vcHRpb24gcGFyc2VyICovCitzdGF0aWMgaW50IHdoaWNoX3RpbWVfZm9ybWF0KGNvbnN0IGNoYXIgKnMpCit7CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh0aW1lZm10cyk7IGkrKykgeworCQlpZiAoc3RyY21wKHRpbWVmbXRzW2ldLm5hbWUsIHMpID09IDApCisJCQlyZXR1cm4gaTsKKwl9CisJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVua25vd24gdGltZSBmb3JtYXQ6ICVzIiksIHMpOworfQorCisvKgorICoJUmVhZCBvbmUgdXRtcCBlbnRyeSwgcmV0dXJuIGluIG5ldyBmb3JtYXQuCisgKglBdXRvbWF0aWNhbGx5IHJlcG9zaXRpb24gZmlsZSBwb2ludGVyLgorICovCitzdGF0aWMgaW50IHVyZWFkKEZJTEUgKmZwLCBzdHJ1Y3QgdXRtcCAqdSwgIGludCAqcXVpdCwgY29uc3QgY2hhciAqZmlsZW5hbWUpCit7CisJc3RhdGljIGludCB1dHNpemU7CisJc3RhdGljIGNoYXIgYnVmW1VDSFVOS1NJWkVdOworCWNoYXIgdG1wWzEwMjRdOworCXN0YXRpYyBvZmZfdCBmcG9zOworCXN0YXRpYyBpbnQgYnBvczsKKwlvZmZfdCBvOworCisJaWYgKHF1aXQgPT0gTlVMTCAmJiB1ICE9IE5VTEwpIHsKKwkJLyoKKwkJICoJTm9ybWFsIHJlYWQuCisJCSAqLworCQlyZXR1cm4gZnJlYWQodSwgc2l6ZW9mKHN0cnVjdCB1dG1wKSwgMSwgZnApOworCX0KKworCWlmICh1ID09IE5VTEwpIHsKKwkJLyoKKwkJICoJSW5pdGlhbGl6ZSBhbmQgcG9zaXRpb24uCisJCSAqLworCQl1dHNpemUgPSBzaXplb2Yoc3RydWN0IHV0bXApOworCQlmc2Vla28oZnAsIDAsIFNFRUtfRU5EKTsKKwkJZnBvcyA9IGZ0ZWxsbyhmcCk7CisJCWlmIChmcG9zID09IDApCisJCQlyZXR1cm4gMDsKKwkJbyA9ICgoZnBvcyAtIDEpIC8gVUNIVU5LU0laRSkgKiBVQ0hVTktTSVpFOworCQlpZiAoZnNlZWtvKGZwLCBvLCBTRUVLX1NFVCkgPCAwKSB7CisJCQl3YXJuKF8oInNlZWsgb24gJXMgZmFpbGVkIiksIGZpbGVuYW1lKTsKKwkJCXJldHVybiAwOworCQl9CisJCWJwb3MgPSAoaW50KShmcG9zIC0gbyk7CisJCWlmIChmcmVhZChidWYsIGJwb3MsIDEsIGZwKSAhPSAxKSB7CisJCQl3YXJuKF8oImNhbm5vdCByZWFkICVzIiksIGZpbGVuYW1lKTsKKwkJCXJldHVybiAwOworCQl9CisJCWZwb3MgPSBvOworCQlyZXR1cm4gMTsKKwl9CisKKwkvKgorCSAqCVJlYWQgb25lIHN0cnVjdC4gRnJvbSB0aGUgYnVmZmVyIGlmIHBvc3NpYmxlLgorCSAqLworCWJwb3MgLT0gdXRzaXplOworCWlmIChicG9zID49IDApIHsKKwkJbWVtY3B5KHUsIGJ1ZiArIGJwb3MsIHNpemVvZihzdHJ1Y3QgdXRtcCkpOworCQlyZXR1cm4gMTsKKwl9CisKKwkvKgorCSAqCU9vcHMgd2Ugd2VudCAiYmVsb3ciIHRoZSBidWZmZXIuIFdlIHNob3VsZCBiZSBhYmxlIHRvCisJICoJc2VlayBiYWNrIFVDSFVOS1NJWkUgYnl0ZXMuCisJICovCisJZnBvcyAtPSBVQ0hVTktTSVpFOworCWlmIChmcG9zIDwgMCkKKwkJcmV0dXJuIDA7CisKKwkvKgorCSAqCUNvcHkgd2hhdGV2ZXIgaXMgbGVmdCBpbiB0aGUgYnVmZmVyLgorCSAqLworCW1lbWNweSh0bXAgKyAoLWJwb3MpLCBidWYsIHV0c2l6ZSArIGJwb3MpOworCWlmIChmc2Vla28oZnAsIGZwb3MsIFNFRUtfU0VUKSA8IDApIHsKKwkJd2FybihfKCJzZWVrIG9uICVzIGZhaWxlZCIpLCBmaWxlbmFtZSk7CisJCXJldHVybiAwOworCX0KKworCS8qCisJICoJUmVhZCBhbm90aGVyIFVDSFVOS1NJWkUgYnl0ZXMuCisJICovCisJaWYgKGZyZWFkKGJ1ZiwgVUNIVU5LU0laRSwgMSwgZnApICE9IDEpIHsKKwkJd2FybihfKCJjYW5ub3QgcmVhZCAlcyIpLCBmaWxlbmFtZSk7CisJCXJldHVybiAwOworCX0KKworCS8qCisJICoJVGhlIGVuZCBvZiB0aGUgVUNIVU5LU0laRSBieXRlIGJ1ZmZlciBzaG91bGQgYmUgdGhlIGZpcnN0CisJICoJZmV3IGJ5dGVzIG9mIHRoZSBjdXJyZW50IHN0cnVjdCB1dG1wLgorCSAqLworCW1lbWNweSh0bXAsIGJ1ZiArIFVDSFVOS1NJWkUgKyBicG9zLCAtYnBvcyk7CisJYnBvcyArPSBVQ0hVTktTSVpFOworCisJbWVtY3B5KHUsIHRtcCwgc2l6ZW9mKHN0cnVjdCB1dG1wKSk7CisKKwlyZXR1cm4gMTsKK30KKworLyoKKyAqCVByaW50IGEgc2hvcnQgZGF0ZS4KKyAqLworc3RhdGljIGNoYXIgKnNob3dkYXRlKHZvaWQpCit7CisJY2hhciAqcyA9IGN0aW1lKCZsYXN0ZGF0ZSk7CisJc1sxNl0gPSAwOworCXJldHVybiBzOworfQorCisvKgorICoJU0lHSU5UIGhhbmRsZXIKKyAqLworc3RhdGljIHZvaWQgaW50X2hhbmRsZXIoaW50IHNpZyBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwllcnJ4KEVYSVRfRkFJTFVSRSwgXygiSW50ZXJydXB0ZWQgJXMiKSwgc2hvd2RhdGUoKSk7Cit9CisKKy8qCisgKglTSUdRVUlUIGhhbmRsZXIKKyAqLworc3RhdGljIHZvaWQgcXVpdF9oYW5kbGVyKGludCBzaWcgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCit7CisJd2FybngoXygiSW50ZXJydXB0ZWQgJXMiKSwgc2hvd2RhdGUoKSk7CisJc2lnbmFsKFNJR1FVSVQsIHF1aXRfaGFuZGxlcik7Cit9CisKKy8qCisgKglMb29rdXAgYSBob3N0IHdpdGggRE5TLgorICovCitzdGF0aWMgaW50IGRuc19sb29rdXAoY2hhciAqcmVzdWx0LCBpbnQgc2l6ZSwgaW50IHVzZWlwLCBpbnQzMl90ICphKQoreworCXN0cnVjdCBzb2NrYWRkcl9pbglzaW47CisJc3RydWN0IHNvY2thZGRyX2luNglzaW42OworCXN0cnVjdCBzb2NrYWRkcgkJKnNhOworCWludAkJCXNhbGVuLCBmbGFnczsKKwlpbnQJCQltYXBwZWQgPSAwOworCisJZmxhZ3MgPSB1c2VpcCA/IE5JX05VTUVSSUNIT1NUIDogMDsKKworCS8qCisJICoJSVB2NCBvciBJUHY2ID8KKwkgKgkxLiBJZiBsYXN0IDMgNGJ5dGVzIGFyZSAwLCBtdXN0IGJlIElQdjQKKwkgKgkyLiBJZiBJUHY2IGluIElQdjQsIGhhbmRsZSBhcyBJUHY0CisJICoJMy4gQW55dGhpbmcgZWxzZSBpcyBJUHY2CisJICoKKwkgKglVZ2x5LgorCSAqLworCWlmIChhWzBdID09IDAgJiYgYVsxXSA9PSAwICYmIGFbMl0gPT0gKGludDMyX3QpaHRvbmwgKDB4ZmZmZikpCisJCW1hcHBlZCA9IDE7CisKKwlpZiAobWFwcGVkIHx8IChhWzFdID09IDAgJiYgYVsyXSA9PSAwICYmIGFbM10gPT0gMCkpIHsKKwkJLyogSVB2NCAqLworCQlzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7CisJCXNpbi5zaW5fcG9ydCA9IDA7CisJCXNpbi5zaW5fYWRkci5zX2FkZHIgPSBtYXBwZWQgPyBhWzNdIDogYVswXTsKKwkJc2EgPSAoc3RydWN0IHNvY2thZGRyICopJnNpbjsKKwkJc2FsZW4gPSBzaXplb2Yoc2luKTsKKwl9IGVsc2UgeworCQkvKiBJUHY2ICovCisJCW1lbXNldCgmc2luNiwgMCwgc2l6ZW9mKHNpbjYpKTsKKwkJc2luNi5zaW42X2ZhbWlseSA9IEFGX0lORVQ2OworCQlzaW42LnNpbjZfcG9ydCA9IDA7CisJCW1lbWNweShzaW42LnNpbjZfYWRkci5zNl9hZGRyLCBhLCAxNik7CisJCXNhID0gKHN0cnVjdCBzb2NrYWRkciAqKSZzaW42OworCQlzYWxlbiA9IHNpemVvZihzaW42KTsKKwl9CisKKwlyZXR1cm4gZ2V0bmFtZWluZm8oc2EsIHNhbGVuLCByZXN1bHQsIHNpemUsIE5VTEwsIDAsIGZsYWdzKTsKK30KKworc3RhdGljIGludCB0aW1lX2Zvcm1hdHRlcihpbnQgZm10LCBjaGFyICpkc3QsIHNpemVfdCBkbGVuLCB0aW1lX3QgKndoZW4pCit7CisJaW50IHJldCA9IDA7CisKKwlzd2l0Y2ggKGZtdCkgeworCWNhc2UgTEFTVF9USU1FRlRNX05PTkU6CisJCSpkc3QgPSAwOworCQlicmVhazsKKwljYXNlIExBU1RfVElNRUZUTV9ISE1NOgorCXsKKwkJc3RydWN0IHRtICp0bSA9IGxvY2FsdGltZSh3aGVuKTsKKwkJaWYgKCFzbnByaW50Zihkc3QsIGRsZW4sICIlMDJkOiUwMmQiLCB0bS0+dG1faG91ciwgdG0tPnRtX21pbikpCisJCQlyZXQgPSAtMTsKKwkJYnJlYWs7CisJfQorCWNhc2UgTEFTVF9USU1FRlRNX0NUSU1FOgorCQlyZXQgPSBzbnByaW50Zihkc3QsIGRsZW4sICIlcyIsIGN0aW1lKHdoZW4pKTsKKwkJYnJlYWs7CisJY2FzZSBMQVNUX1RJTUVGVE1fSVNPODYwMToKKwkJcmV0ID0gc3RydGltZV9pc28od2hlbiwgSVNPXzg2MDFfREFURXxJU09fODYwMV9USU1FfElTT184NjAxX1RJTUVaT05FLCBkc3QsIGRsZW4pOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlhYm9ydCgpOworCX0KKwlyZXR1cm4gcmV0OworfQorCisvKgorICoJUmVtb3ZlIHRyYWlsaW5nIHNwYWNlcyBmcm9tIGEgc3RyaW5nLgorICovCitzdGF0aWMgdm9pZCB0cmltX3RyYWlsaW5nX3NwYWNlcyhjaGFyICpzKQoreworCWNoYXIgKnA7CisKKwlmb3IgKHAgPSBzOyAqcDsgKytwKQorCQljb250aW51ZTsKKwl3aGlsZSAocCA+IHMgJiYgaXNzcGFjZSgqLS1wKSkKKwkJY29udGludWU7CisJaWYgKHAgPiBzKQorCQkrK3A7CisJKnArKyA9ICdcbic7CisJKnAgPSAnXDAnOworfQorCisvKgorICoJU2hvdyBvbmUgbGluZSBvZiBpbmZvcm1hdGlvbiBvbiBzY3JlZW4KKyAqLworc3RhdGljIGludCBsaXN0KGNvbnN0IHN0cnVjdCBsYXN0X2NvbnRyb2wgKmN0bCwgc3RydWN0IHV0bXAgKnAsIHRpbWVfdCBsb2dvdXRfdGltZSwgaW50IHdoYXQpCit7CisJdGltZV90CQlzZWNzLCB1dG1wX3RpbWU7CisJY2hhcgkJbG9naW50aW1lW0xBU1RfVElNRVNUQU1QX0xFTl07CisJY2hhcgkJbG9nb3V0dGltZVtMQVNUX1RJTUVTVEFNUF9MRU5dOworCWNoYXIJCWxlbmd0aFtMQVNUX1RJTUVTVEFNUF9MRU5dOworCWNoYXIJCWZpbmFsWzUxMl07CisJY2hhcgkJdXRsaW5lW1VUX0xJTkVTSVpFKzFdOworCWNoYXIJCWRvbWFpblsyNTZdOworCWNoYXIJCSpzOworCWludAkJbWlucywgaG91cnMsIGRheXM7CisJaW50CQlyLCBsZW47CisJc3RydWN0IGxhc3RfdGltZWZtdCAqZm10OworCisJLyoKKwkgKgl1dWNwIGFuZCBmdHAgaGF2ZSBzcGVjaWFsLXR5cGUgZW50cmllcworCSAqLworCXV0bGluZVswXSA9IDA7CisJc3RybmNhdCh1dGxpbmUsIHAtPnV0X2xpbmUsIFVUX0xJTkVTSVpFKTsKKwlpZiAoc3RybmNtcCh1dGxpbmUsICJmdHAiLCAzKSA9PSAwICYmIGlzZGlnaXQodXRsaW5lWzNdKSkKKwkJdXRsaW5lWzNdID0gMDsKKwlpZiAoc3RybmNtcCh1dGxpbmUsICJ1dWNwIiwgNCkgPT0gMCAmJiBpc2RpZ2l0KHV0bGluZVs0XSkpCisJCXV0bGluZVs0XSA9IDA7CisKKwkvKgorCSAqCUlzIHRoaXMgc29tZXRoaW5nIHdlIHdhbnQgdG8gc2hvdz8KKwkgKi8KKwlpZiAoY3RsLT5zaG93KSB7CisJCWNoYXIgKip3YWxrOworCQlmb3IgKHdhbGsgPSBjdGwtPnNob3c7ICp3YWxrOyB3YWxrKyspIHsKKwkJCWlmIChzdHJuY21wKHAtPnV0X3VzZXIsICp3YWxrLCBVVF9OQU1FU0laRSkgPT0gMCB8fAorCQkJICAgIHN0cmNtcCh1dGxpbmUsICp3YWxrKSA9PSAwIHx8CisJCQkgICAgKHN0cm5jbXAodXRsaW5lLCAidHR5IiwgMykgPT0gMCAmJgorCQkJICAgICBzdHJjbXAodXRsaW5lICsgMywgKndhbGspID09IDApKSBicmVhazsKKwkJfQorCQlpZiAoKndhbGsgPT0gTlVMTCkgcmV0dXJuIDA7CisJfQorCisJLyoKKwkgKglDYWxjdWxhdGUgdGltZXMKKwkgKi8KKwlmbXQgPSAmdGltZWZtdHNbY3RsLT50aW1lX2ZtdF07CisKKwl1dG1wX3RpbWUgPSBwLT5VTF9VVF9USU1FOworCisJaWYgKGN0bC0+cHJlc2VudCkgeworCQlpZiAoY3RsLT5wcmVzZW50IDwgdXRtcF90aW1lKQorCQkJcmV0dXJuIDA7CisJCWlmICgwIDwgbG9nb3V0X3RpbWUgJiYgbG9nb3V0X3RpbWUgPCBjdGwtPnByZXNlbnQpCisJCQlyZXR1cm4gMDsKKwl9CisKKwkvKiBsb2ctaW4gdGltZSAqLworCWlmICh0aW1lX2Zvcm1hdHRlcihmbXQtPmluX2ZtdCwgbG9naW50aW1lLAorCQkJICAgc2l6ZW9mKGxvZ2ludGltZSksICZ1dG1wX3RpbWUpIDwgMCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInByZWFsbG9jYXRpb24gc2l6ZSBleGNlZWRlZCIpKTsKKworCS8qIGxvZy1vdXQgdGltZSAqLworCXNlY3MgID0gbG9nb3V0X3RpbWUgLSB1dG1wX3RpbWU7CisJbWlucyAgPSAoc2VjcyAvIDYwKSAlIDYwOworCWhvdXJzID0gKHNlY3MgLyAzNjAwKSAlIDI0OworCWRheXMgID0gc2VjcyAvIDg2NDAwOworCisJc3RyY3B5KGxvZ291dHRpbWUsICItICIpOworCWlmICh0aW1lX2Zvcm1hdHRlcihmbXQtPm91dF9mbXQsIGxvZ291dHRpbWUgKyAyLAorCQkJICAgc2l6ZW9mKGxvZ291dHRpbWUpIC0gMiwgJmxvZ291dF90aW1lKSA8IDApCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJwcmVhbGxvY2F0aW9uIHNpemUgZXhjZWVkZWQiKSk7CisKKwlpZiAobG9nb3V0X3RpbWUgPT0gY3VycmVudGRhdGUpIHsKKwkJaWYgKGN0bC0+dGltZV9mbXQgPiBMQVNUX1RJTUVGVE1fU0hPUlQpIHsKKwkJCXNwcmludGYobG9nb3V0dGltZSwgIiAgc3RpbGwgcnVubmluZyIpOworCQkJbGVuZ3RoWzBdID0gMDsKKwkJfSBlbHNlIHsKKwkJCXNwcmludGYobG9nb3V0dGltZSwgIiAgc3RpbGwiKTsKKwkJCXNwcmludGYobGVuZ3RoLCAicnVubmluZyIpOworCQl9CisJfSBlbHNlIGlmIChkYXlzKSB7CisJCXNwcmludGYobGVuZ3RoLCAiKCVkKyUwMmQ6JTAyZCkiLCBkYXlzLCBob3VycywgbWlucyk7CisJfSBlbHNlIHsKKwkJc3ByaW50ZihsZW5ndGgsICIgKCUwMmQ6JTAyZCkiLCBob3VycywgbWlucyk7CisJfQorCisJc3dpdGNoKHdoYXQpIHsKKwkJY2FzZSBSX0NSQVNIOgorCQkJc3ByaW50Zihsb2dvdXR0aW1lLCAiLSBjcmFzaCIpOworCQkJYnJlYWs7CisJCWNhc2UgUl9ET1dOOgorCQkJc3ByaW50Zihsb2dvdXR0aW1lLCAiLSBkb3duICIpOworCQkJYnJlYWs7CisJCWNhc2UgUl9OT1c6CisJCQlpZiAoY3RsLT50aW1lX2ZtdCA+IExBU1RfVElNRUZUTV9TSE9SVCkgeworCQkJCXNwcmludGYobG9nb3V0dGltZSwgIiAgc3RpbGwgbG9nZ2VkIGluIik7CisJCQkJbGVuZ3RoWzBdID0gMDsKKwkJCX0gZWxzZSB7CisJCQkJc3ByaW50Zihsb2dvdXR0aW1lLCAiICBzdGlsbCIpOworCQkJCXNwcmludGYobGVuZ3RoLCAibG9nZ2VkIGluIik7CisJCQl9CisJCQlicmVhazsKKwkJY2FzZSBSX1BIQU5UT006CisJCQlpZiAoY3RsLT50aW1lX2ZtdCA+IExBU1RfVElNRUZUTV9TSE9SVCkgeworCQkJCXNwcmludGYobG9nb3V0dGltZSwgIiAgZ29uZSAtIG5vIGxvZ291dCIpOworCQkJCWxlbmd0aFswXSA9IDA7CisJCQl9IGVsc2UgaWYgKGN0bC0+dGltZV9mbXQgPT0gTEFTVF9USU1FRlRNX1NIT1JUKSB7CisJCQkJc3ByaW50Zihsb2dvdXR0aW1lLCAiICAgZ29uZSIpOworCQkJCXNwcmludGYobGVuZ3RoLCAiLSBubyBsb2dvdXQiKTsKKwkJCX0gZWxzZSB7CisJCQkJbG9nb3V0dGltZVswXSA9IDA7CisJCQkJc3ByaW50ZihsZW5ndGgsICJubyBsb2dvdXQiKTsKKwkJCX0KKwkJCWJyZWFrOworCQljYXNlIFJfVElNRUNIQU5HRToKKwkJCWxvZ291dHRpbWVbMF0gPSAwOworCQkJbGVuZ3RoWzBdID0gMDsKKwkJCWJyZWFrOworCQljYXNlIFJfTk9STUFMOgorCQljYXNlIFJfUkVCT09UOgorCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlhYm9ydCgpOworCX0KKworCS8qCisJICoJTG9vayB1cCBob3N0IHdpdGggRE5TIGlmIG5lZWRlZC4KKwkgKi8KKwlyID0gLTE7CisJaWYgKGN0bC0+dXNlZG5zIHx8IGN0bC0+dXNlaXApCisJCXIgPSBkbnNfbG9va3VwKGRvbWFpbiwgc2l6ZW9mKGRvbWFpbiksIGN0bC0+dXNlaXAsIHAtPnV0X2FkZHJfdjYpOworCWlmIChyIDwgMCkgeworCQlsZW4gPSBVVF9IT1NUU0laRTsKKwkJaWYgKGxlbiA+PSAoaW50KXNpemVvZihkb21haW4pKSBsZW4gPSBzaXplb2YoZG9tYWluKSAtIDE7CisJCWRvbWFpblswXSA9IDA7CisJCXN0cm5jYXQoZG9tYWluLCBwLT51dF9ob3N0LCBsZW4pOworCX0KKworCisJaWYgKGN0bC0+c2hvd2hvc3QpIHsKKwkJaWYgKCFjdGwtPmFsdGxpc3QpIHsKKwkJCWxlbiA9IHNucHJpbnRmKGZpbmFsLCBzaXplb2YoZmluYWwpLAorCQkJCSIlLTguKnMgJS0xMi4xMnMgJS0xNi4qcyAlLSouKnMgJS0qLipzICVzXG4iLAorCQkJCWN0bC0+bmFtZV9sZW4sIHAtPnV0X3VzZXIsIHV0bGluZSwKKwkJCQljdGwtPmRvbWFpbl9sZW4sIGRvbWFpbiwKKwkJCQlmbXQtPmluX2xlbiwgZm10LT5pbl9sZW4sIGxvZ2ludGltZSwgZm10LT5vdXRfbGVuLCBmbXQtPm91dF9sZW4sCisJCQkJbG9nb3V0dGltZSwgbGVuZ3RoKTsKKwkJfSBlbHNlIHsKKwkJCWxlbiA9IHNucHJpbnRmKGZpbmFsLCBzaXplb2YoZmluYWwpLAorCQkJCSIlLTguKnMgJS0xMi4xMnMgJS0qLipzICUtKi4qcyAlLTEyLjEycyAlc1xuIiwKKwkJCQljdGwtPm5hbWVfbGVuLCBwLT51dF91c2VyLCB1dGxpbmUsCisJCQkJZm10LT5pbl9sZW4sIGZtdC0+aW5fbGVuLCBsb2dpbnRpbWUsIGZtdC0+b3V0X2xlbiwgZm10LT5vdXRfbGVuLAorCQkJCWxvZ291dHRpbWUsIGxlbmd0aCwgZG9tYWluKTsKKwkJfQorCX0gZWxzZQorCQlsZW4gPSBzbnByaW50ZihmaW5hbCwgc2l6ZW9mKGZpbmFsKSwKKwkJCSIlLTguKnMgJS0xMi4xMnMgJS0qLipzICUtKi4qcyAlc1xuIiwKKwkJCWN0bC0+bmFtZV9sZW4sIHAtPnV0X3VzZXIsIHV0bGluZSwKKwkJCWZtdC0+aW5fbGVuLCBmbXQtPmluX2xlbiwgbG9naW50aW1lLCBmbXQtPm91dF9sZW4sIGZtdC0+b3V0X2xlbiwKKwkJCWxvZ291dHRpbWUsIGxlbmd0aCk7CisKKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyMgIGlmIChfX0dMSUJDX18gPT0gMikgJiYgKF9fR0xJQkNfTUlOT1JfXyA9PSAwKQorCWZpbmFsW3NpemVvZihmaW5hbCktMV0gPSAnXDAnOworIyAgZW5kaWYKKyNlbmRpZgorCisJdHJpbV90cmFpbGluZ19zcGFjZXMoZmluYWwpOworCS8qCisJICoJUHJpbnQgb3V0ICJmaW5hbCIgc3RyaW5nIHNhZmVseS4KKwkgKi8KKwlmb3IgKHMgPSBmaW5hbDsgKnM7IHMrKykKKwkJZnB1dGNfY2FyZWZ1bCgqcywgc3Rkb3V0LCAnKicpOworCisJaWYgKGxlbiA8IDAgfHwgKHNpemVfdClsZW4gPj0gc2l6ZW9mKGZpbmFsKSkKKwkJcHV0Y2hhcignXG4nKTsKKworCXJlY3Nkb25lKys7CisJaWYgKGN0bC0+bWF4cmVjcyAmJiBjdGwtPm1heHJlY3MgPD0gcmVjc2RvbmUpCisJCXJldHVybiAxOworCisJcmV0dXJuIDA7Cit9CisKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2UoY29uc3Qgc3RydWN0IGxhc3RfY29udHJvbCAqY3RsLCBGSUxFICpvdXQpCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKAorCQkiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPi4uLl0gWzx0dHk+Li4uXVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJTaG93IGEgbGlzdGluZyBvZiBsYXN0IGxvZ2dlZCBpbiB1c2Vycy5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLTxudW1iZXI+ICAgICAgICAgICAgaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWhvc3RsYXN0ICAgICAgIGRpc3BsYXkgaG9zdG5hbWVzIGluIHRoZSBsYXN0IGNvbHVtblxuIiksIG91dCk7CisJZnB1dHMoXygiIC1kLCAtLWRucyAgICAgICAgICAgIHRyYW5zbGF0ZSB0aGUgSVAgbnVtYmVyIGJhY2sgaW50byBhIGhvc3RuYW1lXG4iKSwgb3V0KTsKKwlmcHJpbnRmKG91dCwKKwkgICAgICBfKCIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgdXNlIGEgc3BlY2lmaWMgZmlsZSBpbnN0ZWFkIG9mICVzXG4iKSwgY3RsLT5sYXN0YiA/IF9QQVRIX0JUTVAgOiBfUEFUSF9XVE1QKTsKKwlmcHV0cyhfKCIgLUYsIC0tZnVsbHRpbWVzICAgICAgcHJpbnQgZnVsbCBsb2dpbiBhbmQgbG9nb3V0IHRpbWVzIGFuZCBkYXRlc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1pLCAtLWlwICAgICAgICAgICAgIGRpc3BsYXkgSVAgbnVtYmVycyBpbiBudW1iZXJzLWFuZC1kb3RzIG5vdGF0aW9uXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW4sIC0tbGltaXQgPG51bWJlcj4gaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1SLCAtLW5vaG9zdG5hbWUgICAgIGRvbid0IGRpc3BsYXkgdGhlIGhvc3RuYW1lIGZpZWxkXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXMsIC0tc2luY2UgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgc2luY2UgdGhlIHNwZWNpZmllZCB0aW1lXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXQsIC0tdW50aWwgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgdW50aWwgdGhlIHNwZWNpZmllZCB0aW1lXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXAsIC0tcHJlc2VudCA8dGltZT4gZGlzcGxheSB3aG8gd2VyZSBwcmVzZW50IGF0IHRoZSBzcGVjaWZpZWQgdGltZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC13LCAtLWZ1bGxuYW1lcyAgICAgIGRpc3BsYXkgZnVsbCB1c2VyIGFuZCBkb21haW4gbmFtZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAteCwgLS1zeXN0ZW0gICAgICAgICBkaXNwbGF5IHN5c3RlbSBzaHV0ZG93biBlbnRyaWVzIGFuZCBydW4gbGV2ZWwgY2hhbmdlc1xuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcHMgaW4gdGhlIHNwZWNpZmllZCA8Zm9ybWF0PjpcbiIKKwkJIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpbWV8c2hvcnR8ZnVsbHxpc29cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKFVTQUdFX0hFTFAsIG91dCk7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoImxhc3QoMSkiKSk7CisKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgaW50IGlzX3BoYW50b20oY29uc3Qgc3RydWN0IGxhc3RfY29udHJvbCAqY3RsLCBzdHJ1Y3QgdXRtcCAqdXQpCit7CisJc3RydWN0IHBhc3N3ZCAqcHc7CisJY2hhciBwYXRoWzMyXTsKKwlpbnQgcmV0ID0gMDsKKworCWlmICh1dC0+VUxfVVRfVElNRSA8IGN0bC0+Ym9vdF90aW1lLnR2X3NlYykKKwkJcmV0dXJuIDE7CisJcHcgPSBnZXRwd25hbSh1dC0+dXRfdXNlcik7CisJaWYgKCFwdykKKwkJcmV0dXJuIDE7CisJc3ByaW50ZihwYXRoLCAiL3Byb2MvJXUvbG9naW51aWQiLCB1dC0+dXRfcGlkKTsKKwlpZiAoYWNjZXNzKHBhdGgsIFJfT0spID09IDApIHsKKwkJdW5zaWduZWQgaW50IGxvZ2ludWlkOworCQlGSUxFICpmID0gTlVMTDsKKworCQlpZiAoIShmID0gZm9wZW4ocGF0aCwgInIiKSkpCisJCQlyZXR1cm4gMTsKKwkJaWYgKGZzY2FuZihmLCAiJXUiLCAmbG9naW51aWQpICE9IDEpCisJCQlyZXQgPSAxOworCQlmY2xvc2UoZik7CisJCWlmICghcmV0ICYmIHB3LT5wd191aWQgIT0gbG9naW51aWQpCisJCQlyZXR1cm4gMTsKKwl9IGVsc2UgeworCQlzdHJ1Y3Qgc3RhdCBzdDsKKworCQlzcHJpbnRmKHBhdGgsICIvZGV2LyVzIiwgdXQtPnV0X2xpbmUpOworCQlpZiAoc3RhdChwYXRoLCAmc3QpKQorCQkJcmV0dXJuIDE7CisJCWlmIChwdy0+cHdfdWlkICE9IHN0LnN0X3VpZCkKKwkJCXJldHVybiAxOworCX0KKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBwcm9jZXNzX3d0bXBfZmlsZShjb25zdCBzdHJ1Y3QgbGFzdF9jb250cm9sICpjdGwsCisJCQkgICAgICBjb25zdCBjaGFyICpmaWxlbmFtZSkKK3sKKwlGSUxFICpmcDsJCS8qIEZpbGUgcG9pbnRlciBvZiB3dG1wIGZpbGUgKi8KKworCXN0cnVjdCB1dG1wIHV0OwkJLyogQ3VycmVudCB1dG1wIGVudHJ5ICovCisJc3RydWN0IHV0bXBsaXN0ICp1bGlzdCA9IE5VTEw7CS8qIEFsbCBlbnRyaWVzICovCisJc3RydWN0IHV0bXBsaXN0ICpwOwkvKiBQb2ludGVyIGludG8gdXRtcGxpc3QgKi8KKwlzdHJ1Y3QgdXRtcGxpc3QgKm5leHQ7CS8qIFBvaW50ZXIgaW50byB1dG1wbGlzdCAqLworCisJdGltZV90IGxhc3Rib290ID0gMDsJLyogTGFzdCBib290dGltZSAqLworCXRpbWVfdCBsYXN0cmNoID0gMDsJLyogTGFzdCBydW4gbGV2ZWwgY2hhbmdlICovCisJdGltZV90IGxhc3Rkb3duOwkvKiBMYXN0IGRvd250aW1lICovCisJdGltZV90IGJlZ2ludGltZTsJLyogV2hlbiB3dG1wIGJlZ2lucyAqLworCWludCB3aHlkb3duID0gMDsJLyogV2h5IHdlIHdlbnQgZG93bjogY3Jhc2ggb3Igc2h1dGRvd24gKi8KKworCWludCBjLCB4OwkJLyogU2NyYXRjaCAqLworCXN0cnVjdCBzdGF0IHN0OwkJLyogVG8gc3RhdCB0aGUgW3V3XXRtcCBmaWxlICovCisJaW50IHF1aXQgPSAwOwkJLyogRmxhZyAqLworCWludCBkb3duID0gMDsJCS8qIERvd24gZmxhZyAqLworCisJdGltZSgmbGFzdGRvd24pOworCS8qCisJICogRmlsbCBpbiAnbGFzdGRhdGUnCisJICovCisJbGFzdGRhdGUgPSBjdXJyZW50ZGF0ZSA9IGxhc3RyY2ggPSBsYXN0ZG93bjsKKworCS8qCisJICogSW5zdGFsbCBzaWduYWwgaGFuZGxlcnMKKwkgKi8KKwlzaWduYWwoU0lHSU5ULCBpbnRfaGFuZGxlcik7CisJc2lnbmFsKFNJR1FVSVQsIHF1aXRfaGFuZGxlcik7CisKKwkvKgorCSAqIE9wZW4gdGhlIHV0bXAgZmlsZQorCSAqLworCWlmICgoZnAgPSBmb3BlbihmaWxlbmFtZSwgInIiKSkgPT0gTlVMTCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgZmlsZW5hbWUpOworCisJLyoKKwkgKiBPcHRpbWl6ZSB0aGUgYnVmZmVyIHNpemUuCisJICovCisJc2V0dmJ1ZihmcCwgTlVMTCwgX0lPRkJGLCBVQ0hVTktTSVpFKTsKKworCS8qCisJICogUmVhZCBmaXJzdCBzdHJ1Y3R1cmUgdG8gY2FwdHVyZSB0aGUgdGltZSBmaWVsZAorCSAqLworCWlmICh1cmVhZChmcCwgJnV0LCBOVUxMLCBmaWxlbmFtZSkgPT0gMSkKKwkJYmVnaW50aW1lID0gdXQuVUxfVVRfVElNRTsKKwllbHNlIHsKKwkJaWYgKGZzdGF0KGZpbGVubyhmcCksICZzdCkgIT0gMCkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oInN0YXQgb2YgJXMgZmFpbGVkIiksIGZpbGVuYW1lKTsKKwkJYmVnaW50aW1lID0gc3Quc3RfY3RpbWU7CisJCXF1aXQgPSAxOworCX0KKworCS8qCisJICogR28gdG8gZW5kIG9mIGZpbGUgbWludXMgb25lIHN0cnVjdHVyZQorCSAqIGFuZC9vciBpbml0aWFsaXplIHV0bXAgcmVhZGluZyBjb2RlLgorCSAqLworCXVyZWFkKGZwLCBOVUxMLCBOVUxMLCBmaWxlbmFtZSk7CisKKwkvKgorCSAqIFJlYWQgc3RydWN0IGFmdGVyIHN0cnVjdCBiYWNrd2FyZHMgZnJvbSB0aGUgZmlsZS4KKwkgKi8KKwl3aGlsZSAoIXF1aXQpIHsKKworCQlpZiAodXJlYWQoZnAsICZ1dCwgJnF1aXQsIGZpbGVuYW1lKSAhPSAxKQorCQkJYnJlYWs7CisKKwkJaWYgKGN0bC0+c2luY2UgJiYgdXQuVUxfVVRfVElNRSA8IGN0bC0+c2luY2UpCisJCQljb250aW51ZTsKKworCQlpZiAoY3RsLT51bnRpbCAmJiBjdGwtPnVudGlsIDwgdXQuVUxfVVRfVElNRSkKKwkJCWNvbnRpbnVlOworCisJCWxhc3RkYXRlID0gdXQuVUxfVVRfVElNRTsKKworCQlpZiAoY3RsLT5sYXN0YikgeworCQkJcXVpdCA9IGxpc3QoY3RsLCAmdXQsIHV0LlVMX1VUX1RJTUUsIFJfTk9STUFMKTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJLyoKKwkJICogU2V0IHV0X3R5cGUgdG8gdGhlIGNvcnJlY3QgdHlwZS4KKwkJICovCisJCWlmIChzdHJuY21wKHV0LnV0X2xpbmUsICJ+IiwgMSkgPT0gMCkgeworCQkJaWYgKHN0cm5jbXAodXQudXRfdXNlciwgInNodXRkb3duIiwgOCkgPT0gMCkKKwkJCQl1dC51dF90eXBlID0gU0hVVERPV05fVElNRTsKKwkJCWVsc2UgaWYgKHN0cm5jbXAodXQudXRfdXNlciwgInJlYm9vdCIsIDYpID09IDApCisJCQkJdXQudXRfdHlwZSA9IEJPT1RfVElNRTsKKwkJCWVsc2UgaWYgKHN0cm5jbXAodXQudXRfdXNlciwgInJ1bmxldmVsIiwgOCkgPT0gMCkKKwkJCQl1dC51dF90eXBlID0gUlVOX0xWTDsKKwkJfQorI2lmIDEgLypkZWYgQ09NUEFUKi8KKwkJLyoKKwkJICogRm9yIHN0dXBpZCBvbGQgYXBwbGljYXRpb25zIHRoYXQgZG9uJ3QgZmlsbCBpbgorCQkgKiB1dF90eXBlIGNvcnJlY3RseS4KKwkJICovCisJCWVsc2UgeworCQkJaWYgKHV0LnV0X3R5cGUgIT0gREVBRF9QUk9DRVNTICYmCisJCQkgICAgdXQudXRfdXNlclswXSAmJiB1dC51dF9saW5lWzBdICYmCisJCQkgICAgc3RyY21wKHV0LnV0X3VzZXIsICJMT0dJTiIpICE9IDApCisJCQkJdXQudXRfdHlwZSA9IFVTRVJfUFJPQ0VTUzsKKwkJCS8qCisJCQkgKiBFdmVuIHdvcnNlLCBhcHBsaWNhdGlvbnMgdGhhdCB3cml0ZSBnaG9zdAorCQkJICogZW50cmllczogdXRfdHlwZSBzZXQgdG8gVVNFUl9QUk9DRVNTIGJ1dAorCQkJICogZW1wdHkgdXRfdXNlci4uLgorCQkJICovCisJCQlpZiAodXQudXRfdXNlclswXSA9PSAwKQorCQkJCXV0LnV0X3R5cGUgPSBERUFEX1BST0NFU1M7CisKKwkJCS8qCisJCQkgKiBDbG9jayBjaGFuZ2VzLgorCQkJICovCisJCQlpZiAoc3RyY21wKHV0LnV0X3VzZXIsICJkYXRlIikgPT0gMCkgeworCQkJCWlmICh1dC51dF9saW5lWzBdID09ICd8JykKKwkJCQkJdXQudXRfdHlwZSA9IE9MRF9USU1FOworCQkJCWlmICh1dC51dF9saW5lWzBdID09ICd7JykKKwkJCQkJdXQudXRfdHlwZSA9IE5FV19USU1FOworCQkJfQorCQl9CisjZW5kaWYKKwkJc3dpdGNoICh1dC51dF90eXBlKSB7CisJCWNhc2UgU0hVVERPV05fVElNRToKKwkJCWlmIChjdGwtPmV4dGVuZGVkKSB7CisJCQkJc3RyY3B5KHV0LnV0X2xpbmUsICJzeXN0ZW0gZG93biIpOworCQkJCXF1aXQgPSBsaXN0KGN0bCwgJnV0LCBsYXN0Ym9vdCwgUl9OT1JNQUwpOworCQkJfQorCQkJbGFzdGRvd24gPSBsYXN0cmNoID0gdXQuVUxfVVRfVElNRTsKKwkJCWRvd24gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgT0xEX1RJTUU6CisJCWNhc2UgTkVXX1RJTUU6CisJCQlpZiAoY3RsLT5leHRlbmRlZCkgeworCQkJCXN0cmNweSh1dC51dF9saW5lLAorCQkJCXV0LnV0X3R5cGUgPT0gTkVXX1RJTUUgPyAibmV3IHRpbWUiIDoKKwkJCQkJIm9sZCB0aW1lIik7CisJCQkJcXVpdCA9IGxpc3QoY3RsLCAmdXQsIGxhc3Rkb3duLCBSX1RJTUVDSEFOR0UpOworCQkJfQorCQkJYnJlYWs7CisJCWNhc2UgQk9PVF9USU1FOgorCQkJc3RyY3B5KHV0LnV0X2xpbmUsICJzeXN0ZW0gYm9vdCIpOworCQkJcXVpdCA9IGxpc3QoY3RsLCAmdXQsIGxhc3Rkb3duLCBSX1JFQk9PVCk7CisJCQlsYXN0Ym9vdCA9IHV0LlVMX1VUX1RJTUU7CisJCQlkb3duID0gMTsKKwkJCWJyZWFrOworCQljYXNlIFJVTl9MVkw6CisJCQl4ID0gdXQudXRfcGlkICYgMjU1OworCQkJaWYgKGN0bC0+ZXh0ZW5kZWQpIHsKKwkJCQlzcHJpbnRmKHV0LnV0X2xpbmUsICIodG8gbHZsICVjKSIsIHgpOworCQkJCXF1aXQgPSBsaXN0KGN0bCwgJnV0LCBsYXN0cmNoLCBSX05PUk1BTCk7CisJCQl9CisJCQlpZiAoeCA9PSAnMCcgfHwgeCA9PSAnNicpIHsKKwkJCQlsYXN0ZG93biA9IHV0LlVMX1VUX1RJTUU7CisJCQkJZG93biA9IDE7CisJCQkJdXQudXRfdHlwZSA9IFNIVVRET1dOX1RJTUU7CisJCQl9CisJCQlsYXN0cmNoID0gdXQuVUxfVVRfVElNRTsKKwkJCWJyZWFrOworCisJCWNhc2UgVVNFUl9QUk9DRVNTOgorCQkJLyoKKwkJCSAqIFRoaXMgd2FzIGEgbG9naW4gLSBzaG93IHRoZSBmaXJzdCBtYXRjaGluZworCQkJICogbG9nb3V0IHJlY29yZCBhbmQgZGVsZXRlIGFsbCByZWNvcmRzIHdpdGgKKwkJCSAqIHRoZSBzYW1lIHV0X2xpbmUuCisJCQkgKi8KKwkJCWMgPSAwOworCQkJZm9yIChwID0gdWxpc3Q7IHA7IHAgPSBuZXh0KSB7CisJCQkJbmV4dCA9IHAtPm5leHQ7CisJCQkJaWYgKHN0cm5jbXAocC0+dXQudXRfbGluZSwgdXQudXRfbGluZSwKKwkJCQkgICAgVVRfTElORVNJWkUpID09IDApIHsKKwkJCQkJLyogU2hvdyBpdCAqLworCQkJCQlpZiAoYyA9PSAwKSB7CisJCQkJCQlxdWl0ID0gbGlzdChjdGwsICZ1dCwgcC0+dXQuVUxfVVRfVElNRSwgUl9OT1JNQUwpOworCQkJCQkJYyA9IDE7CisJCQkJCX0KKwkJCQkJaWYgKHAtPm5leHQpCisJCQkJCQlwLT5uZXh0LT5wcmV2ID0gcC0+cHJldjsKKwkJCQkJaWYgKHAtPnByZXYpCisJCQkJCQlwLT5wcmV2LT5uZXh0ID0gcC0+bmV4dDsKKwkJCQkJZWxzZQorCQkJCQkJdWxpc3QgPSBwLT5uZXh0OworCQkJCQlmcmVlKHApOworCQkJCX0KKwkJCX0KKwkJCS8qCisJCQkgKiBOb3QgZm91bmQ/IFRoZW4gY3Jhc2hlZCwgZG93biwgc3RpbGwKKwkJCSAqIGxvZ2dlZCBpbiwgb3IgbWlzc2luZyBsb2dvdXQgcmVjb3JkLgorCQkJICovCisJCQlpZiAoYyA9PSAwKSB7CisJCQkJaWYgKCFsYXN0Ym9vdCkgeworCQkJCQljID0gUl9OT1c7CisJCQkJCS8qIElzIHByb2Nlc3Mgc3RpbGwgYWxpdmU/ICovCisJCQkJCWlmIChpc19waGFudG9tKGN0bCwgJnV0KSkKKwkJCQkJCWMgPSBSX1BIQU5UT007CisJCQkJfSBlbHNlCisJCQkJCWMgPSB3aHlkb3duOworCQkJCXF1aXQgPSBsaXN0KGN0bCwgJnV0LCBsYXN0Ym9vdCwgYyk7CisJCQl9CisJCQkvKiBGQUxMVEhSVSAqLworCisJCWNhc2UgREVBRF9QUk9DRVNTOgorCQkJLyoKKwkJCSAqIEp1c3Qgc3RvcmUgdGhlIGRhdGEgaWYgaXQgaXMKKwkJCSAqIGludGVyZXN0aW5nIGVub3VnaC4KKwkJCSAqLworCQkJaWYgKHV0LnV0X2xpbmVbMF0gPT0gMCkKKwkJCQlicmVhazsKKwkJCXAgPSB4bWFsbG9jKHNpemVvZihzdHJ1Y3QgdXRtcGxpc3QpKTsKKwkJCW1lbWNweSgmcC0+dXQsICZ1dCwgc2l6ZW9mKHN0cnVjdCB1dG1wKSk7CisJCQlwLT5uZXh0ICA9IHVsaXN0OworCQkJcC0+cHJldiAgPSBOVUxMOworCQkJaWYgKHVsaXN0KQorCQkJCXVsaXN0LT5wcmV2ID0gcDsKKwkJCXVsaXN0ID0gcDsKKwkJCWJyZWFrOworCisJCWNhc2UgRU1QVFk6CisJCWNhc2UgSU5JVF9QUk9DRVNTOgorCQljYXNlIExPR0lOX1BST0NFU1M6CisJCWNhc2UgQUNDT1VOVElORzoKKwkJCS8qIGlnbm9yZWQgdXRfdHlwZXMgKi8KKwkJCWJyZWFrOworCisJCWRlZmF1bHQ6CisJCQl3YXJueCgidW5yZWNvZ25pemVkIHV0X3R5cGU6ICVkIiwgdXQudXRfdHlwZSk7CisJCX0KKworCQkvKgorCQkgKiBJZiB3ZSBzYXcgYSBzaHV0ZG93bi9yZWJvb3QgcmVjb3JkIHdlIGNhbiByZW1vdmUKKwkJICogdGhlIGVudGlyZSBjdXJyZW50IHVsaXN0LgorCQkgKi8KKwkJaWYgKGRvd24pIHsKKwkJCWxhc3Rib290ID0gdXQuVUxfVVRfVElNRTsKKwkJCXdoeWRvd24gPSAodXQudXRfdHlwZSA9PSBTSFVURE9XTl9USU1FKSA/IFJfRE9XTiA6IFJfQ1JBU0g7CisJCQlmb3IgKHAgPSB1bGlzdDsgcDsgcCA9IG5leHQpIHsKKwkJCQluZXh0ID0gcC0+bmV4dDsKKwkJCQlmcmVlKHApOworCQkJfQorCQkJdWxpc3QgPSBOVUxMOworCQkJZG93biA9IDA7CisJCX0KKwl9CisKKwlwcmludGYoXygiXG4lcyBiZWdpbnMgJXMiKSwgYmFzZW5hbWUoZmlsZW5hbWUpLCBjdGltZSgmYmVnaW50aW1lKSk7CisJZmNsb3NlKGZwKTsKKworCWZvciAocCA9IHVsaXN0OyBwOyBwID0gbmV4dCkgeworCQluZXh0ID0gcC0+bmV4dDsKKwkJZnJlZShwKTsKKwl9Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlzdHJ1Y3QgbGFzdF9jb250cm9sIGN0bCA9IHsKKwkJLnNob3dob3N0ID0gVFJVRSwKKwkJLm5hbWVfbGVuID0gTEFTVF9MT0dJTl9MRU4sCisJCS50aW1lX2ZtdCA9IExBU1RfVElNRUZUTV9TSE9SVCwKKwkJLmRvbWFpbl9sZW4gPSBMQVNUX0RPTUFJTl9MRU4KKwl9OworCWNoYXIgKipmaWxlcyA9IE5VTEw7CisJc2l6ZV90IGksIG5maWxlcyA9IDA7CisJaW50IGM7CisJdXNlY190IHA7CisKKwllbnVtIHsKKwkJT1BUX1RJTUVfRk9STUFUID0gQ0hBUl9NQVggKyAxCisJfTsKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nX29wdHNbXSA9IHsKKwkgICAgICB7ICJsaW1pdCIsCXJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbicgfSwKKwkgICAgICB7ICJoZWxwIiwJbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdoJyB9LAorCSAgICAgIHsgImZpbGUiLCAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2YnIH0sCisJICAgICAgeyAibm9ob3N0bmFtZSIsIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnUicgfSwKKwkgICAgICB7ICJ2ZXJzaW9uIiwgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdWJyB9LAorCSAgICAgIHsgImhvc3RsYXN0IiwgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2EnIH0sCisJICAgICAgeyAic2luY2UiLCAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAncycgfSwKKwkgICAgICB7ICJ1bnRpbCIsICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICd0JyB9LAorCSAgICAgIHsgInByZXNlbnQiLCAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3AnIH0sCisJICAgICAgeyAic3lzdGVtIiwgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAneCcgfSwKKwkgICAgICB7ICJkbnMiLCAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdkJyB9LAorCSAgICAgIHsgImlwIiwgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2knIH0sCisJICAgICAgeyAiZnVsbHRpbWVzIiwgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnRicgfSwKKwkgICAgICB7ICJmdWxsbmFtZXMiLCAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICd3JyB9LAorCSAgICAgIHsgInRpbWUtZm9ybWF0IiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIE9QVF9USU1FX0ZPUk1BVCB9LAorCSAgICAgIHsgTlVMTCwgMCwgTlVMTCwgMCB9CisJfTsKKwlzdGF0aWMgY29uc3QgdWxfZXhjbF90IGV4Y2xbXSA9IHsJLyogcm93cyBhbmQgY29scyBpbiBpbiBBU0NJSSBvcmRlciAqLworCQl7ICdGJywgT1BUX1RJTUVfRk9STUFUIH0sCS8qIGZ1bGx0aW1lLCB0aW1lLWZvcm1hdCAqLworCQl7IDAgfQorCX07CisJaW50IGV4Y2xfc3RbQVJSQVlfU0laRShleGNsKV0gPSBVTF9FWENMX1NUQVRVU19JTklUOworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKwkvKgorCSAqIFdoaWNoIGZpbGUgZG8gd2Ugd2FudCB0byByZWFkPworCSAqLworCWN0bC5sYXN0YiA9IHN0cmNtcChwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSwgImxhc3RiIikgPT0gMCA/IDEgOiAwOworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsCisJCQkiaFZmOm46UnhhZEZpdDpwOnM6MDEyMzQ1Njc4OXciLCBsb25nX29wdHMsIE5VTEwpKSAhPSAtMSkgeworCisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhjLCBsb25nX29wdHMsIGV4Y2wsIGV4Y2xfc3QpOworCisJCXN3aXRjaChjKSB7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoJmN0bCwgc3Rkb3V0KTsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnUic6CisJCQljdGwuc2hvd2hvc3QgPSAwOworCQkJYnJlYWs7CisJCWNhc2UgJ3gnOgorCQkJY3RsLmV4dGVuZGVkID0gMTsKKwkJCWJyZWFrOworCQljYXNlICduJzoKKwkJCWN0bC5tYXhyZWNzID0gc3RydG9zMzJfb3JfZXJyKG9wdGFyZywgXygiZmFpbGVkIHRvIHBhcnNlIG51bWJlciIpKTsKKwkJCWJyZWFrOworCQljYXNlICdmJzoKKwkJCWlmICghZmlsZXMpCisJCQkJZmlsZXMgPSB4bWFsbG9jKHNpemVvZihjaGFyICopICogYXJnYyk7CisJCQlmaWxlc1tuZmlsZXMrK10gPSB4c3RyZHVwKG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAnZCc6CisJCQljdGwudXNlZG5zID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdpJzoKKwkJCWN0bC51c2VpcCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnYSc6CisJCQljdGwuYWx0bGlzdCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnRic6CisJCQljdGwudGltZV9mbXQgPSBMQVNUX1RJTUVGVE1fQ1RJTUU7CisJCQlicmVhazsKKwkJY2FzZSAncCc6CisJCQlpZiAocGFyc2VfdGltZXN0YW1wKG9wdGFyZywgJnApIDwgMCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiaW52YWxpZCB0aW1lIHZhbHVlIFwiJXNcIiIpLCBvcHRhcmcpOworCQkJY3RsLnByZXNlbnQgPSAodGltZV90KSAocCAvIDEwMDAwMDApOworCQkJYnJlYWs7CisJCWNhc2UgJ3MnOgorCQkJaWYgKHBhcnNlX3RpbWVzdGFtcChvcHRhcmcsICZwKSA8IDApCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImludmFsaWQgdGltZSB2YWx1ZSBcIiVzXCIiKSwgb3B0YXJnKTsKKwkJCWN0bC5zaW5jZSA9ICh0aW1lX3QpIChwIC8gMTAwMDAwMCk7CisJCQlicmVhazsKKwkJY2FzZSAndCc6CisJCQlpZiAocGFyc2VfdGltZXN0YW1wKG9wdGFyZywgJnApIDwgMCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiaW52YWxpZCB0aW1lIHZhbHVlIFwiJXNcIiIpLCBvcHRhcmcpOworCQkJY3RsLnVudGlsID0gKHRpbWVfdCkgKHAgLyAxMDAwMDAwKTsKKwkJCWJyZWFrOworCQljYXNlICd3JzoKKwkJCWlmIChjdGwubmFtZV9sZW4gPCBVVF9OQU1FU0laRSkKKwkJCQljdGwubmFtZV9sZW4gPSBVVF9OQU1FU0laRTsKKwkJCWlmIChjdGwuZG9tYWluX2xlbiA8IFVUX0hPU1RTSVpFKQorCQkJCWN0bC5kb21haW5fbGVuID0gVVRfSE9TVFNJWkU7CisJCQlicmVhazsKKwkJY2FzZSAnMCc6IGNhc2UgJzEnOiBjYXNlICcyJzogY2FzZSAnMyc6IGNhc2UgJzQnOgorCQljYXNlICc1JzogY2FzZSAnNic6IGNhc2UgJzcnOiBjYXNlICc4JzogY2FzZSAnOSc6CisJCQljdGwubWF4cmVjcyA9IDEwICogY3RsLm1heHJlY3MgKyBjIC0gJzAnOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX1RJTUVfRk9STUFUOgorCQkJY3RsLnRpbWVfZm10ID0gd2hpY2hfdGltZV9mb3JtYXQob3B0YXJnKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJdXNhZ2UoJmN0bCwgc3RkZXJyKTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJaWYgKG9wdGluZCA8IGFyZ2MpCisJCWN0bC5zaG93ID0gYXJndiArIG9wdGluZDsKKworCWlmICghZmlsZXMpIHsKKwkJZmlsZXMgPSB4bWFsbG9jKHNpemVvZihjaGFyICopKTsKKwkJZmlsZXNbbmZpbGVzKytdID0geHN0cmR1cChjdGwubGFzdGIgPyBfUEFUSF9CVE1QIDogX1BBVEhfV1RNUCk7CisJfQorCisJZm9yIChpID0gMDsgaSA8IG5maWxlczsgaSsrKSB7CisJCWdldF9ib290X3RpbWUoJmN0bC5ib290X3RpbWUpOworCQlwcm9jZXNzX3d0bXBfZmlsZSgmY3RsLCBmaWxlc1tpXSk7CisJCWZyZWUoZmlsZXNbaV0pOworCX0KKwlmcmVlKGZpbGVzKTsKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvbGFzdGIuMSBiL2xvZ2luLXV0aWxzL2xhc3RiLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjU3YzAyYQotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL2xhc3RiLjEKQEAgLTAsMCArMSBAQAorLnNvIG1hbjEvbGFzdC4xCmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy9saWJ1c2VyLmMgYi9sb2dpbi11dGlscy9saWJ1c2VyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjExZmFkYwotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL2xpYnVzZXIuYwpAQCAtMCwwICsxLDcyIEBACisvKgorICogICBsaWJ1c2VyLmMgLS0gVXRpbGl6ZSBsaWJ1c2VyIHRvIHNldCBhIHVzZXIgYXR0cmlidXRlCisgKiAgIChjKSAyMDEyIGJ5IENvZHkgTWFsb25leSA8Y21hbG9uZXlAdGhlb3JldGljYWxjaGFvcy5jb20+CisgKgorICogICB0aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZS4gIHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZAorICogICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBnbnUgZ2VuZXJhbCBwdWJsaWMgbGljZW5zZS4KKyAqICAgdGhlcmUgaXMgbm8gd2FycmFudHkuCisgKgorICovCisKKyNpbmNsdWRlICJsaWJ1c2VyLmgiCisKKyNpbmNsdWRlIDxncnAuaD4KKyNpbmNsdWRlIDxsaWJ1c2VyL3VzZXIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgImF1dGguaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisKK3N0YXRpYyBpbnQgYXV0aF9sdShjb25zdCBjaGFyICpzZXJ2aWNlX25hbWUsIHN0cnVjdCBsdV9jb250ZXh0ICpjdHgsIHVpZF90IHVpZCwKKwkJCWNvbnN0IGNoYXIgKnVzZXJuYW1lKTsKKworc3RhdGljIGludCBhdXRoX2x1KGNvbnN0IGNoYXIgKnNlcnZpY2VfbmFtZSwgc3RydWN0IGx1X2NvbnRleHQgKmN0eCwgdWlkX3QgdWlkLAorCQkJY29uc3QgY2hhciAqdXNlcm5hbWUpIHsKKwlpZiAoIWx1X3VzZXNfZWxldmF0ZWRfcHJpdmlsZWdlcyhjdHgpKSB7CisJCS8qIERyb3AgcHJpdmlsZWdlcyAqLworCQlpZiAoc2V0ZWdpZChnZXRnaWQoKSkgPT0gLTEpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJDb3VsZG4ndCBkcm9wIGdyb3VwIHByaXZpbGVnZXMiKSk7CisJCWlmIChzZXRldWlkKGdldHVpZCgpKSA9PSAtMSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oIkNvdWxkbid0IGRyb3AgZ3JvdXAgcHJpdmlsZWdlcyIpKTsKKwkJcmV0dXJuIFRSVUU7CisJfQorCisJcmV0dXJuIGF1dGhfcGFtKHNlcnZpY2VfbmFtZSwgdWlkLCB1c2VybmFtZSk7Cit9CisKK2ludCBzZXRfdmFsdWVfbGlidXNlcihjb25zdCBjaGFyICpzZXJ2aWNlX25hbWUsIGNvbnN0IGNoYXIgKnVzZXJuYW1lLCB1aWRfdCB1aWQsCisJCQljb25zdCBjaGFyICphdHRyLCBjb25zdCBjaGFyICp2YWwpIHsKKwlzdHJ1Y3QgbHVfY29udGV4dCAqY3R4OworCXN0cnVjdCBsdV9lcnJvciAqZXJyb3IgPSBOVUxMOworCXN0cnVjdCBsdV9lbnQgKmVudDsKKworCWN0eCA9IGx1X3N0YXJ0KHVzZXJuYW1lLCBsdV91c2VyLCBOVUxMLCBOVUxMLCBsdV9wcm9tcHRfY29uc29sZV9xdWlldCwKKwkJCU5VTEwsICZlcnJvcik7CisJaWYgKGN0eCA9PSBOVUxMKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibGlidXNlciBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVzLiIpLAorCQkJbHVfc3RyZXJyb3IoZXJyb3IpKTsKKworCWlmICghYXV0aF9sdShzZXJ2aWNlX25hbWUsIGN0eCwgdWlkLCB1c2VybmFtZSkpIHsKKwkJZXJybm8gPSBFQUNDRVM7CisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNoYW5naW5nIHVzZXIgYXR0cmlidXRlIGZhaWxlZCIpKTsKKwl9CisKKwkvKiBMb29rIHVwIHRoZSB1c2VyJ3MgcmVjb3JkLiAqLworCWVudCA9IGx1X2VudF9uZXcoKTsKKwlpZiAobHVfdXNlcl9sb29rdXBfbmFtZShjdHgsIHVzZXJuYW1lLCBlbnQsICZlcnJvcikgPT0gRkFMU0UpIHsKKwkJbHVfZW5kKGN0eCk7CisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1c2VyIFwiJXNcIiBkb2VzIG5vdCBleGlzdC4iKSwgdXNlcm5hbWUpOworCX0KKworCWx1X2VudF9zZXRfc3RyaW5nKGVudCwgYXR0ciwgdmFsKTsKKwlpZiAoIWx1X3VzZXJfbW9kaWZ5KGN0eCwgZW50LCAmZXJyb3IpKSB7CisJCWx1X2VudF9mcmVlKGVudCk7CisJCWx1X2VuZChjdHgpOworCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIiksIGx1X3N0cmVycm9yKGVycm9yKSk7CisJfQorCWx1X2VudF9mcmVlKGVudCk7CisJbHVfZW5kKGN0eCk7CisKKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL2xpYnVzZXIuaCBiL2xvZ2luLXV0aWxzL2xpYnVzZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDU0Yjk5Ci0tLSAvZGV2L251bGwKKysrIGIvbG9naW4tdXRpbHMvbGlidXNlci5oCkBAIC0wLDAgKzEsMTQgQEAKKy8qCisgKiAgIGxpYnVzZXIuaCAtLSBVdGlsaXplIGxpYnVzZXIgdG8gc2V0IGEgdXNlciBhdHRyaWJ1dGUKKyAqICAgKGMpIDIwMTIgYnkgQ29keSBNYWxvbmV5IDxjbWFsb25leUB0aGVvcmV0aWNhbGNoYW9zLmNvbT4KKyAqCisgKiAgIHRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlLiAgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kCisgKiAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIGdudSBnZW5lcmFsIHB1YmxpYyBsaWNlbnNlLgorICogICB0aGVyZSBpcyBubyB3YXJyYW50eS4KKyAqCisgKi8KKworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorCitleHRlcm4gaW50IHNldF92YWx1ZV9saWJ1c2VyKGNvbnN0IGNoYXIgKnNlcnZpY2VfbmFtZSwgY29uc3QgY2hhciAqdXNlcm5hbWUsCisJCQl1aWRfdCB1aWQsIGNvbnN0IGNoYXIgKmF0dHIsIGNvbnN0IGNoYXIgKnZhbCk7CmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy9sb2dpbi4xIGIvbG9naW4tdXRpbHMvbG9naW4uMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNTdlNzRlCi0tLSAvZGV2L251bGwKKysrIGIvbG9naW4tdXRpbHMvbG9naW4uMQpAQCAtMCwwICsxLDMzNSBAQAorLlwiIENvcHlyaWdodCAxOTkzIFJpY2thcmQgRS4gRmFpdGggKGZhaXRoQGNzLnVuYy5lZHUpCisuXCIgTWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLlRIIExPR0lOICIxIiAiSnVuZSAyMDEyIiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQorbG9naW4gXC0gYmVnaW4gc2Vzc2lvbiBvbiB0aGUgc3lzdGVtCisuU0ggU1lOT1BTSVMKKy5CIGxvZ2luCitbCisuQlIgXC1wCitdIFsKKy5CUiBcLWgKKy5JUiBob3N0CitdIFsKKy5CUiBcLUgKK10gWworLkJSIFwtZgorLklSIHVzZXJuYW1lCit8CisuSVIgdXNlcm5hbWUKK10KKy5TSCBERVNDUklQVElPTgorLkIgbG9naW4KK2lzIHVzZWQgd2hlbiBzaWduaW5nIG9udG8gYSBzeXN0ZW0uICBJZiBubyBhcmd1bWVudCBpcyBnaXZlbiwKKy5CIGxvZ2luCitwcm9tcHRzIGZvciB0aGUgdXNlcm5hbWUuCisuUFAKK1RoZSB1c2VyIGlzIHRoZW4gcHJvbXB0ZWQgZm9yIGEgcGFzc3dvcmQsIHdoZXJlIGFwcHJvcHJpYXRlLiAgRWNob2luZworaXMgZGlzYWJsZWQgdG8gcHJldmVudCByZXZlYWxpbmcgdGhlIHBhc3N3b3JkLiAgT25seSBhIHNtYWxsIG51bWJlcgorb2YgcGFzc3dvcmQgZmFpbHVyZXMgYXJlIHBlcm1pdHRlZCBiZWZvcmUKKy5CIGxvZ2luCitleGl0cyBhbmQgdGhlIGNvbW11bmljYXRpb25zIGxpbmsgaXMgc2V2ZXJlZC4KKy5QUAorSWYgcGFzc3dvcmQgYWdpbmcgaGFzIGJlZW4gZW5hYmxlZCBmb3IgdGhlIGFjY291bnQsIHRoZSB1c2VyIG1heSBiZQorcHJvbXB0ZWQgZm9yIGEgbmV3IHBhc3N3b3JkIGJlZm9yZSBwcm9jZWVkaW5nLiAgSGUgd2lsbCBiZSBmb3JjZWQgdG8KK3Byb3ZpZGUgaGlzIG9sZCBwYXNzd29yZCBhbmQgdGhlIG5ldyBwYXNzd29yZCBiZWZvcmUgY29udGludWluZy4KK1BsZWFzZSByZWZlciB0bworLkJSIHBhc3N3ZCAoMSkKK2ZvciBtb3JlIGluZm9ybWF0aW9uLgorLlBQCitUaGUgdXNlciBhbmQgZ3JvdXAgSUQgd2lsbCBiZSBzZXQgYWNjb3JkaW5nIHRvIHRoZWlyIHZhbHVlcyBpbiB0aGUKKy5JIC9ldGMvcGFzc3dkCitmaWxlLiAgVGhlcmUgaXMgb25lIGV4Y2VwdGlvbiBpZiB0aGUgdXNlciBJRCBpcyB6ZXJvOiBpbiB0aGlzIGNhc2UsCitvbmx5IHRoZSBwcmltYXJ5IGdyb3VwIElEIG9mIHRoZSBhY2NvdW50IGlzIHNldC4gIFRoaXMgc2hvdWxkIGFsbG93Cit0aGUgc3lzdGVtIGFkbWluaXN0cmF0b3IgdG8gbG9naW4gZXZlbiBpbiBjYXNlIG9mIG5ldHdvcmsgcHJvYmxlbXMuCitUaGUgdmFsdWUgZm9yCisuQlIgJEhPTUUgLAorLkJSICRVU0VSICwKKy5CUiAkU0hFTEwgLAorLkJSICRQQVRIICwKKy5CUiAkTE9HTkFNRSAsCithbmQKKy5CICRNQUlMCithcmUgc2V0IGFjY29yZGluZyB0byB0aGUgYXBwcm9wcmlhdGUgZmllbGRzIGluIHRoZSBwYXNzd29yZCBlbnRyeS4KKy5CICRQQVRICitkZWZhdWx0cyB0bworLkkgL3Vzclw6L2xvY2FsXDovYmluOlw6L2JpbjpcOi91c3JcOi9iaW4KK2ZvciBub3JtYWwgdXNlcnMsIGFuZCB0bworLkkgL3Vzclw6L2xvY2FsXDovc2JpbjpcOi91c3JcOi9sb2NhbFw6L2JpbjpcOi9zYmluOlw6L2JpbjpcOi91c3JcOi9zYmluOlw6L3Vzclw6L2JpbgorZm9yIHJvb3QsIGlmIG5vdCBvdGhlcndpc2UgY29uZmlndXJlZC4KKy5QCitUaGUgZW52aXJvbm1lbnQgdmFyaWFibGUKKy5CICRURVJNCit3aWxsIGJlIHByZXNlcnZlZCwgaWYgaXQgZXhpc3RzIChvdGhlciBlbnZpcm9ubWVudCB2YXJpYWJsZXMgYXJlCitwcmVzZXJ2ZWQgaWYgdGhlCisuQiBcLXAKK29wdGlvbiBpcyBnaXZlbiksIGVsc2UgaXQgd2lsbCBiZSBpbml0aWFsaXplZCB0byB0aGUgdGVybWluYWwgdHlwZSBvbiB5b3VyIHR0eS4KKy5QUAorVGhlbiB0aGUgdXNlcidzIHNoZWxsIGlzIHN0YXJ0ZWQuICBJZiBubyBzaGVsbCBpcyBzcGVjaWZpZWQgZm9yIHRoZQordXNlciBpbgorLklSIC9ldGNcOi9wYXNzd2QgLAordGhlbgorLkkgL2Jpblw6L3NoCitpcyB1c2VkLiAgSWYgdGhlcmUgaXMgbm8gZGlyZWN0b3J5IHNwZWNpZmllZCBpbgorLklSIC9ldGNcOi9wYXNzd2QgLAordGhlbgorLkkgLworaXMgdXNlZCAodGhlIGhvbWUgZGlyZWN0b3J5IGlzIGNoZWNrZWQgZm9yIHRoZQorLkkgLmh1c2hsb2dpbgorZmlsZSBkZXNjcmliZWQgYmVsb3cpLgorLlBQCitJZiB0aGUgZmlsZQorLkkgLmh1c2hsb2dpbgorZXhpc3RzLCB0aGVuIGEgInF1aWV0IiBsb2dpbiBpcyBwZXJmb3JtZWQgKHRoaXMgZGlzYWJsZXMgdGhlIGNoZWNraW5nCitvZiBtYWlsIGFuZCB0aGUgcHJpbnRpbmcgb2YgdGhlIGxhc3QgbG9naW4gdGltZSBhbmQgbWVzc2FnZSBvZiB0aGUKK2RheSkuICBPdGhlcndpc2UsIGlmCisuSSAvdmFyXDovbG9nXDovbGFzdGxvZworZXhpc3RzLCB0aGUgbGFzdCBsb2dpbiB0aW1lIGlzIHByaW50ZWQgKGFuZCB0aGUgY3VycmVudCBsb2dpbiBpcworcmVjb3JkZWQpLgorLlNIIE9QVElPTlMKKy5UUAorLkIgXC1wCitVc2VkIGJ5CisuQlIgZ2V0dHkgKDgpCit0byB0ZWxsCisuQiBsb2dpbgorbm90IHRvIGRlc3Ryb3kgdGhlIGVudmlyb25tZW50LgorLlRQCisuQiBcLWYKK1VzZWQgdG8gc2tpcCBhIHNlY29uZCBsb2dpbiBhdXRoZW50aWNhdGlvbi4gIFRoaXMgc3BlY2lmaWNhbGx5IGRvZXMKKy5CIG5vdAord29yayBmb3Igcm9vdCwgYW5kIGRvZXMgbm90IGFwcGVhciB0byB3b3JrIHdlbGwgdW5kZXIgTGludXguCisuVFAKKy5CIFwtaAorVXNlZCBieSBvdGhlciBzZXJ2ZXJzIChpLmUuLAorLkJSIHRlbG5ldGQgKDgpKQordG8gcGFzcyB0aGUgbmFtZSBvZiB0aGUgcmVtb3RlIGhvc3QgdG8KKy5CIGxvZ2luCitzbyB0aGF0IGl0IG1heSBiZSBwbGFjZWQgaW4gdXRtcCBhbmQgd3RtcC4gIE9ubHkgdGhlIHN1cGVydXNlciBtYXkKK3VzZSB0aGlzIG9wdGlvbi4KKy5JUAorTm90ZSB0aGF0IHRoZQorLkIgXC1oCitvcHRpb24gaGFzIGltcGFjdCBvbiB0aGUKKy5CIFBBTSBzZXJ2aWNlCisuQlIgbmFtZSAuCitUaGUgc3RhbmRhcmQgc2VydmljZSBuYW1lIGlzCisuSVIgbG9naW4gLAord2l0aCB0aGUKKy5CIFwtaAorb3B0aW9uIHRoZSBuYW1lIGlzCisuSVIgcmVtb3RlIC4KK0l0IGlzIG5lY2Vzc2FyeSB0byBjcmVhdGUgcHJvcGVyIFBBTSBjb25maWcgZmlsZXMgKGUuZy4KKy5JIC9ldGNcOi9wYW0uZFw6L2xvZ2luCithbmQKKy5JUiAvZXRjXDovcGFtLmRcOi9yZW1vdGUgKS4KKy5UUAorLkIgXC1ICitVc2VkIGJ5IG90aGVyIHNlcnZlcnMgKGkuZS4sCisuQlIgdGVsbmV0ZCAoOCkpCit0byB0ZWxsCisuQiBsb2dpbgordGhhdCBwcmludGluZyB0aGUgaG9zdG5hbWUgc2hvdWxkIGJlIHN1cHByZXNzZWQgaW4gdGhlIGxvZ2luOiBwcm9tcHQuCisuVFAKKy5CIFwtVgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlNIIENPTkZJRyBGSUxFIElURU1TCisuQiBsb2dpbgorcmVhZHMgdGhlCisuSVIgL2V0Y1w6L2xvZ2luLmRlZnMgKDUpCitjb25maWd1cmF0aW9uIGZpbGUuICBOb3RlIHRoYXQgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZSBjb3VsZCBiZQorZGlzdHJpYnV0ZWQgd2l0aCBhbm90aGVyIHBhY2thZ2UgKGUuZy4gc2hhZG93LXV0aWxzKS4gIFRoZSBmb2xsb3dpbmcKK2NvbmZpZ3VyYXRpb24gaXRlbXMgYXJlIHJlbGV2YW50IGZvcgorLkJSIGxvZ2luICgxKToKKy5QUAorLkIgTU9URF9GSUxFCisoc3RyaW5nKQorLlJTIDQKK0lmIGRlZmluZWQsIGEgIjoiIGRlbGltaXRlZCBsaXN0IG9mICJtZXNzYWdlIG9mIHRoZSBkYXkiIGZpbGVzIHRvIGJlCitkaXNwbGF5ZWQgdXBvbiBsb2dpbi4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzCisuSVIgL2V0Y1w6L21vdGQgLgorSWYgdGhlCisuQiBNT1REX0ZJTEUKK2l0ZW0gaXMgZW1wdHkgb3IgYSBxdWlldCBsb2dpbiBpcyBlbmFibGVkLCB0aGVuIHRoZSBtZXNzYWdlIG9mIHRoZSBkYXkKK2lzIG5vdCBkaXNwbGF5ZWQuICBOb3RlIHRoYXQgdGhlIHNhbWUgZnVuY3Rpb25hbGl0eSBpcyBhbHNvIHByb3ZpZGVkCitieQorLkJSIHBhbV9tb3RkICg4KQorUEFNIG1vZHVsZS4KKy5SRQorLlBQCisuQiBMT0dJTl9USU1FT1VUCisobnVtYmVyKQorLlJTIDQKK01heCB0aW1lIGluIHNlY29uZHMgZm9yIGxvZ2luLiAgVGhlIGRlZmF1bHQgdmFsdWUgaXMKKy5JUiA2MCAuCisuUkUKKy5QUAorLkIgTE9HSU5fUkVUUklFUworKG51bWJlcikKKy5SUyA0CitNYXhpbXVtIG51bWJlciBvZiBsb2dpbiByZXRyaWVzIGluIGNhc2Ugb2YgYSBiYWQgcGFzc3dvcmQuICBUaGUgZGVmYXVsdAordmFsdWUgaXMKKy5JUiAzIC4KKy5SRQorLlBQCisuQiBGQUlMX0RFTEFZCisobnVtYmVyKQorLlJTIDQKK0RlbGF5IGluIHNlY29uZHMgYmVmb3JlIGJlaW5nIGFsbG93ZWQgYW5vdGhlciB0aHJlZSB0cmllcyBhZnRlciBhCitsb2dpbiBmYWlsdXJlLiAgVGhlIGRlZmF1bHQgdmFsdWUgaXMKKy5JUiA1IC4KKy5SRQorLlBQCisuQiBUVFlQRVJNCisoc3RyaW5nKQorLlJTIDQKK1RoZSB0ZXJtaW5hbCBwZXJtaXNzaW9ucy4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzCisuSVIgMDYwMAorb3IKKy5JUiAwNjIwCitpZiB0dHkgZ3JvdXAgaXMgdXNlZC4KKy5SRQorLlBQCisuQiBUVFlHUk9VUAorKHN0cmluZykKKy5SUyA0CitUaGUgbG9naW4gdHR5IHdpbGwgYmUgb3duZWQgYnkgdGhlCisuQlIgVFRZR1JPVVAgLgorVGhlIGRlZmF1bHQgdmFsdWUgaXMKKy5JUiB0dHkgLgorSWYgdGhlCisuQiBUVFlHUk9VUAorZG9lcyBub3QgZXhpc3QsIHRoZW4gdGhlIG93bmVyc2hpcCBvZiB0aGUgdGVybWluYWwgaXMgc2V0IHRvIHRoZQordXNlclwncyBwcmltYXJ5IGdyb3VwLgorLlBQCitUaGUKKy5CIFRUWUdST1VQCitjYW4gYmUgZWl0aGVyIHRoZSBuYW1lIG9mIGEgZ3JvdXAgb3IgYSBudW1lcmljIGdyb3VwIGlkZW50aWZpZXIuCisuUkUKKy5QUAorLkIgSFVTSExPR0lOX0ZJTEUKKyhzdHJpbmcpCisuUlMgNAorSWYgZGVmaW5lZCwgdGhpcyBmaWxlIGNhbiBpbmhpYml0IGFsbCB0aGUgdXN1YWwgY2hhdHRlciBkdXJpbmcgdGhlCitsb2dpbiBzZXF1ZW5jZS4gIElmIGEgZnVsbCBwYXRobmFtZSAoZS5nLgorLklSIC9ldGNcOi9odXNobG9naW5zICkKK2lzIHNwZWNpZmllZCwgdGhlbiBodXNoZWQgbW9kZSB3aWxsIGJlIGVuYWJsZWQgaWYgdGhlIHVzZXJcJ3MgbmFtZSBvcgorc2hlbGwgYXJlIGZvdW5kIGluIHRoZSBmaWxlLiAgSWYgdGhpcyBnbG9iYWwgaHVzaCBsb2dpbiBmaWxlIGlzIGVtcHR5Cit0aGVuIHRoZSBodXNoZWQgbW9kZSB3aWxsIGJlIGVuYWJsZWQgZm9yIGFsbCB1c2Vycy4KKy5QUAorSWYgYSBmdWxsIHBhdGhuYW1lIGlzIG5vdCBzcGVjaWZpZWQsIHRoZW4gaHVzaGVkIG1vZGUgd2lsbCBiZSBlbmFibGVkCitpZiB0aGUgZmlsZSBleGlzdHMgaW4gdGhlIHVzZXJcJ3MgaG9tZSBkaXJlY3RvcnkuCisuUFAKK1RoZSBkZWZhdWx0IGlzIHRvIGNoZWNrCisuSSAvZXRjXDovaHVzaGxvZ2lucworYW5kIGlmIGl0IGRvZXMgbm90IGV4aXN0IHRoZW4KKy5JIH4vLmh1c2hsb2dpbgorLlBQCitJZiB0aGUKKy5CIEhVU0hMT0dJTl9GSUxFCitpdGVtIGlzIGVtcHR5LCB0aGVuIGFsbCB0aGUgY2hlY2tzIGFyZSBkaXNhYmxlZC4KKy5SRQorLlBQCisuQiBERUZBVUxUX0hPTUUKKyhib29sZWFuKQorLlJTIDQKK0luZGljYXRlIGlmIGxvZ2luIGlzIGFsbG93ZWQgaWYgd2UgY2FuIG5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvIHRoZQoraG9tZSBkaXJlY3RvcnkuICBJZiBzZXQgdG8KKy5JUiB5ZXMgLAordGhlIHVzZXIgd2lsbCBsb2dpbiBpbiB0aGUgcm9vdCAoLykgZGlyZWN0b3J5IGlmIGl0IGlzIG5vdCBwb3NzaWJsZQordG8gY2hhbmdlIGRpcmVjdG9yeSB0byBoZXIgaG9tZS4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzCisuSVIgeWVzIC4KKy5SRQorLlBQCisuQiBMT0dfVU5LRkFJTF9FTkFCCisoYm9vbGVhbikKKy5SUyA0CitFbmFibGUgZGlzcGxheSBvZiB1bmtub3duIHVzZXJuYW1lcyB3aGVuIGxvZ2luIGZhaWx1cmVzIGFyZSByZWNvcmRlZC4KK1RoZSBkZWZhdWx0IHZhbHVlIGlzCisuSVIgbm8gLgorLlBQCitOb3RlIHRoYXQgbG9nZ2luZyB1bmtub3duIHVzZXJuYW1lcyBtYXkgYmUgYSBzZWN1cml0eSBpc3N1ZSBpZiBhCit1c2VyIGVudGVycyBoZXIgcGFzc3dvcmQgaW5zdGVhZCBvZiBoZXIgbG9naW4gbmFtZS4KKy5SRQorLlBQCisuQiBFTlZfUEFUSAorKHN0cmluZykKKy5SUyA0CitJZiBzZXQsIGl0IHdpbGwgYmUgdXNlZCB0byBkZWZpbmUgdGhlIFBBVEggZW52aXJvbm1lbnQgdmFyaWFibGUgd2hlbgorYSByZWd1bGFyIHVzZXIgbG9ncyBpbi4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzCisuSSAvdXNyXDovbG9jYWxcOi9iaW46XDovYmluOlw6L3Vzclw6L2JpbgorLlJFCisuUFAKKy5CIEVOVl9ST09UUEFUSAorKHN0cmluZykKKy5icgorLkIgRU5WX1NVUEFUSAorKHN0cmluZykKKy5SUyA0CitJZiBzZXQsIGl0IHdpbGwgYmUgdXNlZCB0byBkZWZpbmUgdGhlIFBBVEggZW52aXJvbm1lbnQgdmFyaWFibGUgd2hlbgordGhlIHN1cGVydXNlciBsb2dzIGluLiAgVGhlIGRlZmF1bHQgdmFsdWUgaXMKKy5JIC91c3JcOi9sb2NhbFw6L3NiaW46XDovdXNyXDovbG9jYWxcOi9iaW46XDovc2JpbjpcOi9iaW46XDovdXNyXDovc2JpbjpcOi91c3JcOi9iaW4KKy5SRQorLlNIIEZJTEVTCisubmYKKy5JIC92YXIvcnVuL3V0bXAKKy5JIC92YXIvbG9nL3d0bXAKKy5JIC92YXIvbG9nL2xhc3Rsb2cKKy5JIC92YXIvc3Bvb2wvbWFpbC8qCisuSSAvZXRjL21vdGQKKy5JIC9ldGMvcGFzc3dkCisuSSAvZXRjL25vbG9naW4KKy5JIC9ldGMvcGFtLmQvbG9naW4KKy5JIC9ldGMvcGFtLmQvcmVtb3RlCisuSSAvZXRjL2h1c2hsb2dpbnMKKy5JIC5odXNobG9naW4KKy5maQorLlNIICJTRUUgQUxTTyIKKy5CUiBtYWlsICgxKSwKKy5CUiBwYXNzd2QgKDEpLAorLkJSIHBhc3N3ZCAoNSksCisuQlIgZW52aXJvbiAoNyksCisuQlIgZ2V0dHkgKDgpLAorLkJSIGluaXQgKDgpLAorLkJSIHNodXRkb3duICg4KQorLlNIIEJVR1MKK1RoZSB1bmRvY3VtZW50ZWQgQlNECisuQiBcLXIKK29wdGlvbiBpcyBub3Qgc3VwcG9ydGVkLiAgVGhpcyBtYXkgYmUgcmVxdWlyZWQgYnkgc29tZQorLkJSIHJsb2dpbmQgKDgpCitwcm9ncmFtcy4KKy5QUAorQSByZWN1cnNpdmUgbG9naW4sIGFzIHVzZWQgdG8gYmUgcG9zc2libGUgaW4gdGhlIGdvb2Qgb2xkIGRheXMsIG5vCitsb25nZXIgd29ya3M7IGZvciBtb3N0IHB1cnBvc2VzCisuQlIgc3UgKDEpCitpcyBhIHNhdGlzZmFjdG9yeSBzdWJzdGl0dXRlLiAgSW5kZWVkLCBmb3Igc2VjdXJpdHkgcmVhc29ucywgbG9naW4KK2RvZXMgYSB2aGFuZ3VwKCkgc3lzdGVtIGNhbGwgdG8gcmVtb3ZlIGFueSBwb3NzaWJsZSBsaXN0ZW5pbmcKK3Byb2Nlc3NlcyBvbiB0aGUgdHR5LiAgVGhpcyBpcyB0byBhdm9pZCBwYXNzd29yZCBzbmlmZmluZy4gIElmIG9uZQordXNlcyB0aGUgY29tbWFuZAorLkJSIGxvZ2luICwKK3RoZW4gdGhlIHN1cnJvdW5kaW5nIHNoZWxsIGdldHMga2lsbGVkIGJ5IHZoYW5ndXAoKSBiZWNhdXNlIGl0J3Mgbm8KK2xvbmdlciB0aGUgdHJ1ZSBvd25lciBvZiB0aGUgdHR5LiAgVGhpcyBjYW4gYmUgYXZvaWRlZCBieSB1c2luZworLkIgZXhlYyBsb2dpbgoraW4gYSB0b3AtbGV2ZWwgc2hlbGwgb3IgeHRlcm0uCisuU0ggQVVUSE9SCitEZXJpdmVkIGZyb20gQlNEIGxvZ2luIDUuNDAgKDUvOS84OSkgYnkKKy5NVCBnbGFkQFw6ZGFpbWkuXDpkaworTWljaGFlbCBHbGFkCisuTUUKK2ZvciBIUC1VWAorLmJyCitQb3J0ZWQgdG8gTGludXggMC4xMjoKKy5NVCBwb2VAXDpkYWltaS5cOmFhdS5cOmRrCitQZXRlciBPcmJhZWsKKy5NRQorLmJyCitSZXdyaXR0ZW4gdG8gYSBQQU0tb25seSB2ZXJzaW9uIGJ5CisuTVQga3pha0BcOnJlZGhhdC5cOmNvbQorS2FyZWwgWmFrCisuTUUKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBsb2dpbiBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMKK2F2YWlsYWJsZSBmcm9tCisuVVIgZnRwOlw6Ly9mdHAua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy9sb2dpbi5jIGIvbG9naW4tdXRpbHMvbG9naW4uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMzUwZmMzCi0tLSAvZGV2L251bGwKKysrIGIvbG9naW4tdXRpbHMvbG9naW4uYwpAQCAtMCwwICsxLDEzNzIgQEAKKy8qCisgKiBsb2dpbigxKQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkZXJpdmVkIGZyb20gNC4zIEJTRCBzb2Z0d2FyZSBhbmQgaXMgc3ViamVjdCB0byB0aGUKKyAqIGNvcHlyaWdodCBub3RpY2UgYmVsb3cuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDExIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICogUmV3cml0dGVuIHRvIFBBTS1vbmx5IHZlcnNpb24uCisgKgorICogTWljaGFlbCBHbGFkIChnbGFkQGRhaW1pLmRrKQorICogQ29tcHV0ZXIgU2NpZW5jZSBEZXBhcnRtZW50LCBBYXJodXMgVW5pdmVyc2l0eSwgRGVubWFyaworICogMTk5MC0wNy0wNAorICoKKyAqIENvcHlyaWdodCAoYykgMTk4MCwgMTk4NywgMTk4OCBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zIGFyZSBwZXJtaXR0ZWQKKyAqIHByb3ZpZGVkIHRoYXQgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGFyYWdyYXBoIGFyZQorICogZHVwbGljYXRlZCBpbiBhbGwgc3VjaCBmb3JtcyBhbmQgdGhhdCBhbnkgZG9jdW1lbnRhdGlvbiwKKyAqIGFkdmVydGlzaW5nIG1hdGVyaWFscywgYW5kIG90aGVyIG1hdGVyaWFscyByZWxhdGVkIHRvIHN1Y2gKKyAqIGRpc3RyaWJ1dGlvbiBhbmQgdXNlIGFja25vd2xlZGdlIHRoYXQgdGhlIHNvZnR3YXJlIHdhcyBkZXZlbG9wZWQKKyAqIGJ5IHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEsIEJlcmtlbGV5LiAgVGhlIG5hbWUgb2YgdGhlCisgKiBVbml2ZXJzaXR5IG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIFdJVEhPVVQgQU5ZIEVYUFJFU1MgT1IKKyAqIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBXSVRIT1VUIExJTUlUQVRJT04sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5USUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuCisgKi8KKyNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8bWVtb3J5Lmg+CisjaW5jbHVkZSA8dGltZS5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNpbmNsdWRlIDxzeXMvcmVzb3VyY2UuaD4KKyNpbmNsdWRlIDxzeXMvZmlsZS5oPgorI2luY2x1ZGUgPHRlcm1pb3MuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyNpbmNsdWRlIDxzeXMvd2FpdC5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Z3JwLmg+CisjaW5jbHVkZSA8cHdkLmg+CisjaW5jbHVkZSA8dXRtcC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN5cy9zeXNsb2cuaD4KKyNpZmRlZiBIQVZFX0xJTlVYX01BSk9SX0gKKyMgaW5jbHVkZSA8bGludXgvbWFqb3IuaD4KKyNlbmRpZgorI2luY2x1ZGUgPG5ldGRiLmg+CisjaW5jbHVkZSA8c2VjdXJpdHkvcGFtX2FwcGwuaD4KKyNpZmRlZiBIQVZFX1NFQ1VSSVRZX1BBTV9NSVNDX0gKKyMgaW5jbHVkZSA8c2VjdXJpdHkvcGFtX21pc2MuaD4KKyNlbGlmIGRlZmluZWQoSEFWRV9TRUNVUklUWV9PUEVOUEFNX0gpCisjIGluY2x1ZGUgPHNlY3VyaXR5L29wZW5wYW0uaD4KKyNlbmRpZgorI2luY2x1ZGUgPHN5cy9zZW5kZmlsZS5oPgorCisjaWZkZWYgSEFWRV9MSUJBVURJVAorIyBpbmNsdWRlIDxsaWJhdWRpdC5oPgorI2VuZGlmCisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAic2V0cHJvY3RpdGxlLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJlbnYuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJhbGwtaW8uaCIKKyNpbmNsdWRlICJmaWxldXRpbHMuaCIKKyNpbmNsdWRlICJ0dHl1dGlscy5oIgorCisjaW5jbHVkZSAibG9naW5kZWZzLmgiCisKKyNkZWZpbmUgaXNfcGFtX2ZhaWx1cmUoX3JjKQkoKF9yYykgIT0gUEFNX1NVQ0NFU1MpCisKKyNkZWZpbmUgTE9HSU5fTUFYX1RSSUVTICAgICAgICAzCisjZGVmaW5lIExPR0lOX0VYSVRfVElNRU9VVCAgICAgNQorI2RlZmluZSBMT0dJTl9USU1FT1VUICAgICAgICAgIDYwCisKKyNpZmRlZiBVU0VfVFRZX0dST1VQCisjIGRlZmluZSBUVFlfTU9ERSAwNjIwCisjZWxzZQorIyBkZWZpbmUgVFRZX01PREUgMDYwMAorI2VuZGlmCisKKyNkZWZpbmUJVFRZR1JQTkFNRQkidHR5IgkvKiBuYW1lIG9mIGdyb3VwIHRvIG93biB0dHlzICovCisjZGVmaW5lIFZDU19QQVRIX01BWAk2NAorCisvKgorICogTG9naW4gY29udHJvbCBzdHJ1Y3QKKyAqLworc3RydWN0IGxvZ2luX2NvbnRleHQgeworCWNvbnN0IGNoYXIJKnR0eV9wYXRoOwkvKiB0dHluYW1lKCkgcmV0dXJuIHZhbHVlICovCisJY29uc3QgY2hhcgkqdHR5X25hbWU7CS8qIHR0eV9wYXRoIHdpdGhvdXQgL2RldiBwcmVmaXggKi8KKwljb25zdCBjaGFyCSp0dHlfbnVtYmVyOwkvKiBlbmQgb2YgdGhlIHR0eV9wYXRoICovCisJbW9kZV90CQl0dHlfbW9kZTsJLyogY2htb2QoKSBtb2RlICovCisKKwljaGFyCQkqdXNlcm5hbWU7CS8qIGZyb20gY29tbWFuZCBsaW5lIG9yIFBBTSAqLworCisJc3RydWN0IHBhc3N3ZAkqcHdkOwkJLyogdXNlciBpbmZvICovCisKKwlwYW1faGFuZGxlX3QJKnBhbWg7CQkvKiBQQU0gaGFuZGxlciAqLworCXN0cnVjdCBwYW1fY29udgljb252OwkJLyogUEFNIGNvbnZlcnNhdGlvbiAqLworCisjaWZkZWYgTE9HSU5fQ0hPV05fVkNTCisJY2hhcgkJdmNzbltWQ1NfUEFUSF9NQVhdOwkvKiB2aXJ0dWFsIGNvbnNvbGUgbmFtZSAqLworCWNoYXIJCXZjc2FuW1ZDU19QQVRIX01BWF07CisjZW5kaWYKKworCWNoYXIJCSp0aGlzaG9zdDsJCS8qIHRoaXMgbWFjaGluZSAqLworCWNoYXIJCSp0aGlzZG9tYWluOwkJLyogdGhpcyBtYWNoaW5lJ3MgZG9tYWluICovCisJY2hhcgkJKmhvc3RuYW1lOwkJLyogcmVtb3RlIG1hY2hpbmUgKi8KKwljaGFyCQlob3N0YWRkcmVzc1sxNl07CS8qIHJlbW90ZSBhZGRyZXNzICovCisKKwlwaWRfdAkJcGlkOworCWludAkJcXVpZXQ7CQkvKiAxIGlmIGh1c2ggZmlsZSBleGlzdHMgKi8KKworCXVuc2lnbmVkIGludAlyZW1vdGU6MSwJLyogbG9naW4gLWggKi8KKwkJCW5vaG9zdDoxLAkvKiBsb2dpbiAtSCAqLworCQkJbm9hdXRoOjEsCS8qIGxvZ2luIC1mICovCisJCQlrZWVwX2VudjoxOwkvKiBsb2dpbiAtcCAqLworfTsKKworLyoKKyAqIFRoaXMgYm91bmRzIHRoZSB0aW1lIGdpdmVuIHRvIGxvZ2luLiAgTm90IGEgZGVmaW5lLCBzbyBpdCBjYW4KKyAqIGJlIHBhdGNoZWQgb24gbWFjaGluZXMgd2hlcmUgaXQncyB0b28gc21hbGwuCisgKi8KK3N0YXRpYyB1bnNpZ25lZCBpbnQgdGltZW91dCA9IExPR0lOX1RJTUVPVVQ7CitzdGF0aWMgaW50IGNoaWxkX3BpZCA9IDA7CitzdGF0aWMgdm9sYXRpbGUgaW50IGdvdF9zaWcgPSAwOworCisjaWZkZWYgTE9HSU5fQ0hPV05fVkNTCisvKiB0cnVlIGlmIHRoZSBmaWxlZGVzY3JpcHRvciBmZCBpcyBhIGNvbnNvbGUgdHR5LCB2ZXJ5IExpbnV4IHNwZWNpZmljICovCitzdGF0aWMgaW50IGlzX2NvbnNvbGV0dHkoaW50IGZkKQoreworCXN0cnVjdCBzdGF0IHN0YjsKKworCWlmICgoZnN0YXQoZmQsICZzdGIpID49IDApCisJICAgICYmIChtYWpvcihzdGIuc3RfcmRldikgPT0gVFRZX01BSk9SKQorCSAgICAmJiAobWlub3Ioc3RiLnN0X3JkZXYpIDwgNjQpKSB7CisJCXJldHVybiAxOworCX0KKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCisKKy8qCisgKiBSb2JlcnQgQW1icm9zZSB3cml0ZXM6CisgKiBBIGNvdXBsZSBvZiBteSB1c2VycyBoYXZlIGEgcHJvYmxlbSB3aXRoIGxvZ2luIHByb2Nlc3NlcyBoYW5naW5nIGFyb3VuZAorICogc29ha2luZyB1cCBwdHMncy4gIFdoYXQgdGhleSBzZWVtIHRvIGh1bmcgdXAgb24gaXMgdHJ5aW5nIHRvIHdyaXRlIG91dCB0aGUKKyAqIG1lc3NhZ2UgJ0xvZ2luIHRpbWVkIG91dCBhZnRlciAlZCBzZWNvbmRzJyB3aGVuIHRoZSBjb25uZWN0aW9uIGhhcyBhbHJlYWR5CisgKiBiZWVuIGRyb3BwZWQuCisgKiBXaGF0IEkgZGlkIHdhcyBhZGQgYSBzZWNvbmQgdGltZW91dCB3aGlsZSB0cnlpbmcgdG8gd3JpdGUgdGhlIG1lc3NhZ2UsIHNvCisgKiB0aGUgcHJvY2VzcyBqdXN0IGV4aXRzIGlmIHRoZSBzZWNvbmQgdGltZW91dCBleHBpcmVzLgorICovCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkKK3RpbWVkb3V0MihpbnQgc2lnIF9fYXR0cmlidXRlX18gKChfX3VudXNlZF9fKSkpCit7CisJc3RydWN0IHRlcm1pb3MgdGk7CisKKwkvKiByZXNldCBlY2hvICovCisJdGNnZXRhdHRyKDAsICZ0aSk7CisJdGkuY19sZmxhZyB8PSBFQ0hPOworCXRjc2V0YXR0cigwLCBUQ1NBTk9XLCAmdGkpOworCWV4aXQoRVhJVF9TVUNDRVNTKTsJLyogJSUgKi8KK30KKworc3RhdGljIHZvaWQgdGltZWRvdXQoaW50IHNpZyBfX2F0dHJpYnV0ZV9fICgoX191bnVzZWRfXykpKQoreworCXNpZ25hbChTSUdBTFJNLCB0aW1lZG91dDIpOworCWFsYXJtKDEwKTsKKwkvKiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAldSBpcyA2MC4gKi8KKwl3YXJueChfKCJ0aW1lZCBvdXQgYWZ0ZXIgJXUgc2Vjb25kcyIpLCB0aW1lb3V0KTsKKwlzaWduYWwoU0lHQUxSTSwgU0lHX0lHTik7CisJYWxhcm0oMCk7CisJdGltZWRvdXQyKDApOworfQorCisvKgorICogVGhpcyBoYW5kbGVyIGFsbG93cyB0byBpbmZvcm0gYSBzaGVsbCBhYm91dCBzaWduYWxzIHRvIGxvZ2luLiBJZiB5b3UgaGF2ZQorICogKHJvb3QpIHBlcm1pc3Npb25zLCB5b3UgY2FuIGtpbGwgYWxsIGxvZ2luIGNoaWxkcmVuIGJ5IG9uZSBzaWduYWwgdG8gdGhlCisgKiBsb2dpbiBwcm9jZXNzLgorICoKKyAqIEFsc28sIGEgcGFyZW50IHdobyBpcyBzZXNzaW9uIGxlYWRlciBpcyBhYmxlIChiZWZvcmUgc2V0c2lkKCkgaW4gdGhlIGNoaWxkKQorICogdG8gaW5mb3JtIHRoZSBjaGlsZCB3aGVuIHRoZSBjb250cm9sbGluZyB0dHkgZ29lcyBhd2F5IChlLmcuIG1vZGVtIGhhbmd1cCkuCisgKi8KK3N0YXRpYyB2b2lkIHNpZ19oYW5kbGVyKGludCBzaWduYWwpCit7CisJaWYgKGNoaWxkX3BpZCkKKwkJa2lsbCgtY2hpbGRfcGlkLCBzaWduYWwpOworCWVsc2UKKwkJZ290X3NpZyA9IDE7CisJaWYgKHNpZ25hbCA9PSBTSUdURVJNKQorCQlraWxsKC1jaGlsZF9waWQsIFNJR0hVUCk7CS8qIGJlY2F1c2UgdGhlIHNoZWxsIG9mdGVuIGlnbm9yZXMgU0lHVEVSTSAqLworfQorCisvKgorICogTGV0IHVzIGRlbGF5IGFsbCBleGl0KCkgY2FsbHMgd2hlbiB0aGUgdXNlciBpcyBub3QgYXV0aGVudGljYXRlZAorICogb3IgdGhlIHNlc3Npb24gbm90IGZ1bGx5IGluaXRpYWxpemVkIChsb2dpbnBhbV9zZXNzaW9uKCkpLgorICovCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgc2xlZXBleGl0KGludCBldmFsKQoreworCXNsZWVwKCh1bnNpZ25lZCBpbnQpZ2V0bG9naW5kZWZzX251bSgiRkFJTF9ERUxBWSIsIExPR0lOX0VYSVRfVElNRU9VVCkpOworCWV4aXQoZXZhbCk7Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyICpnZXRfdGhpc2hvc3Qoc3RydWN0IGxvZ2luX2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqKmRvbWFpbikKK3sKKwlpZiAoIWN4dC0+dGhpc2hvc3QpIHsKKwkJY3h0LT50aGlzaG9zdCA9IHhnZXRob3N0bmFtZSgpOworCQlpZiAoIWN4dC0+dGhpc2hvc3QpIHsKKwkJCWlmIChkb21haW4pCisJCQkJKmRvbWFpbiA9IE5VTEw7CisJCQlyZXR1cm4gTlVMTDsKKwkJfQorCQljeHQtPnRoaXNkb21haW4gPSBzdHJjaHIoY3h0LT50aGlzaG9zdCwgJy4nKTsKKwkJaWYgKGN4dC0+dGhpc2RvbWFpbikKKwkJCSpjeHQtPnRoaXNkb21haW4rKyA9ICdcMCc7CisJfQorCisJaWYgKGRvbWFpbikKKwkJKmRvbWFpbiA9IGN4dC0+dGhpc2RvbWFpbjsKKwlyZXR1cm4gY3h0LT50aGlzaG9zdDsKK30KKworLyoKKyAqIE91dHB1dCB0aGUgL2V0Yy9tb3RkIGZpbGUuCisgKgorICogSXQgZGV0ZXJtaW5lcyB0aGUgbmFtZSBvZiBhIGxvZ2luIGFubm91bmNlbWVudCBmaWxlIGFuZCBvdXRwdXRzIGl0IHRvIHRoZQorICogdXNlcidzIHRlcm1pbmFsIGF0IGxvZ2luIHRpbWUuICBUaGUgTU9URF9GSUxFIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGlzIGEKKyAqIGNvbG9uLWRlbGltaXRlZCBsaXN0IG9mIGZpbGVuYW1lcy4gIEFuIGVtcHR5IE1PVERfRklMRSBvcHRpb24gZGlzYWJsZXMKKyAqIG1lc3NhZ2Utb2YtdGhlLWRheSBwcmludGluZyBjb21wbGV0ZWx5LgorICovCitzdGF0aWMgdm9pZCBtb3RkKHZvaWQpCit7CisJY2hhciAqbW90ZGxpc3QsICptb3RkZmlsZTsKKwljb25zdCBjaGFyICptYjsKKworCW1iID0gZ2V0bG9naW5kZWZzX3N0cigiTU9URF9GSUxFIiwgX1BBVEhfTU9UREZJTEUpOworCWlmICghbWIgfHwgISptYikKKwkJcmV0dXJuOworCisJbW90ZGxpc3QgPSB4c3RyZHVwKG1iKTsKKworCWZvciAobW90ZGZpbGUgPSBzdHJ0b2sobW90ZGxpc3QsICI6Iik7IG1vdGRmaWxlOworCSAgICAgbW90ZGZpbGUgPSBzdHJ0b2soTlVMTCwgIjoiKSkgeworCisJCXN0cnVjdCBzdGF0IHN0OworCQlpbnQgZmQ7CisKKwkJZmQgPSBvcGVuKG1vdGRmaWxlLCBPX1JET05MWSwgMCk7CisJCWlmIChmZCA8IDApCisJCQljb250aW51ZTsKKwkJaWYgKCFmc3RhdChmZCwgJnN0KSAmJiBzdC5zdF9zaXplKQorCQkJc2VuZGZpbGUoZmlsZW5vKHN0ZG91dCksIGZkLCBOVUxMLCBzdC5zdF9zaXplKTsKKwkJY2xvc2UoZmQpOworCX0KKworCWZyZWUobW90ZGxpc3QpOworfQorCisvKgorICogTmljZSBhbmQgc2ltcGxlIGNvZGUgcHJvdmlkZWQgYnkgTGludXMgVG9ydmFsZHMgMTYtRmViLTkzLgorICogTm9uLWJsb2NraW5nIHN0dWZmIGJ5IE1hY2llaiBXLiBSb3p5Y2tpLCBtYWNyb0BkczIucGcuZ2RhLnBsLCAxOTk5LgorICoKKyAqIEhlIHdyaXRlczogIkxvZ2luIHBlcmZvcm1zIG9wZW4oKSBvbiBhIHR0eSBpbiBhIGJsb2NraW5nIG1vZGUuCisgKiBJbiBzb21lIGNhc2VzIGl0IG1heSBtYWtlIGxvZ2luIHdhaXQgaW4gb3BlbigpIGZvciBjYXJyaWVyIGluZmluaXRlbHksCisgKiBmb3IgZXhhbXBsZSBpZiB0aGUgbGluZSBpcyBhIHNpbXBsaXN0aWMgY2FzZSBvZiBhIHRocmVlLXdpcmUgc2VyaWFsCisgKiBjb25uZWN0aW9uLiBJIGJlbGlldmUgbG9naW4gc2hvdWxkIG9wZW4gdGhlIGxpbmUgaW4gbm9uLWJsb2NraW5nIG1vZGUsCisgKiBsZWF2aW5nIHRoZSBkZWNpc2lvbiB0byBtYWtlIGEgY29ubmVjdGlvbiB0byBnZXR0eSAod2hlcmUgaXQgYWN0dWFsbHkKKyAqIGJlbG9uZ3MpLiIKKyAqLworc3RhdGljIHZvaWQgb3Blbl90dHkoY29uc3QgY2hhciAqdHR5KQoreworCWludCBpLCBmZCwgZmxhZ3M7CisKKwlmZCA9IG9wZW4odHR5LCBPX1JEV1IgfCBPX05PTkJMT0NLKTsKKwlpZiAoZmQgPT0gLTEpIHsKKwkJc3lzbG9nKExPR19FUlIsIF8oIkZBVEFMOiBjYW4ndCByZW9wZW4gdHR5OiAlbSIpKTsKKwkJc2xlZXBleGl0KEVYSVRfRkFJTFVSRSk7CisJfQorCisJaWYgKCFpc2F0dHkoZmQpKSB7CisJCWNsb3NlKGZkKTsKKwkJc3lzbG9nKExPR19FUlIsIF8oIkZBVEFMOiAlcyBpcyBub3QgYSB0ZXJtaW5hbCIpLCB0dHkpOworCQlzbGVlcGV4aXQoRVhJVF9GQUlMVVJFKTsKKwl9CisKKwlmbGFncyA9IGZjbnRsKGZkLCBGX0dFVEZMKTsKKwlmbGFncyAmPSB+T19OT05CTE9DSzsKKwlmY250bChmZCwgRl9TRVRGTCwgZmxhZ3MpOworCisJZm9yIChpID0gMDsgaSA8IGZkOyBpKyspCisJCWNsb3NlKGkpOworCWZvciAoaSA9IDA7IGkgPCAzOyBpKyspCisJCWlmIChmZCAhPSBpKQorCQkJZHVwMihmZCwgaSk7CisJaWYgKGZkID49IDMpCisJCWNsb3NlKGZkKTsKK30KKworI2RlZmluZSBjaG93bl9lcnIoX3doYXQsIF91aWQsIF9naWQpIFwKKwkJc3lzbG9nKExPR19FUlIsIF8oImNob3duICglcywgJWx1LCAlbHUpIGZhaWxlZDogJW0iKSwgXAorCQkJKF93aGF0KSwgKHVuc2lnbmVkIGxvbmcpIChfdWlkKSwgKHVuc2lnbmVkIGxvbmcpIChfZ2lkKSkKKworI2RlZmluZSBjaG1vZF9lcnIoX3doYXQsIF9tb2RlKSBcCisJCXN5c2xvZyhMT0dfRVJSLCBfKCJjaG1vZCAoJXMsICV1KSBmYWlsZWQ6ICVtIiksIChfd2hhdCksIChfbW9kZSkpCisKK3N0YXRpYyB2b2lkIGNob3duX3R0eShzdHJ1Y3QgbG9naW5fY29udGV4dCAqY3h0KQoreworCWNvbnN0IGNoYXIgKmdybmFtZTsKKwl1aWRfdCB1aWQgPSBjeHQtPnB3ZC0+cHdfdWlkOworCWdpZF90IGdpZCA9IGN4dC0+cHdkLT5wd19naWQ7CisKKwlncm5hbWUgPSBnZXRsb2dpbmRlZnNfc3RyKCJUVFlHUk9VUCIsIFRUWUdSUE5BTUUpOworCWlmIChncm5hbWUgJiYgKmdybmFtZSkgeworCQlzdHJ1Y3QgZ3JvdXAgKmdyID0gZ2V0Z3JuYW0oZ3JuYW1lKTsKKwkJaWYgKGdyKQkvKiBncm91cCBieSBuYW1lICovCisJCQlnaWQgPSBnci0+Z3JfZ2lkOworCQllbHNlCS8qIGdyb3VwIGJ5IElEICovCisJCQlnaWQgPSAoZ2lkX3QpIGdldGxvZ2luZGVmc19udW0oIlRUWUdST1VQIiwgZ2lkKTsKKwl9CisJaWYgKGZjaG93bigwLCB1aWQsIGdpZCkpCQkJCS8qIHR0eSAqLworCQljaG93bl9lcnIoY3h0LT50dHlfbmFtZSwgdWlkLCBnaWQpOworCWlmIChmY2htb2QoMCwgY3h0LT50dHlfbW9kZSkpCisJCWNobW9kX2VycihjeHQtPnR0eV9uYW1lLCBjeHQtPnR0eV9tb2RlKTsKKworI2lmZGVmIExPR0lOX0NIT1dOX1ZDUworCWlmIChpc19jb25zb2xldHR5KDApKSB7CisJCWlmIChjaG93bihjeHQtPnZjc24sIHVpZCwgZ2lkKSkJCQkvKiB2Y3MgKi8KKwkJCWNob3duX2VycihjeHQtPnZjc24sIHVpZCwgZ2lkKTsKKwkJaWYgKGNobW9kKGN4dC0+dmNzbiwgY3h0LT50dHlfbW9kZSkpCisJCQljaG1vZF9lcnIoY3h0LT52Y3NuLCBjeHQtPnR0eV9tb2RlKTsKKworCQlpZiAoY2hvd24oY3h0LT52Y3NhbiwgdWlkLCBnaWQpKQkJLyogdmNzYSAqLworCQkJY2hvd25fZXJyKGN4dC0+dmNzYW4sIHVpZCwgZ2lkKTsKKwkJaWYgKGNobW9kKGN4dC0+dmNzYW4sIGN4dC0+dHR5X21vZGUpKQorCQkJY2htb2RfZXJyKGN4dC0+dmNzYW4sIGN4dC0+dHR5X21vZGUpOworCX0KKyNlbmRpZgorfQorCisvKgorICogUmVhZHMgdGhlIGN1cnJlbnQgdGVybWluYWwgcGF0aCBhbmQgaW5pdGlhbGl6ZXMgY3h0LT50dHlfKiB2YXJpYWJsZXMuCisgKi8KK3N0YXRpYyB2b2lkIGluaXRfdHR5KHN0cnVjdCBsb2dpbl9jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IHN0YXQgc3Q7CisJc3RydWN0IHRlcm1pb3MgdHQsIHR0dDsKKworCWN4dC0+dHR5X21vZGUgPSAobW9kZV90KSBnZXRsb2dpbmRlZnNfbnVtKCJUVFlQRVJNIiwgVFRZX01PREUpOworCisJZ2V0X3Rlcm1pbmFsX25hbWUoJmN4dC0+dHR5X3BhdGgsICZjeHQtPnR0eV9uYW1lLCAmY3h0LT50dHlfbnVtYmVyKTsKKworCS8qCisJICogSW4gY2FzZSBsb2dpbiBpcyBzdWlkIGl0IHdhcyBwb3NzaWJsZSB0byB1c2UgYSBoYXJkbGluayBhcyBzdGRpbgorCSAqIGFuZCBleHBsb2l0IHJhY2VzIGZvciBhIGxvY2FsIHJvb3QgZXhwbG9pdC4gKFdvamNpZWNoIFB1cmN6eW5za2kpLgorCSAqCisJICogTW9yZSBwcmVjaXNlbHksIHRoZSBwcm9ibGVtIGlzICB0dHluIDo9IHR0eW5hbWUoMCk7IC4uLjsgY2hvd24odHR5bik7CisJICogaGVyZSB0dHluYW1lKCkgbWlnaHQgcmV0dXJuICIvdG1wL3giLCBhIGhhcmRsaW5rIHRvIGEgcHNldWRvdHR5LgorCSAqIEFsbCBvZiB0aGlzIGlzIGEgcHJvYmxlbSBvbmx5IHdoZW4gbG9naW4gaXMgc3VpZCwgd2hpY2ggaXQgaXNuJ3QuCisJICovCisJaWYgKCFjeHQtPnR0eV9wYXRoIHx8ICEqY3h0LT50dHlfcGF0aCB8fAorCSAgICBsc3RhdChjeHQtPnR0eV9wYXRoLCAmc3QpICE9IDAgfHwgIVNfSVNDSFIoc3Quc3RfbW9kZSkgfHwKKwkgICAgKHN0LnN0X25saW5rID4gMSAmJiBzdHJuY21wKGN4dC0+dHR5X3BhdGgsICIvZGV2LyIsIDUpKSB8fAorCSAgICBhY2Nlc3MoY3h0LT50dHlfcGF0aCwgUl9PSyB8IFdfT0spICE9IDApIHsKKworCQlzeXNsb2coTE9HX0VSUiwgXygiRkFUQUw6IGJhZCB0dHkiKSk7CisJCXNsZWVwZXhpdChFWElUX0ZBSUxVUkUpOworCX0KKworI2lmZGVmIExPR0lOX0NIT1dOX1ZDUworCWlmIChjeHQtPnR0eV9udW1iZXIpIHsKKwkJLyogZmluZCBuYW1lcyBvZiBWaXJ0dWFsIENvbnNvbGUgZGV2aWNlcywgZm9yIGxhdGVyIG1vZGUgY2hhbmdlICovCisJCXNucHJpbnRmKGN4dC0+dmNzbiwgc2l6ZW9mKGN4dC0+dmNzbiksICIvZGV2L3ZjcyVzIiwgY3h0LT50dHlfbnVtYmVyKTsKKwkJc25wcmludGYoY3h0LT52Y3Nhbiwgc2l6ZW9mKGN4dC0+dmNzYW4pLCAiL2Rldi92Y3NhJXMiLCBjeHQtPnR0eV9udW1iZXIpOworCX0KKyNlbmRpZgorCisJdGNnZXRhdHRyKDAsICZ0dCk7CisJdHR0ID0gdHQ7CisJdHR0LmNfY2ZsYWcgJj0gfkhVUENMOworCisJaWYgKChmY2hvd24oMCwgMCwgMCkgfHwgZmNobW9kKDAsIGN4dC0+dHR5X21vZGUpKSAmJiBlcnJubyAhPSBFUk9GUykgeworCisJCXN5c2xvZyhMT0dfRVJSLCBfKCJGQVRBTDogJXM6IGNoYW5nZSBwZXJtaXNzaW9ucyBmYWlsZWQ6ICVtIiksCisJCQkJY3h0LT50dHlfcGF0aCk7CisJCXNsZWVwZXhpdChFWElUX0ZBSUxVUkUpOworCX0KKworCS8qIEtpbGwgcHJvY2Vzc2VzIGxlZnQgb24gdGhpcyB0dHkgKi8KKwl0Y3NldGF0dHIoMCwgVENTQU5PVywgJnR0dCk7CisKKwkvKgorCSAqIExldCdzIGNsb3NlIGZpbGUgZGVzY3JpcHRvcnMgYmVmb3JlIHZoYW5ndXAKKwkgKiBodHRwczovL2xrbWwub3JnL2xrbWwvMjAxMi82LzUvMTQ1CisJICovCisJY2xvc2UoU1RESU5fRklMRU5PKTsKKwljbG9zZShTVERPVVRfRklMRU5PKTsKKwljbG9zZShTVERFUlJfRklMRU5PKTsKKworCXNpZ25hbChTSUdIVVAsIFNJR19JR04pOwkvKiBzbyB2aGFuZ3VwKCkgd29uJ3Qga2lsbCB1cyAqLworCXZoYW5ndXAoKTsKKwlzaWduYWwoU0lHSFVQLCBTSUdfREZMKTsKKworCS8qIG9wZW4gc3RkaW4sc3Rkb3V0LHN0ZGVyciB0byB0aGUgdHR5ICovCisJb3Blbl90dHkoY3h0LT50dHlfcGF0aCk7CisKKwkvKiByZXN0b3JlIHR0eSBtb2RlcyAqLworCXRjc2V0YXR0cigwLCBUQ1NBRkxVU0gsICZ0dCk7Cit9CisKKworLyoKKyAqIExvZ3MgZmFpbGVkIGxvZ2luIGF0dGVtcHRzIGluIF9QQVRIX0JUTVAsIGlmIGl0IGV4aXN0cy4KKyAqIE11c3QgYmUgY2FsbGVkIG9ubHkgd2l0aCB1c2VybmFtZSB0aGUgbmFtZSBvZiBhbiBhY3R1YWwgdXNlci4KKyAqIFRoZSBtb3N0IGNvbW1vbiBsb2dpbiBmYWlsdXJlIGlzIHRvIGdpdmUgcGFzc3dvcmQgaW5zdGVhZCBvZiB1c2VybmFtZS4KKyAqLworc3RhdGljIHZvaWQgbG9nX2J0bXAoc3RydWN0IGxvZ2luX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgdXRtcCB1dDsKKyNpZiBkZWZpbmVkKF9IQVZFX1VUX1RWKSAgICAgICAgLyogaW4gPHV0bXBiaXRzLmg+IGluY2x1ZGVkIGJ5IDx1dG1wLmg+ICovCisJc3RydWN0IHRpbWV2YWwgdHY7CisjZW5kaWYKKworCW1lbXNldCgmdXQsIDAsIHNpemVvZih1dCkpOworCisJc3RybmNweSh1dC51dF91c2VyLAorCQljeHQtPnVzZXJuYW1lID8gY3h0LT51c2VybmFtZSA6ICIodW5rbm93bikiLAorCQlzaXplb2YodXQudXRfdXNlcikpOworCisJaWYgKGN4dC0+dHR5X251bWJlcikKKwkJc3RybmNweSh1dC51dF9pZCwgY3h0LT50dHlfbnVtYmVyLCBzaXplb2YodXQudXRfaWQpKTsKKwlpZiAoY3h0LT50dHlfbmFtZSkKKwkJeHN0cm5jcHkodXQudXRfbGluZSwgY3h0LT50dHlfbmFtZSwgc2l6ZW9mKHV0LnV0X2xpbmUpKTsKKworI2lmIGRlZmluZWQoX0hBVkVfVVRfVFYpCS8qIGluIDx1dG1wYml0cy5oPiBpbmNsdWRlZCBieSA8dXRtcC5oPiAqLworCWdldHRpbWVvZmRheSgmdHYsIE5VTEwpOworCXV0LnV0X3R2LnR2X3NlYyA9IHR2LnR2X3NlYzsKKwl1dC51dF90di50dl91c2VjID0gdHYudHZfdXNlYzsKKyNlbHNlCisJeworCQl0aW1lX3QgdDsKKwkJdGltZSgmdCk7CisJCXV0LnV0X3RpbWUgPSB0OwkvKiB1dF90aW1lIGlzIG5vdCBhbHdheXMgYSB0aW1lX3QgKi8KKwl9CisjZW5kaWYKKworCXV0LnV0X3R5cGUgPSBMT0dJTl9QUk9DRVNTOwkvKiBYWFggZG9lc24ndCBtYXR0ZXIgKi8KKwl1dC51dF9waWQgPSBjeHQtPnBpZDsKKworCWlmIChjeHQtPmhvc3RuYW1lKSB7CisJCXhzdHJuY3B5KHV0LnV0X2hvc3QsIGN4dC0+aG9zdG5hbWUsIHNpemVvZih1dC51dF9ob3N0KSk7CisJCWlmICgqY3h0LT5ob3N0YWRkcmVzcykKKwkJCW1lbWNweSgmdXQudXRfYWRkcl92NiwgY3h0LT5ob3N0YWRkcmVzcywKKwkJCSAgICAgICBzaXplb2YodXQudXRfYWRkcl92NikpOworCX0KKworCXVwZHd0bXAoX1BBVEhfQlRNUCwgJnV0KTsKK30KKworCisjaWZkZWYgSEFWRV9MSUJBVURJVAorc3RhdGljIHZvaWQgbG9nX2F1ZGl0KHN0cnVjdCBsb2dpbl9jb250ZXh0ICpjeHQsIGludCBzdGF0dXMpCit7CisJaW50IGF1ZGl0X2ZkOworCXN0cnVjdCBwYXNzd2QgKnB3ZCA9IGN4dC0+cHdkOworCisJYXVkaXRfZmQgPSBhdWRpdF9vcGVuKCk7CisJaWYgKGF1ZGl0X2ZkID09IC0xKQorCQlyZXR1cm47CisJaWYgKCFwd2QgJiYgY3h0LT51c2VybmFtZSkKKwkJcHdkID0gZ2V0cHduYW0oY3h0LT51c2VybmFtZSk7CisKKwlhdWRpdF9sb2dfYWNjdF9tZXNzYWdlKGF1ZGl0X2ZkLAorCQkJICAgICAgIEFVRElUX1VTRVJfTE9HSU4sCisJCQkgICAgICAgTlVMTCwKKwkJCSAgICAgICAibG9naW4iLAorCQkJICAgICAgIGN4dC0+dXNlcm5hbWUgPyBjeHQtPnVzZXJuYW1lIDogIih1bmtub3duKSIsCisJCQkgICAgICAgcHdkID8gcHdkLT5wd191aWQgOiAodW5zaWduZWQgaW50KSAtMSwKKwkJCSAgICAgICBjeHQtPmhvc3RuYW1lLAorCQkJICAgICAgIE5VTEwsCisJCQkgICAgICAgY3h0LT50dHlfbmFtZSwKKwkJCSAgICAgICBzdGF0dXMpOworCisJY2xvc2UoYXVkaXRfZmQpOworfQorI2Vsc2UJCQkJLyogIUhBVkVfTElCQVVESVQgKi8KKyMgZGVmaW5lIGxvZ19hdWRpdChjeHQsIHN0YXR1cykKKyNlbmRpZgkJCQkvKiBIQVZFX0xJQkFVRElUICovCisKK3N0YXRpYyB2b2lkIGxvZ19sYXN0bG9nKHN0cnVjdCBsb2dpbl9jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IHNpZ2FjdGlvbiBzYSwgb2xkc2FfeGZzejsKKwlzdHJ1Y3QgbGFzdGxvZyBsbDsKKwl0aW1lX3QgdDsKKwlpbnQgZmQ7CisKKwlpZiAoIWN4dC0+cHdkKQorCQlyZXR1cm47CisKKwkvKiBsYXN0bG9nIGlzIGh1Z2Ugb24gc3lzdGVtcyB3aXRoIGxhcmdlIFVJRHMsIGlnbm9yZSBTSUdYRlNaICovCisJbWVtc2V0KCZzYSwgMCwgc2l6ZW9mKHNhKSk7CisJc2Euc2FfaGFuZGxlciA9IFNJR19JR047CisJc2lnYWN0aW9uKFNJR1hGU1osICZzYSwgJm9sZHNhX3hmc3opOworCisJZmQgPSBvcGVuKF9QQVRIX0xBU1RMT0csIE9fUkRXUiwgMCk7CisJaWYgKGZkIDwgMCkKKwkJZ290byBkb25lOworCisJaWYgKGxzZWVrKGZkLCAob2ZmX3QpIGN4dC0+cHdkLT5wd191aWQgKiBzaXplb2YobGwpLCBTRUVLX1NFVCkgPT0gLTEpCisJCWdvdG8gZG9uZTsKKworCS8qCisJICogUHJpbnQgbGFzdCBsb2cgbWVzc2FnZS4KKwkgKi8KKwlpZiAoIWN4dC0+cXVpZXQpIHsKKwkJaWYgKHJlYWQoZmQsIChjaGFyICopJmxsLCBzaXplb2YobGwpKSA9PSBzaXplb2YobGwpICYmCisJCQkJCQkJbGwubGxfdGltZSAhPSAwKSB7CisJCQl0aW1lX3QgbGxfdGltZSA9ICh0aW1lX3QpIGxsLmxsX3RpbWU7CisKKwkJCXByaW50ZihfKCJMYXN0IGxvZ2luOiAlLipzICIpLCAyNCAtIDUsIGN0aW1lKCZsbF90aW1lKSk7CisJCQlpZiAoKmxsLmxsX2hvc3QgIT0gJ1wwJykKKwkJCQlwcmludGYoXygiZnJvbSAlLipzXG4iKSwKKwkJCQkgICAgICAgKGludClzaXplb2YobGwubGxfaG9zdCksIGxsLmxsX2hvc3QpOworCQkJZWxzZQorCQkJCXByaW50ZihfKCJvbiAlLipzXG4iKSwKKwkJCQkgICAgICAgKGludClzaXplb2YobGwubGxfbGluZSksIGxsLmxsX2xpbmUpOworCQl9CisJCWlmIChsc2VlayhmZCwgKG9mZl90KSBjeHQtPnB3ZC0+cHdfdWlkICogc2l6ZW9mKGxsKSwgU0VFS19TRVQpID09IC0xKQorCQkJZ290byBkb25lOworCX0KKworCW1lbXNldCgoY2hhciAqKSZsbCwgMCwgc2l6ZW9mKGxsKSk7CisKKwl0aW1lKCZ0KTsKKwlsbC5sbF90aW1lID0gdDsJCS8qIGxsX3RpbWUgaXMgYWx3YXlzIDMyYml0ICovCisKKwlpZiAoY3h0LT50dHlfbmFtZSkKKwkJeHN0cm5jcHkobGwubGxfbGluZSwgY3h0LT50dHlfbmFtZSwgc2l6ZW9mKGxsLmxsX2xpbmUpKTsKKwlpZiAoY3h0LT5ob3N0bmFtZSkKKwkJeHN0cm5jcHkobGwubGxfaG9zdCwgY3h0LT5ob3N0bmFtZSwgc2l6ZW9mKGxsLmxsX2hvc3QpKTsKKworCWlmICh3cml0ZV9hbGwoZmQsIChjaGFyICopJmxsLCBzaXplb2YobGwpKSkKKwkJd2FybihfKCJ3cml0ZSBsYXN0bG9nIGZhaWxlZCIpKTsKK2RvbmU6CisJaWYgKGZkID49IDApCisJCWNsb3NlKGZkKTsKKworCXNpZ2FjdGlvbihTSUdYRlNaLCAmb2xkc2FfeGZzeiwgTlVMTCk7CQkvKiByZXN0b3JlIG9yaWdpbmFsIHNldHRpbmcgKi8KK30KKworLyoKKyAqIFVwZGF0ZSB3dG1wIGFuZCB1dG1wIGxvZ3MuCisgKi8KK3N0YXRpYyB2b2lkIGxvZ191dG1wKHN0cnVjdCBsb2dpbl9jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IHV0bXAgdXQ7CisJc3RydWN0IHV0bXAgKnV0cDsKKwlzdHJ1Y3QgdGltZXZhbCB0djsKKworCXV0bXBuYW1lKF9QQVRIX1VUTVApOworCXNldHV0ZW50KCk7CisKKwkvKiBGaW5kIHBpZCBpbiB1dG1wLgorCSAqCisJICogbG9naW4gc29tZXRpbWVzIG92ZXJ3cml0ZXMgdGhlIHJ1bmxldmVsIGVudHJ5IGluIC92YXIvcnVuL3V0bXAsCisJICogY29uZnVzaW5nIHN5c3Zpbml0LiBJIGFkZGVkIGEgdGVzdCBmb3IgdGhlIGVudHJ5IHR5cGUsIGFuZCB0aGUKKwkgKiBwcm9ibGVtIHdhcyBnb25lLiAoSW4gYSBydW5sZXZlbCBlbnRyeSwgc3RfcGlkIGlzIG5vdCByZWFsbHkgYSBwaWQKKwkgKiBidXQgc29tZSBudW1iZXIgY2FsY3VsYXRlZCBmcm9tIHRoZSBwcmV2aW91cyBhbmQgY3VycmVudCBydW5sZXZlbC4pCisJICogLS0gTWljaGFlbCBSaWVwZSA8bWljaGFlbEBzdHVkLnVuaS1oYW5ub3Zlci5kZT4KKwkgKi8KKwl3aGlsZSAoKHV0cCA9IGdldHV0ZW50KCkpKQorCQlpZiAodXRwLT51dF9waWQgPT0gY3h0LT5waWQKKwkJICAgICYmIHV0cC0+dXRfdHlwZSA+PSBJTklUX1BST0NFU1MKKwkJICAgICYmIHV0cC0+dXRfdHlwZSA8PSBERUFEX1BST0NFU1MpCisJCQlicmVhazsKKworCS8qIElmIHdlIGNhbid0IGZpbmQgYSBwcmUtZXhpc3RpbmcgZW50cnkgYnkgcGlkLCB0cnkgYnkgbGluZS4KKwkgKiBCU0QgbmV0d29yayBkYWVtb25zIG1heSByZWx5IG9uIHRoaXMuICovCisJaWYgKHV0cCA9PSBOVUxMICYmIGN4dC0+dHR5X25hbWUpIHsKKwkJc2V0dXRlbnQoKTsKKwkJdXQudXRfdHlwZSA9IExPR0lOX1BST0NFU1M7CisJCXN0cm5jcHkodXQudXRfbGluZSwgY3h0LT50dHlfbmFtZSwgc2l6ZW9mKHV0LnV0X2xpbmUpKTsKKwkJdXRwID0gZ2V0dXRsaW5lKCZ1dCk7CisJfQorCisJLyogSWYgd2UgY2FuJ3QgZmluZCBhIHByZS1leGlzdGluZyBlbnRyeSBieSBwaWQgYW5kIGxpbmUsIHRyeSBpdCBieSBpZC4KKwkgKiBWZXJ5IHN0dXBpZCB0ZWxuZXRkIGRhZW1vbnMgZG9uJ3Qgc2V0IHVwIHV0bXAgYXQgYWxsLiAoa3phaykgKi8KKwlpZiAodXRwID09IE5VTEwgJiYgY3h0LT50dHlfbnVtYmVyKSB7CisJICAgICBzZXR1dGVudCgpOworCSAgICAgdXQudXRfdHlwZSA9IERFQURfUFJPQ0VTUzsKKwkgICAgIHN0cm5jcHkodXQudXRfaWQsIGN4dC0+dHR5X251bWJlciwgc2l6ZW9mKHV0LnV0X2lkKSk7CisJICAgICB1dHAgPSBnZXR1dGlkKCZ1dCk7CisJfQorCisJaWYgKHV0cCkKKwkJbWVtY3B5KCZ1dCwgdXRwLCBzaXplb2YodXQpKTsKKwllbHNlCisJCS8qIHNvbWUgZ2V0dHlzL3RlbG5ldGRzIGRvbid0IGluaXRpYWxpemUgdXRtcC4uLiAqLworCQltZW1zZXQoJnV0LCAwLCBzaXplb2YodXQpKTsKKworCWlmIChjeHQtPnR0eV9udW1iZXIgJiYgdXQudXRfaWRbMF0gPT0gMCkKKwkJc3RybmNweSh1dC51dF9pZCwgY3h0LT50dHlfbnVtYmVyLCBzaXplb2YodXQudXRfaWQpKTsKKwlpZiAoY3h0LT51c2VybmFtZSkKKwkJc3RybmNweSh1dC51dF91c2VyLCBjeHQtPnVzZXJuYW1lLCBzaXplb2YodXQudXRfdXNlcikpOworCWlmIChjeHQtPnR0eV9uYW1lKQorCQl4c3RybmNweSh1dC51dF9saW5lLCBjeHQtPnR0eV9uYW1lLCBzaXplb2YodXQudXRfbGluZSkpOworCisjaWZkZWYgX0hBVkVfVVRfVFYJCS8qIGluIDx1dG1wYml0cy5oPiBpbmNsdWRlZCBieSA8dXRtcC5oPiAqLworCWdldHRpbWVvZmRheSgmdHYsIE5VTEwpOworCXV0LnV0X3R2LnR2X3NlYyA9IHR2LnR2X3NlYzsKKwl1dC51dF90di50dl91c2VjID0gdHYudHZfdXNlYzsKKyNlbHNlCisJeworCQl0aW1lX3QgdDsKKwkJdGltZSgmdCk7CisJCXV0LnV0X3RpbWUgPSB0OwkvKiB1dF90aW1lIGlzIG5vdCBhbHdheXMgYSB0aW1lX3QgKi8KKwkJCQkvKiBnbGliYzIgI2RlZmluZXMgaXQgYXMgdXRfdHYudHZfc2VjICovCisJfQorI2VuZGlmCisJdXQudXRfdHlwZSA9IFVTRVJfUFJPQ0VTUzsKKwl1dC51dF9waWQgPSBjeHQtPnBpZDsKKwlpZiAoY3h0LT5ob3N0bmFtZSkgeworCQl4c3RybmNweSh1dC51dF9ob3N0LCBjeHQtPmhvc3RuYW1lLCBzaXplb2YodXQudXRfaG9zdCkpOworCQlpZiAoKmN4dC0+aG9zdGFkZHJlc3MpCisJCQltZW1jcHkoJnV0LnV0X2FkZHJfdjYsIGN4dC0+aG9zdGFkZHJlc3MsCisJCQkgICAgICAgc2l6ZW9mKHV0LnV0X2FkZHJfdjYpKTsKKwl9CisKKwlwdXR1dGxpbmUoJnV0KTsKKwllbmR1dGVudCgpOworCisJdXBkd3RtcChfUEFUSF9XVE1QLCAmdXQpOworfQorCitzdGF0aWMgdm9pZCBsb2dfc3lzbG9nKHN0cnVjdCBsb2dpbl9jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IHBhc3N3ZCAqcHdkID0gY3h0LT5wd2Q7CisKKwlpZiAoIWN4dC0+dHR5X25hbWUpCisJCXJldHVybjsKKworCWlmICghc3RybmNtcChjeHQtPnR0eV9uYW1lLCAidHR5UyIsIDQpKQorCQlzeXNsb2coTE9HX0lORk8sIF8oIkRJQUxVUCBBVCAlcyBCWSAlcyIpLAorCQkgICAgICAgY3h0LT50dHlfbmFtZSwgcHdkLT5wd19uYW1lKTsKKworCWlmICghcHdkLT5wd191aWQpIHsKKwkJaWYgKGN4dC0+aG9zdG5hbWUpCisJCQlzeXNsb2coTE9HX05PVElDRSwgXygiUk9PVCBMT0dJTiBPTiAlcyBGUk9NICVzIiksCisJCQkgICAgICAgY3h0LT50dHlfbmFtZSwgY3h0LT5ob3N0bmFtZSk7CisJCWVsc2UKKwkJCXN5c2xvZyhMT0dfTk9USUNFLCBfKCJST09UIExPR0lOIE9OICVzIiksIGN4dC0+dHR5X25hbWUpOworCX0gZWxzZSB7CisJCWlmIChjeHQtPmhvc3RuYW1lKQorCQkJc3lzbG9nKExPR19JTkZPLCBfKCJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIiksCisJCQkgICAgICAgY3h0LT50dHlfbmFtZSwgcHdkLT5wd19uYW1lLCBjeHQtPmhvc3RuYW1lKTsKKwkJZWxzZQorCQkJc3lzbG9nKExPR19JTkZPLCBfKCJMT0dJTiBPTiAlcyBCWSAlcyIpLCBjeHQtPnR0eV9uYW1lLAorCQkJICAgICAgIHB3ZC0+cHdfbmFtZSk7CisJfQorfQorCitzdGF0aWMgc3RydWN0IHBhc3N3ZCAqZ2V0X3Bhc3N3ZF9lbnRyeShjb25zdCBjaGFyICp1c2VybmFtZSwKKwkJCQkJIGNoYXIgKipwd2RidWYsCisJCQkJCSBzdHJ1Y3QgcGFzc3dkICpwd2QpCit7CisJc3RydWN0IHBhc3N3ZCAqcmVzID0gTlVMTDsKKwlpbnQgeDsKKworCWlmICghcHdkYnVmIHx8ICF1c2VybmFtZSkKKwkJcmV0dXJuIE5VTEw7CisKKwkqcHdkYnVmID0geHJlYWxsb2MoKnB3ZGJ1ZiwgVUxfR0VUUFdfQlVGU0laKTsKKworCXggPSBnZXRwd25hbV9yKHVzZXJuYW1lLCBwd2QsICpwd2RidWYsIFVMX0dFVFBXX0JVRlNJWiwgJnJlcyk7CisJaWYgKCFyZXMpIHsKKwkJZXJybm8gPSB4OworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmV0dXJuIHJlczsKK30KKworLyogZW5jYXBzdWxhdGUgc3R1cGlkICJ2b2lkICoqIiBwYW1fZ2V0X2l0ZW0oKSBBUEkgKi8KK3N0YXRpYyBpbnQgbG9naW5wYW1fZ2V0X3VzZXJuYW1lKHBhbV9oYW5kbGVfdCAqcGFtaCwgY2hhciAqKm5hbWUpCit7CisJY29uc3Qgdm9pZCAqaXRlbSA9ICh2b2lkICopKm5hbWU7CisJaW50IHJjOworCXJjID0gcGFtX2dldF9pdGVtKHBhbWgsIFBBTV9VU0VSLCAmaXRlbSk7CisJKm5hbWUgPSAoY2hhciAqKWl0ZW07CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgdm9pZCBsb2dpbnBhbV9lcnIocGFtX2hhbmRsZV90ICpwYW1oLCBpbnQgcmV0Y29kZSkKK3sKKwljb25zdCBjaGFyICptc2cgPSBwYW1fc3RyZXJyb3IocGFtaCwgcmV0Y29kZSk7CisKKwlpZiAobXNnKSB7CisJCWZwcmludGYoc3RkZXJyLCAiXG4lc1xuIiwgbXNnKTsKKwkJc3lzbG9nKExPR19FUlIsICIlcyIsIG1zZyk7CisJfQorCXBhbV9lbmQocGFtaCwgcmV0Y29kZSk7CisJc2xlZXBleGl0KEVYSVRfRkFJTFVSRSk7Cit9CisKKy8qCisgKiBDb21wb3NlcyAiPGhvc3Q+IGxvZ2luOiAiIHN0cmluZzsgb3IgcmV0dXJucyAibG9naW46ICIgaWYgLUggaXMgZ2l2ZW4uCisgKi8KK3N0YXRpYyBjb25zdCBjaGFyICpsb2dpbnBhbV9nZXRfcHJvbXB0KHN0cnVjdCBsb2dpbl9jb250ZXh0ICpjeHQpCit7CisJY29uc3QgY2hhciAqaG9zdDsKKwljaGFyICpwcm9tcHQsICpkZmx0X3Byb21wdCA9IF8oImxvZ2luOiAiKTsKKwlzaXplX3Qgc3o7CisKKwlpZiAoY3h0LT5ub2hvc3QgfHwgIShob3N0ID0gZ2V0X3RoaXNob3N0KGN4dCwgTlVMTCkpKQorCQlyZXR1cm4gZGZsdF9wcm9tcHQ7CisKKwlzeiA9IHN0cmxlbihob3N0KSArIDEgKyBzdHJsZW4oZGZsdF9wcm9tcHQpICsgMTsKKworCXByb21wdCA9IHhtYWxsb2Moc3opOworCXNucHJpbnRmKHByb21wdCwgc3osICIlcyAlcyIsIGhvc3QsIGRmbHRfcHJvbXB0KTsKKworCXJldHVybiBwcm9tcHQ7Cit9CisKK3N0YXRpYyBwYW1faGFuZGxlX3QgKmluaXRfbG9naW5wYW0oc3RydWN0IGxvZ2luX2NvbnRleHQgKmN4dCkKK3sKKwlwYW1faGFuZGxlX3QgKnBhbWggPSBOVUxMOworCWludCByYzsKKworCS8qCisJICogdXNlcm5hbWUgaXMgaW5pdGlhbGl6ZWQgdG8gTlVMTCBhbmQgaWYgc3BlY2lmaWVkIG9uIHRoZSBjb21tYW5kIGxpbmUKKwkgKiBpdCBpcyBzZXQuICBUaGVyZWZvcmUsIHdlIGFyZSBzYWZlIG5vdCBzZXR0aW5nIGl0IHRvIGFueXRoaW5nLgorCSAqLworCXJjID0gcGFtX3N0YXJ0KGN4dC0+cmVtb3RlID8gInJlbW90ZSIgOiAibG9naW4iLAorCQkgICAgICAgY3h0LT51c2VybmFtZSwgJmN4dC0+Y29udiwgJnBhbWgpOworCWlmIChyYyAhPSBQQU1fU1VDQ0VTUykgeworCQl3YXJueChfKCJQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIiksIHBhbV9zdHJlcnJvcihwYW1oLCByYykpOworCQlzeXNsb2coTE9HX0VSUiwgXygiQ291bGRuJ3QgaW5pdGlhbGl6ZSBQQU06ICVzIiksCisJCSAgICAgICBwYW1fc3RyZXJyb3IocGFtaCwgcmMpKTsKKwkJc2xlZXBleGl0KEVYSVRfRkFJTFVSRSk7CisJfQorCisJLyogaG9zdG5hbWUgJiB0dHkgYXJlIGVpdGhlciBzZXQgdG8gTlVMTCBvciB0aGVpciBjb3JyZWN0IHZhbHVlcywKKwkgKiBkZXBlbmRpbmcgb24gaG93IG11Y2ggd2Uga25vdy4gKi8KKwlyYyA9IHBhbV9zZXRfaXRlbShwYW1oLCBQQU1fUkhPU1QsIGN4dC0+aG9zdG5hbWUpOworCWlmIChpc19wYW1fZmFpbHVyZShyYykpCisJCWxvZ2lucGFtX2VycihwYW1oLCByYyk7CisKKwlyYyA9IHBhbV9zZXRfaXRlbShwYW1oLCBQQU1fVFRZLCBjeHQtPnR0eV9uYW1lKTsKKwlpZiAoaXNfcGFtX2ZhaWx1cmUocmMpKQorCQlsb2dpbnBhbV9lcnIocGFtaCwgcmMpOworCisJLyoKKwkgKiBBbmRyZXcuVGF5bG9yQGNhbC5tb250YWdlLmNhOiBQcm92aWRlIGEgdXNlciBwcm9tcHQgdG8gUEFNIHNvIHRoYXQKKwkgKiB0aGUgImxvZ2luOiAiIHByb21wdCBnZXRzIGxvY2FsaXplZC4gVW5mb3J0dW5hdGVseSwgUEFNIGRvZXNuJ3QgaGF2ZQorCSAqIGFuIGludGVyZmFjZSB0byBzcGVjaWZ5IHRoZSAiUGFzc3dvcmQ6ICIgc3RyaW5nICh5ZXQpLgorCSAqLworCXJjID0gcGFtX3NldF9pdGVtKHBhbWgsIFBBTV9VU0VSX1BST01QVCwgbG9naW5wYW1fZ2V0X3Byb21wdChjeHQpKTsKKwlpZiAoaXNfcGFtX2ZhaWx1cmUocmMpKQorCQlsb2dpbnBhbV9lcnIocGFtaCwgcmMpOworCisJLyogV2UgZG9uJ3QgbmVlZCB0aGUgb3JpZ2luYWwgdXNlcm5hbWUuIFdlIGhhdmUgdG8gZm9sbG93IFBBTS4gKi8KKwlmcmVlKGN4dC0+dXNlcm5hbWUpOworCWN4dC0+dXNlcm5hbWUgPSBOVUxMOworCWN4dC0+cGFtaCA9IHBhbWg7CisKKwlyZXR1cm4gcGFtaDsKK30KKworc3RhdGljIHZvaWQgbG9naW5wYW1fYXV0aChzdHJ1Y3QgbG9naW5fY29udGV4dCAqY3h0KQoreworCWludCByYywgc2hvd191bmtub3duOworCXVuc2lnbmVkIGludCByZXRyaWVzLCBmYWlsY291bnQgPSAwOworCWNvbnN0IGNoYXIgKmhvc3RuYW1lID0gY3h0LT5ob3N0bmFtZSA/IGN4dC0+aG9zdG5hbWUgOgorCQkJICAgICAgIGN4dC0+dHR5X25hbWUgPyBjeHQtPnR0eV9uYW1lIDogIjx1bmtub3duPiI7CisJcGFtX2hhbmRsZV90ICpwYW1oID0gY3h0LT5wYW1oOworCisJLyogaWYgd2UgZGlkbid0IGdldCBhIHVzZXIgb24gdGhlIGNvbW1hbmQgbGluZSwgc2V0IGl0IHRvIE5VTEwgKi8KKwlsb2dpbnBhbV9nZXRfdXNlcm5hbWUocGFtaCwgJmN4dC0+dXNlcm5hbWUpOworCisJc2hvd191bmtub3duID0gZ2V0bG9naW5kZWZzX2Jvb2woIkxPR19VTktGQUlMX0VOQUIiLCAwKTsKKwlyZXRyaWVzID0gZ2V0bG9naW5kZWZzX251bSgiTE9HSU5fUkVUUklFUyIsIExPR0lOX01BWF9UUklFUyk7CisKKwkvKgorCSAqIFRoZXJlIG1heSBiZSBiZXR0ZXIgd2F5cyB0byBkZWFsIHdpdGggc29tZSBvZiB0aGVzZSBjb25kaXRpb25zLCBidXQKKwkgKiBhdCBsZWFzdCB0aGlzIHdheSBJIGRvbid0IHRoaW5rIHdlJ2xsIGJlIGdpdmluZyBhd2F5IGluZm9ybWF0aW9uLi4uCisJICoKKwkgKiBQZXJoYXBzIHNvbWVkYXkgd2UgY2FuIHRydXN0IHRoYXQgYWxsIFBBTSBtb2R1bGVzIHdpbGwgcGF5IGF0dGVudGlvbgorCSAqIHRvIGZhaWx1cmUgY291bnQgYW5kIGdldCByaWQgb2YgTE9HSU5fTUFYX1RSSUVTPworCSAqLworCXJjID0gcGFtX2F1dGhlbnRpY2F0ZShwYW1oLCAwKTsKKworCXdoaWxlICgoKytmYWlsY291bnQgPCByZXRyaWVzKSAmJgorCSAgICAgICAoKHJjID09IFBBTV9BVVRIX0VSUikgfHwKKwkJKHJjID09IFBBTV9VU0VSX1VOS05PV04pIHx8CisJCShyYyA9PSBQQU1fQ1JFRF9JTlNVRkZJQ0lFTlQpIHx8CisJCShyYyA9PSBQQU1fQVVUSElORk9fVU5BVkFJTCkpKSB7CisKKwkJaWYgKHJjID09IFBBTV9VU0VSX1VOS05PV04gJiYgIXNob3dfdW5rbm93bikKKwkJCS8qCisJCQkgKiBMb2dnaW5nIHVua25vd24gdXNlcm5hbWVzIG1heSBiZSBhIHNlY3VyaXR5IGlzc3VlIGlmCisJCQkgKiBhIHVzZXIgZW50ZXJzIGhlciBwYXNzd29yZCBpbnN0ZWFkIG9mIGhlciBsb2dpbiBuYW1lLgorCQkJICovCisJCQljeHQtPnVzZXJuYW1lID0gTlVMTDsKKwkJZWxzZQorCQkJbG9naW5wYW1fZ2V0X3VzZXJuYW1lKHBhbWgsICZjeHQtPnVzZXJuYW1lKTsKKworCQlzeXNsb2coTE9HX05PVElDRSwKKwkJICAgICAgIF8oIkZBSUxFRCBMT0dJTiAldSBGUk9NICVzIEZPUiAlcywgJXMiKSwKKwkJICAgICAgIGZhaWxjb3VudCwgaG9zdG5hbWUsCisJCSAgICAgICBjeHQtPnVzZXJuYW1lID8gY3h0LT51c2VybmFtZSA6ICIodW5rbm93bikiLAorCQkgICAgICAgcGFtX3N0cmVycm9yKHBhbWgsIHJjKSk7CisKKwkJbG9nX2J0bXAoY3h0KTsKKwkJbG9nX2F1ZGl0KGN4dCwgMCk7CisKKwkJZnByaW50ZihzdGRlcnIsIF8oIkxvZ2luIGluY29ycmVjdFxuXG4iKSk7CisKKwkJcGFtX3NldF9pdGVtKHBhbWgsIFBBTV9VU0VSLCBOVUxMKTsKKwkJcmMgPSBwYW1fYXV0aGVudGljYXRlKHBhbWgsIDApOworCX0KKworCWlmIChpc19wYW1fZmFpbHVyZShyYykpIHsKKworCQlpZiAocmMgPT0gUEFNX1VTRVJfVU5LTk9XTiAmJiAhc2hvd191bmtub3duKQorCQkJY3h0LT51c2VybmFtZSA9IE5VTEw7CisJCWVsc2UKKwkJCWxvZ2lucGFtX2dldF91c2VybmFtZShwYW1oLCAmY3h0LT51c2VybmFtZSk7CisKKwkJaWYgKHJjID09IFBBTV9NQVhUUklFUykKKwkJCXN5c2xvZyhMT0dfTk9USUNFLAorCQkJICAgICAgIF8oIlRPTyBNQU5ZIExPR0lOIFRSSUVTICgldSkgRlJPTSAlcyBGT1IgJXMsICVzIiksCisJCQkgICAgICAgZmFpbGNvdW50LCBob3N0bmFtZSwKKwkJCSAgICAgICBjeHQtPnVzZXJuYW1lID8gY3h0LT51c2VybmFtZSA6ICIodW5rbm93bikiLAorCQkJICAgICAgIHBhbV9zdHJlcnJvcihwYW1oLCByYykpOworCQllbHNlCisJCQlzeXNsb2coTE9HX05PVElDRSwKKwkJCSAgICAgICBfKCJGQUlMRUQgTE9HSU4gU0VTU0lPTiBGUk9NICVzIEZPUiAlcywgJXMiKSwKKwkJCSAgICAgICBob3N0bmFtZSwKKwkJCSAgICAgICBjeHQtPnVzZXJuYW1lID8gY3h0LT51c2VybmFtZSA6ICIodW5rbm93bikiLAorCQkJICAgICAgIHBhbV9zdHJlcnJvcihwYW1oLCByYykpOworCisJCWxvZ19idG1wKGN4dCk7CisJCWxvZ19hdWRpdChjeHQsIDApOworCisJCWZwcmludGYoc3RkZXJyLCBfKCJcbkxvZ2luIGluY29ycmVjdFxuIikpOworCQlwYW1fZW5kKHBhbWgsIHJjKTsKKwkJc2xlZXBleGl0KEVYSVRfU1VDQ0VTUyk7CisJfQorfQorCitzdGF0aWMgdm9pZCBsb2dpbnBhbV9hY2N0KHN0cnVjdCBsb2dpbl9jb250ZXh0ICpjeHQpCit7CisJaW50IHJjOworCXBhbV9oYW5kbGVfdCAqcGFtaCA9IGN4dC0+cGFtaDsKKworCXJjID0gcGFtX2FjY3RfbWdtdChwYW1oLCAwKTsKKworCWlmIChyYyA9PSBQQU1fTkVXX0FVVEhUT0tfUkVRRCkKKwkJcmMgPSBwYW1fY2hhdXRodG9rKHBhbWgsIFBBTV9DSEFOR0VfRVhQSVJFRF9BVVRIVE9LKTsKKworCWlmIChpc19wYW1fZmFpbHVyZShyYykpCisJCWxvZ2lucGFtX2VycihwYW1oLCByYyk7CisKKwkvKgorCSAqIEdyYWIgdGhlIHVzZXIgaW5mb3JtYXRpb24gb3V0IG9mIHRoZSBwYXNzd29yZCBmaWxlIGZvciBmdXR1cmUgdXNlLgorCSAqIEZpcnN0IGdldCB0aGUgdXNlcm5hbWUgdGhhdCB3ZSBhcmUgYWN0dWFsbHkgdXNpbmcsIHRob3VnaC4KKwkgKi8KKwlyYyA9IGxvZ2lucGFtX2dldF91c2VybmFtZShwYW1oLCAmY3h0LT51c2VybmFtZSk7CisJaWYgKGlzX3BhbV9mYWlsdXJlKHJjKSkKKwkJbG9naW5wYW1fZXJyKHBhbWgsIHJjKTsKKworCWlmICghY3h0LT51c2VybmFtZSB8fCAhKmN4dC0+dXNlcm5hbWUpIHsKKwkJd2FybngoXygiXG5TZXNzaW9uIHNldHVwIHByb2JsZW0sIGFib3J0LiIpKTsKKwkJc3lzbG9nKExPR19FUlIsIF8oIk5VTEwgdXNlciBuYW1lIGluICVzOiVkLiBBYm9ydC4iKSwKKwkJICAgICAgIF9fRlVOQ1RJT05fXywgX19MSU5FX18pOworCQlwYW1fZW5kKHBhbWgsIFBBTV9TWVNURU1fRVJSKTsKKwkJc2xlZXBleGl0KEVYSVRfRkFJTFVSRSk7CisJfQorfQorCisvKgorICogTm90ZSB0aGF0IHRoZSBwb3NpdGlvbiBvZiB0aGUgcGFtX3NldGNyZWQoKSBjYWxsIGlzIGRpc2N1c3NhYmxlOgorICoKKyAqICAtIHRoZSBQQU0gZG9jcyByZWNvbW1lbmQgcGFtX3NldGNyZWQoKSBiZWZvcmUgcGFtX29wZW5fc2Vzc2lvbigpCisgKiAgLSBidXQgdGhlIG9yaWdpbmFsIFJGQyBodHRwOi8vd3d3Lm9wZW5ncm91cC5vcmcvcmZjL21pcnJvci1yZmMvcmZjODYuMC50eHQKKyAqICAgIHVzZXMgcGFtX3NldGNyZWQoKSBhZnRlciBwYW1fb3Blbl9zZXNzaW9uKCkKKyAqCisgKiBUaGUgb2xkIGxvZ2luIHZlcnNpb25zIChiZWZvcmUgeWVhciAyMDExKSBmb2xsb3dlZCB0aGUgUkZDLiBUaGlzIGlzIHByb2JhYmx5CisgKiBub3Qgb3B0aW1hbCwgYmVjYXVzZSB0aGVyZSBjb3VsZCBiZSBhIGRlcGVuZGVuY2UgYmV0d2VlbiBzb21lIHNlc3Npb24gbW9kdWxlcworICogYW5kIHRoZSB1c2VyJ3MgY3JlZGVudGlhbHMuCisgKgorICogVGhlIGJlc3QgaXMgcHJvYmFibHkgdG8gZm9sbG93IG9wZW5zc2ggYW5kIGNhbGwgcGFtX3NldGNyZWQoKSBiZWZvcmUgYW5kCisgKiBhZnRlciBwYW1fb3Blbl9zZXNzaW9uKCkuICAgICAgICAgICAgICAgIC0tIGt6YWtAcmVkaGF0LmNvbSAoMTgtTm92LTIwMTEpCisgKgorICovCitzdGF0aWMgdm9pZCBsb2dpbnBhbV9zZXNzaW9uKHN0cnVjdCBsb2dpbl9jb250ZXh0ICpjeHQpCit7CisJaW50IHJjOworCXBhbV9oYW5kbGVfdCAqcGFtaCA9IGN4dC0+cGFtaDsKKworCXJjID0gcGFtX3NldGNyZWQocGFtaCwgUEFNX0VTVEFCTElTSF9DUkVEKTsKKwlpZiAoaXNfcGFtX2ZhaWx1cmUocmMpKQorCQlsb2dpbnBhbV9lcnIocGFtaCwgcmMpOworCisJcmMgPSBwYW1fb3Blbl9zZXNzaW9uKHBhbWgsIDApOworCWlmIChpc19wYW1fZmFpbHVyZShyYykpIHsKKwkJcGFtX3NldGNyZWQoY3h0LT5wYW1oLCBQQU1fREVMRVRFX0NSRUQpOworCQlsb2dpbnBhbV9lcnIocGFtaCwgcmMpOworCX0KKworCXJjID0gcGFtX3NldGNyZWQocGFtaCwgUEFNX1JFSU5JVElBTElaRV9DUkVEKTsKKwlpZiAoaXNfcGFtX2ZhaWx1cmUocmMpKSB7CisJCXBhbV9jbG9zZV9zZXNzaW9uKHBhbWgsIDApOworCQlsb2dpbnBhbV9lcnIocGFtaCwgcmMpOworCX0KK30KKworLyoKKyAqIERldGFjaCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwsIGZvcmssIHJlc3RvcmUgc3lzbG9nIHN0dWZmLCBhbmQgY3JlYXRlCisgKiBhIG5ldyBzZXNzaW9uLgorICovCitzdGF0aWMgdm9pZCBmb3JrX3Nlc3Npb24oc3RydWN0IGxvZ2luX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3Qgc2lnYWN0aW9uIHNhLCBvbGRzYV9odXAsIG9sZHNhX3Rlcm07CisKKwlzaWduYWwoU0lHQUxSTSwgU0lHX0RGTCk7CisJc2lnbmFsKFNJR1FVSVQsIFNJR19ERkwpOworCXNpZ25hbChTSUdUU1RQLCBTSUdfSUdOKTsKKworCW1lbXNldCgmc2EsIDAsIHNpemVvZihzYSkpOworCXNhLnNhX2hhbmRsZXIgPSBTSUdfSUdOOworCXNpZ2FjdGlvbihTSUdJTlQsICZzYSwgTlVMTCk7CisKKwlzaWdhY3Rpb24oU0lHSFVQLCAmc2EsICZvbGRzYV9odXApOwkvKiBpZ25vcmUgd2hlbiBUSU9DTk9UVFkgKi8KKworCS8qCisJICogRGV0YWNoIHRoZSBjb250cm9sbGluZyB0dHkuCisJICogV2UgZG9uJ3QgbmVlZCB0aGUgdHR5IGluIGEgcGFyZW50IHdobyBvbmx5IHdhaXRzIGZvciBhIGNoaWxkLgorCSAqIFRoZSBjaGlsZCBjYWxscyBzZXRzaWQoKSB0aGF0IGRldGFjaGVzIGZyb20gdGhlIHR0eSBhcyB3ZWxsLgorCSAqLworCWlvY3RsKDAsIFRJT0NOT1RUWSwgTlVMTCk7CisKKwkvKgorCSAqIFdlIGhhdmUgdG8gYmV3YXJlIG9mIFNJR1RFUk0sIGJlY2F1c2UgbGVhdmluZyBhIFBBTSBzZXNzaW9uCisJICogd2l0aG91dCBwYW1fY2xvc2Vfc2Vzc2lvbigpIGlzIGEgcHJldHR5IGJhZCB0aGluZy4KKwkgKi8KKwlzYS5zYV9oYW5kbGVyID0gc2lnX2hhbmRsZXI7CisJc2lnYWN0aW9uKFNJR0hVUCwgJnNhLCBOVUxMKTsKKwlzaWdhY3Rpb24oU0lHVEVSTSwgJnNhLCAmb2xkc2FfdGVybSk7CisKKwljbG9zZWxvZygpOworCisJLyoKKwkgKiBXZSBtdXN0IGZvcmsgYmVmb3JlIHNldHVpZCgpLCBiZWNhdXNlIHdlIG5lZWQgdG8gY2FsbAorCSAqIHBhbV9jbG9zZV9zZXNzaW9uKCkgYXMgcm9vdC4KKwkgKi8KKwljaGlsZF9waWQgPSBmb3JrKCk7CisJaWYgKGNoaWxkX3BpZCA8IDApIHsKKwkJd2FybihfKCJmb3JrIGZhaWxlZCIpKTsKKworCQlwYW1fc2V0Y3JlZChjeHQtPnBhbWgsIFBBTV9ERUxFVEVfQ1JFRCk7CisJCXBhbV9lbmQoY3h0LT5wYW1oLCBwYW1fY2xvc2Vfc2Vzc2lvbihjeHQtPnBhbWgsIDApKTsKKwkJc2xlZXBleGl0KEVYSVRfRkFJTFVSRSk7CisJfQorCisJaWYgKGNoaWxkX3BpZCkgeworCQkvKgorCQkgKiBwYXJlbnQgLSB3YWl0IGZvciBjaGlsZCB0byBmaW5pc2gsIHRoZW4gY2xlYW4gdXAgc2Vzc2lvbgorCQkgKi8KKwkJY2xvc2UoMCk7CisJCWNsb3NlKDEpOworCQljbG9zZSgyKTsKKwkJc2Euc2FfaGFuZGxlciA9IFNJR19JR047CisJCXNpZ2FjdGlvbihTSUdRVUlULCAmc2EsIE5VTEwpOworCQlzaWdhY3Rpb24oU0lHSU5ULCAmc2EsIE5VTEwpOworCisJCS8qIHdhaXQgYXMgbG9uZyBhcyBhbnkgY2hpbGQgaXMgdGhlcmUgKi8KKwkJd2hpbGUgKHdhaXQoTlVMTCkgPT0gLTEgJiYgZXJybm8gPT0gRUlOVFIpIDsKKwkJb3BlbmxvZygibG9naW4iLCBMT0dfT0RFTEFZLCBMT0dfQVVUSFBSSVYpOworCisJCXBhbV9zZXRjcmVkKGN4dC0+cGFtaCwgUEFNX0RFTEVURV9DUkVEKTsKKwkJcGFtX2VuZChjeHQtPnBhbWgsIHBhbV9jbG9zZV9zZXNzaW9uKGN4dC0+cGFtaCwgMCkpOworCQlleGl0KEVYSVRfU1VDQ0VTUyk7CisJfQorCisJLyoKKwkgKiBjaGlsZAorCSAqLworCXNpZ2FjdGlvbihTSUdIVVAsICZvbGRzYV9odXAsIE5VTEwpOwkJLyogcmVzdG9yZSBvbGQgc3RhdGUgKi8KKwlzaWdhY3Rpb24oU0lHVEVSTSwgJm9sZHNhX3Rlcm0sIE5VTEwpOworCWlmIChnb3Rfc2lnKQorCQlleGl0KEVYSVRfRkFJTFVSRSk7CisKKwkvKgorCSAqIFByb2JsZW06IGlmIHRoZSB1c2VyJ3Mgc2hlbGwgaXMgYSBzaGVsbCBsaWtlIGFzaCB0aGF0IGRvZXNuJ3QgZG8KKwkgKiBzZXRzaWQoKSBvciBzZXRwZ3JwKCksIHRoZW4gYSBjdHJsLVwsIHNlbmRpbmcgU0lHUVVJVCB0byBldmVyeQorCSAqIHByb2Nlc3MgaW4gdGhlIHBncnAsIHdpbGwga2lsbCB1cy4KKwkgKi8KKworCS8qIHN0YXJ0IG5ldyBzZXNzaW9uICovCisJc2V0c2lkKCk7CisKKwkvKiBtYWtlIHN1cmUgd2UgaGF2ZSBhIGNvbnRyb2xsaW5nIHR0eSAqLworCW9wZW5fdHR5KGN4dC0+dHR5X3BhdGgpOworCW9wZW5sb2coImxvZ2luIiwgTE9HX09ERUxBWSwgTE9HX0FVVEhQUklWKTsJLyogcmVvcGVuICovCisKKwkvKgorCSAqIFRJT0NTQ1RUWTogc3RlYWwgdHR5IGZyb20gb3RoZXIgcHJvY2VzcyBncm91cC4KKwkgKi8KKwlpZiAoaW9jdGwoMCwgVElPQ1NDVFRZLCAxKSkKKwkJc3lzbG9nKExPR19FUlIsIF8oIlRJT0NTQ1RUWSBmYWlsZWQ6ICVtIikpOworCXNpZ25hbChTSUdJTlQsIFNJR19ERkwpOworfQorCisvKgorICogSW5pdGlhbGl6ZSAkVEVSTSwgJEhPTUUsIC4uLgorICovCitzdGF0aWMgdm9pZCBpbml0X2Vudmlyb24oc3RydWN0IGxvZ2luX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgcGFzc3dkICpwd2QgPSBjeHQtPnB3ZDsKKwljaGFyICp0ZXJtZW52LCAqKmVudjsKKwljaGFyIHRtcFtQQVRIX01BWF07CisJaW50IGxlbiwgaTsKKworCXRlcm1lbnYgPSBnZXRlbnYoIlRFUk0iKTsKKwlpZiAodGVybWVudikKKwkJdGVybWVudiA9IHhzdHJkdXAodGVybWVudik7CisKKwkvKiBkZXN0cm95IGVudmlyb25tZW50IHVubGVzcyB1c2VyIGhhcyByZXF1ZXN0ZWQgcHJlc2VydmF0aW9uICgtcCkgKi8KKwlpZiAoIWN4dC0+a2VlcF9lbnYpIHsKKwkJZW52aXJvbiA9IHhtYWxsb2Moc2l6ZW9mKGNoYXIgKikpOworCQltZW1zZXQoZW52aXJvbiwgMCwgc2l6ZW9mKGNoYXIgKikpOworCX0KKworCXhzZXRlbnYoIkhPTUUiLCBwd2QtPnB3X2RpciwgMCk7CS8qIGxlZ2FsIHRvIG92ZXJyaWRlICovCisJeHNldGVudigiVVNFUiIsIHB3ZC0+cHdfbmFtZSwgMSk7CisJeHNldGVudigiU0hFTEwiLCBwd2QtPnB3X3NoZWxsLCAxKTsKKwl4c2V0ZW52KCJURVJNIiwgdGVybWVudiA/IHRlcm1lbnYgOiAiZHVtYiIsIDEpOworCWZyZWUodGVybWVudik7CisKKwlpZiAocHdkLT5wd191aWQpIHsKKwkJaWYgKGxvZ2luZGVmc19zZXRlbnYoIlBBVEgiLCAiRU5WX1BBVEgiLCBfUEFUSF9ERUZQQVRIKSAhPSAwKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIHNldCB0aGUgJXMgZW52aXJvbm1lbnQgdmFyaWFibGUiKSwgIlBBVEgiKTsKKworCX0gZWxzZSBpZiAobG9naW5kZWZzX3NldGVudigiUEFUSCIsICJFTlZfUk9PVFBBVEgiLCBOVUxMKSAhPSAwICYmCisJCSAgIGxvZ2luZGVmc19zZXRlbnYoIlBBVEgiLCAiRU5WX1NVUEFUSCIsIF9QQVRIX0RFRlBBVEhfUk9PVCkgIT0gMCkgeworCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIHNldCB0aGUgJXMgZW52aXJvbm1lbnQgdmFyaWFibGUiKSwgIlBBVEgiKTsKKwl9CisKKwkvKiBtYWlseCB3aWxsIGdpdmUgYSBmdW5ueSBlcnJvciBtc2cgaWYgeW91IGZvcmdldCB0aGlzIG9uZSAqLworCWxlbiA9IHNucHJpbnRmKHRtcCwgc2l6ZW9mKHRtcCksICIlcy8lcyIsIF9QQVRIX01BSUxESVIsIHB3ZC0+cHdfbmFtZSk7CisJaWYgKGxlbiA+IDAgJiYgKHNpemVfdCkgbGVuIDwgc2l6ZW9mKHRtcCkpCisJCXhzZXRlbnYoIk1BSUwiLCB0bXAsIDApOworCisJLyogTE9HTkFNRSBpcyBub3QgZG9jdW1lbnRlZCBpbiBsb2dpbigxKSBidXQgSFAtVVggNi41IGRvZXMgaXQuIFdlJ2xsCisJICogbm90IGFsbG93IG1vZGlmeWluZyBpdC4KKwkgKi8KKwl4c2V0ZW52KCJMT0dOQU1FIiwgcHdkLT5wd19uYW1lLCAxKTsKKworCWVudiA9IHBhbV9nZXRlbnZsaXN0KGN4dC0+cGFtaCk7CisJZm9yIChpID0gMDsgZW52ICYmIGVudltpXTsgaSsrKQorCQlwdXRlbnYoZW52W2ldKTsKK30KKworLyoKKyAqIFRoaXMgaXMgY2FsbGVkIGZvciB0aGUgLWggb3B0aW9uLCBpbml0aWFsaXplcyBjeHQtPntob3N0bmFtZSxob3N0YWRkcmVzc30uCisgKi8KK3N0YXRpYyB2b2lkIGluaXRfcmVtb3RlX2luZm8oc3RydWN0IGxvZ2luX2NvbnRleHQgKmN4dCwgY2hhciAqcmVtb3RlaG9zdCkKK3sKKwljb25zdCBjaGFyICpkb21haW47CisJY2hhciAqcDsKKwlzdHJ1Y3QgYWRkcmluZm8gaGludHMsICppbmZvID0gTlVMTDsKKworCWN4dC0+cmVtb3RlID0gMTsKKworCWdldF90aGlzaG9zdChjeHQsICZkb21haW4pOworCisJaWYgKGRvbWFpbiAmJiAocCA9IHN0cmNocihyZW1vdGVob3N0LCAnLicpKSAmJgorCSAgICBzdHJjYXNlY21wKHAgKyAxLCBkb21haW4pID09IDApCisJCSpwID0gJ1wwJzsKKworCWN4dC0+aG9zdG5hbWUgPSB4c3RyZHVwKHJlbW90ZWhvc3QpOworCisJbWVtc2V0KCZoaW50cywgMCwgc2l6ZW9mKGhpbnRzKSk7CisJaGludHMuYWlfZmxhZ3MgPSBBSV9BRERSQ09ORklHOworCWN4dC0+aG9zdGFkZHJlc3NbMF0gPSAwOworCisJaWYgKGdldGFkZHJpbmZvKGN4dC0+aG9zdG5hbWUsIE5VTEwsICZoaW50cywgJmluZm8pID09IDAgJiYgaW5mbykgeworCQlpZiAoaW5mby0+YWlfZmFtaWx5ID09IEFGX0lORVQpIHsKKwkJCXN0cnVjdCBzb2NrYWRkcl9pbiAqc2EgPQorCQkJCSAgICAoc3RydWN0IHNvY2thZGRyX2luICopIGluZm8tPmFpX2FkZHI7CisKKwkJCW1lbWNweShjeHQtPmhvc3RhZGRyZXNzLCAmKHNhLT5zaW5fYWRkciksIHNpemVvZihzYS0+c2luX2FkZHIpKTsKKworCQl9IGVsc2UgaWYgKGluZm8tPmFpX2ZhbWlseSA9PSBBRl9JTkVUNikgeworCQkJc3RydWN0IHNvY2thZGRyX2luNiAqc2EgPQorCQkJCSAgICAgKHN0cnVjdCBzb2NrYWRkcl9pbjYgKikgaW5mby0+YWlfYWRkcjsKKworCQkJbWVtY3B5KGN4dC0+aG9zdGFkZHJlc3MsICYoc2EtPnNpbjZfYWRkciksIHNpemVvZihzYS0+c2luNl9hZGRyKSk7CisJCX0KKwkJZnJlZWFkZHJpbmZvKGluZm8pOworCX0KK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBjOworCWludCBjbnQ7CisJY2hhciAqY2hpbGRBcmd2WzEwXTsKKwljaGFyICpidWZmOworCWludCBjaGlsZEFyZ2MgPSAwOworCWludCByZXRjb2RlOworCXN0cnVjdCBzaWdhY3Rpb24gYWN0OworCisJY2hhciAqcHdkYnVmID0gTlVMTDsKKwlzdHJ1Y3QgcGFzc3dkICpwd2QgPSBOVUxMLCBfcHdkOworCisJc3RydWN0IGxvZ2luX2NvbnRleHQgY3h0ID0geworCQkudHR5X21vZGUgPSBUVFlfTU9ERSwJCSAgLyogdHR5IGNobW9kKCkgKi8KKwkJLnBpZCA9IGdldHBpZCgpLAkJICAvKiBQSUQgKi8KKyNpZmRlZiBIQVZFX1NFQ1VSSVRZX1BBTV9NSVNDX0gKKwkJLmNvbnYgPSB7IG1pc2NfY29udiwgTlVMTCB9CSAgLyogTGludXgtUEFNIGNvbnZlcnNhdGlvbiBmdW5jdGlvbiAqLworI2VsaWYgZGVmaW5lZChIQVZFX1NFQ1VSSVRZX09QRU5QQU1fSCkKKwkJLmNvbnYgPSB7IG9wZW5wYW1fdHR5Y29udiwgTlVMTCB9IC8qIE9wZW5QQU0gY29udmVyc2F0aW9uIGZ1bmN0aW9uICovCisjZW5kaWYKKworCX07CisKKwl0aW1lb3V0ID0gKHVuc2lnbmVkIGludClnZXRsb2dpbmRlZnNfbnVtKCJMT0dJTl9USU1FT1VUIiwgTE9HSU5fVElNRU9VVCk7CisKKwlzaWduYWwoU0lHQUxSTSwgdGltZWRvdXQpOworCSh2b2lkKSBzaWdhY3Rpb24oU0lHQUxSTSwgTlVMTCwgJmFjdCk7CisJYWN0LnNhX2ZsYWdzICY9IH5TQV9SRVNUQVJUOworCXNpZ2FjdGlvbihTSUdBTFJNLCAmYWN0LCBOVUxMKTsKKwlhbGFybSh0aW1lb3V0KTsKKwlzaWduYWwoU0lHUVVJVCwgU0lHX0lHTik7CisJc2lnbmFsKFNJR0lOVCwgU0lHX0lHTik7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCisJc2V0cHJpb3JpdHkoUFJJT19QUk9DRVNTLCAwLCAwKTsKKwlpbml0cHJvY3RpdGxlKGFyZ2MsIGFyZ3YpOworCisJLyoKKwkgKiAtcCBpcyB1c2VkIGJ5IGdldHR5IHRvIHRlbGwgbG9naW4gbm90IHRvIGRlc3Ryb3kgdGhlIGVudmlyb25tZW50CisJICogLWYgaXMgdXNlZCB0byBza2lwIGEgc2Vjb25kIGxvZ2luIGF1dGhlbnRpY2F0aW9uCisJICogLWggaXMgdXNlZCBieSBvdGhlciBzZXJ2ZXJzIHRvIHBhc3MgdGhlIG5hbWUgb2YgdGhlIHJlbW90ZQorCSAqICAgIGhvc3QgdG8gbG9naW4gc28gdGhhdCBpdCBtYXkgYmUgcGxhY2VkIGluIHV0bXAgYW5kIHd0bXAKKwkgKi8KKwl3aGlsZSAoKGMgPSBnZXRvcHQoYXJnYywgYXJndiwgImZIaDpwViIpKSAhPSAtMSkKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ2YnOgorCQkJY3h0Lm5vYXV0aCA9IDE7CisJCQlicmVhazsKKworCQljYXNlICdIJzoKKwkJCWN4dC5ub2hvc3QgPSAxOworCQkJYnJlYWs7CisKKwkJY2FzZSAnaCc6CisJCQlpZiAoZ2V0dWlkKCkpIHsKKwkJCQlmcHJpbnRmKHN0ZGVyciwKKwkJCQkJXygibG9naW46IC1oIGlzIGZvciBzdXBlcnVzZXIgb25seVxuIikpOworCQkJCWV4aXQoRVhJVF9GQUlMVVJFKTsKKwkJCX0KKwkJCWluaXRfcmVtb3RlX2luZm8oJmN4dCwgb3B0YXJnKTsKKwkJCWJyZWFrOworCisJCWNhc2UgJ3AnOgorCQkJY3h0LmtlZXBfZW52ID0gMTsKKwkJCWJyZWFrOworCisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICc/JzoKKwkJZGVmYXVsdDoKKwkJCWZwcmludGYoc3RkZXJyLCBfKCJVc2FnZTogbG9naW4gWy1wXSBbLWggPGhvc3Q+XSBbLUhdIFtbLWZdIDx1c2VybmFtZT5dXG4iKSk7CisJCQlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIHN0ZGVycik7CisJCQlmcHV0cyhfKCJCZWdpbiBhIHNlc3Npb24gb24gdGhlIHN5c3RlbS5cbiIpLCBzdGRlcnIpOworCQkJZXhpdChFWElUX0ZBSUxVUkUpOworCQl9CisJYXJnYyAtPSBvcHRpbmQ7CisJYXJndiArPSBvcHRpbmQ7CisKKwlpZiAoKmFyZ3YpIHsKKwkJY2hhciAqcCA9ICphcmd2OworCQljeHQudXNlcm5hbWUgPSB4c3RyZHVwKHApOworCisJCS8qIFdpcGUgdGhlIG5hbWUgLSBzb21lIHBlb3BsZSBtaXN0eXBlIHRoZWlyIHBhc3N3b3JkIGhlcmUuICovCisJCS8qIChPZiBjb3Vyc2Ugd2UgYXJlIHRvbyBsYXRlLCBidXQgcGVyaGFwcyB0aGlzIGhlbHBzIGEgbGl0dGxlLi4uKSAqLworCQl3aGlsZSAoKnApCisJCQkqcCsrID0gJyAnOworCX0KKworCWZvciAoY250ID0gZ2V0X2ZkX3RhYnNpemUoKSAtIDE7IGNudCA+IDI7IGNudC0tKQorCQljbG9zZShjbnQpOworCisJc2V0cGdycCgpOwkgLyogc2V0IHBnaWQgdG8gcGlkIHRoaXMgbWVhbnMgdGhhdCBzZXRzaWQoKSB3aWxsIGZhaWwgKi8KKwlpbml0X3R0eSgmY3h0KTsKKworCW9wZW5sb2coImxvZ2luIiwgTE9HX09ERUxBWSwgTE9HX0FVVEhQUklWKTsKKworCWluaXRfbG9naW5wYW0oJmN4dCk7CisKKwkvKiBsb2dpbiAtZiwgdGhlbiB0aGUgdXNlciBoYXMgYWxyZWFkeSBiZWVuIGF1dGhlbnRpY2F0ZWQgKi8KKwljeHQubm9hdXRoID0gY3h0Lm5vYXV0aCAmJiBnZXR1aWQoKSA9PSAwID8gMSA6IDA7CisKKwlpZiAoIWN4dC5ub2F1dGgpCisJCWxvZ2lucGFtX2F1dGgoJmN4dCk7CisKKwkvKgorCSAqIEF1dGhlbnRpY2F0aW9uIG1heSBiZSBza2lwcGVkIChmb3IgZXhhbXBsZSwgZHVyaW5nIGtybG9naW4sIHJsb2dpbiwKKwkgKiBldGMuLi4pLCBidXQgaXQgZG9lc24ndCBtZWFuIHRoYXQgd2UgY2FuIHNraXAgb3RoZXIgYWNjb3VudCBjaGVja3MuCisJICogVGhlIGFjY291bnQgY291bGQgYmUgZGlzYWJsZWQgb3IgdGhlIHBhc3N3b3JkIGhhcyBleHBpcmVkIChhbHRob3VnaAorCSAqIHRoZSBrZXJiZXJvcyB0aWNrZXQgaXMgdmFsaWQpLiAgICAgIC0tIGt6YWtAcmVkaGF0LmNvbSAoMjItRmViLTIwMDYpCisJICovCisJbG9naW5wYW1fYWNjdCgmY3h0KTsKKworCWlmICghKGN4dC5wd2QgPSBnZXRfcGFzc3dkX2VudHJ5KGN4dC51c2VybmFtZSwgJnB3ZGJ1ZiwgJl9wd2QpKSkgeworCQl3YXJueChfKCJcblNlc3Npb24gc2V0dXAgcHJvYmxlbSwgYWJvcnQuIikpOworCQlzeXNsb2coTE9HX0VSUiwgXygiSW52YWxpZCB1c2VyIG5hbWUgXCIlc1wiIGluICVzOiVkLiBBYm9ydC4iKSwKKwkJICAgICAgIGN4dC51c2VybmFtZSwgX19GVU5DVElPTl9fLCBfX0xJTkVfXyk7CisJCXBhbV9lbmQoY3h0LnBhbWgsIFBBTV9TWVNURU1fRVJSKTsKKwkJc2xlZXBleGl0KEVYSVRfRkFJTFVSRSk7CisJfQorCisJcHdkID0gY3h0LnB3ZDsKKwljeHQudXNlcm5hbWUgPSBwd2QtPnB3X25hbWU7CisKKwkvKgorCSAqIEluaXRpYWxpemUgdGhlIHN1cHBsZW1lbnRhcnkgZ3JvdXAgbGlzdC4gVGhpcyBzaG91bGQgYmUgZG9uZSBiZWZvcmUKKwkgKiBwYW1fc2V0Y3JlZCwgYmVjYXVzZSBQQU0gbW9kdWxlcyBtaWdodCBhZGQgZ3JvdXBzIGR1cmluZyB0aGF0IGNhbGwuCisJICoKKwkgKiBGb3Igcm9vdCB3ZSBkb24ndCBjYWxsIGluaXRncm91cHMsIGluc3RlYWQgd2UgY2FsbCBzZXRncm91cHMgd2l0aAorCSAqIGdyb3VwIDAuIFRoaXMgYXZvaWRzIHRoZSBuZWVkIHRvIHN0ZXAgdGhyb3VnaCB0aGUgd2hvbGUgZ3JvdXAgZmlsZSwKKwkgKiB3aGljaCBjYW4gY2F1c2UgcHJvYmxlbXMgaWYgTklTLCBOSVMrLCBMREFQIG9yIHNvbWV0aGluZyBzaW1pbGFyCisJICogaXMgdXNlZCBhbmQgdGhlIG1hY2hpbmUgaGFzIG5ldHdvcmsgcHJvYmxlbXMuCisJICovCisJcmV0Y29kZSA9IHB3ZC0+cHdfdWlkID8gaW5pdGdyb3VwcyhjeHQudXNlcm5hbWUsIHB3ZC0+cHdfZ2lkKSA6CS8qIHVzZXIgKi8KKwkJCSAgICAgICAgc2V0Z3JvdXBzKDAsIE5VTEwpOwkJCS8qIHJvb3QgKi8KKwlpZiAocmV0Y29kZSA8IDApIHsKKwkJc3lzbG9nKExPR19FUlIsIF8oImdyb3VwcyBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVtIikpOworCQl3YXJueChfKCJcblNlc3Npb24gc2V0dXAgcHJvYmxlbSwgYWJvcnQuIikpOworCQlwYW1fZW5kKGN4dC5wYW1oLCBQQU1fU1lTVEVNX0VSUik7CisJCXNsZWVwZXhpdChFWElUX0ZBSUxVUkUpOworCX0KKworCS8qCisJICogT3BlbiBQQU0gc2Vzc2lvbiAoYWZ0ZXIgc3VjY2Vzc2Z1bCBhdXRoZW50aWNhdGlvbiBhbmQgYWNjb3VudCBjaGVjaykuCisJICovCisJbG9naW5wYW1fc2Vzc2lvbigmY3h0KTsKKworCS8qIGNvbW1pdHRlZCB0byBsb2dpbiAtLSB0dXJuIG9mZiB0aW1lb3V0ICovCisJYWxhcm0oKHVuc2lnbmVkIGludCkwKTsKKworCWVuZHB3ZW50KCk7CisKKwljeHQucXVpZXQgPSBnZXRfaHVzaGxvZ2luX3N0YXR1cyhwd2QsIDEpOworCisJbG9nX3V0bXAoJmN4dCk7CisJbG9nX2F1ZGl0KCZjeHQsIDEpOworCWxvZ19sYXN0bG9nKCZjeHQpOworCisJY2hvd25fdHR5KCZjeHQpOworCisJaWYgKHNldGdpZChwd2QtPnB3X2dpZCkgPCAwICYmIHB3ZC0+cHdfZ2lkKSB7CisJCXN5c2xvZyhMT0dfQUxFUlQsIF8oInNldGdpZCgpIGZhaWxlZCIpKTsKKwkJZXhpdChFWElUX0ZBSUxVUkUpOworCX0KKworCWlmIChwd2QtPnB3X3NoZWxsID09IE5VTEwgfHwgKnB3ZC0+cHdfc2hlbGwgPT0gJ1wwJykKKwkJcHdkLT5wd19zaGVsbCA9IF9QQVRIX0JTSEVMTDsKKworCWluaXRfZW52aXJvbigmY3h0KTsJCS8qIGluaXQgJEhPTUUsICRURVJNIC4uLiAqLworCisJc2V0cHJvY3RpdGxlKCJsb2dpbiIsIGN4dC51c2VybmFtZSk7CisKKwlsb2dfc3lzbG9nKCZjeHQpOworCisJaWYgKCFjeHQucXVpZXQpIHsKKwkJbW90ZCgpOworCisjaWZkZWYgTE9HSU5fU1RBVF9NQUlMCisJCS8qCisJCSAqIFRoaXMgdHVybnMgb3V0IHRvIGJlIGEgYmFkIGlkZWE6IHdoZW4gdGhlIG1haWwgc3Bvb2wKKwkJICogaXMgTkZTIG1vdW50ZWQsIGFuZCB0aGUgTkZTIGNvbm5lY3Rpb24gaGFuZ3MsIHRoZQorCQkgKiBsb2dpbiBoYW5ncywgZXZlbiByb290IGNhbm5vdCBsb2dpbi4KKwkJICogQ2hlY2tpbmcgZm9yIG1haWwgc2hvdWxkIGJlIGRvbmUgZnJvbSB0aGUgc2hlbGwuCisJCSAqLworCQl7CisJCQlzdHJ1Y3Qgc3RhdCBzdDsKKwkJCWNoYXIgKm1haWw7CisKKwkJCW1haWwgPSBnZXRlbnYoIk1BSUwiKTsKKwkJCWlmIChtYWlsICYmIHN0YXQobWFpbCwgJnN0KSA9PSAwICYmIHN0LnN0X3NpemUgIT0gMCkgeworCQkJCWlmIChzdC5zdF9tdGltZSA+IHN0LnN0X2F0aW1lKQorCQkJCQlwcmludGYoXygiWW91IGhhdmUgbmV3IG1haWwuXG4iKSk7CisJCQkJZWxzZQorCQkJCQlwcmludGYoXygiWW91IGhhdmUgbWFpbC5cbiIpKTsKKwkJCX0KKwkJfQorI2VuZGlmCisJfQorCisJLyoKKwkgKiBEZXRhY2ggdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsLCBmb3JrLCBhbmQgY3JlYXRlIGEgbmV3IHNlc3Npb24KKwkgKiBhbmQgcmVpbml0aWFsaXplIHN5c2xvZyBzdHVmZi4KKwkgKi8KKwlmb3JrX3Nlc3Npb24oJmN4dCk7CisKKwkvKiBkaXNjYXJkIHBlcm1pc3Npb25zIGxhc3Qgc28gd2UgY2FuJ3QgZ2V0IGtpbGxlZCBhbmQgZHJvcCBjb3JlICovCisJaWYgKHNldHVpZChwd2QtPnB3X3VpZCkgPCAwICYmIHB3ZC0+cHdfdWlkKSB7CisJCXN5c2xvZyhMT0dfQUxFUlQsIF8oInNldHVpZCgpIGZhaWxlZCIpKTsKKwkJZXhpdChFWElUX0ZBSUxVUkUpOworCX0KKworCS8qIHdhaXQgdW50aWwgaGVyZSB0byBjaGFuZ2UgZGlyZWN0b3J5ISAqLworCWlmIChjaGRpcihwd2QtPnB3X2RpcikgPCAwKSB7CisJCXdhcm4oXygiJXM6IGNoYW5nZSBkaXJlY3RvcnkgZmFpbGVkIiksIHB3ZC0+cHdfZGlyKTsKKworCQlpZiAoIWdldGxvZ2luZGVmc19ib29sKCJERUZBVUxUX0hPTUUiLCAxKSkKKwkJCWV4aXQoMCk7CisJCWlmIChjaGRpcigiLyIpKQorCQkJZXhpdChFWElUX0ZBSUxVUkUpOworCQlwd2QtPnB3X2RpciA9ICIvIjsKKwkJcHJpbnRmKF8oIkxvZ2dpbmcgaW4gd2l0aCBob21lID0gXCIvXCIuXG4iKSk7CisJfQorCisJLyogaWYgdGhlIHNoZWxsIGZpZWxkIGhhcyBhIHNwYWNlOiB0cmVhdCBpdCBsaWtlIGEgc2hlbGwgc2NyaXB0ICovCisJaWYgKHN0cmNocihwd2QtPnB3X3NoZWxsLCAnICcpKSB7CisJCWJ1ZmYgPSB4bWFsbG9jKHN0cmxlbihwd2QtPnB3X3NoZWxsKSArIDYpOworCisJCXN0cmNweShidWZmLCAiZXhlYyAiKTsKKwkJc3RyY2F0KGJ1ZmYsIHB3ZC0+cHdfc2hlbGwpOworCQljaGlsZEFyZ3ZbY2hpbGRBcmdjKytdID0gIi9iaW4vc2giOworCQljaGlsZEFyZ3ZbY2hpbGRBcmdjKytdID0gIi1zaCI7CisJCWNoaWxkQXJndltjaGlsZEFyZ2MrK10gPSAiLWMiOworCQljaGlsZEFyZ3ZbY2hpbGRBcmdjKytdID0gYnVmZjsKKwl9IGVsc2UgeworCQljaGFyIHRidWZbUEFUSF9NQVggKyAyXSwgKnA7CisKKwkJdGJ1ZlswXSA9ICctJzsKKwkJeHN0cm5jcHkodGJ1ZiArIDEsICgocCA9IHN0cnJjaHIocHdkLT5wd19zaGVsbCwgJy8nKSkgPworCQkJCSAgICBwICsgMSA6IHB3ZC0+cHdfc2hlbGwpLCBzaXplb2YodGJ1ZikgLSAxKTsKKworCQljaGlsZEFyZ3ZbY2hpbGRBcmdjKytdID0gcHdkLT5wd19zaGVsbDsKKwkJY2hpbGRBcmd2W2NoaWxkQXJnYysrXSA9IHhzdHJkdXAodGJ1Zik7CisJfQorCisJY2hpbGRBcmd2W2NoaWxkQXJnYysrXSA9IE5VTEw7CisKKwlleGVjdnAoY2hpbGRBcmd2WzBdLCBjaGlsZEFyZ3YgKyAxKTsKKworCWlmICghc3RyY21wKGNoaWxkQXJndlswXSwgIi9iaW4vc2giKSkKKwkJd2FybihfKCJjb3VsZG4ndCBleGVjIHNoZWxsIHNjcmlwdCIpKTsKKwllbHNlCisJCXdhcm4oXygibm8gc2hlbGwiKSk7CisKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy9sb2dpbmRlZnMuYyBiL2xvZ2luLXV0aWxzL2xvZ2luZGVmcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwMmM0NzUKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy9sb2dpbmRlZnMuYwpAQCAtMCwwICsxLDQyOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwMywgMjAwNCwgMjAwNSBUaG9yc3RlbiBLdWt1aworICogQXV0aG9yOiBUaG9yc3RlbiBLdWt1ayA8a3VrdWtAc3VzZS5kZT4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gYW55IGV4aXN0aW5nIGNvcHlyaWdodAorICogICAgbm90aWNlLCBhbmQgdGhpcyBlbnRpcmUgcGVybWlzc2lvbiBub3RpY2UgaW4gaXRzIGVudGlyZXR5LAorICogICAgaW5jbHVkaW5nIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnRpZXMuCisgKgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIGFsbCBwcmlvciBhbmQgY3VycmVudAorICogICAgY29weXJpZ2h0IG5vdGljZXMsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zLCBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogMy4gVGhlIG5hbWUgb2YgYW55IGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlCisgKiAgICBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHRoZWlyIHNwZWNpZmljIHByaW9yCisgKiAgIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqLworI2luY2x1ZGUgPGFzc2VydC5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN5cy9zeXNsb2cuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHB3ZC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAibG9naW5kZWZzLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisKK3N0cnVjdCBpdGVtIHsKKwljaGFyICpuYW1lOwkJLyogbmFtZSBvZiB0aGUgb3B0aW9uLiAgKi8KKwljaGFyICp2YWx1ZTsJCS8qIHZhbHVlIG9mIHRoZSBvcHRpb24uICAqLworCWNoYXIgKnBhdGg7CQkvKiBuYW1lIG9mIGNvbmZpZyBmaWxlIGZvciB0aGlzIG9wdGlvbi4gICovCisKKwlzdHJ1Y3QgaXRlbSAqbmV4dDsJLyogcG9pbnRlciB0byBuZXh0IG9wdGlvbi4gICovCit9OworCitzdGF0aWMgc3RydWN0IGl0ZW0gKmxpc3QgPSBOVUxMOworCit2b2lkICgqbG9naW5kZWZzX2xvYWRfZGVmYXVsdHMpKHZvaWQpID0gTlVMTDsKKwordm9pZCBmcmVlX2dldGxvZ2luZGVmc19kYXRhKHZvaWQpCit7CisJc3RydWN0IGl0ZW0gKnB0cjsKKworCXB0ciA9IGxpc3Q7CisJd2hpbGUgKHB0cikgeworCQlzdHJ1Y3QgaXRlbSAqdG1wID0gcHRyLT5uZXh0OworCisJCWZyZWUocHRyLT5wYXRoKTsKKwkJZnJlZShwdHItPm5hbWUpOworCQlmcmVlKHB0ci0+dmFsdWUpOworCQlmcmVlKHB0cik7CisJCXB0ciA9IHRtcDsKKwl9CisKKwlsaXN0ID0gTlVMTDsKK30KKworc3RhdGljIHZvaWQgc3RvcmUoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsdWUsIGNvbnN0IGNoYXIgKnBhdGgpCit7CisJc3RydWN0IGl0ZW0gKm5ldyA9IHhtYWxsb2Moc2l6ZW9mKHN0cnVjdCBpdGVtKSk7CisKKwlpZiAoIW5hbWUpCisJCWFib3J0KCk7CisKKwluZXctPm5hbWUgPSB4c3RyZHVwKG5hbWUpOworCW5ldy0+dmFsdWUgPSB2YWx1ZSAmJiAqdmFsdWUgPyB4c3RyZHVwKHZhbHVlKSA6IE5VTEw7CisJbmV3LT5wYXRoID0geHN0cmR1cChwYXRoKTsKKwluZXctPm5leHQgPSBsaXN0OworCWxpc3QgPSBuZXc7Cit9CisKK3ZvaWQgbG9naW5kZWZzX2xvYWRfZmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSkKK3sKKwlGSUxFICpmOworCWNoYXIgYnVmW0JVRlNJWl07CisKKwlmID0gZm9wZW4oZmlsZW5hbWUsICJyIik7CisJaWYgKCFmKQorCQlyZXR1cm47CisKKwl3aGlsZSAoZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgZikpIHsKKworCQljaGFyICpwLCAqbmFtZSwgKmRhdGEgPSBOVUxMOworCisJCWlmICgqYnVmID09ICcjJyB8fCAqYnVmID09ICdcbicpCisJCQljb250aW51ZTsJLyogb25seSBjb21tZW50IG9yIGVtcHR5IGxpbmUgKi8KKworCQlwID0gc3RyY2hyKGJ1ZiwgJyMnKTsKKwkJaWYgKHApCisJCQkqcCA9ICdcMCc7CisJCWVsc2UgeworCQkJc2l6ZV90IG4gPSBzdHJsZW4oYnVmKTsKKwkJCWlmIChuICYmICooYnVmICsgbiAtIDEpID09ICdcbicpCisJCQkJKihidWYgKyBuIC0gMSkgPSAnXDAnOworCQl9CisKKwkJaWYgKCEqYnVmKQorCQkJY29udGludWU7CS8qIGVtcHR5IGxpbmUgKi8KKworCQkvKiBpZ25vcmUgc3BhY2UgYXQgYmVnaW4gb2YgdGhlIGxpbmUgKi8KKwkJbmFtZSA9IGJ1ZjsKKwkJd2hpbGUgKCpuYW1lICYmIGlzc3BhY2UoKHVuc2lnbmVkKSpuYW1lKSkKKwkJCW5hbWUrKzsKKworCQkvKiBnbyB0byB0aGUgZW5kIG9mIHRoZSBuYW1lICovCisJCWRhdGEgPSBuYW1lOworCQl3aGlsZSAoKmRhdGEgJiYgIShpc3NwYWNlKCh1bnNpZ25lZCkqZGF0YSkgfHwgKmRhdGEgPT0gJz0nKSkKKwkJCWRhdGErKzsKKwkJaWYgKGRhdGEgPiBuYW1lICYmICpkYXRhKQorCQkJKmRhdGErKyA9ICdcMCc7CisKKwkJaWYgKCEqbmFtZSB8fCBkYXRhID09IG5hbWUpCisJCQljb250aW51ZTsKKworCQkvKiBnbyB0byB0aGUgYmVnaW4gb2YgdGhlIHZhbHVlICovCisJCXdoaWxlICgqZGF0YQorCQkgICAgICAgJiYgKGlzc3BhY2UoKHVuc2lnbmVkKSpkYXRhKSB8fCAqZGF0YSA9PSAnPScKKwkJCSAgIHx8ICpkYXRhID09ICciJykpCisJCQlkYXRhKys7CisKKwkJLyogcmVtb3ZlIHNwYWNlIGF0IHRoZSBlbmQgb2YgdGhlIHZhbHVlICovCisJCXAgPSBkYXRhICsgc3RybGVuKGRhdGEpOworCQlpZiAocCA+IGRhdGEpCisJCQlwLS07CisJCXdoaWxlIChwID4gZGF0YSAmJiAoaXNzcGFjZSgodW5zaWduZWQpKnApIHx8ICpwID09ICciJykpCisJCQkqcC0tID0gJ1wwJzsKKworCQlzdG9yZShuYW1lLCBkYXRhLCBmaWxlbmFtZSk7CisJfQorCisJZmNsb3NlKGYpOworfQorCitzdGF0aWMgdm9pZCBsb2FkX2RlZmF1bHRzKHZvaWQpCit7CisJaWYgKGxvZ2luZGVmc19sb2FkX2RlZmF1bHRzKQorCQlsb2dpbmRlZnNfbG9hZF9kZWZhdWx0cygpOworCWVsc2UKKwkJbG9naW5kZWZzX2xvYWRfZmlsZShfUEFUSF9MT0dJTkRFRlMpOworfQorCitzdGF0aWMgc3RydWN0IGl0ZW0gKnNlYXJjaChjb25zdCBjaGFyICpuYW1lKQoreworCXN0cnVjdCBpdGVtICpwdHI7CisKKwlpZiAoIWxpc3QpCisJCWxvYWRfZGVmYXVsdHMoKTsKKworCXB0ciA9IGxpc3Q7CisJd2hpbGUgKHB0ciAhPSBOVUxMKSB7CisJCWlmIChzdHJjYXNlY21wKG5hbWUsIHB0ci0+bmFtZSkgPT0gMCkKKwkJCXJldHVybiBwdHI7CisJCXB0ciA9IHB0ci0+bmV4dDsKKwl9CisKKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIGNvbnN0IGNoYXIgKnNlYXJjaF9jb25maWcoY29uc3QgY2hhciAqbmFtZSkKK3sKKwlzdHJ1Y3QgaXRlbSAqcHRyOworCisJcHRyID0gbGlzdDsKKwl3aGlsZSAocHRyICE9IE5VTEwpIHsKKwkJaWYgKHN0cmNhc2VjbXAobmFtZSwgcHRyLT5uYW1lKSA9PSAwKQorCQkJcmV0dXJuIHB0ci0+cGF0aDsKKwkJcHRyID0gcHRyLT5uZXh0OworCX0KKworCXJldHVybiBOVUxMOworfQorCitpbnQgZ2V0bG9naW5kZWZzX2Jvb2woY29uc3QgY2hhciAqbmFtZSwgaW50IGRmbHQpCit7CisJc3RydWN0IGl0ZW0gKnB0ciA9IHNlYXJjaChuYW1lKTsKKwlyZXR1cm4gcHRyICYmIHB0ci0+dmFsdWUgPyAoc3RyY2FzZWNtcChwdHItPnZhbHVlLCAieWVzIikgPT0gMCkgOiBkZmx0OworfQorCit1bnNpZ25lZCBsb25nIGdldGxvZ2luZGVmc19udW0oY29uc3QgY2hhciAqbmFtZSwgbG9uZyBkZmx0KQoreworCXN0cnVjdCBpdGVtICpwdHIgPSBzZWFyY2gobmFtZSk7CisJY2hhciAqZW5kID0gTlVMTDsKKwl1bnNpZ25lZCBsb25nIHJldHZhbDsKKworCWlmICghcHRyIHx8ICFwdHItPnZhbHVlKQorCQlyZXR1cm4gZGZsdDsKKworCWVycm5vID0gMDsKKwlyZXR2YWwgPSBzdHJ0b3VsKHB0ci0+dmFsdWUsICZlbmQsIDApOworCWlmIChlbmQgJiYgKmVuZCA9PSAnXDAnICYmICFlcnJubykKKwkJcmV0dXJuIHJldHZhbDsKKworCXN5c2xvZyhMT0dfTk9USUNFLCBfKCIlczogJXMgY29udGFpbnMgaW52YWxpZCBudW1lcmljYWwgdmFsdWU6ICVzIiksCisJICAgICAgIHNlYXJjaF9jb25maWcobmFtZSksIG5hbWUsIHB0ci0+dmFsdWUpOworCXJldHVybiBkZmx0OworfQorCisvKgorICogUmV0dXJuczoKKyAqCUBkZmx0CQlpZiBAbmFtZSBub3QgZm91bmQKKyAqCSIiCQkoZW1wdHkgc3RyaW5nKSBpZiBmb3VuZCwgYnV0IHZhbHVlIG5vdCBkZWZpbmVkCisgKgkic3RyaW5nIglpZiBmb3VuZAorICovCitjb25zdCBjaGFyICpnZXRsb2dpbmRlZnNfc3RyKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKmRmbHQpCit7CisJc3RydWN0IGl0ZW0gKnB0ciA9IHNlYXJjaChuYW1lKTsKKworCWlmICghcHRyKQorCQlyZXR1cm4gZGZsdDsKKwlpZiAoIXB0ci0+dmFsdWUpCisJCXJldHVybiAiIjsKKwlyZXR1cm4gcHRyLT52YWx1ZTsKK30KKworLyoKKyAqIEZvciBjb21wYXRpYmlsaXR5IHdpdGggc2hhZG93LXV0aWxzIHdlIGhhdmUgdG8gc3VwcG9ydCBhZGRpdGlvbmFsCisgKiBzeW50YXggZm9yIGVudmlyb25tZW50IHZhcmlhYmxlcyBpbiBsb2dpbi5kZWZzKDUpIGZpbGUuIFRoZSBzdGFuZGFyZAorICogc3ludGF4IGlzOgorICoKKyAqCUVOVl9GT08gICBkYXRhCisgKgorICogYnV0IHNoYWRvdy11dGlscyBzdXBwb3J0cyBhbHNvCisgKgorICoJRU5WX0ZPTyBGT089ZGF0YQorICoKKyAqIHRoZSBGT089IHByZWZpeCBoYXMgdG8gYmUgcmVtb3ZlIGJlZm9yZSB3ZSBjYWxsIHNldGVudigpLgorICovCitpbnQgbG9naW5kZWZzX3NldGVudihjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpjb25mLCBjb25zdCBjaGFyICpkZmx0KQoreworCWNvbnN0IGNoYXIgKnZhbCA9IGdldGxvZ2luZGVmc19zdHIoY29uZiwgZGZsdCk7CisJY29uc3QgY2hhciAqcDsKKworCWlmICghdmFsKQorCQlyZXR1cm4gLTE7CisKKwlwID0gc3RyY2hyKHZhbCwgJz0nKTsKKwlpZiAocCkgeworCQlzaXplX3Qgc3ogPSBzdHJsZW4obmFtZSk7CisKKwkJaWYgKHN0cm5jbXAodmFsLCBuYW1lLCBzeikgPT0gMCAmJiAqKHAgKyAxKSkgeworCQkJdmFsID0gcCArIDE7CisJCQlpZiAoKnZhbCA9PSAnIicpCisJCQkJdmFsKys7CisJCQlpZiAoISp2YWwpCisJCQkJdmFsID0gZGZsdDsKKwkJfQorCX0KKworCXJldHVybiB2YWwgPyBzZXRlbnYobmFtZSwgdmFsLCAxKSA6IC0xOworfQorCisvKgorICogV2UgbmVlZCB0byBjaGVjayB0aGUgZWZmZWN0aXZlIFVJRC9HSUQuIEZvciBleGFtcGxlLCAkSE9NRSBjb3VsZCBiZSBvbiBhCisgKiByb290LXNxdWFzaGVkIE5GUyBvciBvbiBhbiBORlMgd2l0aCBVSUQgbWFwcGluZywgYW5kIGFjY2VzcygyKSB1c2VzIHRoZQorICogcmVhbCBVSUQvR0lELiAgVGhlbiBvcGVuKDIpIHNlZW1zIGFzIHRoZSBzdXJlc3Qgc29sdXRpb24uCisgKiAtLSBremFrQHJlZGhhdC5jb20gKDEwLUFwci0yMDA5KQorICovCitpbnQgZWZmZWN0aXZlX2FjY2Vzcyhjb25zdCBjaGFyICpwYXRoLCBpbnQgbW9kZSkKK3sKKwlpbnQgZmQgPSBvcGVuKHBhdGgsIG1vZGUpOworCWlmIChmZCAhPSAtMSkKKwkJY2xvc2UoZmQpOworCXJldHVybiBmZCA9PSAtMSA/IC0xIDogMDsKK30KKworCisvKgorICogQ2hlY2sgdGhlIHBlci1hY2NvdW50IG9yIHRoZSBnbG9iYWwgaHVzaC1sb2dpbiBzZXR0aW5nLgorICoKKyAqIEh1c2hlZCBtb2RlIGlzIGVuYWJsZWQ6CisgKgorICogYSkgaWYgYSBnbG9iYWwgKGUuZy4gL2V0Yy9odXNobG9naW5zKSBodXNoIGZpbGUgZXhpc3RzOgorICogICAgIDEpIGZvciBBTEwgQUNDT1VOVFMgaWYgdGhlIGZpbGUgaXMgZW1wdHkKKyAqICAgICAyKSBmb3IgdGhlIGN1cnJlbnQgdXNlciBpZiB0aGUgdXNlcm5hbWUgb3Igc2hlbGwgaXMgZm91bmQgaW4gdGhlIGZpbGUKKyAqCisgKiBiKSBpZiBhIH4vLmh1c2hsb2dpbiBmaWxlIGV4aXN0cworICoKKyAqIFRoZSB+Ly5odXNobG9naW4gZmlsZSBpcyBpZ25vcmVkIGlmIHRoZSBnbG9iYWwgaHVzaCBmaWxlIGV4aXN0cy4KKyAqCisgKiBUaGUgSFVTSExPR0lOX0ZJTEUgbG9naW4uZGVmIHZhcmlhYmxlIG92ZXJyaWRlcyB0aGUgZGVmYXVsdCBodXNoIGZpbGVuYW1lLgorICoKKyAqIE5vdGUgdGhhdCBzaGFkb3ctdXRpbHMgbG9naW4oMSkgZG9lcyBub3Qgc3VwcG9ydCAiYTEpIi4gVGhlICJhMSkiIGlzCisgKiBuZWNlc3NhcnkgaWYgeW91IHdhbnQgdG8gdXNlIFBBTSBmb3IgIkxhc3QgbG9naW4iIG1lc3NhZ2UuCisgKgorICogLS0gS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+ICgyNi1BdWctMjAxMSkKKyAqCisgKgorICogVGhlIHBlci1hY2NvdW50IGNoZWNrIHJlcXVpcmVzIHNvbWUgZXhwbGFuYXRpb246IEFzIHJvb3Qgd2UgbWF5IG5vdCBiZSBhYmxlCisgKiB0byByZWFkIHRoZSBkaXJlY3Rvcnkgb2YgdGhlIHVzZXIgaWYgaXQgaXMgb24gYW4gTkZTLW1vdW50ZWQgZmlsZXN5c3RlbS4gV2UKKyAqIHRlbXBvcmFyaWx5IHNldCBvdXIgZWZmZWN0aXZlIHVpZCB0byB0aGUgdXNlci11aWQsIG1ha2luZyBzdXJlIHRoYXQgd2Uga2VlcAorICogcm9vdCBwcml2aWxlZ2VzIGluIHRoZSByZWFsIHVpZC4KKyAqCisgKiBBIHBvcnRhYmxlIHNvbHV0aW9uIHdvdWxkIHJlcXVpcmUgYSBmb3JrKCksIGJ1dCB3ZSByZWx5IG9uIExpbnV4IGhhdmluZyB0aGUKKyAqIEJTRCBzZXRyZXVpZCgpLgorICovCisKK2ludCBnZXRfaHVzaGxvZ2luX3N0YXR1cyhzdHJ1Y3QgcGFzc3dkICpwd2QsIGludCBmb3JjZV9jaGVjaykKK3sKKwljb25zdCBjaGFyICpmaWxlc1tdID0geyBfUEFUSF9IVVNITE9HSU5TLCBfUEFUSF9IVVNITE9HSU4sIE5VTEwgfTsKKwljb25zdCBjaGFyICpmaWxlOworCWNoYXIgYnVmW0JVRlNJWl07CisJaW50IGk7CisKKwlmaWxlID0gZ2V0bG9naW5kZWZzX3N0cigiSFVTSExPR0lOX0ZJTEUiLCBOVUxMKTsKKwlpZiAoZmlsZSkgeworCQlpZiAoISpmaWxlKQorCQkJcmV0dXJuIDA7CS8qIGVtcHR5IEhVU0hMT0dJTl9GSUxFIGRlZmluZWQgKi8KKworCQlmaWxlc1swXSA9IGZpbGU7CisJCWZpbGVzWzFdID0gTlVMTDsKKwl9CisKKwlmb3IgKGkgPSAwOyBmaWxlc1tpXTsgaSsrKSB7CisJCWludCBvayA9IDA7CisKKwkJZmlsZSA9IGZpbGVzW2ldOworCisJCS8qIGdsb2JhbCBodXNoLWZpbGUgKi8KKwkJaWYgKCpmaWxlID09ICcvJykgeworCQkJc3RydWN0IHN0YXQgc3Q7CisJCQlGSUxFICpmOworCisJCQlpZiAoc3RhdChmaWxlLCAmc3QpICE9IDApCisJCQkJY29udGludWU7CS8qIGZpbGUgZG9lcyBub3QgZXhpc3QgKi8KKworCQkJaWYgKHN0LnN0X3NpemUgPT0gMCkKKwkJCQlyZXR1cm4gMTsJLyogZm9yIGFsbCBhY2NvdW50cyAqLworCisJCQlmID0gZm9wZW4oZmlsZSwgInIiKTsKKwkJCWlmICghZikKKwkJCQljb250aW51ZTsJLyogaWdub3JlIGVycm9ycy4uLiAqLworCisJCQl3aGlsZSAob2sgPT0gMCAmJiBmZ2V0cyhidWYsIHNpemVvZihidWYpLCBmKSkgeworCQkJCWJ1ZltzdHJsZW4oYnVmKSAtIDFdID0gJ1wwJzsKKwkJCQlvayA9ICFzdHJjbXAoYnVmLCAqYnVmID09ICcvJyA/IHB3ZC0+cHdfc2hlbGwgOgorCQkJCQkJCQlwd2QtPnB3X25hbWUpOworCQkJfQorCQkJZmNsb3NlKGYpOworCQkJaWYgKG9rKQorCQkJCXJldHVybiAxOwkvKiBmb3VuZCB1c2VybmFtZS9zaGVsbCAqLworCisJCQlyZXR1cm4gMDsJCS8qIGlnbm9yZSBwZXItYWNjb3VudCBmaWxlcyAqLworCQl9CisKKwkJLyogcGVyLWFjY291bnQgc2V0dGluZyAqLworCQlpZiAoc3RybGVuKHB3ZC0+cHdfZGlyKSArIHNpemVvZihmaWxlKSArIDIgPiBzaXplb2YoYnVmKSkKKwkJCWNvbnRpbnVlOworCisJCXNwcmludGYoYnVmLCAiJXMvJXMiLCBwd2QtPnB3X2RpciwgZmlsZSk7CisKKwkJaWYgKGZvcmNlX2NoZWNrKSB7CisJCQl1aWRfdCBydWlkID0gZ2V0dWlkKCk7CisJCQlnaWRfdCBlZ2lkID0gZ2V0ZWdpZCgpOworCisJCQlpZiAoc2V0cmVnaWQoLTEsIHB3ZC0+cHdfZ2lkKSA9PSAwICYmCisJCQkgICAgc2V0cmV1aWQoMCwgcHdkLT5wd191aWQpID09IDApCisJCQkJb2sgPSBlZmZlY3RpdmVfYWNjZXNzKGJ1ZiwgT19SRE9OTFkpID09IDA7CisKKwkJCWlmIChzZXR1aWQoMCkgIT0gMCB8fAorCQkJICAgIHNldHJldWlkKHJ1aWQsIDApICE9IDAgfHwKKwkJCSAgICBzZXRyZWdpZCgtMSwgZWdpZCkgIT0gMCkgeworCQkJCXN5c2xvZyhMT0dfQUxFUlQsIF8oImh1c2ggbG9naW4gc3RhdHVzOiByZXN0b3JlIG9yaWdpbmFsIElEcyBmYWlsZWQiKSk7CisJCQkJZXhpdChFWElUX0ZBSUxVUkUpOworCQkJfQorCQkJaWYgKG9rKQorCQkJCXJldHVybiAxOwkvKiBlbmFibGVkIGJ5IHVzZXIgKi8KKwkJfQorCQllbHNlIHsKKwkJCWludCByYzsKKwkJCXJjID0gZWZmZWN0aXZlX2FjY2VzcyhidWYsIE9fUkRPTkxZKTsKKwkJCWlmIChyYyA9PSAwKQorCQkJCXJldHVybiAxOworCQkJZWxzZSBpZiAocmMgPT0gLTEgJiYgZXJybm8gPT0gRUFDQ0VTKQorCQkJCQlyZXR1cm4gLTE7CisJCX0KKworCX0KKworCXJldHVybiAwOworfQorI2lmZGVmIFRFU1RfUFJPR1JBTQoraW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwljaGFyICpuYW1lLCAqdHlwZTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCWlmIChhcmdjIDw9IDEpCisJCWVycngoRVhJVF9GQUlMVVJFLCAidXNhZ2U6ICVzIDxmaWxlbmFtZT4gIgorCQkgICAgICJbPHN0cnxudW18Ym9vbD4gPHZhbG5hbWU+XSIsIGFyZ3ZbMF0pOworCisJbG9naW5kZWZzX2xvYWRfZmlsZShhcmd2WzFdKTsKKworCWlmIChhcmdjICE9IDQpIHsJLyogbGlzdCBhbGwgKi8KKwkJc3RydWN0IGl0ZW0gKnB0cjsKKworCQlmb3IgKHB0ciA9IGxpc3Q7IHB0cjsgcHRyID0gcHRyLT5uZXh0KQorCQkJcHJpbnRmKCIlczogJCVzOiAnJXMnXG4iLCBwdHItPnBhdGgsIHB0ci0+bmFtZSwKKwkJCSAgICAgICBwdHItPnZhbHVlKTsKKworCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCX0KKworCXR5cGUgPSBhcmd2WzJdOworCW5hbWUgPSBhcmd2WzNdOworCisJaWYgKHN0cmNtcCh0eXBlLCAic3RyIikgPT0gMCkKKwkJcHJpbnRmKCIkJXM6ICclcydcbiIsIG5hbWUsIGdldGxvZ2luZGVmc19zdHIobmFtZSwgIkRFRkFVTFQiKSk7CisJZWxzZSBpZiAoc3RyY21wKHR5cGUsICJudW0iKSA9PSAwKQorCQlwcmludGYoIiQlczogJyVsZCdcbiIsIG5hbWUsIGdldGxvZ2luZGVmc19udW0obmFtZSwgMCkpOworCWVsc2UgaWYgKHN0cmNtcCh0eXBlLCAiYm9vbCIpID09IDApCisJCXByaW50ZigiJCVzOiAnJXMnXG4iLCBuYW1lLAorCQkgICAgICAgZ2V0bG9naW5kZWZzX2Jvb2wobmFtZSwgMCkgPyAiWSIgOiAiTiIpOworCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvbG9naW5kZWZzLmggYi9sb2dpbi11dGlscy9sb2dpbmRlZnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMDVkNzMzCi0tLSAvZGV2L251bGwKKysrIGIvbG9naW4tdXRpbHMvbG9naW5kZWZzLmgKQEAgLTAsMCArMSwxNCBAQAorI2lmbmRlZiBVVElMX0xJTlVYX0xPR0lOREVGU19ICisjZGVmaW5lIFVUSUxfTElOVVhfTE9HSU5ERUZTX0gKKworZXh0ZXJuIHZvaWQgbG9naW5kZWZzX2xvYWRfZmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSk7CitleHRlcm4gdm9pZCAoKmxvZ2luZGVmc19sb2FkX2RlZmF1bHRzKSh2b2lkKTsKK2V4dGVybiBpbnQgZ2V0bG9naW5kZWZzX2Jvb2woY29uc3QgY2hhciAqbmFtZSwgaW50IGRmbHQpOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZ2V0bG9naW5kZWZzX251bShjb25zdCBjaGFyICpuYW1lLCBsb25nIGRmbHQpOworZXh0ZXJuIGNvbnN0IGNoYXIgKmdldGxvZ2luZGVmc19zdHIoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqZGZsdCk7CitleHRlcm4gdm9pZCBmcmVlX2dldGxvZ2luZGVmc19kYXRhKHZvaWQpOworZXh0ZXJuIGludCBsb2dpbmRlZnNfc2V0ZW52KGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKmNvbmYsIGNvbnN0IGNoYXIgKmRmbHQpOworZXh0ZXJuIGludCBlZmZlY3RpdmVfYWNjZXNzKGNvbnN0IGNoYXIgKnBhdGgsIGludCBtb2RlKTsKK2V4dGVybiBpbnQgZ2V0X2h1c2hsb2dpbl9zdGF0dXMoc3RydWN0IHBhc3N3ZCAqcHdkLCBpbnQgZm9yY2VfY2hlY2spOworCisjZW5kaWYgLyogVVRJTF9MSU5VWF9MT0dJTkRFRlNfSCAqLwpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvbHNsb2dpbnMuMSBiL2xvZ2luLXV0aWxzL2xzbG9naW5zLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWViYzQxNwotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL2xzbG9naW5zLjEKQEAgLTAsMCArMSwxMzIgQEAKKy5cIiBDb3B5cmlnaHQgMjAxNCBPbmRyZWogT3ByYWxhIChvbmRyZWoub3ByYWxhQGdtYWlsLmNvbSkKKy5cIiBNYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisuVEggTFNMT0dJTlMgIjEiICJBcHJpbCAyMDE0IiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQorbHNsb2dpbnMgXC0gZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBrbm93biB1c2VycyBpbiB0aGUgc3lzdGVtCisuU0ggU1lOT1BTSVMKKy5CIGxzbG9naW5zCitbb3B0aW9uc10KKy5SQiBbIFwtcyB8IFwtdSBbID1cZklVSUQgXV0KKy5SQiBbIFwtZyAiIFxmSWdyb3Vwc1xmUl0iCisuUkIgWyBcLWwgIiBcZklsb2dpbnNcZlJdIgorLlNIIERFU0NSSVBUSU9OCisuUFAKK0V4YW1pbmUgdGhlIHd0bXAgYW5kIGJ0bXAgbG9ncywgL2V0Yy9zaGFkb3cgKGlmIG5lY2Vzc2FyeSkgYW5kIC9ldGMvcGFzc3dkCithbmQgb3V0cHV0IHRoZSBkZXNpcmVkIGRhdGEuCisuUFAKK1RoZSBkZWZhdWx0IGFjdGlvbiBpcyB0byBsaXN0IGluZm8gYWJvdXQgYWxsIHRoZSB1c2VycyBpbiB0aGUgc3lzdGVtLgorLlNIIE9QVElPTlMKK01hbmRhdG9yeSBhcmd1bWVudHMgdG8gbG9uZyBvcHRpb25zIGFyZSBtYW5kYXRvcnkgZm9yIHNob3J0IG9wdGlvbnMgdG9vLgorLlRQCitcZkJcLWFcZlIsIFxmQlwtXC1hY2NcLWV4cGlyYXRpb25cZlIKK0Rpc3BsYXkgZGF0YSBhYm91dCB0aGUgZGF0ZSBvZiBsYXN0IHBhc3N3b3JkIGNoYW5nZSBhbmQgdGhlIGFjY291bnQgZXhwaXJhdGlvbgorZGF0ZSAoc2VlIFxmQnNoYWRvd1xmUig1KSBmb3IgbW9yZSBpbmZvKS4gIChSZXF1aXJlcyByb290IHByaXZpbGVnZXMuKQorLlRQCitcZkJcLVwtYnRtcFwtZmlsZSBcZklwYXRoXGZQCitBbHRlcm5hdGUgcGF0aCBmb3IgYnRtcC4KKy5UUAorXGZCXC1jXGZSLCBcZkJcLVwtY29sb25cLXNlcGFyYXRlXGZSCitTZXBhcmF0ZSBpbmZvIGFib3V0IGVhY2ggdXNlciB3aXRoIGEgY29sb24gaW5zdGVhZCBvZiBhIG5ld2xpbmUuCisuVFAKK1xmQlwtZVxmUiwgXGZCXC1cLWV4cG9ydFxmUgorT3V0cHV0IGRhdGEgaW4gdGhlIGZvcm1hdCBvZiBOQU1FPVZBTFVFLgorLlRQCitcZkJcLWZcZlIsIFxmQlwtXC1mYWlsZWRcZlIKK0Rpc3BsYXkgZGF0YSBhYm91dCB0aGUgdXNlcnMnIGxhc3QgZmFpbGVkIGxvZ2luIGF0dGVtcHRzLgorLlRQCitcZkJcLUdcZlIsIFxmQlwtXC1zdXBwXC1ncm91cHNcZlIKK1Nob3cgaW5mb3JtYXRpb24gYWJvdXQgZ3JvdXBzLgorLlRQCitcZkJcLWdcZlIsIFxmQlwtXC1ncm91cHNcZlI9XGZJZ3JvdXBzXGZSCitPbmx5IHNob3cgZGF0YSBvZiB1c2VycyBiZWxvbmdpbmcgdG8gXGZJZ3JvdXBzXGZSLiAgTW9yZSB0aGFuIG9uZSBncm91cAorbWF5IGJlIHNwZWNpZmllZDsgdGhlIGxpc3QgaGFzIHRvIGJlIGNvbW1hLXNlcGFyYXRlZC4KKy5UUAorXGZCXC1oXGZSLCBcZkJcLVwtaGVscFxmUgorRGlzcGxheSBoZWxwIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCitcZkJcLUxcZlIsIFxmQlwtXC1sYXN0XGZSCitEaXNwbGF5IGRhdGEgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdXNlcnMnIGxhc3QgbG9naW4gc2Vzc2lvbnMuCisuVFAKK1xmQlwtbFxmUiwgXGZCXC1cLWxvZ2luc1xmUj1cZklsb2dpbnNcZlIKK09ubHkgc2hvdyBkYXRhIG9mIHVzZXJzIHdpdGggYSBsb2dpbiBzcGVjaWZpZWQgaW4gXGZJbG9naW5zXGZSICh1c2VyIG5hbWVzIG9yIHVzZXIKK0lEUykuICBNb3JlIHRoYW4gb25lIGxvZ2luIG1heSBiZSBzcGVjaWZpZWQ7IHRoZSBsaXN0IGhhcyB0byBiZSBjb21tYS1zZXBhcmF0ZWQuCisuVFAKK1xmQlwtblxmUiwgXGZCXC1cLW5ld2xpbmVcZlIKK0Rpc3BsYXkgZWFjaCBwaWVjZSBvZiBpbmZvcm1hdGlvbiBvbiBhIHNlcGFyYXRlIGxpbmUuCisuVFAKK1xmQlwtXC1ub2hlYWRpbmdzXGZSCitEbyBub3QgcHJpbnQgYSBoZWFkZXIgbGluZS4KKy5UUAorXGZCXC1cLW5vdHJ1bmNhdGVcZlIKK0Rvbid0IHRydW5jYXRlIG91dHB1dC4KKy5UUAorXGZCXC1vXGZSLCBcZkJcLVwtb3V0cHV0IFxmSWxpc3RcZlAKK1NwZWNpZnkgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gcHJpbnQuICBVc2UKKy5CIFwtXC1oZWxwCit0byBnZXQgYSBsaXN0IG9mIGFsbCBzdXBwb3J0ZWQgY29sdW1ucy4KKy5UUAorXGZCXC1wXGZSLCBcZkJcLVwtcHdkXGZSCitEaXNwbGF5IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gbG9naW4gYnkgcGFzc3dvcmQgKHNlZSBhbHNvIFxmQlwtYWZMKS4KKy5UUAorXGZCXC1yXGZSLCBcZkJcLVwtcmF3XGZSCitSYXcgb3V0cHV0IChubyBjb2x1bW5hdGlvbikuCisuVFAKK1xmQlwtc1xmUiwgXGZCXC1cLXN5c3RlbVwtYWNjc1xmUgorU2hvdyBzeXN0ZW0gYWNjb3VudHMuICBUaGVzZSBhcmUgYnkgZGVmYXVsdCBhbGwgYWNjb3VudHMgd2l0aCBhIFVJRCBiZWxvdyAxMDAwCisobm9uLWluY2x1c2l2ZSksIHdpdGggdGhlIGV4Y2VwdGlvbiBvZiBlaXRoZXIgbm9ib2R5IG9yIG5mc25vYm9keSAoVUlEIDY1NTM0KS4KK1RoaXMgaGFyZGNvZGVkIGRlZmF1bHQgbWF5YmUgb3ZlcndyaXR0ZW4gYnkgcGFyYW1ldGVycyBTWVNfVUlEX01JTiBhbmQgU1lTX1VJRF9NQVggaW4KK3RoZSBmaWxlIC9ldGMvbG9naW4uZGVmcy4KKy5UUAorXGZCXC1cLXRpbWVcLWZvcm1hdFxmUiBcZkl0eXBlXGZQCitEaXNwbGF5IGRhdGVzIGluIHNob3J0LCBmdWxsIG9yIGlzbyBmb3JtYXQuICBUaGUgZGVmYXVsdCBpcyBzaG9ydCwgdGhpcyB0aW1lCitmb3JtYXQgaXMgZGVzaWduZWQgdG8gYmUgc3BhY2UgZWZmaWNpZW50IGFuZCBodW1hbiByZWFkYWJsZS4KKy5UUAorXGZCXC11XGZSLCBcZkJcLVwtdXNlclwtYWNjc1xmUgorU2hvdyB1c2VyIGFjY291bnRzLiAgVGhlc2UgYXJlIGJ5IGRlZmF1bHQgYWxsIGFjY291bnRzIHdpdGggVUlEIGFib3ZlIDEwMDAKKyhpbmNsdXNpdmUpLCB3aXRoIHRoZSBleGNlcHRpb24gb2YgZWl0aGVyIG5vYm9keSBvciBuZnNub2JvZHkgKFVJRCA2NTUzNCkuCitUaGlzIGhhcmRjb2RlZCBkZWZhdWx0IG1heWJlIG92ZXJ3cml0dGVuIGJ5IHBhcmFtZXRlcnMgVUlEX01JTiBhbmQgVUlEX01BWCBpbgordGhlIGZpbGUgL2V0Yy9sb2dpbi5kZWZzLgorLlRQCitcZkJcLVZcZlIsIFxmQlwtXC12ZXJzaW9uXGZSCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKK1xmQlwtXC13dG1wXC1maWxlIFxmSXBhdGhcZlAKK0FsdGVybmF0ZSBwYXRoIGZvciB3dG1wLgorLlRQCitcZkJcLVpcZlIsIFxmQlwtXC1jb250ZXh0XGZSCitEaXNwbGF5IHRoZSB1c2Vycycgc2VjdXJpdHkgY29udGV4dC4KKy5UUAorXGZCXC16XGZSLCBcZkJcLVwtcHJpbnQwXGZSCitEZWxpbWl0IHVzZXIgZW50cmllcyB3aXRoIGEgbnVsIGNoYXJhY3RlciwgaW5zdGVhZCBvZiBhIG5ld2xpbmUuCisKKy5TSCBOT1RFUworVGhlIGRlZmF1bHQgVUlEIHRocmVzaG9sZHMgYXJlIHJlYWQgZnJvbSAvZXRjL2xvZ2luLmRlZnMuCisKKy5TSCBFWElUIFNUQVRVUworLlRQCiswCitpZiBPSywKKy5UUAorMQoraWYgaW5jb3JyZWN0IGFyZ3VtZW50cyBzcGVjaWZpZWQsCisuVFAKKzIKK2lmIGEgc2VyaW91cyBlcnJvciBvY2N1cnMgKGUuZy4gYSBjb3JydXB0IGxvZykuCisuU0ggU0VFIEFMU08KK1xmQmdyb3VwXGZQKDUpLCBcZkJwYXNzd2RcZlAoNSksIFxmQnNoYWRvd1xmUCg1KSwgXGZCdXRtcFxmUCg1KQorLlNIIEhJU1RPUlkKK1RoZSBcZkJsc2xvZ2luc1xmUCB1dGlsaXR5IGlzIGluc3BpcmVkIGJ5IHRoZSBcZkJsb2dpbnNcZlAgdXRpbGl0eSwgd2hpY2ggZmlyc3QgYXBwZWFyZWQgaW4gRnJlZUJTRCA0LjEwLgorLlNIIEFVVEhPUlMKKy5NVCBvb3ByYWxhQHJlZGhhdC5jb20KK09uZHJlaiBPcHJhbGEKKy5NRQorLmJyCisuTVQga3pha0ByZWRoYXQuY29tCitLYXJlbCBaYWsKKy5NRQorCisuU0ggQVZBSUxBQklMSVRZCitUaGUgbHNsb2dpbnMgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgZnRwOi8vXDpmdHAua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy9sc2xvZ2lucy5jIGIvbG9naW4tdXRpbHMvbHNsb2dpbnMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OGQ0ZWQ0Ci0tLSAvZGV2L251bGwKKysrIGIvbG9naW4tdXRpbHMvbHNsb2dpbnMuYwpAQCAtMCwwICsxLDE1MDAgQEAKKy8qCisgKiBsc2xvZ2lucyAtIExpc3QgaW5mb3JtYXRpb24gYWJvdXQgdXNlcnMgb24gdGhlIHN5c3RlbQorICoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBPbmRyZWogT3ByYWxhIDxvb3ByYWxhQHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3b3VsZCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworICogd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyAqIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvc3lzbG9nLmg+CisjaW5jbHVkZSA8cHdkLmg+CisjaW5jbHVkZSA8Z3JwLmg+CisjaW5jbHVkZSA8c2hhZG93Lmg+CisjaW5jbHVkZSA8cGF0aHMuaD4KKyNpbmNsdWRlIDx0aW1lLmg+CisjaW5jbHVkZSA8dXRtcC5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPGVyci5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPHNlYXJjaC5oPgorCisjaW5jbHVkZSA8bGlic21hcnRjb2xzLmg+CisjaWZkZWYgSEFWRV9MSUJTRUxJTlVYCisjIGluY2x1ZGUgPHNlbGludXgvc2VsaW51eC5oPgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0xJQlNZU1RFTUQKKyMgaW5jbHVkZSA8c3lzdGVtZC9zZC1qb3VybmFsLmg+CisjZW5kaWYKKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgImxpc3QuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgIm9wdHV0aWxzLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAibG9naW5kZWZzLmgiCisjaW5jbHVkZSAicHJvY3V0aWxzLmgiCisjaW5jbHVkZSAidGltZXV0aWxzLmgiCisKKy8qCisgKiBjb2x1bW4gZGVzY3JpcHRpb24KKyAqLworc3RydWN0IGxzbG9naW5zX2NvbGRlc2MgeworCWNvbnN0IGNoYXIgKm5hbWU7CisJY29uc3QgY2hhciAqaGVscDsKKwljb25zdCBjaGFyICpwcmV0dHlfbmFtZTsKKworCWRvdWJsZSB3aGludDsJLyogd2lkdGggaGludCAqLworCWxvbmcgZmxhZzsKK307CisKK3N0YXRpYyBpbnQgbHNsb2dpbnNfZmxhZzsKKworI2RlZmluZSBVTF9VSURfTUlOIDEwMDAKKyNkZWZpbmUgVUxfVUlEX01BWCA2MDAwMAorI2RlZmluZSBVTF9TWVNfVUlEX01JTiAyMDEKKyNkZWZpbmUgVUxfU1lTX1VJRF9NQVggOTk5CisKKy8qIHdlIHVzZSB0aGUgdmFsdWUgb2Ygb3V0bW9kZSB0byBkZXRlcm1pbmUKKyAqIGFwcHJvcHJpYXRlIGZsYWdzIGZvciB0aGUgbGlic21hcnRjb2xzIHRhYmxlCisgKiAoZS5nLiwgYSB2YWx1ZSBvZiBvdXRfbmV3bGluZSB3b3VsZCBpbXBseSBhIHJhdworICogdGFibGUgd2l0aCB0aGUgY29sdW1uIHNlcGFyYXRvciBzZXQgdG8gJ1xuJykuCisgKi8KK3N0YXRpYyBpbnQgb3V0bW9kZTsKKy8qCisgKiBvdXRwdXQgbW9kZXMKKyAqLworZW51bSB7CisJT1VUX0NPTE9OID0gMSwKKwlPVVRfRVhQT1JULAorCU9VVF9ORVdMSU5FLAorCU9VVF9SQVcsCisJT1VUX05VTCwKKwlPVVRfUFJFVFRZCit9OworCitzdHJ1Y3QgbHNsb2dpbnNfdXNlciB7CisJY2hhciAqbG9naW47CisJdWlkX3QgdWlkOworCWNoYXIgKmdyb3VwOworCWdpZF90IGdpZDsKKwljaGFyICpnZWNvczsKKworCWludCBwd2RfZW1wdHk7CisJaW50IG5vbG9naW47CisJaW50IHB3ZF9sb2NrOworCWludCBwd2RfZGVueTsKKworCWdpZF90ICpzZ3JvdXBzOworCXNpemVfdCBuc2dyb3VwczsKKworCWNoYXIgKnB3ZF9jdGltZTsKKwljaGFyICpwd2Rfd2FybjsKKwljaGFyICpwd2RfZXhwaXJlOworCWNoYXIgKnB3ZF9jdGltZV9taW47CisJY2hhciAqcHdkX2N0aW1lX21heDsKKworCWNoYXIgKmxhc3RfbG9naW47CisJY2hhciAqbGFzdF90dHk7CisJY2hhciAqbGFzdF9ob3N0bmFtZTsKKworCWNoYXIgKmZhaWxlZF9sb2dpbjsKKwljaGFyICpmYWlsZWRfdHR5OworCisjaWZkZWYgSEFWRV9MSUJTRUxJTlVYCisJc2VjdXJpdHlfY29udGV4dF90IGNvbnRleHQ7CisjZW5kaWYKKwljaGFyICpob21lZGlyOworCWNoYXIgKnNoZWxsOworCWNoYXIgKnB3ZF9zdGF0dXM7CisJaW50ICAgaHVzaGVkOworCWNoYXIgKm5wcm9jczsKKworfTsKKworLyoKKyAqIHRpbWUgbW9kZXMKKyAqICovCitlbnVtIHsKKwlUSU1FX0lOVkFMSUQgPSAwLAorCVRJTUVfU0hPUlQsCisJVElNRV9GVUxMLAorCVRJTUVfSVNPLAorCVRJTUVfSVNPX1NIT1JULAorfTsKKworLyoKKyAqIGZsYWdzCisgKi8KK2VudW0geworCUZfU1lTQUMJPSAoMSA8PCAzKSwKKwlGX1VTUkFDCT0gKDEgPDwgNCksCit9OworCisvKgorICogSURzCisgKi8KK2VudW0geworCUNPTF9VU0VSID0gMCwKKwlDT0xfVUlELAorCUNPTF9HRUNPUywKKwlDT0xfSE9NRSwKKwlDT0xfU0hFTEwsCisJQ09MX05PTE9HSU4sCisJQ09MX1BXRExPQ0ssCisJQ09MX1BXREVNUFRZLAorCUNPTF9QV0RERU5ZLAorCUNPTF9HUk9VUCwKKwlDT0xfR0lELAorCUNPTF9TR1JPVVBTLAorCUNPTF9TR0lEUywKKwlDT0xfTEFTVF9MT0dJTiwKKwlDT0xfTEFTVF9UVFksCisJQ09MX0xBU1RfSE9TVE5BTUUsCisJQ09MX0ZBSUxFRF9MT0dJTiwKKwlDT0xfRkFJTEVEX1RUWSwKKwlDT0xfSFVTSF9TVEFUVVMsCisJQ09MX1BXRF9XQVJOLAorCUNPTF9QV0RfQ1RJTUUsCisJQ09MX1BXRF9DVElNRV9NSU4sCisJQ09MX1BXRF9DVElNRV9NQVgsCisJQ09MX1BXRF9FWFBJUiwKKwlDT0xfU0VMSU5VWCwKKwlDT0xfTlBST0NTLAorfTsKKworI2RlZmluZSBpc193dG1wX2NvbCh4KQkoKHgpID09IENPTF9MQVNUX0xPR0lOICAgICB8fCBcCisJCQkgKHgpID09IENPTF9MQVNUX1RUWSAgICAgICB8fCBcCisJCQkgKHgpID09IENPTF9MQVNUX0hPU1ROQU1FKQorCisjZGVmaW5lIGlzX2J0bXBfY29sKHgpCSgoeCkgPT0gQ09MX0ZBSUxFRF9MT0dJTiAgIHx8IFwKKwkJCSAoeCkgPT0gQ09MX0ZBSUxFRF9UVFkpCisKK2VudW0geworCVNUQVRVU19GQUxTRSA9IDAsCisJU1RBVFVTX1RSVUUsCisJU1RBVFVTX1VOS05PV04KK307CisKK3N0YXRpYyBjb25zdCBjaGFyICpjb25zdCBzdGF0dXNbXSA9IHsKKwlbU1RBVFVTX0ZBTFNFXQk9ICIwIiwKKwlbU1RBVFVTX1RSVUVdCT0gIjEiLAorCVtTVEFUVVNfVU5LTk9XTl09IE5VTEwKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICpjb25zdCBwcmV0dHlfc3RhdHVzW10gPSB7CisJW1NUQVRVU19GQUxTRV0JPSBOXygibm8iKSwKKwlbU1RBVFVTX1RSVUVdCT0gTl8oInllcyIpLAorCVtTVEFUVVNfVU5LTk9XTl09IE5VTEwKK307CisKKyNkZWZpbmUgZ2V0X3N0YXR1cyh4KQkob3V0bW9kZSA9PSBPVVRfUFJFVFRZID8gcHJldHR5X3N0YXR1c1soeCldIDogc3RhdHVzWyh4KV0pCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbHNsb2dpbnNfY29sZGVzYyBjb2xkZXNjc1tdID0KK3sKKwlbQ09MX1VTRVJdICAgICAgICAgID0geyAiVVNFUiIsCQlOXygidXNlciBuYW1lIiksIE5fKCJVc2VybmFtZSIpLCAwLjEsIFNDT0xTX0ZMX05PRVhUUkVNRVMgfSwKKwlbQ09MX1VJRF0gICAgICAgICAgID0geyAiVUlEIiwJCU5fKCJ1c2VyIElEIiksICJVSUQiLCAxLCBTQ09MU19GTF9SSUdIVH0sCisJW0NPTF9QV0RFTVBUWV0gICAgICA9IHsgIlBXRC1FTVBUWSIsCU5fKCJwYXNzd29yZCBub3QgcmVxdWlyZWQiKSwgTl8oIlBhc3N3b3JkIG5vdCByZXF1aXJlZCIpLCAxLCBTQ09MU19GTF9SSUdIVCB9LAorCVtDT0xfUFdEREVOWV0gICAgICAgPSB7ICJQV0QtREVOWSIsCU5fKCJsb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIpLCBOXygiTG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiKSwgMSwgU0NPTFNfRkxfUklHSFQgfSwKKwlbQ09MX1BXRExPQ0tdICAgICAgID0geyAiUFdELUxPQ0siLAlOXygicGFzc3dvcmQgZGVmaW5lZCwgYnV0IGxvY2tlZCIpLCBOXygiUGFzc3dvcmQgaXMgbG9ja2VkIiksIDEsIFNDT0xTX0ZMX1JJR0hUIH0sCisJW0NPTF9OT0xPR0lOXSAgICAgICA9IHsgIk5PTE9HSU4iLAlOXygibG9nIGluIGRpc2FibGVkIGJ5IG5vbG9naW4oOCkgb3IgcGFtX25vbG9naW4oOCkiKSwgTl8oIk5vIGxvZ2luIiksIDEsIFNDT0xTX0ZMX1JJR0hUIH0sCisJW0NPTF9HUk9VUF0gICAgICAgICA9IHsgIkdST1VQIiwJTl8oInByaW1hcnkgZ3JvdXAgbmFtZSIpLCBOXygiUHJpbWFyeSBncm91cCIpLCAwLjEgfSwKKwlbQ09MX0dJRF0gICAgICAgICAgID0geyAiR0lEIiwJCU5fKCJwcmltYXJ5IGdyb3VwIElEIiksICJHSUQiLCAxLCBTQ09MU19GTF9SSUdIVCB9LAorCVtDT0xfU0dST1VQU10gICAgICAgPSB7ICJTVVBQLUdST1VQUyIsCU5fKCJzdXBwbGVtZW50YXJ5IGdyb3VwIG5hbWVzIiksIE5fKCJTdXBwbGVtZW50YXJ5IGdyb3VwcyIpLCAwLjEgfSwKKwlbQ09MX1NHSURTXSAgICAgICAgID0geyAiU1VQUC1HSURTIiwgICAgTl8oInN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIiksIE5fKCJTdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIpLCAwLjEgfSwKKwlbQ09MX0hPTUVdICAgICAgICAgID0geyAiSE9NRURJUiIsCU5fKCJob21lIGRpcmVjdG9yeSIpLCBOXygiSG9tZSBkaXJlY3RvcnkiKSwgMC4xIH0sCisJW0NPTF9TSEVMTF0gICAgICAgICA9IHsgIlNIRUxMIiwJTl8oImxvZ2luIHNoZWxsIiksIE5fKCJTaGVsbCIpLCAwLjEgfSwKKwlbQ09MX0dFQ09TXSAgICAgICAgID0geyAiR0VDT1MiLAlOXygiZnVsbCB1c2VyIG5hbWUiKSwgTl8oIkdlY29zIGZpZWxkIiksIDAuMSwgU0NPTFNfRkxfVFJVTkMgfSwKKwlbQ09MX0xBU1RfTE9HSU5dICAgID0geyAiTEFTVC1MT0dJTiIsCU5fKCJkYXRlIG9mIGxhc3QgbG9naW4iKSwgTl8oIkxhc3QgbG9naW4iKSwgMC4xLCBTQ09MU19GTF9SSUdIVCB9LAorCVtDT0xfTEFTVF9UVFldICAgICAgPSB7ICJMQVNULVRUWSIsCU5fKCJsYXN0IHR0eSB1c2VkIiksIE5fKCJMYXN0IHRlcm1pbmFsIiksIDAuMDUgfSwKKwlbQ09MX0xBU1RfSE9TVE5BTUVdID0geyAiTEFTVC1IT1NUTkFNRSIsTl8oImhvc3RuYW1lIGR1cmluZyB0aGUgbGFzdCBzZXNzaW9uIiksIE5fKCJMYXN0IGhvc3RuYW1lIiksICAwLjF9LAorCVtDT0xfRkFJTEVEX0xPR0lOXSAgPSB7ICJGQUlMRUQtTE9HSU4iLAlOXygiZGF0ZSBvZiBsYXN0IGZhaWxlZCBsb2dpbiIpLCBOXygiRmFpbGVkIGxvZ2luIiksIDAuMSB9LAorCVtDT0xfRkFJTEVEX1RUWV0gICAgPSB7ICJGQUlMRUQtVFRZIiwJTl8oIndoZXJlIGRpZCB0aGUgbG9naW4gZmFpbD8iKSwgTl8oIkZhaWxlZCBsb2dpbiB0ZXJtaW5hbCIpLCAwLjA1IH0sCisJW0NPTF9IVVNIX1NUQVRVU10gICA9IHsgIkhVU0hFRCIsCU5fKCJ1c2VyJ3MgaHVzaCBzZXR0aW5ncyIpLCBOXygiSHVzaGVkIiksIDEsIFNDT0xTX0ZMX1JJR0hUIH0sCisJW0NPTF9QV0RfV0FSTl0gICAgICA9IHsgIlBXRC1XQVJOIiwJTl8oImRheXMgdXNlciBpcyB3YXJuZWQgb2YgcGFzc3dvcmQgZXhwaXJhdGlvbiIpLCBOXygiUGFzc3dvcmQgZXhwaXJhdGlvbiB3YXJuIGludGVydmFsIiksIDAuMSwgU0NPTFNfRkxfUklHSFQgfSwKKwlbQ09MX1BXRF9FWFBJUl0gICAgID0geyAiUFdELUVYUElSIiwJTl8oInBhc3N3b3JkIGV4cGlyYXRpb24gZGF0ZSIpLCBOXygiUGFzc3dvcmQgZXhwaXJhdGlvbiIpLCAwLjEsIFNDT0xTX0ZMX1JJR0hUIH0sCisJW0NPTF9QV0RfQ1RJTUVdICAgICA9IHsgIlBXRC1DSEFOR0UiLAlOXygiZGF0ZSBvZiBsYXN0IHBhc3N3b3JkIGNoYW5nZSIpLCBOXygiUGFzc3dvcmQgY2hhbmdlZCIpLCAwLjEsIFNDT0xTX0ZMX1JJR0hUfSwKKwlbQ09MX1BXRF9DVElNRV9NSU5dID0geyAiUFdELU1JTiIsCU5fKCJudW1iZXIgb2YgZGF5cyByZXF1aXJlZCBiZXR3ZWVuIGNoYW5nZXMiKSwgTl8oIk1pbmltdW0gY2hhbmdlIHRpbWUiKSwgMC4xLCBTQ09MU19GTF9SSUdIVCB9LAorCVtDT0xfUFdEX0NUSU1FX01BWF0gPSB7ICJQV0QtTUFYIiwJTl8oIm1heCBudW1iZXIgb2YgZGF5cyBhIHBhc3N3b3JkIG1heSByZW1haW4gdW5jaGFuZ2VkIiksIE5fKCJNYXhpbXVtIGNoYW5nZSB0aW1lIiksIDAuMSwgU0NPTFNfRkxfUklHSFQgfSwKKwlbQ09MX1NFTElOVVhdICAgICAgID0geyAiQ09OVEVYVCIsCU5fKCJ0aGUgdXNlcidzIHNlY3VyaXR5IGNvbnRleHQiKSwgTl8oIlNlbGludXggY29udGV4dCIpLCAwLjEgfSwKKwlbQ09MX05QUk9DU10gICAgICAgID0geyAiUFJPQyIsICAgICAgICAgTl8oIm51bWJlciBvZiBwcm9jZXNzZXMgcnVuIGJ5IHRoZSB1c2VyIiksIE5fKCJSdW5uaW5nIHByb2Nlc3NlcyIpLCAxLCBTQ09MU19GTF9SSUdIVCB9LAorfTsKKworc3RydWN0IGxzbG9naW5zX2NvbnRyb2wgeworCXN0cnVjdCB1dG1wICp3dG1wOworCXNpemVfdCB3dG1wX3NpemU7CisKKwlzdHJ1Y3QgdXRtcCAqYnRtcDsKKwlzaXplX3QgYnRtcF9zaXplOworCisJdm9pZCAqdXNlcnRyZWU7CisKKwl1aWRfdCB1aWQ7CisJdWlkX3QgVUlEX01JTjsKKwl1aWRfdCBVSURfTUFYOworCisJdWlkX3QgU1lTX1VJRF9NSU47CisJdWlkX3QgU1lTX1VJRF9NQVg7CisKKwljaGFyICoqdWxpc3Q7CisJc2l6ZV90IHVsc2l6OworCisJdW5zaWduZWQgaW50IHRpbWVfbW9kZTsKKworCWNvbnN0IGNoYXIgKmpvdXJuYWxfcGF0aDsKKworCXVuc2lnbmVkIGludCBzZWxpbnV4X2VuYWJsZWQgOiAxLAorCQkgICAgIHVsaXN0X29uIDogMSwKKwkJICAgICBub2hlYWRpbmdzIDogMSwKKwkJICAgICBub3RydW5jIDogMTsKK307CisKKy8qIHRoZXNlIGhhdmUgdG8gcmVtYWluIGdsb2JhbCBzaW5jZSB0aGVyZSdzIG5vIG90aGVyIHJlYXNvbmFibGUgd2F5IHRvIHBhc3MKKyAqIHRoZW0gZm9yIGVhY2ggY2FsbCBvZiBmaWxsX3RhYmxlKCkgdmlhIHR3YWxrKCkgKi8KK3N0YXRpYyBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiOworCisvKiBjb2x1bW5zW10gYXJyYXkgc3BlY2lmaWVzIGFsbCBjdXJyZW50bHkgd2FudGVkIG91dHB1dCBjb2x1bW4uIFRoZSBjb2x1bW5zCisgKiBhcmUgZGVmaW5lZCBieSBjb2xkZXNjc1tdIGFycmF5IGFuZCB5b3UgY2FuIHNwZWNpZnkgKG9uIGNvbW1hbmQgbGluZSkgZWFjaAorICogY29sdW1uIHR3aWNlLiBUaGF0J3MgZW5vdWdoLCBkeW5hbWljYWxseSBhbGxvY2F0ZWQgYXJyYXkgb2YgdGhlIGNvbHVtbnMgaXMKKyAqIHVubmVjZXNzYXJ5IG92ZXJraWxsIGFuZCBvdmVyLWVuZ2luZWVyaW5nIGluIHRoaXMgY2FzZSAqLworc3RhdGljIGludCBjb2x1bW5zW0FSUkFZX1NJWkUoY29sZGVzY3MpICogMl07CitzdGF0aWMgaW50IG5jb2x1bW5zOworCitzdGF0aWMgaW5saW5lIHNpemVfdCBlcnJfY29sdW1uc19pbmRleChzaXplX3QgYXJ5c3osIHNpemVfdCBpZHgpCit7CisJaWYgKGlkeCA+PSBhcnlzeikKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInRvbyBtYW55IGNvbHVtbnMgc3BlY2lmaWVkLCAiCisJCQkJICAgICAidGhlIGxpbWl0IGlzICV6dSBjb2x1bW5zIiksCisJCQkJYXJ5c3ogLSAxKTsKKwlyZXR1cm4gaWR4OworfQorCisjZGVmaW5lIGFkZF9jb2x1bW4oYXJ5LCBuLCBpZCkJXAorCQkoKGFyeSlbIGVycl9jb2x1bW5zX2luZGV4KEFSUkFZX1NJWkUoYXJ5KSwgKG4pKSBdID0gKGlkKSkKKworc3RhdGljIGludCBjb2x1bW5fbmFtZV90b19pZChjb25zdCBjaGFyICpuYW1lLCBzaXplX3QgbmFtZXN6KQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoY29sZGVzY3MpOyBpKyspIHsKKwkJY29uc3QgY2hhciAqY24gPSBjb2xkZXNjc1tpXS5uYW1lOworCisJCWlmICghc3RybmNhc2VjbXAobmFtZSwgY24sIG5hbWVzeikgJiYgISooY24gKyBuYW1lc3opKQorCQkJcmV0dXJuIGk7CisJfQorCXdhcm54KF8oInVua25vd24gY29sdW1uOiAlcyIpLCBuYW1lKTsKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdGltZXZhbCBub3c7CisKK3N0YXRpYyBjaGFyICptYWtlX3RpbWUoaW50IG1vZGUsIHRpbWVfdCB0aW1lKQoreworCWludCByYyA9IDA7CisJY2hhciBidWZbNjRdID0gezB9OworCisJc3dpdGNoKG1vZGUpIHsKKwljYXNlIFRJTUVfRlVMTDoKKwl7CisJCWNoYXIgKnM7CisJCXN0cnVjdCB0bSB0bTsKKwkJbG9jYWx0aW1lX3IoJnRpbWUsICZ0bSk7CisKKwkJYXNjdGltZV9yKCZ0bSwgYnVmKTsKKwkJaWYgKCoocyA9IGJ1ZiArIHN0cmxlbihidWYpIC0gMSkgPT0gJ1xuJykKKwkJCSpzID0gJ1wwJzsKKwkJcmMgPSAwOworCQlicmVhazsKKwl9CisJY2FzZSBUSU1FX1NIT1JUOgorCQlyYyA9IHN0cnRpbWVfc2hvcnQoJnRpbWUsICZub3csIFVMX1NIT1JUVElNRV9USElTWUVBUl9ISE1NLAorCQkJCWJ1Ziwgc2l6ZW9mKGJ1ZikpOworCQlicmVhazsKKwljYXNlIFRJTUVfSVNPOgorCQlyYyA9IHN0cnRpbWVfaXNvKCZ0aW1lLCBJU09fODYwMV9EQVRFfElTT184NjAxX1RJTUV8SVNPXzg2MDFfVElNRVpPTkUsCisJCQkJICAgYnVmLCBzaXplb2YoYnVmKSk7CisJCWJyZWFrOworCWNhc2UgVElNRV9JU09fU0hPUlQ6CisJCXJjID0gc3RydGltZV9pc28oJnRpbWUsIElTT184NjAxX0RBVEUsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5zdXBwb3J0ZWQgdGltZSB0eXBlIikpOworCX0KKworCWlmIChyYykKKwkJIGVycngoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gY29tcG9zZSB0aW1lIHN0cmluZyIpKTsKKworCXJldHVybiB4c3RyZHVwKGJ1Zik7Cit9CisKKworc3RhdGljIGNoYXIgKnVpZHRvc3RyKHVpZF90IHVpZCkKK3sKKwljaGFyICpzdHJfdWlkID0gTlVMTDsKKwl4YXNwcmludGYoJnN0cl91aWQsICIldSIsIHVpZCk7CisJcmV0dXJuIHN0cl91aWQ7Cit9CisKK3N0YXRpYyBjaGFyICpnaWR0b3N0cihnaWRfdCBnaWQpCit7CisJY2hhciAqc3RyX2dpZCA9IE5VTEw7CisJeGFzcHJpbnRmKCZzdHJfZ2lkLCAiJXUiLCBnaWQpOworCXJldHVybiBzdHJfZ2lkOworfQorCitzdGF0aWMgY2hhciAqYnVpbGRfc2dyb3Vwc19zdHJpbmcoZ2lkX3QgKnNncm91cHMsIHNpemVfdCBuc2dyb3VwcywgaW50IHdhbnRfbmFtZXMpCit7CisJc2l6ZV90IG4gPSAwLCBtYXhsZW4sIGxlbjsKKwljaGFyICpyZXMsICpwOworCisJaWYgKCFuc2dyb3VwcykKKwkJcmV0dXJuIE5VTEw7CisKKwlsZW4gPSBtYXhsZW4gPSBuc2dyb3VwcyAqIDEwOworCXJlcyA9IHAgPSB4bWFsbG9jKG1heGxlbik7CisKKwl3aGlsZSAobiA8IG5zZ3JvdXBzKSB7CisJCWludCB4OworYWdhaW46CisJCWlmICghd2FudF9uYW1lcykKKwkJCXggPSBzbnByaW50ZihwLCBsZW4sICIldSwiLCBzZ3JvdXBzW25dKTsKKwkJZWxzZSB7CisJCQlzdHJ1Y3QgZ3JvdXAgKmdycCA9IGdldGdyZ2lkKHNncm91cHNbbl0pOworCQkJaWYgKCFncnApIHsKKwkJCQlmcmVlKHJlcyk7CisJCQkJcmV0dXJuIE5VTEw7CisJCQl9CisJCQl4ID0gc25wcmludGYocCwgbGVuLCAiJXMsIiwgZ3JwLT5ncl9uYW1lKTsKKwkJfQorCisJCWlmICh4IDwgMCB8fCAoc2l6ZV90KSB4ID49IGxlbikgeworCQkJc2l6ZV90IGN1ciA9IHAgLSByZXM7CisKKwkJCW1heGxlbiAqPSAyOworCQkJcmVzID0geHJlYWxsb2MocmVzLCBtYXhsZW4pOworCQkJcCA9IHJlcyArIGN1cjsKKwkJCWxlbiA9IG1heGxlbiAtIGN1cjsKKwkJCWdvdG8gYWdhaW47CisJCX0KKworCQlsZW4gLT0geDsKKwkJcCArPSB4OworCQkrK247CisJfQorCisJaWYgKHAgPiByZXMpCisJCSoocCAtIDEpID0gJ1wwJzsKKworCXJldHVybiByZXM7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdXRtcCAqZ2V0X2xhc3Rfd3RtcChzdHJ1Y3QgbHNsb2dpbnNfY29udHJvbCAqY3RsLCBjb25zdCBjaGFyICp1c2VybmFtZSkKK3sKKwlzaXplX3QgbiA9IDA7CisJc2l6ZV90IGxlbjsKKworCWlmICghdXNlcm5hbWUpCisJCXJldHVybiBOVUxMOworCisJbGVuID0gc3RybGVuKHVzZXJuYW1lKTsKKwluID0gY3RsLT53dG1wX3NpemUgLSAxOworCWRvIHsKKwkJaWYgKCFzdHJuY21wKHVzZXJuYW1lLCBjdGwtPnd0bXBbbl0udXRfdXNlciwKKwkJICAgIGxlbiA8IFVUX05BTUVTSVpFID8gbGVuIDogVVRfTkFNRVNJWkUpKQorCQkJcmV0dXJuIGN0bC0+d3RtcCArIG47CisJfSB3aGlsZSAobi0tKTsKKwlyZXR1cm4gTlVMTDsKKworfQorCitzdGF0aWMgaW50IHJlcXVpcmVfd3RtcCh2b2lkKQoreworCXNpemVfdCBpOworCWZvciAoaSA9IDA7IGkgPCAoc2l6ZV90KSBuY29sdW1uczsgaSsrKQorCQlpZiAoaXNfd3RtcF9jb2woY29sdW1uc1tpXSkpCisJCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCByZXF1aXJlX2J0bXAodm9pZCkKK3sKKwlzaXplX3QgaTsKKwlmb3IgKGkgPSAwOyBpIDwgKHNpemVfdCkgbmNvbHVtbnM7IGkrKykKKwkJaWYgKGlzX2J0bXBfY29sKGNvbHVtbnNbaV0pKQorCQkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdXRtcCAqZ2V0X2xhc3RfYnRtcChzdHJ1Y3QgbHNsb2dpbnNfY29udHJvbCAqY3RsLCBjb25zdCBjaGFyICp1c2VybmFtZSkKK3sKKwlzaXplX3QgbiA9IDA7CisJc2l6ZV90IGxlbjsKKworCWlmICghdXNlcm5hbWUpCisJCXJldHVybiBOVUxMOworCisJbGVuID0gc3RybGVuKHVzZXJuYW1lKTsKKwluID0gY3RsLT5idG1wX3NpemUgLSAxOworCWRvIHsKKwkJaWYgKCFzdHJuY21wKHVzZXJuYW1lLCBjdGwtPmJ0bXBbbl0udXRfdXNlciwKKwkJICAgIGxlbiA8IFVUX05BTUVTSVpFID8gbGVuIDogVVRfTkFNRVNJWkUpKQorCQkJcmV0dXJuIGN0bC0+YnRtcCArIG47CisJfXdoaWxlIChuLS0pOworCXJldHVybiBOVUxMOworCit9CisKK3N0YXRpYyBpbnQgcmVhZF91dG1wKGNoYXIgY29uc3QgKmZpbGUsIHNpemVfdCAqbmVudHMsIHN0cnVjdCB1dG1wICoqcmVzKQoreworCXNpemVfdCBuX3JlYWQgPSAwLCBuX2FsbG9jID0gMDsKKwlzdHJ1Y3QgdXRtcCAqdXRtcCA9IE5VTEwsICp1OworCisJaWYgKHV0bXBuYW1lKGZpbGUpIDwgMCkKKwkJcmV0dXJuIC1lcnJubzsKKworCXNldHV0ZW50KCk7CisJZXJybm8gPSAwOworCisJd2hpbGUgKCh1ID0gZ2V0dXRlbnQoKSkgIT0gTlVMTCkgeworCQlpZiAobl9yZWFkID09IG5fYWxsb2MpIHsKKwkJCW5fYWxsb2MgKz0gMzI7CisJCQl1dG1wID0geHJlYWxsb2ModXRtcCwgbl9hbGxvYyAqIHNpemVvZiAoc3RydWN0IHV0bXApKTsKKwkJfQorCQl1dG1wW25fcmVhZCsrXSA9ICp1OworCX0KKwlpZiAoIXUgJiYgZXJybm8pIHsKKwkJZnJlZSh1dG1wKTsKKwkJcmV0dXJuIC1lcnJubzsKKwl9CisKKwllbmR1dGVudCgpOworCisJKm5lbnRzID0gbl9yZWFkOworCSpyZXMgPSB1dG1wOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcGFyc2Vfd3RtcChzdHJ1Y3QgbHNsb2dpbnNfY29udHJvbCAqY3RsLCBjaGFyICpwYXRoKQoreworCWludCByYyA9IDA7CisKKwlyYyA9IHJlYWRfdXRtcChwYXRoLCAmY3RsLT53dG1wX3NpemUsICZjdGwtPnd0bXApOworCWlmIChyYyA8IDAgJiYgZXJybm8gIT0gRUFDQ0VTKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiJXMiLCBwYXRoKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgcGFyc2VfYnRtcChzdHJ1Y3QgbHNsb2dpbnNfY29udHJvbCAqY3RsLCBjaGFyICpwYXRoKQoreworCWludCByYyA9IDA7CisKKwlyYyA9IHJlYWRfdXRtcChwYXRoLCAmY3RsLT5idG1wX3NpemUsICZjdGwtPmJ0bXApOworCWlmIChyYyA8IDAgJiYgZXJybm8gIT0gRUFDQ0VTKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiJXMiLCBwYXRoKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgZ2V0X3Nncm91cHMoZ2lkX3QgKipsaXN0LCBzaXplX3QgKmxlbiwgc3RydWN0IHBhc3N3ZCAqcHdkKQoreworCXNpemVfdCBuID0gMDsKKwlpbnQgbmdyb3VwcyA9IDA7CisKKwkqbGVuID0gMDsKKwkqbGlzdCA9IE5VTEw7CisKKwkvKiBmaXJzdCBsZXQncyBnZXQgYSBzdXBwLiBncm91cCBjb3VudCAqLworCWdldGdyb3VwbGlzdChwd2QtPnB3X25hbWUsIHB3ZC0+cHdfZ2lkLCAqbGlzdCwgJm5ncm91cHMpOworCWlmICghbmdyb3VwcykKKwkJcmV0dXJuIC0xOworCisJKmxpc3QgPSB4Y2FsbG9jKDEsIG5ncm91cHMgKiBzaXplb2YoZ2lkX3QpKTsKKworCS8qIG5vdyBmb3IgdGhlIGFjdHVhbCBsaXN0IG9mIEdJRHMgKi8KKwlpZiAoLTEgPT0gZ2V0Z3JvdXBsaXN0KHB3ZC0+cHdfbmFtZSwgcHdkLT5wd19naWQsICpsaXN0LCAmbmdyb3VwcykpCisJCXJldHVybiAtMTsKKworCSpsZW4gPSAoc2l6ZV90KSBuZ3JvdXBzOworCisJLyogZ2V0Z3JvdXBzIGFsc28gcmV0dXJucyB0aGUgdXNlcidzIHByaW1hcnkgR0lEIC0gZGlzcG9zZSBvZiBpdCAqLworCXdoaWxlIChuIDwgKmxlbikgeworCQlpZiAoKCpsaXN0KVtuXSA9PSBwd2QtPnB3X2dpZCkKKwkJCWJyZWFrOworCQkrK247CisJfQorCisJaWYgKCpsZW4pCisJCSgqbGlzdClbbl0gPSAoKmxpc3QpWy0tKCpsZW4pXTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGdldF9ucHJvY3MoY29uc3QgdWlkX3QgdWlkKQoreworCWludCBucHJvY3MgPSAwOworCXBpZF90IHBpZDsKKwlzdHJ1Y3QgcHJvY19wcm9jZXNzZXMgKnByb2MgPSBwcm9jX29wZW5fcHJvY2Vzc2VzKCk7CisKKwlwcm9jX3Byb2Nlc3Nlc19maWx0ZXJfYnlfdWlkKHByb2MsIHVpZCk7CisKKwl3aGlsZSAoIXByb2NfbmV4dF9waWQocHJvYywgJnBpZCkpCisJCSsrbnByb2NzOworCisJcHJvY19jbG9zZV9wcm9jZXNzZXMocHJvYyk7CisJcmV0dXJuIG5wcm9jczsKK30KKworc3RhdGljIGludCB2YWxpZF9wd2QoY29uc3QgY2hhciAqc3RyKQoreworCWNvbnN0IGNoYXIgKnA7CisKKwlmb3IgKHAgPSBzdHI7IHAgJiYgKnA7IHArKykKKwkJaWYgKCFpc2FsbnVtKCh1bnNpZ25lZCBjaGFyKSAqcCkpCisJCQlyZXR1cm4gMDsKKwlyZXR1cm4gcCA+IHN0ciA/IDEgOiAwOworfQorCitzdGF0aWMgc3RydWN0IGxzbG9naW5zX3VzZXIgKmdldF91c2VyX2luZm8oc3RydWN0IGxzbG9naW5zX2NvbnRyb2wgKmN0bCwgY29uc3QgY2hhciAqdXNlcm5hbWUpCit7CisJc3RydWN0IGxzbG9naW5zX3VzZXIgKnVzZXI7CisJc3RydWN0IHBhc3N3ZCAqcHdkOworCXN0cnVjdCBncm91cCAqZ3JwOworCXN0cnVjdCBzcHdkICpzaGFkb3c7CisJc3RydWN0IHV0bXAgKnVzZXJfd3RtcCA9IE5VTEwsICp1c2VyX2J0bXAgPSBOVUxMOworCWludCBuID0gMDsKKwl0aW1lX3QgdGltZTsKKwl1aWRfdCB1aWQ7CisJZXJybm8gPSAwOworCisJcHdkID0gdXNlcm5hbWUgPyBnZXRwd25hbSh1c2VybmFtZSkgOiBnZXRwd2VudCgpOworCWlmICghcHdkKQorCQlyZXR1cm4gTlVMTDsKKworCWN0bC0+dWlkID0gdWlkID0gcHdkLT5wd191aWQ7CisKKwkvKiBuZnNub2JvZHkgaXMgYW4gZXhjZXB0aW9uIHRvIHRoZSBVSURfTUFYIGxpbWl0LiAgVGhpcyBpcyAibm9ib2R5IiBvbgorCSAqIHNvbWUgc3lzdGVtczsgdGhlIGRlY2lzaXZlIHBvaW50IGlzIHRoZSBVSUQgLSA2NTUzNCAqLworCWlmICgobHNsb2dpbnNfZmxhZyAmIEZfVVNSQUMpICYmCisJICAgIHN0cmNtcCgibmZzbm9ib2R5IiwgcHdkLT5wd19uYW1lKSAhPSAwICYmCisJICAgIHVpZCAhPSAwKSB7CisJCWlmICh1aWQgPCBjdGwtPlVJRF9NSU4gfHwgdWlkID4gY3RsLT5VSURfTUFYKSB7CisJCQllcnJubyA9IEVBR0FJTjsKKwkJCXJldHVybiBOVUxMOworCQl9CisKKwl9IGVsc2UgaWYgKChsc2xvZ2luc19mbGFnICYgRl9TWVNBQykgJiYKKwkJICAgKHVpZCA8IGN0bC0+U1lTX1VJRF9NSU4gfHwgdWlkID4gY3RsLT5TWVNfVUlEX01BWCkpIHsKKwkJZXJybm8gPSBFQUdBSU47CisJCXJldHVybiBOVUxMOworCX0KKworCXVzZXIgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgbHNsb2dpbnNfdXNlcikpOworCisJZ3JwID0gZ2V0Z3JnaWQocHdkLT5wd19naWQpOworCWlmICghZ3JwKQorCQlyZXR1cm4gTlVMTDsKKworCWlmIChjdGwtPnd0bXApCisJCXVzZXJfd3RtcCA9IGdldF9sYXN0X3d0bXAoY3RsLCBwd2QtPnB3X25hbWUpOworCWlmIChjdGwtPmJ0bXApCisJCXVzZXJfYnRtcCA9IGdldF9sYXN0X2J0bXAoY3RsLCBwd2QtPnB3X25hbWUpOworCisJbGNrcHdkZigpOworCXNoYWRvdyA9IGdldHNwbmFtKHB3ZC0+cHdfbmFtZSk7CisJdWxja3B3ZGYoKTsKKworCS8qIHJlcXVpcmVkICBieSB0c2VhY2goKSBzdHVmZiAqLworCXVzZXItPnVpZCA9IHB3ZC0+cHdfdWlkOworCisJd2hpbGUgKG4gPCBuY29sdW1ucykgeworCQlzd2l0Y2ggKGNvbHVtbnNbbisrXSkgeworCQljYXNlIENPTF9VU0VSOgorCQkJdXNlci0+bG9naW4gPSB4c3RyZHVwKHB3ZC0+cHdfbmFtZSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfVUlEOgorCQkJdXNlci0+dWlkID0gcHdkLT5wd191aWQ7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfR1JPVVA6CisJCQl1c2VyLT5ncm91cCA9IHhzdHJkdXAoZ3JwLT5ncl9uYW1lKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9HSUQ6CisJCQl1c2VyLT5naWQgPSBwd2QtPnB3X2dpZDsKKwkJCWJyZWFrOworCQljYXNlIENPTF9TR1JPVVBTOgorCQljYXNlIENPTF9TR0lEUzoKKwkJCWlmIChnZXRfc2dyb3VwcygmdXNlci0+c2dyb3VwcywgJnVzZXItPm5zZ3JvdXBzLCBwd2QpKQorCQkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBnZXQgc3VwcGxlbWVudGFyeSBncm91cHMiKSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfSE9NRToKKwkJCXVzZXItPmhvbWVkaXIgPSB4c3RyZHVwKHB3ZC0+cHdfZGlyKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9TSEVMTDoKKwkJCXVzZXItPnNoZWxsID0geHN0cmR1cChwd2QtPnB3X3NoZWxsKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9HRUNPUzoKKwkJCXVzZXItPmdlY29zID0geHN0cmR1cChwd2QtPnB3X2dlY29zKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9MQVNUX0xPR0lOOgorCQkJaWYgKHVzZXJfd3RtcCkgeworCQkJCXRpbWUgPSB1c2VyX3d0bXAtPnV0X3R2LnR2X3NlYzsKKwkJCQl1c2VyLT5sYXN0X2xvZ2luID0gbWFrZV90aW1lKGN0bC0+dGltZV9tb2RlLCB0aW1lKTsKKwkJCX0KKwkJCWJyZWFrOworCQljYXNlIENPTF9MQVNUX1RUWToKKwkJCWlmICh1c2VyX3d0bXApCisJCQkJdXNlci0+bGFzdF90dHkgPSB4c3RyZHVwKHVzZXJfd3RtcC0+dXRfbGluZSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfTEFTVF9IT1NUTkFNRToKKwkJCWlmICh1c2VyX3d0bXApCisJCQkJdXNlci0+bGFzdF9ob3N0bmFtZSA9IHhzdHJkdXAodXNlcl93dG1wLT51dF9ob3N0KTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9GQUlMRURfTE9HSU46CisJCQlpZiAodXNlcl9idG1wKSB7CisJCQkJdGltZSA9IHVzZXJfYnRtcC0+dXRfdHYudHZfc2VjOworCQkJCXVzZXItPmZhaWxlZF9sb2dpbiA9IG1ha2VfdGltZShjdGwtPnRpbWVfbW9kZSwgdGltZSk7CisJCQl9CisJCQlicmVhazsKKwkJY2FzZSBDT0xfRkFJTEVEX1RUWToKKwkJCWlmICh1c2VyX2J0bXApCisJCQkJdXNlci0+ZmFpbGVkX3R0eSA9IHhzdHJkdXAodXNlcl9idG1wLT51dF9saW5lKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9IVVNIX1NUQVRVUzoKKwkJCXVzZXItPmh1c2hlZCA9IGdldF9odXNobG9naW5fc3RhdHVzKHB3ZCwgMCk7CisJCQlpZiAodXNlci0+aHVzaGVkID09IC0xKQorCQkJCXVzZXItPmh1c2hlZCA9IFNUQVRVU19VTktOT1dOOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1BXREVNUFRZOgorCQkJaWYgKHNoYWRvdykgeworCQkJCWlmICghKnNoYWRvdy0+c3BfcHdkcCkgLyogJ1wwJyAqLworCQkJCQl1c2VyLT5wd2RfZW1wdHkgPSBTVEFUVVNfVFJVRTsKKwkJCX0gZWxzZQorCQkJCXVzZXItPnB3ZF9lbXB0eSA9IFNUQVRVU19VTktOT1dOOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1BXRERFTlk6CisJCQlpZiAoc2hhZG93KSB7CisJCQkJaWYgKCgqc2hhZG93LT5zcF9wd2RwID09ICchJyB8fAorCQkJCSAgICAgKnNoYWRvdy0+c3BfcHdkcCA9PSAnKicpICYmCisJCQkJICAgICF2YWxpZF9wd2Qoc2hhZG93LT5zcF9wd2RwICsgMSkpCisJCQkJCXVzZXItPnB3ZF9kZW55ID0gU1RBVFVTX1RSVUU7CisJCQl9IGVsc2UKKwkJCQl1c2VyLT5wd2RfZGVueSA9IFNUQVRVU19VTktOT1dOOworCQkJYnJlYWs7CisKKwkJY2FzZSBDT0xfUFdETE9DSzoKKwkJCWlmIChzaGFkb3cpIHsKKwkJCQlpZiAoKnNoYWRvdy0+c3BfcHdkcCA9PSAnIScgJiYgdmFsaWRfcHdkKHNoYWRvdy0+c3BfcHdkcCArIDEpKQorCQkJCQl1c2VyLT5wd2RfbG9jayA9IFNUQVRVU19UUlVFOworCQkJfSBlbHNlCisJCQkJdXNlci0+cHdkX2xvY2sgPSBTVEFUVVNfVU5LTk9XTjsKKwkJCWJyZWFrOworCQljYXNlIENPTF9OT0xPR0lOOgorCQkJaWYgKHN0cnN0cihwd2QtPnB3X3NoZWxsLCAibm9sb2dpbiIpKQorCQkJCXVzZXItPm5vbG9naW4gPSAxOworCQkJZWxzZSBpZiAocHdkLT5wd191aWQpCisJCQkJdXNlci0+bm9sb2dpbiA9IGFjY2VzcyhfUEFUSF9OT0xPR0lOLCBGX09LKSA9PSAwIHx8CisJCQkJCQlhY2Nlc3MoX1BBVEhfVkFSX05PTE9HSU4sIEZfT0spID09IDA7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfUFdEX1dBUk46CisJCQlpZiAoc2hhZG93ICYmIHNoYWRvdy0+c3Bfd2FybiA+PSAwKQorCQkJCXhhc3ByaW50ZigmdXNlci0+cHdkX3dhcm4sICIlbGQiLCBzaGFkb3ctPnNwX3dhcm4pOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1BXRF9FWFBJUjoKKwkJCWlmIChzaGFkb3cgJiYgc2hhZG93LT5zcF9leHBpcmUgPj0gMCkKKwkJCQl1c2VyLT5wd2RfZXhwaXJlID0gbWFrZV90aW1lKGN0bC0+dGltZV9tb2RlID09IFRJTUVfSVNPID8KKwkJCQkJCVRJTUVfSVNPX1NIT1JUIDogY3RsLT50aW1lX21vZGUsCisJCQkJCQlzaGFkb3ctPnNwX2V4cGlyZSAqIDg2NDAwKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9QV0RfQ1RJTUU6CisJCQkvKiBzcF9sc3RjaGcgaXMgc3BlY2lmaWVkIGluIGRheXMsIHNob3dpbmcgaG91cnMKKwkJCSAqIChlc3BlY2lhbGx5IGluIG5vbi1HTVQgdGltZXpvbmVzKSB3b3VsZCBvbmx5IHNlcnZlCisJCQkgKiB0byBjb25mdXNlICovCisJCQlpZiAoc2hhZG93KQorCQkJCXVzZXItPnB3ZF9jdGltZSA9IG1ha2VfdGltZShjdGwtPnRpbWVfbW9kZSA9PSBUSU1FX0lTTyA/CisJCQkJCQlUSU1FX0lTT19TSE9SVCA6IGN0bC0+dGltZV9tb2RlLAorCQkJCQkJc2hhZG93LT5zcF9sc3RjaGcgKiA4NjQwMCk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfUFdEX0NUSU1FX01JTjoKKwkJCWlmIChzaGFkb3cgJiYgc2hhZG93LT5zcF9taW4gPiAwKQorCQkJCXhhc3ByaW50ZigmdXNlci0+cHdkX2N0aW1lX21pbiwgIiVsZCIsIHNoYWRvdy0+c3BfbWluKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9QV0RfQ1RJTUVfTUFYOgorCQkJaWYgKHNoYWRvdyAmJiBzaGFkb3ctPnNwX21heCA+IDApCisJCQkJeGFzcHJpbnRmKCZ1c2VyLT5wd2RfY3RpbWVfbWF4LCAiJWxkIiwgc2hhZG93LT5zcF9tYXgpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1NFTElOVVg6CisjaWZkZWYgSEFWRV9MSUJTRUxJTlVYCisJCQlpZiAoY3RsLT5zZWxpbnV4X2VuYWJsZWQpIHsKKwkJCQkvKiB0eXBlZGVmcyBhbmQgcG9pbnRlcnMgYXJlIHB1cmUgZXZpbCAqLworCQkJCXNlY3VyaXR5X2NvbnRleHRfdCBjb24gPSBOVUxMOworCQkJCWlmIChnZXRjb24oJmNvbikgPT0gMCkKKwkJCQkJdXNlci0+Y29udGV4dCA9IGNvbjsKKwkJCX0KKyNlbmRpZgorCQkJYnJlYWs7CisJCWNhc2UgQ09MX05QUk9DUzoKKwkJCXhhc3ByaW50ZigmdXNlci0+bnByb2NzLCAiJWQiLCBnZXRfbnByb2NzKHB3ZC0+cHdfdWlkKSk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCS8qIHNvbWV0aGluZyB3ZW50IHZlcnkgd3JvbmcgaGVyZSAqLworCQkJZXJyKEVYSVRfRkFJTFVSRSwgImZhdGFsOiB1bmtub3duIGVycm9yIik7CisJCQlicmVhazsKKwkJfQorCX0KKworCXJldHVybiB1c2VyOworfQorCitzdGF0aWMgaW50IHN0cl90b191aW50KGNoYXIgKnMsIHVuc2lnbmVkIGludCAqdWwpCit7CisJY2hhciAqZW5kOworCWlmICghcyB8fCAhKnMpCisJCXJldHVybiAtMTsKKwkqdWwgPSBzdHJ0b3VsKHMsICZlbmQsIDApOworCWlmICghKmVuZCkKKwkJcmV0dXJuIDA7CisJcmV0dXJuIDE7Cit9CisKKy8qIGdldCBhIGRlZmluaXRpdmUgbGlzdCBvZiB1c2VycyB3ZSB3YW50IGluZm8gYWJvdXQuLi4gKi8KK3N0YXRpYyBpbnQgZ2V0X3VsaXN0KHN0cnVjdCBsc2xvZ2luc19jb250cm9sICpjdGwsIGNoYXIgKmxvZ2lucywgY2hhciAqZ3JvdXBzKQoreworCWNoYXIgKnUsICpnOworCXNpemVfdCBpID0gMCwgbiA9IDAsICphcnNpejsKKwlzdHJ1Y3QgZ3JvdXAgKmdycDsKKwlzdHJ1Y3QgcGFzc3dkICpwd2Q7CisJY2hhciAqKiphcjsKKwl1aWRfdCB1aWQ7CisJZ2lkX3QgZ2lkOworCisJYXIgPSAmY3RsLT51bGlzdDsKKwlhcnNpeiA9ICZjdGwtPnVsc2l6OworCisJLyogYW4gYXJiaXRyYXJ5IHN0YXJ0aW5nIHZhbHVlICovCisJKmFyc2l6ID0gMzI7CisJKmFyID0geGNhbGxvYygxLCBzaXplb2YoY2hhciAqKSAqICgqYXJzaXopKTsKKworCWlmIChsb2dpbnMpIHsKKwkJd2hpbGUgKCh1ID0gc3RydG9rKGxvZ2lucywgIiwiKSkpIHsKKwkJCWxvZ2lucyA9IE5VTEw7CisKKwkJCS8qIHVzZXIgc3BlY2lmaWVkIGJ5IFVJRD8gKi8KKwkJCWlmICghc3RyX3RvX3VpbnQodSwgJnVpZCkpIHsKKwkJCQlwd2QgPSBnZXRwd3VpZCh1aWQpOworCQkJCWlmICghcHdkKQorCQkJCQljb250aW51ZTsKKwkJCQl1ID0gcHdkLT5wd19uYW1lOworCQkJfQorCQkJKCphcilbaSsrXSA9IHhzdHJkdXAodSk7CisKKwkJCWlmIChpID09ICphcnNpeikKKwkJCQkqYXIgPSB4cmVhbGxvYygqYXIsIHNpemVvZihjaGFyICopICogKCphcnNpeiArPSAzMikpOworCQl9CisJCWN0bC0+dWxpc3Rfb24gPSAxOworCX0KKworCWlmIChncm91cHMpIHsKKwkJLyogRklYTUU6IHRoaXMgbWlnaHQgbGVhZCB0byBkdXBsaWNhdGUgZW50cmllcywgYWx0aG91Z2ggbm90IHZpc2libGUKKwkJICogaW4gb3V0cHV0LCBjcnVuY2hpbmcgYSB1c2VyJ3MgaW5mbyBtdWx0aXBsZSB0aW1lcyBpcyB2ZXJ5IHJlZHVuZGFudCAqLworCQl3aGlsZSAoKGcgPSBzdHJ0b2soZ3JvdXBzLCAiLCIpKSkgeworCQkJbiA9IDA7CisJCQlncm91cHMgPSBOVUxMOworCisJCQkvKiB1c2VyIHNwZWNpZmllZCBieSBHSUQ/ICovCisJCQlpZiAoIXN0cl90b191aW50KGcsICZnaWQpKQorCQkJCWdycCA9IGdldGdyZ2lkKGdpZCk7CisJCQllbHNlCisJCQkJZ3JwID0gZ2V0Z3JuYW0oZyk7CisKKwkJCWlmICghZ3JwKQorCQkJCWNvbnRpbnVlOworCisJCQl3aGlsZSAoKHUgPSBncnAtPmdyX21lbVtuKytdKSkgeworCQkJCSgqYXIpW2krK10gPSB4c3RyZHVwKHUpOworCisJCQkJaWYgKGkgPT0gKmFyc2l6KQorCQkJCQkqYXIgPSB4cmVhbGxvYygqYXIsIHNpemVvZihjaGFyICopICogKCphcnNpeiArPSAzMikpOworCQkJfQorCQl9CisJCWN0bC0+dWxpc3Rfb24gPSAxOworCX0KKwkqYXJzaXogPSBpOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBmcmVlX2N0bChzdHJ1Y3QgbHNsb2dpbnNfY29udHJvbCAqY3RsKQoreworCXNpemVfdCBuID0gMDsKKworCWZyZWUoY3RsLT53dG1wKTsKKwlmcmVlKGN0bC0+YnRtcCk7CisKKwl3aGlsZSAobiA8IGN0bC0+dWxzaXopCisJCWZyZWUoY3RsLT51bGlzdFtuKytdKTsKKworCWZyZWUoY3RsLT51bGlzdCk7CisJZnJlZShjdGwpOworfQorCitzdGF0aWMgc3RydWN0IGxzbG9naW5zX3VzZXIgKmdldF9uZXh0X3VzZXIoc3RydWN0IGxzbG9naW5zX2NvbnRyb2wgKmN0bCkKK3sKKwlzdHJ1Y3QgbHNsb2dpbnNfdXNlciAqdTsKKwllcnJubyA9IDA7CisJd2hpbGUgKCEodSA9IGdldF91c2VyX2luZm8oY3RsLCBOVUxMKSkpIHsKKwkJLyogbm8gImZhbHNlIiBlcnJuby1zIGhlcmUsIGlmZiB3ZSdyZSB1bmFibGUgdG8KKwkJICogZ2V0IGEgdmFsaWQgdXNlciBlbnRyeSBmb3IgYW55IHJlYXNvbiwgcXVpdCAqLworCQlpZiAoZXJybm8gPT0gRUFHQUlOKQorCQkJY29udGludWU7CisJCXJldHVybiBOVUxMOworCX0KKwlyZXR1cm4gdTsKK30KKworLyogc29tZSBVTklYIGltcGxlbWVudGF0aW9ucyBzZXQgZXJybm8gaWZmIGEgcGFzc3dkL2dycC8uLi4KKyAqIGVudHJ5IHdhcyBub3QgZm91bmQuIFRoZSBvcmlnaW5hbCBVTklYIGxvZ2lucygxKSB1dGlsaXR5IGFsd2F5cworICogaWdub3JlcyBpbnZhbGlkIGxvZ2luL2dyb3VwIG5hbWVzLCBzbyB3ZSdyZSBnb2luZyB0byBhcyB3ZWxsLiovCisjZGVmaW5lIElTX1JFQUxfRVJSTk8oZSkgISgoZSkgPT0gRU5PRU5UIHx8IChlKSA9PSBFU1JDSCB8fCBcCisJCShlKSA9PSBFQkFERiB8fCAoZSkgPT0gRVBFUk0gfHwgKGUpID09IEVBR0FJTikKKworc3RhdGljIGludCBnZXRfdXNlcihzdHJ1Y3QgbHNsb2dpbnNfY29udHJvbCAqY3RsLCBzdHJ1Y3QgbHNsb2dpbnNfdXNlciAqKnVzZXIsCisJCSAgICBjb25zdCBjaGFyICp1c2VybmFtZSkKK3sKKwkqdXNlciA9IGdldF91c2VyX2luZm8oY3RsLCB1c2VybmFtZSk7CisJaWYgKCEqdXNlciAmJiBJU19SRUFMX0VSUk5PKGVycm5vKSkKKwkJcmV0dXJuIC0xOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNtcF91aWQoY29uc3Qgdm9pZCAqYSwgY29uc3Qgdm9pZCAqYikKK3sKKwl1aWRfdCB4ID0gKChzdHJ1Y3QgbHNsb2dpbnNfdXNlciAqKWEpLT51aWQ7CisJdWlkX3QgeiA9ICgoc3RydWN0IGxzbG9naW5zX3VzZXIgKiliKS0+dWlkOworCXJldHVybiB4ID4geiA/IDEgOiAoeCA8IHogPyAtMSA6IDApOworfQorCitzdGF0aWMgaW50IGNyZWF0ZV91c2VydHJlZShzdHJ1Y3QgbHNsb2dpbnNfY29udHJvbCAqY3RsKQoreworCXN0cnVjdCBsc2xvZ2luc191c2VyICp1c2VyID0gTlVMTDsKKwlzaXplX3QgbiA9IDA7CisKKwlpZiAoY3RsLT51bGlzdF9vbikgeworCQl3aGlsZSAobiA8IGN0bC0+dWxzaXopIHsKKwkJCWlmIChnZXRfdXNlcihjdGwsICZ1c2VyLCBjdGwtPnVsaXN0W25dKSkKKwkJCQlyZXR1cm4gLTE7CisJCQlpZiAodXNlcikgLyogb3RoZXJ3aXNlIGFuIGludmFsaWQgdXNlciBuYW1lIGhhcyBwcm9iYWJseSBiZWVuIGdpdmVuICovCisJCQkJdHNlYXJjaCh1c2VyLCAmY3RsLT51c2VydHJlZSwgY21wX3VpZCk7CisJCQkrK247CisJCX0KKwl9IGVsc2UgeworCQl3aGlsZSAoKHVzZXIgPSBnZXRfbmV4dF91c2VyKGN0bCkpKQorCQkJdHNlYXJjaCh1c2VyLCAmY3RsLT51c2VydHJlZSwgY21wX3VpZCk7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IGxpYnNjb2xzX3RhYmxlICpzZXR1cF90YWJsZShzdHJ1Y3QgbHNsb2dpbnNfY29udHJvbCAqY3RsKQoreworCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGFibGUgPSBzY29sc19uZXdfdGFibGUoKTsKKwlpbnQgbiA9IDA7CisKKwlpZiAoIXRhYmxlKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IHRhYmxlIikpOworCWlmIChjdGwtPm5vaGVhZGluZ3MpCisJCXNjb2xzX3RhYmxlX2VuYWJsZV9ub2hlYWRpbmdzKHRhYmxlLCAxKTsKKworCXN3aXRjaChvdXRtb2RlKSB7CisJY2FzZSBPVVRfQ09MT046CisJCXNjb2xzX3RhYmxlX2VuYWJsZV9yYXcodGFibGUsIDEpOworCQlzY29sc190YWJsZV9zZXRfY29sdW1uX3NlcGFyYXRvcih0YWJsZSwgIjoiKTsKKwkJYnJlYWs7CisJY2FzZSBPVVRfTkVXTElORToKKwkJc2NvbHNfdGFibGVfc2V0X2NvbHVtbl9zZXBhcmF0b3IodGFibGUsICJcbiIpOworCQkvKiBmYWxsdGhyb3VnaCAqLworCWNhc2UgT1VUX0VYUE9SVDoKKwkJc2NvbHNfdGFibGVfZW5hYmxlX2V4cG9ydCh0YWJsZSwgMSk7CisJCWJyZWFrOworCWNhc2UgT1VUX05VTDoKKwkJc2NvbHNfdGFibGVfc2V0X2xpbmVfc2VwYXJhdG9yKHRhYmxlLCAiXDAiKTsKKwkJLyogZmFsbHRocm91Z2ggKi8KKwljYXNlIE9VVF9SQVc6CisJCXNjb2xzX3RhYmxlX2VuYWJsZV9yYXcodGFibGUsIDEpOworCQlicmVhazsKKwljYXNlIE9VVF9QUkVUVFk6CisJCXNjb2xzX3RhYmxlX2VuYWJsZV9ub2hlYWRpbmdzKHRhYmxlLCAxKTsKKwlkZWZhdWx0OgorCQlicmVhazsKKwl9CisKKwl3aGlsZSAobiA8IG5jb2x1bW5zKSB7CisJCWludCBmbGFncyA9IGNvbGRlc2NzW2NvbHVtbnNbbl1dLmZsYWc7CisKKwkJaWYgKGN0bC0+bm90cnVuYykKKwkJCWZsYWdzICY9IH5TQ09MU19GTF9UUlVOQzsKKworCQlpZiAoIXNjb2xzX3RhYmxlX25ld19jb2x1bW4odGFibGUsCisJCQkJY29sZGVzY3NbY29sdW1uc1tuXV0ubmFtZSwKKwkJCQljb2xkZXNjc1tjb2x1bW5zW25dXS53aGludCwKKwkJCQlmbGFncykpCisJCQlnb3RvIGZhaWw7CisJCSsrbjsKKwl9CisKKwlyZXR1cm4gdGFibGU7CitmYWlsOgorCXNjb2xzX3VucmVmX3RhYmxlKHRhYmxlKTsKKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIHZvaWQgZmlsbF90YWJsZShjb25zdCB2b2lkICp1LCBjb25zdCBWSVNJVCB3aGljaCwgY29uc3QgaW50IGRlcHRoIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCXN0cnVjdCBsaWJzY29sc19saW5lICpsbjsKKwlzdHJ1Y3QgbHNsb2dpbnNfdXNlciAqdXNlciA9ICooc3RydWN0IGxzbG9naW5zX3VzZXIgKiopdTsKKwlpbnQgbiA9IDA7CisKKwlpZiAod2hpY2ggPT0gcHJlb3JkZXIgfHwgd2hpY2ggPT0gZW5kb3JkZXIpCisJCXJldHVybjsKKworCWxuID0gc2NvbHNfdGFibGVfbmV3X2xpbmUodGIsIE5VTEwpOworCXdoaWxlIChuIDwgbmNvbHVtbnMpIHsKKwkJaW50IHJjID0gMDsKKworCQlzd2l0Y2ggKGNvbHVtbnNbbl0pIHsKKwkJY2FzZSBDT0xfVVNFUjoKKwkJCXJjID0gc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgbiwgdXNlci0+bG9naW4pOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1VJRDoKKwkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCB1aWR0b3N0cih1c2VyLT51aWQpKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9QV0RFTVBUWToKKwkJCXJjID0gc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgbiwgZ2V0X3N0YXR1cyh1c2VyLT5wd2RfZW1wdHkpKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9OT0xPR0lOOgorCQkJcmMgPSBzY29sc19saW5lX3NldF9kYXRhKGxuLCBuLCBnZXRfc3RhdHVzKHVzZXItPm5vbG9naW4pKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9QV0RMT0NLOgorCQkJcmMgPSBzY29sc19saW5lX3NldF9kYXRhKGxuLCBuLCBnZXRfc3RhdHVzKHVzZXItPnB3ZF9sb2NrKSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfUFdEREVOWToKKwkJCXJjID0gc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgbiwgZ2V0X3N0YXR1cyh1c2VyLT5wd2RfZGVueSkpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX0dST1VQOgorCQkJcmMgPSBzY29sc19saW5lX3NldF9kYXRhKGxuLCBuLCB1c2VyLT5ncm91cCk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfR0lEOgorCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGdpZHRvc3RyKHVzZXItPmdpZCkpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1NHUk9VUFM6CisJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwKKwkJCQlidWlsZF9zZ3JvdXBzX3N0cmluZyh1c2VyLT5zZ3JvdXBzLAorCQkJCQkJICAgICB1c2VyLT5uc2dyb3VwcywKKwkJCQkJCSAgICAgVFJVRSkpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1NHSURTOgorCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sCisJCQkJYnVpbGRfc2dyb3Vwc19zdHJpbmcodXNlci0+c2dyb3VwcywKKwkJCQkJCSAgICAgdXNlci0+bnNncm91cHMsCisJCQkJCQkgICAgIEZBTFNFKSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfSE9NRToKKwkJCXJjID0gc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgbiwgdXNlci0+aG9tZWRpcik7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfU0hFTEw6CisJCQlyYyA9IHNjb2xzX2xpbmVfc2V0X2RhdGEobG4sIG4sIHVzZXItPnNoZWxsKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9HRUNPUzoKKwkJCXJjID0gc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgbiwgdXNlci0+Z2Vjb3MpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX0xBU1RfTE9HSU46CisJCQlyYyA9IHNjb2xzX2xpbmVfc2V0X2RhdGEobG4sIG4sIHVzZXItPmxhc3RfbG9naW4pOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX0xBU1RfVFRZOgorCQkJcmMgPSBzY29sc19saW5lX3NldF9kYXRhKGxuLCBuLCB1c2VyLT5sYXN0X3R0eSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfTEFTVF9IT1NUTkFNRToKKwkJCXJjID0gc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgbiwgdXNlci0+bGFzdF9ob3N0bmFtZSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfRkFJTEVEX0xPR0lOOgorCQkJcmMgPSBzY29sc19saW5lX3NldF9kYXRhKGxuLCBuLCB1c2VyLT5mYWlsZWRfbG9naW4pOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX0ZBSUxFRF9UVFk6CisJCQlyYyA9IHNjb2xzX2xpbmVfc2V0X2RhdGEobG4sIG4sIHVzZXItPmZhaWxlZF90dHkpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX0hVU0hfU1RBVFVTOgorCQkJcmMgPSBzY29sc19saW5lX3NldF9kYXRhKGxuLCBuLCBnZXRfc3RhdHVzKHVzZXItPmh1c2hlZCkpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1BXRF9XQVJOOgorCQkJcmMgPSBzY29sc19saW5lX3NldF9kYXRhKGxuLCBuLCB1c2VyLT5wd2Rfd2Fybik7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfUFdEX0VYUElSOgorCQkJcmMgPSBzY29sc19saW5lX3NldF9kYXRhKGxuLCBuLCB1c2VyLT5wd2RfZXhwaXJlKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9QV0RfQ1RJTUU6CisJCQlyYyA9IHNjb2xzX2xpbmVfc2V0X2RhdGEobG4sIG4sIHVzZXItPnB3ZF9jdGltZSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfUFdEX0NUSU1FX01JTjoKKwkJCXJjID0gc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgbiwgdXNlci0+cHdkX2N0aW1lX21pbik7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfUFdEX0NUSU1FX01BWDoKKwkJCXJjID0gc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgbiwgdXNlci0+cHdkX2N0aW1lX21heCk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfU0VMSU5VWDoKKyNpZmRlZiBIQVZFX0xJQlNFTElOVVgKKwkJCXJjID0gc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgbiwgdXNlci0+Y29udGV4dCk7CisjZW5kaWYKKwkJCWJyZWFrOworCQljYXNlIENPTF9OUFJPQ1M6CisJCQlyYyA9IHNjb2xzX2xpbmVfc2V0X2RhdGEobG4sIG4sIHVzZXItPm5wcm9jcyk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCS8qIHNvbWV0aGluZyB3ZW50IHZlcnkgd3JvbmcgaGVyZSAqLworCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiaW50ZXJuYWwgZXJyb3I6IHVua25vd24gY29sdW1uIikpOworCQl9CisKKwkJaWYgKHJjICE9IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gc2V0IGRhdGEiKSk7CisJCSsrbjsKKwl9CisJcmV0dXJuOworfQorI2lmZGVmIEhBVkVfTElCU1lTVEVNRAorc3RhdGljIHZvaWQgcHJpbnRfam91cm5hbF90YWlsKGNvbnN0IGNoYXIgKmpvdXJuYWxfcGF0aCwgdWlkX3QgdWlkLCBzaXplX3QgbGVuLCBpbnQgdGltZV9tb2RlKQoreworCXNkX2pvdXJuYWwgKmo7CisJY2hhciAqbWF0Y2gsICp0aW1lc3RhbXA7CisJdWludDY0X3QgeDsKKwl0aW1lX3QgdDsKKwljb25zdCBjaGFyICppZGVudGlmaWVyLCAqcGlkLCAqbWVzc2FnZTsKKwlzaXplX3QgaWRlbnRpZmllcl9sZW4sIHBpZF9sZW4sIG1lc3NhZ2VfbGVuOworCisJaWYgKGpvdXJuYWxfcGF0aCkKKwkJc2Rfam91cm5hbF9vcGVuX2RpcmVjdG9yeSgmaiwgam91cm5hbF9wYXRoLCAwKTsKKwllbHNlCisJCXNkX2pvdXJuYWxfb3BlbigmaiwgU0RfSk9VUk5BTF9MT0NBTF9PTkxZKTsKKworCXhhc3ByaW50ZigmbWF0Y2gsICJfVUlEPSVkIiwgdWlkKTsKKworCXNkX2pvdXJuYWxfYWRkX21hdGNoKGosIG1hdGNoLCAwKTsKKwlzZF9qb3VybmFsX3NlZWtfdGFpbChqKTsKKwlzZF9qb3VybmFsX3ByZXZpb3VzX3NraXAoaiwgbGVuKTsKKworCWRvIHsKKwkJaWYgKDAgPiBzZF9qb3VybmFsX2dldF9kYXRhKGosICJTWVNMT0dfSURFTlRJRklFUiIsCisJCQkJKGNvbnN0IHZvaWQgKiopICZpZGVudGlmaWVyLCAmaWRlbnRpZmllcl9sZW4pKQorCQkJZ290byBkb25lOworCQlpZiAoMCA+IHNkX2pvdXJuYWxfZ2V0X2RhdGEoaiwgIl9QSUQiLAorCQkJCShjb25zdCB2b2lkICoqKSAmcGlkLCAmcGlkX2xlbikpCisJCQlnb3RvIGRvbmU7CisJCWlmICgwID4gc2Rfam91cm5hbF9nZXRfZGF0YShqLCAiTUVTU0FHRSIsCisJCQkJKGNvbnN0IHZvaWQgKiopICZtZXNzYWdlLCAmbWVzc2FnZV9sZW4pKQorCQkJZ290byBkb25lOworCisJCXNkX2pvdXJuYWxfZ2V0X3JlYWx0aW1lX3VzZWMoaiwgJngpOworCQl0ID0geCAvIDEwMDAwMDA7CisJCXRpbWVzdGFtcCA9IG1ha2VfdGltZSh0aW1lX21vZGUsIHQpOworCQkvKiBHZXQgcmlkIG9mIGpvdXJuYWwgZW50cnkgZmllbGQgaWRlbnRpZmllcnMgKi8KKwkJaWRlbnRpZmllciA9IHN0cmNocihpZGVudGlmaWVyLCAnPScpICsgMTsKKwkJcGlkID0gc3RyY2hyKHBpZCwgJz0nKSArIDE7CisJCW1lc3NhZ2UgPSBzdHJjaHIobWVzc2FnZSwgJz0nKSArIDE7CisKKwkJZnByaW50ZihzdGRvdXQsICIlcyAlc1slc106ICVzXG4iLCB0aW1lc3RhbXAsIGlkZW50aWZpZXIsIHBpZCwKKwkJCW1lc3NhZ2UpOworCQlmcmVlKHRpbWVzdGFtcCk7CisJfSB3aGlsZSAoc2Rfam91cm5hbF9uZXh0KGopKTsKKworZG9uZToKKwlmcmVlKG1hdGNoKTsKKwlzZF9qb3VybmFsX2ZsdXNoX21hdGNoZXMoaik7CisJc2Rfam91cm5hbF9jbG9zZShqKTsKK30KKyNlbmRpZgorCitzdGF0aWMgaW50IHByaW50X3ByZXR0eShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRhYmxlKQoreworCXN0cnVjdCBsaWJzY29sc19pdGVyICppdHIgPSBzY29sc19uZXdfaXRlcihTQ09MU19JVEVSX0ZPUldBUkQpOworCXN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNvbDsKKwlzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqZGF0YTsKKwlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG47CisJY29uc3QgY2hhciAqaHN0ciwgKmRzdHI7CisJaW50IG4gPSAwOworCisJbG4gPSBzY29sc190YWJsZV9nZXRfbGluZSh0YWJsZSwgMCk7CisJd2hpbGUgKCFzY29sc190YWJsZV9uZXh0X2NvbHVtbih0YWJsZSwgaXRyLCAmY29sKSkgeworCisJCWRhdGEgPSBzY29sc19saW5lX2dldF9jZWxsKGxuLCBuKTsKKworCQloc3RyID0gXyhjb2xkZXNjc1tjb2x1bW5zW25dXS5wcmV0dHlfbmFtZSk7CisJCWRzdHIgPSBzY29sc19jZWxsX2dldF9kYXRhKGRhdGEpOworCisJCWlmIChkc3RyKQorCQkJcHJpbnRmKCIlczolKmMlLTM2c1xuIiwgaHN0ciwgMzUgLSAoaW50KXN0cmxlbihoc3RyKSwgJyAnLCBkc3RyKTsKKwkJKytuOworCX0KKworCXNjb2xzX2ZyZWVfaXRlcihpdHIpOworCXJldHVybiAwOworCit9CisKK3N0YXRpYyBpbnQgcHJpbnRfdXNlcl90YWJsZShzdHJ1Y3QgbHNsb2dpbnNfY29udHJvbCAqY3RsKQoreworCXRiID0gc2V0dXBfdGFibGUoY3RsKTsKKwlpZiAoIXRiKQorCQlyZXR1cm4gLTE7CisKKwl0d2FsayhjdGwtPnVzZXJ0cmVlLCBmaWxsX3RhYmxlKTsKKwlpZiAob3V0bW9kZSA9PSBPVVRfUFJFVFRZKSB7CisJCXByaW50X3ByZXR0eSh0Yik7CisjaWZkZWYgSEFWRV9MSUJTWVNURU1ECisJCWZwcmludGYoc3Rkb3V0LCBfKCJcbkxhc3QgbG9nczpcbiIpKTsKKwkJcHJpbnRfam91cm5hbF90YWlsKGN0bC0+am91cm5hbF9wYXRoLCBjdGwtPnVpZCwgMywgY3RsLT50aW1lX21vZGUpOworCQlmcHV0YygnXG4nLCBzdGRvdXQpOworI2VuZGlmCisJfSBlbHNlCisJCXNjb2xzX3ByaW50X3RhYmxlKHRiKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgZnJlZV91c2VyKHZvaWQgKmYpCit7CisJc3RydWN0IGxzbG9naW5zX3VzZXIgKnUgPSBmOworCWZyZWUodS0+bG9naW4pOworCWZyZWUodS0+Z3JvdXApOworCWZyZWUodS0+Z2Vjb3MpOworCWZyZWUodS0+c2dyb3Vwcyk7CisJZnJlZSh1LT5wd2RfY3RpbWUpOworCWZyZWUodS0+cHdkX3dhcm4pOworCWZyZWUodS0+cHdkX2N0aW1lX21pbik7CisJZnJlZSh1LT5wd2RfY3RpbWVfbWF4KTsKKwlmcmVlKHUtPmxhc3RfbG9naW4pOworCWZyZWUodS0+bGFzdF90dHkpOworCWZyZWUodS0+bGFzdF9ob3N0bmFtZSk7CisJZnJlZSh1LT5mYWlsZWRfbG9naW4pOworCWZyZWUodS0+ZmFpbGVkX3R0eSk7CisJZnJlZSh1LT5ob21lZGlyKTsKKwlmcmVlKHUtPnNoZWxsKTsKKwlmcmVlKHUtPnB3ZF9zdGF0dXMpOworI2lmZGVmIEhBVkVfTElCU0VMSU5VWAorCWZyZWVjb24odS0+Y29udGV4dCk7CisjZW5kaWYKKwlmcmVlKHUpOworfQorCitzdGF0aWMgaW50IHBhcnNlX3RpbWVfbW9kZShjb25zdCBjaGFyICpzKQoreworCXN0cnVjdCBsc2xvZ2luc190aW1lZm10IHsKKwkJY29uc3QgY2hhciAqbmFtZTsKKwkJY29uc3QgaW50IHZhbDsKKwl9OworCXN0YXRpYyBjb25zdCBzdHJ1Y3QgbHNsb2dpbnNfdGltZWZtdCB0aW1lZm10c1tdID0geworCQl7ImlzbyIsIFRJTUVfSVNPfSwKKwkJeyJmdWxsIiwgVElNRV9GVUxMfSwKKwkJeyJzaG9ydCIsIFRJTUVfU0hPUlR9LAorCX07CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh0aW1lZm10cyk7IGkrKykgeworCQlpZiAoc3RyY21wKHRpbWVmbXRzW2ldLm5hbWUsIHMpID09IDApCisJCQlyZXR1cm4gdGltZWZtdHNbaV0udmFsOworCX0KKwllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5rbm93biB0aW1lIGZvcm1hdDogJXMiKSwgcyk7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKEZJTEUgKm91dCkKK3sKKwlzaXplX3QgaTsKKworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygiICVzIFtvcHRpb25zXVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBkaXNwbGF5IGluZm8gYWJvdXQgcGFzc3dvcmRzIGV4cGlyYXRpb25cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtYywgLS1jb2xvbi1zZXBhcmF0ZSAgICAgZGlzcGxheSBkYXRhIGluIGEgZm9ybWF0IHNpbWlsYXIgdG8gL2V0Yy9wYXNzd2RcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZSwgLS1leHBvcnQgICAgICAgICAgICAgZGlzcGxheSBpbiBhbiBleHBvcnQtYWJsZSBvdXRwdXQgZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIGRpc3BsYXkgZGF0YSBhYm91dCB0aGUgdXNlcnMnIGxhc3QgZmFpbGVkIGxvZ2luc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGdyb3Vwc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1nLCAtLWdyb3Vwcz08Z3JvdXBzPiAgICBkaXNwbGF5IHVzZXJzIGJlbG9uZ2luZyB0byBhIGdyb3VwIGluIDxncm91cHM+XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIHNob3cgaW5mbyBhYm91dCB0aGUgdXNlcnMnIGxhc3QgbG9naW4gc2Vzc2lvbnNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbCwgLS1sb2dpbnM9PGxvZ2lucz4gICAgZGlzcGxheSBvbmx5IHVzZXJzIGZyb20gPGxvZ2lucz5cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbiwgLS1uZXdsaW5lICAgICAgICAgICAgZGlzcGxheSBlYWNoIHBpZWNlIG9mIGluZm9ybWF0aW9uIG9uIGEgbmV3IGxpbmVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1ub3RydW5jYXRlICAgICAgICAgZG9uJ3QgdHJ1bmNhdGUgb3V0cHV0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW8sIC0tb3V0cHV0Wz08bGlzdD5dICAgIGRlZmluZSB0aGUgY29sdW1ucyB0byBvdXRwdXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGxvZ2luIGJ5IHBhc3N3b3JkLlxuIiksIG91dCk7CisJZnB1dHMoXygiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICBkaXNwbGF5IGluIHJhdyBtb2RlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXMsIC0tc3lzdGVtLWFjY3MgICAgICAgIGRpc3BsYXkgc3lzdGVtIGFjY291bnRzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tdGltZS1mb3JtYXQ9PHR5cGU+IGRpc3BsYXkgZGF0ZXMgaW4gc2hvcnQsIGZ1bGwgb3IgaXNvIGZvcm1hdFxuIiksIG91dCk7CisJZnB1dHMoXygiIC11LCAtLXVzZXItYWNjcyAgICAgICAgICBkaXNwbGF5IHVzZXIgYWNjb3VudHNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgZGlzcGxheSBTRUxpbnV4IGNvbnRleHRzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXosIC0tcHJpbnQwICAgICAgICAgICAgIGRlbGltaXQgdXNlciBlbnRyaWVzIHdpdGggYSBudWwgY2hhcmFjdGVyXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0td3RtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3Igd3RtcFxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLWJ0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIGJ0bXBcbiIpLCBvdXQpOworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dCk7CisKKwlmcHJpbnRmKG91dCwgXygiXG5BdmFpbGFibGUgY29sdW1uczpcbiIpKTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGNvbGRlc2NzKTsgaSsrKQorCQlmcHJpbnRmKG91dCwgIiAlMTRzICAlc1xuIiwgY29sZGVzY3NbaV0ubmFtZSwKKwkJCQlfKGNvbGRlc2NzW2ldLmhlbHApKTsKKworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgibHNsb2dpbnMoMSkiKSk7CisKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWludCBjLCBvcHRfbyA9IDA7CisJY2hhciAqbG9naW5zID0gTlVMTCwgKmdyb3VwcyA9IE5VTEw7CisJY2hhciAqcGF0aF93dG1wID0gX1BBVEhfV1RNUCwgKnBhdGhfYnRtcCA9IF9QQVRIX0JUTVA7CisJc3RydWN0IGxzbG9naW5zX2NvbnRyb2wgKmN0bCA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBsc2xvZ2luc19jb250cm9sKSk7CisJc2l6ZV90IGk7CisKKwkvKiBsb25nIG9ubHkgb3B0aW9ucy4gKi8KKwllbnVtIHsKKwkJT1BUX1dUTVAgPSBDSEFSX01BWCArIDEsCisJCU9QVF9CVE1QLAorCQlPUFRfTk9UUlVOQywKKwkJT1BUX05PSEVBRCwKKwkJT1BUX1RJTUVfRk1ULAorCX07CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJhY2MtZXhwaXJhdGlvbiIsIG5vX2FyZ3VtZW50LAkwLCAnYScgfSwKKwkJeyAiY29sb24tc2VwYXJhdGUiLCBub19hcmd1bWVudCwJMCwgJ2MnIH0sCisJCXsgImV4cG9ydCIsICAgICAgICAgbm9fYXJndW1lbnQsCTAsICdlJyB9LAorCQl7ICJmYWlsZWQiLCAgICAgICAgIG5vX2FyZ3VtZW50LAkwLCAnZicgfSwKKwkJeyAiZ3JvdXBzIiwgICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwJMCwgJ2cnIH0sCisJCXsgImhlbHAiLCAgICAgICAgICAgbm9fYXJndW1lbnQsCTAsICdoJyB9LAorCQl7ICJsb2dpbnMiLCAgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LAkwLCAnbCcgfSwKKwkJeyAic3VwcC1ncm91cHMiLCAgICBub19hcmd1bWVudCwJMCwgJ0cnIH0sCisJCXsgIm5ld2xpbmUiLCAgICAgICAgbm9fYXJndW1lbnQsCTAsICduJyB9LAorCQl7ICJub3RydW5jYXRlIiwgICAgIG5vX2FyZ3VtZW50LAkwLCBPUFRfTk9UUlVOQyB9LAorCQl7ICJub2hlYWRpbmdzIiwgICAgIG5vX2FyZ3VtZW50LAkwLCBPUFRfTk9IRUFEIH0sCisJCXsgIm91dHB1dCIsICAgICAgICAgcmVxdWlyZWRfYXJndW1lbnQsCTAsICdvJyB9LAorCQl7ICJsYXN0IiwgICAgICAgICAgIG5vX2FyZ3VtZW50LAkwLCAnTCcsIH0sCisJCXsgInJhdyIsICAgICAgICAgICAgbm9fYXJndW1lbnQsCTAsICdyJyB9LAorCQl7ICJzeXN0ZW0tYWNjcyIsICAgIG5vX2FyZ3VtZW50LAkwLCAncycgfSwKKwkJeyAidGltZS1mb3JtYXQiLCAgICByZXF1aXJlZF9hcmd1bWVudCwJMCwgT1BUX1RJTUVfRk1UIH0sCisJCXsgInVzZXItYWNjcyIsICAgICAgbm9fYXJndW1lbnQsCTAsICd1JyB9LAorCQl7ICJ2ZXJzaW9uIiwgICAgICAgIG5vX2FyZ3VtZW50LAkwLCAnVicgfSwKKwkJeyAicHdkIiwgICAgICAgICAgICBub19hcmd1bWVudCwJMCwgJ3AnIH0sCisJCXsgInByaW50MCIsICAgICAgICAgbm9fYXJndW1lbnQsCTAsICd6JyB9LAorCQl7ICJ3dG1wLWZpbGUiLCAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LAkwLCBPUFRfV1RNUCB9LAorCQl7ICJidG1wLWZpbGUiLCAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LAkwLCBPUFRfQlRNUCB9LAorI2lmZGVmIEhBVkVfTElCU0VMSU5VWAorCQl7ICJjb250ZXh0IiwgICAgICAgIG5vX2FyZ3VtZW50LAkwLCAnWicgfSwKKyNlbmRpZgorCQl7IE5VTEwsICAgICAgICAgICAgIDAsIAkJCTAsICAwICB9CisJfTsKKworCXN0YXRpYyBjb25zdCB1bF9leGNsX3QgZXhjbFtdID0gewkvKiByb3dzIGFuZCBjb2xzIGluIEFTQ0lJIG9yZGVyICovCisJCXsgJ0cnLCAnbycgfSwKKwkJeyAnTCcsICdvJyB9LAorCQl7ICdaJywgJ28nIH0sCisJCXsgJ2EnLCAnbycgfSwKKwkJeyAnYycsJ24nLCdyJywneicgfSwKKwkJeyAnbycsICdwJyB9LAorCQl7IDAgfQorCX07CisJaW50IGV4Y2xfc3RbQVJSQVlfU0laRShleGNsKV0gPSBVTF9FWENMX1NUQVRVU19JTklUOworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCWN0bC0+dGltZV9tb2RlID0gVElNRV9TSE9SVDsKKworCS8qIHZlcnkgYmFzaWMgZGVmYXVsdCAqLworCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX1VJRCk7CisJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfVVNFUik7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiYWNlZkdnOmhMbDpubzpwcnN1VnpaIiwKKwkJCQlsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisKKwkJZXJyX2V4Y2x1c2l2ZV9vcHRpb25zKGMsIGxvbmdvcHRzLCBleGNsLCBleGNsX3N0KTsKKworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnYSc6CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9QV0RfV0FSTik7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9QV0RfQ1RJTUVfTUlOKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX1BXRF9DVElNRV9NQVgpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfUFdEX0NUSU1FKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX1BXRF9FWFBJUik7CisJCQlicmVhazsKKwkJY2FzZSAnYyc6CisJCQlvdXRtb2RlID0gT1VUX0NPTE9OOworCQkJYnJlYWs7CisJCWNhc2UgJ2UnOgorCQkJb3V0bW9kZSA9IE9VVF9FWFBPUlQ7CisJCQlicmVhazsKKwkJY2FzZSAnZic6CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9GQUlMRURfTE9HSU4pOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfRkFJTEVEX1RUWSk7CisJCQlicmVhazsKKwkJY2FzZSAnRyc6CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9HSUQpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfR1JPVVApOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfU0dJRFMpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfU0dST1VQUyk7CisJCQlicmVhazsKKwkJY2FzZSAnZyc6CisJCQlncm91cHMgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShzdGRvdXQpOworCQkJYnJlYWs7CisJCWNhc2UgJ0wnOgorCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfTEFTVF9UVFkpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfTEFTVF9IT1NUTkFNRSk7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9MQVNUX0xPR0lOKTsKKwkJCWJyZWFrOworCQljYXNlICdsJzoKKwkJCWxvZ2lucyA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICduJzoKKwkJCW91dG1vZGUgPSBPVVRfTkVXTElORTsKKwkJCWJyZWFrOworCQljYXNlICdvJzoKKwkJCWlmIChvcHRhcmcpIHsKKwkJCQlpZiAoKm9wdGFyZyA9PSAnPScpCisJCQkJCW9wdGFyZysrOworCQkJCW5jb2x1bW5zID0gc3RyaW5nX3RvX2lkYXJyYXkob3B0YXJnLAorCQkJCQkJY29sdW1ucywgQVJSQVlfU0laRShjb2x1bW5zKSwKKwkJCQkJCWNvbHVtbl9uYW1lX3RvX2lkKTsKKwkJCQlpZiAobmNvbHVtbnMgPCAwKQorCQkJCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCQkJfQorCQkJb3B0X28gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJb3V0bW9kZSA9IE9VVF9SQVc7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQljdGwtPlNZU19VSURfTUlOID0gZ2V0bG9naW5kZWZzX251bSgiU1lTX1VJRF9NSU4iLCBVTF9TWVNfVUlEX01JTik7CisJCQljdGwtPlNZU19VSURfTUFYID0gZ2V0bG9naW5kZWZzX251bSgiU1lTX1VJRF9NQVgiLCBVTF9TWVNfVUlEX01BWCk7CisJCQlsc2xvZ2luc19mbGFnIHw9IEZfU1lTQUM7CisJCQlicmVhazsKKwkJY2FzZSAndSc6CisJCQljdGwtPlVJRF9NSU4gPSBnZXRsb2dpbmRlZnNfbnVtKCJVSURfTUlOIiwgVUxfVUlEX01JTik7CisJCQljdGwtPlVJRF9NQVggPSBnZXRsb2dpbmRlZnNfbnVtKCJVSURfTUFYIiwgVUxfVUlEX01BWCk7CisJCQlsc2xvZ2luc19mbGFnIHw9IEZfVVNSQUM7CisJCQlicmVhazsKKwkJY2FzZSAncCc6CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9QV0RFTVBUWSk7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9QV0RMT0NLKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX1BXRERFTlkpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfTk9MT0dJTik7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9IVVNIX1NUQVRVUyk7CisJCQlicmVhazsKKwkJY2FzZSAneic6CisJCQlvdXRtb2RlID0gT1VUX05VTDsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9XVE1QOgorCQkJcGF0aF93dG1wID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0JUTVA6CisJCQlwYXRoX2J0bXAgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfTk9UUlVOQzoKKwkJCWN0bC0+bm90cnVuYyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfTk9IRUFEOgorCQkJY3RsLT5ub2hlYWRpbmdzID0gMTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9USU1FX0ZNVDoKKwkJCWN0bC0+dGltZV9tb2RlID0gcGFyc2VfdGltZV9tb2RlKG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ1onOgorCQl7CisjaWZkZWYgSEFWRV9MSUJTRUxJTlVYCisJCQlpbnQgc2wgPSBpc19zZWxpbnV4X2VuYWJsZWQoKTsKKwkJCWlmIChzbCA8IDApCisJCQkJd2FybihfKCJmYWlsZWQgdG8gcmVxdWVzdCBzZWxpbnV4IHN0YXRlIikpOworCQkJZWxzZQorCQkJCWN0bC0+c2VsaW51eF9lbmFibGVkID0gc2wgPT0gMTsKKyNlbmRpZgorCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfU0VMSU5VWCk7CisJCQlicmVhazsKKwkJfQorCQlkZWZhdWx0OgorCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJfQorCX0KKworCWlmIChhcmdjIC0gb3B0aW5kID09IDEpIHsKKwkJaWYgKHN0cmNocihhcmd2W29wdGluZF0sICcsJykpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiT25seSBvbmUgdXNlciBtYXkgYmUgc3BlY2lmaWVkLiBVc2UgLWwgZm9yIG11bHRpcGxlIHVzZXJzLiIpKTsKKwkJbG9naW5zID0gYXJndltvcHRpbmRdOworCQlvdXRtb2RlID0gT1VUX1BSRVRUWTsKKwl9IGVsc2UgaWYgKGFyZ2MgIT0gb3B0aW5kKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiT25seSBvbmUgdXNlciBtYXkgYmUgc3BlY2lmaWVkLiBVc2UgLWwgZm9yIG11bHRpcGxlIHVzZXJzLiIpKTsKKworCXNjb2xzX2luaXRfZGVidWcoMCk7CisKKwkvKiBsc2xvZ2lucyAtdSAtcyA9PSBsc2xvZ2lucyAqLworCWlmIChsc2xvZ2luc19mbGFnICYgRl9VU1JBQyAmJiBsc2xvZ2luc19mbGFnICYgRl9TWVNBQykKKwkJbHNsb2dpbnNfZmxhZyAmPSB+KEZfVVNSQUMgfCBGX1NZU0FDKTsKKworCWlmIChvdXRtb2RlID09IE9VVF9QUkVUVFkgJiYgIW9wdF9vKSB7CisJCS8qIGFsbCBjb2x1bW5zIGZvciBsc2xvZ2lucyA8dXNlcm5hbWU+ICovCisJCWZvciAobmNvbHVtbnMgPSAwLCBpID0gMDsgaSA8IEFSUkFZX1NJWkUoY29sZGVzY3MpOyBpKyspCisJCQkgY29sdW1uc1tuY29sdW1ucysrXSA9IGk7CisKKwl9IGVsc2UgaWYgKG5jb2x1bW5zID09IDIgJiYgIW9wdF9vKSB7CisJCS8qIGRlZmF1bHQgY29sdW1tbnMgKi8KKwkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfTlBST0NTKTsKKwkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfUFdETE9DSyk7CisJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX1BXRERFTlkpOworCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9MQVNUX0xPR0lOKTsKKwkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfR0VDT1MpOworCX0KKworCWlmIChyZXF1aXJlX3d0bXAoKSkKKwkJcGFyc2Vfd3RtcChjdGwsIHBhdGhfd3RtcCk7CisJaWYgKHJlcXVpcmVfYnRtcCgpKQorCQlwYXJzZV9idG1wKGN0bCwgcGF0aF9idG1wKTsKKworCWlmIChsb2dpbnMgfHwgZ3JvdXBzKQorCQlnZXRfdWxpc3QoY3RsLCBsb2dpbnMsIGdyb3Vwcyk7CisKKwlpZiAoY3JlYXRlX3VzZXJ0cmVlKGN0bCkpCisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisKKwlwcmludF91c2VyX3RhYmxlKGN0bCk7CisKKwlzY29sc191bnJlZl90YWJsZSh0Yik7CisJdGRlc3Ryb3koY3RsLT51c2VydHJlZSwgZnJlZV91c2VyKTsKKwlmcmVlX2N0bChjdGwpOworCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL25ld2dycC4xIGIvbG9naW4tdXRpbHMvbmV3Z3JwLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmI1ZWIwMAotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL25ld2dycC4xCkBAIC0wLDAgKzEsMzQgQEAKKy5cIiBPcmlnaW5hbCBhdXRob3IgdW5rbm93bi4gIFRoaXMgbWFuIHBhZ2UgaXMgaW4gdGhlIHB1YmxpYyBkb21haW4uCisuXCIgTW9kaWZpZWQgU2F0IE9jdCAgOSAxNzo0Njo0OCAxOTkzIGJ5IGZhaXRoQGNzLnVuYy5lZHUKKy5USCBORVdHUlAgMSAiT2N0b2JlciAxOTkzIiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQorbmV3Z3JwIFwtIGxvZyBpbiB0byBhIG5ldyBncm91cAorLlNIIFNZTk9QU0lTCisuQiBuZXdncnAKKy5SSSBbIGdyb3VwIF0KKy5TSCBERVNDUklQVElPTgorLkIgbmV3Z3JwCitjaGFuZ2VzIHRoZSBncm91cCBpZGVudGlmaWNhdGlvbiBvZiBpdHMgY2FsbGVyLCBhbmFsb2dvdXNseSB0bworLkJSIGxvZ2luICgxKS4KK1RoZSBzYW1lIHBlcnNvbiByZW1haW5zIGxvZ2dlZCBpbiwgYW5kIHRoZSBjdXJyZW50IGRpcmVjdG9yeQoraXMgdW5jaGFuZ2VkLCBidXQgY2FsY3VsYXRpb25zIG9mIGFjY2VzcyBwZXJtaXNzaW9ucyB0byBmaWxlcyBhcmUgcGVyZm9ybWVkCit3aXRoIHJlc3BlY3QgdG8gdGhlIG5ldyBncm91cCBJRC4KKy5MUAorSWYgbm8gZ3JvdXAgaXMgc3BlY2lmaWVkLCB0aGUgR0lEIGlzIGNoYW5nZWQgdG8gdGhlIGxvZ2luIEdJRC4KKy5MUAorLlNIIEZJTEVTCisuSSAvZXRjL2dyb3VwCisuYnIKKy5JIC9ldGMvcGFzc3dkCisKKy5TSCAiU0VFIEFMU08iCisuQlIgbG9naW4gKDEpLAorLkJSIGdyb3VwICg1KQorCisuU0ggQVVUSE9SCitPcmlnaW5hbGx5IGJ5IE1pY2hhZWwgSGFhcmR0LiBDdXJyZW50bHkgbWFpbnRhaW5lZCBieQorUGV0ZXIgT3JiYWVrIChwb2VAZGFpbWkuYWF1LmRrKS4KKworLlNIIEFWQUlMQUJJTElUWQorVGhlIG5ld2dycCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2Z0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL25ld2dycC5jIGIvbG9naW4tdXRpbHMvbmV3Z3JwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTY2MzlkMQotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL25ld2dycC5jCkBAIC0wLDAgKzEsMjM3IEBACisvKiBzZXRncnAuYyAtIGJ5IE1pY2hhZWwgSGFhcmR0LiBTZXQgdGhlIGdpZCBpZiBwb3NzaWJsZQorICogQWRkZWQgYSBiaXQgbW9yZSBlcnJvciByZWNvdmVyeS9yZXBvcnRpbmcgLSBwb2UKKyAqIFZlc2EgUm91a29uZW4gYWRkZWQgY29kZSBmb3IgYXNraW5nIHBhc3N3b3JkICovCisKKy8qIDE5OTktMDItMjIgQXJrYWRpdXN6IE1pxZtraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4KKyAqIC0gYWRkZWQgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKKyAqLworCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxncnAuaD4KKyNpbmNsdWRlIDxwd2QuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHRlcm1pb3MuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2lmZGVmIEhBVkVfQ1JZUFRfSAorIyBpbmNsdWRlIDxjcnlwdC5oPgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0dFVFNHTkFNCisjIGluY2x1ZGUgPGdzaGFkb3cuaD4KKyNlbmRpZgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisKK3N0YXRpYyBjaGFyICp4Z2V0cGFzcyhGSUxFICppbnB1dCwgY29uc3QgY2hhciAqcHJvbXB0KQoreworCWNoYXIgKnBhc3MgPSBOVUxMOworCXN0cnVjdCB0ZXJtaW9zIHNhdmVkLCBub19lY2hvOworCWNvbnN0IGludCBmZCA9IGZpbGVubyhpbnB1dCk7CisJc2l6ZV90IGR1bW15ID0gMDsKKwlzc2l6ZV90IGxlbjsKKworCWZwdXRzKHByb21wdCwgc3Rkb3V0KTsKKwlpZiAoaXNhdHR5KGZkKSkgeworCQkvKiBkaXNhYmxlIGVjaG8gKi8KKwkJdGNnZXRhdHRyKGZkLCAmc2F2ZWQpOworCQlub19lY2hvID0gc2F2ZWQ7CisJCW5vX2VjaG8uY19sZmxhZyAmPSB+RUNITzsKKwkJbm9fZWNoby5jX2xmbGFnIHw9IEVDSE9OTDsKKwkJaWYgKHRjc2V0YXR0cihmZCwgVENTQU5PVywgJm5vX2VjaG8pKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY291bGQgbm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIikpOworCX0KKwlsZW4gPSBnZXRsaW5lKCZwYXNzLCAmZHVtbXksIGlucHV0KTsKKwlpZiAoaXNhdHR5KGZkKSkKKwkJLyogcmVzdG9yZSB0ZXJtaW5hbCAqLworCQlpZiAodGNzZXRhdHRyKGZkLCBUQ1NBTk9XLCAmc2F2ZWQpKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY291bGQgbm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIikpOworCWlmIChsZW4gPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJnZXRsaW5lKCkgZmFpbGVkIikpOworCWlmICgwIDwgbGVuICYmICoocGFzcyArIGxlbiAtIDEpID09ICdcbicpCisJCSoocGFzcyArIGxlbiAtIDEpID0gJ1wwJzsKKwlyZXR1cm4gcGFzczsKK30KKworLyogRW5zdXJlIG1lbW9yeSBpcyBzZXQgdG8gdmFsdWUgYyB3aXRob3V0IGNvbXBpbGVyIG9wdGltaXphdGlvbiBnZXR0aW5nCisgKiBpbnRvIHdheSB0aGF0IGNvdWxkIGhhcHBlbiB3aXRoIG1lbXNldCgzKS4gKi8KK3N0YXRpYyBpbnQgeG1lbXNldF9zKHZvaWQgKnYsIHNpemVfdCBzeiwgY29uc3QgaW50IGMpCit7CisJdm9sYXRpbGUgdW5zaWduZWQgY2hhciAqcCA9IHY7CisKKwlpZiAodiA9PSBOVUxMKQorCQlyZXR1cm4gRUlOVkFMOworCXdoaWxlIChzei0tKQorCQkqcCsrID0gYzsKKwlyZXR1cm4gMDsKK30KKworLyogdHJ5IHRvIHJlYWQgcGFzc3dvcmQgZnJvbSBnc2hhZG93ICovCitzdGF0aWMgY2hhciAqZ2V0X2dzaGFkb3dfcHdkKGNvbnN0IGNoYXIgKmdyb3VwbmFtZSkKK3sKKyNpZmRlZiBIQVZFX0dFVFNHTkFNCisJc3RydWN0IHNncnAgKnNncnA7CisKKwlzZ3JwID0gZ2V0c2duYW0oZ3JvdXBuYW1lKTsKKwlyZXR1cm4gc2dycCA/IHhzdHJkdXAoc2dycC0+c2dfcGFzc3dkKSA6IE5VTEw7CisjZWxzZQorCWNoYXIgYnVmW0JVRlNJWl07CisJY2hhciAqcHdkID0gTlVMTDsKKwlGSUxFICpmOworCisJaWYgKGdyb3VwbmFtZSA9PSBOVUxMIHx8ICpncm91cG5hbWUgPT0gJ1wwJykKKwkJcmV0dXJuIE5VTEw7CisKKwlmID0gZm9wZW4oX1BBVEhfR1NIQURPVywgInIiKTsKKwlpZiAoIWYpCisJCXJldHVybiBOVUxMOworCisJd2hpbGUgKGZnZXRzKGJ1Ziwgc2l6ZW9mIGJ1ZiwgZikpIHsKKwkJY2hhciAqY3AgPSBzdHJjaHIoYnVmLCAnOicpOworCQlpZiAoIWNwKQorCQkJLyogYW55IGp1bmsgaW4gZ3NoYWRvdz8gKi8KKwkJCWNvbnRpbnVlOworCQkqY3AgPSAnXDAnOworCQlpZiAoc3RyY21wKGJ1ZiwgZ3JvdXBuYW1lKSA9PSAwKSB7CisJCQlpZiAoY3AgLSBidWYgPj0gQlVGU0laKQorCQkJCS8qIG9ubHkgZ3JvdXAgbmFtZSBvbiBsaW5lICovCisJCQkJYnJlYWs7CisJCQlwd2QgPSBjcCArIDE7CisJCQlpZiAoKGNwID0gc3RyY2hyKHB3ZCwgJzonKSkgJiYgcHdkID09IGNwICsgMSkKKwkJCQkvKiBlbXB0eSBwYXNzd29yZCAqLworCQkJCXB3ZCA9IE5VTEw7CisJCQllbHNlIGlmIChjcCkKKwkJCQkqY3AgPSAnXDAnOworCQkJYnJlYWs7CisJCX0KKwl9CisJZmNsb3NlKGYpOworCXJldHVybiBwd2QgPyB4c3RyZHVwKHB3ZCkgOiBOVUxMOworI2VuZGlmCS8qIEhBVkVfR0VUU0dOQU0gKi8KK30KKworc3RhdGljIGludCBhbGxvd19zZXRnaWQoY29uc3Qgc3RydWN0IHBhc3N3ZCAqcGUsIGNvbnN0IHN0cnVjdCBncm91cCAqZ2UpCit7CisJY2hhciAqKmxvb2s7CisJaW50IG5vdGZvdW5kID0gMTsKKwljaGFyICpwd2QsICp4cHdkOworCisJaWYgKGdldHVpZCgpID09IDApCisJCS8qIHJvb3QgbWF5IGRvIGFueXRoaW5nICovCisJCXJldHVybiBUUlVFOworCWlmIChnZS0+Z3JfZ2lkID09IHBlLT5wd19naWQpCisJCS8qIFlvdSBjYW4gc3dpdGNoIGJhY2sgdG8geW91ciBkZWZhdWx0IGdyb3VwICovCisJCXJldHVybiBUUlVFOworCisJbG9vayA9IGdlLT5ncl9tZW07CisJd2hpbGUgKCpsb29rICYmIChub3Rmb3VuZCA9IHN0cmNtcCgqbG9vaysrLCBwZS0+cHdfbmFtZSkpKSA7CisKKwlpZiAoIW5vdGZvdW5kKQorCQkvKiBtZW1iZXIgb2YgZ3JvdXAgPT4gT0sgKi8KKwkJcmV0dXJuIFRSVUU7CisKKwkvKiBBc2sgZm9yIHBhc3N3b3JkLiBPZnRlbiB0aGVyZSBpcyBubyBwYXNzd29yZCBpbiAvZXRjL2dyb3VwLCBzbworCSAqIGNvbnRyYXJ5IHRvIGxvZ2luIGV0IGFsLiB3ZSBsZXQgYW4gZW1wdHkgcGFzc3dvcmQgbWVhbiB0aGUgc2FtZQorCSAqIGFzIGluIC9ldGMvcGFzc3dkICovCisKKwkvKiBjaGVjayAvZXRjL2dzaGFkb3cgKi8KKwlpZiAoIShwd2QgPSBnZXRfZ3NoYWRvd19wd2QoZ2UtPmdyX25hbWUpKSkKKwkJcHdkID0gZ2UtPmdyX3Bhc3N3ZDsKKworCWlmIChwd2QgJiYgKnB3ZCAmJiAoeHB3ZCA9IHhnZXRwYXNzKHN0ZGluLCBfKCJQYXNzd29yZDogIikpKSkgeworCQljaGFyICpjYnVmID0gY3J5cHQoeHB3ZCwgcHdkKTsKKworCQl4bWVtc2V0X3MoeHB3ZCwgc3RybGVuKHhwd2QpLCAwKTsKKwkJZnJlZSh4cHdkKTsKKwkJaWYgKCFjYnVmKQorCQkJd2FybihfKCJjcnlwdCBmYWlsZWQiKSk7CisJCWVsc2UgaWYgKHN0cmNtcChwd2QsIGNidWYpID09IDApCisJCQlyZXR1cm4gVFJVRTsKKwl9CisKKwkvKiBkZWZhdWx0IHRvIGRlbmlhbCAqLworCXJldHVybiBGQUxTRTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqb3V0KQoreworCWZwcmludGYob3V0LCBVU0FHRV9IRUFERVIpOworCWZwcmludGYob3V0LCBfKCIgJXMgPGdyb3VwPlxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJMb2cgaW4gdG8gYSBuZXcgZ3JvdXAuXG4iKSwgb3V0KTsKKworCWZwcmludGYob3V0LCBVU0FHRV9PUFRJT05TKTsKKwlmcHJpbnRmKG91dCwgVVNBR0VfSEVMUCk7CisJZnByaW50ZihvdXQsIFVTQUdFX1ZFUlNJT04pOworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgibmV3Z3JwKDEpIikpOworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IHBhc3N3ZCAqcHdfZW50cnk7CisJc3RydWN0IGdyb3VwICpncl9lbnRyeTsKKwljaGFyICpzaGVsbDsKKwlpbnQgY2g7CisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsIE5VTEwsICdWJ30sCisJCXsiaGVscCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCd9LAorCQl7TlVMTCwgMCwgTlVMTCwgMH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgoY2ggPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiVmgiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKQorCQlzd2l0Y2ggKGNoKSB7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQl9CisKKwlpZiAoIShwd19lbnRyeSA9IGdldHB3dWlkKGdldHVpZCgpKSkpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oIndobyBhcmUgeW91PyIpKTsKKworCWlmIChhcmdjIDwgMikgeworCQlpZiAoc2V0Z2lkKHB3X2VudHJ5LT5wd19naWQpIDwgMCkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oInNldGdpZCBmYWlsZWQiKSk7CisJfSBlbHNlIHsKKwkJZXJybm8gPSAwOworCQlpZiAoIShncl9lbnRyeSA9IGdldGdybmFtKGFyZ3ZbMV0pKSkgeworCQkJaWYgKGVycm5vKQorCQkJCWVycihFWElUX0ZBSUxVUkUsIF8oIm5vIHN1Y2ggZ3JvdXAiKSk7CisJCQllbHNlCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIm5vIHN1Y2ggZ3JvdXAiKSk7CisJCX0KKwkJaWYgKCFhbGxvd19zZXRnaWQocHdfZW50cnksIGdyX2VudHJ5KSkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJwZXJtaXNzaW9uIGRlbmllZCIpKTsKKwkJaWYgKHNldGdpZChncl9lbnRyeS0+Z3JfZ2lkKSA8IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJzZXRnaWQgZmFpbGVkIikpOworCX0KKworCWlmIChzZXR1aWQoZ2V0dWlkKCkpIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygic2V0dWlkIGZhaWxlZCIpKTsKKworCWZmbHVzaChOVUxMKTsKKwlzaGVsbCA9IChwd19lbnRyeS0+cHdfc2hlbGwgJiYgKnB3X2VudHJ5LT5wd19zaGVsbCA/CisJCQkJcHdfZW50cnktPnB3X3NoZWxsIDogX1BBVEhfQlNIRUxMKTsKKwlleGVjbChzaGVsbCwgc2hlbGwsIChjaGFyICopMCk7CisJd2FybihfKCJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIpLCBzaGVsbCk7CisJZmZsdXNoKHN0ZGVycik7CisKKwlyZXR1cm4gRVhJVF9GQUlMVVJFOworfQpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvbm9sb2dpbi44IGIvbG9naW4tdXRpbHMvbm9sb2dpbi44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlNjlhM2EKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy9ub2xvZ2luLjgKQEAgLTAsMCArMSw1MiBAQAorLlRIIE5PTE9HSU4gOCAiU2VwdGVtYmVyIDIwMTMiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK25vbG9naW4gXC0gcG9saXRlbHkgcmVmdXNlIGEgbG9naW4KKy5TSCBTWU5PUFNJUworLkIgbm9sb2dpbgorLlJCIFsgXC1WIF0KKy5SQiBbIFwtaCBdCisuU0ggREVTQ1JJUFRJT04KKy5CIG5vbG9naW4KK2Rpc3BsYXlzIGEgbWVzc2FnZSB0aGF0IGFuIGFjY291bnQgaXMgbm90IGF2YWlsYWJsZSBhbmQgZXhpdHMgbm9uLXplcm8uICBJdCBpcworaW50ZW5kZWQgYXMgYSByZXBsYWNlbWVudCBzaGVsbCBmaWVsZCB0byBkZW55IGxvZ2luIGFjY2VzcyB0byBhbiBhY2NvdW50LgorLlBQCitJZiB0aGUgZmlsZSAvZXRjL25vbG9naW4udHh0IGV4aXN0cywgbm9sb2dpbiBkaXNwbGF5cyBpdHMgY29udGVudHMgdG8gdGhlCit1c2VyIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgbWVzc2FnZS4KKy5QUAorVGhlIGV4aXQgY29kZSByZXR1cm5lZCBieQorLkIgbm9sb2dpbgoraXMgYWx3YXlzIDEuCisuUFAKKy5TSCBPUFRJT05TCisuSVAgIlxmQlwtaCwgXC1cLWhlbHBcZlAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5JUCAiXGZCLVYsIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlNIIE5PVEVTCisuQiBub2xvZ2luCitpcyBhIHBlci1hY2NvdW50IHdheSB0byBkaXNhYmxlIGxvZ2luICh1c3VhbGx5IHVzZWQgZm9yIHN5c3RlbSBhY2NvdW50cyBsaWtlIGh0dHAgb3IgZnRwKS4KKy5CUiBub2xvZ2luICg4KQordXNlcyAvZXRjL25vbG9naW4udHh0IGFzIGFuIG9wdGlvbmFsIHNvdXJjZSBmb3IgYSBub24tZGVmYXVsdCBtZXNzYWdlLCB0aGUgbG9naW4KK2FjY2VzcyBpcyBhbHdheXMgcmVmdXNlZCBpbmRlcGVuZGVudGx5IG9mIHRoZSBmaWxlLgorLlBQCisuQlIgcGFtX25vbG9naW4gKDgpCitQQU0gbW9kdWxlIHVzdWFsbHkgcHJldmVudHMgYWxsIG5vbi1yb290IHVzZXJzIGZyb20gbG9nZ2luZyBpbnRvIHRoZSBzeXN0ZW0uCisuQlIgcGFtX25vbG9naW4gKDgpCitmdW5jdGlvbmFsaXR5IGlzIGNvbnRyb2xsZWQgYnkgL3Zhci9ydW4vbm9sb2dpbiBvciB0aGUgL2V0Yy9ub2xvZ2luIGZpbGUuCisuU0ggQVVUSE9SUworLlVSIGt6YWtAcmVkaGF0LmNvbQorS2FyZWwgWmFrCisuVUUKKy5TSCBTRUUgQUxTTworLkJSIGxvZ2luICgxKSwKKy5CUiBwYXNzd2QgKDUpLAorLkJSIHBhbV9ub2xvZ2luICg4KQorLlNIIEhJU1RPUlkKK1RoZQorLkIgbm9sb2dpbgorY29tbWFuZCBhcHBlYXJlZCBpbiA0LjRCU0QuCisuU0ggQVZBSUxBQklMSVRZCitUaGUgbm9sb2dpbiBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBmdHA6Ly9cOmZ0cC5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL25vbG9naW4uYyBiL2xvZ2luLXV0aWxzL25vbG9naW4uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTA2ZWY4Ci0tLSAvZGV2L251bGwKKysrIGIvbG9naW4tdXRpbHMvbm9sb2dpbi5jCkBAIC0wLDAgKzEsODAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorCisvKgorICogQWx3YXlzIHJldHVybiBFWElUX0ZBSUxVUkUgKDEpLCBkb24ndCB0cnkgdG8gYmUgc21hcnQhCisgKi8KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqb3V0KQoreworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwKKwkJXygiICVzIFtvcHRpb25zXVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJQb2xpdGVseSByZWZ1c2UgYSBsb2dpbi5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dCk7CisKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoIm5vbG9naW4oOCkiKSk7CisJZXhpdChFWElUX0ZBSUxVUkUpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWludCBjLCBmZDsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJoZWxwIiwgICAgMCwgMCwgJ2gnIH0sCisJCXsgInZlcnNpb24iLCAwLCAwLCAnVicgfSwKKwkJeyBOVUxMLCAwLCAwLCAwIH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJoViIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2Uoc3Rkb3V0KTsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKHN0ZGVycik7CisJCQlicmVhazsKKwkJfQorCX0KKworCWZkID0gb3BlbihfUEFUSF9OT0xPR0lOX1RYVCwgT19SRE9OTFkpOworCWMgPSBmc3RhdChmZCwgJnN0KTsKKwlpZiAoZmQgPj0gMCAmJiAhYyAmJiBTX0lTUkVHKHN0LnN0X21vZGUpKSB7CisJCWNoYXIgYnVmW0JVRlNJWl07CisJCXNzaXplX3QgcmQ7CisKKwkJd2hpbGUgKChyZCA9IHJlYWQoZmQsIGJ1Ziwgc2l6ZW9mKGJ1ZikpKSA+IDApCisJCQlpZ25vcmVfcmVzdWx0KCB3cml0ZShTVERPVVRfRklMRU5PLCBidWYsIHJkKSApOworCQljbG9zZShmZCk7CisJfSBlbHNlCisJCWZwcmludGYoc3Rkb3V0LCBfKCJUaGlzIGFjY291bnQgaXMgY3VycmVudGx5IG5vdCBhdmFpbGFibGUuXG4iKSk7CisKKwlyZXR1cm4gRVhJVF9GQUlMVVJFOworfQpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvcnVudXNlci4xIGIvbG9naW4tdXRpbHMvcnVudXNlci4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4ZDljMDQKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy9ydW51c2VyLjEKQEAgLTAsMCArMSwyNDEgQEAKKy5USCBSVU5VU0VSIDEgIkp1bHkgMjAxNCIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK3J1bnVzZXIgXC0gcnVuIGEgY29tbWFuZCB3aXRoIHN1YnN0aXR1dGUgdXNlciBhbmQgZ3JvdXAgSUQKKy5TSCBTWU5PUFNJUworLkJSIHJ1bnVzZXIgIiBbb3B0aW9uc10gIiBcLXUKKy5JIHVzZXIKKy5SSSAiW1tcLVwtXSAiIGNvbW1hbmQgIiBbImFyZ3VtZW50ICIuLi5dXSIKKy5MUAorLkJSIHJ1bnVzZXIgIiBbb3B0aW9uc10gWyIgXC0gXQorLlJJIFsgdXNlciAiIFsiIGFyZ3VtZW50ICIuLi5dXSIKKy5TSCBERVNDUklQVElPTgorLkIgcnVudXNlcgorYWxsb3dzIHRvIHJ1biBjb21tYW5kcyB3aXRoIGEgc3Vic3RpdHV0ZSB1c2VyIGFuZCBncm91cCBJRC4KK0lmIHRoZSBvcHRpb24gXGZCXC11XGZSIGlzIG5vdCBnaXZlbiwgaXQgZmFsbHMgYmFjayB0bworLkJSIHN1IC1jb21wYXRpYmxlCitzZW1hbnRpY3MgYW5kIGEgc2hlbGwgaXMgZXhlY3V0ZWQuCitUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBjb21tYW5kcworLkIgcnVudXNlcgorYW5kCisuQiBzdQoraXMgdGhhdAorLkIgcnVudXNlcgorZG9lcyBub3QgYXNrIGZvciBhIHBhc3N3b3JkIChiZWNhdXNlIGl0IG1heSBiZSBleGVjdXRlZCBieSB0aGUgcm9vdCB1c2VyIG9ubHkpIGFuZAoraXQgdXNlcyBhIGRpZmZlcmVudCBQQU0gY29uZmlndXJhdGlvbi4KK1RoZSBjb21tYW5kCisuQiBydW51c2VyCitkb2VzIG5vdCBoYXZlIHRvIGJlIGluc3RhbGxlZCB3aXRoIHNldC11c2VyLUlEIHBlcm1pc3Npb25zLgorLlBQCitJZiB0aGUgUEFNIHNlc3Npb24gaXMgbm90IHJlcXVpcmVkIHRoZW4gcmVjb21tZW5kZWQgc29sdXRpb24gaXMgdG8gdXNlCisuQlIgc2V0cHJpdiAoMSkKK2NvbW1hbmQuCisuUFAKK1doZW4gY2FsbGVkIHdpdGhvdXQgYXJndW1lbnRzLAorLkIgcnVudXNlcgorZGVmYXVsdHMgdG8gcnVubmluZyBhbiBpbnRlcmFjdGl2ZSBzaGVsbCBhcworLklSIHJvb3QgLgorLlBQCitGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwKKy5CIHJ1bnVzZXIKK2RlZmF1bHRzIHRvIG5vdCBjaGFuZ2UgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IGFuZCB0byBvbmx5IHNldCB0aGUKK2Vudmlyb25tZW50IHZhcmlhYmxlcworLkIgSE9NRQorYW5kCisuQiBTSEVMTAorKHBsdXMKKy5CIFVTRVIKK2FuZAorLkIgTE9HTkFNRQoraWYgdGhlIHRhcmdldAorLkkgdXNlcgoraXMgbm90IHJvb3QpLgorVGhpcyB2ZXJzaW9uIG9mCisuQiBydW51c2VyCit1c2VzIFBBTSBmb3Igc2Vzc2lvbiBtYW5hZ2VtZW50LgorLlNIIE9QVElPTlMKKy5UUAorLkJSIFwtYyAsICIgXC1cLWNvbW1hbmQiID0gXGZJY29tbWFuZAorUGFzcworLkkgY29tbWFuZAordG8gdGhlIHNoZWxsIHdpdGggdGhlCisuQiBcLWMKK29wdGlvbi4KKy5UUAorLkJSIFwtZiAsICIgXC1cLWZhc3QiCitQYXNzCisuQiBcLWYKK3RvIHRoZSBzaGVsbCwgd2hpY2ggbWF5IG9yIG1heSBub3QgYmUgdXNlZnVsIGRlcGVuZGluZyBvbiB0aGUKK3NoZWxsLgorLlRQCisuQlIgXC1nICwgIiBcLVwtZ3JvdXAiID0gXGZJZ3JvdXAKK1RoZSBwcmltYXJ5IGdyb3VwIHRvIGJlIHVzZWQuICBUaGlzIG9wdGlvbiBpcyBhbGxvd2VkIGZvciB0aGUgcm9vdCB1c2VyIG9ubHkuCisuVFAKKy5CUiBcLUcgLCAiIFwtXC1zdXBwXC1ncm91cCIgPSBcZklncm91cAorU3BlY2lmeSBhIHN1cHBsZW1lbnRhbCBncm91cC4gIFRoaXMgb3B0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUgcm9vdCB1c2VyIG9ubHkuICBUaGUgZmlyc3Qgc3BlY2lmaWVkCitzdXBwbGVtZW50YXJ5IGdyb3VwIGlzIGFsc28gdXNlZCBhcyBhIHByaW1hcnkgZ3JvdXAgaWYgdGhlIG9wdGlvbiBcZkJcLVwtZ3JvdXBcZlIgaXMgdW5zcGVjaWZpZWQuCisuVFAKKy5CUiBcLSAsICIgXC1sIiAsICIgXC1cLWxvZ2luIgorU3RhcnQgdGhlIHNoZWxsIGFzIGEgbG9naW4gc2hlbGwgd2l0aCBhbiBlbnZpcm9ubWVudCBzaW1pbGFyIHRvIGEgcmVhbAorbG9naW46CisuUlMgMTAKKy5UUAorbworY2xlYXJzIGFsbCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIGV4Y2VwdCBmb3IKKy5CIFRFUk0KKy5UUAorbworaW5pdGlhbGl6ZXMgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcworLkJSIEhPTUUgLAorLkJSIFNIRUxMICwKKy5CUiBVU0VSICwKKy5CUiBMT0dOQU1FICwKKy5CIFBBVEgKKy5UUAorbworY2hhbmdlcyB0byB0aGUgdGFyZ2V0IHVzZXIncyBob21lIGRpcmVjdG9yeQorLlRQCitvCitzZXRzIGFyZ3ZbMF0gb2YgdGhlIHNoZWxsIHRvCisuUkIgJyBcLSAnCitpbiBvcmRlciB0byBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsCisuUkUKKy5UUAorLkJSIFwtbSAsICIgXC1wIiAsICIgXC1cLXByZXNlcnZlXC1lbnZpcm9ubWVudCIKK1ByZXNlcnZlIHRoZSBlbnRpcmUgZW52aXJvbm1lbnQsIGkuZS4gaXQgZG9lcyBub3Qgc2V0CisuQlIgSE9NRSAsCisuQlIgU0hFTEwgLAorLkIgVVNFUgorbm9yCisuQlIgTE9HTkFNRSAuCitUaGUgb3B0aW9uIGlzIGlnbm9yZWQgaWYgdGhlIG9wdGlvbiBcZkJcLVwtbG9naW5cZlIgaXMgc3BlY2lmaWVkLgorLlRQCisuQlIgXC1zICwgIiBcLVwtc2hlbGwiID0gXGZJc2hlbGwKK1J1biB0aGUgc3BlY2lmaWVkIFxmSXNoZWxsXGZSIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQuICBUaGUgc2hlbGwgdG8gcnVuIGlzCitzZWxlY3RlZCBhY2NvcmRpbmcgdG8gdGhlIGZvbGxvd2luZyBydWxlcywgaW4gb3JkZXI6CisuUlMgMTAKKy5UUAorbwordGhlIHNoZWxsIHNwZWNpZmllZCB3aXRoCisuQiBcLVwtc2hlbGwKKy5UUAorbwordGhlIHNoZWxsIHNwZWNpZmllZCBpbiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUKKy5CIFNIRUxMCitpZiB0aGUKKy5CIFwtXC1wcmVzZXJ2ZVwtZW52aXJvbm1lbnQKK29wdGlvbiBpcyB1c2VkCisuVFAKK28KK3RoZSBzaGVsbCBsaXN0ZWQgaW4gdGhlIHBhc3N3ZCBlbnRyeSBvZiB0aGUgdGFyZ2V0IHVzZXIKKy5UUAorbworL2Jpbi9zaAorLlJFCisuSVAKK0lmIHRoZSB0YXJnZXQgdXNlciBoYXMgYSByZXN0cmljdGVkIHNoZWxsIChpLmUuIG5vdCBsaXN0ZWQgaW4KKy9ldGMvc2hlbGxzKSB0aGUKKy5CIFwtXC1zaGVsbAorb3B0aW9uIGFuZCB0aGUKKy5CIFNIRUxMCitlbnZpcm9ubWVudCB2YXJpYWJsZXMgYXJlIGlnbm9yZWQgdW5sZXNzIHRoZSBjYWxsaW5nIHVzZXIgaXMgcm9vdC4KKy5UUAorLkJJIFwtXC1zZXNzaW9uXC1jb21tYW5kPSBjb21tYW5kCitTYW1lIGFzCisuQiBcLWMgLAorYnV0IGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvbi4gIChEaXNjb3VyYWdlZC4pCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIIENPTkZJRyBGSUxFUworLkIgcnVudXNlcgorcmVhZHMgdGhlCisuSSAvZXRjL2RlZmF1bHQvcnVudXNlcgorYW5kCisuSSAvZXRjL2xvZ2luLmRlZnMKK2NvbmZpZ3VyYXRpb24gZmlsZXMuICBUaGUgZm9sbG93aW5nIGNvbmZpZ3VyYXRpb24gaXRlbXMgYXJlIHJlbGV2YW50Citmb3IKKy5CUiBydW51c2VyIDoKKy5QUAorLkIgRU5WX1BBVEgKKyhzdHJpbmcpCisuUlMgNAorRGVmaW5lcyB0aGUgUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSBmb3IgYSByZWd1bGFyIHVzZXIuICBUaGUKK2RlZmF1bHQgdmFsdWUgaXMKKy5JUiAvdXNyL2xvY2FsL2JpbjpcOi9iaW46XDovdXNyL2JpbiAuCisuUkUKKy5QUAorLkIgRU5WX1JPT1RQQVRICisoc3RyaW5nKQorLmJyCisuQiBFTlZfU1VQQVRICisoc3RyaW5nKQorLlJTIDQKK0RlZmluZXMgdGhlIFBBVEggZW52aXJvbm1lbnQgdmFyaWFibGUgZm9yIHJvb3QuIFRoZSBkZWZhdWx0IHZhbHVlIGlzCisuSVIgL3Vzci9sb2NhbC9zYmluOlw6L3Vzci9sb2NhbC9iaW46XDovc2JpbjpcOi9iaW46XDovdXNyL3NiaW46XDovdXNyL2JpbiAuCisuUkUKKy5QUAorLkIgQUxXQVlTX1NFVF9QQVRICisoYm9vbGVhbikKKy5SUyA0CitJZiBzZXQgdG8KKy5JIHllcworYW5kIFwtXC1sb2dpbiBhbmQgXC1cLXByZXNlcnZlXC1lbnZpcm9ubWVudCB3ZXJlIG5vdCBzcGVjaWZpZWQKKy5CIHJ1bnVzZXIKK2luaXRpYWxpemVzCisuQlIgUEFUSCAuCisuUkUKKy5TSCBFWElUIFNUQVRVUworLkIgcnVudXNlcgorbm9ybWFsbHkgcmV0dXJucyB0aGUgZXhpdCBzdGF0dXMgb2YgdGhlIGNvbW1hbmQgaXQgZXhlY3V0ZWQuICBJZiB0aGUKK2NvbW1hbmQgd2FzIGtpbGxlZCBieSBhIHNpZ25hbCwKKy5CIHJ1bnVzZXIKK3JldHVybnMgdGhlIG51bWJlciBvZiB0aGUgc2lnbmFsIHBsdXMgMTI4LgorLlBQCitFeGl0IHN0YXR1cyBnZW5lcmF0ZWQgYnkKKy5CIHJ1bnVzZXIKK2l0c2VsZjoKKy5SUyAxMAorLlRQCisxCitHZW5lcmljIGVycm9yIGJlZm9yZSBleGVjdXRpbmcgdGhlIHJlcXVlc3RlZCBjb21tYW5kCisuVFAKKzEyNgorVGhlIHJlcXVlc3RlZCBjb21tYW5kIGNvdWxkIG5vdCBiZSBleGVjdXRlZAorLlRQCisxMjcKK1RoZSByZXF1ZXN0ZWQgY29tbWFuZCB3YXMgbm90IGZvdW5kCisuUkUKKy5TSCBGSUxFUworLlBEIDAKKy5UUCAxNworL2V0Yy9wYW0uZC9ydW51c2VyCitkZWZhdWx0IFBBTSBjb25maWd1cmF0aW9uIGZpbGUKKy5UUAorL2V0Yy9wYW0uZC9ydW51c2VyLWwKK1BBTSBjb25maWd1cmF0aW9uIGZpbGUgaWYgXC1cLWxvZ2luIGlzIHNwZWNpZmllZAorLlRQCisvZXRjL2RlZmF1bHQvcnVudXNlcgorcnVudXNlciBzcGVjaWZpYyBsb2dpbmRlZiBjb25maWcgZmlsZQorLlRQCisvZXRjL2xvZ2luLmRlZnMKK2dsb2JhbCBsb2dpbmRlZiBjb25maWcgZmlsZQorLlBEIDEKKy5TSCAiU0VFIEFMU08iCisuQlIgc2V0cHJpdiAoMSksCisuQlIgc3UgKDEpLAorLkJSIGxvZ2luLmRlZnMgKDUpLAorLkJSIHNoZWxscyAoNSksCisuQlIgcGFtICg4KQorLlNIIEhJU1RPUlkKK1RoaXMgXGZCIHJ1bnVzZXJcZlIgY29tbWFuZCB3YXMKK2Rlcml2ZWQgZnJvbSBjb3JldXRpbHMnIFxmQnN1XGZSLCB3aGljaCB3YXMgYmFzZWQgb24gYW4gaW1wbGVtZW50YXRpb24gYnkKK0RhdmlkIE1hY0tlbnppZSwgYW5kIHRoZSBGZWRvcmEgXGZCcnVudXNlclxmUiBjb21tYW5kIGJ5IERhbiBXYWxzaC4KKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBydW51c2VyIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcworYXZhaWxhYmxlIGZyb20KKy5VUiBmdHA6Ly9cOmZ0cC5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL3J1bnVzZXIuYyBiL2xvZ2luLXV0aWxzL3J1bnVzZXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNGYzN2Y0Ci0tLSAvZGV2L251bGwKKysrIGIvbG9naW4tdXRpbHMvcnVudXNlci5jCkBAIC0wLDAgKzEsNyBAQAorCisjaW5jbHVkZSAic3UtY29tbW9uLmgiCisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlyZXR1cm4gc3VfbWFpbihhcmdjLCBhcmd2LCBSVU5VU0VSX01PREUpOworfQpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvc2VsaW51eF91dGlscy5jIGIvbG9naW4tdXRpbHMvc2VsaW51eF91dGlscy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmZDY5NmYKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy9zZWxpbnV4X3V0aWxzLmMKQEAgLTAsMCArMSwyOSBAQAorI2luY2x1ZGUgPHNlbGludXgvY29udGV4dC5oPgorI2luY2x1ZGUgPHNlbGludXgvc2VsaW51eC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisKKyNpbmNsdWRlICJzZWxpbnV4X3V0aWxzLmgiCisKK2FjY2Vzc192ZWN0b3JfdCBnZXRfYWNjZXNzX3ZlY3Rvcihjb25zdCBjaGFyICp0Y2xhc3MsIGNvbnN0IGNoYXIgKm9wKQoreworCXNlY3VyaXR5X2NsYXNzX3QgdGMgPSBzdHJpbmdfdG9fc2VjdXJpdHlfY2xhc3ModGNsYXNzKTsKKworCXJldHVybiB0YyA/IHN0cmluZ190b19hdl9wZXJtKHRjLCBvcCkgOiAwOworfQorCitpbnQgc2V0dXBEZWZhdWx0Q29udGV4dChjaGFyICpvcmlnX2ZpbGUpCit7CisJaWYgKGlzX3NlbGludXhfZW5hYmxlZCgpID4gMCkgeworCQlzZWN1cml0eV9jb250ZXh0X3Qgc2NvbnRleHQ7CisJCWlmIChnZXRmaWxlY29uKG9yaWdfZmlsZSwgJnNjb250ZXh0KSA8IDApCisJCQlyZXR1cm4gMTsKKwkJaWYgKHNldGZzY3JlYXRlY29uKHNjb250ZXh0KSA8IDApIHsKKwkJCWZyZWVjb24oc2NvbnRleHQpOworCQkJcmV0dXJuIDE7CisJCX0KKwkJZnJlZWNvbihzY29udGV4dCk7CisJfQorCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvc2VsaW51eF91dGlscy5oIGIvbG9naW4tdXRpbHMvc2VsaW51eF91dGlscy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmMGVkNjYKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy9zZWxpbnV4X3V0aWxzLmgKQEAgLTAsMCArMSw3IEBACisjaWZuZGVmIFVUSUxfTElOVVhfU0VMSU5VWF9VVElMU19ICisjZGVmaW5lIFVUSUxfTElOVVhfU0VMSU5VWF9VVElMU19ICisKK2V4dGVybiBhY2Nlc3NfdmVjdG9yX3QgZ2V0X2FjY2Vzc192ZWN0b3IoY29uc3QgY2hhciAqdGNsYXNzLCBjb25zdCBjaGFyICpvcCk7CitleHRlcm4gaW50IHNldHVwRGVmYXVsdENvbnRleHQoY2hhciAqb3JpZ19maWxlKTsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy9zZXRwd25hbS5jIGIvbG9naW4tdXRpbHMvc2V0cHduYW0uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjE2Yzc5Ci0tLSAvZGV2L251bGwKKysrIGIvbG9naW4tdXRpbHMvc2V0cHduYW0uYwpAQCAtMCwwICsxLDIxOCBAQAorLyoKKyAqICBzZXRwd25hbS5jIC0tIGVkaXQgYW4gZW50cnkgaW4gYSBwYXNzd29yZCBkYXRhYmFzZS4KKyAqCisgKiAgKGMpIDE5OTQgU2FsdmF0b3JlIFZhbGVudGUgPHN2YWxlbnRlQG1pdC5lZHU+CisgKiAgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKKyAqICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUKKyAqICBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBFZGl0ZWQgMTEvMTAvOTYgKEREL01NL1lZIDstKSBieSBOaWNvbGFpIExhbmdmZWxkdCAoamFubEBtYXRoLnVpby5ubykKKyAqICB0byByZWFkIC9ldGMvcGFzc3dkIGRpcmVjdGx5IHNvIHRoYXQgcGFzc3dkLCBjaHNoIGFuZCBjaGZuIGNhbiB3b3JrIG9uCisgKiAgbWFjaGluZXMgdGhhdCBydW4gTklTIChwcmV2aW91c2x5IFlQKS4gIENoYW5nZXMgd2lsbCBub3QgYmUgbWFkZSB0bworICogIHVzZXJuYW1lcyBzdGFydGluZyB3aXRoICsuCisgKgorICogIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB3aXRoIG5vIHdhcnJhbnR5LgorICoKKyAqICBVc2FnZToKKyAqICAxKSBnZXQgYSBzdHJ1Y3QgcGFzc3dkICogZnJvbSBnZXRwd25hbSgpLgorICogICAgIFlvdSBzaG91bGQgYXNzdW1lIGEgc3RydWN0IHBhc3N3ZCBoYXMgYW4gaW5maW5pdGUgbnVtYmVyIG9mIGZpZWxkcywgc28KKyAqICAgICB5b3Ugc2hvdWxkIG5vdCB0cnkgdG8gY3JlYXRlIG9uZSBmcm9tIHNjcmF0Y2guCisgKiAgMikgZWRpdCB0aGUgZmllbGRzIHlvdSB3YW50IHRvIGVkaXQuCisgKiAgMykgY2FsbCBzZXRwd25hbSgpIHdpdGggdGhlIGVkaXRlZCBzdHJ1Y3QgcGFzc3dkLgorICoKKyAqICBBIF9ub3JtYWwgdXNlcl8gcHJvZ3JhbSBzaG91bGQgbmV2ZXIgZGlyZWN0bHkgbWFuaXB1bGF0ZSBldGMvcGFzc3dkIGJ1dAorICogIC91c2UgZ2V0cHduYW0oKSBhbmQgKGZhbWlseSwgYXMgd2VsbCBhcykgc2V0cHduYW0oKS4KKyAqCisgKiAgQnV0LCBzZXRwd25hbSB3YXMgbWFkZSB0byBfZWRpdF8gdGhlIHBhc3N3b3JkIGZpbGUuICBGb3IgdXNlIGJ5IGNoZm4sCisgKiAgY2hzaCBhbmQgcGFzc3dkLiAgX0lfIF9IQVZFXyB0byByZWFkIGFuZCB3cml0ZSAvZXRjL3Bhc3N3ZCBkaXJlY3RseS4gIExldAorICogIHRob3NlIHdobyBzYXkgbmF5IGJlIGZvcmV2ZXIgc2lsZW50IGFuZCB0aGluayBhYm91dCBob3cgZ2V0cHduYW0gKGFuZAorICogIGZhbWlseSkgd29ya3Mgb24gYSBtYWNoaW5lIHJ1bm5pbmcgWVAuCisgKgorICogIEFkZGVkIGNoZWNrcyBmb3IgZmFpbHVyZSBvZiBtYWxsb2MoKSBhbmQgcmVtb3ZlZCBlcnJvciByZXBvcnRpbmcgdG8KKyAqICBzdGRlcnIsIHRoaXMgaXMgYSBsaWJyYXJ5IGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IHByaW50IG9uIHRoZSBzY3JlZW4sCisgKiAgYnV0IHJldHVybiBhcHByb3ByaWF0ZSBlcnJvciBjb2Rlcy4KKyAqICAyNy1KYW4tOTcgIC0gcG9lQGRhaW1pLmFhdS5kaworICoKKyAqICBUaGFua3MgdG8gInR3byBndXlzIG5hbWVkIElhbiIuCisgKgorICogICAkQXV0aG9yOiBwb2VyICQKKyAqICAgJFJldmlzaW9uOiAxLjEzICQKKyAqICAgJERhdGU6IDE5OTcvMDYvMjMgMDg6MjY6MjkgJAorICovCisKKyN1bmRlZiBERUJVRworCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHBhdGhzLmg+CisjaW5jbHVkZSA8cHdkLmg+CisjaW5jbHVkZSA8c2hhZG93Lmg+CisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8c3RkYm9vbC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL3Jlc291cmNlLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJmaWxldXRpbHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgInNldHB3bmFtLmgiCisKK3N0YXRpYyB2b2lkIHB3X2luaXQodm9pZCk7CisKKy8qCisgKiAgc2V0cHduYW0gKCkgLS0KKyAqCXRha2VzIGEgc3RydWN0IHBhc3N3ZCBpbiB3aGljaCBldmVyeSBmaWVsZCBpcyBmaWxsZWQgaW4gYW5kIHZhbGlkLgorICoJSWYgdGhlIGdpdmVuIHVzZXJuYW1lIGV4aXN0cyBpbiB0aGUgcGFzc3dkIGZpbGUsIHRoZSBlbnRyeSBpcworICoJcmVwbGFjZWQgd2l0aCB0aGUgZ2l2ZW4gZW50cnkuCisgKi8KK2ludCBzZXRwd25hbShzdHJ1Y3QgcGFzc3dkICpwd2QsIGNvbnN0IGNoYXIgKnByZWZpeCkKK3sKKwlGSUxFICpmcCA9IE5VTEwsICpwd2YgPSBOVUxMOworCWludCBzYXZlX2Vycm5vOworCWludCBmb3VuZDsKKwlpbnQgbmFtZWxlbjsKKwlpbnQgYnVmbGVuID0gMjU2OworCWludCBjb250bGVuLCByYzsKKwljaGFyICpsaW5lYnVmID0gTlVMTDsKKwljaGFyICp0bXBuYW1lID0gTlVMTDsKKworCXB3X2luaXQoKTsKKworCWlmICgoZnAgPSB4Zm1rc3RlbXAoJnRtcG5hbWUsICIvZXRjIiwgcHJlZml4KSkgPT0gTlVMTCkKKwkJcmV0dXJuIC0xOworCisJLyogcHRtcCBzaG91bGQgYmUgb3duZWQgYnkgcm9vdC5yb290IG9yIHJvb3Qud2hlZWwgKi8KKwlpZiAoZmNob3duKGZpbGVubyhmcCksICh1aWRfdCkgMCwgKGdpZF90KSAwKSA8IDApCisJCWdvdG8gZmFpbDsKKworCS8qIGFjcXVpcmUgZXhjbHVzaXZlIGxvY2sgKi8KKwlpZiAobGNrcHdkZigpIDwgMCkKKwkJZ290byBmYWlsOworCXB3ZiA9IGZvcGVuKFBBU1NXRF9GSUxFLCAiciIpOworCWlmICghcHdmKQorCQlnb3RvIGZhaWw7CisKKwluYW1lbGVuID0gc3RybGVuKHB3ZC0+cHdfbmFtZSk7CisKKwlsaW5lYnVmID0gbWFsbG9jKGJ1Zmxlbik7CisJaWYgKCFsaW5lYnVmKQorCQlnb3RvIGZhaWw7CisKKwkvKiBwYXJzZSB0aGUgcGFzc3dkIGZpbGUgKi8KKwlmb3VuZCA9IGZhbHNlOworCisJLyogRG8geW91IHdvbmRlciB3aHkgSSBkb24ndCB1c2UgZ2V0cHdlbnQ/IFJlYWQgY29tbWVudHMgYXQgdG9wIG9mCisJICogZmlsZSAqLworCXdoaWxlIChmZ2V0cyhsaW5lYnVmLCBidWZsZW4sIHB3ZikgIT0gTlVMTCkgeworCQljb250bGVuID0gc3RybGVuKGxpbmVidWYpOworCQl3aGlsZSAobGluZWJ1Zltjb250bGVuIC0gMV0gIT0gJ1xuJyAmJiAhZmVvZihwd2YpKSB7CisJCQljaGFyICp0bXA7CisJCQkvKiBFeHRlbmQgaW5wdXQgYnVmZmVyIGlmIGl0IGZhaWxlZCBnZXR0aW5nIHRoZSB3aG9sZSBsaW5lLAorCQkJICogc28gbm93IHdlIGRvdWJsZSB0aGUgYnVmZmVyIHNpemUgKi8KKwkJCWJ1ZmxlbiAqPSAyOworCQkJdG1wID0gcmVhbGxvYyhsaW5lYnVmLCBidWZsZW4pOworCQkJaWYgKHRtcCA9PSBOVUxMKQorCQkJCWdvdG8gZmFpbDsKKwkJCWxpbmVidWYgPSB0bXA7CisJCQkvKiBBbmQgZmlsbCB0aGUgcmVzdCBvZiB0aGUgYnVmZmVyICovCisJCQlpZiAoZmdldHMoJmxpbmVidWZbY29udGxlbl0sIGJ1ZmxlbiAvIDIsIHB3ZikgPT0gTlVMTCkKKwkJCQlicmVhazsKKwkJCWNvbnRsZW4gPSBzdHJsZW4obGluZWJ1Zik7CisJCQkvKiBUaGF0IHdhcyBhIGxvdCBvZiB3b3JrIGZvciBub3RoaW5nLiBHaW1tZSBwZXJsISAqLworCQl9CisKKwkJLyogSXMgdGhpcyB0aGUgdXNlcm5hbWUgd2Ugd2VyZSBzZW50IHRvIGNoYW5nZT8gKi8KKwkJaWYgKCFmb3VuZCAmJiBsaW5lYnVmW25hbWVsZW5dID09ICc6JyAmJgorCQkgICAgIXN0cm5jbXAobGluZWJ1ZiwgcHdkLT5wd19uYW1lLCBuYW1lbGVuKSkgeworCQkJLyogWWVzISBTbyBnbyBmb3J0aCBpbiB0aGUgbmFtZSBvZiB0aGUgTG9yZCBhbmQKKwkJCSAqIGNoYW5nZSBpdCEgICovCisJCQlpZiAocHV0cHdlbnQocHdkLCBmcCkgPCAwKQorCQkJCWdvdG8gZmFpbDsKKwkJCWZvdW5kID0gdHJ1ZTsKKwkJCWNvbnRpbnVlOworCQl9CisJCS8qIE5vdGhpbmcgaW4gcGFydGljdWxhciBoYXBwZW5lZCwgY29weSBpbnB1dCB0byBvdXRwdXQgKi8KKwkJZnB1dHMobGluZWJ1ZiwgZnApOworCX0KKworCS8qIHhmbWtzdGVtcCBpcyB0b28gcmVzdHJpY3RpdmUgYnkgZGVmYXVsdCBmb3IgcGFzc3dkIGZpbGUgKi8KKwlpZiAoZmNobW9kKGZpbGVubyhmcCksIDA2NDQpIDwgMCkKKwkJZ290byBmYWlsOworCXJjID0gY2xvc2Vfc3RyZWFtKGZwKTsKKwlmcCA9IE5VTEw7CisJaWYgKHJjICE9IDApCisJCWdvdG8gZmFpbDsKKworCWZjbG9zZShwd2YpOwkvKiBJIGRvbid0IHRoaW5rIEkgd2FudCB0byBrbm93IGlmIHRoaXMgZmFpbGVkICovCisJcHdmID0gTlVMTDsKKworCWlmICghZm91bmQpIHsKKwkJZXJybm8gPSBFTk9FTlQ7CS8qIGdpdmUgbWUgc29tZXRoaW5nIGJldHRlciAqLworCQlnb3RvIGZhaWw7CisJfQorCisJLyogd2UgZG9uJ3QgY2FyZSBpZiB3ZSBjYW4ndCByZW1vdmUgdGhlIGJhY2t1cCBmaWxlICovCisJdW5saW5rKFBBU1NXRF9GSUxFICIuT0xEIik7CisJLyogd2UgZG9uJ3QgY2FyZSBpZiB3ZSBjYW4ndCBjcmVhdGUgdGhlIGJhY2t1cCBmaWxlICovCisJaWdub3JlX3Jlc3VsdChsaW5rKFBBU1NXRF9GSUxFLCBQQVNTV0RfRklMRSAiLk9MRCIpKTsKKwkvKiB3ZSBETyBjYXJlIGlmIHdlIGNhbid0IHJlbmFtZSB0byB0aGUgcGFzc3dkIGZpbGUgKi8KKwlpZiAocmVuYW1lKHRtcG5hbWUsIFBBU1NXRF9GSUxFKSA8IDApCisJCWdvdG8gZmFpbDsKKwkvKiBmaW5hbGx5OiAgc3VjY2VzcyAqLworCXVsY2twd2RmKCk7CisJZnJlZShsaW5lYnVmKTsKKwlyZXR1cm4gMDsKKworIGZhaWw6CisJc2F2ZV9lcnJubyA9IGVycm5vOworCXVsY2twd2RmKCk7CisJaWYgKGZwICE9IE5VTEwpCisJCWZjbG9zZShmcCk7CisJaWYgKHRtcG5hbWUgIT0gTlVMTCkKKwkJdW5saW5rKHRtcG5hbWUpOworCWZyZWUodG1wbmFtZSk7CisJaWYgKHB3ZiAhPSBOVUxMKQorCQlmY2xvc2UocHdmKTsKKwlmcmVlKGxpbmVidWYpOworCWVycm5vID0gc2F2ZV9lcnJubzsKKwlyZXR1cm4gLTE7Cit9CisKKy8qIFNldCB1cCB0aGUgbGltaXRzIHNvIHRoYXQgd2UncmUgbm90IGZvaWxlZCAqLworc3RhdGljIHZvaWQgcHdfaW5pdCh2b2lkKQoreworCXN0cnVjdCBybGltaXQgcmxpbTsKKworCS8qIFVubGltaXRlZCByZXNvdXJjZSBsaW1pdHMuICovCisJcmxpbS5ybGltX2N1ciA9IHJsaW0ucmxpbV9tYXggPSBSTElNX0lORklOSVRZOworCXNldHJsaW1pdChSTElNSVRfQ1BVLCAmcmxpbSk7CisJc2V0cmxpbWl0KFJMSU1JVF9GU0laRSwgJnJsaW0pOworCXNldHJsaW1pdChSTElNSVRfU1RBQ0ssICZybGltKTsKKwlzZXRybGltaXQoUkxJTUlUX0RBVEEsICZybGltKTsKKwlzZXRybGltaXQoUkxJTUlUX1JTUywgJnJsaW0pOworCisjaWZuZGVmIERFQlVHCisJLyogRG9uJ3QgZHJvcCBjb3JlIChub3QgcmVhbGx5IG5lY2Vzc2FyeSwgYnV0IEdQJ3MpLiAqLworCXJsaW0ucmxpbV9jdXIgPSBybGltLnJsaW1fbWF4ID0gMDsKKwlzZXRybGltaXQoUkxJTUlUX0NPUkUsICZybGltKTsKKyNlbmRpZgorCisJLyogVHVybiBvZmYgc2lnbmFscy4gKi8KKwlzaWduYWwoU0lHQUxSTSwgU0lHX0lHTik7CisJc2lnbmFsKFNJR0hVUCwgU0lHX0lHTik7CisJc2lnbmFsKFNJR0lOVCwgU0lHX0lHTik7CisJc2lnbmFsKFNJR1BJUEUsIFNJR19JR04pOworCXNpZ25hbChTSUdRVUlULCBTSUdfSUdOKTsKKwlzaWduYWwoU0lHVEVSTSwgU0lHX0lHTik7CisJc2lnbmFsKFNJR1RTVFAsIFNJR19JR04pOworCXNpZ25hbChTSUdUVE9VLCBTSUdfSUdOKTsKKworCS8qIENyZWF0ZSB3aXRoIGV4YWN0IHBlcm1pc3Npb25zLiAqLworCXVtYXNrKDApOworfQpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvc2V0cHduYW0uaCBiL2xvZ2luLXV0aWxzL3NldHB3bmFtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTU3ODU5MgotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL3NldHB3bmFtLmgKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqICBzZXRwd25hbS5oIC0tCisgKiAgZGVmaW5lIHNldmVyYWwgcGF0aHMKKyAqCisgKiAgKGMpIDE5OTQgTWFydGluIFNjaHVsemUgPGpvZXlAaW5mb2Ryb20ubm9ydGguZGU+CisgKiAgVGhpcyBmaWxlIGlzIGJhc2VkIG9uIHNldHB3bmFtLmMgd2hpY2ggaXMKKyAqICAoYykgMTk5NCBTYWx2YXRvcmUgVmFsZW50ZSA8c3ZhbGVudGVAbWl0LmVkdT4KKyAqCisgKiAgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKKyAqICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUKKyAqICBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICovCisjaWZuZGVmIFVUSUxfTElOVVhfU0VUUFdOQU1fSAorI2RlZmluZSBVVElMX0xJTlVYX1NFVFBXTkFNX0gKKworI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorCisjaWZuZGVmIERFQlVHCisjIGRlZmluZSBQQVNTV0RfRklMRQlfUEFUSF9QQVNTV0QKKyMgZGVmaW5lIEdST1VQX0ZJTEUJX1BBVEhfR1JPVVAKKyMgZGVmaW5lIFNIQURPV19GSUxFCV9QQVRIX1NIQURPV19QQVNTV0QKKyMgZGVmaW5lIFNHUk9VUF9GSUxFCV9QQVRIX0dTSEFET1cKKyNlbHNlCisjIGRlZmluZSBQQVNTV0RfRklMRQkiL3RtcC9wYXNzd2QiCisjIGRlZmluZSBHUk9VUF9GSUxFCSIvdG1wL2dyb3VwIgorIyBkZWZpbmUgU0hBRE9XX0ZJTEUJIi90bXAvc2hhZG93IgorIyBkZWZpbmUgU0dST1VQX0ZJTEUJIi90bXAvZ3NoYWRvdyIKKyNlbmRpZgorCitleHRlcm4gaW50IHNldHB3bmFtIChzdHJ1Y3QgcGFzc3dkICpwd2QsIGNvbnN0IGNoYXIgKnByZWZpeCk7CisKKyNlbmRpZiAvKiBVVElMX0xJTlVYX1NFVFBXTkFNX0ggKi8KZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL3N1LWNvbW1vbi5jIGIvbG9naW4tdXRpbHMvc3UtY29tbW9uLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjE3MjBmMAotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL3N1LWNvbW1vbi5jCkBAIC0wLDAgKzEsOTk2IEBACisvKiBzdSBmb3IgTGludXguICBSdW4gYSBzaGVsbCB3aXRoIHN1YnN0aXR1dGUgdXNlciBhbmQgZ3JvdXAgSURzLgorICAgQ29weXJpZ2h0IChDKSAxOTkyLTIwMDYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgICBDb3B5cmlnaHQgKEMpIDIwMTIgU1VTRSBMaW51eCBQcm9kdWN0cyBHbWJILCBOdWVybmJlcmcKKworICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24pCisgICBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCisgICBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4gICovCisKKy8qIFJ1biBhIHNoZWxsIHdpdGggdGhlIHJlYWwgYW5kIGVmZmVjdGl2ZSBVSUQgYW5kIEdJRCBhbmQgZ3JvdXBzCisgICBvZiBVU0VSLCBkZWZhdWx0IGByb290Jy4KKworICAgVGhlIHNoZWxsIHJ1biBpcyB0YWtlbiBmcm9tIFVTRVIncyBwYXNzd29yZCBlbnRyeSwgL2Jpbi9zaCBpZgorICAgbm9uZSBpcyBzcGVjaWZpZWQgdGhlcmUuICBJZiB0aGUgYWNjb3VudCBoYXMgYSBwYXNzd29yZCwgc3UKKyAgIHByb21wdHMgZm9yIGEgcGFzc3dvcmQgdW5sZXNzIHJ1biBieSBhIHVzZXIgd2l0aCByZWFsIFVJRCAwLgorCisgICBEb2VzIG5vdCBjaGFuZ2UgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LgorICAgU2V0cyBgSE9NRScgYW5kIGBTSEVMTCcgZnJvbSB0aGUgcGFzc3dvcmQgZW50cnkgZm9yIFVTRVIsIGFuZCBpZgorICAgVVNFUiBpcyBub3Qgcm9vdCwgc2V0cyBgVVNFUicgYW5kIGBMT0dOQU1FJyB0byBVU0VSLgorICAgVGhlIHN1YnNoZWxsIGlzIG5vdCBhIGxvZ2luIHNoZWxsLgorCisgICBJZiBvbmUgb3IgbW9yZSBBUkdzIGFyZSBnaXZlbiwgdGhleSBhcmUgcGFzc2VkIGFzIGFkZGl0aW9uYWwKKyAgIGFyZ3VtZW50cyB0byB0aGUgc3Vic2hlbGwuCisKKyAgIERvZXMgbm90IGhhbmRsZSAvYmluL3NoIG9yIG90aGVyIHNoZWxscyBzcGVjaWFsbHkKKyAgIChzZXR0aW5nIGFyZ3ZbMF0gdG8gIi1zdSIsIHBhc3NpbmcgLWMgb25seSB0byBjZXJ0YWluIHNoZWxscywgZXRjLikuCisgICBJIGRvbid0IHNlZSB0aGUgcG9pbnQgaW4gZG9pbmcgdGhhdCwgYW5kIGl0J3MgdWdseS4KKworICAgQmFzZWQgb24gYW4gaW1wbGVtZW50YXRpb24gYnkgRGF2aWQgTWFjS2VuemllIDxkam1AZ251LmFpLm1pdC5lZHU+LiAgKi8KKworZW51bQoreworICBFWElUX0NBTk5PVF9JTlZPS0UgPSAxMjYsCisgIEVYSVRfRU5PRU5UID0gMTI3Cit9OworCisjaW5jbHVkZSA8Y29uZmlnLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxwd2QuaD4KKyNpbmNsdWRlIDxncnAuaD4KKyNpbmNsdWRlIDxzZWN1cml0eS9wYW1fYXBwbC5oPgorI2lmZGVmIEhBVkVfU0VDVVJJVFlfUEFNX01JU0NfSAorIyBpbmNsdWRlIDxzZWN1cml0eS9wYW1fbWlzYy5oPgorI2VsaWYgZGVmaW5lZChIQVZFX1NFQ1VSSVRZX09QRU5QQU1fSCkKKyMgaW5jbHVkZSA8c2VjdXJpdHkvb3BlbnBhbS5oPgorI2VuZGlmCisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8c3lzL3dhaXQuaD4KKyNpbmNsdWRlIDxzeXNsb2cuaD4KKyNpbmNsdWRlIDx1dG1wLmg+CisKKyNpbmNsdWRlICJlcnIuaCIKKworI2luY2x1ZGUgPHN0ZGJvb2wuaD4KKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAiZW52LmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInR0eXV0aWxzLmgiCisKKy8qIG5hbWUgb2YgdGhlIHBhbSBjb25maWd1cmF0aW9uIGZpbGVzLiBzZXBhcmF0ZSBjb25maWdzIGZvciBzdSBhbmQgc3UgLSAgKi8KKyNkZWZpbmUgUEFNX1NSVk5BTUVfU1UgInN1IgorI2RlZmluZSBQQU1fU1JWTkFNRV9TVV9MICJzdS1sIgorCisjZGVmaW5lIFBBTV9TUlZOQU1FX1JVTlVTRVIgInJ1bnVzZXIiCisjZGVmaW5lIFBBTV9TUlZOQU1FX1JVTlVTRVJfTCAicnVudXNlci1sIgorCisjZGVmaW5lIF9QQVRIX0xPR0lOREVGU19TVQkiL2V0Yy9kZWZhdWx0L3N1IgorI2RlZmluZSBfUEFUSF9MT0dJTkRFRlNfUlVOVVNFUiAiL2V0Yy9kZWZhdWx0L3J1bnVzZXIiCisKKyNkZWZpbmUgaXNfcGFtX2ZhaWx1cmUoX3JjKQkoKF9yYykgIT0gUEFNX1NVQ0NFU1MpCisKKyNpbmNsdWRlICJsb2dpbmRlZnMuaCIKKyNpbmNsdWRlICJzdS1jb21tb24uaCIKKworLyogVGhlIHNoZWxsIHRvIHJ1biBpZiBub25lIGlzIGdpdmVuIGluIHRoZSB1c2VyJ3MgcGFzc3dkIGVudHJ5LiAgKi8KKyNkZWZpbmUgREVGQVVMVF9TSEVMTCAiL2Jpbi9zaCIKKworLyogVGhlIHVzZXIgdG8gYmVjb21lIGlmIG5vbmUgaXMgc3BlY2lmaWVkLiAgKi8KKyNkZWZpbmUgREVGQVVMVF9VU0VSICJyb290IgorCisjaWZuZGVmIEhBVkVfRU5WSVJPTl9ERUNMCitleHRlcm4gY2hhciAqKmVudmlyb247CisjZW5kaWYKKworc3RhdGljIHZvaWQgcnVuX3NoZWxsIChjaGFyIGNvbnN0ICosIGNoYXIgY29uc3QgKiwgY2hhciAqKiwgc2l6ZV90KQorICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSk7CisKKy8qIElmIHRydWUsIHBhc3MgdGhlIGAtZicgb3B0aW9uIHRvIHRoZSBzdWJzaGVsbC4gICovCitzdGF0aWMgYm9vbCBmYXN0X3N0YXJ0dXA7CisKKy8qIElmIHRydWUsIHNpbXVsYXRlIGEgbG9naW4gaW5zdGVhZCBvZiBqdXN0IHN0YXJ0aW5nIGEgc2hlbGwuICAqLworc3RhdGljIGJvb2wgc2ltdWxhdGVfbG9naW47CisKKy8qIElmIHRydWUsIGNoYW5nZSBzb21lIGVudmlyb25tZW50IHZhcnMgdG8gaW5kaWNhdGUgdGhlIHVzZXIgc3UnZCB0by4gICovCitzdGF0aWMgYm9vbCBjaGFuZ2VfZW52aXJvbm1lbnQ7CisKKy8qIElmIHRydWUsIHRoZW4gZG9uJ3QgY2FsbCBzZXRzaWQoKSB3aXRoIGEgY29tbWFuZC4gKi8KK3N0YXRpYyBpbnQgc2FtZV9zZXNzaW9uID0gMDsKKworLyogU1VfTU9ERV97UlVOVVNFUixTVX0gKi8KK3N0YXRpYyBpbnQgc3VfbW9kZTsKKworLyogRG9uJ3QgcHJpbnQgUEFNIGluZm8gbWVzc2FnZXMgKExhc3QgbG9naW4sIGV0Yy4pLiAqLworc3RhdGljIGludCBzdXBwcmVzc19wYW1faW5mbzsKKworc3RhdGljIGJvb2wgX3BhbV9zZXNzaW9uX29wZW5lZDsKK3N0YXRpYyBib29sIF9wYW1fY3JlZF9lc3RhYmxpc2hlZDsKK3N0YXRpYyBzaWdfYXRvbWljX3Qgdm9sYXRpbGUgY2F1Z2h0X3NpZ25hbCA9IGZhbHNlOworc3RhdGljIHBhbV9oYW5kbGVfdCAqcGFtaCA9IE5VTEw7CisKK3N0YXRpYyBpbnQgcmVzdHJpY3RlZCA9IDE7CS8qIHplcm8gZm9yIHJvb3QgdXNlciAqLworCisKK3N0YXRpYyBzdHJ1Y3QgcGFzc3dkICoKK2N1cnJlbnRfZ2V0cHd1aWQodm9pZCkKK3sKKyAgdWlkX3QgcnVpZDsKKworICAvKiBHTlUgSHVyZCBpbXBsZW1lbnRhdGlvbiBoYXMgYW4gZXh0ZW5zaW9uIHdoZXJlIGEgcHJvY2VzcyBjYW4gZXhpc3QgaW4gYQorICAgKiBub24tY29uZm9ybWluZyBlbnZpcm9ubWVudCwgYW5kIHRodXMgYmUgb3V0c2lkZSB0aGUgcmVhbG1zIG9mIFBPU0lYCisgICAqIHByb2Nlc3MgaWRlbnRpZmllcnM7IG9uIHRoaXMgcGxhdGZvcm0sIGdldHVpZCgpIGZhaWxzIHdpdGggYSBzdGF0dXMgb2YKKyAgICogKHVpZF90KSgtMSkgYW5kIHNldHMgZXJybm8gaWYgYSBwcm9ncmFtIGlzIHJ1biBmcm9tIGEgbm9uLWNvbmZvcm1pbmcKKyAgICogZW52aXJvbm1lbnQuCisgICAqCisgICAqIGh0dHA6Ly9hdXN0aW5ncm91cGJ1Z3MubmV0L3ZpZXcucGhwP2lkPTUxMQorICAgKi8KKyAgZXJybm8gPSAwOworICBydWlkID0gZ2V0dWlkICgpOworCisgIHJldHVybiBlcnJubyA9PSAwID8gZ2V0cHd1aWQgKHJ1aWQpIDogTlVMTDsKK30KKworLyogTG9nIHRoZSBmYWN0IHRoYXQgc29tZW9uZSBoYXMgcnVuIHN1IHRvIHRoZSB1c2VyIGdpdmVuIGJ5IFBXOworICAgaWYgU1VDQ0VTU0ZVTCBpcyB0cnVlLCB0aGV5IGdhdmUgdGhlIGNvcnJlY3QgcGFzc3dvcmQsIGV0Yy4gICovCisKK3N0YXRpYyB2b2lkCitsb2dfc3lzbG9nKHN0cnVjdCBwYXNzd2QgY29uc3QgKnB3LCBib29sIHN1Y2Nlc3NmdWwpCit7CisgIGNvbnN0IGNoYXIgKm5ld191c2VyLCAqb2xkX3VzZXIsICp0dHk7CisKKyAgbmV3X3VzZXIgPSBwdy0+cHdfbmFtZTsKKyAgLyogVGhlIHV0bXAgZW50cnkgKHZpYSBnZXRsb2dpbikgaXMgcHJvYmFibHkgdGhlIGJlc3Qgd2F5IHRvIGlkZW50aWZ5CisgICAgIHRoZSB1c2VyLCBlc3BlY2lhbGx5IGlmIHNvbWVvbmUgc3UncyBmcm9tIGEgc3Utc2hlbGwuICAqLworICBvbGRfdXNlciA9IGdldGxvZ2luICgpOworICBpZiAoIW9sZF91c2VyKQorICAgIHsKKyAgICAgIC8qIGdldGxvZ2luIGNhbiBmYWlsIC0tIHVzdWFsbHkgZHVlIHRvIGxhY2sgb2YgdXRtcCBlbnRyeS4KKwkgUmVzb3J0IHRvIGdldHB3dWlkLiAgKi8KKyAgICAgIHN0cnVjdCBwYXNzd2QgKnB3ZCA9IGN1cnJlbnRfZ2V0cHd1aWQoKTsKKyAgICAgIG9sZF91c2VyID0gcHdkID8gcHdkLT5wd19uYW1lIDogIiI7CisgICAgfQorCisgIGlmIChnZXRfdGVybWluYWxfbmFtZShOVUxMLCAmdHR5LCBOVUxMKSAhPSAwIHx8ICF0dHkpCisgICAgdHR5ID0gIm5vbmUiOworCisgIG9wZW5sb2cgKHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lLCAwICwgTE9HX0FVVEgpOworICBzeXNsb2cgKExPR19OT1RJQ0UsICIlcyh0byAlcykgJXMgb24gJXMiLAorCSAgc3VjY2Vzc2Z1bCA/ICIiIDoKKwkgIHN1X21vZGUgPT0gUlVOVVNFUl9NT0RFID8gIkZBSUxFRCBSVU5VU0VSICIgOiAiRkFJTEVEIFNVICIsCisJICBuZXdfdXNlciwgb2xkX3VzZXIsIHR0eSk7CisgIGNsb3NlbG9nICgpOworfQorCisKKy8qCisgKiBMb2cgZmFpbGVkIGxvZ2luIGF0dGVtcHRzIGluIF9QQVRIX0JUTVAgaWYgdGhhdCBleGlzdHMuCisgKi8KK3N0YXRpYyB2b2lkIGxvZ19idG1wKHN0cnVjdCBwYXNzd2QgY29uc3QgKnB3KQoreworCXN0cnVjdCB1dG1wIHV0OworCXN0cnVjdCB0aW1ldmFsIHR2OworCWNvbnN0IGNoYXIgKnR0eV9uYW1lLCAqdHR5X251bTsKKworCW1lbXNldCgmdXQsIDAsIHNpemVvZih1dCkpOworCisJc3RybmNweSh1dC51dF91c2VyLAorCQlwdyAmJiBwdy0+cHdfbmFtZSA/IHB3LT5wd19uYW1lIDogIih1bmtub3duKSIsCisJCXNpemVvZih1dC51dF91c2VyKSk7CisKKwlnZXRfdGVybWluYWxfbmFtZShOVUxMLCAmdHR5X25hbWUsICZ0dHlfbnVtKTsKKwlpZiAodHR5X251bSkKKwkJeHN0cm5jcHkodXQudXRfaWQsIHR0eV9udW0sIHNpemVvZih1dC51dF9pZCkpOworCWlmICh0dHlfbmFtZSkKKwkJeHN0cm5jcHkodXQudXRfbGluZSwgdHR5X25hbWUsIHNpemVvZih1dC51dF9saW5lKSk7CisKKyNpZiBkZWZpbmVkKF9IQVZFX1VUX1RWKQkvKiBpbiA8dXRtcGJpdHMuaD4gaW5jbHVkZWQgYnkgPHV0bXAuaD4gKi8KKwlnZXR0aW1lb2ZkYXkoJnR2LCBOVUxMKTsKKwl1dC51dF90di50dl9zZWMgPSB0di50dl9zZWM7CisJdXQudXRfdHYudHZfdXNlYyA9IHR2LnR2X3VzZWM7CisjZWxzZQorCXsKKwkJdGltZV90IHQ7CisJCXRpbWUoJnQpOworCQl1dC51dF90aW1lID0gdDsJLyogdXRfdGltZSBpcyBub3QgYWx3YXlzIGEgdGltZV90ICovCisJfQorI2VuZGlmCisJdXQudXRfdHlwZSA9IExPR0lOX1BST0NFU1M7CS8qIFhYWCBkb2Vzbid0IG1hdHRlciAqLworCXV0LnV0X3BpZCA9IGdldHBpZCgpOworCisJdXBkd3RtcChfUEFUSF9CVE1QLCAmdXQpOworfQorCisKK3N0YXRpYyBpbnQgc3VfcGFtX2NvbnYoaW50IG51bV9tc2csIGNvbnN0IHN0cnVjdCBwYW1fbWVzc2FnZSAqKm1zZywKKyAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBhbV9yZXNwb25zZSAqKnJlc3AsIHZvaWQgKmFwcGRhdGFfcHRyKQoreworCWlmIChzdXBwcmVzc19wYW1faW5mbworCSAgICAmJiBudW1fbXNnID09IDEKKwkgICAgJiYgbXNnCisJICAgICYmIG1zZ1swXS0+bXNnX3N0eWxlID09IFBBTV9URVhUX0lORk8pCisJCXJldHVybiBQQU1fU1VDQ0VTUzsKKyNpZmRlZiBIQVZFX1NFQ1VSSVRZX1BBTV9NSVNDX0gKKwlyZXR1cm4gbWlzY19jb252KG51bV9tc2csIG1zZywgcmVzcCwgYXBwZGF0YV9wdHIpOworI2VsaWYgZGVmaW5lZChIQVZFX1NFQ1VSSVRZX09QRU5QQU1fSCkKKwlyZXR1cm4gb3BlbnBhbV90dHljb252KG51bV9tc2csIG1zZywgcmVzcCwgYXBwZGF0YV9wdHIpOworI2VuZGlmCit9CisKK3N0YXRpYyBzdHJ1Y3QgcGFtX2NvbnYgY29udiA9Cit7CisJc3VfcGFtX2NvbnYsCisJTlVMTAorfTsKKworc3RhdGljIHZvaWQKK2NsZWFudXBfcGFtIChpbnQgcmV0Y29kZSkKK3sKKyAgaW50IHNhdmVkX2Vycm5vID0gZXJybm87CisKKyAgaWYgKF9wYW1fc2Vzc2lvbl9vcGVuZWQpCisgICAgcGFtX2Nsb3NlX3Nlc3Npb24gKHBhbWgsIDApOworCisgIGlmIChfcGFtX2NyZWRfZXN0YWJsaXNoZWQpCisgICAgcGFtX3NldGNyZWQgKHBhbWgsIFBBTV9ERUxFVEVfQ1JFRCB8IFBBTV9TSUxFTlQpOworCisgIHBhbV9lbmQocGFtaCwgcmV0Y29kZSk7CisKKyAgZXJybm8gPSBzYXZlZF9lcnJubzsKK30KKworLyogU2lnbmFsIGhhbmRsZXIgZm9yIHBhcmVudCBwcm9jZXNzLiAgKi8KK3N0YXRpYyB2b2lkCitzdV9jYXRjaF9zaWcgKGludCBzaWcpCit7CisgIGNhdWdodF9zaWduYWwgPSBzaWc7Cit9CisKKy8qIEV4cG9ydCBlbnYgdmFyaWFibGVzIGRlY2xhcmVkIGJ5IFBBTSBtb2R1bGVzLiAgKi8KK3N0YXRpYyB2b2lkCitleHBvcnRfcGFtZW52ICh2b2lkKQoreworICBjaGFyICoqZW52OworCisgIC8qIFRoaXMgaXMgYSBjb3B5IGJ1dCBkb24ndCBjYXJlIHRvIGZyZWUgYXMgd2UgZXhlYyBsYXRlciBhbnl3YXlzLiAgKi8KKyAgZW52ID0gcGFtX2dldGVudmxpc3QgKHBhbWgpOworICB3aGlsZSAoZW52ICYmICplbnYpCisgICAgeworICAgICAgaWYgKHB1dGVudiAoKmVudikgIT0gMCkKKwllcnIgKEVYSVRfRkFJTFVSRSwgTlVMTCk7CisgICAgICBlbnYrKzsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkCitjcmVhdGVfd2F0Y2hpbmdfcGFyZW50ICh2b2lkKQoreworICBwaWRfdCBjaGlsZDsKKyAgc2lnc2V0X3Qgb3Vyc2V0OworICBzdHJ1Y3Qgc2lnYWN0aW9uIG9sZGFjdFszXTsKKyAgaW50IHN0YXR1cyA9IDA7CisgIGludCByZXR2YWw7CisKKyAgcmV0dmFsID0gcGFtX29wZW5fc2Vzc2lvbiAocGFtaCwgMCk7CisgIGlmIChpc19wYW1fZmFpbHVyZShyZXR2YWwpKQorICAgIHsKKyAgICAgIGNsZWFudXBfcGFtIChyZXR2YWwpOworICAgICAgZXJyeCAoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiBzZXNzaW9uOiAlcyIpLAorCSAgICAgcGFtX3N0cmVycm9yIChwYW1oLCByZXR2YWwpKTsKKyAgICB9CisgIGVsc2UKKyAgICBfcGFtX3Nlc3Npb25fb3BlbmVkID0gMTsKKworICBtZW1zZXQob2xkYWN0LCAwLCBzaXplb2Yob2xkYWN0KSk7CisKKyAgY2hpbGQgPSBmb3JrICgpOworICBpZiAoY2hpbGQgPT0gKHBpZF90KSAtMSkKKyAgICB7CisgICAgICBjbGVhbnVwX3BhbSAoUEFNX0FCT1JUKTsKKyAgICAgIGVyciAoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3QgY3JlYXRlIGNoaWxkIHByb2Nlc3MiKSk7CisgICAgfQorCisgIC8qIHRoZSBjaGlsZCBwcm9jZWVkcyB0byBydW4gdGhlIHNoZWxsICovCisgIGlmIChjaGlsZCA9PSAwKQorICAgIHJldHVybjsKKworICAvKiBJbiB0aGUgcGFyZW50IHdhdGNoIHRoZSBjaGlsZC4gICovCisKKyAgLyogc3Ugd2l0aG91dCBwYW0gc3VwcG9ydCBkb2VzIG5vdCBoYXZlIGEgaGVscGVyIHRoYXQga2VlcHMKKyAgICAgc2l0dGluZyBvbiBhbnkgZGlyZWN0b3J5IHNvIGxldCdzIGdvIHRvIC8uICAqLworICBpZiAoY2hkaXIgKCIvIikgIT0gMCkKKyAgICB3YXJuIChfKCJjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIpLCAiLyIpOworCisgIHNpZ2ZpbGxzZXQgKCZvdXJzZXQpOworICBpZiAoc2lncHJvY21hc2sgKFNJR19CTE9DSywgJm91cnNldCwgTlVMTCkpCisgICAgeworICAgICAgd2FybiAoXygiY2Fubm90IGJsb2NrIHNpZ25hbHMiKSk7CisgICAgICBjYXVnaHRfc2lnbmFsID0gdHJ1ZTsKKyAgICB9CisgIGlmICghY2F1Z2h0X3NpZ25hbCkKKyAgICB7CisgICAgICBzdHJ1Y3Qgc2lnYWN0aW9uIGFjdGlvbjsKKyAgICAgIGFjdGlvbi5zYV9oYW5kbGVyID0gc3VfY2F0Y2hfc2lnOworICAgICAgc2lnZW1wdHlzZXQgKCZhY3Rpb24uc2FfbWFzayk7CisgICAgICBhY3Rpb24uc2FfZmxhZ3MgPSAwOworICAgICAgc2lnZW1wdHlzZXQgKCZvdXJzZXQpOworICAgIGlmICghc2FtZV9zZXNzaW9uKQorICAgICAgeworICAgICAgICBpZiAoc2lnYWRkc2V0KCZvdXJzZXQsIFNJR0lOVCkgfHwgc2lnYWRkc2V0KCZvdXJzZXQsIFNJR1FVSVQpKQorICAgICAgICAgIHsKKyAgICAgICAgICAgIHdhcm4gKF8oImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiKSk7CisgICAgICAgICAgICBjYXVnaHRfc2lnbmFsID0gdHJ1ZTsKKyAgICAgICAgICB9CisgICAgICB9CisgICAgaWYgKCFjYXVnaHRfc2lnbmFsICYmIChzaWdhZGRzZXQoJm91cnNldCwgU0lHVEVSTSkKKyAgICAgICAgICAgICAgICAgICAgfHwgc2lnYWRkc2V0KCZvdXJzZXQsIFNJR0FMUk0pCisgICAgICAgICAgICAgICAgICAgIHx8IHNpZ2FjdGlvbihTSUdURVJNLCAmYWN0aW9uLCAmb2xkYWN0WzBdKQorICAgICAgICAgICAgICAgICAgICB8fCBzaWdwcm9jbWFzayhTSUdfVU5CTE9DSywgJm91cnNldCwgTlVMTCkpKSB7CisJICB3YXJuIChfKCJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIikpOworCSAgY2F1Z2h0X3NpZ25hbCA9IHRydWU7CisJfQorICAgIGlmICghY2F1Z2h0X3NpZ25hbCAmJiAhc2FtZV9zZXNzaW9uICYmIChzaWdhY3Rpb24oU0lHSU5ULCAmYWN0aW9uLCAmb2xkYWN0WzFdKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IHNpZ2FjdGlvbihTSUdRVUlULCAmYWN0aW9uLCAmb2xkYWN0WzJdKSkpCisgICAgICB7CisgICAgICAgIHdhcm4gKF8oImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiKSk7CisgICAgICAgIGNhdWdodF9zaWduYWwgPSB0cnVlOworICAgICAgfQorICAgIH0KKyAgaWYgKCFjYXVnaHRfc2lnbmFsKQorICAgIHsKKyAgICAgIHBpZF90IHBpZDsKKyAgICAgIGZvciAoOzspCisJeworCSAgcGlkID0gd2FpdHBpZCAoY2hpbGQsICZzdGF0dXMsIFdVTlRSQUNFRCk7CisKKwkgIGlmIChwaWQgIT0gKHBpZF90KS0xICYmIFdJRlNUT1BQRUQgKHN0YXR1cykpCisJICAgIHsKKwkgICAgICBraWxsIChnZXRwaWQgKCksIFNJR1NUT1ApOworCSAgICAgIC8qIG9uY2Ugd2UgZ2V0IGhlcmUsIHdlIG11c3QgaGF2ZSByZXN1bWVkICovCisJICAgICAga2lsbCAocGlkLCBTSUdDT05UKTsKKwkgICAgfQorCSAgZWxzZQorCSAgICBicmVhazsKKwl9CisgICAgICBpZiAocGlkICE9IChwaWRfdCktMSkKKyAgICAgICAgeworICAgICAgICAgIGlmIChXSUZTSUdOQUxFRCAoc3RhdHVzKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgZnByaW50ZiAoc3RkZXJyLCAiJXMlc1xuIiwgc3Ryc2lnbmFsIChXVEVSTVNJRyAoc3RhdHVzKSksCisgICAgICAgICAgICAgICAgICAgICAgIFdDT1JFRFVNUCAoc3RhdHVzKSA/IF8oIiAoY29yZSBkdW1wZWQpIikgOiAiIik7CisgICAgICAgICAgICAgIHN0YXR1cyA9IFdURVJNU0lHIChzdGF0dXMpICsgMTI4OworICAgICAgICAgICAgfQorICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHN0YXR1cyA9IFdFWElUU1RBVFVTIChzdGF0dXMpOworCisJICAvKiBjaGlsZCBpcyBnb25lLCBkb24ndCB1c2UgdGhlIFBJRCBhbnltb3JlICovCisJICBjaGlsZCA9IChwaWRfdCkgLTE7CisgICAgICAgIH0KKyAgICAgIGVsc2UgaWYgKGNhdWdodF9zaWduYWwpCisgICAgICAgIHN0YXR1cyA9IGNhdWdodF9zaWduYWwgKyAxMjg7CisgICAgICBlbHNlCisgICAgICAgIHN0YXR1cyA9IDE7CisgICAgfQorICBlbHNlCisgICAgc3RhdHVzID0gMTsKKworICBpZiAoY2F1Z2h0X3NpZ25hbCAmJiBjaGlsZCAhPSAocGlkX3QpLTEpCisgICAgeworICAgICAgZnByaW50ZiAoc3RkZXJyLCBfKCJcblNlc3Npb24gdGVybWluYXRlZCwga2lsbGluZyBzaGVsbC4uLiIpKTsKKyAgICAgIGtpbGwgKGNoaWxkLCBTSUdURVJNKTsKKyAgICB9CisKKyAgY2xlYW51cF9wYW0gKFBBTV9TVUNDRVNTKTsKKworICBpZiAoY2F1Z2h0X3NpZ25hbCkKKyAgICB7CisgICAgICBpZiAoY2hpbGQgIT0gKHBpZF90KS0xKQorCXsKKwkgIHNsZWVwICgyKTsKKwkgIGtpbGwgKGNoaWxkLCBTSUdLSUxMKTsKKwkgIGZwcmludGYgKHN0ZGVyciwgXygiIC4uLmtpbGxlZC5cbiIpKTsKKwl9CisKKyAgICAgIC8qIExldCdzIHRlcm1pbmF0ZSBpdHNlbGYgd2l0aCB0aGUgcmVjZWl2ZWQgc2lnbmFsLgorICAgICAgICoKKyAgICAgICAqIEl0IHNlZW1zIHRoYXQgc2hlbGxzIHVzZSBXSUZTSUdOQUxFRCgpIHJhdGhlciB0aGFuIG91ciBleGl0IHN0YXR1cworICAgICAgICogdmFsdWUgdG8gZGV0ZWN0IHNpdHVhdGlvbnMgd2hlbiBpcyBuZWNlc3NhcnkgdG8gY2xlYW51cCAocmVzZXQpCisgICAgICAgKiB0ZXJtaW5hbCBzZXR0aW5ncyAoa3phayAtLSBKdW4gMjAxMykuCisgICAgICAgKi8KKyAgICAgIHN3aXRjaCAoY2F1Z2h0X3NpZ25hbCkgeworICAgICAgICBjYXNlIFNJR1RFUk06CisgICAgICAgICAgc2lnYWN0aW9uKFNJR1RFUk0sICZvbGRhY3RbMF0sIE5VTEwpOworICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFNJR0lOVDoKKyAgICAgICAgICBzaWdhY3Rpb24oU0lHSU5ULCAmb2xkYWN0WzFdLCBOVUxMKTsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBTSUdRVUlUOgorICAgICAgICAgIHNpZ2FjdGlvbihTSUdRVUlULCAmb2xkYWN0WzJdLCBOVUxMKTsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKwkgIC8qIGp1c3QgaW4gY2FzZSB0aGF0IHNpZ25hbCBzdHVmZiBpbml0aWFsaXphdGlvbiBmYWlsZWQgYW5kCisJICAgKiBjYXVnaHRfc2lnbmFsID0gdHJ1ZSAqLworICAgICAgICAgIGNhdWdodF9zaWduYWwgPSBTSUdLSUxMOworICAgICAgICAgIGJyZWFrOworICAgICAgfQorICAgICAga2lsbChnZXRwaWQoKSwgY2F1Z2h0X3NpZ25hbCk7CisgICAgfQorICBleGl0IChzdGF0dXMpOworfQorCitzdGF0aWMgdm9pZAorYXV0aGVudGljYXRlIChjb25zdCBzdHJ1Y3QgcGFzc3dkICpwdykKK3sKKyAgY29uc3Qgc3RydWN0IHBhc3N3ZCAqbHB3ID0gTlVMTDsKKyAgY29uc3QgY2hhciAqY3AsICpzcnZuYW1lID0gTlVMTDsKKyAgaW50IHJldHZhbDsKKworICBzd2l0Y2ggKHN1X21vZGUpIHsKKyAgY2FzZSBTVV9NT0RFOgorICAgIHNydm5hbWUgPSBzaW11bGF0ZV9sb2dpbiA/IFBBTV9TUlZOQU1FX1NVX0wgOiBQQU1fU1JWTkFNRV9TVTsKKyAgICBicmVhazsKKyAgY2FzZSBSVU5VU0VSX01PREU6CisgICAgc3J2bmFtZSA9IHNpbXVsYXRlX2xvZ2luID8gUEFNX1NSVk5BTUVfUlVOVVNFUl9MIDogUEFNX1NSVk5BTUVfUlVOVVNFUjsKKyAgICBicmVhazsKKyAgZGVmYXVsdDoKKyAgICBhYm9ydCgpOworICAgIGJyZWFrOworICB9CisKKyAgcmV0dmFsID0gcGFtX3N0YXJ0IChzcnZuYW1lLCBwdy0+cHdfbmFtZSwgJmNvbnYsICZwYW1oKTsKKyAgaWYgKGlzX3BhbV9mYWlsdXJlKHJldHZhbCkpCisgICAgZ290byBkb25lOworCisgIGlmIChpc2F0dHkgKDApICYmIChjcCA9IHR0eW5hbWUgKDApKSAhPSBOVUxMKQorICAgIHsKKyAgICAgIGNvbnN0IGNoYXIgKnR0eTsKKworICAgICAgaWYgKHN0cm5jbXAgKGNwLCAiL2Rldi8iLCA1KSA9PSAwKQorCXR0eSA9IGNwICsgNTsKKyAgICAgIGVsc2UKKwl0dHkgPSBjcDsKKyAgICAgIHJldHZhbCA9IHBhbV9zZXRfaXRlbSAocGFtaCwgUEFNX1RUWSwgdHR5KTsKKyAgICAgIGlmIChpc19wYW1fZmFpbHVyZShyZXR2YWwpKQorCWdvdG8gZG9uZTsKKyAgICB9CisKKyAgbHB3ID0gY3VycmVudF9nZXRwd3VpZCAoKTsKKyAgaWYgKGxwdyAmJiBscHctPnB3X25hbWUpCisgICAgeworICAgICAgcmV0dmFsID0gcGFtX3NldF9pdGVtIChwYW1oLCBQQU1fUlVTRVIsIChjb25zdCB2b2lkICopIGxwdy0+cHdfbmFtZSk7CisgICAgICBpZiAoaXNfcGFtX2ZhaWx1cmUocmV0dmFsKSkKKwlnb3RvIGRvbmU7CisgICAgfQorCisgIGlmIChzdV9tb2RlID09IFJVTlVTRVJfTU9ERSkKKyAgICB7CisgICAgICAvKgorICAgICAgICogVGhpcyBpcyB0aGUgb25seSBkaWZmZXJlbmNlIGJldHdlZW4gcnVudXNlcigxKSBhbmQgc3UoMSkuIFRoZSBjb21tYW5kCisgICAgICAgKiBydW51c2VyKDEpIGRvZXMgbm90IHJlcXVpcmVkIGF1dGhlbnRpY2F0aW9uLCBiZWNhdXNlIHVzZXIgaXMgcm9vdC4KKyAgICAgICAqLworICAgICAgaWYgKHJlc3RyaWN0ZWQpCisJZXJyeChFWElUX0ZBSUxVUkUsIF8oIm1heSBub3QgYmUgdXNlZCBieSBub24tcm9vdCB1c2VycyIpKTsKKyAgICAgIHJldHVybjsKKyAgICB9CisKKyAgcmV0dmFsID0gcGFtX2F1dGhlbnRpY2F0ZSAocGFtaCwgMCk7CisgIGlmIChpc19wYW1fZmFpbHVyZShyZXR2YWwpKQorICAgIGdvdG8gZG9uZTsKKworICByZXR2YWwgPSBwYW1fYWNjdF9tZ210IChwYW1oLCAwKTsKKyAgaWYgKHJldHZhbCA9PSBQQU1fTkVXX0FVVEhUT0tfUkVRRCkKKyAgICB7CisgICAgICAvKiBQYXNzd29yZCBoYXMgZXhwaXJlZC4gIE9mZmVyIG9wdGlvbiB0byBjaGFuZ2UgaXQuICAqLworICAgICAgcmV0dmFsID0gcGFtX2NoYXV0aHRvayAocGFtaCwgUEFNX0NIQU5HRV9FWFBJUkVEX0FVVEhUT0spOworICAgIH0KKworZG9uZToKKworICBsb2dfc3lzbG9nKHB3LCAhaXNfcGFtX2ZhaWx1cmUocmV0dmFsKSk7CisKKyAgaWYgKGlzX3BhbV9mYWlsdXJlKHJldHZhbCkpCisgICAgeworICAgICAgY29uc3QgY2hhciAqbXNnOworCisgICAgICBsb2dfYnRtcChwdyk7CisKKyAgICAgIG1zZyAgPSBwYW1fc3RyZXJyb3IocGFtaCwgcmV0dmFsKTsKKyAgICAgIHBhbV9lbmQocGFtaCwgcmV0dmFsKTsKKyAgICAgIHNsZWVwIChnZXRsb2dpbmRlZnNfbnVtICgiRkFJTF9ERUxBWSIsIDEpKTsKKyAgICAgIGVycnggKEVYSVRfRkFJTFVSRSwgIiVzIiwgbXNnP21zZzpfKCJpbmNvcnJlY3QgcGFzc3dvcmQiKSk7CisgICAgfQorfQorCitzdGF0aWMgdm9pZAorc2V0X3BhdGgoY29uc3Qgc3RydWN0IHBhc3N3ZCogcHcpCit7CisgIGludCByOworICBpZiAocHctPnB3X3VpZCkKKyAgICByID0gbG9naW5kZWZzX3NldGVudigiUEFUSCIsICJFTlZfUEFUSCIsIF9QQVRIX0RFRlBBVEgpOworCisgIGVsc2UgaWYgKChyID0gbG9naW5kZWZzX3NldGVudigiUEFUSCIsICJFTlZfUk9PVFBBVEgiLCBOVUxMKSkgIT0gMCkKKyAgICByID0gbG9naW5kZWZzX3NldGVudigiUEFUSCIsICJFTlZfU1VQQVRIIiwgX1BBVEhfREVGUEFUSF9ST09UKTsKKworICBpZiAociAhPSAwKQorICAgIGVyciAoRVhJVF9GQUlMVVJFLCAgXygiZmFpbGVkIHRvIHNldCB0aGUgJXMgZW52aXJvbm1lbnQgdmFyaWFibGUiKSwgIlBBVEgiKTsKK30KKworLyogVXBkYXRlIGBlbnZpcm9uJyBmb3IgdGhlIG5ldyBzaGVsbCBiYXNlZCBvbiBQVywgd2l0aCBTSEVMTCBiZWluZworICAgdGhlIHZhbHVlIGZvciB0aGUgU0hFTEwgZW52aXJvbm1lbnQgdmFyaWFibGUuICAqLworCitzdGF0aWMgdm9pZAorbW9kaWZ5X2Vudmlyb25tZW50IChjb25zdCBzdHJ1Y3QgcGFzc3dkICpwdywgY29uc3QgY2hhciAqc2hlbGwpCit7CisgIGlmIChzaW11bGF0ZV9sb2dpbikKKyAgICB7CisgICAgICAvKiBMZWF2ZSBURVJNIHVuY2hhbmdlZC4gIFNldCBIT01FLCBTSEVMTCwgVVNFUiwgTE9HTkFNRSwgUEFUSC4KKyAgICAgICAgIFVuc2V0IGFsbCBvdGhlciBlbnZpcm9ubWVudCB2YXJpYWJsZXMuICAqLworICAgICAgY2hhciAqdGVybSA9IGdldGVudiAoIlRFUk0iKTsKKyAgICAgIGlmICh0ZXJtKQorCXRlcm0gPSB4c3RyZHVwICh0ZXJtKTsKKyAgICAgIGVudmlyb24gPSB4bWFsbG9jICgoNiArICEhdGVybSkgKiBzaXplb2YgKGNoYXIgKikpOworICAgICAgZW52aXJvblswXSA9IE5VTEw7CisgICAgICBpZiAodGVybSkgeworCXhzZXRlbnYgKCJURVJNIiwgdGVybSwgMSk7CisJZnJlZSh0ZXJtKTsKKyAgICAgIH0KKyAgICAgIHhzZXRlbnYgKCJIT01FIiwgcHctPnB3X2RpciwgMSk7CisgICAgICBpZiAoc2hlbGwpCisJeHNldGVudiAoIlNIRUxMIiwgc2hlbGwsIDEpOworICAgICAgeHNldGVudiAoIlVTRVIiLCBwdy0+cHdfbmFtZSwgMSk7CisgICAgICB4c2V0ZW52ICgiTE9HTkFNRSIsIHB3LT5wd19uYW1lLCAxKTsKKyAgICAgIHNldF9wYXRoKHB3KTsKKyAgICB9CisgIGVsc2UKKyAgICB7CisgICAgICAvKiBTZXQgSE9NRSwgU0hFTEwsIGFuZCAoaWYgbm90IGJlY29taW5nIGEgc3VwZXJ1c2VyKQorCSBVU0VSIGFuZCBMT0dOQU1FLiAgKi8KKyAgICAgIGlmIChjaGFuZ2VfZW52aXJvbm1lbnQpCisgICAgICAgIHsKKyAgICAgICAgICB4c2V0ZW52ICgiSE9NRSIsIHB3LT5wd19kaXIsIDEpOworCSAgaWYgKHNoZWxsKQorICAgICAgICAgICAgeHNldGVudiAoIlNIRUxMIiwgc2hlbGwsIDEpOworCSAgaWYgKGdldGxvZ2luZGVmc19ib29sICgiQUxXQVlTX1NFVF9QQVRIIiwgMCkpCisJICAgIHNldF9wYXRoKHB3KTsKKworICAgICAgICAgIGlmIChwdy0+cHdfdWlkKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICB4c2V0ZW52ICgiVVNFUiIsIHB3LT5wd19uYW1lLCAxKTsKKyAgICAgICAgICAgICAgeHNldGVudiAoIkxPR05BTUUiLCBwdy0+cHdfbmFtZSwgMSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgZXhwb3J0X3BhbWVudiAoKTsKK30KKworLyogQmVjb21lIHRoZSB1c2VyIGFuZCBncm91cChzKSBzcGVjaWZpZWQgYnkgUFcuICAqLworCitzdGF0aWMgdm9pZAoraW5pdF9ncm91cHMgKGNvbnN0IHN0cnVjdCBwYXNzd2QgKnB3LCBnaWRfdCAqZ3JvdXBzLCBzaXplX3QgbnVtX2dyb3VwcykKK3sKKyAgaW50IHJldHZhbDsKKworICBlcnJubyA9IDA7CisKKyAgaWYgKG51bV9ncm91cHMpCisgICAgcmV0dmFsID0gc2V0Z3JvdXBzIChudW1fZ3JvdXBzLCBncm91cHMpOworICBlbHNlCisgICAgcmV0dmFsID0gaW5pdGdyb3VwcyAocHctPnB3X25hbWUsIHB3LT5wd19naWQpOworCisgIGlmIChyZXR2YWwgPT0gLTEpCisgICAgeworICAgICAgY2xlYW51cF9wYW0gKFBBTV9BQk9SVCk7CisgICAgICBlcnIgKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IHNldCBncm91cHMiKSk7CisgICAgfQorICBlbmRncmVudCAoKTsKKworICByZXR2YWwgPSBwYW1fc2V0Y3JlZCAocGFtaCwgUEFNX0VTVEFCTElTSF9DUkVEKTsKKyAgaWYgKGlzX3BhbV9mYWlsdXJlKHJldHZhbCkpCisgICAgZXJyeCAoRVhJVF9GQUlMVVJFLCAiJXMiLCBwYW1fc3RyZXJyb3IgKHBhbWgsIHJldHZhbCkpOworICBlbHNlCisgICAgX3BhbV9jcmVkX2VzdGFibGlzaGVkID0gMTsKK30KKworc3RhdGljIHZvaWQKK2NoYW5nZV9pZGVudGl0eSAoY29uc3Qgc3RydWN0IHBhc3N3ZCAqcHcpCit7CisgIGlmIChzZXRnaWQgKHB3LT5wd19naWQpKQorICAgIGVyciAoRVhJVF9GQUlMVVJFLCAgXygiY2Fubm90IHNldCBncm91cCBpZCIpKTsKKyAgaWYgKHNldHVpZCAocHctPnB3X3VpZCkpCisgICAgZXJyIChFWElUX0ZBSUxVUkUsICBfKCJjYW5ub3Qgc2V0IHVzZXIgaWQiKSk7Cit9CisKKy8qIFJ1biBTSEVMTCwgb3IgREVGQVVMVF9TSEVMTCBpZiBTSEVMTCBpcyBlbXB0eS4KKyAgIElmIENPTU1BTkQgaXMgbm9uemVybywgcGFzcyBpdCB0byB0aGUgc2hlbGwgd2l0aCB0aGUgLWMgb3B0aW9uLgorICAgUGFzcyBBRERJVElPTkFMX0FSR1MgdG8gdGhlIHNoZWxsIGFzIG1vcmUgYXJndW1lbnRzOyB0aGVyZQorICAgYXJlIE5fQURESVRJT05BTF9BUkdTIGV4dHJhIGFyZ3VtZW50cy4gICovCisKK3N0YXRpYyB2b2lkCitydW5fc2hlbGwgKGNoYXIgY29uc3QgKnNoZWxsLCBjaGFyIGNvbnN0ICpjb21tYW5kLCBjaGFyICoqYWRkaXRpb25hbF9hcmdzLAorCSAgIHNpemVfdCBuX2FkZGl0aW9uYWxfYXJncykKK3sKKyAgc2l6ZV90IG5fYXJncyA9IDEgKyBmYXN0X3N0YXJ0dXAgKyAyICogISFjb21tYW5kICsgbl9hZGRpdGlvbmFsX2FyZ3MgKyAxOworICBjaGFyIGNvbnN0ICoqYXJncyA9IHhjYWxsb2MgKG5fYXJncywgc2l6ZW9mICphcmdzKTsKKyAgc2l6ZV90IGFyZ25vID0gMTsKKworICBpZiAoc2ltdWxhdGVfbG9naW4pCisgICAgeworICAgICAgY2hhciAqYXJnMDsKKyAgICAgIGNoYXIgKnNoZWxsX2Jhc2VuYW1lOworCisgICAgICBzaGVsbF9iYXNlbmFtZSA9IGJhc2VuYW1lIChzaGVsbCk7CisgICAgICBhcmcwID0geG1hbGxvYyAoc3RybGVuIChzaGVsbF9iYXNlbmFtZSkgKyAyKTsKKyAgICAgIGFyZzBbMF0gPSAnLSc7CisgICAgICBzdHJjcHkgKGFyZzAgKyAxLCBzaGVsbF9iYXNlbmFtZSk7CisgICAgICBhcmdzWzBdID0gYXJnMDsKKyAgICB9CisgIGVsc2UKKyAgICBhcmdzWzBdID0gYmFzZW5hbWUgKHNoZWxsKTsKKyAgaWYgKGZhc3Rfc3RhcnR1cCkKKyAgICBhcmdzW2FyZ25vKytdID0gIi1mIjsKKyAgaWYgKGNvbW1hbmQpCisgICAgeworICAgICAgYXJnc1thcmdubysrXSA9ICItYyI7CisgICAgICBhcmdzW2FyZ25vKytdID0gY29tbWFuZDsKKyAgICB9CisgIG1lbWNweSAoYXJncyArIGFyZ25vLCBhZGRpdGlvbmFsX2FyZ3MsIG5fYWRkaXRpb25hbF9hcmdzICogc2l6ZW9mICphcmdzKTsKKyAgYXJnc1thcmdubyArIG5fYWRkaXRpb25hbF9hcmdzXSA9IE5VTEw7CisgIGV4ZWN2IChzaGVsbCwgKGNoYXIgKiopIGFyZ3MpOworCisgIHsKKyAgICBpbnQgZXhpdF9zdGF0dXMgPSAoZXJybm8gPT0gRU5PRU5UID8gRVhJVF9FTk9FTlQgOiBFWElUX0NBTk5PVF9JTlZPS0UpOworICAgIHdhcm4gKF8oImZhaWxlZCB0byBleGVjdXRlICVzIiksIHNoZWxsKTsKKyAgICBleGl0IChleGl0X3N0YXR1cyk7CisgIH0KK30KKworLyogUmV0dXJuIHRydWUgaWYgU0hFTEwgaXMgYSByZXN0cmljdGVkIHNoZWxsIChvbmUgbm90IHJldHVybmVkIGJ5CisgICBnZXR1c2Vyc2hlbGwpLCBlbHNlIGZhbHNlLCBtZWFuaW5nIGl0IGlzIGEgc3RhbmRhcmQgc2hlbGwuICAqLworCitzdGF0aWMgYm9vbAorcmVzdHJpY3RlZF9zaGVsbCAoY29uc3QgY2hhciAqc2hlbGwpCit7CisgIGNoYXIgKmxpbmU7CisKKyAgc2V0dXNlcnNoZWxsICgpOworICB3aGlsZSAoKGxpbmUgPSBnZXR1c2Vyc2hlbGwgKCkpICE9IE5VTEwpCisgICAgeworICAgICAgaWYgKCpsaW5lICE9ICcjJyAmJiAhc3RyY21wIChsaW5lLCBzaGVsbCkpCisJeworCSAgZW5kdXNlcnNoZWxsICgpOworCSAgcmV0dXJuIGZhbHNlOworCX0KKyAgICB9CisgIGVuZHVzZXJzaGVsbCAoKTsKKyAgcmV0dXJuIHRydWU7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpCit1c2FnZSAoaW50IHN0YXR1cykKK3sKKyAgaWYgKHN1X21vZGUgPT0gUlVOVVNFUl9NT0RFKSB7CisgICAgZnB1dHMoVVNBR0VfSEVBREVSLCBzdGRvdXQpOworICAgIHByaW50ZiAoXygiICVzIFtvcHRpb25zXSAtdSA8dXNlcj4gW1stLV0gPGNvbW1hbmQ+XVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKyAgICBwcmludGYgKF8oIiAlcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKyAgICBmcHV0cyAoXygiXG4iCisgICAgIlJ1biA8Y29tbWFuZD4gd2l0aCB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIG9mIDx1c2VyPi4gIElmIC11IGlzXG4iCisgICAgIm5vdCBnaXZlbiwgZmFsbCBiYWNrIHRvIHN1KDEpLWNvbXBhdGlibGUgc2VtYW50aWNzIGFuZCBleGVjdXRlIHN0YW5kYXJkIHNoZWxsLlxuIgorICAgICJUaGUgb3B0aW9ucyAtYywgLWYsIC1sLCBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC11LlxuIiksIHN0ZG91dCk7CisKKyAgICBmcHV0cyhVU0FHRV9PUFRJT05TLCBzdGRvdXQpOworCisgICAgZnB1dHMgKF8oIiAtdSwgLS11c2VyIDx1c2VyPiAgICAgICAgICAgICB1c2VybmFtZVxuIiksIHN0ZG91dCk7CisKKyAgfSBlbHNlIHsKKyAgICBmcHV0cyhVU0FHRV9IRUFERVIsIHN0ZG91dCk7CisgICAgcHJpbnRmIChfKCIgJXMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisgICAgZnB1dHMgKF8oIlxuIgorICAgICJDaGFuZ2UgdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCB0byB0aGF0IG9mIDx1c2VyPi5cbiIKKyAgICAiQSBtZXJlIC0gaW1wbGllcyAtbC4gIElmIDx1c2VyPiBpcyBub3QgZ2l2ZW4sIHJvb3QgaXMgYXNzdW1lZC5cbiIpLCBzdGRvdXQpOworCisgICAgZnB1dHMoVVNBR0VfT1BUSU9OUywgc3Rkb3V0KTsKKyAgfQorCisgIGZwdXRzIChfKCIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBkbyBub3QgcmVzZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4iKSwgc3Rkb3V0KTsKKyAgZnB1dHMgKF8oIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICAgICAgICAgIHNwZWNpZnkgdGhlIHByaW1hcnkgZ3JvdXBcbiIpLCBzdGRvdXQpOworICBmcHV0cyAoXygiIC1HLCAtLXN1cHAtZ3JvdXAgPGdyb3VwPiAgICAgICAgc3BlY2lmeSBhIHN1cHBsZW1lbnRhbCBncm91cFxuXG4iKSwgc3Rkb3V0KTsKKworICBmcHV0cyAoXygiIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgICAgbWFrZSB0aGUgc2hlbGwgYSBsb2dpbiBzaGVsbFxuIiksIHN0ZG91dCk7CisgIGZwdXRzIChfKCIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIpLCBzdGRvdXQpOworICBmcHV0cyAoXygiIC0tc2Vzc2lvbi1jb21tYW5kIDxjb21tYW5kPiAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisgICAgICAgICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkbyBub3QgY3JlYXRlIGEgbmV3IHNlc3Npb25cbiIpLCBzdGRvdXQpOworICBmcHV0cyAoXygiIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgICAgcGFzcyAtZiB0byB0aGUgc2hlbGwgKGZvciBjc2ggb3IgdGNzaClcbiIpLCBzdGRvdXQpOworICBmcHV0cyAoXygiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgICAgcnVuIDxzaGVsbD4gaWYgL2V0Yy9zaGVsbHMgYWxsb3dzIGl0XG4iKSwgc3Rkb3V0KTsKKworICBmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIHN0ZG91dCk7CisgIGZwdXRzKFVTQUdFX0hFTFAsIHN0ZG91dCk7CisgIGZwdXRzKFVTQUdFX1ZFUlNJT04sIHN0ZG91dCk7CisgIHByaW50ZihVU0FHRV9NQU5fVEFJTChzdV9tb2RlID09IFNVX01PREUgPyAic3UoMSkiIDogInJ1bnVzZXIoMSkiKSk7CisgIGV4aXQgKHN0YXR1cyk7Cit9CisKK3N0YXRpYwordm9pZCBsb2FkX2NvbmZpZyh2b2lkKQoreworICBzd2l0Y2ggKHN1X21vZGUpIHsKKyAgY2FzZSBTVV9NT0RFOgorICAgIGxvZ2luZGVmc19sb2FkX2ZpbGUoX1BBVEhfTE9HSU5ERUZTX1NVKTsKKyAgICBicmVhazsKKyAgY2FzZSBSVU5VU0VSX01PREU6CisgICAgbG9naW5kZWZzX2xvYWRfZmlsZShfUEFUSF9MT0dJTkRFRlNfUlVOVVNFUik7CisgICAgYnJlYWs7CisgIH0KKworICBsb2dpbmRlZnNfbG9hZF9maWxlKF9QQVRIX0xPR0lOREVGUyk7Cit9CisKKy8qCisgKiBSZXR1cm5zIDEgaWYgdGhlIGN1cnJlbnQgdXNlciBpcyBub3Qgcm9vdAorICovCitzdGF0aWMgaW50CitldmFsdWF0ZV91aWQodm9pZCkKK3sKKyAgdWlkX3QgcnVpZCA9IGdldHVpZCgpOworICB1aWRfdCBldWlkID0gZ2V0ZXVpZCgpOworCisgIC8qIGlmIHdlJ3JlIHJlYWxseSByb290IGFuZCBhcmVuJ3QgcnVubmluZyBzZXR1aWQgKi8KKyAgcmV0dXJuICh1aWRfdCkgMCA9PSBydWlkICYmIHJ1aWQgPT0gZXVpZCA/IDAgOiAxOworfQorCitzdGF0aWMgZ2lkX3QKK2FkZF9zdXBwX2dyb3VwKGNvbnN0IGNoYXIgKm5hbWUsIGdpZF90ICoqZ3JvdXBzLCBzaXplX3QgKm5ncm91cHMpCit7CisgIHN0cnVjdCBncm91cCAqZ3I7CisKKyAgaWYgKCpuZ3JvdXBzID49IE5HUk9VUFNfTUFYKQorICAgIGVycngoRVhJVF9GQUlMVVJFLAorCVBfKCJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXAgaXMgbm90IHBvc3NpYmxlIiwKKwkgICAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwcyBpcyBub3QgcG9zc2libGUiLAorCSAgICAgTkdST1VQU19NQVggLSAxKSwgTkdST1VQU19NQVggLSAxKTsKKworICBnciA9IGdldGdybmFtKG5hbWUpOworICBpZiAoIWdyKQorICAgIGVycngoRVhJVF9GQUlMVVJFLCBfKCJncm91cCAlcyBkb2VzIG5vdCBleGlzdCIpLCBuYW1lKTsKKworICAqZ3JvdXBzID0geHJlYWxsb2MoKmdyb3Vwcywgc2l6ZW9mKGdpZF90KSAqICgqbmdyb3VwcyArIDEpKTsKKyAgKCpncm91cHMpWypuZ3JvdXBzXSA9IGdyLT5ncl9naWQ7CisgICgqbmdyb3VwcykrKzsKKworICByZXR1cm4gZ3ItPmdyX2dpZDsKK30KKworaW50CitzdV9tYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YsIGludCBtb2RlKQoreworICBpbnQgb3B0YzsKKyAgY29uc3QgY2hhciAqbmV3X3VzZXIgPSBERUZBVUxUX1VTRVIsICpydW51c2VyX3VzZXIgPSBOVUxMOworICBjaGFyICpjb21tYW5kID0gTlVMTDsKKyAgaW50IHJlcXVlc3Rfc2FtZV9zZXNzaW9uID0gMDsKKyAgY2hhciAqc2hlbGwgPSBOVUxMOworICBzdHJ1Y3QgcGFzc3dkICpwdzsKKyAgc3RydWN0IHBhc3N3ZCBwd19jb3B5OworCisgIGdpZF90ICpncm91cHMgPSBOVUxMOworICBzaXplX3Qgbmdyb3VwcyA9IDA7CisgIGJvb2wgdXNlX3N1cHAgPSBmYWxzZTsKKyAgYm9vbCB1c2VfZ2lkID0gZmFsc2U7CisgIGdpZF90IGdpZCA9IDA7CisKKyAgc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKyAgICB7ImNvbW1hbmQiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2MnfSwKKyAgICB7InNlc3Npb24tY29tbWFuZCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnQyd9LAorICAgIHsiZmFzdCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnZid9LAorICAgIHsibG9naW4iLCBub19hcmd1bWVudCwgTlVMTCwgJ2wnfSwKKyAgICB7InByZXNlcnZlLWVudmlyb25tZW50Iiwgbm9fYXJndW1lbnQsIE5VTEwsICdwJ30sCisgICAgeyJzaGVsbCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAncyd9LAorICAgIHsiZ3JvdXAiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2cnfSwKKyAgICB7InN1cHAtZ3JvdXAiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ0cnfSwKKyAgICB7InVzZXIiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3UnfSwJCS8qIHJ1bnVzZXIgb25seSAqLworICAgIHsiaGVscCIsIG5vX2FyZ3VtZW50LCAwLCAnaCd9LAorICAgIHsidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCAwLCAnVid9LAorICAgIHtOVUxMLCAwLCBOVUxMLCAwfQorICB9OworCisgIHNldGxvY2FsZSAoTENfQUxMLCAiIik7CisgIGJpbmR0ZXh0ZG9tYWluIChQQUNLQUdFLCBMT0NBTEVESVIpOworICB0ZXh0ZG9tYWluIChQQUNLQUdFKTsKKyAgYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKyAgc3VfbW9kZSA9IG1vZGU7CisgIGZhc3Rfc3RhcnR1cCA9IGZhbHNlOworICBzaW11bGF0ZV9sb2dpbiA9IGZhbHNlOworICBjaGFuZ2VfZW52aXJvbm1lbnQgPSB0cnVlOworCisgIHdoaWxlICgob3B0YyA9IGdldG9wdF9sb25nIChhcmdjLCBhcmd2LCAiYzpmZzpHOmxtcHM6dTpoViIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpCisgICAgeworICAgICAgc3dpdGNoIChvcHRjKQorCXsKKwljYXNlICdjJzoKKwkgIGNvbW1hbmQgPSBvcHRhcmc7CisJICBicmVhazsKKworICAgICAgICBjYXNlICdDJzoKKyAgICAgICAgICBjb21tYW5kID0gb3B0YXJnOworICAgICAgICAgIHJlcXVlc3Rfc2FtZV9zZXNzaW9uID0gMTsKKyAgICAgICAgICBicmVhazsKKworCWNhc2UgJ2YnOgorCSAgZmFzdF9zdGFydHVwID0gdHJ1ZTsKKwkgIGJyZWFrOworCisJY2FzZSAnZyc6CisJICB1c2VfZ2lkID0gdHJ1ZTsKKwkgIGdpZCA9IGFkZF9zdXBwX2dyb3VwKG9wdGFyZywgJmdyb3VwcywgJm5ncm91cHMpOworCSAgYnJlYWs7CisKKwljYXNlICdHJzoKKwkgIHVzZV9zdXBwID0gdHJ1ZTsKKwkgIGFkZF9zdXBwX2dyb3VwKG9wdGFyZywgJmdyb3VwcywgJm5ncm91cHMpOworCSAgYnJlYWs7CisKKwljYXNlICdsJzoKKwkgIHNpbXVsYXRlX2xvZ2luID0gdHJ1ZTsKKwkgIGJyZWFrOworCisJY2FzZSAnbSc6CisJY2FzZSAncCc6CisJICBjaGFuZ2VfZW52aXJvbm1lbnQgPSBmYWxzZTsKKwkgIGJyZWFrOworCisJY2FzZSAncyc6CisJICBzaGVsbCA9IG9wdGFyZzsKKwkgIGJyZWFrOworCisJY2FzZSAndSc6CisJICBpZiAoc3VfbW9kZSAhPSBSVU5VU0VSX01PREUpCisJICAgIHVzYWdlIChFWElUX0ZBSUxVUkUpOworCSAgcnVudXNlcl91c2VyID0gb3B0YXJnOworCSAgYnJlYWs7CisKKwljYXNlICdoJzoKKwkgIHVzYWdlKDApOworCisJY2FzZSAnVic6CisJICBwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkgIGV4aXQoRVhJVF9TVUNDRVNTKTsKKworCWRlZmF1bHQ6CisJICB1c2FnZSAoRVhJVF9GQUlMVVJFKTsKKwl9CisgICAgfQorCisgIHJlc3RyaWN0ZWQgPSBldmFsdWF0ZV91aWQgKCk7CisKKyAgaWYgKG9wdGluZCA8IGFyZ2MgJiYgIXN0cmNtcCAoYXJndltvcHRpbmRdLCAiLSIpKQorICAgIHsKKyAgICAgIHNpbXVsYXRlX2xvZ2luID0gdHJ1ZTsKKyAgICAgICsrb3B0aW5kOworICAgIH0KKworICBpZiAoc2ltdWxhdGVfbG9naW4gJiYgIWNoYW5nZV9lbnZpcm9ubWVudCkgeworICAgIHdhcm54KF8oImlnbm9yaW5nIC0tcHJlc2VydmUtZW52aXJvbm1lbnQsIGl0J3MgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1sb2dpbiIpKTsKKyAgICBjaGFuZ2VfZW52aXJvbm1lbnQgPSB0cnVlOworICB9CisKKyAgc3dpdGNoIChzdV9tb2RlKSB7CisgIGNhc2UgUlVOVVNFUl9NT0RFOgorICAgIGlmIChydW51c2VyX3VzZXIpIHsKKyAgICAgIC8qIHJ1bnVzZXIgLXUgPHVzZXI+IDxjb21tYW5kPiAqLworICAgICAgbmV3X3VzZXIgPSBydW51c2VyX3VzZXI7CisgICAgICBpZiAoc2hlbGwgfHwgZmFzdF9zdGFydHVwIHx8IGNvbW1hbmQgfHwgc2ltdWxhdGVfbG9naW4pIHsKKyAgICAgICAgZXJyeChFWElUX0ZBSUxVUkUsCisJICAgXygib3B0aW9ucyAtLXtzaGVsbCxmYXN0LGNvbW1hbmQsc2Vzc2lvbi1jb21tYW5kLGxvZ2lufSBhbmQgIgorCSAgICAgIi0tdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIikpOworICAgICAgfQorICAgICAgaWYgKG9wdGluZCA9PSBhcmdjKQorICAgICAgICBlcnJ4KEVYSVRfRkFJTFVSRSwgXygibm8gY29tbWFuZCB3YXMgc3BlY2lmaWVkIikpOworCisgICAgICBicmVhazsKKyAgICB9CisgICAgLyogZmFsbHRocm91Z2ggaWYgLXUgPHVzZXI+IGlzIG5vdCBzcGVjaWZpZWQsIHRoZW4gZm9sbG93CisgICAgICogdHJhZGl0aW9uYWwgc3UoMSkgYmVoYXZpb3IKKyAgICAgKi8KKyAgY2FzZSBTVV9NT0RFOgorICAgIGlmIChvcHRpbmQgPCBhcmdjKQorICAgICAgbmV3X3VzZXIgPSBhcmd2W29wdGluZCsrXTsKKyAgICBicmVhazsKKyAgfQorCisgIGlmICgodXNlX3N1cHAgfHwgdXNlX2dpZCkgJiYgcmVzdHJpY3RlZCkKKyAgICBlcnJ4KEVYSVRfRkFJTFVSRSwgXygib25seSByb290IGNhbiBzcGVjaWZ5IGFsdGVybmF0aXZlIGdyb3VwcyIpKTsKKworICBsb2dpbmRlZnNfbG9hZF9kZWZhdWx0cyA9IGxvYWRfY29uZmlnOworCisgIHB3ID0gZ2V0cHduYW0gKG5ld191c2VyKTsKKyAgaWYgKCEgKHB3ICYmIHB3LT5wd19uYW1lICYmIHB3LT5wd19uYW1lWzBdICYmIHB3LT5wd19kaXIgJiYgcHctPnB3X2RpclswXQorCSAmJiBwdy0+cHdfcGFzc3dkKSkKKyAgICBlcnJ4IChFWElUX0ZBSUxVUkUsIF8oInVzZXIgJXMgZG9lcyBub3QgZXhpc3QiKSwgbmV3X3VzZXIpOworCisgIC8qIE1ha2UgYSBjb3B5IG9mIHRoZSBwYXNzd29yZCBpbmZvcm1hdGlvbiBhbmQgcG9pbnQgcHcgYXQgdGhlIGxvY2FsCisgICAgIGNvcHkgaW5zdGVhZC4gIE90aGVyd2lzZSwgc29tZSBzeXN0ZW1zIChlLmcuIExpbnV4KSB3b3VsZCBjbG9iYmVyCisgICAgIHRoZSBzdGF0aWMgZGF0YSB0aHJvdWdoIHRoZSBnZXRsb2dpbiBjYWxsIGZyb20gbG9nX3N1LgorICAgICBBbHNvLCBtYWtlIHN1cmUgcHctPnB3X3NoZWxsIGlzIGEgbm9uZW1wdHkgc3RyaW5nLgorICAgICBJdCBtYXkgYmUgTlVMTCB3aGVuIE5FV19VU0VSIGlzIGEgdXNlcm5hbWUgdGhhdCBpcyByZXRyaWV2ZWQgdmlhIE5JUyAoWVApLAorICAgICBidXQgdGhhdCBkb2Vzbid0IGhhdmUgYSBkZWZhdWx0IHNoZWxsIGxpc3RlZC4gICovCisgIHB3X2NvcHkgPSAqcHc7CisgIHB3ID0gJnB3X2NvcHk7CisgIHB3LT5wd19uYW1lID0geHN0cmR1cCAocHctPnB3X25hbWUpOworICBwdy0+cHdfcGFzc3dkID0geHN0cmR1cCAocHctPnB3X3Bhc3N3ZCk7CisgIHB3LT5wd19kaXIgPSB4c3RyZHVwIChwdy0+cHdfZGlyKTsKKyAgcHctPnB3X3NoZWxsID0geHN0cmR1cCAocHctPnB3X3NoZWxsICYmIHB3LT5wd19zaGVsbFswXQorCQkJICA/IHB3LT5wd19zaGVsbAorCQkJICA6IERFRkFVTFRfU0hFTEwpOworICBlbmRwd2VudCAoKTsKKworICBpZiAodXNlX3N1cHAgJiYgIXVzZV9naWQpCisgICAgcHctPnB3X2dpZCA9IGdyb3Vwc1swXTsKKyAgZWxzZSBpZiAodXNlX2dpZCkKKyAgICBwdy0+cHdfZ2lkID0gZ2lkOworCisgIGF1dGhlbnRpY2F0ZSAocHcpOworCisgIGlmIChyZXF1ZXN0X3NhbWVfc2Vzc2lvbiB8fCAhY29tbWFuZCB8fCAhcHctPnB3X3VpZCkKKyAgICBzYW1lX3Nlc3Npb24gPSAxOworCisgIC8qIGluaXRpYWxpemUgc2hlbGwgdmFyaWFibGUgb25seSBpZiAiLXUgPHVzZXI+IiBub3Qgc3BlY2lmaWVkICovCisgIGlmIChydW51c2VyX3VzZXIpIHsKKyAgICBzaGVsbCA9IE5VTEw7CisgIH0gZWxzZSB7CisgICAgaWYgKCFzaGVsbCAmJiAhY2hhbmdlX2Vudmlyb25tZW50KQorICAgICAgc2hlbGwgPSBnZXRlbnYgKCJTSEVMTCIpOworICAgIGlmIChzaGVsbCAmJiBnZXR1aWQgKCkgIT0gMCAmJiByZXN0cmljdGVkX3NoZWxsIChwdy0+cHdfc2hlbGwpKQorICAgICAgeworCS8qIFRoZSB1c2VyIGJlaW5nIHN1J2QgdG8gaGFzIGEgbm9uc3RhbmRhcmQgc2hlbGwsIGFuZCBzbyBpcworCSAgIHByb2JhYmx5IGEgdXVjcCBhY2NvdW50IG9yIGhhcyByZXN0cmljdGVkIGFjY2Vzcy4gIERvbid0CisJICAgY29tcHJvbWlzZSB0aGUgYWNjb3VudCBieSBhbGxvd2luZyBhY2Nlc3Mgd2l0aCBhIHN0YW5kYXJkCisJICAgc2hlbGwuICAqLworCXdhcm54IChfKCJ1c2luZyByZXN0cmljdGVkIHNoZWxsICVzIiksIHB3LT5wd19zaGVsbCk7CisJc2hlbGwgPSBOVUxMOworICAgICAgfQorICAgIHNoZWxsID0geHN0cmR1cCAoc2hlbGwgPyBzaGVsbCA6IHB3LT5wd19zaGVsbCk7CisgIH0KKworICBpbml0X2dyb3VwcyAocHcsIGdyb3Vwcywgbmdyb3Vwcyk7CisKKyAgaWYgKCFzaW11bGF0ZV9sb2dpbiB8fCBjb21tYW5kKQorICAgIHN1cHByZXNzX3BhbV9pbmZvID0gMTsJCS8qIGRvbid0IHByaW50IFBBTSBpbmZvIG1lc3NhZ2VzICovCisKKyAgY3JlYXRlX3dhdGNoaW5nX3BhcmVudCAoKTsKKyAgLyogTm93IHdlJ3JlIGluIHRoZSBjaGlsZC4gICovCisKKyAgY2hhbmdlX2lkZW50aXR5IChwdyk7CisgIGlmICghc2FtZV9zZXNzaW9uKQorICAgIHNldHNpZCAoKTsKKworICAvKiBTZXQgZW52aXJvbm1lbnQgYWZ0ZXIgcGFtX29wZW5fc2Vzc2lvbiwgd2hpY2ggbWF5IHB1dCBLUkI1Q0NOQU1FCisgICAgIGludG8gdGhlIHBhbV9lbnYsIGV0Yy4gICovCisKKyAgbW9kaWZ5X2Vudmlyb25tZW50IChwdywgc2hlbGwpOworCisgIGlmIChzaW11bGF0ZV9sb2dpbiAmJiBjaGRpciAocHctPnB3X2RpcikgIT0gMCkKKyAgICB3YXJuIChfKCJ3YXJuaW5nOiBjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIpLCBwdy0+cHdfZGlyKTsKKworICBpZiAoc2hlbGwpCisgICAgcnVuX3NoZWxsIChzaGVsbCwgY29tbWFuZCwgYXJndiArIG9wdGluZCwgbWF4ICgwLCBhcmdjIC0gb3B0aW5kKSk7CisgIGVsc2UgeworICAgIGV4ZWN2cChhcmd2W29wdGluZF0sICZhcmd2W29wdGluZF0pOworICAgIGVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBleGVjdXRlICVzIiksIGFyZ3Zbb3B0aW5kXSk7CisgIH0KK30KKworLy8gdmltOiBzdz0yIGNpbm9wdGlvbnM9PjQsbi0yLHsyLF4tMixcOjIsPTIsZzAsaDIscDUsdDAsKzIsKDAsdTAsdzEsbTEKZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL3N1LWNvbW1vbi5oIGIvbG9naW4tdXRpbHMvc3UtY29tbW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2NmMzc2OQotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL3N1LWNvbW1vbi5oCkBAIC0wLDAgKzEsMTEgQEAKKyNpZm5kZWYgVVRJTF9MSU5VWF9TVV9DT01NT05fSAorI2RlZmluZSBVVElMX0xJTlVYX1NVX0NPTU1PTl9ICisKK2VudW0geworCVNVX01PREUsCisJUlVOVVNFUl9NT0RFCit9OworCitleHRlcm4gaW50IHN1X21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2LCBpbnQgbW9kZSk7CisKKyNlbmRpZiAvKiBVVElMX0xJTlVYX1NVX0NPTU1PTiAqLwpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvc3UuMSBiL2xvZ2luLXV0aWxzL3N1LjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzI0NzU1YgotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL3N1LjEKQEAgLTAsMCArMSwyNjggQEAKKy5USCBTVSAxICJKdWx5IDIwMTQiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitzdSBcLSBydW4gYSBjb21tYW5kIHdpdGggc3Vic3RpdHV0ZSB1c2VyIGFuZCBncm91cCBJRAorLlNIIFNZTk9QU0lTCisuQlIgc3UgIiBbb3B0aW9uc10gWyIgXC0gXQorLlJJIFsgdXNlciAiIFsiIGFyZ3VtZW50IC4uLl1dCisuU0ggREVTQ1JJUFRJT04KKy5CIHN1CithbGxvd3MgdG8gcnVuIGNvbW1hbmRzIHdpdGggYSBzdWJzdGl0dXRlIHVzZXIgYW5kIGdyb3VwIElELgorLlBQCitXaGVuIGNhbGxlZCB3aXRob3V0IGFyZ3VtZW50cywKKy5CIHN1CitkZWZhdWx0cyB0byBydW5uaW5nIGFuIGludGVyYWN0aXZlIHNoZWxsIGFzCisuSVIgcm9vdCAuCisuUFAKK0ZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LAorLkIgc3UKK2RlZmF1bHRzIHRvIG5vdCBjaGFuZ2UgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IGFuZCB0byBvbmx5IHNldCB0aGUKK2Vudmlyb25tZW50IHZhcmlhYmxlcworLkIgSE9NRQorYW5kCisuQiBTSEVMTAorKHBsdXMKKy5CIFVTRVIKK2FuZAorLkIgTE9HTkFNRQoraWYgdGhlIHRhcmdldAorLkkgdXNlcgoraXMgbm90IHJvb3QpLiAgSXQgaXMgcmVjb21tZW5kZWQgdG8gYWx3YXlzIHVzZSB0aGUKKy5CIFwtXC1sb2dpbgorb3B0aW9uIChpbnN0ZWFkIG9mIGl0cyBzaG9ydGN1dAorLkJSIFwtICkKK3RvIGF2b2lkIHNpZGUgZWZmZWN0cyBjYXVzZWQgYnkgbWl4aW5nIGVudmlyb25tZW50cy4KKy5QUAorVGhpcyB2ZXJzaW9uIG9mCisuQiBzdQordXNlcyBQQU0gZm9yIGF1dGhlbnRpY2F0aW9uLCBhY2NvdW50IGFuZCBzZXNzaW9uIG1hbmFnZW1lbnQuICBTb21lCitjb25maWd1cmF0aW9uIG9wdGlvbnMgZm91bmQgaW4gb3RoZXIKKy5CIHN1CitpbXBsZW1lbnRhdGlvbnMsIHN1Y2ggYXMgc3VwcG9ydCBmb3IgYSB3aGVlbCBncm91cCwgaGF2ZSB0byBiZQorY29uZmlndXJlZCB2aWEgUEFNLgorLlBQCisuQiBzdQoraXMgbW9zdGx5IGRlc2lnbmVkIGZvciB1bnByaXZpbGVnZWQgdXNlcnMsIHRoZSByZWNvbW1lbmRlZCBzb2x1dGlvbiBmb3IKK3ByaXZpbGVnZWQgdXNlcnMgKGUuZy4gc2NyaXB0cyBleGVjdXRlZCBieSByb290KSBpcyB0byB1c2UKK25vbi1zZXQtdXNlci1JRCBjb21tYW5kCisuQlIgcnVudXNlciAoMSkKK3RoYXQgZG9lcyBub3QgcmVxdWlyZSBhdXRoZW50aWNhdGlvbiBhbmQgcHJvdmlkZSBzZXBhcmF0ZSBQQU0gY29uZmlndXJhdGlvbi4gSWYKK3RoZSBQQU0gc2Vzc2lvbiBpcyBub3QgcmVxdWlyZWQgYXQgYWxsIHRoZW4gdGhlIHJlY29tbWVuZCBzb2x1dGlvbiBpcyB0byB1c2UKK2NvbW1hbmQKKy5CUiBzZXRwcml2ICgxKS4KKworLlNIIE9QVElPTlMKKy5UUAorLkJSIFwtYyAsICIgXC1cLWNvbW1hbmQiID0gXGZJY29tbWFuZAorUGFzcworLkkgY29tbWFuZAordG8gdGhlIHNoZWxsIHdpdGggdGhlCisuQiBcLWMKK29wdGlvbi4KKy5UUAorLkJSIFwtZiAsICIgXC1cLWZhc3QiCitQYXNzCisuQiBcLWYKK3RvIHRoZSBzaGVsbCwgd2hpY2ggbWF5IG9yIG1heSBub3QgYmUgdXNlZnVsLCBkZXBlbmRpbmcgb24gdGhlIHNoZWxsLgorLlRQCisuQlIgXC1nICwgIiBcLVwtZ3JvdXAiID0gXGZJZ3JvdXAKK1NwZWNpZnkgdGhlIHByaW1hcnkgZ3JvdXAuICBUaGlzIG9wdGlvbiBpcyBhdmFpbGFibGUgdG8gdGhlIHJvb3QgdXNlciBvbmx5LgorLlRQCisuQlIgXC1HICwgIiBcLVwtc3VwcFwtZ3JvdXAiID0gXGZJZ3JvdXAKK1NwZWNpZnkgYSBzdXBwbGVtZW50YWwgZ3JvdXAuICBUaGlzIG9wdGlvbiBpcyBhdmFpbGFibGUgdG8gdGhlIHJvb3QgdXNlciBvbmx5LiAgVGhlIGZpcnN0IHNwZWNpZmllZAorc3VwcGxlbWVudGFyeSBncm91cCBpcyBhbHNvIHVzZWQgYXMgYSBwcmltYXJ5IGdyb3VwIGlmIHRoZSBvcHRpb24gXGZCXC1cLWdyb3VwXGZSIGlzIHVuc3BlY2lmaWVkLgorLlRQCisuQlIgXC0gLCAiIFwtbCIgLCAiIFwtXC1sb2dpbiIKK1N0YXJ0IHRoZSBzaGVsbCBhcyBhIGxvZ2luIHNoZWxsIHdpdGggYW4gZW52aXJvbm1lbnQgc2ltaWxhciB0byBhIHJlYWwKK2xvZ2luOgorLlJTIDEwCisuVFAKK28KK2NsZWFycyBhbGwgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcyBleGNlcHQKKy5CIFRFUk0KKy5UUAorbworaW5pdGlhbGl6ZXMgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcworLkJSIEhPTUUgLAorLkJSIFNIRUxMICwKKy5CUiBVU0VSICwKKy5CUiBMT0dOQU1FICIsIGFuZCIKKy5CIFBBVEgKKy5UUAorbworY2hhbmdlcyB0byB0aGUgdGFyZ2V0IHVzZXIncyBob21lIGRpcmVjdG9yeQorLlRQCitvCitzZXRzIGFyZ3ZbMF0gb2YgdGhlIHNoZWxsIHRvCisuUkIgJyBcLSAnCitpbiBvcmRlciB0byBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsCisuUkUKKy5UUAorLkJSIFwtbSAsICIgXC1wIiAsICIgXC1cLXByZXNlcnZlXC1lbnZpcm9ubWVudCIKK1ByZXNlcnZlIHRoZSBlbnRpcmUgZW52aXJvbm1lbnQsIGkuZS4gaXQgZG9lcyBub3Qgc2V0CisuQlIgSE9NRSAsCisuQlIgU0hFTEwgLAorLkIgVVNFUgorbm9yCisuQlIgTE9HTkFNRSAuCitUaGlzIG9wdGlvbiBpcyBpZ25vcmVkIGlmIHRoZSBvcHRpb24gXGZCXC1cLWxvZ2luXGZSIGlzIHNwZWNpZmllZC4KKy5UUAorLkJSIFwtcyAsICIgXC1cLXNoZWxsIiA9IFxmSXNoZWxsCitSdW4gdGhlIHNwZWNpZmllZCBcZklzaGVsbFxmUiBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0LiAgVGhlIHNoZWxsIHRvIHJ1biBpcworc2VsZWN0ZWQgYWNjb3JkaW5nIHRvIHRoZSBmb2xsb3dpbmcgcnVsZXMsIGluIG9yZGVyOgorLlJTIDEwCisuVFAKK28KK3RoZSBzaGVsbCBzcGVjaWZpZWQgd2l0aAorLkIgXC1cLXNoZWxsCisuVFAKK28KK3RoZSBzaGVsbCBzcGVjaWZpZWQgaW4gdGhlIGVudmlyb25tZW50IHZhcmlhYmxlCisuQlIgU0hFTEwgLAoraWYgdGhlCisuQiBcLVwtcHJlc2VydmVcLWVudmlyb25tZW50CitvcHRpb24gaXMgdXNlZAorLlRQCitvCit0aGUgc2hlbGwgbGlzdGVkIGluIHRoZSBwYXNzd2QgZW50cnkgb2YgdGhlIHRhcmdldCB1c2VyCisuVFAKK28KKy9iaW4vc2gKKy5SRQorLklQCitJZiB0aGUgdGFyZ2V0IHVzZXIgaGFzIGEgcmVzdHJpY3RlZCBzaGVsbCAoaS5lLiBub3QgbGlzdGVkIGluCisvZXRjL3NoZWxscyksIHRoZQorLkIgXC1cLXNoZWxsCitvcHRpb24gYW5kIHRoZQorLkIgU0hFTEwKK2Vudmlyb25tZW50IHZhcmlhYmxlcyBhcmUgaWdub3JlZCB1bmxlc3MgdGhlIGNhbGxpbmcgdXNlciBpcyByb290LgorLlRQCisuQkkgXC1cLXNlc3Npb25cLWNvbW1hbmQ9IGNvbW1hbmQKK1NhbWUgYXMKKy5CIFwtYworYnV0IGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvbi4gIChEaXNjb3VyYWdlZC4pCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIIFNJR05BTFMKK1Vwb24gcmVjZWl2aW5nIGVpdGhlcgorLkJSIFNJR0lOVCAsCisuQlIgU0lHUVVJVAorb3IKKy5CUiBTSUdURVJNICwKKy5CUiBzdQordGVybWluYXRlcyBpdHMgY2hpbGQgYW5kIGFmdGVyd2FyZHMgdGVybWluYXRlcyBpdHNlbGYgd2l0aAordGhlIHJlY2VpdmVkIHNpZ25hbC4KKy5TSCBDT05GSUcgRklMRVMKKy5CIHN1CityZWFkcyB0aGUKKy5JIC9ldGMvZGVmYXVsdC9zdQorYW5kCisuSSAvZXRjL2xvZ2luLmRlZnMKK2NvbmZpZ3VyYXRpb24gZmlsZXMuICBUaGUgZm9sbG93aW5nIGNvbmZpZ3VyYXRpb24gaXRlbXMgYXJlIHJlbGV2YW50Citmb3IKKy5CUiBzdSAoMSk6CisuUFAKKy5CIEZBSUxfREVMQVkKKyhudW1iZXIpCisuUlMgNAorRGVsYXkgaW4gc2Vjb25kcyBpbiBjYXNlIG9mIGFuIGF1dGhlbnRpY2F0aW9uIGZhaWx1cmUuIFRoZSBudW1iZXIgbXVzdCBiZQorYSBub24tbmVnYXRpdmUgaW50ZWdlci4KKy5SRQorLlBQCisuQiBFTlZfUEFUSAorKHN0cmluZykKKy5SUyA0CitEZWZpbmVzIHRoZSBQQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIGZvciBhIHJlZ3VsYXIgdXNlci4gIFRoZQorZGVmYXVsdCB2YWx1ZSBpcworLklSIC91c3IvbG9jYWwvYmluOlw6L2JpbjpcOi91c3IvYmluIC4KKy5SRQorLlBQCisuQiBFTlZfUk9PVFBBVEgKKyhzdHJpbmcpCisuYnIKKy5CIEVOVl9TVVBBVEgKKyhzdHJpbmcpCisuUlMgNAorRGVmaW5lcyB0aGUgUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSBmb3Igcm9vdC4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzCisuSVIgL3Vzci9sb2NhbC9zYmluOlw6L3Vzci9sb2NhbC9iaW46XDovc2JpbjpcOi9iaW46XDovdXNyL3NiaW46XDovdXNyL2JpbiAuCisuUkUKKy5QUAorLkIgQUxXQVlTX1NFVF9QQVRICisoYm9vbGVhbikKKy5SUyA0CitJZiBzZXQgdG8KKy5JIHllcworYW5kIFwtXC1sb2dpbiBhbmQgXC1cLXByZXNlcnZlXC1lbnZpcm9ubWVudCB3ZXJlIG5vdCBzcGVjaWZpZWQKKy5CIHN1Citpbml0aWFsaXplcworLkJSIFBBVEggLgorLlJFCisuU0ggRVhJVCBTVEFUVVMKKy5CIHN1Citub3JtYWxseSByZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiB0aGUgY29tbWFuZCBpdCBleGVjdXRlZC4gIElmIHRoZQorY29tbWFuZCB3YXMga2lsbGVkIGJ5IGEgc2lnbmFsLAorLkIgc3UKK3JldHVybnMgdGhlIG51bWJlciBvZiB0aGUgc2lnbmFsIHBsdXMgMTI4LgorLlBQCitFeGl0IHN0YXR1cyBnZW5lcmF0ZWQgYnkKKy5CIHN1CitpdHNlbGY6CisuUlMgMTAKKy5UUAorMQorR2VuZXJpYyBlcnJvciBiZWZvcmUgZXhlY3V0aW5nIHRoZSByZXF1ZXN0ZWQgY29tbWFuZAorLlRQCisxMjYKK1RoZSByZXF1ZXN0ZWQgY29tbWFuZCBjb3VsZCBub3QgYmUgZXhlY3V0ZWQKKy5UUAorMTI3CitUaGUgcmVxdWVzdGVkIGNvbW1hbmQgd2FzIG5vdCBmb3VuZAorLlJFCisuU0ggRklMRVMKKy5QRCAwCisuVFAgMTcKKy9ldGMvcGFtLmQvc3UKK2RlZmF1bHQgUEFNIGNvbmZpZ3VyYXRpb24gZmlsZQorLlRQCisvZXRjL3BhbS5kL3N1LWwKK1BBTSBjb25maWd1cmF0aW9uIGZpbGUgaWYgXC1cLWxvZ2luIGlzIHNwZWNpZmllZAorLlRQCisvZXRjL2RlZmF1bHQvc3UKK2NvbW1hbmQgc3BlY2lmaWMgbG9naW5kZWYgY29uZmlnIGZpbGUKKy5UUAorL2V0Yy9sb2dpbi5kZWZzCitnbG9iYWwgbG9naW5kZWYgY29uZmlnIGZpbGUKKy5QRCAxCisuU0ggTk9URVMKK0ZvciBzZWN1cml0eSByZWFzb25zCisuQiBzdQorYWx3YXlzIGxvZ3MgZmFpbGVkIGxvZy1pbiBhdHRlbXB0cyB0byB0aGUgYnRtcCBmaWxlLCBidXQgaXQgZG9lcyBub3Qgd3JpdGUgdG8KK3RoZSBsYXN0bG9nIGZpbGUgYXQgYWxsLiAgVGhpcyBzb2x1dGlvbiBhbGxvd3MgdG8gY29udHJvbAorLkIgc3UKK2JlaGF2aW9yIGJ5IFBBTSBjb25maWd1cmF0aW9uLiAgSWYgeW91IHdhbnQgdG8gdXNlIHRoZSBwYW1fbGFzdGxvZyBtb2R1bGUgdG8KK3ByaW50IHdhcm5pbmcgbWVzc2FnZSBhYm91dCBmYWlsZWQgbG9nLWluIGF0dGVtcHRzIHRoZW4gdGhlIHBhbV9sYXN0bG9nIGhhcyB0bworYmUgY29uZmlndXJlZCB0byB1cGRhdGUgdGhlIGxhc3Rsb2cgZmlsZSBhcyB3ZWxsLiBGb3IgZXhhbXBsZSBieToKKworLlJTCisuYnIKK3Nlc3Npb24gIHJlcXVpcmVkICBwYW1fbGFzdGxvZy5zbyBub3d0bXAKKy5SRQorLlNIICJTRUUgQUxTTyIKKy5CUiBzZXRwcml2ICgxKSwKKy5CUiBsb2dpbi5kZWZzICg1KSwKKy5CUiBzaGVsbHMgKDUpLAorLkJSIHBhbSAoOCksCisuQlIgcnVudXNlciAoOCkKKy5TSCBISVNUT1JZCitUaGlzIFxmQnN1XGZSIGNvbW1hbmQgd2FzCitkZXJpdmVkIGZyb20gY29yZXV0aWxzJyBcZkJzdVxmUiwgd2hpY2ggd2FzIGJhc2VkIG9uIGFuIGltcGxlbWVudGF0aW9uIGJ5CitEYXZpZCBNYWNLZW56aWUuCisuU0ggQVZBSUxBQklMSVRZCitUaGUgc3UgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzCithdmFpbGFibGUgZnJvbQorLlVSIGZ0cDovL1w6ZnRwLmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvc3UuYyBiL2xvZ2luLXV0aWxzL3N1LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDljNjdmMwotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL3N1LmMKQEAgLTAsMCArMSw4IEBACisKKyNpbmNsdWRlICJzdS1jb21tb24uaCIKKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCXJldHVybiBzdV9tYWluKGFyZ2MsIGFyZ3YsIFNVX01PREUpOworfQorCmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy9zdWxvZ2luLWNvbnNvbGVzLmMgYi9sb2dpbi11dGlscy9zdWxvZ2luLWNvbnNvbGVzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTk1YjUxNgotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL3N1bG9naW4tY29uc29sZXMuYwpAQCAtMCwwICsxLDgyOCBAQAorLyoKKyAqIGNvbnNvbGVzLmMJICAgIFJvdXRpbmVzIHRvIGRldGVjdCB0aGUgc3lzdGVtIGNvbnNvbGVzCisgKgorICogQ29weXJpZ2h0IChjKSAyMDExIFN1U0UgTElOVVggUHJvZHVjdHMgR21iSCwgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMiBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAxMiBXZXJuZXIgRmluayA8d2VybmVyQHN1c2UuZGU+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24pCisgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbSAoc2VlIHRoZSBmaWxlIENPUFlJTkcpOyBpZiBub3QsIHdyaXRlIHRvIHRoZQorICogRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKiBBdXRob3I6IFdlcm5lciBGaW5rIDx3ZXJuZXJAc3VzZS5kZT4KKyAqLworCisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2lmZGVmIF9fbGludXhfXworIyBpbmNsdWRlIDxzeXMvdnQuaD4KKyMgaW5jbHVkZSA8c3lzL2tkLmg+CisjIGluY2x1ZGUgPGxpbnV4L3NlcmlhbC5oPgorIyBpbmNsdWRlIDxsaW51eC9tYWpvci5oPgorI2VuZGlmCisjaW5jbHVkZSA8ZGlyZW50Lmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaWZkZWYgVVNFX1NVTE9HSU5fRU1FUkdFTkNZX01PVU5UCisjIGluY2x1ZGUgPHN5cy9tb3VudC5oPgorIyBpbmNsdWRlIDxsaW51eC9mcy5oPgorIyBpbmNsdWRlIDxsaW51eC9tYWdpYy5oPgorIyBpZm5kZWYgTU5UX0RFVEFDSAorIyAgZGVmaW5lIE1OVF9ERVRBQ0ggICAyCisjIGVuZGlmCisjZW5kaWYKKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJjYW5vbmljYWxpemUuaCIKKyNpbmNsdWRlICJzdWxvZ2luLWNvbnNvbGVzLmgiCisKKyNpZiAhZGVmaW5lZChfX1NURENfVkVSU0lPTl9fKSB8fCAoX19TVERDX1ZFUlNJT05fXyA8IDE5OTkwMUwpCisjIGlmbmRlZiAgdHlwZW9mCisjICBkZWZpbmUgdHlwZW9mCQlfX3R5cGVvZl9fCisjIGVuZGlmCisjIGlmbmRlZiAgcmVzdHJpY3QKKyMgIGRlZmluZSByZXN0cmljdAkJX19yZXN0cmljdF9fCisjIGVuZGlmCisjZW5kaWYKKworI2RlZmluZSBhbGlnbm9mKHR5cGUpCQkoKHNpemVvZih0eXBlKSsoc2l6ZW9mKHZvaWQqKS0xKSkgJiB+KHNpemVvZih2b2lkKiktMSkpCisjZGVmaW5lIHN0cnNpemUoc3RyaW5nKQkJKHN0cmxlbigoc3RyaW5nKSkrMSkKKworc3RhdGljIGludCBjb25zb2xlc19kZWJ1ZzsKKyNkZWZpbmUgREJHKHgpCWRvIHsgXAorCQkJaWYgKGNvbnNvbGVzX2RlYnVnKSB7IFwKKwkJCQlmcHV0cygiY29uc29sZXMgZGVidWc6ICIsIHN0ZGVycik7IFwKKwkJCQl4OwkJCSAgICAgXAorCQkJfSBcCisJCX0gd2hpbGUgKDApCisKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyAoX19wcmludGZfXywgMSwgMikpKQorZGJncHJpbnQoY29uc3QgY2hhciAqbWVzZywgLi4uKQoreworCXZhX2xpc3QgYXA7CisJdmFfc3RhcnQoYXAsIG1lc2cpOworCXZmcHJpbnRmKHN0ZGVyciwgbWVzZywgYXApOworCXZhX2VuZChhcCk7CisJZnB1dGMoJ1xuJywgc3RkZXJyKTsKK30KKworI2lmZGVmIFVTRV9TVUxPR0lOX0VNRVJHRU5DWV9NT1VOVAorLyoKKyAqIE1ha2UgQyBsaWJyYXJ5IHN0YW5kYXJkIGNhbGxzIHN1Y2ggbGlrZSB0dHluYW1lKDMpIHdvcmsKKyAqIGV2ZW4gaWYgdGhlIHN5c3RlbSBkb2VzIG5vdCBzaG93IGFueSBvZiB0aGUgc3RhbmRhcmQKKyAqIGRpcmVjdG9yaWVzLgorICovCisKK3N0YXRpYyB1aW50MzJfdCBlbWVyZ2VuY3lfZmxhZ3M7CisjIGRlZmluZSBNTlRfUFJPQ0ZTICAgIDB4MDAwMQorIyBkZWZpbmUgTU5UX0RFVlRNUEZTICAweDAwMDIKKwordm9pZCBlbWVyZ2VuY3lfZG9fdW1vdW50cyh2b2lkKQoreworCWlmIChlbWVyZ2VuY3lfZmxhZ3MgJiBNTlRfREVWVE1QRlMpCisJCXVtb3VudDIoIi9kZXYiLCBNTlRfREVUQUNIKTsKKwlpZiAoZW1lcmdlbmN5X2ZsYWdzICYgTU5UX1BST0NGUykKKwkJdW1vdW50MigiL3Byb2MiLCBNTlRfREVUQUNIKTsKK30KKwordm9pZCBlbWVyZ2VuY3lfZG9fbW91bnRzKHZvaWQpCit7CisJc3RydWN0IHN0YXQgcnQsIHh0OworCisJaWYgKGVtZXJnZW5jeV9mbGFncykgeworCQllbWVyZ2VuY3lfZmxhZ3MgPSAwOworCQlyZXR1cm47CisJfQorCisJaWYgKHN0YXQoIi8iLCAmcnQpICE9IDApIHsKKwkJd2FybigiY2FuIG5vdCBnZXQgZmlsZSBzdGF0dXMgb2Ygcm9vdCBmaWxlIHN5c3RlbVxuIik7CisJCXJldHVybjsKKwl9CisKKwlpZiAoc3RhdCgiL3Byb2MiLCAmeHQpID09IDAKKwkgICAgJiYgcnQuc3RfZGV2ID09IHh0LnN0X2RldgorCSAgICAmJiBtb3VudCgicHJvYyIsICIvcHJvYyIsICJwcm9jIiwgTVNfUkVMQVRJTUUsIE5VTEwpID09IDApCisJCWVtZXJnZW5jeV9mbGFncyB8PSBNTlRfUFJPQ0ZTOworCisJaWYgKHN0YXQoIi9kZXYiLCAmeHQpID09IDAKKwkgICAgJiYgcnQuc3RfZGV2ID09IHh0LnN0X2RldgorCSAgICAmJiBtb3VudCgiZGV2dG1wZnMiLCAiL2RldiIsICJkZXZ0bXBmcyIsCisJCSAgICAgTVNfUkVMQVRJTUUsICJtb2RlPTA3NTUsbnJfaW5vZGVzPTAiKSA9PSAwKSB7CisKKwkJZW1lcmdlbmN5X2ZsYWdzIHw9IE1OVF9ERVZUTVBGUzsKKwkJbWtub2QoIi9kZXYvY29uc29sZSIsIFNfSUZDSFJ8U19JUlVTUnxTX0lXVVNSLAorCQkJCQltYWtlZGV2KFRUWUFVWF9NQUpPUiwgMSkpOworCisJCWlmIChzeW1saW5rKCIvcHJvYy9zZWxmL2ZkIiwgIi9kZXYvZmQiKSA9PSAwKSB7CisJCQlpZ25vcmVfcmVzdWx0KCBzeW1saW5rKCJmZC8wIiwgIi9kZXYvc3RkaW4iKSApOworCQkJaWdub3JlX3Jlc3VsdCggc3ltbGluaygiZmQvMSIsICIvZGV2L3N0ZG91dCIpICk7CisJCQlpZ25vcmVfcmVzdWx0KCBzeW1saW5rKCJmZC8yIiwgIi9kZXYvc3RkZXJyIikgKTsKKwkJfQorCX0KK30KKworI2Vsc2UgLyogIVVTRV9TVUxPR0lOX0VNRVJHRU5DWV9NT1VOVCAqLworCit2b2lkIGVtZXJnZW5jeV9kb191bW91bnRzKHZvaWQpIHsgfQordm9pZCBlbWVyZ2VuY3lfZG9fbW91bnRzKHZvaWQpIHsgfQorCisjZW5kaWYgLyogVVNFX1NVTE9HSU5fRU1FUkdFTkNZX01PVU5UICovCisKKy8qCisgKiBSZWFkIGFuZCBhbGxvY2F0ZSBvbmUgbGluZSBmcm9tIGZpbGUsCisgKiB0aGUgY2FsbGVyIGhhcyB0byBmcmVlIHRoZSByZXN1bHQKKyAqLworc3RhdGljIF9fYXR0cmlidXRlX18oKF9fbm9ubnVsbF9fKSkKK2NoYXIgKm9uZWxpbmUoY29uc3QgY2hhciAqZmlsZSkKK3sKKwlGSUxFICpmcDsKKwljaGFyICpyZXQgPSBOVUxMOworCXNpemVfdCBkdW1teSA9IDA7CisJc3NpemVfdCBsZW47CisKKwlEQkcoZGJncHJpbnQoInJlYWRpbmcgJXMiLCBmaWxlKSk7CisKKwlpZiAoIShmcCA9IGZvcGVuKGZpbGUsICJyIiBVTF9DTE9FWEVDU1RSKSkpCisJCXJldHVybiBOVUxMOworCWxlbiA9IGdldGxpbmUoJnJldCwgJmR1bW15LCBmcCk7CisJaWYgKGxlbiA+PSAwKSB7CisJCWNoYXIgKm5sOworCisJCWlmIChsZW4pCisJCQlyZXRbbGVuLTFdID0gJ1wwJzsKKwkJaWYgKChubCA9IHN0cmNocihyZXQsICdcbicpKSkKKwkJCSpubCA9ICdcMCc7CisJfQorCisJZmNsb3NlKGZwKTsKKwlyZXR1cm4gcmV0OworfQorCisjaWZkZWYgX19saW51eF9fCisvKgorICogIFJlYWQgYW5kIGRldGVybWluZSBhY3RpdmUgYXR0cmlidXRlIGZvciB0dHkgYmVsb3cKKyAqICAvc3lzL2NsYXNzL3R0eSwgdGhlIGNhbGxlciBoYXMgdG8gZnJlZSB0aGUgcmVzdWx0LgorICovCitzdGF0aWMgX19hdHRyaWJ1dGVfXygoX19tYWxsb2NfXykpCitjaGFyICphY3RhdHRyKGNvbnN0IGNoYXIgKnR0eSkKK3sKKwljaGFyICpyZXQsICpwYXRoOworCisJaWYgKCF0dHkgfHwgISp0dHkpCisJCXJldHVybiBOVUxMOworCWlmIChhc3ByaW50ZigmcGF0aCwgIi9zeXMvY2xhc3MvdHR5LyVzL2FjdGl2ZSIsIHR0eSkgPCAwKQorCQlyZXR1cm4gTlVMTDsKKworCXJldCA9IG9uZWxpbmUocGF0aCk7CisJZnJlZShwYXRoKTsKKwlyZXR1cm4gcmV0OworfQorCisvKgorICogUmVhZCBhbmQgZGV0ZXJtaW5lIGRldmljZSBhdHRyaWJ1dGUgZm9yIHR0eSBiZWxvdworICogL3N5cy9jbGFzcy90dHkuCisgKi8KK3N0YXRpYworZGV2X3QgZGV2YXR0cihjb25zdCBjaGFyICp0dHkpCit7CisJZGV2X3QgZGV2ID0gMDsKKwljaGFyICpwYXRoLCAqdmFsdWU7CisKKwlpZiAoIXR0eSB8fCAhKnR0eSkKKwkJcmV0dXJuIDA7CisJaWYgKGFzcHJpbnRmKCZwYXRoLCAiL3N5cy9jbGFzcy90dHkvJXMvZGV2IiwgdHR5KSA8IDApCisJCXJldHVybiAwOworCisJdmFsdWUgPSBvbmVsaW5lKHBhdGgpOworCWlmICh2YWx1ZSkgeworCQl1bnNpZ25lZCBpbnQgbWFqLCBtaW47CisKKwkJaWYgKHNzY2FuZih2YWx1ZSwgIiV1OiV1IiwgJm1haiwgJm1pbikgPT0gMikKKwkJCWRldiA9IG1ha2VkZXYobWFqLCBtaW4pOworCQlmcmVlKHZhbHVlKTsKKwl9CisKKwlmcmVlKHBhdGgpOworCXJldHVybiBkZXY7Cit9CisjZW5kaWYgLyogX19saW51eF9fICovCisKKy8qCisgKiBTZWFyY2ggYmVsb3cgL2RldiBmb3IgdGhlIGNoYXJhY3RlciBkZXZpY2UgaW4gYGRldl90IGNvbXBhcmVkZXYnIHZhcmlhYmxlLgorICogTm90ZSB0aGF0IHJlYWxwYXRoKDMpIGlzIHVzZWQgaGVyZSB0byBhdm9pZCBub3QgZXhpc3RlbnQgZGV2aWNlcyBkdWUgdGhlCisgKiBzdHJkdXAoMykgdXNlZCBpbiBvdXIgY2Fub25pY2FsaXplX3BhdGgoKSEKKyAqLworc3RhdGljCisjaWZkZWYgX19HTlVDX18KK19fYXR0cmlidXRlX18oKF9fbm9ubnVsbF9fLF9fbWFsbG9jX18sX19ob3RfXykpCisjZW5kaWYKK2NoYXIqIHNjYW5kZXYoRElSICpkaXIsIGRldl90IGNvbXBhcmVkZXYpCit7CisJY2hhciBwYXRoW1BBVEhfTUFYXTsKKwljaGFyICpuYW1lID0gTlVMTDsKKwlzdHJ1Y3QgZGlyZW50ICpkZW50OworCWludCBsZW4sIGZkOworCisJREJHKGRiZ3ByaW50KCJzY2FubmluZyAvZGV2IGZvciAldToldSIsIG1ham9yKGNvbXBhcmVkZXYpLCBtaW5vcihjb21wYXJlZGV2KSkpOworCisJLyoKKwkgKiBUcnkgdWRldiBsaW5rcyBvbiBjaGFyYWN0ZXIgZGV2aWNlcyBmaXJzdC4KKwkgKi8KKwlpZiAoKGxlbiA9IHNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwKKwkJCSAgICAiL2Rldi9jaGFyLyV1OiV1IiwgbWFqb3IoY29tcGFyZWRldiksIG1pbm9yKGNvbXBhcmVkZXYpKSkgPiAwICYmCisJICAgIChzaXplX3QpbGVuIDwgc2l6ZW9mKHBhdGgpKSB7CisKKwkgICAgbmFtZSA9IHJlYWxwYXRoKHBhdGgsIE5VTEwpOworCSAgICBpZiAobmFtZSkKKwkJICAgIGdvdG8gb3V0OworCX0KKworCWZkID0gZGlyZmQoZGlyKTsKKwlyZXdpbmRkaXIoZGlyKTsKKwl3aGlsZSAoKGRlbnQgPSByZWFkZGlyKGRpcikpKSB7CisJCXN0cnVjdCBzdGF0IHN0OworCisjaWZkZWYgX0RJUkVOVF9IQVZFX0RfVFlQRQorCQlpZiAoZGVudC0+ZF90eXBlICE9IERUX1VOS05PV04gJiYgZGVudC0+ZF90eXBlICE9IERUX0NIUikKKwkJCWNvbnRpbnVlOworI2VuZGlmCisJCWlmIChmc3RhdGF0KGZkLCBkZW50LT5kX25hbWUsICZzdCwgMCkgPCAwKQorCQkJY29udGludWU7CisJCWlmICghU19JU0NIUihzdC5zdF9tb2RlKSkKKwkJCWNvbnRpbnVlOworCQlpZiAoY29tcGFyZWRldiAhPSBzdC5zdF9yZGV2KQorCQkJY29udGludWU7CisJCWlmICgobGVuID0gc25wcmludGYocGF0aCwgc2l6ZW9mKHBhdGgpLCAiL2Rldi8lcyIsIGRlbnQtPmRfbmFtZSkpIDwgMCB8fAorCQkgICAgKHNpemVfdClsZW4gPj0gc2l6ZW9mKHBhdGgpKQorCQkJY29udGludWU7CisKKwkJbmFtZSA9IHJlYWxwYXRoKHBhdGgsIE5VTEwpOworCQlpZiAobmFtZSkKKwkJCWdvdG8gb3V0OworCX0KKworI2lmZGVmIFVTRV9TVUxPR0lOX0VNRVJHRU5DWV9NT1VOVAorCS8qCisJICogVGhlcmUgd2FzIG5vIC9kZXYgbW91bnRlZCBoZW5jZSBhbmQgbm8gZGV2aWNlIHdhcyBmb3VuZCBoZW5jZSB3ZSBjcmVhdGUgb3VyIG93bi4KKwkgKi8KKwlpZiAoIW5hbWUgJiYgKGVtZXJnZW5jeV9mbGFncyAmIE1OVF9ERVZUTVBGUykpIHsKKworCQlpZiAoKGxlbiA9IHNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwKKwkJCQkgICAgIi9kZXYvdG1wLSV1OiV1IiwgbWFqb3IoY29tcGFyZWRldiksIG1pbm9yKGNvbXBhcmVkZXYpKSkgPCAwIHx8CisJCSAgICAoc2l6ZV90KWxlbiA+PSBzaXplb2YocGF0aCkpCisJCQlnb3RvIG91dDsKKworCQlpZiAobWtub2QocGF0aCwgU19JRkNIUnxTX0lSVVNSfFNfSVdVU1IsIGNvbXBhcmVkZXYpIDwgMCAmJiBlcnJubyAhPSBFRVhJU1QpCisJCQlnb3RvIG91dDsKKworCQluYW1lID0gcmVhbHBhdGgocGF0aCwgTlVMTCk7CisJfQorI2VuZGlmCitvdXQ6CisJcmV0dXJuIG5hbWU7Cit9CisKKy8qCisgKiBEZWZhdWx0IGNvbnRyb2wgY2hhcmFjdGVycyBmb3IgYW4gdW5rbm93biB0ZXJtaW5hbCBsaW5lLgorICovCisKKy8qCisgKiBBbGxvY2F0ZSBhbiBhbGlnbmVkIGBzdHJ1Y3QgY29uc29sZScgbWVtb3J5IGFyZWEsCisgKiBpbml0aWFsaXplIGl0cyBkZWZhdWx0IHZhbHVlcywgYW5kIGFwcGVuZCBpdCB0bworICogdGhlIGdsb2JhbCBsaW5rZWQgbGlzdC4KKyAqLworc3RhdGljCisjaWZkZWYgX19HTlVDX18KK19fYXR0cmlidXRlX18oKF9faG90X18pKQorI2VuZGlmCitpbnQgYXBwZW5kX2NvbnNvbGUoc3RydWN0IGxpc3RfaGVhZCAqY29uc29sZXMsIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJc3RydWN0IGNvbnNvbGUgKnJlc3RyaWN0IHRhaWw7CisJc3RydWN0IGNvbnNvbGUgKmxhc3QgPSBOVUxMOworCisJREJHKGRiZ3ByaW50KCJhcHBlbmdpbmcgJXMiLCBuYW1lKSk7CisKKwlpZiAoIWxpc3RfZW1wdHkoY29uc29sZXMpKQorCQlsYXN0ID0gbGlzdF9sYXN0X2VudHJ5KGNvbnNvbGVzLCBzdHJ1Y3QgY29uc29sZSwgZW50cnkpOworCisJaWYgKHBvc2l4X21lbWFsaWduKCh2b2lkICopICZ0YWlsLCBzaXplb2Yodm9pZCAqKSwKKwkJCSAgIGFsaWdub2Yoc3RydWN0IGNvbnNvbGUpICsgc3Ryc2l6ZShuYW1lKSkgIT0gMCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlJTklUX0xJU1RfSEVBRCgmdGFpbC0+ZW50cnkpOworCUlOSVRfQ0hBUkRBVEEoJnRhaWwtPmNwKTsKKworCWxpc3RfYWRkX3RhaWwoJnRhaWwtPmVudHJ5LCBjb25zb2xlcyk7CisJdGFpbC0+dHR5ID0gKChjaGFyICopIHRhaWwpICsgYWxpZ25vZihzdHJ1Y3QgY29uc29sZSk7CisJc3RyY3B5KHRhaWwtPnR0eSwgbmFtZSk7CisKKwl0YWlsLT5maWxlID0gKEZJTEUqKTA7CisJdGFpbC0+ZmxhZ3MgPSAwOworCXRhaWwtPmZkID0gLTE7CisJdGFpbC0+aWQgPSBsYXN0ID8gbGFzdC0+aWQgKyAxIDogMDsKKwl0YWlsLT5waWQgPSAtMTsKKwltZW1zZXQoJnRhaWwtPnRpbywgMCwgc2l6ZW9mKHRhaWwtPnRpbykpOworCisJcmV0dXJuIDA7Cit9CisKKyNpZmRlZiBfX2xpbnV4X18KKy8qCisgKiByZXR1cm4gY29kZXM6CisgKgk8IDAJLSBmYXRhbCBlcnJvciAobm8gbWVtIG9yIHNvLi4uICkKKyAqCSAgMAktIHN1Y2Nlc3MKKyAqCSAgMQktIHJlY292ZXJhYmxlIGVycm9yCisgKgkgIDIJLSBkZXRlY3Rpb24gbm90IGF2YWlsYWJsZQorICovCitzdGF0aWMgaW50IGRldGVjdF9jb25zb2xlc19mcm9tX3Byb2Moc3RydWN0IGxpc3RfaGVhZCAqY29uc29sZXMpCit7CisJY2hhciBmYnVmWzE2ICsgMV07CisJRElSICpkaXIgPSBOVUxMOworCUZJTEUgKmZjID0gTlVMTDsKKwlpbnQgbWFqLCBtaW4sIHJjID0gMSwgbWF0Y2hlczsKKworCURCRyhkYmdwcmludCgidHJ5aW5nIC9wcm9jIikpOworCisJZmMgPSBmb3BlbigiL3Byb2MvY29uc29sZXMiLCAiciIgVUxfQ0xPRVhFQ1NUUik7CisJaWYgKCFmYykgeworCQlyYyA9IDI7CisJCWdvdG8gZG9uZTsKKwl9CisJZGlyID0gb3BlbmRpcigiL2RldiIpOworCWlmICghZGlyKQorCQlnb3RvIGRvbmU7CisKKwl3aGlsZSAoKG1hdGNoZXMgPSBmc2NhbmYoZmMsICIlKnMgJSpzICglMTZbXildKSAlZDolZCIsIGZidWYsICZtYWosICZtaW4pKSA+PSAxKSB7CisJCWNoYXIgKm5hbWU7CisJCWRldl90IGNvbXBhcmVkZXY7CisKKwkJaWYgKG1hdGNoZXMgIT0gMykKKwkJCWNvbnRpbnVlOworCQlpZiAoIXN0cmNocihmYnVmLCAnRScpKQorCQkJY29udGludWU7CisJCWNvbXBhcmVkZXYgPSBtYWtlZGV2KG1haiwgbWluKTsKKwkJbmFtZSA9IHNjYW5kZXYoZGlyLCBjb21wYXJlZGV2KTsKKwkJaWYgKCFuYW1lKQorCQkJY29udGludWU7CisJCXJjID0gYXBwZW5kX2NvbnNvbGUoY29uc29sZXMsIG5hbWUpOworCQlmcmVlKG5hbWUpOworCQlpZiAocmMgPCAwKQorCQkJZ290byBkb25lOworCX0KKworCXJjID0gbGlzdF9lbXB0eShjb25zb2xlcykgPyAxIDogMDsKK2RvbmU6CisJaWYgKGRpcikKKwkJY2xvc2VkaXIoZGlyKTsKKwlpZiAoZmMpCisJCWZjbG9zZShmYyk7CisJREJHKGRiZ3ByaW50KCJbL3Byb2MgcmM9JWRdIiwgcmMpKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiByZXR1cm4gY29kZXM6CisgKgk8IDAJLSBmYXRhbCBlcnJvciAobm8gbWVtIG9yIHNvLi4uICkKKyAqCSAgMAktIHN1Y2Nlc3MKKyAqCSAgMQktIHJlY292ZXJhYmxlIGVycm9yCisgKgkgIDIJLSBkZXRlY3Rpb24gbm90IGF2YWlsYWJsZQorICovCitzdGF0aWMgaW50IGRldGVjdF9jb25zb2xlc19mcm9tX3N5c2ZzKHN0cnVjdCBsaXN0X2hlYWQgKmNvbnNvbGVzKQoreworCWNoYXIgKmF0dHJpYiA9IE5VTEwsICp3b3JkcywgKnRva2VuOworCURJUiAqZGlyID0gTlVMTDsKKwlpbnQgcmMgPSAxOworCisJREJHKGRiZ3ByaW50KCJ0cnlpbmcgL3N5cyIpKTsKKworCWF0dHJpYiA9IGFjdGF0dHIoImNvbnNvbGUiKTsKKwlpZiAoIWF0dHJpYikgeworCQlyYyA9IDI7CisJCWdvdG8gZG9uZTsKKwl9CisKKwl3b3JkcyA9IGF0dHJpYjsKKworCWRpciA9IG9wZW5kaXIoIi9kZXYiKTsKKwlpZiAoIWRpcikKKwkJZ290byBkb25lOworCisJd2hpbGUgKCh0b2tlbiA9IHN0cnNlcCgmd29yZHMsICIgXHRcclxuIikpKSB7CisJCWNoYXIgKm5hbWU7CisJCWRldl90IGNvbXBhcmVkZXY7CisKKwkJaWYgKCp0b2tlbiA9PSAnXDAnKQorCQkJY29udGludWU7CisKKwkJY29tcGFyZWRldiA9IGRldmF0dHIodG9rZW4pOworCQlpZiAoY29tcGFyZWRldiA9PSBtYWtlZGV2KFRUWV9NQUpPUiwgMCkpIHsKKwkJCWNoYXIgKnRtcCA9IGFjdGF0dHIodG9rZW4pOworCQkJaWYgKCF0bXApCisJCQkJY29udGludWU7CisJCQljb21wYXJlZGV2ID0gZGV2YXR0cih0bXApOworCQkJZnJlZSh0bXApOworCQl9CisKKwkJbmFtZSA9IHNjYW5kZXYoZGlyLCBjb21wYXJlZGV2KTsKKwkJaWYgKCFuYW1lKQorCQkJY29udGludWU7CisJCXJjID0gYXBwZW5kX2NvbnNvbGUoY29uc29sZXMsIG5hbWUpOworCQlmcmVlKG5hbWUpOworCQlpZiAocmMgPCAwKQorCQkJZ290byBkb25lOworCX0KKworCXJjID0gbGlzdF9lbXB0eShjb25zb2xlcykgPyAxIDogMDsKK2RvbmU6CisJZnJlZShhdHRyaWIpOworCWlmIChkaXIpCisJCWNsb3NlZGlyKGRpcik7CisJREJHKGRiZ3ByaW50KCJbL3N5cyByYz0lZF0iLCByYykpOworCXJldHVybiByYzsKK30KKworCitzdGF0aWMgaW50IGRldGVjdF9jb25zb2xlc19mcm9tX2NtZGxpbmUoc3RydWN0IGxpc3RfaGVhZCAqY29uc29sZXMpCit7CisJY2hhciAqY21kbGluZSwgKndvcmRzLCAqdG9rZW47CisJZGV2X3QgY29tcGFyZWRldjsKKwlESVIgKmRpciA9IE5VTEw7CisJaW50IHJjID0gMSwgZmQ7CisKKwlEQkcoZGJncHJpbnQoInRyeWluZyBrZXJuZWwgY21kbGluZSIpKTsKKworCWNtZGxpbmUgPSBvbmVsaW5lKCIvcHJvYy9jbWRsaW5lIik7CisJaWYgKCFjbWRsaW5lKSB7CisJCXJjID0gMjsKKwkJZ290byBkb25lOworCX0KKworCXdvcmRzPSBjbWRsaW5lOworCWRpciA9IG9wZW5kaXIoIi9kZXYiKTsKKwlpZiAoIWRpcikKKwkJZ290byBkb25lOworCisJd2hpbGUgKCh0b2tlbiA9IHN0cnNlcCgmd29yZHMsICIgXHRcclxuIikpKSB7CisjaWZkZWYgVElPQ0dERVYKKwkJdW5zaWduZWQgaW50IGRldm51bTsKKyNlbHNlCisJCXN0cnVjdCB2dF9zdGF0IHZ0OworCQlzdHJ1Y3Qgc3RhdCBzdDsKKyNlbmRpZgorCQljaGFyICpjb2xvbiwgKm5hbWU7CisKKwkJaWYgKCp0b2tlbiAhPSAnYycpCisJCQljb250aW51ZTsKKwkJaWYgKHN0cm5jbXAodG9rZW4sICJjb25zb2xlPSIsIDgpICE9IDApCisJCQljb250aW51ZTsKKwkJdG9rZW4gKz0gODsKKworCQlpZiAoc3RyY21wKHRva2VuLCAiYnJsIikgPT0gMCkKKwkJCXRva2VuICs9IDQ7CisJCWlmICgoY29sb24gPSBzdHJjaHIodG9rZW4sICcsJykpKQorCQkJKmNvbG9uID0gJ1wwJzsKKworCQlpZiAoYXNwcmludGYoJm5hbWUsICIvZGV2LyVzIiwgdG9rZW4pIDwgMCkKKwkJCWNvbnRpbnVlOworCQlpZiAoKGZkID0gb3BlbihuYW1lLCBPX1JEV1J8T19OT05CTE9DS3xPX05PQ1RUWXxPX0NMT0VYRUMpKSA8IDApIHsKKwkJCWZyZWUobmFtZSk7CisJCQljb250aW51ZTsKKwkJfQorCQlmcmVlKG5hbWUpOworI2lmZGVmIFRJT0NHREVWCisJCWlmIChpb2N0bCAoZmQsIFRJT0NHREVWLCAmZGV2bnVtKSA8IDApIHsKKwkJCWNsb3NlKGZkKTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWNvbXBhcmVkZXYgPSAoZGV2X3QpIGRldm51bTsKKyNlbHNlCisJCWlmIChmc3RhdChmZCwgJnN0KSA8IDApIHsKKwkJCWNsb3NlKGZkKTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWNvbXBhcmVkZXYgPSBzdC5zdF9yZGV2OworCQlpZiAoY29tcGFyZWRldiA9PSBtYWtlZGV2KFRUWV9NQUpPUiwgMCkpIHsKKwkJCWlmIChpb2N0bChmZCwgVlRfR0VUU1RBVEUsICZ2dCkgPCAwKSB7CisJCQkJY2xvc2UoZmQpOworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJY29tcGFyZWRldiA9IG1ha2VkZXYoVFRZX01BSk9SLCAoaW50KXZ0LnZfYWN0aXZlKTsKKwkJfQorI2VuZGlmCisJCWNsb3NlKGZkKTsKKworCQluYW1lID0gc2NhbmRldihkaXIsIGNvbXBhcmVkZXYpOworCQlpZiAoIW5hbWUpCisJCQljb250aW51ZTsKKwkJcmMgPSBhcHBlbmRfY29uc29sZShjb25zb2xlcywgbmFtZSk7CisJCWZyZWUobmFtZSk7CisJCWlmIChyYyA8IDApCisJCQlnb3RvIGRvbmU7CisJfQorCisJcmMgPSBsaXN0X2VtcHR5KGNvbnNvbGVzKSA/IDEgOiAwOworZG9uZToKKwlpZiAoZGlyKQorCQljbG9zZWRpcihkaXIpOworCWZyZWUoY21kbGluZSk7CisJREJHKGRiZ3ByaW50KCJba2VybmVsIGNtZGxpbmUgcmM9JWRdIiwgcmMpKTsKKwlyZXR1cm4gcmM7Cit9CisKKyNpZmRlZiBUSU9DR0RFVgorc3RhdGljIGludCBkZXRlY3RfY29uc29sZXNfZnJvbV90aW9jZ2RldihzdHJ1Y3QgbGlzdF9oZWFkICpjb25zb2xlcywKKwkJCQkJaW50IGZhbGxiYWNrLAorCQkJCQljb25zdCBjaGFyICpkZXZpY2UpCit7CisJdW5zaWduZWQgaW50IGRldm51bTsKKwljaGFyICpuYW1lOworCWludCByYyA9IDEsIGZkID0gLTE7CisJZGV2X3QgY29tcGFyZWRldjsKKwlESVIgKmRpciA9IE5VTEw7CisJc3RydWN0IGNvbnNvbGUgKmNvbnNvbGU7CisKKwlEQkcoZGJncHJpbnQoInRyeWluZyB0aW9jZ2RldiIpKTsKKworCWlmICghZGV2aWNlIHx8ICEqZGV2aWNlKQorCQlmZCA9IGR1cChmYWxsYmFjayk7CisJZWxzZQorCQlmZCA9IG9wZW4oZGV2aWNlLCBPX1JEV1J8T19OT05CTE9DS3xPX05PQ1RUWXxPX0NMT0VYRUMpOworCisJaWYgKGZkIDwgMCkKKwkJZ290byBkb25lOworCWlmIChpb2N0bCAoZmQsIFRJT0NHREVWLCAmZGV2bnVtKSA8IDApCisJCWdvdG8gZG9uZTsKKworCWNvbXBhcmVkZXYgPSAoZGV2X3QpIGRldm51bTsKKwlkaXIgPSBvcGVuZGlyKCIvZGV2Iik7CisJaWYgKCFkaXIpCisJCWdvdG8gZG9uZTsKKworCW5hbWUgPSBzY2FuZGV2KGRpciwgY29tcGFyZWRldik7CisJY2xvc2VkaXIoZGlyKTsKKworCWlmICghbmFtZSkgeworCQluYW1lID0gKGNoYXIgKikgKGRldmljZSAmJiAqZGV2aWNlID8gZGV2aWNlIDogdHR5bmFtZShmYWxsYmFjaykpOworCQlpZiAoIW5hbWUpCisJCQluYW1lID0gIi9kZXYvdHR5MSI7CisKKwkJbmFtZSA9IHN0cmR1cChuYW1lKTsKKwkJaWYgKCFuYW1lKSB7CisJCQlyYyA9IC1FTk9NRU07CisJCQlnb3RvIGRvbmU7CisJCX0KKwl9CisJcmMgPSBhcHBlbmRfY29uc29sZShjb25zb2xlcywgbmFtZSk7CisJZnJlZShuYW1lKTsKKwlpZiAocmMgPCAwKQorCQlnb3RvIGRvbmU7CisJaWYgKGxpc3RfZW1wdHkoY29uc29sZXMpKSB7CisJCXJjID0gMTsKKwkJZ290byBkb25lOworCX0KKwljb25zb2xlID0gbGlzdF9sYXN0X2VudHJ5KGNvbnNvbGVzLCBzdHJ1Y3QgY29uc29sZSwgZW50cnkpOworCWlmIChjb25zb2xlICYmICAoIWRldmljZSB8fCAhKmRldmljZSkpCisJCWNvbnNvbGUtPmZkID0gZmFsbGJhY2s7Citkb25lOgorCWlmIChmZCA+PSAwKQorCQljbG9zZShmZCk7CisJREJHKGRiZ3ByaW50KCJbdGlvY2dkZXYgcmM9JWRdIiwgcmMpKTsKKwlyZXR1cm4gcmM7Cit9CisjZW5kaWYgLyogVElPQ0dERVYgKi8KKyNlbmRpZiAvKiBfX2xpbnV4X18gKi8KKworLyoKKyAqIFRyeSB0byBkZXRlY3QgdGhlIHJlYWwgZGV2aWNlKHMpIHVzZWQgZm9yIHRoZSBzeXN0ZW0gY29uc29sZQorICogL2Rldi9jb25zb2xlIGlmIGJ1dCBvbmx5IGlmIC9kZXYvY29uc29sZSBpcyB1c2VkLiAgT24gTGludXgKKyAqIHRoaXMgY2FuIGJlIG1vcmUgdGhhbiBvbmUgZGV2aWNlLCBlLmcuIGEgc2VyaWFsIGxpbmUgYXMgd2VsbAorICogYXMgYSB2aXJ0dWFsIGNvbnNvbGUgYXMgd2VsbCBhcyBhIHNpbXBsZSBwcmludGVyLgorICoKKyAqIFJldHVybnMgMSBpZiBzdGRvdXQgYW5kIHN0ZGVyciBzaG91bGQgYmUgcmVjb25uZWN0ZWQgYW5kIDAKKyAqIG90aGVyd2lzZSBvciBsZXNzIHRoYW4gemVybyBvbiBlcnJvci4KKyAqLworaW50IGRldGVjdF9jb25zb2xlcyhjb25zdCBjaGFyICpkZXZpY2UsIGludCBmYWxsYmFjaywgc3RydWN0IGxpc3RfaGVhZCAqY29uc29sZXMpCit7CisJaW50IGZkLCByZWNvbm5lY3QgPSAwLCByYzsKKwlkZXZfdCBjb21wYXJlZGV2ID0gMDsKKworCWNvbnNvbGVzX2RlYnVnID0gZ2V0ZW52KCJDT05TT0xFU19ERUJVRyIpID8gMSA6IDA7CisKKwlpZiAoIWRldmljZSB8fCAhKmRldmljZSkKKwkJZmQgPSBmYWxsYmFjayA+PSAwID8gZHVwKGZhbGxiYWNrKSA6IC0gMTsKKwllbHNlIHsKKwkJZmQgPSBvcGVuKGRldmljZSwgT19SRFdSfE9fTk9OQkxPQ0t8T19OT0NUVFl8T19DTE9FWEVDKTsKKwkJcmVjb25uZWN0ID0gMTsKKwl9CisKKwlEQkcoZGJncHJpbnQoImRldGVjdGlvbiBzdGFydGVkIFtkZXZpY2U9JXMsIGZhbGxiYWNrPSVkXSIsCisJCQkJZGV2aWNlLCBmYWxsYmFjaykpOworCisJaWYgKGZkID49IDApIHsKKwkJRElSICpkaXI7CisJCWNoYXIgKm5hbWU7CisJCXN0cnVjdCBzdGF0IHN0OworI2lmZGVmIFRJT0NHREVWCisJCXVuc2lnbmVkIGludCBkZXZudW07CisjZW5kaWYKKyNpZmRlZiBfX0dOVV9fCisJCS8qCisJCSAqIFRoZSBIdXJkIGFsd2F5cyBnaXZlcyBzdF9yZGV2IGFzIDAsIHdoaWNoIGNhdXNlcyB0aGlzCisJCSAqIG1ldGhvZCB0byBzZWxlY3QgdGhlIGZpcnN0IHRlcm1pbmFsIGl0IGZpbmRzLgorCQkgKi8KKwkJY2xvc2UoZmQpOworCQlnb3RvIGZhbGxiYWNrOworI2VuZGlmCisJCURCRyhkYmdwcmludCgidHJ5aW5nIGRldmljZS9mYWxsYmFjayBmaWxlIGRlc2NyaXB0b3IiKSk7CisKKwkJaWYgKGZzdGF0KGZkLCAmc3QpIDwgMCkgeworCQkJY2xvc2UoZmQpOworCQkJZ290byBmYWxsYmFjazsKKwkJfQorCQljb21wYXJlZGV2ID0gc3Quc3RfcmRldjsKKworCQlpZiAocmVjb25uZWN0ICYmCisJCSAgICAoZnN0YXQoZmFsbGJhY2ssICZzdCkgPCAwIHx8IGNvbXBhcmVkZXYgIT0gc3Quc3RfcmRldikpCisJCQlkdXAyKGZkLCBmYWxsYmFjayk7CisjaWZkZWYgX19saW51eF9fCisJCS8qCisJCSAqIENoZWNrIGlmIHRoZSBkZXZpY2UgZGV0ZWN0aW9uIGZvciBMaW51eCBzeXN0ZW0gY29uc29sZSBzaG91bGQgYmUgdXNlZC4KKwkJICovCisJCWlmIChjb21wYXJlZGV2ID09IG1ha2VkZXYoVFRZQVVYX01BSk9SLCAwKSkgewkvKiAvZGV2L3R0eQkqLworCQkJY2xvc2UoZmQpOworCQkJZGV2aWNlID0gIi9kZXYvdHR5IjsKKwkJCWdvdG8gZmFsbGJhY2s7CisJCX0KKwkJaWYgKGNvbXBhcmVkZXYgPT0gbWFrZWRldihUVFlBVVhfTUFKT1IsIDEpKSB7CS8qIC9kZXYvY29uc29sZSAqLworCQkJY2xvc2UoZmQpOworCQkJZ290byBjb25zb2xlOworCQl9CisJCWlmIChjb21wYXJlZGV2ID09IG1ha2VkZXYoVFRZQVVYX01BSk9SLCAyKSkgewkvKiAvZGV2L3B0bXgJKi8KKwkJCWNsb3NlKGZkKTsKKwkJCWRldmljZSA9ICIvZGV2L3R0eSI7CisJCQlnb3RvIGZhbGxiYWNrOworCQl9CisJCWlmIChjb21wYXJlZGV2ID09IG1ha2VkZXYoVFRZX01BSk9SLCAwKSkgewkvKiAvZGV2L3R0eTAJKi8KKwkJCXN0cnVjdCB2dF9zdGF0IHZ0OworCQkJaWYgKGlvY3RsKGZkLCBWVF9HRVRTVEFURSwgJnZ0KSA8IDApIHsKKwkJCQljbG9zZShmZCk7CisJCQkJZ290byBmYWxsYmFjazsKKwkJCX0KKwkJCWNvbXBhcmVkZXYgPSBtYWtlZGV2KFRUWV9NQUpPUiwgKGludCl2dC52X2FjdGl2ZSk7CisJCX0KKyNlbmRpZgorI2lmZGVmIFRJT0NHREVWCisJCWlmIChpb2N0bCAoZmQsIFRJT0NHREVWLCAmZGV2bnVtKSA8IDApIHsKKwkJCWNsb3NlKGZkKTsKKwkJCWdvdG8gZmFsbGJhY2s7CisJCX0KKwkJY29tcGFyZWRldiA9IChkZXZfdClkZXZudW07CisjZW5kaWYKKwkJY2xvc2UoZmQpOworCQlkaXIgPSBvcGVuZGlyKCIvZGV2Iik7CisJCWlmICghZGlyKQorCQkJZ290byBmYWxsYmFjazsKKwkJbmFtZSA9IHNjYW5kZXYoZGlyLCBjb21wYXJlZGV2KTsKKwkJY2xvc2VkaXIoZGlyKTsKKworCQlpZiAobmFtZSkgeworCQkJcmMgPSBhcHBlbmRfY29uc29sZShjb25zb2xlcywgbmFtZSk7CisJCQlmcmVlKG5hbWUpOworCQkJaWYgKHJjIDwgMCkKKwkJCQlyZXR1cm4gcmM7CisJCX0KKwkJaWYgKGxpc3RfZW1wdHkoY29uc29sZXMpKQorCQkJZ290byBmYWxsYmFjazsKKworCQlEQkcoZGJncHJpbnQoImRldGVjdGlvbiBzdWNjZXNzIFtyYz0lZF0iLCByZWNvbm5lY3QpKTsKKwkJcmV0dXJuIHJlY29ubmVjdDsKKwl9CisjaWZkZWYgX19saW51eF9fCitjb25zb2xlOgorCS8qCisJICogRGV0ZWN0aW9uIG9mIGRldmljZXMgdXNlZCBmb3IgTGludXggc3lzdGVtIGNvbnNvbGUgdXNpbmcKKwkgKiB0aGUgL3Byb2MvY29uc29sZXMgQVBJIHdpdGgga2VybmVsIDIuNi4zOCBhbmQgaGlnaGVyLgorCSAqLworCXJjID0gZGV0ZWN0X2NvbnNvbGVzX2Zyb21fcHJvYyhjb25zb2xlcyk7CisJaWYgKHJjID09IDApCisJCXJldHVybiByZWNvbm5lY3Q7CS8qIHN1Y2Nlc3MgKi8KKwlpZiAocmMgPCAwKQorCQlyZXR1cm4gcmM7CQkvKiBmYXRhbCBlcnJvciAqLworCisJLyoKKwkgKiBEZXRlY3Rpb24gb2YgZGV2aWNlcyB1c2VkIGZvciBMaW51eCBzeXN0ZW0gY29uc29sZSB1c2luZworCSAqIHRoZSBzeXNmcyAvc3lzL2NsYXNzL3R0eS8gQVBJIHdpdGgga2VybmVsIDIuNi4zNyBhbmQgaGlnaGVyLgorCSAqLworCXJjID0gZGV0ZWN0X2NvbnNvbGVzX2Zyb21fc3lzZnMoY29uc29sZXMpOworCWlmIChyYyA9PSAwKQorCQlyZXR1cm4gcmVjb25uZWN0OwkvKiBzdWNjZXNzICovCisJaWYgKHJjIDwgMCkKKwkJcmV0dXJuIHJjOwkJLyogZmF0YWwgZXJyb3IgKi8KKworCS8qCisJICogRGV0ZWN0aW9uIG9mIGRldmljZXMgdXNlZCBmb3IgTGludXggc3lzdGVtIGNvbnNvbGUgdXNpbmcKKwkgKiBrZXJuZWwgcGFyYW1ldGVyIG9uIHRoZSBrZXJuZWxzIGNvbW1hbmQgbGluZS4KKwkgKi8KKwlyYyA9IGRldGVjdF9jb25zb2xlc19mcm9tX2NtZGxpbmUoY29uc29sZXMpOworCWlmIChyYyA9PSAwKQorCQlyZXR1cm4gcmVjb25uZWN0OwkvKiBzdWNjZXNzICovCisJaWYgKHJjIDwgMCkKKwkJcmV0dXJuIHJjOwkJLyogZmF0YWwgZXJyb3IgKi8KKworCS8qCisJICogRGV0ZWN0aW9uIG9mIHRoZSBkZXZpY2UgdXNlZCBmb3IgTGludXggc3lzdGVtIGNvbnNvbGUgdXNpbmcKKwkgKiB0aGUgaW9jdGwgVElPQ0dERVYgaWYgYXZhaWxhYmxlIChlLmcuIG9mZmljaWFsIDIuNi4zOCkuCisJICovCisjaWZkZWYgVElPQ0dERVYKKwlyYyA9IGRldGVjdF9jb25zb2xlc19mcm9tX3Rpb2NnZGV2KGNvbnNvbGVzLCBmYWxsYmFjaywgZGV2aWNlKTsKKwlpZiAocmMgPT0gMCkKKwkJcmV0dXJuIHJlY29ubmVjdDsJLyogc3VjY2VzcyAqLworCWlmIChyYyA8IDApCisJCXJldHVybiByYzsJCS8qIGZhdGFsIGVycm9yICovCisjZW5kaWYKKwlpZiAoIWxpc3RfZW1wdHkoY29uc29sZXMpKSB7CisJCURCRyhkYmdwcmludCgiZGV0ZWN0aW9uIHN1Y2Nlc3MgW3JjPSVkXSIsIHJlY29ubmVjdCkpOworCQlyZXR1cm4gcmVjb25uZWN0OworCX0KKworI2VuZGlmIC8qIF9fbGludXggX18gKi8KKworZmFsbGJhY2s6CisJaWYgKGZhbGxiYWNrID49IDApIHsKKwkJY29uc3QgY2hhciAqbmFtZTsKKwkgICAgICAgIGNoYXIgKm47CisJCXN0cnVjdCBjb25zb2xlICpjb25zb2xlOworCisJCWlmIChkZXZpY2UgJiYgKmRldmljZSAhPSAnXDAnKQorCQkJbmFtZSA9IGRldmljZTsKKwkJZWxzZQluYW1lID0gdHR5bmFtZShmYWxsYmFjayk7CisKKwkJaWYgKCFuYW1lKQorCQkJbmFtZSA9ICIvZGV2L3R0eSI7CisKKwkJbiA9IHN0cmR1cChuYW1lKTsKKwkJaWYgKCFuKQorCQkJcmV0dXJuIC1FTk9NRU07CisJCXJjID0gYXBwZW5kX2NvbnNvbGUoY29uc29sZXMsIG4pOworCQlmcmVlKG4pOworCQlpZiAocmMgPCAwKQorCQkJcmV0dXJuIHJjOworCQlpZiAobGlzdF9lbXB0eShjb25zb2xlcykpCisJCQlyZXR1cm4gMTsKKwkJY29uc29sZSA9IGxpc3RfbGFzdF9lbnRyeShjb25zb2xlcywgc3RydWN0IGNvbnNvbGUsIGVudHJ5KTsKKwkJaWYgKGNvbnNvbGUpCisJCQljb25zb2xlLT5mZCA9IGZhbGxiYWNrOworCX0KKworCURCRyhkYmdwcmludCgiZGV0ZWN0aW9uIGRvbmUgYnkgZmFsbGJhY2sgW3JjPSVkXSIsIHJlY29ubmVjdCkpOworCXJldHVybiByZWNvbm5lY3Q7Cit9CisKKworI2lmZGVmIFRFU1RfUFJPR1JBTQoraW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwljaGFyICpuYW1lID0gTlVMTDsKKwlpbnQgZmQsIHJlOworCUxJU1RfSEVBRChjb25zb2xlcyk7CisJc3RydWN0IGxpc3RfaGVhZCAqcDsKKworCWlmIChhcmdjID09IDIpIHsKKwkJbmFtZSA9IGFyZ3ZbMV07CisJCWZkID0gb3BlbihuYW1lLCBPX1JEV1IpOworCX0gZWxzZSB7CisJCW5hbWUgPSB0dHluYW1lKFNURElOX0ZJTEVOTyk7CisJCWZkID0gU1RESU5fRklMRU5POworCX0KKworCWlmICghbmFtZSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsICJ1c2FnZTogJXMgWzx0dHk+XVxuIiwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJcmUgPSBkZXRlY3RfY29uc29sZXMobmFtZSwgZmQsICZjb25zb2xlcyk7CisKKwlsaXN0X2Zvcl9lYWNoKHAsICZjb25zb2xlcykgeworCQlzdHJ1Y3QgY29uc29sZSAqYyA9IGxpc3RfZW50cnkocCwgc3RydWN0IGNvbnNvbGUsIGVudHJ5KTsKKwkJcHJpbnRmKCIlczogaWQ9JWQgJXNcbiIsIGMtPnR0eSwgYy0+aWQsIHJlID8gIihyZWNvbm5lY3QpICIgOiAiIik7CisJfQorCisJcmV0dXJuIDA7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL3N1bG9naW4tY29uc29sZXMuaCBiL2xvZ2luLXV0aWxzL3N1bG9naW4tY29uc29sZXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNzYyZTg3Ci0tLSAvZGV2L251bGwKKysrIGIvbG9naW4tdXRpbHMvc3Vsb2dpbi1jb25zb2xlcy5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBjb25zb2xlcy5oCSAgICBIZWFkZXIgZmlsZSBmb3Igcm91dGluZXMgdG8gZGV0ZWN0IHRoZSBzeXN0ZW0gY29uc29sZXMKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTEgU3VTRSBMSU5VWCBQcm9kdWN0cyBHbWJILCBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAyMDEyIFdlcm5lciBGaW5rIDx3ZXJuZXJAc3VzZS5kZT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikKKyAqIGFueSBsYXRlciB2ZXJzaW9uLgorICogIAorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0gKHNlZSB0aGUgZmlsZSBDT1BZSU5HKTsgaWYgbm90LCB3cml0ZSB0byB0aGUKKyAqIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICogQXV0aG9yOiBXZXJuZXIgRmluayA8d2VybmVyQHN1c2UuZGU+CisgKi8KKyNpZm5kZWYgVVRJTF9MSU5VWF9TVUxPR0lOX0NPTlNPTEVTX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9TVUxPR0lOX0NPTlNPTEVTX0gKKworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8dGVybWlvcy5oPgorCisjaW5jbHVkZSAibGlzdC5oIgorI2luY2x1ZGUgInR0eXV0aWxzLmgiCisKK3N0cnVjdCBjb25zb2xlIHsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGVudHJ5OworCWNoYXIgKnR0eTsKKwlGSUxFICpmaWxlOworCXVpbnQzMl90IGZsYWdzOworCWludCBmZCwgaWQ7CisjZGVmaW5lCUNPTl9TRVJJQUwJMHgwMDAxCisjZGVmaW5lCUNPTl9OT1RUWQkweDAwMDIKKwlwaWRfdCBwaWQ7CisJc3RydWN0IGNoYXJkYXRhIGNwOworCXN0cnVjdCB0ZXJtaW9zIHRpbzsKK307CisKK2V4dGVybiBpbnQgZGV0ZWN0X2NvbnNvbGVzKGNvbnN0IGNoYXIgKmRldmljZSwgaW50IGZhbGxiYWNrLAorCQkJICAgc3RydWN0IGxpc3RfaGVhZCAqY29uc29sZXMpOworCitleHRlcm4gdm9pZCBlbWVyZ2VuY3lfZG9fdW1vdW50cyh2b2lkKTsKK2V4dGVybiB2b2lkIGVtZXJnZW5jeV9kb19tb3VudHModm9pZCk7CisKKyNlbmRpZiAvKiBVVElMX0xJTlVYX1NVTE9HSU5fQ09OU09MRVNfSCAqLwpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvc3Vsb2dpbi44IGIvbG9naW4tdXRpbHMvc3Vsb2dpbi44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiZjhiY2EKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy9zdWxvZ2luLjgKQEAgLTAsMCArMSw5NSBAQAorLlwiIENvcHlyaWdodCAoQykgMTk5OC0yMDA2IE1pcXVlbCB2YW4gU21vb3JlbmJ1cmcuCisuXCIgQ29weXJpZ2h0IChDKSAyMDEyIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorLlwiCisuXCIgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKy5cIiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorLlwiIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisuXCIgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKy5cIgorLlwiIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorLlwiIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisuXCIgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorLlwiIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisuXCIKKy5cIiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLlwiIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisuXCIgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQQorLlwiCisuVEggU1VMT0dJTiAiOCIgIkp1bHkgMjAxNCIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQorc3Vsb2dpbiBcLSBzaW5nbGUtdXNlciBsb2dpbgorLlNIIFNZTk9QU0lTCisuQlIgc3Vsb2dpbiAiIFtvcHRpb25zXSIKKy5SSSBbIHR0eSBdCisuU0ggREVTQ1JJUFRJT04KKy5CIHN1bG9naW4KK2lzIGludm9rZWQgYnkKKy5CIGluaXQKK3doZW4gdGhlIHN5c3RlbSBnb2VzIGludG8gc2luZ2xlLXVzZXIgbW9kZS4KKy5QUAorVGhlIHVzZXIgaXMgcHJvbXB0ZWQ6CisuSVAgIiIgLjVpCitHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIHN5c3RlbSBtYWludGVuYW5jZQorLmJyCisob3IgdHlwZSBDb250cm9sXC1EIGZvciBub3JtYWwgc3RhcnR1cCk6CisuUFAKK0lmIHRoZSByb290IGFjY291bnQgaXMgbG9ja2VkIGFuZCAtLWZvcmNlIGlzIHNwZWNpZmllZCwgbm8gcGFzc3dvcmQgaXMgcmVxdWlyZWQuCisuUFAKKy5CIHN1bG9naW4KK3dpbGwgYmUgY29ubmVjdGVkIHRvIHRoZSBjdXJyZW50IHRlcm1pbmFsLCBvciB0byB0aGUgb3B0aW9uYWwgXGZJdHR5XGZSIGRldmljZSB0aGF0CitjYW4gYmUgc3BlY2lmaWVkIG9uIHRoZSBjb21tYW5kIGxpbmUgKHR5cGljYWxseQorLklSIC9kZXYvY29uc29sZSApLgorLlBQCitXaGVuIHRoZSB1c2VyIGV4aXRzIGZyb20gdGhlIHNpbmdsZS11c2VyIHNoZWxsLCBvciBwcmVzc2VzIGNvbnRyb2xcLUQgYXQgdGhlCitwcm9tcHQsIHRoZSBzeXN0ZW0gd2lsbCBjb250aW51ZSB0byBib290LgorLlNIIE9QVElPTlMKKy5JUCAiXGZCXC1lXGZSLCBcZkJcLVwtZm9yY2VcZlAiCitJZiB0aGUgZGVmYXVsdCBtZXRob2Qgb2Ygb2J0YWluaW5nIHRoZSByb290IHBhc3N3b3JkIGZyb20gdGhlIHN5c3RlbSB2aWEKKy5CUiBnZXRwd25hbSAoMykKK2ZhaWxzLCB0aGVuIGV4YW1pbmUKKy5JIC9ldGMvcGFzc3dkCithbmQKKy5JIC9ldGMvc2hhZG93Cit0byBnZXQgdGhlIHBhc3N3b3JkLiAgSWYgdGhlc2UgZmlsZXMgYXJlIGRhbWFnZWQgb3Igbm9uZXhpc3RlbnQsIG9yIHdoZW4KK3Jvb3QgYWNjb3VudCBpcyBsb2NrZWQgYnkgJyEnIG9yICcqJyBhdCB0aGUgYmVnaW4gb2YgdGhlIHBhc3N3b3JkIHRoZW4KKy5CIHN1bG9naW4KK3dpbGwgXGZCc3RhcnQgYSByb290IHNoZWxsIHdpdGhvdXQgYXNraW5nIGZvciBhIHBhc3N3b3JkXGZQLgorLlBQCisuSVAKK09ubHkgdXNlIHRoZQorLkIgXC1lCitvcHRpb24gaWYgeW91IGFyZSBzdXJlIHRoZSBjb25zb2xlIGlzIHBoeXNpY2FsbHkgcHJvdGVjdGVkIGFnYWluc3QKK3VuYXV0aG9yaXplZCBhY2Nlc3MuCisuSVAgIlxmQlwtcFxmUiwgXGZCXC1cLWxvZ2luXC1zaGVsbFxmUCIKK1NwZWNpZnlpbmcgdGhpcyBvcHRpb24gY2F1c2VzCisuQiBzdWxvZ2luCit0byBzdGFydCB0aGUgc2hlbGwgcHJvY2VzcyBhcyBhIGxvZ2luIHNoZWxsLgorLklQICJcZkJcLXRcZlIsIFxmQlwtXC10aW1lb3V0IFxmSXNlY29uZHNcZlAiCitTcGVjaWZ5IHRoZSBtYXhpbXVtIGFtb3VudCBvZiB0aW1lIHRvIHdhaXQgZm9yIHVzZXIgaW5wdXQuICBCeSBkZWZhdWx0LAorLkIgc3Vsb2dpbgord2lsbCB3YWl0IGZvcmV2ZXIuCisuSVAgIlxmQlwtaFxmUiwgXGZCXC1cLWhlbHBcZlAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5JUCAiXGZCXC1WXGZSLCBcZkJcLVwtdmVyc2lvblxmUCIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5TSCBFTlZJUk9OTUVOVCBWQVJJQUJMRVMKKy5CIHN1bG9naW4KK2xvb2tzIGZvciB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUKKy5CIFNVU0hFTEwKK29yCisuQiBzdXNoZWxsCit0byBkZXRlcm1pbmUgd2hhdCBzaGVsbCB0byBzdGFydC4gIElmIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0LCBpdAord2lsbCB0cnkgdG8gZXhlY3V0ZSByb290J3Mgc2hlbGwgZnJvbQorLklSIC9ldGMvcGFzc3dkIC4KK0lmIHRoYXQgZmFpbHMsIGl0Cit3aWxsIGZhbGwgYmFjayB0bworLklSIC9iaW4vc2ggLgorLlNIIEFVVEhPUgorLkIgc3Vsb2dpbgord2FzIHdyaXR0ZW4gYnkgTWlxdWVsIHZhbiBTbW9vcmVuYnVyZyBmb3Igc3lzdmluaXQgYW5kIGxhdGVyIHBvcnRlZAordG8gdXRpbC1saW51eCBieSBEYXZlIFJlaXNuZXIgYW5kIEthcmVsIFphay4KKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBzdWxvZ2luIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGZ0cDovL1w6ZnRwLmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvc3Vsb2dpbi5jIGIvbG9naW4tdXRpbHMvc3Vsb2dpbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5YTkyNzQKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy9zdWxvZ2luLmMKQEAgLTAsMCArMSwxMTIxIEBACisvKgorICogc3Vsb2dpbgorICoKKyAqIFRoaXMgcHJvZ3JhbSBnaXZlcyBMaW51eCBtYWNoaW5lcyBhIHJlYXNvbmFibGUgc2VjdXJlIHdheSB0byBib290IHNpbmdsZQorICogdXNlci4gSXQgZm9yY2VzIHRoZSB1c2VyIHRvIHN1cHBseSB0aGUgcm9vdCBwYXNzd29yZCBiZWZvcmUgYSBzaGVsbCBpcworICogc3RhcnRlZC4gSWYgdGhlcmUgaXMgYSBzaGFkb3cgcGFzc3dvcmQgZmlsZSBhbmQgdGhlIGVuY3J5cHRlZCByb290IHBhc3N3b3JkCisgKiBpcyAieCIgdGhlIHNoYWRvdyBwYXNzd29yZCB3aWxsIGJlIHVzZWQuCisgKgorICogQ29weXJpZ2h0IChDKSAxOTk4LTIwMDMgTWlxdWVsIHZhbiBTbW9vcmVuYnVyZy4KKyAqIENvcHlyaWdodCAoQykgMjAxMiBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAxMiBXZXJuZXIgRmluayA8d2VybmVyQHN1c2UuZGU+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQQorICovCisjaW5jbHVkZSA8c3lzL21tYW4uaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy93YWl0Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPHB3ZC5oPgorI2luY2x1ZGUgPHNoYWRvdy5oPgorI2luY2x1ZGUgPHRlcm1pb3MuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2lmZGVmIEhBVkVfQ1JZUFRfSAorIyBpbmNsdWRlIDxjcnlwdC5oPgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0xJQlNFTElOVVgKKyMgaW5jbHVkZSA8c2VsaW51eC9zZWxpbnV4Lmg+CisjIGluY2x1ZGUgPHNlbGludXgvZ2V0X2NvbnRleHRfbGlzdC5oPgorI2VuZGlmCisKKyNpZmRlZiBfX2xpbnV4X18KKyMgaW5jbHVkZSA8c3lzL2tkLmg+CisjIGluY2x1ZGUgPHN5cy9wYXJhbS5oPgorI2VuZGlmCisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJlbnYuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpZmRlZiBVU0VfUExZTU9VVEhfU1VQUE9SVAorIyBpbmNsdWRlICJwbHltb3V0aC1jdHJsLmgiCisjZW5kaWYKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInR0eXV0aWxzLmgiCisjaW5jbHVkZSAic3Vsb2dpbi1jb25zb2xlcy5oIgorI2RlZmluZSBDT05NQVgJCTE2CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgdGltZW91dDsKK3N0YXRpYyBpbnQgcHJvZmlsZTsKK3N0YXRpYyB2b2xhdGlsZSB1aW50MzJfdCBvcGVuZmQ7CQkvKiBSZW1lbWJlciBoaWdoZXIgZmlsZSBkZXNjcmlwdG9ycyAqLworCitzdHJ1Y3Qgc2lnYWN0aW9uIHNhdmVkX3NpZ2ludDsKK3N0cnVjdCBzaWdhY3Rpb24gc2F2ZWRfc2lndHN0cDsKK3N0cnVjdCBzaWdhY3Rpb24gc2F2ZWRfc2lncXVpdDsKK3N0cnVjdCBzaWdhY3Rpb24gc2F2ZWRfc2lnaHVwOworc3RydWN0IHNpZ2FjdGlvbiBzYXZlZF9zaWdjaGxkOworCitzdGF0aWMgdm9sYXRpbGUgc2lnX2F0b21pY190IGFsYXJtX3Jpc2VkOworc3RhdGljIHZvbGF0aWxlIHNpZ19hdG9taWNfdCBzaWdjaGlsZDsKKworI2lmbmRlZiBJVUNMQworIyBkZWZpbmUgSVVDTEMJCTAKKyNlbmRpZgorCisjaWZuZGVmIFdFWElURUQKKyMgd2FybmluZyAiV0VYSVRFRCBpcyBtaXNzaW5nLCBzdWxvZ2luIG1heSBub3Qgd29yayBhcyBleHBlY3RlZCIKKyMgZGVmaW5lIFdFWElURUQgMAorI2VuZGlmCisKK3N0YXRpYyBpbnQgbG9ja2VkX2FjY291bnRfcGFzc3dvcmQoY29uc3QgY2hhciAqcGFzc3dkKQoreworCWlmIChwYXNzd2QgJiYgKCpwYXNzd2QgPT0gJyonIHx8ICpwYXNzd2QgPT0gJyEnKSkKKwkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBGaXggdGhlIHR0eSBtb2RlcyBhbmQgc2V0IHJlYXNvbmFibGUgZGVmYXVsdHMuCisgKi8KK3N0YXRpYyB2b2lkIHRjaW5pdChzdHJ1Y3QgY29uc29sZSAqY29uKQoreworCWludCBtb2RlID0gMCwgZmxhZ3MgPSAwOworCXN0cnVjdCB0ZXJtaW9zICp0aW8gPSAmY29uLT50aW87CisJaW50IGZkID0gY29uLT5mZDsKKyNpZmRlZiBVU0VfUExZTU9VVEhfU1VQUE9SVAorCXN0cnVjdCB0ZXJtaW9zIGxvY2s7CisJaW50IGkgPSAocGx5bW91dGhfY29tbWFuZChNQUdJQ19QSU5HKSkgPyBQTFlNT1VUSF9URVJNSU9TX0ZMQUdTX0RFTEFZIDogMDsKKwlpZiAoaSkKKwkJcGx5bW91dGhfY29tbWFuZChNQUdJQ19RVUlUKTsKKwl3aGlsZSAoaS0tID4gMCkgeworCQkvKgorCQkgKiBXaXRoIHBseW1vdXRoIHRoZSB0ZXJtaW9zIGZsYWdzIGJlY29tZSBjaGFuZ2VkIGFmdGVyIHRoaXMKKwkJICogZnVuY3Rpb24gaGFkIGNoYW5nZWQgdGhlIHRlcm1pb3MuCisJCSAqLworCQltZW1zZXQoJmxvY2ssIDAsIHNpemVvZihzdHJ1Y3QgdGVybWlvcykpOworCQlpZiAoaW9jdGwoZmQsIFRJT0NHTENLVFJNSU9TLCAmbG9jaykgPCAwKQorCQkJYnJlYWs7CisJCWlmICghbG9jay5jX2lmbGFnICYmICFsb2NrLmNfb2ZsYWcgJiYgIWxvY2suY19jZmxhZyAmJiAhbG9jay5jX2xmbGFnKQorCQkJYnJlYWs7CisJCXNsZWVwKDEpOworCX0KKwltZW1zZXQoJmxvY2ssIDAsIHNpemVvZihzdHJ1Y3QgdGVybWlvcykpOworCWlvY3RsKGZkLCBUSU9DU0xDS1RSTUlPUywgJmxvY2spOworI2VuZGlmCisJZXJybm8gPSAwOworCisJaWYgKHRjZ2V0YXR0cihmZCwgdGlvKSA8IDApIHsKKwkJd2FybihfKCJ0Y2dldGF0dHIgZmFpbGVkIikpOworCQljb24tPmZsYWdzIHw9IENPTl9OT1RUWTsKKwkJcmV0dXJuOworCX0KKworCS8qIEhhbmRsZSBsaW5lcyBvdGhlciB0aGFuIHZpcnR1YWwgY29uc29sZXMgaGVyZSAqLworI2lmIGRlZmluZWQoS0RHS0JNT0RFKQorCWlmIChpb2N0bChmZCwgS0RHS0JNT0RFLCAmbW9kZSkgPCAwKQorI2VuZGlmCisJeworCQlzcGVlZF90IGlzcGVlZCwgb3NwZWVkOworCQlzdHJ1Y3Qgd2luc2l6ZSB3czsKKwkJZXJybm8gPSAwOworCisJCS8qIHRoaXMgaXMgYSBtb2RlbSBsaW5lICovCisJCWNvbi0+ZmxhZ3MgfD0gQ09OX1NFUklBTDsKKworCQkvKiBGbHVzaCBpbnB1dCBhbmQgb3V0cHV0IHF1ZXVlcyBvbiBtb2RlbSBsaW5lcyAqLworCQl0Y2ZsdXNoKGZkLCBUQ0lPRkxVU0gpOworCisJCWlzcGVlZCA9IGNmZ2V0aXNwZWVkKHRpbyk7CisJCW9zcGVlZCA9IGNmZ2V0b3NwZWVkKHRpbyk7CisKKwkJaWYgKCFpc3BlZWQpIGlzcGVlZCA9IFRUWURFRl9TUEVFRDsKKwkJaWYgKCFvc3BlZWQpIG9zcGVlZCA9IFRUWURFRl9TUEVFRDsKKworCQl0aW8tPmNfY2ZsYWcgPSBDUkVBRCB8IENTOCB8IEhVUENMIHwgKHRpby0+Y19jZmxhZyAmIENMT0NBTCk7CisJCXRpby0+Y19pZmxhZyA9IDA7CisJCXRpby0+Y19sZmxhZyA9IDA7CisJCXRpby0+Y19vZmxhZyAmPSBPUE9TVCB8IE9OTENSOworCisJCWNmc2V0aXNwZWVkKHRpbywgaXNwZWVkKTsKKwkJY2ZzZXRvc3BlZWQodGlvLCBvc3BlZWQpOworCisjaWZkZWYgSEFWRV9TVFJVQ1RfVEVSTUlPU19DX0xJTkUKKwkJdGlvLT5jX2xpbmUgICAgICAgICA9IDA7CisjZW5kaWYKKwkJdGlvLT5jX2NjW1ZUSU1FXSAgICA9IDA7CisJCXRpby0+Y19jY1tWTUlOXSAgICAgPSAxOworCisJCWlmIChpb2N0bChmZCwgVElPQ0dXSU5TWiwgJndzKSA9PSAwKSB7CisJCQlpbnQgc2V0ID0gMDsKKwkJCWlmICh3cy53c19yb3cgPT0gMCkgeworCQkJCXdzLndzX3JvdyA9IDI0OworCQkJCXNldCsrOworCQkJfQorCQkJaWYgKHdzLndzX2NvbCA9PSAwKSB7CisJCQkJd3Mud3NfY29sID0gODA7CisJCQkJc2V0Kys7CisJCQl9CisJCQlpZiAoc2V0KQorCQkJCWlnbm9yZV9yZXN1bHQoIGlvY3RsKGZkLCBUSU9DU1dJTlNaLCAmd3MpICk7CisJCX0KKworCQlzZXRsb2NhbGUoTENfQ1RZUEUsICJQT1NJWCIpOworCQlnb3RvIHNldGF0dHI7CisJfQorI2lmIGRlZmluZWQoSVVURjgpICYmIGRlZmluZWQoS0RHS0JNT0RFKQorCS8qIEhhbmRsZSBtb2RlIG9mIGN1cnJlbnQga2V5Ym9hcmQgc2V0dXAsIGUuZy4gZm9yIFVURi04ICovCisJc3dpdGNoKG1vZGUpIHsKKwljYXNlIEtfVU5JQ09ERToKKwkJc2V0bG9jYWxlKExDX0NUWVBFLCAiQy5VVEYtOCIpOworCQlmbGFncyB8PSBVTF9UVFlfVVRGODsKKwkJYnJlYWs7CisJY2FzZSBLX1JBVzoKKwljYXNlIEtfTUVESVVNUkFXOgorCWNhc2UgS19YTEFURToKKwlkZWZhdWx0OgorCQlzZXRsb2NhbGUoTENfQ1RZUEUsICJQT1NJWCIpOworCQlicmVhazsKKwl9CisjZWxzZQorCXNldGxvY2FsZShMQ19DVFlQRSwgIlBPU0lYIik7CisjZW5kaWYKKwlyZXNldF92aXJ0dWFsX2NvbnNvbGUodGlvLCBmbGFncyk7CitzZXRhdHRyOgorCWlmICh0Y3NldGF0dHIoZmQsIFRDU0FOT1csIHRpbykpCisJCXdhcm4oXygidGNzZXRhdHRyIGZhaWxlZCIpKTsKKworCS8qIEVuYWJsZSBibG9ja2luZyBtb2RlIGZvciByZWFkIGFuZCB3cml0ZSAqLworCWlmICgoZmxhZ3MgPSBmY250bChmZCwgRl9HRVRGTCwgMCkpICE9IC0xKQorCQlpZ25vcmVfcmVzdWx0KCBmY250bChmZCwgRl9TRVRGTCwgZmxhZ3MgJiB+T19OT05CTE9DSykgKTsKK30KKworLyoKKyAqIEZpbmFsaXplIHRoZSB0dHkgbW9kZXMgb24gbW9kZW0gbGluZXMuCisgKi8KK3N0YXRpYyB2b2lkIHRjZmluYWwoc3RydWN0IGNvbnNvbGUgKmNvbikKK3sKKwlzdHJ1Y3QgdGVybWlvcyAqdGlvOworCWludCBmZDsKKworCWlmICgoY29uLT5mbGFncyAmIENPTl9TRVJJQUwpID09IDApIHsKKwkJeHNldGVudigiVEVSTSIsICJsaW51eCIsIDEpOworCQlyZXR1cm47CisJfQorCWlmIChjb24tPmZsYWdzICYgQ09OX05PVFRZKSB7CisJCXhzZXRlbnYoIlRFUk0iLCAiZHVtYiIsIDEpOworCQlyZXR1cm47CisJfQorCisjaWYgZGVmaW5lZCAoX19zMzkwX18pIHx8IGRlZmluZWQgKF9fczM5MHhfXykKKwl4c2V0ZW52KCJURVJNIiwgImR1bWIiLCAxKTsKKyNlbHNlCisJeHNldGVudigiVEVSTSIsICJ2dDEwMiIsIDEpOworI2VuZGlmCisJdGlvID0gJmNvbi0+dGlvOworCWZkID0gY29uLT5mZDsKKworCXRpby0+Y19pZmxhZyB8PSAoSVhPTiB8IElYT0ZGKTsKKwl0aW8tPmNfbGZsYWcgfD0gKElDQU5PTiB8IElTSUcgfCBFQ0hPfEVDSE9FfEVDSE9LfEVDSE9LRSk7CisJdGlvLT5jX29mbGFnIHw9IE9QT1NUOworCisJdGlvLT5jX2NjW1ZJTlRSXSAgICA9IENJTlRSOworCXRpby0+Y19jY1tWUVVJVF0gICAgPSBDUVVJVDsKKwl0aW8tPmNfY2NbVkVSQVNFXSAgID0gY29uLT5jcC5lcmFzZTsKKwl0aW8tPmNfY2NbVktJTExdICAgID0gY29uLT5jcC5raWxsOworCXRpby0+Y19jY1tWRU9GXSAgICAgPSBDRU9GOworI2lmZGVmIFZTV1RDCisJdGlvLT5jX2NjW1ZTV1RDXSAgICA9IF9QT1NJWF9WRElTQUJMRTsKKyNlbGlmIGRlZmluZWQoVlNXVENIKQorCXRpby0+Y19jY1tWU1dUQ0hdICAgPSBfUE9TSVhfVkRJU0FCTEU7CisjZW5kaWYKKwl0aW8tPmNfY2NbVlNUQVJUXSAgID0gQ1NUQVJUOworCXRpby0+Y19jY1tWU1RPUF0gICAgPSBDU1RPUDsKKwl0aW8tPmNfY2NbVlNVU1BdICAgID0gQ1NVU1A7CisJdGlvLT5jX2NjW1ZFT0xdICAgICA9IF9QT1NJWF9WRElTQUJMRTsKKworCWlmIChjb24tPmNwLmVvbCA9PSBDUikgeworCQl0aW8tPmNfaWZsYWcgfD0gSUNSTkw7CisJCXRpby0+Y19pZmxhZyAmPSB+KElOTENSfElHTkNSKTsKKwkJdGlvLT5jX29mbGFnIHw9IE9OTENSOworCQl0aW8tPmNfb2ZsYWcgJj0gfihPQ1JOTHxPTkxSRVQpOworCX0KKworCXN3aXRjaCAoY29uLT5jcC5wYXJpdHkpIHsKKwlkZWZhdWx0OgorCWNhc2UgMDoKKwkJdGlvLT5jX2NmbGFnICY9IH4oUEFST0REIHwgUEFSRU5CKTsKKwkJdGlvLT5jX2lmbGFnICY9IH4oSU5QQ0sgfCBJU1RSSVApOworCQlicmVhazsKKwljYXNlIDE6CQkJCS8qIG9kZCBwYXJpdHkgKi8KKwkJdGlvLT5jX2NmbGFnIHw9IFBBUk9ERDsKKwkJLyogZmFsbCB0aHJvdWdoICovCisJY2FzZSAyOgkJCQkvKiBldmVuIHBhcml0eSAqLworCQl0aW8tPmNfY2ZsYWcgfD0gUEFSRU5COworCQl0aW8tPmNfaWZsYWcgfD0gKElOUENLIHwgSVNUUklQKTsKKwkJLyogZmFsbCB0aHJvdWdoICovCisJY2FzZSAoMSB8IDIpOgkJCS8qIG5vIHBhcml0eSBiaXQgKi8KKwkJdGlvLT5jX2NmbGFnICY9IH5DU0laRTsKKwkJdGlvLT5jX2NmbGFnIHw9IENTNzsKKwkJYnJlYWs7CisJfQorCisJLyogU2V0IGxpbmUgYXR0cmlidXRlcyAqLworCXRjc2V0YXR0cihmZCwgVENTQU5PVywgdGlvKTsKK30KKworLyoKKyAqIENhbGxlZCBhdCB0aW1lb3V0LgorICovCitzdGF0aWMgdm9pZCBhbHJtX2hhbmRsZXIoaW50IHNpZyBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwkvKiBUaW1lb3V0IGV4cGlyZWQgKi8KKwlhbGFybV9yaXNlZCsrOworfQorCitzdGF0aWMgdm9pZCBjaGxkX2hhbmRsZXIoaW50IHNpZyBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwlzaWdjaGlsZCsrOworfQorCitzdGF0aWMgdm9pZCBtYXNrX3NpZ25hbChpbnQgc2lnbmFsLCB2b2lkICgqaGFuZGxlcikoaW50KSwKKwkJc3RydWN0IHNpZ2FjdGlvbiAqb3JpZ2FjdGlvbikKK3sKKwlzdHJ1Y3Qgc2lnYWN0aW9uIG5ld2FjdGlvbjsKKworCW5ld2FjdGlvbi5zYV9oYW5kbGVyID0gaGFuZGxlcjsKKwlzaWdlbXB0eXNldCgmbmV3YWN0aW9uLnNhX21hc2spOworCW5ld2FjdGlvbi5zYV9mbGFncyA9IDA7CisKKwlzaWdhY3Rpb24oc2lnbmFsLCAmbmV3YWN0aW9uLCBvcmlnYWN0aW9uKTsKK30KKworc3RhdGljIHZvaWQgdW5tYXNrX3NpZ25hbChpbnQgc2lnbmFsLCBzdHJ1Y3Qgc2lnYWN0aW9uICpzYSkKK3sKKwlzaWdhY3Rpb24oc2lnbmFsLCBzYSwgTlVMTCk7Cit9CisKKy8qCisgKiBTZWUgaWYgYW4gZW5jcnlwdGVkIHBhc3N3b3JkIGlzIHZhbGlkLiBUaGUgZW5jcnlwdGVkIHBhc3N3b3JkIGlzIGNoZWNrZWQgZm9yCisgKiB0cmFkaXRpb25hbC1zdHlsZSBERVMgYW5kIEZyZWVCU0Qtc3R5bGUgTUQ1IGVuY3J5cHRpb24uCisgKi8KK3N0YXRpYyBpbnQgdmFsaWQoY29uc3QgY2hhciAqcGFzcykKK3sKKwljb25zdCBjaGFyICpzOworCWNoYXIgaWRbNV07CisJc2l6ZV90IGxlbjsKKwlvZmZfdCBvZmY7CisKKwlpZiAocGFzc1swXSA9PSAwKQorCQlyZXR1cm4gMTsKKwlpZiAocGFzc1swXSAhPSAnJCcpCisJCWdvdG8gY2hlY2tfZGVzOworCisJLyoKKwkgKiB1cCB0byA0IGJ5dGVzIGZvciB0aGUgc2lnbmF0dXJlIGUuZy4gJDEkCisJICovCisJZm9yIChzID0gcGFzcysxOyAqcyAmJiAqcyAhPSAnJCc7IHMrKyk7CisKKwlpZiAoKnMrKyAhPSAnJCcpCisJCXJldHVybiAwOworCisJaWYgKChvZmYgPSAob2ZmX3QpKHMtcGFzcykpID4gNCB8fCBvZmYgPCAzKQorCQlyZXR1cm4gMDsKKworCW1lbXNldChpZCwgJ1wwJywgc2l6ZW9mKGlkKSk7CisJc3RybmNweShpZCwgcGFzcywgb2ZmKTsKKworCS8qCisJICogdXAgdG8gMTYgYnl0ZXMgZm9yIHRoZSBzYWx0CisJICovCisJZm9yICg7ICpzICYmICpzICE9ICckJzsgcysrKTsKKworCWlmICgqcysrICE9ICckJykKKwkJcmV0dXJuIDA7CisKKwlpZiAoKG9mZl90KShzLXBhc3MpID4gMTYpCisJCXJldHVybiAwOworCisJbGVuID0gc3RybGVuKHMpOworCisJLyoKKwkgKiB0aGUgTUQ1IGhhc2ggKDEyOCBiaXRzIG9yIDE2IGJ5dGVzKSBlbmNvZGVkIGluIGJhc2U2NCA9IDIyIGJ5dGVzCisJICovCisJaWYgKChzdHJjbXAoaWQsICIkMSQiKSA9PSAwKSAmJiAobGVuIDwgMjIgfHwgbGVuID4gMjQpKQorCQlyZXR1cm4gMDsKKworCS8qCisJICogdGhlIFNIQS0yNTYgaGFzaCA0MyBieXRlcworCSAqLworCWlmICgoc3RyY21wKGlkLCAiJDUkIikgPT0gMCkgJiYgKGxlbiA8IDQyIHx8IGxlbiA+IDQ0KSkKKwkJcmV0dXJuIDA7CisKKwkvKgorCSAqIHRoZSBTSEEtNTEyIGhhc2ggODYgYnl0ZXMKKwkgKi8KKwlpZiAoKHN0cmNtcChpZCwgIiQ2JCIpID09IDApICYmIChsZW4gPCA4NSB8fCBsZW4gPiA4NykpCisJCXJldHVybiAwOworCisJLyoKKwkgKiBlLmcuIEJsb3dmaXNoIGhhc2gKKwkgKi8KKwlyZXR1cm4gMTsKK2NoZWNrX2RlczoKKwlpZiAoc3RybGVuKHBhc3MpICE9IDEzKQorCQlyZXR1cm4gMDsKKworCWZvciAocyA9IHBhc3M7ICpzOyBzKyspIHsKKwkJaWYgKCgqcyA8ICcwJyB8fCAqcyA+ICc5JykgJiYKKwkJICAgICgqcyA8ICdhJyB8fCAqcyA+ICd6JykgJiYKKwkJICAgICgqcyA8ICdBJyB8fCAqcyA+ICdaJykgJiYKKwkJICAgICpzICE9ICcuJyAmJiAqcyAhPSAnLycpCisJCQlyZXR1cm4gMDsKKwl9CisJcmV0dXJuIDE7Cit9CisKKy8qCisgKiBTZXQgYSB2YXJpYWJsZSBpZiB0aGUgdmFsdWUgaXMgbm90IE5VTEwuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBzZXQoY2hhciAqKnZhciwgY2hhciAqdmFsKQoreworCWlmICh2YWwpCisJCSp2YXIgPSB2YWw7Cit9CisKKy8qCisgKiBHZXQgdGhlIHJvb3QgcGFzc3dvcmQgZW50cnkuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgcGFzc3dkICpnZXRyb290cHdlbnQoaW50IHRyeV9tYW51YWxseSkKK3sKKwlzdGF0aWMgc3RydWN0IHBhc3N3ZCBwd2Q7CisJc3RydWN0IHBhc3N3ZCAqcHc7CisJc3RydWN0IHNwd2QgKnNwdzsKKwlGSUxFICpmcDsKKwlzdGF0aWMgY2hhciBsaW5lWzIgKiBCVUZTSVpdOworCXN0YXRpYyBjaGFyIHNsaW5lWzIgKiBCVUZTSVpdOworCWNoYXIgKnA7CisKKwkvKgorCSAqIEZpcnN0LCB3ZSB0cnkgdG8gZ2V0IHRoZSBwYXNzd29yZCB0aGUgc3RhbmRhcmQgd2F5IHVzaW5nIG5vcm1hbAorCSAqIGxpYnJhcnkgY2FsbHMuCisJICovCisJaWYgKChwdyA9IGdldHB3bmFtKCJyb290IikpICYmCisJICAgICFzdHJjbXAocHctPnB3X3Bhc3N3ZCwgIngiKSAmJgorCSAgICAoc3B3ID0gZ2V0c3BuYW0oInJvb3QiKSkpCisJCXB3LT5wd19wYXNzd2QgPSBzcHctPnNwX3B3ZHA7CisKKwlpZiAocHcgfHwgIXRyeV9tYW51YWxseSkKKwkJcmV0dXJuIHB3OworCisJLyoKKwkgKiBJZiB3ZSBjb21lIGhlcmUsIHdlIGNvdWxkIG5vdCByZXRyaWV2ZSB0aGUgcm9vdCBwYXNzd29yZCB0aHJvdWdoCisJICogbGlicmFyeSBjYWxscyBhbmQgd2UgdHJ5IHRvIHJlYWQgdGhlIHBhc3N3b3JkIGFuZCBzaGFkb3cgZmlsZXMKKwkgKiBtYW51YWxseS4KKwkgKi8KKwlwd2QucHdfbmFtZSA9ICJyb290IjsKKwlwd2QucHdfcGFzc3dkID0gIiI7CisJcHdkLnB3X2dlY29zID0gIlN1cGVyIFVzZXIiOworCXB3ZC5wd19kaXIgPSAiLyI7CisJcHdkLnB3X3NoZWxsID0gIiI7CisJcHdkLnB3X3VpZCA9IDA7CisJcHdkLnB3X2dpZCA9IDA7CisKKwlpZiAoKGZwID0gZm9wZW4oX1BBVEhfUEFTU1dELCAiciIpKSA9PSBOVUxMKSB7CisJCXdhcm4oXygiY2Fubm90IG9wZW4gJXMiKSwgX1BBVEhfUEFTU1dEKTsKKwkJcmV0dXJuICZwd2Q7CisJfQorCisJLyoKKwkgKiBGaW5kIHJvb3QgaW4gdGhlIHBhc3N3b3JkIGZpbGUuCisJICovCisJd2hpbGUgKChwID0gZmdldHMobGluZSwgc2l6ZW9mKGxpbmUpLCBmcCkpICE9IE5VTEwpIHsKKwkJaWYgKHN0cm5jbXAobGluZSwgInJvb3Q6IiwgNSkgIT0gMCkKKwkJCWNvbnRpbnVlOworCQlwICs9IDU7CisJCXNldCgmcHdkLnB3X3Bhc3N3ZCwgc3Ryc2VwKCZwLCAiOiIpKTsKKwkJc3Ryc2VwKCZwLCAiOiIpOworCQlzdHJzZXAoJnAsICI6Iik7CisJCXNldCgmcHdkLnB3X2dlY29zLCBzdHJzZXAoJnAsICI6IikpOworCQlzZXQoJnB3ZC5wd19kaXIsIHN0cnNlcCgmcCwgIjoiKSk7CisJCXNldCgmcHdkLnB3X3NoZWxsLCBzdHJzZXAoJnAsICJcbiIpKTsKKwkJcCA9IGxpbmU7CisJCWJyZWFrOworCX0KKwlmY2xvc2UoZnApOworCisJLyoKKwkgKiBJZiB0aGUgZW5jcnlwdGVkIHBhc3N3b3JkIGlzIHZhbGlkIG9yIG5vdCBmb3VuZCwgcmV0dXJuLgorCSAqLworCWlmIChwID09IE5VTEwpIHsKKwkJd2FybngoXygiJXM6IG5vIGVudHJ5IGZvciByb290XG4iKSwgX1BBVEhfUEFTU1dEKTsKKwkJcmV0dXJuICZwd2Q7CisJfQorCWlmICh2YWxpZChwd2QucHdfcGFzc3dkKSkKKwkJcmV0dXJuICZwd2Q7CisKKwkvKgorCSAqIFRoZSBwYXNzd29yZCBpcyBpbnZhbGlkLiBJZiB0aGVyZSBpcyBhIHNoYWRvdyBwYXNzd29yZCwgdHJ5IGl0LgorCSAqLworCSpwd2QucHdfcGFzc3dkID0gJ1wwJzsKKwlpZiAoKGZwID0gZm9wZW4oX1BBVEhfU0hBRE9XX1BBU1NXRCwgInIiKSkgPT0gTlVMTCkgeworCQl3YXJuKF8oImNhbm5vdCBvcGVuICVzIiksIF9QQVRIX1BBU1NXRCk7CisJCXJldHVybiAmcHdkOworCX0KKwl3aGlsZSAoKHAgPSBmZ2V0cyhzbGluZSwgc2l6ZW9mKHNsaW5lKSwgZnApKSAhPSBOVUxMKSB7CisJCWlmIChzdHJuY21wKHNsaW5lLCAicm9vdDoiLCA1KSAhPSAwKQorCQkJY29udGludWU7CisJCXAgKz0gNTsKKwkJc2V0KCZwd2QucHdfcGFzc3dkLCBzdHJzZXAoJnAsICI6IikpOworCQlicmVhazsKKwl9CisJZmNsb3NlKGZwKTsKKworCS8qCisJICogSWYgdGhlIHBhc3N3b3JkIGlzIHN0aWxsIGludmFsaWQsIE5VTEwgaXQsIGFuZCByZXR1cm4uCisJICovCisJaWYgKHAgPT0gTlVMTCkgeworCQl3YXJueChfKCIlczogbm8gZW50cnkgZm9yIHJvb3QiKSwgX1BBVEhfU0hBRE9XX1BBU1NXRCk7CisJCSpwd2QucHdfcGFzc3dkID0gJ1wwJzsKKwl9CisJLyogbG9ja2VkIGFjY291bnQgcGFzc3dvcmRzIGFyZSB2YWxpZCB0b28gKi8KKwlpZiAoIWxvY2tlZF9hY2NvdW50X3Bhc3N3b3JkKHB3ZC5wd19wYXNzd2QpICYmICF2YWxpZChwd2QucHdfcGFzc3dkKSkgeworCQl3YXJueChfKCIlczogcm9vdCBwYXNzd29yZCBnYXJibGVkIiksIF9QQVRIX1NIQURPV19QQVNTV0QpOworCQkqcHdkLnB3X3Bhc3N3ZCA9ICdcMCc7CisJfQorCXJldHVybiAmcHdkOworfQorCisvKgorICogQXNrIGJ5IHByb21wdCBmb3IgdGhlIHBhc3N3b3JkLgorICovCitzdGF0aWMgdm9pZCBkb3Byb21wdChjb25zdCBjaGFyICpjcnlwdGVkLCBzdHJ1Y3QgY29uc29sZSAqY29uLCBpbnQgZGVueSkKK3sKKwlzdHJ1Y3QgdGVybWlvcyB0dHk7CisKKwlpZiAoY29uLT5mbGFncyAmIENPTl9TRVJJQUwpIHsKKwkJdHR5ID0gY29uLT50aW87CisJCS8qCisJCSAqIEZvciBwcm9tcHRpbmc6IG1hcCBOTCBpbiBvdXRwdXQgdG8gQ1ItTkwKKwkJICogb3RoZXJ3aXNlIHdlIG1heSBzZWUgc3RhaXJzIGluIHRoZSBvdXRwdXQuCisJCSAqLworCQl0dHkuY19vZmxhZyB8PSAoT05MQ1IgfCBPUE9TVCk7CisJCXRjc2V0YXR0cihjb24tPmZkLCBUQ1NBRFJBSU4sICZ0dHkpOworCX0KKwlpZiAoY29uLT5maWxlID09IChGSUxFKikwKSB7CisJCWlmICAoKGNvbi0+ZmlsZSA9IGZkb3Blbihjb24tPmZkLCAicisiKSkgPT0gKEZJTEUqKTApCisJCQlnb3RvIGVycjsKKwl9CisKKwlpZiAoZGVueSkKKwkJZnByaW50Zihjb24tPmZpbGUsIF8oIlxuQ2Fubm90IG9wZW4gYWNjZXNzIHRvIGNvbnNvbGUsIHRoZSByb290IGFjY291bnQgaXMgbG9ja2VkLlxuIgorCQkJCSAgICAgIlNlZSBzdWxvZ2luKDgpIG1hbiBwYWdlIGZvciBtb3JlIGRldGFpbHMuXG5cbiIKKwkJCQkgICAgICJQcmVzcyBFbnRlciB0byBjb250aW51ZS5cbiIpKTsKKwllbHNlIHsKKyNpZiBkZWZpbmVkKFVTRV9PTkVMSU5FKQorCQlpZiAoY3J5cHRlZFswXSAmJiAhbG9ja2VkX2FjY291bnRfcGFzc3dvcmQoY3J5cHRlZCkpCisJCQlmcHJpbnRmKGNvbi0+ZmlsZSwgXygiR2l2ZSByb290IHBhc3N3b3JkIGZvciBsb2dpbjogIikpOworCQllbHNlCisJCQlmcHJpbnRmKGNvbi0+ZmlsZSwgXygiUHJlc3MgRW50ZXIgZm9yIGxvZ2luOiAiKSk7CisjZWxzZQorCQlpZiAoY3J5cHRlZFswXSAmJiAhbG9ja2VkX2FjY291bnRfcGFzc3dvcmQoY3J5cHRlZCkpCisJCQlmcHJpbnRmKGNvbi0+ZmlsZSwgXygiR2l2ZSByb290IHBhc3N3b3JkIGZvciBtYWludGVuYW5jZVxuIikpOworCQllbHNlCisJCQlmcHJpbnRmKGNvbi0+ZmlsZSwgXygiUHJlc3MgRW50ZXIgZm9yIG1haW50ZW5hbmNlXG4iKSk7CisJCWZwcmludGYoY29uLT5maWxlLCBfKCIob3IgcHJlc3MgQ29udHJvbC1EIHRvIGNvbnRpbnVlKTogIikpOworI2VuZGlmCisJfQorCWZmbHVzaChjb24tPmZpbGUpOworZXJyOgorCWlmIChjb24tPmZsYWdzICYgQ09OX1NFUklBTCkKKwkJdGNzZXRhdHRyKGNvbi0+ZmQsIFRDU0FEUkFJTiwgJmNvbi0+dGlvKTsKK30KKworLyoKKyAqIE1ha2Ugc3VyZSB0byBoYXZlIGFuIG93biBzZXNzaW9uIGFuZCBjb250cm9sbGluZyB0ZXJtaW5hbAorICovCitzdGF0aWMgdm9pZCBzZXR1cChzdHJ1Y3QgY29uc29sZSAqY29uKQoreworCXBpZF90IHBpZCwgcGdycCwgcHBncnAsIHR0eXBncnA7CisJaW50IGZkOworCisJaWYgKGNvbi0+ZmxhZ3MgJiBDT05fTk9UVFkpCisJCXJldHVybjsKKwlmZCA9IGNvbi0+ZmQ7CisKKwkvKgorCSAqIE9ubHkgZ28gdGhyb3VnaCB0aGlzIHRyb3VibGUgaWYgdGhlIG5ldworCSAqIHR0eSBkb2Vzbid0IGZhbGwgaW4gdGhpcyBwcm9jZXNzIGdyb3VwLgorCSAqLworCXBpZCA9IGdldHBpZCgpOworCXBncnAgPSBnZXRwZ2lkKDApOworCXBwZ3JwID0gZ2V0cGdpZChnZXRwcGlkKCkpOworCXR0eXBncnAgPSB0Y2dldHBncnAoZmQpOworCisJaWYgKHBncnAgIT0gdHR5cGdycCAmJiBwcGdycCAhPSB0dHlwZ3JwKSB7CisJCWlmIChwaWQgIT0gZ2V0c2lkKDApKSB7CisJCQlpZiAocGlkID09IGdldHBnaWQoMCkpCisJCQkJc2V0cGdpZCgwLCBnZXRwZ2lkKGdldHBwaWQoKSkpOworCQkJc2V0c2lkKCk7CisJCX0KKworCQltYXNrX3NpZ25hbChTSUdIVVAsIFNJR19JR04sICZzYXZlZF9zaWdodXApOworCQlpZiAodHR5cGdycCA+IDApCisJCQlpb2N0bChTVERJTl9GSUxFTk8sIFRJT0NOT1RUWSwgKGNoYXIgKikxKTsKKwkJdW5tYXNrX3NpZ25hbChTSUdIVVAsICZzYXZlZF9zaWdodXApOworCQlpZiAoZmQgPiBTVERJTl9GSUxFTk8pICBjbG9zZShTVERJTl9GSUxFTk8pOworCQlpZiAoZmQgPiBTVERPVVRfRklMRU5PKSBjbG9zZShTVERPVVRfRklMRU5PKTsKKwkJaWYgKGZkID4gU1RERVJSX0ZJTEVOTykgY2xvc2UoU1RERVJSX0ZJTEVOTyk7CisKKwkJaW9jdGwoZmQsIFRJT0NTQ1RUWSwgKGNoYXIgKikxKTsKKwkJdGNzZXRwZ3JwKGZkLCBwcGdycCk7CisJfQorCWR1cDIoZmQsIFNURElOX0ZJTEVOTyk7CisJZHVwMihmZCwgU1RET1VUX0ZJTEVOTyk7CisJZHVwMihmZCwgU1RERVJSX0ZJTEVOTyk7CisJY29uLT5mZCA9IFNURElOX0ZJTEVOTzsKKworCWZvciAoZmQgPSBTVERFUlJfRklMRU5PKzE7IGZkIDwgMzI7IGZkKyspIHsKKwkJaWYgKG9wZW5mZCAmICgxPDxmZCkpIHsKKwkJCWNsb3NlKGZkKTsKKwkJCW9wZW5mZCAmPSB+KDE8PGZkKTsKKwkJfQorCX0KK30KKworLyoKKyAqIEFzayBmb3IgdGhlIHBhc3N3b3JkLiBOb3RlIHRoYXQgdGhlcmUgaXMgbm8gZGVmYXVsdCB0aW1lb3V0IGFzIHdlIG5vcm1hbGx5CisgKiBza2lwIHRoaXMgZHVyaW5nIGJvb3QuCisgKi8KK3N0YXRpYyBjaGFyICpnZXRwYXNzd2Qoc3RydWN0IGNvbnNvbGUgKmNvbikKK3sKKwlzdHJ1Y3Qgc2lnYWN0aW9uIHNhOworCXN0cnVjdCB0ZXJtaW9zIHR0eTsKKwlzdGF0aWMgY2hhciBwYXNzWzEyOF0sICpwdHI7CisJc3RydWN0IGNoYXJkYXRhICpjcDsKKwljaGFyICpyZXQgPSBwYXNzOworCXVuc2lnbmVkIGNoYXIgdGM7CisJY2hhciBjLCBhc2N2YWw7CisJaW50IGVpZ2h0Yml0OworCWludCBmZDsKKworCWlmIChjb24tPmZsYWdzICYgQ09OX05PVFRZKQorCQlnb3RvIG91dDsKKwlmZCA9IGNvbi0+ZmQ7CisJY3AgPSAmY29uLT5jcDsKKwl0dHkgPSBjb24tPnRpbzsKKworCXR0eS5jX2lmbGFnICY9IH4oSVVDTEN8SVhPTnxJWE9GRnxJWEFOWSk7CisJdHR5LmNfbGZsYWcgJj0gfihFQ0hPfEVDSE9FfEVDSE9LfEVDSE9OTHxUT1NUT1B8SVNJRyk7CisJdGMgPSAodGNzZXRhdHRyKGZkLCBUQ1NBRkxVU0gsICZ0dHkpID09IDApOworCisJc2lnZW1wdHlzZXQoJnNhLnNhX21hc2spOworCXNhLnNhX2hhbmRsZXIgPSBhbHJtX2hhbmRsZXI7CisJc2Euc2FfZmxhZ3MgPSAwOworCXNpZ2FjdGlvbihTSUdBTFJNLCAmc2EsIE5VTEwpOworCisJaWYgKHRpbWVvdXQpCisJCWFsYXJtKHRpbWVvdXQpOworCisJcHRyID0gJnBhc3NbMF07CisJY3AtPmVvbCA9ICpwdHIgPSAnXDAnOworCisJZWlnaHRiaXQgPSAoKGNvbi0+ZmxhZ3MgJiBDT05fU0VSSUFMKSA9PSAwIHx8ICh0dHkuY19jZmxhZyAmIChQQVJPRER8UEFSRU5CKSkgPT0gMCk7CisJd2hpbGUgKGNwLT5lb2wgPT0gJ1wwJykgeworCQlpZiAocmVhZChmZCwgJmMsIDEpIDwgMSkgeworCQkJaWYgKGVycm5vID09IEVJTlRSIHx8IGVycm5vID09IEVBR0FJTikgeworCQkJCWlmIChhbGFybV9yaXNlZCkgeworCQkJCQlyZXQgPSBOVUxMOworCQkJCQlnb3RvIHF1aXQ7CisJCQkJfQorCQkJCXh1c2xlZXAoMjUwMDAwKTsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCXJldCA9IChjaGFyKikwOworCQkJc3dpdGNoIChlcnJubykgeworCQkJY2FzZSAwOgorCQkJY2FzZSBFSU86CisJCQljYXNlIEVTUkNIOgorCQkJY2FzZSBFSU5WQUw6CisJCQljYXNlIEVOT0VOVDoKKwkJCQlicmVhazsKKwkJCWRlZmF1bHQ6CisJCQkJd2FybihfKCJjYW5ub3QgcmVhZCAlcyIpLCBjb24tPnR0eSk7CisJCQkJYnJlYWs7CisJCQl9CisJCQlnb3RvIHF1aXQ7CisJCX0KKworCQlpZiAoZWlnaHRiaXQpCisJCQlhc2N2YWwgPSBjOworCQllbHNlIGlmIChjICE9IChhc2N2YWwgPSAoYyAmIDAxNzcpKSkgeworCQkJdWludDMyX3QgYml0cywgbWFzazsKKwkJCWZvciAoYml0cyA9IDEsIG1hc2sgPSAxOyBtYXNrICYgMDE3NzsgbWFzayA8PD0gMSkgeworCQkJCWlmIChtYXNrICYgYXNjdmFsKQorCQkJCQliaXRzKys7CisJCQl9CisJCQljcC0+cGFyaXR5IHw9ICgoYml0cyAmIDEpID8gMSA6IDIpOworCQl9CisKKwkJc3dpdGNoIChhc2N2YWwpIHsKKwkJY2FzZSAwOgorCQkJKnB0ciA9ICdcMCc7CisJCQlnb3RvIHF1aXQ7CisJCWNhc2UgQ1I6CisJCWNhc2UgTkw6CisJCQkqcHRyID0gJ1wwJzsKKwkJCWNwLT5lb2wgPSBhc2N2YWw7CisJCQlicmVhazsKKwkJY2FzZSBCUzoKKwkJY2FzZSBDRVJBU0U6CisJCQljcC0+ZXJhc2UgPSBhc2N2YWw7CisJCQlpZiAocHRyID4gJnBhc3NbMF0pCisJCQkJcHRyLS07CisJCQlicmVhazsKKwkJY2FzZSBDS0lMTDoKKwkJCWNwLT5raWxsID0gYXNjdmFsOworCQkJd2hpbGUgKHB0ciA+ICZwYXNzWzBdKQorCQkJCXB0ci0tOworCQkJYnJlYWs7CisJCWNhc2UgQ0VPRjoKKwkJCXJldCA9IE5VTEw7CisJCQlnb3RvIHF1aXQ7CisJCWRlZmF1bHQ6CisJCQlpZiAoKHNpemVfdCkocHRyIC0gJnBhc3NbMF0pID49IChzaXplb2YocGFzcykgLTEgKSkgeworCQkJCSBmcHJpbnRmKHN0ZGVyciwgInN1bG9naW46IGlucHV0IG92ZXJydW4gYXQgJXNcblxyIiwgY29uLT50dHkpOworCQkJCSByZXQgPSAoY2hhciopMDsKKwkJCQkgZ290byBxdWl0OworCQkJfQorCQkJKnB0cisrID0gYXNjdmFsOworCQkJYnJlYWs7CisJCX0KKwl9CitxdWl0OgorCWFsYXJtKDApOworCWlmICh0YykKKwkJdGNzZXRhdHRyKGZkLCBUQ1NBRkxVU0gsICZjb24tPnRpbyk7CisJdGNmaW5hbChjb24pOworCXByaW50ZigiXHJcbiIpOworb3V0OgorCXJldHVybiByZXQ7Cit9CisKKy8qCisgKiBQYXNzd29yZCB3YXMgT0ssIGV4ZWN1dGUgYSBzaGVsbC4KKyAqLworc3RhdGljIHZvaWQgc3VzaGVsbChzdHJ1Y3QgcGFzc3dkICpwd2QpCit7CisJY2hhciBzaGVsbFtQQVRIX01BWF07CisJY2hhciBob21lW1BBVEhfTUFYXTsKKwljaGFyICpwOworCWNoYXIgKnN1X3NoZWxsOworCisJLyoKKwkgKiBTZXQgZGlyZWN0b3J5IGFuZCBzaGVsbC4KKwkgKi8KKwlpZiAoY2hkaXIocHdkLT5wd19kaXIpICE9IDApIHsKKwkJd2FybihfKCIlczogY2hhbmdlIGRpcmVjdG9yeSBmYWlsZWQiKSwgcHdkLT5wd19kaXIpOworCQlwcmludGYoXygiTG9nZ2luZyBpbiB3aXRoIGhvbWUgPSBcIi9cIi5cbiIpKTsKKworCQlpZiAoY2hkaXIoIi8iKSAhPSAwKQorCQkJd2FybihfKCJjaGFuZ2UgZGlyZWN0b3J5IHRvIHN5c3RlbSByb290IGZhaWxlZCIpKTsKKwl9CisKKwlpZiAoKHAgPSBnZXRlbnYoIlNVU0hFTEwiKSkgIT0gTlVMTCkKKwkJc3Vfc2hlbGwgPSBwOworCWVsc2UgaWYgKChwID0gZ2V0ZW52KCJzdXNoZWxsIikpICE9IE5VTEwpCisJCXN1X3NoZWxsID0gcDsKKwllbHNlIHsKKwkJaWYgKHB3ZC0+cHdfc2hlbGxbMF0pCisJCQlzdV9zaGVsbCA9IHB3ZC0+cHdfc2hlbGw7CisJCWVsc2UKKwkJCXN1X3NoZWxsID0gIi9iaW4vc2giOworCX0KKwlpZiAoKHAgPSBzdHJyY2hyKHN1X3NoZWxsLCAnLycpKSA9PSBOVUxMKQorCQlwID0gc3Vfc2hlbGw7CisJZWxzZQorCQlwKys7CisKKwlzbnByaW50ZihzaGVsbCwgc2l6ZW9mKHNoZWxsKSwgcHJvZmlsZSA/ICItJXMiIDogIiVzIiwgcCk7CisKKwkvKgorCSAqIFNldCBzb21lIGltcG9ydGFudCBlbnZpcm9ubWVudCB2YXJpYWJsZXMuCisJICovCisJaWYgKGdldGN3ZChob21lLCBzaXplb2YoaG9tZSkpID09IE5VTEwpCisJCXN0cmNweShob21lLCAiLyIpOworCisJeHNldGVudigiSE9NRSIsIGhvbWUsIDEpOworCXhzZXRlbnYoIkxPR05BTUUiLCAicm9vdCIsIDEpOworCXhzZXRlbnYoIlVTRVIiLCAicm9vdCIsIDEpOworCWlmICghcHJvZmlsZSkKKwkJeHNldGVudigiU0hMVkwiLCIwIiwxKTsKKworCS8qCisJICogVHJ5IHRvIGV4ZWN1dGUgYSBzaGVsbC4KKwkgKi8KKwl4c2V0ZW52KCJTSEVMTCIsIHN1X3NoZWxsLCAxKTsKKwl1bm1hc2tfc2lnbmFsKFNJR0lOVCwgJnNhdmVkX3NpZ2ludCk7CisJdW5tYXNrX3NpZ25hbChTSUdUU1RQLCAmc2F2ZWRfc2lndHN0cCk7CisJdW5tYXNrX3NpZ25hbChTSUdRVUlULCAmc2F2ZWRfc2lncXVpdCk7CisJbWFza19zaWduYWwoU0lHSFVQLCBTSUdfREZMLCBOVUxMKTsKKworI2lmZGVmIEhBVkVfTElCU0VMSU5VWAorCWlmIChpc19zZWxpbnV4X2VuYWJsZWQoKSA+IDApIHsKKwkJc2VjdXJpdHlfY29udGV4dF90IHNjb249TlVMTDsKKwkJY2hhciAqc2V1c2VyPU5VTEw7CisJCWNoYXIgKmxldmVsPU5VTEw7CisJCWlmIChnZXRzZXVzZXJieW5hbWUoInJvb3QiLCAmc2V1c2VyLCAmbGV2ZWwpID09IDApIHsKKwkJCWlmIChnZXRfZGVmYXVsdF9jb250ZXh0X3dpdGhfbGV2ZWwoc2V1c2VyLCBsZXZlbCwgMCwgJnNjb24pID09IDApIHsKKwkJCQlpZiAoc2V0ZXhlY2NvbihzY29uKSAhPSAwKQorCQkJCQl3YXJueChfKCJzZXRleGVjY29uIGZhaWxlZCIpKTsKKwkJCQlmcmVlY29uKHNjb24pOworCQkJfQorCQl9CisJCWZyZWUoc2V1c2VyKTsKKwkJZnJlZShsZXZlbCk7CisJfQorI2VuZGlmCisJZXhlY2woc3Vfc2hlbGwsIHNoZWxsLCBOVUxMKTsKKwl3YXJuKF8oImZhaWxlZCB0byBleGVjdXRlICVzIiksIHN1X3NoZWxsKTsKKworCXhzZXRlbnYoIlNIRUxMIiwgIi9iaW4vc2giLCAxKTsKKwlleGVjbCgiL2Jpbi9zaCIsIHByb2ZpbGUgPyAiLXNoIiA6ICJzaCIsIE5VTEwpOworCXdhcm4oXygiZmFpbGVkIHRvIGV4ZWN1dGUgJXMiKSwgIi9iaW4vc2giKTsKK30KKworc3RhdGljIHZvaWQgdXNhZ2UoRklMRSAqb3V0KQoreworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygKKwkJIiAlcyBbb3B0aW9uc10gW3R0eSBkZXZpY2VdXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlNpbmdsZS11c2VyIGxvZ2luLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtcCwgLS1sb2dpbi1zaGVsbCAgICAgICAgc3RhcnQgYSBsb2dpbiBzaGVsbFxuIgorCQkiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICBtYXggdGltZSB0byB3YWl0IGZvciBhIHBhc3N3b3JkIChkZWZhdWx0OiBubyBsaW1pdClcbiIKKwkJIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAgZXhhbWluZSBwYXNzd29yZCBmaWxlcyBkaXJlY3RseSBpZiBnZXRwd25hbSgzKSBmYWlsc1xuIiksCisJCW91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoVVNBR0VfSEVMUCwgb3V0KTsKKwlmcHV0cyhVU0FHRV9WRVJTSU9OLCBvdXQpOworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgic3Vsb2dpbig4KSIpKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCUxJU1RfSEVBRChjb25zb2xlcyk7CisJc3RydWN0IGxpc3RfaGVhZCAqcHRyOworCXN0cnVjdCBjb25zb2xlICpjb247CisJY2hhciAqdHR5ID0gTlVMTDsKKwlzdHJ1Y3QgcGFzc3dkICpwd2Q7CisJc3RydWN0IHRpbWVzcGVjIHNpZ3dhaXQgPSB7IC50dl9zZWMgPSAwLCAudHZfbnNlYyA9IDUwMDAwMDAwIH07CisJc2lnaW5mb190IHN0YXR1cyA9IHt9OworCXNpZ3NldF90IHNldDsKKwlpbnQgYywgcmVjb25uZWN0ID0gMDsKKwlpbnQgb3B0X2UgPSAwOworCWludCB3YWl0ID0gMDsKKwlwaWRfdCBwaWQ7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJsb2dpbi1zaGVsbCIsICAwLCAwLCAncCcgfSwKKwkJeyAidGltZW91dCIsICAgICAgMSwgMCwgJ3QnIH0sCisJCXsgImZvcmNlIiwgICAgICAgIDAsIDAsICdlJyB9LAorCQl7ICJoZWxwIiwgICAgICAgICAwLCAwLCAnaCcgfSwKKwkJeyAidmVyc2lvbiIsICAgICAgMCwgMCwgJ1YnIH0sCisJCXsgTlVMTCwgICAgICAgICAgIDAsIDAsIDAgfQorCX07CisKKwkvKgorCSAqIElmIHdlIGFyZSBpbml0IHdlIG5lZWQgdG8gc2V0IHVwIGEgb3duIHNlc3Npb24uCisJICovCisJaWYgKChwaWQgPSBnZXRwaWQoKSkgPT0gMSkgeworCQlzZXRzaWQoKTsKKwkJaWdub3JlX3Jlc3VsdCggaW9jdGwoU1RESU5fRklMRU5PLCBUSU9DU0NUVFksIChjaGFyICopIDEpICk7CisJfQorCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsgLyogWFhYICovCisKKwkvKgorCSAqIFNlZSBpZiB3ZSBoYXZlIGEgdGltZW91dCBmbGFnLgorCSAqLworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJlaHB0OlYiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisJCXN3aXRjaChjKSB7CisJCWNhc2UgJ3QnOgorCQkJdGltZW91dCA9IHN0cnRvdTMyX29yX2VycihvcHRhcmcsIF8oImludmFsaWQgdGltZW91dCBhcmd1bWVudCIpKTsKKwkJCWJyZWFrOworCQljYXNlICdwJzoKKwkJCXByb2ZpbGUgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2UnOgorCQkJb3B0X2UgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQlkZWZhdWx0OgorCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJCS8qIERvIG5vdCBleGl0ISAqLworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlpZiAoZ2V0ZXVpZCgpICE9IDApCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJvbmx5IHN1cGVydXNlciBjYW4gcnVuIHRoaXMgcHJvZ3JhbSIpKTsKKworCW1hc2tfc2lnbmFsKFNJR1FVSVQsIFNJR19JR04sICZzYXZlZF9zaWdxdWl0KTsKKwltYXNrX3NpZ25hbChTSUdUU1RQLCBTSUdfSUdOLCAmc2F2ZWRfc2lndHN0cCk7CisJbWFza19zaWduYWwoU0lHSU5ULCAgU0lHX0lHTiwgJnNhdmVkX3NpZ2ludCk7CisJbWFza19zaWduYWwoU0lHSFVQLCAgU0lHX0lHTiwgJnNhdmVkX3NpZ2h1cCk7CisKKworCWVtZXJnZW5jeV9kb19tb3VudHMoKTsKKwlhdGV4aXQoIGVtZXJnZW5jeV9kb191bW91bnRzICk7CisKKwkvKgorCSAqIFNlZSBpZiB3ZSBuZWVkIHRvIG9wZW4gYW4gb3RoZXIgdHR5IGRldmljZS4KKwkgKi8KKwlpZiAob3B0aW5kIDwgYXJnYykKKwkJdHR5ID0gYXJndltvcHRpbmRdOworCisJaWYgKCF0dHkgfHwgKnR0eSA9PSAnXDAnKQorCQl0dHkgPSBnZXRlbnYoIkNPTlNPTEUiKTsKKworCS8qCisJICogRGV0ZWN0IHBvc3NpYmxlIGNvbnNvbGVzLCB1c2Ugc3RkaW4gYXMgZmFsbGJhY2suCisJICogSWYgYW4gb3B0aW9uYWwgdHR5IGlzIGdpdmVuLCByZWNvbm5lY3QgaXQgdG8gc3RkaW4uCisJICovCisJcmVjb25uZWN0ID0gZGV0ZWN0X2NvbnNvbGVzKHR0eSwgU1RESU5fRklMRU5PLCAmY29uc29sZXMpOworCisJLyoKKwkgKiBJZiBwcmV2aW91cyBzdGRpbiB3YXMgbm90IHRoZSBzcGVjaWZpZWQgdHR5IGFuZCB0aGVyZWZvcmUgcmVjb25uZWN0ZWQKKwkgKiB0byB0aGUgc3BlY2lmaWVkIHR0eSBhbHNvIHJlY29ubmVjdCBzdGRvdXQgYW5kIHN0ZGVyci4KKwkgKi8KKwlpZiAocmVjb25uZWN0KSB7CisJCWlmIChpc2F0dHkoU1RET1VUX0ZJTEVOTykgPT0gMCkKKwkJCWR1cDIoU1RET1VUX0ZJTEVOTywgU1RESU5fRklMRU5PKTsKKwkJaWYgKGlzYXR0eShTVERFUlJfRklMRU5PKSA9PSAwKQorCQkJZHVwMihTVERPVVRfRklMRU5PLCBTVERFUlJfRklMRU5PKTsKKwl9CisKKwkvKgorCSAqIFNob3VsZCBub3QgaGFwcGVuCisJICovCisJaWYgKGxpc3RfZW1wdHkoJmNvbnNvbGVzKSkgeworCQlpZiAoIWVycm5vKQorCQkJZXJybm8gPSBFTk9FTlQ7CisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuIGNvbnNvbGUiKSk7CisJfQorCisJLyoKKwkgKiBHZXQgdGhlIHJvb3QgcGFzc3dvcmQuCisJICovCisJaWYgKChwd2QgPSBnZXRyb290cHdlbnQob3B0X2UpKSA9PSBOVUxMKSB7CisJCXdhcm54KF8oImNhbm5vdCBvcGVuIHBhc3N3b3JkIGRhdGFiYXNlIikpOworCQlzbGVlcCgyKTsKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKwl9CisKKwkvKgorCSAqIEFzayBmb3IgdGhlIHBhc3N3b3JkIG9uIHRoZSBjb25zb2xlcy4KKwkgKi8KKwlsaXN0X2Zvcl9lYWNoKHB0ciwgJmNvbnNvbGVzKSB7CisJCWNvbiA9IGxpc3RfZW50cnkocHRyLCBzdHJ1Y3QgY29uc29sZSwgZW50cnkpOworCQlpZiAoY29uLT5pZCA+PSBDT05NQVgpCisJCQlicmVhazsKKwkJaWYgKGNvbi0+ZmQgPj0gMCkgeworCQkJb3BlbmZkIHw9ICgxIDw8IGNvbi0+ZmQpOworCQkJdGNpbml0KGNvbik7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoKGNvbi0+ZmQgPSBvcGVuKGNvbi0+dHR5LCBPX1JEV1IgfCBPX05PQ1RUWSB8IE9fTk9OQkxPQ0spKSA8IDApCisJCQljb250aW51ZTsKKwkJb3BlbmZkIHw9ICgxIDw8IGNvbi0+ZmQpOworCQl0Y2luaXQoY29uKTsKKwl9CisJcHRyID0gKCZjb25zb2xlcyktPm5leHQ7CisKKwlpZiAocHRyLT5uZXh0ID09ICZjb25zb2xlcykgeworCQljb24gPSBsaXN0X2VudHJ5KHB0ciwgc3RydWN0IGNvbnNvbGUsIGVudHJ5KTsKKwkJZ290byBub2Zvcms7CisJfQorCisKKwltYXNrX3NpZ25hbChTSUdDSExELCBjaGxkX2hhbmRsZXIsICZzYXZlZF9zaWdjaGxkKTsKKwlkbyB7CisJCWNvbiA9IGxpc3RfZW50cnkocHRyLCBzdHJ1Y3QgY29uc29sZSwgZW50cnkpOworCQlpZiAoY29uLT5pZCA+PSBDT05NQVgpCisJCQlicmVhazsKKworCQlzd2l0Y2ggKChjb24tPnBpZCA9IGZvcmsoKSkpIHsKKwkJY2FzZSAwOgorCQkJbWFza19zaWduYWwoU0lHQ0hMRCwgU0lHX0RGTCwgTlVMTCk7CisJCQkvKiBmYWxsIHRocm91Z2ggKi8KKwkJbm9mb3JrOgorCQkJc2V0dXAoY29uKTsKKwkJCXdoaWxlICgxKSB7CisJCQkJY29uc3QgY2hhciAqcGFzc3dkID0gcHdkLT5wd19wYXNzd2Q7CisJCQkJY29uc3QgY2hhciAqYW5zd2VyOworCQkJCWludCBmYWlsZWQgPSAwLCBkb3NoZWxsID0gMDsKKwkJCQlpbnQgZGVueSA9ICFvcHRfZSAmJiBsb2NrZWRfYWNjb3VudF9wYXNzd29yZChwd2QtPnB3X3Bhc3N3ZCk7CisKKwkJCQlkb3Byb21wdChwYXNzd2QsIGNvbiwgZGVueSk7CisKKwkJCQlpZiAoKGFuc3dlciA9IGdldHBhc3N3ZChjb24pKSA9PSBOVUxMKQorCQkJCQlicmVhazsKKwkJCQlpZiAoZGVueSkKKwkJCQkJZXhpdChFWElUX0ZBSUxVUkUpOworCisJCQkJLyogbm8gcGFzc3dvcmQgb3IgbG9ja2VkIGFjY291bnQgKi8KKwkJCQlpZiAoIXBhc3N3ZFswXSB8fCBsb2NrZWRfYWNjb3VudF9wYXNzd29yZChwYXNzd2QpKQorCQkJCQlkb3NoZWxsKys7CisJCQkJZWxzZSB7CisJCQkJCWNvbnN0IGNoYXIgKmNyeXB0YnVmOworCQkJCQljcnlwdGJ1ZiA9IGNyeXB0KGFuc3dlciwgcGFzc3dkKTsKKwkJCQkJaWYgKGNyeXB0YnVmID09IE5VTEwpCisJCQkJCQl3YXJuKF8oImNyeXB0IGZhaWxlZCIpKTsKKwkJCQkJZWxzZSBpZiAoc3RyY21wKGNyeXB0YnVmLCBwd2QtPnB3X3Bhc3N3ZCkgPT0gMCkKKwkJCQkJCWRvc2hlbGwrKzsKKwkJCQl9CisKKwkJCQlpZiAoZG9zaGVsbCkgeworCQkJCQlzdXNoZWxsKHB3ZCk7CisJCQkJCWZhaWxlZCsrOworCQkJCX0KKworCQkJCW1hc2tfc2lnbmFsKFNJR1FVSVQsIFNJR19JR04sICZzYXZlZF9zaWdxdWl0KTsKKwkJCQltYXNrX3NpZ25hbChTSUdUU1RQLCBTSUdfSUdOLCAmc2F2ZWRfc2lndHN0cCk7CisJCQkJbWFza19zaWduYWwoU0lHSU5ULCAgU0lHX0lHTiwgJnNhdmVkX3NpZ2ludCk7CisKKwkJCQlpZiAoZmFpbGVkKSB7CisJCQkJCWZwcmludGYoc3RkZXJyLCBfKCJDYW4gbm90IGV4ZWN1dGUgc3Ugc2hlbGxcblxuIikpOworCQkJCQlicmVhazsKKwkJCQl9CisJCQkJZnByaW50ZihzdGRlcnIsIF8oIkxvZ2luIGluY29ycmVjdFxuXG4iKSk7CisJCQl9CisJCQlpZiAoYWxhcm1fcmlzZWQpIHsKKwkJCQl0Y2ZpbmFsKGNvbik7CisJCQkJd2FybngoXygiVGltZWQgb3V0XG5cbiIpKTsKKwkJCX0KKwkJCS8qCisJCQkgKiBVc2VyIHByZXNzZWQgQ29udHJvbC1ELgorCQkJICovCisJCQlleGl0KDApOworCQljYXNlIC0xOgorCQkJd2FybihfKCJmb3JrIGZhaWxlZCIpKTsKKwkJCS8qIGZhbGwgdGhyb3VnaCAqLworCQlkZWZhdWx0OgorCQkJYnJlYWs7CisJCX0KKworCQlwdHIgPSBwdHItPm5leHQ7CisKKwl9IHdoaWxlIChwdHIgIT0gJmNvbnNvbGVzKTsKKworCWRvIHsKKwkJaW50IHJldDsKKworCQlzdGF0dXMuc2lfcGlkID0gMDsKKwkJcmV0ID0gd2FpdGlkKFBfQUxMLCAwLCAmc3RhdHVzLCBXRVhJVEVEKTsKKworCQlpZiAocmV0ID09IDApCisJCQlicmVhazsKKwkJaWYgKHJldCA8IDApIHsKKwkJCWlmIChlcnJubyA9PSBFQ0hJTEQpCisJCQkJYnJlYWs7CisJCQlpZiAoZXJybm8gPT0gRUlOVFIpCisJCQkJY29udGludWU7CisJCX0KKworCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiQ2FuIG5vdCB3YWl0IG9uIHN1IHNoZWxsXG5cbiIpKTsKKworCX0gd2hpbGUgKDEpOworCisJbGlzdF9mb3JfZWFjaChwdHIsICZjb25zb2xlcykgeworCQljb24gPSBsaXN0X2VudHJ5KHB0ciwgc3RydWN0IGNvbnNvbGUsIGVudHJ5KTsKKworCQlpZiAoY29uLT5mZCA8IDApCisJCQljb250aW51ZTsKKwkJaWYgKGNvbi0+cGlkIDwgMCkKKwkJCWNvbnRpbnVlOworCQlpZiAoY29uLT5waWQgPT0gc3RhdHVzLnNpX3BpZCkKKwkJCWNvbi0+cGlkID0gLTE7CisJCWVsc2UgeworCQkJa2lsbChjb24tPnBpZCwgU0lHVEVSTSk7CisJCQl3YWl0Kys7CisJCX0KKwl9CisKKwlzaWdlbXB0eXNldCgmc2V0KTsKKwlzaWdhZGRzZXQoJnNldCwgU0lHQ0hMRCk7CisKKwlkbyB7CisJCWludCBzaWdudW0sIHJldDsKKworCQlpZiAoIXdhaXQpCisJCQlicmVhazsKKworCQlzdGF0dXMuc2lfcGlkID0gMDsKKwkJcmV0ID0gd2FpdGlkKFBfQUxMLCAwLCAmc3RhdHVzLCBXRVhJVEVEfFdOT0hBTkcpOworCisJCWlmIChyZXQgPCAwKSB7CisJCQlpZiAoZXJybm8gPT0gRUNISUxEKQorCQkJCWJyZWFrOworCQkJaWYgKGVycm5vID09IEVJTlRSKQorCQkJCWNvbnRpbnVlOworCQl9CisKKwkJaWYgKCFyZXQgJiYgc3RhdHVzLnNpX3BpZCA+IDApIHsKKwkJCWxpc3RfZm9yX2VhY2gocHRyLCAmY29uc29sZXMpIHsKKwkJCQljb24gPSBsaXN0X2VudHJ5KHB0ciwgc3RydWN0IGNvbnNvbGUsIGVudHJ5KTsKKworCQkJCWlmIChjb24tPmZkIDwgMCkKKwkJCQkJY29udGludWU7CisJCQkJaWYgKGNvbi0+cGlkIDwgMCkKKwkJCQkJY29udGludWU7CisJCQkJaWYgKGNvbi0+cGlkID09IHN0YXR1cy5zaV9waWQpIHsKKwkJCQkJY29uLT5waWQgPSAtMTsKKwkJCQkJd2FpdC0tOworCQkJCX0KKwkJCX0KKwkJCWNvbnRpbnVlOworCQl9CisKKwkJc2lnbnVtID0gc2lndGltZWR3YWl0KCZzZXQsIE5VTEwsICZzaWd3YWl0KTsKKwkJaWYgKHNpZ251bSAhPSBTSUdDSExEICYmIHNpZ251bSA8IDAgJiYgZXJybm8gPT0gRUFHQUlOKQorCQkJYnJlYWs7CisKKwl9IHdoaWxlICgxKTsKKworCW1hc2tfc2lnbmFsKFNJR0NITEQsIFNJR19ERkwsIE5VTEwpOworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy91dG1wZHVtcC4xIGIvbG9naW4tdXRpbHMvdXRtcGR1bXAuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jN2E4NDNkCi0tLSAvZGV2L251bGwKKysrIGIvbG9naW4tdXRpbHMvdXRtcGR1bXAuMQpAQCAtMCwwICsxLDkzIEBACisuXCIgQ29weXJpZ2h0IChDKSAyMDEwIE1pY2hhZWwgS3JhcHAKKy5cIgorLlwiIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisuXCIgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKy5cIiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorLlwiIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisuXCIKKy5cIiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy5cIiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorLlwiIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKy5cIiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorLlwiCisuXCIgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy5cIiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorLlwiIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EKKy5cIgorLlRIIFVUTVBEVU1QIDEgIkp1bHkgMjAxNCIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK3V0bXBkdW1wIFwtIGR1bXAgVVRNUCBhbmQgV1RNUCBmaWxlcyBpbiByYXcgZm9ybWF0CisuU0ggU1lOT1BTSVMKKy5CUiB1dG1wZHVtcCAiIFtvcHRpb25zXSIKKy5SSSBbIGZpbGVuYW1lIF0KKy5TSCBERVNDUklQVElPTgorLkIgdXRtcGR1bXAKK2lzIGEgc2ltcGxlIHByb2dyYW0gdG8gZHVtcCBVVE1QIGFuZCBXVE1QIGZpbGVzIGluIHJhdyBmb3JtYXQsIHNvIHRoZXkKK2NhbiBiZSBleGFtaW5lZC4KKy5CIHV0bXBkdW1wCityZWFkcyBmcm9tIHN0ZGluIHVubGVzcyBhCisuSSBmaWxlbmFtZQoraXMgcGFzc2VkLgorLlNIIE9QVElPTlMKKy5UUAorLkJSIFwtZiAsICIgXC1cLWZvbGxvdyIKK091dHB1dCBhcHBlbmRlZCBkYXRhIGFzIHRoZSBmaWxlIGdyb3dzLgorLlRQCisuQlIgXC1vICwgIiBcLVwtb3V0cHV0ICIgXGZJZmlsZQorV3JpdGUgY29tbWFuZCBvdXRwdXQgdG8gXGZJZmlsZVxmUiBpbnN0ZWFkIG9mIHN0YW5kYXJkIG91dHB1dC4KKy5UUAorLkJSIFwtciAsICIgXC1cLXJldmVyc2UiCitVbmR1bXAsIHdyaXRlIGJhY2sgZWRpdGVkIGxvZ2luIGluZm9ybWF0aW9uIGludG8gdGhlIHV0bXAgb3Igd3RtcCBmaWxlcy4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggTk9URVMKKy5CIHV0bXBkdW1wCitjYW4gYmUgdXNlZnVsIGluIGNhc2VzIG9mIGNvcnJ1cHRlZCB1dG1wIG9yIHd0bXAgZW50cmllcy4gIEl0IGNhbiBkdW1wCitvdXQgdXRtcC93dG1wIHRvIGFuIEFTQ0lJIGZpbGUsIHdoaWNoIGNhbiB0aGVuIGJlIGVkaXRlZCB0byByZW1vdmUKK2JvZ3VzIGVudHJpZXMsIGFuZCByZWludGVncmF0ZWQgdXNpbmc6CisuUFAKKy5SUworLkIgdXRtcGR1bXAgLXIgPCBhc2NpaV9maWxlID4gd3RtcAorLlJFCisuUFAKK0J1dCBiZSB3YXJuZWQsCisuQiB1dG1wZHVtcAord2FzIHdyaXR0ZW4gZm9yIGRlYnVnZ2luZyBwdXJwb3NlcyBvbmx5LgorLlNTIEZpbGUgZm9ybWF0cworLlBQCitUaGUgb25seSBiaW5hcnkgdmVyc2lvbiBvZiB0aGUKKy5CUiB1dG1wICg1KQoraXMgc3RhbmRhcmRpc2VkLiAgVGV4dHVhbCBkdW1wcyBtYXkgYmVjb21lIGluY29tcGF0aWJsZSBpbiBmdXR1cmUuCisuUFAKK1RoZSB2ZXJzaW9uIDIuMjggd2FzIHRoZSBsYXN0IG9uZSB0aGF0IHByaW50ZWQgdGV4dCBvdXRwdXQgdXNpbmcKKy5CUiBjdGltZSAoMykKK3RpbWVzdGFtcCBmb3JtYXQuICBOZXdlciBkdW1wcyB1c2UgbWlsbGlzZWNvbmQgcHJlY2lzaW9uIElTTy04NjAxIHRpbWVzdGFtcAorZm9ybWF0IGluIFVUQy0wIHRpbWV6b25lLiAgQ29udmVyc2lvbiBmcm9tIGZvcm1lciB0aW1lc3RhbXAgZm9ybWF0IGNhbiBiZQorbWFkZSB0byBiaW5hcnksIGFsdGhvdWdoIGF0dGVtcHQgdG8gZG8gc28gY2FuIGxlYWQgdGhlIHRpbWVzdGFtcHMgdG8gZHJpZnQKK2Ftb3VudCBvZiB0aW1lem9uZSBvZmZzZXQuCisuU0ggQlVHUworWW91IG1heQorLkIgbm90Cit1c2UgdGhlCisuQiBcLXIKK29wdGlvbiwgYXMgdGhlIGZvcm1hdCBmb3IgdGhlIHV0bXAvd3RtcCBmaWxlcyBzdHJvbmdseSBkZXBlbmRzIG9uIHRoZSBpbnB1dAorZm9ybWF0LiAgVGhpcyB0b29sIHdhcworLkIgbm90Cit3cml0dGVuIGZvciBub3JtYWwgdXNlLCBidXQgZm9yIGRlYnVnZ2luZyBvbmx5LgorLlNIIEFVVEhPUgorTWljaGFlbCBLcmFwcAorLlNIICJTRUUgQUxTTyIKKy5CUiBsYXN0ICgxKSwKKy5CUiB3ICgxKSwKKy5CUiB3aG8gKDEpLAorLkJSIHV0bXAgKDUpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgdXRtcGR1bXAgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZQorZnJvbQorLlVSIGZ0cDovL1w6ZnRwLmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvdXRtcGR1bXAuYyBiL2xvZ2luLXV0aWxzL3V0bXBkdW1wLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2Y4YTUwZAotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL3V0bXBkdW1wLmMKQEAgLTAsMCArMSw0MDQgQEAKKy8qCisgKiB1dG1wZHVtcAorICoKKyAqIFNpbXBsZSBwcm9ncmFtIHRvIGR1bXAgVVRNUCBhbmQgV1RNUCBmaWxlcyBpbiByYXcgZm9ybWF0LCBzbyB0aGV5IGNhbiBiZQorICogZXhhbWluZWQuCisgKgorICogQmFzZWQgb24gdXRtcGR1bXAgZHVtcCBmcm9tIHN5c3Zpbml0IHN1aXRlLgorICoKKyAqIENvcHlyaWdodCAoQykgMTk5MS0yMDAwIE1pcXVlbCB2YW4gU21vb3JlbmJ1cmcgPG1pcXVlbHNAY2lzdHJvbi5ubD4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTggRGFuZWsgRHV2YWxsIDxkdXZhbGxAYWx1bW5pLnByaW5jZXRvbi5lZHU+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQQorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx1dG1wLmg+CisjaW5jbHVkZSA8dGltZS5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgorI2luY2x1ZGUgPGFycGEvaW5ldC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaWZkZWYgSEFWRV9JTk9USUZZX0lOSVQKKyNpbmNsdWRlIDxzeXMvaW5vdGlmeS5oPgorI2VuZGlmCisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAidGltZXV0aWxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKworc3RhdGljIHRpbWVfdCBzdHJ0b3RpbWUoY29uc3QgY2hhciAqc190aW1lKQoreworCXN0cnVjdCB0bSB0bTsKKworCW1lbXNldCgmdG0sICdcMCcsIHNpemVvZihzdHJ1Y3QgdG0pKTsKKworCWlmIChzX3RpbWVbMF0gPT0gJyAnIHx8IHNfdGltZVswXSA9PSAnXDAnKQorCQlyZXR1cm4gKHRpbWVfdCkwOworCisJaWYgKGlzZGlnaXQoc190aW1lWzBdKSkgeworCQkvKiBbMTk5OC0wOS0wMVQwMTowMDowMCwwMDAwMDArMDA6MDBdCisJCSAqIFN1YnNlY29uZHMgYXJlIHBhcnNlZCB3aXRoIHN0cnRvdXNlYygpLiAgVGltZXpvbmUgaXMKKwkJICogYWx3YXlzIFVUQy0wICovCisJCXN0cnB0aW1lKHNfdGltZSwgIiVZLSVtLSVkVCVIOiVNOiVTIiwgJnRtKTsKKwl9IGVsc2UgeworCQkvKiBbVHVlIFNlcCAwMSAwMDowMDowMCAxOTk4IEdNVF0gKi8KKwkJc3RycHRpbWUoc190aW1lLCAiJWEgJWIgJWQgJVQgJVkiLCAmdG0pOworCQkvKiBDaGVlc3kgd2F5IG9mIGNoZWNraW5nIGZvciBEU1QuICBUaGlzIGNvdWxkIGJlIG5lZWRlZAorCQkgKiB3aXRoIGxlZ2FjeSBkdW1wcyB0aGF0IHVzZWQgbG9jYWx0aW1lKDMpLiAgKi8KKwkJaWYgKHNfdGltZVsyNl0gPT0gJ0QnKQorCQkJdG0udG1faXNkc3QgPSAxOworCX0KKwlyZXR1cm4gdGltZWdtKCZ0bSk7Cit9CisKKyNpZiBkZWZpbmVkKF9IQVZFX1VUX1RWKQorc3RhdGljIHN1c2Vjb25kc190IHN0cnRvdXNlYyhjb25zdCBjaGFyICpzX3RpbWUpCit7CisJY29uc3QgY2hhciAqcyA9IHN0cmNocihzX3RpbWUsICcsJyk7CisJaWYgKHMpCisJCXJldHVybiAoc3VzZWNvbmRzX3QpIGF0b2kocyArIDEpOworCXJldHVybiAwOworfQorI2VuZGlmCisKKyNkZWZpbmUgY2xlYW5zZSh4KSB4Y2xlYW5zZSh4LCBzaXplb2YoeCkpCitzdGF0aWMgdm9pZCB4Y2xlYW5zZShjaGFyICpzLCBpbnQgbGVuKQoreworCWZvciAoIDsgKnMgJiYgbGVuLS0gPiAwOyBzKyspCisJCWlmICghaXNwcmludCgqcykgfHwgKnMgPT0gJ1snIHx8ICpzID09ICddJykKKwkJCSpzID0gJz8nOworfQorCitzdGF0aWMgdm9pZCBwcmludF91dGxpbmUoc3RydWN0IHV0bXAgKnV0LCBGSUxFICpvdXQpCit7CisJY29uc3QgY2hhciAqYWRkcl9zdHJpbmc7CisJY2hhciBidWZmZXJbSU5FVDZfQUREUlNUUkxFTl07CisJY2hhciB0aW1lX3N0cmluZ1s0MF07CisJc3RydWN0IHRpbWV2YWwgdHY7CisKKwlpZiAodXQtPnV0X2FkZHJfdjZbMV0gfHwgdXQtPnV0X2FkZHJfdjZbMl0gfHwgdXQtPnV0X2FkZHJfdjZbM10pCisJCWFkZHJfc3RyaW5nID0gaW5ldF9udG9wKEFGX0lORVQ2LCAmKHV0LT51dF9hZGRyX3Y2KSwgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSk7CisJZWxzZQorCQlhZGRyX3N0cmluZyA9IGluZXRfbnRvcChBRl9JTkVULCAmKHV0LT51dF9hZGRyX3Y2KSwgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSk7CisKKwl0di50dl9zZWMgPSB1dC0+dXRfdHYudHZfc2VjOworCXR2LnR2X3VzZWMgPSB1dC0+dXRfdHYudHZfdXNlYzsKKworCWlmIChzdHJ0aW1ldmFsX2lzbygmdHYsCisJCQkgICBJU09fODYwMV9EQVRFIHwgSVNPXzg2MDFfVElNRSB8IElTT184NjAxX0NPTU1BVVNFQyB8CisJCQkgICBJU09fODYwMV9USU1FWk9ORSB8IElTT184NjAxX0dNVElNRSwgdGltZV9zdHJpbmcsCisJCQkgICBzaXplb2YodGltZV9zdHJpbmcpKSAhPSAwKQorCQlyZXR1cm47CisJY2xlYW5zZSh1dC0+dXRfaWQpOworCWNsZWFuc2UodXQtPnV0X3VzZXIpOworCWNsZWFuc2UodXQtPnV0X2xpbmUpOworCWNsZWFuc2UodXQtPnV0X2hvc3QpOworCisJLyogICAgICAgICAgICBwaWQgICAgaWQgICAgICAgdXNlciAgICAgbGluZSAgICAgaG9zdCAgICAgYWRkciAgICAgICB0aW1lICovCisJZnByaW50ZihvdXQsICJbJWRdIFslMDVkXSBbJS00LjRzXSBbJS0qLipzXSBbJS0qLipzXSBbJS0qLipzXSBbJS0xNXNdIFslc11cbiIsCisJICAgICAgIHV0LT51dF90eXBlLCB1dC0+dXRfcGlkLCB1dC0+dXRfaWQsIDgsIFVUX05BTUVTSVpFLCB1dC0+dXRfdXNlciwKKwkgICAgICAgMTIsIFVUX0xJTkVTSVpFLCB1dC0+dXRfbGluZSwgMjAsIFVUX0hPU1RTSVpFLCB1dC0+dXRfaG9zdCwKKwkgICAgICAgYWRkcl9zdHJpbmcsIHRpbWVfc3RyaW5nKTsKK30KKworI2lmZGVmIEhBVkVfSU5PVElGWV9JTklUCisjZGVmaW5lIEVWRU5UUwkJKElOX01PRElGWXxJTl9ERUxFVEVfU0VMRnxJTl9NT1ZFX1NFTEZ8SU5fVU5NT1VOVCkKKyNkZWZpbmUgTkVWRU5UUwkJNAorCitzdGF0aWMgdm9pZCByb2xsX2ZpbGUoY29uc3QgY2hhciAqZmlsZW5hbWUsIG9mZl90ICpzaXplLCBGSUxFICpvdXQpCit7CisJRklMRSAqaW47CisJc3RydWN0IHN0YXQgc3Q7CisJc3RydWN0IHV0bXAgdXQ7CisJb2ZmX3QgcG9zOworCisJaWYgKCEoaW4gPSBmb3BlbihmaWxlbmFtZSwgInIiKSkpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksIGZpbGVuYW1lKTsKKworCWlmIChmc3RhdChmaWxlbm8oaW4pLCAmc3QpID09IC0xKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJzdGF0IG9mICVzIGZhaWxlZCIpLCBmaWxlbmFtZSk7CisKKwlpZiAoc3Quc3Rfc2l6ZSA9PSAqc2l6ZSkKKwkJZ290byBkb25lOworCisJaWYgKGZzZWVrKGluLCAqc2l6ZSwgU0VFS19TRVQpICE9IChvZmZfdCkgLTEpIHsKKwkJd2hpbGUgKGZyZWFkKCZ1dCwgc2l6ZW9mKHV0KSwgMSwgaW4pID09IDEpCisJCQlwcmludF91dGxpbmUoJnV0LCBvdXQpOworCX0KKworCXBvcyA9IGZ0ZWxsbyhpbik7CisJLyogSWYgd2UndmUgc3VjY2Vzc2Z1bGx5IHJlYWQgc29tZXRoaW5nLCB1c2UgdGhlIGZpbGUgcG9zaXRpb24sIHRoaXMKKwkgKiBhdm9pZHMgZGF0YSBkdXBsaWNhdGlvbi4gIElmIHdlIHJlYWQgbm90aGluZyBvciBoaXQgYW4gZXJyb3IsCisJICogcmVzZXQgdG8gdGhlIHJlcG9ydGVkIHNpemUsIHRoaXMgaGFuZGxlcyB0cnVuY2F0ZWQgZmlsZXMuCisJICovCisJKnNpemUgPSAocG9zICE9IC0xICYmIHBvcyAhPSAqc2l6ZSkgPyBwb3MgOiBzdC5zdF9zaXplOworCitkb25lOgorCWZjbG9zZShpbik7Cit9CisKK3N0YXRpYyBpbnQgZm9sbG93X2J5X2lub3RpZnkoRklMRSAqaW4sIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBGSUxFICpvdXQpCit7CisJY2hhciBidWZbTkVWRU5UUyAqIHNpemVvZihzdHJ1Y3QgaW5vdGlmeV9ldmVudCldOworCWludCBmZCwgd2QsIGV2ZW50OworCXNzaXplX3QgbGVuZ3RoOworCW9mZl90IHNpemU7CisKKwlmZCA9IGlub3RpZnlfaW5pdCgpOworCWlmIChmZCA9PSAtMSkKKwkJcmV0dXJuIC0xOwkvKiBwcm9iYWJseSByZWFjaGVkIGFueSBsaW1pdCAuLi4gKi8KKworCXNpemUgPSBmdGVsbG8oaW4pOworCWZjbG9zZShpbik7CisKKwl3ZCA9IGlub3RpZnlfYWRkX3dhdGNoKGZkLCBmaWxlbmFtZSwgRVZFTlRTKTsKKwlpZiAod2QgPT0gLTEpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2guIiksIGZpbGVuYW1lKTsKKworCXdoaWxlICh3ZCA+PSAwKSB7CisJCWVycm5vID0gMDsKKwkJbGVuZ3RoID0gcmVhZChmZCwgYnVmLCBzaXplb2YoYnVmKSk7CisKKwkJaWYgKGxlbmd0aCA8IDAgJiYgKGVycm5vID09IEVJTlRSIHx8IGVycm5vID09IEVBR0FJTikpCisJCQljb250aW51ZTsKKwkJaWYgKGxlbmd0aCA8IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCIlczogY2Fubm90IHJlYWQgaW5vdGlmeSBldmVudHMiKSwKKwkJCQkgICAgZmlsZW5hbWUpOworCisJCWZvciAoZXZlbnQgPSAwOyBldmVudCA8IGxlbmd0aDspIHsKKwkJCXN0cnVjdCBpbm90aWZ5X2V2ZW50ICpldiA9CisJCQkJICAgIChzdHJ1Y3QgaW5vdGlmeV9ldmVudCAqKSAmYnVmW2V2ZW50XTsKKworCQkJaWYgKGV2LT5tYXNrICYgSU5fTU9ESUZZKQorCQkJCXJvbGxfZmlsZShmaWxlbmFtZSwgJnNpemUsIG91dCk7CisJCQllbHNlIHsKKwkJCQljbG9zZSh3ZCk7CisJCQkJd2QgPSAtMTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWV2ZW50ICs9IHNpemVvZihzdHJ1Y3QgaW5vdGlmeV9ldmVudCkgKyBldi0+bGVuOworCQl9CisJfQorCisJY2xvc2UoZmQpOworCXJldHVybiAwOworfQorI2VuZGlmIC8qIEhBVkVfSU5PVElGWV9JTklUICovCisKK3N0YXRpYyBGSUxFICpkdW1wKEZJTEUgKmluLCBjb25zdCBjaGFyICpmaWxlbmFtZSwgaW50IGZvbGxvdywgRklMRSAqb3V0KQoreworCXN0cnVjdCB1dG1wIHV0OworCisJaWYgKGZvbGxvdykKKwkJaWdub3JlX3Jlc3VsdCggZnNlZWsoaW4sIC0xMCAqIHNpemVvZih1dCksIFNFRUtfRU5EKSApOworCisJd2hpbGUgKGZyZWFkKCZ1dCwgc2l6ZW9mKHV0KSwgMSwgaW4pID09IDEpCisJCXByaW50X3V0bGluZSgmdXQsIG91dCk7CisKKwlpZiAoIWZvbGxvdykKKwkJcmV0dXJuIGluOworCisjaWZkZWYgSEFWRV9JTk9USUZZX0lOSVQKKwlpZiAoZm9sbG93X2J5X2lub3RpZnkoaW4sIGZpbGVuYW1lLCBvdXQpID09IDApCisJCXJldHVybiBOVUxMOwkJCQkvKiBmaWxlIGFscmVhZHkgY2xvc2VkICovCisJZWxzZQorI2VuZGlmCisJCS8qIGZhbGxiYWNrIGZvciBzeXN0ZW1zIHdpdGhvdXQgaW5vdGlmeSBvciB3aXRoIG5vbi1mcmVlCisJCSAqIGlub3RpZnkgaW5zdGFuY2VzICovCisJCWZvciAoOzspIHsKKwkJCXdoaWxlIChmcmVhZCgmdXQsIHNpemVvZih1dCksIDEsIGluKSA9PSAxKQorCQkJCXByaW50X3V0bGluZSgmdXQsIG91dCk7CisJCQlzbGVlcCgxKTsKKwkJfQorCisJcmV0dXJuIGluOworfQorCisKKy8qIFRoaXMgZnVuY3Rpb24gd29uJ3Qgd29yayBwcm9wZXJseSBpZiB0aGVyZSdzIGEgJ10nIG9yIGEgJyAnIGluIHRoZSByZWFsCisgKiB0b2tlbi4gIFRoYW5rZnVsbHksIHRoaXMgc2hvdWxkIG5ldmVyIGhhcHBlbi4gICovCitzdGF0aWMgaW50IGdldHRvayhjaGFyICpsaW5lLCBjaGFyICpkZXN0LCBpbnQgc2l6ZSwgaW50IGVhdHNwYWNlKQoreworCWludCBicG9zLCBlcG9zLCBlYXRlbjsKKworCWJwb3MgPSBzdHJjaHIobGluZSwgJ1snKSAtIGxpbmU7CisJaWYgKGJwb3MgPCAwKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiRXh0cmFuZW91cyBuZXdsaW5lIGluIGZpbGUuIEV4aXRpbmcuIikpOworCisJbGluZSArPSAxICsgYnBvczsKKwllcG9zID0gc3RyY2hyKGxpbmUsICddJykgLSBsaW5lOworCWlmIChlcG9zIDwgMCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIkV4dHJhbmVvdXMgbmV3bGluZSBpbiBmaWxlLiBFeGl0aW5nLiIpKTsKKworCWxpbmVbZXBvc10gPSAnXDAnOworCWVhdGVuID0gYnBvcyArIGVwb3MgKyAxOworCisJaWYgKGVhdHNwYWNlKSB7CisJCWNoYXIgKnQ7CisJCWlmICgodCA9IHN0cmNocihsaW5lLCAnICcpKSkKKwkJCSp0ID0gMDsKKwl9CisJc3RybmNweShkZXN0LCBsaW5lLCBzaXplKTsKKworCXJldHVybiBlYXRlbiArIDE7Cit9CisKK3N0YXRpYyB2b2lkIHVuZHVtcChGSUxFICppbiwgRklMRSAqb3V0KQoreworCXN0cnVjdCB1dG1wIHV0OworCWNoYXIgc19hZGRyW0lORVQ2X0FERFJTVFJMRU4gKyAxXSwgc190aW1lWzI5XSwgKmxpbmVzdGFydCwgKmxpbmU7CisJaW50IGNvdW50ID0gMDsKKworCWxpbmVzdGFydCA9IHhtYWxsb2MoMTAyNCAqIHNpemVvZigqbGluZXN0YXJ0KSk7CisJc190aW1lWzI4XSA9IDA7CisKKwl3aGlsZSAoZmdldHMobGluZXN0YXJ0LCAxMDIzLCBpbikpIHsKKwkJbGluZSA9IGxpbmVzdGFydDsKKwkJbWVtc2V0KCZ1dCwgJ1wwJywgc2l6ZW9mKHV0KSk7CisJCXNzY2FuZihsaW5lLCAiWyVoZF0gWyVkXSBbJTRjXSAiLCAmdXQudXRfdHlwZSwgJnV0LnV0X3BpZCwgdXQudXRfaWQpOworCisJCWxpbmUgKz0gMTk7CisJCWxpbmUgKz0gZ2V0dG9rKGxpbmUsIHV0LnV0X3VzZXIsIHNpemVvZih1dC51dF91c2VyKSwgMSk7CisJCWxpbmUgKz0gZ2V0dG9rKGxpbmUsIHV0LnV0X2xpbmUsIHNpemVvZih1dC51dF9saW5lKSwgMSk7CisJCWxpbmUgKz0gZ2V0dG9rKGxpbmUsIHV0LnV0X2hvc3QsIHNpemVvZih1dC51dF9ob3N0KSwgMSk7CisJCWxpbmUgKz0gZ2V0dG9rKGxpbmUsIHNfYWRkciwgc2l6ZW9mKHNfYWRkcikgLSAxLCAxKTsKKwkJZ2V0dG9rKGxpbmUsIHNfdGltZSwgc2l6ZW9mKHNfdGltZSkgLSAxLCAwKTsKKwkJaWYgKHN0cmNocihzX2FkZHIsICcuJykpCisJCQlpbmV0X3B0b24oQUZfSU5FVCwgc19hZGRyLCAmKHV0LnV0X2FkZHJfdjYpKTsKKwkJZWxzZQorCQkJaW5ldF9wdG9uKEFGX0lORVQ2LCBzX2FkZHIsICYodXQudXRfYWRkcl92NikpOworI2lmIGRlZmluZWQoX0hBVkVfVVRfVFYpCisJCXV0LnV0X3R2LnR2X3NlYyA9IHN0cnRvdGltZShzX3RpbWUpOworCQl1dC51dF90di50dl91c2VjID0gc3RydG91c2VjKHNfdGltZSk7CisjZWxzZQorCQl1dC51dF90aW1lID0gc3RydG90aW1lKHNfdGltZSk7CisjZW5kaWYKKwkJaWdub3JlX3Jlc3VsdCggZndyaXRlKCZ1dCwgc2l6ZW9mKHV0KSwgMSwgb3V0KSApOworCisJCSsrY291bnQ7CisJfQorCisJZnJlZShsaW5lc3RhcnQpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZShGSUxFICpvdXQpCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCisJZnByaW50ZihvdXQsCisJCV8oIiAlcyBbb3B0aW9uc10gW2ZpbGVuYW1lXVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJEdW1wIFVUTVAgYW5kIFdUTVAgZmlsZXMgaW4gcmF3IGZvcm1hdC5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWYsIC0tZm9sbG93ICAgICAgICAgb3V0cHV0IGFwcGVuZGVkIGRhdGEgYXMgdGhlIGZpbGUgZ3Jvd3NcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtciwgLS1yZXZlcnNlICAgICAgICB3cml0ZSBiYWNrIGR1bXBlZCBkYXRhIGludG8gdXRtcCBmaWxlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW8sIC0tb3V0cHV0IDxmaWxlPiAgd3JpdGUgdG8gZmlsZSBpbnN0ZWFkIG9mIHN0YW5kYXJkIG91dHB1dFxuIiksIG91dCk7CisJZnB1dHMoVVNBR0VfSEVMUCwgb3V0KTsKKwlmcHV0cyhVU0FHRV9WRVJTSU9OLCBvdXQpOworCisJZnByaW50ZihvdXQsIFVTQUdFX01BTl9UQUlMKCJ1dG1wZHVtcCgxKSIpKTsKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IGM7CisJRklMRSAqaW4gPSBOVUxMLCAqb3V0ID0gTlVMTDsKKwlpbnQgcmV2ZXJzZSA9IDAsIGZvbGxvdyA9IDA7CisJY29uc3QgY2hhciAqZmlsZW5hbWUgPSBOVUxMOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyAiZm9sbG93IiwgIDAsIDAsICdmJyB9LAorCQl7ICJyZXZlcnNlIiwgMCwgMCwgJ3InIH0sCisJCXsgIm91dHB1dCIsICByZXF1aXJlZF9hcmd1bWVudCwgMCwgJ28nIH0sCisJCXsgImhlbHAiLCAgICAwLCAwLCAnaCcgfSwKKwkJeyAidmVyc2lvbiIsIDAsIDAsICdWJyB9LAorCQl7IE5VTEwsIDAsIDAsIDAgfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImZybzpoViIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ3InOgorCQkJcmV2ZXJzZSA9IDE7CisJCQlicmVhazsKKworCQljYXNlICdmJzoKKwkJCWZvbGxvdyA9IDE7CisJCQlicmVhazsKKworCQljYXNlICdvJzoKKwkJCW91dCA9IGZvcGVuKG9wdGFyZywgInciKTsKKwkJCWlmICghb3V0KQorCQkJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksCisJCQkJICAgIG9wdGFyZyk7CisJCQlicmVhazsKKworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQl9CisJfQorCisJaWYgKCFvdXQpCisJCW91dCA9IHN0ZG91dDsKKworCWlmIChvcHRpbmQgPCBhcmdjKSB7CisJCWZpbGVuYW1lID0gYXJndltvcHRpbmRdOworCQlpbiA9IGZvcGVuKGZpbGVuYW1lLCAiciIpOworCQlpZiAoIWluKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgZmlsZW5hbWUpOworCX0gZWxzZSB7CisJCWlmIChmb2xsb3cpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiZm9sbG93aW5nIHN0YW5kYXJkIGlucHV0IGlzIHVuc3VwcG9ydGVkIikpOworCQlmaWxlbmFtZSA9ICIvZGV2L3N0ZGluIjsKKwkJaW4gPSBzdGRpbjsKKwl9CisKKwlpZiAocmV2ZXJzZSkgeworCQlmcHJpbnRmKHN0ZGVyciwgXygiVXRtcCB1bmR1bXAgb2YgJXNcbiIpLCBmaWxlbmFtZSk7CisJCXVuZHVtcChpbiwgb3V0KTsKKwl9IGVsc2UgeworCQlmcHJpbnRmKHN0ZGVyciwgXygiVXRtcCBkdW1wIG9mICVzXG4iKSwgZmlsZW5hbWUpOworCQlpbiA9IGR1bXAoaW4sIGZpbGVuYW1lLCBmb2xsb3csIG91dCk7CisJfQorCisJaWYgKG91dCAhPSBzdGRvdXQgJiYgY2xvc2Vfc3RyZWFtKG91dCkpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oIndyaXRlIGZhaWxlZCIpKTsKKworCWlmIChpbiAmJiBpbiAhPSBzdGRpbikKKwkJZmNsb3NlKGluKTsKKworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy92aWdyLjggYi9sb2dpbi11dGlscy92aWdyLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmY3MmQ3YQotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL3ZpZ3IuOApAQCAtMCwwICsxIEBACisuc28gbWFuOC92aXB3LjgKZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL3ZpcHcuOCBiL2xvZ2luLXV0aWxzL3ZpcHcuOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDBiYTcyCi0tLSAvZGV2L251bGwKKysrIGIvbG9naW4tdXRpbHMvdmlwdy44CkBAIC0wLDAgKzEsODkgQEAKKy5cIiBDb3B5cmlnaHQgKGMpIDE5ODMsIDE5OTEgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KKy5cIiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLlwiCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorLlwiICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKy5cIglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisuXCIJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisuXCIgNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKy5cIiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKy5cIiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy5cIgorLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisuXCIgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisuXCIgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKy5cIiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy5cIiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorLlwiIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisuXCIgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisuXCIgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKy5cIiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisuXCIgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorLlwiIFNVQ0ggREFNQUdFLgorLlwiCisuXCIgICAgIEAoIyl2aXB3LjgJNi43IChCZXJrZWxleSkgMy8xNi85MQorLlwiCisuVEggVklQVyAiOCIgIlNlcHRlbWJlciAyMDExIiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCit2aXB3LCB2aWdyIFwtIGVkaXQgdGhlIHBhc3N3b3JkIG9yIGdyb3VwIGZpbGUKKy5TSCBTWU5PUFNJUworLkIgdmlwdworW29wdGlvbnNdCisuYnIKKy5CIHZpZ3IKK1tvcHRpb25zXQorLlNIIERFU0NSSVBUSU9OCisuQiB2aXB3CitlZGl0cyB0aGUgcGFzc3dvcmQgZmlsZSBhZnRlciBzZXR0aW5nIHRoZSBhcHByb3ByaWF0ZSBsb2NrcywKK2FuZCBkb2VzIGFueSBuZWNlc3NhcnkgcHJvY2Vzc2luZyBhZnRlciB0aGUgcGFzc3dvcmQgZmlsZSBpcyB1bmxvY2tlZC4KK0lmIHRoZSBwYXNzd29yZCBmaWxlIGlzIGFscmVhZHkgbG9ja2VkIGZvciBlZGl0aW5nIGJ5IGFub3RoZXIgdXNlciwKKy5CIHZpcHcKK3dpbGwgYXNrIHlvdQordG8gdHJ5IGFnYWluIGxhdGVyLiAgVGhlIGRlZmF1bHQgZWRpdG9yIGZvcgorLkIgdmlwdworYW5kCisuQiB2aWdyCitpcworLkJSIHZpICgxKS4KKy5CIHZpZ3IKK2VkaXRzIHRoZSBncm91cCBmaWxlIGluIHRoZSBzYW1lIG1hbm5lciBhcworLkIgdmlwdworZG9lcyB0aGUgcGFzc3dkIGZpbGUuCisuU0ggRU5WSVJPTk1FTlQKK0lmIHRoZSBmb2xsb3dpbmcgZW52aXJvbm1lbnQgdmFyaWFibGUgZXhpc3RzLCBpdCB3aWxsIGJlIHV0aWxpemVkIGJ5CisuQiB2aXB3CithbmQKKy5CUiB2aWdyIDoKKy5JCisuVFAKKy5CIEVESVRPUgorVGhlIGVkaXRvciBzcGVjaWZpZWQgYnkgdGhlIHN0cmluZworLkIgRURJVE9SCit3aWxsIGJlIGludm9rZWQgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCBlZGl0b3IKKy5CUiB2aSAoMSkuCisuU0ggU0VFIEFMU08KKy5CUiB2aSAoMSksCisuQlIgcGFzc3dkICgxKSwKKy5CUiBmbG9jayAoMiksCisuQlIgcGFzc3dkICg1KQorLlNIIEhJU1RPUlkKK1RoZQorLkIgdmlwdworY29tbWFuZCBhcHBlYXJlZCBpbiA0LjBCU0QuCisuYnIKK1RoZQorLkIgdmlncgorY29tbWFuZCBhcHBlYXJlZCBpbiBVdGlsLUxpbnV4IDIuNi4KKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSB2aWdyIGFuZCB2aXB3IGNvbW1hbmRzIGFyZSBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGFyZSBhdmFpbGFibGUgZnJvbQorLlVSIGZ0cDovL1w6ZnRwLmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvdmlwdy5jIGIvbG9naW4tdXRpbHMvdmlwdy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxMmVhNzMKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy92aXB3LmMKQEAgLTAsMCArMSwzNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDE5ODcgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorICogICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorICoJVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgVW5pdmVyc2l0eSBvZgorICoJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisgKiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICoKKyAqIFVwZGF0ZWQgVGh1IE9jdCAxMiAwOTo1Njo1NSAxOTk1IGJ5IGZhaXRoQGNzLnVuYy5lZHUgd2l0aCBzZWN1cml0eQorICogcGF0Y2hlcyBmcm9tIFplZnJhbSA8QS5NYWluQGRjcy53YXJ3aWNrLmFjLnVrPgorICoKKyAqIFVwZGF0ZWQgVGh1IE5vdiAgOSAyMTo1ODo1MyAxOTk1IGJ5IE1hcnRpbiBTY2h1bHplCisgKiA8am9leUBmaW5sYW5kaWEuaW5mb2Ryb20ubm9ydGguZGU+LiAgU3VwcG9ydCBmb3Igdmlnci4KKyAqCisgKiBNYXJ0aW4gU2NodWx6ZSdzIHBhdGNoZXMgYWRhcHRlZCB0byBVdGlsLUxpbnV4IGJ5IE5pY29sYWkgTGFuZ2ZlbGR0LgorICoKKyAqIDE5OTktMDItMjIgQXJrYWRpdXN6IE1pxZtraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4KKyAqIC0gYWRkZWQgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKKyAqIFN1biBNYXIgMjEgMTk5OSAtIEFybmFsZG8gQ2FydmFsaG8gZGUgTWVsbyA8YWNtZUBjb25lY3RpdmEuY29tLmJyPgorICogLSBmaXhlZCBzdHJlcnIoZXJybm8pIGluIGdldHRleHQgY2FsbHMKKyAqLworCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHBhdGhzLmg+CisjaW5jbHVkZSA8cHdkLmg+CisjaW5jbHVkZSA8c2hhZG93Lmg+CisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvZmlsZS5oPgorI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgorI2luY2x1ZGUgPHN5cy9yZXNvdXJjZS5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvd2FpdC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImZpbGV1dGlscy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAic2V0cHduYW0uaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgInJwbWF0Y2guaCIKKworI2lmZGVmIEhBVkVfTElCU0VMSU5VWAorIyBpbmNsdWRlIDxzZWxpbnV4L3NlbGludXguaD4KKyNlbmRpZgorCisjZGVmaW5lIEZJTEVOQU1FTEVOIDY3CisKK2VudW0geworCVZJUFcsCisJVklHUgorfTsKK2ludCBwcm9ncmFtOworY2hhciBvcmlnX2ZpbGVbRklMRU5BTUVMRU5dOwkvKiBvcmlnaW5hbCBmaWxlIC9ldGMvcGFzc3dkIG9yIC9ldGMvZ3JvdXAgKi8KK2NoYXIgKnRtcF9maWxlOwkJCS8qIHRtcCBmaWxlICovCisKK3ZvaWQgcHdfZXJyb3IgKGNoYXIgKiwgaW50LCBpbnQpOworCitzdGF0aWMgdm9pZCBjb3B5ZmlsZShpbnQgZnJvbSwgaW50IHRvKQoreworCWludCBuciwgbncsIG9mZjsKKwljaGFyIGJ1Zls4ICogMTAyNF07CisKKwl3aGlsZSAoKG5yID0gcmVhZChmcm9tLCBidWYsIHNpemVvZihidWYpKSkgPiAwKQorCQlmb3IgKG9mZiA9IDA7IG9mZiA8IG5yOyBuciAtPSBudywgb2ZmICs9IG53KQorCQkJaWYgKChudyA9IHdyaXRlKHRvLCBidWYgKyBvZmYsIG5yKSkgPCAwKQorCQkJCXB3X2Vycm9yKHRtcF9maWxlLCAxLCAxKTsKKworCWlmIChuciA8IDApCisJCXB3X2Vycm9yKG9yaWdfZmlsZSwgMSwgMSk7Cit9CisKK3N0YXRpYyB2b2lkIHB3X2luaXQodm9pZCkKK3sKKwlzdHJ1Y3QgcmxpbWl0IHJsaW07CisKKwkvKiBVbmxpbWl0ZWQgcmVzb3VyY2UgbGltaXRzLiAqLworCXJsaW0ucmxpbV9jdXIgPSBybGltLnJsaW1fbWF4ID0gUkxJTV9JTkZJTklUWTsKKwkodm9pZClzZXRybGltaXQoUkxJTUlUX0NQVSwgJnJsaW0pOworCSh2b2lkKXNldHJsaW1pdChSTElNSVRfRlNJWkUsICZybGltKTsKKwkodm9pZClzZXRybGltaXQoUkxJTUlUX1NUQUNLLCAmcmxpbSk7CisJKHZvaWQpc2V0cmxpbWl0KFJMSU1JVF9EQVRBLCAmcmxpbSk7CisJKHZvaWQpc2V0cmxpbWl0KFJMSU1JVF9SU1MsICZybGltKTsKKworCS8qIERvbid0IGRyb3AgY29yZSAobm90IHJlYWxseSBuZWNlc3NhcnksIGJ1dCBHUCdzKS4gKi8KKwlybGltLnJsaW1fY3VyID0gcmxpbS5ybGltX21heCA9IDA7CisJKHZvaWQpc2V0cmxpbWl0KFJMSU1JVF9DT1JFLCAmcmxpbSk7CisKKwkvKiBUdXJuIG9mZiBzaWduYWxzLiAqLworCSh2b2lkKXNpZ25hbChTSUdBTFJNLCBTSUdfSUdOKTsKKwkodm9pZClzaWduYWwoU0lHSFVQLCBTSUdfSUdOKTsKKwkodm9pZClzaWduYWwoU0lHSU5ULCBTSUdfSUdOKTsKKwkodm9pZClzaWduYWwoU0lHUElQRSwgU0lHX0lHTik7CisJKHZvaWQpc2lnbmFsKFNJR1FVSVQsIFNJR19JR04pOworCSh2b2lkKXNpZ25hbChTSUdURVJNLCBTSUdfSUdOKTsKKwkodm9pZClzaWduYWwoU0lHVFNUUCwgU0lHX0lHTik7CisJKHZvaWQpc2lnbmFsKFNJR1RUT1UsIFNJR19JR04pOworCisJLyogQ3JlYXRlIHdpdGggZXhhY3QgcGVybWlzc2lvbnMuICovCisJKHZvaWQpdW1hc2soMCk7Cit9CisKK3N0YXRpYyBGSUxFICogcHdfdG1wZmlsZShpbnQgbG9ja2ZkKQoreworCUZJTEUgKmZkOworCWNoYXIgKnRtcG5hbWUgPSBOVUxMOworCisJaWYgKChmZCA9IHhmbWtzdGVtcCgmdG1wbmFtZSwgIi9ldGMiLCAiLnZpcHciKSkgPT0gTlVMTCkgeworCQl1bGNrcHdkZigpOworCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW4ndCBvcGVuIHRlbXBvcmFyeSBmaWxlIikpOworCX0KKworCWNvcHlmaWxlKGxvY2tmZCwgZmlsZW5vKGZkKSk7CisJdG1wX2ZpbGUgPSB0bXBuYW1lOworCXJldHVybiBmZDsKK30KKworc3RhdGljIHZvaWQgcHdfd3JpdGUodm9pZCkKK3sKKwljaGFyIHRtcFtGSUxFTkFNRUxFTiArIDRdOworCisJc3ByaW50Zih0bXAsICIlcyVzIiwgb3JpZ19maWxlLCAiLk9MRCIpOworCXVubGluayh0bXApOworCisJaWYgKGxpbmsob3JpZ19maWxlLCB0bXApKQorCQl3YXJuKF8oIiVzOiBjcmVhdGUgYSBsaW5rIHRvICVzIGZhaWxlZCIpLCBvcmlnX2ZpbGUsIHRtcCk7CisKKyNpZmRlZiBIQVZFX0xJQlNFTElOVVgKKwlpZiAoaXNfc2VsaW51eF9lbmFibGVkKCkgPiAwKSB7CisJCXNlY3VyaXR5X2NvbnRleHRfdCBwYXNzd2RfY29udGV4dCA9IE5VTEw7CisJCWludCByZXQgPSAwOworCQlpZiAoZ2V0ZmlsZWNvbihvcmlnX2ZpbGUsICZwYXNzd2RfY29udGV4dCkgPCAwKSB7CisJCQl3YXJueChfKCJDYW4ndCBnZXQgY29udGV4dCBmb3IgJXMiKSwgb3JpZ19maWxlKTsKKwkJCXB3X2Vycm9yKG9yaWdfZmlsZSwgMSwgMSk7CisJCX0KKwkJcmV0ID0gc2V0ZmlsZWNvbih0bXBfZmlsZSwgcGFzc3dkX2NvbnRleHQpOworCQlmcmVlY29uKHBhc3N3ZF9jb250ZXh0KTsKKwkJaWYgKHJldCAhPSAwKSB7CisJCQl3YXJueChfKCJDYW4ndCBzZXQgY29udGV4dCBmb3IgJXMiKSwgdG1wX2ZpbGUpOworCQkJcHdfZXJyb3IodG1wX2ZpbGUsIDEsIDEpOworCQl9CisJfQorI2VuZGlmCisKKwlpZiAocmVuYW1lKHRtcF9maWxlLCBvcmlnX2ZpbGUpID09IC0xKSB7CisJCWludCBlcnJzdiA9IGVycm5vOworCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJICAgICAoImNhbm5vdCB3cml0ZSAlczogJXMgKHlvdXIgY2hhbmdlcyBhcmUgc3RpbGwgaW4gJXMpIiksCisJCSAgICAgb3JpZ19maWxlLCBzdHJlcnJvcihlcnJzdiksIHRtcF9maWxlKTsKKwl9CisJdW5saW5rKHRtcF9maWxlKTsKKwlmcmVlKHRtcF9maWxlKTsKKwl0bXBfZmlsZSA9IE5VTEw7Cit9CisKK3N0YXRpYyB2b2lkIHB3X2VkaXQodm9pZCkKK3sKKwlpbnQgcHN0YXQ7CisJcGlkX3QgcGlkOworCWNoYXIgKnAsICplZGl0b3IsICp0azsKKworCWVkaXRvciA9IGdldGVudigiRURJVE9SIik7CisJZWRpdG9yID0geHN0cmR1cChlZGl0b3IgPyBlZGl0b3IgOiBfUEFUSF9WSSk7CisKKwl0ayA9IHN0cnRvayhlZGl0b3IsICIgXHQiKTsKKwlpZiAodGsgJiYgKHAgPSBzdHJyY2hyKHRrLCAnLycpKSAhPSBOVUxMKQorCQkrK3A7CisJZWxzZQorCQlwID0gZWRpdG9yOworCisJcGlkID0gZm9yaygpOworCWlmIChwaWQgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmb3JrIGZhaWxlZCIpKTsKKworCWlmICghcGlkKSB7CisJCWV4ZWNscChlZGl0b3IsIHAsIHRtcF9maWxlLCBOVUxMKTsKKwkJLyogU2hvdWxkbid0IGdldCBoZXJlICovCisJCV9leGl0KEVYSVRfRkFJTFVSRSk7CisJfQorCWZvciAoOzspIHsKKwkJcGlkID0gd2FpdHBpZChwaWQsICZwc3RhdCwgV1VOVFJBQ0VEKTsKKwkJaWYgKFdJRlNUT1BQRUQocHN0YXQpKSB7CisJCQkvKiB0aGUgZWRpdG9yIHN1c3BlbmRlZCwgc28gc3VzcGVuZCB1cyBhcyB3ZWxsICovCisJCQlraWxsKGdldHBpZCgpLCBTSUdTVE9QKTsKKwkJCWtpbGwocGlkLCBTSUdDT05UKTsKKwkJfSBlbHNlIHsKKwkJCWJyZWFrOworCQl9CisJfQorCWlmIChwaWQgPT0gLTEgfHwgIVdJRkVYSVRFRChwc3RhdCkgfHwgV0VYSVRTVEFUVVMocHN0YXQpICE9IDApCisJCXB3X2Vycm9yKGVkaXRvciwgMSwgMSk7CisKKwlmcmVlKGVkaXRvcik7Cit9CisKK3ZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkKK3B3X2Vycm9yKGNoYXIgKm5hbWUsIGludCBlcnIsIGludCBldmFsKQoreworCWlmIChlcnIpIHsKKwkJaWYgKG5hbWUpCisJCQl3YXJuKCIlczogIiwgbmFtZSk7CisJCWVsc2UKKwkJCXdhcm4oTlVMTCk7CisJfQorCXdhcm54KF8oIiVzIHVuY2hhbmdlZCIpLCBvcmlnX2ZpbGUpOworCisJaWYgKHRtcF9maWxlKQorCQl1bmxpbmsodG1wX2ZpbGUpOworCXVsY2twd2RmKCk7CisJZXhpdChldmFsKTsKK30KKworc3RhdGljIHZvaWQgZWRpdF9maWxlKGludCBpc19zaGFkb3cpCit7CisJc3RydWN0IHN0YXQgYmVnaW4sIGVuZDsKKwlpbnQgcGFzc3dkX2ZpbGUsIGNoX3JldDsKKwlGSUxFICp0bXBfZmQ7CisKKwlwd19pbml0KCk7CisKKwkvKiBhY3F1aXJlIGV4Y2x1c2l2ZSBsb2NrICovCisJaWYgKGxja3B3ZGYoKSA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBnZXQgbG9jayIpKTsKKworCXBhc3N3ZF9maWxlID0gb3BlbihvcmlnX2ZpbGUsIE9fUkRPTkxZLCAwKTsKKwlpZiAocGFzc3dkX2ZpbGUgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBvcmlnX2ZpbGUpOworCXRtcF9mZCA9IHB3X3RtcGZpbGUocGFzc3dkX2ZpbGUpOworCisJaWYgKGZzdGF0KGZpbGVubyh0bXBfZmQpLCAmYmVnaW4pKQorCQlwd19lcnJvcih0bXBfZmlsZSwgMSwgMSk7CisKKwlwd19lZGl0KCk7CisKKwlpZiAoZnN0YXQoZmlsZW5vKHRtcF9mZCksICZlbmQpKQorCQlwd19lcnJvcih0bXBfZmlsZSwgMSwgMSk7CisJLyogU29tZSBlZGl0b3JzLCBzdWNoIGFzIFZpbSB3aXRoICd3cml0ZWJhY2t1cCcgbW9kZSBlbmFibGVkLAorCSAqIHVzZSAiYXRvbWljIHNhdmUiIGluIHdoaWNoIHRoZSBvbGQgZmlsZSBpcyBkZWxldGVkIGFuZCBhIG5ldworCSAqIG9uZSB3aXRoIHRoZSBzYW1lIG5hbWUgY3JlYXRlZCBpbiBpdHMgcGxhY2UuICAqLworCWlmIChlbmQuc3RfbmxpbmsgPT0gMCkgeworCQlpZiAoY2xvc2Vfc3RyZWFtKHRtcF9mZCkgIT0gMCkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oIndyaXRlIGVycm9yIikpOworCQl0bXBfZmQgPSBmb3Blbih0bXBfZmlsZSwgInIiKTsKKwkJaWYgKCF0bXBfZmQpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCB0bXBfZmlsZSk7CisJCWlmIChmc3RhdChmaWxlbm8odG1wX2ZkKSwgJmVuZCkpCisJCQlwd19lcnJvcih0bXBfZmlsZSwgMSwgMSk7CisJfQorCWlmIChiZWdpbi5zdF9tdGltZSA9PSBlbmQuc3RfbXRpbWUpIHsKKwkJd2FybngoXygibm8gY2hhbmdlcyBtYWRlIikpOworCQlwd19lcnJvcigoY2hhciAqKU5VTEwsIDAsIDApOworCX0KKwkvKiBwd190bXBmaWxlKCkgd2lsbCBjcmVhdGUgdGhlIGZpbGUgd2l0aCBtb2RlIDYwMCAqLworCWlmICghaXNfc2hhZG93KQorCQljaF9yZXQgPSBmY2htb2QoZmlsZW5vKHRtcF9mZCksIDA2NDQpOworCWVsc2UKKwkJY2hfcmV0ID0gZmNobW9kKGZpbGVubyh0bXBfZmQpLCAwNDAwKTsKKwlpZiAoY2hfcmV0IDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgIiVzOiAlcyIsIF8oImNhbm5vdCBjaG1vZCBmaWxlIiksIG9yaWdfZmlsZSk7CisJaWYgKGNsb3NlX3N0cmVhbSh0bXBfZmQpICE9IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oIndyaXRlIGVycm9yIikpOworCXB3X3dyaXRlKCk7CisJY2xvc2UocGFzc3dkX2ZpbGUpOworCXVsY2twd2RmKCk7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKEZJTEUgKm91dCkKK3sKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsICIgJXNcbiIsIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJFZGl0IHRoZSBwYXNzd29yZCBvciBncm91cCBmaWxlLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKFVTQUdFX0hFTFAsIG91dCk7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoInZpcHcoOCkiKSk7CisJZXhpdChvdXQgPT0gc3RkZXJyID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJaWYgKCFzdHJjbXAocHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUsICJ2aWdyIikpIHsKKwkJcHJvZ3JhbSA9IFZJR1I7CisJCXhzdHJuY3B5KG9yaWdfZmlsZSwgR1JPVVBfRklMRSwgc2l6ZW9mKG9yaWdfZmlsZSkpOworCX0gZWxzZSB7CisJCXByb2dyYW0gPSBWSVBXOworCQl4c3RybmNweShvcmlnX2ZpbGUsIFBBU1NXRF9GSUxFLCBzaXplb2Yob3JpZ19maWxlKSk7CisJfQorCisJaWYgKDEgPCBhcmdjKSB7CisJCWlmICghc3RyY21wKGFyZ3ZbMV0sICItViIpIHx8ICFzdHJjbXAoYXJndlsxXSwgIi0tdmVyc2lvbiIpKSB7CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwkJfQorCQlpZiAoIXN0cmNtcChhcmd2WzFdLCAiLWgiKSB8fCAhc3RyY21wKGFyZ3ZbMV0sICItLWhlbHAiKSkKKwkJCXVzYWdlKHN0ZG91dCk7CisJCXVzYWdlKHN0ZGVycik7CisJfQorCisJZWRpdF9maWxlKDApOworCisJaWYgKHByb2dyYW0gPT0gVklHUikgeworCQlzdHJuY3B5KG9yaWdfZmlsZSwgU0dST1VQX0ZJTEUsIEZJTEVOQU1FTEVOIC0gMSk7CisJfSBlbHNlIHsKKwkJc3RybmNweShvcmlnX2ZpbGUsIFNIQURPV19GSUxFLCBGSUxFTkFNRUxFTiAtIDEpOworCX0KKworCWlmIChhY2Nlc3Mob3JpZ19maWxlLCBGX09LKSA9PSAwKSB7CisJCWNoYXIgcmVzcG9uc2VbODBdOworCisJCWZwdXRzKChwcm9ncmFtID09IFZJR1IpCisJCSAgICAgICA/IF8oIllvdSBhcmUgdXNpbmcgc2hhZG93IGdyb3VwcyBvbiB0aGlzIHN5c3RlbS5cbiIpCisJCSAgICAgICA6IF8oIllvdSBhcmUgdXNpbmcgc2hhZG93IHBhc3N3b3JkcyBvbiB0aGlzIHN5c3RlbS5cbiIpLCBzdGRvdXQpOworCisJCS8qIFRSQU5TTEFUT1JTOiB0aGlzIHByb2dyYW0gdXNlcyBmb3IgeSBhbmQgbiBycG1hdGNoKDMpLAorCQkgKiB3aGljaCBtZWFucyB0aGV5IGNhbiBiZSB0cmFuc2xhdGVkLiAqLworCQlwcmludGYoXygiV291bGQgeW91IGxpa2UgdG8gZWRpdCAlcyBub3cgW3kvbl0/ICIpLCBvcmlnX2ZpbGUpOworCisJCWlmIChmZ2V0cyhyZXNwb25zZSwgc2l6ZW9mKHJlc3BvbnNlKSwgc3RkaW4pICYmCisJCSAgICBycG1hdGNoKHJlc3BvbnNlKSA9PSBSUE1BVENIX1lFUykKKwkJCWVkaXRfZmlsZSgxKTsKKwl9CisJZXhpdChFWElUX1NVQ0NFU1MpOworfQpkaWZmIC0tZ2l0IGEvbTQvYXhfY2hlY2tfdnNjcmlwdC5tNCBiL200L2F4X2NoZWNrX3ZzY3JpcHQubTQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjE5YWQyMgotLS0gL2Rldi9udWxsCisrKyBiL200L2F4X2NoZWNrX3ZzY3JpcHQubTQKQEAgLTAsMCArMSwxNDIgQEAKKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisjICAgICBodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvYXV0b2NvbmYtYXJjaGl2ZS9heF9jaGVja192c2NyaXB0Lmh0bWwKKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisjCisjIFNZTk9QU0lTCisjCisjICAgQVhfQ0hFQ0tfVlNDUklQVAorIworIyBERVNDUklQVElPTgorIworIyAgIENoZWNrIHdoZXRoZXIgdGhlIGxpbmtlciBzdXBwb3J0cyB2ZXJzaW9uIHNjcmlwdHMuICBWZXJzaW9uIHNjcmlwdHMgYXJlCisjICAgdXNlZCB3aGVuIGJ1aWxkaW5nIHNoYXJlZCBsaWJyYXJpZXMgdG8gYmluZCBzeW1ib2xzIHRvIHZlcnNpb24gbm9kZXMKKyMgICAoaGVscGluZyB0byBkZXRlY3QgaW5jb21wYXRpYmlsaXRpZXMpIG9yIHRvIGxpbWl0IHRoZSB2aXNpYmlsaXR5IG9mCisjICAgbm9uLXB1YmxpYyBzeW1ib2xzLgorIworIyAgIE91dHB1dDoKKyMKKyMgICBJZiB2ZXJzaW9uIHNjcmlwdHMgYXJlIHN1cHBvcnRlZCwgVlNDUklQVF9MREZMQUdTIHdpbGwgY29udGFpbiB0aGUKKyMgICBhcHByb3ByaWF0ZSBmbGFnIHRvIHBhc3MgdG8gdGhlIGxpbmtlci4gIE9uIEdOVSBzeXN0ZW1zIHRoaXMgd291bGQKKyMgICB0eXBpY2FsbHkgYmUgIi1XbCwtLXZlcnNpb24tc2NyaXB0IiwgYW5kIG9uIFNvbGFyaXMgaXQgd291bGQgdHlwaWNhbGx5CisjICAgYmUgIi1XbCwtTSIuCisjCisjICAgVHdvIEF1dG9tYWtlIGNvbmRpdGlvbmFscyBhcmUgYWxzbyBzZXQ6CisjCisjICAgIEhBVkVfVlNDUklQVCBpcyB0cnVlIGlmIHRoZSBsaW5rZXIgc3VwcG9ydHMgdmVyc2lvbiBzY3JpcHRzIHdpdGgKKyMgICAgZW50cmllcyB0aGF0IHVzZSBzaW1wbGUgd2lsZGNhcmRzLCBsaWtlICJsb2NhbDogKiIuCisjCisjICAgIEhBVkVfVlNDUklQVF9DT01QTEVYIGlzIHRydWUgaWYgdGhlIGxpbmtlciBzdXBwb3J0cyB2ZXJzaW9uIHNjcmlwdHMgd2l0aAorIyAgICBwYXR0ZXJuIG1hdGNoaW5nIHdpbGRjYXJkcywgbGlrZSAiZ2xvYmFsOiBKYXZhXyoiLgorIworIyAgIE9uIHN5c3RlbXMgdGhhdCBkbyBub3Qgc3VwcG9ydCBzeW1ib2wgdmVyc2lvbmluZywgc3VjaCBhcyBNYWMgT1MgWCwgYm90aAorIyAgIGNvbmRpdGlvbmFscyB3aWxsIGJlIGZhbHNlLiAgVGhleSB3aWxsIGFsc28gYmUgZmFsc2UgaWYgdGhlIHVzZXIgcGFzc2VzCisjICAgIi0tZGlzYWJsZS1zeW12ZXJzIiBvbiB0aGUgY29uZmlndXJlIGNvbW1hbmQgbGluZS4KKyMKKyMgICBFeGFtcGxlOgorIworIyAgICBjb25maWd1cmUuYWM6CisjCisjICAgICBBWF9DSEVDS19WU0NSSVBUCisjCisjICAgIE1ha2VmaWxlLmFtOgorIworIyAgICAgaWYgSEFWRV9WU0NSSVBUCisjICAgICBsaWJmb29fbGFfTERGTEFHUyArPSAkKFZTQ1JJUFRfTERGTEFHUyksQHNyY2RpckAvbGliZm9vLm1hcAorIyAgICAgZW5kaWYKKyMKKyMgICAgIGlmIEhBVkVfVlNDUklQVF9DT01QTEVYCisjICAgICBsaWJiYXJfbGFfTERGTEFHUyArPSAkKFZTQ1JJUFRfTERGTEFHUyksQHNyY2RpckAvbGliYmFyLm1hcAorIyAgICAgZW5kaWYKKyMKKyMgTElDRU5TRQorIworIyAgIENvcHlyaWdodCAoYykgMjAxNCBLZXZpbiBDZXJuZWtlZSA8Y2VybmVrZWVAZ21haWwuY29tPgorIworIyAgIENvcHlpbmcgYW5kIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpbGUsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZQorIyAgIHBlcm1pdHRlZCBpbiBhbnkgbWVkaXVtIHdpdGhvdXQgcm95YWx0eSBwcm92aWRlZCB0aGUgY29weXJpZ2h0IG5vdGljZQorIyAgIGFuZCB0aGlzIG5vdGljZSBhcmUgcHJlc2VydmVkLiBUaGlzIGZpbGUgaXMgb2ZmZXJlZCBhcy1pcywgd2l0aG91dCBhbnkKKyMgICB3YXJyYW50eS4KKworI3NlcmlhbCAxCisKKyMgX0FYX0NIRUNLX1ZTQ1JJUFQoZmxhZywgZ2xvYmFsLXN5bSwgYWN0aW9uLWlmLWxpbmstc3VjY2VlZHMsIFtqdW5rLWZpbGU9bm9dKQorQUNfREVGVU4oW19BWF9DSEVDS19WU0NSSVBUXSwgWworICBBQ19MQU5HX1BVU0goW0NdKQorICBheF9jaGVja192c2NyaXB0X3NhdmVfZmxhZ3M9IiRMREZMQUdTIgorICBlY2hvICJWMSB7IGdsb2JhbDogJDI7IGxvY2FsOiAqOyB9OyIgPiBjb25mdGVzdC5tYXAKKyAgQVNfSUYoW3Rlc3QgeCQ0ID0geHllc10sIFsKKyAgICBlY2hvICJ7IiA+PiBjb25mdGVzdC5tYXAKKyAgXSkKKyAgTERGTEFHUz0iJExERkxBR1MgLVdsLCQxLGNvbmZ0ZXN0Lm1hcCIKKyAgQUNfTElOS19JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbW2ludCBzaG93LCBoaWRlO11dLCBbXSldLCBbJDNdKQorICBMREZMQUdTPSIkYXhfY2hlY2tfdnNjcmlwdF9zYXZlX2ZsYWdzIgorICBybSAtZiBjb25mdGVzdC5tYXAKKyAgQUNfTEFOR19QT1AoW0NdKQorXSkgZG5sIF9BWF9DSEVDS19WU0NSSVBUCisKK0FDX0RFRlVOKFtBWF9DSEVDS19WU0NSSVBUXSwgWworCisgIEFDX0FSR19FTkFCTEUoW3N5bXZlcnNdLAorICAgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtc3ltdmVyc10sCisgICAgICAgICAgICAgICAgICAgW2Rpc2FibGUgbGlicmFyeSBzeW1ib2wgdmVyc2lvbmluZyBbZGVmYXVsdD1hdXRvXV0pLAorICAgIFt3YW50X3N5bXZlcnM9JGVuYWJsZXZhbF0sCisgICAgW3dhbnRfc3ltdmVycz15ZXNdCisgICkKKworICBBU19JRihbdGVzdCB4JHdhbnRfc3ltdmVycyA9IHh5ZXNdLCBbCisKKyAgICBkbmwgRmlyc3QgdGVzdCAtLXZlcnNpb24tc2NyaXB0IGFuZCAtTSB3aXRoIGEgc2ltcGxlIHdpbGRjYXJkLgorCisgICAgQUNfQ0FDSEVfQ0hFQ0soW2xpbmtlciB2ZXJzaW9uIHNjcmlwdCBmbGFnXSwgYXhfY3ZfY2hlY2tfdnNjcmlwdF9mbGFnLCBbCisgICAgICBheF9jdl9jaGVja192c2NyaXB0X2ZsYWc9dW5zdXBwb3J0ZWQKKyAgICAgIF9BWF9DSEVDS19WU0NSSVBUKFstLXZlcnNpb24tc2NyaXB0XSwgW3Nob3ddLCBbCisgICAgICAgIGF4X2N2X2NoZWNrX3ZzY3JpcHRfZmxhZz0tLXZlcnNpb24tc2NyaXB0CisgICAgICBdKQorICAgICAgQVNfSUYoW3Rlc3QgeCRheF9jdl9jaGVja192c2NyaXB0X2ZsYWcgPSB4dW5zdXBwb3J0ZWRdLCBbCisgICAgICAgIF9BWF9DSEVDS19WU0NSSVBUKFstTV0sIFtzaG93XSwgW2F4X2N2X2NoZWNrX3ZzY3JpcHRfZmxhZz0tTV0pCisgICAgICBdKQorCisgICAgICBkbmwgVGhlIGxpbmtlciBtYXkgaW50ZXJwcmV0IC1NIChubyBhcmd1bWVudCkgYXMgInByb2R1Y2UgYSBsb2FkIG1hcC4iCisgICAgICBkbmwgSWYgIi1NIGNvbmZ0ZXN0Lm1hcCIgZG9lc24ndCBmYWlsIHdoZW4gY29uZnRlc3QubWFwIGNvbnRhaW5zCisgICAgICBkbmwgb2J2aW91cyBzeW50YXggZXJyb3JzLCBhc3N1bWUgdGhpcyBpcyB0aGUgY2FzZS4KKworICAgICAgQVNfSUYoW3Rlc3QgeCRheF9jdl9jaGVja192c2NyaXB0X2ZsYWcgIT0geHVuc3VwcG9ydGVkXSwgWworICAgICAgICBfQVhfQ0hFQ0tfVlNDUklQVChbJGF4X2N2X2NoZWNrX3ZzY3JpcHRfZmxhZ10sIFtzaG93XSwKKwkgICAgICAgICAgICAgICAgICBbYXhfY3ZfY2hlY2tfdnNjcmlwdF9mbGFnPXVuc3VwcG9ydGVkXSwgW3llc10pCisgICAgICBdKQorICAgIF0pCisKKyAgICBkbmwgSWYgdGhlIHNpbXBsZSB3aWxkY2FyZCB3b3JrZWQsIHJldGVzdCB3aXRoIGEgY29tcGxleCB3aWxkY2FyZC4KKworICAgIEFTX0lGKFt0ZXN0IHgkYXhfY3ZfY2hlY2tfdnNjcmlwdF9mbGFnICE9IHh1bnN1cHBvcnRlZF0sIFsKKyAgICAgIGF4X2NoZWNrX3ZzY3JpcHRfZmxhZz0kYXhfY3ZfY2hlY2tfdnNjcmlwdF9mbGFnCisgICAgICBBQ19DQUNIRV9DSEVDSyhbaWYgdmVyc2lvbiBzY3JpcHRzIGNhbiB1c2UgY29tcGxleCB3aWxkY2FyZHNdLAorICAgICAgICAgICAgICAgICAgICAgYXhfY3ZfY2hlY2tfdnNjcmlwdF9jb21wbGV4X3dpbGRjYXJkcywgWworICAgICAgICBheF9jdl9jaGVja192c2NyaXB0X2NvbXBsZXhfd2lsZGNhcmRzPW5vCisgICAgICAgIF9BWF9DSEVDS19WU0NSSVBUKFskYXhfY3ZfY2hlY2tfdnNjcmlwdF9mbGFnXSwgW3NoKl0sIFsKKyAgICAgICAgYXhfY3ZfY2hlY2tfdnNjcmlwdF9jb21wbGV4X3dpbGRjYXJkcz15ZXNdKQorICAgICAgXSkKKyAgICAgIGF4X2NoZWNrX3ZzY3JpcHRfY29tcGxleF93aWxkY2FyZHM9IiRheF9jdl9jaGVja192c2NyaXB0X2NvbXBsZXhfd2lsZGNhcmRzIgorICAgIF0sIFsKKyAgICAgIGF4X2NoZWNrX3ZzY3JpcHRfZmxhZz0KKyAgICAgIGF4X2NoZWNrX3ZzY3JpcHRfY29tcGxleF93aWxkY2FyZHM9bm8KKyAgICBdKQorICBdLCBbCisgICAgQUNfTVNHX0NIRUNLSU5HKFtsaW5rZXIgdmVyc2lvbiBzY3JpcHQgZmxhZ10pCisgICAgQUNfTVNHX1JFU1VMVChbZGlzYWJsZWRdKQorCisgICAgYXhfY2hlY2tfdnNjcmlwdF9mbGFnPQorICAgIGF4X2NoZWNrX3ZzY3JpcHRfY29tcGxleF93aWxkY2FyZHM9bm8KKyAgXSkKKworICBBU19JRihbdGVzdCB4JGF4X2NoZWNrX3ZzY3JpcHRfZmxhZyAhPSB4XSwgWworICAgIFZTQ1JJUFRfTERGTEFHUz0iLVdsLCRheF9jaGVja192c2NyaXB0X2ZsYWciCisgICAgQUNfU1VCU1QoW1ZTQ1JJUFRfTERGTEFHU10pCisgIF0pCisKKyAgQU1fQ09ORElUSU9OQUwoW0hBVkVfVlNDUklQVF0sCisgICAgW3Rlc3QgeCRheF9jaGVja192c2NyaXB0X2ZsYWcgIT0geF0pCisgIEFNX0NPTkRJVElPTkFMKFtIQVZFX1ZTQ1JJUFRfQ09NUExFWF0sCisgICAgW3Rlc3QgeCRheF9jaGVja192c2NyaXB0X2NvbXBsZXhfd2lsZGNhcmRzID0geHllc10pCisKK10pIGRubCBBWF9DSEVDS19WU0NSSVBUCmRpZmYgLS1naXQgYS9tNC9jb21waWxlci5tNCBiL200L2NvbXBpbGVyLm00Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1OGM3M2YKLS0tIC9kZXYvbnVsbAorKysgYi9tNC9jb21waWxlci5tNApAQCAtMCwwICsxLDQwIEBACitkbmwgQ29weXJpZ2h0IChDKSAyMDA4LTIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCitkbmwgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KK2RubCBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0LAorZG5sIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb25zLCBhcyBsb25nIGFzIHRoaXMgbm90aWNlIGlzIHByZXNlcnZlZC4KKworZG5sIEZyb20gU2ltb24gSm9zZWZzc29uCitkbmwgLS0gZGVyaXZhdGVkIGZyb20gY29yZXV0aWxzIG00L3dhcm5pbmdzLm00CisKKyMgVUxfQVNfVkFSX0FQUEVORChWQVIsIFZBTFVFKQorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFByb3ZpZGUgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgQVNfVkFSX0FQUEVORCBpZiBBdXRvY29uZiBkb2VzIG5vdCBoYXZlIGl0LgorbTRfaWZkZWYoW0FTX1ZBUl9BUFBFTkRdLAorW200X2NvcHkoW0FTX1ZBUl9BUFBFTkRdLCBbVUxfQVNfVkFSX0FQUEVORF0pXSwKK1ttNF9kZWZpbmUoW1VMX0FTX1ZBUl9BUFBFTkRdLAorW0FTX1ZBUl9TRVQoWyQxXSwgW0FTX1ZBUl9HRVQoWyQxXSkkMl0pXSldKQorCisjIFVMX0FERF9XQVJOKENPTVBJTEVSX09QVElPTiBbLCBWQVJOQU1FXSkKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEFkZHMgcGFyYW1ldGVyIHRvIFdBUk5fQ0ZMQUdTIChvciB0byAkVkFSTkFNRSkgaWYgdGhlIGNvbXBpbGVyIHN1cHBvcnRzIGl0LgorQUNfREVGVU4oW1VMX1dBUk5fQUREXSwgWworICBtNF9kZWZpbmUoW3dhcm52YXJuYW1lXSwgbTRfZGVmYXVsdChbJDJdLFdBUk5fQ0ZMQUdTKSkKKyAgQVNfVkFSX1BVU0hERUYoW3VsX1dhcm5dLCBbdWxfY3Zfd2Fybl8kMV0pZG5sCisgIEFDX0NBQ0hFX0NIRUNLKFt3aGV0aGVyIGNvbXBpbGVyIGhhbmRsZXMgJDFdLCBtNF9kZWZuKFt1bF9XYXJuXSksIFsKKyAgICAjIHN0b3JlIEFDX0xBTkdfV0VSUk9SIHN0YXR1cywgdGhlbiB0dXJuIGl0IG9uCisgICAgc2F2ZV9hY19bXV9BQ19MQU5HX0FCQlJFVltdX3dlcnJvcl9mbGFnPSIke2FjX1tdX0FDX0xBTkdfQUJCUkVWW11fd2Vycm9yX2ZsYWd9IgorICAgIEFDX0xBTkdfV0VSUk9SCisKKyAgICB1bF9zYXZlX0NQUEZMQUdTPSIkQ1BQRkxBR1MiCisgICAgQ1BQRkxBR1M9Ii1XZXJyb3IgJHtDUFBGTEFHU30gJDEiCisgICAgQUNfUFJFUFJPQ19JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbXSldLAorICAgICAgICAgICAgICAgICAgICAgIFtBU19WQVJfU0VUKHVsX1dhcm4sIFt5ZXNdKV0sCisgICAgICAgICAgICAgICAgICAgICAgW0FTX1ZBUl9TRVQodWxfV2FybiwgW25vXSldKQorICAgICMgcmVzdG9yZSBBQ19MQU5HX1dFUlJPUgorICAgIGFjX1tdX0FDX0xBTkdfQUJCUkVWW11fd2Vycm9yX2ZsYWc9IiR7c2F2ZV9hY19bXV9BQ19MQU5HX0FCQlJFVltdX3dlcnJvcl9mbGFnfSIKKworICAgIENQUEZMQUdTPSIkdWxfc2F2ZV9DUFBGTEFHUyIKKyAgXSkKKyAgQVNfVkFSX0lGKHVsX1dhcm4sIFt5ZXNdLCBbVUxfQVNfVkFSX0FQUEVORCh3YXJudmFybmFtZSwgWyIgJDEiXSldKQorXSkKKwpkaWZmIC0tZ2l0IGEvbTQvZ3RrLWRvYy5tNCBiL200L2d0ay1kb2MubTQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmZkZmExZAotLS0gL2Rldi9udWxsCisrKyBiL200L2d0ay1kb2MubTQKQEAgLTAsMCArMSwzOSBAQAorZG5sIC0qLSBtb2RlOiBhdXRvY29uZiAtKi0KKworIyBzZXJpYWwgMQorCitkbmwgVXNhZ2U6CitkbmwgICBHVEtfRE9DX0NIRUNLKFttaW5pbXVtLWd0ay1kb2MtdmVyc2lvbl0pCitBQ19ERUZVTihbR1RLX0RPQ19DSEVDS10sCitbCisgIEFDX0JFRk9SRShbQUNfUFJPR19MSUJUT09MXSxbJDBdKWRubCBzZXR1cCBsaWJ0b29sIGZpcnN0CisgIEFDX0JFRk9SRShbQU1fUFJPR19MSUJUT09MXSxbJDBdKWRubCBzZXR1cCBsaWJ0b29sIGZpcnN0CisgIGRubCBmb3Igb3ZlcnJpZGluZyB0aGUgZG9jdW1lbnRhdGlvbiBpbnN0YWxsYXRpb24gZGlyZWN0b3J5CisgIEFDX0FSR19XSVRIKFtodG1sLWRpcl0sCisgICAgQVNfSEVMUF9TVFJJTkcoWy0td2l0aC1odG1sLWRpcj1QQVRIXSwgW3BhdGggdG8gaW5zdGFsbGVkIGRvY3NdKSwsCisgICAgW3dpdGhfaHRtbF9kaXI9JyR7ZGF0YWRpcn0vZ3RrLWRvYy9odG1sJ10pCisgIEhUTUxfRElSPSIkd2l0aF9odG1sX2RpciIKKyAgQUNfU1VCU1QoW0hUTUxfRElSXSkKKworICBkbmwgZW5hYmxlL2Rpc2FibGUgZG9jdW1lbnRhdGlvbiBidWlsZGluZworICBBQ19BUkdfRU5BQkxFKFtndGstZG9jXSwKKyAgICBBU19IRUxQX1NUUklORyhbLS1lbmFibGUtZ3RrLWRvY10sCisgICAgICAgICAgICAgICAgICAgW3VzZSBndGstZG9jIHRvIGJ1aWxkIGRvY3VtZW50YXRpb24gW1tkZWZhdWx0PW5vXV1dKSwsCisgICAgW2VuYWJsZV9ndGtfZG9jPW5vXSkKKworICBpZiB0ZXN0IHgkZW5hYmxlX2d0a19kb2MgPSB4eWVzOyB0aGVuCisgICAgaWZlbHNlKFskMV0sW10sCisgICAgICBbUEtHX0NIRUNLX0VYSVNUUyhbZ3RrLWRvY10sLAorICAgICAgICAgICAgICAgICAgICAgICAgQUNfTVNHX0VSUk9SKFtndGstZG9jIG5vdCBpbnN0YWxsZWQgYW5kIC0tZW5hYmxlLWd0ay1kb2MgcmVxdWVzdGVkXSkpXSwKKyAgICAgIFtQS0dfQ0hFQ0tfRVhJU1RTKFtndGstZG9jID49ICQxXSwsCisgICAgICAgICAgICAgICAgICAgICAgICBBQ19NU0dfRVJST1IoW1lvdSBuZWVkIHRvIGhhdmUgZ3RrLWRvYyA+PSAkMSBpbnN0YWxsZWQgdG8gYnVpbGQgZ3RrLWRvY10pKV0pCisgIGZpCisKKyAgQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHRvIGJ1aWxkIGd0ay1kb2MgZG9jdW1lbnRhdGlvbl0pCisgIEFDX01TR19SRVNVTFQoJGVuYWJsZV9ndGtfZG9jKQorCisgIEFDX1BBVEhfUFJPR1MoR1RLRE9DX0NIRUNLLGd0a2RvYy1jaGVjaywpCisKKyAgQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9HVEtfRE9DXSwgW3Rlc3QgeCRlbmFibGVfZ3RrX2RvYyA9IHh5ZXNdKQorICBBTV9DT05ESVRJT05BTChbR1RLX0RPQ19VU0VfTElCVE9PTF0sIFt0ZXN0IC1uICIkTElCVE9PTCJdKQorXSkKZGlmZiAtLWdpdCBhL200L3Rscy5tNCBiL200L3Rscy5tNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjI0M2FhCi0tLSAvZGV2L251bGwKKysrIGIvbTQvdGxzLm00CkBAIC0wLDAgKzEsMTExIEBACisjCisjIEFYX0NIRUNLX1RMUyAtLSBjaGVjayB3aGV0aGVyIHRoZSB0YXJnZXQgc3VwcG9ydHMgVExTICh0aHJlYWQtbG9jYWwgc3RvcmFnZSkKKyMKKyMgQmFzZWQgb24gdGxzLm00IGZyb20gZ2NjIGFuZCBleHRlbmRlZCBieSBUTFMgbGluayB0ZXN0IGZvciBjcm9zcy1jb21waWxpbmcKKyMgc3VwcG9ydCBmcm9tIGh0dHA6Ly9vbGQubmFiYmxlLmNvbS9JbXByb3ZlLVRMUy1saW5rLXRlc3QtZm9yLWNyb3NzLWNvbXBpbGluZy10ZDI0MzEyOTc1Lmh0bWwKKyMKKyMgTm90ZSB0aGF0IEFYX1RMUyBmcm9tIGh0dHA6Ly9hdXRvY29uZi1hcmNoaXZlLmNyeXAudG8vYXhfdGxzLmh0bWwgc3VwcG9ydHMKKyMgbW9yZSBrZXl3b3JkcyBmb3IgVExTLiBXZSBhcmUgaGFwcHkgd2l0aCB0aGUgIl9fdGhyZWFkIiBvbmx5LgorIworIyAtLSBLYXJlbCBaYWsgKDA0LURlYy0yMDA5KQorIworZG5sIENoZWNrIHdoZXRoZXIgdGhlIHRhcmdldCBzdXBwb3J0cyBUTFMuCitBQ19ERUZVTihbQVhfQ0hFQ0tfVExTXSwgWworCisgIEFDX1JFUVVJUkUoW0FDX0NBTk9OSUNBTF9IT1NUXSkKKworICBBQ19BUkdfRU5BQkxFKFt0bHNdLAorICAgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtdGxzXSwgW2Rpc2FibGUgdXNlIG9mIHRocmVhZCBsb2NhbCBzdXBwb3J0XSksCisgICAgICBbXSwgZW5hYmxlX3Rscz15ZXMpCisKKyAgQUNfQ0FDSEVfQ0hFQ0soW3doZXRoZXIgdGhlIHRhcmdldCBzdXBwb3J0cyB0aHJlYWQtbG9jYWwgc3RvcmFnZV0sCisJCSBheF9jdl9oYXZlX3RscywgWworICAgIEFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtfX3RocmVhZCBpbnQgYTsgaW50IGI7IGludCBtYWluKCkgeyByZXR1cm4gYSA9IGI7IH1dKV0sCisgICAgICBbZG5sIElmIHRoZSB0ZXN0IGNhc2UgcGFzc2VkIHdpdGggZHluYW1pYyBsaW5raW5nLCB0cnkgYWdhaW4gd2l0aAorICAgICAgIGRubCBzdGF0aWMgbGlua2luZywgYnV0IG9ubHkgaWYgc3RhdGljIGxpbmtpbmcgaXMgc3VwcG9ydGVkIChub3QKKyAgICAgICBkbmwgb24gU29sYXJpcyAxMCkuICBUaGlzIGZhaWxzIHdpdGggc29tZSBvbGRlciBSZWQgSGF0IHJlbGVhc2VzLgorICAgICAgY2hrdGxzX3NhdmVfTERGTEFHUz0iJExERkxBR1MiCisgICAgICBMREZMQUdTPSItc3RhdGljICRMREZMQUdTIgorICAgICAgQUNfTElOS19JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtpbnQgbWFpbigpIHsgcmV0dXJuIDA7IH1dKV0sCisJQUNfUlVOX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW19fdGhyZWFkIGludCBhOyBpbnQgYjsgaW50IG1haW4oKSB7IHJldHVybiBhID0gYjsgfV0pXSwKKwkJICAgICAgW2F4X2N2X2hhdmVfdGxzPXllc10sIFtheF9jdl9oYXZlX3Rscz1ub10sW10pLAorCVtheF9jdl9oYXZlX3Rscz15ZXNdKQorICAgICAgTERGTEFHUz0iJGNoa3Rsc19zYXZlX0xERkxBR1MiCisgICAgICBpZiB0ZXN0ICRheF9jdl9oYXZlX3RscyA9IHllczsgdGhlbgorCWRubCBTbyBmYXIsIHRoZSBiaW51dGlscyBhbmQgdGhlIGNvbXBpbGVyIHN1cHBvcnQgVExTLgorCWRubCBBbHNvIGNoZWNrIHdoZXRoZXIgdGhlIGxpYmMgc3VwcG9ydHMgVExTLCBpLmUuIHdoZXRoZXIgYSB2YXJpYWJsZQorCWRubCB3aXRoIF9fdGhyZWFkIGxpbmthZ2UgaGFzIGEgZGlmZmVyZW50IGFkZHJlc3MgaW4gZGlmZmVyZW50IHRocmVhZHMuCisJZG5sIEZpcnN0LCBmaW5kIHRoZSB0aHJlYWRfQ0ZMQUdTIG5lY2Vzc2FyeSBmb3IgbGlua2luZyBhIHByb2dyYW0gdGhhdAorCWRubCBjYWxscyBwdGhyZWFkX2NyZWF0ZS4KKwljaGt0bHNfc2F2ZV9DRkxBR1M9IiRDRkxBR1MiCisJdGhyZWFkX0NGTEFHUz1mYWlsZWQKKwlmb3IgZmxhZyBpbiAnJyAnLXB0aHJlYWQnICctbHB0aHJlYWQnOyBkbworCSAgQ0ZMQUdTPSIkZmxhZyAkY2hrdGxzX3NhdmVfQ0ZMQUdTIgorCSAgQUNfTElOS19JRkVMU0UoCisJICAgIFtBQ19MQU5HX1BST0dSQU0oCisJICAgICAgIFsjaW5jbHVkZSA8cHRocmVhZC5oPgorCQl2b2lkICpnKHZvaWQgKmQpIHsgcmV0dXJuIE5VTEw7IH1dLAorCSAgICAgICBbcHRocmVhZF90IHQ7IHB0aHJlYWRfY3JlYXRlKCZ0LE5VTEwsZyxOVUxMKTtdKV0sCisJICAgIFt0aHJlYWRfQ0ZMQUdTPSIkZmxhZyJdKQorCSAgaWYgdGVzdCAiWCR0aHJlYWRfQ0ZMQUdTIiAhPSBYZmFpbGVkOyB0aGVuCisJICAgIGJyZWFrCisJICBmaQorCWRvbmUKKwlDRkxBR1M9IiRjaGt0bHNfc2F2ZV9DRkxBR1MiCisJaWYgdGVzdCAiWCR0aHJlYWRfQ0ZMQUdTIiAhPSBYZmFpbGVkOyB0aGVuCisJICBDRkxBR1M9IiR0aHJlYWRfQ0ZMQUdTICRjaGt0bHNfc2F2ZV9DRkxBR1MiCisJICBBQ19SVU5fSUZFTFNFKAorCSAgICBbQUNfTEFOR19QUk9HUkFNKAorCSAgICAgICBbI2luY2x1ZGUgPHB0aHJlYWQuaD4KKwkJX190aHJlYWQgaW50IGE7CisJCXN0YXRpYyBpbnQgKmFfaW5fb3RoZXJfdGhyZWFkOworCQlzdGF0aWMgdm9pZCAqCisJCXRocmVhZF9mdW5jICh2b2lkICphcmcpCisJCXsKKwkJICBhX2luX290aGVyX3RocmVhZCA9ICZhOworCQkgIHJldHVybiAodm9pZCAqKTA7CisJCX1dLAorCSAgICAgICBbcHRocmVhZF90IHRocmVhZDsKKwkJdm9pZCAqdGhyZWFkX3JldHZhbDsKKwkJaW50ICphX2luX21haW5fdGhyZWFkOworCQlpZiAocHRocmVhZF9jcmVhdGUgKCZ0aHJlYWQsIChwdGhyZWFkX2F0dHJfdCAqKTAsCisJCQkJICAgIHRocmVhZF9mdW5jLCAodm9pZCAqKTApKQorCQkgIHJldHVybiAwOworCQlhX2luX21haW5fdGhyZWFkID0gJmE7CisJCWlmIChwdGhyZWFkX2pvaW4gKHRocmVhZCwgJnRocmVhZF9yZXR2YWwpKQorCQkgIHJldHVybiAwOworCQlyZXR1cm4gKGFfaW5fb3RoZXJfdGhyZWFkID09IGFfaW5fbWFpbl90aHJlYWQpO10pXSwKKwkgICAgIFtheF9jdl9oYXZlX3Rscz15ZXNdLCBbYXhfY3ZfaGF2ZV90bHM9bm9dLCBbXSkKKwkgIENGTEFHUz0iJGNoa3Rsc19zYXZlX0NGTEFHUyIKKwlmaQorICAgICAgZmldLAorICAgICAgW2F4X2N2X2hhdmVfdGxzPW5vXSwKKyAgICAgIFtkbmwgVGhpcyBpcyB0aGUgY3Jvc3MtY29tcGlsaW5nIGNhc2UuIEFzc3VtZSBsaWJjIHN1cHBvcnRzIFRMUyBpZiB0aGUKKyAgICAgICBkbmwgYmludXRpbHMgYW5kIHRoZSBjb21waWxlciBkby4KKyAgICAgICBBQ19MSU5LX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW19fdGhyZWFkIGludCBhOyBpbnQgYjsgaW50IG1haW4oKSB7IHJldHVybiBhID0gYjsgfV0pXSwKKwkgW2Noa3Rsc19zYXZlX0xERkxBR1M9IiRMREZMQUdTIgorCSAgZG5sIFNoYXJlZCBsaWJyYXJ5IG9wdGlvbnMgbWF5IGRlcGVuZCBvbiB0aGUgaG9zdDsgdGhpcyBjaGVjaworCSAgZG5sIGlzIG9ubHkga25vd24gdG8gYmUgbmVlZGVkIGZvciBHTlUvTGludXguCisJICBjYXNlICRob3N0IGluCisJICAgICotKi1saW51eCopCisJICAgICAgTERGTEFHUz0iLXNoYXJlZCAtV2wsLS1uby11bmRlZmluZWQgJExERkxBR1MiCisJICAgICAgOzsKKwkgIGVzYWMKKwkgIGNoa3Rsc19zYXZlX0NGTEFHUz0iJENGTEFHUyIKKwkgIENGTEFHUz0iLWZQSUMgJENGTEFHUyIKKwkgIGRubCBJZiAtc2hhcmVkIHdvcmtzLCB0ZXN0IGlmIFRMUyB3b3JrcyBpbiBhIHNoYXJlZCBsaWJyYXJ5LgorCSAgQUNfTElOS19JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtpbnQgZigpIHsgcmV0dXJuIDA7IH1dKV0sCisJICAgIFtBQ19MSU5LX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW19fdGhyZWFkIGludCBhOyBpbnQgYjsgaW50IGYoKSB7IHJldHVybiBhID0gYjsgfV0pXSwKKwkgICAgICBbYXhfY3ZfaGF2ZV90bHM9eWVzXSwKKwkgICAgICBbYXhfY3ZfaGF2ZV90bHM9bm9dKV0sCisJICAgIFtheF9jdl9oYXZlX3Rscz15ZXNdKQorCSAgQ0ZMQUdTPSIkY2hrdGxzX3NhdmVfQ0ZMQUdTIgorCSAgTERGTEFHUz0iJGNoa3Rsc19zYXZlX0xERkxBR1MiXSwgW2F4X2N2X2hhdmVfdGxzPW5vXSkKKyAgICAgIF0KKyAgICApXSkKKworICBpZiB0ZXN0ICIkZW5hYmxlX3RscyAkYXhfY3ZfaGF2ZV90bHMiID0gInllcyB5ZXMiOyB0aGVuCisgICAgQUNfREVGSU5FKEhBVkVfVExTLCAxLAorCSAgICAgIFtEZWZpbmUgdG8gMSBpZiB0aGUgdGFyZ2V0IHN1cHBvcnRzIHRocmVhZC1sb2NhbCBzdG9yYWdlLl0pCisgIGZpCitdKQpkaWZmIC0tZ2l0IGEvbTQvdWwubTQgYi9tNC91bC5tNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYjA0YzEyCi0tLSAvZGV2L251bGwKKysrIGIvbTQvdWwubTQKQEAgLTAsMCArMSw1MDAgQEAKK2RubCBJZiBuZWVkZWQsIGRlZmluZSB0aGUgbTRfaWZibGFuayBhbmQgbTRfaWZuYmxhbmsgbWFjcm9zIGZyb20gYXV0b2NvbmYgMi42NAorZG5sIFRoaXMgYWxsb3dzIHVzIHRvIHJ1biB3aXRoIGVhcmxpZXIgQXV0b2NvbmZzIGFzIHdlbGwuCitkbmwKK2RubCBtNF9pZmJsYW5rKENPTkQsIFtJRi1CTEFOS10sIFtJRi1URVhUXSkKK2RubCBtNF9pZm5ibGFuayhDT05ELCBbSUYtVEVYVF0sIFtJRi1CTEFOS10pCitkbmwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorZG5sIElmIENPTkQgaXMgZW1wdHksIG9yIGNvbnNpc3RzIG9ubHkgb2YgYmxhbmtzIChzcGFjZSwgdGFiLCBuZXdsaW5lKSwKK2RubCB0aGVuIGV4cGFuZCBJRi1CTEFOSywgb3RoZXJ3aXNlIGV4cGFuZCBJRi1URVhULiAgVGhpcyBkaWZmZXJzIGZyb20KK2RubCBtNF9pZnZhbCBvbmx5IGlmIENPTkQgaGFzIGp1c3Qgd2hpdGVzcGFjZSwgYnV0IGl0IGhlbHBzIG9wdGltaXplIGluCitkbmwgc3BpdGUgb2YgdXNlcnMgd2hvIG1pc3Rha2VubHkgbGVhdmUgdHJhaWxpbmcgc3BhY2UgYWZ0ZXIgd2hhdCB0aGV5CitkbmwgdGhvdWdodCB3YXMgYW4gZW1wdHkgYXJndW1lbnQ6CitkbmwgICBtYWNybygKK2RubCAgICAgICAgIFtdCitkbmwgICAgICAgICkKK2RubAorZG5sIFdyaXRpbmcgb25lIG1hY3JvIGluIHRlcm1zIG9mIHRoZSBvdGhlciBjYXVzZXMgZXh0cmEgb3ZlcmhlYWQsIHNvCitkbmwgd2UgaW5saW5lIGJvdGggZGVmaW5pdGlvbnMuCitpZmRlZihbbTRfaWZibGFua10sW10sWworbTRfZGVmaW5lKFttNF9pZmJsYW5rXSwKK1ttNF9pZihtNF90cmFuc2xpdChbWyQxXV0sICBbIF1bCV1bCitdKSwgW10sIFskMl0sIFskM10pXSldKQorCitpZmRlZihbbTRfaWZuYmxhbmtdLFtdLFsKK200X2RlZmluZShbbTRfaWZuYmxhbmtdLAorW200X2lmKG00X3RyYW5zbGl0KFtbJDFdXSwgIFsgXVsJXVsKK10pLCBbXSwgWyQzXSwgWyQyXSldKV0pCisKK2RubCBVTF9QS0dfU1RBVElDKFZBUklBQkxFLCBNT0RVTEVTKQorZG5sCitkbmwgQ2FsbHMgcGtnLWNvbmZpZyAtLXN0YXRpYworZG5sCitBQ19ERUZVTihbVUxfUEtHX1NUQVRJQ10sIFsKKyAgaWYgQUNfUlVOX0xPRyhbJFBLR19DT05GSUcgLS1leGlzdHMgLS1wcmludC1lcnJvcnMgIiQyIl0pOyB0aGVuCisgICAgJDE9YCRQS0dfQ09ORklHIC0tbGlicyAtLXN0YXRpYyAiJDIiYAorICBlbHNlCisgICAgQUNfTVNHX0VSUk9SKFtwa2ctY29uZmlnIGRlc2NyaXB0aW9uIG9mICQyLCBuZWVkZWQgZm9yIHN0YXRpYyBidWlsZCwgaXMgbm90IGF2YWlsYWJsZV0pCisgIGZpCitdKQorCitkbmwgVUxfQ0hFQ0tfTElCKExJQlJBUlksIEZVTkNUSU9OLCBbVkFSU1VGRklYID0gJDFdKSkKK2RubAorZG5sIFRoZSBWQVJTVUZGSVggaXMgb3B0aW9uYWwgYW5kIG92ZXJyaWRlcyB0aGUgZGVmYXVsdCBiZWhhdmlvci4gRm9yIGV4YW1wbGU6CitkbmwgICAgIFVMX0NIRUNLX0xJQih5eXksIGZ1bmMsIHh4eCkgZ2VuZXJhdGVzIGhhdmVfeHh4IGFuZCBIQVZFX0xJQlhYWAorZG5sICAgICBVTF9DSEVDS19MSUIoeXl5LCBmdW5jKSAgICAgIGdlbmVyYXRlcyBoYXZlX3l5eSBhbmQgSEFWRV9MSUJZWVkKK2RubAorQUNfREVGVU4oW1VMX0NIRUNLX0xJQl0sIFsKKyAgbTRfZGVmaW5lKFtzdWZmaXhdLCBtNF9kZWZhdWx0KFskM10sJDEpKQorICBbaGF2ZV9dc3VmZml4PXllcworICBtNF9pZmRlZihbJDNdLAorICAgIFtBQ19DSEVDS19MSUIoWyQxXSwgWyQyXSwgW0FDX0RFRklORShBU19UUl9DUFAoW0hBVkVfTElCXXN1ZmZpeCksIDEpXSwgW1toYXZlX11zdWZmaXg9bm9dKV0sCisgICAgW0FDX0NIRUNLX0xJQihbJDFdLCBbJDJdLCBbXSwgW1toYXZlX11zdWZmaXg9bm9dKV0pCisgIEFNX0NPTkRJVElPTkFMKEFTX1RSX0NQUChbSEFWRV9dc3VmZml4KSwgW3Rlc3QgWyRoYXZlX11zdWZmaXggPSB5ZXNdKQorXSkKKworCitkbmwgVUxfU0VUX0FSQ0goQVJDSE5BTUUsIFBBVFRFUk4pCitkbmwKK2RubCBEZWZpbmUgQVJDSF88YXJjaG5hbWU+IGNvbmRpdGlvbiBpZiB0aGUgcGF0dGVybiBtYXRjaCB3aXRoIHRoZSBjdXJyZW50CitkbmwgYXJjaGl0ZWN0dXJlCitkbmwKK0FDX0RFRlVOKFtVTF9TRVRfQVJDSF0sIFsKKyAgY3B1XyQxPWZhbHNlCisgIGNhc2UgIiRob3N0IiBpbgorICAgJDIpIGNwdV8kMT10cnVlIDs7CisgIGVzYWMKKyAgQU1fQ09ORElUSU9OQUwoQVNfVFJfQ1BQKEFSQ0hfJDEpLCBbdGVzdCAieCRjcHVfJDEiID0geHRydWVdKQorXSkKKworCitkbmwgVUxfU0VUX0ZMQUdTKENGTEFHUywgQ1BQRkxBR1MsIExERkxBR1MpCitkbmwKK2RubCBTZXRzIG5ldyBnbG9iYWwgQ0ZMQUdTLCBDUFBGTEFHUyBhbmQgTERGTEFHLCB0aGUgb3JpZ2luYWwKK2RubCBzZXR0aW5nIGNvdWxkIGJlIHJlc3RvcmVkIGJ5IFVMX1JFU1RPUkVfRkxBR1MoKQorZG5sCitBQ19ERUZVTihbVUxfU0VUX0ZMQUdTXSwgWworICBvbGRfQ0ZMQUdTPSIkQ0ZMQUdTIgorICBvbGRfQ1BQRkxBR1M9IiRDUFBGTEFHUyIKKyAgb2xkX0xERkxBR1M9IiRMREZMQUdTIgorICBDRkxBR1M9IiRDRkxBR1MgJDEiCisgIENQUEZMQUdTPSIkQ1BQRkxBR1MgJDIiCisgIExERkxBR1M9IiRMREZMQUdTICQzIgorXSkKKworZG5sIFVMX1JFU1RPUkVfRkxBR1MoKQorZG5sCitkbmwgUmVzdG9yZXMgQ0ZMQUdTLCBDUFBGTEFHUyBhbmQgTERGTEFHIHByZXZpb3VzbHkgc2F2ZWQgYnkgVUxfU0VUX0ZMQUdTKCkKK2RubAorQUNfREVGVU4oW1VMX1JFU1RPUkVfRkxBR1NdLCBbCisgIENGTEFHUz0iJG9sZF9DRkxBR1MiCisgIENQUEZMQUdTPSIkb2xkX0NQUEZMQUdTIgorICBMREZMQUdTPSIkb2xkX0xERkxBR1MiCitdKQorCisKK2RubCBVTF9DSEVDS19TWVNDQUxMKFNZU0NBTEwsIEZBTExCQUNLLCAuLi4pCitkbmwKK2RubCBPbmx5IHNwZWNpZnkgRkFMTEJBQ0sgaWYgdGhlIFNZU0NBTEwgeW91J3JlIGNoZWNraW5nIGZvciBpcyBhICJuZXdpc2giIG9uZQorZG5sCitBQ19ERUZVTihbVUxfQ0hFQ0tfU1lTQ0FMTF0sIFsKKyAgZG5sIFRoaXMgbWFjcm8gdXNlcyBob3N0X2NwdS4KKyAgQUNfUkVRVUlSRShbQUNfQ0FOT05JQ0FMX0hPU1RdKQorICBBQ19DQUNIRV9DSEVDSyhbZm9yIHN5c2NhbGwgJDFdLAorICAgIFt1bF9jdl9zeXNjYWxsXyQxXSwKKyAgICBbX1VMX1NZU0NBTExfQ0hFQ0tfREVDTChbU1lTXyQxXSwKKyAgICAgIFtzeXNjYWxsPVNZU18kMV0sCisgICAgICBbZG5sIE91ciBsaWJjIGZhaWxlZCB1c2UsIHNvIHNlZSBpZiB3ZSBjYW4gZ2V0IHRoZSBrZXJuZWwKKyAgICAgIGRubCBoZWFkZXJzIHRvIHBsYXkgYmFsbCAuLi4KKyAgICAgIF9VTF9TWVNDQUxMX0NIRUNLX0RFQ0woW19OUl8kMV0sCisJW3N5c2NhbGw9X05SXyQxXSwKKwlbCisJICBzeXNjYWxsPW5vCisJICBpZiB0ZXN0ICJ4JGxpbnV4X29zIiA9IHh5ZXM7IHRoZW4KKwkgICAgY2FzZSAkaG9zdF9jcHUgaW4KKwkgICAgICBfVUxfQ0hFQ0tfU1lTQ0FMTF9GQUxMQkFDSyhtNF9zaGlmdCgkQCkpCisJICAgIGVzYWMKKwkgIGZpCisgICAgICAgIF0pCisgICAgICBdKQorICAgIHVsX2N2X3N5c2NhbGxfJDE9JHN5c2NhbGwKKyAgICBdKQorICBjYXNlICR1bF9jdl9zeXNjYWxsXyQxIGluICMoCisgIG5vKSBBQ19NU0dfV0FSTihbVW5hYmxlIHRvIGRldGVjdCBzeXNjYWxsICQxLl0pIDs7CisgIFNZU18qKSA7OworICAqKSBBQ19ERUZJTkVfVU5RVU9URUQoW1NZU18kMV0sIFskdWxfY3Zfc3lzY2FsbF8kMV0sCisJW0ZhbGxiYWNrIHN5c2NhbGwgbnVtYmVyIGZvciAkMV0pIDs7CisgIGVzYWMKK10pCisKKworZG5sIF9VTF9TWVNDQUxMX0NIRUNLX0RFQ0woU1lNQk9MLCBBQ1RJT04tSUYtRk9VTkQsIEFDVElPTi1JRi1OT1QtRk9VTkQpCitkbmwKK2RubCBDaGVjayBpZiBTWU1CT0wgaXMgZGVjbGFyZWQsIHVzaW5nIHRoZSBoZWFkZXJzIG5lZWRlZCBmb3Igc3lzY2FsbCBjaGVja3MuCitkbmwKK200X2RlZmluZShbX1VMX1NZU0NBTExfQ0hFQ0tfREVDTF0sCitbQUNfQ09NUElMRV9JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbWworI2luY2x1ZGUgPHN5cy9zeXNjYWxsLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CitdXSwgW1tpbnQgdGVzdCA9ICQxO11dKV0sCitbJDJdLCBbJDNdKQorXSkKKworZG5sIF9VTF9DSEVDS19TWVNDQUxMX0ZBTExCQUNLKFBBVFRFUk4sIFZBTFVFLCAuLi4pCitkbmwKK2RubCBIZWxwZXIgbWFjcm8gdG8gY3JlYXRlIHRoZSBib2R5IGZvciB0aGUgYWJvdmUgYGNhc2UnLgorZG5sCittNF9kZWZpbmUoW19VTF9DSEVDS19TWVNDQUxMX0ZBTExCQUNLXSwKK1ttNF9pZnZhbChbJDFdLAorICBbIygKKyAgJDEpIHN5c2NhbGw9IiQyIiA7O2RubAorICBfVUxfQ0hFQ0tfU1lTQ0FMTF9GQUxMQkFDSyhtNF9zaGlmdG4oMiwgJEApKV0pZG5sCitdKQorCisKK2RubCBVTF9SRVFVSVJFU19MSU5VWChOQU1FLCBbVkFSU1VGRklYID0gJDFdKQorZG5sCitkbmwgTW9kaWZpZXMgJGJ1aWxkXzxuYW1lPiAgdmFyaWFibGUgYWNjb3JkaW5nIHRvICRlbmFibGVfPG5hbWU+IGFuZCBPUyB0eXBlLiBUaGUKK2RubCAkZW5hYmxlXzxuYW1lPiBjb3VsZCBiZSAieWVzIiwgIm5vIiBhbmQgImNoZWNrIi4gSWYgYnVpbGRfPG5hbWU+IGlzICJubyIgdGhlbgorZG5sIGFsbCBjaGVja3MgYXJlIHNraXBlZC4KK2RubAorZG5sIFRoZSBkZWZhdWx0IDxuYW1lPiBmb3IgJGJ1aWxkXyBhbmQgJGVuYWJsZV8gY291bGQgYmUgb3ZlcndyaXRlZCBieSBvcHRpb24gJDIuCitkbmwKK0FDX0RFRlVOKFtVTF9SRVFVSVJFU19MSU5VWF0sIFsKKyAgbTRfZGVmaW5lKFtzdWZmaXhdLCBtNF9kZWZhdWx0KFskMl0sJDEpKQorICBpZiB0ZXN0ICJ4JFtidWlsZF9dc3VmZml4IiAhPSB4bm87IHRoZW4KKyAgICBBQ19SRVFVSVJFKFtBQ19DQU5PTklDQUxfSE9TVF0pCisgICAgY2FzZSAkW2VuYWJsZV9dc3VmZml4OiRsaW51eF9vcyBpbiAjKAorICAgIG5vOiopCisgICAgICBbYnVpbGRfXXN1ZmZpeD1ubyA7OworICAgIHllczp5ZXMpCisgICAgICBbYnVpbGRfXXN1ZmZpeD15ZXMgOzsKKyAgICB5ZXM6KikKKyAgICAgIEFDX01TR19FUlJPUihbJDEgc2VsZWN0ZWQgZm9yIG5vbi1saW51eCBzeXN0ZW1dKTs7CisgICAgY2hlY2s6eWVzKQorICAgICAgW2J1aWxkX11zdWZmaXg9eWVzIDs7CisgICAgY2hlY2s6KikKKyAgICAgIEFDX01TR19XQVJOKFtub24tbGludXggc3lzdGVtOyBub3QgYnVpbGRpbmcgJDFdKQorICAgICAgW2J1aWxkX11zdWZmaXg9bm8gOzsKKyAgICBlc2FjCisgIGZpCitdKQorCisKK2RubCBVTF9FWENMVURFX0FSQ0goTkFNRSwgQVJDSCwgW1ZBUlNVRkZJWCA9ICQxXSkKK2RubAorZG5sIE1vZGlmaWVzICRidWlsZF88bmFtZT4gIHZhcmlhYmxlIGFjY29yZGluZyB0byAkZW5hYmxlXzxuYW1lPiBhbmQgJGhvc3QuIFRoZQorZG5sICRlbmFibGVfPG5hbWU+IGNvdWxkIGJlICJ5ZXMiLCAibm8iIGFuZCAiY2hlY2siLiBJZiBidWlsZF88bmFtZT4gaXMgIm5vIiB0aGVuCitkbmwgYWxsIGNoZWNrcyBhcmUgc2tpcGVkLgorZG5sCitkbmwgVGhlIGRlZmF1bHQgPG5hbWU+IGZvciAkYnVpbGRfIGFuZCAkZW5hYmxlXyBjb3VsZCBiZSBvdmVyd3JpdGVkIGJ5IG9wdGlvbiAkMy4KK2RubAorQUNfREVGVU4oW1VMX0VYQ0xVREVfQVJDSF0sIFsKKyAgbTRfZGVmaW5lKFtzdWZmaXhdLCBtNF9kZWZhdWx0KFskM10sJDEpKQorICBpZiB0ZXN0ICJ4JFtidWlsZF9dc3VmZml4IiAhPSB4bm87IHRoZW4KKyAgICBBQ19SRVFVSVJFKFtBQ19DQU5PTklDQUxfSE9TVF0pCisgICAgY2FzZSAkW2VuYWJsZV9dc3VmZml4OiIkaG9zdCIgaW4gIygKKyAgICBubzoqKQorICAgICAgW2J1aWxkX11zdWZmaXg9bm8gOzsKKyAgICB5ZXM6JDIpCisgICAgICBBQ19NU0dfRVJST1IoWyQxIHNlbGVjdGVkIGZvciB1bnN1cHBvcnRlZCBhcmNoaXRlY3R1cmVdKTs7CisgICAgeWVzOiopCisgICAgICBbYnVpbGRfXXN1ZmZpeD15ZXMgOzsKKyAgICBjaGVjazokMikKKyAgICAgIEFDX01TR19XQVJOKFtleGNsdWRlZCBmb3IgJGhvc3QgYXJjaGl0ZWN0dXJlOyBub3QgYnVpbGRpbmcgJDFdKQorICAgICAgW2J1aWxkX11zdWZmaXg9bm8gOzsKKyAgICBjaGVjazoqKQorICAgICAgW2J1aWxkX11zdWZmaXg9eWVzIDs7CisgICAgZXNhYworICBmaQorXSkKKworZG5sIFVMX1JFUVVJUkVTX0hBVkUoTkFNRSwgSEFWRU5BTUUsIEhBVkVERVNDLCBbVkFSU1VGRklYPSQxXSkKK2RubAorZG5sIE1vZGlmaWVzICRidWlsZF88bmFtZT4gdmFyaWFibGUgYWNjb3JkaW5nIHRvICRlbmFibGVfPG5hbWU+IGFuZAorZG5sICRoYXZlXzxoYXZlbmFtZT4uICBUaGUgPGhhdmVkZXNjPiBpcyBkZXNjcmlwdGlvbiB1c2VkIGZvciB3YXJuaW5nL2Vycm9yCitkbmwgbWVzc2FnZSAoZS5nLiAiZnVuY3Rpb24iKS4KK2RubAorZG5sIFRoZSA8aGF2ZW5hbWU+IG1heWJlIGEgbGlzdCwgdGhlbiBhdCBsZWFzdCBvbmUgb2YgdGhlIGl0ZW1zIGluIHRoZSBsaXN0CitkbmwgaGF2ZSB0byBleGlzdCwgZm9yIGV4YW1wbGU6IFtuY3Vyc2VzLCB0aW5mb10gbWVhbnMgdGhhdCBoYXZlX25jdXJzZXI9eWVzCitkbmwgKm9yKiBoYXZlX3RpbmZvPXllcyBtdXN0IGJlIGRlZmluZWQuCitkbmwKK2RubCBUaGUgZGVmYXVsdCA8bmFtZT4gZm9yICRidWlsZF8gYW5kICRlbmFibGVfIGNvdWxkIGJlIG92ZXJ3cml0ZWQgYnkgb3B0aW9uICQ0LgorZG5sCitBQ19ERUZVTihbVUxfUkVRVUlSRVNfSEFWRV0sIFsKKyAgbTRfZGVmaW5lKFtzdWZmaXhdLCBtNF9kZWZhdWx0KFskNF0sJDEpKQorCisgIGlmIHRlc3QgIngkW2J1aWxkX11zdWZmaXgiICE9IHhubzsgdGhlbgorCisgICAgW3VsX2hhdmVvbmVfXXN1ZmZpeD1ubworICAgIG00X2ZvcmVhY2goW29uZWhhdmVdLCBbJDJdLCAgWworICAgICAgaWYgdGVzdCAieCRbaGF2ZV9db25laGF2ZSIgPSB4eWVzOyB0aGVuCisgICAgICAgIFt1bF9oYXZlb25lX11zdWZmaXg9eWVzCisgICAgICBmaQorICAgIF0pZG5sCisKKyAgICBjYXNlICRbZW5hYmxlX11zdWZmaXg6JFt1bF9oYXZlb25lX11zdWZmaXggaW4gIygKKyAgICBubzoqKQorICAgICAgW2J1aWxkX11zdWZmaXg9bm8gOzsKKyAgICB5ZXM6eWVzKQorICAgICAgW2J1aWxkX11zdWZmaXg9eWVzIDs7CisgICAgeWVzOiopCisgICAgICBBQ19NU0dfRVJST1IoWyQxIHNlbGVjdGVkLCBidXQgcmVxdWlyZWQgJDMgbm90IGF2YWlsYWJsZV0pOzsKKyAgICBjaGVjazp5ZXMpCisgICAgICBbYnVpbGRfXXN1ZmZpeD15ZXMgOzsKKyAgICBjaGVjazoqKQorICAgICAgQUNfTVNHX1dBUk4oWyQzIG5vdCBmb3VuZDsgbm90IGJ1aWxkaW5nICQxXSkKKyAgICAgIFtidWlsZF9dc3VmZml4PW5vIDs7CisgICAgZXNhYworICBmaQorXSkKKworZG5sIFVMX1JFUVVJUkVTX0hBVkUoTkFNRSwgUFJPR1JBTV9QUk9MT0dVRSwgUFJPR1JBTV9CT0RZLCBERVNDLCBbVkFSU1VGRklYPSQxXSkKK2RubAorZG5sIE1vZGlmaWVzICRidWlsZF88bmFtZT4gdmFyaWFibGUgYWNjb3JkaW5nIHRvICRlbmFibGVfPG5hbWU+IGFuZAorZG5sIGFiaWxpdHkgY29tcGlsZSBBQ19MQU5HX1BST0dSQU0oPHByb2dyYW1fcHJvbG9ndWU+LCA8cHJvZ3JhbV9ib2R5PikuICAKK2RubAorZG5sIFRoZSA8ZGVzYz4gaXMgZGVzY3JpcHRpb24gdXNlZCBmb3Igd2FybmluZy9lcnJvciBkbmwgbWVzc2FnZSAoZS5nLiAiZm9vIHN1cHBvcnQiKS4KK2RubAorZG5sIFRoZSBkZWZhdWx0IDxuYW1lPiBmb3IgJGJ1aWxkXyBhbmQgJGVuYWJsZV8gY291bGQgYmUgb3ZlcndyaXRlZCBieSBvcHRpb24gJDUuCisKK0FDX0RFRlVOKFtVTF9SRVFVSVJFU19DT01QSUxFXSwgWworICBtNF9kZWZpbmUoW3N1ZmZpeF0sIG00X2RlZmF1bHQoWyQ1XSwkMSkpCisKKyAgaWYgdGVzdCAieCRbYnVpbGRfXXN1ZmZpeCIgIT0geG5vOyB0aGVuCisKKyAgICBBQ19NU0dfQ0hFQ0tJTkcoWyQ0XSkKKyAgICBBQ19DT01QSUxFX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKFskMl0sIFskM10pXSwKKwlbQUNfTVNHX1JFU1VMVChbeWVzXSkKKwkgW3VsX2hhdmVwcm9ncmFtX11zdWZmaXg9eWVzXSwKKwlbQUNfTVNHX1JFU1VMVChbbm9dKQorCSBbdWxfaGF2ZXByb2dyYW1fXXN1ZmZpeD1ub10pCisKKyAgICBjYXNlICRbZW5hYmxlX11zdWZmaXg6JFt1bF9oYXZlcHJvZ3JhbV9dc3VmZml4IGluICMoCisgICAgbm86KikKKyAgICAgIFtidWlsZF9dc3VmZml4PW5vIDs7CisgICAgeWVzOnllcykKKyAgICAgIFtidWlsZF9dc3VmZml4PXllcyA7OworICAgIHllczoqKQorICAgICAgQUNfTVNHX0VSUk9SKFskMSBzZWxlY3RlZCwgYnV0IHJlcXVpcmVkICQ0IG5vdCBhdmFpbGFibGVdKTs7CisgICAgY2hlY2s6eWVzKQorICAgICAgW2J1aWxkX11zdWZmaXg9eWVzIDs7CisgICAgY2hlY2s6KikKKyAgICAgIEFDX01TR19XQVJOKFskNCBub3QgZm91bmQ7IG5vdCBidWlsZGluZyAkMV0pCisgICAgICBbYnVpbGRfXXN1ZmZpeD1ubyA7OworICAgIGVzYWMKKyAgZmkKK10pCisKK2RubAorZG5sIFVMX0NPTkZMSUNUU19CVUlMRChOQU1FLCBBTk9USEVSLCBBTk9USEVSREVTQywgW1ZBUlNVRkZJWD0kMV0pCitkbmwKK2RubCAtIGVuZHMgd2l0aCBlcnJvciBpZiAkZW5hYmxlXzxuYW1lPiBhbmQgJGJ1aWxkXzxhbm90aGVyPgorZG5sICAgYXJlIGJvdGggc2V0IHRvICd5ZXMnCitkbmwgLSBzZXRzICRidWlsZF88bmFtZT4gdG8gJ25vJyBpZiAkYnVpbGRfPGFub3RoZXI+IGlzICd5ZXMnIGFuZAorZG5sICAgJGVuYWJsZV88bmFtZT4gaXMgJ2NoZWNrJyBvciAnbm8nCitkbmwKK2RubCBUaGUgPGhhdmVkZXNjPiBpcyBkZXNjcmlwdGlvbiB1c2VkIGZvciB3YXJuaW5nL2Vycm9yCitkbmwgbWVzc2FnZSAoZS5nLiAiZnVuY3Rpb24iKS4KK2RubAorZG5sIFRoZSBkZWZhdWx0IDxuYW1lPiBmb3IgJGJ1aWxkXyBhbmQgJGVuYWJsZV8gY291bGQgYmUgb3ZlcndyaXRlZCBieSBvcHRpb24gJDQuCitkbmwKK0FDX0RFRlVOKFtVTF9DT05GTElDVFNfQlVJTERdLCBbCisgIG00X2RlZmluZShbc3VmZml4XSwgbTRfZGVmYXVsdChbJDRdLCQxKSkKKworICBpZiB0ZXN0ICJ4JFtidWlsZF9dc3VmZml4IiAhPSB4bm87IHRoZW4KKyAgICBjYXNlICRbZW5hYmxlX11zdWZmaXg6JFtidWlsZF9dJDIgaW4gIygKKyAgICBubzoqKQorICAgICAgW2J1aWxkX11zdWZmaXg9bm8gOzsKKyAgICBjaGVjazp5ZXMpCisgICAgICBbYnVpbGRfXXN1ZmZpeD1ubyA7OworICAgIGNoZWNrOm5vKQorICAgICAgW2J1aWxkX11zdWZmaXg9eWVzIDs7CisgICAgeWVzOnllcykKKyAgICAgIEFDX01TR19FUlJPUihbJDEgc2VsZWN0ZWQsIGJ1dCBpdCBjb25mbGljdHMgd2l0aCAkM10pOzsKKyAgICBlc2FjCisgIGZpCitdKQorCisKK2RubCBVTF9SRVFVSVJFU19CVUlMRChOQU1FLCBCVUlMRE5BTUUsIFtWQVJTVUZGSVg9JDFdKQorZG5sCitkbmwgTW9kaWZpZXMgJGJ1aWxkXzxuYW1lPiB2YXJpYWJsZSBhY2NvcmRpbmcgdG8gJGVuYWJsZV88bmFtZT4gYW5kICRoYXZlX2Z1bmNuYW1lLgorZG5sCitkbmwgVGhlIGRlZmF1bHQgPG5hbWU+IGZvciAkYnVpbGRfIGFuZCAkZW5hYmxlXyBjb3VsZCBiZSBvdmVyd3JpdGVkIGJ5IG9wdGlvbiAkMy4KK2RubAorQUNfREVGVU4oW1VMX1JFUVVJUkVTX0JVSUxEXSwgWworICBtNF9kZWZpbmUoW3N1ZmZpeF0sIG00X2RlZmF1bHQoWyQzXSwkMSkpCisKKyAgaWYgdGVzdCAieCRbYnVpbGRfXXN1ZmZpeCIgIT0geG5vOyB0aGVuCisgICAgY2FzZSAkW2VuYWJsZV9dc3VmZml4OiRbYnVpbGRfXSQyIGluICMoCisgICAgbm86KikKKyAgICAgIFtidWlsZF9dc3VmZml4PW5vIDs7CisgICAgeWVzOnllcykKKyAgICAgIFtidWlsZF9dc3VmZml4PXllcyA7OworICAgIHllczoqKQorICAgICAgQUNfTVNHX0VSUk9SKFskMiBpcyBuZWVkZWQgdG8gYnVpbGQgJDFdKTs7CisgICAgY2hlY2s6eWVzKQorICAgICAgW2J1aWxkX11zdWZmaXg9eWVzIDs7CisgICAgY2hlY2s6KikKKyAgICAgIEFDX01TR19XQVJOKFskMiBkaXNhYmxlZDsgbm90IGJ1aWxkaW5nICQxXSkKKyAgICAgIFtidWlsZF9dc3VmZml4PW5vIDs7CisgICAgZXNhYworICBmaQorXSkKKworZG5sIFVMX1JFUVVJUkVTX1NZU0NBTExfQ0hFQ0soTkFNRSwgU1lTQ0FMTC1URVNULCBbU1lTQ0FMTE5BTUU9JDFdLCBbVkFSU1VGRklYPSQxXSkKK2RubAorZG5sIE1vZGlmaWVzICRidWlsZF88bmFtZT4gdmFyaWFibGUgYWNjb3JkaW5nIHRvICRlbmFibGVfPG5hbWU+IGFuZCBTWVNDQUxMLVRFU1QKK2RubCByZXN1bHQuIFRoZSAkZW5hYmxlXzxuYW1lPiB2YXJpYWJsZSBjb3VsZCBiZSAieWVzIiwgIm5vIiBhbmQgImNoZWNrIi4gSWYgYnVpbGRfPG5hbWU+CitkbmwgaXMgIm5vIiB0aGVuIGFsbCBjaGVja3MgYXJlIHNraXBlZC4KK2RubAorZG5sIE5vdGUgdGhhdCBTWVNDQUxMLVRFU1QgaGFzIHRvIGRlZmluZSAkdWxfY3Zfc3lzY2FsbF88bmFtZT4gdmFyaWFibGUsIHNlZQorZG5sIGFsc28gVUxfQ0hFQ0tfU1lTQ0FMTCgpLgorZG5sCitkbmwgVGhlIGRlZmF1bHQgPG5hbWU+IGZvciAkYnVpbGRfIGFuZCAkZW5hYmxlXyBjb3VudCBiZSBvdmVyd3JpdGVkIGJ5IG9wdGlvbiAkNCBhbmQKK2RubCAkdWxfY3Zfc3lzY2FsbF8gY291bGQgYmUgb3ZlcndyaXRlZCBieSAkMy4KK2RubAorQUNfREVGVU4oW1VMX1JFUVVJUkVTX1NZU0NBTExfQ0hFQ0tdLCBbCisgIG00X2RlZmluZShbc3VmZml4XSwgbTRfZGVmYXVsdChbJDRdLCQxKSkKKyAgbTRfZGVmaW5lKFtjYWxsbmFtZV0sIG00X2RlZmF1bHQoWyQzXSwkMSkpCisKKyAgaWYgdGVzdCAieCRbYnVpbGRfXXN1ZmZpeCIgIT0geG5vOyB0aGVuCisgICAgaWYgdGVzdCAieCRbZW5hYmxlX11zdWZmaXgiID0geG5vOyB0aGVuCisgICAgICBbYnVpbGRfXXN1ZmZpeD1ubworICAgIGVsc2UKKyAgICAgICQyCisgICAgICBjYXNlICRbZW5hYmxlX11zdWZmaXg6JFt1bF9jdl9zeXNjYWxsX11jYWxsbmFtZSBpbiAjKAorICAgICAgbm86KikKKyAgICAgICAgW2J1aWxkX11zdWZmaXg9bm8gOzsKKyAgICAgIHllczpubykKKyAgICAgICAgQUNfTVNHX0VSUk9SKFskMSBzZWxlY3RlZCBidXQgY2FsbG5hbWUgc3lzY2FsbCBub3QgZm91bmRdKSA7OworICAgICAgY2hlY2s6bm8pCisgICAgICAgIEFDX01TR19XQVJOKFtjYWxsbmFtZSBzeXNjYWxsIG5vdCBmb3VuZDsgbm90IGJ1aWxkaW5nICQxXSkKKyAgICAgICAgW2J1aWxkX11zdWZmaXg9bm8gOzsKKyAgICAgICopCisgICAgICAgIGRubCBkZWZhdWx0ICR1bF9jdl9zeXNjYWxsXyBpcyBTWVNfIHZhbHVlCisgICAgICAgIFtidWlsZF9dc3VmZml4PXllcyA7OworICAgICAgZXNhYworICAgIGZpCisgIGZpCitdKQorCitkbmwgVUxfQlVJTERfSU5JVChOQU1FLCBbRU5BQkxFX1NUQVRFXSwgW1ZBUlNVRkZJWCA9ICQxXSkKK2RubAorZG5sIEluaXRpYWxpemVzICRidWlsZF88bmFtZT4gIHZhcmlhYmxlIGFjY29yZGluZyB0byAkZW5hYmxlXzxuYW1lPi4gSWYKK2RubCAkZW5hYmxlXzxuYW1lPiBpcyB1bmRlZmluZWQgdGhlbiBFTkFCTEVfU1RBVEUgaXMgdXNlZCBhbmQgJGVuYWJsZV88bmFtZT4gaXMKK2RubCBzZXQgdG8gRU5BQkxFX1NUQVRFLgorZG5sCitkbmwgVGhlIGRlZmF1bHQgPG5hbWU+IGZvciAkYnVpbGRfIGFuZCAkZW5hYmxlXyBjb3VsZCBiZSBvdmVyd3JpdGVkIGJ5IG9wdGlvbiAkMy4KK2RubAorQUNfREVGVU4oW1VMX0JVSUxEX0lOSVRdLCBbCisgIG00X2RlZmluZShbc3VmZml4XSwgbTRfZGVmYXVsdChbJDNdLCQxKSkKKyAgbTRfaWZibGFuayhbJDJdLAorW2lmIHRlc3QgIngkZW5hYmxlX1tdc3VmZml4IiA9IHhubzsgdGhlbgorICAgYnVpbGRfW11zdWZmaXg9bm8KK2Vsc2UKKyAgIGJ1aWxkX1tdc3VmZml4PXllcworZmldLAorW2lmIHRlc3QgIngkdWxfZGVmYXVsdF9lc3RhdGUiICE9IHg7IHRoZW4KKyAgZW5hYmxlX1tdc3VmZml4PSR1bF9kZWZhdWx0X2VzdGF0ZQorICBidWlsZF9bXXN1ZmZpeD15ZXMKKyAgaWYgdGVzdCAieCR1bF9kZWZhdWx0X2VzdGF0ZSIgPSB4bm87IHRoZW4KKyAgICBidWlsZF9bXXN1ZmZpeD1ubworICBmaQorZWxzZVtdCisgIGlmZWxzZSgKKyAgICAgIFskMl0sIFtjaGVja10sWworICBidWlsZF9bXXN1ZmZpeD15ZXMKKyAgZW5hYmxlX1tdc3VmZml4PWNoZWNrXSwKKyAgICAgIFskMl0sIFt5ZXNdLFsKKyAgYnVpbGRfW11zdWZmaXg9eWVzCisgIGVuYWJsZV9bXXN1ZmZpeD15ZXNdLAorICAgICAgWyQyXSwgW25vXSwgWworICBidWlsZF9bXXN1ZmZpeD1ubworICBlbmFibGVfW11zdWZmaXg9bm9dKQorZmldKQorXSkKKworZG5sIFVMX0RFRkFVTFRfRU5BQkxFKE5BTUUsIEVOQUJMRV9TVEFURSkKK2RubAorZG5sIEluaXRpYWxpemVzICRlbmFibGVfPG5hbWU+ICB2YXJpYWJsZSBhY2NvcmRpbmcgdG8gRU5BQkxFX1NUQVRFLiBUaGUgZGVmYXVsdAorZG5sIHNldHRpbmcgaXMgcG9zc2libGUgdG8gb3ZlcnJpZGUgYnkgZ2xvYmFsICR1bF9kZWZhdWx0X2VzdGF0ZS4KK2RubAorQUNfREVGVU4oW1VMX0RFRkFVTFRfRU5BQkxFXSwgWworICBtNF9kZWZpbmUoW3N1ZmZpeF0sICQxKQorICBpZiB0ZXN0ICJ4JHVsX2RlZmF1bHRfZXN0YXRlIiAhPSB4OyB0aGVuCisgICAgZW5hYmxlX1tdc3VmZml4PSR1bF9kZWZhdWx0X2VzdGF0ZQorICBlbHNlCisgICAgZW5hYmxlX1tdc3VmZml4PSQyCisgIGZpCitdKQorCisKK2RubCBVTF9FTkFCTEVfQUxJQVMoTkFNRSwgTUFTVEVSTkFNRSkKK2RubAorZG5sIEluaXRpYWxpemVzICRlbmFibGVfPG5hbWU+IHZhcmlhYmxlIGFjY29yZGluZyB0byAkZW5hYmxlXzxtYXN0ZXJuYW1lPi4gVGhpcworZG5sIGlzIHVzZWZ1bGwgZm9yIGV4YW1wbGUgaWYgeW91IHdhbnQgdG8gdXNlIG9uZSAtLWVuYWJsZS1tYXN0ZXJuYW1lIG9wdGlvbgorZG5sIGZvciBncm91cCBvZiBwcm9ncmFtcy4KK2RubAorQUNfREVGVU4oW1VMX0VOQUJMRV9BTElBU10sIFsKKyAgbTRfZGVmaW5lKFtzdWZmaXhdLCAkMSkKKyAgbTRfZGVmaW5lKFttYXN0ZXJzdWZmaXhdLCAkMikKKworICBlbmFibGVfW11zdWZmaXg9JGVuYWJsZV9bXW1hc3RlcnN1ZmZpeAorXSkKKworCitkbmwgVUxfTkNVUlNFU19DSEVDSyhOQU1FKQorZG5sCitkbmwgSW5pdGlhbGl6ZXMgJGhhdmVfPG5hbWU+LCBOQ1VSU0VTX0xJQlMgYW5kIE5DVVJTRVNfQ0ZMQUdTIHZhcmlhYmxlcyBhY2NvcmRpbmcgdG8KK2RubCA8bmFtZT57Niw1fV9jb25maWcgb3V0cHV0LgorZG5sCitkbmwgVGhlIGV4cGVjdGVkIDxuYW1lPiBpcyBuY3Vyc2VzIG9yIG5jdXJzZXN3LgorZG5sCitBQ19ERUZVTihbVUxfTkNVUlNFU19DSEVDS10sIFsKKyAgbTRfZGVmaW5lKFtzdWZmaXhdLCAkMSkKKyAgbTRfZGVmaW5lKFtTVUZGSVhdLCBtNF90b3VwcGVyKCQxKSkKKworICAjIHBrZy1jb25maWcgKG5vdCBzdXBwb3J0ZWQgYnkgbmN1cnNlcyB1cHN0cmVhbSBieSBkZWZhdWx0KQorICAjCisgIFBLR19DSEVDS19NT0RVTEVTKFNVRkZJWCwgWyQxXSwgWworICAgIGhhdmVfW11zdWZmaXg9eWVzCisgICAgTkNVUlNFU19MSUJTPSR7U1VGRklYW11fTElCU30KKyAgICBOQ1VSU0VTX0NGTEFHUz0ke1NVRkZJWFtdX0NGTEFHU30KKyAgXSxbaGF2ZV9bXXN1ZmZpeD1ub10pCisKKyAgIyBuY3Vyc2VzNi1jb25maWcKKyAgIworICBBU19JRihbdGVzdCAieCRoYXZlX1tdc3VmZml4IiA9IHhub10sIFsKKyAgICBBQ19DSEVDS19UT09MKFNVRkZJWFtdNl9DT05GSUcsIHN1ZmZpeFtdNi1jb25maWcpCisgICAgaWYgQUNfUlVOX0xPRyhbJFNVRkZJWFtdNl9DT05GSUcgLS12ZXJzaW9uID4vZGV2L251bGxdKTsgdGhlbgorICAgICAgaGF2ZV9bXXN1ZmZpeD15ZXMKKyAgICAgIE5DVVJTRVNfTElCUz1gJFNVRkZJWFtdNl9DT05GSUcgLS1saWJzYAorICAgICAgTkNVUlNFU19DRkxBR1M9YCRTVUZGSVhbXTZfQ09ORklHIC0tY2ZsYWdzYAorICAgIGVsc2UKKyAgICAgIGhhdmVfW11zdWZmaXg9bm8KKyAgICBmaQorICBdKQorCisgICMgbmN1cnNlczUtY29uZmlnCisgICMKKyAgQVNfSUYoW3Rlc3QgIngkaGF2ZV9bXXN1ZmZpeCIgPSB4bm9dLCBbCisgICAgQUNfQ0hFQ0tfVE9PTChTVUZGSVhbXTVfQ09ORklHLCBzdWZmaXhbXTUtY29uZmlnKQorICAgIGlmIEFDX1JVTl9MT0coWyRTVUZGSVhbXTVfQ09ORklHIC0tdmVyc2lvbiA+L2Rldi9udWxsXSk7IHRoZW4KKyAgICAgIGhhdmVfW11zdWZmaXg9eWVzCisgICAgICBOQ1VSU0VTX0xJQlM9YCRTVUZGSVhbXTVfQ09ORklHIC0tbGlic2AKKyAgICAgIE5DVVJTRVNfQ0ZMQUdTPWAkU1VGRklYW101X0NPTkZJRyAtLWNmbGFnc2AKKyAgICBlbHNlCisgICAgICBoYXZlX1tdc3VmZml4PW5vCisgICAgZmkKKyAgXSkKKworICAjIGNsYXNzaWMgYXV0b2NvbmYgd2F5CisgICMKKyAgQVNfSUYoW3Rlc3QgIngkaGF2ZV9bXXN1ZmZpeCIgPSB4bm9dLCBbCisgICAgQVNfSUYoW3Rlc3QgIngkaGF2ZV9bXXN1ZmZpeCIgPSB4bm9dLCBbCisgICAgICBBQ19DSEVDS19MSUIoWyQxXSwgW2luaXRzY3JdLCBbaGF2ZV9bXXN1ZmZpeD15ZXNdLCBbaGF2ZV9bXXN1ZmZpeD1ub10pCisgICAgICBBU19JRihbdGVzdCAieCRoYXZlX1tdc3VmZml4IiA9IHh5ZXNdLCBbTkNVUlNFU19MSUJTPSItbFtdc3VmZml4Il0pCisgICAgXSkKKyAgXSkKK10pCmRpZmYgLS1naXQgYS9taXNjLXV0aWxzLy5naXRpZ25vcmUgYi9taXNjLXV0aWxzLy5naXRpZ25vcmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGIxNDhiYQotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvLmdpdGlnbm9yZQpAQCAtMCwwICsxLDQgQEAKK3V1aWRkLjgKK3V1aWRkLnJjCit1dWlkZC5zZXJ2aWNlCit1dWlkZC5zb2NrZXQKZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvTWFrZW1vZHVsZS5hbSBiL21pc2MtdXRpbHMvTWFrZW1vZHVsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTlkZjJjCi0tLSAvZGV2L251bGwKKysrIGIvbWlzYy11dGlscy9NYWtlbW9kdWxlLmFtCkBAIC0wLDAgKzEsMTgyIEBACitpZiBCVUlMRF9DQUwKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IGNhbAorZGlzdF9tYW5fTUFOUyArPSBtaXNjLXV0aWxzL2NhbC4xCitjYWxfU09VUkNFUyA9IG1pc2MtdXRpbHMvY2FsLmMKK2NhbF9DRkxBR1MgPSAkKEFNX0NGTEFHUykgJChOQ1VSU0VTX0NGTEFHUykKK2NhbF9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYSBsaWJ0Y29sb3JzLmxhICQoTkNVUlNFU19MSUJTKQorZW5kaWYgIyBCVUlMRF9DQUwKKworCitpZiBCVUlMRF9MT0dHRVIKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IGxvZ2dlcgorZGlzdF9tYW5fTUFOUyArPSBtaXNjLXV0aWxzL2xvZ2dlci4xCitsb2dnZXJfU09VUkNFUyA9IG1pc2MtdXRpbHMvbG9nZ2VyLmMgbGliL3N0cnV0aWxzLmMgbGliL3N0cnYuYworbG9nZ2VyX0xEQUREID0gJChMREFERCkKK2xvZ2dlcl9DRkxBR1MgPSAkKEFNX0NGTEFHUykKK2lmIEhBVkVfU1lTVEVNRAorbG9nZ2VyX0xEQUREICs9ICQoU1lTVEVNRF9MSUJTKSAkKFNZU1RFTURfREFFTU9OX0xJQlMpICQoU1lTVEVNRF9KT1VSTkFMX0xJQlMpCitsb2dnZXJfQ0ZMQUdTICs9ICQoU1lTVEVNRF9DRkxBR1MpICQoU1lTVEVNRF9EQUVNT05fQ0ZMQUdTKSAkKFNZU1RFTURfSk9VUk5BTF9DRkxBR1MpCitlbmRpZgorCitjaGVja19QUk9HUkFNUyArPSB0ZXN0X2xvZ2dlcgordGVzdF9sb2dnZXJfU09VUkNFUyA9ICQobG9nZ2VyX1NPVVJDRVMpCit0ZXN0X2xvZ2dlcl9MREFERCA9ICQobG9nZ2VyX0xEQUREKQordGVzdF9sb2dnZXJfQ0ZMQUdTID0gLURURVNUX0xPR0dFUiAkKGxvZ2dlcl9DRkxBR1MpCitlbmRpZiAjIEJVSUxEX0xPR0dFUgorCisKK2lmIEJVSUxEX0xPT0sKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IGxvb2sKK2Rpc3RfbWFuX01BTlMgKz0gbWlzYy11dGlscy9sb29rLjEKK2xvb2tfU09VUkNFUyA9IG1pc2MtdXRpbHMvbG9vay5jCitlbmRpZgorCitpZiBCVUlMRF9NQ09PS0lFCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSBtY29va2llCitkaXN0X21hbl9NQU5TICs9IG1pc2MtdXRpbHMvbWNvb2tpZS4xCittY29va2llX1NPVVJDRVMgPSBtaXNjLXV0aWxzL21jb29raWUuYyBsaWIvbWQ1LmMKK21jb29raWVfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEKK2VuZGlmCisKK2lmIEJVSUxEX05BTUVJCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSBuYW1laQorZGlzdF9tYW5fTUFOUyArPSBtaXNjLXV0aWxzL25hbWVpLjEKK25hbWVpX1NPVVJDRVMgPSBtaXNjLXV0aWxzL25hbWVpLmMgbGliL3N0cnV0aWxzLmMgbGliL2lkY2FjaGUuYworZW5kaWYKKworaWYgQlVJTERfV0hFUkVJUwordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gd2hlcmVpcworZGlzdF9tYW5fTUFOUyArPSBtaXNjLXV0aWxzL3doZXJlaXMuMQord2hlcmVpc19TT1VSQ0VTID0gbWlzYy11dGlscy93aGVyZWlzLmMKK3doZXJlaXNfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEKK2VuZGlmCisKK2lmIEJVSUxEX0xTTE9DS1MKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IGxzbG9ja3MKK2Rpc3RfbWFuX01BTlMgKz0gbWlzYy11dGlscy9sc2xvY2tzLjgKK2xzbG9ja3NfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEgbGlibW91bnQubGEgbGlic21hcnRjb2xzLmxhCitsc2xvY2tzX1NPVVJDRVMgPSBtaXNjLXV0aWxzL2xzbG9ja3MuYworbHNsb2Nrc19DRkxBR1MgPSAkKEFNX0NGTEFHUykgLUkkKHVsX2xpYm1vdW50X2luY2RpcikgLUkkKHVsX2xpYnNtYXJ0Y29sc19pbmNkaXIpCitlbmRpZgorCitpZiBCVUlMRF9MU0JMSworYmluX1BST0dSQU1TICs9IGxzYmxrCitkaXN0X21hbl9NQU5TICs9IG1pc2MtdXRpbHMvbHNibGsuOAorbHNibGtfU09VUkNFUyA9IG1pc2MtdXRpbHMvbHNibGsuYworbHNibGtfTERBREQgPSAkKExEQUREKSBsaWJibGtpZC5sYSBsaWJtb3VudC5sYSBsaWJjb21tb24ubGEgbGlic21hcnRjb2xzLmxhCitsc2Jsa19DRkxBR1MgPSAkKEFNX0NGTEFHUykgLUkkKHVsX2xpYmJsa2lkX2luY2RpcikgLUkkKHVsX2xpYm1vdW50X2luY2RpcikgLUkkKHVsX2xpYnNtYXJ0Y29sc19pbmNkaXIpCitpZiBIQVZFX1VERVYKK2xzYmxrX0xEQUREICs9IC1sdWRldgorZW5kaWYKK2VuZGlmICMgQlVJTERfTFNCTEsKKworaWYgQlVJTERfVVVJREdFTgordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gdXVpZGdlbgorZGlzdF9tYW5fTUFOUyArPSBtaXNjLXV0aWxzL3V1aWRnZW4uMQordXVpZGdlbl9TT1VSQ0VTID0gbWlzYy11dGlscy91dWlkZ2VuLmMKK3V1aWRnZW5fTERBREQgPSAkKExEQUREKSBsaWJ1dWlkLmxhCit1dWlkZ2VuX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtSSQodWxfbGlidXVpZF9pbmNkaXIpCitlbmRpZgorCitpZiBCVUlMRF9VVUlERAordXNyc2Jpbl9leGVjX1BST0dSQU1TICs9IHV1aWRkCitkaXN0X21hbl9NQU5TICs9IG1pc2MtdXRpbHMvdXVpZGQuOAordXVpZGRfTERBREQgPSAkKExEQUREKSBsaWJ1dWlkLmxhIGxpYmNvbW1vbi5sYSAkKFJFQUxUSU1FX0xJQlMpCit1dWlkZF9DRkxBR1MgPSAkKERBRU1PTl9DRkxBR1MpICQoQU1fQ0ZMQUdTKSAtSSQodWxfbGlidXVpZF9pbmNkaXIpCit1dWlkZF9MREZMQUdTID0gJChEQUVNT05fTERGTEFHUykgJChBTV9MREZMQUdTKQordXVpZGRfU09VUkNFUyA9IG1pc2MtdXRpbHMvdXVpZGQuYyBsaWIvbW9ub3RvbmljLmMgbGliL3RpbWVyLmMKK2lmIEhBVkVfU1lTVEVNRAordXVpZGRfTERBREQgKz0gJChTWVNURU1EX0xJQlMpICQoU1lTVEVNRF9EQUVNT05fTElCUykKK3V1aWRkX0NGTEFHUyArPSAkKFNZU1RFTURfQ0ZMQUdTKSAkKFNZU1RFTURfREFFTU9OX0NGTEFHUykKK3N5c3RlbWRzeXN0ZW11bml0X0RBVEEgKz0gXAorCW1pc2MtdXRpbHMvdXVpZGQuc2VydmljZSBcCisJbWlzYy11dGlscy91dWlkZC5zb2NrZXQKK2VuZGlmCisKK2NoZWNrX1BST0dSQU1TICs9IHRlc3RfdXVpZGQKK3Rlc3RfdXVpZGRfU09VUkNFUyA9IG1pc2MtdXRpbHMvdGVzdF91dWlkZC5jCit0ZXN0X3V1aWRkX0xEQUREID0gICQoTERBREQpIGxpYmNvbW1vbi5sYSBsaWJ1dWlkLmxhIC1scHRocmVhZAordGVzdF91dWlkZF9DRkxBR1MgPSAkKEFNX0NGTEFHUykgLUkkKHVsX2xpYnV1aWRfaW5jZGlyKQorZW5kaWYgIyBCVUlMRF9VVUlERAorCitQQVRIRklMRVMgKz0gXAorCW1pc2MtdXRpbHMvdXVpZGQuOCBcCisJbWlzYy11dGlscy91dWlkZC5yYyBcCisJbWlzYy11dGlscy91dWlkZC5zZXJ2aWNlIFwKKwltaXNjLXV0aWxzL3V1aWRkLnNvY2tldAorCitpZiBCVUlMRF9CTEtJRAorc2Jpbl9QUk9HUkFNUyArPSBibGtpZAorZGlzdF9tYW5fTUFOUyArPSBtaXNjLXV0aWxzL2Jsa2lkLjgKK2Jsa2lkX1NPVVJDRVMgPSBtaXNjLXV0aWxzL2Jsa2lkLmMKK2Jsa2lkX0xEQUREID0gJChMREFERCkgbGliYmxraWQubGEgbGliY29tbW9uLmxhCitibGtpZF9DRkxBR1MgPSAkKEFNX0NGTEFHUykgLUkkKHVsX2xpYmJsa2lkX2luY2RpcikKKworaWYgSEFWRV9TVEFUSUNfQkxLSUQKK3NiaW5fUFJPR1JBTVMgKz0gYmxraWQuc3RhdGljCitibGtpZF9zdGF0aWNfU09VUkNFUyA9ICQoYmxraWRfU09VUkNFUykKK2Jsa2lkX3N0YXRpY19MREZMQUdTID0gLWFsbC1zdGF0aWMKK2Jsa2lkX3N0YXRpY19MREFERCA9ICQoTERBREQpIGxpYmJsa2lkLmxhCitibGtpZF9zdGF0aWNfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1JJCh1bF9saWJibGtpZF9pbmNkaXIpCitlbmRpZgorZW5kaWYgIyBCVUlMRF9CTEtJRAorCisKK2lmIEJVSUxEX0ZJTkRGUworc2Jpbl9QUk9HUkFNUyArPSBmaW5kZnMKK2Rpc3RfbWFuX01BTlMgKz0gbWlzYy11dGlscy9maW5kZnMuOAorZmluZGZzX0xEQUREID0gJChMREFERCkgbGliYmxraWQubGEKK2ZpbmRmc19TT1VSQ0VTID0gbWlzYy11dGlscy9maW5kZnMuYworZmluZGZzX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtSSQodWxfbGliYmxraWRfaW5jZGlyKQorZW5kaWYKKworaWYgQlVJTERfV0lQRUZTCitzYmluX1BST0dSQU1TICs9IHdpcGVmcworZGlzdF9tYW5fTUFOUyArPSBtaXNjLXV0aWxzL3dpcGVmcy44Cit3aXBlZnNfU09VUkNFUyA9IG1pc2MtdXRpbHMvd2lwZWZzLmMKK3dpcGVmc19MREFERCA9ICQoTERBREQpIGxpYmJsa2lkLmxhIGxpYmNvbW1vbi5sYQord2lwZWZzX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtSSQodWxfbGliYmxraWRfaW5jZGlyKQorZW5kaWYKKworaWYgQlVJTERfRklORE1OVAorYmluX1BST0dSQU1TICs9IGZpbmRtbnQKK2Rpc3RfbWFuX01BTlMgKz0gbWlzYy11dGlscy9maW5kbW50LjgKK2ZpbmRtbnRfTERBREQgPSAkKExEQUREKSBsaWJtb3VudC5sYSBcCisJCWxpYmNvbW1vbi5sYSBcCisJCWxpYnNtYXJ0Y29scy5sYSBcCisJCWxpYmJsa2lkLmxhCitmaW5kbW50X0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSBcCisJCS1JJCh1bF9saWJtb3VudF9pbmNkaXIpIFwKKwkJLUkkKHVsX2xpYnNtYXJ0Y29sc19pbmNkaXIpIFwKKwkJLUkkKHVsX2xpYmJsa2lkX2luY2RpcikKK2ZpbmRtbnRfU09VUkNFUyA9IG1pc2MtdXRpbHMvZmluZG1udC5jIFwKKwkJICBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmMgXAorCQkgIG1pc2MtdXRpbHMvZmluZG1udC5oCitpZiBIQVZFX1VERVYKK2ZpbmRtbnRfTERBREQgKz0gLWx1ZGV2CitlbmRpZgorZW5kaWYgIyBCVUlMRF9GSU5ETU5UCisKKworaWYgQlVJTERfS0lMTAorYmluX1BST0dSQU1TICs9IGtpbGwKK2tpbGxfU09VUkNFUyA9IG1pc2MtdXRpbHMva2lsbC5jCitraWxsX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCitkaXN0X21hbl9NQU5TICs9IG1pc2MtdXRpbHMva2lsbC4xCitlbmRpZgorCitpZiBCVUlMRF9SRU5BTUUKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IHJlbmFtZQorZGlzdF9tYW5fTUFOUyArPSBtaXNjLXV0aWxzL3JlbmFtZS4xCityZW5hbWVfU09VUkNFUyA9IG1pc2MtdXRpbHMvcmVuYW1lLmMKK2VuZGlmCisKK2lmIEJVSUxEX0dFVE9QVAordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gZ2V0b3B0CitkaXN0X21hbl9NQU5TICs9IG1pc2MtdXRpbHMvZ2V0b3B0LjEKK2dldG9wdF9TT1VSQ0VTID0gbWlzYy11dGlscy9nZXRvcHQuYworZ2V0b3B0ZXhhbXBsZWRpciA9ICQoZG9jZGlyKS9nZXRvcHQvCitkaXN0X2dldG9wdGV4YW1wbGVfU0NSSVBUUyA9IFwKKwltaXNjLXV0aWxzL2dldG9wdC1wYXJzZS5iYXNoIFwKKwltaXNjLXV0aWxzL2dldG9wdC1wYXJzZS50Y3NoCitlbmRpZgpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy9ibGtpZC44IGIvbWlzYy11dGlscy9ibGtpZC44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjMzJlMzMKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL2Jsa2lkLjgKQEAgLTAsMCArMSwzMjAgQEAKKy5cIiBDb3B5cmlnaHQgMjAwMCBBbmRyZWFzIERpbGdlciAoYWRpbGdlckB0dXJib2xpbnV4LmNvbSkKKy5cIgorLlwiIFRoaXMgZmlsZSBtYXkgYmUgY29waWVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIFB1YmxpYyBMaWNlbnNlLgorLlRIIEJMS0lEIDggIk1hcmNoIDIwMTMiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK2Jsa2lkIFwtIGxvY2F0ZS9wcmludCBibG9jayBkZXZpY2UgYXR0cmlidXRlcworLlNIIFNZTk9QU0lTCisuQiBibGtpZAorLkJJIFwtTCAiIGxhYmVsIgorfAorLkJJIFwtVSAiIHV1aWQiCisKKy5CIGJsa2lkCisuUkIgWyBcLWRnaGx2IF0KKy5SQiBbIFwtYworLklSIGZpbGUgXQorLlJCIFsgXC1vCisuSVIgZm9ybWF0IF0KKy5SQiBbIFwtcworLklSIHRhZyBdCisuaW4gKzYKKy5SQiBbIFwtdAorLklSIE5BTUU9dmFsdWUgXQorLlJJIFsgZGV2aWNlICIgLi4uXSIKKy5pbiAtNgorCisuQiBibGtpZAorLkJSIC1wICIgWyIgXC1PCisuSVIgb2Zmc2V0IF0KKy5SQiBbIFwtbworLklSIGZvcm1hdCBdCisuUkIgWyBcLVMKKy5JUiBzaXplIF0KKy5SQiBbIFwtcworLklSIHRhZyBdCisuaW4gKzkKKy5SQiBbIFwtbgorLklSIGxpc3QgXQorLlJCIFsgXC11CisuSVIgbGlzdCBdCisuSVIgZGV2aWNlICIgLi4uIgorLmluIC05CisKKy5CIGJsa2lkCisuQlIgLWkgIiBbIiBcLW8KKy5JUiBmb3JtYXQgXQorLlJCIFsgXC1zCisuSVIgdGFnIF0KKy5JUiBkZXZpY2UgIiAuLi4iCisKKy5TSCBERVNDUklQVElPTgorVGhlCisuQiBibGtpZAorcHJvZ3JhbSBpcyB0aGUgY29tbWFuZC1saW5lIGludGVyZmFjZSB0byB3b3JraW5nIHdpdGggdGhlCisuQlIgbGliYmxraWQgKDMpCitsaWJyYXJ5LiAgSXQgY2FuIGRldGVybWluZSB0aGUgdHlwZSBvZiBjb250ZW50IChlLmcuIGZpbGVzeXN0ZW0gb3Igc3dhcCkKK3RoYXQgYSBibG9jayBkZXZpY2UgaG9sZHMsIGFuZCBhbHNvIHRoZSBhdHRyaWJ1dGVzICh0b2tlbnMsIE5BTUU9dmFsdWUgcGFpcnMpCitmcm9tIHRoZSBjb250ZW50IG1ldGFkYXRhIChlLmcuIExBQkVMIG9yIFVVSUQgZmllbGRzKS4KKy5QUAorLkIgSXQgaXMgcmVjb21tZW5kZWQgdG8gdXNlCisuQlIgbHNibGsgKDgpCisuQiBjb21tYW5kIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCBibG9jayBkZXZpY2VzIHJhdGhlciB0aGFuIGJsa2lkLgorLkJSIGxzYmxrICg4KQorcHJvdmlkZXMgbW9yZSBpbmZvcm1hdGlvbiwgYmV0dGVyIGNvbnRyb2wgb24gb3V0cHV0IGZvcm1hdHRpbmcgYW5kIGl0IGRvZXMgbm90CityZXF1aXJlIHJvb3QgcGVybWlzc2lvbnMgdG8gZ2V0IGFjdHVhbCBpbmZvcm1hdGlvbi4KKy5QUAorV2hlbgorLkkgZGV2aWNlCitpcyBzcGVjaWZpZWQsIHRva2VucyBmcm9tIG9ubHkgdGhpcyBkZXZpY2UgYXJlIGRpc3BsYXllZC4KK0l0IGlzIHBvc3NpYmxlIHRvIHNwZWNpZnkgbXVsdGlwbGUKKy5JIGRldmljZQorYXJndW1lbnRzIG9uIHRoZSBjb21tYW5kIGxpbmUuCitJZiBub25lIGlzIGdpdmVuLCBhbGwgZGV2aWNlcyB3aGljaCBhcHBlYXIgaW4KKy5JIC9wcm9jL3BhcnRpdGlvbnMKK2FyZSBzaG93biwgaWYgdGhleSBhcmUgcmVjb2duaXplZC4KKy5QUAorTm90ZSB0aGF0CisuQiBibGtpZAorcmVhZHMgaW5mb3JtYXRpb24gZGlyZWN0bHkgZnJvbSBkZXZpY2VzIGFuZCBmb3Igbm9uLXJvb3QgdXNlcnMKK2l0IHJldHVybnMgY2FjaGVkIHVudmVyaWZpZWQgaW5mb3JtYXRpb24uICBJdCBpcyBiZXR0ZXIgdG8gdXNlCisuQiBsc2JsayAtLWZzCit0byBnZXQgYSB1c2VyLWZyaWVuZGx5IG92ZXJ2aWV3IG9mIGZpbGVzeXN0ZW1zIGFuZCBkZXZpY2VzLgorLkJSIGxzYmxrICg4KQoraXMgYWxzbyBlYXN5IHRvIHVzZSBpbiBzY3JpcHRzLgorLkIgYmxraWQKK2lzIG1vc3RseSBkZXNpZ25lZCBmb3Igc3lzdGVtIHNlcnZpY2VzIGFuZCB0byB0ZXN0IGxpYmJsa2lkIGZ1bmN0aW9uYWxpdHkuCisuUFAKKy5CIGJsa2lkCitoYXMgdHdvIG1haW4gZm9ybXMgb2Ygb3BlcmF0aW9uOiBlaXRoZXIgc2VhcmNoaW5nIGZvciBhIGRldmljZSB3aXRoIGEKK3NwZWNpZmljIE5BTUU9dmFsdWUgcGFpciwgb3IgZGlzcGxheWluZyBOQU1FPXZhbHVlIHBhaXJzIGZvciBvbmUgb3IKK21vcmUgc3BlY2lmaWVkIGRldmljZXMuCisuU0ggT1BUSU9OUworVGhlIFxmSXNpemVcZlIgYW5kIFxmSW9mZnNldFxmUiBhcmd1bWVudHMgbWF5IGJlIGZvbGxvd2VkIGJ5IHRoZSBtdWx0aXBsaWNhdGl2ZQorc3VmZml4ZXMgbGlrZSBLaUIgKD0xMDI0KSwgTWlCICg9MTAyNCoxMDI0KSwgYW5kIHNvIG9uIGZvciBHaUIsIFRpQiwgUGlCLCBFaUIsIFppQiBhbmQgWWlCCisodGhlICJpQiIgaXMgb3B0aW9uYWwsIGUuZy4gIksiIGhhcyB0aGUgc2FtZSBtZWFuaW5nIGFzICJLaUIiKSwgb3IgdGhlIHN1ZmZpeGVzCitLQiAoPTEwMDApLCBNQiAoPTEwMDAqMTAwMCksIGFuZCBzbyBvbiBmb3IgR0IsIFRCLCBQQiwgRUIsIFpCIGFuZCBZQi4KKy5UUAorLkJJIFwtYyAiIGNhY2hlZmlsZSIKK1JlYWQgZnJvbQorLkkgY2FjaGVmaWxlCitpbnN0ZWFkIG9mIHJlYWRpbmcgZnJvbSB0aGUgZGVmYXVsdCBjYWNoZSBmaWxlIChzZWUgdGhlIENPTkZJR1VSQVRJT04gRklMRSBzZWN0aW9uCitmb3IgbW9yZSBkZXRhaWxzKS4gIElmIHlvdSB3YW50IHRvIHN0YXJ0IHdpdGggYSBjbGVhbiBjYWNoZSAoaS5lLiBkb24ndCByZXBvcnQKK2RldmljZXMgcHJldmlvdXNseSBzY2FubmVkIGJ1dCBub3QgbmVjZXNzYXJpbHkgYXZhaWxhYmxlIGF0IHRoaXMgdGltZSksIHNwZWNpZnkKKy5JUiAvZGV2L251bGwgLgorLlRQCisuQiBcLWQKK0Rvbid0IGVuY29kZSBub24tcHJpbnRpbmcgY2hhcmFjdGVycy4gIFRoZSBub24tcHJpbnRpbmcgY2hhcmFjdGVycyBhcmUgZW5jb2RlZAorYnkgXiBhbmQgTS0gbm90YXRpb24gYnkgZGVmYXVsdC4gIE5vdGUgdGhhdCB0aGUgXGZCLW8gdWRldlxmUiBvdXRwdXQgZm9ybWF0IHVzZXMKK2EgZGlmZmVyZW50IGVuY29kaW5nIHdoaWNoIGNhbm5vdCBiZSBkaXNhYmxlZC4KKy5UUAorLkIgXC1nCitQZXJmb3JtIGEgZ2FyYmFnZSBjb2xsZWN0aW9uIHBhc3Mgb24gdGhlIGJsa2lkIGNhY2hlIHRvIHJlbW92ZQorZGV2aWNlcyB3aGljaCBubyBsb25nZXIgZXhpc3QuCisuVFAKKy5CIFwtaAorRGlzcGxheSBhIHVzYWdlIG1lc3NhZ2UgYW5kIGV4aXQuCisuVFAKKy5CIFwtaQorRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBJL08gTGltaXRzIChha2EgSS9PIHRvcG9sb2d5KS4gIFRoZSAnZXhwb3J0JyBvdXRwdXQgZm9ybWF0IGlzCithdXRvbWF0aWNhbGx5IGVuYWJsZWQuICBUaGlzIG9wdGlvbiBjYW4gYmUgdXNlZCB0b2dldGhlciB3aXRoIHRoZSBcZkItcFxmUiBvcHRpb24uCisuVFAKKy5CIFwtaworTGlzdCBhbGwga25vd24gZmlsZXN5c3RlbXMgYW5kIFJBSURzIGFuZCBleGl0LgorLlRQCisuQiBcLWwKK0xvb2sgdXAgb25seSBvbmUgZGV2aWNlIHRoYXQgbWF0Y2hlcyB0aGUgc2VhcmNoIHBhcmFtZXRlciBzcGVjaWZpZWQgd2l0aCB0aGUgXGZCLXRcZlIKK29wdGlvbi4gIElmIHRoZXJlIGFyZSBtdWx0aXBsZSBkZXZpY2VzIHRoYXQgbWF0Y2ggdGhlIHNwZWNpZmllZCBzZWFyY2gKK3BhcmFtZXRlciwgdGhlbiB0aGUgZGV2aWNlIHdpdGggdGhlIGhpZ2hlc3QgcHJpb3JpdHkgaXMgcmV0dXJuZWQsIGFuZC9vcgordGhlIGZpcnN0IGRldmljZSBmb3VuZCBhdCBhIGdpdmVuIHByaW9yaXR5LiAgRGV2aWNlIHR5cGVzIGluIG9yZGVyIG9mCitkZWNyZWFzaW5nIHByaW9yaXR5IGFyZTogRGV2aWNlIE1hcHBlciwgRVZNUywgTFZNLCBNRCwgYW5kIGZpbmFsbHkgcmVndWxhcgorYmxvY2sgZGV2aWNlcy4gIElmIHRoaXMgb3B0aW9uIGlzIG5vdCBzcGVjaWZpZWQsCisuQiBibGtpZAord2lsbCBwcmludCBhbGwgb2YgdGhlIGRldmljZXMgdGhhdCBtYXRjaCB0aGUgc2VhcmNoIHBhcmFtZXRlci4KKy5UUAorLkJJIFwtTCAiIGxhYmVsIgorTG9vayB1cCB0aGUgZGV2aWNlIHRoYXQgdXNlcyB0aGlzIGZpbGVzeXN0ZW0gXGZJbGFiZWxcZlI7IHRoaXMgaXMgZXF1YWwgdG8KKy5CUiAiLWwgLW8gZGV2aWNlIC10IExBQkVMPVxmSWxhYmVsXGZSIiAuCitUaGlzIGxvb2t1cCBtZXRob2QgaXMgYWJsZSB0byByZWxpYWJseSB1c2UgL2Rldi9kaXNrL2J5LWxhYmVsCit1ZGV2IHN5bWxpbmtzIChkZXBlbmRlbnQgb24gYSBzZXR0aW5nIGluIC9ldGMvYmxraWQuY29uZikuICBBdm9pZCB1c2luZyB0aGUKK3N5bWxpbmtzIGRpcmVjdGx5OyBpdCBpcyBub3QgcmVsaWFibGUgdG8gdXNlIHRoZSBzeW1saW5rcyB3aXRob3V0IHZlcmlmaWNhdGlvbi4KK1RoZSBcZkItTFxmUiBvcHRpb24gd29ya3Mgb24gc3lzdGVtcyB3aXRoIGFuZCB3aXRob3V0IHVkZXYuCisKK1VuZm9ydHVuYXRlbHksIHRoZSBvcmlnaW5hbAorLkJSIGJsa2lkICg4KQorZnJvbSBlMmZzcHJvZ3MgdXNlcyB0aGUgXGZCLUxcZlIgb3B0aW9uIGFzIGEKK3N5bm9ueW0gZm9yIFxmQi1vIGxpc3RcZlIuICBGb3IgYmV0dGVyIHBvcnRhYmlsaXR5LCB1c2UgXGZCLWwgLW8gZGV2aWNlCistdCBMQUJFTD1cZklsYWJlbFxmUiBhbmQgXGZCLW8gbGlzdFxmUiBpbiB5b3VyIHNjcmlwdHMgcmF0aGVyIHRoYW4gdGhlIFxmQi1MXGZSIG9wdGlvbi4KKy5UUAorLkJJIFwtbiAiIGxpc3QiCitSZXN0cmljdCB0aGUgcHJvYmluZyBmdW5jdGlvbnMgdG8gdGhlIHNwZWNpZmllZCAoY29tbWEtc2VwYXJhdGVkKSBcZklsaXN0XGZSIG9mCitzdXBlcmJsb2NrIHR5cGVzIChuYW1lcykuCitUaGUgbGlzdCBpdGVtcyBtYXkgYmUgcHJlZml4ZWQgd2l0aCAibm8iIHRvIHNwZWNpZnkgdGhlIHR5cGVzIHdoaWNoIHNob3VsZCBiZSBpZ25vcmVkLgorRm9yIGV4YW1wbGU6Cisuc3AKKyAgYmxraWQgLXAgLW4gdmZhdCxleHQzLGV4dDQgL2Rldi9zZGExCisuc3AKK3Byb2JlcyBmb3IgdmZhdCwgZXh0MyBhbmQgZXh0NCBmaWxlc3lzdGVtcywgYW5kCisuc3AKKyAgYmxraWQgLXAgLW4gbm9taW5peCAvZGV2L3NkYTEKKy5zcAorcHJvYmVzIGZvciBhbGwgc3VwcG9ydGVkIGZvcm1hdHMgZXhjZXB0IG1pbml4IGZpbGVzeXN0ZW1zLgorVGhpcyBvcHRpb24gaXMgb25seSB1c2VmdWwgdG9nZXRoZXIgd2l0aCBcZkItcFxmUi4KKy5UUAorLkJJIFwtbyAiIGZvcm1hdCIKK1VzZSB0aGUgc3BlY2lmaWVkIG91dHB1dCBmb3JtYXQuICBOb3RlIHRoYXQgdGhlIG9yZGVyIG9mIHZhcmlhYmxlcyBhbmQKK2RldmljZXMgaXMgbm90IGZpeGVkLiAgU2VlIGFsc28gb3B0aW9uIFxmQi1zXGZSLiAgVGhlCisuSSBmb3JtYXQKK3BhcmFtZXRlciBtYXkgYmU6CisuUlMKKy5UUAorLkIgZnVsbAorcHJpbnQgYWxsIHRhZ3MgKHRoZSBkZWZhdWx0KQorLlRQCisuQiB2YWx1ZQorcHJpbnQgdGhlIHZhbHVlIG9mIHRoZSB0YWdzCisuVFAKKy5CIGxpc3QKK3ByaW50IHRoZSBkZXZpY2VzIGluIGEgdXNlci1mcmllbmRseSBmb3JtYXQ7IHRoaXMgb3V0cHV0IGZvcm1hdCBpcyB1bnN1cHBvcnRlZAorZm9yIGxvdy1sZXZlbCBwcm9iaW5nIChcZkItcFxmUiBvciBcZkItaVxmUikuCisKK1RoaXMgb3V0cHV0IGZvcm1hdCBpcyBcZkJERVBSRUNBVEVEXGZSIGluIGZhdm91ciBvZiB0aGUKKy5CUiBsc2JsayAoOCkKK2NvbW1hbmQuCisuVFAKKy5CIGRldmljZQorcHJpbnQgdGhlIGRldmljZSBuYW1lIG9ubHk7IHRoaXMgb3V0cHV0IGZvcm1hdCBpcyBhbHdheXMgZW5hYmxlZCBmb3IgdGhlIFxmQi1MXGZSCithbmQgXGZCLVVcZlIgb3B0aW9ucworLlRQCisuQiB1ZGV2CitwcmludCBrZXk9InZhbHVlIiBwYWlycyBmb3IgZWFzeSBpbXBvcnQgaW50byB0aGUgdWRldiBlbnZpcm9ubWVudDsgdGhlIGtleXMgYXJlCitwcmVmaXhlZCBieSBJRF9GU18gb3IgSURfUEFSVF8gcHJlZml4ZXMKKworVGhlIHVkZXYgb3V0cHV0IHJldHVybnMgdGhlIElEX0ZTX0FNQklWQUxFTlQgdGFnIGlmIG1vcmUgc3VwZXJibG9ja3MgYXJlIGRldGVjdGVkLAorYW5kIElEX1BBUlRfRU5UUllfKiB0YWdzIGFyZSBhbHdheXMgcmV0dXJuZWQgZm9yIGFsbCBwYXJ0aXRpb25zIGluY2x1ZGluZyBlbXB0eQorcGFydGl0aW9ucy4gIFRoaXMgb3V0cHV0IGZvcm1hdCBpcyBcZkJERVBSRUNBVEVEXGZSLgorLlRQCisuQiBleHBvcnQKK3ByaW50IGtleT12YWx1ZSBwYWlycyBmb3IgZWFzeSBpbXBvcnQgaW50byB0aGUgZW52aXJvbm1lbnQ7IHRoaXMgb3V0cHV0IGZvcm1hdAoraXMgYXV0b21hdGljYWxseSBlbmFibGVkIHdoZW4gSS9PIExpbWl0cyAoXGZCLWlcZlIgb3B0aW9uKSBhcmUgcmVxdWVzdGVkLgorCitUaGUgbm9uLXByaW50aW5nIGNoYXJhY3RlcnMgYXJlIGVuY29kZWQgYnkgXiBhbmQgTS0gbm90YXRpb24gYW5kIGFsbAorcG90ZW50aWFsbHkgdW5zYWZlIGNoYXJhY3RlcnMgYXJlIGVzY2FwZWQuCisuUkUKKy5UUAorLkJJIFwtTyAiIG9mZnNldCIKK1Byb2JlIGF0IHRoZSBnaXZlbiBcZklvZmZzZXRcZlIgKG9ubHkgdXNlZnVsIHdpdGggXGZCLXBcZlIpLiAgVGhpcyBvcHRpb24gY2FuIGJlCit1c2VkIHRvZ2V0aGVyIHdpdGggdGhlIFxmQi1pXGZSIG9wdGlvbi4KKy5UUAorLkJJIFwtcAorU3dpdGNoIHRvIGxvdy1sZXZlbCBzdXBlcmJsb2NrIHByb2JpbmcgbW9kZSAoYnlwYXNzaW5nIHRoZSBjYWNoZSkuCisKK05vdGUgdGhhdCBsb3ctbGV2ZWwgcHJvYmluZyBhbHNvIHJldHVybnMgaW5mb3JtYXRpb24gYWJvdXQgcGFydGl0aW9uIHRhYmxlIHR5cGUKKyhQVFRZUEUgdGFnKSBhbmQgcGFydGl0aW9ucyAoUEFSVF9FTlRSWV8qIHRhZ3MpLiBUaGUgdGFnIG5hbWVzIHByb2R1Y2VkIGJ5Citsb3ctbGV2ZWwgcHJvYmluZyBhcmUgYmFzZWQgb24gbmFtZXMgdXNlZCBpbnRlcm5hbGx5IGJ5IGxpYmJsa2lkIGFuZCBpdCBtYXkgYmUKK2RpZmZlcmVudCB0aGFuIHdoZW4gZXhlY3V0ZWQgd2l0aG91dCBcZkItcFxmUiAoZm9yIGV4YW1wbGUgUEFSVF9FTlRSWV9VVUlEPSB2cworUEFSVFVVSUQ9KS4KKy5UUAorLkJJIFwtcyAiIHRhZyIKK0ZvciBlYWNoIChzcGVjaWZpZWQpIGRldmljZSwgc2hvdyBvbmx5IHRoZSB0YWdzIHRoYXQgbWF0Y2gKKy5JUiB0YWcgLgorSXQgaXMgcG9zc2libGUgdG8gc3BlY2lmeSBtdWx0aXBsZQorLkIgXC1zCitvcHRpb25zLiAgSWYgbm8gdGFnIGlzIHNwZWNpZmllZCwgdGhlbiBhbGwgdG9rZW5zIGFyZSBzaG93biBmb3IgYWxsCisoc3BlY2lmaWVkKSBkZXZpY2VzLgorSW4gb3JkZXIgdG8ganVzdCByZWZyZXNoIHRoZSBjYWNoZSB3aXRob3V0IHNob3dpbmcgYW55IHRva2VucywgdXNlCisuQiAiLXMgbm9uZSIKK3dpdGggbm8gb3RoZXIgb3B0aW9ucy4KKy5UUAorLkJJIFwtUyAiIHNpemUiCitPdmVycmlkZSB0aGUgc2l6ZSBvZiBkZXZpY2UvZmlsZSAob25seSB1c2VmdWwgd2l0aCBcZkItcFxmUikuCisuVFAKKy5CSSBcLXQgIiBOQU1FIiA9IHZhbHVlCitTZWFyY2ggZm9yIGJsb2NrIGRldmljZXMgd2l0aCB0b2tlbnMgbmFtZWQKKy5JIE5BTUUKK3RoYXQgaGF2ZSB0aGUgdmFsdWUKKy5JUiB2YWx1ZSAsCithbmQgZGlzcGxheSBhbnkgZGV2aWNlcyB3aGljaCBhcmUgZm91bmQuCitDb21tb24gdmFsdWVzIGZvcgorLkkgTkFNRQoraW5jbHVkZQorLkJSIFRZUEUgLAorLkJSIExBQkVMICwKK2FuZAorLkJSIFVVSUQgLgorSWYgdGhlcmUgYXJlIG5vIGRldmljZXMgc3BlY2lmaWVkIG9uIHRoZSBjb21tYW5kIGxpbmUsIGFsbCBibG9jayBkZXZpY2VzCit3aWxsIGJlIHNlYXJjaGVkOyBvdGhlcndpc2Ugb25seSB0aGUgc3BlY2lmaWVkIGRldmljZXMgYXJlIHNlYXJjaGVkLgorLlRQCisuQkkgXC11ICIgbGlzdCIKK1Jlc3RyaWN0IHRoZSBwcm9iaW5nIGZ1bmN0aW9ucyB0byB0aGUgc3BlY2lmaWVkIChjb21tYS1zZXBhcmF0ZWQpIFxmSWxpc3RcZlIgb2YgInVzYWdlIiB0eXBlcy4KK1N1cHBvcnRlZCB1c2FnZSB0eXBlcyBhcmU6IGZpbGVzeXN0ZW0sIHJhaWQsIGNyeXB0byBhbmQgb3RoZXIuICBUaGUgbGlzdCBpdGVtcyBtYXkgYmUKK3ByZWZpeGVkIHdpdGggIm5vIiB0byBzcGVjaWZ5IHRoZSB1c2FnZSB0eXBlcyB3aGljaCBzaG91bGQgYmUgaWdub3JlZC4gIEZvciBleGFtcGxlOgorLnNwCisgIGJsa2lkIC1wIC11IGZpbGVzeXN0ZW0sb3RoZXIgL2Rldi9zZGExCisuc3AKK3Byb2JlcyBmb3IgYWxsIGZpbGVzeXN0ZW0gYW5kIG90aGVyIChlLmcuIHN3YXApIGZvcm1hdHMsIGFuZAorLnNwCisgIGJsa2lkIC1wIC11IG5vcmFpZCAvZGV2L3NkYTEKKy5zcAorcHJvYmVzIGZvciBhbGwgc3VwcG9ydGVkIGZvcm1hdHMgZXhjZXB0IFJBSURzLgorVGhpcyBvcHRpb24gaXMgb25seSB1c2VmdWwgdG9nZXRoZXIgd2l0aCBcZkItcFxmUi4KKy5UUAorLkJJIFwtVSAiIHV1aWQiCitMb29rIHVwIHRoZSBkZXZpY2UgdGhhdCB1c2VzIHRoaXMgZmlsZXN5c3RlbSBcZkl1dWlkXGZSLiAgRm9yIG1vcmUgZGV0YWlscyBzZWUgdGhlIFxmQi1MXGZSIG9wdGlvbi4KKy5UUAorLkIgXC1WCitEaXNwbGF5IHZlcnNpb24gbnVtYmVyIGFuZCBleGl0LgorLlNIICJSRVRVUk4gQ09ERSIKK0lmIHRoZSBzcGVjaWZpZWQgZGV2aWNlIG9yIGRldmljZSBhZGRyZXNzZWQgYnkgc3BlY2lmaWVkIHRva2VuIChvcHRpb24KK1xmQi10XGZSKSB3YXMgZm91bmQgYW5kIGl0J3MgcG9zc2libGUgdG8gZ2F0aGVyIGFueSBpbmZvcm1hdGlvbiBhYm91dCB0aGUKK2RldmljZSwgYW4gZXhpdCBjb2RlIDAgaXMgcmV0dXJuZWQuICBOb3RlIHRoZSBvcHRpb24gXGZCLXNcZlIgZmlsdGVycyBvdXRwdXQKK3RhZ3MsIGJ1dCBpdCBkb2VzIG5vdCBhZmZlY3QgcmV0dXJuIGNvZGUuCisKK0lmIHRoZSBzcGVjaWZpZWQgdG9rZW4gd2FzIG5vdCBmb3VuZCwgb3Igbm8gKHNwZWNpZmllZCkgZGV2aWNlcyBjb3VsZCBiZQoraWRlbnRpZmllZCwgYW4gZXhpdCBjb2RlIG9mIDIgaXMgcmV0dXJuZWQuCisKK0ZvciB1c2FnZSBvciBvdGhlciBlcnJvcnMsIGFuIGV4aXQgY29kZSBvZiA0IGlzIHJldHVybmVkLgorCitJZiBhbiBhbWJpdmFsZW50IGxvdy1sZXZlbCBwcm9iaW5nIHJlc3VsdCB3YXMgZGV0ZWN0ZWQsIGFuIGV4aXQgY29kZSBvZiA4IGlzCityZXR1cm5lZC4KKy5TSCBDT05GSUdVUkFUSU9OIEZJTEUKK1RoZSBzdGFuZGFyZCBsb2NhdGlvbiBvZiB0aGUKKy5JIC9ldGMvYmxraWQuY29uZgorY29uZmlnIGZpbGUgY2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIEJMS0lEX0NPTkYuCitUaGUgZm9sbG93aW5nIG9wdGlvbnMgY29udHJvbCB0aGUgbGliYmxraWQgbGlicmFyeToKKy5UUAorLkkgU0VORF9VRVZFTlQ9PHllc3xub3Q+CitTZW5kcyB1ZXZlbnQgd2hlbgorLkkgL2Rldi9kaXNrL2J5LXtsYWJlbCx1dWlkLHBhcnR1dWlkLHBhcnRsYWJlbH0vCitzeW1saW5rIGRvZXMgbm90IG1hdGNoIHdpdGggTEFCRUwsIFVVSUQsIFBBUlRVVUlEIG9yIFBBUlRMQUJFTCBvbiB0aGUgZGV2aWNlLiAgRGVmYXVsdCBpcyAieWVzIi4KKy5UUAorLkkgQ0FDSEVfRklMRT08cGF0aD4KK092ZXJyaWRlcyB0aGUgc3RhbmRhcmQgbG9jYXRpb24gb2YgdGhlIGNhY2hlIGZpbGUuICBUaGlzIHNldHRpbmcgY2FuIGJlCitvdmVycmlkZGVuIGJ5IHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBCTEtJRF9GSUxFLiAgRGVmYXVsdCBpcworLklSIC9ydW4vYmxraWQvYmxraWQudGFiICwKK29yCisuSSAvZXRjL2Jsa2lkLnRhYgorb24gc3lzdGVtcyB3aXRob3V0IGEgL3J1biBkaXJlY3RvcnkuCisuVFAKKy5JIEVWQUxVQVRFPTxtZXRob2RzPgorRGVmaW5lcyBMQUJFTCBhbmQgVVVJRCBldmFsdWF0aW9uIG1ldGhvZChzKS4gIEN1cnJlbnRseSwgdGhlIGxpYmJsa2lkIGxpYnJhcnkKK3N1cHBvcnRzIHRoZSAidWRldiIgYW5kICJzY2FuIiBtZXRob2RzLiAgTW9yZSB0aGFuIG9uZSBtZXRob2QgbWF5IGJlIHNwZWNpZmllZCBpbgorYSBjb21tYS1zZXBhcmF0ZWQgbGlzdC4gIERlZmF1bHQgaXMgInVkZXYsc2NhbiIuICBUaGUgInVkZXYiIG1ldGhvZCB1c2VzIHVkZXYKKy5JIC9kZXYvZGlzay9ieS0qCitzeW1saW5rcyBhbmQgdGhlICJzY2FuIiBtZXRob2Qgc2NhbnMgYWxsIGJsb2NrIGRldmljZXMgZnJvbSB0aGUKKy5JIC9wcm9jL3BhcnRpdGlvbnMKK2ZpbGUuCisuU0ggQVVUSE9SCisuQiBibGtpZAord2FzIHdyaXR0ZW4gYnkgQW5kcmVhcyBEaWxnZXIgZm9yIGxpYmJsa2lkIGFuZCBpbXByb3ZlZCBieSBUaGVvZG9yZSBUcydvCithbmQgS2FyZWwgWmFrLgorLlNIIEVOVklST05NRU5UCisuSVAgIlNldHRpbmcgTElCQkxLSURfREVCVUc9YWxsIGVuYWJsZXMgZGVidWcgb3V0cHV0LiIKKy5TSCBTRUUgQUxTTworLkJSIGxpYmJsa2lkICgzKSwKKy5CUiBmaW5kZnMgKDgpLAorLkJSIGxzYmxrICg4KSwKKy5CUiB3aXBlZnMgKDgpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgYmxraWQgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL2Jsa2lkLmMgYi9taXNjLXV0aWxzL2Jsa2lkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGU4NjIwMAotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvYmxraWQuYwpAQCAtMCwwICsxLDkyNyBAQAorLyoKKyAqIGJsa2lkLmMgLSBVc2VyIGNvbW1hbmQtbGluZSBpbnRlcmZhY2UgZm9yIGxpYmJsa2lkCisgKgorICogQ29weXJpZ2h0IChDKSAyMDAxIEFuZHJlYXMgRGlsZ2VyCisgKgorICogJUJlZ2luLUhlYWRlciUKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKiAlRW5kLUhlYWRlciUKKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKworI2RlZmluZSBPVVRQVVRfVkFMVUVfT05MWQkoMSA8PCAxKQorI2RlZmluZSBPVVRQVVRfREVWSUNFX09OTFkJKDEgPDwgMikKKyNkZWZpbmUgT1VUUFVUX1BSRVRUWV9MSVNUCSgxIDw8IDMpCQkvKiBkZXByZWNhdGVkICovCisjZGVmaW5lIE9VVFBVVF9VREVWX0xJU1QJKDEgPDwgNCkJCS8qIGRlcHJlY2F0ZWQgKi8KKyNkZWZpbmUgT1VUUFVUX0VYUE9SVF9MSVNUCSgxIDw8IDUpCisKKyNkZWZpbmUgTE9XUFJPQkVfVE9QT0xPR1kJKDEgPDwgMSkKKyNkZWZpbmUgTE9XUFJPQkVfU1VQRVJCTE9DS1MJKDEgPDwgMikKKworI2RlZmluZSBCTEtJRF9FWElUX05PVEZPVU5ECTIJLyogdG9rZW4gb3IgZGV2aWNlIG5vdCBmb3VuZCAqLworI2RlZmluZSBCTEtJRF9FWElUX09USEVSCTQJLyogYmFkIHVzYWdlIG9yIG90aGVyIGVycm9yICovCisjZGVmaW5lIEJMS0lEX0VYSVRfQU1CSVZBTAk4CS8qIGFtYml2YWxlbnQgbG93LWxldmVsIHByb2JpbmcgZGV0ZWN0ZWQgKi8KKworI2luY2x1ZGUgPGJsa2lkLmg+CisKKyNpbmNsdWRlICJpc21vdW50ZWQuaCIKKworI2RlZmluZSBTVFJUT1hYX0VYSVRfQ09ERQlCTEtJRF9FWElUX09USEVSCS8qIHN0cnRveHhfb3JfZXJyKCkgKi8KKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2RlZmluZSBPUFRVVElMU19FWElUX0NPREUJQkxLSURfRVhJVF9PVEhFUgkvKiBleGNsdXNpdmVfb3B0aW9uKCkgKi8KKyNpbmNsdWRlICJvcHR1dGlscy5oIgorI2RlZmluZSBDTE9TRV9FWElUX0NPREUJCUJMS0lEX0VYSVRfT1RIRVIJLyogY2xvc2Vfc3Rkb3V0KCkgKi8KKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCisjaW5jbHVkZSAidHR5dXRpbHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKworaW50IHJhd19jaGFyczsKKworc3RhdGljIHZvaWQgcHJpbnRfdmVyc2lvbihGSUxFICpvdXQpCit7CisJZnByaW50ZihvdXQsICIlcyBmcm9tICVzICAobGliYmxraWQgJXMsICVzKVxuIiwKKwkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUsIFBBQ0tBR0VfU1RSSU5HLAorCQlMSUJCTEtJRF9WRVJTSU9OLCBMSUJCTEtJRF9EQVRFKTsKK30KKworc3RhdGljIHZvaWQgdXNhZ2UoaW50IGVycm9yKQoreworCUZJTEUgKm91dCA9IGVycm9yID8gc3RkZXJyIDogc3Rkb3V0OworCisJcHJpbnRfdmVyc2lvbihvdXQpOworCWZwcmludGYob3V0LAorCQkiVXNhZ2U6XG4iCisJCSIgJTEkcyAtTCA8bGFiZWw+IHwgLVUgPHV1aWQ+XG5cbiIKKwkJIiAlMSRzIFstYyA8ZmlsZT5dIFstZ2hsTHZdIFstbyA8Zm9ybWF0Pl0gWy1zIDx0YWc+XSBcbiIKKwkJIiAgICAgICBbLXQgPHRva2VuPl0gWzxkZXY+IC4uLl1cblxuIgorCQkiICUxJHMgLXAgWy1zIDx0YWc+XSBbLU8gPG9mZnNldD5dIFstUyA8c2l6ZT5dIFxuIgorCQkiICAgICAgIFstbyA8Zm9ybWF0Pl0gPGRldj4gLi4uXG5cbiIKKwkJIiAlMSRzIC1pIFstcyA8dGFnPl0gWy1vIDxmb3JtYXQ+XSA8ZGV2PiAuLi5cblxuIgorCQkiT3B0aW9uczpcbiIKKwkJIiAtYyA8ZmlsZT4gICByZWFkIGZyb20gPGZpbGU+IGluc3RlYWQgb2YgcmVhZGluZyBmcm9tIHRoZSBkZWZhdWx0XG4iCisJCSIgICAgICAgICAgICAgICBjYWNoZSBmaWxlICgtYyAvZGV2L251bGwgbWVhbnMgbm8gY2FjaGUpXG4iCisJCSIgLWQgICAgICAgICAgZG9uJ3QgZW5jb2RlIG5vbi1wcmludGluZyBjaGFyYWN0ZXJzXG4iCisJCSIgLWggICAgICAgICAgcHJpbnQgdGhpcyB1c2FnZSBtZXNzYWdlIGFuZCBleGl0XG4iCisJCSIgLWcgICAgICAgICAgZ2FyYmFnZSBjb2xsZWN0IHRoZSBibGtpZCBjYWNoZVxuIgorCQkiIC1vIDxmb3JtYXQ+IG91dHB1dCBmb3JtYXQ7IGNhbiBiZSBvbmUgb2Y6XG4iCisJCSIgICAgICAgICAgICAgICB2YWx1ZSwgZGV2aWNlLCBleHBvcnQgb3IgZnVsbDsgKGRlZmF1bHQ6IGZ1bGwpXG4iCisJCSIgLWsgICAgICAgICAgbGlzdCBhbGwga25vd24gZmlsZXN5c3RlbXMvUkFJRHMgYW5kIGV4aXRcbiIKKwkJIiAtcyA8dGFnPiAgICBzaG93IHNwZWNpZmllZCB0YWcocykgKGRlZmF1bHQgc2hvdyBhbGwgdGFncylcbiIKKwkJIiAtdCA8dG9rZW4+ICBmaW5kIGRldmljZSB3aXRoIGEgc3BlY2lmaWMgdG9rZW4gKE5BTUU9dmFsdWUgcGFpcilcbiIKKwkJIiAtbCAgICAgICAgICBsb29rIHVwIG9ubHkgZmlyc3QgZGV2aWNlIHdpdGggdG9rZW4gc3BlY2lmaWVkIGJ5IC10XG4iCisJCSIgLUwgPGxhYmVsPiAgY29udmVydCBMQUJFTCB0byBkZXZpY2UgbmFtZVxuIgorCQkiIC1VIDx1dWlkPiAgIGNvbnZlcnQgVVVJRCB0byBkZXZpY2UgbmFtZVxuIgorCQkiIC1WICAgICAgICAgIHByaW50IHZlcnNpb24gYW5kIGV4aXRcbiIKKwkJIiA8ZGV2PiAgICAgICBzcGVjaWZ5IGRldmljZShzKSB0byBwcm9iZSAoZGVmYXVsdDogYWxsIGRldmljZXMpXG5cbiIKKwkJIkxvdy1sZXZlbCBwcm9iaW5nIG9wdGlvbnM6XG4iCisJCSIgLXAgICAgICAgICAgbG93LWxldmVsIHN1cGVyYmxvY2tzIHByb2JpbmcgKGJ5cGFzcyBjYWNoZSlcbiIKKwkJIiAtaSAgICAgICAgICBnYXRoZXIgaW5mb3JtYXRpb24gYWJvdXQgSS9PIGxpbWl0c1xuIgorCQkiIC1TIDxzaXplPiAgIG92ZXJ3cml0ZSBkZXZpY2Ugc2l6ZVxuIgorCQkiIC1PIDxvZmZzZXQ+IHByb2JlIGF0IHRoZSBnaXZlbiBvZmZzZXRcbiIKKwkJIiAtdSA8bGlzdD4gICBmaWx0ZXIgYnkgXCJ1c2FnZVwiIChlLmcuIC11IGZpbGVzeXN0ZW0scmFpZClcbiIKKwkJIiAtbiA8bGlzdD4gICBmaWx0ZXIgYnkgZmlsZXN5c3RlbSB0eXBlIChlLmcuIC1uIHZmYXQsZXh0MylcbiIKKwkJIlxuIiwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZXhpdChlcnJvcik7Cit9CisKKy8qCisgKiBUaGlzIGZ1bmN0aW9uIGRvZXMgInNhZmUiIHByaW50aW5nLiAgSXQgd2lsbCBjb252ZXJ0IG5vbi1wcmludGFibGUKKyAqIEFTQ0lJIGNoYXJhY3RlcnMgdXNpbmcgJ14nIGFuZCBNLSBub3RhdGlvbi4KKyAqCisgKiBJZiAnZXNjJyBpcyBkZWZpbmVkIHRoZW4gZXNjYXBlIGFsbCBjaGFycyBmcm9tIGVzYyBieSBcLgorICovCitzdGF0aWMgdm9pZCBzYWZlX3ByaW50KGNvbnN0IGNoYXIgKmNwLCBpbnQgbGVuLCBjb25zdCBjaGFyICplc2MpCit7CisJdW5zaWduZWQgY2hhcgljaDsKKworCWlmIChsZW4gPCAwKQorCQlsZW4gPSBzdHJsZW4oY3ApOworCisJd2hpbGUgKGxlbi0tKSB7CisJCWNoID0gKmNwKys7CisJCWlmICghcmF3X2NoYXJzKSB7CisJCQlpZiAoY2ggPj0gMTI4KSB7CisJCQkJZnB1dHMoIk0tIiwgc3Rkb3V0KTsKKwkJCQljaCAtPSAxMjg7CisJCQl9CisJCQlpZiAoKGNoIDwgMzIpIHx8IChjaCA9PSAweDdmKSkgeworCQkJCWZwdXRjKCdeJywgc3Rkb3V0KTsKKwkJCQljaCBePSAweDQwOyAvKiBeQCwgXkEsIF5COyBePyBmb3IgREVMICovCisKKwkJCX0gZWxzZSBpZiAoZXNjICYmIHN0cmNocihlc2MsIGNoKSkKKwkJCQlmcHV0YygnXFwnLCBzdGRvdXQpOworCQl9CisJCWZwdXRjKGNoLCBzdGRvdXQpOworCX0KK30KKworc3RhdGljIGludCBwcmV0dHlfcHJpbnRfd29yZChjb25zdCBjaGFyICpzdHIsIGludCBtYXhfbGVuLAorCQkJICAgICBpbnQgbGVmdF9sZW4sIGludCBvdmVyZmxvd19ubCkKK3sKKwlpbnQgbGVuID0gc3RybGVuKHN0cikgKyBsZWZ0X2xlbjsKKwlpbnQgcmV0ID0gMDsKKworCWZwdXRzKHN0ciwgc3Rkb3V0KTsKKwlpZiAob3ZlcmZsb3dfbmwgJiYgbGVuID4gbWF4X2xlbikgeworCQlmcHV0YygnXG4nLCBzdGRvdXQpOworCQlsZW4gPSAwOworCX0gZWxzZSBpZiAobGVuID4gbWF4X2xlbikKKwkJcmV0ID0gbGVuIC0gbWF4X2xlbjsKKwlkbworCQlmcHV0YygnICcsIHN0ZG91dCk7CisJd2hpbGUgKGxlbisrIDwgbWF4X2xlbik7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgcHJldHR5X3ByaW50X2xpbmUoY29uc3QgY2hhciAqZGV2aWNlLCBjb25zdCBjaGFyICpmc190eXBlLAorCQkJICAgICAgY29uc3QgY2hhciAqbGFiZWwsIGNvbnN0IGNoYXIgKm10cHQsCisJCQkgICAgICBjb25zdCBjaGFyICp1dWlkKQoreworCXN0YXRpYyBpbnQgZGV2aWNlX2xlbiA9IDEwLCBmc190eXBlX2xlbiA9IDc7CisJc3RhdGljIGludCBsYWJlbF9sZW4gPSA4LCBtdHB0X2xlbiA9IDE0OworCXN0YXRpYyBpbnQgdGVybV93aWR0aCA9IC0xOworCWludCBsZW4sIHc7CisKKwlpZiAodGVybV93aWR0aCA8IDApIHsKKwkJdGVybV93aWR0aCA9IGdldF90ZXJtaW5hbF93aWR0aCg4MCk7CisJfQorCWlmICh0ZXJtX3dpZHRoID4gODApIHsKKwkJdGVybV93aWR0aCAtPSA4MDsKKwkJdyA9IHRlcm1fd2lkdGggLyAxMDsKKwkJaWYgKHcgPiA4KQorCQkJdyA9IDg7CisJCXRlcm1fd2lkdGggLT0gMip3OworCQlsYWJlbF9sZW4gKz0gdzsKKwkJZnNfdHlwZV9sZW4gKz0gdzsKKwkJdyA9IHRlcm1fd2lkdGgvMjsKKwkJZGV2aWNlX2xlbiArPSB3OworCQltdHB0X2xlbiArPXc7CisJfQorCisJbGVuID0gcHJldHR5X3ByaW50X3dvcmQoZGV2aWNlLCBkZXZpY2VfbGVuLCAwLCAxKTsKKwlsZW4gPSBwcmV0dHlfcHJpbnRfd29yZChmc190eXBlLCBmc190eXBlX2xlbiwgbGVuLCAwKTsKKwlsZW4gPSBwcmV0dHlfcHJpbnRfd29yZChsYWJlbCwgbGFiZWxfbGVuLCBsZW4sIDApOworCXByZXR0eV9wcmludF93b3JkKG10cHQsIG10cHRfbGVuLCBsZW4sIDApOworCisJZnB1dHModXVpZCwgc3Rkb3V0KTsKKwlmcHV0YygnXG4nLCBzdGRvdXQpOworfQorCitzdGF0aWMgdm9pZCBwcmV0dHlfcHJpbnRfZGV2KGJsa2lkX2RldiBkZXYpCit7CisJYmxraWRfdGFnX2l0ZXJhdGUJaXRlcjsKKwljb25zdCBjaGFyCQkqdHlwZSwgKnZhbHVlLCAqZGV2bmFtZTsKKwljb25zdCBjaGFyCQkqdXVpZCA9ICIiLCAqZnNfdHlwZSA9ICIiLCAqbGFiZWwgPSAiIjsKKwlpbnQJCQlsZW4sIG1vdW50X2ZsYWdzOworCWNoYXIJCQltdHB0WzgwXTsKKwlpbnQJCQlyZXR2YWw7CisKKwlpZiAoZGV2ID09IE5VTEwpIHsKKwkJcHJldHR5X3ByaW50X2xpbmUoImRldmljZSIsICJmc190eXBlIiwgImxhYmVsIiwKKwkJCQkgICJtb3VudCBwb2ludCIsICJVVUlEIik7CisJCWZvciAobGVuPWdldF90ZXJtaW5hbF93aWR0aCgwKS0xOyBsZW4gPiAwOyBsZW4tLSkKKwkJCWZwdXRjKCctJywgc3Rkb3V0KTsKKwkJZnB1dGMoJ1xuJywgc3Rkb3V0KTsKKwkJcmV0dXJuOworCX0KKworCWRldm5hbWUgPSBibGtpZF9kZXZfZGV2bmFtZShkZXYpOworCWlmIChhY2Nlc3MoZGV2bmFtZSwgRl9PSykpCisJCXJldHVybjsKKworCS8qIEdldCB0aGUgdXVpZCwgbGFiZWwsIHR5cGUgKi8KKwlpdGVyID0gYmxraWRfdGFnX2l0ZXJhdGVfYmVnaW4oZGV2KTsKKwl3aGlsZSAoYmxraWRfdGFnX25leHQoaXRlciwgJnR5cGUsICZ2YWx1ZSkgPT0gMCkgeworCQlpZiAoIXN0cmNtcCh0eXBlLCAiVVVJRCIpKQorCQkJdXVpZCA9IHZhbHVlOworCQlpZiAoIXN0cmNtcCh0eXBlLCAiVFlQRSIpKQorCQkJZnNfdHlwZSA9IHZhbHVlOworCQlpZiAoIXN0cmNtcCh0eXBlLCAiTEFCRUwiKSkKKwkJCWxhYmVsID0gdmFsdWU7CisJfQorCWJsa2lkX3RhZ19pdGVyYXRlX2VuZChpdGVyKTsKKworCS8qIEdldCB0aGUgbW91bnQgcG9pbnQgKi8KKwltdHB0WzBdID0gMDsKKwlyZXR2YWwgPSBjaGVja19tb3VudF9wb2ludChkZXZuYW1lLCAmbW91bnRfZmxhZ3MsIG10cHQsIHNpemVvZihtdHB0KSk7CisJaWYgKHJldHZhbCA9PSAwKSB7CisJCWlmIChtb3VudF9mbGFncyAmIE1GX01PVU5URUQpIHsKKwkJCWlmICghbXRwdFswXSkKKwkJCQlzdHJjcHkobXRwdCwgIihtb3VudGVkLCBtdHB0IHVua25vd24pIik7CisJCX0gZWxzZSBpZiAobW91bnRfZmxhZ3MgJiBNRl9CVVNZKQorCQkJc3RyY3B5KG10cHQsICIoaW4gdXNlKSIpOworCQllbHNlCisJCQlzdHJjcHkobXRwdCwgIihub3QgbW91bnRlZCkiKTsKKwl9CisKKwlwcmV0dHlfcHJpbnRfbGluZShkZXZuYW1lLCBmc190eXBlLCBsYWJlbCwgbXRwdCwgdXVpZCk7Cit9CisKK3N0YXRpYyB2b2lkIHByaW50X3VkZXZfZm9ybWF0KGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbHVlKQoreworCWNoYXIgZW5jWzI2NV0sIHNhZmVbMjU2XTsKKwlzaXplX3QgbmFtZWxlbiA9IHN0cmxlbihuYW1lKTsKKworCSpzYWZlID0gKmVuYyA9ICdcMCc7CisKKwlpZiAoIXN0cmNtcChuYW1lLCAiVFlQRSIpIHx8ICFzdHJjbXAobmFtZSwgIlZFUlNJT04iKSkgeworCQlibGtpZF9lbmNvZGVfc3RyaW5nKHZhbHVlLCBlbmMsIHNpemVvZihlbmMpKTsKKwkJcHJpbnRmKCJJRF9GU18lcz0lc1xuIiwgbmFtZSwgZW5jKTsKKworCX0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiVVVJRCIpIHx8CisJCSAhc3RyY21wKG5hbWUsICJMQUJFTCIpIHx8CisJCSAhc3RyY21wKG5hbWUsICJVVUlEX1NVQiIpKSB7CisKKwkJYmxraWRfc2FmZV9zdHJpbmcodmFsdWUsIHNhZmUsIHNpemVvZihzYWZlKSk7CisJCXByaW50ZigiSURfRlNfJXM9JXNcbiIsIG5hbWUsIHNhZmUpOworCisJCWJsa2lkX2VuY29kZV9zdHJpbmcodmFsdWUsIGVuYywgc2l6ZW9mKGVuYykpOworCQlwcmludGYoIklEX0ZTXyVzX0VOQz0lc1xuIiwgbmFtZSwgZW5jKTsKKworCX0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiUFRVVUlEIikpIHsKKwkJcHJpbnRmKCJJRF9QQVJUX1RBQkxFX1VVSUQ9JXNcbiIsIHZhbHVlKTsKKworCX0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiUFRUWVBFIikpIHsKKwkJcHJpbnRmKCJJRF9QQVJUX1RBQkxFX1RZUEU9JXNcbiIsIHZhbHVlKTsKKworCX0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiUEFSVF9FTlRSWV9OQU1FIikgfHwKKwkJICAhc3RyY21wKG5hbWUsICJQQVJUX0VOVFJZX1RZUEUiKSkgeworCisJCWJsa2lkX2VuY29kZV9zdHJpbmcodmFsdWUsIGVuYywgc2l6ZW9mKGVuYykpOworCQlwcmludGYoIklEXyVzPSVzXG4iLCBuYW1lLCBlbmMpOworCisJfSBlbHNlIGlmICghc3RybmNtcChuYW1lLCAiUEFSVF9FTlRSWV8iLCAxMSkpCisJCXByaW50ZigiSURfJXM9JXNcbiIsIG5hbWUsIHZhbHVlKTsKKworCWVsc2UgaWYgKG5hbWVsZW4gPj0gMTUgJiYgKAorCQkgICAhc3RyY21wKG5hbWUgKyAobmFtZWxlbiAtIDEyKSwgIl9TRUNUT1JfU0laRSIpIHx8CisJCSAgICFzdHJjbXAobmFtZSArIChuYW1lbGVuIC0gOCksICJfSU9fU0laRSIpIHx8CisJCSAgICFzdHJjbXAobmFtZSwgIkFMSUdOTUVOVF9PRkZTRVQiKSkpCisJCQlwcmludGYoIklEX0lPTElNSVRfJXM9JXNcbiIsIG5hbWUsIHZhbHVlKTsKKwllbHNlCisJCXByaW50ZigiSURfRlNfJXM9JXNcbiIsIG5hbWUsIHZhbHVlKTsKK30KKworc3RhdGljIGludCBoYXNfaXRlbShjaGFyICphcnlbXSwgY29uc3QgY2hhciAqaXRlbSkKK3sKKwljaGFyICoqcDsKKworCWZvciAocCA9IGFyeTsgKnAgIT0gTlVMTDsgcCsrKQorCQlpZiAoIXN0cmNtcChpdGVtLCAqcCkpCisJCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgcHJpbnRfdmFsdWUoaW50IG91dHB1dCwgaW50IG51bSwgY29uc3QgY2hhciAqZGV2bmFtZSwKKwkJCWNvbnN0IGNoYXIgKnZhbHVlLCBjb25zdCBjaGFyICpuYW1lLCBzaXplX3QgdmFsc3opCit7CisJaWYgKG91dHB1dCAmIE9VVFBVVF9WQUxVRV9PTkxZKSB7CisJCWZwdXRzKHZhbHVlLCBzdGRvdXQpOworCQlmcHV0YygnXG4nLCBzdGRvdXQpOworCisJfSBlbHNlIGlmIChvdXRwdXQgJiBPVVRQVVRfVURFVl9MSVNUKSB7CisJCXByaW50X3VkZXZfZm9ybWF0KG5hbWUsIHZhbHVlKTsKKworCX0gZWxzZSBpZiAob3V0cHV0ICYgT1VUUFVUX0VYUE9SVF9MSVNUKSB7CisJCWlmIChudW0gPT0gMSAmJiBkZXZuYW1lKQorCQkJcHJpbnRmKCJERVZOQU1FPSVzXG4iLCBkZXZuYW1lKTsKKwkJZnB1dHMobmFtZSwgc3Rkb3V0KTsKKwkJZnB1dHMoIj0iLCBzdGRvdXQpOworCQlzYWZlX3ByaW50KHZhbHVlLCB2YWxzeiwgIiBcXFwiJyRgPD4iKTsKKwkJZnB1dHMoIlxuIiwgc3Rkb3V0KTsKKworCX0gZWxzZSB7CisJCWlmIChudW0gPT0gMSAmJiBkZXZuYW1lKQorCQkJcHJpbnRmKCIlczoiLCBkZXZuYW1lKTsKKwkJZnB1dHMoIiAiLCBzdGRvdXQpOworCQlmcHV0cyhuYW1lLCBzdGRvdXQpOworCQlmcHV0cygiPVwiIiwgc3Rkb3V0KTsKKwkJc2FmZV9wcmludCh2YWx1ZSwgdmFsc3osICJcIlxcIik7CisJCWZwdXRzKCJcIiIsIHN0ZG91dCk7CisJfQorfQorCitzdGF0aWMgdm9pZCBwcmludF90YWdzKGJsa2lkX2RldiBkZXYsIGNoYXIgKnNob3dbXSwgaW50IG91dHB1dCkKK3sKKwlibGtpZF90YWdfaXRlcmF0ZQlpdGVyOworCWNvbnN0IGNoYXIJCSp0eXBlLCAqdmFsdWUsICpkZXZuYW1lOworCWludAkJCW51bSA9IDE7CisJc3RhdGljIGludAkJZmlyc3QgPSAxOworCisJaWYgKCFkZXYpCisJCXJldHVybjsKKworCWlmIChvdXRwdXQgJiBPVVRQVVRfUFJFVFRZX0xJU1QpIHsKKwkJcHJldHR5X3ByaW50X2RldihkZXYpOworCQlyZXR1cm47CisJfQorCisJZGV2bmFtZSA9IGJsa2lkX2Rldl9kZXZuYW1lKGRldik7CisKKwlpZiAob3V0cHV0ICYgT1VUUFVUX0RFVklDRV9PTkxZKSB7CisJCXByaW50ZigiJXNcbiIsIGRldm5hbWUpOworCQlyZXR1cm47CisJfQorCisJaXRlciA9IGJsa2lkX3RhZ19pdGVyYXRlX2JlZ2luKGRldik7CisJd2hpbGUgKGJsa2lkX3RhZ19uZXh0KGl0ZXIsICZ0eXBlLCAmdmFsdWUpID09IDApIHsKKwkJaWYgKHNob3dbMF0gJiYgIWhhc19pdGVtKHNob3csIHR5cGUpKQorCQkJY29udGludWU7CisKKwkJaWYgKG51bSA9PSAxICYmICFmaXJzdCAmJgorCQkgICAgKG91dHB1dCAmIChPVVRQVVRfVURFVl9MSVNUIHwgT1VUUFVUX0VYUE9SVF9MSVNUKSkpCisJCQkvKiBhZGQgZXh0cmEgbGluZSBiZXR3ZWVuIG91dHB1dCBmcm9tIG1vcmUgZGV2aWNlcyAqLworCQkJZnB1dGMoJ1xuJywgc3Rkb3V0KTsKKworCQlwcmludF92YWx1ZShvdXRwdXQsIG51bSsrLCBkZXZuYW1lLCB2YWx1ZSwgdHlwZSwgc3RybGVuKHZhbHVlKSk7CisJfQorCWJsa2lkX3RhZ19pdGVyYXRlX2VuZChpdGVyKTsKKworCWlmIChudW0gPiAxKSB7CisJCWlmICghKG91dHB1dCAmIChPVVRQVVRfVkFMVUVfT05MWSB8IE9VVFBVVF9VREVWX0xJU1QgfAorCQkJCQkJT1VUUFVUX0VYUE9SVF9MSVNUKSkpCisJCQlwcmludGYoIlxuIik7CisJCWZpcnN0ID0gMDsKKwl9Cit9CisKKworc3RhdGljIGludCBhcHBlbmRfc3RyKGNoYXIgKipyZXMsIHNpemVfdCAqc3osIGNvbnN0IGNoYXIgKmEsIGNvbnN0IGNoYXIgKmIpCit7CisJY2hhciAqc3RyID0gKnJlczsKKwlzaXplX3QgYXN6ID0gYSA/IHN0cmxlbihhKSA6IDA7CisJc2l6ZV90IGJzeiA9IGIgPyBzdHJsZW4oYikgOiAwOworCXNpemVfdCBsZW4gPSAqc3ogKyBhc3ogKyBic3o7CisKKwlpZiAoIWxlbikKKwkJcmV0dXJuIC0xOworCisJKnJlcyA9IHN0ciA9IHhyZWFsbG9jKHN0ciwgbGVuICsgMSk7CisJc3RyICs9ICpzejsKKworCWlmIChhKSB7CisJCW1lbWNweShzdHIsIGEsIGFzeik7CisJCXN0ciArPSBhc3o7CisJfQorCWlmIChiKSB7CisJCW1lbWNweShzdHIsIGIsIGJzeik7CisJCXN0ciArPSBic3o7CisJfQorCSpzdHIgPSAnXDAnOworCSpzeiA9IGxlbjsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIENvbXBvc2UgYW5kIHByaW50IElEX0ZTX0FNQklWQUxFTlQgZm9yIHVkZXYKKyAqLworc3RhdGljIGludCBwcmludF91ZGV2X2FtYml2YWxlbnQoYmxraWRfcHJvYmUgcHIpCit7CisJY2hhciAqdmFsID0gTlVMTDsKKwlzaXplX3QgdmFsc3ogPSAwOworCWludCBjb3VudCA9IDAsIHJjID0gLTE7CisKKwl3aGlsZSAoIWJsa2lkX2RvX3Byb2JlKHByKSkgeworCQljb25zdCBjaGFyICp1c2FnZV90eHQgPSBOVUxMLCAqdHlwZSA9IE5VTEwsICp2ZXJzaW9uID0gTlVMTDsKKwkJY2hhciBlbmNbMjU2XTsKKworCQlibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJVU0FHRSIsICZ1c2FnZV90eHQsIE5VTEwpOworCQlibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJUWVBFIiwgJnR5cGUsIE5VTEwpOworCQlibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJWRVJTSU9OIiwgJnZlcnNpb24sIE5VTEwpOworCisJCWlmICghdXNhZ2VfdHh0IHx8ICF0eXBlKQorCQkJY29udGludWU7CisKKwkJYmxraWRfZW5jb2RlX3N0cmluZyh1c2FnZV90eHQsIGVuYywgc2l6ZW9mKGVuYykpOworCQlpZiAoYXBwZW5kX3N0cigmdmFsLCAmdmFsc3osIGVuYywgIjoiKSkKKwkJCWdvdG8gZG9uZTsKKworCQlibGtpZF9lbmNvZGVfc3RyaW5nKHR5cGUsIGVuYywgc2l6ZW9mKGVuYykpOworCQlpZiAoYXBwZW5kX3N0cigmdmFsLCAmdmFsc3osIGVuYywgdmVyc2lvbiA/ICI6IiA6ICIgIikpCisJCQlnb3RvIGRvbmU7CisKKwkJaWYgKHZlcnNpb24pIHsKKwkJCWJsa2lkX2VuY29kZV9zdHJpbmcodmVyc2lvbiwgZW5jLCBzaXplb2YoZW5jKSk7CisJCQlpZiAoYXBwZW5kX3N0cigmdmFsLCAmdmFsc3osIGVuYywgIiAiKSkKKwkJCQlnb3RvIGRvbmU7CisJCX0KKwkJY291bnQrKzsKKwl9CisKKwlpZiAoY291bnQgPiAxKSB7CisJCSoodmFsICsgdmFsc3ogLSAxKSA9ICdcMCc7CQkvKiByZW0gdGFpbGluZyB3aGl0ZXNwYWNlICovCisJCXByaW50ZigiSURfRlNfQU1CSVZBTEVOVD0lc1xuIiwgdmFsKTsKKwkJcmMgPSAwOworCX0KK2RvbmU6CisJZnJlZSh2YWwpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBsb3dwcm9iZV9zdXBlcmJsb2NrcyhibGtpZF9wcm9iZSBwcikKK3sKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwlpbnQgcmMsIGZkID0gYmxraWRfcHJvYmVfZ2V0X2ZkKHByKTsKKworCWlmIChmZCA8IDAgfHwgZnN0YXQoZmQsICZzdCkpCisJCXJldHVybiAtMTsKKworCWJsa2lkX3Byb2JlX2VuYWJsZV9wYXJ0aXRpb25zKHByLCAxKTsKKworCWlmICghU19JU0NIUihzdC5zdF9tb2RlKSAmJiBibGtpZF9wcm9iZV9nZXRfc2l6ZShwcikgPD0gMTAyNCAqIDE0NDAgJiYKKwkgICAgYmxraWRfcHJvYmVfaXNfd2hvbGVkaXNrKHByKSkgeworCQkvKgorCQkgKiBjaGVjayBpZiB0aGUgc21hbGwgZGlzayBpcyBwYXJ0aXRpb25lZCwgaWYgeWVzIHRoZW4KKwkJICogZG9uJ3QgcHJvYmUgZm9yIGZpbGVzeXN0ZW1zLgorCQkgKi8KKwkJYmxraWRfcHJvYmVfZW5hYmxlX3N1cGVyYmxvY2tzKHByLCAwKTsKKworCQlyYyA9IGJsa2lkX2RvX2Z1bGxwcm9iZShwcik7CisJCWlmIChyYyA8IDApCisJCQlyZXR1cm4gcmM7CS8qIC0xID0gZXJyb3IsIDEgPSBub3RoaW5nLCAwID0gc3VjY2VzcyAqLworCisJCWlmIChibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJQVFRZUEUiLCBOVUxMLCBOVUxMKSA9PSAwKQorCQkJcmV0dXJuIDA7CS8qIHBhcnRpdGlvbiB0YWJsZSBkZXRlY3RlZCAqLworCX0KKworCWJsa2lkX3Byb2JlX3NldF9wYXJ0aXRpb25zX2ZsYWdzKHByLCBCTEtJRF9QQVJUU19FTlRSWV9ERVRBSUxTKTsKKwlibGtpZF9wcm9iZV9lbmFibGVfc3VwZXJibG9ja3MocHIsIDEpOworCisJcmV0dXJuIGJsa2lkX2RvX3NhZmVwcm9iZShwcik7Cit9CisKK3N0YXRpYyBpbnQgbG93cHJvYmVfdG9wb2xvZ3koYmxraWRfcHJvYmUgcHIpCit7CisJLyogZW5hYmxlIHRvcG9sb2d5IHByb2Jpbmcgb25seSAqLworCWJsa2lkX3Byb2JlX2VuYWJsZV90b3BvbG9neShwciwgMSk7CisKKwlibGtpZF9wcm9iZV9lbmFibGVfc3VwZXJibG9ja3MocHIsIDApOworCWJsa2lkX3Byb2JlX2VuYWJsZV9wYXJ0aXRpb25zKHByLCAwKTsKKworCXJldHVybiBibGtpZF9kb19mdWxscHJvYmUocHIpOworfQorCitzdGF0aWMgaW50IGxvd3Byb2JlX2RldmljZShibGtpZF9wcm9iZSBwciwgY29uc3QgY2hhciAqZGV2bmFtZSwKKwkJCWludCBjaGFpbiwgY2hhciAqc2hvd1tdLCBpbnQgb3V0cHV0LAorCQkJdWludDY0X3Qgb2Zmc2V0LCB1aW50NjRfdCBzaXplKQoreworCWNvbnN0IGNoYXIgKmRhdGE7CisJY29uc3QgY2hhciAqbmFtZTsKKwlpbnQgbnZhbHMgPSAwLCBuLCBudW0gPSAxOworCXNpemVfdCBsZW47CisJaW50IGZkOworCWludCByYyA9IDA7CisJc3RhdGljIGludCBmaXJzdCA9IDE7CisKKwlmZCA9IG9wZW4oZGV2bmFtZSwgT19SRE9OTFl8T19DTE9FWEVDKTsKKwlpZiAoZmQgPCAwKSB7CisJCWZwcmludGYoc3RkZXJyLCAiZXJyb3I6ICVzOiAlbVxuIiwgZGV2bmFtZSk7CisJCXJldHVybiBCTEtJRF9FWElUX05PVEZPVU5EOworCX0KKwlpZiAoYmxraWRfcHJvYmVfc2V0X2RldmljZShwciwgZmQsIG9mZnNldCwgc2l6ZSkpCisJCWdvdG8gZG9uZTsKKworCWlmIChjaGFpbiAmIExPV1BST0JFX1RPUE9MT0dZKQorCQlyYyA9IGxvd3Byb2JlX3RvcG9sb2d5KHByKTsKKwlpZiAocmMgPj0gMCAmJiAoY2hhaW4gJiBMT1dQUk9CRV9TVVBFUkJMT0NLUykpCisJCXJjID0gbG93cHJvYmVfc3VwZXJibG9ja3MocHIpOworCWlmIChyYyA8IDApCisJCWdvdG8gZG9uZTsKKworCWlmICghcmMpCisJCW52YWxzID0gYmxraWRfcHJvYmVfbnVtb2ZfdmFsdWVzKHByKTsKKworCWlmIChudmFscyAmJiAhZmlyc3QgJiYgb3V0cHV0ICYgKE9VVFBVVF9VREVWX0xJU1QgfCBPVVRQVVRfRVhQT1JUX0xJU1QpKQorCQkvKiBhZGQgZXh0cmEgbGluZSBiZXR3ZWVuIG91dHB1dCBmcm9tIGRldmljZXMgKi8KKwkJZnB1dGMoJ1xuJywgc3Rkb3V0KTsKKworCWlmIChudmFscyAmJiAob3V0cHV0ICYgT1VUUFVUX0RFVklDRV9PTkxZKSkgeworCQlwcmludGYoIiVzXG4iLCBkZXZuYW1lKTsKKwkJZ290byBkb25lOworCX0KKworCWZvciAobiA9IDA7IG4gPCBudmFsczsgbisrKSB7CisJCWlmIChibGtpZF9wcm9iZV9nZXRfdmFsdWUocHIsIG4sICZuYW1lLCAmZGF0YSwgJmxlbikpCisJCQljb250aW51ZTsKKwkJaWYgKHNob3dbMF0gJiYgIWhhc19pdGVtKHNob3csIG5hbWUpKQorCQkJY29udGludWU7CisJCWxlbiA9IHN0cm5sZW4oKGNoYXIgKikgZGF0YSwgbGVuKTsKKwkJcHJpbnRfdmFsdWUob3V0cHV0LCBudW0rKywgZGV2bmFtZSwgKGNoYXIgKikgZGF0YSwgbmFtZSwgbGVuKTsKKwl9CisKKwlpZiAoZmlyc3QpCisJCWZpcnN0ID0gMDsKKwlpZiAobnZhbHMgPj0gMSAmJiAhKG91dHB1dCAmIChPVVRQVVRfVkFMVUVfT05MWSB8CisJCQkJCU9VVFBVVF9VREVWX0xJU1QgfCBPVVRQVVRfRVhQT1JUX0xJU1QpKSkKKwkJcHJpbnRmKCJcbiIpOworZG9uZToKKwlpZiAocmMgPT0gLTIpIHsKKwkJaWYgKG91dHB1dCAmIE9VVFBVVF9VREVWX0xJU1QpCisJCQlwcmludF91ZGV2X2FtYml2YWxlbnQocHIpOworCQllbHNlCisJCQlmcHJpbnRmKHN0ZGVyciwKKwkJCQkiJXM6IGFtYml2YWxlbnQgcmVzdWx0IChwcm9iYWJseSBtb3JlICIKKwkJCQkiZmlsZXN5c3RlbXMgb24gdGhlIGRldmljZSwgdXNlIHdpcGVmcyg4KSAiCisJCQkJInRvIHNlZSBtb3JlIGRldGFpbHMpXG4iLAorCQkJCWRldm5hbWUpOworCX0KKwljbG9zZShmZCk7CisKKwlpZiAocmMgPT0gLTIpCisJCXJldHVybiBCTEtJRF9FWElUX0FNQklWQUw7CS8qIGFtYml2YWxlbnQgcHJvYmluZyByZXN1bHQgKi8KKwlpZiAoIW52YWxzKQorCQlyZXR1cm4gQkxLSURfRVhJVF9OT1RGT1VORDsJLyogbm90aGluZyBkZXRlY3RlZCAqLworCisJcmV0dXJuIDA7CQkvKiBzdWNjZXNzICovCit9CisKKy8qIGNvbnZlcnRzIGNvbW1hIHNlcGFyYXRlZCBsaXN0IHRvIEJMS0lEX1VTQUdFXyogbWFzayAqLworc3RhdGljIGludCBsaXN0X3RvX3VzYWdlKGNvbnN0IGNoYXIgKmxpc3QsIGludCAqZmxhZykKK3sKKwlpbnQgbWFzayA9IDA7CisJY29uc3QgY2hhciAqd29yZCA9IE5VTEwsICpwID0gbGlzdDsKKworCWlmIChwICYmIHN0cm5jbXAocCwgIm5vIiwgMikgPT0gMCkgeworCQkqZmxhZyA9IEJMS0lEX0ZMVFJfTk9USU47CisJCXAgKz0gMjsKKwl9CisJaWYgKCFwIHx8ICEqcCkKKwkJZ290byBlcnI7CisJd2hpbGUocCkgeworCQl3b3JkID0gcDsKKwkJcCA9IHN0cmNocihwLCAnLCcpOworCQlpZiAocCkKKwkJCXArKzsKKwkJaWYgKCFzdHJuY21wKHdvcmQsICJmaWxlc3lzdGVtIiwgMTApKQorCQkJbWFzayB8PSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNOworCQllbHNlIGlmICghc3RybmNtcCh3b3JkLCAicmFpZCIsIDQpKQorCQkJbWFzayB8PSBCTEtJRF9VU0FHRV9SQUlEOworCQllbHNlIGlmICghc3RybmNtcCh3b3JkLCAiY3J5cHRvIiwgNikpCisJCQltYXNrIHw9IEJMS0lEX1VTQUdFX0NSWVBUTzsKKwkJZWxzZSBpZiAoIXN0cm5jbXAod29yZCwgIm90aGVyIiwgNSkpCisJCQltYXNrIHw9IEJMS0lEX1VTQUdFX09USEVSOworCQllbHNlCisJCQlnb3RvIGVycjsKKwl9CisJcmV0dXJuIG1hc2s7CitlcnI6CisJKmZsYWcgPSAwOworCWZwcmludGYoc3RkZXJyLCAidW5rbm93biBrZXl3b3JkIGluIC11IDxsaXN0PiBhcmd1bWVudDogJyVzJ1xuIiwKKwkJCXdvcmQgPyB3b3JkIDogbGlzdCk7CisJZXhpdChCTEtJRF9FWElUX09USEVSKTsKK30KKworLyogY29udmVydHMgY29tbWEgc2VwYXJhdGVkIGxpc3QgdG8gdHlwZXNbXSAqLworc3RhdGljIGNoYXIgKipsaXN0X3RvX3R5cGVzKGNvbnN0IGNoYXIgKmxpc3QsIGludCAqZmxhZykKK3sKKwlpbnQgaTsKKwljb25zdCBjaGFyICpwID0gbGlzdDsKKwljaGFyICoqcmVzID0gTlVMTDsKKworCWlmIChwICYmIHN0cm5jbXAocCwgIm5vIiwgMikgPT0gMCkgeworCQkqZmxhZyA9IEJMS0lEX0ZMVFJfTk9USU47CisJCXAgKz0gMjsKKwl9CisJaWYgKCFwIHx8ICEqcCkgeworCQlmcHJpbnRmKHN0ZGVyciwgImVycm9yOiAtdSA8bGlzdD4gYXJndW1lbnQgaXMgZW1wdHlcbiIpOworCQlnb3RvIGVycjsKKwl9CisJZm9yIChpID0gMTsgcCAmJiAocCA9IHN0cmNocihwLCAnLCcpKTsgaSsrLCBwKyspOworCisJcmVzID0geGNhbGxvYyhpICsgMSwgc2l6ZW9mKGNoYXIgKikpOworCXAgPSAqZmxhZyAmIEJMS0lEX0ZMVFJfTk9USU4gPyBsaXN0ICsgMiA6IGxpc3Q7CisJaSA9IDA7CisKKwl3aGlsZShwKSB7CisJCWNvbnN0IGNoYXIgKndvcmQgPSBwOworCQlwID0gc3RyY2hyKHAsICcsJyk7CisJCXJlc1tpKytdID0gcCA/IHhzdHJuZHVwKHdvcmQsIHAgLSB3b3JkKSA6IHhzdHJkdXAod29yZCk7CisJCWlmIChwKQorCQkJcCsrOworCX0KKwlyZXNbaV0gPSBOVUxMOworCXJldHVybiByZXM7CitlcnI6CisJKmZsYWcgPSAwOworCWZyZWUocmVzKTsKKwlleGl0KEJMS0lEX0VYSVRfT1RIRVIpOworfQorCitzdGF0aWMgdm9pZCBmcmVlX3R5cGVzX2xpc3QoY2hhciAqbGlzdFtdKQoreworCWNoYXIgKipuOworCisJaWYgKCFsaXN0KQorCQlyZXR1cm47CisJZm9yIChuID0gbGlzdDsgKm47IG4rKykKKwkJZnJlZSgqbik7CisJZnJlZShsaXN0KTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWJsa2lkX2NhY2hlIGNhY2hlID0gTlVMTDsKKwljaGFyICoqZGV2aWNlcyA9IE5VTEw7CisJY2hhciAqc2hvd1sxMjhdID0geyBOVUxMLCB9OworCWNoYXIgKnNlYXJjaF90eXBlID0gTlVMTCwgKnNlYXJjaF92YWx1ZSA9IE5VTEw7CisJY2hhciAqcmVhZCA9IE5VTEw7CisJaW50IGZsdHJfdXNhZ2UgPSAwOworCWNoYXIgKipmbHRyX3R5cGUgPSBOVUxMOworCWludCBmbHRyX2ZsYWcgPSBCTEtJRF9GTFRSX09OTFlJTjsKKwl1bnNpZ25lZCBpbnQgbnVtZGV2ID0gMCwgbnVtdGFnID0gMDsKKwlpbnQgdmVyc2lvbiA9IDA7CisJaW50IGVyciA9IEJMS0lEX0VYSVRfT1RIRVI7CisJdW5zaWduZWQgaW50IGk7CisJaW50IG91dHB1dF9mb3JtYXQgPSAwOworCWludCBsb29rdXAgPSAwLCBnYyA9IDAsIGxvd3Byb2JlID0gMCwgZXZhbCA9IDA7CisJaW50IGM7CisJdWludG1heF90IG9mZnNldCA9IDAsIHNpemUgPSAwOworCisJc3RhdGljIGNvbnN0IHVsX2V4Y2xfdCBleGNsW10gPSB7ICAgICAgIC8qIHJvd3MgYW5kIGNvbHMgaW4gaW4gQVNDSUkgb3JkZXIgKi8KKwkJeyAnbicsJ3UnIH0sCisJCXsgMCB9CisJfTsKKwlpbnQgZXhjbF9zdFtBUlJBWV9TSVpFKGV4Y2wpXSA9IFVMX0VYQ0xfU1RBVFVTX0lOSVQ7CisKKwlzaG93WzBdID0gTlVMTDsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgoYyA9IGdldG9wdCAoYXJnYywgYXJndiwKKwkJCSAgICAiYzpkZjpnaGlsTDpuOmtvOk86cHM6Uzp0OnU6VTp3OlZ2IikpICE9IEVPRikgeworCisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhjLCBOVUxMLCBleGNsLCBleGNsX3N0KTsKKworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnYyc6CisJCQlpZiAob3B0YXJnICYmICEqb3B0YXJnKQorCQkJCXJlYWQgPSBOVUxMOworCQkJZWxzZQorCQkJCXJlYWQgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnZCc6CisJCQlyYXdfY2hhcnMgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ0wnOgorCQkJZXZhbCsrOworCQkJc2VhcmNoX3ZhbHVlID0geHN0cmR1cChvcHRhcmcpOworCQkJc2VhcmNoX3R5cGUgPSB4c3RyZHVwKCJMQUJFTCIpOworCQkJYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJZmx0cl90eXBlID0gbGlzdF90b190eXBlcyhvcHRhcmcsICZmbHRyX2ZsYWcpOworCQkJYnJlYWs7CisJCWNhc2UgJ3UnOgorCQkJZmx0cl91c2FnZSA9IGxpc3RfdG9fdXNhZ2Uob3B0YXJnLCAmZmx0cl9mbGFnKTsKKwkJCWJyZWFrOworCQljYXNlICdVJzoKKwkJCWV2YWwrKzsKKwkJCXNlYXJjaF92YWx1ZSA9IHhzdHJkdXAob3B0YXJnKTsKKwkJCXNlYXJjaF90eXBlID0geHN0cmR1cCgiVVVJRCIpOworCQkJYnJlYWs7CisJCWNhc2UgJ2knOgorCQkJbG93cHJvYmUgfD0gTE9XUFJPQkVfVE9QT0xPR1k7CisJCQlicmVhazsKKwkJY2FzZSAnbCc6CisJCQlsb29rdXArKzsKKwkJCWJyZWFrOworCQljYXNlICdnJzoKKwkJCWdjID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdrJzoKKwkJeworCQkJc2l6ZV90IGlkeCA9IDA7CisJCQljb25zdCBjaGFyICpuYW1lID0gTlVMTDsKKworCQkJd2hpbGUgKGJsa2lkX3N1cGVyYmxvY2tzX2dldF9uYW1lKGlkeCsrLCAmbmFtZSwgTlVMTCkgPT0gMCkKKwkJCQlwcmludGYoIiVzXG4iLCBuYW1lKTsKKwkJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwkJfQorCQljYXNlICdvJzoKKwkJCWlmICghc3RyY21wKG9wdGFyZywgInZhbHVlIikpCisJCQkJb3V0cHV0X2Zvcm1hdCA9IE9VVFBVVF9WQUxVRV9PTkxZOworCQkJZWxzZSBpZiAoIXN0cmNtcChvcHRhcmcsICJkZXZpY2UiKSkKKwkJCQlvdXRwdXRfZm9ybWF0ID0gT1VUUFVUX0RFVklDRV9PTkxZOworCQkJZWxzZSBpZiAoIXN0cmNtcChvcHRhcmcsICJsaXN0IikpCisJCQkJb3V0cHV0X2Zvcm1hdCA9IE9VVFBVVF9QUkVUVFlfTElTVDsJLyogZGVwcmVjYXRlZCAqLworCQkJZWxzZSBpZiAoIXN0cmNtcChvcHRhcmcsICJ1ZGV2IikpCisJCQkJb3V0cHV0X2Zvcm1hdCA9IE9VVFBVVF9VREVWX0xJU1Q7CisJCQllbHNlIGlmICghc3RyY21wKG9wdGFyZywgImV4cG9ydCIpKQorCQkJCW91dHB1dF9mb3JtYXQgPSBPVVRQVVRfRVhQT1JUX0xJU1Q7CisJCQllbHNlIGlmICghc3RyY21wKG9wdGFyZywgImZ1bGwiKSkKKwkJCQlvdXRwdXRfZm9ybWF0ID0gMDsKKwkJCWVsc2UgeworCQkJCWZwcmludGYoc3RkZXJyLCAiSW52YWxpZCBvdXRwdXQgZm9ybWF0ICVzLiAiCisJCQkJCSJDaG9vc2UgZnJvbSB2YWx1ZSxcblx0IgorCQkJCQkiZGV2aWNlLCBsaXN0LCB1ZGV2IG9yIGZ1bGxcbiIsIG9wdGFyZyk7CisJCQkJZXhpdChCTEtJRF9FWElUX09USEVSKTsKKwkJCX0KKwkJCWJyZWFrOworCQljYXNlICdPJzoKKwkJCW9mZnNldCA9IHN0cnRvc2l6ZV9vcl9lcnIob3B0YXJnLCAiaW52YWxpZCBvZmZzZXQgYXJndW1lbnQiKTsKKwkJCWJyZWFrOworCQljYXNlICdwJzoKKwkJCWxvd3Byb2JlIHw9IExPV1BST0JFX1NVUEVSQkxPQ0tTOworCQkJYnJlYWs7CisJCWNhc2UgJ3MnOgorCQkJaWYgKG51bXRhZyArIDEgPj0gc2l6ZW9mKHNob3cpIC8gc2l6ZW9mKCpzaG93KSkgeworCQkJCWZwcmludGYoc3RkZXJyLCAiVG9vIG1hbnkgdGFncyBzcGVjaWZpZWRcbiIpOworCQkJCXVzYWdlKGVycik7CisJCQl9CisJCQlzaG93W251bXRhZysrXSA9IG9wdGFyZzsKKwkJCXNob3dbbnVtdGFnXSA9IE5VTEw7CisJCQlicmVhazsKKwkJY2FzZSAnUyc6CisJCQlzaXplID0gc3RydG9zaXplX29yX2VycihvcHRhcmcsICJpbnZhbGlkIHNpemUgYXJndW1lbnQiKTsKKwkJCWJyZWFrOworCQljYXNlICd0JzoKKwkJCWlmIChzZWFyY2hfdHlwZSkgeworCQkJCWZwcmludGYoc3RkZXJyLCAiQ2FuIG9ubHkgc2VhcmNoIGZvciAiCisJCQkJCQkib25lIE5BTUU9dmFsdWUgcGFpclxuIik7CisJCQkJdXNhZ2UoZXJyKTsKKwkJCX0KKwkJCWlmIChibGtpZF9wYXJzZV90YWdfc3RyaW5nKG9wdGFyZywKKwkJCQkJCSAgICZzZWFyY2hfdHlwZSwKKwkJCQkJCSAgICZzZWFyY2hfdmFsdWUpKSB7CisJCQkJZnByaW50ZihzdGRlcnIsICItdCBuZWVkcyBOQU1FPXZhbHVlIHBhaXJcbiIpOworCQkJCXVzYWdlKGVycik7CisJCQl9CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCWNhc2UgJ3YnOgorCQkJdmVyc2lvbiA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAndyc6CisJCQkvKiBpZ25vcmUgLSBiYWNrd2FyZCBjb21wYXRpYmlsaXR5ICovCisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQllcnIgPSAwOworCQkJLyogZmFsbHRocm91Z2ggKi8KKwkJZGVmYXVsdDoKKwkJCXVzYWdlKGVycik7CisJCX0KKwl9CisKKworCS8qIFRoZSByZXN0IG9mIHRoZSBhcmdzIGFyZSBkZXZpY2UgbmFtZXMgKi8KKwlpZiAob3B0aW5kIDwgYXJnYykgeworCQlkZXZpY2VzID0geGNhbGxvYyhhcmdjIC0gb3B0aW5kLCBzaXplb2YoY2hhciAqKSk7CisJCXdoaWxlIChvcHRpbmQgPCBhcmdjKQorCQkJZGV2aWNlc1tudW1kZXYrK10gPSBhcmd2W29wdGluZCsrXTsKKwl9CisKKwlpZiAodmVyc2lvbikgeworCQlwcmludF92ZXJzaW9uKHN0ZG91dCk7CisJCWdvdG8gZXhpdDsKKwl9CisKKwkvKiBjb252ZXJ0IExBQkVML1VVSUQgbG9va3VwIHRvIGV2YWx1YXRlIHJlcXVlc3QgKi8KKwlpZiAobG9va3VwICYmIG91dHB1dF9mb3JtYXQgPT0gT1VUUFVUX0RFVklDRV9PTkxZICYmIHNlYXJjaF90eXBlICYmCisJICAgICghc3RyY21wKHNlYXJjaF90eXBlLCAiTEFCRUwiKSB8fCAhc3RyY21wKHNlYXJjaF90eXBlLCAiVVVJRCIpKSkgeworCQlldmFsKys7CisJCWxvb2t1cCA9IDA7CisJfQorCisJaWYgKCFsb3dwcm9iZSAmJiAhZXZhbCAmJiBibGtpZF9nZXRfY2FjaGUoJmNhY2hlLCByZWFkKSA8IDApCisJCWdvdG8gZXhpdDsKKworCWlmIChnYykgeworCQlibGtpZF9nY19jYWNoZShjYWNoZSk7CisJCWVyciA9IDA7CisJCWdvdG8gZXhpdDsKKwl9CisJZXJyID0gQkxLSURfRVhJVF9OT1RGT1VORDsKKworCWlmIChldmFsID09IDAgJiYgKG91dHB1dF9mb3JtYXQgJiBPVVRQVVRfUFJFVFRZX0xJU1QpKSB7CisJCWlmIChsb3dwcm9iZSkgeworCQkJZnByaW50ZihzdGRlcnIsICJUaGUgbG93LWxldmVsIHByb2JpbmcgbW9kZSBkb2VzIG5vdCAiCisJCQkJCSJzdXBwb3J0ICdsaXN0JyBvdXRwdXQgZm9ybWF0XG4iKTsKKwkJCWV4aXQoQkxLSURfRVhJVF9PVEhFUik7CisJCX0KKwkJcHJldHR5X3ByaW50X2RldihOVUxMKTsKKwl9CisKKwlpZiAobG93cHJvYmUpIHsKKwkJLyoKKwkJICogTG93LWxldmVsIEFQSQorCQkgKi8KKwkJYmxraWRfcHJvYmUgcHI7CisKKwkJaWYgKCFudW1kZXYpIHsKKwkJCWZwcmludGYoc3RkZXJyLCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgIgorCQkJCQkicmVxdWlyZXMgYSBkZXZpY2VcbiIpOworCQkJZXhpdChCTEtJRF9FWElUX09USEVSKTsKKwkJfQorCisJCS8qIGF1dG9tYXRpY2FsbHkgZW5hYmxlICdleHBvcnQnIGZvcm1hdCBmb3IgSS9PIExpbWl0cyAqLworCQlpZiAoIW91dHB1dF9mb3JtYXQgICYmIChsb3dwcm9iZSAmIExPV1BST0JFX1RPUE9MT0dZKSkKKwkJCW91dHB1dF9mb3JtYXQgPSBPVVRQVVRfRVhQT1JUX0xJU1Q7CisKKwkJcHIgPSBibGtpZF9uZXdfcHJvYmUoKTsKKwkJaWYgKCFwcikKKwkJCWdvdG8gZXhpdDsKKworCQlpZiAobG93cHJvYmUgJiBMT1dQUk9CRV9TVVBFUkJMT0NLUykgeworCQkJYmxraWRfcHJvYmVfc2V0X3N1cGVyYmxvY2tzX2ZsYWdzKHByLAorCQkJCUJMS0lEX1NVQkxLU19MQUJFTCB8IEJMS0lEX1NVQkxLU19VVUlEIHwKKwkJCQlCTEtJRF9TVUJMS1NfVFlQRSB8IEJMS0lEX1NVQkxLU19TRUNUWVBFIHwKKwkJCQlCTEtJRF9TVUJMS1NfVVNBR0UgfCBCTEtJRF9TVUJMS1NfVkVSU0lPTik7CisKKwkJCWlmIChmbHRyX3VzYWdlICYmIGJsa2lkX3Byb2JlX2ZpbHRlcl9zdXBlcmJsb2Nrc191c2FnZSgKKwkJCQkJCXByLCBmbHRyX2ZsYWcsIGZsdHJfdXNhZ2UpKQorCQkJCWdvdG8gZXhpdDsKKworCQkJZWxzZSBpZiAoZmx0cl90eXBlICYmIGJsa2lkX3Byb2JlX2ZpbHRlcl9zdXBlcmJsb2Nrc190eXBlKAorCQkJCQkJcHIsIGZsdHJfZmxhZywgZmx0cl90eXBlKSkKKwkJCQlnb3RvIGV4aXQ7CisJCX0KKworCQlmb3IgKGkgPSAwOyBpIDwgbnVtZGV2OyBpKyspIHsKKwkJCWVyciA9IGxvd3Byb2JlX2RldmljZShwciwgZGV2aWNlc1tpXSwgbG93cHJvYmUsIHNob3csCisJCQkJCW91dHB1dF9mb3JtYXQsCisJCQkJCSh1aW50NjRfdCkgb2Zmc2V0LAorCQkJCQkodWludDY0X3QpIHNpemUpOworCQkJaWYgKGVycikKKwkJCQlicmVhazsKKwkJfQorCQlibGtpZF9mcmVlX3Byb2JlKHByKTsKKwl9IGVsc2UgaWYgKGV2YWwpIHsKKwkJLyoKKwkJICogRXZhbHVhdGUgQVBJCisJCSAqLworCQljaGFyICpyZXMgPSBibGtpZF9ldmFsdWF0ZV90YWcoc2VhcmNoX3R5cGUsIHNlYXJjaF92YWx1ZSwgTlVMTCk7CisJCWlmIChyZXMpIHsKKwkJCWVyciA9IDA7CisJCQlwcmludGYoIiVzXG4iLCByZXMpOworCQl9CisJfSBlbHNlIGlmIChsb29rdXApIHsKKwkJLyoKKwkJICogQ2xhc3NpYyAoY2FjaGUgYmFzZWQpIEFQSQorCQkgKi8KKwkJYmxraWRfZGV2IGRldjsKKworCQlpZiAoIXNlYXJjaF90eXBlKSB7CisJCQlmcHJpbnRmKHN0ZGVyciwgIlRoZSBsb29rdXAgb3B0aW9uIHJlcXVpcmVzIGEgIgorCQkJCSJzZWFyY2ggdHlwZSBzcGVjaWZpZWQgdXNpbmcgLXRcbiIpOworCQkJZXhpdChCTEtJRF9FWElUX09USEVSKTsKKwkJfQorCQkvKiBMb2FkIGFueSBhZGRpdGlvbmFsIGRldmljZXMgbm90IGluIHRoZSBjYWNoZSAqLworCQlmb3IgKGkgPSAwOyBpIDwgbnVtZGV2OyBpKyspCisJCQlibGtpZF9nZXRfZGV2KGNhY2hlLCBkZXZpY2VzW2ldLCBCTEtJRF9ERVZfTk9STUFMKTsKKworCQlpZiAoKGRldiA9IGJsa2lkX2ZpbmRfZGV2X3dpdGhfdGFnKGNhY2hlLCBzZWFyY2hfdHlwZSwKKwkJCQkJCSAgIHNlYXJjaF92YWx1ZSkpKSB7CisJCQlwcmludF90YWdzKGRldiwgc2hvdywgb3V0cHV0X2Zvcm1hdCk7CisJCQllcnIgPSAwOworCQl9CisJLyogSWYgd2UgZGlkbid0IHNwZWNpZnkgYSBzaW5nbGUgZGV2aWNlLCBzaG93IGFsbCBhdmFpbGFibGUgZGV2aWNlcyAqLworCX0gZWxzZSBpZiAoIW51bWRldikgeworCQlibGtpZF9kZXZfaXRlcmF0ZQlpdGVyOworCQlibGtpZF9kZXYJCWRldjsKKworCQlibGtpZF9wcm9iZV9hbGwoY2FjaGUpOworCisJCWl0ZXIgPSBibGtpZF9kZXZfaXRlcmF0ZV9iZWdpbihjYWNoZSk7CisJCWJsa2lkX2Rldl9zZXRfc2VhcmNoKGl0ZXIsIHNlYXJjaF90eXBlLCBzZWFyY2hfdmFsdWUpOworCQl3aGlsZSAoYmxraWRfZGV2X25leHQoaXRlciwgJmRldikgPT0gMCkgeworCQkJZGV2ID0gYmxraWRfdmVyaWZ5KGNhY2hlLCBkZXYpOworCQkJaWYgKCFkZXYpCisJCQkJY29udGludWU7CisJCQlwcmludF90YWdzKGRldiwgc2hvdywgb3V0cHV0X2Zvcm1hdCk7CisJCQllcnIgPSAwOworCQl9CisJCWJsa2lkX2Rldl9pdGVyYXRlX2VuZChpdGVyKTsKKwkvKiBBZGQgYWxsIHNwZWNpZmllZCBkZXZpY2VzIHRvIGNhY2hlIChvcHRpb25hbGx5IGRpc3BsYXkgdGFncykgKi8KKwl9IGVsc2UgZm9yIChpID0gMDsgaSA8IG51bWRldjsgaSsrKSB7CisJCWJsa2lkX2RldiBkZXYgPSBibGtpZF9nZXRfZGV2KGNhY2hlLCBkZXZpY2VzW2ldLAorCQkJCQkJICBCTEtJRF9ERVZfTk9STUFMKTsKKworCQlpZiAoZGV2KSB7CisJCQlpZiAoc2VhcmNoX3R5cGUgJiYKKwkJCSAgICAhYmxraWRfZGV2X2hhc190YWcoZGV2LCBzZWFyY2hfdHlwZSwKKwkJCQkJICAgICAgIHNlYXJjaF92YWx1ZSkpCisJCQkJY29udGludWU7CisJCQlwcmludF90YWdzKGRldiwgc2hvdywgb3V0cHV0X2Zvcm1hdCk7CisJCQllcnIgPSAwOworCQl9CisJfQorCitleGl0OgorCWZyZWUoc2VhcmNoX3R5cGUpOworCWZyZWUoc2VhcmNoX3ZhbHVlKTsKKwlmcmVlX3R5cGVzX2xpc3QoZmx0cl90eXBlKTsKKwlpZiAoIWxvd3Byb2JlICYmICFldmFsKQorCQlibGtpZF9wdXRfY2FjaGUoY2FjaGUpOworCWZyZWUoZGV2aWNlcyk7CisJcmV0dXJuIGVycjsKK30KZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvY2FsLjEgYi9taXNjLXV0aWxzL2NhbC4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2MjkxNmYKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL2NhbC4xCkBAIC0wLDAgKzEsMTY2IEBACisuXCIgQ29weXJpZ2h0IChjKSAxOTg5LCAxOTkwLCAxOTkzCisuXCIJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisuXCIKKy5cIiBUaGlzIGNvZGUgaXMgZGVyaXZlZCBmcm9tIHNvZnR3YXJlIGNvbnRyaWJ1dGVkIHRvIEJlcmtlbGV5IGJ5CisuXCIgS2ltIExldGtlbWFuLgorLlwiCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorLlwiICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKy5cIglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisuXCIJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisuXCIgNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKy5cIiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKy5cIiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy5cIgorLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisuXCIgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisuXCIgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKy5cIiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy5cIiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorLlwiIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisuXCIgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisuXCIgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKy5cIiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisuXCIgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorLlwiIFNVQ0ggREFNQUdFLgorLlwiCisuXCIgICAgIEAoIyljYWwuMQk4LjEgKEJlcmtlbGV5KSA2LzYvOTMKKy5cIgorLlRIIENBTCAxICJKdW5lIDIwMTUiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitjYWwgXC0gZGlzcGxheSBhIGNhbGVuZGFyCisuU0ggU1lOT1BTSVMKKy5CIGNhbAorW29wdGlvbnNdCisuUkkgW1tbIGRheSBdICIgbW9udGgiIF0gIiB5ZWFyIiBdCisuYnIKKy5CIGNhbAorW29wdGlvbnNdCisuUkkgPHRpbWVzdGFtcHxtb250aG5hbWU+CisuU0ggREVTQ1JJUFRJT04KKy5CIGNhbAorZGlzcGxheXMgYSBzaW1wbGUgY2FsZW5kYXIuICBJZiBubyBhcmd1bWVudHMgYXJlIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQKK21vbnRoIGlzIGRpc3BsYXllZC4KKy5zcAorVGhlIFxmSW1vbnRoXGZSIG1heSBiZSBzcGVjaWZpZWQgYXMgYSBudW1iZXIgKDEtMTIpLCBhcyBhIG1vbnRoIG5hbWUgb3IgYXMgYW4KK2FiYnJldmlhdGVkIG1vbnRoIG5hbWUgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IGxvY2FsZXMuCisuU0ggT1BUSU9OUworLlRQCitcZkJcLTFcZlIsIFxmQlwtXC1vbmVcZlIKK0Rpc3BsYXkgc2luZ2xlIG1vbnRoIG91dHB1dC4KKyhUaGlzIGlzIHRoZSBkZWZhdWx0LikKKy5UUAorXGZCXC0zXGZSLCBcZkJcLVwtdGhyZWVcZlIKK0Rpc3BsYXkgdGhyZWUgbW9udGhzIHNwYW5uaW5nIHRoZSBkYXRlLgorLlRQCitcZkJcLW4gLCBcLVwtbW9udGhzXGZSIFxmSW51bWJlclxmUgorRGlzcGxheSBcZkludW1iZXJcZlIgb2YgbW9udGhzLCBzdGFydGluZyBmcm9tIHRoZSBtb250aCBjb250YWluaW5nIHRoZSBkYXRlLgorLlRQCitcZkJcLVMsIFxmQlwtXC1zcGFuXGZSCitEaXNwbGF5IG1vbnRocyBzcGFubmluZyB0aGUgZGF0ZS4KKy5UUAorXGZCXC1zXGZSLCBcZkJcLVwtc3VuZGF5XGZSCitEaXNwbGF5IFN1bmRheSBhcyB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLgorLlRQCitcZkJcLW1cZlIsIFxmQlwtXC1tb25kYXlcZlIKK0Rpc3BsYXkgTW9uZGF5IGFzIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsuCisuVFAKK1xmQlwtalxmUiwgXGZCXC1cLWp1bGlhblxmUgorRGlzcGxheSBKdWxpYW4gZGF0ZXMgKGRheXMgb25lLWJhc2VkLCBudW1iZXJlZCBmcm9tIEphbnVhcnkgMSkuCisuVFAKK1xmQlwteVxmUiwgXGZCXC1cLXllYXJcZlIKK0Rpc3BsYXkgYSBjYWxlbmRhciBmb3IgdGhlIHdob2xlIHllYXIuCisuVFAKK1xmQlwtWSwgXGZCXC1cLXR3ZWx2ZVxmUgorRGlzcGxheSBhIGNhbGVuZGFyIGZvciB0aGUgbmV4dCB0d2VsdmUgbW9udGhzLgorLlRQCitcZkJcLXdcZlIsIFxmQlwtXC13ZWVrXGZSWz1cZkludW1iZXJcZlJdCitEaXNwbGF5IHdlZWsgbnVtYmVycyBpbiB0aGUgY2FsZW5kYXIgKFVTIG9yIElTTy04NjAxKS4KKy5UUAorXGZCXC1cLWNvbG9yXGZSWz1cZkl3aGVuXGZSXQorQ29sb3JpemUgdGhlIG91dHB1dC4gIFRoZSBvcHRpb25hbCBhcmd1bWVudCBcZkl3aGVuXGZQCitjYW4gYmUgXGZCYXV0b1xmUiwgXGZCbmV2ZXJcZlIgb3IgXGZCYWx3YXlzXGZSLiAgSWYgdGhlIFxmSXdoZW5cZlIgYXJndW1lbnQgaXMgb21pdHRlZCwKK2l0IGRlZmF1bHRzIHRvIFxmQmF1dG9cZlIuICBUaGUgY29sb3JzIGNhbiBiZSBkaXNhYmxlZDsgZm9yIHRoZSBjdXJyZW50IGJ1aWx0LWluIGRlZmF1bHQKK3NlZSB0aGUgXGZCXC1cLWhlbHBcZlIgb3V0cHV0LiAgU2VlIGFsc28gdGhlIFxmQkNPTE9SU1xmUiBzZWN0aW9uLgorLlRQCitcZkJcLVZcZlIsIFxmQlwtXC12ZXJzaW9uXGZSCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKK1xmQlwtaFxmUiwgXGZCXC1cLWhlbHBcZlIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIIFBBUkFNRVRFUlMKKy5UUAorXGZCU2luZ2xlIGRpZ2l0cy1vbmx5IHBhcmFtZXRlciAoZS5nLiAnY2FsIDIwMjAnKVxmUgorU3BlY2lmaWVzIHRoZSBcZkl5ZWFyXGZSIHRvIGJlIGRpc3BsYXllZDsgbm90ZSB0aGUgeWVhciBtdXN0IGJlIGZ1bGx5IHNwZWNpZmllZDoKKy5CICJjYWwgODkiCit3aWxsIG5vdCBkaXNwbGF5IGEgY2FsZW5kYXIgZm9yIDE5ODkuCisuVFAKK1xmQlNpbmdsZSBzdHJpbmcgcGFyYW1ldGVyIChlLmcuICdjYWwgdG9tb3Jyb3cnIG9yICdjYWwgQXVndXN0JylcZlIKK1NwZWNpZmllcyBcZkl0aW1lc3RhbXBcZlIgb3IgYSBcZkltb250aCBuYW1lXGZSIChvciBhYmJyZXZpYXRlZCBuYW1lKSBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQKK2xvY2FsZXMuCisuc3AKK1RoZSBzcGVjaWFsIHBsYWNlaG9sZGVycyBhcmUgYWNjZXB0ZWQgd2hlbiBwYXJzaW5nIHRpbWVzdGFtcCwgIm5vdyIgbWF5IGJlIHVzZWQKK3RvIHJlZmVyIHRvIHRoZSBjdXJyZW50IHRpbWUsICJ0b2RheSIsICJ5ZXN0ZXJkYXkiLCAidG9tb3Jyb3ciIHJlZmVyIHRvIG9mIHRoZQorY3VycmVudCBkYXksIHRoZSBkYXkgYmVmb3JlIG9yIHRoZSBuZXh0IGRheSwgcmVzcGVjdGl2ZWx5LgorLnNwCitUaGUgcmVsYXRpdmUgZGF0ZSBzcGVjaWZpY2F0aW9ucyBhcmUgYWxzbyBhY2NlcHRlZCwgaW4gdGhpcyBjYXNlICIrIiBpcworZXZhbHVhdGVkIHRvIHRoZSBjdXJyZW50IHRpbWUgcGx1cyB0aGUgc3BlY2lmaWVkIHRpbWUgc3Bhbi4gQ29ycmVzcG9uZGluZ2x5LCBhCit0aW1lIHNwYW4gdGhhdCBpcyBwcmVmaXhlZCB3aXRoICItIiBpcyBldmFsdWF0ZWQgdG8gdGhlIGN1cnJlbnQgdGltZSBtaW51cyB0aGUKK3NwZWNpZmllZCB0aW1lIHNwYW4sIGZvciBleGFtcGxlICcrMmRheXMnLiBJbnN0ZWFkIG9mIHByZWZpeGluZyB0aGUgdGltZSBzcGFuCit3aXRoICIrIiBvciAiLSIsIGl0IG1heSBhbHNvIGJlIHN1ZmZpeGVkIHdpdGggYSBzcGFjZSBhbmQgdGhlIHdvcmQgImxlZnQiIG9yCisiYWdvIiAoZm9yIGV4YW1wbGUgJzEgd2VlayBhZ28nKS4KKy5UUAorXGZCVHdvIHBhcmFtZXRlcnMgKGUuZy4gJ2NhbCAxMSAyMDIwJylcZlIKK0Rlbm90ZSB0aGUgXGZJbW9udGhcZlIgKDEgLSAxMikgYW5kIFxmSXllYXJcZlIuCisuVFAKK1xmQlRocmVlIHBhcmFtZXRlcnMgKGUuZy4gJ2NhbCAyNSAxMSAyMDIwJylcZlIKK0Rlbm90ZSB0aGUgXGZJZGF5XGZSICgxLTMxKSwgXGZJbW9udGggYW5kIFxmSXllYXJcZlIsIGFuZCB0aGUgZGF5IHdpbGwgYmUKK2hpZ2hsaWdodGVkIGlmIHRoZSBjYWxlbmRhciBpcyBkaXNwbGF5ZWQgb24gYSB0ZXJtaW5hbC4gIElmIG5vIHBhcmFtZXRlcnMgYXJlCitzcGVjaWZpZWQsIHRoZSBjdXJyZW50IG1vbnRoJ3MgY2FsZW5kYXIgaXMgZGlzcGxheWVkLgorLlNIIE5PVEVTCitBIHllYXIgc3RhcnRzIG9uIEphbnVhcnkgMS4gIFRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsgaXMgZGV0ZXJtaW5lZCBieSB0aGUKK2xvY2FsZS4KKy5QUAorVGhlIHdlZWsgbnVtYmVyaW5nIGRlcGVuZHMgb24gdGhlIGNob2ljZSBvZiB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLiAgSWYgU3VuZGF5CisodGhlIGRlZmF1bHQpIGlzIHVzZWQgZm9yIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWssIHRoZW4gdGhlIGN1c3RvbWFyeSBOb3J0aAorQW1lcmljYW4gbnVtYmVyaW5nIHdpbGwgYmUgdXNlZCwgaS5lLiB0aGUgZmlyc3QgU3VuZGF5IG9mIHRoZSB5ZWFyIHN0YXJ0cyB0aGUKK2ZpcnN0IHdlZWsuICBJZiBNb25kYXkgaXMgc2VsZWN0ZWQsIHRoZW4gdGhlIElTTy04NjAxIHN0YW5kYXJkIHdlZWsgbnVtYmVyaW5nCitpcyB1c2VkLCB3aGVyZSB0aGUgZmlyc3QgVGh1cnNkYXkgb2YgdGhlIHllYXIgaXMgaW4gd2VlayBudW1iZXIgMS4KKy5TSCBDT0xPUlMKK0ltcGxpY2l0IGNvbG9yaW5nIGNhbiBiZSBkaXNhYmxlZCBhcyBmb2xsb3dzOgorLlJTCisKKy5icgorLkJJICJ0b3VjaCAvZXRjL3Rlcm1pbmFsLWNvbG9ycy5kL2NhbC5kaXNhYmxlIgorLmJyCisKKy5SRQorU2VlCisuQlIgdGVybWluYWwtY29sb3JzLmQgKDUpCitmb3IgbW9yZSBkZXRhaWxzIGFib3V0IGNvbG9yaXphdGlvbiBjb25maWd1cmF0aW9uLgorLlNIIEJVR1MKKy5QUAorVGhlCisuQiBjYWwKK3Byb2dyYW0gdXNlcyB0aGUgM3JkIG9mIFNlcHRlbWJlciAxNzUyIGFzIHRoZSBkYXRlIG9mIHRoZSBHcmVnb3JpYW4gY2FsZW5kYXIKK3JlZm9ybWF0aW9uIC0tIHRoYXQgaXMgd2hlbiBpdCBoYXBwZW5lZCBpbiBHcmVhdCBCcml0YWluIGFuZCBpdHMgY29sb25pZXMKKyhpbmNsdWRpbmcgd2hhdCBpcyBub3cgdGhlIFVTQSkuICBTdGFydGluZyBhdCB0aGF0IGRhdGUsIGVsZXZlbiBkYXlzIHdlcmUgZWxpbWluYXRlZAorYnkgdGhpcyByZWZvcm1hdGlvbiwgc28gdGhlIGNhbGVuZGFyIGZvciB0aGF0IG1vbnRoIGlzIHJhdGhlciB1bnVzdWFsLgorVGhlIGFjdHVhbCBoaXN0b3JpY2FsIGRhdGVzIGF0IHdoaWNoIHRoZSBjYWxlbmRhciByZWZvcm0gaGFwcGVuZWQgaW4gYWxsIHRoZQorZGlmZmVyZW50IGNvdW50cmllcyAobG9jYWxlcykgYXJlIGlnbm9yZWQuCisuUFAKK0FsdGVybmF0aXZlIGNhbGVuZGFycywgc3VjaCBhcyB0aGUgVW1tIGFsLVF1cmEsIHRoZSBTb2xhciBIaWpyaSwgdGhlIEdlJ2V6LAorb3IgdGhlIGx1bmlzb2xhciBIaW5kdSwgYXJlIG5vdCBzdXBwb3J0ZWQuCisuU0ggSElTVE9SWQorQSBjYWwgY29tbWFuZCBhcHBlYXJlZCBpbiBWZXJzaW9uIDYgQVQmVCBVTklYLgorLlNIIEFWQUlMQUJJTElUWQorVGhlIGNhbCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2Z0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvY2FsLmMgYi9taXNjLXV0aWxzL2NhbC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlN2IzNTYKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL2NhbC5jCkBAIC0wLDAgKzEsMTAyMSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk4OSwgMTk5MywgMTk5NAorICoJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBjb2RlIGlzIGRlcml2ZWQgZnJvbSBzb2Z0d2FyZSBjb250cmlidXRlZCB0byBCZXJrZWxleSBieQorICogS2ltIExldGtlbWFuLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisgKiAgICBtdXN0IGRpc3BsYXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnZW1lbnQ6CisgKglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisgKglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKyAqIDQuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworLyogMTk5OS0wMi0wMQlKZWFuLUZyYW5jb2lzIEJpZ25vbGxlczogYWRkZWQgb3B0aW9uICctbScgdG8gZGlzcGxheQorICoJCW1vbmRheSBhcyB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLgorICogMTk5OS0wMi0yMiBBcmthZGl1c3ogTWnFm2tpZXdpY3ogPG1pc2lla0BwbGQuT1JHLlBMPgorICogLSBhZGRlZCBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAorICoKKyAqIDIwMDAtMDktMDEgIE1pY2hhZWwgQ2hhcmxlcyBQcnV6bmljayA8ZHVtbXlAbmV0d2l6Lm5ldD4KKyAqICAgICAgICAgICAgIEFkZGVkICItMyIgb3B0aW9uIHRvIHByaW50IHByZXYvbmV4dCBtb250aCB3aXRoIGN1cnJlbnQuCisgKiAgICAgICAgICAgICBBZGRlZCBvdmVycmlkYWJsZSBkZWZhdWx0IE1PTlRIU19JTl9ST1cgYW5kICItMSIgb3B0aW9uIHRvCisgKiAgICAgICAgICAgICBnZXQgdHJhZGl0aW9uYWwgb3V0cHV0IHdoZW4gLTMgaXMgdGhlIGRlZmF1bHQuICBJIGhvcGUgdGhhdAorICogICAgICAgICAgICAgZW5vdWdoIHBlb3BsZSB3aWxsIGxpa2UgLTMgYXMgdGhlIGRlZmF1bHQgdGhhdCBvbmUgZGF5IHRoZQorICogICAgICAgICAgICAgcHJvZHVjdCBjYW4gYmUgc2hpcHBlZCB0aGF0IHdheS4KKyAqCisgKiAyMDAxLTA1LTA3ICBQYWJsbyBTYXJhdHhhZ2EgPHBhYmxvQG1hbmRyYWtlc29mdC5jb20+CisgKiAgICAgICAgICAgICBGaXhlZCB0aGUgYnVncyB3aXRoIG11bHRpLWJ5dGUgY2hhcnNldCAoemc6IGNqaywgdXRmLTgpCisgKiAgICAgICAgICAgICBkaXNwbGF5aW5nLiBtYWRlIHRoZSAnbW9udGggeWVhcicgKCIlcyAlZCIpIGhlYWRlciB0cmFuc2xhdGFibGUKKyAqICAgICAgICAgICAgIHNvIGl0IGNhbiBiZSBhZGFwdGVkIHRvIGNvbnZlbnRpb25zIHVzZWQgYnkgZGlmZmVyZW50IGxhbmd1YWdlcworICogICAgICAgICAgICAgYWRkZWQgc3VwcG9ydCB0byByZWFkICJmaXJzdF93ZWVrZGF5IiBsb2NhbGUgaW5mb3JtYXRpb24KKyAqICAgICAgICAgICAgIHN0aWxsIHRvIGRvOiBzdXBwb3J0IGZvciAnY2FsX2RpcmVjdGlvbicgKHdpbGwgcmVxdWlyZSBhIG1ham9yCisgKiAgICAgICAgICAgICByZXdyaXRlIG9mIHRoZSBkaXNwbGF5aW5nKSBhbmQgcHJvcGVyIGhhbmRsaW5nIG9mIFJUTCBzY3JpcHRzCisgKi8KKworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorCisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHRpbWUuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAiY29sb3JzLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAibWJzYWxpZ24uaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgIm9wdHV0aWxzLmgiCisjaW5jbHVkZSAidGltZXV0aWxzLmgiCisKK3N0YXRpYyBpbnQgaGFzX3Rlcm0gPSAwOworc3RhdGljIGNvbnN0IGNoYXIgKlNlbnRlciA9ICIiLCAqU2V4aXQgPSAiIjsJLyogZW50ZXIgYW5kIGV4aXQgc3RhbmRvdXQgbW9kZSAqLworCisjaWYgZGVmaW5lZChIQVZFX0xJQk5DVVJTRVMpIHx8IGRlZmluZWQoSEFWRV9MSUJOQ1VSU0VTVykKKyMgaWZkZWYgSEFWRV9OQ1VSU0VTX0gKKyMgIGluY2x1ZGUgPG5jdXJzZXMuaD4KKyMgZWxpZiBkZWZpbmVkKEhBVkVfTkNVUlNFU19OQ1VSU0VTX0gpCisjICBpbmNsdWRlIDxuY3Vyc2VzL25jdXJzZXMuaD4KKyMgZW5kaWYKKyMgaW5jbHVkZSA8dGVybS5oPgorI2VuZGlmCisKK3N0YXRpYyBpbnQgc2V0dXBfdGVybWluYWwoY2hhciAqdGVybQorI2lmICFkZWZpbmVkKEhBVkVfTElCTkNVUlNFUykgJiYgIWRlZmluZWQoSEFWRV9MSUJOQ1VSU0VTVykKKwkJCV9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKQorI2VuZGlmCisJCSkKK3sKKyNpZiBkZWZpbmVkKEhBVkVfTElCTkNVUlNFUykgfHwgZGVmaW5lZChIQVZFX0xJQk5DVVJTRVNXKQorCWludCByZXQ7CisKKwlpZiAoc2V0dXB0ZXJtKHRlcm0sIFNURE9VVF9GSUxFTk8sICZyZXQpICE9IE9LIHx8IHJldCAhPSAxKQorCQlyZXR1cm4gLTE7CisjZW5kaWYKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgbXlfcHV0c3RyaW5nKGNoYXIgKnMpCit7CisjaWYgZGVmaW5lZChIQVZFX0xJQk5DVVJTRVMpIHx8IGRlZmluZWQoSEFWRV9MSUJOQ1VSU0VTVykKKwlpZiAoaGFzX3Rlcm0pCisJCXB1dHAocyk7CisJZWxzZQorI2VuZGlmCisJCWZwdXRzKHMsIHN0ZG91dCk7Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyICpteV90Z2V0c3RyKGNoYXIgKnNzCisJI2lmICFkZWZpbmVkKEhBVkVfTElCTkNVUlNFUykgJiYgIWRlZmluZWQoSEFWRV9MSUJOQ1VSU0VTVykKKwkJCV9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKQorI2VuZGlmCisJCSkKK3sKKwljb25zdCBjaGFyICpyZXQgPSBOVUxMOworCisjaWYgZGVmaW5lZChIQVZFX0xJQk5DVVJTRVMpIHx8IGRlZmluZWQoSEFWRV9MSUJOQ1VSU0VTVykKKwlpZiAoaGFzX3Rlcm0pCisJCXJldCA9IHRpZ2V0c3RyKHNzKTsKKyNlbmRpZgorCWlmICghcmV0IHx8IHJldCA9PSAoY2hhciAqKS0xKQorCQlyZXR1cm4gIiI7CisJcmV0dXJuIHJldDsKK30KKworI2luY2x1ZGUgIndpZGVjaGFyLmgiCisKK2VudW0geworCVNVTkRBWSA9IDAsCisJTU9OREFZLAorCVRVRVNEQVksCisJV0VETkVTREFZLAorCVRIVVJTREFZLAorCUZSSURBWSwKKwlTQVRVUkRBWSwKKwlEQVlTX0lOX1dFRUssCisJTk9ORURBWQorfTsKKworZW51bSB7CisJSkFOVUFSWSA9IDEsCisJRkVCUlVBUlksCisJTUFSQ0gsCisJQVBSSUwsCisJTUFZLAorCUpVTkUsCisJSlVMWSwKKwlBVUdVU1QsCisJU0VQVEVNQkVSLAorCU9DVE9CRVIsCisJTk9WRU1CRVIsCisJREVDRU1CRVIKK307CisKKyNkZWZpbmUgUkVGT1JNQVRJT05fWUVBUgkxNzUyCQkvKiBTaWduZWQtb2ZmLWJ5OiBMb3JkIENoZXN0ZXJmaWVsZCAqLworI2RlZmluZSBSRUZPUk1BVElPTl9NT05USAlTRVBURU1CRVIKKyNkZWZpbmUJTlVNQkVSX01JU1NJTkdfREFZUwkxMQkJLyogMTEgZGF5IGNvcnJlY3Rpb24gKi8KKyNkZWZpbmUgWURBWV9BRlRFUl9NSVNTSU5HCTI1OCAgICAgICAgICAgICAvKiAxNHRoIGluIFNlcCAxNzUyICovCisKKyNkZWZpbmUgTU9OVEhTX0lOX1lFQVIJCURFQ0VNQkVSCisjZGVmaW5lIERBWVNfSU5fTU9OVEgJCTMxCisjZGVmaW5lCU1BWERBWVMJCQk0MgkJLyogc2xvdHMgaW4gYSBtb250aCBhcnJheSAqLworI2RlZmluZQlTUEFDRQkJCS0xCQkvKiB1c2VkIGluIGRheSBhcnJheSAqLworCisjZGVmaW5lIFNNQUxMRVNUX1lFQVIJCTEKKworI2RlZmluZQlEQVlfTEVOCQkJMwkJLyogMyBzcGFjZXMgcGVyIGRheSAqLworI2RlZmluZQlXRUVLX0xFTgkJKERBWVNfSU5fV0VFSyAqIERBWV9MRU4pCisjZGVmaW5lIE1PTlRIU19JTl9ZRUFSX1JPVwkzCQkvKiBtb250aCBjb2x1bW5zIGluIHllYXIgdmlldyAqLworI2RlZmluZSBXTlVNX0xFTiAgICAgICAgICAgICAgICAzCisKKyNkZWZpbmUgRk1UX1NUX0NIQVJTIDMwMAkvKiA5MCBzdWZmaWNlcyBpbiBtb3N0IGxvY2FsZXMgKi8KKworc3RhdGljIGNvbnN0IGludCBkYXlzX2luX21vbnRoWzJdWzEzXSA9IHsKKwl7MCwgMzEsIDI4LCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMxLCAzMCwgMzEsIDMwLCAzMX0sCisJezAsIDMxLCAyOSwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMSwgMzAsIDMxLCAzMCwgMzF9LAorfTsKKworZW51bSB7CisJV0VFS19OVU1fRElTQUJMRUQgPSAwLAorCVdFRUtfTlVNX01BU0s9MHhmZiwKKwlXRUVLX05VTV9JU089MHgxMDAsCisJV0VFS19OVU1fVVM9MHgyMDAsCit9OworCisvKiB1dGYtOCBjYW4gaGF2ZSB1cCB0byA2IGJ5dGVzIHBlciBjaGFyOyBhbmQgYW4gZXh0cmEgYnl0ZSBmb3IgZW5kaW5nIFwwICovCitzdGF0aWMgY2hhciBkYXlfaGVhZGluZ3NbKFdFRUtfTEVOICsgMSkgKiA2ICsgMV07CisKK3N0cnVjdCBjYWxfcmVxdWVzdCB7CisJaW50IGRheTsKKwlpbnQgbW9udGg7CisJaW50MzJfdCB5ZWFyOworCWludCB3ZWVrOworCWludCBzdGFydF9tb250aDsKK307CisKK3N0cnVjdCBjYWxfY29udHJvbCB7CisJY29uc3QgY2hhciAqZnVsbF9tb250aFtNT05USFNfSU5fWUVBUl07CS8qIG1vbnRoIG5hbWVzICovCisJY29uc3QgY2hhciAqYWJicl9tb250aFtNT05USFNfSU5fWUVBUl07CS8qIGFiYnJldmlhdGVkIG1vbnRoIG5hbWVzICovCisKKwlpbnQgY29sb3Jtb2RlOwkJCS8qIGRheSBhbmQgd2VlayBudW1iZXIgaGlnaGxpZ2h0ICovCisJaW50IG51bV9tb250aHM7CQkJLyogbnVtYmVyIG9mIHJlcXVlc3RlZCBtb250cyAqLworCWludCBzcGFuX21vbnRoczsJCS8qIHNwYW4gdGhlIGRhdGUgKi8KKwlpbnQgbW9udGhzX2luX3JvdzsJCS8qIG51bWJlciBvZiBtb250aHMgaG9yaXpvbnRhbGx5IGluIHByaW50IG91dCAqLworCWludCB3ZWVrc3RhcnQ7CQkJLyogZGF5IHRoZSB3ZWVrIHN0YXJ0cywgb2Z0ZW4gU3VuIG9yIE1vbiAqLworCWludCB3ZWVrdHlwZTsJCQkvKiBXRUVLX1RZUEVfe05PTkUsSVNPLFVTfSAqLworCXNpemVfdCBkYXlfd2lkdGg7CQkvKiBkYXkgd2lkdGggaW4gY2hhcmFjdGVycyBpbiBwcmludG91dCAqLworCXNpemVfdCB3ZWVrX3dpZHRoOwkJLyogNyAqIGRheV93aWR0aCArIHBvc3NpYmxlIHdlZWsgbnVtICovCisJaW50IGd1dHRlcl93aWR0aDsJCS8qIHNwYWNlcyBpbiBiZXR3ZWVuIGhvcml6b250YWwgbW9udGggb3V0cHV0cyAqLworCXN0cnVjdCBjYWxfcmVxdWVzdCByZXE7CQkvKiB0aGUgdGltZXMgdXNlciBpcyBpbnRlcmVzdGVkICovCisJdW5zaWduZWQgaW50CWp1bGlhbjoxLAkvKiBqdWxpYW4gb3V0cHV0ICovCisJCQloZWFkZXJfeWVhcjoxLAkvKiBwcmludCB5ZWFyIG51bWJlciAqLworCQkJaGVhZGVyX2hpbnQ6MTsJLyogZG9lcyBtb250aCBuYW1lICsgeWVhciBuZWVkIHR3byBsaW5lcyB0byBmaXQgKi8KK307CisKK3N0cnVjdCBjYWxfbW9udGggeworCWludCBkYXlzW01BWERBWVNdOwkJLyogdGhlIGRheSBudW1iZXJzLCBvciBTUEFDRSAqLworCWludCB3ZWVrc1tNQVhEQVlTIC8gREFZU19JTl9XRUVLXTsKKwlpbnQgbW9udGg7CisJaW50MzJfdCB5ZWFyOworCXN0cnVjdCBjYWxfbW9udGggKm5leHQ7Cit9OworCisvKiBmdW5jdGlvbiBwcm90b3R5cGVzICovCitzdGF0aWMgaW50IGxlYXBfeWVhcihpbnQzMl90IHllYXIpOworc3RhdGljIGludCBtb250aG5hbWVfdG9fbnVtYmVyKHN0cnVjdCBjYWxfY29udHJvbCAqY3RsLCBjb25zdCBjaGFyICpuYW1lKTsKK3N0YXRpYyB2b2lkIGhlYWRlcnNfaW5pdChzdHJ1Y3QgY2FsX2NvbnRyb2wgKmN0bCk7CitzdGF0aWMgdm9pZCBjYWxfZmlsbF9tb250aChzdHJ1Y3QgY2FsX21vbnRoICptb250aCwgY29uc3Qgc3RydWN0IGNhbF9jb250cm9sICpjdGwpOworc3RhdGljIHZvaWQgY2FsX291dHB1dF9oZWFkZXIoc3RydWN0IGNhbF9tb250aCAqbW9udGgsIGNvbnN0IHN0cnVjdCBjYWxfY29udHJvbCAqY3RsKTsKK3N0YXRpYyB2b2lkIGNhbF9vdXRwdXRfbW9udGhzKHN0cnVjdCBjYWxfbW9udGggKm1vbnRoLCBjb25zdCBzdHJ1Y3QgY2FsX2NvbnRyb2wgKmN0bCk7CitzdGF0aWMgdm9pZCBtb250aGx5KGNvbnN0IHN0cnVjdCBjYWxfY29udHJvbCAqY3RsKTsKK3N0YXRpYyB2b2lkIHllYXJseShjb25zdCBzdHJ1Y3QgY2FsX2NvbnRyb2wgKmN0bCk7CitzdGF0aWMgaW50IGRheV9pbl95ZWFyKGludCBkYXksIGludCBtb250aCwgaW50MzJfdCB5ZWFyKTsKK3N0YXRpYyBpbnQgZGF5X2luX3dlZWsoaW50IGRheSwgaW50IG1vbnRoLCBpbnQzMl90IHllYXIpOworc3RhdGljIGludCB3ZWVrX251bWJlcihpbnQgZGF5LCBpbnQgbW9udGgsIGludDMyX3QgeWVhciwgY29uc3Qgc3RydWN0IGNhbF9jb250cm9sICpjdGwpOworc3RhdGljIGludCB3ZWVrX3RvX2RheShjb25zdCBzdHJ1Y3QgY2FsX2NvbnRyb2wgKmN0bCk7CitzdGF0aWMgaW50IGNlbnRlcl9zdHIoY29uc3QgY2hhciAqc3JjLCBjaGFyICpkZXN0LCBzaXplX3QgZGVzdF9zaXplLCBzaXplX3Qgd2lkdGgpOworc3RhdGljIHZvaWQgY2VudGVyKGNvbnN0IGNoYXIgKnN0ciwgc2l6ZV90IGxlbiwgaW50IHNlcGFyYXRlKTsKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKEZJTEUgKm91dCk7CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlzdHJ1Y3QgdG0gKmxvY2FsX3RpbWU7CisJY2hhciAqdGVybTsKKwl0aW1lX3Qgbm93OworCWludCBjaCA9IDAsIHlmbGFnID0gMCwgWWZsYWcgPSAwOworCXN0YXRpYyBzdHJ1Y3QgY2FsX2NvbnRyb2wgY3RsID0geworCQkud2Vla3N0YXJ0ID0gU1VOREFZLAorCQkubnVtX21vbnRocyA9IDEsCQkvKiBkZWZhdWx0IGlzICJjYWwgLTEiICovCisJCS5zcGFuX21vbnRocyA9IDAsCisJCS5jb2xvcm1vZGUgPSBVTF9DT0xPUk1PREVfVU5ERUYsCisJCS53ZWVrdHlwZSA9IFdFRUtfTlVNX0RJU0FCTEVELAorCQkuZGF5X3dpZHRoID0gREFZX0xFTiwKKwkJLmd1dHRlcl93aWR0aCA9IDIsCisJCS5yZXEuZGF5ID0gMCwKKwkJLnJlcS5tb250aCA9IDAKKwl9OworCisJZW51bSB7CisJCU9QVF9DT0xPUiA9IENIQVJfTUFYICsgMQorCX07CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7Im9uZSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnMSd9LAorCQl7InRocmVlIiwgbm9fYXJndW1lbnQsIE5VTEwsICczJ30sCisJCXsic3VuZGF5Iiwgbm9fYXJndW1lbnQsIE5VTEwsICdzJ30sCisJCXsibW9uZGF5Iiwgbm9fYXJndW1lbnQsIE5VTEwsICdtJ30sCisJCXsianVsaWFuIiwgbm9fYXJndW1lbnQsIE5VTEwsICdqJ30sCisJCXsibW9udGhzIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICduJ30sCisJCXsic3BhbiIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnUyd9LAorCQl7InllYXIiLCBub19hcmd1bWVudCwgTlVMTCwgJ3knfSwKKwkJeyJ3ZWVrIiwgb3B0aW9uYWxfYXJndW1lbnQsIE5VTEwsICd3J30sCisJCXsiY29sb3IiLCBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgT1BUX0NPTE9SfSwKKwkJeyJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsIE5VTEwsICdWJ30sCisJCXsidHdlbHZlIiwgbm9fYXJndW1lbnQsIE5VTEwsICdZJ30sCisJCXsiaGVscCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCd9LAorCQl7TlVMTCwgMCwgTlVMTCwgMH0KKwl9OworCisJc3RhdGljIGNvbnN0IHVsX2V4Y2xfdCBleGNsW10gPSB7ICAgICAgIC8qIHJvd3MgYW5kIGNvbHMgaW4gaW4gQVNDSUkgb3JkZXIgKi8KKwkJeyAnWScsJ24nLCd5JyB9LAorCQl7IDAgfQorCX07CisJaW50IGV4Y2xfc3RbQVJSQVlfU0laRShleGNsKV0gPSBVTF9FWENMX1NUQVRVU19JTklUOworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXRlcm0gPSBnZXRlbnYoIlRFUk0iKTsKKwlpZiAodGVybSkgeworCQloYXNfdGVybSA9IHNldHVwX3Rlcm1pbmFsKHRlcm0pID09IDA7CisJCWlmIChoYXNfdGVybSkgeworCQkJU2VudGVyID0gbXlfdGdldHN0cigic21zbyIpOworCQkJU2V4aXQgPSBteV90Z2V0c3RyKCJybXNvIik7CisJCX0KKwl9CisKKy8qCisgKiBUaGUgdHJhZGl0aW9uYWwgVW5peCBjYWwgdXRpbGl0eSBzdGFydHMgdGhlIHdlZWsgYXQgU3VuZGF5LAorICogd2hpbGUgSVNPIDg2MDEgc3RhcnRzIGF0IE1vbmRheS4gV2UgcmVhZCB0aGUgc3RhcnQgZGF5IGZyb20KKyAqIHRoZSBsb2NhbGUgZGF0YWJhc2UsIHdoaWNoIGNhbiBiZSBvdmVycmlkZGVuIHdpdGggdGhlCisgKiAtcyAoU3VuZGF5KSBvciAtbSAoTW9uZGF5KSBvcHRpb25zLgorICovCisjaWYgSEFWRV9ERUNMX19OTF9USU1FX1dFRUtfMVNUREFZCisJLyoKKwkgKiBZb3UgbmVlZCB0byB1c2UgMiBsb2NhbGUgdmFyaWFibGVzIHRvIGdldCB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLgorCSAqIFRoaXMgaXMgbmVlZGVkIHRvIHN1cHBvcnQgZmlyc3Rfd2Vla2RheT0yIGFuZCBmaXJzdF93b3JrZGF5PTEgZm9yCisJICogdGhlIHJhcmUgY2FzZSB3aGVyZSB3b3JraW5nIGRheXMgc3BhbiBhY3Jvc3MgMiB3ZWVrcy4KKwkgKiBUaGlzIHNoZWxsIHNjcmlwdCBzaG93cyB0aGUgY29tYmluYXRpb25zIGFuZCBjYWxjdWxhdGlvbnMgaW52b2x2ZWQ6CisJICoKKwkgKiBmb3IgTEFORyBpbiBlbl9VUyBydV9SVSBmcl9GUiBjc2JfUEwgUE9TSVg7IGRvCisJICogICBwcmludGYgIiVzOlx0JXMgKyAlcyAtMSA9ICIgJExBTkcgJChsb2NhbGUgd2Vlay0xc3RkYXkgZmlyc3Rfd2Vla2RheSkKKwkgKiAgIGRhdGUgLWQiJChsb2NhbGUgd2Vlay0xc3RkYXkpICskKCgkKGxvY2FsZSBmaXJzdF93ZWVrZGF5KS0xKSlkYXkiICsldworCSAqIGRvbmUKKwkgKgorCSAqIGVuX1VTOiAgMTk5NzExMzAgKyAxIC0xID0gMCAgIzAgPSBzdW5kYXkKKwkgKiBydV9SVTogIDE5OTcxMTMwICsgMiAtMSA9IDEKKwkgKiBmcl9GUjogIDE5OTcxMjAxICsgMSAtMSA9IDEKKwkgKiBjc2JfUEw6IDE5OTcxMjAxICsgMiAtMSA9IDIKKwkgKiBQT1NJWDogIDE5OTcxMjAxICsgNyAtMSA9IDAKKwkgKi8KKwl7CisJCWludCB3ZmQ7CisJCXVuaW9uIHsgdW5zaWduZWQgaW50IHdvcmQ7IGNoYXIgKnN0cmluZzsgfSB2YWw7CisJCXZhbC5zdHJpbmcgPSBubF9sYW5naW5mbyhfTkxfVElNRV9XRUVLXzFTVERBWSk7CisKKwkJd2ZkID0gdmFsLndvcmQ7CisJCXdmZCA9IGRheV9pbl93ZWVrKHdmZCAlIDEwMCwgKHdmZCAvIDEwMCkgJSAxMDAsIHdmZCAvICgxMDAgKiAxMDApKTsKKwkJY3RsLndlZWtzdGFydCA9ICh3ZmQgKyAqbmxfbGFuZ2luZm8oX05MX1RJTUVfRklSU1RfV0VFS0RBWSkgLSAxKSAlIERBWVNfSU5fV0VFSzsKKwl9CisjZW5kaWYKKwl3aGlsZSAoKGNoID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIjEzbWpuOnNTeXdZVmgiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisKKwkJZXJyX2V4Y2x1c2l2ZV9vcHRpb25zKGNoLCBsb25nb3B0cywgZXhjbCwgZXhjbF9zdCk7CisKKwkJc3dpdGNoKGNoKSB7CisJCWNhc2UgJzEnOgorCQkJLyogZGVmYXVsdCAqLworCQkJYnJlYWs7CisJCWNhc2UgJzMnOgorCQkJY3RsLm51bV9tb250aHMgPSAzOworCQkJY3RsLnNwYW5fbW9udGhzID0gMTsKKwkJCWN0bC5tb250aHNfaW5fcm93ID0gMzsKKwkJCWJyZWFrOworCQljYXNlICdzJzoKKwkJCWN0bC53ZWVrc3RhcnQgPSBTVU5EQVk7CQkvKiBkZWZhdWx0ICovCisJCQlicmVhazsKKwkJY2FzZSAnbSc6CisJCQljdGwud2Vla3N0YXJ0ID0gTU9OREFZOworCQkJYnJlYWs7CisJCWNhc2UgJ2onOgorCQkJY3RsLmp1bGlhbiA9IDE7CisJCQljdGwuZGF5X3dpZHRoID0gREFZX0xFTiArIDE7CisJCQlicmVhazsKKwkJY2FzZSAneSc6CisJCQl5ZmxhZyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnWSc6CisJCQlZZmxhZyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQljdGwubnVtX21vbnRocyA9IHN0cnRvdTMyX29yX2VycihvcHRhcmcsCisJCQkJCQlfKCJpbnZhbGlkIG1vbnRoIGFyZ3VtZW50IikpOworCQkJYnJlYWs7CisJCWNhc2UgJ1MnOgorCQkJY3RsLnNwYW5fbW9udGhzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICd3JzoKKwkJCWlmIChvcHRhcmcpIHsKKwkJCQljdGwucmVxLndlZWsgPSBzdHJ0b3MzMl9vcl9lcnIob3B0YXJnLAorCQkJCQkJXygiaW52YWxpZCB3ZWVrIGFyZ3VtZW50IikpOworCQkJCWlmIChjdGwucmVxLndlZWsgPCAxIHx8IDU0IDwgY3RsLnJlcS53ZWVrKQorCQkJCQllcnJ4KEVYSVRfRkFJTFVSRSxfKCJpbGxlZ2FsIHdlZWsgdmFsdWU6IHVzZSAxLTU0IikpOworCQkJfQorCQkJY3RsLndlZWt0eXBlID0gV0VFS19OVU1fVVM7CS8qIGRlZmF1bHQgcGVyIHdlZWtzdGFydCAqLworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0NPTE9SOgorCQkJY3RsLmNvbG9ybW9kZSA9IFVMX0NPTE9STU9ERV9BVVRPOworCQkJaWYgKG9wdGFyZykKKwkJCQljdGwuY29sb3Jtb2RlID0gY29sb3Jtb2RlX29yX2VycihvcHRhcmcsCisJCQkJCQlfKCJ1bnN1cHBvcnRlZCBjb2xvciBtb2RlIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCWNhc2UgJz8nOgorCQlkZWZhdWx0OgorCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJfQorCX0KKworCWFyZ2MgLT0gb3B0aW5kOworCWFyZ3YgKz0gb3B0aW5kOworCisJaWYgKGN0bC53ZWVrdHlwZSkgeworCQljdGwud2Vla3R5cGUgPSBjdGwucmVxLndlZWsgJiBXRUVLX05VTV9NQVNLOworCQljdGwud2Vla3R5cGUgfD0gKGN0bC53ZWVrc3RhcnQgPT0gTU9OREFZID8gV0VFS19OVU1fSVNPIDogV0VFS19OVU1fVVMpOworCQljdGwud2Vla193aWR0aCA9IChjdGwuZGF5X3dpZHRoICogREFZU19JTl9XRUVLKSArIFdOVU1fTEVOOworCX0gZWxzZQorCQljdGwud2Vla193aWR0aCA9IGN0bC5kYXlfd2lkdGggKiBEQVlTX0lOX1dFRUs7CisKKwlpZiAoYXJnYyA9PSAxICYmICFpc2RpZ2l0X3N0cmluZygqYXJndikpIHsKKwkJdXNlY190IHg7CisJCS8qIGNhbCA8dGltZXN0YW1wPiAqLworCQlpZiAocGFyc2VfdGltZXN0YW1wKCphcmd2LCAmeCkgPT0gMCkKKwkJCW5vdyA9ICh0aW1lX3QpICh4IC8gMTAwMDAwMCk7CisJCS8qIGNhbCA8bW9udGhuYW1lPiAqLworCQllbHNlIGlmICgoY3RsLnJlcS5tb250aCA9IG1vbnRobmFtZV90b19udW1iZXIoJmN0bCwgKmFyZ3YpKSA+IDApCisJCQl0aW1lKCZub3cpOwkvKiB0aGlzIHllYXIgKi8KKwkJZWxzZQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBwYXJzZSB0aW1lc3RhbXAgb3IgdW5rbm93biBtb250aCBuYW1lOiAlcyIpLCAqYXJndik7CisJCWFyZ2MgPSAwOworCX0gZWxzZQorCQl0aW1lKCZub3cpOworCisJbG9jYWxfdGltZSA9IGxvY2FsdGltZSgmbm93KTsKKworCXN3aXRjaChhcmdjKSB7CisJY2FzZSAzOgorCQljdGwucmVxLmRheSA9IHN0cnRvczMyX29yX2VycigqYXJndisrLCBfKCJpbGxlZ2FsIGRheSB2YWx1ZSIpKTsKKwkJaWYgKGN0bC5yZXEuZGF5IDwgMSB8fCBEQVlTX0lOX01PTlRIIDwgY3RsLnJlcS5kYXkpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiaWxsZWdhbCBkYXkgdmFsdWU6IHVzZSAxLSVkIiksIERBWVNfSU5fTU9OVEgpOworCQkvKiBGQUxMVEhST1VHSCAqLworCWNhc2UgMjoKKwkJaWYgKGlzZGlnaXQoKiphcmd2KSkKKwkJCWN0bC5yZXEubW9udGggPSBzdHJ0b3MzMl9vcl9lcnIoKmFyZ3YrKywgXygiaWxsZWdhbCBtb250aCB2YWx1ZTogdXNlIDEtMTIiKSk7CisJCWVsc2UgeworCQkJY3RsLnJlcS5tb250aCA9IG1vbnRobmFtZV90b19udW1iZXIoJmN0bCwgKmFyZ3YpOworCQkJaWYgKGN0bC5yZXEubW9udGggPCAwKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1bmtub3duIG1vbnRoIG5hbWU6ICVzIiksICphcmd2KTsKKwkJCWFyZ3YrKzsKKwkJfQorCQlpZiAoY3RsLnJlcS5tb250aCA8IDEgfHwgTU9OVEhTX0lOX1lFQVIgPCBjdGwucmVxLm1vbnRoKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImlsbGVnYWwgbW9udGggdmFsdWU6IHVzZSAxLTEyIikpOworCQkvKiBGQUxMVEhST1VHSCAqLworCWNhc2UgMToKKwkJY3RsLnJlcS55ZWFyID0gc3RydG9zMzJfb3JfZXJyKCphcmd2KyssIF8oImlsbGVnYWwgeWVhciB2YWx1ZSIpKTsKKwkJaWYgKGN0bC5yZXEueWVhciA8IFNNQUxMRVNUX1lFQVIpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiaWxsZWdhbCB5ZWFyIHZhbHVlOiB1c2UgcG9zaXRpdmUgaW50ZWdlciIpKTsKKwkJaWYgKGN0bC5yZXEueWVhciA9PSBJTlQzMl9NQVgpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiaWxsZWdhbCB5ZWFyIHZhbHVlIikpOworCQlpZiAoY3RsLnJlcS5kYXkpIHsKKwkJCWludCBkbSA9IGRheXNfaW5fbW9udGhbbGVhcF95ZWFyKGN0bC5yZXEueWVhcildW2N0bC5yZXEubW9udGhdOworCQkJaWYgKGN0bC5yZXEuZGF5ID4gZG0pCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImlsbGVnYWwgZGF5IHZhbHVlOiB1c2UgMS0lZCIpLCBkbSk7CisJCQljdGwucmVxLmRheSA9IGRheV9pbl95ZWFyKGN0bC5yZXEuZGF5LCBjdGwucmVxLm1vbnRoLCBjdGwucmVxLnllYXIpOworCQl9IGVsc2UgaWYgKChpbnQzMl90KSAobG9jYWxfdGltZS0+dG1feWVhciArIDE5MDApID09IGN0bC5yZXEueWVhcikgeworCQkJY3RsLnJlcS5kYXkgPSBsb2NhbF90aW1lLT50bV95ZGF5ICsgMTsKKwkJfQorCQlpZiAoIWN0bC5yZXEubW9udGggJiYgIWN0bC5yZXEud2VlaykgeworCQkJY3RsLnJlcS5tb250aCA9IGxvY2FsX3RpbWUtPnRtX21vbiArIDE7CisJCQl5ZmxhZyA9IDE7CisJCX0KKwkJYnJlYWs7CisJY2FzZSAwOgorCQljdGwucmVxLmRheSA9IGxvY2FsX3RpbWUtPnRtX3lkYXkgKyAxOworCQljdGwucmVxLnllYXIgPSBsb2NhbF90aW1lLT50bV95ZWFyICsgMTkwMDsKKwkJaWYgKCFjdGwucmVxLm1vbnRoKQorCQkJY3RsLnJlcS5tb250aCA9IGxvY2FsX3RpbWUtPnRtX21vbiArIDE7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXVzYWdlKHN0ZGVycik7CisJfQorCisJaWYgKDAgPCBjdGwucmVxLndlZWspIHsKKwkJaW50IHlkYXkgPSB3ZWVrX3RvX2RheSgmY3RsKTsKKwkJaW50IGxlYXAgPSBsZWFwX3llYXIoY3RsLnJlcS55ZWFyKTsKKwkJaW50IG0gPSAxOworCisJCWlmICh5ZGF5IDwgMSkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJpbGxlZ2FsIHdlZWsgdmFsdWU6IHllYXIgJWQgIgorCQkJCQkgICAgICJkb2Vzbid0IGhhdmUgd2VlayAlZCIpLAorCQkJCQljdGwucmVxLnllYXIsIGN0bC5yZXEud2Vlayk7CisJCXdoaWxlIChtIDw9IERFQ0VNQkVSICYmIHlkYXkgPiBkYXlzX2luX21vbnRoW2xlYXBdW21dKQorCQkJeWRheSAtPSBkYXlzX2luX21vbnRoW2xlYXBdW20rK107CisJCWlmIChERUNFTUJFUiA8IG0gJiYgY3RsLndlZWt0eXBlICYgV0VFS19OVU1fSVNPKSB7CisJCQkvKiBJbiBzb21lIHllYXJzIChlLmcuIDIwMTAgaW4gSVNPIG1vZGUpIGl0J3MgcG9zc2libGUKKwkJCSAqIHRvIGhhdmUgYSByZW1uYW50IG9mIHdlZWsgNTMgc3RhcnRpbmcgdGhlIHllYXIgeWV0CisJCQkgKiB0aGUgeWVhciBpbiBxdWVzdGlvbiBlbmRzIGR1cmluZyA1MiwgaW4gdGhpcyBjYXNlCisJCQkgKiB3ZSdyZSBhc3N1bWluZyB0aGF0IGVhcmx5IHJlbW5hbnQgaXMgYmVpbmcgcmVmZXJyZWQKKwkJCSAqIHRvIGlmIDUzIGlzIGdpdmVuIGFzIGFyZ3VtZW50LiAqLworCQkJaWYgKGN0bC5yZXEud2VlayAhPSB3ZWVrX251bWJlcigzMSwgREVDRU1CRVIsIGN0bC5yZXEueWVhciAtIDEsICZjdGwpKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJCQlfKCJpbGxlZ2FsIHdlZWsgdmFsdWU6IHllYXIgJWQgIgorCQkJCQkgICJkb2Vzbid0IGhhdmUgd2VlayAlZCIpLAorCQkJCQljdGwucmVxLnllYXIsIGN0bC5yZXEud2Vlayk7CisJCX0KKwkJaWYgKCFjdGwucmVxLm1vbnRoKQorCQkJY3RsLnJlcS5tb250aCA9IE1PTlRIU19JTl9ZRUFSIDwgbSA/IDEgOiBtOworCX0KKworCWhlYWRlcnNfaW5pdCgmY3RsKTsKKworCWlmICghY29sb3JzX2luaXQoY3RsLmNvbG9ybW9kZSwgImNhbCIpKSB7CisJCWN0bC5yZXEuZGF5ID0gMDsKKwkJY3RsLndlZWt0eXBlICY9IH5XRUVLX05VTV9NQVNLOworCX0KKworCWlmICh5ZmxhZyB8fCBZZmxhZykgeworCQljdGwuZ3V0dGVyX3dpZHRoID0gMzsKKwkJY3RsLm51bV9tb250aHMgPSBNT05USFNfSU5fWUVBUjsKKwkJaWYgKHlmbGFnKSB7CisJCQljdGwucmVxLnN0YXJ0X21vbnRoID0gMTsJLyogc3RhcnQgZnJvbSBKYW4gKi8KKwkJCWN0bC5oZWFkZXJfeWVhciA9IDE7CQkvKiBwcmludCB5ZWFyIG51bWJlciAqLworCQl9CisJfQorCisJaWYgKGN0bC5udW1fbW9udGhzID4gMSAmJiBjdGwubW9udGhzX2luX3JvdyA9PSAwKQorCQljdGwubW9udGhzX2luX3JvdyA9IGN0bC5qdWxpYW4gPyBNT05USFNfSU5fWUVBUl9ST1cgLSAxIDoKKwkJCQkJCSBNT05USFNfSU5fWUVBUl9ST1c7CisJZWxzZSBpZiAoIWN0bC5tb250aHNfaW5fcm93KQorCQljdGwubW9udGhzX2luX3JvdyA9IDE7CisKKwlpZiAoeWZsYWcgfHwgWWZsYWcpCisJCXllYXJseSgmY3RsKTsKKwllbHNlCisJCW1vbnRobHkoJmN0bCk7CisKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQorCisvKiBsZWFwIHllYXIgLS0gYWNjb3VudCBmb3IgZ3JlZ29yaWFuIHJlZm9ybWF0aW9uIGluIDE3NTIgKi8KK3N0YXRpYyBpbnQgbGVhcF95ZWFyKGludDMyX3QgeWVhcikKK3sKKwlpZiAoeWVhciA8PSBSRUZPUk1BVElPTl9ZRUFSKQorCQlyZXR1cm4gISh5ZWFyICUgNCk7CisJZWxzZQorCQlyZXR1cm4gKCAhKHllYXIgJSA0KSAmJiAoeWVhciAlIDEwMCkgKSB8fCAhKHllYXIgJSA0MDApOworfQorCitzdGF0aWMgdm9pZCBpbml0X21vbnRobmFtZXMoc3RydWN0IGNhbF9jb250cm9sICpjdGwpCit7CisJc2l6ZV90IGk7CisKKwlpZiAoY3RsLT5mdWxsX21vbnRoWzBdICE9ICdcMCcpCisJCXJldHVybjsJCS8qIGFscmVhZHkgaW5pdGlhbGl6ZWQgKi8KKworCWZvciAoaSA9IDA7IGkgPCBNT05USFNfSU5fWUVBUjsgaSsrKQorCQljdGwtPmZ1bGxfbW9udGhbaV0gPSBubF9sYW5naW5mbyhNT05fMSArIGkpOworfQorCitzdGF0aWMgdm9pZCBpbml0X2FiYnJfbW9udGhuYW1lcyhzdHJ1Y3QgY2FsX2NvbnRyb2wgKmN0bCkKK3sKKwlzaXplX3QgaTsKKworCWlmIChjdGwtPmFiYnJfbW9udGhbMF0gIT0gJ1wwJykKKwkJcmV0dXJuOwkJLyogYWxyZWFkeSBpbml0aWFsaXplZCAqLworCisJZm9yIChpID0gMDsgaSA8IE1PTlRIU19JTl9ZRUFSOyBpKyspCisJCWN0bC0+YWJicl9tb250aFtpXSA9IG5sX2xhbmdpbmZvKEFCTU9OXzEgKyBpKTsKK30KKworc3RhdGljIGludCBtb250aG5hbWVfdG9fbnVtYmVyKHN0cnVjdCBjYWxfY29udHJvbCAqY3RsLCBjb25zdCBjaGFyICpuYW1lKQoreworCXNpemVfdCBpOworCisJaW5pdF9tb250aG5hbWVzKGN0bCk7CisJZm9yIChpID0gMDsgaSA8IE1PTlRIU19JTl9ZRUFSOyBpKyspCisJCWlmIChzdHJjYXNlY21wKGN0bC0+ZnVsbF9tb250aFtpXSwgbmFtZSkgPT0gMCkKKwkJCXJldHVybiBpICsgMTsKKworCWluaXRfYWJicl9tb250aG5hbWVzKGN0bCk7CisJZm9yIChpID0gMDsgaSA8IE1PTlRIU19JTl9ZRUFSOyBpKyspCisJCWlmIChzdHJjYXNlY21wKGN0bC0+YWJicl9tb250aFtpXSwgbmFtZSkgPT0gMCkKKwkJCXJldHVybiBpICsgMTsKKworCXJldHVybiAtRUlOVkFMOworfQorCitzdGF0aWMgdm9pZCBoZWFkZXJzX2luaXQoc3RydWN0IGNhbF9jb250cm9sICpjdGwpCit7CisJc2l6ZV90IGksIHdkOworCWNoYXIgKmN1cl9kaCA9IGRheV9oZWFkaW5nczsKKwljaGFyIHRtcFtGTVRfU1RfQ0hBUlNdOworCWludCB5ZWFyX2xlbjsKKworCXllYXJfbGVuID0gc25wcmludGYodG1wLCBzaXplb2YodG1wKSwgIiUwNGQiLCBjdGwtPnJlcS55ZWFyKTsKKworCWlmICh5ZWFyX2xlbiA8IDAgfHwgKHNpemVfdCl5ZWFyX2xlbiA+PSBzaXplb2YodG1wKSkgeworCQkvKiBYWFggaW1wb3NzaWJsZSBlcnJvciAqLworCQlyZXR1cm47CisJfQorCisJZm9yIChpID0gMDsgaSA8IERBWVNfSU5fV0VFSzsgaSsrKSB7CisJCXNpemVfdCBzcGFjZV9sZWZ0OworCQl3ZCA9IChpICsgY3RsLT53ZWVrc3RhcnQpICUgREFZU19JTl9XRUVLOworCisJCWlmIChpKQorCQkJc3RyY2F0KGN1cl9kaCsrLCAiICIpOworCQlzcGFjZV9sZWZ0ID0gc2l6ZW9mKGRheV9oZWFkaW5ncykgLSAoY3VyX2RoIC0gZGF5X2hlYWRpbmdzKTsKKworCQlpZiAoc3BhY2VfbGVmdCA8PSAoY3RsLT5kYXlfd2lkdGggLSAxKSkKKwkJCWJyZWFrOworCQljdXJfZGggKz0gY2VudGVyX3N0cihubF9sYW5naW5mbyhBQkRBWV8xICsgd2QpLCBjdXJfZGgsCisJCQkJICAgICBzcGFjZV9sZWZ0LCBjdGwtPmRheV93aWR0aCAtIDEpOworCX0KKworCWluaXRfbW9udGhuYW1lcyhjdGwpOworCisJZm9yIChpID0gMDsgaSA8IE1PTlRIU19JTl9ZRUFSOyBpKyspIHsKKwkJLyogVGhlICsxIGFmdGVyIHllYXJfbGVuIGlzIHNwYWNlIGluIGJldHdlZW4gbW9udGggYW5kIHllYXIuICovCisJCWlmIChjdGwtPndlZWtfd2lkdGggPCBzdHJsZW4oY3RsLT5mdWxsX21vbnRoW2ldKSArIHllYXJfbGVuICsgMSkKKwkJCWN0bC0+aGVhZGVyX2hpbnQgPSAxOworCX0KK30KKworc3RhdGljIHZvaWQgY2FsX2ZpbGxfbW9udGgoc3RydWN0IGNhbF9tb250aCAqbW9udGgsIGNvbnN0IHN0cnVjdCBjYWxfY29udHJvbCAqY3RsKQoreworCWludCBmaXJzdF93ZWVrX2RheSA9IGRheV9pbl93ZWVrKDEsIG1vbnRoLT5tb250aCwgbW9udGgtPnllYXIpOworCWludCBtb250aF9kYXlzOworCWludCBpLCBqLCB3ZWVrbGluZXMgPSAwOworCisJaWYgKGN0bC0+anVsaWFuKQorCQlqID0gZGF5X2luX3llYXIoMSwgbW9udGgtPm1vbnRoLCBtb250aC0+eWVhcik7CisJZWxzZQorCQlqID0gMTsKKwltb250aF9kYXlzID0gaiArIGRheXNfaW5fbW9udGhbbGVhcF95ZWFyKG1vbnRoLT55ZWFyKV1bbW9udGgtPm1vbnRoXTsKKworCS8qIFRydWUgd2hlbiBTdW5kYXkgaXMgbm90IGZpcnN0IGRheSBpbiB0aGUgb3V0cHV0IHdlZWsuICovCisJaWYgKGN0bC0+d2Vla3N0YXJ0KSB7CisJCWZpcnN0X3dlZWtfZGF5IC09IGN0bC0+d2Vla3N0YXJ0OworCQlpZiAoZmlyc3Rfd2Vla19kYXkgPCAwKQorCQkJZmlyc3Rfd2Vla19kYXkgPSBEQVlTX0lOX1dFRUsgLSBjdGwtPndlZWtzdGFydDsKKwkJbW9udGhfZGF5cyArPSBjdGwtPndlZWtzdGFydCAtIDE7CisJfQorCisJLyogRmlsbCBkYXkgYXJyYXkuICovCisJZm9yIChpID0gMDsgaSA8IE1BWERBWVM7IGkrKykgeworCQlpZiAoMCA8IGZpcnN0X3dlZWtfZGF5KSB7CisJCQltb250aC0+ZGF5c1tpXSA9IFNQQUNFOworCQkJZmlyc3Rfd2Vla19kYXktLTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmIChqIDwgbW9udGhfZGF5cykgeworCQkJaWYgKG1vbnRoLT55ZWFyID09IFJFRk9STUFUSU9OX1lFQVIgJiYgbW9udGgtPm1vbnRoID09IFJFRk9STUFUSU9OX01PTlRIICYmIChqID09IDMgfHwgaiA9PSAyNDcpKQorCQkJCWogKz0gTlVNQkVSX01JU1NJTkdfREFZUzsKKwkJCW1vbnRoLT5kYXlzW2ldID0gajsKKwkJCWorKzsKKwkJCWNvbnRpbnVlOworCQl9CisJCW1vbnRoLT5kYXlzW2ldID0gU1BBQ0U7CisJCXdlZWtsaW5lcysrOworCX0KKworCS8qIEFkZCB3ZWVrIG51bWJlcnMgKi8KKwlpZiAoY3RsLT53ZWVrdHlwZSkgeworCQlpbnQgd2Vla251bSA9IHdlZWtfbnVtYmVyKDEsIG1vbnRoLT5tb250aCwgbW9udGgtPnllYXIsIGN0bCk7CisJCXdlZWtsaW5lcyA9IE1BWERBWVMgLyBEQVlTX0lOX1dFRUsgLSB3ZWVrbGluZXMgLyBEQVlTX0lOX1dFRUs7CisJCWZvciAoaSA9IDA7IGkgPCBNQVhEQVlTIC8gREFZU19JTl9XRUVLOyBpKyspIHsKKwkJCWlmICgwIDwgd2Vla2xpbmVzKSB7CisJCQkJaWYgKDUyIDwgd2Vla251bSkKKwkJCQkJd2Vla251bSA9IHdlZWtfbnVtYmVyKG1vbnRoLT5kYXlzW2kgKiBEQVlTX0lOX1dFRUtdLCBtb250aC0+bW9udGgsIG1vbnRoLT55ZWFyLCBjdGwpOworCQkJCW1vbnRoLT53ZWVrc1tpXSA9IHdlZWtudW0rKzsKKwkJCX0gZWxzZQorCQkJCW1vbnRoLT53ZWVrc1tpXSA9IFNQQUNFOworCQkJd2Vla2xpbmVzLS07CisJCX0KKwl9Cit9CisKK3N0YXRpYyB2b2lkIGNhbF9vdXRwdXRfaGVhZGVyKHN0cnVjdCBjYWxfbW9udGggKm1vbnRoLCBjb25zdCBzdHJ1Y3QgY2FsX2NvbnRyb2wgKmN0bCkKK3sKKwljaGFyIG91dFtGTVRfU1RfQ0hBUlNdOworCXN0cnVjdCBjYWxfbW9udGggKmk7CisKKwlpZiAoY3RsLT5oZWFkZXJfaGludCB8fCBjdGwtPmhlYWRlcl95ZWFyKSB7CisJCWZvciAoaSA9IG1vbnRoOyBpOyBpID0gaS0+bmV4dCkgeworCQkJc3ByaW50ZihvdXQsIF8oIiVzIiksIGN0bC0+ZnVsbF9tb250aFtpLT5tb250aCAtIDFdKTsKKwkJCWNlbnRlcihvdXQsIGN0bC0+d2Vla193aWR0aCAtIDEsIGktPm5leHQgPT0gTlVMTCA/IDAgOiBjdGwtPmd1dHRlcl93aWR0aCk7CisJCX0KKwkJaWYgKCFjdGwtPmhlYWRlcl95ZWFyKSB7CisJCQlteV9wdXRzdHJpbmcoIlxuIik7CisJCQlmb3IgKGkgPSBtb250aDsgaTsgaSA9IGktPm5leHQpIHsKKwkJCQlzcHJpbnRmKG91dCwgXygiJTA0ZCIpLCBpLT55ZWFyKTsKKwkJCQljZW50ZXIob3V0LCBjdGwtPndlZWtfd2lkdGggLSAxLCBpLT5uZXh0ID09IE5VTEwgPyAwIDogY3RsLT5ndXR0ZXJfd2lkdGgpOworCQkJfQorCQl9CisJfSBlbHNlIHsKKwkJZm9yIChpID0gbW9udGg7IGk7IGkgPSBpLT5uZXh0KSB7CisJCQlzcHJpbnRmKG91dCwgXygiJXMgJTA0ZCIpLCBjdGwtPmZ1bGxfbW9udGhbaS0+bW9udGggLSAxXSwgaS0+eWVhcik7CisJCQljZW50ZXIob3V0LCBjdGwtPndlZWtfd2lkdGggLSAxLCBpLT5uZXh0ID09IE5VTEwgPyAwIDogY3RsLT5ndXR0ZXJfd2lkdGgpOworCQl9CisJfQorCW15X3B1dHN0cmluZygiXG4iKTsKKwlmb3IgKGkgPSBtb250aDsgaTsgaSA9IGktPm5leHQpIHsKKwkJaWYgKGN0bC0+d2Vla3R5cGUpIHsKKwkJCWlmIChjdGwtPmp1bGlhbikKKwkJCQlzcHJpbnRmKG91dCwgIiUqcyVzIiwgKGludCljdGwtPmRheV93aWR0aCAtIDEsICIiLCBkYXlfaGVhZGluZ3MpOworCQkJZWxzZQorCQkJCXNwcmludGYob3V0LCAiJSpzJXMiLCAoaW50KWN0bC0+ZGF5X3dpZHRoLCAiIiwgZGF5X2hlYWRpbmdzKTsKKwkJCW15X3B1dHN0cmluZyhvdXQpOworCQl9IGVsc2UKKwkJCW15X3B1dHN0cmluZyhkYXlfaGVhZGluZ3MpOworCQlpZiAoaS0+bmV4dCAhPSBOVUxMKSB7CisJCQlzcHJpbnRmKG91dCwgIiUqcyIsIGN0bC0+Z3V0dGVyX3dpZHRoLCAiIik7CisJCQlteV9wdXRzdHJpbmcob3V0KTsKKwkJfQorCX0KKwlteV9wdXRzdHJpbmcoIlxuIik7Cit9CisKK3N0YXRpYyB2b2lkIGNhbF9vdXRwdXRfbW9udGhzKHN0cnVjdCBjYWxfbW9udGggKm1vbnRoLCBjb25zdCBzdHJ1Y3QgY2FsX2NvbnRyb2wgKmN0bCkKK3sKKwljaGFyIG91dFtGTVRfU1RfQ0hBUlNdOworCWludCByZXFkYXksIHdlZWtfbGluZSwgZDsKKwlpbnQgc2tpcDsKKwlzdHJ1Y3QgY2FsX21vbnRoICppOworCisJZm9yICh3ZWVrX2xpbmUgPSAwOyB3ZWVrX2xpbmUgPCBNQVhEQVlTIC8gREFZU19JTl9XRUVLOyB3ZWVrX2xpbmUrKykgeworCQlmb3IgKGkgPSBtb250aDsgaTsgaSA9IGktPm5leHQpIHsKKwkJCS8qIERldGVybWluZSB0aGUgZGF5IHRoYXQgc2hvdWxkIGJlIGhpZ2hsaWdodGVkLiAqLworCQkJcmVxZGF5ID0gMDsKKwkJCWlmIChpLT5tb250aCA9PSBjdGwtPnJlcS5tb250aCAmJiBpLT55ZWFyID09IGN0bC0+cmVxLnllYXIpIHsKKwkJCQlpZiAoY3RsLT5qdWxpYW4pCisJCQkJCXJlcWRheSA9IGN0bC0+cmVxLmRheTsKKwkJCQllbHNlCisJCQkJCXJlcWRheSA9CisJCQkJCSAgICBjdGwtPnJlcS5kYXkgKyAxIC0gZGF5X2luX3llYXIoMSwgaS0+bW9udGgsCisJCQkJCQkJCQkgICBpLT55ZWFyKTsKKwkJCX0KKworCQkJaWYgKGN0bC0+d2Vla3R5cGUpIHsKKwkJCQlpZiAoMCA8IGktPndlZWtzW3dlZWtfbGluZV0pIHsKKwkJCQkJaWYgKChjdGwtPndlZWt0eXBlICYgV0VFS19OVU1fTUFTSykgPT0KKwkJCQkJICAgIGktPndlZWtzW3dlZWtfbGluZV0pCisJCQkJCQlzcHJpbnRmKG91dCwgIiVzJTJkJXMiLCBTZW50ZXIsIGktPndlZWtzW3dlZWtfbGluZV0sCisJCQkJCQkgICAgICAgU2V4aXQpOworCQkJCQllbHNlCisJCQkJCQlzcHJpbnRmKG91dCwgIiUyZCIsIGktPndlZWtzW3dlZWtfbGluZV0pOworCQkJCX0gZWxzZQorCQkJCQlzcHJpbnRmKG91dCwgIiUycyIsICIiKTsKKwkJCQlteV9wdXRzdHJpbmcob3V0KTsKKwkJCQlza2lwID0gY3RsLT5kYXlfd2lkdGg7CisJCQl9IGVsc2UKKwkJCQkvKiBGaXJzdCBkYXkgb2YgdGhlIHdlZWsgaXMgb25lIGNoYXIgbmFycm93ZXIgdGhhbiB0aGUgb3RoZXIgZGF5cywKKwkJCQkgKiB1bmxlc3Mgd2VlayBudW1iZXIgaXMgcHJpbnRlZC4gICovCisJCQkJc2tpcCA9IGN0bC0+ZGF5X3dpZHRoIC0gMTsKKworCQkJZm9yIChkID0gREFZU19JTl9XRUVLICogd2Vla19saW5lOworCQkJICAgICBkIDwgREFZU19JTl9XRUVLICogd2Vla19saW5lICsgREFZU19JTl9XRUVLOyBkKyspIHsKKwkJCQlpZiAoMCA8IGktPmRheXNbZF0pIHsKKwkJCQkJaWYgKHJlcWRheSA9PSBpLT5kYXlzW2RdKQorCQkJCQkJc3ByaW50ZihvdXQsICIlKnMlcyUqZCVzIiwgc2tpcCAtIChjdGwtPmp1bGlhbiA/IDMgOiAyKSwKKwkJCQkJCSAgICAgICAiIiwgU2VudGVyLCAoY3RsLT5qdWxpYW4gPyAzIDogMiksCisJCQkJCQkgICAgICAgaS0+ZGF5c1tkXSwgU2V4aXQpOworCQkJCQllbHNlCisJCQkJCQlzcHJpbnRmKG91dCwgIiUqZCIsIHNraXAsIGktPmRheXNbZF0pOworCQkJCX0gZWxzZQorCQkJCQlzcHJpbnRmKG91dCwgIiUqcyIsIHNraXAsICIiKTsKKwkJCQlteV9wdXRzdHJpbmcob3V0KTsKKwkJCQlpZiAoc2tpcCA8IChpbnQpY3RsLT5kYXlfd2lkdGgpCisJCQkJCXNraXArKzsKKwkJCX0KKwkJCWlmIChpLT5uZXh0ICE9IE5VTEwpIHsKKwkJCQlzcHJpbnRmKG91dCwgIiUqcyIsIGN0bC0+Z3V0dGVyX3dpZHRoLCAiIik7CisJCQkJbXlfcHV0c3RyaW5nKG91dCk7CisJCQl9CisJCX0KKwkJaWYgKGkgPT0gTlVMTCkgeworCQkJaW50IGV4dHJhID0gY3RsLT5udW1fbW9udGhzID4gMyA/IDAgOiAxOworCQkJc3ByaW50ZihvdXQsICIlKnNcbiIsIGN0bC0+Z3V0dGVyX3dpZHRoIC0gZXh0cmEsICIiKTsKKwkJCW15X3B1dHN0cmluZyhvdXQpOworCQl9CisJfQorfQorCitzdGF0aWMgdm9pZCBtb250aGx5KGNvbnN0IHN0cnVjdCBjYWxfY29udHJvbCAqY3RsKQoreworCXN0cnVjdCBjYWxfbW9udGggbTEsbTIsbTMsICptOworCWludCBpLCByb3dzLCBuZXdfbW9udGgsIG1vbnRoID0gY3RsLT5yZXEuc3RhcnRfbW9udGggPyBjdGwtPnJlcS5zdGFydF9tb250aCA6IGN0bC0+cmVxLm1vbnRoOworCWludDMyX3QgeWVhciA9IGN0bC0+cmVxLnllYXI7CisKKwkvKiBjYWwgLTMsIGNhbCAtWSAtLXNwYW4sIGV0Yy4gKi8KKwlpZiAoY3RsLT5zcGFuX21vbnRocykgeworCQluZXdfbW9udGggPSBtb250aCAtIGN0bC0+bnVtX21vbnRocyAvIDI7CisJCWlmIChuZXdfbW9udGggPCAxKSB7CisJCQltb250aCA9IG5ld19tb250aCArIE1PTlRIU19JTl9ZRUFSOworCQkJeWVhci0tOworCQl9CisJCWVsc2UKKwkJCW1vbnRoID0gbmV3X21vbnRoOworCX0KKworCW0xLm5leHQgPSAoY3RsLT5tb250aHNfaW5fcm93ID4gMSkgPyAmbTIgOiBOVUxMOworCW0yLm5leHQgPSAoY3RsLT5tb250aHNfaW5fcm93ID4gMikgPyAmbTMgOiBOVUxMOworCW0zLm5leHQgPSBOVUxMOworCisJcm93cyA9IChjdGwtPm51bV9tb250aHMgLSAxKSAvIGN0bC0+bW9udGhzX2luX3JvdzsKKwlmb3IgKGkgPSAwOyBpIDwgcm93cyArIDEgOyBpKyspeworCQlpZiAoaSA9PSByb3dzKXsKKwkJCXN3aXRjaCAoY3RsLT5udW1fbW9udGhzICUgY3RsLT5tb250aHNfaW5fcm93KXsKKwkJCQljYXNlIDE6CisJCQkJCW0xLm5leHQgPSBOVUxMOworCQkJCQkvKiBmYWxsdGhyb3VnaCAqLworCQkJCWNhc2UgMjoKKwkJCQkJbTIubmV4dCA9IE5VTEw7CisJCQkJCS8qIGZhbGx0aHJvdWdoICovCisJCQl9CisJCX0KKwkJZm9yIChtID0gJm0xOyBtOyBtID0gbS0+bmV4dCl7CisJCQltLT5tb250aCA9IG1vbnRoKys7CisJCQltLT55ZWFyID0geWVhcjsKKwkJCWlmIChNT05USFNfSU5fWUVBUiA8IG1vbnRoKSB7CisJCQkJeWVhcisrOworCQkJCW1vbnRoID0gMTsKKwkJCX0KKwkJCWNhbF9maWxsX21vbnRoKG0sIGN0bCk7CisJCX0KKwkJY2FsX291dHB1dF9oZWFkZXIoJm0xLCBjdGwpOworCQljYWxfb3V0cHV0X21vbnRocygmbTEsIGN0bCk7CisJfQorfQorCitzdGF0aWMgdm9pZCB5ZWFybHkoY29uc3Qgc3RydWN0IGNhbF9jb250cm9sICpjdGwpCit7CisJY2hhciBvdXRbRk1UX1NUX0NIQVJTXTsKKwlpbnQgeWVhcl93aWR0aCA9IDA7CisKKwl5ZWFyX3dpZHRoICs9IChjdGwtPndlZWtfd2lkdGggKyAxKSAqIChjdGwtPmp1bGlhbiA/IDIgOiAzKTsKKwlpZiAoY3RsLT5qdWxpYW4pCisJCXllYXJfd2lkdGgtLTsKKworCWlmIChjdGwtPmhlYWRlcl95ZWFyKSB7CisJCXNwcmludGYob3V0LCAiJTA0ZCIsIGN0bC0+cmVxLnllYXIpOworCQljZW50ZXIob3V0LCB5ZWFyX3dpZHRoLCAwKTsKKwkJbXlfcHV0c3RyaW5nKCJcblxuIik7CisJfQorCW1vbnRobHkoY3RsKTsKKworCS8qIElzIGVtcHR5IGxpbmUgYXQgdGhlIGVuZCB5ZWFyIG91dHB1dCByZWFsbHkgbmVlZGVkPyAqLworCW15X3B1dHN0cmluZygiXG4iKTsKK30KKworLyoKKyAqIGRheV9pbl95ZWFyIC0tCisgKglyZXR1cm4gdGhlIDEgYmFzZWQgZGF5IG51bWJlciB3aXRoaW4gdGhlIHllYXIKKyAqLworc3RhdGljIGludCBkYXlfaW5feWVhcihpbnQgZGF5LCBpbnQgbW9udGgsIGludDMyX3QgeWVhcikKK3sKKwlpbnQgaSwgbGVhcDsKKworCWxlYXAgPSBsZWFwX3llYXIoeWVhcik7CisJZm9yIChpID0gMTsgaSA8IG1vbnRoOyBpKyspCisJCWRheSArPSBkYXlzX2luX21vbnRoW2xlYXBdW2ldOworCXJldHVybiBkYXk7Cit9CisKKy8qCisgKiBkYXlfaW5fd2VlaworICoJcmV0dXJuIHRoZSAwIGJhc2VkIGRheSBudW1iZXIgZm9yIGFueSBkYXRlIGZyb20gMSBKYW4uIDEgdG8KKyAqCTMxIERlYy4gOTk5OS4gIEFzc3VtZXMgdGhlIEdyZWdvcmlhbiByZWZvcm1hdGlvbiBlbGltaW5hdGVzCisgKgkzIFNlcC4gMTc1MiB0aHJvdWdoIDEzIFNlcC4gMTc1MiwgYW5kIHJldHVybnMgaW52YWxpZCB3ZWVrZGF5CisgKglkdXJpbmcgdGhlIHBlcmlvZCBvZiAxMSBkYXlzLgorICovCitzdGF0aWMgaW50IGRheV9pbl93ZWVrKGludCBkYXksIGludCBtb250aCwgaW50MzJfdCB5ZWFyKQoreworCXN0YXRpYyBjb25zdCBpbnQgcmVmb3JtW10gPSB7CisJCVNVTkRBWSwgV0VETkVTREFZLCBUVUVTREFZLCBGUklEQVksIFNVTkRBWSwgV0VETkVTREFZLAorCQlGUklEQVksIE1PTkRBWSwgVEhVUlNEQVksIFNBVFVSREFZLCBUVUVTREFZLCBUSFVSU0RBWQorCX07CisJc3RhdGljIGNvbnN0IGludCBvbGRbXSA9IHsKKwkJRlJJREFZLCBNT05EQVksIFNVTkRBWSwgV0VETkVTREFZLCBGUklEQVksIE1PTkRBWSwKKwkJV0VETkVTREFZLCBTQVRVUkRBWSwgVFVFU0RBWSwgVEhVUlNEQVksIFNVTkRBWSwgVFVFU0RBWQorCX07CisJaWYgKHllYXIgIT0gUkVGT1JNQVRJT05fWUVBUiArIDEpCisJCXllYXIgLT0gbW9udGggPCBNQVJDSDsKKwllbHNlCisJCXllYXIgLT0gKG1vbnRoIDwgTUFSQ0gpICsgMTQ7CisJaWYgKFJFRk9STUFUSU9OX1lFQVIgPCB5ZWFyCisJICAgIHx8ICh5ZWFyID09IFJFRk9STUFUSU9OX1lFQVIgJiYgUkVGT1JNQVRJT05fTU9OVEggPCBtb250aCkKKwkgICAgfHwgKHllYXIgPT0gUkVGT1JNQVRJT05fWUVBUiAmJiBtb250aCA9PSBSRUZPUk1BVElPTl9NT05USCAmJiAxMyA8IGRheSkpIHsKKwkJaW50NjRfdCBsb25nX3llYXIgPSB5ZWFyOworCQlyZXR1cm4gKGxvbmdfeWVhciArICh5ZWFyIC8gNCkgLSAoeWVhciAvIDEwMCkgKyAoeWVhciAvIDQwMCkgKyByZWZvcm1bbW9udGggLSAxXSArCisJCQlkYXkpICUgREFZU19JTl9XRUVLOworCX0KKwlpZiAoeWVhciA8IFJFRk9STUFUSU9OX1lFQVIKKwkgICAgfHwgKHllYXIgPT0gUkVGT1JNQVRJT05fWUVBUiAmJiBtb250aCA8IFJFRk9STUFUSU9OX01PTlRIKQorCSAgICB8fCAoeWVhciA9PSBSRUZPUk1BVElPTl9ZRUFSICYmIG1vbnRoID09IFJFRk9STUFUSU9OX01PTlRIICYmIGRheSA8IDMpKQorCQlyZXR1cm4gKHllYXIgKyB5ZWFyIC8gNCArIG9sZFttb250aCAtIDFdICsgZGF5KSAlIERBWVNfSU5fV0VFSzsKKwlyZXR1cm4gTk9ORURBWTsKK30KKworLyoKKyAqIHdlZWtfbnVtYmVyCisgKiAgICAgIHJldHVybiB0aGUgd2VlayBudW1iZXIgb2YgYSBnaXZlbiBkYXRlLCAxLi41NC4KKyAqICAgICAgU3VwcG9ydHMgSVNPLTg2MDEgYW5kIE5vcnRoIEFtZXJpY2FuIG1vZGVzLgorICogICAgICBEYXkgbWF5IGJlIGdpdmVuIGFzIEp1bGlhbiBkYXkgb2YgdGhlIHllYXIgbW9kZSwgaW4gd2hpY2gKKyAqICAgICAgY2FzZSB0aGUgbW9udGggaXMgZGlzcmVnYXJkZWQgZW50aXJlbHkuCisgKi8KK3N0YXRpYyBpbnQgd2Vla19udW1iZXIoaW50IGRheSwgaW50IG1vbnRoLCBpbnQzMl90IHllYXIsIGNvbnN0IHN0cnVjdCBjYWxfY29udHJvbCAqY3RsKQoreworCWludCBmZGF5ID0gMCwgeWRheTsKKwljb25zdCBpbnQgd2RheSA9IGRheV9pbl93ZWVrKDEsIEpBTlVBUlksIHllYXIpOworCisJaWYgKGN0bC0+d2Vla3R5cGUgJiBXRUVLX05VTV9JU08pCisJCWZkYXkgPSB3ZGF5ICsgKHdkYXkgPj0gRlJJREFZID8gLTIgOiA1KTsKKwllbHNlIHsKKwkJLyogV0VFS19OVU1fVVM6IEphbiAxIGlzIGFsd2F5cyBGaXJzdCB3ZWVrLCB0aGF0IG1heQorCQkgKiBiZWdpbiBwcmV2aW91cyB5ZWFyLiAgVGhhdCBtZWFucyB0aGVyZSBpcyB2ZXJ5IHNlbGRvbQorCQkgKiBtb3JlIHRoYW4gNTIgd2Vla3MsICovCisJCWZkYXkgPSB3ZGF5ICsgNjsKKwl9CisJLyogRm9yIGp1bGlhbiBkYXRlcyB0aGUgbW9udGggY2FuIGJlIHNldCB0byAxLCB0aGUgZ2xvYmFsIGp1bGlhbgorCSAqIHZhcmlhYmxlIGNhbm5vdCBiZSByZWxpZWQgdXBvbiBoZXJlLCBiZWNhdXNlIHdlIG1heSByZWN1cnNlCisJICogaW50ZXJuYWxseSBmb3IgMzEuMTIuIHdoaWNoIHdvdWxkIG5vdCB3b3JrLiAqLworCWlmIChkYXkgPiBEQVlTX0lOX01PTlRIKQorCQltb250aCA9IEpBTlVBUlk7CisKKwl5ZGF5ID0gZGF5X2luX3llYXIoZGF5LG1vbnRoLHllYXIpOworCWlmICh5ZWFyID09IFJFRk9STUFUSU9OX1lFQVIgJiYgeWRheSA+PSBZREFZX0FGVEVSX01JU1NJTkcpCisJCWZkYXkgLT0gTlVNQkVSX01JU1NJTkdfREFZUzsKKworCS8qIExhc3QgeWVhciBpcyBsYXN0IHllYXIgKi8KKwlpZiAoeWRheSArIGZkYXkgPCBEQVlTX0lOX1dFRUspCisJCXJldHVybiB3ZWVrX251bWJlcigzMSwgREVDRU1CRVIsIHllYXIgLSAxLCBjdGwpOworCisJLyogT3IgaXQgY291bGQgYmUgcGFydCBvZiB0aGUgbmV4dCB5ZWFyLiAgVGhlIHJlZm9ybWF0aW9uIHllYXIgaGFkIGxlc3MKKwkgKiBkYXlzIHRoYW4gMzY1IG1ha2luZyB0aGlzIGNoZWNrIGludmFsaWQsIGJ1dCByZWZvcm1hdGlvbiB5ZWFyIGVuZGVkCisJICogb24gU3VuZGF5IGFuZCBpbiB3ZWVrIDUxLCBzbyBpdCdzIG9rIGhlcmUuICovCisJaWYgKGN0bC0+d2Vla3R5cGUgPT0gV0VFS19OVU1fSVNPICYmIHlkYXkgPj0gMzYzCisJICAgICYmIGRheV9pbl93ZWVrKGRheSwgbW9udGgsIHllYXIpID49IE1PTkRBWQorCSAgICAmJiBkYXlfaW5fd2VlayhkYXksIG1vbnRoLCB5ZWFyKSA8PSBXRURORVNEQVkKKwkgICAgJiYgZGF5X2luX3dlZWsoMzEsIERFQ0VNQkVSLCB5ZWFyKSA+PSBNT05EQVkKKwkgICAgJiYgZGF5X2luX3dlZWsoMzEsIERFQ0VNQkVSLCB5ZWFyKSA8PSBXRURORVNEQVkpCisJCXJldHVybiB3ZWVrX251bWJlcigxLCBKQU5VQVJZLCB5ZWFyICsgMSwgY3RsKTsKKworCXJldHVybiAoeWRheSArIGZkYXkpIC8gREFZU19JTl9XRUVLOworfQorCisvKgorICogd2Vla190b19kYXkKKyAqICAgICAgcmV0dXJuIHRoZSB5ZGF5IG9mIHRoZSBmaXJzdCBkYXkgaW4gYSBnaXZlbiB3ZWVrIGluc2lkZQorICogICAgICB0aGUgZ2l2ZW4geWVhci4gVGhpcyBtYXkgYmUgc29tZXRoaW5nIG90aGVyIHRoYW4gTW9uZGF5CisgKiAgICAgIGZvciBJU08tODYwMSBtb2Rlcy4gRm9yIE5vcnRoIEFtZXJpY2FuIG51bWJlcmluZyB0aGlzCisgKiAgICAgIGFsd2F5cyByZXR1cm5zIGEgU3VuZGF5LgorICovCitzdGF0aWMgaW50IHdlZWtfdG9fZGF5KGNvbnN0IHN0cnVjdCBjYWxfY29udHJvbCAqY3RsKQoreworCWludCB5ZGF5LCB3ZGF5OworCisJd2RheSA9IGRheV9pbl93ZWVrKDEsIEpBTlVBUlksIGN0bC0+cmVxLnllYXIpOworCXlkYXkgPSBjdGwtPnJlcS53ZWVrICogREFZU19JTl9XRUVLIC0gd2RheTsKKworCWlmIChjdGwtPndlZWt0eXBlICYgV0VFS19OVU1fSVNPKQorCQl5ZGF5IC09ICh3ZGF5ID49IEZSSURBWSA/IC0yIDogNSk7CisJZWxzZQorCQl5ZGF5IC09ICh3ZGF5ID09IFNVTkRBWSA/IDYgOiAtMSk7CS8qIFdFRUtfTlVNX1VTICovCisJaWYgKHlkYXkgPD0gMCkKKwkJcmV0dXJuIDE7CisKKwlyZXR1cm4geWRheTsKK30KKworLyoKKyAqIENlbnRlciBzdHJpbmcsIGhhbmRsaW5nIG11bHRpYnl0ZSBjaGFyYWN0ZXJzIGFwcHJvcHJpYXRlbHkuCisgKiBJbiBhZGRpdGlvbiBpZiB0aGUgc3RyaW5nIGlzIHRvbyBsYXJnZSBmb3IgdGhlIHdpZHRoIGl0J3MgdHJ1bmNhdGVkLgorICogVGhlIG51bWJlciBvZiB0cmFpbGluZyBzcGFjZXMgbWF5IGJlIDEgbGVzcyB0aGFuIHRoZSBudW1iZXIgb2YgbGVhZGluZyBzcGFjZXMuCisgKi8KK3N0YXRpYyBpbnQgY2VudGVyX3N0cihjb25zdCBjaGFyKiBzcmMsIGNoYXIqIGRlc3QsCisJCSAgICAgIHNpemVfdCBkZXN0X3NpemUsIHNpemVfdCB3aWR0aCkKK3sKKwlyZXR1cm4gbWJzYWxpZ24oc3JjLCBkZXN0LCBkZXN0X3NpemUsICZ3aWR0aCwKKwkJCU1CU19BTElHTl9DRU5URVIsIE1CQV9VTklCWVRFX0ZBTExCQUNLKTsKK30KKworc3RhdGljIHZvaWQgY2VudGVyKGNvbnN0IGNoYXIgKnN0ciwgc2l6ZV90IGxlbiwgaW50IHNlcGFyYXRlKQoreworCWNoYXIgbGluZW91dFtGTVRfU1RfQ0hBUlNdOworCisJY2VudGVyX3N0cihzdHIsIGxpbmVvdXQsIEFSUkFZX1NJWkUobGluZW91dCksIGxlbik7CisJbXlfcHV0c3RyaW5nKGxpbmVvdXQpOworCisJaWYgKHNlcGFyYXRlKSB7CisJCXNucHJpbnRmKGxpbmVvdXQsIHNpemVvZihsaW5lb3V0KSwgIiUqcyIsIHNlcGFyYXRlLCAiIik7CisJCW15X3B1dHN0cmluZyhsaW5lb3V0KTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKSB1c2FnZShGSUxFICogb3V0KQoreworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygiICVzIFtvcHRpb25zXSBbW1tkYXldIG1vbnRoXSB5ZWFyXVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKwlmcHJpbnRmKG91dCwgXygiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vbnRobmFtZT5cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiRGlzcGxheSBhIGNhbGVuZGFyLCBvciBzb21lIHBhcnQgb2YgaXQuXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCJXaXRob3V0IGFueSBhcmd1bWVudHMsIGRpc3BsYXkgdGhlIGN1cnJlbnQgbW9udGguXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC0xLCAtLW9uZSAgICAgICAgICAgICBzaG93IG9ubHkgYSBzaW5nbGUgbW9udGggKGRlZmF1bHQpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLTMsIC0tdGhyZWUgICAgICAgICAgIHNob3cgdGhyZWUgbW9udGhzIHNwYW5uaW5nIHRoZSBkYXRlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW4sIC0tbW9udGhzIDxudW0+ICAgIHNob3cgbnVtIG1vbnRocyBzdGFydGluZyB3aXRoIGRhdGUncyBtb250aFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1TLCAtLXNwYW4gICAgICAgICAgICBzcGFuIHRoZSBkYXRlIHdoZW4gZGlzcGxheWluZyBtdWx0aXBsZSBtb250aHNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcywgLS1zdW5kYXkgICAgICAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW0sIC0tbW9uZGF5ICAgICAgICAgIE1vbmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1qLCAtLWp1bGlhbiAgICAgICAgICBvdXRwdXQgSnVsaWFuIGRhdGVzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXksIC0teWVhciAgICAgICAgICAgIHNob3cgdGhlIHdob2xlIHllYXJcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtWSwgLS10d2VsdmUgICAgICAgICAgc2hvdyB0aGUgbmV4dCB0d2VsdmUgbW9udGhzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXcsIC0td2Vla1s9PG51bT5dICAgIHNob3cgVVMgb3IgSVNPLTg2MDEgd2VlayBudW1iZXJzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tY29sb3JbPTx3aGVuPl0gIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iKSwgb3V0KTsKKwlmcHJpbnRmKG91dCwKKwkgICAgICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgJXNcbiIsIFVTQUdFX0NPTE9SU19ERUZBVUxUKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dCk7CisJZnByaW50ZihvdXQsIFVTQUdFX01BTl9UQUlMKCJjYWwoMSkiKSk7CisKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy9maW5kZnMuOCBiL21pc2MtdXRpbHMvZmluZGZzLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWMxNmMxNQotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvZmluZGZzLjgKQEAgLTAsMCArMSw4NCBAQAorLlwiIENvcHlyaWdodCAxOTkzLCAxOTk0LCAxOTk1IGJ5IFRoZW9kb3JlIFRzJ28uICBBbGwgUmlnaHRzIFJlc2VydmVkLgorLlwiIFRoaXMgZmlsZSBtYXkgYmUgY29waWVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIFB1YmxpYyBMaWNlbnNlLgorLlwiCisuVEggRklOREZTIDggIk1hcmNoIDIwMTQiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK2ZpbmRmcyBcLSBmaW5kIGEgZmlsZXN5c3RlbSBieSBsYWJlbCBvciBVVUlECisuU0ggU1lOT1BTSVMKKy5CIGZpbmRmcworLkJJIE5BTUU9IHZhbHVlCisuU0ggREVTQ1JJUFRJT04KKy5CIGZpbmRmcword2lsbCBzZWFyY2ggdGhlIGJsb2NrIGRldmljZXMgaW4gdGhlIHN5c3RlbSBsb29raW5nIGZvciBhIGZpbGVzeXN0ZW0gb3IKK3BhcnRpdGlvbiB3aXRoIHNwZWNpZmllZCB0YWcuIFRoZSBjdXJyZW50bHkgc3VwcG9ydGVkIHRhZ3MgYXJlOgorLlRQCisuQiBMQUJFTD08bGFiZWw+CitTcGVjaWZpZXMgZmlsZXN5c3RlbSBsYWJlbC4KKy5UUAorLkIgVVVJRD08dXVpZD4KK1NwZWNpZmllcyBmaWxlc3lzdGVtIFVVSUQuCisuVFAKKy5CIFBBUlRVVUlEPTx1dWlkPgorU3BlY2lmaWVzIHBhcnRpdGlvbiBVVUlELiBUaGlzIHBhcnRpdGlvbiBpZGVudGlmaWVyIGlzIHN1cHBvcnRlZCBmb3IgZXhhbXBsZSBmb3IKK0dVSUQgIFBhcnRpdGlvbiAgVGFibGUgKEdQVCkgcGFydGl0aW9uIHRhYmxlcy4KKy5UUAorLkIgUEFSVExBQkVMPTxsYWJlbD4KK1NwZWNpZmllcyBwYXJ0aXRpb24gbGFiZWwgKG5hbWUpLiBUaGUgcGFydGl0aW9uIGxhYmVscyBhcmUgc3VwcG9ydGVkIGZvciBleGFtcGxlIGZvcgorR1VJRCBQYXJ0aXRpb24gVGFibGUgKEdQVCkgb3IgTUFDIHBhcnRpdGlvbiB0YWJsZXMuCisuUFAKK0lmIHRoZSBmaWxlc3lzdGVtIG9yIHBhcnRpdGlvbiBpcyBmb3VuZCwgdGhlIGRldmljZSBuYW1lIHdpbGwgYmUgcHJpbnRlZCBvbgorc3Rkb3V0LgorCitUaGUgY29tcGxldGUgb3ZlcnZpZXcgYWJvdXQgZmlsZXN5c3RlbXMgYW5kIHBhcnRpdGlvbnMgeW91IGNhbiBnZXQgZm9yIGV4YW1wbGUKK2J5CisuUlMKKworLmJyCisuQkkgImxzYmxrIFwtXC1mcyIKKy5icgorCisuQkkgInBhcnR4IC0tc2hvdyA8ZGlzaz4iCisuYnIKKworLkJJIGJsa2lkCisuYnIKKworLlJFCisKKy5QUAorLlNIICJFWElUIFNUQVRVUyIKKy5SUworLlBEIDAKKy5UUAorLkIgMAorc3VjY2VzcworLlRQCisuQiAxCitsYWJlbCBvciB1dWlkIGNhbm5vdCBiZSBmb3VuZAorLlRQCisuQiAyCit1c2FnZSBlcnJvciwgd3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyBvciB1bmtub3duIG9wdGlvbgorLlBECisuUkUKKy5TSCBBVVRIT1IKKy5CIGZpbmRmcword2FzIG9yaWdpbmFsbHkgd3JpdHRlbiBieQorLk1UIHR5dHNvQG1pdC5lZHUKK1RoZW9kb3JlIFRzJ28KKy5NRQorYW5kIHJlLXdyaXR0ZW4gZm9yIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYnkKKy5NVCBremFrQHJlZGhhdC5jb20KK0thcmVsIFphaworLk1FIC4KKy5TSCBFTlZJUk9OTUVOVAorLklQIExJQkJMS0lEX0RFQlVHPWFsbAorZW5hYmxlcyBsaWJibGtpZCBkZWJ1ZyBvdXRwdXQuCisuU0ggU0VFIEFMU08KKy5CUiBibGtpZCAoOCksCisuQlIgbHNibGsgKDgpLAorLkJSIHBhcnR4ICg4KQorLlNIIEFWQUlMQUJJTElUWQorVGhlIGZpbmRmcyBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBmdHA6Ly9cOmZ0cC5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvZmluZGZzLmMgYi9taXNjLXV0aWxzL2ZpbmRmcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyNjA1NDEKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL2ZpbmRmcy5jCkBAIC0wLDAgKzEsNzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIFB1YmxpYworICogTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKworI2luY2x1ZGUgPGJsa2lkLmg+CisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJleGl0Y29kZXMuaCIKKworLyogRXhpdCBjb2RlcyB1c2VkIGJ5IGZpbmRmcy4gKi8KKyNkZWZpbmUgRklOREZTX1NVQ0NFU1MJCTAJLyogbm8gZXJyb3JzICovCisjZGVmaW5lIEZJTkRGU19OT1RfRk9VTkQJMQkvKiBsYWJlbCBvciB1dWlkIGNhbm5vdCBiZSBmb3VuZCAqLworI2RlZmluZSBGSU5ERlNfVVNBR0VfRVJST1IJMgkvKiB1c2VyIGRpZCBzb21ldGhpbmcgdW5leHBlY3RlZCAqLworCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZShpbnQgcmMpCit7CisJRklMRSAqb3V0ID0gcmMgPyBzdGRlcnIgOiBzdGRvdXQ7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJXMgW29wdGlvbnNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbHVlPlxuIiksCisJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJGaW5kIGEgZmlsZXN5c3RlbSBieSBsYWJlbCBvciBVVUlELlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKFVTQUdFX0hFTFAsIG91dCk7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoImZpbmRmcyg4KSIpKTsKKwlleGl0KHJjKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWNoYXIJKmRldjsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlpZiAoYXJnYyAhPSAyKQorCQkvKiB3ZSByZXR1cm4gJzInIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5CisJCSAqIHdpdGggdmVyc2lvbiBmcm9tIGUyZnNwcm9ncyAqLworCQl1c2FnZShGSU5ERlNfVVNBR0VfRVJST1IpOworCisJaWYgKHN0cmNtcChhcmd2WzFdLCAiLVYiKSA9PSAwIHx8CisJCSAgIHN0cmNtcChhcmd2WzFdLCAiLS12ZXJzaW9uIikgPT0gMCkgeworCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJcmV0dXJuIEZJTkRGU19TVUNDRVNTOworCX0gZWxzZSBpZiAoc3RyY21wKGFyZ3ZbMV0sICItaCIpID09IDAgfHwKKwkJICAgc3RyY21wKGFyZ3ZbMV0sICItLWhlbHAiKSA9PSAwKSB7CisJCXVzYWdlKEZJTkRGU19TVUNDRVNTKTsKKwl9IGVsc2UgaWYgKGFyZ3ZbMV1bMF0gPT0gJy0nKQorCQl1c2FnZShGSU5ERlNfVVNBR0VfRVJST1IpOworCisJZGV2ID0gYmxraWRfZXZhbHVhdGVfdGFnKGFyZ3ZbMV0sIE5VTEwsIE5VTEwpOworCWlmICghZGV2KQorCQllcnJ4KEZJTkRGU19OT1RfRk9VTkQsIF8oInVuYWJsZSB0byByZXNvbHZlICclcyciKSwgYXJndlsxXSk7CisKKwlwdXRzKGRldik7CisJcmV0dXJuIEZJTkRGU19TVUNDRVNTOworfQorCmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmMgYi9taXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjJhODhjNQotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYwpAQCAtMCwwICsxLDUyMCBAQAorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGxpYm1vdW50Lmg+CisjaW5jbHVkZSA8YmxraWQuaD4KKyNpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPgorCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisKKyNpbmNsdWRlICJmaW5kbW50LmgiCisKK3N0cnVjdCB2ZXJpZnlfY29udGV4dCB7CisJc3RydWN0IGxpYm1udF9mcwkqZnM7CisJc3RydWN0IGxpYm1udF90YWJsZQkqdGI7CisKKwljaGFyCSoqZnNfYXJ5OworCXNpemVfdAlmc19udW07CisJc2l6ZV90ICBmc19hbGxvYzsKKworCWludAlud2FybmluZ3M7CisJaW50CW5lcnJvcnM7CisKKwl1bnNpZ25lZCBpbnQJdGFyZ2V0X3ByaW50ZWQgOiAxOworfTsKKworc3RhdGljIHZvaWQgdmVyaWZ5X21lc2coc3RydWN0IHZlcmlmeV9jb250ZXh0ICp2ZnksIGNoYXIgdHlwZSwgY29uc3QgY2hhciAqZm10LCB2YV9saXN0IGFwKQoreworCWlmICghdmZ5LT50YXJnZXRfcHJpbnRlZCkgeworCQlmcHJpbnRmKHN0ZG91dCwgIiVzXG4iLCBtbnRfZnNfZ2V0X3RhcmdldCh2ZnktPmZzKSk7CisJCXZmeS0+dGFyZ2V0X3ByaW50ZWQgPSAxOworCX0KKworCWZwcmludGYoc3Rkb3V0LCAiICAgWyVjXSAiLCB0eXBlKTsKKwl2ZnByaW50ZihzdGRvdXQsIGZtdCwgYXApOworCWZwdXRjKCdcbicsIHN0ZG91dCk7Cit9CisKK3N0YXRpYyBpbnQgdmVyaWZ5X3dhcm4oc3RydWN0IHZlcmlmeV9jb250ZXh0ICp2ZnksIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworCXZhX2xpc3QgYXA7CisJdmZ5LT5ud2FybmluZ3MrKzsKKwl2YV9zdGFydChhcCwgZm10KTsKKwl2ZXJpZnlfbWVzZyh2ZnksICdXJywgZm10LCBhcCk7CisJdmFfZW5kKGFwKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB2ZXJpZnlfZXJyKHN0cnVjdCB2ZXJpZnlfY29udGV4dCAqdmZ5LCBjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwl2YV9saXN0IGFwOworCXZmeS0+bmVycm9ycysrOworCXZhX3N0YXJ0KGFwLCBmbXQpOworCXZlcmlmeV9tZXNnKHZmeSwgJ0UnLCBmbXQsIGFwKTsKKwl2YV9lbmQoYXApOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHZlcmlmeV9vayhzdHJ1Y3QgdmVyaWZ5X2NvbnRleHQgKnZmeSBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSwKKwkJICAgICAgY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKworCWlmICghKGZsYWdzICYgRkxfVkVSQk9TRSkpCisJCXJldHVybiAwOworCisJdmFfc3RhcnQoYXAsIGZtdCk7CisJdmVyaWZ5X21lc2codmZ5LCAnICcsIGZtdCwgYXApOworCXZhX2VuZChhcCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdmVyaWZ5X29yZGVyKHN0cnVjdCB2ZXJpZnlfY29udGV4dCAqdmZ5KQoreworCXN0cnVjdCBsaWJtbnRfaXRlciAqaXRyID0gTlVMTDsKKwlzdHJ1Y3QgbGlibW50X2ZzICpuZXh0OworCWNvbnN0IGNoYXIgKnRndDsKKworCXRndCA9IG1udF9mc19nZXRfdGFyZ2V0KHZmeS0+ZnMpOworCWlmICh0Z3QgJiYgIShmbGFncyAmIEZMX05PQ0FDSEUpKQorCQl0Z3QgID0gbW50X3Jlc29sdmVfdGFyZ2V0KHRndCwgY2FjaGUpOworCWVsc2UgaWYgKCF0Z3QpCisJCXJldHVybiAwOworCisJaXRyID0gbW50X25ld19pdGVyKE1OVF9JVEVSX0ZPUldBUkQpOworCWlmICghaXRyKSB7CisJCXdhcm4oXygiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgaXRlcmF0b3IiKSk7CisJCWdvdG8gZG9uZTsKKwl9CisKKwkvKiBzZXQgaXRlcmF0b3IgcG9zaXRpb24gdG8gJ2ZzJyAqLworCW1udF90YWJsZV9zZXRfaXRlcih2ZnktPnRiLCBpdHIsIHZmeS0+ZnMpOworCW1udF90YWJsZV9uZXh0X2ZzKHZmeS0+dGIsIGl0ciwgJm5leHQpOworCisJLyogc2NhbiBhbGwgbmV4dCBmaWxlc3lzdGVtcyAqLworCXdoaWxlIChtbnRfdGFibGVfbmV4dF9mcyh2ZnktPnRiLCBpdHIsICZuZXh0KSA9PSAwKSB7CisJCWNvbnN0IGNoYXIgKm5fdGd0OworCQlzaXplX3QgbGVuOworCisJCW5fdGd0ID0gbW50X2ZzX2dldF90YXJnZXQobmV4dCk7CisJCWlmIChuX3RndCAmJiAhKGZsYWdzICYgRkxfTk9DQUNIRSkpCisJCQluX3RndCAgPSBtbnRfcmVzb2x2ZV90YXJnZXQobl90Z3QsIGNhY2hlKTsKKwkJZWxzZSBpZiAoIW5fdGd0KQorCQkJY29udGludWU7CisJCWxlbiA9IHN0cmxlbihuX3RndCk7CisKKwkJaWYgKHN0cm5jbXAobl90Z3QsIHRndCwgbGVuKSA9PSAwKSB7CisJCQlpZiAoKih0Z3QgKyBsZW4pID09ICdcMCcpCisJCQkJdmVyaWZ5X3dhcm4odmZ5LCBfKCJ0YXJnZXQgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIikpOworCQkJZWxzZSBpZiAoKih0Z3QgKyBsZW4pID09ICcvJykKKwkJCQl2ZXJpZnlfZXJyKHZmeSwgXygid3Jvbmcgb3JkZXI6ICVzIHNwZWNpZmllZCBiZWZvcmUgJXMiKSwgdGd0LCBuX3RndCk7CisJCX0KKwl9Citkb25lOgorCW1udF9mcmVlX2l0ZXIoaXRyKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB2ZXJpZnlfdGFyZ2V0KHN0cnVjdCB2ZXJpZnlfY29udGV4dCAqdmZ5KQoreworCWNvbnN0IGNoYXIgKnRndCA9IG1udF9mc19nZXRfdGFyZ2V0KHZmeS0+ZnMpOworCWNvbnN0IGNoYXIgKmNuID0gdGd0OworCXN0cnVjdCBzdGF0IHNiOworCisJaWYgKCF0Z3QpCisJCXJldHVybiB2ZXJpZnlfZXJyKHZmeSwgXygidW5kZWZpbmVkIHRhcmdldCAoZnNfZmlsZSkiKSk7CisKKwlpZiAoIShmbGFncyAmIEZMX05PQ0FDSEUpKSB7CisJCWNuID0gbW50X3Jlc29sdmVfdGFyZ2V0KHRndCwgY2FjaGUpOworCQlpZiAoIWNuKQorCQkJcmV0dXJuIC1FTk9NRU07CisJCWlmIChzdHJjbXAoY24sIHRndCkgIT0gMCkKKwkJCXZlcmlmeV93YXJuKHZmeSwgXygibm9uLWNhbm9uaWNhbCB0YXJnZXQgcGF0aCAocmVhbDogJXMpIiksIGNuKTsKKwkJdGd0ID0gY247CisJfQorCWlmIChzdGF0KHRndCwgJnNiKSAhPSAwKSB7CisJCWlmIChtbnRfZnNfZ2V0X29wdGlvbih2ZnktPmZzLCAibm9hdXRvIiwgTlVMTCwgTlVMTCkgPT0gMSkKKwkJCXZlcmlmeV9lcnIodmZ5LCBfKCJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHRhcmdldDogJW0iKSk7CisJCWVsc2UKKwkJCXZlcmlmeV93YXJuKHZmeSwgXygidW5yZWFjaGFibGUgdGFyZ2V0OiAlbSIpKTsKKworCX0gZWxzZSBpZiAoIVNfSVNESVIoc2Iuc3RfbW9kZSkKKwkJICYmIG1udF9mc19nZXRfb3B0aW9uKHZmeS0+ZnMsICJiaW5kIiwgTlVMTCwgTlVMTCkgPT0gMSkgeworCQl2ZXJpZnlfZXJyKHZmeSwgXygidGFyZ2V0IGlzIG5vdCBhIGRpcmVjdG9yeSIpKTsKKwl9IGVsc2UKKwkJdmVyaWZ5X29rKHZmeSwgXygidGFyZ2V0IGV4aXN0cyIpKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgY2hhciAqdmVyaWZ5X3RhZyhzdHJ1Y3QgdmVyaWZ5X2NvbnRleHQgKnZmeSwgY29uc3QgY2hhciAqbmFtZSwKKwkJICAgICAgY29uc3QgY2hhciAqdmFsdWUpCit7CisJY2hhciAqc3JjID0gbW50X3Jlc29sdmVfdGFnKG5hbWUsIHZhbHVlLCBjYWNoZSk7CisKKwlpZiAoIXNyYykgeworCQlpZiAobW50X2ZzX2dldF9vcHRpb24odmZ5LT5mcywgIm5vYXV0byIsIE5VTEwsIE5VTEwpID09IDEpCisJCQl2ZXJpZnlfZXJyKHZmeSwgXygidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCBzb3VyY2U6ICVzPSVzIiksIG5hbWUsIHZhbHVlKTsKKwkJZWxzZQorCQkJdmVyaWZ5X3dhcm4odmZ5LCBfKCJ1bnJlYWNoYWJsZTogJXM9JXMiKSwgbmFtZSwgdmFsdWUpOworCX0gZWxzZQorCQl2ZXJpZnlfb2sodmZ5LCBfKCIlcz0lcyB0cmFuc2xhdGVkIHRvICVzIiksIG5hbWUsIHZhbHVlLCBzcmMpOworCisJcmV0dXJuIHNyYzsKK30KKworLyogTm90ZSB0aGF0IG1vdW50IHNvdXJjZSBpcyB2ZXJ5IEZTIHNwZWNpZmljIGFuZCB3ZSBzaG91bGQgbm90CisgKiBpbnRlcnByZXQgdW5yZWFjaGFibGUgc291cmNlIGFzIGVycm9yLiBUaGUgZXhjZXB0aW9uIGlzIG9ubHkKKyAqIE5BTUU9dmFsdWUsIHRoaXMgaGFzIHRvIGJlIGNvbnZlcnRpYmxlIHRvIGRldmljZSBuYW1lLgorICovCitzdGF0aWMgaW50IHZlcmlmeV9zb3VyY2Uoc3RydWN0IHZlcmlmeV9jb250ZXh0ICp2ZnkpCit7CisJY29uc3QgY2hhciAqc3JjID0gbW50X2ZzX2dldF9zcmNwYXRoKHZmeS0+ZnMpOworCWNoYXIgKnQgPSBOVUxMLCAqdiA9IE5VTEw7CisJc3RydWN0IHN0YXQgc2I7CisJaW50IGlzYmluZCwgcmMgPSAwOworCisJLyogc291cmNlIGlzIE5BTUU9dmFsdWUgdGFnICovCisJaWYgKCFzcmMpIHsKKwkJY29uc3QgY2hhciAqdGFnID0gTlVMTCwgKnZhbCA9IE5VTEw7CisKKwkJaWYgKG1udF9mc19nZXRfdGFnKHZmeS0+ZnMsICZ0YWcsICZ2YWwpICE9IDApCisJCQlyZXR1cm4gdmVyaWZ5X2Vycih2ZnksIF8oInVuZGVmaW5lZCBzb3VyY2UgKGZzX3NwZWMpIikpOworCisJCXNyYyA9IHZlcmlmeV90YWcodmZ5LCB0YWcsIHZhbCk7CisJCWlmICghc3JjKQorCQkJZ290byBkb25lOworCisJLyogYmxraWQgaXMgYWJsZSB0byBwYXJzZSBpdCwgYnV0IGxpYm1vdW50IGRvZXMgbm90IHNlZSBpdCBhcyBhIHRhZyAtLQorCSAqIGl0IG1lYW5zIHVuc3VwcG9ydGVkIHRhZyAqLworCX0gZWxzZSBpZiAoYmxraWRfcGFyc2VfdGFnX3N0cmluZyhzcmMsICZ0LCAmdikgPT0gMCAmJiBzdGF0KHNyYywgJnNiKSAhPSAwKSB7CisJCXJjID0gdmVyaWZ5X2Vycih2ZnksIF8oInVuc3VwcG9ydGVkIHNvdXJjZSB0YWc6ICVzIiksIHNyYyk7CisJCWdvdG8gZG9uZTsKKwl9CisJaXNiaW5kID0gbW50X2ZzX2dldF9vcHRpb24odmZ5LT5mcywgImJpbmQiLCBOVUxMLCBOVUxMKSA9PSAwOworCisJLyogc291cmNlIGlzIHBhdGggKi8KKwlpZiAobW50X2ZzX2lzX3BzZXVkb2ZzKHZmeS0+ZnMpIHx8IG1udF9mc19pc19uZXRmcyh2ZnktPmZzKSkKKwkJdmVyaWZ5X29rKHZmeSwgXygiZG8gbm90IGNoZWNrICVzIHNvdXJjZSAocHNldWRvL25ldCkiKSwgc3JjKTsKKworCWVsc2UgaWYgKHN0YXQoc3JjLCAmc2IpICE9IDApCisJCXZlcmlmeV93YXJuKHZmeSwgXygidW5yZWFjaGFibGUgc291cmNlOiAlczogJW0iKSwgc3JjKTsKKworCWVsc2UgaWYgKChTX0lTRElSKHNiLnN0X21vZGUpIHx8IFNfSVNSRUcoc2Iuc3RfbW9kZSkpICYmICFpc2JpbmQpCisJCXZlcmlmeV93YXJuKHZmeSwgXygibm9uLWJpbmQgbW91bnQgc291cmNlICVzIGlzIGEgZGlyZWN0b3J5IG9yIHJlZ3VsYXIgZmlsZSIpLCBzcmMpOworCisJZWxzZSBpZiAoIVNfSVNCTEsoc2Iuc3RfbW9kZSkgJiYgIWlzYmluZCkKKwkJdmVyaWZ5X3dhcm4odmZ5LCBfKCJzb3VyY2UgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIiksIHNyYyk7CisJZWxzZQorCQl2ZXJpZnlfb2sodmZ5LCBfKCJzb3VyY2UgJXMgZXhpc3RzIiksIHNyYyk7Citkb25lOgorCWZyZWUodCk7CisJZnJlZSh2KTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdmVyaWZ5X29wdGlvbnMoc3RydWN0IHZlcmlmeV9jb250ZXh0ICp2ZnkpCit7CisJY29uc3QgY2hhciAqb3B0czsKKworCW9wdHMgPSBtbnRfZnNfZ2V0X3Zmc19vcHRpb25zKHZmeS0+ZnMpOworCWlmIChvcHRzKQorCQl2ZXJpZnlfb2sodmZ5LCBfKCJWRlMgb3B0aW9uczogJXMiKSwgb3B0cyk7CisKKwlvcHRzID0gbW50X2ZzX2dldF9mc19vcHRpb25zKHZmeS0+ZnMpOworCWlmIChvcHRzKQorCQl2ZXJpZnlfb2sodmZ5LCBfKCJGUyBvcHRpb25zOiAlcyIpLCBvcHRzKTsKKworCW9wdHMgPSBtbnRfZnNfZ2V0X3VzZXJfb3B0aW9ucyh2ZnktPmZzKTsKKwlpZiAob3B0cykKKwkJdmVyaWZ5X29rKHZmeSwgXygidXNlcnNwYWNlIG9wdGlvbnM6ICVzIiksIG9wdHMpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdmVyaWZ5X3N3YXBhcmVhKHN0cnVjdCB2ZXJpZnlfY29udGV4dCAqdmZ5KQoreworCWNoYXIgKmFyZzsKKwlzaXplX3QgYXJnc3ogPSAwOworCisJaWYgKG1udF9mc19nZXRfb3B0aW9uKHZmeS0+ZnMsICJkaXNjYXJkIiwgJmFyZywgJmFyZ3N6KSA9PSAwCisJICAgICYmIGFyZworCSAgICAmJiBzdHJuY21wKGFyZywgIm9uY2UiLCBhcmdzeikgIT0gMAorCSAgICAmJiBzdHJuY21wKGFyZywgInBhZ2VzIiwgYXJnc3opICE9IDApCisJCXZlcmlmeV9lcnIodmZ5LCBfKCJ1bnN1cHBvcnRlZCBzd2FwYXJlYSBkaXNjYXJkIHBvbGljeTogJXMiKSwgYXJnKTsKKworCWlmIChtbnRfZnNfZ2V0X29wdGlvbih2ZnktPmZzLCAicHJpIiwgJmFyZywgJmFyZ3N6KSA9PSAwICYmIGFyZykgeworCQljaGFyICpwID0gYXJnOworCQlpZiAoKnAgPT0gJy0nKQorCQkJcCsrOworCQlmb3IgKDsgcCA8IGFyZyArIGFyZ3N6OyBwKyspIHsKKwkJCWlmICghaXNkaWdpdCgodW5zaWduZWQgY2hhcikgKnApKSB7CisJCQkJdmVyaWZ5X2Vycih2ZnksIF8oImZhaWxlZCB0byBwYXJzZSBzd2FwYXJlYSBwcmlvcml0eSBvcHRpb24iKSk7CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpc19zdXBwb3J0ZWRfZmlsZXN5c3RlbShzdHJ1Y3QgdmVyaWZ5X2NvbnRleHQgKnZmeSwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlzaXplX3QgbjsKKworCWlmICghdmZ5LT5mc19udW0pCisJCXJldHVybiAwOworCisJZm9yIChuID0gMDsgbiA8IHZmeS0+ZnNfbnVtOyBuKysgKSB7CisJCWlmIChzdHJjbXAodmZ5LT5mc19hcnlbbl0sIG5hbWUpID09IDApCisJCQlyZXR1cm4gMTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhZGRfZmlsZXN5c3RlbShzdHJ1Y3QgdmVyaWZ5X2NvbnRleHQgKnZmeSwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwkjZGVmaW5lIE1ZQ0hVTksJMTYKKworCWlmIChpc19zdXBwb3J0ZWRfZmlsZXN5c3RlbSh2ZnksIG5hbWUpKQorCQlyZXR1cm4gMDsKKworCWlmICh2ZnktPmZzX2FsbG9jID09IDAgfHwgdmZ5LT5mc19udW0gKyAxIDw9IHZmeS0+ZnNfYWxsb2MpIHsKKwkJdmZ5LT5mc19hbGxvYyA9ICgodmZ5LT5mc19hbGxvYyArIDEgKyBNWUNIVU5LKSAvIE1ZQ0hVTkspICogTVlDSFVOSzsKKwkJdmZ5LT5mc19hcnkgPSB4cmVhbGxvYyh2ZnktPmZzX2FyeSwgdmZ5LT5mc19hbGxvYyAqIHNpemVvZihjaGFyICopKTsKKwl9CisKKwl2ZnktPmZzX2FyeVt2ZnktPmZzX251bV0gPSB4c3RyZHVwKG5hbWUpOworCXZmeS0+ZnNfbnVtKys7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCByZWFkX3Byb2NfZmlsZXN5c3RlbXMoc3RydWN0IHZlcmlmeV9jb250ZXh0ICp2ZnkpCit7CisJaW50IHJjID0gMDsKKwlGSUxFICpmOworCWNoYXIgYnVmWzgwXSwgKmNwLCAqdDsKKworCWYgPSBmb3BlbigiL3Byb2MvZmlsZXN5c3RlbXMiLCAiciIpOworCWlmICghZikKKwkJcmV0dXJuIC1lcnJubzsKKworCXdoaWxlICghZmVvZihmKSkgeworCQlpZiAoIWZnZXRzKGJ1Ziwgc2l6ZW9mKGJ1ZiksIGYpKQorCQkJYnJlYWs7CisJCWNwID0gYnVmOworCQlpZiAoIWlzc3BhY2UoKmNwKSkgeworCQkJd2hpbGUgKCpjcCAmJiAhaXNzcGFjZSgqY3ApKQorCQkJCWNwKys7CisJCX0KKwkJd2hpbGUgKCpjcCAmJiBpc3NwYWNlKCpjcCkpCisJCQljcCsrOworCQlpZiAoKHQgPSBzdHJjaHIoY3AsICdcbicpKSAhPSBOVUxMKQorCQkJKnQgPSAwOworCQlpZiAoKHQgPSBzdHJjaHIoY3AsICdcdCcpKSAhPSBOVUxMKQorCQkJKnQgPSAwOworCQlpZiAoKHQgPSBzdHJjaHIoY3AsICcgJykpICE9IE5VTEwpCisJCQkqdCA9IDA7CisKKwkJcmMgPSBhZGRfZmlsZXN5c3RlbSh2ZnksIGNwKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCX0KKwlmY2xvc2UoZik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcmVhZF9rZXJuZWxfZmlsZXN5c3RlbXMoc3RydWN0IHZlcmlmeV9jb250ZXh0ICp2ZnkpCit7CisjaWZkZWYgX19saW51eF9fCisJc3RydWN0IHV0c25hbWUgdXRzOworCUZJTEUgKmY7CisJY2hhciBidWZbMTAyNF07CisKKwlpZiAodW5hbWUoJnV0cykpCisJCXJldHVybiAwOworCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIvbGliL21vZHVsZXMvJXMvbW9kdWxlcy5kZXAiLCB1dHMucmVsZWFzZSk7CisKKwlmID0gZm9wZW4oYnVmLCAiciIpOworCWlmICghZikKKwkJcmV0dXJuIDA7CisKKwl3aGlsZSAoIWZlb2YoZikpIHsKKwkJY2hhciAqcCwgKm5hbWU7CisJCWludCByYzsKKworCQlpZiAoIWZnZXRzKGJ1Ziwgc2l6ZW9mKGJ1ZiksIGYpKQorCQkJYnJlYWs7CisKKwkJaWYgKHN0cm5jbXAoImtlcm5lbC9mcy8iLCBidWYsIDEwKSAhPSAwIHx8CisJCSAgICBzdHJuY21wKCJrZXJuZWwvZnMvbmxzLyIsIGJ1ZiwgMTQpID09IDApCisJCQljb250aW51ZTsKKworCQlwID0gc3RyY2hyKGJ1ZiwgJzonKTsKKwkJaWYgKCFwKQorCQkJY29udGludWU7CisJCSpwID0gJ1wwJzsKKworCQluYW1lID0gc3RycmNocihidWYsICcvJyk7CisJCWlmICghbmFtZSkKKwkJCWNvbnRpbnVlOworCQluYW1lKys7CisKKwkJcCA9IHN0cnN0cihuYW1lLCAiLmtvIik7CisJCWlmICghcCkKKwkJCWNvbnRpbnVlOworCQkqcCA9ICdcMCc7CisKKwkJcmMgPSBhZGRfZmlsZXN5c3RlbSh2ZnksIG5hbWUpOworCQlpZiAocmMpCisJCQlyZXR1cm4gcmM7CisJfQorCWZjbG9zZShmKTsKKyNlbmRpZiAvKiBfX2xpbnV4X18gKi8KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB2ZXJpZnlfZnN0eXBlKHN0cnVjdCB2ZXJpZnlfY29udGV4dCAqdmZ5KQoreworCWNvbnN0IGNoYXIgKnNyYyA9IG1udF9yZXNvbHZlX3NwZWMobW50X2ZzX2dldF9zb3VyY2UodmZ5LT5mcyksIGNhY2hlKTsKKwljb25zdCBjaGFyICp0eXBlLCAqcmVhbHR5cGU7CisJaW50IGFtYmkgPSAwLCBpc2F1dG8gPSAwLCBpc3N3YXAgPSAwOworCisJaWYgKCFzcmMpCisJCXJldHVybiAwOworCWlmIChtbnRfZnNfaXNfcHNldWRvZnModmZ5LT5mcykgfHwgbW50X2ZzX2lzX25ldGZzKHZmeS0+ZnMpKQorCQlyZXR1cm4gdmVyaWZ5X29rKHZmeSwgXygiZG8gbm90IGNoZWNrICVzIEZTIHR5cGUgKHBzZXVkby9uZXQpIiksIHNyYyk7CisKKwl0eXBlID0gbW50X2ZzX2dldF9mc3R5cGUodmZ5LT5mcyk7CisKKwlpZiAodHlwZSkgeworCQlpbnQgbm9uZSA9IHN0cmNtcCh0eXBlLCAibm9uZSIpID09IDA7CisKKwkJaWYgKG5vbmUKKwkJICAgICYmIG1udF9mc19nZXRfb3B0aW9uKHZmeS0+ZnMsICJiaW5kIiwgTlVMTCwgTlVMTCkgPT0gMQorCQkgICAgJiYgbW50X2ZzX2dldF9vcHRpb24odmZ5LT5mcywgIm1vdmUiLCBOVUxMLCBOVUxMKSA9PSAxKQorCQkJcmV0dXJuIHZlcmlmeV93YXJuKHZmeSwgXygiXCJub25lXCIgRlMgdHlwZSBpcyByZWNvbW1lbmRlZCBmb3IgYmluZCBvciBtb3ZlIG9wcmF0aW9ucyBvbmx5IikpOworCisJCWVsc2UgaWYgKHN0cmNtcCh0eXBlLCAiYXV0byIpID09IDApCisJCQlpc2F1dG8gPSAxOworCQllbHNlIGlmIChzdHJjbXAodHlwZSwgInN3YXAiKSA9PSAwKQorCQkJaXNzd2FwID0gMTsKKworCQlpZiAoIWlzc3dhcCAmJiAhaXNhdXRvICYmICFub25lICYmICFpc19zdXBwb3J0ZWRfZmlsZXN5c3RlbSh2ZnksIHR5cGUpKQorCQkJdmVyaWZ5X3dhcm4odmZ5LCBfKCIlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiKSwgdHlwZSk7CisJfQorCXJlYWx0eXBlID0gbW50X2dldF9mc3R5cGUoc3JjLCAmYW1iaSwgY2FjaGUpOworCisJaWYgKCFyZWFsdHlwZSkgeworCQlpZiAoaXNhdXRvKQorCQkJcmV0dXJuIHZlcmlmeV9lcnIodmZ5LCBfKCJjYW5ub3QgZGV0ZWN0IG9uLWRpc2sgZmlsZXN5c3RlbSB0eXBlIikpOworCQlyZXR1cm4gdmVyaWZ5X3dhcm4odmZ5LCBfKCJjYW5ub3QgZGV0ZWN0IG9uLWRpc2sgZmlsZXN5c3RlbSB0eXBlIikpOworCX0KKworCWlmIChyZWFsdHlwZSkgeworCQlpc3N3YXAgPSBzdHJjbXAocmVhbHR5cGUsICJzd2FwIikgPT0gMDsKKworCQlpZiAodHlwZSAmJiAhaXNhdXRvICYmIHN0cmNtcCh0eXBlLCByZWFsdHlwZSkgIT0gMCkKKwkJCXJldHVybiB2ZXJpZnlfZXJyKHZmeSwgXygiJXMgZG9lcyBub3QgbWF0Y2ggd2l0aCBvbi1kaXNrICVzIiksIHR5cGUsIHJlYWx0eXBlKTsKKworCQlpZiAoIWlzc3dhcCAmJiAhaXNfc3VwcG9ydGVkX2ZpbGVzeXN0ZW0odmZ5LCByZWFsdHlwZSkpCisJCQlyZXR1cm4gdmVyaWZ5X2Vycih2ZnksIF8oIm9uLWRpc2sgJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIiksIHJlYWx0eXBlKTsKKworCQl2ZXJpZnlfb2sodmZ5LCBfKCJGUyB0eXBlIGlzICVzIiksIHJlYWx0eXBlKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB2ZXJpZnlfcGFzc25vKHN0cnVjdCB2ZXJpZnlfY29udGV4dCAqdmZ5KQoreworCWludCBwYXNzbm8gPSBtbnRfZnNfZ2V0X3Bhc3Nubyh2ZnktPmZzKTsKKwljb25zdCBjaGFyICp0Z3QgPSBtbnRfZnNfZ2V0X3RhcmdldCh2ZnktPmZzKTsKKworCWlmICh0Z3QgJiYgc3RyY21wKCIvIiwgdGd0KSA9PSAwICYmIHBhc3NubyAhPSAxKQorCQlyZXR1cm4gdmVyaWZ5X3dhcm4odmZ5LCBfKCJyZWNvbW1lbmRlZCByb290IEZTIHBhc3NubyBpcyAxIChjdXJyZW50IGlzICVkKSIpLCBwYXNzbm8pOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdmVyaWZ5X2ZpbGVzeXN0ZW0oc3RydWN0IHZlcmlmeV9jb250ZXh0ICp2ZnkpCit7CisJaW50IHJjID0gMDsKKworCWlmIChtbnRfZnNfaXNfc3dhcGFyZWEodmZ5LT5mcykpCisJCXJjID0gdmVyaWZ5X3N3YXBhcmVhKHZmeSk7CisJZWxzZSB7CisJCXJjID0gdmVyaWZ5X3RhcmdldCh2ZnkpOworCQlpZiAoIXJjKQorCQkJcmMgPSB2ZXJpZnlfb3B0aW9ucyh2ZnkpOworCX0KKworCWlmICghcmMpCisJCXJjID0gdmVyaWZ5X3NvdXJjZSh2ZnkpOworCWlmICghcmMpCisJCXJjID0gdmVyaWZ5X2ZzdHlwZSh2ZnkpOworCWlmICghcmMpCisJCXJjID0gdmVyaWZ5X3Bhc3Nubyh2ZnkpOworCisJcmV0dXJuIHJjOworfQorCitpbnQgdmVyaWZ5X3RhYmxlKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiKQoreworCXN0cnVjdCB2ZXJpZnlfY29udGV4dCB2ZnkgPSB7IC5uZXJyb3JzID0gMCB9OworCXN0cnVjdCBsaWJtbnRfaXRlciAqaXRyID0gTlVMTDsKKwlpbnQgcmMgPSAwOwkJLyogb3ZlcmFsbCByZXR1cm4gY29kZSAoYWxsb2MgZXJyb3JzLCBldGMuKSAqLworCWludCBjaGVja19vcmRlciA9IGlzX2xpc3RhbGxfbW9kZSgpOworCXN0YXRpYyBpbnQgaGFzX3JlYWRfZnMgPSAwOworCisJaXRyID0gbW50X25ld19pdGVyKE1OVF9JVEVSX0ZPUldBUkQpOworCWlmICghaXRyKSB7CisJCXdhcm4oXygiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgaXRlcmF0b3IiKSk7CisJCWdvdG8gZG9uZTsKKwl9CisKKwl2ZnkudGIgPSB0YjsKKworCWlmIChoYXNfcmVhZF9mcyA9PSAwKSB7CisJCXJlYWRfcHJvY19maWxlc3lzdGVtcygmdmZ5KTsKKwkJcmVhZF9rZXJuZWxfZmlsZXN5c3RlbXMoJnZmeSk7CisJCWhhc19yZWFkX2ZzID0gMTsKKwl9CisKKwl3aGlsZSAocmMgPT0gMCAmJiAodmZ5LmZzID0gZ2V0X25leHRfZnModGIsIGl0cikpKSB7CisJCXZmeS50YXJnZXRfcHJpbnRlZCA9IDA7CisJCWlmIChjaGVja19vcmRlcikKKwkJCXJjID0gdmVyaWZ5X29yZGVyKCZ2ZnkpOworCQlpZiAoIXJjKQorCQkJcmMgPSB2ZXJpZnlfZmlsZXN5c3RlbSgmdmZ5KTsKKworCQlpZiAoZmxhZ3MgJiBGTF9GSVJTVE9OTFkpCisJCQlicmVhazsKKwkJZmxhZ3MgfD0gRkxfTk9TV0FQTUFUQ0g7CisJfQorCitkb25lOgorCW1udF9mcmVlX2l0ZXIoaXRyKTsKKworCS8qIHN1bW1hcnkgKi8KKwlpZiAodmZ5Lm5lcnJvcnMgfHwgcGFyc2VfbmVycm9ycyB8fCB2Znkubndhcm5pbmdzKSB7CisJCWZwdXRjKCdcbicsIHN0ZGVycik7CisJCWZwcmludGYoc3RkZXJyLCBQXygiJWQgcGFyc2UgZXJyb3IiLCAiJWQgcGFyc2UgZXJyb3JzIiwgcGFyc2VfbmVycm9ycyksIHBhcnNlX25lcnJvcnMpOworCQlmcHJpbnRmKHN0ZGVyciwgUF8oIiwgJWQgZXJyb3IiLCAgICAgIiwgJWQgZXJyb3JzIiwgdmZ5Lm5lcnJvcnMpLCB2ZnkubmVycm9ycyk7CisJCWZwcmludGYoc3RkZXJyLCBQXygiLCAlZCB3YXJuaW5nIiwgICAiLCAlZCB3YXJuaW5ncyIsIHZmeS5ud2FybmluZ3MpLCB2Znkubndhcm5pbmdzKTsKKwkJZnB1dGMoJ1xuJywgc3RkZXJyKTsKKwl9IGVsc2UKKwkJZnByaW50ZihzdGRvdXQsIF8oIlN1Y2Nlc3MsIG5vIGVycm9ycyBvciB3YXJuaW5ncyBkZXRlY3RlZFxuIikpOworCisJcmV0dXJuIHJjICE9IDAgPyByYyA6IHZmeS5uZXJyb3JzICsgcGFyc2VfbmVycm9yczsKK30KZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvZmluZG1udC44IGIvbWlzYy11dGlscy9maW5kbW50LjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmU0ZGRiNAotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvZmluZG1udC44CkBAIC0wLDAgKzEsMjkxIEBACisuVEggRklORE1OVCA4ICJKdW5lIDIwMTUiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK2ZpbmRtbnQgXC0gZmluZCBhIGZpbGVzeXN0ZW0KKy5TSCBTWU5PUFNJUworLkIgZmluZG1udAorW29wdGlvbnNdCisuc3AKKy5CIGZpbmRtbnQKK1tvcHRpb25zXQorLklSIGRldmljZSB8IG1vdW50cG9pbnQKKy5zcAorLkIgZmluZG1udAorW29wdGlvbnNdCisuUkIgWyBcLVwtc291cmNlIF0KKy5JUiBkZXZpY2UKKy5SQiBbIFwtXC10YXJnZXQgfCBcLVwtbW91bnRwb2ludCBdCisuSVIgbW91bnRwb2ludAorLlNIIERFU0NSSVBUSU9OCisuQiBmaW5kbW50Cit3aWxsIGxpc3QgYWxsIG1vdW50ZWQgZmlsZXN5c3RlbXMgb3Igc2VhcmNoIGZvciBhIGZpbGVzeXN0ZW0uICBUaGUKKy5CIFwlZmluZG1udAorY29tbWFuZCBpcyBhYmxlIHRvIHNlYXJjaCBpbgorLklSIC9ldGMvZnN0YWIgLAorLklSIC9ldGMvbXRhYgorb3IKKy5JUiAvcHJvYy9zZWxmL21vdW50aW5mbyAuCitJZgorLklSIGRldmljZQorb3IKKy5JUiBtb3VudHBvaW50CitpcyBub3QgZ2l2ZW4sIGFsbCBmaWxlc3lzdGVtcyBhcmUgc2hvd24uCisuUFAKK1RoZSBkZXZpY2UgbWF5IGJlIHNwZWNpZmllZCBieSBkZXZpY2UgbmFtZSwgbWFqb3I6bWlub3IgbnVtYmVycywKK2ZpbGVzeXN0ZW0gbGFiZWwgb3IgVVVJRCwgb3IgcGFydGl0aW9uIGxhYmVsIG9yIFVVSUQuICBOb3RlIHRoYXQKKy5CIFwlZmluZG1udAorZm9sbG93cworLkJSIG1vdW50ICg4KQorYmVoYXZpb3Igd2hlcmUgYSBkZXZpY2UgbmFtZSBtYXkgYmUgaW50ZXJwcmV0ZWQKK2FzIGEgbW91bnRwb2ludCAoYW5kIHZpY2UgdmVyc2EpIGlmIHRoZSBcZkJcLVwtdGFyZ2V0XGZSLCBcZkJcLVwtbW91bnRwb2ludFxmUiBvcgorXGZCXC1cLXNvdXJjZVxmUiBvcHRpb25zIGFyZSBub3Qgc3BlY2lmaWVkLgorLlBQCitUaGUgY29tbWFuZCBwcmludHMgYWxsIG1vdW50ZWQgZmlsZXN5c3RlbXMgaW4gdGhlIHRyZWUtbGlrZSBmb3JtYXQgYnkgZGVmYXVsdC4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLUEgLCAiIFwtXC1hbGwiCitEaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzIGFuZCBwcmludCBhbGwgZmlsZXN5c3RlbXMuCisuVFAKKy5CUiBcLWEgLCAiIFwtXC1hc2NpaSIKK1VzZSBhc2NpaSBjaGFyYWN0ZXJzIGZvciB0cmVlIGZvcm1hdHRpbmcuCisuVFAKKy5CUiBcLWIgLCAiIFwtXC1ieXRlcyIKK1ByaW50IHRoZSBTSVpFLCBVU0VEIGFuZCBBVkFJTCBjb2x1bW5zIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGEgaHVtYW4tcmVhZGFibGUgZm9ybWF0LgorLlRQCisuQlIgXC1DICwgIiBcLVwtbm9jYW5vbmljYWxpemUiCitEbyBub3QgY2Fub25pY2FsaXplIHBhdGhzIGF0IGFsbC4gIFRoaXMgb3B0aW9uIGFmZmVjdHMgdGhlIGNvbXBhcmluZyBvZiBwYXRocworYW5kIHRoZSBldmFsdWF0aW9uIG9mIHRhZ3MgKExBQkVMLCBVVUlELCBldGMuKS4KKy5UUAorLkJSIFwtYyAsICIgXC1cLWNhbm9uaWNhbGl6ZSIKK0Nhbm9uaWNhbGl6ZSBhbGwgcHJpbnRlZCBwYXRocy4KKy5UUAorLkJSIFwtRCAsICIgXC1cLWRmIgorSW1pdGF0ZSB0aGUgb3V0cHV0IG9mCisuQlIgZGYgKDEpLgorVGhpcyBvcHRpb24gaXMgZXF1aXZhbGVudCB0bworLkIgXC1vXCBTT1VSQ0UsRlNUWVBFLFNJWkUsVVNFRCxBVkFJTCxVU0UlLFRBUkdFVAorYnV0IGV4Y2x1ZGVzIGFsbCBwc2V1ZG8gZmlsZXN5c3RlbXMuCitVc2UgXGZCXC1cLWFsbFxmUCB0byBwcmludCBhbGwgZmlsZXN5c3RlbXMuCisuVFAKKy5CUiBcLWQgLCAiIFwtXC1kaXJlY3Rpb24gXGZJd29yZFxmUCIKK1RoZSBzZWFyY2ggZGlyZWN0aW9uLCBlaXRoZXIKKy5CIGZvcndhcmQKK29yCisuQlIgYmFja3dhcmQgLgorLlRQCisuQlIgXC1lICwgIiBcLVwtZXZhbHVhdGUiCitDb252ZXJ0IGFsbCB0YWdzIChMQUJFTCwgVVVJRCwgUEFSVFVVSUQgb3IgUEFSVExBQkVMKSB0byB0aGUgY29ycmVzcG9uZGluZyBkZXZpY2UgbmFtZXMuCisuVFAKKy5CUiBcLUYgLCAiIFwtXC10YWJcLWZpbGUgXGZJcGF0aFxmUCIKK1NlYXJjaCBpbiBhbiBhbHRlcm5hdGl2ZSBmaWxlLiAgSWYgdXNlZCB3aXRoIFxmQlwtXC1mc3RhYlxmUCwgXGZCXC1cLW10YWJcZlAKK29yIFxmQlwtXC1rZXJuZWxcZlAsIHRoZW4gaXQgb3ZlcnJpZGVzIHRoZSBkZWZhdWx0IHBhdGhzLiAgSWYgc3BlY2lmaWVkIG1vcmUKK3RoYW4gb25jZSwgdGhlbiB0cmVlLWxpa2Ugb3V0cHV0IGlzIGRpc2FibGVkIChzZWUgdGhlIFxmQlwtXC1saXN0XGZQIG9wdGlvbikuCisuVFAKKy5CUiBcLWYgLCAiIFwtXC1maXJzdFwtb25seSIKK1ByaW50IHRoZSBmaXJzdCBtYXRjaGluZyBmaWxlc3lzdGVtIG9ubHkuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuVFAKKy5CUiBcLWkgLCAiIFwtXC1pbnZlcnQiCitJbnZlcnQgdGhlIHNlbnNlIG9mIG1hdGNoaW5nLgorLlRQCisuQlIgXC1KICwgIiBcLVwtanNvbiIKK1VzZSBKU09OIG91dHB1dCBmb3JtYXQuCisuVFAKKy5CUiBcLWsgLCAiIFwtXC1rZXJuZWwiCitTZWFyY2ggaW4KKy5JUiAvcHJvYy9zZWxmL21vdW50aW5mbyAuCitUaGUgb3V0cHV0IGlzIGluIHRoZSB0cmVlLWxpa2UgZm9ybWF0LiAgVGhpcyBpcyB0aGUgZGVmYXVsdC4KKy5UUAorLkJSIFwtbCAsICIgXC1cLWxpc3QiCitVc2UgdGhlIGxpc3Qgb3V0cHV0IGZvcm1hdC4gIFRoaXMgb3V0cHV0IGZvcm1hdCBpcyBhdXRvbWF0aWNhbGx5IGVuYWJsZWQgaWYgdGhlCitvdXRwdXQgaXMgcmVzdHJpY3RlZCBieSB0aGUgXGZCXC10XGZQLCBcZkJcLU9cZlAsIFxmQlwtU1xmUCBvciBcZkJcLVRcZlAKK29wdGlvbiBhbmQgdGhlIG9wdGlvbiBcZkJcLVwtc3VibW91bnRzXGZQIGlzIG5vdCB1c2VkIG9yIGlmIG1vcmUgdGhhdCBvbmUKK3NvdXJjZSBmaWxlICh0aGUgb3B0aW9uIFxmQlwtRlxmUCkgaXMgc3BlY2lmaWVkLgorLlRQCisuQlIgXC1NICwgIiBcLVwtbW91bnRwb2ludCBcZklwYXRoXGZQIgorRXhwbGljaXRseSBkZWZpbmUgdGhlIG1vdW50cG9pbnQgZmlsZSBvciBkaXJlY3RvcnkuICBTZWUgYWxzbyBcZkJcLVwtdGFyZ2V0XGZQLgorLlRQCisuQlIgXC1tICwgIiBcLVwtbXRhYiIKK1NlYXJjaCBpbgorLklSIC9ldGMvbXRhYiAuCitUaGUgb3V0cHV0IGlzIGluIHRoZSBsaXN0IGZvcm1hdCAoc2VlIFxmQlwtXC1saXN0XGZQKS4KKy5UUAorLkJSIFwtTiAsICIgXC1cLXRhc2sgXGZJdGlkXGZQIgorVXNlIGFsdGVybmF0aXZlIG5hbWVzcGFjZSAvcHJvYy88dGlkPi9tb3VudGluZm8gcmF0aGVyIHRoYW4gdGhlIGRlZmF1bHQKKy9wcm9jL3NlbGYvbW91bnRpbmZvLiAgSWYgdGhlIG9wdGlvbiBpcyBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UsIHRoZW4KK3RyZWUtbGlrZSBvdXRwdXQgaXMgZGlzYWJsZWQgKHNlZSB0aGUgXGZCXC1cLWxpc3RcZlAgb3B0aW9uKS4gIFNlZSBhbHNvIHRoZQorLkJSIHVuc2hhcmUgKDEpCitjb21tYW5kLgorLlRQCisuQlIgXC1uICwgIiBcLVwtbm9oZWFkaW5ncyIKK0RvIG5vdCBwcmludCBhIGhlYWRlciBsaW5lLgorLlRQCisuQlIgXC1PICwgIiBcLVwtb3B0aW9ucyBcZklsaXN0XGZQIgorTGltaXQgdGhlIHNldCBvZiBwcmludGVkIGZpbGVzeXN0ZW1zLiAgTW9yZSB0aGFuIG9uZSBvcHRpb24KK21heSBiZSBzcGVjaWZpZWQgaW4gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdC4gIFRoZQorLkIgXC10CithbmQKKy5CIFwtTworb3B0aW9ucyBhcmUgY3VtdWxhdGl2ZSBpbiBlZmZlY3QuICBJdCBpcyBkaWZmZXJlbnQgZnJvbQorLkIgXC10CitpbiB0aGF0IGVhY2ggb3B0aW9uIGlzIG1hdGNoZWQgZXhhY3RseTsgYSBsZWFkaW5nCisuSSBubworYXQgdGhlIGJlZ2lubmluZyBkb2VzIG5vdCBoYXZlIGdsb2JhbCBtZWFuaW5nLiAgVGhlICJubyIgY2FuIHVzZWQgZm9yCitpbmRpdmlkdWFsIGl0ZW1zIGluIHRoZSBsaXN0LiAgVGhlICJubyIgcHJlZml4IGludGVycHJldGF0aW9uIGNhbiBiZSBkaXNhYmxlZAorYnkgIisiIHByZWZpeC4KKy5UUAorLkJSIFwtbyAsICIgXC1cLW91dHB1dCBcZklsaXN0XGZQIgorRGVmaW5lIG91dHB1dCBjb2x1bW5zLiAgU2VlIHRoZSBcZkJcLVwtaGVscFxmUCBvdXRwdXQgdG8gZ2V0IGEgbGlzdCBvZiB0aGUKK2N1cnJlbnRseSBzdXBwb3J0ZWQgY29sdW1ucy4gIFRoZQorLkJSIFRBUkdFVAorY29sdW1uIGNvbnRhaW5zIHRyZWUgZm9ybWF0dGluZyBpZiB0aGUKKy5CIFwtXC1saXN0CitvcgorLkIgXC1cLXJhdworb3B0aW9ucyBhcmUgbm90IHNwZWNpZmllZC4KKworVGhlIGRlZmF1bHQgbGlzdCBvZiBjb2x1bW5zIG1heSBiZSBleHRlbmRlZCBpZiBcZklsaXN0XGZQIGlzCitzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCBcZkkrbGlzdFxmUCAoZS5nLiBcZkJmaW5kbW50IFwtbyArUFJPUEFHQVRJT05cZlApLgorLlRQCisuQlIgXC1QICwgIiBcLVwtcGFpcnMiCitVc2Uga2V5PSJ2YWx1ZSIgb3V0cHV0IGZvcm1hdC4gIEFsbCBwb3RlbnRpYWxseSB1bnNhZmUgY2hhcmFjdGVycyBhcmUgaGV4LWVzY2FwZWQgKFxceDxjb2RlPikuCisuVFAKKy5CUiBcLXAgLCAiIFwtXC1wb2xsXGZSW1xmST1saXN0XGZSXSIKK01vbml0b3IgY2hhbmdlcyBpbiB0aGUgL3Byb2Mvc2VsZi9tb3VudGluZm8gZmlsZS4gIFN1cHBvcnRlZCBhY3Rpb25zIGFyZTogbW91bnQsCit1bW91bnQsIHJlbW91bnQgYW5kIG1vdmUuICBNb3JlIHRoYW4gb25lIGFjdGlvbiBtYXkgYmUgc3BlY2lmaWVkIGluIGEKK2NvbW1hLXNlcGFyYXRlZCBsaXN0LiAgQWxsIGFjdGlvbnMgYXJlIG1vbml0b3JlZCBieSBkZWZhdWx0LgorCitUaGUgdGltZSBmb3Igd2hpY2ggXGZCXC1cLXBvbGxcZlIgd2lsbCBibG9jayBjYW4gYmUgcmVzdHJpY3RlZCB3aXRoIHRoZSBcZkJcLVwtdGltZW91dFxmUAorb3IgXGZCXC1cLWZpcnN0XC1vbmx5XGZQIG9wdGlvbnMuCisKK1RoZSBzdGFuZGFyZCBjb2x1bW5zIGFsd2F5cyB1c2UgdGhlIG5ldyB2ZXJzaW9uIG9mIHRoZSBpbmZvcm1hdGlvbiBmcm9tIHRoZQorbW91bnRpbmZvIGZpbGUsIGV4Y2VwdCB0aGUgdW1vdW50IGFjdGlvbiB3aGljaCBpcyBiYXNlZCBvbiB0aGUgb3JpZ2luYWwKK2luZm9ybWF0aW9uIGNhY2hlZCBieQorLkJSIGZpbmRtbnQgKDgpLgorVGhlIHBvbGwgbW9kZSBhbGxvd3MgdG8gdXNlIGV4dHJhIGNvbHVtbnM6CisuUlMKKy5UUAorLkIgQUNUSU9OCittb3VudCwgdW1vdW50LCBtb3ZlIG9yIHJlbW91bnQgYWN0aW9uIG5hbWU7IHRoaXMgY29sdW1uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdAorLlRQCisuQiBPTEQtVEFSR0VUCithdmFpbGFibGUgZm9yIHVtb3VudCBhbmQgbW92ZSBhY3Rpb25zCisuVFAKKy5CIE9MRC1PUFRJT05TCithdmFpbGFibGUgZm9yIHVtb3VudCBhbmQgcmVtb3VudCBhY3Rpb25zCisuUkUKKy5UUAorLkJSIFwtUiAsICIgXC1cLXN1Ym1vdW50cyIKK1ByaW50IHJlY3Vyc2l2ZWx5IGFsbCBzdWJtb3VudHMgZm9yIHRoZSBzZWxlY3RlZCBmaWxlc3lzdGVtcy4gIFRoZSByZXN0cmljdGlvbnMKK2RlZmluZWQgYnkgb3B0aW9ucyBcZkJcLXRcZlAsIFxmQlwtT1xmUCwgXGZCXC1TXGZQLCBcZkJcLVRcZlAgYW5kCitcZkJcJVwtXC1kaXJlY3Rpb25cZlAgYXJlIG5vdCBhcHBsaWVkIHRvIHN1Ym1vdW50cy4gIEFsbCBzdWJtb3VudHMgYXJlIGFsd2F5cworcHJpbnRlZCBpbiB0cmVlLWxpa2Ugb3JkZXIuICBUaGUgb3B0aW9uIGVuYWJsZXMgdGhlIHRyZWUtbGlrZSBvdXRwdXQgZm9ybWF0IGJ5CitkZWZhdWx0LiAgVGhpcyBvcHRpb24gaGFzIG5vIGVmZmVjdCBmb3IgXGZCXC1cLW10YWJcZlAgb3IgXGZCXC1cLWZzdGFiXGZQLgorLlRQCisuQlIgXC1yICwgIiBcLVwtcmF3IgorVXNlIHJhdyBvdXRwdXQgZm9ybWF0LiAgQWxsIHBvdGVudGlhbGx5IHVuc2FmZSBjaGFyYWN0ZXJzIGFyZSBoZXgtZXNjYXBlZCAoXFx4PGNvZGU+KS4KKy5UUAorLkJSIFwtUyAsICIgXC1cLXNvdXJjZSBcZklzcGVjXGZQIgorRXhwbGljaXRseSBkZWZpbmUgdGhlIG1vdW50IHNvdXJjZS4gIFN1cHBvcnRlZCBzcGVjaWZpY2F0aW9ucyBhcmUgXGZJZGV2aWNlXGZSLAorXGZJbWFqXGZCOlxmSW1pblxmUiwgXGZCTEFCRUw9XGZJbGFiZWxcZlIsIFxmQlVVSUQ9XGZJdXVpZFxmUiwKK1xmQlBBUlRMQUJFTD1cZklsYWJlbFxmUiBhbmQgXGZCUEFSVFVVSUQ9XGZJdXVpZFxmUi4KKy5UUAorLkJSIFwtcyAsICIgXC1cLWZzdGFiIgorU2VhcmNoIGluCisuSVIgL2V0Yy9mc3RhYiAuCitUaGUgb3V0cHV0IGlzIGluIHRoZSBsaXN0IGZvcm1hdCAoc2VlIFxmQlwtXC1saXN0XGZSKS4KKy5UUAorLkJSIFwtVCAsICIgXC1cLXRhcmdldCBcZklwYXRoXGZQIgorRGVmaW5lIHRoZSBtb3VudCB0YXJnZXQuICBJZiBcZklwYXRoXGZSCitpcyBub3QgYSBtb3VudHBvaW50IGZpbGUgb3IgZGlyZWN0b3J5LCB0aGVuCisuQiBmaW5kbW50CitjaGVja3MgdGhlIFxmSXBhdGhcZlIgZWxlbWVudHMgaW4gcmV2ZXJzZSBvcmRlciB0byBnZXQgdGhlIG1vdW50cG9pbnQgKHRoaXMgZmVhdHVyZSBpcworc3VwcG9ydGVkIG9ubHkgd2hlbiBzZWFyY2hpbmcgaW4ga2VybmVsIGZpbGVzIGFuZCB1bnN1cHBvcnRlZCBmb3IgXGZCXC1cLWZzdGFiXGZQKS4gIEl0J3MKK3JlY29tbWVuZGVkIHRvIHVzZSB0aGUgb3B0aW9uIFxmQlwtXC1tb3VudHBvaW50XGZSIHdoZW4gY2hlY2tzIG9mIFxmSXBhdGhcZlIgZWxlbWVudHMgYXJlCit1bndhbnRlZCBhbmQgXGZJcGF0aFxmUiBpcyBhIHN0cmljdGx5IHNwZWNpZmllZCBtb3VudHBvaW50LgorLlRQCisuQlIgXC10ICwgIiBcLVwtdHlwZXMgXGZJbGlzdFxmUCIKK0xpbWl0IHRoZSBzZXQgb2YgcHJpbnRlZCBmaWxlc3lzdGVtcy4gIE1vcmUgdGhhbiBvbmUgdHlwZSBtYXkgYmUKK3NwZWNpZmllZCBpbiBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LiAgVGhlIGxpc3Qgb2YgZmlsZXN5c3RlbSB0eXBlcyBjYW4gYmUKK3ByZWZpeGVkIHdpdGgKKy5CIG5vCit0byBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGVzIG9uIHdoaWNoIG5vIGFjdGlvbiBzaG91bGQgYmUgdGFrZW4uICBGb3IKK21vcmUgZGV0YWlscyBzZWUKKy5CUiBtb3VudCAoOCkuCisuVFAKKy5CUiBcLVUgLCAiIFwtXC11bmlxIgorSWdub3JlIGZpbGVzeXN0ZW1zIHdpdGggZHVwbGljYXRlIG1vdW50IHRhcmdldHMsIHRodXMgZWZmZWN0aXZlbHkgc2tpcHBpbmcKK292ZXItbW91bnRlZCBtb3VudCBwb2ludHMuCisuVFAKKy5CUiBcLXUgLCAiIFwtXC1ub3RydW5jYXRlIgorRG8gbm90IHRydW5jYXRlIHRleHQgaW4gY29sdW1ucy4gIFRoZSBkZWZhdWx0IGlzIHRvIG5vdCB0cnVuY2F0ZSB0aGUKKy5CUiBUQVJHRVQgLAorLkJSIFNPVVJDRSAsCisuQlIgVVVJRCAsCisuQlIgTEFCRUwgLAorLkJSIFBBUlRVVUlEICwKKy5CUiBQQVJUTEFCRUwKK2NvbHVtbnMuICBUaGlzIG9wdGlvbiBkaXNhYmxlcyB0ZXh0IHRydW5jYXRpb24gYWxzbyBpbiBhbGwgb3RoZXIgY29sdW1ucy4KKy5UUAorLkJSIFwtdiAsICIgXC1cLW5vZnNyb290IgorRG8gbm90IHByaW50IGEgWy9kaXJdIGluIHRoZSBTT1VSQ0UgY29sdW1uIGZvciBiaW5kIG1vdW50cyBvciBidHJmcyBzdWJ2b2x1bWVzLgorLlRQCisuQlIgXC13ICwgIiBcLVwtdGltZW91dCBcZkltaWxsaXNlY29uZHNcZlAiCitTcGVjaWZ5IGFuIHVwcGVyIGxpbWl0IG9uIHRoZSB0aW1lIGZvciB3aGljaCBcZkJcLVwtcG9sbFxmUiB3aWxsIGJsb2NrLCBpbiBtaWxsaXNlY29uZHMuCisuVFAKKy5CUiBcLXggLCAiIFwtXC12ZXJpZnkiCitDaGVjayBtb3VudCB0YWJsZSBjb250ZW50LiBUaGUgZGVmYXVsdCBpcyB0byB2ZXJpZnkKKy5JUiAvZXRjL2ZzdGFiCitwYXJzYWJpbGl0eSBhbmQgdXNhYmlsaXR5LiBJdCdzIHBvc3NpYmxlIHRvIHVzZSB0aGlzIG9wdGlvbiBhbHNvIHdpdGggXGZCXC1cLXRhYlwtZmlsZVxmUC4KK0l0J3MgcG9zc2libGUgdG8gc3BlY2lmeSBzb3VyY2UgKGRldmljZSkgb3IgdGFyZ2V0IChtb3VudHBvaW50KSB0byBmaWx0ZXIgbW91bnQgdGFibGUuIFRoZSBvcHRpb24KK1xmQlwtXC12ZXJib3NlXGZQIGZvcmNlcyBmaW5kbW50IHRvIHByaW50IG1vcmUgZGV0YWlscy4KKy5UUAorLkJSICIgXC1cLXZlcmJvc2UiCitGb3JjZSBmaW5kbW50IHRvIHByaW50IG1vcmUgaW5mb3JtYXRpb24gKFxmQlwtXC12ZXJpZnlcZlAgb25seSBmb3Igbm93KS4KKy5TSCBFWEFNUExFUworLklQICJcZkJmaW5kbW50IFwtXC1mc3RhYiBcLXQgbmZzXGZQIgorUHJpbnRzIGFsbCBORlMgZmlsZXN5c3RlbXMgZGVmaW5lZCBpbgorLklSIC9ldGMvZnN0YWIgLgorLklQICJcZkJmaW5kbW50IFwtXC1mc3RhYiAvbW50L2Zvb1xmUCIKK1ByaW50cyBhbGwKKy5JUiAvZXRjL2ZzdGFiCitmaWxlc3lzdGVtcyB3aGVyZSB0aGUgbW91bnRwb2ludCBkaXJlY3RvcnkgaXMgL21udC9mb28uICBJdCBhbHNvIHByaW50cyBiaW5kIG1vdW50cyB3aGVyZSAvbW50L2ZvbworaXMgYSBzb3VyY2UuCisuSVAgIlxmQmZpbmRtbnQgXC1cLWZzdGFiIFwtXC10YXJnZXQgL21udC9mb29cZlAiCitQcmludHMgYWxsCisuSVIgL2V0Yy9mc3RhYgorZmlsZXN5c3RlbXMgd2hlcmUgdGhlIG1vdW50cG9pbnQgZGlyZWN0b3J5IGlzIC9tbnQvZm9vLgorLklQICJcZkJmaW5kbW50IFwtXC1mc3RhYiBcLVwtZXZhbHVhdGVcZlAiCitQcmludHMgYWxsCisuSVIgL2V0Yy9mc3RhYgorZmlsZXN5c3RlbXMgYW5kIGNvbnZlcnRzIExBQkVMPSBhbmQgVVVJRD0gdGFncyB0byB0aGUgcmVhbCBkZXZpY2UgbmFtZXMuCisuSVAgIlxmQmZpbmRtbnQgXC1uIFwtXC1yYXcgXC1cLWV2YWx1YXRlIFwtXC1vdXRwdXQ9dGFyZ2V0IExBQkVMPS9ib290XGZQIgorUHJpbnRzIG9ubHkgdGhlIG1vdW50cG9pbnQgd2hlcmUgdGhlIGZpbGVzeXN0ZW0gd2l0aCBsYWJlbCAiL2Jvb3QiIGlzIG1vdW50ZWQuCisuSVAgIlxmQmZpbmRtbnQgXC1cLXBvbGwgXC1cLW1vdW50cG9pbnQgL21udC9mb29cZlAiCitNb25pdG9ycyBtb3VudCwgdW5tb3VudCwgcmVtb3VudCBhbmQgbW92ZSBvbiAvbW50L2Zvby4KKy5JUCAiXGZCZmluZG1udCBcLVwtcG9sbD11bW91bnQgXC1cLWZpcnN0LW9ubHkgXC1cLW1vdW50cG9pbnQgL21udC9mb29cZlAiCitXYWl0cyBmb3IgL21udC9mb28gdW5tb3VudC4KKy5JUCAiXGZCZmluZG1udCBcLVwtcG9sbD1yZW1vdW50IFwtdCBleHQzIFwtTyByb1xmUCIKK01vbml0b3JzIHJlbW91bnRzIHRvIHJlYWQtb25seSBtb2RlIG9uIGFsbCBleHQzIGZpbGVzeXN0ZW1zLgorLlNIIEVOVklST05NRU5UCisuSVAgTElCTU9VTlRfRlNUQUI9PHBhdGg+CitvdmVycmlkZXMgdGhlIGRlZmF1bHQgbG9jYXRpb24gb2YgdGhlIGZzdGFiIGZpbGUKKy5JUCBMSUJNT1VOVF9NVEFCPTxwYXRoPgorb3ZlcnJpZGVzIHRoZSBkZWZhdWx0IGxvY2F0aW9uIG9mIHRoZSBtdGFiIGZpbGUKKy5JUCBMSUJNT1VOVF9ERUJVRz1hbGwKK2VuYWJsZXMgbGlibW91bnQgZGVidWcgb3V0cHV0CisuSVAgTElCU01BUlRDT0xTX0RFQlVHPWFsbAorZW5hYmxlcyBsaWJzbWFydGNvbHMgZGVidWcgb3V0cHV0CisuSVAgTElCU01BUlRDT0xTX0RFQlVHX1BBRERJTkc9b24KK3VzZSB2aXNpYmxlIHBhZGRpbmcgY2hhcmFjdGVycy4gUmVxdWlyZXMgZW5hYmxlZCBMSUJTTUFSVENPTFNfREVCVUcuCisuU0ggQVVUSE9SUworLm5mCitLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKy5maQorLlNIIFNFRSBBTFNPCisuQlIgZnN0YWIgKDUpLAorLkJSIG1vdW50ICg4KQorLlNIIEFWQUlMQUJJTElUWQorVGhlIGZpbmRtbnQgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL2ZpbmRtbnQuYyBiL21pc2MtdXRpbHMvZmluZG1udC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1YWIzYzMKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL2ZpbmRtbnQuYwpAQCAtMCwwICsxLDE2NjEgQEAKKy8qCisgKiBmaW5kbW50KDgpCisgKgorICogQ29weXJpZ2h0IChDKSAyMDEwLTIwMTUgUmVkIEhhdCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogV3JpdHRlbiBieSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdvdWxkIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgKiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx0ZXJtaW9zLmg+CisjaWZkZWYgSEFWRV9TWVNfSU9DVExfSAorIyBpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyNlbmRpZgorI2luY2x1ZGUgPGFzc2VydC5oPgorI2luY2x1ZGUgPHBvbGwuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdHZmcy5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2lmZGVmIEhBVkVfTElCVURFVgorIyBpbmNsdWRlIDxsaWJ1ZGV2Lmg+CisjZW5kaWYKKyNpbmNsdWRlIDxsaWJtb3VudC5oPgorI2luY2x1ZGUgPGxpYnNtYXJ0Y29scy5oPgorCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJvcHR1dGlscy5oIgorI2luY2x1ZGUgIm1hbmdsZS5oIgorCisjaW5jbHVkZSAiZmluZG1udC5oIgorCisvKiBjb2x1bW4gSURzICovCitlbnVtIHsKKwlDT0xfU09VUkNFLAorCUNPTF9UQVJHRVQsCisJQ09MX0ZTVFlQRSwKKwlDT0xfT1BUSU9OUywKKwlDT0xfVkZTX09QVElPTlMsCisJQ09MX0ZTX09QVElPTlMsCisJQ09MX0xBQkVMLAorCUNPTF9VVUlELAorCUNPTF9QQVJUTEFCRUwsCisJQ09MX1BBUlRVVUlELAorCUNPTF9NQUpNSU4sCisJQ09MX0FDVElPTiwKKwlDT0xfT0xEX1RBUkdFVCwKKwlDT0xfT0xEX09QVElPTlMsCisJQ09MX1NJWkUsCisJQ09MX0FWQUlMLAorCUNPTF9VU0VELAorCUNPTF9VU0VQRVJDLAorCUNPTF9GU1JPT1QsCisJQ09MX1RJRCwKKwlDT0xfSUQsCisJQ09MX09QVF9GSUVMRFMsCisJQ09MX1BST1BBR0FUSU9OLAorCUNPTF9GUkVRLAorCUNPTF9QQVNTTk8KK307CisKK2VudW0geworCVRBQlRZUEVfRlNUQUIgPSAxLAorCVRBQlRZUEVfTVRBQiwKKwlUQUJUWVBFX0tFUk5FTAorfTsKKworLyogY29sdW1uIG5hbWVzICovCitzdHJ1Y3QgY29saW5mbyB7CisJY29uc3QgY2hhcgkqbmFtZTsJCS8qIGhlYWRlciAqLworCWRvdWJsZQkJd2hpbnQ7CQkvKiB3aWR0aCBoaW50IChOIDwgMSBpcyBpbiBwZXJjZW50IG9mIHRlcm13aWR0aCkgKi8KKwlpbnQJCWZsYWdzOwkJLyogbGlic21hcnRjb2xzIGZsYWdzICovCisJY29uc3QgY2hhciAgICAgICpoZWxwOwkJLyogY29sdW1uIGRlc2NyaXB0aW9uICovCisJY29uc3QgY2hhcgkqbWF0Y2g7CQkvKiBwYXR0ZXJuIGZvciBtYXRjaF9mdW5jKCkgKi8KKwl2b2lkCQkqbWF0Y2hfZGF0YTsJLyogbWF0Y2ggc3BlY2lmaWMgZGF0YSAqLworfTsKKworLyogY29sdW1ucyBkZXNjcmlwdGlvbnMgKGRvbid0IHVzZSBjb25zdCwgdGhpcyBpcyB3cml0YWJsZSkgKi8KK3N0YXRpYyBzdHJ1Y3QgY29saW5mbyBpbmZvc1tdID0geworCVtDT0xfU09VUkNFXSAgICAgICA9IHsgIlNPVVJDRSIsICAgICAgIDAuMjUsIFNDT0xTX0ZMX05PRVhUUkVNRVMsIE5fKCJzb3VyY2UgZGV2aWNlIikgfSwKKwlbQ09MX1RBUkdFVF0gICAgICAgPSB7ICJUQVJHRVQiLCAgICAgICAwLjMwLCBTQ09MU19GTF9UUkVFfCBTQ09MU19GTF9OT0VYVFJFTUVTLCBOXygibW91bnRwb2ludCIpIH0sCisJW0NPTF9GU1RZUEVdICAgICAgID0geyAiRlNUWVBFIiwgICAgICAgMC4xMCwgU0NPTFNfRkxfVFJVTkMsIE5fKCJmaWxlc3lzdGVtIHR5cGUiKSB9LAorCVtDT0xfT1BUSU9OU10gICAgICA9IHsgIk9QVElPTlMiLCAgICAgIDAuMTAsIFNDT0xTX0ZMX1RSVU5DLCBOXygiYWxsIG1vdW50IG9wdGlvbnMiKSB9LAorCVtDT0xfVkZTX09QVElPTlNdICA9IHsgIlZGUy1PUFRJT05TIiwgIDAuMjAsIFNDT0xTX0ZMX1RSVU5DLCBOXygiVkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiKSB9LAorCVtDT0xfRlNfT1BUSU9OU10gICA9IHsgIkZTLU9QVElPTlMiLCAgIDAuMTAsIFNDT0xTX0ZMX1RSVU5DLCBOXygiRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIpIH0sCisJW0NPTF9MQUJFTF0gICAgICAgID0geyAiTEFCRUwiLCAgICAgICAgMC4xMCwgMCwgTl8oImZpbGVzeXN0ZW0gbGFiZWwiKSB9LAorCVtDT0xfVVVJRF0gICAgICAgICA9IHsgIlVVSUQiLCAgICAgICAgICAgMzYsIDAsIE5fKCJmaWxlc3lzdGVtIFVVSUQiKSB9LAorCVtDT0xfUEFSVExBQkVMXSAgICA9IHsgIlBBUlRMQUJFTCIsICAgIDAuMTAsIDAsIE5fKCJwYXJ0aXRpb24gbGFiZWwiKSB9LAorCVtDT0xfUEFSVFVVSURdICAgICA9IHsgIlBBUlRVVUlEIiwgICAgICAgMzYsIDAsIE5fKCJwYXJ0aXRpb24gVVVJRCIpIH0sCisJW0NPTF9NQUpNSU5dICAgICAgID0geyAiTUFKOk1JTiIsICAgICAgICAgNiwgMCwgTl8oIm1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiKSB9LAorCVtDT0xfQUNUSU9OXSAgICAgICA9IHsgIkFDVElPTiIsICAgICAgICAgMTAsIFNDT0xTX0ZMX1NUUklDVFdJRFRILCBOXygiYWN0aW9uIGRldGVjdGVkIGJ5IC0tcG9sbCIpIH0sCisJW0NPTF9PTERfT1BUSU9OU10gID0geyAiT0xELU9QVElPTlMiLCAgMC4xMCwgU0NPTFNfRkxfVFJVTkMsIE5fKCJvbGQgbW91bnQgb3B0aW9ucyBzYXZlZCBieSAtLXBvbGwiKSB9LAorCVtDT0xfT0xEX1RBUkdFVF0gICA9IHsgIk9MRC1UQVJHRVQiLCAgIDAuMzAsIDAsIE5fKCJvbGQgbW91bnRwb2ludCBzYXZlZCBieSAtLXBvbGwiKSB9LAorCVtDT0xfU0laRV0gICAgICAgICA9IHsgIlNJWkUiLCAgICAgICAgICAgIDUsIFNDT0xTX0ZMX1JJR0hULCBOXygiZmlsZXN5c3RlbSBzaXplIikgfSwKKwlbQ09MX0FWQUlMXSAgICAgICAgPSB7ICJBVkFJTCIsICAgICAgICAgICA1LCBTQ09MU19GTF9SSUdIVCwgTl8oImZpbGVzeXN0ZW0gc2l6ZSBhdmFpbGFibGUiKSB9LAorCVtDT0xfVVNFRF0gICAgICAgICA9IHsgIlVTRUQiLCAgICAgICAgICAgIDUsIFNDT0xTX0ZMX1JJR0hULCBOXygiZmlsZXN5c3RlbSBzaXplIHVzZWQiKSB9LAorCVtDT0xfVVNFUEVSQ10gICAgICA9IHsgIlVTRSUiLCAgICAgICAgICAgIDMsIFNDT0xTX0ZMX1JJR0hULCBOXygiZmlsZXN5c3RlbSB1c2UgcGVyY2VudGFnZSIpIH0sCisJW0NPTF9GU1JPT1RdICAgICAgID0geyAiRlNST09UIiwgICAgICAgMC4yNSwgU0NPTFNfRkxfTk9FWFRSRU1FUywgTl8oImZpbGVzeXN0ZW0gcm9vdCIpIH0sCisJW0NPTF9USURdICAgICAgICAgID0geyAiVElEIiwgICAgICAgICAgICAgNCwgU0NPTFNfRkxfUklHSFQsIE5fKCJ0YXNrIElEIikgfSwKKwlbQ09MX0lEXSAgICAgICAgICAgPSB7ICJJRCIsICAgICAgICAgICAgICAyLCBTQ09MU19GTF9SSUdIVCwgTl8oIm1vdW50IElEIikgfSwKKwlbQ09MX09QVF9GSUVMRFNdICAgPSB7ICJPUFQtRklFTERTIiwgICAwLjEwLCBTQ09MU19GTF9UUlVOQywgTl8oIm9wdGlvbmFsIG1vdW50IGZpZWxkcyIpIH0sCisJW0NPTF9QUk9QQUdBVElPTl0gID0geyAiUFJPUEFHQVRJT04iLCAgMC4xMCwgMCwgTl8oIlZGUyBwcm9wYWdhdGlvbiBmbGFncyIpIH0sCisJW0NPTF9GUkVRXSAgICAgICAgID0geyAiRlJFUSIsICAgICAgICAgICAgMSwgU0NPTFNfRkxfUklHSFQsIE5fKCJkdW1wKDgpIHBlcmlvZCBpbiBkYXlzIFtmc3RhYiBvbmx5XSIpIH0sCisJW0NPTF9QQVNTTk9dICAgICAgID0geyAiUEFTU05PIiwgICAgICAgICAgMSwgU0NPTFNfRkxfUklHSFQsIE5fKCJwYXNzIG51bWJlciBvbiBwYXJhbGxlbCBmc2NrKDgpIFtmc3RhYiBvbmx5XSIpIH0KK307CisKKy8qIGNvbHVtbnNbXSBhcnJheSBzcGVjaWZpZXMgYWxsIGN1cnJlbnRseSB3YW50ZWQgb3V0cHV0IGNvbHVtbi4gVGhlIGNvbHVtbnMKKyAqIGFyZSBkZWZpbmVkIGJ5IGluZm9zW10gYXJyYXkgYW5kIHlvdSBjYW4gc3BlY2lmeSAob24gY29tbWFuZCBsaW5lKSBlYWNoCisgKiBjb2x1bW4gdHdpY2UuIFRoYXQncyBlbm91Z2gsIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBhcnJheSBvZiB0aGUgY29sdW1ucyBpcworICogdW5uZWNlc3Nhcnkgb3ZlcmtpbGwgYW5kIG92ZXItZW5naW5lZXJpbmcgaW4gdGhpcyBjYXNlICovCitzdGF0aWMgaW50IGNvbHVtbnNbQVJSQVlfU0laRShpbmZvcykgKiAyXTsKK3N0YXRpYyBzaXplX3QgbmNvbHVtbnM7CisKK3N0YXRpYyBpbmxpbmUgc2l6ZV90IGVycl9jb2x1bW5zX2luZGV4KHNpemVfdCBhcnlzeiwgc2l6ZV90IGlkeCkKK3sKKwlpZiAoaWR4ID49IGFyeXN6KQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidG9vIG1hbnkgY29sdW1ucyBzcGVjaWZpZWQsICIKKwkJCQkgICAgICJ0aGUgbGltaXQgaXMgJXp1IGNvbHVtbnMiKSwKKwkJCQlhcnlzeiAtIDEpOworCXJldHVybiBpZHg7Cit9CisKKyNkZWZpbmUgYWRkX2NvbHVtbihhcnksIG4sIGlkKQlcCisJCSgoYXJ5KVsgZXJyX2NvbHVtbnNfaW5kZXgoQVJSQVlfU0laRShhcnkpLCAobikpIF0gPSAoaWQpKQorCisvKiBwb2xsIGFjdGlvbnMgKHBhcnNlZCAtLXBvbGw9PGxpc3Q+ICovCisjZGVmaW5lIEZJTkRNTlRfTkFDVElPTlMJNAkJLyogbW91bnQsIHVtb3VudCwgbW92ZSwgcmVtb3VudCAqLworc3RhdGljIGludCBhY3Rpb25zW0ZJTkRNTlRfTkFDVElPTlNdOworc3RhdGljIGludCBuYWN0aW9uczsKKworLyogZ2xvYmFsIChhY2Nlc3NlZCBmcm9tIGZpbmRtbnQtdmVyaWZ5LmMgdG9vKSAqLworaW50IGZsYWdzOworaW50IHBhcnNlX25lcnJvcnM7CitzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZTsKKworCisjaWZkZWYgSEFWRV9MSUJVREVWCitzdHJ1Y3QgdWRldiAqdWRldjsKKyNlbmRpZgorCitzdGF0aWMgaW50IG1hdGNoX2Z1bmMoc3RydWN0IGxpYm1udF9mcyAqZnMsIHZvaWQgKmRhdGEgX19hdHRyaWJ1dGVfXyAoKF9fdW51c2VkX18pKSk7CisKKworc3RhdGljIGludCBnZXRfY29sdW1uX2lkKGludCBudW0pCit7CisJYXNzZXJ0KG51bSA+PSAwKTsKKwlhc3NlcnQoKHNpemVfdCkgbnVtIDwgbmNvbHVtbnMpOworCWFzc2VydCgoc2l6ZV90KSBjb2x1bW5zW251bV0gPCBBUlJBWV9TSVpFKGluZm9zKSk7CisJcmV0dXJuIGNvbHVtbnNbbnVtXTsKK30KKworc3RhdGljIHN0cnVjdCBjb2xpbmZvICpnZXRfY29sdW1uX2luZm8oaW50IG51bSkKK3sKKwlyZXR1cm4gJmluZm9zWyBnZXRfY29sdW1uX2lkKG51bSkgXTsKK30KKworc3RhdGljIGNvbnN0IGNoYXIgKmNvbHVtbl9pZF90b19uYW1lKGludCBpZCkKK3sKKwlhc3NlcnQoKHNpemVfdCkgaWQgPCBBUlJBWV9TSVpFKGluZm9zKSk7CisJcmV0dXJuIGluZm9zW2lkXS5uYW1lOworfQorCitzdGF0aWMgY29uc3QgY2hhciAqZ2V0X2NvbHVtbl9uYW1lKGludCBudW0pCit7CisJcmV0dXJuIGdldF9jb2x1bW5faW5mbyhudW0pLT5uYW1lOworfQorCitzdGF0aWMgZmxvYXQgZ2V0X2NvbHVtbl93aGludChpbnQgbnVtKQoreworCXJldHVybiBnZXRfY29sdW1uX2luZm8obnVtKS0+d2hpbnQ7Cit9CisKK3N0YXRpYyBpbnQgZ2V0X2NvbHVtbl9mbGFncyhpbnQgbnVtKQoreworCXJldHVybiBnZXRfY29sdW1uX2luZm8obnVtKS0+ZmxhZ3M7Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyICpnZXRfbWF0Y2goaW50IGlkKQoreworCWFzc2VydCgoc2l6ZV90KSBpZCA8IEFSUkFZX1NJWkUoaW5mb3MpKTsKKwlyZXR1cm4gaW5mb3NbaWRdLm1hdGNoOworfQorCitzdGF0aWMgdm9pZCAqZ2V0X21hdGNoX2RhdGEoaW50IGlkKQoreworCWFzc2VydCgoc2l6ZV90KSBpZCA8IEFSUkFZX1NJWkUoaW5mb3MpKTsKKwlyZXR1cm4gaW5mb3NbaWRdLm1hdGNoX2RhdGE7Cit9CisKK3N0YXRpYyB2b2lkIHNldF9tYXRjaChpbnQgaWQsIGNvbnN0IGNoYXIgKm1hdGNoKQoreworCWFzc2VydCgoc2l6ZV90KSBpZCA8IEFSUkFZX1NJWkUoaW5mb3MpKTsKKwlpbmZvc1tpZF0ubWF0Y2ggPSBtYXRjaDsKK30KKworc3RhdGljIHZvaWQgc2V0X21hdGNoX2RhdGEoaW50IGlkLCB2b2lkICpkYXRhKQoreworCWFzc2VydCgoc2l6ZV90KSBpZCA8IEFSUkFZX1NJWkUoaW5mb3MpKTsKKwlpbmZvc1tpZF0ubWF0Y2hfZGF0YSA9IGRhdGE7Cit9CisKKy8qCisgKiBzb3VyY2UgbWF0Y2ggbWVhbnMgQ09MX1NPVVJDRSAqb3IqIENPTF9NQUpNSU4sIGRlcGVuZHMgb24KKyAqIGRhdGEgZm9ybWF0LgorICovCitzdGF0aWMgdm9pZCBzZXRfc291cmNlX21hdGNoKGNvbnN0IGNoYXIgKmRhdGEpCit7CisJaW50IG1haiwgbWluOworCisJaWYgKHNzY2FuZihkYXRhLCAiJWQ6JWQiLCAmbWFqLCAmbWluKSA9PSAyKSB7CisJCWRldl90ICpkZXZubyA9IHhtYWxsb2Moc2l6ZW9mKGRldl90KSk7CisKKwkJKmRldm5vID0gbWFrZWRldihtYWosIG1pbik7CisJCXNldF9tYXRjaChDT0xfTUFKTUlOLCBkYXRhKTsKKwkJc2V0X21hdGNoX2RhdGEoQ09MX01BSk1JTiwgKHZvaWQgKikgZGV2bm8pOworCQlmbGFncyB8PSBGTF9OT1NXQVBNQVRDSDsKKwl9IGVsc2UKKwkJc2V0X21hdGNoKENPTF9TT1VSQ0UsIGRhdGEpOworfQorCisvKgorICogRXh0cmEgZnVuY3Rpb25hbGl0eSBmb3IgLS10YXJnZXQgPHBhdGg+LiBUaGUgZnVuY3Rpb24gbW50X3RhYmxlX2ZpbmRfbW91bnRwb2ludCgpCisgKiBhbHNvIGNoZWNrcyBwYXJlbnRzIChwYXRoIGVsZW1lbnRzIGluIHJldmVyc2Ugb3JkZXIpIHRvIGdldCBtb3VudHBvaW50LgorICoKKyAqIEB0YiBoYXMgdG8gYmUgZnJvbSBrZXJuZWwgKHNvIG5vIGZzdGFiIG9yIHNvKSEKKyAqLworc3RhdGljIHZvaWQgZW5hYmxlX2V4dHJhX3RhcmdldF9tYXRjaChzdHJ1Y3QgbGlibW50X3RhYmxlICp0YikKK3sKKwljaGFyICpjbiA9IE5VTEw7CisJY29uc3QgY2hhciAqdGd0ID0gTlVMTCwgKm1udCA9IE5VTEw7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisKKwkvKgorCSAqIENoZWNrIGlmIG1hdGNoIHBhdHRlcm4gaXMgbW91bnRwb2ludCwgaWYgbm90IHVzZSB0aGUKKwkgKiByZWFsIG1vdW50cG9pbnQuCisJICovCisJaWYgKGZsYWdzICYgRkxfTk9DQUNIRSkKKwkJdGd0ID0gZ2V0X21hdGNoKENPTF9UQVJHRVQpOworCWVsc2UgeworCQl0Z3QgPSBjbiA9IG1udF9yZXNvbHZlX3BhdGgoZ2V0X21hdGNoKENPTF9UQVJHRVQpLCBjYWNoZSk7CisJCWlmICghY24pCisJCQlyZXR1cm47CisJfQorCisJZnMgPSBtbnRfdGFibGVfZmluZF9tb3VudHBvaW50KHRiLCB0Z3QsIE1OVF9JVEVSX0JBQ0tXQVJEKTsKKwlpZiAoZnMpCisJCW1udCA9IG1udF9mc19nZXRfdGFyZ2V0KGZzKTsKKwlpZiAobW50ICYmIHN0cmNtcChtbnQsIHRndCkgIT0gMCkKKwkJc2V0X21hdGNoKENPTF9UQVJHRVQsIHhzdHJkdXAobW50KSk7CS8qIHJlcGxhY2UgdGhlIGN1cnJlbnQgc2V0dGluZyAqLworCisJaWYgKCFjYWNoZSkKKwkJZnJlZShjbik7Cit9CisKKworc3RhdGljIGludCBpc190YWJkaWZmX2NvbHVtbihpbnQgaWQpCit7CisJYXNzZXJ0KChzaXplX3QpIGlkIDwgQVJSQVlfU0laRShpbmZvcykpOworCisJc3dpdGNoKGlkKSB7CisJY2FzZSBDT0xfQUNUSU9OOgorCWNhc2UgQ09MX09MRF9UQVJHRVQ6CisJY2FzZSBDT0xfT0xEX09QVElPTlM6CisJCXJldHVybiAxOworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KKwlyZXR1cm4gMDsKK30KKworLyoKKyAqICJmaW5kbW50IiB3aXRob3V0IGFueSBmaWx0ZXIKKyAqLworaW50IGlzX2xpc3RhbGxfbW9kZSh2b2lkKQoreworCWlmICgoZmxhZ3MgJiBGTF9ERikgJiYgIShmbGFncyAmIEZMX0FMTCkpCisJCXJldHVybiAwOworCisJcmV0dXJuICghZ2V0X21hdGNoKENPTF9TT1VSQ0UpICYmCisJCSFnZXRfbWF0Y2goQ09MX1RBUkdFVCkgJiYKKwkJIWdldF9tYXRjaChDT0xfRlNUWVBFKSAmJgorCQkhZ2V0X21hdGNoKENPTF9PUFRJT05TKSAmJgorCQkhZ2V0X21hdGNoKENPTF9NQUpNSU4pKTsKK30KKworLyoKKyAqIFJldHVybnMgMSBpZiB0aGUgQGFjdCBpcyBpbiB0aGUgLS1wb2xsPTxsaXN0PgorICovCitzdGF0aWMgaW50IGhhc19wb2xsX2FjdGlvbihpbnQgYWN0KQoreworCWludCBpOworCisJaWYgKCFuYWN0aW9ucykKKwkJcmV0dXJuIDE7CS8qIGFsbCBhY3Rpb25zIGVuYWJsZWQgKi8KKwlmb3IgKGkgPSAwOyBpIDwgbmFjdGlvbnM7IGkrKykKKwkJaWYgKGFjdGlvbnNbaV0gPT0gYWN0KQorCQkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcG9sbF9hY3Rpb25fbmFtZV90b19pZChjb25zdCBjaGFyICpuYW1lLCBzaXplX3QgbmFtZXN6KQoreworCWludCBpZCA9IC0xOworCisJaWYgKHN0cm5jYXNlY21wKG5hbWUsICJtb3ZlIiwgbmFtZXN6KSA9PSAwICYmIG5hbWVzeiA9PSA0KQorCQlpZCA9IE1OVF9UQUJESUZGX01PVkU7CisJZWxzZSBpZiAoc3RybmNhc2VjbXAobmFtZSwgIm1vdW50IiwgbmFtZXN6KSA9PSAwICYmIG5hbWVzeiA9PSA1KQorCQlpZCA9IE1OVF9UQUJESUZGX01PVU5UOworCWVsc2UgaWYgKHN0cm5jYXNlY21wKG5hbWUsICJ1bW91bnQiLCBuYW1lc3opID09IDAgJiYgbmFtZXN6ID09IDYpCisJCWlkID0gTU5UX1RBQkRJRkZfVU1PVU5UOworCWVsc2UgaWYgKHN0cm5jYXNlY21wKG5hbWUsICJyZW1vdW50IiwgbmFtZXN6KSA9PSAwICYmIG5hbWVzeiA9PSA3KQorCQlpZCA9IE1OVF9UQUJESUZGX1JFTU9VTlQ7CisJZWxzZQorCQl3YXJueChfKCJ1bmtub3duIGFjdGlvbjogJXMiKSwgbmFtZSk7CisKKwlyZXR1cm4gaWQ7Cit9CisKKy8qCisgKiBmaW5kbW50IC0tZmlyc3Qtb25seSA8ZGV2bmFtZXxUQUc9fG1vdW50cG9pbnQ+CisgKgorICogLi4uIGl0IHdvcmtzIGxpa2UgIm1vdW50IDxkZXZuYW1lfFRBRz18bW91bnRwb2ludD4iCisgKi8KK3N0YXRpYyBpbnQgaXNfbW91bnRfY29tcGF0aWJsZV9tb2RlKHZvaWQpCit7CisJaWYgKCFnZXRfbWF0Y2goQ09MX1NPVVJDRSkpCisJICAgICAgIHJldHVybiAwOwkJLyogPGRldm5hbWV8VEFHPXxtb3VudHBvaW50PiBpcyByZXF1aXJlZCAqLworCWlmIChnZXRfbWF0Y2goQ09MX0ZTVFlQRSkgfHwgZ2V0X21hdGNoKENPTF9PUFRJT05TKSkKKwkJcmV0dXJuIDA7CQkvKiBjYW5ub3QgYmUgcmVzdHJpY3RlZCBieSAtdCBvciAtTyAqLworCWlmICghKGZsYWdzICYgRkxfRklSU1RPTkxZKSkKKwkJcmV0dXJuIDA7CQkvKiB3ZSBoYXZlIHRvIHJldHVybiB0aGUgZmlyc3QgZW50cnkgb25seSAqLworCisJcmV0dXJuIDE7CQkJLyogb2sgKi8KK30KKworc3RhdGljIHZvaWQgZGlzYWJsZV9jb2x1bW5zX3RydW5jYXRlKHZvaWQpCit7CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShpbmZvcyk7IGkrKykKKwkJaW5mb3NbaV0uZmxhZ3MgJj0gflNDT0xTX0ZMX1RSVU5DOworfQorCisvKgorICogY29udmVydHMgQG5hbWUgdG8gY29sdW1uIElECisgKi8KK3N0YXRpYyBpbnQgY29sdW1uX25hbWVfdG9faWQoY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90IG5hbWVzeikKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGluZm9zKTsgaSsrKSB7CisJCWNvbnN0IGNoYXIgKmNuID0gY29sdW1uX2lkX3RvX25hbWUoaSk7CisKKwkJaWYgKCFzdHJuY2FzZWNtcChuYW1lLCBjbiwgbmFtZXN6KSAmJiAhKihjbiArIG5hbWVzeikpCisJCQlyZXR1cm4gaTsKKwl9CisJd2FybngoXygidW5rbm93biBjb2x1bW46ICVzIiksIG5hbWUpOworCXJldHVybiAtMTsKK30KKworCisjaWZkZWYgSEFWRV9MSUJVREVWCitzdGF0aWMgY2hhciAqZ2V0X3RhZ19mcm9tX3VkZXYoY29uc3QgY2hhciAqZGV2bmFtZSwgaW50IGNvbCkKK3sKKwlzdHJ1Y3QgdWRldl9kZXZpY2UgKmRldjsKKwljb25zdCBjaGFyICpkYXRhID0gTlVMTDsKKwljaGFyICpyZXMgPSBOVUxMLCAqcGF0aDsKKworCWlmICghdWRldikKKwkJdWRldiA9IHVkZXZfbmV3KCk7CisJaWYgKCF1ZGV2KQorCQlyZXR1cm4gTlVMTDsKKworCS8qIGxpYnVkZXYgZG9uJ3QgbGlrZSAvZGV2L21hcHBlci8gc3ltbGlua3MgKi8KKwlwYXRoID0gcmVhbHBhdGgoZGV2bmFtZSwgTlVMTCk7CisJaWYgKHBhdGgpCisJCWRldm5hbWUgPSBwYXRoOworCisJaWYgKHN0cm5jbXAoZGV2bmFtZSwgIi9kZXYvIiwgNSkgPT0gMCkKKwkJZGV2bmFtZSArPSA1OworCisJZGV2ID0gdWRldl9kZXZpY2VfbmV3X2Zyb21fc3Vic3lzdGVtX3N5c25hbWUodWRldiwgImJsb2NrIiwgZGV2bmFtZSk7CisJZnJlZShwYXRoKTsKKworCWlmICghZGV2KQorCQlyZXR1cm4gTlVMTDsKKworCXN3aXRjaChjb2wpIHsKKwljYXNlIENPTF9MQUJFTDoKKwkJZGF0YSA9IHVkZXZfZGV2aWNlX2dldF9wcm9wZXJ0eV92YWx1ZShkZXYsICJJRF9GU19MQUJFTF9FTkMiKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfVVVJRDoKKwkJZGF0YSA9IHVkZXZfZGV2aWNlX2dldF9wcm9wZXJ0eV92YWx1ZShkZXYsICJJRF9GU19VVUlEX0VOQyIpOworCQlicmVhazsKKwljYXNlIENPTF9QQVJUVVVJRDoKKwkJZGF0YSA9IHVkZXZfZGV2aWNlX2dldF9wcm9wZXJ0eV92YWx1ZShkZXYsICJJRF9QQVJUX0VOVFJZX1VVSUQiKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfUEFSVExBQkVMOgorCQlkYXRhID0gdWRldl9kZXZpY2VfZ2V0X3Byb3BlcnR5X3ZhbHVlKGRldiwgIklEX1BBUlRfRU5UUllfTkFNRSIpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlicmVhazsKKwl9CisKKwlpZiAoZGF0YSkgeworCQlyZXMgPSB4c3RyZHVwKGRhdGEpOworCQl1bmhleG1hbmdsZV9zdHJpbmcocmVzKTsKKwl9CisKKwl1ZGV2X2RldmljZV91bnJlZihkZXYpOworCXJldHVybiByZXM7Cit9CisjZW5kaWYgLyogSEFWRV9MSUJVREVWICovCisKKy8qIFJldHVybnMgTEFCRUwgb3IgVVVJRCAqLworc3RhdGljIGNoYXIgKmdldF90YWcoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKnRhZ25hbWUsIGludCBjb2wKKyNpZm5kZWYgSEFWRV9MSUJVREVWCisJCV9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKQorI2VuZGlmCisJCSkKK3sKKwljb25zdCBjaGFyICp0LCAqdjsKKwljaGFyICpyZXMgPSBOVUxMOworCisJaWYgKCFtbnRfZnNfZ2V0X3RhZyhmcywgJnQsICZ2KSAmJiAhc3RyY21wKHQsIHRhZ25hbWUpKQorCQlyZXMgPSB4c3RyZHVwKHYpOworCWVsc2UgeworCQljb25zdCBjaGFyICpkZXYgPSBtbnRfZnNfZ2V0X3NvdXJjZShmcyk7CisKKwkJaWYgKGRldiAmJiAhKGZsYWdzICYgRkxfTk9DQUNIRSkpCisJCQlkZXYgPSBtbnRfcmVzb2x2ZV9zcGVjKGRldiwgY2FjaGUpOworI2lmZGVmIEhBVkVfTElCVURFVgorCQlpZiAoZGV2KQorCQkJcmVzID0gZ2V0X3RhZ19mcm9tX3VkZXYoZGV2LCBjb2wpOworI2VuZGlmCisJCWlmICghcmVzKSB7CisJCQlyZXMgPSBtbnRfY2FjaGVfZmluZF90YWdfdmFsdWUoY2FjaGUsIGRldiwgdGFnbmFtZSk7CisJCQlpZiAocmVzICYmIGNhY2hlKQorCQkJCS8qIGRvbid0IHJldHVybiBwb2ludGVyIHRvIGNhY2hlICovCisJCQkJcmVzID0geHN0cmR1cChyZXMpOworCQl9CisJfQorCisJcmV0dXJuIHJlczsKK30KKworc3RhdGljIGNoYXIgKmdldF92ZnNfYXR0cihzdHJ1Y3QgbGlibW50X2ZzICpmcywgaW50IHNpemV0eXBlKQoreworCXN0cnVjdCBzdGF0dmZzIGJ1ZjsKKwl1aW50NjRfdCB2ZnNfYXR0ciA9IDA7CisJY2hhciAqc2l6ZXN0cjsKKworCWlmIChzdGF0dmZzKG1udF9mc19nZXRfdGFyZ2V0KGZzKSwgJmJ1ZikgIT0gMCkKKwkJcmV0dXJuIE5VTEw7CisKKwlzd2l0Y2goc2l6ZXR5cGUpIHsKKwljYXNlIENPTF9TSVpFOgorCQl2ZnNfYXR0ciA9IGJ1Zi5mX2Zyc2l6ZSAqIGJ1Zi5mX2Jsb2NrczsKKwkJYnJlYWs7CisJY2FzZSBDT0xfQVZBSUw6CisJCXZmc19hdHRyID0gYnVmLmZfZnJzaXplICogYnVmLmZfYmF2YWlsOworCQlicmVhazsKKwljYXNlIENPTF9VU0VEOgorCQl2ZnNfYXR0ciA9IGJ1Zi5mX2Zyc2l6ZSAqIChidWYuZl9ibG9ja3MgLSBidWYuZl9iZnJlZSk7CisJCWJyZWFrOworCWNhc2UgQ09MX1VTRVBFUkM6CisJCWlmIChidWYuZl9ibG9ja3MgPT0gMCkKKwkJCXJldHVybiB4c3RyZHVwKCItIik7CisKKwkJeGFzcHJpbnRmKCZzaXplc3RyLCAiJS4wZiUlIiwKKwkJCQkoZG91YmxlKShidWYuZl9ibG9ja3MgLSBidWYuZl9iZnJlZSkgLworCQkJCWJ1Zi5mX2Jsb2NrcyAqIDEwMCk7CisJCXJldHVybiBzaXplc3RyOworCX0KKworCWlmICghdmZzX2F0dHIpCisJCXNpemVzdHIgPSB4c3RyZHVwKCIwIik7CisJZWxzZSBpZiAoZmxhZ3MgJiBGTF9CWVRFUykKKwkJeGFzcHJpbnRmKCZzaXplc3RyLCAiJWp1IiwgdmZzX2F0dHIpOworCWVsc2UKKwkJc2l6ZXN0ciA9IHNpemVfdG9faHVtYW5fc3RyaW5nKFNJWkVfU1VGRklYXzFMRVRURVIsIHZmc19hdHRyKTsKKworCXJldHVybiBzaXplc3RyOworfQorCisvKiByZWFkcyBGUyBkYXRhIGZyb20gbGlibW91bnQKKyAqLworc3RhdGljIGNoYXIgKmdldF9kYXRhKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBpbnQgbnVtKQoreworCWNoYXIgKnN0ciA9IE5VTEw7CisJaW50IGNvbF9pZCA9IGdldF9jb2x1bW5faWQobnVtKTsKKworCXN3aXRjaCAoY29sX2lkKSB7CisJY2FzZSBDT0xfU09VUkNFOgorCXsKKwkJY29uc3QgY2hhciAqcm9vdCA9IG1udF9mc19nZXRfcm9vdChmcyk7CisJCWNvbnN0IGNoYXIgKnNwZWMgPSBtbnRfZnNfZ2V0X3NyY3BhdGgoZnMpOworCQljaGFyICpjbiA9IE5VTEw7CisKKwkJaWYgKHNwZWMgJiYgKGZsYWdzICYgRkxfQ0FOT05JQ0FMSVpFKSkKKwkJCXNwZWMgPSBjbiA9IG1udF9yZXNvbHZlX3BhdGgoc3BlYywgY2FjaGUpOworCQlpZiAoIXNwZWMpIHsKKwkJCXNwZWMgPSBtbnRfZnNfZ2V0X3NvdXJjZShmcyk7CisKKwkJCWlmIChzcGVjICYmIChmbGFncyAmIEZMX0VWQUxVQVRFKSkKKwkJCQlzcGVjID0gY24gPSBtbnRfcmVzb2x2ZV9zcGVjKHNwZWMsIGNhY2hlKTsKKwkJfQorCQlpZiAocm9vdCAmJiBzcGVjICYmICEoZmxhZ3MgJiBGTF9OT0ZTUk9PVCkgJiYgc3RyY21wKHJvb3QsICIvIikpCisJCQl4YXNwcmludGYoJnN0ciwgIiVzWyVzXSIsIHNwZWMsIHJvb3QpOworCQllbHNlIGlmIChzcGVjKQorCQkJc3RyID0geHN0cmR1cChzcGVjKTsKKwkJaWYgKCFjYWNoZSkKKwkJCWZyZWUoY24pOworCQlicmVhazsKKwl9CisJY2FzZSBDT0xfVEFSR0VUOgorCQlzdHIgPSB4c3RyZHVwKG1udF9mc19nZXRfdGFyZ2V0KGZzKSk7CisJCWJyZWFrOworCWNhc2UgQ09MX0ZTVFlQRToKKwkJc3RyID0geHN0cmR1cChtbnRfZnNfZ2V0X2ZzdHlwZShmcykpOworCQlicmVhazsKKwljYXNlIENPTF9PUFRJT05TOgorCQlzdHIgPSB4c3RyZHVwKG1udF9mc19nZXRfb3B0aW9ucyhmcykpOworCQlicmVhazsKKwljYXNlIENPTF9WRlNfT1BUSU9OUzoKKwkJc3RyID0geHN0cmR1cChtbnRfZnNfZ2V0X3Zmc19vcHRpb25zKGZzKSk7CisJCWJyZWFrOworCWNhc2UgQ09MX0ZTX09QVElPTlM6CisJCXN0ciA9IHhzdHJkdXAobW50X2ZzX2dldF9mc19vcHRpb25zKGZzKSk7CisJCWJyZWFrOworCWNhc2UgQ09MX09QVF9GSUVMRFM6CisJCXN0ciA9IHhzdHJkdXAobW50X2ZzX2dldF9vcHRpb25hbF9maWVsZHMoZnMpKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfVVVJRDoKKwkJc3RyID0gZ2V0X3RhZyhmcywgIlVVSUQiLCBjb2xfaWQpOworCQlicmVhazsKKwljYXNlIENPTF9QQVJUVVVJRDoKKwkJc3RyID0gZ2V0X3RhZyhmcywgIlBBUlRVVUlEIiwgY29sX2lkKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfTEFCRUw6CisJCXN0ciA9IGdldF90YWcoZnMsICJMQUJFTCIsIGNvbF9pZCk7CisJCWJyZWFrOworCWNhc2UgQ09MX1BBUlRMQUJFTDoKKwkJc3RyID0gZ2V0X3RhZyhmcywgIlBBUlRMQUJFTCIsIGNvbF9pZCk7CisJCWJyZWFrOworCisJY2FzZSBDT0xfTUFKTUlOOgorCXsKKwkJZGV2X3QgZGV2bm8gPSBtbnRfZnNfZ2V0X2Rldm5vKGZzKTsKKwkJaWYgKCFkZXZubykKKwkJCWJyZWFrOworCisJCWlmICgoZmxhZ3MgJiBGTF9SQVcpIHx8IChmbGFncyAmIEZMX0VYUE9SVCkgfHwgKGZsYWdzICYgRkxfSlNPTikpCisJCQl4YXNwcmludGYoJnN0ciwgIiV1OiV1IiwgbWFqb3IoZGV2bm8pLCBtaW5vcihkZXZubykpOworCQllbHNlCisJCQl4YXNwcmludGYoJnN0ciwgIiUzdTolLTN1IiwgbWFqb3IoZGV2bm8pLCBtaW5vcihkZXZubykpOworCQlicmVhazsKKwl9CisJY2FzZSBDT0xfU0laRToKKwljYXNlIENPTF9BVkFJTDoKKwljYXNlIENPTF9VU0VEOgorCWNhc2UgQ09MX1VTRVBFUkM6CisJCXN0ciA9IGdldF92ZnNfYXR0cihmcywgY29sX2lkKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfRlNST09UOgorCQlzdHIgPSB4c3RyZHVwKG1udF9mc19nZXRfcm9vdChmcykpOworCQlicmVhazsKKwljYXNlIENPTF9USUQ6CisJCWlmIChtbnRfZnNfZ2V0X3RpZChmcykpCisJCQl4YXNwcmludGYoJnN0ciwgIiVkIiwgbW50X2ZzX2dldF90aWQoZnMpKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfSUQ6CisJCWlmIChtbnRfZnNfZ2V0X2lkKGZzKSkKKwkJCXhhc3ByaW50Zigmc3RyLCAiJWQiLCBtbnRfZnNfZ2V0X2lkKGZzKSk7CisJCWJyZWFrOworCWNhc2UgQ09MX1BST1BBR0FUSU9OOgorCQlpZiAobW50X2ZzX2lzX2tlcm5lbChmcykpIHsKKwkJCXVuc2lnbmVkIGxvbmcgZmwgPSAwOworCQkJY2hhciAqbiA9IE5VTEw7CisKKwkJCWlmIChtbnRfZnNfZ2V0X3Byb3BhZ2F0aW9uKGZzLCAmZmwpICE9IDApCisJCQkJYnJlYWs7CisKKwkJCW4gPSB4c3RyZHVwKChmbCAmIE1TX1NIQVJFRCkgPyAic2hhcmVkIiA6ICJwcml2YXRlIik7CisKKwkJCWlmIChmbCAmIE1TX1NMQVZFKSB7CisJCQkJeGFzcHJpbnRmKCZzdHIsICIlcyxzbGF2ZSIsIG4pOworCQkJCWZyZWUobik7CisJCQkJbiA9IHN0cjsKKwkJCX0KKwkJCWlmIChmbCAmIE1TX1VOQklOREFCTEUpIHsKKwkJCQl4YXNwcmludGYoJnN0ciwgIiVzLHVuYmluZGFibGUiLCBuKTsKKwkJCQlmcmVlKG4pOworCQkJCW4gPSBzdHI7CisJCQl9CisJCQlzdHIgPSBuOworCQl9CisJCWJyZWFrOworCWNhc2UgQ09MX0ZSRVE6CisJCWlmICghbW50X2ZzX2lzX2tlcm5lbChmcykpCisJCQl4YXNwcmludGYoJnN0ciwgIiVkIiwgbW50X2ZzX2dldF9mcmVxKGZzKSk7CisJCWJyZWFrOworCWNhc2UgQ09MX1BBU1NOTzoKKwkJaWYgKCFtbnRfZnNfaXNfa2VybmVsKGZzKSkKKwkJCXhhc3ByaW50Zigmc3RyLCAiJWQiLCBtbnRfZnNfZ2V0X3Bhc3NubyhmcykpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlicmVhazsKKwl9CisJcmV0dXJuIHN0cjsKK30KKworc3RhdGljIGNoYXIgKmdldF90YWJkaWZmX2RhdGEoc3RydWN0IGxpYm1udF9mcyAqb2xkX2ZzLAorCQkJCSAgICBzdHJ1Y3QgbGlibW50X2ZzICpuZXdfZnMsCisJCQkJICAgIGludCBjaGFuZ2UsCisJCQkJICAgIGludCBudW0pCit7CisJY2hhciAqc3RyID0gTlVMTDsKKworCXN3aXRjaCAoZ2V0X2NvbHVtbl9pZChudW0pKSB7CisJY2FzZSBDT0xfQUNUSU9OOgorCQlzd2l0Y2ggKGNoYW5nZSkgeworCQljYXNlIE1OVF9UQUJESUZGX01PVU5UOgorCQkJc3RyID0gXygibW91bnQiKTsKKwkJCWJyZWFrOworCQljYXNlIE1OVF9UQUJESUZGX1VNT1VOVDoKKwkJCXN0ciA9IF8oInVtb3VudCIpOworCQkJYnJlYWs7CisJCWNhc2UgTU5UX1RBQkRJRkZfUkVNT1VOVDoKKwkJCXN0ciA9IF8oInJlbW91bnQiKTsKKwkJCWJyZWFrOworCQljYXNlIE1OVF9UQUJESUZGX01PVkU6CisJCQlzdHIgPSBfKCJtb3ZlIik7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXN0ciA9IF8oInVua25vd24iKTsKKwkJCWJyZWFrOworCQl9CisJCXN0ciA9IHhzdHJkdXAoc3RyKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfT0xEX09QVElPTlM6CisJCWlmIChvbGRfZnMgJiYgKGNoYW5nZSA9PSBNTlRfVEFCRElGRl9SRU1PVU5UIHx8CisJCQkgICAgICAgY2hhbmdlID09IE1OVF9UQUJESUZGX1VNT1VOVCkpCisJCQlzdHIgPSB4c3RyZHVwKG1udF9mc19nZXRfb3B0aW9ucyhvbGRfZnMpKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfT0xEX1RBUkdFVDoKKwkJaWYgKG9sZF9mcyAmJiAoY2hhbmdlID09IE1OVF9UQUJESUZGX01PVkUgfHwKKwkJCSAgICAgICBjaGFuZ2UgPT0gTU5UX1RBQkRJRkZfVU1PVU5UKSkKKwkJCXN0ciA9IHhzdHJkdXAobW50X2ZzX2dldF90YXJnZXQob2xkX2ZzKSk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWlmIChuZXdfZnMpCisJCQlzdHIgPSBnZXRfZGF0YShuZXdfZnMsIG51bSk7CisJCWVsc2UKKwkJCXN0ciA9IGdldF9kYXRhKG9sZF9mcywgbnVtKTsKKwkJYnJlYWs7CisJfQorCXJldHVybiBzdHI7Cit9CisKKy8qIGFkZHMgb25lIGxpbmUgdG8gdGhlIG91dHB1dCBAdGFiICovCitzdGF0aWMgc3RydWN0IGxpYnNjb2xzX2xpbmUgKmFkZF9saW5lKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGFibGUsIHN0cnVjdCBsaWJtbnRfZnMgKmZzLAorCQkJCQlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqcGFyZW50KQoreworCXNpemVfdCBpOworCXN0cnVjdCBsaWJzY29sc19saW5lICpsaW5lID0gc2NvbHNfdGFibGVfbmV3X2xpbmUodGFibGUsIHBhcmVudCk7CisKKwlpZiAoIWxpbmUpIHsKKwkJd2FybihfKCJmYWlsZWQgdG8gYWRkIGxpbmUgdG8gb3V0cHV0IikpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJZm9yIChpID0gMDsgaSA8IG5jb2x1bW5zOyBpKyspCisJCXNjb2xzX2xpbmVfcmVmZXJfZGF0YShsaW5lLCBpLCBnZXRfZGF0YShmcywgaSkpOworCisJc2NvbHNfbGluZV9zZXRfdXNlcmRhdGEobGluZSwgZnMpOworCXJldHVybiBsaW5lOworfQorCitzdGF0aWMgc3RydWN0IGxpYnNjb2xzX2xpbmUgKmFkZF90YWJkaWZmX2xpbmUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YWJsZSwgc3RydWN0IGxpYm1udF9mcyAqbmV3X2ZzLAorCQkJc3RydWN0IGxpYm1udF9mcyAqb2xkX2ZzLCBpbnQgY2hhbmdlKQoreworCXNpemVfdCBpOworCXN0cnVjdCBsaWJzY29sc19saW5lICpsaW5lID0gc2NvbHNfdGFibGVfbmV3X2xpbmUodGFibGUsIE5VTEwpOworCisJaWYgKCFsaW5lKSB7CisJCXdhcm4oXygiZmFpbGVkIHRvIGFkZCBsaW5lIHRvIG91dHB1dCIpKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCWZvciAoaSA9IDA7IGkgPCBuY29sdW1uczsgaSsrKQorCQlzY29sc19saW5lX3JlZmVyX2RhdGEobGluZSwgaSwKKwkJCQlnZXRfdGFiZGlmZl9kYXRhKG9sZF9mcywgbmV3X2ZzLCBjaGFuZ2UsIGkpKTsKKworCXJldHVybiBsaW5lOworfQorCitzdGF0aWMgaW50IGhhc19saW5lKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGFibGUsIHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXN0cnVjdCBsaWJzY29sc19saW5lICpsbjsKKwlzdHJ1Y3QgbGlic2NvbHNfaXRlciAqaXRyOworCWludCByYyA9IDA7CisKKwlpdHIgPSBzY29sc19uZXdfaXRlcihTQ09MU19JVEVSX0ZPUldBUkQpOworCWlmICghaXRyKQorCQlyZXR1cm4gMDsKKworCXdoaWxlIChzY29sc190YWJsZV9uZXh0X2xpbmUodGFibGUsIGl0ciwgJmxuKSA9PSAwKSB7CisJCWlmICgoc3RydWN0IGxpYm1udF9mcyAqKSBzY29sc19saW5lX2dldF91c2VyZGF0YShsbikgPT0gZnMpIHsKKwkJCXJjID0gMTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJc2NvbHNfZnJlZV9pdGVyKGl0cik7CisJcmV0dXJuIHJjOworfQorCisvKiByZWFkcyBmaWxlc3lzdGVtcyBmcm9tIEB0YiAobGlibW91bnQpIGFuZCBmaWxsaW4gQHRhYmxlIChvdXRwdXQgdGFibGUpICovCitzdGF0aWMgaW50IGNyZWF0ZV90cmVlbm9kZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRhYmxlLCBzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwKKwkJCSAgIHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqcGFyZW50X2xpbmUpCit7CisJc3RydWN0IGxpYm1udF9mcyAqY2hsZCA9IE5VTEw7CisJc3RydWN0IGxpYm1udF9pdGVyICppdHIgPSBOVUxMOworCXN0cnVjdCBsaWJzY29sc19saW5lICpsaW5lOworCWludCByYyA9IC0xOworCisJaWYgKCFmcykgeworCQkvKiBmaXJzdCBjYWxsLCBnZXQgcm9vdCBGUyAqLworCQlpZiAobW50X3RhYmxlX2dldF9yb290X2ZzKHRiLCAmZnMpKQorCQkJZ290byBsZWF2ZTsKKwkJcGFyZW50X2xpbmUgPSBOVUxMOworCisJfSBlbHNlIGlmICgoZmxhZ3MgJiBGTF9TVUJNT1VOVFMpICYmIGhhc19saW5lKHRhYmxlLCBmcykpCisJCXJldHVybiAwOworCisJaXRyID0gbW50X25ld19pdGVyKE1OVF9JVEVSX0ZPUldBUkQpOworCWlmICghaXRyKQorCQlnb3RvIGxlYXZlOworCisJaWYgKChmbGFncyAmIEZMX1NVQk1PVU5UUykgfHwgbWF0Y2hfZnVuYyhmcywgTlVMTCkpIHsKKwkJbGluZSA9IGFkZF9saW5lKHRhYmxlLCBmcywgcGFyZW50X2xpbmUpOworCQlpZiAoIWxpbmUpCisJCQlnb3RvIGxlYXZlOworCX0gZWxzZQorCQlsaW5lID0gcGFyZW50X2xpbmU7CisKKwkvKgorCSAqIGFkZCBhbGwgY2hpbGRyZW4gdG8gdGhlIG91dHB1dCB0YWJsZQorCSAqLworCXdoaWxlKG1udF90YWJsZV9uZXh0X2NoaWxkX2ZzKHRiLCBpdHIsIGZzLCAmY2hsZCkgPT0gMCkgeworCQlpZiAoY3JlYXRlX3RyZWVub2RlKHRhYmxlLCB0YiwgY2hsZCwgbGluZSkpCisJCQlnb3RvIGxlYXZlOworCX0KKwlyYyA9IDA7CitsZWF2ZToKKwltbnRfZnJlZV9pdGVyKGl0cik7CisJcmV0dXJuIHJjOworfQorCisvKiBlcnJvciBjYWxsYmFjayAqLworc3RhdGljIGludCBwYXJzZXJfZXJyY2Ioc3RydWN0IGxpYm1udF90YWJsZSAqdGIgX19hdHRyaWJ1dGVfXyAoKF9fdW51c2VkX18pKSwKKwkJCWNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgbGluZSkKK3sKKwl3YXJueChfKCIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCAtLSBpZ25vcmVkIiksIGZpbGVuYW1lLCBsaW5lKTsKKwkrK3BhcnNlX25lcnJvcnM7CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBjaGFyICoqYXBwZW5kX3RhYmZpbGUoY2hhciAqKmZpbGVzLCBpbnQgKm5maWxlcywgY2hhciAqZmlsZW5hbWUpCit7CisJZmlsZXMgPSB4cmVhbGxvYyhmaWxlcywgc2l6ZW9mKGNoYXIgKikgKiAoKm5maWxlcyArIDEpKTsKKwlmaWxlc1soKm5maWxlcykrK10gPSBmaWxlbmFtZTsKKwlyZXR1cm4gZmlsZXM7Cit9CisKK3N0YXRpYyBjaGFyICoqYXBwZW5kX3BpZF90YWJmaWxlKGNoYXIgKipmaWxlcywgaW50ICpuZmlsZXMsIHBpZF90IHBpZCkKK3sKKwljaGFyICpwYXRoID0gTlVMTDsKKworCXhhc3ByaW50ZigmcGF0aCwgIi9wcm9jLyVkL21vdW50aW5mbyIsIChpbnQpIHBpZCk7CisJcmV0dXJuIGFwcGVuZF90YWJmaWxlKGZpbGVzLCBuZmlsZXMsIHBhdGgpOworfQorCisvKiBjYWxscyBsaWJtb3VudCBmc3RhYi9tdGFiL21vdW50aW5mbyBwYXJzZXIgKi8KK3N0YXRpYyBzdHJ1Y3QgbGlibW50X3RhYmxlICpwYXJzZV90YWJmaWxlcyhjaGFyICoqZmlsZXMsCisJCQkJCSAgIGludCBuZmlsZXMsCisJCQkJCSAgIGludCB0YWJ0eXBlKQoreworCXN0cnVjdCBsaWJtbnRfdGFibGUgKnRiOworCWludCByYyA9IDA7CisKKwl0YiA9IG1udF9uZXdfdGFibGUoKTsKKwlpZiAoIXRiKSB7CisJCXdhcm4oXygiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFibGUiKSk7CisJCXJldHVybiBOVUxMOworCX0KKwltbnRfdGFibGVfc2V0X3BhcnNlcl9lcnJjYih0YiwgcGFyc2VyX2VycmNiKTsKKworCWRvIHsKKwkJLyogTlVMTCBtZWFucyB0aGF0IGxpYm1vdW50IHdpbGwgdXNlIGRlZmF1bHQgcGF0aHMgKi8KKwkJY29uc3QgY2hhciAqcGF0aCA9IG5maWxlcyA/ICpmaWxlcysrIDogTlVMTDsKKworCQlzd2l0Y2ggKHRhYnR5cGUpIHsKKwkJY2FzZSBUQUJUWVBFX0ZTVEFCOgorCQkJcmMgPSBtbnRfdGFibGVfcGFyc2VfZnN0YWIodGIsIHBhdGgpOworCQkJYnJlYWs7CisJCWNhc2UgVEFCVFlQRV9NVEFCOgorCQkJcmMgPSBtbnRfdGFibGVfcGFyc2VfbXRhYih0YiwgcGF0aCk7CisJCQlicmVhazsKKwkJY2FzZSBUQUJUWVBFX0tFUk5FTDoKKwkJCWlmICghcGF0aCkKKwkJCQlwYXRoID0gYWNjZXNzKF9QQVRIX1BST0NfTU9VTlRJTkZPLCBSX09LKSA9PSAwID8KKwkJCQkJICAgICAgX1BBVEhfUFJPQ19NT1VOVElORk8gOgorCQkJCQkgICAgICBfUEFUSF9QUk9DX01PVU5UUzsKKworCQkJcmMgPSBtbnRfdGFibGVfcGFyc2VfZmlsZSh0YiwgcGF0aCk7CisJCQlicmVhazsKKwkJfQorCQlpZiAocmMpIHsKKwkJCW1udF91bnJlZl90YWJsZSh0Yik7CisJCQl3YXJuKF8oImNhbid0IHJlYWQgJXMiKSwgcGF0aCk7CisJCQlyZXR1cm4gTlVMTDsKKwkJfQorCX0gd2hpbGUgKC0tbmZpbGVzID4gMCk7CisKKwlyZXR1cm4gdGI7Cit9CisKKy8qCisgKiBQYXJzZXMgbW91bnRpbmZvIGFuZCBjYWxscyBtbnRfY2FjaGVfc2V0X3RhcmdldHMoY2FjaGUsIG10YWIpLiBPbmx5CisgKiBuZWNlc3NhcnkgaWYgQHRiIGluIG1haW4oKSB3YXMgcmVhZCBmcm9tIGEgbm9uLWtlcm5lbCBzb3VyY2UuCisgKi8KK3N0YXRpYyB2b2lkIGNhY2hlX3NldF90YXJnZXRzKHN0cnVjdCBsaWJtbnRfY2FjaGUgKnRtcCkKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YjsKKwljb25zdCBjaGFyICpwYXRoOworCisJdGIgPSBtbnRfbmV3X3RhYmxlKCk7CisJaWYgKCF0YikKKwkJcmV0dXJuOworCisJcGF0aCA9IGFjY2VzcyhfUEFUSF9QUk9DX01PVU5USU5GTywgUl9PSykgPT0gMCA/CisJCV9QQVRIX1BST0NfTU9VTlRJTkZPIDoKKwkJX1BBVEhfUFJPQ19NT1VOVFM7CisKKwlpZiAobW50X3RhYmxlX3BhcnNlX2ZpbGUodGIsIHBhdGgpID09IDApCisJCW1udF9jYWNoZV9zZXRfdGFyZ2V0cyh0bXAsIHRiKTsKKworCW1udF91bnJlZl90YWJsZSh0Yik7Cit9CisKKy8qIGNoZWNrcyBpZiBAdGIgY29udGFpbnMgcGFyZW50LT5jaGlsZCByZWxhdGlvbnMgKi8KK3N0YXRpYyBpbnQgdGFiX2lzX3RyZWUoc3RydWN0IGxpYm1udF90YWJsZSAqdGIpCit7CisJc3RydWN0IGxpYm1udF9mcyAqZnMgPSBOVUxMOworCXN0cnVjdCBsaWJtbnRfaXRlciAqaXRyID0gTlVMTDsKKwlpbnQgcmMgPSAwOworCisJaXRyID0gbW50X25ld19pdGVyKE1OVF9JVEVSX0JBQ0tXQVJEKTsKKwlpZiAoIWl0cikKKwkJcmV0dXJuIDA7CisKKwlyYyA9IChtbnRfdGFibGVfbmV4dF9mcyh0YiwgaXRyLCAmZnMpID09IDAgJiYKKwkgICAgICBtbnRfZnNfaXNfa2VybmVsKGZzKSAmJgorCSAgICAgIG1udF9mc19nZXRfcm9vdChmcykpOworCisJbW50X2ZyZWVfaXRlcihpdHIpOworCXJldHVybiByYzsKK30KKworLyogY2hlY2tzIGlmIGFsbCBmcyBpbiBAdGIgYXJlIGZyb20ga2VybmVsICovCitzdGF0aWMgaW50IHRhYl9pc19rZXJuZWwoc3RydWN0IGxpYm1udF90YWJsZSAqdGIpCit7CisJc3RydWN0IGxpYm1udF9mcyAqZnMgPSBOVUxMOworCXN0cnVjdCBsaWJtbnRfaXRlciAqaXRyID0gTlVMTDsKKworCWl0ciA9IG1udF9uZXdfaXRlcihNTlRfSVRFUl9CQUNLV0FSRCk7CisJaWYgKCFpdHIpCisJCXJldHVybiAwOworCisJd2hpbGUgKG1udF90YWJsZV9uZXh0X2ZzKHRiLCBpdHIsICZmcykgPT0gMCkgeworCQlpZiAoIW1udF9mc19pc19rZXJuZWwoZnMpKSB7CisJCQltbnRfZnJlZV9pdGVyKGl0cik7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0KKworCW1udF9mcmVlX2l0ZXIoaXRyKTsKKwlyZXR1cm4gMTsKK30KKworLyogZmlsdGVyIGZ1bmN0aW9uIGZvciBsaWJtb3VudCAobW50X3RhYmxlX2ZpbmRfbmV4dF9mcygpKSAqLworc3RhdGljIGludCBtYXRjaF9mdW5jKHN0cnVjdCBsaWJtbnRfZnMgKmZzLAorCQkgICAgICB2b2lkICpkYXRhIF9fYXR0cmlidXRlX18gKChfX3VudXNlZF9fKSkpCit7CisJaW50IHJjID0gZmxhZ3MgJiBGTF9JTlZFUlQgPyAxIDogMDsKKwljb25zdCBjaGFyICptOworCXZvaWQgKm1kOworCisJbSA9IGdldF9tYXRjaChDT0xfRlNUWVBFKTsKKwlpZiAobSAmJiAhbW50X2ZzX21hdGNoX2ZzdHlwZShmcywgbSkpCisJCXJldHVybiByYzsKKworCW0gPSBnZXRfbWF0Y2goQ09MX09QVElPTlMpOworCWlmIChtICYmICFtbnRfZnNfbWF0Y2hfb3B0aW9ucyhmcywgbSkpCisJCXJldHVybiByYzsKKworCW1kID0gZ2V0X21hdGNoX2RhdGEoQ09MX01BSk1JTik7CisJaWYgKG1kICYmIG1udF9mc19nZXRfZGV2bm8oZnMpICE9ICooKGRldl90ICopIG1kKSkKKwkJcmV0dXJuIHJjOworCisJbSA9IGdldF9tYXRjaChDT0xfVEFSR0VUKTsKKwlpZiAobSAmJiAhbW50X2ZzX21hdGNoX3RhcmdldChmcywgbSwgY2FjaGUpKQorCQlyZXR1cm4gcmM7CisKKwltID0gZ2V0X21hdGNoKENPTF9TT1VSQ0UpOworCWlmIChtICYmICFtbnRfZnNfbWF0Y2hfc291cmNlKGZzLCBtLCBjYWNoZSkpCisJCXJldHVybiByYzsKKworCWlmICgoZmxhZ3MgJiBGTF9ERikgJiYgIShmbGFncyAmIEZMX0FMTCkpIHsKKwkJY29uc3QgY2hhciAqdHlwZSA9IG1udF9mc19nZXRfZnN0eXBlKGZzKTsKKworCQlpZiAodHlwZSAmJiBzdHJzdHIodHlwZSwgInRtcGZzIikpCS8qIHRtcGZzIGlzIHdhbnRlZCAqLworCQkJcmV0dXJuICFyYzsKKworCQlpZiAobW50X2ZzX2lzX3BzZXVkb2ZzKGZzKSkKKwkJCXJldHVybiByYzsKKwl9CisKKwlyZXR1cm4gIXJjOworfQorCisvKiBpdGVyYXRlIG92ZXIgZmlsZXN5c3RlbXMgaW4gQHRiICovCitzdHJ1Y3QgbGlibW50X2ZzICpnZXRfbmV4dF9mcyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwKKwkJCQkgICAgIHN0cnVjdCBsaWJtbnRfaXRlciAqaXRyKQoreworCXN0cnVjdCBsaWJtbnRfZnMgKmZzID0gTlVMTDsKKworCWlmIChpc19saXN0YWxsX21vZGUoKSkgeworCQkvKgorCQkgKiBQcmludCB3aG9sZSBmaWxlCisJCSAqLworCQlpZiAobW50X3RhYmxlX25leHRfZnModGIsIGl0ciwgJmZzKSAhPSAwKQorCQkJcmV0dXJuIE5VTEw7CisKKwl9IGVsc2UgaWYgKGlzX21vdW50X2NvbXBhdGlibGVfbW9kZSgpKSB7CisJCS8qCisJCSAqIExvb2sgdXAgZm9yIEZTIGluIHRoZSBzYW1lIHdheSBob3cgbW91bnQoOCkgc2VhcmNoZXMgaW4gZnN0YWIKKwkJICoKKwkJICogICBmaW5kbW50IC1mIDxzcGVjPgorCQkgKi8KKwkJZnMgPSBtbnRfdGFibGVfZmluZF9zb3VyY2UodGIsIGdldF9tYXRjaChDT0xfU09VUkNFKSwKKwkJCQkJbW50X2l0ZXJfZ2V0X2RpcmVjdGlvbihpdHIpKTsKKworCQlpZiAoIWZzICYmICEoZmxhZ3MgJiBGTF9OT1NXQVBNQVRDSCkpCisJCQlmcyA9IG1udF90YWJsZV9maW5kX3RhcmdldCh0YiwgZ2V0X21hdGNoKENPTF9TT1VSQ0UpLAorCQkJCQltbnRfaXRlcl9nZXRfZGlyZWN0aW9uKGl0cikpOworCX0gZWxzZSB7CisJCS8qCisJCSAqIExvb2sgdXAgZm9yIGFsbCBtYXRjaGluZyBlbnRyaWVzCisJCSAqCisJCSAqICAgIGZpbmRtbnQgWy1sXSA8c291cmNlPiA8dGFyZ2V0PiBbLU8gPG9wdGlvbnM+XSBbLXQgPHR5cGVzPl0KKwkJICogICAgZmluZG1udCBbLWxdIDxzcGVjPiBbLU8gPG9wdGlvbnM+XSBbLXQgPHR5cGVzPl0KKwkJICovCithZ2FpbjoKKwkJbW50X3RhYmxlX2ZpbmRfbmV4dF9mcyh0YiwgaXRyLCBtYXRjaF9mdW5jLCAgTlVMTCwgJmZzKTsKKworCQlpZiAoIWZzICYmCisJCSAgICAhKGZsYWdzICYgRkxfTk9TV0FQTUFUQ0gpICYmCisJCSAgICAhZ2V0X21hdGNoKENPTF9UQVJHRVQpICYmIGdldF9tYXRjaChDT0xfU09VUkNFKSkgeworCisJCQkvKiBzd2FwICdzcGVjJyBhbmQgdGFyZ2V0LiAqLworCQkJc2V0X21hdGNoKENPTF9UQVJHRVQsIGdldF9tYXRjaChDT0xfU09VUkNFKSk7CisJCQlzZXRfbWF0Y2goQ09MX1NPVVJDRSwgTlVMTCk7CisJCQltbnRfcmVzZXRfaXRlcihpdHIsIC0xKTsKKworCQkJZ290byBhZ2FpbjsKKwkJfQorCX0KKworCXJldHVybiBmczsKK30KKworLyoKKyAqIEZpbHRlciBvdXQgdW53YW50ZWQgbGluZXMgZm9yIC0tbGlzdCBvdXRwdXQgb3IgdG9wIGxldmVsIGxpbmVzIGZvcgorICogLS1zdWJtb3VudHMgdHJlZSBvdXRwdXQuCisgKi8KK3N0YXRpYyBpbnQgYWRkX21hdGNoaW5nX2xpbmVzKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLAorCQkJICAgICAgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YWJsZSwgaW50IGRpcmVjdGlvbikKK3sKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciA9IE5VTEw7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJaW50IG5saW5lcyA9IDAsIHJjID0gLTE7CisKKwlpdHIgPSBtbnRfbmV3X2l0ZXIoZGlyZWN0aW9uKTsKKwlpZiAoIWl0cikgeworCQl3YXJuKF8oImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGl0ZXJhdG9yIikpOworCQlnb3RvIGRvbmU7CisJfQorCisJd2hpbGUoKGZzID0gZ2V0X25leHRfZnModGIsIGl0cikpKSB7CisJCWlmICgoZmxhZ3MgJiBGTF9UUkVFKSB8fCAoZmxhZ3MgJiBGTF9TVUJNT1VOVFMpKQorCQkJcmMgPSBjcmVhdGVfdHJlZW5vZGUodGFibGUsIHRiLCBmcywgTlVMTCk7CisJCWVsc2UKKwkJCXJjID0gIWFkZF9saW5lKHRhYmxlLCBmcywgTlVMTCk7CisJCWlmIChyYykKKwkJCWdvdG8gZG9uZTsKKwkJbmxpbmVzKys7CisJCWlmIChmbGFncyAmIEZMX0ZJUlNUT05MWSkKKwkJCWJyZWFrOworCQlmbGFncyB8PSBGTF9OT1NXQVBNQVRDSDsKKwl9CisKKwlpZiAobmxpbmVzKQorCQlyYyA9IDA7Citkb25lOgorCW1udF9mcmVlX2l0ZXIoaXRyKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgcG9sbF9tYXRjaChzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlpbnQgcmMgPSBtYXRjaF9mdW5jKGZzLCBOVUxMKTsKKworCWlmIChyYyA9PSAwICYmICEoZmxhZ3MgJiBGTF9OT1NXQVBNQVRDSCkgJiYKKwkgICAgZ2V0X21hdGNoKENPTF9TT1VSQ0UpICYmICFnZXRfbWF0Y2goQ09MX1RBUkdFVCkpIHsKKwkJLyoKKwkJICogZmluZG1udCAtLXBvbGwgL2ZvbworCQkgKiBUaGUgJy9mb28nIG1heWJlIHNvdXJjZSBhcyB3ZWxsIGFzIHRhcmdldC4KKwkJICovCisJCWNvbnN0IGNoYXIgKnN0ciA9IGdldF9tYXRjaChDT0xfU09VUkNFKTsKKworCQlzZXRfbWF0Y2goQ09MX1RBUkdFVCwgc3RyKTsJLyogc3dhcCAqLworCQlzZXRfbWF0Y2goQ09MX1NPVVJDRSwgTlVMTCk7CisKKwkJcmMgPSBtYXRjaF9mdW5jKGZzLCBOVUxMKTsKKworCQlzZXRfbWF0Y2goQ09MX1RBUkdFVCwgTlVMTCk7CS8qIHJlc3RvcmUgKi8KKwkJc2V0X21hdGNoKENPTF9TT1VSQ0UsIHN0cik7CisKKwl9CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHBvbGxfdGFibGUoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKnRhYmZpbGUsCisJCSAgaW50IHRpbWVvdXQsIHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGFibGUsIGludCBkaXJlY3Rpb24pCit7CisJRklMRSAqZiA9IE5VTEw7CisJaW50IHJjID0gLTE7CisJc3RydWN0IGxpYm1udF9pdGVyICppdHIgPSBOVUxMOworCXN0cnVjdCBsaWJtbnRfdGFibGUgKnRiX25ldyA9IE5VTEw7CisJc3RydWN0IGxpYm1udF90YWJkaWZmICpkaWZmID0gTlVMTDsKKwlzdHJ1Y3QgcG9sbGZkIGZkc1sxXTsKKworCXRiX25ldyA9IG1udF9uZXdfdGFibGUoKTsKKwlpZiAoIXRiX25ldykgeworCQl3YXJuKF8oImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmxlIikpOworCQlnb3RvIGRvbmU7CisJfQorCisJaXRyID0gbW50X25ld19pdGVyKGRpcmVjdGlvbik7CisJaWYgKCFpdHIpIHsKKwkJd2FybihfKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIpKTsKKwkJZ290byBkb25lOworCX0KKworCWRpZmYgPSBtbnRfbmV3X3RhYmRpZmYoKTsKKwlpZiAoIWRpZmYpIHsKKwkJd2FybihfKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJkaWZmIikpOworCQlnb3RvIGRvbmU7CisJfQorCisJLyogY2FjaGUgaXMgdW5uZWNlc3NhcnkgdG8gZGV0ZWN0IGNoYW5nZXMgKi8KKwltbnRfdGFibGVfc2V0X2NhY2hlKHRiLCBOVUxMKTsKKwltbnRfdGFibGVfc2V0X2NhY2hlKHRiX25ldywgTlVMTCk7CisKKwlmID0gZm9wZW4odGFiZmlsZSwgInIiKTsKKwlpZiAoIWYpIHsKKwkJd2FybihfKCJjYW5ub3Qgb3BlbiAlcyIpLCB0YWJmaWxlKTsKKwkJZ290byBkb25lOworCX0KKworCW1udF90YWJsZV9zZXRfcGFyc2VyX2VycmNiKHRiX25ldywgcGFyc2VyX2VycmNiKTsKKworCWZkc1swXS5mZCA9IGZpbGVubyhmKTsKKwlmZHNbMF0uZXZlbnRzID0gUE9MTFBSSTsKKworCXdoaWxlICgxKSB7CisJCXN0cnVjdCBsaWJtbnRfdGFibGUgKnRtcDsKKwkJc3RydWN0IGxpYm1udF9mcyAqb2xkLCAqbmV3OworCQlpbnQgY2hhbmdlLCBjb3VudDsKKworCQljb3VudCA9IHBvbGwoZmRzLCAxLCB0aW1lb3V0KTsKKwkJaWYgKGNvdW50ID09IDApCisJCQlicmVhazsJLyogdGltZW91dCAqLworCQlpZiAoY291bnQgPCAwKSB7CisJCQl3YXJuKF8oInBvbGwoKSBmYWlsZWQiKSk7CisJCQlnb3RvIGRvbmU7CisJCX0KKworCQlyZXdpbmQoZik7CisJCXJjID0gbW50X3RhYmxlX3BhcnNlX3N0cmVhbSh0Yl9uZXcsIGYsIHRhYmZpbGUpOworCQlpZiAoIXJjKQorCQkJcmMgPSBtbnRfZGlmZl90YWJsZXMoZGlmZiwgdGIsIHRiX25ldyk7CisJCWlmIChyYyA8IDApCisJCQlnb3RvIGRvbmU7CisKKwkJY291bnQgPSAwOworCQltbnRfcmVzZXRfaXRlcihpdHIsIGRpcmVjdGlvbik7CisJCXdoaWxlKG1udF90YWJkaWZmX25leHRfY2hhbmdlKAorCQkJCWRpZmYsIGl0ciwgJm9sZCwgJm5ldywgJmNoYW5nZSkgPT0gMCkgeworCisJCQlpZiAoIWhhc19wb2xsX2FjdGlvbihjaGFuZ2UpKQorCQkJCWNvbnRpbnVlOworCQkJaWYgKCFwb2xsX21hdGNoKG5ldyA/IG5ldyA6IG9sZCkpCisJCQkJY29udGludWU7CisJCQljb3VudCsrOworCQkJcmMgPSAhYWRkX3RhYmRpZmZfbGluZSh0YWJsZSwgbmV3LCBvbGQsIGNoYW5nZSk7CisJCQlpZiAocmMpCisJCQkJZ290byBkb25lOworCQkJaWYgKGZsYWdzICYgRkxfRklSU1RPTkxZKQorCQkJCWJyZWFrOworCQl9CisKKwkJaWYgKGNvdW50KSB7CisJCQlyYyA9IHNjb2xzX3RhYmxlX3ByaW50X3JhbmdlKHRhYmxlLCBOVUxMLCBOVUxMKTsKKwkJCWlmIChyYyA9PSAwKQorCQkJCWZwdXRjKCdcbicsIHNjb2xzX3RhYmxlX2dldF9zdHJlYW0odGFibGUpKTsKKwkJCWZmbHVzaChzdGRvdXQpOworCQkJaWYgKHJjKQorCQkJCWdvdG8gZG9uZTsKKwkJfQorCisJCS8qIHN3YXAgdGFibGVzICovCisJCXRtcCA9IHRiOworCQl0YiA9IHRiX25ldzsKKwkJdGJfbmV3ID0gdG1wOworCisJCS8qIHJlbW92ZSBhbHJlYWR5IHByaW50ZWQgbGluZXMgdG8gcmVkdWNlIG1lbW9yeSB1c2FnZSAqLworCQlzY29sc190YWJsZV9yZW1vdmVfbGluZXModGFibGUpOworCQltbnRfcmVzZXRfdGFibGUodGJfbmV3KTsKKworCQlpZiAoY291bnQgJiYgKGZsYWdzICYgRkxfRklSU1RPTkxZKSkKKwkJCWJyZWFrOworCX0KKworCXJjID0gMDsKK2RvbmU6CisJbW50X3VucmVmX3RhYmxlKHRiX25ldyk7CisJbW50X2ZyZWVfdGFiZGlmZihkaWZmKTsKKwltbnRfZnJlZV9pdGVyKGl0cik7CisJaWYgKGYpCisJCWZjbG9zZShmKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdW5pcV9mc190YXJnZXRfY21wKAorCQlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSksCisJCXN0cnVjdCBsaWJtbnRfZnMgKmEsCisJCXN0cnVjdCBsaWJtbnRfZnMgKmIpCit7CisJcmV0dXJuICFtbnRfZnNfbWF0Y2hfdGFyZ2V0KGEsIG1udF9mc19nZXRfdGFyZ2V0KGIpLCBjYWNoZSk7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKEZJTEUgKm91dCkKK3sKKwlzaXplX3QgaTsKKworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygKKwkiICUxJHMgW29wdGlvbnNdXG4iCisJIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiB8IDxtb3VudHBvaW50PlxuIgorCSIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gPG1vdW50cG9pbnQ+XG4iCisJIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2UgPGRldmljZT5dIFstLXRhcmdldCA8cGF0aD4gfCAtLW1vdW50cG9pbnQgPGRpcj5dXG4iKSwKKwkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkZpbmQgYSAobW91bnRlZCkgZmlsZXN5c3RlbS5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzZWFyY2ggaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgc2VhcmNoIGluIGtlcm5lbCB0YWJsZSBvZiBtb3VudGVkXG4iCisJCSIgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzeXN0ZW1zIChkZWZhdWx0KVxuIiksIG91dCk7CisJZnB1dGMoJ1xuJywgb3V0KTsKKwlmcHV0cyhfKCIgLXAsIC0tcG9sbFs9PGxpc3Q+XSAgICBtb25pdG9yIGNoYW5nZXMgaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC13LCAtLXRpbWVvdXQgPG51bT4gICAgdXBwZXIgbGltaXQgaW4gbWlsbGlzZWNvbmRzIHRoYXQgLS1wb2xsIHdpbGwgYmxvY2tcbiIpLCBvdXQpOworCWZwdXRjKCdcbicsIG91dCk7CisKKwlmcHV0cyhfKCIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBBU0NJSSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtQywgLS1ub2Nhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSB3aGVuIGNvbXBhcmluZyBwYXRoc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRhdGUgdGhlIG91dHB1dCBvZiBkZigxKVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorCSAgICAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUYsIC0tdGFiLWZpbGUgPHBhdGg+ICBhbHRlcm5hdGl2ZSBmaWxlIGZvciAtcywgLW0gb3IgLWsgb3B0aW9uc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJ0IHRoZSBzZW5zZSBvZiBtYXRjaGluZ1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNlIGFsdGVybmF0aXZlIG5hbWVzcGFjZSAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIGZpbGUpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBjb2x1bW4gaGVhZGluZ3NcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgdGhlIG91dHB1dCBjb2x1bW5zIHRvIGJlIHNob3duXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVAsIC0tcGFpcnMgICAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVIsIC0tc3VibW91bnRzICAgICAgICBwcmludCBhbGwgc3VibW91bnRzIGZvciB0aGUgbWF0Y2hpbmcgZmlsZXN5c3RlbXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1TLCAtLXNvdXJjZSA8c3RyaW5nPiAgdGhlIGRldmljZSB0byBtb3VudCAoYnkgbmFtZSwgbWFqOm1pbiwgXG4iCisJICAgICAgICAiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVQsIC0tdGFyZ2V0IDxwYXRoPiAgICB0aGUgcGF0aCB0byB0aGUgZmlsZXN5c3RlbSB0byB1c2VcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtTSwgLS1tb3VudHBvaW50IDxkaXI+IHRoZSBtb3VudHBvaW50IGRpcmVjdG9yeVxuIiksIG91dCk7CisJZnB1dHMoXygiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBGUyB0eXBlc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1VLCAtLXVuaXEgICAgICAgICAgICAgaWdub3JlIGZpbGVzeXN0ZW1zIHdpdGggZHVwbGljYXRlIHRhcmdldFxuIiksIG91dCk7CisJZnB1dHMoXygiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iKSwgb3V0KTsJCisKKwlmcHV0YygnXG4nLCBvdXQpOworCWZwdXRzKF8oIiAteCwgLS12ZXJpZnkgICAgICAgICAgIHZlcmlmeSBtb3VudCB0YWJsZSBjb250ZW50IChkZWZhdWx0IGlzIGZzdGFiKVxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgbW9yZSBkZXRhaWxzXG4iKSwgb3V0KTsKKwlmcHV0YygnXG4nLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKFVTQUdFX0hFTFAsIG91dCk7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgb3V0KTsKKworCWZwcmludGYob3V0LCBfKCJcbkF2YWlsYWJsZSBjb2x1bW5zOlxuIikpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoaW5mb3MpOyBpKyspCisJCWZwcmludGYob3V0LCAiICUxMXMgICVzXG4iLCBpbmZvc1tpXS5uYW1lLCBfKGluZm9zW2ldLmhlbHApKTsKKworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgiZmluZG1udCg4KSIpKTsKKworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IGxpYm1udF90YWJsZSAqdGIgPSBOVUxMOworCWNoYXIgKip0YWJmaWxlcyA9IE5VTEw7CisJaW50IGRpcmVjdGlvbiA9IE1OVF9JVEVSX0ZPUldBUkQ7CisJaW50IHZlcmlmeSA9IDA7CisJaW50IGMsIHJjID0gLTEsIHRpbWVvdXQgPSAtMTsKKwlpbnQgbnRhYmZpbGVzID0gMCwgdGFidHlwZSA9IDA7CisJY2hhciAqb3V0YXJnID0gTlVMTDsKKwlzaXplX3QgaTsKKworCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGFibGUgPSBOVUxMOworCisJZW51bSB7CisgICAgICAgICAgICAgICAgRklORE1OVF9PUFRfVkVSQk9TRSA9IENIQVJfTUFYICsgMQorCX07CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCSAgICB7ICJhbGwiLCAgICAgICAgICAwLCAwLCAnQScgfSwKKwkgICAgeyAiYXNjaWkiLCAgICAgICAgMCwgMCwgJ2EnIH0sCisJICAgIHsgImJ5dGVzIiwgICAgICAgIDAsIDAsICdiJyB9LAorCSAgICB7ICJjYW5vbmljYWxpemUiLCAwLCAwLCAnYycgfSwKKwkgICAgeyAiZGlyZWN0aW9uIiwgICAgMSwgMCwgJ2QnIH0sCisJICAgIHsgImRmIiwgICAgICAgICAgIDAsIDAsICdEJyB9LAorCSAgICB7ICJldmFsdWF0ZSIsICAgICAwLCAwLCAnZScgfSwKKwkgICAgeyAiZmlyc3Qtb25seSIsICAgMCwgMCwgJ2YnIH0sCisJICAgIHsgImZzdGFiIiwgICAgICAgIDAsIDAsICdzJyB9LAorCSAgICB7ICJoZWxwIiwgICAgICAgICAwLCAwLCAnaCcgfSwKKwkgICAgeyAiaW52ZXJ0IiwgICAgICAgMCwgMCwgJ2knIH0sCisJICAgIHsgImpzb24iLCAgICAgICAgIDAsIDAsICdKJyB9LAorCSAgICB7ICJrZXJuZWwiLCAgICAgICAwLCAwLCAnaycgfSwKKwkgICAgeyAibGlzdCIsICAgICAgICAgMCwgMCwgJ2wnIH0sCisJICAgIHsgIm1vdW50cG9pbnQiLCAgIDEsIDAsICdNJyB9LAorCSAgICB7ICJtdGFiIiwgICAgICAgICAwLCAwLCAnbScgfSwKKwkgICAgeyAibm9oZWFkaW5ncyIsICAgMCwgMCwgJ24nIH0sCisJICAgIHsgIm5vdHJ1bmNhdGUiLCAgIDAsIDAsICd1JyB9LAorCSAgICB7ICJvcHRpb25zIiwgICAgICAxLCAwLCAnTycgfSwKKwkgICAgeyAib3V0cHV0IiwgICAgICAgMSwgMCwgJ28nIH0sCisJICAgIHsgInBvbGwiLCAgICAgICAgIDIsIDAsICdwJyB9LAorCSAgICB7ICJwYWlycyIsICAgICAgICAwLCAwLCAnUCcgfSwKKwkgICAgeyAicmF3IiwgICAgICAgICAgMCwgMCwgJ3InIH0sCisJICAgIHsgInR5cGVzIiwgICAgICAgIDEsIDAsICd0JyB9LAorCSAgICB7ICJub2Nhbm9uaWNhbGl6ZSIsIDAsIDAsICdDJyB9LAorCSAgICB7ICJub2Zzcm9vdCIsICAgICAwLCAwLCAndicgfSwKKwkgICAgeyAic3VibW91bnRzIiwgICAgMCwgMCwgJ1InIH0sCisJICAgIHsgInNvdXJjZSIsICAgICAgIDEsIDAsICdTJyB9LAorCSAgICB7ICJ0YWItZmlsZSIsICAgICAxLCAwLCAnRicgfSwKKwkgICAgeyAidGFzayIsICAgICAgICAgMSwgMCwgJ04nIH0sCisJICAgIHsgInRhcmdldCIsICAgICAgIDEsIDAsICdUJyB9LAorCSAgICB7ICJ0aW1lb3V0IiwgICAgICAxLCAwLCAndycgfSwKKwkgICAgeyAidW5pcSIsICAgICAgICAgMCwgMCwgJ1UnIH0sCisJICAgIHsgInZlcmlmeSIsICAgICAgIDAsIDAsICd4JyB9LAorCSAgICB7ICJ2ZXJzaW9uIiwgICAgICAwLCAwLCAnVicgfSwKKwkgICAgeyAidmVyYm9zZSIsICAgICAgMCwgMCwgRklORE1OVF9PUFRfVkVSQk9TRSB9LAorCSAgICB7IE5VTEwsICAgICAgICAgICAwLCAwLCAwIH0KKwl9OworCisJc3RhdGljIGNvbnN0IHVsX2V4Y2xfdCBleGNsW10gPSB7CS8qIHJvd3MgYW5kIGNvbHMgaW4gaW4gQVNDSUkgb3JkZXIgKi8KKwkJeyAnQycsICdjJ30sICAgICAgICAgICAgICAgICAgICAvKiBbbm9dY2Fub25pY2FsaXplICovCisJCXsgJ0MnLCAnZScgfSwJCQkvKiBub2Nhbm9uaWNhbGl6ZSwgZXZhbHVhdGUgKi8KKwkJeyAnSicsICdQJywgJ3InLCd4JyB9LAkJLyoganNvbixwYWlycyxyYXcsdmVyaWZ5ICovCisJCXsgJ00nLCAnVCcgfSwJCQkvKiBtb3VudHBvaW50LCB0YXJnZXQgKi8KKwkJeyAnTicsJ2snLCdtJywncycgfSwJCS8qIHRhc2ssa2VybmVsLG10YWIsZnN0YWIgKi8KKwkJeyAnUCcsJ2wnLCdyJywneCcgfSwJCS8qIHBhaXJzLGxpc3QscmF3LHZlcmlmeSAqLworCQl7ICdwJywneCcgfSwJCQkvKiBwb2xsLHZlcmlmeSAqLworCQl7ICdtJywncCcsJ3MnIH0sCQkvKiBtdGFiLHBvbGwsZnN0YWIgKi8KKwkJeyAwIH0KKwl9OworCWludCBleGNsX3N0W0FSUkFZX1NJWkUoZXhjbCldID0gVUxfRVhDTF9TVEFUVVNfSU5JVDsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwkvKiBkZWZhdWx0IG91dHB1dCBmb3JtYXQgKi8KKwlmbGFncyB8PSBGTF9UUkVFOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwKKwkJCQkiQWFiQ2NEZDplaGlKZkY6bzpPOnA6OlBrbG1NOm5OOnJzdDp1dlJTOlQ6VXc6VngiLAorCQkJCWxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKworCQllcnJfZXhjbHVzaXZlX29wdGlvbnMoYywgbG9uZ29wdHMsIGV4Y2wsIGV4Y2xfc3QpOworCisJCXN3aXRjaChjKSB7CisJCWNhc2UgJ0EnOgorCQkJZmxhZ3MgfD0gRkxfQUxMOworCQkJYnJlYWs7CisJCWNhc2UgJ2EnOgorCQkJZmxhZ3MgfD0gRkxfQVNDSUk7CisJCQlicmVhazsKKwkJY2FzZSAnYic6CisJCQlmbGFncyB8PSBGTF9CWVRFUzsKKwkJCWJyZWFrOworCQljYXNlICdDJzoKKwkJCWZsYWdzIHw9IEZMX05PQ0FDSEU7CisJCQlicmVhazsKKwkJY2FzZSAnYyc6CisJCQlmbGFncyB8PSBGTF9DQU5PTklDQUxJWkU7CisJCQlicmVhazsKKwkJY2FzZSAnRCc6CisJCQlmbGFncyAmPSB+RkxfVFJFRTsKKwkJCWZsYWdzIHw9IEZMX0RGOworCQkJYnJlYWs7CisJCWNhc2UgJ2QnOgorCQkJaWYgKCFzdHJjbXAob3B0YXJnLCAiZm9yd2FyZCIpKQorCQkJCWRpcmVjdGlvbiA9IE1OVF9JVEVSX0ZPUldBUkQ7CisJCQllbHNlIGlmICghc3RyY21wKG9wdGFyZywgImJhY2t3YXJkIikpCisJCQkJZGlyZWN0aW9uID0gTU5UX0lURVJfQkFDS1dBUkQ7CisJCQllbHNlCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkJCV8oInVua25vd24gZGlyZWN0aW9uICclcyciKSwgb3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICdlJzoKKwkJCWZsYWdzIHw9IEZMX0VWQUxVQVRFOworCQkJYnJlYWs7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2Uoc3Rkb3V0KTsKKwkJCWJyZWFrOworCQljYXNlICdpJzoKKwkJCWZsYWdzIHw9IEZMX0lOVkVSVDsKKwkJCWJyZWFrOworCQljYXNlICdKJzoKKwkJCWZsYWdzIHw9IEZMX0pTT047CisJCQlicmVhazsKKwkJY2FzZSAnZic6CisJCQlmbGFncyB8PSBGTF9GSVJTVE9OTFk7CisJCQlicmVhazsKKwkJY2FzZSAnRic6CisJCQl0YWJmaWxlcyA9IGFwcGVuZF90YWJmaWxlKHRhYmZpbGVzLCAmbnRhYmZpbGVzLCBvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgJ3UnOgorCQkJZGlzYWJsZV9jb2x1bW5zX3RydW5jYXRlKCk7CisJCQlicmVhazsKKwkJY2FzZSAnbyc6CisJCQlvdXRhcmcgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnTyc6CisJCQlzZXRfbWF0Y2goQ09MX09QVElPTlMsIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAncCc6CisJCQlpZiAob3B0YXJnKSB7CisJCQkJbmFjdGlvbnMgPSBzdHJpbmdfdG9faWRhcnJheShvcHRhcmcsCisJCQkJCQlhY3Rpb25zLCBBUlJBWV9TSVpFKGFjdGlvbnMpLAorCQkJCQkJcG9sbF9hY3Rpb25fbmFtZV90b19pZCk7CisJCQkJaWYgKG5hY3Rpb25zIDwgMCkKKwkJCQkJZXhpdChFWElUX0ZBSUxVUkUpOworCQkJfQorCQkJZmxhZ3MgfD0gRkxfUE9MTDsKKwkJCWZsYWdzICY9IH5GTF9UUkVFOworCQkJYnJlYWs7CisJCWNhc2UgJ1AnOgorCQkJZmxhZ3MgfD0gRkxfRVhQT1JUOworCQkJZmxhZ3MgJj0gfkZMX1RSRUU7CisJCQlicmVhazsKKwkJY2FzZSAnbSc6CQkvKiBtdGFiICovCisJCQl0YWJ0eXBlID0gVEFCVFlQRV9NVEFCOworCQkJZmxhZ3MgJj0gfkZMX1RSRUU7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CQkvKiBmc3RhYiAqLworCQkJdGFidHlwZSA9IFRBQlRZUEVfRlNUQUI7CisJCQlmbGFncyAmPSB+RkxfVFJFRTsKKwkJCWJyZWFrOworCQljYXNlICdrJzoJCS8qIGtlcm5lbCAobW91bnRpbmZvKSAqLworCQkJdGFidHlwZSA9IFRBQlRZUEVfS0VSTkVMOworCQkJYnJlYWs7CisJCWNhc2UgJ3QnOgorCQkJc2V0X21hdGNoKENPTF9GU1RZUEUsIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAncic6CisJCQlmbGFncyAmPSB+RkxfVFJFRTsJLyogZGlzYWJsZSB0aGUgZGVmYXVsdCAqLworCQkJZmxhZ3MgfD0gRkxfUkFXOwkvKiBlbmFibGUgcmF3ICovCisJCQlicmVhazsKKwkJY2FzZSAnbCc6CisJCQlmbGFncyAmPSB+RkxfVFJFRTsJLyogZGlzYWJsZSB0aGUgZGVmYXVsdCAqLworCQkJYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJZmxhZ3MgfD0gRkxfTk9IRUFESU5HUzsKKwkJCWJyZWFrOworCQljYXNlICdOJzoKKwkJCXRhYnR5cGUgPSBUQUJUWVBFX0tFUk5FTDsKKwkJCXRhYmZpbGVzID0gYXBwZW5kX3BpZF90YWJmaWxlKHRhYmZpbGVzLCAmbnRhYmZpbGVzLAorCQkJCQlzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLAorCQkJCQkJXygiaW52YWxpZCBUSUQgYXJndW1lbnQiKSkpOworCQkJYnJlYWs7CisJCWNhc2UgJ3YnOgorCQkJZmxhZ3MgfD0gRkxfTk9GU1JPT1Q7CisJCQlicmVhazsKKwkJY2FzZSAnUic6CisJCQlmbGFncyB8PSBGTF9TVUJNT1VOVFM7CisJCQlicmVhazsKKwkJY2FzZSAnUyc6CisJCQlzZXRfc291cmNlX21hdGNoKG9wdGFyZyk7CisJCQlmbGFncyB8PSBGTF9OT1NXQVBNQVRDSDsKKwkJCWJyZWFrOworCQljYXNlICdNJzoKKwkJCWZsYWdzIHw9IEZMX1NUUklDVFRBUkdFVDsKKwkJCS8qIGZhbGx0aHJvdWdoICovCisJCWNhc2UgJ1QnOgorCQkJc2V0X21hdGNoKENPTF9UQVJHRVQsIG9wdGFyZyk7CisJCQlmbGFncyB8PSBGTF9OT1NXQVBNQVRDSDsKKwkJCWJyZWFrOworCQljYXNlICdVJzoKKwkJCWZsYWdzIHw9IEZMX1VOSVE7CisJCQlicmVhazsKKwkJY2FzZSAndyc6CisJCQl0aW1lb3V0ID0gc3RydG9zMzJfb3JfZXJyKG9wdGFyZywgXygiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50IikpOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICd4JzoKKwkJCXZlcmlmeSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBGSU5ETU5UX09QVF9WRVJCT1NFOgorCQkJZmxhZ3MgfD0gRkxfVkVSQk9TRTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJaWYgKCFuY29sdW1ucyAmJiAoZmxhZ3MgJiBGTF9ERikpIHsKKwkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfU09VUkNFKTsKKwkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfRlNUWVBFKTsKKwkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfU0laRSk7CisJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX1VTRUQpOworCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9BVkFJTCk7CisJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX1VTRVBFUkMpOworCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9UQVJHRVQpOworCX0KKworCS8qIGRlZmF1bHQgY29sdW1ucyAqLworCWlmICghbmNvbHVtbnMpIHsKKwkJaWYgKGZsYWdzICYgRkxfUE9MTCkKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0FDVElPTik7CisKKwkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfVEFSR0VUKTsKKwkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfU09VUkNFKTsKKwkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfRlNUWVBFKTsKKwkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfT1BUSU9OUyk7CisJfQorCisJaWYgKG91dGFyZyAmJiBzdHJpbmdfYWRkX3RvX2lkYXJyYXkob3V0YXJnLCBjb2x1bW5zLCBBUlJBWV9TSVpFKGNvbHVtbnMpLAorCQkJCQkgJm5jb2x1bW5zLCBjb2x1bW5fbmFtZV90b19pZCkgPCAwKQorCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCisJaWYgKCF0YWJ0eXBlKQorCQl0YWJ0eXBlID0gdmVyaWZ5ID8gVEFCVFlQRV9GU1RBQiA6IFRBQlRZUEVfS0VSTkVMOworCisJaWYgKChmbGFncyAmIEZMX1BPTEwpICYmIG50YWJmaWxlcyA+IDEpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCItLXBvbGwgYWNjZXB0cyBvbmx5IG9uZSBmaWxlLCBidXQgbW9yZSBzcGVjaWZpZWQgYnkgLS10YWItZmlsZSIpKTsKKworCWlmIChvcHRpbmQgPCBhcmdjICYmIChnZXRfbWF0Y2goQ09MX1NPVVJDRSkgfHwgZ2V0X21hdGNoKENPTF9UQVJHRVQpKSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oCisJCQkib3B0aW9ucyAtLXRhcmdldCBhbmQgLS1zb3VyY2UgY2FuJ3QgYmUgdXNlZCB0b2dldGhlciAiCisJCQkid2l0aCBjb21tYW5kIGxpbmUgZWxlbWVudCB0aGF0IGlzIG5vdCBhbiBvcHRpb24iKSk7CisKKwlpZiAob3B0aW5kIDwgYXJnYykKKwkJc2V0X3NvdXJjZV9tYXRjaChhcmd2W29wdGluZCsrXSk7CS8qIGRldi90YWcvbW91bnRwb2ludC9tYWo6bWluICovCisJaWYgKG9wdGluZCA8IGFyZ2MpCisJCXNldF9tYXRjaChDT0xfVEFSR0VULCBhcmd2W29wdGluZCsrXSk7CS8qIG1vdW50cG9pbnQgKi8KKworCWlmICgoZmxhZ3MgJiBGTF9TVUJNT1VOVFMpICYmIGlzX2xpc3RhbGxfbW9kZSgpKQorCQkvKiBkb24ndCBjYXJlIGFib3V0IHN1Ym1vdW50cyBpZiBsaXN0IGFsbCBtb3VudHMgKi8KKwkJZmxhZ3MgJj0gfkZMX1NVQk1PVU5UUzsKKworCWlmICghKGZsYWdzICYgRkxfU1VCTU9VTlRTKSAmJiAoKGZsYWdzICYgRkxfRklSU1RPTkxZKQorCSAgICB8fCBnZXRfbWF0Y2goQ09MX1RBUkdFVCkKKwkgICAgfHwgZ2V0X21hdGNoKENPTF9TT1VSQ0UpCisJICAgIHx8IGdldF9tYXRjaChDT0xfTUFKTUlOKSkpCisJCWZsYWdzICY9IH5GTF9UUkVFOworCisJaWYgKCEoZmxhZ3MgJiBGTF9OT1NXQVBNQVRDSCkgJiYKKwkgICAgIWdldF9tYXRjaChDT0xfVEFSR0VUKSAmJiBnZXRfbWF0Y2goQ09MX1NPVVJDRSkpIHsKKwkJLyoKKwkJICogQ2hlY2sgaWYgd2UgY2FuIHN3YXAgc291cmNlIGFuZCB0YXJnZXQsIGl0J3MKKwkJICogbm90IHBvc3NpYmxlIGlmIHRoZSBzb3VyY2UgaXMgTEFCRUw9L1VVSUQ9CisJCSAqLworCQljb25zdCBjaGFyICp4ID0gZ2V0X21hdGNoKENPTF9TT1VSQ0UpOworCisJCWlmICghc3RybmNtcCh4LCAiTEFCRUw9IiwgNikgfHwgIXN0cm5jbXAoeCwgIlVVSUQ9IiwgNSkgfHwKKwkJICAgICFzdHJuY21wKHgsICJQQVJUTEFCRUw9IiwgMTApIHx8ICFzdHJuY21wKHgsICJQQVJUVVVJRD0iLCA5KSkKKwkJCWZsYWdzIHw9IEZMX05PU1dBUE1BVENIOworCX0KKworCS8qCisJICogaW5pdGlhbGl6ZSBsaWJtb3VudAorCSAqLworCW1udF9pbml0X2RlYnVnKDApOworCisJdGIgPSBwYXJzZV90YWJmaWxlcyh0YWJmaWxlcywgbnRhYmZpbGVzLCB0YWJ0eXBlKTsKKwlpZiAoIXRiKQorCQlnb3RvIGxlYXZlOworCisJaWYgKHRhYnR5cGUgPT0gVEFCVFlQRV9NVEFCICYmIHRhYl9pc19rZXJuZWwodGIpKQorCQl0YWJ0eXBlID0gVEFCVFlQRV9LRVJORUw7CisKKwlpZiAoKGZsYWdzICYgRkxfVFJFRSkgJiYgKG50YWJmaWxlcyA+IDEgfHwgIXRhYl9pc190cmVlKHRiKSkpCisJCWZsYWdzICY9IH5GTF9UUkVFOworCisJaWYgKCEoZmxhZ3MgJiBGTF9OT0NBQ0hFKSkgeworCQljYWNoZSA9IG1udF9uZXdfY2FjaGUoKTsKKwkJaWYgKCFjYWNoZSkgeworCQkJd2FybihfKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBjYWNoZSIpKTsKKwkJCWdvdG8gbGVhdmU7CisJCX0KKwkJbW50X3RhYmxlX3NldF9jYWNoZSh0YiwgY2FjaGUpOworCisJCWlmICh0YWJ0eXBlICE9IFRBQlRZUEVfS0VSTkVMKQorCQkJY2FjaGVfc2V0X3RhcmdldHMoY2FjaGUpOworCX0KKworCWlmIChmbGFncyAmIEZMX1VOSVEpCisJCW1udF90YWJsZV91bmlxX2ZzKHRiLCBNTlRfVU5JUV9LRUVQVFJFRSwgdW5pcV9mc190YXJnZXRfY21wKTsKKworCWlmICh2ZXJpZnkpIHsKKwkJcmMgPSB2ZXJpZnlfdGFibGUodGIpOworCQlnb3RvIGxlYXZlOworCX0KKworCS8qCisJICogaW5pdGlhbGl6ZSBsaWJzbWFydGNvbHMKKwkgKi8KKwlzY29sc19pbml0X2RlYnVnKDApOworCXRhYmxlID0gc2NvbHNfbmV3X3RhYmxlKCk7CisJaWYgKCF0YWJsZSkgeworCQl3YXJuKF8oImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCB0YWJsZSIpKTsKKwkJZ290byBsZWF2ZTsKKwl9CisJc2NvbHNfdGFibGVfZW5hYmxlX3Jhdyh0YWJsZSwgICAgICAgICEhKGZsYWdzICYgRkxfUkFXKSk7CisJc2NvbHNfdGFibGVfZW5hYmxlX2V4cG9ydCh0YWJsZSwgICAgICEhKGZsYWdzICYgRkxfRVhQT1JUKSk7CisJc2NvbHNfdGFibGVfZW5hYmxlX2pzb24odGFibGUsICAgICAgICEhKGZsYWdzICYgRkxfSlNPTikpOworCXNjb2xzX3RhYmxlX2VuYWJsZV9hc2NpaSh0YWJsZSwgICAgICAhIShmbGFncyAmIEZMX0FTQ0lJKSk7CisJc2NvbHNfdGFibGVfZW5hYmxlX25vaGVhZGluZ3ModGFibGUsICEhKGZsYWdzICYgRkxfTk9IRUFESU5HUykpOworCisJaWYgKGZsYWdzICYgRkxfSlNPTikKKwkJc2NvbHNfdGFibGVfc2V0X25hbWUodGFibGUsICJmaWxlc3lzdGVtcyIpOworCisJZm9yIChpID0gMDsgaSA8IG5jb2x1bW5zOyBpKyspIHsKKwkJaW50IGZsID0gZ2V0X2NvbHVtbl9mbGFncyhpKTsKKwkJaW50IGlkID0gZ2V0X2NvbHVtbl9pZChpKTsKKworCQlpZiAoIShmbGFncyAmIEZMX1RSRUUpKQorCQkJZmwgJj0gflNDT0xTX0ZMX1RSRUU7CisKKwkJaWYgKCEoZmxhZ3MgJiBGTF9QT0xMKSAmJiBpc190YWJkaWZmX2NvbHVtbihpZCkpIHsKKwkJCXdhcm54KF8oIiVzIGNvbHVtbiBpcyByZXF1ZXN0ZWQsIGJ1dCAtLXBvbGwgIgorCQkJICAgICAgICJpcyBub3QgZW5hYmxlZCIpLCBnZXRfY29sdW1uX25hbWUoaSkpOworCQkJZ290byBsZWF2ZTsKKwkJfQorCQlpZiAoIXNjb2xzX3RhYmxlX25ld19jb2x1bW4odGFibGUsIGdldF9jb2x1bW5fbmFtZShpKSwKKwkJCQkJZ2V0X2NvbHVtbl93aGludChpKSwgZmwpKSB7CisJCQl3YXJuKF8oImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iKSk7CisJCQlnb3RvIGxlYXZlOworCQl9CisJfQorCisJLyoKKwkgKiBGaWxsIGluIGRhdGEgdG8gdGhlIG91dHB1dCB0YWJsZQorCSAqLworCWlmIChmbGFncyAmIEZMX1BPTEwpIHsKKwkJLyogcG9sbCBtb2RlIChhY2NlcHQgdGhlIGZpcnN0IHRhYmZpbGUgb25seSkgKi8KKwkJcmMgPSBwb2xsX3RhYmxlKHRiLCB0YWJmaWxlcyA/ICp0YWJmaWxlcyA6IF9QQVRIX1BST0NfTU9VTlRJTkZPLCB0aW1lb3V0LCB0YWJsZSwgZGlyZWN0aW9uKTsKKworCX0gZWxzZSBpZiAoKGZsYWdzICYgRkxfVFJFRSkgJiYgIShmbGFncyAmIEZMX1NVQk1PVU5UUykpIHsKKwkJLyogd2hvbGUgdHJlZSAqLworCQlyYyA9IGNyZWF0ZV90cmVlbm9kZSh0YWJsZSwgdGIsIE5VTEwsIE5VTEwpOworCX0gZWxzZSB7CisJCS8qIHdob2xlIGxpc3Qgb2Ygc3ViLXRyZWUgKi8KKwkJcmMgPSBhZGRfbWF0Y2hpbmdfbGluZXModGIsIHRhYmxlLCBkaXJlY3Rpb24pOworCisJCWlmIChyYyAhPSAwCisJCSAgICAmJiB0YWJ0eXBlID09IFRBQlRZUEVfS0VSTkVMCisJCSAgICAmJiAoZmxhZ3MgJiBGTF9OT1NXQVBNQVRDSCkKKwkJICAgICYmICEoZmxhZ3MgJiBGTF9TVFJJQ1RUQVJHRVQpCisJCSAgICAmJiBnZXRfbWF0Y2goQ09MX1RBUkdFVCkpIHsKKwkJCS8qCisJCQkgKiBGb3VuZCBub3RoaW5nLCBtYXliZSB0aGUgLS10YXJnZXQgaXMgcmVndWxhciBmaWxlLAorCQkJICogdHJ5IGl0IGFnYWluIHdpdGggZXh0cmEgZnVuY3Rpb25hbGl0eSBmb3IgdGFyZ2V0CisJCQkgKiBtYXRjaAorCQkJICovCisJCQllbmFibGVfZXh0cmFfdGFyZ2V0X21hdGNoKHRiKTsKKwkJCXJjID0gYWRkX21hdGNoaW5nX2xpbmVzKHRiLCB0YWJsZSwgZGlyZWN0aW9uKTsKKwkJfQorCX0KKworCS8qCisJICogUHJpbnQgdGhlIG91dHB1dCB0YWJsZSBmb3Igbm9uLXBvbGwgbW9kZXMKKwkgKi8KKwlpZiAoIXJjICYmICEoZmxhZ3MgJiBGTF9QT0xMKSkKKwkJc2NvbHNfcHJpbnRfdGFibGUodGFibGUpOworbGVhdmU6CisJc2NvbHNfdW5yZWZfdGFibGUodGFibGUpOworCisJbW50X3VucmVmX3RhYmxlKHRiKTsKKwltbnRfdW5yZWZfY2FjaGUoY2FjaGUpOworCisJZnJlZSh0YWJmaWxlcyk7CisjaWZkZWYgSEFWRV9MSUJVREVWCisJdWRldl91bnJlZih1ZGV2KTsKKyNlbmRpZgorCXJldHVybiByYyA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvZmluZG1udC5oIGIvbWlzYy11dGlscy9maW5kbW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmJhYTM4ZQotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvZmluZG1udC5oCkBAIC0wLDAgKzEsMzkgQEAKKyNpZm5kZWYgVVRJTF9MSU5VWF9GSU5ETU5UX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9GSU5ETU5UX0gKKworLyogZmxhZ3MgKi8KK2VudW0geworCUZMX0VWQUxVQVRFCT0gKDEgPDwgMSksCisJRkxfQ0FOT05JQ0FMSVpFID0gKDEgPDwgMiksCisJRkxfRklSU1RPTkxZCT0gKDEgPDwgMyksCisJRkxfSU5WRVJUCT0gKDEgPDwgNCksCisJRkxfTk9TV0FQTUFUQ0gJPSAoMSA8PCA2KSwKKwlGTF9OT0ZTUk9PVAk9ICgxIDw8IDcpLAorCUZMX1NVQk1PVU5UUwk9ICgxIDw8IDgpLAorCUZMX1BPTEwJCT0gKDEgPDwgOSksCisJRkxfREYJCT0gKDEgPDwgMTApLAorCUZMX0FMTAkJPSAoMSA8PCAxMSksCisJRkxfVU5JUQkJPSAoMSA8PCAxMiksCisJRkxfQllURVMJPSAoMSA8PCAxMyksCisJRkxfTk9DQUNIRQk9ICgxIDw8IDE0KSwKKwlGTF9TVFJJQ1RUQVJHRVQgPSAoMSA8PCAxNSksCisJRkxfVkVSQk9TRQk9ICgxIDw8IDE2KSwKKworCS8qIGJhc2ljIHRhYmxlIHNldHRpbmdzICovCisJRkxfQVNDSUkJPSAoMSA8PCAyMCksCisJRkxfUkFXCQk9ICgxIDw8IDIxKSwKKwlGTF9OT0hFQURJTkdTCT0gKDEgPDwgMjIpLAorCUZMX0VYUE9SVAk9ICgxIDw8IDIzKSwKKwlGTF9UUkVFCQk9ICgxIDw8IDI0KSwKKwlGTF9KU09OCQk9ICgxIDw8IDI1KSwKK307CisKK2V4dGVybiBzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZTsKK2V4dGVybiBpbnQgZmxhZ3M7CitleHRlcm4gaW50IHBhcnNlX25lcnJvcnM7CisKK2V4dGVybiBpbnQgaXNfbGlzdGFsbF9tb2RlKHZvaWQpOworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfZnMgKmdldF9uZXh0X2ZzKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBzdHJ1Y3QgbGlibW50X2l0ZXIgKml0cik7CitleHRlcm4gaW50IHZlcmlmeV90YWJsZShzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yik7CisKKyNlbmRpZiAvKiBVVElMX0xJTlVYX0ZJTkRNTlRfSCAqLwpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy9nZXRvcHQtcGFyc2UuYmFzaCBiL21pc2MtdXRpbHMvZ2V0b3B0LXBhcnNlLmJhc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzQ4YzQ0NQotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvZ2V0b3B0LXBhcnNlLmJhc2gKQEAgLTAsMCArMSw3NSBAQAorIyEvYmluL2Jhc2gKKworIyBBIHNtYWxsIGV4YW1wbGUgc2NyaXB0IGZvciB1c2luZyB0aGUgZ2V0b3B0KDEpIHByb2dyYW0uCisjIFRoaXMgc2NyaXB0IHdpbGwgb25seSB3b3JrIHdpdGggYmFzaCgxKS4KKyMgQSBzaW1pbGFyIHNjcmlwdCB1c2luZyB0aGUgdGNzaCgxKSBsYW5ndWFnZSBjYW4gYmUgZm91bmQKKyMgYXMgZ2V0b3B0LXBhcnNlLnRjc2guCisKKyMgRXhhbXBsZSBpbnB1dCBhbmQgb3V0cHV0IChmcm9tIHRoZSBiYXNoIHByb21wdCk6CisjCisjIC4vZ2V0b3B0LXBhcnNlLmJhc2ggLWEgcGFyMSAnYW5vdGhlciBhcmcnIC0tYy1sb25nICd3b3chKlw/JyAtY21vcmUgLWIgIiB2ZXJ5IGxvbmcgIgorIyBPcHRpb24gYQorIyBPcHRpb24gYywgbm8gYXJndW1lbnQKKyMgT3B0aW9uIGMsIGFyZ3VtZW50ICdtb3JlJworIyBPcHRpb24gYiwgYXJndW1lbnQgJyB2ZXJ5IGxvbmcgJworIyBSZW1haW5pbmcgYXJndW1lbnRzOgorIyAtLT4gJ3BhcjEnCisjIC0tPiAnYW5vdGhlciBhcmcnCisjIC0tPiAnd293ISpcPycKKworIyBOb3RlIHRoYXQgd2UgdXNlICIkQCIgdG8gbGV0IGVhY2ggY29tbWFuZC1saW5lIHBhcmFtZXRlciBleHBhbmQgdG8gYQorIyBzZXBhcmF0ZSB3b3JkLiBUaGUgcXVvdGVzIGFyb3VuZCAiJEAiIGFyZSBlc3NlbnRpYWwhCisjIFdlIG5lZWQgVEVNUCBhcyB0aGUgJ2V2YWwgc2V0IC0tJyB3b3VsZCBudWtlIHRoZSByZXR1cm4gdmFsdWUgb2YgZ2V0b3B0LgorVEVNUD0kKGdldG9wdCAtbyAnYWI6Yzo6JyAtLWxvbmcgJy1sb25nLGItbG9uZzosYy1sb25nOjonIC1uICdleGFtcGxlLmJhc2gnIC0tICIkQCIpCisKK2lmIFsgJD8gLW5lIDAgXTsgdGhlbgorCWVjaG8gJ1Rlcm1pbmF0aW5nLi4uJyA+JjIKKwlleGl0IDEKK2ZpCisKKyMgTm90ZSB0aGUgcXVvdGVzIGFyb3VuZCAiJFRFTVAiOiB0aGV5IGFyZSBlc3NlbnRpYWwhCitldmFsIHNldCAtLSAiJFRFTVAiCit1bnNldCBURU1QCisKK3doaWxlIHRydWU7IGRvCisJY2FzZSAiJDEiIGluCisJCSctYSd8Jy0tYS1sb25nJykKKwkJCWVjaG8gJ09wdGlvbiBhJworCQkJc2hpZnQKKwkJCWNvbnRpbnVlCisJCTs7CisJCSctYid8Jy0tYi1sb25nJykKKwkJCWVjaG8gIk9wdGlvbiBiLCBhcmd1bWVudCAnJDInIgorCQkJc2hpZnQgMgorCQkJY29udGludWUKKwkJOzsKKwkJJy1jJ3wnLS1jLWxvbmcnKQorCQkJIyBjIGhhcyBhbiBvcHRpb25hbCBhcmd1bWVudC4gQXMgd2UgYXJlIGluIHF1b3RlZCBtb2RlLAorCQkJIyBhbiBlbXB0eSBwYXJhbWV0ZXIgd2lsbCBiZSBnZW5lcmF0ZWQgaWYgaXRzIG9wdGlvbmFsCisJCQkjIGFyZ3VtZW50IGlzIG5vdCBmb3VuZC4KKwkJCWNhc2UgIiQyIiBpbgorCQkJCScnKQorCQkJCQllY2hvICdPcHRpb24gYywgbm8gYXJndW1lbnQnCisJCQkJOzsKKwkJCQkqKQorCQkJCQllY2hvICJPcHRpb24gYywgYXJndW1lbnQgJyQyJyIKKwkJCQk7OworCQkJZXNhYworCQkJc2hpZnQgMgorCQkJY29udGludWUKKwkJOzsKKwkJJy0tJykKKwkJCXNoaWZ0CisJCQlicmVhaworCQk7OworCQkqKQorCQkJZWNobyAnSW50ZXJuYWwgZXJyb3IhJyA+JjIKKwkJCWV4aXQgMQorCQk7OworCWVzYWMKK2RvbmUKKworZWNobyAnUmVtYWluaW5nIGFyZ3VtZW50czonCitmb3IgYXJnOyBkbworCWVjaG8gIi0tPiAnJGFyZyciCitkb25lCmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL2dldG9wdC1wYXJzZS50Y3NoIGIvbWlzYy11dGlscy9nZXRvcHQtcGFyc2UudGNzaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMzJkN2FjCi0tLSAvZGV2L251bGwKKysrIGIvbWlzYy11dGlscy9nZXRvcHQtcGFyc2UudGNzaApAQCAtMCwwICsxLDc3IEBACisjIS9iaW4vdGNzaAorCisjIEEgc21hbGwgZXhhbXBsZSBzY3JpcHQgZm9yIHVzaW5nIHRoZSBnZXRvcHQoMSkgcHJvZ3JhbS4KKyMgVGhpcyBzY3JpcHQgd2lsbCBvbmx5IHdvcmsgd2l0aCB0Y3NoKDEpLgorIyBBIHNpbWlsYXIgc2NyaXB0IHVzaW5nIHRoZSBiYXNoKDEpIGxhbmd1YWdlIGNhbiBiZSBmb3VuZAorIyBhcyBnZXRvcHQtcGFyc2UuYmFzaC4KKworIyBFeGFtcGxlIGlucHV0IGFuZCBvdXRwdXQgKGZyb20gdGhlIHRjc2ggcHJvbXB0KToKKyMgLi9wYXJzZS50Y3NoIC1hIHBhcjEgJ2Fub3RoZXIgYXJnJyAtLWMtbG9uZyAnd293XCEqXD8nIC1jbW9yZSAtYiAiIHZlcnkgbG9uZyAiCisjIE9wdGlvbiBhCisjIE9wdGlvbiBjLCBubyBhcmd1bWVudAorIyBPcHRpb24gYywgYXJndW1lbnQgYG1vcmUnCisjIE9wdGlvbiBiLCBhcmd1bWVudCBgIHZlcnkgbG9uZyAnCisjIFJlbWFpbmluZyBhcmd1bWVudHM6CisjIC0tPiBgcGFyMScKKyMgLS0+IGBhbm90aGVyIGFyZycKKyMgLS0+IGB3b3chKlw/JworCisjIE5vdGUgdGhhdCB3ZSBoYWQgdG8gZXNjYXBlIHRoZSBleGNsYW1hdGlvbiBtYXJrIGluIHRoZSB3b3ctYXJndW1lbnQuIFRoaXMKKyMgaXMgX25vdF8gYSBwcm9ibGVtIHdpdGggZ2V0b3B0LCBidXQgd2l0aCB0aGUgdGNzaCBjb21tYW5kIHBhcnNpbmcuIElmIHlvdQorIyB3b3VsZCBnaXZlIHRoZSBzYW1lIGxpbmUgZnJvbSB0aGUgYmFzaCBwcm9tcHQgKGllLiBjYWxsIC4vcGFyc2UudGNzaCksCisjIHlvdSBjb3VsZCByZW1vdmUgdGhlIGV4Y2xhbWF0aW9uIG1hcmsuCisKKyMgVGhpcyBpcyBhIGJpdCB0cmlja3kuIFdlIHVzZSBhIHRlbXAgdmFyaWFibGUsIHRvIGJlIGFibGUgdG8gY2hlY2sgdGhlCisjIHJldHVybiB2YWx1ZSBvZiBnZXRvcHQgKGV2YWwgbnVrZXMgaXQpLiBhcmd2IGNvbnRhaW5zIHRoZSBjb21tYW5kIGFyZ3VtZW50cworIyBhcyBhIGxpc3QuIFRoZSAnOnFgICBjb3BpZXMgdGhhdCBsaXN0IHdpdGhvdXQgZG9pbmcgYW55IHN1YnN0aXR1dGlvbnM6CisjIGVhY2ggZWxlbWVudCBvZiBhcmd2IGJlY29tZXMgYSBzZXBhcmF0ZSBhcmd1bWVudCBmb3IgZ2V0b3B0LiBUaGUgYnJhY2VzCisjIGFyZSBuZWVkZWQgYmVjYXVzZSB0aGUgcmVzdWx0IGlzIGFsc28gYSBsaXN0Lgorc2V0IHRlbXA9KGBnZXRvcHQgLXMgdGNzaCAtbyBhYjpjOjogLS1sb25nIGEtbG9uZyxiLWxvbmc6LGMtbG9uZzo6IC0tICRhcmd2OnFgKQoraWYgKCQ/ICE9IDApIHRoZW4KKyAgZWNobyAiVGVybWluYXRpbmcuLi4iID4vZGV2L3N0ZGVycgorICBleGl0IDEKK2VuZGlmCisKKyMgTm93IHdlIGRvIHRoZSBldmFsIHBhcnQuIEFzIHRoZSByZXN1bHQgaXMgYSBsaXN0LCB3ZSBuZWVkIGJyYWNlcy4gQnV0IHRoZXkKKyMgbXVzdCBiZSBxdW90ZWQsIGJlY2F1c2UgdGhleSBtdXN0IGJlIGV2YWx1YXRlZCB3aGVuIHRoZSBldmFsIGlzIGNhbGxlZC4KKyMgVGhlICdxYCBzdG9wcyBkb2luZyBhbnkgc2lsbHkgc3Vic3RpdHV0aW9ucy4KK2V2YWwgc2V0IGFyZ3Y9XCgkdGVtcDpxXCkKKword2hpbGUgKDEpCisJc3dpdGNoKCQxOnEpCisJY2FzZSAtYToKKwljYXNlIC0tYS1sb25nOgorCQllY2hvICJPcHRpb24gYSIgOyBzaGlmdAorCQlicmVha3N3OworCWNhc2UgLWI6CisJY2FzZSAtLWItbG9uZzoKKwkJZWNobyAiT3B0aW9uIGIsIGFyZ3VtZW50ICJcYCQyOnFcJyA7IHNoaWZ0IDsgc2hpZnQKKwkJYnJlYWtzdworCWNhc2UgLWM6CisJY2FzZSAtLWMtbG9uZzoKKwkJIyBjIGhhcyBhbiBvcHRpb25hbCBhcmd1bWVudC4gQXMgd2UgYXJlIGluIHF1b3RlZCBtb2RlLAorCQkjIGFuIGVtcHR5IHBhcmFtZXRlciB3aWxsIGJlIGdlbmVyYXRlZCBpZiBpdHMgb3B0aW9uYWwKKwkJIyBhcmd1bWVudCBpcyBub3QgZm91bmQuCisKKwkJaWYgKCQyOnEgPT0gIiIpIHRoZW4KKwkJCWVjaG8gIk9wdGlvbiBjLCBubyBhcmd1bWVudCIKKwkJZWxzZQorCQkJZWNobyAiT3B0aW9uIGMsIGFyZ3VtZW50ICJcYCQyOnFcJworCQllbmRpZgorCQlzaGlmdDsgc2hpZnQKKwkJYnJlYWtzdworCWNhc2UgLS06CisJCXNoaWZ0CisJCWJyZWFrCisJZGVmYXVsdDoKKwkJZWNobyAiSW50ZXJuYWwgZXJyb3IhIiA7IGV4aXQgMQorCWVuZHN3CitlbmQKKworZWNobyAiUmVtYWluaW5nIGFyZ3VtZW50czoiCisjIGZvcmVhY2ggZWwgKCRhcmd2OnEpIGNyZWF0ZWQgcHJvYmxlbXMgZm9yIHNvbWUgdGNzaC12ZXJzaW9ucyAoYXQgbGVhc3QKKyMgNi4wMikuIFNvIHdlIHVzZSBhbm90aGVyIHNoaWZ0LWxvb3AgaGVyZToKK3doaWxlICgkI2FyZ3YgPiAwKQorCWVjaG8gJy0tPiAnXGAkMTpxXCcKKwlzaGlmdAorZW5kCmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL2dldG9wdC4xIGIvbWlzYy11dGlscy9nZXRvcHQuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOWVkMGIzCi0tLSAvZGV2L251bGwKKysrIGIvbWlzYy11dGlscy9nZXRvcHQuMQpAQCAtMCwwICsxLDQ2MCBAQAorLlRIIEdFVE9QVCAiMSIgIkRlY2VtYmVyIDIwMTQiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitnZXRvcHQgXC0gcGFyc2UgY29tbWFuZCBvcHRpb25zIChlbmhhbmNlZCkKKy5TSCBTWU5PUFNJUworLkJJIGdldG9wdAorLkkgb3B0c3RyaW5nIHBhcmFtZXRlcnMKKy5icgorLkIgZ2V0b3B0Citbb3B0aW9uc10KKy5SQiBbIFwtXC0gXQorLkkgb3B0c3RyaW5nIHBhcmFtZXRlcnMKKy5icgorLkIgZ2V0b3B0Citbb3B0aW9uc10KKy5CUiBcLW8gfCBcLVwtb3B0aW9ucworLkkgb3B0c3RyaW5nCitbb3B0aW9uc10KKy5SQiBbIFwtXC0gXQorLkkgcGFyYW1ldGVycworLlNIIERFU0NSSVBUSU9OCisuQiBnZXRvcHQKK2lzIHVzZWQgdG8gYnJlYWsgdXAKKy5SSSAoIHBhcnNlICkKK29wdGlvbnMgaW4gY29tbWFuZCBsaW5lcyBmb3IgZWFzeSBwYXJzaW5nIGJ5IHNoZWxsIHByb2NlZHVyZXMsIGFuZCB0bworY2hlY2sgZm9yIGxlZ2FsIG9wdGlvbnMuICBJdCB1c2VzIHRoZQorLlNNIEdOVQorLkJSIGdldG9wdCAoMykKK3JvdXRpbmVzIHRvIGRvIHRoaXMuCisuUFAKK1RoZSBwYXJhbWV0ZXJzCisuQiBnZXRvcHQKK2lzIGNhbGxlZCB3aXRoIGNhbiBiZSBkaXZpZGVkIGludG8gdHdvIHBhcnRzOiBvcHRpb25zIHdoaWNoIG1vZGlmeQordGhlIHdheQorLkIgZ2V0b3B0Cit3aWxsIGRvIHRoZSBwYXJzaW5nCisuUkkgIih0aGUgIiBvcHRpb25zCithbmQgdGhlCisuSSBvcHRzdHJpbmcKK2luIHRoZQorLkJSIFNZTk9QU0lTICksCithbmQgdGhlIHBhcmFtZXRlcnMgd2hpY2ggYXJlIHRvIGJlIHBhcnNlZAorLlJJICggcGFyYW1ldGVycworaW4gdGhlCisuQlIgU1lOT1BTSVMgKS4KK1RoZSBzZWNvbmQgcGFydCB3aWxsIHN0YXJ0IGF0IHRoZSBmaXJzdCBub25cLW9wdGlvbiBwYXJhbWV0ZXIgdGhhdCBpcworbm90IGFuIG9wdGlvbiBhcmd1bWVudCwgb3IgYWZ0ZXIgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YKKy5SQiAnIFwtXC0gJy4KK0lmIG5vCisuUkIgJyBcLW8gJworb3IKKy5SQiAnIFwtXC1vcHRpb25zICcKK29wdGlvbiBpcyBmb3VuZCBpbiB0aGUgZmlyc3QgcGFydCwgdGhlIGZpcnN0IHBhcmFtZXRlciBvZiB0aGUgc2Vjb25kCitwYXJ0IGlzIHVzZWQgYXMgdGhlIHNob3J0IG9wdGlvbnMgc3RyaW5nLgorLlBQCitJZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUKKy5CIEdFVE9QVF9DT01QQVRJQkxFCitpcyBzZXQsIG9yIGlmIHRoZSBmaXJzdCBcZklwYXJhbWV0ZXJcZlIgaXMgbm90IGFuIG9wdGlvbiAoZG9lcyBub3Qgc3RhcnQKK3dpdGggYQorLlJCICcgXC0gJywKK3RoZSBmaXJzdCBmb3JtYXQgaW4gdGhlCisuQlIgU1lOT1BTSVMgKSwKKy5CIGdldG9wdAord2lsbCBnZW5lcmF0ZSBvdXRwdXQgdGhhdCBpcyBjb21wYXRpYmxlIHdpdGggdGhhdCBvZiBvdGhlciB2ZXJzaW9ucyBvZgorLkJSIGdldG9wdCAoMSkuCitJdCB3aWxsIHN0aWxsIGRvIHBhcmFtZXRlciBzaHVmZmxpbmcgYW5kIHJlY29nbml6ZSBvcHRpb25hbCBhcmd1bWVudHMKKyhzZWUgc2VjdGlvbgorLkIgQ09NUEFUSUJJTElUWQorZm9yIG1vcmUgaW5mb3JtYXRpb24pLgorLlBQCitUcmFkaXRpb25hbCBpbXBsZW1lbnRhdGlvbnMgb2YKKy5CUiBnZXRvcHQgKDEpCithcmUgdW5hYmxlIHRvIGNvcGUgd2l0aCB3aGl0ZXNwYWNlIGFuZCBvdGhlciAoc2hlbGwtc3BlY2lmaWMpCitzcGVjaWFsIGNoYXJhY3RlcnMgaW4gYXJndW1lbnRzIGFuZCBub25cLW9wdGlvbiBwYXJhbWV0ZXJzLiAgVG8gc29sdmUKK3RoaXMgcHJvYmxlbSwgdGhpcyBpbXBsZW1lbnRhdGlvbiBjYW4gZ2VuZXJhdGUgcXVvdGVkIG91dHB1dCB3aGljaAorbXVzdCBvbmNlIGFnYWluIGJlIGludGVycHJldGVkIGJ5IHRoZSBzaGVsbCAodXN1YWxseSBieSB1c2luZyB0aGUKKy5CIGV2YWwKK2NvbW1hbmQpLiAgVGhpcyBoYXMgdGhlIGVmZmVjdCBvZiBwcmVzZXJ2aW5nIHRob3NlIGNoYXJhY3RlcnMsIGJ1dAoreW91IG11c3QgY2FsbAorLkIgZ2V0b3B0CitpbiBhIHdheSB0aGF0IGlzIG5vIGxvbmdlciBjb21wYXRpYmxlIHdpdGggb3RoZXIgdmVyc2lvbnMgKHRoZSBzZWNvbmQKK29yIHRoaXJkIGZvcm1hdCBpbiB0aGUKKy5CUiBTWU5PUFNJUyApLgorVG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhpcyBlbmhhbmNlZCB2ZXJzaW9uIG9mCisuQlIgZ2V0b3B0ICgxKQoraXMgaW5zdGFsbGVkLCBhIHNwZWNpYWwgdGVzdCBvcHRpb24KKy5SQiAoIFwtVCApCitjYW4gYmUgdXNlZC4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLWEgLCAiIFwtXC1hbHRlcm5hdGl2ZSIKK0FsbG93IGxvbmcgb3B0aW9ucyB0byBzdGFydCB3aXRoIGEgc2luZ2xlCisuUkIgJyBcLSAnLgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LiAgTm8gb3RoZXIgb3V0cHV0IGlzIGdlbmVyYXRlZC4KKy5UUAorLkJSIFwtbCAsICIgXC1cLWxvbmdvcHRpb25zIFxmSWxvbmdvcHRzXGZQIgorVGhlIGxvbmcgKG11bHRpXC1jaGFyYWN0ZXIpIG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZC4gIE1vcmUgdGhhbiBvbmUKK29wdGlvbiBuYW1lIG1heSBiZSBzcGVjaWZpZWQgYXQgb25jZSwgYnkgc2VwYXJhdGluZyB0aGUgbmFtZXMgd2l0aAorY29tbWFzLiAgVGhpcyBvcHRpb24gbWF5IGJlIGdpdmVuIG1vcmUgdGhhbiBvbmNlLCB0aGUKKy5JIGxvbmdvcHRzCithcmUgY3VtdWxhdGl2ZS4gIEVhY2ggbG9uZyBvcHRpb24gbmFtZSBpbgorLkkgbG9uZ29wdHMKK21heSBiZSBmb2xsb3dlZCBieSBvbmUgY29sb24gdG8gaW5kaWNhdGUgaXQgaGFzIGEgcmVxdWlyZWQgYXJndW1lbnQsCithbmQgYnkgdHdvIGNvbG9ucyB0byBpbmRpY2F0ZSBpdCBoYXMgYW4gb3B0aW9uYWwgYXJndW1lbnQuCisuVFAKKy5CUiBcLW4gLCAiIFwtXC1uYW1lIFxmSXByb2duYW1lXGZQIgorVGhlIG5hbWUgdGhhdCB3aWxsIGJlIHVzZWQgYnkgdGhlCisuQlIgZ2V0b3B0ICgzKQorcm91dGluZXMgd2hlbiBpdCByZXBvcnRzIGVycm9ycy4gIE5vdGUgdGhhdCBlcnJvcnMgb2YKKy5CUiBnZXRvcHQgKDEpCithcmUgc3RpbGwgcmVwb3J0ZWQgYXMgY29taW5nIGZyb20gZ2V0b3B0LgorLlRQCisuQlIgXC1vICwgIiBcLVwtb3B0aW9ucyBcZklzaG9ydG9wdHNcZlAiCitUaGUgc2hvcnQgKG9uZVwtY2hhcmFjdGVyKSBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWQuICBJZiB0aGlzIG9wdGlvbgoraXMgbm90IGZvdW5kLCB0aGUgZmlyc3QgcGFyYW1ldGVyIG9mCisuQiBnZXRvcHQKK3RoYXQgZG9lcyBub3Qgc3RhcnQgd2l0aCBhCisuUkIgJyBcLSAnCisoYW5kIGlzIG5vdCBhbiBvcHRpb24gYXJndW1lbnQpIGlzIHVzZWQgYXMgdGhlIHNob3J0IG9wdGlvbnMgc3RyaW5nLgorRWFjaCBzaG9ydCBvcHRpb24gY2hhcmFjdGVyIGluCisuSSBzaG9ydG9wdHMKK21heSBiZSBmb2xsb3dlZCBieSBvbmUgY29sb24gdG8gaW5kaWNhdGUgaXQgaGFzIGEgcmVxdWlyZWQgYXJndW1lbnQsCithbmQgYnkgdHdvIGNvbG9ucyB0byBpbmRpY2F0ZSBpdCBoYXMgYW4gb3B0aW9uYWwgYXJndW1lbnQuICBUaGUgZmlyc3QKK2NoYXJhY3RlciBvZiBzaG9ydG9wdHMgbWF5IGJlCisuUkIgJyArICcKK29yCisuUkIgJyBcLSAnCit0byBpbmZsdWVuY2UgdGhlIHdheSBvcHRpb25zIGFyZSBwYXJzZWQgYW5kIG91dHB1dCBpcyBnZW5lcmF0ZWQgKHNlZQorc2VjdGlvbgorLkIgU0NBTk5JTkcgTU9ERVMKK2ZvciBkZXRhaWxzKS4KKy5UUAorLkJSIFwtcSAsICIgXC1cLXF1aWV0IgorRGlzYWJsZSBlcnJvciByZXBvcnRpbmcgYnkgZ2V0b3B0KDMpLgorLlRQCisuQlIgIFwtUSAsICIgXC1cLXF1aWV0XC1vdXRwdXQiCitEbyBub3QgZ2VuZXJhdGUgbm9ybWFsIG91dHB1dC4gIEVycm9ycyBhcmUgc3RpbGwgcmVwb3J0ZWQgYnkKKy5CUiBnZXRvcHQgKDMpLAordW5sZXNzIHlvdSBhbHNvIHVzZQorLkJSIFwtcSAuCisuVFAKKy5CUiBcLXMgLCAiIFwtXC1zaGVsbCBcZklzaGVsbFxmUCIKK1NldCBxdW90aW5nIGNvbnZlbnRpb25zIHRvIHRob3NlIG9mIFxmSXNoZWxsXGZSLgorSWYgdGhlIFxmQlwtc1xmUiBvcHRpb24gaXMgbm90IGdpdmVuLCB0aGUKKy5TTSBCQVNICitjb252ZW50aW9ucyBhcmUgdXNlZC4gIFZhbGlkIGFyZ3VtZW50cyBhcmUgY3VycmVudGx5CisuUkIgJyBzaCAnCisuUkIgJyBiYXNoICcsCisuUkIgJyBjc2ggJywKK2FuZAorLlJCICcgdGNzaCAnLgorLlRQCisuQlIgXC1UICwgIiBcLVwtdGVzdCIKK1Rlc3QgaWYgeW91cgorLkJSIGdldG9wdCAoMSkKK2lzIHRoaXMgZW5oYW5jZWQgdmVyc2lvbiBvciBhbiBvbGQgdmVyc2lvbi4gIFRoaXMgZ2VuZXJhdGVzIG5vCitvdXRwdXQsIGFuZCBzZXRzIHRoZSBlcnJvciBzdGF0dXMgdG8gNC4gIE90aGVyIGltcGxlbWVudGF0aW9ucyBvZgorLkJSIGdldG9wdCAoMSksCithbmQgdGhpcyB2ZXJzaW9uIGlmIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZQorLkIgR0VUT1BUX0NPTVBBVElCTEUKK2lzIHNldCwgd2lsbCByZXR1cm4KKy5SQiAnIFwtXC0gJworYW5kIGVycm9yIHN0YXR1cyAwLgorLlRQCisuQlIgXC11ICwgIiBcLVwtdW5xdW90ZWQiCitEbyBub3QgcXVvdGUgdGhlIG91dHB1dC4gIE5vdGUgdGhhdCB3aGl0ZXNwYWNlIGFuZCBzcGVjaWFsCisoc2hlbGwtZGVwZW5kZW50KSBjaGFyYWN0ZXJzIGNhbiBjYXVzZSBoYXZvYyBpbiB0aGlzIG1vZGUgKGxpa2UgdGhleQorZG8gd2l0aCBvdGhlcgorLkJSIGdldG9wdCAoMSkKK2ltcGxlbWVudGF0aW9ucykuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LiAgTm8gb3RoZXIgb3V0cHV0IGlzIGdlbmVyYXRlZC4KKy5TSCBQQVJTSU5HCitUaGlzIHNlY3Rpb24gc3BlY2lmaWVzIHRoZSBmb3JtYXQgb2YgdGhlIHNlY29uZCBwYXJ0IG9mIHRoZQorcGFyYW1ldGVycyBvZgorLkIgZ2V0b3B0CisodGhlCisuSSBwYXJhbWV0ZXJzCitpbiB0aGUKKy5CUiBTWU5PUFNJUyApLgorVGhlIG5leHQgc2VjdGlvbgorLlJCICggT1VUUFVUICkKK2Rlc2NyaWJlcyB0aGUgb3V0cHV0IHRoYXQgaXMgZ2VuZXJhdGVkLiAgVGhlc2UgcGFyYW1ldGVycyB3ZXJlCit0eXBpY2FsbHkgdGhlIHBhcmFtZXRlcnMgYSBzaGVsbCBmdW5jdGlvbiB3YXMgY2FsbGVkIHdpdGguICBDYXJlIG11c3QKK2JlIHRha2VuIHRoYXQgZWFjaCBwYXJhbWV0ZXIgdGhlIHNoZWxsIGZ1bmN0aW9uIHdhcyBjYWxsZWQgd2l0aAorY29ycmVzcG9uZHMgdG8gZXhhY3RseSBvbmUgcGFyYW1ldGVyIGluIHRoZSBwYXJhbWV0ZXIgbGlzdCBvZgorLkIgZ2V0b3B0Cisoc2VlIHRoZQorLkJSIEVYQU1QTEVTICkuCitBbGwgcGFyc2luZyBpcyBkb25lIGJ5IHRoZSBHTlUKKy5CUiBnZXRvcHQgKDMpCityb3V0aW5lcy4KKy5QUAorVGhlIHBhcmFtZXRlcnMgYXJlIHBhcnNlZCBmcm9tIGxlZnQgdG8gcmlnaHQuICBFYWNoIHBhcmFtZXRlciBpcworY2xhc3NpZmllZCBhcyBhIHNob3J0IG9wdGlvbiwgYSBsb25nIG9wdGlvbiwgYW4gYXJndW1lbnQgdG8gYW4KK29wdGlvbiwgb3IgYSBub25cLW9wdGlvbiBwYXJhbWV0ZXIuCisuUFAKK0Egc2ltcGxlIHNob3J0IG9wdGlvbiBpcyBhCisuUkIgJyBcLSAnCitmb2xsb3dlZCBieSBhIHNob3J0IG9wdGlvbiBjaGFyYWN0ZXIuICBJZiB0aGUgb3B0aW9uIGhhcyBhIHJlcXVpcmVkCithcmd1bWVudCwgaXQgbWF5IGJlIHdyaXR0ZW4gZGlyZWN0bHkgYWZ0ZXIgdGhlIG9wdGlvbiBjaGFyYWN0ZXIgb3IgYXMKK3RoZSBuZXh0IHBhcmFtZXRlciAoaS5lLiBzZXBhcmF0ZWQgYnkgd2hpdGVzcGFjZSBvbiB0aGUgY29tbWFuZAorbGluZSkuICBJZiB0aGUgb3B0aW9uIGhhcyBhbiBvcHRpb25hbCBhcmd1bWVudCwgaXQgbXVzdCBiZSB3cml0dGVuCitkaXJlY3RseSBhZnRlciB0aGUgb3B0aW9uIGNoYXJhY3RlciBpZiBwcmVzZW50LgorLlBQCitJdCBpcyBwb3NzaWJsZSB0byBzcGVjaWZ5IHNldmVyYWwgc2hvcnQgb3B0aW9ucyBhZnRlciBvbmUKKy5SQiAnIFwtICcsCithcyBsb25nIGFzIGFsbCAoZXhjZXB0IHBvc3NpYmx5IHRoZSBsYXN0KSBkbyBub3QgaGF2ZSByZXF1aXJlZCBvcgorb3B0aW9uYWwgYXJndW1lbnRzLgorLlBQCitBIGxvbmcgb3B0aW9uIG5vcm1hbGx5IGJlZ2lucyB3aXRoCisuUkIgJyBcLVwtICcKK2ZvbGxvd2VkIGJ5IHRoZSBsb25nIG9wdGlvbiBuYW1lLiAgSWYgdGhlIG9wdGlvbiBoYXMgYSByZXF1aXJlZAorYXJndW1lbnQsIGl0IG1heSBiZSB3cml0dGVuIGRpcmVjdGx5IGFmdGVyIHRoZSBsb25nIG9wdGlvbiBuYW1lLAorc2VwYXJhdGVkIGJ5CisuUkIgJyA9ICcsCitvciBhcyB0aGUgbmV4dCBhcmd1bWVudCAoaS5lLiBzZXBhcmF0ZWQgYnkgd2hpdGVzcGFjZSBvbiB0aGUgY29tbWFuZAorbGluZSkuICBJZiB0aGUgb3B0aW9uIGhhcyBhbiBvcHRpb25hbCBhcmd1bWVudCwgaXQgbXVzdCBiZSB3cml0dGVuCitkaXJlY3RseSBhZnRlciB0aGUgbG9uZyBvcHRpb24gbmFtZSwgc2VwYXJhdGVkIGJ5CisuUkIgJyA9ICcsCitpZiBwcmVzZW50IChpZiB5b3UgYWRkIHRoZQorLlJCICcgPSAnCitidXQgbm90aGluZyBiZWhpbmQgaXQsIGl0IGlzIGludGVycHJldGVkIGFzIGlmIG5vIGFyZ3VtZW50IHdhcworcHJlc2VudDsgdGhpcyBpcyBhIHNsaWdodCBidWcsIHNlZSB0aGUKKy5CUiBCVUdTICkuCitMb25nIG9wdGlvbnMgbWF5IGJlIGFiYnJldmlhdGVkLCBhcyBsb25nIGFzIHRoZSBhYmJyZXZpYXRpb24gaXMgbm90CithbWJpZ3VvdXMuCisuUFAKK0VhY2ggcGFyYW1ldGVyIG5vdCBzdGFydGluZyB3aXRoIGEKKy5SQiAnIFwtICcsCithbmQgbm90IGEgcmVxdWlyZWQgYXJndW1lbnQgb2YgYSBwcmV2aW91cyBvcHRpb24sIGlzIGEgbm9uXC1vcHRpb24KK3BhcmFtZXRlci4gIEVhY2ggcGFyYW1ldGVyIGFmdGVyIGEKKy5SQiAnIFwtXC0gJworcGFyYW1ldGVyIGlzIGFsd2F5cyBpbnRlcnByZXRlZCBhcyBhIG5vblwtb3B0aW9uIHBhcmFtZXRlci4gIElmIHRoZQorZW52aXJvbm1lbnQgdmFyaWFibGUKKy5CIFBPU0lYTFlfQ09SUkVDVAoraXMgc2V0LCBvciBpZiB0aGUgc2hvcnQgb3B0aW9uIHN0cmluZyBzdGFydGVkIHdpdGggYQorLlJCICcgKyAnLAorYWxsIHJlbWFpbmluZyBwYXJhbWV0ZXJzIGFyZSBpbnRlcnByZXRlZCBhcyBub25cLW9wdGlvbiBwYXJhbWV0ZXJzIGFzCitzb29uIGFzIHRoZSBmaXJzdCBub25cLW9wdGlvbiBwYXJhbWV0ZXIgaXMgZm91bmQuCisuU0ggT1VUUFVUCitPdXRwdXQgaXMgZ2VuZXJhdGVkIGZvciBlYWNoIGVsZW1lbnQgZGVzY3JpYmVkIGluIHRoZSBwcmV2aW91cworc2VjdGlvbi4gIE91dHB1dCBpcyBkb25lIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBlbGVtZW50cyBhcmUKK3NwZWNpZmllZCBpbiB0aGUgaW5wdXQsIGV4Y2VwdCBmb3Igbm9uXC1vcHRpb24gcGFyYW1ldGVycy4gIE91dHB1dAorY2FuIGJlIGRvbmUgaW4KKy5JIGNvbXBhdGlibGUKKy5SSSAoIHVucXVvdGVkICkKK21vZGUsIG9yIGluIHN1Y2ggd2F5IHRoYXQgd2hpdGVzcGFjZSBhbmQgb3RoZXIgc3BlY2lhbCBjaGFyYWN0ZXJzCit3aXRoaW4gYXJndW1lbnRzIGFuZCBub25cLW9wdGlvbiBwYXJhbWV0ZXJzIGFyZSBwcmVzZXJ2ZWQgKHNlZQorLkJSIFFVT1RJTkcgKS4KK1doZW4gdGhlIG91dHB1dCBpcyBwcm9jZXNzZWQgaW4gdGhlIHNoZWxsIHNjcmlwdCwgaXQgd2lsbCBzZWVtIHRvIGJlCitjb21wb3NlZCBvZiBkaXN0aW5jdCBlbGVtZW50cyB0aGF0IGNhbiBiZSBwcm9jZXNzZWQgb25lIGJ5IG9uZSAoYnkKK3VzaW5nIHRoZSBzaGlmdCBjb21tYW5kIGluIG1vc3Qgc2hlbGwgbGFuZ3VhZ2VzKS4gIFRoaXMgaXMgaW1wZXJmZWN0CitpbiB1bnF1b3RlZCBtb2RlLCBhcyBlbGVtZW50cyBjYW4gYmUgc3BsaXQgYXQgdW5leHBlY3RlZCBwbGFjZXMgaWYKK3RoZXkgY29udGFpbiB3aGl0ZXNwYWNlIG9yIHNwZWNpYWwgY2hhcmFjdGVycy4KKy5QUAorSWYgdGhlcmUgYXJlIHByb2JsZW1zIHBhcnNpbmcgdGhlIHBhcmFtZXRlcnMsIGZvciBleGFtcGxlIGJlY2F1c2UgYQorcmVxdWlyZWQgYXJndW1lbnQgaXMgbm90IGZvdW5kIG9yIGFuIG9wdGlvbiBpcyBub3QgcmVjb2duaXplZCwgYW4KK2Vycm9yIHdpbGwgYmUgcmVwb3J0ZWQgb24gc3RkZXJyLCB0aGVyZSB3aWxsIGJlIG5vIG91dHB1dCBmb3IgdGhlCitvZmZlbmRpbmcgZWxlbWVudCwgYW5kIGEgbm9uXC16ZXJvIGVycm9yIHN0YXR1cyBpcyByZXR1cm5lZC4KKy5QUAorRm9yIGEgc2hvcnQgb3B0aW9uLCBhIHNpbmdsZQorLlJCICcgXC0gJworYW5kIHRoZSBvcHRpb24gY2hhcmFjdGVyIGFyZSBnZW5lcmF0ZWQgYXMgb25lIHBhcmFtZXRlci4gIElmIHRoZQorb3B0aW9uIGhhcyBhbiBhcmd1bWVudCwgdGhlIG5leHQgcGFyYW1ldGVyIHdpbGwgYmUgdGhlIGFyZ3VtZW50LiAgSWYKK3RoZSBvcHRpb24gdGFrZXMgYW4gb3B0aW9uYWwgYXJndW1lbnQsIGJ1dCBub25lIHdhcyBmb3VuZCwgdGhlIG5leHQKK3BhcmFtZXRlciB3aWxsIGJlIGdlbmVyYXRlZCBidXQgYmUgZW1wdHkgaW4gcXVvdGluZyBtb2RlLCBidXQgbm8KK3NlY29uZCBwYXJhbWV0ZXIgd2lsbCBiZSBnZW5lcmF0ZWQgaW4gdW5xdW90ZWQgKGNvbXBhdGlibGUpIG1vZGUuCitOb3RlIHRoYXQgbWFueSBvdGhlcgorLkJSIGdldG9wdCAoMSkKK2ltcGxlbWVudGF0aW9ucyBkbyBub3Qgc3VwcG9ydCBvcHRpb25hbCBhcmd1bWVudHMuCisuUFAKK0lmIHNldmVyYWwgc2hvcnQgb3B0aW9ucyB3ZXJlIHNwZWNpZmllZCBhZnRlciBhIHNpbmdsZQorLlJCICcgXC0gJywKK2VhY2ggd2lsbCBiZSBwcmVzZW50IGluIHRoZSBvdXRwdXQgYXMgYSBzZXBhcmF0ZSBwYXJhbWV0ZXIuCisuUFAKK0ZvciBhIGxvbmcgb3B0aW9uLAorLlJCICcgXC1cLSAnCithbmQgdGhlIGZ1bGwgb3B0aW9uIG5hbWUgYXJlIGdlbmVyYXRlZCBhcyBvbmUgcGFyYW1ldGVyLiAgVGhpcyBpcworZG9uZSByZWdhcmRsZXNzIHdoZXRoZXIgdGhlIG9wdGlvbiB3YXMgYWJicmV2aWF0ZWQgb3Igc3BlY2lmaWVkIHdpdGgKK2Egc2luZ2xlCisuUkIgJyBcLSAnCitpbiB0aGUgaW5wdXQuICBBcmd1bWVudHMgYXJlIGhhbmRsZWQgYXMgd2l0aCBzaG9ydCBvcHRpb25zLgorLlBQCitOb3JtYWxseSwgbm8gbm9uXC1vcHRpb24gcGFyYW1ldGVycyBvdXRwdXQgaXMgZ2VuZXJhdGVkIHVudGlsIGFsbAorb3B0aW9ucyBhbmQgdGhlaXIgYXJndW1lbnRzIGhhdmUgYmVlbiBnZW5lcmF0ZWQuICBUaGVuCisuUkIgJyBcLVwtICcKK2lzIGdlbmVyYXRlZCBhcyBhIHNpbmdsZSBwYXJhbWV0ZXIsIGFuZCBhZnRlciBpdCB0aGUgbm9uXC1vcHRpb24KK3BhcmFtZXRlcnMgaW4gdGhlIG9yZGVyIHRoZXkgd2VyZSBmb3VuZCwgZWFjaCBhcyBhIHNlcGFyYXRlCitwYXJhbWV0ZXIuICBPbmx5IGlmIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgdGhlIHNob3J0IG9wdGlvbnMgc3RyaW5nCit3YXMgYQorLlJCICcgXC0gJywKK25vblwtb3B0aW9uIHBhcmFtZXRlciBvdXRwdXQgaXMgZ2VuZXJhdGVkIGF0IHRoZSBwbGFjZSB0aGV5IGFyZSBmb3VuZAoraW4gdGhlIGlucHV0ICh0aGlzIGlzIG5vdCBzdXBwb3J0ZWQgaWYgdGhlIGZpcnN0IGZvcm1hdCBvZiB0aGUKKy5CIFNZTk9QU0lTCitpcyB1c2VkOyBpbiB0aGF0IGNhc2UgYWxsIHByZWNlZGluZyBvY2N1cnJlbmNlcyBvZgorLlJCICcgXC0gJworYW5kCisuUkIgJyArICcKK2FyZSBpZ25vcmVkKS4KKy5TSCBRVU9USU5HCitJbiBjb21wYXRpYmxlIG1vZGUsIHdoaXRlc3BhY2Ugb3IgJ3NwZWNpYWwnIGNoYXJhY3RlcnMgaW4gYXJndW1lbnRzCitvciBub25cLW9wdGlvbiBwYXJhbWV0ZXJzIGFyZSBub3QgaGFuZGxlZCBjb3JyZWN0bHkuICBBcyB0aGUgb3V0cHV0CitpcyBmZWQgdG8gdGhlIHNoZWxsIHNjcmlwdCwgdGhlIHNjcmlwdCBkb2VzIG5vdCBrbm93IGhvdyBpdCBpcworc3VwcG9zZWQgdG8gYnJlYWsgdGhlIG91dHB1dCBpbnRvIHNlcGFyYXRlIHBhcmFtZXRlcnMuICBUbyBjaXJjdW12ZW50Cit0aGlzIHByb2JsZW0sIHRoaXMgaW1wbGVtZW50YXRpb24gb2ZmZXJzIHF1b3RpbmcuICBUaGUgaWRlYSBpcyB0aGF0CitvdXRwdXQgaXMgZ2VuZXJhdGVkIHdpdGggcXVvdGVzIGFyb3VuZCBlYWNoIHBhcmFtZXRlci4gIFdoZW4gdGhpcworb3V0cHV0IGlzIG9uY2UgYWdhaW4gZmVkIHRvIHRoZSBzaGVsbCAodXN1YWxseSBieSBhIHNoZWxsCisuQiBldmFsCitjb21tYW5kKSwgaXQgaXMgc3BsaXQgY29ycmVjdGx5IGludG8gc2VwYXJhdGUgcGFyYW1ldGVycy4KKy5QUAorUXVvdGluZyBpcyBub3QgZW5hYmxlZCBpZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUKKy5CIEdFVE9QVF9DT01QQVRJQkxFCitpcyBzZXQsIGlmIHRoZSBmaXJzdCBmb3JtIG9mIHRoZQorLkIgU1lOT1BTSVMKK2lzIHVzZWQsIG9yIGlmIHRoZSBvcHRpb24KKy5SQiAnIFwtdSAnCitpcyBmb3VuZC4KKy5QUAorRGlmZmVyZW50IHNoZWxscyB1c2UgZGlmZmVyZW50IHF1b3RpbmcgY29udmVudGlvbnMuICBZb3UgY2FuIHVzZSB0aGUKKy5SQiAnIFwtcyAnCitvcHRpb24gdG8gc2VsZWN0IHRoZSBzaGVsbCB5b3UgYXJlIHVzaW5nLiAgVGhlIGZvbGxvd2luZyBzaGVsbHMgYXJlCitjdXJyZW50bHkgc3VwcG9ydGVkOgorLlJCICcgc2ggJywKKy5SQiAnIGJhc2ggJywKKy5SQiAnIGNzaCAnCithbmQKKy5SQiAnIHRjc2ggJy4KK0FjdHVhbGx5LCBvbmx5IHR3byAnZmxhdm9ycycgYXJlIGRpc3Rpbmd1aXNoZWQ6IHNoXC1saWtlIHF1b3RpbmcKK2NvbnZlbnRpb25zIGFuZCBjc2hcLWxpa2UgcXVvdGluZyBjb252ZW50aW9ucy4gIENoYW5jZXMgYXJlIHRoYXQgaWYKK3lvdSB1c2UgYW5vdGhlciBzaGVsbCBzY3JpcHQgbGFuZ3VhZ2UsIG9uZSBvZiB0aGVzZSBmbGF2b3JzIGNhbiBzdGlsbAorYmUgdXNlZC4KKy5TSCAiU0NBTk5JTkcgTU9ERVMiCitUaGUgZmlyc3QgY2hhcmFjdGVyIG9mIHRoZSBzaG9ydCBvcHRpb25zIHN0cmluZyBtYXkgYmUgYQorLlJCICcgXC0gJworb3IgYQorLlJCICcgKyAnCit0byBpbmRpY2F0ZSBhIHNwZWNpYWwgc2Nhbm5pbmcgbW9kZS4gIElmIHRoZSBmaXJzdCBjYWxsaW5nIGZvcm0gaW4KK3RoZQorLkIgU1lOT1BTSVMKK2lzIHVzZWQgdGhleSBhcmUgaWdub3JlZDsgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlCisuQiBQT1NJWExZX0NPUlJFQ1QKK2lzIHN0aWxsIGV4YW1pbmVkLCB0aG91Z2guCisuUFAKK0lmIHRoZSBmaXJzdCBjaGFyYWN0ZXIgaXMKKy5SQiAnICsgJywKK29yIGlmIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZQorLkIgUE9TSVhMWV9DT1JSRUNUCitpcyBzZXQsIHBhcnNpbmcgc3RvcHMgYXMgc29vbiBhcyB0aGUgZmlyc3Qgbm9uXC1vcHRpb24gcGFyYW1ldGVyCisoaS5lLiBhIHBhcmFtZXRlciB0aGF0IGRvZXMgbm90IHN0YXJ0IHdpdGggYQorLlJCICcgXC0gJykKK2lzIGZvdW5kIHRoYXQgaXMgbm90IGFuIG9wdGlvbiBhcmd1bWVudC4gIFRoZSByZW1haW5pbmcgcGFyYW1ldGVycworYXJlIGFsbCBpbnRlcnByZXRlZCBhcyBub25cLW9wdGlvbiBwYXJhbWV0ZXJzLgorLlBQCitJZiB0aGUgZmlyc3QgY2hhcmFjdGVyIGlzIGEKKy5SQiAnIFwtICcsCitub25cLW9wdGlvbiBwYXJhbWV0ZXJzIGFyZSBvdXRwdXR0ZWQgYXQgdGhlIHBsYWNlIHdoZXJlIHRoZXkgYXJlCitmb3VuZDsgaW4gbm9ybWFsIG9wZXJhdGlvbiwgdGhleSBhcmUgYWxsIGNvbGxlY3RlZCBhdCB0aGUgZW5kIG9mCitvdXRwdXQgYWZ0ZXIgYQorLlJCICcgXC1cLSAnCitwYXJhbWV0ZXIgaGFzIGJlZW4gZ2VuZXJhdGVkLiAgTm90ZSB0aGF0IHRoaXMKKy5SQiAnIFwtXC0gJworcGFyYW1ldGVyIGlzIHN0aWxsIGdlbmVyYXRlZCwgYnV0IGl0IHdpbGwgYWx3YXlzIGJlIHRoZSBsYXN0CitwYXJhbWV0ZXIgaW4gdGhpcyBtb2RlLgorLlNIIENPTVBBVElCSUxJVFkKK1RoaXMgdmVyc2lvbiBvZgorLkJSIGdldG9wdCAoMSkKK2lzIHdyaXR0ZW4gdG8gYmUgYXMgY29tcGF0aWJsZSBhcyBwb3NzaWJsZSB0byBvdGhlciB2ZXJzaW9ucy4KK1VzdWFsbHkgeW91IGNhbiBqdXN0IHJlcGxhY2UgdGhlbSB3aXRoIHRoaXMgdmVyc2lvbiB3aXRob3V0IGFueQorbW9kaWZpY2F0aW9ucywgYW5kIHdpdGggc29tZSBhZHZhbnRhZ2VzLgorLlBQCitJZiB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIHRoZSBmaXJzdCBwYXJhbWV0ZXIgb2YgZ2V0b3B0IGlzIG5vdCBhCisuUkIgJyBcLSAnLAorLkIgZ2V0b3B0Citnb2VzIGludG8gY29tcGF0aWJpbGl0eSBtb2RlLiAgSXQgd2lsbCBpbnRlcnByZXQgaXRzIGZpcnN0CitwYXJhbWV0ZXIgYXMgdGhlIHN0cmluZyBvZiBzaG9ydCBvcHRpb25zLCBhbmQgYWxsIG90aGVyIGFyZ3VtZW50cword2lsbCBiZSBwYXJzZWQuICBJdCB3aWxsIHN0aWxsIGRvIHBhcmFtZXRlciBzaHVmZmxpbmcgKGkuZS4gYWxsCitub25cLW9wdGlvbiBwYXJhbWV0ZXJzIGFyZSBvdXRwdXQgYXQgdGhlIGVuZCksIHVubGVzcyB0aGUKK2Vudmlyb25tZW50IHZhcmlhYmxlCisuQiBQT1NJWExZX0NPUlJFQ1QKK2lzIHNldC4KKy5QUAorVGhlIGVudmlyb25tZW50IHZhcmlhYmxlCisuQiBHRVRPUFRfQ09NUEFUSUJMRQorZm9yY2VzCisuQiBnZXRvcHQKK2ludG8gY29tcGF0aWJpbGl0eSBtb2RlLiAgU2V0dGluZyBib3RoIHRoaXMgZW52aXJvbm1lbnQgdmFyaWFibGUgYW5kCisuQiBQT1NJWExZX0NPUlJFQ1QKK29mZmVycyAxMDAlIGNvbXBhdGliaWxpdHkgZm9yICdkaWZmaWN1bHQnIHByb2dyYW1zLiAgVXN1YWxseSwgdGhvdWdoLAorbmVpdGhlciBpcyBuZWVkZWQuCisuUFAKK0luIGNvbXBhdGliaWxpdHkgbW9kZSwgbGVhZGluZworLlJCICcgXC0gJworYW5kCisuUkIgJyArICcKK2NoYXJhY3RlcnMgaW4gdGhlIHNob3J0IG9wdGlvbnMgc3RyaW5nIGFyZSBpZ25vcmVkLgorLlNIIFJFVFVSTiBDT0RFUworLkIgZ2V0b3B0CityZXR1cm5zIGVycm9yIGNvZGUKKy5CIDAKK2ZvciBzdWNjZXNzZnVsIHBhcnNpbmcsCisuQiAxCitpZgorLkJSIGdldG9wdCAoMykKK3JldHVybnMgZXJyb3JzLAorLkIgMgoraWYgaXQgZG9lcyBub3QgdW5kZXJzdGFuZCBpdHMgb3duIHBhcmFtZXRlcnMsCisuQiAzCitpZiBhbiBpbnRlcm5hbCBlcnJvciBvY2N1cnMgbGlrZSBvdXRcLW9mXC1tZW1vcnksIGFuZAorLkIgNAoraWYgaXQgaXMgY2FsbGVkIHdpdGgKKy5CUiBcLVQgLgorLlNIIEVYQU1QTEVTCitFeGFtcGxlIHNjcmlwdHMgZm9yIChiYSlzaCBhbmQgKHQpY3NoIGFyZSBwcm92aWRlZCB3aXRoIHRoZQorLkJSIGdldG9wdCAoMSkKK2Rpc3RyaWJ1dGlvbiwgYW5kIGFyZSBvcHRpb25hbGx5IGluc3RhbGxlZCBpbgorLklSIC91c3Ivc2hhcmUvZ2V0b3B0Lworb3IKKy5JUiAvdXNyL3NoYXJlL2RvYy8KK2luIHRoZSB1dGlsLWxpbnV4IHN1YmRpcmVjdG9yeS4KKy5TSCBFTlZJUk9OTUVOVAorLklQIFBPU0lYTFlfQ09SUkVDVAorVGhpcyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBleGFtaW5lZCBieSB0aGUKKy5CUiBnZXRvcHQgKDMpCityb3V0aW5lcy4gIElmIGl0IGlzIHNldCwgcGFyc2luZyBzdG9wcyBhcyBzb29uIGFzIGEgcGFyYW1ldGVyIGlzCitmb3VuZCB0aGF0IGlzIG5vdCBhbiBvcHRpb24gb3IgYW4gb3B0aW9uIGFyZ3VtZW50LiAgQWxsIHJlbWFpbmluZworcGFyYW1ldGVycyBhcmUgYWxzbyBpbnRlcnByZXRlZCBhcyBub25cLW9wdGlvbiBwYXJhbWV0ZXJzLCByZWdhcmRsZXNzCit3aGV0aGVyIHRoZXkgc3RhcnQgd2l0aCBhCisuUkIgJyBcLSAnLgorLklQIEdFVE9QVF9DT01QQVRJQkxFCitGb3JjZXMKKy5CIGdldG9wdAordG8gdXNlIHRoZSBmaXJzdCBjYWxsaW5nIGZvcm1hdCBhcyBzcGVjaWZpZWQgaW4gdGhlCisuQlIgU1lOT1BTSVMgLgorLlNIIEJVR1MKKy5CUiBnZXRvcHQgKDMpCitjYW4gcGFyc2UgbG9uZyBvcHRpb25zIHdpdGggb3B0aW9uYWwgYXJndW1lbnRzIHRoYXQgYXJlIGdpdmVuIGFuCitlbXB0eSBvcHRpb25hbCBhcmd1bWVudCAoYnV0IGNhbiBub3QgZG8gdGhpcyBmb3Igc2hvcnQgb3B0aW9ucykuCitUaGlzCisuQlIgZ2V0b3B0ICgxKQordHJlYXRzIG9wdGlvbmFsIGFyZ3VtZW50cyB0aGF0IGFyZSBlbXB0eSBhcyBpZiB0aGV5IHdlcmUgbm90IHByZXNlbnQuCisuUFAKK1RoZSBzeW50YXggaWYgeW91IGRvIG5vdCB3YW50IGFueSBzaG9ydCBvcHRpb24gdmFyaWFibGVzIGF0IGFsbCBpcworbm90IHZlcnkgaW50dWl0aXZlICh5b3UgaGF2ZSB0byBzZXQgdGhlbSBleHBsaWNpdGx5IHRvIHRoZSBlbXB0eQorc3RyaW5nKS4KKy5TSCBBVVRIT1IKKy5NVCBmcm9kb0Bmcm9kby5sb29pamFhcmQubmFtZQorRnJvZG8gTG9vaWphYXJkCisuTUUKKy5TSCAiU0VFIEFMU08iCisuQlIgYmFzaCAoMSksCisuQlIgdGNzaCAoMSksCisuQlIgZ2V0b3B0ICgzKQorLlNIIEFWQUlMQUJJTElUWQorVGhlIGdldG9wdCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBmdHA6Ly9cOmZ0cC5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvZ2V0b3B0LmMgYi9taXNjLXV0aWxzL2dldG9wdC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0Y2ZlYzUKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL2dldG9wdC5jCkBAIC0wLDAgKzEsNDc1IEBACisvKgorICogIGdldG9wdC5jIC0gRW5oYW5jZWQgaW1wbGVtZW50YXRpb24gb2YgQlNEIGdldG9wdCgxKQorICogIENvcHlyaWdodCAoYykgMTk5Ny0yMDE0IEZyb2RvIExvb2lqYWFyZCA8ZnJvZG9AZnJvZG8ubG9vaWphYXJkLm5hbWU+CisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgKiAgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyAqICA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorICovCisKKy8qCisgKiBWZXJzaW9uIDEuMC1iNDogVHVlIFNlcCAyMyAxOTk3LiBGaXJzdCBwdWJsaWMgcmVsZWFzZS4KKyAqIFZlcnNpb24gMS4wOiBXZWQgTm92IDE5IDE5OTcuCisgKiAgIEJ1bXBlZCB1cCB0aGUgdmVyc2lvbiBudW1iZXIgdG8gMS4wCisgKiAgIEZpeGVkIG1pbm9yIHR5cG8gKENTSCBpbnN0ZWFkIG9mIFRDU0gpCisgKiBWZXJzaW9uIDEuMC4xOiBUdWUgSnVuIDMgMTk5OAorICogICBGaXhlZCBzaXplb2YgaW5zdGVhZCBvZiBzdHJsZW4gYnVnCisgKiAgIEJ1bXBlZCB1cCB0aGUgdmVyc2lvbiBudW1iZXIgdG8gMS4wLjEKKyAqIFZlcnNpb24gMS4wLjI6IFRodSBKdW4gMTEgMTk5OCAobm90IHByZXNlbnQpCisgKiAgIEZpeGVkIGdjYy0yLjguMSB3YXJuaW5ncworICogICBGaXhlZCAtLXZlcnNpb24vLVYgb3B0aW9uIChub3QgcHJlc2VudCkKKyAqIFZlcnNpb24gMS4wLjU6IFR1ZSBKdW4gMjIgMTk5OQorICogICBNYWtlIC11IG9wdGlvbiB3b3JrIChub3QgcHJlc2VudCkKKyAqIFZlcnNpb24gMS4wLjY6IFR1ZSBKdW4gMjcgMjAwMAorICogICBObyBpbXBvcnRhbnQgY2hhbmdlcworICogVmVyc2lvbiAxLjEuMDogVHVlIEp1biAzMCAyMDAwCisgKiAgIEFkZGVkIE5MUyBzdXBwb3J0IChwYXJ0bHkgd3JpdHRlbiBieSBBcmthZGl1c3ogTWnFm2tpZXdpY3oKKyAqICAgICA8bWlzaWVrQHBsZC5vcmcucGw+KQorICogVmVyc2lvbiAxLjEuNDogTW9uIE5vdiA3IDIwMDUKKyAqICAgRml4ZWQgYSBmZXcgdHlwZSdzIGluIHRoZSBtYW5wYWdlCisgKiBWZXJzaW9uIDEuMS41OiBTdW4gQXVnIDEyIDIwMTIKKyAqICBTeW5jIHdpdGggdXRpbC1saW51eC0yLjIxLCBmaXhlZCBidWlsZCBwcm9ibGVtcywgbWFueSBuZXcgdHJhbnNsYXRpb25zCisgKiBWZXJzaW9uIDEuMS42OiBNb24gTm92IDI0IDIwMTQKKyAqICBTeW5jIHdpdGggdXRpbC1saW51eCBnaXQgMjAxNDExMjAsIGRldGVjdCBhbWJpZ3VvdXMgbG9uZyBvcHRpb25zLCBmaXgKKyAqICBiYWNrc2xhc2ggcHJvYmxlbSBpbiB0Y3NoCisgKi8KKworLyogRXhpdCBjb2RlczoKKyAqICAgMCkgTm8gZXJyb3JzLCBzdWNjZXNzZnVsIG9wZXJhdGlvbi4KKyAqICAgMSkgZ2V0b3B0KDMpIHJldHVybmVkIGFuIGVycm9yLgorICogICAyKSBBIHByb2JsZW0gd2l0aCBwYXJhbWV0ZXIgcGFyc2luZyBmb3IgZ2V0b3B0KDEpLgorICogICAzKSBJbnRlcm5hbCBlcnJvciwgb3V0IG9mIG1lbW9yeQorICogICA0KSBSZXR1cm5lZCBmb3IgLVQKKyAqLworI2RlZmluZSBHRVRPUFRfRVhJVF9DT0RFCTEKKyNkZWZpbmUgUEFSQU1FVEVSX0VYSVRfQ09ERQkyCisjZGVmaW5lIFhBTExPQ19FWElUX0NPREUJMworI2RlZmluZSBDTE9TRV9FWElUX0NPREUJCVhBTExPQ19FWElUX0NPREUKKyNkZWZpbmUgVEVTVF9FWElUX0NPREUJCTQKKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpZmRlZiBIQVZFX1NZU19QQVJBTV9ICisjIGluY2x1ZGUgPHN5cy9wYXJhbS5oPiAvKiBCU0QgKi8KKyNlbmRpZgorCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKworLyogTk9OX09QVCBpcyB0aGUgY29kZSB0aGF0IGlzIHJldHVybmVkIGdldG9wdCgzKSB3aGVuIGEgbm9uLW9wdGlvbiBpcworICogZm91bmQgaW4gJ2NoYXIgb3B0c3RyaW5nW109Ii1hYmMuLi4iOycsIGUuZy4sIGl0IGJlZ2lucyBieSAnLScgKi8KKyNkZWZpbmUgTk9OX09QVCAxCisvKiBMT05HX09QVCBpcyB0aGUgY29kZSB0aGF0IGlzIHJldHVybmVkIHdoZW4gYSBsb25nIG9wdGlvbiBpcyBmb3VuZC4gKi8KKyNkZWZpbmUgTE9OR19PUFQgMAorCisvKiBUaGUgc2hlbGxzIHJlY29nbml6ZWQuICovCit0eXBlZGVmIGVudW0geyBCQVNILCBUQ1NIIH0gc2hlbGxfdDsKKworc3RydWN0IGdldG9wdF9jb250cm9sIHsKKwlzaGVsbF90IHNoZWxsOwkJCS8qIHRoZSBzaGVsbCB3ZSBnZW5lcmF0ZSBvdXRwdXQgZm9yICovCisJY2hhciAqb3B0c3RyOwkJCS8qIGdldG9wdCgzKSBvcHRzdHJpbmcgKi8KKwljaGFyICpuYW1lOworCXN0cnVjdCBvcHRpb24gKmxvbmdfb3B0aW9uczsJLyogbG9uZyBvcHRpb25zICovCisJaW50IGxvbmdfb3B0aW9uc19sZW5ndGg7CS8qIGxlbmd0aCBvZiBvcHRpb25zIGFycmF5ICovCisJaW50IGxvbmdfb3B0aW9uc19ucjsJCS8qIG51bWJlciBvZiB1c2VkIGVsZW1lbnRzIGluIGFycmF5ICovCisJdW5zaWduZWQgaW50CisJCWNvbXBhdGlibGU6MSwJCS8qIGNvbXBhdGliaWxpdHkgbW9kZSBmb3IgJ2RpZmZpY3VsdCcgcHJvZ3JhbXMgKi8KKwkJcXVpZXRfZXJyb3JzOjEsCQkvKiBwcmludCBlcnJvcnMgKi8KKwkJcXVpZXRfb3V0cHV0OjEsCQkvKiBwcmludCBvdXRwdXQgKi8KKwkJcXVvdGU6MTsJCS8qIHF1b3RlIG91dHB1dCAqLworfTsKKworZW51bSB7IFJFQUxMT0NfSU5DUkVNRU5UID0gOCB9OworCisvKiBBbGxvdyBjaGFuZ2luZyB3aGljaCBnZXRvcHQgaXMgaW4gdXNlIHdpdGggZnVuY3Rpb24gcG9pbnRlci4gKi8KK2ludCAoKmdldG9wdF9sb25nX2ZwKSAoaW50IGFyZ2MsIGNoYXIgKmNvbnN0ICphcmd2LCBjb25zdCBjaGFyICpvcHRzdHIsCisJCSAgICAgICBjb25zdCBzdHJ1Y3Qgb3B0aW9uICogbG9uZ29wdHMsIGludCAqbG9uZ2luZGV4KTsKKworLyoKKyAqIFRoaXMgZnVuY3Rpb24gJ25vcm1hbGl6ZXMnIGEgc2luZ2xlIGFyZ3VtZW50OiBpdCBwdXRzIHNpbmdsZSBxdW90ZXMKKyAqIGFyb3VuZCBpdCBhbmQgZXNjYXBlcyBvdGhlciBzcGVjaWFsIGNoYXJhY3RlcnMuIElmIHF1b3RlIGlzIGZhbHNlLCBpdAorICoganVzdCByZXR1cm5zIGl0cyBhcmd1bWVudC4KKyAqCisgKiBCYXNoIG9ubHkgbmVlZHMgc3BlY2lhbCB0cmVhdG1lbnQgZm9yIHNpbmdsZSBxdW90ZXM7IHRjc2ggYWxzbyByZWNvZ25pemVzCisgKiBleGNsYW1hdGlvbiBtYXJrcyB3aXRoaW4gc2luZ2xlIHF1b3RlcywgYW5kIG51a2VzIHdoaXRlc3BhY2UuIFRoaXMKKyAqIGZ1bmN0aW9uIHJldHVybnMgYSBwb2ludGVyIHRvIGEgYnVmZmVyIHRoYXQgaXMgb3ZlcndyaXR0ZW4gYnkgZWFjaCBjYWxsLgorICovCitzdGF0aWMgdm9pZCBwcmludF9ub3JtYWxpemVkKGNvbnN0IHN0cnVjdCBnZXRvcHRfY29udHJvbCAqY3RsLCBjb25zdCBjaGFyICphcmcpCit7CisJY2hhciAqYnVmOworCWNvbnN0IGNoYXIgKmFyZ3B0ciA9IGFyZzsKKwljaGFyICpidWZwdHI7CisKKwlpZiAoIWN0bC0+cXVvdGUpIHsKKwkJcHJpbnRmKCIgJXMiLCBhcmcpOworCQlyZXR1cm47CisJfQorCisJLyoKKwkgKiBFYWNoIGNoYXJhY3RlciBpbiBhcmcgbWF5IHRha2UgdXAgdG8gZm91ciBjaGFyYWN0ZXJzIGluIHRoZQorCSAqIHJlc3VsdDogRm9yIGEgcXVvdGUgd2UgbmVlZCBhIGNsb3NpbmcgcXVvdGUsIGEgYmFja3NsYXNoLCBhIHF1b3RlCisJICogYW5kIGFuIG9wZW5pbmcgcXVvdGUhIFdlIG5lZWQgYWxzbyB0aGUgZ2xvYmFsIG9wZW5pbmcgYW5kIGNsb3NpbmcKKwkgKiBxdW90ZSwgYW5kIG9uZSBleHRyYSBjaGFyYWN0ZXIgZm9yICdcMCcuCisJICovCisJYnVmID0geG1hbGxvYyhzdHJsZW4oYXJnKSAqIDQgKyAzKTsKKwlidWZwdHIgPSBidWY7CisKKwlmb3IgKCpidWZwdHIrKyA9ICdcJyc7ICphcmdwdHI7IGFyZ3B0cisrKSB7CisJCWlmIChjdGwtPnNoZWxsID09IFRDU0gpIHsKKwkJCXN3aXRjaCAoKmFyZ3B0cikgeworCQkJY2FzZSAnXFwnOgorCQkJCS8qIEJhY2tzbGFzaDogcmVwbGFjZSBpdCB3aXRoOiAnXFwnICovCisJCQkJKmJ1ZnB0cisrID0gJ1xcJzsKKwkJCQkqYnVmcHRyKysgPSAnXFwnOworCQkJCWNvbnRpbnVlOworCQkJY2FzZSAnISc6CisJCQkJLyogRXhjbGFtYXRpb24gbWFyazogcmVwbGFjZSBpdCB3aXRoOiBcISAqLworCQkJCSpidWZwdHIrKyA9ICdcJyc7CisJCQkJKmJ1ZnB0cisrID0gJ1xcJzsKKwkJCQkqYnVmcHRyKysgPSAnISc7CisJCQkJKmJ1ZnB0cisrID0gJ1wnJzsKKwkJCQljb250aW51ZTsKKwkJCWNhc2UgJ1xuJzoKKwkJCQkvKiBOZXdsaW5lOiByZXBsYWNlIGl0IHdpdGg6IFxuICovCisJCQkJKmJ1ZnB0cisrID0gJ1xcJzsKKwkJCQkqYnVmcHRyKysgPSAnbic7CisJCQkJY29udGludWU7CisJCQl9CisJCQlpZiAoaXNzcGFjZSgqYXJncHRyKSkgeworCQkJCS8qIE5vbi1uZXdsaW5lIHdoaXRlc3BhY2U6IHJlcGxhY2UgaXQgd2l0aCBcPHdzPiAqLworCQkJCSpidWZwdHIrKyA9ICdcJyc7CisJCQkJKmJ1ZnB0cisrID0gJ1xcJzsKKwkJCQkqYnVmcHRyKysgPSAqYXJncHRyOworCQkJCSpidWZwdHIrKyA9ICdcJyc7CisJCQkJY29udGludWU7CisJCQl9CisJCX0KKwkJaWYgKCphcmdwdHIgPT0gJ1wnJykgeworCQkJLyogUXVvdGU6IHJlcGxhY2UgaXQgd2l0aDogJ1wnJyAqLworCQkJKmJ1ZnB0cisrID0gJ1wnJzsKKwkJCSpidWZwdHIrKyA9ICdcXCc7CisJCQkqYnVmcHRyKysgPSAnXCcnOworCQkJKmJ1ZnB0cisrID0gJ1wnJzsKKwkJfSBlbHNlCisJCQkvKiBKdXN0IGNvcHkgKi8KKwkJCSpidWZwdHIrKyA9ICphcmdwdHI7CisJfQorCisJKmJ1ZnB0cisrID0gJ1wnJzsKKwkqYnVmcHRyKysgPSAnXDAnOworCXByaW50ZigiICVzIiwgYnVmKTsKKwlmcmVlKGJ1Zik7Cit9CisKKy8qCisgKiBHZW5lcmF0ZSB0aGUgb3V0cHV0LiBhcmd2WzBdIGlzIHRoZSBwcm9ncmFtIG5hbWUgKHVzZWQgZm9yIHJlcG9ydGluZyBlcnJvcnMpLgorICogYXJndlsxLi5dIGNvbnRhaW5zIHRoZSBvcHRpb25zIHRvIGJlIHBhcnNlZC4gYXJnYyBtdXN0IGJlIHRoZSBudW1iZXIgb2YKKyAqIGVsZW1lbnRzIGluIGFyZ3YgKGllLiAxIGlmIHRoZXJlIGFyZSBubyBvcHRpb25zLCBvbmx5IHRoZSBwcm9ncmFtIG5hbWUpLAorICogb3B0c3RyIG11c3QgY29udGFpbiB0aGUgc2hvcnQgb3B0aW9ucywgYW5kIGxvbmdvcHRzIHRoZSBsb25nIG9wdGlvbnMuCisgKiBPdGhlciBzZXR0aW5ncyBhcmUgZm91bmQgaW4gZ2xvYmFsIHZhcmlhYmxlcy4KKyAqLworc3RhdGljIGludCBnZW5lcmF0ZV9vdXRwdXQoc3RydWN0IGdldG9wdF9jb250cm9sICpjdGwsIGNoYXIgKmFyZ3ZbXSwgaW50IGFyZ2MpCit7CisJaW50IGV4aXRfY29kZSA9IEVYSVRfU1VDQ0VTUzsJLyogQXNzdW1lIGV2ZXJ5dGhpbmcgd2lsbCBiZSBPSyAqLworCWludCBvcHQ7CisJaW50IGxvbmdpbmRleDsKKwljb25zdCBjaGFyICpjaGFycHRyOworCisJaWYgKGN0bC0+cXVpZXRfZXJyb3JzKQorCQkvKiBObyBlcnJvciByZXBvcnRpbmcgZnJvbSBnZXRvcHQoMykgKi8KKwkJb3B0ZXJyID0gMDsKKwkvKiBSZXNldCBnZXRvcHQoMykgKi8KKwlvcHRpbmQgPSAwOworCisJd2hpbGUgKChvcHQgPQorCQkoZ2V0b3B0X2xvbmdfZnAKKwkJIChhcmdjLCBhcmd2LCBjdGwtPm9wdHN0ciwKKwkJICAoY29uc3Qgc3RydWN0IG9wdGlvbiAqKWN0bC0+bG9uZ19vcHRpb25zLCAmbG9uZ2luZGV4KSkpCisJICAgICAgICE9IEVPRikgeworCQlpZiAob3B0ID09ICc/JyB8fCBvcHQgPT0gJzonKQorCQkJZXhpdF9jb2RlID0gR0VUT1BUX0VYSVRfQ09ERTsKKwkJZWxzZSBpZiAoIWN0bC0+cXVpZXRfb3V0cHV0KSB7CisJCQlzd2l0Y2ggKG9wdCkgeworCQkJY2FzZSBMT05HX09QVDoKKwkJCQlwcmludGYoIiAtLSVzIiwgY3RsLT5sb25nX29wdGlvbnNbbG9uZ2luZGV4XS5uYW1lKTsKKwkJCQlpZiAoY3RsLT5sb25nX29wdGlvbnNbbG9uZ2luZGV4XS5oYXNfYXJnKQorCQkJCQlwcmludF9ub3JtYWxpemVkKGN0bCwgb3B0YXJnID8gb3B0YXJnIDogIiIpOworCQkJCWJyZWFrOworCQkJY2FzZSBOT05fT1BUOgorCQkJCXByaW50X25vcm1hbGl6ZWQoY3RsLCBvcHRhcmcgPyBvcHRhcmcgOiAiIik7CisJCQkJYnJlYWs7CisJCQlkZWZhdWx0OgorCQkJCXByaW50ZigiIC0lYyIsIG9wdCk7CisJCQkJY2hhcnB0ciA9IHN0cmNocihjdGwtPm9wdHN0ciwgb3B0KTsKKwkJCQlpZiAoY2hhcnB0ciAhPSBOVUxMICYmICorK2NoYXJwdHIgPT0gJzonKQorCQkJCQlwcmludF9ub3JtYWxpemVkKGN0bCwgb3B0YXJnID8gb3B0YXJnIDogIiIpOworCQkJfQorCQl9CisJfQorCWlmICghY3RsLT5xdWlldF9vdXRwdXQpIHsKKwkJcHJpbnRmKCIgLS0iKTsKKwkJd2hpbGUgKG9wdGluZCA8IGFyZ2MpCisJCQlwcmludF9ub3JtYWxpemVkKGN0bCwgYXJndltvcHRpbmQrK10pOworCQlwcmludGYoIlxuIik7CisJfQorCWZvciAobG9uZ2luZGV4ID0gMDsgbG9uZ2luZGV4IDwgY3RsLT5sb25nX29wdGlvbnNfbnI7IGxvbmdpbmRleCsrKQorCQlmcmVlKChjaGFyICopY3RsLT5sb25nX29wdGlvbnNbbG9uZ2luZGV4XS5uYW1lKTsKKwlmcmVlKGN0bC0+bG9uZ19vcHRpb25zKTsKKwlmcmVlKGN0bC0+b3B0c3RyKTsKKwlmcmVlKGN0bC0+bmFtZSk7CisJcmV0dXJuIGV4aXRfY29kZTsKK30KKworLyoKKyAqIFJlcG9ydCBhbiBlcnJvciB3aGVuIHBhcnNpbmcgZ2V0b3B0J3Mgb3duIGFyZ3VtZW50cy4gSWYgbWVzc2FnZSBpcyBOVUxMLAorICogd2UgYWxyZWFkeSBzZW50IGEgbWVzc2FnZSwgd2UganVzdCBleGl0IHdpdGggYSBoZWxwZnVsIGhpbnQuCisgKi8KK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKSBwYXJzZV9lcnJvcihjb25zdCBjaGFyICptZXNzYWdlKQoreworCWlmIChtZXNzYWdlKQorCQl3YXJueCgiJXMiLCBtZXNzYWdlKTsKKwlmcHJpbnRmKHN0ZGVyciwgXygiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIiksCisJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKwlleGl0KFBBUkFNRVRFUl9FWElUX0NPREUpOworfQorCisKKy8qIFJlZ2lzdGVyIGEgbG9uZyBvcHRpb24uIFRoZSBjb250ZW50cyBvZiBuYW1lIGlzIGNvcGllZC4gKi8KK3N0YXRpYyB2b2lkIGFkZF9sb25nb3B0KHN0cnVjdCBnZXRvcHRfY29udHJvbCAqY3RsLCBjb25zdCBjaGFyICpuYW1lLCBpbnQgaGFzX2FyZykKK3sKKwlzdGF0aWMgaW50IGZsYWc7CisJaW50IG5yID0gY3RsLT5sb25nX29wdGlvbnNfbnI7CisKKwlpZiAoY3RsLT5sb25nX29wdGlvbnNfbnIgPT0gY3RsLT5sb25nX29wdGlvbnNfbGVuZ3RoKSB7CisJCWN0bC0+bG9uZ19vcHRpb25zX2xlbmd0aCArPSBSRUFMTE9DX0lOQ1JFTUVOVDsKKwkJY3RsLT5sb25nX29wdGlvbnMgPSB4cmVhbGxvYyhjdGwtPmxvbmdfb3B0aW9ucywKKwkJCQkJICAgICBzaXplb2Yoc3RydWN0IG9wdGlvbikgKgorCQkJCQkgICAgIGN0bC0+bG9uZ19vcHRpb25zX2xlbmd0aCk7CisJfQorCWlmIChuYW1lKSB7CisJCS8qIE5vdCBmb3IgaW5pdCEgKi8KKwkJY3RsLT5sb25nX29wdGlvbnNbbnJdLmhhc19hcmcgPSBoYXNfYXJnOworCQljdGwtPmxvbmdfb3B0aW9uc1tucl0uZmxhZyA9ICZmbGFnOworCQljdGwtPmxvbmdfb3B0aW9uc1tucl0udmFsID0gY3RsLT5sb25nX29wdGlvbnNfbnI7CisJCWN0bC0+bG9uZ19vcHRpb25zW25yXS5uYW1lID0geHN0cmR1cChuYW1lKTsKKwl9IGVsc2UgeworCQkvKiBsZXRzIHVzZSBhZGRfbG9uZ29wdChjdCwgTlVMTCwgMCkgdG8gdGVybWluYXRlIHRoZSBhcnJheSAqLworCQljdGwtPmxvbmdfb3B0aW9uc1tucl0ubmFtZSA9IE5VTEw7CisJCWN0bC0+bG9uZ19vcHRpb25zW25yXS5oYXNfYXJnID0gMDsKKwkJY3RsLT5sb25nX29wdGlvbnNbbnJdLmZsYWcgPSBOVUxMOworCQljdGwtPmxvbmdfb3B0aW9uc1tucl0udmFsID0gMDsKKwl9Cit9CisKKworLyoKKyAqIFJlZ2lzdGVyIHNldmVyYWwgbG9uZyBvcHRpb25zLiBvcHRpb25zIGlzIGEgc3RyaW5nIG9mIGxvbmcgb3B0aW9ucywKKyAqIHNlcGFyYXRlZCBieSBjb21tYXMgb3Igd2hpdGVzcGFjZS4gVGhpcyBudWtlcyBvcHRpb25zIQorICovCitzdGF0aWMgdm9pZCBhZGRfbG9uZ19vcHRpb25zKHN0cnVjdCBnZXRvcHRfY29udHJvbCAqY3RsLCBjaGFyICpvcHRpb25zKQoreworCWludCBhcmdfb3B0OworCWNoYXIgKnRva3B0ciA9IHN0cnRvayhvcHRpb25zLCAiLCBcdFxuIik7CisKKwl3aGlsZSAodG9rcHRyKSB7CisJCXNpemVfdCBsZW4gPSBzdHJsZW4odG9rcHRyKTsKKworCQlhcmdfb3B0ID0gbm9fYXJndW1lbnQ7CisJCWlmIChsZW4gPiAwKSB7CisJCQlpZiAodG9rcHRyW2xlbiAtIDFdID09ICc6JykgeworCQkJCWlmICh0b2twdHJbbGVuIC0gMl0gPT0gJzonKSB7CisJCQkJCXRva3B0cltsZW4gLSAyXSA9ICdcMCc7CisJCQkJCWFyZ19vcHQgPSBvcHRpb25hbF9hcmd1bWVudDsKKwkJCQl9IGVsc2UgeworCQkJCQl0b2twdHJbbGVuIC0gMV0gPSAnXDAnOworCQkJCQlhcmdfb3B0ID0gcmVxdWlyZWRfYXJndW1lbnQ7CisJCQkJfQorCQkJCWlmICghKnRva3B0cikKKwkJCQkJcGFyc2VfZXJyb3IoXworCQkJCQkJICAgICgiZW1wdHkgbG9uZyBvcHRpb24gYWZ0ZXIgIgorCQkJCQkJICAgICAiLWwgb3IgLS1sb25nIGFyZ3VtZW50IikpOworCQkJfQorCQkJYWRkX2xvbmdvcHQoY3RsLCB0b2twdHIsIGFyZ19vcHQpOworCQkJY3RsLT5sb25nX29wdGlvbnNfbnIrKzsKKwkJfQorCQl0b2twdHIgPSBzdHJ0b2soTlVMTCwgIiwgXHRcbiIpOworCX0KKwlhZGRfbG9uZ29wdChjdGwsIE5VTEwsIDApOwkvKiBlbnN1cmUgbG9uZ19vcHRpb25zW10gaXMgbm90IGZ1bGwgKi8KK30KKworc3RhdGljIHNoZWxsX3Qgc2hlbGxfdHlwZShjb25zdCBjaGFyICpuZXdfc2hlbGwpCit7CisJaWYgKCFzdHJjbXAobmV3X3NoZWxsLCAiYmFzaCIpKQorCQlyZXR1cm4gQkFTSDsKKwlpZiAoIXN0cmNtcChuZXdfc2hlbGwsICJzaCIpKQorCQlyZXR1cm4gQkFTSDsKKwlpZiAoIXN0cmNtcChuZXdfc2hlbGwsICJ0Y3NoIikpCisJCXJldHVybiBUQ1NIOworCWlmICghc3RyY21wKG5ld19zaGVsbCwgImNzaCIpKQorCQlyZXR1cm4gVENTSDsKKwlwYXJzZV9lcnJvcihfKCJ1bmtub3duIHNoZWxsIGFmdGVyIC1zIG9yIC0tc2hlbGwgYXJndW1lbnQiKSk7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKSBwcmludF9oZWxwKHZvaWQpCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBzdGRlcnIpOworCWZwcmludGYoc3RkZXJyLCBfKAorCQkiICUxJHMgPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisJCSIgJTEkcyBbb3B0aW9uc10gWy0tXSA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKwkJIiAlMSRzIFtvcHRpb25zXSAtb3wtLW9wdGlvbnMgPG9wdHN0cmluZz4gW29wdGlvbnNdIFstLV0gPHBhcmFtZXRlcnM+XG4iKSwKKwkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBzdGRlcnIpOworCWZwdXRzKF8oIlBhcnNlIGNvbW1hbmQgb3B0aW9ucy5cbiIpLCBzdGRlcnIpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgc3RkZXJyKTsKKwlmcHV0cyhfKCIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAgYWxsb3cgbG9uZyBvcHRpb25zIHN0YXJ0aW5nIHdpdGggc2luZ2xlIC1cbiIpLCBzdGRlcnIpOworCWZwdXRzKF8oIiAtbCwgLS1sb25nb3B0aW9ucyA8bG9uZ29wdHM+ICB0aGUgbG9uZyBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIpLCBzdGRlcnIpOworCWZwdXRzKF8oIiAtbiwgLS1uYW1lIDxwcm9nbmFtZT4gICAgICAgICB0aGUgbmFtZSB1bmRlciB3aGljaCBlcnJvcnMgYXJlIHJlcG9ydGVkXG4iKSwgc3RkZXJyKTsKKwlmcHV0cyhfKCIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICAgdGhlIHNob3J0IG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIiksIHN0ZGVycik7CisJZnB1dHMoXygiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGRpc2FibGUgZXJyb3IgcmVwb3J0aW5nIGJ5IGdldG9wdCgzKVxuIiksIHN0ZGVycik7CisJZnB1dHMoXygiIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgIG5vIG5vcm1hbCBvdXRwdXRcbiIpLCBzdGRlcnIpOworCWZwdXRzKF8oIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICBzZXQgcXVvdGluZyBjb252ZW50aW9ucyB0byB0aG9zZSBvZiA8c2hlbGw+XG4iKSwgc3RkZXJyKTsKKwlmcHV0cyhfKCIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgdGVzdCBmb3IgZ2V0b3B0KDEpIHZlcnNpb25cbiIpLCBzdGRlcnIpOworCWZwdXRzKF8oIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICBkbyBub3QgcXVvdGUgdGhlIG91dHB1dFxuIiksIHN0ZGVycik7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBzdGRlcnIpOworCWZwdXRzKFVTQUdFX0hFTFAsIHN0ZGVycik7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgc3RkZXJyKTsKKwlmcHJpbnRmKHN0ZGVyciwgVVNBR0VfTUFOX1RBSUwoImdldG9wdCgxKSIpKTsKKwlleGl0KFBBUkFNRVRFUl9FWElUX0NPREUpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBnZXRvcHRfY29udHJvbCBjdGwgPSB7CisJCS5zaGVsbCA9IEJBU0gsCisJCS5xdW90ZSA9IDEKKwl9OworCWludCBvcHQ7CisKKwkvKiBTdG9wIHNjYW5uaW5nIGFzIHNvb24gYXMgYSBub24tb3B0aW9uIGFyZ3VtZW50IGlzIGZvdW5kISAqLworCXN0YXRpYyBjb25zdCBjaGFyICpzaG9ydG9wdHMgPSAiK2FvOmw6bjpxUXM6VHVoViI7CisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJvcHRpb25zIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdvJ30sCisJCXsibG9uZ29wdGlvbnMiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2wnfSwKKwkJeyJxdWlldCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAncSd9LAorCQl7InF1aWV0LW91dHB1dCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnUSd9LAorCQl7InNoZWxsIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdzJ30sCisJCXsidGVzdCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnVCd9LAorCQl7InVucXVvdGVkIiwgbm9fYXJndW1lbnQsIE5VTEwsICd1J30sCisJCXsiaGVscCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCd9LAorCQl7ImFsdGVybmF0aXZlIiwgbm9fYXJndW1lbnQsIE5VTEwsICdhJ30sCisJCXsibmFtZSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbid9LAorCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1YnfSwKKwkJe05VTEwsIDAsIE5VTEwsIDB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlpZiAoZ2V0ZW52KCJHRVRPUFRfQ09NUEFUSUJMRSIpKQorCQljdGwuY29tcGF0aWJsZSA9IDE7CisKKwlpZiAoYXJnYyA9PSAxKSB7CisJCWlmIChjdGwuY29tcGF0aWJsZSkgeworCQkJLyoKKwkJCSAqIEZvciBzb21lIHJlYXNvbiwgdGhlIG9yaWdpbmFsIGdldG9wdCBnYXZlIG5vCisJCQkgKiBlcnJvciB3aGVuIHRoZXJlIHdlcmUgbm8gYXJndW1lbnRzLgorCQkJICovCisJCQlwcmludGYoIiAtLVxuIik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQl9IGVsc2UKKwkJCXBhcnNlX2Vycm9yKF8oIm1pc3Npbmcgb3B0c3RyaW5nIGFyZ3VtZW50IikpOworCX0KKworCWFkZF9sb25nb3B0KCZjdGwsIE5VTEwsIDApOwkvKiBpbml0ICovCisJZ2V0b3B0X2xvbmdfZnAgPSBnZXRvcHRfbG9uZzsKKworCWlmIChhcmd2WzFdWzBdICE9ICctJyB8fCBjdGwuY29tcGF0aWJsZSkgeworCQljdGwucXVvdGUgPSAwOworCQljdGwub3B0c3RyID0geG1hbGxvYyhzdHJsZW4oYXJndlsxXSkgKyAxKTsKKwkJc3RyY3B5KGN0bC5vcHRzdHIsIGFyZ3ZbMV0gKyBzdHJzcG4oYXJndlsxXSwgIi0rIikpOworCQlhcmd2WzFdID0gYXJndlswXTsKKwkJcmV0dXJuIGdlbmVyYXRlX291dHB1dCgmY3RsLCBhcmd2ICsgMSwgYXJnYyAtIDEpOworCX0KKworCXdoaWxlICgob3B0ID0KKwkJZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgc2hvcnRvcHRzLCBsb25nb3B0cywgTlVMTCkpICE9IEVPRikKKwkJc3dpdGNoIChvcHQpIHsKKwkJY2FzZSAnYSc6CisJCQlnZXRvcHRfbG9uZ19mcCA9IGdldG9wdF9sb25nX29ubHk7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQlwcmludF9oZWxwKCk7CisJCWNhc2UgJ28nOgorCQkJZnJlZShjdGwub3B0c3RyKTsKKwkJCWN0bC5vcHRzdHIgPSB4c3RyZHVwKG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAnbCc6CisJCQlhZGRfbG9uZ19vcHRpb25zKCZjdGwsIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQlmcmVlKGN0bC5uYW1lKTsKKwkJCWN0bC5uYW1lID0geHN0cmR1cChvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgJ3EnOgorCQkJY3RsLnF1aWV0X2Vycm9ycyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnUSc6CisJCQljdGwucXVpZXRfb3V0cHV0ID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdzJzoKKwkJCWN0bC5zaGVsbCA9IHNoZWxsX3R5cGUob3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICdUJzoKKwkJCWZyZWUoY3RsLmxvbmdfb3B0aW9ucyk7CisJCQlyZXR1cm4gVEVTVF9FWElUX0NPREU7CisJCWNhc2UgJ3UnOgorCQkJY3RsLnF1b3RlID0gMDsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnPyc6CisJCWNhc2UgJzonOgorCQkJcGFyc2VfZXJyb3IoTlVMTCk7CisJCWRlZmF1bHQ6CisJCQlwYXJzZV9lcnJvcihfKCJpbnRlcm5hbCBlcnJvciwgY29udGFjdCB0aGUgYXV0aG9yLiIpKTsKKwkJfQorCisJaWYgKCFjdGwub3B0c3RyKSB7CisJCWlmIChvcHRpbmQgPj0gYXJnYykKKwkJCXBhcnNlX2Vycm9yKF8oIm1pc3Npbmcgb3B0c3RyaW5nIGFyZ3VtZW50IikpOworCQllbHNlIHsKKwkJCWN0bC5vcHRzdHIgPSB4c3RyZHVwKGFyZ3Zbb3B0aW5kXSk7CisJCQlvcHRpbmQrKzsKKwkJfQorCX0KKworCWlmIChjdGwubmFtZSkgeworCQlhcmd2W29wdGluZCAtIDFdID0gY3RsLm5hbWU7CisjaWYgZGVmaW5lZCAoSEFWRV9TRVRQUk9HTkFNRSkgJiYgIWRlZmluZWQgKF9fbGludXhfXykKKwkJc2V0cHJvZ25hbWUoY3RsLm5hbWUpOworI2VuZGlmCisJfSBlbHNlCisJCWFyZ3Zbb3B0aW5kIC0gMV0gPSBhcmd2WzBdOworCisJcmV0dXJuIGdlbmVyYXRlX291dHB1dCgmY3RsLCBhcmd2ICsgb3B0aW5kIC0gMSwgYXJnYyAtIG9wdGluZCArIDEpOworfQpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy9raWxsLjEgYi9taXNjLXV0aWxzL2tpbGwuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZTgyYmQwCi0tLSAvZGV2L251bGwKKysrIGIvbWlzYy11dGlscy9raWxsLjEKQEAgLTAsMCArMSwxNzkgQEAKKy5cIiBDb3B5cmlnaHQgMTk5NCBTYWx2YXRvcmUgVmFsZW50ZSAoc3ZhbGVudGVAbWl0LmVkdSkKKy5cIiBDb3B5cmlnaHQgMTk5MiBSaWNrYXJkIEUuIEZhaXRoIChmYWl0aEBjcy51bmMuZWR1KQorLlwiIE1heSBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy5USCBLSUxMIDEgIkp1bHkgMjAxNCIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK2tpbGwgXC0gdGVybWluYXRlIGEgcHJvY2VzcworLlNIIFNZTk9QU0lTCisuQiBraWxsCisuUkIgWyBcLSBcZklzaWduYWxcZlJ8IFwtcworLklSIHNpZ25hbCB8IFxmQi1wXGZQIF0KKy5SQiBbIFwtcQorLklSIHZhbHVlIF0KKy5SQiBbIFwtYSBdCisuUkIgWyBcLVwtIF0KKy5JUiBwaWQgfCBuYW1lIC4uLgorLmJyCisuQiBraWxsIFwtbAorLlJJIFsgbnVtYmVyIF0KKy5SQiAifCAiIFwtTAorLlNIIERFU0NSSVBUSU9OCitUaGUgY29tbWFuZAorLkIga2lsbAorc2VuZHMgdGhlIHNwZWNpZmllZCBcZklzaWduYWxcZlIgdG8gdGhlIHNwZWNpZmllZCBwcm9jZXNzZXMgb3IgcHJvY2VzcyBncm91cHMuCisuUFAKK0lmIG5vIHNpZ25hbCBpcyBzcGVjaWZpZWQsIHRoZSBURVJNIHNpZ25hbCBpcyBzZW50LgorVGhlIGRlZmF1bHQgYWN0aW9uIGZvciB0aGlzIHNpZ25hbCBpcyB0byB0ZXJtaW5hdGUgdGhlIHByb2Nlc3MuCitUaGlzIHNpZ25hbCBzaG91bGQgYmUgdXNlZCBpbiBwcmVmZXJlbmNlIHRvIHRoZQorS0lMTCBzaWduYWwgKG51bWJlciA5KSwgc2luY2UgYSBwcm9jZXNzIG1heSBpbnN0YWxsIGEgaGFuZGxlciBmb3IgdGhlCitURVJNIHNpZ25hbCBpbiBvcmRlciB0byBwZXJmb3JtIGNsZWFuLXVwIHN0ZXBzIGJlZm9yZSB0ZXJtaW5hdGluZyBpbgorYW4gb3JkZXJseSBmYXNoaW9uLgorSWYgYSBwcm9jZXNzIGRvZXMgbm90IHRlcm1pbmF0ZSBhZnRlciBhIFRFUk0gc2lnbmFsIGhhcyBiZWVuIHNlbnQsCit0aGVuIHRoZSBLSUxMIHNpZ25hbCBtYXkgYmUgdXNlZDsgYmUgYXdhcmUgdGhhdCB0aGUgbGF0dGVyIHNpZ25hbAorY2Fubm90IGJlIGNhdWdodCwgYW5kIHNvIGRvZXMgbm90IGdpdmUgdGhlIHRhcmdldCBwcm9jZXNzIHRoZSBvcHBvcnR1bml0eQordG8gcGVyZm9ybSBhbnkgY2xlYW4tdXAgYmVmb3JlIHRlcm1pbmF0aW5nLgorLlBQCitNb3N0IG1vZGVybiBzaGVsbHMgaGF2ZSBhIGJ1aWx0aW4ga2lsbCBjb21tYW5kLCB3aXRoIGEgdXNhZ2UgcmF0aGVyIHNpbWlsYXIgdG8KK3RoYXQgb2YgdGhlIGNvbW1hbmQgZGVzY3JpYmVkIGhlcmUuICBUaGUKKy5CUiBcLVwtYWxsICwKKy5CUiBcLVwtcGlkICIsIGFuZCIKKy5CUiBcLVwtcXVldWUKK29wdGlvbnMsIGFuZCB0aGUgcG9zc2liaWxpdHkgdG8gc3BlY2lmeSBwcm9jZXNzZXMgYnkgY29tbWFuZCBuYW1lLCBhcmUgbG9jYWwgZXh0ZW5zaW9ucy4KKy5QUAorSWYgXGZJc2lnbmFsXGZSIGlzIDAsIHRoZW4gbm8gYWN0dWFsIHNpZ25hbCBpcyBzZW50LCBidXQgZXJyb3IgY2hlY2tpbmcgaXMgc3RpbGwgcGVyZm9ybWVkLgorCisuU0ggQVJHVU1FTlRTCitUaGUgbGlzdCBvZiBwcm9jZXNzZXMgdG8gYmUgc2lnbmFsZWQgY2FuIGJlIGEgbWl4dHVyZSBvZiBuYW1lcyBhbmQgUElEcy4KKy5UUAorLkkgcGlkCitFYWNoCisuSSBwaWQKK2NhbiBiZSBvbmUgb2YgZm91ciB0aGluZ3M6CisuUlMKKy5UUAorLkkgbgord2hlcmUKKy5JIG4KK2lzIGxhcmdlciB0aGFuIDAuICBUaGUgcHJvY2VzcyB3aXRoIFBJRAorLkkgbgoraXMgc2lnbmFsZWQuCisuVFAKKy5CIDAKK0FsbCBwcm9jZXNzZXMgaW4gdGhlIGN1cnJlbnQgcHJvY2VzcyBncm91cCBhcmUgc2lnbmFsZWQuCisuVFAKKy5CIC0xCitBbGwgcHJvY2Vzc2VzIHdpdGggYSBQSUQgbGFyZ2VyIHRoYW4gMSBhcmUgc2lnbmFsZWQuCisuVFAKKy5CSSAtIG4KK3doZXJlCisuSSBuCitpcyBsYXJnZXIgdGhhbiAxLiAgQWxsIHByb2Nlc3NlcyBpbiBwcm9jZXNzIGdyb3VwCisuSSBuCithcmUgc2lnbmFsZWQuICBXaGVuIGFuIGFyZ3VtZW50IG9mIHRoZSBmb3JtICctbicgaXMgZ2l2ZW4sIGFuZCBpdCBpcyBtZWFudCB0bworZGVub3RlIGEgcHJvY2VzcyBncm91cCwgZWl0aGVyIGEgc2lnbmFsIG11c3QgYmUgc3BlY2lmaWVkIGZpcnN0LCBvciB0aGUKK2FyZ3VtZW50IG11c3QgYmUgcHJlY2VkZWQgYnkgYSAnLS0nIG9wdGlvbiwgb3RoZXJ3aXNlIGl0IHdpbGwgYmUgdGFrZW4gYXMgdGhlCitzaWduYWwgdG8gc2VuZC4KKy5SRQorLlRQCisuSSBuYW1lCitBbGwgcHJvY2Vzc2VzIGludm9rZWQgdXNpbmcgdGhpcyBcZkluYW1lXGZSIHdpbGwgYmUgc2lnbmFsZWQuCisKKy5TSCBPUFRJT05TCisuVFAKK1xmQlwtc1xmUiwgXGZCXC1cLXNpZ25hbFxmUiBcZklzaWduYWxcZlIKK1RoZSBzaWduYWwgdG8gc2VuZC4gIEl0IG1heSBiZSBnaXZlbiBhcyBhIG5hbWUgb3IgYSBudW1iZXIuCisuVFAKK1xmQlwtbFxmUiwgXGZCXC1cLWxpc3RcZlIgW1xmSW51bWJlclxmUl0KK1ByaW50IGEgbGlzdCBvZiBzaWduYWwgbmFtZXMsIG9yIGNvbnZlcnQgdGhlIGdpdmVuIHNpZ25hbCBudW1iZXIgdG8gYSBuYW1lLgorVGhlIHNpZ25hbHMgY2FuIGJlIGZvdW5kIGluCisuSSAvdXNyL1w6aW5jbHVkZS9cOmxpbnV4L1w6c2lnbmFsLmgKKy5UUAorXGZCXC1MXGZSLCBcZkJcLVwtdGFibGVcZlIKK1NpbWlsYXIgdG8gXGZCXC1sXGZSLCBidXQgaXQgd2lsbCBwcmludCBzaWduYWwgbmFtZXMgYW5kIHRoZWlyIGNvcnJlc3BvbmRpbmcKK251bWJlcnMuCisuVFAKK1xmQlwtYVxmUiwgXGZCXC1cLWFsbFxmUgorRG8gbm90IHJlc3RyaWN0IHRoZSBjb21tYW5kLW5hbWUtdG8tUElEIGNvbnZlcnNpb24gdG8gcHJvY2Vzc2VzIHdpdGggdGhlIHNhbWUKK1VJRCBhcyB0aGUgcHJlc2VudCBwcm9jZXNzLgorLlRQCitcZkJcLXBcZlIsIFxmQlwtXC1waWRcZlIKK09ubHkgcHJpbnQgdGhlIHByb2Nlc3MgSUQgKFBJRCkgb2YgdGhlIG5hbWVkIHByb2Nlc3NlcywgZG8gbm90IHNlbmQgYW55CitzaWduYWxzLgorLlRQCitcZkJcLVwtdmVyYm9zZVxmUgorUHJpbnQgUElEKHMpIHRoYXQgd2lsbCBiZSBzaWduYWxlZCB3aXRoIGtpbGwgYWxvbmcgd2l0aCB0aGUgc2lnbmFsLgorLlRQCitcZkJcLXFcZlIsIFxmQlwtXC1xdWV1ZVxmUiBcZkl2YWx1ZVxmUgorVXNlCisuQlIgc2lncXVldWUgKDMpCityYXRoZXIgdGhhbgorLkJSIGtpbGwgKDIpLgorVGhlCisuSSB2YWx1ZQorYXJndW1lbnQgaXMgYW4gaW50ZWdlciB0aGF0IGlzIHNlbnQgYWxvbmcgd2l0aCB0aGUgc2lnbmFsLiAgSWYgdGhlCityZWNlaXZpbmcgcHJvY2VzcyBoYXMgaW5zdGFsbGVkIGEgaGFuZGxlciBmb3IgdGhpcyBzaWduYWwgdXNpbmcgdGhlCisuQiBTQV9TSUdJTkZPCitmbGFnIHRvCisuQlIgc2lnYWN0aW9uICgyKSwKK3RoZW4gaXQgY2FuIG9idGFpbiB0aGlzIGRhdGEgdmlhIHRoZQorLkkgc2lfc2lndmFsCitmaWVsZCBvZiB0aGUKKy5JIHNpZ2luZm9fdAorc3RydWN0dXJlLgorCisuU0ggTk9URVMKK0FsdGhvdWdoIGl0IGlzIHBvc3NpYmxlIHRvIHNwZWNpZnkgdGhlIFRJRCAodGhyZWFkIElELCBzZWUKKy5CUiBnZXR0aWQgKDIpKQorb2Ygb25lIG9mIHRoZSB0aHJlYWRzIGluIGEgbXVsdGl0aHJlYWRlZCBwcm9jZXNzIGFzIHRoZSBhcmd1bWVudCBvZgorLkJSIGtpbGwgLAordGhlIHNpZ25hbCBpcyBuZXZlcnRoZWxlc3MgZGlyZWN0ZWQgdG8gdGhlIHByb2Nlc3MKKyhpLmUuLCB0aGUgZW50aXJlIHRocmVhZCBncm91cCkuCitJbiBvdGhlciB3b3JkcywgaXQgaXMgbm90IHBvc3NpYmxlIHRvIHNlbmQgYSBzaWduYWwgdG8gYW4KK2V4cGxpY2l0bHkgc2VsZWN0ZWQgdGhyZWFkIGluIGEgbXVsdGl0aHJlYWRlZCBwcm9jZXNzLgorVGhlIHNpZ25hbCB3aWxsIGJlIGRlbGl2ZXJlZCB0byBhbiBhcmJpdHJhcmlseSBzZWxlY3RlZCB0aHJlYWQKK2luIHRoZSB0YXJnZXQgcHJvY2VzcyB0aGF0IGlzIG5vdCBibG9ja2luZyB0aGUgc2lnbmFsLgorRm9yIG1vcmUgZGV0YWlscywgc2VlCisuQlIgc2lnbmFsICg3KQorYW5kIHRoZSBkZXNjcmlwdGlvbiBvZgorLkJSIENMT05FX1RIUkVBRAoraW4KKy5CUiBjbG9uZSAoMikuCisKKy5TSCBSRVRVUk4gQ09ERVMKKy5CIGtpbGwKK2hhcyB0aGUgZm9sbG93aW5nIHJldHVybiBjb2RlczoKKy5UUAorLkJSIDAKK3N1Y2Nlc3MKKy5UUAorLkJSIDEKK2ZhaWx1cmUKKy5UUAorLkJSIDY0CitwYXJ0aWFsIHN1Y2Nlc3MgKHdoZW4gbW9yZSB0aGFuIG9uZSBwcm9jZXNzIHNwZWNpZmllZCkKKworLlNIIFNFRSBBTFNPCisuQlIgYmFzaCAoMSksCisuQlIgdGNzaCAoMSksCisuQlIgc2lnYWN0aW9uICgyKSwKKy5CUiBraWxsICgyKSwKKy5CUiBzaWdxdWV1ZSAoMyksCisuQlIgc2lnbmFsICg3KQorCisuU0ggQVVUSE9SUworLk1UIHN2YWxlbnRlQG1pdC5lZHUKK1NhbHZhdG9yZSBWYWxlbnRlCisuTUUKKy5icgorLk1UIGt6YWtAcmVkaGF0LmNvbQorS2FyZWwgWmFrCisuTUUKKy5icgorLlBQCitUaGUgb3JpZ2luYWwgdmVyc2lvbiB3YXMgdGFrZW4gZnJvbSBCU0QgNC40LgorCisuU0ggQVZBSUxBQklMSVRZCitUaGUga2lsbCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBmdHA6Ly9cOmZ0cC5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMva2lsbC5jIGIvbWlzYy11dGlscy9raWxsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTUyYTAzZAotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMva2lsbC5jCkBAIC0wLDAgKzEsNTE5IEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTg4LCAxOTkzLCAxOTk0CisgKglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorICogICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorICoJVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgVW5pdmVyc2l0eSBvZgorICoJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisgKiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisvKgorICogIG9jdCA1IDE5OTQgLS0gYWxtb3N0IGVudGlyZWx5IHJlLXdyaXR0ZW4gdG8gYWxsb3cgZm9yIHByb2Nlc3MgbmFtZXMuCisgKiAgbW9kaWZpY2F0aW9ucyAoYykgc2FsdmF0b3JlIHZhbGVudGUgPHN2YWxlbnRlQG1pdC5lZHU+CisgKiAgbWF5IGJlIHVzZWQgLyBtb2RpZmllZCAvIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIHRlcm1zIGFzIHRoZSBvcmlnaW5hbC4KKyAqCisgKiAgMTk5OS0wMi0yMiBBcmthZGl1c3ogTWnFm2tpZXdpY3ogPG1pc2lla0BwbGQuT1JHLlBMPgorICogIC0gYWRkZWQgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKKyAqCisgKiAgMTk5OS0xMS0xMyBhZWIgQWNjZXB0IHNpZ25hbCBudW1iZXJzIDEyOCtzLgorICoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBTYW1pIEtlcm9sYSA8a2Vyb2xhc2FAaWtpLmZpPgorICogQ29weXJpZ2h0IChDKSAyMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICovCisKKyNpbmNsdWRlIDxjdHlwZS5oPgkJLyogZm9yIGlzZGlnaXQoKSAqLworI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJwcm9jdXRpbHMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInR0eXV0aWxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisKKy8qIHBhcnRpYWwgc3VjY2Vzcywgb3RoZXJ3aXNlIHdlIHJldHVybiByZWd1bGFyIEVYSVRfe1NVQ0NFU1MsRkFJTFVSRX0gKi8KKyNkZWZpbmUgS0lMTF9FWElUX1NPTUVPSwk2NAorCitlbnVtIHsKKwlLSUxMX0ZJRUxEX1dJRFRIID0gMTEsCisJS0lMTF9PVVRQVVRfV0lEVEggPSA3MgorfTsKKworc3RydWN0IGtpbGxfY29udHJvbCB7CisJY2hhciAqYXJnOworCXBpZF90IHBpZDsKKwlpbnQgbnVtc2lnOworI2lmZGVmIEhBVkVfU0lHUVVFVUUKKwl1bmlvbiBzaWd2YWwgc2lnZGF0YTsKKyNlbmRpZgorCXVuc2lnbmVkIGludAorCQljaGVja19hbGw6MSwKKwkJZG9fa2lsbDoxLAorCQlkb19waWQ6MSwKKwkJdXNlX3NpZ3ZhbDoxLAorCQl2ZXJib3NlOjE7Cit9OworCitzdHJ1Y3Qgc2lnbnYgeworCWNvbnN0IGNoYXIgKm5hbWU7CisJaW50IHZhbDsKK30gc3lzX3NpZ25hbWVbXSA9IHsKKwkvKiBQT1NJWCBzaWduYWxzICovCisJeyAiSFVQIiwJU0lHSFVQIH0sCS8qIDEgKi8KKwl7ICJJTlQiLAlTSUdJTlQgfSwJLyogMiAqLworCXsgIlFVSVQiLAlTSUdRVUlUIH0sCS8qIDMgKi8KKwl7ICJJTEwiLAlTSUdJTEwgfSwJLyogNCAqLworI2lmZGVmIFNJR1RSQVAKKwl7ICJUUkFQIiwJU0lHVFJBUCB9LAkvKiA1ICovCisjZW5kaWYKKwl7ICJBQlJUIiwJU0lHQUJSVCB9LAkvKiA2ICovCisjaWZkZWYgU0lHSU9UCisJeyAiSU9UIiwJU0lHSU9UIH0sCS8qIDYsIHNhbWUgYXMgU0lHQUJSVCAqLworI2VuZGlmCisjaWZkZWYgU0lHRU1UCisJeyAiRU1UIiwJU0lHRU1UIH0sCS8qIDcgKG1pcHMsYWxwaGEsc3BhcmMqKSAqLworI2VuZGlmCisjaWZkZWYgU0lHQlVTCisJeyAiQlVTIiwJU0lHQlVTIH0sCS8qIDcgKGFybSxpMzg2LG02OGsscHBjKSwgMTAgKG1pcHMsYWxwaGEsc3BhcmMqKSAqLworI2VuZGlmCisJeyAiRlBFIiwJU0lHRlBFIH0sCS8qIDggKi8KKwl7ICJLSUxMIiwJU0lHS0lMTCB9LAkvKiA5ICovCisJeyAiVVNSMSIsCVNJR1VTUjEgfSwJLyogMTAgKGFybSxpMzg2LG02OGsscHBjKSwgMzAgKGFscGhhLHNwYXJjKiksIDE2IChtaXBzKSAqLworCXsgIlNFR1YiLAlTSUdTRUdWIH0sCS8qIDExICovCisJeyAiVVNSMiIsCVNJR1VTUjIgfSwJLyogMTIgKGFybSxpMzg2LG02OGsscHBjKSwgMzEgKGFscGhhLHNwYXJjKiksIDE3IChtaXBzKSAqLworCXsgIlBJUEUiLAlTSUdQSVBFIH0sCS8qIDEzICovCisJeyAiQUxSTSIsCVNJR0FMUk0gfSwJLyogMTQgKi8KKwl7ICJURVJNIiwJU0lHVEVSTSB9LAkvKiAxNSAqLworI2lmZGVmIFNJR1NUS0ZMVAorCXsgIlNUS0ZMVCIsCVNJR1NUS0ZMVCB9LAkvKiAxNiAoYXJtLGkzODYsbTY4ayxwcGMpICovCisjZW5kaWYKKwl7ICJDSExEIiwJU0lHQ0hMRCB9LAkvKiAxNyAoYXJtLGkzODYsbTY4ayxwcGMpLCAyMCAoYWxwaGEsc3BhcmMqKSwgMTggKG1pcHMpICovCisjaWZkZWYgU0lHQ0xECisJeyAiQ0xEIiwJU0lHQ0xEIH0sCS8qIHNhbWUgYXMgU0lHQ0hMRCAobWlwcykgKi8KKyNlbmRpZgorCXsgIkNPTlQiLAlTSUdDT05UIH0sCS8qIDE4IChhcm0saTM4NixtNjhrLHBwYyksIDE5IChhbHBoYSxzcGFyYyopLCAyNSAobWlwcykgKi8KKwl7ICJTVE9QIiwJU0lHU1RPUCB9LAkvKiAxOSAoYXJtLGkzODYsbTY4ayxwcGMpLCAxNyAoYWxwaGEsc3BhcmMqKSwgMjMgKG1pcHMpICovCisJeyAiVFNUUCIsCVNJR1RTVFAgfSwJLyogMjAgKGFybSxpMzg2LG02OGsscHBjKSwgMTggKGFscGhhLHNwYXJjKiksIDI0IChtaXBzKSAqLworCXsgIlRUSU4iLAlTSUdUVElOIH0sCS8qIDIxIChhcm0saTM4NixtNjhrLHBwYyxhbHBoYSxzcGFyYyopLCAyNiAobWlwcykgKi8KKwl7ICJUVE9VIiwJU0lHVFRPVSB9LAkvKiAyMiAoYXJtLGkzODYsbTY4ayxwcGMsYWxwaGEsc3BhcmMqKSwgMjcgKG1pcHMpICovCisjaWZkZWYgU0lHVVJHCisJeyAiVVJHIiwJU0lHVVJHIH0sCS8qIDIzIChhcm0saTM4NixtNjhrLHBwYyksIDE2IChhbHBoYSxzcGFyYyopLCAyMSAobWlwcykgKi8KKyNlbmRpZgorI2lmZGVmIFNJR1hDUFUKKwl7ICJYQ1BVIiwJU0lHWENQVSB9LAkvKiAyNCAoYXJtLGkzODYsbTY4ayxwcGMsYWxwaGEsc3BhcmMqKSwgMzAgKG1pcHMpICovCisjZW5kaWYKKyNpZmRlZiBTSUdYRlNaCisJeyAiWEZTWiIsCVNJR1hGU1ogfSwJLyogMjUgKGFybSxpMzg2LG02OGsscHBjLGFscGhhLHNwYXJjKiksIDMxIChtaXBzKSAqLworI2VuZGlmCisjaWZkZWYgU0lHVlRBTFJNCisJeyAiVlRBTFJNIiwJU0lHVlRBTFJNIH0sCS8qIDI2IChhcm0saTM4NixtNjhrLHBwYyxhbHBoYSxzcGFyYyopLCAyOCAobWlwcykgKi8KKyNlbmRpZgorI2lmZGVmIFNJR1BST0YKKwl7ICJQUk9GIiwJU0lHUFJPRiB9LAkvKiAyNyAoYXJtLGkzODYsbTY4ayxwcGMsYWxwaGEsc3BhcmMqKSwgMjkgKG1pcHMpICovCisjZW5kaWYKKyNpZmRlZiBTSUdXSU5DSAorCXsgIldJTkNIIiwJU0lHV0lOQ0ggfSwJLyogMjggKGFybSxpMzg2LG02OGsscHBjLGFscGhhLHNwYXJjKiksIDIwIChtaXBzKSAqLworI2VuZGlmCisjaWZkZWYgU0lHSU8KKwl7ICJJTyIsCQlTSUdJTyB9LAkvKiAyOSAoYXJtLGkzODYsbTY4ayxwcGMpLCAyMyAoYWxwaGEsc3BhcmMqKSwgMjIgKG1pcHMpICovCisjZW5kaWYKKyNpZmRlZiBTSUdQT0xMCisJeyAiUE9MTCIsCVNJR1BPTEwgfSwJLyogc2FtZSBhcyBTSUdJTyAqLworI2VuZGlmCisjaWZkZWYgU0lHSU5GTworCXsgIklORk8iLAlTSUdJTkZPIH0sCS8qIDI5IChhbHBoYSkgKi8KKyNlbmRpZgorI2lmZGVmIFNJR0xPU1QKKwl7ICJMT1NUIiwJU0lHTE9TVCB9LAkvKiAyOSAoYXJtLGkzODYsbTY4ayxwcGMsc3BhcmMqKSAqLworI2VuZGlmCisjaWZkZWYgU0lHUFdSCisJeyAiUFdSIiwJU0lHUFdSIH0sCS8qIDMwIChhcm0saTM4NixtNjhrLHBwYyksIDI5IChhbHBoYSxzcGFyYyopLCAxOSAobWlwcykgKi8KKyNlbmRpZgorI2lmZGVmIFNJR1VOVVNFRAorCXsgIlVOVVNFRCIsCVNJR1VOVVNFRCB9LAkvKiAzMSAoYXJtLGkzODYsbTY4ayxwcGMpICovCisjZW5kaWYKKyNpZmRlZiBTSUdTWVMKKwl7ICJTWVMiLAlTSUdTWVMgfSwJLyogMzEgKG1pcHMsYWxwaGEsc3BhcmMqKSAqLworI2VuZGlmCit9OworCitzdGF0aWMgdm9pZCBwcmludF9zaWduYWxfbmFtZShpbnQgc2lnbnVtKQoreworCXNpemVfdCBuOworCisJZm9yIChuID0gMDsgbiA8IEFSUkFZX1NJWkUoc3lzX3NpZ25hbWUpOyBuKyspIHsKKwkJaWYgKHN5c19zaWduYW1lW25dLnZhbCA9PSBzaWdudW0pIHsKKwkJCXByaW50ZigiJXNcbiIsIHN5c19zaWduYW1lW25dLm5hbWUpOworCQkJcmV0dXJuOworCQl9CisJfQorI2lmZGVmIFNJR1JUTUlOCisJaWYgKFNJR1JUTUlOIDw9IHNpZ251bSAmJiBzaWdudW0gPD0gU0lHUlRNQVgpIHsKKwkJcHJpbnRmKCJSVCVkXG4iLCBzaWdudW0gLSBTSUdSVE1JTik7CisJCXJldHVybjsKKwl9CisjZW5kaWYKKwlwcmludGYoIiVkXG4iLCBzaWdudW0pOworfQorCitzdGF0aWMgdm9pZCBwcmV0dHlfcHJpbnRfc2lnbmFsKEZJTEUgKmZwLCBzaXplX3QgdGVybV93aWR0aCwgc2l6ZV90ICpscG9zLAorCQkJCWludCBzaWdudW0sIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJaWYgKHRlcm1fd2lkdGggPCAoKmxwb3MgKyBLSUxMX0ZJRUxEX1dJRFRIKSkgeworCQlmcHV0YygnXG4nLCBmcCk7CisJCSpscG9zID0gMDsKKwl9CisJKmxwb3MgKz0gS0lMTF9GSUVMRF9XSURUSDsKKwlmcHJpbnRmKGZwLCAiJTJkICUtOHMiLCBzaWdudW0sIG5hbWUpOworfQorCitzdGF0aWMgdm9pZCBwcmludF9hbGxfc2lnbmFscyhGSUxFICpmcCwgaW50IHByZXR0eSkKK3sKKwlzaXplX3QgbiwgbHRoLCBscG9zID0gMCwgd2lkdGg7CisKKwlpZiAoIXByZXR0eSkgeworCQlmb3IgKG4gPSAwOyBuIDwgQVJSQVlfU0laRShzeXNfc2lnbmFtZSk7IG4rKykgeworCQkJbHRoID0gMSArIHN0cmxlbihzeXNfc2lnbmFtZVtuXS5uYW1lKTsKKwkJCWlmIChLSUxMX09VVFBVVF9XSURUSCA8IGxwb3MgKyBsdGgpIHsKKwkJCQlmcHV0YygnXG4nLCBmcCk7CisJCQkJbHBvcyA9IDA7CisJCQl9IGVsc2UgaWYgKGxwb3MpCisJCQkJZnB1dGMoJyAnLCBmcCk7CisJCQlscG9zICs9IGx0aDsKKwkJCWZwdXRzKHN5c19zaWduYW1lW25dLm5hbWUsIGZwKTsKKwkJfQorI2lmZGVmIFNJR1JUTUlOCisJCWZwdXRzKCIgUlQ8Tj4gUlRNSU4rPE4+IFJUTUFYLTxOPiIsIGZwKTsKKyNlbmRpZgorCQlmcHV0YygnXG4nLCBmcCk7CisJCXJldHVybjsKKwl9CisKKwkvKiBwcmV0dHkgcHJpbnQgKi8KKwl3aWR0aCA9IGdldF90ZXJtaW5hbF93aWR0aChLSUxMX09VVFBVVF9XSURUSCArIDEpIC0gMTsKKwlmb3IgKG4gPSAwOyBuIDwgQVJSQVlfU0laRShzeXNfc2lnbmFtZSk7IG4rKykKKwkJcHJldHR5X3ByaW50X3NpZ25hbChmcCwgd2lkdGgsICZscG9zLAorCQkJCSAgICBzeXNfc2lnbmFtZVtuXS52YWwsIHN5c19zaWduYW1lW25dLm5hbWUpOworI2lmZGVmIFNJR1JUTUlOCisJcHJldHR5X3ByaW50X3NpZ25hbChmcCwgd2lkdGgsICZscG9zLCBTSUdSVE1JTiwgIlJUTUlOIik7CisJcHJldHR5X3ByaW50X3NpZ25hbChmcCwgd2lkdGgsICZscG9zLCBTSUdSVE1BWCwgIlJUTUFYIik7CisjZW5kaWYKKwlmcHV0YygnXG4nLCBmcCk7Cit9CisKK3N0YXRpYyB2b2lkIGVycl9ub3NpZyhjaGFyICpuYW1lKQoreworCXdhcm54KF8oInVua25vd24gc2lnbmFsICVzOyB2YWxpZCBzaWduYWxzOiIpLCBuYW1lKTsKKwlwcmludF9hbGxfc2lnbmFscyhzdGRlcnIsIDEpOworCWV4aXQoRVhJVF9GQUlMVVJFKTsKK30KKworI2lmZGVmIFNJR1JUTUlOCitzdGF0aWMgaW50IHJ0c2lnX3RvX3NpZ251bShjaGFyICpzaWcpCit7CisJaW50IG51bSwgbWF4aSA9IDA7CisJY2hhciAqZXAgPSBOVUxMOworCisJaWYgKHN0cm5jYXNlY21wKHNpZywgIm1pbisiLCA0KSA9PSAwKQorCQlzaWcgKz0gNDsKKwllbHNlIGlmIChzdHJuY2FzZWNtcChzaWcsICJtYXgtIiwgNCkgPT0gMCkgeworCQlzaWcgKz0gNDsKKwkJbWF4aSA9IDE7CisJfQorCWlmICghaXNkaWdpdCgqc2lnKSkKKwkJcmV0dXJuIC0xOworCWVycm5vID0gMDsKKwludW0gPSBzdHJ0b2woc2lnLCAmZXAsIDEwKTsKKwlpZiAoIWVwIHx8IHNpZyA9PSBlcCB8fCBlcnJubyB8fCBudW0gPCAwKQorCQlyZXR1cm4gLTE7CisJbnVtID0gbWF4aSA/IFNJR1JUTUFYIC0gbnVtIDogU0lHUlRNSU4gKyBudW07CisJaWYgKG51bSA8IFNJR1JUTUlOIHx8IFNJR1JUTUFYIDwgbnVtKQorCQlyZXR1cm4gLTE7CisJcmV0dXJuIG51bTsKK30KKyNlbmRpZgorCitzdGF0aWMgaW50IHNpZ25hbWVfdG9fc2lnbnVtKGNoYXIgKnNpZykKK3sKKwlzaXplX3QgbjsKKworCWlmICghc3RybmNhc2VjbXAoc2lnLCAic2lnIiwgMykpCisJCXNpZyArPSAzOworI2lmZGVmIFNJR1JUTUlOCisJLyogUlQgc2lnbmFscyAqLworCWlmICghc3RybmNhc2VjbXAoc2lnLCAicnQiLCAyKSkKKwkJcmV0dXJuIHJ0c2lnX3RvX3NpZ251bShzaWcgKyAyKTsKKyNlbmRpZgorCS8qIE5vcm1hbCBzaWduYWxzICovCisJZm9yIChuID0gMDsgbiA8IEFSUkFZX1NJWkUoc3lzX3NpZ25hbWUpOyBuKyspIHsKKwkJaWYgKCFzdHJjYXNlY21wKHN5c19zaWduYW1lW25dLm5hbWUsIHNpZykpCisJCQlyZXR1cm4gc3lzX3NpZ25hbWVbbl0udmFsOworCX0KKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBpbnQgYXJnX3RvX3NpZ251bShjaGFyICphcmcsIGludCBtYXNrYml0KQoreworCWludCBudW1zaWc7CisJY2hhciAqZXA7CisKKwlpZiAoaXNkaWdpdCgqYXJnKSkgeworCQludW1zaWcgPSBzdHJ0b2woYXJnLCAmZXAsIDEwKTsKKwkJaWYgKE5TSUcgPD0gbnVtc2lnICYmIG1hc2tiaXQgJiYgKG51bXNpZyAmIDEyOCkgIT0gMCkKKwkJCW51bXNpZyAtPSAxMjg7CisJCWlmICgqZXAgIT0gMCB8fCBudW1zaWcgPCAwIHx8IE5TSUcgPD0gbnVtc2lnKQorCQkJcmV0dXJuIC0xOworCQlyZXR1cm4gbnVtc2lnOworCX0KKwlyZXR1cm4gc2lnbmFtZV90b19zaWdudW0oYXJnKTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqb3V0KQoreworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygiICVzIFtvcHRpb25zXSA8cGlkPnw8bmFtZT4uLi5cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiRm9yY2libHkgdGVybWluYXRlIGEgcHJvY2Vzcy5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWEsIC0tYWxsICAgICAgICAgICAgICBkbyBub3QgcmVzdHJpY3QgdGhlIG5hbWUtdG8tcGlkIGNvbnZlcnNpb24gdG8gcHJvY2Vzc2VzXG4iCisJCSIgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggdGhlIHNhbWUgdWlkIGFzIHRoZSBwcmVzZW50IHByb2Nlc3NcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcywgLS1zaWduYWwgPHNpZ25hbD4gIHNlbmQgdGhpcyA8c2lnbmFsPiBpbnN0ZWFkIG9mIFNJR1RFUk1cbiIpLCBvdXQpOworI2lmZGVmIEhBVkVfU0lHUVVFVUUKKwlmcHV0cyhfKCIgLXEsIC0tcXVldWUgPHZhbHVlPiAgICB1c2Ugc2lncXVldWUoMiksIG5vdCBraWxsKDIpLCBhbmQgcGFzcyA8dmFsdWU+IGFzIGRhdGFcbiIpLCBvdXQpOworI2VuZGlmCisJZnB1dHMoXygiIC1wLCAtLXBpZCAgICAgICAgICAgICAgcHJpbnQgcGlkcyB3aXRob3V0IHNpZ25hbGluZyB0aGVtXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWwsIC0tbGlzdFs9PHNpZ25hbD5dICBsaXN0IHNpZ25hbCBuYW1lcywgb3IgY29udmVydCBhIHNpZ25hbCBudW1iZXIgdG8gYSBuYW1lXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUwsIC0tdGFibGUgICAgICAgICAgICBsaXN0IHNpZ25hbCBuYW1lcyBhbmQgbnVtYmVyc1xuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgcGlkcyB0aGF0IHdpbGwgYmUgc2lnbmFsZWRcbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKFVTQUdFX0hFTFAsIG91dCk7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoImtpbGwoMSkiKSk7CisKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgY2hhciAqKnBhcnNlX2FyZ3VtZW50cyhpbnQgYXJnYywgY2hhciAqKmFyZ3YsIHN0cnVjdCBraWxsX2NvbnRyb2wgKmN0bCkKK3sKKwljaGFyICphcmc7CisKKwkvKiBMb29wIHRocm91Z2ggdGhlIGFyZ3VtZW50cy4gIEFjdHVhbGx5LCAtYSBpcyB0aGUgb25seSBvcHRpb24KKwkgKiBjYW4gYmUgdXNlZCB3aXRoIG90aGVyIG9wdGlvbnMuICBUaGUgJ2tpbGwnIGlzIGJhc2ljYWxseSBhCisJICogb25lLW9wdGlvbi1hdC1tb3N0IHByb2dyYW0uICovCisJZm9yIChhcmdjLS0sIGFyZ3YrKzsgMCA8IGFyZ2M7IGFyZ2MtLSwgYXJndisrKSB7CisJCWFyZyA9ICphcmd2OworCQlpZiAoKmFyZyAhPSAnLScpCisJCQlicmVhazsKKwkJaWYgKCFzdHJjbXAoYXJnLCAiLS0iKSkgeworCQkJYXJnYy0tLCBhcmd2Kys7CisJCQlicmVhazsKKwkJfQorCQlpZiAoIXN0cmNtcChhcmcsICItdiIpIHx8ICFzdHJjbXAoYXJnLCAiLVYiKSB8fAorCQkgICAgIXN0cmNtcChhcmcsICItLXZlcnNpb24iKSkgeworCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlleGl0KEVYSVRfU1VDQ0VTUyk7CisJCX0KKwkJaWYgKCFzdHJjbXAoYXJnLCAiLWgiKSB8fCAhc3RyY21wKGFyZywgIi0taGVscCIpKQorCQkJdXNhZ2Uoc3Rkb3V0KTsKKwkJaWYgKCFzdHJjbXAoYXJnLCAiLS12ZXJib3NlIikpIHsKKwkJCWN0bC0+dmVyYm9zZSA9IDE7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoIXN0cmNtcChhcmcsICItYSIpIHx8ICFzdHJjbXAoYXJnLCAiLS1hbGwiKSkgeworCQkJY3RsLT5jaGVja19hbGwgPSAxOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKCFzdHJjbXAoYXJnLCAiLWwiKSB8fCAhc3RyY21wKGFyZywgIi0tbGlzdCIpKSB7CisJCQlpZiAoYXJnYyA8IDIpIHsKKwkJCQlwcmludF9hbGxfc2lnbmFscyhzdGRvdXQsIDApOworCQkJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwkJCX0KKwkJCWlmICgyIDwgYXJnYykKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidG9vIG1hbnkgYXJndW1lbnRzIikpOworCQkJLyogYXJnYyA9PSAyLCBhY2NlcHQgImtpbGwgLWwgJD8iICovCisJCQlhcmcgPSBhcmd2WzFdOworCQkJaWYgKChjdGwtPm51bXNpZyA9IGFyZ190b19zaWdudW0oYXJnLCAxKSkgPCAwKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1bmtub3duIHNpZ25hbDogJXMiKSwKKwkJCQkgICAgIGFyZyk7CisJCQlwcmludF9zaWduYWxfbmFtZShjdGwtPm51bXNpZyk7CisJCQlleGl0KEVYSVRfU1VDQ0VTUyk7CisJCX0KKwkJLyogZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBwcm9jcHMga2lsbCgxKSAqLworCQlpZiAoIXN0cm5jbXAoYXJnLCAiLS1saXN0PSIsIDcpIHx8ICFzdHJuY21wKGFyZywgIi1sPSIsIDMpKSB7CisJCQljaGFyICpwID0gc3RyY2hyKGFyZywgJz0nKSArIDE7CisJCQlpZiAoKGN0bC0+bnVtc2lnID0gYXJnX3RvX3NpZ251bShwLCAxKSkgPCAwKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1bmtub3duIHNpZ25hbDogJXMiKSwgcCk7CisJCQlwcmludF9zaWduYWxfbmFtZShjdGwtPm51bXNpZyk7CisJCQlleGl0KEVYSVRfU1VDQ0VTUyk7CisJCX0KKwkJaWYgKCFzdHJjbXAoYXJnLCAiLUwiKSB8fCAhc3RyY21wKGFyZywgIi0tdGFibGUiKSkgeworCQkJcHJpbnRfYWxsX3NpZ25hbHMoc3Rkb3V0LCAxKTsKKwkJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwkJfQorCQlpZiAoIXN0cmNtcChhcmcsICItcCIpIHx8ICFzdHJjbXAoYXJnLCAiLS1waWQiKSkgeworCQkJY3RsLT5kb19waWQgPSAxOworCQkJaWYgKGN0bC0+ZG9fa2lsbCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXMgYW5kICVzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiKSwgIi0tcGlkIiwgIi0tc2lnbmFsIik7CisjaWZkZWYgSEFWRV9TSUdRVUVVRQorCQkJaWYgKGN0bC0+dXNlX3NpZ3ZhbCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXMgYW5kICVzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiKSwgIi0tcGlkIiwgIi0tcXVldWUiKTsKKyNlbmRpZgorCQkJY29udGludWU7CisJCX0KKwkJaWYgKCFzdHJjbXAoYXJnLCAiLXMiKSB8fCAhc3RyY21wKGFyZywgIi0tc2lnbmFsIikpIHsKKwkJCWlmIChhcmdjIDwgMikKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibm90IGVub3VnaCBhcmd1bWVudHMiKSk7CisJCQljdGwtPmRvX2tpbGwgPSAxOworCQkJaWYgKGN0bC0+ZG9fcGlkKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlcyBhbmQgJXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIpLCAiLS1waWQiLCAiLS1zaWduYWwiKTsKKwkJCWFyZ2MtLSwgYXJndisrOworCQkJYXJnID0gKmFyZ3Y7CisJCQlpZiAoKGN0bC0+bnVtc2lnID0gYXJnX3RvX3NpZ251bShhcmcsIDApKSA8IDApCisJCQkJZXJyX25vc2lnKGFyZyk7CisJCQljb250aW51ZTsKKwkJfQorI2lmZGVmIEhBVkVfU0lHUVVFVUUKKwkJaWYgKCFzdHJjbXAoYXJnLCAiLXEiKSB8fCAhc3RyY21wKGFyZywgIi0tcXVldWUiKSkgeworCQkJaWYgKGFyZ2MgPCAyKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJvcHRpb24gJyVzJyByZXF1aXJlcyBhbiBhcmd1bWVudCIpLCBhcmcpOworCQkJaWYgKGN0bC0+ZG9fcGlkKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlcyBhbmQgJXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIpLCAiLS1waWQiLCAiLS1xdWV1ZSIpOworCQkJYXJnYy0tLCBhcmd2Kys7CisJCQlhcmcgPSAqYXJndjsKKwkJCWN0bC0+c2lnZGF0YS5zaXZhbF9pbnQgPSBzdHJ0b3MzMl9vcl9lcnIoYXJnLCBfKCJhcmd1bWVudCBlcnJvciIpKTsKKwkJCWN0bC0+dXNlX3NpZ3ZhbCA9IDE7CisJCQljb250aW51ZTsKKwkJfQorI2VuZGlmCisJCS8qICdhcmcnIGJlZ2lucyB3aXRoIGEgZGFzaCBidXQgaXMgbm90IGEga25vd24gb3B0aW9uLgorCQkgKiBTbyBpdCdzIHByb2JhYmx5IHNvbWV0aGluZyBsaWtlIC1IVVAsIG9yIC0xLy1uIHRyeSB0bworCQkgKiBkZWFsIHdpdGggaXQuCisJCSAqCisJCSAqIC1uIGNvdWxkIGJlIGVpdGhlciBzaWduYWwgbiBvciBwaWQgLW4gKGEgcHJvY2VzcyBncm91cAorCQkgKiBudW1iZXIpLiAgSW4gY2FzZSBvZiBkb3VidCwgUE9TSVggdGVsbHMgdXMgdG8gYXNzdW1lIGEKKwkJICogc2lnbmFsLiAgQnV0IGlmIGEgc2lnbmFsIGhhcyBhbHJlYWR5IGJlZW4gcGFyc2VkLCB0aGVuCisJCSAqIGFzc3VtZSBpdCBpcyBhIHByb2Nlc3MgZ3JvdXAsIHNvIHN0b3AgcGFyc2luZyBvcHRpb25zLiAqLworCQlpZiAoY3RsLT5kb19raWxsKQorCQkJYnJlYWs7CisJCWFyZysrOworCQlpZiAoKGN0bC0+bnVtc2lnID0gYXJnX3RvX3NpZ251bShhcmcsIDApKSA8IDApCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiaW52YWxpZCBzaWduYWwgbmFtZSBvciBudW1iZXI6ICVzIiksIGFyZyk7CisJCWN0bC0+ZG9fa2lsbCA9IDE7CisJCWlmIChjdGwtPmRvX3BpZCkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlcyBhbmQgJXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIpLCAiLS1waWQiLCAiLS1zaWduYWwiKTsKKwkJY29udGludWU7CisJfQorCWlmICghKmFyZ3YpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJub3QgZW5vdWdoIGFyZ3VtZW50cyIpKTsKKwlyZXR1cm4gYXJndjsKK30KKworCitzdGF0aWMgaW50IGtpbGxfdmVyYm9zZShjb25zdCBzdHJ1Y3Qga2lsbF9jb250cm9sICpjdGwpCit7CisJaW50IHJjID0gMDsKKworCWlmIChjdGwtPnZlcmJvc2UpCisJCXByaW50ZihfKCJzZW5kaW5nIHNpZ25hbCAlZCB0byBwaWQgJWRcbiIpLCBjdGwtPm51bXNpZywgY3RsLT5waWQpOworCWlmIChjdGwtPmRvX3BpZCkgeworCQlwcmludGYoIiVsZFxuIiwgKGxvbmcpIGN0bC0+cGlkKTsKKwkJcmV0dXJuIDA7CisJfQorI2lmZGVmIEhBVkVfU0lHUVVFVUUKKwlpZiAoY3RsLT51c2Vfc2lndmFsKQorCQlyYyA9IHNpZ3F1ZXVlKGN0bC0+cGlkLCBjdGwtPm51bXNpZywgY3RsLT5zaWdkYXRhKTsKKwllbHNlCisjZW5kaWYKKwkJcmMgPSBraWxsKGN0bC0+cGlkLCBjdGwtPm51bXNpZyk7CisKKwlpZiAocmMgPCAwKQorCQl3YXJuKF8oInNlbmRpbmcgc2lnbmFsIHRvICVzIGZhaWxlZCIpLCBjdGwtPmFyZyk7CisJcmV0dXJuIHJjOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJc3RydWN0IGtpbGxfY29udHJvbCBjdGwgPSB7IC5udW1zaWcgPSBTSUdURVJNIH07CisJaW50IG5lcnJzID0gMCwgY3QgPSAwOworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCWFyZ3YgPSBwYXJzZV9hcmd1bWVudHMoYXJnYywgYXJndiwgJmN0bCk7CisKKwkvKiBUaGUgcmVzdCBvZiB0aGUgYXJndW1lbnRzIHNob3VsZCBiZSBwcm9jZXNzIGlkcyBhbmQgbmFtZXMuICovCisJZm9yICggOyAoY3RsLmFyZyA9ICphcmd2KSAhPSBOVUxMOyBhcmd2KyspIHsKKwkJY2hhciAqZXAgPSBOVUxMOworCisJCWVycm5vID0gMDsKKwkJY3RsLnBpZCA9IHN0cnRvbChjdGwuYXJnLCAmZXAsIDEwKTsKKwkJaWYgKGVycm5vID09IDAgJiYgZXAgJiYgKmVwID09ICdcMCcgJiYgY3RsLmFyZyA8IGVwKSB7CisJCQlpZiAoa2lsbF92ZXJib3NlKCZjdGwpICE9IDApCisJCQkJbmVycnMrKzsKKwkJCWN0Kys7CisJCX0gZWxzZSB7CisJCQlzdHJ1Y3QgcHJvY19wcm9jZXNzZXMgKnBzID0gcHJvY19vcGVuX3Byb2Nlc3NlcygpOworCQkJaW50IGZvdW5kID0gMDsKKworCQkJaWYgKCFwcykKKwkJCQljb250aW51ZTsKKwkJCWlmICghY3RsLmNoZWNrX2FsbCkKKwkJCQlwcm9jX3Byb2Nlc3Nlc19maWx0ZXJfYnlfdWlkKHBzLCBnZXR1aWQoKSk7CisKKwkJCXByb2NfcHJvY2Vzc2VzX2ZpbHRlcl9ieV9uYW1lKHBzLCBjdGwuYXJnKTsKKwkJCXdoaWxlIChwcm9jX25leHRfcGlkKHBzLCAmY3RsLnBpZCkgPT0gMCkgeworCQkJCWlmIChraWxsX3ZlcmJvc2UoJmN0bCkgIT0gMCkKKwkJCQkJbmVycnMrKzsKKwkJCQljdCsrOworCQkJCWZvdW5kID0gMTsKKwkJCX0KKwkJCXByb2NfY2xvc2VfcHJvY2Vzc2VzKHBzKTsKKworCQkJaWYgKCFmb3VuZCkgeworCQkJCW5lcnJzKyssIGN0Kys7CisJCQkJd2FybngoXygiY2Fubm90IGZpbmQgcHJvY2VzcyBcIiVzXCIiKSwgY3RsLmFyZyk7CisJCQl9CisJCX0KKwl9CisKKwlpZiAoY3QgJiYgbmVycnMgPT0gMCkKKwkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsJLyogZnVsbCBzdWNjZXNzICovCisJZWxzZSBpZiAoY3QgPT0gbmVycnMpCisJCXJldHVybiBFWElUX0ZBSUxVUkU7CS8qIGFsbCBmYWlsZWQgKi8KKworCXJldHVybiBLSUxMX0VYSVRfU09NRU9LOwkvKiBwYXJ0aWFsIHN1Y2Nlc3MgKi8KK30KKwpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy9sb2dnZXIuMSBiL21pc2MtdXRpbHMvbG9nZ2VyLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTM2OWY3YwotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvbG9nZ2VyLjEKQEAgLTAsMCArMSwzNTUgQEAKKy5cIiBDb3B5cmlnaHQgKGMpIDE5ODMsIDE5OTAsIDE5OTMKKy5cIglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy5cIgorLlwiIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorLlwiIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworLlwiIGFyZSBtZXQ6CisuXCIgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy5cIiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisuXCIgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy5cIiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisuXCIgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKy5cIiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKKy5cIiAgICBtdXN0IGRpc3BsYXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnZW1lbnQ6CisuXCIJVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgVW5pdmVyc2l0eSBvZgorLlwiCUNhbGlmb3JuaWEsIEJlcmtlbGV5IGFuZCBpdHMgY29udHJpYnV0b3JzLgorLlwiIDQuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisuXCIgICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisuXCIgICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisuXCIKKy5cIiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorLlwiIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorLlwiIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisuXCIgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisuXCIgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKy5cIiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworLlwiIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorLlwiIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisuXCIgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorLlwiIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKy5cIiBTVUNIIERBTUFHRS4KKy5cIgorLlwiCUAoIylsb2dnZXIuMQk4LjEgKEJlcmtlbGV5KSA2LzYvOTMKKy5cIgorLlRIIExPR0dFUiAiMSIgIk5vdmVtYmVyIDIwMTUiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitsb2dnZXIgXC0gZW50ZXIgbWVzc2FnZXMgaW50byB0aGUgc3lzdGVtIGxvZworLlNIIFNZTk9QU0lTCisuQiBsb2dnZXIKK1tvcHRpb25zXQorLlJJIFsgbWVzc2FnZSBdCisuU0ggREVTQ1JJUFRJT04KKy5CIGxvZ2dlcgorbWFrZXMgZW50cmllcyBpbiB0aGUgc3lzdGVtIGxvZy4KKy5zcAorV2hlbiB0aGUgb3B0aW9uYWwgXGZJbWVzc2FnZVxmUiBhcmd1bWVudCBpcyBwcmVzZW50LCBpdCBpcyB3cml0dGVuCit0byB0aGUgbG9nLiAgSWYgaXQgaXMgbm90IHByZXNlbnQsIGFuZCB0aGUgXGZCXC1mXGZSIG9wdGlvbiBpcyBub3QKK2dpdmVuIGVpdGhlciwgdGhlbiBzdGFuZGFyZCBpbnB1dCBpcyBsb2dnZWQuCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1kICwgIiBcLVwtdWRwIgorVXNlIGRhdGFncmFtcyAoVURQKSBvbmx5LiAgQnkgZGVmYXVsdCB0aGUgY29ubmVjdGlvbiBpcyB0cmllZCB0byB0aGUKK3N5c2xvZyBwb3J0IGRlZmluZWQgaW4gL2V0Yy9zZXJ2aWNlcywgd2hpY2ggaXMgb2Z0ZW4gNTE0IC4KKy5UUAorLkJSIFwtZSAsICIgXC1cLXNraXAtZW1wdHkiCitJZ25vcmUgZW1wdHkgbGluZXMgd2hlbiBwcm9jZXNzaW5nIGZpbGVzLiAgQW4gZW1wdHkgbGluZQoraXMgZGVmaW5lZCB0byBiZSBhIGxpbmUgd2l0aG91dCBhbnkgY2hhcmFjdGVycy4gIFRodXMgYSBsaW5lIGNvbnNpc3RpbmcKK29ubHkgb2Ygd2hpdGVzcGFjZSBpcyBOT1QgY29uc2lkZXJlZCBlbXB0eS4KK05vdGUgdGhhdCB3aGVuIHRoZSBcZkJcLVwtcHJpb1wtcHJlZml4XGZSIG9wdGlvbiBpcyBzcGVjaWZpZWQsIHRoZSBwcmlvcml0eQoraXMgbm90IHBhcnQgb2YgdGhlIGxpbmUuICBUaHVzIGFuIGVtcHR5IGxpbmUgaW4gdGhpcyBtb2RlIGlzIGEgbGluZSB0aGF0IGRvZXMKK25vdCBoYXZlIGFueSBjaGFyYWN0ZXJzIGFmdGVyIHRoZSBwcmlvcml0eSBwcmVmaXggKGUuZy4gXGZCPDEzPlxmUikuCisuVFAKKy5CUiBcLWYgLCAiIFwtXC1maWxlICIgXGZJZmlsZQorTG9nIHRoZSBjb250ZW50cyBvZiB0aGUgc3BlY2lmaWVkIFxmSWZpbGVcZlIuCitUaGlzIG9wdGlvbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBhIGNvbW1hbmQtbGluZSBtZXNzYWdlLgorLlRQCisuQiBcLWkKK0xvZyB0aGUgUElEIG9mIHRoZSBsb2dnZXIgcHJvY2VzcyB3aXRoIGVhY2ggbGluZS4KKy5UUAorLkJSICJcLVwtaWQiIFsgPVxmSWlkIF0KK0xvZyB0aGUgUElEIG9mIHRoZSBsb2dnZXIgcHJvY2VzcyB3aXRoIGVhY2ggbGluZS4gIFdoZW4gdGhlIG9wdGlvbmFsCithcmd1bWVudCBcZklpZFxmUiBpcyBzcGVjaWZpZWQsIHRoZW4gaXQgaXMgdXNlZCBpbnN0ZWFkIG9mIHRoZSBsb2dnZXIKK2NvbW1hbmQncyBQSUQuICBUaGUgdXNlIG9mIFxmQlwtXC1pZD0kJFxmUgorKFBQSUQpIGlzIHJlY29tbWVuZGVkIGluIHNjcmlwdHMgdGhhdCBzZW5kIHNldmVyYWwgbWVzc2FnZXMuCisKK05vdGUgdGhhdCB0aGUgc3lzdGVtIGxvZ2dpbmcgaW5mcmFzdHJ1Y3R1cmUgKGZvciBleGFtcGxlIFxmQnN5c3RlbWRcZlIgd2hlbgorbGlzdGVuaW5nIG9uIC9kZXYvbG9nKSBtYXkgZm9sbG93IGxvY2FsIHNvY2tldCBjcmVkZW50aWFscyB0byBvdmVyd3JpdGUgdGhlCitQSUQgc3BlY2lmaWVkIGluIHRoZSBtZXNzYWdlLgorLkJSIGxvZ2dlciAoMSkKK2lzIGFibGUgdG8gc2V0IHRob3NlIHNvY2tldCBjcmVkZW50aWFscyB0byB0aGUgZ2l2ZW4gXGZJaWRcZlIsIGJ1dCBvbmx5IGlmIHlvdQoraGF2ZSByb290IHBlcm1pc3Npb25zIGFuZCBhIHByb2Nlc3Mgd2l0aCB0aGUgc3BlY2lmaWVkIFBJRCBleGlzdHMsIG90aGVyd2lzZQordGhlIHNvY2tldCBjcmVkZW50aWFscyBhcmUgbm90IG1vZGlmaWVkIGFuZCB0aGUgcHJvYmxlbSBpcyBzaWxlbnRseSBpZ25vcmVkLgorLlRQCisuQlIgXC1cLWpvdXJuYWxkIFsgPVxmSWZpbGUgXQorV3JpdGUgYSBzeXN0ZW1kIGpvdXJuYWwgZW50cnkuICBUaGUgZW50cnkgaXMgcmVhZCBmcm9tIHRoZSBnaXZlbiBcZklmaWxlXGZSLAord2hlbiBzcGVjaWZpZWQsIG90aGVyd2lzZSBmcm9tIHN0YW5kYXJkIGlucHV0LgorRWFjaCBsaW5lIG11c3QgYmVnaW4gd2l0aCBhIGZpZWxkIHRoYXQgaXMgYWNjZXB0ZWQgYnkgam91cm5hbGQ7IHNlZQorLkJSIHN5c3RlbWQuam91cm5hbC1maWVsZHMgKDcpCitmb3IgZGV0YWlscy4gIFRoZSB1c2Ugb2YgYSBNRVNTQUdFX0lEIGZpZWxkIGlzIGdlbmVyYWxseSBhIGdvb2QgaWRlYSwgYXMgaXQKK21ha2VzIGZpbmRpbmcgZW50cmllcyBlYXN5LiAgRXhhbXBsZXM6CisuSVAKKy5uZgorXGZCICAgIGxvZ2dlciBcLVwtam91cm5hbGQgPDxlbmQKK1xmQiAgICBNRVNTQUdFX0lEPTY3ZmViNmZmYmFmMjRjNWNiZWMxM2MwMDhkZDcyMzA5CitcZkIgICAgTUVTU0FHRT1UaGUgZG9ncyBiYXJrLCBidXQgdGhlIGNhcmF2YW4gZ29lcyBvbi4KK1xmQiAgICBET0dTPWJhcmsKK1xmQiAgICBDQVJBVkFOPWdvZXMgb24KK1xmQiAgICBlbmQKKy5JUAorXGZCICAgIGxvZ2dlciBcLVwtam91cm5hbGQ9ZW50cnkudHh0CisuZmkKKy5JUAorTm90aWNlIHRoYXQKKy5CIFwtXC1qb3VybmFsZAord2lsbCBpZ25vcmUgdmFsdWVzIG9mIG90aGVyIG9wdGlvbnMsIHN1Y2ggYXMgcHJpb3JpdHkuICBJZiBwcmlvcml0eSBpcworbmVlZGVkIGl0IG11c3QgYmUgd2l0aGluIGlucHV0LCBhbmQgdXNlIFBSSU9SSVRZIGZpZWxkLiAgVGhlIHNpbXBsZQorZXhlY3V0aW9uIG9mCisuQiBqb3VybmFsY3RsCit3aWxsIGRpc3BsYXkgTUVTU0FHRSBmaWVsZC4gIFVzZQorLkIgam91cm5hbGN0bCBcLVwtb3V0cHV0IGpzb24tcHJldHR5Cit0byBzZWUgcmVzdCBvZiB0aGUgZmllbGRzLgorLlRQCisuQlIgXC1cLW1zZ2lkICIgXGZJbXNnaWQKK1NldHMgdGhlIFJGQzU0MjQgTVNHSUQgZmllbGQuICBOb3RlIHRoYXQgdGhlIHNwYWNlIGNoYXJhY3RlciBpcyBub3QgcGVybWl0dGVkCitpbnNpZGUgb2YgXGZJbXNnaWRcZlIuICBUaGlzIG9wdGlvbiBpcyBvbmx5IHVzZWQgaWYgXGZCXC1cLXJmYzU0MjRcZlIgaXMKK3NwZWNpZmllZCBhcyB3ZWxsOyBvdGhlcndpc2UsIGl0IGlzIHNpbGVudGx5IGlnbm9yZWQuCisuVFAKKy5CUiBcLW4gLCAiIFwtXC1zZXJ2ZXIgIiBcZklzZXJ2ZXIKK1dyaXRlIHRvIHRoZSBzcGVjaWZpZWQgcmVtb3RlIHN5c2xvZyBcZklzZXJ2ZXJcZlIKK2luc3RlYWQgb2YgdG8gdGhlIHN5c3RlbSBsb2cgc29ja2V0LiAgVW5sZXNzCitcZkJcLVwtdWRwXGZSIG9yIFxmQlwtXC10Y3BcZlIKK2lzIHNwZWNpZmllZCwgXGZCbG9nZ2VyXGZSIHdpbGwgZmlyc3QgdHJ5IHRvIHVzZSBVRFAsCitidXQgaWYgdGhpcyBmYWlscyBhIFRDUCBjb25uZWN0aW9uIGlzIGF0dGVtcHRlZC4KKy5UUAorLkJSIFwtXC1ub1wtYWN0CitDYXVzZXMgZXZlcnl0aGluZyB0byBiZSBkb25lIGV4Y2VwdCBmb3Igd3JpdGluZyB0aGUgbG9nIG1lc3NhZ2UgdG8gdGhlIHN5c3RlbQorbG9nLCBhbmQgcmVtb3ZpbmcgdGhlIGNvbm5lY3Rpb24gb3IgdGhlIGpvdXJuYWwuICBUaGlzIG9wdGlvbiBjYW4gYmUgdXNlZAordG9nZXRoZXIgd2l0aCBcZkJcLVwtc3RkZXJyXGZSIGZvciB0ZXN0aW5nIHB1cnBvc2VzLgorLlRQCisuQiBcLVwtb2N0ZXRcLWNvdW50CitVc2UgdGhlIFJGQyA2NTg3IG9jdGV0IGNvdW50aW5nIGZyYW1pbmcgbWV0aG9kIGZvciBzZW5kaW5nIG1lc3NhZ2VzLgorV2hlbiB0aGlzIG9wdGlvbiBpcyBub3QgdXNlZCwgdGhlIGRlZmF1bHQgaXMgbm8gZnJhbWluZyBvbiBVRFAsIGFuZAorUkZDNjU4NyBub24tdHJhbnNwYXJlbnQgZnJhbWluZyAoYWxzbyBrbm93biBhcyBvY3RldCBzdHVmZmluZykgb24gVENQLgorLlRQCisuQlIgXC1QICwgIiBcLVwtcG9ydCAiIFxmSXBvcnQKK1VzZSB0aGUgc3BlY2lmaWVkIFxmSXBvcnRcZlIuICBXaGVuIHRoaXMgb3B0aW9uIGlzIG5vdCBzcGVjaWZpZWQsIHRoZQorcG9ydCBkZWZhdWx0cyB0byBzeXNsb2cgZm9yIHVkcCBhbmQgdG8gc3lzbG9nLWNvbm4gZm9yIHRjcCBjb25uZWN0aW9ucy4KKy5UUAorLkJSIFwtcCAsICIgXC1cLXByaW9yaXR5ICIgXGZJcHJpb3JpdHkKK0VudGVyIHRoZSBtZXNzYWdlIGludG8gdGhlIGxvZyB3aXRoIHRoZSBzcGVjaWZpZWQgXGZJcHJpb3JpdHlcZlIuCitUaGUgcHJpb3JpdHkgbWF5IGJlIHNwZWNpZmllZCBudW1lcmljYWxseSBvciBhcyBhCisuSVIgZmFjaWxpdHkgLiBsZXZlbAorcGFpci4KK0ZvciBleGFtcGxlLCBcZkJcLXAgbG9jYWwzLmluZm9cZlIKK2xvZ3MgdGhlIG1lc3NhZ2UgYXMgaW5mb3JtYXRpb25hbCBpbiB0aGUgbG9jYWwzIGZhY2lsaXR5LgorVGhlIGRlZmF1bHQgaXMgXGZCdXNlci5ub3RpY2VcZlIuCisuVFAKKy5CIFwtXC1wcmlvXC1wcmVmaXgKK0xvb2sgZm9yIGEgc3lzbG9nIHByZWZpeCBvbiBldmVyeSBsaW5lIHJlYWQgZnJvbSBzdGFuZGFyZCBpbnB1dC4KK1RoaXMgcHJlZml4IGlzIGEgZGVjaW1hbCBudW1iZXIgd2l0aGluIGFuZ2xlIGJyYWNrZXRzIHRoYXQgZW5jb2RlcyBib3RoCit0aGUgZmFjaWxpdHkgYW5kIHRoZSBsZXZlbC4gIFRoZSBudW1iZXIgaXMgY29uc3RydWN0ZWQgYnkgbXVsdGlwbHlpbmcgdGhlCitmYWNpbGl0eSBieSA4IGFuZCB0aGVuIGFkZGluZyB0aGUgbGV2ZWwuICBGb3IgZXhhbXBsZSwgXGZCbG9jYWwwLmluZm9cZlIsCittZWFuaW5nIGZhY2lsaXR5PTE2IGFuZCBsZXZlbD02LCBiZWNvbWVzIFxmQjwxMzQ+XGZSLgorLnNwCitJZiB0aGUgcHJlZml4IGNvbnRhaW5zIG5vIGZhY2lsaXR5LCB0aGUgZmFjaWxpdHkgZGVmYXVsdHMgdG8gd2hhdCBpcworc3BlY2lmaWVkIGJ5IHRoZSBcZkJcLXBcZlIgb3B0aW9uLiAgU2ltaWxhcmx5LCBpZiBubyBwcmVmaXggaXMgcHJvdmlkZWQsCit0aGUgbGluZSBpcyBsb2dnZWQgdXNpbmcgdGhlIFxmSXByaW9yaXR5XGZSIGdpdmVuIHdpdGggXGZCXC1wXGZSLgorLnNwCitUaGlzIG9wdGlvbiBkb2Vzbid0IGFmZmVjdCBhIGNvbW1hbmQtbGluZSBtZXNzYWdlLgorLlRQCisuQiBcLVwtcmZjMzE2NAorVXNlIHRoZSBSRkMgMzE2NCBCU0Qgc3lzbG9nIHByb3RvY29sIHRvIHN1Ym1pdCBtZXNzYWdlcyB0byBhIHJlbW90ZSBzZXJ2ZXIuCisuVFAKKy5CUiBcLVwtcmZjNTQyNCBbID1cZkl3aXRob3V0IF0KK1VzZSB0aGUgUkZDIDU0MjQgc3lzbG9nIHByb3RvY29sIHRvIHN1Ym1pdCBtZXNzYWdlcyB0byBhIHJlbW90ZSBzZXJ2ZXIuCitUaGUgb3B0aW9uYWwgXGZJd2l0aG91dFxmUiBhcmd1bWVudCBjYW4gYmUgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZgordGhlIGZvbGxvd2luZyB2YWx1ZXM6IFxmQm5vdHFcZlIsIFxmQm5vdGltZVxmUiwgXGZCbm9ob3N0XGZSLgorCitUaGUgXGZCbm90cVxmUiB2YWx1ZSBzdXBwcmVzc2VzIHRoZSB0aW1lLXF1YWxpdHkgc3RydWN0dXJlZCBkYXRhCitmcm9tIHRoZSBzdWJtaXR0ZWQgbWVzc2FnZS4gIFRoZSB0aW1lLXF1YWxpdHkgaW5mb3JtYXRpb24gc2hvd3Mgd2hldGhlcgordGhlIGxvY2FsIGNsb2NrIHdhcyBzeW5jaHJvbml6ZWQgcGx1cyB0aGUgbWF4aW11bSBudW1iZXIgb2YgbWljcm9zZWNvbmRzCit0aGUgdGltZXN0YW1wIG1pZ2h0IGJlIG9mZi4gIFRoZSB0aW1lIHF1YWxpdHkgaXMgYWxzbyBhdXRvbWF0aWNhbGx5CitzdXBwcmVzc2VkIHdoZW4gXGZCXC1cLXNkXC1pZCB0aW1lUXVhbGl0eVxmUiBpcyBzcGVjaWZpZWQuCisKK1RoZSBcZkJub3RpbWVcZlIgdmFsdWUgKHdoaWNoIGltcGxpZXMgXGZCbm90cVxmUikKK3N1cHByZXNzZXMgdGhlIGNvbXBsZXRlIHNlbmRlciB0aW1lc3RhbXAgdGhhdCBpcyBpbgorSVNPLTg2MDEgZm9ybWF0LCBpbmNsdWRpbmcgbWljcm9zZWNvbmRzIGFuZCB0aW1lem9uZS4KKworVGhlIFxmQm5vaG9zdFxmUiB2YWx1ZSBzdXBwcmVzc2VzCisuQlIgZ2V0aG9zdG5hbWUgKDIpCitpbmZvcm1hdGlvbiBmcm9tIHRoZSBtZXNzYWdlIGhlYWRlci4KKy5JUAorVGhlIFJGQyA1NDI0IHByb3RvY29sIGhhcyBiZWVuIHRoZSBkZWZhdWx0IGZvcgorLkIgbG9nZ2VyCitzaW5jZSB2ZXJzaW9uIDIuMjYuCisuVFAKKy5CUiBcLXMgLCAiIFwtXC1zdGRlcnIiCitPdXRwdXQgdGhlIG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IgYXMgd2VsbCBhcyB0byB0aGUgc3lzdGVtIGxvZy4KKy5UUAorLkJSICJcLVwtc2RcLWlkIFxmSW5hbWUiIFsgQFxmSWRpZ2l0cyBdCitTcGVjaWZpZXMgYSBzdHJ1Y3R1cmVkIGRhdGEgZWxlbWVudCBJRCBmb3IgYW4gUkZDIDU0MjQgbWVzc2FnZSBoZWFkZXIuICBUaGUKK29wdGlvbiBoYXMgdG8gYmUgdXNlZCBiZWZvcmUgXGZCXC1cLXNkXC1wYXJhbVxmUiB0byBpbnRyb2R1Y2UgYSBuZXcgZWxlbWVudC4KK1RoZSBudW1iZXIgb2Ygc3RydWN0dXJlZCBkYXRhIGVsZW1lbnRzIGlzIHVubGltaXRlZC4gIFRoZSBJRCAoXGZJbmFtZVxmUiBwbHVzCitwb3NzaWJseSBcZkJAXGZJZGlnaXRzXGZSKSBpcyBjYXNlLXNlbnNpdGl2ZSBhbmQgdW5pcXVlbHkgaWRlbnRpZmllcyB0aGUgdHlwZQorYW5kIHB1cnBvc2Ugb2YgdGhlIGVsZW1lbnQuICBUaGUgc2FtZSBJRCBtdXN0IG5vdCBleGlzdCBtb3JlIHRoYW4gb25jZSBpbgorYSBtZXNzYWdlLiAgVGhlIFxmQkBcZklkaWdpdHNcZlIgcGFydCBpcyByZXF1aXJlZCBmb3IgdXNlci1kZWZpbmVkCitub24tc3RhbmRhcmRpemVkIElEcy4KKworXGZCbG9nZ2VyXGZSIGN1cnJlbnRseSBnZW5lcmF0ZXMgdGhlIFxmQnRpbWVRdWFsaXR5XGZSIHN0YW5kYXJkaXplZCBlbGVtZW50Citvbmx5LiAgUkZDIDU0MjQgYWxzbyBkZXNjcmliZXMgdGhlIGVsZW1lbnRzIFxmQm9yaWdpblxmUiAod2l0aCBwYXJhbWV0ZXJzCitpcCwgZW50ZXJwcmlzZUlkLCBzb2Z0d2FyZSBhbmQgc3dWZXJzaW9uKSBhbmQgXGZCbWV0YVxmUiAod2l0aCBwYXJhbWV0ZXJzCitzZXF1ZW5jZUlkLCBzeXNVcFRpbWUgYW5kIGxhbmd1YWdlKS4KK1RoZXNlIGVsZW1lbnQgSURzIG1heSBiZSBzcGVjaWZpZWQgd2l0aG91dCB0aGUgXGZCQFxmSWRpZ2l0c1xmUiBzdWZmaXguCisKKy5UUAorLkJSICJcLVwtc2RcLXBhcmFtICIgXGZJbmFtZSA9IlxmSXZhbHVlXGZCIgorU3BlY2lmaWVzIGEgc3RydWN0dXJlZCBkYXRhIGVsZW1lbnQgcGFyYW1ldGVyLCBhIG5hbWUgYW5kIHZhbHVlIHBhaXIuCitUaGUgb3B0aW9uIGhhcyB0byBiZSB1c2VkIGFmdGVyIFxmQlwtXC1zZFwtaWRcZlIgYW5kIG1heSBiZSBzcGVjaWZpZWQgbW9yZQordGhhbiBvbmNlIGZvciB0aGUgc2FtZSBlbGVtZW50LiAgTm90ZSB0aGF0IHRoZSBxdW90YXRpb24gbWFya3MgYXJvdW5kCitcZkl2YWx1ZVxmUiBhcmUgcmVxdWlyZWQgYW5kIG11c3QgYmUgZXNjYXBlZCBvbiB0aGUgY29tbWFuZCBsaW5lLgorLklQCisubmYKK1xmQiAgICBsb2dnZXIgXC1cLXJmYzU0MjQgXC1cLXNkLWlkIHpvb0AxMjMgICAgICAgICAgICAgICBcXAorXGZCICAgICAgICAgICAgICAgICAgICAgXC1cLXNkLXBhcmFtIHRpZ2VyPVxcImh1bmdyeVxcIiAgIFxcCitcZkIgICAgICAgICAgICAgICAgICAgICBcLVwtc2QtcGFyYW0gemVicmE9XFwicnVubmluZ1xcIiAgXFwKK1xmQiAgICAgICAgICAgICAgICAgICAgIFwtXC1zZC1pZCBtYW5hZ2VyQDEyMyAgICAgICAgICAgXFwKK1xmQiAgICAgICAgICAgICAgICAgICAgIFwtXC1zZC1wYXJhbSBvbk1lZXRpbmc9XFwieWVzXFwiICBcXAorXGZCICAgICAgICAgICAgICAgICAgICAgInRoaXMgaXMgbWVzc2FnZSIKKy5maQorLklQCitwcm9kdWNlczoKKy5JUAorLm5mCitcZkIgIDwxMz4xIDIwMTUtMTAtMDFUMTQ6MDc6NTkuMTY4NjYyKzAyOjAwIHdzIGt6YWsgLSAtIFt0aW1lUXVhbGl0eSB0ektub3duPSIxIiBpc1N5bmNlZD0iMSIgc3luY0FjY3VyYWN5PSIyMTg2MTYiXVt6b29AMTIzIHRpZ2VyPSJodW5ncnkiIHplYnJhPSJydW5uaW5nIl1bbWFuYWdlckAxMjMgb25NZWV0aW5nPSJ5ZXMiXSB0aGlzIGlzIG1lc3NhZ2UKKy5maQorLklQCisuVFAKKy5CUiBcLVwtc2l6ZSAiIFxmSXNpemUKK1NldHMgdGhlIG1heGltdW0gcGVybWl0dGVkIG1lc3NhZ2Ugc2l6ZSB0byBcZklzaXplXGZSLiAgVGhlIGRlZmF1bHQKK2lzIDFLaUIgY2hhcmFjdGVycywgd2hpY2ggaXMgdGhlIGxpbWl0IHRyYWRpdGlvbmFsbHkgdXNlZCBhbmQgc3BlY2lmaWVkCitpbiBSRkMgMzE2NC4gIFdpdGggUkZDIDU0MjQsIHRoaXMgbGltaXQgaGFzIGJlY29tZSBmbGV4aWJsZS4gIEEgZ29vZCBhc3N1bXB0aW9uCitpcyB0aGF0IFJGQyA1NDI0IHJlY2VpdmVycyBjYW4gYXQgbGVhc3QgcHJvY2VzcyA0S2lCIG1lc3NhZ2VzLgorCitNb3N0IHJlY2VpdmVycyBhY2NlcHQgbWVzc2FnZXMgbGFyZ2VyIHRoYW4gMUtpQiBvdmVyIGFueSB0eXBlIG9mIHN5c2xvZworcHJvdG9jb2wuICBBcyBzdWNoLCB0aGUgXGZCXC1cLXNpemVcZlIgb3B0aW9uIGFmZmVjdHMgbG9nZ2VyIGluCithbGwgY2FzZXMgKG5vdCBvbmx5IHdoZW4gXGZCXC1cLXJmYzU0MjRcZlIgd2FzIHVzZWQpLgorCitOb3RlOiB0aGUgbWVzc2FnZS1zaXplIGxpbWl0IGxpbWl0cyB0aGUgb3ZlcmFsbCBtZXNzYWdlIHNpemUsIGluY2x1ZGluZwordGhlIHN5c2xvZyBoZWFkZXIuICBIZWFkZXIgc2l6ZXMgdmFyeSBkZXBlbmRpbmcgb24gdGhlIHNlbGVjdGVkIG9wdGlvbnMgYW5kCit0aGUgaG9zdG5hbWUgbGVuZ3RoLiAgQXMgYSBydWxlIG9mIHRodW1iLCBoZWFkZXJzIGFyZSB1c3VhbGx5IG5vdCBsb25nZXIgdGhhbgorNTAgdG8gODAgY2hhcmFjdGVycy4gIFdoZW4gc2VsZWN0aW5nIGEgbWF4aW11bSBtZXNzYWdlIHNpemUsIGl0IGlzIGltcG9ydGFudAordG8gZW5zdXJlIHRoYXQgdGhlIHJlY2VpdmVyIHN1cHBvcnRzIHRoZSBtYXggc2l6ZSBhcyB3ZWxsLCBvdGhlcndpc2UgbWVzc2FnZXMKK21heSBiZWNvbWUgdHJ1bmNhdGVkLiAgQWdhaW4sIGFzIGEgcnVsZSBvZiB0aHVtYiB0d28gdG8gZm91ciBLaUIgbWVzc2FnZSBzaXplCitzaG91bGQgZ2VuZXJhbGx5IGJlIE9LLCB3aGVyZWFzIGFueXRoaW5nIGxhcmdlciBzaG91bGQgYmUgdmVyaWZpZWQgdG8gd29yay4KKworLlRQCisuQlIgXC1cLXNvY2tldFwtZXJyb3JzIFsgPVxmSW1vZGUgXQorUHJpbnQgZXJyb3JzIGFib3V0IFVuaXggc29ja2V0IGNvbm5lY3Rpb25zLiAgVGhlIFxmSW1vZGVcZlIgY2FuIGJlIGEgdmFsdWUgb2YKK1xmQm9mZlxmUiwgXGZCb25cZlIsIG9yIFxmQmF1dG9cZlIuICBXaGVuIHRoZSBtb2RlIGlzIGF1dG8gbG9nZ2VyIHdpbGwgZGV0ZWN0CitpZiB0aGUgaW5pdCBwcm9jZXNzIGlzIHN5c3RlbWQsIGFuZCBpZiBzbyBhc3N1bXB0aW9uIGlzIG1hZGUgL2Rldi9sb2cgY2FuIGJlCit1c2VkIGVhcmx5IGF0IGJvb3QuICBPdGhlciBpbml0IHN5c3RlbXMgbGFjayBvZiAvZGV2L2xvZyB3aWxsIG5vdCBjYXVzZSBlcnJvcnMKK3RoYXQgaXMgaWRlbnRpY2FsIHdpdGggbWVzc2FnaW5nIHVzaW5nCisuQlIgb3BlbmxvZyAoMykKK3N5c3RlbSBjYWxsLiAgVGhlCisuQlIgbG9nZ2VyICgxKQorYmVmb3JlIHZlcnNpb24gMi4yNiB1c2VkIG9wZW5sb2csIGFuZCBoZW5jZSB3YXMgdW5hYmxlIHRvIGRldGVjdGVkIGxvc3Mgb2YKK21lc3NhZ2VzIHNlbnQgdG8gVW5peCBzb2NrZXRzLgorLklQCitUaGUgZGVmYXVsdCBtb2RlIGlzIFxmQmF1dG9cZlIuICBXaGVuIGVycm9ycyBhcmUgbm90IGVuYWJsZWQgbG9zdCBtZXNzYWdlcyBhcmUKK25vdCBjb21tdW5pY2F0ZWQgYW5kIHdpbGwgcmVzdWx0IHRvIHN1Y2Nlc3NmdWwgcmV0dXJuIHZhbHVlIG9mCisuQlIgbG9nZ2VyICgxKQoraW52b2NhdGlvbi4KKy5UUAorLkJSIFwtVCAsICIgXC1cLXRjcCIKK1VzZSBzdHJlYW0gKFRDUCkgb25seS4gIEJ5IGRlZmF1bHQgdGhlIGNvbm5lY3Rpb24gaXMgdHJpZWQgdG8gdGhlCisuSSBzeXNsb2ctY29ubgorcG9ydCBkZWZpbmVkIGluIC9ldGMvc2VydmljZXMsIHdoaWNoIGlzIG9mdGVuCisuSVIgNjAxIC4KKy5UUAorLkJSIFwtdCAsICIgXC1cLXRhZyAiIFxmSXRhZworTWFyayBldmVyeSBsaW5lIHRvIGJlIGxvZ2dlZCB3aXRoIHRoZSBzcGVjaWZpZWQKKy5JUiB0YWcgLgorVGhlIGRlZmF1bHQgdGFnIGlzIHRoZSBuYW1lIG9mIHRoZSB1c2VyIGxvZ2dlZCBpbiBvbiB0aGUgdGVybWluYWwgKG9yIGEgdXNlcgorbmFtZSBiYXNlZCBvbiBlZmZlY3RpdmUgdXNlciBJRCkuCisuVFAKKy5CUiBcLXUgLCAiIFwtXC1zb2NrZXQgIiBcZklzb2NrZXQKK1dyaXRlIHRvIHRoZSBzcGVjaWZpZWQKKy5JIHNvY2tldAoraW5zdGVhZCBvZiB0byB0aGUgc3lzdGVtIGxvZyBzb2NrZXQuCisuVFAKKy5CIFwtXC0KK0VuZCB0aGUgYXJndW1lbnQgbGlzdC4gIFRoaXMgYWxsb3dzIHRoZSBcZkltZXNzYWdlXGZSCit0byBzdGFydCB3aXRoIGEgaHlwaGVuIChcLSkuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIIFJFVFVSTiBWQUxVRQorVGhlCisuQiBsb2dnZXIKK3V0aWxpdHkgZXhpdHMgMCBvbiBzdWNjZXNzLCBhbmQgPjAgaWYgYW4gZXJyb3Igb2NjdXJzLgorLlNIIEZBQ0lMSVRJRVMgQU5EIExFVkVMUworVmFsaWQgZmFjaWxpdHkgbmFtZXMgYXJlOgorLklQCisuVFMKK3RhYig6KTsKK2xlZnQgbCBsLgorXGZCYXV0aAorXGZCYXV0aHByaXZcZlI6Zm9yIHNlY3VyaXR5IGluZm9ybWF0aW9uIG9mIGEgc2Vuc2l0aXZlIG5hdHVyZQorXGZCY3JvbgorXGZCZGFlbW9uCitcZkJmdHAKK1xmQmtlcm5cZlI6Y2Fubm90IGJlIGdlbmVyYXRlZCBmcm9tIHVzZXJzcGFjZSBwcm9jZXNzLCBhdXRvbWF0aWNhbGx5IGNvbnZlcnRlZCB0byBcZkJ1c2VyCitcZkJscHIKK1xmQm1haWwKK1xmQm5ld3MKK1xmQnN5c2xvZworXGZCdXNlcgorXGZCdXVjcAorXGZCbG9jYWwwCisgIHRvOgorXGZCbG9jYWw3CitcZkJzZWN1cml0eVxmUjpkZXByZWNhdGVkIHN5bm9ueW0gZm9yIFxmQmF1dGgKKy5URQorLlBQCitWYWxpZCBsZXZlbCBuYW1lcyBhcmU6CisuSVAKKy5UUwordGFiKDopOworbGVmdCBsIGwuCitcZkJlbWVyZworXGZCYWxlcnQKK1xmQmNyaXQKK1xmQmVycgorXGZCd2FybmluZworXGZCbm90aWNlCitcZkJpbmZvCitcZkJkZWJ1ZworXGZCcGFuaWNcZlI6ZGVwcmVjYXRlZCBzeW5vbnltIGZvciBcZkJlbWVyZworXGZCZXJyb3JcZlI6ZGVwcmVjYXRlZCBzeW5vbnltIGZvciBcZkJlcnIKK1xmQndhcm5cZlI6ZGVwcmVjYXRlZCBzeW5vbnltIGZvciBcZkJ3YXJuaW5nCisuVEUKKy5QUAorRm9yIHRoZSBwcmlvcml0eSBvcmRlciBhbmQgaW50ZW5kZWQgcHVycG9zZXMgb2YgdGhlc2UgZmFjaWxpdGllcyBhbmQgbGV2ZWxzLCBzZWUKKy5CUiBzeXNsb2cgKDMpLgorLlNIIEVYQU1QTEVTCisuQiBsb2dnZXIgU3lzdGVtIHJlYm9vdGVkCisuYnIKKy5CIGxvZ2dlciBcLXAgbG9jYWwwLm5vdGljZSBcLXQgSE9TVElETSBcLWYgL2Rldi9pZG1jCisuYnIKKy5CIGxvZ2dlciBcLW4gbG9naG9zdC5leGFtcGxlLmNvbSBTeXN0ZW0gcmVib290ZWQKKy5TSCBTRUUgQUxTTworLkJSIGpvdXJuYWxjdGwgKDEpLAorLkJSIHN5c2xvZyAoMyksCisuQlIgc3lzdGVtZC5qb3VybmFsLWZpZWxkcyAoNykKKy5TSCBTVEFOREFSRFMKK1RoZQorLkIgbG9nZ2VyCitjb21tYW5kIGlzIGV4cGVjdGVkIHRvIGJlIElFRUUgU3RkIDEwMDMuMiAoIlBPU0lYLjIiKSBjb21wYXRpYmxlLgorLlNIIEFWQUlMQUJJTElUWQorVGhlIGxvZ2dlciBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBmdHA6Ly9cOmZ0cC5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvbG9nZ2VyLmMgYi9taXNjLXV0aWxzL2xvZ2dlci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3NDgwYzUKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL2xvZ2dlci5jCkBAIC0wLDAgKzEsMTI1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk4MywgMTk5MworICoJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKKyAqICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKyAqCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKyAqCUNhbGlmb3JuaWEsIEJlcmtlbGV5IGFuZCBpdHMgY29udHJpYnV0b3JzLgorICogNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqCisgKiAxOTk5LTAyLTIyIEFya2FkaXVzeiBNacWba2lld2ljeiA8bWlzaWVrQHBsZC5PUkcuUEw+CisgKiAtIGFkZGVkIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0CisgKiBTdW4gTWFyIDIxIDE5OTkgLSBBcm5hbGRvIENhcnZhbGhvIGRlIE1lbG8gPGFjbWVAY29uZWN0aXZhLmNvbS5icj4KKyAqIC0gZml4ZWQgc3RyZXJyKGVycm5vKSBpbiBnZXR0ZXh0IGNhbGxzCisgKi8KKworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorI2luY2x1ZGUgPHN5cy91bi5oPgorI2luY2x1ZGUgPGFycGEvaW5ldC5oPgorI2luY2x1ZGUgPG5ldGRiLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8cHdkLmg+CisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8c3lzL3Vpby5oPgorCisjaW5jbHVkZSAiYWxsLWlvLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJzdHJ2LmgiCisjaW5jbHVkZSAibGlzdC5oIgorCisjZGVmaW5lCVNZU0xPR19OQU1FUworI2luY2x1ZGUgPHN5c2xvZy5oPgorCisjaWZkZWYgSEFWRV9MSUJTWVNURU1ECisjIGluY2x1ZGUgPHN5c3RlbWQvc2QtZGFlbW9uLmg+CisjIGluY2x1ZGUgPHN5c3RlbWQvc2Qtam91cm5hbC5oPgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX1NZU19USU1FWF9ICisjIGluY2x1ZGUgPHN5cy90aW1leC5oPgorI2VuZGlmCisKK2VudW0geworCVRZUEVfVURQID0gKDEgPDwgMSksCisJVFlQRV9UQ1AgPSAoMSA8PCAyKSwKKwlBTExfVFlQRVMgPSBUWVBFX1VEUCB8IFRZUEVfVENQCit9OworCitlbnVtIHsKKwlBRl9VTklYX0VSUk9SU19PRkYgPSAwLAorCUFGX1VOSVhfRVJST1JTX09OLAorCUFGX1VOSVhfRVJST1JTX0FVVE8KK307CisKK2VudW0geworCU9QVF9QUklPX1BSRUZJWCA9IENIQVJfTUFYICsgMSwKKwlPUFRfSk9VUk5BTEQsCisJT1BUX1JGQzMxNjQsCisJT1BUX1JGQzU0MjQsCisJT1BUX1NPQ0tFVF9FUlJPUlMsCisJT1BUX01TR0lELAorCU9QVF9OT0FDVCwKKwlPUFRfSUQsCisJT1BUX1NUUlVDVFVSRURfREFUQV9JRCwKKwlPUFRfU1RSVUNUVVJFRF9EQVRBX1BBUkFNLAorCU9QVF9PQ1RFVF9DT1VOVAorfTsKKworLyogcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgKi8KK3N0cnVjdCBzdHJ1Y3R1cmVkX2RhdGEgeworCWNoYXIgKmlkOwkJLyogU0QtSUQgKi8KKwljaGFyICoqcGFyYW1zOwkJLyogYXJyYXkgd2l0aCBTRC1QQVJBTXMgKi8KKworCXN0cnVjdCBsaXN0X2hlYWQJc2RzOworfTsKKworc3RydWN0IGxvZ2dlcl9jdGwgeworCWludCBmZDsKKwlpbnQgcHJpOworCXBpZF90IHBpZDsJCQkvKiB6ZXJvIHdoZW4gdW53YW50ZWQgKi8KKwljaGFyICpoZHI7CQkJLyogdGhlIHN5c2xvZyBoZWFkZXIgKGJhc2VkIG9uIHByb3RvY29sKSAqLworCWNoYXIgKnRhZzsKKwljaGFyICptc2dpZDsKKwljaGFyICp1bml4X3NvY2tldDsJCS8qIC11IDxwYXRoPiBvciBkZWZhdWx0IHRvIF9QQVRIX0RFVkxPRyAqLworCWNoYXIgKnNlcnZlcjsKKwljaGFyICpwb3J0OworCWludCBzb2NrZXRfdHlwZTsKKwlzaXplX3QgbWF4X21lc3NhZ2Vfc2l6ZTsKKwlzdHJ1Y3QgbGlzdF9oZWFkIHVzZXJfc2RzOwkvKiB1c2VyIGRlZmluZWQgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgKi8KKwlzdHJ1Y3QgbGlzdF9oZWFkIHJlc2VydmVkX3NkczsJLyogc3RhbmRhcmQgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgKi8KKworCXZvaWQgKCpzeXNsb2dmcCkoc3RydWN0IGxvZ2dlcl9jdGwgKmN0bCk7CisKKwl1bnNpZ25lZCBpbnQKKwkJCXVuaXhfc29ja2V0X2Vycm9yczoxLAkvKiB3aGV0aGVyIHRvIHJlcG9ydCBvciBub3QgZXJyb3JzICovCisJCQlub2FjdDoxLAkJLyogZG8gbm90IHdyaXRlIHRvIHNvY2tldHMgKi8KKwkJCXByaW9fcHJlZml4OjEsCQkvKiByZWFkIHByaW9yaXR5IGZyb20gaW5wdXQgKi8KKwkJCXN0ZGVycl9wcmludG91dDoxLAkvKiBvdXRwdXQgbWVzc2FnZSB0byBzdGRlcnIgKi8KKwkJCXJmYzU0MjRfdGltZToxLAkJLyogaW5jbHVkZSB0aW1lIHN0YW1wICovCisJCQlyZmM1NDI0X3RxOjEsCQkvKiBpbmNsdWRlIHRpbWUgcXVhbGl0eSBtYXJrdXAgKi8KKwkJCXJmYzU0MjRfaG9zdDoxLAkJLyogaW5jbHVkZSBob3N0bmFtZSAqLworCQkJc2tpcF9lbXB0eV9saW5lczoxLAkvKiBkbyBub3Qgc2VuZCBlbXB0eSBsaW5lcyB3aGVuIHByb2Nlc3NpbmcgZmlsZXMgKi8KKwkJCW9jdGV0X2NvdW50OjE7CQkvKiB1c2UgUkZDNjU4NyBvY3RldCBjb3VudGluZyAqLworfTsKKworLyoKKyAqIEZvciB0ZXN0cyB3ZSB3YW50IHRvIGJlIGFibGUgdG8gY29udHJvbCBkYXRldGltZSBvdXRwdXRzCisgKi8KKyNpZmRlZiBURVNUX0xPR0dFUgorc3RhdGljIGlubGluZSBpbnQgbG9nZ2VyX2dldHRpbWVvZmRheShzdHJ1Y3QgdGltZXZhbCAqdHYsIHN0cnVjdCB0aW1lem9uZSAqdHopCit7CisJY2hhciAqc3RyID0gZ2V0ZW52KCJMT0dHRVJfVEVTVF9USU1FT0ZEQVkiKTsKKwl1aW50bWF4X3Qgc2VjLCB1c2VjOworCisJaWYgKHN0ciAmJiBzc2NhbmYoc3RyLCAiJWp1LiVqdSIsICZzZWMsICZ1c2VjKSA9PSAyKSB7CisJCXR2LT50dl9zZWMgPSBzZWM7CisJCXR2LT50dl91c2VjID0gdXNlYzsKKwkJcmV0dXJuIHR2LT50dl9zZWMgPj0gMCAmJiB0di0+dHZfdXNlYyA+PSAwID8gMCA6IC1FSU5WQUw7CisJfQorCisJcmV0dXJuIGdldHRpbWVvZmRheSh0diwgdHopOworfQorCitzdGF0aWMgaW5saW5lIGNoYXIgKmxvZ2dlcl94Z2V0aG9zdG5hbWUodm9pZCkKK3sKKwljaGFyICpzdHIgPSBnZXRlbnYoIkxPR0dFUl9URVNUX0hPU1ROQU1FIik7CisJcmV0dXJuIHN0ciA/IHhzdHJkdXAoc3RyKSA6IHhnZXRob3N0bmFtZSgpOworfQorCitzdGF0aWMgaW5saW5lIHBpZF90IGxvZ2dlcl9nZXRwaWQodm9pZCkKK3sKKwljaGFyICpzdHIgPSBnZXRlbnYoIkxPR0dFUl9URVNUX0dFVFBJRCIpOworCXVuc2lnbmVkIGludCBwaWQ7CisKKwlpZiAoc3RyICYmIHNzY2FuZihzdHIsICIldSIsICZwaWQpID09IDEpCisJCXJldHVybiBwaWQ7CisJcmV0dXJuIGdldHBpZCgpOworfQorCisKKyN1bmRlZiBIQVZFX05UUF9HRVRUSU1FCQkvKiBmb3JjZSB0byBkZWZhdWx0IG5vbi1OVFAgKi8KKworI2Vsc2UgLyogIVRFU1RfTE9HR0VSICovCisjIGRlZmluZSBsb2dnZXJfZ2V0dGltZW9mZGF5KHgsIHkpCWdldHRpbWVvZmRheSh4LCB5KQorIyBkZWZpbmUgbG9nZ2VyX3hnZXRob3N0bmFtZQkJeGdldGhvc3RuYW1lCisjIGRlZmluZSBsb2dnZXJfZ2V0cGlkCQkJZ2V0cGlkCisjZW5kaWYKKworCitzdGF0aWMgaW50IGRlY29kZShjb25zdCBjaGFyICpuYW1lLCBjb25zdCBDT0RFICpjb2RldGFiKQoreworCXJlZ2lzdGVyIGNvbnN0IENPREUgKmM7CisKKwlpZiAobmFtZSA9PSBOVUxMIHx8ICpuYW1lID09ICdcMCcpCisJCXJldHVybiAtMTsKKwlpZiAoaXNkaWdpdCgqbmFtZSkpIHsKKwkJaW50IG51bTsKKwkJY2hhciAqZW5kID0gTlVMTDsKKworCQllcnJubyA9IDA7CisJCW51bSA9IHN0cnRvbChuYW1lLCAmZW5kLCAxMCk7CisJCWlmIChlcnJubyB8fCBuYW1lID09IGVuZCB8fCAoZW5kICYmICplbmQpKQorCQkJcmV0dXJuIC0xOworCQlmb3IgKGMgPSBjb2RldGFiOyBjLT5jX25hbWU7IGMrKykKKwkJCWlmIChudW0gPT0gYy0+Y192YWwpCisJCQkJcmV0dXJuIG51bTsKKwkJcmV0dXJuIC0xOworCX0KKwlmb3IgKGMgPSBjb2RldGFiOyBjLT5jX25hbWU7IGMrKykKKwkJaWYgKCFzdHJjYXNlY21wKG5hbWUsIGMtPmNfbmFtZSkpCisJCQlyZXR1cm4gKGMtPmNfdmFsKTsKKworCXJldHVybiAtMTsKK30KKworc3RhdGljIGludCBwZW5jb2RlKGNoYXIgKnMpCit7CisJaW50IGZhY2lsaXR5LCBsZXZlbDsKKwljaGFyICpzZXBhcmF0b3I7CisKKwlzZXBhcmF0b3IgPSBzdHJjaHIocywgJy4nKTsKKwlpZiAoc2VwYXJhdG9yKSB7CisJCSpzZXBhcmF0b3IgPSAnXDAnOworCQlmYWNpbGl0eSA9IGRlY29kZShzLCBmYWNpbGl0eW5hbWVzKTsKKwkJaWYgKGZhY2lsaXR5IDwgMCkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1bmtub3duIGZhY2lsaXR5IG5hbWU6ICVzIiksIHMpOworCQlzID0gKytzZXBhcmF0b3I7CisJfSBlbHNlCisJCWZhY2lsaXR5ID0gTE9HX1VTRVI7CisJbGV2ZWwgPSBkZWNvZGUocywgcHJpb3JpdHluYW1lcyk7CisJaWYgKGxldmVsIDwgMCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVua25vd24gcHJpb3JpdHkgbmFtZTogJXMiKSwgcyk7CisJaWYgKGZhY2lsaXR5ID09IExPR19LRVJOKQorCQlmYWNpbGl0eSA9IExPR19VU0VSOwkvKiBrZXJuIGlzIGZvcmJpZGRlbiAqLworCXJldHVybiAoKGxldmVsICYgTE9HX1BSSU1BU0spIHwgKGZhY2lsaXR5ICYgTE9HX0ZBQ01BU0spKTsKK30KKworc3RhdGljIGludCB1bml4X3NvY2tldChzdHJ1Y3QgbG9nZ2VyX2N0bCAqY3RsLCBjb25zdCBjaGFyICpwYXRoLCBpbnQgKnNvY2tldF90eXBlKQoreworCWludCBmZCwgaSwgdHlwZSA9IC0xOworCXN0YXRpYyBzdHJ1Y3Qgc29ja2FkZHJfdW4gc19hZGRyOwkvKiBBRl9VTklYIGFkZHJlc3Mgb2YgbG9jYWwgbG9nZ2VyICovCisKKwlpZiAoc3RybGVuKHBhdGgpID49IHNpemVvZihzX2FkZHIuc3VuX3BhdGgpKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygib3BlbmxvZyAlczogcGF0aG5hbWUgdG9vIGxvbmciKSwgcGF0aCk7CisKKwlzX2FkZHIuc3VuX2ZhbWlseSA9IEFGX1VOSVg7CisJc3RyY3B5KHNfYWRkci5zdW5fcGF0aCwgcGF0aCk7CisKKwlmb3IgKGkgPSAyOyBpOyBpLS0pIHsKKwkJaW50IHN0ID0gLTE7CisKKwkJaWYgKGkgPT0gMiAmJiAqc29ja2V0X3R5cGUgJiBUWVBFX1VEUCkgeworCQkJc3QgPSBTT0NLX0RHUkFNOworCQkJdHlwZSA9IFRZUEVfVURQOworCQl9CisJCWlmIChpID09IDEgJiYgKnNvY2tldF90eXBlICYgVFlQRV9UQ1ApIHsKKwkJCXN0ID0gU09DS19TVFJFQU07CisJCQl0eXBlID0gVFlQRV9UQ1A7CisJCX0KKwkJaWYgKHN0ID09IC0xIHx8IChmZCA9IHNvY2tldChBRl9VTklYLCBzdCwgMCkpID09IC0xKQorCQkJY29udGludWU7CisJCWlmIChjb25uZWN0KGZkLCAoc3RydWN0IHNvY2thZGRyICopJnNfYWRkciwgc2l6ZW9mKHNfYWRkcikpID09IC0xKSB7CisJCQljbG9zZShmZCk7CisJCQljb250aW51ZTsKKwkJfQorCQlicmVhazsKKwl9CisKKwlpZiAoaSA9PSAwKSB7CisJCWlmIChjdGwtPnVuaXhfc29ja2V0X2Vycm9ycykKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oInNvY2tldCAlcyIpLCBwYXRoKTsKKworCQkvKiBvcGVubG9nKDMpIGNvbXBhdGliaWxpdHksIHNvY2tldCBlcnJvcnMgYXJlCisJCSAqIG5vdCByZXBvcnRlZCwgYnV0IGlnbm9yZWQgc2lsZW50bHkgKi8KKwkJY3RsLT5ub2FjdCA9IDE7CisJCXJldHVybiAtMTsKKwl9CisKKwkvKiByZXBsYWNlIEFMTF9UWVBFUyB3aXRoIHRoZSByZWFsIFRZUEVfKiAqLworCWlmICh0eXBlID4gMCAmJiB0eXBlICE9ICpzb2NrZXRfdHlwZSkKKwkJKnNvY2tldF90eXBlID0gdHlwZTsKKwlyZXR1cm4gZmQ7Cit9CisKK3N0YXRpYyBpbnQgaW5ldF9zb2NrZXQoY29uc3QgY2hhciAqc2VydmVybmFtZSwgY29uc3QgY2hhciAqcG9ydCwgaW50ICpzb2NrZXRfdHlwZSkKK3sKKwlpbnQgZmQsIGVycmNvZGUsIGksIHR5cGUgPSAtMTsKKwlzdHJ1Y3QgYWRkcmluZm8gaGludHMsICpyZXM7CisJY29uc3QgY2hhciAqcCA9IHBvcnQ7CisKKwlmb3IgKGkgPSAyOyBpOyBpLS0pIHsKKwkJbWVtc2V0KCZoaW50cywgMCwgc2l6ZW9mKGhpbnRzKSk7CisJCWlmIChpID09IDIgJiYgKnNvY2tldF90eXBlICYgVFlQRV9VRFApIHsKKwkJCWhpbnRzLmFpX3NvY2t0eXBlID0gU09DS19ER1JBTTsKKwkJCXR5cGUgPSBUWVBFX1VEUDsKKwkJCWlmIChwb3J0ID09IE5VTEwpCisJCQkJcCA9ICJzeXNsb2ciOworCQl9CisJCWlmIChpID09IDEgJiYgKnNvY2tldF90eXBlICYgVFlQRV9UQ1ApIHsKKwkJCWhpbnRzLmFpX3NvY2t0eXBlID0gU09DS19TVFJFQU07CisJCQl0eXBlID0gVFlQRV9UQ1A7CisJCQlpZiAocG9ydCA9PSBOVUxMKQorCQkJCXAgPSAic3lzbG9nLWNvbm4iOworCQl9CisJCWlmIChoaW50cy5haV9zb2NrdHlwZSA9PSAwKQorCQkJY29udGludWU7CisJCWhpbnRzLmFpX2ZhbWlseSA9IEFGX1VOU1BFQzsKKwkJZXJyY29kZSA9IGdldGFkZHJpbmZvKHNlcnZlcm5hbWUsIHAsICZoaW50cywgJnJlcyk7CisJCWlmIChlcnJjb2RlICE9IDApCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIHJlc29sdmUgbmFtZSAlcyBwb3J0ICVzOiAlcyIpLAorCQkJICAgICBzZXJ2ZXJuYW1lLCBwLCBnYWlfc3RyZXJyb3IoZXJyY29kZSkpOworCQlpZiAoKGZkID0gc29ja2V0KHJlcy0+YWlfZmFtaWx5LCByZXMtPmFpX3NvY2t0eXBlLCByZXMtPmFpX3Byb3RvY29sKSkgPT0gLTEpIHsKKwkJCWZyZWVhZGRyaW5mbyhyZXMpOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKGNvbm5lY3QoZmQsIHJlcy0+YWlfYWRkciwgcmVzLT5haV9hZGRybGVuKSA9PSAtMSkgeworCQkJZnJlZWFkZHJpbmZvKHJlcyk7CisJCQljbG9zZShmZCk7CisJCQljb250aW51ZTsKKwkJfQorCisJCWZyZWVhZGRyaW5mbyhyZXMpOworCQlicmVhazsKKwl9CisKKwlpZiAoaSA9PSAwKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGNvbm5lY3QgdG8gJXMgcG9ydCAlcyIpLCBzZXJ2ZXJuYW1lLCBwKTsKKworCS8qIHJlcGxhY2UgQUxMX1RZUEVTIHdpdGggdGhlIHJlYWwgVFlQRV8qICovCisJaWYgKHR5cGUgPiAwICYmIHR5cGUgIT0gKnNvY2tldF90eXBlKQorCQkqc29ja2V0X3R5cGUgPSB0eXBlOworCXJldHVybiBmZDsKK30KKworI2lmZGVmIEhBVkVfTElCU1lTVEVNRAorc3RhdGljIGludCBqb3VybmFsZF9lbnRyeShzdHJ1Y3QgbG9nZ2VyX2N0bCAqY3RsLCBGSUxFICpmcCkKK3sKKwlzdHJ1Y3QgaW92ZWMgKmlvdmVjOworCWNoYXIgKmJ1ZiA9IE5VTEw7CisJc3NpemVfdCBzejsKKwlpbnQgbiwgbGluZXMsIHZlY3RvcnMgPSA4LCByZXQgPSAwOworCXNpemVfdCBkdW1teSA9IDA7CisKKwlpb3ZlYyA9IHhtYWxsb2ModmVjdG9ycyAqIHNpemVvZihzdHJ1Y3QgaW92ZWMpKTsKKwlmb3IgKGxpbmVzID0gMDsgLyogbm90aGluZyAqLyA7IGxpbmVzKyspIHsKKwkJYnVmID0gTlVMTDsKKwkJc3ogPSBnZXRsaW5lKCZidWYsICZkdW1teSwgZnApOworCQlpZiAoc3ogPT0gLTEgfHwKKwkJICAgKHN6ID0gcnRyaW1fd2hpdGVzcGFjZSgodW5zaWduZWQgY2hhciAqKSBidWYpKSA9PSAwKSB7CisJCQlmcmVlKGJ1Zik7CisJCQlicmVhazsKKwkJfQorCQlpZiAobGluZXMgPT0gdmVjdG9ycykgeworCQkJdmVjdG9ycyAqPSAyOworCQkJaWYgKElPVl9NQVggPCB2ZWN0b3JzKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJtYXhpbXVtIGlucHV0IGxpbmVzICglZCkgZXhjZWVkZWQiKSwgSU9WX01BWCk7CisJCQlpb3ZlYyA9IHhyZWFsbG9jKGlvdmVjLCB2ZWN0b3JzICogc2l6ZW9mKHN0cnVjdCBpb3ZlYykpOworCQl9CisJCWlvdmVjW2xpbmVzXS5pb3ZfYmFzZSA9IGJ1ZjsKKwkJaW92ZWNbbGluZXNdLmlvdl9sZW4gPSBzejsKKwl9CisKKwlpZiAoIWN0bC0+bm9hY3QpCisJCXJldCA9IHNkX2pvdXJuYWxfc2VuZHYoaW92ZWMsIGxpbmVzKTsKKwlpZiAoY3RsLT5zdGRlcnJfcHJpbnRvdXQpIHsKKwkJZm9yIChuID0gMDsgbiA8IGxpbmVzOyBuKyspCisJCQlmcHJpbnRmKHN0ZGVyciwgIiVzXG4iLCAoY2hhciAqKSBpb3ZlY1tuXS5pb3ZfYmFzZSk7CisJfQorCWZvciAobiA9IDA7IG4gPCBsaW5lczsgbisrKQorCQlmcmVlKGlvdmVjW25dLmlvdl9iYXNlKTsKKwlmcmVlKGlvdmVjKTsKKwlyZXR1cm4gcmV0OworfQorI2VuZGlmCisKK3N0YXRpYyBjaGFyICp4Z2V0bG9naW4odm9pZCkKK3sKKwljaGFyICpjcDsKKwlzdHJ1Y3QgcGFzc3dkICpwdzsKKworCWlmICghKGNwID0gZ2V0bG9naW4oKSkgfHwgISpjcCkKKwkJY3AgPSAocHcgPSBnZXRwd3VpZChnZXRldWlkKCkpKT8gcHctPnB3X25hbWUgOiAiPHNvbWVvbmU+IjsKKwlyZXR1cm4gY3A7Cit9CisKKy8qIHRoaXMgY3JlYXRlcyBhIHRpbWVzdGFtcCBiYXNlZCBvbiBjdXJyZW50IHRpbWUgYWNjb3JkaW5nIHRvIHRoZQorICogZmluZSBydWxlcyBvZiBSRkMzMTY0LCBtb3N0IGltcG9ydGFudGx5IGl0IGVuc3VyZXMgaW4gYSBwb3J0YWJsZQorICogd2F5IHRoYXQgdGhlIG1vbnRoIGRheSBpcyBjb3JyZWN0bHkgd3JpdHRlbiAod2l0aCBhIFNQIGluc3RlYWQKKyAqIG9mIGEgbGVhZGluZyAwKS4gVGhlIGZ1bmN0aW9uIHVzZXMgYSBzdGF0aWMgYnVmZmVyIHdoaWNoIGlzCisgKiBvdmVyd3JpdHRlbiBvbiB0aGUgbmV4dCBjYWxsIChqdXN0IGxpa2UgY3RpbWUoKSBkb2VzKS4KKyAqLworc3RhdGljIGNvbnN0IGNoYXIgKnJmYzMxNjRfY3VycmVudF90aW1lKHZvaWQpCit7CisJc3RhdGljIGNoYXIgdGltZVszMl07CisJc3RydWN0IHRpbWV2YWwgdHY7CisJc3RydWN0IHRtICp0bTsKKwlzdGF0aWMgY2hhciAqbW9udGhuYW1lc1tdID0geworCQkiSmFuIiwgIkZlYiIsICJNYXIiLCAiQXByIiwgIk1heSIsICJKdW4iLCAiSnVsIiwgIkF1ZyIsCisJCSJTZXAiLCAiT2N0IiwgIk5vdiIsICJEZWMiCisJfTsKKworCWxvZ2dlcl9nZXR0aW1lb2ZkYXkoJnR2LCBOVUxMKTsKKwl0bSA9IGxvY2FsdGltZSgmdHYudHZfc2VjKTsKKwlzbnByaW50Zih0aW1lLCBzaXplb2YodGltZSksIiVzICUyZCAlMi4yZDolMi4yZDolMi4yZCIsCisJCW1vbnRobmFtZXNbdG0tPnRtX21vbl0sIHRtLT50bV9tZGF5LAorCQl0bS0+dG1faG91ciwgdG0tPnRtX21pbiwgdG0tPnRtX3NlYyk7CisJcmV0dXJuIHRpbWU7Cit9CisKKyNkZWZpbmUgbmV4dF9pb3ZlYyhhcnksIGlkeCkgX19leHRlbnNpb25fXyAoewkJXAorCQlhc3NlcnQoQVJSQVlfU0laRShhcnkpID4gKHNpemVfdClpZHgpOwlcCisJCWFzc2VydChpZHggPj0gMCk7CQkJXAorCQkmYXJ5W2lkeCsrXTsJCQkJXAorfSkKKworI2RlZmluZSBpb3ZlY19hZGRfc3RyaW5nKGFyeSwgaWR4LCBzdHIsIGxlbikJCVwKKwlkbyB7CQkJCQkJXAorCQlzdHJ1Y3QgaW92ZWMgKnYgPSBuZXh0X2lvdmVjKGFyeSwgaWR4KTsJXAorCQl2LT5pb3ZfYmFzZSA9ICh2b2lkICopIHN0cjsJCVwKKwkJdi0+aW92X2xlbiA9IGxlbiA/IGxlbiA6IHN0cmxlbihzdHIpOwlcCisJfSB3aGlsZSAoMCkKKworI2RlZmluZSBpb3ZlY19tZW1jbXAoYXJ5LCBpZHgsIHN0ciwgbGVuKQkJXAorCQltZW1jbXAoKGFyeSlbKGlkeCkgLSAxXS5pb3ZfYmFzZSwgc3RyLCBsZW4pCisKKy8qIHdyaXRlcyBnZW5lcmF0ZWQgYnVmZmVyIHRvIGRlc2lyZWQgZGVzdGluYXRpb24uIEZvciBUQ1Agc3lzbG9nLAorICogd2UgdXNlIFJGQzY1ODcgb2N0ZXQtc3R1ZmZpbmcgKHVubGVzcyBvY3RldC1jb3VudGluZyBpcyBzZWxlY3RlZCkuCisgKiBUaGlzIGlzIG5vdCBncmVhdCwgYnV0IGRvaW5nIGZ1bGwgYmxvd24gUkZDNTQyNSAoVExTKSBsb29rcyBsaWtlCisgKiBpdCBpcyB0b28gbXVjaCBmb3IgdGhlIGxvZ2dlciB1dGlsaXR5LiBJZiBvY3RldC1jb3VudGluZyBpcworICogc2VsZWN0ZWQsIHdlIHVzZSB0aGF0LgorICovCitzdGF0aWMgdm9pZCB3cml0ZV9vdXRwdXQoY29uc3Qgc3RydWN0IGxvZ2dlcl9jdGwgKmN0bCwgY29uc3QgY2hhciAqY29uc3QgbXNnKQoreworCXN0cnVjdCBpb3ZlYyBpb3ZbNF07CisJaW50IGlvdmxlbiA9IDA7CisJY2hhciAqb2N0ZXQgPSBOVUxMOworCisJLyogMSkgb2N0ZW4gY291bnQgKi8KKwlpZiAoY3RsLT5vY3RldF9jb3VudCkgeworCQlzaXplX3QgbGVuID0geGFzcHJpbnRmKCZvY3RldCwgIiV6dSAiLCBzdHJsZW4oY3RsLT5oZHIpICsgc3RybGVuKG1zZykpOworCQlpb3ZlY19hZGRfc3RyaW5nKGlvdiwgaW92bGVuLCBvY3RldCwgbGVuKTsKKwl9CisKKwkvKiAyKSBoZWFkZXIgKi8KKwlpb3ZlY19hZGRfc3RyaW5nKGlvdiwgaW92bGVuLCBjdGwtPmhkciwgMCk7CisKKwkvKiAzKSBtZXNzYWdlICovCisJaW92ZWNfYWRkX3N0cmluZyhpb3YsIGlvdmxlbiwgbXNnLCAwKTsKKworCWlmICghY3RsLT5ub2FjdCkgeworCQlzdHJ1Y3QgbXNnaGRyIG1lc3NhZ2UgPSB7IDAgfTsKKyNpZmRlZiBTQ01fQ1JFREVOVElBTFMKKwkJc3RydWN0IGNtc2doZHIgKmNtaHA7CisJCXN0cnVjdCB1Y3JlZCAqY3JlZDsKKwkJdW5pb24geworCQkJc3RydWN0IGNtc2doZHIgY21oOworCQkJY2hhciAgIGNvbnRyb2xbQ01TR19TUEFDRShzaXplb2Yoc3RydWN0IHVjcmVkKSldOworCQl9IGNidWY7CisjZW5kaWYKKworCQkvKiA0KSBhZGQgZXh0cmEgXG4gdG8gbWFrZSBzdXJlIG1lc3NhZ2UgaXMgdGVybWluYXRlZCAqLworCQlpZiAoKGN0bC0+c29ja2V0X3R5cGUgPT0gVFlQRV9UQ1ApICYmICFjdGwtPm9jdGV0X2NvdW50KQorCQkJaW92ZWNfYWRkX3N0cmluZyhpb3YsIGlvdmxlbiwgIlxuIiwgMSk7CisKKwkJbWVzc2FnZS5tc2dfaW92ID0gaW92OworCQltZXNzYWdlLm1zZ19pb3ZsZW4gPSBpb3ZsZW47CisKKyNpZmRlZiBTQ01fQ1JFREVOVElBTFMKKwkJLyogc3lzbG9nL2pvdXJuYWxkIG1heSBmb2xsb3cgbG9jYWwgc29ja2V0IGNyZWRlbnRpYWxzIHJhdGhlcgorCQkgKiB0aGFuIGluIHRoZSBtZXNzYWdlIFBJRC4gSWYgd2UgdXNlIC0taWQgYXMgcm9vdCB0aGFuIHdlIGNhbgorCQkgKiBmb3JjZSBrZXJuZWwgdG8gYWNjZXB0IGFub3RoZXIgdmFsaWQgUElEIHRoYW4gdGhlIHJlYWwgbG9nZ2VyKDEpCisJCSAqIFBJRC4KKwkJICovCisJCWlmIChjdGwtPnBpZCAmJiAhY3RsLT5zZXJ2ZXIgJiYgY3RsLT5waWQgIT0gZ2V0cGlkKCkKKwkJICAgICYmIGdldGV1aWQoKSA9PSAwICYmIGtpbGwoY3RsLT5waWQsIDApID09IDApIHsKKworCQkJbWVzc2FnZS5tc2dfY29udHJvbCA9IGNidWYuY29udHJvbDsKKwkJCW1lc3NhZ2UubXNnX2NvbnRyb2xsZW4gPSBDTVNHX1NQQUNFKHNpemVvZihzdHJ1Y3QgdWNyZWQpKTsKKworCQkJY21ocCA9IENNU0dfRklSU1RIRFIoJm1lc3NhZ2UpOworCQkJY21ocC0+Y21zZ19sZW4gPSBDTVNHX0xFTihzaXplb2Yoc3RydWN0IHVjcmVkKSk7CisJCQljbWhwLT5jbXNnX2xldmVsID0gU09MX1NPQ0tFVDsKKwkJCWNtaHAtPmNtc2dfdHlwZSA9IFNDTV9DUkVERU5USUFMUzsKKwkJCWNyZWQgPSAoc3RydWN0IHVjcmVkICopIENNU0dfREFUQShjbWhwKTsKKworCQkJY3JlZC0+cGlkID0gY3RsLT5waWQ7CisJCX0KKyNlbmRpZgorCisJCWlmIChzZW5kbXNnKGN0bC0+ZmQsICZtZXNzYWdlLCAwKSA8IDApCisJCQl3YXJuKF8oInNlbmQgbWVzc2FnZSBmYWlsZWQiKSk7CisJfQorCisJaWYgKGN0bC0+c3RkZXJyX3ByaW50b3V0KSB7CisJCS8qIG1ha2Ugc3VyZSBpdCdzIHRlcm1pbmF0ZWQgZm9yIHN0ZGVyciAqLworCQlpZiAoaW92ZWNfbWVtY21wKGlvdiwgaW92bGVuLCAiXG4iLCAxKSAhPSAwKQorCQkJaW92ZWNfYWRkX3N0cmluZyhpb3YsIGlvdmxlbiwgIlxuIiwgMSk7CisKKwkJaWdub3JlX3Jlc3VsdCggd3JpdGV2KFNUREVSUl9GSUxFTk8sIGlvdiwgaW92bGVuKSApOworCX0KKworCWZyZWUob2N0ZXQpOworfQorCisjZGVmaW5lIE5JTFZBTFVFICItIgorc3RhdGljIHZvaWQgc3lzbG9nX3JmYzMxNjRfaGVhZGVyKHN0cnVjdCBsb2dnZXJfY3RsICpjb25zdCBjdGwpCit7CisJY2hhciBwaWRbMzBdLCAqaG9zdG5hbWU7CisKKwkqcGlkID0gJ1wwJzsKKwlpZiAoY3RsLT5mZCA8IDApCisJCXJldHVybjsKKwlpZiAoY3RsLT5waWQpCisJCXNucHJpbnRmKHBpZCwgc2l6ZW9mKHBpZCksICJbJWRdIiwgY3RsLT5waWQpOworCisJaWYgKChob3N0bmFtZSA9IGxvZ2dlcl94Z2V0aG9zdG5hbWUoKSkpIHsKKwkJY2hhciAqZG90ID0gc3RyY2hyKGhvc3RuYW1lLCAnLicpOworCQlpZiAoZG90KQorCQkJKmRvdCA9ICdcMCc7CisJfSBlbHNlCisJCWhvc3RuYW1lID0geHN0cmR1cChOSUxWQUxVRSk7CisKKwl4YXNwcmludGYoJmN0bC0+aGRyLCAiPCVkPiUuMTVzICVzICUuMjAwcyVzOiAiLAorCQkgY3RsLT5wcmksIHJmYzMxNjRfY3VycmVudF90aW1lKCksIGhvc3RuYW1lLCBjdGwtPnRhZywgcGlkKTsKKworCWZyZWUoaG9zdG5hbWUpOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBsaXN0X2hlYWQgKmdldF91c2VyX3N0cnVjdHVyZWRfZGF0YShzdHJ1Y3QgbG9nZ2VyX2N0bCAqY3RsKQoreworCXJldHVybiAmY3RsLT51c2VyX3NkczsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgbGlzdF9oZWFkICpnZXRfcmVzZXJ2ZWRfc3RydWN0dXJlZF9kYXRhKHN0cnVjdCBsb2dnZXJfY3RsICpjdGwpCit7CisJcmV0dXJuICZjdGwtPnJlc2VydmVkX3NkczsKK30KKworc3RhdGljIGludCBoYXNfc3RydWN0dXJlZF9kYXRhX2lkKHN0cnVjdCBsaXN0X2hlYWQgKmxzLCBjb25zdCBjaGFyICppZCkKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwOworCisJaWYgKCFscyB8fCBsaXN0X2VtcHR5KGxzKSkKKwkJcmV0dXJuIDA7CisKKwlsaXN0X2Zvcl9lYWNoKHAsIGxzKSB7CisJCXN0cnVjdCBzdHJ1Y3R1cmVkX2RhdGEgKnNkID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3Qgc3RydWN0dXJlZF9kYXRhLCBzZHMpOworCQlpZiAoc2QtPmlkICYmIHN0cmNtcChzZC0+aWQsIGlkKSA9PSAwKQorCQkJcmV0dXJuIDE7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGFkZF9zdHJ1Y3R1cmVkX2RhdGFfaWQoc3RydWN0IGxpc3RfaGVhZCAqbHMsIGNvbnN0IGNoYXIgKmlkKQoreworCXN0cnVjdCBzdHJ1Y3R1cmVkX2RhdGEgKnNkOworCisJYXNzZXJ0KGlkKTsKKworCWlmIChoYXNfc3RydWN0dXJlZF9kYXRhX2lkKGxzLCBpZCkpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJzdHJ1Y3R1cmVkIGRhdGEgSUQgJyVzJyBpcyBub3QgdW5pcXVlIiksIGlkKTsKKworCXNkID0geGNhbGxvYygxLCBzaXplb2YoKnNkKSk7CisJSU5JVF9MSVNUX0hFQUQoJnNkLT5zZHMpOworCXNkLT5pZCA9IHhzdHJkdXAoaWQpOworCisJbGlzdF9hZGRfdGFpbCgmc2QtPnNkcywgbHMpOworfQorCitzdGF0aWMgdm9pZCBhZGRfc3RydWN0dXJlZF9kYXRhX3BhcmFtKHN0cnVjdCBsaXN0X2hlYWQgKmxzLCBjb25zdCBjaGFyICpwYXJhbSkKK3sKKwlzdHJ1Y3Qgc3RydWN0dXJlZF9kYXRhICpzZDsKKworCWlmIChsaXN0X2VtcHR5KGxzKSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIi0tc2QtaWQgd2FzIG5vdCBzcGVjaWZpZWQgZm9yIC0tc2QtcGFyYW0gJXMiKSwgcGFyYW0pOworCisJYXNzZXJ0KHBhcmFtKTsKKworCXNkID0gbGlzdF9sYXN0X2VudHJ5KGxzLCBzdHJ1Y3Qgc3RydWN0dXJlZF9kYXRhLCBzZHMpOworCisJaWYgKHN0cnZfZXh0ZW5kKCZzZC0+cGFyYW1zLCAgcGFyYW0pKQorCQllcnJfb29tKCk7Cit9CisKK3N0YXRpYyB2b2lkIGFkZF9zdHJ1Y3R1cmVkX2RhdGFfcGFyYW1mKHN0cnVjdCBsaXN0X2hlYWQgKmxzLCBjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwlzdHJ1Y3Qgc3RydWN0dXJlZF9kYXRhICpzZDsKKwl2YV9saXN0IGFwOworCWludCB4OworCisJYXNzZXJ0KCFsaXN0X2VtcHR5KGxzKSk7CisJYXNzZXJ0KGZtdCk7CisKKwlzZCA9IGxpc3RfbGFzdF9lbnRyeShscywgc3RydWN0IHN0cnVjdHVyZWRfZGF0YSwgc2RzKTsKKwl2YV9zdGFydChhcCwgZm10KTsKKwl4ID0gc3Rydl9leHRlbmR2KCZzZC0+cGFyYW1zLCBmbXQsIGFwKTsKKwl2YV9lbmQoYXApOworCisJaWYgKHgpCisJCWVycl9vb20oKTsKK30KKworc3RhdGljIGNoYXIgKnN0cmR1cF9zdHJ1Y3R1cmVkX2RhdGEoc3RydWN0IHN0cnVjdHVyZWRfZGF0YSAqc2QpCit7CisJY2hhciAqcmVzLCAqdG1wOworCisJaWYgKHN0cnZfaXNlbXB0eShzZC0+cGFyYW1zKSkKKwkJcmV0dXJuIE5VTEw7CisKKwl4YXNwcmludGYoJnJlcywgIlslcyAlc10iLCBzZC0+aWQsCisJCQkodG1wID0gc3Rydl9qb2luKHNkLT5wYXJhbXMsICIgIikpKTsKKwlmcmVlKHRtcCk7CisJcmV0dXJuIHJlczsKK30KKworc3RhdGljIGNoYXIgKnN0cmR1cF9zdHJ1Y3R1cmVkX2RhdGFfbGlzdChzdHJ1Y3QgbGlzdF9oZWFkICpscykKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwOworCWNoYXIgKnJlcyA9IE5VTEw7CisKKwlsaXN0X2Zvcl9lYWNoKHAsIGxzKSB7CisJCXN0cnVjdCBzdHJ1Y3R1cmVkX2RhdGEgKnNkID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3Qgc3RydWN0dXJlZF9kYXRhLCBzZHMpOworCQljaGFyICpvbmUgPSBzdHJkdXBfc3RydWN0dXJlZF9kYXRhKHNkKTsKKwkJY2hhciAqdG1wID0gcmVzOworCisJCWlmICghb25lKQorCQkJY29udGludWU7CisJCXJlcyA9IHN0cmFwcGVuZCh0bXAsIG9uZSk7CisJCWZyZWUodG1wKTsKKwkJZnJlZShvbmUpOworCX0KKworCXJldHVybiByZXM7Cit9CisKK3N0YXRpYyBjaGFyICpnZXRfc3RydWN0dXJlZF9kYXRhX3N0cmluZyhzdHJ1Y3QgbG9nZ2VyX2N0bCAqY3RsKQoreworCWNoYXIgKnN5cyA9IE5VTEwsICp1c3IgPSBOVUxMLCAqcmVzOworCisJaWYgKCFsaXN0X2VtcHR5KCZjdGwtPnJlc2VydmVkX3NkcykpCisJCXN5cyA9IHN0cmR1cF9zdHJ1Y3R1cmVkX2RhdGFfbGlzdCgmY3RsLT5yZXNlcnZlZF9zZHMpOworCWlmICghbGlzdF9lbXB0eSgmY3RsLT51c2VyX3NkcykpCisJCXVzciA9IHN0cmR1cF9zdHJ1Y3R1cmVkX2RhdGFfbGlzdCgmY3RsLT51c2VyX3Nkcyk7CisKKwlpZiAoc3lzICYmIHVzcikgeworCQlyZXMgPSBzdHJhcHBlbmQoc3lzLCB1c3IpOworCQlmcmVlKHN5cyk7CisJCWZyZWUodXNyKTsKKwl9IGVsc2UKKwkJcmVzID0gc3lzID8gc3lzIDogdXNyOworCisJcmV0dXJuIHJlczsKK30KKworc3RhdGljIGludCB2YWxpZF9zdHJ1Y3R1cmVkX2RhdGFfcGFyYW0oY29uc3QgY2hhciAqc3RyKQoreworCWNoYXIgKmVxICA9IHN0cmNocihzdHIsICc9JyksCisJICAgICAqcW0xID0gc3RyY2hyKHN0ciwgJyInKSwKKwkgICAgICpxbTIgPSBxbTEgPyBzdHJjaHIocW0xICsgMSwgJyInKSA6IE5VTEw7CisKKwlpZiAoIWVxIHx8ICFxbTEgfHwgIXFtMikJCS8qIHNvbWV0aGluZyBpcyBtaXNzaW5nICovCisJCXJldHVybiAwOworCisJLyogZm9vPSJiYXIiICovCisJcmV0dXJuIGVxID4gc3RyICYmIGVxIDwgcW0xICYmIGVxICsgMSA9PSBxbTEgJiYgcW0xIDwgcW0yICYmICoocW0yICsgMSkgPT0gJ1wwJzsKK30KKworLyogU0QtSUQgZm9ybWF0OgorICoJbmFtZUA8cHJpdmF0ZSBlbnRlcnByaXNlIG51bWJlcj4sIGUuZy4sICJvdXJTRElEQDMyNDczIgorICovCitzdGF0aWMgaW50IHZhbGlkX3N0cnVjdHVyZWRfZGF0YV9pZChjb25zdCBjaGFyICpzdHIpCit7CisJY2hhciAqYXQgPSBzdHJjaHIoc3RyLCAnQCcpOworCWNvbnN0IGNoYXIgKnA7CisKKwkvKiBzdGFuZGFyZGl6ZWQgSURzIHdpdGhvdXQgQDxkaWdpdHM+ICovCisJaWYgKCFhdCAmJiAoc3RyY21wKHN0ciwgInRpbWVRdWFsaXR5IikgPT0gMCB8fAorCQkgICAgc3RyY21wKHN0ciwgIm9yaWdpbiIpID09IDAgfHwKKwkJICAgIHN0cmNtcChzdHIsICJtZXRhIikgPT0gMCkpCisJCXJldHVybiAxOworCisJaWYgKCFhdCB8fCBhdCA9PSBzdHIgfHwgISooYXQgKyAxKSkKKwkJcmV0dXJuIDA7CisKKwkvKiA8ZGlnaXRzPiBvciA8ZGlnaXRzPi48ZGlnaXRzPlsuLi5dICovCisJZm9yIChwID0gYXQgKyAxOyBwICYmICpwOyBwKyspIHsKKwkJY29uc3QgY2hhciAqZW5kOworCisJCWlmIChpc2RpZ2l0X3N0cmVuZChwLCAmZW5kKSkKKwkJCWJyZWFrOwkvKiBvbmx5IGRpZ2l0cyBpbiB0aGUgc3RyaW5nICovCisKKwkJaWYgKGVuZCA9PSBOVUxMIHx8IGVuZCA9PSBwIHx8CisJCSAgICAqZW5kICE9ICcuJyB8fCAqKGVuZCArIDEpID09ICdcMCcpCisJCQlyZXR1cm4gMDsKKwkJcCA9IGVuZDsKKwl9CisKKwkvKiBjaGVjayBmb3IgZm9yYmlkZGVuIGNoYXJzIGluIHRoZSA8bmFtZT4gKi8KKwlmb3IgKHAgPSBzdHI7IHAgPCBhdDsgcCsrKSB7CisJCWlmICgqcCA9PSAnWycgfHwgKnAgPT0gJz0nIHx8ICpwID09ICciJyB8fCAqcCA9PSAnQCcpCisJCQlyZXR1cm4gMDsKKwkJaWYgKGlzYmxhbmsoKHVuc2lnbmVkIGNoYXIpICpwKSB8fCBpc2NudHJsKCh1bnNpZ25lZCBjaGFyKSAqcCkpCisJCQlyZXR1cm4gMDsKKwl9CisJcmV0dXJuIDE7Cit9CisKKworLyogU29tZSBmaWVsZCBtYXBwaW5ncyBtYXkgYmUgY29udHJvdmVyc2lhbCwgdGh1cyBJIGdpdmUgdGhlIHJlYXNvbgorICogd2h5IHRoaXMgc3BlY2lmaWMgbWFwcGluZyB3YXMgdXNlZDoKKyAqIEFQUC1OQU1FIDwtLSB0YWcKKyAqICAgIFNvbWUgbWF5IGFyZ3VlIHRoYXQgImxvZ2dlciIgaXMgYSBiZXR0ZXIgZml0LCBidXQgd2UgdGhpbmsKKyAqICAgIHRoaXMgaXMgYmV0dGVyIGlubGluZSBvZiB3aGF0IG90aGVyIGltcGxlbWVudGF0aW9ucyBkby4gSW4KKyAqICAgIHJzeXNsb2csIGZvciBleGFtcGxlLCB0aGUgVEFHIHZhbHVlIGlzIHBvcHVsYXRlZCBmcm9tIEFQUC1OQU1FLgorICogUFJPQ0lEIDwtLSBwaWQKKyAqICAgIFRoaXMgaXMgYSByZWxhdGl2ZWx5IHN0cmFpZ2h0Zm9yd2FyZCBpbnRlcnByZXRhdGlvbiBmcm9tCisgKiAgICBSRkM1NDI0LCBzZWN0LiA2LjIuNi4KKyAqIE1TR0lEIDwtLSBtc2dpZCAoZnJvbSAtLW1zZ2lkKQorICogICAgT25lIG1heSBhcmd1ZSB0aGF0IHRoZSBzdHJpbmcgImxvZ2dlciIgd291bGQgYmUgYmV0dGVyIHN1aXRlZAorICogICAgaGVyZSBzbyB0aGF0IGEgcmVjZWl2ZXIgY2FuIGlkZW50aWZ5IHRoZSBzZW5kZXIgcHJvY2Vzcy4KKyAqICAgIEhvd2V2ZXIsIHRoaXMgZG9lcyBub3Qgc291bmQgbGlrZSBhIGdvb2QgbWF0Y2ggdG8gUkZDNTQyNCwKKyAqICAgIHNlY3QuIDYuMi43LgorICogTm90ZSB0aGF0IGFwcGVuZGl4IEEuMSBvZiBSRkM1NDI0IGRvZXMgbm90IHByb3ZpZGUgY2xlYXIgZ3VpZGFuY2UKKyAqIG9mIGhvdyB0aGVzZSBmaWVsZHMgc2hvdWxkIGJlIHVzZWQuIFRoaXMgaXMgdGhlIGNhc2UgYmVjYXVzZSB0aGUKKyAqIElFVEYgd29ya2luZyBncm91cCBjb3VsZG4ndCBhcnJpdmUgYXQgYSBjbGVhciBhZ3JlZW1lbnQgd2hlbiB3ZQorICogc3BlY2lmaWVkIFJGQzU0MjQuIFRoZSByZXN0IG9mIHRoZSBmaWVsZCBtYXBwaW5ncyBzaG91bGQgYmUKKyAqIHByZXR0eSBjbGVhciBmcm9tIFJGQzU0MjQuIC0tIFJhaW5lciBHZXJoYXJkcywgMjAxNS0wMy0xMAorICovCitzdGF0aWMgdm9pZCBzeXNsb2dfcmZjNTQyNF9oZWFkZXIoc3RydWN0IGxvZ2dlcl9jdGwgKmNvbnN0IGN0bCkKK3sKKwljaGFyICp0aW1lOworCWNoYXIgKmhvc3RuYW1lOworCWNoYXIgKmNvbnN0IGFwcF9uYW1lID0gY3RsLT50YWc7CisJY2hhciAqcHJvY2lkOworCWNoYXIgKmNvbnN0IG1zZ2lkID0geHN0cmR1cChjdGwtPm1zZ2lkID8gY3RsLT5tc2dpZCA6IE5JTFZBTFVFKTsKKwljaGFyICpzdHJ1Y3R1cmVkID0gTlVMTDsKKwlzdHJ1Y3QgbGlzdF9oZWFkICpzZDsKKworCWlmIChjdGwtPmZkIDwgMCkKKwkJcmV0dXJuOworCisJaWYgKGN0bC0+cmZjNTQyNF90aW1lKSB7CisJCXN0cnVjdCB0aW1ldmFsIHR2OworCQlzdHJ1Y3QgdG0gKnRtOworCisJCWxvZ2dlcl9nZXR0aW1lb2ZkYXkoJnR2LCBOVUxMKTsKKwkJaWYgKCh0bSA9IGxvY2FsdGltZSgmdHYudHZfc2VjKSkgIT0gTlVMTCkgeworCQkJY2hhciBmbXRbNjRdOworCQkJY29uc3Qgc2l6ZV90IGkgPSBzdHJmdGltZShmbXQsIHNpemVvZihmbXQpLAorCQkJCQkJICAiJVktJW0tJWRUJUg6JU06JVMuJSUwNnUleiAiLCB0bSk7CisJCQkvKiBwYXRjaCBUWiBpbmZvIHRvIGNvbXBseSB3aXRoIFJGQzMzMzkgKHdlIGxlZnQgU1AgYXQgZW5kKSAqLworCQkJZm10W2kgLSAxXSA9IGZtdFtpIC0gMl07CisJCQlmbXRbaSAtIDJdID0gZm10W2kgLSAzXTsKKwkJCWZtdFtpIC0gM10gPSAnOic7CisJCQl4YXNwcmludGYoJnRpbWUsIGZtdCwgdHYudHZfdXNlYyk7CisJCX0gZWxzZQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygibG9jYWx0aW1lKCkgZmFpbGVkIikpOworCX0gZWxzZQorCQl0aW1lID0geHN0cmR1cChOSUxWQUxVRSk7CisKKwlpZiAoY3RsLT5yZmM1NDI0X2hvc3QpIHsKKwkJaWYgKCEoaG9zdG5hbWUgPSBsb2dnZXJfeGdldGhvc3RuYW1lKCkpKQorCQkJaG9zdG5hbWUgPSB4c3RyZHVwKE5JTFZBTFVFKTsKKwkJLyogQXJiaXRyYXJ5IGxvb2tpbmcgJ2lmICh2YXIgPCBzdHJsZW4oKSkgY2hlY2tzIG9yaWdpbmF0ZSBmcm9tCisJCSAqIFJGQyA1NDI0IC0gNiBTeXNsb2cgTWVzc2FnZSBGb3JtYXQgZGVmaW5pdGlvbi4gICovCisJCWlmICgyNTUgPCBzdHJsZW4oaG9zdG5hbWUpKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImhvc3RuYW1lICclcycgaXMgdG9vIGxvbmciKSwKKwkJCSAgICAgaG9zdG5hbWUpOworCX0gZWxzZQorCQlob3N0bmFtZSA9IHhzdHJkdXAoTklMVkFMVUUpOworCisJaWYgKDQ4IDwgc3RybGVuKGN0bC0+dGFnKSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInRhZyAnJXMnIGlzIHRvbyBsb25nIiksIGN0bC0+dGFnKTsKKworCWlmIChjdGwtPnBpZCkKKwkJeGFzcHJpbnRmKCZwcm9jaWQsICIlZCIsIGN0bC0+cGlkKTsKKwllbHNlCisJCXByb2NpZCA9IHhzdHJkdXAoTklMVkFMVUUpOworCisJc2QgPSBnZXRfcmVzZXJ2ZWRfc3RydWN0dXJlZF9kYXRhKGN0bCk7CisKKwkvKiB0aW1lIHF1YWxpdHkgc3RydWN0dXJlZCBkYXRhIChtYXliZSBvdmVyd3JpdHRlbiBieSAtLXNkLWlkIHRpbWVRdWFsaXR5KSAqLworCWlmIChjdGwtPnJmYzU0MjRfdHEgJiYgIWhhc19zdHJ1Y3R1cmVkX2RhdGFfaWQoc2QsICJ0aW1lUXVhbGl0eSIpKSB7CisKKwkJYWRkX3N0cnVjdHVyZWRfZGF0YV9pZChzZCwgInRpbWVRdWFsaXR5Iik7CisJCWFkZF9zdHJ1Y3R1cmVkX2RhdGFfcGFyYW0oc2QsICJ0ektub3duPVwiMVwiIik7CisKKyNpZmRlZiBIQVZFX05UUF9HRVRUSU1FCisJCXN0cnVjdCBudHB0aW1ldmFsIG50cHR2OworCisJCWlmIChudHBfZ2V0dGltZSgmbnRwdHYpID09IFRJTUVfT0spIHsKKwkJCWFkZF9zdHJ1Y3R1cmVkX2RhdGFfcGFyYW0oc2QsICJpc1N5bmNlZD1cIjFcIiIpOworCQkJYWRkX3N0cnVjdHVyZWRfZGF0YV9wYXJhbWYoc2QsICJzeW5jQWNjdXJhY3k9XCIlbGRcIiIsIG50cHR2Lm1heGVycm9yKTsKKwkJfSBlbHNlCisjZW5kaWYKKwkJCWFkZF9zdHJ1Y3R1cmVkX2RhdGFfcGFyYW1mKHNkLCAiaXNTeW5jZWQ9XCIwXCIiKTsKKwl9CisKKwkvKiBjb252ZXJ0IGFsbCBzdHJ1Y3R1cmVkIGRhdGEgdG8gc3RyaW5nICovCisJc3RydWN0dXJlZCA9IGdldF9zdHJ1Y3R1cmVkX2RhdGFfc3RyaW5nKGN0bCk7CisJaWYgKCFzdHJ1Y3R1cmVkKQorCQlzdHJ1Y3R1cmVkID0geHN0cmR1cChOSUxWQUxVRSk7CisKKwl4YXNwcmludGYoJmN0bC0+aGRyLCAiPCVkPjEgJXMgJXMgJXMgJXMgJXMgJXMgIiwKKwkJY3RsLT5wcmksCisJCXRpbWUsCisJCWhvc3RuYW1lLAorCQlhcHBfbmFtZSwKKwkJcHJvY2lkLAorCQltc2dpZCwKKwkJc3RydWN0dXJlZCk7CisKKwlmcmVlKHRpbWUpOworCWZyZWUoaG9zdG5hbWUpOworCS8qIGFwcF9uYW1lIHBvaW50cyB0byBjdGwtPnRhZywgZG8gTk9UIGZyZWUhICovCisJZnJlZShwcm9jaWQpOworCWZyZWUobXNnaWQpOworCWZyZWUoc3RydWN0dXJlZCk7Cit9CisKK3N0YXRpYyB2b2lkIHBhcnNlX3JmYzU0MjRfZmxhZ3Moc3RydWN0IGxvZ2dlcl9jdGwgKmN0bCwgY2hhciAqcykKK3sKKwljaGFyICppbiwgKnRvazsKKworCWluID0gczsKKwl3aGlsZSAoKHRvayA9IHN0cnRvayhpbiwgIiwiKSkpIHsKKwkJaW4gPSBOVUxMOworCQlpZiAoIXN0cmNtcCh0b2ssICJub3RpbWUiKSkgeworCQkJY3RsLT5yZmM1NDI0X3RpbWUgPSAwOworCQkJY3RsLT5yZmM1NDI0X3RxID0gMDsKKwkJfSBlbHNlIGlmICghc3RyY21wKHRvaywgIm5vdHEiKSkKKwkJCWN0bC0+cmZjNTQyNF90cSA9IDA7CisJCWVsc2UgaWYgKCFzdHJjbXAodG9rLCAibm9ob3N0IikpCisJCQljdGwtPnJmYzU0MjRfaG9zdCA9IDA7CisJCWVsc2UKKwkJCXdhcm54KF8oImlnbm9yaW5nIHVua25vd24gb3B0aW9uIGFyZ3VtZW50OiAlcyIpLCB0b2spOworCX0KK30KKworc3RhdGljIGludCBwYXJzZV91bml4X3NvY2tldF9lcnJvcnNfZmxhZ3MoY2hhciAqcykKK3sKKwlpZiAoIXN0cmNtcChzLCAib2ZmIikpCisJCXJldHVybiBBRl9VTklYX0VSUk9SU19PRkY7CisJaWYgKCFzdHJjbXAocywgIm9uIikpCisJCXJldHVybiBBRl9VTklYX0VSUk9SU19PTjsKKwlpZiAoIXN0cmNtcChzLCAiYXV0byIpKQorCQlyZXR1cm4gQUZfVU5JWF9FUlJPUlNfQVVUTzsKKwl3YXJueChfKCJpbnZhbGlkIGFyZ3VtZW50OiAlczogdXNpbmcgYXV0b21hdGljIGVycm9ycyIpLCBzKTsKKwlyZXR1cm4gQUZfVU5JWF9FUlJPUlNfQVVUTzsKK30KKworc3RhdGljIHZvaWQgc3lzbG9nX2xvY2FsX2hlYWRlcihzdHJ1Y3QgbG9nZ2VyX2N0bCAqY29uc3QgY3RsKQoreworCWNoYXIgcGlkWzMyXTsKKworCWlmIChjdGwtPnBpZCkKKwkJc25wcmludGYocGlkLCBzaXplb2YocGlkKSwgIlslZF0iLCBjdGwtPnBpZCk7CisJZWxzZQorCQlwaWRbMF0gPSAnXDAnOworCisJeGFzcHJpbnRmKCZjdGwtPmhkciwgIjwlZD4lcyAlcyVzOiAiLCBjdGwtPnByaSwgcmZjMzE2NF9jdXJyZW50X3RpbWUoKSwKKwkJY3RsLT50YWcsIHBpZCk7Cit9CisKK3N0YXRpYyB2b2lkIGdlbmVyYXRlX3N5c2xvZ19oZWFkZXIoc3RydWN0IGxvZ2dlcl9jdGwgKmNvbnN0IGN0bCkKK3sKKwlmcmVlKGN0bC0+aGRyKTsKKwljdGwtPnN5c2xvZ2ZwKGN0bCk7Cit9CisKK3N0YXRpYyB2b2lkIGxvZ2dlcl9vcGVuKHN0cnVjdCBsb2dnZXJfY3RsICpjdGwpCit7CisJaWYgKGN0bC0+c2VydmVyKSB7CisJCWN0bC0+ZmQgPSBpbmV0X3NvY2tldChjdGwtPnNlcnZlciwgY3RsLT5wb3J0LCAmY3RsLT5zb2NrZXRfdHlwZSk7CisJCWlmICghY3RsLT5zeXNsb2dmcCkKKwkJCWN0bC0+c3lzbG9nZnAgPSBzeXNsb2dfcmZjNTQyNF9oZWFkZXI7CisJfSBlbHNlIHsKKwkJaWYgKCFjdGwtPnVuaXhfc29ja2V0KQorCQkJY3RsLT51bml4X3NvY2tldCA9IF9QQVRIX0RFVkxPRzsKKworCQljdGwtPmZkID0gdW5peF9zb2NrZXQoY3RsLCBjdGwtPnVuaXhfc29ja2V0LCAmY3RsLT5zb2NrZXRfdHlwZSk7CisJCWlmICghY3RsLT5zeXNsb2dmcCkKKwkJCWN0bC0+c3lzbG9nZnAgPSBzeXNsb2dfbG9jYWxfaGVhZGVyOworCX0KKwlpZiAoIWN0bC0+dGFnKQorCQljdGwtPnRhZyA9IHhnZXRsb2dpbigpOworCWdlbmVyYXRlX3N5c2xvZ19oZWFkZXIoY3RsKTsKK30KKworc3RhdGljIHZvaWQgbG9nZ2VyX2NvbW1hbmRfbGluZShjb25zdCBzdHJ1Y3QgbG9nZ2VyX2N0bCAqY3RsLCBjaGFyICoqYXJndikKK3sKKwkvKiBub3RlOiB3ZSBuZXZlciByZS1nZW5lcmF0ZSB0aGUgc3lzbG9nIGhlYWRlciBoZXJlLCBldmVuIGlmIHdlCisJICogZ2VuZXJhdGUgbXVsdGlwbGUgbWVzc2FnZXMuIElmIHNvLCB3ZSB0aGluayBpdCBpcyB0aGUgcmlnaHQgdGhpbmcKKwkgKiB0byBkbyB0byByZXBvcnQgdGhlbSB3aXRoIHRoZSBzYW1lIHRpbWVzdGFtcCwgYXMgdGhlIHVzZXIgYWN0dWFsbHkKKwkgKiBpbnRlbmRlZCB0byBzZW5kIGEgc2luZ2xlIG1lc3NhZ2UuCisJICovCisJY2hhciAqY29uc3QgYnVmID0geG1hbGxvYyhjdGwtPm1heF9tZXNzYWdlX3NpemUgKyAxKTsKKwljaGFyICpwID0gYnVmOworCWNvbnN0IGNoYXIgKmVuZHAgPSBidWYgKyBjdGwtPm1heF9tZXNzYWdlX3NpemUgLSAxOworCXNpemVfdCBsZW47CisKKwl3aGlsZSAoKmFyZ3YpIHsKKwkJbGVuID0gc3RybGVuKCphcmd2KTsKKwkJaWYgKGVuZHAgPCBwICsgbGVuICYmIHAgIT0gYnVmKSB7CisJCQl3cml0ZV9vdXRwdXQoY3RsLCBidWYpOworCQkJcCA9IGJ1ZjsKKwkJfQorCQlpZiAoY3RsLT5tYXhfbWVzc2FnZV9zaXplIDwgbGVuKSB7CisJCQkoKmFyZ3YpW2N0bC0+bWF4X21lc3NhZ2Vfc2l6ZV0gPSAnXDAnOyAvKiB0cnVuY2F0ZSAqLworCQkJd3JpdGVfb3V0cHV0KGN0bCwgKmFyZ3YrKyk7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAocCAhPSBidWYpCisJCQkqcCsrID0gJyAnOworCQltZW1tb3ZlKHAsICphcmd2KyssIGxlbik7CisJCSoocCArPSBsZW4pID0gJ1wwJzsKKwl9CisJaWYgKHAgIT0gYnVmKQorCQl3cml0ZV9vdXRwdXQoY3RsLCBidWYpOworCWZyZWUoYnVmKTsKK30KKworc3RhdGljIHZvaWQgbG9nZ2VyX3N0ZGluKHN0cnVjdCBsb2dnZXJfY3RsICpjdGwpCit7CisJLyogbm90ZTogd2UgcmUtZ2VuZXJhdGUgdGhlIHN5c2xvZyBoZWFkZXIgZm9yIGVhY2ggbG9nIG1lc3NhZ2UgdG8KKwkgKiB1cGRhdGUgaGVhZGVyIHRpbWVzdGFtcHMgYW5kIHRvIHJlZmxlY3QgcG9zc2libGUgcHJpb3JpdHkgY2hhbmdlcy4KKwkgKiBUaGUgaW5pdGlhbCBoZWFkZXIgaXMgZ2VuZXJhdGVkIGJ5IGxvZ2dlcl9vcGVuKCkuCisJICovCisJaW50IGhhc19oZWFkZXIgPSAxOworCWludCBkZWZhdWx0X3ByaW9yaXR5ID0gY3RsLT5wcmk7CisJaW50IGxhc3RfcHJpID0gZGVmYXVsdF9wcmlvcml0eTsKKwlzaXplX3QgbWF4X3Vzcm1zZ19zaXplID0gY3RsLT5tYXhfbWVzc2FnZV9zaXplIC0gc3RybGVuKGN0bC0+aGRyKTsKKwljaGFyICpjb25zdCBidWYgPSB4bWFsbG9jKG1heF91c3Jtc2dfc2l6ZSArIDIgKyAyKTsKKwlpbnQgcHJpOworCWludCBjOworCXNpemVfdCBpOworCisJYyA9IGdldGNoYXIoKTsKKwl3aGlsZSAoYyAhPSBFT0YpIHsKKwkJaSA9IDA7CisJCWlmIChjdGwtPnByaW9fcHJlZml4ICYmIGMgPT0gJzwnKSB7CisJCQlwcmkgPSAwOworCQkJYnVmW2krK10gPSBjOworCQkJd2hpbGUgKGlzZGlnaXQoYyA9IGdldGNoYXIoKSkgJiYgcHJpIDw9IDE5MSkgeworCQkJCWJ1ZltpKytdID0gYzsKKwkJCQlwcmkgPSBwcmkgKiAxMCArIGMgLSAnMCc7CisJCQl9CisJCQlpZiAoYyAhPSBFT0YgJiYgYyAhPSAnXG4nKQorCQkJCWJ1ZltpKytdID0gYzsKKwkJCWlmIChjID09ICc+JyAmJiAwIDw9IHByaSAmJiBwcmkgPD0gMTkxKSB7CisJCQkJLyogdmFsaWQgUkZDIFBSSSB2YWx1ZXMgKi8KKwkJCQlpID0gMDsKKwkJCQlpZiAocHJpIDwgOCkJLyoga2VybiBmYWNpbGl0eSBpcyBmb3JiaWRkZW4gKi8KKwkJCQkJcHJpIHw9IDg7CisJCQkJY3RsLT5wcmkgPSBwcmk7CisJCQl9IGVsc2UKKwkJCQljdGwtPnByaSA9IGRlZmF1bHRfcHJpb3JpdHk7CisKKwkJCWlmIChjdGwtPnByaSAhPSBsYXN0X3ByaSkgeworCQkJCWhhc19oZWFkZXIgPSAwOworCQkJCW1heF91c3Jtc2dfc2l6ZSA9CisJCQkJICAgIGN0bC0+bWF4X21lc3NhZ2Vfc2l6ZSAtIHN0cmxlbihjdGwtPmhkcik7CisJCQkJbGFzdF9wcmkgPSBjdGwtPnByaTsKKwkJCX0KKwkJCWlmIChjICE9IEVPRiAmJiBjICE9ICdcbicpCisJCQkJYyA9IGdldGNoYXIoKTsKKwkJfQorCisJCXdoaWxlIChjICE9IEVPRiAmJiBjICE9ICdcbicgJiYgaSA8IG1heF91c3Jtc2dfc2l6ZSkgeworCQkJYnVmW2krK10gPSBjOworCQkJYyA9IGdldGNoYXIoKTsKKwkJfQorCQlidWZbaV0gPSAnXDAnOworCisJCWlmIChpID4gMCB8fCAhY3RsLT5za2lwX2VtcHR5X2xpbmVzKSB7CisJCQlpZiAoIWhhc19oZWFkZXIpCisJCQkJZ2VuZXJhdGVfc3lzbG9nX2hlYWRlcihjdGwpOworCQkJd3JpdGVfb3V0cHV0KGN0bCwgYnVmKTsKKwkJCWhhc19oZWFkZXIgPSAwOworCQl9CisKKwkJaWYgKGMgPT0gJ1xuJykJLyogZGlzY2FyZCBsaW5lIHRlcm1pbmF0b3IgKi8KKwkJCWMgPSBnZXRjaGFyKCk7CisJfQorfQorCitzdGF0aWMgdm9pZCBsb2dnZXJfY2xvc2UoY29uc3Qgc3RydWN0IGxvZ2dlcl9jdGwgKmN0bCkKK3sKKwlpZiAoY3RsLT5mZCAhPSAtMSAmJiBjbG9zZShjdGwtPmZkKSAhPSAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjbG9zZSBmYWlsZWQiKSk7CisJZnJlZShjdGwtPmhkcik7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKSB1c2FnZShGSUxFICpvdXQpCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJXMgW29wdGlvbnNdIFs8bWVzc2FnZT5dXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkVudGVyIG1lc3NhZ2VzIGludG8gdGhlIHN5c3RlbSBsb2cuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1pICAgICAgICAgICAgICAgICAgICAgICBsb2cgdGhlIGxvZ2dlciBjb21tYW5kJ3MgUElEXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0taWRbPTxpZD5dICAgICAgICAgIGxvZyB0aGUgZ2l2ZW4gPGlkPiwgb3Igb3RoZXJ3aXNlIHRoZSBQSURcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgICAgbG9nIHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgZG8gbm90IGxvZyBlbXB0eSBsaW5lcyB3aGVuIHByb2Nlc3NpbmcgZmlsZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1uby1hY3QgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIHdyaXRlIHRoZSBsb2dcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgbWFyayBnaXZlbiBtZXNzYWdlIHdpdGggdGhpcyBwcmlvcml0eVxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICB1c2UgcmZjNjU4NyBvY3RldCBjb3VudGluZ1xuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLXByaW8tcHJlZml4ICAgICAgICBsb29rIGZvciBhIHByZWZpeCBvbiBldmVyeSBsaW5lIHJlYWQgZnJvbSBzdGRpblxuIiksIG91dCk7CisJZnB1dHMoXygiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICBvdXRwdXQgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvciBhcyB3ZWxsXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgIG1heGltdW0gc2l6ZSBmb3IgYSBzaW5nbGUgbWVzc2FnZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC10LCAtLXRhZyA8dGFnPiAgICAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1uLCAtLXNlcnZlciA8bmFtZT4gICAgICB3cml0ZSB0byB0aGlzIHJlbW90ZSBzeXNsb2cgc2VydmVyXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVAsIC0tcG9ydCA8cG9ydD4gICAgICAgIHVzZSB0aGlzIHBvcnQgZm9yIFVEUCBvciBUQ1AgY29ubmVjdGlvblxuIiksIG91dCk7CisJZnB1dHMoXygiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICB1c2UgVENQIG9ubHlcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIHVzZSB0aGUgb2Jzb2xldGUgQlNEIHN5c2xvZyBwcm90b2NvbFxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLXJmYzU0MjRbPTxzbmlwPl0gICB1c2UgdGhlIHN5c2xvZyBwcm90b2NvbCAodGhlIGRlZmF1bHQgZm9yIHJlbW90ZSk7XG4iCisJCSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNuaXA+IGNhbiBiZSBub3RpbWUsIG9yIG5vdHEsIGFuZC9vciBub2hvc3RcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1zZC1pZCA8aWQ+ICAgICAgICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgSURcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1zZC1wYXJhbSA8ZGF0YT4gICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgbmFtZT12YWx1ZVxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLW1zZ2lkIDxtc2dpZD4gICAgICBzZXQgcmZjNTQyNCBtZXNzYWdlIGlkIGZpZWxkXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXUsIC0tc29ja2V0IDxzb2NrZXQ+ICAgIHdyaXRlIHRvIHRoaXMgVW5peCBzb2NrZXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1zb2NrZXQtZXJyb3JzWz08b258b2ZmfGF1dG8+XVxuIgorCQkiICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludCBjb25uZWN0aW9uIGVycm9ycyB3aGVuIHVzaW5nIFVuaXggc29ja2V0c1xuIiksIG91dCk7CisjaWZkZWYgSEFWRV9MSUJTWVNURU1ECisJZnB1dHMoXygiICAgICAtLWpvdXJuYWxkWz08ZmlsZT5dICB3cml0ZSBqb3VybmFsZCBlbnRyeVxuIiksIG91dCk7CisjZW5kaWYKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dCk7CisJZnByaW50ZihvdXQsIFVTQUdFX01BTl9UQUlMKCJsb2dnZXIoMSkiKSk7CisKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCisvKgorICogbG9nZ2VyIC0tIHJlYWQgYW5kIGxvZyB1dGlsaXR5CisgKgorICoJUmVhZHMgZnJvbSBhbiBpbnB1dCBhbmQgYXJyYW5nZXMgdG8gd3JpdGUgdGhlIHJlc3VsdCBvbiB0aGUgc3lzdGVtCisgKglsb2cuCisgKi8KK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlzdHJ1Y3QgbG9nZ2VyX2N0bCBjdGwgPSB7CisJCS5mZCA9IC0xLAorCQkucGlkID0gMCwKKwkJLnByaSA9IExPR19VU0VSIHwgTE9HX05PVElDRSwKKwkJLnByaW9fcHJlZml4ID0gMCwKKwkJLnRhZyA9IE5VTEwsCisJCS51bml4X3NvY2tldCA9IE5VTEwsCisJCS51bml4X3NvY2tldF9lcnJvcnMgPSAwLAorCQkuc2VydmVyID0gTlVMTCwKKwkJLnBvcnQgPSBOVUxMLAorCQkuaGRyID0gTlVMTCwKKwkJLm1zZ2lkID0gTlVMTCwKKwkJLnNvY2tldF90eXBlID0gQUxMX1RZUEVTLAorCQkubWF4X21lc3NhZ2Vfc2l6ZSA9IDEwMjQsCisJCS5yZmM1NDI0X3RpbWUgPSAxLAorCQkucmZjNTQyNF90cSA9IDEsCisJCS5yZmM1NDI0X2hvc3QgPSAxLAorCQkuc2tpcF9lbXB0eV9saW5lcyA9IDAKKwl9OworCWludCBjaDsKKwlpbnQgc3Rkb3V0X3Jlb3BlbmVkID0gMDsKKwlpbnQgdW5peF9zb2NrZXRfZXJyb3JzX21vZGUgPSBBRl9VTklYX0VSUk9SU19BVVRPOworI2lmZGVmIEhBVkVfTElCU1lTVEVNRAorCUZJTEUgKmpmZCA9IE5VTEw7CisjZW5kaWYKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJpZCIsCQkgICBvcHRpb25hbF9hcmd1bWVudCwgMCwgT1BUX0lECQkgICB9LAorCQl7ICJzdGRlcnIiLAkgICBub19hcmd1bWVudCwJICAgICAgMCwgJ3MnCQkgICB9LAorCQl7ICJmaWxlIiwJICAgcmVxdWlyZWRfYXJndW1lbnQsIDAsICdmJwkJICAgfSwKKwkJeyAibm8tYWN0IiwgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICAwLCBPUFRfTk9BQ1QsCSAgIH0sCisJCXsgInByaW9yaXR5IiwJICAgcmVxdWlyZWRfYXJndW1lbnQsIDAsICdwJwkJICAgfSwKKwkJeyAidGFnIiwJICAgcmVxdWlyZWRfYXJndW1lbnQsIDAsICd0JwkJICAgfSwKKwkJeyAic29ja2V0IiwJICAgcmVxdWlyZWRfYXJndW1lbnQsIDAsICd1JwkJICAgfSwKKwkJeyAic29ja2V0LWVycm9ycyIsIHJlcXVpcmVkX2FyZ3VtZW50LCAwLCBPUFRfU09DS0VUX0VSUk9SUyB9LAorCQl7ICJ1ZHAiLAkgICBub19hcmd1bWVudCwJICAgICAgMCwgJ2QnCQkgICB9LAorCQl7ICJ0Y3AiLAkgICBub19hcmd1bWVudCwJICAgICAgMCwgJ1QnCQkgICB9LAorCQl7ICJzZXJ2ZXIiLAkgICByZXF1aXJlZF9hcmd1bWVudCwgMCwgJ24nCQkgICB9LAorCQl7ICJwb3J0IiwJICAgcmVxdWlyZWRfYXJndW1lbnQsIDAsICdQJwkJICAgfSwKKwkJeyAidmVyc2lvbiIsCSAgIG5vX2FyZ3VtZW50LAkgICAgICAwLCAnVicJCSAgIH0sCisJCXsgImhlbHAiLAkgICBub19hcmd1bWVudCwJICAgICAgMCwgJ2gnCQkgICB9LAorCQl7ICJvY3RldC1jb3VudCIsICAgbm9fYXJndW1lbnQsCSAgICAgIDAsIE9QVF9PQ1RFVF9DT1VOVCAgIH0sCisJCXsgInByaW8tcHJlZml4IiwgICBub19hcmd1bWVudCwJICAgICAgMCwgT1BUX1BSSU9fUFJFRklYICAgfSwKKwkJeyAicmZjMzE2NCIsCSAgIG5vX2FyZ3VtZW50LAkgICAgICAwLCBPUFRfUkZDMzE2NAkgICB9LAorCQl7ICJyZmM1NDI0IiwJICAgb3B0aW9uYWxfYXJndW1lbnQsIDAsIE9QVF9SRkM1NDI0CSAgIH0sCisJCXsgInNpemUiLAkgICByZXF1aXJlZF9hcmd1bWVudCwgMCwgJ1MnCQkgICB9LAorCQl7ICJtc2dpZCIsCSAgIHJlcXVpcmVkX2FyZ3VtZW50LCAwLCBPUFRfTVNHSUQJICAgfSwKKwkJeyAic2tpcC1lbXB0eSIsCSAgIG5vX2FyZ3VtZW50LAkgICAgICAwLCAnZScJCSAgIH0sCisJCXsgInNkLWlkIiwgICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgMCwgT1BUX1NUUlVDVFVSRURfREFUQV9JRCAgICAgICAgICB9LAorCQl7ICJzZC1wYXJhbSIsICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIDAsIE9QVF9TVFJVQ1RVUkVEX0RBVEFfUEFSQU0gICAgICAgfSwKKyNpZmRlZiBIQVZFX0xJQlNZU1RFTUQKKwkJeyAiam91cm5hbGQiLAkgICBvcHRpb25hbF9hcmd1bWVudCwgMCwgT1BUX0pPVVJOQUxECSAgIH0sCisjZW5kaWYKKwkJeyBOVUxMLAkJICAgMCwJCSAgICAgIDAsIDAJCSAgIH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCUlOSVRfTElTVF9IRUFEKCZjdGwudXNlcl9zZHMpOworCUlOSVRfTElTVF9IRUFEKCZjdGwucmVzZXJ2ZWRfc2RzKTsKKworCXdoaWxlICgoY2ggPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiZWY6aXA6UzpzdDp1OmRUbjpQOlZoIiwKKwkJCQkJICAgIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKwkJc3dpdGNoIChjaCkgeworCQljYXNlICdmJzoJCS8qIGZpbGUgdG8gbG9nICovCisJCQlpZiAoZnJlb3BlbihvcHRhcmcsICJyIiwgc3RkaW4pID09IE5VTEwpCisJCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmlsZSAlcyIpLCBvcHRhcmcpOworCQkJc3Rkb3V0X3Jlb3BlbmVkID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdlJzoKKwkJCWN0bC5za2lwX2VtcHR5X2xpbmVzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdpJzoJCS8qIGxvZyBwcm9jZXNzIGlkIGFsc28gKi8KKwkJCWN0bC5waWQgPSBsb2dnZXJfZ2V0cGlkKCk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfSUQ6CisJCQlpZiAob3B0YXJnKSB7CisJCQkJY29uc3QgY2hhciAqcCA9IG9wdGFyZzsKKworCQkJCWlmICgqcCA9PSAnPScpCisJCQkJCXArKzsKKwkJCQljdGwucGlkID0gc3RydG91bF9vcl9lcnIob3B0YXJnLCBfKCJmYWlsZWQgdG8gcGFyc2UgaWQiKSk7CisJCQl9IGVsc2UKKwkJCQljdGwucGlkID0gbG9nZ2VyX2dldHBpZCgpOworCQkJYnJlYWs7CisJCWNhc2UgJ3AnOgkJLyogcHJpb3JpdHkgKi8KKwkJCWN0bC5wcmkgPSBwZW5jb2RlKG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CQkvKiBsb2cgdG8gc3RhbmRhcmQgZXJyb3IgKi8KKwkJCWN0bC5zdGRlcnJfcHJpbnRvdXQgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3QnOgkJLyogdGFnICovCisJCQljdGwudGFnID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ3UnOgkJLyogdW5peCBzb2NrZXQgKi8KKwkJCWN0bC51bml4X3NvY2tldCA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdTJzoJCS8qIG1heCBtZXNzYWdlIHNpemUgKi8KKwkJCWN0bC5tYXhfbWVzc2FnZV9zaXplID0gc3RydG9zaXplX29yX2VycihvcHRhcmcsCisJCQkJXygiZmFpbGVkIHRvIHBhcnNlIG1lc3NhZ2Ugc2l6ZSIpKTsKKwkJCWJyZWFrOworCQljYXNlICdkJzoKKwkJCWN0bC5zb2NrZXRfdHlwZSA9IFRZUEVfVURQOworCQkJYnJlYWs7CisJCWNhc2UgJ1QnOgorCQkJY3RsLnNvY2tldF90eXBlID0gVFlQRV9UQ1A7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQljdGwuc2VydmVyID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ1AnOgorCQkJY3RsLnBvcnQgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShzdGRvdXQpOworCQljYXNlIE9QVF9PQ1RFVF9DT1VOVDoKKwkJCWN0bC5vY3RldF9jb3VudCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfUFJJT19QUkVGSVg6CisJCQljdGwucHJpb19wcmVmaXggPSAxOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX1JGQzMxNjQ6CisJCQljdGwuc3lzbG9nZnAgPSBzeXNsb2dfcmZjMzE2NF9oZWFkZXI7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfUkZDNTQyNDoKKwkJCWN0bC5zeXNsb2dmcCA9IHN5c2xvZ19yZmM1NDI0X2hlYWRlcjsKKwkJCWlmIChvcHRhcmcpCisJCQkJcGFyc2VfcmZjNTQyNF9mbGFncygmY3RsLCBvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX01TR0lEOgorCQkJaWYgKHN0cmNocihvcHRhcmcsICcgJykpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIi0tbXNnaWQgY2Fubm90IGNvbnRhaW4gc3BhY2UiKSk7CisJCQljdGwubXNnaWQgPSBvcHRhcmc7CisJCQlicmVhazsKKyNpZmRlZiBIQVZFX0xJQlNZU1RFTUQKKwkJY2FzZSBPUFRfSk9VUk5BTEQ6CisJCQlpZiAob3B0YXJnKSB7CisJCQkJamZkID0gZm9wZW4ob3B0YXJnLCAiciIpOworCQkJCWlmICghamZkKQorCQkJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLAorCQkJCQkgICAgb3B0YXJnKTsKKwkJCX0gZWxzZQorCQkJCWpmZCA9IHN0ZGluOworCQkJYnJlYWs7CisjZW5kaWYKKwkJY2FzZSBPUFRfU09DS0VUX0VSUk9SUzoKKwkJCXVuaXhfc29ja2V0X2Vycm9yc19tb2RlID0gcGFyc2VfdW5peF9zb2NrZXRfZXJyb3JzX2ZsYWdzKG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfTk9BQ1Q6CisJCQljdGwubm9hY3QgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX1NUUlVDVFVSRURfREFUQV9JRDoKKwkJCWlmICghdmFsaWRfc3RydWN0dXJlZF9kYXRhX2lkKG9wdGFyZykpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImludmFsaWQgc3RydWN0dXJlZCBkYXRhIElEOiAnJXMnIiksIG9wdGFyZyk7CisJCQlhZGRfc3RydWN0dXJlZF9kYXRhX2lkKGdldF91c2VyX3N0cnVjdHVyZWRfZGF0YSgmY3RsKSwgb3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9TVFJVQ1RVUkVEX0RBVEFfUEFSQU06CisJCQlpZiAoIXZhbGlkX3N0cnVjdHVyZWRfZGF0YV9wYXJhbShvcHRhcmcpKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBwYXJhbWV0ZXI6ICclcyciKSwgb3B0YXJnKTsKKwkJCWFkZF9zdHJ1Y3R1cmVkX2RhdGFfcGFyYW0oZ2V0X3VzZXJfc3RydWN0dXJlZF9kYXRhKCZjdGwpLCBvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgJz8nOgorCQlkZWZhdWx0OgorCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJfQorCX0KKwlhcmdjIC09IG9wdGluZDsKKwlhcmd2ICs9IG9wdGluZDsKKwlpZiAoc3Rkb3V0X3Jlb3BlbmVkICYmIGFyZ2MpCisJCXdhcm54KF8oIi0tZmlsZSA8ZmlsZT4gYW5kIDxtZXNzYWdlPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLCBtZXNzYWdlIGlzIGlnbm9yZWQiKSk7CisjaWZkZWYgSEFWRV9MSUJTWVNURU1ECisJaWYgKGpmZCkgeworCQlpbnQgcmV0ID0gam91cm5hbGRfZW50cnkoJmN0bCwgamZkKTsKKwkJaWYgKHN0ZGluICE9IGpmZCkKKwkJCWZjbG9zZShqZmQpOworCQlpZiAocmV0KQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImpvdXJuYWxkIGVudHJ5IGNvdWxkIG5vdCBiZSB3cml0dGVuIikpOworCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCX0KKyNlbmRpZgorCisJLyogdXNlciBvdmVyd3JpdGVzIGJ1aWxkLWluIFNELUVMRU1FTlQgKi8KKwlpZiAoaGFzX3N0cnVjdHVyZWRfZGF0YV9pZChnZXRfdXNlcl9zdHJ1Y3R1cmVkX2RhdGEoJmN0bCksICJ0aW1lUXVhbGl0eSIpKQorCQljdGwucmZjNTQyNF90cSA9IDA7CisKKwlzd2l0Y2ggKHVuaXhfc29ja2V0X2Vycm9yc19tb2RlKSB7CisJY2FzZSBBRl9VTklYX0VSUk9SU19PRkY6CisJCWN0bC51bml4X3NvY2tldF9lcnJvcnMgPSAwOworCQlicmVhazsKKwljYXNlIEFGX1VOSVhfRVJST1JTX09OOgorCQljdGwudW5peF9zb2NrZXRfZXJyb3JzID0gMTsKKwkJYnJlYWs7CisJY2FzZSBBRl9VTklYX0VSUk9SU19BVVRPOgorCQljdGwudW5peF9zb2NrZXRfZXJyb3JzID0gY3RsLm5vYWN0IHx8IGN0bC5zdGRlcnJfcHJpbnRvdXQ7CisjaWZkZWYgSEFWRV9MSUJTWVNURU1ECisJCWN0bC51bml4X3NvY2tldF9lcnJvcnMgfD0gISFzZF9ib290ZWQoKTsKKyNlbmRpZgorCQlicmVhazsKKwlkZWZhdWx0OgorCQlhYm9ydCgpOworCX0KKwlsb2dnZXJfb3BlbigmY3RsKTsKKwlpZiAoMCA8IGFyZ2MpCisJCWxvZ2dlcl9jb21tYW5kX2xpbmUoJmN0bCwgYXJndik7CisJZWxzZQorCQkvKiBOb3RlLiAtLWZpbGUgPGFyZz4gcmVvcGVucyBzdGRpbiBtYWtpbmcgdGhlIGJlbG93CisJCSAqIGZ1bmN0aW9uIHRvIGJlIHVzZWQgZm9yIGZpbGUgaW5wdXRzLiAqLworCQlsb2dnZXJfc3RkaW4oJmN0bCk7CisJbG9nZ2VyX2Nsb3NlKCZjdGwpOworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL2xvb2suMSBiL21pc2MtdXRpbHMvbG9vay4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkZTVmMGUKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL2xvb2suMQpAQCAtMCwwICsxLDExOCBAQAorLlwiIENvcHlyaWdodCAoYykgMTk5MCwgMTk5MworLlwiCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorLlwiCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorLlwiICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKy5cIglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisuXCIJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisuXCIgNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKy5cIiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKy5cIiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy5cIgorLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisuXCIgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisuXCIgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKy5cIiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy5cIiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorLlwiIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisuXCIgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisuXCIgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKy5cIiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisuXCIgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorLlwiIFNVQ0ggREFNQUdFLgorLlwiCisuXCIgICAgIEAoIylsb29rLjEJOC4xIChCZXJrZWxleSkgNi8xNC85MworLlwiCisuVEggTE9PSyAxICJKdW5lIDIwMTEiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitsb29rIFwtIGRpc3BsYXkgbGluZXMgYmVnaW5uaW5nIHdpdGggYSBnaXZlbiBzdHJpbmcKKy5TSCBTWU5PUFNJUworLkIgbG9vaworW29wdGlvbnNdCisuSVIgInN0cmluZyAiIFsgZmlsZSBdCisuU0ggREVTQ1JJUFRJT04KK1RoZQorLkIgbG9vawordXRpbGl0eSBkaXNwbGF5cyBhbnkgbGluZXMgaW4KKy5JIGZpbGUKK3doaWNoIGNvbnRhaW4KKy5JUiBzdHJpbmcgLgorQXMKKy5CIGxvb2sKK3BlcmZvcm1zIGEgYmluYXJ5IHNlYXJjaCwgdGhlIGxpbmVzIGluCisuSSBmaWxlCittdXN0IGJlIHNvcnRlZCAod2hlcmUKKy5CUiBzb3J0ICgxKQord2FzIGdpdmVuIHRoZSBzYW1lIG9wdGlvbnMKKy5CUiAiXC1kICIgYW5kL29yICIgXC1mICIgdGhhdAorLkIgbG9vaworaXMgaW52b2tlZCB3aXRoKS4KKy5QUAorSWYKKy5JIGZpbGUKK2lzIG5vdCBzcGVjaWZpZWQsIHRoZSBmaWxlCisuSSAvdXNyL3NoYXJlL2RpY3Qvd29yZHMKK2lzIHVzZWQsIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgYXJlIGNvbXBhcmVkIGFuZCB0aGUgY2FzZSBvZgorYWxwaGFiZXRpYyBjaGFyYWN0ZXJzIGlzIGlnbm9yZWQuCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1hICwgIiBcLVwtYWx0ZXJuYXRpdmUiCitVc2UgdGhlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnkgZmlsZS4KKy5UUAorLkJSIFwtZCAsICIgXC1cLWFscGhhbnVtIgorVXNlIG5vcm1hbCBkaWN0aW9uYXJ5IGNoYXJhY3RlciBzZXQgYW5kIG9yZGVyLCBpLmUuIG9ubHkgYmxhbmtzIGFuZAorYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgYXJlIGNvbXBhcmVkLiAgVGhpcyBpcyBvbiBieSBkZWZhdWx0IGlmIG5vIGZpbGUgaXMKK3NwZWNpZmllZC4KKworTm90ZSB0aGF0IGJsYW5rcyBoYXZlIGJlZW4gYWRkZWQgdG8gZGljdGlvbmFyeSBjaGFyYWN0ZXIgc2V0IGZvcgorY29tcGF0aWJpbGl0eSB3aXRoIFxmQnNvcnQgXC1kXGZSIGNvbW1hbmQgc2luY2UgdmVyc2lvbiAyLjI4LgorLlRQCisuQlIgXC1mICwgIiBcLVwtaWdub3JlXC1jYXNlIgorSWdub3JlIHRoZSBjYXNlIG9mIGFscGhhYmV0aWMgY2hhcmFjdGVycy4gIFRoaXMgaXMgb24gYnkgZGVmYXVsdCBpZiBubyBmaWxlIGlzCitzcGVjaWZpZWQuCisuVFAKKy5CUiBcLXQgLCAiIFwtXC10ZXJtaW5hdGUgIiBcZkljaGFyYWN0ZXJcZlIKK1NwZWNpZnkgYSBzdHJpbmcgdGVybWluYXRpb24gY2hhcmFjdGVyLCBpLmUuIG9ubHkgdGhlIGNoYXJhY3RlcnMKK2luIFxmSXN0cmluZ1xmUiB1cCB0byBhbmQgaW5jbHVkaW5nIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mIFxmSWNoYXJhY3RlclxmUgorYXJlIGNvbXBhcmVkLgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5QUAorVGhlCisuQiBsb29rCit1dGlsaXR5IGV4aXRzIDAgaWYgb25lIG9yIG1vcmUgbGluZXMgd2VyZSBmb3VuZCBhbmQgZGlzcGxheWVkLCAxIGlmCitubyBsaW5lcyB3ZXJlIGZvdW5kLCBhbmQgPjEgaWYgYW4gZXJyb3Igb2NjdXJyZWQuCisuU0ggRVhBTVBMRQorLlJTCisubmYKK3NvcnQgLWQgL2V0Yy9wYXNzd2QgLW8gL3RtcC9sb29rLmRpY3QKK2xvb2sgLXQ6IHJvb3Q6Zm9vYmFyIC90bXAvbG9vay5kaWN0CisubmYKKy5SRQorLlNIIEZJTEVTCisuSVAgIlxmQi91c3Ivc2hhcmUvZGljdC93b3Jkc1xmUiIgNAordGhlIGRpY3Rpb25hcnkKKy5JUCAiXGZCL3Vzci9zaGFyZS9kaWN0L3dlYjJcZlIiIDQKK3RoZSBhbHRlcm5hdGl2ZSBkaWN0aW9uYXJ5CisuU0ggIlNFRSBBTFNPIgorLkJSIGdyZXAgKDEpLAorLkJSIHNvcnQgKDEpCisuU0ggSElTVE9SWQorVGhlCisuQiBsb29rCit1dGlsaXR5IGFwcGVhcmVkIGluIFZlcnNpb24gNyBBVCZUIFVuaXguCisuU0ggQVZBSUxBQklMSVRZCitUaGUgbG9vayBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2Z0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvbG9vay5jIGIvbWlzYy11dGlscy9sb29rLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTNjMzg4ZQotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvbG9vay5jCkBAIC0wLDAgKzEsMzcyIEBACisvKi0KKyAqIENvcHlyaWdodCAoYykgMTk5MSwgMTk5MworICoJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBjb2RlIGlzIGRlcml2ZWQgZnJvbSBzb2Z0d2FyZSBjb250cmlidXRlZCB0byBCZXJrZWxleSBieQorICogRGF2aWQgSGl0eiBvZiBBdXNwZXggU3lzdGVtcywgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisgKiAgICBtdXN0IGRpc3BsYXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnZW1lbnQ6CisgKglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisgKglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKyAqIDQuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworIC8qIDE5OTktMDItMjIgQXJrYWRpdXN6IE1pxZtraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4KKyAgKiAtIGFkZGVkIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0CisgICovCisKKy8qCisgKiBsb29rIC0tIGZpbmQgbGluZXMgaW4gYSBzb3J0ZWQgbGlzdC4KKyAqCisgKiBUaGUgbWFuIHBhZ2Ugc2FpZCB0aGF0IFRBQnMgYW5kIFNQQUNFcyBwYXJ0aWNpcGF0ZSBpbiAtZCBjb21wYXJpc29ucy4KKyAqIEluIGZhY3QsIHRoZXkgd2VyZSBpZ25vcmVkLiAgVGhpcyBpbXBsZW1lbnRzIGhpc3RvcmljIHByYWN0aWNlLCBub3QKKyAqIHRoZSBtYW51YWwgcGFnZS4KKyAqLworCisjaW5jbHVkZSA8c3lzL21tYW4uaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0ZGRlZi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCisjZGVmaW5lCUVRVUFMCQkwCisjZGVmaW5lCUdSRUFURVIJCTEKKyNkZWZpbmUJTEVTUwkJKC0xKQorCitpbnQgZGZsYWcsIGZmbGFnOworLyogdWdsaWZpZWQgdGhlIHNvdXJjZSBhIGJpdCB3aXRoIGdsb2JhbHMsIHNvIHRoYXQgd2Ugb25seSBuZWVkCisgICB0byBhbGxvY2F0ZSBjb21wYXJidWYgb25jZSAqLworaW50IHN0cmluZ2xlbjsKK2NoYXIgKnN0cmluZzsKK2NoYXIgKmNvbXBhcmJ1ZjsKKworc3RhdGljIGNoYXIgKmJpbmFyeV9zZWFyY2ggKGNoYXIgKiwgY2hhciAqKTsKK3N0YXRpYyBpbnQgY29tcGFyZSAoY2hhciAqLCBjaGFyICopOworc3RhdGljIGNoYXIgKmxpbmVhcl9zZWFyY2ggKGNoYXIgKiwgY2hhciAqKTsKK3N0YXRpYyBpbnQgbG9vayAoY2hhciAqLCBjaGFyICopOworc3RhdGljIHZvaWQgcHJpbnRfZnJvbSAoY2hhciAqLCBjaGFyICopOworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXyAoKF9fbm9yZXR1cm5fXykpIHVzYWdlKEZJTEUgKiBvdXQpOworCitpbnQKK21haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3Qgc3RhdCBzYjsKKwlpbnQgY2gsIGZkLCB0ZXJtY2hhcjsKKwljaGFyICpiYWNrLCAqZmlsZSwgKmZyb250LCAqcDsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsiYWx0ZXJuYXRpdmUiLCBub19hcmd1bWVudCwgTlVMTCwgJ2EnfSwKKwkJeyJhbHBoYW51bSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnZCd9LAorCQl7Imlnbm9yZS1jYXNlIiwgbm9fYXJndW1lbnQsIE5VTEwsICdmJ30sCisJCXsidGVybWluYXRlIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICd0J30sCisJCXsidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnVid9LAorCQl7ImhlbHAiLCBub19hcmd1bWVudCwgTlVMTCwgJ2gnfSwKKwkJe05VTEwsIDAsIE5VTEwsIDB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisKKwlmaWxlID0gX1BBVEhfV09SRFM7CisJdGVybWNoYXIgPSAnXDAnOworCXN0cmluZyA9IE5VTEw7CQkvKiBqdXN0IGZvciBnY2MgKi8KKworCXdoaWxlICgoY2ggPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiYWRmdDpWaCIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpCisJCXN3aXRjaChjaCkgeworCQljYXNlICdhJzoKKwkJCWZpbGUgPSBfUEFUSF9XT1JEU19BTFQ7CisJCQlicmVhazsKKwkJY2FzZSAnZCc6CisJCQlkZmxhZyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnZic6CisJCQlmZmxhZyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAndCc6CisJCQl0ZXJtY2hhciA9ICpvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2Uoc3Rkb3V0KTsKKwkJY2FzZSAnPyc6CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQl9CisJYXJnYyAtPSBvcHRpbmQ7CisJYXJndiArPSBvcHRpbmQ7CisKKwlzd2l0Y2ggKGFyZ2MpIHsKKwljYXNlIDI6CQkJCS8qIERvbid0IHNldCAtZGYgZm9yIHVzZXIuICovCisJCXN0cmluZyA9ICphcmd2Kys7CisJCWZpbGUgPSAqYXJndjsKKwkJYnJlYWs7CisJY2FzZSAxOgkJCQkvKiBCdXQgc2V0IC1kZiBieSBkZWZhdWx0LiAqLworCQlkZmxhZyA9IGZmbGFnID0gMTsKKwkJc3RyaW5nID0gKmFyZ3Y7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXVzYWdlKHN0ZGVycik7CisJfQorCisJaWYgKHRlcm1jaGFyICE9ICdcMCcgJiYgKHAgPSBzdHJjaHIoc3RyaW5nLCB0ZXJtY2hhcikpICE9IE5VTEwpCisJCSorK3AgPSAnXDAnOworCisJaWYgKChmZCA9IG9wZW4oZmlsZSwgT19SRE9OTFksIDApKSA8IDAgfHwgZnN0YXQoZmQsICZzYikpCisJCWVycihFWElUX0ZBSUxVUkUsICIlcyIsIGZpbGUpOworCWZyb250ID0gbW1hcChOVUxMLCAoc2l6ZV90KSBzYi5zdF9zaXplLCBQUk9UX1JFQUQsCisJCSAgICAgTUFQX1NIQVJFRCwgZmQsIChvZmZfdCkgMCk7CisJaWYKKyNpZmRlZiBNQVBfRkFJTEVECisJCShmcm9udCA9PSBNQVBfRkFJTEVEKQorI2Vsc2UKKwkJKCh2b2lkICopKGZyb250KSA8PSAodm9pZCAqKTApCisjZW5kaWYKKwkJCWVycihFWElUX0ZBSUxVUkUsICIlcyIsIGZpbGUpOworCWJhY2sgPSBmcm9udCArIHNiLnN0X3NpemU7CisJcmV0dXJuIGxvb2soZnJvbnQsIGJhY2spOworfQorCitpbnQKK2xvb2soY2hhciAqZnJvbnQsIGNoYXIgKmJhY2spCit7CisJaW50IGNoOworCWNoYXIgKnJlYWRwLCAqd3JpdGVwOworCisJLyogUmVmb3JtYXQgc3RyaW5nIHN0cmluZyB0byBhdm9pZCBkb2luZyBpdCBtdWx0aXBsZSB0aW1lcyBsYXRlci4gKi8KKwlpZiAoZGZsYWcpIHsKKwkJZm9yIChyZWFkcCA9IHdyaXRlcCA9IHN0cmluZzsgKGNoID0gKnJlYWRwKyspICE9IDA7KSB7CisJCQlpZiAoaXNhbG51bShjaCkgfHwgaXNibGFuayhjaCkpCisJCQkJKih3cml0ZXArKykgPSBjaDsKKwkJfQorCQkqd3JpdGVwID0gJ1wwJzsKKwkJc3RyaW5nbGVuID0gd3JpdGVwIC0gc3RyaW5nOworCX0gZWxzZQorCQlzdHJpbmdsZW4gPSBzdHJsZW4oc3RyaW5nKTsKKworCWNvbXBhcmJ1ZiA9IHhtYWxsb2Moc3RyaW5nbGVuKzEpOworCisJZnJvbnQgPSBiaW5hcnlfc2VhcmNoKGZyb250LCBiYWNrKTsKKwlmcm9udCA9IGxpbmVhcl9zZWFyY2goZnJvbnQsIGJhY2spOworCisJaWYgKGZyb250KQorCQlwcmludF9mcm9tKGZyb250LCBiYWNrKTsKKworCWZyZWUoY29tcGFyYnVmKTsKKworCXJldHVybiAoZnJvbnQgPyAwIDogMSk7Cit9CisKKworLyoKKyAqIEJpbmFyeSBzZWFyY2ggZm9yICJzdHJpbmciIGluIG1lbW9yeSBiZXR3ZWVuICJmcm9udCIgYW5kICJiYWNrIi4KKyAqCisgKiBUaGlzIHJvdXRpbmUgaXMgZXhwZWN0ZWQgdG8gcmV0dXJuIGEgcG9pbnRlciB0byB0aGUgc3RhcnQgb2YgYSBsaW5lIGF0CisgKiAqb3IgYmVmb3JlKiB0aGUgZmlyc3Qgd29yZCBtYXRjaGluZyAic3RyaW5nIi4gIFJlbGF4aW5nIHRoZSBjb25zdHJhaW50CisgKiB0aGlzIHdheSBzaW1wbGlmaWVzIHRoZSBhbGdvcml0aG0uCisgKgorICogSW52YXJpYW50czoKKyAqIAlmcm9udCBwb2ludHMgdG8gdGhlIGJlZ2lubmluZyBvZiBhIGxpbmUgYXQgb3IgYmVmb3JlIHRoZSBmaXJzdAorICoJbWF0Y2hpbmcgc3RyaW5nLgorICoKKyAqIAliYWNrIHBvaW50cyB0byB0aGUgYmVnaW5uaW5nIG9mIGEgbGluZSBhdCBvciBhZnRlciB0aGUgZmlyc3QKKyAqCW1hdGNoaW5nIGxpbmUuCisgKgorICogQWR2YW5jaW5nIHRoZSBJbnZhcmlhbnRzOgorICoKKyAqIAlwID0gZmlyc3QgbmV3bGluZSBhZnRlciBoYWxmd2F5IHBvaW50IGZyb20gZnJvbnQgdG8gYmFjay4KKyAqCisgKiAJSWYgdGhlIHN0cmluZyBhdCAicCIgaXMgbm90IGdyZWF0ZXIgdGhhbiB0aGUgc3RyaW5nIHRvIG1hdGNoLAorICoJcCBpcyB0aGUgbmV3IGZyb250LiAgT3RoZXJ3aXNlIGl0IGlzIHRoZSBuZXcgYmFjay4KKyAqCisgKiBUZXJtaW5hdGlvbjoKKyAqCisgKiAJVGhlIGRlZmluaXRpb24gb2YgdGhlIHJvdXRpbmUgYWxsb3dzIGl0IHJldHVybiBhdCBhbnkgcG9pbnQsCisgKglzaW5jZSBmcm9udCBpcyBhbHdheXMgYXQgb3IgYmVmb3JlIHRoZSBsaW5lIHRvIHByaW50LgorICoKKyAqIAlJbiBmYWN0LCBpdCByZXR1cm5zIHdoZW4gdGhlIGNob3NlbiAicCIgZXF1YWxzICJiYWNrIi4gIFRoaXMKKyAqCWltcGxpZXMgdGhhdCB0aGVyZSBleGlzdHMgYSBzdHJpbmcgaXMgbGVhc3QgaGFsZiBhcyBsb25nIGFzCisgKgkoYmFjayAtIGZyb250KSwgd2hpY2ggaW4gdHVybiBpbXBsaWVzIHRoYXQgYSBsaW5lYXIgc2VhcmNoIHdpbGwKKyAqCWJlIG5vIG1vcmUgZXhwZW5zaXZlIHRoYW4gdGhlIGNvc3Qgb2Ygc2ltcGx5IHByaW50aW5nIGEgc3RyaW5nIG9yIHR3by4KKyAqCisgKiAJVHJ5aW5nIHRvIGNvbnRpbnVlIHdpdGggYmluYXJ5IHNlYXJjaCBhdCB0aGlzIHBvaW50IHdvdWxkIGJlCisgKgltb3JlIHRyb3VibGUgdGhhbiBpdCdzIHdvcnRoLgorICovCisjZGVmaW5lCVNLSVBfUEFTVF9ORVdMSU5FKHAsIGJhY2spIFwKKwl3aGlsZSAocCA8IGJhY2sgJiYgKnArKyAhPSAnXG4nKQorCitjaGFyICoKK2JpbmFyeV9zZWFyY2goY2hhciAqZnJvbnQsIGNoYXIgKmJhY2spCit7CisJY2hhciAqcDsKKworCXAgPSBmcm9udCArIChiYWNrIC0gZnJvbnQpIC8gMjsKKwlTS0lQX1BBU1RfTkVXTElORShwLCBiYWNrKTsKKworCS8qCisJICogSWYgdGhlIGZpbGUgY2hhbmdlcyB1bmRlcm5lYXRoIHVzLCBtYWtlIHN1cmUgd2UgZG9uJ3QKKwkgKiBpbmZpbml0ZWx5IGxvb3AuCisJICovCisJd2hpbGUgKHAgPCBiYWNrICYmIGJhY2sgPiBmcm9udCkgeworCQlpZiAoY29tcGFyZShwLCBiYWNrKSA9PSBHUkVBVEVSKQorCQkJZnJvbnQgPSBwOworCQllbHNlCisJCQliYWNrID0gcDsKKwkJcCA9IGZyb250ICsgKGJhY2sgLSBmcm9udCkgLyAyOworCQlTS0lQX1BBU1RfTkVXTElORShwLCBiYWNrKTsKKwl9CisJcmV0dXJuIChmcm9udCk7Cit9CisKKy8qCisgKiBGaW5kIHRoZSBmaXJzdCBsaW5lIHRoYXQgc3RhcnRzIHdpdGggc3RyaW5nLCBsaW5lYXJseSBzZWFyY2hpbmcgZnJvbSBmcm9udAorICogdG8gYmFjay4KKyAqCisgKiBSZXR1cm4gTlVMTCBmb3Igbm8gc3VjaCBsaW5lLgorICoKKyAqIFRoaXMgcm91dGluZSBhc3N1bWVzOgorICoKKyAqIAlvIGZyb250IHBvaW50cyBhdCB0aGUgZmlyc3QgY2hhcmFjdGVyIGluIGEgbGluZS4KKyAqCW8gZnJvbnQgaXMgYmVmb3JlIG9yIGF0IHRoZSBmaXJzdCBsaW5lIHRvIGJlIHByaW50ZWQuCisgKi8KK2NoYXIgKgorbGluZWFyX3NlYXJjaChjaGFyICpmcm9udCwgY2hhciAqYmFjaykKK3sKKwl3aGlsZSAoZnJvbnQgPCBiYWNrKSB7CisJCXN3aXRjaCAoY29tcGFyZShmcm9udCwgYmFjaykpIHsKKwkJY2FzZSBFUVVBTDoJCS8qIEZvdW5kIGl0LiAqLworCQkJcmV0dXJuIChmcm9udCk7CisJCWNhc2UgTEVTUzoJCS8qIE5vIHN1Y2ggc3RyaW5nLiAqLworCQkJcmV0dXJuIChOVUxMKTsKKwkJY2FzZSBHUkVBVEVSOgkJLyogS2VlcCBnb2luZy4gKi8KKwkJCWJyZWFrOworCQl9CisJCVNLSVBfUEFTVF9ORVdMSU5FKGZyb250LCBiYWNrKTsKKwl9CisJcmV0dXJuIChOVUxMKTsKK30KKworLyoKKyAqIFByaW50IGFzIG1hbnkgbGluZXMgYXMgbWF0Y2ggc3RyaW5nLCBzdGFydGluZyBhdCBmcm9udC4KKyAqLwordm9pZAorcHJpbnRfZnJvbShjaGFyICpmcm9udCwgY2hhciAqYmFjaykKK3sKKwlpbnQgZW9sOworCisJd2hpbGUgKGZyb250IDwgYmFjayAmJiBjb21wYXJlKGZyb250LCBiYWNrKSA9PSBFUVVBTCkgeworCQlpZiAoY29tcGFyZShmcm9udCwgYmFjaykgPT0gRVFVQUwpIHsKKwkJCWVvbCA9IDA7CisJCQl3aGlsZSAoZnJvbnQgPCBiYWNrICYmICFlb2wpIHsKKwkJCQlpZiAocHV0Y2hhcigqZnJvbnQpID09IEVPRikKKwkJCQkJZXJyKEVYSVRfRkFJTFVSRSwgInN0ZG91dCIpOworCQkJCWlmICgqZnJvbnQrKyA9PSAnXG4nKQorCQkJCQllb2wgPSAxOworCQkJfQorCQl9IGVsc2UKKwkJCVNLSVBfUEFTVF9ORVdMSU5FKGZyb250LCBiYWNrKTsKKwl9Cit9CisKKy8qCisgKiBSZXR1cm4gTEVTUywgR1JFQVRFUiwgb3IgRVFVQUwgZGVwZW5kaW5nIG9uIGhvdyAgc3RyaW5nICBjb21wYXJlcyB3aXRoCisgKiBzdHJpbmcyIChzMSA/Pz8gczIpLgorICoKKyAqIAlvIE1hdGNoZXMgdXAgdG8gbGVuKHMxKSBhcmUgRVFVQUwuCisgKglvIE1hdGNoZXMgdXAgdG8gbGVuKHMyKSBhcmUgR1JFQVRFUi4KKyAqCisgKiBDb21wYXJlIHVuZGVyc3RhbmRzIGFib3V0IHRoZSAtZiBhbmQgLWQgZmxhZ3MsIGFuZCB0cmVhdHMgY29tcGFyaXNvbnMKKyAqIGFwcHJvcHJpYXRlbHkuCisgKgorICogVGhlIHN0cmluZyAic3RyaW5nIiBpcyBudWxsIHRlcm1pbmF0ZWQuICBUaGUgc3RyaW5nICJzMiIgaXMgJ1xuJyB0ZXJtaW5hdGVkCisgKiAob3IgInMyZW5kIiB0ZXJtaW5hdGVkKS4KKyAqCisgKiBXZSB1c2Ugc3RyY2FzZWNtcCBldGMsIHNpbmNlIGl0IGtub3dzIGhvdyB0byBpZ25vcmUgY2FzZSBhbHNvCisgKiBpbiBvdGhlciBsb2NhbGVzLgorICovCitpbnQKK2NvbXBhcmUoY2hhciAqczIsIGNoYXIgKnMyZW5kKSB7CisJaW50IGk7CisJY2hhciAqcDsKKworCS8qIGNvcHksIGlnbm9yaW5nIHRoaW5ncyB0aGF0IHNob3VsZCBiZSBpZ25vcmVkICovCisJcCA9IGNvbXBhcmJ1ZjsKKwlpID0gc3RyaW5nbGVuOworCXdoaWxlKHMyIDwgczJlbmQgJiYgKnMyICE9ICdcbicgJiYgaSkgeworCQlpZiAoIWRmbGFnIHx8IGlzYWxudW0oKnMyKSB8fCBpc2JsYW5rKCpzMikpCisJCXsKKwkJCSpwKysgPSAqczI7CisJCQlpLS07CisJCX0KKwkJczIrKzsKKwl9CisJKnAgPSAwOworCisJLyogYW5kIGNvbXBhcmUgKi8KKwlpZiAoZmZsYWcpCisJCWkgPSBzdHJuY2FzZWNtcChjb21wYXJidWYsIHN0cmluZywgc3RyaW5nbGVuKTsKKwllbHNlCisJCWkgPSBzdHJuY21wKGNvbXBhcmJ1Ziwgc3RyaW5nLCBzdHJpbmdsZW4pOworCisJcmV0dXJuICgoaSA+IDApID8gTEVTUyA6IChpIDwgMCkgPyBHUkVBVEVSIDogRVFVQUwpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqIG91dCkKK3sKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc10gPHN0cmluZz4gWzxmaWxlPi4uLl1cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiRGlzcGxheSBsaW5lcyBiZWdpbm5pbmcgd2l0aCBhIHNwZWNpZmllZCBzdHJpbmcuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICB1c2UgdGhlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZCwgLS1hbHBoYW51bSAgICAgICAgICAgY29tcGFyZSBvbmx5IGJsYW5rcyBhbmQgYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgZGVmaW5lIHRoZSBzdHJpbmctdGVybWluYXRpb24gY2hhcmFjdGVyXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dCk7CisJZnByaW50ZihvdXQsIFVTQUdFX01BTl9UQUlMKCJsb29rKDEpIikpOworCisJZXhpdChvdXQgPT0gc3RkZXJyID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTKTsKK30KZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvbHNibGsuOCBiL21pc2MtdXRpbHMvbHNibGsuOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNzI3MzUxCi0tLSAvZGV2L251bGwKKysrIGIvbWlzYy11dGlscy9sc2Jsay44CkBAIC0wLDAgKzEsMTcyIEBACisuVEggTFNCTEsgOCAiRmVicnVhcnkgMjAxMyIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQorbHNibGsgXC0gbGlzdCBibG9jayBkZXZpY2VzCisuU0ggU1lOT1BTSVMKKy5CIGxzYmxrCitbb3B0aW9uc10KKy5SSSBbIGRldmljZSAuLi5dCisuU0ggREVTQ1JJUFRJT04KKy5CIGxzYmxrCitsaXN0cyBpbmZvcm1hdGlvbiBhYm91dCBhbGwgYXZhaWxhYmxlIG9yIHRoZSBzcGVjaWZpZWQgYmxvY2sgZGV2aWNlcy4gIFRoZQorLkIgbHNibGsKK2NvbW1hbmQgcmVhZHMgdGhlCisuQiBzeXNmcworZmlsZXN5c3RlbSBhbmQKKy5CIHVkZXYgZGIKK3RvIGdhdGhlciBpbmZvcm1hdGlvbi4KKy5QUAorVGhlIGNvbW1hbmQgcHJpbnRzIGFsbCBibG9jayBkZXZpY2VzIChleGNlcHQgUkFNIGRpc2tzKSBpbiBhIHRyZWUtbGlrZSBmb3JtYXQKK2J5IGRlZmF1bHQuICBVc2UKKy5CICJsc2JsayAtLWhlbHAiCit0byBnZXQgYSBsaXN0IG9mIGFsbCBhdmFpbGFibGUgY29sdW1ucy4KKy5QUAorVGhlIGRlZmF1bHQgb3V0cHV0LCBhcyB3ZWxsIGFzIHRoZSBkZWZhdWx0IG91dHB1dCBmcm9tIG9wdGlvbnMgbGlrZQorLkJSIFwtXC1mcworYW5kCisuQlIgXC1cLXRvcG9sb2d5ICwKK2lzIHN1YmplY3QgdG8gY2hhbmdlLiAgU28gd2hlbmV2ZXIgcG9zc2libGUsIHlvdSBzaG91bGQgYXZvaWQgdXNpbmcgZGVmYXVsdAorb3V0cHV0cyBpbiB5b3VyIHNjcmlwdHMuICBBbHdheXMgZXhwbGljaXRseSBkZWZpbmUgZXhwZWN0ZWQgY29sdW1ucyBieSB1c2luZworLkIgXC1cLW91dHB1dAorLkkgY29sdW1ucy1saXN0CitpbiBlbnZpcm9ubWVudHMgd2hlcmUgYSBzdGFibGUgb3V0cHV0IGlzIHJlcXVpcmVkLgorLlBQCitOb3RlIHRoYXQKKy5CIGxzYmxrCittaWdodCBiZSBleGVjdXRlZCBpbiB0aW1lIHdoZW4KKy5CIHVkZXYKK2RvZXMgbm90IGhhdmUgYWxsIGluZm9ybWF0aW9uIGFib3V0IHJlY2VudGx5IGFkZGVkIG9yIG1vZGlmaWVkIGRldmljZXMgeWV0LiBJbiB0aGlzCitjYXNlIGl0IGlzIHJlY29tbWVuZGVkIHRvIHVzZQorLkIgInVkZXZhZG0gc2V0dGxlIgorYmVmb3JlIGxzYmxrIHRvIHN5bmNocm9uaXplIHdpdGggdWRldi4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLWEgLCAiIFwtXC1hbGwiCitBbHNvIGxpc3QgZW1wdHkgZGV2aWNlcy4gIChCeSBkZWZhdWx0IHRoZXkgYXJlIHNraXBwZWQuKQorLlRQCisuQlIgXC1iICwgIiBcLVwtYnl0ZXMiCitQcmludCB0aGUgU0laRSBjb2x1bW4gaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gYSBodW1hbi1yZWFkYWJsZSBmb3JtYXQuCisuVFAKKy5CUiBcLUQgLCAiIFwtXC1kaXNjYXJkIgorUHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGRpc2NhcmRpbmcgY2FwYWJpbGl0aWVzIChUUklNLCBVTk1BUCkgZm9yIGVhY2ggZGV2aWNlLgorLlRQCisuQlIgXC1kICwgIiBcLVwtbm9kZXBzIgorRG8gbm90IHByaW50IGhvbGRlciBkZXZpY2VzIG9yIHNsYXZlcy4gIEZvciBleGFtcGxlLCBcZkJsc2JsayAtLW5vZGVwcyAvZGV2L3NkYVxmUiBwcmludHMKK2luZm9ybWF0aW9uIGFib3V0IHRoZSBzZGEgZGV2aWNlIG9ubHkuCisuVFAKKy5CUiBcLWUgLCAiIFwtXC1leGNsdWRlICIgXGZJbGlzdFxmUAorRXhjbHVkZSB0aGUgZGV2aWNlcyBzcGVjaWZpZWQgYnkgdGhlIGNvbW1hLXNlcGFyYXRlZCBcZklsaXN0XGZSIG9mIG1ham9yIGRldmljZSBudW1iZXJzLgorTm90ZSB0aGF0IFJBTSBkaXNrcyAobWFqb3I9MSkgYXJlIGV4Y2x1ZGVkIGJ5IGRlZmF1bHQuICBUaGUgZmlsdGVyIGlzIGFwcGxpZWQgdG8gdGhlCit0b3AtbGV2ZWwgZGV2aWNlcyBvbmx5LgorLlRQCisuQlIgXC1mICwgIiBcLVwtZnMiCitPdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtcy4gIFRoaXMgb3B0aW9uIGlzIGVxdWl2YWxlbnQgdG8KKy5CUiAtb1wgTkFNRSxGU1RZUEUsTEFCRUwsVVVJRCxNT1VOVFBPSU5UIC4KK1RoZSBhdXRob3JpdGF0aXZlIGluZm9ybWF0aW9uIGFib3V0IGZpbGVzeXN0ZW1zIGFuZCByYWlkcyBpcyBwcm92aWRlZCBieSB0aGUKKy5CUiBibGtpZCAoOCkKK2NvbW1hbmQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuVFAKKy5CUiBcLUkgLCAiIFwtXC1pbmNsdWRlICIgXGZJbGlzdFxmUAorSW5jbHVkZSBkZXZpY2VzIHNwZWNpZmllZCBieSB0aGUgY29tbWEtc2VwYXJhdGVkIFxmSWxpc3RcZlIgb2YgbWFqb3IgZGV2aWNlIG51bWJlcnMuCitUaGUgZmlsdGVyIGlzIGFwcGxpZWQgdG8gdGhlIHRvcC1sZXZlbCBkZXZpY2VzIG9ubHkuCisuVFAKKy5CUiBcLWkgLCAiIFwtXC1hc2NpaSIKK1VzZSBBU0NJSSBjaGFyYWN0ZXJzIGZvciB0cmVlIGZvcm1hdHRpbmcuCisuVFAKKy5CUiBcLUogLCAiIFwtXC1qc29uIgorVXNlIEpTT04gb3V0cHV0IGZvcm1hdC4KKy5UUAorLkJSIFwtbCAsICIgXC1cLWxpc3QiCitQcm9kdWNlIG91dHB1dCBpbiB0aGUgZm9ybSBvZiBhIGxpc3QuCisuVFAKKy5CUiBcLW0gLCAiIFwtXC1wZXJtcyIKK091dHB1dCBpbmZvIGFib3V0IGRldmljZSBvd25lciwgZ3JvdXAgYW5kIG1vZGUuICBUaGlzIG9wdGlvbiBpcyBlcXVpdmFsZW50IHRvCisuQlIgLW9cIE5BTUUsU0laRSxPV05FUixHUk9VUCxNT0RFIC4KKy5UUAorLkJSIFwtbiAsICIgXC1cLW5vaGVhZGluZ3MiCitEbyBub3QgcHJpbnQgYSBoZWFkZXIgbGluZS4KKy5UUAorLkJSIFwtbyAsICIgXC1cLW91dHB1dCAiIFxmSWxpc3RcZlAKK1NwZWNpZnkgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gcHJpbnQuICBVc2UKKy5CIFwtXC1oZWxwCit0byBnZXQgYSBsaXN0IG9mIGFsbCBzdXBwb3J0ZWQgY29sdW1ucy4KKworVGhlIGRlZmF1bHQgbGlzdCBvZiBjb2x1bW5zIG1heSBiZSBleHRlbmRlZCBpZiBcZklsaXN0XGZQIGlzCitzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCBcZkkrbGlzdFxmUCAoZS5nLiBcZkJsc2JsayAtbyArVVVJRFxmUCkuCisuVFAKKy5CUiBcLU8gLCAiIFwtXC1vdXRwdXRcLWFsbCAiCitPdXRwdXQgYWxsIGF2YWlsYWJsZSBjb2x1bW5zLgorLlRQCisuQlIgXC1QICwgIiBcLVwtcGFpcnMiCitQcm9kdWNlIG91dHB1dCBpbiB0aGUgZm9ybSBvZiBrZXk9InZhbHVlIiBwYWlycy4KK0FsbCBwb3RlbnRpYWxseSB1bnNhZmUgY2hhcmFjdGVycyBhcmUgaGV4LWVzY2FwZWQgKFxceDxjb2RlPikuCisuVFAKKy5CUiBcLXAgLCAiIFwtXC1wYXRocyIKK1ByaW50IGZ1bGwgZGV2aWNlIHBhdGhzLgorLlRQCisuQlIgXC1yICwgIiBcLVwtcmF3IgorUHJvZHVjZSBvdXRwdXQgaW4gcmF3IGZvcm1hdC4gIEFsbCBwb3RlbnRpYWxseSB1bnNhZmUgY2hhcmFjdGVycyBhcmUgaGV4LWVzY2FwZWQKKyhcXHg8Y29kZT4pIGluIHRoZSBOQU1FLCBLTkFNRSwgTEFCRUwsIFBBUlRMQUJFTCBhbmQgTU9VTlRQT0lOVCBjb2x1bW5zLgorLlRQCisuQlIgXC1TICwgIiBcLVwtc2NzaSIKK091dHB1dCBpbmZvIGFib3V0IFNDU0kgZGV2aWNlcyBvbmx5LiAgQWxsIHBhcnRpdGlvbnMsIHNsYXZlcyBhbmQgaG9sZGVyIGRldmljZXMgYXJlIGlnbm9yZWQuCisuVFAKKy5CUiBcLXMgLCAiIFwtXC1pbnZlcnNlIgorUHJpbnQgZGVwZW5kZW5jaWVzIGluIGludmVyc2Ugb3JkZXIuCisuVFAKKy5CUiBcLXQgLCAiIFwtXC10b3BvbG9neSIKK091dHB1dCBpbmZvIGFib3V0IGJsb2NrLWRldmljZSB0b3BvbG9neS4KK1RoaXMgb3B0aW9uIGlzIGVxdWl2YWxlbnQgdG8KKy5CUiAtb1wgTkFNRSxBTElHTk1FTlQsTUlOLUlPLE9QVC1JTyxQSFktU0VDLExPRy1TRUMsUk9UQSxTQ0hFRCxSUS1TSVpFLFJBLFdTQU1FIC4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLXggLCAiIFwtXC1zb3J0ICIgXGZJY29sdW1uXGZQCitTb3J0IG91dHB1dCBsaW5lcyBieSBcZkljb2x1bW5cZlAuIFRoaXMgb3B0aW9uIGVuYWJsZXMgXGZCXC1cLWxpc3RcZlIgb3V0cHV0LgorLlNIIE5PVEVTCitGb3IgcGFydGl0aW9ucywgc29tZSBpbmZvcm1hdGlvbiAoZS5nLiBxdWV1ZSBhdHRyaWJ1dGVzKSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUKK3BhcmVudCBkZXZpY2UuCisuUFAKK1RoZQorLkIgbHNibGsKK2NvbW1hbmQgbmVlZHMgdG8gYmUgYWJsZSB0byBsb29rIHVwIGVhY2ggYmxvY2sgZGV2aWNlIGJ5IG1ham9yOm1pbm9yIG51bWJlcnMsCit3aGljaCBpcyBkb25lIGJ5IHVzaW5nCisuSVIgL3N5cy9kZXYvYmxvY2sgLgorVGhpcyBzeXNmcyBibG9jayBkaXJlY3RvcnkgYXBwZWFyZWQgaW4ga2VybmVsIDIuNi4yNyAoT2N0b2JlciAyMDA4KS4KK0luIGNhc2Ugb2YgcHJvYmxlbXMgd2l0aCBhIG5ldyBlbm91Z2gga2VybmVsLCBjaGVjayB0aGF0IENPTkZJR19TWVNGUword2FzIGVuYWJsZWQgYXQgdGhlIHRpbWUgb2YgdGhlIGtlcm5lbCBidWlsZC4KKworLlNIIFJFVFVSTiBDT0RFUworLklQIDAKK3N1Y2Nlc3MKKy5JUCAxCitmYWlsdXJlCisuSVAgMzIKK25vdCBmb3VuZCBhbGwgc3BlY2lmaWVkIGRldmljZXMKKy5JUCA2NAorc29tZSBzcGVjaWZpZWQgZGV2aWNlcyBmb3VuZCwgc29tZSBub3QgZm91bmQKKworLlNIIEFVVEhPUlMKKy5uZgorTWlsYW4gQnJveiA8bWJyb3pAcmVkaGF0LmNvbT4KK0thcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorLmZpCisuU0ggRU5WSVJPTk1FTlQKKy5JUCBMSUJCTEtJRF9ERUJVRz1hbGwKK2VuYWJsZXMgbGliYmxraWQgZGVidWcgb3V0cHV0LgorLklQIExJQk1PVU5UX0RFQlVHPWFsbAorZW5hYmxlcyBsaWJtb3VudCBkZWJ1ZyBvdXRwdXQuCisuSVAgTElCU01BUlRDT0xTX0RFQlVHPWFsbAorZW5hYmxlcyBsaWJzbWFydGNvbHMgZGVidWcgb3V0cHV0LgorLklQIExJQlNNQVJUQ09MU19ERUJVR19QQURESU5HPW9uCit1c2UgdmlzaWJsZSBwYWRkaW5nIGNoYXJhY3RlcnMuIFJlcXVpcmVzIGVuYWJsZWQgTElCU01BUlRDT0xTX0RFQlVHLgorLlNIIFNFRSBBTFNPCisuQlIgbHMgKDEpLAorLkJSIGJsa2lkICg4KSwKKy5CUiBmaW5kbW50ICg4KQorLlNIIEFWQUlMQUJJTElUWQorVGhlIGxzYmxrIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy9sc2Jsay5jIGIvbWlzYy11dGlscy9sc2Jsay5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1MDQyYzUKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL2xzYmxrLmMKQEAgLTAsMCArMSwxOTQxIEBACisvKgorICogbHNibGsoOCkgLSBsaXN0IGJsb2NrIGRldmljZXMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsMjAxMSwyMDEyIFJlZCBIYXQsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFdyaXR0ZW4gYnkgTWlsYW4gQnJveiA8bWJyb3pAcmVkaGF0LmNvbT4KKyAqICAgICAgICAgICAgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3b3VsZCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworICogd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyAqIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGRpcmVudC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxsb2NhbGUuaD4KKyNpbmNsdWRlIDxwd2QuaD4KKyNpbmNsdWRlIDxncnAuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorCisjaW5jbHVkZSA8YmxraWQuaD4KKyNpbmNsdWRlIDxsaWJtb3VudC5oPgorI2luY2x1ZGUgPGxpYnNtYXJ0Y29scy5oPgorCisjaWZkZWYgSEFWRV9MSUJVREVWCisjaW5jbHVkZSA8bGlidWRldi5oPgorI2VuZGlmCisKKyNpbmNsdWRlIDxhc3NlcnQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJibGtkZXYuaCIKKyNpbmNsdWRlICJjYW5vbmljYWxpemUuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInN5c2ZzLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJtYW5nbGUuaCIKKyNpbmNsdWRlICJvcHR1dGlscy5oIgorCisjaW5jbHVkZSAiZGVidWcuaCIKKworVUxfREVCVUdfREVGSU5FX01BU0sobHNibGspOworVUxfREVCVUdfREVGSU5FX01BU0tOQU1FUyhsc2JsaykgPSBVTF9ERUJVR19FTVBUWV9NQVNLTkFNRVM7CisKKyNkZWZpbmUgTFNCTEtfREVCVUdfSU5JVAkoMSA8PCAxKQorI2RlZmluZSBMU0JMS19ERUJVR19GSUxURVIJKDEgPDwgMikKKyNkZWZpbmUgTFNCTEtfREVCVUdfREVWCQkoMSA8PCAzKQorI2RlZmluZSBMU0JMS19ERUJVR19DWFQJCSgxIDw8IDQpCisjZGVmaW5lIExTQkxLX0RFQlVHX0FMTAkJMHhGRkZGCisKKyNkZWZpbmUgREJHKG0sIHgpICAgICAgIF9fVUxfREJHKGxzYmxrLCBMU0JMS19ERUJVR18sIG0sIHgpCisjZGVmaW5lIE9OX0RCRyhtLCB4KSAgICBfX1VMX0RCR19DQUxMKGxzYmxrLCBMU0JMS19ERUJVR18sIG0sIHgpCisKKworI2RlZmluZSBMU0JMS19FWElUX1NPTUVPSyA2NAorI2RlZmluZSBMU0JMS19FWElUX0FMTEZBSUxFRCAzMgorCisvKiBjb2x1bW4gSURzICovCitlbnVtIHsKKwlDT0xfTkFNRSA9IDAsCisJQ09MX0tOQU1FLAorCUNPTF9NQUpNSU4sCisJQ09MX0ZTVFlQRSwKKwlDT0xfVEFSR0VULAorCUNPTF9MQUJFTCwKKwlDT0xfVVVJRCwKKwlDT0xfUEFSVFRZUEUsCisJQ09MX1BBUlRMQUJFTCwKKwlDT0xfUEFSVFVVSUQsCisJQ09MX1BBUlRGTEFHUywKKwlDT0xfUkEsCisJQ09MX1JPLAorCUNPTF9STSwKKwlDT0xfSE9UUExVRywKKwlDT0xfTU9ERUwsCisJQ09MX1NFUklBTCwKKwlDT0xfU0laRSwKKwlDT0xfU1RBVEUsCisJQ09MX09XTkVSLAorCUNPTF9HUk9VUCwKKwlDT0xfTU9ERSwKKwlDT0xfQUxJT0ZGLAorCUNPTF9NSU5JTywKKwlDT0xfT1BUSU8sCisJQ09MX1BIWVNFQywKKwlDT0xfTE9HU0VDLAorCUNPTF9ST1RBLAorCUNPTF9TQ0hFRCwKKwlDT0xfUlFfU0laRSwKKwlDT0xfVFlQRSwKKwlDT0xfREFMSUdOLAorCUNPTF9ER1JBTiwKKwlDT0xfRE1BWCwKKwlDT0xfRFpFUk8sCisJQ09MX1dTQU1FLAorCUNPTF9XV04sCisJQ09MX1JBTkQsCisJQ09MX1BLTkFNRSwKKwlDT0xfSENUTCwKKwlDT0xfVFJBTlNQT1JULAorCUNPTF9TVUJTWVMsCisJQ09MX1JFViwKKwlDT0xfVkVORE9SCit9OworCisvKiBiYXNpYyB0YWJsZSBzZXR0aW5ncyAqLworZW51bSB7CisJTFNCTEtfQVNDSUkgPQkJKDEgPDwgMCksCisJTFNCTEtfUkFXID0JCSgxIDw8IDEpLAorCUxTQkxLX05PSEVBRElOR1MgPQkoMSA8PCAyKSwKKwlMU0JMS19FWFBPUlQgPQkJKDEgPDwgMyksCisJTFNCTEtfVFJFRSA9CQkoMSA8PCA0KSwKKwlMU0JMS19KU09OID0JCSgxIDw8IDUpLAorfTsKKworZW51bSB7CisJU09SVF9TVFJJTkcJPSAwLAkvKiBkZWZhdWx0IGlzIHRvIHVzZSBzY29sc19jZWxsX2dldF9kYXRhKCkgKi8KKwlTT1JUX1U2NAk9IDEJLyogdXNlIHByaXZhdGUgcG9pbnRlciBmcm9tIHNjb2xzX2NlbGxfZ2V0X3VzZXJkYXRhKCkgKi8KK307CisKKy8qIGNvbHVtbiBuYW1lcyAqLworc3RydWN0IGNvbGluZm8geworCWNvbnN0IGNoYXIJKm5hbWU7CQkvKiBoZWFkZXIgKi8KKwlkb3VibGUJCXdoaW50OwkJLyogd2lkdGggaGludCAoTiA8IDEgaXMgaW4gcGVyY2VudCBvZiB0ZXJtd2lkdGgpICovCisJaW50CQlmbGFnczsJCS8qIFNDT0xTX0ZMXyogKi8KKwljb25zdCBjaGFyICAgICAgKmhlbHA7CisKKwlpbnQJc29ydF90eXBlOwkJLyogU09SVF8qICovCit9OworCisvKiBjb2x1bW5zIGRlc2NyaXB0aW9ucyAqLworc3RhdGljIHN0cnVjdCBjb2xpbmZvIGluZm9zW10gPSB7CisJW0NPTF9OQU1FXSAgID0geyAiTkFNRSIsICAgIDAuMjUsIFNDT0xTX0ZMX1RSRUUgfCBTQ09MU19GTF9OT0VYVFJFTUVTLCBOXygiZGV2aWNlIG5hbWUiKSB9LAorCVtDT0xfS05BTUVdICA9IHsgIktOQU1FIiwgICAwLjMsIDAsIE5fKCJpbnRlcm5hbCBrZXJuZWwgZGV2aWNlIG5hbWUiKSB9LAorCVtDT0xfUEtOQU1FXSA9IHsgIlBLTkFNRSIsICAgMC4zLCAwLCBOXygiaW50ZXJuYWwgcGFyZW50IGtlcm5lbCBkZXZpY2UgbmFtZSIpIH0sCisJW0NPTF9NQUpNSU5dID0geyAiTUFKOk1JTiIsIDYsIDAsIE5fKCJtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIiksIFNPUlRfVTY0IH0sCisJW0NPTF9GU1RZUEVdID0geyAiRlNUWVBFIiwgIDAuMSwgU0NPTFNfRkxfVFJVTkMsIE5fKCJmaWxlc3lzdGVtIHR5cGUiKSB9LAorCVtDT0xfVEFSR0VUXSA9IHsgIk1PVU5UUE9JTlQiLCAwLjEwLCBTQ09MU19GTF9UUlVOQywgTl8oIndoZXJlIHRoZSBkZXZpY2UgaXMgbW91bnRlZCIpIH0sCisJW0NPTF9MQUJFTF0gID0geyAiTEFCRUwiLCAgIDAuMSwgMCwgTl8oImZpbGVzeXN0ZW0gTEFCRUwiKSB9LAorCVtDT0xfVVVJRF0gICA9IHsgIlVVSUQiLCAgICAzNiwgIDAsIE5fKCJmaWxlc3lzdGVtIFVVSUQiKSB9LAorCisJW0NPTF9QQVJUVFlQRV0gID0geyAiUEFSVFRZUEUiLCAgMzYsICAwLCBOXygicGFydGl0aW9uIHR5cGUgVVVJRCIpIH0sCisJW0NPTF9QQVJUTEFCRUxdID0geyAiUEFSVExBQkVMIiwgMC4xLCAwLCBOXygicGFydGl0aW9uIExBQkVMIikgfSwKKwlbQ09MX1BBUlRVVUlEXSAgPSB7ICJQQVJUVVVJRCIsICAzNiwgIDAsIE5fKCJwYXJ0aXRpb24gVVVJRCIpIH0sCisJW0NPTF9QQVJURkxBR1NdID0geyAiUEFSVEZMQUdTIiwgIDM2LCAgMCwgTl8oInBhcnRpdGlvbiBmbGFncyIpIH0sCisKKwlbQ09MX1JBXSAgICAgPSB7ICJSQSIsICAgICAgMywgU0NPTFNfRkxfUklHSFQsIE5fKCJyZWFkLWFoZWFkIG9mIHRoZSBkZXZpY2UiKSwgU09SVF9VNjQgfSwKKwlbQ09MX1JPXSAgICAgPSB7ICJSTyIsICAgICAgMSwgU0NPTFNfRkxfUklHSFQsIE5fKCJyZWFkLW9ubHkgZGV2aWNlIikgfSwKKwlbQ09MX1JNXSAgICAgPSB7ICJSTSIsICAgICAgMSwgU0NPTFNfRkxfUklHSFQsIE5fKCJyZW1vdmFibGUgZGV2aWNlIikgfSwKKwlbQ09MX0hPVFBMVUddPSB7ICJIT1RQTFVHIiwgMSwgU0NPTFNfRkxfUklHSFQsIE5fKCJyZW1vdmFibGUgb3IgaG90cGx1ZyBkZXZpY2UgKHVzYiwgcGNtY2lhLCAuLi4pIikgfSwKKwlbQ09MX1JPVEFdICAgPSB7ICJST1RBIiwgICAgMSwgU0NPTFNfRkxfUklHSFQsIE5fKCJyb3RhdGlvbmFsIGRldmljZSIpIH0sCisJW0NPTF9SQU5EXSAgID0geyAiUkFORCIsICAgIDEsIFNDT0xTX0ZMX1JJR0hULCBOXygiYWRkcyByYW5kb21uZXNzIikgfSwKKwlbQ09MX01PREVMXSAgPSB7ICJNT0RFTCIsICAgMC4xLCBTQ09MU19GTF9UUlVOQywgTl8oImRldmljZSBpZGVudGlmaWVyIikgfSwKKwlbQ09MX1NFUklBTF0gPSB7ICJTRVJJQUwiLCAgMC4xLCBTQ09MU19GTF9UUlVOQywgTl8oImRpc2sgc2VyaWFsIG51bWJlciIpIH0sCisJW0NPTF9TSVpFXSAgID0geyAiU0laRSIsICAgIDUsIFNDT0xTX0ZMX1JJR0hULCBOXygic2l6ZSBvZiB0aGUgZGV2aWNlIiksIFNPUlRfVTY0IH0sCisJW0NPTF9TVEFURV0gID0geyAiU1RBVEUiLCAgIDcsIFNDT0xTX0ZMX1RSVU5DLCBOXygic3RhdGUgb2YgdGhlIGRldmljZSIpIH0sCisJW0NPTF9PV05FUl0gID0geyAiT1dORVIiLCAgIDAuMSwgU0NPTFNfRkxfVFJVTkMsIE5fKCJ1c2VyIG5hbWUiKSwgfSwKKwlbQ09MX0dST1VQXSAgPSB7ICJHUk9VUCIsICAgMC4xLCBTQ09MU19GTF9UUlVOQywgTl8oImdyb3VwIG5hbWUiKSB9LAorCVtDT0xfTU9ERV0gICA9IHsgIk1PREUiLCAgICAxMCwgICAwLCBOXygiZGV2aWNlIG5vZGUgcGVybWlzc2lvbnMiKSB9LAorCVtDT0xfQUxJT0ZGXSA9IHsgIkFMSUdOTUVOVCIsIDYsIFNDT0xTX0ZMX1JJR0hULCBOXygiYWxpZ25tZW50IG9mZnNldCIpLCBTT1JUX1U2NCB9LAorCVtDT0xfTUlOSU9dICA9IHsgIk1JTi1JTyIsICA2LCBTQ09MU19GTF9SSUdIVCwgTl8oIm1pbmltdW0gSS9PIHNpemUiKSwgU09SVF9VNjQgfSwKKwlbQ09MX09QVElPXSAgPSB7ICJPUFQtSU8iLCAgNiwgU0NPTFNfRkxfUklHSFQsIE5fKCJvcHRpbWFsIEkvTyBzaXplIiksIFNPUlRfVTY0IH0sCisJW0NPTF9QSFlTRUNdID0geyAiUEhZLVNFQyIsIDcsIFNDT0xTX0ZMX1JJR0hULCBOXygicGh5c2ljYWwgc2VjdG9yIHNpemUiKSwgU09SVF9VNjQgfSwKKwlbQ09MX0xPR1NFQ10gPSB7ICJMT0ctU0VDIiwgNywgU0NPTFNfRkxfUklHSFQsIE5fKCJsb2dpY2FsIHNlY3RvciBzaXplIiksIFNPUlRfVTY0IH0sCisJW0NPTF9TQ0hFRF0gID0geyAiU0NIRUQiLCAgIDAuMSwgMCwgTl8oIkkvTyBzY2hlZHVsZXIgbmFtZSIpIH0sCisJW0NPTF9SUV9TSVpFXT0geyAiUlEtU0laRSIsIDUsIFNDT0xTX0ZMX1JJR0hULCBOXygicmVxdWVzdCBxdWV1ZSBzaXplIiksIFNPUlRfVTY0IH0sCisJW0NPTF9UWVBFXSAgID0geyAiVFlQRSIsICAgIDQsIDAsIE5fKCJkZXZpY2UgdHlwZSIpIH0sCisJW0NPTF9EQUxJR05dID0geyAiRElTQy1BTE4iLCA2LCBTQ09MU19GTF9SSUdIVCwgTl8oImRpc2NhcmQgYWxpZ25tZW50IG9mZnNldCIpLCBTT1JUX1U2NCB9LAorCVtDT0xfREdSQU5dICA9IHsgIkRJU0MtR1JBTiIsIDYsIFNDT0xTX0ZMX1JJR0hULCBOXygiZGlzY2FyZCBncmFudWxhcml0eSIpLCBTT1JUX1U2NCB9LAorCVtDT0xfRE1BWF0gICA9IHsgIkRJU0MtTUFYIiwgNiwgU0NPTFNfRkxfUklHSFQsIE5fKCJkaXNjYXJkIG1heCBieXRlcyIpLCBTT1JUX1U2NCB9LAorCVtDT0xfRFpFUk9dICA9IHsgIkRJU0MtWkVSTyIsIDEsIFNDT0xTX0ZMX1JJR0hULCBOXygiZGlzY2FyZCB6ZXJvZXMgZGF0YSIpIH0sCisJW0NPTF9XU0FNRV0gID0geyAiV1NBTUUiLCAgIDYsIFNDT0xTX0ZMX1JJR0hULCBOXygid3JpdGUgc2FtZSBtYXggYnl0ZXMiKSwgU09SVF9VNjQgfSwKKwlbQ09MX1dXTl0gICAgPSB7ICJXV04iLCAgICAgMTgsIDAsIE5fKCJ1bmlxdWUgc3RvcmFnZSBpZGVudGlmaWVyIikgfSwKKwlbQ09MX0hDVExdICAgPSB7ICJIQ1RMIiwgMTAsIDAsIE5fKCJIb3N0OkNoYW5uZWw6VGFyZ2V0Okx1biBmb3IgU0NTSSIpIH0sCisJW0NPTF9UUkFOU1BPUlRdID0geyAiVFJBTiIsIDYsIDAsIE5fKCJkZXZpY2UgdHJhbnNwb3J0IHR5cGUiKSB9LAorCVtDT0xfU1VCU1lTXSA9IHsgIlNVQlNZU1RFTVMiLCAwLjEsIFNDT0xTX0ZMX05PRVhUUkVNRVMsIE5fKCJkZS1kdXBsaWNhdGVkIGNoYWluIG9mIHN1YnN5c3RlbXMiKSB9LAorCVtDT0xfUkVWXSAgICA9IHsgIlJFViIsICAgNCwgU0NPTFNfRkxfUklHSFQsIE5fKCJkZXZpY2UgcmV2aXNpb24iKSB9LAorCVtDT0xfVkVORE9SXSA9IHsgIlZFTkRPUiIsIDAuMSwgU0NPTFNfRkxfVFJVTkMsIE5fKCJkZXZpY2UgdmVuZG9yIikgfSwKK307CisKK3N0cnVjdCBsc2JsayB7CisJc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YWJsZTsJLyogb3V0cHV0IHRhYmxlICovCisJc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqc29ydF9jb2w7Lyogc29ydCBvdXRwdXQgYnkgdGhpcyBjb2x1bW4gKi8KKwlpbnQgc29ydF9pZDsKKworCXVuc2lnbmVkIGludCBhbGxfZGV2aWNlczoxOwkvKiBwcmludCBhbGwgZGV2aWNlcywgaW5jbHVkaW5nIGVtcHR5ICovCisJdW5zaWduZWQgaW50IGJ5dGVzOjE7CQkvKiBwcmludCBTSVpFIGluIGJ5dGVzICovCisJdW5zaWduZWQgaW50IGludmVyc2U6MTsJCS8qIHByaW50IGludmVyc2UgZGVwZW5kZW5jaWVzICovCisJdW5zaWduZWQgaW50IG5vZGVwczoxOwkJLyogZG9uJ3QgcHJpbnQgc2xhdmVzL2hvbGRlcnMgKi8KKwl1bnNpZ25lZCBpbnQgc2NzaToxOwkJLyogcHJpbnQgb25seSBkZXZpY2Ugd2l0aCBIQ1RMIChTQ1NJKSAqLworCXVuc2lnbmVkIGludCBwYXRoczoxOwkJLyogcHJpbnQgZGV2bmFtZXMgd2l0aCAiL2RldiIgcHJlZml4ICovCisJdW5zaWduZWQgaW50IHNvcnRfaGlkZGVuOjE7CS8qIHNvcnQgY29sdW1uIG5vdCBiZXR3ZWVuIG91dHB1dCBjb2x1bW5zICovCit9OworCitzdHJ1Y3QgbHNibGsgKmxzYmxrOwkvKiBnbG9iYWwgaGFuZGxlciAqLworCisvKiBjb2x1bW5zW10gYXJyYXkgc3BlY2lmaWVzIGFsbCBjdXJyZW50bHkgd2FudGVkIG91dHB1dCBjb2x1bW4uIFRoZSBjb2x1bW5zCisgKiBhcmUgZGVmaW5lZCBieSBpbmZvc1tdIGFycmF5IGFuZCB5b3UgY2FuIHNwZWNpZnkgKG9uIGNvbW1hbmQgbGluZSkgZWFjaAorICogY29sdW1uIHR3aWNlLiBUaGF0J3MgZW5vdWdoLCBkeW5hbWljYWxseSBhbGxvY2F0ZWQgYXJyYXkgb2YgdGhlIGNvbHVtbnMgaXMKKyAqIHVubmVjZXNzYXJ5IG92ZXJraWxsIGFuZCBvdmVyLWVuZ2luZWVyaW5nIGluIHRoaXMgY2FzZSAqLworc3RhdGljIGludCBjb2x1bW5zW0FSUkFZX1NJWkUoaW5mb3MpICogMl07CitzdGF0aWMgc2l6ZV90IG5jb2x1bW5zOworCitzdGF0aWMgaW5saW5lIHNpemVfdCBlcnJfY29sdW1uc19pbmRleChzaXplX3QgYXJ5c3osIHNpemVfdCBpZHgpCit7CisJaWYgKGlkeCA+PSBhcnlzeikKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInRvbyBtYW55IGNvbHVtbnMgc3BlY2lmaWVkLCAiCisJCQkJICAgICAidGhlIGxpbWl0IGlzICV6dSBjb2x1bW5zIiksCisJCQkJYXJ5c3ogLSAxKTsKKwlyZXR1cm4gaWR4OworfQorCisjZGVmaW5lIGFkZF9jb2x1bW4oYXJ5LCBuLCBpZCkJXAorCQkoKGFyeSlbIGVycl9jb2x1bW5zX2luZGV4KEFSUkFZX1NJWkUoYXJ5KSwgKG4pKSBdID0gKGlkKSkKKworc3RhdGljIGludCBleGNsdWRlc1syNTZdOworc3RhdGljIHNpemVfdCBuZXhjbHVkZXM7CisKK3N0YXRpYyBpbnQgaW5jbHVkZXNbMjU2XTsKK3N0YXRpYyBzaXplX3QgbmluY2x1ZGVzOworCitzdGF0aWMgc3RydWN0IGxpYm1udF90YWJsZSAqbXRhYiwgKnN3YXBzOworc3RhdGljIHN0cnVjdCBsaWJtbnRfY2FjaGUgKm1udGNhY2hlOworCisjaWZkZWYgSEFWRV9MSUJVREVWCitzdHJ1Y3QgdWRldiAqdWRldjsKKyNlbmRpZgorCitzdHJ1Y3QgYmxrZGV2X2N4dCB7CisJc3RydWN0IGJsa2Rldl9jeHQgKnBhcmVudDsKKworCXN0cnVjdCBsaWJzY29sc19saW5lICpzY29sc19saW5lOworCXN0cnVjdCBzdGF0CXN0OworCisJY2hhciAqbmFtZTsJCS8qIGtlcm5lbCBuYW1lIGluIC9zeXMvYmxvY2sgKi8KKwljaGFyICpkbV9uYW1lOwkJLyogRE0gbmFtZSAoZG0vYmxvY2spICovCisKKwljaGFyICpmaWxlbmFtZTsJCS8qIHBhdGggdG8gZGV2aWNlIG5vZGUgKi8KKworCXN0cnVjdCBzeXNmc19jeHQgIHN5c2ZzOworCisJaW50IHBhcnRpdGlvbjsJCS8qIGlzIHBhcnRpdGlvbj8gVFJVRS9GQUxTRSAqLworCisJaW50IHByb2JlZDsJCS8qIGFscmVhZHkgcHJvYmVkICovCisJY2hhciAqZnN0eXBlOwkJLyogZGV0ZWN0ZWQgZnMsIE5VTEwgb3IgIj8iIGlmIGNhbm5vdCBkZXRlY3QgKi8KKwljaGFyICp1dWlkOwkJLyogZmlsZXN5c3RlbSBVVUlEIChvciBzdGFjayB1dWlkKSAqLworCWNoYXIgKmxhYmVsOwkJLyogZmlsZXN5c3RlbSBsYWJlbCAqLworCWNoYXIgKnBhcnR0eXBlOwkJLyogcGFydGl0aW9uIHR5cGUgVVVJRCAqLworCWNoYXIgKnBhcnR1dWlkOwkJLyogcGFydGl0aW9uIFVVSUQgKi8KKwljaGFyICpwYXJ0bGFiZWw7CS8qIHBhcnRpdGlvbiBsYWJlbCAqLworCWNoYXIgKnBhcnRmbGFnczsJLyogcGFydGl0aW9uIGZsYWdzICovCisJY2hhciAqd3duOwkJLyogc3RvcmFnZSBXV04gKi8KKwljaGFyICpzZXJpYWw7CQkvKiBkaXNrIHNlcmlhbCBudW1iZXIgKi8KKworCWludCBucGFydGl0aW9uczsJLyogIyBvZiBwYXJ0aXRpb25zIHRoaXMgZGV2aWNlIGhhcyAqLworCWludCBuaG9sZGVyczsJCS8qICMgb2YgZGV2aWNlcyBtYXBwZWQgZGlyZWN0bHkgdG8gdGhpcyBkZXZpY2UKKwkJCQkgKiAvc3lzL2Jsb2NrLy4uLi9ob2xkZXJzICovCisJaW50IG5zbGF2ZXM7CQkvKiAjIG9mIGRldmljZXMgdGhpcyBkZXZpY2UgbWFwcyB0byAqLworCWludCBtYWosIG1pbjsJCS8qIGRldm5vICovCisJaW50IGRpc2NhcmQ7CQkvKiBzdXBwb3J0cyBkaXNjYXJkICovCisKKwl1aW50NjRfdCBzaXplOwkJLyogZGV2aWNlIHNpemUgKi8KK307CisKK3N0YXRpYyB2b2lkIGxzYmxrX2luaXRfZGVidWcodm9pZCkKK3sKKwlfX1VMX0lOSVRfREVCVUcobHNibGssIExTQkxLX0RFQlVHXywgMCwgTFNCTEtfREVCVUcpOworfQorCitzdGF0aWMgaW50IGlzX21hal9leGNsdWRlZChpbnQgbWFqKQoreworCXNpemVfdCBpOworCisJYXNzZXJ0KEFSUkFZX1NJWkUoZXhjbHVkZXMpID4gbmV4Y2x1ZGVzKTsKKworCWlmICghbmV4Y2x1ZGVzKQorCQlyZXR1cm4gMDsJLyogZmlsdGVyIG5vdCBlbmFibGVkLCBkZXZpY2Ugbm90IGV4Y2x1ZGVkICovCisKKwlmb3IgKGkgPSAwOyBpIDwgbmV4Y2x1ZGVzOyBpKyspIHsKKwkJaWYgKGV4Y2x1ZGVzW2ldID09IG1haikgeworCQkJREJHKEZJTFRFUiwgdWxfZGVidWcoImV4Y2x1ZGU6IG1haj0lZCIsIG1haikpOworCQkJcmV0dXJuIDE7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaXNfbWFqX2luY2x1ZGVkKGludCBtYWopCit7CisJc2l6ZV90IGk7CisKKwlhc3NlcnQoQVJSQVlfU0laRShpbmNsdWRlcykgPiBuaW5jbHVkZXMpOworCisJaWYgKCFuaW5jbHVkZXMpCisJCXJldHVybiAxOwkvKiBmaWx0ZXIgbm90IGVuYWJsZWQsIGRldmljZSBpcyBpbmNsdWRlZCAqLworCisJZm9yIChpID0gMDsgaSA8IG5pbmNsdWRlczsgaSsrKSB7CisJCWlmIChpbmNsdWRlc1tpXSA9PSBtYWopIHsKKwkJCURCRyhGSUxURVIsIHVsX2RlYnVnKCJpbmNsdWRlOiBtYWo9JWQiLCBtYWopKTsKKwkJCXJldHVybiAxOworCQl9CisJfQorCXJldHVybiAwOworfQorCisvKiBhcnJheSB3aXRoIElEcyBvZiBlbmFibGVkIGNvbHVtbnMgKi8KK3N0YXRpYyBpbnQgZ2V0X2NvbHVtbl9pZChpbnQgbnVtKQoreworCWFzc2VydChudW0gPj0gMCk7CisJYXNzZXJ0KChzaXplX3QpIG51bSA8IG5jb2x1bW5zKTsKKwlhc3NlcnQoY29sdW1uc1tudW1dIDwgKGludCkgQVJSQVlfU0laRShpbmZvcykpOworCXJldHVybiBjb2x1bW5zW251bV07Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY29saW5mbyAqZ2V0X2NvbHVtbl9pbmZvKGludCBudW0pCit7CisJcmV0dXJuICZpbmZvc1sgZ2V0X2NvbHVtbl9pZChudW0pIF07Cit9CisKK3N0YXRpYyBpbnQgY29sdW1uX25hbWVfdG9faWQoY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90IG5hbWVzeikKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGluZm9zKTsgaSsrKSB7CisJCWNvbnN0IGNoYXIgKmNuID0gaW5mb3NbaV0ubmFtZTsKKworCQlpZiAoIXN0cm5jYXNlY21wKG5hbWUsIGNuLCBuYW1lc3opICYmICEqKGNuICsgbmFtZXN6KSkKKwkJCXJldHVybiBpOworCX0KKwl3YXJueChfKCJ1bmtub3duIGNvbHVtbjogJXMiKSwgbmFtZSk7CisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgaW50IGNvbHVtbl9pZF90b19udW1iZXIoaW50IGlkKQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IG5jb2x1bW5zOyBpKyspCisJCWlmIChjb2x1bW5zW2ldID09IGlkKQorCQkJcmV0dXJuIGk7CisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgdm9pZCByZXNldF9ibGtkZXZfY3h0KHN0cnVjdCBibGtkZXZfY3h0ICpjeHQpCit7CisJaWYgKCFjeHQpCisJCXJldHVybjsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInJlc2V0IikpOworCisJZnJlZShjeHQtPm5hbWUpOworCWZyZWUoY3h0LT5kbV9uYW1lKTsKKwlmcmVlKGN4dC0+ZmlsZW5hbWUpOworCWZyZWUoY3h0LT5mc3R5cGUpOworCWZyZWUoY3h0LT51dWlkKTsKKwlmcmVlKGN4dC0+bGFiZWwpOworCWZyZWUoY3h0LT5wYXJ0dHlwZSk7CisJZnJlZShjeHQtPnBhcnR1dWlkKTsKKwlmcmVlKGN4dC0+cGFydGxhYmVsKTsKKwlmcmVlKGN4dC0+d3duKTsKKwlmcmVlKGN4dC0+c2VyaWFsKTsKKworCXN5c2ZzX2RlaW5pdCgmY3h0LT5zeXNmcyk7CisKKwltZW1zZXQoY3h0LCAwLCBzaXplb2YoKmN4dCkpOworfQorCitzdGF0aWMgaW50IGlzX2RtKGNvbnN0IGNoYXIgKm5hbWUpCit7CisJcmV0dXJuIHN0cm5jbXAobmFtZSwgImRtLSIsIDMpID8gMCA6IDE7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZGlyZW50ICp4cmVhZGRpcihESVIgKmRwKQoreworCXN0cnVjdCBkaXJlbnQgKmQ7CisKKwlhc3NlcnQoZHApOworCisJd2hpbGUgKChkID0gcmVhZGRpcihkcCkpKSB7CisJCWlmICghc3RyY21wKGQtPmRfbmFtZSwgIi4iKSB8fAorCQkgICAgIXN0cmNtcChkLT5kX25hbWUsICIuLiIpKQorCQkJY29udGludWU7CisKKwkJLyogYmxhY2tsaXN0IGhlcmU/ICovCisJCWJyZWFrOworCX0KKwlyZXR1cm4gZDsKK30KKworc3RhdGljIGNoYXIgKmdldF9kZXZpY2VfcGF0aChzdHJ1Y3QgYmxrZGV2X2N4dCAqY3h0KQoreworCWNoYXIgcGF0aFtQQVRIX01BWF07CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5uYW1lKTsKKworCWlmIChpc19kbShjeHQtPm5hbWUpKQorCQlyZXR1cm4gY2Fub25pY2FsaXplX2RtX25hbWUoY3h0LT5uYW1lKTsKKworCXNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwgIi9kZXYvJXMiLCBjeHQtPm5hbWUpOworCXN5c2ZzX2Rldm5hbWVfc3lzX3RvX2RldihwYXRoKTsKKwlyZXR1cm4geHN0cmR1cChwYXRoKTsKK30KKworc3RhdGljIGludCB0YWJsZV9wYXJzZXJfZXJyY2Ioc3RydWN0IGxpYm1udF90YWJsZSAqdGIgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpLAorCQkJY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCBsaW5lKQoreworCWlmIChmaWxlbmFtZSkKKwkJd2FybngoXygiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQgLS0gaWdub3JlZCIpLCBmaWxlbmFtZSwgbGluZSk7CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgaXNfYWN0aXZlX3N3YXAoY29uc3QgY2hhciAqZmlsZW5hbWUpCit7CisJaWYgKCFzd2FwcykgeworCQlzd2FwcyA9IG1udF9uZXdfdGFibGUoKTsKKwkJaWYgKCFzd2FwcykKKwkJCXJldHVybiAwOworCQlpZiAoIW1udGNhY2hlKQorCQkJbW50Y2FjaGUgPSBtbnRfbmV3X2NhY2hlKCk7CisKKwkJbW50X3RhYmxlX3NldF9wYXJzZXJfZXJyY2Ioc3dhcHMsIHRhYmxlX3BhcnNlcl9lcnJjYik7CisJCW1udF90YWJsZV9zZXRfY2FjaGUoc3dhcHMsIG1udGNhY2hlKTsKKwkJbW50X3RhYmxlX3BhcnNlX3N3YXBzKHN3YXBzLCBOVUxMKTsKKwl9CisKKwlyZXR1cm4gbW50X3RhYmxlX2ZpbmRfc3JjcGF0aChzd2FwcywgZmlsZW5hbWUsIE1OVF9JVEVSX0JBQ0tXQVJEKSAhPSAwOworfQorCitzdGF0aWMgY2hhciAqZ2V0X2RldmljZV9tb3VudHBvaW50KHN0cnVjdCBibGtkZXZfY3h0ICpjeHQpCit7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJY29uc3QgY2hhciAqZnNyb290OworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+ZmlsZW5hbWUpOworCisJaWYgKCFtdGFiKSB7CisJCW10YWIgPSBtbnRfbmV3X3RhYmxlKCk7CisJCWlmICghbXRhYikKKwkJCXJldHVybiBOVUxMOworCQlpZiAoIW1udGNhY2hlKQorCQkJbW50Y2FjaGUgPSBtbnRfbmV3X2NhY2hlKCk7CisKKwkJbW50X3RhYmxlX3NldF9wYXJzZXJfZXJyY2IobXRhYiwgdGFibGVfcGFyc2VyX2VycmNiKTsKKwkJbW50X3RhYmxlX3NldF9jYWNoZShtdGFiLCBtbnRjYWNoZSk7CisJCW1udF90YWJsZV9wYXJzZV9tdGFiKG10YWIsIE5VTEwpOworCX0KKworCS8qIE5vdGUgdGhhdCBtYWo6bWluIGluIC9wcm9jL3NlbGYvbW91bnRpbmZvIGRvZXMgbm90IGhhdmUgdG8gbWF0Y2ggd2l0aAorCSAqIGRldm5vIGFzIHJldHVybmVkIGJ5IHN0YXQoKSwgc28gd2UgaGF2ZSB0byB0cnkgZGV2bmFtZSB0b28KKwkgKi8KKwlmcyA9IG1udF90YWJsZV9maW5kX2Rldm5vKG10YWIsIG1ha2VkZXYoY3h0LT5tYWosIGN4dC0+bWluKSwgTU5UX0lURVJfQkFDS1dBUkQpOworCWlmICghZnMpCisJCWZzID0gbW50X3RhYmxlX2ZpbmRfc3JjcGF0aChtdGFiLCBjeHQtPmZpbGVuYW1lLCBNTlRfSVRFUl9CQUNLV0FSRCk7CisJaWYgKCFmcykKKwkJcmV0dXJuIGlzX2FjdGl2ZV9zd2FwKGN4dC0+ZmlsZW5hbWUpID8geHN0cmR1cCgiW1NXQVBdIikgOiBOVUxMOworCisJLyogZm91bmQgKi8KKwlmc3Jvb3QgPSBtbnRfZnNfZ2V0X3Jvb3QoZnMpOworCWlmIChmc3Jvb3QgJiYgc3RyY21wKGZzcm9vdCwgIi8iKSAhPSAwKSB7CisJCS8qIGhtbS4uIHdlIGZvdW5kIGJpbmQgbW91bnQgb3IgYnRyZnMgc3Vidm9sdW1lLCBsZXQncyB0cnkgdG8KKwkJICogZ2V0IHJlYWwgRlMgcm9vdCBtb3VudHBvaW50ICovCisJCXN0cnVjdCBsaWJtbnRfZnMgKnJmczsKKwkJc3RydWN0IGxpYm1udF9pdGVyICppdHIgPSBtbnRfbmV3X2l0ZXIoTU5UX0lURVJfQkFDS1dBUkQpOworCisJCW1udF90YWJsZV9zZXRfaXRlcihtdGFiLCBpdHIsIGZzKTsKKwkJd2hpbGUgKG1udF90YWJsZV9uZXh0X2ZzKG10YWIsIGl0ciwgJnJmcykgPT0gMCkgeworCQkJZnNyb290ID0gbW50X2ZzX2dldF9yb290KHJmcyk7CisJCQlpZiAoKCFmc3Jvb3QgfHwgc3RyY21wKGZzcm9vdCwgIi8iKSA9PSAwKQorCQkJICAgICYmIG1udF9mc19tYXRjaF9zb3VyY2UocmZzLCBjeHQtPmZpbGVuYW1lLCBtbnRjYWNoZSkpIHsKKwkJCQlmcyA9IHJmczsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCQltbnRfZnJlZV9pdGVyKGl0cik7CisJfQorCisJREJHKERFViwgdWxfZGVidWdvYmooY3h0LCAibW91bnRwb2ludDogJXMiLCBtbnRfZnNfZ2V0X3RhcmdldChmcykpKTsKKwlyZXR1cm4geHN0cmR1cChtbnRfZnNfZ2V0X3RhcmdldChmcykpOworfQorCisjaWZuZGVmIEhBVkVfTElCVURFVgorc3RhdGljIGludCBnZXRfdWRldl9wcm9wZXJ0aWVzKHN0cnVjdCBibGtkZXZfY3h0ICpjeHQKKwkJCQlfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJcmV0dXJuIC0xOworfQorI2Vsc2UKK3N0YXRpYyBpbnQgZ2V0X3VkZXZfcHJvcGVydGllcyhzdHJ1Y3QgYmxrZGV2X2N4dCAqY3h0KQoreworCXN0cnVjdCB1ZGV2X2RldmljZSAqZGV2OworCisJaWYgKGN4dC0+cHJvYmVkKQorCQlyZXR1cm4gMDsJCS8qIGFscmVhZHkgZG9uZSAqLworCisJaWYgKCF1ZGV2KQorCQl1ZGV2ID0gdWRldl9uZXcoKTsKKwlpZiAoIXVkZXYpCisJCXJldHVybiAtMTsKKworCWRldiA9IHVkZXZfZGV2aWNlX25ld19mcm9tX3N1YnN5c3RlbV9zeXNuYW1lKHVkZXYsICJibG9jayIsIGN4dC0+bmFtZSk7CisJaWYgKGRldikgeworCQljb25zdCBjaGFyICpkYXRhOworCisJCWlmICgoZGF0YSA9IHVkZXZfZGV2aWNlX2dldF9wcm9wZXJ0eV92YWx1ZShkZXYsICJJRF9GU19MQUJFTF9FTkMiKSkpIHsKKwkJCWN4dC0+bGFiZWwgPSB4c3RyZHVwKGRhdGEpOworCQkJdW5oZXhtYW5nbGVfc3RyaW5nKGN4dC0+bGFiZWwpOworCQl9CisJCWlmICgoZGF0YSA9IHVkZXZfZGV2aWNlX2dldF9wcm9wZXJ0eV92YWx1ZShkZXYsICJJRF9GU19VVUlEX0VOQyIpKSkgeworCQkJY3h0LT51dWlkID0geHN0cmR1cChkYXRhKTsKKwkJCXVuaGV4bWFuZ2xlX3N0cmluZyhjeHQtPnV1aWQpOworCQl9CisJCWlmICgoZGF0YSA9IHVkZXZfZGV2aWNlX2dldF9wcm9wZXJ0eV92YWx1ZShkZXYsICJJRF9QQVJUX0VOVFJZX05BTUUiKSkpIHsKKwkJCWN4dC0+cGFydGxhYmVsID0geHN0cmR1cChkYXRhKTsKKwkJCXVuaGV4bWFuZ2xlX3N0cmluZyhjeHQtPnBhcnRsYWJlbCk7CisJCX0KKwkJaWYgKChkYXRhID0gdWRldl9kZXZpY2VfZ2V0X3Byb3BlcnR5X3ZhbHVlKGRldiwgIklEX0ZTX1RZUEUiKSkpCisJCQljeHQtPmZzdHlwZSA9IHhzdHJkdXAoZGF0YSk7CisJCWlmICgoZGF0YSA9IHVkZXZfZGV2aWNlX2dldF9wcm9wZXJ0eV92YWx1ZShkZXYsICJJRF9QQVJUX0VOVFJZX1RZUEUiKSkpCisJCQljeHQtPnBhcnR0eXBlID0geHN0cmR1cChkYXRhKTsKKwkJaWYgKChkYXRhID0gdWRldl9kZXZpY2VfZ2V0X3Byb3BlcnR5X3ZhbHVlKGRldiwgIklEX1BBUlRfRU5UUllfVVVJRCIpKSkKKwkJCWN4dC0+cGFydHV1aWQgPSB4c3RyZHVwKGRhdGEpOworCQlpZiAoKGRhdGEgPSB1ZGV2X2RldmljZV9nZXRfcHJvcGVydHlfdmFsdWUoZGV2LCAiSURfUEFSVF9FTlRSWV9GTEFHUyIpKSkKKwkJCWN4dC0+cGFydGZsYWdzID0geHN0cmR1cChkYXRhKTsKKworCQlkYXRhID0gdWRldl9kZXZpY2VfZ2V0X3Byb3BlcnR5X3ZhbHVlKGRldiwgIklEX1dXTl9XSVRIX0VYVEVOU0lPTiIpOworCQlpZiAoIWRhdGEpCisJCQlkYXRhID0gdWRldl9kZXZpY2VfZ2V0X3Byb3BlcnR5X3ZhbHVlKGRldiwgIklEX1dXTiIpOworCQlpZiAoZGF0YSkKKwkJCWN4dC0+d3duID0geHN0cmR1cChkYXRhKTsKKworCQlpZiAoKGRhdGEgPSB1ZGV2X2RldmljZV9nZXRfcHJvcGVydHlfdmFsdWUoZGV2LCAiSURfU0VSSUFMX1NIT1JUIikpKQorCQkJY3h0LT5zZXJpYWwgPSB4c3RyZHVwKGRhdGEpOworCQl1ZGV2X2RldmljZV91bnJlZihkZXYpOworCQljeHQtPnByb2JlZCA9IDE7CisJCURCRyhERVYsIHVsX2RlYnVnb2JqKGN4dCwgIiVzOiBmb3VuZCB1ZGV2IHByb3BlcnRpZXMiLCBjeHQtPm5hbWUpKTsKKwl9CisKKwlyZXR1cm4gY3h0LT5wcm9iZWQgPT0gMSA/IDAgOiAtMTsKKworfQorI2VuZGlmIC8qIEhBVkVfTElCVURFViAqLworCitzdGF0aWMgdm9pZCBwcm9iZV9kZXZpY2Uoc3RydWN0IGJsa2Rldl9jeHQgKmN4dCkKK3sKKwlibGtpZF9wcm9iZSBwciA9IE5VTEw7CisKKwlpZiAoY3h0LT5wcm9iZWQpCisJCXJldHVybjsKKworCWlmICghY3h0LT5zaXplKQorCQlyZXR1cm47CisKKwkvKiB0cnkgdWRldiBEQiAqLworCWlmIChnZXRfdWRldl9wcm9wZXJ0aWVzKGN4dCkgPT0gMCkKKwkJcmV0dXJuOwkJCQkvKiBzdWNjZXNzICovCisKKwljeHQtPnByb2JlZCA9IDE7CisKKwkvKiB0cnkgbGliYmxraWQgKGZhbGxiYWNrKSAqLworCWlmIChnZXR1aWQoKSAhPSAwKQorCQlyZXR1cm47CQkJCS8qIG5vIHBlcm1pc3Npb25zIHRvIHJlYWQgZnJvbSB0aGUgZGV2aWNlICovCisKKwlwciA9IGJsa2lkX25ld19wcm9iZV9mcm9tX2ZpbGVuYW1lKGN4dC0+ZmlsZW5hbWUpOworCWlmICghcHIpCisJCXJldHVybjsKKworCWJsa2lkX3Byb2JlX2VuYWJsZV9zdXBlcmJsb2NrcyhwciwgMSk7CisJYmxraWRfcHJvYmVfc2V0X3N1cGVyYmxvY2tzX2ZsYWdzKHByLCBCTEtJRF9TVUJMS1NfTEFCRUwgfAorCQkJCQkgICAgICBCTEtJRF9TVUJMS1NfVVVJRCB8CisJCQkJCSAgICAgIEJMS0lEX1NVQkxLU19UWVBFKTsKKwlibGtpZF9wcm9iZV9lbmFibGVfcGFydGl0aW9ucyhwciwgMSk7CisJYmxraWRfcHJvYmVfc2V0X3BhcnRpdGlvbnNfZmxhZ3MocHIsIEJMS0lEX1BBUlRTX0VOVFJZX0RFVEFJTFMpOworCisJaWYgKCFibGtpZF9kb19zYWZlcHJvYmUocHIpKSB7CisJCWNvbnN0IGNoYXIgKmRhdGEgPSBOVUxMOworCisJCWlmICghYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlKHByLCAiVFlQRSIsICZkYXRhLCBOVUxMKSkKKwkJCWN4dC0+ZnN0eXBlID0geHN0cmR1cChkYXRhKTsKKwkJaWYgKCFibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJVVUlEIiwgJmRhdGEsIE5VTEwpKQorCQkJY3h0LT51dWlkID0geHN0cmR1cChkYXRhKTsKKwkJaWYgKCFibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJMQUJFTCIsICZkYXRhLCBOVUxMKSkKKwkJCWN4dC0+bGFiZWwgPSB4c3RyZHVwKGRhdGEpOworCQlpZiAoIWJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIlBBUlRfRU5UUllfVFlQRSIsICZkYXRhLCBOVUxMKSkKKwkJCWN4dC0+cGFydHR5cGUgPSB4c3RyZHVwKGRhdGEpOworCQlpZiAoIWJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIlBBUlRfRU5UUllfVVVJRCIsICZkYXRhLCBOVUxMKSkKKwkJCWN4dC0+cGFydHV1aWQgPSB4c3RyZHVwKGRhdGEpOworCQlpZiAoIWJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIlBBUlRfRU5UUllfTkFNRSIsICZkYXRhLCBOVUxMKSkKKwkJCWN4dC0+cGFydGxhYmVsID0geHN0cmR1cChkYXRhKTsKKwkJaWYgKCFibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJQQVJUX0VOVFJZX0ZMQUdTIiwgJmRhdGEsIE5VTEwpKQorCQkJY3h0LT5wYXJ0ZmxhZ3MgPSB4c3RyZHVwKGRhdGEpOworCQlEQkcoREVWLCB1bF9kZWJ1Z29iaihjeHQsICIlczogZm91bmQgYmxraWQgcHJvcGVydGllcyIsIGN4dC0+bmFtZSkpOworCX0KKworCWJsa2lkX2ZyZWVfcHJvYmUocHIpOworCXJldHVybjsKK30KKworc3RhdGljIGludCBpc19yZWFkb25seV9kZXZpY2Uoc3RydWN0IGJsa2Rldl9jeHQgKmN4dCkKK3sKKwlpbnQgZmQsIHJvID0gMDsKKworCWlmIChzeXNmc19zY2FuZigmY3h0LT5zeXNmcywgInJvIiwgIiVkIiwgJnJvKSA9PSAxKQorCQlyZXR1cm4gcm87CisKKwkvKiBmYWxsYmFjayBpZiAicm8iIGF0dHJpYnV0ZSBkb2VzIG5vdCBleGlzdCAqLworCWZkID0gb3BlbihjeHQtPmZpbGVuYW1lLCBPX1JET05MWSk7CisJaWYgKGZkICE9IC0xKSB7CisJCWlmIChpb2N0bChmZCwgQkxLUk9HRVQsICZybykgIT0gMCkKKwkJCXJvID0gMDsKKwkJY2xvc2UoZmQpOworCX0KKwlyZXR1cm4gcm87Cit9CisKK3N0YXRpYyBjaGFyICpnZXRfc2NoZWR1bGVyKHN0cnVjdCBibGtkZXZfY3h0ICpjeHQpCit7CisJY2hhciAqc3RyID0gc3lzZnNfc3RyZHVwKCZjeHQtPnN5c2ZzLCAicXVldWUvc2NoZWR1bGVyIik7CisJY2hhciAqcCwgKnJlcyA9IE5VTEw7CisKKwlpZiAoIXN0cikKKwkJcmV0dXJuIE5VTEw7CisJcCA9IHN0cmNocihzdHIsICdbJyk7CisJaWYgKHApIHsKKwkJcmVzID0gcCArIDE7CisJCXAgPSBzdHJjaHIocmVzLCAnXScpOworCQlpZiAocCkgeworCQkJKnAgPSAnXDAnOworCQkJcmVzID0geHN0cmR1cChyZXMpOworCQl9IGVsc2UKKwkJCXJlcyA9IE5VTEw7CisJfQorCWZyZWUoc3RyKTsKKwlyZXR1cm4gcmVzOworfQorCitzdGF0aWMgY2hhciAqZ2V0X3R5cGUoc3RydWN0IGJsa2Rldl9jeHQgKmN4dCkKK3sKKwljaGFyICpyZXMgPSBOVUxMLCAqcDsKKworCWlmIChpc19kbShjeHQtPm5hbWUpKSB7CisJCWNoYXIgKmRtX3V1aWQgPSBzeXNmc19zdHJkdXAoJmN4dC0+c3lzZnMsICJkbS91dWlkIik7CisKKwkJLyogVGhlIERNX1VVSUQgcHJlZml4IHNob3VsZCBiZSBzZXQgdG8gc3Vic3lzdGVtIG93bmluZworCQkgKiB0aGUgZGV2aWNlIC0gTFZNLCBDUllQVCwgRE1SQUlELCBNUEFUSCwgUEFSVCAqLworCQlpZiAoZG1fdXVpZCkgeworCQkJY2hhciAqdG1wID0gZG1fdXVpZDsKKwkJCWNoYXIgKmRtX3V1aWRfcHJlZml4ID0gc3Ryc2VwKCZ0bXAsICItIik7CisKKwkJCWlmIChkbV91dWlkX3ByZWZpeCkgeworCQkJCS8qIGtwYXJ0eCBoYWNrIHRvIHJlbW92ZSBwYXJ0aXRpb24gbnVtYmVyICovCisJCQkJaWYgKHN0cm5jYXNlY21wKGRtX3V1aWRfcHJlZml4LCAicGFydCIsIDQpID09IDApCisJCQkJCWRtX3V1aWRfcHJlZml4WzRdID0gJ1wwJzsKKworCQkJCXJlcyA9IHhzdHJkdXAoZG1fdXVpZF9wcmVmaXgpOworCQkJfQorCQl9CisKKwkJZnJlZShkbV91dWlkKTsKKwkJaWYgKCFyZXMpCisJCQkvKiBObyBVVUlEIG9yIG5vIHByZWZpeCAtIGp1c3QgbWFyayBpdCBhcyBETSBkZXZpY2UgKi8KKwkJCXJlcyA9IHhzdHJkdXAoImRtIik7CisKKwl9IGVsc2UgaWYgKCFzdHJuY21wKGN4dC0+bmFtZSwgImxvb3AiLCA0KSkgeworCQlyZXMgPSB4c3RyZHVwKCJsb29wIik7CisKKwl9IGVsc2UgaWYgKCFzdHJuY21wKGN4dC0+bmFtZSwgIm1kIiwgMikpIHsKKwkJY2hhciAqbWRfbGV2ZWwgPSBzeXNmc19zdHJkdXAoJmN4dC0+c3lzZnMsICJtZC9sZXZlbCIpOworCQlyZXMgPSBtZF9sZXZlbCA/IG1kX2xldmVsIDogeHN0cmR1cCgibWQiKTsKKworCX0gZWxzZSB7CisJCWNvbnN0IGNoYXIgKnR5cGUgPSBOVUxMOworCQlpbnQgeCA9IDA7CisKKwkJaWYgKCFzeXNmc19yZWFkX2ludCgmY3h0LT5zeXNmcywgImRldmljZS90eXBlIiwgJngpKQorCQkJdHlwZSA9IGJsa2Rldl9zY3NpX3R5cGVfdG9fbmFtZSh4KTsKKworCQlpZiAoIXR5cGUpCisJCQl0eXBlID0gY3h0LT5wYXJ0aXRpb24gPyAicGFydCIgOiAiZGlzayI7CisJCXJlcyA9IHhzdHJkdXAodHlwZSk7CisJfQorCisJZm9yIChwID0gcmVzOyBwICYmICpwOyBwKyspCisJCSpwID0gdG9sb3dlcigodW5zaWduZWQgY2hhcikgKnApOworCXJldHVybiByZXM7Cit9CisKKy8qIFRoYW5rcyB0byBsc3Njc2kgY29kZSBmb3IgaWRlYSBvZiBkZXRlY3Rpb24gbG9naWMgdXNlZCBoZXJlICovCitzdGF0aWMgY2hhciAqZ2V0X3RyYW5zcG9ydChzdHJ1Y3QgYmxrZGV2X2N4dCAqY3h0KQoreworCXN0cnVjdCBzeXNmc19jeHQgKnN5c2ZzID0gJmN4dC0+c3lzZnM7CisJY2hhciAqYXR0ciA9IE5VTEw7CisJY29uc3QgY2hhciAqdHJhbnMgPSBOVUxMOworCisJLyogU0NTSSAtIFNlcmlhbCBQZXJpcGhlcmFsIEludGVyZmFjZSAqLworCWlmIChzeXNmc19zY3NpX2hvc3RfaXMoc3lzZnMsICJzcGkiKSkKKwkJdHJhbnMgPSAic3BpIjsKKworCS8qIEZDL0ZDb0UgLSBGaWJyZSBDaGFubmVsIC8gRmlicmUgQ2hhbm5lbCBvdmVyIEV0aGVybmV0ICovCisJZWxzZSBpZiAoc3lzZnNfc2NzaV9ob3N0X2lzKHN5c2ZzLCAiZmMiKSkgeworCQlhdHRyID0gc3lzZnNfc2NzaV9ob3N0X3N0cmR1cF9hdHRyaWJ1dGUoc3lzZnMsICJmYyIsICJzeW1ib2xpY19uYW1lIik7CisJCWlmICghYXR0cikKKwkJCXJldHVybiBOVUxMOworCQl0cmFucyA9IHN0cnN0cihhdHRyLCAiIG92ZXIgIikgPyAiZmNvZSIgOiAiZmMiOworCQlmcmVlKGF0dHIpOworCX0KKworCS8qIFNBUyAtIFNlcmlhbCBBdHRhY2hlZCBTQ1NJICovCisJZWxzZSBpZiAoc3lzZnNfc2NzaV9ob3N0X2lzKHN5c2ZzLCAic2FzIikgfHwKKwkJIHN5c2ZzX3Njc2lfaGFzX2F0dHJpYnV0ZShzeXNmcywgInNhc19kZXZpY2UiKSkKKwkJdHJhbnMgPSAic2FzIjsKKworCisJLyogU0JQIC0gU2VyaWFsIEJ1cyBQcm90b2NvbCAoRmlyZVdpcmUpICovCisJZWxzZSBpZiAoc3lzZnNfc2NzaV9oYXNfYXR0cmlidXRlKHN5c2ZzLCAiaWVlZTEzOTRfaWQiKSkKKwkJdHJhbnMgPSAic2JwIjsKKworCS8qIGlTQ1NJICovCisJZWxzZSBpZiAoc3lzZnNfc2NzaV9ob3N0X2lzKHN5c2ZzLCAiaXNjc2kiKSkKKwkJdHJhbnMgPSJpc2NzaSI7CisKKwkvKiBVU0IgLSBVbml2ZXJzYWwgU2VyaWFsIEJ1cyAqLworCWVsc2UgaWYgKHN5c2ZzX3Njc2lfcGF0aF9jb250YWlucyhzeXNmcywgInVzYiIpKQorCQl0cmFucyA9ICJ1c2IiOworCisJLyogQVRBLCBTQVRBICovCisJZWxzZSBpZiAoc3lzZnNfc2NzaV9ob3N0X2lzKHN5c2ZzLCAic2NzaSIpKSB7CisJCWF0dHIgPSBzeXNmc19zY3NpX2hvc3Rfc3RyZHVwX2F0dHJpYnV0ZShzeXNmcywgInNjc2kiLCAicHJvY19uYW1lIik7CisJCWlmICghYXR0cikKKwkJCXJldHVybiBOVUxMOworCQlpZiAoIXN0cm5jbXAoYXR0ciwgImFoY2kiLCA0KSB8fCAhc3RybmNtcChhdHRyLCAic2F0YSIsIDQpKQorCQkJdHJhbnMgPSAic2F0YSI7CisJCWVsc2UgaWYgKHN0cnN0cihhdHRyLCAiYXRhIikpCisJCQl0cmFucyA9ICJhdGEiOworCQlmcmVlKGF0dHIpOworCisJfSBlbHNlIGlmIChzdHJuY21wKGN4dC0+bmFtZSwgIm52bWUiLCA0KSA9PSAwKQorCQl0cmFucyA9ICJudm1lIjsKKworCXJldHVybiB0cmFucyA/IHhzdHJkdXAodHJhbnMpIDogTlVMTDsKK30KKworc3RhdGljIGNoYXIgKmdldF9zdWJzeXN0ZW1zKHN0cnVjdCBibGtkZXZfY3h0ICpjeHQpCit7CisJY2hhciBwYXRoW1BBVEhfTUFYXTsKKwljaGFyICpzdWIsICpjaGFpbiwgKnJlcyA9IE5VTEw7CisJc2l6ZV90IGxlbiA9IDAsIGxhc3QgPSAwOworCisJY2hhaW4gPSBzeXNmc19nZXRfZGV2Y2hhaW4oJmN4dC0+c3lzZnMsIHBhdGgsIHNpemVvZihwYXRoKSk7CisJaWYgKCFjaGFpbikKKwkJcmV0dXJuIE5VTEw7CisKKwl3aGlsZSAoc3lzZnNfbmV4dF9zdWJzeXN0ZW0oJmN4dC0+c3lzZnMsIGNoYWluLCAmc3ViKSA9PSAwKSB7CisJCXNpemVfdCBzejsKKworCQkvKiBkb24ndCBjcmVhdGUgImJsb2NrOnNjc2k6c2NzaSIsIGJ1dCAiYmxvY2s6c2NzaSIgKi8KKwkJaWYgKGxlbiAmJiBzdHJjbXAocmVzICsgbGFzdCwgc3ViKSA9PSAwKSB7CisJCQlmcmVlKHN1Yik7CisJCQljb250aW51ZTsKKwkJfQorCisJCXN6ID0gc3RybGVuKHN1Yik7CisJCXJlcyA9IHhyZWFsbG9jKHJlcywgbGVuICsgc3ogKyAyKTsKKwkJaWYgKGxlbikKKwkJCXJlc1tsZW4rK10gPSAnOic7CisKKwkJbWVtY3B5KHJlcyArIGxlbiwgc3ViLCBzeiArIDEpOworCQlsYXN0ID0gbGVuOworCQlsZW4gKz0gc3o7CisJCWZyZWUoc3ViKTsKKwl9CisKKwlyZXR1cm4gcmVzOworfQorCisKKyNkZWZpbmUgaXNfcGFyc2FibGUoX2wpCShzY29sc190YWJsZV9pc19yYXcoKF9sKS0+dGFibGUpIHx8IFwKKwkJCSBzY29sc190YWJsZV9pc19leHBvcnQoKF9sKS0+dGFibGUpIHx8IFwKKwkJCSBzY29sc190YWJsZV9pc19qc29uKChfbCktPnRhYmxlKSkKKworc3RhdGljIGNoYXIgKm1rX25hbWUoY29uc3QgY2hhciAqbmFtZSkKK3sKKwljaGFyICpwOworCWlmICghbmFtZSkKKwkJcmV0dXJuIE5VTEw7CisJaWYgKGxzYmxrLT5wYXRocykKKwkJeGFzcHJpbnRmKCZwLCAiL2Rldi8lcyIsIG5hbWUpOworCWVsc2UKKwkJcCA9IHhzdHJkdXAobmFtZSk7CisJaWYgKHApCisJCXN5c2ZzX2Rldm5hbWVfc3lzX3RvX2RldihwKTsKKwlyZXR1cm4gcDsKK30KKworc3RhdGljIGNoYXIgKm1rX2RtX25hbWUoY29uc3QgY2hhciAqbmFtZSkKK3sKKwljaGFyICpwOworCWlmICghbmFtZSkKKwkJcmV0dXJuIE5VTEw7CisJaWYgKGxzYmxrLT5wYXRocykKKwkJeGFzcHJpbnRmKCZwLCAiL2Rldi9tYXBwZXIvJXMiLCBuYW1lKTsKKwllbHNlCisJCXAgPSB4c3RyZHVwKG5hbWUpOworCXJldHVybiBwOworfQorCisvKiBzdG9yZXMgZGF0YSB0byBzY29scyBjZWxsIHVzZXJkYXRhIChpbnZpc2libGUgYW5kIGluZGVwZW5kZW50IG9uIG91dHB1dCkKKyAqIHRvIG1ha2UgdGhlIG9yaWdpbmFsIHZhbHVlcyBhY2Nlc3NpYmxlIGZvciBzb3J0IGZ1bmN0aW9ucworICovCitzdGF0aWMgdm9pZCBzZXRfc29ydGRhdGFfdTY0KHN0cnVjdCBsaWJzY29sc19saW5lICpsbiwgaW50IGNvbCwgdWludDY0X3QgeCkKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2UgPSBzY29sc19saW5lX2dldF9jZWxsKGxuLCBjb2wpOworCXVpbnQ2NF90ICpkYXRhOworCisJaWYgKCFjZSkKKwkJcmV0dXJuOworCWRhdGEgPSB4bWFsbG9jKHNpemVvZih1aW50NjRfdCkpOworCSpkYXRhID0geDsKKwlzY29sc19jZWxsX3NldF91c2VyZGF0YShjZSwgZGF0YSk7Cit9CisKK3N0YXRpYyB2b2lkIHNldF9zb3J0ZGF0YV91NjRfZnJvbV9zdHJpbmcoc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLCBpbnQgY29sLCBjb25zdCBjaGFyICpzdHIpCit7CisJdWludDY0X3QgeDsKKworCWlmICghc3RyIHx8IHNzY2FuZihzdHIsICIlIlNDTnU2NCwgJngpICE9IDEpCisJCXJldHVybjsKKworCXNldF9zb3J0ZGF0YV91NjQobG4sIGNvbCwgeCk7Cit9CisKK3N0YXRpYyB2b2lkIHVucmVmX3NvcnRkYXRhKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJc3RydWN0IGxpYnNjb2xzX2l0ZXIgKml0cjsKKwlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG47CisKKwlpZiAoIXRiIHx8ICFsc2Jsay0+c29ydF9jb2wpCisJCXJldHVybjsKKwlpdHIgPSBzY29sc19uZXdfaXRlcihTQ09MU19JVEVSX0ZPUldBUkQpOworCWlmICghaXRyKQorCQlyZXR1cm47CisJd2hpbGUgKHNjb2xzX3RhYmxlX25leHRfbGluZSh0YiwgaXRyLCAmbG4pID09IDApIHsKKwkJc3RydWN0IGxpYnNjb2xzX2NlbGwgKmNlID0gc2NvbHNfbGluZV9nZXRfY29sdW1uX2NlbGwobG4sCisJCQkJCQkJCWxzYmxrLT5zb3J0X2NvbCk7CisJCXZvaWQgKmRhdGEgPSBzY29sc19jZWxsX2dldF91c2VyZGF0YShjZSk7CisJCWZyZWUoZGF0YSk7CisJfQorCisJc2NvbHNfZnJlZV9pdGVyKGl0cik7Cit9CisKK3N0YXRpYyB2b2lkIHNldF9zY29sc19kYXRhKHN0cnVjdCBibGtkZXZfY3h0ICpjeHQsIGludCBjb2wsIGludCBpZCwgc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuKQoreworCWludCBzb3J0ID0gMCwgc3RfcmMgPSAwOworCWNoYXIgKnN0ciA9IE5VTEw7CisKKwlpZiAoIWN4dC0+c3Quc3RfcmRldiAmJiAoaWQgPT0gQ09MX09XTkVSIHx8IGlkID09IENPTF9HUk9VUCB8fAorCQkJCSBpZCA9PSBDT0xfTU9ERSkpCisJCXN0X3JjID0gc3RhdChjeHQtPmZpbGVuYW1lLCAmY3h0LT5zdCk7CisKKwlpZiAobHNibGstPnNvcnRfaWQgPT0gaWQpCisJCXNvcnQgPSAxOworCisJc3dpdGNoKGlkKSB7CisJY2FzZSBDT0xfTkFNRToKKwkJc3RyID0gY3h0LT5kbV9uYW1lID8gbWtfZG1fbmFtZShjeHQtPmRtX25hbWUpIDoJbWtfbmFtZShjeHQtPm5hbWUpOworCQlicmVhazsKKwljYXNlIENPTF9LTkFNRToKKwkJc3RyID0gbWtfbmFtZShjeHQtPm5hbWUpOworCQlicmVhazsKKwljYXNlIENPTF9QS05BTUU6CisJCWlmIChjeHQtPnBhcmVudCkKKwkJCXN0ciA9IG1rX25hbWUoY3h0LT5wYXJlbnQtPm5hbWUpOworCQlicmVhazsKKwljYXNlIENPTF9PV05FUjoKKwl7CisJCXN0cnVjdCBwYXNzd2QgKnB3ID0gc3RfcmMgPyBOVUxMIDogZ2V0cHd1aWQoY3h0LT5zdC5zdF91aWQpOworCQlpZiAocHcpCisJCQlzdHIgPSB4c3RyZHVwKHB3LT5wd19uYW1lKTsKKwkJYnJlYWs7CisJfQorCWNhc2UgQ09MX0dST1VQOgorCXsKKwkJc3RydWN0IGdyb3VwICpnciA9IHN0X3JjID8gTlVMTCA6IGdldGdyZ2lkKGN4dC0+c3Quc3RfZ2lkKTsKKwkJaWYgKGdyKQorCQkJc3RyID0geHN0cmR1cChnci0+Z3JfbmFtZSk7CisJCWJyZWFrOworCX0KKwljYXNlIENPTF9NT0RFOgorCXsKKwkJY2hhciBtZFsxMV07CisKKwkJaWYgKCFzdF9yYykgeworCQkJeHN0cm1vZGUoY3h0LT5zdC5zdF9tb2RlLCBtZCk7CisJCQlzdHIgPSB4c3RyZHVwKG1kKTsKKwkJfQorCQlicmVhazsKKwl9CisJY2FzZSBDT0xfTUFKTUlOOgorCQlpZiAoaXNfcGFyc2FibGUobHNibGspKQorCQkJeGFzcHJpbnRmKCZzdHIsICIldToldSIsIGN4dC0+bWFqLCBjeHQtPm1pbik7CisJCWVsc2UKKwkJCXhhc3ByaW50Zigmc3RyLCAiJTN1OiUtM3UiLCBjeHQtPm1haiwgY3h0LT5taW4pOworCQlpZiAoc29ydCkKKwkJCXNldF9zb3J0ZGF0YV91NjQobG4sIGNvbCwgbWFrZWRldihjeHQtPm1haiwgY3h0LT5taW4pKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfRlNUWVBFOgorCQlwcm9iZV9kZXZpY2UoY3h0KTsKKwkJaWYgKGN4dC0+ZnN0eXBlKQorCQkJc3RyID0geHN0cmR1cChjeHQtPmZzdHlwZSk7CisJCWJyZWFrOworCWNhc2UgQ09MX1RBUkdFVDoKKwkJc3RyID0gZ2V0X2RldmljZV9tb3VudHBvaW50KGN4dCk7CisJCWJyZWFrOworCWNhc2UgQ09MX0xBQkVMOgorCQlwcm9iZV9kZXZpY2UoY3h0KTsKKwkJaWYgKGN4dC0+bGFiZWwpCisJCQlzdHIgPSB4c3RyZHVwKGN4dC0+bGFiZWwpOworCQlicmVhazsKKwljYXNlIENPTF9VVUlEOgorCQlwcm9iZV9kZXZpY2UoY3h0KTsKKwkJaWYgKGN4dC0+dXVpZCkKKwkJCXN0ciA9IHhzdHJkdXAoY3h0LT51dWlkKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfUEFSVFRZUEU6CisJCXByb2JlX2RldmljZShjeHQpOworCQlpZiAoY3h0LT5wYXJ0dHlwZSkKKwkJCXN0ciA9IHhzdHJkdXAoY3h0LT5wYXJ0dHlwZSk7CisJCWJyZWFrOworCWNhc2UgQ09MX1BBUlRMQUJFTDoKKwkJcHJvYmVfZGV2aWNlKGN4dCk7CisJCWlmIChjeHQtPnBhcnRsYWJlbCkKKwkJCXN0ciA9IHhzdHJkdXAoY3h0LT5wYXJ0bGFiZWwpOworCQlicmVhazsKKwljYXNlIENPTF9QQVJUVVVJRDoKKwkJcHJvYmVfZGV2aWNlKGN4dCk7CisJCWlmIChjeHQtPnBhcnR1dWlkKQorCQkJc3RyID0geHN0cmR1cChjeHQtPnBhcnR1dWlkKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfUEFSVEZMQUdTOgorCQlwcm9iZV9kZXZpY2UoY3h0KTsKKwkJaWYgKGN4dC0+cGFydGZsYWdzKQorCQkJc3RyID0geHN0cmR1cChjeHQtPnBhcnRmbGFncyk7CisJCWJyZWFrOworCWNhc2UgQ09MX1dXTjoKKwkJZ2V0X3VkZXZfcHJvcGVydGllcyhjeHQpOworCQlpZiAoY3h0LT53d24pCisJCQlzdHIgPSB4c3RyZHVwKGN4dC0+d3duKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfUkE6CisJCXN0ciA9IHN5c2ZzX3N0cmR1cCgmY3h0LT5zeXNmcywgInF1ZXVlL3JlYWRfYWhlYWRfa2IiKTsKKwkJaWYgKHNvcnQpCisJCQlzZXRfc29ydGRhdGFfdTY0X2Zyb21fc3RyaW5nKGxuLCBjb2wsIHN0cik7CisJCWJyZWFrOworCWNhc2UgQ09MX1JPOgorCQlzdHIgPSB4c3RyZHVwKGlzX3JlYWRvbmx5X2RldmljZShjeHQpID8gIjEiIDogIjAiKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfUk06CisJCXN0ciA9IHN5c2ZzX3N0cmR1cCgmY3h0LT5zeXNmcywgInJlbW92YWJsZSIpOworCQlpZiAoIXN0ciAmJiBjeHQtPnN5c2ZzLnBhcmVudCkKKwkJCXN0ciA9IHN5c2ZzX3N0cmR1cChjeHQtPnN5c2ZzLnBhcmVudCwgInJlbW92YWJsZSIpOworCQlicmVhazsKKwljYXNlIENPTF9IT1RQTFVHOgorCQlzdHIgPSBzeXNmc19pc19ob3RwbHVnZ2FibGUoJmN4dC0+c3lzZnMpID8geHN0cmR1cCgiMSIpIDogeHN0cmR1cCgiMCIpOworCQlicmVhazsKKwljYXNlIENPTF9ST1RBOgorCQlzdHIgPSBzeXNmc19zdHJkdXAoJmN4dC0+c3lzZnMsICJxdWV1ZS9yb3RhdGlvbmFsIik7CisJCWJyZWFrOworCWNhc2UgQ09MX1JBTkQ6CisJCXN0ciA9IHN5c2ZzX3N0cmR1cCgmY3h0LT5zeXNmcywgInF1ZXVlL2FkZF9yYW5kb20iKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfTU9ERUw6CisJCWlmICghY3h0LT5wYXJ0aXRpb24gJiYgY3h0LT5uc2xhdmVzID09IDApCisJCQlzdHIgPSBzeXNmc19zdHJkdXAoJmN4dC0+c3lzZnMsICJkZXZpY2UvbW9kZWwiKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfU0VSSUFMOgorCQlpZiAoIWN4dC0+cGFydGl0aW9uICYmIGN4dC0+bnNsYXZlcyA9PSAwKSB7CisJCQlnZXRfdWRldl9wcm9wZXJ0aWVzKGN4dCk7CisJCQlpZiAoY3h0LT5zZXJpYWwpCisJCQkJc3RyID0geHN0cmR1cChjeHQtPnNlcmlhbCk7CisJCQllbHNlCisJCQkJc3RyID0gc3lzZnNfc3RyZHVwKCZjeHQtPnN5c2ZzLCAiZGV2aWNlL3NlcmlhbCIpOworCQl9CisJCWJyZWFrOworCWNhc2UgQ09MX1JFVjoKKwkJaWYgKCFjeHQtPnBhcnRpdGlvbiAmJiBjeHQtPm5zbGF2ZXMgPT0gMCkKKwkJCXN0ciA9IHN5c2ZzX3N0cmR1cCgmY3h0LT5zeXNmcywgImRldmljZS9yZXYiKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfVkVORE9SOgorCQlpZiAoIWN4dC0+cGFydGl0aW9uICYmIGN4dC0+bnNsYXZlcyA9PSAwKQorCQkJc3RyID0gc3lzZnNfc3RyZHVwKCZjeHQtPnN5c2ZzLCAiZGV2aWNlL3ZlbmRvciIpOworCQlicmVhazsKKwljYXNlIENPTF9TSVpFOgorCQlpZiAoIWN4dC0+c2l6ZSkKKwkJCWJyZWFrOworCQlpZiAobHNibGstPmJ5dGVzKQorCQkJeGFzcHJpbnRmKCZzdHIsICIlanUiLCBjeHQtPnNpemUpOworCQllbHNlCisJCQlzdHIgPSBzaXplX3RvX2h1bWFuX3N0cmluZyhTSVpFX1NVRkZJWF8xTEVUVEVSLCBjeHQtPnNpemUpOworCQlpZiAoc29ydCkKKwkJCXNldF9zb3J0ZGF0YV91NjQobG4sIGNvbCwgY3h0LT5zaXplKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfU1RBVEU6CisJCWlmICghY3h0LT5wYXJ0aXRpb24gJiYgIWN4dC0+ZG1fbmFtZSkKKwkJCXN0ciA9IHN5c2ZzX3N0cmR1cCgmY3h0LT5zeXNmcywgImRldmljZS9zdGF0ZSIpOworCQllbHNlIGlmIChjeHQtPmRtX25hbWUpIHsKKwkJCWludCB4ID0gMDsKKwkJCWlmIChzeXNmc19yZWFkX2ludCgmY3h0LT5zeXNmcywgImRtL3N1c3BlbmRlZCIsICZ4KSA9PSAwKQorCQkJCXN0ciA9IHhzdHJkdXAoeCA/ICJzdXNwZW5kZWQiIDogInJ1bm5pbmciKTsKKwkJfQorCQlicmVhazsKKwljYXNlIENPTF9BTElPRkY6CisJCXN0ciA9IHN5c2ZzX3N0cmR1cCgmY3h0LT5zeXNmcywgImFsaWdubWVudF9vZmZzZXQiKTsKKwkJaWYgKHNvcnQpCisJCQlzZXRfc29ydGRhdGFfdTY0X2Zyb21fc3RyaW5nKGxuLCBjb2wsIHN0cik7CisJCWJyZWFrOworCWNhc2UgQ09MX01JTklPOgorCQlzdHIgPSBzeXNmc19zdHJkdXAoJmN4dC0+c3lzZnMsICJxdWV1ZS9taW5pbXVtX2lvX3NpemUiKTsKKwkJaWYgKHNvcnQpCisJCQlzZXRfc29ydGRhdGFfdTY0X2Zyb21fc3RyaW5nKGxuLCBjb2wsIHN0cik7CisJCWJyZWFrOworCWNhc2UgQ09MX09QVElPOgorCQlzdHIgPSBzeXNmc19zdHJkdXAoJmN4dC0+c3lzZnMsICJxdWV1ZS9vcHRpbWFsX2lvX3NpemUiKTsKKwkJaWYgKHNvcnQpCisJCQlzZXRfc29ydGRhdGFfdTY0X2Zyb21fc3RyaW5nKGxuLCBjb2wsIHN0cik7CisJCWJyZWFrOworCWNhc2UgQ09MX1BIWVNFQzoKKwkJc3RyID0gc3lzZnNfc3RyZHVwKCZjeHQtPnN5c2ZzLCAicXVldWUvcGh5c2ljYWxfYmxvY2tfc2l6ZSIpOworCQlpZiAoc29ydCkKKwkJCXNldF9zb3J0ZGF0YV91NjRfZnJvbV9zdHJpbmcobG4sIGNvbCwgc3RyKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfTE9HU0VDOgorCQlzdHIgPSBzeXNmc19zdHJkdXAoJmN4dC0+c3lzZnMsICJxdWV1ZS9sb2dpY2FsX2Jsb2NrX3NpemUiKTsKKwkJaWYgKHNvcnQpCisJCQlzZXRfc29ydGRhdGFfdTY0X2Zyb21fc3RyaW5nKGxuLCBjb2wsIHN0cik7CisJCWJyZWFrOworCWNhc2UgQ09MX1NDSEVEOgorCQlzdHIgPSBnZXRfc2NoZWR1bGVyKGN4dCk7CisJCWJyZWFrOworCWNhc2UgQ09MX1JRX1NJWkU6CisJCXN0ciA9IHN5c2ZzX3N0cmR1cCgmY3h0LT5zeXNmcywgInF1ZXVlL25yX3JlcXVlc3RzIik7CisJCWlmIChzb3J0KQorCQkJc2V0X3NvcnRkYXRhX3U2NF9mcm9tX3N0cmluZyhsbiwgY29sLCBzdHIpOworCQlicmVhazsKKwljYXNlIENPTF9UWVBFOgorCQlzdHIgPSBnZXRfdHlwZShjeHQpOworCQlicmVhazsKKwljYXNlIENPTF9IQ1RMOgorCXsKKwkJaW50IGgsIGMsIHQsIGw7CisJCWlmIChzeXNmc19zY3NpX2dldF9oY3RsKCZjeHQtPnN5c2ZzLCAmaCwgJmMsICZ0LCAmbCkgPT0gMCkKKwkJCXhhc3ByaW50Zigmc3RyLCAiJWQ6JWQ6JWQ6JWQiLCBoLCBjLCB0LCBsKTsKKwkJYnJlYWs7CisJfQorCWNhc2UgQ09MX1RSQU5TUE9SVDoKKwkJc3RyID0gZ2V0X3RyYW5zcG9ydChjeHQpOworCQlicmVhazsKKwljYXNlIENPTF9TVUJTWVM6CisJCXN0ciA9IGdldF9zdWJzeXN0ZW1zKGN4dCk7CisJCWJyZWFrOworCWNhc2UgQ09MX0RBTElHTjoKKwkJaWYgKGN4dC0+ZGlzY2FyZCkKKwkJCXN0ciA9IHN5c2ZzX3N0cmR1cCgmY3h0LT5zeXNmcywgImRpc2NhcmRfYWxpZ25tZW50Iik7CisJCWlmICghc3RyKQorCQkJc3RyID0geHN0cmR1cCgiMCIpOworCQlpZiAoc29ydCkKKwkJCXNldF9zb3J0ZGF0YV91NjRfZnJvbV9zdHJpbmcobG4sIGNvbCwgc3RyKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfREdSQU46CisJCWlmIChsc2Jsay0+Ynl0ZXMpIHsKKwkJCXN0ciA9IHN5c2ZzX3N0cmR1cCgmY3h0LT5zeXNmcywgInF1ZXVlL2Rpc2NhcmRfZ3JhbnVsYXJpdHkiKTsKKwkJCWlmIChzb3J0KQorCQkJCXNldF9zb3J0ZGF0YV91NjRfZnJvbV9zdHJpbmcobG4sIGNvbCwgc3RyKTsKKwkJfSBlbHNlIHsKKwkJCXVpbnQ2NF90IHg7CisJCQlpZiAoc3lzZnNfcmVhZF91NjQoJmN4dC0+c3lzZnMsCisJCQkJCSAgICJxdWV1ZS9kaXNjYXJkX2dyYW51bGFyaXR5IiwgJngpID09IDApIHsKKwkJCQlzdHIgPSBzaXplX3RvX2h1bWFuX3N0cmluZyhTSVpFX1NVRkZJWF8xTEVUVEVSLCB4KTsKKwkJCQlpZiAoc29ydCkKKwkJCQkJc2V0X3NvcnRkYXRhX3U2NChsbiwgY29sLCB4KTsKKwkJCX0KKwkJfQorCQlicmVhazsKKwljYXNlIENPTF9ETUFYOgorCQlpZiAobHNibGstPmJ5dGVzKSB7CisJCQlzdHIgPSBzeXNmc19zdHJkdXAoJmN4dC0+c3lzZnMsICJxdWV1ZS9kaXNjYXJkX21heF9ieXRlcyIpOworCQkJaWYgKHNvcnQpCisJCQkJc2V0X3NvcnRkYXRhX3U2NF9mcm9tX3N0cmluZyhsbiwgY29sLCBzdHIpOworCQl9IGVsc2UgeworCQkJdWludDY0X3QgeDsKKwkJCWlmIChzeXNmc19yZWFkX3U2NCgmY3h0LT5zeXNmcywKKwkJCQkJICAgInF1ZXVlL2Rpc2NhcmRfbWF4X2J5dGVzIiwgJngpID09IDApIHsKKwkJCQlzdHIgPSBzaXplX3RvX2h1bWFuX3N0cmluZyhTSVpFX1NVRkZJWF8xTEVUVEVSLCB4KTsKKwkJCQlpZiAoc29ydCkKKwkJCQkJc2V0X3NvcnRkYXRhX3U2NChsbiwgY29sLCB4KTsKKwkJCX0KKwkJfQorCQlicmVhazsKKwljYXNlIENPTF9EWkVSTzoKKwkJaWYgKGN4dC0+ZGlzY2FyZCkKKwkJCXN0ciA9IHN5c2ZzX3N0cmR1cCgmY3h0LT5zeXNmcywgInF1ZXVlL2Rpc2NhcmRfemVyb2VzX2RhdGEiKTsKKwkJaWYgKCFzdHIpCisJCQlzdHIgPSB4c3RyZHVwKCIwIik7CisJCWJyZWFrOworCWNhc2UgQ09MX1dTQU1FOgorCQlpZiAobHNibGstPmJ5dGVzKSB7CisJCQlzdHIgPSBzeXNmc19zdHJkdXAoJmN4dC0+c3lzZnMsICJxdWV1ZS93cml0ZV9zYW1lX21heF9ieXRlcyIpOworCQkJaWYgKHNvcnQpCisJCQkJc2V0X3NvcnRkYXRhX3U2NF9mcm9tX3N0cmluZyhsbiwgY29sLCBzdHIpOworCQl9IGVsc2UgeworCQkJdWludDY0X3QgeDsKKworCQkJaWYgKHN5c2ZzX3JlYWRfdTY0KCZjeHQtPnN5c2ZzLAorCQkJCQkgICAicXVldWUvd3JpdGVfc2FtZV9tYXhfYnl0ZXMiLCAmeCkgPT0gMCkgeworCQkJCXN0ciA9IHNpemVfdG9faHVtYW5fc3RyaW5nKFNJWkVfU1VGRklYXzFMRVRURVIsIHgpOworCQkJCWlmIChzb3J0KQorCQkJCQlzZXRfc29ydGRhdGFfdTY0KGxuLCBjb2wsIHgpOworCQkJfQorCQl9CisJCWlmICghc3RyKQorCQkJc3RyID0geHN0cmR1cCgiMCIpOworCQlicmVhazsKKwl9OworCisJaWYgKHN0cikKKwkJc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBjb2wsIHN0cik7Cit9CisKK3N0YXRpYyB2b2lkIGZpbGxfdGFibGVfbGluZShzdHJ1Y3QgYmxrZGV2X2N4dCAqY3h0LCBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqc2NvbHNfcGFyZW50KQoreworCXNpemVfdCBpOworCisJY3h0LT5zY29sc19saW5lID0gc2NvbHNfdGFibGVfbmV3X2xpbmUobHNibGstPnRhYmxlLCBzY29sc19wYXJlbnQpOworCWlmICghY3h0LT5zY29sc19saW5lKQorCQlyZXR1cm47CisKKwlmb3IgKGkgPSAwOyBpIDwgbmNvbHVtbnM7IGkrKykKKwkJc2V0X3Njb2xzX2RhdGEoY3h0LCBpLCBnZXRfY29sdW1uX2lkKGkpLCBjeHQtPnNjb2xzX2xpbmUpOworfQorCitzdGF0aWMgaW50IHNldF9jeHQoc3RydWN0IGJsa2Rldl9jeHQgKmN4dCwKKwkJICAgIHN0cnVjdCBibGtkZXZfY3h0ICpwYXJlbnQsCisJCSAgICBzdHJ1Y3QgYmxrZGV2X2N4dCAqd2hvbGVkaXNrLAorCQkgICAgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlkZXZfdCBkZXZubzsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInNldHRpbmcgY29udGV4dCBmb3IgJXMgW3BhcmVudD0lcCwgd2hvbGVkaXNrPSVwXSIsCisJCQkJbmFtZSwgcGFyZW50LCB3aG9sZWRpc2spKTsKKworCWN4dC0+cGFyZW50ID0gcGFyZW50OworCWN4dC0+bmFtZSA9IHhzdHJkdXAobmFtZSk7CisJY3h0LT5wYXJ0aXRpb24gPSB3aG9sZWRpc2sgIT0gTlVMTDsKKworCWN4dC0+ZmlsZW5hbWUgPSBnZXRfZGV2aWNlX3BhdGgoY3h0KTsKKwlpZiAoIWN4dC0+ZmlsZW5hbWUpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiJXM6IGZhaWxlZCB0byBnZXQgZGV2aWNlIHBhdGgiLCBjeHQtPm5hbWUpKTsKKwkJcmV0dXJuIC0xOworCX0KKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICIlczogZmlsZW5hbWU9JXMiLCBjeHQtPm5hbWUsIGN4dC0+ZmlsZW5hbWUpKTsKKworCWRldm5vID0gc3lzZnNfZGV2bmFtZV90b19kZXZubyhjeHQtPm5hbWUsIHdob2xlZGlzayA/IHdob2xlZGlzay0+bmFtZSA6IE5VTEwpOworCisJaWYgKCFkZXZubykgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICIlczogdW5rbm93biBkZXZpY2UgbmFtZSIsIGN4dC0+bmFtZSkpOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKGxzYmxrLT5pbnZlcnNlKSB7CisJCWlmIChzeXNmc19pbml0KCZjeHQtPnN5c2ZzLCBkZXZubywgd2hvbGVkaXNrID8gJndob2xlZGlzay0+c3lzZnMgOiBOVUxMKSkgeworCQkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIHN5c2ZzIGhhbmRsZXIiLCBjeHQtPm5hbWUpKTsKKwkJCXJldHVybiAtMTsKKwkJfQorCQlpZiAocGFyZW50KQorCQkJcGFyZW50LT5zeXNmcy5wYXJlbnQgPSAmY3h0LT5zeXNmczsKKwl9IGVsc2UgeworCQlpZiAoc3lzZnNfaW5pdCgmY3h0LT5zeXNmcywgZGV2bm8sIHBhcmVudCA/ICZwYXJlbnQtPnN5c2ZzIDogTlVMTCkpIHsKKwkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzeXNmcyBoYW5kbGVyIiwgY3h0LT5uYW1lKSk7CisJCQlyZXR1cm4gLTE7CisJCX0KKwl9CisKKwljeHQtPm1haiA9IG1ham9yKGRldm5vKTsKKwljeHQtPm1pbiA9IG1pbm9yKGRldm5vKTsKKwljeHQtPnNpemUgPSAwOworCisJaWYgKHN5c2ZzX3JlYWRfdTY0KCZjeHQtPnN5c2ZzLCAic2l6ZSIsICZjeHQtPnNpemUpID09IDApCS8qIGluIHNlY3RvcnMgKi8KKwkJY3h0LT5zaXplIDw8PSA5OwkJCQkJLyogaW4gYnl0ZXMgKi8KKworCWlmIChzeXNmc19yZWFkX2ludCgmY3h0LT5zeXNmcywKKwkJCSAgICJxdWV1ZS9kaXNjYXJkX2dyYW51bGFyaXR5IiwgJmN4dC0+ZGlzY2FyZCkgIT0gMCkKKwkJY3h0LT5kaXNjYXJkID0gMDsKKworCS8qIElnbm9yZSBkZXZpY2VzIG9mIHplcm8gc2l6ZSAqLworCWlmICghbHNibGstPmFsbF9kZXZpY2VzICYmIGN4dC0+c2l6ZSA9PSAwKSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInplcm8gc2l6ZSBkZXZpY2UgLS0gaWdub3JlIikpOworCQlyZXR1cm4gLTE7CisJfQorCWlmIChpc19kbShjeHQtPm5hbWUpKSB7CisJCWN4dC0+ZG1fbmFtZSA9IHN5c2ZzX3N0cmR1cCgmY3h0LT5zeXNmcywgImRtL25hbWUiKTsKKwkJaWYgKCFjeHQtPmRtX25hbWUpIHsKKwkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIiVzOiBmYWlsZWQgdG8gZ2V0IGRtIG5hbWUiLCBjeHQtPm5hbWUpKTsKKwkJCXJldHVybiAtMTsKKwkJfQorCX0KKworCWN4dC0+bnBhcnRpdGlvbnMgPSBzeXNmc19jb3VudF9wYXJ0aXRpb25zKCZjeHQtPnN5c2ZzLCBjeHQtPm5hbWUpOworCWN4dC0+bmhvbGRlcnMgPSBzeXNmc19jb3VudF9kaXJlbnRzKCZjeHQtPnN5c2ZzLCAiaG9sZGVycyIpOworCWN4dC0+bnNsYXZlcyA9IHN5c2ZzX2NvdW50X2RpcmVudHMoJmN4dC0+c3lzZnMsICJzbGF2ZXMiKTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIiVzOiBucGFydGl0aW9ucz0lZCwgbmhvbGRlcnM9JWQsIG5zbGF2ZXM9JWQiLAorCQkJY3h0LT5uYW1lLCBjeHQtPm5wYXJ0aXRpb25zLCBjeHQtPm5ob2xkZXJzLCBjeHQtPm5zbGF2ZXMpKTsKKworCS8qIGlnbm9yZSBub24tU0NTSSBkZXZpY2VzICovCisJaWYgKGxzYmxrLT5zY3NpICYmIHN5c2ZzX3Njc2lfZ2V0X2hjdGwoJmN4dC0+c3lzZnMsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwpKSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIm5vbi1zY3NpIGRldmljZSAtLSBpZ25vcmUiKSk7CisJCXJldHVybiAtMTsKKwl9CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICIlczogY29udGV4dCBzdWNjZXNzZnVsbHkgaW5pdGlhbGl6ZWQiLCBjeHQtPm5hbWUpKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwcm9jZXNzX2Jsa2RldihzdHJ1Y3QgYmxrZGV2X2N4dCAqY3h0LCBzdHJ1Y3QgYmxrZGV2X2N4dCAqcGFyZW50LAorCQkJICBpbnQgZG9fcGFydGl0aW9ucywgY29uc3QgY2hhciAqcGFydF9uYW1lKTsKKworLyoKKyAqIExpc3QgZGV2aWNlIHBhcnRpdGlvbnMgaWYgYW55LgorICovCitzdGF0aWMgaW50IGxpc3RfcGFydGl0aW9ucyhzdHJ1Y3QgYmxrZGV2X2N4dCAqd2hvbGVkaXNrX2N4dCwgc3RydWN0IGJsa2Rldl9jeHQgKnBhcmVudF9jeHQsCisJCQkgICBjb25zdCBjaGFyICpwYXJ0X25hbWUpCit7CisJRElSICpkaXI7CisJc3RydWN0IGRpcmVudCAqZDsKKwlzdHJ1Y3QgYmxrZGV2X2N4dCBwYXJ0X2N4dCA9IHsgMCB9OworCWludCByID0gLTE7CisKKwlhc3NlcnQod2hvbGVkaXNrX2N4dCk7CisKKwkvKgorCSAqIERvIG5vdCBwcm9jZXNzIGZ1cnRoZXIgaWYgdGhlcmUgYXJlIG5vIHBhcnRpdGlvbnMgZm9yCisJICogdGhpcyBkZXZpY2Ugb3IgdGhlIGRldmljZSBpdHNlbGYgaXMgYSBwYXJ0aXRpb24uCisJICovCisJaWYgKCF3aG9sZWRpc2tfY3h0LT5ucGFydGl0aW9ucyB8fCB3aG9sZWRpc2tfY3h0LT5wYXJ0aXRpb24pCisJCXJldHVybiAtMTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKHdob2xlZGlza19jeHQsICJwcm9iZSB3aG9sZS1kaXNrIGZvciBwYXJ0aXRpb25zIikpOworCisJZGlyID0gc3lzZnNfb3BlbmRpcigmd2hvbGVkaXNrX2N4dC0+c3lzZnMsIE5VTEwpOworCWlmICghZGlyKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gb3BlbiBkZXZpY2UgZGlyZWN0b3J5IGluIHN5c2ZzIikpOworCisJd2hpbGUgKChkID0geHJlYWRkaXIoZGlyKSkpIHsKKwkJLyogUHJvY2VzcyBwYXJ0aWN1bGFyIHBhcnRpdGlvbiBvbmx5PyAqLworCQlpZiAocGFydF9uYW1lICYmIHN0cmNtcChwYXJ0X25hbWUsIGQtPmRfbmFtZSkpCisJCQljb250aW51ZTsKKworCQlpZiAoIShzeXNmc19pc19wYXJ0aXRpb25fZGlyZW50KGRpciwgZCwgd2hvbGVkaXNrX2N4dC0+bmFtZSkpKQorCQkJY29udGludWU7CisKKwkJREJHKENYVCwgdWxfZGVidWdvYmood2hvbGVkaXNrX2N4dCwgIiAgY2hlY2tpbmcgJXMiLCBkLT5kX25hbWUpKTsKKworCQlpZiAobHNibGstPmludmVyc2UpIHsKKwkJCS8qCisJCQkgKiA8cGFyZW50X2N4dD4KKwkJCSAqIGAtPHBhcnRfY3h0PgorCQkJICogICBgLTx3aG9sZWRpc2tfY3h0PgorCQkJICogICAgYC0uLi4KKwkJCSAqLworCQkJaWYgKHNldF9jeHQoJnBhcnRfY3h0LCBwYXJlbnRfY3h0LCB3aG9sZWRpc2tfY3h0LCBkLT5kX25hbWUpKQorCQkJCWdvdG8gbmV4dDsKKworCQkJaWYgKCFwYXJlbnRfY3h0ICYmIHBhcnRfY3h0Lm5ob2xkZXJzKQorCQkJCWdvdG8gbmV4dDsKKworCQkJd2hvbGVkaXNrX2N4dC0+cGFyZW50ID0gJnBhcnRfY3h0OworCQkJZmlsbF90YWJsZV9saW5lKCZwYXJ0X2N4dCwgcGFyZW50X2N4dCA/IHBhcmVudF9jeHQtPnNjb2xzX2xpbmUgOiBOVUxMKTsKKwkJCWlmICghbHNibGstPm5vZGVwcykKKwkJCQlwcm9jZXNzX2Jsa2Rldih3aG9sZWRpc2tfY3h0LCAmcGFydF9jeHQsIDAsIE5VTEwpOworCQl9IGVsc2UgeworCQkJLyoKKwkJCSAqIDxwYXJlbnRfY3h0PgorCQkJICogYC08d2hvbGVkaXNrX2N4dD4KKwkJCSAqICAgYC08cGFydF9jeHQ+CisJCQkgKiAgICBgLS4uLgorCQkJICovCisJCQlpbnQgcHMgPSBzZXRfY3h0KCZwYXJ0X2N4dCwgd2hvbGVkaXNrX2N4dCwgd2hvbGVkaXNrX2N4dCwgZC0+ZF9uYW1lKTsKKworCQkJLyogUHJpbnQgd2hvbGUgZGlzayBvbmx5IG9uY2UgKi8KKwkJCWlmIChyKQorCQkJCWZpbGxfdGFibGVfbGluZSh3aG9sZWRpc2tfY3h0LCBwYXJlbnRfY3h0ID8gcGFyZW50X2N4dC0+c2NvbHNfbGluZSA6IE5VTEwpOworCQkJaWYgKHBzID09IDAgJiYgIWxzYmxrLT5ub2RlcHMpCisJCQkJcHJvY2Vzc19ibGtkZXYoJnBhcnRfY3h0LCB3aG9sZWRpc2tfY3h0LCAwLCBOVUxMKTsKKwkJfQorCW5leHQ6CisJCXJlc2V0X2Jsa2Rldl9jeHQoJnBhcnRfY3h0KTsKKwkJciA9IDA7CisJfQorCisJREJHKENYVCwgdWxfZGVidWdvYmood2hvbGVkaXNrX2N4dCwgInByb2JlIHdob2xlLWRpc2sgZm9yIHBhcnRpdGlvbnMgLS0gZG9uZSIpKTsKKwljbG9zZWRpcihkaXIpOworCXJldHVybiByOworfQorCitzdGF0aWMgaW50IGdldF93aG9sZWRpc2tfZnJvbV9wYXJ0aXRpb25fZGlyZW50KERJUiAqZGlyLAorCQkJCXN0cnVjdCBkaXJlbnQgKmQsIHN0cnVjdCBibGtkZXZfY3h0ICpjeHQpCit7CisJY2hhciBwYXRoW1BBVEhfTUFYXTsKKwljaGFyICpwOworCWludCBsZW47CisKKwlpZiAoKGxlbiA9IHJlYWRsaW5rYXQoZGlyZmQoZGlyKSwgZC0+ZF9uYW1lLCBwYXRoLCBzaXplb2YocGF0aCkgLSAxKSkgPCAwKQorCQlyZXR1cm4gMDsKKworCXBhdGhbbGVuXSA9ICdcMCc7CisKKwkvKiBUaGUgcGF0aCBlbmRzIHdpdGggIi4uLi88ZGV2aWNlPi88cGFydGl0aW9uPiIgKi8KKwlwID0gc3RycmNocihwYXRoLCAnLycpOworCWlmICghcCkKKwkJcmV0dXJuIDA7CisJKnAgPSAnXDAnOworCisJcCA9IHN0cnJjaHIocGF0aCwgJy8nKTsKKwlpZiAoIXApCisJCXJldHVybiAwOworCXArKzsKKworCXJldHVybiBzZXRfY3h0KGN4dCwgTlVMTCwgTlVMTCwgcCk7Cit9CisKKy8qCisgKiBMaXN0IGRldmljZSBkZXBlbmRlbmNpZXM6IHBhcnRpdGlvbnMsIGhvbGRlcnMgKGludmVyc2UgPSAwKSBvciBzbGF2ZXMgKGludmVyc2UgPSAxKS4KKyAqLworc3RhdGljIGludCBsaXN0X2RlcHMoc3RydWN0IGJsa2Rldl9jeHQgKmN4dCkKK3sKKwlESVIgKmRpcjsKKwlzdHJ1Y3QgZGlyZW50ICpkOworCXN0cnVjdCBibGtkZXZfY3h0IGRlcCA9IHsgMCB9OworCWNvbnN0IGNoYXIgKmRlcG5hbWU7CisKKwlhc3NlcnQoY3h0KTsKKworCWlmIChsc2Jsay0+bm9kZXBzKQorCQlyZXR1cm4gMDsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIiVzOiBsaXN0IGRlcGVuZGVuY2llcyIsIGN4dC0+bmFtZSkpOworCisJaWYgKCEobHNibGstPmludmVyc2UgPyBjeHQtPm5zbGF2ZXMgOiBjeHQtPm5ob2xkZXJzKSkKKwkJcmV0dXJuIDA7CisKKwlkZXBuYW1lID0gbHNibGstPmludmVyc2UgPyAic2xhdmVzIiA6ICJob2xkZXJzIjsKKwlkaXIgPSBzeXNmc19vcGVuZGlyKCZjeHQtPnN5c2ZzLCBkZXBuYW1lKTsKKwlpZiAoIWRpcikKKwkJcmV0dXJuIDA7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICIlczogY2hlY2tpbmcgZm9yICclcycgZGVwZW5kZW5jZSIsIGN4dC0+bmFtZSwgZGVwbmFtZSkpOworCisJd2hpbGUgKChkID0geHJlYWRkaXIoZGlyKSkpIHsKKwkJLyogSXMgdGhlIGRlcGVuZGVuY3kgYSBwYXJ0aXRpb24/ICovCisJCWlmIChzeXNmc19pc19wYXJ0aXRpb25fZGlyZW50KGRpciwgZCwgTlVMTCkpIHsKKwkJCWlmICghZ2V0X3dob2xlZGlza19mcm9tX3BhcnRpdGlvbl9kaXJlbnQoZGlyLCBkLCAmZGVwKSkgeworCQkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIiVzOiAlczogZGVwZW5kZW5jZSBpcyBwYXJ0aXRpb24iLAorCQkJCQkJCQljeHQtPm5hbWUsIGQtPmRfbmFtZSkpOworCQkJCXByb2Nlc3NfYmxrZGV2KCZkZXAsIGN4dCwgMSwgZC0+ZF9uYW1lKTsKKwkJCX0KKwkJfQorCQkvKiBUaGUgZGVwZW5kZW5jeSBpcyBhIHdob2xlIGRldmljZS4gKi8KKwkJZWxzZSBpZiAoIXNldF9jeHQoJmRlcCwgY3h0LCBOVUxMLCBkLT5kX25hbWUpKSB7CisJCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICIlczogJXM6IGRlcGVuZGVuY2UgaXMgd2hvbGUtZGlzayIsCisJCQkJCQkJCWN4dC0+bmFtZSwgZC0+ZF9uYW1lKSk7CisJCQkvKiBGb3IgaW52ZXJzZSB0cmVlIHdlIGRvbid0IHdhbnQgdG8gc2hvdyBwYXJ0aXRpb25zCisJCQkgKiBpZiB0aGUgZGVwZW5kZW5jZSBpcyBvbiB3aG9sZS1kaXNrICovCisJCQlwcm9jZXNzX2Jsa2RldigmZGVwLCBjeHQsIGxzYmxrLT5pbnZlcnNlID8gMCA6IDEsIE5VTEwpOworCQl9CisJCXJlc2V0X2Jsa2Rldl9jeHQoJmRlcCk7CisJfQorCWNsb3NlZGlyKGRpcik7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICIlczogY2hlY2tpbmcgZm9yICclcycgLS0gZG9uZSIsIGN4dC0+bmFtZSwgZGVwbmFtZSkpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHByb2Nlc3NfYmxrZGV2KHN0cnVjdCBibGtkZXZfY3h0ICpjeHQsIHN0cnVjdCBibGtkZXZfY3h0ICpwYXJlbnQsCisJCQkgIGludCBkb19wYXJ0aXRpb25zLCBjb25zdCBjaGFyICpwYXJ0X25hbWUpCit7CisJaWYgKGRvX3BhcnRpdGlvbnMgJiYgY3h0LT5ucGFydGl0aW9ucykKKwkJbGlzdF9wYXJ0aXRpb25zKGN4dCwgcGFyZW50LCBwYXJ0X25hbWUpOwkJLyogcGFydGl0aW9ucyArIHdob2xlLWRpc2sgKi8KKwllbHNlCisJCWZpbGxfdGFibGVfbGluZShjeHQsIHBhcmVudCA/IHBhcmVudC0+c2NvbHNfbGluZSA6IE5VTEwpOyAvKiB3aG9sZS1kaXNrIG9ubHkgKi8KKworCXJldHVybiBsaXN0X2RlcHMoY3h0KTsKK30KKworLyogSXRlcmF0ZSBkZXZpY2VzIGluIHN5c2ZzICovCitzdGF0aWMgaW50IGl0ZXJhdGVfYmxvY2tfZGV2aWNlcyh2b2lkKQoreworCURJUiAqZGlyOworCXN0cnVjdCBkaXJlbnQgKmQ7CisJc3RydWN0IGJsa2Rldl9jeHQgY3h0ID0geyAwIH07CisKKwlpZiAoIShkaXIgPSBvcGVuZGlyKF9QQVRIX1NZU19CTE9DSykpKQorCQlyZXR1cm4gLWVycm5vOworCisJREJHKERFViwgdWxfZGVidWcoIml0ZXJhdGUgb24gIiBfUEFUSF9TWVNfQkxPQ0spKTsKKworCXdoaWxlICgoZCA9IHhyZWFkZGlyKGRpcikpKSB7CisKKwkJREJHKERFViwgdWxfZGVidWcoIiAlcyBkZW50cnkiLCBkLT5kX25hbWUpKTsKKworCQlpZiAoc2V0X2N4dCgmY3h0LCBOVUxMLCBOVUxMLCBkLT5kX25hbWUpKQorCQkJZ290byBuZXh0OworCisJCWlmIChpc19tYWpfZXhjbHVkZWQoY3h0Lm1haikgfHwgIWlzX21hal9pbmNsdWRlZChjeHQubWFqKSkKKwkJCWdvdG8gbmV4dDsKKworCQkvKiBTa2lwIGRldmljZXMgaW4gdGhlIG1pZGRsZSBvZiBkZXBlbmRlbmN5IHRyZWUuICovCisJCWlmICgobHNibGstPmludmVyc2UgPyBjeHQubmhvbGRlcnMgOiBjeHQubnNsYXZlcykgPiAwKQorCQkJZ290byBuZXh0OworCisJCXByb2Nlc3NfYmxrZGV2KCZjeHQsIE5VTEwsIDEsIE5VTEwpOworCW5leHQ6CisJCXJlc2V0X2Jsa2Rldl9jeHQoJmN4dCk7CisJfQorCisJY2xvc2VkaXIoZGlyKTsKKworCURCRyhERVYsIHVsX2RlYnVnKCJpdGVyYXRlIG9uICIgX1BBVEhfU1lTX0JMT0NLICIgLS0gZG9uZSIpKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGNoYXIgKmRldm5vX3RvX3N5c2ZzX25hbWUoZGV2X3QgZGV2bm8sIGNoYXIgKmRldm5hbWUsIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1Zl9zaXplKQoreworCWNoYXIgcGF0aFtQQVRIX01BWF07CisJc3NpemVfdCBsZW47CisKKwlpZiAoIXN5c2ZzX2Rldm5vX3BhdGgoZGV2bm8sIHBhdGgsIHNpemVvZihwYXRoKSkpIHsKKwkJd2FybihfKCIlczogZmFpbGVkIHRvIGNvbXBvc2Ugc3lzZnMgcGF0aCIpLCBkZXZuYW1lKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJbGVuID0gcmVhZGxpbmsocGF0aCwgYnVmLCBidWZfc2l6ZSAtIDEpOworCWlmIChsZW4gPCAwKSB7CisJCXdhcm4oXygiJXM6IGZhaWxlZCB0byByZWFkIGxpbmsiKSwgcGF0aCk7CisJCXJldHVybiBOVUxMOworCX0KKwlidWZbbGVuXSA9ICdcMCc7CisKKwlyZXR1cm4geHN0cmR1cChzdHJyY2hyKGJ1ZiwgJy8nKSArIDEpOworfQorCitzdGF0aWMgaW50IHByb2Nlc3Nfb25lX2RldmljZShjaGFyICpkZXZuYW1lKQoreworCXN0cnVjdCBibGtkZXZfY3h0IHBhcmVudCA9IHsgMCB9LCBjeHQgPSB7IDAgfTsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwljaGFyIGJ1ZltQQVRIX01BWCArIDFdLCAqbmFtZSA9IE5VTEwsICpkaXNrbmFtZSA9IE5VTEw7CisJZGV2X3QgZGlzayA9IDA7CisJaW50IHJlYWxfcGFydCA9IDAsIHJjID0gLUVJTlZBTDsKKworCWlmIChzdGF0KGRldm5hbWUsICZzdCkgfHwgIVNfSVNCTEsoc3Quc3RfbW9kZSkpIHsKKwkJd2FybngoXygiJXM6IG5vdCBhIGJsb2NrIGRldmljZSIpLCBkZXZuYW1lKTsKKwkJZ290byBsZWF2ZTsKKwl9CisKKwlpZiAoIShuYW1lID0gZGV2bm9fdG9fc3lzZnNfbmFtZShzdC5zdF9yZGV2LCBkZXZuYW1lLCBidWYsIFBBVEhfTUFYKSkpIHsKKwkJd2FybihfKCIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIiksIGRldm5hbWUpOworCQlnb3RvIGxlYXZlOworCX0KKworCWlmICghc3RybmNtcChuYW1lLCAiZG0tIiwgMykpIHsKKwkJLyogZG0gbWFwcGluZyBpcyBuZXZlciBhIHJlYWwgcGFydGl0aW9uISAqLworCQlyZWFsX3BhcnQgPSAwOworCX0gZWxzZSB7CisJCWlmIChibGtpZF9kZXZub190b193aG9sZWRpc2soc3Quc3RfcmRldiwgYnVmLCBzaXplb2YoYnVmKSwgJmRpc2spKSB7CisJCQl3YXJuKF8oIiVzOiBmYWlsZWQgdG8gZ2V0IHdob2xlLWRpc2sgZGV2aWNlIG51bWJlciIpLCBkZXZuYW1lKTsKKwkJCWdvdG8gbGVhdmU7CisJCX0KKwkJZGlza25hbWUgPSBidWY7CisJCXJlYWxfcGFydCA9IHN0LnN0X3JkZXYgIT0gZGlzazsKKwl9CisKKwlpZiAoIXJlYWxfcGFydCkgeworCQkvKgorCQkgKiBEZXZpY2UgaXMgbm90IGEgcGFydGl0aW9uLgorCQkgKi8KKwkJaWYgKHNldF9jeHQoJmN4dCwgTlVMTCwgTlVMTCwgbmFtZSkpCisJCQlnb3RvIGxlYXZlOworCQlwcm9jZXNzX2Jsa2RldigmY3h0LCBOVUxMLCAhbHNibGstPmludmVyc2UsIE5VTEwpOworCX0gZWxzZSB7CisJCS8qCisJCSAqIFBhcnRpdGlvbiwgcmVhZCBzeXNmcyBuYW1lIG9mIHRoZSBkZXZpY2UuCisJCSAqLworCQlpZiAoc2V0X2N4dCgmcGFyZW50LCBOVUxMLCBOVUxMLCBkaXNrbmFtZSkpCisJCQlnb3RvIGxlYXZlOworCQlpZiAoc2V0X2N4dCgmY3h0LCAmcGFyZW50LCAmcGFyZW50LCBuYW1lKSkKKwkJCWdvdG8gbGVhdmU7CisKKwkJaWYgKGxzYmxrLT5pbnZlcnNlKQorCQkJcHJvY2Vzc19ibGtkZXYoJnBhcmVudCwgJmN4dCwgMSwgY3h0Lm5hbWUpOworCQllbHNlCisJCQlwcm9jZXNzX2Jsa2RldigmY3h0LCAmcGFyZW50LCAxLCBOVUxMKTsKKwl9CisKKwlyYyA9IDA7CitsZWF2ZToKKwlmcmVlKG5hbWUpOworCXJlc2V0X2Jsa2Rldl9jeHQoJmN4dCk7CisKKwlpZiAocmVhbF9wYXJ0KQorCQlyZXNldF9ibGtkZXZfY3h0KCZwYXJlbnQpOworCisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgdm9pZCBwYXJzZV9leGNsdWRlcyhjb25zdCBjaGFyICpzdHIwKQoreworCWNvbnN0IGNoYXIgKnN0ciA9IHN0cjA7CisKKwl3aGlsZSAoc3RyICYmICpzdHIpIHsKKwkJY2hhciAqZW5kID0gTlVMTDsKKwkJdW5zaWduZWQgbG9uZyBuOworCisJCWVycm5vID0gMDsKKwkJbiA9IHN0cnRvdWwoc3RyLCAmZW5kLCAxMCk7CisKKwkJaWYgKGVuZCA9PSBzdHIgfHwgKGVuZCAmJiAqZW5kICYmICplbmQgIT0gJywnKSkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gcGFyc2UgbGlzdCAnJXMnIiksIHN0cjApOworCQlpZiAoZXJybm8gIT0gMCAmJiAobiA9PSBVTE9OR19NQVggfHwgbiA9PSAwKSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBwYXJzZSBsaXN0ICclcyciKSwgc3RyMCk7CisJCWV4Y2x1ZGVzW25leGNsdWRlcysrXSA9IG47CisKKwkJaWYgKG5leGNsdWRlcyA9PSBBUlJBWV9TSVpFKGV4Y2x1ZGVzKSkKKwkJCS8qIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4gKi8KKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ0aGUgbGlzdCBvZiBleGNsdWRlZCBkZXZpY2VzIGlzICIKKwkJCQkJInRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiKSwKKwkJCQkJKGludClBUlJBWV9TSVpFKGV4Y2x1ZGVzKSk7CisKKwkJc3RyID0gZW5kICYmICplbmQgPyBlbmQgKyAxIDogTlVMTDsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHBhcnNlX2luY2x1ZGVzKGNvbnN0IGNoYXIgKnN0cjApCit7CisJY29uc3QgY2hhciAqc3RyID0gc3RyMDsKKworCXdoaWxlIChzdHIgJiYgKnN0cikgeworCQljaGFyICplbmQgPSBOVUxMOworCQl1bnNpZ25lZCBsb25nIG47CisKKwkJZXJybm8gPSAwOworCQluID0gc3RydG91bChzdHIsICZlbmQsIDEwKTsKKworCQlpZiAoZW5kID09IHN0ciB8fCAoZW5kICYmICplbmQgJiYgKmVuZCAhPSAnLCcpKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBwYXJzZSBsaXN0ICclcyciKSwgc3RyMCk7CisJCWlmIChlcnJubyAhPSAwICYmIChuID09IFVMT05HX01BWCB8fCBuID09IDApKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIHBhcnNlIGxpc3QgJyVzJyIpLCBzdHIwKTsKKwkJaW5jbHVkZXNbbmluY2x1ZGVzKytdID0gbjsKKworCQlpZiAobmluY2x1ZGVzID09IEFSUkFZX1NJWkUoaW5jbHVkZXMpKQorCQkJLyogVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LiAqLworCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInRoZSBsaXN0IG9mIGluY2x1ZGVkIGRldmljZXMgaXMgIgorCQkJCQkidG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIpLAorCQkJCQkoaW50KUFSUkFZX1NJWkUoaW5jbHVkZXMpKTsKKwkJc3RyID0gZW5kICYmICplbmQgPyBlbmQgKyAxIDogTlVMTDsKKwl9Cit9CisKKy8qCisgKiBzZWUgc2V0X3NvcnRkYXRhX3U2NCgpIGFuZCBjb2x1bW5zIGluaXRpYWxpemF0aW9uIGluIG1haW4oKQorICovCitzdGF0aWMgaW50IGNtcF91NjRfY2VsbHMoc3RydWN0IGxpYnNjb2xzX2NlbGwgKmEsCisJCQkgc3RydWN0IGxpYnNjb2xzX2NlbGwgKmIsCisJCQkgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIHZvaWQgKmRhdGEpCit7CisJdWludDY0X3QgKmFkYXRhID0gKHVpbnQ2NF90ICopIHNjb2xzX2NlbGxfZ2V0X3VzZXJkYXRhKGEpLAorCQkgKmJkYXRhID0gKHVpbnQ2NF90ICopIHNjb2xzX2NlbGxfZ2V0X3VzZXJkYXRhKGIpOworCisJaWYgKGFkYXRhID09IE5VTEwgJiYgYmRhdGEgPT0gTlVMTCkKKwkJcmV0dXJuIDA7CisJaWYgKGFkYXRhID09IE5VTEwpCisJCXJldHVybiAtMTsKKwlpZiAoYmRhdGEgPT0gTlVMTCkKKwkJcmV0dXJuIDE7CisJcmV0dXJuICphZGF0YSA9PSAqYmRhdGEgPyAwIDogKmFkYXRhID49ICpiZGF0YSA/IDEgOiAtMTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgaGVscChGSUxFICpvdXQpCit7CisJc2l6ZV90IGk7CisKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiTGlzdCBpbmZvcm1hdGlvbiBhYm91dCBibG9jayBkZXZpY2VzLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtYSwgLS1hbGwgICAgICAgICAgICBwcmludCBhbGwgZGV2aWNlc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1iLCAtLWJ5dGVzICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWQsIC0tbm9kZXBzICAgICAgICAgZG9uJ3QgcHJpbnQgc2xhdmVzIG9yIGhvbGRlcnNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtRCwgLS1kaXNjYXJkICAgICAgICBwcmludCBkaXNjYXJkIGNhcGFiaWxpdGllc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1lLCAtLWV4Y2x1ZGUgPGxpc3Q+IGV4Y2x1ZGUgZGV2aWNlcyBieSBtYWpvciBudW1iZXIgKGRlZmF1bHQ6IFJBTSBkaXNrcylcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1pLCAtLWFzY2lpICAgICAgICAgIHVzZSBhc2NpaSBjaGFyYWN0ZXJzIG9ubHlcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtSSwgLS1pbmNsdWRlIDxsaXN0PiBzaG93IG9ubHkgZGV2aWNlcyB3aXRoIHNwZWNpZmllZCBtYWpvciBudW1iZXJzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUosIC0tanNvbiAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1sLCAtLWxpc3QgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbSwgLS1wZXJtcyAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBwZXJtaXNzaW9uc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgb3V0cHV0IGNvbHVtbnNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtTywgLS1vdXRwdXQtYWxsICAgICBvdXRwdXQgYWxsIGNvbHVtbnNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcCwgLS1wYXRocyAgICAgICAgICBwcmludCBjb21wbGV0ZSBkZXZpY2UgcGF0aFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1QLCAtLXBhaXJzICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtciwgLS1yYXcgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcywgLS1pbnZlcnNlICAgICAgICBpbnZlcnNlIGRlcGVuZGVuY2llc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1TLCAtLXNjc2kgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IFNDU0kgZGV2aWNlc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC10LCAtLXRvcG9sb2d5ICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHRvcG9sb2d5XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXgsIC0tc29ydCA8Y29sdW1uPiAgc29ydCBvdXRwdXQgYnkgPGNvbHVtbj5cbiIpLCBvdXQpOworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dCk7CisKKwlmcHJpbnRmKG91dCwgXygiXG5BdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tb3V0cHV0KTpcbiIpKTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGluZm9zKTsgaSsrKQorCQlmcHJpbnRmKG91dCwgIiAlMTFzICAlc1xuIiwgaW5mb3NbaV0ubmFtZSwgXyhpbmZvc1tpXS5oZWxwKSk7CisKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoImxzYmxrKDgpIikpOworCisJZXhpdChvdXQgPT0gc3RkZXJyID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIHZvaWQgY2hlY2tfc3lzZGV2YmxvY2sodm9pZCkKK3sKKwlpZiAoYWNjZXNzKF9QQVRIX1NZU19ERVZCTE9DSywgUl9PSykgIT0gMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFjY2VzcyBzeXNmcyBkaXJlY3Rvcnk6ICVzIiksCisJCSAgICBfUEFUSF9TWVNfREVWQkxPQ0spOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBsc2JsayBfbHMgPSB7IC5zb3J0X2lkID0gLTEgfTsKKwlpbnQgc2NvbHNfZmxhZ3MgPSBMU0JMS19UUkVFOworCWludCBjLCBzdGF0dXMgPSBFWElUX0ZBSUxVUkU7CisJY2hhciAqb3V0YXJnID0gTlVMTDsKKwlzaXplX3QgaTsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsgImFsbCIsCTAsIDAsICdhJyB9LAorCQl7ICJieXRlcyIsICAgICAgMCwgMCwgJ2InIH0sCisJCXsgIm5vZGVwcyIsICAgICAwLCAwLCAnZCcgfSwKKwkJeyAiZGlzY2FyZCIsICAgIDAsIDAsICdEJyB9LAorCQl7ICJoZWxwIiwJMCwgMCwgJ2gnIH0sCisJCXsgImpzb24iLCAgICAgICAwLCAwLCAnSicgfSwKKwkJeyAib3V0cHV0IiwgICAgIDEsIDAsICdvJyB9LAorCQl7ICJvdXRwdXQtYWxsIiwgMCwgMCwgJ08nIH0sCisJCXsgInBlcm1zIiwgICAgICAwLCAwLCAnbScgfSwKKwkJeyAibm9oZWFkaW5ncyIsCTAsIDAsICduJyB9LAorCQl7ICJsaXN0IiwgICAgICAgMCwgMCwgJ2wnIH0sCisJCXsgImFzY2lpIiwJMCwgMCwgJ2knIH0sCisJCXsgInJhdyIsICAgICAgICAwLCAwLCAncicgfSwKKwkJeyAiaW52ZXJzZSIsCTAsIDAsICdzJyB9LAorCQl7ICJmcyIsICAgICAgICAgMCwgMCwgJ2YnIH0sCisJCXsgImV4Y2x1ZGUiLCAgICAxLCAwLCAnZScgfSwKKwkJeyAiaW5jbHVkZSIsICAgIDEsIDAsICdJJyB9LAorCQl7ICJ0b3BvbG9neSIsICAgMCwgMCwgJ3QnIH0sCisJCXsgInBhdGhzIiwgICAgICAwLCAwLCAncCcgfSwKKwkJeyAicGFpcnMiLCAgICAgIDAsIDAsICdQJyB9LAorCQl7ICJzY3NpIiwgICAgICAgMCwgMCwgJ1MnIH0sCisJCXsgInNvcnQiLAkxLCAwLCAneCcgfSwKKwkJeyAidmVyc2lvbiIsICAgIDAsIDAsICdWJyB9LAorCQl7IE5VTEwsIDAsIDAsIDAgfSwKKwl9OworCisJc3RhdGljIGNvbnN0IHVsX2V4Y2xfdCBleGNsW10gPSB7ICAgICAgIC8qIHJvd3MgYW5kIGNvbHMgaW4gaW4gQVNDSUkgb3JkZXIgKi8KKwkJeyAnRCcsJ08nIH0sCisJCXsgJ0knLCdlJyB9LAorCQl7ICdKJywgJ1AnLCAncicgfSwKKwkJeyAnTycsJ1MnIH0sCisJCXsgJ08nLCdmJyB9LAorCQl7ICdPJywnbScgfSwKKwkJeyAnTycsJ3QnIH0sCisJCXsgJ1AnLCdsJywncicgfSwKKwkJeyAwIH0KKwl9OworCWludCBleGNsX3N0W0FSUkFZX1NJWkUoZXhjbCldID0gVUxfRVhDTF9TVEFUVVNfSU5JVDsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlsc2JsayA9ICZfbHM7CisKKwlsc2Jsa19pbml0X2RlYnVnKCk7CisKKwl3aGlsZSgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsCisJCQkgICAgICAgImFiZERlOmZoSmxubW86T3BQaUk6cnN0VlN4OiIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKworCQllcnJfZXhjbHVzaXZlX29wdGlvbnMoYywgbG9uZ29wdHMsIGV4Y2wsIGV4Y2xfc3QpOworCisJCXN3aXRjaChjKSB7CisJCWNhc2UgJ2EnOgorCQkJbHNibGstPmFsbF9kZXZpY2VzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdiJzoKKwkJCWxzYmxrLT5ieXRlcyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnZCc6CisJCQlsc2Jsay0+bm9kZXBzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdEJzoKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX05BTUUpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfREFMSUdOKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0RHUkFOKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0RNQVgpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfRFpFUk8pOworCQkJYnJlYWs7CisJCWNhc2UgJ2UnOgorCQkJcGFyc2VfZXhjbHVkZXMob3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCWhlbHAoc3Rkb3V0KTsKKwkJCWJyZWFrOworCQljYXNlICdKJzoKKwkJCXNjb2xzX2ZsYWdzIHw9IExTQkxLX0pTT047CisJCQlicmVhazsKKwkJY2FzZSAnbCc6CisJCQlzY29sc19mbGFncyAmPSB+TFNCTEtfVFJFRTsgLyogZGlzYWJsZSB0aGUgZGVmYXVsdCAqLworCQkJYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJc2NvbHNfZmxhZ3MgfD0gTFNCTEtfTk9IRUFESU5HUzsKKwkJCWJyZWFrOworCQljYXNlICdvJzoKKwkJCW91dGFyZyA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdPJzoKKwkJCWZvciAobmNvbHVtbnMgPSAwIDsgbmNvbHVtbnMgPCBBUlJBWV9TSVpFKGluZm9zKTsgbmNvbHVtbnMrKykKKwkJCQljb2x1bW5zW25jb2x1bW5zXSA9IG5jb2x1bW5zOworCQkJYnJlYWs7CisJCWNhc2UgJ3AnOgorCQkJbHNibGstPnBhdGhzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdQJzoKKwkJCXNjb2xzX2ZsYWdzIHw9IExTQkxLX0VYUE9SVDsKKwkJCXNjb2xzX2ZsYWdzICY9IH5MU0JMS19UUkVFOwkvKiBkaXNhYmxlIHRoZSBkZWZhdWx0ICovCisJCQlicmVhazsKKwkJY2FzZSAnaSc6CisJCQlzY29sc19mbGFncyB8PSBMU0JMS19BU0NJSTsKKwkJCWJyZWFrOworCQljYXNlICdJJzoKKwkJCXBhcnNlX2luY2x1ZGVzKG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAncic6CisJCQlzY29sc19mbGFncyAmPSB+TFNCTEtfVFJFRTsJLyogZGlzYWJsZSB0aGUgZGVmYXVsdCAqLworCQkJc2NvbHNfZmxhZ3MgfD0gTFNCTEtfUkFXOwkJLyogZW5hYmxlIHJhdyAqLworCQkJYnJlYWs7CisJCWNhc2UgJ3MnOgorCQkJbHNibGstPmludmVyc2UgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2YnOgorCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfTkFNRSk7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9GU1RZUEUpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfTEFCRUwpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfVVVJRCk7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9UQVJHRVQpOworCQkJYnJlYWs7CisJCWNhc2UgJ20nOgorCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfTkFNRSk7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9TSVpFKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX09XTkVSKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0dST1VQKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX01PREUpOworCQkJYnJlYWs7CisJCWNhc2UgJ3QnOgorCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfTkFNRSk7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9BTElPRkYpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfTUlOSU8pOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfT1BUSU8pOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfUEhZU0VDKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0xPR1NFQyk7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9ST1RBKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX1NDSEVEKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX1JRX1NJWkUpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfUkEpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfV1NBTUUpOworCQkJYnJlYWs7CisJCWNhc2UgJ1MnOgorCQkJbHNibGstPm5vZGVwcyA9IDE7CisJCQlsc2Jsay0+c2NzaSA9IDE7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9OQU1FKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0hDVEwpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfVFlQRSk7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9WRU5ET1IpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfTU9ERUwpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfUkVWKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX1RSQU5TUE9SVCk7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ3gnOgorCQkJc2NvbHNfZmxhZ3MgJj0gfkxTQkxLX1RSRUU7IC8qIGRpc2FibGUgdGhlIGRlZmF1bHQgKi8KKwkJCWxzYmxrLT5zb3J0X2lkID0gY29sdW1uX25hbWVfdG9faWQob3B0YXJnLCBzdHJsZW4ob3B0YXJnKSk7CisJCQlpZiAobHNibGstPnNvcnRfaWQgPj0gMCkKKwkJCQlicmVhazsKKwkJCS8qIGZhbGx0aHJvdWdoICovCisJCWRlZmF1bHQ6CisJCQloZWxwKHN0ZGVycik7CisJCX0KKwl9CisKKwljaGVja19zeXNkZXZibG9jaygpOworCisJaWYgKCFuY29sdW1ucykgeworCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9OQU1FKTsKKwkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfTUFKTUlOKTsKKwkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfUk0pOworCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9TSVpFKTsKKwkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfUk8pOworCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9UWVBFKTsKKwkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfVEFSR0VUKTsKKwl9CisKKwlpZiAob3V0YXJnICYmIHN0cmluZ19hZGRfdG9faWRhcnJheShvdXRhcmcsIGNvbHVtbnMsIEFSUkFZX1NJWkUoY29sdW1ucyksCisJCQkJCSAmbmNvbHVtbnMsIGNvbHVtbl9uYW1lX3RvX2lkKSA8IDApCisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisKKwlpZiAobmV4Y2x1ZGVzID09IDAgJiYgbmluY2x1ZGVzID09IDApCisJCWV4Y2x1ZGVzW25leGNsdWRlcysrXSA9IDE7CS8qIGRlZmF1bHQ6IGlnbm9yZSBSQU0gZGlza3MgKi8KKworCWlmIChsc2Jsay0+c29ydF9pZCA8IDApCisJCS8qIFNpbmNlIExpbnV4IDQuOCB3ZSBoYXZlIHNvcnQgZGV2aWNlcyBieSBkZWZhdWx0LCBiZWNhdXNlCisJCSAqIC9zeXMgaXMgbm8gbW9yZSBzb3J0ZWQgKi8KKwkJbHNibGstPnNvcnRfaWQgPSBDT0xfTUFKTUlOOworCisJaWYgKGxzYmxrLT5zb3J0X2lkID49IDAgJiYgY29sdW1uX2lkX3RvX251bWJlcihsc2Jsay0+c29ydF9pZCkgPCAwKSB7CisJCS8qIHRoZSBzb3J0IGNvbHVtbiBpcyBub3QgYmV0d2VlbiBvdXRwdXQgY29sdW1ucyAtLSBhZGQgYXMgaGlkZGVuICovCisJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgbHNibGstPnNvcnRfaWQpOworCQlsc2Jsay0+c29ydF9oaWRkZW4gPSAxOworCX0KKworCW1udF9pbml0X2RlYnVnKDApOworCXNjb2xzX2luaXRfZGVidWcoMCk7CisKKwkvKgorCSAqIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbnMKKwkgKi8KKwlpZiAoIShsc2Jsay0+dGFibGUgPSBzY29sc19uZXdfdGFibGUoKSkpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgdGFibGUiKSk7CisJc2NvbHNfdGFibGVfZW5hYmxlX3Jhdyhsc2Jsay0+dGFibGUsICEhKHNjb2xzX2ZsYWdzICYgTFNCTEtfUkFXKSk7CisJc2NvbHNfdGFibGVfZW5hYmxlX2V4cG9ydChsc2Jsay0+dGFibGUsICEhKHNjb2xzX2ZsYWdzICYgTFNCTEtfRVhQT1JUKSk7CisJc2NvbHNfdGFibGVfZW5hYmxlX2FzY2lpKGxzYmxrLT50YWJsZSwgISEoc2NvbHNfZmxhZ3MgJiBMU0JMS19BU0NJSSkpOworCXNjb2xzX3RhYmxlX2VuYWJsZV9qc29uKGxzYmxrLT50YWJsZSwgISEoc2NvbHNfZmxhZ3MgJiBMU0JMS19KU09OKSk7CisJc2NvbHNfdGFibGVfZW5hYmxlX25vaGVhZGluZ3MobHNibGstPnRhYmxlLCAhIShzY29sc19mbGFncyAmIExTQkxLX05PSEVBRElOR1MpKTsKKworCWlmIChzY29sc19mbGFncyAmIExTQkxLX0pTT04pCisJCXNjb2xzX3RhYmxlX3NldF9uYW1lKGxzYmxrLT50YWJsZSwgImJsb2NrZGV2aWNlcyIpOworCisJZm9yIChpID0gMDsgaSA8IG5jb2x1bW5zOyBpKyspIHsKKwkJc3RydWN0IGNvbGluZm8gKmNpID0gZ2V0X2NvbHVtbl9pbmZvKGkpOworCQlzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbDsKKwkJaW50IGlkID0gZ2V0X2NvbHVtbl9pZChpKSwgZmwgPSBjaS0+ZmxhZ3M7CisKKwkJaWYgKCEoc2NvbHNfZmxhZ3MgJiBMU0JMS19UUkVFKSAmJiBpZCA9PSBDT0xfTkFNRSkKKwkJCWZsICY9IH5TQ09MU19GTF9UUkVFOworCQlpZiAobHNibGstPnNvcnRfaGlkZGVuICYmIGxzYmxrLT5zb3J0X2lkID09IGlkKQorCQkJZmwgfD0gU0NPTFNfRkxfSElEREVOOworCisJCWNsID0gc2NvbHNfdGFibGVfbmV3X2NvbHVtbihsc2Jsay0+dGFibGUsIGNpLT5uYW1lLCBjaS0+d2hpbnQsIGZsKTsKKwkJaWYgKCFjbCkgeworCQkJd2FybihfKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIikpOworCQkJZ290byBsZWF2ZTsKKwkJfQorCQlpZiAoIWxzYmxrLT5zb3J0X2NvbCAmJiBsc2Jsay0+c29ydF9pZCA9PSBpZCkgeworCQkJbHNibGstPnNvcnRfY29sID0gY2w7CisJCQlzY29sc19jb2x1bW5fc2V0X2NtcGZ1bmMoY2wsCisJCQkJY2ktPnNvcnRfdHlwZSA9PSBTT1JUX1NUUklORyA/CisJCQkJc2NvbHNfY21wc3RyX2NlbGxzIDogY21wX3U2NF9jZWxscywgTlVMTCk7CisJCX0KKwl9CisKKwlpZiAob3B0aW5kID09IGFyZ2MpCisJCXN0YXR1cyA9IGl0ZXJhdGVfYmxvY2tfZGV2aWNlcygpID09IDAgPyBFWElUX1NVQ0NFU1MgOiBFWElUX0ZBSUxVUkU7CisJZWxzZSB7CisJCWludCBjbnQgPSAwLCBjbnRfZXJyID0gMDsKKworCQl3aGlsZSAob3B0aW5kIDwgYXJnYykgeworCQkJaWYgKHByb2Nlc3Nfb25lX2RldmljZShhcmd2W29wdGluZCsrXSkgIT0gMCkKKwkJCQljbnRfZXJyKys7CisJCQljbnQrKzsKKwkJfQorCQlzdGF0dXMgPSBjbnQgPT0gMAk/IEVYSVRfRkFJTFVSRSA6CS8qIG5vdGhpbmcgKi8KKwkJCSBjbnQgPT0gY250X2Vycgk/IExTQkxLX0VYSVRfQUxMRkFJTEVEIDovKiBhbGwgZmFpbGVkICovCisJCQkgY250X2Vycgk/IExTQkxLX0VYSVRfU09NRU9LIDoJLyogc29tZSBvayAqLworCQkJCQkgIEVYSVRfU1VDQ0VTUzsJCS8qIGFsbCBzdWNjZXNzICovCisJfQorCisJaWYgKGxzYmxrLT5zb3J0X2NvbCkKKwkJc2NvbHNfc29ydF90YWJsZShsc2Jsay0+dGFibGUsIGxzYmxrLT5zb3J0X2NvbCk7CisKKwlzY29sc19wcmludF90YWJsZShsc2Jsay0+dGFibGUpOworCitsZWF2ZToKKwlpZiAobHNibGstPnNvcnRfY29sKQorCQl1bnJlZl9zb3J0ZGF0YShsc2Jsay0+dGFibGUpOworCisJc2NvbHNfdW5yZWZfdGFibGUobHNibGstPnRhYmxlKTsKKworCW1udF91bnJlZl90YWJsZShtdGFiKTsKKwltbnRfdW5yZWZfdGFibGUoc3dhcHMpOworCW1udF91bnJlZl9jYWNoZShtbnRjYWNoZSk7CisjaWZkZWYgSEFWRV9MSUJVREVWCisJdWRldl91bnJlZih1ZGV2KTsKKyNlbmRpZgorCXJldHVybiBzdGF0dXM7Cit9CmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL2xzbG9ja3MuOCBiL21pc2MtdXRpbHMvbHNsb2Nrcy44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkMzRjY2QKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL2xzbG9ja3MuOApAQCAtMCwwICsxLDk3IEBACisuXCIgTWFuIHBhZ2UgZm9yIHRoZSBsc2xvY2tzIGNvbW1hbmQuCisuXCIgQ29weXJpZ2h0IDIwMTIgRGF2aWRsb2hyIEJ1ZXNvIDxkYXZlQGdudS5vcmc+CisuXCIgTWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorCisuVEggTFNMT0NLUyA4ICJEZWNlbWJlciAyMDE0IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitsc2xvY2tzIFwtIGxpc3QgbG9jYWwgc3lzdGVtIGxvY2tzCisuU0ggU1lOT1BTSVMKKy5CIGxzbG9ja3MKK1tvcHRpb25zXQorCisuU0ggREVTQ1JJUFRJT04KKy5CIGxzbG9ja3MKK2xpc3RzIGluZm9ybWF0aW9uIGFib3V0IGFsbCB0aGUgY3VycmVudGx5IGhlbGQgZmlsZSBsb2NrcyBpbiBhIExpbnV4IHN5c3RlbS4KKworLlNIIE9QVElPTlMKKy5UUAorLkJSIFwtaSAsICIgXC1cLW5vaW5hY2Nlc3NpYmxlIgorSWdub3JlIGxvY2sgZmlsZXMgd2hpY2ggYXJlIGluYWNjZXNzaWJsZSBmb3IgdGhlIGN1cnJlbnQgdXNlci4KKy5UUAorLkJSIFwtSiAsICIgXC1cLWpzb24iCitVc2UgSlNPTiBvdXRwdXQgZm9ybWF0LgorLlRQCisuQlIgXC1uICwgIiBcLVwtbm9oZWFkaW5ncyIKK0RvIG5vdCBwcmludCBhIGhlYWRlciBsaW5lLgorLlRQCisuQlIgXC1vICwgIiBcLVwtb3V0cHV0ICIgXGZJbGlzdFxmUAorU3BlY2lmeSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byBwcmludC4gIFVzZQorLkIgIi0taGVscCIKK3RvIGdldCBhIGxpc3Qgb2YgYWxsIHN1cHBvcnRlZCBjb2x1bW5zLgorCitUaGUgZGVmYXVsdCBsaXN0IG9mIGNvbHVtbnMgbWF5IGJlIGV4dGVuZGVkIGlmIFxmSWxpc3RcZlAgaXMKK3NwZWNpZmllZCBpbiB0aGUgZm9ybWF0IFxmSStsaXN0XGZQIChlLmcuIFxmQmxzbG9ja3MgLW8gK0JMT0NLRVJcZlApLgorLlRQCisuQlIgXC1wICwgIiBcLVwtcGlkICIgXGZJcGlkXGZQCitEaXNwbGF5IG9ubHkgdGhlIGxvY2tzIGhlbGQgYnkgdGhlIHByb2Nlc3Mgd2l0aCB0aGlzIFxmSXBpZFxmUi4KKy5UUAorLkJSIFwtciAsICIgXC1cLXJhdyIKK1VzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQuCisuVFAKKy5CUiBcLXUgLCAiIFwtXC1ub3RydW5jYXRlIgorRG8gbm90IHRydW5jYXRlIHRleHQgaW4gY29sdW1ucy4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisKKy5TSCBPVVRQVVQKKy5JUCAiQ09NTUFORCIKK1RoZSBjb21tYW5kIG5hbWUgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jay4KKy5JUCAiUElEIgorVGhlIHByb2Nlc3MgSUQgb2YgdGhlIHByb2Nlc3Mgd2hpY2ggaG9sZHMgdGhlIGxvY2suCisuSVAgIlRZUEUiCitUaGUgdHlwZSBvZiBsb2NrOyBjYW4gYmUgRkxPQ0sgKGNyZWF0ZWQgd2l0aCBcZkJmbG9ja1xmUigyKSkgb3IgUE9TSVgKKyhjcmVhdGVkIHdpdGggXGZCZmNudGxcZlIoMikgYW5kIFxmQmxvY2tmXGZSKDMpKS4KKy5JUCAiU0laRSIKK1NpemUgb2YgdGhlIGxvY2tlZCBmaWxlLgorLklQICJNT0RFIgorVGhlIGxvY2sncyBhY2Nlc3MgcGVybWlzc2lvbnMgKHJlYWQsIHdyaXRlKS4gIElmIHRoZSBwcm9jZXNzIGlzIGJsb2NrZWQgYW5kIHdhaXRpbmcgZm9yIHRoZSBsb2NrLAordGhlbiB0aGUgbW9kZSBpcyBwb3N0Zml4ZWQgd2l0aCBhbiAnKicgKGFzdGVyaXNrKS4KKy5JUCAiTSIKK1doZXRoZXIgdGhlIGxvY2sgaXMgbWFuZGF0b3J5OyAwIG1lYW5zIG5vIChtZWFuaW5nIHRoZSBsb2NrIGlzIG9ubHkgYWR2aXNvcnkpLCAxIG1lYW5zIHllcy4KKyhTZWUgXGZCZmNudGxcZlIoMikuKQorLklQICJTVEFSVCIKK1JlbGF0aXZlIGJ5dGUgb2Zmc2V0IG9mIHRoZSBsb2NrLgorLklQICJFTkQiCitFbmRpbmcgb2Zmc2V0IG9mIHRoZSBsb2NrLgorLklQICJQQVRIIgorRnVsbCBwYXRoIG9mIHRoZSBsb2NrLiAgSWYgbm9uZSBpcyBmb3VuZCwgb3IgdGhlcmUgYXJlIG5vIHBlcm1pc3Npb25zIHRvIHJlYWQKK3RoZSBwYXRoLCBpdCB3aWxsIGZhbGwgYmFjayB0byB0aGUgZGV2aWNlJ3MgbW91bnRwb2ludCBhbmQgIi4uLiIgaXMgYXBwZW5kZWQgdG8KK3RoZSBwYXRoLiAgVGhlIHBhdGggbWlnaHQgYmUgdHJ1bmNhdGVkOyB1c2UKK1xmQlwtXC1ub3RydW5jYXRlXGZSIHRvIGdldCB0aGUgZnVsbCBwYXRoLgorLklQICJCTE9DS0VSIgorVGhlIFBJRCBvZiB0aGUgcHJvY2VzcyB3aGljaCBibG9ja3MgdGhlIGxvY2suCisKKy5TSCBOT1RFUworLm5mCitUaGUgXGZCbHNsb2Nrc1xmUiBjb21tYW5kIGlzIG1lYW50IHRvIHJlcGxhY2UgdGhlIFxmQmxzbGtcZlIoOCkgY29tbWFuZCwKK29yaWdpbmFsbHkgd3JpdHRlbiBieSBWaWN0b3IgQS4gQWJlbGwgPGFiZUBwdXJkdWUuZWR1PiBhbmQgdW5tYWludGFpbmVkCitzaW5jZSAyMDAxLgorLmZpCisKKy5TSCBBVVRIT1JTCisubmYKK0RhdmlkbG9ociBCdWVzbyA8ZGF2ZUBnbnUub3JnPgorLmZpCisKKy5TSCAiU0VFIEFMU08iCisuQlIgZmxvY2sgKDEpLAorLkJSIGZjbnRsICgyKSwKKy5CUiBsb2NrZiAoMykKKworLlNIIEFWQUlMQUJJTElUWQorVGhlIGxzbG9ja3MgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL2xzbG9ja3MuYyBiL21pc2MtdXRpbHMvbHNsb2Nrcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4NGRlMDgKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL2xzbG9ja3MuYwpAQCAtMCwwICsxLDYyMyBAQAorLyoKKyAqIGxzbG9ja3MoOCkgLSBsaXN0IGxvY2FsIHN5c3RlbSBsb2NrcworICoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBEYXZpZGxvaHIgQnVlc28gPGRhdmVAZ251Lm9yZz4KKyAqCisgKiBWZXJ5IGdlbmVyYWxseSBiYXNlZCBvbiBsc2xrKDgpIGJ5IFZpY3RvciBBLiBBYmVsbCA8YWJlQHB1cmR1ZS5lZHU+CisgKiBTaW5jZSBpdCBzdG9wcGVkIGJlaW5nIG1haW50YWluZWQgb3ZlciBhIGRlY2FkZSBhZ28sIHRoaXMKKyAqIHByb2dyYW0gc2hvdWxkIGJlIGNvbnNpZGVyZWQgaXRzIHJlcGxhY2VtZW50LgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd291bGQgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCisgKiBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisjaW5jbHVkZSA8ZGlyZW50Lmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKworI2luY2x1ZGUgPGxpYm1vdW50Lmg+CisjaW5jbHVkZSA8bGlic21hcnRjb2xzLmg+CisKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJjYW5vbmljYWxpemUuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJsaXN0LmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJvcHR1dGlscy5oIgorI2luY2x1ZGUgInByb2N1dGlscy5oIgorCisvKiBjb2x1bW4gSURzICovCitlbnVtIHsKKwlDT0xfU1JDID0gMCwKKwlDT0xfUElELAorCUNPTF9UWVBFLAorCUNPTF9TSVpFLAorCUNPTF9NT0RFLAorCUNPTF9NLAorCUNPTF9TVEFSVCwKKwlDT0xfRU5ELAorCUNPTF9QQVRILAorCUNPTF9CTE9DS0VSCit9OworCisvKiBjb2x1bW4gbmFtZXMgKi8KK3N0cnVjdCBjb2xpbmZvIHsKKwljb25zdCBjaGFyICpuYW1lOyAvKiBoZWFkZXIgKi8KKwlkb3VibGUJICAgd2hpbnQ7IC8qIHdpZHRoIGhpbnQgKE4gPCAxIGlzIGluIHBlcmNlbnQgb2YgdGVybXdpZHRoKSAqLworCWludAkgICBmbGFnczsgLyogU0NPTFNfRkxfKiAqLworCWNvbnN0IGNoYXIgKmhlbHA7Cit9OworCisvKiBjb2x1bW5zIGRlc2NyaXB0aW9ucyAqLworc3RhdGljIHN0cnVjdCBjb2xpbmZvIGluZm9zW10gPSB7CisJW0NPTF9TUkNdICA9IHsgIkNPTU1BTkQiLDE1LCAwLCBOXygiY29tbWFuZCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIikgfSwKKwlbQ09MX1BJRF0gID0geyAiUElEIiwgICAgIDUsIFNDT0xTX0ZMX1JJR0hULCBOXygiUElEIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siKSB9LAorCVtDT0xfVFlQRV0gPSB7ICJUWVBFIiwgICAgNSwgU0NPTFNfRkxfUklHSFQsIE5fKCJraW5kIG9mIGxvY2s6IEZMX0ZMT0NLIG9yIEZMX1BPU0lYLiIpIH0sCisJW0NPTF9TSVpFXSA9IHsgIlNJWkUiLCAgICA0LCBTQ09MU19GTF9SSUdIVCwgTl8oInNpemUgb2YgdGhlIGxvY2siKSB9LAorCVtDT0xfTU9ERV0gPSB7ICJNT0RFIiwgICAgNSwgMCwgTl8oImxvY2sgYWNjZXNzIG1vZGUiKSB9LAorCVtDT0xfTV0gICAgPSB7ICJNIiwgICAgICAgMSwgMCwgTl8oIm1hbmRhdG9yeSBzdGF0ZSBvZiB0aGUgbG9jazogMCAobm9uZSksIDEgKHNldCkiKX0sCisJW0NPTF9TVEFSVF0gPSB7ICJTVEFSVCIsIDEwLCBTQ09MU19GTF9SSUdIVCwgTl8oInJlbGF0aXZlIGJ5dGUgb2Zmc2V0IG9mIHRoZSBsb2NrIil9LAorCVtDT0xfRU5EXSAgPSB7ICJFTkQiLCAgICAxMCwgU0NPTFNfRkxfUklHSFQsIE5fKCJlbmRpbmcgb2Zmc2V0IG9mIHRoZSBsb2NrIil9LAorCVtDT0xfUEFUSF0gPSB7ICJQQVRIIiwgICAgMCwgU0NPTFNfRkxfVFJVTkMsIE5fKCJwYXRoIG9mIHRoZSBsb2NrZWQgZmlsZSIpfSwKKwlbQ09MX0JMT0NLRVJdID0geyAiQkxPQ0tFUiIsIDAsIFNDT0xTX0ZMX1JJR0hULCBOXygiUElEIG9mIHRoZSBwcm9jZXNzIGJsb2NraW5nIHRoZSBsb2NrIikgfQorfTsKKworc3RhdGljIGludCBjb2x1bW5zW0FSUkFZX1NJWkUoaW5mb3MpICogMl07CitzdGF0aWMgc2l6ZV90IG5jb2x1bW5zOworCitzdGF0aWMgcGlkX3QgcGlkID0gMDsKKworc3RhdGljIHN0cnVjdCBsaWJtbnRfdGFibGUgKnRhYjsJCS8qIC9wcm9jL3NlbGYvbW91bnRpbmZvICovCisKKy8qIGJhc2ljIG91dHB1dCBmbGFncyAqLworc3RhdGljIGludCBub19oZWFkaW5nczsKK3N0YXRpYyBpbnQgbm9faW5hY2Nlc3NpYmxlOworc3RhdGljIGludCByYXc7CitzdGF0aWMgaW50IGpzb247CisKK3N0cnVjdCBsb2NrIHsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGxvY2tzOworCisJY2hhciAqY21kbmFtZTsKKwlwaWRfdCBwaWQ7CisJY2hhciAqcGF0aDsKKwljaGFyICp0eXBlOworCWNoYXIgKm1vZGU7CisJb2ZmX3Qgc3RhcnQ7CisJb2ZmX3QgZW5kOworCXVuc2lnbmVkIGludCBtYW5kYXRvcnkgOjEsCisJCSAgICAgYmxvY2tlZCAgIDoxOworCWNoYXIgKnNpemU7CisJaW50IGlkOworfTsKKworc3RhdGljIHZvaWQgcmVtX2xvY2soc3RydWN0IGxvY2sgKmxvY2spCit7CisJaWYgKCFsb2NrKQorCQlyZXR1cm47CisKKwlmcmVlKGxvY2stPnBhdGgpOworCWZyZWUobG9jay0+c2l6ZSk7CisJZnJlZShsb2NrLT5tb2RlKTsKKwlmcmVlKGxvY2stPmNtZG5hbWUpOworCWZyZWUobG9jay0+dHlwZSk7CisJbGlzdF9kZWwoJmxvY2stPmxvY2tzKTsKKwlmcmVlKGxvY2spOworfQorCitzdGF0aWMgdm9pZCBkaXNhYmxlX2NvbHVtbnNfdHJ1bmNhdGUodm9pZCkKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGluZm9zKTsgaSsrKQorCQlpbmZvc1tpXS5mbGFncyAmPSB+U0NPTFNfRkxfVFJVTkM7Cit9CisKKy8qCisgKiBBc3NvY2lhdGUgdGhlIGRldmljZSdzIG1vdW50cG9pbnQgZm9yIGEgZmlsZW5hbWUKKyAqLworc3RhdGljIGNoYXIgKmdldF9mYWxsYmFja19maWxlbmFtZShkZXZfdCBkZXYpCit7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJY2hhciAqcmVzID0gTlVMTDsKKworCWlmICghdGFiKSB7CisJCXRhYiA9IG1udF9uZXdfdGFibGVfZnJvbV9maWxlKF9QQVRIX1BST0NfTU9VTlRJTkZPKTsKKwkJaWYgKCF0YWIpCisJCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlmcyA9IG1udF90YWJsZV9maW5kX2Rldm5vKHRhYiwgZGV2LCBNTlRfSVRFUl9CQUNLV0FSRCk7CisJaWYgKCFmcykKKwkJcmV0dXJuIE5VTEw7CisKKwl4YXNwcmludGYoJnJlcywgIiVzLi4uIiwgbW50X2ZzX2dldF90YXJnZXQoZnMpKTsKKwlyZXR1cm4gcmVzOworfQorCisvKgorICogUmV0dXJuIHRoZSBhYnNvbHV0ZSBwYXRoIG9mIGEgZmlsZSBmcm9tCisgKiBhIGdpdmVuIGlub2RlIG51bWJlciAoYW5kIGl0cyBzaXplKQorICovCitzdGF0aWMgY2hhciAqZ2V0X2ZpbGVuYW1lX3N6KGlub190IGlub2RlLCBwaWRfdCBsb2NrX3BpZCwgc2l6ZV90ICpzaXplKQoreworCXN0cnVjdCBzdGF0IHNiOworCXN0cnVjdCBkaXJlbnQgKmRwOworCURJUiAqZGlycDsKKwlzaXplX3QgbGVuOworCWludCBmZDsKKwljaGFyIHBhdGhbUEFUSF9NQVhdLCBzeW1bUEFUSF9NQVhdLCAqcmV0ID0gTlVMTDsKKworCSpzaXplID0gMDsKKwltZW1zZXQocGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKKwltZW1zZXQoc3ltLCAwLCBzaXplb2Yoc3ltKSk7CisKKwkvKgorCSAqIFdlIGtub3cgdGhlIHBpZCBzbyB3ZSBkb24ndCBoYXZlIHRvCisJICogaXRlcmF0ZSB0aGUgKmVudGlyZSogZmlsZXN5c3RlbSBzZWFyY2hpbmcKKwkgKiBmb3IgdGhlIGRhbW4gZmlsZS4KKwkgKi8KKwlzcHJpbnRmKHBhdGgsICIvcHJvYy8lZC9mZC8iLCBsb2NrX3BpZCk7CisJaWYgKCEoZGlycCA9IG9wZW5kaXIocGF0aCkpKQorCQlyZXR1cm4gTlVMTDsKKworCWlmICgobGVuID0gc3RybGVuKHBhdGgpKSA+PSAoc2l6ZW9mKHBhdGgpIC0gMikpCisJCWdvdG8gb3V0OworCisJaWYgKChmZCA9IGRpcmZkKGRpcnApKSA8IDAgKQorCQlnb3RvIG91dDsKKworCXdoaWxlICgoZHAgPSByZWFkZGlyKGRpcnApKSkgeworCQlpZiAoIXN0cmNtcChkcC0+ZF9uYW1lLCAiLiIpIHx8CisJCSAgICAhc3RyY21wKGRwLT5kX25hbWUsICIuLiIpKQorCQkJY29udGludWU7CisKKwkJLyogY2FyZSBvbmx5IGZvciBudW1lcmljYWwgZGVzY3JpcHRvcnMgKi8KKwkJaWYgKCFzdHJ0b2woZHAtPmRfbmFtZSwgKGNoYXIgKiopIE5VTEwsIDEwKSkKKwkJCWNvbnRpbnVlOworCisJCWlmICghZnN0YXRhdChmZCwgZHAtPmRfbmFtZSwgJnNiLCAwKQorCQkgICAgJiYgaW5vZGUgIT0gc2Iuc3RfaW5vKQorCQkJY29udGludWU7CisKKwkJaWYgKChsZW4gPSByZWFkbGlua2F0KGZkLCBkcC0+ZF9uYW1lLCBzeW0sIHNpemVvZihzeW0pIC0gMSkpIDwgMSkKKwkJCWdvdG8gb3V0OworCisJCSpzaXplID0gc2Iuc3Rfc2l6ZTsKKwkJc3ltW2xlbl0gPSAnXDAnOworCisJCXJldCA9IHhzdHJkdXAoc3ltKTsKKwkJYnJlYWs7CisJfQorb3V0OgorCWNsb3NlZGlyKGRpcnApOworCXJldHVybiByZXQ7Cit9CisKKy8qCisgKiBSZXR1cm4gdGhlIGlub2RlIG51bWJlciBmcm9tIGEgc3RyaW5nCisgKi8KK3N0YXRpYyBpbm9fdCBnZXRfZGV2X2lub2RlKGNoYXIgKnN0ciwgZGV2X3QgKmRldikKK3sKKwl1bnNpZ25lZCBpbnQgbWFqID0gMCwgbWluID0gMDsKKwlpbm9fdCBpbnVtID0gMDsKKworCXNzY2FuZihzdHIsICIlMDJ4OiUwMng6JWp1IiwgJm1haiwgJm1pbiwgJmludW0pOworCisJKmRldiA9IChkZXZfdCkgbWFrZWRldihtYWosIG1pbik7CisJcmV0dXJuIGludW07Cit9CisKK3N0YXRpYyBpbnQgZ2V0X2xvY2FsX2xvY2tzKHN0cnVjdCBsaXN0X2hlYWQgKmxvY2tzKQoreworCWludCBpOworCWlub190IGlub2RlID0gMDsKKwlGSUxFICpmcDsKKwljaGFyIGJ1ZltQQVRIX01BWF0sICp0b2sgPSBOVUxMOworCXNpemVfdCBzejsKKwlzdHJ1Y3QgbG9jayAqbDsKKwlkZXZfdCBkZXYgPSAwOworCisJaWYgKCEoZnAgPSBmb3BlbihfUEFUSF9QUk9DX0xPQ0tTLCAiciIpKSkKKwkJcmV0dXJuIC0xOworCisJd2hpbGUgKGZnZXRzKGJ1Ziwgc2l6ZW9mKGJ1ZiksIGZwKSkgeworCisJCWwgPSB4Y2FsbG9jKDEsIHNpemVvZigqbCkpOworCQlJTklUX0xJU1RfSEVBRCgmbC0+bG9ja3MpOworCisJCWZvciAodG9rID0gc3RydG9rKGJ1ZiwgIiAiKSwgaSA9IDA7IHRvazsKKwkJICAgICB0b2sgPSBzdHJ0b2soTlVMTCwgIiAiKSwgaSsrKSB7CisKKwkJCS8qCisJCQkgKiAvcHJvYy9sb2NrcyBoYXMgKmV4YWN0bHkqIDggImJsb2NrcyIgb2YgdGV4dAorCQkJICogc2VwYXJhdGVkIGJ5ICcgJyAtIGNoZWNrIDxrZXJuZWw+L2ZzL2xvY2tzLmMKKwkJCSAqLworCQkJc3dpdGNoIChpKSB7CisJCQljYXNlIDA6IC8qIElEOiAqLworCQkJCXRva1tzdHJsZW4odG9rKSAtIDFdID0gJ1wwJzsKKwkJCQlsLT5pZCA9IHN0cnRvczMyX29yX2Vycih0b2ssIF8oImZhaWxlZCB0byBwYXJzZSBJRCIpKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgMTogLyogcG9zaXgsIGZsb2NrLCBldGMgKi8KKwkJCQlpZiAoc3RyY21wKHRvaywgIi0+IikgPT0gMCkgewkvKiBvcHRpb25hbCBmaWVsZCAqLworCQkJCQlsLT5ibG9ja2VkID0gMTsKKwkJCQkJaS0tOworCQkJCX0gZWxzZQorCQkJCQlsLT50eXBlID0geHN0cmR1cCh0b2spOworCQkJCWJyZWFrOworCisJCQljYXNlIDI6IC8qIGlzIHRoaXMgYSBtYW5kYXRvcnkgbG9jaz8gb3RoZXIgdmFsdWVzIGFyZSBhZHZpc29yeSBvciBub2lub2RlICovCisJCQkJbC0+bWFuZGF0b3J5ID0gKnRvayA9PSAnTScgPyAxIDogMDsKKwkJCQlicmVhazsKKwkJCWNhc2UgMzogLyogbG9jayBtb2RlICovCisJCQkJbC0+bW9kZSA9IHhzdHJkdXAodG9rKTsKKwkJCQlicmVhazsKKworCQkJY2FzZSA0OiAvKiBQSUQgKi8KKwkJCQkvKgorCQkJCSAqIElmIHVzZXIgcGFzc2VkIGEgcGlkIHdlIGZpbHRlciBpdCBsYXRlciB3aGVuIGFkZGluZworCQkJCSAqIHRvIHRoZSBsaXN0LCBubyBuZWVkIHRvIHdvcnJ5IG5vdy4KKwkJCQkgKi8KKwkJCQlsLT5waWQgPSBzdHJ0b3MzMl9vcl9lcnIodG9rLCBfKCJmYWlsZWQgdG8gcGFyc2UgcGlkIikpOworCQkJCWwtPmNtZG5hbWUgPSBwcm9jX2dldF9jb21tYW5kX25hbWUobC0+cGlkKTsKKwkJCQlpZiAoIWwtPmNtZG5hbWUpCisJCQkJCWwtPmNtZG5hbWUgPSB4c3RyZHVwKF8oIih1bmtub3duKSIpKTsKKwkJCQlicmVhazsKKworCQkJY2FzZSA1OiAvKiBkZXZpY2UgbWFqb3I6bWlub3IgYW5kIGlub2RlIG51bWJlciAqLworCQkJCWlub2RlID0gZ2V0X2Rldl9pbm9kZSh0b2ssICZkZXYpOworCQkJCWJyZWFrOworCisJCQljYXNlIDY6IC8qIHN0YXJ0ICovCisJCQkJbC0+c3RhcnQgPSAhc3RyY21wKHRvaywgIkVPRiIpID8gMCA6CisJCQkJCSAgIHN0cnRvdTY0X29yX2Vycih0b2ssIF8oImZhaWxlZCB0byBwYXJzZSBzdGFydCIpKTsKKwkJCQlicmVhazsKKworCQkJY2FzZSA3OiAvKiBlbmQgKi8KKwkJCQkvKiByZXBsYWNlICdcbicgY2hhcmFjdGVyICovCisJCQkJdG9rW3N0cmxlbih0b2spLTFdID0gJ1wwJzsKKwkJCQlsLT5lbmQgPSAhc3RyY21wKHRvaywgIkVPRiIpID8gMCA6CisJCQkJCSBzdHJ0b3U2NF9vcl9lcnIodG9rLCBfKCJmYWlsZWQgdG8gcGFyc2UgZW5kIikpOworCQkJCWJyZWFrOworCQkJZGVmYXVsdDoKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCisJCWwtPnBhdGggPSBnZXRfZmlsZW5hbWVfc3ooaW5vZGUsIGwtPnBpZCwgJnN6KTsKKworCQkvKiBubyBwZXJtaXNzaW9ucyAtLSBpZ25vcmUgKi8KKwkJaWYgKCFsLT5wYXRoICYmIG5vX2luYWNjZXNzaWJsZSkgeworCQkJcmVtX2xvY2sobCk7CisJCQljb250aW51ZTsKKwkJfQorCisJCWlmICghbC0+cGF0aCkgeworCQkJLyogcHJvYmFibHkgbm8gcGVybWlzc2lvbiB0byBwZWVrIGludG8gbC0+cGlkJ3MgcGF0aCAqLworCQkJbC0+cGF0aCA9IGdldF9mYWxsYmFja19maWxlbmFtZShkZXYpOworCQkJbC0+c2l6ZSA9IHhzdHJkdXAoIiIpOworCQl9IGVsc2UKKwkJCS8qIGF2b2lkIGxlYWtpbmcgKi8KKwkJCWwtPnNpemUgPSBzaXplX3RvX2h1bWFuX3N0cmluZyhTSVpFX1NVRkZJWF8xTEVUVEVSLCBzeik7CisKKwkJbGlzdF9hZGQoJmwtPmxvY2tzLCBsb2Nrcyk7CisJfQorCisJZmNsb3NlKGZwKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjb2x1bW5fbmFtZV90b19pZChjb25zdCBjaGFyICpuYW1lLCBzaXplX3QgbmFtZXN6KQoreworCXNpemVfdCBpOworCisJYXNzZXJ0KG5hbWUpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoaW5mb3MpOyBpKyspIHsKKwkJY29uc3QgY2hhciAqY24gPSBpbmZvc1tpXS5uYW1lOworCisJCWlmICghc3RybmNhc2VjbXAobmFtZSwgY24sIG5hbWVzeikgJiYgISooY24gKyBuYW1lc3opKQorCQkJcmV0dXJuIGk7CisJfQorCXdhcm54KF8oInVua25vd24gY29sdW1uOiAlcyIpLCBuYW1lKTsKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGdldF9jb2x1bW5faWQoaW50IG51bSkKK3sKKwlhc3NlcnQobnVtID49IDApOworCWFzc2VydCgoc2l6ZV90KSBudW0gPCBuY29sdW1ucyk7CisJYXNzZXJ0KGNvbHVtbnNbbnVtXSA8IChpbnQpIEFSUkFZX1NJWkUoaW5mb3MpKTsKKworCXJldHVybiBjb2x1bW5zW251bV07Cit9CisKKworc3RhdGljIGlubGluZSBzdHJ1Y3QgY29saW5mbyAqZ2V0X2NvbHVtbl9pbmZvKHVuc2lnbmVkIG51bSkKK3sKKwlyZXR1cm4gJmluZm9zWyBnZXRfY29sdW1uX2lkKG51bSkgXTsKK30KKworc3RhdGljIHBpZF90IGdldF9ibG9ja2VyKGludCBpZCwgc3RydWN0IGxpc3RfaGVhZCAqbG9ja3MpCit7CisJc3RydWN0IGxpc3RfaGVhZCAqcDsKKworCWxpc3RfZm9yX2VhY2gocCwgbG9ja3MpIHsKKwkJc3RydWN0IGxvY2sgKmwgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBsb2NrLCBsb2Nrcyk7CisKKwkJaWYgKGwtPmlkID09IGlkICYmICFsLT5ibG9ja2VkKQorCQkJcmV0dXJuIGwtPnBpZDsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgYWRkX3Njb2xzX2xpbmUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YWJsZSwgc3RydWN0IGxvY2sgKmwsIHN0cnVjdCBsaXN0X2hlYWQgKmxvY2tzKQoreworCXNpemVfdCBpOworCXN0cnVjdCBsaWJzY29sc19saW5lICpsaW5lOworCS8qCisJICogV2hlbmV2ZXIgY21kbmFtZSBvciBmaWxlbmFtZSBpcyBOVUxMIGl0IGlzIG1vc3QKKwkgKiBsaWtlbHkgIGJlY2F1c2UgdGhlcmUncyBubyByZWFkIHBlcm1pc3Npb25zCisJICogZm9yIHRoZSBzcGVjaWZpZWQgcHJvY2Vzcy4KKwkgKi8KKwljb25zdCBjaGFyICpub3RmbmQgPSAiIjsKKworCWFzc2VydChsKTsKKwlhc3NlcnQodGFibGUpOworCisJbGluZSA9IHNjb2xzX3RhYmxlX25ld19saW5lKHRhYmxlLCBOVUxMKTsKKwlpZiAoIWxpbmUpIHsKKwkJd2FybihfKCJmYWlsZWQgdG8gYWRkIGxpbmUgdG8gb3V0cHV0IikpOworCQlyZXR1cm47CisJfQorCisJZm9yIChpID0gMDsgaSA8IG5jb2x1bW5zOyBpKyspIHsKKwkJY2hhciAqc3RyID0gTlVMTDsKKworCQlzd2l0Y2ggKGdldF9jb2x1bW5faWQoaSkpIHsKKwkJY2FzZSBDT0xfU1JDOgorCQkJeGFzcHJpbnRmKCZzdHIsICIlcyIsIGwtPmNtZG5hbWUgPyBsLT5jbWRuYW1lIDogbm90Zm5kKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9QSUQ6CisJCQl4YXNwcmludGYoJnN0ciwgIiVkIiwgbC0+cGlkKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9UWVBFOgorCQkJeGFzcHJpbnRmKCZzdHIsICIlcyIsIGwtPnR5cGUpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1NJWkU6CisJCQl4YXNwcmludGYoJnN0ciwgIiVzIiwgbC0+c2l6ZSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfTU9ERToKKwkJCXhhc3ByaW50Zigmc3RyLCAiJXMlcyIsIGwtPm1vZGUsIGwtPmJsb2NrZWQgPyAiKiIgOiAiIik7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfTToKKwkJCXhhc3ByaW50Zigmc3RyLCAiJWQiLCBsLT5tYW5kYXRvcnkgPyAxIDogMCk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfU1RBUlQ6CisJCQl4YXNwcmludGYoJnN0ciwgIiVqZCIsIGwtPnN0YXJ0KTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9FTkQ6CisJCQl4YXNwcmludGYoJnN0ciwgIiVqZCIsIGwtPmVuZCk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfUEFUSDoKKwkJCXhhc3ByaW50Zigmc3RyLCAiJXMiLCBsLT5wYXRoID8gbC0+cGF0aCA6IG5vdGZuZCk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfQkxPQ0tFUjoKKwkJeworCQkJcGlkX3QgYmwgPSBsLT5ibG9ja2VkICYmIGwtPmlkID8KKwkJCQkJCWdldF9ibG9ja2VyKGwtPmlkLCBsb2NrcykgOiAwOworCQkJaWYgKGJsKQorCQkJCXhhc3ByaW50Zigmc3RyLCAiJWQiLCAoaW50KSBibCk7CisJCX0KKwkJZGVmYXVsdDoKKwkJCWJyZWFrOworCQl9CisKKwkJaWYgKHN0cikKKwkJCXNjb2xzX2xpbmVfc2V0X2RhdGEobGluZSwgaSwgc3RyKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgc2hvd19sb2NrcyhzdHJ1Y3QgbGlzdF9oZWFkICpsb2NrcykKK3sKKwlpbnQgcmMgPSAwOworCXNpemVfdCBpOworCXN0cnVjdCBsaXN0X2hlYWQgKnAsICpwbmV4dDsKKwlzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRhYmxlOworCisJdGFibGUgPSBzY29sc19uZXdfdGFibGUoKTsKKwlpZiAoIXRhYmxlKSB7CisJCXdhcm4oXygiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IHRhYmxlIikpOworCQlyZXR1cm4gLTE7CisJfQorCXNjb2xzX3RhYmxlX2VuYWJsZV9yYXcodGFibGUsIHJhdyk7CisJc2NvbHNfdGFibGVfZW5hYmxlX2pzb24odGFibGUsIGpzb24pOworCXNjb2xzX3RhYmxlX2VuYWJsZV9ub2hlYWRpbmdzKHRhYmxlLCBub19oZWFkaW5ncyk7CisKKwlpZiAoanNvbikKKwkJc2NvbHNfdGFibGVfc2V0X25hbWUodGFibGUsICJsb2NrcyIpOworCisJZm9yIChpID0gMDsgaSA8IG5jb2x1bW5zOyBpKyspIHsKKwkJc3RydWN0IGNvbGluZm8gKmNvbCA9IGdldF9jb2x1bW5faW5mbyhpKTsKKworCQlpZiAoIXNjb2xzX3RhYmxlX25ld19jb2x1bW4odGFibGUsIGNvbC0+bmFtZSwgY29sLT53aGludCwgY29sLT5mbGFncykpIHsKKwkJCXdhcm54KF8oImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iKSk7CisJCQlyYyA9IC0xOworCQkJZ290byBkb25lOworCQl9CisJfQorCisJLyogcHJlcGFyZSBkYXRhIGZvciBvdXRwdXQgKi8KKwlsaXN0X2Zvcl9lYWNoKHAsIGxvY2tzKSB7CisJCXN0cnVjdCBsb2NrICpsID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgbG9jaywgbG9ja3MpOworCisJCWlmIChwaWQgJiYgcGlkICE9IGwtPnBpZCkKKwkJCWNvbnRpbnVlOworCisJCWFkZF9zY29sc19saW5lKHRhYmxlLCBsLCBsb2Nrcyk7CisJfQorCisJLyogZGVzdHJveSB0aGUgbGlzdCAqLworCWxpc3RfZm9yX2VhY2hfc2FmZShwLCBwbmV4dCwgbG9ja3MpIHsKKwkJc3RydWN0IGxvY2sgKmwgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBsb2NrLCBsb2Nrcyk7CisJCXJlbV9sb2NrKGwpOworCX0KKworCXNjb2xzX3ByaW50X3RhYmxlKHRhYmxlKTsKK2RvbmU6CisJc2NvbHNfdW5yZWZfdGFibGUodGFibGUpOworCXJldHVybiByYzsKK30KKworCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqIG91dCkKK3sKKwlzaXplX3QgaTsKKworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKworCWZwcmludGYob3V0LAorCQlfKCIgJXMgW29wdGlvbnNdXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkxpc3QgbG9jYWwgc3lzdGVtIGxvY2tzLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtSiwgLS1qc29uICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtaSwgLS1ub2luYWNjZXNzaWJsZSAgIGlnbm9yZSBsb2NrcyB3aXRob3V0IHJlYWQgcGVybWlzc2lvbnNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBkaXNwbGF5IG9ubHkgbG9ja3MgaGVsZCBieSB0aGlzIHByb2Nlc3NcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGRvbid0IHRydW5jYXRlIHRleHQgaW4gY29sdW1uc1xuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoVVNBR0VfSEVMUCwgb3V0KTsKKwlmcHV0cyhVU0FHRV9WRVJTSU9OLCBvdXQpOworCisJZnB1dHMoXygiXG5BdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tb3V0cHV0KTpcbiIpLCBvdXQpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoaW5mb3MpOyBpKyspCisJCWZwcmludGYob3V0LCAiICUxMXMgICVzXG4iLCBpbmZvc1tpXS5uYW1lLCBfKGluZm9zW2ldLmhlbHApKTsKKworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgibHNsb2Nrcyg4KSIpKTsKKworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJaW50IGMsIHJjID0gMDsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGxvY2tzOworCWNoYXIgKm91dGFyZyA9IE5VTEw7CisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ19vcHRzW10gPSB7CisJCXsgImpzb24iLCAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ0onIH0sCisJCXsgInBpZCIsCXJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAncCcgfSwKKwkJeyAiaGVscCIsCW5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnaCcgfSwKKwkJeyAib3V0cHV0IiwgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbycgfSwKKwkJeyAibm90cnVuY2F0ZSIsIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAndScgfSwKKwkJeyAidmVyc2lvbiIsICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnVicgfSwKKwkJeyAibm9oZWFkaW5ncyIsIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnbicgfSwKKwkJeyAicmF3IiwgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAncicgfSwKKwkJeyAibm9pbmFjY2Vzc2libGUiLCBub19hcmd1bWVudCwgTlVMTCwgJ2knIH0sCisJCXsgTlVMTCwgMCwgTlVMTCwgMCB9CisJfTsKKworCXN0YXRpYyBjb25zdCB1bF9leGNsX3QgZXhjbFtdID0gewkvKiByb3dzIGFuZCBjb2xzIGluIEFTQ0lJIG9yZGVyICovCisJCXsgJ0onLCdyJyB9LAorCQl7IDAgfQorCX07CisJaW50IGV4Y2xfc3RbQVJSQVlfU0laRShleGNsKV0gPSBVTF9FWENMX1NUQVRVU19JTklUOworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LAorCQkJCSJpSnA6bzpucnVoViIsIGxvbmdfb3B0cywgTlVMTCkpICE9IC0xKSB7CisKKwkJZXJyX2V4Y2x1c2l2ZV9vcHRpb25zKGMsIGxvbmdfb3B0cywgZXhjbCwgZXhjbF9zdCk7CisKKwkJc3dpdGNoKGMpIHsKKwkJY2FzZSAnaSc6CisJCQlub19pbmFjY2Vzc2libGUgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ0onOgorCQkJanNvbiA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAncCc6CisJCQlwaWQgPSBzdHJ0b3MzMl9vcl9lcnIob3B0YXJnLCBfKCJpbnZhbGlkIFBJRCBhcmd1bWVudCIpKTsKKwkJCWJyZWFrOworCQljYXNlICdvJzoKKwkJCW91dGFyZyA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShzdGRvdXQpOworCQljYXNlICduJzoKKwkJCW5vX2hlYWRpbmdzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdyJzoKKwkJCXJhdyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAndSc6CisJCQlkaXNhYmxlX2NvbHVtbnNfdHJ1bmNhdGUoKTsKKwkJCWJyZWFrOworCQljYXNlICc/JzoKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKHN0ZGVycik7CisJCX0KKwl9CisKKwlJTklUX0xJU1RfSEVBRCgmbG9ja3MpOworCisJaWYgKCFuY29sdW1ucykgeworCQkvKiBkZWZhdWx0IGNvbHVtbnMgKi8KKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9TUkM7CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfUElEOworCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX1RZUEU7CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfU0laRTsKKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9NT0RFOworCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX007CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfU1RBUlQ7CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfRU5EOworCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX1BBVEg7CisJfQorCisJaWYgKG91dGFyZyAmJiBzdHJpbmdfYWRkX3RvX2lkYXJyYXkob3V0YXJnLCBjb2x1bW5zLCBBUlJBWV9TSVpFKGNvbHVtbnMpLAorCQkJCQkgJm5jb2x1bW5zLCBjb2x1bW5fbmFtZV90b19pZCkgPCAwKQorCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCisJc2NvbHNfaW5pdF9kZWJ1ZygwKTsKKworCXJjID0gZ2V0X2xvY2FsX2xvY2tzKCZsb2Nrcyk7CisKKwlpZiAoIXJjICYmICFsaXN0X2VtcHR5KCZsb2NrcykpCisJCXJjID0gc2hvd19sb2NrcygmbG9ja3MpOworCisJbW50X3VucmVmX3RhYmxlKHRhYik7CisJcmV0dXJuIHJjOworfQpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy9tY29va2llLjEgYi9taXNjLXV0aWxzL21jb29raWUuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjZhNWVkCi0tLSAvZGV2L251bGwKKysrIGIvbWlzYy11dGlscy9tY29va2llLjEKQEAgLTAsMCArMSw2NyBAQAorLlwiIG1jb29raWUuMSAtLQorLlwiIFB1YmxpYyBEb21haW4gMTk5NSBSaWNrYXJkIEUuIEZhaXRoIChmYWl0aEBjcy51bmMuZWR1KQorLlRIIE1DT09LSUUgMSAiRGVjZW1iZXIgMjAxNCIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK21jb29raWUgXC0gZ2VuZXJhdGUgbWFnaWMgY29va2llcyBmb3IgeGF1dGgKKy5TSCBTWU5PUFNJUworLkIgbWNvb2tpZQorW29wdGlvbnNdCisuU0ggREVTQ1JJUFRJT04KKy5CIG1jb29raWUKK2dlbmVyYXRlcyBhIDEyOC1iaXQgcmFuZG9tIGhleGFkZWNpbWFsIG51bWJlciBmb3IgdXNlIHdpdGggdGhlIFggYXV0aG9yaXR5CitzeXN0ZW0uICBUeXBpY2FsIHVzYWdlOgorLnNwCisuUlMKKy5CIHhhdXRoIGFkZCA6MCAuIGBtY29va2llYAorLlJFCisuUFAKK1RoZSAicmFuZG9tIiBudW1iZXIgZ2VuZXJhdGVkIGlzIGFjdHVhbGx5IHRoZSBNRDUgbWVzc2FnZQorZGlnZXN0IG9mIHJhbmRvbSBpbmZvcm1hdGlvbiBjb21pbmcgZnJvbSBvbmUgb2YgdGhlIHNvdXJjZXMKKy5JUiAvZGV2L3VyYW5kb20gLAorLklSIC9kZXYvcmFuZG9tICwKK29yIHRoZQorLklSICJsaWJjIHBzZXVkby1yYW5kb20gZnVuY3Rpb25zIiAsCitpbiB0aGlzIHByZWZlcmVuY2Ugb3JkZXIuCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1mICwgIiBcLVwtZmlsZSAiIFxmSWZpbGUKK1VzZSB0aGlzIFxmSWZpbGVcZlIgYXMgYW4gYWRkaXRpb25hbCBzb3VyY2Ugb2YgcmFuZG9tbmVzcy4KK1doZW4gXGZJZmlsZVxmUiBpcyAnLScsIGNoYXJhY3RlcnMgYXJlIHJlYWQgZnJvbSBzdGFuZGFyZCBpbnB1dC4KKy5UUAorLkJSIFwtbSAsICIgXC1cLW1heFwtc2l6ZSAiIFxmSW51bWJlcgorUmVhZCBmcm9tIFxmSWZpbGVcZlIgb25seSB0aGlzIFxmSW51bWJlclxmUiBvZiBieXRlcy4KK1RoaXMgb3B0aW9uIGlzIG1lYW50IHRvIGJlIHVzZWQgd2hlbiByZWFkaW5nIGFkZGl0aW9uYWwKK3JhbmRvbW5lc3MgZnJvbSBhIGZpbGUgb3IgZGV2aWNlLgorLklQCitUaGUKKy5JIG51bWJlcgorYXJndW1lbnQgbWF5IGJlIGZvbGxvd2VkIGJ5IHRoZSBtdWx0aXBsaWNhdGl2ZSBzdWZmaXhlcyBLaUI9MTAyNCwKK01pQj0xMDI0KjEwMjQsIGFuZCBzbyBvbiBmb3IgR2lCLCBUaUIsIFBpQiwgRWlCLCBaaUIgYW5kIFlpQiAodGhlICJpQiIgaXMKK29wdGlvbmFsLCBlLmcuLCAiSyIgaGFzIHRoZSBzYW1lIG1lYW5pbmcgYXMgIktpQiIpIG9yIHRoZSBzdWZmaXhlcworS0I9MTAwMCwgTUI9MTAwMCoxMDAwLCBhbmQgc28gb24gZm9yIEdCLCBUQiwgUEIsIEVCLCBaQiBhbmQgWUIuCisuVFAKKy5CUiBcLXYgLCAiIFwtXC12ZXJib3NlIgorSW5mb3JtIHdoZXJlIHJhbmRvbW5lc3Mgb3JpZ2luYXRlZCwgd2l0aCBhbW91bnQgb2YgZW50cm9weSByZWFkIGZyb20gZWFjaAorc291cmNlLgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBCVUdTCitJdCBpcyBhc3N1bWVkIHRoYXQgbm9uZSBvZiB0aGUgcmFuZG9tbmVzcyBzb3VyY2VzIHdpbGwgYmxvY2suCisuU0ggRklMRVMKKy5JIC9kZXYvdXJhbmRvbQorLmJyCisuSSAvZGV2L3JhbmRvbQorLlNIICJTRUUgQUxTTyIKKy5CUiBtZDVzdW0gKDEpLAorLkJSIFggKDEpLAorLkJSIHhhdXRoICgxKSwKKy5CUiByYW5kICgzKQorLlNIIEFWQUlMQUJJTElUWQorVGhlIG1jb29raWUgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgZnRwOi8vXDpmdHAua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL21jb29raWUuYyBiL21pc2MtdXRpbHMvbWNvb2tpZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmZWIzNmEKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL21jb29raWUuYwpAQCAtMCwwICsxLDE5NSBAQAorLyogbWNvb2tpZS5jIC0tIEdlbmVyYXRlcyByYW5kb20gbnVtYmVycyBmb3IgeGF1dGgKKyAqIENyZWF0ZWQ6IEZyaSBGZWIgIDMgMTA6NDI6NDggMTk5NSBieSBmYWl0aEBjcy51bmMuZWR1CisgKiBSZXZpc2VkOiBGcmkgTWFyIDE5IDA3OjQ4OjAxIDE5OTkgYnkgZmFpdGhAYWNtLm9yZworICogUHVibGljIERvbWFpbiAxOTk1LCAxOTk5IFJpY2thcmQgRS4gRmFpdGggKGZhaXRoQGFjbS5vcmcpCisgKiBUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLgorICogCisgKiBUaGlzIHByb2dyYW0gZ2F0aGVycyBzb21lIHJhbmRvbSBiaXRzIG9mIGRhdGEgYW5kIHVzZWQgdGhlIE1ENQorICogbWVzc2FnZS1kaWdlc3QgYWxnb3JpdGhtIHRvIGdlbmVyYXRlIGEgMTI4LWJpdCBoZXhhZGVjaW1hbCBudW1iZXIgZm9yCisgKiB1c2Ugd2l0aCB4YXV0aCgxKS4KKyAqCisgKiBOT1RFOiBVbmxlc3MgL2Rldi9yYW5kb20gaXMgYXZhaWxhYmxlLCB0aGlzIHByb2dyYW0gZG9lcyBub3QgYWN0dWFsbHkKKyAqIGdhdGhlciAxMjggYml0cyBvZiByYW5kb20gaW5mb3JtYXRpb24sIHNvIHRoZSBtYWdpYyBjb29raWUgZ2VuZXJhdGVkCisgKiB3aWxsIGJlIGNvbnNpZGVyYWJseSBlYXNpZXIgdG8gZ3Vlc3MgdGhhbiBvbmUgbWlnaHQgZXhwZWN0LgorICoKKyAqIDE5OTktMDItMjIgQXJrYWRpdXN6IE1pxZtraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4KKyAqIC0gYWRkZWQgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKKyAqIDE5OTktMDMtMjEgYWViOiBBZGRlZCBzb21lIGZyYWdtZW50cyBvZiBjb2RlIGZyb20gQ29saW4gUGx1bWIuCisgKgorICovCisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibWQ1LmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJyYW5kdXRpbHMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgImFsbC1pby5oIgorCisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxzdGRkZWYuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKK2VudW0geworCUJVRkZFUlNJWkUgPSA0MDk2LAorCVJBTkRfQllURVMgPSAxMjgKK307CisKK3N0cnVjdCBtY29va2llX2NvbnRyb2wgeworCXN0cnVjdAlNRDVDb250ZXh0IGN0eDsKKwljaGFyCSoqZmlsZXM7CisJc2l6ZV90CW5maWxlczsKKwl1aW50NjRfdCBtYXhzejsKKworCXVuc2lnbmVkIGludCB2ZXJib3NlOjE7Cit9OworCisvKiBUaGUgYmFzaWMgZnVuY3Rpb24gdG8gaGFzaCBhIGZpbGUgKi8KK3N0YXRpYyB1aW50NjRfdCBoYXNoX2ZpbGUoc3RydWN0IG1jb29raWVfY29udHJvbCAqY3RsLCBpbnQgZmQpCit7CisJdW5zaWduZWQgY2hhciBidWZbQlVGRkVSU0laRV07CisJdWludDY0X3Qgd2FudGVkLCBjb3VudDsKKworCXdhbnRlZCA9IGN0bC0+bWF4c3ogPyBjdGwtPm1heHN6IDogc2l6ZW9mKGJ1Zik7CisKKwlmb3IgKGNvdW50ID0gMDsgY291bnQgPCB3YW50ZWQ7ICkgeworCQlzaXplX3QgcmRzeiA9IHNpemVvZihidWYpOworCQlzc2l6ZV90IHI7CisKKwkJaWYgKHdhbnRlZCAtIGNvdW50IDwgcmRzeikKKwkJCXJkc3ogPSB3YW50ZWQgLSBjb3VudDsKKworCQlyID0gcmVhZF9hbGwoZmQsIChjaGFyICopIGJ1ZiwgcmRzeik7CisJCWlmIChyIDwgMCkKKwkJCWJyZWFrOworCQlNRDVVcGRhdGUoJmN0bC0+Y3R4LCBidWYsIHIpOworCQljb3VudCArPSByOworCX0KKwkvKiBTZXBhcmF0ZSBmaWxlcyB3aXRoIGEgbnVsbCBieXRlICovCisJYnVmWzBdID0gJ1wwJzsKKwlNRDVVcGRhdGUoJmN0bC0+Y3R4LCBidWYsIDEpOworCXJldHVybiBjb3VudDsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXyAoKF9fbm9yZXR1cm5fXykpIHVzYWdlKEZJTEUgKiBvdXQpCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJXMgW29wdGlvbnNdXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkdlbmVyYXRlIG1hZ2ljIGNvb2tpZXMgZm9yIHhhdXRoLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgdXNlIGZpbGUgYXMgYSBjb29raWUgc2VlZFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1tLCAtLW1heC1zaXplIDxudW0+ICBsaW1pdCBob3cgbXVjaCBpcyByZWFkIGZyb20gc2VlZCBmaWxlc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC12LCAtLXZlcmJvc2UgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoVVNBR0VfSEVMUCwgb3V0KTsKKwlmcHV0cyhVU0FHRV9WRVJTSU9OLCBvdXQpOworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgibWNvb2tpZSgxKSIpKTsKKworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyB2b2lkIHJhbmRvbW5lc3NfZnJvbV9maWxlcyhzdHJ1Y3QgbWNvb2tpZV9jb250cm9sICpjdGwpCit7CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgY3RsLT5uZmlsZXM7IGkrKykgeworCQljb25zdCBjaGFyICpmbmFtZSA9IGN0bC0+ZmlsZXNbaV07CisJCXNpemVfdCBjb3VudDsKKwkJaW50IGZkOworCisJCWlmICgqZm5hbWUgPT0gJy0nICYmICEqKGZuYW1lICsgMSkpCisJCQlmZCA9IFNURElOX0ZJTEVOTzsKKwkJZWxzZQorCQkJZmQgPSBvcGVuKGZuYW1lLCBPX1JET05MWSk7CisKKwkJaWYgKGZkIDwgMCkgeworCQkJd2FybihfKCJjYW5ub3Qgb3BlbiAlcyIpLCBmbmFtZSk7CisJCX0gZWxzZSB7CisJCQljb3VudCA9IGhhc2hfZmlsZShjdGwsIGZkKTsKKwkJCWlmIChjdGwtPnZlcmJvc2UpCisJCQkJZnByaW50ZihzdGRlcnIsCisJCQkJCVBfKCJHb3QgJXp1IGJ5dGUgZnJvbSAlc1xuIiwKKwkJCQkJICAgIkdvdCAlenUgYnl0ZXMgZnJvbSAlc1xuIiwgY291bnQpLAorCQkJCQljb3VudCwgZm5hbWUpOworCisJCQlpZiAoZmQgIT0gU1RESU5fRklMRU5PICYmIGNsb3NlKGZkKSkKKwkJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjbG9zaW5nICVzIGZhaWxlZCIpLCBmbmFtZSk7CisJCX0KKwl9Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlzdHJ1Y3QgbWNvb2tpZV9jb250cm9sIGN0bCA9IHsgLnZlcmJvc2UgPSAwIH07CisJc2l6ZV90IGk7CisJdW5zaWduZWQgY2hhciBkaWdlc3RbTUQ1TEVOR1RIXTsKKwl1bnNpZ25lZCBjaGFyIGJ1ZltSQU5EX0JZVEVTXTsKKwlpbnQgYzsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsiZmlsZSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnZid9LAorCQl7Im1heC1zaXplIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdtJ30sCisJCXsidmVyYm9zZSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAndid9LAorCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1YnfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIE5VTEwsICdoJ30sCisJCXtOVUxMLCAwLCBOVUxMLCAwfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImY6bTp2VmgiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisJCXN3aXRjaCAoYykgeworCQljYXNlICd2JzoKKwkJCWN0bC52ZXJib3NlID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdmJzoKKwkJCWlmICghY3RsLmZpbGVzKQorCQkJCWN0bC5maWxlcyA9IHhtYWxsb2Moc2l6ZW9mKGNoYXIgKikgKiBhcmdjKTsKKwkJCWN0bC5maWxlc1tjdGwubmZpbGVzKytdID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ20nOgorCQkJY3RsLm1heHN6ID0gc3RydG9zaXplX29yX2VycihvcHRhcmcsCisJCQkJCQkgICAgIF8oImZhaWxlZCB0byBwYXJzZSBsZW5ndGgiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2Uoc3Rkb3V0KTsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKHN0ZGVycik7CisJCX0KKwl9CisKKwlpZiAoY3RsLm1heHN6ICYmIGN0bC5uZmlsZXMgPT0gMCkKKwkJd2FybngoXygiLS1tYXgtc2l6ZSBpZ25vcmVkIHdoZW4gdXNlZCB3aXRob3V0IC0tZmlsZSIpKTsKKworCXJhbmRvbW5lc3NfZnJvbV9maWxlcygmY3RsKTsKKwlmcmVlKGN0bC5maWxlcyk7CisKKwlyYW5kb21fZ2V0X2J5dGVzKCZidWYsIFJBTkRfQllURVMpOworCU1ENVVwZGF0ZSgmY3RsLmN0eCwgYnVmLCBSQU5EX0JZVEVTKTsKKwlpZiAoY3RsLnZlcmJvc2UpCisJCWZwcmludGYoc3RkZXJyLCBQXygiR290ICVkIGJ5dGUgZnJvbSAlc1xuIiwKKwkJCQkgICAiR290ICVkIGJ5dGVzIGZyb20gJXNcbiIsIFJBTkRfQllURVMpLAorCQkJCVJBTkRfQllURVMsIHJhbmRvbV90ZWxsX3NvdXJjZSgpKTsKKworCU1ENUZpbmFsKGRpZ2VzdCwgJmN0bC5jdHgpOworCWZvciAoaSA9IDA7IGkgPCBNRDVMRU5HVEg7IGkrKykKKwkJcHJpbnRmKCIlMDJ4IiwgZGlnZXN0W2ldKTsKKwlwdXRjaGFyKCdcbicpOworCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvbmFtZWkuMSBiL21pc2MtdXRpbHMvbmFtZWkuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTYwZTE1Ci0tLSAvZGV2L251bGwKKysrIGIvbWlzYy11dGlscy9uYW1laS4xCkBAIC0wLDAgKzEsODAgQEAKKy5USCBOQU1FSSAxICJKdW5lIDIwMTEiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCituYW1laSBcLSBmb2xsb3cgYSBwYXRobmFtZSB1bnRpbCBhIHRlcm1pbmFsIHBvaW50IGlzIGZvdW5kCisuU0ggU1lOT1BTSVMKKy5CIG5hbWVpCitbb3B0aW9uc10KKy5JUiBwYXRobmFtZSAuLi4KKy5TSCBERVNDUklQVElPTgorLkIgbmFtZWkKK2ludGVycHJldHMgaXRzIGFyZ3VtZW50cyBhcyBwYXRobmFtZXMgdG8gYW55IHR5cGUKK29mIFVuaXggZmlsZSAoc3ltbGlua3MsIGZpbGVzLCBkaXJlY3RvcmllcywgYW5kIHNvIGZvcnRoKS4KKy5CIG5hbWVpCit0aGVuIGZvbGxvd3MgZWFjaCBwYXRobmFtZSB1bnRpbCBhbiBlbmRwb2ludAoraXMgZm91bmQgKGEgZmlsZSwgYSBkaXJlY3RvcnksIGEgZGV2aWNlIG5vZGUsIGV0YykuCitJZiBpdCBmaW5kcyBhIHN5bWJvbGljIGxpbmssIGl0IHNob3dzIHRoZSBsaW5rLCBhbmQgc3RhcnRzCitmb2xsb3dpbmcgaXQsIGluZGVudGluZyB0aGUgb3V0cHV0IHRvIHNob3cgdGhlIGNvbnRleHQuCisuUFAKK1RoaXMgcHJvZ3JhbSBpcyB1c2VmdWwgZm9yIGZpbmRpbmcgInRvbyBtYW55IGxldmVscyBvZgorc3ltYm9saWMgbGlua3MiIHByb2JsZW1zLgorLlBQCitGb3IgZWFjaCBsaW5lIG9mIG91dHB1dCwKKy5CIG5hbWVpCit1c2VzIHRoZSBmb2xsb3dpbmcgY2hhcmFjdGVycyB0byBpZGVudGlmeSB0aGUgZmlsZSB0eXBlIGZvdW5kOgorLkxQCisubmYKKyAgIGY6ID0gdGhlIHBhdGhuYW1lIGN1cnJlbnRseSBiZWluZyByZXNvbHZlZAorICAgIGQgPSBkaXJlY3RvcnkKKyAgICBsID0gc3ltYm9saWMgbGluayAoYm90aCB0aGUgbGluayBhbmQgaXRzIGNvbnRlbnRzIGFyZSBvdXRwdXQpCisgICAgcyA9IHNvY2tldAorICAgIGIgPSBibG9jayBkZXZpY2UKKyAgICBjID0gY2hhcmFjdGVyIGRldmljZQorICAgIHAgPSBGSUZPIChuYW1lZCBwaXBlKQorICAgIC0gPSByZWd1bGFyIGZpbGUKKyAgICA/ID0gYW4gZXJyb3Igb2Ygc29tZSBraW5kCisuZmkKKy5QUAorLkIgbmFtZWkKK3ByaW50cyBhbiBpbmZvcm1hdGl2ZSBtZXNzYWdlIHdoZW4KK3RoZSBtYXhpbXVtIG51bWJlciBvZiBzeW1ib2xpYyBsaW5rcyB0aGlzIHN5c3RlbSBjYW4gaGF2ZSBoYXMgYmVlbiBleGNlZWRlZC4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLWwgLCAiIFwtXC1sb25nIgorVXNlIHRoZSBsb25nIGxpc3RpbmcgZm9ybWF0IChzYW1lIGFzIFxmQlwtbSBcLW8gXC12XGZSKS4KKy5UUAorLkJSIFwtbSAsICIgXC1cLW1vZGVzIgorU2hvdyB0aGUgbW9kZSBiaXRzIG9mIGVhY2ggZmlsZSB0eXBlIGluIHRoZSBzdHlsZSBvZiBscygxKSwKK2ZvciBleGFtcGxlICdyd3hyLXhyLXgnLgorLlRQCisuQlIgXC1uICwgIiBcLVwtbm9zeW1saW5rcyIKK0Rvbid0IGZvbGxvdyBzeW1saW5rcy4KKy5UUAorLkJSIFwtbyAsICIgXC1cLW93bmVycyIKK1Nob3cgb3duZXIgYW5kIGdyb3VwIG5hbWUgb2YgZWFjaCBmaWxlLgorLlRQCisuQlIgXC12ICwgIiBcLVwtdmVydGljYWwiCitWZXJ0aWNhbGx5IGFsaWduIHRoZSBtb2RlcyBhbmQgb3duZXJzLgorLlRQCisuQlIgXC14ICwgIiBcLVwtbW91bnRwb2ludHMiCitTaG93IG1vdW50cG9pbnQgZGlyZWN0b3JpZXMgd2l0aCBhICdEJyByYXRoZXIgdGhhbiBhICdkJy4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggQVVUSE9SCitUaGUgb3JpZ2luYWwKKy5CIG5hbWVpCitwcm9ncmFtIHdhcyB3cml0dGVuIGJ5IFJvZ2VyIFNvdXRod2ljayA8cm9nZXJzQGFtYWRldXMud3IudGVrLmNvbT4uCisuc3AKK1RoZSBwcm9ncmFtIHdhcyByZXdyaXR0ZW4gYnkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+LgorLlNIIEJVR1MKK1RvIGJlIGRpc2NvdmVyZWQuCisuU0ggIlNFRSBBTFNPIgorLkJSIGxzICgxKSwKKy5CUiBzdGF0ICgxKSwKKy5CUiBzeW1saW5rICg3KQorLlNIIEFWQUlMQUJJTElUWQorVGhlIG5hbWVpIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy9uYW1laS5jIGIvbWlzYy11dGlscy9uYW1laS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmNjc4ZTAKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL25hbWVpLmMKQEAgLTAsMCArMSw0NTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyAqCisgKiBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogVGhlIG9yaWdpbmFsIG5hbWVpKDEpIHdhcyB3cml0dGVuIGJ5OgorICoJUm9nZXIgUy4gU291dGh3aWNrIChNYXkgMiwgMTk5MCkKKyAqCVN0ZXZlIFRlbGwgKE1hcmNoIDI4LCAxOTkxKQorICoJQXJrYWRpdXN6IE1pxZtraWV3aWN6ICgxOTk5LTAyLTIyKQorICoJTGkgWmVmYW4gKDIwMDctMDktMTApLgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KKyNpbmNsdWRlIDxwd2QuaD4KKyNpbmNsdWRlIDxncnAuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJ3aWRlY2hhci5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJpZGNhY2hlLmgiCisKKyNpZm5kZWYgTUFYU1lNTElOS1MKKyNkZWZpbmUgTUFYU1lNTElOS1MgMjU2CisjZW5kaWYKKworI2RlZmluZSBOQU1FSV9OT0xJTktTCSgxIDw8IDEpCisjZGVmaW5lIE5BTUVJX01PREVTCSgxIDw8IDIpCisjZGVmaW5lIE5BTUVJX01OVFMJKDEgPDwgMykKKyNkZWZpbmUgTkFNRUlfT1dORVJTCSgxIDw8IDQpCisjZGVmaW5lIE5BTUVJX1ZFUlRJQ0FMCSgxIDw8IDUpCisKKworc3RydWN0IG5hbWVpIHsKKwlzdHJ1Y3Qgc3RhdAlzdDsJCS8qIGl0ZW0gbHN0YXQoKSAqLworCWNoYXIJCSpuYW1lOwkJLyogaXRlbSBuYW1lICovCisJY2hhcgkJKmFic2xpbms7CS8qIGFic29sdXRlIHN5bWxpbmsgcGF0aCAqLworCWludAkJcmVsc3RhcnQ7CS8qIG9mZnNldCBvZiByZWxhdGl2ZSBwYXRoIGluICdhYnNsaW5rJyAqLworCXN0cnVjdCBuYW1laQkqbmV4dDsJCS8qIG5leHQgaXRlbSAqLworCWludAkJbGV2ZWw7CisJaW50CQltb3VudHBvaW50OwkvKiBpcyBtb3VudCBwb2ludCAqLworCWludAkJbm9lbnQ7CQkvKiBpcyB0aGlzIGl0ZW0gbm90IGV4aXN0aW5nICovCit9OworCitzdGF0aWMgaW50IGZsYWdzOworc3RhdGljIHN0cnVjdCBpZGNhY2hlICpnY2FjaGU7CS8qIGdyb3VwbmFtZXMgKi8KK3N0YXRpYyBzdHJ1Y3QgaWRjYWNoZSAqdWNhY2hlOwkvKiB1c2VybmFtZXMgKi8KKworc3RhdGljIHZvaWQKK2ZyZWVfbmFtZWkoc3RydWN0IG5hbWVpICpubSkKK3sKKwl3aGlsZSAobm0pIHsKKwkJc3RydWN0IG5hbWVpICpuZXh0ID0gbm0tPm5leHQ7CisJCWZyZWUobm0tPm5hbWUpOworCQlmcmVlKG5tLT5hYnNsaW5rKTsKKwkJZnJlZShubSk7CisJCW5tID0gbmV4dDsKKwl9Cit9CisKK3N0YXRpYyB2b2lkCityZWFkbGlua190b19uYW1laShzdHJ1Y3QgbmFtZWkgKm5tLCBjb25zdCBjaGFyICpwYXRoKQoreworCWNoYXIgc3ltW1BBVEhfTUFYXTsKKwlzc2l6ZV90IHN6OworCWludCBpc3JlbCA9IDA7CisKKwlzeiA9IHJlYWRsaW5rKHBhdGgsIHN5bSwgc2l6ZW9mKHN5bSkpOworCWlmIChzeiA8IDEpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byByZWFkIHN5bWxpbms6ICVzIiksIHBhdGgpOworCWlmICgqc3ltICE9ICcvJykgeworCQljaGFyICpwID0gc3RycmNocihwYXRoLCAnLycpOworCisJCWlmIChwKSB7CisJCQlpc3JlbCA9IDE7CisJCQlubS0+cmVsc3RhcnQgPSBwIC0gcGF0aDsKKwkJCXN6ICs9IG5tLT5yZWxzdGFydCArIDE7CisJCX0KKwl9CisJbm0tPmFic2xpbmsgPSB4bWFsbG9jKHN6ICsgMSk7CisKKwlpZiAoKnN5bSAhPSAnLycgJiYgaXNyZWwpIHsKKwkJLyogY3JlYXRlIHRoZSBhYnNvbHV0ZSBwYXRoIGZyb20gdGhlIHJlbGF0aXZlIHN5bWxpbmsgKi8KKwkJbWVtY3B5KG5tLT5hYnNsaW5rLCBwYXRoLCBubS0+cmVsc3RhcnQpOworCQkqKG5tLT5hYnNsaW5rICsgbm0tPnJlbHN0YXJ0KSA9ICcvJzsKKwkJbm0tPnJlbHN0YXJ0Kys7CisJCW1lbWNweShubS0+YWJzbGluayArIG5tLT5yZWxzdGFydCwgc3ltLCBzeiAtIG5tLT5yZWxzdGFydCk7CisJfSBlbHNlCisJCS8qIC0gYWJzb2x1dGUgbGluayAoZm9vIC0+IC9wYXRoL2JhcikKKwkJICogLSBvciBsaW5rIHdpdGhvdXQgYW55IHN1YmRpciAoZm9vIC0+IGJhcikKKwkJICovCisJCW1lbWNweShubS0+YWJzbGluaywgc3ltLCBzeik7CisKKwlubS0+YWJzbGlua1tzel0gPSAnXDAnOworfQorCitzdGF0aWMgc3RydWN0IHN0YXQgKgorZG90ZG90X3N0YXQoY29uc3QgY2hhciAqZGlybmFtZSwgc3RydWN0IHN0YXQgKnN0KQoreworCWNoYXIgKnBhdGg7CisJc2l6ZV90IGxlbjsKKworI2RlZmluZSBET1RET1RESVIJIi8uLiIKKworCWlmICghZGlybmFtZSkKKwkJcmV0dXJuIE5VTEw7CisKKwlsZW4gPSBzdHJsZW4oZGlybmFtZSk7CisJcGF0aCA9IHhtYWxsb2MobGVuICsgc2l6ZW9mKERPVERPVERJUikpOworCisJbWVtY3B5KHBhdGgsIGRpcm5hbWUsIGxlbik7CisJbWVtY3B5KHBhdGggKyBsZW4sIERPVERPVERJUiwgc2l6ZW9mKERPVERPVERJUikpOworCisJaWYgKHN0YXQocGF0aCwgc3QpKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJzdGF0IG9mICVzIGZhaWxlZCIpLCBwYXRoKTsKKwlmcmVlKHBhdGgpOworCXJldHVybiBzdDsKK30KKworc3RhdGljIHN0cnVjdCBuYW1laSAqCituZXdfbmFtZWkoc3RydWN0IG5hbWVpICpwYXJlbnQsIGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKmZuYW1lLCBpbnQgbGV2KQoreworCXN0cnVjdCBuYW1laSAqbm07CisKKwlpZiAoIWZuYW1lKQorCQlyZXR1cm4gTlVMTDsKKwlubSA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpubSkpOworCWlmIChwYXJlbnQpCisJCXBhcmVudC0+bmV4dCA9IG5tOworCisJbm0tPmxldmVsID0gbGV2OworCW5tLT5uYW1lID0geHN0cmR1cChmbmFtZSk7CisKKwlubS0+bm9lbnQgPSAobHN0YXQocGF0aCwgJm5tLT5zdCkgPT0gLTEpOworCWlmIChubS0+bm9lbnQpCisJCXJldHVybiBubTsKKworCWlmIChTX0lTTE5LKG5tLT5zdC5zdF9tb2RlKSkKKwkJcmVhZGxpbmtfdG9fbmFtZWkobm0sIHBhdGgpOworCWlmIChmbGFncyAmIE5BTUVJX09XTkVSUykgeworCQlhZGRfdWlkKHVjYWNoZSwgbm0tPnN0LnN0X3VpZCk7CisJCWFkZF9naWQoZ2NhY2hlLCBubS0+c3Quc3RfZ2lkKTsKKwl9CisKKwlpZiAoKGZsYWdzICYgTkFNRUlfTU5UUykgJiYgU19JU0RJUihubS0+c3Quc3RfbW9kZSkpIHsKKwkJc3RydWN0IHN0YXQgc3RidWYsICpzYiA9IE5VTEw7CisKKwkJaWYgKHBhcmVudCAmJiBTX0lTRElSKHBhcmVudC0+c3Quc3RfbW9kZSkpCisJCQlzYiA9ICZwYXJlbnQtPnN0OworCQllbHNlIGlmICghcGFyZW50IHx8IFNfSVNMTksocGFyZW50LT5zdC5zdF9tb2RlKSkKKwkJCXNiID0gZG90ZG90X3N0YXQocGF0aCwgJnN0YnVmKTsKKworCQlpZiAoc2IgJiYgKHNiLT5zdF9kZXYgIT0gbm0tPnN0LnN0X2RldiB8fCAgIC8qIGRpZmZlcmVudCBkZXZpY2UgKi8KKwkJICAgICAgICAgICBzYi0+c3RfaW5vID09IG5tLT5zdC5zdF9pbm8pKSAgICAvKiByb290IGRpcmVjdG9yeSAqLworCQkJbm0tPm1vdW50cG9pbnQgPSAxOworCX0KKworCXJldHVybiBubTsKK30KKworc3RhdGljIHN0cnVjdCBuYW1laSAqCithZGRfbmFtZWkoc3RydWN0IG5hbWVpICpwYXJlbnQsIGNvbnN0IGNoYXIgKm9yZ3BhdGgsIGludCBzdGFydCwgc3RydWN0IG5hbWVpICoqbGFzdCkKK3sKKwlzdHJ1Y3QgbmFtZWkgKm5tID0gTlVMTCwgKmZpcnN0ID0gTlVMTDsKKwljaGFyICpmbmFtZSwgKmVuZCwgKnBhdGg7CisJaW50IGxldmVsID0gMDsKKworCWlmICghb3JncGF0aCkKKwkJcmV0dXJuIE5VTEw7CisJaWYgKHBhcmVudCkgeworCQlubSA9IHBhcmVudDsKKwkJbGV2ZWwgPSBwYXJlbnQtPmxldmVsICsgMTsKKwl9CisJcGF0aCA9IHhzdHJkdXAob3JncGF0aCk7CisJZm5hbWUgPSBwYXRoICsgc3RhcnQ7CisKKwkvKiByb290IGRpcmVjdG9yeSAqLworCWlmICgqZm5hbWUgPT0gJy8nKSB7CisJCXdoaWxlICgqZm5hbWUgPT0gJy8nKQorCQkJZm5hbWUrKzsgLyogZWF0IGV4dHJhICcvJyAqLworCQlmaXJzdCA9IG5tID0gbmV3X25hbWVpKG5tLCAiLyIsICIvIiwgbGV2ZWwpOworCX0KKworCWZvciAoZW5kID0gZm5hbWU7IGZuYW1lICYmIGVuZDsgKSB7CisJCS8qIHNldCBlbmQgb2YgZmlsZW5hbWUgKi8KKwkJaWYgKCpmbmFtZSkgeworCQkJZW5kID0gc3RyY2hyKGZuYW1lLCAnLycpOworCQkJaWYgKGVuZCkKKwkJCQkqZW5kID0gJ1wwJzsKKworCQkJLyogY3JlYXRlIGEgbmV3IGVudHJ5ICovCisJCQlubSA9IG5ld19uYW1laShubSwgcGF0aCwgZm5hbWUsIGxldmVsKTsKKwkJfSBlbHNlCisJCQllbmQgPSBOVUxMOworCQlpZiAoIWZpcnN0KQorCQkJZmlyc3QgPSBubTsKKwkJLyogc2V0IGJlZ2luIG9mIHRoZSBuZXh0IGZpbGVuYW1lICovCisJCWlmIChlbmQpIHsKKwkJCSplbmQrKyA9ICcvJzsKKwkJCXdoaWxlICgqZW5kID09ICcvJykKKwkJCQllbmQrKzsgLyogZWF0IGV4dHJhICcvJyAqLworCQl9CisJCWZuYW1lID0gZW5kOworCX0KKworCWlmIChsYXN0KQorCQkqbGFzdCA9IG5tOworCisJZnJlZShwYXRoKTsKKworCXJldHVybiBmaXJzdDsKK30KKworc3RhdGljIGludAorZm9sbG93X3N5bWxpbmtzKHN0cnVjdCBuYW1laSAqbm0pCit7CisJaW50IHN5bWNvdW50ID0gMDsKKworCWZvciAoOyBubTsgbm0gPSBubS0+bmV4dCkgeworCQlzdHJ1Y3QgbmFtZWkgKm5leHQsICpsYXN0OworCisJCWlmIChubS0+bm9lbnQpCisJCQljb250aW51ZTsKKwkJaWYgKCFTX0lTTE5LKG5tLT5zdC5zdF9tb2RlKSkKKwkJCWNvbnRpbnVlOworCQlpZiAoKytzeW1jb3VudCA+IE1BWFNZTUxJTktTKSB7CisJCQkvKiBkcm9wIHRoZSByZXN0IG9mIHRoZSBsaXN0ICovCisJCQlmcmVlX25hbWVpKG5tLT5uZXh0KTsKKwkJCW5tLT5uZXh0ID0gTlVMTDsKKwkJCXJldHVybiAtMTsKKwkJfQorCQluZXh0ID0gbm0tPm5leHQ7CisJCW5tLT5uZXh0ID0gYWRkX25hbWVpKG5tLCBubS0+YWJzbGluaywgbm0tPnJlbHN0YXJ0LCAmbGFzdCk7CisJCWlmIChsYXN0KQorCQkJbGFzdC0+bmV4dCA9IG5leHQ7CisJCWVsc2UKKwkJCW5tLT5uZXh0ID0gbmV4dDsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK3ByaW50X25hbWVpKHN0cnVjdCBuYW1laSAqbm0sIGNoYXIgKnBhdGgpCit7CisJaW50IGk7CisKKwlpZiAocGF0aCkKKwkJcHJpbnRmKCJmOiAlc1xuIiwgcGF0aCk7CisKKwlmb3IgKDsgbm07IG5tID0gbm0tPm5leHQpIHsKKwkJY2hhciBtZFsxMV07CisKKwkJaWYgKG5tLT5ub2VudCkgeworCQkJaW50IGJsYW5rcyA9IDE7CisJCQlpZiAoZmxhZ3MgJiBOQU1FSV9NT0RFUykKKwkJCQlibGFua3MgKz0gOTsKKwkJCWlmIChmbGFncyAmIE5BTUVJX09XTkVSUykKKwkJCQlibGFua3MgKz0gdWNhY2hlLT53aWR0aCArIGdjYWNoZS0+d2lkdGggKyAyOworCQkJaWYgKCEoZmxhZ3MgJiBOQU1FSV9WRVJUSUNBTCkpCisJCQkJYmxhbmtzICs9IDE7CisJCQlibGFua3MgKz0gbm0tPmxldmVsICogMjsKKwkJCXByaW50ZigiJSpzICIsIGJsYW5rcywgIiIpOworCQkJcHJpbnRmKF8oIiVzIC0gTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeVxuIiksIG5tLT5uYW1lKTsKKwkJCXJldHVybiAtMTsKKwkJfQorCisJCXhzdHJtb2RlKG5tLT5zdC5zdF9tb2RlLCBtZCk7CisKKwkJaWYgKG5tLT5tb3VudHBvaW50KQorCQkJbWRbMF0gPSAnRCc7CisKKwkJaWYgKCEoZmxhZ3MgJiBOQU1FSV9WRVJUSUNBTCkpIHsKKwkJCWZvciAoaSA9IDA7IGkgPCBubS0+bGV2ZWw7IGkrKykKKwkJCQlmcHV0cygiICAiLCBzdGRvdXQpOworCQkJZnB1dGMoJyAnLCBzdGRvdXQpOworCQl9CisKKwkJaWYgKGZsYWdzICYgTkFNRUlfTU9ERVMpCisJCQlwcmludGYoIiVzIiwgbWQpOworCQllbHNlCisJCQlwcmludGYoIiVjIiwgbWRbMF0pOworCisJCWlmIChmbGFncyAmIE5BTUVJX09XTkVSUykgeworCQkJcHJpbnRmKCIgJS0qcyIsIHVjYWNoZS0+d2lkdGgsCisJCQkJZ2V0X2lkKHVjYWNoZSwgbm0tPnN0LnN0X3VpZCktPm5hbWUpOworCQkJcHJpbnRmKCIgJS0qcyIsIGdjYWNoZS0+d2lkdGgsCisJCQkJZ2V0X2lkKGdjYWNoZSwgbm0tPnN0LnN0X2dpZCktPm5hbWUpOworCQl9CisKKwkJaWYgKGZsYWdzICYgTkFNRUlfVkVSVElDQUwpCisJCQlmb3IgKGkgPSAwOyBpIDwgbm0tPmxldmVsOyBpKyspCisJCQkJZnB1dHMoIiAgIiwgc3Rkb3V0KTsKKworCQlpZiAoU19JU0xOSyhubS0+c3Quc3RfbW9kZSkpCisJCQlwcmludGYoIiAlcyAtPiAlc1xuIiwgbm0tPm5hbWUsCisJCQkJCW5tLT5hYnNsaW5rICsgbm0tPnJlbHN0YXJ0KTsKKwkJZWxzZQorCQkJcHJpbnRmKCIgJXNcbiIsIG5tLT5uYW1lKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIHVzYWdlKGludCByYykKK3sKKwljb25zdCBjaGFyICpwID0gcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWU7CisJRklMRSAqb3V0ID0gcmMgPT0gRVhJVF9GQUlMVVJFID8gc3RkZXJyIDogc3Rkb3V0OworCisJaWYgKCEqcCkKKwkJcCA9ICJuYW1laSI7CisKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsCisJICAgICAgXygiICVzIFtvcHRpb25zXSA8cGF0aG5hbWU+Li4uXG4iKSwgcCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiRm9sbG93IGEgcGF0aG5hbWUgdW50aWwgYSB0ZXJtaW5hbCBwb2ludCBpcyBmb3VuZC5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWgsIC0taGVscCAgICAgICAgICBkaXNwbGF5cyB0aGlzIGhlbHAgdGV4dFxuIgorCQkiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKwkJIiAteCwgLS1tb3VudHBvaW50cyAgIHNob3cgbW91bnQgcG9pbnQgZGlyZWN0b3JpZXMgd2l0aCBhICdEJ1xuIgorCQkiIC1tLCAtLW1vZGVzICAgICAgICAgc2hvdyB0aGUgbW9kZSBiaXRzIG9mIGVhY2ggZmlsZVxuIgorCQkiIC1vLCAtLW93bmVycyAgICAgICAgc2hvdyBvd25lciBhbmQgZ3JvdXAgbmFtZSBvZiBlYWNoIGZpbGVcbiIKKwkJIiAtbCwgLS1sb25nICAgICAgICAgIHVzZSBhIGxvbmcgbGlzdGluZyBmb3JtYXQgKC1tIC1vIC12KSBcbiIKKwkJIiAtbiwgLS1ub3N5bWxpbmtzICAgIGRvbid0IGZvbGxvdyBzeW1saW5rc1xuIgorCQkiIC12LCAtLXZlcnRpY2FsICAgICAgdmVydGljYWwgYWxpZ24gb2YgbW9kZXMgYW5kIG93bmVyc1xuIiksIG91dCk7CisKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoIm5hbWVpKDEpIikpOworCWV4aXQocmMpOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0KK3sKKwl7ICJoZWxwIiwJMCwgMCwgJ2gnIH0sCisJeyAidmVyc2lvbiIsICAgIDAsIDAsICdWJyB9LAorCXsgIm1vdW50cG9pbnRzIiwwLCAwLCAneCcgfSwKKwl7ICJtb2RlcyIsCTAsIDAsICdtJyB9LAorCXsgIm93bmVycyIsCTAsIDAsICdvJyB9LAorCXsgImxvbmciLCAgICAgICAwLCAwLCAnbCcgfSwKKwl7ICJub2xpbmtzIiwJMCwgMCwgJ24nIH0sCisJeyAidmVydGljYWwiLCAgIDAsIDAsICd2JyB9LAorCXsgTlVMTCwJCTAsIDAsIDAgfSwKK307CisKK2ludAorbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IGM7CisJaW50IHJjID0gRVhJVF9TVUNDRVNTOworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJoVmxtbm92eCIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKwkJc3dpdGNoKGMpIHsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShFWElUX1NVQ0NFU1MpOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdsJzoKKwkJCWZsYWdzIHw9IChOQU1FSV9PV05FUlMgfCBOQU1FSV9NT0RFUyB8IE5BTUVJX1ZFUlRJQ0FMKTsKKwkJCWJyZWFrOworCQljYXNlICdtJzoKKwkJCWZsYWdzIHw9IE5BTUVJX01PREVTOworCQkJYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJZmxhZ3MgfD0gTkFNRUlfTk9MSU5LUzsKKwkJCWJyZWFrOworCQljYXNlICdvJzoKKwkJCWZsYWdzIHw9IE5BTUVJX09XTkVSUzsKKwkJCWJyZWFrOworCQljYXNlICd4JzoKKwkJCWZsYWdzIHw9IE5BTUVJX01OVFM7CisJCQlicmVhazsKKwkJY2FzZSAndic6CisJCQlmbGFncyB8PSBOQU1FSV9WRVJUSUNBTDsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJdXNhZ2UoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0KKworCWlmIChvcHRpbmQgPT0gYXJnYykgeworCQl3YXJueChfKCJwYXRobmFtZSBhcmd1bWVudCBpcyBtaXNzaW5nIikpOworCQl1c2FnZShFWElUX0ZBSUxVUkUpOworCX0KKworCXVjYWNoZSA9IG5ld19pZGNhY2hlKCk7CisJaWYgKCF1Y2FjaGUpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBVSUQgY2FjaGUiKSk7CisJZ2NhY2hlID0gbmV3X2lkY2FjaGUoKTsKKwlpZiAoIWdjYWNoZSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFsbG9jYXRlIEdJRCBjYWNoZSIpKTsKKworCWZvcig7IG9wdGluZCA8IGFyZ2M7IG9wdGluZCsrKSB7CisJCWNoYXIgKnBhdGggPSBhcmd2W29wdGluZF07CisJCXN0cnVjdCBuYW1laSAqbm0gPSBOVUxMOworCQlzdHJ1Y3Qgc3RhdCBzdDsKKworCQlpZiAoc3RhdChwYXRoLCAmc3QpICE9IDApCisJCQlyYyA9IEVYSVRfRkFJTFVSRTsKKworCQlubSA9IGFkZF9uYW1laShOVUxMLCBwYXRoLCAwLCBOVUxMKTsKKwkJaWYgKG5tKSB7CisJCQlpbnQgc21sID0gMDsKKwkJCWlmICghKGZsYWdzICYgTkFNRUlfTk9MSU5LUykpCisJCQkJc21sID0gZm9sbG93X3N5bWxpbmtzKG5tKTsKKwkJCWlmIChwcmludF9uYW1laShubSwgcGF0aCkpIHsKKwkJCQlyYyA9IEVYSVRfRkFJTFVSRTsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCWZyZWVfbmFtZWkobm0pOworCQkJaWYgKHNtbCA9PSAtMSkgeworCQkJCXJjID0gRVhJVF9GQUlMVVJFOworCQkJCXdhcm54KF8oIiVzOiBleGNlZWRlZCBsaW1pdCBvZiBzeW1saW5rcyIpLCBwYXRoKTsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJfQorCX0KKworCWZyZWVfaWRjYWNoZSh1Y2FjaGUpOworCWZyZWVfaWRjYWNoZShnY2FjaGUpOworCisJcmV0dXJuIHJjOworfQorCmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL3JlbmFtZS4xIGIvbWlzYy11dGlscy9yZW5hbWUuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzQzOWJkCi0tLSAvZGV2L251bGwKKysrIGIvbWlzYy11dGlscy9yZW5hbWUuMQpAQCAtMCwwICsxLDkyIEBACisuXCIgV3JpdHRlbiBieSBBbmRyaWVzIEUuIEJyb3V3ZXIgKGFlYkBjd2kubmwpCisuXCIgUGxhY2VkIGluIHRoZSBwdWJsaWMgZG9tYWluCisuXCIKKy5USCBSRU5BTUUgMSAiSnVuZSAyMDExIiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQorcmVuYW1lIFwtIHJlbmFtZSBmaWxlcworLlNIIFNZTk9QU0lTCisuQiByZW5hbWUKK1tvcHRpb25zXQorLklSICJleHByZXNzaW9uIHJlcGxhY2VtZW50IGZpbGUiIC4uLgorLlNIIERFU0NSSVBUSU9OCisuQiByZW5hbWUKK3dpbGwgcmVuYW1lIHRoZSBzcGVjaWZpZWQgZmlsZXMgYnkgcmVwbGFjaW5nIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mCisuSSBleHByZXNzaW9uCitpbiB0aGVpciBuYW1lIGJ5CisuSVIgcmVwbGFjZW1lbnQgLgorLlNIIE9QVElPTlMKKy5UUAorLkJSIFwtcyAsICIgXC1cLXN5bWxpbmsiCitEbyBub3QgcmVuYW1lIGEgc3ltbGluayBidXQgaXRzIHRhcmdldC4KKy5UUAorLkJSIFwtdiAsICIgXC1cLXZlcmJvc2UiCitTaG93IHdoaWNoIGZpbGVzIHdoZXJlIHJlbmFtZWQsIGlmIGFueS4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggRVhBTVBMRVMKK0dpdmVuIHRoZSBmaWxlcworLklSIGZvbzEgIiwgLi4uLCAiIGZvbzkgIiwgIiBmb28xMCAiLCAuLi4sICIgZm9vMjc4ICwKK3RoZSBjb21tYW5kcworLlJTCisuUFAKKy5uZgorcmVuYW1lIGZvbyBmb28wIGZvbz8KK3JlbmFtZSBmb28gZm9vMCBmb28/PworLmZpCisuUFAKKy5SRQord2lsbCB0dXJuIHRoZW0gaW50bworLklSIGZvbzAwMSAiLCAuLi4sICIgZm9vMDA5ICIsICIgZm9vMDEwICIsIC4uLiwgIiBmb28yNzggLgorQW5kCisuUlMKKy5QUAorLm5mCityZW5hbWUgLmh0bSAuaHRtbCAqLmh0bQorLmZpCisuUFAKKy5SRQord2lsbCBmaXggdGhlIGV4dGVuc2lvbiBvZiB5b3VyIGh0bWwgZmlsZXMuCitQcm92aWRlIGFuIGVtcHR5IHN0cmluZyBmb3Igc2hvcnRlbmluZzoKKy5SUworLlBQCisubmYKK3JlbmFtZSAnX3dpdGhfbG9uZ19uYW1lJyAnJyBmaWxlX3dpdGhfbG9uZ19uYW1lLioKKy5maQorLlBQCisuUkUKK3dpbGwgcmVtb3ZlIHRoZSBzdWJzdHJpbmcgaW4gdGhlIGZpbGVuYW1lcy4KKy5TSCBXQVJOSU5HCitUaGUgcmVuYW1pbmcgaGFzIG5vIHNhZmVndWFyZHMuICBJZiB0aGUgdXNlciBoYXMgcGVybWlzc2lvbiB0byByZXdyaXRlIGZpbGUgbmFtZXMsCit0aGUgY29tbWFuZCB3aWxsIHBlcmZvcm0gdGhlIGFjdGlvbiB3aXRob3V0IGFueSBxdWVzdGlvbnMuICBGb3IgZXhhbXBsZSwgdGhlCityZXN1bHQgY2FuIGJlIHF1aXRlIGRyYXN0aWMgd2hlbiB0aGUgY29tbWFuZCBpcyBydW4gYXMgcm9vdCBpbiB0aGUgL2xpYgorZGlyZWN0b3J5LiAgQWx3YXlzIG1ha2UgYSBiYWNrdXAgYmVmb3JlIHJ1bm5pbmcgdGhlIGNvbW1hbmQsIHVubGVzcyB5b3UgdHJ1bHkKK2tub3cgd2hhdCB5b3UgYXJlIGRvaW5nLgorLlNIICJFWElUIFNUQVRVUyIKKy5SUworLlBEIDAKKy5UUAorLkIgMAorYWxsIHJlcXVlc3RlZCByZW5hbWUgb3BlcmF0aW9ucyB3ZXJlIHN1Y2Nlc3NmdWwKKy5UUAorLkIgMQorYWxsIHJlbmFtZSBvcGVyYXRpb25zIGZhaWxlZAorLlRQCisuQiAyCitzb21lIHJlbmFtZSBvcGVyYXRpb25zIGZhaWxlZAorLlRQCisuQiA0Citub3RoaW5nIHdhcyByZW5hbWVkCisuVFAKKy5CIDY0Cit1bmFudGljaXBhdGVkIGVycm9yIG9jY3VycmVkCisuUEQKKy5SRQorLlNIICJTRUUgQUxTTyIKKy5CUiBtdiAoMSkKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSByZW5hbWUgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL3JlbmFtZS5jIGIvbWlzYy11dGlscy9yZW5hbWUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOGE0ZjhjCi0tLSAvZGV2L251bGwKKysrIGIvbWlzYy11dGlscy9yZW5hbWUuYwpAQCAtMCwwICsxLDE5NiBAQAorLyoKKyAqIHJlbmFtZS5jIC0gYWViIDIwMDAtMDEtMDEKKyAqCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyEvYmluL3NoCitpZiBbICQjIC1sZSAyIF07IHRoZW4gZWNobyBjYWxsOiByZW5hbWUgZnJvbSB0byBmaWxlczsgZXhpdDsgZmkKK0ZST009IiQxIgorVE89IiQyIgorc2hpZnQKK3NoaWZ0Citmb3IgaSBpbiAkQDsgZG8gTj1gZWNobyAiJGkiIHwgc2VkICJzLyRGUk9NLyRUTy9nImA7IG12ICIkaSIgIiROIjsgZG9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFRoaXMgc2hlbGwgc2NyaXB0IHdpbGwgZG8gcmVuYW1lcyBvZiBmaWxlcywgYnV0IG1heSBmYWlsCisgKiBpbiBjYXNlcyBpbnZvbHZpbmcgc3BlY2lhbCBjaGFyYWN0ZXJzLiBIZXJlIGEgQyB2ZXJzaW9uLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKworI2RlZmluZSBSRU5BTUVfRVhJVF9TT01FT0sJMgorI2RlZmluZSBSRU5BTUVfRVhJVF9OT1RISU5HCTQKKyNkZWZpbmUgUkVOQU1FX0VYSVRfVU5FWFBMQUlORUQJNjQKKworc3RhdGljIGludCBzdHJpbmdfcmVwbGFjZShjaGFyICpmcm9tLCBjaGFyICp0bywgY2hhciAqcywgY2hhciAqb3JpZywgY2hhciAqKm5ld25hbWUpCit7CisJY2hhciAqcCwgKnEsICp3aGVyZTsKKworCXdoZXJlID0gc3Ryc3RyKHMsIGZyb20pOworCWlmICh3aGVyZSA9PSBOVUxMKQorCQlyZXR1cm4gMTsKKwlwID0gb3JpZzsKKwkqbmV3bmFtZSA9IHhtYWxsb2Moc3RybGVuKG9yaWcpICsgc3RybGVuKHRvKSArIDEpOworCXEgPSAqbmV3bmFtZTsKKwl3aGlsZSAocCA8IHdoZXJlKQorCQkqcSsrID0gKnArKzsKKwlwID0gdG87CisJd2hpbGUgKCpwKQorCQkqcSsrID0gKnArKzsKKwlwID0gd2hlcmUgKyBzdHJsZW4oZnJvbSk7CisJd2hpbGUgKCpwKQorCQkqcSsrID0gKnArKzsKKwkqcSA9IDA7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZG9fc3ltbGluayhjaGFyICpmcm9tLCBjaGFyICp0bywgY2hhciAqcywgaW50IHZlcmJvc2UpCit7CisJY2hhciAqbmV3bmFtZSA9IE5VTEwsICp0YXJnZXQgPSBOVUxMOworCWludCByZXQgPSAxOworCXN0cnVjdCBzdGF0IHNiOworCisJaWYgKGxzdGF0KHMsICZzYikgPT0gLTEpIHsKKwkJd2FybihfKCJzdGF0IG9mICVzIGZhaWxlZCIpLCBzKTsKKwkJcmV0dXJuIDI7CisJfQorCWlmICghU19JU0xOSyhzYi5zdF9tb2RlKSkgeworCQl3YXJueChfKCIlczogbm90IGEgc3ltYm9saWMgbGluayIpLCBzKTsKKwkJcmV0dXJuIDI7CisJfQorCXRhcmdldCA9IHhtYWxsb2Moc2Iuc3Rfc2l6ZSArIDEpOworCWlmIChyZWFkbGluayhzLCB0YXJnZXQsIHNiLnN0X3NpemUgKyAxKSA8IDApIHsKKwkJd2FybihfKCIlczogcmVhZGxpbmsgZmFpbGVkIiksIHMpOworCQlmcmVlKHRhcmdldCk7CisJCXJldHVybiAyOworCX0KKwl0YXJnZXRbc2Iuc3Rfc2l6ZV0gPSAnXDAnOworCWlmIChzdHJpbmdfcmVwbGFjZShmcm9tLCB0bywgdGFyZ2V0LCB0YXJnZXQsICZuZXduYW1lKSkKKwkJcmV0ID0gMDsKKwllbHNlIGlmICgwID4gdW5saW5rKHMpKSB7CisJCXdhcm4oXygiJXM6IHVubGluayBmYWlsZWQiKSwgcyk7CisJCXJldCA9IDI7CisJfSBlbHNlIGlmIChzeW1saW5rKG5ld25hbWUsIHMpICE9IDApIHsKKwkJd2FybihfKCIlczogc3ltbGlua2luZyB0byAlcyBmYWlsZWQiKSwgcywgbmV3bmFtZSk7CisJCXJldCA9IDI7CisJfQorCWlmICh2ZXJib3NlICYmIHJldCA9PSAxKQorCQlwcmludGYoIiVzOiBgJXMnIC0+IGAlcydcbiIsIHMsIHRhcmdldCwgbmV3bmFtZSk7CisJZnJlZShuZXduYW1lKTsKKwlmcmVlKHRhcmdldCk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBkb19maWxlKGNoYXIgKmZyb20sIGNoYXIgKnRvLCBjaGFyICpzLCBpbnQgdmVyYm9zZSkKK3sKKwljaGFyICpuZXduYW1lID0gTlVMTCwgKmZpbGU9TlVMTDsKKwlpbnQgcmV0ID0gMTsKKworCWlmIChzdHJjaHIoZnJvbSwgJy8nKSA9PSBOVUxMICYmIHN0cmNocih0bywgJy8nKSA9PSBOVUxMKQorCQlmaWxlID0gc3RycmNocihzLCAnLycpOworCWlmIChmaWxlID09IE5VTEwpCisJCWZpbGUgPSBzOworCWlmIChzdHJpbmdfcmVwbGFjZShmcm9tLCB0bywgZmlsZSwgcywgJm5ld25hbWUpKQorCQlyZXR1cm4gMDsKKwllbHNlIGlmIChyZW5hbWUocywgbmV3bmFtZSkgIT0gMCkgeworCQl3YXJuKF8oIiVzOiByZW5hbWUgdG8gJXMgZmFpbGVkIiksIHMsIG5ld25hbWUpOworCQlyZXQgPSAyOworCX0KKwlpZiAodmVyYm9zZSAmJiByZXQgPT0gMSkKKwkJcHJpbnRmKCJgJXMnIC0+IGAlcydcbiIsIHMsIG5ld25hbWUpOworCWZyZWUobmV3bmFtZSk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXyAoKF9fbm9yZXR1cm5fXykpIHVzYWdlKEZJTEUgKiBvdXQpCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LAorCSAgICAgIF8oIiAlcyBbb3B0aW9uc10gPGV4cHJlc3Npb24+IDxyZXBsYWNlbWVudD4gPGZpbGU+Li4uXG4iKSwKKwkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlJlbmFtZSBmaWxlcy5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLXYsIC0tdmVyYm9zZSAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1zLCAtLXN5bWxpbmsgICAgYWN0IG9uIHRoZSB0YXJnZXQgb2Ygc3ltbGlua3NcbiIpLCBvdXQpOworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dCk7CisJZnByaW50ZihvdXQsIFVTQUdFX01BTl9UQUlMKCJyZW5hbWUoMSkiKSk7CisJZXhpdChvdXQgPT0gc3RkZXJyID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWNoYXIgKmZyb20sICp0bzsKKwlpbnQgaSwgYywgcmV0ID0gMCwgdmVyYm9zZSA9IDA7CisJaW50ICgqZG9fcmVuYW1lKShjaGFyICpmcm9tLCBjaGFyICp0bywgY2hhciAqcywgaW50IHZlcmJvc2UpID0gZG9fZmlsZTsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsidmVyYm9zZSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAndid9LAorCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1YnfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIE5VTEwsICdoJ30sCisJCXsic3ltbGluayIsIG5vX2FyZ3VtZW50LCBOVUxMLCAncyd9LAorCQl7TlVMTCwgMCwgTlVMTCwgMH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJ2c1ZoIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ3YnOgorCQkJdmVyYm9zZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQlkb19yZW5hbWUgPSBkb19zeW1saW5rOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQl9CisKKwlhcmdjIC09IG9wdGluZDsKKwlhcmd2ICs9IG9wdGluZDsKKworCWlmIChhcmdjIDwgMykgeworCQl3YXJueChfKCJub3QgZW5vdWdoIGFyZ3VtZW50cyIpKTsKKwkJdXNhZ2Uoc3RkZXJyKTsKKwl9CisKKwlmcm9tID0gYXJndlswXTsKKwl0byA9IGFyZ3ZbMV07CisKKwlmb3IgKGkgPSAyOyBpIDwgYXJnYzsgaSsrKQorCQlyZXQgfD0gZG9fcmVuYW1lKGZyb20sIHRvLCBhcmd2W2ldLCB2ZXJib3NlKTsKKworCXN3aXRjaCAocmV0KSB7CisJY2FzZSAwOgorCQlyZXR1cm4gUkVOQU1FX0VYSVRfTk9USElORzsKKwljYXNlIDE6CisJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJY2FzZSAyOgorCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCWNhc2UgMzoKKwkJcmV0dXJuIFJFTkFNRV9FWElUX1NPTUVPSzsKKwlkZWZhdWx0OgorCQlyZXR1cm4gUkVOQU1FX0VYSVRfVU5FWFBMQUlORUQ7CisJfQorfQpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy90ZXN0X3V1aWRkLmMgYi9taXNjLXV0aWxzL3Rlc3RfdXVpZGQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YTJkYWY5Ci0tLSAvZGV2L251bGwKKysrIGIvbWlzYy11dGlscy90ZXN0X3V1aWRkLmMKQEAgLTAsMCArMSwzMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgSGV3bGV0dC1QYWNrYXJkIERldmVsb3BtZW50IENvbXBhbnksIEwuUC4KKyAqIEh1c2NoYWFtIEh1c3NhaW4gPEh1c2NoYWFtLkh1c3NhaW5AaHAuY29tPgorICoJVFNHIFNvbHV0aW9uIEFsbGlhbmNlcyBFbmdpbmVlcmluZworICoJU0FQIFRlY2hub2xvZ3kgR3JvdXAKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICoKKyAqIFRoZSB0ZXN0IGhlYXZpbHkgdXNlcyBzaGFyZWQgbWVtb3J5LCB0byBlbmxhcmdlIG1heGltYWwgc2l6ZSBvZiBzaGFyZWQKKyAqIHNlZ21lbnQgdXNlOgorICoKKyAqCWVjaG8gIjQyOTQ5NjcyOTUiID4gL3Byb2Mvc3lzL2tlcm5lbC9zaG1tCisgKgorICogVGhlIHRlc3QgaXMgY29tcGlsZWQgYWdhaW5zdCBpbi10cmVlIGxpYnV1aWQsIGlmIHlvdSB3YW50IHRvIHRlc3QgdXVpZGQKKyAqIGluc3RhbGxlZCB0byB0aGUgc3lzdGVtIHRoZW4gbWFrZSBzdXJlIHRoYXQgbGlidXVpZCB1c2VzIHRoZSBzYW1lIHNvY2tldAorICogbGlrZSB0aGUgcnVubmluZyB1dWlkZC4gWW91IGNhbiBzdGFydCB0aGUgdXVpZGQgbWFudWFsbHksIGZvciBleGFtcGxlOgorICoKKyAqCXV1aWRkIC0tZGVidWcgLS1uby1mb3JrIC0tbm8tcGlkIC0tc29ja2V0IC9ydW4vdXVpZGQvcmVxdWVzdAorICoKKyAqIGlmIHRoZSAkbG9jYWxzdGF0ZWRpciAoYXMgZGVmaW5lZCBieSBidWlsZC1zeXN0ZW0pIGlzIC9ydW4uIElmIHlvdSB3YW50CisgKiB0byBvdmVyd3JpdGUgdGhlIGJ1aWx0LWluIGRlZmF1bHQgdGhlbiB1c2U6CisgKgorICoJbWFrZSB1dWlkZCB1dWlkZ2VuIGxvY2Fsc3RhdGVkaXI9L3ZhcgorICovCisjaW5jbHVkZSA8ZXJyb3IuaD4KKyNpbmNsdWRlIDxwdGhyZWFkLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzeXMvc2htLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3dhaXQuaD4KKworI2luY2x1ZGUgInV1aWQuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKworI2RlZmluZSBMT0cobGV2ZWwsYXJncykgaWYgKGxvZ2xldiA+PSBsZXZlbCkgeyBmcHJpbnRmIGFyZ3M7IH0KKworc2l6ZV90IG5wcm9jZXNzZXMgPSA0Oworc2l6ZV90IG50aHJlYWRzID0gNDsKK3NpemVfdCBub2JqZWN0cyA9IDQwOTY7CitzaXplX3QgbG9nbGV2ID0gMTsKKworc3RydWN0IHByb2Nlc3NlbnRyeSB7CisJcGlkX3QJCXBpZDsKKwlpbnQJCXN0YXR1czsKK307Cit0eXBlZGVmIHN0cnVjdCBwcm9jZXNzZW50cnkgcHJvY2Vzc190OworCitzdHJ1Y3QgdGhyZWFkZW50cnkgeworCXByb2Nlc3NfdAkqcHJvYzsKKwlwdGhyZWFkX3QJdGlkOwkJLyogcHRocmVhZF9zZWxmKCkgLyBwaHRyZWFkX2NyZWF0ZSgpICovCisJcHRocmVhZF9hdHRyX3QJdGhyZWFkX2F0dHI7CisJc2l6ZV90CQlpbmRleDsJCS8qIGluZGV4IGluIG9iamVjdFtdICovCisJaW50CQlyZXR2YWw7CQkvKiBwdGhyZWFkIGV4aXQoKSAqLworfTsKK3R5cGVkZWYgc3RydWN0IHRocmVhZGVudHJ5IHRocmVhZF90OworCisvKiB0aGlzIGlzIGluIHNoYXJlZCBtZW1vcnksIGtlZXAgaXQgYXMgc21hbGwgYXMgcG9zc2libGUgKi8KK3N0cnVjdCBvYmplY3RlbnRyeSB7CisJdXVpZF90CQl1dWlkOworCXB0aHJlYWRfdAl0aWQ7CisJcGlkX3QJCXBpZDsKKwlzaXplX3QJCWlkeDsKK307Cit0eXBlZGVmIHN0cnVjdCBvYmplY3RlbnRyeSBvYmplY3RfdDsKKworc3RhdGljIGludCBzaG1lbV9pZDsKK3N0YXRpYyBvYmplY3RfdCAqb2JqZWN0czsKKworCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZShGSUxFICpvdXQpCit7CisJZnByaW50ZihvdXQsICJcbiAlcyBbb3B0aW9uc11cbiIsIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwcmludGYob3V0LCAiICAtcCA8bnVtPiAgICAgbnVtYmVyIG9mIG9mIG5wcm9jZXNzZXMgKGRlZmF1bHQ6JXp1KVxuIiwgbnByb2Nlc3Nlcyk7CisJZnByaW50ZihvdXQsICIgIC10IDxudW0+ICAgICBudW1iZXIgb2YgbnRocmVhZHMgKGRlZmF1bHQ6JXp1KVxuIiwgbnRocmVhZHMpOworCWZwcmludGYob3V0LCAiICAtbyA8bnVtPiAgICAgbnVtYmVyIG9mIG5vYmplY3RzIChkZWZhdWx0OiV6dSlcbiIsIG5vYmplY3RzKTsKKwlmcHJpbnRmKG91dCwgIiAgLWwgPGxldmVsPiAgIGxvZyBsZXZlbCAoZGVmYXVsdDolenUpXG4iLCBsb2dsZXYpOworCWZwcmludGYob3V0LCAiICAtaCAgICAgICAgICAgZGlzcGxheSBoZWxwXG4iKTsKKworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyB2b2lkIGFsbG9jYXRlX3NlZ21lbnQoaW50ICppZCwgdm9pZCAqKmFkZHJlc3MsIHNpemVfdCBudW1iZXIsIHNpemVfdCBzaXplKQoreworCSppZCA9IHNobWdldChJUENfUFJJVkFURSwgbnVtYmVyICogc2l6ZSwgSVBDX0NSRUFUIHwgMDYwMCk7CisJaWYgKCppZCA9PSAtMSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgInNobWdldCBmYWlsZWQgdG8gY3JlYXRlICV6dSBieXRlcyBzaGFyZWQgbWVtb3J5IiwgbnVtYmVyICogc2l6ZSk7CisKKwkqYWRkcmVzcyA9IHNobWF0KCppZCwgTlVMTCwgMCk7CisJaWYgKCphZGRyZXNzID09ICh2b2lkICopLTEpCisJCWVycihFWElUX0ZBSUxVUkUsICJzaG1hdCBmYWlsZWQiKTsKKworCUxPRygyLCAoc3RkZXJyLAorCSAgICAgImFsbG9jYXRlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBbaWQ9JWQsYWRkcmVzcz0weCVwXVxuIiwKKwkgICAgICppZCwgKmFkZHJlc3MpKTsKKworCW1lbXNldCgqYWRkcmVzcywgMCwgbnVtYmVyICogc2l6ZSk7Cit9CisKK3N0YXRpYyB2b2lkIHJlbW92ZV9zZWdtZW50KGludCBpZCwgdm9pZCAqYWRkcmVzcykKK3sKKwlpZiAoc2htZHQoYWRkcmVzcykgPT0gLTEpCisJCWVycihFWElUX0ZBSUxVUkUsICJzaG1kdCBmYWlsZWQiKTsKKwlpZiAoc2htY3RsKGlkLCBJUENfUk1JRCwgTlVMTCkgPT0gLTEpCisJCWVycihFWElUX0ZBSUxVUkUsICJzaG1jdGwgZmFpbGVkIik7CisJTE9HKDIsCisJICAgIChzdGRlcnIsCisJICAgICAicmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBbaWQ9JWQsYWRkcmVzcz0weCVwXVxuIiwKKwkgICAgIGlkLCBhZGRyZXNzKSk7Cit9CisKK3N0YXRpYyB2b2lkIG9iamVjdF91dWlkX2NyZWF0ZShvYmplY3RfdCAqIG9iamVjdCkKK3sKKwl1dWlkX2dlbmVyYXRlX3RpbWUob2JqZWN0LT51dWlkKTsKK30KKworc3RhdGljIHZvaWQgb2JqZWN0X3V1aWRfdG9fc3RyaW5nKG9iamVjdF90ICogb2JqZWN0LCBjaGFyICoqc3RyaW5nX3V1aWQpCit7CisJdXVpZF91bnBhcnNlKG9iamVjdC0+dXVpZCwgKnN0cmluZ191dWlkKTsKK30KKworc3RhdGljIGludCBvYmplY3RfdXVpZF9jb21wYXJlKGNvbnN0IHZvaWQgKm9iamVjdDEsIGNvbnN0IHZvaWQgKm9iamVjdDIpCit7CisJdXVpZF90ICp1dWlkMSA9ICYoKG9iamVjdF90ICopIG9iamVjdDEpLT51dWlkLAorCSAgICAgICAqdXVpZDIgPSAmKChvYmplY3RfdCAqKSBvYmplY3QyKS0+dXVpZDsKKworCXJldHVybiB1dWlkX2NvbXBhcmUoKnV1aWQxLCAqdXVpZDIpOworfQorCitzdGF0aWMgdm9pZCAqY3JlYXRlX3V1aWRzKHRocmVhZF90ICp0aCkKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IHRoLT5pbmRleDsgaSA8IHRoLT5pbmRleCArIG5vYmplY3RzOyBpKyspIHsKKwkJb2JqZWN0X3QgKm9iaiA9ICZvYmplY3RzW2ldOworCisJCW9iamVjdF91dWlkX2NyZWF0ZShvYmopOworCQlvYmotPnRpZCA9IHRoLT50aWQ7CisJCW9iai0+cGlkID0gdGgtPnByb2MtPnBpZDsKKwkJb2JqLT5pZHggPSB0aC0+aW5kZXggKyBpOzsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkICp0aHJlYWRfYm9keSh2b2lkICphcmcpCit7CisJdGhyZWFkX3QgKnRoID0gKHRocmVhZF90ICopIGFyZzsKKworCXJldHVybiBjcmVhdGVfdXVpZHModGgpOworfQorCitzdGF0aWMgdm9pZCBjcmVhdGVfbnRocmVhZHMocHJvY2Vzc190ICpwcm9jLCBzaXplX3QgaW5kZXgpCit7CisJdGhyZWFkX3QgKnRocmVhZHM7CisJc2l6ZV90IGksIG5jcmVhdGVkID0gMDsKKwlpbnQgcmM7CisKKwl0aHJlYWRzID0geGNhbGxvYyhudGhyZWFkcywgc2l6ZW9mKHRocmVhZF90KSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnRocmVhZHM7IGkrKykgeworCQl0aHJlYWRfdCAqdGggPSAmdGhyZWFkc1tpXTsKKworCQlyYyA9IHB0aHJlYWRfYXR0cl9pbml0KCZ0aC0+dGhyZWFkX2F0dHIpOworCQlpZiAocmMpIHsKKwkJCWVycm9yKDAsIHJjLCAiJWQ6IHB0aHJlYWRfYXR0cl9pbml0IGZhaWxlZCIsIHByb2MtPnBpZCk7CisJCQlicmVhazsKKwkJfQorCisJCXRoLT5pbmRleCA9IGluZGV4OworCQl0aC0+cHJvYyA9IHByb2M7CisJCXJjID0gcHRocmVhZF9jcmVhdGUoJnRoLT50aWQsICZ0aC0+dGhyZWFkX2F0dHIsICZ0aHJlYWRfYm9keSwgdGgpOworCisJCWlmIChyYykgeworCQkJZXJyb3IoMCwgcmMsICIlZDogcHRocmVhZF9jcmVhdGUgZmFpbGVkIiwgcHJvYy0+cGlkKTsKKwkJCWJyZWFrOworCQl9CisKKwkJTE9HKDIsIChzdGRlcnIsICIlZDogc3RhcnRlZCB0aHJlYWQgW3RpZD0lZCxpbmRleD0lenVdXG4iLAorCQkgICAgIHByb2MtPnBpZCwgKGludCkgdGgtPnRpZCwgdGgtPmluZGV4KSk7CisJCWluZGV4ICs9IG5vYmplY3RzOworCQluY3JlYXRlZCsrOworCX0KKworCWlmIChuY3JlYXRlZCAhPSBudGhyZWFkcykKKwkJZnByaW50ZihzdGRlcnIsICIlZDogJXp1IHRocmVhZHMgbm90IGNyZWF0ZWQgYW5kIH4lenUgb2JqZWN0cyB3aWxsIGJlIGlnbm9yZWRcbiIsCisJCQkJcHJvYy0+cGlkLCBudGhyZWFkcyAtIG5jcmVhdGVkLAorCQkJCShudGhyZWFkcyAtIG5jcmVhdGVkKSAqIG5vYmplY3RzKTsKKworCWZvciAoaSA9IDA7IGkgPCBuY3JlYXRlZDsgaSsrKSB7CisJCXRocmVhZF90ICp0aCA9ICZ0aHJlYWRzW2ldOworCisJCXJjID0gcHRocmVhZF9qb2luKHRoLT50aWQsICh2b2lkICopICZ0aC0+cmV0dmFsKTsKKwkJaWYgKHJjKQorCQkJZXJyb3IoRVhJVF9GQUlMVVJFLCByYywgInB0aHJlYWRfam9pbiBmYWlsZWQiKTsKKworCQlMT0coMiwgKHN0ZGVyciwgIiVkOiB0aHJlYWQgZXhpdGVkIFt0aWQ9JWQscmV0dXJuPSVkXVxuIiwKKwkJICAgICBwcm9jLT5waWQsIChpbnQpIHRoLT50aWQsIHRoLT5yZXR2YWwpKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGNyZWF0ZV9ucHJvY2Vzc2VzKHZvaWQpCit7CisJcHJvY2Vzc190ICpwcm9jZXNzOworCXNpemVfdCBpOworCisJcHJvY2VzcyA9IHhjYWxsb2MobnByb2Nlc3Nlcywgc2l6ZW9mKHByb2Nlc3NfdCkpOworCisJZm9yIChpID0gMDsgaSA8IG5wcm9jZXNzZXM7IGkrKykgeworCQlwcm9jZXNzX3QgKnByb2MgPSAmcHJvY2Vzc1tpXTsKKworCQlwcm9jLT5waWQgPSBmb3JrKCk7CisJCXN3aXRjaCAocHJvYy0+cGlkKSB7CisJCWNhc2UgLTE6IC8qIGVycm9yICovCisJCQllcnIoRVhJVF9GQUlMVVJFLCAiZm9yayBmYWlsZWQiKTsKKwkJCWJyZWFrOworCQljYXNlIDA6IC8qIGNoaWxkICovCisJCQlwcm9jLT5waWQgPSBnZXRwaWQoKTsKKwkJCWNyZWF0ZV9udGhyZWFkcyhwcm9jLCBpICogbnRocmVhZHMgKiBub2JqZWN0cyk7CisJCQlleGl0KEVYSVRfU1VDQ0VTUyk7CisJCQlicmVhazsKKwkJZGVmYXVsdDogLyogcGFyZW50ICovCisJCQlMT0coMiwgKHN0ZGVyciwgInN0YXJ0ZWQgcHJvY2VzcyBbcGlkPSVkXVxuIiwgcHJvYy0+cGlkKSk7CisJCQlicmVhazsKKwkJfQorCX0KKworCWZvciAoaSA9IDA7IGkgPCBucHJvY2Vzc2VzOyBpKyspIHsKKwkJcHJvY2Vzc190ICpwcm9jID0gJnByb2Nlc3NbaV07CisKKwkJaWYgKHdhaXRwaWQocHJvYy0+cGlkLCAmcHJvYy0+c3RhdHVzLCAwKSA9PSAocGlkX3QpIC0gMSkKKwkJCWVycihFWElUX0ZBSUxVUkUsICJ3YWl0cGlkIGZhaWxlZCIpOworCQlMT0coMiwKKwkJICAgIChzdGRlcnIsICJwcm9jZXNzIGV4aXRlZCBbcGlkPSVkLHN0YXR1cz0lZF1cbiIsCisJCSAgICAgcHJvYy0+cGlkLCBwcm9jLT5zdGF0dXMpKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIG9iamVjdF9kdW1wKHNpemVfdCBpZHgsIG9iamVjdF90ICpvYmopCit7CisJY2hhciB1dWlkX3N0cmluZ1szN10sICpwOworCisJcCA9IHV1aWRfc3RyaW5nOworCW9iamVjdF91dWlkX3RvX3N0cmluZyhvYmosICZwKTsKKworCWZwcmludGYoc3RkZXJyLCAib2JqZWN0WyV6dV06IHtcbiIsIGlkeCk7CisJZnByaW50ZihzdGRlcnIsICIgIHV1aWQ6ICAgIDwlcz5cbiIsIHApOworCWZwcmludGYoc3RkZXJyLCAiICBpZHg6ICAgICAlenVcbiIsIG9iai0+aWR4KTsKKwlmcHJpbnRmKHN0ZGVyciwgIiAgcHJvY2VzczogJWRcbiIsIChpbnQpIG9iai0+cGlkKTsKKwlmcHJpbnRmKHN0ZGVyciwgIiAgdGhyZWFkOiAgJWRcbiIsIChpbnQpIG9iai0+dGlkKTsKKwlmcHJpbnRmKHN0ZGVyciwgIn1cbiIpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXNpemVfdCBpLCBuZmFpbGVkID0gMCwgbmlnbm9yZWQgPSAwOworCWludCBjOworCisJd2hpbGUgKCgoYyA9IGdldG9wdChhcmdjLCBhcmd2LCAicDp0Om86bDpoIikpICE9IC0xKSkgeworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAncCc6CisJCQlucHJvY2Vzc2VzID0gc3RydG91MzJfb3JfZXJyKG9wdGFyZywgImludmFsaWQgbnByb2Nlc3NlcyBudW1iZXIgYXJndW1lbnQiKTsKKwkJCWJyZWFrOworCQljYXNlICd0JzoKKwkJCW50aHJlYWRzID0gc3RydG91MzJfb3JfZXJyKG9wdGFyZywgImludmFsaWQgbnRocmVhZHMgbnVtYmVyIGFyZ3VtZW50Iik7CisJCQlicmVhazsKKwkJY2FzZSAnbyc6CisJCQlub2JqZWN0cyA9IHN0cnRvdTMyX29yX2VycihvcHRhcmcsICJpbnZhbGlkIG5vYmplY3RzIG51bWJlciBhcmd1bWVudCIpOworCQkJYnJlYWs7CisJCWNhc2UgJ2wnOgorCQkJbG9nbGV2ID0gc3RydG91MzJfb3JfZXJyKG9wdGFyZywgImludmFsaWQgbG9nIGxldmVsIGFyZ3VtZW50Iik7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShzdGRvdXQpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlpZiAob3B0aW5kICE9IGFyZ2MpCisJCXVzYWdlKHN0ZGVycik7CisKKwlpZiAobG9nbGV2ID09IDEpCisJCWZwcmludGYoc3RkZXJyLCAicmVxdWVzdGVkOiAlenUgcHJvY2Vzc2VzLCAlenUgdGhyZWFkcywgJXp1IG9iamVjdHMgcGVyIHRocmVhZCAoJXp1IG9iamVjdHMgPSAlenUgYnl0ZXMpXG4iLAorCQkJCW5wcm9jZXNzZXMsIG50aHJlYWRzLCBub2JqZWN0cywKKwkJCQlucHJvY2Vzc2VzICogbnRocmVhZHMgKiBub2JqZWN0cywKKwkJCQlucHJvY2Vzc2VzICogbnRocmVhZHMgKiBub2JqZWN0cyAqIHNpemVvZihvYmplY3RfdCkpOworCisJYWxsb2NhdGVfc2VnbWVudCgmc2htZW1faWQsICh2b2lkICoqKSZvYmplY3RzLAorCQkJIG5wcm9jZXNzZXMgKiBudGhyZWFkcyAqIG5vYmplY3RzLCBzaXplb2Yob2JqZWN0X3QpKTsKKworCWNyZWF0ZV9ucHJvY2Vzc2VzKCk7CisKKwlpZiAobG9nbGV2ID49IDMpIHsKKwkJZm9yIChpID0gMDsgaSA8IG5wcm9jZXNzZXMgKiBudGhyZWFkcyAqIG5vYmplY3RzOyBpKyspCisJCQlvYmplY3RfZHVtcChpLCAmb2JqZWN0c1tpXSk7CisJfQorCisJcXNvcnQob2JqZWN0cywgbnByb2Nlc3NlcyAqIG50aHJlYWRzICogbm9iamVjdHMsIHNpemVvZihvYmplY3RfdCksCisJICAgICAgb2JqZWN0X3V1aWRfY29tcGFyZSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnByb2Nlc3NlcyAqIG50aHJlYWRzICogbm9iamVjdHMgLSAxOyBpKyspIHsKKwkJb2JqZWN0X3QgKm9iajEgPSAmb2JqZWN0c1tpXSwKKwkJCSAqb2JqMiA9ICZvYmplY3RzW2kgKyAxXTsKKworCQlpZiAoIW9iajEtPnRpZCkgeworCQkJTE9HKDMsIChzdGRlcnIsICJpZ25vcmUgdW51c2VkIG9iamVjdCAjJXp1XG4iLCBpKSk7CisJCQluaWdub3JlZCsrOworCQkJY29udGludWU7CisJCX0KKworCQlpZiAob2JqZWN0X3V1aWRfY29tcGFyZShvYmoxLCBvYmoyKSA9PSAwKSB7CisJCQlpZiAobG9nbGV2ID49IDEpCisJCQkJZnByaW50ZihzdGRlcnIsICJub2JqZWN0cyAjJXp1IGFuZCAjJXp1IGhhdmUgZHVwbGljYXRlIFVVSURzXG4iLAorCQkJCQlpLCBpICsgMSk7CisJCQkJCW9iamVjdF9kdW1wKGksIG9iajEpLAorCQkJCQlvYmplY3RfZHVtcChpICsgMSwgb2JqMik7CisJCQluZmFpbGVkKys7CisJCX0KKwl9CisKKwlyZW1vdmVfc2VnbWVudChzaG1lbV9pZCwgb2JqZWN0cyk7CisJaWYgKG5pZ25vcmVkKQorCQlwcmludGYoIiV6dSBvYmplY3RzIGlnbm9yZWRcbiIsIG5pZ25vcmVkKTsKKwlpZiAoIW5mYWlsZWQpCisJCXByaW50ZigidGVzdCBzdWNjZXNzZnVsIChubyBkdXBsaWNhdGUgVVVJRHMgZm91bmQpXG4iKTsKKwllbHNlCisJCXByaW50ZigidGVzdCBmYWlsZWQgKGZvdW5kICV6dSBkdXBsaWNhdGUgVVVJRHMpXG4iLCBuZmFpbGVkKTsKKworCXJldHVybiBuZmFpbGVkID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy91dWlkZC44LmluIGIvbWlzYy11dGlscy91dWlkZC44LmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlMjVmYjEKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL3V1aWRkLjguaW4KQEAgLTAsMCArMSw5NCBAQAorLlwiIC0qLSBucm9mZiAtKi0KKy5cIiBDb3B5cmlnaHQgMjAwNyBieSBUaGVvZG9yZSBUcydvLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKy5cIiBUaGlzIGZpbGUgbWF5IGJlIGNvcGllZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBQdWJsaWMgTGljZW5zZS4KKy5cIgorLlRIIFVVSUREIDggIkp1bHkgMjAxNCIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQordXVpZGQgXC0gVVVJRCBnZW5lcmF0aW9uIGRhZW1vbgorLlNIIFNZTk9QU0lTCisuQiB1dWlkZAorW29wdGlvbnNdCisuU0ggREVTQ1JJUFRJT04KK1RoZQorLkIgdXVpZGQKK2RhZW1vbiBpcyB1c2VkIGJ5IHRoZSBVVUlEIGxpYnJhcnkgdG8gZ2VuZXJhdGUKK3VuaXZlcnNhbGx5IHVuaXF1ZSBpZGVudGlmaWVycyAoVVVJRHMpLCBlc3BlY2lhbGx5IHRpbWUtYmFzZWQgVVVJRHMsCitpbiBhIHNlY3VyZSBhbmQgZ3VhcmFudGVlZC11bmlxdWUgZmFzaGlvbiwgZXZlbiBpbiB0aGUgZmFjZSBvZiBsYXJnZQorbnVtYmVycyBvZiB0aHJlYWRzIHJ1bm5pbmcgb24gZGlmZmVyZW50IENQVXMgdHJ5aW5nIHRvIGdyYWIgVVVJRHMuCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1kICwgIiBcLVwtZGVidWcgIgorUnVuIHV1aWRkIGluIGRlYnVnZ2luZyBtb2RlLiAgVGhpcyBwcmV2ZW50cyB1dWlkZCBmcm9tIHJ1bm5pbmcgYXMgYSBkYWVtb24uCisuVFAKKy5CUiBcLUYgLCAiIFwtXC1uby1mb3JrICIKK0RvIG5vdCBkYWVtb25pemUgdXNpbmcgYSBkb3VibGUtZm9yay4KKy5UUAorLkJSIFwtayAsICIgXC1cLWtpbGwgIgorSWYgY3VycmVudGx5IGEgdXVpZGQgZGFlbW9uIGlzIHJ1bm5pbmcsIGtpbGwgaXQuCisuVFAKKy5CUiBcLW4gLCAiIFwtXC11dWlkcyAiIFxmSW51bWJlclxmUgorV2hlbiBpc3N1aW5nIGEgdGVzdCByZXF1ZXN0IHRvIGEgcnVubmluZyB1dWlkZCwgcmVxdWVzdCBhIGJ1bGsgcmVzcG9uc2UKK29mCisuSSBudW1iZXIKK1VVSURzLgorLlRQCisuQlIgXC1QICwgIiBcLVwtbm8tcGlkICIKK0RvIG5vdCBjcmVhdGUgYSBwaWQgZmlsZS4KKy5UUAorLkJSIFwtcCAsICIgXC1cLXBpZCAiIFxmSXBhdGhcZlIKK1NwZWNpZnkgdGhlIHBhdGhuYW1lIHdoZXJlIHRoZSBwaWQgZmlsZSBzaG91bGQgYmUgd3JpdHRlbi4gIEJ5IGRlZmF1bHQsCit0aGUgcGlkIGZpbGUgaXMgd3JpdHRlbiB0byBAbG9jYWxzdGF0ZWRpckAvdXVpZGQvdXVpZGQucGlkLgorLlRQCisuQlIgXC1xICwgIiBcLVwtcXVpZXQgIgorU3VwcHJlc3Mgc29tZSBmYWlsdXJlIG1lc3NhZ2VzLgorLlRQCisuQlIgXC1yICwgIiBcLVwtcmFuZG9tICIKK1Rlc3QgdXVpZGQgYnkgdHJ5aW5nIHRvIGNvbm5lY3QgdG8gYSBydW5uaW5nIHV1aWRkIGRhZW1vbiBhbmQKK3JlcXVlc3QgaXQgdG8gcmV0dXJuIGEgcmFuZG9tLWJhc2VkIFVVSUQuCisuVFAKKy5CUiBcLVMgLCAiIFwtXC1zb2NrZXQtYWN0aXZhdGlvbiAiCitEbyBub3QgY3JlYXRlIGEgc29ja2V0IGJ1dCBpbnN0ZWFkIGV4cGVjdCBpdCB0byBiZSBwcm92aWRlZCBieSB0aGUgY2FsbGluZworcHJvY2Vzcy4gIFRoaXMgaW1wbGllcyBcZkItLW5vLWZvcmtcZlIgYW5kIFxmQi0tbm8tcGlkXGZSLiAgVGhpcyBvcHRpb24gaXMKK2ludGVuZGVkIHRvIGJlIHVzZWQgb25seSB3aXRoIFxmQnN5c3RlbWRcZlIoMSkuICBJdCBuZWVkcyB0byBiZSBlbmFibGVkIHdpdGgKK2EgY29uZmlndXJlIG9wdGlvbi4KKy5UUAorLkJSIFwtcyAsICIgXC1cLXNvY2tldCAiIFxmSXBhdGhcZlIKK01ha2UgdXVpZGQgdXNlIHRoaXMgcGF0aG5hbWUgZm9yIHRoZSB1bml4LWRvbWFpbiBzb2NrZXQuICBCeSBkZWZhdWx0LCB0aGUKK3BhdGhuYW1lIHVzZWQgaXMgQGxvY2Fsc3RhdGVkaXJAL3V1aWRkL3JlcXVlc3QuICBUaGlzIG9wdGlvbiBpcyBwcmltYXJpbHkKK2ZvciBkZWJ1Z2dpbmcgcHVycG9zZXMsIHNpbmNlIHRoZSBwYXRobmFtZSBpcyBoYXJkLWNvZGVkIGluIHRoZSBsaWJ1dWlkCitsaWJyYXJ5LgorLlRQCisuQlIgXC1UICwgIiBcLVwtdGltZW91dCAiIFxmSW51bWJlclxmUgorTWFrZSB1dWlkZCBleGl0IGFmdGVyIFxmSW51bWJlclxmUiBzZWNvbmRzIG9mIGluYWN0aXZpdHkuCisuVFAKKy5CUiBcLXQgLCAiIFwtXC10aW1lICIKK1Rlc3QgdXVpZGQgYnkgdHJ5aW5nIHRvIGNvbm5lY3QgdG8gYSBydW5uaW5nIHV1aWRkIGRhZW1vbiBhbmQKK3JlcXVlc3QgaXQgdG8gcmV0dXJuIGEgdGltZS1iYXNlZCBVVUlELgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiAiCitPdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAgIgorRGlzcGxheSBoZWxwIHNjcmVlbiBhbmQgZXhpdC4KKy5TSCBFWEFNUExFCitTdGFydCB1cCBhIGRhZW1vbiwgcHJpbnQgNDIgcmFuZG9tIGtleXMsIGFuZCB0aGVuIHN0b3AgdGhlIGRhZW1vbjoKKy5QUAorLlJTCisubmYKK3V1aWRkIC1wIC90bXAvdXVpZGQucGlkIC1zIC90bXAvdXVpZGQuc29ja2V0Cit1dWlkZCAtZCAtciAtbiA0MiAtcyAvdG1wL3V1aWRkLnNvY2tldAordXVpZGQgLWQgLWsgLXMgL3RtcC91dWlkZC5zb2NrZXQKKy5uZgorLlJFCisuU0ggQVVUSE9SCitUaGUKKy5CIHV1aWRkCitkYWVtb24gd2FzIHdyaXR0ZW4gYnkgVGhlb2RvcmUgVHMnbyA8dHl0c29AbWl0LmVkdT4uCisuU0ggIlNFRSBBTFNPIgorLkJSIHV1aWQgKDMpLAorLkJSIHV1aWRnZW4gKDEpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgdXVpZGQgZGFlbW9uIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20gdGhlCisuVVIgZnRwOi8vXDpmdHAua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL3V1aWRkLmMgYi9taXNjLXV0aWxzL3V1aWRkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDljZjlkYwotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvdXVpZGQuYwpAQCAtMCwwICsxLDcxOCBAQAorLyoKKyAqIHV1aWRkLmMgLS0tIFVVSUQtZ2VuZXJhdGlvbiBkYWVtb24KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcgIFRoZW9kb3JlIFRzJ28KKyAqCisgKiAlQmVnaW4tSGVhZGVyJQorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIFB1YmxpYworICogTGljZW5zZS4KKyAqICVFbmQtSGVhZGVyJQorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8ZXJyLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisjaW5jbHVkZSA8c3lzL3VuLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzaWduYWwuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxzeXMvc2lnbmFsZmQuaD4KKyNpbmNsdWRlIDxwb2xsLmg+CisKKyNpbmNsdWRlICJ1dWlkLmgiCisjaW5jbHVkZSAidXVpZGQuaCIKKyNpbmNsdWRlICJhbGwtaW8uaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgIm9wdHV0aWxzLmgiCisjaW5jbHVkZSAibW9ub3RvbmljLmgiCisjaW5jbHVkZSAidGltZXIuaCIKKworI2lmZGVmIEhBVkVfTElCU1lTVEVNRAorIyBpbmNsdWRlIDxzeXN0ZW1kL3NkLWRhZW1vbi5oPgorI2VuZGlmCisKKyNpbmNsdWRlICJubHMuaCIKKworI2lmZGVmIF9fR05VQ19fCisjZGVmaW5lIENPREVfQVRUUih4KSBfX2F0dHJpYnV0ZV9fKHgpCisjZWxzZQorI2RlZmluZSBDT0RFX0FUVFIoeCkKKyNlbmRpZgorCisvKiBsZW5ndGggb2YgdGV4dHVhbCByZXByZXNlbnRhdGlvbiBvZiBVVUlELCBpbmNsdWRpbmcgdHJhaWxpbmcgXDAgKi8KKyNkZWZpbmUgVVVJRF9TVFJfTEVOCTM3CisKKy8qIGxlbmd0aCBvZiBiaW5hcnkgcmVwcmVzZW50YXRpb24gb2YgVVVJRCAqLworI2RlZmluZSBVVUlEX0xFTgkoc2l6ZW9mKHV1aWRfdCkpCisKKy8qIHNlcnZlciBsb29wIGNvbnRyb2wgc3RydWN0dXJlICovCitzdHJ1Y3QgdXVpZGRfY3h0X3QgeworCWNvbnN0IGNoYXIJKmNsZWFudXBfcGlkZmlsZTsKKwljb25zdCBjaGFyCSpjbGVhbnVwX3NvY2tldDsKKwl1aW50MzJfdAl0aW1lb3V0OworCXVuc2lnbmVkIGludAlkZWJ1ZzogMSwKKwkJCXF1aWV0OiAxLAorCQkJbm9fZm9yazogMSwKKwkJCW5vX3NvY2s6IDE7Cit9OworCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqIG91dCkKK3sKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc11cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkEgZGFlbW9uIGZvciBnZW5lcmF0aW5nIFVVSURzLlxuIiksIG91dCk7CisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLXAsIC0tcGlkIDxwYXRoPiAgICAgICAgcGF0aCB0byBwaWQgZmlsZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1zLCAtLXNvY2tldCA8cGF0aD4gICAgIHBhdGggdG8gc29ja2V0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtaywgLS1raWxsICAgICAgICAgICAgICBraWxsIHJ1bm5pbmcgZGFlbW9uXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdCByYW5kb20tYmFzZWQgZ2VuZXJhdGlvblxuIiksIG91dCk7CisJZnB1dHMoXygiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW4sIC0tdXVpZHMgPG51bT4gICAgICAgcmVxdWVzdCBudW1iZXIgb2YgdXVpZHNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtUCwgLS1uby1waWQgICAgICAgICAgICBkbyBub3QgY3JlYXRlIHBpZCBmaWxlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIGRvIG5vdCBjcmVhdGUgbGlzdGVuaW5nIHNvY2tldFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHJ1biBpbiBkZWJ1Z2dpbmcgbW9kZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHR1cm4gb24gcXVpZXQgbW9kZVxuIiksIG91dCk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKFVTQUdFX0hFTFAsIG91dCk7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoInV1aWRkKDgpIikpOworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyB2b2lkIGNyZWF0ZV9kYWVtb24odm9pZCkKK3sKKwl1aWRfdCBldWlkOworCisJaWYgKGRhZW1vbigwLCAwKSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgImRhZW1vbiIpOworCisJZXVpZCA9IGdldGV1aWQoKTsKKwlpZiAoc2V0cmV1aWQoZXVpZCwgZXVpZCkgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCAic2V0cmV1aWQiKTsKK30KKworc3RhdGljIGludCBjYWxsX2RhZW1vbihjb25zdCBjaGFyICpzb2NrZXRfcGF0aCwgaW50IG9wLCBjaGFyICpidWYsCisJCSAgICAgICBzaXplX3QgYnVmbGVuLCBpbnQgKm51bSwgY29uc3QgY2hhciAqKmVycl9jb250ZXh0KQoreworCWNoYXIgb3BfYnVmWzhdOworCWludCBvcF9sZW47CisJaW50IHM7CisJc3NpemVfdCByZXQ7CisJaW50MzJfdCByZXBseV9sZW4gPSAwOworCXN0cnVjdCBzb2NrYWRkcl91biBzcnZfYWRkcjsKKworCWlmICgoKG9wID09IFVVSUREX09QX0JVTEtfVElNRV9VVUlEKSB8fAorCSAgICAgKG9wID09IFVVSUREX09QX0JVTEtfUkFORE9NX1VVSUQpKSAmJiAhbnVtKSB7CisJCWlmIChlcnJfY29udGV4dCkKKwkJCSplcnJfY29udGV4dCA9IF8oImJhZCBhcmd1bWVudHMiKTsKKwkJZXJybm8gPSBFSU5WQUw7CisJCXJldHVybiAtMTsKKwl9CisKKwlpZiAoKHMgPSBzb2NrZXQoQUZfVU5JWCwgU09DS19TVFJFQU0sIDApKSA8IDApIHsKKwkJaWYgKGVycl9jb250ZXh0KQorCQkJKmVycl9jb250ZXh0ID0gXygic29ja2V0Iik7CisJCXJldHVybiAtMTsKKwl9CisKKwlzcnZfYWRkci5zdW5fZmFtaWx5ID0gQUZfVU5JWDsKKwlzdHJuY3B5KHNydl9hZGRyLnN1bl9wYXRoLCBzb2NrZXRfcGF0aCwgc2l6ZW9mKHNydl9hZGRyLnN1bl9wYXRoKSk7CisJc3J2X2FkZHIuc3VuX3BhdGhbc2l6ZW9mKHNydl9hZGRyLnN1bl9wYXRoKSAtIDFdID0gJ1wwJzsKKworCWlmIChjb25uZWN0KHMsIChjb25zdCBzdHJ1Y3Qgc29ja2FkZHIgKikgJnNydl9hZGRyLAorCQkgICAgc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcl91bikpIDwgMCkgeworCQlpZiAoZXJyX2NvbnRleHQpCisJCQkqZXJyX2NvbnRleHQgPSBfKCJjb25uZWN0Iik7CisJCWNsb3NlKHMpOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKG9wID09IFVVSUREX09QX0JVTEtfUkFORE9NX1VVSUQpIHsKKwkJaWYgKCgqbnVtKSAqIFVVSURfTEVOID4gYnVmbGVuIC0gNCkKKwkJCSpudW0gPSAoYnVmbGVuIC0gNCkgLyBVVUlEX0xFTjsKKwl9CisJb3BfYnVmWzBdID0gb3A7CisJb3BfbGVuID0gMTsKKwlpZiAoKG9wID09IFVVSUREX09QX0JVTEtfVElNRV9VVUlEKSB8fAorCSAgICAob3AgPT0gVVVJRERfT1BfQlVMS19SQU5ET01fVVVJRCkpIHsKKwkJbWVtY3B5KG9wX2J1ZiArIDEsIG51bSwgc2l6ZW9mKGludCkpOworCQlvcF9sZW4gKz0gc2l6ZW9mKGludCk7CisJfQorCisJcmV0ID0gd3JpdGVfYWxsKHMsIG9wX2J1Ziwgb3BfbGVuKTsKKwlpZiAocmV0IDwgMCkgeworCQlpZiAoZXJyX2NvbnRleHQpCisJCQkqZXJyX2NvbnRleHQgPSBfKCJ3cml0ZSIpOworCQljbG9zZShzKTsKKwkJcmV0dXJuIC0xOworCX0KKworCXJldCA9IHJlYWRfYWxsKHMsIChjaGFyICopICZyZXBseV9sZW4sIHNpemVvZihyZXBseV9sZW4pKTsKKwlpZiAocmV0IDwgMCkgeworCQlpZiAoZXJyX2NvbnRleHQpCisJCQkqZXJyX2NvbnRleHQgPSBfKCJyZWFkIGNvdW50Iik7CisJCWNsb3NlKHMpOworCQlyZXR1cm4gLTE7CisJfQorCWlmIChyZXBseV9sZW4gPCAwIHx8IChzaXplX3QpIHJlcGx5X2xlbiA+IGJ1ZmxlbikgeworCQlpZiAoZXJyX2NvbnRleHQpCisJCQkqZXJyX2NvbnRleHQgPSBfKCJiYWQgcmVzcG9uc2UgbGVuZ3RoIik7CisJCWNsb3NlKHMpOworCQlyZXR1cm4gLTE7CisJfQorCXJldCA9IHJlYWRfYWxsKHMsIChjaGFyICopIGJ1ZiwgcmVwbHlfbGVuKTsKKworCWlmICgocmV0ID4gMCkgJiYgKG9wID09IFVVSUREX09QX0JVTEtfVElNRV9VVUlEKSkgeworCQlpZiAocmVwbHlfbGVuID49IChpbnQpIChVVUlEX0xFTiArIHNpemVvZihpbnQpKSkKKwkJCW1lbWNweShidWYgKyBVVUlEX0xFTiwgbnVtLCBzaXplb2YoaW50KSk7CisJCWVsc2UKKwkJCSpudW0gPSAtMTsKKwl9CisJaWYgKChyZXQgPiAwKSAmJiAob3AgPT0gVVVJRERfT1BfQlVMS19SQU5ET01fVVVJRCkpIHsKKwkJaWYgKHJlcGx5X2xlbiA+PSAoaW50KSBzaXplb2YoaW50KSkKKwkJCW1lbWNweShidWYsIG51bSwgc2l6ZW9mKGludCkpOworCQllbHNlCisJCQkqbnVtID0gLTE7CisJfQorCisJY2xvc2Uocyk7CisKKwlyZXR1cm4gcmV0OworfQorCisvKgorICogRXhjbHVzaXZlbHkgY3JlYXRlIGFuZCBvcGVuIGEgcGlkIGZpbGUgd2l0aCBwYXRoIEBwaWRmaWxlX3BhdGgKKyAqCisgKiBSZXR1cm4gZmlsZSBkZXNjcmlwdG9yIG9mIHRoZSBjcmVhdGVkIHBpZF9maWxlLgorICovCitzdGF0aWMgaW50IGNyZWF0ZV9waWRmaWxlKHN0cnVjdCB1dWlkZF9jeHRfdCAqY3h0LCBjb25zdCBjaGFyICpwaWRmaWxlX3BhdGgpCit7CisJaW50CQlmZF9waWRmaWxlOworCXN0cnVjdCBmbG9jawlmbDsKKworCWZkX3BpZGZpbGUgPSBvcGVuKHBpZGZpbGVfcGF0aCwgT19DUkVBVCB8IE9fUkRXUiwgMDY2NCk7CisJaWYgKGZkX3BpZGZpbGUgPCAwKSB7CisJCWlmICghY3h0LT5xdWlldCkKKwkJCXdhcm4oXygiY2Fubm90IG9wZW4gJXMiKSwgcGlkZmlsZV9wYXRoKTsKKwkJZXhpdChFWElUX0ZBSUxVUkUpOworCX0KKwljeHQtPmNsZWFudXBfcGlkZmlsZSA9IHBpZGZpbGVfcGF0aDsKKworCWZsLmxfdHlwZSA9IEZfV1JMQ0s7CisJZmwubF93aGVuY2UgPSBTRUVLX1NFVDsKKwlmbC5sX3N0YXJ0ID0gMDsKKwlmbC5sX2xlbiA9IDA7CisJZmwubF9waWQgPSAwOworCXdoaWxlIChmY250bChmZF9waWRmaWxlLCBGX1NFVExLVywgJmZsKSA8IDApIHsKKwkJaWYgKChlcnJubyA9PSBFQUdBSU4pIHx8IChlcnJubyA9PSBFSU5UUikpCisJCQljb250aW51ZTsKKwkJaWYgKCFjeHQtPnF1aWV0KQorCQkJd2FybihfKCJjYW5ub3QgbG9jayAlcyIpLCBwaWRmaWxlX3BhdGgpOworCQlleGl0KEVYSVRfRkFJTFVSRSk7CisJfQorCisJcmV0dXJuIGZkX3BpZGZpbGU7Cit9CisKKy8qCisgKiBDcmVhdGUgQUZfVU5JWCwgU09DS19TVFJFQU0gc29ja2V0IGFuZCBiaW5kIHRvIEBzb2NrZXRfcGF0aAorICoKKyAqIElmIEB3aWxsX2ZvcmsgaXMgdHJ1ZSwgdGhlbiBtYWtlIHN1cmUgdGhlIGRlc2NyaXB0b3IKKyAqIG9mIHRoZSBzb2NrZXQgaXMgPjIsIHNvIHRoYXQgaXQgd29uJ3QgYmUgbGF0ZXIgY2xvc2VkCisgKiBkdXJpbmcgY3JlYXRlX2RhZW1vbigpLgorICoKKyAqIFJldHVybiBmaWxlIGRlc2NyaXB0b3IgY29ycmVzcG9uZGluZyB0byBjcmVhdGVkIHNvY2tldC4KKyAqLworc3RhdGljIGludCBjcmVhdGVfc29ja2V0KHN0cnVjdCB1dWlkZF9jeHRfdCAqdXVpZGRfY3h0LAorCQkJIGNvbnN0IGNoYXIgKnNvY2tldF9wYXRoLCBpbnQgd2lsbF9mb3JrKQoreworCXN0cnVjdCBzb2NrYWRkcl91bglteV9hZGRyOworCW1vZGVfdAkJCXNhdmVfdW1hc2s7CisJaW50CQkJczsKKworCWlmICgocyA9IHNvY2tldChBRl9VTklYLCBTT0NLX1NUUkVBTSwgMCkpIDwgMCkgeworCQlpZiAoIXV1aWRkX2N4dC0+cXVpZXQpCisJCQl3YXJuKF8oImNvdWxkbid0IGNyZWF0ZSB1bml4IHN0cmVhbSBzb2NrZXQiKSk7CisJCWV4aXQoRVhJVF9GQUlMVVJFKTsKKwl9CisKKwkvKgorCSAqIE1ha2Ugc3VyZSB0aGUgc29ja2V0IGlzbid0IHVzaW5nIGZkIG51bWJlcnMgMC0yIHRvIGF2b2lkIGl0CisJICogZ2V0dGluZyBjbG9zZWQgYnkgY3JlYXRlX2RhZW1vbigpCisJICovCisJd2hpbGUgKHdpbGxfZm9yayAmJiBzIDw9IDIpIHsKKwkJcyA9IGR1cChzKTsKKwkJaWYgKHMgPCAwKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgImR1cCIpOworCX0KKworCS8qCisJICogQ3JlYXRlIHRoZSBhZGRyZXNzIHdlIHdpbGwgYmUgYmluZGluZyB0by4KKwkgKi8KKwlteV9hZGRyLnN1bl9mYW1pbHkgPSBBRl9VTklYOworCXN0cm5jcHkobXlfYWRkci5zdW5fcGF0aCwgc29ja2V0X3BhdGgsIHNpemVvZihteV9hZGRyLnN1bl9wYXRoKSk7CisJbXlfYWRkci5zdW5fcGF0aFtzaXplb2YobXlfYWRkci5zdW5fcGF0aCkgLSAxXSA9ICdcMCc7CisJdW5saW5rKHNvY2tldF9wYXRoKTsKKwlzYXZlX3VtYXNrID0gdW1hc2soMCk7CisJaWYgKGJpbmQocywgKGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqKSAmbXlfYWRkciwKKwkJIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHJfdW4pKSA8IDApIHsKKwkJaWYgKCF1dWlkZF9jeHQtPnF1aWV0KQorCQkJd2FybihfKCJjb3VsZG4ndCBiaW5kIHVuaXggc29ja2V0ICVzIiksIHNvY2tldF9wYXRoKTsKKwkJZXhpdChFWElUX0ZBSUxVUkUpOworCX0KKwl1bWFzayhzYXZlX3VtYXNrKTsKKwl1dWlkZF9jeHQtPmNsZWFudXBfc29ja2V0ID0gc29ja2V0X3BhdGg7CisKKwlyZXR1cm4gczsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgYWxsX2RvbmUoY29uc3Qgc3RydWN0IHV1aWRkX2N4dF90ICp1dWlkZF9jeHQsIGludCByZXQpCit7CisJaWYgKHV1aWRkX2N4dC0+Y2xlYW51cF9waWRmaWxlKQorCQl1bmxpbmsodXVpZGRfY3h0LT5jbGVhbnVwX3BpZGZpbGUpOworCWlmICh1dWlkZF9jeHQtPmNsZWFudXBfc29ja2V0KQorCQl1bmxpbmsodXVpZGRfY3h0LT5jbGVhbnVwX3NvY2tldCk7CisJZXhpdChyZXQpOworfQorCitzdGF0aWMgdm9pZCBoYW5kbGVfc2lnbmFsKGNvbnN0IHN0cnVjdCB1dWlkZF9jeHRfdCAqdXVpZGRfY3h0LCBpbnQgZmQpCit7CisJc3RydWN0IHNpZ25hbGZkX3NpZ2luZm8gaW5mbzsKKwlzc2l6ZV90IGJ5dGVzOworCisJYnl0ZXMgPSByZWFkKGZkLCAmaW5mbywgc2l6ZW9mKGluZm8pKTsKKwlpZiAoYnl0ZXMgIT0gc2l6ZW9mKGluZm8pKSB7CisJCWlmIChlcnJubyA9PSBFQUdBSU4pCisJCQlyZXR1cm47CisJCXdhcm4oXygicmVjZWl2aW5nIHNpZ25hbCBmYWlsZWQiKSk7CisJCWluZm8uc3NpX3NpZ25vID0gMDsKKwl9CisJaWYgKGluZm8uc3NpX3NpZ25vID09IFNJR1BJUEUpCisJCXJldHVybjsJCS8qIGlnbm9yZWQgKi8KKwlhbGxfZG9uZSh1dWlkZF9jeHQsIEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyB2b2lkIHRpbWVvdXRfaGFuZGxlcihpbnQgc2lnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwKKwkJCSAgICBzaWdpbmZvX3QgKiBpbmZvLAorCQkJICAgIHZvaWQgKmNvbnRleHQgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCWlmIChpbmZvLT5zaV9jb2RlID09IFNJX1RJTUVSKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidGltZWQgb3V0IikpOworfQorCitzdGF0aWMgdm9pZCBzZXJ2ZXJfbG9vcChjb25zdCBjaGFyICpzb2NrZXRfcGF0aCwgY29uc3QgY2hhciAqcGlkZmlsZV9wYXRoLAorCQkJc3RydWN0IHV1aWRkX2N4dF90ICp1dWlkZF9jeHQpCit7CisJc3RydWN0IHNvY2thZGRyX3VuCWZyb21fYWRkcjsKKwlzb2NrbGVuX3QJCWZyb21sZW47CisJaW50MzJfdAkJCXJlcGx5X2xlbiA9IDA7CisJdXVpZF90CQkJdXU7CisJY2hhcgkJCXJlcGx5X2J1ZlsxMDI0XSwgKmNwOworCWNoYXIJCQlvcCwgc3RyW1VVSURfU1RSX0xFTl07CisJaW50CQkJaSwgbnMsIGxlbiwgbnVtOworCWludAkJCXMgPSAwOworCWludAkJCWZkX3BpZGZpbGUgPSAtMTsKKwlpbnQJCQlyZXQ7CisJc3RydWN0IHBvbGxmZAkJcGZkWzJdOworCXNpZ3NldF90CQlzaWdtYXNrOworCWludAkJCXNpZ2ZkOworCWVudW0geworCQkJCVBPTExGRF9TSUdOQUwgPSAwLAorCQkJCVBPTExGRF9TT0NLRVQKKwl9OworCisjaWZkZWYgSEFWRV9MSUJTWVNURU1ECisJaWYgKCF1dWlkZF9jeHQtPm5vX3NvY2spCS8qIG5vX3NvY2sgaW1wbGllcyBub19mb3JrIGFuZCBub19waWQgKi8KKyNlbmRpZgorCXsKKwkJc3RhdGljIHRpbWVyX3QgdF9pZDsKKwkJc3RydWN0IGl0aW1lcnZhbCB0aW1lb3V0OworCisJCW1lbXNldCgmdGltZW91dCwgMCwgc2l6ZW9mIHRpbWVvdXQpOworCQl0aW1lb3V0Lml0X3ZhbHVlLnR2X3NlYyA9IDMwOworCQlpZiAoc2V0dXBfdGltZXIoJnRfaWQsICZ0aW1lb3V0LCAmdGltZW91dF9oYW5kbGVyKSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBzZXQgdXAgdGltZXIiKSk7CisJCWlmIChwaWRmaWxlX3BhdGgpCisJCQlmZF9waWRmaWxlID0gY3JlYXRlX3BpZGZpbGUodXVpZGRfY3h0LCBwaWRmaWxlX3BhdGgpOworCQlyZXQgPSBjYWxsX2RhZW1vbihzb2NrZXRfcGF0aCwgVVVJRERfT1BfR0VUUElELCByZXBseV9idWYsCisJCQkJICBzaXplb2YocmVwbHlfYnVmKSwgMCwgTlVMTCk7CisJCWNhbmNlbF90aW1lcigmdF9pZCk7CisJCWlmIChyZXQgPiAwKSB7CisJCQlpZiAoIXV1aWRkX2N4dC0+cXVpZXQpCisJCQkJd2FybngoXygidXVpZGQgZGFlbW9uIGlzIGFscmVhZHkgcnVubmluZyBhdCBwaWQgJXMiKSwKKwkJCQkJcmVwbHlfYnVmKTsKKwkJCWV4aXQoRVhJVF9GQUlMVVJFKTsKKwkJfQorCisJCXMgPSBjcmVhdGVfc29ja2V0KHV1aWRkX2N4dCwgc29ja2V0X3BhdGgsCisJCQkJICAoIXV1aWRkX2N4dC0+ZGVidWcgfHwgIXV1aWRkX2N4dC0+bm9fZm9yaykpOworCQlpZiAobGlzdGVuKHMsIFNPTUFYQ09OTikgPCAwKSB7CisJCQlpZiAoIXV1aWRkX2N4dC0+cXVpZXQpCisJCQkJd2FybihfKCJjb3VsZG4ndCBsaXN0ZW4gb24gdW5peCBzb2NrZXQgJXMiKSwgc29ja2V0X3BhdGgpOworCQkJZXhpdChFWElUX0ZBSUxVUkUpOworCQl9CisKKwkJaWYgKCF1dWlkZF9jeHQtPmRlYnVnICYmICF1dWlkZF9jeHQtPm5vX2ZvcmspCisJCQljcmVhdGVfZGFlbW9uKCk7CisKKwkJaWYgKHBpZGZpbGVfcGF0aCkgeworCQkJc3ByaW50ZihyZXBseV9idWYsICIlOGRcbiIsIGdldHBpZCgpKTsKKwkJCWlmIChmdHJ1bmNhdGUoZmRfcGlkZmlsZSwgMCkpCisJCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY291bGQgbm90IHRydW5jYXRlIGZpbGU6ICVzIiksIHBpZGZpbGVfcGF0aCk7CisJCQl3cml0ZV9hbGwoZmRfcGlkZmlsZSwgcmVwbHlfYnVmLCBzdHJsZW4ocmVwbHlfYnVmKSk7CisJCQlpZiAoZmRfcGlkZmlsZSA+IDEgJiYgY2xvc2VfZmQoZmRfcGlkZmlsZSkgIT0gMCkKKwkJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJ3cml0ZSBmYWlsZWQ6ICVzIiksIHBpZGZpbGVfcGF0aCk7CisJCX0KKworCX0KKworI2lmZGVmIEhBVkVfTElCU1lTVEVNRAorCWlmICh1dWlkZF9jeHQtPm5vX3NvY2spIHsKKwkJY29uc3QgaW50IHIgPSBzZF9saXN0ZW5fZmRzKDApOworCisJCWlmIChyIDwgMCkgeworCQkJZXJybm8gPSByICogLTE7CisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJzZF9saXN0ZW5fZmRzKCkgZmFpbGVkIikpOworCQl9IGVsc2UgaWYgKHIgPT0gMCkKKwkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJICAgICBfKCJubyBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayBzeXN0ZW1jdGwgc3RhdHVzIHV1aWRkLnNvY2tldCIpKTsKKwkJZWxzZSBpZiAoMSA8IHIpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCSAgICAgXygidG9vIG1hbnkgZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgdXVpZGQuc29ja2V0IikpOworCQlzID0gU0RfTElTVEVOX0ZEU19TVEFSVCArIDA7CisJfQorI2VuZGlmCisKKwlzaWdlbXB0eXNldCgmc2lnbWFzayk7CisJc2lnYWRkc2V0KCZzaWdtYXNrLCBTSUdIVVApOworCXNpZ2FkZHNldCgmc2lnbWFzaywgU0lHSU5UKTsKKwlzaWdhZGRzZXQoJnNpZ21hc2ssIFNJR1RFUk0pOworCXNpZ2FkZHNldCgmc2lnbWFzaywgU0lHQUxSTSk7CisJc2lnYWRkc2V0KCZzaWdtYXNrLCBTSUdQSVBFKTsKKwkvKiBCbG9jayBzaWduYWxzIHNvIHRoYXQgdGhleSBhcmVuJ3QgaGFuZGxlZCBhY2NvcmRpbmcgdG8gdGhlaXIKKwkgKiBkZWZhdWx0IGRpc3Bvc2l0aW9ucyAqLworCXNpZ3Byb2NtYXNrKFNJR19CTE9DSywgJnNpZ21hc2ssIE5VTEwpOworCWlmICgoc2lnZmQgPSBzaWduYWxmZCgtMSwgJnNpZ21hc2ssIDApKSA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiKSk7CisKKwlwZmRbUE9MTEZEX1NJR05BTF0uZmQgPSBzaWdmZDsKKwlwZmRbUE9MTEZEX1NPQ0tFVF0uZmQgPSBzOworCXBmZFtQT0xMRkRfU0lHTkFMXS5ldmVudHMgPSBwZmRbUE9MTEZEX1NPQ0tFVF0uZXZlbnRzID0gUE9MTElOIHwgUE9MTEVSUiB8IFBPTExIVVA7CisKKwl3aGlsZSAoMSkgeworCQlyZXQgPSBwb2xsKHBmZCwgQVJSQVlfU0laRShwZmQpLAorCQkJCXV1aWRkX2N4dC0+dGltZW91dCA/CisJCQkJCShpbnQpIHV1aWRkX2N4dC0+dGltZW91dCAqIDEwMDAgOiAtMSk7CisJCWlmIChyZXQgPCAwKSB7CisJCQlpZiAoZXJybm8gPT0gRUFHQUlOKQorCQkJCWNvbnRpbnVlOworCQkJd2FybihfKCJwb2xsIGZhaWxlZCIpKTsKKwkJCQlhbGxfZG9uZSh1dWlkZF9jeHQsIEVYSVRfRkFJTFVSRSk7CisJCX0KKwkJaWYgKHJldCA9PSAwKSB7CQkvKiB0cnVlIHdoZW4gcG9sbCgpIHRpbWVzIG91dCAqLworCQkJaWYgKHV1aWRkX2N4dC0+ZGVidWcpCisJCQkJZnByaW50ZihzdGRlcnIsIF8oInRpbWVvdXQgWyVkIHNlY11cbiIpLCB1dWlkZF9jeHQtPnRpbWVvdXQpLAorCQkJYWxsX2RvbmUodXVpZGRfY3h0LCBFWElUX1NVQ0NFU1MpOworCQl9CisJCWlmIChwZmRbUE9MTEZEX1NJR05BTF0ucmV2ZW50cyAhPSAwKQorCQkJaGFuZGxlX3NpZ25hbCh1dWlkZF9jeHQsIHNpZ2ZkKTsKKwkJaWYgKHBmZFtQT0xMRkRfU09DS0VUXS5yZXZlbnRzID09IDApCisJCQljb250aW51ZTsKKwkJZnJvbWxlbiA9IHNpemVvZihmcm9tX2FkZHIpOworCQlucyA9IGFjY2VwdChzLCAoc3RydWN0IHNvY2thZGRyICopICZmcm9tX2FkZHIsICZmcm9tbGVuKTsKKwkJaWYgKG5zIDwgMCkgeworCQkJaWYgKChlcnJubyA9PSBFQUdBSU4pIHx8IChlcnJubyA9PSBFSU5UUikpCisJCQkJY29udGludWU7CisJCQllbHNlCisJCQkJZXJyKEVYSVRfRkFJTFVSRSwgImFjY2VwdCIpOworCQl9CisJCWxlbiA9IHJlYWQobnMsICZvcCwgMSk7CisJCWlmIChsZW4gIT0gMSkgeworCQkJaWYgKGxlbiA8IDApCisJCQkJd2FybihfKCJyZWFkIGZhaWxlZCIpKTsKKwkJCWVsc2UKKwkJCQl3YXJueChfKCJlcnJvciByZWFkaW5nIGZyb20gY2xpZW50LCBsZW4gPSAlZCIpLAorCQkJCQkJbGVuKTsKKwkJCWdvdG8gc2h1dGRvd25fc29ja2V0OworCQl9CisJCWlmICgob3AgPT0gVVVJRERfT1BfQlVMS19USU1FX1VVSUQpIHx8CisJCSAgICAob3AgPT0gVVVJRERfT1BfQlVMS19SQU5ET01fVVVJRCkpIHsKKwkJCWlmIChyZWFkX2FsbChucywgKGNoYXIgKikgJm51bSwgc2l6ZW9mKG51bSkpICE9IDQpCisJCQkJZ290byBzaHV0ZG93bl9zb2NrZXQ7CisJCQlpZiAodXVpZGRfY3h0LT5kZWJ1ZykKKwkJCQlmcHJpbnRmKHN0ZGVyciwgXygib3BlcmF0aW9uICVkLCBpbmNvbWluZyBudW0gPSAlZFxuIiksCisJCQkJICAgICAgIG9wLCBudW0pOworCQl9IGVsc2UgaWYgKHV1aWRkX2N4dC0+ZGVidWcpCisJCQlmcHJpbnRmKHN0ZGVyciwgXygib3BlcmF0aW9uICVkXG4iKSwgb3ApOworCisJCXN3aXRjaCAob3ApIHsKKwkJY2FzZSBVVUlERF9PUF9HRVRQSUQ6CisJCQlzcHJpbnRmKHJlcGx5X2J1ZiwgIiVkIiwgZ2V0cGlkKCkpOworCQkJcmVwbHlfbGVuID0gc3RybGVuKHJlcGx5X2J1ZikgKyAxOworCQkJYnJlYWs7CisJCWNhc2UgVVVJRERfT1BfR0VUX01BWE9QOgorCQkJc3ByaW50ZihyZXBseV9idWYsICIlZCIsIFVVSUREX01BWF9PUCk7CisJCQlyZXBseV9sZW4gPSBzdHJsZW4ocmVwbHlfYnVmKSArIDE7CisJCQlicmVhazsKKwkJY2FzZSBVVUlERF9PUF9USU1FX1VVSUQ6CisJCQludW0gPSAxOworCQkJX191dWlkX2dlbmVyYXRlX3RpbWUodXUsICZudW0pOworCQkJaWYgKHV1aWRkX2N4dC0+ZGVidWcpIHsKKwkJCQl1dWlkX3VucGFyc2UodXUsIHN0cik7CisJCQkJZnByaW50ZihzdGRlcnIsIF8oIkdlbmVyYXRlZCB0aW1lIFVVSUQ6ICVzXG4iKSwgc3RyKTsKKwkJCX0KKwkJCW1lbWNweShyZXBseV9idWYsIHV1LCBzaXplb2YodXUpKTsKKwkJCXJlcGx5X2xlbiA9IHNpemVvZih1dSk7CisJCQlicmVhazsKKwkJY2FzZSBVVUlERF9PUF9SQU5ET01fVVVJRDoKKwkJCW51bSA9IDE7CisJCQlfX3V1aWRfZ2VuZXJhdGVfcmFuZG9tKHV1LCAmbnVtKTsKKwkJCWlmICh1dWlkZF9jeHQtPmRlYnVnKSB7CisJCQkJdXVpZF91bnBhcnNlKHV1LCBzdHIpOworCQkJCWZwcmludGYoc3RkZXJyLCBfKCJHZW5lcmF0ZWQgcmFuZG9tIFVVSUQ6ICVzXG4iKSwgc3RyKTsKKwkJCX0KKwkJCW1lbWNweShyZXBseV9idWYsIHV1LCBzaXplb2YodXUpKTsKKwkJCXJlcGx5X2xlbiA9IHNpemVvZih1dSk7CisJCQlicmVhazsKKwkJY2FzZSBVVUlERF9PUF9CVUxLX1RJTUVfVVVJRDoKKwkJCV9fdXVpZF9nZW5lcmF0ZV90aW1lKHV1LCAmbnVtKTsKKwkJCWlmICh1dWlkZF9jeHQtPmRlYnVnKSB7CisJCQkJdXVpZF91bnBhcnNlKHV1LCBzdHIpOworCQkJCWZwcmludGYoc3RkZXJyLCBQXygiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyAiCisJCQkJCQkgICAiYW5kICVkIGZvbGxvd2luZ1xuIiwKKwkJCQkJCSAgICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzICIKKwkJCQkJCSAgICJhbmQgJWQgZm9sbG93aW5nXG4iLCBudW0gLSAxKSwKKwkJCQkgICAgICAgc3RyLCBudW0gLSAxKTsKKwkJCX0KKwkJCW1lbWNweShyZXBseV9idWYsIHV1LCBzaXplb2YodXUpKTsKKwkJCXJlcGx5X2xlbiA9IHNpemVvZih1dSk7CisJCQltZW1jcHkocmVwbHlfYnVmICsgcmVwbHlfbGVuLCAmbnVtLCBzaXplb2YobnVtKSk7CisJCQlyZXBseV9sZW4gKz0gc2l6ZW9mKG51bSk7CisJCQlicmVhazsKKwkJY2FzZSBVVUlERF9PUF9CVUxLX1JBTkRPTV9VVUlEOgorCQkJaWYgKG51bSA8IDApCisJCQkJbnVtID0gMTsKKwkJCWlmIChudW0gPiAxMDAwKQorCQkJCW51bSA9IDEwMDA7CisJCQlpZiAobnVtICogVVVJRF9MRU4gPiAoaW50KSAoc2l6ZW9mKHJlcGx5X2J1ZikgLSBzaXplb2YobnVtKSkpCisJCQkJbnVtID0gKHNpemVvZihyZXBseV9idWYpIC0gc2l6ZW9mKG51bSkpIC8gVVVJRF9MRU47CisJCQlfX3V1aWRfZ2VuZXJhdGVfcmFuZG9tKCh1bnNpZ25lZCBjaGFyICopIHJlcGx5X2J1ZiArCisJCQkJCSAgICAgIHNpemVvZihudW0pLCAmbnVtKTsKKwkJCWlmICh1dWlkZF9jeHQtPmRlYnVnKSB7CisJCQkJZnByaW50ZihzdGRlcnIsIFBfKCJHZW5lcmF0ZWQgJWQgVVVJRDpcbiIsCisJCQkJCQkgICAiR2VuZXJhdGVkICVkIFVVSURzOlxuIiwgbnVtKSwgbnVtKTsKKwkJCQlmb3IgKGkgPSAwLCBjcCA9IHJlcGx5X2J1ZiArIHNpemVvZihudW0pOworCQkJCSAgICAgaSA8IG51bTsKKwkJCQkgICAgIGkrKywgY3AgKz0gVVVJRF9MRU4pIHsKKwkJCQkJdXVpZF91bnBhcnNlKCh1bnNpZ25lZCBjaGFyICopY3AsIHN0cik7CisJCQkJCWZwcmludGYoc3RkZXJyLCAiXHQlc1xuIiwgc3RyKTsKKwkJCQl9CisJCQl9CisJCQlyZXBseV9sZW4gPSAobnVtICogVVVJRF9MRU4pICsgc2l6ZW9mKG51bSk7CisJCQltZW1jcHkocmVwbHlfYnVmLCAmbnVtLCBzaXplb2YobnVtKSk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWlmICh1dWlkZF9jeHQtPmRlYnVnKQorCQkJCWZwcmludGYoc3RkZXJyLCBfKCJJbnZhbGlkIG9wZXJhdGlvbiAlZFxuIiksIG9wKTsKKwkJCWdvdG8gc2h1dGRvd25fc29ja2V0OworCQl9CisJCXdyaXRlX2FsbChucywgKGNoYXIgKikgJnJlcGx5X2xlbiwgc2l6ZW9mKHJlcGx5X2xlbikpOworCQl3cml0ZV9hbGwobnMsIHJlcGx5X2J1ZiwgcmVwbHlfbGVuKTsKKwlzaHV0ZG93bl9zb2NrZXQ6CisJCWNsb3NlKG5zKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKSB1bmV4cGVjdGVkX3NpemUoaW50IHNpemUpCit7CisJZXJyeChFWElUX0ZBSUxVUkUsIF8oIlVuZXhwZWN0ZWQgcmVwbHkgbGVuZ3RoIGZyb20gc2VydmVyICVkIiksIHNpemUpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJY29uc3QgY2hhcgkqc29ja2V0X3BhdGggPSBVVUlERF9TT0NLRVRfUEFUSDsKKwljb25zdCBjaGFyCSpwaWRmaWxlX3BhdGggPSBOVUxMOworCWNvbnN0IGNoYXIJKmVycl9jb250ZXh0ID0gTlVMTDsKKwljaGFyCQlidWZbMTAyNF0sICpjcDsKKwljaGFyCQlzdHJbVVVJRF9TVFJfTEVOXTsKKwl1dWlkX3QJCXV1OworCWludAkJaSwgYywgcmV0OworCWludAkJZG9fdHlwZSA9IDAsIGRvX2tpbGwgPSAwLCBudW0gPSAwOworCWludAkJbm9fcGlkID0gMDsKKwlpbnQJCXNfZmxhZyA9IDA7CisKKwlzdHJ1Y3QgdXVpZGRfY3h0X3QgdXVpZGRfY3h0ID0geyAudGltZW91dCA9IDAgfTsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsicGlkIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdwJ30sCisJCXsic29ja2V0IiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdzJ30sCisJCXsidGltZW91dCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnVCd9LAorCQl7ImtpbGwiLCBub19hcmd1bWVudCwgTlVMTCwgJ2snfSwKKwkJeyJyYW5kb20iLCBub19hcmd1bWVudCwgTlVMTCwgJ3InfSwKKwkJeyJ0aW1lIiwgbm9fYXJndW1lbnQsIE5VTEwsICd0J30sCisJCXsidXVpZHMiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ24nfSwKKwkJeyJuby1waWQiLCBub19hcmd1bWVudCwgTlVMTCwgJ1AnfSwKKwkJeyJuby1mb3JrIiwgbm9fYXJndW1lbnQsIE5VTEwsICdGJ30sCisJCXsic29ja2V0LWFjdGl2YXRpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1MnfSwKKwkJeyJkZWJ1ZyIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnZCd9LAorCQl7InF1aWV0Iiwgbm9fYXJndW1lbnQsIE5VTEwsICdxJ30sCisJCXsidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnVid9LAorCQl7ImhlbHAiLCBub19hcmd1bWVudCwgTlVMTCwgJ2gnfSwKKwkJe05VTEwsIDAsIE5VTEwsIDB9CisJfTsKKwlzdGF0aWMgY29uc3QgdWxfZXhjbF90IGV4Y2xbXSA9IHsKKwkJeyAnUCcsICdwJyB9LAorCQl7ICdkJywgJ3EnIH0sCisJCXsgJ3InLCAndCcgfSwKKwkJeyAwIH0KKwl9OworCWludCBleGNsX3N0W0FSUkFZX1NJWkUoZXhjbCldID0gVUxfRVhDTF9TVEFUVVNfSU5JVDsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwl3aGlsZSAoKGMgPQorCQlnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAicDpzOlQ6a3J0bjpQRlNkcVZoIiwgbG9uZ29wdHMsCisJCQkgICAgTlVMTCkpICE9IC0xKSB7CisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhjLCBsb25nb3B0cywgZXhjbCwgZXhjbF9zdCk7CisJCXN3aXRjaCAoYykgeworCQljYXNlICdkJzoKKwkJCXV1aWRkX2N4dC5kZWJ1ZyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnayc6CisJCQlkb19raWxsKys7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQludW0gPSBzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLAorCQkJCQkJXygiZmFpbGVkIHRvIHBhcnNlIC0tdXVpZHMiKSk7CisJCQlicmVhazsKKwkJY2FzZSAncCc6CisJCQlwaWRmaWxlX3BhdGggPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnUCc6CisJCQlub19waWQgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ0YnOgorCQkJdXVpZGRfY3h0Lm5vX2ZvcmsgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ1MnOgorI2lmZGVmIEhBVkVfTElCU1lTVEVNRAorCQkJdXVpZGRfY3h0Lm5vX3NvY2sgPSAxOworCQkJdXVpZGRfY3h0Lm5vX2ZvcmsgPSAxOworCQkJbm9fcGlkID0gMTsKKyNlbHNlCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidXVpZGQgaGFzIGJlZW4gYnVpbHQgd2l0aG91dCAiCisJCQkJCSAgICAgInN1cHBvcnQgZm9yIHNvY2tldCBhY3RpdmF0aW9uIikpOworI2VuZGlmCisJCQlicmVhazsKKwkJY2FzZSAncSc6CisJCQl1dWlkZF9jeHQucXVpZXQgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJZG9fdHlwZSA9IFVVSUREX09QX1JBTkRPTV9VVUlEOworCQkJYnJlYWs7CisJCWNhc2UgJ3MnOgorCQkJc29ja2V0X3BhdGggPSBvcHRhcmc7CisJCQlzX2ZsYWcgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3QnOgorCQkJZG9fdHlwZSA9IFVVSUREX09QX1RJTUVfVVVJRDsKKwkJCWJyZWFrOworCQljYXNlICdUJzoKKwkJCXV1aWRkX2N4dC50aW1lb3V0ID0gc3RydG91MzJfb3JfZXJyKG9wdGFyZywKKwkJCQkJCV8oImZhaWxlZCB0byBwYXJzZSAtLXRpbWVvdXQiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2Uoc3Rkb3V0KTsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKHN0ZGVycik7CisJCX0KKwl9CisKKwlpZiAoIW5vX3BpZCAmJiAhcGlkZmlsZV9wYXRoKQorCQlwaWRmaWxlX3BhdGggPSBVVUlERF9QSURGSUxFX1BBVEg7CisKKwkvKiBjdXN0b20gc29ja2V0IHBhdGggYW5kIHNvY2tldC1hY3RpdmF0aW9uIG1ha2Ugbm8gc2Vuc2UgKi8KKwlpZiAoc19mbGFnICYmIHV1aWRkX2N4dC5ub19zb2NrICYmICF1dWlkZF9jeHQucXVpZXQpCisJCXdhcm54KF8oIkJvdGggLS1zb2NrZXQtYWN0aXZhdGlvbiBhbmQgLS1zb2NrZXQgc3BlY2lmaWVkLiAiCisJCQkiSWdub3JpbmcgLS1zb2NrZXQuIikpOworCisJaWYgKG51bSAmJiBkb190eXBlKSB7CisJCXJldCA9IGNhbGxfZGFlbW9uKHNvY2tldF9wYXRoLCBkb190eXBlICsgMiwgYnVmLAorCQkJCSAgc2l6ZW9mKGJ1ZiksICZudW0sICZlcnJfY29udGV4dCk7CisJCWlmIChyZXQgPCAwKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZXJyb3IgY2FsbGluZyB1dWlkZCBkYWVtb24gKCVzKSIpLAorCQkJCQllcnJfY29udGV4dCA/IDogXygidW5leHBlY3RlZCBlcnJvciIpKTsKKworCQlpZiAoZG9fdHlwZSA9PSBVVUlERF9PUF9USU1FX1VVSUQpIHsKKwkJCWlmIChyZXQgIT0gc2l6ZW9mKHV1KSArIHNpemVvZihudW0pKQorCQkJCXVuZXhwZWN0ZWRfc2l6ZShyZXQpOworCisJCQl1dWlkX3VucGFyc2UoKHVuc2lnbmVkIGNoYXIgKikgYnVmLCBzdHIpOworCisJCQlwcmludGYoUF8oIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURcbiIsCisJCQkJICAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRHNcbiIsIG51bSAtIDEpLAorCQkJICAgICAgIHN0ciwgbnVtIC0gMSk7CisJCX0gZWxzZSB7CisJCQlwcmludGYoXygiTGlzdCBvZiBVVUlEczpcbiIpKTsKKwkJCWNwID0gYnVmICsgNDsKKwkJCWlmIChyZXQgIT0gKGludCkgKHNpemVvZihudW0pICsgbnVtICogc2l6ZW9mKHV1KSkpCisJCQkJdW5leHBlY3RlZF9zaXplKHJldCk7CisJCQlmb3IgKGkgPSAwOyBpIDwgbnVtOyBpKyssIGNwICs9IFVVSURfTEVOKSB7CisJCQkJdXVpZF91bnBhcnNlKCh1bnNpZ25lZCBjaGFyICopIGNwLCBzdHIpOworCQkJCXByaW50ZigiXHQlc1xuIiwgc3RyKTsKKwkJCX0KKwkJfQorCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCX0KKwlpZiAoZG9fdHlwZSkgeworCQlyZXQgPSBjYWxsX2RhZW1vbihzb2NrZXRfcGF0aCwgZG9fdHlwZSwgKGNoYXIgKikgJnV1LAorCQkJCSAgc2l6ZW9mKHV1KSwgMCwgJmVycl9jb250ZXh0KTsKKwkJaWYgKHJldCA8IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJlcnJvciBjYWxsaW5nIHV1aWRkIGRhZW1vbiAoJXMpIiksCisJCQkJCWVycl9jb250ZXh0ID8gOiBfKCJ1bmV4cGVjdGVkIGVycm9yIikpOworCQlpZiAocmV0ICE9IHNpemVvZih1dSkpCisJCSAgICAgICAgdW5leHBlY3RlZF9zaXplKHJldCk7CisKKwkJdXVpZF91bnBhcnNlKHV1LCBzdHIpOworCisJCXByaW50ZigiJXNcbiIsIHN0cik7CisJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJfQorCisJaWYgKGRvX2tpbGwpIHsKKwkJcmV0ID0gY2FsbF9kYWVtb24oc29ja2V0X3BhdGgsIFVVSUREX09QX0dFVFBJRCwgYnVmLCBzaXplb2YoYnVmKSwgMCwgTlVMTCk7CisJCWlmICgocmV0ID4gMCkgJiYgKChkb19raWxsID0gYXRvaSgoY2hhciAqKSBidWYpKSA+IDApKSB7CisJCQlyZXQgPSBraWxsKGRvX2tpbGwsIFNJR1RFUk0pOworCQkJaWYgKHJldCA8IDApIHsKKwkJCQlpZiAoIXV1aWRkX2N4dC5xdWlldCkKKwkJCQkJd2FybihfKCJjb3VsZG4ndCBraWxsIHV1aWRkIHJ1bm5pbmcgIgorCQkJCQkJICAiYXQgcGlkICVkIiksIGRvX2tpbGwpOworCQkJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJCQl9CisJCQlpZiAoIXV1aWRkX2N4dC5xdWlldCkKKwkJCQlwcmludGYoXygiS2lsbGVkIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkLlxuIiksCisJCQkJICAgICAgIGRvX2tpbGwpOworCQl9CisJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJfQorCisJc2VydmVyX2xvb3Aoc29ja2V0X3BhdGgsIHBpZGZpbGVfcGF0aCwgJnV1aWRkX2N4dCk7CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvdXVpZGQucmMuaW4gYi9taXNjLXV0aWxzL3V1aWRkLnJjLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2MjczZTUKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL3V1aWRkLnJjLmluCkBAIC0wLDAgKzEsNjIgQEAKKyMhIC9iaW4vc2ggLWUKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6ICAgICAgICAgIHV1aWRkCisjIFJlcXVpcmVkLVN0YXJ0OiAgICAkdGltZSAkbG9jYWxfZnMgJHJlbW90ZV9mcworIyBSZXF1aXJlZC1TdG9wOiAgICAgJHRpbWUgJGxvY2FsX2ZzICRyZW1vdGVfZnMKKyMgRGVmYXVsdC1TdGFydDogICAgIDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAgICAgIDAgMSA2CisjIFNob3J0LURlc2NyaXB0aW9uOiB1dWlkZCBkYWVtb24KKyMgRGVzY3JpcHRpb246ICAgICAgIEluaXQgc2NyaXB0IGZvciB0aGUgdXVpZCBnZW5lcmF0aW9uIGRhZW1vbgorIyMjIEVORCBJTklUIElORk8KKyMKKyMgQXV0aG9yOgkiVGhlb2RvcmUgVHMnbyIgPHR5dHNvQG1pdC5lZHU+CisjCitzZXQgLWUKKworUEFUSD0vYmluOi91c3IvYmluOi9zYmluOi91c3Ivc2JpbgorREFFTU9OPS91c3Ivc2Jpbi91dWlkZAorVVVJRERfVVNFUj11dWlkZAorVVVJRERfR1JPVVA9dXVpZGQKK1VVSUREX0RJUj1AbG9jYWxzdGF0ZWRpckAvdXVpZGQKK1BJREZJTEU9JFVVSUREX0RJUi91dWlkZC5waWQKKwordGVzdCAteCAkREFFTU9OIHx8IGV4aXQgMAorCisuIC9saWIvbHNiL2luaXQtZnVuY3Rpb25zCisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKwlsb2dfZGFlbW9uX21zZyAiU3RhcnRpbmcgdXVpZCBnZW5lcmF0b3IiICJ1dWlkZCIKKwlpZiAhIHRlc3QgLWQgJFVVSUREX0RJUjsgdGhlbgorCQlta2RpciAtcCAkVVVJRERfRElSCisJCWNob3duIC1SICRVVUlERF9VU0VSOiRVVUlERF9HUk9VUCAkVVVJRERfRElSCisJZmkKKwlzdGFydF9kYWVtb24gLXAgJFBJREZJTEUgJERBRU1PTgorCWxvZ19lbmRfbXNnICQ/CisgICAgOzsKKyAgc3RvcCkKKwlsb2dfZGFlbW9uX21zZyAiU3RvcHBpbmcgdXVpZCBnZW5lcmF0b3IiICJ1dWlkZCIKKwlraWxscHJvYyAtcCAkUElERklMRSAkREFFTU9OCisJbG9nX2VuZF9tc2cgJD8KKyAgICA7OworICBzdGF0dXMpCisJaWYgcGlkb2Zwcm9jIC1wICRQSURGSUxFICREQUVNT04gPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisJICAgIGVjaG8gIiREQUVNT04gaXMgcnVubmluZyI7CisJICAgIGV4aXQgMDsKKwllbHNlCisJICAgIGVjaG8gIiREQUVNT04gaXMgTk9UIHJ1bm5pbmciOworCSAgICBpZiB0ZXN0IC1mICRQSURGSUxFOyB0aGVuIGV4aXQgMjsgZmkKKwkgICAgZXhpdCAzOworCWZpCisgICAgOzsKKyAgZm9yY2UtcmVsb2FkfHJlc3RhcnQpCisgICAgJDAgc3RvcAorICAgICQwIHN0YXJ0CisgICAgOzsKKyAgKikKKyAgICBlY2hvICJVc2FnZTogL2V0Yy9pbml0LmQvdXVpZGQge3N0YXJ0fHN0b3B8cmVzdGFydHxmb3JjZS1yZWxvYWR9IgorICAgIGV4aXQgMQorICAgIDs7Citlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy91dWlkZC5zZXJ2aWNlLmluIGIvbWlzYy11dGlscy91dWlkZC5zZXJ2aWNlLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzMTY3MjcKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL3V1aWRkLnNlcnZpY2UuaW4KQEAgLTAsMCArMSwxMiBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1EYWVtb24gZm9yIGdlbmVyYXRpbmcgVVVJRHMKK1JlcXVpcmVzPXV1aWRkLnNvY2tldAorCitbU2VydmljZV0KK0V4ZWNTdGFydD1AdXNyc2Jpbl9leGVjZGlyQC91dWlkZCAtLXNvY2tldC1hY3RpdmF0aW9uCitSZXN0YXJ0PW5vCitVc2VyPXV1aWRkCitHcm91cD11dWlkZAorCitbSW5zdGFsbF0KK0Fsc289dXVpZGQuc29ja2V0CmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL3V1aWRkLnNvY2tldC5pbiBiL21pc2MtdXRpbHMvdXVpZGQuc29ja2V0LmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4YmU3MmYKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL3V1aWRkLnNvY2tldC5pbgpAQCAtMCwwICsxLDggQEAKK1tVbml0XQorRGVzY3JpcHRpb249VVVJRCBkYWVtb24gYWN0aXZhdGlvbiBzb2NrZXQKKworW1NvY2tldF0KK0xpc3RlblN0cmVhbT1AbG9jYWxzdGF0ZWRpckAvdXVpZGQvcmVxdWVzdAorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PXNvY2tldHMudGFyZ2V0CmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL3V1aWRnZW4uMSBiL21pc2MtdXRpbHMvdXVpZGdlbi4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3MjVmN2YKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL3V1aWRnZW4uMQpAQCAtMCwwICsxLDU5IEBACisuXCIgQ29weXJpZ2h0IDE5OTkgQW5kcmVhcyBEaWxnZXIgKGFkaWxnZXJAZW5lbC51Y2FsZ2FyeS5jYSkKKy5cIgorLlwiIFRoaXMgZmlsZSBtYXkgYmUgY29waWVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIFB1YmxpYyBMaWNlbnNlLgorLlRIIFVVSURHRU4gMSAiSnVuZSAyMDExIiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQordXVpZGdlbiBcLSBjcmVhdGUgYSBuZXcgVVVJRCB2YWx1ZQorLlNIIFNZTk9QU0lTCisuQiB1dWlkZ2VuCitbb3B0aW9uc10KKy5TSCBERVNDUklQVElPTgorVGhlCisuQiB1dWlkZ2VuCitwcm9ncmFtIGNyZWF0ZXMgKGFuZCBwcmludHMpCithIG5ldyB1bml2ZXJzYWxseSB1bmlxdWUgaWRlbnRpZmllciAoVVVJRCkgdXNpbmcgdGhlCisuQlIgbGlidXVpZCAoMykKK2xpYnJhcnkuICBUaGUgbmV3IFVVSUQgY2FuIHJlYXNvbmFibHkgYmUgY29uc2lkZXJlZCB1bmlxdWUgYW1vbmcKK2FsbCBVVUlEcyBjcmVhdGVkIG9uIHRoZSBsb2NhbCBzeXN0ZW0sCithbmQgYW1vbmcgVVVJRHMgY3JlYXRlZCBvbiBvdGhlciBzeXN0ZW1zIGluIHRoZSBwYXN0CithbmQgaW4gdGhlIGZ1dHVyZS4KKy5QUAorVGhlcmUgYXJlIHR3byB0eXBlcyBvZiBVVUlEcyB3aGljaAorLkIgdXVpZGdlbgorY2FuIGdlbmVyYXRlOiB0aW1lLWJhc2VkIFVVSURzIGFuZCByYW5kb20tYmFzZWQgVVVJRHMuICBCeSBkZWZhdWx0CisuQiB1dWlkZ2VuCit3aWxsIGdlbmVyYXRlIGEgcmFuZG9tLWJhc2VkIFVVSUQgaWYgYSBoaWdoLXF1YWxpdHkgcmFuZG9tIG51bWJlcgorZ2VuZXJhdG9yIGlzIHByZXNlbnQuICBPdGhlcndpc2UsIGl0IHdpbGwgY2hvb3NlIGEgdGltZS1iYXNlZCBVVUlELgorSXQgaXMgcG9zc2libGUgdG8gZm9yY2UgdGhlIGdlbmVyYXRpb24gb2Ygb25lIG9mIHRoZXNlIHR3bworVVVJRCB0eXBlcyBieSB1c2luZyB0aGUKKy5CIFwtcgorb3IKKy5CIFwtdAorb3B0aW9ucy4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLXIgLCAiIFwtXC1yYW5kb20iCitHZW5lcmF0ZSBhIHJhbmRvbS1iYXNlZCBVVUlELiAgVGhpcyBtZXRob2QgY3JlYXRlcyBhIFVVSUQgY29uc2lzdGluZyBtb3N0bHkKK29mIHJhbmRvbSBiaXRzLiAgSXQgcmVxdWlyZXMgdGhhdCB0aGUgb3BlcmF0aW5nIHN5c3RlbSBoYXZlIGEgaGlnaAorcXVhbGl0eSByYW5kb20gbnVtYmVyIGdlbmVyYXRvciwgc3VjaCBhcworLklSIC9kZXYvcmFuZG9tIC4KKy5UUAorLkJSIFwtdCAsICIgXC1cLXRpbWUiCitHZW5lcmF0ZSBhIHRpbWUtYmFzZWQgVVVJRC4gIFRoaXMgbWV0aG9kIGNyZWF0ZXMgYSBVVUlEIGJhc2VkIG9uIHRoZSBzeXN0ZW0KK2Nsb2NrIHBsdXMgdGhlIHN5c3RlbSdzIGV0aGVybmV0IGhhcmR3YXJlIGFkZHJlc3MsIGlmIHByZXNlbnQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlNIICJDT05GT1JNSU5HIFRPIgorT1NGIERDRSAxLjEKKy5TSCBBVVRIT1IKKy5CIHV1aWRnZW4KK3dhcyB3cml0dGVuIGJ5IEFuZHJlYXMgRGlsZ2VyIGZvciBsaWJ1dWlkLgorLlNIIFNFRSBBTFNPCisuQlIgbGlidXVpZCAoMykKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSB1dWlkZ2VuIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy91dWlkZ2VuLmMgYi9taXNjLXV0aWxzL3V1aWRnZW4uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MGIwMGZmCi0tLSAvZGV2L251bGwKKysrIGIvbWlzYy11dGlscy91dWlkZ2VuLmMKQEAgLTAsMCArMSw5NSBAQAorLyoKKyAqIGdlbl91dWlkLmMgLS0tIGdlbmVyYXRlIGEgRENFLWNvbXBhdGlibGUgdXVpZAorICoKKyAqIENvcHlyaWdodCAoQykgMTk5OSwgQW5kcmVhcyBEaWxnZXIgYW5kIFRoZW9kb3JlIFRzJ28KKyAqCisgKiAlQmVnaW4tSGVhZGVyJQorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIFB1YmxpYworICogTGljZW5zZS4KKyAqICVFbmQtSGVhZGVyJQorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorCisjaW5jbHVkZSAidXVpZC5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqIG91dCkKK3sKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsCisJICAgICAgXygiICVzIFtvcHRpb25zXVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJDcmVhdGUgYSBuZXcgVVVJRCB2YWx1ZS5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLXIsIC0tcmFuZG9tICAgICBnZW5lcmF0ZSByYW5kb20tYmFzZWQgdXVpZFxuIgorCQkiIC10LCAtLXRpbWUgICAgICAgZ2VuZXJhdGUgdGltZS1iYXNlZCB1dWlkXG4iCisJCSIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorCQkiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcblxuIiksIG91dCk7CisKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoInV1aWRnZW4oMSkiKSk7CisJZXhpdChvdXQgPT0gc3RkZXJyID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTKTsKK30KKworaW50CittYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWludCAgICBjOworCWludCAgICBkb190eXBlID0gMDsKKwljaGFyICAgc3RyWzM3XTsKKwl1dWlkX3QgdXU7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7InJhbmRvbSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAncid9LAorCQl7InRpbWUiLCBub19hcmd1bWVudCwgTlVMTCwgJ3QnfSwKKwkJeyJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsIE5VTEwsICdWJ30sCisJCXsiaGVscCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCd9LAorCQl7TlVMTCwgMCwgTlVMTCwgMH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJydFZoIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ3QnOgorCQkJZG9fdHlwZSA9IFVVSURfVFlQRV9EQ0VfVElNRTsKKwkJCWJyZWFrOworCQljYXNlICdyJzoKKwkJCWRvX3R5cGUgPSBVVUlEX1RZUEVfRENFX1JBTkRPTTsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShzdGRvdXQpOworCQlkZWZhdWx0OgorCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJfQorCisJc3dpdGNoIChkb190eXBlKSB7CisJY2FzZSBVVUlEX1RZUEVfRENFX1RJTUU6CisJCXV1aWRfZ2VuZXJhdGVfdGltZSh1dSk7CisJCWJyZWFrOworCWNhc2UgVVVJRF9UWVBFX0RDRV9SQU5ET006CisJCXV1aWRfZ2VuZXJhdGVfcmFuZG9tKHV1KTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJdXVpZF9nZW5lcmF0ZSh1dSk7CisJCWJyZWFrOworCX0KKworCXV1aWRfdW5wYXJzZSh1dSwgc3RyKTsKKworCXByaW50ZigiJXNcbiIsIHN0cik7CisKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy93aGVyZWlzLjEgYi9taXNjLXV0aWxzL3doZXJlaXMuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYzIwNjhkCi0tLSAvZGV2L251bGwKKysrIGIvbWlzYy11dGlscy93aGVyZWlzLjEKQEAgLTAsMCArMSwxNjYgQEAKKy5cIiBDb3B5cmlnaHQgKGMpIDE5ODAsIDE5OTAgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KKy5cIiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLlwiCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorLlwiICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKy5cIiAgICAgVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgVW5pdmVyc2l0eSBvZgorLlwiICAgICBDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKy5cIiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworLlwiICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorLlwiICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLlwiCisuXCIgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKy5cIiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKy5cIiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorLlwiIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLlwiIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisuXCIgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKy5cIiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKy5cIiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorLlwiIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKy5cIiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisuXCIgU1VDSCBEQU1BR0UuCisuXCIKKy5cIiBAKCMpd2hlcmVpcy4xIGZyb20gVUNCIDQuMgorLlRIIFdIRVJFSVMgMSAiT2N0b2JlciAyMDE0IiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQord2hlcmVpcyBcLSBsb2NhdGUgdGhlIGJpbmFyeSwgc291cmNlLCBhbmQgbWFudWFsIHBhZ2UgZmlsZXMgZm9yIGEgY29tbWFuZAorLlNIIFNZTk9QU0lTCisuQiB3aGVyZWlzCitbb3B0aW9uc10KKy5SQiBbIFwtQk1TCisuSVIgZGlyZWN0b3J5ICIuLi4gIiBcZkJcLWZcZlIgXQorLklSIG5hbWUgLi4uCisuU0ggREVTQ1JJUFRJT04KKy5CIHdoZXJlaXMKK2xvY2F0ZXMgdGhlIGJpbmFyeSwgc291cmNlIGFuZCBtYW51YWwgZmlsZXMgZm9yIHRoZSBzcGVjaWZpZWQgY29tbWFuZCBuYW1lcy4KK1RoZSBzdXBwbGllZCBuYW1lcyBhcmUgZmlyc3Qgc3RyaXBwZWQgb2YgbGVhZGluZyBwYXRobmFtZSBjb21wb25lbnRzIGFuZCBhbnkKKyhzaW5nbGUpIHRyYWlsaW5nIGV4dGVuc2lvbiBvZiB0aGUgZm9ybQorLkJJIC4gZXh0CisoZm9yIGV4YW1wbGU6CisuQlIgLmMgKQorUHJlZml4ZXMgb2YKKy5CIHMuCityZXN1bHRpbmcgZnJvbSB1c2Ugb2Ygc291cmNlIGNvZGUgY29udHJvbCBhcmUgYWxzbyBkZWFsdCB3aXRoLgorLkIgd2hlcmVpcwordGhlbiBhdHRlbXB0cyB0byBsb2NhdGUgdGhlIGRlc2lyZWQgcHJvZ3JhbSBpbiB0aGUgc3RhbmRhcmQgTGludXggcGxhY2VzLCBhbmQKK2luIHRoZSBwbGFjZXMgc3BlY2lmaWVkIGJ5CisuQiAkUEFUSAorYW5kCisuQlIgJE1BTlBBVEggLgorLnNwCitUaGUgc2VhcmNoIHJlc3RyaWN0aW9ucyAob3B0aW9ucyBcZkJcLWJcZlAsIFxmQlwtbVxmUCBhbmQgXGZCXC1zXGZQKQorYXJlIGN1bXVsYXRpdmUgYW5kIGFwcGx5IHRvIHRoZSBzdWJzZXF1ZW50IFxmSW5hbWVcZlAgcGF0dGVybnMgb24KK3RoZSBjb21tYW5kIGxpbmUuICBBbnkgbmV3IHNlYXJjaCByZXN0cmljdGlvbiByZXNldHMgdGhlIHNlYXJjaCBtYXNrLgorRm9yIGV4YW1wbGUsCisuUlMKKy5zcAorLkIgIndoZXJlaXMgLWJtIGxzIHRyIC1tIGdjYyIKKy5zcAorLlJFCitzZWFyY2hlcyBmb3IgImxzIiBhbmQgInRyIiBiaW5hcmllcyBhbmQgbWFuIHBhZ2VzLCBhbmQgZm9yICJnY2MiIG1hbiBwYWdlcyBvbmx5LgorLnNwCitUaGUgb3B0aW9ucyBcZkJcLUJcZlAsIFxmQlwtTVxmUCBhbmQgXGZCXC1TXGZQIHJlc2V0IHNlYXJjaCBwYXRocyBmb3IgdGhlCitzdWJzZXF1ZW50IFxmSW5hbWVcZlAgcGF0dGVybnMuICBGb3IgZXhhbXBsZSwKKy5SUworLnNwCisuQiAid2hlcmVpcyAtbSBscyAtTSAvdXNyL3NoYXJlL21hbi9tYW4xIC1mIGNhbCIKKy5zcAorLlJFCitzZWFyY2hlcyBmb3IgImxzIiBtYW4gcGFnZXMgaW4gYWxsIGRlZmF1bHQgcGF0aHMsIGJ1dCBmb3IgImNhbCIgaW4KK3RoZSAvdXNyL3NoYXJlL21hbi9tYW4xIGRpcmVjdG9yeSBvbmx5LgorCisuU0ggT1BUSU9OUworLlRQCisuSVAgXGZCXC1iXGZQCitTZWFyY2ggZm9yIGJpbmFyaWVzLgorLklQIFxmQlwtbVxmUAorU2VhcmNoIGZvciBtYW51YWxzLgorLklQIFxmQlwtc1xmUAorU2VhcmNoIGZvciBzb3VyY2VzLgorLklQIFxmQlwtdVxmUAorT25seSBzaG93IHRoZSBjb21tYW5kIG5hbWVzIHRoYXQgaGF2ZSB1bnVzdWFsIGVudHJpZXMuICBBIGNvbW1hbmQgaXMgc2FpZCB0byBiZQordW51c3VhbCBpZiBpdCBkb2VzIG5vdCBoYXZlIGp1c3Qgb25lIGVudHJ5IG9mIGVhY2ggZXhwbGljaXRseSByZXF1ZXN0ZWQgdHlwZS4KK1RodXMKKy5SQiAnICJ3aGVyZWlzIFwtbSBcLXUgKiIgJworYXNrcyBmb3IgdGhvc2UgZmlsZXMgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHdoaWNoIGhhdmUgbm8gZG9jdW1lbnRhdGlvbiBmaWxlLAorb3IgbW9yZSB0aGFuIG9uZS4KKy5JUCAiXGZCXC1CIFxmSWxpc3RcZlAiCitMaW1pdCB0aGUgcGxhY2VzIHdoZXJlCisuQiB3aGVyZWlzCitzZWFyY2hlcyBmb3IgYmluYXJpZXMsIGJ5IGEgd2hpdGVzcGFjZS1zZXBhcmF0ZWQgbGlzdCBvZiBkaXJlY3Rvcmllcy4KKy5JUCAiXGZCXC1NIFxmSWxpc3RcZlAiCitMaW1pdCB0aGUgcGxhY2VzIHdoZXJlCisuQiB3aGVyZWlzCitzZWFyY2hlcyBmb3IgbWFudWFscyBhbmQgZG9jdW1lbnRhdGlvbiBpbiBJbmZvIGZvcm1hdCwgYnkgYQord2hpdGVzcGFjZS1zZXBhcmF0ZWQgbGlzdCBvZiBkaXJlY3Rvcmllcy4KKy5JUCAiXGZCXC1TIFxmSWxpc3RcZlAiCitMaW1pdCB0aGUgcGxhY2VzIHdoZXJlCisuQiB3aGVyZWlzCitzZWFyY2hlcyBmb3Igc291cmNlcywgYnkgYSB3aGl0ZXNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIGRpcmVjdG9yaWVzLgorLklQICJcZkJcLWZcZlAiCitUZXJtaW5hdGVzIHRoZSBkaXJlY3RvcnkgbGlzdCBhbmQgc2lnbmFscyB0aGUgc3RhcnQgb2YgZmlsZW5hbWVzLiAgSXQKKy5JIG11c3QKK2JlIHVzZWQgd2hlbiBhbnkgb2YgdGhlCisuQlIgXC1CICwKKy5CUiBcLU0gLAorb3IKKy5CUiBcLVMKK29wdGlvbnMgaXMgdXNlZC4KKy5JUCAiXGZCXC1sIgorT3V0cHV0IHRoZSBsaXN0IG9mIGVmZmVjdGl2ZSBsb29rdXAgcGF0aHMgdGhhdAorLkIgd2hlcmVpcworaXMgdXNpbmcuICBXaGVuIG5vbmUgb2YKKy5CUiBcLUIgLAorLkJSIFwtTSAsCitvcgorLkJSIFwtUworaXMgc3BlY2lmaWVkLCB0aGUgb3B0aW9uIHdpbGwgb3V0cHV0IHRoZSBoYXJkLWNvZGVkIHBhdGhzCit0aGF0IHRoZSBjb21tYW5kIHdhcyBhYmxlIHRvIGZpbmQgb24gdGhlIHN5c3RlbS4KKy5TSCBFWEFNUExFCitUbyBmaW5kIGFsbCBmaWxlcyBpbgorLkkgL3Vzci9cOmJpbgord2hpY2ggYXJlIG5vdCBkb2N1bWVudGVkCitpbgorLkkgL3Vzci9cOm1hbi9cOm1hbjEKK29yIGhhdmUgbm8gc291cmNlIGluCisuSVIgL3Vzci9cOnNyYyA6CisuSVAKKy5CIGNkIC91c3IvYmluCisuYnIKKy5CIHdoZXJlaXMgXC11IFwtbXMgXC1NIC91c3IvbWFuL21hbjEgXC1TIC91c3Ivc3JjIFwtZiAqCisuU0ggIkZJTEUgU0VBUkNIIFBBVEhTIgorQnkgZGVmYXVsdAorLkIgd2hlcmVpcwordHJpZXMgdG8gZmluZCBmaWxlcyBmcm9tIGhhcmQtY29kZWQgcGF0aHMsIHdoaWNoIGFyZSBkZWZpbmVkIHdpdGggZ2xvYgorcGF0dGVybnMuICBUaGUgY29tbWFuZCBhdHRlbXB0cyB0byB1c2UgdGhlIGNvbnRlbnRzIG9mCisuQiAkUEFUSAorYW5kCisuQiAkTUFOUEFUSAorZW52aXJvbm1lbnQgdmFyaWFibGVzIGFzIGRlZmF1bHQgc2VhcmNoIHBhdGguICBUaGUgZWFzaWVzdCB3YXkgdG8ga25vdword2hhdCBwYXRocyBhcmUgaW4gdXNlIGlzIHRvIGFkZCB0aGUKKy5CIFwtbAorbGlzdGluZyBvcHRpb24uICBFZmZlY3RzIG9mIHRoZQorLkJSIFwtQiAsCisuQlIgXC1NICwKK2FuZAorLkJSIFwtUworYXJlIGRpc3BsYXllZCB3aXRoCisuQlIgXC1sIC4KKy5QUAorLlNIIEVOVklST05NRU5UCisuSVAgV0hFUkVJU19ERUJVRz1hbGwKK2VuYWJsZXMgZGVidWcgb3V0cHV0LgorLlNIIEFWQUlMQUJJTElUWQorVGhlIHdoZXJlaXMgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgZnRwOi8vXDpmdHAua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL3doZXJlaXMuYyBiL21pc2MtdXRpbHMvd2hlcmVpcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5N2Q2NjYKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL3doZXJlaXMuYwpAQCAtMCwwICsxLDYyMSBAQAorLyotCisgKiBDb3B5cmlnaHQgKGMpIDE5ODAgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKKyAqICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKyAqCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKyAqCUNhbGlmb3JuaWEsIEJlcmtlbGV5IGFuZCBpdHMgY29udHJpYnV0b3JzLgorICogNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqCisgKiAxOTk5LTAyLTIyIEFya2FkaXVzeiBNacWba2lld2ljeiA8bWlzaWVrQHBsZC5PUkcuUEw+CisgKiAtIGFkZGVkIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0CisgKiAyMDExLTA4LTEyIERhdmlkbG9ociBCdWVzbyA8ZGF2ZUBnbnUub3JnPgorICogLSBhZGRlZCAkUEFUSCBsb29rdXAKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKiAgICAgICAgICAgICAgIDIwMTMgU2FtaSBLZXJvbGEgPGtlcm9sYXNhQGlraS5maT4KKyAqLworCisjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxkaXJlbnQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJjYW5vbmljYWxpemUuaCIKKworI2luY2x1ZGUgImRlYnVnLmgiCisKK1VMX0RFQlVHX0RFRklORV9NQVNLKHdoZXJlaXMpOworVUxfREVCVUdfREVGSU5FX01BU0tOQU1FUyh3aGVyZWlzKSA9IFVMX0RFQlVHX0VNUFRZX01BU0tOQU1FUzsKKworI2RlZmluZSBXSEVSRUlTX0RFQlVHX0lOSVQJKDEgPDwgMSkKKyNkZWZpbmUgV0hFUkVJU19ERUJVR19QQVRICSgxIDw8IDIpCisjZGVmaW5lIFdIRVJFSVNfREVCVUdfRU5WCSgxIDw8IDMpCisjZGVmaW5lIFdIRVJFSVNfREVCVUdfQVJHVgkoMSA8PCA0KQorI2RlZmluZSBXSEVSRUlTX0RFQlVHX1NFQVJDSAkoMSA8PCA1KQorI2RlZmluZSBXSEVSRUlTX0RFQlVHX1NUQVRJQwkoMSA8PCA2KQorI2RlZmluZSBXSEVSRUlTX0RFQlVHX0xJU1QJKDEgPDwgNykKKyNkZWZpbmUgV0hFUkVJU19ERUJVR19BTEwJMHhGRkZGCisKKyNkZWZpbmUgREJHKG0sIHgpICAgICAgIF9fVUxfREJHKHdoZXJlaXMsIFdIRVJFSVNfREVCVUdfLCBtLCB4KQorI2RlZmluZSBPTl9EQkcobSwgeCkgICAgX19VTF9EQkdfQ0FMTCh3aGVyZWlzLCBXSEVSRUlTX0RFQlVHXywgbSwgeCkKKworc3RhdGljIGNoYXIgdWZsYWcgPSAwOworCisvKiBzdXBwb3J0ZWQgdHlwZXMgKi8KK2VudW0geworCUJJTl9ESVIgPSAoMSA8PCAxKSwKKwlNQU5fRElSID0gKDEgPDwgMiksCisJU1JDX0RJUiA9ICgxIDw8IDMpLAorCisJQUxMX0RJUlMgPSBCSU5fRElSIHwgTUFOX0RJUiB8IFNSQ19ESVIKK307CisKKy8qIGRpcmVjdG9yaWVzICovCitzdHJ1Y3Qgd2hfZGlybGlzdCB7CisJaW50CXR5cGU7CisJZGV2X3QJc3RfZGV2OworCWlub190CXN0X2lubzsKKwljaGFyCSpwYXRoOworCisJc3RydWN0IHdoX2Rpcmxpc3QgKm5leHQ7Cit9OworCitzdGF0aWMgY29uc3QgY2hhciAqYmluZGlyc1tdID0geworCSIvdXNyL2JpbiIsCisJIi91c3Ivc2JpbiIsCisJIi91c3IvbGliIiwKKwkiL3Vzci9saWI2NCIsCisJIi9iaW4iLAorCSIvc2JpbiIsCisJIi9ldGMiLAorCSIvdXNyL2V0YyIsCisJIi9saWIiLAorCSIvbGliNjQiLAorCSIvdXNyL2dhbWVzIiwKKwkiL3Vzci9nYW1lcy9iaW4iLAorCSIvdXNyL2dhbWVzL2xpYiIsCisJIi91c3IvZW1hY3MvZXRjIiwKKwkiL3Vzci9saWIvZW1hY3MvKi9ldGMiLAorCSIvdXNyL1RlWC9iaW4iLAorCSIvdXNyL3RleC9iaW4iLAorCSIvdXNyL2ludGVydmlld3MvYmluL0xJTlVYIiwKKworCSIvdXNyL1gxMVI2L2JpbiIsCisJIi91c3IvWDM4Ni9iaW4iLAorCSIvdXNyL2Jpbi9YMTEiLAorCSIvdXNyL1gxMS9iaW4iLAorCSIvdXNyL1gxMVI1L2JpbiIsCisKKwkiL3Vzci9sb2NhbC9iaW4iLAorCSIvdXNyL2xvY2FsL3NiaW4iLAorCSIvdXNyL2xvY2FsL2V0YyIsCisJIi91c3IvbG9jYWwvbGliIiwKKwkiL3Vzci9sb2NhbC9nYW1lcyIsCisJIi91c3IvbG9jYWwvZ2FtZXMvYmluIiwKKwkiL3Vzci9sb2NhbC9lbWFjcy9ldGMiLAorCSIvdXNyL2xvY2FsL1RlWC9iaW4iLAorCSIvdXNyL2xvY2FsL3RleC9iaW4iLAorCSIvdXNyL2xvY2FsL2Jpbi9YMTEiLAorCisJIi91c3IvY29udHJpYiIsCisJIi91c3IvaG9zdHMiLAorCSIvdXNyL2luY2x1ZGUiLAorCisJIi91c3IvZysrLWluY2x1ZGUiLAorCisJIi91c3IvdWNiIiwKKwkiL3Vzci9vbGQiLAorCSIvdXNyL25ldyIsCisJIi91c3IvbG9jYWwiLAorCSIvdXNyL2xpYmV4ZWMiLAorCSIvdXNyL3NoYXJlIiwKKworCSIvb3B0LyovYmluIiwKKwlOVUxMCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqbWFuZGlyc1tdID0geworCSIvdXNyL21hbi8qIiwKKwkiL3Vzci9zaGFyZS9tYW4vKiIsCisJIi91c3IvWDM4Ni9tYW4vKiIsCisJIi91c3IvWDExL21hbi8qIiwKKwkiL3Vzci9UZVgvbWFuLyoiLAorCSIvdXNyL2ludGVydmlld3MvbWFuL21hbm4iLAorCSIvdXNyL3NoYXJlL2luZm8iLAorCU5VTEwKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICpzcmNkaXJzW10gPSB7CisJIi91c3Ivc3JjLyoiLAorCSIvdXNyL3NyYy9saWIvbGliYy8qIiwKKwkiL3Vzci9zcmMvbGliL2xpYmMvbmV0LyoiLAorCSIvdXNyL3NyYy91Y2IvcGFzY2FsIiwKKwkiL3Vzci9zcmMvdWNiL3Bhc2NhbC91dGlsaXRpZXMiLAorCSIvdXNyL3NyYy91bmRvYyIsCisJTlVMTAorfTsKKworc3RhdGljIHZvaWQgd2hlcmVpc19pbml0X2RlYnVnKHZvaWQpCit7CisJX19VTF9JTklUX0RFQlVHKHdoZXJlaXMsIFdIRVJFSVNfREVCVUdfLCAwLCBXSEVSRUlTX0RFQlVHKTsKK30KKworc3RhdGljIGNvbnN0IGNoYXIgKndoZXJlaXNfdHlwZV90b19uYW1lKGludCB0eXBlKQoreworCXN3aXRjaCAodHlwZSkgeworCWNhc2UgQklOX0RJUjogcmV0dXJuICJiaW4iOworCWNhc2UgTUFOX0RJUjogcmV0dXJuICJtYW4iOworCWNhc2UgU1JDX0RJUjogcmV0dXJuICJzcmMiOworCWRlZmF1bHQ6ICAgICAgcmV0dXJuICI/Pz8iOworCX0KK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqb3V0KQoreworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygiICVzIFtvcHRpb25zXSBbLUJNUyA8ZGlyPi4uLiAtZl0gPG5hbWU+XG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkxvY2F0ZSB0aGUgYmluYXJ5LCBzb3VyY2UsIGFuZCBtYW51YWwtcGFnZSBmaWxlcyBmb3IgYSBjb21tYW5kLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtYiAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBiaW5hcmllc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1CIDxkaXJzPiAgZGVmaW5lIGJpbmFyaWVzIGxvb2t1cCBwYXRoXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW0gICAgICAgICBzZWFyY2ggb25seSBmb3IgbWFudWFscyBhbmQgaW5mb3NcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtTSA8ZGlycz4gIGRlZmluZSBtYW4gYW5kIGluZm8gbG9va3VwIHBhdGhcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcyAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBzb3VyY2VzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVMgPGRpcnM+ICBkZWZpbmUgc291cmNlcyBsb29rdXAgcGF0aFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1mICAgICAgICAgdGVybWluYXRlIDxkaXJzPiBhcmd1bWVudCBsaXN0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXUgICAgICAgICBzZWFyY2ggZm9yIHVudXN1YWwgZW50cmllc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1sICAgICAgICAgb3V0cHV0IGVmZmVjdGl2ZSBsb29rdXAgcGF0aHNcbiIpLCBvdXQpOworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgid2hlcmVpcygxKSIpKTsKKworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyB2b2lkIGRpcmxpc3RfYWRkX2RpcihzdHJ1Y3Qgd2hfZGlybGlzdCAqKmxzMCwgaW50IHR5cGUsIGNvbnN0IGNoYXIgKmRpcikKK3sKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwlzdHJ1Y3Qgd2hfZGlybGlzdCAqcHJldiA9IE5VTEwsICpscyA9ICpsczA7CisKKwlpZiAoYWNjZXNzKGRpciwgUl9PSykgIT0gMCkKKwkJcmV0dXJuOworCWlmIChzdGF0KGRpciwgJnN0KSAhPSAwIHx8ICFTX0lTRElSKHN0LnN0X21vZGUpKQorCQlyZXR1cm47CisKKwl3aGlsZSAobHMpIHsKKwkJaWYgKGxzLT5zdF9pbm8gPT0gc3Quc3RfaW5vICYmCisJCSAgICBscy0+c3RfZGV2ID09IHN0LnN0X2RldiAmJgorCQkgICAgbHMtPnR5cGUgPT0gdHlwZSkgeworCQkJREJHKExJU1QsIHVsX2RlYnVnb2JqKCpsczAsICIgIGlnbm9yZSAoYWxyZWFkeSBpbiBsaXN0KTogJXMiLCBkaXIpKTsKKwkJCXJldHVybjsKKwkJfQorCQlwcmV2ID0gbHM7CisJCWxzID0gbHMtPm5leHQ7CisJfQorCisKKwlscyA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpscykpOworCWxzLT5zdF9pbm8gPSBzdC5zdF9pbm87CisJbHMtPnN0X2RldiA9IHN0LnN0X2RldjsKKwlscy0+dHlwZSA9IHR5cGU7CisJbHMtPnBhdGggPSBjYW5vbmljYWxpemVfcGF0aChkaXIpOworCisJaWYgKCEqbHMwKQorCQkqbHMwID0gbHM7CQkvKiBmaXJzdCBpbiB0aGUgbGlzdCAqLworCWVsc2UgeworCQlhc3NlcnQocHJldik7CisJCXByZXYtPm5leHQgPSBsczsJLyogYWRkIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QgKi8KKwl9CisKKwlEQkcoTElTVCwgdWxfZGVidWdvYmooKmxzMCwgIiAgYWRkIGRpcjogJXMiLCBscy0+cGF0aCkpOworCXJldHVybjsKK30KKworLyogc3BlY2lhbCBjYXNlIGZvciAnKicgaW4gdGhlIHBhdGhzICovCitzdGF0aWMgdm9pZCBkaXJsaXN0X2FkZF9zdWJkaXIoc3RydWN0IHdoX2Rpcmxpc3QgKipscywgaW50IHR5cGUsIGNvbnN0IGNoYXIgKmRpcikKK3sKKwljaGFyIGJ1ZltQQVRIX01BWF0sICpkOworCURJUiAqZGlycDsKKwlzdHJ1Y3QgZGlyZW50ICpkcDsKKworCXN0cm5jcHkoYnVmLCBkaXIsIFBBVEhfTUFYKTsKKwlidWZbUEFUSF9NQVggLSAxXSA9ICdcMCc7CisKKwlkID0gc3RyY2hyKGJ1ZiwgJyonKTsKKwlpZiAoIWQpCisJCXJldHVybjsKKwkqZCA9IDA7CisKKwlkaXJwID0gb3BlbmRpcihidWYpOworCWlmICghZGlycCkKKwkJcmV0dXJuOworCisJREJHKExJU1QsIHVsX2RlYnVnb2JqKCpscywgIiBzY2FubmluZyBzdWJkaXI6ICVzIiwgZGlyKSk7CisKKwl3aGlsZSAoKGRwID0gcmVhZGRpcihkaXJwKSkgIT0gTlVMTCkgeworCQlpZiAoIXN0cmNtcChkcC0+ZF9uYW1lLCAiLiIpIHx8ICFzdHJjbXAoZHAtPmRfbmFtZSwgIi4uIikpCisJCQljb250aW51ZTsKKwkJc25wcmludGYoZCwgUEFUSF9NQVggLSAoZCAtIGJ1ZiksICIlcyIsIGRwLT5kX25hbWUpOworCQkvKiBhIGRpciBkZWZpbml0aW9uIGNhbiBoYXZlIGEgc3RhciBpbiBtaWRkbGUgb2YgcGF0aCAqLworCQlzdHJjYXQoYnVmLCBzdHJjaHIoZGlyLCAnKicpICsgMSk7CisJCWRpcmxpc3RfYWRkX2RpcihscywgdHlwZSwgYnVmKTsKKwl9CisJY2xvc2VkaXIoZGlycCk7CisJcmV0dXJuOworfQorCitzdGF0aWMgdm9pZCBjb25zdHJ1Y3RfZGlybGlzdF9mcm9tX2Vudihjb25zdCBjaGFyICplbnYsCisJCQkJICAgICAgIHN0cnVjdCB3aF9kaXJsaXN0ICoqbHMsCisJCQkJICAgICAgIGludCB0eXBlKQoreworCWNoYXIgKmtleSA9IE5VTEwsICp0b2sgPSBOVUxMLCAqcGF0aGNwLCAqcGF0aCA9IGdldGVudihlbnYpOworCisJaWYgKCFwYXRoKQorCQlyZXR1cm47CisJcGF0aGNwID0geHN0cmR1cChwYXRoKTsKKworCURCRyhFTlYsIHVsX2RlYnVnb2JqKCpscywgImNvbnN0cnVjdCAlcyBkaXJsaXN0IGZyb206ICVzIiwKKwkJCQl3aGVyZWlzX3R5cGVfdG9fbmFtZSh0eXBlKSwgcGF0aCkpOworCisJZm9yICh0b2sgPSBzdHJ0b2tfcihwYXRoY3AsICI6IiwgJmtleSk7IHRvazsKKwkgICAgIHRvayA9IHN0cnRva19yKE5VTEwsICI6IiwgJmtleSkpCisJCWRpcmxpc3RfYWRkX2RpcihscywgdHlwZSwgdG9rKTsKKworCWZyZWUocGF0aGNwKTsKKwlyZXR1cm47Cit9CisKK3N0YXRpYyB2b2lkIGNvbnN0cnVjdF9kaXJsaXN0X2Zyb21fYXJndihzdHJ1Y3Qgd2hfZGlybGlzdCAqKmxzLAorCQkJCQlpbnQgKmlkeCwKKwkJCQkJaW50IGFyZ2MsCisJCQkJCWNoYXIgKmFyZ3ZbXSwKKwkJCQkJaW50IHR5cGUpCit7CisJaW50IGk7CisKKwlEQkcoQVJHViwgdWxfZGVidWdvYmooKmxzLCAiY29uc3RydWN0ICVzIGRpcmxpc3QgZnJvbSBhcmd2WyVkLi5dIiwKKwkJCQl3aGVyZWlzX3R5cGVfdG9fbmFtZSh0eXBlKSwgKmlkeCkpOworCisJZm9yIChpID0gKmlkeDsgaSA8IGFyZ2M7IGkrKykgeworCQlpZiAoKmFyZ3ZbaV0gPT0gJy0nKQkJCS8qIGVuZCBvZiB0aGUgbGlzdCAqLworCQkJYnJlYWs7CisKKwkJREJHKEFSR1YsIHVsX2RlYnVnb2JqKCpscywgIiAgdXNpbmcgYXJndlslZF06ICVzIiwgKmlkeCwgYXJndlsqaWR4XSkpOworCQlkaXJsaXN0X2FkZF9kaXIobHMsIHR5cGUsIGFyZ3ZbaV0pOworCQkqaWR4ID0gaTsKKwl9CisKKwlyZXR1cm47Cit9CisKK3N0YXRpYyB2b2lkIGNvbnN0cnVjdF9kaXJsaXN0KHN0cnVjdCB3aF9kaXJsaXN0ICoqbHMsCisJCQkgICAgICBpbnQgdHlwZSwKKwkJCSAgICAgIGNvbnN0IGNoYXIgKipwYXRocykKK3sKKwlzaXplX3QgaTsKKworCURCRyhTVEFUSUMsIHVsX2RlYnVnb2JqKCpscywgImNvbnN0cnVjdCAlcyBkaXJsaXN0IGZyb20gc3RhdGljIGFycmF5IiwKKwkJCQl3aGVyZWlzX3R5cGVfdG9fbmFtZSh0eXBlKSkpOworCisJZm9yIChpID0gMDsgcGF0aHNbaV07IGkrKykgeworCQlpZiAoIXN0cmNocihwYXRoc1tpXSwgJyonKSkKKwkJCWRpcmxpc3RfYWRkX2RpcihscywgdHlwZSwgcGF0aHNbaV0pOworCQllbHNlCisJCQlkaXJsaXN0X2FkZF9zdWJkaXIobHMsIHR5cGUsIHBhdGhzW2ldKTsKKwl9CisJcmV0dXJuOworfQorCitzdGF0aWMgdm9pZCBmcmVlX2Rpcmxpc3Qoc3RydWN0IHdoX2Rpcmxpc3QgKipsczAsIGludCB0eXBlKQoreworCXN0cnVjdCB3aF9kaXJsaXN0ICpwcmV2ID0gTlVMTCwgKm5leHQsICpscyA9ICpsczA7CisKKwkqbHMwID0gTlVMTDsKKworCURCRyhMSVNULCB1bF9kZWJ1Z29iaigqbHMwLCAiZnJlZSBkaXJsaXN0IikpOworCisJd2hpbGUgKGxzKSB7CisJCWlmIChscy0+dHlwZSAmIHR5cGUpIHsKKwkJCW5leHQgPSBscy0+bmV4dDsKKwkJCURCRyhMSVNULCB1bF9kZWJ1Z29iaigqbHMwLCAiIGZyZWU6ICVzIiwgbHMtPnBhdGgpKTsKKwkJCWZyZWUobHMtPnBhdGgpOworCQkJZnJlZShscyk7CisJCQlscyA9IG5leHQ7CisJCQlpZiAocHJldikKKwkJCQlwcmV2LT5uZXh0ID0gbHM7CisJCX0gZWxzZSB7CisJCQlpZiAoIXByZXYpCisJCQkJKmxzMCA9IGxzOwkvKiBmaXJzdCB1bnJlbW92ZWQgKi8KKwkJCXByZXYgPSBsczsKKwkJCWxzID0gbHMtPm5leHQ7CisJCX0KKwl9CisKKwlyZXR1cm47Cit9CisKKworc3RhdGljIGludCBmaWxlbmFtZV9lcXVhbChjb25zdCBjaGFyICpjcCwgY29uc3QgY2hhciAqZHApCit7CisJaW50IGkgPSBzdHJsZW4oZHApOworCisJREJHKFNFQVJDSCwgdWxfZGVidWcoImNvbXBhcmUgJyVzJyBhbmQgJyVzJyIsIGNwLCBkcCkpOworCisJaWYgKGRwWzBdID09ICdzJyAmJiBkcFsxXSA9PSAnLicgJiYgZmlsZW5hbWVfZXF1YWwoY3AsIGRwICsgMikpCisJCXJldHVybiAxOworCWlmICghc3RyY21wKGRwICsgaSAtIDIsICIuWiIpKQorCQlpIC09IDI7CisJZWxzZSBpZiAoIXN0cmNtcChkcCArIGkgLSAzLCAiLmd6IikpCisJCWkgLT0gMzsKKwllbHNlIGlmICghc3RyY21wKGRwICsgaSAtIDMsICIueHoiKSkKKwkJaSAtPSAzOworCWVsc2UgaWYgKCFzdHJjbXAoZHAgKyBpIC0gNCwgIi5iejIiKSkKKwkJaSAtPSA0OworCXdoaWxlICgqY3AgJiYgKmRwICYmICpjcCA9PSAqZHApCisJCWNwKyssIGRwKyssIGktLTsKKwlpZiAoKmNwID09IDAgJiYgKmRwID09IDApCisJCXJldHVybiAxOworCXdoaWxlIChpc2RpZ2l0KCpkcCkpCisJCWRwKys7CisJaWYgKCpjcCA9PSAwICYmICpkcCsrID09ICcuJykgeworCQktLWk7CisJCXdoaWxlIChpID4gMCAmJiAqZHApCisJCQlpZiAoLS1pLCAqZHArKyA9PSAnLicpCisJCQkJcmV0dXJuICgqZHArKyA9PSAnQycgJiYgKmRwKysgPT0gMCk7CisJCXJldHVybiAxOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgZmluZGluKGNvbnN0IGNoYXIgKmRpciwgY29uc3QgY2hhciAqcGF0dGVybiwgaW50ICpjb3VudCwgY2hhciAqKndhaXQpCit7CisJRElSICpkaXJwOworCXN0cnVjdCBkaXJlbnQgKmRwOworCisJZGlycCA9IG9wZW5kaXIoZGlyKTsKKwlpZiAoZGlycCA9PSBOVUxMKQorCQlyZXR1cm47CisKKwlEQkcoU0VBUkNILCB1bF9kZWJ1ZygiZmluZCAnJXMnIGluICclcyciLCBwYXR0ZXJuLCBkaXIpKTsKKworCXdoaWxlICgoZHAgPSByZWFkZGlyKGRpcnApKSAhPSBOVUxMKSB7CisJCWlmICghZmlsZW5hbWVfZXF1YWwocGF0dGVybiwgZHAtPmRfbmFtZSkpCisJCQljb250aW51ZTsKKworCQlpZiAodWZsYWcgJiYgKmNvdW50ID09IDApCisJCQl4YXNwcmludGYod2FpdCwgIiVzLyVzIiwgZGlyLCBkcC0+ZF9uYW1lKTsKKworCQllbHNlIGlmICh1ZmxhZyAmJiAqY291bnQgPT0gMSAmJiAqd2FpdCkgeworCQkJcHJpbnRmKCIlczogJXMgJXMvJXMiLCBwYXR0ZXJuLCAqd2FpdCwgZGlyLCAgZHAtPmRfbmFtZSk7CisJCQlmcmVlKCp3YWl0KTsKKwkJCSp3YWl0ID0gTlVMTDsKKwkJfSBlbHNlCisJCQlwcmludGYoIiAlcy8lcyIsIGRpciwgZHAtPmRfbmFtZSk7CisJCSsrKCpjb3VudCk7CisJfQorCWNsb3NlZGlyKGRpcnApOworCXJldHVybjsKK30KKworc3RhdGljIHZvaWQgbG9va3VwKGNvbnN0IGNoYXIgKnBhdHRlcm4sIHN0cnVjdCB3aF9kaXJsaXN0ICpscywgaW50IHdhbnQpCit7CisJY2hhciBwYXRidWZbUEFUSF9NQVhdOworCWludCBjb3VudCA9IDA7CisJY2hhciAqd2FpdCA9IE5VTEwsICpwOworCisJLyogY2Fub25pY2FsaXplIHBhdHRlcm4gLS0gcmVtb3ZlIHBhdGggc3VmZml4IGV0Yy4gKi8KKwlwID0gc3RycmNocihwYXR0ZXJuLCAnLycpOworCXAgPSBwID8gcCArIDEgOiAoY2hhciAqKSBwYXR0ZXJuOworCXN0cm5jcHkocGF0YnVmLCBwLCBQQVRIX01BWCk7CisJcGF0YnVmW1BBVEhfTUFYIC0gMV0gPSAnXDAnOworCisJREJHKFNFQVJDSCwgdWxfZGVidWcoImxvb2t1cCBkaXJzIGZvciAnJXMnICglcyksIHdhbnQ6ICVzICVzICVzIiwKKwkJCQlwYXRidWYsIHBhdHRlcm4sCisJCQkJd2FudCAmIEJJTl9ESVIgPyAiYmluIiA6ICIiLAorCQkJCXdhbnQgJiBNQU5fRElSID8gIm1pbiIgOiAiIiwKKwkJCQl3YW50ICYgU1JDX0RJUiA/ICJzcmMiIDogIiIpKTsKKwlwID0gc3RycmNocihwYXRidWYsICcuJyk7CisJaWYgKHApCisJCSpwID0gJ1wwJzsKKworCWlmICghdWZsYWcpCisJCS8qIGlmIC11IG5vdCBzcGVjaWZpZWQgdGhlbiB3ZSBhbHdheXMgcHJpbnQgdGhlIHBhdHRlcm4gKi8KKwkJcHJpbnRmKCIlczoiLCBwYXRidWYpOworCisJZm9yICg7IGxzOyBscyA9IGxzLT5uZXh0KSB7CisJCWlmICgobHMtPnR5cGUgJiB3YW50KSAmJiBscy0+cGF0aCkKKwkJCWZpbmRpbihscy0+cGF0aCwgcGF0YnVmLCAmY291bnQsICZ3YWl0KTsKKwl9CisKKwlmcmVlKHdhaXQpOworCisJaWYgKCF1ZmxhZyB8fCBjb3VudCA+IDEpCisJCXB1dGNoYXIoJ1xuJyk7CisJcmV0dXJuOworfQorCitzdGF0aWMgdm9pZCBsaXN0X2Rpcmxpc3Qoc3RydWN0IHdoX2Rpcmxpc3QgKmxzKQoreworCXdoaWxlIChscykgeworCQlpZiAobHMtPnBhdGgpIHsKKwkJCXN3aXRjaCAobHMtPnR5cGUpIHsKKwkJCWNhc2UgQklOX0RJUjoKKwkJCQlwcmludGYoImJpbjogIik7CisJCQkJYnJlYWs7CisJCQljYXNlIE1BTl9ESVI6CisJCQkJcHJpbnRmKCJtYW46ICIpOworCQkJCWJyZWFrOworCQkJY2FzZSBTUkNfRElSOgorCQkJCXByaW50Zigic3JjOiAiKTsKKwkJCQlicmVhazsKKwkJCWRlZmF1bHQ6CisJCQkJYWJvcnQoKTsKKwkJCX0KKwkJCXByaW50ZigiJXNcbiIsIGxzLT5wYXRoKTsKKwkJfQorCQlscyA9IGxzLT5uZXh0OworCX0KK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCXN0cnVjdCB3aF9kaXJsaXN0ICpscyA9IE5VTEw7CisJaW50IHdhbnQgPSBBTExfRElSUzsKKwlpbnQgaSwgd2FudF9yZXNldGFibGUgPSAwLCBvcHRfZl9taXNzaW5nID0gMDsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlpZiAoYXJnYyA9PSAxKQorCQl1c2FnZShzdGRlcnIpOworCisJd2hlcmVpc19pbml0X2RlYnVnKCk7CisKKwljb25zdHJ1Y3RfZGlybGlzdCgmbHMsIEJJTl9ESVIsIGJpbmRpcnMpOworCWNvbnN0cnVjdF9kaXJsaXN0X2Zyb21fZW52KCJQQVRIIiwgJmxzLCBCSU5fRElSKTsKKworCWNvbnN0cnVjdF9kaXJsaXN0KCZscywgTUFOX0RJUiwgbWFuZGlycyk7CisJY29uc3RydWN0X2Rpcmxpc3RfZnJvbV9lbnYoIk1BTlBBVEgiLCAmbHMsIE1BTl9ESVIpOworCisJY29uc3RydWN0X2Rpcmxpc3QoJmxzLCBTUkNfRElSLCBzcmNkaXJzKTsKKworCWZvciAoaSA9IDE7IGkgPCBhcmdjOyBpKyspIHsKKwkJY29uc3QgY2hhciAqYXJnID0gYXJndltpXTsKKwkJaW50IGFyZ19pID0gaTsKKworCQlEQkcoQVJHViwgdWxfZGVidWcoImFyZ3ZbJWRdOiAlcyIsIGksIGFyZykpOworCisJCWlmICgqYXJnICE9ICctJykgeworCQkJbG9va3VwKGFyZywgbHMsIHdhbnQpOworCQkJLyoKKwkJCSAqIFRoZSBsb29rdXAgbWFzayAoIndhbnQiKSBpcyBjdW11bGF0aXZlIGFuZCBpdCdzCisJCQkgKiByZXNldGFibGUgb25seSB3aGVuIGl0IGhhcyBiZWVuIGFscmVhZHkgdXNlZC4KKwkJCSAqCisJCQkgKiAgd2hlcmVpcyAtYiAtbSBmb28gICAgIDonZm9vJyBtYXNrPUJJTnxNQU4KKwkJCSAqICB3aGVyZWlzIC1iIGZvbyBiYXIgICAgOidmb28nIGFuZCAnYmFyJyBtYXNrPUJJTnxNQU4KKwkJCSAqICB3aGVyZWlzIC1iIGZvbyAtbSBiYXIgOidmb28nIG1hc2s9QklOOyAnYmFyJyBtYXNrPU1BTgorCQkJICovCisJCQl3YW50X3Jlc2V0YWJsZSA9IDE7CisJCQljb250aW51ZTsKKwkJfQorCisJCWZvciAoKythcmc7IGFyZyAmJiAqYXJnOyBhcmcrKykgeworCQkJREJHKEFSR1YsIHVsX2RlYnVnKCIgIGFyZzogJXMiLCBhcmcpKTsKKworCQkJc3dpdGNoICgqYXJnKSB7CisJCQljYXNlICdmJzoKKwkJCQlvcHRfZl9taXNzaW5nID0gMDsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ3UnOgorCQkJCXVmbGFnID0gMTsKKwkJCQlvcHRfZl9taXNzaW5nID0gMDsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ0InOgorCQkJCWlmICgqKGFyZyArIDEpKQorCQkJCQl1c2FnZShzdGRlcnIpOworCQkJCWkrKzsKKwkJCQlmcmVlX2Rpcmxpc3QoJmxzLCBCSU5fRElSKTsKKwkJCQljb25zdHJ1Y3RfZGlybGlzdF9mcm9tX2FyZ3YoCisJCQkJCSZscywgJmksIGFyZ2MsIGFyZ3YsIEJJTl9ESVIpOworCQkJCW9wdF9mX21pc3NpbmcgPSAxOworCQkJCWJyZWFrOworCQkJY2FzZSAnTSc6CisJCQkJaWYgKCooYXJnICsgMSkpCisJCQkJCXVzYWdlKHN0ZGVycik7CisJCQkJaSsrOworCQkJCWZyZWVfZGlybGlzdCgmbHMsIE1BTl9ESVIpOworCQkJCWNvbnN0cnVjdF9kaXJsaXN0X2Zyb21fYXJndigKKwkJCQkJJmxzLCAmaSwgYXJnYywgYXJndiwgTUFOX0RJUik7CisJCQkJb3B0X2ZfbWlzc2luZyA9IDE7CisJCQkJYnJlYWs7CisJCQljYXNlICdTJzoKKwkJCQlpZiAoKihhcmcgKyAxKSkKKwkJCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJCQlpKys7CisJCQkJZnJlZV9kaXJsaXN0KCZscywgU1JDX0RJUik7CisJCQkJY29uc3RydWN0X2Rpcmxpc3RfZnJvbV9hcmd2KAorCQkJCQkmbHMsICZpLCBhcmdjLCBhcmd2LCBTUkNfRElSKTsKKwkJCQlvcHRfZl9taXNzaW5nID0gMTsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ2InOgorCQkJCWlmICh3YW50X3Jlc2V0YWJsZSkgeworCQkJCQl3YW50ID0gQUxMX0RJUlM7CisJCQkJCXdhbnRfcmVzZXRhYmxlID0gMDsKKwkJCQl9CisJCQkJd2FudCA9IHdhbnQgPT0gQUxMX0RJUlMgPyBCSU5fRElSIDogd2FudCB8IEJJTl9ESVI7CisJCQkJb3B0X2ZfbWlzc2luZyA9IDA7CisJCQkJYnJlYWs7CisJCQljYXNlICdtJzoKKwkJCQlpZiAod2FudF9yZXNldGFibGUpIHsKKwkJCQkJd2FudCA9IEFMTF9ESVJTOworCQkJCQl3YW50X3Jlc2V0YWJsZSA9IDA7CisJCQkJfQorCQkJCXdhbnQgPSB3YW50ID09IEFMTF9ESVJTID8gTUFOX0RJUiA6IHdhbnQgfCBNQU5fRElSOworCQkJCW9wdF9mX21pc3NpbmcgPSAwOworCQkJCWJyZWFrOworCQkJY2FzZSAncyc6CisJCQkJaWYgKHdhbnRfcmVzZXRhYmxlKSB7CisJCQkJCXdhbnQgPSBBTExfRElSUzsKKwkJCQkJd2FudF9yZXNldGFibGUgPSAwOworCQkJCX0KKwkJCQl3YW50ID0gd2FudCA9PSBBTExfRElSUyA/IFNSQ19ESVIgOiB3YW50IHwgU1JDX0RJUjsKKwkJCQlvcHRfZl9taXNzaW5nID0gMDsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ2wnOgorCQkJCWxpc3RfZGlybGlzdChscyk7CisJCQkJYnJlYWs7CisJCQljYXNlICdWJzoKKwkJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQkJY2FzZSAnaCc6CisJCQkJdXNhZ2Uoc3Rkb3V0KTsKKwkJCWRlZmF1bHQ6CisJCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJCX0KKworCQkJaWYgKGFyZ19pIDwgaSkJCS8qIG1vdmVkIHRvIHRoZSBuZXh0IGFyZ3ZbXSBpdGVtICovCisJCQkJYnJlYWs7CisJCX0KKwl9CisKKwlmcmVlX2Rpcmxpc3QoJmxzLCBBTExfRElSUyk7CisJaWYgKG9wdF9mX21pc3NpbmcpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJvcHRpb24gLWYgaXMgbWlzc2luZyIpKTsKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy93aXBlZnMuOCBiL21pc2MtdXRpbHMvd2lwZWZzLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGI2OTc3MgotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvd2lwZWZzLjgKQEAgLTAsMCArMSwxMDggQEAKKy5cIiBDb3B5cmlnaHQgMjAwOSBieSBLYXJlbCBaYWsuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorLlwiIFRoaXMgZmlsZSBtYXkgYmUgY29waWVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIFB1YmxpYyBMaWNlbnNlLgorLlwiCisuVEggV0lQRUZTIDggIkRlY2VtYmVyIDIwMTQiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK3dpcGVmcyBcLSB3aXBlIGEgc2lnbmF0dXJlIGZyb20gYSBkZXZpY2UKKy5TSCBTWU5PUFNJUworLkIgd2lwZWZzCisuUkIgWyBcLWFobnBxdFYgXQorLlJCIFsgXC1vCisuSVIgb2Zmc2V0IF0KKy5JUiBkZXZpY2UgLi4uCisuU0ggREVTQ1JJUFRJT04KKy5CIHdpcGVmcworY2FuIGVyYXNlIGZpbGVzeXN0ZW0sIHJhaWQgb3IgcGFydGl0aW9uLXRhYmxlIHNpZ25hdHVyZXMgKG1hZ2ljIHN0cmluZ3MpIGZyb20KK3RoZSBzcGVjaWZpZWQKKy5JIGRldmljZQordG8gbWFrZSB0aGUgc2lnbmF0dXJlcyBpbnZpc2libGUgZm9yIGxpYmJsa2lkLgorCisuQiB3aXBlZnMKK2RvZXMgbm90IGVyYXNlIHRoZSBmaWxlc3lzdGVtIGl0c2VsZiBub3IgYW55IG90aGVyIGRhdGEgZnJvbSB0aGUgZGV2aWNlLgorV2hlbiB1c2VkIHdpdGhvdXQgYW55IG9wdGlvbnMsIFxmQndpcGVmc1xmUiBsaXN0cyBhbGwgdmlzaWJsZSBmaWxlc3lzdGVtcworYW5kIHRoZSBvZmZzZXRzIG9mIHRoZWlyIGJhc2ljIHNpZ25hdHVyZXMuCisKKy5CIHdpcGVmcworY2FsbHMgdGhlIEJMS1JSUEFSVCBpb2N0bCB3aGVuIGl0IGhhcyBlcmFzZWQgYSBwYXJ0aXRpb24tdGFibGUgc2lnbmF0dXJlCit0byBpbmZvcm0gdGhlIGtlcm5lbCBhYm91dCB0aGUgY2hhbmdlLgorCitOb3RlIHRoYXQgc29tZSBmaWxlc3lzdGVtcyBhbmQgc29tZSBwYXJ0aXRpb24gdGFibGVzIHN0b3JlIG1vcmUgbWFnaWMgc3RyaW5ncyBvbgordGhlIGRldmljZS4gIFRoZQorLkIgd2lwZWZzCitjb21tYW5kIGxpc3RzIG9ubHkgdGhlIGZpcnN0IG9mZnNldCB3aGVyZSBhIG1hZ2ljIHN0cmluZyBoYXMgYmVlbiBkZXRlY3RlZC4gIFRoZSBkZXZpY2UKK2lzIG5vdCBzY2FubmVkIGZvciBhZGRpdGlvbmFsIG1hZ2ljIHN0cmluZ3MgZm9yIHRoZSBzYW1lIGZpbGVzeXN0ZW0uICBJdCBpcyBwb3NzaWJsZQordGhhdCBhZnRlciBhIFxmQndpcGVmcyAtbyBcZklvZmZzZXRcZlIgdGhlIHNhbWUgZmlsZXN5c3RlbSBvciBwYXJ0aXRpb24KK3RhYmxlIHdpbGwgc3RpbGwgYmUgdmlzaWJsZSBiZWNhdXNlIG9mIGFub3RoZXIgbWFnaWMgc3RyaW5nIG9uIGFub3RoZXIgb2Zmc2V0LgorCitXaGVuIG9wdGlvbiBcZkItYVxmUiBpcyB1c2VkLCBhbGwgbWFnaWMgc3RyaW5ncyB0aGF0IGFyZSB2aXNpYmxlIGZvciBsaWJibGtpZCBhcmUKK2VyYXNlZC4KKworTm90ZSB0aGF0IGJ5IGRlZmF1bHQKKy5CIHdpcGVmcworZG9lcyBub3QgZXJhc2UgbmVzdGVkIHBhcnRpdGlvbiB0YWJsZXMgb24gbm9uLXdob2xlIGRpc2sgZGV2aWNlcy4KK0ZvciB0aGlzIHRoZSBvcHRpb24gXGZCXC1cLWZvcmNlXGZSIGlzIHJlcXVpcmVkLgorCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1hICwgIiBcLVwtYWxsIgorRXJhc2UgYWxsIGF2YWlsYWJsZSBzaWduYXR1cmVzLiAgVGhlIHNldCBvZiBlcmFzZWQgc2lnbmF0dXJlcyBjYW4gYmUKK3Jlc3RyaWN0ZWQgd2l0aCB0aGUgXGZCXC10XGZSIG9wdGlvbi4KKy5UUAorLkJSIFwtYiAsICIgXC1cLWJhY2t1cCIKK0NyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAgdG8gdGhlIGZpbGUgJEhPTUUvd2lwZWZzLTxkZXZuYW1lPi08b2Zmc2V0Pi5iYWsuCitGb3IgbW9yZSBkZXRhaWxzIHNlZSB0aGUgXGZCRVhBTVBMRVNcZlIgc2VjdGlvbi4KKy5UUAorLkJSIFwtZiAsICIgXC1cLWZvcmNlIgorRm9yY2UgZXJhc3VyZSwgZXZlbiBpZiB0aGUgZmlsZXN5c3RlbSBpcyBtb3VudGVkLiAgVGhpcyBpcyByZXF1aXJlZCBpbgorb3JkZXIgdG8gZXJhc2UgYSBwYXJ0aXRpb24tdGFibGUgc2lnbmF0dXJlIG9uIGEgYmxvY2sgZGV2aWNlLgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlRQCisuQlIgLW4gLCAiIFwtXC1ub1wtYWN0IgorQ2F1c2VzIGV2ZXJ5dGhpbmcgdG8gYmUgZG9uZSBleGNlcHQgZm9yIHRoZSB3cml0ZSgpIGNhbGwuCisuVFAKKy5CUiBcLW8gLCAiIFwtXC1vZmZzZXQgIiBcZklvZmZzZXRcZlAKK1NwZWNpZnkgdGhlIGxvY2F0aW9uIChpbiBieXRlcykgb2YgdGhlIHNpZ25hdHVyZSB3aGljaCBzaG91bGQgYmUgZXJhc2VkIGZyb20gdGhlCitkZXZpY2UuICBUaGUgXGZJb2Zmc2V0XGZSIG51bWJlciBtYXkgaW5jbHVkZSBhICIweCIgcHJlZml4OyB0aGVuIHRoZSBudW1iZXIgd2lsbCBiZQoraW50ZXJwcmV0ZWQgYXMgYSBoZXggdmFsdWUuICBJdCBpcyBwb3NzaWJsZSB0byBzcGVjaWZ5IG11bHRpcGxlIFxmQi1vXGZSIG9wdGlvbnMuCisuc3AKK1RoZSBcZklvZmZzZXRcZlIgYXJndW1lbnQgbWF5IGJlIGZvbGxvd2VkIGJ5IHRoZSBtdWx0aXBsaWNhdGl2ZQorc3VmZml4ZXMgS2lCICg9MTAyNCksIE1pQiAoPTEwMjQqMTAyNCksIGFuZCBzbyBvbiBmb3IgR2lCLCBUaUIsIFBpQiwgRWlCLCBaaUIgYW5kIFlpQgorKHRoZSAiaUIiIGlzIG9wdGlvbmFsLCBlLmcuICJLIiBoYXMgdGhlIHNhbWUgbWVhbmluZyBhcyAiS2lCIiksIG9yIHRoZSBzdWZmaXhlcworS0IgKD0xMDAwKSwgTUIgKD0xMDAwKjEwMDApLCBhbmQgc28gb24gZm9yIEdCLCBUQiwgUEIsIEVCLCBaQiBhbmQgWUIuCisuVFAKKy5CUiBcLXAgLCAiIFwtXC1wYXJzYWJsZSIKK1ByaW50IG91dCBpbiBwYXJzYWJsZSBpbnN0ZWFkIG9mIHByaW50YWJsZSBmb3JtYXQuICBFbmNvZGUgYWxsIHBvdGVudGlhbGx5IHVuc2FmZQorY2hhcmFjdGVycyBvZiBhIHN0cmluZyB0byB0aGUgY29ycmVzcG9uZGluZyBoZXggdmFsdWUgcHJlZml4ZWQgYnkgJ1xceCcuCisuVFAKKy5CUiBcLXEgLCAiIFwtXC1xdWlldCIKK1N1cHByZXNzIGFueSBtZXNzYWdlcyBhZnRlciBhIHN1Y2Nlc3NmdWwgc2lnbmF0dXJlIHdpcGUuCisuVFAKKy5CUiBcLXQgLCAiIFwtXC10eXBlcyAiIFxmSWxpc3RcZlAKK0xpbWl0IHRoZSBzZXQgb2YgcHJpbnRlZCBvciBlcmFzZWQgc2lnbmF0dXJlcy4gIE1vcmUgdGhhbiBvbmUgdHlwZSBtYXkKK2JlIHNwZWNpZmllZCBpbiBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LiAgVGhlIGxpc3Qgb3IgaW5kaXZpZHVhbCB0eXBlcworY2FuIGJlIHByZWZpeGVkIHdpdGggJ25vJyB0byBzcGVjaWZ5IHRoZSB0eXBlcyBvbiB3aGljaCBubyBhY3Rpb24gc2hvdWxkIGJlCit0YWtlbi4gIEZvciBtb3JlIGRldGFpbHMgc2VlIG1vdW50KDgpLgorLlRQCisuQlIgLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlNIIEVYQU1QTEVTCisuVFAKKy5CUiAid2lwZWZzIC0tYWxsIC0tYmFja3VwIC9kZXYvc2RiIgorRXJhc2VzIGFsbCBzaWduYXR1cmVzIGZyb20gdGhlIGRldmljZSAvZGV2L3NkYiBhbmQgY3JlYXRlcyBhIHNpZ25hdHVyZSBiYWNrdXAKK2ZpbGUgfi93aXBlZnMtc2RiLTxvZmZzZXQ+LmJhayBmb3IgZWFjaCBzaWduYXR1cmUuCisuVFAKKy5CUiAiZGQgaWY9fi93aXBlZnMtc2RiLTB4MDAwMDA0MzguYmFrIG9mPS9kZXYvc2RiIHNlZWs9JCgoMHgwMDAwMDQzOCkpIGJzPTEgY29udj1ub3RydW5jIgorUmVzdG9yZXMgYW4gZXh0MiBzaWduYXR1cmUgZnJvbSB0aGUgYmFja3VwIGZpbGUgIH4vd2lwZWZzLXNkYi0weDAwMDAwNDM4LmJhay4KKy5TSCBBVVRIT1IKK0thcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorLlNIIEVOVklST05NRU5UCisuSVAgTElCQkxLSURfREVCVUc9YWxsCitlbmFibGVzIGxpYmJsa2lkIGRlYnVnIG91dHB1dC4KKy5TSCBTRUUgQUxTTworLkJSIGJsa2lkICg4KSwKKy5CUiBmaW5kZnMgKDgpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgd2lwZWZzIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy93aXBlZnMuYyBiL21pc2MtdXRpbHMvd2lwZWZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDAyMWU3NgotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvd2lwZWZzLmMKQEAgLTAsMCArMSw1ODIgQEAKKy8qCisgKiB3aXBlZnMgLSB1dGlsaXR5IHRvIHdpcGUgZmlsZXN5c3RlbXMgZnJvbSBkZXZpY2UKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgUmVkIEhhdCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogV3JpdHRlbiBieSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdvdWxkIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgKiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqLworI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxsaWJnZW4uaD4KKworI2luY2x1ZGUgPGJsa2lkLmg+CisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgImFsbC1pby5oIgorI2luY2x1ZGUgIm1hdGNoLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAib3B0dXRpbHMuaCIKKyNpbmNsdWRlICJibGtkZXYuaCIKKworc3RydWN0IHdpcGVfZGVzYyB7CisJbG9mZl90CQlvZmZzZXQ7CQkvKiBtYWdpYyBzdHJpbmcgb2Zmc2V0ICovCisJc2l6ZV90CQlsZW47CQkvKiBsZW5ndGggb2YgbWFnaWMgc3RyaW5nICovCisJdW5zaWduZWQgY2hhcgkqbWFnaWM7CQkvKiBtYWdpYyBzdHJpbmcgKi8KKworCWNoYXIJCSp1c2FnZTsJCS8qIHJhaWQsIGZpbGVzeXN0ZW0sIC4uLiAqLworCWNoYXIJCSp0eXBlOwkJLyogRlMgdHlwZSAqLworCWNoYXIJCSpsYWJlbDsJCS8qIEZTIGxhYmVsICovCisJY2hhcgkJKnV1aWQ7CQkvKiBGUyB1dWlkICovCisKKwlzdHJ1Y3Qgd2lwZV9kZXNjCSpuZXh0OworCisJdW5zaWduZWQgaW50CXphcCA6IDEsCisJCQlvbl9kaXNrIDogMSwKKwkJCWlzX3BhcnR0YWJsZSA6IDE7CisKK307CisKK2VudW0geworCVdQX01PREVfUFJFVFRZLAkJLyogZGVmYXVsdCAqLworCVdQX01PREVfUEFSU0FCTEUKK307CisKK2VudW0geworCVdQX0ZMX05PQUNUCT0gKDEgPDwgMSksCisJV1BfRkxfQUxMCT0gKDEgPDwgMiksCisJV1BfRkxfUVVJRVQJPSAoMSA8PCAzKSwKKwlXUF9GTF9CQUNLVVAJPSAoMSA8PCA0KSwKKwlXUF9GTF9GT1JDRQk9ICgxIDw8IDUpCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqdHlwZV9wYXR0ZXJuOworCitzdGF0aWMgdm9pZAorcHJpbnRfcHJldHR5KHN0cnVjdCB3aXBlX2Rlc2MgKndwLCBpbnQgbGluZSkKK3sKKwlpZiAoIWxpbmUpIHsKKwkJcHJpbnRmKCJvZmZzZXQgICAgICAgICAgICAgICB0eXBlXG4iKTsKKwkJcHJpbnRmKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iKTsKKwl9CisKKwlwcmludGYoIjB4JS0xN2p4ICAlcyAgIFslc10iLCAoaW50bWF4X3Qpd3AtPm9mZnNldCwgd3AtPnR5cGUsIF8od3AtPnVzYWdlKSk7CisKKwlpZiAod3AtPmxhYmVsICYmICp3cC0+bGFiZWwpCisJCXByaW50ZigiXG4lMjdzICVzIiwgIkxBQkVMOiIsIHdwLT5sYWJlbCk7CisJaWYgKHdwLT51dWlkKQorCQlwcmludGYoIlxuJTI3cyAlcyIsICJVVUlEOiAiLCB3cC0+dXVpZCk7CisJcHV0cygiXG4iKTsKK30KKworc3RhdGljIHZvaWQKK3ByaW50X3BhcnNhYmxlKHN0cnVjdCB3aXBlX2Rlc2MgKndwLCBpbnQgbGluZSkKK3sKKwljaGFyIGVuY1syNTZdOworCisJaWYgKCFsaW5lKQorCQlwcmludGYoIiMgb2Zmc2V0LHV1aWQsbGFiZWwsdHlwZVxuIik7CisKKwlwcmludGYoIjB4JWp4LCIsIChpbnRtYXhfdCl3cC0+b2Zmc2V0KTsKKworCWlmICh3cC0+dXVpZCkgeworCQlibGtpZF9lbmNvZGVfc3RyaW5nKHdwLT51dWlkLCBlbmMsIHNpemVvZihlbmMpKTsKKwkJcHJpbnRmKCIlcywiLCBlbmMpOworCX0gZWxzZQorCQlmcHV0YygnLCcsIHN0ZG91dCk7CisKKwlpZiAod3AtPmxhYmVsKSB7CisJCWJsa2lkX2VuY29kZV9zdHJpbmcod3AtPmxhYmVsLCBlbmMsIHNpemVvZihlbmMpKTsKKwkJcHJpbnRmKCIlcywiLCBlbmMpOworCX0gZWxzZQorCQlmcHV0YygnLCcsIHN0ZG91dCk7CisKKwlibGtpZF9lbmNvZGVfc3RyaW5nKHdwLT50eXBlLCBlbmMsIHNpemVvZihlbmMpKTsKKwlwcmludGYoIiVzXG4iLCBlbmMpOworfQorCitzdGF0aWMgdm9pZAorcHJpbnRfYWxsKHN0cnVjdCB3aXBlX2Rlc2MgKndwLCBpbnQgbW9kZSkKK3sKKwlpbnQgbiA9IDA7CisKKwl3aGlsZSAod3ApIHsKKwkJc3dpdGNoIChtb2RlKSB7CisJCWNhc2UgV1BfTU9ERV9QUkVUVFk6CisJCQlwcmludF9wcmV0dHkod3AsIG4rKyk7CisJCQlicmVhazsKKwkJY2FzZSBXUF9NT0RFX1BBUlNBQkxFOgorCQkJcHJpbnRfcGFyc2FibGUod3AsIG4rKyk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWFib3J0KCk7CisJCX0KKwkJd3AgPSB3cC0+bmV4dDsKKwl9Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgd2lwZV9kZXNjICoKK2FkZF9vZmZzZXQoc3RydWN0IHdpcGVfZGVzYyAqd3AwLCBsb2ZmX3Qgb2Zmc2V0LCBpbnQgemFwKQoreworCXN0cnVjdCB3aXBlX2Rlc2MgKndwID0gd3AwOworCisJd2hpbGUgKHdwKSB7CisJCWlmICh3cC0+b2Zmc2V0ID09IG9mZnNldCkKKwkJCXJldHVybiB3cDsKKwkJd3AgPSB3cC0+bmV4dDsKKwl9CisKKwl3cCA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCB3aXBlX2Rlc2MpKTsKKwl3cC0+b2Zmc2V0ID0gb2Zmc2V0OworCXdwLT5uZXh0ID0gd3AwOworCXdwLT56YXAgPSB6YXAgPyAxIDogMDsKKwlyZXR1cm4gd3A7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgd2lwZV9kZXNjICoKK2Nsb25lX29mZnNldChzdHJ1Y3Qgd2lwZV9kZXNjICp3cDApCit7CisJc3RydWN0IHdpcGVfZGVzYyAqd3AgPSBOVUxMOworCisJd2hpbGUod3AwKSB7CisJCXdwID0gYWRkX29mZnNldCh3cCwgd3AwLT5vZmZzZXQsIHdwMC0+emFwKTsKKwkJd3AwID0gd3AwLT5uZXh0OworCX0KKworCXJldHVybiB3cDsKK30KKworc3RhdGljIHN0cnVjdCB3aXBlX2Rlc2MgKgorZ2V0X2Rlc2NfZm9yX3Byb2JlKHN0cnVjdCB3aXBlX2Rlc2MgKndwLCBibGtpZF9wcm9iZSBwcikKK3sKKwljb25zdCBjaGFyICpvZmYsICp0eXBlLCAqbWFnLCAqcCwgKnVzYWdlID0gTlVMTDsKKwlzaXplX3QgbGVuOworCWxvZmZfdCBvZmZzZXQ7CisJaW50IHJjLCBpc3B0ID0gMDsKKworCS8qIHN1cGVyYmxvY2tzICovCisJaWYgKGJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIlRZUEUiLCAmdHlwZSwgTlVMTCkgPT0gMCkgeworCQlyYyA9IGJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIlNCTUFHSUNfT0ZGU0VUIiwgJm9mZiwgTlVMTCk7CisJCWlmICghcmMpCisJCQlyYyA9IGJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIlNCTUFHSUMiLCAmbWFnLCAmbGVuKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHdwOworCisJLyogcGFydGl0aW9ucyAqLworCX0gZWxzZSBpZiAoYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlKHByLCAiUFRUWVBFIiwgJnR5cGUsIE5VTEwpID09IDApIHsKKwkJcmMgPSBibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJQVE1BR0lDX09GRlNFVCIsICZvZmYsIE5VTEwpOworCQlpZiAoIXJjKQorCQkJcmMgPSBibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJQVE1BR0lDIiwgJm1hZywgJmxlbik7CisJCWlmIChyYykKKwkJCXJldHVybiB3cDsKKwkJdXNhZ2UgPSBOXygicGFydGl0aW9uIHRhYmxlIik7CisJCWlzcHQgPSAxOworCX0gZWxzZQorCQlyZXR1cm4gd3A7CisKKwlpZiAodHlwZV9wYXR0ZXJuICYmICFtYXRjaF9mc3R5cGUodHlwZSwgdHlwZV9wYXR0ZXJuKSkKKwkJcmV0dXJuIHdwOworCisJb2Zmc2V0ID0gc3RydG9sbChvZmYsIE5VTEwsIDEwKTsKKworCXdwID0gYWRkX29mZnNldCh3cCwgb2Zmc2V0LCAwKTsKKwlpZiAoIXdwKQorCQlyZXR1cm4gTlVMTDsKKworCWlmICh1c2FnZSB8fCBibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJVU0FHRSIsICZ1c2FnZSwgTlVMTCkgPT0gMCkKKwkJd3AtPnVzYWdlID0geHN0cmR1cCh1c2FnZSk7CisKKwl3cC0+dHlwZSA9IHhzdHJkdXAodHlwZSk7CisJd3AtPm9uX2Rpc2sgPSAxOworCXdwLT5pc19wYXJ0dGFibGUgPSBpc3B0ID8gMSA6IDA7CisKKwl3cC0+bWFnaWMgPSB4bWFsbG9jKGxlbik7CisJbWVtY3B5KHdwLT5tYWdpYywgbWFnLCBsZW4pOworCXdwLT5sZW4gPSBsZW47CisKKwlpZiAoYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlKHByLCAiTEFCRUwiLCAmcCwgTlVMTCkgPT0gMCkKKwkJd3AtPmxhYmVsID0geHN0cmR1cChwKTsKKworCWlmIChibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJVVUlEIiwgJnAsIE5VTEwpID09IDApCisJCXdwLT51dWlkID0geHN0cmR1cChwKTsKKworCXJldHVybiB3cDsKK30KKworc3RhdGljIGJsa2lkX3Byb2JlCituZXdfcHJvYmUoY29uc3QgY2hhciAqZGV2bmFtZSwgaW50IG1vZGUpCit7CisJYmxraWRfcHJvYmUgcHIgPSBOVUxMOworCisJaWYgKCFkZXZuYW1lKQorCQlyZXR1cm4gTlVMTDsKKworCWlmIChtb2RlKSB7CisJCWludCBmZCA9IG9wZW4oZGV2bmFtZSwgbW9kZSk7CisJCWlmIChmZCA8IDApCisJCQlnb3RvIGVycm9yOworCisJCXByID0gYmxraWRfbmV3X3Byb2JlKCk7CisJCWlmICghcHIgfHwgYmxraWRfcHJvYmVfc2V0X2RldmljZShwciwgZmQsIDAsIDApICE9IDApIHsKKwkJCWNsb3NlKGZkKTsKKwkJCWdvdG8gZXJyb3I7CisJCX0KKwl9IGVsc2UKKwkJcHIgPSBibGtpZF9uZXdfcHJvYmVfZnJvbV9maWxlbmFtZShkZXZuYW1lKTsKKworCWlmICghcHIpCisJCWdvdG8gZXJyb3I7CisKKwlibGtpZF9wcm9iZV9lbmFibGVfc3VwZXJibG9ja3MocHIsIDEpOworCWJsa2lkX3Byb2JlX3NldF9zdXBlcmJsb2Nrc19mbGFncyhwciwKKwkJCUJMS0lEX1NVQkxLU19NQUdJQyB8CS8qIHJldHVybiBtYWdpYyBzdHJpbmcgYW5kIG9mZnNldCAqLworCQkJQkxLSURfU1VCTEtTX1RZUEUgfAkvKiByZXR1cm4gc3VwZXJibG9jayB0eXBlICovCisJCQlCTEtJRF9TVUJMS1NfVVNBR0UgfAkvKiByZXR1cm4gVVNBR0U9ICovCisJCQlCTEtJRF9TVUJMS1NfTEFCRUwgfAkvKiByZXR1cm4gTEFCRUw9ICovCisJCQlCTEtJRF9TVUJMS1NfVVVJRCB8CS8qIHJldHVybiBVVUlEPSAqLworCQkJQkxLSURfU1VCTEtTX0JBRENTVU0pOwkvKiBhY2NlcHQgYmFkIGNoZWNrc3VtcyAqLworCisJYmxraWRfcHJvYmVfZW5hYmxlX3BhcnRpdGlvbnMocHIsIDEpOworCWJsa2lkX3Byb2JlX3NldF9wYXJ0aXRpb25zX2ZsYWdzKHByLCBCTEtJRF9QQVJUU19NQUdJQyB8CisJCQkJCSAgICAgQkxLSURfUEFSVFNfRk9SQ0VfR1BUKTsKKwlyZXR1cm4gcHI7CitlcnJvcjoKKwlibGtpZF9mcmVlX3Byb2JlKHByKTsKKwllcnIoRVhJVF9GQUlMVVJFLCBfKCJlcnJvcjogJXM6IHByb2JpbmcgaW5pdGlhbGl6YXRpb24gZmFpbGVkIiksIGRldm5hbWUpOworfQorCitzdGF0aWMgc3RydWN0IHdpcGVfZGVzYyAqCityZWFkX29mZnNldHMoc3RydWN0IHdpcGVfZGVzYyAqd3AsIGNvbnN0IGNoYXIgKmRldm5hbWUpCit7CisJYmxraWRfcHJvYmUgcHIgPSBuZXdfcHJvYmUoZGV2bmFtZSwgMCk7CisKKwlpZiAoIXByKQorCQlyZXR1cm4gTlVMTDsKKworCXdoaWxlIChibGtpZF9kb19wcm9iZShwcikgPT0gMCkgeworCQl3cCA9IGdldF9kZXNjX2Zvcl9wcm9iZSh3cCwgcHIpOworCQlpZiAoIXdwKQorCQkJYnJlYWs7CisJfQorCisJYmxraWRfZnJlZV9wcm9iZShwcik7CisJcmV0dXJuIHdwOworfQorCitzdGF0aWMgdm9pZAorZnJlZV93aXBlKHN0cnVjdCB3aXBlX2Rlc2MgKndwKQoreworCXdoaWxlICh3cCkgeworCQlzdHJ1Y3Qgd2lwZV9kZXNjICpuZXh0ID0gd3AtPm5leHQ7CisKKwkJZnJlZSh3cC0+dXNhZ2UpOworCQlmcmVlKHdwLT50eXBlKTsKKwkJZnJlZSh3cC0+bWFnaWMpOworCQlmcmVlKHdwLT5sYWJlbCk7CisJCWZyZWUod3AtPnV1aWQpOworCQlmcmVlKHdwKTsKKworCQl3cCA9IG5leHQ7CisJfQorfQorCitzdGF0aWMgdm9pZCBkb193aXBlX3JlYWwoYmxraWRfcHJvYmUgcHIsIGNvbnN0IGNoYXIgKmRldm5hbWUsCisJCQlzdHJ1Y3Qgd2lwZV9kZXNjICp3LCBpbnQgZmxhZ3MpCit7CisJc2l6ZV90IGk7CisKKwlpZiAoYmxraWRfZG9fd2lwZShwciwgKGZsYWdzICYgV1BfRkxfTk9BQ1QpICE9IDApKQorCQl3YXJuKF8oIiVzOiBmYWlsZWQgdG8gZXJhc2UgJXMgbWFnaWMgc3RyaW5nIGF0IG9mZnNldCAweCUwOGp4IiksCisJCSAgICAgZGV2bmFtZSwgdy0+dHlwZSwgKGludG1heF90KXctPm9mZnNldCk7CisKKwlpZiAoZmxhZ3MgJiBXUF9GTF9RVUlFVCkKKwkJcmV0dXJuOworCisJcHJpbnRmKFBfKCIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiLAorCQkgICIlczogJXpkIGJ5dGVzIHdlcmUgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIsCisJCSAgdy0+bGVuKSwKKwkgICAgICAgZGV2bmFtZSwgdy0+bGVuLCAoaW50bWF4X3Qpdy0+b2Zmc2V0LCB3LT50eXBlKTsKKworCWZvciAoaSA9IDA7IGkgPCB3LT5sZW47IGkrKykgeworCQlwcmludGYoIiUwMngiLCB3LT5tYWdpY1tpXSk7CisJCWlmIChpICsgMSA8IHctPmxlbikKKwkJCWZwdXRjKCcgJywgc3Rkb3V0KTsKKwl9CisJcHV0Y2hhcignXG4nKTsKK30KKworc3RhdGljIHZvaWQgZG9fYmFja3VwKHN0cnVjdCB3aXBlX2Rlc2MgKndwLCBjb25zdCBjaGFyICpiYXNlKQoreworCWNoYXIgKmZuYW1lID0gTlVMTDsKKwlpbnQgZmQ7CisKKwl4YXNwcmludGYoJmZuYW1lLCAiJXMweCUwOGp4LmJhayIsIGJhc2UsIChpbnRtYXhfdCl3cC0+b2Zmc2V0KTsKKworCWZkID0gb3BlbihmbmFtZSwgT19DUkVBVCB8IE9fV1JPTkxZLCBTX0lSVVNSIHwgU19JV1VTUik7CisJaWYgKGZkIDwgMCkKKwkJZ290byBlcnI7CisJaWYgKHdyaXRlX2FsbChmZCwgd3AtPm1hZ2ljLCB3cC0+bGVuKSAhPSAwKQorCQlnb3RvIGVycjsKKwljbG9zZShmZCk7CisJZnJlZShmbmFtZSk7CisJcmV0dXJuOworZXJyOgorCWVycihFWElUX0ZBSUxVUkUsIF8oIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCIpLCBmbmFtZSk7Cit9CisKK3N0YXRpYyB2b2lkIHJlcmVhZHB0KGludCBmZCwgY29uc3QgY2hhciAqZGV2bmFtZSkKK3sKKyNpZmRlZiBCTEtSUlBBUlQKKwlzdHJ1Y3Qgc3RhdCBzdDsKKworCWlmIChmc3RhdChmZCwgJnN0KSB8fCAhU19JU0JMSyhzdC5zdF9tb2RlKSkKKwkJcmV0dXJuOworCisJZXJybm8gPSAwOworCWlvY3RsKGZkLCBCTEtSUlBBUlQpOworCXByaW50ZihfKCIlczogY2FsbGluZyBpb2N0bCB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZTogJW1cbiIpLCBkZXZuYW1lKTsKKyNlbmRpZgorfQorCitzdGF0aWMgc3RydWN0IHdpcGVfZGVzYyAqCitkb193aXBlKHN0cnVjdCB3aXBlX2Rlc2MgKndwLCBjb25zdCBjaGFyICpkZXZuYW1lLCBpbnQgZmxhZ3MpCit7CisJaW50IG1vZGUgPSBPX1JEV1IsIHJlcmVhZCA9IDAsIG5lZWRfZm9yY2UgPSAwOworCWJsa2lkX3Byb2JlIHByOworCXN0cnVjdCB3aXBlX2Rlc2MgKncsICp3cDA7CisJaW50IHphcCA9IChmbGFncyAmIFdQX0ZMX0FMTCkgPyAxIDogd3AtPnphcDsKKwljaGFyICpiYWNrdXAgPSBOVUxMOworCisJaWYgKCEoZmxhZ3MgJiBXUF9GTF9GT1JDRSkpCisJCW1vZGUgfD0gT19FWENMOworCXByID0gbmV3X3Byb2JlKGRldm5hbWUsIG1vZGUpOworCWlmICghcHIpCisJCXJldHVybiBOVUxMOworCisJaWYgKHphcCAmJiAoZmxhZ3MgJiBXUF9GTF9CQUNLVVApKSB7CisJCWNvbnN0IGNoYXIgKmhvbWUgPSBnZXRlbnYgKCJIT01FIik7CisJCWNoYXIgKnRtcCA9IHhzdHJkdXAoZGV2bmFtZSk7CisKKwkJaWYgKCFob21lKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwLCAkSE9NRSB1bmRlZmluZWQiKSk7CisJCXhhc3ByaW50ZiAoJmJhY2t1cCwgIiVzL3dpcGVmcy0lcy0iLCBob21lLCBiYXNlbmFtZSh0bXApKTsKKwkJZnJlZSh0bXApOworCX0KKworCXdwMCA9IGNsb25lX29mZnNldCh3cCk7CisKKwl3aGlsZSAoYmxraWRfZG9fcHJvYmUocHIpID09IDApIHsKKwkJd3AgPSBnZXRfZGVzY19mb3JfcHJvYmUod3AsIHByKTsKKwkJaWYgKCF3cCkKKwkJCWJyZWFrOworCisJCS8qIENoZWNrIGlmIG9mZnNldCBpcyBpbiBwcm92aWRlZCBsaXN0ICovCisJCXcgPSB3cDA7CisJCXdoaWxlKHcgJiYgdy0+b2Zmc2V0ICE9IHdwLT5vZmZzZXQpCisJCQl3ID0gdy0+bmV4dDsKKwkJaWYgKHdwMCAmJiAhdykKKwkJCWNvbnRpbnVlOworCisJCS8qIE1hcmsgZG9uZSBpZiBmb3VuZCBpbiBwcm92aWRlZCBsaXN0ICovCisJCWlmICh3KQorCQkJdy0+b25fZGlzayA9IHdwLT5vbl9kaXNrOworCisJCWlmICghd3AtPm9uX2Rpc2spCisJCQljb250aW51ZTsKKworCQlpZiAoIShmbGFncyAmIFdQX0ZMX0ZPUkNFKQorCQkgICAgJiYgd3AtPmlzX3BhcnR0YWJsZQorCQkgICAgJiYgIWJsa2lkX3Byb2JlX2lzX3dob2xlZGlzayhwcikpIHsKKwkJCXdhcm54KF8oIiVzOiBpZ25vcmluZyBuZXN0ZWQgXCIlc1wiIHBhcnRpdGlvbiB0YWJsZSAiCisJCQkJIm9uIG5vbi13aG9sZSBkaXNrIGRldmljZSIpLCBkZXZuYW1lLCB3cC0+dHlwZSk7CisJCQluZWVkX2ZvcmNlID0gMTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJaWYgKHphcCkgeworCQkJaWYgKGJhY2t1cCkKKwkJCQlkb19iYWNrdXAod3AsIGJhY2t1cCk7CisJCQlkb193aXBlX3JlYWwocHIsIGRldm5hbWUsIHdwLCBmbGFncyk7CisJCQlpZiAod3AtPmlzX3BhcnR0YWJsZSkKKwkJCQlyZXJlYWQgPSAxOworCQl9CisJfQorCisJZm9yICh3ID0gd3AwOyB3ICE9IE5VTEw7IHcgPSB3LT5uZXh0KSB7CisJCWlmICghdy0+b25fZGlzayAmJiAhKGZsYWdzICYgV1BfRkxfUVVJRVQpKQorCQkJd2FybngoXygiJXM6IG9mZnNldCAweCVqeCBub3QgZm91bmQiKSwgZGV2bmFtZSwgKHVpbnRtYXhfdCl3LT5vZmZzZXQpOworCX0KKworCWlmIChuZWVkX2ZvcmNlKQorCQl3YXJueChfKCJVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIHRvIGZvcmNlIGVyYXNlLiIpKTsKKworCWZzeW5jKGJsa2lkX3Byb2JlX2dldF9mZChwcikpOworCisJaWYgKHJlcmVhZCAmJiAobW9kZSAmIE9fRVhDTCkpCisJCXJlcmVhZHB0KGJsa2lkX3Byb2JlX2dldF9mZChwciksIGRldm5hbWUpOworCisJY2xvc2UoYmxraWRfcHJvYmVfZ2V0X2ZkKHByKSk7CisJYmxraWRfZnJlZV9wcm9iZShwcik7CisJZnJlZV93aXBlKHdwMCk7CisJZnJlZShiYWNrdXApOworCisJcmV0dXJuIHdwOworfQorCisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpCit1c2FnZShGSUxFICpvdXQpCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LAorCSAgICAgIF8oIiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiV2lwZSBzaWduYXR1cmVzIGZyb20gYSBkZXZpY2UuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpXG4iCisJCSIgLWIsIC0tYmFja3VwICAgICAgICBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIGluICRIT01FXG4iCisJCSIgLWYsIC0tZm9yY2UgICAgICAgICBmb3JjZSBlcmFzdXJlXG4iCisJCSIgLWgsIC0taGVscCAgICAgICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCisJCSIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgYWN0dWFsIHdyaXRlKCkgY2FsbFxuIgorCQkiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IHRvIGVyYXNlLCBpbiBieXRlc1xuIgorCQkiIC1wLCAtLXBhcnNhYmxlICAgICAgcHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdFxuIgorCQkiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcHJlc3Mgb3V0cHV0IG1lc3NhZ2VzXG4iCisJCSIgLXQsIC0tdHlwZXMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0sIFJBSURzIG9yIHBhcnRpdGlvbiB0YWJsZXNcbiIKKwkJIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iKSwgb3V0KTsKKworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgid2lwZWZzKDgpIikpOworCisJZXhpdChvdXQgPT0gc3RkZXJyID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTKTsKK30KKworCitpbnQKK21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCXN0cnVjdCB3aXBlX2Rlc2MgKndwMCA9IE5VTEwsICp3cDsKKwlpbnQgYywgaGFzX29mZnNldCA9IDAsIGZsYWdzID0gMDsKKwlpbnQgbW9kZSA9IFdQX01PREVfUFJFVFRZOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkgICAgeyAiYWxsIiwgICAgICAgMCwgMCwgJ2EnIH0sCisJICAgIHsgImJhY2t1cCIsICAgIDAsIDAsICdiJyB9LAorCSAgICB7ICJmb3JjZSIsICAgICAwLCAwLCAnZicgfSwKKwkgICAgeyAiaGVscCIsICAgICAgMCwgMCwgJ2gnIH0sCisJICAgIHsgIm5vLWFjdCIsICAgIDAsIDAsICduJyB9LAorCSAgICB7ICJvZmZzZXQiLCAgICAxLCAwLCAnbycgfSwKKwkgICAgeyAicGFyc2FibGUiLCAgMCwgMCwgJ3AnIH0sCisJICAgIHsgInF1aWV0IiwgICAgIDAsIDAsICdxJyB9LAorCSAgICB7ICJ0eXBlcyIsICAgICAxLCAwLCAndCcgfSwKKwkgICAgeyAidmVyc2lvbiIsICAgMCwgMCwgJ1YnIH0sCisJICAgIHsgTlVMTCwgICAgICAgIDAsIDAsIDAgfQorCX07CisKKwlzdGF0aWMgY29uc3QgdWxfZXhjbF90IGV4Y2xbXSA9IHsgICAgICAgLyogcm93cyBhbmQgY29scyBpbiBpbiBBU0NJSSBvcmRlciAqLworCQl7ICdhJywnbycgfSwKKwkJeyAwIH0KKwl9OworCWludCBleGNsX3N0W0FSUkFZX1NJWkUoZXhjbCldID0gVUxfRVhDTF9TVEFUVVNfSU5JVDsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiYWJmaG5vOnBxdDpWIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhjLCBsb25nb3B0cywgZXhjbCwgZXhjbF9zdCk7CisKKwkJc3dpdGNoKGMpIHsKKwkJY2FzZSAnYSc6CisJCQlmbGFncyB8PSBXUF9GTF9BTEw7CisJCQlicmVhazsKKwkJY2FzZSAnYic6CisJCQlmbGFncyB8PSBXUF9GTF9CQUNLVVA7CisJCQlicmVhazsKKwkJY2FzZSAnZic6CisJCQlmbGFncyB8PSBXUF9GTF9GT1JDRTsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQlmbGFncyB8PSBXUF9GTF9OT0FDVDsKKwkJCWJyZWFrOworCQljYXNlICdvJzoKKwkJCXdwMCA9IGFkZF9vZmZzZXQod3AwLCBzdHJ0b3NpemVfb3JfZXJyKG9wdGFyZywKKwkJCQkJIF8oImludmFsaWQgb2Zmc2V0IGFyZ3VtZW50IikpLCAxKTsKKwkJCWhhc19vZmZzZXQrKzsKKwkJCWJyZWFrOworCQljYXNlICdwJzoKKwkJCW1vZGUgPSBXUF9NT0RFX1BBUlNBQkxFOworCQkJYnJlYWs7CisJCWNhc2UgJ3EnOgorCQkJZmxhZ3MgfD0gV1BfRkxfUVVJRVQ7CisJCQlicmVhazsKKwkJY2FzZSAndCc6CisJCQl0eXBlX3BhdHRlcm4gPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlpZiAob3B0aW5kID09IGFyZ2MpCisJCXVzYWdlKHN0ZGVycik7CisKKwlpZiAoKGZsYWdzICYgV1BfRkxfQkFDS1VQKSAmJiAhKChmbGFncyAmIFdQX0ZMX0FMTCkgfHwgaGFzX29mZnNldCkpCisJCXdhcm54KF8oIlRoZSAtLWJhY2t1cCBvcHRpb24gaXMgbWVhbmluZ2xlc3MgaW4gdGhpcyBjb250ZXh0IikpOworCisJaWYgKCEoZmxhZ3MgJiBXUF9GTF9BTEwpICYmICFoYXNfb2Zmc2V0KSB7CisJCS8qCisJCSAqIFByaW50IG9ubHkKKwkJICovCisJCXdoaWxlIChvcHRpbmQgPCBhcmdjKSB7CisJCQl3cDAgPSByZWFkX29mZnNldHMoTlVMTCwgYXJndltvcHRpbmQrK10pOworCQkJaWYgKHdwMCkKKwkJCQlwcmludF9hbGwod3AwLCBtb2RlKTsKKwkJCWZyZWVfd2lwZSh3cDApOworCQl9CisJfSBlbHNlIHsKKwkJLyoKKwkJICogRXJhc2UKKwkJICovCisJCXdoaWxlIChvcHRpbmQgPCBhcmdjKSB7CisJCQl3cCA9IGNsb25lX29mZnNldCh3cDApOworCQkJd3AgPSBkb193aXBlKHdwLCBhcmd2W29wdGluZCsrXSwgZmxhZ3MpOworCQkJZnJlZV93aXBlKHdwKTsKKwkJfQorCX0KKworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9wby8uZ2l0aWdub3JlIGIvcG8vLmdpdGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzJkOWMxCi0tLSAvZGV2L251bGwKKysrIGIvcG8vLmdpdGlnbm9yZQpAQCAtMCwwICsxLDE2IEBACisqLmdtbworYm9sZHF1b3Quc2VkCitlbkBib2xkcXVvdC5oZWFkZXIKK2VuQHF1b3QuaGVhZGVyCitpbnNlcnQtaGVhZGVyLnNpbgorTWFrZWZpbGUKK01ha2VmaWxlLmluCitNYWtlZmlsZS5pbi5pbgorTWFrZXZhcnMudGVtcGxhdGUKK1BPVEZJTEVTCitQT1RGSUxFUy5pbgorcXVvdC5zZWQKK3JlbW92ZS1wb3RjZGF0ZS5zZWQKK3JlbW92ZS1wb3RjZGF0ZS5zaW4KK1J1bGVzLXF1b3QKK3N0YW1wLXBvCmRpZmYgLS1naXQgYS9wby9NYWtldmFycyBiL3BvL01ha2V2YXJzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkNTYyOWMKLS0tIC9kZXYvbnVsbAorKysgYi9wby9NYWtldmFycwpAQCAtMCwwICsxLDQ0IEBACisjIE1ha2VmaWxlIHZhcmlhYmxlcyBmb3IgUE8gZGlyZWN0b3J5IGluIGFueSBwYWNrYWdlIHVzaW5nIEdOVSBnZXR0ZXh0LgorCisjIFVzdWFsbHkgdGhlIG1lc3NhZ2UgZG9tYWluIGlzIHRoZSBzYW1lIGFzIHRoZSBwYWNrYWdlIG5hbWUuCitET01BSU4gPSAkKFBBQ0tBR0UpCisKKyMgVGhlc2UgdHdvIHZhcmlhYmxlcyBkZXBlbmQgb24gdGhlIGxvY2F0aW9uIG9mIHRoaXMgZGlyZWN0b3J5Lgorc3ViZGlyID0gcG8KK3RvcF9idWlsZGRpciA9IC4uCisKKyMgVGhlc2Ugb3B0aW9ucyBnZXQgcGFzc2VkIHRvIHhnZXR0ZXh0LgorWEdFVFRFWFRfT1BUSU9OUyA9IC0ta2V5d29yZD1fIC0ta2V5d29yZD1OXyAtLWtleXdvcmQ9UF86MSwyCisKKyMgVGhpcyBvcHRpb24gZ2V0cyBwYXNzZWQgdG8gbXNnbWVyZ2UuCitNU0dNRVJHRV9PUFRJT05TID0gLS1uby13cmFwCisKKyMgVGhpcyBpcyB0aGUgY29weXJpZ2h0IGhvbGRlciB0aGF0IGdldHMgaW5zZXJ0ZWQgaW50byB0aGUgaGVhZGVyIG9mIHRoZQorIyAkKERPTUFJTikucG90IGZpbGUuICBTZXQgdGhpcyB0byB0aGUgY29weXJpZ2h0IGhvbGRlciBvZiB0aGUgc3Vycm91bmRpbmcKKyMgcGFja2FnZS4gIChOb3RlIHRoYXQgdGhlIG1zZ3N0ciBzdHJpbmdzLCBleHRyYWN0ZWQgZnJvbSB0aGUgcGFja2FnZSdzCisjIHNvdXJjZXMsIGJlbG9uZyB0byB0aGUgY29weXJpZ2h0IGhvbGRlciBvZiB0aGUgcGFja2FnZS4pICBUcmFuc2xhdG9ycyBhcmUKKyMgZXhwZWN0ZWQgdG8gdHJhbnNmZXIgdGhlIGNvcHlyaWdodCBmb3IgdGhlaXIgdHJhbnNsYXRpb25zIHRvIHRoaXMgcGVyc29uCisjIG9yIGVudGl0eSwgb3IgdG8gZGlzY2xhaW0gdGhlaXIgY29weXJpZ2h0LiAgVGhlIGVtcHR5IHN0cmluZyBzdGFuZHMgZm9yCisjIHRoZSBwdWJsaWMgZG9tYWluOyBpbiB0aGlzIGNhc2UgdGhlIHRyYW5zbGF0b3JzIGFyZSBleHBlY3RlZCB0byBkaXNjbGFpbQorIyB0aGVpciBjb3B5cmlnaHQuCitDT1BZUklHSFRfSE9MREVSID0gS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisKKyMgVGhpcyBpcyB0aGUgZW1haWwgYWRkcmVzcyBvciBVUkwgdG8gd2hpY2ggdGhlIHRyYW5zbGF0b3JzIHNoYWxsIHJlcG9ydAorIyBidWdzIGluIHRoZSB1bnRyYW5zbGF0ZWQgc3RyaW5nczoKKyMgLSBTdHJpbmdzIHdoaWNoIGFyZSBub3QgZW50aXJlIHNlbnRlbmNlcywgc2VlIHRoZSBtYWludGFpbmVyIGd1aWRlbGluZXMKKyMgICBpbiB0aGUgR05VIGdldHRleHQgZG9jdW1lbnRhdGlvbiwgc2VjdGlvbiAnUHJlcGFyaW5nIFN0cmluZ3MnLgorIyAtIFN0cmluZ3Mgd2hpY2ggdXNlIHVuY2xlYXIgdGVybXMgb3IgcmVxdWlyZSBhZGRpdGlvbmFsIGNvbnRleHQgdG8gYmUKKyMgICB1bmRlcnN0b29kLgorIyAtIFN0cmluZ3Mgd2hpY2ggbWFrZSBpbnZhbGlkIGFzc3VtcHRpb25zIGFib3V0IG5vdGF0aW9uIG9mIGRhdGUsIHRpbWUgb3IKKyMgICBtb25leS4KKyMgLSBQbHVyYWxpc2F0aW9uIHByb2JsZW1zLgorIyAtIEluY29ycmVjdCBFbmdsaXNoIHNwZWxsaW5nLgorIyAtIEluY29ycmVjdCBmb3JtYXR0aW5nLgorIyBJdCBjYW4gYmUgeW91ciBlbWFpbCBhZGRyZXNzLCBvciBhIG1haWxpbmcgbGlzdCBhZGRyZXNzIHdoZXJlIHRyYW5zbGF0b3JzCisjIGNhbiB3cml0ZSB0byB3aXRob3V0IGJlaW5nIHN1YnNjcmliZWQsIG9yIHRoZSBVUkwgb2YgYSB3ZWIgcGFnZSB0aHJvdWdoCisjIHdoaWNoIHRoZSB0cmFuc2xhdG9ycyBjYW4gY29udGFjdCB5b3UuCitNU0dJRF9CVUdTX0FERFJFU1MgPSB1dGlsLWxpbnV4QHZnZXIua2VybmVsLm9yZworCisjIFRoaXMgaXMgdGhlIGxpc3Qgb2YgbG9jYWxlIGNhdGVnb3JpZXMsIGJleW9uZCBMQ19NRVNTQUdFUywgZm9yIHdoaWNoIHRoZQorIyBtZXNzYWdlIGNhdGFsb2dzIHNoYWxsIGJlIHVzZWQuICBJdCBpcyB1c3VhbGx5IGVtcHR5LgorRVhUUkFfTE9DQUxFX0NBVEVHT1JJRVMgPQpkaWZmIC0tZ2l0IGEvcG8vY2EucG8gYi9wby9jYS5wbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NWUwNTU4Ci0tLSAvZGV2L251bGwKKysrIGIvcG8vY2EucG8KQEAgLTAsMCArMSwyNDY1NiBAQAorIyB0cmFuc2xhdGlvbiBvZiB1dGlsLWxpbnV4LnBvIHRvIENhdGFsYW4KKyMgQ29weXJpZ2h0IMKpIDIwMDIsIDIwMDMsIDIwMDQsIDIwMDUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIEFudG9uaSBCZWxsYSBQZXJleiA8YmVsbGE1QHRlbGVsaW5lLmVzPiwgMjAwMiwgMjAwMy4KKyMgSm9yZGkgTWFsbGFjaCA8am9yZGlAZ251Lm9yZz4sIDIwMDQsIDIwMDUuCisjIEpvc2VwIFB1aWdkZW1vbnQgPGpvc2VwLnB1aWdkZW1vbnRAZ21haWwuY29tPiwgMjAwNQorIworIyBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gZnJlZWx5IGNvcHkgYW5kIGRpc3RyaWJ1dGUKKyMgdGhpcyBmaWxlIGFuZCBtb2RpZmllZCB2ZXJzaW9ucywgcHJvdmlkZWQgdGhhdCB0aGlzCisjIGhlYWRlciBpcyBub3QgcmVtb3ZlZCBhbmQgbW9kaWZpZWQgdmVyc2lvbnMgYXJlIG1hcmtlZAorIyBhcyBzdWNoLgorIworbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdXRpbC1saW51eCAyLjEzLXByZTNcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogdXRpbC1saW51eEB2Z2VyLmtlcm5lbC5vcmdcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNy0wMi0yMiAxMjozMiswMTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAwNS0wOS0xNyAxMzo0MCswMjAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBKb3NlcCBQdWlnZGVtb250IDxqb3NlcC5wdWlnZGVtb250QGdtYWlsLmNvbT5cbiIKKyJMYW5ndWFnZS1UZWFtOiBDYXRhbGFuIDxjYUBkb2Rkcy5uZXQ+XG4iCisiTGFuZ3VhZ2U6IGNhXG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8c3RhcnQ+IDxsZW5ndGg+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTgKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIGV4aXN0ZW5jZSBvZiBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTYgZGlzay11dGlscy9ibG9ja2Rldi5jOjI3NiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDIwCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDQ2IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzNCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1NworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNyBkaXNrLXV0aWxzL2ZkaXNrLmM6NzE4IGRpc2stdXRpbHMvZmRpc2suYzo5OTQKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjMwMSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNDEKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM2MCBkaXNrLXV0aWxzL2ZzY2suYzoxNDQ4CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTU1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTAKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEzNCBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg5CisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTczIGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjEKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODggZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE5CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIxNSBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NCBkaXNrLXV0aWxzL3BhcnR4LmM6OTk0CisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDEgZGlzay11dGlscy9zZmRpc2suYzo2NDcgZGlzay11dGlscy9zZmRpc2suYzo3MDMKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzU3IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODE2IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODgwCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkyMSBkaXNrLXV0aWxzL3NmZGlzay5jOjk1MSBkaXNrLXV0aWxzL3NmZGlzay5jOjk4OAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTM3IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjAgbGliZmRpc2svc3JjL2JzZC5jOjY0MQorIzogbGliL3BhdGguYzo3MCBsaWIvcGF0aC5jOjgyIGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo4NyBsb2dpbi11dGlscy9sYXN0LmM6NjcyCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDQ2IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0ODMKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzU5CisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4MSBsb2dpbi11dGlscy92aXB3LmM6MjU4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzYKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOTcgbWlzYy11dGlscy9sb2dnZXIuYzoxMTg4IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjExNQorIzogbWlzYy11dGlscy91dWlkZC5jOjIwNyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4MyBzeXMtdXRpbHMvZG1lc2cuYzo1MjIKKyM6IHN5cy11dGlscy9lamVjdC5jOjUwMCBzeXMtdXRpbHMvZWplY3QuYzo3MDAgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM3NAorIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTI4IHN5cy11dGlscy9mc3RyaW0uYzo3MiBzeXMtdXRpbHMvaHdjbG9jay5jOjI4MgorIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjYzOCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxNjIKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI1NiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDEKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQyMiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NjkKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM4OCBzeXMtdXRpbHMvbnNlbnRlci5jOjEyOCBzeXMtdXRpbHMvcnRjd2FrZS5jOjEzNgorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyNzAgc3lzLXV0aWxzL3NldHByaXYuYzoyMzAgc3lzLXV0aWxzL3NldHByaXYuYzo1MjkKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTUyIHN5cy11dGlscy9zd2Fwb24uYzozNzEgc3lzLXV0aWxzL3N3YXBvbi5jOjUxNAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTYzIHN5cy11dGlscy91bnNoYXJlLmM6MTA2IHN5cy11dGlscy91bnNoYXJlLmM6MTIxCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjEgc3lzLXV0aWxzL3dkY3RsLmM6Mzc3IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYxOAorIzogdGVybS11dGlscy9tZXNnLmM6MTI3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDI1IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDMxCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQzMyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjUyMgorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxOTcgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMDAKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjMzMSB0ZXh0LXV0aWxzL2NvbGNydC5jOjI4MiB0ZXh0LXV0aWxzL21vcmUuYzo1MTMKKyM6IHRleHQtdXRpbHMvcmV2LmM6MTQxIHRleHQtdXRpbHMvdGFpbGYuYzo2OCB0ZXh0LXV0aWxzL3RhaWxmLmM6MTAwCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzIgorbXNnc3RyICIlcyBubyBlcyBwb3Qgb2JyaXIiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjU5IGRpc2stdXRpbHMvZGVscGFydC5jOjYwIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjk4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcGFydGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzdGFydCBhcmd1bWVudCIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjEgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbGVuZ3RoIGFyZ3VtZW50IgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGludsOgbGlkIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWRkIHBhcnRpdGlvbiIKK21zZ3N0ciAidG9ybmEgYSBsbGVnaXIgbGEgdGF1bGEgZGUgcGFydGljaW9ucyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjYzCittc2dpZCAic2V0IHJlYWQtb25seSIKK21zZ3N0ciAiZXN0YWJsZWl4IGEgbm9tw6lzIGxlY3R1cmEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3MAorbXNnaWQgInNldCByZWFkLXdyaXRlIgorbXNnc3RyICJlc3RhYmxlaXggYSBsZWN0dXJhL2VzY3JpcHR1cmEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3NgorbXNnaWQgImdldCByZWFkLW9ubHkiCittc2dzdHIgImFjb25zZWd1ZWl4IG5vbcOpcyBsZWN0dXJhIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODIKK21zZ2lkICJnZXQgZGlzY2FyZCB6ZXJvZXMgc3VwcG9ydCBzdGF0dXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjg4CisjLCBmdXp6eQorbXNnaWQgImdldCBsb2dpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgImFjb25zZWd1ZWl4IGxhIG1pZGEgZGVsIHNlY3RvciIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjk0CisjLCBmdXp6eQorbXNnaWQgImdldCBwaHlzaWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICJhY29uc2VndWVpeCBsYSBtaWRhIGRlbCBzZWN0b3IiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDAKK21zZ2lkICJnZXQgbWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTA2Cittc2dpZCAiZ2V0IG9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExMgorIywgZnV6enkKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAibWlkYSBkZSBub2RlIGQnaWRlbnRpZmljYWNpw7MgaW5jb3JyZWN0ZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExOAorIywgZnV6enkKK21zZ2lkICJnZXQgbWF4IHNlY3RvcnMgcGVyIHJlcXVlc3QiCittc2dzdHIgIlNlY3RvcnMgYWRkaWNpb25hbHMgcGVyIGNpbGluZHJlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTI0Cittc2dpZCAiZ2V0IGJsb2Nrc2l6ZSIKK21zZ3N0ciAiYWNvbnNlZ3VlaXggbGEgbWlkYSBkZWwgYmxvYyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzMQorbXNnaWQgInNldCBibG9ja3NpemUgb24gZmlsZSBkZXNjcmlwdG9yIG9wZW5pbmcgdGhlIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgImdldCAzMi1iaXQgc2VjdG9yIGNvdW50IChkZXByZWNhdGVkLCB1c2UgLS1nZXRzeikiCittc2dzdHIgImFjb25zZWd1ZWl4IGVsIGNvbXB0ZSBkZSBzZWN0b3JzIGRlIDMyIGJpdHMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNDMKK21zZ2lkICJnZXQgc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAiYWNvbnNlZ3VlaXggbGEgbWlkYSBlbiBvY3RldHMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTAKK21zZ2lkICJzZXQgcmVhZGFoZWFkIgorbXNnc3RyICJlc3RhYmxlaXggwqtyZWFkYWhlYWTCuyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1NgorbXNnaWQgImdldCByZWFkYWhlYWQiCittc2dzdHIgImFjb25zZWd1ZWl4IFwicmVhZGFoZWFkXCIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjMKKyMsIGZ1enp5Cittc2dpZCAic2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICJlc3RhYmxlaXggwqtyZWFkYWhlYWTCuyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2OQorIywgZnV6enkKK21zZ2lkICJnZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgImFjb25zZWd1ZWl4IFwicmVhZGFoZWFkXCIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzMKK21zZ2lkICJmbHVzaCBidWZmZXJzIgorbXNnc3RyICJidWlkYSBsYSBtZW3DsnJpYSB0ZW1wb3JhbCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3NworbXNnaWQgInJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInRvcm5hIGEgbGxlZ2lyIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlMSRzIC1WXG4iCisiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisiXG4iCisiQXZhaWxhYmxlIGNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlLTI1cyBnZXQgc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzXG4iCittc2dzdHIgImFjb25zZWd1ZWl4IGxhIG1pZGEgZW4gb2N0ZXRzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzExCisjLCBmdXp6eQorbXNnaWQgImNvdWxkIG5vdCBnZXQgZGV2aWNlIHNpemUiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2J0ZW5pciBsYSBtaWRhIGRlbCBkaXNjIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGNvbW1hbmQ6ICVzIgorbXNnc3RyICIlczogT3JkcmUgZGVzY29uZWd1ZGE6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICIlcyByZXF1ZXJlaXggdW4gYXJndW1lbnRcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM2OCBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZCdpb2N0bCBlbiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQuXG4iCittc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIiVzIHMnaGEgY29tcGxldGF0IGFtYiDDqHhpdC5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIHN5c2ZzIGhhbmRsZXIiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbGEgbWVtw7JyaWEgdGVtcG9yYWwuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gc3RhcnQgZnJvbSBzeXNmcyIKK21zZ3N0ciAidG9ybmEgYSBsbGVnaXIgbGEgdGF1bGEgZGUgcGFydGljaW9ucyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUk8gICAgUkEgICBTU1ogICBCU1ogICBTdGFydFNlYyAgICAgICAgICAgIFNpemUgICBEZXZpY2VcbiIKK21zZ3N0ciAiUk8gICAgUkEgICBTU1ogICBCU1ogICBTZWN0SW5pY2kgICAgTWlkYSAgICBEaXNwb3NpdGl1XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTc5Cittc2dpZCAiQm9vdGFibGUiCittc2dzdHIgIkFycmVuY2FibGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTc5Cittc2dpZCAiVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJDb21tdXRhIGVsIHNlbnlhbGFkb3IgZCdhcnJlbmNhZGEgZGUgbGEgcGFydGljacOzIGFjdHVhbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODAKK21zZ2lkICJEZWxldGUiCittc2dzdHIgIlN1cHJpbWVpeCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODAKK21zZ2lkICJEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJTdXByaW1laXggbGEgcGFydGljacOzIGFjdHVhbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODEKK21zZ2lkICJOZXciCittc2dzdHIgIk5vdmEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgxCittc2dpZCAiQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICJDcmVhIHVuYSBub3ZhIHBhcnRpY2nDsyBkZXMgZGUgbCdlc3BhaSBsbGl1cmUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgyCittc2dpZCAiUXVpdCIKK21zZ3N0ciAiU3VydCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODIKKyMsIGZ1enp5Cittc2dpZCAiUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBjaGFuZ2VzIgorbXNnc3RyICJTdXJ0IGRlbCBwcm9ncmFtYSBzZW5zZSBlc2NyaXVyZSBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MyBsaWJmZGlzay9zcmMvYnNkLmM6NDM5IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIwCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNiBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MAorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMTYKK21zZ2lkICJUeXBlIgorbXNnc3RyICJUaXB1cyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODMKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiICAgdCAgIGNhbnZpYSBsJ2lkZW50aWZpY2Fkb3IgZGVsIHNpc3RlbWEgZCd1bmEgcGFydGljacOzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NAorbXNnaWQgIkhlbHAiCittc2dzdHIgIkFqdWRhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NAorbXNnaWQgIlByaW50IGhlbHAgc2NyZWVuIgorbXNnc3RyICJNb3N0cmEgbGEgcGFudGFsbGEgZCdhanVkYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODUKK21zZ2lkICJTb3J0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1CisjLCBmdXp6eQorbXNnaWQgIkZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICIgICBmICAgYXJyZWdsYSBsJ29yZHJlIGRlIGxlcyBwYXJ0aWNpb25zIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIldyaXRlIgorbXNnc3RyICJFc2NyaXUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhKSIKK21zZ3N0ciAiRXNjcml1IGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgYWwgZGlzYyAoYWl4w7IgcG90IGRlc3RydWlyIGxlcyBkYWRlcykiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRHVtcCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworIywgZnV6enkKK21zZ2lkICJEdW1wIHBhcnRpdGlvbiB0YWJsZSB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiSW1wcmltZWl4IGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgYSBsYSBwYW50YWxsYSBvIGVuIHVuIGZpdHhlciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzo2MjAgZGlzay11dGlscy9mZGlzay5jOjQxNQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlhbG9nIHR5cGUgJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAobW91bnRlZCkiCittc2dzdHIgInVtb3VudDogJXM6IG5vIHMnaGEgdHJvYmF0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyNzQKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIG5hbWU6IgorbXNnc3RyICJOb21icmUgZGUgcGFydGljacOzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyODEKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIFVVSUQ6IgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGljaW9uczpcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjkzCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0eXBlOiIKK21zZ3N0ciAiTm9tYnJlIGRlIHBhcnRpY2nDsyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzAwCittc2dpZCAiQXR0cmlidXRlczoiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzI0CisjLCBmdXp6eQorbXNnaWQgIkZpbGVzeXN0ZW0gVVVJRDoiCittc2dzdHIgIkludHJvZHXDr3UgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVyczogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMzEKKyMsIGZ1enp5Cittc2dpZCAiRmlsZXN5c3RlbSBMQUJFTDoiCittc2dzdHIgIkludHJvZHXDr3UgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVyczogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMzcKKyMsIGZ1enp5Cittc2dpZCAiRmlsZXN5c3RlbToiCittc2dzdHIgIkludHJvZHXDr3UgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVyczogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNDIKKyMsIGZ1enp5Cittc2dpZCAiTW91bnRwb2ludDoiCittc2dzdHIgIiVzIGVzdMOgIG11bnRhdC5cdCAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzazogJXMiCittc2dzdHIgImRpc2M6ICUuKnNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTaXplOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiIgorIlxuIgorIkRpc2MgJXM6ICVsdSBjaWxpbmRyZXMsICVsdSBjYXDDp2FscywgJWx1IHNlY3RvcnMvcGlzdGFcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMsIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJVbml0YXQgZGUgZGlzYzogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzIgorbXNnc3RyICJldGlxdWV0YTogJS4qc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NDYKK21zZ2lkICJNYXkgYmUgZm9sbG93ZWQgYnkgTSBmb3IgTWlCLCBHIGZvciBHaUIsIFQgZm9yIFRpQiwgb3IgUyBmb3Igc2VjdG9ycy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODUyCisjLCBmdXp6eQorbXNnaWQgIlBsZWFzZSwgc3BlY2lmeSBzaXplLiIKK21zZ3N0ciAiTm8gcydoYSBlc3BlY2lmaWNhdCBsJ29wY2nDsyAtLWRhdGUuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWluaW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgImFjb25zZWd1ZWl4IGxhIG1pZGEgZW4gb2N0ZXRzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1heGltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICJhY29uc2VndWVpeCBsYSBtaWRhIGVuIG9jdGV0cyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODkwCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplLiIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0OAorIywgZnV6enkKK21zZ2lkICJTZWxlY3QgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIlMnaGEgc2VsZWNjaW9uYXQgbGEgcGFydGljacOzICVkXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk5NCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjQKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZTogIgorbXNnc3RyICIlczogbm8gcydoYSBwb2d1dCB0cm9iYXIgZWwgZGlzcG9zaXRpdSBwZXIgYSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5OTUKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHNjcmlwdCBmaWxlIHdpbGwgYmUgYXBwbGllZCB0byBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiTm8gcG9kcmV1IGVzY3JpdXJlIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwNCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNDYKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2NSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJObyBlcyBwb3Qgb2JyaXIgJXNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDA2IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBpb2N0bCgpIHBlciBsbGVnaXIgbCdob3JhIGRlICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMDggZGlzay11dGlscy9mZGlzay1tZW51LmM6NDY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0ICVzIgorbXNnc3RyICJubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBpb2N0bCgpIHBlciBsbGVnaXIgbCdob3JhIGRlICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjUKK21zZ2lkICJUaGUgY3VycmVudCBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlIHdpbGwgYmUgZHVtcGVkIHRvIHRoZSBmaWxlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzMgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDkxCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBsYSBtZW3DsnJpYSB0ZW1wb3JhbC5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDM5CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byByZWFkIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0LiIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBsYSBtZW3DsnJpYSB0ZW1wb3JhbC5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDUzCittc2dpZCAiRGlzayBsYXlvdXQgc3VjY2Vzc2Z1bGx5IGR1bXBlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDU2IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIHNjcmlwdCAlcyIKK21zZ3N0ciAibm8gaGEgZXN0YXQgcG9zc2libGUgZXhlY3V0YXIgaW9jdGwoKSBwZXIgbGxlZ2lyIGwnaG9yYSBkZSAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDkyCisjLCBmdXp6eQorbXNnaWQgIlNlbGVjdCBsYWJlbCB0eXBlIgorbXNnc3RyICJUaXB1cyBubyBwZXJtw6hzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA5NSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxNworIywgZnV6enkKK21zZ2lkICJEZXZpY2UgZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiRWwgZGlzYyAlcyBubyBjb250w6kgdW5hIHRhdWxhIGRlIHBhcnRpY2lvbnMgdsOgbGlkYVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMDEKK21zZ2lkICJTZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBsYWJlbCBvciBwcmVzcyAnTCcgdG8gbG9hZCBzY3JpcHQgZmlsZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ2CisjLCBmdXp6eQorbXNnaWQgIlRoaXMgaXMgY2ZkaXNrLCBhIGN1cnNlcy1iYXNlZCBkaXNrIHBhcnRpdGlvbmluZyBwcm9ncmFtLiIKK21zZ3N0ciAiQWl4w7Igw6lzIGVsIGNmZGlzaywgdW4gcHJvZ3JhbWEgcGVyIGEgbGEgcGFydGljacOzIGRlIGRpc2NzIGJhc2F0IGVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDcKKyMsIGZ1enp5Cittc2dpZCAiSXQgbGV0cyB5b3UgY3JlYXRlLCBkZWxldGUsIGFuZCBtb2RpZnkgcGFydGl0aW9ucyBvbiBhIGJsb2NrIGRldmljZS4iCittc2dzdHIgImN1cnNlcywgcXVlIHVzIHBlcm1ldCBjcmVhciwgc3VwcmltaXIgaSBtb2RpZmljYXIgcGFydGljaW9ucyBkZWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE0OQorbXNnaWQgIkNvbW1hbmQgICAgICBNZWFuaW5nIgorbXNnc3RyICJPcmRyZSAgICAgICBTaWduaWZpY2F0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTAKK21zZ2lkICItLS0tLS0tICAgICAgLS0tLS0tLSIKK21zZ3N0ciAiLS0tLS0gICAgICAgLS0tLS0tLS0tLSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUxCittc2dpZCAiICBiICAgICAgICAgIFRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBiICAgICAgICAgIEZpeGEgZWwgc2VueWFsYWRvciBkJ2FycmVuY2FkYSBhIGxhIHBhcnRpY2nDsyBhY3R1YWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MgorbXNnaWQgIiAgZCAgICAgICAgICBEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGQgICAgICAgICAgU3VwcmltZWl4IGwnYWN0dWFsIHBhcnRpY2nDsyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUzCittc2dpZCAiICBoICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorbXNnc3RyICIgIGggICAgICAgICAgSW1wcmltZWl4IGFxdWVzdGEgcGFudGFsbGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NAorbXNnaWQgIiAgbiAgICAgICAgICBDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIiAgbiAgICAgICAgICBDcmVhIHVuYSBub3ZhIHBhcnRpY2nDsyBkZXMgZGUgbCdlc3BhaSBsbGl1cmUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NQorbXNnaWQgIiAgcSAgICAgICAgICBRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICBxICAgICAgICAgIFN1cnQgZGVsIHByb2dyYW1hIHNlbnNlIGVzY3JpdXJlIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NgorIywgZnV6enkKK21zZ2lkICIgIHMgICAgICAgICAgRml4IHBhcnRpdGlvbnMgb3JkZXIgKG9ubHkgd2hlbiBpbiBkaXNhcnJheSkiCittc2dzdHIgIiAgICAgICAgICAgICAgcGFyw6BtZXRyZXNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU3CisjLCBmdXp6eQorbXNnaWQgIiAgdCAgICAgICAgICBDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgIHQgICAgICAgICAgQ2FudmlhIGVsIHRpcHVzIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1OAorbXNnaWQgIiAgdSAgICAgICAgICBEdW1wIGRpc2sgbGF5b3V0IHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1OQorIywgZnV6enkKK21zZ2lkICIgIFcgICAgICAgICAgV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHlvdSBtdXN0IGVudGVyIHVwcGVyY2FzZSBXKTsiCittc2dzdHIgIiAgVyAgICAgICAgICBFc2NyaXUgbGEgdGF1bGEgZGUgcGFydGljaW9ucyBhbCBkaXNjIChXIGVuIG1hasO6c2N1bGEpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAgICAgICAgICAgc2luY2UgdGhpcyBtaWdodCBkZXN0cm95IGRhdGEgb24gdGhlIGRpc2ssIHlvdSBtdXN0IGVpdGhlciIKK21zZ3N0ciAiICAgICAgICAgICAgIENvbSBxdWUgYWl4w7IgZGVzdHJ1aXLDoCBsZXMgZGFkZXMgZGVsIGRpc2MsIGhvIGhhdXJldSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgICAgIGNvbmZpcm0gb3IgZGVueSB0aGUgd3JpdGUgYnkgZW50ZXJpbmcgJ3llcycgb3IgJ25vJyIKK21zZ3N0ciAiICAgICAgICAgICAgIGRlIGNvbmZpcm1hciBvIGRlbmVnYXIgZXNjcml2aW50IMKrc8OtwrsgbyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYyCisjLCBmdXp6eQorbXNnaWQgIiAgeCAgICAgICAgICBEaXNwbGF5L2hpZGUgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjMKK21zZ2lkICJVcCBBcnJvdyAgICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIHBhcnRpdGlvbiIKK21zZ3N0ciAiRmxldHhhIGFtdW50IERlc3BsYcOnYSBlbCBjdXJzb3IgYSBsJ2FudGVyaW9yIHBhcnRpY2nDsyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY0Cittc2dpZCAiRG93biBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IHBhcnRpdGlvbiIKK21zZ3N0ciAiRmxldHhhIGF2YWxsIERlc3BsYcOnYSBlbCBjdXJzb3IgYSBsYSBzZWfDvGVudCBwYXJ0aWNpw7MiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2NQorIywgZnV6enkKK21zZ2lkICJMZWZ0IEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIG1lbnUgaXRlbSIKK21zZ3N0ciAiRmxldHhhIGFtdW50IERlc3BsYcOnYSBlbCBjdXJzb3IgYSBsJ2FudGVyaW9yIHBhcnRpY2nDsyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY2CisjLCBmdXp6eQorbXNnaWQgIlJpZ2h0IEFycm93ICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBtZW51IGl0ZW0iCittc2dzdHIgIkZsZXR4YSBhdmFsbCBEZXNwbGHDp2EgZWwgY3Vyc29yIGEgbGEgc2Vnw7xlbnQgcGFydGljacOzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjgKK21zZ2lkICJOb3RlOiBBbGwgb2YgdGhlIGNvbW1hbmRzIGNhbiBiZSBlbnRlcmVkIHdpdGggZWl0aGVyIHVwcGVyIG9yIGxvd2VyIgorbXNnc3RyICJOb3RhOiBUb3RlcyBsZXMgb3JkcmVzIGVzIHBvZGVuIGVzY3JpdXJlIGVuIG1hasO6c2N1bGVzIG8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2OQorIywgZnV6enkKK21zZ2lkICJjYXNlIGxldHRlcnMgKGV4Y2VwdCBmb3IgV3JpdGUpLiIKK21zZ3N0ciAibWluw7pzY3VsZXMgKGV4Y2VwdGUgVyBwZXIgYSBlc2NyaXVyZSkuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzEKK21zZ2lkICJVc2UgbHNibGsoOCkgb3IgcGFydHgoOCkgdG8gc2VlIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgZGV2aWNlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzggZGlzay11dGlscy9jZmRpc2suYzoyNDM3CisjLCBmdXp6eQorbXNnaWQgIlByZXNzIGEga2V5IHRvIGNvbnRpbnVlLiIKK21zZ3N0ciAiUHJlbWV1IHVuYSB0ZWNsYSBwZXIgYSBjb250aW51YXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI2MAorIywgZnV6enkKK21zZ2lkICJDb3VsZCBub3QgdG9nZ2xlIHRoZSBmbGFnLiIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBvYnJpciAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIlMnaGEgc2VsZWNjaW9uYXQgbGEgcGFydGljacOzICVkXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI3MiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaGFzIGJlZW4gZGVsZXRlZC4iCittc2dzdHIgIkxhIHBhcnRpY2nDsyAlZCBubyB0w6kgY2FwIMOgcmVhIGRlIGRhZGVzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI5MworIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gc2l6ZTogIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGljaW9uczpcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIlMnaGEgY2FudmlhdCBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBsYSBwYXJ0aWNpw7MgJWQgcGVyICV4ICglcylcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgdHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIlMnaGEgY2FudmlhdCBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBsYSBwYXJ0aWNpw7MgJWQgcGVyICV4ICglcylcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzUzIGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ2NiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTkxCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzAKK21zZ2lkICJEZXZpY2UgaXMgb3BlbiBpbiByZWFkLW9ubHkgbW9kZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzU4CisjLCBmdXp6eQorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAiRXN0ZXUgc2VndXIgcXVlIHZvbGV1IGVzY3JpdXJlIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgYWwgZGlzYz8gKHPDrSBvIG5vKTogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjAKK21zZ2lkICJUeXBlIFwieWVzXCIgb3IgXCJub1wiLCBvciBwcmVzcyBFU0MgdG8gbGVhdmUgdGhpcyBkaWFsb2cuIgorbXNnc3RyICIiCisKKyMgRklYTUU6IMOpcyBwb3NzaWJsZSBxdWUgbm8gZXMgcHVnYSBpbnRyb2R1aXIgbCdhY2NlbnQuIGptCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjUgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDkgc3lzLXV0aWxzL2xzY3B1LmM6MTU0MAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTU1MAorbXNnaWQgInllcyIKK21zZ3N0ciAic8OtIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjYKKyMsIGZ1enp5Cittc2dpZCAiRGlkIG5vdCB3cml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4iCittc2dzdHIgIk5vIHMnaGEgZXNjcml0IGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgYWwgZGlzYyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzcxCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwuIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNlcmNhciBhIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzc0IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU3OAorIywgZnV6enkKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICIiCisiUydoYSBtb2RpZmljYXQgbGEgdGF1bGEgZGUgcGFydGljaW9ucy5cbiIKKyJcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzk3IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ2OAorIywgZnV6enkKK21zZ2lkICJOb3RlIHRoYXQgcGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyIG5vdy4iCittc2dzdHIgIiIKKyJcbiIKKyJMZXMgZW50cmFkZXMgYSBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIG5vIGVzdGFuIGVuIGwnb3JkcmUgZGVsIGRpc2NcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlOyBpdCB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIG5ldyBkaXNrbGFiZWwiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIGEgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9ucyIKK21zZ3N0ciAidG9ybmEgYSBsbGVnaXIgbGEgdGF1bGEgZGUgcGFydGljaW9ucyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJTEkcyBbb3B0aW9uc10gPGRpc2s+XG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTQ5IGRpc2stdXRpbHMvZmRpc2suYzo3MzYgZGlzay11dGlscy9zZmRpc2suYzoxODEwCisjLCBmdXp6eQorbXNnaWQgIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSBhIGRpc2sgcGFydGl0aW9uIHRhYmxlLlxuIgorbXNnc3RyICJ0b3JuYSBhIGxsZWdpciBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NTIKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU1NQorIywgZnV6enkKK21zZ2lkICIgLXosIC0temVybyAgICAgICAgICAgICAgIHN0YXJ0IHdpdGggemVyb2VkIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTk0IGRpc2stdXRpbHMvZmRpc2suYzo4ODIgZGlzay11dGlscy9zZmRpc2suYzoyMDc3CisjOiBtaXNjLXV0aWxzL2NhbC5jOjM5MCBzeXMtdXRpbHMvZG1lc2cuYzoxMzMzIHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNAorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb2xvciBtb2RlIgorbXNnc3RyICJjYXAgb3JkcmU/XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYxMiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjIzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIGxhIG1lbcOycmlhIHRlbXBvcmFsLlxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+XG4iCittc2dzdHIgImZvcm1hIGQnw7pzOiBzZmRpc2sgLS1pZCBkaXNwb3NpdGl1IHBhcnRpY2nDs19uw7ptZXJvIFtJZF1cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTgKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgdG8gZm9yZ2V0IGFib3V0IGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlIHBhcnRpdGlvbiIKK21zZ3N0ciAidG9ybmEgYSBsbGVnaXIgbGEgdGF1bGEgZGUgcGFydGljaW9ucyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcm1hdHRpbmcgLi4uICIKK21zZ3N0ciAiUydlc3TDoCBmb3JtYXRhbnQuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NjggZGlzay11dGlscy9mZGZvcm1hdC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJkb25lXG4iCittc2dzdHIgImZldFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmVyaWZ5aW5nIC4uLiAiCittc2dzdHIgIlMnZXN0w6AgdmVyaWZpY2FudC4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMDgKK21zZ2lkICJSZWFkOiAiCittc2dzdHIgIkxlY3R1cmE6ICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjExMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUHJvYmxlbSByZWFkaW5nIHRyYWNrL2hlYWQgJXUvJXUsIGV4cGVjdGVkICVkLCByZWFkICVkXG4iCittc2dzdHIgIkhpIGhhIHVuIHByb2JsZW1hIGVuIGxsZWdpciBlbCBjaWxpbmRyZSAlZCwgcydlc3BlcmF2YSAlZCBpIHMnaGEgbGxlZ2l0ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJiYWQgZGF0YSBpbiB0cmFjay9oZWFkICV1LyV1XG4iCisiQ29udGludWluZyAuLi4gIgorbXNnc3RyICIiCisiZGFkZXMgaW5jb3JyZWN0ZXMgYWwgY2lsaW5kcmUgJWRcbiIKKyJTJ2VzdMOgIGNvbnRpbnVhbnQuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4MgorIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMTcgbWlzYy11dGlscy93aXBlZnMuYzo0NTYgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4NAorIzogc3lzLXV0aWxzL3R1bmVscC5jOjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0OAorbXNnaWQgIkRvIGEgbG93LWxldmVsIGZvcm1hdHRpbmcgb2YgYSBmbG9wcHkgZGlzay5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUxCittc2dpZCAiIC1mLCAtLWZyb20gPE4+ICAgIHN0YXJ0IGF0IHRoZSB0cmFjayBOIChkZWZhdWx0IDApXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MgorbXNnaWQgIiAtdCwgLS10byA8Tj4gICAgICBzdG9wIGF0IHRoZSB0cmFjayBOXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MworbXNnaWQgIiIKKyIgLXIsIC0tcmVwYWlyIDxOPiAgdHJ5IHRvIHJlcGFpciB0cmFja3MgZmFpbGVkIGR1cmluZ1xuIgorIiAgICAgICAgICAgICAgICAgICAgIHRoZSB2ZXJpZmljYXRpb24gKG1heCBOIHJldHJpZXMpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1NQorbXNnaWQgIiAtbiwgLS1uby12ZXJpZnkgICBkaXNhYmxlIHRoZSB2ZXJpZmljYXRpb24gYWZ0ZXIgdGhlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIGZyb20iCittc2dzdHIgImlkIGludsOgbGlkIDogJXNcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5OAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gdG8iCittc2dzdHIgImlkIGludsOgbGlkIDogJXNcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIwMQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gcmVwYWlyIgorbXNnc3RyICJpZCBpbnbDoGxpZCA6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1MQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4NSBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzM4CisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzQ4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODUKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxNiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0MSBkaXNrLXV0aWxzL3BhcnR4LmM6OTMzCisjOiBsb2dpbi11dGlscy9sYXN0LmM6Njg2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM5IG1pc2MtdXRpbHMvbmFtZWkuYzoxMzUKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjMgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODYgc3lzLXV0aWxzL2RtZXNnLmM6NTI0CisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTk4IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzMSBzeXMtdXRpbHMvZnN0cmltLmM6NzcKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1MTkgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6OTMKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjEzMyB0ZXJtLXV0aWxzL21lc2cuYzoxMjkgdGV4dC11dGlscy9tb3JlLmM6NTA0CisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTAzIHRleHQtdXRpbHMvdGFpbGYuYzoyODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInN0YXQgb2YgJXMgZmFpbGVkIgorbXNnc3RyICIoRml0eGVyIHNlZ8O8ZW50OiAlcykiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjQgZGlzay11dGlscy9wYXJ0eC5jOjk5MSBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ4NQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODggc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBubyDDqXMgdW4gZGlzcG9zaXRpdSBkZSBibG9jXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjkKKyMsIGZ1enp5Cittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICJObyBlcyBwb3QgZGV0ZXJtaW5hciBsJ2FjdHVhbCB0aXB1cyBkZSBmb3JtYXQiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMtc2lkZWQsICVkIHRyYWNrcywgJWQgc2VjL3RyYWNrLiBUb3RhbCBjYXBhY2l0eSAlZCBrQi5cbiIKK21zZ3N0ciAiQ2FyYSAlcywgJWQgcGlzdGVzLCAlZCBzZWdvbnMvcGlzdGEuIENhcGFjaXRhdCB0b3RhbCAlZCBrQi5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMgorbXNnaWQgIkRvdWJsZSIKK21zZ3N0ciAiRG9ibGUiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzIKK21zZ2lkICJTaW5nbGUiCittc2dzdHIgIlNpbXBsZSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzOQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQxCittc2dpZCAidXNlciBkZWZpbmVkIGVuZCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQzCittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIHVzZXIgZGVmaW5lZCBlbmQgdHJhY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI1MSBtaXNjLXV0aWxzL2xvZ2dlci5jOjk4NworIywgZnV6enkKK21zZ2lkICJjbG9zZSBmYWlsZWQiCittc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk1IGRpc2stdXRpbHMvZmRpc2suYzoxMTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gcXVpdD8gIgorbXNnc3RyICJFc3RldSBzZWd1ciBkZSB2b2xlciBjb250aW51YXI/IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3QgKGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICgldS0ldSwgdmFsb3IgcGVyIGRlZmVjdGUgJXUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIGRlZmF1bHQgcmVzcG9uc2UgJWMuIgorbXNnc3RyICJTJ2VzdMOgIHV0aWxpdHphbnQgZWwgdmFsb3IgcGVyIGRlZmVjdGUgJXVcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjE3NiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjUwIGRpc2stdXRpbHMvZmRpc2suYzozMjUKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTg5IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjc3CisjLCBmdXp6eQorbXNnaWQgIlZhbHVlIG91dCBvZiByYW5nZS4iCittc2dzdHIgIkVsIHZhbG9yIGVzdMOgIGZvcmEgZGVsIHJhbmcuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCV1LSV1LCB2YWxvciBwZXIgZGVmZWN0ZSAldSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwOCBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJXUtJXUsIHZhbG9yIHBlciBkZWZlY3RlICV1KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICgldS0ldSwgdmFsb3IgcGVyIGRlZmVjdGUgJXUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMTcgZGlzay11dGlscy9mZGlzay5jOjI3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJXUtJXUsIHZhbG9yIHBlciBkZWZlY3RlICV1KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMpOiAiCittc2dzdHIgIiVzICglcylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMyBkaXNrLXV0aWxzL2ZkaXNrLmM6MjgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MzkyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk3Cittc2dpZCAiIFtZXWVzL1tOXW86ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDMzCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0eXBlICh0eXBlIEwgdG8gbGlzdCBhbGwgdHlwZXMpOiAiCittc2dzdHIgIkNvZGkgaGV4LiAoZXNjcml2aXUgTCBwZXIgdmV1cmUgbGEgbGxpc3RhIGRlIGNvZGlzKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDM0CisjLCBmdXp6eQorbXNnaWQgIkhleCBjb2RlICh0eXBlIEwgdG8gbGlzdCBhbGwgY29kZXMpOiAiCittc2dzdHIgIkNvZGkgaGV4LiAoZXNjcml2aXUgTCBwZXIgdmV1cmUgbGEgbGxpc3RhIGRlIGNvZGlzKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTM2CisjLCBmdXp6eQorbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgc2V0IChERVBSRUNBVEVEISkiCittc2dzdHIgIlMnaGEgZXN0YWJsZXJ0IGVsIHNlbnlhbGFkb3IgZGUgY29tcGF0aWJpbGl0YXQgYW1iIERPU1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTM3CisjLCBmdXp6eQorbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgbm90IHNldCIKK21zZ3N0ciAiTm8gcydoYSBlc3RhYmxlcnQgZWwgc2VueWFsYWRvciBkZSBjb21wYXRpYmlsaXRhdCBhbWIgRE9TXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NTggZGlzay11dGlscy9mZGlzay5jOjU5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBleGlzdCB5ZXQhIgorbXNnc3RyICJMYSBwYXJ0aWNpw7MgJWQgZW5jYXJhIG5vIGV4aXN0ZWl4LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTYzIGRpc2stdXRpbHMvZmRpc2suYzo1NzIgbGliZmRpc2svc3JjL2Fzay5jOjk5NQorbXNnaWQgIlVua25vd24iCittc2dzdHIgIkRlc2NvbmVndXQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJyVzJyB0byAnJXMnLiIKK21zZ3N0ciAiUydoYSBjYW52aWF0IGVsIHRpcHVzIGRlbCBzaXN0ZW1hIGRlIGxhIHBhcnRpY2nDsyAlZCBwZXIgJXggKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUeXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkOiAlcy4iCittc2dzdHIgIlMnaGEgY2FudmlhdCBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBsYSBwYXJ0aWNpw7MgJWQgcGVyICV4ICglcylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJTE1czogJXMiCittc2dzdHIgImRpc2M6ICUuKnNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXM6IG9mZnNldCA9ICU8UFJJdTY0Piwgc2l6ZSA9ICV6dSBieXRlcy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY3NworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2VlayIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBiaWZ1cmNhciIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY4MgorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgcmVhZCIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgbGxlZ2lyICVzLlxuIgorCisjIFBhcmxhIGQnZXRpcXVldGVzLCBzZWd1cmFtZW50IMOpcyBmZW1lbsOtCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Njk1IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTkgbGliZmRpc2svc3JjL2Rvcy5jOjkzMworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMTAKKyMsIGZ1enp5Cittc2dpZCAiRmlyc3Qgc2VjdG9yIgorbXNnc3RyICJQcmltZXJhICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcyIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBleGVjdXRhciBpb2N0bCBCTEtHRVRTSVpFIGEgJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICAgIGNoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyIgJTEkcyBbb3B0aW9uc10gLWwgWzxkaXNrPl0gbGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzM5CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8c2l6ZT4gICAgICBwaHlzaWNhbCBhbmQgbG9naWNhbCBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MAorbXNnaWQgIiAtQiwgLS1wcm90ZWN0LWJvb3QgICAgICAgICAgICBkb24ndCBlcmFzZSBib290Yml0cyB3aGVuIGNyZWF0aW5nIGEgbmV3IGxhYmVsXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MQorbXNnaWQgIiAtYywgLS1jb21wYXRpYmlsaXR5Wz08bW9kZT5dICBtb2RlIGlzICdkb3MnIG9yICdub25kb3MnIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDIKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0NQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBwYXJ0aXRpb25zIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDYKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1jYWRlbmFfb3BjaW9ucyBPcGNpb25zIGN1cnRlcyBhIHJlY29uw6hpeGVyXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDcKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgICAgICAgICAgIHJlY29nbml6ZSBzcGVjaWZpZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUgb25seVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0OAorbXNnaWQgIiAtdSwgLS11bml0c1s9PHVuaXQ+XSAgICAgICAgICBkaXNwbGF5IHVuaXRzOiAnY3lsaW5kZXJzJyBvciAnc2VjdG9ycycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0OQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgZGlzcGxheSBkZXZpY2Ugc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzIFtERVBSRUNBVEVEXVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzUwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1MQorIywgZnV6enkKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzUyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MworIywgZnV6enkKK21zZ2lkICIgLVcsIC0td2lwZS1wYXJ0aXRpb25zIDxtb2RlPiAgd2lwZSBzaWduYXR1cmVzIGZyb20gbmV3IHBhcnRpdGlvbnMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTUKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWN5bGluZGVycyA8bnVtYmVyPiAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBjeWxpbmRlcnNcbiIKK21zZ3N0ciAiSW50cm9kdcOvdSBlbCBub21icmUgZGUgY2lsaW5kcmVzOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTYKKyMsIGZ1enp5Cittc2dpZCAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBoZWFkc1xuIgorbXNnc3RyICIgICAgLUgjIFtvIC0taGVhZHMgI106ICAgICBFc3RhYmxlaXggZWwgbm9tYnJlIGRlIGNhcMOnYWxzIHF1ZSBzJ3VzYXJhbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1NworIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2VjdG9ycyA8bnVtYmVyPiAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrXG4iCittc2dzdHIgIkludHJvZHXDr3UgZWwgbm9tYnJlIGRlIHNlY3RvcnMgcGVyIHBpc3RhOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzZWN0b3Igc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg0MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGN5bGluZGVycyBhcmd1bWVudCIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg1MgorIywgZnV6enkKK21zZ2lkICJub3QgZm91bmQgRE9TIGxhYmVsIGRyaXZlciIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgdHJvYmFyIGVsIGRpc3Bvc2l0aXUgcGVyIGEgJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb21wYXRpYmlsaXR5IG1vZGUgJyVzJyIKK21zZ3N0ciAiTm8gaGkgaGEgY2FwIGRpcmVjdG9yaSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODY3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgaGVhZHMgYXJndW1lbnQiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NzMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzZWN0b3JzIGFyZ3VtZW50IgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGludsOgbGlkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNrbGFiZWw6ICVzIgorbXNnc3RyICIlczogYXJndW1lbnQgZGVzY29uZWd1dDogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkxNiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTIxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0MQorIzogZGlzay11dGlscy9zZmRpc2suYzoyMDQ2CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIHdpcGUgbW9kZSIKK21zZ3N0ciAiY2FwIG9yZHJlP1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTM0CisjLCBmdXp6eQorbXNnaWQgIlRoZSBkZXZpY2UgcHJvcGVydGllcyAoc2VjdG9yIHNpemUgYW5kIGdlb21ldHJ5KSBzaG91bGQgYmUgdXNlZCB3aXRoIG9uZSBzcGVjaWZpZWQgZGV2aWNlIG9ubHkuIgorbXNnc3RyICJBdsOtczogbCdvcGNpw7MgLWIgKGVzdGFibGVpeCBsYSBtaWRhIGRlbCBzZWN0b3IpIHMnaGEgZCd1c2FyIGFtYiB1biBkaXNwb3NpdGl1IGVzcGVjw61maWNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk4MgorIywgYy1mb3JtYXQKK21zZ2lkICJXZWxjb21lIHRvIGZkaXNrICglcykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5ODQgZGlzay11dGlscy9zZmRpc2suYzoxNTg4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisiQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKyJTJ2VzdMOgIGNvbnN0cnVpbnQgdW5hIG5vdmEgZXRpcXVldGEgZGUgZGlzYyBzdW4uIEVscyBjYW52aXMgbm9tw6lzIHJvbWFuZHJhblxuIgorImEgbGEgbWVtw7JyaWEgZmlucyBxdWUgZGVjaWRpdSBlc2NyaXVyZSdscy4gRGVzcHLDqXMgZCdhaXjDsiwgbCdhbnRlcmlvclxuIgorImNvbnRpbmd1dCBzZXLDoCBpcnJlY3VwZXJhYmxlLlxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAwMSBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICVzIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDEwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU0MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0ODQKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyMgorbXNnaWQgIlRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMTMgZGlzay11dGlscy9zZmRpc2suYzoxNjI1Cittc2dpZCAiSXQgaXMgc3Ryb25nbHkgcmVjb21tZW5kZWQgdG8gd2lwZSB0aGUgZGV2aWNlIHdpdGggd2lwZWZzKDgpLCBpbiBvcmRlciB0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAyMgorbXNnaWQgIkEgaHlicmlkIEdQVCB3YXMgZGV0ZWN0ZWQuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIGh5YnJpZCBNQlIgbWFudWFsbHkgKGV4cGVydCBjb21tYW5kICdNJykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiIgorIlxuIgorIkRpc2MgJXM6ICVsdSBjaWxpbmRyZXMsICVsdSBjYXDDp2FscywgJWx1IHNlY3RvcnMvcGlzdGFcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdlb21ldHJ5OiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzL3RyYWNrLCAlbGx1IGN5bGluZGVycyIKK21zZ3N0ciAiJWQgY2Fww6dhbHMsICVkIHNlY3RvcnMvcGlzdGEsICVkIGNpbGluZHJlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NTkgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbml0czogJXMgb2YgJWQgKiAlbGQgPSAlbGQgYnl0ZXMiCittc2dzdHIgIiIKKyJVbml0YXRzID0gJXMgZGUgJWQgKiAlZCA9ICVkIG9jdGV0c1xuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2NSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25tZW50IG9mZnNldDogJWx1IGJ5dGVzIgorbXNnc3RyICJtaWRhIGRlIG5vZGUgZCdpZGVudGlmaWNhY2nDsyBpbmNvcnJlY3RlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHR5cGU6ICVzIgorbXNnc3RyICJVbml0YXQgZGUgZGlzYzogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIlVuaXRhdCBkZSBkaXNjOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTA5IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxOQorIzogZGlzay11dGlscy9mc2NrLmM6MTI0NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbGEgbWVtw7JyaWEgdGVtcG9yYWwuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjExNSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBsYSBtZW3DsnJpYSB0ZW1wb3JhbC5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTU2IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI0OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbGEgbWVtw7JyaWEgdGVtcG9yYWwuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBzdGFydCBvbiBwaHlzaWNhbCBzZWN0b3IgYm91bmRhcnkuIgorbXNnc3RyICJMYSBwYXJ0aWNpw7MgJWkgbm8gY29tZW7Dp2EgZW4gZWwgbMOtbWl0IGRlbCBjaWxpbmRyZTpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTkyCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4iCittc2dzdHIgIiIKKyJcbiIKKyJMZXMgZW50cmFkZXMgYSBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIG5vIGVzdGFuIGVuIGwnb3JkcmUgZGVsIGRpc2NcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE1IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAwCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxMiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NCBsaWJmZGlzay9zcmMvc3VuLmM6MTExMAorIywgZnV6enkKK21zZ2lkICJTdGFydCIKK21zZ3N0ciAiaW5pY2kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMQorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTMgbGliZmRpc2svc3JjL3NnaS5jOjExNTUgbGliZmRpc2svc3JjL3N1bi5jOjExMTEKK21zZ2lkICJFbmQiCittc2dzdHIgIkZpbmFsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTcgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDIKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE0IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU2IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTEyCittc2dpZCAiU2VjdG9ycyIKK21zZ3N0ciAiU2VjdG9ycyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE5IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzA0CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1OCBsaWJmZGlzay9zcmMvc3VuLmM6MTExNAorbXNnaWQgIlNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbnBhcnRpdGlvbmVkIHNwYWNlICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiIgorIlxuIgorIkRpc2MgJXM6ICVsdSBjaWxpbmRyZXMsICVsdSBjYXDDp2FscywgJWx1IHNlY3RvcnMvcGlzdGFcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtbyk6XG4iCittc2dzdHIgIk9yZHJlcyBkaXNwb25pYmxlczpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgIiVzOiBPcmRyZSBkZXNjb25lZ3VkYTogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTUKK21zZ2lkICJHZW5lcmljIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk2CisjLCBmdXp6eQorbXNnaWQgImRlbGV0ZSBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgZCAgIHN1cHJpbWVpeCB1bmEgcGFydGljacOzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NworIywgZnV6enkKK21zZ2lkICJsaXN0IGZyZWUgdW5wYXJ0aXRpb25lZCBzcGFjZSIKK21zZ3N0ciAiICAgZSAgIGxsaXN0YSBsZXMgcGFydGljaW9ucyBlc3Rlc2VzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OAorIywgZnV6enkKK21zZ2lkICJsaXN0IGtub3duIHBhcnRpdGlvbiB0eXBlcyIKK21zZ3N0ciAiICAgbCAgIGxsaXN0YSBlbHMgdGlwdXMgZGUgcGFydGljaW9ucyBjb25lZ3VkZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5CisjLCBmdXp6eQorbXNnaWQgImFkZCBhIG5ldyBwYXJ0aXRpb24iCittc2dzdHIgIiAgIG4gICBhZmVnZWl4IHVuYSBub3ZhIHBhcnRpY2nDsyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAwCisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIkltcHJpbWVpeCBub23DqXMgbGEgdGF1bGEgZGUgcGFydGljaW9ucyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAxCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBhIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgICB0ICAgY2FudmlhIGwnaWRlbnRpZmljYWRvciBkZWwgc2lzdGVtYSBkJ3VuYSBwYXJ0aWNpw7MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMgorIywgZnV6enkKK21zZ2lkICJ2ZXJpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgdiAgIHZlcmlmaWNhIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMworIywgZnV6enkKK21zZ2lkICJwcmludCBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiJXM6IG5vIMOpcyB1biBkaXNwb3NpdGl1IGRlIGJsb2NcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1CisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAiICAgZCAgIGltcHJpbWVpeCBsZXMgZGFkZXMgY3J1ZXMgYSBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDYKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBkaXNrbGFiZWwgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICIgICBkICAgaW1wcmltZWl4IGxlcyBkYWRlcyBjcnVlcyBhIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNworIywgZnV6enkKK21zZ2lkICJmaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAiICAgZiAgIGFycmVnbGEgbCdvcmRyZSBkZSBsZXMgcGFydGljaW9ucyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA5Cittc2dpZCAiTWlzYyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTAKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgdGhpcyBtZW51IgorbXNnc3RyICIgICBtICAgaW1wcmltZWl4IGFxdWVzdCBtZW7DuiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTExCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXNwbGF5L2VudHJ5IHVuaXRzIgorbXNnc3RyICIgICB1ICAgY2FudmlhIGxlcyB1bml0YXRzIGRlIHZpc3VhbGl0emFjacOzL2VudHJhZGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMgorIywgZnV6enkKK21zZ2lkICJleHRyYSBmdW5jdGlvbmFsaXR5IChleHBlcnRzIG9ubHkpIgorbXNnc3RyICIgICB4ICAgZnVuY2lvbnMgYWRkaWNpb25hbHMgKG5vbcOpcyBleHBlcnRzKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE0Cittc2dpZCAiU2NyaXB0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNQorbXNnaWQgImxvYWQgZGlzayBsYXlvdXQgZnJvbSBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE2Cittc2dpZCAiZHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE4Cittc2dpZCAiU2F2ZSAmIEV4aXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE5CisjLCBmdXp6eQorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXQiCittc2dzdHIgIiAgIHcgICBlc2NyaXUgbGEgdGF1bGEgYWwgZGlzYyBpIHN1cnQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMAorIywgZnV6enkKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIgorbXNnc3RyICIgICB3ICAgZXNjcml1IGwnZXRpcXVldGEgZGUgZGlzYyBhbCBkaXNjIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjEKKyMsIGZ1enp5Cittc2dpZCAicXVpdCB3aXRob3V0IHNhdmluZyBjaGFuZ2VzIgorbXNnc3RyICIgICBxICAgc3VydCBzZW5zZSBkZXNhciBlbHMgY2FudmlzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAicmV0dXJuIHRvIG1haW4gbWVudSIKK21zZ3N0ciAiICAgciAgIHRvcm5hIGFsIG1lbsO6IHByaW5jaXBhbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTI0Cittc2dpZCAicmV0dXJuIGZyb20gQlNEIHRvIERPUyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzUKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlIGEgbmV3IGxhYmVsIgorbXNnc3RyICIgICBzICAgY3JlYSB1bmEgZXRpcXVldGEgZGUgZGlzYyBTdW4gbm92YSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM2CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBHUFQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgICBvICAgY3JlYSB1bmEgbm92YSB0YXVsYSBkZSBwYXJ0aWNpb25zIERPUyBidWlkYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTR0kgKElSSVgpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgbyAgIGNyZWEgdW5hIG5vdmEgdGF1bGEgZGUgcGFydGljaW9ucyBET1MgYnVpZGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOAorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgbyAgIGNyZWEgdW5hIG5vdmEgdGF1bGEgZGUgcGFydGljaW9ucyBET1MgYnVpZGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOQorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU3VuIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgbyAgIGNyZWEgdW5hIG5vdmEgdGF1bGEgZGUgcGFydGljaW9ucyBET1MgYnVpZGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0MworIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYW4gSVJJWCAoU0dJKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIGcgICBjcmVhIHVuYSB0YXVsYSBkZSBwYXJ0aWNpb25zIElSSVggKFNHSSkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1MgorbXNnaWQgIkdlb21ldHJ5IgorbXNnc3RyICJHZW9tZXRyaWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1MworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAiICAgYyAgIGNhbnZpYSBlbCBub21icmUgZGUgY2lsaW5kcmVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTQKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAiICAgaCAgIGNhbnZpYSBlbCBub21icmUgZGUgY2Fww6dhbHMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2siCittc2dzdHIgIiAgIHMgICBjYW52aWEgZWwgbm9tYnJlIGRlIHNlY3RvcnMgcGVyIHBpc3RhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjQgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTUKKyMsIGZ1enp5Cittc2dpZCAiR1BUIgorbXNnc3RyICJFRkkgR1BUIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpc2sgR1VJRCIKK21zZ3N0ciAibW9kaWZpY2F0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjYKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJOb21icmUgZGUgcGFydGljacOzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjcKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGljaW9uczpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY4CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSB0YWJsZSBsZW5ndGgiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjkKK21zZ2lkICJlbnRlciBwcm90ZWN0aXZlL2h5YnJpZCBNQlIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTcyCisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgbGVnYWN5IEJJT1MgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiICAgYSAgIGVzdGFibGVpeCB1biBzZW55YWxhZG9yIGQnYXJyZW5jYWRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSBubyBibG9jayBJTyBwcm90b2NvbCBmbGFnIgorbXNnc3RyICIgICBjICAgZXN0YWJsZWl4IGVsIHNlbnlhbGFkb3IgZGUgY29tcGF0aWJpbGl0YXQgYW1iIERPUyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc0CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgcmVxdWlyZWQgcGFydGl0aW9uIGZsYWciCittc2dzdHIgIiAgIGEgICBlc3RhYmxlaXggdW4gc2VueWFsYWRvciBkZSBub23DqXMgbGVjdHVyYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc1Cittc2dpZCAidG9nZ2xlIHRoZSBHVUlEIHNwZWNpZmljIGJpdHMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg1Cittc2dpZCAiU3VuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NgorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIHJlYWQtb25seSBmbGFnIgorbXNnc3RyICIgICBhICAgZXN0YWJsZWl4IHVuIHNlbnlhbGFkb3IgZGUgbm9tw6lzIGxlY3R1cmEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NworIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIG1vdW50YWJsZSBmbGFnIgorbXNnc3RyICIgICBjICAgZXN0YWJsZWl4IHNlbnlhbGFkb3IgZGUgbXVudGFibGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIiAgIGEgICBjYW52aWEgZWwgbm9tYnJlIGRlIGNpbGluZHJlcyBhbHRlcm5hdGl1cyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkwCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgZXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgIiAgIGUgICBjYW52aWEgZWwgbm9tYnJlIGRlIHNlY3RvcnMgYWRkaWNpb25hbHMgcGVyIGNpbGluZHJlIgorCisjIEZJWE1FCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTEKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICIgICBpICAgY2FudmlhIGVsIGZhY3RvciBkJ2VudHJlbGxhw6dhdCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkyCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSByb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAiICAgbyAgIGNhbnZpYSB2ZWxvY2l0YXQgZGUgcm90YWNpw7MgKHIucC5tLikiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiICAgeSAgIGNhbnZpYSBlbCBub21icmUgZGUgY2lsaW5kcmVzIGbDrXNpY3MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwMgorIywgZnV6enkKK21zZ2lkICJTR0kiCittc2dzdHIgIlNHSSBjcnUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwMworIywgZnV6enkKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICIgICBhICAgc2VsZWNjaW9uYSBsYSBwYXJ0aWNpw7MgZCdhcnJlbmNhZGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNAorIywgZnV6enkKK21zZ2lkICJlZGl0IGJvb3RmaWxlIGVudHJ5IgorbXNnc3RyICIgICBiICAgZWRpdGEgbCdlbnRyYWRhIGRlbCBmaXR4ZXIgZCdhcnJlbmNhZGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNQorIywgZnV6enkKK21zZ2lkICJzZWxlY3Qgc2dpIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICIgICBjICAgc2VsZWNjaW9uYSBsYSBwYXJ0aWNpw7MgZCdpbnRlcmNhbnZpIHNnaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA2Cittc2dpZCAiY3JlYXRlIFNHSSBpbmZvIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNQorIywgZnV6enkKK21zZ2lkICJET1MgKE1CUikiCittc2dzdHIgIkRPUyBSL08iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNgorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgYSBib290YWJsZSBmbGFnIgorbXNnc3RyICIgICBhICAgZXN0YWJsZWl4IHVuIHNlbnlhbGFkb3IgZCdhcnJlbmNhZGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNworIywgZnV6enkKK21zZ2lkICJlZGl0IG5lc3RlZCBCU0QgZGlza2xhYmVsIgorbXNnc3RyICIgICBiICAgZWRpdGEgbCdldGlxdWV0YSBkZSBkaXNjIGJzZCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE4CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgZG9zIGNvbXBhdGliaWxpdHkgZmxhZyIKK21zZ3N0ciAiICAgYyAgIGVzdGFibGVpeCBlbCBzZW55YWxhZG9yIGRlIGNvbXBhdGliaWxpdGF0IGFtYiBET1MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMAorIywgZnV6enkKK21zZ2lkICJtb3ZlIGJlZ2lubmluZyBvZiBkYXRhIGluIGEgcGFydGl0aW9uIgorbXNnc3RyICIgICBiICAgZGVzcGxhw6dhIGxlcyBkYWRlcyBkJ3VuYSBwYXJ0aWNpw7MgYSBsJ2luaWNpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjEKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHRoZSBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIiAgIHUgICBjYW52aWEgbGVzIHVuaXRhdHMgZGUgdmlzdWFsaXR6YWNpw7MvZW50cmFkYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIzCittc2dpZCAicmV0dXJuIGZyb20gcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIHRvIEdQVCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzMKKyMsIGZ1enp5Cittc2dpZCAiQlNEIgorbXNnc3RyICJCU0QvT1MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNAorIywgZnV6enkKK21zZ2lkICJlZGl0IGRyaXZlIGRhdGEiCittc2dzdHIgIiAgIGUgICBlZGl0YSBkYWRlcyBkZSBsYSB1bml0YXQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNQorIywgZnV6enkKK21zZ2lkICJpbnN0YWxsIGJvb3RzdHJhcCIKK21zZ3N0ciAiICAgaSAgIGluc3RhbMK3bGEgZWwgY2FycmVnYWRvciBkJ2FycmVuY2FkYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM2CisjLCBmdXp6eQorbXNnaWQgInNob3cgY29tcGxldGUgZGlza2xhYmVsIgorbXNnc3RyICIgICBzICAgbW9zdHJhIHRvdGVzIGxlcyBldGlxdWV0ZXMgZGVsIGRpc2MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNworIywgZnV6enkKK21zZ2lkICJsaW5rIEJTRCBwYXJ0aXRpb24gdG8gbm9uLUJTRCBwYXJ0aXRpb24iCittc2dzdHIgIiAgIHggICBlbmxsYcOnYSBsYSBwYXJ0aWNpw7MgQlNEIGEgdW5hIHBhcnRpY2nDsyBubyBCU0QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscCAoZXhwZXJ0IGNvbW1hbmRzKTpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzEgZGlzay11dGlscy9zZmRpc2suYzoxMjY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscDpcbiIKK21zZ3N0ciAiQWp1ZGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UncmUgZWRpdGluZyBuZXN0ZWQgJyVzJyBwYXJ0aXRpb24gdGFibGUsIHByaW1hcnkgcGFydGl0aW9uIHRhYmxlIGlzICclcycuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMQorbXNnaWQgIkV4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJPcmRyZSBkJ2V4cGVydCAobSBwZXIgYSBvYnRlbmlyIGFqdWRhKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjMKK21zZ2lkICJDb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJPcmRyZSAobSBwZXIgYSBvYnRlbmlyIGFqdWRhKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVjOiB1bmtub3duIGNvbW1hbmQiCittc2dzdHIgIiVjOiBvcmRyZSBkZXNjb25lZ3VkYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NTggZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg1CisjLCBmdXp6eQorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWUiCittc2dzdHIgIiVzOiBubyBzJ2hhIHBvZ3V0IHRyb2JhciBlbCBkaXNwb3NpdGl1IHBlciBhICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ3MQorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgYXBwbGllZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDk3CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byB0cmFuc2Zvcm0gZGlzayBsYXlvdXQgaW50byBzY3JpcHQiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbGEgbWVtw7JyaWEgdGVtcG9yYWwuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxMQorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgc2F2ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzNCBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiQXbDrXM6IGxhIHBhcnRpY2nDsyAlZCBjb250w6kgZWwgc2VjdG9yIDBcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTM3IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ3OQorIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlIHNpZ25hdHVyZT8iCittc2dzdHIgIkRlc2l0Z2V1IGVzY3JpdXJlIGFpeMOyIGFsIGRpc2M/IFt5bnFdICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTc1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIGEgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MTMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGZpeCBwYXJ0aXRpb25zIG9yZGVyLiIKK21zZ3N0ciAiICAgZiAgIGFycmVnbGEgbCdvcmRyZSBkZSBsZXMgcGFydGljaW9ucyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjE1CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbnMgb3JkZXIgZml4ZWQuIgorbXNnc3RyICJObyBoaSBoYW4gcGFydGljaW9ucyBkZWZpbmlkZXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIlMnaGEgc2VsZWNjaW9uYXQgbGEgcGFydGljacOzICVkXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY2MAorIywgZnV6enkKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIGN5bGluZGVycyAoREVQUkVDQVRFRCEpLiIKK21zZ3N0ciAiUydlc3TDoCBjYW52aWFudCBsZXMgdW5pdGF0cyBkZSB2aXN1YWxpdHphY2nDsy9lbnRyYWRhIGEgJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjYyCisjLCBmdXp6eQorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gc2VjdG9ycy4iCittc2dzdHIgIlMnZXN0w6AgY2FudmlhbnQgbGVzIHVuaXRhdHMgZGUgdmlzdWFsaXR6YWNpw7MvZW50cmFkYSBhICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY3MiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4NDIKKyMsIGZ1enp5Cittc2dpZCAiTGVhdmluZyBuZXN0ZWQgZGlza2xhYmVsLiIKK21zZ3N0ciAiICAgYiAgIGVkaXRhIGwnZXRpcXVldGEgZGUgZGlzYyBic2QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjcwOQorbXNnaWQgIk5ldyBtYXhpbXVtIGVudHJpZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzE5CisjLCBmdXp6eQorbXNnaWQgIkVudGVyaW5nIHByb3RlY3RpdmUvaHlicmlkIE1CUiBkaXNrbGFiZWwuIgorbXNnc3RyICIgICBiICAgZWRpdGEgbCdldGlxdWV0YSBkZSBkaXNjIGJzZCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzM1Cittc2dpZCAiTmV3IFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NTAKKyMsIGZ1enp5Cittc2dpZCAiTmV3IG5hbWUiCittc2dzdHIgIk5vbSBkJ3VzdWFyaSBpbMK3bGVnYWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjgxMworIywgZnV6enkKK21zZ2lkICJFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIiAgIGIgICBlZGl0YSBsJ2V0aXF1ZXRhIGRlIGRpc2MgYnNkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OTgKK21zZ2lkICJOdW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICJOb21icmUgZGUgY2lsaW5kcmVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAyCittc2dpZCAiTnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICJOb21icmUgZGUgY2Fww6dhbHMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMDYKK21zZ2lkICJOdW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAiTm9tYnJlIGRlIHNlY3RvcnMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZFxuIgorbXNnc3RyICIlcyBlc3TDoCBtdW50YXQuXHQgIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudGVkXG4iCittc2dzdHIgInVtb3VudDogJXM6IG5vIHMnaGEgdHJvYmF0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMzEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3NAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4MSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjM1CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjUzIGRpc2stdXRpbHMvc2ZkaXNrLmM6Mjk3IGxpYmZkaXNrL3NyYy9ic2QuYzo2NDYKKyM6IGxpYi9wYXRoLmM6MTEwIGxpYi9wYXRoLmM6MTMxIGxpYi9wYXRoLmM6MTUyIGxpYi9wYXRoLmM6MjAwCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjEzIGxvZ2luLXV0aWxzL2xhc3QuYzoyNTAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjY2NAorIzogc3lzLXV0aWxzL3NldHByaXYuYzoyMzkgdGVybS11dGlscy9zZXR0ZXJtLmM6NzE3IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3NAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Nzc4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgJXMiCittc2dzdHIgIiVzOiBubyBzJ2hhIHBvZ3V0IGxsZWdpciAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMzIGxpYi9wYXRoLmM6MTMzIGxpYi9wYXRoLmM6MTU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJwYXJzZSBlcnJvcjogJXMiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJuYW1laTogbm8gcydoYSBwb2d1dCBvYnRlbmlyIGVsIGRpcmVjdG9yaSBhY3R1YWwgLSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxvY2tpbmcgZGlzayBieSAlcyAuLi4gIgorbXNnc3RyICJTJ2VzdGFuIHNpbmNyb25pdHphbnQgZWxzIGRpc2NzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiKHdhaXRpbmcpICIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlc2UgYXJlIGZvbGxvd3VwcyB0byAiTG9ja2luZyBkaXNrLi4uIi4KKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5NAorIywgZnV6enkKK21zZ2lkICJzdWNjZWVkZWQiCittc2dzdHIgIiVzIHMnaGEgY29tcGxldGF0IGFtYiDDqHhpdC5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Mzk0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCIKK21zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVubG9ja2luZyAlcy5cbiIKK21zZ3N0ciAiVXNhbnQgJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGRlc2NyaXB0aW9uIGZvciAlcyIKK21zZ3N0ciAibm8gaGEgZXN0YXQgcG9zc2libGUgZXhlY3V0YXIgaW9jdGwoKSBwZXIgbGxlZ2lyIGwnaG9yYSBkZSAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDc0IG1pc2MtdXRpbHMvZmluZG1udC5jOjc4MiBtaXNjLXV0aWxzL2xzYmxrLmM6NDMzCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMDIgc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzoxOSBzeXMtdXRpbHMvdW1vdW50LmM6NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIC0tIGlnbm9yZWQiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo1MDYgZGlzay11dGlscy9mc2NrLmM6NTA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIGZzdGFiIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njc5IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTY4IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDM0CisjOiBsb2dpbi11dGlscy92aXB3LmM6MjA0IHN5cy11dGlscy9mbG9jay5jOjM0NSBzeXMtdXRpbHMvbnNlbnRlci5jOjE1MworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxNiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIxOSBzeXMtdXRpbHMvdW5zaGFyZS5jOjQyMAorIzogdGVybS11dGlscy9zY3JpcHQuYzo3ODAKKyMsIGZ1enp5Cittc2dpZCAiZm9yayBmYWlsZWQiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgYmlmdXJjYXJcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0ZSBmYWlsZWQiCittc2dzdHIgIm5vIGhhIGVzdGF0IHBvc3NpYmxlIGV4ZWN1dGFyIG9wZW5wdHlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzc0Cittc2dpZCAid2FpdDogbm8gbW9yZSBjaGlsZCBwcm9jZXNzPyE/IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc3NyBzeXMtdXRpbHMvZmxvY2suYzozNjMgc3lzLXV0aWxzL3N3YXBvbi5jOjM0OAorIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MDQgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MjUKKyMsIGZ1enp5Cittc2dpZCAid2FpdHBpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGhhIGZhbGxhdCIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmcuLi4gJXMgZm9yIGRldmljZSAlcyBleGl0ZWQgd2l0aCBzaWduYWwgJWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjgwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlczogc3RhdHVzIGlzICV4LCBzaG91bGQgbmV2ZXIgaGFwcGVuLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluaXNoZWQgd2l0aCAlcyAoZXhpdCBzdGF0dXMgJWQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6OTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvciAlZCAoJW0pIHdoaWxlIGV4ZWN1dGluZyBmc2NrLiVzIGZvciAlcyIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgJWQgZW4gZGVzY29tcHJpbWlyISAlcCglZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6OTkxCittc2dpZCAiIgorIkVpdGhlciBhbGwgb3Igbm9uZSBvZiB0aGUgZmlsZXN5c3RlbSB0eXBlcyBwYXNzZWQgdG8gLXQgbXVzdCBiZSBwcmVmaXhlZFxuIgorIndpdGggJ25vJyBvciAnIScuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIGJhZCBsaW5lIGluIC9ldGMvZnN0YWI6IGJpbmQgbW91bnQgd2l0aCBub256ZXJvIGZzY2sgcGFzcyBudW1iZXIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTExOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIG5vbmV4aXN0ZW50IGRldmljZVxuIgorbXNnc3RyICIlczogJXMgbm8gw6lzIHVuIGRpc3Bvc2l0aXUgbHAuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vbmV4aXN0ZW50IGRldmljZSAoXCJub2ZhaWxcIiBmc3RhYiBvcHRpb24gbWF5IGJlIHVzZWQgdG8gc2tpcCB0aGlzIGRldmljZSlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgdW5rbm93biBmaWxlc3lzdGVtIHR5cGVcbiIKK21zZ3N0ciAibW91bnQ6IG5vIGVzIHJlY29uZWl4IGVsIHNpdGVtYSBkZSBmaXR4ZXJzIMKrJXPCuyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hlY2sgJXM6IGZzY2suJXMgbm90IGZvdW5kIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNTkKKyMsIGZ1enp5Cittc2dpZCAiQ2hlY2tpbmcgYWxsIGZpbGUgc3lzdGVtcy5cbiIKK21zZ3N0ciAiUydlc3TDoCBmb3LDp2FudCBsYSBjb21wcm92YWNpw7MgZGVsIHNpc3RlbWEgZGUgZml0eGVycyBhICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzUwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0td2FpdGluZy0tIChwYXNzICVkKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLS0gW2ZzLW9wdGlvbnNdIFs8ZmlsZXN5c3RlbT4gLi4uXVxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNzkKKyMsIGZ1enp5Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlMnZXN0w6AgZm9yw6dhbnQgbGEgY29tcHJvdmFjacOzIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnMgYSAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4MgorIywgZnV6enkKK21zZ2lkICIgLUEgICAgICAgICBjaGVjayBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiUydlc3TDoCBmb3LDp2FudCBsYSBjb21wcm92YWNpw7MgZGVsIHNpc3RlbWEgZGUgZml0eGVycyBhICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzgzCittc2dpZCAiIC1DIFs8ZmQ+XSAgZGlzcGxheSBwcm9ncmVzcyBiYXI7IGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODQKK21zZ2lkICIgLWwgICAgICAgICBsb2NrIHRoZSBkZXZpY2UgdG8gZ3VhcmFudGVlIGV4Y2x1c2l2ZSBhY2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg1CisjLCBmdXp6eQorbXNnaWQgIiAtTSAgICAgICAgIGRvIG5vdCBjaGVjayBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBDYW52aWEgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVycyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NgorbXNnaWQgIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NworbXNnaWQgIiAtUCAgICAgICAgIGNoZWNrIGZpbGVzeXN0ZW1zIGluIHBhcmFsbGVsLCBpbmNsdWRpbmcgcm9vdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODgKK21zZ2lkICIgLVIgICAgICAgICBza2lwIHJvb3QgZmlsZXN5c3RlbTsgdXNlZnVsIG9ubHkgd2l0aCAnLUEnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4OQorIywgZnV6enkKK21zZ2lkICIiCisiIC1yIFs8ZmQ+XSAgcmVwb3J0IHN0YXRpc3RpY3MgZm9yIGVhY2ggZGV2aWNlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiAgICAtbCBbbyAtLWxpc3RdOiAgICAgICBNb3N0cmEgbGVzIHBhcnRpY2lvbnMgZGUgY2FkYSBkaXNwb3NpdGl1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkxCisjLCBmdXp6eQorbXNnaWQgIiAtcyAgICAgICAgIHNlcmlhbGl6ZSB0aGUgY2hlY2tpbmcgb3BlcmF0aW9uc1xuIgorbXNnc3RyICIgIGQgICAgICAgICAgU3VwcmltZWl4IGwnYWN0dWFsIHBhcnRpY2nDsyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MgorIywgZnV6enkKK21zZ2lkICIgLVQgICAgICAgICBkbyBub3Qgc2hvdyB0aGUgdGl0bGUgb24gc3RhcnR1cFxuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgTm8gZXNjcmlndWVzIHJlYWxtZW50IGFsIGRpc2MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTMKK21zZ2lkICIiCisiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgPHR5cGU+IGlzIGFsbG93ZWQgdG8gYmUgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTUKKyMsIGZ1enp5Cittc2dpZCAiIC1WICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTYKKyMsIGZ1enp5Cittc2dpZCAiIC0/ICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OQorbXNnaWQgIlNlZSB0aGUgc3BlY2lmaWMgZnNjay4qIGNvbW1hbmRzIGZvciBhdmFpbGFibGUgZnMtb3B0aW9ucy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQzOAorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBkZXZpY2VzIgorbXNnc3RyICIlczogJXMgbm8gw6lzIHVuIGRpc3Bvc2l0aXUgbHAuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NTAKKyMsIGZ1enp5Cittc2dpZCAiSXMgL3Byb2MgbW91bnRlZD8iCittc2dzdHIgIiVzIGRlc211bnRhdFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHJvb3QgdG8gc2NhbiBmb3IgbWF0Y2hpbmcgZmlsZXN5c3RlbXM6ICVzIgorbXNnc3RyICJTJ2VzdMOgIGRlc211bnRhbnQgZWxzIHNpc3RlbWVzIGRlIGZpdHhlcnMgcmVzdGFudHMuLi4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGZpbmQgbWF0Y2hpbmcgZmlsZXN5c3RlbTogJXMiCittc2dzdHIgIlMnZXN0w6AgZGVzbXVudGFudCBlbHMgc2lzdGVtZXMgZGUgZml0eGVycyByZXN0YW50cy4uLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ3MCBkaXNrLXV0aWxzL2ZzY2suYzoxNTY1IG1pc2MtdXRpbHMva2lsbC5jOjM2MworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mjc5CisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IGRlc2NvbmVndXQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1MjUgZGlzay11dGlscy9mc2NrLmM6MTUyOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yIgorbXNnc3RyICJpZCBpbnbDoGxpZCA6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXI6ICVkIgorbXNnc3RyICJpZCBpbnbDoGxpZCA6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2MTgKK21zZ2lkICJ0aGUgLWwgb3B0aW9uIGNhbiBiZSB1c2VkIHdpdGggb25lIGRldmljZSBvbmx5IC0tIGlnbm9yZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPlxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTYKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgY29tcHJlc3NlZCBST00gZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE5Cittc2dpZCAiIC1hICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMQorbXNnaWQgIiAteSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjIKK21zZ2lkICIgLWIsIC0tYmxvY2tzaXplIDxzaXplPiAgIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgZGVmYXVsdHMgdG8gcGFnZSBzaXplXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMworbXNnaWQgIiAgICAgLS1leHRyYWN0Wz08ZGlyPl0gICAgdGVzdCB1bmNvbXByZXNzaW9uLCBvcHRpb25hbGx5IGV4dHJhY3QgaW50byA8ZGlyPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGZhaWxlZDogdW5hYmxlIHRvIGRldGVybWluZSBkZXZpY2Ugc2l6ZTogJXMiCittc2dzdHIgIiVzOiBhdsOtczsgbm8gZXMgcG90IGRldGVybWluYXIgbGEgbWlkYSBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzIFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub3QgYSBibG9jayBkZXZpY2Ugb3IgZmlsZTogJXMiCittc2dzdHIgIiVzIG5vIMOpcyBjYXAgZGlzcG9zaXRpdSBkZSBibG9jIG8gdW4gZml0eGVyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzAgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNgorIywgZnV6enkKK21zZ2lkICJmaWxlIGxlbmd0aCB0b28gc2hvcnQiCittc2dzdHIgIiVzOiBlbCBjcmFtZnMgw6lzIGludsOgbGlkLCBsYSBsb25naXR1ZCBkZWwgZml0eGVyIMOpcyBtYXNzYSBjdXJ0YVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzMKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNDkgbGliZmRpc2svc3JjL2JzZC5jOjcxOCBsaWJmZGlzay9zcmMvYnNkLmM6ODkwCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjA4IGxvZ2luLXV0aWxzL2xhc3QuYzoyNDIgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VlayBvbiAlcyBmYWlsZWQiCittc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg3Cittc2dpZCAic3VwZXJibG9jayBtYWdpYyBub3QgZm91bmQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJjcmFtZnMgZW5kaWFubmVzcyBpcyAlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTEKK21zZ2lkICJiaWciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MQorbXNnaWQgImxpdHRsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTk1CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIGZpbGVzeXN0ZW0gZmVhdHVyZXMiCittc2dzdHIgIkludHJvZHXDr3UgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVyczogIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzdXBlcmJsb2NrIHNpemUgKCVkKSB0b28gc21hbGwiCittc2dzdHIgIk5vbWJyZSBkZSBzZWN0b3JzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA0Cittc2dpZCAiemVybyBmaWxlIGNvdW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDgKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBleHRlbmRzIHBhc3QgZW5kIG9mIGZpbGVzeXN0ZW0iCittc2dzdHIgIkF2w61zOiBsYSBwYXJ0aWNpw7MgJXMgcydleHTDqW4gbcOpcyBlbmxsw6AgZGVsIGZpbmFsIGRlbCBkaXNjXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMTAKKyMsIGZ1enp5Cittc2dpZCAib2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgIiVzOiBhdsOtczsgbGEgaW1hdGdlIGNyYW1mcyDDqXMgYW50aWdhLCBubyB0w6kgQ1JDXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMTkKK21zZ2lkICJ1bmFibGUgdG8gdGVzdCBDUkM6IG9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNzIKKyMsIGZ1enp5Cittc2dpZCAiY3JjIGVycm9yIgorbXNnc3RyICIsIGVycm9yIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzAyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU1NAorbXNnaWQgInNlZWsgZmFpbGVkIgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDYKKyMsIGZ1enp5Cittc2dpZCAicmVhZCByb21mcyBmYWlsZWQiCittc2dzdHIgIihGaXR4ZXIgc2Vnw7xlbnQ6ICVzKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMzOAorIywgZnV6enkKK21zZ2lkICJyb290IGlub2RlIGlzIG5vdCBkaXJlY3RvcnkiCittc2dzdHIgImVsIG5vZGUgZCdpZGVudGlmaWNhY2nDsyBhcnJlbCBubyDDqXMgdW4gZGlyZWN0b3JpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByb290IG9mZnNldCAoJWx1KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzYwCittc2dpZCAiZGF0YSBibG9jayB0b28gbGFyZ2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGVjb21wcmVzc2lvbiBlcnJvcjogJXMiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgIGhvbGUgYXQgJWx1ICglenUpXG4iCittc2dzdHIgIiAgZm9yYXQgYSAlbGQgKCVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Mzk3IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgdW5jb21wcmVzc2luZyBibG9jayBhdCAlbHUgdG8gJWx1ICglbHUpXG4iCittc2dzdHIgIiAgcydlc3TDoCBkZXNjb21wcmltaW50IGVsIGJsb2MgZGUgJWxkIGEgJWxkICglbGQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vbi1ibG9jayAoJWxkKSBieXRlcyIKK21zZ3N0ciAiJXM6IE5vIGJsb2MgKCVsZCkgb2N0ZXRzXG4iCisKKyMgIk5vIG1pZGEiIG5vIMOpcyBnZW5zIGNvcnJlY3RlLi4uIGptCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub24tc2l6ZSAoJWxkIHZzICVsZCkgYnl0ZXMiCittc2dzdHIgIiVzOiBPY3RldHMgc2Vuc2UgbWlkYSAoJWxkIHZzICVsZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxMyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE2CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwNCBtaXNjLXV0aWxzL3V1aWRkLmM6Mzc1IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODIKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM1IHN5cy11dGlscy9zZXRwcml2LmM6NTU4IHN5cy11dGlscy9zd2Fwb24uYzozODkKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQ6ICVzIgorbXNnc3RyICIoRml0eGVyIHNlZ8O8ZW50OiAlcykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJubyBzJ2hhIGVzdGF0IHBvc3NpYmxlIG11bnRhciIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAibm8gcydoYSBlc3RhdCBwb3NzaWJsZSBtdW50YXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInV0aW1lIGZhaWxlZDogJXMiCittc2dzdHIgInZhbG9yIGQnZXhwaXJhY2nDsyBlcnJvbmk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1rZGlyIGZhaWxlZDogJXMiCittc2dzdHIgIi9kZXY6IGNoZGlyKCkgaGEgZmFsbGF0OiAlbSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3NgorbXNnaWQgImZpbGVuYW1lIGxlbmd0aCBpcyB6ZXJvIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NzgKK21zZ2lkICJiYWQgZmlsZW5hbWUgbGVuZ3RoIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0ODQKKyMsIGZ1enp5Cittc2dpZCAiYmFkIGlub2RlIG9mZnNldCIKK21zZ3N0ciAibWlkYSBkZSBub2RlIGQnaWRlbnRpZmljYWNpw7MgaW5jb3JyZWN0ZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ5OQorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MDIKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIHNpemUgYW5kIG5vbi16ZXJvIG9mZnNldCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTMxCittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBvZmZzZXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMworbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzaXplIGVycm9yIGluIHN5bWxpbms6ICVzIgorbXNnc3RyICIlczogaGkgaGEgdW4gZXJyb3IgZW4gbGEgbWlkYSBkZSBsJ2VubGxhw6cgc2ltYsOybGljIMKrJXPCu1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzeW1saW5rIGZhaWxlZDogJXMiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZmVyIGZzeW5jIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTY5CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZmlsZSBoYXMgbm9uLXplcm8gb2Zmc2V0OiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgImZpZm8gaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJib2d1cyBtb2RlOiAlcyAoJW8pIgorbXNnc3RyICIlczogbW9kZSBlcnJvbmkgYSDCqyVzwrsgKCVvKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJta25vZCBmYWlsZWQ6ICVzIgorbXNnc3RyICJubyBzJ2hhIGVzdGF0IHBvc3NpYmxlIG11bnRhciIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGRhdGEgc3RhcnQgKCVsdSkgPCBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikgKyBzdGFydCAoJXp1KSIKK21zZ3N0ciAiIgorIiVzOiBlbCBjcmFtZnMgw6lzIGludsOgbGlkLCBlbCBmaW5hbCBkZSBsZXMgZGFkZXMgYWxzIGRpcmVjdG9yaXMgKCVsZClcbiIKKyLDqXMgZGlmZXJlbnQgZGUgbCdpbmljaSBkZSBsZXMgZGFkZXMgZGVscyBmaXR4ZXJzICglbGQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIGVuZCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCittc2dzdHIgIiIKKyIlczogZWwgY3JhbWZzIMOpcyBpbnbDoGxpZCwgZWwgZmluYWwgZGUgbGVzIGRhZGVzIGFscyBkaXJlY3RvcmlzICglbGQpXG4iCisiw6lzIGRpZmVyZW50IGRlIGwnaW5pY2kgZGUgbGVzIGRhZGVzIGRlbHMgZml0eGVycyAoJWxkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjM3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZmlsZSBkYXRhIG9mZnNldCIKK21zZ3N0ciAiJXM6IGVsIGNyYW1mcyDDqXMgaW52w6BsaWQsIGhpIGhhIHVuIGRlc3BsYcOnYW1lbnQgaW52w6BsaWQgZGUgbGVzIGRhZGVzIGRlbHMgZml0eGVyc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Njg0IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MjYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBibG9ja3NpemUgYXJndW1lbnQiCittc2dzdHIgInVtb3VudDogJXM6IGRpc3Bvc2l0aXUgZGUgYmxvY3Mgbm8gdsOgbGlkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBPS1xuIgorbXNnc3RyICIlczogQ29ycmVjdGVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg0CisjLCBmdXp6eQorbXNnaWQgIkNoZWNrIHRoZSBjb25zaXN0ZW5jeSBvZiBhIE1pbml4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlMnZXN0w6AgZm9yw6dhbnQgbGEgY29tcHJvdmFjacOzIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnMgYSAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg2CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgIGxpc3QgYWxsIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgIFsgLWZpbGUgbm9tX2ZpdHhlcl9ib2xjYXQgXVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODcKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICBhdXRvbWF0aWMgcmVwYWlyXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg4CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXBhaXIgICAgIGludGVyYWN0aXZlIHJlcGFpclxuIgorbXNnc3RyICJlcyBuZWNlc3NpdGEgdW4gdGVybWluYWwgcGVyIGEgcmVwYXJhY2lvbnMgaW50ZXJhY3RpdmVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgYmUgdmVyYm9zZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkwCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zdXBlciAgICAgIG91dHB1dCBzdXBlci1ibG9jayBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkxCittc2dpZCAiIC1tLCAtLXVuY2xlYXJlZCAgYWN0aXZhdGUgbW9kZSBub3QgY2xlYXJlZCB3YXJuaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICBmb3JjZSBjaGVja1xuIgorbXNnc3RyICIgIHQgICAgICAgICAgQ2FudmlhIGVsIHRpcHVzIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnMiCisKKyMuIFRSQU5TTEFUT1JTOiB0aGVzZSB5ZXMgbm8gcXVlc3Rpb25zIHVzZXMgcnBtYXRjaCgpLCBhbmQgc2hvdWxkIGJlCisjLiAqIHRyYW5zbGF0ZWQuCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKHkvbik/ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG4veSk/ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAieVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQuXHQgIgorbXNnc3RyICIlcyBlc3TDoCBtdW50YXQuXHQgIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODkKK21zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gY29udGludWUiCittc2dzdHIgIkVzdGV1IHNlZ3VyIGRlIHZvbGVyIGNvbnRpbnVhcj8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJjaGVjayBhYm9ydGVkLlxuIgorbXNnc3RyICJzJ2hhIGF2b3J0YXQgbGEgY29tcHJvdmFjacOzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPCBGSVJTVFpPTkUgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiTsO6bWVybyBkZSB6b25hIDwgRklSU1RaT05FIGVuIGVsIGZpdHhlciDCqyVzwrsuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPj0gWk9ORVMgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiTsO6bWVybyBkZSB6b25hID49IFpPTkVTIGVuIGVsIGZpdHhlciDCqyVzwrsuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQ3Cittc2dpZCAiUmVtb3ZlIGJsb2NrIgorbXNnc3RyICJFbGltaW5hIGVsIGJsb2MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiB1bmFibGUgdG8gc2VlayB0byBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBkZSBsZWN0dXJhOiBubyBlcyBwb3QgY2VyY2FyIGVsIGJsb2MgYWwgZml0eGVyIMKrJXPCu1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGRlIGxlY3R1cmE6IGJsb2MgZXJyb25pIGFsIGZpdHhlciDCqyVzwrtcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJbnRlcm5hbCBlcnJvcjogdHJ5aW5nIHRvIHdyaXRlIGJhZCBibG9ja1xuIgorIldyaXRlIHJlcXVlc3QgaWdub3JlZFxuIgorbXNnc3RyICIiCisiUydoYSBwcm9kdcOvdCB1biBlcnJvciBpbnRlcm46IHMnZXN0w6AgaW50ZW50YW50IGVzY3JpdXJlIHVuIGJsb2MgZXJyb25pXG4iCisiUydoYSBpZ25vcmF0IGxhIHBldGljacOzIGQnZXNjcmlwdHVyYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBmZXIgdW5hIGNlcmNhIGVuIHdyaXRlX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGUgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBkJ2VzY3JpcHR1cmE6IGhpIGhhIHVuIGJsb2MgaW5jb3JyZWN0ZSBhbCBmaXR4ZXIgwqslc8K7XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUwNQorbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX3N1cGVyX2Jsb2NrIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGZlciB1bmEgY2VyY2EgZW4gd3JpdGVfc3VwZXJfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUwNworbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAibm8gZXMgcG90IGVzY3JpdXJlIGVsIHN1cGVyYmxvYyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTIwCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAiTm8gZXMgcG90IGVzY3JpdXJlIGVsIG1hcGEgZGUgbm9kZXMgZCdpZGVudGlmaWNhY2nDsyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTIzCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICJObyBlcyBwb3QgZXNjcml1cmUgZWwgbWFwYSBkZSB6b25hIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjYKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICJObyBlcyBwb2RlbiBlc2NyaXVyZSBlbHMgbm9kZXMgZCdpZGVudGlmaWNhY2nDsyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTU4CisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBidWZmZXIgZm9yIHN1cGVyYmxvY2siCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbWVtw7JyaWEgaW50ZXJtw6hkaWEgcGVyIGFscyBtYXBlcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTYxCittc2dpZCAidW5hYmxlIHRvIHJlYWQgc3VwZXIgYmxvY2siCittc2dzdHIgIm5vIGVzIHBvdCBsbGVnaXIgZWwgc3VwZXJibG9jIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODMKK21zZ2lkICJiYWQgbWFnaWMgbnVtYmVyIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJuw7ptZXJvIG3DoGdpYyBpbmNvcnJlY3RlIGVuIGVsIHN1cGVyYmxvYyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg1Cittc2dpZCAiT25seSAxayBibG9ja3Mvem9uZXMgc3VwcG9ydGVkIgorbXNnc3RyICJOb23DqXMgZXMgc3Vwb3J0ZW4gYmxvY3MgbyB6b25lcyBkZSAxayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg3CisjLCBmdXp6eQorbXNnaWQgImJhZCBzX25pbm9kZXMgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIkNhbXAgc19pbWFwX2Jsb2NrcyBpbmNvcnJlY3RlIGFsIHN1cGVyYmxvYyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg5Cittc2dpZCAiYmFkIHNfaW1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIkNhbXAgc19pbWFwX2Jsb2NrcyBpbmNvcnJlY3RlIGFsIHN1cGVyYmxvYyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkxCisjLCBmdXp6eQorbXNnaWQgImJhZCBzX2ZpcnN0ZGF0YXpvbmUgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIkNhbXAgc19pbWFwX2Jsb2NrcyBpbmNvcnJlY3RlIGFsIHN1cGVyYmxvYyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk0Cittc2dpZCAiYmFkIHNfem1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIkNhbXAgc196bWFwX2Jsb2NrcyBpbmNvcnJlY3RlIGVuIGVsIHN1cGVyYmxvYyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjEwCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgbWFwIgorbXNnc3RyICJObyBlcyBwb3QgYXNzaWduYXIgbWVtw7JyaWEgaW50ZXJtw6hkaWEgcGVyIGFsIG1hcGEgZGUgbm9kZXMgZCdpZGVudGlmaWNhY2nDsyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjEzCisjLCBmdXp6eQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgbWFwIgorbXNnc3RyICJObyBlcyBwb3QgYXNzaWduYXIgbWVtw7JyaWEgaW50ZXJtw6hkaWEgcGVyIGFsIG1hcGEgZGUgbm9kZXMgZCdpZGVudGlmaWNhY2nDsyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE2Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorbXNnc3RyICJObyBlcyBwb3QgYXNzaWduYXIgbWVtw7JyaWEgaW50ZXJtw6hkaWEgcGVyIGFscyBub2RlcyBkJ2lkZW50aWZpY2FjacOzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTkKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBjb3VudCIKK21zZ3N0ciAiTm8gZXMgcG90IGFzc2lnbmFyIG1lbcOycmlhIGludGVybcOoZGlhIHBlciBhbCBub21icmUgZGUgbm9kZXMgZCdpZGVudGlmaWNhY2nDsyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjIyCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBjb3VudCIKK21zZ3N0ciAiTm8gZXMgcG90IGFzc2lnbmFyIG1lbcOycmlhIGludGVybcOoZGlhIHBlciBhbCBub21icmUgZGUgem9uZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyNgorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlIG1hcCIKK21zZ3N0ciAiTm8gZXMgcG90IGxsZWdpciBlbCBtYXBhIGRlIG5vZGVzIGQnaWRlbnRpZmljYWNpw7MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzMAorbXNnaWQgIlVuYWJsZSB0byByZWFkIHpvbmUgbWFwIgorbXNnc3RyICJObyBlcyBwb3QgbGxlZ2lyIGVsIG1hcGEgZGUgem9uZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzNAorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlcyIKK21zZ3N0ciAiTm8gZXMgcG9kZW4gbGxlZ2lyIGVscyBub2RlcyBkJ2lkZW50aWZpY2FjacOzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCittc2dzdHIgIkF0ZW5jacOzOiBGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBpbm9kZXNcbiIKK21zZ3N0ciAiJWxkIG5vZGVzIGQnaWRlbnRpZmljYWNpw7NcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBibG9ja3NcbiIKK21zZ3N0ciAiJWxkIGJsb2NzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ZGF0YXpvbmU9JWpkICglamQpXG4iCittc2dzdHIgIlByaW1lcmEgem9uYSBkZSBkYWRlcz0lbGQgKCVsZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSVkXG4iCittc2dzdHIgIk1pZGEgZGUgbGEgem9uYT0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1heHNpemU9JXp1XG4iCittc2dzdHIgIk1pZGEgbcOgeGltYT0lbGRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gc3RhdGU9JWRcbiIKK21zZ3N0ciAiRXN0YXQgZGVsIHNpc3RlbWEgZGUgZml0eGVycz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJuYW1lbGVuPSV6ZFxuIgorIlxuIgorbXNnc3RyICIiCisibG9uZ2l0dWQgZGVsIG5vbT0lZFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NjQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVkIG1hcmtlZCB1bnVzZWQsIGJ1dCB1c2VkIGZvciBmaWxlICclcydcbiIKK21zZ3N0ciAiRWwgbm9kZSBkJ2lkZW50aWZpY2FjacOzICVkIGVzdMOgIG1hcmNhdCBjb20gYSBubyB1c2F0LCBwZXLDsiDDqXMgdXNhdCBwZWwgZml0eGVyIMKrJXPCu1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NjcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzE3Cittc2dpZCAiTWFyayBpbiB1c2UiCittc2dzdHIgIk1hcmNhJ2wgZW4gw7pzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2ODkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaWxlIGAlcycgaGFzIG1vZGUgJTA1b1xuIgorbXNnc3RyICJFbCBmaXR4ZXIgwqslc8K7IHTDqSBlbCBtb2RlICUwNW9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Njk2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBpbm9kZSBjb3VudCB0b28gYmlnLlxuIgorbXNnc3RyICJBdsOtczogZWwgbm9tYnJlIGRlIG5vZGVzIGQnaWRlbnRpZmljYWNpw7Mgw6lzIG1hc3NhIGdyYW4uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc1NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NjMKK21zZ2lkICJyb290IGlub2RlIGlzbid0IGEgZGlyZWN0b3J5IgorbXNnc3RyICJlbCBub2RlIGQnaWRlbnRpZmljYWNpw7MgYXJyZWwgbm8gw6lzIHVuIGRpcmVjdG9yaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzc1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayBoYXMgYmVlbiB1c2VkIGJlZm9yZS4gTm93IGluIGZpbGUgYCVzJy4iCittc2dzdHIgIkVsIGJsb2MgamEgaGEgZXN0YXQgZW1wcmF0IGFudGVyaW9ybWVudC4gQXJhIGVzdMOgIGVuIGVsIGZpdHhlciBcIiVzXCIuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODA4CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTIKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwOAorbXNnaWQgIkNsZWFyIgorbXNnc3RyICJOZXRlamEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgJWQgaW4gZmlsZSBgJXMnIGlzIG1hcmtlZCBub3QgaW4gdXNlLiIKK21zZ3N0ciAiRWwgYmxvYyAlZCBlbiBlbCBmaXR4ZXIgYCVzJyBlc3TDoCBtYXJjYXQgY29tIGEgbm8gdXNhdC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MjAKK21zZ2lkICJDb3JyZWN0IgorbXNnc3RyICJDb3JyZWdlaXgiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk1OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkaXJlY3RvcnkgJyVzJyBjb250YWlucyBhIGJhZCBpbm9kZSBudW1iZXIgZm9yIGZpbGUgJyUuKnMnLiIKK21zZ3N0ciAiRWwgZGlyZWN0b3JpIGAlcycgY29udMOpIHVuIG5vbWJyZSBkZSBub2RlcyBkJ2lkZW50aWZpY2FjacOzIGluY29ycmVjdGUgcGVyIGFsIGZpdHhlciDCqyUuKnPCuy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk2MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDM1Cittc2dpZCAiIFJlbW92ZSIKK21zZ3N0ciAiIEVsaW1pbmEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIKK21zZ3N0ciAiJXM6IGRpcmVjdG9yaSBpbmNvcnJlY3RlOiDCqy7CuyBubyDDqXMgZWwgcHJpbWVyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk4NiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIgorbXNnc3RyICIlczogZGlyZWN0b3JpIGluY29ycmVjdGU6IMKrLi7CuyBubyDDqXMgZWwgc2Vnb25cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA5NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTE3Cittc2dpZCAiaW50ZXJuYWwgZXJyb3IiCittc2dzdHIgImVycm9yIGludGVybiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA5NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBzaXplIDwgMzIiCittc2dzdHIgIiVzOiBkaXJlY3RvcmkgaW5jb3JyZWN0ZTogbWlkYSA8IDMyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogaW52YWxpZCBpX3pvbmUsIHVzZSAtLXJlcGFpciB0byBmaXhcbiIKK21zZ3N0ciAiJXM6IGRpcmVjdG9yaSBpbmNvcnJlY3RlOiDCqy7CuyBubyDDqXMgZWwgcHJpbWVyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMzIKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBiYWRfem9uZSIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIgYSBiYWRfem9uZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbW9kZSBub3QgY2xlYXJlZC4iCittc2dzdHIgIk5vIHMnaGEgZXNib3JyYXQgZWwgbW9kZSBkZWwgbm9kZSBkJ2lkZW50aWZpY2FjacOzICVkLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbm90IHVzZWQsIG1hcmtlZCB1c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICJFbCBub2RlIGQnaWRlbnRpZmljYWNpw7MgJWQgbm8gcyd1c2E7IHMnaGEgbWFyY2F0IGNvbSBhIHVzYXQgZW4gZWwgbWFwYSBkZSBiaXRzLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgdXNlZCwgbWFya2VkIHVudXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiUydlc3TDoCB1c2FudCBlbCBub2RlIGQnaWRlbnRpZmljYWNpw7MgJWQ7IG1hcmNhdCBjb20gYSBlbiBkZXPDunMgZW4gZWwgbWFwYSBkZSBiaXRzLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1OCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE0Cittc2dpZCAiU2V0IgorbXNnc3RyICJFc3RhYmxlaXgiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IChtb2RlID0gJTA3byksIGlfbmxpbmtzPSVkLCBjb3VudGVkPSVkLiIKK21zZ3N0ciAiTm9kZSBkJ2lkZW50aWZpY2FjacOzICVkIChtb2RlID0gJTA3byksIGlfbmxpbmtzPSVkLCBjb21wdGF0cz0lZC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyMQorbXNnaWQgIlNldCBpX25saW5rcyB0byBjb3VudCIKK21zZ3N0ciAiRXN0YWJsZWl4IGlfbmxpbmtzIGFscyBjb21wdGF0cyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbWFya2VkIGluIHVzZSwgbm8gZmlsZSB1c2VzIGl0LiIKK21zZ3N0ciAiWm9uYSAlZDogbWFyY2FkYSBjb20gYSBlbiDDunM7IGNhcCBmaXR4ZXIgbm8gbCd1dGlsaXR6YS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIzNQorbXNnaWQgIlVubWFyayIKK21zZ3N0ciAiRWxpbWluYSBsYSBtYXJjYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogaW4gdXNlLCBjb3VudGVkPSVkXG4iCittc2dzdHIgIlpvbmEgJWQ6IGVuIMO6cywgY29tcHRhZGE9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbm90IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICJab25hICVkOiBubyBlbiDDunMsIGNvbXB0YWRhPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyOTEKK21zZ2lkICJiYWQgaW5vZGUgc2l6ZSIKK21zZ3N0ciAibWlkYSBkZSBub2RlIGQnaWRlbnRpZmljYWNpw7MgaW5jb3JyZWN0ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5MworbXNnaWQgImJhZCB2MiBpbm9kZSBzaXplIgorbXNnc3RyICJtaWRhIGRlIG5vZGUgZCdpZGVudGlmaWNhY2nDsyB2MiBpbmNvcnJlY3RlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzM3Cittc2dpZCAibmVlZCB0ZXJtaW5hbCBmb3IgaW50ZXJhY3RpdmUgcmVwYWlycyIKK21zZ3N0ciAiZXMgbmVjZXNzaXRhIHVuIHRlcm1pbmFsIHBlciBhIHJlcGFyYWNpb25zIGludGVyYWN0aXZlcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICIlcyBubyBlcyBwb3Qgb2JyaXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgY2xlYW4sIG5vIGNoZWNrLlxuIgorbXNnc3RyICIlcyBlc3TDoCBuZXQ7IG5vIGVzIGNvbXByb3ZhLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiAlcy5cbiIKK21zZ3N0ciAiUydlc3TDoCBmb3LDp2FudCBsYSBjb21wcm92YWNpw7MgZGVsIHNpc3RlbWEgZGUgZml0eGVycyBhICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzU3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gb24gJXMgaXMgZGlydHksIG5lZWRzIGNoZWNraW5nLlxuIgorbXNnc3RyICJIaSBoYSBlbGVtZW50cyBlc3RyYW55cyBhbCBzaXN0ZW1hIGRlIGZpdHhlcnMgJXMsIHMnaGEgZGUgY29tcHJvdmFyLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmxkIGlub2RlcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2bGQgbm9kZXMgZCdpZGVudGlmaWNhY2nDsyB1c2F0cyAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTZsZCB6b25lcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiJTZsZCB6b25lcyB1c2FkZXMgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmQgcmVndWxhciBmaWxlc1xuIgorIiU2ZCBkaXJlY3Rvcmllc1xuIgorIiU2ZCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGJsb2NrIGRldmljZSBmaWxlc1xuIgorIiU2ZCBsaW5rc1xuIgorIiU2ZCBzeW1ib2xpYyBsaW5rc1xuIgorIi0tLS0tLVxuIgorIiU2ZCBmaWxlc1xuIgorbXNnc3RyICIiCisiXG4iCisiJTZkIGZpdHhlcnMgbm9ybWFsc1xuIgorIiU2ZCBkaXJlY3RvcmlzXG4iCisiJTZkIGZpdHhlcnMgZGlzcG9zaXRpdSBkZSBjYXLDoGN0ZXJcbiIKKyIlNmQgZml0eGVycyBkaXNwb3NpdGl1IGRlIGJsb2NcbiIKKyIlNmQgZW5sbGHDp29zXG4iCisiJTZkIGVubGxhw6dvcyBzaW1iw7JsaWNzXG4iCisiLS0tLS0tXG4iCisiJTZkIGZpdHhlcnNcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQxMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIkZJTEUgU1lTVEVNIEhBUyBCRUVOIENIQU5HRURcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiRUwgU0lTVEVNQSBERSBGSVRYRVJTIEhBIENBTlZJQVRcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MjMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODMzCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUzOSBkaXNrLXV0aWxzL3BhcnR4LmM6MTAzNSBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTIKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzk4IHN5cy11dGlscy9kbWVzZy5jOjY1OSBzeXMtdXRpbHMvd2RjdGwuYzozNDYKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQxMSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI3MiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjM0OQorIzogdGV4dC11dGlscy9wZy5jOjEyNDgKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgZmFpbGVkIgorbXNnc3RyICIoRml0eGVyIHNlZ8O8ZW50OiAlcykiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbWlnaHQgbm90IGJlIGFuIElTTyBmaWxlc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VlayBlcnJvciBvbiAlcyIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIGEgJXNcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZWFkIGVycm9yIG9uICVzIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBkZSBsZWN0dXJhIGEgJXNcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlY3RvciBjb3VudDogJWQsIHNlY3RvciBzaXplOiAlZFxuIgorbXNnc3RyICJjb21wdGUgZGUgc2VjdG9yczogJWQsIG1pZGEgZGVsIHNlY3RvcjogJWRcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxpc285NjYwX2ltYWdlX2ZpbGU+XG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTc0Cittc2dpZCAiU2hvdyB0aGUgbGVuZ3RoIG9mIGFuIElTTy05NjYwIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTc3Cittc2dpZCAiIC1kLCAtLWRpdmlzb3I9PG51bWJlcj4gIGRpdmlkZSB0aGUgYW1vdW50IG9mIGJ5dGVzIGJ5IDxudW1iZXI+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTc4CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBzaG93IHNlY3RvciBjb3VudCBhbmQgc2l6ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MjEwCittc2dpZCAiaW52YWxpZCBkaXZpc29yIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3NworbXNnaWQgIk1ha2UgYW4gU0NPIGJmcyBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLU4sIC0taW5vZGVzPU5VTSAgICBzcGVjaWZ5IGRlc2lyZWQgbnVtYmVyIG9mIGlub2Rlc1xuIgorIiAtViwgLS12bmFtZT1OQU1FICAgIHNwZWNpZnkgdm9sdW1lIG5hbWVcbiIKKyIgLUYsIC0tZm5hbWU9TkFNRSAgICBzcGVjaWZ5IGZpbGUgc3lzdGVtIG5hbWVcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorIiAtYyAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKKyIgLWwgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAtViBhcyB2ZXJzaW9uIG11c3QgYmUgb25seSBvcHRpb25cbiIKKyIgLWgsIC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNDQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICJOb21icmUgaW52w6BsaWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTAKK21zZ2lkICJ2b2x1bWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAibm9tIGRlbCB2b2x1bSBtYXNzYSBsbGFyZyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1NworbXNnaWQgImZzbmFtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICJub20gZGVsIHNpc3RlbWEgZGUgZml0eGVycyBtYXNzYSBsbGFyZyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGJsb2NrLWNvdW50IgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGludsOgbGlkIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAibm8gZXMgcG90IG9idGVuaXIgbGEgbWlkYSBkZSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmxvY2tzIGFyZ3VtZW50IHRvbyBsYXJnZSwgbWF4IGlzICVsbHUiCittc2dzdHIgImVsIG5vbWJyZSBkZSBibG9jcyBlcyBtYXNzYSBncmFuLCBlbCBtw6B4aW0gw6lzIGRlICVsdSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIxOQorbXNnaWQgInRvbyBtYW55IGlub2RlcyAtIG1heCBpcyA1MTIiCittc2dzdHIgIm1hc3NhIG5vZGVzIGQnaWRlbnRpZmljYWNpw7M7IGVsIG3DoHhpbSDDqXMgZGUgNTEyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlLCBuZWVkIGF0IGxlYXN0ICVsbHUgYmxvY2tzIgorbXNnc3RyICJubyBoaSBoYSBwcm91IGVzcGFpLCBjb20gYSBtw61uaW0gZXMgbmVjZXNzaXRlbiAlbHUgYmxvY3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlOiAlc1xuIgorbXNnc3RyICJEaXNwb3NpdGl1OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIlZvbHVtZTogPCUtNnM+XG4iCittc2dzdHIgIlZvbHVtOiA8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJGU25hbWU6IDwlLTZzPlxuIgorbXNnc3RyICJOb21fU2lzLkZpdDogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tTaXplOiAlZFxuIgorbXNnc3RyICJNaWRhQmxvYzogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluIDEgYmxvY2spXG4iCittc2dzdHIgIk5vZGVzIGQnaWRlbnRpZmljYWNpw7M6ICVkIChhbCAxIGJsb2MpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAlbGx1IGJsb2NrcylcbiIKK21zZ3N0ciAiTm9kZXMgZCdpZGVudGlmaWNhY2nDszogJWQgKGFscyAlbGQgYmxvY3MpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrczogJWxsdVxuIgorbXNnc3RyICJCbG9jczogJWxkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgZW5kOiAlZCwgRGF0YSBlbmQ6ICVkXG4iCittc2dzdHIgIsOabHRpbSBub2RlIGQnaWRlbnRpZmljYWNpw7M6ICVkLCBEYWRhIGZpbmFsOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU3Cittc2dpZCAiZXJyb3Igd3JpdGluZyBzdXBlcmJsb2NrIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGVzY3JpdXJlIGVsIHN1cGVyYmxvYyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI3OAorbXNnaWQgImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBlc2NyaXVyZSBlbCBub2RlIGQnaWRlbnRpZmljYWNpw7MgYXJyZWwiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODMKK21zZ2lkICJlcnJvciB3cml0aW5nIGlub2RlIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGVzY3JpdXJlIGVsIG5vZGUgZCdpZGVudGlmaWNhY2nDsyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4NgorbXNnaWQgInNlZWsgZXJyb3IiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjkyCittc2dpZCAiZXJyb3Igd3JpdGluZyAuIGVudHJ5IgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGVzY3JpdXJlIGwnZW50cmFkYSAuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjk2Cittc2dpZCAiZXJyb3Igd3JpdGluZyAuLiBlbnRyeSIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBlc2NyaXVyZSBsJ2VudHJhZGEgLi4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2xvc2luZyAlcyIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiB0YW5jYXIgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstdCA8dHlwZT5dIFtmcy1vcHRpb25zXSA8ZGV2aWNlPiBbPHNpemU+XVxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogbWtmcyBbLVZdIFstdCB0aXB1c19zaXMuX2ZpdHguXSBbb3BjaW9uc19zaXMuX2ZpdHguXSAgZGlzcG9zaXRpdSBbbWlkYV1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDgKKyMsIGZ1enp5Cittc2dpZCAiTWFrZSBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkludHJvZHXDr3UgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVyczogIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICIgLXQsIC0tdHlwZT08dHlwZT4gIGZpbGVzeXN0ZW0gdHlwZTsgd2hlbiB1bnNwZWNpZmllZCwgZXh0MiBpcyB1c2VkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICBmcy1vcHRpb25zICAgICBwYXJhbWV0ZXJzIGZvciB0aGUgcmVhbCBmaWxlc3lzdGVtIGJ1aWxkZXJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxkZXZpY2U+ICAgICAgIHBhdGggdG8gdGhlIGRldmljZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8c2l6ZT4gICAgICAgICBudW1iZXIgb2YgYmxvY2tzIHRvIGJlIHVzZWQgb24gdGhlIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5aW5nIC1WIG1vcmUgdGhhbiBvbmNlIHdpbGwgY2F1c2UgYSBkcnktcnVuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJzaW9uICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0O1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAtViBhcyAtLXZlcnNpb24gbXVzdCBiZSB0aGUgb25seSBvcHRpb25cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1oLCAtLWhlbHAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjEzOSBsaWIvZXhlY19zaGVsbC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjIzMworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjU3IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk5MgorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwMCBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODA0IHNjaGVkdXRpbHMvY2hydC5jOjU1OAorIzogc2NoZWR1dGlscy9pb25pY2UuYzoyNjAgc2NoZWR1dGlscy90YXNrc2V0LmM6MjM5IHN5cy11dGlscy9mbG9jay5jOjEyMgorIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MzAgc3lzLXV0aWxzL3BybGltaXQuYzo2NDQgc3lzLXV0aWxzL3J0Y3dha2UuYzo1NzcKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzI0IHN5cy11dGlscy9zZXRhcmNoLmM6NDAzIHN5cy11dGlscy9zZXRzaWQuYzoxMTUKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozNDAgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjQyIHN5cy11dGlscy91bnNoYXJlLmM6NDYxCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU4MSB0ZXh0LXV0aWxzL3BnLmM6MTM3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGV4ZWN1dGUgJXMiCittc2dzdHIgIm5vIGhhIGVzdGF0IHBvc3NpYmxlIGV4ZWN1dGFyIGlvY3RsKCkgcGVyIGxsZWdpciBsJ2hvcmEgZGUgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1c2FnZTogJXMgWy1oXSBbLXZdIFstYiBibGtzaXplXSBbLWUgZWRpdGlvbl0gWy1OIGVuZGlhbl0gWy1pIGZpbGVdIFstbiBuYW1lXSBkaXJuYW1lIG91dGZpbGVcbiIKKyIgLWggICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyIgLXYgICAgICAgICBiZSB2ZXJib3NlXG4iCisiIC1FICAgICAgICAgbWFrZSBhbGwgd2FybmluZ3MgZXJyb3JzIChub24temVybyBleGl0IHN0YXR1cylcbiIKKyIgLWIgYmxrc2l6ZSB1c2UgdGhpcyBibG9ja3NpemUsIG11c3QgZXF1YWwgcGFnZSBzaXplXG4iCisiIC1lIGVkaXRpb24gc2V0IGVkaXRpb24gbnVtYmVyIChwYXJ0IG9mIGZzaWQpXG4iCisiIC1OIGVuZGlhbiAgc2V0IGNyYW1mcyBlbmRpYW5uZXNzIChiaWd8bGl0dGxlfGhvc3QpLCBkZWZhdWx0IGhvc3RcbiIKKyIgLWkgZmlsZSAgICBpbnNlcnQgYSBmaWxlIGltYWdlIGludG8gdGhlIGZpbGVzeXN0ZW0gKHJlcXVpcmVzID49IDIuNC4wKVxuIgorIiAtbiBuYW1lICAgIHNldCBuYW1lIG9mIGNyYW1mcyBmaWxlc3lzdGVtXG4iCisiIC1wICAgICAgICAgcGFkIGJ5ICVkIGJ5dGVzIGZvciBib290IGNvZGVcbiIKKyIgLXMgICAgICAgICBzb3J0IGRpcmVjdG9yeSBlbnRyaWVzIChvbGQgb3B0aW9uLCBpZ25vcmVkKVxuIgorIiAteiAgICAgICAgIG1ha2UgZXhwbGljaXQgaG9sZXMgKHJlcXVpcmVzID49IDIuMy4zOSlcbiIKKyIgZGlybmFtZSAgICByb290IG9mIHRoZSBmaWxlc3lzdGVtIHRvIGJlIGNvbXByZXNzZWRcbiIKKyIgb3V0ZmlsZSAgICBvdXRwdXQgZmlsZVxuIgorbXNnc3RyICIiCisiZm9ybWEgZCfDunM6ICVzIFstaF0gWy12XSBbLWIgYmxrc3pdIFstZSBlZGljacOzXSBbLWkgZml0eGVyXSBbLW4gbm9tXSBub21fZGlyIHNvcnRpZGFcbiIKKyIgLWggICAgICAgIG1vc3RyYSBhcXVlc3RhIGFqdWRhXG4iCisiIC12ICAgICAgICBtw6lzIG1pc3NhdGdlc1xuIgorIiAtRSAgICAgICAgY29udmVydGVpeCBlbHMgYXZpc29zIGVuIGVycm9ycyAoZXN0YXQgZGUgc29ydGlkYSBubyB6ZXJvKVxuIgorIiAtYiAgICAgICAgdXRpbGl0emEgYXF1ZXN0YSBtaWRhIGRlIGJsb2MsIGhhIGRlIHNlciBpZ3VhbCBxdWUgbGEgbWlkYVxuIgorIiAgICAgICAgICAgZGUgcMOgZ2luYVxuIgorIiAtZSBlZGljacOzIGVzdGFibGVpeCBlbCBuw7ptZXJvIGQnZWRpY2nDsyAocGFydCBkZSBmc2lkKVxuIgorIiAtaSBmaXR4ZXIgaW5zZXJlaXggdW5hIGltYXRnZSBkZSBmaXR4ZXIgYWwgc2lzdGVtYSBkZSBmaXR4ZXJzXG4iCisiICAgICAgICAgICAocmVxdWVyZWl4ID49IDIuNC4wKVxuIgorIiAtbiBub20gICAgZXN0YWJsZWl4IGVsIG5vbSBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzIGNyYW1mc1xuIgorIiAtcCAgICAgICAgZGVzcGxhw6dhICVkIG9jdGV0cyBwZXIgYWwgY29kaSBkJ2FycmVuY2FkYVxuIgorIiAtcyAgICAgICAgb3JkZW5hIGxlcyBlbnRyYWRlcyBkZSBkaXJlY3RvcmkgKG9wY2nDsyBhbnRpZ2EsIHMnaWdub3JhKVxuIgorIiAteiAgICAgICAgY3JlYSBmb3JhdHMgZXhwbMOtY2l0cyAocmVxdWVyZWl4ID49IDIuMy4zOSlcbiIKKyIgbm9tX2RpciAgIGFycmVsIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnMgcXVlIGVzIGNvbXByaW1pcsOgXG4iCisiIHNvcnRpZGEgICBmaXR4ZXIgZGUgc29ydGlkYVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZWFkbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICIoRml0eGVyIHNlZ8O8ZW50OiAlcykiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAiZWwgbm9kZSBkJ2lkZW50aWZpY2FjacOzIGFycmVsIG5vIMOpcyB1biBkaXJlY3RvcmkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo0NDMKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSB0b28gYmlnLiAgRXhpdGluZy4iCittc2dzdHIgImVsIHNpc3RlbWEgZGUgZml0eGVycyDDqXMgbWFzc2EgZ3Jhbi4gUydlc3TDoCBzb3J0aW50LlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkFJRUVFOiBibG9jayBcImNvbXByZXNzZWRcIiB0byA+IDIqYmxvY2tsZW5ndGggKCVsZClcbiIKK21zZ3N0ciAiRXA6IGJsb2MgXCJjb21wcmltaXRcIiBhID4gMipsb25naXR1ZGRlbGJsb2MgKCVsZClcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJTYuMmYlJSAoJStsZCBieXRlcylcdCVzXG4iCittc2dzdHIgIiU2LjJmJSUgKCUrZCBvY3RldHMpXHQlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2xvc2UgZmlsZSAlcyIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBvYnJpciBlbCBmaXR4ZXIgJyVzJyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjczMgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGludsOgbGlkIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzQyCittc2dpZCAiaW52YWxpZCBlbmRpYW5uZXNzIGdpdmVuOyBtdXN0IGJlICdiaWcnLCAnbGl0dGxlJywgb3IgJ2hvc3QnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGd1ZXN0aW1hdGUgb2YgcmVxdWlyZWQgc2l6ZSAodXBwZXIgYm91bmQpIGlzICVsbGRNQiwgYnV0IG1heGltdW0gaW1hZ2Ugc2l6ZSBpcyAldU1CLiAgV2UgbWlnaHQgZGllIHByZW1hdHVyZWx5LiIKK21zZ3N0ciAiYXbDrXM6IHMnZXN0aW1hIHF1ZSBsYSBtaWRhIHJlcXVlcmlkYSAoY290YSBzdXBlcmlvcikgw6lzIGQgJUxkTUIsIHBlcsOyIGxhIG1pZGEgbcOgeGltYSBkZSBsYSBpbWF0Z2Ugw6lzICV1TUIuIEVzIHBvZHJpYSBzb3J0aXIgcHJlbWF0dXJhbWVudC5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgzMAorbXNnaWQgIlJPTSBpbWFnZSBtYXAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg0MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbmNsdWRpbmc6ICVzXG4iCittc2dzdHIgIlMnZXN0w6AgaW5jbG9lbnQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpcmVjdG9yeSBkYXRhOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiRGFkZXMgZGVsIGRpcmVjdG9yaTogJWQgb2N0ZXRzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkV2ZXJ5dGhpbmc6ICV6ZCBraWxvYnl0ZXNcbiIKK21zZ3N0ciAiVG90OiAlZCBraWxvb2N0ZXRzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN1cGVyIGJsb2NrOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiU8O6cGVyIGJsb2M6ICVkIG9jdGV0c1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNSQzogJXhcbiIKK21zZ3N0ciAiQ1JDOiAleFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlIGFsbG9jYXRlZCBmb3IgUk9NIGltYWdlICglbGxkIGFsbG9jYXRlZCwgJXp1IHVzZWQpIgorbXNnc3RyICJubyBoaSBoYSBwcm91IGVzcGFpIHBlciBhIGxhIGltYXRnZSBST00gKGFzc2lnbmF0cyAlTGQsIGVtcHJhdHMgJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJPTSBpbWFnZSB3cml0ZSBmYWlsZWQgKCV6ZCAlemQpIgorbXNnc3RyICJObyDDqXMgcG9zc2libGUgZXNjcml1cmUgbGEgaW1hdGdlIFJPTSAoJWQgJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODIKK21zZ2lkICJST00gaW1hZ2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZW5hbWVzIHRydW5jYXRlZCB0byAldSBieXRlcy4iCittc2dzdHIgImF2w61zOiBlbHMgbm9tcyBkZSBmaXR4ZXIgZXMgdHJ1bnF1ZW4gYSAyNTUgb2N0ZXRzLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODkzCisjLCBmdXp6eQorbXNnaWQgIndhcm5pbmc6IGZpbGVzIHdlcmUgc2tpcHBlZCBkdWUgdG8gZXJyb3JzLiIKK21zZ3N0ciAiYXbDrXM6IHMnaGFuIHNhbHRhdCBmaXR4ZXJzIGRlZ3V0IGEgZXJyb3JzLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlIHNpemVzIHRydW5jYXRlZCB0byAlbHVNQiAobWludXMgMSBieXRlKS4iCittc2dzdHIgImF2w61zOiBsYSBtaWRhIGRlbHMgZml0eGVycyBlcyB0cnVuY2EgYSAlbHVNQiAobWVueXMgMSBvY3RldCkuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHVpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgImF2w61zOiBlbHMgaWRlbnRpZmljYWRvcnMgZCd1c3VhcmkgKHVpZCkgZXMgdHJ1bnF1ZW4gYSAldSBiaXRzLCAgKHBvZHJpYSBzZXIgdW4gcHJvYmxlbWEgZGUgc2VndXJldGF0KS5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ2lkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAiYXbDrXM6IGVscyBpZGVudGlmaWNhZG9ycyBkZSBncnVwIChnaWQpIGVzIHRydW5xdWVuIGEgJXUgYml0cy4gIChQb2RyaWEgc2VyIHVuIHByb2JsZW1hIGRlIHNlZ3VyZXRhdCkuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXQVJOSU5HOiBkZXZpY2UgbnVtYmVycyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIFRoaXMgYWxtb3N0IGNlcnRhaW5seSBtZWFuc1xuIgorInRoYXQgc29tZSBkZXZpY2UgZmlsZXMgd2lsbCBiZSB3cm9uZy4iCittc2dzdHIgIiIKKyJBVsONUzogZWxzIG5vbWJyZXMgZGUgZGlzcG9zaXRpdSBlcyB0cnVucXVlbiBhICV1IGJpdHMuIMOJcyBnYWlyZWLDqSBzZWd1ciBxdWVcbiIKKyJhaXjDsiBwcm92b2NhcsOgIHF1ZSBhbGd1bnMgZGlzcG9zaXRpdXMgZGUgZml0eGVycyBzaWd1aW4gZXJyb25pcy5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC9kZXYvbmFtZSBbYmxvY2tzXVxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzNworIywgZnV6enkKK21zZ2lkICIgLTEgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiIC0yLCAtdiAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDJcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM5CisjLCBmdXp6eQorbXNnaWQgIiAtMyAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmFtZWxlbmd0aCA8bnVtPiAgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzXG4iCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlub2RlcyA8bnVtPiAgICAgIG51bWJlciBvZiBpbm9kZXMgZm9yIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIkludHJvZHXDr3UgZWwgbm9tYnJlIGRlIGNpbGluZHJlczogIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIGNoZWNrIHRoZSBkZXZpY2UgZm9yIGJhZCBibG9ja3NcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MworbXNnaWQgIiAtbCwgLS1iYWRibG9ja3MgPGZpbGU+ICBsaXN0IG9mIGJhZCBibG9ja3MgZnJvbSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayB0byBib290IGJsb2NrIGZhaWxlZCAgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNlcmNhciBlbCBibG9jIGQnYXJyZW5jYWRhIGEgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gY2xlYXIgYm9vdCBzZWN0b3IiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgbmV0ZWphciBlbCBzZWN0b3IgZCdhcnJlbmNhZGEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIgYSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAibm8gZXMgcG90IGVzY3JpdXJlIGVsIHN1cGVyYmxvYyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBlbCBtYXBhIGRlbHMgbm9kZXMgZCdpZGVudGlmaWNhY2nDsyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGVsIG1hcGEgZGUgem9uZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgZWxzIG5vZGVzIGQnaWRlbnRpZmljYWNpw7MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGZlciB1bmEgY2VyY2EgZW4gd3JpdGVfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBhIHdyaXRlX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMjEgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Mjk2CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzozNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbWFueSBiYWQgYmxvY2tzIgorbXNnc3RyICJoaSBoYSBtYXNzYSBibG9jcyBpbmNvcnJlY3RlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGVub3VnaCBnb29kIGJsb2NrcyIKK21zZ3N0ciAibm8gaGkgaGEgcHJvdSBibG9jcyBjb3JyZWN0ZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRmlyc3QgZGF0YSBibG9jayBhdCAlamQsIHdoaWNoIGlzIHRvbyBmYXIgKG1heCAlZCkuXG4iCisiVHJ5IHNwZWNpZnlpbmcgZmV3ZXIgaW5vZGVzIGJ5IHBhc3NpbmcgLS1pbm9kZXMgPG51bT4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlbHUgaW5vZGVcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGlub2Rlc1xuIgorbXNnc3RyWzBdICIlbGQgbm9kZXMgZCdpZGVudGlmaWNhY2nDs1xuIgorbXNnc3RyWzFdICIlbGQgbm9kZXMgZCdpZGVudGlmaWNhY2nDs1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVsdSBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlbHUgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVsZCBibG9jc1xuIgorbXNnc3RyWzFdICIlbGQgYmxvY3NcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJab25lc2l6ZT0lenVcbiIKK21zZ3N0ciAiTWlkYSBkZSBsYSB6b25hPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIk1heHNpemU9JXp1XG4iCisiXG4iCittc2dzdHIgIiIKKyJNaWRhX23DoHguPSVsZFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBkdXJpbmcgdGVzdGluZyBvZiBibG9ja3MiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgY2VyY2FyIGR1cmFudCBsYSBjb21wcm92YWNpw7MgZGUgYmxvY3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJXZWlyZCB2YWx1ZXMgaW4gZG9fY2hlY2s6IHByb2JhYmx5IGJ1Z3NcbiIKK21zZ3N0ciAiSGkgaGEgdmFsb3JzIGVzdHJhbnlzIGEgZG9fY2hlY2s6IHByb2JhYmxlbWVudCBoaSBoYSBlcnJvcnNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGNlcmNhciBhIGNoZWNrX2Jsb2NrcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGJsb2NrcyBiZWZvcmUgZGF0YS1hcmVhOiBjYW5ub3QgbWFrZSBmcyIKK21zZ3N0ciAiYmxvY3MgaW5jb3JyZWN0ZXMgYWJhbnMgZGUgbCfDoHJlYSBkZSBkYWRlczogbm8gcydoYSBwb2d1dCBjcmVhciBlbCBzaXN0ZW1hIGRlIGZpdHhlcnMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzOSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIGJhZCBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlZCBiYWQgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVkIGJsb2NzIGluY29ycmVjdGVzXG4iCittc2dzdHJbMV0gIiVkIGJsb2NzIGluY29ycmVjdGVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IG9wZW4gZmlsZSBvZiBiYWQgYmxvY2tzIgorbXNnc3RyICJubyBlcyBwb3Qgb2JyaXIgZWwgZml0eGVyIGRlIGJsb2NzIGluY29ycmVjdGVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkYmxvY2sgbnVtYmVyIGlucHV0IGVycm9yIG9uIGxpbmUgJWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBiYWRibG9ja3MgZmlsZSIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBsbGVnaXIgbGEgdW5pdGF0IGRlIGRpc2MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5NAorIywgYy1mb3JtYXQKK21zZ2lkICJibG9jayBzaXplIHNtYWxsZXIgdGhhbiBwaHlzaWNhbCBzZWN0b3Igc2l6ZSBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgc2l6ZSBvZiAlcyIKK21zZ3N0ciAibm8gZXMgcG90IG9idGVuaXIgbGEgbWlkYSBkZSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZXF1ZXN0ZWQgYmxvY2tzICglbGx1KSBleGNlZWRzIGF2YWlsYWJsZSAoJWxsdSkgYmxvY2tzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbnVtYmVyIG9mIGJsb2NrcyB0b28gc21hbGwiCittc2dzdHIgIk5vbWJyZSBkZSBzZWN0b3JzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MjMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBuYW1lIGxlbmd0aDogJWQiCittc2dzdHIgIiVzOiBhcmd1bWVudCBkZXNjb25lZ3V0OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG1pbml4IGZpbGUgc3lzdGVtIHZlcnNpb246ICVkIgorbXNnc3RyICJJbnRyb2R1w691IGVsIHRpcHVzIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnM6ICIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzY3Cittc2dpZCAiLXYgaXMgYW1iaWd1b3VzLCB1c2UgJy0yJyBpbnN0ZWFkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc3OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzgyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODA2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgYmxvY2tzIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2UgYSBmaWxlc3lzdGVtIGhlcmUhIgorbXNnc3RyICIlcyBqYSBlc3TDoCBtdW50YXQ7IG5vIHMnaGkgY3JlYXLDoCBjYXAgc2lzdGVtYSBkZSBmaXR4ZXJzLiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQmFkIHVzZXItc3BlY2lmaWVkIHBhZ2Ugc2l6ZSAldSIKK21zZ3N0ciAiTGEgbWlkYSBkZSBsYSBww6BnaW5hIHF1ZSBoYSBlc3BlY2lmaWNhdCBsJ3VzdWFyaSwgJWQsIG5vIMOpcyBjb3JyZWN0ZVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2luZyB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJWQsIGluc3RlYWQgb2YgdGhlIHN5c3RlbSB2YWx1ZSAlZCIKK21zZ3N0ciAiUydlc3TDoCBmZW50IHNlcnZpciBsYSBtaWRhIGRlIGxhIHDDoGdpbmEgJWQgZXNwZWNpZmljYWRhIHBlciBsJ3VzdWFyaSwgZW4gY29tcHRlcyBkZWxzIHZhbG9ycyBkZWwgc2lzdGVtYSAlZC8lZFxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEyNAorIywgZnV6enkKK21zZ2lkICJMYWJlbCB3YXMgdHJ1bmNhdGVkLiIKK21zZ3N0ciAiUydoYSB0cnVuY2F0IGwnZXRpcXVldGEuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGxhYmVsLCAiCittc2dzdHIgInNlbnNlIGV0aXF1ZXRhLCAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHV1aWRcbiIKK21zZ3N0ciAic2Vuc2UgdXVpZFxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc10gZGV2aWNlIFtzaXplXVxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTUyCittc2dpZCAiU2V0IHVwIGEgTGludXggc3dhcCBhcmVhLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIGNoZWNrIGJhZCBibG9ja3MgYmVmb3JlIGNyZWF0aW5nIHRoZSBzd2FwIGFyZWFcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBhbGxvdyBzd2FwIHNpemUgYXJlYSBiZSBsYXJnZXIgdGhhbiBkZXZpY2VcbiIKKyIgLXAsIC0tcGFnZXNpemUgU0laRSAgICAgICBzcGVjaWZ5IHBhZ2Ugc2l6ZSBpbiBieXRlc1xuIgorIiAtTCwgLS1sYWJlbCBMQUJFTCAgICAgICAgIHNwZWNpZnkgbGFiZWxcbiIKKyIgLXYsIC0tc3dhcHZlcnNpb24gTlVNICAgICBzcGVjaWZ5IHN3YXAtc3BhY2UgdmVyc2lvbiBudW1iZXJcbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICBzcGVjaWZ5IHRoZSB1dWlkIHRvIHVzZVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgYmFkIHBhZ2VzOiAlbHUiCittc2dzdHIgImhpIGhhIG1hc3NhIHDDoGdpbmVzIGluY29ycmVjdGVzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE5NQorbXNnaWQgInNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBjZXJjYXIgYSBjaGVja19ibG9ja3MiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmFkIHBhZ2VcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJhZCBwYWdlc1xuIgorbXNnc3RyWzBdICIlbHUgcMOgZ2luZXMgaW5jb3JyZWN0ZXNcbiIKK21zZ3N0clsxXSAiJWx1IHDDoGdpbmVzIGluY29ycmVjdGVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjI4CisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBuZXcgbGliYmxraWQgcHJvYmUiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbWVtw7JyaWEgaW50ZXJtw6hkaWEgcGVyIGFscyBub2RlcyBkJ2lkZW50aWZpY2FjacOzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIzMAorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gYXNzaWduIGRldmljZSB0byBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBhc3NpZ25hciBtZW3DsnJpYSBpbnRlcm3DqGRpYSBwZXIgYWxzIG5vZGVzIGQnaWRlbnRpZmljYWNpw7MiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjaGVja2luZyBiYWQgYmxvY2tzIGZyb20gc3dhcCBmaWxlIGlzIG5vdCBzdXBwb3J0ZWQ6ICVzIgorbXNnc3RyICJBdsOtczogTCdvcGNpw7MgbmFtbGVuIG5vIGVzdMOgIGltcGxlbWVudGFkYS5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNjEgZGlzay11dGlscy9ta3N3YXAuYzoyODcgZGlzay11dGlscy9ta3N3YXAuYzozMzQKK21zZ2lkICJ1bmFibGUgdG8gcmV3aW5kIHN3YXAtZGV2aWNlIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHJlYm9iaW5hciBlbCBkaXNwb3NpdGl1IGQnaW50ZXJjYW52aSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyOTAKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgbmV0ZWphciBlbCBzZWN0b3IgZCdhcnJlbmNhZGEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiB3aXBpbmcgb2xkICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiBkb24ndCBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG5ldGVqYXIgZWwgc2VjdG9yIGQnYXJyZW5jYWRhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoJXMgcGFydGl0aW9uIHRhYmxlIGRldGVjdGVkKS4gIgorbXNnc3RyICIgICBwICAgaW1wcmltZWl4IGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgQlNEIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoY29tcGlsZWQgd2l0aG91dCBsaWJibGtpZCkuICIKK21zZ3N0ciAiICAgcyAgIG1vc3RyYSB0b3RlcyBsZXMgZXRpcXVldGVzIGRlbCBkaXNjIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNlIC1mIHRvIGZvcmNlLlxuIgorbXNnc3RyICJVc2V1ICVzIC1sIHBlciB2ZXVyZSduIGxhIGxsaXN0YS5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc2lnbmF0dXJlIHBhZ2UiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcMOgZ2luYSBkZSBsYSBzaWduYXR1cmEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzgwCisjLCBmdXp6eQorbXNnaWQgInBhcnNpbmcgcGFnZSBzaXplIGZhaWxlZCIKK21zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4NgorIywgZnV6enkKK21zZ2lkICJwYXJzaW5nIHZlcnNpb24gbnVtYmVyIGZhaWxlZCIKK21zZ3N0ciAic2Vtw6Bmb3JzIGFzc2lnbmF0cyA9ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg5CisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBzcGFjZSB2ZXJzaW9uICVkIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogaWdub3JpbmcgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCBieSAlcykiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MTQKK21zZ2lkICJvbmx5IG9uZSBkZXZpY2UgYXJndW1lbnQgaXMgY3VycmVudGx5IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQyMQorIywgZnV6enkKK21zZ2lkICJlcnJvcjogcGFyc2luZyBVVUlEIGZhaWxlZCIKK21zZ3N0ciAiIgorIlxuIgorIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gdGFuY2FyIGVsIGZpdHhlclxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzMAorIywgZnV6enkKK21zZ2lkICJlcnJvcjogTm93aGVyZSB0byBzZXQgdXAgc3dhcCBvbj8iCittc2dzdHIgIiVzOiBlcnJvcjogbm8gZXMgcG90IGVzcGVjaWZpY2FyIGwnZXNwYWkgZCdpbnRlcmNhbnZpIGVubGxvYz9cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBibG9jayBjb3VudCBhcmd1bWVudCIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzaXplICVsbHUgS2lCIGlzIGxhcmdlciB0aGFuIGRldmljZSBzaXplICU8UFJJdTY0PiBLaUIiCittc2dzdHIgIiVzOiBlcnJvcjogbGEgbWlkYSAlbHUgZXMgbcOpcyBncmFuIHF1ZSBhIGxhIG1pZGEgZGVsIGRpc3Bvc2l0aXUgJWx1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc3dhcCBhcmVhIG5lZWRzIHRvIGJlIGF0IGxlYXN0ICVsZCBLaUIiCittc2dzdHIgIiVzOiBlcnJvcjogbCdlc3BhaSBkJ2ludGVyY2FudmkgaGEgZGUgdGVuaXIgY29tIGEgbcOtbmltICVsZGtCXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB0cnVuY2F0aW5nIHN3YXAgYXJlYSB0byAlbGx1IEtpQiIKK21zZ3N0ciAiJXM6IGF2w61zOiBsJ2VzcGFpIGQnaW50ZXJjYW52aSBzJ2hhIHRydW5jYXQgYSAlbGRrQlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2Ugc3dhcHNwYWNlIgorbXNnc3RyICIlcyBqYSBlc3TDoCBtdW50YXQ7IG5vIHMnaGkgY3JlYXLDoCBjYXAgc2lzdGVtYSBkZSBmaXR4ZXJzLiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0Njggc3lzLXV0aWxzL3N3YXBvbi5jOjUyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIHBlcm1pc3Npb25zICUwNG8sICUwNG8gc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IGF2w61zOiAlcyB0w6kgZWxzIHBlcm1pc29zICUwNG8gcXVlIHPDs24gaW5zZWd1cnMsIHNlIHN1Z2dlcmVpeCAlMDRvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDcyIHN5cy11dGlscy9zd2Fwb24uYzo1MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBmaWxlIG93bmVyICVkLCAwIChyb290KSBzdWdnZXN0ZWQuIgorbXNnc3RyICIlczogYXbDrXM6ICVzIHTDqSBlbHMgcGVybWlzb3MgJTA0byBxdWUgc8OzbiBpbnNlZ3Vycywgc2Ugc3VnZ2VyZWl4ICUwNG9cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0ODcKK21zZ2lkICJVbmFibGUgdG8gc2V0IHVwIHN3YXAtc3BhY2U6IHVucmVhZGFibGUiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgY29uZmlndXJhciBsJ2VzcGFpIGQnaW50ZXJjYW52aTogbm8gZXMgcG90IGxsZWdpciIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgdXAgc3dhcHNwYWNlIHZlcnNpb24gJWQsIHNpemUgPSAlcyAoJTxQUkl1NjQ+IGJ5dGVzKVxuIgorbXNnc3RyICJTJ2VzdMOgIGNvbmZpZ3VyYW50IGwnZXNwYWkgZCdpbnRlcmNhbnZpIHZlcnNpw7MgJWQsIG1pZGEgPSAlbGx1IGtCXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIG9idGFpbiBzZWxpbnV4IGZpbGUgbGFiZWwiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgcmVib2JpbmFyIGVsIGRpc3Bvc2l0aXUgZCdpbnRlcmNhbnZpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxNQorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gbWF0Y2hwYXRoY29uKCkiCittc2dzdHIgIm5vIGVzIHBvdCBmZXIgc3RhdCBwZXIgYSAlcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTgKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBuZXcgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGVscyBub2RlcyBkJ2lkZW50aWZpY2FjacOzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMAorbXNnaWQgImNvdWxkbid0IGNvbXB1dGUgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVsYWJlbCAlcyB0byAlcyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCB0b3JuYXIgYSBub21lbmFyICVzIHBlciAlczogJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg2CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIk5vbWJyZSBkZSBwYXJ0aWNpw7MiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NworIywgZnV6enkKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgIkltcHJpbWVpeCBub23DqXMgbGEgdGF1bGEgZGUgcGFydGljaW9ucyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg4CisjLCBmdXp6eQorbXNnaWQgImVuZCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcGFydGljacOzIGEgJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg5CisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJOb21icmUgZGUgc2VjdG9ycyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkwCittc2dpZCAiaHVtYW4gcmVhZGFibGUgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTEKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIG5hbWUiCittc2dzdHIgIk5vbWJyZSBkZSBwYXJ0aWNpw7MiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDggbWlzYy11dGlscy9sc2Jsay5jOjE2OAorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpY2lvbnM6XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MworIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUgdHlwZSAoZG9zLCBncHQsIC4uLikiCittc2dzdHIgIlMnZXN0w6AgZXNjcml2aW50IGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgYWwgZGlzYy4uLiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk0IG1pc2MtdXRpbHMvbHNibGsuYzoxNjkKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIGZsYWdzIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGljaW9uczpcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1Cittc2dpZCAicGFydGl0aW9uIHR5cGUgKGEgc3RyaW5nLCBhIFVVSUQsIG9yIGhleCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUwOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjYxNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wY3h0IgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIGxhIG1lbcOycmlhIHRlbXBvcmFsLlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczogbm8gcydoYSB0cm9iYXQgY2FwIGRpc3Bvc2l0aXUgbG9vcCBsbGl1cmUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRyeWluZyB0byB1c2UgJyVzJyBmb3IgdGhlIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIm1vdW50OiBzJ3VzYXLDoCBlbCBkaXNwb3NpdGl1IGxvb3AgJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYmFja2luZyBmaWxlIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEzMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjU1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgcmVib2JpbmFyIGVsIGRpc3Bvc2l0aXUgZCdpbnRlcmNhbnZpIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTYxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzA3IG1pc2MtdXRpbHMvZmluZG1udC5jOjM3NgorIzogbWlzYy11dGlscy9sc2Jsay5jOjM1NCBtaXNjLXV0aWxzL2xzbG9ja3MuYzozNDIgc3lzLXV0aWxzL2xvc2V0dXAuYzoxMDcKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM3MiBzeXMtdXRpbHMvbHNpcGMuYzoyMzIgc3lzLXV0aWxzL2xzbnMuYzoxODkKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjc3IHN5cy11dGlscy9zd2Fwb24uYzoxNDcgc3lzLXV0aWxzL3dkY3RsLmM6MTUxCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjE0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICIlczogT3JkcmUgZGVzY29uZWd1ZGE6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIGEgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjg2IGRpc2stdXRpbHMvcGFydHguYzozMjQgZGlzay11dGlscy9wYXJ0eC5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZpZWQgcmFuZ2UgPCVkOiVkPiBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmFuZ2UgcmVjb3VudDogbWF4IHBhcnRubz0lZCwgbG93ZXI9JWQsIHVwcGVyPSVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiQXRlbmNpw7M6IHMnZXN0YW4gc3VwcmltaW50IGxlcyBwYXJ0aWNpb25zIGRlc3Byw6lzIGRlICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICJBdGVuY2nDszogcydlc3RhbiBzdXByaW1pbnQgbGVzIHBhcnRpY2lvbnMgZGVzcHLDqXMgZGUgJWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVtb3ZlZFxuIgorbXNnc3RyICJObyBoaSBoYW4gcGFydGljaW9ucyBkZWZpbmlkZXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgZG9lc24ndCBleGlzdFxuIgorbXNnc3RyICJBcXVlc3RhIHBhcnRpY2nDsyBqYSBleGlzdGVpeC5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRlbGV0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICJTJ2hhIHNlbGVjY2lvbmF0IGxhIHBhcnRpY2nDsyAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAibm8gZXN0w6AgY29udGluZ3V0IGEgZGlucyBkZSBsYSBwYXJ0aWNpw7MgJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICJBdsOtczogbGVzIHBhcnRpY2lvbnMgJXMgIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDA1IGRpc2stdXRpbHMvcGFydHguYzo1MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGFkZGVkXG4iCittc2dzdHIgIk5vIGhpIGhhbiBwYXJ0aWNpb25zIGRlZmluaWRlc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYWRkaW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIkF0ZW5jacOzOiBzJ2VzdGFuIHN1cHJpbWludCBsZXMgcGFydGljaW9ucyBkZXNwcsOpcyBkZSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiQXRlbmNpw7M6IHMnZXN0YW4gc3VwcmltaW50IGxlcyBwYXJ0aWNpb25zIGRlc3Byw6lzIGRlICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBwYXJ0aXRpb24gIyVkIgorbXNnc3RyICJObyBoaSBoYW4gcGFydGljaW9ucyBkZWZpbmlkZXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVzaXplZFxuIgorbXNnc3RyICJObyBoaSBoYW4gcGFydGljaW9ucyBkZWZpbmlkZXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVwZGF0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICJTJ2hhIHNlbGVjY2lvbmF0IGxhIHBhcnRpY2nDsyAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWN0b3IsICU2anUgTUIpXG4iCittc2dpZF9wbHVyYWwgIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWN0b3JzLCAlNmp1IE1CKVxuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU4MSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2ODggbWlzYy11dGlscy9maW5kbW50LmM6NzA1CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozOTEgc3lzLXV0aWxzL2xzbnMuYzo0NTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBsaW5lIHRvIG91dHB1dCIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBsYSBtZW3DsnJpYSB0ZW1wb3JhbC5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY0NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWRkIGRhdGEgdG8gb3V0cHV0IHRhYmxlIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIGxhIG1lbcOycmlhIHRlbXBvcmFsLlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjY3IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTIyIG1pc2MtdXRpbHMvZmluZG1udC5jOjE1ODUKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODc0IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ1MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjMxMAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTcxMyBzeXMtdXRpbHMvbHNpcGMuYzozMzggc3lzLXV0aWxzL2xzbnMuYzo1MTEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjk3IHN5cy11dGlscy9zd2Fwb24uYzoyODAgc3lzLXV0aWxzL3dkY3RsLmM6MjU5CisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjQ4NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbGEgbWVtw7JyaWEgdGVtcG9yYWwuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NzggbWlzYy11dGlscy9maW5kbW50LmM6MTYxMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5NgorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDY1IHN5cy11dGlscy9sb3NldHVwLmM6MzIyIHN5cy11dGlscy9sb3NldHVwLmM6MzU4CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzE4IHN5cy11dGlscy9sc25zLmM6NTMyIHN5cy11dGlscy9wcmxpbWl0LmM6MzA2CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjg5IHN5cy11dGlscy93ZGN0bC5jOjI3MCBzeXMtdXRpbHMvenJhbWN0bC5jOjQ5MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIGxhIG1lbcOycmlhIHRlbXBvcmFsLlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBibGtpZCBmaWx0ZXIgZm9yICclcyciCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbGEgbWVtw7JyaWEgdGVtcG9yYWwuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInRvcm5hIGEgbGxlZ2lyIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgdHlwZSAnJXMnIGRldGVjdGVkXG4iCittc2dzdHIgIiAgIHAgICBpbXByaW1laXggbGEgdGF1bGEgZGUgcGFydGljaW9ucyBCU0QiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgd2l0aCBubyBwYXJ0aXRpb25zIgorbXNnc3RyICJFbCBkaXNjICVzIG5vIGNvbnTDqSB1bmEgdGF1bGEgZGUgcGFydGljaW9ucyB2w6BsaWRhXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8cGFydGl0aW9uPl0gPGRpc2s+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1NgorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgcHJlc2VuY2UgYW5kIG51bWJlcmluZyBvZiBwYXJ0aXRpb25zLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTkKK21zZ2lkICIgLWEsIC0tYWRkICAgICAgICAgICAgYWRkIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MAorbXNnaWQgIiAtZCwgLS1kZWxldGUgICAgICAgICBkZWxldGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYxCittc2dpZCAiIC11LCAtLXVwZGF0ZSAgICAgICAgIHVwZGF0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjIKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnNcbiIKKyJcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICBwYXLDoG1ldHJlc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYzIG1pc2MtdXRpbHMvbHNibGsuYzoxNjIzCittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NAorbXNnaWQgIiAtZywgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1zaG93XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NQorbXNnaWQgIiAtbiwgLS1uciA8bjptPiAgICAgICBzcGVjaWZ5IHRoZSByYW5nZSBvZiBwYXJ0aXRpb25zIChlLmcuIC0tbnIgMjo0KVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjYKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPWNhZGVuYV9vcGNpb25zIE9wY2lvbnMgY3VydGVzIGEgcmVjb27DqGl4ZXJcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NyBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNworIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OCBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzOAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY5Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgIHNwZWNpZnkgdGhlIHBhcnRpdGlvbiB0eXBlIChkb3MsIGJzZCwgc29sYXJpcywgZXRjLilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzcwIHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Nzc2CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdywgLS1yYXcgb3IgLS1wYWlycyk6XG4iCittc2dzdHIgIk9yZHJlcyBkaXNwb25pYmxlczpcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg0OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS1uciA8TS1OPiByYW5nZSIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MjQKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIGFuZCBkaXNrIG5hbWUgZG8gbm90IG1hdGNoIgorbXNnc3RyICIiCisiUydoYSBtb2RpZmljYXQgbGEgdGF1bGEgZGUgcGFydGljaW9ucy5cbiIKKyJcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1MgorbXNnaWQgIi0tbnIgYW5kIDxwYXJ0aXRpb24+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk3MQorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJ0aXRpb246ICVzLCBkaXNrOiAlcywgbG93ZXI6ICVkLCB1cHBlcjogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRlbGV0ZSBwYXJ0aXRpb25zIgorbXNnc3RyICJObyBlcyBwb3Qgc3VwcmltaXIgdW5hIHBhcnRpY2nDsyBidWlkYSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgcHJvYmVyIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIGxhIG1lbcOycmlhIHRlbXBvcmFsLlxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyAlMiRzcmF3TiA8bWFqb3I+IDxtaW5vcj5cbiIKKyIgJTEkcyAlMiRzcmF3TiAvZGV2LzxibG9ja2RldmljZT5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTgKK21zZ2lkICJCaW5kIGEgcmF3IGNoYXJhY3RlciBkZXZpY2UgdG8gYSBibG9jayBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MQorbXNnaWQgIiAtcSwgLS1xdWVyeSAgICBzZXQgcXVlcnkgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjIKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgcXVlcnkgYWxsIHJhdyBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgdGhlIGNvbnRyb2wgcmF3IGRldmljZSAodXNlIHJhdzxOPiB3aGVyZSA8Tj4gaXMgZ3JlYXRlciB0aGFuIHplcm8pIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIGJsb2NrIGRldmljZSAnJXMnIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGJsb2NhciBlbCBmaXR4ZXIgZGUgYmxvY2F0ICVzOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJBdsOtczogJXMgbm8gw6lzIHVuIGRpc3Bvc2l0aXUgZGUgYmxvY3NcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoxOTMgZGlzay11dGlscy9yYXcuYzoxOTYgc3lzLXV0aWxzL2lwY3JtLmM6MzUxCisjOiBzeXMtdXRpbHMvaXBjcm0uYzozNjQgc3lzLXV0aWxzL2lwY3JtLmM6Mzc3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBhcmd1bWVudCIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICJubyBlcyBwb3QgZmVyIFwic3RhdFwiIGFsIGRpc3Bvc2l0aXUgJXMiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAibm8gZXMgcG90IGZlciBcInN0YXRcIiBhbCBkaXNwb3NpdGl1ICVzIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUmF3IGRldmljZSAnJXMnIGlzIG5vdCBhIGNoYXJhY3RlciBkZXYiCittc2dzdHIgIi9kZXYvJXM6IG5vIMOpcyB1biBkaXNwb3NpdGl1IGRlIGNhcsOgY3RlciIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIHJhdyBkZXYiCittc2dzdHIgIiVzIG5vIGVzIHVuIGRpc3Bvc2l0aXUgZGUgYmxvYyBlc3BlY2lhbCIKKworIzogZGlzay11dGlscy9yYXcuYzoyNDUKKyMsIGZ1enp5Cittc2dpZCAiRXJyb3IgcXVlcnlpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBhdHVyYXIgZWwgc2VydmVpOiBcIiVzXCIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjU0IGRpc2stdXRpbHMvcmF3LmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzcmF3JWQ6ICBib3VuZCB0byBtYWpvciAlZCwgbWlub3IgJWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI2OAorIywgZnV6enkKK21zZ2lkICJFcnJvciBzZXR0aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gYXR1cmFyIGVsIHNlcnZlaTogXCIlc1wiIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxsZW5ndGg+XG4iCittc2dzdHIgImZvcm1hIGQnw7pzOiBzZmRpc2sgLS1pZCBkaXNwb3NpdGl1IHBhcnRpY2nDs19uw7ptZXJvIFtJZF1cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjMKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBudW1iZXIgJXMiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIGEgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24iCittc2dzdHIgInRvcm5hIGEgbGxlZ2lyIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjMxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBuZXN0ZWQgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBsYSBtZW3DsnJpYSB0ZW1wb3JhbC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyOTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZWVrICVzIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGJpZnVyY2FyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMwMiBsaWJmZGlzay9zcmMvYnNkLmM6NzIzIGxpYmZkaXNrL3NyYy9ic2QuYzo4OTQKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTYzIHN5cy11dGlscy9od2Nsb2NrLmM6MTY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgJXMiCittc2dzdHIgIiVzIG5vIGVzIHBvdCBvYnJpciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTEycyAob2Zmc2V0ICU1anUsIHNpemUgJTVqdSk6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBww6BnaW5hIGRlIGxhIHNpZ25hdHVyYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMjgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCBmaWxlLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcMOgZ2luYSBkZSBsYSBzaWduYXR1cmEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzU0Cittc2dpZCAiQmFja3VwIGZpbGVzOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM3OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBuZXcgcGFydGl0aW9uIGZyb20gZGV2aWNlOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAidG9ybmEgYSBsbGVnaXIgbGEgdGF1bGEgZGUgcGFydGljaW9ucyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIgYSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNlcmNhciBhIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIgYSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNlcmNhciBhIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODkKKyMsIGZ1enp5Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBoYXMgbm90IGJlZW4gbW92ZWQ7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNlcmNhciBhIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTEKK21zZ2lkICJuZXcgcGFydGl0aW9uIGlzIHNtYWxsZXIgdGhhbiBvcmlnaW5hbDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDEKK21zZ2lkICJEYXRhIG1vdmU6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgdHlwZXNjcmlwdCBmaWxlOiAlcyIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBvYnJpciBlbCBmaXR4ZXIgJyVzJyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIG9sZCBzdGFydDogJWp1LCBuZXcgc3RhcnQ6ICVqdSAobW92ZSAlanUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1MQorIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBtb3ZlIHBhcnRpdGlvbiBkYXRhPyIKK21zZ3N0ciAiRGVzaXRnZXUgZXNjcml1cmUgYWl4w7IgYWwgZGlzYz8gW3lucV0gIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1MyBkaXNrLXV0aWxzL3NmZGlzay5jOjE3ODMKK21zZ2lkICJMZWF2aW5nLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjUyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBtb3ZlIGRhdGEiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0MQorIywgZnV6enkKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGlzIHVuY2hhbmdlZCAoLS1uby1hY3QpLiIKK21zZ3N0ciAiIgorIlMnaGEgbW9kaWZpY2F0IGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMuXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQ3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICIiCisiUydoYSBtb2RpZmljYXQgbGEgdGF1bGEgZGUgcGFydGljaW9ucy5cbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGxhYmVsICclcyciCittc2dzdHIgIiVzOiBhcmd1bWVudCBkZXNjb25lZ3V0OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYyNgorbXNnaWQgIiIKKyJJZCAgTmFtZVxuIgorIlxuIgorbXNnc3RyICIiCisiSWQgIE5vbVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjY1NgorIywgZnV6enkKK21zZ2lkICJ1bnJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUiCittc2dzdHIgIiAlczogbm8gcydoYSBwb2d1dCByZWNvbsOoaXhlciBlbCB0aXB1cyBkZSBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2J0ZW5pciBsYSBtaWRhIGRlICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0b3RhbDogJWp1IGJsb2Nrc1xuIgorbXNnc3RyICJ0b3RhbDogJWxsdSBibG9jc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgwOCBkaXNrLXV0aWxzL3NmZGlzay5jOjg3NiBkaXNrLXV0aWxzL3NmZGlzay5jOjkxNworIzogZGlzay11dGlscy9zZmRpc2suYzo5NDcgZGlzay11dGlscy9zZmRpc2suYzoxMDE0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA3OAorIzogZGlzay11dGlscy9zZmRpc2suYzoxMTMzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE4OSBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MzMKKyMsIGZ1enp5Cittc2dpZCAibm8gZGlzayBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJtb3VudDogZWwgZGlzcG9zaXRpdSBsb29wIGVzdMOgIGVzcGVjaWZpY2F0IGR1ZXMgdmVnYWRlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MTkKK21zZ2lkICJ0b2dnbGUgYm9vdCBmbGFncyBpcyBzdXBwb3J0ZWQgZm9yIE1CUiBvbmx5IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODUwIGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxOQorIzogZGlzay11dGlscy9zZmRpc2suYzoxMDgzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzOCBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTQKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUzMSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIGEgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICVkOiBmYWlsZWQgdG8gdG9nZ2xlIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4OTEgZGlzay11dGlscy9zZmRpc2suYzo4OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZGVsZXRlIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNlcmNhciBhIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIkVsIGRpc2MgJXMgbm8gY29udMOpIHVuYSB0YXVsYSBkZSBwYXJ0aWNpb25zIHbDoGxpZGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NTgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGR1bXAgc3RydWN0IgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIGxhIG1lbcOycmlhIHRlbXBvcmFsLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkdW1wIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidG9ybmEgYSBsbGVnaXIgbGEgdGF1bGEgZGUgcGFydGljaW9ucyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBwYXJ0aXRpb24gdGFibGUgZm91bmQiCittc2dzdHIgIk5vIGhpIGhhIGNhcCB0YXVsYSBkZSBwYXJ0aWNpb25zLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICJFbCBkaXNjICVzIG5vIGNvbnTDqSB1bmEgdGF1bGEgZGUgcGFydGljaW9ucyB2w6BsaWRhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIGlzIHVudXNlZCIKK21zZ3N0ciAiQXbDrXM6IGxhIHBhcnRpY2nDsyAlZCBjYXZhbGNhIGFtYiBsYSBwYXJ0aWNpw7MgJWQuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxOCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODIgZGlzay11dGlscy9zZmRpc2suYzoxMTM3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTMKKyMsIGZ1enp5Cittc2dpZCAibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiCittc2dzdHIgIk5vIHMnaGEgZXNwZWNpZmljYXQgbCdvcGNpw7MgLS1kYXRlLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMjQgZGlzay11dGlscy9zZmRpc2suYzoxMDg4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE0MworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTk5CisjLCBmdXp6eQorbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnRzIgorbXNnc3RyICJtw6B4LiBub21icmUgZGUgc2VnbWVudHMgPSAlbHVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIgYSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIHBhcnRpdGlvbiB0eXBlICclcyciCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJFbCBkaXNjICVzIG5vIGNvbnTDqSB1bmEgdGF1bGEgZGUgcGFydGljaW9ucyB2w6BsaWRhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIkVsIGRpc2MgJXMgbm8gY29udMOpIHVuYSB0YXVsYSBkZSBwYXJ0aWNpb25zIHbDoGxpZGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTEzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE2OCBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMjIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBvYmplY3QiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbGEgbWVtw7JyaWEgdGVtcG9yYWwuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTExNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIkVsIGRpc2MgJXMgbm8gY29udMOpIHVuYSB0YXVsYSBkZSBwYXJ0aWNpb25zIHbDoGxpZGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIgYSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIGEgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBhdHRyaWJ1dGVzIgorbXNnc3RyICJFbCBkaXNjICVzIG5vIGNvbnTDqSB1bmEgdGF1bGEgZGUgcGFydGljaW9ucyB2w6BsaWRhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI2OQorIywgZnV6enkKK21zZ2lkICIgQ29tbWFuZHM6XG4iCittc2dzdHIgIk9yZHJlcyBkaXNwb25pYmxlczpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjcxCisjLCBmdXp6eQorbXNnaWQgIiAgIHdyaXRlICAgIHdyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgdyAgIGVzY3JpdSBsYSB0YXVsYSBhbCBkaXNjIGkgc3VydCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjcyCittc2dpZCAiICAgcXVpdCAgICAgc2hvdyBuZXcgc2l0dWF0aW9uIGFuZCB3YWl0IGZvciB1c2VyJ3MgZmVlZGJhY2sgYmVmb3JlIHdyaXRlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjczCittc2dpZCAiICAgYWJvcnQgICAgZXhpdCBzZmRpc2sgc2hlbGxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzQKKyMsIGZ1enp5Cittc2dpZCAiICAgcHJpbnQgICAgZGlzcGxheSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgIHAgICBpbXByaW1laXggbGEgdGF1bGEgZGUgcGFydGljaW9ucyBCU0QiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3NQorIywgZnV6enkKK21zZ2lkICIgICBoZWxwICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3NworbXNnaWQgIiAgIEN0cmwtRCAgIHRoZSBzYW1lIGFzICdxdWl0J1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MQorbXNnaWQgIiBJbnB1dCBmb3JtYXQ6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjgzCittc2dpZCAiICAgPHN0YXJ0PiwgPHNpemU+LCA8dHlwZT4sIDxib290YWJsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODYKK21zZ2lkICIiCisiICAgPHN0YXJ0PiAgQmVnaW5uaW5nIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIHRoZSBmaXJzdCBmcmVlIHNwYWNlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MQorbXNnaWQgIiIKKyIgICA8c2l6ZT4gICBTaXplIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIGFsbCBhdmFpbGFibGUgc3BhY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk2Cittc2dpZCAiICAgPHR5cGU+ICAgVGhlIHBhcnRpdGlvbiB0eXBlLiAgRGVmYXVsdCBpcyBhIExpbnV4IGRhdGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NworbXNnaWQgIiAgICAgICAgICAgIE1CUjogaGV4IG9yIEwsUyxFLFggc2hvcnRjdXRzLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5OAorbXNnaWQgIiAgICAgICAgICAgIEdQVDogVVVJRCBvciBMLFMsSCBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzAxCisjLCBmdXp6eQorbXNnaWQgIiAgIDxib290YWJsZT4gIFVzZSAnKicgdG8gbWFyayBhbiBNQlIgcGFydGl0aW9uIGFzIGJvb3RhYmxlLlxuIgorbXNnc3RyICJObyBwb2RyZXUgZXNjcml1cmUgbGEgdGF1bGEgZGUgcGFydGljaW9ucy5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzA1Cittc2dpZCAiIEV4YW1wbGU6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzA3CisjLCBmdXp6eQorbXNnaWQgIiAgICwgNEcgICAgIENyZWF0ZXMgYSA0R2lCIHBhcnRpdGlvbiBhdCBkZWZhdWx0IHN0YXJ0IG9mZnNldC5cbiIKK21zZ3N0ciAiICBuICAgICAgICAgIENyZWEgdW5hIG5vdmEgcGFydGljacOzIGRlcyBkZSBsJ2VzcGFpIGxsaXVyZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzM5IHN5cy11dGlscy9kbWVzZy5jOjE0NTUKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAiY2FwIG9yZHJlP1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzNDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQ6IHVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgImNhcCBvcmRyZT9cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTAwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAidG9ybmEgYSBsbGVnaXIgbGEgdGF1bGEgZGUgcGFydGljaW9ucyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTQxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBsYSBtZW3DsnJpYSB0ZW1wb3JhbC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IG5vIHBhcnRpdGlvbiB0YWJsZSB3YXMgZm91bmQiCittc2dzdHIgInRvcm5hIGEgbGxlZ2lyIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiRWwgZGlzYyAlcyBubyBjb250w6kgdW5hIHRhdWxhIGRlIHBhcnRpY2lvbnMgdsOgbGlkYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzOiBwYXJ0aXRpb24gJWQgaXMgbm90IGRlZmluZWQgeWV0IgorbXNnc3RyICJFbmNhcmEgbm8gaGkgaGEgY2FwIHBhcnRpY2nDsyBkZWZpbmlkYS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJXZWxjb21lIHRvIHNmZGlzayAoJXMpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTQKKyMsIGZ1enp5Cittc2dpZCAiQ2hlY2tpbmcgdGhhdCBuby1vbmUgaXMgdXNpbmcgdGhpcyBkaXNrIHJpZ2h0IG5vdyAuLi4iCittc2dzdHIgIlMnZXN0w6AgY29tcHJvdmFudCBxdWUgZW4gYXF1ZXN0IG1vbWVudCBuaW5nw7ogZXN0aWd1aSB1c2FudCBhcXVlc3QgZGlzYy4uLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTcKK21zZ2lkICIiCisiIEZBSUxFRFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwMAorIywgZnV6enkKK21zZ2lkICIiCisiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UgLSByZXBhcnRpdGlvbmluZyBpcyBwcm9iYWJseSBhIGJhZCBpZGVhLlxuIgorIlVtb3VudCBhbGwgZmlsZSBzeXN0ZW1zLCBhbmQgc3dhcG9mZiBhbGwgc3dhcCBwYXJ0aXRpb25zIG9uIHRoaXMgZGlzay5cbiIKKyJVc2UgdGhlIC0tbm8tcmVyZWFkIGZsYWcgdG8gc3VwcHJlc3MgdGhpcyBjaGVjay5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkFxdWVzdCBkaXNjIGVzdMOgIGFjdHVhbG1lbnQgZW4gw7pzOyByZXBhcnRpY2lvbmFyLWxvIHByb2JhYmxlbWVudCBzaWd1aVxuIgorInVuYSBtYWxhIGlkZWEuIERlc211bnRldSB0b3RzIGVscyBzaXN0ZW1lcyBkZSBmaXR4ZXJzIGkgZXhlY3V0ZXVcbiIKKyJzd2Fwb2ZmIGVuIHRvdGVzIGxlcyBwYXJ0aWNpb25zIGQnaW50ZXJjYW52aSBkZWwgZGlzYy5cbiIKKyJVc2V1IGVsIHNlbnlhbGFkb3IgLS1uby1yZXJlYWQgcGVyIGEgc3VwcmltaXIgYXF1ZXN0YSBjb21wcm92YWNpw7MuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNQorIywgZnV6enkKK21zZ2lkICJVc2UgdGhlIC0tZm9yY2UgZmxhZyB0byBvdmVycnVsZSBhbGwgY2hlY2tzLiIKK21zZ3N0ciAiVXNldSBlbCBzZW55YWxhZG9yIC0tZm9yY2UgcGVyIGEgb2J2aWFyIHRvdGVzIGxlcyBjb21wcm92YWNpb25zLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MDcKKyMsIGZ1enp5Cittc2dpZCAiIgorIiBPS1xuIgorIlxuIgorbXNnc3RyICIlczogQ29ycmVjdGVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjM2CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJPbGQgc2l0dWF0aW9uOiIKK21zZ3N0ciAiQW50aWdhIHNpdHVhY2nDszpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKyJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY1NworIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiVHlwZSAnaGVscCcgdG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIkVzY29sbGl1IGBnZXRvcHQgLS1oZWxwJyBwZXIgb2J0ZW5pciBtw6lzIGluZm9ybWFjacOzLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NzUKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgdXNlZC4iCittc2dzdHIgIk5vIHMnaGFuIHRyb2JhdCBwYXJ0aWNpb25zXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcwMworIywgZnV6enkKK21zZ2lkICJEb25lLlxuIgorbXNnc3RyICIiCisiRmV0XG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcxNQorIywgZnV6enkKK21zZ2lkICJJZ25vcmluZyBwYXJ0aXRpb24uIgorbXNnc3RyICJObyBjcmXDr3MgY2FwIHBhcnRpY2nDsyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzI0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgaGVhZGVycywgZGlzayBsYWJlbCBub3QgY3JlYXRlZC4iCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIGEgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhZGQgIyVkIHBhcnRpdGlvbiIKK21zZ3N0ciAidG9ybmEgYSBsbGVnaXIgbGEgdGF1bGEgZGUgcGFydGljaW9ucyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzYzCittc2dpZCAiU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzcyCisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJOZXcgc2l0dWF0aW9uOiIKK21zZ3N0ciAiTm92YSBzaXR1YWNpw7M6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc4MQorIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byB3cml0ZSB0aGlzIHRvIGRpc2s/IgorbXNnc3RyICJEZXNpdGdldSBlc2NyaXVyZSBhaXjDsiBhbCBkaXNjPyBbeW5xXSAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc5MworbXNnaWQgIkxlYXZpbmcuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXY+IFtbLU5dIDxwYXJ0Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgImZvcm1hIGQnw7pzOiBuYW1laSBbLW14XSBjYW3DrSBbY2Ftw60gLi4uXVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTIKK21zZ2lkICIiCisiXG4iCisiQ29tbWFuZHM6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEzCittc2dpZCAiIC1BLCAtLWFjdGl2YXRlIDxkZXY+IFs8cGFydD4gLi4uXSBsaXN0IG9yIHNldCBib290YWJsZSBNQlIgcGFydGl0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZHVtcCA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlICh1c2FibGUgZm9yIGxhdGVyIGlucHV0KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE1CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgaW4gSlNPTiBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNgorbXNnaWQgIiAtZywgLS1zaG93LWdlb21ldHJ5IFs8ZGV2PiAuLi5dICAgbGlzdCBnZW9tZXRyeSBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTcKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgWzxkZXY+IC4uLl0gICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE4CisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1saXN0LWZyZWUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCB1bnBhcnRpdGlvbmVkIGZyZWUgYXJlYXMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE5CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZW9yZGVyIDxkZXY+ICAgICAgICAgICAgICAgZml4IHBhcnRpdGlvbnMgb3JkZXIgKGJ5IHN0YXJ0IG9mZnNldClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hvdy1zaXplIFs8ZGV2PiAuLi5dICAgICAgIGxpc3Qgc2l6ZXMgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICBQcm92YSBsYSB2ZXJzacOzIGRlbCBnZXRvcHQoMSlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIxCisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJlY29nbml6ZWQgdHlwZXMgKHNlZSAtWClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMgorIywgZnV6enkKK21zZ2lkICIgLVYsIC0tdmVyaWZ5IFs8ZGV2PiAuLi5dICAgICAgICAgIHRlc3Qgd2hldGhlciBwYXJ0aXRpb25zIHNlZW0gY29ycmVjdFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjMKK21zZ2lkICIgICAgIC0tZGVsZXRlIDxkZXY+IFs8cGFydD4gLi4uXSAgIGRlbGV0ZSBhbGwgb3Igc3BlY2lmaWVkIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjYKK21zZ2lkICIgLS1wYXJ0LWxhYmVsIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gbGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjcKK21zZ2lkICIgLS1wYXJ0LXR5cGUgPGRldj4gPHBhcnQ+IFs8dHlwZT5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdHlwZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyOAorIywgZnV6enkKK21zZ2lkICIgLS1wYXJ0LXV1aWQgPGRldj4gPHBhcnQ+IFs8dXVpZD5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdXVpZFxuIgorbXNnc3RyICIgICAgLWMgW28gLS1pZF06ICAgICAgICAgSW1wcmltZWl4IG8gY2FudmlhIGwnaWRlbnRpZmljYWRvciBkZSBsYSBwYXJ0aWNpw7MiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyOQorbXNnaWQgIiAtLXBhcnQtYXR0cnMgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBhdHRyaWJ1dGVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODMyCisjLCBmdXp6eQorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgIGRldmljZSAodXN1YWxseSBkaXNrKSBwYXRoXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzMworIywgZnV6enkKK21zZ2lkICIgPHBhcnQ+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiAgICAtTiMgOiAgICAgICAgICAgICAgICBOb23DqXMgY2FudmlhIGxhIHBhcnRpY2nDsyBhbWIgZWwgbsO6bWVybyAjIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzQKK21zZ2lkICIgPHR5cGU+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gdHlwZSwgR1VJRCBmb3IgR1BULCBoZXggZm9yIE1CUlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzNworIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICBhcHBlbmQgcGFydGl0aW9ucyB0byBleGlzdGluZyBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzOAorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmFja3VwICAgICAgICAgICAgICBiYWNrdXAgcGFydGl0aW9uIHRhYmxlIHNlY3RvcnMgKHNlZSAtTylcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzOQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQwCittc2dpZCAiICAgICAtLW1vdmUtZGF0YVs9PHR5cGVzY3JpcHQ+XSBtb3ZlIHBhcnRpdGlvbiBkYXRhIGFmdGVyIHJlbG9jYXRpb24gKHJlcXVpcmVzIC1OKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZ1xuIgorbXNnc3RyICJQb2RldSBkZXNhY3RpdmFyIHRvdGEgY29tcHJvdmFjacOzIGRlIGNvbnNpc3TDqG5jaWEgYW1iOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ1CisjLCBmdXp6eQorbXNnaWQgIiAtTiwgLS1wYXJ0bm8gPG51bT4gICAgICAgIHNwZWNpZnkgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgICAgLUgjIFtvIC0taGVhZHMgI106ICAgICBFc3RhYmxlaXggZWwgbm9tYnJlIGRlIGNhcMOnYWxzIHF1ZSBzJ3VzYXJhbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ2CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHdyaXRlIHRvIGRldmljZVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBkZXZpY2UgaXMgaW4gdXNlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDgKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgZG8gbm90IHRlbGwga2VybmVsIGFib3V0IGNoYW5nZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIE5vIGVzY3JpZ3VlcyByZWFsbWVudCBhbCBkaXNjIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDkKK21zZ2lkICIgLU8sIC0tYmFja3VwLWZpbGUgPHBhdGg+ICBvdmVycmlkZSBkZWZhdWx0IGJhY2t1cCBmaWxlIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTAKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPWNhZGVuYV9vcGNpb25zIE9wY2lvbnMgY3VydGVzIGEgcmVjb27DqGl4ZXJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUxCisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIGV4dHJhIGluZm8gbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAgIC1xICBbbyAtLXF1aWV0XTogICAgICAgU3VwcmltZWl4IGVscyBhdmlzb3MiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MgorIywgZnV6enkKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NAorIywgZnV6enkKK21zZ2lkICIgLVgsIC0tbGFiZWwgPG5hbWU+ICAgICAgICBzcGVjaWZ5IGxhYmVsIHR5cGUgKGRvcywgZ3B0LCAuLi4pXG4iCittc2dzdHIgIiIKKyIgIC1zLCAtLXNoZWxsPWludMOocnByZXRfb3JkcmVzIEVzdGFibGVpeCBlbHMgbWF0ZWl4b3MgY29udmVuaXMgcXVhbnQgYSBsZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tZXRlcyBxdWUgbCdpbnRlcnByZXQgZCdvcmRyZXMgaW5kaWNhdFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTUKK21zZ2lkICIgLVksIC0tbGFiZWwtbmVzdGVkIDxuYW1lPiBzcGVjaWZ5IG5lc3RlZCBsYWJlbCB0eXBlIChkb3MsIGJzZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTcKK21zZ2lkICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBkZXByZWNhdGVkLCBhbGlhcyB0byAtLXNob3ctZ2VvbWV0cnlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTgKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgZGVwcmVjYXRlZCwgb25seSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU5CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bml0IFMgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgc2VjdG9yIHVuaXQgaXMgc3VwcG9ydGVkXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjMgbG9naW4tdXRpbHMvY2hmbi5jOjEwMiBsb2dpbi11dGlscy9jaHNoLmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxOTczCittc2dpZCAiLS1pZCBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5ODkKK21zZ2lkICItLXNob3ctcHQtZ2VvbWV0cnkgaXMgbm8gbW9yZSBpbXBsZW1lbnRlZC4gVXNpbmcgLS1zaG93LWdlb21ldHJ5LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMDAKK21zZ2lkICItLUxpbnV4IG9wdGlvbiBpcyB1bm5lY2Vzc2FyeSBhbmQgZGVwcmVjYXRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHVuaXQgJyVjJyIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IGRlc2NvbmVndXQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAzMiBpbmNsdWRlL2MuaDozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlc1xuIgorbXNnc3RyICIlcyBkZSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIxMDkKK21zZ2lkICItLW1vdmVkYXRhIHJlcXVpcmVzIC1OIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBVVUlEOiAlcyIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIFVVSUQiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIFVVSUQiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBsYWJlbCAiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgImxhYmVsIGlzIHRvbyBsb25nLiBUcnVuY2F0aW5nIGl0IHRvICclcyciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBsYWJlbCIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIgYSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTIxCittc2dpZCAiRGlzcGxheSBvciBjaGFuZ2UgdGhlIGxhYmVsIG9yIFVVSUQgb2YgYSBzd2FwIGFyZWEuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjQKK21zZ2lkICIiCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gc3BlY2lmeSBhIG5ldyBsYWJlbFxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgIHNwZWNpZnkgYSBuZXcgdXVpZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTY3Cittc2dpZCAiaWdub3JlIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQpIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjI5OQorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMDAKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aWNpb25zOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMDIKK21zZ2lkICIgLWgsIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2MuaDozMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1WLCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBpbmNsdWRlL2MuaDozMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJGb3IgbW9yZSBkZXRhaWxzIHNlZSAlcy5cbiIKK21zZ3N0ciAiUydoYSBjYW52aWF0IGxhIGluZm9ybWFjacOzIGRlbCBmaW5nZXIuXG4iCisKKyM6IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0NiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDggbG9naW4tdXRpbHMvdmlwdy5jOjI3MworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5MiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI4MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MDUKKyM6IHRleHQtdXRpbHMvY29sLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgIndyaXRlIGVycm9yIgorbXNnc3RyICJjb2w6IGVycm9yIGQnZXNjcmlwdHVyYS5cbiIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyNworIywgZnV6enkKK21zZ2lkICJjb2xvcnMgYXJlIGVuYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAiUGVyIGRlZmVjdGUsIHMnaGEgZGVuZWdhdCBsJ2FjY8OpcyBhICVzIGRlcyBkZSAlcy5cbiIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyOQorIywgZnV6enkKK21zZ2lkICJjb2xvcnMgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgIlBlciBkZWZlY3RlLCBzJ2hhIGRlbmVnYXQgbCdhY2PDqXMgYSAlcyBkZXMgZGUgJXMuXG4iCisKKyM6IGluY2x1ZGUvZW52Lmg6MTggbGliL3BhZ2VyLmM6MTUxIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTA1MgorIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMDU2IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjUyOQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyBlbnZpcm9ubWVudCB2YXJpYWJsZSIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBwYXJ0aWNpw7MgYSAlc1xuIgorCisjOiBpbmNsdWRlL29wdHV0aWxzLmg6ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGVzZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmU6IgorbXNnc3RyICIlczogTGVzIG9wY2lvbnMgLS1hZGp1c3QgaSAtLW5vYWRqZmlsZSBzJ2V4Y2xvdWVuIG3DunR1YW1lbnQuIExlcyBoZXUgZXNwZWNpZmljYXQgdG90ZXMgZHVlcy5cbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MQorbXNnaWQgIkVtcHR5IgorbXNnc3RyICJCdWlkYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MgorbXNnaWQgIkZBVDEyIgorbXNnc3RyICJGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MworbXNnaWQgIlhFTklYIHJvb3QiCittc2dzdHIgIlhFTklYIGFycmVsIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0Cittc2dpZCAiWEVOSVggdXNyIgorbXNnc3RyICJYRU5JWCB1c3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUKK21zZ2lkICJGQVQxNiA8MzJNIgorbXNnc3RyICJGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2Cittc2dpZCAiRXh0ZW5kZWQiCittc2dzdHIgIkVzdGVzYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NworbXNnaWQgIkZBVDE2IgorbXNnc3RyICJGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OAorIywgZnV6enkKK21zZ2lkICJIUEZTL05URlMvZXhGQVQiCittc2dzdHIgIkhQRlMvTlRGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OQorbXNnaWQgIkFJWCIKK21zZ3N0ciAiQUlYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMAorbXNnaWQgIkFJWCBib290YWJsZSIKK21zZ3N0ciAiQUlYIGFycmVuY2FibGUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjExCittc2dpZCAiT1MvMiBCb290IE1hbmFnZXIiCittc2dzdHIgIkdlc3RvciBkJ2FycmVuY2FkYSBPUy8yIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMgorbXNnaWQgIlc5NSBGQVQzMiIKK21zZ3N0ciAiVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMworbXNnaWQgIlc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNAorbXNnaWQgIlc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNQorbXNnaWQgIlc5NSBFeHQnZCAoTEJBKSIKK21zZ3N0ciAiVzk1IEVzdGVzYSAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTYKK21zZ2lkICJPUFVTIgorbXNnc3RyICJPUFVTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNworbXNnaWQgIkhpZGRlbiBGQVQxMiIKK21zZ3N0ciAiRkFUMTIgb2N1bHRhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOAorbXNnaWQgIkNvbXBhcSBkaWFnbm9zdGljcyIKK21zZ3N0ciAiRGlhZ27DsnN0aWNzIENvbXBhcSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTkKK21zZ2lkICJIaWRkZW4gRkFUMTYgPDMyTSIKK21zZ3N0ciAiRkFUMTYgPDMyTSBvY3VsdGEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIwCittc2dpZCAiSGlkZGVuIEZBVDE2IgorbXNnc3RyICJGQVQxNiBvY3VsdGEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIxCittc2dpZCAiSGlkZGVuIEhQRlMvTlRGUyIKK21zZ3N0ciAiSFBGUy9OVEZTIG9jdWx0YSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjIKK21zZ2lkICJBU1QgU21hcnRTbGVlcCIKK21zZ3N0ciAiU21hcnRTbGVlcCBkJ0FTVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjMKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIgorbXNnc3RyICJXOTUgRkFUMzIgb2N1bHRhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNAorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIlc5NSBGQVQzMiAoTEJBKSBvY3VsdGEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI1Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDE2IChMQkEpIG9jdWx0YSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjYKK21zZ2lkICJORUMgRE9TIgorbXNnc3RyICJORUMgRE9TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNworIywgZnV6enkKK21zZ2lkICJIaWRkZW4gTlRGUyBXaW5SRSIKK21zZ3N0ciAiSFBGUy9OVEZTIG9jdWx0YSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjgKK21zZ2lkICJQbGFuIDkiCittc2dzdHIgIlBsYW4gOSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjkKK21zZ2lkICJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIKK21zZ3N0ciAiUmVjdXBlcmFjacOzIFBhcnRpdGlvbk1hZ2ljIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMAorbXNnaWQgIlZlbml4IDgwMjg2IgorbXNnc3RyICJWZW5peCA4MDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzEKK21zZ2lkICJQUEMgUFJlUCBCb290IgorbXNnc3RyICJQUEMgYXJyZW5jYWRhIFBSZVAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMyCittc2dpZCAiU0ZTIgorbXNnc3RyICJTRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMzCittc2dpZCAiUU5YNC54IgorbXNnc3RyICJRTlg0LngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM0Cittc2dpZCAiUU5YNC54IDJuZCBwYXJ0IgorbXNnc3RyICJRTlg0Lnggc2Vnb25hIHBhcnQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM1Cittc2dpZCAiUU5YNC54IDNyZCBwYXJ0IgorbXNnc3RyICJRTlg0LnggdGVyY2VyYSBwYXJ0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNgorbXNnaWQgIk9uVHJhY2sgRE0iCittc2dzdHIgIk9uVHJhY2sgRE0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM3Cittc2dpZCAiT25UcmFjayBETTYgQXV4MSIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzgKK21zZ2lkICJDUC9NIgorbXNnc3RyICJDUC9NIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOQorbXNnaWQgIk9uVHJhY2sgRE02IEF1eDMiCittc2dzdHIgIk9uVHJhY2sgRE02IEF1eDMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQwCittc2dpZCAiT25UcmFja0RNNiIKK21zZ3N0ciAiT25UcmFja0RNNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDEKK21zZ2lkICJFWi1Ecml2ZSIKK21zZ3N0ciAiRVotRHJpdmUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQyCittc2dpZCAiR29sZGVuIEJvdyIKK21zZ3N0ciAiR29sZGVuIEJvdyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDMKK21zZ2lkICJQcmlhbSBFZGlzayIKK21zZ3N0ciAiUHJpYW0gRWRpc2siCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkxCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OQorbXNnaWQgIlNwZWVkU3RvciIKK21zZ3N0ciAiU3BlZWRTdG9yIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NQorbXNnaWQgIkdOVSBIVVJEIG9yIFN5c1YiCittc2dzdHIgIkdOVSBIVVJEIG8gU3lzViIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDYKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAyODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDcKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAzODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDM4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDgKK21zZ2lkICJEaXNrU2VjdXJlIE11bHRpLUJvb3QiCittc2dzdHIgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDkKK21zZ2lkICJQQy9JWCIKK21zZ3N0ciAiUEMvSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUwCittc2dpZCAiT2xkIE1pbml4IgorbXNnc3RyICJNaW5peCBhbnRpYyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTEKK21zZ2lkICJNaW5peCAvIG9sZCBMaW51eCIKK21zZ3N0ciAiTWluaXggLyBhbnRpYyBMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTIKK21zZ2lkICJMaW51eCBzd2FwIC8gU29sYXJpcyIKK21zZ3N0ciAiSW50ZXJjYW52aSBMaW51eCAvIFNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUzCittc2dpZCAiTGludXgiCittc2dzdHIgIkxpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NAorbXNnaWQgIk9TLzIgaGlkZGVuIG9yIEludGVsIGhpYmVybmF0aW9uIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU3Cittc2dpZCAiTGludXggZXh0ZW5kZWQiCittc2dzdHIgIkxpbnV4IGVzdGVzYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTkKK21zZ2lkICJOVEZTIHZvbHVtZSBzZXQiCittc2dzdHIgIkpvYyBkZSB2b2x1bXMgTlRGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjAKK21zZ2lkICJMaW51eCBwbGFpbnRleHQiCittc2dzdHIgIkxpbnV4IHRleHQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYxIGxpYmZkaXNrL3NyYy9ncHQuYzoyMDUgbGliZmRpc2svc3JjL3NnaS5jOjYzCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTQKK21zZ2lkICJMaW51eCBMVk0iCittc2dzdHIgIkxpbnV4IExWTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjIKK21zZ2lkICJBbW9lYmEiCittc2dzdHIgIkFtb2ViYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjMKK21zZ2lkICJBbW9lYmEgQkJUIgorbXNnc3RyICJBbW9lYmEgQkJUIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NAorbXNnaWQgIkJTRC9PUyIKK21zZ3N0ciAiQlNEL09TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NQorbXNnaWQgIklCTSBUaGlua3BhZCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiSGl2ZXJuYWNpw7MgZCdJQk0gVGhpbmtwYWQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY2Cittc2dpZCAiRnJlZUJTRCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjcKK21zZ2lkICJPcGVuQlNEIgorbXNnc3RyICJPcGVuQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OAorbXNnaWQgIk5lWFRTVEVQIgorbXNnc3RyICJOZVhUU1RFUCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjkKK21zZ2lkICJEYXJ3aW4gVUZTIgorbXNnc3RyICJVRlMgZGUgRGFyd2luIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MAorbXNnaWQgIk5ldEJTRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MQorbXNnaWQgIkRhcndpbiBib290IgorbXNnc3RyICJBcnJlbmNhZGEgZGUgRGFyd2luIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MgorIywgZnV6enkKK21zZ2lkICJIRlMgLyBIRlMrIgorbXNnc3RyICJPUy8yIEhQRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjczCittc2dpZCAiQlNESSBmcyIKK21zZ3N0ciAiUy5mLiBCU0RJIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NAorbXNnaWQgIkJTREkgc3dhcCIKK21zZ3N0ciAiSW50ZXJjYW52aSBkZSBCU0RJIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NQorbXNnaWQgIkJvb3QgV2l6YXJkIGhpZGRlbiIKK21zZ3N0ciAiQm9vdCBXaXphcmQgb2N1bHQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc2CisjLCBmdXp6eQorbXNnaWQgIkFjcm9uaXMgRkFUMzIgTEJBIgorbXNnc3RyICJXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc3IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzAKK21zZ2lkICJTb2xhcmlzIGJvb3QiCittc2dzdHIgIkFycmVuY2FkYSBTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OAorbXNnaWQgIlNvbGFyaXMiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc5Cittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTIpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xMikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgwCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgxCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgyCittc2dpZCAiU3lyaW54IgorbXNnc3RyICJTeXJpbngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgzCittc2dpZCAiTm9uLUZTIGRhdGEiCittc2dzdHIgIkRhZGVzIHNlbnNlIFMuRi4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg0Cittc2dpZCAiQ1AvTSAvIENUT1MgLyAuLi4iCittc2dzdHIgIkNQL00gLyBDVE9TIC8gLi4uIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NgorbXNnaWQgIkRlbGwgVXRpbGl0eSIKK21zZ3N0ciAiVXRpbGl0YXQgRGVsbCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODcKK21zZ2lkICJCb290SXQiCittc2dzdHIgIkJvb3RJdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODgKK21zZ2lkICJET1MgYWNjZXNzIgorbXNnc3RyICJBY2PDqXMgRE9TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MAorbXNnaWQgIkRPUyBSL08iCittc2dzdHIgIkRPUyBSL08iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkzCisjLCBmdXp6eQorbXNnaWQgIlJ1ZnVzIGFsaWdubWVudCIKK21zZ3N0ciAiY29sOiBhcmd1bWVudCAtbCBpbmNvcnJlY3RlICVzLlxuIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NAorbXNnaWQgIkJlT1MgZnMiCittc2dzdHIgIlNpcy4gRml0eC4gQmVPUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTYKK21zZ2lkICJFRkkgKEZBVC0xMi8xNi8zMikiCittc2dzdHIgIkVGSSAoRkFULTEyLzE2LzMyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTcKK21zZ2lkICJMaW51eC9QQS1SSVNDIGJvb3QiCittc2dzdHIgIkFycmVuY2FkYSBMaW51eC9QQS1SSVNDIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDAKK21zZ2lkICJET1Mgc2Vjb25kYXJ5IgorbXNnc3RyICJTZWN1bmTDoHJpYSBET1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMQorbXNnaWQgIlZNd2FyZSBWTUZTIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMgorbXNnaWQgIlZNd2FyZSBWTUtDT1JFIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMyBsaWJmZGlzay9zcmMvc3VuLmM6NTUKK21zZ2lkICJMaW51eCByYWlkIGF1dG9kZXRlY3QiCittc2dzdHIgIkF1dG9kZXRlY2Npw7MgUkFJRCBMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA2Cittc2dpZCAiTEFOc3RlcCIKK21zZ3N0ciAiTEFOc3RlcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA3Cittc2dpZCAiQkJUIgorbXNnc3RyICJCQlQiCisKKyM6IGxpYi9ibGtkZXYuYzoyODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzIGlzIG1pc2FsaWduZWQiCittc2dzdHIgIkF2w61zOiAlcyBubyDDqXMgdW4gZGlzcG9zaXRpdSBkZSBibG9jc1xuIgorCisjOiBsaWJmZGlzay9zcmMvYWxpZ25tZW50LmM6NjcyCisjLCBmdXp6eQorbXNnaWQgIkNhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIlMnZXN0w6AgY3JpZGFudCBpb2N0bCgpIHBlciByZWxsZWdpciBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYWxpZ25tZW50LmM6NjgxCisjLCBmdXp6eQorbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuIgorbXNnc3RyICJTJ2VzdMOgIHJlbGxlZ2ludCBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zLi4uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2ODMKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgdGFibGUuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdCBvciBhZnRlciB5b3UgcnVuIHBhcnRwcm9iZSg4KSBvciBrcGFydHgoOCkuIgorbXNnc3RyICIiCisiXG4iCisiQXbDrXM6IE5vIHMnaGEgcG9ndXQgcmVsbGVnaXIgbGEgdGF1bGEgZGUgcGFydGljaW9ucywgcydoYSBwcm9kdcOvdCBsJ2Vycm9yICVkOiAlcy5cbiIKKyJFbCBudWNsaSBlbmNhcmEgdXNhIGwnYW50aWdhIHRhdWxhLlxuIgorIkxhIHRhdWxhIG5vdmEgcyd1c2Fyw6AgZGVzcHLDqXMgZCdhcnJlbmNhciBkZSBub3UuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0NzIgbGliZmRpc2svc3JjL2Fzay5jOjQ4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0ZWQgcGFydGl0aW9uICVqdSIKK21zZ3N0ciAiUydoYSBzZWxlY2Npb25hdCBsYSBwYXJ0aWNpw7MgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ3NQorIywgZnV6enkKK21zZ2lkICJObyBwYXJ0aXRpb24gaXMgZGVmaW5lZCB5ZXQhIgorbXNnc3RyICJFbmNhcmEgbm8gaGkgaGEgY2FwIHBhcnRpY2nDsyBkZWZpbmlkYS5cbiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ4NworIywgZnV6enkKK21zZ2lkICJObyBmcmVlIHBhcnRpdGlvbiBhdmFpbGFibGUhIgorbXNnc3RyICJObyBoaSBoYSBjYXAgc2VjdG9yIGxsaXVyZSBkaXNwb25pYmxlXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0OTcKK21zZ2lkICJQYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJOb21icmUgZGUgcGFydGljacOzIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6OTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IHBhcnRpdGlvbiAlZCBvZiB0eXBlICclcycgYW5kIG9mIHNpemUgJXMuIgorbXNnc3RyICJMYSBwYXJ0aWNpw7MgJWQgZW5jYXJhIG5vIGV4aXN0ZWl4LlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXpkOiBoYXMgaW52YWxpZCBzdGFydGluZyBzZWN0b3IgMC4iCittc2dzdHIgIkxhIHBhcnRpY2nDsyAlcyBubyDDqXMgdsOgbGlkYSBwZXJxdcOoIGNvbWVuw6dhIHBlbCBzZWN0b3IgMC5cbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlcmUgaXMgbm8gKkJTRCBwYXJ0aXRpb24gb24gJXMuIgorbXNnc3RyICJObyBoaSBoYSBjYXAgcGFydGljacOzICpCU0QgZW4gJXMuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTkgbGliZmRpc2svc3JjL2Rvcy5jOjkzMworIywgZnV6enkKK21zZ2lkICJGaXJzdCBjeWxpbmRlciIKK21zZ3N0ciAiY2lsaW5kcmUiCisKKyMgUGFybGEgZCdldGlxdWV0ZXMsIHNlZ3VyYW1lbnQgw6lzIGZlbWVuw60KKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTIgbGliZmRpc2svc3JjL2Rvcy5jOjExNjEKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBjeWxpbmRlciwgK2N5bGluZGVycyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICLDmmx0aW1hICVzIG8gK21pZGEgbyArbWlkYU0gbyArbWlkYUsiCisKKyMgUGFybGEgZCdldGlxdWV0ZXMsIHNlZ3VyYW1lbnQgw6lzIGZlbWVuw60KKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTcgbGliZmRpc2svc3JjL2Rvcy5jOjExNjYgbGliZmRpc2svc3JjL2dwdC5jOjIyNTUKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIsOabHRpbWEgJXMgbyArbWlkYSBvICttaWRhTSBvICttaWRhSyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRldmljZSAlcyBkb2VzIG5vdCBjb250YWluIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICIlcyBubyBjb250w6kgY2FwIGV0aXF1ZXRhIGRlIGRpc2MuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODMKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gY3JlYXRlIGEgQlNEIGRpc2tsYWJlbD8iCittc2dzdHIgIkRlc2l0Z2V1IGNyZWFyIHVuYSBldGlxdWV0YSBkZSBkaXNjPyAoeS9uKSAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NDkKKyMsIGZ1enp5Cittc2dpZCAiRGlzayIKK21zZ3N0ciAiZGlzYzogJS4qc1xuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDU2Cittc2dpZCAiUGFja25hbWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MyBsaWJmZGlzay9zcmMvc3VuLmM6MTExNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICJTZW55YWxhZG9ycyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NgorbXNnaWQgIiByZW1vdmFibGUiCittc2dzdHIgIiBleHRyYcOvYmxlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY3Cittc2dpZCAiIGVjYyIKK21zZ3N0ciAiIGVjYyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2OAorbXNnaWQgIiBiYWRzZWN0IgorbXNnc3RyICIgc2VjdG9yIGRvbGVudCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ3NgorIywgZnV6enkKK21zZ2lkICJCeXRlcy9TZWN0b3IiCittc2dzdHIgIm9jdGV0cy9zZWN0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODEKKyMsIGZ1enp5Cittc2dpZCAiVHJhY2tzL0N5bGluZGVyIgorbXNnc3RyICJwaXN0ZXMvY2lsaW5kcmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODYKKyMsIGZ1enp5Cittc2dpZCAiU2VjdG9ycy9DeWxpbmRlciIKK21zZ3N0ciAic2VjdG9ycy9jaWxpbmRyZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5MSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOCBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMworIzogbGliZmRpc2svc3JjL3NnaS5jOjExNTcgbGliZmRpc2svc3JjL3N1bi5jOjE5NiBsaWJmZGlzay9zcmMvc3VuLmM6MTExMworbXNnaWQgIkN5bGluZGVycyIKK21zZ3N0ciAiQ2lsaW5kcmVzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDk2IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjAKKyMsIGZ1enp5Cittc2dpZCAiUnBtIgorbXNnc3RyICJyLnAubS4iCisKKyMgRklYTUUKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDEgbGliZmRpc2svc3JjL3NnaS5jOjI5MiBsaWJmZGlzay9zcmMvc3VuLmM6NzgwCisjLCBmdXp6eQorbXNnaWQgIkludGVybGVhdmUiCittc2dzdHIgImVudHJlbGxhw6dhdCIKKworIyBGSVhNRQorIzogbGliZmRpc2svc3JjL2JzZC5jOjUwNgorIywgZnV6enkKK21zZ2lkICJUcmFja3NrZXciCittc2dzdHIgImRlY2FsYXRnZSBkZSBsZXMgcGlzdGVzIgorCisjIEZJWE1FCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTExCisjLCBmdXp6eQorbXNnaWQgIkN5bGluZGVyc2tldyIKK21zZ3N0ciAiZGVjYWxhdGdlIGRlbHMgY2lsaW5kcmVzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTE2CisjLCBmdXp6eQorbXNnaWQgIkhlYWRzd2l0Y2giCittc2dzdHIgImNhbnZpIGRlIGNhcMOnYWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MjEKKyMsIGZ1enp5Cittc2dpZCAiVHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAiY2VyY2EgcGlzdGEgYSBwaXN0YSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMQorbXNnaWQgImJ5dGVzL3NlY3RvciIKK21zZ3N0ciAib2N0ZXRzL3NlY3RvciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNAorbXNnaWQgInNlY3RvcnMvdHJhY2siCittc2dzdHIgInNlY3RvcnMvcGlzdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTUKK21zZ2lkICJ0cmFja3MvY3lsaW5kZXIiCittc2dzdHIgInBpc3Rlcy9jaWxpbmRyZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNgorbXNnaWQgImN5bGluZGVycyIKK21zZ3N0ciAiY2lsaW5kcmVzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIwCittc2dpZCAic2VjdG9ycy9jeWxpbmRlciIKK21zZ3N0ciAic2VjdG9ycy9jaWxpbmRyZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMworbXNnaWQgInJwbSIKK21zZ3N0ciAici5wLm0uIgorCisjIEZJWE1FCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI0Cittc2dpZCAiaW50ZXJsZWF2ZSIKK21zZ3N0ciAiZW50cmVsbGHDp2F0IgorCisjIEZJWE1FCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI1Cittc2dpZCAidHJhY2tza2V3IgorbXNnc3RyICJkZWNhbGF0Z2UgZGUgbGVzIHBpc3RlcyIKKworIyBGSVhNRQorIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNgorbXNnaWQgImN5bGluZGVyc2tldyIKK21zZ3N0ciAiZGVjYWxhdGdlIGRlbHMgY2lsaW5kcmVzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI4Cittc2dpZCAiaGVhZHN3aXRjaCIKK21zZ3N0ciAiY2FudmkgZGUgY2Fww6dhbCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOQorbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgImNlcmNhIHBpc3RhIGEgcGlzdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RzdHJhcCBmaWxlICVzIHN1Y2Nlc3NmdWxseSBsb2FkZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcDogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKGRlZmF1bHQgJTEkcykiCittc2dzdHIgIkNhcnJlZ2Fkb3I6ICVzYm9vdCAtPiBib290JXMgKCVzKTogIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzA0CisjLCBmdXp6eQorbXNnaWQgIkJvb3RzdHJhcCBvdmVybGFwcyB3aXRoIGRpc2tsYWJlbCEiCittc2dzdHIgIkVsIGNhcnJlZ2Fkb3IgcydlbmNhdmFsY2EgYW1iIGwnZXRpcXVldGEgZGUgZGlzYy5cbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwIGluc3RhbGxlZCBvbiAlcy4iCittc2dzdHIgIlMnaGEgaW5zdGFswrdsYXQgZWwgY2FycmVnYWRvciBhICVzLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiAgKERvbid0IGZvcmdldCB0byB3cml0ZSB0aGUgJXMgZGlza2xhYmVsIHRvby4pIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiIKK21zZ3N0ciAiVW5pdGF0IGRlIGRpc2M6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDkgbGliZmRpc2svc3JjL2NvbnRleHQuYzo2NjYKKyMsIGZ1enp5Cittc2dpZCAiU3luY2luZyBkaXNrcy4iCittc2dzdHIgIlMnZXN0YW4gc2luY3Jvbml0emFudCBlbHMgZGlzY3MuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NTAKK21zZ2lkICJCU0QgbGFiZWwgaXMgbm90IG5lc3RlZCB3aXRoaW4gYSBET1MgcGFydGl0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCU0QgcGFydGl0aW9uICclYycgbGlua2VkIHRvIERPUyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiICAgeCAgIGVubGxhw6dhIGxhIHBhcnRpY2nDsyBCU0QgYSB1bmEgcGFydGljacOzIG5vIEJTRCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMTQKK21zZ2lkICJTbGljZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMQorIywgZnV6enkKK21zZ2lkICJGc2l6ZSIKK21zZ3N0ciAiTWlkYSBtw6B4aW1hPSVsZFxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMgorIywgZnV6enkKK21zZ2lkICJCc2l6ZSIKK21zZ3N0ciAiTWlkYSBtw6B4aW1hPSVsZFxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMworbXNnaWQgIkNwZyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NlIGRldmljZSBmYWlsZWQiCittc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4MjcKKyMsIGZ1enp5Cittc2dpZCAiY3lsaW5kZXIiCittc2dpZF9wbHVyYWwgImN5bGluZGVycyIKK21zZ3N0clswXSAiY2lsaW5kcmUiCittc2dzdHJbMV0gImNpbGluZHJlIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjgyOAorIywgZnV6enkKK21zZ2lkICJzZWN0b3IiCittc2dpZF9wbHVyYWwgInNlY3RvcnMiCittc2dzdHJbMF0gInNlY3RvciIKK21zZ3N0clsxXSAic2VjdG9yIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjExMzEKK21zZ2lkICJJbmNvbXBsZXRlIGdlb21ldHJ5IHNldHRpbmcuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTQKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBhbHJlYWR5LiIKK21zZ3N0ciAiSmEgcydoYW4gZGVmaW5pdCB0b3RlcyBsZXMgcGFydGljaW9ucyBwcmltw6ByaWVzLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBleHRlbmRlZCBwYXJ0aXRpb24gdGFibGUgKG9mZnNldD0lanUpIgorbXNnc3RyICJ0b3JuYSBhIGxsZWdpciBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzI4CisjLCBmdXp6eQorbXNnaWQgIllvdSBjYW4gc2V0IGdlb21ldHJ5IGZyb20gdGhlIGV4dHJhIGZ1bmN0aW9ucyBtZW51LiIKK21zZ3N0ciAiIgorIiVzJXMuXG4iCisiUG9kZXUgZmVyIGFpeMOyIGRlcyBkZWwgbWVuw7ogZGUgZnVuY2lvbnMgYWRkaWNpb25hbHMuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMzEKK21zZ2lkICJET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMzUKK21zZ2lkICJUaGUgZGV2aWNlIHByZXNlbnRzIGEgbG9naWNhbCBzZWN0b3Igc2l6ZSB0aGF0IGlzIHNtYWxsZXIgdGhhbiB0aGUgcGh5c2ljYWwgc2VjdG9yIHNpemUuIEFsaWduaW5nIHRvIGEgcGh5c2ljYWwgc2VjdG9yIChvciBvcHRpbWFsIEkvTykgc2l6ZSBib3VuZGFyeSBpcyByZWNvbW1lbmRlZCwgb3IgcGVyZm9ybWFuY2UgbWF5IGJlIGltcGFjdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQxCittc2dpZCAiQ3lsaW5kZXJzIGFzIGRpc3BsYXkgdW5pdHMgYXJlIGRlcHJlY2F0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHNpemUgb2YgdGhpcyBkaXNrIGlzICVzICglanUgYnl0ZXMpLiBET1MgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCBjYW4gbm90IGJlIHVzZWQgb24gZHJpdmVzIGZvciB2b2x1bWVzIGxhcmdlciB0aGFuICVsdSBieXRlcyBmb3IgJWx1LWJ5dGUgc2VjdG9ycy4gVXNlIEdVSUQgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCAoR1BUKS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjUwMworIywgZnV6enkKK21zZ2lkICJCYWQgb2Zmc2V0IGluIHByaW1hcnkgZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiRGVzcGxhw6dhbWVudCBpbmNvcnJlY3RlIGVuIHBhcnRpY2lvbnMgcHJpbcOgcmllcyBlc3Rlc2VzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk9taXR0aW5nIHBhcnRpdGlvbnMgYWZ0ZXIgIyV6dS4gVGhleSB3aWxsIGJlIGRlbGV0ZWQgaWYgeW91IHNhdmUgdGhpcyBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICIiCisiQXbDrXM6IHMnZXN0YW4gb21ldGVudCBsZXMgcGFydGljaW9ucyBwb3N0ZXJpb3JzIGEgbGEgIyVkLlxuIgorIlMnZWxpbWluYXJhbiBzaSBkZXNldSBhcXVlc3RhIHRhdWxhIGRlIHBhcnRpY2lvbnMuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkV4dHJhIGxpbmsgcG9pbnRlciBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiQXbDrXM6IGhpIGhhIHVuIHB1bnRlciBkJ2VubGxhw6cgYWRkaWNpb25hbCBhIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZGF0YSBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiQXbDrXM6IHMnZXN0w6AgaWdub3JhbnQgbGVzIGRhZGVzIGFkZGljaW9uYWxzIGRlIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjYwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib21pdHRpbmcgZW1wdHkgcGFydGl0aW9uICglenUpIgorbXNnc3RyICJBdsOtczogcGFydGljacOzIGJ1aWRhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguIgorbXNnc3RyICIgICBzICAgY3JlYSB1bmEgZXRpcXVldGEgZGUgZGlzYyBTdW4gbm92YSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY4NQorIywgZnV6enkKK21zZ2lkICJFbnRlciB0aGUgbmV3IGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiICAgdSAgIGNhbnZpYSBsZXMgdW5pdGF0cyBkZSB2aXN1YWxpdHphY2nDsy9lbnRyYWRhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjkyCisjLCBmdXp6eQorbXNnaWQgIkluY29ycmVjdCB2YWx1ZS4iCittc2dzdHIgIlZhbG9yIGVzdGFibGVydCBpbnbDoGxpZDogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcwMQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tIDB4JTA4eCB0byAweCUwOHguIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGV4dGVuZGVkIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIlMnZXN0w6AgaWdub3JhbnQgbGEgcGFydGljacOzIGVzdGVzYSBhZGRpY2lvbmFsICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgZmxhZyAweCUwMnglMDJ4IG9mIEVCUiAoZm9yIHBhcnRpdGlvbiAlenUpIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkuIgorbXNnc3RyICJBdsOtczogZWwgc2VueWFsYWRvciAweCUwNHggaW52w6BsaWQgZGUgbGEgdGF1bGEgZGUgcGFydGljaW9ucyAlZCBlcyBjb3JyZWdpcsOgIGFtYiB3KGVzY3JpdSlcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjkyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgc2VjdG9yICVqdSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJFbCB2YWxvciBlc3TDoCBmb3JhIGRlbCByYW5nLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTAyNiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzNiBsaWJmZGlzay9zcmMvc2dpLmM6ODM5CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKK21zZ3N0ciAiTGEgcGFydGljacOzICVkIGphIGVzdMOgIGRlZmluaWRhLiBFc2JvcnJldS1sYSBhYmFucyBkZSB0b3JuYXItbGEgYSBhZmVnaXIuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMDk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWxsdSBpcyBhbHJlYWR5IGFsbG9jYXRlZC4iCittc2dzdHIgIkVsIHNlY3RvciAlZCBqYSBlc3TDoCBhc3NpZ25hdFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTEzMyBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0NgorIywgZnV6enkKK21zZ2lkICJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlLiIKK21zZ3N0ciAiTm8gaGkgaGEgY2FwIHNlY3RvciBsbGl1cmUgZGlzcG9uaWJsZVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTI4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQWRkaW5nIGxvZ2ljYWwgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiUGFydGljacOzIGzDsmdpY2EgaW5jb3JyZWN0YSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGNvbnRhaW5zIHNlY3RvciAwIgorbXNnc3RyICJBdsOtczogbGEgcGFydGljacOzICVkIGNvbnTDqSBlbCBzZWN0b3IgMFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaGVhZCAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlZCIKK21zZ3N0ciAiUGFydGljacOzICVkOiBlbCBjYXDDp2FsICVkIHN1cGVyYSBlbCBtw6B4aW0gJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHNlY3RvciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICJQYXJ0aWNpw7MgJWQ6IGVsIHNlY3RvciAlZCBzdXBlcmEgZWwgbcOgeGltICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjeWxpbmRlciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICJQYXJ0aWNpw7MgJWQ6IGVsIGNpbGluZHJlICVkIHN1cGVyYSBlbCBtw6B4aW0gJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHByZXZpb3VzIHNlY3RvcnMgJXUgZGlzYWdyZWVzIHdpdGggdG90YWwgJXUiCittc2dzdHIgIlBhcnRpY2nDsyAlZDogc2VjdG9ycyBhbnRlcmlvcnMgJWQgZGlmZXJlaXhlbiBkZWwgdG90YWwgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGJlZ2lubmluZ3MgKG5vbi1MaW51eD8pOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIkxhIHBhcnRpY2nDsyAlZCB0w6kgZGlmZXJlbnRzIGNvbWVuw6dhbWVudHMgZsOtc2ljcy9sw7JnaWNzIChubyBMaW51eD8pOlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgZW5kaW5nczogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICJMYSBwYXJ0aWNpw7MgJWQgdMOpIGRpZmVyZW50cyBmaW5hbHMgZsOtc2ljcy9sw7JnaWNzOlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiTGEgcGFydGljacOzICVkIG5vIGFjYWJhIGVuIHVuIGzDrW1pdCBkZSBjaWxpbmRyZS5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGJhZCBzdGFydC1vZi1kYXRhLiIKK21zZ3N0ciAiTGEgcGFydGljacOzICVkIG5vIHTDqSBjYXAgw6ByZWEgZGUgZGFkZXNcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG92ZXJsYXBzIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJBdsOtczogbGEgcGFydGljacOzICVkIGNhdmFsY2EgYW1iIGxhIHBhcnRpY2nDsyAlZC5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGVtcHR5LiIKK21zZ3N0ciAiQXbDrXM6IGxhIHBhcnRpY2nDsyAlZCBlc3TDoCBidWlkYVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTG9naWNhbCBwYXJ0aXRpb24gJXp1OiBub3QgZW50aXJlbHkgaW4gcGFydGl0aW9uICV6dS4iCittc2dzdHIgIkxhIHBhcnRpY2nDsyBsw7JnaWNhICVkIG5vIGVzdMOgIGludGVncmFkYSBlbiBsYSBwYXJ0aWNpw7MgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRvdGFsIGFsbG9jYXRlZCBzZWN0b3JzICVsbHUgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtICVsbHUuIgorbXNnc3RyICJFbCB0b3RhbCBkZSBzZWN0b3JzIGFzc2lnbmF0cyAlZCBzdXBlcmEgZWwgbcOgeGltIGRlICVsbGRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJlbWFpbmluZyAlbGxkIHVuYWxsb2NhdGVkICVsZC1ieXRlIHNlY3RvcnMuIgorbXNnc3RyICIlbGxkIHNlY3RvcnMgbm8gYXNzaWduYXRzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTMyIGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU0CisjLCBmdXp6eQorbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgIkFxdWVzdGEgcGFydGljacOzIGphIGV4aXN0ZWl4LlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU3NQorIywgZnV6enkKK21zZ2lkICJUaGUgbWF4aW11bSBudW1iZXIgb2YgcGFydGl0aW9ucyBoYXMgYmVlbiBjcmVhdGVkLiIKK21zZ3N0ciAiUydoYSBjcmVhdCBlbCBtw6B4aW0gbm9tYnJlIGRlIHBhcnRpY2lvbnNcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1ODcKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiIKK21zZ3N0ciAiUyd1c2VuIHRvdGVzIGxlcyBwYXJ0aWNpb25zIGzDsmdpcXVlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU4OSBsaWJmZGlzay9zcmMvZG9zLmM6MTYwMAorIywgZnV6enkKK21zZ2lkICJBbGwgc3BhY2UgZm9yIHByaW1hcnkgcGFydGl0aW9ucyBpcyBpbiB1c2UuIgorbXNnc3RyICJTJ3VzZW4gdG90ZXMgbGVzIHBhcnRpY2lvbnMgbMOyZ2lxdWVzXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUcnkgdG8ga2VlcCB0aGlzIHdpdGhpbiA4MCBjaGFyYWN0ZXJzLgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDMKKyMsIGZ1enp5Cittc2dpZCAiVG8gY3JlYXRlIG1vcmUgcGFydGl0aW9ucywgZmlyc3QgcmVwbGFjZSBhIHByaW1hcnkgd2l0aCBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJQcmltZXIgaGV1IGRlIHN1cHJpbWlyIGFsZ3VuYSBwYXJ0aWNpw7MgaSBhZmVnaXItbmUgdW5hIGQnZXN0ZXNhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjA4CisjLCBmdXp6eQorbXNnaWQgIkFsbCBsb2dpY2FsIHBhcnRpdGlvbnMgYXJlIGluIHVzZS4gQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb24uIgorbXNnc3RyICJTJ3VzZW4gdG90ZXMgbGVzIHBhcnRpY2lvbnMgbMOyZ2lxdWVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjMwCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJOb21icmUgZGUgcGFydGljacOzIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlenUgcHJpbWFyeSwgJWQgZXh0ZW5kZWQsICV6dSBmcmVlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjM5CisjLCBmdXp6eQorbXNnaWQgInByaW1hcnkiCittc2dzdHIgIlByaW3DoHJpYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDEKKyMsIGZ1enp5Cittc2dpZCAiZXh0ZW5kZWQiCittc2dzdHIgIkVzdGVzYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDEKKyMsIGZ1enp5Cittc2dpZCAiY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMiCittc2dzdHIgIlBhcnRpY2nDsyBsw7JnaWNhIGluY29ycmVjdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQzCisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwiCittc2dzdHIgIkzDsmdpY2EiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQzCisjLCBmdXp6eQorbXNnaWQgIm51bWJlcmVkIGZyb20gNSIKK21zZ3N0ciAibCAgIGzDsmdpY2EgKDUgbyBzdXBlcmlvcikiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiB0eXBlIGAlYycuIgorbXNnc3RyICJOb21icmUgZGUgcGFydGljacOzIG5vIHbDoGxpZCBwZXIgYWwgdGlwdXMgYCVjJ1xuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlIHNlY3RvciAlamQ6IHNlZWsgZmFpbGVkIgorbXNnc3RyICIlczogbm8gcydoYSBwb2d1dCB0cm9iYXIgZWwgZGlzcG9zaXRpdSBwZXIgYSAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTg1MiBsaWJmZGlzay9zcmMvZ3B0LmM6MTA5NgorIywgZnV6enkKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIlVuaXRhdCBkZSBkaXNjOiAlcyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE5NTkKKyMsIGZ1enp5Cittc2dpZCAiVHlwZSAwIG1lYW5zIGZyZWUgc3BhY2UgdG8gbWFueSBzeXN0ZW1zLiBIYXZpbmcgcGFydGl0aW9ucyBvZiB0eXBlIDAgaXMgcHJvYmFibHkgdW53aXNlLiIKK21zZ3N0ciAiIgorIkVsIHRpcHVzIDAgc2lnbmlmaWNhIGVzcGFpIGxsaXVyZSBwZXIgYSBtb2x0cyBzaXN0ZW1lc1xuIgorIihwZXLDsiBubyBwZXIgYSBMaW51eCkuIE5vIMOpcyBhY29uc2VsbGFibGUgdGVuaXJcbiIKKyJwYXJ0aWNpb25zIGRlbCB0aXB1cyAwLiBMZXMgcG9kZXUgc3VwcmltaXIgYW1iXG4iCisibCdvcmRyZSDCq2TCuy5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE5NjQKK21zZ2lkICJDYW5ub3QgY2hhbmdlIHR5cGUgb2YgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiB3aGljaCBpcyBhbHJlYWR5IHVzZWQgYnkgbG9naWNhbCBwYXJ0aXRpb25zLiBEZWxldGUgbG9naWNhbCBwYXJ0aXRpb25zIGZpcnN0LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE0MyBsaWJmZGlzay9zcmMvZ3B0LmM6MjgyMQorIywgZnV6enkKK21zZ2lkICJOb3RoaW5nIHRvIGRvLiBPcmRlcmluZyBpcyBjb3JyZWN0IGFscmVhZHkuIgorbXNnc3RyICIiCisiUmVzIGEgZmVyLiBMJ29yZGVuYW1lbnQgamEgw6lzIGNvcnJlY3RlLlxuIgorIlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogbm8gZGF0YSBhcmVhLiIKK21zZ3N0ciAiTGEgcGFydGljacOzICVkIG5vIHTDqSBjYXAgw6ByZWEgZGUgZGFkZXNcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyMjIKK21zZ2lkICJOZXcgYmVnaW5uaW5nIG9mIGRhdGEiCittc2dzdHIgIk5vdSBjb21lbsOnYW1lbnQgZGUgZGFkZXMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBpcyBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJBdsOtczogbGEgcGFydGljacOzICVkIMOpcyB1bmEgcGFydGljacOzIGVzdGVzYVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIlMnaGEgY2FudmlhdCBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBsYSBwYXJ0aWNpw7MgJWQgcGVyICV4ICglcylcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiUydoYSBjYW52aWF0IGVsIHRpcHVzIGRlbCBzaXN0ZW1hIGRlIGxhIHBhcnRpY2nDsyAlZCBwZXIgJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI5OCBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxMSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1MworIzogbGliZmRpc2svc3JjL3N1bi5jOjExMDkKK21zZ2lkICJEZXZpY2UiCittc2dzdHIgIkRpc3Bvc2l0aXUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjk5IGxpYmZkaXNrL3NyYy9zdW4uYzo0MQorbXNnaWQgIkJvb3QiCittc2dzdHIgIkFycmVuY2FkYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDUgbGliZmRpc2svc3JjL3NnaS5jOjExNTkgbGliZmRpc2svc3JjL3N1bi5jOjExMTUKK21zZ2lkICJJZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwOQorIywgZnV6enkKK21zZ2lkICJTdGFydC1DL0gvUyIKK21zZ3N0ciAiaW5pY2kiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzEwCittc2dpZCAiRW5kLUMvSC9TIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzExIGxpYmZkaXNrL3NyYy9ncHQuYzoyOTIxIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTYxCittc2dpZCAiQXR0cnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MAorbXNnaWQgIkVGSSBTeXN0ZW0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MgorIywgZnV6enkKK21zZ2lkICJNQlIgcGFydGl0aW9uIHNjaGVtZSIKK21zZ3N0ciAiTm9tYnJlIGRlIHBhcnRpY2nDsyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MworbXNnaWQgIkludGVsIEZhc3QgRmxhc2giCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2NgorIywgZnV6enkKK21zZ2lkICJCSU9TIGJvb3QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjkKKyMsIGZ1enp5Cittc2dpZCAiU29ueSBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgYSAgIHNlbGVjY2lvbmEgbGEgcGFydGljacOzIGQnYXJyZW5jYWRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTcwCisjLCBmdXp6eQorbXNnaWQgIkxlbm92byBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgYSAgIHNlbGVjY2lvbmEgbGEgcGFydGljacOzIGQnYXJyZW5jYWRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczCisjLCBmdXp6eQorbXNnaWQgIlBvd2VyUEMgUFJlUCBib290IgorbXNnc3RyICJQUEMgYXJyZW5jYWRhIFBSZVAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzYKKyMsIGZ1enp5Cittc2dpZCAiT05JRSBib290IgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc3Cittc2dpZCAiT05JRSBjb25maWciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MAorbXNnaWQgIk1pY3Jvc29mdCByZXNlcnZlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgxCittc2dpZCAiTWljcm9zb2Z0IGJhc2ljIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MgorbXNnaWQgIk1pY3Jvc29mdCBMRE0gbWV0YWRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MworbXNnaWQgIk1pY3Jvc29mdCBMRE0gZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg0Cittc2dpZCAiV2luZG93cyByZWNvdmVyeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg1Cittc2dpZCAiSUJNIEdlbmVyYWwgUGFyYWxsZWwgRnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NgorbXNnaWQgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIkhQLVVYIGRhdGEiCittc2dzdHIgIiAgIGQgICBzdXByaW1laXggdW5hIHBhcnRpY2nDsyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MAorIywgZnV6enkKK21zZ2lkICJIUC1VWCBzZXJ2aWNlIgorbXNnc3RyICJObyBoaSBoYSBtw6lzIHBhcnRpY2lvbnMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTMgbGliZmRpc2svc3JjL3NnaS5jOjYxIGxpYmZkaXNrL3NyYy9zdW4uYzo1MgorbXNnaWQgIkxpbnV4IHN3YXAiCittc2dzdHIgIkludGVyY2FudmkgTGludXgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTQKKyMsIGZ1enp5Cittc2dpZCAiTGludXggZmlsZXN5c3RlbSIKK21zZ3N0ciAiSW50cm9kdcOvdSBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzOiAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUKKyMsIGZ1enp5Cittc2dpZCAiTGludXggc2VydmVyIGRhdGEiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NgorbXNnaWQgIkxpbnV4IHJvb3QgKHg4NikiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NworbXNnaWQgIkxpbnV4IHJvb3QgKEFSTSkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OAorbXNnaWQgIkxpbnV4IHJvb3QgKHg4Ni02NCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OQorbXNnaWQgIkxpbnV4IHJvb3QgKEFSTS02NCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMAorbXNnaWQgIkxpbnV4IHJvb3RcdChJQS02NCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMQorIywgZnV6enkKK21zZ2lkICJMaW51eCByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAyCisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IGhvbWUiCittc2dzdHIgIkxpbnV4IHBlcnNvbmFsaXR6YWRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2NAorbXNnaWQgIkxpbnV4IFJBSUQiCittc2dzdHIgIlJBSUQgTGludXgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQKKyMsIGZ1enp5Cittc2dpZCAiTGludXggZXh0ZW5kZWQgYm9vdCIKK21zZ3N0ciAiTGludXggZXN0ZXNhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEyCisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgZGF0YSIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMworIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIGJvb3QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBzd2FwIgorbXNnc3RyICJJbnRlcmNhbnZpIGRlIEJTREkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBVRlMiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTYKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBaRlMiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTcKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBWaW51bSIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMAorIywgZnV6enkKK21zZ2lkICJBcHBsZSBIRlMvSEZTKyIKK21zZ3N0ciAiT1MvMiBIUEZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxCittc2dpZCAiQXBwbGUgVUZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjIKK21zZ2lkICJBcHBsZSBSQUlEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjMKK21zZ2lkICJBcHBsZSBSQUlEIG9mZmxpbmUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNAorbXNnaWQgIkFwcGxlIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNQorbXNnaWQgIkFwcGxlIGxhYmVsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjYKK21zZ2lkICJBcHBsZSBUViByZWNvdmVyeSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI3Cittc2dpZCAiQXBwbGUgQ29yZSBzdG9yYWdlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByb290IgorbXNnc3RyICJBcnJlbmNhZGEgU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMworbXNnaWQgIlNvbGFyaXMgL3VzciAmIEFwcGxlIFpGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgc3dhcCIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNQorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIGJhY2t1cCIKK21zZ3N0ciAiQXJyZW5jYWRhIFNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzYKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyAvdmFyIgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM3CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgL2hvbWUiCittc2dzdHIgIkFycmVuY2FkYSBTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM4CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgYWx0ZXJuYXRlIHNlY3RvciIKK21zZ3N0ciAibWFzc2EgdmVsb2NpdGF0cyBhbHRlcm5hdGl2ZXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzkKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAxIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDAKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAyIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDEKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAzIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA0IgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDMKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA1IgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDYKKyMsIGZ1enp5Cittc2dpZCAiTmV0QlNEIHN3YXAiCittc2dzdHIgIkludGVyY2FudmkgZGUgQlNESSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NworIywgZnV6enkKK21zZ2lkICJOZXRCU0QgRkZTIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgKKyMsIGZ1enp5Cittc2dpZCAiTmV0QlNEIExGUyIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5Cittc2dpZCAiTmV0QlNEIGNvbmNhdGVuYXRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwCittc2dpZCAiTmV0QlNEIGVuY3J5cHRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUxCisjLCBmdXp6eQorbXNnaWQgIk5ldEJTRCBSQUlEIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTQKK21zZ2lkICJDaHJvbWVPUyBrZXJuZWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NQorbXNnaWQgIkNocm9tZU9TIHJvb3QgZnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NgorIywgZnV6enkKK21zZ2lkICJDaHJvbWVPUyByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5Cittc2dpZCAiTWlkbmlnaHRCU0QgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYwCittc2dpZCAiTWlkbmlnaHRCU0QgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYxCisjLCBmdXp6eQorbXNnaWQgIk1pZG5pZ2h0QlNEIHN3YXAiCittc2dzdHIgIkludGVyY2FudmkgZGUgQlNESSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MgorbXNnaWQgIk1pZG5pZ2h0QlNEIFVGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYzCittc2dpZCAiTWlkbmlnaHRCU0QgWkZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjQKK21zZ2lkICJNaWRuaWdodEJTRCBWaW51bSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY3Cittc2dpZCAiQ2VwaCBKb3VybmFsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjgKK21zZ2lkICJDZXBoIEVuY3J5cHRlZCBKb3VybmFsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjkKK21zZ2lkICJDZXBoIE9TRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcwCittc2dpZCAiQ2VwaCBjcnlwdCBPU0QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MQorbXNnaWQgIkNlcGggZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcyCittc2dpZCAiQ2VwaCBjcnlwdCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzUKKyMsIGZ1enp5Cittc2dpZCAiT3BlbkJTRCBkYXRhIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc4CisjLCBmdXp6eQorbXNnaWQgIlFOWDYgZmlsZSBzeXN0ZW0iCittc2dzdHIgIkludHJvZHXDr3UgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVyczogIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjgxCisjLCBmdXp6eQorbXNnaWQgIlBsYW4gOSBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGQgICBzdXByaW1laXggdW5hIHBhcnRpY2nDsyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjU0NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR1BUIGhlYWRlciIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBsYSBtZW3DsnJpYSB0ZW1wb3JhbC5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjYzMAorbXNnaWQgIkZpcnN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjY0MgorbXNnaWQgIkxhc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Nzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIkdQVCBQTUJSIHNpemUgbWlzbWF0Y2ggKCU8UFJJdTY0PiAhPSAlPFBSSXU2ND4pIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3OTIKKyMsIGZ1enp5Cittc2dpZCAiZ3B0OiBzdGF0KCkgZmFpbGVkIgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo4MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3B0OiBjYW5ub3QgaGFuZGxlIGZpbGVzIHdpdGggbW9kZSAlbyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTA2NAorbXNnaWQgIkdQVCBIZWFkZXIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEwNjkKK21zZ2lkICJHUFQgRW50cmllcyIKK21zZ3N0ciAiIgorCisjIFBhcmxhIGQnZXRpcXVldGVzLCBzZWd1cmFtZW50IMOpcyBmZW1lbsOtCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEwMworIywgZnV6enkKK21zZ2lkICJGaXJzdCBMQkEiCittc2dzdHIgIlByaW1lcmEgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTA4CisjLCBmdXp6eQorbXNnaWQgIkxhc3QgTEJBIgorbXNnc3RyICIgw5psdGltICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIExCQSAoTG9naWNhbCBCbG9jayBBZGRyZXNzKSBvZiB0aGUgYmFja3VwIEdQVCBoZWFkZXIuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTExNAorbXNnaWQgIkFsdGVybmF0aXZlIExCQSIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YXJ0IG9mIHRoZSBhcnJheSBvZiBwYXJ0aXRpb24gZW50cmllcy4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTIwCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBlbnRyaWVzIExCQSIKK21zZ3N0ciAiUydoYSBzZWxlY2Npb25hdCBsYSBwYXJ0aWNpw7MgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExMjUKKyMsIGZ1enp5Cittc2dpZCAiQWxsb2NhdGVkIHBhcnRpdGlvbiBlbnRyaWVzIgorbXNnc3RyICJTJ2hhIHNlbGVjY2lvbmF0IGxhIHBhcnRpY2nDsyAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTQ0MAorbXNnaWQgIlRoZSBiYWNrdXAgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgcHJpbWFyeSBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE0NDkKK21zZ2lkICJUaGUgcHJpbWFyeSBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBiYWNrdXAgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBHUFQgYXR0cmlidXRlIGJpdCAnJXMnIgorbXNnc3RyICIlczogYXJndW1lbnQgZGVzY29uZWd1dDogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBHUFQgYXR0cmlidXRlIHN0cmluZyAnJXMnIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBVVUlEIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcGFydGljacOzIGEgJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lIGNoYW5nZWQgZnJvbSAnJXMnIHRvICclLipzJy4iCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcGFydGljacOzIGEgJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NjgKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gdW5kZXJzdGVwcyBGaXJzdFVzYWJsZUxCQS4iCittc2dzdHIgIiIKKyJcbiIKKyJMYSBwYXJ0aWNpw7MgZCdhcnJlbmNhZGEgbm8gZXhpc3RlaXguXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzc1CisjLCBmdXp6eQorbXNnaWQgIlRoZSBlbmQgb2YgdGhlIHBhcnRpdGlvbiBvdmVyc3RlcHMgTGFzdFVzYWJsZUxCQS4iCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcGFydGljacOzIGEgJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MzQKK21zZ2lkICJUaGUgZGV2aWNlIGNvbnRhaW5zIGh5YnJpZCBNQlIgLS0gd3JpdGluZyBHUFQgb25seS4gWW91IGhhdmUgdG8gc3luYyB0aGUgTUJSIG1hbnVhbGx5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3MQorIywgZnV6enkKK21zZ2lkICJEaXNrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiRWwgZGlzYyAlcyBubyBjb250w6kgdW5hIHRhdWxhIGRlIHBhcnRpY2lvbnMgdsOgbGlkYVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3NgorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4MAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTg1CisjLCBmdXp6eQorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIGVudHJ5IGNoZWNrc3VtLiIKK21zZ3N0ciAiTm9tYnJlIGRlIHBhcnRpY2nDsyBubyB2w6BsaWQgcGVyIGFsIHRpcHVzIGAlYydcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OTAKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5NAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OTkKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgcHJpbWFyeSBoZWFkZXIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAzCittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDA4Cittc2dpZCAiRGlzayBpcyB0b28gc21hbGwgdG8gaG9sZCBhbGwgZGF0YS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMTgKK21zZ2lkICJQcmltYXJ5IGFuZCBiYWNrdXAgaGVhZGVyIG1pc21hdGNoLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggcGFydGl0aW9uICV1LiIKK21zZ3N0ciAiQXbDrXM6IGxhIHBhcnRpY2nDsyAlZCBjYXZhbGNhIGFtYiBsYSBwYXJ0aWNpw7MgJWQuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgaXMgdG9vIGJpZyBmb3IgdGhlIGRpc2suIgorbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVuY2F2YWxjYW1lbnQgZGUgcGFydGljaW9ucyBhbCBkaXNjLiBDb3JyZWdpdS1oby5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBlbmRzIGJlZm9yZSBpdCBzdGFydHMuIgorbXNnc3RyICJMYSBwYXJ0aWNpw7MgYWNhYmEgYWJhbnMgZGVsIHNlY3RvciAwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0NworbXNnaWQgIk5vIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkhlYWRlciB2ZXJzaW9uOiAlcyIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2luZyAldSBvdXQgb2YgJWQgcGFydGl0aW9ucy4iCittc2dzdHIgIsOpcyBlc3RyYW55LCBub23DqXMgaGkgaGEgZGVmaW5pZGVzICVkIHBhcnRpY2lvbnMuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnQuIgorbXNnaWRfcGx1cmFsICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnRzICh0aGUgbGFyZ2VzdCBpcyAlcykuIgorbXNnc3RyWzBdICJObyBoaSBoYSBjYXAgc2VjdG9yIGxsaXVyZSBkaXNwb25pYmxlXG4iCittc2dzdHJbMV0gIk5vIGhpIGhhIGNhcCBzZWN0b3IgbGxpdXJlIGRpc3BvbmlibGVcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgZXJyb3IgZGV0ZWN0ZWQuIgorbXNnaWRfcGx1cmFsICIlZCBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNDIKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgYXJlIGFscmVhZHkgaW4gdXNlLiIKK21zZ3N0ciAiQXF1ZXN0YSBwYXJ0aWNpw7MgamEgZXN0w6AgZW4gw7pzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5NyBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVqdSBhbHJlYWR5IHVzZWQuIgorbXNnc3RyICJFbCBzZWN0b3IgJWQgamEgZXN0w6AgYXNzaWduYXRcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiTm8gY3Jlw69zIGNhcCBwYXJ0aWNpw7MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBsYXN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaXJzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBHUFQgZGlza2xhYmVsIChHVUlEOiAlcykuIgorbXNnc3RyICIgICBzICAgY3JlYSB1bmEgZXRpcXVldGEgZGUgZGlzYyBTdW4gbm92YSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NDcKK21zZ2lkICJFbnRlciBuZXcgZGlzayBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NTQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHlvdXIgVVVJRC4iCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcGFydGljacOzIGEgJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0ODgKKyMsIGZ1enp5Cittc2dpZCAiTm90IGVub3VnaCBzcGFjZSBmb3IgbmV3IHBhcnRpdGlvbiB0YWJsZSEiCittc2dzdHIgIk5vIGhpIGhhIGNhcCBzZWN0b3IgbGxpdXJlIGRpc3BvbmlibGVcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMldSBvdXQgb2YgcmFuZ2UgKG1pbmltYWwgc3RhcnQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXUgb3V0IG9mIHJhbmdlIChtYXhpbWFsIGVuZCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBudW1iZXIgb2YgdGhlIHBhcnRpdGlvbiBoYXMgYmUgc21hbGxlciB0aGFuICV6dS4iCittc2dzdHIgIlMnaGEgY3JlYXQgZWwgbcOgeGltIG5vbWJyZSBkZSBwYXJ0aWNpb25zXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTYzCisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBhbGxvY2F0ZSBtZW1vcnkhIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGJpZnVyY2FyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGxlbmd0aCBjaGFuZ2VkIGZyb20gJTxQUkl1MzI+IHRvICU8UFJJdTY0Pi4iCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcGFydGljacOzIGEgJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBhdHRyaWJ1dGVzIG9uIHBhcnRpdGlvbiAlenUgY2hhbmdlZCB0byAweCUwMTY8UFJJeDY0Pi4iCittc2dzdHIgIlMnaGEgY2FudmlhdCBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBsYSBwYXJ0aWNpw7MgJWQgcGVyICV4ICglcylcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NDIKK21zZ2lkICJFbnRlciBHVUlEIHNwZWNpZmljIGJpdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHRvZ2dsZSB1bnN1cHBvcnRlZCBiaXQgJWx1IgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiUydoYSBjYW52aWF0IGVsIHRpcHVzIGRlbCBzaXN0ZW1hIGRlIGxhIHBhcnRpY2nDsyAlZCBwZXIgJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiUydoYSBjYW52aWF0IGVsIHRpcHVzIGRlbCBzaXN0ZW1hIGRlIGxhIHBhcnRpY2nDsyAlZCBwZXIgJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJTJ2hhIGNhbnZpYXQgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgbGEgcGFydGljacOzICVkIHBlciAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE4CisjLCBmdXp6eQorbXNnaWQgIlR5cGUtVVVJRCIKK21zZ3N0ciAiVGlwdXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE5Cittc2dpZCAiVVVJRCIKK21zZ3N0ciAiVVVJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MjAgbG9naW4tdXRpbHMvY2hmbi5jOjE1MCBsb2dpbi11dGlscy9jaGZuLmM6MTUyCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzA3Cittc2dpZCAiTmFtZSIKK21zZ3N0ciAiTm9tIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6ODQwCisjLCBmdXp6eQorbXNnaWQgIkZyZWUgc3BhY2UiCittc2dzdHIgIkVzcGFpIGxsaXVyZSIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjEyMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uICMlenUuIgorbXNnc3RyICJ0b3JuYSBhIGxsZWdpciBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIgorCisjOiBsaWJmZGlzay9zcmMvcGFydHR5cGUuYzoyNTkgbWlzYy11dGlscy9maW5kbW50LmM6NjU1IHNjaGVkdXRpbHMvY2hydC5jOjIwNgorIzogc2NoZWR1dGlscy9pb25pY2UuYzo3OSBzeXMtdXRpbHMvaHdjbG9jay5jOjMzNAorbXNnaWQgInVua25vd24iCittc2dzdHIgImRlc2NvbmVndXQiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NworbXNnaWQgIlNHSSB2b2xoZHIiCittc2dzdHIgIlNHSSB2b2xoZHIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OAorbXNnaWQgIlNHSSB0cmtyZXBsIgorbXNnc3RyICJTR0kgdHJrcmVwbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ5Cittc2dpZCAiU0dJIHNlY3JlcGwiCittc2dzdHIgIlNHSSBzZWNyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTAKK21zZ2lkICJTR0kgcmF3IgorbXNnc3RyICJTR0kgY3J1IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTEKK21zZ2lkICJTR0kgYnNkIgorbXNnc3RyICJTR0kgYnNkIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTIKK21zZ2lkICJTR0kgc3lzdiIKK21zZ3N0ciAiU0dJIHN5c3YiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MworbXNnaWQgIlNHSSB2b2x1bWUiCittc2dzdHIgIlZvbHVtIFNHSSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU0Cittc2dpZCAiU0dJIGVmcyIKK21zZ3N0ciAiU0dJIGVmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU1Cittc2dpZCAiU0dJIGx2b2wiCittc2dzdHIgIlNHSSBsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTYKK21zZ2lkICJTR0kgcmx2b2wiCittc2dzdHIgIlNHSSBybHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU3Cittc2dpZCAiU0dJIHhmcyIKK21zZ3N0ciAiU0dJIGVuIHhmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU4Cittc2dpZCAiU0dJIHhmc2xvZyIKK21zZ3N0ciAiU0dJIHhmc2xvZyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5Cittc2dpZCAiU0dJIHhsdiIKK21zZ3N0ciAiU0dJIHhsdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYwCittc2dpZCAiU0dJIHh2bSIKK21zZ3N0ciAiU0dJIHh2bSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyIGxpYmZkaXNrL3NyYy9zdW4uYzo1MworbXNnaWQgIkxpbnV4IG5hdGl2ZSIKK21zZ3N0ciAiTGludXggbmF0aXZhIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTU5Cittc2dpZCAiU0dJIGluZm8gY3JlYXRlZCBvbiBzZWNvbmQgc2VjdG9yLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjU5CisjLCBmdXp6eQorbXNnaWQgIkRldGVjdGVkIGFuIFNHSSBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4iCittc2dzdHIgIlMnaGEgZGV0ZWN0YXQgdW5hIGV0aXF1ZXRhIGRlIGRpc2Mgc2dpIGFtYiB1bmEgc3VtYSBkZSBjb21wcm92YWNpw7MgaW5jb3JyZWN0YS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4MiBsaWJmZGlzay9zcmMvc3VuLmM6NzcwCittc2dpZCAiUGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJDaWxpbmRyZXMgZsOtc2ljcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4NyBsaWJmZGlzay9zcmMvc3VuLmM6Nzc1CisjLCBmdXp6eQorbXNnaWQgIkV4dHJhIHNlY3RzL2N5bCIKK21zZ3N0ciAiU2VjdG9ycyBhZGRpY2lvbmFscyBwZXIgY2lsaW5kcmUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyOTcKKyMsIGZ1enp5Cittc2dpZCAiQm9vdGZpbGUiCittc2dzdHIgIihGaXR4ZXIgc2Vnw7xlbnQ6ICVzKSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjM5NQorIywgZnV6enkKK21zZ2lkICJJbnZhbGlkIGJvb3RmaWxlISAgVGhlIGJvb3RmaWxlIG11c3QgYmUgYW4gYWJzb2x1dGUgbm9uLXplcm8gcGF0aG5hbWUsIGUuZy4gXCIvdW5peFwiIG9yIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAiIgorIlxuIgorIkVsIGZpdHhlciBkJ2FycmVuY2FkYSBubyDDqXMgdsOgbGlkIVxuIgorIlx0RWwgZml0eGVyIGQnYXJyZW5jYWRhIGhhIGRlIHNlciB1biBjYW3DrSBhYnNvbHV0XG4iCisiXHRkaWZlcmVudCBkZSB6ZXJvLCBwLmUuIFwiL3VuaXhcIiBvIFwiL3VuaXguc2F2ZVwiLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZSBtYXhpbXVtLiIKK21zZ2lkX3BsdXJhbCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGVzIG1heGltdW0uIgorbXNnc3RyWzBdICIiCisiXG4iCisiXHRFbCBub20gZGVsIGZpdHhlciBkJ2FycmVuY2FkYSDDqXMgbWFzc2EgbGxhcmc6IG3DoHhpbSBkZSAxNiBvY3RldHMuXG4iCittc2dzdHJbMV0gIiIKKyJcbiIKKyJcdEVsIG5vbSBkZWwgZml0eGVyIGQnYXJyZW5jYWRhIMOpcyBtYXNzYSBsbGFyZzogbcOgeGltIGRlIDE2IG9jdGV0cy5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwOAorIywgZnV6enkKK21zZ2lkICJCb290ZmlsZSBtdXN0IGhhdmUgYSBmdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUuIgorbXNnc3RyICIiCisiXG4iCisiXHRFbCBmaXR4ZXIgZCdhcnJlbmNhZGEgaGEgZGUgdGVuaXIgdW4gY2Ftw60gY29tcGxldGFtZW50IHF1YWxpZmljYXQuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAiQmUgYXdhcmUgdGhhdCB0aGUgYm9vdGZpbGUgaXMgbm90IGNoZWNrZWQgZm9yIGV4aXN0ZW5jZS4gIFNHSSdzIGRlZmF1bHQgaXMgXCIvdW5peFwiLCBhbmQgZm9yIGJhY2t1cCBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIiIKKyJcbiIKKyJcdFRpbmd1ZXUgZW4gY29tcHRlIHF1ZSBubyBlcyBjb21wcm92YSBsJ2V4aXN0w6huY2lhIGRlbCBmaXR4ZXIgZCdhcnJlbmNhZGEuXG4iCisiXHRFbCB2YWxvciBwZXIgZGVmZWN0ZSBTR0kgw6lzIFwiL3VuaXhcIiBpIHBlciBhIGxhIGPDsnBpYSBkZSBzZWd1cmV0YXQgXCIvdW5peC5zYXZlXCIuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBjdXJyZW50IGJvb3QgZmlsZSBpczogJXMiCittc2dzdHIgIiIKKyJcbiIKKyJMJ2FjdHVhbCBmaXR4ZXIgZCdhcnJlbmNhZGEgw6lzOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQxCisjLCBmdXp6eQorbXNnaWQgIkVudGVyIG9mIHRoZSBuZXcgYm9vdCBmaWxlIgorbXNnc3RyICJFbnRyZXUgZWwgbm9tIGRlbCBub3UgZml0eGVyIGQnYXJyZW5jYWRhOiAiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDYKKyMsIGZ1enp5Cittc2dpZCAiQm9vdCBmaWxlIGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIk5vIHMnaGEgbW9kaWZpY2F0IGVsIGZpdHhlciBkJ2FycmVuY2FkYVxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCb290ZmlsZSBoYXMgYmVlbiBjaGFuZ2VkIHRvIFwiJXNcIi4iCittc2dzdHIgIiIKKyJcbiIKKyJcdFMnaGEgY2FudmlhdCBlbCBmaXR4ZXIgZCdhcnJlbmNhZGEgYSBcIiVzXCIuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OTYKKyMsIGZ1enp5Cittc2dpZCAiTW9yZSB0aGFuIG9uZSBlbnRpcmUgZGlzayBlbnRyeSBwcmVzZW50LiIKK21zZ3N0ciAiSGkgaGEgcHJlc2VudCBtw6lzIGQndW5hIGVudHJhZGEgZGUgZGlzYyBjb21wbGV0LlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAzIGxpYmZkaXNrL3NyYy9zdW4uYzo0NTgKKyMsIGZ1enp5Cittc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkLiIKK21zZ3N0ciAiTm8gaGkgaGFuIHBhcnRpY2lvbnMgZGVmaW5pZGVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTMKKyMsIGZ1enp5Cittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiUGVyIGEgSVJJWCBlcyByZWNvbWFuYSBxdWUgbGEgcGFydGljacOzIDExIGFiYXN0aSB0b3QgZWwgZGlzYy5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIHBhcnRpdGlvbiBzaG91bGQgc3RhcnQgYXQgYmxvY2sgMCwgbm90IGF0IGJsb2NrICVkLiIKK21zZ3N0ciAiIgorIkxhIHBhcnRpY2nDsyBkZWwgZGlzYyBzZW5jZXIgaGEgZGUgY29tZW7Dp2FyIGVuIGVsIGJsb2MgMCxcbiIKKyJubyBlbiBlbCBibG9jIGRlIGRpc2MgJWQuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MjgKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIDExIHNob3VsZCBjb3ZlciB0aGUgZW50aXJlIGRpc2suIgorbXNnc3RyICJVbmEgcGFydGljacOzICgjMTEpIGhhdXJpYSBkJ2FiYXN0YXIgZWwgZGlzYyBzZW5jZXIuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9yLiIKK21zZ2lkX3BsdXJhbCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3JzLiIKK21zZ3N0clswXSAiTGVzIHBhcnRpY2lvbnMgJWQgaSAlZCBlcyBzb2xhcGVuIGVuICVkIHNlY3RvcnMuXG4iCittc2dzdHJbMV0gIkxlcyBwYXJ0aWNpb25zICVkIGkgJWQgZXMgc29sYXBlbiBlbiAlZCBzZWN0b3JzLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjYzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3Rvcjogc2VjdG9yICU4dSIKK21zZ2lkX3BsdXJhbCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yczogc2VjdG9ycyAlOHUtJXUiCittc2dzdHJbMF0gIkhpIGhhIHVuIGJ1aXQgcXVlIG5vIHMndXNhIGRlICU4dSBzZWN0b3JzIC0gc2VjdG9ycyAlOHUtJXVcbiIKK21zZ3N0clsxXSAiSGkgaGEgdW4gYnVpdCBxdWUgbm8gcyd1c2EgZGUgJTh1IHNlY3RvcnMgLSBzZWN0b3JzICU4dS0ldVxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Njk4CisjLCBmdXp6eQorbXNnaWQgIlRoZSBib290IHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIiIKKyJcbiIKKyJMYSBwYXJ0aWNpw7MgZCdhcnJlbmNhZGEgbm8gZXhpc3RlaXguXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDIKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiIgorIlxuIgorIkxhIHBhcnRpY2nDsyBkJ2ludGVyY2Fudmkgbm8gZXhpc3RlaXguXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDYKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGhhcyBubyBzd2FwIHR5cGUuIgorbXNnc3RyICIiCisiXG4iCisiTGEgcGFydGljacOzIGQnaW50ZXJjYW52aSBubyDDqXMgZGVsIHRpcHVzIGQnaW50ZXJjYW52aS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwOQorIywgZnV6enkKK21zZ2lkICJZb3UgaGF2ZSBjaG9zZW4gYW4gdW51c3VhbCBib290ZmlsZSBuYW1lLiIKK21zZ3N0ciAiXHRIZXUgZXNjb2xsaXQgdW4gbm9tIGRlIGZpdHhlciBkJ2FycmVuY2FkYSBpbnVzdWFsLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzU5CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiIKK21zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlbmNhdmFsY2FtZW50IGRlIHBhcnRpY2lvbnMgYWwgZGlzYy4gQ29ycmVnaXUtaG8uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDQKKyMsIGZ1enp5Cittc2dpZCAiQXR0ZW1wdGluZyB0byBnZW5lcmF0ZSBlbnRpcmUgZGlzayBlbnRyeSBhdXRvbWF0aWNhbGx5LiIKK21zZ3N0ciAiUydlc3TDoCBpbnRlbnRhbnQgZ2VuZXJhciB1bmEgZW50cmFkYSBkZSBkaXNjIHNlbmNlciBhdXRvbcOgdGljYW1lbnQuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDkKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIGlzIGFscmVhZHkgY292ZXJlZCB3aXRoIHBhcnRpdGlvbnMuIgorbXNnc3RyICJFbCBkaXNjIHNlbmNlciBqYSBlc3TDoCBjb2JlcnQgZGUgcGFydGljaW9ucy5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg1MworIywgZnV6enkKK21zZ2lkICJZb3UgZ290IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCEiCittc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZW5jYXZhbGNhbWVudCBkZSBwYXJ0aWNpb25zIGFsIGRpc2MuIENvcnJlZ2l1LWhvLlxuIgorCisjIFBhcmxhIGQnZXRpcXVldGVzLCBzZWd1cmFtZW50IMOpcyBmZW1lbsOtCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODc1IGxpYmZkaXNrL3NyYy9zdW4uYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3QgJXMiCittc2dzdHIgIlByaW1lcmEgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4OTkgbGliZmRpc2svc3JjL3NnaS5jOjk0OQorIywgZnV6enkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgZWxldmVudGggcGFydGl0aW9uIGNvdmVycyB0aGUgZW50aXJlIGRpc2sgYW5kIGlzIG9mIHR5cGUgJ1NHSSB2b2x1bWUnLiIKK21zZ3N0ciAiIgorIkVzIHJlY29tYW5hIGVzcGVjaWFsbWVudCBxdWUgbGEgb256ZW5hIHBhcnRpY2nDs1xuIgorImNvYnJlaXhpIGVsIGRpc2Mgc2VuY2VyIGkgc2lndWkgZGVsIHRpcHVzICd2b2x1bSBTR0knXG4iCisKKyMgUGFybGEgZCdldGlxdWV0ZXMsIHNlZ3VyYW1lbnQgw6lzIGZlbWVuw60KKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5MTQgbGliZmRpc2svc3JjL3N1bi5jOjYzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTGFzdCAlcyBvciArJXMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiw5psdGltYSAlcyBvICttaWRhIG8gK21pZGFNIG8gK21pZGFLIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTg1IGxpYmZkaXNrL3NyYy9zdW4uYzoyNDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LiBUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLiIKK21zZ3N0ciAiIgorIkF2w61zOiBubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGlvY3RsIEJMS0dFVFNJWkUgYSAlcy4gUydlc3TDoCB1dGlsaXR6YW50IGVsIHZhbG9yIGRlIGxhIGdlb21ldHJpYSBkZWwgY2lsaW5kcmUgJWQuXG4iCisiQXF1ZXN0IHZhbG9yIGVzIHBvdCB0cnVuY2FyIHBlciBhIGRpc3Bvc2l0aXVzID4gMzMuOCBHQi5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNTEKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTR0kgZGlza2xhYmVsLiIKK21zZ3N0ciAiICAgcyAgIGNyZWEgdW5hIGV0aXF1ZXRhIGRlIGRpc2MgU3VuIG5vdmEiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDcwCisjLCBmdXp6eQorbXNnaWQgIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIKK21zZ3N0ciAiTm9tw6lzIGVsIHN1cGVydXN1YXJpIHBvcnQgY2FudmlhciBlbCByZWxsb3RnZSBkZWwgc2lzdGVtYS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNzYKKyMsIGZ1enp5Cittc2dpZCAiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gOSBhcyB2b2x1bWUgaGVhZGVyICgwKSwgYW5kIHBhcnRpdGlvbiAxMSBhcyBlbnRpcmUgdm9sdW1lICg2KSwgYXMgSVJJWCBleHBlY3RzIGl0LiIKK21zZ3N0ciAiIgorIkVzIHJlY29tYW5hIGRlaXhhciBsYSBwYXJ0aWNpw7MgOSBjb20gYSBjYXDDp2FsZXJhIGRlIHZvbHVtICgwKVxuIgorImkgbGEgcGFydGljacOzIDExIGNvbSBhIHZvbHVtIGNvbXBsZXQgKDYpIGphIHF1ZSBJUklYIGFpeMOtIGhvXG4iCisiZXNwZXJhLlxuIgorIlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA4NQorIywgZnV6enkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwIGlzIG9mIHR5cGUgXCJTR0kgdm9saGRyXCIsIHRoZSBJUklYIHN5c3RlbSB3aWxsIHJlbHkgb24gaXQgdG8gcmV0cmlldmUgZnJvbSBpdHMgZGlyZWN0b3J5IHN0YW5kYWxvbmUgdG9vbHMgbGlrZSBzYXNoIGFuZCBmeC4gT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiBBcmUgeW91IHN1cmUgYWJvdXQgdGFnZ2luZyB0aGlzIHBhcnRpdGlvbiBkaWZmZXJlbnRseT8iCittc2dzdHIgIiIKKyJFc3TDoCBhbHRhbWVudCByZWNvbWVuYXQgcXVlIGxhIHBhcnRpY2nDsyBlbiBlbCBkZXNwbGHDp2FtZW50IDBcbiIKKyJzaWd1aSBkZWwgdGlwdXMgXCJTR0kgdm9saGRyXCI7IGVsIHNpc3RlbWEgSVJJWCBsJ3VzYXLDoCBwZXJcbiIKKyJyZWN1cGVyYXIgZGVzIGRlbCBzZXUgZGlyZWN0b3JpIGQndXRpbGl0YXRzIGNvbSBhcmEgc2FzaCBpIGZ4LlxuIgorIk5vbcOpcyBsJ2VudHJhZGEgZGUgZGlzYyBzZW5jZXIgXCJWb2x1bSBTR0lcIiBwb3QgaW5mcmluZ2lyIGFpeMOyLlxuIgorIkVzY3Jpdml1IFPDjSBzaSBlc3RldSBzZWd1ciBxdWUgdm9sZXUgdG9ybmFyIGEgZXRpcXVldGFyIGFxdWVzdGEgcGFydGljacOzLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDAKK21zZ2lkICJVbmFzc2lnbmVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MgorbXNnaWQgIlN1bk9TIHJvb3QiCittc2dzdHIgIlN1bk9TIGFycmVsIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDMKK21zZ2lkICJTdW5PUyBzd2FwIgorbXNnc3RyICJTdW5PUyBkJ2ludGVyY2FudmkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NAorbXNnaWQgIlN1bk9TIHVzciIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDUKK21zZ2lkICJXaG9sZSBkaXNrIgorbXNnc3RyICJEaXNjIHNlbmNlciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2Cittc2dpZCAiU3VuT1Mgc3RhbmQiCittc2dzdHIgIlN1bk9TIGVzdMOgbmRhcmQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NworbXNnaWQgIlN1bk9TIHZhciIKK21zZ3N0ciAiU3VuT1MgdmFyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDgKK21zZ2lkICJTdW5PUyBob21lIgorbXNnc3RyICJTdW5PUyBob21lIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDkKKyMsIGZ1enp5Cittc2dpZCAiU3VuT1MgYWx0IHNlY3RvcnMiCittc2dzdHIgIiVsbGQgc2VjdG9ycyBubyBhc3NpZ25hdHNcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUwCisjLCBmdXp6eQorbXNnaWQgIlN1bk9TIGNhY2hlZnMiCittc2dzdHIgIlN1bk9TIGhvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MQorIywgZnV6enkKK21zZ2lkICJTdW5PUyByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTM3CisjLCBmdXp6eQorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4gUHJvYmFibHkgeW91J2xsIGhhdmUgdG8gc2V0IGFsbCB0aGUgdmFsdWVzLCBlLmcuIGhlYWRzLCBzZWN0b3JzLCBjeWxpbmRlcnMgYW5kIHBhcnRpdGlvbnMgb3IgZm9yY2UgYSBmcmVzaCBsYWJlbCAocyBjb21tYW5kIGluIG1haW4gbWVudSkiCittc2dzdHIgIiIKKyJTJ2hhIGRldGVjdGF0IHVuYSBldGlxdWV0YSBkZSBkaXNjIGFtYiB1bmEgc3VtYSBkZSBjb21wcm92YWNpw7MgaW5jb3JyZWN0YS5cbiIKKyJQcm9iYWJsZW1lbnQgaGF1cmV1IGQnZXN0YWJsaXIgdG90cyBlbHMgdmFsb3JzLFxuIgorInAuZXguIGNhcMOnYWxzLCBzZWN0b3JzLCBjaWxpbmRyZXMgaSBwYXJ0aWNpb25zLCBvIGZvcsOnYXJcbiIKKyJ1bmEgbm92YSBldGlxdWV0YSAob3JkcmUgcyBkZWwgbWVuw7ogcHJpbmNpcGFsKVxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdmVyc2lvbiBbJWRdLiIKK21zZ3N0ciAiUydoYSBkZXRlY3RhdCB1bmEgZXRpcXVldGEgZGUgZGlzYyBzZ2kgYW1iIHVuYSBzdW1hIGRlIGNvbXByb3ZhY2nDsyBpbmNvcnJlY3RhLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5zYW5pdHkgWzB4JTA4eF0uIgorbXNnc3RyICJTJ2hhIGRldGVjdGF0IHVuYSBldGlxdWV0YSBkZSBkaXNjIHNnaSBhbWIgdW5hIHN1bWEgZGUgY29tcHJvdmFjacOzIGluY29ycmVjdGEuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLm5wYXJ0cyBbJXVdLiIKK21zZ3N0ciAiUydoYSBkZXRlY3RhdCB1bmEgZXRpcXVldGEgZGUgZGlzYyBzZ2kgYW1iIHVuYSBzdW1hIGRlIGNvbXByb3ZhY2nDsyBpbmNvcnJlY3RhLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIldhcm5pbmc6IFdyb25nIHZhbHVlcyBuZWVkIHRvIGJlIGZpeGVkIHVwIGFuZCB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpIgorbXNnc3RyICJBdsOtczogZWwgc2VueWFsYWRvciAweCUwNHggaW52w6BsaWQgZGUgbGEgdGF1bGEgZGUgcGFydGljaW9ucyAlZCBlcyBjb3JyZWdpcsOgIGFtYiB3KGVzY3JpdSlcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE5MgorbXNnaWQgIkhlYWRzIgorbXNnc3RyICJDYXDDp2FscyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE5NAorbXNnaWQgIlNlY3RvcnMvdHJhY2siCittc2dzdHIgIlNlY3RvcnMvcGlzdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoyOTcKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTdW4gZGlza2xhYmVsLiIKK21zZ3N0ciAiICAgcyAgIGNyZWEgdW5hIGV0aXF1ZXRhIGRlIGRpc2MgU3VuIG5vdmEiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBkb2Vzbid0IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIkxhIHBhcnRpY2nDsyAlZCBubyBhY2FiYSBlbiB1biBsw61taXQgZGUgY2lsaW5kcmVcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggb3RoZXJzIGluIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICJMYSBwYXJ0aWNpw7MgJWQgZW5jYXZhbGNhIGFtYiBkJ2FsdHJlcyBlbiBlbHMgc2VjdG9ycyAlZC0lZFxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAwLSV1LiIKK21zZ3N0ciAiQnVpdCBubyB1c2F0IC0gc2VjdG9ycyAwLSVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjUgbGliZmRpc2svc3JjL3N1bi5jOjQ3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICJCdWl0IG5vIHVzYXQgLSBzZWN0b3JzICVkLSVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MjgKKyMsIGZ1enp5Cittc2dpZCAiT3RoZXIgcGFydGl0aW9ucyBhbHJlYWR5IGNvdmVyIHRoZSB3aG9sZSBkaXNrLiBEZWxldGUgc29tZS9zaHJpbmsgdGhlbSBiZWZvcmUgcmV0cnkuIgorbXNnc3RyICIiCisiQWx0cmVzIHBhcnRpY2lvbnMgY29icmVpeGVuIGVsIGRpc2Mgc2VuY2VyLlxuIgorIkFiYW5zIGRlIHRvcm5hci1oaSBlc2JvcnJldS1uZSBvIHJlZHXDr3UtbmUgbGEgc2V2YSBtaWRhLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWQgaXMgYWxyZWFkeSBhbGxvY2F0ZWQiCittc2dzdHIgIkVsIHNlY3RvciAlZCBqYSBlc3TDoCBhc3NpZ25hdFxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NjAwCisjLCBmdXp6eQorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSB0aGlyZCBwYXJ0aXRpb24gY292ZXJzIHRoZSB3aG9sZSBkaXNrIGFuZCBpcyBvZiB0eXBlIGBXaG9sZSBkaXNrJyIKK21zZ3N0ciAiIgorIkVzIHJlY29tYW5hIGVzcGVjaWFsbWVudCBxdWUgbGEgb256ZW5hIHBhcnRpY2nDs1xuIgorImNvYnJlaXhpIGVsIGRpc2Mgc2VuY2VyIGkgc2lndWkgZGVsIHRpcHVzICd2b2x1bSBTR0knXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25pbmcgdGhlIGZpcnN0IHNlY3RvciBmcm9tICV1IHRvICV1IHRvIGJlIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Njg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmVuJ3QgY292ZXJlZCB0aGUgd2hvbGUgZGlzayB3aXRoIHRoZSAzcmQgcGFydGl0aW9uLCBidXQgeW91ciB2YWx1ZVxuIgorIiVsdSAlcyBjb3ZlcnMgc29tZSBvdGhlciBwYXJ0aXRpb24uIFlvdXIgZW50cnkgaGFzIGJlZW4gY2hhbmdlZFxuIgorInRvICVsdSAlcyIKK21zZ3N0ciAiIgorIk5vIGhldSBjb2JlcnQgZWwgZGlzYyBzZW5jZXIgYW1iIGxhIHRlcmNlcmEgcGFydGljacOzLCBwZXLDsiBlbFxuIgorInZhbG9yICVkICVzIGVuY2F2YWxjYSBhbWIgZCdhbHRyZXMgcGFydGljaW9ucy4gUydoYSBjYW52aWF0IGwnZW50cmFkYVxuIgorInBlciAlZCAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJZiB5b3Ugd2FudCB0byBtYWludGFpbiBTdW5PUy9Tb2xhcmlzIGNvbXBhdGliaWxpdHksIGNvbnNpZGVyIGxlYXZpbmcgdGhpcyBwYXJ0aXRpb24gYXMgV2hvbGUgZGlzayAoNSksIHN0YXJ0aW5nIGF0IDAsIHdpdGggJXUgc2VjdG9ycyIKK21zZ3N0ciAiIgorIlNpIGRlc2l0Z2V1IG1hbnRlbmlyIGxhIGNvbXBhdGliaWxpdGF0IGFtYiBTdW5PUy9Tb2xhcmlzLCBjb25zaWRlcmV1IGRlaXhhclxuIgorImFxdWVzdGEgcGFydGljacOzIGNvbSBhIERpc2Mgc2VuY2VyICg1KSwgY29tZW7Dp2FudCBlbiAwLCBhbWIgJXUgc2VjdG9yc1xuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzUwCisjLCBmdXp6eQorbXNnaWQgIkxhYmVsIElEIgorbXNnc3RyICJldGlxdWV0YTogJS4qc1xuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzU1CisjLCBmdXp6eQorbXNnaWQgIlZvbHVtZSBJRCIKK21zZ3N0ciAiVm9sdW06IDwlLTZzPlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzY1Cittc2dpZCAiQWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiQ2lsaW5kcmVzIGFsdGVybmF0aXVzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6ODcxCittc2dpZCAiTnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIk5vbWJyZSBkZSBjaWxpbmRyZXMgYWx0ZXJuYXRpdXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo4OTYKK21zZ2lkICJFeHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAiU2VjdG9ycyBhZGRpY2lvbmFscyBwZXIgY2lsaW5kcmUiCisKKyMgRklYTUUKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MjAKK21zZ2lkICJJbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiRmFjdG9yIGQnZW50cmVsbGHDp2F0IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTQ0Cittc2dpZCAiUm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIlZlbG9jaXRhdCBkZSByb3RhY2nDsyAoci5wLm0uKSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk2OAorbXNnaWQgIk51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIk5vbWJyZSBkZSBjaWxpbmRyZXMgZsOtc2ljcyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwMzcKKyMsIGZ1enp5Cittc2dpZCAiIgorIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDMgYXMgV2hvbGUgZGlzayAoNSksXG4iCisiYXMgU3VuT1MvU29sYXJpcyBleHBlY3RzIGl0IGFuZCBldmVuIExpbnV4IGxpa2VzIGl0LlxuIgorbXNnc3RyICIiCisiRXMgcmVjb21hbmEgZGVpeGFyIGxhIHBhcnRpY2nDsyAzIGNvbSBhIGRpc2MgY29tcGxldCAoNSksIGphXG4iCisicXVlIGFpeMOtIGhvIGVzcGVyYSBTdW5PUy9Tb2xhcmlzIGkgZmlucyBpIHRvdCDDqXMgYWRlcXVhdCBwZXIgYVxuIgorIkxpbnV4LlxuIgorIlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA0OAorIywgZnV6enkKK21zZ2lkICIiCisiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMFxuIgorImlzIFVGUywgRVhUMkZTIGZpbGVzeXN0ZW0gb3IgU3VuT1Mgc3dhcC4gUHV0dGluZyBMaW51eCBzd2FwXG4iCisidGhlcmUgbWF5IGRlc3Ryb3kgeW91ciBwYXJ0aXRpb24gdGFibGUgYW5kIGJvb3RibG9jay5cbiIKKyJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdGFnIHRoZSBwYXJ0aXRpb24gYXMgTGludXggc3dhcD8iCittc2dzdHIgIiIKKyJFcyByZWNvbWFuYSBlc3BlY2lhbG1lbnQgcXVlIGxhIHBhcnRpY2nDsyBlbiBlbCBkZXNwbGHDp2FtZW50IDBcbiIKKyJzaWd1aSBVRlMsIEVYVDJGUyBvIFN1bk9TIGQnaW50ZXJjYW52aS4gU2kgZXMgcG9zYSBMaW51eFxuIgorImQnaW50ZXJjYW52aSwgZXMgcG90IGRlc3RydWlyIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgaSBlbCBibG9jIGQnYXJyZW5jYWRhLlxuIgorIkVzY3Jpdml1IFPDjSBzaSBlc3RldSBzZWd1ciBxdWUgZGVzaXRnZXUgcXVlIHMnZXRpcXVldGkgbGEgcGFydGljacOzXG4iCisiYW1iIGVsIDgyIChMaW51eCBkJ2ludGVyY2FudmkpOiAiCisKKyM6IGxpYi9wYWdlci5jOjExMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FpdHBpZCBmYWlsZWQgKCVzKSIKK21zZ3N0ciAic2V0dWlkKCkgaGEgZmFsbGF0IgorCisjOiBsaWIvcGF0aC5jOjIwOSBzeXMtdXRpbHMvbHNjcHUuYzoxODE4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjYWxsb2NhdGUgY3B1IHNldCIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBsYSBtZW3DsnJpYSB0ZW1wb3JhbC5cbiIKKworIzogbGliL3BhdGguYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdCAlcyIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IGxpYi9wYXRoLmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2sgJXMiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjcyCisjLCBmdXp6eQorbXNnaWQgImNhbiBub3Qgb3BlbiBVTklYIHNvY2tldCIKK21zZ3N0ciAiJXMgbm8gZXMgcG90IG9icmlyIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjc4CisjLCBmdXp6eQorbXNnaWQgImNhbiBub3Qgc2V0IG9wdGlvbiBmb3IgVU5JWCBzb2NrZXQiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2J0ZW5pciBlbCB0ZW1wcyBkJ2VzcGVyYSBwZXIgYSAlczogJXNcbiIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo5MQorIywgZnV6enkKK21zZ2lkICJjYW4gbm90IGNvbm5lY3Qgb24gVU5JWCBzb2NrZXQiCittc2dzdHIgIiVzIG5vIGVzIHBvdCBvYnJpciIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHBseW1vdXRoIHJlcXVlc3QgJWMgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICIiCisKKyM6IGxpYi9yYW5kdXRpbHMuYzoxMzYKK21zZ2lkICJsaWJjIHBzZXVkby1yYW5kb20gZnVuY3Rpb25zIgorbXNnc3RyICIiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MTcgbGliL3N3YXBwcm9iZXIuYzozMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBwcm9iZSBkZXZpY2UiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgcmVib2JpbmFyIGVsIGRpc3Bvc2l0aXUgZCdpbnRlcmNhbnZpIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcHJvYmluZyByZXN1bHQ7IHVzZSB3aXBlZnMoOCkiCittc2dzdHIgIiIKKworIzogbGliL3N3YXBwcm9iZXIuYzozNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHZhbGlkIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICIlczogYXF1ZXN0YSBwYXJ0aWNpw7Mgbm8gZXhpc3RlaXhcbiIKKworIzogbGliL3N3YXBwcm9iZXIuYzo0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuc3VwcG9ydGVkIHN3YXAgdmVyc2lvbiAnJXMnIgorbXNnc3RyICIlczogZXJyb3I6IHZlcnNpw7MgZGVzY29uZWd1ZGEgJWRcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjkwIGxvZ2luLXV0aWxzL2Noc2guYzo2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAiZm9ybWEgZCfDunM6IG5hbWVpIFstbXhdIGNhbcOtIFtjYW3DrSAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5MworIywgZnV6enkKK21zZ2lkICJDaGFuZ2UgeW91ciBmaW5nZXIgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIlMnZXN0w6AgY2FudmlhbnQgbGEgaW5mb3JtYWNpw7MgZGVsIGZpbmdlciBwZXIgYSBsJ3VzdWFyaSAlcy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk2Cittc2dpZCAiIC1mLCAtLWZ1bGwtbmFtZSA8ZnVsbC1uYW1lPiAgcmVhbCBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk3Cittc2dpZCAiIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICAgb2ZmaWNlIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tb2ZmaWNlLXBob25lIDxwaG9uZT4gICBvZmZpY2UgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiIKKyJbIC1wIHRlbMOoZm9uX29maWNpbmEgXVxuIgorIlx0WyAtaCB0ZWzDqGZvbl9wYXJ0aWN1bGFyIF0gIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTkKK21zZ2lkICIgLWgsIC0taG9tZS1waG9uZSA8cGhvbmU+ICAgICBob21lIHBob25lIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDEgbG9naW4tdXRpbHMvY2hzaC5jOjc4Cittc2dpZCAiIC11LCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjExNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmllbGQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgImVsIGNhbXAgw6lzIG1hc3NhIGxsYXJnLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTIxIGxvZ2luLXV0aWxzL2Noc2guYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGhhcyBpbGxlZ2FsIGNoYXJhY3RlcnMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1MCBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW4uZGVmcyBmb3JiaWRzIHNldHRpbmcgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTU4IGxvZ2luLXV0aWxzL2NoZm4uYzozMDkKK21zZ2lkICJPZmZpY2UiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2MiBsb2dpbi11dGlscy9jaGZuLmM6MTY0IGxvZ2luLXV0aWxzL2NoZm4uYzozMTEKK21zZ2lkICJPZmZpY2UgUGhvbmUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2OCBsb2dpbi11dGlscy9jaGZuLmM6MTcwIGxvZ2luLXV0aWxzL2NoZm4uYzozMTMKK21zZ2lkICJIb21lIFBob25lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyMzMKKyMsIGZ1enp5Cittc2dpZCAiQWJvcnRlZC4iCittc2dzdHIgIiIKKyJcbiIKKyJTJ2hhIGF2b3J0YXQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgaGFzIHVuZXhwZWN0ZWQgdmFsdWU6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgZG9lcyBub3QgYWxsb3cgYW55IGNoYW5nZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci5cbiIKK21zZ3N0ciAiKk5PKiBzJ2hhIGNhbnZpYXQgbGEgaW5mb3JtYWNpw7MgZGVsIGZpbmdlci4gSW50ZW50ZXUtaG8gZGUgbm91IG3DqXMgZW5kYXZhbnQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIGNoYW5nZWQuXG4iCittc2dzdHIgIlMnaGEgY2FudmlhdCBsYSBpbmZvcm1hY2nDsyBkZWwgZmluZ2VyLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDA4IGxvZ2luLXV0aWxzL2Noc2guYzoyNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInlvdSAodXNlciAlZCkgZG9uJ3QgZXhpc3QuIgorbXNnc3RyICIlczogYXF1ZXN0IHVzdWFyaSAoJWQpIG5vIGV4aXN0ZWl4LlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDE0IGxvZ2luLXV0aWxzL2Noc2guYzoyNDggbG9naW4tdXRpbHMvbGlidXNlci5jOjU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIFwiJXNcIiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIiVzOiBsJ3VzdWFyaSBcIiVzXCIgbm8gZXhpc3RlaXguXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MjAgbG9naW4tdXRpbHMvY2hzaC5jOjI1NAorIywgZnV6enkKK21zZ2lkICJjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcyIKK21zZ3N0ciAiJXM6IG5vbcOpcyBlcyBwb2RlbiBtb2RpZmljYXIgZW50cmFkZXMgbG9jYWxzOyB1c2V1IHlwJXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgZmluZ2VyIGluZm8gb2YgJXMiCittc2dzdHIgIiVzOiAlcyBubyBlc3TDoCBhdXRvcml0emF0IGEgY2FudmlhciBsYSBpbmZvcm1hY2nDsyBkZWwgZmluZ2VyIGRlICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzUgbG9naW4tdXRpbHMvY2hzaC5jOjI3MAorbXNnaWQgIlVua25vd24gdXNlciBjb250ZXh0IgorbXNnc3RyICJFcyBkZXNjb25laXggZWwgY29udGV4dCBkZSBsJ3VzdWFyaSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ0MSBsb2dpbi11dGlscy9jaHNoLmM6Mjc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiJXM6IE5vIHMnaGEgcG9ndXQgZXN0YWJsaXIgZWwgY29udGV4dCBwZXIgZGVmZWN0ZSBwZXIgYSAvZXRjL3Bhc3N3ZCIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MgorIywgZnV6enkKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICIlczogTCdVSUQgZW4gZXhlY3VjacOzIG5vIGNvaW5jaWRlaXggYW1iIGwnVUlEIGRlIGwndXN1YXJpIHF1ZSBzJ2VzdMOgIGFsdGVyYW50LCBzJ2hhIGRlbmVnYXQgZWwgY2FudmkgZCdpbnTDqHJwcmV0IGQnb3JkcmVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgZmluZ2VyIGluZm9ybWF0aW9uIGZvciAlcy5cbiIKK21zZ3N0ciAiUydlc3TDoCBjYW52aWFudCBsYSBpbmZvcm1hY2nDsyBkZWwgZmluZ2VyIHBlciBhIGwndXN1YXJpICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBub3QgY2hhbmdlZC5cbiIKK21zZ3N0ciAiTm8gcydoYSBjYW52aWF0IGxhIGluZm9ybWFjacOzIGRlbCBmaW5nZXIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3MgorIywgZnV6enkKK21zZ2lkICJDaGFuZ2UgeW91ciBsb2dpbiBzaGVsbC5cbiIKK21zZ3N0ciAiUydlc3TDoCBjYW52aWFudCBsJ2ludMOocnByZXQgZCdvcmRyZXMgcGVyICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gIHNwZWNpZnkgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiIgorIiAgLXMsIC0tc2hlbGw9aW50w6hycHJldF9vcmRyZXMgRXN0YWJsZWl4IGVscyBtYXRlaXhvcyBjb252ZW5pcyBxdWFudCBhIGxlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21ldGVzIHF1ZSBsJ2ludGVycHJldCBkJ29yZHJlcyBpbmRpY2F0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NgorbXNnaWQgIiAtbCwgLS1saXN0LXNoZWxscyAgICBwcmludCBsaXN0IG9mIHNoZWxscyBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAiTm8ga25vd24gc2hlbGxzLiIKK21zZ3N0ciAiTm8gZXMgY29uZWl4IGNhcCBpbnTDqHJwcmV0IGQnb3JkcmVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjAwCisjLCBmdXp6eQorbXNnaWQgInNoZWxsIG11c3QgYmUgYSBmdWxsIHBhdGggbmFtZSIKK21zZ3N0ciAiJXM6IGwnaW50w6hycHJldCBkJ29yZHJlcyBoYSBkZSBzZXIgdW4gY2Ftw60gY29tcGxldC5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIlczogXCIlc1wiIG5vIGV4aXN0ZWl4LlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgaXMgbm90IGV4ZWN1dGFibGUiCittc2dzdHIgIiVzOiBcIiVzXCIgbm8gw6lzIGV4ZWN1dGFibGUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IFwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLiIKK21zZ3N0ciAiQXbDrXM6IFwiJXNcIiBubyBlc3TDoCBsbGlzdGF0IGEgL2V0Yy9zaGVsbHMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMTQgbG9naW4tdXRpbHMvY2hzaC5jOjIxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLlxuIgorIlVzZSAlcyAtbCB0byBzZWUgbGlzdC4iCittc2dzdHIgIiVzOiBcIiVzXCIgbm8gZXN0w6AgbGxpc3RhdCBhIC9ldGMvc2hlbGxzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIHNoZWxsIG9mICVzIgorbXNnc3RyICIlczogJXMgbm8gZXN0w6AgYXV0b3JpdHphdCBhIGNhbnZpYXIgbCdpbnTDqHJwcmV0IGQnb3JkcmVzIGRlIGwndXN1YXJpICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyOTUKKyMsIGZ1enp5Cittc2dpZCAicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSBhbHRlcmluZywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiJXM6IEwnVUlEIGVuIGV4ZWN1Y2nDsyBubyBjb2luY2lkZWl4IGFtYiBsJ1VJRCBkZSBsJ3VzdWFyaSBxdWUgcydlc3TDoCBhbHRlcmFudCwgcydoYSBkZW5lZ2F0IGVsIGNhbnZpIGQnaW50w6hycHJldCBkJ29yZHJlc1xuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIHNoZWxsIGlzIG5vdCBpbiAlcywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiJXM6IEVsIHZvc3RyZSBpbnTDqHJwcmV0IGQnb3JkcmVzIG5vIGVzdMOgIGEgL2V0Yy9zaGVsbHM7IHMnaGEgZGVuZWdhdCBlbCBjYW52aSBkJ2ludMOocnByZXQgZCdvcmRyZXNcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBzaGVsbCBmb3IgJXMuXG4iCittc2dzdHIgIlMnZXN0w6AgY2FudmlhbnQgbCdpbnTDqHJwcmV0IGQnb3JkcmVzIHBlciAlcy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMxMgorbXNnaWQgIk5ldyBzaGVsbCIKK21zZ3N0ciAiTm91IGludMOocnByZXQgZCdvcmRyZXMiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjAKKyMsIGZ1enp5Cittc2dpZCAiU2hlbGwgbm90IGNoYW5nZWQuIgorbXNnc3RyICJObyBzJ2hhIGNhbnZpYXQgbCdpbnTDqHJwcmV0IGQnb3JkcmVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzI1CisjLCBmdXp6eQorbXNnaWQgIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICJObyBzJ2hhIGNhbnZpYXQgbCdpbnTDqHJwcmV0IGQnb3JkcmVzLiBJbnRlbnRldS1obyBkZSBub3UgbcOpcyBlbmRhdmFudC5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyOQorIywgZnV6enkKK21zZ2lkICIiCisic2V0cHduYW0gZmFpbGVkXG4iCisiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIk5vIHMnaGEgY2FudmlhdCBsJ2ludMOocnByZXQgZCdvcmRyZXMuIEludGVudGV1LWhvIGRlIG5vdSBtw6lzIGVuZGF2YW50LlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoZWxsIGNoYW5nZWQuXG4iCittc2dzdHIgIlMnaGEgY2FudmlhdCBsJ2ludMOocnByZXQgZCdvcmRyZXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIDxwYXNzd29yZGZpbGU+IDx1c2VybmFtZT4uLi5cbiIKK21zZ3N0ciAiZm9ybWEgZCfDunM6ICVzIFtmaXR4ZXJdXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoxNzQgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjIwIHN5cy11dGlscy9kbWVzZy5jOjExOTMKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB0aW1lIGZvcm1hdDogJXMiCittc2dzdHIgIiVzOiBPcmRyZSBkZXNjb25lZ3VkYTogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjI4MSBsb2dpbi11dGlscy9sYXN0LmM6Mjg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnRlcnJ1cHRlZCAlcyIKK21zZ3N0ciAiIgorIlxuIgorImludGVycm9tcHV0ICUxMC4xMHMgJTUuNXMgXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo0MzkgbG9naW4tdXRpbHMvbGFzdC5jOjQ1MAorbXNnaWQgInByZWFsbG9jYXRpb24gc2l6ZSBleGNlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+Li4uXSBbPHR0eT4uLi5dXG4iCittc2dzdHIgImZvcm1hIGQnw7pzOiBuYW1laSBbLW14XSBjYW3DrSBbY2Ftw60gLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTcyCittc2dpZCAiU2hvdyBhIGxpc3Rpbmcgb2YgbGFzdCBsb2dnZWQgaW4gdXNlcnMuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NQorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NgorbXNnaWQgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBkaXNwbGF5IGhvc3RuYW1lcyBpbiB0aGUgbGFzdCBjb2x1bW5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc3Cittc2dpZCAiIC1kLCAtLWRucyAgICAgICAgICAgIHRyYW5zbGF0ZSB0aGUgSVAgbnVtYmVyIGJhY2sgaW50byBhIGhvc3RuYW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OQorIywgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgdXNlIGEgc3BlY2lmaWMgZmlsZSBpbnN0ZWFkIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MAorbXNnaWQgIiAtRiwgLS1mdWxsdGltZXMgICAgICBwcmludCBmdWxsIGxvZ2luIGFuZCBsb2dvdXQgdGltZXMgYW5kIGRhdGVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taXAgICAgICAgICAgICAgZGlzcGxheSBJUCBudW1iZXJzIGluIG51bWJlcnMtYW5kLWRvdHMgbm90YXRpb25cbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODIKK21zZ2lkICIgLW4sIC0tbGltaXQgPG51bWJlcj4gaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODMKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIGRvbid0IGRpc3BsYXkgdGhlIGhvc3RuYW1lIGZpZWxkXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1laXggbGEgdGF1bGEgZGUgcGFydGljaW9ucyBhIGxhIHBhbnRhbGxhIG8gZW4gdW4gZml0eGVyIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg0Cittc2dpZCAiIC1zLCAtLXNpbmNlIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHNpbmNlIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODUKK21zZ2lkICIgLXQsIC0tdW50aWwgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgdW50aWwgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NgorbXNnaWQgIiAtcCwgLS1wcmVzZW50IDx0aW1lPiBkaXNwbGF5IHdobyB3ZXJlIHByZXNlbnQgYXQgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NworIywgZnV6enkKK21zZ2lkICIgLXcsIC0tZnVsbG5hbWVzICAgICAgZGlzcGxheSBmdWxsIHVzZXIgYW5kIGRvbWFpbiBuYW1lc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OAorbXNnaWQgIiAteCwgLS1zeXN0ZW0gICAgICAgICBkaXNwbGF5IHN5c3RlbSBzaHV0ZG93biBlbnRyaWVzIGFuZCBydW4gbGV2ZWwgY2hhbmdlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODkKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcHMgaW4gdGhlIHNwZWNpZmllZCA8Zm9ybWF0PjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjg4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzIGJlZ2lucyAlcyIKK21zZ3N0ciAiIgorIlxuIgorInd0bXAgY29tZW7Dp2EgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NTYgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2NAorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NzcgbG9naW4tdXRpbHMvbGFzdC5jOjk4MiBsb2dpbi11dGlscy9sYXN0LmM6OTg3CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lIHZhbHVlIFwiJXNcIiIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjI5IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzozMQorbXNnaWQgIkNvdWxkbid0IGRyb3AgZ3JvdXAgcHJpdmlsZWdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxpYnVzZXIgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlcy4iCittc2dzdHIgIiIKKyJcbiIKKyJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHRhbmNhciBlbCBmaXR4ZXJcbiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjUyCisjLCBmdXp6eQorbXNnaWQgImNoYW5naW5nIHVzZXIgYXR0cmlidXRlIGZhaWxlZCIKK21zZ3N0ciAic2Vtw6Bmb3JzIGFzc2lnbmF0cyA9ICVkXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo2NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIGF0dHJpYnV0ZSBub3QgY2hhbmdlZDogJXMiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJXUgaXMgNjAuCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjE4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltZWQgb3V0IGFmdGVyICV1IHNlY29uZHMiCittc2dzdHIgIlMnaGEgZXhjZWRpdCBlbCB0ZW1wcyBkJ2VzcGVyYSBwZXIgYSBsJ2VudHJhZGEgYWwgY2FwIGRlICVkIHNlZ29ucy5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiBjYW4ndCByZW9wZW4gdHR5OiAlbSIKK21zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBmYXRhbDogbm8gcydoYSBwb2d1dCByZW9icmlyIHR0eTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXMgaXMgbm90IGEgdGVybWluYWwiCittc2dzdHIgIiVzIG5vIGVzIHVuIGRpc3Bvc2l0aXUgZGUgYmxvYyBlc3BlY2lhbCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNob3duICglcywgJWx1LCAlbHUpIGZhaWxlZDogJW0iCittc2dzdHIgIm5vIHMnaGEgZXN0YXQgcG9zc2libGUgbXVudGFyIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2htb2QgKCVzLCAldSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiL2RldjogY2hkaXIoKSBoYSBmYWxsYXQ6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM3NQorbXNnaWQgIkZBVEFMOiBiYWQgdHR5IgorbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGZhdGFsOiB0ZXJtaW5hbCBlcnJvbmkiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlczogY2hhbmdlIHBlcm1pc3Npb25zIGZhaWxlZDogJW0iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBsb2dpbjogJS4qcyAiCittc2dzdHIgIsOabHRpbWEgZW50cmFkYTogJS4qcyAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTMxCisjLCBjLWZvcm1hdAorbXNnaWQgImZyb20gJS4qc1xuIgorbXNnc3RyICJkZXMgZGUgJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUzNAorIywgYy1mb3JtYXQKK21zZ2lkICJvbiAlLipzXG4iCittc2dzdHIgImEgJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjU1MgorIywgZnV6enkKK21zZ2lkICJ3cml0ZSBsYXN0bG9nIGZhaWxlZCIKK21zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpciAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRElBTFVQIEFUICVzIEJZICVzIgorbXNnc3RyICJNQVJDQVRHRSBESVJFQ1RFIEEgJXMgUEVSICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1NworIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIEZST00gJXMiCittc2dzdHIgIkVOVFJBREEgREVMIFJPT1QgQSAlcyBERVMgREUgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMiCittc2dzdHIgIkVOVFJBREEgREVMIFJPT1QgQSAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTE9HSU4gT04gJXMgQlkgJXMgRlJPTSAlcyIKK21zZ3N0ciAiRU5UUkFEQSBBICVzIFBFUiAlcyBERVMgREUgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIgorbXNnc3RyICJFTlRSQURBIEEgJXMgUEVSICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjcxOQorbXNnaWQgImxvZ2luOiAiCittc2dzdHIgImVudHJhZGE6ICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCittc2dzdHIgImxvZ2luOiBQQU0gaGEgZmFsbGF0OyBzJ2VzdMOgIGF2b3J0YW50OiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc0NgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZG4ndCBpbml0aWFsaXplIFBBTTogJXMiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgaW5pY2lhbGl0emFyIFBBTTogJXMiCisKKyMgRklYTUUsIHBsZWFzZSBkZXNjcmliZSBwYXJhbWV0ZXJzCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOICV1IEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiUydIQSBJTlRFTlRBVCBBQ0NFRElSIFNFTlNFIMOIWElUICVkIFZFR0FERVMgREVTIERFICVzIFBFUiBBICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MjUgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxvZ2luIGluY29ycmVjdFxuIgorIlxuIgorbXNnc3RyICIiCisiTCdlbnRyYWRhIG5vIMOpcyBjb3JyZWN0YVxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVE9PIE1BTlkgTE9HSU4gVFJJRVMgKCV1KSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIlMnSEEgSU5URU5UQVQgRU5UUkFSIE1BU1NBIFZFR0FERVMgKCVkKSBERVMgREUgJXMgUEVSIEEgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg0NgorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gU0VTU0lPTiBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIk5PIFMnSEEgUE9HVVQgSU5JQ0lBUiBMQSBTRVNTScOTIERFUyBERSAlcyBQRVIgQSAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKK21zZ3N0ciAiIgorIlxuIgorIkVudHJhZGEgaW5jb3JyZWN0YVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg4MiBsb2dpbi11dGlscy9sb2dpbi5jOjEyMzIgbG9naW4tdXRpbHMvbG9naW4uYzoxMjU1CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHNldHVwIHByb2JsZW0sIGFib3J0LiIKK21zZ3N0ciAiIgorIlxuIgorIlMnaGEgcHJvZHXDr3QgdW4gcHJvYmxlbWEgZW4gaW5pY2lhciBsYSBzZXNzacOzLCBzJ2F2b3J0YXLDoC5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVMTCB1c2VyIG5hbWUgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiTm9tIGQndXN1YXJpIE5VTCBhICVzOiVkLiBTJ2F2b3J0YXLDoC4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAyMAorIywgYy1mb3JtYXQKK21zZ2lkICJUSU9DU0NUVFkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiVElPQ1NDVFRZIGhhIGZhbGxhdDogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibG9naW46IC1oIGlzIGZvciBzdXBlcnVzZXIgb25seVxuIgorbXNnc3RyICJsb2dpbjogbm9tw6lzIGVsIHN1cGVydXN1YXJpIHBvdCBmZXIgc2VydmlyIC1oLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiBsb2dpbiBbLXBdIFstaCA8aG9zdD5dIFstSF0gW1stZl0gPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAiZm9ybWEgZCfDunM6IGxhc3QgWy0jXSBbLWYgZml0eGVyXSBbLXQgdHR5XSBbLWggbm9tX29yZGluYWRvcl0gW3VzdWFyaSAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE5MQorIywgZnV6enkKK21zZ2lkICJCZWdpbiBhIHNlc3Npb24gb24gdGhlIHN5c3RlbS5cbiIKK21zZ3N0ciAiQXF1ZXN0IHNpc3RlbWEgdXRpbGl0emEgY29udHJhc2VueWVzIG9jdWx0ZXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTIzMworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHVzZXIgbmFtZSBcIiVzXCIgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiTm9tIGQndXN1YXJpIGludsOgbGlkIFwiJXNcIiBhICVzOiVkLiBTJ2F2b3J0YXLDoC4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXBzIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgIiIKKyJcbiIKKyJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHRhbmNhciBlbCBmaXR4ZXJcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjc5CisjLCBmdXp6eQorbXNnaWQgInNldGdpZCgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgaGEgZmFsbGF0IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbmV3IG1haWwuXG4iCittc2dzdHIgIlRlbml1IGNvcnJldSBub3UuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMxMQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBtYWlsLlxuIgorbXNnc3RyICJUZW5pdSBjb3JyZXUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMyNQorbXNnaWQgInNldHVpZCgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgaGEgZmFsbGF0IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzEgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNoYW5nZSBkaXJlY3RvcnkgZmFpbGVkIgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzOCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2dpbmcgaW4gd2l0aCBob21lID0gXCIvXCIuXG4iCittc2dzdHIgIlMnZXN0w6AgZW50cmFudCBhbWIgZWwgZGlyZWN0b3JpIGluaWNpYWwgPSDCqy/Cuy5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzY3CisjLCBmdXp6eQorbXNnaWQgImNvdWxkbid0IGV4ZWMgc2hlbGwgc2NyaXB0IgorbXNnc3RyICJsb2dpbjogbm8gcydoYSBwb2d1dCBleGVjdXRhciBsYSBzZXHDvMOobmNhIGRlIGwnaW50w6hycHJldCBkJ29yZHJlczogJXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM2OQorIywgZnV6enkKK21zZ2lkICJubyBzaGVsbCIKK21zZ3N0ciAiTm8gaGkgaGEgaW50w6hycHJldCBkJ29yZHJlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgY29udGFpbnMgaW52YWxpZCBudW1lcmljYWwgdmFsdWU6ICVzIgorbXNnc3RyICJWYWxvciBkJ2ludGVydmFsIGludsOgbGlkOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzozNzUKK21zZ2lkICJodXNoIGxvZ2luIHN0YXR1czogcmVzdG9yZSBvcmlnaW5hbCBJRHMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA4IHN5cy11dGlscy9sc2NwdS5jOjE1NDAgc3lzLXV0aWxzL2xzY3B1LmM6MTU1MAorbXNnaWQgIm5vIgorbXNnc3RyICJubyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcgbWlzYy11dGlscy9sc2Jsay5jOjE4MQorIywgZnV6enkKK21zZ2lkICJ1c2VyIG5hbWUiCittc2dzdHIgIk5vbSBkJ3VzdWFyaSBpbMK3bGVnYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3CisjLCBmdXp6eQorbXNnaWQgIlVzZXJuYW1lIgorbXNnc3RyICJOb20gZCd1c3VhcmkgaWzCt2xlZ2FsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOCBzeXMtdXRpbHMvcmVuaWNlLmM6NTQKKyMsIGZ1enp5Cittc2dpZCAidXNlciBJRCIKK21zZ3N0ciAidXN1YXJpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorIywgZnV6enkKK21zZ2lkICJwYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIk5vIHMnaGEgY2FudmlhdCBsYSBjb250cmFzZW55YS4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE5CisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAiTm8gcydoYSBjYW52aWF0IGxhIGNvbnRyYXNlbnlhLiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAibG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIiVzOiBlbCBmaXR4ZXIgcGFzc3dvcmQgZXN0w6Agb2N1cGF0LlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorIywgZnV6enkKK21zZ2lkICJMb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAiJXM6IGVsIGZpdHhlciBwYXNzd29yZCBlc3TDoCBvY3VwYXQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCisjLCBmdXp6eQorbXNnaWQgInBhc3N3b3JkIGRlZmluZWQsIGJ1dCBsb2NrZWQiCittc2dzdHIgInMnaGEgY2FudmlhdCBsYSBjb250cmFzZW55YSwgdXN1YXJpICVzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorIywgZnV6enkKK21zZ2lkICJQYXNzd29yZCBpcyBsb2NrZWQiCittc2dzdHIgIk5vIHMnaGEgY2FudmlhdCBsYSBjb250cmFzZW55YS4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAibG9nIGluIGRpc2FibGVkIGJ5IG5vbG9naW4oOCkgb3IgcGFtX25vbG9naW4oOCkiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKKyMsIGZ1enp5Cittc2dpZCAiTm8gbG9naW4iCittc2dzdHIgImVudHJhZGE6ICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJwcmltYXJ5IGdyb3VwIG5hbWUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKKyMsIGZ1enp5Cittc2dpZCAiUHJpbWFyeSBncm91cCIKK21zZ3N0ciAiUHJpbcOgcmlhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNAorbXNnaWQgInByaW1hcnkgZ3JvdXAgSUQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIG5hbWVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3CisjLCBmdXp6eQorbXNnaWQgImhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICJObyBoaSBoYSBjYXAgZGlyZWN0b3JpICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3CisjLCBmdXp6eQorbXNnaWQgIkhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICJObyBoaSBoYSBjYXAgZGlyZWN0b3JpICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4CisjLCBmdXp6eQorbXNnaWQgImxvZ2luIHNoZWxsIgorbXNnc3RyICJObyBoaSBoYSBpbnTDqHJwcmV0IGQnb3JkcmVzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorIywgZnV6enkKK21zZ2lkICJTaGVsbCIKK21zZ3N0ciAiTm8gaGkgaGEgaW50w6hycHJldCBkJ29yZHJlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKKyMsIGZ1enp5Cittc2dpZCAiZnVsbCB1c2VyIG5hbWUiCittc2dzdHIgIk5vbSBkJ3VzdWFyaSBpbMK3bGVnYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiR2Vjb3MgZmllbGQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKKyMsIGZ1enp5Cittc2dpZCAiZGF0ZSBvZiBsYXN0IGxvZ2luIgorbXNnc3RyICJtw6lzIGVubGzDoCBkZSBsYSBwcmltZXJhIGzDrW5pYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBsb2dpbiIKK21zZ3N0ciAiw5psdGltYSBlbnRyYWRhOiAlLipzICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJsYXN0IHR0eSB1c2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCisjLCBmdXp6eQorbXNnaWQgIkxhc3QgdGVybWluYWwiCittc2dzdHIgIiVzIG5vIGVzIHVuIGRpc3Bvc2l0aXUgZGUgYmxvYyBlc3BlY2lhbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJob3N0bmFtZSBkdXJpbmcgdGhlIGxhc3Qgc2Vzc2lvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorIywgZnV6enkKK21zZ2lkICJMYXN0IGhvc3RuYW1lIgorbXNnc3RyICJsYXN0OiBnZXRob3N0bmFtZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKKyMsIGZ1enp5Cittc2dpZCAiZGF0ZSBvZiBsYXN0IGZhaWxlZCBsb2dpbiIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBleGVjdXRhciDCq2xzdGF0wrsgYWwgY2Ftw61cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJGYWlsZWQgbG9naW4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKKyMsIGZ1enp5Cittc2dpZCAid2hlcmUgZGlkIHRoZSBsb2dpbiBmYWlsPyIKK21zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpciAlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIGxvZ2luIHRlcm1pbmFsIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAidXNlcidzIGh1c2ggc2V0dGluZ3MiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJIdXNoZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzYKK21zZ2lkICJkYXlzIHVzZXIgaXMgd2FybmVkIG9mIHBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzYKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIHdhcm4gaW50ZXJ2YWwiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzcKK21zZ2lkICJwYXNzd29yZCBleHBpcmF0aW9uIGRhdGUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBsYSBjb250cmFzZW55YS4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4CisjLCBmdXp6eQorbXNnaWQgImRhdGUgb2YgbGFzdCBwYXNzd29yZCBjaGFuZ2UiCittc2dzdHIgIkVudHJldSBsJ2FudGlnYSBjb250cmFzZW55YTogIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorIywgZnV6enkKK21zZ2lkICJQYXNzd29yZCBjaGFuZ2VkIgorbXNnc3RyICJTJ2hhIGNhbnZpYXQgbGEgY29udHJhc2VueWEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAibnVtYmVyIG9mIGRheXMgcmVxdWlyZWQgYmV0d2VlbiBjaGFuZ2VzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5CisjLCBmdXp6eQorbXNnaWQgIk1pbmltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIiVzOiBubyBzJ2hhIGZldCBjYXAgY2FudmlcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKK21zZ2lkICJtYXggbnVtYmVyIG9mIGRheXMgYSBwYXNzd29yZCBtYXkgcmVtYWluIHVuY2hhbmdlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorIywgZnV6enkKK21zZ2lkICJNYXhpbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCittc2dpZCAidGhlIHVzZXIncyBzZWN1cml0eSBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCisjLCBmdXp6eQorbXNnaWQgIlNlbGludXggY29udGV4dCIKK21zZ3N0ciAiTGludXggdGV4dCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBydW4gYnkgdGhlIHVzZXIiCittc2dzdHIgIm3DoHguIG5vbWJyZSBkZSBzZWdtZW50cyA9ICVsdVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorIywgZnV6enkKK21zZ2lkICJSdW5uaW5nIHByb2Nlc3NlcyIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgdHJvYmFyIGVsIHByb2PDqXMgXCIlc1wiXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6Mjg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNiBtaXNjLXV0aWxzL2xzYmxrLmM6MjMxCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgY29sdW1ucyBzcGVjaWZpZWQsIHRoZSBsaW1pdCBpcyAlenUgY29sdW1ucyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0MyBzeXMtdXRpbHMvbHNpcGMuYzo0NTYKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgdGltZSB0eXBlIgorbXNnc3RyICIlczogYXJndW1lbnQgZGVzY29uZWd1dDogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNvbXBvc2UgdGltZSBzdHJpbmciCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjY0OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDcxCisjLCBmdXp6eQorbXNnaWQgImludGVybmFsIGVycm9yOiB1bmtub3duIGNvbHVtbiIKK21zZ3N0ciAiZXJyb3IgaW50ZXJuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzUgc3lzLXV0aWxzL2xzaXBjLmM6NTAzIHN5cy11dGlscy9sc2lwYy5jOjYyNQorIzogc3lzLXV0aWxzL2xzaXBjLmM6NjgwIHN5cy11dGlscy9sc2lwYy5jOjgzOCBzeXMtdXRpbHMvbHNpcGMuYzoxMDM2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgZGF0YSIKK21zZ3N0ciAibm8gZXMgcG90IGZlciBzdGF0IHBlciBhICVzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjExNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMYXN0IGxvZ3M6XG4iCittc2dzdHIgIsOabHRpbWEgZW50cmFkYTogJS4qcyAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyOCBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMSBtaXNjLXV0aWxzL21jb29raWUuYzo4MiBtaXNjLXV0aWxzL3V1aWRkLmM6NzAKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI1IHN5cy11dGlscy9kbWVzZy5jOjI2NCBzeXMtdXRpbHMvaXBjbWsuYzo2NgorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2MCBzeXMtdXRpbHMvbHNpcGMuYzoyNzcgc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA0CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjk1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MCB0ZXh0LXV0aWxzL2xpbmUuYzozMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzMQorbXNnaWQgIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQga25vd24gdXNlcnMgaW4gdGhlIHN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzQKK21zZ2lkICIgLWEsIC0tYWNjLWV4cGlyYXRpb24gICAgIGRpc3BsYXkgaW5mbyBhYm91dCBwYXNzd29yZHMgZXhwaXJhdGlvblxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNQorbXNnaWQgIiAtYywgLS1jb2xvbi1zZXBhcmF0ZSAgICAgZGlzcGxheSBkYXRhIGluIGEgZm9ybWF0IHNpbWlsYXIgdG8gL2V0Yy9wYXNzd2RcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzYgc3lzLXV0aWxzL2xzaXBjLmM6Mjk2CisjLCBmdXp6eQorbXNnaWQgIiAtZSwgLS1leHBvcnQgICAgICAgICAgICAgZGlzcGxheSBpbiBhbiBleHBvcnQtYWJsZSBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzcKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZhaWxlZCAgICAgICAgICAgICBkaXNwbGF5IGRhdGEgYWJvdXQgdGhlIHVzZXJzJyBsYXN0IGZhaWxlZCBsb2dpbnNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgZ3JvdXBzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzkKK21zZ2lkICIgLWcsIC0tZ3JvdXBzPTxncm91cHM+ICAgIGRpc3BsYXkgdXNlcnMgYmVsb25naW5nIHRvIGEgZ3JvdXAgaW4gPGdyb3Vwcz5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWxhc3QgICAgICAgICAgICAgICBzaG93IGluZm8gYWJvdXQgdGhlIHVzZXJzJyBsYXN0IGxvZ2luIHNlc3Npb25zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxvZ2lucz08bG9naW5zPiAgICBkaXNwbGF5IG9ubHkgdXNlcnMgZnJvbSA8bG9naW5zPlxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQyIHN5cy11dGlscy9sc2lwYy5jOjI5OAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGRpc3BsYXkgZWFjaCBwaWVjZSBvZiBpbmZvcm1hdGlvbiBvbiBhIG5ldyBsaW5lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDMgc3lzLXV0aWxzL2xzaXBjLmM6MjkxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NCBzeXMtdXRpbHMvbHNpcGMuYzoyOTIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBkb24ndCB0cnVuY2F0ZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIE5vIGVzY3JpZ3VlcyByZWFsbWVudCBhbCBkaXNjIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDUgc3lzLXV0aWxzL2xzaXBjLmM6MzAwCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXRbPTxsaXN0Pl0gICAgZGVmaW5lIHRoZSBjb2x1bW5zIHRvIG91dHB1dFxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9Y2FkZW5hX29wY2lvbnMgT3BjaW9ucyBjdXJ0ZXMgYSByZWNvbsOoaXhlclxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDYKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gbG9naW4gYnkgcGFzc3dvcmQuXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDcgc3lzLXV0aWxzL2xzaXBjLmM6MzAyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgZGlzcGxheSBpbiByYXcgbW9kZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ4CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAgZGlzcGxheSBzeXN0ZW0gYWNjb3VudHNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OSBzeXMtdXRpbHMvbHNpcGMuYzoyOTMKK21zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQ9PHR5cGU+IGRpc3BsYXkgZGF0ZXMgaW4gc2hvcnQsIGZ1bGwgb3IgaXNvIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIGRpc3BsYXkgdXNlciBhY2NvdW50c1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUxCisjLCBmdXp6eQorbXNnaWQgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgZGlzcGxheSBTRUxpbnV4IGNvbnRleHRzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTIKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0IHVzZXIgZW50cmllcyB3aXRoIGEgbnVsIGNoYXJhY3RlclxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUzCittc2dpZCAiICAgICAtLXd0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIHd0bXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTQKK21zZ2lkICIgICAgIC0tYnRtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3IgYnRtcFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1OSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ3IHN5cy11dGlscy9sc2NwdS5jOjE5NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1uczpcbiIKK21zZ3N0ciAiT3JkcmVzIGRpc3BvbmlibGVzOlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NDIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlcXVlc3Qgc2VsaW51eCBzdGF0ZSIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ1NiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NjAKK21zZ2lkICJPbmx5IG9uZSB1c2VyIG1heSBiZSBzcGVjaWZpZWQuIFVzZSAtbCBmb3IgbXVsdGlwbGUgdXNlcnMuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjU1CisjLCBmdXp6eQorbXNnaWQgImNvdWxkIG5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAibm8gZXMgcG90IG9idGVuaXIgbGEgbWlkYSBkZSAlcyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTcKKyMsIGZ1enp5Cittc2dpZCAiZ2V0bGluZSgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgaGEgZmFsbGF0IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNDgKK21zZ2lkICJQYXNzd29yZDogIgorbXNnc3RyICJDb250cmFzZW55YTogIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNTQgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMDUKKyMsIGZ1enp5Cittc2dpZCAiY3J5cHQgZmFpbGVkIgorbXNnc3RyICJsJ2Fzc2lnbmFjacOzIGRlIG1lbcOycmlhIChtYWxsb2MpIGhhIGZhbGxhdCIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGdyb3VwPlxuIgorbXNnc3RyICJuZXdncnA6IEFxdWVzdCBncnVwIG5vIGV4aXN0ZWl4LiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTY5Cittc2dpZCAiTG9nIGluIHRvIGEgbmV3IGdyb3VwLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIwNworIywgZnV6enkKK21zZ2lkICJ3aG8gYXJlIHlvdT8iCittc2dzdHIgIm5ld2dycDogUXVpIHNvdT8iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxMSBsb2dpbi11dGlscy9uZXdncnAuYzoyMjMgc3lzLXV0aWxzL25zZW50ZXIuYzo0MjMKKyMsIGZ1enp5Cittc2dpZCAic2V0Z2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgaGEgZmFsbGF0IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTYgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjE4CisjLCBmdXp6eQorbXNnaWQgIm5vIHN1Y2ggZ3JvdXAiCittc2dzdHIgIm5ld2dycDogQXF1ZXN0IGdydXAgbm8gZXhpc3RlaXguIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjEgc3lzLXV0aWxzL21vdW50LmM6NDkxCisjLCBmdXp6eQorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIgorbXNnc3RyICJtb3VudDogcydoYSBkZW5lZ2F0IGVsIHBlcm3DrXMiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyNyBzeXMtdXRpbHMvbnNlbnRlci5jOjQyNQorIywgZnV6enkKK21zZ2lkICJzZXR1aWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBoYSBmYWxsYXQiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzoyOQorbXNnaWQgIlBvbGl0ZWx5IHJlZnVzZSBhIGxvZ2luLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzo3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhpcyBhY2NvdW50IGlzIGN1cnJlbnRseSBub3QgYXZhaWxhYmxlLlxuIgorbXNnc3RyICJBcXVlc3QgZGlzYyBlc3TDoCBhY3R1YWxtZW50IGVuIMO6cy5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBzZXNzaW9uOiAlcyIKK21zZ3N0ciAiJXMgbm8gZXMgcG90IG9icmlyIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMDQKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBjaGlsZCBwcm9jZXNzIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHN1cHJpbWlyIGwnaWQgJXMgKCVzKVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJuYW1laTogbm8gcydoYSBwb2d1dCBvYnRlbmlyIGVsIGRpcmVjdG9yaSBhY3R1YWwgLSAlc1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMjEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGJsb2NrIHNpZ25hbHMiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2JyaXIgZWwgZml0eGVyICclcyciCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMzNSBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNDMKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM0OSBtaXNjLXV0aWxzL3V1aWRkLmM6NDA3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzcxCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZGV0ZXJtaW5hciBlbCBnZXN0b3IgZGUgc2VueWFscyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Mzc0Cittc2dpZCAiIChjb3JlIGR1bXBlZCkiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQsIGtpbGxpbmcgc2hlbGwuLi4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NDA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLi4ua2lsbGVkLlxuIgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQ4NgorbXNnaWQgIm1heSBub3QgYmUgdXNlZCBieSBub24tcm9vdCB1c2VycyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MTQKKyMsIGZ1enp5Cittc2dpZCAiaW5jb3JyZWN0IHBhc3N3b3JkIgorbXNnc3RyICJMYSBjb250cmFzZW55YSBubyDDqXMgY29ycmVjdGEuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1OTgKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBncm91cHMiCittc2dzdHIgIm1vdW50IDogbm8gcydoYSBwb2d1dCBlc3RhYmxpciBsYSB2ZWxvY2l0YXQgZGU6ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2MTMgc3lzLXV0aWxzL2VqZWN0LmM6NjY1CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXAgaWQiCittc2dzdHIgIm1vdW50IDogbm8gcydoYSBwb2d1dCBlc3RhYmxpciBsYSB2ZWxvY2l0YXQgZGU6ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2MTUgc3lzLXV0aWxzL2VqZWN0LmM6NjY4CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgdXNlciBpZCIKK21zZ3N0ciAibW91bnQgOiBubyBzJ2hhIHBvZ3V0IGVzdGFibGlyIGxhIHZlbG9jaXRhdCBkZTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAtdSA8dXNlcj4gW1stLV0gPGNvbW1hbmQ+XVxuIgorbXNnc3RyICJmb3JtYSBkJ8O6czogbmFtZWkgWy1teF0gY2Ftw60gW2NhbcOtIC4uLl1cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njg5IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLV0gWzx1c2VyPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgImZvcm1hIGQnw7pzOiAlcyBwcm9ncmFtYSBbYXJnIC4uLl1cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjkwCittc2dpZCAiIgorIlxuIgorIlJ1biA8Y29tbWFuZD4gd2l0aCB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIG9mIDx1c2VyPi4gIElmIC11IGlzXG4iCisibm90IGdpdmVuLCBmYWxsIGJhY2sgdG8gc3UoMSktY29tcGF0aWJsZSBzZW1hbnRpY3MgYW5kIGV4ZWN1dGUgc3RhbmRhcmQgc2hlbGwuXG4iCisiVGhlIG9wdGlvbnMgLWMsIC1mLCAtbCwgYW5kIC1zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtdS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2OTcKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzZXIgPHVzZXI+ICAgICAgICAgICAgIHVzZXJuYW1lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDIKK21zZ2lkICIiCisiXG4iCisiQ2hhbmdlIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgdG8gdGhhdCBvZiA8dXNlcj4uXG4iCisiQSBtZXJlIC0gaW1wbGllcyAtbC4gIElmIDx1c2VyPiBpcyBub3QgZ2l2ZW4sIHJvb3QgaXMgYXNzdW1lZC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDkKK21zZ2lkICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBkbyBub3QgcmVzZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzEwCittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgICAgICAgICAgc3BlY2lmeSB0aGUgcHJpbWFyeSBncm91cFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMQorbXNnaWQgIiIKKyIgLUcsIC0tc3VwcC1ncm91cCA8Z3JvdXA+ICAgICAgICBzcGVjaWZ5IGEgc3VwcGxlbWVudGFsIGdyb3VwXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzEzCisjLCBmdXp6eQorbXNnaWQgIiAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgICAgIG1ha2UgdGhlIHNoZWxsIGEgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE0Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE1CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkbyBub3QgY3JlYXRlIGEgbmV3IHNlc3Npb25cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgUHJpbWVyICAgICAgw5psdGltXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxNworIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICBwYXNzIC1mIHRvIHRoZSBzaGVsbCAoZm9yIGNzaCBvciB0Y3NoKVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE4CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHJ1biA8c2hlbGw+IGlmIC9ldGMvc2hlbGxzIGFsbG93cyBpdFxuIgorbXNnc3RyICIiCisiICAtcywgLS1zaGVsbD1pbnTDqHJwcmV0X29yZHJlcyBFc3RhYmxlaXggZWxzIG1hdGVpeG9zIGNvbnZlbmlzIHF1YW50IGEgbGVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbWV0ZXMgcXVlIGwnaW50ZXJwcmV0IGQnb3JkcmVzIGluZGljYXRcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzYyCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cCBpcyBub3QgcG9zc2libGUiCittc2dpZF9wbHVyYWwgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cHMgaXMgbm90IHBvc3NpYmxlIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJncm91cCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiJXM6IGwndXN1YXJpIFwiJXNcIiBubyBleGlzdGVpeC5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODg2Cittc2dpZCAiaWdub3JpbmcgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg5NworbXNnaWQgIm9wdGlvbnMgLS17c2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbn0gYW5kIC0tdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkwMQorIywgZnV6enkKK21zZ2lkICJubyBjb21tYW5kIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgIk5vIHMnaGEgZXNwZWNpZmljYXQgbCdvcGNpw7MgLS1kYXRlLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5MTUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHNwZWNpZnkgYWx0ZXJuYXRpdmUgZ3JvdXBzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXNlciAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiJXM6IGwndXN1YXJpIFwiJXNcIiBubyBleGlzdGVpeC5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTYyCisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIHJlc3RyaWN0ZWQgc2hlbGwgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAibmFtZWk6IG5vIHMnaGEgcG9ndXQgb2J0ZW5pciBlbCBkaXJlY3RvcmkgYWN0dWFsIC0gJXNcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEzMAorIywgZnV6enkKK21zZ2lkICJ0Y2dldGF0dHIgZmFpbGVkIgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoyMDcKKyMsIGZ1enp5Cittc2dpZCAidGNzZXRhdHRyIGZhaWxlZCIKK21zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgb2JlcnQgcGVyIGEgbGVjdHVyYS9lc2NyaXB0dXJhIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3QiCittc2dzdHIgIiVzOiBubyBzJ2hhIG9iZXJ0IHBlciBhIGxlY3R1cmEvZXNjcmlwdHVyYSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJvb3QgcGFzc3dvcmQgZ2FyYmxlZCIKK21zZ3N0ciAiJXM6IGVsIGZpdHhlciBwYXNzd29yZCBlc3TDoCBvY3VwYXQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkNhbm5vdCBvcGVuIGFjY2VzcyB0byBjb25zb2xlLCB0aGUgcm9vdCBhY2NvdW50IGlzIGxvY2tlZC5cbiIKKyJTZWUgc3Vsb2dpbig4KSBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLlxuIgorIlxuIgorIlByZXNzIEVudGVyIHRvIGNvbnRpbnVlLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbG9naW46ICIKK21zZ3N0ciAiJXM6IGVsIGZpdHhlciBwYXNzd29yZCBlc3TDoCBvY3VwYXQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBsb2dpbjogIgorbXNnc3RyICIlczogZWwgZml0eGVyIHBhc3N3b3JkIGVzdMOgIG9jdXBhdC5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIiVzOiBlbCBmaXR4ZXIgcGFzc3dvcmQgZXN0w6Agb2N1cGF0LlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIob3IgcHJlc3MgQ29udHJvbC1EIHRvIGNvbnRpbnVlKTogIgorbXNnc3RyICJFc3RldSBzZWd1ciBkZSB2b2xlciBjb250aW51YXI/IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzQyCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgdG8gc3lzdGVtIHJvb3QgZmFpbGVkIgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTEKKyMsIGZ1enp5Cittc2dpZCAic2V0ZXhlY2NvbiBmYWlsZWQiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgZXhlY1xuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFt0dHkgZGV2aWNlXVxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MTQKK21zZ2lkICJTaW5nbGUtdXNlciBsb2dpbi5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODE3Cittc2dpZCAiIgorIiAtcCwgLS1sb2dpbi1zaGVsbCAgICAgICAgc3RhcnQgYSBsb2dpbiBzaGVsbFxuIgorIiAtdCwgLS10aW1lb3V0IDxzZWNvbmRzPiAgbWF4IHRpbWUgdG8gd2FpdCBmb3IgYSBwYXNzd29yZCAoZGVmYXVsdDogbm8gbGltaXQpXG4iCisiIC1lLCAtLWZvcmNlICAgICAgICAgICAgICBleGFtaW5lIHBhc3N3b3JkIGZpbGVzIGRpcmVjdGx5IGlmIGdldHB3bmFtKDMpIGZhaWxzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg3MSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDYzIHN5cy11dGlscy93ZGN0bC5jOjUyMworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3NTAgdGVybS11dGlscy93YWxsLmM6MTM1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudCIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg5MworIywgZnV6enkKK21zZ2lkICJvbmx5IHN1cGVydXNlciBjYW4gcnVuIHRoaXMgcHJvZ3JhbSIKK21zZ3N0ciAibW91bnQ6IG5vbcOpcyBsJ3VzdWFyaSByb290IHBvdCBmZXIgYWl4w7IiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5MzYKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gY29uc29sZSIKK21zZ3N0ciAiJXMgbm8gZXMgcG90IG9icmlyIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTQzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIHBhc3N3b3JkIGRhdGFiYXNlIgorbXNnc3RyICJtb3VudCA6IG5vIHMnaGEgcG9ndXQgZXN0YWJsaXIgbGEgdmVsb2NpdGF0IGRlOiAlcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDYW4gbm90IGV4ZWN1dGUgc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBleGVjdXRhciAlczogJXNcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjcKKyMsIGZ1enp5Cittc2dpZCAiIgorIlRpbWVkIG91dFxuIgorIlxuIgorbXNnc3RyICJzJ2hhIGV4aGF1cml0IGVsIHRlbXBzIGQnZXNwZXJhIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTA1OQorIywgZnV6enkKK21zZ2lkICIiCisiQ2FuIG5vdCB3YWl0IG9uIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgJXM6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTc2IHRleHQtdXRpbHMvdGFpbGYuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxODUgdGV4dC11dGlscy90YWlsZi5jOjE3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGlub3RpZnkgZXZlbnRzIgorbXNnc3RyICIlczogbm8gZXMgcG90IG9icmlyICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjQ2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjUxCittc2dpZCAiRXh0cmFuZW91cyBuZXdsaW5lIGluIGZpbGUuIEV4aXRpbmcuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlbmFtZV1cbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMgorbXNnaWQgIkR1bXAgVVRNUCBhbmQgV1RNUCBmaWxlcyBpbiByYXcgZm9ybWF0LlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE1CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb2xsb3cgICAgICAgICBvdXRwdXQgYXBwZW5kZWQgZGF0YSBhcyB0aGUgZmlsZSBncm93c1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTYKK21zZ2lkICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgd3JpdGUgYmFjayBkdW1wZWQgZGF0YSBpbnRvIHV0bXAgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8ZmlsZT4gIHdyaXRlIHRvIGZpbGUgaW5zdGVhZCBvZiBzdGFuZGFyZCBvdXRwdXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4NAorbXNnaWQgImZvbGxvd2luZyBzdGFuZGFyZCBpbnB1dCBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIHVuZHVtcCBvZiAlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgZHVtcCBvZiAlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiY2FuJ3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgb2JyaXIgZWwgZml0eGVyIHRlbXBvcmFsLlxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY3JlYXRlIGEgbGluayB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBubyBzJ2hhIHBvZ3V0IHJlYW5vbWVuYXIgJXMgYSAlczogJXNcbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3QgZ2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICIlczogTm8gcydoYSBwb2d1dCBvYnRlbmlyIGVsIGNvbnRleHQgcGVyIGEgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IHNldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiJXM6IE5vIHMnaGEgcG9ndXQgZXN0YWJsaXIgZWwgY29udGV4dCBwZXIgYSAlcyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjIzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5jaGFuZ2VkIgorbXNnc3RyICIlczogJXMgbm8gcydoYSBtb2RpZmljYXRcbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI1NAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IGxvY2siCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgYmlmdXJjYXIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyODEKKyMsIGZ1enp5Cittc2dpZCAibm8gY2hhbmdlcyBtYWRlIgorbXNnc3RyICIlczogbm8gcydoYSBmZXQgY2FwIGNhbnZpXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNobW9kIGZpbGUiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2JyaXIgZWwgZml0eGVyICclcyciCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozMDQKK21zZ2lkICJFZGl0IHRoZSBwYXNzd29yZCBvciBncm91cCBmaWxlLlxuIgorbXNnc3RyICIiCisKKyMgc2hhZG93IHBhc3dvcmRzIC0+IGNvbnRyYXNlbnllcyBvY3VsdGVzIChmZWRvcmEpCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzUwCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgZ3JvdXBzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICJBcXVlc3Qgc2lzdGVtYSB1dGlsaXR6YSBncnVwcyBvY3VsdHMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTEKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBwYXNzd29yZHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIkFxdWVzdCBzaXN0ZW1hIHV0aWxpdHphIGNvbnRyYXNlbnllcyBvY3VsdGVzLlxuIgorCisjIEZJWE1FIGhlcmUgd2UgaGF2ZSAneScgYW5kICduJyB0cmFuc2xhdGVkLCBpcyBpdCB0cmFuc2xhdGVhYmxlPworIy4gVFJBTlNMQVRPUlM6IHRoaXMgcHJvZ3JhbSB1c2VzIGZvciB5IGFuZCBuIHJwbWF0Y2goMyksCisjLiAqIHdoaWNoIG1lYW5zIHRoZXkgY2FuIGJlIHRyYW5zbGF0ZWQuCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHlvdSBsaWtlIHRvIGVkaXQgJXMgbm93IFt5L25dPyAiCittc2dzdHIgIkRlc2l0Z2V1IGVkaXRhciAlcyBhcmE/IFtzL25dICIKKworIzogbWlzYy11dGlscy9jYWwuYzozNzIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBtb250aCBhcmd1bWVudCIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogbWlzYy11dGlscy9jYWwuYzozODAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB3ZWVrIGFyZ3VtZW50IgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGludsOgbGlkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjM4MgorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHVzZSAxLTU0IgorbXNnc3RyICJlbCB2YWxvciBkZSBsJ2FueSBubyDDqXMgbGVnYWw6IHV0aWxpdHpldSAxLTk5OTkiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZXN0YW1wIG9yIHVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQzMQorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZSIKK21zZ3N0ciAiVmFsb3IgZGVscyBjYXDDp2FscyBubyBwZXJtw6hzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQzMyBtaXNjLXV0aWxzL2NhbC5jOjQ1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWU6IHVzZSAxLSVkIgorbXNnc3RyICJlbCB2YWxvciBkZSBsJ2FueSBubyDDqXMgbGVnYWw6IHV0aWxpdHpldSAxLTk5OTkiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDM3IG1pc2MtdXRpbHMvY2FsLmM6NDQ1Cittc2dpZCAiaWxsZWdhbCBtb250aCB2YWx1ZTogdXNlIDEtMTIiCittc2dzdHIgImVsIHZhbG9yIGRlbCBtZXMgw6lzIGlswrdsZWdhbDogdXRpbGl0emV1IDEtMTIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICJsb2dnZXI6IG5vbSBhbWIgcHJpb3JpdGF0IGRlc2NvbmVndWRhOiAlcy5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NDggbWlzYy11dGlscy9jYWwuYzo0NTIKKyMsIGZ1enp5Cittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlIgorbXNnc3RyICJWYWxvciBkZWxzIGNhcMOnYWxzIG5vIHBlcm3DqHMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDUwCisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZTogdXNlIHBvc2l0aXZlIGludGVnZXIiCittc2dzdHIgImVsIHZhbG9yIGRlIGwnYW55IG5vIMOpcyBsZWdhbDogdXRpbGl0emV1IDEtOTk5OSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0ODIgbWlzYy11dGlscy9jYWwuYzo0OTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogeWVhciAlZCBkb2Vzbid0IGhhdmUgd2VlayAlZCIKK21zZ3N0ciAiZWwgdmFsb3IgZGUgbCdhbnkgbm8gw6lzIGxlZ2FsOiB1dGlsaXR6ZXUgMS05OTk5IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlMDRkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAlMDRkIgorbXNnc3RyICIlMiRkIGRlICUxJHMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtbW2RheV0gbW9udGhdIHllYXJdXG4iCittc2dzdHIgImZvcm1hIGQnw7pzOiBjYWwgWy0xM3NtanlWXSBbW21lc10gYW55XVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vbnRobmFtZT5cbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5NworbXNnaWQgIkRpc3BsYXkgYSBjYWxlbmRhciwgb3Igc29tZSBwYXJ0IG9mIGl0LlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk4Cittc2dpZCAiV2l0aG91dCBhbnkgYXJndW1lbnRzLCBkaXNwbGF5IHRoZSBjdXJyZW50IG1vbnRoLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMQorIywgZnV6enkKK21zZ2lkICIgLTEsIC0tb25lICAgICAgICAgICAgIHNob3cgb25seSBhIHNpbmdsZSBtb250aCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMgorIywgZnV6enkKK21zZ2lkICIgLTMsIC0tdGhyZWUgICAgICAgICAgIHNob3cgdGhyZWUgbW9udGhzIHNwYW5uaW5nIHRoZSBkYXRlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW1vbnRocyA8bnVtPiAgICBzaG93IG51bSBtb250aHMgc3RhcnRpbmcgd2l0aCBkYXRlJ3MgbW9udGhcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNAorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc3BhbiAgICAgICAgICAgIHNwYW4gdGhlIGRhdGUgd2hlbiBkaXNwbGF5aW5nIG11bHRpcGxlIG1vbnRoc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA1Cittc2dpZCAiIC1zLCAtLXN1bmRheSAgICAgICAgICBTdW5kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDYKK21zZ2lkICIgLW0sIC0tbW9uZGF5ICAgICAgICAgIE1vbmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNworIywgZnV6enkKK21zZ2lkICIgLWosIC0tanVsaWFuICAgICAgICAgIG91dHB1dCBKdWxpYW4gZGF0ZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwOAorIywgZnV6enkKK21zZ2lkICIgLXksIC0teWVhciAgICAgICAgICAgIHNob3cgdGhlIHdob2xlIHllYXJcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwOQorIywgZnV6enkKK21zZ2lkICIgLVksIC0tdHdlbHZlICAgICAgICAgIHNob3cgdGhlIG5leHQgdHdlbHZlIG1vbnRoc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDEwCittc2dpZCAiIC13LCAtLXdlZWtbPTxudW0+XSAgICBzaG93IFVTIG9yIElTTy04NjAxIHdlZWsgbnVtYmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAxMQorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10ge0xBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMfT08dmFsdWU+XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzozMgorIywgZnV6enkKK21zZ2lkICJGaW5kIGEgZmlsZXN5c3RlbSBieSBsYWJlbCBvciBVVUlELlxuIgorbXNnc3RyICJTJ2VzdMOgIGZvcsOnYW50IGxhIGNvbXByb3ZhY2nDsyBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzIGEgJXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZXNvbHZlICclcyciCittc2dzdHIgIm5vIGVzIHBvdCBvYnJpciAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6OTkKKyMsIGZ1enp5Cittc2dpZCAic291cmNlIGRldmljZSIKK21zZ3N0ciAiZGlzcG9zaXRpdSBkZSBibG9jcyAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMAorbXNnaWQgIm1vdW50cG9pbnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxIG1pc2MtdXRpbHMvbHNibGsuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJJbnRyb2R1w691IGVsIHRpcHVzIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnM6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAyCisjLCBmdXp6eQorbXNnaWQgImFsbCBtb3VudCBvcHRpb25zIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAzCittc2dpZCAiVkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA0CisjLCBmdXp6eQorbXNnaWQgIkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIm9wY2lvbnMgw7p0aWxzOiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA1CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gbGFiZWwiCittc2dzdHIgIkludHJvZHXDr3UgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVyczogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDYgbWlzYy11dGlscy9sc2Jsay5jOjE2NAorbXNnaWQgImZpbGVzeXN0ZW0gVVVJRCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIGxhYmVsIgorbXNnc3RyICJOb21icmUgZGUgcGFydGljacOzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDkgbWlzYy11dGlscy9sc2Jsay5jOjE2MAorbXNnaWQgIm1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEwCittc2dpZCAiYWN0aW9uIGRldGVjdGVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTEKK21zZ2lkICJvbGQgbW91bnQgb3B0aW9ucyBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEyCittc2dpZCAib2xkIG1vdW50cG9pbnQgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMworIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUiCittc2dzdHIgIkludHJvZHXDr3UgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVyczogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIGF2YWlsYWJsZSIKK21zZ3N0ciAiSW50cm9kdcOvdSBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNQorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgdXNlZCIKK21zZ3N0ciAiSW50cm9kdcOvdSBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNgorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICJJbnRyb2R1w691IGVsIHRpcHVzIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnM6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE3CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gcm9vdCIKK21zZ3N0ciAiSW50cm9kdcOvdSBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOAorbXNnaWQgInRhc2sgSUQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5CisjLCBmdXp6eQorbXNnaWQgIm1vdW50IElEIgorbXNnc3RyICJuY291bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMAorIywgZnV6enkKK21zZ2lkICJvcHRpb25hbCBtb3VudCBmaWVsZHMiCittc2dzdHIgIm1vdW50OiBubyBoYSBlc3RhdCBwb3NzaWJsZSBtdW50YXIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMQorIywgZnV6enkKK21zZ2lkICJWRlMgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aWNpb25zOlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIKK21zZ2lkICJkdW1wKDgpIHBlcmlvZCBpbiBkYXlzIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMKK21zZ2lkICJwYXNzIG51bWJlciBvbiBwYXJhbGxlbCBmc2NrKDgpIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYWN0aW9uOiAlcyIKK21zZ3N0ciAiJXM6IE9yZHJlIGRlc2NvbmVndWRhOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDMKKyMsIGZ1enp5Cittc2dpZCAibW91bnQiCittc2dzdHIgIm5jb3VudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ2CisjLCBmdXp6eQorbXNnaWQgInVtb3VudCIKK21zZ3N0ciAibmNvdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDkKKyMsIGZ1enp5Cittc2dpZCAicmVtb3VudCIKK21zZ3N0ciAicydoYSBsbGVnaXQgJWNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjUyCisjLCBmdXp6eQorbXNnaWQgIm1vdmUiCittc2dzdHIgIiBFbGltaW5hIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA3NSBzeXMtdXRpbHMvZWplY3QuYzo3MTkKKyM6IHN5cy11dGlscy9tb3VudC5jOjY2OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJsZSIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBsYSBtZW3DsnJpYSB0ZW1wb3JhbC5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODM5IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCByZWFkICVzIgorbXNnc3RyICIlczogbm8gcydoYSBwb2d1dCBsbGVnaXIgJXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMTUgbWlzYy11dGlscy9maW5kbW50LmM6MTA4MQorIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjk0IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0ODIKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxODcgc3lzLXV0aWxzL21vdW50LmM6MTM0IHN5cy11dGlscy9tb3VudC5jOjE4MgorIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo1NiBzeXMtdXRpbHMvc3dhcG9mZi5jOjE1NSBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ0CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjc0IHN5cy11dGlscy9zd2Fwb24uYzo3MzMgc3lzLXV0aWxzL3Vtb3VudC5jOjI3NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBsYSBtZW3DsnJpYSB0ZW1wb3JhbC5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA4NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJkaWZmIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIGxhIG1lbcOycmlhIHRlbXBvcmFsLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTE1CisjLCBmdXp6eQorbXNnaWQgInBvbGwoKSBmYWlsZWQiCittc2dzdHIgImwnYXNzaWduYWNpw7MgZGUgbWVtw7JyaWEgKG1hbGxvYykgaGEgZmFsbGF0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gfCA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZSA8ZGV2aWNlPl0gWy0tdGFyZ2V0IDxwYXRoPiB8IC0tbW91bnRwb2ludCA8ZGlyPl1cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk2CisjLCBmdXp6eQorbXNnaWQgIkZpbmQgYSAobW91bnRlZCkgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiSW50cm9kdcOvdSBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTkKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLWZzdGFiICAgICAgICAgICAgc2VhcmNoIGluIHN0YXRpYyB0YWJsZSBvZiBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMAorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzZWFyY2ggaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAxCittc2dpZCAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIHNlYXJjaCBpbiBrZXJuZWwgdGFibGUgb2YgbW91bnRlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXN5c3RlbXMgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcG9sbFs9PGxpc3Q+XSAgICBtb25pdG9yIGNoYW5nZXMgaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgICBsICAgbGxpc3RhIGVscyB0aXB1cyBkZSBzaXN0ZW1lcyBkZSBmaXR4ZXJzIGNvbmVndXRzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA1Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPG51bT4gICAgdXBwZXIgbGltaXQgaW4gbWlsbGlzZWNvbmRzIHRoYXQgLS1wb2xsIHdpbGwgYmxvY2tcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA4CisjLCBmdXp6eQorbXNnaWQgIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGJ1aWx0LWluIGZpbHRlcnMsIHByaW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA5CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBBU0NJSSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEwCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMQorbXNnaWQgIiAtQywgLS1ub2Nhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSB3aGVuIGNvbXBhcmluZyBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTIKK21zZ2lkICIgLWMsIC0tY2Fub25pY2FsaXplICAgICBjYW5vbmljYWxpemUgcHJpbnRlZCBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTMKKyMsIGZ1enp5Cittc2dpZCAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGF0ZSB0aGUgb3V0cHV0IG9mIGRmKDEpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE0Cittc2dpZCAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE1Cittc2dpZCAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNworbXNnaWQgIiAtRiwgLS10YWItZmlsZSA8cGF0aD4gIGFsdGVybmF0aXZlIGZpbGUgZm9yIC1zLCAtbSBvciAtayBvcHRpb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBwcmludCB0aGUgZmlyc3QgZm91bmQgZmlsZXN5c3RlbSBvbmx5XG4iCittc2dzdHIgIiAgIGwgICBsbGlzdGEgZWxzIHRpcHVzIGRlIHNpc3RlbWVzIGRlIGZpdHhlcnMgY29uZWd1dHMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTkKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJ0IHRoZSBzZW5zZSBvZiBtYXRjaGluZ1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDcgc3lzLXV0aWxzL2xzbnMuYzo2MTkKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMSBzeXMtdXRpbHMvbHNucy5jOjYyMAorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIyCittc2dpZCAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNlIGFsdGVybmF0aXZlIG5hbWVzcGFjZSAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIGZpbGUpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBjb2x1bW4gaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjQKK21zZ2lkICIgLU8sIC0tb3B0aW9ucyA8bGlzdD4gICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IG1vdW50IG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI1CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIHRoZSBvdXRwdXQgY29sdW1ucyB0byBiZSBzaG93blxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9Y2FkZW5hX29wY2lvbnMgT3BjaW9ucyBjdXJ0ZXMgYSByZWNvbsOoaXhlclxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI2CisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjcKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgcHJpbnQgYWxsIHN1Ym1vdW50cyBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI4CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOQorbXNnaWQgIiIKKyIgLVMsIC0tc291cmNlIDxzdHJpbmc+ICB0aGUgZGV2aWNlIHRvIG1vdW50IChieSBuYW1lLCBtYWo6bWluLCBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMxCisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10YXJnZXQgPHBhdGg+ICAgIHRoZSBwYXRoIHRvIHRoZSBmaWxlc3lzdGVtIHRvIHVzZVxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9Y2FkZW5hX29wY2lvbnMgT3BjaW9ucyBjdXJ0ZXMgYSByZWNvbsOoaXhlclxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMyCisjLCBmdXp6eQorbXNnaWQgIiAtTSwgLS1tb3VudHBvaW50IDxkaXI+IHRoZSBtb3VudHBvaW50IGRpcmVjdG9yeVxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9Y2FkZW5hX29wY2lvbnMgT3BjaW9ucyBjdXJ0ZXMgYSByZWNvbsOoaXhlclxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMzCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgRlMgdHlwZXNcbiIKK21zZ3N0ciAiICAgbCAgIGxsaXN0YSBlbHMgdGlwdXMgZGUgc2lzdGVtZXMgZGUgZml0eGVycyBjb25lZ3V0cyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNAorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdW5pcSAgICAgICAgICAgICBpZ25vcmUgZmlsZXN5c3RlbXMgd2l0aCBkdXBsaWNhdGUgdGFyZ2V0XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM1IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMyBzeXMtdXRpbHMvbHNucy5jOjYyNQorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzYKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzOQorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tdmVyaWZ5ICAgICAgICAgICB2ZXJpZnkgbW91bnQgdGFibGUgY29udGVudCAoZGVmYXVsdCBpcyBmc3RhYilcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgbW9yZSBkZXRhaWxzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGRpcmVjdGlvbiAnJXMnIgorbXNnc3RyICJObyBoaSBoYSBjYXAgZGlyZWN0b3JpICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NDAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBUSUQgYXJndW1lbnQiCittc2dzdHIgImlkIGludsOgbGlkIDogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUwOQorbXNnaWQgIi0tcG9sbCBhY2NlcHRzIG9ubHkgb25lIGZpbGUsIGJ1dCBtb3JlIHNwZWNpZmllZCBieSAtLXRhYi1maWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MTMKK21zZ2lkICJvcHRpb25zIC0tdGFyZ2V0IGFuZCAtLXNvdXJjZSBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggY29tbWFuZCBsaW5lIGVsZW1lbnQgdGhhdCBpcyBub3QgYW4gb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1NjIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgY2FjaGUiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbGEgbWVtw7JyaWEgdGVtcG9yYWwuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE2MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY29sdW1uIGlzIHJlcXVlc3RlZCwgYnV0IC0tcG9sbCBpcyBub3QgZW5hYmxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE2CisjLCBmdXp6eQorbXNnaWQgInRhcmdldCBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgIkhldSBlc3BlY2lmaWNhdCBtw6lzIGNpbGluZHJlcyBkZWxzIHF1ZSBjYWJlbiBhbCBkaXNjIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIG9yZGVyOiAlcyBzcGVjaWZpZWQgYmVmb3JlICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMzMKK21zZ2lkICJ1bmRlZmluZWQgdGFyZ2V0IChmc19maWxlKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1jYW5vbmljYWwgdGFyZ2V0IHBhdGggKHJlYWw6ICVzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgdGFyZ2V0OiAlbSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSB0YXJnZXQ6ICVtIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGxsZWdpciAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTUxCisjLCBmdXp6eQorbXNnaWQgInRhcmdldCBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImVsIG5vZGUgZCdpZGVudGlmaWNhY2nDsyBhcnJlbCBubyDDqXMgdW4gZGlyZWN0b3JpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTUzCittc2dpZCAidGFyZ2V0IGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY1CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgc291cmNlOiAlcz0lcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZTogJXM9JXMiCittc2dzdHIgIihGaXR4ZXIgc2Vnw7xlbnQ6ICVzKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM9JXMgdHJhbnNsYXRlZCB0byAlcyIKK21zZ3N0ciAiRWwgc2VjdG9yICVkIGphIGVzdMOgIGFzc2lnbmF0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxOTAKK21zZ2lkICJ1bmRlZmluZWQgc291cmNlIChmc19zcGVjKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzb3VyY2UgdGFnOiAlcyIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IGRlc2NvbmVndXQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIHNvdXJjZSAocHNldWRvL25ldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgc291cmNlOiAlczogJW0iCittc2dzdHIgIm5vIGVzIHBvdCBvYnJpciAnJXMnIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjEyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1iaW5kIG1vdW50IHNvdXJjZSAlcyBpcyBhIGRpcmVjdG9yeSBvciByZWd1bGFyIGZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic291cmNlICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXM6IG5vIMOpcyB1biBkaXNwb3NpdGl1IGRlIGJsb2NcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic291cmNlICVzIGV4aXN0cyIKK21zZ3N0ciAiZGlzcG9zaXRpdSBkZSBibG9jcyAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlZGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2Vyc3BhY2Ugb3B0aW9uczogJXMiCittc2dzdHIgIm9wY2lvbnMgcGVyaWxsb3NlczoiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHN3YXBhcmVhIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IGRlc2NvbmVndXQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNjAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN3YXBhcmVhIHByaW9yaXR5IG9wdGlvbiIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBwYXJ0aWNpw7MgYSAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBGUyB0eXBlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDA2Cittc2dpZCAiXCJub25lXCIgRlMgdHlwZSBpcyByZWNvbW1lbmRlZCBmb3IgYmluZCBvciBtb3ZlIG9wcmF0aW9ucyBvbmx5IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAibW91bnQ6IGVsIHRpcHVzIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnMgJXMgbm8gZXN0w6Agc3Vwb3J0YXQgcGVsIG51Y2xpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIwIG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGRldGVjdCBvbi1kaXNrIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAibW91bnQ6IG5vIGVzIHJlY29uZWl4IGVsIHNpdGVtYSBkZSBmaXR4ZXJzIMKrJXPCuyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBtYXRjaCB3aXRoIG9uLWRpc2sgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib24tZGlzayAlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIm1vdW50OiBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzICVzIG5vIGVzdMOgIHN1cG9ydGF0IHBlbCBudWNsaSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRlMgdHlwZSBpcyAlcyIKK21zZ3N0ciAidGlwdXM6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjb21tZW5kZWQgcm9vdCBGUyBwYXNzbm8gaXMgMSAoY3VycmVudCBpcyAlZCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgcGFyc2UgZXJyb3IiCittc2dpZF9wbHVyYWwgIiVkIHBhcnNlIGVycm9ycyIKK21zZ3N0clswXSAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIiCittc2dzdHJbMV0gInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsICVkIGVycm9yIgorbXNnaWRfcGx1cmFsICIsICVkIGVycm9ycyIKK21zZ3N0clswXSAiLCBlcnJvciIKK21zZ3N0clsxXSAiLCBlcnJvciIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxNAorIywgYy1mb3JtYXQKK21zZ2lkICIsICVkIHdhcm5pbmciCittc2dpZF9wbHVyYWwgIiwgJWQgd2FybmluZ3MiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3MsIG5vIGVycm9ycyBvciB3YXJuaW5ncyBkZXRlY3RlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MjQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIkVzY29sbGl1IGBnZXRvcHQgLS1oZWxwJyBwZXIgb2J0ZW5pciBtw6lzIGluZm9ybWFjacOzLlxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMwNAorbXNnaWQgImVtcHR5IGxvbmcgb3B0aW9uIGFmdGVyIC1sIG9yIC0tbG9uZyBhcmd1bWVudCIKK21zZ3N0ciAib3BjacOzIGxsYXJnYSBidWlkYSBkZXNwcsOpcyBkZSBsJ2FyZ3VtZW50IC1sIG8gLS1sb25nIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMyNQorbXNnaWQgInVua25vd24gc2hlbGwgYWZ0ZXIgLXMgb3IgLS1zaGVsbCBhcmd1bWVudCIKK21zZ3N0ciAiaW50w6hycHJldCBkJ29yZHJlcyBkZXNjb25lZ3V0IGRlc3Byw6lzIGRlIGwnYXJndW1lbnQgLXMgbyAtLXNoZWxsIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1dIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSAtb3wtLW9wdGlvbnMgPG9wdHN0cmluZz4gW29wdGlvbnNdIFstLV0gPHBhcmFtZXRlcnM+XG4iCittc2dzdHIgIiAgICAgICBnZXRvcHQgW29wY2lvbnNdIC1vfC0tb3B0aW9ucyBjYWRlbmFfb3BjaW9ucyBbb3BjaW9uc10gWy0tXVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzOAorIywgZnV6enkKK21zZ2lkICJQYXJzZSBjb21tYW5kIG9wdGlvbnMuXG4iCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MQorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAgYWxsb3cgbG9uZyBvcHRpb25zIHN0YXJ0aW5nIHdpdGggc2luZ2xlIC1cbiIKK21zZ3N0ciAiICAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgIFBlcm1ldCBvcGNpb25zIGxsYXJndWVzIGFtYiBub23DqXMgdW4gLVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiAgdGhlIGxvbmcgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAgLWwsIC0tbG9uZ29wdGlvbnM9b3BjX2xsYXJnICAgT3BjaW9ucyBsbGFyZ3VlcyBhIHJlY29uw6hpeGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uYW1lIDxwcm9nbmFtZT4gICAgICAgICB0aGUgbmFtZSB1bmRlciB3aGljaCBlcnJvcnMgYXJlIHJlcG9ydGVkXG4iCittc2dzdHIgIiAgLW4sIC0tbmFtZT1ub21fcHJvZ3JhbWEgICAgICBFbCBub20gYW1iIGVsIHF1ZSBzJ2luZm9ybWEgZGVscyBlcnJvcnNcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDQKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAgIHRoZSBzaG9ydCBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPWNhZGVuYV9vcGNpb25zIE9wY2lvbnMgY3VydGVzIGEgcmVjb27DqGl4ZXJcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDUKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGRpc2FibGUgZXJyb3IgcmVwb3J0aW5nIGJ5IGdldG9wdCgzKVxuIgorbXNnc3RyICIiCisiICAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgIEluaGFiaWxpdGEgZWxzIGluZm9ybWVzIGQnZXJyb3IgbWl0amFuw6dhbnRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0b3B0KDMpXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ2CisjLCBmdXp6eQorbXNnaWQgIiAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICBubyBub3JtYWwgb3V0cHV0XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgc2V0IHF1b3RpbmcgY29udmVudGlvbnMgdG8gdGhvc2Ugb2YgPHNoZWxsPlxuIgorbXNnc3RyICIiCisiICAtcywgLS1zaGVsbD1pbnTDqHJwcmV0X29yZHJlcyBFc3RhYmxlaXggZWxzIG1hdGVpeG9zIGNvbnZlbmlzIHF1YW50IGEgbGVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbWV0ZXMgcXVlIGwnaW50ZXJwcmV0IGQnb3JkcmVzIGluZGljYXRcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDgKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIHRlc3QgZm9yIGdldG9wdCgxKSB2ZXJzaW9uXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICBQcm92YSBsYSB2ZXJzacOzIGRlbCBnZXRvcHQoMSlcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDkKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVucXVvdGVkICAgICAgICAgICAgICAgIGRvIG5vdCBxdW90ZSB0aGUgb3V0cHV0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM5OSBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1OQorbXNnaWQgIm1pc3Npbmcgb3B0c3RyaW5nIGFyZ3VtZW50IgorbXNnc3RyICJmYWx0YSBsJ2FyZ3VtZW50IGNhZGVuYV9vcGNpb25zIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1NAorbXNnaWQgImludGVybmFsIGVycm9yLCBjb250YWN0IHRoZSBhdXRob3IuIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGludGVybjsgY29udGFjdGV1IGFtYiBsJ2F1dG9yLiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbCAlczsgdmFsaWQgc2lnbmFsczoiCittc2dzdHIgIiVzOiBzZW55YWwgZGVzY29uZWd1dCAlczsgc2VueWFscyB2w6BsaWRzOlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBpZD58PG5hbWU+Li4uXG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzA1Cittc2dpZCAiRm9yY2libHkgdGVybWluYXRlIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDgKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IHRoZSBuYW1lLXRvLXBpZCBjb252ZXJzaW9uIHRvIHByb2Nlc3Nlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgc2FtZSB1aWQgYXMgdGhlIHByZXNlbnQgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMAorbXNnaWQgIiAtcywgLS1zaWduYWwgPHNpZ25hbD4gIHNlbmQgdGhpcyA8c2lnbmFsPiBpbnN0ZWFkIG9mIFNJR1RFUk1cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTIKK21zZ2lkICIgLXEsIC0tcXVldWUgPHZhbHVlPiAgICB1c2Ugc2lncXVldWUoMiksIG5vdCBraWxsKDIpLCBhbmQgcGFzcyA8dmFsdWU+IGFzIGRhdGFcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgcHJpbnQgcGlkcyB3aXRob3V0IHNpZ25hbGluZyB0aGVtXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTUKK21zZ2lkICIgLWwsIC0tbGlzdFs9PHNpZ25hbD5dICBsaXN0IHNpZ25hbCBuYW1lcywgb3IgY29udmVydCBhIHNpZ25hbCBudW1iZXIgdG8gYSBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE2Cittc2dpZCAiIC1MLCAtLXRhYmxlICAgICAgICAgICAgbGlzdCBzaWduYWwgbmFtZXMgYW5kIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgcGlkcyB0aGF0IHdpbGwgYmUgc2lnbmFsZWRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM2NyBtaXNjLXV0aWxzL2tpbGwuYzozNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsOiAlcyIKK21zZ3N0ciAiJXM6IHNlbnlhbCBkZXNjb25lZ3V0ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM4NyBtaXNjLXV0aWxzL2tpbGwuYzozOTAgbWlzYy11dGlscy9raWxsLmM6Mzk5CisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MTEgbWlzYy11dGlscy9raWxsLmM6NDM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiJXM6IExlcyBvcGNpb25zIC0tYWRqdXN0IGkgLS1ub2FkamZpbGUgcydleGNsb3VlbiBtw7p0dWFtZW50LiBMZXMgaGV1IGVzcGVjaWZpY2F0IHRvdGVzIGR1ZXMuXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM5NiBtaXNjLXV0aWxzL2tpbGwuYzo0MzggbWlzYy11dGlscy9yZW5hbWUuYzoxNzQKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc4OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc5OAorIywgZnV6enkKK21zZ2lkICJub3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAiTWFzc2EgYXJndW1lbnRzLlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICIlcyByZXF1ZXJlaXggdW4gYXJndW1lbnRcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDE0IHN5cy11dGlscy9lamVjdC5jOjIwNSBzeXMtdXRpbHMvZWplY3QuYzoyMzAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Njg5IHN5cy11dGlscy90dW5lbHAuYzoxNjEgc3lzLXV0aWxzL3R1bmVscC5jOjE2OAorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE3NSBzeXMtdXRpbHMvdHVuZWxwLmM6MTgyIHN5cy11dGlscy90dW5lbHAuYzoxODkKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxOTUgc3lzLXV0aWxzL3R1bmVscC5jOjE5OSBzeXMtdXRpbHMvdHVuZWxwLmM6MjA2CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjMxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxMyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzcgdGVybS11dGlscy9zZXR0ZXJtLmM6MjcyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzQgdGVybS11dGlscy9zZXR0ZXJtLmM6MjkxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5OAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzAwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxMiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyMyB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMzEgdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ2CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDggdGVybS11dGlscy9zZXR0ZXJtLmM6MzYwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjM2MgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzczIHRlcm0tdXRpbHMvc2V0dGVybS5jOjUzNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDAKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NTAgdGVybS11dGlscy9zZXR0ZXJtLmM6NTc0CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NzkgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4OQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTk0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MDcKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjY0MAorIywgZnV6enkKK21zZ2lkICJhcmd1bWVudCBlcnJvciIKK21zZ3N0ciAiJXM6IEFyZ3VtZW50IGVycm9uaSwgZm9ybWEgZCfDunNcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNpZ25hbCBuYW1lIG9yIG51bWJlcjogJXMiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQ0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgJWQgdG8gcGlkICVkXG4iCittc2dzdHIgIiVzOiBubyBzJ2hhIHBvZ3V0IHJlYW5vbWVuYXIgJXMgYSAlczogJXNcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBubyBzJ2hhIHBvZ3V0IHJlYW5vbWVuYXIgJXMgYSAlczogJXNcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCBwcm9jZXNzIFwiJXNcIiIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgdHJvYmFyIGVsIHByb2PDqXMgXCIlc1wiXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5IG5hbWU6ICVzIgorbXNnc3RyICJsb2dnZXI6IG5vIGVzIGNvbmVpeCBlbCBub20gZGUgbGEgZmFjaWxpdGF0OiAlcy5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpb3JpdHkgbmFtZTogJXMiCittc2dzdHIgImxvZ2dlcjogbm9tIGFtYiBwcmlvcml0YXQgZGVzY29uZWd1ZGE6ICVzLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3BlbmxvZyAlczogcGF0aG5hbWUgdG9vIGxvbmciCittc2dzdHIgImVsIG5vbSBkJ2VudHJhZGEgw6lzIG1hc3NhIGxsYXJnLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic29ja2V0ICVzIgorbXNnc3RyICJNaWRhQmxvYzogJWRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIG5hbWUgJXMgcG9ydCAlczogJXMiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNvbm5lY3QgdG8gJXMgcG9ydCAlcyIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heGltdW0gaW5wdXQgbGluZXMgKCVkKSBleGNlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjQ4NworIywgZnV6enkKK21zZ2lkICJzZW5kIG1lc3NhZ2UgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBoYSBmYWxsYXQiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTU4CisjLCBjLWZvcm1hdAorbXNnaWQgInN0cnVjdHVyZWQgZGF0YSBJRCAnJXMnIGlzIG5vdCB1bmlxdWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1zZC1pZCB3YXMgbm90IHNwZWNpZmllZCBmb3IgLS1zZC1wYXJhbSAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc1NAorIywgZnV6enkKK21zZ2lkICJsb2NhbHRpbWUoKSBmYWlsZWQiCittc2dzdHIgIm5vIGhhIGVzdGF0IHBvc3NpYmxlIGV4ZWN1dGFyIG9wZW5wdHlcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImhvc3RuYW1lICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgImVsIGNhbXAgw6lzIG1hc3NhIGxsYXJnLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGFnICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgImVsIGNhbXAgw6lzIG1hc3NhIGxsYXJnLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjgzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdW5rbm93biBvcHRpb24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICIlczogYXJndW1lbnQgZGVzY29uZWd1dDogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzOiB1c2luZyBhdXRvbWF0aWMgZXJyb3JzIgorbXNnc3RyICJpZCBpbnbDoGxpZCA6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6OTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bWVzc2FnZT5dXG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo5OTcKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXIgbWVzc2FnZXMgaW50byB0aGUgc3lzdGVtIGxvZy5cbiIKK21zZ3N0ciAiTm8gZXMgcG90IGVzdGFibGlyIGVsIHJlbGxvdGdlIGRlbCBzaXN0ZW1hLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1pICAgICAgICAgICAgICAgICAgICAgICBsb2cgdGhlIGxvZ2dlciBjb21tYW5kJ3MgUElEXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMQorbXNnaWQgIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgbG9nIHRoZSBnaXZlbiA8aWQ+LCBvciBvdGhlcndpc2UgdGhlIFBJRFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgICAgIGxvZyB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1lLCAtLXNraXAtZW1wdHkgICAgICAgICBkbyBub3QgbG9nIGVtcHR5IGxpbmVzIHdoZW4gcHJvY2Vzc2luZyBmaWxlc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgTm8gZXNjcmlndWVzIHJlYWxtZW50IGFsIGRpc2MiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm8tYWN0ICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSB3cml0ZSB0aGUgbG9nXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDUKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIG1hcmsgZ2l2ZW4gbWVzc2FnZSB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDYKK21zZ2lkICIgICAgIC0tb2N0ZXQtY291bnQgICAgICAgIHVzZSByZmM2NTg3IG9jdGV0IGNvdW50aW5nXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA3Cittc2dpZCAiICAgICAtLXByaW8tcHJlZml4ICAgICAgICBsb29rIGZvciBhIHByZWZpeCBvbiBldmVyeSBsaW5lIHJlYWQgZnJvbSBzdGRpblxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwOAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIG91dHB1dCBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yIGFzIHdlbGxcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwOQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgIG1heGltdW0gc2l6ZSBmb3IgYSBzaW5nbGUgbWVzc2FnZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEwCittc2dpZCAiIC10LCAtLXRhZyA8dGFnPiAgICAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMQorbXNnaWQgIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMgorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcG9ydCA8cG9ydD4gICAgICAgIHVzZSB0aGlzIHBvcnQgZm9yIFVEUCBvciBUQ1AgY29ubmVjdGlvblxuIgorbXNnc3RyICIiCisiICAtcywgLS1zaGVsbD1pbnTDqHJwcmV0X29yZHJlcyBFc3RhYmxlaXggZWxzIG1hdGVpeG9zIGNvbnZlbmlzIHF1YW50IGEgbGVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbWV0ZXMgcXVlIGwnaW50ZXJwcmV0IGQnb3JkcmVzIGluZGljYXRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEzCisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgdXNlIFRDUCBvbmx5XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTQKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLXVkcCAgICAgICAgICAgICAgICB1c2UgVURQIG9ubHlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIHVzZSB0aGUgb2Jzb2xldGUgQlNEIHN5c2xvZyBwcm90b2NvbFxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgUHJvdmEgbGEgdmVyc2nDsyBkZWwgZ2V0b3B0KDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNgorbXNnaWQgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIHVzZSB0aGUgc3lzbG9nIHByb3RvY29sICh0aGUgZGVmYXVsdCBmb3IgcmVtb3RlKTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNuaXA+IGNhbiBiZSBub3RpbWUsIG9yIG5vdHEsIGFuZC9vciBub2hvc3RcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTgKK21zZ2lkICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIElEXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE5Cittc2dpZCAiICAgICAtLXNkLXBhcmFtIDxkYXRhPiAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBuYW1lPXZhbHVlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDIwCittc2dpZCAiICAgICAtLW1zZ2lkIDxtc2dpZD4gICAgICBzZXQgcmZjNTQyNCBtZXNzYWdlIGlkIGZpZWxkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDIxCittc2dpZCAiIC11LCAtLXNvY2tldCA8c29ja2V0PiAgICB3cml0ZSB0byB0aGlzIFVuaXggc29ja2V0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDIyCittc2dpZCAiIgorIiAgICAgLS1zb2NrZXQtZXJyb3JzWz08b258b2ZmfGF1dG8+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQgY29ubmVjdGlvbiBlcnJvcnMgd2hlbiB1c2luZyBVbml4IHNvY2tldHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjUKK21zZ2lkICIgICAgIC0tam91cm5hbGRbPTxmaWxlPl0gIHdyaXRlIGpvdXJuYWxkIGVudHJ5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmaWxlICVzIgorbXNnc3RyICIoRml0eGVyIHNlZ8O8ZW50OiAlcykiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTEyNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgaWQiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1lc3NhZ2Ugc2l6ZSIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE4MAorbXNnaWQgIi0tbXNnaWQgY2Fubm90IGNvbnRhaW4gc3BhY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBJRDogJyVzJyIKK21zZ3N0ciAiaWQgaW52w6BsaWQgOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc3RydWN0dXJlZCBkYXRhIHBhcmFtZXRlcjogJyVzJyIKK21zZ3N0ciAidmFsb3IgZCdleHBpcmFjacOzIGVycm9uaTogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIxOAorbXNnaWQgIi0tZmlsZSA8ZmlsZT4gYW5kIDxtZXNzYWdlPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLCBtZXNzYWdlIGlzIGlnbm9yZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjI1Cittc2dpZCAiam91cm5hbGQgZW50cnkgY291bGQgbm90IGJlIHdyaXR0ZW4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxzdHJpbmc+IFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzU4Cittc2dpZCAiRGlzcGxheSBsaW5lcyBiZWdpbm5pbmcgd2l0aCBhIHNwZWNpZmllZCBzdHJpbmcuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYxCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgdXNlIHRoZSBhbHRlcm5hdGl2ZSBkaWN0aW9uYXJ5XG4iCittc2dzdHIgIiAgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICBQZXJtZXQgb3BjaW9ucyBsbGFyZ3VlcyBhbWIgbm9tw6lzIHVuIC1cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYyCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1hbHBoYW51bSAgICAgICAgICAgY29tcGFyZSBvbmx5IGJsYW5rcyBhbmQgYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYzCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2NAorbXNnaWQgIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgZGVmaW5lIHRoZSBzdHJpbmctdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NworbXNnaWQgImRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTgKK21zZ2lkICJpbnRlcm5hbCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OQorbXNnaWQgImludGVybmFsIHBhcmVudCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MiBzeXMtdXRpbHMvenJhbWN0bC5jOjg0Cittc2dpZCAid2hlcmUgdGhlIGRldmljZSBpcyBtb3VudGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMKK21zZ2lkICJmaWxlc3lzdGVtIExBQkVMIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIHR5cGUgVVVJRCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpY2lvbnM6XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjcKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIExBQkVMIgorbXNnc3RyICJOb21icmUgZGUgcGFydGljacOzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcxCisjLCBmdXp6eQorbXNnaWQgInJlYWQtYWhlYWQgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBleGVjdXRhciDCq3N0YXTCuyBhbCBjYW3DrVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcyIHN5cy11dGlscy9sb3NldHVwLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAiZXN0YWJsZWl4IGEgbm9tw6lzIGxlY3R1cmEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAicmVtb3ZhYmxlIGRldmljZSIKK21zZ3N0ciAiIGV4dHJhw69ibGUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzQKK21zZ2lkICJyZW1vdmFibGUgb3IgaG90cGx1ZyBkZXZpY2UgKHVzYiwgcGNtY2lhLCAuLi4pIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzUKK21zZ2lkICJyb3RhdGlvbmFsIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc2Cittc2dpZCAiYWRkcyByYW5kb21uZXNzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzcKK21zZ2lkICJkZXZpY2UgaWRlbnRpZmllciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc4Cittc2dpZCAiZGlzayBzZXJpYWwgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzkKK21zZ2lkICJzaXplIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MAorIywgZnV6enkKK21zZ2lkICJzdGF0ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIMKrc3RhdMK7IGFsIGNhbcOtXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODIKK21zZ2lkICJncm91cCBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODMKK21zZ2lkICJkZXZpY2Ugbm9kZSBwZXJtaXNzaW9ucyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg0CisjLCBmdXp6eQorbXNnaWQgImFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgIm1pZGEgZGUgbm9kZSBkJ2lkZW50aWZpY2FjacOzIGluY29ycmVjdGUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODUKK21zZ2lkICJtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODYKK21zZ2lkICJvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAicGh5c2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgImFjb25zZWd1ZWl4IGxhIG1pZGEgZGVsIHNlY3RvciIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OAorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJhY29uc2VndWVpeCBsYSBtaWRhIGRlbCBzZWN0b3IiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODkKK21zZ2lkICJJL08gc2NoZWR1bGVyIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MAorbXNnaWQgInJlcXVlc3QgcXVldWUgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkxCittc2dpZCAiZGV2aWNlIHR5cGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MgorIywgZnV6enkKK21zZ2lkICJkaXNjYXJkIGFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgIm1pZGEgZGUgbm9kZSBkJ2lkZW50aWZpY2FjacOzIGluY29ycmVjdGUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMKK21zZ2lkICJkaXNjYXJkIGdyYW51bGFyaXR5IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTQKK21zZ2lkICJkaXNjYXJkIG1heCBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk1Cittc2dpZCAiZGlzY2FyZCB6ZXJvZXMgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk2Cittc2dpZCAid3JpdGUgc2FtZSBtYXggYnl0ZXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NworIywgZnV6enkKK21zZ2lkICJ1bmlxdWUgc3RvcmFnZSBpZGVudGlmaWVyIgorbXNnc3RyICIgICB1ICAgY2FudmlhIGxlcyB1bml0YXRzIGRlIHZpc3VhbGl0emFjacOzL2VudHJhZGEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTgKK21zZ2lkICJIb3N0OkNoYW5uZWw6VGFyZ2V0Okx1biBmb3IgU0NTSSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk5Cittc2dpZCAiZGV2aWNlIHRyYW5zcG9ydCB0eXBlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDAKK21zZ2lkICJkZS1kdXBsaWNhdGVkIGNoYWluIG9mIHN1YnN5c3RlbXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMQorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgcmV2aXNpb24iCittc2dzdHIgInZlcnNpw7MiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDIKK21zZ2lkICJkZXZpY2UgdmVuZG9yIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxMjc2Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGV2aWNlIGRpcmVjdG9yeSBpbiBzeXNmcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjb21wb3NlIHN5c2ZzIHBhdGgiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIGxpbmsiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3lzZnMgbmFtZSIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB3aG9sZS1kaXNrIGRldmljZSBudW1iZXIiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1MSBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1MyBtaXNjLXV0aWxzL2xzYmxrLmM6MTU3OAorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsaXN0ICclcyciCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1OAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBleGNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgaW5jbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjE2IHN5cy11dGlscy93ZGN0bC5jOjE3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjE5CisjLCBmdXp6eQorbXNnaWQgIkxpc3QgaW5mb3JtYXRpb24gYWJvdXQgYmxvY2sgZGV2aWNlcy5cbiIKK21zZ3N0ciAiJXM6IG5vIMOpcyB1biBkaXNwb3NpdGl1IGRlIGJsb2NcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjIKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI0CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1ub2RlcHMgICAgICAgICBkb24ndCBwcmludCBzbGF2ZXMgb3IgaG9sZGVyc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgTm8gZXNjcmlndWVzIHJlYWxtZW50IGFsIGRpc2MiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI1Cittc2dpZCAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHByaW50IGRpc2NhcmQgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjYKK21zZ2lkICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI3CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjgKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWFzY2lpICAgICAgICAgIHVzZSBhc2NpaSBjaGFyYWN0ZXJzIG9ubHlcbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgIFByb3ZhIGxhIHZlcnNpw7MgZGVsIGdldG9wdCgxKVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyOQorbXNnaWQgIiAtSSwgLS1pbmNsdWRlIDxsaXN0PiBzaG93IG9ubHkgZGV2aWNlcyB3aXRoIHNwZWNpZmllZCBtYWpvciBudW1iZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzAKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMxCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMgorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tcGVybXMgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMzCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzQKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNQorIywgZnV6enkKK21zZ2lkICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgb3V0cHV0IGFsbCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1jYWRlbmFfb3BjaW9ucyBPcGNpb25zIGN1cnRlcyBhIHJlY29uw6hpeGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM2CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wYXRocyAgICAgICAgICBwcmludCBjb21wbGV0ZSBkZXZpY2UgcGF0aFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzOQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQwCisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zY3NpICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBTQ1NJIGRldmljZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQxCittc2dpZCAiIC10LCAtLXRvcG9sb2d5ICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHRvcG9sb2d5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDIKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXNvcnQgPGNvbHVtbj4gIHNvcnQgb3V0cHV0IGJ5IDxjb2x1bW4+XG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1jYWRlbmFfb3BjaW9ucyBPcGNpb25zIGN1cnRlcyBhIHJlY29uw6hpeGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ3IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxOSBzeXMtdXRpbHMvbHNucy5jOjYzMgorIzogc3lzLXV0aWxzL3BybGltaXQuYzoxOTYgc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tb3V0cHV0KTpcbiIKK21zZ3N0ciAiT3JkcmVzIGRpc3BvbmlibGVzOlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFjY2VzcyBzeXNmcyBkaXJlY3Rvcnk6ICVzIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzMKK21zZ2lkICJjb21tYW5kIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzQKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NQorbXNnaWQgImtpbmQgb2YgbG9jazogRkxfRkxPQ0sgb3IgRkxfUE9TSVguIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc2CisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIGxvY2siCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgwqtzdGF0wrsgYWwgY2Ftw61cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAibG9jayBhY2Nlc3MgbW9kZSIKK21zZ3N0ciAibm8gZXMgcG90IG9idGVuaXIgbGEgbWlkYSBkZSAlcyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzgKK21zZ2lkICJtYW5kYXRvcnkgc3RhdGUgb2YgdGhlIGxvY2s6IDAgKG5vbmUpLCAxIChzZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc5Cittc2dpZCAicmVsYXRpdmUgYnl0ZSBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODAKK21zZ2lkICJlbmRpbmcgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgxCisjLCBmdXp6eQorbXNnaWQgInBhdGggb2YgdGhlIGxvY2tlZCBmaWxlIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9icmlyIGVsIGZpdHhlciAnJXMnIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MgorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBibG9ja2luZyB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElEIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjgxIHN5cy11dGlscy9uc2VudGVyLmM6MjMyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwaWQiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODQKKyMsIGZ1enp5Cittc2dpZCAiKHVua25vd24pIgorbXNnc3RyICJkZXNjb25lZ3V0IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzAwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbmQiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDQKKyMsIGZ1enp5Cittc2dpZCAiTGlzdCBsb2NhbCBzeXN0ZW0gbG9ja3MuXG4iCittc2dzdHIgIk5vIGVzIHBvdCBlc3RhYmxpciBlbCByZWxsb3RnZSBkZWwgc2lzdGVtYS5cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA4Cittc2dpZCAiIC1pLCAtLW5vaW5hY2Nlc3NpYmxlICAgaWdub3JlIGxvY2tzIHdpdGhvdXQgcmVhZCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwOSBzeXMtdXRpbHMvbHNucy5jOjYyMQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTEwIHN5cy11dGlscy9sc25zLmM6NjIyCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPWNhZGVuYV9vcGNpb25zIE9wY2lvbnMgY3VydGVzIGEgcmVjb27DqGl4ZXJcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTExCittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgZGlzcGxheSBvbmx5IGxvY2tzIGhlbGQgYnkgdGhpcyBwcm9jZXNzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTEyIHN5cy11dGlscy9sc25zLmM6NjI0CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjU3MCBzY2hlZHV0aWxzL2NocnQuYzo0Nzggc2NoZWR1dGlscy9pb25pY2UuYzoxNzcKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE2MyBzeXMtdXRpbHMvbHNucy5jOjY5OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFBJRCBhcmd1bWVudCIKK21zZ3N0ciAiaWQgaW52w6BsaWQgOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4NQorbXNnaWQgIkdlbmVyYXRlIG1hZ2ljIGNvb2tpZXMgZm9yIHhhdXRoLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg4Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICB1c2UgZmlsZSBhcyBhIGNvb2tpZSBzZWVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODkKK21zZ2lkICIgLW0sIC0tbWF4LXNpemUgPG51bT4gIGxpbWl0IGhvdyBtdWNoIGlzIHJlYWQgZnJvbSBzZWVkIGZpbGVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6OTAKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHb3QgJXp1IGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJXp1IGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAiUydoYW4gb2J0aW5ndXQgJWQgb2N0ZXRzIGRlICVzXG4iCittc2dzdHJbMV0gIlMnaGFuIG9idGluZ3V0ICVkIG9jdGV0cyBkZSAlc1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNsb3NpbmcgJXMgZmFpbGVkIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGV4ZWNcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTY0IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTQ2IHN5cy11dGlscy9mc3RyaW0uYzozMDgKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGVuZ3RoIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTc3Cittc2dpZCAiLS1tYXgtc2l6ZSBpZ25vcmVkIHdoZW4gdXNlZCB3aXRob3V0IC0tZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlZCBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICVkIGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAiUydoYW4gb2J0aW5ndXQgJWQgb2N0ZXRzIGRlICVzXG4iCittc2dzdHJbMV0gIlMnaGFuIG9idGluZ3V0ICVkIG9jdGV0cyBkZSAlc1xuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHN5bWxpbms6ICVzIgorbXNnc3RyICJubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBpb2N0bCgpIHBlciBsbGVnaXIgbCdob3JhIGRlICVzIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAtIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiZWwgbm9kZSBkJ2lkZW50aWZpY2FjacOzIGFycmVsIG5vIMOpcyB1biBkaXJlY3RvcmkiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBhdGhuYW1lPi4uLlxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzYKK21zZ2lkICJGb2xsb3cgYSBwYXRobmFtZSB1bnRpbCBhIHRlcm1pbmFsIHBvaW50IGlzIGZvdW5kLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzkKK21zZ2lkICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheXMgdGhpcyBoZWxwIHRleHRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAteCwgLS1tb3VudHBvaW50cyAgIHNob3cgbW91bnQgcG9pbnQgZGlyZWN0b3JpZXMgd2l0aCBhICdEJ1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIHNob3cgdGhlIG1vZGUgYml0cyBvZiBlYWNoIGZpbGVcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBzaG93IG93bmVyIGFuZCBncm91cCBuYW1lIG9mIGVhY2ggZmlsZVxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIHVzZSBhIGxvbmcgbGlzdGluZyBmb3JtYXQgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICBkb24ndCBmb2xsb3cgc3ltbGlua3NcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICB2ZXJ0aWNhbCBhbGlnbiBvZiBtb2RlcyBhbmQgb3duZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQwOAorIywgZnV6enkKK21zZ2lkICJwYXRobmFtZSBhcmd1bWVudCBpcyBtaXNzaW5nIgorbXNnc3RyICJhcmd1bWVudCAtLWRhdGUgbWFzc2EgbGxhcmdcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNCBzeXMtdXRpbHMvbHNucy5jOjc2NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgVUlEIGNhY2hlIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIGxhIG1lbcOycmlhIHRlbXBvcmFsLlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHSUQgY2FjaGUiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbGEgbWVtw7JyaWEgdGVtcG9yYWwuXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4Y2VlZGVkIGxpbWl0IG9mIHN5bWxpbmtzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICIlczogbm8gw6lzIHVuIGRpc3Bvc2l0aXUgZGUgYmxvY1xuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZGxpbmsgZmFpbGVkIgorbXNnc3RyICJubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBvcGVucHR5XG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmxpbmsgZmFpbGVkIgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzeW1saW5raW5nIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgcmVhbm9tZW5hciAlcyBhICVzOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlbmFtZSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBubyBzJ2hhIHBvZ3V0IHJlYW5vbWVuYXIgJXMgYSAlczogJXNcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGV4cHJlc3Npb24+IDxyZXBsYWNlbWVudD4gPGZpbGU+Li4uXG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAiUmVuYW1lIGZpbGVzLlxuIgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTI1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyNgorbXNnaWQgIiAtcywgLS1zeW1saW5rICAgIGFjdCBvbiB0aGUgdGFyZ2V0IG9mIHN5bWxpbmtzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcyCittc2dpZCAiQSBkYWVtb24gZm9yIGdlbmVyYXRpbmcgVVVJRHMuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgPHBhdGg+ICAgICAgICBwYXRoIHRvIHBpZCBmaWxlXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1jYWRlbmFfb3BjaW9ucyBPcGNpb25zIGN1cnRlcyBhIHJlY29uw6hpeGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPWNhZGVuYV9vcGNpb25zIE9wY2lvbnMgY3VydGVzIGEgcmVjb27DqGl4ZXJcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc2CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10aW1lb3V0IDxzZWM+ICAgICBzcGVjaWZ5IGluYWN0aXZpdHkgdGltZW91dFxuIgorbXNnc3RyICIiCisiICAtcywgLS1zaGVsbD1pbnTDqHJwcmV0X29yZHJlcyBFc3RhYmxlaXggZWxzIG1hdGVpeG9zIGNvbnZlbmlzIHF1YW50IGEgbGVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbWV0ZXMgcXVlIGwnaW50ZXJwcmV0IGQnb3JkcmVzIGluZGljYXRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc3CisjLCBmdXp6eQorbXNnaWQgIiAtaywgLS1raWxsICAgICAgICAgICAgICBraWxsIHJ1bm5pbmcgZGFlbW9uXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3OAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdCByYW5kb20tYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc5CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICB0ZXN0IHRpbWUtYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgUHJvdmEgbGEgdmVyc2nDsyBkZWwgZ2V0b3B0KDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tdXVpZHMgPG51bT4gICAgICAgcmVxdWVzdCBudW1iZXIgb2YgdXVpZHNcbiIKK21zZ3N0ciAiICAgIC1IIyBbbyAtLWhlYWRzICNdOiAgICAgRXN0YWJsZWl4IGVsIG5vbWJyZSBkZSBjYXDDp2FscyBxdWUgcyd1c2FyYW4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MQorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgZG8gbm90IGNyZWF0ZSBwaWQgZmlsZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltZWl4IGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgYSBsYSBwYW50YWxsYSBvIGVuIHVuIGZpdHhlciIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgyCisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkbyBub3QgZGFlbW9uaXplIHVzaW5nIGRvdWJsZS1mb3JrXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODMKK21zZ2lkICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjg0CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBydW4gaW4gZGVidWdnaW5nIG1vZGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4NQorIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgdHVybiBvbiBxdWlldCBtb2RlXG4iCittc2dzdHIgIiAgICAtcSAgW28gLS1xdWlldF06ICAgICAgIFN1cHJpbWVpeCBlbHMgYXZpc29zIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTE4CisjLCBmdXp6eQorbXNnaWQgImJhZCBhcmd1bWVudHMiCittc2dzdHIgImNvbDogYXJndW1lbnQgLWwgaW5jb3JyZWN0ZSAlcy5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEyNQorIywgZnV6enkKK21zZ2lkICJzb2NrZXQiCittc2dzdHIgImNvbm5lY3RvciBuZnMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMzYKKyMsIGZ1enp5Cittc2dpZCAiY29ubmVjdCIKK21zZ3N0ciAiY29ubmV4acOzIG5mcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE1NgorIywgZnV6enkKK21zZ2lkICJ3cml0ZSIKK21zZ3N0ciAiRXNjcml1IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTY0CisjLCBmdXp6eQorbXNnaWQgInJlYWQgY291bnQiCittc2dzdHIgInMnaGEgbGxlZ2l0ICVjXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNzAKK21zZ2lkICJiYWQgcmVzcG9uc2UgbGVuZ3RoIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBsb2NrICVzIgorbXNnc3RyICIlcyBubyBlcyBwb3Qgb2JyaXIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyNDYKKyMsIGZ1enp5Cittc2dpZCAiY291bGRuJ3QgY3JlYXRlIHVuaXggc3RyZWFtIHNvY2tldCIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBvYnJpciAlczogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgYmluZCB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBvYnJpciAlczogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI5OAorIywgZnV6enkKK21zZ2lkICJyZWNlaXZpbmcgc2lnbmFsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgcmVhbm9tZW5hciAlcyBhICVzOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzExCittc2dpZCAidGltZWQgb3V0IgorbXNnc3RyICJzJ2hhIGV4aGF1cml0IGVsIHRlbXBzIGQnZXNwZXJhIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzQ1IHN5cy11dGlscy9mbG9jay5jOjI3MQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHVwIHRpbWVyIgorbXNnc3RyICJtb3VudCA6IG5vIHMnaGEgcG9ndXQgZXN0YWJsaXIgbGEgdmVsb2NpdGF0IGRlOiAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICJ1dWlkZCBkYWVtb24gaXMgYWxyZWFkeSBydW5uaW5nIGF0IHBpZCAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBsaXN0ZW4gb24gdW5peCBzb2NrZXQgJXMiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2JyaXIgJXM6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB0cnVuY2F0ZSBmaWxlOiAlcyIKK21zZ3N0ciAibm8gZXMgcG90IGZlciBcInN0YXRcIiBhbCBkaXNwb3NpdGl1ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzg2CisjLCBmdXp6eQorbXNnaWQgInNkX2xpc3Rlbl9mZHMoKSBmYWlsZWQiCittc2dzdHIgInNldHRpbWVvZmRheSgpIGhhIGZhbGxhdCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4OQorbXNnaWQgIm5vIGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHN5c3RlbWN0bCBzdGF0dXMgdXVpZGQuc29ja2V0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozOTIKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgdXVpZGQuc29ja2V0IgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MjAgdGVybS11dGlscy9zY3JpcHQuYzo0NTUKKyMsIGZ1enp5Cittc2dpZCAicG9sbCBmYWlsZWQiCittc2dzdHIgImwnYXNzaWduYWNpw7MgZGUgbWVtw7JyaWEgKG1hbGxvYykgaGEgZmFsbGF0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aW1lb3V0IFslZCBzZWNdXG4iCittc2dzdHIgIlMnaGEgZXhjZWRpdCBlbCB0ZW1wcyBkJ2VzcGVyYSBwZXIgYSBsJ2VudHJhZGEgYWwgY2FwIGRlICVkIHNlZ29ucy5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0MyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQxNAorIywgZnV6enkKK21zZ2lkICJyZWFkIGZhaWxlZCIKK21zZ3N0ciAiKEZpdHhlciBzZWfDvGVudDogJXMpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvciByZWFkaW5nIGZyb20gY2xpZW50LCBsZW4gPSAlZCIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBsbGVnaXIgJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ1NAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWQsIGluY29taW5nIG51bSA9ICVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkXG4iCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCByYW5kb20gVVVJRDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgYW5kICVkIGZvbGxvd2luZ1xuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkICVkIFVVSUQ6XG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCAlZCBVVUlEczpcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgb3BlcmF0aW9uICVkXG4iCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCByZXBseSBsZW5ndGggZnJvbSBzZXJ2ZXIgJWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYwMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS11dWlkcyIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MTcKK21zZ2lkICJ1dWlkZCBoYXMgYmVlbiBidWlsdCB3aXRob3V0IHN1cHBvcnQgZm9yIHNvY2tldCBhY3RpdmF0aW9uIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MzYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGltZW91dCIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NTMKK21zZ2lkICJCb3RoIC0tc29ja2V0LWFjdGl2YXRpb24gYW5kIC0tc29ja2V0IHNwZWNpZmllZC4gSWdub3JpbmcgLS1zb2NrZXQuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjAgbWlzYy11dGlscy91dWlkZC5jOjY4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2FsbGluZyB1dWlkZCBkYWVtb24gKCVzKSIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjYW52aWFyIGVsIG1vZGUgZGUgJXM6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjEgbWlzYy11dGlscy91dWlkZC5jOjY4OQorIywgZnV6enkKK21zZ2lkICJ1bmV4cGVjdGVkIGVycm9yIgorbXNnc3RyICIlczogTm8gcydlc3BlcmF2YSBFT0YgZW4gZWwgZml0eGVyICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRFxuIgorbXNnaWRfcGx1cmFsICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEc1xuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY3MworIywgYy1mb3JtYXQKK21zZ2lkICJMaXN0IG9mIFVVSURzOlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGtpbGwgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2JyaXIgJXM6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIktpbGxlZCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZC5cbiIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBvYnJpciAlczogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjgKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlIGEgbmV3IFVVSUQgdmFsdWUuXG4iCittc2dzdHIgIiAgIHMgICBjcmVhIHVuYSBldGlxdWV0YSBkZSBkaXNjIFN1biBub3ZhIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozMQorbXNnaWQgIiIKKyIgLXIsIC0tcmFuZG9tICAgICBnZW5lcmF0ZSByYW5kb20tYmFzZWQgdXVpZFxuIgorIiAtdCwgLS10aW1lICAgICAgIGdlbmVyYXRlIHRpbWUtYmFzZWQgdXVpZFxuIgorIiAtViwgLS12ZXJzaW9uICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1CTVMgPGRpcj4uLi4gLWZdIDxuYW1lPlxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5MgorbXNnaWQgIkxvY2F0ZSB0aGUgYmluYXJ5LCBzb3VyY2UsIGFuZCBtYW51YWwtcGFnZSBmaWxlcyBmb3IgYSBjb21tYW5kLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5NQorIywgZnV6enkKK21zZ2lkICIgLWIgICAgICAgICBzZWFyY2ggb25seSBmb3IgYmluYXJpZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIE5vIGVzY3JpZ3VlcyByZWFsbWVudCBhbCBkaXNjIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTYKK21zZ2lkICIgLUIgPGRpcnM+ICBkZWZpbmUgYmluYXJpZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTcKKyMsIGZ1enp5Cittc2dpZCAiIC1tICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIG1hbnVhbHMgYW5kIGluZm9zXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBObyBlc2NyaWd1ZXMgcmVhbG1lbnQgYWwgZGlzYyIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk4Cittc2dpZCAiIC1NIDxkaXJzPiAgZGVmaW5lIG1hbiBhbmQgaW5mbyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5OQorbXNnaWQgIiAtcyAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBzb3VyY2VzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAwCittc2dpZCAiIC1TIDxkaXJzPiAgZGVmaW5lIHNvdXJjZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDEKKyMsIGZ1enp5Cittc2dpZCAiIC1mICAgICAgICAgdGVybWluYXRlIDxkaXJzPiBhcmd1bWVudCBsaXN0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDIKK21zZ2lkICIgLXUgICAgICAgICBzZWFyY2ggZm9yIHVudXN1YWwgZW50cmllc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMworbXNnaWQgIiAtbCAgICAgICAgIG91dHB1dCBlZmZlY3RpdmUgbG9va3VwIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NjE5CisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbiAtZiBpcyBtaXNzaW5nIgorbXNnc3RyICJhcmd1bWVudCAtLWRhdGUgbWFzc2EgbGxhcmdcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxOTYKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJOb21icmUgZGUgcGFydGljacOzIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjI2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBwcm9iaW5nIGluaXRpYWxpemF0aW9uIGZhaWxlZCIKK21zZ3N0ciAiIgorIlxuIgorIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gdGFuY2FyIGVsIGZpdHhlclxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBlcmFzZSAlcyBtYWdpYyBzdHJpbmcgYXQgb2Zmc2V0IDB4JTA4angiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICV6ZCBieXRlIHdhcyBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnaWRfcGx1cmFsICIlczogJXpkIGJ5dGVzIHdlcmUgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIKK21zZ3N0clswXSAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCittc2dzdHJbMV0gIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjM0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHDDoGdpbmEgZGUgbGEgc2lnbmF0dXJhIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjM2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbGxpbmcgaW9jdGwgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGU6ICVtXG4iCittc2dzdHIgIlMnZXN0w6AgY3JpZGFudCBpb2N0bCgpIHBlciByZWxsZWdpciBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zLlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjM4NQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlnbm9yaW5nIG5lc3RlZCBcIiVzXCIgcGFydGl0aW9uIHRhYmxlIG9uIG5vbi13aG9sZSBkaXNrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAweCVqeCBub3QgZm91bmQiCittc2dzdHIgInVtb3VudDogJXM6IG5vIHMnaGEgdHJvYmF0IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQzNQorIywgZnV6enkKK21zZ2lkICJVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIHRvIGZvcmNlIGVyYXNlLiIKK21zZ3N0ciAiVXNldSBlbCBzZW55YWxhZG9yIC0tZm9yY2UgcGVyIGEgb2J2aWFyIHRvdGVzIGxlcyBjb21wcm92YWNpb25zLlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1OQorbXNnaWQgIldpcGUgc2lnbmF0dXJlcyBmcm9tIGEgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDYyCittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgIHdpcGUgYWxsIG1hZ2ljIHN0cmluZ3MgKEJFIENBUkVGVUwhKVxuIgorIiAtYiwgLS1iYWNrdXAgICAgICAgIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAgaW4gJEhPTUVcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICBmb3JjZSBlcmFzdXJlXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorIiAtbiwgLS1uby1hY3QgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBhY3R1YWwgd3JpdGUoKSBjYWxsXG4iCisiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IHRvIGVyYXNlLCBpbiBieXRlc1xuIgorIiAtcCwgLS1wYXJzYWJsZSAgICAgIHByaW50IG91dCBpbiBwYXJzYWJsZSBpbnN0ZWFkIG9mIHByaW50YWJsZSBmb3JtYXRcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICBzdXBwcmVzcyBvdXRwdXQgbWVzc2FnZXNcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0sIFJBSURzIG9yIHBhcnRpdGlvbiB0YWJsZXNcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTMzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgb2Zmc2V0IGFyZ3VtZW50IgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGludsOgbGlkIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU1OAorbXNnaWQgIlRoZSAtLWJhY2t1cCBvcHRpb24gaXMgbWVhbmluZ2xlc3MgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZWFsLXRpbWUgc2NoZWR1bGluZyBhdHRyaWJ1dGVzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzcKK21zZ2lkICIiCisiU2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gPHByaW9yaXR5PiA8Y29tbWFuZD4gWzxhcmc+Li4uXVxuIgorIiBjaHJ0IFtvcHRpb25zXSAtLXBpZCA8cHJpb3JpdHk+IDxwaWQ+XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQxCittc2dpZCAiIgorIkdldCBwb2xpY3k6XG4iCisiIGNocnQgW29wdGlvbnNdIC1wIDxwaWQ+XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgIlBvbGljeSBvcHRpb25zOlxuIgorbXNnc3RyICJvcGNpb25zIHBlcmlsbG9zZXM6IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDYKK21zZ2lkICIgLWIsIC0tYmF0Y2ggICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NworIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGVhZGxpbmUgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9ERUFETElORVxuIgorbXNnc3RyICIgICAgICAgICAgICAgIHBhcsOgbWV0cmVzXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlmbyAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9GSUZPXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgcGFyw6BtZXRyZXNcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ5Cittc2dpZCAiIC1pLCAtLWlkbGUgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfSURMRVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MAorbXNnaWQgIiAtbywgLS1vdGhlciAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX09USEVSXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUxCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yciAgICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX1JSIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU0CisjLCBmdXp6eQorbXNnaWQgIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpY2lvbnM6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NQorbXNnaWQgIiAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgIHNldCBTQ0hFRF9SRVNFVF9PTl9GT1JLIGZvciBGSUZPIG9yIFJSXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU2Cittc2dpZCAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAgcnVudGltZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU3Cittc2dpZCAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTgKK21zZ2lkICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYxCisjLCBmdXp6eQorbXNnaWQgIk90aGVyIG9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aWNpb25zOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjIKK21zZ2lkICIgLWEsIC0tYWxsLXRhc2tzICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjMKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1heCAgICAgICAgICAgIHNob3cgbWluIGFuZCBtYXggdmFsaWQgcHJpb3JpdGllc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICBkaXNwbGF5IHN0YXR1cyBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjMyIHNjaGVkdXRpbHMvY2hydC5jOjI1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcGFydGljacOzIGEgJXNcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYXR0cmlidXRlcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcHJpb3JpdHk6ICVkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzAwIHNjaGVkdXRpbHMvY2hydC5jOjM5NgorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb2J0YWluIHRoZSBsaXN0IG9mIHRhc2tzIgorbXNnc3RyICIlczogbm8gcydoYSBwb2d1dCB0cm9iYXIgZWwgZGlzcG9zaXRpdSBwZXIgYSAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbWluL21heCBwcmlvcml0eVx0OiAlZC8lZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IHN1cHBvcnRlZD9cbiIKK21zZ3N0ciAiTkZTIHNvYnJlIFRDUCBubyBlc3TDoCBpbXBsZW1lbnRhdC5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBwYXJ0aWNpw7MgYSAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHJ1bnRpbWUgYXJndW1lbnQiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ5MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBlcmlvZCBhcmd1bWVudCIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDkzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZGVhZGxpbmUgYXJndW1lbnQiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUxNworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5IGFyZ3VtZW50IgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGludsOgbGlkIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MjEKK21zZ2lkICItLXJlc2V0LW9uLWZvcmsgb3B0aW9uIGlzIHN1cHBvcnRlZCBmb3IgU0NIRURfRklGTyBhbmQgU0NIRURfUlIgcG9saWNpZXMgb25seSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MjYKK21zZ2lkICItLXNjaGVkLXtydW50aW1lLGRlYWRsaW5lLHBlcmlvZH0gb3B0aW9ucyBhcmUgc3VwcG9ydGVkIGZvciBTQ0hFRF9ERUFETElORSBvbmx5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0MQorIywgZnV6enkKK21zZ2lkICJTQ0hFRF9ERUFETElORSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiTkZTIHNvYnJlIFRDUCBubyBlc3TDoCBpbXBsZW1lbnRhdC5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByaW9yaXR5IHZhbHVlIGZvciB0aGUgcG9saWN5OiAlZDogc2VlIC0tbWF4IGZvciB2YWxpZCByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc2CisjLCBmdXp6eQorbXNnaWQgImlvcHJpb19nZXQgZmFpbGVkIgorbXNnc3RyICJubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBvcGVucHR5XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwcmlvICVsdVxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6OTgKKyMsIGZ1enp5Cittc2dpZCAiaW9wcmlvX3NldCBmYWlsZWQiCittc2dzdHIgIm5vIGhhIGVzdGF0IHBvc3NpYmxlIGV4ZWN1dGFyIG9wZW5wdHlcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSAtcCA8cGlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtUCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTAKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgSS9PLXNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExMworbXNnaWQgIiIKKyIgLWMsIC0tY2xhc3MgPGNsYXNzPiAgICBuYW1lIG9yIG51bWJlciBvZiBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTUKK21zZ2lkICIiCisiIC1uLCAtLWNsYXNzZGF0YSA8bnVtPiAgcHJpb3JpdHkgKDAuLjcpIGluIHRoZSBzcGVjaWZpZWQgc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHkgZm9yIHRoZSByZWFsdGltZSBhbmQgYmVzdC1lZmZvcnQgY2xhc3Nlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE3Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPi4uLiAgICAgYWN0IG9uIHRoZXNlIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOAorbXNnaWQgIiAtUCwgLS1wZ2lkIDxwZ3JwPi4uLiAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIGluIHRoZXNlIGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE5CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIGlnbm9yZSBmYWlsdXJlc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMjAKK21zZ2lkICIgLXUsIC0tdWlkIDx1aWQ+Li4uICAgICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBvd25lZCBieSB0aGVzZSB1c2Vyc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY2xhc3MgZGF0YSBhcmd1bWVudCIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjbGFzcyBhcmd1bWVudCIKK21zZ3N0ciAiaWQgaW52w6BsaWQgOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzY2hlZHVsaW5nIGNsYXNzOiAnJXMnIgorbXNnc3RyICIlczogT3JkcmUgZGVzY29uZWd1ZGE6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc2IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg0IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkyCittc2dpZCAiY2FuIGhhbmRsZSBvbmx5IG9uZSBvZiBwaWQsIHBnaWQgb3IgdWlkIGF0IG9uY2UiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBQR0lEIGFyZ3VtZW50IgorbXNnc3RyICJpZCBpbnbDoGxpZCA6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgVUlEIGFyZ3VtZW50IgorbXNnc3RyICJpZCBpbnbDoGxpZCA6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjEyCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3Igbm9uZSBjbGFzcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyMAorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIGlkbGUgY2xhc3MiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpbyBjbGFzcyAlZCIKK21zZ3N0ciAiZXJyb3IgZGVzY29uZWd1dCBlbiBsJ2lkZW50aWZpY2Fkb3IiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiVXNhZ2U6ICVzIFtvcHRpb25zXSBbbWFzayB8IGNwdS1saXN0XSBbcGlkfGNtZCBbYXJncy4uLl1dXG4iCisiXG4iCittc2dzdHIgImZvcm1hIGQnw7pzOiAlcyBwcm9ncmFtYSBbYXJnIC4uLl1cbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTUKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgQ1BVIGFmZmluaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiT3B0aW9uczpcbiIKKyIgLWEsIC0tYWxsLXRhc2tzICAgICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKKyIgLXAsIC0tcGlkICAgICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKKyIgLWMsIC0tY3B1LWxpc3QgICAgICAgICAgZGlzcGxheSBhbmQgc3BlY2lmeSBjcHVzIGluIGxpc3QgZm9ybWF0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIHJ1biBhIG5ldyBjb21tYW5kOlxuIgorIiAgICAlMSRzIDAzIHNzaGQgLWIgMTAyNFxuIgorIllvdSBjYW4gcmV0cmlldmUgdGhlIG1hc2sgb2YgYW4gZXhpc3RpbmcgdGFzazpcbiIKKyIgICAgJTEkcyAtcCA3MDBcbiIKKyJPciBzZXQgaXQ6XG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisiTGlzdCBmb3JtYXQgdXNlcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IGluc3RlYWQgb2YgYSBtYXNrOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJSYW5nZXMgaW4gbGlzdCBmb3JtYXQgY2FuIHRha2UgYSBzdHJpZGUgYXJndW1lbnQ6XG4iCisiICAgIGUuZy4gMC0zMToyIGlzIGVxdWl2YWxlbnQgdG8gbWFzayAweDU1NTU1NTU1XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5OQorIywgZnV6enkKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogY29udmVyc2lvbiBmcm9tIGNwdXNldCB0byBzdHJpbmcgZmFpbGVkIgorbXNnc3RyICIiCisiXG4iCisiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiB0YW5jYXIgZWwgZml0eGVyXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwOSBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcGFydGljacOzIGEgJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE4NiBzeXMtdXRpbHMvY2hjcHUuYzoyODkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBOUl9DUFVTOyBhYm9ydGluZyIKK21zZ3N0ciAibm8gZXMgcG90IG9idGVuaXIgbGEgbWlkYSBkZSAlcyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTk1IHNjaGVkdXRpbHMvdGFza3NldC5jOjIwOCBzeXMtdXRpbHMvY2hjcHUuYzoyOTUKKyMsIGZ1enp5Cittc2dpZCAiY3B1c2V0X2FsbG9jIGZhaWxlZCIKK21zZ3N0ciAibCdhc3NpZ25hY2nDsyBkZSBtZW3DsnJpYSAobWFsbG9jKSBoYSBmYWxsYXQiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxNSBzeXMtdXRpbHMvY2hjcHUuYzoyMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdDogJXMiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzazogJXMiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBaZXJvLWZpbGxlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IERpc2NhcmRlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODcKK21zZ2lkICJEaXNjYXJkIHRoZSBjb250ZW50IG9mIHNlY3RvcnMgb24gYSBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iCittc2dzdHIgIiAgICAtQyMgW28gLS1jeWxpbmRlcnMgI106IEVzdGFibGVpeCBlbCBub21icmUgZGUgY2lsaW5kcmVzIHF1ZSBzJ3VzYXJhbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiICAgIC1DIyBbbyAtLWN5bGluZGVycyAjXTogRXN0YWJsZWl4IGVsIG5vbWJyZSBkZSBjaWxpbmRyZXMgcXVlIHMndXNhcmFuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkyCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1zdGVwIDxudW0+ICAgIHNpemUgb2YgdGhlIGRpc2NhcmQgaXRlcmF0aW9ucyB3aXRoaW4gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk0CisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS16ZXJvb3V0ICAgICAgIHplcm8tZmlsbCByYXRoZXIgdGhhbiBkaXNjYXJkXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IGFsaWduZWQgbGVuZ3RoIGFuZCBvZmZzZXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTUwIHN5cy11dGlscy9mc3RyaW0uYzozMTIgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NzMKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjEyNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0ZXAiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3MiBzeXMtdXRpbHMvenJhbWN0bC5jOjY4MiBzeXMtdXRpbHMvenJhbWN0bC5jOjcwOAorIywgZnV6enkKK21zZ2lkICJubyBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJtb3VudDogZWwgZGlzcG9zaXRpdSBsb29wIGVzdMOgIGVzcGVjaWZpY2F0IGR1ZXMgdmVnYWRlcyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzcgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM1MQorIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTIyIHN5cy11dGlscy9mc3RyaW0uYzozMzQKKyMsIGZ1enp5Cittc2dpZCAidW5leHBlY3RlZCBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJtw6B4LiBub21icmUgZGUgc2VnbWVudHMgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGlvY3RsIEJMS0dFVFNJWkUgYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NTWkdFVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIm5vIGhhIGVzdGF0IHBvc3NpYmxlIGV4ZWN1dGFyIG9wZW5wdHlcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgaXMgZ3JlYXRlciB0aGFuIGRldmljZSBzaXplIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9idGVuaXIgbGEgbWlkYSBkZWwgZGlzYyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxlbmd0aCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtaRVJPT1VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAibm8gaGEgZXN0YXQgcG9zc2libGUgZXhlY3V0YXIgb3BlbnB0eVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NFQ0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBvcGVucHR5XG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIm5vIGhhIGVzdGF0IHBvc3NpYmxlIGV4ZWN1dGFyIG9wZW5wdHlcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6ODcgc3lzLXV0aWxzL2NoY3B1LmM6MTc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiVzOiBcIiVzXCIgbm8gZXhpc3RlaXguXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGhvdCBwbHVnZ2FibGUiCittc2dzdHIgIiVzOiBcIiVzXCIgbm8gw6lzIGV4ZWN1dGFibGUuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIkVsIHNlY3RvciAlZCBqYSBlc3TDoCBhc3NpZ25hdFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIkVsIHNlY3RvciAlZCBqYSBlc3TDoCBhc3NpZ25hdFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIChDUFUgaXMgZGVjb25maWd1cmVkKSIKK21zZ3N0ciAiRWwgc2VjdG9yICVkIGphIGVzdMOgIGFzc2lnbmF0XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZmVyIGxhIGNvbmZpZ3VyYWNpw7MgYXV0b23DoHRpY2EuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZWRcbiIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBmZXIgbGEgY29uZmlndXJhY2nDsyBhdXRvbcOgdGljYS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQgKGxhc3QgZW5hYmxlZCBDUFUpIgorbXNnc3RyICJFbCBzZWN0b3IgJWQgamEgZXN0w6AgYXNzaWduYXRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQiCittc2dzdHIgIkVsIHNlY3RvciAlZCBqYSBlc3TDoCBhc3NpZ25hdFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlZFxuIgorbXNnc3RyICJFbCBzZWN0b3IgJWQgamEgZXN0w6AgYXNzaWduYXRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCByZXNjYW5uaW5nIG9mIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byB0cmlnZ2VyIHJlc2NhbiBvZiBDUFVzIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJUcmlnZ2VyZWQgcmVzY2FuIG9mIENQVXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHNldHRpbmcgdGhlIGRpc3BhdGNoaW5nIG1vZGUgb2YgQ1BVcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTUKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHNldCBob3Jpem9udGFsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcGFydGljacOzIGEgJXNcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IGhvcml6b250YWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1OQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHZlcnRpY2FsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcGFydGljacOzIGEgJXNcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IHZlcnRpY2FsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBwYXJ0aWNpw7MgYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgY29uZmlndXJhYmxlIgorbXNnc3RyICIlczogXCIlc1wiIG5vIMOpcyBleGVjdXRhYmxlLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiRWwgc2VjdG9yICVkIGphIGVzdMOgIGFzc2lnbmF0XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIkVsIHNlY3RvciAlZCBqYSBlc3TDoCBhc3NpZ25hdFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBmZXIgbGEgY29uZmlndXJhY2nDsyBhdXRvbcOgdGljYS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBmZXIgbGEgY29uZmlndXJhY2nDsyBhdXRvbcOgdGljYS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlZFxuIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGZlciBsYSBjb25maWd1cmFjacOzIGF1dG9tw6B0aWNhLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZmVyIGxhIGNvbmZpZ3VyYWNpw7MgYXV0b23DoHRpY2EuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGZlciBsYSBjb25maWd1cmFjacOzIGF1dG9tw6B0aWNhLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgQ1BVIG51bWJlciBpbiBDUFUgbGlzdDogJXMiCittc2dzdHIgIk5vbWJyZSBpbnbDoGxpZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjM4IHRleHQtdXRpbHMvY29sLmM6MTMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0MgorbXNnaWQgIkNvbmZpZ3VyZSBDUFVzIGluIGEgbXVsdGktcHJvY2Vzc29yIHN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorIiAgLWUsIC0tZW5hYmxlIDxjcHUtbGlzdD4gICAgICAgZW5hYmxlIGNwdXNcbiIKKyIgIC1kLCAtLWRpc2FibGUgPGNwdS1saXN0PiAgICAgIGRpc2FibGUgY3B1c1xuIgorIiAgLWMsIC0tY29uZmlndXJlIDxjcHUtbGlzdD4gICAgY29uZmlndXJlIGNwdXNcbiIKKyIgIC1nLCAtLWRlY29uZmlndXJlIDxjcHUtbGlzdD4gIGRlY29uZmlndXJlIGNwdXNcbiIKKyIgIC1wLCAtLWRpc3BhdGNoIDxtb2RlPiAgICAgICAgIHNldCBkaXNwYXRjaGluZyBtb2RlXG4iCisiICAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICB0cmlnZ2VyIHJlc2NhbiBvZiBjcHVzXG4iCisiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjMyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICIlczogYXJndW1lbnQgZGVzY29uZWd1dDogJXNcbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzoyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIGhhcmR8c29mdFxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogY3RybGFsdGRlbCBtYXF1aW4ufHByb2dyLlxuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldCB0aGUgZnVuY3Rpb24gb2YgdGhlIEN0cmwtQWx0LURlbCBjb21iaW5hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUxCittc2dpZCAiaW1wbGljaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB2YWx1ZSBpbiAlczogJWp1IgorbXNnc3RyICJtw6B4LiBub21icmUgZGUgc2VnbWVudHMgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo2MworIywgZnV6enkKK21zZ2lkICJZb3UgbXVzdCBiZSByb290IHRvIHNldCB0aGUgQ3RybC1BbHQtRGVsIGJlaGF2aW9yIgorbXNnc3RyICJIYXVyZXUgZGUgc2VyIGVsIHJvb3QgcGVyIGEgZXN0YWJsaXIgZWwgY29tcG9ydGFtZW50IGRlIEN0cmwtQWx0LVN1cHIuXG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NzEgc3lzLXV0aWxzL2lwY3JtLmM6MzkyIHN5cy11dGlscy9pcGNybS5jOjQxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhcmd1bWVudDogJXMiCittc2dzdHIgIiVzOiBhcmd1bWVudCBkZXNjb25lZ3V0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTAKKyMsIGZ1enp5Cittc2dpZCAic3lzdGVtIGlzIHVudXNhYmxlIgorbXNnc3RyICJBcXVlc3RhIHBhcnRpY2nDsyDDqXMgaW51dGlsaXR6YWJsZSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTExCittc2dpZCAiYWN0aW9uIG11c3QgYmUgdGFrZW4gaW1tZWRpYXRlbHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEyCittc2dpZCAiY3JpdGljYWwgY29uZGl0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTMKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3IgY29uZGl0aW9ucyIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiB0YW5jYXIgJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNAorIywgZnV6enkKK21zZ2lkICJ3YXJuaW5nIGNvbmRpdGlvbnMiCittc2dzdHIgIkF2w61zOiBsYSBwYXJ0aWNpw7MgJXMgIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTUKK21zZ2lkICJub3JtYWwgYnV0IHNpZ25pZmljYW50IGNvbmRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTYKK21zZ2lkICJpbmZvcm1hdGlvbmFsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNworbXNnaWQgImRlYnVnLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMQorIywgZnV6enkKK21zZ2lkICJrZXJuZWwgbWVzc2FnZXMiCittc2dzdHIgIm1pc3NhdGdlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMyCittc2dpZCAicmFuZG9tIHVzZXItbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMzCisjLCBmdXp6eQorbXNnaWQgIm1haWwgc3lzdGVtIgorbXNnc3RyICJJbnRyb2R1w691IGVsIHRpcHVzIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnM6ICIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM0Cittc2dpZCAic3lzdGVtIGRhZW1vbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1Cittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzYKK21zZ2lkICJtZXNzYWdlcyBnZW5lcmF0ZWQgaW50ZXJuYWxseSBieSBzeXNsb2dkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNworbXNnaWQgImxpbmUgcHJpbnRlciBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM4Cittc2dpZCAibmV0d29yayBuZXdzIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzkKK21zZ2lkICJVVUNQIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDAKKyMsIGZ1enp5Cittc2dpZCAiY2xvY2sgZGFlbW9uIgorbXNnc3RyICJubyBlcyBwb3Qgb2J0ZW5pciBsYSBtaWRhIGRlICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDEKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIChwcml2YXRlKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDIKKyMsIGZ1enp5Cittc2dpZCAiRlRQIGRhZW1vbiIKK21zZ3N0ciAibm8gZXMgcG90IG9idGVuaXIgbGEgbWlkYSBkZSAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjY3Cittc2dpZCAiRGlzcGxheSBvciBjb250cm9sIHRoZSBrZXJuZWwgcmluZyBidWZmZXIuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjcwCisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgY2xlYXIgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjcxCisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgcmVhZCBhbmQgY2xlYXIgYWxsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzIKKyMsIGZ1enp5Cittc2dpZCAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICBkaXNhYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MworIywgZnV6enkKK21zZ2lkICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIGVuYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzQKK21zZ2lkICIgLUYsIC0tZmlsZSA8ZmlsZT4gICAgICAgICAgIHVzZSB0aGUgZmlsZSBpbnN0ZWFkIG9mIHRoZSBrZXJuZWwgbG9nIGJ1ZmZlclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NQorbXNnaWQgIiAtZiwgLS1mYWNpbGl0eSA8bGlzdD4gICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgZmFjaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NgorIywgZnV6enkKK21zZ2lkICIgLUgsIC0taHVtYW4gICAgICAgICAgICAgICAgIGh1bWFuIHJlYWRhYmxlIG91dHB1dFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc3CisjLCBmdXp6eQorbXNnaWQgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgZGlzcGxheSBrZXJuZWwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3OAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODEKK21zZ2lkICIgLWwsIC0tbGV2ZWwgPGxpc3Q+ICAgICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGxldmVsc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MgorbXNnaWQgIiAtbiwgLS1jb25zb2xlLWxldmVsIDxsZXZlbD4gc2V0IGxldmVsIG9mIG1lc3NhZ2VzIHByaW50ZWQgdG8gY29uc29sZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MworIywgZnV6enkKK21zZ2lkICIgLVAsIC0tbm9wYWdlciAgICAgICAgICAgICAgIGRvIG5vdCBwaXBlIG91dHB1dCBpbnRvIGEgcGFnZXJcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByYXcgbWVzc2FnZSBidWZmZXJcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIGZvcmNlIHRvIHVzZSBzeXNsb2coMikgcmF0aGVyIHRoYW4gL2Rldi9rbXNnXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODYKK21zZ2lkICIgLXMsIC0tYnVmZmVyLXNpemUgPHNpemU+ICAgIGJ1ZmZlciBzaXplIHRvIHF1ZXJ5IHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODcKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICBkaXNwbGF5IHVzZXJzcGFjZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg4CisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS1mb2xsb3cgICAgICAgICAgICAgICAgd2FpdCBmb3IgbmV3IG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODkKK21zZ2lkICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIGRlY29kZSBmYWNpbGl0eSBhbmQgbGV2ZWwgdG8gcmVhZGFibGUgc3RyaW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkwCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgc2hvdyB0aW1lIGRlbHRhIGJldHdlZW4gcHJpbnRlZCBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkxCittc2dpZCAiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBzaG93IGxvY2FsIHRpbWUgYW5kIHRpbWUgZGVsdGEgaW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkyCisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbi1yZWFkYWJsZSB0aW1lc3RhbXAgKG1heSBiZSBpbmFjY3VyYXRlISlcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MworIywgZnV6enkKK21zZ2lkICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIGRvbid0IHNob3cgYW55IHRpbWVzdGFtcCB3aXRoIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTQKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcCB1c2luZyB0aGUgZ2l2ZW4gZm9ybWF0OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsdGF8cmVsdGltZXxjdGltZXxub3RpbWV8aXNvXVxuIgorIlN1c3BlbmRpbmcvcmVzdW1lIHdpbGwgbWFrZSBjdGltZSBhbmQgaXNvIHRpbWVzdGFtcHMgaW5hY2N1cmF0ZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDAKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBmYWNpbGl0aWVzOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwNgorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGxldmVscyAocHJpb3JpdGllcyk6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGV2ZWwgJyVzJyIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBsZXZlbCAnJXMnIgorbXNnc3RyICIlczogT3JkcmUgZGVzY29uZWd1ZGE6ICVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGZhY2lsaXR5ICclcyciCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo0MDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAiTm8gaGkgaGEgY2FwIGRpcmVjdG9yaSAlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtbWFwOiAlcyIKK21zZ3N0ciAiJXMgbm8gZXMgcG90IG9icmlyIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzU2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYnVmZmVyIHNpemUgYXJndW1lbnQiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MDkKK21zZ2lkICItLXNob3ctZGVsdGEgaXMgaWdub3JlZCB3aGVuIHVzZWQgdG9nZXRoZXIgd2l0aCBpc284NjAxIHRpbWUgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MzIKK21zZ2lkICItLXJhdyBjYW4gYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tbGV2ZWwgb3IgLS1mYWNpbGl0eSBvbmx5IHdoZW4gcmVhZGluZyBtZXNzYWdlcyBmcm9tIC9kZXYva21zZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDQyCisjLCBmdXp6eQorbXNnaWQgInJlYWQga2VybmVsIGJ1ZmZlciBmYWlsZWQiCittc2dzdHIgIm5vIGhhIGVzdGF0IHBvc3NpYmxlIGV4ZWN1dGFyIGdldHRpbWVvZmRheSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQ2MQorIywgZnV6enkKK21zZ2lkICJrbG9nY3RsIGZhaWxlZCIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBmZXIgZnN5bmMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT58PG1vdW50cG9pbnQ+XVxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNworIywgZnV6enkKK21zZ2lkICJFamVjdCByZW1vdmFibGUgbWVkaWEuXG4iCittc2dzdHIgIiBleHRyYcOvYmxlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNDAKK21zZ2lkICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICB0dXJuIGF1dG8tZWplY3QgZmVhdHVyZSBvbiBvciBvZmZcbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHNsb3Q+ICAgIHN3aXRjaCBkaXNjcyBvbiBhIENELVJPTSBjaGFuZ2VyXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBkaXNwbGF5IGRlZmF1bHQgZGV2aWNlXG4iCisiIC1mLCAtLWZsb3BweSAgICAgICAgICAgICAgICBlamVjdCBmbG9wcHlcbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIGRvbid0IGNhcmUgYWJvdXQgZGV2aWNlIHR5cGVcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIHRvZ2dsZSBtYW51YWwgZWplY3QgcHJvdGVjdGlvbiBvbi9vZmZcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIGRvIG5vdCB1bm1vdW50IGRldmljZSBldmVuIGlmIGl0IGlzIG1vdW50ZWRcbiIKKyIgLU0sIC0tbm8tcGFydGl0aW9ucy11bm1vdW50IGRvIG5vdCB1bm1vdW50IGFub3RoZXIgcGFydGl0aW9uc1xuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgZG9uJ3QgZWplY3QsIGp1c3Qgc2hvdyBkZXZpY2UgZm91bmRcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIHVzZSAvcHJvYy9tb3VudHMgaW5zdGVhZCBvZiAvZXRjL210YWJcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIGVqZWN0IHRhcGVcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIGVqZWN0IENELVJPTVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgZWplY3QgU0NTSSBkZXZpY2VcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIGNsb3NlIHRyYXlcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIHRvZ2dsZSB0cmF5XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICBlbmFibGUgdmVyYm9zZSBvdXRwdXRcbiIKKyIgLXgsIC0tY2RzcGVlZCA8c3BlZWQ+ICAgICAgIHNldCBDRC1ST00gbWF4IHNwZWVkXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICBsaXN0IENELVJPTSBhdmFpbGFibGUgc3BlZWRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTY0Cittc2dpZCAiIgorIlxuIgorIkJ5IGRlZmF1bHQgdHJpZXMgLXIsIC1zLCAtZiwgYW5kIC1xIGluIG9yZGVyIHVudGlsIHN1Y2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjEwCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNoYW5nZXJzbG90Ly1jIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNkc3BlZWQvLXggb3B0aW9uIgorbXNnc3RyICJpZCBpbnbDoGxpZCA6ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjMyNgorbXNnaWQgIkNELVJPTSBhdXRvLWVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MAorIywgZnV6enkKK21zZ2lkICJDRC1ST00gZG9vciBsb2NrIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIk5vbcOpcyBlcyBzdXBvcnRlbiBibG9jcyBvIHpvbmVzIGRlIDFrIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDIKK21zZ2lkICJvdGhlciB1c2VycyBoYXZlIHRoZSBkcml2ZSBvcGVuIGFuZCBub3QgQ0FQX1NZU19BRE1JTiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDQKK21zZ2lkICJDRC1ST00gbG9jayBkb29yIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0OQorbXNnaWQgIkNELURyaXZlIG1heSBOT1QgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzUxCittc2dpZCAiQ0QtRHJpdmUgbWF5IGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2MgorbXNnaWQgIkNELVJPTSBzZWxlY3QgZGlzYyBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjYKK21zZ2lkICJDRC1ST00gbG9hZCBmcm9tIHNsb3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY4Cittc2dpZCAiSURFL0FUQVBJIENELVJPTSBjaGFuZ2VyIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODYKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODgKKyMsIGZ1enp5Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIm1vdW50OiBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzICVzIG5vIGVzdMOgIHN1cG9ydGF0IHBlbCBudWNsaSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDA1Cittc2dpZCAiQ0QtUk9NIGVqZWN0IHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzMyBzeXMtdXRpbHMvZWplY3QuYzo0NTYgc3lzLXV0aWxzL2VqZWN0LmM6MTAxMQorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzYKK21zZ2lkICJubyBDRC1ST00gaW5mb3JtYXRpb24gYXZhaWxhYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzOQorbXNnaWQgIkNELVJPTSBkcml2ZSBpcyBub3QgcmVhZHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgyCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODQgc3lzLXV0aWxzL2VqZWN0LmM6NTcwCisjLCBmdXp6eQorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsIgorbXNnc3RyICJtb3VudDogZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVycyAlcyBubyBlc3TDoCBzdXBvcnRhdCBwZWwgbnVjbGkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kaW5nIENELVJPTSBuYW1lIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1NDQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgIm5vIGVzIHBvdCBmZXIgc3RhdCBwZXIgYSAlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTg4CisjLCBmdXp6eQorbXNnaWQgIm5vdCBhbiBzZyBkZXZpY2UsIG9yIG9sZCBzZyBkcml2ZXIiCittc2dzdHIgIiVzIG5vIMOpcyBjYXAgZGlzcG9zaXRpdSBkZSBibG9jIG8gdW4gZml0eGVyXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubW91bnRpbmciCittc2dzdHIgIm5vIHMnaGEgZXN0YXQgcG9zc2libGUgbXVudGFyIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBleGVjIC9iaW4vdW1vdW50IG9mIGAlcyciCittc2dzdHIgIm5vIGhhIGVzdGF0IHBvc3NpYmxlIGV4ZWN1dGFyIGlvY3RsKCkgcGVyIGxsZWdpciBsJ2hvcmEgZGUgJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY3OAorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZm9yayIKK21zZ3N0ciAibm8gZXMgcG90IG9icmlyICVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgIm1vdW50OiBlbCBwdW50IGRlIG11bnRhdGdlICVzIG5vIGV4aXN0ZWl4IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBmYWlsZWRcbiIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgcmVhbm9tZW5hciAlcyBhICVzOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3MzAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IHRhYmxlIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzkxIHN5cy11dGlscy9lamVjdC5jOjg5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50ZWQgb24gJXMiCittc2dzdHIgInVtb3VudDogJXM6IG5vIHMnaGEgdHJvYmF0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MzMKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byBhdXRvIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzNQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byAlbGRYIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg2MQorIywgYy1mb3JtYXQKK21zZ2lkICJkZWZhdWx0IGRldmljZTogYCVzJyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIGRlZmF1bHQgZGV2aWNlIGAlcyciCittc2dzdHIgIlMnZXN0w6AgdXRpbGl0emFudCBlbCB2YWxvciBwZXIgZGVmZWN0ZSAldVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODYgc3lzLXV0aWxzL3J0Y3dha2UuYzozNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gZmluZCBkZXZpY2UiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgcmVib2JpbmFyIGVsIGRpc3Bvc2l0aXUgZCdpbnRlcmNhbnZpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBuYW1lIGlzIGAlcyciCittc2dzdHIgImxvb3A6IG5vIHMnaGEgcG9ndXQgb2JyaXIgZWwgZGlzcG9zaXRpdSAlczogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODk0IHN5cy11dGlscy91bW91bnQuYzoyMDYgc3lzLXV0aWxzL3Vtb3VudC5jOjIzNQorIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQwOSBzeXMtdXRpbHMvdW1vdW50LmM6NDMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG1vdW50ZWQiCittc2dzdHIgInVtb3VudDogJXM6IG5vIHMnaGEgdHJvYmF0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2MgZGV2aWNlOiAlcyAoZGlzayBkZXZpY2Ugd2lsbCBiZSB1c2VkIGZvciBlamVjdCkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQgbW91bnRwb2ludCBvciBkZXZpY2Ugd2l0aCB0aGUgZ2l2ZW4gbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyB3aG9sZS1kaXNrIGRldmljZSIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBob3QtcGx1Z2dhYmxlIGRldmljZSIKK21zZ3N0ciAiJXM6IG5vIMOpcyB1biBkaXNwb3NpdGl1IGRlIGJsb2NcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgaXMgYCVzJyIKK21zZ3N0ciAibG9vcDogbm8gcydoYSBwb2d1dCBvYnJpciBlbCBkaXNwb3NpdGl1ICVzOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTgKK21zZ2lkICJleGl0aW5nIGR1ZSB0byAtbi8tLW5vb3Agb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZW5hYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NpbmcgdHJheSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsaXN0aW5nIENELVJPTSBzcGVlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogZGV2aWNlIGluIHVzZSIKK21zZ3N0ciAidW1vdW50OiAlczogZGlzcG9zaXRpdSBvY3VwYXQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VsZWN0aW5nIENELVJPTSBkaXNjICMlbGQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIENELVJPTSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTAKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIFNDU0kgY29tbWFuZHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxNworIywgZnV6enkKK21zZ2lkICJTQ1NJIGVqZWN0IHN1Y2NlZWRlZCIKK21zZ3N0ciAiJXMgcydoYSBjb21wbGV0YXQgYW1iIMOoeGl0LlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE4CisjLCBmdXp6eQorbXNnaWQgIlNDU0kgZWplY3QgZmFpbGVkIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGV4ZWNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIGZsb3BweSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjQKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNQorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgdGFwZSBvZmZsaW5lIGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMQorbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDMyCisjLCBmdXp6eQorbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBvYnJpciBlbCBkaXJlY3RvcmlcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzNgorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZWplY3QiCittc2dzdHIgIm5vIGhhIGVzdGF0IHBvc3NpYmxlIGV4ZWN1dGFyIGlvY3RsKCkgcGVyIGxsZWdpciBsJ2hvcmEgZGUgJXMiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZW5hbWU+XG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjgxCittc2dpZCAiUHJlYWxsb2NhdGUgc3BhY2UgdG8sIG9yIGRlYWxsb2NhdGUgc3BhY2UgZnJvbSBhIGZpbGUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg0Cittc2dpZCAiIC1jLCAtLWNvbGxhcHNlLXJhbmdlIHJlbW92ZSBhIHJhbmdlIGZyb20gdGhlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODUKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRpZy1ob2xlcyAgICAgIGRldGVjdCB6ZXJvZXMgYW5kIHJlcGxhY2Ugd2l0aCBob2xlc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgTm8gZXNjcmlndWVzIHJlYWxtZW50IGFsIGRpc2MiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICAgbGVuZ3RoIGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIgICAgLUMjIFtvIC0tY3lsaW5kZXJzICNdOiBFc3RhYmxlaXggZWwgbm9tYnJlIGRlIGNpbGluZHJlcyBxdWUgcyd1c2FyYW4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NworIywgZnV6enkKK21zZ2lkICIgLW4sIC0ta2VlcC1zaXplICAgICAgbWFpbnRhaW4gdGhlIGFwcGFyZW50IHNpemUgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWVpeCBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIGEgbGEgcGFudGFsbGEgbyBlbiB1biBmaXR4ZXIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4OAorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICBvZmZzZXQgZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg5Cittc2dpZCAiIC1wLCAtLXB1bmNoLWhvbGUgICAgIHJlcGxhY2UgYSByYW5nZSB3aXRoIGEgaG9sZSAoaW1wbGllcyAtbilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTAKK21zZ2lkICIgLXosIC0temVyby1yYW5nZSAgICAgemVybyBhbmQgZW5zdXJlIGFsbG9jYXRpb24gb2YgYSByYW5nZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMjYKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkOiBrZWVwIHNpemUgbW9kZSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTI3CisjLCBmdXp6eQorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQiCittc2dzdHIgIm5vIGhhIGVzdGF0IHBvc3NpYmxlIGV4ZWN1dGFyIG9wZW5wdHlcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgZmFpbGVkIgorbXNnc3RyICJubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBvcGVucHR5XG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglanUgYnl0ZXMpIGNvbnZlcnRlZCB0byBzcGFyc2UgaG9sZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM0NiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTgKKyMsIGZ1enp5Cittc2dpZCAibm8gZmlsZW5hbWUgc3BlY2lmaWVkIgorbXNnc3RyICJObyBzJ2hhIGVzcGVjaWZpY2F0IGwnb3BjacOzIC0tZGF0ZS5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM1OCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzY0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbGVuZ3RoIHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAiVmFsb3IgZXN0YWJsZXJ0IGludsOgbGlkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzYyCisjLCBmdXp6eQorbXNnaWQgIm5vIGxlbmd0aCBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgIk1hc3NhIGFyZ3VtZW50cy5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG9mZnNldCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgIlZhbG9yIGVzdGFibGVydCBpbnbDoGxpZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gPGNvbW1hbmQ+IFs8YXJndW1lbnQ+Li4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gLWMgPGNvbW1hbmQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlIGRlc2NyaXB0b3IgbnVtYmVyPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjU5CisjLCBmdXp6eQorbXNnaWQgIk1hbmFnZSBmaWxlIGxvY2tzIGZyb20gc2hlbGwgc2NyaXB0cy5cbiIKK21zZ3N0ciAibG9naW46IG5vIGhpIGhhIHByb3UgbWVtw7JyaWEgcGVyIGEgbGEgc2Vxw7zDqG5jaWEgZGUgbCdpbnTDqHJwcmV0IGQnb3JkcmVzLlxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hhcmVkICAgICAgICAgICAgIGdldCBhIHNoYXJlZCBsb2NrXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MworIywgZnV6enkKK21zZ2lkICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIGdldCBhbiBleGNsdXNpdmUgbG9jayAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY0CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAgcmVtb3ZlIGEgbG9ja1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjUKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICBmYWlsIHJhdGhlciB0aGFuIHdhaXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY2Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPHNlY3M+ICAgICB3YWl0IGZvciBhIGxpbWl0ZWQgYW1vdW50IG9mIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NworbXNnaWQgIiAtRSwgLS1jb25mbGljdC1leGl0LWNvZGUgPG51bWJlcj4gIGV4aXQgY29kZSBhZnRlciBjb25mbGljdCBvciB0aW1lb3V0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjgKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBjbG9zZSBmaWxlIGRlc2NyaXB0b3IgYmVmb3JlIHJ1bm5pbmcgY29tbWFuZFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjkKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gIHJ1biBhIHNpbmdsZSBjb21tYW5kIHN0cmluZyB0aHJvdWdoIHRoZSBzaGVsbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcwCisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAgZXhlY3V0ZSBjb21tYW5kIHdpdGhvdXQgZm9ya2luZ1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICBpbmNyZWFzZSB2ZXJib3NpdHlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjEwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gbG9jayBmaWxlICVzIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9icmlyIGVsIGZpdHhlciAnJXMnIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IHZhbHVlIgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGludsOgbGlkIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDkKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBleGl0IGNvZGUiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIyOAorbXNnaWQgInRoZSAtLW5vLWZvcmsgYW5kIC0tY2xvc2Ugb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgZXhhY3RseSBvbmUgY29tbWFuZCBhcmd1bWVudCIKK21zZ3N0ciAiJXMgcmVxdWVyZWl4IHVuIGFyZ3VtZW50XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NAorIywgZnV6enkKK21zZ2lkICJiYWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICJkaXNwb3NpdGl1IGRlIGJsb2NzICIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjU3CisjLCBmdXp6eQorbXNnaWQgInJlcXVpcmVzIGZpbGUgZGVzY3JpcHRvciwgZmlsZSBvciBkaXJlY3RvcnkiCittc2dzdHIgImVsIG5vZGUgZCdpZGVudGlmaWNhY2nDsyBhcnJlbCBubyDDqXMgdW4gZGlyZWN0b3JpIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBsb2NrIgorbXNnc3RyICJubyBlcyBwb3QgZmVyIHN0YXQgcGVyIGEgJXMiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4OAorbXNnaWQgInRpbWVvdXQgd2hpbGUgd2FpdGluZyB0byBnZXQgbG9jayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXR0aW5nIGxvY2sgdG9vayAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICIlcyAgJS42ZiBzZWdvbnNcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZXhlY3V0YXIgXHQlc1xuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnRwb2ludD5cbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1MworbXNnaWQgIlN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbSAoZXh0My80LCBSZWlzZXJGUywgSkZTLCBYRlMpLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjU2CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mcmVlemUgICAgICBmcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiICB0ICAgICAgICAgIENhbnZpYSBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1NworbXNnaWQgIiAtdSwgLS11bmZyZWV6ZSAgICB1bmZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExNgorbXNnaWQgIm5laXRoZXIgLS1mcmVlemUgb3IgLS11bmZyZWV6ZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJlbCBub2RlIGQnaWRlbnRpZmljYWNpw7MgYXJyZWwgbm8gw6lzIHVuIGRpcmVjdG9yaSIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAibm8gaGEgZXN0YXQgcG9zc2libGUgZXhlY3V0YXIgb3BlbnB0eVxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIm5vIGhhIGVzdGF0IHBvc3NpYmxlIGV4ZWN1dGFyIG9wZW5wdHlcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJlbCBub2RlIGQnaWRlbnRpZmljYWNpw7MgYXJyZWwgbm8gw6lzIHVuIGRpcmVjdG9yaSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogRklUUklNIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAibm8gaGEgZXN0YXQgcG9zc2libGUgZXhlY3V0YXIgb3BlbnB0eVxuIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGhlcmUgaXMgYSB2ZXJ5IGxhcmdlIG51bWJlci4KKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglPFBSSXU2ND4gYnl0ZXMpIHRyaW1tZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTkxIHN5cy11dGlscy9zd2Fwb24uYzo3Mjkgc3lzLXV0aWxzL3Vtb3VudC5jOjMyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnQgcG9pbnQ+XG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NAorbXNnaWQgIkRpc2NhcmQgdW51c2VkIGJsb2NrcyBvbiBhIG1vdW50ZWQgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU3CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgIHRyaW0gYWxsIG1vdW50ZWQgZmlsZXN5c3RlbXMgdGhhdCBhcmUgc3VwcG9ydGVkXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTgKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICB0aGUgb2Zmc2V0IGluIGJ5dGVzIHRvIHN0YXJ0IGRpc2NhcmRpbmcgZnJvbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgdGhlIG51bWJlciBvZiBieXRlcyB0byBkaXNjYXJkXG4iCittc2dzdHIgIiAgICAtQyMgW28gLS1jeWxpbmRlcnMgI106IEVzdGFibGVpeCBlbCBub21icmUgZGUgY2lsaW5kcmVzIHF1ZSBzJ3VzYXJhbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MAorbXNnaWQgIiAtbSwgLS1taW5pbXVtIDxudW0+IHRoZSBtaW5pbXVtIGV4dGVudCBsZW5ndGggdG8gZGlzY2FyZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgbnVtYmVyIG9mIGRpc2NhcmRlZCBieXRlc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMxNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWluaW11bSBleHRlbnQgbGVuZ3RoIgorbXNnc3RyICJubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBpb2N0bCgpIHBlciBsbGVnaXIgbCdob3JhIGRlICVzIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzI5CisjLCBmdXp6eQorbXNnaWQgIm5vIG1vdW50cG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICJObyBzJ2hhIGVzcGVjaWZpY2F0IGwnb3BjacOzIC0tZGF0ZS5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjM0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZSBkaXNjYXJkIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJBdsOtczogbCdvcGNpw7Mgbm9sb2NrIG5vIGVzdMOgIGltcGxlbWVudGFkYS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXNzdW1pbmcgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiAlcyB0aW1lLlxuIgorbXNnc3RyICJTJ2VzdMOgIGFzc3VtaW50IHF1ZSBlbCByZWxsb3RnZSBkZWwgbWFxdWluYXJpIG1hbnTDqSBsJ2hvcmEgJXMuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ3IHN5cy11dGlscy9od2Nsb2NrLmM6MzM0Cittc2dpZCAiVVRDIgorbXNnc3RyICJVVEMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ3IHN5cy11dGlscy9od2Nsb2NrLmM6MzMzCittc2dpZCAibG9jYWwiCittc2dzdHIgImxvY2FsIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMxOAorIywgZnV6enkKK21zZ2lkICIiCisiV2FybmluZzogdW5yZWNvZ25pemVkIHRoaXJkIGxpbmUgaW4gYWRqdGltZSBmaWxlXG4iCisiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKSIKK21zZ3N0ciAiJXM6IEF2w61zOiBubyBzJ2hhIHJlY29uZWd1dCBsYSB0ZXJjZXJhIGzDrW5pYSBkZWwgZml0eGVyIGFkanRpbWVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBkcmlmdCBhZGp1c3RtZW50IGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICJMJ8O6bHRpbSBhanVzdCBkZSBkZXNmYXNhbWVudCBlcyB2YSBmZXIgJWxkIHNlZ29ucyBkZXNwcsOpcyBkZSAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgY2FsaWJyYXRpb24gZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIkwnw7psdGltYSBjYWxpYnJhY2nDsyBlcyB2YSBmZXIgJWxkIHNlZ29ucyBkZXNwcsOpcyBkZSAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkhhcmR3YXJlIGNsb2NrIGlzIG9uICVzIHRpbWVcbiIKK21zZ3N0ciAiRWwgcmVsbG90Z2UgZGVsIG1hcXVpbmFyaSB0w6kgbCdob3JhICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzU4CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgZm9yIGNsb2NrIHRpY2suLi5cbiIKK21zZ3N0ciAiUydlc3TDoCBlc3BlcmFudCBlbCB0aWMgZGVsIHJlbGxvdGdlLi4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnN5bmNocm9uaXphdGlvbiBmYWlsZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5nb3QgY2xvY2sgdGlja1xuIgorbXNnc3RyICIuLi5zJ2hhIHJlYnV0IGVsIHRpYyBkZWwgcmVsbG90Z2VcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZXMgaW4gaGFyZHdhcmUgY2xvY2s6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKK21zZ3N0ciAiVmFsb3JzIGluY29ycmVjdGVzIGVuIGVsIHJlbGxvdGdlIGRlbCBtYXF1aW5hcmk6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHcgY2xvY2sgdGltZSA6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIkhvcmEgZGVsIG1hcXVpbmFyaSA6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vnb25zIGRlc3Byw6lzIGRlIDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZSByZWFkIGZyb20gSGFyZHdhcmUgQ2xvY2s6ICU0ZC8lLjJkLyUuMmQgJTAyZDolMDJkOiUwMmRcbiIKK21zZ3N0ciAiSG9yYSBsbGVnaWRhIGRlbCByZWxsb3RnZSBkZWwgbWFxdWluYXJpIDogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIEhhcmR3YXJlIENsb2NrIHRvICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICJTJ2VzdMOgIGVzdGFibGludCBsJ2hvcmEgZGVsIG1hcXVpbmFyaSBlbiAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWdvbnMgZGVzIGRlIDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2xvY2sgbm90IGNoYW5nZWQgLSB0ZXN0aW5nIG9ubHkuXG4iCittc2dzdHIgIkVsIHJlbGxvdGdlIG5vIHMnaGEgbW9kaWZpY2F0IC0gbm9tw6lzIHMnaGEgcHJvdmF0LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYwMworIywgYy1mb3JtYXQKK21zZ2lkICJzbGVlcGluZyB+JWQgdXNlY1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjE0CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUganVtcGVkIGJhY2t3YXJkICUuNmYgc2Vjb25kcyB0byAlbGQuJTA2bGQgLSByZXRhcmdldGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZC4lMDZsZCA8ICVsZC4lMDZsZCAoJS42ZilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciBwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVsZC4lMDZsZCBpcyBjbG9zZSBlbm91Z2ggdG8gJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyJTZXQgUlRDIHRvICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2bGQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODgKKyMsIGZ1enp5Cittc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIHJlZ2lzdGVycyBjb250YWluIHZhbHVlcyB0aGF0IGFyZSBlaXRoZXIgaW52YWxpZCAoZS5nLiA1MHRoIGRheSBvZiBtb250aCkgb3IgYmV5b25kIHRoZSByYW5nZSB3ZSBjYW4gaGFuZGxlIChlLmcuIFllYXIgMjA5NSkuIgorbXNnc3RyICJFbHMgcmVnaXN0cmVzIGRlbCByZWxsb3RnZSBkZWwgbWFxdWluYXJpIGNvbnRlbmVuIHZhbG9yZXMgaW52w6BsaWRzIChwLmV4LiBkaWEgNTAgZGVsIG1lcykgbyBleGNlZGVpeGVuIGVsIHJhbmcgcXVlIHBvZGVuIHVzYXIgKHAuZS4gbCdhbnkgMjA5NSkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzI4CisjLCBmdXp6eQorbXNnaWQgIk5vIC0tZGF0ZSBvcHRpb24gc3BlY2lmaWVkLiIKK21zZ3N0ciAiTm8gcydoYSBlc3BlY2lmaWNhdCBsJ29wY2nDsyAtLWRhdGUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzM0CisjLCBmdXp6eQorbXNnaWQgIi0tZGF0ZSBhcmd1bWVudCB0b28gbG9uZyIKK21zZ3N0ciAiYXJndW1lbnQgLS1kYXRlIG1hc3NhIGxsYXJnXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzQxCisjLCBmdXp6eQorbXNnaWQgIiIKKyJUaGUgdmFsdWUgb2YgdGhlIC0tZGF0ZSBvcHRpb24gaXMgbm90IGEgdmFsaWQgZGF0ZS5cbiIKKyJJbiBwYXJ0aWN1bGFyLCBpdCBjb250YWlucyBxdW90YXRpb24gbWFya3MuIgorbXNnc3RyICIiCisiRWwgdmFsb3IgZGUgbCdvcGNpw7MgLS1kYXRlIG5vIMOpcyB1bmEgZGF0YSB2w6BsaWRhLlxuIgorIkVuIGNvbmNyZXQsIGNvbnTDqSBjb21ldGVzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJJc3N1aW5nIGRhdGUgY29tbWFuZDogJXNcbiIKK21zZ3N0ciAiUydlc3TDoCBleGVjdXRhbnQgbCdvcmRyZSBkYXRlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc1MworbXNnaWQgIlVuYWJsZSB0byBydW4gJ2RhdGUnIHByb2dyYW0gaW4gL2Jpbi9zaCBzaGVsbC4gcG9wZW4oKSBmYWlsZWQiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgZWwgcHJvZ3JhbWEgwqtkYXRlwrsgZW4gbCdpbnRlcnByZXQgZCdvcmRyZXMgL2Jpbi9zaC4gcG9wZW4oKSBoYSBmYWxsYXQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzYxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlc3BvbnNlIGZyb20gZGF0ZSBjb21tYW5kID0gJXNcbiIKK21zZ3N0ciAicmVzcG9zdGEgZGUgbCdvcmRyZSBkYXRlID0gJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCB1bmV4cGVjdGVkIHJlc3VsdHMuXG4iCisiVGhlIGNvbW1hbmQgd2FzOlxuIgorIiAgJXNcbiIKKyJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorIiAgJXMiCittc2dzdHIgIiIKKyJMJ29yZHJlIGRhdGUgZXhlY3V0YWRhIHBlciAlcyBoYSByZXRvcm5hdCByZXN1bHRhdHMgaW5lc3BlcmF0cy5cbiIKKyJMJ29yZHJlIGVyYTpcbiIKKyIgICVzXG4iCisiTGEgcmVzcG9zdGEgaGEgZXN0YXQ6XG4iCisiICAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc3NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgc29tZXRoaW5nIG90aGVyIHRoYW4gYW4gaW50ZWdlciB3aGVyZSB0aGUgY29udmVydGVkIHRpbWUgdmFsdWUgd2FzIGV4cGVjdGVkLlxuIgorIlRoZSBjb21tYW5kIHdhczpcbiIKKyIgICVzXG4iCisiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyIgJXNcbiIKK21zZ3N0ciAiIgorIkwnb3JkcmUgZGF0ZSBleGVjdXRhZGEgcGVyICVzIG5vIGhhIHRvcm5hdCBjYXAgdmFsb3IgZW50ZXIgdG90IGkgcXVlIHMnZXNwZXJhdmEgZWwgdmFsb3IgZGUgbCdob3JhIGNvbnZlcnRpZGEuXG4iCisiTCdvcmRyZSBlcmE6XG4iCisiICAlc1xuIgorIkxhIHJlc3Bvc3RhIGhhIGVzdGF0OlxuIgorIiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc4NgorIywgYy1mb3JtYXQKK21zZ2lkICJkYXRlIHN0cmluZyAlcyBlcXVhdGVzIHRvICVsZCBzZWNvbmRzIHNpbmNlIDE5NjkuXG4iCittc2dzdHIgImxhIGNhZGVuYSBkZSBsYSBkYXRhICVzIGVxdWl2YWwgYSAlbGQgc2Vnb25zIGRlcyBkZSAxOTY5LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgyNAorIywgZnV6enkKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBzZXQgdGhlIFN5c3RlbSBUaW1lIGZyb20gaXQuIgorbXNnc3RyICJFbCByZWxsb3RnZSBkZSBtYXF1aW5hcmkgbm8gY29udMOpIHVuYSBob3JhIHbDoGxpZGEsIHBlbCBxdWUgbm8gZXMgcG90IGVzdGFibGlyIGwnaG9yYSBkZWwgc2lzdGVtYSBhIHBhcnRpciBkJ2FxdWVzdCB2YWxvci5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NDMgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXk6XG4iCittc2dzdHIgIkNyaWRhbnQgYSBzZXR0aW1lb2ZkYXk6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQ0IHN5cy11dGlscy9od2Nsb2NrLmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCittc2dzdHIgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQ2IHN5cy11dGlscy9od2Nsb2NrLmM6OTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorbXNnc3RyICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTAgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgc3lzdGVtIGNsb2NrIGJlY2F1c2UgcnVubmluZyBpbiB0ZXN0IG1vZGUuXG4iCittc2dzdHIgIk5vIHMnZXN0w6AgY29uZmlndXJhbnQgZWwgcmVsbG90Z2UgZGVsIHNpc3RlbWEgcGVycXXDqCBzJ2VzdMOgIGV4ZWN1dGFudCBlbiBtb2RlIGRlIHByb3ZhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg2NiBzeXMtdXRpbHMvaHdjbG9jay5jOjk2MgorIywgZnV6enkKK21zZ2lkICJNdXN0IGJlIHN1cGVydXNlciB0byBzZXQgc3lzdGVtIGNsb2NrLiIKK21zZ3N0ciAiSGV1IGRlIHNlciBlbCBzdXBlcnVzdWFyaSBwZXIgY29uZmlndXJhciByZWxsb3RnZSBkZWwgc2lzdGVtYS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4Njkgc3lzLXV0aWxzL2h3Y2xvY2suYzo5NjUKK21zZ2lkICJzZXR0aW1lb2ZkYXkoKSBmYWlsZWQiCittc2dzdHIgInNldHRpbWVvZmRheSgpIGhhIGZhbGxhdCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3VycmVudCBzeXN0ZW0gdGltZTogJWxkID0gJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzMQorIywgYy1mb3JtYXQKK21zZ2lkICJcdFVUQzogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgLS11cGRhdGUtZHJpZnQgb3B0aW9uIHdhcyBub3QgdXNlZC5cbiIKK21zZ3N0ciAiTm8gcydoYSBhanVzdGF0IGVsIGZhY3RvciBkZSBkZXNmYXNhbWVudCBwZXJxdcOoIGVsIHJlbGxvdGdlIGRlbCBtYXF1aW5hcmkgY29udGVuaWEgdmFsb3JzIGRlc3ByZWNpYWJsZXMuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAwMAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSBIYXJkd2FyZSBDbG9jayBwcmV2aW91c2x5IGNvbnRhaW5lZCBnYXJiYWdlLlxuIgorbXNnc3RyICJObyBzJ2hhIGFqdXN0YXQgZWwgZmFjdG9yIGRlIGRlc2Zhc2FtZW50IHBlcnF1w6ggZWwgcmVsbG90Z2UgZGVsIG1hcXVpbmFyaSBjb250ZW5pYSB2YWxvcnMgZGVzcHJlY2lhYmxlcy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGxhc3QgY2FsaWJyYXRpb24gdGltZSBpcyB6ZXJvLFxuIgorInNvIGhpc3RvcnkgaXMgYmFkIGFuZCBjYWxpYnJhdGlvbiBzdGFydG92ZXIgaXMgbmVjZXNzYXJ5LlxuIgorbXNnc3RyICIiCisiTm8gcydoYSBhanVzdGF0IGVsIGZhY3RvciBkZSBkZXNmYXNhbWVudCBwZXJxdcOoIGxhIGRhdGEgZGUgbCfDumx0aW1hXG4iCisiY2FsaWJyYWNpw7Mgw6lzIHplcm8sIGFpeMOtIHF1ZSBsJ2hpc3RvcmlhbCDDqXMgZG9sZW50LCBpIMOpcyBuZWNlc3PDoHJpYVxuIgorInVuYSBjYWxpYnJhY2nDsyBkZXMgZGVsIGNvbWVuw6dhbWVudC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGl0IGhhcyBiZWVuIGxlc3MgdGhhbiBmb3VyIGhvdXJzIHNpbmNlIHRoZSBsYXN0IGNhbGlicmF0aW9uLlxuIgorbXNnc3RyICJObyBzJ2FqdXN0YSBlbCBmYWN0b3IgZGUgZGVzZmFzYW1lbnQgcGVycXXDqCBmYSBtZW55cyBkJ3VuIGRpYSBkZSBsJ8O6bHRpbWEgY2FsaWJyYWNpw7MuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnQgZmFjdG9yIHdhcyBjYWxjdWxhdGVkIGFzICVmIHNlY29uZHMvZGF5LlxuIgorIkl0IGlzIGZhciB0b28gbXVjaC4gUmVzZXR0aW5nIHRvIHplcm8uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnRlZCAlZiBzZWNvbmRzIGluIHRoZSBwYXN0ICVmIHNlY29uZHNcbiIKKyJpbiBzcGl0ZSBvZiBhIGRyaWZ0IGZhY3RvciBvZiAlZiBzZWNvbmRzL2RheS5cbiIKKyJBZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJ5ICVmIHNlY29uZHMvZGF5XG4iCittc2dzdHIgIiIKKyJFbCByZWxsb3RqZSBzJ2hhIGRlc2Zhc2F0ICUuMWYgc2Vnb25zIGVuIGVscyDDumx0aW1zICVkIHNlZ29ucywgdG90IGkgZW1wcmFyIHVuIGZhY3RvciBkZSBkZXNmYXNhbWVudCBkZSAlZiBzZWdvbnMgZGlhcmlzLlxuIgorIlMnZXN0w6AgYWp1c3RhbnQgZWwgZmFjdG9yIGRlIGRlc2Zhc2FtZW50IGEgJWYgc2Vnb25zIGRpYXJpc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVkIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlZCBzZWNvbmRzXG4iCittc2dzdHJbMF0gIkhhbiB0cmFuc2NvcnJlZ3V0ICVkIHNlZ29ucyBkZXMgZGUgbCfDumx0aW0gYWp1c3RcbiIKK21zZ3N0clsxXSAiSGFuIHRyYW5zY29ycmVndXQgJWQgc2Vnb25zIGRlcyBkZSBsJ8O6bHRpbSBhanVzdFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbGN1bGF0ZWQgSGFyZHdhcmUgQ2xvY2sgZHJpZnQgaXMgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXMgICUuNmYgc2Vnb25zXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEzMworIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgdXBkYXRpbmcgYWRqdGltZSBmaWxlIGJlY2F1c2Ugb2YgdGVzdGluZyBtb2RlLlxuIgorbXNnc3RyICJObyBzJ2FjdHVhbGl0emFyw6AgZWwgZml0eGVyIGFkanRpbWUgcGVycXXDqCBzJ2V4ZWN1dGEgZW4gbW9kZSBkZSBwcm92YS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXb3VsZCBoYXZlIHdyaXR0ZW4gdGhlIGZvbGxvd2luZyB0byAlczpcbiIKKyIlcyIKK21zZ3N0ciAiIgorIlMnaGF1cmlhIGVzY3JpdCBlbCBzZWfDvGVudCBhICVzOlxuIgorIiVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgaW4gaXQgKCVzKSBmb3Igd3JpdGluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNDkgc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCB1cGRhdGUgZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgKCVzKSBpbiBpdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNjQKKyMsIGZ1enp5Cittc2dpZCAiRHJpZnQgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIG5vdCB1cGRhdGVkLiIKK21zZ3N0ciAiTm8gcydoYW4gYWN0dWFsaXR6YXQgZWxzIHBhcsOgbWV0cmVzIGQnYWp1c3RhbWVudCBkZWwgZGVzZmFzYW1lbnQuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIwMAorIywgZnV6enkKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBhZGp1c3QgaXQuIgorbXNnc3RyICJFbCByZWxsb3RqZSBkZSBtYXF1aW5hcmkgbm8gY29udMOpIHVuYSBob3JhIHbDoGxpZGEsIGkgbm8gZXMgcG90IGFqdXN0YXIuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBsYXN0IGFkanVzdG1lbnQgdGltZSBpcyB6ZXJvLCBzbyBoaXN0b3J5IGlzIGJhZC5cbiIKK21zZ3N0ciAiIgorIk5vIHMnaGEgYWp1c3RhdCBlbCBmYWN0b3IgZGUgZGVzZmFzYW1lbnQgcGVycXXDqCBsYSBkYXRhIGRlIGwnw7psdGltYVxuIgorImNhbGlicmFjacOzIMOpcyB6ZXJvLCBhaXjDrSBxdWUgbCdoaXN0b3JpYWwgw6lzIGRvbGVudCwgaSDDqXMgbmVjZXNzw6ByaWFcbiIKKyJ1bmEgY2FsaWJyYWNpw7MgZGVzIGRlbCBjb21lbsOnYW1lbnQuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBkcmlmdCBmYWN0b3IgJWYgaXMgZmFyIHRvbyBoaWdoLlxuIgorbXNnc3RyICIiCisiTm8gcydoYSBhanVzdGF0IGVsIGZhY3RvciBkZSBkZXNmYXNhbWVudCBwZXJxdcOoIGxhIGRhdGEgZGUgbCfDumx0aW1hXG4iCisiY2FsaWJyYWNpw7Mgw6lzIHplcm8sIGFpeMOtIHF1ZSBsJ2hpc3RvcmlhbCDDqXMgZG9sZW50LCBpIMOpcyBuZWNlc3PDoHJpYVxuIgorInVuYSBjYWxpYnJhY2nDsyBkZXMgZGVsIGNvbWVuw6dhbWVudC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHVzYWJsZSBjbG9jayBpbnRlcmZhY2UgZm91bmQuXG4iCittc2dzdHIgIk5vIHMnaGEgdHJvYmF0IGNhcCBpbnRlcmbDrWNpZSBkZSByZWxsb3RnZSB1c2FibGUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJOZWVkZWQgYWRqdXN0bWVudCBpcyBsZXNzIHRoYW4gb25lIHNlY29uZCwgc28gbm90IHNldHRpbmcgY2xvY2suXG4iCittc2dzdHIgIkwnYWp1c3RhbWVudCBuZWNlc3Nhcmkgw6lzIGluZmVyaW9yIGEgdW4gc2Vnb24sIG5vIHMnYWp1c3RhcsOgIGVsIHJlbGxvdGdlLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzODggc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBzZXQgc3lzdGVtIGNsb2NrLlxuIgorbXNnc3RyICJObyBlcyBwb3QgZXN0YWJsaXIgZWwgcmVsbG90Z2UgZGVsIHNpc3RlbWEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQwMgorIywgYy1mb3JtYXQKK21zZ2lkICJBdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LCBSVEMgaXMgcHJlZGljdGVkIHRvIHJlYWQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0MzEKKyMsIGZ1enp5Cittc2dpZCAiIgorIlRoZSBrZXJuZWwga2VlcHMgYW4gZXBvY2ggdmFsdWUgZm9yIHRoZSBIYXJkd2FyZSBDbG9jayBvbmx5IG9uIGFuIEFscGhhIG1hY2hpbmUuXG4iCisiVGhpcyBjb3B5IG9mIGh3Y2xvY2sgd2FzIGJ1aWx0IGZvciBhIG1hY2hpbmUgb3RoZXIgdGhhbiBBbHBoYVxuIgorIihhbmQgdGh1cyBpcyBwcmVzdW1hYmx5IG5vdCBydW5uaW5nIG9uIGFuIEFscGhhIG5vdykuICBObyBhY3Rpb24gdGFrZW4uIgorbXNnc3RyICIiCisiRWwgbnVjbGkgbm9tw6lzIHTDqSB1biB2YWxvciBkJ8OocG9jYSBwZXIgYWwgcmVsbG90Z2UgZGVsIG1hcXVpbmFyaSBlbiBsZXMgbcOgcXVpbmVzIEFscGhhLlxuIgorIkFxdWVzdGEgY8OycGlhIGRlIGh3Y2xvY2sgZXMgdmEgY29tcGlsYXIgcGVyIGEgdW5hIG3DoHF1aW5hIG5vIEFscGhhIChwZWwgcXVlXG4iCisicG9zc2libGVtZW50IGFyYSBubyBzJ2V4ZWN1dGkgZW4gY2FwIG3DoHF1aW5hIEFscGhhKS4gTm8gcydoYSBleGVjdXRhdCBjYXAgYWNjacOzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NDgKKyMsIGZ1enp5Cittc2dpZCAiVW5hYmxlIHRvIGdldCB0aGUgZXBvY2ggdmFsdWUgZnJvbSB0aGUga2VybmVsLiIKK21zZ3N0ciAiTm8gZXMgcG90IG9idGVuaXIgZWwgdmFsb3IgZCfDqHBvY2EgZGVsIG51Y2xpLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiS2VybmVsIGlzIGFzc3VtaW5nIGFuIGVwb2NoIHZhbHVlIG9mICVsdVxuIgorbXNnc3RyICJFbCBudWNsaSBhc3N1bWVpeCB1biB2YWxvciBkJ8OocG9jYSBkZSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDU1CisjLCBmdXp6eQorbXNnaWQgIlRvIHNldCB0aGUgZXBvY2ggdmFsdWUsIHlvdSBtdXN0IHVzZSB0aGUgJ2Vwb2NoJyBvcHRpb24gdG8gdGVsbCB0byB3aGF0IHZhbHVlIHRvIHNldCBpdC4iCittc2dzdHIgIlBlciBlc3RhYmxpciBlbCB2YWxvciBkJ8OocG9jYSwgaGF1cmV1IGQndXNhciBsJ29wY2nDsyAnZXBvY2gnIHBlciBhIGluZGljYXIgYSBxdWluIHZhbG9yIHMnaGEgZCdlc3RhYmxpci5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyB0aGUgZXBvY2ggdG8gJWx1IC0gdGVzdGluZyBvbmx5LlxuIgorbXNnc3RyICJObyBzJ2VzdGFibGlyw6AgZWwgdmFsb3IgZGUgbCfDqHBvY2EgYSAgJWQgLSBub23DqXMgcydlc3TDoCBwcm92YW50LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIHNldCB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbC5cbiIKK21zZ3N0ciAiTm8gZXMgcG90IGVzdGFibGlyIGVsIHZhbG9yIGQnw6hwb2NhIGVuIGVsIG51Y2xpLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NTYKK21zZ2lkICIgaHdjbG9jayBbZnVuY3Rpb25dIFtvcHRpb24uLi5dXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTU5Cittc2dpZCAiUXVlcnkgb3Igc2V0IHRoZSBoYXJkd2FyZSBjbG9jay5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjEKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkZ1bmN0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpY2lvbnM6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2MgorbXNnaWQgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorIiAtciwgLS1zaG93ICAgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCByZXN1bHRcbiIKKyIgICAgIC0tZ2V0ICAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgZHJpZnQgY29ycmVjdGVkIHJlc3VsdFxuIgorIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2NgorbXNnaWQgIiIKKyIgLXMsIC0taGN0b3N5cyAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorIiAtdywgLS1zeXN0b2hjICAgICAgICBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIGZyb20gdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWVcbiIKKyIgICAgIC0tc3lzdHogICAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBiYXNlZCBvbiB0aGUgY3VycmVudCB0aW1lem9uZVxuIgorIiAgICAgLS1hZGp1c3QgICAgICAgICBhZGp1c3QgdGhlIFJUQyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IHNpbmNlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNsb2NrIHdhcyBsYXN0IHNldCBvciBhZGp1c3RlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU3MQorbXNnaWQgIiAtYywgLS1jb21wYXJlICAgICAgICBwZXJpb2RpY2FsbHkgY29tcGFyZSB0aGUgc3lzdGVtIGNsb2NrIHdpdGggdGhlIENNT1MgY2xvY2tcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NzMKK21zZ2lkICIiCisiICAgICAtLWdldGVwb2NoICAgICAgIHByaW50IG91dCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWVcbiIKKyIgICAgIC0tc2V0ZXBvY2ggICAgICAgc2V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZSB0byB0aGUgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgZ2l2ZW4gd2l0aCAtLWVwb2NoXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTc3Cittc2dpZCAiIgorIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IFJUQyByZWFkaW5nIGF0IHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTgxCittc2dpZCAiIgorIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyIgICAgIC0tbG9jYWx0aW1lICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4NAorbXNnaWQgIiAtZiwgLS1ydGMgPGZpbGU+ICAgICBzcGVjaWFsIC9kZXYvLi4uIGZpbGUgdG8gdXNlIGluc3RlYWQgb2YgZGVmYXVsdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLWRpcmVjdGlzYSAgICAgIGFjY2VzcyB0aGUgSVNBIGJ1cyBkaXJlY3RseSBpbnN0ZWFkIG9mICVzXG4iCisiICAgICAtLWJhZHllYXIgICAgICAgIGlnbm9yZSBSVEMncyB5ZWFyIGJlY2F1c2UgdGhlIEJJT1MgaXMgYnJva2VuXG4iCisiICAgICAtLWRhdGUgPHRpbWU+ICAgIHNwZWNpZmllcyB0aGUgdGltZSB0byB3aGljaCB0byBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisiICAgICAtLWVwb2NoIDx5ZWFyPiAgIHNwZWNpZmllcyB0aGUgeWVhciB3aGljaCBpcyB0aGUgYmVnaW5uaW5nIG9mIHRoZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIGNsb2NrJ3MgZXBvY2ggdmFsdWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS11cGRhdGUtZHJpZnQgICB1cGRhdGUgZHJpZnQgZmFjdG9yIGluICUxJHMgKHJlcXVpcmVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgLS1zZXQgb3IgLS1zeXN0b2hjKVxuIgorIiAgICAgLS1ub2FkamZpbGUgICAgICBkbyBub3QgYWNjZXNzICUxJHM7IHRoaXMgcmVxdWlyZXMgdGhlIHVzZSBvZlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZVxuIgorIiAgICAgLS1hZGpmaWxlIDxmaWxlPiBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICUxJHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1OTkKK21zZ2lkICIiCisiICAgICAtLXRlc3QgICAgICAgICAgIGRvIG5vdCB1cGRhdGUgYW55dGhpbmcsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGhhcHBlblxuIgorIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBkZWJ1Z2dpbmcgbW9kZVxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTYwMgorIywgZnV6enkKK21zZ2lkICIiCisiIC1KfC0tamVuc2VuLCAtQXwtLWFyYywgLVN8LS1zcm0sIC1GfC0tZnVua3ktdG95XG4iCisiICAgICAgdGVsbCBod2Nsb2NrIHRoZSB0eXBlIG9mIEFscGhhIHlvdSBoYXZlIChzZWUgaHdjbG9jayg4KSlcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAgLS1qZW5zZW4sIC0tYXJjLCAtLXNybSwgLS1mdW5reS10b3lcbiIKKyIgICAgICAgICAgICAgICAgSW5kaWNhIGFsIFJUQyBlbCB0aXB1cyBkJ0FscGhhIHF1ZSB0ZW5pdSAodmVnZXUgaHdjbG9jayg4KSlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNzI4CisjLCBmdXp6eQorbXNnaWQgIlVuYWJsZSB0byBjb25uZWN0IHRvIGF1ZGl0IHN5c3RlbSIKK21zZ3N0ciAiTm8gZXMgcG90IGVzdGFibGlyIGVsIHJlbGxvdGdlIGRlbCBzaXN0ZW1hLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4MjYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBlcG9jaCBhcmd1bWVudCIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHRha2VzIG5vIG5vbi1vcHRpb24gYXJndW1lbnRzLiAgWW91IHN1cHBsaWVkICVkLlxuIgorbXNnc3RyICIlcyBubyBhZG1ldCBhcmd1bWVudHMgcXVlIG5vIHNpZ3VpbiBvcGNpb25zLiBIZXUgZXNwZWNpZmljYXQgJWQuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTg4MAorIywgZnV6enkKK21zZ2lkICJXaXRoIC0tbm9hZGpmaWxlLCB5b3UgbXVzdCBzcGVjaWZ5IGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZSIKK21zZ3N0ciAiJXM6IEFtYiAtLW5vYWRqZmlsZSwgaGF1cmV1IGQnZXNwZWNpZmljYXIgLS11dGMgbyAtLWxvY2FsdGltZVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4OTMKKyMsIGZ1enp5Cittc2dpZCAiTm8gdXNhYmxlIHNldC10byB0aW1lLiAgQ2Fubm90IHNldCBjbG9jay4iCittc2dzdHIgIkwnaG9yYSBpbmRpY2FkYSBwZXIgZXN0YWJsaXIgbm8gw6lzIHVzYWJsZS4gTm8gcydoYSB0b2NhdCBlbCByZWxsb3RnZS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxOTE3CisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBhY2Nlc3MgdGhlIEhhcmR3YXJlIENsb2NrIHZpYSBhbnkga25vd24gbWV0aG9kLiIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBhY2NlZGlyIGFsIHJlbGxvdGdlIGRlbCBtYXF1aW5hcmkgbWl0amFuw6dhbnQgY2FwIGRlbHMgbcOodG9kZXMgY29uZWd1dHMuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTkyMAorIywgZnV6enkKK21zZ2lkICJVc2UgdGhlIC0tZGVidWcgb3B0aW9uIHRvIHNlZSB0aGUgZGV0YWlscyBvZiBvdXIgc2VhcmNoIGZvciBhbiBhY2Nlc3MgbWV0aG9kLiIKK21zZ3N0ciAiVXNldSBsJ29wY2nDsyAtLWRlYnVnIHBlciB2ZXVyZSBlbHMgZGV0YWxscyBkZSBsYSByZWNlcmNhIGQndW4gbcOodG9kZSBkJ2FjY8Opcy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjIyMworIywgYy1mb3JtYXQKK21zZ2lkICJib290ZWQgZnJvbSBNSUxPXG4iCittc2dzdHIgInMnaGEgYXJyZW5jYXQgZGVzIGRlIE1JTE9cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJSdWZmaWFuIEJDRCBjbG9ja1xuIgorbXNnc3RyICJSZWxsb3RnZSBCQ0QgUnVmZmlhblxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb2NrcG9ydCBhZGp1c3RlZCB0byAweCV4XG4iCittc2dzdHIgInMnaGEgYWp1c3RhdCBlbCBwb3J0IGRlbCByZWxsb3RnZSBhIDB4JXhcbiIKKworIyBGSVhNRTogd2hhdCB0aGUgaGVjayBpcyB0aGlzIHN1cHBvc2VkIHRvIHRlbGw/CisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjcwCisjLCBjLWZvcm1hdAorbXNnaWQgImZ1bmt5IFRPWSFcbiIKK21zZ3N0ciAiZnVua3kgVE9ZIVxuIgorCisjIEZJWE1FOiBhdG9taWMgd2hhdD8KKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImF0b21pYyAlcyBmYWlsZWQgZm9yIDEwMDAgaXRlcmF0aW9ucyEiCittc2dzdHIgIiVzOiBjb21wcm92YWNpw7MgZGUgJXMgYXTDsm1pYyBoYSBmYWxsYXQgcGVyIDEwMDAgaXRlcmFjaW9ucyEiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc19yZWFkKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjMyOAorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3JlYWQoKTogcmVhZCBmcm9tIGRhdGEgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3dyaXRlKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3dyaXRlKCk6IHdyaXRlIHRvIGRhdGEgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY0NQorIywgZnV6enkKK21zZ2lkICJJIGZhaWxlZCB0byBnZXQgcGVybWlzc2lvbiBiZWNhdXNlIEkgZGlkbid0IHRyeS4iCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2J0ZW5pciBlbCBwZXJtw61zIHBlcnF1w6ggbm8gcydoYSBpbnRlbnRhdC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY0OAorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZ2V0IEkvTyBwb3J0IGFjY2VzczogIHRoZSBpb3BsKDMpIGNhbGwgZmFpbGVkLiIKK21zZ3N0ciAiJXMgbm8gcG90IGFjb25zZWd1aXIgbCdhY2PDqXMgYWwgcG9ydCBkJ0UvUzogbGEgY3JpZGEgaW9wbCgzKSBoYSBmYWxsYXQuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NTEKK21zZ2lkICJQcm9iYWJseSB5b3UgbmVlZCByb290IHByaXZpbGVnZXMuXG4iCittc2dzdHIgIlByb2JhYmxlbWVudCBuZWNlc3NpdGV1IHByaXZpbGVnaXMgZGUgcm9vdC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY1OAorbXNnaWQgIlVzaW5nIGRpcmVjdCBJL08gaW5zdHJ1Y3Rpb25zIHRvIElTQSBjbG9jay4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gcmVhZCB0aGUgdGltZSBmYWlsZWQiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgaW9jdGwoKSBhICVzIHBlciBsbGVnaXIgbCdob3JhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gJXMgdG8gY2hhbmdlXG4iCittc2dzdHIgIlMnZXN0w6AgZXNwZXJhbnQgZW4gYnVjbGUgcGVyIGEgY2FudmlhciBsJ2hvcmEgZGUgJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjM2CisjLCBmdXp6eQorbXNnaWQgIlRpbWVkIG91dCB3YWl0aW5nIGZvciB0aW1lIGNoYW5nZS4iCittc2dzdHIgIlMnaGEgZXhjZWRpdCBlbCB0ZW1wcyBkJ2VzcGVyYSBwZXIgYSBxdcOoIGNhbnZpw6lzIGwnaG9yYS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRvZXMgbm90IGhhdmUgaW50ZXJydXB0IGZ1bmN0aW9ucy4gIgorbXNnc3RyICIlcyBubyB0w6kgZnVuY2lvbnMgZCdpbnRlcnJ1cGNpw7MuICAiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMwMgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBleGVjdXRhciBzZWxlY3QoKSBhICVzIHBlciBlc3BlcmFyIGVsIHRpYyBkZWwgcmVsbG90Z2UuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgdGltZWQgb3V0IgorbXNnc3RyICIiCisiUydoYSBleGNlZGl0IGVsIHRlbXBzIGQnZXNwZXJhIGVuIGV4ZWN1dGFyIHNlbGVjdCgpIGEgJXMgZW4gZXNwZXJhclxuIgorImVsIHRpYyBkZWwgcmVsbG90Z2UuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb2ZmIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCIKK21zZ3N0ciAiIgorIk5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgaW9jdGwoKSBhICVzIHBlciBkZXNhY3RpdmFyIGxlcyBpbnRlcnJ1cGNpb25zXG4iCisiZCdhY3R1YWxpdHphY2nDsyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvbiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQgdW5leHBlY3RlZGx5IgorbXNnc3RyICIiCisiTm8gcydoYSBwb2d1dCBleGVjdXRhciBpb2N0bCgpIGEgJXMgcGVyIGFjdGl2YXIgbGVzIGludGVycnVwY2lvbnNcbiIKKyJkJ2FjdHVhbGl0emFjacOzLCBoYSBmYWxsYXQgaW5lc3BlcmFkYW1lbnQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHNldCB0aGUgdGltZSBmYWlsZWQuIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGlvY3RsKCkgYSAlcyBwZXIgZXN0YWJsaXIgbCdob3JhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHdhcyBzdWNjZXNzZnVsLlxuIgorbXNnc3RyICJTJ2hhIGV4ZWN1dGF0IGlvY3RsKCVzKSBzYXRpc2ZhY3TDsnJpYW1lbnQuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM4NworbXNnaWQgIlVzaW5nIHRoZSAvZGV2IGludGVyZmFjZSB0byB0aGUgY2xvY2suIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQxNyBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRvIG1hbmlwdWxhdGUgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwsIHdlIG11c3QgYWNjZXNzIHRoZSBMaW51eCAncnRjJyBkZXZpY2UgZHJpdmVyIHZpYSB0aGUgZGV2aWNlIHNwZWNpYWwgZmlsZSAlcy4gIFRoaXMgZmlsZSBkb2VzIG5vdCBleGlzdCBvbiB0aGlzIHN5c3RlbS4iCittc2dzdHIgIlBlciBhIG1vZGlmaWNhciBlbCB2YWxvciBkZSBsJ8OocG9jYSBkZWwgbnVjbGksIGhldSBkJ2FjY2VkaXIgYWwgY29udHJvbGFkb3IgZGVsIGRpc3Bvc2l0aXUgwqtydGPCuyBkZSBMaW51eCBtaXRqYW7Dp2FudCBlbCBmaXR4ZXIgZXNwZWNpYWwgZGUgZGlzcG9zaXRpdSAlcy4gQXF1ZXN0IGZpdHhlciBubyBleGlzdGVpeCBlbiBhcXVlc3Qgc2lzdGVtYS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDI5CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSB0byAlcyBmYWlsZWQiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgaW9jdGwoUlRDX0VQT0NIX1JFQUQpIGEgJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2UgaGF2ZSByZWFkIGVwb2NoICVsdSBmcm9tICVzIHdpdGggUlRDX0VQT0NIX1JFQUQgaW9jdGwuXG4iCittc2dzdHIgInMnaGEgbGxlZ2l0IGVsIHZhbG9yIGRlIGwnw6hwb2NhICVsZCBkZSAlcyBhbWIgaW9jdGwgUlRDX0VQT0NIX1JFQUQuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGVwb2NoIHZhbHVlIG1heSBub3QgYmUgbGVzcyB0aGFuIDE5MDAuICBZb3UgcmVxdWVzdGVkICVsZCIKK21zZ3N0ciAiRWwgdmFsb3IgZCfDqHBvY2Egbm8gcG90IHNlciBpbmZlcmlvciBhIDE5MDAuIEhldSBpbmRpY2F0ICVsZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgZXBvY2ggdG8gJWx1IHdpdGggUlRDX0VQT0NIX1NFVCBpb2N0bCB0byAlcy5cbiIKK21zZ3N0ciAicydlc3TDoCBlc3RhYmxpbnQgbCfDqHBvY2EgYSAlbGQgYW1iIGlvY3RsIFJUQ19FUE9DSF9TRVQgYSAlcy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUga2VybmVsIGRldmljZSBkcml2ZXIgZm9yICVzIGRvZXMgbm90IGhhdmUgdGhlIFJUQ19FUE9DSF9TRVQgaW9jdGwuIgorbXNnc3RyICJFbCBjb250cm9sYWRvciBkZSBkaXNwb3NpdGl1IGRlbCBudWNsaSBwZXIgYSAlcyBubyB0w6kgZWwgaW9jdGwgUlRDX0VQT0NIX1NFVC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKFJUQ19FUE9DSF9TRVQpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBleGVjdXRhciBpb2N0bChSVENfRVBPQ0hfU0VUKSBhICVzIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo2OQorbXNnaWQgIkNyZWF0ZSB2YXJpb3VzIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzIKK21zZ2lkICIgLU0sIC0tc2htZW0gPHNpemU+ICAgICAgIGNyZWF0ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgb2Ygc2l6ZSA8c2l6ZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MworbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUgPG51bWJlcj4gY3JlYXRlIHNlbWFwaG9yZSBhcnJheSB3aXRoIDxudW1iZXI+IGVsZW1lbnRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzQKKyMsIGZ1enp5Cittc2dpZCAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICBjcmVhdGUgbWVzc2FnZSBxdWV1ZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzUKK21zZ2lkICIgLXAsIC0tbW9kZSA8bW9kZT4gICAgICAgIHBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZSAoZGVmYXVsdCBpcyAwNjQ0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExMCBzeXMtdXRpbHMvbG9zZXR1cC5jOjY5NyBzeXMtdXRpbHMvenJhbWN0bC5jOjYyMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWxlbWVudHMiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDEKK21zZ2lkICJjcmVhdGUgc2hhcmUgbWVtb3J5IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNoYXJlZCBtZW1vcnkgaWQ6ICVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTZWdtZW50IGRlIGxhIG1lbcOycmlhIGNvbXBhcnRpZGEgc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQ5Cittc2dpZCAiY3JlYXRlIG1lc3NhZ2UgcXVldWUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBxdWV1ZSBpZDogJWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIkN1YSBkZSBtaXNzYXRnZXMgbXNxaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBzZW1hcGhvcmUgZmFpbGVkIgorbXNnc3RyICJzZW3DoGZvcnMgYXNzaWduYXRzID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZW1hcGhvcmUgaWQ6ICVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJzZW1pZCBkZSBsYSBtYXRyaXUgZGVsIHNlbcOgZm9yPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPGlkPi4uLlxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU0Cittc2dpZCAiUmVtb3ZlIGNlcnRhaW4gSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1NworIywgZnV6enkKK21zZ2lkICIgLW0sIC0tc2htZW0taWQgPGlkPiAgICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBpZFxuIgorbXNnc3RyICIiCisiXG4iCisiU2VnbWVudCBkZSBsYSBtZW3DsnJpYSBjb21wYXJ0aWRhIHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU4Cittc2dpZCAiIC1NLCAtLXNobWVtLWtleSA8a2V5PiAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkga2V5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTkKK21zZ2lkICIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkgaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MAorbXNnaWQgIiAtUSwgLS1xdWV1ZS1rZXkgPGtleT4gICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBrZXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MQorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmUtaWQgPGlkPiAgICByZW1vdmUgc2VtYXBob3JlIGJ5IGlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjIKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlLWtleSA8a2V5PiAgcmVtb3ZlIHNlbWFwaG9yZSBieSBrZXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MworbXNnaWQgIiAtYSwgLS1hbGxbPXNobXxtc2d8c2VtXSAgICByZW1vdmUgYWxsIChpbiB0aGUgc3BlY2lmaWVkIGNhdGVnb3J5KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjY0CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBpZCBgJWQnXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTZWdtZW50IGRlIGxhIG1lbcOycmlhIGNvbXBhcnRpZGEgc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIG1lc3NhZ2UgcXVldWUgaWQgYCVkJ1xuIgorbXNnc3RyICIiCisiXG4iCisiQ3VhIGRlIG1pc3NhdGdlcyBtc3FpZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVtb3Zpbmcgc2VtYXBob3JlIGlkIGAlZCdcbiIKK21zZ3N0ciAiIgorIlxuIgorInNlbWlkIGRlIGxhIG1hdHJpdSBkZWwgc2Vtw6Bmb3I9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4IHN5cy11dGlscy9pcGNybS5jOjIyMgorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBrZXkiCittc2dzdHIgInMnaGEgZGVuZWdhdCBlbCBwZXJtw61zIHBlciBhIGxhIGNsYXUiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOAorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBpZCIKK21zZ3N0ciAicGVybWlzb3MgZGVuZWdhdHMgcGVyIGwnaWRlbnRpZmljYWRvciIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExIHN5cy11dGlscy9pcGNybS5jOjIyOAorbXNnaWQgImludmFsaWQga2V5IgorbXNnc3RyICJjbGF1IGludsOgbGlkYSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExCittc2dpZCAiaW52YWxpZCBpZCIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0IHN5cy11dGlscy9pcGNybS5jOjIyNQorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBrZXkiCittc2dzdHIgImxhIGNsYXUgamEgcydoYXZpYSBzdXByaW1pdCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGlkIgorbXNnc3RyICJsJ2lkZW50aWZpY2Fkb3IgamEgcydoYXZpYSBzdXByaW1pdCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE3IHN5cy11dGlscy9pcGNybS5jOjIzMQorIywgZnV6enkKK21zZ2lkICJrZXkgZmFpbGVkIgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNworIywgZnV6enkKK21zZ2lkICJpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGhhIGZhbGxhdCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkOiAlcyIKK21zZ3N0ciAiaWQgaW52w6BsaWQgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzb3VyY2UocykgZGVsZXRlZFxuIgorbXNnc3RyICJmb250cyBzdXByaW1pZGVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjIwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBrZXkgKCVzKSIKK21zZ3N0ciAiJXM6IGNsYXUgaWzCt2xlZ2FsICglcylcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjU2CisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAiZWwgbnVjbGkgbm8gZXN0w6AgY29uZmlndXJhdCBwZXIgYSBtZW3DsnJpYSBjb21wYXJ0aWRhXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI2OQorIywgZnV6enkKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXMiCittc2dzdHIgIm51Y2xpIG5vIGNvbmZpZ3VyYXQgcGVyIGFscyBzZW3DoGZvcnNcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjkwCisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgImVsIG51Y2xpIG5vIGVzdMOgIGNvbmZpZ3VyYXQgcGVyIGEgY3VlcyBkZSBtaXNzYXRnZXNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW3Jlc291cmNlLW9wdGlvbi4uLl0gW291dHB1dC1vcHRpb25dXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTYgc3lzLXV0aWxzL2xzaXBjLmM6MjgwCisjLCBmdXp6eQorbXNnaWQgIlNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMuXG4iCittc2dzdHIgIiVzIHByb3BvcmNpb25hIGluZm9ybWFjacOzIHNvYnJlIGVscyByZWN1cnNvcyBpcGMgYWxzIHF1ZSB0ZW5pdSBhY2PDqXMgZGUgbGVjdHVyYS5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiLWkgaWQgWy1zIC1xIC1tXSA6IGRldGFsbHMgc29icmUgZWxzIHJlY3Vyc29zIGlkZW50aWZpY2F0cyBwZXIgbCdpZGVudGlmaWNhZG9yXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQgc3lzLXV0aWxzL2xzaXBjLmM6MjgzCisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIG9wdGlvbnM6XG4iCittc2dzdHIgIm9wY2lvbnMgcGVyaWxsb3NlczoiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUgc3lzLXV0aWxzL2xzaXBjLmM6Mjg0Cittc2dpZCAiIC1tLCAtLXNobWVtcyAgICAgIHNoYXJlZCBtZW1vcnkgc2VnbWVudHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY2IHN5cy11dGlscy9sc2lwYy5jOjI4NQorbXNnaWQgIiAtcSwgLS1xdWV1ZXMgICAgICBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Njcgc3lzLXV0aWxzL2xzaXBjLmM6Mjg2Cittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZXMgIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgIGFsbCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcxCisjLCBmdXp6eQorbXNnaWQgIk91dHB1dCBvcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGljaW9uczpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MgorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjczCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICBzaG93IFBJRHMgb2YgY3JlYXRvciBhbmQgbGFzdCBvcGVyYXRvclxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NAorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NQorbXNnaWQgIiAtbCwgLS1saW1pdHMgICAgICBzaG93IHJlc291cmNlIGxpbWl0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKK21zZ2lkICIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWh1bWFuICAgICAgIHNob3cgc2l6ZXMgaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc4Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgIHNob3cgc2l6ZXMgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjE2NAorbXNnaWQgIndoZW4gdXNpbmcgYW4gSUQsIGEgc2luZ2xlIHJlc291cmNlIG11c3QgYmUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2hhcmVkIG1lbW9yeSBsaW1pdHNcbiIKK21zZ3N0ciAidG90YWwgbcOgeC4gbWVtw7JyaWEgY29tcGFydGlkYSAoa2J5dGVzKSA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEzDrW1pdHMgZGUgbGEgbWVtw7JyaWEgY29tcGFydGlkYSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBzZWdtZW50cyA9ICVqdVxuIgorbXNnc3RyICJtw6B4LiBub21icmUgZGUgc2VnbWVudHMgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDkKKyMsIGZ1enp5Cittc2dpZCAibWF4IHNlZyBzaXplIgorbXNnc3RyICJtaWRhIGRlIG5vZGUgZCdpZGVudGlmaWNhY2nDsyBpbmNvcnJlY3RlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxMQorIywgZnV6enkKK21zZ2lkICJtYXggdG90YWwgc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAidG90YWwgbcOgeC4gbWVtw7JyaWEgY29tcGFydGlkYSAoa2J5dGVzKSA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxNAorIywgZnV6enkKK21zZ2lkICJtaW4gc2VnIHNpemUiCittc2dzdHIgIm1pZGEgZGUgbm9kZSBkJ2lkZW50aWZpY2FjacOzIGluY29ycmVjdGUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjI2CisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeVxuIgorbXNnc3RyICJlbCBudWNsaSBubyBlc3TDoCBjb25maWd1cmF0IHBlciBhIG1lbcOycmlhIGNvbXBhcnRpZGFcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBFc3RhdCBkZSBsYSBtZW3DsnJpYSBjb21wYXJ0aWRhIC0tLS0tLS0tXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGlzIG91dHB1dCBmb3JtYXQgaXMgbWFpbnRhaW5lZCBmb3IgYmFja3dhcmQKKyMuIGNvbXBhdGliaWxpdHkgYXMgaXBjcyBpcyB1c2VkIGluIHNjcmlwdHMuIEZvciBjb25zaXN0ZW5jeQorIy4gd2l0aCB0aGUgcmVzdCwgdGhlIHRyYW5zbGF0ZWQgZm9ybSBjYW4gZm9sbG93IHRoaXMgbW9kZWw6CisjLiAqCisjLiAic2VnbWVudHMgYWxsb2NhdGVkID0gJWRcbiIKKyMuICJwYWdlcyBhbGxvY2F0ZWQgPSAlbGRcbiIKKyMuICJwYWdlcyByZXNpZGVudCA9ICVsZFxuIgorIy4gInBhZ2VzIHN3YXBwZWQgPSAlbGRcbiIKKyMuICJzd2FwIHBlcmZvcm1hbmNlID0gJWxkIGF0dGVtcHRzLCAlbGQgc3VjY2Vzc2VzXG4iCisjLgorIzogc3lzLXV0aWxzL2lwY3MuYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInNlZ21lbnRzIGFsbG9jYXRlZCAlZFxuIgorInBhZ2VzIGFsbG9jYXRlZCAlbGRcbiIKKyJwYWdlcyByZXNpZGVudCAgJWxkXG4iCisicGFnZXMgc3dhcHBlZCAgICVsZFxuIgorIlN3YXAgcGVyZm9ybWFuY2U6ICVsZCBhdHRlbXB0c1x0ICVsZCBzdWNjZXNzZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI1OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50IENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLSBDcmVhZG9ycy9Qcm9waWV0YXJpcyBkZWxzIHNlZ21lbnRzIG1lbcOycmlhIGNvbXBhcnRpZGEgLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI3NAorIzogc3lzLXV0aWxzL2lwY3MuYzoyODAKK21zZ2lkICJzaG1pZCIKK21zZ3N0ciAic2htaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6MjgwIHN5cy11dGlscy9pcGNzLmM6Mzg2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwMSBzeXMtdXRpbHMvaXBjcy5jOjQ4OSBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgInBlcm1zIgorbXNnc3RyICJwZXJtcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJjdWlkIgorbXNnc3RyICJjdWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgImNnaWQiCittc2dzdHIgImNnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAidWlkIgorbXNnc3RyICJ1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiZ2lkIgorbXNnc3RyICJnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IEF0dGFjaC9EZXRhY2gvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tIFRlbXBzIGRlIGNvbm5leGnDsy9kZXNjb25uZXhpw7MvbW9kaWZpY2EuIG1lbS4gY29tcC4gLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyNzQgc3lzLXV0aWxzL2lwY3MuYzoyODAKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NDk1CisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMSBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgIm93bmVyIgorbXNnc3RyICJwcm9waWV0YXJpIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NworbXNnaWQgImF0dGFjaGVkIgorbXNnc3RyICJjb25uZWN0YXQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3Cittc2dpZCAiZGV0YWNoZWQiCittc2dzdHIgImRlc2Nvbm5lY3RhdCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjgKK21zZ2lkICJjaGFuZ2VkIgorbXNnc3RyICJtb2RpZmljYXQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBDcmVhdG9yL0xhc3Qtb3AgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLSBDcmVhZG9yL8O6bHRpbSBvcGVyYWRvciBtZW3DsnJpYSBjb21wYXJ0aWRhIC0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc0Cittc2dpZCAiY3BpZCIKK21zZ3N0ciAiY3BpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzQKK21zZ2lkICJscGlkIgorbXNnc3RyICJscGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tIFNlZ21lbnRzIGRlIG1lbcOycmlhIGNvbXBhcnRpZGEgLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MCBzeXMtdXRpbHMvaXBjcy5jOjQwMSBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgImtleSIKK21zZ3N0ciAiY2xhdSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODEgc3lzLXV0aWxzL2lwY3MuYzo1MDgKK21zZ2lkICJzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgxIHN5cy11dGlscy9wcmxpbWl0LmM6NzUgc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OCBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIgc3lzLXV0aWxzL3BybGltaXQuYzo4NiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAiYnl0ZXMiCittc2dzdHIgIm9jdGV0cyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODIKK21zZ2lkICJuYXR0Y2giCittc2dzdHIgIm5hdHRjaCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODIKK21zZ2lkICJzdGF0dXMiCittc2dzdHIgImVzdGF0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMwNiBzeXMtdXRpbHMvaXBjcy5jOjMwOCBzeXMtdXRpbHMvaXBjcy5jOjMxMAorIzogc3lzLXV0aWxzL2lwY3MuYzo0MjQgc3lzLXV0aWxzL2lwY3MuYzo0MjYgc3lzLXV0aWxzL2lwY3MuYzo1MzIKKyM6IHN5cy11dGlscy9pcGNzLmM6NTM0IHN5cy11dGlscy9pcGNzLmM6NTM2IHN5cy11dGlscy9pcGNzLmM6NTkwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MiBzeXMtdXRpbHMvaXBjcy5jOjYyMSBzeXMtdXRpbHMvaXBjcy5jOjYyMworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjUgc3lzLXV0aWxzL2lwY3MuYzo2NDkKK21zZ2lkICJOb3Qgc2V0IgorbXNnc3RyICJObyBlc3RhYmxlcnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzM2IHN5cy11dGlscy9sc2lwYy5jOjk3NiBzeXMtdXRpbHMvbHNpcGMuYzo5ODIKK21zZ2lkICJkZXN0IgorbXNnc3RyICJkZXN0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMzNyBzeXMtdXRpbHMvbHNpcGMuYzo5Nzcgc3lzLXV0aWxzL2xzaXBjLmM6OTkwCittc2dpZCAibG9ja2VkIgorbXNnc3RyICJibG9jYXQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2VtYXBob3JlIGxpbWl0c1xuIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0tIEzDrW1pdHMgc2Vtw6Bmb3IgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBhcnJheXMgPSAlZFxuIgorbXNnc3RyICJtw6B4aW0gbm9tYnJlIGRlIG1hdHJpdXMgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBwZXIgYXJyYXkgPSAlZFxuIgorbXNnc3RyICJtw6B4LiBzZW3DoGZvcnMgcGVyIG1hdHJpdSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAibcOgeC4gc2Vtw6Bmb3JzIGFsIHNpc3RlbWEgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggb3BzIHBlciBzZW1vcCBjYWxsID0gJWRcbiIKK21zZ3N0ciAibcOgeC4gb3Blci4gcGVyIGNyaWRhIHNlbW9wID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbWFwaG9yZSBtYXggdmFsdWUgPSAldVxuIgorbXNnc3RyICJ2YWxvciBtw6B4aW0gZGVsIHNlbcOgZm9yID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzXG4iCittc2dzdHIgIm51Y2xpIG5vIGNvbmZpZ3VyYXQgcGVyIGFscyBzZW3DoGZvcnNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEVzdGF0IGRlbCBzZW3DoGZvciAtLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBhcnJheXMgPSAlZFxuIgorbXNnc3RyICJtYXRyaXVzIHVzYWRlcyA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBzZW1hcGhvcmVzID0gJWRcbiIKK21zZ3N0ciAic2Vtw6Bmb3JzIGFzc2lnbmF0cyA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLSBDcmVhZG9ycy9wcm9waWV0YXJpcyBtYXRyaXVzIHNlbcOgZm9yIC0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDAxCittc2dpZCAic2VtaWQiCittc2dzdHIgInNlbWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBPcGVyYXRpb24vQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tIFRlbXBzIG9wZXJhY2nDsy9tb2RpZmljYWNpw7MgbWVtw7JyaWEgY29tcGFydGlkYSAtLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorbXNnaWQgImxhc3Qtb3AiCittc2dzdHIgIsO6bHRpbWEgb3BlcmFjacOzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorbXNnaWQgImxhc3QtY2hhbmdlZCIKK21zZ3N0ciAiw7psdGltYSBtb2RpZmljYWNpw7MiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBNYXRyaXVzIGRlbCBzZW3DoGZvciAtLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0MDEKK21zZ2lkICJuc2VtcyIKK21zZ3N0ciAibnNlbXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggbWVzc2FnZSBsaW1pdHNcbiIKK21zZ3N0ciAiTm9tYnJlIGRlIGNhcMOnYWxzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gTWlzc2F0Z2VzOiBsw61taXRzIC0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHF1ZXVlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgIm5vbWJyZSBtw6B4LiBkZSBjdWVzIGFsIHNpc3RlbWEgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2NQorIywgZnV6enkKK21zZ2lkICJtYXggc2l6ZSBvZiBtZXNzYWdlIgorbXNnc3RyICJtaWRhIG3DoHguIGRlbCBtaXNzYXRnZSAob2N0ZXRzKSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY3CisjLCBmdXp6eQorbXNnaWQgImRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUiCittc2dzdHIgIm1pZGEgbcOgeC4gcGVyIGRlZmVjdGUgZGUgbGEgY3VhIChvY3RldHMpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICJlbCBudWNsaSBubyBlc3TDoCBjb25maWd1cmF0IHBlciBhIGN1ZXMgZGUgbWlzc2F0Z2VzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBNaXNzYXRnZXM6IGVzdGF0IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDc5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBxdWV1ZXMgPSAlZFxuIgorbXNnc3RyICJjdWVzIGFzc2lnbmFkZXMgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGhlYWRlcnMgPSAlZFxuIgorbXNnc3RyICJjYXDDp2FsZXJlcyB1c2FkZXMgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MgorIywgZnV6enkKK21zZ2lkICJ1c2VkIHNwYWNlIgorbXNnc3RyICJlc3BhaSBlbXByYXQgPSAlZCBvY3RldHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODMKKyMsIGZ1enp5Cittc2dpZCAiIGJ5dGVzXG4iCittc2dzdHIgIm9jdGV0cyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tIEN1ZXMgZGUgbWlzc2F0Z2VzOiBjcmVhZG9ycy9wcm9waWV0YXJpcyAtLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODkgc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MDEKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibXNxaWQiCittc2dzdHIgIm1zcWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgU2VuZC9SZWN2L0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0gVGVtcHMgdHJhbWVzYS4vcmVjZXAuL21vZGlmaWMuIGN1ZXMgZGUgbWlzc2F0Z2VzIC0tLVxuIgorCisjIEZJWE1FCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgInNlbmQiCittc2dzdHIgImVudmlhIgorCisjIEZJWE1FCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgInJlY3YiCittc2dzdHIgInJlcCIKKworIyBGSVhNRQorIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJjaGFuZ2UiCittc2dzdHIgIm1vZGlmaWNhIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLSBFbHMgUElEIGRlIGxlcyBjdWVzIGRlIG1pc3NhdGdlcyAtLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImxzcGlkIgorbXNnc3RyICJsc3BpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJscnBpZCIKK21zZ3N0ciAibHJwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gQ3VlcyBkZSBtaXNzYXRnZXMgLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDgKK21zZ2lkICJ1c2VkLWJ5dGVzIgorbXNnc3RyICJvY3RldHMgZW1wcmF0cyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDkKK21zZ2lkICJtZXNzYWdlcyIKK21zZ3N0ciAibWlzc2F0Z2VzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU3NCBzeXMtdXRpbHMvaXBjcy5jOjYwNCBzeXMtdXRpbHMvaXBjcy5jOjYzNworIzogc3lzLXV0aWxzL2xzaXBjLmM6NTM2IHN5cy11dGlscy9sc2lwYy5jOjcyMiBzeXMtdXRpbHMvbHNpcGMuYzo4NzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlkICVkIG5vdCBmb3VuZCIKK21zZ3N0ciAidW1vdW50OiAlczogbm8gcydoYSB0cm9iYXQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQgbWVtb3J5IFNlZ21lbnQgc2htaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlZ21lbnQgZGUgbGEgbWVtw7JyaWEgY29tcGFydGlkYSBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSVkXHRnaWQ9JWRcdGN1aWQ9JWRcdGNnaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI29cdGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAibW9kZT0lI29cdGFjY2Vzc19wZXJtcz0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODQKKyMsIGZ1enp5Cittc2dpZCAic2l6ZT0iCittc2dzdHIgIk1pZGEgbcOgeGltYT0lbGRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODQKKyMsIGZ1enp5Cittc2dpZCAiYnl0ZXM9IgorbXNnc3RyICJvY3RldHMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJscGlkPSV1XHRjcGlkPSV1XHRuYXR0Y2g9JWpkXG4iCittc2dzdHIgIm9jdGV0cz0lbGRcdGxwaWQ9JWRcdGNwaWQ9JWRcdG5hdHRjaD0lbGRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXR0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiYXR0X3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiZGV0X3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTMgc3lzLXV0aWxzL2lwY3MuYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UgUXVldWUgbXNxaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIkN1YSBkZSBtaXNzYXRnZXMgbXNxaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHRtb2RlPSUjb1xuIgorbXNnc3RyICJ1aWQ9JWRcdGdpZD0lZFx0Y3VpZD0lZFx0Y2dpZD0lZFx0bW9kZT0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTMKK21zZ2lkICJjc2l6ZT0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTMKKyMsIGZ1enp5Cittc2dpZCAiY2J5dGVzPSIKK21zZ3N0ciAib2N0ZXRzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxNQorbXNnaWQgInFzaXplPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxNQorIywgZnV6enkKK21zZ2lkICJxYnl0ZXM9IgorbXNnc3RyICJvY3RldHMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIwCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJzZW5kX3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAicmN2X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAicmN2X3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBBcnJheSBzZW1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisic2VtaWQgZGUgbGEgbWF0cml1IGRlbCBzZW3DoGZvcj0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSVkXHQgZ2lkPSVkXHQgY3VpZD0lZFx0IGNnaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5zZW1zID0gJWp1XG4iCittc2dzdHIgIm5zZW1zID0gJWxkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIm90aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAib3RpbWUgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJjdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgImN0aW1lID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJzZW1udW0iCittc2dzdHIgInNlbW51bSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJ2YWx1ZSIKK21zZ3N0ciAidmFsb3IiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAibmNvdW50IgorbXNnc3RyICJuY291bnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAiemNvdW50IgorbXNnc3RyICJ6Y291bnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAicGlkIgorbXNnc3RyICJwaWQiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjIzMCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzQgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM4CisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIChieXRlcykgPSAiCittc2dzdHIgIm9jdGV0cyIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoa2J5dGVzKSA9ICIKK21zZ3N0ciAib2N0ZXRzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxODAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBpZmxhZyIKK21zZ3N0ciAiaWQgaW52w6BsaWQgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGxkaXNjPiA8ZGV2aWNlPlxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE5OQorbXNnaWQgIkF0dGFjaCBhIGxpbmUgZGlzY2lwbGluZSB0byBhIHNlcmlhbCBsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMworbXNnaWQgIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICBzZXQgc2VyaWFsIGxpbmUgc3BlZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDQKK21zZ2lkICIgLWMsIC0taW50cm8tY29tbWFuZCA8c3RyaW5nPiBpbnRybyBzZW50IGJlZm9yZSBsZGF0dGFjaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNQorbXNnaWQgIiAtcCwgLS1wYXVzZSA8c2Vjb25kcz4gICBwYXVzZSBiZXR3ZWVuIGludHJvIGFuZCBsZGF0dGFjaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNgorbXNnaWQgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gNyBiaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA3Cittc2dpZCAiIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA4IGJpdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDgKK21zZ2lkICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgc2V0IHBhcml0eSB0byBub25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA5Cittc2dpZCAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIHNldCBwYXJpdHkgdG8gZXZlblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMAorbXNnaWQgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICBzZXQgcGFyaXR5IHRvIG9kZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMQorbXNnaWQgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBzZXQgc3RvcCBiaXRzIHRvIG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMgorbXNnaWQgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBzZXQgc3RvcCBiaXRzIHRvIHR3b1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMworbXNnaWQgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBzZXQgaW5wdXQgbW9kZSBmbGFnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE5Cittc2dpZCAiIgorIlxuIgorIktub3duIDxsZGlzYz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjIzCittc2dpZCAiIgorIlxuIgorIktub3duIDxpZmxhZz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc3BlZWQgYXJndW1lbnQiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBhdXNlIGFyZ3VtZW50IgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGludsOgbGlkIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNTkKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBvcHRpb24iCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM3MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGxpbmUgZGlzY2lwbGluZSBhcmd1bWVudCIKK21zZ3N0ciAiaWQgaW52w6BsaWQgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHNlcmlhbCBsaW5lIgorbXNnc3RyICIlcyBubyBlcyB1biBkaXNwb3NpdGl1IGRlIGJsb2MgZXNwZWNpYWwiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAibm8gZXMgcG90IG9idGVuaXIgbGEgbWlkYSBkZSAlcyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWVkICVkIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAibm8gZXMgcG90IG9idGVuaXIgbGEgbWlkYSBkZSAlcyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgaW50cm8gY29tbWFuZCB0byAlcyIKK21zZ3N0ciAibmFtZWk6IG5vIHMnaGEgcG9ndXQgb2J0ZW5pciBlbCBkaXJlY3RvcmkgYWN0dWFsIC0gJXNcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDY5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgbGluZSBkaXNjaXBsaW5lIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGNlcmNhciBhIGxhIHVuaXRhdCBkZSBkaXNjIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NzkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGRhZW1vbml6ZSIKK21zZ3N0ciAibm8gZXMgcG90IG9idGVuaXIgbGEgbWlkYSBkZSAlcyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2OAorbXNnaWQgImF1dG9jbGVhciBmbGFnIHNldCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY5CisjLCBmdXp6eQorbXNnaWQgImRldmljZSBiYWNraW5nIGZpbGUiCittc2dzdHIgInRvcm5hIGEgbGxlZ2lyIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzAKK21zZ2lkICJiYWNraW5nIGZpbGUgaW5vZGUgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzEKK21zZ2lkICJiYWNraW5nIGZpbGUgbWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcyCisjLCBmdXp6eQorbXNnaWQgImxvb3AgZGV2aWNlIG5hbWUiCittc2dzdHIgInVtb3VudDogJXM6IGRpc3Bvc2l0aXUgZGVzY29uZWd1dCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MworbXNnaWQgIm9mZnNldCBmcm9tIHRoZSBiZWdpbm5pbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NAorIywgZnV6enkKK21zZ2lkICJwYXJ0c2NhbiBmbGFnIHNldCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpY2lvbnM6XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBsaW1pdCBvZiB0aGUgZmlsZSBpbiBieXRlcyIKK21zZ3N0ciAibWlkYSBkZSBub2RlIGQnaWRlbnRpZmljYWNpw7MgaW5jb3JyZWN0ZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NworbXNnaWQgImxvb3AgZGV2aWNlIG1ham9yOm1pbm9yIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4Cittc2dpZCAiYWNjZXNzIGJhY2tpbmcgZmlsZSB3aXRoIGRpcmVjdC1pbyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzNSBzeXMtdXRpbHMvbG9zZXR1cC5jOjE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCBvZmZzZXQgJWp1IgorbXNnc3RyICIsIGRlc3BsYcOnYW1lbnQgJWQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM4IHN5cy11dGlscy9sb3NldHVwLmM6MTUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsIHNpemVsaW1pdCAlanUiCittc2dzdHIgIiwgbMOtbWl0IGRlIG1pZGEgJWxsZCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiwgZW5jcnlwdGlvbiAlcyAodHlwZSAldSkiCittc2dzdHIgIiwgeGlmcmF0Z2UgJXMgKHRpcHVzICVkKSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZXRhY2ggZmFpbGVkIgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzI5IHN5cy11dGlscy9sc2NwdS5jOjE3MzUgc3lzLXV0aWxzL3BybGltaXQuYzoyMjkKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxNzYgc3lzLXV0aWxzL3dkY3RsLmM6MjE1IHN5cy11dGlscy96cmFtY3RsLmM6NDA1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBsaW5lIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIGxhIG1lbcOycmlhIHRlbXBvcmFsLlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIFs8bG9vcGRldj5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGxvb3BkZXY+IDxmaWxlPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzg2Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIGxvb3AgZGV2aWNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM4OQorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgbGlzdCBhbGwgdXNlZCBkZXZpY2VzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkwCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kZXRhY2ggPGxvb3BkZXY+Li4uICAgICBkZXRhY2ggb25lIG9yIG1vcmUgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MQorIywgZnV6enkKK21zZ2lkICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTIKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTMKK21zZ2lkICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5NAorbXNnaWQgIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5NQorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICAgICAgYXZvaWQgcG9zc2libGUgY29uZmxpY3QgYmV0d2VlbiBkZXZpY2VzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5OQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBzdGFydCBhdCBvZmZzZXQgPG51bT4gaW50byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDAKK21zZ2lkICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZGV2aWNlIGlzIGxpbWl0ZWQgdG8gPG51bT4gYnl0ZXMgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMQorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgY3JlYXRlIGEgcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBzZXQgdXAgYSByZWFkLW9ubHkgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAzCittc2dpZCAiICAgICAtLWRpcmVjdC1pb1s9PG9ufG9mZj5dICAgIG9wZW4gYmFja2luZyBmaWxlIHdpdGggT19ESVJFQ1RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNAorbXNnaWQgIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSBhZnRlciBzZXR1cCAod2l0aCAtZilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwOQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgbGlzdCBpbmZvIGFib3V0IGFsbCBvciBzcGVjaWZpZWQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICBQcm92YSBsYSB2ZXJzacOzIGRlbCBnZXRvcHQoMSlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTAKK21zZ2lkICIgLU8sIC0tb3V0cHV0IDxjb2xzPiAgICAgICAgICAgc3BlY2lmeSBjb2x1bW5zIHRvIG91dHB1dCBmb3IgLS1saXN0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLWxpc3Qgb3V0cHV0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgdXNlIHJhdyAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTMKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgIHVzZSBKU09OIC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOQorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIC0tbGlzdCBjb2x1bW5zOlxuIgorbXNnc3RyICJPcmRyZXMgZGlzcG9uaWJsZXM6XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGlzIHNtYWxsZXIgdGhhbiA1MTIgYnl0ZXM7IHRoZSBsb29wIGRldmljZSBtYXkgYmUgdXNlbGVzcyBvciBpbnZpc2libGUgZm9yIHN5c3RlbSB0b29scy4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFdhcm5pbmc6IGZpbGUgZG9lcyBub3QgZml0IGludG8gYSA1MTItYnl0ZSBzZWN0b3I7IHRoZSBlbmQgb2YgdGhlIGZpbGUgd2lsbCBiZSBpZ25vcmVkLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ2NCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUxNiBzeXMtdXRpbHMvbW91bnQuYzo0NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzOiAlcyBubyDDqXMgdW4gZGlzcG9zaXRpdSBscC5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIHJlYWQtb25seSBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGVuY3J5cHRlZCBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmUtdXNlIGxvb3AgZGV2aWNlIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHJlYm9iaW5hciBlbCBkaXNwb3NpdGl1IGQnaW50ZXJjYW52aSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0OTQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluc3BlY3QgbG9vcCBkZXZpY2VzIgorbXNnc3RyICJtb3VudDogbm8gaGEgZXN0YXQgcG9zc2libGUgY29uZmlndXJhciBlbCBkaXNwb3NpdGl1IGxvb3BcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY2hlY2sgZm9yIGNvbmZsaWN0aW5nIGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCByZWJvYmluYXIgZWwgZGlzcG9zaXRpdSBkJ2ludGVyY2FudmkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTI5IHN5cy11dGlscy9sb3NldHVwLmM6ODI2CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmaW5kIGFuIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgdHJvYmFyIGVsIGRpc3Bvc2l0aXUgcGVyIGEgJXNcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAidG9ybmEgYSBsbGVnaXIgbGEgdGF1bGEgZGUgcGFydGljaW9ucyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2MzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDEgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NTMKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzY3IHN5cy11dGlscy9sb3NldHVwLmM6ODA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBkZXZpY2UiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgcmVib2JpbmFyIGVsIGRpc3Bvc2l0aXUgZCdpbnRlcmNhbnZpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2NAorIywgZnV6enkKK21zZ2lkICJubyBsb29wIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIm1vdW50OiBlbCBkaXNwb3NpdGl1IGxvb3AgZXN0w6AgZXNwZWNpZmljYXQgZHVlcyB2ZWdhZGVzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3MgorIywgZnV6enkKK21zZ2lkICJubyBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAiTm8gcydoYSBlc3BlY2lmaWNhdCBsJ29wY2nDsyAtLWRhdGUuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzc5CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBvcHRpb25zICVzIGFyZSBhbGxvd2VkIGR1cmluZyBsb29wIGRldmljZSBzZXR1cCBvbmx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzg0Cittc2dpZCAidGhlIG9wdGlvbiAtLW9mZnNldCBpcyBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgY2FwYWNpdHkgZmFpbGVkIgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGRpcmVjdCBpbyBmYWlsZWQiCittc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTA4CisjLCBmdXp6eQorbXNnaWQgIm5vbmUiCittc2dzdHIgIkNhcCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTA5Cittc2dpZCAicGFyYSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMTAKK21zZ2lkICJmdWxsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjExMQorbXNnaWQgImNvbnRhaW5lciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzMKK21zZ2lkICJob3Jpem9udGFsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NAorbXNnaWQgInZlcnRpY2FsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0NgorbXNnaWQgImxvZ2ljYWwgQ1BVIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDcKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBjb3JlIG51bWJlciIKK21zZ3N0ciAiYWNvbnNlZ3VlaXggbGEgbWlkYSBkZWwgc2VjdG9yIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDgKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBzb2NrZXQgbnVtYmVyIgorbXNnc3RyICJhY29uc2VndWVpeCBsYSBtaWRhIGRlbCBzZWN0b3IiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0OQorbXNnaWQgImxvZ2ljYWwgTlVNQSBub2RlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTAKK21zZ2lkICJsb2dpY2FsIGJvb2sgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MQorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIGRyYXdlciBudW1iZXIiCittc2dzdHIgImFjb25zZWd1ZWl4IGxhIG1pZGEgZGVsIHNlY3RvciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUyCittc2dpZCAic2hvd3MgaG93IGNhY2hlcyBhcmUgc2hhcmVkIGJldHdlZW4gQ1BVcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTMKK21zZ2lkICJDUFUgZGlzcGF0Y2hpbmcgbW9kZSBvbiB2aXJ0dWFsIGhhcmR3YXJlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NAorbXNnaWQgInBoeXNpY2FsIGFkZHJlc3Mgb2YgYSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU1Cittc2dpZCAic2hvd3MgaWYgdGhlIGh5cGVydmlzb3IgaGFzIGFsbG9jYXRlZCB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NgorbXNnaWQgInNob3dzIGlmIExpbnV4IGN1cnJlbnRseSBtYWtlcyB1c2Ugb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTcKK21zZ2lkICJzaG93cyB0aGUgbWF4aW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTgKK21zZ2lkICJzaG93cyB0aGUgbWluaW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo1NTAKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3I6IHVuYW1lIGZhaWxlZCIKK21zZ3N0ciAiIgorIlxuIgorIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gdGFuY2FyIGVsIGZpdHhlclxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo2MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZXRlcm1pbmUgbnVtYmVyIG9mIENQVXM6ICVzIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6ODkxCisjLCBmdXp6eQorbXNnaWQgImVycm9yOiBjYW4gbm90IHNldCBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBkZXRlcm1pbmFyIGVsIGdlc3RvciBkZSBzZW55YWxzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo4OTYKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3I6IGNhbiBub3QgcmVzdG9yZSBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBkZXRlcm1pbmFyIGVsIGdlc3RvciBkZSBzZW55YWxzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIGZyb206ICVzIgorbXNnc3RyICJubyBlcyBwb3QgZmVyIHN0YXQgcGVyIGEgJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MTAKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGV4dHJhY3QgdGhlIG5vZGUgbnVtYmVyIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNlcmNhciBhIHdyaXRlX3RhYmxlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTUzNyBzeXMtdXRpbHMvbHNjcHUuYzoxNTQ3Cittc2dpZCAiWSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTM3IHN5cy11dGlscy9sc2NwdS5jOjE1NDcKKyMsIGZ1enp5Cittc2dpZCAiTiIKK21zZ3N0ciAiTkMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyXG4iCisiIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRFxuIgorIiMgc3RhcnRpbmcgZnJvbSB6ZXJvLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3ODEKK21zZ2lkICJBcmNoaXRlY3R1cmU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3OTUKK21zZ2lkICJDUFUgb3AtbW9kZShzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc5OCBzeXMtdXRpbHMvbHNjcHUuYzoxODAwCittc2dpZCAiQnl0ZSBPcmRlcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwMgorbXNnaWQgIkNQVShzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwNQorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDYKK21zZ2lkICJPbi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI1Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjYKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2MgorbXNnaWQgIlRocmVhZChzKSBwZXIgY29yZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2NAorbXNnaWQgIkNvcmUocykgcGVyIHNvY2tldDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2NworbXNnaWQgIlNvY2tldChzKSBwZXIgYm9vazoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3MAorbXNnaWQgIkJvb2socykgcGVyIGRyYXdlcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3MgorbXNnaWQgIkRyYXdlcihzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3NAorbXNnaWQgIkJvb2socyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzcKKyMsIGZ1enp5Cittc2dpZCAiU29ja2V0KHMpOiIKK21zZ3N0ciAiY29ubmVjdG9yIG5mcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MQorbXNnaWQgIk5VTUEgbm9kZShzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MworbXNnaWQgIlZlbmRvciBJRDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4NQorIywgZnV6enkKK21zZ2lkICJNYWNoaW5lIHR5cGU6IgorbXNnc3RyICJOb21icmUgZGUgcGFydGljacOzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg3Cittc2dpZCAiQ1BVIGZhbWlseToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4OQorbXNnaWQgIk1vZGVsOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODkxCisjLCBmdXp6eQorbXNnaWQgIk1vZGVsIG5hbWU6IgorbXNnc3RyICJOb20gZCd1c3VhcmkgaWzCt2xlZ2FsIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODkzCittc2dpZCAiU3RlcHBpbmc6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTUKK21zZ2lkICJDUFUgTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk3Cittc2dpZCAiQ1BVIGR5bmFtaWMgTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk5Cittc2dpZCAiQ1BVIHN0YXRpYyBNSHo6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDEKK21zZ2lkICJDUFUgbWF4IE1IejoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMworbXNnaWQgIkNQVSBtaW4gTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA1Cittc2dpZCAiQm9nb01JUFM6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDggc3lzLXV0aWxzL2xzY3B1LmM6MTkxMAorIywgZnV6enkKK21zZ2lkICJWaXJ0dWFsaXphdGlvbjoiCittc2dzdHIgIkFudGlnYSBzaXR1YWNpw7M6XG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTMKK21zZ2lkICJIeXBlcnZpc29yOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE1Cittc2dpZCAiSHlwZXJ2aXNvciB2ZW5kb3I6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTYKK21zZ2lkICJWaXJ0dWFsaXphdGlvbiB0eXBlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE5Cittc2dpZCAiRGlzcGF0Y2hpbmcgbW9kZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkyNSBzeXMtdXRpbHMvbHNjcHUuYzoxOTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNhY2hlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTUEgbm9kZSVkIENQVShzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0NgorIywgZnV6enkKK21zZ2lkICJGbGFnczoiCittc2dzdHIgIlNlbnlhbGFkb3JzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQ5CisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIHNvY2tldHM6IgorbXNnc3RyICJDaWxpbmRyZXMgZsOtc2ljcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk1MAorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBjaGlwczoiCittc2dzdHIgIkNpbGluZHJlcyBmw61zaWNzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTUxCisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIGNvcmVzL2NoaXA6IgorbXNnc3RyICJhY29uc2VndWVpeCBsYSBtaWRhIGRlbCBzZWN0b3IiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjMKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBDUFUgYXJjaGl0ZWN0dXJlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjYKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IGJvdGggb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY3CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBwcmludCBvbmxpbmUgQ1BVcyBvbmx5IChkZWZhdWx0IGZvciAtcClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjgKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY5Cittc2dpZCAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcwCittc2dpZCAiIC1wLCAtLXBhcnNlWz08bGlzdD5dICAgIHByaW50IG91dCBhIHBhcnNhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzEKK21zZ2lkICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAgdXNlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcyCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1oZXggICAgICAgICAgICAgICBwcmludCBoZXhhZGVjaW1hbCBtYXNrcyByYXRoZXIgdGhhbiBsaXN0cyBvZiBDUFVzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzMKKyMsIGZ1enp5Cittc2dpZCAiIC15LCAtLXBoeXNpY2FsICAgICAgICAgIHByaW50IHBoeXNpY2FsIGluc3RlYWQgb2YgbG9naWNhbCBJRHNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3B0aW9ucyAtLWFsbCwgLS1vbmxpbmUgYW5kIC0tb2ZmbGluZSBtYXkgb25seSBiZSB1c2VkIHdpdGggb3B0aW9ucyAtLWV4dGVuZGVkIG9yIC0tcGFyc2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIGtleSIKK21zZ3N0ciAiTm9tIGQndXN1YXJpIGlswrdsZWdhbCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5CisjLCBmdXp6eQorbXNnaWQgIktleSIKK21zZ3N0ciAiY2xhdSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIElEIgorbXNnc3RyICJOb20gZCd1c3VhcmkgaWzCt2xlZ2FsIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAiSUQiCittc2dzdHIgIlVVSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyJ3MgdXNlcm5hbWUgb3IgVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorIywgZnV6enkKK21zZ2lkICJPd25lciIKK21zZ3N0ciAicHJvcGlldGFyaSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUyCisjLCBmdXp6eQorbXNnaWQgIlBlcm1pc3Npb25zIgorbXNnc3RyICJ2ZXJzacOzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTMKK21zZ2lkICJDcmVhdG9yIFVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTQKK21zZ2lkICJDcmVhdG9yIHVzZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU1Cittc2dpZCAiQ3JlYXRvciBHSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU2CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgZ3JvdXAiCittc2dzdHIgIlByaW3DoHJpYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgIlVzZXIgSUQiCittc2dzdHIgInVzdWFyaSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgIlVJRCIKK21zZ3N0ciAiVVVJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU4CisjLCBmdXp6eQorbXNnaWQgIlVzZXIgbmFtZSIKK21zZ3N0ciAiTm9tIGQndXN1YXJpIGlswrdsZWdhbCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR3JvdXAgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5CisjLCBmdXp6eQorbXNnaWQgIkdJRCIKK21zZ3N0ciAiU0dJIGNydSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYwCisjLCBmdXp6eQorbXNnaWQgIkdyb3VwIG5hbWUiCittc2dzdHIgIk5vbSBkJ3VzdWFyaSBpbMK3bGVnYWwiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorIywgZnV6enkKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBleGVjdXRhciDCq3N0YXTCuyBhbCBjYW3DrVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBjaGFuZ2UiCittc2dzdHIgIsO6bHRpbWEgbW9kaWZpY2FjacOzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjQKKyMsIGZ1enp5Cittc2dpZCAiQnl0ZXMgdXNlZCIKK21zZ3N0ciAiTWFyY2EnbCBlbiDDunMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZXMiCittc2dzdHIgIk5vbWJyZSBkZSBjYXDDp2FscyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIk1lc3NhZ2VzIgorbXNnc3RyICJtaXNzYXRnZXMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorIywgZnV6enkKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHNlbnQiCittc2dzdHIgIm3DqXMgZW5sbMOgIGRlIGxhIHByaW1lcmEgbMOtbmlhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKK21zZ2lkICJNc2cgc2VudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHJlY2VpdmVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIk1zZyByZWNlaXZlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjgKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHNlbmRlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjgKK21zZ2lkICJNc2cgc2VuZGVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgcmVjZWl2ZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiTXNnIHJlY2VpdmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MgorIywgZnV6enkKK21zZ2lkICJTZWdtZW50IHNpemUiCittc2dzdHIgImFjb25zZWd1ZWl4IGxhIG1pZGEgZGVsIGJsb2MiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MworIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2YgYXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICJtw6B4LiBub21icmUgZGUgc2VnbWVudHMgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCittc2dpZCAiQXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NAorIywgZnV6enkKK21zZ2lkICJTdGF0dXMiCittc2dzdHIgImVzdGF0IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzUKKyMsIGZ1enp5Cittc2dpZCAiQXR0YWNoIHRpbWUiCittc2dzdHIgImNvbm5lY3RhdCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc2CisjLCBmdXp6eQorbXNnaWQgIkRldGFjaCB0aW1lIgorbXNnc3RyICJkZXNjb25uZWN0YXQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQiCittc2dzdHIgImNhcCBvcmRyZT9cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiUElEIG9mIHRoZSBjcmVhdG9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIkNyZWF0b3IgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OQorbXNnaWQgIlBJRCBvZiBsYXN0IHVzZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5CisjLCBmdXp6eQorbXNnaWQgIkxhc3QgdXNlciBQSUQiCittc2dzdHIgInVzdWFyaSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgyCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJOb21icmUgZGUgc2VjdG9ycyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgyCisjLCBmdXp6eQorbXNnaWQgIlNlbWFwaG9yZXMiCittc2dzdHIgIiIKKyJcbiIKKyJzZW1pZCBkZSBsYSBtYXRyaXUgZGVsIHNlbcOgZm9yPSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworIywgZnV6enkKK21zZ2lkICJMYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIG5hbWUiCittc2dzdHIgIk5vbSBkJ3VzdWFyaSBpbMK3bGVnYWwiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NgorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSIKK21zZ3N0ciAiTm9tIGQndXN1YXJpIGlswrdsZWdhbCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJkaXNwb3NpdGl1IGRlIGJsb2NzICIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIkRlc2NyaXB0aW9uIgorbXNnc3RyICJkaXNwb3NpdGl1IGRlIGJsb2NzICIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiQ3VycmVudGx5IHVzZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiVXNlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiQ3VycmVudGx5IHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICJJbnRyb2R1w691IGVsIHRpcHVzIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnM6ICIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIlVzZSIKK21zZ3N0ciAiRm9ybWEgZCfDunM6IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJTeXN0ZW0td2lkZSBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJMaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29sdW1uICVzIGRvZXMgbm90IGFwcGx5IHRvIHRoZSBzcGVjaWZpZWQgSVBDIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4NworbXNnaWQgIiAtZywgLS1nbG9iYWwgICAgICBpbmZvIGFib3V0IHN5c3RlbS13aWRlIHVzYWdlIChtYXkgYmUgdXNlZCB3aXRoIC1tLCAtcSBhbmQgLXMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg4CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICAgICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICItaSBpZCBbLXMgLXEgLW1dIDogZGV0YWxscyBzb2JyZSBlbHMgcmVjdXJzb3MgaWRlbnRpZmljYXRzIHBlciBsJ2lkZW50aWZpY2Fkb3JcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk0CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NworIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIHVzZSB0aGUgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTkKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICBmb3JjZSBsaXN0IG91dHB1dCBmb3JtYXQgKGZvciBleGFtcGxlIHdpdGggLS1pZClcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMQorbXNnaWQgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgcHJpbnQgbnVtZXJpYyBwZXJtaXNzaW9ucyAoUEVSTVMgY29sdW1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMworIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiR2VuZXJpYyBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGljaW9uczpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkLW1lbW9yeSBjb2x1bW5zICgtLXNobWVtcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJTZWdtZW50IGRlIGxhIG1lbcOycmlhIGNvbXBhcnRpZGEgc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZS1xdWV1ZSBjb2x1bW5zICgtLXF1ZXVlcyk6XG4iCittc2dzdHIgIk9yZHJlcyBkaXNwb25pYmxlczpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIGNvbHVtbnMgKC0tc2VtYXBob3Jlcyk6XG4iCittc2dzdHIgIk9yZHJlcyBkaXNwb25pYmxlczpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTdW1tYXJ5IGNvbHVtbnMgKC0tZ2xvYmFsKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkVsZW1lbnRzOlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwNQorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlIGlkZW50aWZpZXJzIgorbXNnc3RyICJOb21icmUgZGUgc2VjdG9ycyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA2CisjLCBmdXp6eQorbXNnaWQgIlRvdGFsIG51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJOb21icmUgZGUgc2VjdG9ycyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA3CisjLCBmdXp6eQorbXNnaWQgIk1heCBzZW1hcGhvcmVzIHBlciBzZW1hcGhvcmUgc2V0LiIKK21zZ3N0ciAibcOgeC4gc2Vtw6Bmb3JzIHBlciBtYXRyaXUgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDgKKyMsIGZ1enp5Cittc2dpZCAiTWF4IG51bWJlciBvZiBvcGVyYXRpb25zIHBlciBzZW1vcCgyKSIKK21zZ3N0ciAibcOgeC4gbm9tYnJlIGRlIHNlZ21lbnRzID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwOQorIywgZnV6enkKK21zZ2lkICJTZW1hcGhvcmUgbWF4IHZhbHVlIgorbXNnc3RyICJ2YWxvciBtw6B4aW0gZGVsIHNlbcOgZm9yID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODYzCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiTm9tYnJlIGRlIGNhcMOnYWxzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjQKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNpemUgb2YgbWVzc2FnZSAoYnl0ZXMpIgorbXNnc3RyICJtaWRhIG3DoHguIGRlbCBtaXNzYXRnZSAob2N0ZXRzKSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg2NQorIywgZnV6enkKK21zZ2lkICJEZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIChieXRlcykiCittc2dzdHIgIm1pZGEgbcOgeC4gcGVyIGRlZmVjdGUgZGUgbGEgY3VhIChvY3RldHMpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTc4IHN5cy11dGlscy9sc2lwYy5jOjk5NworbXNnaWQgImh1Z2V0bGIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTc5IHN5cy11dGlscy9sc2lwYy5jOjEwMDQKKyMsIGZ1enp5Cittc2dpZCAibm9yZXNlcnZlIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjEKKyMsIGZ1enp5Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBzZWdtZW50cyIKK21zZ3N0ciAiIgorIlxuIgorIlNlZ21lbnQgZGUgbGEgbWVtw7JyaWEgY29tcGFydGlkYSBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDYyCisjLCBmdXp6eQorbXNnaWQgIlNoYXJlZCBtZW1vcnkgcGFnZXMiCittc2dzdHIgIiIKKyJcbiIKKyJTZWdtZW50IGRlIGxhIG1lbcOycmlhIGNvbXBhcnRpZGEgc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MworIywgZnV6enkKK21zZ2lkICJNYXggc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAibWlkYSBtw6B4LiBkZWwgbWlzc2F0Z2UgKG9jdGV0cykgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDY0CisjLCBmdXp6eQorbXNnaWQgIk1pbiBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICJtaWRhIG3DoHguIGRlbCBtaXNzYXRnZSAob2N0ZXRzKSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjExMzUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElQQyBpZGVudGlmaWVyIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTIyOQorIywgZnV6enkKK21zZ2lkICItLWdsb2JhbCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWNyZWF0b3IsIC0taWQgYW5kIC0tdGltZSIKK21zZ3N0ciAiJXM6IExlcyBvcGNpb25zIC0tYWRqdXN0IGkgLS1ub2FkamZpbGUgcydleGNsb3VlbiBtw7p0dWFtZW50LiBMZXMgaGV1IGVzcGVjaWZpY2F0IHRvdGVzIGR1ZXMuXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODMKK21zZ2lkICJuYW1lc3BhY2UgaWRlbnRpZmllciAoaW5vZGUgbnVtYmVyKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg0Cittc2dpZCAia2luZCBvZiBuYW1lc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NQorIywgZnV6enkKK21zZ2lkICJwYXRoIHRvIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgwqtzdGF0wrsgYWwgY2Ftw61cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NgorIywgZnV6enkKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIGluIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgIm3DoHguIG5vbWJyZSBkZSBzZWdtZW50cyA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg3Cittc2dpZCAibG93ZXN0IFBJRCBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODgKK21zZ2lkICJQUElEIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OQorbXNnaWQgImNvbW1hbmQgbGluZSBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTAKK21zZ2lkICJVSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkxCittc2dpZCAidXNlcm5hbWUgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG5hbWVzcGFjZT5dXG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo2MTYKKyMsIGZ1enp5Cittc2dpZCAiTGlzdCBzeXN0ZW0gbmFtZXNwYWNlcy5cbiIKK21zZ3N0ciAiTm8gZXMgcG90IGVzdGFibGlyIGVsIHJlbGxvdGdlIGRlbCBzaXN0ZW1hLlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYyMworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tdGFzayA8cGlkPiAgICAgICBwcmludCBwcm9jZXNzIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjI2Cittc2dpZCAiIC10LCAtLXR5cGUgPG5hbWU+ICAgICAgbmFtZXNwYWNlIHR5cGUgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzLCBjZ3JvdXApXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbmFtZXNwYWNlIHR5cGU6ICVzIgorbXNnc3RyICJubyBlcyByZWNvbmVpeCBlbCB0aXB1cyBkZSBsYSBmb250OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjczNQorIywgZnV6enkKK21zZ2lkICItLXRhc2sgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPG5hbWVzcGFjZT4iCittc2dzdHIgIiVzOiBMZXMgb3BjaW9ucyAtLWFkanVzdCBpIC0tbm9hZGpmaWxlIHMnZXhjbG91ZW4gbcO6dHVhbWVudC4gTGVzIGhldSBlc3BlY2lmaWNhdCB0b3RlcyBkdWVzLlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjczNgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG5hbWVzcGFjZSBhcmd1bWVudCIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGZvdW5kIG5hbWVzcGFjZTogJWp1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY2IHN5cy11dGlscy91bW91bnQuYzoxMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIm1vdW50OiBub23DqXMgbCd1c3Vhcmkgcm9vdCBwb3QgZmVyIGFpeMOyIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2OSBzeXMtdXRpbHMvdW1vdW50LmM6MTIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICJtb3VudDogbm9tw6lzIGwndXN1YXJpIHJvb3QgcG90IGZlciBhaXjDsiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzMgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIgorbXNnc3RyICJtb3VudDogbm9tw6lzIGwndXN1YXJpIHJvb3QgcG90IG11bnRhciAlcyBhICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NCBzeXMtdXRpbHMvdW1vdW50LmM6MTI1CisjLCBmdXp6eQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKK21zZ3N0ciAibW91bnQ6IG5vbcOpcyBsJ3VzdWFyaSByb290IHBvdCBmZXIgYWl4w7IiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjg1IHN5cy11dGlscy91bW91bnQuYzo1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAobGlibW91bnQgJXMiCittc2dzdHIgIiVzIGRlcyBkZSAlcyVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEzMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBtdGFiIgorbXNnc3RyICJubyBlcyBwb3QgZmVyIHN0YXQgcGVyIGEgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MiBzeXMtdXRpbHMvdW1vdW50LmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogYWxyZWFkeSBtb3VudGVkXG4iCittc2dzdHIgIm1vdW50OiAlcyBqYSBlc3TDoCBtdW50YXQgYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3ZlZCB0byAlcy5cbiIKK21zZ3N0ciAidW1vdW50OiAlczogbm8gcydoYSB0cm9iYXQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGJvdW5kIG9uICVzLlxuIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBubyBzJ2hhIHRyb2JhdCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjU0IHN5cy11dGlscy9tb3VudC5jOjI1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdW50ZWQgb24gJXMuXG4iCittc2dzdHIgInVtb3VudDogJXM6IG5vIHMnaGEgdHJvYmF0IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIHByb3BhZ2F0aW9uIGZsYWdzIGNoYW5nZWQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJtb3VudDogJXMgZG9lcyBub3QgY29udGFpbiBTRUxpbnV4IGxhYmVscy5cbiIKKyIgICAgICAgWW91IGp1c3QgbW91bnRlZCBhbiBmaWxlIHN5c3RlbSB0aGF0IHN1cHBvcnRzIGxhYmVscyB3aGljaCBkb2VzIG5vdFxuIgorIiAgICAgICBjb250YWluIGxhYmVscywgb250byBhbiBTRUxpbnV4IGJveC4gSXQgaXMgbGlrZWx5IHRoYXQgY29uZmluZWRcbiIKKyIgICAgICAgYXBwbGljYXRpb25zIHdpbGwgZ2VuZXJhdGUgQVZDIG1lc3NhZ2VzIGFuZCBub3QgYmUgYWxsb3dlZCBhY2Nlc3MgdG9cbiIKKyIgICAgICAgdGhpcyBmaWxlIHN5c3RlbS4gIEZvciBtb3JlIGRldGFpbHMgc2VlIHJlc3RvcmVjb24oOCkgYW5kIG1vdW50KDgpLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3OAorIywgZnV6enkKK21zZ2lkICJXQVJOSU5HOiBmYWlsZWQgdG8gYXBwbHkgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCittc2dzdHIgIm1vdW50OiBub23DqXMgbCd1c3Vhcmkgcm9vdCBwb3QgbXVudGFyICVzIGEgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYWxyZWFkeSBtb3VudGVkIgorbXNnc3RyICJtb3VudDogJXMgamEgZXN0w6AgbXVudGF0IGEgJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB1c2VkIGFzIHJlYWQgb25seSBsb29wLCBtb3VudGluZyByZWFkLW9ubHkiCittc2dzdHIgIm1vdW50OiAlcyVzIGVzdMOgIHByb3RlZ2l0IGNvbnRyYSBlc2NyaXB0dXJhOyBlcyBtdW50YXLDoCBlbiBub23DqXMgbGVjdHVyYSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kICVzIGluICVzIgorbXNnc3RyICJtb3VudDogbm8gcydoYSBwb2d1dCB0cm9iYXIgJXMgYSAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50cG9pbnQgJXMgaW4gJXMiCittc2dzdHIgIm1vdW50OiBubyBzJ2hhIHBvZ3V0IHRyb2JhciAlcyBhICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgc291cmNlICVzIGluICVzIgorbXNnc3RyICJtb3VudDogbm8gcydoYSBwb2d1dCB0cm9iYXIgJXMgYSAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlczogbW9yZSBmaWxlc3lzdGVtcyBkZXRlY3RlZC4gVGhpcyBzaG91bGQgbm90IGhhcHBlbixcbiIKKyIgICAgICAgdXNlIC10IDx0eXBlPiB0byBleHBsaWNpdGx5IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSBvclxuIgorIiAgICAgICB1c2Ugd2lwZWZzKDgpIHRvIGNsZWFuIHVwIHRoZSBkZXZpY2UuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzNgorIywgZnV6enkKK21zZ2lkICJJIGNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGZpbGVzeXN0ZW0gdHlwZSwgYW5kIG5vbmUgd2FzIHNwZWNpZmllZCIKK21zZ3N0ciAibW91bnQ6IG5vIHMnaGEgcG9ndXQgZGV0ZXJtaW5hciBlbCB0aXB1cyBkZSBzaXN0ZW1hIGRlIGZpdHhlcnMgaSBubyBuJ2hldSBlc3BlY2lmaWNhdCBjYXAiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzOQorIywgZnV6enkKK21zZ2lkICJ5b3UgbXVzdCBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIm1vdW50OiBoYXVyZXUgZCdlc3BlY2lmaWNhciBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMiCittc2dzdHIgIiVzOiBubyBzJ2hhIHBvZ3V0IGVubGxhw6dhciAlczogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ3CisjLCBmdXp6eQorbXNnaWQgIm1vdW50IHNvdXJjZSBub3QgZGVmaW5lZCIKK21zZ3N0ciAibW91bnQ6IG5vIGhhIGVzdGF0IHBvc3NpYmxlIG11bnRhciIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDUxIHN5cy11dGlscy9tb3VudC5jOjQ1MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCByZWJvYmluYXIgZWwgZGlzcG9zaXRpdSBkJ2ludGVyY2FudmkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50IGZhaWxlZCIKK21zZ3N0ciAibm8gcydoYSBlc3RhdCBwb3NzaWJsZSBtdW50YXIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZpbGVzeXN0ZW0gbW91bnRlZCwgYnV0IG1vdW50KDgpIGZhaWxlZCIKK21zZ3N0ciAibW91bnQ6IG5vIGhhIGVzdGF0IHBvc3NpYmxlIG11bnRhciIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDg5IHN5cy11dGlscy9tb3VudC5jOjU0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgJXMgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJtb3VudDogZWwgcHVudCBkZSBtdW50YXRnZSAlcyBubyDDqXMgdW4gZGlyZWN0b3JpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0OTMKKyMsIGZ1enp5Cittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorbXNnc3RyICJtb3VudDogaGF1cmV1IGRlIHNlciB1biBzdXBlcnVzdWFyaSBwZXIgYSB1c2FyIG1vdW50IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGJ1c3kiCittc2dzdHIgIm1vdW50OiAlcyBlc3TDoCBvY3VwYXQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9yICVzIGJ1c3kiCittc2dzdHIgIm1vdW50OiAlcyBqYSBlc3TDoCBtdW50YXQgbyAlcyBlc3TDoCBvY3VwYXQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorbXNnc3RyICJtb3VudDogJXMgamEgZXN0w6AgbXVudGF0IGEgJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAibW91bnQ6IGVsIHB1bnQgZGUgbXVudGF0Z2UgJXMgbm8gZXhpc3RlaXgiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgJXMgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCittc2dzdHIgIm1vdW50OiBlbCBwdW50IGRlIG11bnRhdGdlICVzIMOpcyB1biBlbmxsYcOnIHNpbWLDsmxpYyBzZW5zZSBkZXN0w60iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIm1vdW50OiBlbCBkaXNwb3NpdGl1IGVzcGVjaWFsICVzIG5vIGV4aXN0ZWl4IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MzYgc3lzLXV0aWxzL21vdW50LmM6NTM4IHN5cy11dGlscy9tb3VudC5jOjU0MAorIzogc3lzLXV0aWxzL21vdW50LmM6NTU1CisjLCBmdXp6eQorbXNnaWQgIm1vdW50KDIpIGZhaWxlZCIKK21zZ3N0ciAibm8gcydoYSBlc3RhdCBwb3NzaWJsZSBtdW50YXIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KSIKK21zZ3N0ciAiIgorIm1vdW50OiBlbCBkaXNwb3NpdGl1IGVzcGVjaWFsICVzIG5vIGV4aXN0ZWl4XG4iCisiICAgICAgICh1biBwcmVmaXggZGUgY2Ftw60gbm8gw6lzIHVuIGRpcmVjdG9yaSlcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICJtb3VudDogJXMgZW5jYXJhIG5vIGVzdMOgIG11bnRhdCBvIHVuYSBvcGNpw7Mgw6lzIGluY29ycmVjdGEiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50cG9pbnQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAibW91bnQ6ICVzIGVuY2FyYSBubyBlc3TDoCBtdW50YXQgbyB1bmEgb3BjacOzIMOpcyBpbmNvcnJlY3RhIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjUKK21zZ2lkICIiCisiYmFkIG9wdGlvbi4gTm90ZSB0aGF0IG1vdmluZyBhIG1vdW50IHJlc2lkaW5nIHVuZGVyIGEgc2hhcmVkXG4iCisiICAgICAgIG1vdW50IGlzIHVuc3VwcG9ydGVkLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ3cm9uZyBmcyB0eXBlLCBiYWQgb3B0aW9uLCBiYWQgc3VwZXJibG9jayBvbiAlcyxcbiIKKyIgICAgICAgbWlzc2luZyBjb2RlcGFnZSBvciBoZWxwZXIgcHJvZ3JhbSwgb3Igb3RoZXIgZXJyb3IiCittc2dzdHIgIiIKKyJtb3VudDogZWwgdGlwdXMgZGUgc2lzdGVtYSBkZSBmaXR4ZXJzIG8gw6lzIGNvcnJlY3RlLCBsYSBvcGNpw7Mgbm8gw6lzIGNvcnJlY3RhLFxuIgorIiAgICAgICBzdXBlcmJsb2MgaW5jb3JyZWN0ZSBhICVzLCBtYW5jYSBsYSBww6BnaW5hIGRlIGNvZGlzIG8gYWxndW4gYWx0cmUgZXJyb3IiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU3NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAgIChmb3Igc2V2ZXJhbCBmaWxlc3lzdGVtcyAoZS5nLiBuZnMsIGNpZnMpIHlvdSBtaWdodFxuIgorIiAgICAgICBuZWVkIGEgL3NiaW4vbW91bnQuPHR5cGU+IGhlbHBlciBwcm9ncmFtKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiAgICAgICBJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGlzIGZvdW5kIGluIHN5c2xvZyAtIHRyeVxuIgorIiAgICAgICBkbWVzZyB8IHRhaWwgb3Igc28uXG4iCittc2dzdHIgIiIKKyIgICAgICAgIEVuIGFsZ3VucyBjYXNvcywgZXMgcG90IHRyb2JhciBpbmZvcm1hY2nDsyDDunRpbCBhIHN5c2xvZyxcbiIKKyIgICAgICAgIHByb3ZldSBkbWVzZyB8IHRhaWwgbyBhaXjDrVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1ODMKK21zZ2lkICJtb3VudCB0YWJsZSBmdWxsIgorbXNnc3RyICJsYSB0YXVsYSBkZSBkaXNwb3NpdGl1cyBtdW50YXRzIGVzdMOgIHBsZW5hIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1ODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCByZWFkIHN1cGVyYmxvY2siCittc2dzdHIgIm1vdW50OiAlczogbm8gcydoYSBwb2d1dCBsbGVnaXIgZWwgc3VwZXJibG9jIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlICclcyciCittc2dzdHIgIm1vdW50OiBubyBlcyByZWNvbmVpeCBlbCBzaXRlbWEgZGUgZml0eGVycyDCqyVzwrsiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU5NAorIywgZnV6enkKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAibW91bnQ6IG5vIGVzIHJlY29uZWl4IGVsIHNpdGVtYSBkZSBmaXR4ZXJzIMKrJXPCuyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UsIGFuZCBzdGF0KDIpIGZhaWxzPyIKK21zZ3N0ciAibW91bnQ6ICVzIG5vIMOpcyBjYXAgZGlzcG9zaXRpdSBkZSBibG9jcywgaSBzdGF0IGZhbGxhPyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisidGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2VcbiIKKyIgICAgICAgKG1heWJlIGBtb2Rwcm9iZSBkcml2ZXInPykiCittc2dzdHIgIiIKKyJtb3VudDogZWwgbnVjbGkgbm8gcmVjb25laXggJXMgY29tIGEgZGlzcG9zaXRpdSBkZSBibG9jc1xuIgorIiAgICAgICAocG90c2VyIGZlbnQgwqtpbnNtb2QgY29udHJvbGFkb3LCuz8pIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSAobWF5YmUgdHJ5IGAtbyBsb29wJz8pIgorbXNnc3RyICJtb3VudDogJXMgbm8gw6lzIHVuIGRpc3Bvc2l0aXUgZGUgYmxvY3MgKHByb3ZldSBhbWIgYC1vIGxvb3AnKSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogbm8gw6lzIHVuIGRpc3Bvc2l0aXUgZGUgYmxvY1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAibW91bnQ6ICVzIG5vIMOpcyB1biBkaXNwb3NpdGl1IGRlIGJsb2NzIHbDoGxpZCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQgJXMgcmVhZC1vbmx5IgorbXNnc3RyICJtb3VudCA6IG5vIHMnaGEgcG9ndXQgbXVudGFyICVzJXMgY29tIGEgbm9tw6lzIGRlIGxlY3R1cmEiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCBgLXcnIGZsYWcgZ2l2ZW4iCittc2dzdHIgIm1vdW50IDogJXMlcyBlc3TDoCBwcm90ZWdpdCBjb250cmEgZXNjcmlwdHVyYSBwZXLDsiBzZSBsaSBoYSBkb25hdCBlbCBzZW55YWxhZG9yIGV4cGzDrWNpdCDCqy13wrsiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlbW91bnQgJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorbXNnc3RyICJtb3VudCA6IG5vIHMnaGEgcG9ndXQgbXVudGFyICVzJXMgY29tIGEgbm9tw6lzIGRlIGxlY3R1cmEiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYzMSBzeXMtdXRpbHMvbW91bnQuYzo2NTQgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgcmVhbm9tZW5hciAlcyBhICVzOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHdyaXRlLXByb3RlY3RlZCwgbW91bnRpbmcgcmVhZC1vbmx5IgorbXNnc3RyICJtb3VudDogJXMlcyBlc3TDoCBwcm90ZWdpdCBjb250cmEgZXNjcmlwdHVyYTsgZXMgbXVudGFyw6AgZW4gbm9tw6lzIGxlY3R1cmEiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gbWVkaXVtIGZvdW5kIG9uICVzIgorbXNnc3RyICJtb3VudDogJXMgamEgZXN0w6AgbXVudGF0IGEgJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBvcHRpb24gZm9ybWF0OiAlcyIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IGRlc2NvbmVndXQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFwcGVuZCBvcHRpb24gJyVzJyIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjczNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZV0gPHNvdXJjZT4gfCBbLS10YXJnZXRdIDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgPG9wZXJhdGlvbj4gPG1vdW50cG9pbnQ+IFs8dGFyZ2V0Pl1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NDQKKyMsIGZ1enp5Cittc2dpZCAiTW91bnQgYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJTJ2VzdMOgIGZvcsOnYW50IGxhIGNvbXByb3ZhY2nDsyBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzIGEgJXMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIG1vdW50IGFsbCBmaWxlc3lzdGVtcyBtZW50aW9uZWQgaW4gZnN0YWJcbiIKKyIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCisiIC1mLCAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIG1vdW50KDIpIHN5c2NhbGxcbiIKKyIgLUYsIC0tZm9yayAgICAgICAgICAgICAgZm9yayBvZmYgZm9yIGVhY2ggZGV2aWNlICh1c2Ugd2l0aCAtYSlcbiIKKyIgLVQsIC0tZnN0YWIgPHBhdGg+ICAgICAgYWx0ZXJuYXRpdmUgZmlsZSB0byAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSBtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIHNob3cgYWxzbyBmaWxlc3lzdGVtIGxhYmVsc1xuIgorbXNnc3RyICIgIFsgLWZpbGUgbm9tX2ZpdHhlcl9ib2xjYXQgXVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTggc3lzLXV0aWxzL3Vtb3VudC5jOjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtb3VudCBvcHRpb25zXG4iCisiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLW9ubHkgKHNhbWUgYXMgLW8gcm8pXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc2NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLXNvdXJjZSA8c3JjPiAgICAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIHNvdXJjZSAocGF0aCwgbGFiZWwsIHV1aWQpXG4iCisiICAgICAtLXRhcmdldCA8dGFyZ2V0PiAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3Njggc3lzLXV0aWxzL3Vtb3VudC5jOjk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU291cmNlOlxuIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXRoXG4iCisiIDxkaXJlY3Rvcnk+ICAgICAgICAgICAgIG1vdW50cG9pbnQgZm9yIGJpbmQgbW91bnRzIChzZWUgLS1iaW5kL3JiaW5kKVxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgICByZWd1bGFyIGZpbGUgZm9yIGxvb3BkZXYgc2V0dXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wZXJhdGlvbnM6XG4iCisiIC1CLCAtLWJpbmQgICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBzb21ld2hlcmUgZWxzZSAoc2FtZSBhcyAtbyBiaW5kKVxuIgorIiAtTSwgLS1tb3ZlICAgICAgICAgICAgICBtb3ZlIGEgc3VidHJlZSB0byBzb21lIG90aGVyIHBsYWNlXG4iCisiIC1SLCAtLXJiaW5kICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBhbmQgYWxsIHN1Ym1vdW50cyBzb21ld2hlcmUgZWxzZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc5NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1zaGFyZWQgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2Utc2xhdmUgICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcHJpdmF0ZSAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS11bmJpbmRhYmxlICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2UtcnNoYXJlZCAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXJzbGF2ZSAgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXJwcml2YXRlICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtcnVuYmluZGFibGUgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6ODg3IHN5cy11dGlscy91bW91bnQuYzo1NDgKKyMsIGZ1enp5Cittc2dpZCAibGlibW91bnQgY29udGV4dCBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibW91bnQ6IG5vIGhhIGVzdGF0IHBvc3NpYmxlIG11bnRhciIKKworIzogc3lzLXV0aWxzL21vdW50LmM6OTQ0IHN5cy11dGlscy91bW91bnQuYzo2MDEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCBvcHRpb25zIHBhdHRlcm4iCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcGFydGljacOzIGEgJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTA5NworIywgZnV6enkKK21zZ2lkICJzb3VyY2Ugc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJIZXUgZXNwZWNpZmljYXQgbcOpcyBjaWxpbmRyZXMgZGVscyBxdWUgY2FiZW4gYWwgZGlzYyIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstcWRdIC9wYXRoL3RvL2RpcmVjdG9yeVxuIgorIiAlMSRzIC14IC9kZXYvZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjIKK21zZ2lkICJDaGVjayB3aGV0aGVyIGEgZGlyZWN0b3J5IG9yIGZpbGUgaXMgYSBtb3VudHBvaW50LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTI1Cittc2dpZCAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgcXVpZXQgbW9kZSAtIGRvbid0IHByaW50IGFueXRoaW5nXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgYmxvY2sgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiZWwgbm9kZSBkJ2lkZW50aWZpY2FjacOzIGFycmVsIG5vIMOpcyB1biBkaXJlY3RvcmkiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MjAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiJXMgZXN0w6AgbXVudGF0Llx0ICIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkzIHN5cy11dGlscy91bnNoYXJlLmM6MjQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1cbiIKK21zZ3N0ciAiZm9ybWEgZCfDunM6ICVzIHByb2dyYW1hIFthcmcgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjc2Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIG5hbWVzcGFjZXMgb2Ygb3RoZXIgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzkKK21zZ2lkICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICB0YXJnZXQgcHJvY2VzcyB0byBnZXQgbmFtZXNwYWNlcyBmcm9tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MAorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICBlbnRlciBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MQorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICBlbnRlciBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgyCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgIGVudGVyIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgZW50ZXIgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgZW50ZXIgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NQorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICBlbnRlciBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODYKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgZW50ZXIgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODcKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgc2V0IHVpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg5Cittc2dpZCAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzIGRvIG5vdCB0b3VjaCB1aWRzIG9yIGdpZHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkwCittc2dpZCAiIC1yLCAtLXJvb3RbPTxkaXI+XSAgICAgc2V0IHRoZSByb290IGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTEKK21zZ2lkICIgLXcsIC0td2RbPTxkaXI+XSAgICAgICBzZXQgdGhlIHdvcmtpbmcgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MgorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgIGRvIG5vdCBmb3JrIGJlZm9yZSBleGVjJ2luZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjk0Cittc2dpZCAiIC1aLCAtLWZvbGxvdy1jb250ZXh0ICAgc2V0IFNFTGludXggY29udGV4dCBhY2NvcmRpbmcgdG8gLS10YXJnZXQgUElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAibmVpdGhlciBmaWxlbmFtZSBub3IgdGFyZ2V0IHBpZCBzdXBwbGllZCBmb3IgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoyNzcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHVpZCIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MjgxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBnaWQiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMxNworbXNnaWQgIm5vIHRhcmdldCBQSUQgc3BlY2lmaWVkIGZvciAtLWZvbGxvdy1jb250ZXh0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0ICVkIFNFTGludXggY29udGV4dCIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBlbHMgbm9kZXMgZCdpZGVudGlmaWNhY2nDsyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgZXhlYyBjb250ZXh0IHRvICclcyciCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcGFydGljacOzIGEgJXNcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlYXNzb2NpYXRlIHRvIG5hbWVzcGFjZSAnJXMnIGZhaWxlZCIKK21zZ3N0ciAic2Vtw6Bmb3JzIGFzc2lnbmF0cyA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzkwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2FudmlhciBlbCBtb2RlIGRlICVzOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM5NworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHJvb3QgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQwMAorIywgZnV6enkKK21zZ2lkICJjaHJvb3QgZmFpbGVkIgorbXNnc3RyICJubyBzJ2hhIGVzdGF0IHBvc3NpYmxlIG11bnRhciIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MTAKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSB3b3JraW5nIGRpcmVjdG9yeSBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDIxIHN5cy11dGlscy9zZXRwcml2LmM6ODE1IHN5cy11dGlscy9zZXRwcml2LmM6ODE5CisjLCBmdXp6eQorbXNnaWQgInNldGdyb3VwcyBmYWlsZWQiCittc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXIgJXMiCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gbmV3X3Jvb3QgcHV0X29sZFxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzcKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHRoZSByb290IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlMnZXN0w6AgZm9yw6dhbnQgbGEgY29tcHJvdmFjacOzIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnMgYSAlcy5cbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzo3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IGZyb20gYCVzJyB0byBgJXMnIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzUKK21zZ2lkICJhZGRyZXNzIHNwYWNlIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKKyMsIGZ1enp5Cittc2dpZCAibWF4IGNvcmUgZmlsZSBzaXplIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9icmlyIGVsIGZpdHhlciAnJXMnIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAiQ1BVIHRpbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworIywgZnV6enkKK21zZ2lkICJzZWNvbmRzIgorbXNnc3RyICJTZWN1bmTDoHJpYSBET1MiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzgKK21zZ2lkICJtYXggZGF0YSBzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzkKKyMsIGZ1enp5Cittc2dpZCAibWF4IGZpbGUgc2l6ZSIKK21zZ3N0ciAibWlkYSBkZSBub2RlIGQnaWRlbnRpZmljYWNpw7MgaW5jb3JyZWN0ZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIGZpbGUgbG9ja3MgaGVsZCIKK21zZ3N0ciAibcOgeC4gbm9tYnJlIGRlIHNlZ21lbnRzID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKKyMsIGZ1enp5Cittc2dpZCAibG9ja3MiCittc2dzdHIgIiVsZCBibG9jc1xuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCittc2dpZCAibWF4IGxvY2tlZC1pbi1tZW1vcnkgYWRkcmVzcyBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyCittc2dpZCAibWF4IGJ5dGVzIGluIFBPU0lYIG1xdWV1ZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MworbXNnaWQgIm1heCBuaWNlIHByaW8gYWxsb3dlZCB0byByYWlzZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0CisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2Ygb3BlbiBmaWxlcyIKK21zZ3N0ciAibcOgeC4gbm9tYnJlIGRlIHNlZ21lbnRzID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXMiCittc2dzdHIgIihGaXR4ZXIgc2Vnw7xlbnQ6ICVzKSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIHByb2Nlc3NlcyIKK21zZ3N0ciAibcOgeC4gbm9tYnJlIGRlIHNlZ21lbnRzID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKKyMsIGZ1enp5Cittc2dpZCAicHJvY2Vzc2VzIgorbXNnc3RyICIlczogbm8gcydoYSBwb2d1dCB0cm9iYXIgZWwgcHJvY8OpcyBcIiVzXCJcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NgorbXNnaWQgIm1heCByZXNpZGVudCBzZXQgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg3CisjLCBmdXp6eQorbXNnaWQgIm1heCByZWFsLXRpbWUgcHJpb3JpdHkiCittc2dzdHIgImdldHByaW9yaXR5IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAidGltZW91dCBmb3IgcmVhbC10aW1lIHRhc2tzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJtaWNyb3NlY3MiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscyIKK21zZ3N0ciAibcOgeC4gbm9tYnJlIGRlIHNlZ21lbnRzID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJzaWduYWxzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJtYXggc3RhY2sgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyMworIywgZnV6enkKK21zZ2lkICJyZXNvdXJjZSBuYW1lIgorbXNnc3RyICJOb20gZCd1c3VhcmkgaWzCt2xlZ2FsIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNAorIywgZnV6enkKK21zZ2lkICJyZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiZGlzcG9zaXRpdSBkZSBibG9jcyAiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI1Cittc2dpZCAic29mdCBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNgorbXNnaWQgImhhcmQgbGltaXQgKGNlaWxpbmcpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI3CisjLCBmdXp6eQorbXNnaWQgInVuaXRzIgorbXNnc3RyICJVbml0YXRzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXAgUElEXVxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIENPTU1BTkRcbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2NgorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZXNvdXJjZSBsaW1pdHMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmFsIE9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aWNpb25zOlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OQorbXNnaWQgIiIKKyIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBwcm9jZXNzIGlkXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorIiAgICAgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCisiICAgICAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorIiAgICAgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJSZXNvdXJjZXMgT3B0aW9uczpcbiIKK21zZ3N0ciAib3BjaW9ucyBwZXJpbGxvc2VzOiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzgKK21zZ2lkICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGNvcmUgZmlsZXMgY3JlYXRlZFxuIgorIiAtZCwgLS1kYXRhICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBhIHByb2Nlc3MncyBkYXRhIHNlZ21lbnRcbiIKKyIgLWUsIC0tbmljZSAgICAgICAgICAgICBtYXhpbXVtIG5pY2UgcHJpb3JpdHkgYWxsb3dlZCB0byByYWlzZVxuIgorIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBmaWxlcyB3cml0dGVuIGJ5IHRoZSBwcm9jZXNzXG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAgbWF4aW11bSBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAgbWF4aW11bSBzaXplIGEgcHJvY2VzcyBtYXkgbG9jayBpbnRvIG1lbW9yeVxuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgIG1heGltdW0gcmVzaWRlbnQgc2V0IHNpemVcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBvcGVuIGZpbGVzXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgbWF4aW11bSBieXRlcyBpbiBQT1NJWCBtZXNzYWdlIHF1ZXVlc1xuIgorIiAtciwgLS1ydHByaW8gICAgICAgICAgIG1heGltdW0gcmVhbC10aW1lIHNjaGVkdWxpbmcgcHJpb3JpdHlcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICBtYXhpbXVtIHN0YWNrIHNpemVcbiIKKyIgLXQsIC0tY3B1ICAgICAgICAgICAgICBtYXhpbXVtIGFtb3VudCBvZiBDUFUgdGltZSBpbiBzZWNvbmRzXG4iCisiIC11LCAtLW5wcm9jICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgdXNlciBwcm9jZXNzZXNcbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICBzaXplIG9mIHZpcnR1YWwgbWVtb3J5XG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgZmlsZSBsb2Nrc1xuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgIENQVSB0aW1lIGluIG1pY3Jvc2Vjb25kcyBhIHByb2Nlc3Mgc2NoZWR1bGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXIgcmVhbC10aW1lIHNjaGVkdWxpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0MyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzEKK21zZ2lkICJ1bmxpbWl0ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgb2xkICVzIGxpbWl0IgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzU2CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBzb2Z0IGxpbWl0ICVzIGNhbm5vdCBleGNlZWQgdGhlIGhhcmQgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmV3ICVzIGxpbWl0IGZvciBwaWQgJWQ6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcGFydGljacOzIGEgJXNcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NDU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgbGltaXQiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NQorbXNnaWQgIm9wdGlvbiAtLXBpZCBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjYxNgorIywgZnV6enkKK21zZ2lkICJvcHRpb25zIC0tcGlkIGFuZCBDT01NQU5EIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiVzOiBMZXMgb3BjaW9ucyAtLWFkanVzdCBpIC0tbm9hZGpmaWxlIHMnZXhjbG91ZW4gbcO6dHVhbWVudC4gTGVzIGhldSBlc3BlY2lmaWNhdCB0b3RlcyBkdWVzLlxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDcKK21zZ2lkICJEaXNwbGF5IGtlcm5lbCBwcm9maWxpbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbSwgLS1tYXBmaWxlIDxtYXBmaWxlPiAgIChkZWZhdWx0czogXCIlc1wiIGFuZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiVzXCIpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgIFByaW1lciAgICAgIMOabHRpbVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1wLCAtLXByb2ZpbGUgPHByby1maWxlPiAgKGRlZmF1bHQ6ICBcIiVzXCIpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE2Cittc2dpZCAiIC1NLCAtLW11bHRpcGxpZXIgPG11bHQ+ICAgc2V0IHRoZSBwcm9maWxpbmcgbXVsdGlwbGllciB0byA8bXVsdD5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgcHJpbnQgb25seSBpbmZvIGFib3V0IHRoZSBzYW1wbGluZyBzdGVwXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTgKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBkYXRhXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTkKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjAKK21zZ2lkICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIxCittc2dpZCAiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCB0aGUgY291bnRlcnMgKHJvb3Qgb25seSlcbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgIFByb3ZhIGxhIHZlcnNpw7MgZGVsIGdldG9wdCgxKVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjMKK21zZ2lkICIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHdyaXRpbmcgJXMiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZXNjcml1cmUgJXM6ICVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyNzEKK21zZ2lkICJBc3N1bWluZyByZXZlcnNlZCBieXRlIG9yZGVyLiBVc2UgLW4gdG8gZm9yY2UgbmF0aXZlIGJ5dGUgb3JkZXIuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2FtcGxpbmdfc3RlcDogJXVcbiIKK21zZ3N0ciAiUGFzc2EgZGUgcHJvYmVzOiAlaVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMDIgc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyglaSk6IHdyb25nIG1hcCBsaW5lIgorbXNnc3RyICIlczogJXMoJWkpOiBsw61uaWEgZGVsIG1hcGEgaW5jb3JyZWN0YVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgXCJfc3RleHRcIiBpbiAlcyIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgdHJvYmFyIFwiX3N0ZXh0XCIgYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozNDYKKyMsIGZ1enp5Cittc2dpZCAicHJvZmlsZSBhZGRyZXNzIG91dCBvZiByYW5nZS4gV3JvbmcgbWFwIGZpbGU/IgorbXNnc3RyICIlcyBhZHJlw6dhIGRlbCBwZXJmaWwgZm9yYSBkZWwgcmFuZy4gRml0eGVyIGBtYXAnIGluY29ycmVjdGU/XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjQwNAorbXNnaWQgInRvdGFsIgorbXNnc3RyICJ0b3RhbCIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUyCittc2dpZCAicHJvY2VzcyBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTMKK21zZ2lkICJwcm9jZXNzIGdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+IFstcHwtLXBpZF0gPHBpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC1nfC0tcGdycCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC11fC0tdXNlciA8dXNlcj4uLi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjcKK21zZ2lkICJBbHRlciB0aGUgcHJpb3JpdHkgb2YgcnVubmluZyBwcm9jZXNzZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcwCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIHNwZWNpZnkgdGhlIG5pY2UgaW5jcmVtZW50IHZhbHVlXG4iCittc2dzdHIgIkludHJvZHXDr3UgZWwgbm9tYnJlIGRlIGNpbGluZHJlczogIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgSUQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzIKK21zZ2lkICIgLWcsIC0tcGdycCA8aWQ+ICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBncm91cCBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MworbXNnaWQgIiAtdSwgLS11c2VyIDxuYW1lPnw8aWQ+IGludGVycHJldCBhcmd1bWVudCBhcyB1c2VybmFtZSBvciB1c2VyIElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBwYXJ0aWNpw7MgYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCAoJXMpIG9sZCBwcmlvcml0eSAlZCwgbmV3IHByaW9yaXR5ICVkXG4iCittc2dzdHIgIiVkOiBwcmlvcml0YXQgYW50aWdhICVkLCBub3ZhIHByaW9yaXRhdCAlZFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHVzZXIgJXMiCittc2dzdHIgIiVzOiBPcmRyZSBkZXNjb25lZ3VkYTogJXNcbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyBvbmUgb2YgdGhlIGFib3ZlCisjLiAqIHRocmVlIElEIG5hbWVzLiBSZWFkOiAiYmFkIHZhbHVlIGZvciAlczogJXMiCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgJXMgdmFsdWU6ICVzIgorbXNnc3RyICJ2YWxvciBkJ2V4cGlyYWNpw7MgZXJyb25pOiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo5OAorbXNnaWQgIkVudGVyIGEgc3lzdGVtIHNsZWVwIHN0YXRlIHVudGlsIGEgc3BlY2lmaWVkIHdha2V1cCB0aW1lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgcmVhZHMgdGhlIGNsb2NrIG1vZGUgZnJvbSBhZGp1c3QgZmlsZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtQSwgLS1hZGpmaWxlIDxmaWxlPiAgICAgc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA1Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICBkYXRlIHRpbWUgb2YgdGltZXN0YW1wIHRvIHdha2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNgorbXNnaWQgIiAtZCwgLS1kZXZpY2UgPGRldmljZT4gICAgc2VsZWN0IHJ0YyBkZXZpY2UgKHJ0YzB8cnRjMXwuLi4pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDcKK21zZ2lkICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGRvZXMgZXZlcnl0aGluZywgYnV0IHN1c3BlbmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOAorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA5Cittc2dpZCAiICAgICAtLWxpc3QtbW9kZXMgICAgICAgICBsaXN0IGF2YWlsYWJsZSBtb2Rlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEwCittc2dpZCAiIC1tLCAtLW1vZGUgPG1vZGU+ICAgICAgICBzdGFuZGJ5fG1lbXwuLi4gc2xlZXAgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTExCittc2dpZCAiIC1zLCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTIKK21zZ2lkICIgLXQsIC0tdGltZSA8dGltZV90PiAgICAgIHRpbWUgdG8gd2FrZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEzCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIHVzZXMgVVRDXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTY3CisjLCBmdXp6eQorbXNnaWQgInJlYWQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICJubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBnZXR0aW1lb2ZkYXkiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTczCisjLCBmdXp6eQorbXNnaWQgInJlYWQgc3lzdGVtIHRpbWUgZmFpbGVkIgorbXNnc3RyICJzZW3DoGZvcnMgYXNzaWduYXRzID0gJWRcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiY29udmVydCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgIiIKKyJcbiIKKyJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHRhbmNhciBlbCBmaXR4ZXJcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyMzcKK21zZ2lkICJzZXQgcnRjIHdha2UgYWxhcm0gZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzA3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdGhpcmQgbGluZSBpbjogJXM6ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzIwIHN5cy11dGlscy9ydGN3YWtlLmM6NjI0CisjLCBmdXp6eQorbXNnaWQgInJlYWQgcnRjIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAic2Vtw6Bmb3JzIGFzc2lnbmF0cyA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvZmZcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMzOAorIywgZnV6enkKK21zZ2lkICJjb252ZXJ0IHRpbWUgZmFpbGVkIgorbXNnc3RyICJubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBnZXR0aW1lb2ZkYXkiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvbiAgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkOiAlcyIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBvYnJpciAlc1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHN1c3BlbmQgc3RhdGUgJyVzJyIKK21zZ3N0ciAiICVzOiBubyBzJ2hhIHBvZ3V0IHJlY29uw6hpeGVyIGVsIHRpcHVzIGRlIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0NzUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzZWNvbmRzIGFyZ3VtZW50IgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGludsOgbGlkIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ3OQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHRpbWUgYXJndW1lbnQiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhc3N1bWluZyBSVEMgdXNlcyBVVEMgLi4uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTEKKyMsIGZ1enp5Cittc2dpZCAiVXNpbmcgVVRDIHRpbWUuXG4iCittc2dzdHIgIlVzYW50ICVzLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxMgorIywgZnV6enkKK21zZ2lkICJVc2luZyBsb2NhbCB0aW1lLlxuIgorbXNnc3RyICJVc2FudCAlcy5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTUKK21zZ2lkICJtdXN0IHByb3ZpZGUgd2FrZSB0aW1lIChzZWUgLS1zZWNvbmRzLCAtLXRpbWUgYW5kIC0tZGF0ZSBvcHRpb25zKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGVuYWJsZWQgZm9yIHdha2V1cCBldmVudHMiCittc2dzdHIgIiVzOiAlcyBubyDDqXMgdW4gZGlzcG9zaXRpdSBscC5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm0gJWxkLCBzeXNfdGltZSAlbGQsIHJ0Y190aW1lICVsZCwgc2Vjb25kcyAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTM1CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUgZG9lc24ndCBnbyBiYWNrd2FyZCB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiTWlzc2F0Z2UgZGUgJXNAJXMgZWwgJXMgYSBsZXMgJXMgLi4uIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCBmcm9tIFwiJXNcIiB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiTWlzc2F0Z2UgZGUgJXNAJXMgZWwgJXMgYSBsZXMgJXMgLi4uIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU1OQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG5vOyBsZWF2aW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvZmY7IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogb247IHJlYWRpbmcgcnRjXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1OTIKKyMsIGZ1enp5Cittc2dpZCAicnRjIHJlYWQgZmFpbGVkIgorbXNnc3RyICIoRml0eGVyIHNlZ8O8ZW50OiAlcykiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjA0CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogZGlzYWJsZTsgZGlzYWJsaW5nIGFsYXJtXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBzaG93OyBwcmludGluZyBhbGFybSBpbmZvXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiAlczsgc3VzcGVuZGluZyBzeXN0ZW1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyOQorbXNnaWQgImRpc2FibGUgcnRjIGFsYXJtIGludGVycnVwdCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo0OAorIywgYy1mb3JtYXQKK21zZ2lkICJTd2l0Y2hpbmcgb24gJXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxhcmNoPiBbb3B0aW9uc10gWzxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgImZvcm1hIGQnw7pzOiAlcyBwcm9ncmFtYSBbYXJnIC4uLl1cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiZm9ybWEgZCfDunM6ICVzIHByb2dyYW1hIFthcmcgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk2Cittc2dpZCAiQ2hhbmdlIHRoZSByZXBvcnRlZCBhcmNoaXRlY3R1cmUgYW5kIHNldCBwZXJzb25hbGl0eSBmbGFncy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk5Cittc2dpZCAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB0dXJucyBvbiBBRERSX0xJTUlUXzMyQklUXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDAKK21zZ2lkICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIG1ha2VzIGZ1bmN0aW9uIHBvaW50ZXJzIHBvaW50IHRvIGRlc2NyaXB0b3JzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDEKK21zZ2lkICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIHR1cm5zIG9uIFNIT1JUX0lOT0RFXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDIKK21zZ2lkICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMworbXNnaWQgIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgZGlzYWJsZXMgcmFuZG9taXphdGlvbiBvZiB0aGUgdmlydHVhbCBhZGRyZXNzIHNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDQKK21zZ2lkICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHR1cm5zIG9uIFdIT0xFX1NFQ09ORFNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNQorbXNnaWQgIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgdHVybnMgb24gU1RJQ0tZX1RJTUVPVVRTXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDYKK21zZ2lkICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDcKK21zZ2lkICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHR1cm5zIG9uIE1NQVBfUEFHRV9aRVJPXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDgKK21zZ2lkICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDkKK21zZ2lkICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGlnbm9yZWQgKGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IG9ubHkpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTAKK21zZ2lkICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHR1cm5zIG9uIFVOQU1FMjZcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheSB3aGF0IG9wdGlvbnMgYXJlIGJlaW5nIHN3aXRjaGVkIG9uXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExNAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3Qgc2V0dGFibGUgYXJjaGl0ZWN0dXJlcywgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiJXNcbiIKKyJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorbXNnc3RyICJFc2NvbGxpdSBgZ2V0b3B0IC0taGVscCcgcGVyIG9idGVuaXIgbcOpcyBpbmZvcm1hY2nDsy5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCittc2dzdHIgIkVzY29sbGl1IGBnZXRvcHQgLS1oZWxwJyBwZXIgb2J0ZW5pciBtw6lzIGluZm9ybWFjacOzLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IFVucmVjb2duaXplZCBhcmNoaXRlY3R1cmUiCittc2dzdHIgIiAlczogbm8gcydoYSBwb2d1dCByZWNvbsOoaXhlciBlbCB0aXB1cyBkZSBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgY2Fubm90IHNldCBhcmNoaXRlY3R1cmUgdG8gJXMiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2J0ZW5pciBlbCB0ZW1wcyBkJ2VzcGVyYSBwZXIgYSAlczogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozMDUKKyMsIGZ1enp5Cittc2dpZCAiTm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIk1hc3NhIGFyZ3VtZW50cy5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcGFydGljacOzIGEgJXNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNzkKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnLS1saXN0JyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCByZWNvbsOoaXhlciBsJ2VudHJhZGE6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzg3CisjLCBmdXp6eQorbXNnaWQgIm5vIGFyY2hpdGVjdHVyZSBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgIk1hc3NhIGFyZ3VtZW50cy5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcGFydGljacOzIGEgJXNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGUgY29tbWFuZCBgJXMnLlxuIgorbXNnc3RyICJTJ2VzdMOgIGV4ZWN1dGFudCBsJ29yZHJlIGRhdGU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggZGlmZmVyZW50IHByaXZpbGVnZSBzZXR0aW5ncy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMAorbXNnaWQgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgc2hvdyBjdXJyZW50IHN0YXRlIChhbmQgZG8gbm90IGV4ZWMgYW55dGhpbmcpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDEKK21zZ2lkICIgLS1ubnAsIC0tbm8tbmV3LXByaXZzICAgIGRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDIKK21zZ2lkICIgLS1pbmgtY2FwcyA8Y2FwcywuLi4+ICAgIHNldCBpbmhlcml0YWJsZSBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMworbXNnaWQgIiAtLWJvdW5kaW5nLXNldCA8Y2Fwcz4gICAgc2V0IGNhcGFiaWxpdHkgYm91bmRpbmcgc2V0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAiIC0tcnVpZCA8dWlkPiAgICAgICAgICAgICBzZXQgcmVhbCB1aWRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA1Cittc2dpZCAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA2Cittc2dpZCAiIC0tcmdpZCA8Z2lkPiAgICAgICAgICAgICBzZXQgcmVhbCBnaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNworbXNnaWQgIiAtLWVnaWQgPGdpZD4gICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwOAorbXNnaWQgIiAtLXJldWlkIDx1aWQ+ICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwOQorbXNnaWQgIiAtLXJlZ2lkIDxnaWQ+ICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMAorbXNnaWQgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgY2xlYXIgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMQorbXNnaWQgIiAtLWtlZXAtZ3JvdXBzICAgICAgICAgICAga2VlcCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEyCittc2dpZCAiIC0tZ3JvdXBzIDxncm91cCwuLi4+ICAgICBzZXQgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMworbXNnaWQgIiAtLXNlY3VyZWJpdHMgPGJpdHM+ICAgICAgc2V0IHNlY3VyZWJpdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNAorbXNnaWQgIiAtLXNlbGludXgtbGFiZWwgPGxhYmVsPiAgc2V0IFNFTGludXggbGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNQorbXNnaWQgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgc2V0IEFwcEFybW9yIHByb2ZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyMQorbXNnaWQgIiBUaGlzIHRvb2wgY2FuIGJlIGRhbmdlcm91cy4gIFJlYWQgdGhlIG1hbnBhZ2UsIGFuZCBiZSBjYXJlZnVsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTkzIHN5cy11dGlscy9zZXRwcml2LmM6NDY3Cittc2dpZCAiZ2V0dGluZyBwcm9jZXNzIHNlY3VyZSBiaXRzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN1cmViaXRzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIltub25lXVxuIgorbXNnc3RyICJDYXAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIGxvbmciCittc2dzdHIgIkzDrW5pYSBtYXNzYSBsbGFyZ2EiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNzMgc3lzLXV0aWxzL3NldHByaXYuYzozMjEgc3lzLXV0aWxzL3NldHByaXYuYzozMjYKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzMyIHN5cy11dGlscy9zZXRwcml2LmM6MzM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV0iCittc2dzdHIgIkNhcCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkOiAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImV1aWQ6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VpZDogJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5OSBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5MQorIywgZnV6enkKK21zZ2lkICJnZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBoYSBmYWxsYXQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzA4IHN5cy11dGlscy9zZXRwcml2LmM6NDA2CisjLCBmdXp6eQorbXNnaWQgImdldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGhhIGZhbGxhdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRWZmZWN0aXZlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBlcm1pdHRlZCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzMAorIywgYy1mb3JtYXQKK21zZ2lkICJJbmhlcml0YWJsZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzNQorIywgYy1mb3JtYXQKK21zZ2lkICJDYXBhYmlsaXR5IGJvdW5kaW5nIHNldDogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQzCisjLCBmdXp6eQorbXNnaWQgIlNFTGludXggbGFiZWwiCittc2dzdHIgIkxpbnV4IHRleHQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQ2Cittc2dpZCAiQXBwQXJtb3IgcHJvZmlsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYXAgJWQ6IGxpYmNhcC1uZyBpcyBicm9rZW4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODIKK21zZ2lkICJJbnZhbGlkIHN1cHBsZW1lbnRhcnkgZ3JvdXAgaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozOTkKKyMsIGZ1enp5Cittc2dpZCAic2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgaGEgZmFsbGF0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQxNAorIywgZnV6enkKK21zZ2lkICJzZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBoYSBmYWxsYXQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDM1Cittc2dpZCAiYmFkIGNhcGFiaWxpdHkgc3RyaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDQzCittc2dpZCAibGliY2FwLW5nIGlzIHRvbyBvbGQgZm9yIFwiYWxsXCIgY2FwcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjYXBhYmlsaXR5IFwiJXNcIiIKK21zZ3N0ciAiTm8gaGkgaGEgY2FwIGRpcmVjdG9yaSAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ3NgorIywgZnV6enkKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IHNldCAtLSByZWZ1c2luZyB0byBhZGp1c3QiCittc2dzdHIgImZvcm1hdCBubyByZWNvbmVndXQ7IHMnZXN0w6AgdXNhbnQgZWxzIHNlY3RvcnNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0ODAKK21zZ2lkICJiYWQgc2VjdXJlYml0cyBzdHJpbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAiK2FsbCBzZWN1cmViaXRzIGlzIG5vdCBhbGxvd2VkIgorbXNnc3RyICLCqyVjwrsgbm8gZXN0w6AgcGVybcOocy5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDAKK21zZ2lkICJhZGp1c3Rpbmcga2VlcF9jYXBzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDQKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCByZWNvbsOoaXhlciBsJ2VudHJhZGE6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTI0Cittc2dpZCAiU0VMaW51eCBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2xvc2UgZmFpbGVkOiAlcyIKK21zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU0NworbXNnaWQgIkFwcEFybW9yIGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjU4Cittc2dpZCAiZHVwbGljYXRlIC0tbm8tbmV3LXByaXZzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY2MworbXNnaWQgImR1cGxpY2F0ZSBydWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjY1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBydWlkIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NjkKK21zZ2lkICJkdXBsaWNhdGUgZXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY3MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXVpZCIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njc1Cittc2dpZCAiZHVwbGljYXRlIHJ1aWQgb3IgZXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY3NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmV1aWQiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4MQorbXNnaWQgImR1cGxpY2F0ZSByZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjgzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZ2lkIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODcKK21zZ2lkICJkdXBsaWNhdGUgZWdpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWdpZCIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjkzCittc2dpZCAiZHVwbGljYXRlIHJnaWQgb3IgZWdpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY5NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmVnaWQiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcwMAorbXNnaWQgImR1cGxpY2F0ZSAtLWNsZWFyLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MDYKK21zZ2lkICJkdXBsaWNhdGUgLS1rZWVwLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MTIKK21zZ2lkICJkdXBsaWNhdGUgLS1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzIxCittc2dpZCAiZHVwbGljYXRlIC0taW5oLWNhcHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzI3Cittc2dpZCAiZHVwbGljYXRlIC0tYm91bmRpbmctc2V0IG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjczMworbXNnaWQgImR1cGxpY2F0ZSAtLXNlY3VyZWJpdHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzM5Cittc2dpZCAiZHVwbGljYXRlIC0tc2VsaW51eC1sYWJlbCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NDUKK21zZ2lkICJkdXBsaWNhdGUgLS1hcHBhcm1vci1wcm9maWxlIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnJWMnIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHJlY29uw6hpeGVyIGwnZW50cmFkYTogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NjMKK21zZ2lkICItLWR1bXAgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzEKK21zZ2lkICItLWxpc3QtY2FwcyBtdXN0IGJlIHNwZWNpZmllZCBhbG9uZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3NworIywgZnV6enkKK21zZ2lkICJObyBwcm9ncmFtIHNwZWNpZmllZCIKK21zZ3N0ciAiTm8gcydoYSBlc3BlY2lmaWNhdCBsJ29wY2nDsyAtLWRhdGUuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgyCittc2dpZCAiLS1bcmVdZ2lkIHJlcXVpcmVzIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCBvciAtLWdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4NQorbXNnaWQgImRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MworbXNnaWQgImtlZXAgcHJvY2VzcyBjYXBhYmlsaXRpZXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODAxCittc2dpZCAiYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA3Cittc2dpZCAicmVhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjMKKyMsIGZ1enp5Cittc2dpZCAic2V0IHByb2Nlc3Mgc2VjdXJlYml0cyBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGhhIGZhbGxhdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjkKK21zZ2lkICJhcHBseSBib3VuZGluZyBzZXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzUKK21zZ2lkICJhcHBseSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBleGVjdXRlOiAlcyIKK21zZ3N0ciAibm8gZXMgcG90IGZlciBcInN0YXRcIiBhbCBkaXNwb3NpdGl1ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFthcmd1bWVudHMgLi4uXVxuIgorbXNnc3RyICJmb3JtYSBkJ8O6czogJXMgcHJvZ3JhbWEgW2FyZyAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozNgorbXNnaWQgIlJ1biBhIHByb2dyYW0gaW4gYSBuZXcgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzkKK21zZ2lkICIgLWMsIC0tY3R0eSAgICAgc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCB0byB0aGUgY3VycmVudCBvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDAKK21zZ2lkICIgLXcsIC0td2FpdCAgICAgd2FpdCBwcm9ncmFtIHRvIGV4aXQsIGFuZCB1c2UgdGhlIHNhbWUgcmV0dXJuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjkzCisjLCBmdXp6eQorbXNnaWQgImZvcmsiCittc2dzdHIgImJpZnVyY2FjacOzOiAlcyIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjEwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hpbGQgJWQgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJtb3VudDogZWwgcHVudCBkZSBtdW50YXRnZSAlcyBubyBleGlzdGVpeCIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExMAorIywgZnV6enkKK21zZ2lkICJzZXRzaWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBoYSBmYWxsYXQiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcGFydGljacOzIGEgJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3dhcG9mZiAlc1xuIgorbXNnc3RyICIlcyBhICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA1CisjLCBmdXp6eQorbXNnaWQgIk5vdCBzdXBlcnVzZXIuIgorbXNnc3RyICJObyBzb3UgZWwgc3VwZXJ1c3VhcmkuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9mZiBmYWlsZWQiCittc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjIgc3lzLXV0aWxzL3N3YXBvbi5jOjc4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHNwZWM+XVxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI1Cittc2dpZCAiRGlzYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyOAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBzd2FwcyBmcm9tIC9wcm9jL3N3YXBzXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMzUKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkzCisjLCBmdXp6eQorbXNnaWQgImRldmljZSBmaWxlIG9yIHBhcnRpdGlvbiBwYXRoIgorbXNnc3RyICIgICBkICAgc3VwcmltZWl4IHVuYSBwYXJ0aWNpw7MiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NAorIywgZnV6enkKK21zZ2lkICJ0eXBlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgwqtzdGF0wrsgYWwgY2Ftw61cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk1CisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIHN3YXAgYXJlYSIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBleGVjdXRhciDCq3N0YXTCuyBhbCBjYW3DrVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTYKKyMsIGZ1enp5Cittc2dpZCAiYnl0ZXMgaW4gdXNlIgorbXNnc3RyICJNYXJjYSdsIGVuIMO6cyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk3CisjLCBmdXp6eQorbXNnaWQgInN3YXAgcHJpb3JpdHkiCittc2dzdHIgInNldHByaW9yaXR5IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTgKK21zZ2lkICJzd2FwIHV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk5CisjLCBmdXp6eQorbXNnaWQgInN3YXAgbGFiZWwiCittc2dzdHIgInNlbnNlIGV0aXF1ZXRhLCAiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNcdFx0XHRcdFR5cGVcdFx0U2l6ZVx0VXNlZFx0UHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ2Cittc2dpZCAiRmlsZW5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVpbml0aWFsaXppbmcgdGhlIHN3YXAuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsc2VlayBmYWlsZWQiCittc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIHNpZ25hdHVyZSBmYWlsZWQiCittc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXIgJXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyAtIGl0IGFwcGVhcnMgdG8gaGF2ZSBob2xlcy4iCittc2dzdHIgIiVzOiBTJ2VzdMOgIG9tZXRlbnQgZWwgZml0eGVyICVzIC0gc2VtYmxhIHF1ZSB0w6kgZm9yYXRzLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0IHNpemUgZmFpbGVkIgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgc3dhcCBoZWFkZXIgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZvdW5kIHNpZ25hdHVyZSBbcGFnZXNpemU9JWQsIHNpZ25hdHVyZT0lc10iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFnZXNpemU9JWQsIHN3YXBzaXplPSVsbHUsIGRldnNpemU9JWxsdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsYXN0X3BhZ2UgMHglMDhsbHggaXMgbGFyZ2VyIHRoYW4gYWN0dWFsIHNpemUgb2Ygc3dhcHNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4gKFVzZSAtLWZpeHBnc3ogdG8gcmVpbml0aWFsaXplIGl0LikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc29mdHdhcmUgc3VzcGVuZCBkYXRhIGRldGVjdGVkLiBSZXdyaXRpbmcgdGhlIHN3YXAgc2lnbmF0dXJlLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb24gJXNcbiIKK21zZ3N0ciAiJXMgYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9uIGZhaWxlZCIKK21zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm9hdXRvIG9wdGlvbiAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogb3BjacOzIGRlc2NvbmVndWRhIMKrLSVjwrtcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgYWN0aXZlIC0tIGlnbm9yZWQiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaW5hY2Nlc3NpYmxlIC0tIGlnbm9yZWQiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgZWxzIG5vZGVzIGQnaWRlbnRpZmljYWNpw7MiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTEKK21zZ2lkICJFbmFibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTUKK21zZ2lkICIgLWQsIC0tZGlzY2FyZFs9PHBvbGljeT5dIGVuYWJsZSBzd2FwIGRpc2NhcmRzLCBpZiBzdXBwb3J0ZWQgYnkgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NgorbXNnaWQgIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgc2lsZW50bHkgc2tpcCBkZXZpY2VzIHRoYXQgZG8gbm90IGV4aXN0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NworbXNnaWQgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTgKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHN3YXAgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTkKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDAKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBkaXNwbGF5IHN1bW1hcnkgYWJvdXQgdXNlZCBzd2FwIGRldmljZXMgKERFUFJFQ0FURUQpXG4iCittc2dzdHIgIiAgICAtbCBbbyAtLWxpc3RdOiAgICAgICBNb3N0cmEgbGVzIHBhcnRpY2lvbnMgZGUgY2FkYSBkaXNwb3NpdGl1IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAxCittc2dpZCAiICAgICAtLXNob3dbPTxjb2x1bW5zPl0gICBkaXNwbGF5IHN1bW1hcnkgaW4gZGVmaW5hYmxlIHRhYmxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IHRhYmxlIGhlYWRpbmcgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMworIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIGRpc3BsYXkgc3dhcCBzaXplIGluIGJ5dGVzIGluIC0tc2hvdyBvdXRwdXRcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODIxCittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBkaXNjYXJkIHBvbGljeSB0eXBlcyAoZm9yIC0tZGlzY2FyZCk6XG4iCisiIG9uY2UgICAgOiBvbmx5IHNpbmdsZS10aW1lIGFyZWEgZGlzY2FyZHMgYXJlIGlzc3VlZFxuIgorIiBwYWdlcyAgIDogZnJlZWQgcGFnZXMgYXJlIGRpc2NhcmRlZCBiZWZvcmUgdGhleSBhcmUgcmV1c2VkXG4iCisiSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCBib3RoIGRpc2NhcmQgdHlwZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQpLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MjYKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93KTpcbiIKK21zZ3N0ciAiT3JkcmVzIGRpc3BvbmlibGVzOlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTA0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwcmlvcml0eSIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBwYXJ0aWNpw7MgYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIiVzOiBhcmd1bWVudCBkZXNjb25lZ3V0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCB0aGUgZGV2aWNlIGZvciAlcyIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgdHJvYmFyIGVsIGRpc3Bvc2l0aXUgcGVyIGEgJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NTkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGlyZWN0b3J5IgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjcKKyMsIGZ1enp5Cittc2dpZCAic3RhdCBmYWlsZWQiCittc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NzgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgZGlyZWN0b3J5IgorbXNnc3RyICJlbCBub2RlIGQnaWRlbnRpZmljYWNpw7MgYXJyZWwgbm8gw6lzIHVuIGRpcmVjdG9yaSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdW5saW5rICVzIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvICVzIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmb3JjaW5nIHVubW91bnQgb2YgJXMiCittc2dzdHIgIlMnZXN0w6AgaW50ZW50YW50IGRlc211bnRhciAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJuYW1laTogbm8gcydoYSBwb2d1dCBvYnRlbmlyIGVsIGRpcmVjdG9yaSBhY3R1YWwgLSAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gLyIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcGFydGljacOzIGEgJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTg4Cittc2dpZCAib2xkIHJvb3QgZmlsZXN5c3RlbSBpcyBub3QgYW4gaW5pdHJhbWZzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bmV3cm9vdGRpcj4gPGluaXQ+IDxhcmdzIHRvIGluaXQ+XG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA0Cittc2dpZCAiU3dpdGNoIHRvIGFub3RoZXIgZmlsZXN5c3RlbSBhcyB0aGUgcm9vdCBvZiB0aGUgbW91bnQgdHJlZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMzYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkLiBTb3JyeS4iCittc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgYWNjZXNzICVzIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9icmlyIGVsIGZpdHhlciAnJXMnIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTQKK21zZ2lkICJTZXQgdmFyaW91cyBwYXJhbWV0ZXJzIGZvciB0aGUgbGluZSBwcmludGVyLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5NworbXNnaWQgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIHNwZWNpZnkgcGFyYWxsZWwgcG9ydCBpcnFcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTgKK21zZ2lkICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICBkcml2ZXIgd2FpdCB0aW1lIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5OQorbXNnaWQgIiAtYywgLS1jaGFycyA8bnVtPiAgICAgICAgICAgIG51bWJlciBvZiBvdXRwdXQgY2hhcmFjdGVycyBiZWZvcmUgc2xlZXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAwCittc2dpZCAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgc3Ryb2JlIHdhaXQgaW4gbWljcm8gc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBkbyBub3QgdHJhbnNsYXRlIDxvbnxvZmY+IGFyZ3VtZW50cy4gVGhlCisjLiBhcmd1bWVudCByZWFkZXIgZG9lcyBub3QgcmVjb2duaXplIGxvY2FsZSwgdW5sZXNzIGBvbicgaXMKKyMuIGV4YWN0bHkgdGhhdCB2ZXJ5IHNhbWUgc3RyaW5nLgorIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNAorbXNnaWQgIiAtYSwgLS1hYm9ydCA8b258b2ZmPiAgICAgICAgIGFib3J0IG9uIGVycm9yXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNQorbXNnaWQgIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gIGNoZWNrIHByaW50ZXIgc3RhdHVzIGJlZm9yZSBwcmludGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDYKK21zZ2lkICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICBleHRyYSBjaGVja2luZyB0byBzdGF0dXMgY2hlY2tcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA3CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIHF1ZXJ5IHByaW50ZXIgc3RhdHVzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA4Cittc2dpZCAiIC1ULCAtLXRydXN0LWlycSA8b258b2ZmPiAgICAgbWFrZSBkcml2ZXIgdG8gdHJ1c3QgaXJxXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICByZXNldCB0aGUgcG9ydFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMAorbXNnaWQgIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgIGRpc3BsYXkgY3VycmVudCBpcnEgc2V0dGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBhbiBscCBkZXZpY2UiCittc2dzdHIgIiVzOiAlcyBubyDDqXMgdW4gZGlzcG9zaXRpdSBscC5cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4MAorIywgZnV6enkKK21zZ2lkICJMUEdFVFNUQVRVUyBlcnJvciIKK21zZ3N0ciAiZXJyb3IgZGUgTFBHRVRJUlEiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3RhdHVzIGlzICVkIgorbXNnc3RyICJsJ2VzdGF0IGRlICVzIMOpcyAlZCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIsIGJ1c3kiCittc2dzdHIgIiwgb2N1cGF0IgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgcmVhZHkiCittc2dzdHIgIiwgYSBwdW50IgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb3V0IG9mIHBhcGVyIgorbXNnc3RyICIsIGZhbHRhIHBhcGVyIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb24tbGluZSIKK21zZ3N0ciAiLCBlbiBsw61uaWEiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBlcnJvciIKK21zZ3N0ciAiLCBlcnJvciIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMwMAorIywgZnV6enkKK21zZ2lkICJpb2N0bCBmYWlsZWQiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZmVyIGZzeW5jIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzEwCittc2dpZCAiTFBHRVRJUlEgZXJyb3IiCittc2dzdHIgImVycm9yIGRlIExQR0VUSVJRIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIElSUSAlZFxuIgorbXNnc3RyICIlcyBlc3TDoCB1c2FudCBsYSBJUlEgJWRcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBwb2xsaW5nXG4iCittc2dzdHIgIiVzIGVzdMOgIHVzYW50IGVzY3J1dGluaVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstaFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IHwgPGRpcmVjdG9yeT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODEKKyMsIGZ1enp5Cittc2dpZCAiVW5tb3VudCBmaWxlc3lzdGVtcy5cbiIKK21zZ3N0ciAiSW50cm9kdcOvdSBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzOiAiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgdW5tb3VudCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg1Cittc2dpZCAiIgorIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICB1bm1vdW50IGFsbCBtb3VudHBvaW50cyBmb3IgdGhlIGdpdmVuIGRldmljZSBpbiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NworbXNnaWQgIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODgKK21zZ2lkICIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAgaWYgbW91bnRlZCBsb29wIGRldmljZSwgYWxzbyBmcmVlIHRoaXMgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODkKK21zZ2lkICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgdW1vdW50KDIpIHN5c2NhbGxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTAKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgZm9yY2UgdW5tb3VudCAoaW4gY2FzZSBvZiBhbiB1bnJlYWNoYWJsZSBORlMgc3lzdGVtKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MQorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSB1bW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGRldGFjaCB0aGUgZmlsZXN5c3RlbSBub3csIGNsZWFuIHVwIHRoaW5ncyBsYXRlclxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk0Cittc2dpZCAiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NQorbXNnaWQgIiAtUiwgLS1yZWN1cnNpdmUgICAgICAgICByZWN1cnNpdmVseSB1bm1vdW50IGEgdGFyZ2V0IHdpdGggYWxsIGl0cyBjaGlsZHJlblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgaW4gY2FzZSB1bm1vdW50aW5nIGZhaWxzLCB0cnkgdG8gcmVtb3VudCByZWFkLW9ubHlcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NworIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiAgIGwgICBsbGlzdGEgZWxzIHRpcHVzIGRlIHNpc3RlbWVzIGRlIGZpdHhlcnMgY29uZWd1dHMiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglcykgdW5tb3VudGVkIgorbXNnc3RyICIlcyBlc3TDoCBtdW50YXQuXHQgIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyB1bm1vdW50ZWQiCittc2dzdHIgInVtb3VudDogJXM6IG5vIHMnaGEgdHJvYmF0IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW1vdW50IGZhaWxlZCIKK21zZ3N0ciAibm8gcydoYSBlc3RhdCBwb3NzaWJsZSBtdW50YXIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCittc2dzdHIgIm1vdW50OiBubyBoYSBlc3RhdCBwb3NzaWJsZSBtdW50YXIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAidW1vdW50OiAlczogZGlzcG9zaXRpdSBkZSBibG9jcyBubyB2w6BsaWQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorbXNnc3RyICJtb3VudDogJXM6IG5vIHMnaGEgcG9ndXQgbGxlZ2lyIGVsIHN1cGVyYmxvYyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXM6IHRhcmdldCBpcyBidXN5XG4iCisiICAgICAgICAoSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBhYm91dCBwcm9jZXNzZXMgdGhhdFxuIgorIiAgICAgICAgIHVzZSB0aGUgZGV2aWNlIGlzIGZvdW5kIGJ5IGxzb2YoOCkgb3IgZnVzZXIoMSkuKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnRwb2ludCBub3QgZm91bmQiCittc2dzdHIgInVtb3VudDogJXM6IG5vIHMnaGEgdHJvYmF0IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjUwCisjLCBmdXp6eQorbXNnaWQgInVuZGVmaW5lZCBtb3VudHBvaW50IgorbXNnc3RyICJtb3VudDogbm8gcydoYSBwb2d1dCB0cm9iYXIgJXMgYSAlcyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVubW91bnQiCittc2dzdHIgInVtb3VudDogJXM6IGhhdXJldSBkZSBzZXIgc3VwZXJ1c3VhcmkgcGVyIHBvZGVyIHVzYXIgdW1vdW50IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYmxvY2sgZGV2aWNlcyBhcmUgbm90IHBlcm1pdHRlZCBvbiBmaWxlc3lzdGVtIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBkaXNwb3NpdGl1cyBkZSBibG9jcyBubyBwZXJtZXNvcyBlbiBlbCBzaXN0ZW1hIGRlIGZpdHhlcnMiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozMDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCB1bW91bnQgdGFyZ2V0IgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMyMworIywgZnV6enkKK21zZ2lkICJsaWJtb3VudCB0YWJsZSBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibW91bnQ6IG5vIGhhIGVzdGF0IHBvc3NpYmxlIG11bnRhciIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjM2NiBzeXMtdXRpbHMvdW1vdW50LmM6NDQ2CisjLCBmdXp6eQorbXNnaWQgImxpYm1vdW50IGl0ZXJhdG9yIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJtb3VudDogbm8gaGEgZXN0YXQgcG9zc2libGUgbXVudGFyIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGNoaWxkIGZzIG9mICVzIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo0MTAgc3lzLXV0aWxzL3Vtb3VudC5jOjQzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBmb3VuZCIKK21zZ3N0ciAidW1vdW50OiAlczogbm8gcydoYSB0cm9iYXQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo0NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlICgtLWFsbC10YXJnZXRzIGlzIHVuc3VwcG9ydGVkIG9uIHN5c3RlbXMgd2l0aCByZWd1bGFyIG10YWIgZmlsZSkuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIC0tc2V0Z3JvdXBzIGFyZ3VtZW50ICclcyciCittc2dzdHIgIiVzOiBhcmd1bWVudCBkZXNjb25lZ3V0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjExMCBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkICVzIgorbXNnc3RyICIoRml0eGVyIHNlZ8O8ZW50OiAlcykiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcm9wYWdhdGlvbiBtb2RlOiAlcyIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IGRlc2NvbmVndXQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjaGFuZ2Ugcm9vdCBmaWxlc3lzdGVtIHByb3BhZ2F0aW9uIgorbXNnc3RyICJTJ2VzdMOgIGZvcsOnYW50IGxhIGNvbXByb3ZhY2nDsyBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzIGEgJXMuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCAlcyIKK21zZ3N0ciAibm8gZXMgcG90IGZlciBcInN0YXRcIiBhbCBkaXNwb3NpdGl1ICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIxMworIywgZnV6enkKK21zZ2lkICJwaXBlIGZhaWxlZCIKK21zZ3N0ciAibm8gaGEgZXN0YXQgcG9zc2libGUgZXhlY3V0YXIgb3BlbnB0eVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIyNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwaXBlIgorbXNnc3RyICJubyBlcyBwb3QgZmVyIHN0YXQgcGVyIGEgJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUwCittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIHNvbWUgbmFtZXNwYWNlcyB1bnNoYXJlZCBmcm9tIHRoZSBwYXJlbnQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTMKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU0CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTUKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NgorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU4CisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU5CisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gICAgIHVuc2hhcmUgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICBmb3JrIGJlZm9yZSBsYXVuY2hpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MQorbXNnaWQgIiAgICAgLS1tb3VudC1wcm9jWz08ZGlyPl0gIG1vdW50IHByb2MgZmlsZXN5c3RlbSBmaXJzdCAoaW1wbGllcyAtLW1vdW50KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYyCittc2dpZCAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbWFwIGN1cnJlbnQgdXNlciB0byByb290IChpbXBsaWVzIC0tdXNlcilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MworbXNnaWQgIiIKKyIgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZ5IG1vdW50IHByb3BhZ2F0aW9uIGluIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY1CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zZXRncm91cHMgYWxsb3d8ZGVueSAgY29udHJvbCB0aGUgc2V0Z3JvdXBzIHN5c2NhbGwgaW4gdXNlciBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjM4NgorIywgZnV6enkKK21zZ2lkICJ1bnNoYXJlIGZhaWxlZCIKK21zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzMAorIywgZnV6enkKK21zZ2lkICJjaGlsZCBleGl0IGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgaGEgZmFsbGF0IgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzNworIywgZnV6enkKK21zZ2lkICJvcHRpb25zIC0tc2V0Z3JvdXBzPWFsbG93IGFuZCAtLW1hcC1yb290LXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiJXM6IExlcyBvcGNpb25zIC0tYWRqdXN0IGkgLS1ub2FkamZpbGUgcydleGNsb3VlbiBtw7p0dWFtZW50LiBMZXMgaGV1IGVzcGVjaWZpY2F0IHRvdGVzIGR1ZXMuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBmYWlsZWQiCittc2dzdHIgIm5vIHMnaGEgZXN0YXQgcG9zc2libGUgbXVudGFyIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3MworbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc0Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NQorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAiRmFuIGZhaWxlZCIKK21zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NworbXNnaWQgIktlZXAgYWxpdmUgcGluZyByZXBseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OAorbXNnaWQgIlN1cHBvcnRzIG1hZ2ljIGNsb3NlIGNoYXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzkKK21zZ2lkICJSZXNldCBkdWUgdG8gQ1BVIG92ZXJoZWF0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgwCittc2dpZCAiUG93ZXIgb3ZlciB2b2x0YWdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgxCittc2dpZCAiUG93ZXIgYmFkL3Bvd2VyIGZhdWx0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgyCisjLCBmdXp6eQorbXNnaWQgIlByZXRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJTJ2hhIGV4Y2VkaXQgZWwgdGVtcHMgZCdlc3BlcmEgcGVyIGEgbCdlbnRyYWRhIGFsIGNhcCBkZSAlZCBzZWdvbnMuXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgzCisjLCBmdXp6eQorbXNnaWQgIlNldCB0aW1lb3V0IChpbiBzZWNvbmRzKSIKK21zZ3N0ciAiUydoYSBleGNlZGl0IGVsIHRlbXBzIGQnZXNwZXJhIHBlciBhIGwnZW50cmFkYSBhbCBjYXAgZGUgJWQgc2Vnb25zLlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4NAorbXNnaWQgIk5vdCB0cmlnZ2VyIHJlYm9vdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDAKK21zZ2lkICJmbGFnIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgImZsYWcgZGVzY3JpcHRpb24iCittc2dzdHIgImRpc3Bvc2l0aXUgZGUgYmxvY3MgIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBzdGF0dXMiCittc2dzdHIgImVzdGF0IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBib290IHN0YXR1cyIKK21zZ3N0ciAibm8gZXMgcG90IGZlciBzdGF0IHBlciBhICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAid2F0Y2hkb2cgZGV2aWNlIG5hbWUiCittc2dzdHIgInVtb3VudDogJXM6IGRpc3Bvc2l0aXUgZGVzY29uZWd1dCIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZsYWc6ICVzIgorbXNnc3RyICIlczogYXJndW1lbnQgZGVzY29uZWd1dDogJXNcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTc3Cittc2dpZCAiU2hvdyB0aGUgc3RhdHVzIG9mIHRoZSBoYXJkd2FyZSB3YXRjaGRvZy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxODAKK21zZ2lkICIiCisiIC1mLCAtLWZsYWdzIDxsaXN0PiAgICAgcHJpbnQgc2VsZWN0ZWQgZmxhZ3Mgb25seVxuIgorIiAtRiwgLS1ub2ZsYWdzICAgICAgICAgIGRvbid0IHByaW50IGluZm9ybWF0aW9uIGFib3V0IGZsYWdzXG4iCisiIC1JLCAtLW5vaWRlbnQgICAgICAgICAgZG9uJ3QgcHJpbnQgd2F0Y2hkb2cgaWRlbnRpdHkgaW5mb3JtYXRpb25cbiIKKyIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLU8sIC0tb25lbGluZSAgICAgICAgICBwcmludCBhbGwgaW5mb3JtYXRpb24gb24gb25lIGxpbmVcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBvdXRwdXQgY29sdW1ucyBvZiB0aGUgZmxhZ3NcbiIKKyIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXQgZm9yIGZsYWdzIHRhYmxlXG4iCisiIC1ULCAtLW5vdGltZW91dHMgICAgICAgZG9uJ3QgcHJpbnQgd2F0Y2hkb2cgdGltZW91dHNcbiIKKyIgLXMsIC0tc2V0dGltZW91dCA8c2VjPiBzZXQgd2F0Y2hkb2cgdGltZW91dFxuIgorIiAteCwgLS1mbGFncy1vbmx5ICAgICAgIHByaW50IG9ubHkgZmxhZ3MgdGFibGUgKHNhbWUgYXMgLUkgLVQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGVmYXVsdCBkZXZpY2UgaXMgJXMuXG4iCittc2dzdHIgImxvb3A6IG5vIHMnaGEgcG9ndXQgb2JyaXIgZWwgZGlzcG9zaXRpdSAlczogJXNcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk5CisjLCBmdXp6eQorbXNnaWQgIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorbXNnc3RyICJPcmRyZXMgZGlzcG9uaWJsZXM6XG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjI4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZmxhZ3MgMHgleFxuIgorbXNnc3RyICIlczogc2VueWFsIGRlc2NvbmVndXQgJXNcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzE5IHN5cy11dGlscy93ZGN0bC5jOjM3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2F0Y2hkb2cgYWxyZWFkeSBpbiB1c2UsIHRlcm1pbmF0aW5nLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMzMgc3lzLXV0aWxzL3dkY3RsLmM6NDAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRpc2FybSB3YXRjaGRvZyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCByZWJvYmluYXIgZWwgZGlzcG9zaXRpdSBkJ2ludGVyY2FudmkiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0aW1lb3V0IGZvciAlcyIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBvYnRlbmlyIGVsIHRlbXBzIGQnZXNwZXJhIHBlciBhICVzOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZC5cbiIKK21zZ2lkX3BsdXJhbCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kcy5cbiIKK21zZ3N0clswXSAiSGFuIHRyYW5zY29ycmVndXQgJWQgc2Vnb25zIGRlcyBkZSBsJ8O6bHRpbSBhanVzdFxuIgorbXNnc3RyWzFdICJIYW4gdHJhbnNjb3JyZWd1dCAlZCBzZWdvbnMgZGVzIGRlIGwnw7psdGltIGFqdXN0XG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgd2F0Y2hkb2ciCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIGEgd3JpdGVfdGFibGVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjQgc3lzLXV0aWxzL3dkY3RsLmM6NDY3IHN5cy11dGlscy93ZGN0bC5jOjQ3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJS0xNHMgJTJpIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICIlLTE0cyAlMmkgc2Vjb25kc1xuIgorbXNnc3RyWzBdICIlcyAgJS42ZiBzZWdvbnNcbiIKK21zZ3N0clsxXSAiJXMgICUuNmYgc2Vnb25zXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NQorbXNnaWQgIlRpbWVvdXQ6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2OAorIywgZnV6enkKK21zZ2lkICJQcmUtdGltZW91dDoiCittc2dzdHIgInMnaGEgZXhoYXVyaXQgZWwgdGVtcHMgZCdlc3BlcmEiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ3MQorbXNnaWQgIlRpbWVsZWZ0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDUKKyMsIGZ1enp5Cittc2dpZCAiRGV2aWNlOiIKK21zZ3N0ciAiRGlzcG9zaXRpdSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA3Cittc2dpZCAiSWRlbnRpdHk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwOQorbXNnaWQgInZlcnNpb24iCittc2dzdHIgInZlcnNpw7MiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAienJhbSBkZXZpY2UgbmFtZSIKK21zZ3N0ciAidW1vdW50OiAlczogZGlzcG9zaXRpdSBkZXNjb25lZ3V0IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc0Cittc2dpZCAibGltaXQgb24gdGhlIHVuY29tcHJlc3NlZCBhbW91bnQgb2YgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc1Cittc2dpZCAidW5jb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NgorbXNnaWQgImNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc3Cittc2dpZCAidGhlIHNlbGVjdGVkIGNvbXByZXNzaW9uIGFsZ29yaXRobSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc4Cittc2dpZCAibnVtYmVyIG9mIGNvbmN1cnJlbnQgY29tcHJlc3Mgb3BlcmF0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc5CisjLCBmdXp6eQorbXNnaWQgImVtcHR5IHBhZ2VzIHdpdGggbm8gYWxsb2NhdGVkIG1lbW9yeSIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBsYSBtZW3DsnJpYSB0ZW1wb3JhbC5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MAorbXNnaWQgImFsbCBtZW1vcnkgaW5jbHVkaW5nIGFsbG9jYXRvciBmcmFnbWVudGF0aW9uIGFuZCBtZXRhZGF0YSBvdmVyaGVhZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgxCittc2dpZCAibWVtb3J5IGxpbWl0IHVzZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODIKK21zZ2lkICJtZW1vcnkgenJhbSBoYXZlIGJlZW4gY29uc3VtZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODMKK21zZ2lkICJudW1iZXIgb2Ygb2JqZWN0cyBtaWdyYXRlZCBieSBjb21wYWN0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6MzYzIHN5cy11dGlscy96cmFtY3RsLmM6Mzc0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyIgJTEkcyAtciA8ZGV2aWNlPiBbLi4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxkZXZpY2U+IC1zIDxzaXplPlxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogbWtmcyBbLVZdIFstdCB0aXB1c19zaXMuX2ZpdHguXSBbb3BjaW9uc19zaXMuX2ZpdHguXSAgZGlzcG9zaXRpdSBbbWlkYV1cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MjcKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgenJhbSBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMwCittc2dpZCAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0ICAgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIHVzZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMxCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzIKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgZmluZCBhIGZyZWUgZGV2aWNlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzQKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPWNhZGVuYV9vcGNpb25zIE9wY2lvbnMgY3VydGVzIGEgcmVjb27DqGl4ZXJcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgdXNlIHJhdyBzdGF0dXMgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzYKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM3CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaXplIDxzaXplPiAgICAgICAgIGRldmljZSBzaXplXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzOAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tc3RyZWFtcyA8bnVtYmVyPiAgICBudW1iZXIgb2YgY29tcHJlc3Npb24gc3RyZWFtc1xuIgorbXNnc3RyICIgICAgLVMjIFtvIC0tc2VjdG9ycyAjXTogICBFc3RhYmxlaXggZWwgbm9tYnJlIGRlIHNlY3RvcnMgcXVlIHMndXNhcmFuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYWxnb3JpdGhtOiAlcyIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IGRlc2NvbmVndXQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjI2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdHJlYW1zIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NDgKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9uIC0tZmluZCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8ZGV2aWNlPiIKK21zZ3N0ciAiJXM6IExlcyBvcGNpb25zIC0tYWRqdXN0IGkgLS1ub2FkamZpbGUgcydleGNsb3VlbiBtw7p0dWFtZW50LiBMZXMgaGV1IGVzcGVjaWZpY2F0IHRvdGVzIGR1ZXMuXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjU0Cittc2dpZCAib25seSBvbmUgPGRldmljZT4gYXQgYSB0aW1lIGlzIGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NTcKK21zZ2lkICJvcHRpb25zIC0tYWxnb3JpdGhtIGFuZCAtLXN0cmVhbXMgbXVzdCBiZSBjb21iaW5lZCB3aXRoIC0tc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY4NyBzeXMtdXRpbHMvenJhbWN0bC5jOjcxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZXNldCIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njk4IHN5cy11dGlscy96cmFtY3RsLmM6NzA2Cittc2dpZCAibm8gZnJlZSB6cmFtIGRldmljZSBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgbnVtYmVyIG9mIHN0cmVhbXMiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYWxnb3JpdGhtIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGRpc2tzaXplICglanUgYnl0ZXMpIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMlcyAoYXV0b21hdGljIGxvZ2luKVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHJvb3QgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSB3b3JraW5nIGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2FudmlhciBlbCBtb2RlIGRlICVzOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSBwcm9jZXNzIHByaW9yaXR5OiAlbSIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgdHJvYmFyIGVsIHByb2PDqXMgXCIlc1wiXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBleGVjICVzOiAlbSIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjU1NSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg0MSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg1MworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzAgdGVybS11dGlscy9hZ2V0dHkuYzoxNDE1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQzMworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDY5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ3OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE1MTYKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk3OCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI1MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnk6ICVtIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIGxhIG1lbcOycmlhIHRlbXBvcmFsLlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjY4MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGRlbGF5IGFyZ3VtZW50IgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGludsOgbGlkIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjcxOQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC0tbG9jYWwtbGluZSIKK21zZ3N0ciAiaWQgaW52w6BsaWQgOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjczOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG5pY2UgYXJndW1lbnQiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODc1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzcGVlZDogJXMiCittc2dzdHIgInZlbG9jaXRhdCBpbmNvcnJlY3RhOiAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzcKK21zZ2lkICJ0b28gbWFueSBhbHRlcm5hdGUgc3BlZWRzIgorbXNnc3RyICJtYXNzYSB2ZWxvY2l0YXRzIGFsdGVybmF0aXZlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDA2IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAxMCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IG9wZW4gYXMgc3RhbmRhcmQgaW5wdXQ6ICVtIgorbXNnc3RyICIvZGV2LyVzOiBubyBlcyBwb3Qgb2JyaXIgY29tIGEgZW50cmFkYSBlc3TDoG5kYXJkOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIGNoYXJhY3RlciBkZXZpY2UiCittc2dzdHIgIi9kZXYvJXM6IG5vIMOpcyB1biBkaXNwb3NpdGl1IGRlIGNhcsOgY3RlciIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSB0dHkiCittc2dzdHIgImVsIG5vZGUgZCdpZGVudGlmaWNhY2nDsyBhcnJlbCBubyDDqXMgdW4gZGlyZWN0b3JpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzUgdGVybS11dGlscy9hZ2V0dHkuYzoxMDY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3QgZ2V0IGNvbnRyb2xsaW5nIHR0eTogJW0iCittc2dzdHIgIi9kZXYvJXM6IG5vIGVzIHBvdCBvYnJpciBjb20gYSBlbnRyYWRhIGVzdMOgbmRhcmQ6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IHZoYW5ndXAoKSBmYWlsZWQ6ICVtIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGJpZnVyY2FyXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG9wZW4gZm9yIHJlYWQvd3JpdGUiCittc2dzdHIgIiVzOiBubyBzJ2hhIG9iZXJ0IHBlciBhIGxlY3R1cmEvZXNjcmlwdHVyYSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgc2V0IHByb2Nlc3MgZ3JvdXA6ICVtIgorbXNnc3RyICIlczogbm8gcydoYSBwb2d1dCB0cm9iYXIgZWwgcHJvY8OpcyBcIiVzXCJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkdXAgcHJvYmxlbTogJW0iCittc2dzdHIgIiVzOiBwcm9ibGVtYSBkZSBkdXA6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICJubyBlcyBwb3Qgb2J0ZW5pciBsYSBtaWRhIGRlICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzMjEgdGVybS11dGlscy9hZ2V0dHkuYzoxMzQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXMgZmFpbGVkOiAlbSIKK21zZ3N0ciAibm8gZXMgcG90IG9idGVuaXIgbGEgbWlkYSBkZSAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDU5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIG9zLXJlbGVhc2UgZmlsZSIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBvYnJpciBlbCBmaXR4ZXIgJyVzJyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNjM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHJlbG9hZCBmaWxlOiAlczogJW0iCittc2dzdHIgIm5vIGhhIGVzdGF0IHBvc3NpYmxlIGV4ZWN1dGFyIGlvY3RsKCkgcGVyIGxsZWdpciBsJ2hvcmEgZGUgJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTczNgorbXNnaWQgIltwcmVzcyBFTlRFUiB0byBsb2dpbl0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzYwCittc2dpZCAiTnVtIExvY2sgb2ZmIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2MworbXNnaWQgIk51bSBMb2NrIG9uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2NgorbXNnaWQgIkNhcHMgTG9jayBvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjkKK21zZ2lkICJTY3JvbGwgTG9jayBvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJIaW50OiAlc1xuIgorIlxuIgorbXNnc3RyICJ0aXB1czogJXNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkOiAlbSIKK21zZ3N0ciAiJXM6IGxlY3R1cmE6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlucHV0IG92ZXJydW4iCittc2dzdHIgIiVzOiBkZXNib3JkYW1lbnQgZGUgbCdlbnRyYWRhIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NzQgdGVybS11dGlscy9hZ2V0dHkuYzoxOTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciBjb252ZXJzaW9uIGZvciBsb2dpbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgMHgleCBpbiBsb2dpbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIm5vIGVzIHBvdCBvYnRlbmlyIGxhIG1pZGEgZGUgJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEwOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxsaW5lPiBbPGJhdWRfcmF0ZT4sLi4uXSBbPHRlcm10eXBlPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGJhdWRfcmF0ZT4sLi4uIDxsaW5lPiBbPHRlcm10eXBlPl1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTMKK21zZ2lkICJPcGVuIGEgdGVybWluYWwgYW5kIHNldCBpdHMgbW9kZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTYKKyMsIGZ1enp5Cittc2dpZCAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIGFzc3VtZSA4LWJpdCB0dHlcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExNworbXNnaWQgIiAtYSwgLS1hdXRvbG9naW4gPHVzZXI+ICAgICBsb2dpbiB0aGUgc3BlY2lmaWVkIHVzZXIgYXV0b21hdGljYWxseVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExOAorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAgZG8gbm90IHJlc2V0IGNvbnRyb2wgbW9kZVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE5CisjLCBmdXp6eQorbXNnaWQgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICB1c2UgLXIgPGhvc3RuYW1lPiBmb3IgbG9naW4oMSlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMAorbXNnaWQgIiAtZiwgLS1pc3N1ZS1maWxlIDxmaWxlPiAgICBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjEKK21zZ2lkICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgZW5hYmxlIGhhcmR3YXJlIGZsb3cgY29udHJvbFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMgorIywgZnV6enkKK21zZ2lkICIgLUgsIC0taG9zdCA8aG9zdG5hbWU+ICAgICAgc3BlY2lmeSBsb2dpbiBob3N0XG4iCittc2dzdHIgIiIKKyIgIC1zLCAtLXNoZWxsPWludMOocnByZXRfb3JkcmVzIEVzdGFibGVpeCBlbHMgbWF0ZWl4b3MgY29udmVuaXMgcXVhbnQgYSBsZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tZXRlcyBxdWUgbCdpbnRlcnByZXQgZCdvcmRyZXMgaW5kaWNhdFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjMKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGRvIG5vdCBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWVpeCBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIGEgbGEgcGFudGFsbGEgbyBlbiB1biBmaXR4ZXIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNAorbXNnaWQgIiAtSSwgLS1pbml0LXN0cmluZyA8c3RyaW5nPiBzZXQgaW5pdCBzdHJpbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjUKKyMsIGZ1enp5Cittc2dpZCAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIGRvIG5vdCBjbGVhciB0aGUgc2NyZWVuIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNgorbXNnaWQgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBzcGVjaWZ5IGxvZ2luIHByb2dyYW1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjcKK21zZ2lkICIgLUwsIC0tbG9jYWwtbGluZVs9PG1vZGU+XSAgY29udHJvbCB0aGUgbG9jYWwgbGluZSBmbGFnXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI4Cittc2dpZCAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI5CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBkbyBub3QgcHJvbXB0IGZvciBsb2dpblxuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgTm8gZXNjcmlndWVzIHJlYWxtZW50IGFsIGRpc2MiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMAorIywgZnV6enkKK21zZ2lkICIgLU4gIC0tbm9uZXdsaW5lICAgICAgICAgICAgZG8gbm90IHByaW50IGEgbmV3bGluZSBiZWZvcmUgaXNzdWVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWVpeCBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIGEgbGEgcGFudGFsbGEgbyBlbiB1biBmaXR4ZXIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMQorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8b3B0cz4gb3B0aW9ucyB0aGF0IGFyZSBwYXNzZWQgdG8gbG9naW5cbiIKK21zZ3N0ciAiICAtbCwgLS1sb25nb3B0aW9ucz1vcGNfbGxhcmcgICBPcGNpb25zIGxsYXJndWVzIGEgcmVjb27DqGl4ZXJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMyCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICB3YWl0IGZvciBhbnkga2V5IGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIE5vIGVzY3JpZ3VlcyByZWFsbWVudCBhbCBkaXNjIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzMKK21zZ2lkICIgLXIsIC0tY2hyb290IDxkaXI+ICAgICAgICAgY2hhbmdlIHJvb3QgdG8gdGhlIGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNAorIywgZnV6enkKK21zZ2lkICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgZG8gdmlydHVhbGx5IGhhbmd1cCBvbiB0aGUgdHR5XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzUKK21zZ2lkICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgdHJ5IHRvIGtlZXAgYmF1ZCByYXRlIGFmdGVyIGJyZWFrXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM2Cittc2dpZCAiIC10LCAtLXRpbWVvdXQgPG51bWJlcj4gICAgIGxvZ2luIHByb2Nlc3MgdGltZW91dFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNworbXNnaWQgIiAtVSwgLS1kZXRlY3QtY2FzZSAgICAgICAgICBkZXRlY3QgdXBwZXJjYXNlIHRlcm1pbmFsXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM4CisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICB3YWl0IGNhcnJpYWdlLXJldHVyblxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM5CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBkbyBub3QgcHJpbnQgaGludHNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIE5vIGVzY3JpZ3VlcyByZWFsbWVudCBhbCBkaXNjIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgIG5vIGhvc3RuYW1lIGF0IGFsbCB3aWxsIGJlIHNob3duXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1laXggbGEgdGF1bGEgZGUgcGFydGljaW9ucyBhIGxhIHBhbnRhbGxhIG8gZW4gdW4gZml0eGVyIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDEKK21zZ2lkICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgc2hvdyBmdWxsIHF1YWxpZmllZCBob3N0bmFtZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MgorbXNnaWQgIiAgICAgLS1lcmFzZS1jaGFycyA8c3RyaW5nPiBhZGRpdGlvbmFsIGJhY2tzcGFjZSBjaGFyc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MworbXNnaWQgIiAgICAgLS1raWxsLWNoYXJzIDxzdHJpbmc+ICBhZGRpdGlvbmFsIGtpbGwgY2hhcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDQKK21zZ2lkICIgICAgIC0tY2hkaXIgPGRpcmVjdG9yeT4gICAgY2hkaXIgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tZGVsYXkgPG51bWJlcj4gICAgICAgc2xlZXAgc2Vjb25kcyBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDYKK21zZ2lkICIgICAgIC0tbmljZSA8bnVtYmVyPiAgICAgICAgcnVuIGxvZ2luIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NworIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgcmVsb2FkIHByb21wdHMgb24gcnVubmluZyBhZ2V0dHkgaW5zdGFuY2VzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBObyBlc2NyaWd1ZXMgcmVhbG1lbnQgYWwgZGlzYyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ4CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1oZWxwICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDkKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcnNpb24gICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI0ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIHVzZXIiCittc2dpZF9wbHVyYWwgIiVkIHVzZXJzIgorbXNnc3RyWzBdICJ1c3VhcmkiCittc2dzdHJbMV0gInVzdWFyaSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaGVja25hbWUgZmFpbGVkOiAlbSIKK21zZ3N0ciAibm8gcydoYSBlc3RhdCBwb3NzaWJsZSBtdW50YXIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHRvdWNoIGZpbGUgJXMiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2JyaXIgZWwgZml0eGVyICclcyciCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYyNQorbXNnaWQgIi0tcmVsb2FkIGlzIHVuc3VwcG9ydGVkIG9uIHlvdXIgc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFt5IHwgbl1cbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3OAorbXNnaWQgIkNvbnRyb2wgd3JpdGUgYWNjZXNzIG9mIG90aGVyIHVzZXJzIHRvIHlvdXIgdGVybWluYWwuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMjUKKyMsIGZ1enp5Cittc2dpZCAidHR5bmFtZSBmYWlsZWQiCittc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIyBGSVhNRSAneScgdW50cmFuc2xhdGVhYmxlPworIzogdGVybS11dGlscy9tZXNnLmM6MTM0CisjLCBmdXp6eQorbXNnaWQgImlzIHkiCittc2dzdHIgIsOpcyB5XG4iCisKKyMgRklYTUUgJ24nIHVudHJhbnNsYXRlYWJsZT8KKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNworIywgZnV6enkKK21zZ2lkICJpcyBuIgorbXNnc3RyICLDqXMgblxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNDggdGVybS11dGlscy9tZXNnLmM6MTU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2UgJXMgbW9kZSBmYWlsZWQiCittc2dzdHIgInNlbcOgZm9ycyBhc3NpZ25hdHMgPSAlZFxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNTAKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBhbGxvd2VkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1NworbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGRlbmllZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJpZCBpbnbDoGxpZCA6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTYyCittc2dpZCAiTWFrZSBhIHR5cGVzY3JpcHQgb2YgYSB0ZXJtaW5hbCBzZXNzaW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTY1Cittc2dpZCAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICBhcHBlbmQgdGhlIG91dHB1dFxuIgorIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiBydW4gY29tbWFuZCByYXRoZXIgdGhhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgorIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICByZXR1cm4gZXhpdCBjb2RlIG9mIHRoZSBjaGlsZCBwcm9jZXNzXG4iCisiIC1mLCAtLWZsdXNoICAgICAgICAgICAgIHJ1biBmbHVzaCBhZnRlciBlYWNoIHdyaXRlXG4iCisiICAgICAtLWZvcmNlICAgICAgICAgICAgIHVzZSBvdXRwdXQgZmlsZSBldmVuIHdoZW4gaXQgaXMgYSBsaW5rXG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIGJlIHF1aWV0XG4iCisiIC10LCAtLXRpbWluZ1s9PGZpbGU+XSAgIG91dHB1dCB0aW1pbmcgZGF0YSB0byBzdGRlcnIgKG9yIHRvIEZJTEUpXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJvdXRwdXQgZmlsZSBgJXMnIGlzIGEgbGlua1xuIgorIlVzZSAtLWZvcmNlIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuXG4iCisiUHJvZ3JhbSBub3Qgc3RhcnRlZC4iCittc2dzdHIgIiIKKyJBdsOtczogwqslc8K7IMOpcyB1biBlbmxsYcOnLlxuIgorIlVzZXUgwqslcyBbb3BjaW9uc10gJXPCuyBzaSByZWFsbWVudCBkZXNpdGdldSB1c2FyLWxvLlxuIgorIk5vIHMnaGEgZXhlY3V0YXQgc2NyaXB0LlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgZG9uZSwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICJTJ2hhIGZldCBsYSBzZXHDvMOobmNpYSwgZWwgZml0eGVyIMOpcyAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI2MgorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgd3JpdGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIiVzOiBubyBzJ2hhIHBvZ3V0IHRyb2JhciBlbCBkaXNwb3NpdGl1IHBlciBhICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXMiCittc2dzdHIgIlMnaGEgaW5pY2lhdCBsJ2V4ZWN1Y2nDsyBkZSBzY3JpcHQgYSAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNjcmlwdCBkb25lIG9uICVzIgorbXNnc3RyICIiCisiXG4iCisiUydoYSBmaW5hbGl0emF0IGwnZXhlY3VjacOzIGRlIHNjcmlwdCBhICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYwNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiCittc2dzdHIgIm5vIGVzIHBvdCBvYnRlbmlyIGxhIG1pZGEgZGUgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjE0CisjLCBmdXp6eQorbXNnaWQgIm9wZW5wdHkgZmFpbGVkIgorbXNnc3RyICJubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBvcGVucHR5XG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjUyCisjLCBmdXp6eQorbXNnaWQgIm91dCBvZiBwdHkncyIKK21zZ3N0ciAiTm8gcXVlZGVuIHB0eVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc1MgorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgc3RhcnRlZCwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICJTJ2hhIGluaWNpYXQgbCdleGVjdWNpw7MgZGUgc2NyaXB0LCBlbCBmaXR4ZXIgw6lzICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstdF0gdGltaW5nZmlsZSBbdHlwZXNjcmlwdF0gW2Rpdmlzb3JdXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0NworbXNnaWQgIlBsYXkgYmFjayB0ZXJtaW5hbCB0eXBlc2NyaXB0cywgdXNpbmcgdGltaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NTAKK21zZ2lkICIiCisiIC10LCAtLXRpbWluZyA8ZmlsZT4gICAgIHNjcmlwdCB0aW1pbmcgb3V0cHV0IGZpbGVcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA8ZmlsZT4gc2NyaXB0IHRlcm1pbmFsIHNlc3Npb24gb3V0cHV0IGZpbGVcbiIKKyIgLWQsIC0tZGl2aXNvciA8bnVtPiAgICAgc3BlZWQgdXAgb3Igc2xvdyBkb3duIGV4ZWN1dGlvbiB3aXRoIHRpbWUgZGl2aXNvclxuIgorIiAtbSwgLS1tYXhkZWxheSA8bnVtPiAgICB3YWl0IGF0IG1vc3QgdGhpcyBtYW55IHNlY29uZHMgYmV0d2VlbiB1cGRhdGVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTIKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgdG8gc3Rkb3V0IGZhaWxlZCIKK21zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpciAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSBvbiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjEyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdHlwZXNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBpb2N0bCgpIHBlciBsbGVnaXIgbCdob3JhIGRlICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE4NAorIywgZnV6enkKK21zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJtw6B4LiBub21icmUgZGUgc2VnbWVudHMgPSAlbHVcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHRpbWluZyBmaWxlICVzIgorbXNnc3RyICJubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBpb2N0bCgpIHBlciBsbGVnaXIgbCdob3JhIGRlICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltaW5nIGZpbGUgJXM6IGxpbmUgJWx1OiB1bmV4cGVjdGVkIGZvcm1hdCIKK21zZ3N0ciAiJXM6IE5vIHMnZXNwZXJhdmEgRU9GIGVuIGVsIGZpdHhlciAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXJndW1lbnQgZXJyb3I6IGJyaWdodCAlcyBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyOAorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSB0YWJzIgorbXNnc3RyICIlczogYXJndW1lbnQgZGVzY29uZWd1dDogJXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzgzCittc2dpZCAiU2V0IHRoZSBhdHRyaWJ1dGVzIG9mIGEgdGVybWluYWwuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg2Cittc2dpZCAiIC0tdGVybSAgICAgICAgICA8dGVybWluYWxfbmFtZT4gICBvdmVycmlkZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg3CisjLCBmdXp6eQorbXNnaWQgIiAtLXJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXQgdGVybWluYWwgdG8gcG93ZXItb24gc3RhdGVcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OAorIywgZnV6enkKK21zZ2lkICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5pdCBzdHJpbmcsIGFuZCB1c2UgZGVmYXVsdCBzZXR0aW5nc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODkKKyMsIGZ1enp5Cittc2dpZCAiIC0tZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgZGVmYXVsdCB0ZXJtaW5hbCBzZXR0aW5nc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTAKK21zZ2lkICIgLS1zdG9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhdmUgY3VycmVudCB0ZXJtaW5hbCBzZXR0aW5ncyBhcyBkZWZhdWx0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkxCisjLCBmdXp6eQorbXNnaWQgIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAgZGlzcGxheSBjdXJzb3JcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MgorIywgZnV6enkKK21zZ2lkICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGtleWJvYXJkIHJlcGVhdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkzCittc2dpZCAiIC0tYXBwY3Vyc29ya2V5cyBbb258b2ZmXSAgICAgICAgICBjdXJzb3Iga2V5IGFwcGxpY2F0aW9uIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTQKKyMsIGZ1enp5Cittc2dpZCAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBjb250aW51ZSBvbiBhIG5ldyBsaW5lIHdoZW4gYSBsaW5lIGlzIGZ1bGxcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk1Cittc2dpZCAiIC0taW52ZXJzZXNjcmVlbiBbb258b2ZmXSAgICAgICAgICBzd2FwIGNvbG9ycyBmb3IgdGhlIHdob2xlIHNjcmVlblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NgorbXNnaWQgIiAtLWZvcmVncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGZvcmVncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTcKK21zZ2lkICIgLS1iYWNrZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBiYWNrZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk4Cittc2dpZCAiIC0tdWxjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgdW5kZXJsaW5lZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk5Cittc2dpZCAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgYm9sZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAwCittc2dpZCAiICAgICAgICAgICAgICAgICA8Y29sb3I+OiBibGFjayBibHVlIGN5YW4gZ3JlZW4gZ3JleSBtYWdlbnRhIHJlZCB3aGl0ZSB5ZWxsb3dcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDEKKyMsIGZ1enp5Cittc2dpZCAiIC0tYm9sZCAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBib2xkXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDIKKyMsIGZ1enp5Cittc2dpZCAiIC0taGFsZi1icmlnaHQgICBbb258b2ZmXSAgICAgICAgICBkaW1cbiIKK21zZ3N0ciAiICBbIC1oYWxmLWJyaWdodCBbb258b2ZmXSBdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMworbXNnaWQgIiAtLWJsaW5rICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYmxpbmtcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDQKKyMsIGZ1enp5Cittc2dpZCAiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICB1bmRlcmxpbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNQorbXNnaWQgIiAtLXJldmVyc2UgICAgICAgW29ufG9mZl0gICAgICAgICAgc3dhcCBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9yc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNgorIywgZnV6enkKK21zZ2lkICIgLS1jbGVhciAgICAgICAgIFthbGx8cmVzdF0gICAgICAgIGNsZWFyIHNjcmVlbiBhbmQgc2V0IGN1cnNvciBwb3NpdGlvblxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA3CisjLCBmdXp6eQorbXNnaWQgIiAtLXRhYnMgICAgICAgICAgWzxudW1iZXI+Li4uXSAgICAgc2V0IHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3Igc2hvdyB0aGVtXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICBQcm92YSBsYSB2ZXJzacOzIGRlbCBnZXRvcHQoMSlcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA4CisjLCBmdXp6eQorbXNnaWQgIiAtLWNscnRhYnMgICAgICAgWzxudW1iZXI+Li4uXSAgICAgY2xlYXIgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBhbGxcbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgIFByb3ZhIGxhIHZlcnNpw7MgZGVsIGdldG9wdCgxKVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDkKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICBzZXQgYSByZWd1bGFyIHRhYiBzdG9wIGludGVydmFsXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTAKK21zZ2lkICIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIHNldCB0aW1lIG9mIGluYWN0aXZpdHkgYmVmb3JlIHNjcmVlbiBibGFua3NcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTEKK21zZ2lkICIgLS1kdW1wICAgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIHdyaXRlIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMgorbXNnaWQgIiAtLWFwcGVuZCAgICAgICAgWzxudW1iZXI+XSAgICAgICAgYXBwZW5kIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMworbXNnaWQgIiAtLWZpbGUgICAgICAgICAgPGZpbGVuYW1lPiAgICAgICAgbmFtZSBvZiB0aGUgZHVtcCBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE0CisjLCBmdXp6eQorbXNnaWQgIiAtLW1zZyAgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgc2VuZCBrZXJuZWwgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE1CisjLCBmdXp6eQorbXNnaWQgIiAtLW1zZ2xldmVsICAgICAgMC04ICAgICAgICAgICAgICAga2VybmVsIGNvbnNvbGUgbG9nIGxldmVsXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTYKKyMsIGZ1enp5Cittc2dpZCAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKK21zZ3N0ciAiICBbIC1wb3dlcnNhdmUgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdIF1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0IHZlc2EgcG93ZXJzYXZpbmcgZmVhdHVyZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgUHJpbWVyICAgICAgw5psdGltXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxOAorbXNnaWQgIiAtLXBvd2VyZG93biAgICAgWzAtNjBdICAgICAgICAgICAgc2V0IHZlc2EgcG93ZXJkb3duIGludGVydmFsIGluIG1pbnV0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTkKK21zZ2lkICIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIGR1cmF0aW9uIG9mIHRoZSBiZWxsIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMAorbXNnaWQgIiAtLWJmcmVxICAgICAgICAgPG51bWJlcj4gICAgICAgICAgYmVsbCBmcmVxdWVuY3kgaW4gSGVydHpcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjEKKyMsIGZ1enp5Cittc2dpZCAiIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICBzaG93IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMgorIywgZnV6enkKK21zZ2lkICIgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQzMAorbXNnaWQgImR1cGxpY2F0ZSB1c2Ugb2YgYW4gb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjczNAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZm9yY2UgYmxhbmsiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgYmlmdXJjYXIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjczOQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZm9yY2UgdW5ibGFuayIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBiaWZ1cmNhciIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQ1CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgYmxhbmsgc3RhdHVzIgorbXNnc3RyICJubyBlcyBwb3Qgb2JyaXIgJXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4gbm90IG9wZW4gZHVtcCBmaWxlICVzIGZvciBvdXRwdXQiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgb2JyaXIgcGVyIGEgZXNjcmlwdHVyYSBlbCBkaXNwb3NpdGl1ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjgxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgJXMgZG9lcyBub3Qgc3VwcG9ydCAlcyIKK21zZ3N0ciAiJXM6IGwndXN1YXJpIFwiJXNcIiBubyBleGlzdGVpeC5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6OTg4CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlIgorbXNnc3RyICJubyBlcyBwb3QgKGRlcylhY3RpdmFyIGVsIG1vZGUgZCdlc3RhbHZpIGQnZW5lcmdpYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDA3IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwMTYKKyMsIGZ1enp5Cittc2dpZCAia2xvZ2N0bCBlcnJvciIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBhIGtsb2djdGw6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwMzcKKyMsIGZ1enp5Cittc2dpZCAiJFRFUk0gaXMgbm90IGRlZmluZWQuIgorbXNnc3RyICIlczogJFRFUk0gbm8gZXN0w6AgZGVmaW5pdC5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0NAorbXNnaWQgInRlcm1pbmZvIGRhdGFiYXNlIGNhbm5vdCBiZSBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biB0ZXJtaW5hbCB0eXBlIgorbXNnc3RyICIlczogc2VueWFsIGRlc2NvbmVndXQgJXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0OAorbXNnaWQgInRlcm1pbmFsIGlzIGhhcmRjb3B5IgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB0b28gbWFueSBpb3YncyIKK21zZ3N0ciAiZXJyb3IgaW50ZXJuIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImV4Y2Vzc2l2ZWx5IGxvbmcgbGluZSBhcmciCittc2dzdHIgImxhIGzDrW5pYSBkJ2FyZ3VtZW50cyDDqXMgbWFzc2EgbGxhcmdhIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjEwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3BlbiBmYWlsZWQiCittc2dzdHIgIm5vIGhhIGVzdGF0IHBvc3NpYmxlIGV4ZWN1dGFyIG9wZW5wdHlcbiIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZvcms6ICVtIgorbXNnc3RyICJiaWZ1cmNhY2nDszogJXMiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmb3JrIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGJpZnVyY2FyIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkFEIEVSUk9SLCBtZXNzYWdlIGlzIGZhciB0b28gbG9uZyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IHwgPG1lc3NhZ2U+XVxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg2Cittc2dpZCAiV3JpdGUgYSBtZXNzYWdlIHRvIGFsbCB1c2Vycy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4OQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAgZG8gbm90IHByaW50IGJhbm5lciwgd29ya3Mgb25seSBmb3Igcm9vdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTAKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8dGltZW91dD4gd3JpdGUgdGltZW91dCBpbiBzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6MTMyCittc2dpZCAiLS1ub2Jhbm5lciBpcyBhdmFpbGFibGUgb25seSBmb3Igcm9vdCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudDogJXMiCittc2dzdHIgInZhbG9yIGQnZXhwaXJhY2nDsyBlcnJvbmk6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyNjkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGdldCBwYXNzd2QgdWlkIgorbXNnc3RyICJtb3VudCA6IG5vIHMnaGEgcG9ndXQgZXN0YWJsaXIgbGEgdmVsb2NpdGF0IGRlOiAlcyIKKworIzogdGVybS11dGlscy93YWxsLmM6Mjc0CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgdHR5IG5hbWUiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2J0ZW5pciBsYSBtaWRhIGRlbCBkaXNjIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXNAJXMgKCVzKSAoJXMpOiIKK21zZ3N0ciAiTWlzc2F0Z2UgZGUgZGlmdXNpw7MgZGUgJXNAJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjMyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgcmVhZCAlcyAtIHVzZSBzdGRpbi4iCittc2dzdHIgIiVzOiBubyBlcyBsbGVnaXLDoCBkZSAlczsgcyd1dGlsaXR6YXLDoCBsJ2VudHJhZGEgZXN0w6BuZGFyZC5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1c2VyPiBbPHR0eW5hbWU+XVxuIgorbXNnc3RyICJmb3JtYSBkJ8O6czogbmFtZWkgWy1teF0gY2Ftw60gW2NhbcOtIC4uLl1cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjkwCittc2dpZCAiU2VuZCBhIG1lc3NhZ2UgdG8gYW5vdGhlciB1c2VyLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoxMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZWZmZWN0aXZlIGdpZCBkb2VzIG5vdCBtYXRjaCBncm91cCBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIgorbXNnc3RyICJ3cml0ZTogJXMgbm8gZXN0w6AgY29ubmVjdGF0XG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDcKKyMsIGZ1enp5Cittc2dpZCAiY2FuJ3QgZmluZCB5b3VyIHR0eSdzIG5hbWUiCittc2dzdHIgIndyaXRlOiBubyBzJ2hhIHBvZ3V0IHRyb2JhciBlbCBub20gZGUgbGEgdm9zdHJhIHR0eVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQiCittc2dzdHIgIndyaXRlOiAlcyB0w6kgZWxzIG1pc3NhdGdlcyBpbmhhYmlsaXRhdHNcbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbG9nZ2VkIGluIG1vcmUgdGhhbiBvbmNlOyB3cml0aW5nIHRvICVzIgorbXNnc3RyICJ3cml0ZTogJXMgZXN0w6AgY29ubmVjdGF0IG3DqXMgZCd1bmEgdmVnYWRhOyBzJ2VzdMOgIGVzY3JpdmludCBhICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiY2FyZWZ1bHB1dGMgZmFpbGVkIgorbXNnc3RyICJsJ2Fzc2lnbmFjacOzIGRlIG1lbcOycmlhIChtYWxsb2MpIGhhIGZhbGxhdCIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIChhcyAlcykgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiTWlzc2F0Z2UgZGUgJXNAJXMgKGNvbSBhICVzKSBlbCAlcyBhIGxlcyAlcyAuLi4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICJNaXNzYXRnZSBkZSAlc0AlcyBlbCAlcyBhIGxlcyAlcyAuLi4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozMzEKKyMsIGZ1enp5Cittc2dpZCAieW91IGhhdmUgd3JpdGUgcGVybWlzc2lvbiB0dXJuZWQgb2ZmIgorbXNnc3RyICJ3cml0ZTogdGVuaXUgZWwgcGVybcOtcyBkJ2VzY3JpcHR1cmEgZGVzYWN0aXZhdC5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiBvbiAlcyIKK21zZ3N0ciAid3JpdGU6ICVzIG5vIGhhIGVudHJhdCBhICVzLlxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQgb24gJXMiCittc2dzdHIgIndyaXRlOiAlcyB0w6kgZWxzIG1pc3NhdGdlcyBpbmhhYmlsaXRhdHMgYSAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzNAorbXNnaWQgIkZpbHRlciBvdXQgcmV2ZXJzZSBsaW5lIGZlZWRzLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYiwgLS1uby1iYWNrc3BhY2VzICAgIGRvIG5vdCBvdXRwdXQgYmFja3NwYWNlc1xuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIHBlcm1pdCBmb3J3YXJkIGhhbGYgbGluZSBmZWVkc1xuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIHBhc3MgdW5rbm93biBjb250cm9sIHNlcXVlbmNlc1xuIgorIiAtaCwgLS10YWJzICAgICAgICAgICAgIGNvbnZlcnQgc3BhY2VzIHRvIHRhYnNcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICBjb252ZXJ0IHRhYnMgdG8gc3BhY2VzXG4iCisiIC1sLCAtLWxpbmVzIE5VTSAgICAgICAgYnVmZmVyIGF0IGxlYXN0IE5VTSBsaW5lc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1ILCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE0OCB0ZXh0LXV0aWxzL2NvbHJtLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzIHJlYWRzIGZyb20gc3RhbmRhcmQgaW5wdXQgYW5kIHdyaXRlcyB0byBzdGFuZGFyZCBvdXRwdXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjIxMgorIywgZnV6enkKK21zZ2lkICJiYWQgLWwgYXJndW1lbnQiCittc2dzdHIgImNvbDogYXJndW1lbnQgLWwgaW5jb3JyZWN0ZSAlcy5cbiIKKworIzogdGV4dC11dGlscy9jb2wuYzozMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbid0IGJhY2sgdXAgJXMuIgorbXNnc3RyICJjb2w6IGF2w61zOiBubyBzJ2hhIHBvZ3V0IGZlciBsYSBjw7JwaWEgZGUgc2VndXJldGF0IGRlICVzLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjMzNworbXNnaWQgInBhc3QgZmlyc3QgbGluZSIKK21zZ3N0ciAibcOpcyBlbmxsw6AgZGUgbGEgcHJpbWVyYSBsw61uaWEiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM3Cittc2dpZCAiLS0gbGluZSBhbHJlYWR5IGZsdXNoZWQiCittc2dzdHIgIi0tIGzDrW5pYSBqYSBlc3TDoCBidWlkYSIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4MSB0ZXh0LXV0aWxzL2NvbHVtbi5jOjExNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODQKK21zZ2lkICJGaWx0ZXIgbnJvZmYgb3V0cHV0IGZvciBDUlQgcHJldmlld2luZy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg3Cittc2dpZCAiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIHN1cHByZXNzIGFsbCB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODgKKyMsIGZ1enp5Cittc2dpZCAiIC0yLCAtLWhhbGYtbGluZXMgICAgICAgIHByaW50IGFsbCBoYWxmLWxpbmVzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbc3RhcnRjb2wgW2VuZGNvbF1dXG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjY0Cittc2dpZCAiRmlsdGVyIG91dCB0aGUgc3BlY2lmaWVkIGNvbHVtbnMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NQorIywgZnV6enkKK21zZ2lkICJmaXJzdCBhcmd1bWVudCIKK21zZ3N0ciAiY29sOiBhcmd1bWVudCAtbCBpbmNvcnJlY3RlICVzLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgInNlY29uZCBhcmd1bWVudCIKK21zZ3N0ciAiY29sOiBhcmd1bWVudCAtbCBpbmNvcnJlY3RlICVzLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyMAorbXNnaWQgIkNvbHVtbmF0ZSBsaXN0cy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyMworbXNnaWQgIiAtYywgLS1jb2x1bW5zIDx3aWR0aD4gICAgd2lkdGggb2Ygb3V0cHV0IGluIG51bWJlciBvZiBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICBjcmVhdGUgYSB0YWJsZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjUKK21zZ2lkICIgLXMsIC0tc2VwYXJhdG9yIDxzdHJpbmc+IHBvc3NpYmxlIHRhYmxlIGRlbGltaXRlcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyNgorbXNnaWQgIiIKKyIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8c3RyaW5nPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucyBzZXBhcmF0b3IgZm9yIHRhYmxlIG91dHB1dDsgZGVmYXVsdCBpcyB0d28gc3BhY2VzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjgKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICBmaWxsIHJvd3MgYmVmb3JlIGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTgyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY29sdW1ucyBhcmd1bWVudCIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlZCBpcyB0b28gbG9uZywgb3V0cHV0IHdpbGwgYmUgdHJ1bmNhdGVkIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1NSB0ZXh0LXV0aWxzL21vcmUuYzoyMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+Li4uXG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU4Cittc2dpZCAiRGlzcGxheSBmaWxlIGNvbnRlbnRzIGluIGhleGFkZWNpbWFsLCBkZWNpbWFsLCBvY3RhbCwgb3IgYXNjaWkuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYxCittc2dpZCAiIC1iLCAtLW9uZS1ieXRlLW9jdGFsICAgICAgb25lLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MgorbXNnaWQgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgIG9uZS1ieXRlIGNoYXJhY3RlciBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYzCittc2dpZCAiIC1DLCAtLWNhbm9uaWNhbCAgICAgICAgICAgY2Fub25pY2FsIGhleCtBU0NJSSBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY0Cittc2dpZCAiIC1kLCAtLXR3by1ieXRlcy1kZWNpbWFsICAgdHdvLWJ5dGUgZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY1Cittc2dpZCAiIC1vLCAtLXR3by1ieXRlcy1vY3RhbCAgICAgdHdvLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NgorbXNnaWQgIiAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjcKK21zZ2lkICIgLUwsIC0tY29sb3JbPTxtb2RlPl0gICAgICBpbnRlcnByZXQgY29sb3IgZm9ybWF0dGluZyBzcGVjaWZpZXJzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcwCittc2dpZCAiIC1lLCAtLWZvcm1hdCA8Zm9ybWF0PiAgICAgZm9ybWF0IHN0cmluZyB0byBiZSB1c2VkIGZvciBkaXNwbGF5aW5nIGRhdGFcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzEKK21zZ2lkICIgLWYsIC0tZm9ybWF0LWZpbGUgPGZpbGU+ICBmaWxlIHRoYXQgY29udGFpbnMgZm9ybWF0IHN0cmluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzIKK21zZ2lkICIgLW4sIC0tbGVuZ3RoIDxsZW5ndGg+ICAgICBpbnRlcnByZXQgb25seSBsZW5ndGggYnl0ZXMgb2YgaW5wdXRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzMKK21zZ2lkICIgLXMsIC0tc2tpcCA8b2Zmc2V0PiAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgb3V0cHV0IGlkZW50aWNhbCBsaW5lc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLWRpc3BsYXkuYzozNjUKKyMsIGZ1enp5Cittc2dpZCAiYWxsIGlucHV0IGZpbGUgYXJndW1lbnRzIGZhaWxlZCIKK21zZ3N0ciAibcOgeC4gbm9tYnJlIGRlIHNlZ21lbnRzID0gJWx1XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgYnl0ZSBjb3VudCBmb3IgY29udmVyc2lvbiBjaGFyYWN0ZXIgJXMiCittc2dzdHIgImhleGR1bXA6IG5vbWJyZSB0b3RhbCBkJ29jdGV0cyBpbmNvcnJlY3RlIHBlciBhbCBjYXLDoGN0ZXIgZGUgY29udmVyc2nDsyAlcy5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiUlcyByZXF1aXJlcyBhIHByZWNpc2lvbiBvciBhIGJ5dGUgY291bnQiCittc2dzdHIgImhleGR1bXA6ICUlcyByZXF1ZXJlaXggdW4gdmFsb3IgZGUgcHJlY2lzacOzIG8gdW4gbm9tYnJlIHRvdGFsIGQnb2N0ZXRzLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkIGZvcm1hdCB7JXN9IgorbXNnc3RyICJoZXhkdW1wOiBmb3JtYXQgaW5jb3JyZWN0ZSB7JXN9XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29udmVyc2lvbiBjaGFyYWN0ZXIgJSUlcyIKK21zZ3N0ciAiaGV4ZHVtcDogY2Fyw6BjdGVyIGRlIGNvbnZlcnNpw7MgJSUlcyBpbmNvcnJlY3RlLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo0MzYKKyMsIGZ1enp5Cittc2dpZCAiYnl0ZSBjb3VudCB3aXRoIG11bHRpcGxlIGNvbnZlcnNpb24gY2hhcmFjdGVycyIKK21zZ3N0ciAiaGV4ZHVtcDogbm9tYnJlIHRvdGFsIGQnb2N0ZXRzIGFtYiBkaXZlcnNvcyBjYXLDoGN0ZXJzIGRlIGNvbnZlcnNpw7MuXG4iCisKKyM6IHRleHQtdXRpbHMvbGluZS5jOjMzCittc2dpZCAiUmVhZCBvbmUgbGluZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMjgKK21zZ2lkICJBIGZpbGUgcGVydXNhbCBmaWx0ZXIgZm9yIENSVCB2aWV3aW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMQorIywgZnV6enkKK21zZ2lkICIgLWQgICAgICAgICAgZGlzcGxheSBoZWxwIGluc3RlYWQgb2YgcmluZ2luZyBiZWxsXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMgorIywgZnV6enkKK21zZ2lkICIgLWYgICAgICAgICAgY291bnQgbG9naWNhbCByYXRoZXIgdGhhbiBzY3JlZW4gbGluZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIE5vIGVzY3JpZ3VlcyByZWFsbWVudCBhbCBkaXNjIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzMKKyMsIGZ1enp5Cittc2dpZCAiIC1sICAgICAgICAgIHN1cHByZXNzIHBhdXNlIGFmdGVyIGZvcm0gZmVlZFxuIgorbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltZWl4IGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgYSBsYSBwYW50YWxsYSBvIGVuIHVuIGZpdHhlciIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIiAtYyAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBkaXNwbGF5IHRleHQgYW5kIGNsZWFuIGxpbmUgZW5kc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgTm8gZXNjcmlndWVzIHJlYWxtZW50IGFsIGRpc2MiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNQorIywgZnV6enkKK21zZ2lkICIgLXAgICAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWVpeCBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIGEgbGEgcGFudGFsbGEgbyBlbiB1biBmaXR4ZXIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNgorIywgZnV6enkKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM3Cittc2dpZCAiIC11ICAgICAgICAgIHN1cHByZXNzIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM4CisjLCBmdXp6eQorbXNnaWQgIiAtPG51bWJlcj4gICB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKK21zZ3N0ciAiSW50cm9kdcOvdSBlbCBub21icmUgZGUgY2lsaW5kcmVzOiAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOQorbXNnaWQgIiArPG51bWJlcj4gICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gbGluZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDAKK21zZ2lkICIgKy88c3RyaW5nPiAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIHNlYXJjaCBzdHJpbmcgbWF0Y2hcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1WICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NDg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbiAtJXMiCittc2dzdHIgIiVzOiBvcGNpw7MgZGVzY29uZWd1ZGEgwqstJWPCu1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKiAlczogZGlyZWN0b3J5ICoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqICVzOiBkaXJlY3RvcmkgKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqKioqKiogJXM6IE5vdCBhIHRleHQgZmlsZSAqKioqKioqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqKiAlczogTm8gw6lzIHVuIGZpdHhlciBkZSB0ZXh0ICoqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIltVc2UgcSBvciBRIHRvIHF1aXRdIgorbXNnc3RyICJbVXNldSBxIG8gUSBwZXIgYSBzb3J0aXJdIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1Nb3JlLS0iCittc2dzdHIgIi0tTcOpcy0tIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiKE5leHQgZmlsZTogJXMpIgorbXNnc3RyICIoRml0eGVyIHNlZ8O8ZW50OiAlcykiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjczNAorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3Mgc3BhY2UgdG8gY29udGludWUsICdxJyB0byBxdWl0Ll0iCittc2dzdHIgIltQcmVtZXUgbGEgYmFycmEgZXNwYWlhZG9yYSBwZXIgY29udGludWFyOyDCq3HCuyBwZXIgYSBzb3J0aXIuXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTE2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLi4uYmFjayAlZCBwYWdlIgorbXNnaWRfcGx1cmFsICIuLi5iYWNrICVkIHBhZ2VzIgorbXNnc3RyWzBdICIuLi5yZXRyb2NlZGVpeCAlZCBww6BnaW5lcyIKK21zZ3N0clsxXSAiLi4ucmV0cm9jZWRlaXggJWQgcMOgZ2luZXMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi4uLnNraXBwaW5nICVkIGxpbmUiCittc2dpZF9wbHVyYWwgIi4uLnNraXBwaW5nICVkIGxpbmVzIgorbXNnc3RyWzBdICIuLi5zJ2VzdMOgIG9tZXRlbnQgJWQgbMOtbmllcyIKK21zZ3N0clsxXSAiLi4ucydlc3TDoCBvbWV0ZW50ICVkIGzDrW5pZXMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNDgKK21zZ2lkICIiCisiXG4iCisiKioqQmFjayoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqRW5kYXJyZXJhKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNjMKKyMsIGZ1enp5Cittc2dpZCAiTm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGwnZXhwcmVzc2nDsyByZWd1bGFyIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjkzCittc2dpZCAiIgorIlxuIgorIk1vc3QgY29tbWFuZHMgb3B0aW9uYWxseSBwcmVjZWRlZCBieSBpbnRlZ2VyIGFyZ3VtZW50IGsuICBEZWZhdWx0cyBpbiBicmFja2V0cy5cbiIKKyJTdGFyICgqKSBpbmRpY2F0ZXMgYXJndW1lbnQgYmVjb21lcyBuZXcgZGVmYXVsdC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkxhIG1ham9yaWEgZGUgbGVzIG9yZHJlcyBzw7NuIHByZWNlZGlkZXMgb3BjaW9uYWxtZW50IHBlciB1biBhcmd1bWVudCBrIGVudGVyLiBFbHMgdmFsb3JzIHBlciBkZWZlY3RlIGVzdGFuIGVudHJlIHBhcsOobnRlc2kuXG4iCisiTCdhc3RlcmlzYyAoKikgaW5kaWNhIHF1ZSBsJ2FyZ3VtZW50IGVzZGV2w6kgZWwgbm91IHZhbG9yIHBlciBkZWZlY3RlLlxuIgorCisjIGEuYjogRmFsdGEgYXJyYW5qYXIgYWl4w7IgZGUgImt0aCIKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzMDAKK21zZ2lkICIiCisiPHNwYWNlPiAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXSpcbiIKKyI8cmV0dXJuPiAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFsxXSpcbiIKKyJkIG9yIGN0cmwtRCAgICAgICAgICAgICBTY3JvbGwgayBsaW5lcyBbY3VycmVudCBzY3JvbGwgc2l6ZSwgaW5pdGlhbGx5IDExXSpcbiIKKyJxIG9yIFEgb3IgPGludGVycnVwdD4gICBFeGl0IGZyb20gbW9yZVxuIgorInMgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIGxpbmVzIG9mIHRleHQgWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorImIgb3IgY3RybC1CICAgICAgICAgICAgIFNraXAgYmFja3dhcmRzIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIHBsYWNlIHdoZXJlIHByZXZpb3VzIHNlYXJjaCBzdGFydGVkXG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGxpbmUgbnVtYmVyXG4iCisiLzxyZWd1bGFyIGV4cHJlc3Npb24+ICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiByZWd1bGFyIGV4cHJlc3Npb24gWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiBsYXN0IHIuZSBbMV1cbiIKKyIhPGNtZD4gb3IgOiE8Y21kPiAgICAgICBFeGVjdXRlIDxjbWQ+IGluIGEgc3Vic2hlbGxcbiIKKyJ2ICAgICAgICAgICAgICAgICAgICAgICBTdGFydCB1cCAvdXNyL2Jpbi92aSBhdCBjdXJyZW50IGxpbmVcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICBSZWRyYXcgc2NyZWVuXG4iCisiOm4gICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIG5leHQgZmlsZSBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggcHJldmlvdXMgZmlsZSBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlclxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIFJlcGVhdCBwcmV2aW91cyBjb21tYW5kXG4iCittc2dzdHIgIiIKKyI8ZXNwYWk+ICAgICAgICAgICAgICAgICBNb3N0cmEgbGVzIHNlZ8O8ZW50cyBrIGzDrW5pZXMgZGUgdGV4dCBbbGEgbWlkYSBkZSBsYSBwYW50YWxsYV1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICBNb3N0cmEgbGVzIHNlZ8O8ZW50cyBrIGzDrW5pZXMgZGUgdGV4dCBbbGEgbWlkYSBkZSBsYSBwYW50YWxsYV0qXG4iCisiPGludHJvPiAgICAgICAgICAgICAgICAgTW9zdHJhIGxlcyBzZWfDvGVudHMgayBsw61uaWVzIGRlIHRleHQgWzFdKlxuIgorImQgbyBjdHJsLUQgICAgICAgICAgICAgIERlc3BsYcOnYSBrIGzDrW5pZXMgW2FjdHVhbG1lbnQgc8OzbiAxMV0qXG4iCisicSBvIFEgbyA8aW50ZXJydXBjacOzPiAgIFN1cnQgZGUgbW9yZVxuIgorInMgICAgICAgICAgICAgICAgICAgICAgIFNhbHRhIGVuZGF2YW50IGsgbMOtbmllcyBkZSB0ZXh0IFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFNhbHRhIGVuZGF2YW50IGsgcGFudGFsbGVzIGRlIHRleHQgWzFdXG4iCisiYiBvIGN0cmwtQiAgICAgICAgICAgICAgU2FsdGEgZW5kYXJyZXJhIGsgcGFudGFsbGVzIGRlIHRleHQgWzFdXG4iCisiJyAgICAgICAgICAgICAgICAgICAgICAgVmEgYSBvbiB2YSBjb21lbsOnYXIgbCdhbnRlcmlvciByZWNlcmNhXG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAgTW9zdHJhIGVsIG7Dum1lcm8gZGUgbGEgbMOtbmlhIGFjdHVhbFxuIgorIi88ZXhwcmVzc2nDsyByZWd1bGFyPiAgICBDZXJjYSBsJ29jdXJyw6huY2lhIGstZW7DqHNzaW1hIGRlIGwnZXhwLnJlZy4gWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAgQ2VyY2EgbCdvY3VycsOobmNpYSBrLWVuw6hzc2ltYSBkZSBsJ8O6bHRpbWEgZXhwLnJlZy4gWzFdXG4iCisiITxjbWQ+IG8gOiE8Y21kPiAgICAgICAgRXhlY3V0YSA8Y21kPiBlbiB1biBhbHRyZSBpbnTDqHJwcmV0IGQnb3JkcmVzXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgRW5nZWdhIC91c3IvYmluL3ZpIGEgbGEgbMOtbmlhIGFjdHVhbFxuIgorImN0cmwtTCAgICAgICAgICAgICAgICAgIFJlZGlidWl4YSBsYSBwYW50YWxsYVxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIFbDqXMgYWwgay1lbsOoc3NpbSBmaXR4ZXIgc2Vnw7xlbnQgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgVsOpcyBhbCBrLWVuw6hzc2ltIGZpdHhlciBhbnRlcmlvciBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICBNb3N0cmEgZWwgbm9tIGRlbCBmaXR4ZXIgaSBlbCBuw7ptZXJvIGRlIGzDrW5pYVxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIFJlcGV0ZWl4IGwnb3JkcmUgYW50ZXJpb3JcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTM3MyB0ZXh0LXV0aWxzL21vcmUuYzoxMzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyAnaCcgZm9yIGluc3RydWN0aW9ucy5dIgorbXNnc3RyICJbUHJlbWV1IMKraMK7IHBlciBhIGxlcyBpbnN0cnVjY2lvbnMuXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgbGluZSAlZCIKK21zZ3N0ciAiXCIlc1wiIGzDrW5pYSAlZCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQxMgorIywgYy1mb3JtYXQKK21zZ2lkICJbTm90IGEgZmlsZV0gbGluZSAlZCIKK21zZ3N0ciAiW05vIMOpcyB1biBmaXR4ZXJdIGzDrW5pYSAlZCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQ5NAorbXNnaWQgIiAgT3ZlcmZsb3dcbiIKK21zZ3N0ciAiICBEZXNib3JkYW1lbnRcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU0MworbXNnaWQgIi4uLnNraXBwaW5nXG4iCittc2dzdHIgIi4uLnMnZXN0w6Agb21ldGVudFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTc3Cittc2dpZCAiIgorIlxuIgorIlBhdHRlcm4gbm90IGZvdW5kXG4iCittc2dzdHIgIiIKKyJcbiIKKyJObyBzJ2hhIHRyb2JhdCBlbCBwYXRyw7NcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU4MyB0ZXh0LXV0aWxzL3BnLmM6MTAyNyB0ZXh0LXV0aWxzL3BnLmM6MTE3MworbXNnaWQgIlBhdHRlcm4gbm90IGZvdW5kIgorbXNnc3RyICJObyBzJ2hhIHRyb2JhdCBlbCBwYXRyw7MiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2MjkKK21zZ2lkICJleGVjIGZhaWxlZFxuIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGV4ZWNcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY0MworbXNnaWQgImNhbid0IGZvcmtcbiIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBiaWZ1cmNhclxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjc3Cittc2dpZCAiIgorIlxuIgorIi4uLlNraXBwaW5nICIKK21zZ3N0ciAiIgorIlxuIgorIi4uLlMnZXN0w6Agb21ldGVudCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY4MQorbXNnaWQgIi4uLlNraXBwaW5nIHRvIGZpbGUgIgorbXNnc3RyICIuLi5zJ2VzdMOgIHNhbHRhbnQgYWwgZml0eGVyICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY4MworbXNnaWQgIi4uLlNraXBwaW5nIGJhY2sgdG8gZmlsZSAiCittc2dzdHIgIi4uLlMnZXN0w6AgcmV0cm9jZWRpbnQgYWwgZml0eGVyICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTk3MworbXNnaWQgIkxpbmUgdG9vIGxvbmciCittc2dzdHIgIkzDrW5pYSBtYXNzYSBsbGFyZ2EiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIwMTAKK21zZ2lkICJObyBwcmV2aW91cyBjb21tYW5kIHRvIHN1YnN0aXR1dGUgZm9yIgorbXNnc3RyICJObyBoaSBoYSBjYXAgb3JkcmUgcHLDqHZpYSBhIHN1YnN0aXR1aXIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNDQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBzY3JlZW5cbiIKKyIgIHEgb3IgUSAgICAgICAgICAgICAgICAgIHF1aXQgcHJvZ3JhbVxuIgorIiAgPG5ld2xpbmU+ICAgICAgICAgICAgICAgbmV4dCBwYWdlXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBza2lwIGEgcGFnZSBmb3J3YXJkXG4iCisiICBkIG9yIF5EICAgICAgICAgICAgICAgICBuZXh0IGhhbGZwYWdlXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBuZXh0IGxpbmVcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIGxhc3QgcGFnZVxuIgorIiAgL3JlZ2V4LyAgICAgICAgICAgICAgICAgc2VhcmNoIGZvcndhcmQgZm9yIHJlZ2V4XG4iCisiICA/cmVnZXg/IG9yIF5yZWdleF4gICAgICBzZWFyY2ggYmFja3dhcmQgZm9yIHJlZ2V4XG4iCisiICAuIG9yIF5MICAgICAgICAgICAgICAgICByZWRyYXcgc2NyZWVuXG4iCisiICB3IG9yIHogICAgICAgICAgICAgICAgICBzZXQgcGFnZSBzaXplIGFuZCBnbyB0byBuZXh0IHBhZ2VcbiIKKyIgIHMgZmlsZW5hbWUgICAgICAgICAgICAgIHNhdmUgY3VycmVudCBmaWxlIHRvIGZpbGVuYW1lXG4iCisiICAhY29tbWFuZCAgICAgICAgICAgICAgICBzaGVsbCBlc2NhcGVcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIHByZXZpb3VzIGZpbGVcbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIG5leHQgZmlsZVxuIgorIlxuIgorIk1hbnkgY29tbWFuZHMgYWNjZXB0IHByZWNlZGluZyBudW1iZXJzLCBmb3IgZXhhbXBsZTpcbiIKKyIrMTxuZXdsaW5lPiAobmV4dCBwYWdlKTsgLTE8bmV3bGluZT4gKHByZXZpb3VzIHBhZ2UpOyAxPG5ld2xpbmU+IChmaXJzdCBwYWdlKS5cbiIKKyJcbiIKKyJTZWUgcGcoMSkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMjYKK21zZ2lkICJCcm93c2UgcGFnZXdpc2UgdGhyb3VnaCB0ZXh0IGZpbGVzLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMjkKK21zZ2lkICIgLW51bWJlciAgICAgIGxpbmVzIHBlciBwYWdlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMAorbXNnaWQgIiAtYyAgICAgICAgICAgY2xlYXIgc2NyZWVuIGJlZm9yZSBkaXNwbGF5aW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMQorIywgZnV6enkKK21zZ2lkICIgLWUgICAgICAgICAgIGRvIG5vdCBwYXVzZSBhdCBlbmQgb2YgYSBmaWxlXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1laXggbGEgdGF1bGEgZGUgcGFydGljaW9ucyBhIGxhIHBhbnRhbGxhIG8gZW4gdW4gZml0eGVyIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMyCisjLCBmdXp6eQorbXNnaWQgIiAtZiAgICAgICAgICAgZG8gbm90IHNwbGl0IGxvbmcgbGluZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIE5vIGVzY3JpZ3VlcyByZWFsbWVudCBhbCBkaXNjIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMzCittc2dpZCAiIC1uICAgICAgICAgICB0ZXJtaW5hdGUgY29tbWFuZCB3aXRoIG5ldyBsaW5lXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNAorbXNnaWQgIiAtcCA8cHJvbXB0PiAgc3BlY2lmeSBwcm9tcHRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM1Cittc2dpZCAiIC1yICAgICAgICAgICBkaXNhbGxvdyBzaGVsbCBlc2NhcGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM2CisjLCBmdXp6eQorbXNnaWQgIiAtcyAgICAgICAgICAgcHJpbnQgbWVzc2FnZXMgdG8gc3Rkb3V0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM3Cittc2dpZCAiICtudW1iZXIgICAgICBzdGFydCBhdCB0aGUgZ2l2ZW4gbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzgKK21zZ2lkICIgKy9wYXR0ZXJuLyAgIHN0YXJ0IGF0IHRoZSBsaW5lIGNvbnRhaW5pbmcgcGF0dGVyblxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAlcyIKK21zZ3N0ciAiJXM6IGwnb3BjacOzIHJlcXVlcmVpeCB1biBhcmd1bWVudCAtLSAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIG9wdGlvbiAtLSAlcyIKK21zZ3N0ciAiJXM6IG9wY2nDsyBpbMK3bGVnYWwgLS0gJXNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM1OQorbXNnaWQgIi4uLnNraXBwaW5nIGZvcndhcmRcbiIKK21zZ3N0ciAiLi4ucydlc3TDoCBzYWx0YW50IGVuZGF2YW50XG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjEKK21zZ2lkICIuLi5za2lwcGluZyBiYWNrd2FyZFxuIgorbXNnc3RyICIuLi5zJ2VzdMOgIHNhbHRhbnQgZW5kYXJyZXJhXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNzcKK21zZ2lkICJObyBuZXh0IGZpbGUiCittc2dzdHIgIk5vIGhpIGhhIGNhcCBmaXR4ZXIgc2Vnw7xlbnQiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODEKK21zZ2lkICJObyBwcmV2aW91cyBmaWxlIgorbXNnc3RyICJObyBoaSBoYSBjYXAgZml0eGVyIGFudGVyaW9yIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yIGZyb20gJXMgZmlsZSIKK21zZ3N0ciAiJXM6IFMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZGUgbGVjdHVyYSBlbiBlbCBmaXR4ZXIgJXNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjg4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCBFT0YgaW4gJXMgZmlsZSIKK21zZ3N0ciAiJXM6IE5vIHMnZXNwZXJhdmEgRU9GIGVuIGVsIGZpdHhlciAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGVycm9yIGluICVzIGZpbGUiCittc2dzdHIgIiVzOiBTJ2hhIHByb2R1w690IHVuIGVycm9yIGRlc2NvbmVndXQgZW4gZWwgZml0eGVyICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NDEKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiJXM6IE5vIGVzIHBvdCBjZXJhciBlbCBmaXR4ZXIgdGVtcG9yYWxcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjk1MCB0ZXh0LXV0aWxzL3BnLmM6MTExNCB0ZXh0LXV0aWxzL3BnLmM6MTE0MAorbXNnaWQgIlJFIGVycm9yOiAiCittc2dzdHIgIkVycm9yIFJFOiIKKworIzogdGV4dC11dGlscy9wZy5jOjEwOTcKK21zZ2lkICIoRU9GKSIKK21zZ3N0ciAiKEVPRikiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTIyIHRleHQtdXRpbHMvcGcuYzoxMTQ4Cittc2dpZCAiTm8gcmVtZW1iZXJlZCBzZWFyY2ggc3RyaW5nIgorbXNnc3RyICJObyBlcyByZWNvcmRhIGxhIGNhZGVuYSBkZSBjZXJjYSIKKworIzogdGV4dC11dGlscy9wZy5jOjEyMDMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gIgorbXNnc3RyICIlcyBubyBlcyBwb3Qgb2JyaXIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjU1Cittc2dpZCAic2F2ZWQiCittc2dzdHIgInMnaGEgZGVzYXQiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzQ1Cittc2dpZCAiOiAhY29tbWFuZCBub3QgYWxsb3dlZCBpbiByZmxhZyBtb2RlLlxuIgorbXNnc3RyICI6IG5vIGVzIHBlcm1ldCAhb3JkcmUgZW4gZWwgbW9kZSByZmxhZy5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzODAKK21zZ2lkICJmb3JrKCkgZmFpbGVkLCB0cnkgYWdhaW4gbGF0ZXJcbiIKK21zZ3N0ciAibm8gaGEgZXN0YXQgcG9zc2libGUgZXhlY3V0YXIgZm9yaygpLCBwcm92ZXUtaG8gbcOpcyBlbmRhdmFudFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTQ2OAorbXNnaWQgIihOZXh0IGZpbGU6ICIKK21zZ3N0ciAiKEZpdHhlciBzZWfDvGVudDogIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTUzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlcyBDb3B5cmlnaHQgKGMpIDIwMDAtMjAwMSBHdW5uYXIgUml0dGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTg3IHRleHQtdXRpbHMvcGcuYzoxNjYwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMgcGVyIHBhZ2UiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjgwCittc2dpZCAiUmV2ZXJzZSBsaW5lcyBjaGFyYWN0ZXJ3aXNlLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5jb21wbGV0ZSB3cml0ZSB0byBcIiVzXCIgKHdyaXR0ZW4gJXpkLCBleHBlY3RlZCAlemQpXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoIChsaW1pdCBvZiBpbm90aWZ5IHdhdGNoZXMgd2FzIHJlYWNoZWQpLiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbl0gPGZpbGU+XG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwMAorbXNnaWQgIkZvbGxvdyB0aGUgZ3Jvd3RoIG9mIGEgbG9nIGZpbGUuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbGluZXMgPG51bWJlcj4gICBvdXRwdXQgdGhlIGxhc3QgPG51bWJlcj4gbGluZXNcbiIKK21zZ3N0ciAiSW50cm9kdcOvdSBlbCBub21icmUgZGUgY2lsaW5kcmVzOiAiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMDQKKyMsIGZ1enp5Cittc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgICAgc2FtZSBhcyAnLW4gPG51bWJlcj4nXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjEwCittc2dpZCAiV2FybmluZzogdXNlIG9mICd0YWlsZicgaXMgZGVwcmVjYXRlZCwgdXNlICd0YWlsIC1mJyBpbnN0ZWFkLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMjMgdGV4dC11dGlscy90YWlsZi5jOjI2MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGxpbmVzIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjI3NQorIywgZnV6enkKK21zZ2lkICJubyBpbnB1dCBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAiTm8gcydoYSBlc3BlY2lmaWNhdCBsJ29wY2nDsyAtLWRhdGUuXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBmaWxlIgorbXNnc3RyICJlbCBub2RlIGQnaWRlbnRpZmljYWNpw7MgYXJyZWwgbm8gw6lzIHVuIGRpcmVjdG9yaSIKKworIzogdGV4dC11dGlscy91bC5jOjEzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IC4uLl1cbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTM5Cittc2dpZCAiRG8gdW5kZXJsaW5pbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjE0MgorbXNnaWQgIiAtdCwgLVQsIC0tdGVybWluYWwgVEVSTUlOQUwgIG92ZXJyaWRlIHRoZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjE0MworbXNnaWQgIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICAgIHVuZGVybGluaW5nIGlzIGluZGljYXRlZCB2aWEgYSBzZXBhcmF0ZSBsaW5lXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjIwNAorbXNnaWQgInRyb3VibGUgcmVhZGluZyB0ZXJtaW5mbyIKK21zZ3N0ciAiaGkgaGEgaGFndXQgdW4gcHJvYmxlbWEgZW4gbGxlZ2lyIHRlcm1pbmZvIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsIGAlcycgaXMgbm90IGtub3duLCBkZWZhdWx0aW5nIHRvIGBkdW1iJyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6Mjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGVzY2FwZSBzZXF1ZW5jZSBpbiBpbnB1dDogJW8sICVvIgorbXNnc3RyICJTZXHDvMOobmNpYSBkJ2VzY2FwYW1lbnQgZGVzY29uZWd1ZGEgZW4gbCdlbnRyYWRhOiAlbywgJW9cbiIKKworIzogdGV4dC11dGlscy91bC5jOjYyNAorIywgZnV6enkKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAiTMOtbmlhIGQnZW50cmFkYSBtYXNzYSBsbGFyZ2EuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gdXNlIHRoZSBIYXJkd2FyZSBDbG9jay4iCisjfiBtc2dzdHIgIk5vbcOpcyBlbCBzdXBlcnVzdWFyaSBwb3QgY2FudmlhciBlbCByZWxsb3RnZSBkZWwgbWFxdWluYXJpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIHNlY2NvbXAgY29udGV4dCIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBsYSBtZW3DsnJpYSB0ZW1wb3JhbC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gYWRkIHNlY2NvbXAgcnVsZSIKKyN+IG1zZ3N0ciAibm8gZXMgcG90IGZlciBzdGF0IHBlciBhICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBsb2FkIHNlY2NvbXAgcnVsZSIKKyN+IG1zZ3N0ciAibm8gZXMgcG90IGZlciBzdGF0IHBlciBhICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZpbGVzeXN0ZW0gbGFiZWw6IgorI34gbXNnc3RyICJJbnRyb2R1w691IGVsIHRpcHVzIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnM6ICIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc2V0IFBBVEgiCisjfiBtc2dzdHIgIm5vIGVzIHBvdCBmZXIgc3RhdCBwZXIgYSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJhcmd1bWVudCBlcnJvcjogJXMiCisjfiBtc2dzdHIgIiVzOiBBcmd1bWVudCBlcnJvbmksIGZvcm1hIGQnw7pzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHR5IHBhdGggJXMgdG9vIGxvbmciCisjfiBtc2dzdHIgIkzDrW5pYSBkJ2VudHJhZGEgbWFzc2EgbGxhcmdhLlxuIgorCisjfiBtc2dpZCAiYmFkIHRpbWVvdXQgdmFsdWU6ICVzIgorI34gbXNnc3RyICJ2YWxvciBkJ2V4cGlyYWNpw7MgZXJyb25pOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCIKKyN+IG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yOiBpZ25vcmUgZW50cnkgYXQgbGluZSAlZC4iCisjfiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBub3Qgc2V0dXAgdGltZXIiCisjfiBtc2dzdHIgIm1vdW50IDogbm8gcydoYSBwb2d1dCBlc3RhYmxpciBsYSB2ZWxvY2l0YXQgZGU6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNhbWUiCisjfiBtc2dzdHIgIk5vbSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgYWNjZXNzIGZpbGUgJXMiCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2JyaXIgZWwgZml0eGVyICclcyciCisKKyN+IG1zZ2lkICIlcyBpcyBub3QgYSBibG9jayBzcGVjaWFsIGRldmljZSIKKyN+IG1zZ3N0ciAiJXMgbm8gZXMgdW4gZGlzcG9zaXRpdSBkZSBibG9jIGVzcGVjaWFsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBkZXZpY2UgaXMgbWlzYWxpZ25lZCIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogZGlzcG9zaXRpdSBvY3VwYXQiCisKKyN+IG1zZ2lkICJPUy8yIGhpZGRlbiBDOiBkcml2ZSIKKyN+IG1zZ3N0ciAiVW5pdGF0IEM6IG9jdWx0YSBkJ09TLzIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgZGV2aWNlIHBhdGgiCisjfiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgcmVib2JpbmFyIGVsIGRpc3Bvc2l0aXUgZCdpbnRlcmNhbnZpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmtub3duIGRldmljZSBuYW1lIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBkaXNwb3NpdGl1IGRlc2NvbmVndXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgZG0gbmFtZSIKKyN+IG1zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgIC4lMDZkIHNlY29uZHNcbiIKKyN+IG1zZ3N0ciAiJXMgICUuNmYgc2Vnb25zXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFnZXMiCisjfiBtc2dzdHIgIm1pc3NhdGdlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVmVyeSBsb25nICglenUgYnl0ZXMpIGZpbGVuYW1lIGAlcycgZm91bmQuXG4iCisjfiAiIFBsZWFzZSBpbmNyZWFzZSBNQVhfSU5QVVRfTkFNRUxFTiBpbiBta2NyYW1mcy5jIGFuZCByZWNvbXBpbGUuICBFeGl0aW5nLiIKKyN+IG1zZ3N0ciAiIgorI34gIlMnaGEgdHJvYmF0IHVuIG5vbSBkZSBmaXR4ZXIgJyUyJHMnIG1vbHQgbGxhcmcgKCUxJHUgb2N0ZXRzKS5cbiIKKyN+ICIgSW5jcmVtZW50ZXUgTUFYX0lOUFVUX05BTUVMRU4gYSBta2NyYW1mcy5jIGkgcmVjb21waWxldS1sby4gUydlc3TDoCBzb3J0aW50LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIG1lbcOycmlhIGludGVybcOoZGlhIHBlciBhbHMgbWFwZXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzIGZvciBtYXBzIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIG1lbcOycmlhIGludGVybcOoZGlhIHBlciBhbHMgbWFwZXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCBhc3NpZ25hciBtZW3DsnJpYSBpbnRlcm3DqGRpYSBwZXIgYWxzIG5vZGVzIGQnaWRlbnRpZmljYWNpw7MiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTnVtYmVyIG9mIFNlbWFwaG9yZSBJRHMiCisjfiBtc2dzdHIgIk5vbWJyZSBkZSBzZWN0b3JzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLWMgfCAtbCBmaWxlbmFtZV0gWy1uWFhdIFstaVhYXSAvZGV2L25hbWUgW2Jsb2Nrc10iCisjfiBtc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbLWMgfCAtbCBub21fZml0eGVyXSBbLW5YWF0gWy1pWFhdIC9kZXYvbm9tIFtibG9jc11cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogYmFkIGlub2RlIHNpemUiCisjfiBtc2dzdHIgIm1pZGEgZGUgbm9kZSBkJ2lkZW50aWZpY2FjacOzIGluY29ycmVjdGUiCisKKyN+IG1zZ2lkICJ3aWxsIG5vdCB0cnkgdG8gbWFrZSBmaWxlc3lzdGVtIG9uICclcyciCisjfiBtc2dzdHIgIm5vIHMnaW50ZW50YXLDoCBjcmVhciBjYXAgc2lzdGVtYSBkZSBmaXR4ZXJzIGEgJyVzJyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0eXBlOiAlZCIKKyN+IG1zZ3N0ciAidGlwdXM6ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZGlzazogJS4qcyIKKyN+IG1zZ3N0ciAiZGlzYzogJS4qc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxhYmVsOiAlLipzIgorI34gbXNnc3RyICJldGlxdWV0YTogJS4qc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZsYWdzOiAlcyIKKyN+IG1zZ3N0ciAic2VueWFsYWRvcnM6IgorCisjLCBmdXp6eQorI34gbXNnaWQgImJ5dGVzL3NlY3RvcjogJWxkIgorI34gbXNnc3RyICJvY3RldHMgcGVyIHNlY3RvcjogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VjdG9ycy90cmFjazogJWxkIgorI34gbXNnc3RyICJzZWN0b3JzIHBlciBwaXN0YTogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHJhY2tzL2N5bGluZGVyOiAlbGQiCisjfiBtc2dzdHIgInBpc3RlcyBwZXIgY2lsaW5kcmU6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlY3RvcnMvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAic2VjdG9ycyBwZXIgY2lsaW5kcmU6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImN5bGluZGVyczogJWxkIgorI34gbXNnc3RyICJjaWxpbmRyZXM6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJwbTogJWQiCisjfiBtc2dzdHIgInIucC5tLjogJWRcbiIKKworIyBGSVhNRQorIywgZnV6enkKKyN+IG1zZ2lkICJpbnRlcmxlYXZlOiAlZCIKKyN+IG1zZ3N0ciAiZW50cmVsbGHDp2F0OiAlZFxuIgorCisjIEZJWE1FCisjLCBmdXp6eQorI34gbXNnaWQgInRyYWNrc2tldzogJWQiCisjfiBtc2dzdHIgImRlY2FsYXRnZTogJWRcbiIKKworIyBGSVhNRQorIywgZnV6enkKKyN+IG1zZ2lkICJjeWxpbmRlcnNrZXc6ICVkIgorI34gbXNnc3RyICJkZWNhbGF0Z2UgZGVsIGNpbGluZHJlOiAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImhlYWRzd2l0Y2g6ICVsZCAobWlsbGlzZWNvbmRzKSIKKyN+IG1zZ3N0ciAiY2FudmkgZGUgY2Fww6dhbDogJWxkXHRcdCMgbWlswrdsaXNlZ29uc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWs6ICVsZCAobWlsbGlzZWNvbmRzKSIKKyN+IG1zZ3N0ciAicmVjZXJjYSBwaXN0YSBhIHBpc3RhOiAlbGRcdCMgbWlsaXNlZ29uc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbnM6ICVkIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiJWQgcGFydGljaW9uczpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJZb3UgY2Fubm90IGNoYW5nZSBhIHBhcnRpdGlvbiBpbnRvIGFuIGV4dGVuZGVkIG9uZSBvciB2aWNlIHZlcnNhLiBEZWxldGUgaXQgZmlyc3QuIgorI34gbXNnc3RyICIiCisjfiAiTm8gcG9kZXUgY29udmVydGlyIHVuYSBwYXJ0aWNpw7MgYSBlc3Rlc2EsIG8gYWwgcmV2w6lzLCBwcmltZXJcbiIKKyN+ICJjYWwgcXVlIGwnZXNib3JyZXUuXG4iCisKKyMgRklYTUUKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkxhYmVsIGdlb21ldHJ5OiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzXG4iCisjfiAiICAgICAgICAgICAgICAgICVsbHUgY3lsaW5kZXJzLCAlZCBwaHlzaWNhbCBjeWxpbmRlcnNcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWQgZXh0cmEgc2VjdHMvY3lsLCBpbnRlcmxlYXZlICVkOjFcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2MgJXMgKGV0aXF1ZXRhIGRlIGRpc2MgU0dJKTogJWQgY2Fww6dhbHMsICVkIHNlY3RvcnNcbiIKKyN+ICIlZCBjaWxpbmRyZXMsICVkIGNpbGluZHJlcyBmw61zaWNzXG4iCisjfiAiJWQgc2VjdG9ycyBwZXIgY2lsaW5kcmUgYWRkaWNpb25hbHMsIGVudHJlbGxhw6dhdCAlZDoxXG4iCisjfiAiJXNcbiIKKyN+ICJVbml0YXRzID0gJXMgZGUgJWQgKiAlZCBvY3RldHNcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICI8bm9uZT4iCisjfiBtc2dzdHIgIkNhcCIKKworI34gbXNnaWQgImdldHRpbWVvZmRheSBmYWlsZWQiCisjfiBtc2dzdHIgIm5vIGhhIGVzdGF0IHBvc3NpYmxlIGV4ZWN1dGFyIGdldHRpbWVvZmRheSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzeXNpbmZvIGZhaWxlZCIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCBmZXIgZnN5bmMiCisKKyN+IG1zZ2lkICJ1c2FnZTogbGFzdCBbLSNdIFstZiBmaWxlXSBbLXQgdHR5XSBbLWggaG9zdG5hbWVdIFt1c2VyIC4uLl1cbiIKKyN+IG1zZ3N0ciAiZm9ybWEgZCfDunM6IGxhc3QgWy0jXSBbLWYgZml0eGVyXSBbLXQgdHR5XSBbLWggbm9tX29yZGluYWRvcl0gW3VzdWFyaSAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IG1tYXAgZmFpbGVkIgorI34gbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyN+IG1zZ2lkICIgIHN0aWxsIGxvZ2dlZCBpbiIKKyN+IG1zZ3N0ciAiICBlbmNhcmEgdGVuaXUgdW5hIHNlc3Npw7MgZW4gZWwgc2lzdGVtYSIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJ3dG1wIGJlZ2lucyAlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gInd0bXAgY29tZW7Dp2EgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZ2V0aG9zdG5hbWUgZmFpbGVkIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiB0YW5jYXIgZWwgZml0eGVyXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiaW50ZXJydXB0ZWQgJTEwLjEwcyAlNS41cyBcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gImludGVycm9tcHV0ICUxMC4xMHMgJTUuNXMgXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWF1dG8vLWEgb3B0aW9uIgorI34gbXNnc3RyICJpZCBpbnbDoGxpZCA6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gY2hhbmdlIHRoZSBTeXN0ZW0gQ2xvY2suIgorI34gbXNnc3RyICJOb23DqXMgZWwgc3VwZXJ1c3VhcmkgcG9ydCBjYW52aWFyIGVsIHJlbGxvdGdlIGRlbCBzaXN0ZW1hLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIGNoYW5nZSB0aGUgSGFyZHdhcmUgQ2xvY2sgZXBvY2ggaW4gdGhlIGtlcm5lbC4iCisjfiBtc2dzdHIgIk5vbcOpcyBlbCBzdXBlcnVzdWFyaSBwb3QgY2FudmlhciBlbCB2YWxvciBkZSBsJ8OocG9jYSBkZWwgcmVsbG90Z2UgZGVsIG1hcXVpbmFyaSBlbiBlbCBudWNsaS5cbiIKKworI34gbXNnaWQgInJlYWQoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBleGVjdXRhciByZWFkKCkgYSAlcyBwZXIgZXNwZXJhciBlbCB0aWMgZGVsIHJlbGxvdGdlLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZXQgcnRjIGFsYXJtIGZhaWxlZCIKKyN+IG1zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjLCBmdXp6eQorI34gbXNnaWQgImJhZCB2YWx1ZSIKKyN+IG1zZ3N0ciAidmFsb3IgZCdleHBpcmFjacOzIGVycm9uaTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1tLCAtLW1vdW50ICAgICAgICAgICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC11LCAtLXV0cyAgICAgICAgICAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaSwgLS1pcGMgICAgICAgICAgICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW4sIC0tbmV0ICAgICAgICAgICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICAgICAgIHVuc2hhcmUgcGlkIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVUsIC0tdXNlciAgICAgICAgICAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlbSIKKyN+IG1zZ3N0ciAiJXMgbm8gZXMgcG90IG9icmlyIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZyZWFkIGZhaWxlZCIKKyN+IG1zZ3N0ciAiKEZpdHhlciBzZWfDvGVudDogJXMpIgorCisjfiBtc2dpZCAiSGVscCBTY3JlZW4gZm9yIGNmZGlzayIKKyN+IG1zZ3N0ciAiUGFudGFsbGEgZCdhanVkYSBwZXIgYSBjZmRpc2siCisKKyN+IG1zZ2lkICJkaXNrIGRyaXZlLiIKKyN+IG1zZ3N0ciAiZGlzYyBkdXIuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGBubyciCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgwqtub8K7IgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRvbyBzbWFsbCBwYXJ0aXRpb24gc2l6ZSBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJObyBoaSBoYW4gcGFydGljaW9ucyBkZWZpbmlkZXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdGF0IGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAiKEZpdHhlciBzZWfDvGVudDogJXMpIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIGxhIG1lbcOycmlhIHRlbXBvcmFsLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuOiAlcyIKKyN+IG1zZ3N0ciAiJXMgbm8gZXMgcG90IG9icmlyIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBsc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJQbGVhc2UsIHNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGRpc2sgbGFiZWwuIgorI34gbXNnc3RyICJEZXNpdGdldSBjcmVhciB1bmEgZXRpcXVldGEgZGUgZGlzYz8gKHkvbikgIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlR5cGUgb2YgdGhlIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkLiIKKyN+IG1zZ3N0ciAiUydoYSBjYW52aWF0IGVsIHRpcHVzIGRlbCBzaXN0ZW1hIGRlIGxhIHBhcnRpY2nDsyAlZCBwZXIgJXggKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiBtc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGZpbGVcbiIKKyN+IG1zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOlxuIgorI34gbXNnc3RyICJGb3JtYSBkJ8O6czpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG1rZnMoOCkuXG4iCisjfiBtc2dzdHIgIlMnaGEgY2FudmlhdCBsYSBpbmZvcm1hY2nDsyBkZWwgZmluZ2VyLlxuIgorCisjfiBtc2dpZCAiJXMgKCVzKVxuIgorI34gbXNnc3RyICIlcyAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQmFkIHN3YXAgaGVhZGVyIHNpemUsIG5vIGxhYmVsIHdyaXR0ZW4uIgorI34gbXNnc3RyICJMYSBtaWRhIGRlIGxhIGNhcMOnYWxlcmEgZCdpbnRlcmNhbnZpIMOpcyBlcnLDsm5pYSwgbm8gcydoYSBlc2NyaXQgY2FwIGV0aXF1ZXRhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlZWsgZXJyb3Igb24gJXMgLSBjYW5ub3Qgc2VlayB0byAlbHUiCisjfiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIGEgJXMgLSBubyBlcyBwb3QgY2VyY2FyIGEgJWx1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBlcnJvcjogd2FudGVkIDB4JTA4eCUwOHgsIGdvdCAweCUwOHglMDh4IgorI34gbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNlcmNhcjogcydlc3BlcmF2YSAweCUwOHglMDh4LCBzJ2hhIG9idGluZ3V0IDB4JTA4eCUwOHhcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZWFkIGVycm9yIG9uICVzIC0gY2Fubm90IHJlYWQgc2VjdG9yICVsbHUiCisjfiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZGUgbGVjdHVyYSBhICVzIC0gbm8gcydoYSBwb2d1dCBsbGVnaXIgZWwgc2VjdG9yICVsdVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGVycm9yIG9uICVzIC0gY2Fubm90IHdyaXRlIHNlY3RvciAlbGx1IgorI34gbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGQnZXNjcmlwdHVyYSBhICVzIC0gbm8gcydoYSBwb2d1dCBlc2NyaXVyZSBlbCBzZWN0b3IgJWx1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHNlY3RvciBzYXZlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCBvYnJpciBlbCBzZWN0b3IgZGUgbGEgcGFydGljacOzIGRlbCBmaXR4ZXIgZGVzYXQgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGVycm9yIG9uICVzIgorI34gbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGQnZXNjcmlwdHVyYSBhICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHN0YXQgcGFydGl0aW9uIHJlc3RvcmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIHN0YXQgYWwgZml0eGVyIGRlIHJlc3RhdXJhY2nDsyBkZSBsYSBwYXJ0aWNpw7MgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiByZXN0b3JlIGZpbGUgaGFzIHdyb25nIHNpemUgLSBub3QgcmVzdG9yaW5nIgorI34gbXNnc3RyICJlbCBmaXR4ZXIgZGUgcmVzdGF1cmFjacOzIGRlIGxhIHBhcnRpY2nDsyB0w6kgdW5hIG1pZGEgaW5jb3JyZWN0YSAtIG5vIGVzIHJlc3RhdXJhcsOgXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHJlc3RvcmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJubyBlcyBwb3Qgb2JyaXIgZWwgZml0eGVyIGRlIHJlc3RhdXJhY2nDsyBkZSBsYSBwYXJ0aWNpw7MgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHJlYWRpbmcgJXMiCisjfiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gbGxlZ2lyICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gZGV2aWNlICVzIGZvciB3cml0aW5nIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG9icmlyIHBlciBhIGVzY3JpcHR1cmEgZWwgZGlzcG9zaXRpdSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHdyaXRpbmcgc2VjdG9yICVsdSBvbiAlcyIKKyN+IG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBlc2NyaXVyZSBlbCBzZWN0b3IgJWx1IGVuICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiRGlzYyAlczogbm8gcydoYSBwb2d1dCBvYnRlbmlyIGxhIGdlb21ldHJpYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkRpc2sgJXM6IGNhbm5vdCBnZXQgc2l6ZSIKKyN+IG1zZ3N0ciAiRGlzYyAlcyA6IG5vIHMnaGEgcG9ndXQgb2J0ZW5pciBsYSBtaWRhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzdGFydD0lbHUgLSB0aGlzIGxvb2tzIGxpa2UgYSBwYXJ0aXRpb24gcmF0aGVyIHRoYW5cbiIKKyN+ICJ0aGUgZW50aXJlIGRpc2suIFVzaW5nIGZkaXNrIG9uIGl0IGlzIHByb2JhYmx5IG1lYW5pbmdsZXNzLlxuIgorI34gIltVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIGlmIHlvdSByZWFsbHkgd2FudCB0aGlzXSIKKyN+IG1zZ3N0ciAiIgorI34gIkF2w61zOiBpbmljaT0lbHUgLSBzZW1ibGEgdW5hIHBhcnRpY2nDsyBpIG5vIHVuIGRpc2Mgc2VuY2VyLlxuIgorI34gIk5vIHTDqSBzZW50aXQgcXVlIGhpIGV4ZWN1dGV1IGZkaXNrLltVc2V1IGwnb3BjacOzIC0tZm9yY2Ugc2kgcmVhbG1lbnQgaG8gZGVzaXRnZXUuXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGhlYWRzIgorI34gbXNnc3RyICJBdsOtczogSERJT19HRVRHRU8gaW5kaWNhIHF1ZSBoaSBoYSAlbHUgY2Fww6dhbHNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBIRElPX0dFVEdFTyBzYXlzIHRoYXQgdGhlcmUgYXJlICVsdSBzZWN0b3JzIgorI34gbXNnc3RyICJBdsOtczogSERJT19HRVRHRU8gaW5kaWNhIHF1ZSBoaSBoYSAlbHUgc2VjdG9yc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IEJMS0dFVFNJWkUvSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgY3lsaW5kZXJzIgorI34gbXNnc3RyICJBdsOtczogSERJT19HRVRHRU8gaW5kaWNhIHF1ZSBoaSBoYSAlbHUgY2lsaW5kcmVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHVubGlrZWx5IG51bWJlciBvZiBzZWN0b3JzICglbHUpIC0gdXN1YWxseSBhdCBtb3N0IDYzXG4iCisjfiAiVGhpcyB3aWxsIGdpdmUgcHJvYmxlbXMgd2l0aCBhbGwgc29mdHdhcmUgdGhhdCB1c2VzIEMvSC9TIGFkZHJlc3NpbmcuIgorI34gbXNnc3RyICIiCisjfiAiQXbDrXM6IGVsIG5vbWJyZSBkZSBzZWN0b3JzIMOpcyBpbXByb2JhYmxlICglbHUpOyBub3JtYWxtZW50IGNvbSBhIG1vbHQgNjNcbiIKKyN+ICJBaXjDsiBkb25hcsOgIHByb2JsZW1lcyBhbWIgZWwgcHJvZ3JhbWFyaSBxdWUgdXNpIGFkcmVjZXMgQy9IL1NcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbHUgY3lsaW5kZXJzLCAlbHUgaGVhZHMsICVsdSBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNjICVzOiAlbHUgY2lsaW5kcmVzLCAlbHUgY2Fww6dhbHMsICVsdSBzZWN0b3JzL3Bpc3RhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBoZWFkOiAlbHUgKHNob3VsZCBiZSBpbiAwLSVsdSkiCisjfiBtc2dzdHIgIiVzIGRlIHBhcnRpY2nDsyAlcyB0w6kgdW4gdmFsb3IgaW1wb3NzaWJsZSBwZXIgYWwgY2Fww6dhbDogJWx1IChoYXVyaWEgZCdlc3RhciBlbnRyZSAwIGkgJWx1KVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3Igc2VjdG9yOiAlbHUgKHNob3VsZCBiZSBpbiAxLSVsdSkiCisjfiBtc2dzdHIgIiVzIGRlIHBhcnRpY2nDsyAlcyB0w6kgdW4gdmFsb3IgaW1wb3NzaWJsZSBwZXIgYWwgc2VjdG9yOiAlbHUgKGhhdXJpYSBkJ2VzdGFyIGVudHJlIDEgaSAlbHUpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBjeWxpbmRlcnM6ICVsdSAoc2hvdWxkIGJlIGluIDAtJWx1KSIKKyN+IG1zZ3N0ciAiJXMgZGUgcGFydGljacOzICVzIHTDqSB1biB2YWxvciBpbXBvc3NpYmxlIHBlciBhbHMgY2lsaW5kcmVzOiAlbHUgKGhhdXJpYSBkJ2VzdGFyIGVudHJlIDAgaSAlbHUpXG4iCisKKyN+IG1zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgLi4uXG4iCisjfiBtc2dzdHIgIlMnZXN0w6AgcmVsbGVnaW50IGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGNvbW1hbmQgdG8gcmUtcmVhZCB0aGUgcGFydGl0aW9uIHRhYmxlIGZhaWxlZC5cbiIKKyN+ICJSdW4gcGFydHByb2JlKDgpLCBrcGFydHgoOCkgb3IgcmVib290IHlvdXIgc3lzdGVtIG5vdyxcbiIKKyN+ICJiZWZvcmUgdXNpbmcgbWtmcyIKKyN+IG1zZ3N0ciAiIgorI34gIkwnb3JkcmUgcGVyIGEgdG9ybmFyIGEgbGxlZ2lyIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgaGEgZmFsbGF0XG4iCisjfiAiVG9ybmV1IGEgaW5pY2lhciBlbCBzaXN0ZW1hIGFyYSwgYWJhbnMgZCd1c2FyIG1rZnNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJFcnJvciBjbG9zaW5nICVzIgorI34gbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHRhbmNhciAlc1xuIgorCisjfiBtc2dpZCAiJXM6IG5vIHN1Y2ggcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiVzOiBhcXVlc3RhIHBhcnRpY2nDsyBubyBleGlzdGVpeFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVucmVjb2duaXplZCBmb3JtYXQgLSB1c2luZyBzZWN0b3JzIgorI34gbXNnc3RyICJmb3JtYXQgbm8gcmVjb25lZ3V0OyBzJ2VzdMOgIHVzYW50IGVscyBzZWN0b3JzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5pbXBsZW1lbnRlZCBmb3JtYXQgLSB1c2luZyAlcyIKKyN+IG1zZ3N0ciAiZm9ybWF0IG5vIGltcGxlbWVudGF0OyBzJ2VzdMOgIHVzYW50ICVzXG4iCisKKyN+IG1zZ2lkICJzZWN0b3JzIgorI34gbXNnc3RyICJzZWN0b3JzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVbml0czogY3lsaW5kZXJzIG9mICVsdSBieXRlcywgYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVuaXRhdHMgPSBjaWxpbmRyZXMgZGUgJWx1IG9jdGV0cywgYmxvY3MgZGUgMTAyNCBvY3RldHMsIGNvbnRhbnQgZGVzIGRlICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCBTdGFydCAgICAgRW5kICAgI2N5bHMgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAgRGlzcC4gQXJyLiAgSW5pY2kgICAgIEZpbmFsICNjaWwuICAgICNibG9jcyAgICBJZCAgU2lzdGVtYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVbml0czogc2VjdG9ycyBvZiA1MTIgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVuaXRhdHMgPSBzZWN0b3JzIGRlIDUxMiBvY3RldHMsIGNvbnRhbnQgZGVzIGRlICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgICBTdGFydCAgICAgICBFbmQgICAjc2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBEaXNwLiBBcnIgICAgICBJbmljaSAgICAgICBGaW5hbCAjc2VjdG9ycyAgSWQgIFNpc3RlbWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVbml0YXRzID0gYmxvY3MgZGUgMTAyNCBvY3RldHMsIGNvbnRhbnQgZGVzIGRlICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgIFN0YXJ0ICAgICAgIEVuZCAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBEaXNwLiBBcnIuICAgIEluaWNpICAgICAgIEZpbmFsICAgI2Jsb2NzICAgSWQgIFNpc3RlbWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IDFNaUIgPSAxMDI0KjEwMjQgYnl0ZXMsIGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVbml0YXRzID0gbWViaWJ5dGVzIGRlIDEwNDg1NzYgb2N0ZXRzLCBibG9jcyBkZSAxMDI0IG9jdGV0cywgY29tcHRhbnQgZGVzIGRlICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCBTdGFydCAgIEVuZCAgICBNaUIgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAgRGlzcC4gQXJyLiAgSW5pY2kgICBGaW5hbCAgTWlCICAgICNibG9jcyAgICBJZC4gc2lzdGVtYVxuIgorCisjfiBtc2dpZCAiXHRcdHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICJcdFx0Y29tZW7Dp2E6IChjaWwuLGNhcMOnLixzZWN0LikgZXNwZXJhdCAoJWxkLCVsZCwlbGQpIHRyb2JhdCAoJWxkLCVsZCwlbGQpXG4iCisKKyN+IG1zZ2lkICJcdFx0ZW5kOiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICJcdFx0ZmluYWw6IChjaWwuLGNhcMOnLixzZWN0LikgZXNwZXJhdCAoJWxkLCVsZCwlbGQpIHRyb2JhdCAoJWxkLCVsZCwlbGQpXG4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gZW5kcyBvbiBjeWxpbmRlciAlbGQsIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBkaXNrXG4iCisjfiBtc2dzdHIgImxhIHBhcnRpY2nDsyBhY2FiYSBlbiBlbCBjaWxpbmRyZSAlbGQsIG3DqXMgZW5sbMOgIGRlbCBmaW5hbCBkZWwgZGlzY1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBUaGUgcGFydGl0aW9uIHRhYmxlIGxvb2tzIGxpa2UgaXQgd2FzIG1hZGVcbiIKKyN+ICIgIGZvciBDL0gvUz0qLyVsZC8lbGQgKGluc3RlYWQgb2YgJWxkLyVsZC8lbGQpLlxuIgorI34gIkZvciB0aGlzIGxpc3RpbmcgSSdsbCBhc3N1bWUgdGhhdCBnZW9tZXRyeS4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdsOtczogTGEgdGF1bGEgZGUgcGFydGljaW9ucyBzZW1ibGEgaGF2ZXItc2UgY3JlYXRcbiIKKyN+ICIgIHBlciBhIEMvSC9TPSovJWxkLyVsZCAoZW4gY29tcHRlcyBkZSAlbGQvJWxkLyVsZCkuXG4iCisjfiAiUGVyIGEgYXF1ZXN0IGxsaXN0YXQgcydhc3N1bWlyw6AgYXF1ZXN0YSBnZW9tZXRyaWEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibm8gcGFydGl0aW9uIHRhYmxlIHByZXNlbnQuIgorI34gbXNnc3RyICJubyBoaSBoYSBjYXAgdGF1bGEgZGUgcGFydGljaW9ucy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdHJhbmdlLCBvbmx5ICVkIHBhcnRpdGlvbnMgZGVmaW5lZC4iCisjfiBtc2dzdHIgIsOpcyBlc3RyYW55LCBub23DqXMgaGkgaGEgZGVmaW5pZGVzICVkIHBhcnRpY2lvbnMuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYnV0IGlzIG5vdCBtYXJrZWQgRW1wdHkiCisjfiBtc2dzdHIgIkF2w61zOiBsYSBwYXJ0aWNpw7MgJXMgdMOpIHVuYSBtaWRhIDAgcGVyw7Igbm8gZXN0w6AgbWFyY2FkYSBjb20gYSBidWlkYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGFuZCBpcyBib290YWJsZSIKKyN+IG1zZ3N0ciAiQXbDrXM6IGxhIHBhcnRpY2nDsyAlcyB0w6kgdW5hIG1pZGEgMCBpIMOpcyBhcnJlbmNhYmxlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIG5vbnplcm8gc3RhcnQiCisjfiBtc2dzdHIgIkF2w61zOiBsYSBwYXJ0aWNpw7MgJXMgdMOpIHVuYSBtaWRhIDAgaSBubyBjb21lbsOnYSBlbiB6ZXJvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGlzIG5vdCBjb250YWluZWQgaW4gcGFydGl0aW9uICVzIgorI34gbXNnc3RyICJubyBlc3TDoCBjb250aW5ndXQgYSBkaW5zIGRlIGxhIHBhcnRpY2nDsyAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbnMgJXMgYW5kICVzIG92ZXJsYXAiCisjfiBtc2dzdHIgIkF2w61zOiBsYSBwYXJ0aWNpw7MgJWQgZXN0w6AgYnVpZGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogcGFydGl0aW9uICVzIGNvbnRhaW5zIHBhcnQgb2YgdGhlIHBhcnRpdGlvbiB0YWJsZSAoc2VjdG9yICVsbHUpLFxuIgorI34gImFuZCB3aWxsIGRlc3Ryb3kgaXQgd2hlbiBmaWxsZWQiCisjfiBtc2dzdHIgIiIKKyN+ICJBdsOtczogbGEgcGFydGljacOzICVzIGNvbnTDqSBwYXJ0IGRlIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnNcbiIKKyN+ICIoc2VjdG9yICVsdSkgaSBsYSBkZXN0cnVpcsOgIHF1YW4gcydvbXBsaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yIDAiCisjfiBtc2dzdHIgIkF2w61zOiBsYSBwYXJ0aWNpw7MgJXMgY29tZW7Dp2EgZW4gZWwgc2VjdG9yIDBcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZXh0ZW5kcyBwYXN0IGVuZCBvZiBkaXNrIgorI34gbXNnc3RyICJBdsOtczogbGEgcGFydGljacOzICVzIHMnZXh0w6luIG3DqXMgZW5sbMOgIGRlbCBmaW5hbCBkZWwgZGlzY1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJBbW9uZyB0aGUgcHJpbWFyeSBwYXJ0aXRpb25zLCBhdCBtb3N0IG9uZSBjYW4gYmUgZXh0ZW5kZWRcbiIKKyN+ICIgKGFsdGhvdWdoIHRoaXMgaXMgbm90IGEgcHJvYmxlbSB1bmRlciBMaW51eCkiCisjfiBtc2dzdHIgIiIKKyN+ICJFbnRyZSBsZXMgcGFydGljaW9ucyBwcmltw6ByaWVzLCBhbG1lbnlzIHVuYSBwb3Qgc2VyIGVzdGVzYVxuIgorI34gIiAoZW5jYXJhIHF1ZSBhaXjDsiBubyDDqXMgdW4gcHJvYmxlbWEgZW4gTGludXgpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGRvZXMgbm90IHN0YXJ0IGF0IGEgY3lsaW5kZXIgYm91bmRhcnkiCisjfiBtc2dzdHIgIkF2w61zOiBsYSBwYXJ0aWNpw7MgJXMgbm8gY29tZW7Dp2EgYWwgbMOtbWl0IGQndW4gY2lsaW5kcmVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZG9lcyBub3QgZW5kIGF0IGEgY3lsaW5kZXIgYm91bmRhcnkiCisjfiBtc2dzdHIgIkF2w61zOiBsYSBwYXJ0aWNpw7MgJXMgbm8gYWNhYmEgYWwgbMOtbWl0IGQndW4gY2lsaW5kcmVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogbW9yZSB0aGFuIG9uZSBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLiIKKyN+IG1zZ3N0ciAiIgorI34gIkF2w61zOiBoaSBoYSBtw6lzIGQndW5hIHBhcnRpY2nDsyBwcmltw6ByaWEgbWFyY2FkYSBjb20gZCdhcnJlbmNhZGEgKGFjdGl2YSlcbiIKKyN+ICJBaXjDsiBubyDDqXMgcHJvYmxlbWEgcGVyIGFsIExJTE8sIHBlcsOyIGwnTUJSIGRlbCBET1Mgbm8gYXJyZW5jYXLDoCBhcXVlc3QgZGlzYy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogdXN1YWxseSBvbmUgY2FuIGJvb3QgZnJvbSBwcmltYXJ5IHBhcnRpdGlvbnMgb25seVxuIgorI34gIkxJTE8gZGlzcmVnYXJkcyB0aGUgYGJvb3RhYmxlJyBmbGFnLiIKKyN+IG1zZ3N0ciAiIgorI34gIkF2w61zOiBub3JtYWxtZW50IG5vbcOpcyBlcyBwb3QgYXJyZW5jYXIgZGVzIGRlIHBhcnRpY2lvbnMgcHJpbcOgcmllcy5cbiIKKyN+ICJFbCBMSUxPIG5vIHRpbmRyw6AgZW4gY29tcHRlIGVsIHNlbnlhbGFkb3IgZCfCq2FycmVuY2FkYcK7LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBubyBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLiIKKyN+IG1zZ3N0ciAiIgorI34gIkF2w61zOiBubyBoaSBoYSBjYXAgcGFydGljacOzIHByaW3DoHJpYSBtYXJjYWRhIGNvbSBkJ2FycmVuY2FkYSAoYWN0aXZhKS5cbiIKKyN+ICJBaXjDsiBubyDDqXMgcHJvYmxlbWEgcGVyIGFsIExJTE8sIHBlcsOyIGVsIE1CUiBkZSBET1Mgbm8gYXJyZW5jYXLDoCBhcXVlc3QgZGlzYy5cbiIKKworI34gbXNnaWQgInN0YXJ0IgorI34gbXNnc3RyICJpbmljaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKSIKKyN+IG1zZ3N0ciAicGFydGljacOzICVzOiBpbmljaTogKGNpbC4sY2Fww6cuLHNlY3QuKSBzJ2VzcGVyYXZhICglbGQsJWxkLCVsZCkgcydoYSB0cm9iYXQgKCVsZCwlbGQsJWxkKVxuIgorCisjfiBtc2dpZCAiZW5kIgorI34gbXNnc3RyICJmaW5hbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgInBhcnRpY2nDsyAlczogZmluYWw6IChjaWwuLGNhcMOnLixzZWN0Likgcydlc3BlcmF2YSAoJWxkLCVsZCwlbGQpIHMnaGEgdHJvYmF0ICglbGQsJWxkLCVsZClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgZW5kcyBvbiBjeWxpbmRlciAlbGQsIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBkaXNrIgorI34gbXNnc3RyICJMYSBwYXJ0aWNpw7MgJXMgYWNhYmEgZW4gZWwgY2lsaW5kcmUgJWxkLCBtw6lzIGVubGzDoCBkZWwgZmluYWwgZGVsIGRpc2NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogc2hpZnRlZCBzdGFydCBvZiB0aGUgZXh0ZCBwYXJ0aXRpb24gZnJvbSAlbGxkIHRvICVsbGRcbiIKKyN+ICIoRm9yIGxpc3RpbmcgcHVycG9zZXMgb25seS4gRG8gbm90IGNoYW5nZSBpdHMgY29udGVudHMuKSIKKyN+IG1zZ3N0ciAiIgorI34gIkF2w61zOiBzJ2hhIGRlc3BsYcOnYXQgbCdpbmljaSBkZSBsYSBwYXJ0aWNpw7MgZXN0ZXNhIGRlICVsZCBhICVsZFxuIgorI34gIihOb23DqXMgcGVyIGFsIGxsaXN0YXQsIG5vIGVuIGNhbnZpYSBlbCBjb250aW5ndXQuKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBleHRlbmRlZCBwYXJ0aXRpb24gZG9lcyBub3Qgc3RhcnQgYXQgYSBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+ICJET1MgYW5kIExpbnV4IHdpbGwgaW50ZXJwcmV0IHRoZSBjb250ZW50cyBkaWZmZXJlbnRseS4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdsOtczogbGEgcGFydGljacOzIGVzdGVzYSBubyBjb21lbsOnYSBhbCBsw61taXQgZCd1biBjaWxpbmRyZS5cbiIKKyN+ICJFbCBET1MgaSBMaW51eCBpbnRlcnByZXRhcmFuIGVsIGNvbnRpbmd1dCBkZSBtYW5lcmEgZGlmZXJlbnQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRVJST1I6IHNlY3RvciAlbGx1IGRvZXMgbm90IGhhdmUgYW4gbXNkb3Mgc2lnbmF0dXJlIgorI34gbXNnc3RyICJFUlJPUjogZWwgc2VjdG9yICVsdSBubyB0w6kgY2FwIHNpZ25hdHVyYSBtc2Rvc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRvbyBtYW55IHBhcnRpdGlvbnMgLSBpZ25vcmluZyB0aG9zZSBwYXN0IG5yICglenUpIgorI34gbXNnc3RyICJoaSBoYSBtYXNzYSBwYXJ0aWNpb25zIC0gcydpZ25vcmFyYW4gbGVzIHBvc3RlcmlvcnMgYSBsYTogKCVkKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyZWUgb2YgcGFydGl0aW9ucz8iCisjfiBtc2dzdHIgImwnYXJicmUgZGUgcGFydGljaW9ucz9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJkZXRlY3RlZCBEaXNrIE1hbmFnZXIgLSB1bmFibGUgdG8gaGFuZGxlIHRoYXQiCisjfiBtc2dzdHIgInMnaGEgZGV0ZWN0YXQgZWwgZ2VzdG9yIGRlIGRpc2MgLSBubyBzJ2hhIHBvZ3V0IGdlc3Rpb25hclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkRNNiBzaWduYXR1cmUgZm91bmQgLSBnaXZpbmcgdXAiCisjfiBtc2dzdHIgInMnaGEgdHJvYmF0IHVuYSBzaWduYXR1cmEgRE02IC0gcydlc3TDoCBkZWl4YW50IGPDsnJyZXJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdHJhbmdlLi4uLCBhbiBleHRlbmRlZCBwYXJ0aXRpb24gb2Ygc2l6ZSAwPyIKKyN+IG1zZ3N0ciAiZXN0cmFueS4uLiwgdW5hIHBhcnRpY2nDsyBlc3Rlc2EgZGUgbWlkYSAwP1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInN0cmFuZ2UuLi4sIGEgQlNEIHBhcnRpdGlvbiBvZiBzaXplIDA/IgorI34gbXNnc3RyICJlc3RyYW55Li4uLCB1bmEgcGFydGljacOzIEJTRCBkZSBtaWRhIDA/XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLW4gZmxhZyB3YXMgZ2l2ZW46IE5vdGhpbmcgY2hhbmdlZCIKKyN+IG1zZ3N0ciAicydoYSBlc3BlY2lmaWNhdCBlbCBzZW55YWxhZG9yIC1uOiBObyBzJ2hhIGNhbnZpYXQgcmVzXG4iCisKKyN+IG1zZ2lkICJGYWlsZWQgc2F2aW5nIHRoZSBvbGQgc2VjdG9ycyAtIGFib3J0aW5nXG4iCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgZGVzYXIgZWxzIHNlY3RvciBhbnRpY3MgLSBzJ2VzdMOgIGF2b3J0YW50XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmFpbGVkIHdyaXRpbmcgdGhlIHBhcnRpdGlvbiBvbiAlcyIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBwYXJ0aWNpw7MgYSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxvbmcgb3IgaW5jb21wbGV0ZSBpbnB1dCBsaW5lIC0gcXVpdHRpbmciCisjfiBtc2dzdHIgImzDrW5pYSBkJ2VudHJhZGEgbGxhcmdhIG8gaW5jb21wbGV0YSAtIHMnZXN0w6Agc29ydGludFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImlucHV0IGVycm9yOiBgPScgZXhwZWN0ZWQgYWZ0ZXIgJXMgZmllbGQiCisjfiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gbCdlbnRyYWRhOiBzJ2VzcGVyYXZhIGA9JyBkZXNwcsOpcyBkZWwgY2FtcCAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImlucHV0IGVycm9yOiB1bmV4cGVjdGVkIGNoYXJhY3RlciAlYyBhZnRlciAlcyBmaWVsZCIKKyN+IG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBsJ2VudHJhZGE6IG5vIHMnZXNwZXJhdmEgZWwgY2Fyw6BjdGVyICVjIGRlc3Byw6lzIGRlbCBjYW1wICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGlucHV0OiAlcyIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCByZWNvbsOoaXhlciBsJ2VudHJhZGE6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibnVtYmVyIHRvbyBiaWciCisjfiBtc2dzdHIgImVsIG5vbWJyZSDDqXMgbWFzc2EgZ3JhblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyYWlsaW5nIGp1bmsgYWZ0ZXIgbnVtYmVyIgorI34gbXNnc3RyICJkYWRlcyBlc3RyYW55ZXMgZGVzcHLDqXMgZGVsIG5vbWJyZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5vIHJvb20gZm9yIHBhcnRpdGlvbiBkZXNjcmlwdG9yIgorI34gbXNnc3RyICJubyBoaSBoYSBlc3BhaSBwZXIgYWwgZGVzY3JpcHRvciBkZSBwYXJ0aWNpw7NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgYnVpbGQgc3Vycm91bmRpbmcgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGNyZWFyIHVuYSBwYXJ0aWNpw7MgZXN0ZXNhIGFkanVudGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0b28gbWFueSBpbnB1dCBmaWVsZHMiCisjfiBtc2dzdHIgImhpIGhhIG1hc3NhIGNhbXBzIGEgbCdlbnRyYWRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm8gcm9vbSBmb3IgbW9yZSIKKyN+IG1zZ3N0ciAiTm8gcXVlZGEgbcOpcyBlc3BhaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIklsbGVnYWwgdHlwZSIKKyN+IG1zZ3N0ciAiVGlwdXMgbm8gcGVybcOoc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IGdpdmVuIHNpemUgKCVsbHUpIGV4Y2VlZHMgbWF4IGFsbG93YWJsZSBzaXplICglbGx1KSIKKyN+IG1zZ3N0ciAiQXbDrXM6IGxhIG1pZGEgaW5kaWNhZGEgKCVsdSkgZXhjZWRlaXggbGEgbcOgeGltYSBhY2NlcHRhYmxlICglbHUpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogZW1wdHkgcGFydGl0aW9uIgorI34gbXNnc3RyICJBdsOtczogcGFydGljacOzIGJ1aWRhXG4iCisKKyMgRFVCVEUKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogYmFkIHBhcnRpdGlvbiBzdGFydCAoZWFybGllc3QgJWxsdSkiCisjfiBtc2dzdHIgIkF2w61zOiBsJ2luaWNpIGRlIGxhIHBhcnRpY2nDsyBubyDDqXMgY29ycmVjdGUgKG3DrW5pbSAlbHUpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGJvb3RhYmxlIGZsYWcgLSBjaG9vc2UgLSBvciAqIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHJlY29uw6hpeGVyIGVsIHNlbnlhbGFkb3IgZCdhcnJlbmNhZGEgLSBlc2NvbGxpdSAtIG8gKlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpYWwgYyxoLHMgc3BlY2lmaWNhdGlvbj8iCisjfiBtc2dzdHIgImVzcGVjaWZpY2FjacOzIHBhcmNpYWwgZGUgYyxoLHM/XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIG5vdCB3aGVyZSBleHBlY3RlZCIKKyN+IG1zZ3N0ciAiTGEgcGFydGljacOzIGVzdGVzYSBubyDDqXMgb24gcydlc3BlcmF2YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImJhZCBpbnB1dCIKKyN+IG1zZ3N0ciAiZW50cmFkYSBkb2xlbnRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidG9vIG1hbnkgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiaGkgaGEgbWFzc2EgcGFydGljaW9uc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJJbnB1dCBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDsgYWJzZW50IGZpZWxkcyBnZXQgYSBkZWZhdWx0IHZhbHVlLlxuIgorI34gIjxzdGFydD4gPHNpemU+IDx0eXBlIFtFLFMsTCxYLGhleF0+IDxib290YWJsZSBbLSwqXT4gPGMsaCxzPiA8YyxoLHM+XG4iCisjfiAiVXN1YWxseSB5b3Ugb25seSBuZWVkIHRvIHNwZWNpZnkgPHN0YXJ0PiBhbmQgPHNpemU+IChhbmQgcGVyaGFwcyA8dHlwZT4pLiIKKyN+IG1zZ3N0ciAiIgorI34gIkVudHJhZGEgZW4gZWwgc2Vnw7xlbnQgZm9ybWF0OyBlbHMgY2FtcHMgYWJzZW50cyBvYnRlbmVuIHVuIHZhbG9yIHBlciBkZWZlY3RlLlxuIgorI34gIjxpbmljaT4gPG1pZGE+IDx0aXB1cyBbRSxTLEwsWCxoZXhdPiA8YXJyZW5jYWJsZSBbLSwqXT4gPGMsaCxzPiA8YyxoLHM+XG4iCisjfiAiTm9ybWFsbWVudCBub23DqXMgY2FsIGVzcGVjaWZpY2FyIDxpbmljaT4gaSA8bWlkYT4gKGkgcG90c2VyIDx0aXB1cz4pLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT4uLi5cbiIKKyN+IG1zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEYW5nZXJvdXMgb3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAib3BjaW9ucyBwZXJpbGxvc2VzOiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgICAgICAgcHJpbnQgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIGdlb21ldHJ5XG4iCisjfiAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgcHJpbnQgZ2VvbWV0cnkgZ3Vlc3NlZCBmcm9tIHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAtRyBbbyAtLXNob3ctcHQtZ2VvbWV0cnldOiBJbXByaW1laXggbGEgZ2VvbWV0cmlhIHF1ZSBzJ2hhIGVuZGV2aW5hdFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJ0aXIgZGUgbGEgdGF1bGEgZGUgcGFydGljaW9ucyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1BLCAtLWFjdGl2YXRlWz08ZGV2aWNlPl0gYWN0aXZhdGUgdGhlIGJvb3RhYmxlIGZsYWdcbiIKKyN+ICIgLVUsIC0tdW5oaWRlWz08ZGV2aWNlPl0gICBzZXQgcGFydGl0aW9uIGFzIHVuaGlkZGVuXG4iCisjfiAiIC14LCAtLXNob3ctZXh0ZW5kZWQgICAgICAgYWxzbyBsaXN0IGV4dGVuZGVkIHBhcnRpdGlvbnMgaW4gdGhlIG91dHB1dCxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIGV4cGVjdCBkZXNjcmlwdG9ycyBmb3IgdGhlbSBpbiB0aGUgaW5wdXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAteCBbbyAtLXNob3ctZXh0ZW5kZWRdOiAgVGFtYsOpIGxsaXN0YSBsZXMgcGFydGljaW9ucyBlc3Rlc2VzIGEgbGEgc29ydGlkYVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbyBlbHMgZGVzY3JpcHRvcnMgZXNwZXJhdHMgZW4gbCdlbnRyYWRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyVzZGV2aWNlICAgICAgICAgICAgbGlzdCBhY3RpdmUgcGFydGl0aW9ucyBvbiBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiJXMgZGlzcG9zaXRpdVx0XHQgZW51bWVyYSBsZXMgcGFydGljaW9ucyBhY3RpdmVzIGRlbCBkaXNwb3NpdGl1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzJXNkZXZpY2UgbjEgbjIgLi4uICBhY3RpdmF0ZSBwYXJ0aXRpb25zIG4xIC4uLiwgaW5hY3RpdmF0ZSB0aGUgcmVzdFxuIgorI34gbXNnc3RyICIlcyBkaXNwb3NpdGl1IG4xIG4yIC4uLiBhY3RpdmEgcGFydGljaW9ucyBuMSAuLi4sIGRlc2FjdGl2YSBsYSByZXN0YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHBhcnRpdGlvbnMgYXJndW1lbnQiCisjfiBtc2dzdHIgIk5vbWJyZSBpbnbDoGxpZDogJXNcbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzXG4iCisjfiBtc2dzdHIgIm5vIGVzIHBvdCBvYnJpciAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1wcmludC1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciIKKyN+IG1zZ3N0ciAiZm9ybWEgZCfDunM6IHNmZGlzayAtLXByaW50LWlkIGRpc3Bvc2l0aXUgbsO6bWVyb19wYXJ0aWNpw7NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0tY2hhbmdlLWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyIElkIgorI34gbXNnc3RyICJmb3JtYSBkJ8O6czogc2ZkaXNrIC0tY2hhbmdlLWlkIGRpc3Bvc2l0aXUgbsO6bWVyb19wYXJ0aWNpw7MgSWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0taWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIgW0lkXSIKKyN+IG1zZ3N0ciAiZm9ybWEgZCfDunM6IHNmZGlzayAtLWlkIGRpc3Bvc2l0aXUgcGFydGljacOzX27Dum1lcm8gW0lkXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbiBzcGVjaWZ5IG9ubHkgb25lIGRldmljZSAoZXhjZXB0IHdpdGggLWwgb3IgLXMpIgorI34gbXNnc3RyICJub23DqXMgcG9kZXUgZXNwZWNpZmljYXIgdW4gZGlzcG9zaXRpdSAoZXhjZXB0ZSBhbWIgLWwgbyAtcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyByZWFkLXdyaXRlIgorI34gbXNnc3RyICJubyBlcyBwb3Qgb2JyaXIgJXMgcGVyIGEgbGVjdHVyYS1lc2NyaXB0dXJhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgZm9yIHJlYWRpbmciCisjfiBtc2dzdHIgIm5vIGVzIHBvdCBvYnJpciAlcyBwZXIgYSBsZWN0dXJhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IE9LIgorI34gbXNnc3RyICIlczogQ29ycmVjdGVcbiIKKworI34gbXNnaWQgIiVzOiAlbGQgY3lsaW5kZXJzLCAlbGQgaGVhZHMsICVsZCBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIiVzIDogJWxkIGNpbGluZHJlcywgJWxkIGNhcMOnYWxzLCAlbGQgc2VjdG9ycy9waXN0YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImJhZCBhY3RpdmUgYnl0ZTogMHgleCBpbnN0ZWFkIG9mIDB4ODAiCisjfiBtc2dzdHIgIm9jdGV0IGFjdGl1IGluY29ycmVjdGU6IDB4JXggZW4gY29tcHRlcyBkZSAweDgwXG4iCisKKyN+IG1zZ2lkICJEb25lIgorI34gbXNnc3RyICJGZXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIllvdSBoYXZlICVkIGFjdGl2ZSBwcmltYXJ5IHBhcnRpdGlvbnMuIFRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLFxuIgorI34gImJ1dCB0aGUgRE9TIE1CUiB3aWxsIG9ubHkgYm9vdCBhIGRpc2sgd2l0aCAxIGFjdGl2ZSBwYXJ0aXRpb24uIgorI34gbXNnc3RyICIiCisjfiAiVGVuaXUgJWQgcGFydGljaW9ucyBwcmltw6ByaWVzIGFjdGl2ZXMuIEFpeMOyIG5vIMOpcyBpbXBvcnRhbnQgcGVyIGFsIExJTE8sXG4iCisjfiAicGVyw7IgbCdNQlIgZGVsIERPUyBub23DqXMgcG90IGFycmVuY2FyIGRpc2NzIGFtYiB1bmEgcGFydGljacOzIGFjdGl2YS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgaGFzIGlkICV4IGFuZCBpcyBub3QgaGlkZGVuIgorI34gbXNnc3RyICJsYSBwYXJ0aWNpw7MgJXMgdMOpIGwnaWRlbnRpZmljYWRvciAleCBpIG5vIGVzdMOgIG9jdWx0YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJhZCBJZCAlbHgiCisjfiBtc2dzdHIgIklkZW50aWZpY2Fkb3IgZG9sZW50ICVseFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoaXMgZGlzayBpcyBjdXJyZW50bHkgaW4gdXNlLiIKKyN+IG1zZ3N0ciAiQXF1ZXN0IGRpc2MgZXN0w6AgYWN0dWFsbWVudCBlbiDDunMuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmF0YWwgZXJyb3I6IGNhbm5vdCBmaW5kICVzIgorI34gbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGZhdGFsOiBubyBzJ2hhIHBvZ3V0IHRyb2JhciAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAiQXbDrXM6ICVzIG5vIMOpcyB1biBkaXNwb3NpdGl1IGRlIGJsb2NzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiT0siCisjfiBtc2dzdHIgIkNvcnJlY3RlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGRvZXMgbm90IGV4aXN0LCBjYW5ub3QgY2hhbmdlIGl0IgorI34gbXNnc3RyICJMYSBwYXJ0aWNpw7MgJWQgbm8gZXhpc3RlaXg7IG5vIHMnaGEgcG9ndXQgY2FudmlhclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJJIGRvbid0IGxpa2UgdGhlc2UgcGFydGl0aW9ucyAtIG5vdGhpbmcgY2hhbmdlZC5cbiIKKyN+ICIoSWYgeW91IHJlYWxseSB3YW50IHRoaXMsIHVzZSB0aGUgLS1mb3JjZSBvcHRpb24uKSIKKyN+IG1zZ3N0ciAiIgorI34gIkFxdWVzdGVzIHBhcnRpY2lvbnMgbm8gZW0gc2VtYmxlbiBiw6kgLSBubyBzJ2hhIGNhbnZpYXQgcmVzLlxuIgorI34gIihTaSByZWFsbWVudCBkZXNpdGdldSBmZXIgYWl4w7IsIHVzZXUgbCdvcGNpw7MgLS1mb3JjZSkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSSBkb24ndCBsaWtlIHRoaXMgLSBwcm9iYWJseSB5b3Ugc2hvdWxkIGFuc3dlciBObyIKKyN+IG1zZ3N0ciAiTm8gZW0gc2VtYmxhIGLDqSAtIHByb2JhYmxlbWVudCBoYWd1ZXUgZGUgcmVzcG9uZHJlIE5vXG4iCisKKyN+IG1zZ2lkICJBcmUgeW91IHNhdGlzZmllZCB3aXRoIHRoaXM/IFt5bnFdICIKKyN+IG1zZ3N0ciAiRXN0ZXUgc2F0aXNmZXQgYW1iIGFpeMOyPyBbeW5xXSAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUXVpdHRpbmcgLSBub3RoaW5nIGNoYW5nZWQiCisjfiBtc2dzdHIgIlMnZXN0w6Agc29ydGludCAtIG5vIHMnaGEgY2FudmlhdCByZXNcbiIKKworIyBGSVhNRTogJ3knLCAnbicsICdxJy4gQXJlIHRoZXkgdHJhbnNsYXRhYmxlPworI34gbXNnaWQgIlBsZWFzZSBhbnN3ZXIgb25lIG9mIHksbixxXG4iCisjfiBtc2dzdHIgIlJlc3Bvbmd1ZXUgYW1iIHVuYTogeSxuLHFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJTdWNjZXNzZnVsbHkgd3JvdGUgdGhlIG5ldyBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlMnaGEgZXNjcml0IGNvcnJlY3RhbWVudCBsYSBub3ZhIHRhdWxhIGRlIHBhcnRpY2lvbnNcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiSWYgeW91IGNyZWF0ZWQgb3IgY2hhbmdlZCBhIERPUyBwYXJ0aXRpb24sIC9kZXYvZm9vNywgc2F5LCB0aGVuIHVzZSBkZCgxKVxuIgorI34gInRvIHplcm8gdGhlIGZpcnN0IDUxMiBieXRlczogIGRkIGlmPS9kZXYvemVybyBvZj0vZGV2L2ZvbzcgYnM9NTEyIGNvdW50PTFcbiIKKyN+ICIoU2VlIGZkaXNrKDgpLikiCisjfiBtc2dzdHIgIiIKKyN+ICJTaSBoZXUgY3JlYXQgbyBtb2RpZmljYXQgdW5hIHBhcnRpY2nDsyBET1MsIGNvbSAvZGV2L2ZvbzcsIHVzZXUgZGQoMSlcbiIKKyN+ICJwZXIgYSBwb3NhciBhIHplcm8gZWxzIHByaW1lcnMgNTEyIG9jdGV0czpcbiIKKyN+ICJcdGRkIGlmPS9kZXYvemVybyBvZj0vZGV2L2ZvbzcgYnM9NTEyIGNvdW50PTFcbiIKKyN+ICIoTWlyZXUgZmRpc2soOCkuKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgorI34gbXNnc3RyICIlczogTGVzIG9wY2lvbnMgLS1hZGp1c3QgaSAtLW5vYWRqZmlsZSBzJ2V4Y2xvdWVuIG3DunR1YW1lbnQuIExlcyBoZXUgZXNwZWNpZmljYXQgdG90ZXMgZHVlcy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueSBET1MgNi54IHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGZkaXNrIGRvY3VtZW50YXRpb24gZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQVRFTkNJw5M6IFNpIGhldSBjcmVhdCBvIG1vZGlmaWNhdCBhbGd1bmEgcGFydGljacOzXG4iCisjfiAiRE9TIDYueCwgY29uc3VsdGV1IGxhIHDDoGdpbmEgZGVsIG1hbnVhbCBkZSBjZmRpc2tcbiIKKyN+ICJwZXIgYSBpbmZvcm1hY2nDsyBhZGRpY2lvbmFsLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZpZWxkIGlzIHRvbyBsb25nIgorI34gbXNnc3RyICJlbCBjYW1wIMOpcyBtYXNzYSBsbGFyZy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogJyVjJyBpcyBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJXM6ICclYycgbm8gZXN0w6AgcGVybcOocy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICInJWMnIGlzIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICLCqyVjwrsgbm8gZXN0w6AgcGVybcOocy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY29udHJvbCBjaGFyYWN0ZXJzIGFyZSBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJXM6IEVscyBjYXLDoGN0ZXJzIGRlIGNvbnRyb2wgbm8gZXN0YW4gcGVybWVzb3MuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY29udHJvbCBjaGFyYWN0ZXJzIGFyZSBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiRWxzIGNhcsOgY3RlcnMgZGUgY29udHJvbCBubyBlc3RhbiBwZXJtZXNvcy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcy4iCisjfiBtc2dzdHIgIiVzOiBub23DqXMgZXMgcG9kZW4gbW9kaWZpY2FyIGVudHJhZGVzIGxvY2FsczsgdXNldSB5cCVzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm90aW1lfHNob3J0fGZ1bGx8aXNvXVxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICBQcmltZXIgICAgICDDmmx0aW1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgZGV0YWlscyBzZWUgbHNsb2dpbnMoMSkuXG4iCisjfiBtc2dzdHIgIlMnaGEgY2FudmlhdCBsYSBpbmZvcm1hY2nDsyBkZWwgZmluZ2VyLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNyeXB0KCkgZmFpbGVkIgorI34gbXNnc3RyICJsJ2Fzc2lnbmFjacOzIGRlIG1lbcOycmlhIChtYWxsb2MpIGhhIGZhbGxhdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDT01NQU5EIG5vdCBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJObyBzJ2hhIGVzcGVjaWZpY2F0IGwnb3BjacOzIC0tZGF0ZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUaGlzIHNtYWxsIHVzYWdlIGd1aWRlXG4iCisjfiBtc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgT3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBwYXRobmFtZSBbcGF0aG5hbWUgLi4uXVxuIgorI34gbXNnc3RyICJmb3JtYSBkJ8O6czogbmFtZWkgWy1teF0gY2Ftw60gW2NhbcOtIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHdpcGVmcyg4KS5cbiIKKyN+IG1zZ3N0ciAiUydoYSBjYW52aWF0IGxhIGluZm9ybWFjacOzIGRlbCBmaW5nZXIuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB0YXNrc2V0KDEpLlxuIgorI34gbXNnc3RyICJTJ2hhIGNhbnZpYXQgbGEgaW5mb3JtYWNpw7MgZGVsIGZpbmdlci5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogaXMgcmVtb3ZhYmxlIGRldmljZSIKKyN+IG1zZ3N0ciAiIGV4dHJhw69ibGUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibm8gZmlsZW5hbWUgc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAiTm8gcydoYSBlc3BlY2lmaWNhdCBsJ29wY2nDsyAtLWRhdGUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidGltZW91dCBjYW5ub3QgYmUgemVybyIKKyN+IG1zZ3N0ciAibW91bnQgOiBubyBzJ2hhIHBvZ3V0IGVzdGFibGlyIGxhIHZlbG9jaXRhdCBkZTogJXMiCisKKyN+IG1zZ2lkICJOZWVkIHRvIGluc2VydCAlZCBzZWNvbmRzIGFuZCByZWZlciB0aW1lIGJhY2sgJS42ZiBzZWNvbmRzIGFnb1xuIgorI34gbXNnc3RyICJTJ2hhbiBkJ2luc2VyaXIgJWQgc2Vnb25zIGkgcmVmZXJpciBlbCB0ZW1wcyBhbnRlcmlvciBhIGZhICUuNmYgc2Vnb25zXG4iCisKKyN+IG1zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSBLREdIV0NMSyB0byBjaGFuZ2VcbiIKKyN+IG1zZ3N0ciAiUydlc3TDoCBlc3BlcmFudCBlbiBidWNsZSBhIHF1ZSBjYW52acOvIGwnaG9yYSBkZSBLREdIV0NMS1xuIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgdG8gcmVhZCB0aW1lIGZhaWxlZCIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBleGVjdXRhciBpb2N0bCBLREdIV0NMSyBwZXIgbGxlZ2lyIGwnaG9yYSIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIHRvIHJlYWQgdGltZSBmYWlsZWQgaW4gbG9vcCIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBleGVjdXRhciBpb2N0bCBLREdIV0NMSyBwZXIgbGxlZ2lyIGwnaG9yYSBlbiBlbCBidWNsZSIKKworI34gbXNnaWQgImlvY3RsKCkgZmFpbGVkIHRvIHJlYWQgdGltZSBmcm9tICVzIgorI34gbXNnc3RyICJubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBpb2N0bCgpIHBlciBsbGVnaXIgbCdob3JhIGRlICVzIgorCisjfiBtc2dpZCAiaW9jdGwgS0RTSFdDTEsgZmFpbGVkIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGlvY3RsIEtER0hXQ0xLIgorCisjfiBtc2dpZCAiQ2FuJ3Qgb3BlbiAvZGV2L3R0eTEgb3IgL2Rldi92Yy8xIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9icmlyIC9kZXYvdHR5MSBvIC9kZXYvdmMvMSIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBleGVjdXRhciBpb2N0bCBLREdIV0NMSyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgZGV0YWlscyBzZWUgbHNjcHUoMSkuXG4iCisjfiBtc2dzdHIgIlMnaGEgY2FudmlhdCBsYSBpbmZvcm1hY2nDsyBkZWwgZmluZ2VyLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFthcmdzLi4uXVxuIgorI34gbXNnc3RyICJmb3JtYSBkJ8O6czogJXMgcHJvZ3JhbWEgW2FyZyAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSByZW5pY2UoMSkuXG4iCisjfiBtc2dzdHIgIlMnaGEgY2FudmlhdCBsYSBpbmZvcm1hY2nDsyBkZWwgZmluZ2VyLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyVzIFtvcHRpb25zXSBbcHJvZ3JhbSBbcHJvZ3JhbSBhcmd1bWVudHNdXVxuIgorI34gbXNnc3RyICJmb3JtYSBkJ8O6czogJXMgcHJvZ3JhbWEgW2FyZyAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyN+IG1zZ2lkICIuLi5iYWNrIDEgcGFnZSIKKyN+IG1zZ3N0ciAiLi4ucmV0cm9jZWRlaXggMSBww6BnaW5hIgorCisjfiBtc2dpZCAiLi4uc2tpcHBpbmcgb25lIGxpbmUiCisjfiBtc2dzdHIgIi4uLnMnZXN0w6Agb21ldGVudCB1bmEgbMOtbmlhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcmV2KDEpLlxuIgorI34gbXNnc3RyICJTJ2hhIGNhbnZpYXQgbGEgaW5mb3JtYWNpw7MgZGVsIGZpbmdlci5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25dIGZpbGVcbiIKKyN+IG1zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1uLCAtLW5vLWFyZ3VtZW50ICAgICAgIG9wdGlvbiBkb2VzIG5vdCB1c2UgYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yLCAtLXJlcXVpcmVkIDxhcmc+ICAgIG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudFxuIgorI34gbXNnc3RyICIlczogbCdvcGNpw7MgcmVxdWVyZWl4IHVuIGFyZ3VtZW50IC0tICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAtLXh5enp5ICAgICAgICAgICAgIGEgbG9uZyBvcHRpb24gb25seVxuIgorI34gbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgTm8gZXNjcmlndWVzIHJlYWxtZW50IGFsIGRpc2MiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc2VjdXRpdmUgbGluZXMgYXJlIGludGVuZGVkIGJ5IHR3byBzcGFjZXNcbiIKKyN+IG1zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1mLCAtLWZvb2JhciAgICAgICAgICAgIG5leHQgb3B0aW9uIGRlc2NyaXB0aW9uIHJlc2V0cyBpbmRlbnRcbiIKKyN+IG1zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1oICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscCB0ZXh0XG4iCisjfiBtc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC0tdmVyc2lvblxuIgorI34gbXNnc3RyICJ2ZXJzacOzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvbXBpbGVkIHdpdGhvdXQgLXggc3VwcG9ydCIKKyN+IG1zZ3N0ciAiJXM6IGNvbXBpbGF0IHNlbnNlIGltcGxlbWVudGFyIC14XG4iCisKKyN+IG1zZ2lkICIlczogT3V0IG9mIG1lbW9yeSFcbiIKKyN+IG1zZ3N0ciAiJXM6IE5vIGhpIGhhIHByb3UgbWVtw7JyaWFcbiIKKworI34gbXNnaWQgIlVudXNhYmxlIgorI34gbXNnc3RyICJJbnV0aWxpdHphYmxlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGZhaWxlZFxuIgorI34gbXNnc3RyICIoRml0eGVyIHNlZ8O8ZW50OiAlcykiCisKKyN+IG1zZ2lkICJEaXNrIGhhcyBiZWVuIGNoYW5nZWQuXG4iCisjfiBtc2dzdHIgIkVsIGRpc2MgcydoYSBtb2RpZmljYXQuXG4iCisKKyN+IG1zZ2lkICJSZWJvb3QgdGhlIHN5c3RlbSB0byBlbnN1cmUgdGhlIHBhcnRpdGlvbiB0YWJsZSBpcyBjb3JyZWN0bHkgdXBkYXRlZC5cbiIKKyN+IG1zZ3N0ciAiQXJyZW5xdWV1IGRlIG5vdSBlbCBzaXN0ZW1hIHBlciBhIGFzc2VndXJhci12b3MgZGUgcXVlIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgcydoYSBhY3R1YWxpdHphdCBjb3JyZWN0YW1lbnQuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnlcbiIKKyN+ICJET1MgNi54IHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGNmZGlzayBtYW51YWxcbiIKKyN+ICJwYWdlIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQVRFTkNJw5M6IFNpIGhldSBjcmVhdCBvIG1vZGlmaWNhdCBhbGd1bmEgcGFydGljacOzXG4iCisjfiAiRE9TIDYueCwgY29uc3VsdGV1IGxhIHDDoGdpbmEgZGVsIG1hbnVhbCBkZSBjZmRpc2tcbiIKKyN+ICJwZXIgYSBpbmZvcm1hY2nDsyBhZGRpY2lvbmFsLlxuIgorCisjfiBtc2dpZCAiRkFUQUwgRVJST1IiCisjfiBtc2dzdHIgIkVSUk9SIEZBVEFMIgorCisjfiBtc2dpZCAiUHJlc3MgYW55IGtleSB0byBleGl0IGNmZGlzayIKKyN+IG1zZ3N0ciAiUHJlbWV1IHVuYSB0ZWNsYSBwZXIgYSBzb3J0aXIgZGVsIGNmZGlzayIKKworI34gbXNnaWQgIkNhbm5vdCBzZWVrIG9uIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgY2VyY2FyIGEgbGEgdW5pdGF0IGRlIGRpc2MiCisKKyN+IG1zZ2lkICJDYW5ub3QgcmVhZCBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGxsZWdpciBsYSB1bml0YXQgZGUgZGlzYyIKKworI34gbXNnaWQgIkNhbm5vdCB3cml0ZSBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGEgbGEgdW5pdGF0IGRlIGRpc2MiCisKKyN+IG1zZ2lkICJUb28gbWFueSBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJIaSBoYSBtYXNzYSBwYXJ0aWNpb25zIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGJlZ2lucyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIkxhIHBhcnRpY2nDsyBjb21lbsOnYSBhYmFucyBkZWwgc2VjdG9yIDAiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIkxhIHBhcnRpY2nDsyBhY2FiYSBhYmFucyBkZWwgc2VjdG9yIDAiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gYmVnaW5zIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICJMYSBwYXJ0aWNpw7MgY29tZW7Dp2EgZGVzcHJlcyBkZSBsYSBmw60gZGVsIGRpc2MiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBhZnRlciBlbmQtb2YtZGlzayIKKyN+IG1zZ3N0ciAiTGEgcGFydGljacOzIGFjYWJhIGRlc3ByZXMgZGUgbGEgZsOtIGRlbCBkaXNjIgorCisjfiBtc2dpZCAibG9naWNhbCBwYXJ0aXRpb25zIG5vdCBpbiBkaXNrIG9yZGVyIgorI34gbXNnc3RyICJsZXMgcGFydGljaW9ucyBsw7JnaXF1ZXMgbm8gZXN0YW4gZW4gbCdvcmRyZSBkZWwgZGlzYyIKKworI34gbXNnaWQgImxvZ2ljYWwgcGFydGl0aW9ucyBvdmVybGFwIgorI34gbXNnc3RyICJsZXMgcGFydGljaW9ucyBsw7JnaXF1ZXMgcydlbmNhdmFscXVlbiIKKworI34gbXNnaWQgImVubGFyZ2VkIGxvZ2ljYWwgcGFydGl0aW9ucyBvdmVybGFwIgorI34gbXNnc3RyICJsZXMgcGFydGljaW9ucyBsw7JnaXF1ZXMgYW1wbGlhZGVzIHMnZW5jYXZhbHF1ZW4iCisKKyN+IG1zZ2lkICIhISEhIEludGVybmFsIGVycm9yIGNyZWF0aW5nIGxvZ2ljYWwgZHJpdmUgd2l0aCBubyBleHRlbmRlZCBwYXJ0aXRpb24gISEhISIKKyN+IG1zZ3N0ciAiISEhISBFcnJvciBpbnRlcm4gZW4gY3JlYXIgdW5hIHVuaXRhdCBsw7JnaWNhIHNlbnNlIHBhcnRpY2nDsyBlc3Rlc2EgISEhISIKKworI34gbXNnaWQgIkNhbm5vdCBjcmVhdGUgbG9naWNhbCBkcml2ZSBoZXJlIC0tIHdvdWxkIGNyZWF0ZSB0d28gZXh0ZW5kZWQgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBjcmVhciBjYXAgdW5pdGF0IGzDsmdpY2E7IGVzIGNyZWFyYW4gZHVlcyBwYXJ0aWNpb25zIGVzdGVzZXMiCisKKyN+IG1zZ2lkICJNZW51IGl0ZW0gdG9vIGxvbmcuIE1lbnUgbWF5IGxvb2sgb2RkLiIKKyN+IG1zZ3N0ciAiTCdlbGVtZW50IGRlbCBtZW7DuiDDqXMgbWFzc2EgbGxhcmc7IGwnYXNwZWN0ZSBkZWwgbWVuw7ogcG90IHNlciBlc3RyYW55LiIKKworI34gbXNnaWQgIklsbGVnYWwga2V5IgorI34gbXNnc3RyICJUZWNsYSBubyBwZXJtZXNhIgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICJDcmVhIHVuYSBub3ZhIHBhcnRpY2nDsyBwcmltw6ByaWEiCisKKyN+IG1zZ2lkICJDcmVhdGUgYSBuZXcgbG9naWNhbCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIkNyZWEgdW5hIG5vdmEgcGFydGljacOzIGzDsmdpY2EiCisKKyN+IG1zZ2lkICJDYW5jZWwiCisjfiBtc2dzdHIgIkNhbmNlbMK3bGEiCisKKyN+IG1zZ2lkICJEb24ndCBjcmVhdGUgYSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIk5vIGNyZcOvcyBjYXAgcGFydGljacOzIgorCisjfiBtc2dpZCAiISEhIEludGVybmFsIGVycm9yICEhISIKKyN+IG1zZ3N0ciAiISEhIEVycm9yIGludGVybiAhISEiCisKKyN+IG1zZ2lkICJTaXplIChpbiBNQik6ICIKKyN+IG1zZ3N0ciAiTWlkYSAoZW4gTUIpOiAiCisKKyN+IG1zZ2lkICJCZWdpbm5pbmciCisjfiBtc2dzdHIgIlByaW5jaXBpIgorCisjfiBtc2dpZCAiQWRkIHBhcnRpdGlvbiBhdCBiZWdpbm5pbmcgb2YgZnJlZSBzcGFjZSIKKyN+IG1zZ3N0ciAiQWZlZ2VpeCBwYXJ0aWNpw7MgYWwgcHJpbmNpcGkgZGUgbCdlc3BhaSBsbGl1cmUiCisKKyN+IG1zZ2lkICJBZGQgcGFydGl0aW9uIGF0IGVuZCBvZiBmcmVlIHNwYWNlIgorI34gbXNnc3RyICJBZmVnZWl4IHBhcnRpY2nDsyBhbCBmaW5hbCBkZSBsJ2VzcGFpIGxsaXVyZSIKKworI34gbXNnaWQgIk5vIHJvb20gdG8gY3JlYXRlIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIk5vIGhpIGhhIGVzcGFpIHBlciBjcmVhciBsYSBwYXJ0aWNpw7MgZXN0ZXNhIgorCisjfiBtc2dpZCAiTm8gcGFydGl0aW9uIHRhYmxlLiBTdGFydGluZyB3aXRoIHplcm8gdGFibGUuIgorI34gbXNnc3RyICJObyBoaSBoYSBjYXAgdGF1bGEgZGUgcGFydGljaW9ucy4gUydlc3TDoCBjb21lbsOnYW50IGFtYiB1bmEgdGF1bGEgYnVpZGEuIgorCisjfiBtc2dpZCAiQmFkIHNpZ25hdHVyZSBvbiBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIkxhIHNpZ25hdHVyYSBhIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgw6lzIGVycsOybmlhIgorCisjfiBtc2dpZCAiVW5rbm93biBwYXJ0aXRpb24gdGFibGUgdHlwZSIKKyN+IG1zZ3N0ciAiRXMgZGVzY29uZWl4IGVsIHRpcHVzIGRlIHRhdWxhIGRlIHBhcnRpY2lvbnMiCisKKyN+IG1zZ2lkICJEbyB5b3Ugd2lzaCB0byBzdGFydCB3aXRoIGEgemVybyB0YWJsZSBbeS9OXSA/IgorI34gbXNnc3RyICJEZXNpdGdldSBjb21lbsOnYXIgYW1iIHVuYSB0YXVsYSBidWlkYSBbcy9OXT8iCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9icmlyIGxhIHVuaXRhdCBkZSBkaXNjIgorCisjfiBtc2dpZCAiT3BlbmVkIGRpc2sgcmVhZC1vbmx5IC0geW91IGhhdmUgbm8gcGVybWlzc2lvbiB0byB3cml0ZSIKKyN+IG1zZ3N0ciAiUydoYSBvYmVydCB1biBkaXNjIGRlIG5vbcOpcyBsZWN0dXJhOyBubyB0ZW5pdSBwZXJtw61zIHBlciBhIGVzY3JpdXJlLWhpIgorCisjfiBtc2dpZCAiQ2Fubm90IGdldCBkaXNrIHNpemUiCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2J0ZW5pciBsYSBtaWRhIGRlbCBkaXNjIgorCisjfiBtc2dpZCAiQmFkIHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICJQYXJ0aWNpw7MgcHJpbcOgcmlhIGluY29ycmVjdGEiCisKKyN+IG1zZ2lkICJXYXJuaW5nISEgIFRoaXMgbWF5IGRlc3Ryb3kgZGF0YSBvbiB5b3VyIGRpc2shIgorI34gbXNnc3RyICJBdsOtczogQWl4w7IgcG90IGRlc3RydWlyIGxlcyBkYWRlcyBkZWwgZGlzYyEiCisKKyN+IG1zZ2lkICJQbGVhc2UgZW50ZXIgYHllcycgb3IgYG5vJyIKKyN+IG1zZ3N0ciAiRXNjcml2aXUgwqtzw63CuyBvIMKrbm/CuyIKKworI34gbXNnaWQgIldyaXRpbmcgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2suLi4iCisjfiBtc2dzdHIgIlMnZXN0w6AgZXNjcml2aW50IGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgYWwgZGlzYy4uLiIKKworI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrIgorI34gbXNnc3RyICJTJ2hhIGVzY3JpdCBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIGRlbCBkaXNjIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSwgYnV0IHJlLXJlYWQgdGFibGUgZmFpbGVkLiAgUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB0byB1cGRhdGUgdGFibGUuIgorI34gbXNnc3RyICJTJ2hhIGVzY3JpdCBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zLCBwZXLDsiBubyBzJ2hhIHBvZ3V0IHJlbGxlZ2lyLiAgQXJyZW5xdWV1IGRlIG5vdSBwZXIgYWN0dWFsaXR6YXItbGEuIgorCisjfiBtc2dpZCAiTm8gcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBtYXJrZWQgYm9vdGFibGUuIERPUyBNQlIgY2Fubm90IGJvb3QgdGhpcy4iCisjfiBtc2dzdHIgIk5vIGhpIGhhIHBhcnRpY2lvbnMgcHJpbcOgcmllcyBtYXJjYWRlcyBjb20gYSBkJ2FycmVuY2FkYS4gTGEgTUJSIGRlbCBET1Mgbm8gcG9kcsOgIGFycmVuY2FyLiIKKworI34gbXNnaWQgIk1vcmUgdGhhbiBvbmUgcHJpbWFyeSBwYXJ0aXRpb24gaXMgbWFya2VkIGJvb3RhYmxlLiBET1MgTUJSIGNhbm5vdCBib290IHRoaXMuIgorI34gbXNnc3RyICJIaSBoYSBtw6lzIGQndW5hIHBhcnRpY2nDsyBwcmltw6ByaWEgbWFyY2FkYSBjb20gYSBkJ2FycmVuY2FkYS4gTGEgTUJSIGRlbCBET1Mgbm8gcG9kcsOgIGFycmVuY2FyLiIKKworI34gbXNnaWQgIkVudGVyIGZpbGVuYW1lIG9yIHByZXNzIFJFVFVSTiB0byBkaXNwbGF5IG9uIHNjcmVlbjogIgorI34gbXNnc3RyICJFc2NyaXZpdSBlbCBub20gZGVsIGZpdHhlciBvIHByZW1ldSBsYSB0ZWNsYSBkZSByZXRvcm4gcGVyIHZpc3VhbGl0emFyLWhvIGVuIHBhbnRhbGxhOiAiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlc1xuIgorI34gbXNnc3RyICJVbml0YXQgZGUgZGlzYzogJXNcbiIKKworI34gbXNnaWQgIlNlY3RvciAwOlxuIgorI34gbXNnc3RyICJTZWN0b3IgMDpcbiIKKworI34gbXNnaWQgIlNlY3RvciAlZDpcbiIKKyN+IG1zZ3N0ciAiU2VjdG9yICVkOlxuIgorCisjfiBtc2dpZCAiICAgTm9uZSAgICIKKyN+IG1zZ3N0ciAiICAgQ2FwICAgIgorCisjfiBtc2dpZCAiICAgUHJpL0xvZyIKKyN+IG1zZ3N0ciAiICAgUHJpL0zDsmciCisKKyN+IG1zZ2lkICIgICBQcmltYXJ5IgorI34gbXNnc3RyICIgICBQcmltw6ByaWEiCisKKyN+IG1zZ2lkICIgICBMb2dpY2FsIgorI34gbXNnc3RyICIgICBMw7JnaWNhIgorCisjfiBtc2dpZCAiKCUwMlgpIgorI34gbXNnc3RyICIoJTAyWCkiCisKKyN+IG1zZ2lkICJOb25lIgorI34gbXNnc3RyICJDYXAiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gVGFibGUgZm9yICVzXG4iCisjfiBtc2dzdHIgIlRhdWxhIGRlIHBhcnRpY2lvbnMgcGVyIGEgJXNcbiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgIEZpcnN0ICAgICAgIExhc3RcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgUHJpbWVyICAgICAgw5psdGltXG4iCisKKyN+IG1zZ2lkICIgIyBUeXBlICAgICAgIFNlY3RvciAgICAgIFNlY3RvciAgIE9mZnNldCAgICBMZW5ndGggICBGaWxlc3lzdGVtIFR5cGUgKElEKSBGbGFnXG4iCisjfiBtc2dzdHIgIiAjIFRpcHVzICAgICAgU2VjdG9yICAgICAgU2VjdG9yICAgRGVzcGwuICAgIExvbmdpdHVkICAoSUQpIFQuIGRlIHNpc3QuIGZpdHguICBTZW55YWwuXG4iCisKKyN+IG1zZ2lkICItLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLSAtLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tXG4iCisjfiAiXG4iCisjfiAiLS0gLS0tLS0gICAgICAtLS0tLS0gICAgICAtLS0tLS0gICAtLS0tLS0gICAgLS0tLS0tLS0gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIC0tLS0tLVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAgIC0tLVN0YXJ0aW5nLS0tLSAgICAgIC0tLS1FbmRpbmctLS0tLSAgICBTdGFydCAgICAgTnVtYmVyIG9mXG4iCisjfiBtc2dzdHIgIiAgICAgICAgIC0tLUluaWNpLS0tICAgICAgICAtLS0tRmluYWwtLS0tICAgICAgSW5pY2kgICAgIE5vbWJyZSBkZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAjIEZsYWdzIEhlYWQgU2VjdCAgQ3lsICAgSUQgIEhlYWQgU2VjdCAgQ3lsICAgICBTZWN0b3IgICAgU2VjdG9yc1xuIgorI34gbXNnc3RyICIgIyBTZW55YWwgQ2FwIFNlYyAgQ2lsICAgSUQgIENhcCAgU2VjICBDaWwgICAgIFNlY3RvciAgICBTZWN0b3JzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tXG4iCisjfiBtc2dzdHIgIi0tIC0tLS0tLSAtLS0gLS0tICAtLS0gICAtLSAgLS0tICAtLS0gIC0tLSAgICAgLS0tLS0tICAgIC0tLS0tLVxuIgorCisjfiBtc2dpZCAiUmF3IgorI34gbXNnc3RyICJDcnVlcyIKKworI34gbXNnaWQgIlByaW50IHRoZSB0YWJsZSB1c2luZyByYXcgZGF0YSBmb3JtYXQiCisjfiBtc2dzdHIgIkltcHJpbWVpeCBsYSB0YXVsYSB1dGlsaXR6YW50IGVsIGZvcm1hdCBkZSBkYWRlcyBjcnVlcyIKKworI34gbXNnaWQgIlByaW50IHRoZSB0YWJsZSBvcmRlcmVkIGJ5IHNlY3RvcnMiCisjfiBtc2dzdHIgIkltcHJpbWVpeCBsYSB0YXVsYSBvcmRlbmFkYSBwZXIgc2VjdG9ycyIKKworI34gbXNnaWQgIlRhYmxlIgorI34gbXNnc3RyICJUYXVsYSIKKworI34gbXNnaWQgIkp1c3QgcHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiSW1wcmltZWl4IG5vbcOpcyBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIgorCisjfiBtc2dpZCAiRG9uJ3QgcHJpbnQgdGhlIHRhYmxlIgorI34gbXNnc3RyICJObyBpbXByaW1laXhlcyBsYSB0YXVsYSIKKworI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMTk5NC0xOTk5IEtldmluIEUuIE1hcnRpbiAmIGFlYiIKKyN+IG1zZ3N0ciAiQ29weXJpZ2h0IMKpIDE5OTQtMTk5OSBLZXZpbiBFLiBNYXJ0aW4gaSBhZWIiCisKKyN+IG1zZ2lkICIgIGcgICAgICAgICAgQ2hhbmdlIGN5bGluZGVycywgaGVhZHMsIHNlY3RvcnMtcGVyLXRyYWNrIHBhcmFtZXRlcnMiCisjfiBtc2dzdHIgIiAgZyAgICAgICAgICBDYW52aWEgcGFyw6BtZXRyZXMgZGUgY2lsaW5kcmVzLCBjYXDDp2FscyBpIHNlY3RvcnMgcGVyIHBpc3RhIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFdBUk5JTkc6IFRoaXMgb3B0aW9uIHNob3VsZCBvbmx5IGJlIHVzZWQgYnkgcGVvcGxlIHdobyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIEF2w61zOiBBcXVlc3RhIG9wY2nDsyBub23DqXMgbCdoYXVyaWEgZCd1c2FyIGFxdWVsbHMgcXVpIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGtub3cgd2hhdCB0aGV5IGFyZSBkb2luZy4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBzYWJlbiBlbCBxdWUgZXMgZmFuLiIKKworI34gbXNnaWQgIiAgbSAgICAgICAgICBNYXhpbWl6ZSBkaXNrIHVzYWdlIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICBtICAgICAgICAgIE1heGltaXR6YSBsYSB1dGlsaXR6YWNpw7MgZGUgZGlzYyBkZSBsYSBwYXJ0aWNpw7MgYWN0dWFsIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIE5vdGU6IFRoaXMgbWF5IG1ha2UgdGhlIHBhcnRpdGlvbiBpbmNvbXBhdGlibGUgd2l0aCIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIE5vdGE6IEFxdWVzdGEgb3BjacOzIHBvdCBmZXIgbGEgcGFydGljacOzIGluY29tcGF0aWJsZSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBET1MsIE9TLzIsIC4uLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIGFtYiBET1MsIE9TLzIuLi4iCisKKyN+IG1zZ2lkICIgIHAgICAgICAgICAgUHJpbnQgcGFydGl0aW9uIHRhYmxlIHRvIHRoZSBzY3JlZW4gb3IgdG8gYSBmaWxlIgorI34gbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltZWl4IGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgYSBsYSBwYW50YWxsYSBvIGVuIHVuIGZpdHhlciIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBUaGVyZSBhcmUgc2V2ZXJhbCBkaWZmZXJlbnQgZm9ybWF0cyBmb3IgdGhlIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIEhpIGhhIGRpdmVyc29zIGZvcm1hdHMgZGlmZXJlbnRzIHBlciBhIGxhIHBhcnRpY2nDsyIKKworI34gbXNnaWQgIiAgICAgICAgICAgICB0aGF0IHlvdSBjYW4gY2hvb3NlIGZyb206IgorI34gbXNnc3RyICIgICAgICAgICAgICAgZW50cmUgZWxzIHF1YWxzIHBvZGV1IGVzY29sbGlyOiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICByIC0gUmF3IGRhdGEgKGV4YWN0bHkgd2hhdCB3b3VsZCBiZSB3cml0dGVuIHRvIGRpc2spIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgciAtIERhZGVzIGNydWVzIChleGFjdGFtZW50IGVsIHF1ZSBzJ2VzY3JpdXLDoCBhbCBkaXNjKSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICBzIC0gVGFibGUgb3JkZXJlZCBieSBzZWN0b3JzIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFRhdWxhIG9yZGVuYWRhIHBlciBzZWN0b3JzIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHQgLSBUYWJsZSBpbiByYXcgZm9ybWF0IgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgdCAtIFRhdWxhIGVuIGZvcm1hdCBjcnUiCisKKyN+IG1zZ2lkICIgIHUgICAgICAgICAgQ2hhbmdlIHVuaXRzIG9mIHRoZSBwYXJ0aXRpb24gc2l6ZSBkaXNwbGF5IgorI34gbXNnc3RyICIgIHUgICAgICAgICAgQ2FudmlhIGxlcyB1bml0YXRzIGRlIGxhIG1pZGEgdmlzdWFsaXR6YXZhIGRlIGxhIHBhcnRpY2nDsyIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBSb3RhdGVzIHRocm91Z2ggTUIsIHNlY3RvcnMgYW5kIGN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIEFsdGVybmEgZW50cmUgTUIsIHNlY3RvcnMgaSBjaWxpbmRyZXMiCisKKyN+IG1zZ2lkICJDVFJMLUwgICAgICAgUmVkcmF3cyB0aGUgc2NyZWVuIgorI34gbXNnc3RyICJDdHJsLUwgICAgICAgUmVkaWJ1aXhhIGxhIHBhbnRhbGxhIgorCisjfiBtc2dpZCAiICA/ICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorI34gbXNnc3RyICIgID8gICAgICAgICAgSW1wcmltZWl4IGFxdWVzdGEgcGFudGFsbGEiCisKKyN+IG1zZ2lkICJDaGFuZ2UgY3lsaW5kZXIgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIkNhbnZpYSBsYSBnZW9tZXRyaWEgZGVscyBjaWxpbmRyZXMiCisKKyN+IG1zZ2lkICJDaGFuZ2UgaGVhZCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiQ2FudmlhIGxhIGdlb21ldHJpYSBkZWxzIGNhcMOnYWxzIgorCisjfiBtc2dpZCAiQ2hhbmdlIHNlY3RvciBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiQ2FudmlhIGxhIGdlb21ldHJpYSBkZWxzIHNlY3RvcnMiCisKKyN+IG1zZ2lkICJEb25lIHdpdGggY2hhbmdpbmcgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIlMnaGEgZmluYWxpdHphdCBlbCBjYW52aSBkZSBnZW9tZXRyaWEiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIGN5bGluZGVyczogIgorI34gbXNnc3RyICJJbnRyb2R1w691IGVsIG5vbWJyZSBkZSBjaWxpbmRyZXM6ICIKKworI34gbXNnaWQgIklsbGVnYWwgY3lsaW5kZXJzIHZhbHVlIgorI34gbXNnc3RyICJWYWxvciBkZWxzIGNpbGluZHJlcyBubyBwZXJtw6hzIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBoZWFkczogIgorI34gbXNnc3RyICJJbnRyb2R1w691IGVsIG5vbWJyZSBkZSBjYXDDp2FsczogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBoZWFkcyB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmFsb3IgZGVscyBjYXDDp2FscyBubyBwZXJtw6hzIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFjazogIgorI34gbXNnc3RyICJJbnRyb2R1w691IGVsIG5vbWJyZSBkZSBzZWN0b3JzIHBlciBwaXN0YTogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBzZWN0b3JzIHZhbHVlIgorI34gbXNnc3RyICJWYWxvciBkZWxzIHNlY3RvcnMgbm8gcGVybcOocyIKKworI34gbXNnaWQgIkVudGVyIGZpbGVzeXN0ZW0gdHlwZTogIgorI34gbXNnc3RyICJJbnRyb2R1w691IGVsIHRpcHVzIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnM6ICIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgRlMgVHlwZSB0byBlbXB0eSIKKyN+IG1zZ3N0ciAiTm8gZXMgcG90IGNhbnZpYXIgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVycyBhIGJ1aXQiCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIEZTIFR5cGUgdG8gZXh0ZW5kZWQiCisjfiBtc2dzdHIgIk5vIGVzIHBvdCBjYW52aWFyIGVsIHRpcHVzIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnMgYSBlc3TDqHMiCisKKyN+IG1zZ2lkICJVbmsoJTAyWCkiCisjfiBtc2dzdHIgIkRlc2MuKCUwMlgpIgorCisjfiBtc2dpZCAiLCBOQyIKKyN+IG1zZ3N0ciAiLCBOQyIKKworI34gbXNnaWQgIk5DIgorI34gbXNnc3RyICJOQyIKKworI34gbXNnaWQgIlByaS9Mb2ciCisjfiBtc2dzdHIgIlByaS9Mw7JnIgorCisjfiBtc2dpZCAiVW5rbm93biAoJTAyWCkiCisjfiBtc2dzdHIgIkRlc2NvbmVndXQgKCUwMlgpIgorCisjfiBtc2dpZCAiRGlzayBEcml2ZTogJXMiCisjfiBtc2dzdHIgIlVuaXRhdCBkZSBkaXNjOiAlcyIKKworI34gbXNnaWQgIlNpemU6ICVsbGQgYnl0ZXMsICVsbGQgTUIiCisjfiBtc2dzdHIgIk1pZGE6ICVsbGQgb2N0ZXRzLCAlbGxkIE1CIgorCisjfiBtc2dpZCAiU2l6ZTogJWxsZCBieXRlcywgJWxsZC4lbGxkIEdCIgorI34gbXNnc3RyICJNaWRhOiAlbGxkIG9jdGV0cywgJWxsZC4lbGxkIEdCIgorCisjfiBtc2dpZCAiSGVhZHM6ICVkICAgU2VjdG9ycyBwZXIgVHJhY2s6ICVkICAgQ3lsaW5kZXJzOiAlbGxkIgorI34gbXNnc3RyICJDYXDDp2FsczogJWQgICBTZWN0b3JzIHBlciBwaXN0YTogJWQgICBDaWxpbmRyZXM6ICVsbGQiCisKKyN+IG1zZ2lkICJQYXJ0IFR5cGUiCisjfiBtc2dzdHIgIlRpcHVzIHBhcnQuIgorCisjfiBtc2dpZCAiRlMgVHlwZSIKKyN+IG1zZ3N0ciAiVGlwdXMgU2lzLkZpdHguIgorCisjfiBtc2dpZCAiW0xhYmVsXSIKKyN+IG1zZ3N0ciAiW0V0aXF1ZXRhXSIKKworI34gbXNnaWQgIiAgICBTZWN0b3JzIgorI34gbXNnc3RyICIgICAgU2VjdG9ycyIKKworI34gbXNnaWQgIiAgQ3lsaW5kZXJzIgorI34gbXNnc3RyICIgIENpbGluZHJlcyIKKworI34gbXNnaWQgIiAgU2l6ZSAoTUIpIgorI34gbXNnc3RyICIgIE1pZGEgKE1CKSIKKworI34gbXNnaWQgIiAgU2l6ZSAoR0IpIgorI34gbXNnc3RyICIgIE1pZGEgKEdCKSIKKworI34gbXNnaWQgIk5vIG1vcmUgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiTm8gaGkgaGEgbcOpcyBwYXJ0aWNpb25zIgorCisjfiBtc2dpZCAiQ2hhbmdlIGRpc2sgZ2VvbWV0cnkgKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIkNhbnZpYSBsYSBnZW9tZXRyaWEgZGVsIGRpc2MgKG5vbcOpcyB1c3VhcmlzIGV4cGVydHMpIgorCisjfiBtc2dpZCAiTWF4aW1pemUiCisjfiBtc2dzdHIgIk1heGltaXR6YSIKKworI34gbXNnaWQgIk1heGltaXplIGRpc2sgdXNhZ2Ugb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIChleHBlcnRzIG9ubHkpIgorI34gbXNnc3RyICJNYXhpbWl0emEgbGEgdXRpbGl0emFjacOzIGRlbCBkaXNjIGVuIGxhIHBhcnRpY2nDsyBhY3R1YWwgKG5vbcOpcyB1c3VhcmlzIGV4cGVydHMpIgorCisjfiBtc2dpZCAiUHJpbnQiCisjfiBtc2dzdHIgIkltcHJpbWVpeCIKKworI34gbXNnaWQgIkNoYW5nZSB0aGUgZmlsZXN5c3RlbSB0eXBlIChET1MsIExpbnV4LCBPUy8yIGFuZCBzbyBvbikiCisjfiBtc2dzdHIgIkNhbnZpYSBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzIChET1MsIExpbnV4LCBPUy8yLCBldGMuKSIKKworI34gbXNnaWQgIlVuaXRzIgorI34gbXNnc3RyICJVbml0YXRzIgorCisjfiBtc2dpZCAiQ2hhbmdlIHVuaXRzIG9mIHRoZSBwYXJ0aXRpb24gc2l6ZSBkaXNwbGF5IChNQiwgc2VjdCwgY3lsKSIKKyN+IG1zZ3N0ciAiQ2FudmlhIGxlcyB1bml0YXRzIGRlIGxhIG1pZGEgZGUgbGEgcGFydGljacOzIChNQiwgc2VjdG9ycywgY2lsaW5kcmVzKSIKKworI34gbXNnaWQgIkNhbm5vdCBtYWtlIHRoaXMgcGFydGl0aW9uIGJvb3RhYmxlIgorI34gbXNnc3RyICJBcXVlc3RhIHBhcnRpY2nDsyBubyBlcyBwb3QgZmVyIGFycmVuY2FibGUiCisKKyN+IG1zZ2lkICJDYW5ub3QgZGVsZXRlIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiTm8gZXMgcG90IHN1cHJpbWlyIHVuYSBwYXJ0aWNpw7MgYnVpZGEiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWF4aW1pemUgdGhpcyBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIk5vIGVzIHBvdCBtYXhpbWl0emFyIGFxdWVzdGEgcGFydGljacOzIgorCisjfiBtc2dpZCAiVGhpcyBwYXJ0aXRpb24gaXMgdW51c2FibGUiCisjfiBtc2dzdHIgIkFxdWVzdGEgcGFydGljacOzIMOpcyBpbnV0aWxpdHphYmxlIgorCisjfiBtc2dpZCAiVGhpcyBwYXJ0aXRpb24gaXMgYWxyZWFkeSBpbiB1c2UiCisjfiBtc2dzdHIgIkFxdWVzdGEgcGFydGljacOzIGphIGVzdMOgIGVuIMO6cyIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdGhlIHR5cGUgb2YgYW4gZW1wdHkgcGFydGl0aW9uIgorI34gbXNnc3RyICJObyBlcyBwb3QgY2FudmlhciBlbCB0aXB1cyBkJ3VuYSBwYXJ0aWNpw7MgYnVpZGEiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGNvbW1hbmQiCisjfiBtc2dzdHIgIk9yZHJlIG5vIHBlcm1lc2EiCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMjAwMiBLZXZpbiBFLiBNYXJ0aW4gJiBhZWJcbiIKKyN+IG1zZ3N0ciAiQ29weXJpZ2h0IMKpIDE5OTQtMjAwMiBLZXZpbiBFLiBNYXJ0aW4gaSBhZWJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWgsIC0taGVhZHMgPG51bWJlcj4gICAgICBzZXQgdGhlIG51bWJlciBvZiBoZWFkcyB0byB1c2VcbiIKKyN+IG1zZ3N0ciAiICAgIC1IIyBbbyAtLWhlYWRzICNdOiAgICAgRXN0YWJsZWl4IGVsIG5vbWJyZSBkZSBjYXDDp2FscyBxdWUgcyd1c2FyYW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1nLCAtLWd1ZXNzICAgICAgICAgICAgICAgZ3Vlc3MgYSBnZW9tZXRyeSBmcm9tIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVAsIC0tcHJpbnQgPHJ8c3x0PiAgICAgICBwcmludCBwYXJ0aXRpb24gdGFibGUgaW4gc3BlY2lmaWVkIGZvcm1hdFxuIgorI34gbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltZWl4IGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgYSBsYSBwYW50YWxsYSBvIGVuIHVuIGZpdHhlciIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWEsIC0tYXJyb3cgICAgICAgICAgICAgICB1c2UgYXJyb3cgZm9yIGhpZ2hsaWdodGluZyB0aGUgY3VycmVudCBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiICBkICAgICAgICAgIFN1cHJpbWVpeCBsJ2FjdHVhbCBwYXJ0aWNpw7MiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIiAgIGMgICBjYW52aWEgZWwgbm9tYnJlIGRlIGNpbGluZHJlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgbnVtYmVyIG9mIGhlYWRzIgorI34gbXNnc3RyICIlcyBubyBlcyBwb3Qgb2JyaXIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBzZWN0b3JzIgorI34gbXNnc3RyICIlcyBubyBlcyBwb3Qgb2JyaXIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYnNpemUiCisjfiBtc2dzdHIgIk1pZGEgbcOgeGltYT0lbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICBlICAgZXh0ZW5kZWQiCisjfiBtc2dzdHIgImUgICBlc3Rlc2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTnIiCisjfiBtc2dzdHIgIk5DIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNlYyIKKyN+IG1zZ3N0ciAiRXN0YWJsZWl4IgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoaXMgZG9lc24ndCBsb29rIGxpa2UgYSBwYXJ0aXRpb24gdGFibGUuIFByb2JhYmx5IHlvdSBzZWxlY3RlZCB0aGUgd3JvbmcgZGV2aWNlLiIKKyN+IG1zZ3N0ciAiIgorI34gIkFpeMOyIG5vIHNlbWJsYSBjYXAgdGF1bGEgZGUgcGFydGljaW9uc1xuIgorI34gIlByb2JhYmxlbWVudCBoZXUgc2VsZWNjaW9uYXQgdW4gZGlzcG9zaXRpdSBpbmNvcnJlY3RlLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJsb2NrcyAiCisjfiBtc2dzdHIgIiVsZCBibG9jc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNlY3RvciIKKyN+IG1zZ3N0ciAiU2VjdG9ycyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJZb3Ugd2lsbCBnZXQgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKKyN+IG1zZ3N0ciAiRXMgcHJvZHVpcsOgIHVuIGVuY2F2YWxjYW1lbnQgZGUgcGFydGljaW9ucyBhbCBkaXNjLiBDb3JyZWdpdS1oby5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGbGFnIgorI34gbXNnc3RyICJTZW55YWxhZG9ycyIKKworI34gbXNnaWQgIndhcm5pbmc6IGVycm9yIHJlYWRpbmcgJXM6ICVzIgorI34gbXNnc3RyICJhdsOtczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBsbGVnaXIgJXM6ICVzIgorCisjfiBtc2dpZCAid2FybmluZzogY2FuJ3Qgb3BlbiAlczogJXMiCisjfiBtc2dzdHIgImF2w61zOiBubyBzJ2hhIHBvZ3V0IG9icmlyICVzOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjb3VsZCBub3Qgb3BlbiAlcyAtIHVzaW5nICVzIGluc3RlYWRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG5vIHMnaGEgcG9ndXQgb2JyaXIgJXM7IHMndXNhcsOgICVzXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBjcmVhdGUgbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGNyZWFyIGVsIGZpdHhlciBkZSBibG9jYXQgJXM6ICVzICh1c2V1IGVsIHNlbnlhbGFkb3IgLW4gcGVyIGEgbW9kaWZpY2FyIGFxdWVzdCB2YWxvcikiCisKKyN+IG1zZ2lkICJjYW4ndCBsaW5rIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCBlbmxsYcOnYXIgZWwgZml0eGVyIGRlIGJsb2NhdCAlczogJXMgKHVzZXUgZWwgc2VueWFsYWRvciAtbiBwZXIgYSBtb2RpZmljYXIgYXF1ZXN0IHZhbG9yKSIKKworI34gbXNnaWQgImNhbid0IG9wZW4gbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG9icmlyIGVsIGZpdHhlciBkZSBibG9jYXQgJXM6ICVzICh1c2V1IGVsIHNlbnlhbGFkb3IgLW4gcGVyIGEgbW9kaWZpY2FyIGFxdWVzdCB2YWxvcikiCisKKyN+IG1zZ2lkICJDYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBibG9jYXIgZWwgZml0eGVyIGRlIGJsb2NhdCAlczogJXNcbiIKKworI34gbXNnaWQgImNhbid0IGxvY2sgbG9jayBmaWxlICVzOiAlcyIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCBibG9jYXIgYWwgZml0eGVyIGRlIGJsb2NhdCAlczogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiQ2Fubm90IGNyZWF0ZSBsaW5rICVzXG4iCisjfiAiUGVyaGFwcyB0aGVyZSBpcyBhIHN0YWxlIGxvY2sgZmlsZT9cbiIKKyN+IG1zZ3N0ciAiIgorI34gIk5vIHMnaGEgcG9ndXQgY3JlYXIgbCdlbmxsYcOnICVzXG4iCisjfiAiUG90c2VyIGhpIGhhIHVuIGZpdHhlciBkZSBibG9jYXQgb2Jzb2xldD9cbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzICglcykgLSBtdGFiIG5vdCB1cGRhdGVkIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG9icmlyICVzICglcykgLSBubyBzJ2hhIGFjdHVhbGl0emF0IG10YWIiCisKKyN+IG1zZ2lkICJlcnJvciB3cml0aW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBlc2NyaXVyZSAlczogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNhbm5vdCBmZmx1c2ggY2hhbmdlczogJXMiCisjfiBtc2dzdHIgIiVzOiBubyBzJ2hhIHBvZ3V0IGZlciBzdGF0IGVuICVzOiAlc1xuIgorCisjfiBtc2dpZCAiZXJyb3IgY2hhbmdpbmcgbW9kZSBvZiAlczogJXNcbiIKKyN+IG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjYW52aWFyIGVsIG1vZGUgZGUgJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgY2hhbmdpbmcgb3duZXIgb2YgJXM6ICVzXG4iCisjfiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2FudmlhciBlbCBtb2RlIGRlICVzOiAlc1xuIgorCisjfiBtc2dpZCAiY2FuJ3QgcmVuYW1lICVzIHRvICVzOiAlc1xuIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHRvcm5hciBhIG5vbWVuYXIgJXMgcGVyICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiB0cmFuc2xhdGVkICVzICclcycgdG8gJyVzJ1xuIgorI34gbXNnc3RyICJtb3VudDogbm8gcydoYSBwb2d1dCB0cm9iYXIgJXMgYSAlcyBvICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiBzZWdvbnMgbXRhYiwgJXMgamEgZXN0w6AgbXVudGF0IGEgJXMiCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIG1vdW50ZWQgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiBzZWdvbnMgbXRhYiwgJXMgZXN0w6AgbXVudGF0IGEgJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3Qgb3BlbiAlcyBmb3Igd3JpdGluZzogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBubyBzJ2hhIHBvZ3V0IG9icmlyICVzIHBlciBhIGVzY3JpcHR1cmE6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIHdyaXRpbmcgJXM6ICVzIgorI34gbXNnc3RyICJtb3VudDogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBlc2NyaXVyZSAlczogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogZXJyb3IgY2hhbmdpbmcgbW9kZSBvZiAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNhbnZpYXIgZWwgbW9kZSBkZSAlczogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVtIgorI34gbXNnc3RyICJtb3VudCA6IG5vIHMnaGEgcG9ndXQgZXN0YWJsaXIgbGEgdmVsb2NpdGF0IGRlOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCB1c2VyIGlkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQgOiBubyBzJ2hhIHBvZ3V0IGVzdGFibGlyIGxhIHZlbG9jaXRhdCBkZTogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IGZvcms6ICVzIgorI34gbXNnc3RyICJtb3VudDogbm8gcydoYSBwb2d1dCBiaWZ1cmNhcjogJXMiCisKKyN+IG1zZ2lkICJUcnlpbmcgJXNcbiIKKyN+IG1zZ3N0ciAiUydlc3TDoCBwcm92YW50IGFtYiAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IHlvdSBkaWRuJ3Qgc3BlY2lmeSBhIGZpbGVzeXN0ZW0gdHlwZSBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG5vIGhldSBlc3BlY2lmaWNhdCBjYXAgdGlwdXMgZGUgc2lzdGVtYSBkZSBmaXR4ZXJzIHBlciBhICVzXG4iCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSBhbGwgdHlwZXMgbWVudGlvbmVkIGluICVzIG9yICVzXG4iCisjfiBtc2dzdHIgIiAgICAgICBFcyBwcm92YXLDoCBhbWIgdG90cyBlbHMgdGlwdXMgaW5kaWNhdHMgYSAlcyBvICVzXG4iCisKKyN+IG1zZ2lkICIgICAgICAgYW5kIGl0IGxvb2tzIGxpa2UgdGhpcyBpcyBzd2Fwc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAgICAgIGkgc2VtYmxhIHF1ZSBhaXjDsiDDqXMgZXNwYWkgZCdpbnRlcmNhbnZpXG4iCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSB0eXBlICVzXG4iCisjfiBtc2dzdHIgIiAgICAgICBQcm92YXLDqSBhbWIgZWwgdGlwdXMgJXNcbiIKKworI34gbXNnaWQgIiVzIGxvb2tzIGxpa2Ugc3dhcHNwYWNlIC0gbm90IG1vdW50ZWQiCisjfiBtc2dzdHIgIiVzIHNlbWJsYSBlc3BhaSBkJ2ludGVyY2FudmkgLSBubyBzJ2hhIG11bnRhdCIKKworI34gbXNnaWQgIm1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAibm8gcydoYSBlc3RhdCBwb3NzaWJsZSBtdW50YXIiCisKKyN+IG1zZ2lkICJtb3VudDogb25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IG5vbcOpcyBsJ3VzdWFyaSByb290IHBvdCBtdW50YXIgJXMgYSAlcyIKKworI34gbXNnaWQgIm1vdW50OiBsb29wIGRldmljZSBzcGVjaWZpZWQgdHdpY2UiCisjfiBtc2dzdHIgIm1vdW50OiBlbCBkaXNwb3NpdGl1IGxvb3AgZXN0w6AgZXNwZWNpZmljYXQgZHVlcyB2ZWdhZGVzIgorCisjfiBtc2dpZCAibW91bnQ6IHR5cGUgc3BlY2lmaWVkIHR3aWNlIgorI34gbXNnc3RyICJtb3VudDogZWwgdGlwdXMgZXN0w6AgZXNwZWNpZmljYXQgZHVlcyB2ZWdhZGVzIgorCisjfiBtc2dpZCAibW91bnQ6IHNraXBwaW5nIHRoZSBzZXR1cCBvZiBhIGxvb3AgZGV2aWNlXG4iCisjfiBtc2dzdHIgIm1vdW50OiBzJ2VzdMOgIG9tZXRlbnQgbGEgY29uZmlndXJhY2nDsyBkJ3VuIGRpc3Bvc2l0aXUgbG9vcFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBlbmFibGluZyBhdXRvY2xlYXIgbG9vcGRldiBmbGFnXG4iCisjfiBtc2dzdHIgIm1vdW50OiBzJ3VzYXLDoCBlbCBkaXNwb3NpdGl1IGxvb3AgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogaW52YWxpZCBvZmZzZXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIlZhbG9yIGVzdGFibGVydCBpbnbDoGxpZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogaW52YWxpZCBzaXplbGltaXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIlZhbG9yIGVzdGFibGVydCBpbnbDoGxpZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIGFzIGxvb3AiCisjfiBtc2dzdHIgIm1vdW50OiBzZWdvbnMgbXRhYiwgJXMgamEgZXN0w6AgbXVudGF0IGEgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BkZXYgY29udGV4dCIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBsYSBtZW3DsnJpYSB0ZW1wb3JhbC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIHVzZSAlcyBkZXZpY2UiCisjfiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgcmVib2JpbmFyIGVsIGRpc3Bvc2l0aXUgZCdpbnRlcmNhbnZpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gZm91bmQgZnJlZSBsb29wIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IG5vIGhhIGVzdGF0IHBvc3NpYmxlIGNvbmZpZ3VyYXIgZWwgZGlzcG9zaXRpdSBsb29wXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ29pbmcgdG8gdXNlIHRoZSBsb29wIGRldmljZSAlc1xuIgorI34gbXNnc3RyICJtb3VudDogcyd1c2Fyw6AgZWwgZGlzcG9zaXRpdSBsb29wICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgdG8gc2V0IGxvb3BkZXYgYXR0cmlidXRlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IG5vIGhhIGVzdGF0IHBvc3NpYmxlIGNvbmZpZ3VyYXIgZWwgZGlzcG9zaXRpdSBsb29wXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgc2V0dGluZyB1cCBsb29wIGRldmljZTogJW0iCisjfiBtc2dzdHIgIm1vdW50OiBubyBoYSBlc3RhdCBwb3NzaWJsZSBjb25maWd1cmFyIGVsIGRpc3Bvc2l0aXUgbG9vcFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBzdG9sZW4gbG9vcD0lcyIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogc2V0dXAgbG9vcCBkZXZpY2Ugc3VjY2Vzc2Z1bGx5XG4iCisjfiBtc2dzdHIgIm1vdW50OiBzJ2hhIGNvbmZpZ3VyYXQgZWwgZGlzcG9zaXRpdSBsb29wIGFtYiDDqHhpdFxuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vICVzIGZvdW5kIC0gY3JlYXRpbmcgaXQuLlxuIgorI34gbXNnc3RyICJtb3VudDogbm8gcydoYSB0cm9iYXQgJXM7IHMnZXN0w6AgY3JlYW50Li4uXG4iCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IG9wZW4gJXMgZm9yIHNldHRpbmcgc3BlZWQiCisjfiBtc2dzdHIgIm1vdW50OiBubyBzJ2hhIHBvZ3V0IG9icmlyICVzIHBlciBlc3RhYmxpci1uZSBsYSB2ZWxvY2l0YXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgc3BlZWQ6ICVtIgorI34gbXNnc3RyICJtb3VudCA6IG5vIHMnaGEgcG9ndXQgZXN0YWJsaXIgbGEgdmVsb2NpdGF0IGRlOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorI34gbXNnc3RyICJtb3VudDogc2Vnb25zIG10YWIsICVzIGphIGVzdMOgIG11bnRhdCBhICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtd3JpdGUuXG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgb2N1cGF0IC0gcydoYSB0b3JuYXQgYSBtdW50YXIgZGUgbm9tw6lzIGxlY3R1cmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogJXMgc2VlbXMgdG8gYmUgbW91bnRlZCByZWFkLW9ubHkuXG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgb2N1cGF0IC0gcydoYSB0b3JuYXQgYSBtdW50YXIgZGUgbm9tw6lzIGxlY3R1cmFcbiIKKworI34gbXNnaWQgIm1vdW50OiBJIGNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGZpbGVzeXN0ZW0gdHlwZSwgYW5kIG5vbmUgd2FzIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibW91bnQ6IG5vIHMnaGEgcG9ndXQgZGV0ZXJtaW5hciBlbCB0aXB1cyBkZSBzaXN0ZW1hIGRlIGZpdHhlcnMgaSBubyBuJ2hldSBlc3BlY2lmaWNhdCBjYXAiCisKKyN+IG1zZ2lkICJtb3VudDogeW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorI34gbXNnc3RyICJtb3VudDogaGF1cmV1IGQnZXNwZWNpZmljYXIgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVycyIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBmYWlsZWQiCisjfiBtc2dzdHIgIm1vdW50OiBubyBoYSBlc3RhdCBwb3NzaWJsZSBtdW50YXIiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgaXMgbm90IGEgZGlyZWN0b3J5IgorI34gbXNnc3RyICJtb3VudDogZWwgcHVudCBkZSBtdW50YXRnZSAlcyBubyDDqXMgdW4gZGlyZWN0b3JpIgorCisjfiBtc2dpZCAibW91bnQ6IHBlcm1pc3Npb24gZGVuaWVkIgorI34gbXNnc3RyICJtb3VudDogcydoYSBkZW5lZ2F0IGVsIHBlcm3DrXMiCisKKyN+IG1zZ2lkICJtb3VudDogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorI34gbXNnc3RyICJtb3VudDogaGF1cmV1IGRlIHNlciB1biBzdXBlcnVzdWFyaSBwZXIgYSB1c2FyIG1vdW50IgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIGJ1c3kiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBlc3TDoCBvY3VwYXQiCisKKyN+IG1zZ2lkICJtb3VudDogcHJvYyBhbHJlYWR5IG1vdW50ZWQiCisjfiBtc2dzdHIgIm1vdW50OiBwcm9jIGphIGVzdMOgIG11bnRhdCIKKworI34gbXNnaWQgIm1vdW50OiAlcyBhbHJlYWR5IG1vdW50ZWQgb3IgJXMgYnVzeSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGphIGVzdMOgIG11bnRhdCBvICVzIGVzdMOgIG9jdXBhdCIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBwb2ludCAlcyBkb2VzIG5vdCBleGlzdCIKKyN+IG1zZ3N0ciAibW91bnQ6IGVsIHB1bnQgZGUgbXVudGF0Z2UgJXMgbm8gZXhpc3RlaXgiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCisjfiBtc2dzdHIgIm1vdW50OiBlbCBwdW50IGRlIG11bnRhdGdlICVzIMOpcyB1biBlbmxsYcOnIHNpbWLDsmxpYyBzZW5zZSBkZXN0w60iCisKKyN+IG1zZ2lkICJtb3VudDogc3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QiCisjfiBtc2dzdHIgIm1vdW50OiBlbCBkaXNwb3NpdGl1IGVzcGVjaWFsICVzIG5vIGV4aXN0ZWl4IgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiBzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdFxuIgorI34gIiAgICAgICAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogZWwgZGlzcG9zaXRpdSBlc3BlY2lhbCAlcyBubyBleGlzdGVpeFxuIgorI34gIiAgICAgICAodW4gcHJlZml4IGRlIGNhbcOtIG5vIMOpcyB1biBkaXJlY3RvcmkpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6ICVzIG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCisjfiBtc2dzdHIgIm1vdW50OiAlcyBlbmNhcmEgbm8gZXN0w6AgbXVudGF0IG8gdW5hIG9wY2nDsyDDqXMgaW5jb3JyZWN0YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHdyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLFxuIgorI34gIiAgICAgICBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiBlbCB0aXB1cyBkZSBzaXN0ZW1hIGRlIGZpdHhlcnMgbyDDqXMgY29ycmVjdGUsIGxhIG9wY2nDsyBubyDDqXMgY29ycmVjdGEsXG4iCisjfiAiICAgICAgIHN1cGVyYmxvYyBpbmNvcnJlY3RlIGEgJXMsIG1hbmNhIGxhIHDDoGdpbmEgZGUgY29kaXMgbyBhbGd1biBhbHRyZSBlcnJvciIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgKGNvdWxkIHRoaXMgYmUgdGhlIElERSBkZXZpY2Ugd2hlcmUgeW91IGluIGZhY3QgdXNlXG4iCisjfiAiICAgICAgIGlkZS1zY3NpIHNvIHRoYXQgc3IwIG9yIHNkYSBvciBzbyBpcyBuZWVkZWQ/KSIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAgKHBvZHJpYSBzZXIgcXVlIGFxdWVzdCBmb3MgZWwgZGlzcG9zaXRpdSBJREUgb24gdXRpbGl0emV1IGlkZS1zY3NpXG4iCisjfiAiICAgICAgICBkZSBtYW5lcmEgcXVlIHNyMCBvIHNkYSBvIHNpZ3VpbiBuZWNlc3NhcmlzPykiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIChhcmVuJ3QgeW91IHRyeWluZyB0byBtb3VudCBhbiBleHRlbmRlZCBwYXJ0aXRpb24sXG4iCisjfiAiICAgICAgIGluc3RlYWQgb2Ygc29tZSBsb2dpY2FsIHBhcnRpdGlvbiBpbnNpZGU/KSIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAgKG5vIGVzdGV1IGludGVudGFudCBtdW50YXIgdW5hIHBhcnRpY2nDsyBlc3Rlc2EsXG4iCisjfiAiICAgICAgICBlbiBjb21wdGVzIGQnYWxndW5hIHBhcnRpY2nDsyBsw7JnaWNhIGRlIGRpbnM/KSIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBpcyBmb3VuZCBpbiBzeXNsb2cgLSB0cnlcbiIKKyN+ICIgICAgICAgZG1lc2cgfCB0YWlsICBvciBzb1xuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgICBFbiBhbGd1bnMgY2Fzb3MsIGVzIHBvdCB0cm9iYXIgaW5mb3JtYWNpw7Mgw7p0aWwgYSBzeXNsb2csXG4iCisjfiAiICAgICAgICBwcm92ZXUgZG1lc2cgfCB0YWlsIG8gYWl4w61cbiIKKworI34gbXNnaWQgIm1vdW50OiAlczogY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIgorI34gbXNnc3RyICJtb3VudDogJXM6IG5vIHMnaGEgcG9ndXQgbGxlZ2lyIGVsIHN1cGVyYmxvYyIKKworI34gbXNnaWQgIm1vdW50OiAlczogdW5rbm93biBkZXZpY2UiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IGRpc3Bvc2l0aXUgZGVzY29uZWd1dCIKKworI34gbXNnaWQgIm1vdW50OiB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSAnJXMnIgorI34gbXNnc3RyICJtb3VudDogbm8gZXMgcmVjb25laXggZWwgc2l0ZW1hIGRlIGZpdHhlcnMgwqslc8K7IgorCisjfiBtc2dpZCAibW91bnQ6IHByb2JhYmx5IHlvdSBtZWFudCAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IHByb2JhYmxlbWVudCB2b2zDrWV1IGRpciAlcyIKKworI34gbXNnaWQgIm1vdW50OiBtYXliZSB5b3UgbWVhbnQgJ2lzbzk2NjAnPyIKKyN+IG1zZ3N0ciAibW91bnQ6IHBvdHNlciB2b2zDrWV1IGRpciDCq2lzbzk2NjDCuz8iCisKKyN+IG1zZ2lkICJtb3VudDogbWF5YmUgeW91IG1lYW50ICd2ZmF0Jz8iCisjfiBtc2dzdHIgIm1vdW50OiBwb3RzZXIgdm9sw61ldSBkaXIgwqt2ZmF0wrs/IgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGhhcyB3cm9uZyBkZXZpY2UgbnVtYmVyIG9yIGZzIHR5cGUgJXMgbm90IHN1cHBvcnRlZCIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIHTDqSB1biBuw7ptZXJvIGRlIGRpc3Bvc2l0aXUgaW5jb3JyZWN0ZSBvIGVsIHRpcHVzIGRlIHNpc3RlbWEgZGUgZml0eGVycyAlcyBubyBlc3TDoCBpbXBsZW1lbnRhdCIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UsIGFuZCBzdGF0IGZhaWxzPyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIG5vIMOpcyBjYXAgZGlzcG9zaXRpdSBkZSBibG9jcywgaSBzdGF0IGZhbGxhPyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHRoZSBrZXJuZWwgZG9lcyBub3QgcmVjb2duaXplICVzIGFzIGEgYmxvY2sgZGV2aWNlXG4iCisjfiAiICAgICAgIChtYXliZSBgbW9kcHJvYmUgZHJpdmVyJz8pIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IGVsIG51Y2xpIG5vIHJlY29uZWl4ICVzIGNvbSBhIGRpc3Bvc2l0aXUgZGUgYmxvY3NcbiIKKyN+ICIgICAgICAgKHBvdHNlciBmZW50IMKraW5zbW9kIGNvbnRyb2xhZG9ywrs/KSIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UgKG1heWJlIHRyeSBgLW8gbG9vcCc/KSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIG5vIMOpcyB1biBkaXNwb3NpdGl1IGRlIGJsb2NzIChwcm92ZXUgYW1iIGAtbyBsb29wJykiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudDogJXMgbm8gw6lzIHVuIGRpc3Bvc2l0aXUgZGUgYmxvY3MiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgdmFsaWQgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudDogJXMgbm8gw6lzIHVuIGRpc3Bvc2l0aXUgZGUgYmxvY3MgdsOgbGlkIgorCisjfiBtc2dpZCAiYmxvY2sgZGV2aWNlICIKKyN+IG1zZ3N0ciAiZGlzcG9zaXRpdSBkZSBibG9jcyAiCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IG1vdW50ICVzJXMgcmVhZC1vbmx5IgorI34gbXNnc3RyICJtb3VudCA6IG5vIHMnaGEgcG9ndXQgbXVudGFyICVzJXMgY29tIGEgbm9tw6lzIGRlIGxlY3R1cmEiCisKKyN+IG1zZ2lkICJtb3VudDogJXMlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IGAtdycgZmxhZyBnaXZlbiIKKyN+IG1zZ3N0ciAibW91bnQgOiAlcyVzIGVzdMOgIHByb3RlZ2l0IGNvbnRyYSBlc2NyaXB0dXJhIHBlcsOyIHNlIGxpIGhhIGRvbmF0IGVsIHNlbnlhbGFkb3IgZXhwbMOtY2l0IMKrLXfCuyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHJlbW91bnQgJXMlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCisjfiBtc2dzdHIgIm1vdW50IDogbm8gcydoYSBwb2d1dCBtdW50YXIgJXMlcyBjb20gYSBub23DqXMgZGUgbGVjdHVyYSIKKworI34gbXNnaWQgIm1vdW50OiAlcyVzIGlzIHdyaXRlLXByb3RlY3RlZCwgbW91bnRpbmcgcmVhZC1vbmx5IgorI34gbXNnc3RyICJtb3VudDogJXMlcyBlc3TDoCBwcm90ZWdpdCBjb250cmEgZXNjcmlwdHVyYTsgZXMgbXVudGFyw6AgZW4gbm9tw6lzIGxlY3R1cmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IG5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGphIGVzdMOgIG11bnRhdCBhICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gdHlwZSB3YXMgZ2l2ZW4gLSBJJ2xsIGFzc3VtZSBuZnMgYmVjYXVzZSBvZiB0aGUgY29sb25cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG5vIHMnaGEgZXNwZWNpZmljYXQgY2FwIHRpcHVzOyBzJ2Fzc3VtaXLDoCBuZnMgcGVyIGFscyBkb3MgcHVudHNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogbm8gdHlwZSB3YXMgZ2l2ZW4gLSBJJ2xsIGFzc3VtZSBjaWZzIGJlY2F1c2Ugb2YgdGhlIC8vIHByZWZpeFxuIgorI34gbXNnc3RyICJtb3VudDogbm8gcydoYSBlc3BlY2lmaWNhdCBjYXAgdGlwdXM7IHMnYXNzdW1pcsOgIHNtYiBhIGNhdXNhIGRlbCBwcmVmaXggLy9cbiIKKworI34gbXNnaWQgIm1vdW50OiAlcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGphIGVzdMOgIG11bnRhdCBhICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiBtb3VudCAtViAgICAgICAgICAgICAgICAgOiBwcmludCB2ZXJzaW9uXG4iCisjfiAiICAgICAgIG1vdW50IC1oICAgICAgICAgICAgICAgICA6IHByaW50IHRoaXMgaGVscFxuIgorI34gIiAgICAgICBtb3VudCAgICAgICAgICAgICAgICAgICAgOiBsaXN0IG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKKyN+ICIgICAgICAgbW91bnQgLWwgICAgICAgICAgICAgICAgIDogaWRlbSwgaW5jbHVkaW5nIHZvbHVtZSBsYWJlbHNcbiIKKyN+ICJTbyBmYXIgdGhlIGluZm9ybWF0aW9uYWwgcGFydC4gTmV4dCB0aGUgbW91bnRpbmcuXG4iCisjfiAiVGhlIGNvbW1hbmQgaXMgYG1vdW50IFstdCBmc3R5cGVdIHNvbWV0aGluZyBzb21ld2hlcmUnLlxuIgorI34gIkRldGFpbHMgZm91bmQgaW4gL2V0Yy9mc3RhYiBtYXkgYmUgb21pdHRlZC5cbiIKKyN+ICIgICAgICAgbW91bnQgLWEgWy10fC1PXSAuLi4gICAgIDogbW91bnQgYWxsIHN0dWZmIGZyb20gL2V0Yy9mc3RhYlxuIgorI34gIiAgICAgICBtb3VudCBkZXZpY2UgICAgICAgICAgICAgOiBtb3VudCBkZXZpY2UgYXQgdGhlIGtub3duIHBsYWNlXG4iCisjfiAiICAgICAgIG1vdW50IGRpcmVjdG9yeSAgICAgICAgICA6IG1vdW50IGtub3duIGRldmljZSBoZXJlXG4iCisjfiAiICAgICAgIG1vdW50IC10IHR5cGUgZGV2IGRpciAgICA6IG9yZGluYXJ5IG1vdW50IGNvbW1hbmRcbiIKKyN+ICJOb3RlIHRoYXQgb25lIGRvZXMgbm90IHJlYWxseSBtb3VudCBhIGRldmljZSwgb25lIG1vdW50c1xuIgorI34gImEgZmlsZXN5c3RlbSAob2YgdGhlIGdpdmVuIHR5cGUpIGZvdW5kIG9uIHRoZSBkZXZpY2UuXG4iCisjfiAiT25lIGNhbiBhbHNvIG1vdW50IGFuIGFscmVhZHkgdmlzaWJsZSBkaXJlY3RvcnkgdHJlZSBlbHNld2hlcmU6XG4iCisjfiAiICAgICAgIG1vdW50IC0tYmluZCBvbGRkaXIgbmV3ZGlyXG4iCisjfiAib3IgbW92ZSBhIHN1YnRyZWU6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbW92ZSBvbGRkaXIgbmV3ZGlyXG4iCisjfiAiT25lIGNhbiBjaGFuZ2UgdGhlIHR5cGUgb2YgbW91bnQgY29udGFpbmluZyB0aGUgZGlyZWN0b3J5IGRpcjpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNsYXZlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcHJpdmF0ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXVuYmluZGFibGUgZGlyXG4iCisjfiAiT25lIGNhbiBjaGFuZ2UgdGhlIHR5cGUgb2YgYWxsIHRoZSBtb3VudHMgaW4gYSBtb3VudCBzdWJ0cmVlXG4iCisjfiAiY29udGFpbmluZyB0aGUgZGlyZWN0b3J5IGRpcjpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzaGFyZWQgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1yc2xhdmUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ycHJpdmF0ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJ1bmJpbmRhYmxlIGRpclxuIgorI34gIkEgZGV2aWNlIGNhbiBiZSBnaXZlbiBieSBuYW1lLCBzYXkgL2Rldi9oZGExIG9yIC9kZXYvY2Ryb20sXG4iCisjfiAib3IgYnkgbGFiZWwsIHVzaW5nICAtTCBsYWJlbCAgb3IgYnkgdXVpZCwgdXNpbmcgIC1VIHV1aWQgLlxuIgorI34gIk90aGVyIG9wdGlvbnM6IFstbmZGcnN2d10gWy1vIG9wdGlvbnNdIFstcCBwYXNzd2RmZF0uXG4iCisjfiAiRm9yIG1hbnkgbW9yZSBkZXRhaWxzLCBzYXkgIG1hbiA4IG1vdW50IC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gImZvcm1hIGQnw7pzOiBtb3VudCAtViAgICAgICAgICAgIDogbW9zdHJhIGxhIHZlcnNpw7NcbiIKKyN+ICIgICAgICAgICAgICBtb3VudCAtaCAgICAgICAgICAgIDogbW9zdHJhIGFxdWVzdGEgYWp1ZGFcbiIKKyN+ICIgICAgICAgICAgICBtb3VudCAgICAgICAgICAgICAgIDogbGxpc3RhIGVscyBzaXN0ZW1lcyBkZSBmaXR4ZXJzIG11bnRhdHNcbiIKKyN+ICIgICAgICAgICAgICBtb3VudCAtbCAgICAgICAgICAgIDogw61kZW0sIGluY2xvZW4gbGVzIGV0aXF1ZXRlcyBkZSB2b2x1bVxuIgorI34gIkZpbnMgYXF1w60gbGEgcGFydCBpbmZvcm1hdGl2YS4gRXMgY29udGludWEgYW1iIGVsIG11bnRhdGdlLlxuIgorI34gIkwnb3JkcmUgw6lzIMKrbW91bnQgWy10IHRpcHVzX3NmXSBhbGd1bmFfY29zYSBsbG9jwrsuXG4iCisjfiAiRWxzIGRldGFsbHMgaW5jbG9zb3MgZW4gL2V0Yy9mc3RhYiBlcyBwb2RlbiBvbWV0cmUuXG4iCisjfiAiICAgICAgICAgICAgbW91bnQgLWEgWy10fC1PXSAgICA6IG11bnRhIHRvdCBlbCBxdWUgcydoYSBpbmRpY2F0XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuIC9ldGMvZnN0YWJcbiIKKyN+ICIgICAgICAgICAgICBtb3VudCBkaXNwb3NpdGl1ICAgIDogbXVudGEgZWwgZGlzcG9zaXRpdSBlbiBlbCBsbG9jIGNvbmVndXRcbiIKKyN+ICIgICAgICAgICAgICBtb3VudCBkaXJlY3RvcmkgICAgIDogbXVudGEgZWwgZGlzcG9zaXRpdSBjb25lZ3V0IGFxdcOtXG4iCisjfiAiICAgICAgICAgICAgbW91bnQgLXQgdGlwdXMgZGlzcCBkaXIgOiBvcmRyZSBtb3VudCBvcmRpbmFyaWFcbiIKKyN+ICJUaW5ndWV1IGVuIGNvbXB0ZSBxdWUgbm8gbXVudGFyZXUgcmVhbG1lbnQgdW4gZGlzcG9zaXRpdSwgc2luw7MgbcOpc1xuIgorI34gImF2aWF0IGVsIHNldSBzaXN0ZW1hIGRlIGZpdHhlcnMgKGVsIHRpcHVzIGRvbmF0KS4gVGFtYsOpIGVzIHBvdCBtdW50YXJcbiIKKyN+ICJ1biBhcmJyZSBkZSBkaXJlY3RvcmlzIGphIHZpc2libGUgZW4gdW4gYWx0cmUgbGxvY1xuIgorI34gIiAgICAgICAgICAgIG1vdW50IC0tYmluZCBkaXJfYW50aWMgZGlyX25vdVxuIgorI34gIm8gbW91cmUgdW4gc3ViYXJicmU6XG4iCisjfiAiICAgICAgICAgICAgbW91bnQgLS1tb3ZlIGRpcl9hbnRpYyBkaXJfbm91XG4iCisjfiAiRXMgcG90IGRvbmFyIHVuIGRpc3Bvc2l0aXUgbWl0amFuw6dhbnQgZWwgbm9tLCBwb3NlbS1oaSAvZGV2L2hkYTEgb1xuIgorI34gIi9kZXYvY2Ryb20gbyBtaXRqYW7Dp2FudCBsJ2V0aXF1ZXRhLCB1c2FudCAtTCBldGlxdWV0YSBvIG1pdGphbsOnYW50IHV1aWQsXG4iCisjfiAidXNhbnQgLVUgdXVpZC5cbiIKKyN+ICJBbHRyZXMgb3BjaW9uczogWy1uZkZyc3Z3XSBbLW8gb3BjaW9uc10gWy1wIGRmY29udHJhc2VueWFdLlxuIgorI34gIlBlciBhIG3DqXMgZGV0YWxscywgY29uc3VsdGV1IMKrbWFuIDggbW91bnTCuy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogb25seSByb290IGNhbiBkbyB0aGF0IChlZmZlY3RpdmUgVUlEIGlzICV1KSIKKyN+IG1zZ3N0ciAibW91bnQ6IG5vbcOpcyBsJ3VzdWFyaSByb290IHBvdCBmZXIgYWl4w7IiCisKKyN+IG1zZ2lkICJtb3VudDogb25seSByb290IGNhbiBkbyB0aGF0IgorI34gbXNnc3RyICJtb3VudDogbm9tw6lzIGwndXN1YXJpIHJvb3QgcG90IGZlciBhaXjDsiIKKworI34gbXNnaWQgIm5vdGhpbmcgd2FzIG1vdW50ZWQiCisjfiBtc2dzdHIgIm5vIHMnaGEgbXVudGF0IHJlcyIKKworI34gbXNnaWQgIm1vdW50OiBubyBzdWNoIHBhcnRpdGlvbiBmb3VuZCIKKyN+IG1zZ3N0ciAibW91bnQ6IG5vIHMnaGEgdHJvYmF0IGFxdWVzdGEgcGFydGljacOzIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IGZpbmQgJXMgaW4gJXMgb3IgJXMiCisjfiBtc2dzdHIgIm1vdW50OiBubyBzJ2hhIHBvZ3V0IHRyb2JhciAlcyBhICVzIG8gJXMiCisKKyN+IG1zZ2lkICJbbW50ZW50XTogd2FybmluZzogbm8gZmluYWwgbmV3bGluZSBhdCB0aGUgZW5kIG9mICVzXG4iCisjfiBtc2dzdHIgIlttbnRlbnRdOiBhdsOtczogbm8gaGkgaGEgY2FwIG5vdmEgbMOtbmlhIGFsIGZpbmFsIGRlICVzXG4iCisKKyN+IG1zZ2lkICJbbW50ZW50XTogbGluZSAlZCBpbiAlcyBpcyBiYWQlc1xuIgorI34gbXNnc3RyICJbbW50ZW50XTogbGEgbMOtbmlhICVkIGRlICVzIG5vIMOpcyBjb3JyZWN0YSVzXG4iCisKKyN+IG1zZ2lkICI7IHJlc3Qgb2YgZmlsZSBpZ25vcmVkIgorI34gbXNnc3RyICI7IHMnaWdub3JhcsOgIGxhIHJlc3RhIGRlbCBmaXR4ZXIiCisKKyN+IG1zZ2lkICJub3QgZW5vdWdoIG1lbW9yeSIKKyN+IG1zZ3N0ciAibm8gaGkgaGEgcHJvdSBtZW3DsnJpYSIKKworI34gbXNnaWQgInVtb3VudDogY29tcGlsZWQgd2l0aG91dCBzdXBwb3J0IGZvciAtZlxuIgorI34gbXNnc3RyICJ1bW91bnQ6IGVzdMOgIGNvbXBpbGF0IHNlbnNlIHN1cG9ydCBwZXIgYSAtZlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogY2Fubm90IHNldCBncm91cCBpZDogJW0iCisjfiBtc2dzdHIgIm1vdW50IDogbm8gcydoYSBwb2d1dCBlc3RhYmxpciBsYSB2ZWxvY2l0YXQgZGU6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogY2Fubm90IHNldCB1c2VyIGlkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQgOiBubyBzJ2hhIHBvZ3V0IGVzdGFibGlyIGxhIHZlbG9jaXRhdCBkZTogJXMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBmb3JrOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IG5vIHMnaGEgcG9ndXQgYmlmdXJjYXI6ICVzIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogaW52YWxpZCBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IGRpc3Bvc2l0aXUgZGUgYmxvY3Mgbm8gdsOgbGlkIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogbm90IG1vdW50ZWQiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IG5vIGVzdMOgIG11bnRhdCIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGNhbid0IHdyaXRlIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgInVtb3VudDogJXM6IG5vIHMnaGEgcG9ndXQgZXNjcml1cmUgZWwgc3VwZXJibG9jIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogbm90IGZvdW5kIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBubyBzJ2hhIHRyb2JhdCIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVtb3VudCIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogaGF1cmV1IGRlIHNlciBzdXBlcnVzdWFyaSBwZXIgcG9kZXIgdXNhciB1bW91bnQiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBibG9jayBkZXZpY2VzIG5vdCBwZXJtaXR0ZWQgb24gZnMiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IGRpc3Bvc2l0aXVzIGRlIGJsb2NzIG5vIHBlcm1lc29zIGVuIGVsIHNpc3RlbWEgZGUgZml0eGVycyIKKworI34gbXNnaWQgInVtb3VudDogJXM6ICVzIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGZhaWxlZCB0byBjaGRpciB0byAlczogJW0iCisjfiBtc2dzdHIgIm5hbWVpOiBubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGNoZGlyIGEgJXMgLSAlcyAoJWQpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gb2J0YWluIGN1cnJlbnQgZGlyZWN0b3J5OiAlbSIKKyN+IG1zZ3N0ciAibmFtZWk6IG5vIHMnaGEgcG9ndXQgb2J0ZW5pciBlbCBkaXJlY3RvcmkgYWN0dWFsIC0gJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IG1vdW50cG9pbnQgbW92ZWQgKCVzIC0+ICVzKSIKKyN+IG1zZ3N0ciAibW91bnQ6IGVsIHB1bnQgZGUgbXVudGF0Z2UgJXMgbm8gZXhpc3RlaXgiCisKKyN+IG1zZ2lkICJubyB1bW91bnQyLCB0cnlpbmcgdW1vdW50Li4uXG4iCisjfiBtc2dzdHIgInVtb3VudDIgbm8gZXhpc3RlaXgsIHMnZXN0w6AgcHJvdmFudCBhbWIgdW1vdW50Li4uXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGJ1c3kgLSByZW1vdW50ZWQgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgb2N1cGF0IC0gcydoYSB0b3JuYXQgYSBtdW50YXIgZGUgbm9tw6lzIGxlY3R1cmFcbiIKKworI34gbXNnaWQgInVtb3VudDogY291bGQgbm90IHJlbW91bnQgJXMgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDogbm8gcydoYSBwb2d1dCB0b3JuYXIgYSBtdW50YXIgJXMgZGUgbm9tw6lzIGxlY3R1cmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyBoYXMgYmVlbiB1bm1vdW50ZWRcbiIKKyN+IG1zZ3N0ciAiJXMgZGVzbXVudGF0XG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBmaW5kIGxpc3Qgb2YgZmlsZXN5c3RlbXMgdG8gdW5tb3VudCIKKyN+IG1zZ3N0ciAidW1vdW50OiBubyBzJ2hhIHBvZ3V0IHRyb2JhciBsYSBsbGlzdGEgZGVscyBzaXN0ZW1lcyBkZSBmaXR4ZXJzIGEgZGVzbXVudGFyIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogdW1vdW50IC1oIHwgLVZcbiIKKyN+ICIgICAgICAgdW1vdW50IC1hIFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBbLXQgdmZzdHlwZXNdIFstTyBvcHRzXVxuIgorI34gIiAgICAgICB1bW91bnQgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIHNwZWNpYWwgfCBub2RlLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJGb3JtYSBkJ8O6czogdW1vdW50IFstaFZdXG4iCisjfiAiICAgICAgICAgICAgdW1vdW50IC1hIFstZl0gWy1yXSBbLW5dIFstdl0gWy10ICB0aXB1c19zaXN0Ll9maXR4Ll92aXJ0dWFsc11cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgWy1PIG9wY2lvbnNdXG4iCisjfiAiICAgICAgICAgICAgdW1vdW50IFstZl0gWy1yXSBbLW5dIFstdl0gZXNwZWNpYWwgfCBub2RlLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlICdvZmZzZXQ9JXMnIG9wdGlvbnNcbiIKKyN+IG1zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZGV2aWNlICVzIGlzIGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICJFbCBzZWN0b3IgJWQgamEgZXN0w6AgYXNzaWduYXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJkZXZpY2UgJXMgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICJFbCBzZWN0b3IgJWQgamEgZXN0w6AgYXNzaWduYXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDYW5ub3QgdW5tb3VudCBcIlwiXG4iCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgZGVzbXVudGFyIMKrwrtcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUcnlpbmcgdG8gdW5tb3VudCAlc1xuIgorI34gbXNnc3RyICJTJ2VzdMOgIGludGVudGFudCBkZXNtdW50YXIgJXNcbiIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBmaW5kICVzIGluIG10YWJcbiIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCB0cm9iYXIgJXMgYSBtdGFiXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGlzIG5vdCBtb3VudGVkIChhY2NvcmRpbmcgdG8gbXRhYikiCisjfiBtc2dzdHIgInVtb3VudDogJXMgbm8gZXN0w6AgbXVudGF0IChzZWdvbnMgbXRhYikiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGl0IHNlZW1zICVzIGlzIG1vdW50ZWQgbXVsdGlwbGUgdGltZXMiCisjfiBtc2dzdHIgInVtb3VudDogc2VtYmxhIHF1ZSAlcyBzJ2hhIG11bnRhdCBkaXZlcnNlcyB2ZWdhZGVzIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBpcyBub3QgaW4gdGhlIGZzdGFiIChhbmQgeW91IGFyZSBub3Qgcm9vdCkiCisjfiBtc2dzdHIgInVtb3VudDogJXMgbm8gZXN0w6AgYWwgZnN0YWIgKGkgbm8gc291IGVsIHJvb3QpIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBtb3VudCBkaXNhZ3JlZXMgd2l0aCB0aGUgZnN0YWIiCisjfiBtc2dzdHIgInVtb3VudDogZWwgbXVudGF0Z2UgZGUgJXMgbm8gY29uY29yZGEgYW1iIGVsIGZzdGFiIgorCisjfiBtc2dpZCAidW1vdW50OiBvbmx5ICVzIGNhbiB1bm1vdW50ICVzIGZyb20gJXMiCisjfiBtc2dzdHIgInVtb3VudDogbm9tw6lzICVzIHBvdCBkZXNtdW50YXIgJXMgZGVzIGRlICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCisjfiBtc2dzdHIgInVtb3VudDogbm9tw6lzIGVsIHJvb3QgcG90IGZlciBhaXjDsiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDx0dHk+IFsuLi5dXG4iCisjfiBtc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVMsIC0tc2V0LWRlZmF1bHQtdGhyZXNob2xkIDxudW0+ICBzZXQgZGVmYXVsdCB0aHJlc2hvbGQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCBlbCBsbGluZGFyIGkgJWxkIGVsIHRlbXBzIGQnZXNwZXJhIHBlciBkZWZlY3RlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkZpbGUgJXMsIEZvciB0aHJlc2hvbGQgdmFsdWUgJWx1LCBNYXhpbXVtIGNoYXJhY3RlcnMgaW4gZmlmbyB3ZXJlICVkLFxuIgorI34gImFuZCB0aGUgbWF4aW11bSB0cmFuc2ZlciByYXRlIGluIGNoYXJhY3RlcnMvc2Vjb25kIHdhcyAlZiIKKyN+IG1zZ3N0ciAiIgorI34gIkZpdHhlciAlcywgcGVyIGFsIHZhbG9yIGRlbCBsbGluZGFyICVsdSwgZWwgbcOgeGltIGRlIGNhcsOgY3RlcnMgZW4gZmlmbyBmb3UgZGUgJWRcbiIKKyN+ICJpIGxhIHZlbG9jaXRhdCBkZSB0cmFuc2ZlcsOobmNpYSBtw6B4aW1hIGVuIGNhcmFjdGVyZXMgcGVyIHNlZ29uIGZvdSBkZSAlZlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJGaWxlICVzLCBGb3IgdGhyZXNob2xkIHZhbHVlICVsdSBhbmQgdGltZW91dCB2YWx1ZSAlbHUsIE1heGltdW0gY2hhcmFjdGVycyBpbiBmaWZvIHdlcmUgJWQsXG4iCisjfiAiYW5kIHRoZSBtYXhpbXVtIHRyYW5zZmVyIHJhdGUgaW4gY2hhcmFjdGVycy9zZWNvbmQgd2FzICVmIgorI34gbXNnc3RyICIiCisjfiAiRml0eGVyICVzLCBwZXIgYWwgdmFsb3IgZGVsIGxsaW5kYXIgJWx1IGkgZWwgdmFsb3IgZGUgdGVtcHMgZW4gZXNwZXJhICVsdSwgZWwgbcOgeGltIGRlIGNhcsOgY3RlcnMgZW4gZmlmbyBmb3UgZGUgJWRcbiIKKyN+ICJpIGxhIHZlbG9jaXRhdCBkZSB0cmFuc2ZlcsOobmNpYSBtw6B4aW1hIGVuIGNhcmFjdGVyZXMgcGVyIHNlZ29uIGZvdSBkZSAlZlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBpc3N1ZSBDWUdFVE1PTiBvbiAlcyIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBlbWV0cmUgQ1lHRVRNT04gYSAlczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRocmVzaG9sZCBmb3IgJXMiCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2J0ZW5pciBlbCBsbGluZGFyIHBlciBhICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBnZXQgdGltZW91dCBmb3IgJXMiCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2J0ZW5pciBlbCB0ZW1wcyBkJ2VzcGVyYSBwZXIgYSAlczogJXNcbiIKKworI34gbXNnaWQgIiVzOiAlbHUgaW50cywgJWx1LyVsdSBjaGFyczsgZmlmbzogJWx1IHRocmVzaCwgJWx1IHRtb3V0LCAlbHUgbWF4LCAlbHUgbm93XG4iCisjfiBtc2dzdHIgIiVzOiAlbHUgZW50ZXJzLCAlbHUvJWx1IGNhcsOgY3RlcnM7IGZpZm86ICVsdSBsbGluZGFyLCAlbHUgdGVtcHNfZXNwZXJhLCAlbHUgbcOgeGltLCAlbHUgYXJhXG4iCisKKyN+IG1zZ2lkICIgICAlZiBpbnQvc2VjOyAlZiByZWMsICVmIHNlbmQgKGNoYXIvc2VjKVxuIgorI34gbXNnc3RyICIgICAlZiBlbnRlcnMvc2VnLjsgJWYgcmVidXQsICVmIGVudmlhdCAoY2Fyw6BjdGVycy9zZWcuKVxuIgorCisjfiBtc2dpZCAiJXM6ICVsdSBpbnRzLCAlbHUgY2hhcnM7IGZpZm86ICVsdSB0aHJlc2gsICVsdSB0bW91dCwgJWx1IG1heCwgJWx1IG5vd1xuIgorI34gbXNnc3RyICIlczogJWx1IGVudGVycywgJWx1IGNhcsOgY3RlcnM7IGZpZm86ICVsdSBsbGluZGFyLCAlbHUgdGVtcHNfZXNwZXJhLCAlbHUgbcOgeGltLCAlbHUgYXJhXG4iCisKKyN+IG1zZ2lkICIgICAlZiBpbnQvc2VjOyAlZiByZWMgKGNoYXIvc2VjKVxuIgorI34gbXNnc3RyICIgICAlZiBlbnRlcnMvc2VnLjsgJWYgcmVidXQgKGNhcsOgY3RlcnMvc2VnLilcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGludGVydmFsIHZhbHVlIgorI34gbXNnc3RyICJWYWxvciBkJ2ludGVydmFsIGludsOgbGlkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgaW50ZXJ2YWwgdmFsdWU6ICVkIgorI34gbXNnc3RyICJWYWxvciBkJ2ludGVydmFsIGludsOgbGlkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgc2V0IHZhbHVlIgorI34gbXNnc3RyICJWYWxvciBlc3RhYmxlcnQgaW52w6BsaWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdmFsdWU6ICVkIgorI34gbXNnc3RyICJWYWxvciBlc3RhYmxlcnQgaW52w6BsaWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHZhbHVlIgorI34gbXNnc3RyICJWYWxvciBwZXIgZGVmZWN0ZSBpbnbDoGxpZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdmFsdWU6ICVkIgorI34gbXNnc3RyICJWYWxvciBwZXIgZGVmZWN0ZSBpbnbDoGxpZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICJWYWxvciBkZSBsJ2hvcmEgZXN0YWJsZXJ0YSBpbnbDoGxpZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiVmFsb3IgZGUgbCdob3JhIGVzdGFibGVydGEgaW52w6BsaWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHRpbWUgdmFsdWUiCisjfiBtc2dzdHIgIlZhbG9yIGRlIGwnaG9yYSBwZXIgZGVmZWN0ZSBpbnbDoGxpZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdGltZSB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIlZhbG9yIGRlIGwnaG9yYSBwZXIgZGVmZWN0ZSBpbnbDoGxpZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgc2V0ICVzIHRvIHRocmVzaG9sZCAlZCIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc3RhYmxpciAlcyBhbCBsbGluZGFyICVkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzZXQgJXMgdG8gdGltZSB0aHJlc2hvbGQgJWQiCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXN0YWJsaXIgJXMgYWwgbGxpbmRhciBkZSBsJ2hvcmEgJWQ6ICVzXG4iCisKKyN+IG1zZ2lkICIlczogJWxkIGN1cnJlbnQgdGhyZXNob2xkIGFuZCAlbGQgY3VycmVudCB0aW1lb3V0XG4iCisjfiBtc2dzdHIgIiVzOiAlbGQgZWwgbGxpbmRhciBpICVsZCBlbCB0ZW1wcyBkJ2VzcGVyYSBhY3R1YWxzXG4iCisKKyN+IG1zZ2lkICIlczogJWxkIGRlZmF1bHQgdGhyZXNob2xkIGFuZCAlbGQgZGVmYXVsdCB0aW1lb3V0XG4iCisjfiBtc2dzdHIgIiVzOiAlbGQgZWwgbGxpbmRhciBpICVsZCBlbCB0ZW1wcyBkJ2VzcGVyYSBwZXIgZGVmZWN0ZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJUaW1lIGVsYXBzZWQgc2luY2UgcmVmZXJlbmNlIHRpbWUgaGFzIGJlZW4gJS42ZiBzZWNvbmRzLlxuIgorI34gIkRlbGF5aW5nIGZ1cnRoZXIgdG8gcmVhY2ggdGhlIG5ldyB0aW1lLlxuIgorI34gbXNnc3RyICIiCisjfiAiRWwgdGVtcHMgdHJhbnNjb3JyZWd1dCBkZXMgZGUgbCdob3JhIGRlIHJlZmVyw6huY2lhIMOpcyBkZSAlLjZmIHNlZ29ucy5cbiIKKyN+ICJTJ2hhIGVuZGFycmVyaXQgZWwgbW9tZW50IGVuIHF1w6ggcydhcnJpYmFyw6AgYWwgc2Vnw7xlbnQgc2Vnb24gY29tcGxldC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGRldGVybWluZSBzb3VyY2UiCisjfiBtc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdGVybSA8dGVybWluYWxfbmFtZT5cbiIKKyN+IG1zZ3N0ciAiICBbIC10ZXJtIG5vbV90ZXJtaW5hbCBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yZXNldFxuIgorI34gbXNnc3RyICIgIFsgLXJlc2V0IF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWluaXRpYWxpemVcbiIKKyN+IG1zZ3N0ciAiICBbIC1pbml0aWFsaXplIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWN1cnNvciA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWN1cnNvciBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yZXBlYXQgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1yZXBlYXQgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYXBwY3Vyc29ya2V5cyA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbGluZXdyYXAgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1saW5ld3JhcCBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1kZWZhdWx0XG4iCisjfiBtc2dzdHIgIiAgWyAtZGVmYXVsdCBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1pbnZlcnNlc2NyZWVuIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtaW52ZXJzZXNjcmVlbiBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1ib2xkIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtYm9sZCBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1ibGluayA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWJsaW5rIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXJldmVyc2UgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1yZXZlcnNlIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXVuZGVybGluZSA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLXVuZGVybGluZSBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1zdG9yZVxuIgorI34gbXNnc3RyICIgIFsgLXN0b3JlIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWNsZWFyIDxhbGx8cmVzdD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1jbGVhciBbYWxsfHJlc3RdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICAgICAodGFibiA9IDEtMTYwKVxuIgorI34gbXNnc3RyICIgIFsgLXRhYnMgWyB0YWIxIHRhYjIgdGFiMyAuLi4gXSBdICAgICAgKHRhYm4gPSAxLTE2MClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWNscnRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICAodGFibiA9IDEtMTYwKVxuIgorI34gbXNnc3RyICIgIFsgLWNscnRhYnMgWyB0YWIxIHRhYjIgdGFiMyAuLi4gXSBdICAgKHRhYm4gPSAxLTE2MClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXJlZ3RhYnMgPDEtMTYwPlxuIgorI34gbXNnc3RyICIgIFsgLXJlZ3RhYnMgWzEtMTYwXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1ibGFuayA8MC02MHxmb3JjZXxwb2tlPlxuIgorI34gbXNnc3RyICIgIFsgLWJsYW5rIFswLTYwXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1kdW1wICAgPDEtTlJfQ09OU09MRVM+XG4iCisjfiBtc2dzdHIgIiAgWyAtZHVtcCAgIFsxLU7Dmk1fQ09OU09MRVNdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWFwcGVuZCA8MS1OUl9DT05TT0xFUz5cbiIKKyN+IG1zZ3N0ciAiICBbIC1hcHBlbmQgWzEtTsOaTV9DT05TT0xFU10gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZmlsZSBkdW1wZmlsZW5hbWVcbiIKKyN+IG1zZ3N0ciAiICBbIC1maWxlIG5vbV9maXR4ZXJfYm9sY2F0IF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW1zZyA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLW1zZyBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1tc2dsZXZlbCA8MC04PlxuIgorI34gbXNnc3RyICIgIFsgLW1zZ2xldmVsIFswLThdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXBvd2VyZG93biA8MC02MD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1wb3dlcmRvd24gWzAtNjBdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWJsZW5ndGggPDAtMjAwMD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1ibGVuZ3RoIFswLTIwMDBdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWJmcmVxIGZyZXFudW1iZXJcbiIKKyN+IG1zZ3N0ciAiICBbIC1iZnJlcSBuw7ptZXJvX2ZyZXHDvMOobmNpYSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXJyb3Igd3JpdGluZyBzY3JlZW5kdW1wIgorI34gbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGVzY3JpdXJlIHVuIGJvbGNhdCBkZSBwYW50YWxsYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNvdWxkbid0IHJlYWQgbmVpdGhlciAvZGV2L3Zjc2EwIG5vciAvZGV2L3Zjc2EiCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2JyaXIgL2Rldi90dHkxIG8gL2Rldi92Yy8xIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjfiBtc2dpZCAibGluZSB0b28gbG9uZyIKKyN+IG1zZ3N0ciAibMOtbmlhIG1hc3NhIGxsYXJnYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YWlkcGlkIGZhaWxlZCIKKyN+IG1zZ3N0ciAic2V0dWlkKCkgaGEgZmFsbGF0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCisjfiBtc2dzdHIgIkxhIHBhcnRpY2nDsyAlZCBqYSBlc3TDoCBkZWZpbmlkYS4gRXNib3JyZXUtbGEgYWJhbnMgZGUgdG9ybmFyLWxhIGEgYWZlZ2lyLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAlemQgaXMgYWxyZWFkeSBkZWZpbmVkLiBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCisjfiBtc2dzdHIgIkxhIHBhcnRpY2nDsyAlZCBqYSBlc3TDoCBkZWZpbmlkYS4gRXNib3JyZXUtbGEgYWJhbnMgZGUgdG9ybmFyLWxhIGEgYWZlZ2lyLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6ICBCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdsOtczogbm8gcydoYSBwb2d1dCBleGVjdXRhciBpb2N0bCBCTEtHRVRTSVpFIGEgJXMuIFMnZXN0w6AgdXRpbGl0emFudCBlbCB2YWxvciBkZSBsYSBnZW9tZXRyaWEgZGVsIGNpbGluZHJlICVkLlxuIgorI34gIkFxdWVzdCB2YWxvciBlcyBwb3QgdHJ1bmNhciBwZXIgYSBkaXNwb3NpdGl1cyA+IDMzLjggR0IuXG4iCisKKyN+IG1zZ2lkICJzZXQgYmxvY2tzaXplIgorI34gbXNnc3RyICJlc3RhYmxlaXggbGEgbWlkYSBkZWwgYmxvYyIKKworI34gbXNnaWQgIm9uZSBiYWQgYmxvY2tcbiIKKyN+IG1zZ3N0ciAidW4gYmxvYyBpbmNvcnJlY3RlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uIHR5cGUgaGV4IG9yIHV1aWQiCisjfiBtc2dzdHIgIiMgdGF1bGEgZGUgcGFydGljaW9ucyBkZSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiBtc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZWFkIGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAiKEZpdHhlciBzZWfDvGVudDogJXMpIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlZWsgZmFpbGVkICVzIgorI34gbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBmYWlsZWQ6ICVkIgorI34gbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZmFpbGVkOiAlZCIKKyN+IG1zZ3N0ciAiKEZpdHhlciBzZWfDvGVudDogJXMpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZCIKKyN+IG1zZ3N0ciAiTm8gaGkgaGFuIHBhcnRpY2lvbnMgZGVmaW5pZGVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkIGRldmljZXNcbiIKKyN+ICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2PiBbLi4uXSAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKKyN+ICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKKyN+ICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZmluZCBmaXJzdCB1bnVzZWQgZGV2aWNlXG4iCisjfiAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcGRldj4gIHJlc2l6ZSBkZXZpY2VcbiIKKyN+ICIgLWosIC0tYXNzb2NpYXRlZCA8ZmlsZT4gICAgICAgbGlzdCBhbGwgZGV2aWNlcyBhc3NvY2lhdGVkIHdpdGggPGZpbGU+XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJmb3JtYSBkJ8O6czpcbiIKKyN+ICIgICVzIGRpc3Bvc2l0aXVfbG9vcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBkb25hIGluZm9ybWFjacOzXG4iCisjfiAiICAlcyAtZCBkaXNwb3NpdGl1X2xvb3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgZWxpbWluYVxuIgorI34gIiAgJXMgLWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGNlcmNhIG5vIHVzYXRzXG4iCisjfiAiICAlcyBbIC1lIHhpZnJhdGdlIF0gWyAtbyBkZXNwbGHDp2FtZW50IF0gey1mfGRpc3BfbG9vcH0gZml0eGVyICMgY29uZmlndXJhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UsIG9mZnNldCBpcyBub3QgNTEyLWJ5dGUgYWxpZ25lZC4iCisjfiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgcmVib2JpbmFyIGVsIGRpc3Bvc2l0aXUgZCdpbnRlcmNhbnZpIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuc3N1cG9ydGVkIC0tbG9jYWwtbGluZSBtb2RlIGFyZ3VtZW50IgorI34gbXNnc3RyICIlczogYXJndW1lbnQgZGVzY29uZWd1dDogJXNcbiIKKworI34gbXNnaWQgInVzYWdlOlxuIgorI34gbXNnc3RyICJmb3JtYSBkJ8O6czpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtaXNzaW5nIGJsb2NrZGV2aWNlLCB1c2UgLWggZm9yIGhlbHBcbiIKKyN+IG1zZ3N0ciAiJXMgbm8gw6lzIGNhcCBkaXNwb3NpdGl1IGRlIGJsb2MgbyB1biBmaXR4ZXJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlZGl0aW9uIG51bWJlciBhcmd1bWVudCBmYWlsZWQiCisjfiBtc2dzdHIgIm3DoHguIG5vbWJyZSBkZSBzZWdtZW50cyA9ICVsdVxuIgorCisjfiBtc2dpZCAiZnN5bmMgZmFpbGVkIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGZlciBmc3luYyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICJQcmludCB2ZXJzaW9uOlxuIgorI34gIiAgICAgICAgJXMgLXZcbiIKKyN+ICJQcmludCBwYXJ0aXRpb24gdGFibGU6XG4iCisjfiAiICAgICAgICAlcyAtUCB7cnxzfHR9IFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+ICJJbnRlcmFjdGl2ZSB1c2U6XG4iCisjfiAiICAgICAgICAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICItYTogVXNlIGFycm93IGluc3RlYWQgb2YgaGlnaGxpZ2h0aW5nO1xuIgorI34gIi16OiBTdGFydCB3aXRoIGEgemVybyBwYXJ0aXRpb24gdGFibGUsIGluc3RlYWQgb2YgcmVhZGluZyB0aGUgcHQgZnJvbSBkaXNrO1xuIgorI34gIi1jIEMgLWggSCAtcyBTOiBPdmVycmlkZSB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgbnVtYmVyIG9mIGN5bGluZGVycyxcbiIKKyN+ICIgICAgICAgICAgICAgICAgdGhlIG51bWJlciBvZiBoZWFkcyBhbmQgdGhlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRm9ybWEgZCfDunM6XG4iCisjfiAiSW1wcmltZWl4IGxhIHZlcnNpw7M6XG4iCisjfiAiICAgICAgICAlcyAtdlxuIgorI34gIkltcHJpbWVpeCBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zOlxuIgorI34gIiAgICAgICAgJXMgLVAge3J8c3x0fSBbb3BjaW9uc10gZGlzcG9zaXRpdVxuIgorI34gIsOacyBpbnRlcmFjdGl1OlxuIgorI34gIiAgICAgICAgJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXVcbiIKKyN+ICJcbiIKKyN+ICJPcGNpb25zOlxuIgorI34gIi1hOiAgVXRpbGl0emEgbGEgZmxldHhhIGVuIGNvbXB0ZXMgZGVsIHJlc3NhbHRhdC5cbiIKKyN+ICItejogIENvbWVuw6dhIGFtYiB1bmEgdGF1bGEgZGUgcGFydGljaW9ucyBkZXMgZGUgemVybyBlbiBjb21wdGVzIGRlIGxsZWdpci1cbiIKKyN+ICIgICAgIGxhIGRlbCBkaXNjLlxuIgorI34gIi1jIEMgLWggSCAtcyBTOiBNb2RpZmljYSBsYSBpZGVhIGRlbCBudWNsaSBzb2JyZSBlbCBub21icmUgZGUgY2lsaW5kcmVzLFxuIgorI34gIiAgICAgICAgICAgICAgICBlbCBub21icmUgZGUgY2Fww6dhbHMgaSBlbCBub21icmUgZGUgc2VjdG9ycyBwZXIgcGlzdGEuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJXcml0aW5nIGRpc2tsYWJlbCB0byAlcy5cbiIKKyN+IG1zZ3N0ciAiUydlc3TDoCBlc2NyaXZpbnQgbCdldGlxdWV0YSBkZSBkaXNjIGEgJXMuXG4iCisKKyMgUGFybGEgZCdldGlxdWV0ZXMsIHNlZ3VyYW1lbnQgw6lzIGZlbWVuw60KKyN+IG1zZ2lkICJMYXN0ICVzIG9yICtzaXplIG9yICtzaXplTSBvciArc2l6ZUsiCisjfiBtc2dzdHIgIsOabHRpbWEgJXMgbyArbWlkYSBvICttaWRhTSBvICttaWRhSyIKKworI34gbXNnaWQgIlJlYWRpbmcgZGlza2xhYmVsIG9mICVzIGF0IHNlY3RvciAlZC5cbiIKKyN+IG1zZ3N0ciAiUydlc3TDoCBsbGVnaW50IGwnZXRpcXVldGEgZGUgZGlzYyBkZSAlcyBlbiBlbCBzZWN0b3IgJWQuXG4iCisKKyN+IG1zZ2lkICJCU0QgZGlza2xhYmVsIGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCisjfiBtc2dzdHIgIk9yZHJlIGQnZXRpcXVldGEgZGUgZGlzYyBCU0QgKG0gcGVyIGEgbCdhanVkYSk6ICIKKworI34gbXNnaWQgImRyaXZlZGF0YTogIgorI34gbXNnc3RyICJkYWRlcyB1bml0YXQ6ICIKKworI34gbXNnaWQgIiMgICAgICAgc3RhcnQgICAgICAgZW5kICAgICAgc2l6ZSAgICAgZnN0eXBlICAgW2ZzaXplIGJzaXplICAgY3BnXVxuIgorI34gbXNnc3RyICJuw7ptICAgICBpbmljaSAgICAgICBmaW5hbCAgICBtaWRhICAgICBzaXN0LmZpdHguIFtmbWlkYSBibWlkYSAgIGNwZ11cbiIKKworI34gbXNnaWQgIk11c3QgYmUgPD0gc2VjdG9ycy90cmFjayAqIHRyYWNrcy9jeWxpbmRlciAoZGVmYXVsdCkuXG4iCisjfiBtc2dzdHIgIkhhIGRlIHNlciA8PSBzZWN0b3JzL3Bpc3RhICogcGlzdGVzL2NpbGluZHJlICh2YWxvciBwZXIgZGVmZWN0ZSkuXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gKGEtJWMpOiAiCisjfiBtc2dzdHIgIlBhcnRpY2nDsyAoYS0lYyk6ICIKKworI34gbXNnaWQgIldhcm5pbmc6IHRvbyBtYW55IHBhcnRpdGlvbnMgKCVkLCBtYXhpbXVtIGlzICVkKS5cbiIKKyN+IG1zZ3N0ciAiQXbDrXM6IGhpIGhhIG1hc3NhIHBhcnRpY2lvbnMgKCVkLCBlbCBtw6B4aW0gc8OzbiAlZCkuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiU3luY2luZyBkaXNrcy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlMnZXN0YW4gc2luY3Jvbml0emFudCBlbHMgZGlzY3MuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIHNlZWsgb24gJXMiCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgY2VyY2FyIGVuICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmF0YWwgZXJyb3IiCisjfiBtc2dzdHIgIkVycm9yIGZhdGFsXG4iCisKKyN+IG1zZ2lkICJDb21tYW5kIGFjdGlvbiIKKyN+IG1zZ3N0ciAiQWNjacOzIGRlIGwnb3JkcmUiCisKKyN+IG1zZ2lkICJZb3UgbXVzdCBzZXQiCisjfiBtc2dzdHIgIkhldSBkZSBkZWZpbmlyIGVscyIKKworI34gbXNnaWQgImhlYWRzIgorI34gbXNnc3RyICJjYXDDp2FscyIKKworI34gbXNnaWQgIiBhbmQgIgorI34gbXNnc3RyICIgaSAiCisKKyN+IG1zZ2lkICJVc2luZyBkZWZhdWx0IHZhbHVlICV1XG4iCisjfiBtc2dzdHIgIlMnZXN0w6AgdXRpbGl0emFudCBlbCB2YWxvciBwZXIgZGVmZWN0ZSAldVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbGQgTUIsICVsbGQgYnl0ZXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNjICVzOiAlbGQgTUIsICVsbGQgb2N0ZXRzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZC4lbGQgR0IsICVsbHUgYnl0ZXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNjICVzOiAlbGQuJWxkIEdCLCAlbGxkIG9jdGV0c1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiwgJWxsdSBzZWN0b3JzXG4iCisjfiBtc2dzdHIgIiwgdG90YWwgJWxsdSBzZWN0b3JzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCB3cml0ZSBkaXNrIGxhYmVsIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGEgbGEgdW5pdGF0IGRlIGRpc2MiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRXJyb3IgY2xvc2luZyBmaWxlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHRhbmNhciBlbCBmaXR4ZXJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBzZXR0aW5nIHNlY3RvciBvZmZzZXQgZm9yIERPUyBjb21wYXRpYmlsaXR5XG4iCisjfiBtc2dzdHIgIkF2w61zOiBzJ2VzdMOgIGVzdGFibGludCBlbCBkZXNwbGHDp2FtZW50IGRlbCBzZWN0b3IgcGVyIGEgbGEgY29tcGF0aWJpbGl0YXQgYW1iIERPU1xuIgorCisjfiBtc2dpZCAiRGV0ZWN0ZWQgYW4gT1NGLzEgZGlza2xhYmVsIG9uICVzLCBlbnRlcmluZyBkaXNrbGFiZWwgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiRW4gZW50cmFyIGVsIG1vZGUgZCdldGlxdWV0YSwgcydoYSBkZXRlY3RhdCB1bmEgZXRpcXVldGEgZGUgZGlzYyBPU0YvMSBlbiAlcy5cbiIKKworI34gbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGVcbiIKKyN+IG1zZ3N0ciAiTm8gaGkgaGEgY2FwIHNlY3RvciBsbGl1cmUgZGlzcG9uaWJsZVxuIgorCisjfiBtc2dpZCAiICAgICBwaHlzPSglZCwgJWQsICVkKSAiCisjfiBtc2dzdHIgIiAgICAgZsOtc2ljPSglZCwgJWQsICVkKSAiCisKKyN+IG1zZ2lkICJsb2dpY2FsPSglZCwgJWQsICVkKVxuIgorI34gbXNnc3RyICJsw7JnaWM9KCVkLCAlZCwgJWQpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogYmFkIHN0YXJ0LW9mLWRhdGEgaW4gcGFydGl0aW9uICV6ZFxuIgorI34gbXNnc3RyICJBdsOtczogaW5pY2kgZGUgZGFkZXMgaW5jb3JyZWN0ZSBlbiBsYSBwYXJ0aWNpw7MgJWRcbiIKKworI34gbXNnaWQgIkFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIlMnZXN0w6AgYWZlZ2ludCB1bmEgcGFydGljacOzIHByaW3DoHJpYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueSBET1MgNi54cGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgZmRpc2sgbWFudWFsIHBhZ2UgZm9yIGFkZGl0aW9uYWxpbmZvcm1hdGlvbi5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkF2w61zOiBTaSBoZXUgY3JlYXQgbyBtb2RpZmljYXQgYWxndW5hIHBhcnRpY2nDs1xuIgorI34gIkRPUyA2LngsIG1pcmV1IGxhIHDDoGdpbmEgZGVsIG1hbnVhbCBkZSBmZGlza1xuIgorI34gInBlciBhIGluZm9ybWFjacOzIGFkZGljaW9uYWwuXG4iCisKKyN+IG1zZ2lkICIlKnMgQm9vdCAgICAgIFN0YXJ0ICAgICAgICAgRW5kICAgICAgQmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIlKnMgQXJyZW5jLiAgIEluaWNpICAgICAgICAgRmluYWwgICAgQmxvY3MgICAgSWQgIFNpc3RlbWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2MgJXM6ICVkIGNhcMOnYWxzLCAlZCBzZWN0b3JzLCAlZCBjaWxpbmRyZXNcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIk5yIEFGICBIZCBTZWMgIEN5bCAgSGQgU2VjICBDeWwgICAgIFN0YXJ0ICAgICAgU2l6ZSBJRFxuIgorI34gbXNnc3RyICJOLiBJQSBDYXAgU2VjdCBDaWwgQ2FwIFNlY3QgQ2lsICAgICBJbmljaSAgICAgIE1pZGEgSURcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRUaGVyZSBpcyBhIHZhbGlkIE1hYyBsYWJlbCBvbiB0aGlzIGRpc2suXG4iCisjfiAiXHRVbmZvcnR1bmF0ZWx5IGZkaXNrKDEpIGNhbm5vdCBoYW5kbGUgdGhlc2UgZGlza3MuXG4iCisjfiAiXHRVc2UgZWl0aGVyIHBkaXNrIG9yIHBhcnRlZCB0byBtb2RpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZS5cbiIKKyN+ICJcdE5ldmVydGhlbGVzcyBzb21lIGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0RW4gYXF1ZXN0IGRpc2MgdGVuaXUgdW5hIGV0aXF1ZXRhIEFJWCB2w6BsaWRhLlxuIgorI34gIlx0QWN0dWFsbWVudCBMaW51eCBubyBwb3QgZ2VzdGlvbmFyIGFxdWVzdHMgZGlzY3MuXG4iCisjfiAiXHRUb3QgaSBhaXjDsiwgdGluZ3VldSBlbiBjb21wdGUgYWxndW5zIGNvbnNlbGxzOlxuIgorI34gIlx0MS4gZmRpc2sgZW4gZGVzdHJ1aXLDoCBlbCBjb250aW5ndXQgZW4gZXNjcml1cmUuXG4iCisjfiAiXHQyLiBDb21wcm92ZXUgcXVlIGFxdWVzdCBkaXNjIG5vIHNpZ3VpIHVuYSBwYXJ0IHZpdGFsXG4iCisjfiAiXHQgICBkJ3VuIGdydXAgZGUgdm9sdW1zLiAoRW4gY2FzIGNvbnRyYXJpIHBvZHLDrWV1XG4iCisjfiAiXHQgICBlc2JvcnJhciBlbHMgYWx0cmVzIGRpc2NzLCBzaSBubyBlc3RhbiBkdXBsaWNhdHMuKVxuIgorI34gIlx0My4gQWJhbnMgZCdlc2JvcnJhciBhcXVlc3Qgdm9sdW0gZsOtc2ljLCBlc2JvcnJldVxuIgorI34gIlx0ICAgZWwgZGlzYyBsw7JnaWNhbWVudCBkZSBsYSBtw6BxdWluYSBBSVguXG4iCisjfiAiXHQgICAoTyBjb252ZXJ0aXUtdm9zIGVuIHVuIEFJWHBlcnQpLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXHRTb3JyeSAtIHRoaXMgZmRpc2sgY2Fubm90IGhhbmRsZSBNYWMgZGlzayBsYWJlbHMuXG4iCisjfiAiXHRJZiB5b3Ugd2FudCB0byBhZGQgRE9TLXR5cGUgcGFydGl0aW9ucywgY3JlYXRlXG4iCisjfiAiXHRhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIGZpcnN0LiAoVXNlIG8uKVxuIgorI34gIlx0V0FSTklORzogVGhpcyB3aWxsIGRlc3Ryb3kgdGhlIHByZXNlbnQgZGlzayBjb250ZW50cy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlx0QXF1ZXN0IGZkaXNrIG5vIHBvdCBnZXN0aW9uYXIgZXRpcXVldGVzIGRlIGRpc2MgQUlYLlxuIgorI34gIlx0U2kgZGVzaXRnZXUgYWZlZ2lyIHBhcnRpY2lvbnMgRE9TLCBjcmVldSB1bmEgbm92YSB0YXVsYSBkZVxuIgorI34gIlx0IHBhcnRpY2lvbnMgRE9TIChVc2V1IG8pLlxuIgorI34gIlx0QXbDrXM6IEFpeMOyIGRlc3RydWlyw6AgZWwgY29udGluZ3V0IGFjdHVhbCBkZWwgZGlzYy5cbiIKKworI34gbXNnaWQgIkFjY29yZGluZyB0byBNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYyB0aGUgTGFiZWwgbXVzdCBub3QgY29udGFpbiBtb3JlIHRoYW4gNTEyIGJ5dGVzXG4iCisjfiBtc2dzdHIgIlNlZ29ucyBNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYy4gbCdldGlxdWV0YSBubyBwb3QgY29udGVuaXIgbcOpcyBkZSA1MTIgb2N0ZXRzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFNHSSBkaXNrIGxhYmVsKTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogJWxkIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNjICVzIChldGlxdWV0YSBkZSBkaXNjIFNHSSk6ICVkIGNhcMOnYWxzLCAlZCBzZWN0b3JzLCAlZCBjaWxpbmRyZXNcbiIKKyN+ICJVbml0YXRzID0gJXMgZGUgJWQgKiAlZCBvY3RldHNcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICItLS0tLSBwYXJ0aXRpb25zIC0tLS0tXG4iCisjfiAiUHQjICUqcyAgSW5mbyAgICAgU3RhcnQgICAgICAgRW5kICAgU2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIiCisjfiAiLS0tLS0gcGFydGljaW9ucyAtLS0tLVxuIgorI34gIlB0IyAlKnMgIEluZm8gICAgIEluaWNpICAgICAgIEZpbmFsIFNlY3RvcnMgIElkICBTaXN0ZW1hXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiLS0tLS0gQm9vdGluZm8gLS0tLS1cbiIKKyN+ICJCb290ZmlsZTogJXNcbiIKKyN+ICItLS0tLSBEaXJlY3RvcnkgRW50cmllcyAtLS0tLVxuIgorI34gbXNnc3RyICIiCisjfiAiLS0tLS0gSW5mb3JtYWNpw7MgZCdhcnJlbmNhZGEgLS0tLS1cbiIKKyN+ICJGaXR4ZXIgZCdhcnJlbmNhZGE6ICVzXG4iCisjfiAiLS0tLS0gRW50cmFkZXMgZGUgZGlyZWN0b3JpcyAtLS0tLVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUyemQ6ICUtMTBzIHNlY3RvciU1dSBzaXplJTh1XG4iCisjfiBtc2dzdHIgIiUyZDogJS0xMHMgc2VjdG9yJTV1IG1pZGElOHVcbiIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZFxuIgorI34gbXNnc3RyICJObyBoaSBoYW4gcGFydGljaW9ucyBkZWZpbmlkZXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIGlzIG9ubHkgJWQgZGlza2Jsb2NrIGxhcmdlLFxuIgorI34gImJ1dCB0aGUgZGlzayBpcyAlZCBkaXNrYmxvY2tzIGxvbmcuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJMYSBwYXJ0aWNpw7MgZGUgZGlzYyBzZW5jZXIgc29scyB0w6kgdW4gbWlkYSBkZSAlZCBibG9jcyxcbiIKKyN+ICJtZW50cmUgcXVlIGVsIGRpc2MgdMOpIHVuYSBsb25naXR1ZCBkZSAlZCBibG9jcy5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBzdGFydCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiTGEgcGFydGljacOzICVkIG5vIGNvbWVuw6dhIGVuIHVuIGzDrW1pdCBkZSBjaWxpbmRyZS5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIkxhIHBhcnRpY2nDsyAlZCBubyBhY2FiYSBlbiB1biBsw61taXQgZGUgY2lsaW5kcmUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGFydGl0aW9uICV6ZCBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC5cbiIKKyN+IG1zZ3N0ciAiTGEgcGFydGljacOzICVkIGphIGVzdMOgIGRlZmluaWRhLiBFc2JvcnJldS1sYSBhYmFucyBkZSB0b3JuYXItbGEgYSBhZmVnaXIuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSERJT19HRVRHRU8gaW9jdGwgZmFpbGVkIG9uICVzIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGlvY3RsIEJMS0dFVFNJWkUgYSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiAgQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuICBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LlxuIgorI34gIlRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdsOtczogbm8gcydoYSBwb2d1dCBleGVjdXRhciBpb2N0bCBCTEtHRVRTSVpFIGEgJXMuIFMnZXN0w6AgdXRpbGl0emFudCBlbCB2YWxvciBkZSBsYSBnZW9tZXRyaWEgZGVsIGNpbGluZHJlICVkLlxuIgorI34gIkFxdWVzdCB2YWxvciBlcyBwb3QgdHJ1bmNhciBwZXIgYSBkaXNwb3NpdGl1cyA+IDMzLjggR0IuXG4iCisKKyN+IG1zZ2lkICJJRD0lMDJ4XHRTVEFSVD0lZFx0TEVOR1RIPSVkXG4iCisjfiBtc2dzdHIgIklEPSUwMnhcdElOSUNJPSVkXHRMT05HSVRVRD0lZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRyeWluZyB0byBrZWVwIHBhcmFtZXRlcnMgb2YgcGFydGl0aW9ucyBhbHJlYWR5IHNldC5cbiIKKyN+IG1zZ3N0ciAiUydlc3TDoCBpbnRlbnRhbnQgbWFudGVuaXIgZWxzIHBhcsOgbWV0cmVzIGRlIGxhIHBhcnRpY2nDsyAlZC5cbiIKKworI34gbXNnaWQgIllFU1xuIgorI34gbXNnc3RyICJTw41cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCdWlsZGluZyBhIG5ldyBTdW4gZGlza2xhYmVsLiIKKyN+IG1zZ3N0ciAiJXMgbm8gY29udMOpIGNhcCBldGlxdWV0YSBkZSBkaXNjLlxuIgorCisjIEZJWE1FCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTdW4gZGlzayBsYWJlbCk6ICV1IGhlYWRzLCAlbGx1IHNlY3RvcnMsICVkIHJwbVxuIgorI34gIiVsbHUgY3lsaW5kZXJzLCAlZCBhbHRlcm5hdGUgY3lsaW5kZXJzLCAlZCBwaHlzaWNhbCBjeWxpbmRlcnNcbiIKKyN+ICIlZCBleHRyYSBzZWN0cy9jeWwsIGludGVybGVhdmUgJWQ6MVxuIgorI34gIkxhYmVsIElEOiAlc1xuIgorI34gIlZvbHVtZSBJRDogJXNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogNTEyIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNjICVzIChldGlxdWV0YSBkZSBkaXNjIFN1bik6ICVkIGNhcMOnYWxzLCAlZCBzZWN0b3JzLCAlZCByLnAubS5cbiIKKyN+ICIlZCBjaWxpbmRyZXMsICVkIGNpbGluZHJlcyBhbHRlcm5hdGl1cywgJWQgY2lsaW5kcmVzIGbDrXNpY3NcbiIKKyN+ICIlZCBzZWN0b3JzIHBlciBjaWxpbmRyZSBhZGRpY2lvbmFscywgZW50cmVsbGHDp2F0ICVkOjFcbiIKKyN+ICIlc1xuIgorI34gIlVuaXRhdHMgPSAlcyBkZSAlZCAqIDUxMiBvY3RldHNcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgbGFiZWwpOiAldSBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiA1MTIgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2MgJXMgKGV0aXF1ZXRhIGRlIGRpc2MgU3VuKTogJWQgY2Fww6dhbHMsICVkIHNlY3RvcnMsICVkIGNpbGluZHJlc1xuIgorI34gIlVuaXRhdHMgPSAlcyBkZSAlZCAqIDUxMiBvY3RldHNcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiUqcyBGbGFnICAgIFN0YXJ0ICAgICAgIEVuZCAgICBCbG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiUqcyBTZW55YWwuICBJbmljaSAgICAgIEZpbmFsICAgQmxvY3MgICBJZCAgU2lzdGVtYVxuIgorCisjfiBtc2dpZCAiJXMgLUFuIGRldmljZVx0IGFjdGl2YXRlIHBhcnRpdGlvbiBuLCBpbmFjdGl2YXRlIHRoZSBvdGhlciBvbmVzXG4iCisjfiBtc2dzdHIgIiVzIC1VbiBwZXJpZsOocmljXHQgYWN0aXZhIGxhIHBhcnRpY2nDsyBuLCBkZXNhY3RpdmEgbGEgcmVzdGFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJEb25lXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJGZXRcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDcmVhdGVkIHBhcnRpdGlvbiAlemRcbiIKKyN+IG1zZ3N0ciAiUydoYSBzZWxlY2Npb25hdCBsYSBwYXJ0aWNpw7MgJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIC11IDxVU0VSPiBDT01NQU5EXG4iCisjfiBtc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbVVNFUiBbYXJnXS4uLl1cbiIKKyN+IG1zZ3N0ciAiZm9ybWEgZCfDunM6ICVzIHByb2dyYW1hIFthcmcgLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNyeXB0IGZhaWxlZDogJW1cbiIKKyN+IG1zZ3N0ciAiKEZpdHhlciBzZWfDvGVudDogJXMpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNhbiBub3QgZm9yazogJW1cbiIKKyN+IG1zZ3N0ciAiJXM6IE5vIHMnaGEgcG9ndXQgYmlmdXJjYXJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYWlsZWQgdG8gb3Blbi9jcmVhdGUgJXM6ICVtXG4iCisjfiBtc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB0byBsb2NrICVzOiAlbVxuIgorI34gbXNnc3RyICJubyBlcyBwb3QgZmVyIHN0YXQgcGVyIGEgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQmFkIG51bWJlcjogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IHZhbG9yIGluY29ycmVjdGVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmaW5kIHVudXNlZCBsb29wIGRldmljZSBmYWlsZWQiCisjfiBtc2dzdHIgIm1vdW50OiBubyBoYSBlc3RhdCBwb3NzaWJsZSBtdW50YXIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyN+IG1zZ2lkICJidWcgaW4geHN0cm5kdXAgY2FsbCIKKyN+IG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBsYSBjcmlkYSB4c3RybmR1cCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjb25uZWN0ICVzIgorI34gbXNnc3RyICJjb25uZXhpw7MgbmZzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlLi4uXVxuIgorI34gbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyN+IG1zZ2lkICJta2ZzICglcylcbiIKKyN+IG1zZ3N0ciAibWtmcyAoJXMpXG4iCisKKyN+IG1zZ2lkICJzdHJ0b2wgZXJyb3I6IG51bWJlciBvZiBibG9ja3Mgbm90IHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiZXJyb3IgYSBzdHJ0b2w6IG5vIHMnaGFuIGVzcGVjaWZpY2F0IGVsIG5vbWJyZSBkZSBibG9jcyIKKworI34gbXNnaWQgIm9uZSBiYWQgcGFnZVxuIgorI34gbXNnc3RyICJ1bmEgcMOgZ2luYSBpbmNvcnJlY3RhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICBvbiB3aG9sZSBkaXNrLiAiCisjfiBtc2dzdHIgIiAgIHMgICBtb3N0cmEgdG90ZXMgbGVzIGV0aXF1ZXRlcyBkZWwgZGlzYyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJkb2VzIG5vdCBzdXBwb3J0IHN3YXBzcGFjZSB2ZXJzaW9uICVkLiIKKyN+IG1zZ3N0ciAiJXM6IGVycm9yOiB2ZXJzacOzIGRlc2NvbmVndWRhICVkXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRUaGVyZSBpcyBhIHZhbGlkIEFJWCBsYWJlbCBvbiB0aGlzIGRpc2suXG4iCisjfiAiXHRVbmZvcnR1bmF0ZWx5IExpbnV4IGNhbm5vdCBoYW5kbGUgdGhlc2VcbiIKKyN+ICJcdGRpc2tzIGF0IHRoZSBtb21lbnQuICBOZXZlcnRoZWxlc3Mgc29tZVxuIgorI34gIlx0YWR2aWNlOlxuIgorI34gIlx0MS4gZmRpc2sgd2lsbCBkZXN0cm95IGl0cyBjb250ZW50cyBvbiB3cml0ZS5cbiIKKyN+ICJcdDIuIEJlIHN1cmUgdGhhdCB0aGlzIGRpc2sgaXMgTk9UIGEgc3RpbGwgdml0YWxcbiIKKyN+ICJcdCAgIHBhcnQgb2YgYSB2b2x1bWUgZ3JvdXAuIChPdGhlcndpc2UgeW91IG1heVxuIgorI34gIlx0ICAgZXJhc2UgdGhlIG90aGVyIGRpc2tzIGFzIHdlbGwsIGlmIHVubWlycm9yZWQuKVxuIgorI34gIlx0My4gQmVmb3JlIGRlbGV0aW5nIHRoaXMgcGh5c2ljYWwgdm9sdW1lIGJlIHN1cmVcbiIKKyN+ICJcdCAgIHRvIHJlbW92ZSB0aGUgZGlzayBsb2dpY2FsbHkgZnJvbSB5b3VyIEFJWFxuIgorI34gIlx0ICAgbWFjaGluZS4gIChPdGhlcndpc2UgeW91IGJlY29tZSBhbiBBSVhwZXJ0KS4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJcdEVuIGFxdWVzdCBkaXNjIHRlbml1IHVuYSBldGlxdWV0YSBBSVggdsOgbGlkYS5cbiIKKyN+ICJcdEFjdHVhbG1lbnQgTGludXggbm8gcG90IGdlc3Rpb25hciBhcXVlc3RzIGRpc2NzLlxuIgorI34gIlx0VG90IGkgYWl4w7IsIHRpbmd1ZXUgZW4gY29tcHRlIGFsZ3VucyBjb25zZWxsczpcbiIKKyN+ICJcdDEuIGZkaXNrIGVuIGRlc3RydWlyw6AgZWwgY29udGluZ3V0IGVuIGVzY3JpdXJlLlxuIgorI34gIlx0Mi4gQ29tcHJvdmV1IHF1ZSBhcXVlc3QgZGlzYyBubyBzaWd1aSB1bmEgcGFydCB2aXRhbFxuIgorI34gIlx0ICAgZCd1biBncnVwIGRlIHZvbHVtcy4gKEVuIGNhcyBjb250cmFyaSBwb2Ryw61ldVxuIgorI34gIlx0ICAgZXNib3JyYXIgZWxzIGFsdHJlcyBkaXNjcywgc2kgbm8gZXN0YW4gZHVwbGljYXRzLilcbiIKKyN+ICJcdDMuIEFiYW5zIGQnZXNib3JyYXIgYXF1ZXN0IHZvbHVtIGbDrXNpYywgZXNib3JyZXVcbiIKKyN+ICJcdCAgIGVsIGRpc2MgbMOyZ2ljYW1lbnQgZGUgbGEgbcOgcXVpbmEgQUlYLlxuIgorI34gIlx0ICAgKE8gY29udmVydGl1LXZvcyBlbiB1biBBSVhwZXJ0KS4iCisKKyN+IG1zZ2lkICIiCisjfiAiXHRTb3JyeSAtIHRoaXMgZmRpc2sgY2Fubm90IGhhbmRsZSBBSVggZGlzayBsYWJlbHMuXG4iCisjfiAiXHRJZiB5b3Ugd2FudCB0byBhZGQgRE9TLXR5cGUgcGFydGl0aW9ucywgY3JlYXRlXG4iCisjfiAiXHRhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIGZpcnN0LiAoVXNlIG8uKVxuIgorI34gIlx0V0FSTklORzogVGhpcyB3aWxsIGRlc3Ryb3kgdGhlIHByZXNlbnQgZGlzayBjb250ZW50cy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlx0QXF1ZXN0IGZkaXNrIG5vIHBvdCBnZXN0aW9uYXIgZXRpcXVldGVzIGRlIGRpc2MgQUlYLlxuIgorI34gIlx0U2kgZGVzaXRnZXUgYWZlZ2lyIHBhcnRpY2lvbnMgRE9TLCBjcmVldSB1bmEgbm92YSB0YXVsYSBkZVxuIgorI34gIlx0IHBhcnRpY2lvbnMgRE9TIChVc2V1IG8pLlxuIgorI34gIlx0QXbDrXM6IEFpeMOyIGRlc3RydWlyw6AgZWwgY29udGluZ3V0IGFjdHVhbCBkZWwgZGlzYy5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJCU0QgbGFiZWwgZm9yIGRldmljZTogJXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkV0aXF1ZXRhIEJTRCBwZXIgYWwgZGlzcG9zaXRpdTogJXNcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlZCBoYXMgZW1wdHkgdHlwZVxuIgorI34gbXNnc3RyICJBdsOtczogbGEgcGFydGljacOzICVkIG5vIHTDqSB0aXB1c1xuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVpIGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiTGEgcGFydGljacOzICVpIG5vIGFjYWJhIGVuIHVuIGzDrW1pdCBkZSBjaWxpbmRyZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJOb3RlOiBzZWN0b3Igc2l6ZSBpcyAlbGQgKG5vdCAlZClcbiIKKyN+IG1zZ3N0ciAiTm90YTogbGEgbWlkYSBkZWwgc2VjdG9yIMOpcyAlZCAobm8gJWQpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNlIHRoZSAtLWZvcmNlIGZsYWcgdG8gb3ZlcnJ1bGUgdGhpcyBjaGVjay5cbiIKKyN+IG1zZ3N0ciAiVXNldSBlbCBzZW55YWxhZG9yIC0tZm9yY2UgcGVyIGEgb2J2aWFyIHRvdGVzIGxlcyBjb21wcm92YWNpb25zLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImV4ZWMgJXMgZmFpbGVkIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGV4ZWNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZXhlYyBmYWlsZWQiCisjfiBtc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUSU9DU0NUVFk6IGlvY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAiVElPQ1NDVFRZIGhhIGZhbGxhdDogJW0iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWytmb3JtYXRdIFtkYXkgbW9udGggeWVhcl1cbiIKKyN+IG1zZ3N0ciAiZm9ybWEgZCfDunM6ICVzIFsrZm9ybWF0XSBbZGlhIG1lcyBhbnldXG4iCisKKyN+IG1zZ2lkICJTdC4gVGliJ3MgRGF5IgorI34gbXNnc3RyICJEaWEgZGUgU2FudCBUaWJiIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLXMgc2lnbmFsIHwgLXAgXSBbIC1hIF0gcGlkIC4uLlxuIgorI34gbXNnc3RyICJmb3JtYSBkJ8O6czogJXMgWyAtcyBzZW55YWwgfCAtcCBdIFsgLWEgXSBwaWQgLi4uXG4iCisKKyN+IG1zZ2lkICIgICAgICAgJXMgLWwgWyBzaWduYWwgXVxuIgorI34gbXNnc3RyICIgICAgICAgJXMgLWwgWyBzZW55YWwgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgcG9ydCBudW1iZXIgYXJndW1lbnQiCisjfiBtc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKKyN+IG1zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjb3VsZG4ndCBsb2NrIGludG8gbWVtb3J5IgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGJsb2NhciBlbiBtZW3DsnJpYSwgcydlc3TDoCBzb3J0aW50LlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGFyZ3VtZW50IHRvIC1wIG9yIC0tcGFzcy1mZCBtdXN0IGJlIGEgbnVtYmVyIgorI34gbXNnc3RyICJtb3VudDogbCdhcmd1bWVudCBhIC1wIG8gLS1wYXNzLWZkIGhhIGRlIHNlciB1biBub21icmUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXhlY3V0aW5nICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCBleGVjdXRhciBleGVjXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZWplY3Q6IGNhbm5vdCBzZXQgdXNlciBpZCIKKyN+IG1zZ3N0ciAibW91bnQgOiBubyBzJ2hhIHBvZ3V0IGVzdGFibGlyIGxhIHZlbG9jaXRhdCBkZTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmc2ZyZWV6ZSg4KS5cbiIKKyN+IG1zZ3N0ciAiUydoYSBjYW52aWF0IGxhIGluZm9ybWFjacOzIGRlbCBmaW5nZXIuXG4iCisKKyN+IG1zZ2lkICJtYXggc2VnIHNpemUgKGtieXRlcykgPSAlbHVcbiIKKyN+IG1zZ3N0ciAibWlkYSBtw6B4LiBkZWwgc2VnbWVudCAoa2J5dGVzKSA9ICVsdVxuIgorCisjfiBtc2dpZCAibWluIHNlZyBzaXplIChieXRlcykgPSAlbHVcbiIKKyN+IG1zZ3N0ciAibWlkYSBtw61uLiBzZWdtZW50IChvY3RldHMpID0gJWx1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2htY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCBmZXIgZnN5bmMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibXNnY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCBmZXIgZnN5bmMiCisKKyN+IG1zZ2lkICJjYnl0ZXM9JWxkXHRxYnl0ZXM9JWxkXHRxbnVtPSVsZFx0bHNwaWQ9JWRcdGxycGlkPSVkXG4iCisjfiBtc2dzdHIgImNvY3RldHM9JWxkXHRxb2N0ZXRzPSVsZFx0cW7DuW09JWxkXHRsc3BpZD0lZFx0bHJwaWQ9JWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZW1jdGwgZmFpbGVkIgorI34gbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgZmFpbGVkIHRvIHVzZSBkZXZpY2UiCisjfiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgcmVib2JpbmFyIGVsIGRpc3Bvc2l0aXUgZCdpbnRlcmNhbnZpIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvdWxkbid0IGxvY2sgaW50byBtZW1vcnkiCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgYmxvY2FyIGVuIG1lbcOycmlhLCBzJ2VzdMOgIHNvcnRpbnQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSAocHJvYmFibHkgdW5rbm93biBlbmNyeXB0aW9uIHR5cGUpIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHJlYm9iaW5hciBlbCBkaXNwb3NpdGl1IGQnaW50ZXJjYW52aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZW5pY2UgZnJvbSAlc1xuIgorI34gbXNnc3RyICIlcyBkZSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBleGVjdXRlICVzIgorI34gbXNnc3RyICJubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBpb2N0bCgpIHBlciBsbGVnaXIgbCdob3JhIGRlICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImV4ZWN2cCBmYWlsZWQiCisjfiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgZXhlY1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImV4ZWN2IGZhaWxlZCIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCBleGVjdXRhciBleGVjXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJS0xNXMlcyBbdmVyc2lvbiAleF1cbiIKKyN+IG1zZ3N0ciAiJXMgdmVyc2nDsyAlc1xuIgorCisjfiBtc2dpZCAidXNlcnMiCisjfiBtc2dzdHIgInVzdWFyaXMiCisKKyN+IG1zZ2lkICJ0b28gbWFueSBpb3YncyAoY2hhbmdlIGNvZGUgaW4gd2FsbC90dHltc2cuYykiCisjfiBtc2dzdHIgIm1hc3NhIGlvdiAobW9kaWZpcXVldSBlbCBjb2RpIGEgd2FsbC90dHltc2cuYykiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZXJyb3IuIgorI34gbXNnc3RyICJjb2w6IGVycm9yIGQnZXNjcmlwdHVyYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGNvbHVtbigxKS5cbiIKKyN+IG1zZ3N0ciAiUydoYSBjYW52aWF0IGxhIGluZm9ybWFjacOzIGRlbCBmaW5nZXIuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW9yZSAoJXMpXG4iCisjfiBtc2dzdHIgIm1rZnMgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzdGF0IGZpbGUgJXMiCisjfiBtc2dzdHIgIm5vIGVzIHBvdCBmZXIgXCJzdGF0XCIgYWwgZGlzcG9zaXRpdSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjb3VsZG4ndCBvcGVuICVzIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9icmlyICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gJXMiCisjfiBtc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjfiBtc2dpZCAiY2Fubm90IHN0YXQgZGV2aWNlICVzIgorI34gbXNnc3RyICJubyBlcyBwb3QgZmVyIFwic3RhdFwiIGFsIGRpc3Bvc2l0aXUgJXMiCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiBmaWxlICclcyciCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2JyaXIgZWwgZml0eGVyICclcyciCisKKyMgTk8gbm9tw6lzIGVzIHZhIGZlciB1bmEgdHJhZHVjY2nDsyBhIHBhcnRpciBkZSBsYSB2ZXJzacOzCisjIGVzcGFueW9sYSwgc2luw7MgcXVlIGEgbcOpcyBhIG3DqXMgZXMgdmEgZmVyIG1hbGFtZW50LgorI34gbXNnaWQgIiIKKyN+ICJUaGlzIGRpc2sgaGFzIGJvdGggRE9TIGFuZCBCU0QgbWFnaWMuXG4iCisjfiAiR2l2ZSB0aGUgJ2InIGNvbW1hbmQgdG8gZ28gdG8gQlNEIG1vZGUuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJBcXVlc3QgZGlzYyB0w6kgdGFuIG3DoGdpYSBET1MgY29tIEJTRC5cbiIKKyN+ICJFbXByZXUgbCdvcmRyZSDCq2LCuyBwZXIgYW5hciBhbCBtb2RlIEJTRC5cbiIKKworI34gbXNnaWQgInVuYWJsZSB0byBvcGVuICVzIgorI34gbXNnc3RyICJubyBlcyBwb3Qgb2JyaXIgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6IGNhbm5vdCBvcGVuICVzIgorI34gbXNnc3RyICIlczogbm8gZXMgcG90IG9icmlyICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMgZm9yIHJlYWRpbmcsIGV4aXRpbmcuIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG9icmlyICVzIHBlciBhIGxlY3R1cmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNhbm5vdCBvcGVuIC9kZXYvcG9ydCIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBvYnJpciAvZGV2L3BvcnQ6ICVzIgorCisjfiBtc2dpZCAib3BlbigpIG9mICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBleGVjdXRhciBvcGVuKCkgZGUgJXMiCisKKyN+IG1zZ2lkICJPcGVuIG9mICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpciAlcyIKKworI34gbXNnaWQgIlVuYWJsZSB0byBvcGVuICVzIgorI34gbXNnc3RyICJObyBlcyBwb3Qgb2JyaXIgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHNvdXJjZSBidWZmZXIiCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbGEgbWVtw7JyaWEgdGVtcG9yYWwuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgZGlyZWN0b3J5IgorI34gbXNnc3RyICJubyBlcyBwb3QgZmVyIHN0YXQgcGVyIGEgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgZGlyZWN0b3J5ICVzIgorI34gbXNnc3RyICJubyBlcyBwb3QgZmVyIHN0YXQgcGVyIGEgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gdGltaW5nIGZpbGUgJXMiCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2JyaXIgZWwgZml0eGVyICclcyciCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiAiCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2JyaXIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gXCIlc1wiIGZvciByZWFkIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9icmlyIMKrJXPCuyBwZXIgYSBsZWN0dXJhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHN0YXQgXCIlc1wiIgorI34gbXNnc3RyICJubyBlcyBwb3QgZmVyIFwic3RhdFwiIGFsIGRpc3Bvc2l0aXUgJXMiCisKKyN+IG1zZ2lkICIiCisjfiAidXNhZ2U6ICVzIFstaHZdIFsteCBkaXJdIGZpbGVcbiIKKyN+ICIgLWggICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyN+ICIgLXggZGlyICAgICBleHRyYWN0IGludG8gZGlyXG4iCisjfiAiIC12ICAgICAgICAgYmUgbW9yZSB2ZXJib3NlXG4iCisjfiAiIGZpbGUgICAgICAgZmlsZSB0byB0ZXN0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJmb3JtYSBkJ8O6czogJXMgWy1odl0gWy14IGRpcl0gZml0eGVyXG4iCisjfiAiIC1oICAgICAgICAgbW9zdHJhIGFxdWVzdGEgYWp1ZGFcbiIKKyN+ICIgLXggZGlyICAgICBleHRyZXUgZGlucyBkZWwgZGlyZWN0b3JpIGRpclxuIgorI34gIiAtdiAgICAgICAgIG1vc3RyYSBtw6lzIG1pc3NhdGdlc1xuIgorI34gIiBmaXR4ZXIgICAgIGZpdHhlciBhIGNvbXByb3ZhclxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstbGFydnNtZl0gL2Rldi9uYW1lXG4iCisjfiBtc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbLWxhcnZzbWZdIC9kZXYvbm9tXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGJsb2Nrc2l6ZSBhcmd1bWVudCIKKyN+IG1zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6IHdpbGwgbm90IHRyeSB0byBtYWtlIHN3YXBkZXZpY2Ugb24gJyVzJyIKKyN+IG1zZ3N0ciAiTm8gcydpbnRlbnRhcsOgIGNyZWFyIGNhcCBkaXNwb3NpdGl1IGQnaW50ZXJjYW52aSBhICclcyciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyAoJXMpXG4iCisjfiBtc2dzdHIgIm5vIGVzIHBvdCBmZXIgXCJzdGF0XCIgYWwgZGlzcG9zaXRpdSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHN3YXBsYWJlbCg4KS5cbiIKKyN+IG1zZ3N0ciAiUydoYSBjYW52aWF0IGxhIGluZm9ybWFjacOzIGRlbCBmaW5nZXIuXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWkgZG9lcyBub3Qgc3RhcnQgb24gY3lsaW5kZXIgYm91bmRhcnk6XG4iCisjfiBtc2dzdHIgIkxhIHBhcnRpY2nDsyAlaSBubyBjb21lbsOnYSBlbiBlbCBsw61taXQgZGVsIGNpbGluZHJlOlxuIgorCisjfiBtc2dpZCAic2hvdWxkIGJlICglZCwgJWQsIDEpXG4iCisjfiBtc2dzdHIgImhhIGRlIHNlciAoJWQsICVkLCAxKVxuIgorCisjfiBtc2dpZCAic2hvdWxkIGJlICglZCwgJWQsICVkKVxuIgorI34gbXNnc3RyICJoYSBkZSBzZXIgKCVkLCAlZCwgJWQpXG4iCisKKyN+IG1zZ2lkICJUaGlzIGtlcm5lbCBmaW5kcyB0aGUgc2VjdG9yIHNpemUgaXRzZWxmIC0gLWIgb3B0aW9uIGlnbm9yZWRcbiIKKyN+IG1zZ3N0ciAiQXF1ZXN0IG51Y2xpIHRyb2JhIGxhIG1pZGEgZGVsIHNlY3RvciBhdXRvbcOgdGlhbWVudDsgcydpZ25vcmFyw6AgbCdvcGNpw7MgLWJcbiIKKworI34gbXNnaWQgIm91dCBvZiBtZW1vcnk/XG4iCisjfiBtc2dzdHIgInMnaGEgZXNnb3RhdCBsYSBtZW3DsnJpYT9cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJzZmRpc2s6IHByZW1hdHVyZSBlbmQgb2YgaW5wdXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gInNmZGlzazogZmluYWwgcHJlbWF0dXIgZGUgbCdlbnRyYWRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV0FSTklORzogY291bGRuJ3Qgb3BlbiAlcyIKKyN+IG1zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgb2JyaXIgJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVwb2NoIgorI34gbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiWW91IGhhdmUgc3BlY2lmaWVkIG11bHRpcGxlIGZ1bmN0aW9ucy5cbiIKKyN+ICJZb3UgY2FuIG9ubHkgcGVyZm9ybSBvbmUgZnVuY3Rpb24gYXQgYSB0aW1lLiIKKyN+IG1zZ3N0ciAiIgorI34gIkhldSBlc3BlY2lmaWNhdCBtw7psdGlwbGVzIGZ1bmNpb25zLlxuIgorI34gIk5vbcOpcyBwb2RldSBmZXItbmUgdW5hIGEgbGEgdmVnYWRhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSAtLXV0YyBhbmQgLS1sb2NhbHRpbWUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiAgWW91IHNwZWNpZmllZCBib3RoLiIKKyN+IG1zZ3N0ciAiJXM6IExlcyBvcGNpb25zIC0tdXRjIGkgLS1sb2NhbHRpbWUgcydleGNsb3VlbiBtw7p0dWFtZW50LiBMZXMgaGV1IGVzcGVjaWZpY2F0IHRvdGVzIGR1ZXMuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIC0tYWRqdXN0IGFuZCAtLW5vYWRqZmlsZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuICBZb3Ugc3BlY2lmaWVkIGJvdGguIgorI34gbXNnc3RyICIlczogTGVzIG9wY2lvbnMgLS1hZGp1c3QgaSAtLW5vYWRqZmlsZSBzJ2V4Y2xvdWVuIG3DunR1YW1lbnQuIExlcyBoZXUgZXNwZWNpZmljYXQgdG90ZXMgZHVlcy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgLS1hZGpmaWxlIGFuZCAtLW5vYWRqZmlsZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuICBZb3Ugc3BlY2lmaWVkIGJvdGguIgorI34gbXNnc3RyICIlczogTGVzIG9wY2lvbnMgLS1hZGp1c3QgaSAtLW5vYWRqZmlsZSBzJ2V4Y2xvdWVuIG3DunR1YW1lbnQuIExlcyBoZXUgZXNwZWNpZmljYXQgdG90ZXMgZHVlcy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgbG9jayBncm91cCBmaWxlIgorI34gbXNnc3RyICJtb3VudCA6IG5vIHMnaGEgcG9ndXQgZXN0YWJsaXIgbGEgdmVsb2NpdGF0IGRlOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0aGUgJXMgZmlsZSBpcyBidXN5ICglcyBwcmVzZW50KSIKKyN+IG1zZ3N0ciAiJXM6IGVsIGZpdHhlciAlcyBlc3TDoCBvY3VwYXQgKHByZXNlbnRhICVzKS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZpbmRtbnQoMSkuXG4iCisjfiBtc2dzdHIgIlMnaGEgY2FudmlhdCBsYSBpbmZvcm1hY2nDsyBkZWwgZmluZ2VyLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaWd2YWwiCisjfiBtc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBvcnQgYCVsZCcgb3V0IG9mIHJhbmdlIgorI34gbXNnc3RyICJFbCB2YWxvciBlc3TDoCBmb3JhIGRlbCByYW5nLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbHNibGsoOCkuXG4iCisjfiBtc2dzdHIgIlMnaGEgY2FudmlhdCBsYSBpbmZvcm1hY2nDsyBkZWwgZmluZ2VyLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICJWYWxvciBlc3RhYmxlcnQgaW52w6BsaWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2FybmluZzogZmFpbGVkIHRvIHJlYWQgbXRhYiIKKyN+IG1zZ3N0ciAibm8gZXMgcG90IGZlciBzdGF0IHBlciBhICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjbGFzcyBkYXRhIgorI34gbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY2xhc3MiCisjfiBtc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBidWZmZXIgc2l6ZSIKKyN+IG1zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmc3RyaW0oOCkuXG4iCisjfiBtc2dzdHIgIlMnaGEgY2FudmlhdCBsYSBpbmZvcm1hY2nDsyBkZWwgZmluZ2VyLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgc3BlZWQiCisjfiBtc2dzdHIgImlkIGludsOgbGlkIDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIG9mZnNldCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiVmFsb3IgZXN0YWJsZXJ0IGludsOgbGlkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgc2l6ZSAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiVmFsb3IgZXN0YWJsZXJ0IGludsOgbGlkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbW91bnRwb2ludCgxKS5cbiIKKyN+IG1zZ3N0ciAiUydoYSBjYW52aWF0IGxhIGluZm9ybWFjacOzIGRlbCBmaW5nZXIuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIFBJRCIKKyN+IG1zZ3N0ciAiJXMgbm8gZXMgcG90IG9icmlyIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzZWNvbmRzIHZhbHVlIgorI34gbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZV90IHZhbHVlIgorI34gbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGxzYmxrKDEpLlxuIgorI34gbXNnc3RyICJTJ2hhIGNhbnZpYXQgbGEgaW5mb3JtYWNpw7MgZGVsIGZpbmdlci5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJhcmd1bWVudCAlbHUgaXMgdG9vIGxhcmdlIgorI34gbXNnc3RyICJhcmd1bWVudCAtLWRhdGUgbWFzc2EgbGxhcmdcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0ZXJtaW5hbCBlbnZpcm9ubWVudCBDT0xVTU5TIGZhaWxlZCIKKyN+IG1zZ3N0ciAic2Vtw6Bmb3JzIGFzc2lnbmF0cyA9ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIGxlbmd0aCB2YWx1ZSIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogdmFsb3IgZGUgbGEgbG9uZ2l0dWQgaW5jb3JyZWN0ZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJiYWQgc2tpcCB2YWx1ZSIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogdmFsb3IgZGVsIHNhbHQgaW5jb3JyZWN0ZS5cbiIKKworI34gbXNnaWQgIiVzOiBVc2FnZTogJXMgWy1udW1iZXJdIFstcCBzdHJpbmddIFstY2VmbnJzXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCisjfiBtc2dzdHIgIiVzOiBGb3JtYSBkJ8O6czogJXMgWy1uw7ptZXJvXSBbLXAgY2FkZW5hXSBbLWNlZm5yc10gWytsw61uaWFdIFsrL3BhdHLDsy9dIFtmaXR4ZXJzXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiAlZDogcGFyc2UgZXJyb3IgLS0gbGluZSBpZ25vcmVkLlxuIgorI34gbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNlcmNhciIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiBmYWlsZWQgdG8gcGFyc2UgJXMiCisjfiBtc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUtMjVzOiBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYmlmdXJjYXJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlLTI1czogZmFpbGVkXG4iCisjfiBtc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworI34gbXNnaWQgIiAgIGQgICBkZWxldGUgYSBCU0QgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICBkICAgZXNib3JyYSB1bmEgcGFydGljacOzIEJTRCIKKworI34gbXNnaWQgIiAgIG4gICBhZGQgYSBuZXcgQlNEIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgbiAgIGFmZWdlaXggdW5hIG5vdmEgcGFydGljacOzIEJTRCIKKworI34gbXNnaWQgIiAgIHQgICBjaGFuZ2UgYSBwYXJ0aXRpb24ncyBmaWxlc3lzdGVtIGlkIgorI34gbXNnc3RyICIgICB0ICAgY2FudmlhIGwnaWRlbnRpZmljYWRvciBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzIGQndW5hIHBhcnRpY2nDsyIKKworI34gbXNnaWQgIiAgIHUgICBjaGFuZ2UgdW5pdHMgKGN5bGluZGVycy9zZWN0b3JzKSIKKyN+IG1zZ3N0ciAiICAgdSAgIGNhbnZpYSBsZXMgdW5pdGF0cyAoY2lsaW5kcmVzL3NlY3RvcnMpIgorCisjfiBtc2dpZCAiICAgcCAgIHByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIiAgIHAgICBpbXByaW1laXggbGEgdGF1bGEgZGUgcGFydGljaW9ucyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiQnVpbGRpbmcgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguXG4iCisjfiAiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorI34gIkFmdGVyIHRoYXQsIG9mIGNvdXJzZSwgdGhlIHByZXZpb3VzIGNvbnRlbnQgd29uJ3QgYmUgcmVjb3ZlcmFibGUuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJTJ2VzdMOgIGNyZWFudCB1bmEgZXRpcXVldGEgZGUgZGlzYyBET1Mgbm92YS4gRWxzIGNhbnZpcyBub23DqXNcbiIKKyN+ICJyb21hbmRyYW4gYSBsYSBtZW3DsnJpYSBmaW5zIHF1ZSBkZWNpZGl1IGVzY3JpdXJlJ2xzLiBEZXNwcsOpc1xuIgorI34gImQnYXF1ZXN0YSBvcGVyYWNpw7MsIGwnYW50ZXJpb3IgY29udGluZ3V0IG5vIGVzIHBvZHLDoCByZWN1cGVyYXIuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJEZXZpY2UgY29udGFpbnMgbmVpdGhlciBhIHZhbGlkIERPUyBwYXJ0aXRpb24gdGFibGUsIG5vciBTdW4sIFNHSSBvciBPU0YgZGlza2xhYmVsXG4iCisjfiBtc2dzdHIgIkVsIGRpc3Bvc2l0aXUgbm8gY29udMOpIG5pIHRhdWxhIGRlIHBhcnRpY2lvbnMgRE9TIHbDoGxpZGEsIG5pIGNhcCBldGlxdWV0YSBkZSBkaXNjIFN1biwgU0dJIG8gT1NGXG4iCisKKyN+IG1zZ2lkICJJbnRlcm5hbCBlcnJvclxuIgorI34gbXNnc3RyICJFcnJvciBpbnRlcm5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJcdFNvcnJ5LCBubyBleHBlcnRzIG1lbnUgZm9yIFNHSSBwYXJ0aXRpb24gdGFibGVzIGF2YWlsYWJsZS5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0Tm8gaGkgaGEgbWVuw7ogZCd1c3VhcmkgZXhwZXJ0IHBlciBhIGxlcyB0YXVsZXMgZGUgcGFydGljaW9ucyBTR0kuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJEbyBZb3Uga25vdywgWW91IGdvdCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrP1xuIgorI34gbXNnc3RyICJKYSBzYWJldSBxdWUgaGkgaGEgdW4gZW5jYXZhbGNhbWVudCBkZSBwYXJ0aWNpb25zIGFsIGRpc2M/XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiQnVpbGRpbmcgYSBuZXcgU0dJIGRpc2tsYWJlbC4gQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSxcbiIKKyN+ICJ1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uIEFmdGVyIHRoYXQsIG9mIGNvdXJzZSwgdGhlIHByZXZpb3VzXG4iCisjfiAiY29udGVudCB3aWxsIGJlIHVucmVjb3ZlcmFibHkgbG9zdC5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlMnZXN0w6AgY29uc3RydWludCB1bmEgbm92YSBldGlxdWV0YSBkZSBkaXNjIFNHSS4gRWxzIGNhbnZpcyBub23DqXMgcm9tYW5kcmFuXG4iCisjfiAiYSBsYSBtZW3DsnJpYSBmaW5zIHF1ZSBkZWNpZGl1IGVzY3JpdXJlJ2xzLiBEZXNwcsOpcyBkJ2FpeMOyLCBubyBlcyBwb2Ryw6BcbiIKKyN+ICJyZWN1cGVyYXIgbCdhbnRlcmlvciBjb250aW5ndXQuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5IC0gZ2l2aW5nIHVwXG4iCisjfiBtc2dzdHIgInMnaGEgZXNnb3RhdCBsYSBtZW3DsnJpYSAtIHMnZXN0w6AgYWJhbmRvbmFudFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbW91bnQoOCkuXG4iCisjfiBtc2dzdHIgIlMnaGEgY2FudmlhdCBsYSBpbmZvcm1hY2nDsyBkZWwgZmluZ2VyLlxuIgorCisjfiBtc2dpZCAibG9naW46IG1lbW9yeSBsb3csIGxvZ2luIG1heSBmYWlsXG4iCisjfiBtc2dzdHIgImxvZ2luOiBwb2NhIG1lbcOycmlhOyBsJ2FjY8OpcyBwb2RyaWEgZmFsbGFyXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgZm9yIHR0eWNsYXNzIgorI34gbXNnc3RyICJubyBlcyBwb3QgZXhlY3V0YXIgbWFsbG9jKCkgcGVyIGEgdHR5Y2xhc3MiCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgZm9yIGdycGxpc3QiCisjfiBtc2dzdHIgIm5vIGVzIHBvdCBleGVjdXRhciBtYWxsb2MgcGVyIGEgZ3JwbGlzdCIKKworI34gbXNnaWQgIkxvZ2luIG9uICVzIGZyb20gJXMgZGVuaWVkLlxuIgorI34gbXNnc3RyICJTJ2hhIGRlbmVnYXQgbCdhY2PDqXMgYSAlcyBkZXMgZGUgJXMuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWyAtZiBmdWxsLW5hbWUgXSBbIC1vIG9mZmljZSBdICIKKyN+IG1zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFsgLWYgbm9tX2NvbXBsZXQgXSBbIC1vIG9maWNpbmEgXSAiCisKKyN+IG1zZ2lkICJbIC0taGVscCBdIFsgLS12ZXJzaW9uIF1cbiIKKyN+IG1zZ3N0ciAiWyAtLWhlbHAgXSBbIC0tdmVyc2lvbiBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IFBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCisjfiBtc2dzdHIgImxvZ2luOiBQQU0gaGEgZmFsbGF0OyBzJ2VzdMOgIGF2b3J0YW50OiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJTEkcyBbLXMgc2hlbGxdIFt1c2VybmFtZV1cbiIKKyN+ICIgICBvcjogJTEkcyAoLS1saXN0LXNoZWxscyB8IC0taGVscCB8IC0tdmVyc2lvbilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkZvcm1hIGQnw7pzOiAlcyBbIC1zIGludMOocnByZXRfZCdvcmRyZXMgXSBbIC0tbGlzdC1zaGVsbHMgXSBbIC0taGVscCBdIFsgLS12ZXJzaW9uIF1cbiIKKyN+ICJcdFsgbm9tX3VzdWFyaSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzLiIKKyN+IG1zZ3N0ciAiJXM6IG5vbcOpcyBlcyBwb2RlbiBtb2RpZmljYXIgZW50cmFkZXMgbG9jYWxzOyB1c2V1IHlwJXMuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNhbid0IHNldCBkZWZhdWx0IGNvbnRleHQgZm9yIC9ldGMvcGFzc3dkIgorI34gbXNnc3RyICIlczogTm8gcydoYSBwb2d1dCBlc3RhYmxpciBlbCBjb250ZXh0IHBlciBkZWZlY3RlIHBlciBhIC9ldGMvcGFzc3dkIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNldHB3bmFtIGZhaWxlZCIKKyN+IG1zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBVc2UgLWwgb3B0aW9uIHRvIHNlZSBsaXN0LlxuIgorI34gbXNnc3RyICIlczogdXNldSBsJ29wY2nDsyAtbCBwZXIgdmV1cmUnbiBsYSBsbGlzdGFcbiIKKworI34gbXNnaWQgInVzYWdlOiBsb2dpbiBbLWZwXSBbdXNlcm5hbWVdXG4iCisjfiBtc2dzdHIgImZvcm1hIGQnw7pzOiBsb2dpbiBbLWZwXSBbbm9tX3VzdWFyaV1cbiIKKworI34gbXNnaWQgIm91dCBvZiBtZW1vcnkiCisjfiBtc2dzdHIgIm5vIGhpIGhhIHByb3UgbWVtw7JyaWEiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIHVzZXJuYW1lIgorI34gbXNnc3RyICJOb20gZCd1c3VhcmkgaWzCt2xlZ2FsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIGxvZ2luIHJlZnVzZWQgb24gdGhpcyB0ZXJtaW5hbC4iCisjfiBtc2dzdHIgIlMnaGEgcmVmdXNhdCBsJ2VudHJhZGEgZGUgJXMgZW4gYXF1ZXN0IHRlcm1pbmFsLlxuIgorCisjfiBtc2dpZCAiTE9HSU4gJXMgUkVGVVNFRCBGUk9NICVzIE9OIFRUWSAlcyIKKyN+IG1zZ3N0ciAiUydIQSBSRUZVU0FUIEwnRU5UUkFEQSBERSAlcyBERVMgREUgJXMgQSBMQSBUVFkgJXMiCisKKyN+IG1zZ2lkICJMT0dJTiAlcyBSRUZVU0VEIE9OIFRUWSAlcyIKKyN+IG1zZ3N0ciAiUydIQSBSRUZVU0FUIEwnRU5UUkFEQSBERSAlcyBBIExBIFRUWSAlcyIKKworI34gbXNnaWQgIkxvZ2luIGluY29ycmVjdFxuIgorI34gbXNnc3RyICJFbnRyYWRhIGluY29ycmVjdGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjaGFuZ2UgdGVybWluYWwgb3duZXIgZmFpbGVkIgorI34gbXNnc3RyICJzZW3DoGZvcnMgYXNzaWduYXRzID0gJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsdXJlIGZvcmtpbmciCisjfiBtc2dzdHIgImxvZ2luOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGJpZnVyY2FyOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICIlcyBsb2dpbjogIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRW50cmFkYSBhICVzOiAiCisKKyN+IG1zZ2lkICJOQU1FIHRvbyBsb25nIgorI34gbXNnc3RyICJOT00gw6lzIG1hc3NhIGxsYXJnIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxvZ2luIG5hbWUgbXVjaCB0b28gbG9uZy4iCisjfiBtc2dzdHIgImVsIG5vbSBkJ2VudHJhZGEgw6lzIG1hc3NhIGxsYXJnLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxvZ2luIG5hbWVzIG1heSBub3Qgc3RhcnQgd2l0aCAnLScuIgorI34gbXNnc3RyICJlbHMgbm9tcyBkJ2VudHJhZGEgbm8gcG9kZW4gY29tZW7Dp2FyIHBlciDCqy3Cuy5cbiIKKworI34gbXNnaWQgIkVYQ0VTU0lWRSBsaW5lZmVlZHMiCisjfiBtc2dzdHIgIk1BU1NBIHNhbHRzIGRlIHDDoGdpbmEiCisKKyMgRklYTUUKKyMsIGZ1enp5CisjfiBtc2dpZCAidG9vIG1hbnkgYmFyZSBsaW5lZmVlZHMuIgorI34gbXNnc3RyICJtYXNzYSBzYWx0cyBkZSBww6BnaW5hIHNvbGl0YXJpcy5cbiIKKworI34gbXNnaWQgIkxPR0lOIEZBSUxVUkUgRlJPTSAlcywgJXMiCisjfiBtc2dzdHIgIkhBIEZBTExBVCBMJ0VOVFJBREEgREUgJXMsICVzIgorCisjfiBtc2dpZCAiTE9HSU4gRkFJTFVSRSBPTiAlcywgJXMiCisjfiBtc2dzdHIgIkhBIEZBTExBVCBMJ0VOVFJBREEgQSAlcywgJXMiCisKKyN+IG1zZ2lkICIlZCBMT0dJTiBGQUlMVVJFUyBGUk9NICVzLCAlcyIKKyN+IG1zZ3N0ciAiSEEgRkFMTEFUICVkIFZFR0FERVMgTCdFTlRSQURBIERFUyBERSAlcywgJXMiCisKKyN+IG1zZ2lkICIlZCBMT0dJTiBGQUlMVVJFUyBPTiAlcywgJXMiCisjfiBtc2dzdHIgIkhBIEZBTExBVCAlZCBWRUdBREVTIEwnRU5UUkFEQSBBICVzLCAlcyIKKworI34gbXNnaWQgIiVzOiB0aGUgZ3JvdXAgZmlsZSBpcyBidXN5LlxuIgorI34gbXNnc3RyICIlczogZWwgZml0eGVyIGdyb3VwIGVzdMOgIG9jdXBhdC5cbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCB1bmxvY2sgJXM6ICVzICh5b3VyIGNoYW5nZXMgYXJlIHN0aWxsIGluICVzKVxuIgorI34gbXNnc3RyICIlczogbm8gcydoYSBwb2d1dCBkZXNibG9jYXIgJXM6ICVzIChlbHMgY2FudmlzIGVuY2FyYSBlc3RhbiBhICVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgImwnYXNzaWduYWNpw7MgZGUgbWVtw7JyaWEgKG1hbGxvYykgaGEgZmFsbGF0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIldBUk5JTkc6ICVzOiBhcHBlYXJzIHRvIGNvbnRhaW4gJyVzJyBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIkVsIGRpc2MgJXMgbm8gY29udMOpIHVuYSB0YXVsYSBkZSBwYXJ0aWNpb25zIHbDoGxpZGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogd3JpdGUgZmFpbGVkIgorI34gbXNnc3RyICJubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBvcGVucHR5XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IC9kZXYgZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0LiIKKyN+IG1zZ3N0ciAiJXM6IGwndXN1YXJpIFwiJXNcIiBubyBleGlzdGVpeC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBzZXQgY2FwYWNpdHkgb24gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBubyBzJ2hhIHBvZ3V0IG9idGVuaXIgaW5mb3JtYWNpw7Mgc29icmUgZWwgZGlzcG9zaXRpdSAlczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIsIG9mZnNldCAlPFBSSXU2ND4iCisjfiBtc2dzdHIgIiwgZGVzcGxhw6dhbWVudCAlZCIKKworI34gbXNnaWQgIiwgZW5jcnlwdGlvbiB0eXBlICVkXG4iCisjfiBtc2dzdHIgIiwgdGlwdXMgZGUgeGlmcmF0Z2UgJWRcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IGdldCBpbmZvIG9uIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDogbm8gcydoYSBwb2d1dCBvYnRlbmlyIGluZm9ybWFjacOzIHNvYnJlIGVsIGRpc3Bvc2l0aXUgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBvcGVuIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDogbm8gcydoYSBwb2d1dCBvYnJpciBlbCBkaXNwb3NpdGl1ICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBubyBwZXJtaXNzaW9uIHRvIGxvb2sgYXQgL2Rldi9sb29wJXM8Tj4iCisjfiBtc2dzdHIgIiVzOiBubyB0ZW5pdSBwZXJtaXNvcyBwZXIgbGxlZ2lyIC9kZXYvbG9vcCMiCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IENvdWxkIG5vdCBmaW5kIGFueSBsb29wIGRldmljZS4gTWF5YmUgdGhpcyBrZXJuZWwgZG9lcyBub3Qga25vd1xuIgorI34gIiAgICAgICBhYm91dCB0aGUgbG9vcCBkZXZpY2U/IChJZiBzbywgcmVjb21waWxlIG9yIGBtb2Rwcm9iZSBsb29wJy4pIgorI34gbXNnc3RyICIiCisjfiAiJXM6IE5vIHMnaGEgcG9ndXQgdHJvYmFyIGNhcCBkaXNwb3NpdGl1IGxvb3AuIMOJcyBwb3NzaWJsZSBxdWUgYXF1ZXN0IG51Y2xpXG4iCisjfiAiICAgICAgIG5vIHJlY29uZWd1aSBlbHMgZGlzcG9zaXRpdXMgbG9vcD8gKFNpIGVzIGFpeMOtLCByZWNvbXBpbGV1LWxvIG8gZmV1XG4iCisjfiAiICAgICAgIMKrbW9kcHJvYmUgbG9vcMK7LikiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSB3aGlsZSByZWFkaW5nIHBhc3NwaHJhc2UiCisjfiBtc2dzdHIgIlMnaGEgZXNnb3RhdCBsYSBtZW3DsnJpYSBlbiBhdWdtZW50YXIgbGEgbWlkYSBkZSBsYSBtZW3DsnJpYSBpbnRlcm3DqGRpYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiAlcyBpcyBhbHJlYWR5IGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICJFbCBzZWN0b3IgJWQgamEgZXN0w6AgYXNzaWduYXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiAlczogaXMgd3JpdGUtcHJvdGVjdGVkLCB1c2luZyByZWFkLW9ubHkuXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyVzIGVzdMOgIHByb3RlZ2l0IGNvbnRyYSBlc2NyaXB0dXJhOyBlcyBtdW50YXLDoCBlbiBub23DqXMgbGVjdHVyYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZXRfbG9vcCglcywlcywlbGx1LCVsbHUpOiBzdWNjZXNzXG4iCisjfiBtc2dzdHIgInNldF9sb29wKCVzLCVzLCVsbHUpOiDDqHhpdFxuIgorCisjfiBtc2dpZCAiZGVsX2xvb3AoJXMpOiBzdWNjZXNzXG4iCisjfiBtc2dzdHIgImRlbF9sb29wKCVzKTogw6h4aXRcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IGRlbGV0ZSBkZXZpY2UgJXM6ICVzXG4iCisjfiBtc2dzdHIgImxvb3A6IG5vIHMnaGEgcG9ndXQgc3VwcmltaXIgZWwgZGlzcG9zaXRpdSAlczogJXNcbiIKKworI34gbXNnaWQgIlRoaXMgbW91bnQgd2FzIGNvbXBpbGVkIHdpdGhvdXQgbG9vcCBzdXBwb3J0LiBQbGVhc2UgcmVjb21waWxlLlxuIgorI34gbXNnc3RyICJBcXVlc3QgbW91bnQgcydoYSBjb21waWxhdCBzZW5zZSBzdXBvcnQgcGVyIGEgbG9vcC4gUmVjb21waWxldS1sby5cbiIKKworI34gbXNnaWQgIk5vIGxvb3Agc3VwcG9ydCB3YXMgYXZhaWxhYmxlIGF0IGNvbXBpbGUgdGltZS4gUGxlYXNlIHJlY29tcGlsZS5cbiIKKyN+IG1zZ3N0ciAiUXVhbiBlcyB2YSBjb21waWxhciBlbCBzdXBvcnQgcGVyIGEgbG9vcCBubyBlc3RhdmEgZGlzcG9uaWJsZS4gUmVjb21waWxldS1sby5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHBhcnR4KDgpLlxuIgorI34gbXNnc3RyICJTJ2hhIGNhbnZpYXQgbGEgaW5mb3JtYWNpw7MgZGVsIGZpbmdlci5cbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLXEgWy1pIGludGVydmFsXV0gKFstcyB2YWx1ZV18Wy1TIHZhbHVlXSkgKFstdCB2YWx1ZV18Wy1UIHZhbHVlXSkgWy1nfC1HXSBmaWxlIFtmaWxlLi4uXVxuIgorI34gbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgWy1xIFstaSBpbnRlcnZhbF1dIChbLXMgdmFsb3JdfFstUyB2YWxvcl0pIChbLXQgdmFsb3JdfFstVCB2YWxvcl0pIFstZ3wtR10gZml0eGVyIFtmaXR4ZXIuLi5dXG4iCisKKyN+IG1zZ2lkICJDYW4ndCBvcGVuICVzOiAlc1xuIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9icmlyICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbiBsb2NrIGZpbGUgJXM6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBubyBzJ2hhIHBvZ3V0IG9icmlyICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBiYWQgbnVtYmVyOiAlc1xuIgorI34gbXNnc3RyICIlczogdmFsb3IgaW5jb3JyZWN0ZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmb3JrIGZhaWxlZDogJXNcbiIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCBiaWZ1cmNhclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgaXBjbWsoMSkuXG4iCisjfiBtc2dzdHIgIlMnaGEgY2FudmlhdCBsYSBpbmZvcm1hY2nDsyBkZWwgZmluZ2VyLlxuIgorCisjfiBtc2dpZCAiZGVwcmVjYXRlZCB1c2FnZTogJXMge3NobSB8IG1zZyB8IHNlbX0gaWQgLi4uXG4iCisjfiBtc2dzdHIgIsO6cyBkZXNhcHJvdmF0OiAlcyB7c2htIHwgbXNnIHwgc2VtfSBpZCAuLi5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWyBbLXEgbXNxaWRdIFstbSBzaG1pZF0gWy1zIHNlbWlkXVxuIgorI34gIiAgICAgICAgICBbLVEgbXNna2V5XSBbLU0gc2hta2V5XSBbLVMgc2Vta2V5XSAuLi4gXVxuIgorI34gbXNnc3RyICIiCisjfiAiZm9ybWEgZCfDunM6ICVzIFsgWy1xIG1zcWlkXSBbLW0gc2htaWRdIFstcyBzZW1pZF1cbiIKKyN+ICIgICAgICAgICAgICAgICBbLVEgbXNna2V5XSBbLU0gc2hta2V5XSBbLVMgc2Vta2V5XSAuLi4gXVxuIgorCisjfiBtc2dpZCAidW5rbm93biBlcnJvciBpbiBrZXkiCisjfiBtc2dzdHIgImVycm9yIGRlc2NvbmVndXQgZW4gbGEgY2xhdSIKKworI34gbXNnaWQgInVua25vd24gZXJyb3IgaW4gaWQiCisjfiBtc2dzdHIgImVycm9yIGRlc2NvbmVndXQgZW4gbCdpZGVudGlmaWNhZG9yIgorCisjfiBtc2dpZCAiJXM6ICVzICglcylcbiIKKyN+IG1zZ3N0ciAiJXM6ICVzICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsZGF0dGFjaCBmcm9tICVzXG4iCisjfiBtc2dzdHIgIiVzIGRlICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IFVzYWdlOiBcIiVzIFtvcHRpb25zXVxuIgorI34gIlx0IC1tIDxtYXBmaWxlPiAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCisjfiAiXHRcdFx0XHQgIFwiJXNcIilcbiIKKyN+ICJcdCAtcCA8cHJvLWZpbGU+IChkZWZhdWx0OiBcIiVzXCIpXG4iCisjfiAiXHQgLU0gPG11bHQ+ICAgICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorI34gIlx0IC1pICAgICAgICAgICAgcHJpbnQgb25seSBpbmZvIGFib3V0IHRoZSBzYW1wbGluZyBzdGVwXG4iCisjfiAiXHQgLXYgICAgICAgICAgICBwcmludCB2ZXJib3NlIGRhdGFcbiIKKyN+ICJcdCAtYSAgICAgICAgICAgIHByaW50IGFsbCBzeW1ib2xzLCBldmVuIGlmIGNvdW50IGlzIDBcbiIKKyN+ICJcdCAtYiAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgaGlzdG9ncmFtLWJpbiBjb3VudHNcbiIKKyN+ICJcdCAtcyAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgY291bnRlcnMgd2l0aGluIGZ1bmN0aW9uc1xuIgorI34gIlx0IC1yICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorI34gIlx0IC1uICAgICAgICAgICAgZGlzYWJsZSBieXRlIG9yZGVyIGF1dG8tZGV0ZWN0aW9uXG4iCisjfiAiXHQgLVYgICAgICAgICAgICBwcmludCB2ZXJzaW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogRm9ybWEgZCfDunM6IFwiJXMgW29wY2lvbnNdXG4iCisjfiAiXHQgLW0gPGZpdHhlcl9tYXBhPiAodmFsb3JzIHByZWRldGVybWluYXRzID0gwqslc8K7IGlcbiIKKyN+ICJcdFx0XHRcdCAgwqslc8K7KVxuIgorI34gIlx0IC1wIDxmaXR4ZXI+ICAodmFsb3IgcHJlZGV0ZXJtaW5hdCA9IMKrJXPCuylcbiIKKyN+ICJcdCAtTSA8bXVsdD4gICAgZXN0YWJsZWl4IGVsIG11bHRpcGxpY2Fkb3IgZGVsIHBlcmZpbCBlbiA8bXVsdD5cbiIKKyN+ICJcdCAtaSAgICAgICAgICAgbm9tw6lzIG1vc3RyYSBsYSBpbmZvcm1hY2nDsyBzb2JyZSBlbCBwYXMgZGUgbW9zdHJlaWdcbiIKKyN+ICJcdCAtdiAgICAgICAgICAgbW9zdHJhIGRhZGVzIGRldGFsbGFkZXNcbiIKKyN+ICJcdCAtYSAgICAgICAgICAgbW9zdHJhIHRvdHMgZWxzIHPDrW1ib2xzLCBmaW5zIGkgdG90IHNpIGVsIGNvbXB0ZSDDqXMgMFxuIgorI34gIlx0IC1iICAgICAgICAgICBtb3N0cmEgZWxzIGhpc3RvZ3JhbWVzIGluZGl2aWR1YWxzIGRlbHMgY29tcHRhZG9yc1xuIgorI34gIlx0IC1yICAgICAgICAgICByZXN0YWJsZWl4IHRvdHMgZWxzIGNvbXB0YWRvcnMgKG5vbcOpcyBlbCByb290KVxuIgorI34gIlx0IC1uICAgICAgICAgICBpbmhhYmlsaXRhIGxhIGRldGVjY2nDsyBhdXRvbcOgdGljYSBkZSBsJ29yZHJlIGRlbHMgb2N0ZXRzXG4iCisjfiAiXHQgLVYgICAgICAgICAgIG1vc3RyYSBsYSB2ZXJzacOzIGkgc3VydFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJlYWRwcm9maWxlOiBlcnJvciB3cml0aW5nICVzOiAlc1xuIgorI34gbXNnc3RyICJtb3VudDogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBlc2NyaXVyZSAlczogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBydGN3YWtlKDgpLlxuIgorI34gbXNnc3RyICJTJ2hhIGNhbnZpYXQgbGEgaW5mb3JtYWNpw7MgZGVsIGZpbmdlci5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiJXM6ICVzXG4iCisjfiAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICJFc2NvbGxpdSBgZ2V0b3B0IC0taGVscCcgcGVyIG9idGVuaXIgbcOpcyBpbmZvcm1hY2nDsy5cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBwcm9ncmFtIFthcmcgLi4uXVxuIgorI34gbXNnc3RyICJmb3JtYSBkJ8O6czogJXMgcHJvZ3JhbWEgW2FyZyAuLi5dXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIDxkZXZpY2U+IFsgLWkgPElSUT4gfCAtdCA8VElNRT4gfCAtYyA8Q0hBUlM+IHwgLXcgPFdBSVQ+IHwgXG4iCisjfiAiICAgICAgICAgIC1hIFtvbnxvZmZdIHwgLW8gW29ufG9mZl0gfCAtQyBbb258b2ZmXSB8IC1xIFtvbnxvZmZdIHwgLXMgfCBcbiIKKyN+ICIgICAgICAgICAgLVQgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIiCisjfiAiRm9ybWEgZCfDunM6ICVzIDxkaXNwb3NpdGl1PiBbIC1pIDxJUlE+IHwgLXQgPFRFTVBTPiB8IC1jIDxDQVLDgENULj4gfCAtdyA8RVNQRVJBPiB8XG4iCisjfiAiICAgICAgICAgICAgICAgLWEgW29ufG9mZl0gfCAtbyBbb258b2ZmXSB8IC1DIFtvbnxvZmZdIHwgLXEgW29ufG9mZl0gfCAtcyB8IFxuIgorI34gIiAgICAgICAgICAgICAgIC1UIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiVzOiBiYWQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAiJXM6IHZhbG9yIGluY29ycmVjdGVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHVuc2hhcmUoMSkuXG4iCisjfiBtc2dzdHIgIlMnaGEgY2FudmlhdCBsYSBpbmZvcm1hY2nDsyBkZWwgZmluZ2VyLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNsb3NpbmcgZmlsZSAlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gdGFuY2FyIGVsIGZpdHhlclxuIgorCisjfiBtc2dpZCAiU29ycnkgWW91IG1heSBjaGFuZ2UgdGhlIFRhZyBvZiBub24tZW1wdHkgcGFydGl0aW9ucy5cbiIKKyN+IG1zZ3N0ciAiUG9kZXUgY2FudmlhciBsJ2V0aXF1ZXRhIGRlIGxlcyBwYXJ0aWNpb25zIG5vIGJ1aWRlcy5cbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyAiCisjfiBtc2dzdHIgIkF2w61zOiBsYSBwYXJ0aWNpw7MgJXMgIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9ucyAlcyAiCisjfiBtc2dzdHIgIkF2w61zOiBsZXMgcGFydGljaW9ucyAlcyAiCisKKyN+IG1zZ2lkICJhbmQgJXMgb3ZlcmxhcFxuIgorI34gbXNnc3RyICJpICVzIGVuY2F2YWxxdWVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAgJXMgW29wdGlvbnNdIGRldmljZSBbLi4uXVxuIgorI34gbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRGV2aWNlIGlzIHNvbWV0aGluZyBsaWtlIC9kZXYvaGRhIG9yIC9kZXYvc2RhXG4iCisjfiBtc2dzdHIgImRpc3Bvc2l0aXU6IHNlbWJsYW50IGEgL2Rldi9oZGEgbyAvZGV2L3NkYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSA8ZmlsZW5hbWU+XG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXVxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgJXMgLVZcbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIC1sIFsgc2VueWFsIF1cbiIKKworI34gbXNnaWQgIiAgJXMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisjfiBtc2dzdHIgIiAgJXMgLS1yZXBvcnQgW2Rpc3Bvc2l0aXVzXVxuIgorCisjfiBtc2dpZCAiICAlcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyN+IG1zZ3N0ciAiICAlcyBbLXZ8LXFdIG9yZHJlcyBkaXNwb3NpdGl1c1xuIgorCisjfiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuICVzXG4iCisjfiBtc2dzdHIgIiVzOiBubyBlcyBwb3Qgb2JyaXIgJXNcbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC1uIF0gZGV2aWNlXG4iCisjfiBtc2dzdHIgImZvcm1hIGQnw7pzOiAlcyBbIC1uIF0gZGlzcG9zaXRpdVxuIgorCisjfiBtc2dpZCAibWFsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAibCdhc3NpZ25hY2nDsyBkZSBtZW3DsnJpYSAobWFsbG9jKSBoYSBmYWxsYXQiCisKKyN+IG1zZ2lkICIlczogb3B0aW9uIHBhcnNlIGVycm9yXG4iCisjfiBtc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGFuYWxpdHphciBsJ29wY2nDs1xuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsteF0gWy1kIDxudW0+XSBpc285NjYwLWltYWdlXG4iCisjfiBtc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbLXhdIFstZCA8bsO6bT5dIGltYXRnZS1pc285NjYwXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFstdl0gWy1OIG5yLW9mLWlub2Rlc10gWy1WIHZvbHVtZS1uYW1lXVxuIgorI34gIiAgICAgICBbLUYgZnNuYW1lXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorI34gbXNnc3RyICIiCisjfiAiRm9ybWEgZCfDunM6ICVzIFstdl0gWy1OIG5yX2RlX25vZGVzX2QnaWRlbnRpZmljYWNpw7NdIFstViBub21fdm9sdW1dXG4iCisjfiAiICAgICAgIFstRiBub21fc2lzLl9maXR4Ll0gZGlzcG9zaXRpdSBbcXVhbnRzX2Jsb2NzXVxuIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIHN0YXQgJXMiCisjfiBtc2dzdHIgIm5vIGVzIHBvdCBmZXIgc3RhdCBwZXIgYSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNlY3RvciBzaXplIGZvciAlcyIKKyN+IG1zZ3N0ciAibm8gZXMgcG90IG9idGVuaXIgbGEgbWlkYSBkZSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1jXSBbLXBQQUdFU1pdIFstTCBsYWJlbF0gWy1VIFVVSURdIC9kZXYvbmFtZSBbYmxvY2tzXVxuIgorI34gbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgWy1jXSBbLXYwfC12MV0gWy1wTUlEQVDDgEddIFstTCBldGlxdWV0YV0gL2Rldi9fbm9tXyBbYmxvY3NdXG4iCisKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5IgorI34gbXNnc3RyICJTJ2hhIGVzZ290YXQgbGEgbWVtw7JyaWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOlxuIgorI34gIiAgJXMgIgorI34gbXNnc3RyICJGb3JtYSBkJ8O6czpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJNZW51IHdpdGhvdXQgZGlyZWN0aW9uLiBEZWZhdWx0aW5nIHRvIGhvcml6b250YWwuIgorI34gbXNnc3RyICJFbCBtZW7DuiBubyB0w6kgZGlyZWNjacOzOyBsJ29wY2nDsyBwZXIgZGVmZWN0ZSDDqXMgaG9yaXR6b250YWwuIgorCisjfiBtc2dpZCAiIgorI34gIkNvbW1hbmQgYWN0aW9uXG4iCisjfiAiICAgJXNcbiIKKyN+ICIgICBwICAgcHJpbWFyeSBwYXJ0aXRpb24gKDEtNClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkFjY2nDsyBkZSBsJ29yZHJlXG4iCisjfiAiJXNcbiIKKyN+ICIgICBwICAgcGFydGljacOzIHByaW3DoHJpYSAoMS00KVxuIgorCisjfiBtc2dpZCAiICAgIC1zIFtvciAtLXNob3ctc2l6ZV06IGxpc3Qgc2l6ZSBvZiBhIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgIC1zIFtvIC0tc2hvdy1zaXplXTogIE1vc3RyYSBsYSBtaWRhIGQndW5hIHBhcnRpY2nDsyIKKworI34gbXNnaWQgIiAgICAtZCBbb3IgLS1kdW1wXTogICAgICBpZGVtLCBidXQgaW4gYSBmb3JtYXQgc3VpdGFibGUgZm9yIGxhdGVyIGlucHV0IgorI34gbXNnc3RyICIiCisjfiAiICAgIC1kIFtvIC0tZHVtcF06ICAgICAgIEVsIG1hdGVpeCwgcGVyw7IgYW1iIHVuIGZvcm1hdCBhZGVxdWF0IHBlciBhIHVuYVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICBlbnRyYWRhIHBvc3RlcmlvciIKKworI34gbXNnaWQgIiAgICAtaSBbb3IgLS1pbmNyZW1lbnRdOiBudW1iZXIgY3lsaW5kZXJzIGV0Yy4gZnJvbSAxIGluc3RlYWQgb2YgZnJvbSAwIgorI34gbXNnc3RyICIgICAgLWkgW28gLS1pbmNyZW1lbnRdOiAgTm9tYnJlIGRlIGNpbGluZHJlcywgZXRjLiBkZXMgZGUgMSBlbiBjb21wdGVzIGRlIDAiCisKKyN+IG1zZ2lkICIgICAgLXVTLCAtdUIsIC11QywgLXVNOiAgYWNjZXB0L3JlcG9ydCBpbiB1bml0cyBvZiBzZWN0b3JzL2Jsb2Nrcy9jeWxpbmRlcnMvTUIiCisjfiBtc2dzdHIgIiAgICAtdVMsIC11QiwgLXVDLCAtdU06ICBBY2NlcHRhL3JlcG9ydGEgZW4gdW5pdGF0cyBkZSBzZWN0b3JzL2Jsb2NzL2NpbGluZHJlcy9NQiIKKworI34gbXNnaWQgIiAgICAtVCBbb3IgLS1saXN0LXR5cGVzXTpsaXN0IHRoZSBrbm93biBwYXJ0aXRpb24gdHlwZXMiCisjfiBtc2dzdHIgIiAgICAtVCBbbyAtLWxpc3QtdHlwZXNdOiBMbGlzdGEgZWxzIHRpcHVzIGRlIHBhcnRpY2lvbnMgY29uZWd1ZGVzIgorCisjfiBtc2dpZCAiICAgIC1EIFtvciAtLURPU106ICAgICAgIGZvciBET1MtY29tcGF0aWJpbGl0eTogd2FzdGUgYSBsaXR0bGUgc3BhY2UiCisjfiBtc2dzdHIgIiAgICAtRCBbbyAtLURPU106ICAgICAgICBQZXIgY29tcGF0aWJpbGl0YXQgYW1iIERPUzogZXMgcGVyZCB1bmEgbWljYSBkJ2VzcGFpIgorCisjfiBtc2dpZCAiICAgIC1SIFtvciAtLXJlLXJlYWRdOiAgIG1ha2Uga2VybmVsIHJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIiAgICAtUiBbbyAtLXJlLXJlYWRdOiAgICBGYSBxdWUgZWwgbnVjbGkgcmVsbGVnZWl4aSBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIgorCisjfiBtc2dpZCAiICAgIC1PIGZpbGUgOiAgICAgICAgICAgIHNhdmUgdGhlIHNlY3RvcnMgdGhhdCB3aWxsIGJlIG92ZXJ3cml0dGVuIHRvIGZpbGUiCisjfiBtc2dzdHIgIiAgICAtTyBmaXR4ZXIgOiAgICAgICAgICBEZXNhIGVscyBzZWN0b3JzIHF1ZSBlcyBzb2JyZWVzY3JpdXJhbiBlbiB1biBmaXR4ZXIiCisKKyN+IG1zZ2lkICIgICAgLUkgZmlsZSA6ICAgICAgICAgICAgcmVzdG9yZSB0aGVzZSBzZWN0b3JzIGFnYWluIgorI34gbXNnc3RyICIgICAgLUkgZml0eGVyOiAgICAgICAgICAgUmVzdGF1cmEgYXF1ZXN0cyBzZWN0b3JzIGFsdHJhIHZlZ2FkYSIKKworI34gbXNnaWQgIiAgICAtdiBbb3IgLS12ZXJzaW9uXTogICBwcmludCB2ZXJzaW9uIgorI34gbXNnc3RyICIgICAgLXYgW28gLS12ZXJzaW9uXTogICAgSW1wcmltZWl4IGxhIHZlcnNpw7MiCisKKyN+IG1zZ2lkICIgICAgLT8gW29yIC0taGVscF06ICAgICAgcHJpbnQgdGhpcyBtZXNzYWdlIgorI34gbXNnc3RyICIgICAgLT8gW28gLS1oZWxwXTogICAgICAgSW1wcmltZWl4IGFxdWVzdCBtaXNzYXRnZSIKKworI34gbXNnaWQgIiAgICAtZyBbb3IgLS1zaG93LWdlb21ldHJ5XTogcHJpbnQgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIGdlb21ldHJ5IgorI34gbXNnc3RyICIgICAgLWcgW28gLS1zaG93LWdlb21ldHJ5XTogIEltcHJpbWVpeCBsYSBpZGVhIHF1ZSB0w6kgZWwgbnVjbGkgZGUgbGEgZ2VvbWV0cmlhIgorCisjfiBtc2dpZCAiICAgIC1MICBbb3IgLS1MaW51eF06ICAgICAgZG8gbm90IGNvbXBsYWluIGFib3V0IHRoaW5ncyBpcnJlbGV2YW50IGZvciBMaW51eCIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAtTCAgW28gLS1MaW51eF06ICAgICAgIE5vIG1vc3RyYSBhdmlzb3Mgc29icmUgYXNwZWN0ZXMgaXJyZWxsZXZhbnRzIHBlclxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgTGludXgiCisKKyN+IG1zZ2lkICIgICAgWW91IGNhbiBvdmVycmlkZSB0aGUgZGV0ZWN0ZWQgZ2VvbWV0cnkgdXNpbmc6IgorI34gbXNnc3RyICIgICAgUG9kZXUgbW9kaWZpY2FyIGxhIGdlb21ldHJpYSBkZXRlY3RhZGEgdXNhbnQ6IgorCisjfiBtc2dpZCAiICAgIC1mICBbb3IgLS1mb3JjZV06ICAgICAgZG8gd2hhdCBJIHNheSwgZXZlbiBpZiBpdCBpcyBzdHVwaWQiCisjfiBtc2dzdHIgIiAgICAtZiAgW28gLS1mb3JjZV06ICAgICAgIEZhcsOgIGVsIHF1ZSBsaSBkaWd1ZXUsIGVuY2FyYSBxdWUgc2lndWkgZXN0w7pwaWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ291bGRuJ3QgYWxsb2NhdGUgbWVtb3J5IGZvciBmaWxlc3lzdGVtIHR5cGVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBoYXVyZXUgZCdlc3BlY2lmaWNhciBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiBmc2NrIFstQU1OUFJUVl0gWyAtQyBbIGZkIF0gXSBbLXQgZnN0eXBlXSBbZnMtb3B0aW9uc10gW2ZpbGVzeXMgLi4uXVxuIgorI34gbXNnc3RyICJGb3JtYSBkJ8O6czogbWtmcyBbLVZdIFstdCB0aXB1c19zaXMuX2ZpdHguXSBbb3BjaW9uc19zaXMuX2ZpdHguXSAgZGlzcG9zaXRpdSBbbWlkYV1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDb3VsZG4ndCBvcGVuICVzOiAlc1xuIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9icmlyICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZzY2sgZnJvbSAlc1xuIgorI34gbXNnc3RyICIlcyBkZSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBVbmFibGUgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciBmc2NrX3BhdGhcbiIKKyN+IG1zZ3N0ciAiTm8gZXMgcG90IGFzc2lnbmFyIG1lbcOycmlhIGludGVybcOoZGlhIHBlciBhbHMgbm9kZXMgZCdpZGVudGlmaWNhY2nDsyIKKworI34gbXNnaWQgIlRyeSBgZ2V0b3B0IC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIkVzY29sbGl1IGBnZXRvcHQgLS1oZWxwJyBwZXIgb2J0ZW5pciBtw6lzIGluZm9ybWFjacOzLlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6IGdldG9wdCBvcHRzdHJpbmcgcGFyYW1ldGVyc1xuIgorI34gbXNnc3RyICJGb3JtYSBkJ8O6czogZ2V0b3B0IGNhZGVuYV9vcGNpb25zIHBhcsOgbWV0cmVzXG4iCisKKyN+IG1zZ2lkICIgICAgICAgZ2V0b3B0IFtvcHRpb25zXSBbLS1dIG9wdHN0cmluZyBwYXJhbWV0ZXJzXG4iCisjfiBtc2dzdHIgIiAgICAgICBnZXRvcHQgW29wY2lvbnNdIFstLV0gY2FkZW5hX29wY2lvbnMgcGFyw6BtZXRyZXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJnZXRvcHQgKGVuaGFuY2VkKSAxLjEuNFxuIgorI34gbXNnc3RyICJnZXRvcHQgKG1pbGxvcmF0KSAxLjEuM1xuIgorCisjfiBtc2dpZCAiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKVxuIgorI34gbXNnc3RyICIoUydlc3BlcmF2YTogYFVUQycsIGBMT0NBTCcgbyByZXMpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJod2Nsb2NrIC0gcXVlcnkgYW5kIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgKFJUQylcbiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogaHdjbG9jayBbZnVuY3Rpb25dIFtvcHRpb25zLi4uXVxuIgorI34gIlxuIgorI34gIkZ1bmN0aW9uczpcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgc2hvdyB0aGlzIGhlbHBcbiIKKyN+ICIgIC1yIHwgLS1zaG93ICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisjfiAiICAgICAgIC0tc2V0ICAgICAgICAgIHNldCB0aGUgcnRjIHRvIHRoZSB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiICAtcyB8IC0taGN0b3N5cyAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgIC13IHwgLS1zeXN0b2hjICAgICAgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayB0byB0aGUgY3VycmVudCBzeXN0ZW0gdGltZVxuIgorI34gIiAgICAgICAtLXN5c3R6ICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRpbWV6b25lXG4iCisjfiAiICAgICAgIC0tYWRqdXN0ICAgICAgIGFkanVzdCB0aGUgcnRjIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgc2luY2VcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgdGhlIGNsb2NrIHdhcyBsYXN0IHNldCBvciBhZGp1c3RlZFxuIgorI34gIiAgICAgICAtLWdldGVwb2NoICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisjfiAiICAgICAgIC0tc2V0ZXBvY2ggICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBnaXZlbiB3aXRoIC0tZXBvY2hcbiIKKyN+ICIgICAgICAgLS1wcmVkaWN0ICAgICAgcHJlZGljdCBydGMgcmVhZGluZyBhdCB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiICAtdiB8IC0tdmVyc2lvbiAgICAgIHByaW50IG91dCB0aGUgdmVyc2lvbiBvZiBod2Nsb2NrIHRvIHN0ZG91dFxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6IFxuIgorI34gIiAgLXUgfCAtLXV0YyAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyN+ICIgICAgICAgLS1sb2NhbHRpbWUgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorI34gIiAgLWYgfCAtLXJ0Yz1wYXRoICAgICBzcGVjaWFsIC9kZXYvLi4uIGZpbGUgdG8gdXNlIGluc3RlYWQgb2YgZGVmYXVsdFxuIgorI34gIiAgICAgICAtLWRpcmVjdGlzYSAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorI34gIiAgICAgICAtLWJhZHllYXIgICAgICBpZ25vcmUgcnRjJ3MgeWVhciBiZWNhdXNlIHRoZSBiaW9zIGlzIGJyb2tlblxuIgorI34gIiAgICAgICAtLWRhdGUgICAgICAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAgICAgICAtLWVwb2NoPXllYXIgICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGUgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIGNsb2NrJ3MgZXBvY2ggdmFsdWVcbiIKKyN+ICIgICAgICAgLS1ub2FkamZpbGUgICAgZG8gbm90IGFjY2VzcyAvZXRjL2FkanRpbWUuIFJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lXG4iCisjfiAiICAgICAgIC0tYWRqZmlsZT1wYXRoIHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGUgKGRlZmF1bHQgaXNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgL2V0Yy9hZGp0aW1lKVxuIgorI34gIiAgICAgICAtLXRlc3QgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCBhY3R1YWxseSB1cGRhdGluZyB0aGUgaGFyZHdhcmVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgY2xvY2sgb3IgYW55dGhpbmcgZWxzZVxuIgorI34gIiAgLUQgfCAtLWRlYnVnICAgICAgICBkZWJ1ZyBtb2RlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJod2Nsb2NrIC0gQ29uc3VsdGEgaSBjb25maWd1cmEgZWwgcmVsbG90Z2UgZGUgbWFxdWluYXJpIChSVEMpXG4iCisjfiAiXG4iCisjfiAiRm9ybWEgZCfDunM6IGh3Y2xvY2sgW2Z1bmNpw7NdIFtvcGNpb25zLi4uXVxuIgorI34gIlxuIgorI34gIkZ1bmNpb25zOlxuIgorI34gIiAgLS1oZWxwICAgICAgICBNb3N0cmEgYXF1ZXN0YSBhanVkYVxuIgorI34gIiAgLS1zaG93ICAgICAgICBMbGVnZWl4IGVsIFJUQyBpIG4naW1wcmltZWl4IGVsIHJlc3VsdGF0XG4iCisjfiAiICAtLXNldCAgICAgICAgIEVzdGFibGVpeCBlbCBSVEMgYSBsJ2hvcmEgcHJvcG9yY2lvbmFkYSBhbWIgLS1kYXRlXG4iCisjfiAiICAtLWhjdG9zeXMgICAgIEVzdGFibGVpeCBsJ2hvcmEgZGVsIHNpc3RlbWEgYSBwYXJ0aXIgZGVsIFJUQ1xuIgorI34gIiAgLS1zeXN0b2hjICAgICBFc3RhYmxlaXggZWwgUlRDIGEgbCdob3JhIGFjdHVhbCBkZWwgc2lzdGVtYVxuIgorI34gIiAgLS1hZGp1c3QgICAgICBBanVzdGEgZWwgUlRDIHBlciBhIGNvbXBlbnNhciBlbCBkZXNmYXNhbWVudCBzaXN0ZW3DoHRpYyBkZXMgZGUgXG4iCisjfiAiICAgICAgICAgICAgICAgIGxhIMO6bHRpbWEgdmVnYWRhIHF1ZSBlcyB2YSBlc3RhYmxpciBvIGFqdXN0YXIgZWwgcmVsbG90Z2VcbiIKKyN+ICIgIC0tZ2V0ZXBvY2ggICAgSW1wcmltZWl4IGVsIHZhbG9yIGRlIGwnw6hwb2NhIGRlbCBSVEMgZGVsIG51Y2xpXG4iCisjfiAiICAtLXNldGVwb2NoICAgIEVzdGFibGVpeCBlbCB2YWxvciBkZSBsJ8OocG9jYSBkZWwgUlRDIGRlbCBudWNsaSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgYWwgdmFsb3IgcHJvcG9yY2lvbmF0IGFtYiAtLWVwb2NoXG4iCisjfiAiICAtLXZlcnNpb24gICAgIEltcHJpbWVpeCBsYSB2ZXJzacOzIGRlIGh3Y2xvY2sgYSBsYSBzb3J0aWRhIGVzdMOgbmRhcmRcbiIKKyN+ICJcbiIKKyN+ICJPcGNpb25zOiBcbiIKKyN+ICIgIC0tdXRjICAgICAgICAgRWwgUlRDIGVzdMOgIGVuIHRlbXBzIHVuaXZlcnNhbCBjb29yZGluYXRcbiIKKyN+ICIgIC0tbG9jYWx0aW1lICAgRWwgUlRDIHTDqSBsJ2hvcmEgbG9jYWxcbiIKKyN+ICIgIC0tZGlyZWN0aXNhICAgQWNjZWRlaXggYWwgYnVzIElTQSBkaXJlY3RhbWVudCBlbiBjb21wdGVzIGRlICVzXG4iCisjfiAiICAtLWJhZHllYXIgICAgIElnbm9yYSBsJ2FueSBkZWwgUlRDIGphIHF1ZSBlbCBCSU9TIG5vIGZ1bmNpb25hXG4iCisjfiAiICAtLWRhdGUgICAgICAgIEVzcGVjaWZpY2EgZWwgdGVtcHMgZW4gcXXDqCBlcyBkZXNpdGphIGVzdGFibGlyIGVsIFJUQ1xuIgorI34gIiAgLS1lcG9jaD1hbnkgICBFc3BlY2lmaWNhIGwnYW55IHF1ZSBjb3JyZXNwb24gYWwgY29tZW7Dp2FtZW50IGRlbCB2YWxvciBkZVxuIgorI34gIiAgICAgICAgICAgICAgICBsJ8OocG9jYSBkZWwgUlRDXG4iCisjfiAiICAtLW5vYWRqZmlsZSAgIE5vIGFjY2VkZWl4aXMgYSAvZXRjL2FkanRpbWUuIFJlcXVlcmVpeCBsJ8O6cyBkZSAtLXV0YyBvIGLDqVxuIgorI34gIiAgICAgICAgICAgICAgICAtLWxvY2FsdGltZVxuIgorCisjfiBtc2dpZCAiY2FuJ3QgbWFsbG9jIGluaXRzdHJpbmciCisjfiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgbWFsbG9jKCkgcGVyIGEgbGEgY2FkZW5hIGQnaW5pY2lhbGl0emFjacOzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgWy04aGlMbXNVd10gWy1sIGxvZ2luX3Byb2dyYW1dIFstdCB0aW1lb3V0XSBbLUkgaW5pdHN0cmluZ10gWy1IIGxvZ2luX2hvc3RdIGJhdWRfcmF0ZSwuLi4gbGluZSBbdGVybXR5cGVdXG4iCisjfiAib3JcdFstaGlMbXddIFstbCBsb2dpbl9wcm9ncmFtXSBbLXQgdGltZW91dF0gWy1JIGluaXRzdHJpbmddIFstSCBsb2dpbl9ob3N0XSBsaW5lIGJhdWRfcmF0ZSwuLi4gW3Rlcm10eXBlXVxuIgorI34gbXNnc3RyICIiCisjfiAiRm9ybWEgZCfDunM6ICVzIFstaGlMbXddIFstbCBwcm9ncmFtYV9hY2PDqXNdIFstdCB0ZW1wc19lc3BlcmFdIFstSSBjYWRlbmFfaW5pY2lhbGl0emFjacOzXSBbLUggb3JkaW5hZG9yX2FjY8Opc10gdmVsb2NpdGF0X2JhdWRzLC4uLiBsw61uaWEgW3RpcHVzX3Rlcm1pbmFsXVxuIgorI34gIm8gYsOpXG4iCisjfiAiXHRbLWhpTG13XSBbLWwgcHJvZ3JhbWFfYWNjw6lzXSBbLXQgdGVtcHNfZXNwZXJhXSBbLUkgY2FkZW5hX2luaWNpYWxpdHphY2nDs10gWy1IIG9yZGluYWRvcl9hY2PDqXNdIGzDrW5pYSB2ZWxvY2l0YXRfYmF1ZHMsLi4uIFt0aXB1c190ZXJtaW5hbF1cbiIKKworIyBGSVhNRSAneScsICduJyB1bnRyYW5zbGF0ZWFibGU/CisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbeSB8IG5dIgorI34gbXNnc3RyICJmb3JtYSBkJ8O6czogbWVzZyBbeSB8IG5dXG4iCisKKyN+IG1zZ2lkICIlczogQkFEIEVSUk9SIgorI34gbXNnc3RyICIlczogRVJST1IgRE9MRU5UIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiAlcyBbLW5dIFtmaWxlXVxuIgorI34gbXNnc3RyICJmb3JtYSBkJ8O6czogJXMgW2ZpdHhlcl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW4ndCByZWFkOiAlcyIKKyN+IG1zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgbGxlZ2lyICVzLlxuIgorCisjfiBtc2dpZCAibG9nZ2VyOiAlczogJXMuXG4iCisjfiBtc2dzdHIgImxvZ2dlcjogJXM6ICVzLlxuIgorCisjfiBtc2dpZCAidXNhZ2U6IGxvZ2dlciBbLWlzXSBbLWYgZmlsZV0gWy1wIHByaV0gWy10IHRhZ10gWy11IHNvY2tldF0gWyBtZXNzYWdlIC4uLiBdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJmb3JtYSBkJ8O6czogbG9nZ2VyIFstaXNdIFstZiBmaXR4ZXJdIFstcCBwcmldIFstdCBldGlxdWV0YV0gWy11IHPDsmNvbF1cbiIKKyN+ICJcdFsgbWlzc2F0Z2UgLi4uIF1cbiIKKworI34gbXNnaWQgInVzYWdlOiBsb29rIFstZGZhXSBbLXQgY2hhcl0gc3RyaW5nIFtmaWxlXVxuIgorI34gbXNnc3RyICJmb3JtYSBkJ8O6czogbG9vayBbLWRmYV0gWy10IGNhcsOgY3Rlcl0gY2FkZW5hIFtmaXR4ZXJdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeT8iCisjfiBtc2dzdHIgInMnaGEgZXNnb3RhdCBsYSBtZW3DsnJpYT9cbiIKKworIyBGSVhNRSAiZnJvbSB0byI/Pz8/CisjfiBtc2dpZCAiY2FsbDogJXMgZnJvbSB0byBmaWxlcy4uLlxuIgorI34gbXNnc3RyICJjcmlkYTogJXMgZGVzIGRlbHMgZml0eGVycy4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiBzY3JpcHQgWy1hXSBbLWVdIFstZl0gWy1xXSBbLXRdIFtmaWxlXVxuIgorI34gbXNnc3RyICJmb3JtYSBkJ8O6czogc2NyaXB0IFstYV0gWy1mXSBbLXFdIFstdF0gW2ZpdHhlcl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogd3JpdGUgZXJyb3IgJWQ6ICVzXG4iCisjfiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZCdlc2NyaXB0dXJhIGEgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogd3JpdGUgZXJyb3I6ICVzXG4iCisjfiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZCdlc2NyaXB0dXJhIGEgJXNcbiIKKworI34gbXNnaWQgIiAgWyAtc25vdyBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtc25vdyBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXNvZnRzY3JvbGwgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLXNvZnRzY3JvbGwgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1mb3JlZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1mb3JlZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdCBdXG4iCisjfiBtc2dzdHIgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdCBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWJhY2tncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWJhY2tncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAiICBbIC11bGNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLXVsY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlIF1cbiIKKyN+IG1zZ3N0ciAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXVsY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC11bGNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLWhiY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtaGJjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtaGJjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWhiY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtc3RhbmRvdXQgWyBhdHRyIF0gXVxuIgorI34gbXNnc3RyICIgIFsgLXN0YW5kb3V0IFsgYXR0ciBdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1kXSBbLXAgcGlkZmlsZV0gWy1zIHNvY2tldHBhdGhdIFstVCB0aW1lb3V0XVxuIgorI34gbXNnc3RyICJmb3JtYSBkJ8O6czogbGFzdCBbLSNdIFstZiBmaXR4ZXJdIFstdCB0dHldIFstaCBub21fb3JkaW5hZG9yXSBbdXN1YXJpIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgJXMgLWtcbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIC1sIFsgc2VueWFsIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1yXSBbLXRdXG4iCisjfiBtc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworI34gbXNnaWQgIndoZXJlaXMgWyAtc2JtdSBdIFsgLVNCTSBkaXIgLi4uIC1mIF0gbmFtZS4uLlxuIgorI34gbXNnc3RyICJ3aGVyZWlzIFsgLXNibXUgXSBbIC1TQk0gZGlyZWN0b3JpIC4uLiAtZiBdIG5vbS4uLlxuIgorCisjfiBtc2dpZCAidXNhZ2U6IHdyaXRlIHVzZXIgW3R0eV1cbiIKKyN+IG1zZ3N0ciAiZm9ybWEgZCfDunM6IHdyaXRlIHVzdWFyaSBbdHR5XVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IG9wZW4gJXM6ICVzIgorI34gbXNnc3RyICJtb3VudDogbm8gcydoYSBwb2d1dCBvYnJpciAlczogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5rbm93blxuIgorI34gbXNnc3RyICJkZXNjb25lZ3V0IgorCisjfiBtc2dpZCAiVXNhZ2U6IHNodXRkb3duIFstaHwtcl0gWy1mcXNdIFtub3d8aGg6c3N8K21pbnNdXG4iCisjfiBtc2dzdHIgIkZvcm1hIGQnw7pzOiBzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fGhoOnNzfCttaW51dHNdXG4iCisKKyN+IG1zZ2lkICJTaHV0ZG93biBwcm9jZXNzIGFib3J0ZWQiCisjfiBtc2dzdHIgIlMnaGEgYXZvcnRhdCBlbCBwcm9jw6lzIGQnYXR1cmFkYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJvbmx5IHJvb3QgY2FuIHNodXQgYSBzeXN0ZW0gZG93bi4iCisjfiBtc2dzdHIgIiVzOiBOb23DqXMgbCd1c3Vhcmkgcm9vdCBwb3QgYXR1cmFyIHVuIHNpc3RlbWEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidGhhdCBtdXN0IGJlIHRvbW9ycm93LCBjYW4ndCB5b3Ugd2FpdCB0aWxsIHRoZW4/IgorI34gbXNnc3RyICJBaXjDsiBoYSBkZSBzZXIgZGVtw6AsIG5vIHVzIHBvZGV1IGVzcGVyYXIgZmlucyBsbGF2b3JzP1xuIgorCisjfiBtc2dpZCAiZm9yIG1haW50ZW5hbmNlOyBib3VuY2UsIGJvdW5jZSIKKyN+IG1zZ3N0ciAicGVyIGFsIG1hbnRlbmltZW50OyBzYWx0YW50LCBzYWx0YW50IgorCisjfiBtc2dpZCAiVGhlIHN5c3RlbSBpcyBiZWluZyBzaHV0IGRvd24gd2l0aGluIDUgbWludXRlcyIKKyN+IG1zZ3N0ciAiRWwgc2lzdGVtYSBzJ2F0dXJhcsOgIGQnYXF1w60gYSA1IG1pbnV0cyIKKworI34gbXNnaWQgIkxvZ2luIGlzIHRoZXJlZm9yZSBwcm9oaWJpdGVkLiIKKyN+IG1zZ3N0ciAiUGVyIHRhbnQgbm8gZXMgcGVybWV0IGwnZW50cmFkYS4iCisKKyN+IG1zZ2lkICJyZWJvb3RlZCBieSAlczogJXMiCisjfiBtc2dzdHIgIiVzIGhhIGFycmVuY2F0IGRlIG5vdTogJXMiCisKKyN+IG1zZ2lkICJoYWx0ZWQgYnkgJXM6ICVzIgorI34gbXNnc3RyICIlcyBoYSBhdHVyYXQ6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldoeSBhbSBJIHN0aWxsIGFsaXZlIGFmdGVyIHJlYm9vdD8iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDb20gw6lzIHF1ZSBlbmNhcmEgZXN0aWMgYWN0aXUgZGVzcHLDqXMgZCdhcnJlbmNhciBkZSBub3U/IgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk5vdyB5b3UgY2FuIHR1cm4gb2ZmIHRoZSBwb3dlci4uLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkFyYSBwb2RldSBkZXNjb25uZWN0YXIgbGEgZm9udCBkJ2FsaW1lbnRhY2nDsy4uLiIKKworI34gbXNnaWQgIkNhbGxpbmcga2VybmVsIHBvd2VyLW9mZiBmYWNpbGl0eS4uLlxuIgorI34gbXNnc3RyICJTJ2VzdMOgIGNyaWRhbnQgZWwgc2lzdGVtYSBkJ2FwYWdhZGEgZGVsIG51Y2xpLi4uXG4iCisKKyN+IG1zZ2lkICJFcnJvciBwb3dlcmluZyBvZmZcdCVzXG4iCisjfiBtc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gYXBhZ2FyXHQlc1xuIgorCisjfiBtc2dpZCAiRXhlY3V0aW5nIHRoZSBwcm9ncmFtIFwiJXNcIiAuLi5cbiIKKyN+IG1zZ3N0ciAiUydlc3TDoCBleGVjdXRhbnQgZWwgcHJvZ3JhbWEgXCIlc1wiIC4uLlxuIgorCisjfiBtc2dpZCAiVVJHRU5UOiBicm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzOiIKKyN+IG1zZ3N0ciAiVVJHRU5UOiBtaXNzYXRnZSBkZSBkaWZ1c2nDsyBkZSAlczoiCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAlZCBob3VycyAlZCBtaW51dGVzIgorI34gbXNnc3RyICJFbCBzaXN0ZW1hIHMnYXR1cmFyw6AgZCdhcXXDrSBhICVkIGhvcmVzIGkgJWQgbWludXRzIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gMSBob3VyICVkIG1pbnV0ZXMiCisjfiBtc2dzdHIgIkVsIHNpc3RlbWEgcydhdHVyYXJhIGQnYXF1w60gYSAxIGhvcmEgaSAlZCBtaW51dHMiCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAlZCBtaW51dGVzXG4iCisjfiBtc2dzdHIgIkVsIHNpc3RlbWEgcydhdHVyYXLDoCBkJ2FxdcOtIGEgJWQgbWludXRzXG4iCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAxIG1pbnV0ZVxuIgorI34gbXNnc3RyICJFbCBzaXN0ZW1hIHMnYXR1cmFyw6AgZCdhcXXDrSBhIDEgbWludXRcbiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIElNTUVESUFURUxZIVxuIgorI34gbXNnc3RyICJFbCBzaXN0ZW1hIHMnYXR1cmFyw6AgSU1NRURJQVRBTUVOVC5cbiIKKworI34gbXNnaWQgIlx0Li4uICVzIC4uLlxuIgorI34gbXNnc3RyICJcdC4uLiAlcyAuLi5cbiIKKworI34gbXNnaWQgIkNhbm5vdCBmb3JrIGZvciBzd2Fwb2ZmLiBTaHJ1ZyEiCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgYmlmdXJjYXIgc3dhcG9mZi4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyBzd2Fwb2ZmLCBob3BpbmcgdW1vdW50IHdpbGwgZG8gdGhlIHRyaWNrLiIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBleGVjdXRhciBzd2Fwb2ZmLCBlc3BlcmVtIHF1ZSB1bW91bnQgaG8gZmFjaS4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZm9yayBmb3IgdW1vdW50LCB0cnlpbmcgbWFudWFsbHkuIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGJ1ZnVyY2FyIHVtb3VudCwgcydlc3TDoCBwcm92YW50IG1hbnVhbG1lbnQuIgorCisjfiBtc2dpZCAiQ2Fubm90IGV4ZWMgJXMsIHRyeWluZyB1bW91bnQuXG4iCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgJXMsIHMnZXN0w6AgcHJvdmFudCB1bW91bnQuXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyB1bW91bnQsIGdpdmluZyB1cCBvbiB1bW91bnQuIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIHVtb3VudCwgcydlc3TDoCBhYmFuZG9uYW50IGwnb3BlcmFjacOzIHVtb3VudC4iCisKKyN+IG1zZ2lkICJVbm1vdW50aW5nIGFueSByZW1haW5pbmcgZmlsZXN5c3RlbXMuLi4iCisjfiBtc2dzdHIgIlMnZXN0w6AgZGVzbXVudGFudCBlbHMgc2lzdGVtZXMgZGUgZml0eGVycyByZXN0YW50cy4uLiIKKworI34gbXNnaWQgInNodXRkb3duOiBDb3VsZG4ndCB1bW91bnQgJXM6ICVzXG4iCisjfiBtc2dzdHIgInNodXRkb3duOiBObyBzJ2hhIHBvZ3V0IGRlc211bnRhciAlczogJXNcbiIKKworI34gbXNnaWQgIkJvb3RpbmcgdG8gc2luZ2xlIHVzZXIgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiUydlc3TDoCBhcnJlbmNhbnQgZW4gZWwgbW9kZSBkJ3VuIHNvbCB1c3VhcmkuXG4iCisKKyN+IG1zZ2lkICJleGVjIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICJsJ2V4ZWN1Y2nDsyBkZSBsJ2ludMOocnByZXQgZCdvcmRyZXMgZW4gbW9kZSBkJ3VuIHNvbCB1c3VhcmkgaGEgZmFsbGF0XG4iCisKKyN+IG1zZ2lkICJmb3JrIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGJpZnVyY2FyIGwnaW50w6hycHJldCBkJ29yZHJlcyBkJ3VuIHNvbCB1c3VhcmlcbiIKKworI34gbXNnaWQgImVycm9yIG9wZW5pbmcgZmlmb1xuIgorI34gbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyIGZpZm9cbiIKKworI34gbXNnaWQgImVycm9yIHNldHRpbmcgY2xvc2Utb24tZXhlYyBvbiAvZGV2L2luaXRjdGwiCisjfiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gaW5pY2lhbGl0emFyIGNsb3NlLW9uLWV4ZWMgYSAvZGV2L2luaXRjdGwiCisKKyN+IG1zZ2lkICJlcnJvciBydW5uaW5nIGZpbmFscHJvZ1xuIgorI34gbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGV4ZWN1dGFyIGZpbmFscHJvZ1xuIgorCisjfiBtc2dpZCAiZXJyb3IgZm9ya2luZyBmaW5hbHByb2dcbiIKKyN+IG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBiaWZ1cmNhciBmaW5hbHByb2dcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXcm9uZyBwYXNzd29yZC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkNvbnRyYXNlbnlhIGluY29ycmVjdGEuXG4iCisKKyN+IG1zZ2lkICJmb3JrIGZhaWxlZFxuIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGJpZnVyY2FyXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBpbml0dGFiXG4iCisjfiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgb2JyaXIgaW5pdHRhYlxuIgorCisjfiBtc2dpZCAibm8gVEVSTSBvciBjYW5ub3Qgc3RhdCB0dHlcbiIKKyN+IG1zZ3N0ciAibm8gaGkgaGEgVEVSTSBvIG5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgc3RhdCBhIGxhIHR0eVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIGF0IHN0b3BwaW5nIHNlcnZpY2UgXCIlc1wiXG4iCisjfiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gYXR1cmFyIGVsIHNlcnZlaTogXCIlc1wiIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlN0b3BwZWQgc2VydmljZTogJXNcbiIKKyN+IG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBhdHVyYXIgZWwgc2VydmVpOiBcIiVzXCIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgYXQgc3RhcnRpbmcgc2VydmljZSBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBhdHVyYXIgZWwgc2VydmVpOiBcIiVzXCIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstY10gWy1uIGxldmVsXSBbLXJdIFstcyBidWZzaXplXVxuIgorI34gbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgWy1jXSBbLW4gbml2ZWxsXSBbLXMgbWlkYV9tZW3DsnJpYV90ZW1wb3JhbF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogc3RyZHVwIGZhaWxlZCIKKyN+IG1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpciAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogY2FsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAibCdhc3NpZ25hY2nDsyBkZSBtZW3DsnJpYSAobWFsbG9jKSBoYSBmYWxsYXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6ICVzIFstYmZweF0gWy1sIG5saW5lXSIKKyN+IG1zZ3N0ciAiZm9ybWEgZCfDunM6IGNvbCBbLWJmcHhdIFstbCBubGluZV1cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC0gXSBbIC0yIF0gWyBmaWxlIC4uLiBdXG4iCisjfiBtc2dzdHIgImZvcm1hIGQnw7pzOiAlcyBbIC0gXSBbIC0yIF0gWyBmaXR4ZXIgLi4uIF1cbiIKKworI34gbXNnaWQgImhleGR1bXA6IFstYmNDZG92eF0gWy1lIGZtdF0gWy1mIGZtdF9maWxlXSBbLW4gbGVuZ3RoXSBbLXMgc2tpcF0gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJoZXhkdW1wOiBbLWJjQ2RvdnhdIFstZSBmbXRdIFstZiBmaXR4ZXJfZm10XSBbLW4gbG9uZ2l0dWRdIFstcyBvbWV0XSBbZml0eGVyIC4uLl1cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbLWRmbHBjc3VdIFsrbGluZW51bSB8ICsvcGF0dGVybl0gbmFtZTEgbmFtZTIgLi4uXG4iCisjfiBtc2dzdHIgImZvcm1hIGQnw7pzOiAlcyBbLWRmbHBjc3VdIFsrbsO6bV9sw61uaWVzIHwgKy9wYXRyw7NdIG5vbTEgbm9tMiAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaW5lIGJ1ZmZlclxuIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIGxhIG1lbcOycmlhIHRlbXBvcmFsLlxuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogY2FuJ3QgcmVhZCAlcy5cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogbm8gcydoYSBwb2d1dCBsbGVnaXIgJXMuXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBsaW5lIHRvbyBsb25nLlxuIgorI34gbXNnc3RyICJoZXhkdW1wOiBsw61uaWEgbWFzc2EgbGxhcmdhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJlYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJsJ2Fzc2lnbmFjacOzIGRlIG1lbcOycmlhIChtYWxsb2MpIGhhIGZhbGxhdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogdGFpbGYgWy1uIE4gfCAtTl0gbG9nZmlsZSIKKyN+IG1zZ3N0ciAiRm9ybWEgZCfDunM6IHRhaWxmIGZpdHhlcl9yZWdpc3RyZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbIC1pIF0gWyAtdFRlcm0gXSBmaWxlLi4uXG4iCisjfiBtc2dzdHIgImZvcm1hIGQnw7pzOiAlcyBbIC1pIF0gWyAtdFRlcm1pbmFsIF0gZml0eGVyLi4uXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gb3BlbiAlc1xuIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9icmlyICVzXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYW55IG1vcmUgbWVtb3J5XG4iCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbcOpcyBtZW3DsnJpYVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImdvdCBFT0YgdGhyaWNlIC0gZXhpdGluZy4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJzJ2hhIG9idGluZ3V0IEVPRiB0cmVzIHZlZ2FkZXMgLSBzJ2VzdMOgIHNvcnRpbnQuLi5cbiIKKworI34gbXNnaWQgImxhc3Q6IG1hbGxvYyBmYWlsdXJlLlxuIgorI34gbXNnc3RyICJsYXN0OiBubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBtYWxsb2MuXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogT3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICJsb2dpbjogTm8gaGkgaGEgcHJvdSBtZW3DsnJpYVxuIgorCisjfiBtc2dpZCAibG9naW46IG5vIHNoZWxsOiAlcy5cbiIKKyN+IG1zZ3N0ciAibG9naW46IG5vIGhpIGhhIGwnaW50w6hycHJldCBkJ29yZHJlczogJXMuXG4iCisKKyN+IG1zZ2lkICJuZXdncnA6IHNldGdpZCIKKyN+IG1zZ3N0ciAibmV3Z3JwOiBzZXRnaWQiCisKKyN+IG1zZ2lkICJuZXdncnA6IFBlcm1pc3Npb24gZGVuaWVkIgorI34gbXNnc3RyICJuZXdncnA6IFMnaGEgZGVuZWdhdCBlbCBwZXJtw61zIgorCisjfiBtc2dpZCAibmV3Z3JwOiBzZXR1aWQiCisjfiBtc2dzdHIgIm5ld2dycDogc2V0dWlkIgorCisjfiBtc2dpZCAiJXM6IENhbm5vdCBmb3JrXG4iCisjfiBtc2dzdHIgIiVzOiBObyBzJ2hhIHBvZ3V0IGJpZnVyY2FyXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3QgcmVhZCAlcy5cbiIKKyN+IG1zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgbGxlZ2lyICVzLlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHN0YXQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVzOiBubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIHN0YXQgYWwgZml0eGVyIHRlbXBvcmFsLlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHJlYWQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVzOiBubyBzJ2hhcG9ndXQgbGxlZ2lyIGVsIGZpdHhlciB0ZW1wb3JhbC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3I6ICVzIgorI34gbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGQnZXNjcmlwdHVyYSBhICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFyc2UgZXJyb3IgYXQgbGluZXM6ICIKKyN+IG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIGFuZCAlZC4iCisjfiBtc2dzdHIgIiBpICIKKworI34gbXNnaWQgInJlbmljZTogJXM6IHVua25vd24gdXNlclxuIgorI34gbXNnc3RyICJyZW5pY2U6ICVzOiB1c3VhcmkgZGVzY29uZWd1dFxuIgorCisjfiBtc2dpZCAicmVuaWNlOiAlczogYmFkIHZhbHVlXG4iCisjfiBtc2dzdHIgInJlbmljZTogJXM6IHZhbG9yIGluY29ycmVjdGVcbiIKKworI34gbXNnaWQgIm9kOiBvZCgxKSBoYXMgYmVlbiBkZXByZWNhdGVkIGZvciBoZXhkdW1wKDEpLlxuIgorI34gbXNnc3RyICJvZDogb2QoMSkgaGEgcXVlZGF0IG9ic29sZXQgcGVyIGEgaGV4ZHVtcCgxKS5cbiIKKworI34gbXNnaWQgIm9kOiBoZXhkdW1wKDEpIGNvbXBhdGliaWxpdHkgZG9lc24ndCBzdXBwb3J0IHRoZSAtJWMgb3B0aW9uJXNcbiIKKyN+IG1zZ3N0ciAib2Q6IGxhIGNvbXBhdGliaWxpdGF0IGFtYiBoZXhkdW1wKDEpIG5vIHBlcm1ldCBsJ29wY2nDsyAtJWMgJXNcbiIKKworI34gbXNnaWQgIjsgc2VlIHN0cmluZ3MoMSkuIgorI34gbXNnc3RyICI7IHZlZ2V1IHN0cmluZ3MoMSkuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGVuZHMgaW4gdGhlIGZpbmFsIHBhcnRpYWwgY3lsaW5kZXIiCisjfiBtc2dzdHIgIkxhIHBhcnRpY2nDsyBhY2FiYSBlbiBsJ8O6bHRpbSBjaWxpbmRyZSBwYXJjaWFsIgorCisjfiBtc2dpZCAiJXM6IG91dCBvZiBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAiJXM6IG5vIGhpIGhhIHByb3UgbWVtw7JyaWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogaWxsZWdhbCBpbnRlcnZhbCAlcyBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVzOiBjbGF1IGlswrdsZWdhbCAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgdGltZV90IHZhbHVlICVzXG4iCisjfiBtc2dzdHIgIiVzOiBvcGNpw7MgaWzCt2xlZ2FsIC0tICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBleGVjdXRlICVzOiAlc1xuIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHRvcm5hciBhIG5vbWVuYXIgJXMgcGVyICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJ0YyByZWFkIgorI34gbXNnc3RyICIsIGEgcHVudCIKKworI34gbXNnaWQgIm1hbGxvYyBlcnJvciIKKyN+IG1zZ3N0ciAiZXJyb3IgZW4gbCdhc3NpZ25hY2nDsyBkZSBtZW3DsnJpYSIKKworI34gbXNnaWQgInVzYWdlOiBjb2x1bW4gWy10eF0gWy1jIGNvbHVtbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiZm9ybWEgZCfDunM6IGNvbHVtbiBbLXR4XSBbLWMgY29sdW1uZXNdIFtmaXR4ZXIgLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk91dCBvZiBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAiUydoYSBlc2dvdGF0IGxhIG1lbcOycmlhIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzcGFjZSIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBlc3BhaSBkZSBtZW3DsnJpYSBpbnRlcm3DqGRpYVxuIgorCisjfiBtc2dpZCAidXNhZ2U6IHJldiBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgImZvcm1hIGQnw7pzOiByZXYgW2ZpdHhlciAuLi5dXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyLlxuIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIGxhIG1lbcOycmlhIHRlbXBvcmFsLlxuIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSB3aGVuIGdyb3dpbmcgYnVmZmVyLlxuIgorI34gbXNnc3RyICJTJ2hhIGVzZ290YXQgbGEgbWVtw7JyaWEgZW4gYXVnbWVudGFyIGxhIG1pZGEgZGUgbGEgbWVtw7JyaWEgaW50ZXJtw6hkaWEuXG4iCisKKyN+IG1zZ2lkICIlczogaWxsZWdhbCBvcHRpb24gLS0gJWNcbiIKKyN+IG1zZ3N0ciAiJXM6IG9wY2nDsyBpbMK3bGVnYWwgLS0gJWNcbiIKKworI34gbXNnaWQgInNlZ21lbnRzIGFsbG9jYXRlZCAlZFxuIgorI34gbXNnc3RyICJzZWdtZW50cyBhc3NpZ25hdHMgJWRcbiIKKworI34gbXNnaWQgInBhZ2VzIGFsbG9jYXRlZCAlbGRcbiIKKyN+IG1zZ3N0ciAicMOgZ2luZXMgYXNzaWduYWRlcyAlbGRcbiIKKworI34gbXNnaWQgInBhZ2VzIHJlc2lkZW50ICAlbGRcbiIKKyN+IG1zZ3N0ciAicMOgZ2luZXMgcmVzaWRlbnRzICVsZFxuIgorCisjfiBtc2dpZCAicGFnZXMgc3dhcHBlZCAgICVsZFxuIgorI34gbXNnc3RyICJww6BnaW5lcyBpbnRlcmNhbnZpYWRlcyAlbGRcbiIKKworI34gbXNnaWQgIlN3YXAgcGVyZm9ybWFuY2U6ICVsZCBhdHRlbXB0c1x0ICVsZCBzdWNjZXNzZXNcbiIKKyN+IG1zZ3N0ciAiUmVuZGltZW50IGRlIGwnaW50ZXJjYW52aTogJWxkIGludGVudHNcdCAlbGQgZW5jZXJ0c1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHJ1bm5pbmcgcHJvZ3JhbW1lOiBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBleGVjdXRhciBmaW5hbHByb2dcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIG9mZnNldCAnJXMnIHZhbHVlIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiVmFsb3IgZXN0YWJsZXJ0IGludsOgbGlkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImN1cnJlbnQiCisjfiBtc2dzdHIgIm5jb3VudCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJuZXciCisjfiBtc2dzdHIgIk5vdmEiCisKKyN+IG1zZ2lkICJMaW51eCBleHQyIgorI34gbXNnc3RyICJMaW51eCBleHQyIgorCisjfiBtc2dpZCAiTGludXggZXh0MyIKKyN+IG1zZ3N0ciAiTGludXggZXh0MyIKKworI34gbXNnaWQgIkxpbnV4IFhGUyIKKyN+IG1zZ3N0ciAiTGludXggWEZTIgorCisjfiBtc2dpZCAiTGludXggSkZTIgorI34gbXNnc3RyICJMaW51eCBKRlMiCisKKyN+IG1zZ2lkICJMaW51eCBSZWlzZXJGUyIKKyN+IG1zZ3N0ciAiTGludXggUmVpc2VyRlMiCisKKyN+IG1zZ2lkICJPUy8yIEhQRlMiCisjfiBtc2dzdHIgIk9TLzIgSFBGUyIKKworI34gbXNnaWQgIk9TLzIgSUZTIgorI34gbXNnc3RyICJPUy8yIElGUyIKKworI34gbXNnaWQgIk5URlMiCisjfiBtc2dzdHIgIk5URlMiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IGZkaXNrIFstYiBTU1pdIFstdV0gRElTSyAgICAgQ2hhbmdlIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gIiAgICAgICBmZGlzayAtbCBbLWIgU1NaXSBbLXVdIERJU0sgIExpc3QgcGFydGl0aW9uIHRhYmxlKHMpXG4iCisjfiAiICAgICAgIGZkaXNrIC1zIFBBUlRJVElPTiAgICAgICAgICAgR2l2ZSBwYXJ0aXRpb24gc2l6ZShzKSBpbiBibG9ja3NcbiIKKyN+ICIgICAgICAgZmRpc2sgLXYgICAgICAgICAgICAgICAgICAgICBHaXZlIGZkaXNrIHZlcnNpb25cbiIKKyN+ICJIZXJlIERJU0sgaXMgc29tZXRoaW5nIGxpa2UgL2Rldi9oZGIgb3IgL2Rldi9zZGFcbiIKKyN+ICJhbmQgUEFSVElUSU9OIGlzIHNvbWV0aGluZyBsaWtlIC9kZXYvaGRhN1xuIgorI34gIi11OiBnaXZlIFN0YXJ0IGFuZCBFbmQgaW4gc2VjdG9yIChpbnN0ZWFkIG9mIGN5bGluZGVyKSB1bml0c1xuIgorI34gIi1iIDIwNDg6IChmb3IgY2VydGFpbiBNTyBkaXNrcykgdXNlIDIwNDgtYnl0ZSBzZWN0b3JzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJGb3JtYSBkJ8O6czogZmRpc2sgWy1iIFNTWl0gWy11XSBESVNDIENhbnZpYSBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zXG4iCisjfiAiICAgICAgZmRpc2sgLWwgWy1iIFNTWl0gWy11XSBESVNDICAgIExsaXN0YSBsZXMgdGF1bGVzIGRlIHBhcnRpY2lvbnNcbiIKKyN+ICIgICAgICBmZGlzayAtcyBQQVJUSUNJw5MgICAgICAgICAgICAgIE1vc3RyYSBsYSBtaWRhIGRlIGxhIHBhcmNpY2nDsyBlbiBibG9jc1xuIgorI34gIiAgICAgIGZkaXNrIC12ICAgICAgICAgICAgICAgICAgICAgICBNb3N0cmEgbGEgdmVyc2nDsyBkZSBmZGlza1xuIgorI34gIkRJU0Mgw6lzIGRlbCB0aXB1cyAvZGV2L2hkYiBvIC9kZXYvc2RhIGkgUEFSVElDScOTIMOpcyBkZWwgdGlwdXMgL2Rldi9oZGE3XG4iCisjfiAiLXU6IE1vc3RyYSBsJ2luaWNpIGkgZWwgZmluYWwgZGUgbGEgdW5pdGF0IGVuIHNlY3RvcnMgKG5vIGVuIGNpbGluZHJlcylcbiIKKyN+ICItYiAyMDQ4OiAocGVyIGFscyBkaXNjcyBNTykgdXNhIDIwNDggb2N0ZXRzIHBlciBzZWN0b3JcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogZmRpc2sgWy1sXSBbLWIgU1NaXSBbLXVdIGRldmljZVxuIgorI34gIkUuZy46IGZkaXNrIC9kZXYvaGRhICAoZm9yIHRoZSBmaXJzdCBJREUgZGlzaylcbiIKKyN+ICIgIG9yOiBmZGlzayAvZGV2L3NkYyAgKGZvciB0aGUgdGhpcmQgU0NTSSBkaXNrKVxuIgorI34gIiAgb3I6IGZkaXNrIC9kZXYvZWRhICAoZm9yIHRoZSBmaXJzdCBQUy8yIEVTREkgZHJpdmUpXG4iCisjfiAiICBvcjogZmRpc2sgL2Rldi9yZC9jMGQwICBvcjogZmRpc2sgL2Rldi9pZGEvYzBkMCAgKGZvciBSQUlEIGRldmljZXMpXG4iCisjfiAiICAuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkZvcm1hIGQnw7pzOiBmZGlzayBbLWxdIFstYiBTU1pdIFstdV0gZGlzcG9zaXRpdVxuIgorI34gIlAuZXguOiBmZGlzayAvZGV2L2hkYSAgKHBlciBhbCBwcmltZXIgZGlzYyBJREUpXG4iCisjfiAiICAgIG86IGZkaXNrIC9kZXYvc2RjICAocGVyIGFsIHRlcmNlciBkaXNjIFNDU0kpXG4iCisjfiAiICAgIG86IGZkaXNrIC9kZXYvZWRhICAocGVyIGEgbGEgcHJpbWVyYSB1bml0YXQgUFMvMiBFU0RJKVxuIgorI34gIiAgICBvOiBmZGlzayAvZGV2L3JkL2MwZDAgbzogZmRpc2sgL2Rldi9pZGEvYzBkMCAgKHBlciBhbHMgZGlzcG9zaXRpdXMgUkFJRClcbiIKKyN+ICIgIC4uLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlRoZSBudW1iZXIgb2YgY3lsaW5kZXJzIGZvciB0aGlzIGRpc2sgaXMgc2V0IHRvICVkLlxuIgorI34gIlRoZXJlIGlzIG5vdGhpbmcgd3Jvbmcgd2l0aCB0aGF0LCBidXQgdGhpcyBpcyBsYXJnZXIgdGhhbiAxMDI0LFxuIgorI34gImFuZCBjb3VsZCBpbiBjZXJ0YWluIHNldHVwcyBjYXVzZSBwcm9ibGVtcyB3aXRoOlxuIgorI34gIjEpIHNvZnR3YXJlIHRoYXQgcnVucyBhdCBib290IHRpbWUgKGUuZy4sIG9sZCB2ZXJzaW9ucyBvZiBMSUxPKVxuIgorI34gIjIpIGJvb3RpbmcgYW5kIHBhcnRpdGlvbmluZyBzb2Z0d2FyZSBmcm9tIG90aGVyIE9Tc1xuIgorI34gIiAgIChlLmcuLCBET1MgRkRJU0ssIE9TLzIgRkRJU0spXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJFbCBub21icmUgZGUgY2lsaW5kcmVzIHBlciBhIGFxdWVzdCBkaXNjIGVzdMOgIGVzdGFibGVydCBlbiAlZC5cbiIKKyN+ICJBaXjDsiBubyDDqXMgaW5jb3JyZWN0ZSwgcGVyw7Igw6lzIG3DqXMgZ3JhbiBxdWUgMTAyNCBpIHBvZHLDrWV1XG4iCisjfiAidGVuaXIgcHJvYmxlbWVzIGFtYiBjZXJ0ZXMgY29uZmlndXJhY2lvbnMgZGU6XG4iCisjfiAiMSkgUHJvZ3JhbWFyaSBxdWUgcydleGVjdXRhIGR1cmFudCBkJ2FycmVuY2FkYSAocC5leC4sIHZlcnNpb25zXG4iCisjfiAiICAgYW50aWd1ZXMgZGVsIExJTE8pXG4iCisjfiAiMikgRW4gYXJyZW5jYXIgaSBwYXJ0aWNpb25hciBkZXMgZCd1biBhbHRyZSBTT1xuIgorI34gIiAgIChwLmV4LiwgRE9TIEZESVNLLCBPUy8yIEZESVNLKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBubyBtZWRpdW0gZm91bmQgb24gJXMgLi4udHJ5aW5nIGFnYWluXG4iCisjfiBtc2dzdHIgIm1vdW50OiBubyBzJ2hhIHRyb2JhdCAlczsgcydlc3TDoCBjcmVhbnQuLi5cbiIKKworI34gbXNnaWQgInVzYWdlIDogJXMgLWFzbXEgLXRjbHVwIFxuIgorI34gbXNnc3RyICJmb3JtYSBkJ8O6czogJXMgLWFzbXEgLXRjbHVwIFxuIgorCisjfiBtc2dpZCAiXHQlcyBbLXMgLW0gLXFdIC1pIGlkXG4iCisjfiBtc2dzdHIgIiAgICAgICVzIFstcyAtbSAtcV0gLWkgaWRlbnRpZmljYWRvclxuIgorCisjfiBtc2dpZCAiXHQlcyAtaCBmb3IgaGVscC5cbiIKKyN+IG1zZ3N0ciAiICAgICAgJXMgLWggcGVyIGEgYWp1ZGEuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiUmVzb3VyY2UgU3BlY2lmaWNhdGlvbjpcbiIKKyN+ICJcdC1tIDogc2hhcmVkX21lbVxuIgorI34gIlx0LXEgOiBtZXNzYWdlc1xuIgorI34gbXNnc3RyICIiCisjfiAiRXNwZWNpZmljYWNpw7MgZGVscyByZWN1cnNvczpcbiIKKyN+ICJcdC1tIDogbWVtw7JyaWEgY29tcGFydGlkYVxuIgorI34gIlx0LXEgOiBtaXNzYXRnZXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdC1zIDogc2VtYXBob3Jlc1xuIgorI34gIlx0LWEgOiBhbGwgKGRlZmF1bHQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcdC1zIDogc2Vtw6Bmb3JzXG4iCisjfiAiXHQtYSA6IHRvdCAocGVyIGRlZmVjdGUpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiT3V0cHV0IEZvcm1hdDpcbiIKKyN+ICJcdC10IDogdGltZVxuIgorI34gIlx0LXAgOiBwaWRcbiIKKyN+ICJcdC1jIDogY3JlYXRvclxuIgorI34gbXNnc3RyICIiCisjfiAiRm9ybWF0IGRlIGwnZWl4aWRhOlxuIgorI34gIlx0LXQgOiB0ZW1wc1xuIgorI34gIlx0LXAgOiBwaWRcbiIKKyN+ICJcdC1jIDogY3JlYWRvclxuIgorCisjfiBtc2dpZCAiIgorI34gIlx0LWwgOiBsaW1pdHNcbiIKKyN+ICJcdC11IDogc3VtbWFyeVxuIgorI34gbXNnc3RyICIiCisjfiAiXHQtbCA6IGzDrW1pdHNcbiIKKyN+ICJcdC11IDogcmVzdW1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogJXMiCisjfiBtc2dzdHIgIkVycm9yIFJFOiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciBwYXJzZTogJXMiCisjfiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gbGxlZ2lyICVzXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogcmRldiBbIC1ydiBdIFsgLW8gT0ZGU0VUIF0gWyBJTUFHRSBbIFZBTFVFIFsgT0ZGU0VUIF0gXSBdIgorI34gbXNnc3RyICJmb3JtYSBkJ8O6czogcmRldiBbIC1ydiBdIFsgLW8gREVTUExBw4dBTUVOVCBdIFsgSU1BVEdFIFsgVkFMT1IgWyBERVNQTEHDh0FNRU5UIF0gXSBdIgorCisjfiBtc2dpZCAiICByZGV2IC9kZXYvZmQwICAob3IgcmRldiAvbGludXgsIGV0Yy4pIGRpc3BsYXlzIHRoZSBjdXJyZW50IFJPT1QgZGV2aWNlIgorI34gbXNnc3RyICIgIHJkZXYgL2Rldi9mZDAgIChvIHJkZXYgL2xpbnV4LCBldGMuKSBtb3N0cmEgZWwgZGlzcG9zaXRpdSBST09UIGFjdHVhbCIKKworI34gbXNnaWQgIiAgcmRldiAvZGV2L2ZkMCAvZGV2L2hkYTIgICAgICAgICBzZXRzIFJPT1QgdG8gL2Rldi9oZGEyIgorI34gbXNnc3RyICIgIHJkZXYgL2Rldi9mZDAgL2Rldi9oZGEyICAgICAgICAgZXN0YWJsZWl4IGVsIFJPT1QgYSAvZGV2L2hkYTIiCisKKyN+IG1zZ2lkICIgIHJkZXYgLVIgL2Rldi9mZDAgMSAgICAgICAgICAgICAgc2V0IHRoZSBST09URkxBR1MgKHJlYWRvbmx5IHN0YXR1cykiCisjfiBtc2dzdHIgIiAgcmRldiAtUiAvZGV2L2ZkMCAxICAgICAgICAgICAgICBlc3RhYmxlaXggZWxzIFJPT1RGTEFHUyAoZXN0YXQgZGUgbm9tw6lzIGxlY3R1cmEpIgorCisjfiBtc2dpZCAiICByZGV2IC1yIC9kZXYvZmQwIDYyNyAgICAgICAgICAgIHNldCB0aGUgUkFNRElTSyBzaXplIgorI34gbXNnc3RyICIgIHJkZXYgLXIgL2Rldi9mZDAgNjI3ICAgICAgICAgICAgZXN0YWJsZWl4IGxhIG1pZGEgZGVsIFJBTURJU0siCisKKyN+IG1zZ2lkICIgIHJkZXYgLXYgL2Rldi9mZDAgMSAgICAgICAgICAgICAgc2V0IHRoZSBib290dXAgVklERU9NT0RFIgorI34gbXNnc3RyICIgIHJkZXYgLXYgL2Rldi9mZDAgMSAgICAgICAgICAgICAgZXN0YWJsZWl4IGVsIFZJREVPTU9ERSBkZSBsJ2FycmVuY2FkYSIKKworI34gbXNnaWQgIiAgcmRldiAtbyBOIC4uLiAgICAgICAgICAgICAgICAgICB1c2UgdGhlIGJ5dGUgb2Zmc2V0IE4iCisjfiBtc2dzdHIgIiAgcmRldiAtbyBOIC4uLiAgICAgICAgICAgICAgICAgICB1c2FyIGVsIGRlc3BsYcOnYW1lbnQgZCdvY3RldHMgTiIKKworI34gbXNnaWQgIiAgcm9vdGZsYWdzIC4uLiAgICAgICAgICAgICAgICAgICBzYW1lIGFzIHJkZXYgLVIiCisjfiBtc2dzdHIgIiAgcm9vdGZsYWdzIC4uLiAgICAgICAgICAgICAgICAgICBlbCBtYXRlaXggcXVlIHJkZXYgLVIiCisKKyN+IG1zZ2lkICIgIHJhbXNpemUgLi4uICAgICAgICAgICAgICAgICAgICAgc2FtZSBhcyByZGV2IC1yIgorI34gbXNnc3RyICIgIHJhbXNpemUgLi4uICAgICAgICAgICAgICAgICAgICAgZWwgbWF0ZWl4IHF1ZSByZGV2IC1yIgorCisjfiBtc2dpZCAiICB2aWRtb2RlIC4uLiAgICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgcmRldiAtdiIKKyN+IG1zZ3N0ciAiICB2aWRtb2RlIC4uLiAgICAgICAgICAgICAgICAgICAgIGVsIG1hdGVpeCBxdWUgcmRldiAtdiIKKworI34gbXNnaWQgIk5vdGU6IHZpZGVvIG1vZGVzIGFyZTogLTM9QXNrLCAtMj1FeHRlbmRlZCwgLTE9Tm9ybWFsVmdhLCAxPWtleTEsIDI9a2V5MiwuLi4iCisjfiBtc2dzdHIgIiIKKyN+ICJOb3RhOiBlbHMgbW9kZXMgZGUgdsOtZGVvIHPDs246IC0zPVByZWd1bnRhLCAtMj1Fc3TDqHMsIC0xPU5vcm1hbFZnYSxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxPXRlY2xhMSwgMj10ZWNsYTIsIC4uLiAiCisKKyN+IG1zZ2lkICIgICAgICB1c2UgLVIgMSB0byBtb3VudCByb290IHJlYWRvbmx5LCAtUiAwIGZvciByZWFkL3dyaXRlLiIKKyN+IG1zZ3N0ciAiICAgICAgdXNldSAtUiAxIHBlciBtdW50YXIgbCdhcnJlbCBkZSBub23DqXMgbGVjdHVyYTsgLVIgMCBwZXIgYSBsZWN0dXJhL2VzY3JpcHR1cmEuIgorCisjfiBtc2dpZCAibWlzc2luZyBjb21tYSIKKyN+IG1zZ3N0ciAiZmFsdGEgdW5hIGNvbWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAib3V0IGlmIG1lbW9yeSIKKyN+IG1zZ3N0ciAibm8gaGkgaGEgcHJvdSBtZW3DsnJpYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAidW5pdDogc2VjdG9yc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIlbGxkIHNlY3RvcnMgbm8gYXNzaWduYXRzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIHN0YXJ0PSU5bHUiCisjfiBtc2dzdHIgImluaWNpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiwgYm9vdGFibGUiCisjfiBtc2dzdHIgIkFJWCBhcnJlbmNhYmxlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNsb2NrIGluIFVUQywgbm90IGNoYW5nZWQuXG4iCisjfiBtc2dzdHIgIk5vIHMnaGEgY2FudmlhdCBsJ2ludMOocnByZXQgZCdvcmRyZXMuXG4iCisKKyN+IG1zZ2lkICIlczogZXJyb3I6IGxhYmVsIG9ubHkgd2l0aCB2MSBzd2FwIGFyZWFcbiIKKyN+IG1zZ3N0ciAiJXM6IGVycm9yOiBldGlxdWV0YSBub23DqXMgYW1iIGVzcGFpIGQnaW50ZXJjYW52aSB2MVxuIgorCisjfiBtc2dpZCAiZmF0YWw6IGZpcnN0IHBhZ2UgdW5yZWFkYWJsZSIKKyN+IG1zZ3N0ciAiZmF0YWw6IG5vIGVzIHBvdCBsbGVnaXIgbGEgcHJpbWVyYSBww6BnaW5hIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIlczogRGV2aWNlICclcycgY29udGFpbnMgYSB2YWxpZCBTdW4gZGlza2xhYmVsLlxuIgorI34gIlRoaXMgcHJvYmFibHkgbWVhbnMgY3JlYXRpbmcgdjAgc3dhcCB3b3VsZCBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlLlxuIgorI34gIk5vIHN3YXAgd2FzIGNyZWF0ZWQuIElmIHlvdSByZWFsbHkgd2FudCB0byBjcmVhdGUgdjAgc3dhcCBvbiB0aGF0IGRldmljZSxcbiIKKyN+ICJ1c2UgdGhlIC1mIG9wdGlvbiB0byBmb3JjZSBpdC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBlbCBkaXNwb3NpdGl1ICclcycgY29udMOpIHVuYSBldGlxdWV0YSBkZSBkaXNjIFN1biB2w6BsaWRhLlxuIgorI34gIkFpeMOyIHByb2JhYmxlbWVudCBzaWduaWZpY2EgcXVlIHNpIGVzIGNyZWEgdW4gZXNwYWkgZCdpbnRlcmNhbnZpIHYwLCBlc1xuIgorI34gImRlc3RydWlyw6AgbGEgdGF1bGEgZGUgcGFydGljaW9ucy5cbiIKKyN+ICJObyBzJ2hhIGNyZWF0IGwnZXNwYWkgZCdpbnRlcmNhbnZpLiBTaSBkZSByZWFsbWVudCB2b2xldSBjcmVhciB1biBlc3BhaVxuIgorI34gImQnaW50ZXJjYW52aSB2MCBlbiBhcXVlc3QgZGlzcG9zaXRpdSwgdXNldSBsJ29wY2nDsyAtZiBwZXIgYSBmb3LDp2FyLWhvLlxuIgorCisjfiBtc2dpZCAibmFtZWk6IGNvdWxkIG5vdCBjaGRpciB0byByb290IVxuIgorI34gbXNnc3RyICJuYW1laTogbm8gcydoYSBwb2d1dCBleGVjdXRhciBjaGRpciBhbCBkaXJlY3RvcmkgYXJyZWxcbiIKKworI34gbXNnaWQgIm5hbWVpOiBjb3VsZCBub3Qgc3RhdCByb290IVxuIgorI34gbXNnc3RyICJuYW1laTogbm8gcydoYSBwb2d1dCBleGVjdXRhciBzdGF0IGFsIGRpcmVjdG9yaSBhcnJlbFxuIgorCisjfiBtc2dpZCAibmFtZWk6IGJ1ZiBvdmVyZmxvd1xuIgorI34gbXNnc3RyICJuYW1laTogZGVzYm9yZGFtZW50IGRlIGxhIG1lbcOycmlhIGludGVybcOoZGlhXG4iCisKKyN+IG1zZ2lkICIgPyBjb3VsZCBub3QgY2hkaXIgaW50byAlcyAtICVzICglZClcbiIKKyN+IG1zZ3N0ciAiID8gbm8gcydoYSBwb2d1dCBleGVjdXRhciBjaGRpciBhICVzIC0gJXMgKCVkKVxuIgorCisjfiBtc2dpZCAiID8gcHJvYmxlbXMgcmVhZGluZyBzeW1saW5rICVzIC0gJXMgKCVkKVxuIgorI34gbXNnc3RyICIgPyBoaSBoYSBoYWd1dCBwcm9ibGVtZXMgZW4gbGxlZ2lyIGwnZW5sbGHDpyBzaW1iw7JsaWMgJXMgLSAlcyAoJWQpXG4iCisKKyN+IG1zZ2lkICIgICoqKiBFWENFRURFRCBVTklYIExJTUlUIE9GIFNZTUxJTktTICoqKlxuIgorI34gbXNnc3RyICIgICoqKiBTJ0hBIEVYQ0VESVQgRUwgTMONTUlUIEQnRU5MTEHDh09TIFNJTULDkkxJQ1MgREUgVU5JWCAqKipcbiIKKworI34gbXNnaWQgIm5hbWVpOiB1bmtub3duIGZpbGUgdHlwZSAwJTA2byBvbiBmaWxlICVzXG4iCisjfiBtc2dzdHIgIm5hbWVpOiB0aXB1cyBkZSBmaXR4ZXIgZGVzY29uZWd1dCAwJTA2byBlbiBlbCBmaXR4ZXIgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogZ29pbmcgdG8gbW91bnQgJXMgYnkgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGVzIG11bnRhcsOgICVzIHBlciBVVUlEXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IG5vIExBQkVMPSwgbm8gVVVJRD0sIGdvaW5nIHRvIG1vdW50ICVzIGJ5IHBhdGhcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGVzIG11bnRhcsOgICVzIHBlciBldGlxdWV0YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB3YWl0cGlkOiAlc1xuIgorI34gbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworI34gbXNnaWQgImNvdWxkIG5vdCB1bW91bnQgJXMgLSB0cnlpbmcgJXMgaW5zdGVhZFxuIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIHVtb3VudCBlbiAlcyAtIGVzIHByb3ZhcsOgIGFtYiAlc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnNcbiIKKworI34gbXNnaWQgIiUtOHMgJS0xMHMgJS0yNi4yNHMgJS0yNi4yNHNcbiIKKyN+IG1zZ3N0ciAiJS04cyAlLTEwcyAlLTI2LjI0cyAlLTI2LjI0c1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKworI34gbXNnaWQgIiUtOHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKyN+IG1zZ3N0ciAiJS04cyAlLTEwcyAgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTJzICUtMTJzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTJzICUtMTJzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2hmbjogUEFNIEZhaWx1cmUsIGFib3J0aW5nOiAlc1xuIgorI34gbXNnc3RyICJsb2dpbjogUEFNIGhhIGZhbGxhdDsgcydlc3TDoCBhdm9ydGFudDogJXNcbiIKKworI34gbXNnaWQgIkNhbid0IHJlYWQgJXMsIGV4aXRpbmcuIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGxsZWdpciAlczsgcydlc3TDoCBzb3J0aW50LiIKKworI34gbXNnaWQgImxvZ2luOiBQQU0gRmFpbHVyZSwgYWJvcnRpbmc6ICVzXG4iCisjfiBtc2dzdHIgImxvZ2luOiBQQU0gaGEgZmFsbGF0OyBzJ2VzdMOgIGF2b3J0YW50OiAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGJhY2tncm91bmRpbmcgXCIlc1wiXG4iCisjfiBtc2dzdHIgIm1vdW50OiBzJ2VzdMOgIGV4ZWN1dGFudCDCqyVzwrsgZW4gc2Vnb24gcGzDoFxuIgorCisjfiBtc2dpZCAibW91bnQ6IGdpdmluZyB1cCBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHMnZXN0w6AgYWJhbmRvbmFudCDCqyVzwrtcbiIKKworI34gbXNnaWQgImAlcyc6IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdFxuIgorI34gbXNnc3RyICLCqyVzwrs6IGRpcmVjdG9yaSBpbmNvcnJlY3RlOiDCqy7CuyBubyDDqXMgZWwgcHJpbWVyXG4iCisKKyN+IG1zZ2lkICJgJXMnOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIgorI34gbXNnc3RyICLCqyVzwrs6IGRpcmVjdG9yaSBpbmNvcnJlY3RlOiDCqy4uwrsgbm8gw6lzIGVsIHNlZ29uXG4iCisKKyN+IG1zZ2lkICJjYWxsaW5nIG9wZW5fdHR5XG4iCisjfiBtc2dzdHIgInMnZXN0w6AgY3JpZGFudCBvcGVuX3R0eVxuIgorCisjfiBtc2dpZCAiY2FsbGluZyB0ZXJtaW9faW5pdFxuIgorI34gbXNnc3RyICJzJ2VzdMOgIGNyaWRhbnQgdGVybWlvX2luaXRcbiIKKworI34gbXNnaWQgIndyaXRpbmcgaW5pdCBzdHJpbmdcbiIKKyN+IG1zZ3N0ciAicydlc3TDoCBlc2NyaXZpbnQgbGEgY2FkZW5hIGluaWNpYWxcbiIKKworI34gbXNnaWQgImJlZm9yZSBhdXRvYmF1ZFxuIgorI34gbXNnc3RyICJhYmFucyBkZWwgbW9kZSBhdXRvYmF1ZFxuIgorCisjfiBtc2dpZCAid2FpdGluZyBmb3IgY3ItbGZcbiIKKyN+IG1zZ3N0ciAicydlc3TDoCBlc3BlcmFudCBjci1sZlxuIgorCisjfiBtc2dpZCAicmVhZGluZyBsb2dpbiBuYW1lXG4iCisjfiBtc2dzdHIgInMnZXN0w6AgbGxlZ2ludCBlbCBub20gZCdlbnRyYWRhXG4iCisKKyN+IG1zZ2lkICJhZnRlciBnZXRvcHQgbG9vcFxuIgorI34gbXNnc3RyICJkZXNwcsOpcyBkZWwgYnVjbGUgZ2V0b3B0XG4iCisKKyN+IG1zZ2lkICJleGl0aW5nIHBhcnNlYXJnc1xuIgorI34gbXNnc3RyICJzJ2VzdMOgIHRyYWllbnQgcGFyc2VhcmdzXG4iCisKKyN+IG1zZ2lkICJlbnRlcmVkIHBhcnNlX3NwZWVkc1xuIgorI34gbXNnc3RyICJzJ2hhIGVudHJhdCBwYXJzZV9zcGVlZHNcbiIKKworI34gbXNnaWQgImV4aXRpbmcgcGFyc2VzcGVlZHNcbiIKKyN+IG1zZ3N0ciAicydlc3TDoCB0cmFpZW50IHBhcnNlc3BlZWRzXG4iCisKKyN+IG1zZ2lkICJvcGVuKDIpXG4iCisjfiBtc2dzdHIgIm9wZW4oMilcbiIKKworI34gbXNnaWQgImR1cGluZ1xuIgorI34gbXNnc3RyICJkdXAoKSBlbiBjdXJzXG4iCisKKyN+IG1zZ2lkICJ0ZXJtX2lvIDJcbiIKKyN+IG1zZ3N0ciAidGVybV9pbyAyXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAvZXRjL3NoZWxsc1xuIgorI34gbXNnc3RyICJBdsOtczogXCIlc1wiIG5vIGVzdMOgIGxsaXN0YXQgYSAvZXRjL3NoZWxsc1xuIgorCisjfiBtc2dpZCAidGltZW91dCA9ICVkLCBxdWlldCA9ICVkLCByZWJvb3QgPSAlZFxuIgorI34gbXNnc3RyICJ0aW1lb3V0ID0gJWQsIHF1aWV0ID0gJWQsIHJlYm9vdCA9ICVkXG4iCisKKyN+IG1zZ2lkICJjb3VsZG4ndCByZWFkICVzLCBhbmQgY2Fubm90IGlvY3RsIGR1bXBcbiIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgJXMsIGkgbm8gcydoYSBwb2d1dCBlZmVjdHVhciB1biBib2xjYXQgZCdpb2N0bFxuIgorCisjfiBtc2dpZCAiLCBvZmZzZXQgJWxsZCIKKyN+IG1zZ3N0ciAiLCBkZXNwbGHDp2FtZW50ICVsbGQiCisKKyN+IG1zZ2lkICIlczogY291bGQgbm90IGZpbmQgYW55IGRldmljZSAvZGV2L2xvb3AjIgorI34gbXNnc3RyICIlczogbm8gcydoYSB0cm9iYXQgY2FwIGRpc3Bvc2l0aXUgL2Rldi9sb29wIyIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgJXMgLWEgWy1lXSBbLXZdXG4iCisjfiAiICAgICAgICVzIFstdl0gWy1wIHByaW9yaXR5XSBzcGVjaWFsfExBQkVMPXZvbHVtZV9uYW1lIC4uLlxuIgorI34gIiAgICAgICAlcyBbLXNdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJmb3JtYSBkJ8O6czogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgICAgICAlcyAtYSBbLWVdIFstdl1cbiIKKyN+ICIgICAgICAgICAgICAlcyBbLXZdIFstcCBwcmlvcml0YXRdIGVzcGVjaWFsfEVUSVFVRVRBPW5vbV92b2x1bS4uLlxuIgorI34gIiAgICAgICAgICAgICVzIFstc11cbiIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgJXMgLWEgWy12XVxuIgorI34gIiAgICAgICAlcyBbLXZdIHNwZWNpYWwgLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJmb3JtYSBkJ8O6czogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgICAgICAlcyAtYSBbLXZdXG4iCisjfiAiICAgICAgICAgICAgJXMgWy12XSBlc3BlY2lhbCAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2Fubm90IGNhbm9uaWNhbGl6ZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgb2JyaXIgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogcmVuaWNlIHByaW9yaXR5IFsgWyAtcCBdIHBpZHMgXSBbIFsgLWcgXSBwZ3JwcyBdIFsgWyAtdSBdIHVzZXJzIF1cbiIKKyN+IG1zZ3N0ciAiZm9ybWEgZCfDunM6IHJlbmljZSBwcmlvcml0YXQgWyBbIC1wIF0gcGlkcyBdIFsgWyAtZyBdIHBncnBzIF0gWyBbIC11IF0gdXN1YXJpcyBdXG4iCisKKyN+IG1zZ2lkICJFeGNlZWRlZCBNQVhFTlRSSUVTLiAgUmFpc2UgdGhpcyB2YWx1ZSBpbiBta2NyYW1mcy5jIGFuZCByZWNvbXBpbGUuICBFeGl0aW5nLlxuIgorI34gbXNnc3RyICIiCisjfiAiUydoYSBleGNlZGl0IE1BWEVOVFJJRVMuIEluY3JlbWVudGV1IGFxdWVzdCB2YWxvciBhIG1rY3JhbWZzLmMgaVxuIgorI34gInJlY29tcGlsZXUuIFMnZXN0w6Agc29ydGludC5cbiIKKworI34gbXNnaWQgIkFzc3VtaW5nIHBhZ2VzIG9mIHNpemUgJWQgKG5vdCAlZClcbiIKKyN+IG1zZ3N0ciAiUydlc3TDoCBhc3N1bWludCBxdWUgbGEgbWlkYSBkZSBsZXMgcMOgZ2luZXMgw6lzIGRlICVkIChpIG5vICVkKVxuIgorCisjfiBtc2dpZCAiQXV0b2NvbmZpZ3VyZSBmb3VuZCBhICVzJXMlc1xuIgorI34gbXNnc3RyICJMYSBjb25maWd1cmFjacOzIGF1dG9tw6B0aWNhIGhhIHRyb2JhdCB1biAlcyVzJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJEcml2ZSB0eXBlXG4iCisjfiAiICAgPyAgIGF1dG8gY29uZmlndXJlXG4iCisjfiAiICAgMCAgIGN1c3RvbSAod2l0aCBoYXJkd2FyZSBkZXRlY3RlZCBkZWZhdWx0cykiCisjfiBtc2dzdHIgIiIKKyN+ICJUaXB1cyBkJ3VuaXRhdFxuIgorI34gIiAgID8gICBBbWIgY29uZmlndXJhY2nDsyBhdXRvbcOgdGljYVxuIgorI34gIiAgIDAgICBQZXJzb25hbGl0emFkYSAoYW1iIHZhbG9ycyBwZXIgZGVmZWN0ZSBxdWUgZGV0ZWN0aSBlbCBtYXF1aW5hcmkpIgorCisjfiBtc2dpZCAiU2VsZWN0IHR5cGUgKD8gZm9yIGF1dG8sIDAgZm9yIGN1c3RvbSk6ICIKKyN+IG1zZ3N0ciAiU2VsZWNjaW9uZXUgZWwgdGlwdXMgKD8gYXV0b23DoHRpY2EsIDAgcGVyc29uYWxpdHphZGEpOiAiCisKKyN+IG1zZ2lkICJZb3UgbWF5IGNoYW5nZSBhbGwgdGhlIGRpc2sgcGFyYW1zIGZyb20gdGhlIHggbWVudSIKKyN+IG1zZ3N0ciAiUG9kZXUgY2FudmlhciB0b3RzIGVscyBwYXLDoG1ldHJlcyBkZWwgZGlzYyBkZXMgZGVsIG1lbsO6IHgiCisKKyN+IG1zZ2lkICIzLDVcIiBmbG9wcHkiCisjfiBtc2dzdHIgIkRpc3F1ZXQgZGUgMyw1IHBvbHphZGVzIgorCisjfiBtc2dpZCAiJXMgZnJvbSB1dGlsLWxpbnV4LSVzXG4iCisjfiBtc2dzdHIgIiVzIGQndXRpbC1saW51eC0lc1xuIgorCisjfiBtc2dpZCAiJXM6IGVycm9yOiB0aGUgbGFiZWwgJXMgb2NjdXJzIG9uIGJvdGggJXMgYW5kICVzXG4iCisjfiBtc2dzdHIgIiVzOiBlcnJvcjogbCdldGlxdWV0YSAlcyBhcGFyZWl4IGEgJXMgaSAlc1xuIgorCisjfiBtc2dpZCAiJXM6IGNvdWxkIG5vdCBvcGVuICVzLCBzbyBVVUlEIGFuZCBMQUJFTCBjb252ZXJzaW9uIGNhbm5vdCBiZSBkb25lLlxuIgorI34gbXNnc3RyICIlczogbm8gcydoYSBwb2d1dCBvYnJpciAlcywgamEgcXVlIG5vIGVzIHBvdCBmZXIgbGEgY29udmVyc2nDsyBVVUlEIGkgTEFCRUwuXG4iCisKKyN+IG1zZ2lkICIlczogYmFkIFVVSUQiCisjfiBtc2dzdHIgIiVzOiBVVUlEIGVycm9uaSIKKworI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgd2l0aCBuZnMgbW91bnQgdmVyc2lvbiA0LCB0cnlpbmcgMy4uXG4iCisjfiBtc2dzdHIgIm1vdW50IDogbm8gaGEgZXN0YXQgcG9zc2libGUgbXVudGFyIGxhIHZlcnNpw7MgNCBkZSBuZnMsIHMnZXN0w6AgaW50ZW50YW50IDMuLi5cbiIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudGluZyAlc1xuIgorI34gbXNnc3RyICJtb3VudDogcydlc3TDoCBtdW50YW50ICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZXJyb3Igd2hpbGUgZ3Vlc3NpbmcgZmlsZXN5c3RlbSB0eXBlXG4iCisjfiBtc2dzdHIgIm1vdW50OiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGludGVudGFyIGVuZGV2aW5hciBlbCB0aXB1cyBkZSBzaXN0ZW1hIGRlIGZpdHhlcnNcbiIKKworI34gbXNnaWQgIm1vdW50OiBleGNlc3NpdmVseSBsb25nIGhvc3Q6ZGlyIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIm1vdW50OiBhcmd1bWVudCBleGNlc3NpdmFtZW50IGxsYXJnIGhvc3Q6ZGlyXG4iCisKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogbXVsdGlwbGUgaG9zdG5hbWVzIG5vdCBzdXBwb3J0ZWRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGF2w61zOiBtw7psdGlwbGVzIG5vbXMgZCdvcmRpbmFkb3Igbm8gZXN0w6AgaW1wbGVtZW50YXRcbiIKKworI34gbXNnaWQgIm1vdW50OiBkaXJlY3RvcnkgdG8gbW91bnQgbm90IGluIGhvc3Q6ZGlyIGZvcm1hdFxuIgorI34gbXNnc3RyICJtb3VudDogZWwgZGlyZWN0b3JpIGEgbXVudGFyIG5vIHTDqSBlbCBmb3JtYXQgb3JkaW5hZG9yOmRpclxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IGdldCBhZGRyZXNzIGZvciAlc1xuIgorI34gbXNnc3RyICJtb3VudDogbm8gcydoYSBwb2d1dCBvYnRlbmlyIGwnYWRyZcOnYSBwZXIgYSAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGdvdCBiYWQgaHAtPmhfbGVuZ3RoXG4iCisjfiBtc2dzdHIgIm1vdW50OiB2YWxvciBpbmNvcnJlY3RlIHBlciBhIGhwLT5oX2xlbmd0aFxuIgorCisjfiBtc2dpZCAibW91bnQ6IGV4Y2Vzc2l2ZWx5IGxvbmcgb3B0aW9uIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIm1vdW50OiBsJ2FyZ3VtZW50IGRlIGwnb3BjacOzIMOpcyBleGNlc3NpdmFtZW50IGxsYXJnXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBVbnJlY29nbml6ZWQgcHJvdG89IG9wdGlvbi5cbiIKKyN+IG1zZ3N0ciAiQXbDrXM6IE9wY2nDsyBkZXNjb25lZ3VkYSBwcm90bz1cbiIKKworI34gbXNnaWQgInVua25vd24gbmZzIG1vdW50IHBhcmFtZXRlcjogJXM9JWRcbiIKKyN+IG1zZ3N0ciAibm8gZXMgcmVjb25laXggZWwgcGFyw6BtZXRyZSBkZSBtdW50YXRnZSBkZSBuZnM6ICVzPSVkXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIG5mcyBtb3VudCBvcHRpb246ICVzJXNcbiIKKyN+IG1zZ3N0ciAibm8gZXMgY3JlY29uZWl4IGwnb3BjacOzIGRlIG11bnRhdGdlIGRlIG5mczogJXMlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGdvdCBiYWQgaHAtPmhfbGVuZ3RoP1xuIgorI34gbXNnc3RyICJtb3VudDogdmFsb3IgaW5jb3JyZWN0ZSBwZXIgYSBocC0+aF9sZW5ndGg/XG4iCisKKyN+IG1zZ2lkICJuZnMgYmluZHJlc3Zwb3J0IgorI34gbXNnc3RyICJuZnMgYmluZHJlc3Zwb3J0IgorCisjfiBtc2dpZCAibmZzIHNlcnZlciByZXBvcnRlZCBzZXJ2aWNlIHVuYXZhaWxhYmxlIgorI34gbXNnc3RyICJlbCBzZXJ2aWRvciBuZnMgaW5mb3JtYSBxdWUgZWwgc2VydmVpIG5vIGVzdMOgIGRpc3BvbmlibGUiCisKKyN+IG1zZ2lkICJ1c2VkIHBvcnRtYXBwZXIgdG8gZmluZCBORlMgcG9ydFxuIgorI34gbXNnc3RyICJzJ2hhIHVzYXQgbCdhc3NpZ25hZG9yIGRlIHBvcnRzIHBlciB0cm9iYXIgZWwgcG9ydCBORlNcbiIKKworI34gbXNnaWQgInVzaW5nIHBvcnQgJWQgZm9yIG5mcyBkZWFtb25cbiIKKyN+IG1zZ3N0ciAicydlc3TDoCB1c2FudCBlbCBwb3J0ICVkIHBlciBhbCBkaW1vbmkgZGUgbmZzXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIG5mcyBzdGF0dXMgcmV0dXJuIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAibm8gZXMgcmVjb25laXggZWwgdmFsb3IgZGUgcmV0b3JuIGRlIGwnZXN0YXQgZGUgbmZzOiAlZCIKKworI34gbXNnaWQgImhvc3Q6ICVzLCBkaXJlY3Rvcnk6ICVzXG4iCisjfiBtc2dzdHIgImhvc3Q6ICVzLCBkaXJlY3Rvcmk6ICVzXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbid0IGdldCBhZGRyZXNzIGZvciAlc1xuIgorI34gbXNnc3RyICJ1bW91bnQ6IG5vIHMnaGEgcG9ndXQgb2J0ZW5pciBsJ2FkcmXDp2EgcGVyIGEgJXNcbiIKKworI34gbXNnaWQgInVtb3VudDogZ290IGJhZCBob3N0cC0+aF9sZW5ndGhcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiB2YWxvciBpbmNvcnJlY3RlIHBlciBhIGhvc3RwLT5oX2xlbmd0aFxuIgorCisjfiBtc2dpZCAiJXM6IGludmFsaWQgY3JhbWZzLS1iYWQgcGF0aCBsZW5ndGhcbiIKKyN+IG1zZ3N0ciAiJXM6IGVsIGNyYW1mcyDDqXMgaW52w6BsaWQsIGxhIGxvbmdpdHVkIGRlbCBjYW3DrSDDqXMgZXJyw7JuaWFcbiIKKworI34gbXNnaWQgIiVzOiBpbnZhbGlkIGNyYW1mcy0td3JvbmcgbWFnaWNcbiIKKyN+IG1zZ3N0ciAiJXM6IGVsIGNyYW1mcyDDqXMgaW52w6BsaWQsIGxhIG3DoGdpYSDDqXMgZXJyw7JuaWFcbiIKKworI34gbXNnaWQgIiVzOiB3YXJuaW5nLS1maWxlIGxlbmd0aCB0b28gbG9uZywgcGFkZGVkIGltYWdlP1xuIgorI34gbXNnc3RyICIlczogYXbDrXM7IGxhIGxvbmdpdHVkIGRlbCBmaXR4ZXIgw6lzIG1hc3NhIGxsYXJnYSwgcG90c2VyIMOpcyB1bmEgaW1hdGdlIGFtYiBmYXJjaW1lbnQ/XG4iCisKKyN+IG1zZ2lkICIlczogaW52YWxpZCBjcmFtZnMtLWNyYyBlcnJvclxuIgorI34gbXNnc3RyICIlczogZWwgY3JhbWZzIMOpcyBpbnbDoGxpZCwgZXJyb3IgZGUgY3JjXG4iCisKKyN+IG1zZ2lkICIlczogaW52YWxpZCBjcmFtZnMtLWJhZCBzdXBlcmJsb2NrXG4iCisjfiBtc2dzdHIgIiVzOiBlbCBjcmFtZnMgw6lzIGludsOgbGlkLCBlbCBzdXBlcmJsb2Mgw6lzIGVycm9uaVxuIgorCisjfiBtc2dpZCAiZmxvY2s6IHVua25vd24gb3B0aW9uLCBhYm9ydGluZy5cbiIKKyN+IG1zZ3N0ciAiZmxvY2s6IGVzIGRlc2NvbmVpeCBsJ29wY2nDsywgcydlc3TDoCBhdm9ydGFudC5cbiIKKworI34gbXNnaWQgIlVzYWdlIGZsb2NrIFstLXNoYXJlZF0gWy0tdGltZW91dD1zZWNvbmRzXSBmaWxlbmFtZSBjb21tYW5kIHthcmcgYXJnLi4ufVxuIgorI34gbXNnc3RyICJGb3JtYSBkJ8O6czogZmxvY2sgWy0tc2hhcmVkIHwgLS10aW1lb3V0PXNlZ29uc10gZml0eGVyIG9yZHJlIHthcmcgYXJnLi4ufVxuIgorCisjfiBtc2dpZCAiU3ludGF4IGVycm9yOiAnJXMnXG4iCisjfiBtc2dzdHIgIkVycm9yIGRlIHNpbnRheGk6ICclcydcbiIKKworI34gbXNnaWQgIk5vIHN1Y2ggcGFyYW1ldGVyIHNldDogJyVzJ1xuIgorI34gbXNnc3RyICJObyBzJ2hhIGVzcGVjaWZpY2F0IGFxdWV0IHBhcsOgbWV0cmU6ICclcydcbiIKKworI34gbXNnaWQgIiAgICVzIFsgLXAgXSBkZXYgbmFtZVxuIgorI34gbXNnc3RyICIgICAlcyBbIC1wIF0gbm9tIGRlbCBkaXNwb3NpdGl1XG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1wIF0gZGV2IHNpemUgc2VjdCBoZWFkcyB0cmFja3Mgc3RyZXRjaCBnYXAgcmF0ZSBzcGVjMSBmbXRfZ2FwXG4iCisjfiBtc2dzdHIgIiAgICVzIFsgLXAgXSBkaXNwb3NpdGl1IG1pZGEgc2VjdG9ycyBjYXDDp2FscyBwaXN0ZXMgc3RyZXRjaCBnYXAgcmF0ZSBzcGVjMSBmbXRfZ2FwXG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1jIHwgLXkgfCAtbiB8IC1kIF0gZGV2XG4iCisjfiBtc2dzdHIgIiAgICVzIFsgLWMgfCAteSB8IC1uIHwgLWQgXSBkaXNwb3NpdGl1XG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1jIHwgLXkgfCAtbiBdIGRldlxuIgorI34gbXNnc3RyICIgICAlcyBbIC1jIHwgLXkgfCAtbiBdIGRpc3Bvc2l0aXVcbiIKKworI34gbXNnaWQgImNvdWxkbid0IG9wZW4gL2Rldi91cmFuZG9tIgorI34gbXNnc3RyICJubyBlcyBwb3Qgb2JyaXIgL2Rldi91cmFuZG9tIgorCisjfiBtc2dpZCAiY291bGRuJ3QgcmVhZCByYW5kb20gZGF0YSBmcm9tIC9kZXYvdXJhbmRvbSIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgbGVzIGRhZGVzIGFsZWF0w7JyaWVzIGRlIC9kZXYvdXJhbmRvbSIKKworI34gbXNnaWQgImNhbid0IHN0YXQoJXMpIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIHN0YXQoJXMpIgorCisjfiBtc2dpZCAiJXMgZG9lc24ndCBoYXZlIHRoZSBjb3JyZWN0IGZpbGVtb2RlcyIKKyN+IG1zZ3N0ciAiJXMgbm8gdMOpIGVscyBtb2RlcyBkZSBmaXR4ZXIgY29ycmVjdGVzIgorCisjfiBtc2dpZCAiY2FuJ3QgcmVhZCBkYXRhIGZyb20gJXMiCisjfiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgbGxlZ2lyIGRhZGVzIGRlICVzIgorCisjfiBtc2dpZCAiIgorI34gIlRvbyBtYW55IHVzZXJzIGxvZ2dlZCBvbiBhbHJlYWR5LlxuIgorI34gIlRyeSBhZ2FpbiBsYXRlci5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkhpIGhhIG1hc3NhIHVzdWFyaXMgZW4gYWN0aXUgZW4gZWwgc2lzdGVtYS5cbiIKKyN+ICJQcm92ZXUtaG8gbcOpcyBlbmRhdmFudC5cbiIKKworI34gbXNnaWQgIllvdSBoYXZlIHRvbyBtYW55IHByb2Nlc3NlcyBydW5uaW5nLlxuIgorI34gbXNnc3RyICJFc3RldSBleGVjdXRhbnQgbWFzc2EgcHJvY2Vzc29zLlxuIgorCisjfiBtc2dpZCAiVGhlIHBhc3N3b3JkIG11c3QgaGF2ZSBhdCBsZWFzdCA2IGNoYXJhY3RlcnMsIHRyeSBhZ2Fpbi5cbiIKKyN+IG1zZ3N0ciAiTGEgY29udHJhc2VueWEgaGEgZGUgdGVuaXIgY29tIGEgbcOtbmltIDYgY2Fyw6BjdGVycywgaW50ZW50ZXUtaG8gZGUgbm91LlxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBwYXNzd29yZCBtdXN0IGNvbnRhaW4gY2hhcmFjdGVycyBvdXQgb2YgdHdvIG9mIHRoZSBmb2xsb3dpbmdcbiIKKyN+ICJjbGFzc2VzOiAgdXBwZXIgYW5kIGxvd2VyIGNhc2UgbGV0dGVycywgZGlnaXRzIGFuZCBub24gYWxwaGFudW1lcmljXG4iCisjfiAiY2hhcmFjdGVycy4gU2VlIHBhc3N3ZCgxKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkxhIGNvbnRyYXNlbnlhIGhhIGRlIGNvbnRlbmlyIGNhcsOgY3RlcnMgZCdhbGd1bmEgZGUgbGVzIHNlZ8O8ZW50cyBjbGFzZXM6XG4iCisjfiAibGxldHJlcyBtYWrDunNjdWxlcyBpIG1pbsO6c2N1bGVzLCBkw61naXRzIGkgY2Fyw6BjdGVycyBubyBhbGZhbnVtw6hyaWNzLlxuIgorI34gIlBlciBhIG3DqXMgaW5mb3JtYWNpw7MgY29uc3VsdGV1IHBhc3N3ZCgxKS5cbiIKKworI34gbXNnaWQgIllvdSBjYW5ub3QgcmV1c2UgdGhlIG9sZCBwYXNzd29yZC5cbiIKKyN+IG1zZ3N0ciAiTm8gcG9kZXUgdG9ybmFyIGEgdXNhciB1bmEgY29udHJhc2VueWEgYW50aWdhLlxuIgorCisjfiBtc2dpZCAiUGxlYXNlIGRvbid0IHVzZSBzb21ldGhpbmcgbGlrZSB5b3VyIHVzZXJuYW1lIGFzIHBhc3N3b3JkIVxuIgorI34gbXNnc3RyICJObyB1c2V1IHJlcyBzaW1pbGFyIGFsIHZvc3RyZSBub20gZCd1c3VhcmkgcGVyIGNvbnRyYXNlbnlhLlxuIgorCisjfiBtc2dpZCAiUGxlYXNlIGRvbid0IHVzZSBzb21ldGhpbmcgbGlrZSB5b3VyIHJlYWxuYW1lIGFzIHBhc3N3b3JkIVxuIgorI34gbXNnc3RyICJObyB1c2V1IHJlcyBzaW1pbGFyIGFsIHZvc3RyZSBub20gcmVhbCBwZXIgY29udHJhc2VueWEuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogcGFzc3dkIFt1c2VybmFtZSBbcGFzc3dvcmRdXVxuIgorI34gbXNnc3RyICJGb3JtYSBkJ8O6czogcGFzc3dkIFtub21fdXN1YXJpIFtjb250cmFzZW55YV1dXG4iCisKKyN+IG1zZ2lkICJPbmx5IHJvb3QgbWF5IHVzZSB0aGUgb25lIGFuZCB0d28gYXJndW1lbnQgZm9ybXMuXG4iCisjfiBtc2dzdHIgIk5vbcOpcyBsJ3VzdWFyaSByb290IHBvdCB1c2FyIGxlcyBmb3JtZXMgZCd1biBpIGRvcyBhcmd1bWVudHMuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogcGFzc3dkIFstZm9xc3ZWXSBbdXNlciBbcGFzc3dvcmRdXVxuIgorI34gbXNnc3RyICJGb3JtYSBkJ8O6czogcGFzc3dkIFstZm9xc3ZWXSBbdXN1YXJpIFtjb250cmFzZW55YV1dXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZmluZCBsb2dpbiBuYW1lIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IHRyb2JhciBlbCBub20gZCdlbnRyYWRhIgorCisjfiBtc2dpZCAiT25seSByb290IGNhbiBjaGFuZ2UgdGhlIHBhc3N3b3JkIGZvciBvdGhlcnMuXG4iCisjfiBtc2dzdHIgIk5vbcOpcyBsJ3VzdWFyaSByb290IHBvdCBjYW52aWFyIGxhIGNvbnRyYXNlbnlhIGQnYWx0cmVzIHVzdWFyaXMuXG4iCisKKyN+IG1zZ2lkICJDYW4ndCBmaW5kIHVzZXJuYW1lIGFueXdoZXJlLiBJcyBgJXMnIHJlYWxseSBhIHVzZXI/IgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IHRyb2JhciBlbmxsb2MgZWwgbm9tIGQndXN1YXJpLiBgJXMnIMOpcyByZWFsbWVudCB1biB1c3Vhcmk/IgorCisjfiBtc2dpZCAiU29ycnksIEkgY2FuIG9ubHkgY2hhbmdlIGxvY2FsIHBhc3N3b3Jkcy4gVXNlIHlwcGFzc3dkIGluc3RlYWQuIgorI34gbXNnc3RyICJOb23DqXMgZXMgcG9kZW4gY2FudmlhciBsZXMgY29udHJhc2VueWVzIGxvY2Fscy4gVXNldSB5cHBhc3N3ZC4iCisKKyN+IG1zZ2lkICJVSUQgYW5kIHVzZXJuYW1lIGRvZXMgbm90IG1hdGNoLCBpbXBvc3RlciEiCisjfiBtc2dzdHIgIkVsIFVJRCBpIGVsIG5vbSBkJ3VzdWFyaSBubyBjb2luY2lkZWl4ZW4sIHNvdSB1biBpbXBvc3Rvci4iCisKKyN+IG1zZ2lkICJDaGFuZ2luZyBwYXNzd29yZCBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAiUydlc3TDoCBjYW52aWFudCBsYSBjb250cmFzZW55YSBwZXIgYSAlc1xuIgorCisjfiBtc2dpZCAiSWxsZWdhbCBwYXNzd29yZCwgaW1wb3N0ZXIuIgorI34gbXNnc3RyICJDb250cmFzZW55YSBpbMK3bGVnYWwsIGltcG9zdG9yLiIKKworI34gbXNnaWQgIkVudGVyIG5ldyBwYXNzd29yZDogIgorI34gbXNnc3RyICJFbnRyZXUgbGEgbm92YSBjb250cmFzZW55YTogIgorCisjfiBtc2dpZCAiUmUtdHlwZSBuZXcgcGFzc3dvcmQ6ICIKKyN+IG1zZ3N0ciAiUmVlc2NyaXZpdSBsYSBub3ZhIGNvbnRyYXNlbnlhOiAiCisKKyN+IG1zZ2lkICJZb3UgbWlzc3BlbGxlZCBpdC4gUGFzc3dvcmQgbm90IGNoYW5nZWQuIgorI34gbXNnc3RyICJMJ2hldSBlc2NyaXQgbWFsYW1lbnQuIE5vIHMnaGEgY2FudmlhdC4iCisKKyN+IG1zZ2lkICJST09UIFBBU1NXT1JEIENIQU5HRUQiCisjfiBtc2dzdHIgIlMnSEEgQ0FOVklBVCBMQSBDT05UUkFTRU5ZQSBERUwgU1VQRVJVU1VBUkkgKFJPT1QpIgorCisjfiBtc2dpZCAicGFzc3dvcmQgY2hhbmdlZCBieSByb290LCB1c2VyICVzIgorI34gbXNnc3RyICJlbCBzdXBlcnVzdWFyaSAocm9vdCkgaGEgY2FudmlhdCBsYSBjb250cmFzZW55YTsgdXN1YXJpICVzIgorCisjfiBtc2dpZCAiY2FsbGluZyBzZXRwd25hbSB0byBzZXQgcGFzc3dvcmQuXG4iCisjfiBtc2dzdHIgInMnZXN0w6AgY3JpZGFudCBzZXRwd25hbSBwZXIgZXN0YWJsaXIgbGEgY29udHJhc2VueWEuXG4iCisKKyN+IG1zZ2lkICJQYXNzd29yZCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLlxuIgorI34gbXNnc3RyICIqTk8qIHMnaGEgY2FudmlhdCBsYSBjb250cmFzZW55YS4gSW50ZW50ZXUtaG8gbcOpcyBlbmRhdmFudC5cbiIKKworI34gbXNnaWQgIm1vdW50OiB0aGlzIHZlcnNpb24gd2FzIGNvbXBpbGVkIHdpdGhvdXQgc3VwcG9ydCBmb3IgdGhlIHR5cGUgYG5mcyciCisjfiBtc2dzdHIgIm1vdW50OiBhcXVlc3RhIHZlcnNpw7MgaGEgZXN0YXQgY29tcGlsYWRhIHNlbnNlIHN1cG9ydCBwZXIgYWwgdGlwdXMgYG5mcyciCisKKyN+IG1zZ2lkICIlczogbm90IGNvbXBpbGVkIHdpdGggbWluaXggdjIgc3VwcG9ydFxuIgorI34gbXNnc3RyICIlczogbm8gcydoYSBjb21waWxhdCBhbWIgc3Vwb3J0IHBlciBhIG1pbml4IHYyXG4iCisKKyN+IG1zZ2lkICJCb290ICglMDJYKSIKKyN+IG1zZ3N0ciAiQXJyZW4uKCUwMlgpIgorCisjfiBtc2dpZCAiTm9uZSAoJTAyWCkiCisjfiBtc2dzdHIgIkNhcCAoJTAyWCkiCisKKyN+IG1zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAiRmFsbGEgZGVsIGlvY3RsIEJMS0dFVFNJWkUgcGVyIGEgJXNcbiIKKworI34gbXNnaWQgIiVzOiBbJTA0eF06JWxkICglcykgb2Zmc2V0ICVkLCAlcyBlbmNyeXB0aW9uXG4iCisjfiBtc2dzdHIgIiVzOiBbJTA0eF06JWxkICglcykgZGVzcGxhw6dhbWVudCAlZCwgJXMgZW5jcmlwdGFjacOzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IENvdWxkIG5vdCBmaW5kIGFueSBsb29wIGRldmljZS5cbiIKKyN+ICIgICAgICAgTWF5YmUgL2Rldi9sb29wIyBoYXMgYSB3cm9uZyBtYWpvciBudW1iZXI/IgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IE5vIGVzIHBvdCB0cm9iYXIgY2FwIGRpc3Bvc2l0aXUgbG9vcC5cbiIKKyN+ICIgICAgICAgUG9kcmlhIHNlciBxdWUgL2Rldi9sb29wIyB0aW5ndWkgdW4gbsO6bWVybyBtYWpvciBpbmNvcnJlY3RlPyIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogQ291bGQgbm90IGZpbmQgYW55IGxvb3AgZGV2aWNlLiBNYXliZSB0aGlzIGtlcm5lbCBkb2VzIG5vdCBrbm93XG4iCisjfiAiICAgICAgIGFib3V0IHRoZSBsb29wIGRldmljZSAodGhlbiByZWNvbXBpbGUgb3IgYGluc21vZCBsb29wLm8nKSwgb3JcbiIKKyN+ICIgICAgICAgbWF5YmUgL2Rldi9sb29wIyBoYXMgdGhlIHdyb25nIG1ham9yIG51bWJlcj8iCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogTm8gZXMgcG90IHRyb2JhciBjYXAgZGlzcG9zaXRpdSBsb29wLiBQb3RzZXIgYXF1ZXN0IG51Y2xpIG5vXG4iCisjfiAiICAgICAgIGVsIHJlY29uZWd1aSAoc2kgZXMgYWl4w7IsIHJlY29tcGlsZXUgbyBmZXUgYGluc21vZCBsb29wLm8nKVxuIgorI34gIiAgICAgICBvIHRhbWLDqSBwb2RyaWEgc2VyIHF1ZSAvZGV2L2xvb3AjIHRpbmd1aSB1biBuw7ptZXJvIG1ham9yIGluY29ycmVjdGUuIgorCisjfiBtc2dpZCAiSW5pdCAodXAgdG8gMTYgaGV4IGRpZ2l0cyk6ICIKKyN+IG1zZ3N0ciAiSW5pY2lhbGl0emFjacOzIChmaW5zIGEgMTYgZMOtZ2l0cyBoZXhhZGVjaW1hbHMpOiAiCisKKyN+IG1zZ2lkICJOb24taGV4IGRpZ2l0ICclYycuXG4iCisjfiBtc2dzdHIgIkTDrWdpdCBubyBoZXhhZGVjaW1hbCAnJWMnLlxuIgorCisjfiBtc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gZ2V0IGtleSBmb3IgZW5jcnlwdGlvbiBzeXN0ZW0gJWRcbiIKKyN+IG1zZ3N0ciAiTm8gY29uZWMgY29tIG9idGluZHJlIGxhIGNsYXUgcGVyIGFsIHNpc3RlbWEgZCdlbmNyaXB0YWNpw7MgJWRcbiIKKworI34gbXNnaWQgIm1vdW50OiAlcyBkdXBsaWNhdGUgLSBub3QgbW91bnRlZCIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGR1cGxpY2FkYTsgbm8gZXMgbXVudGFyw6AiCisKKyN+IG1zZ2lkICJtb3VudDogdGhlIGxhYmVsICVzIG9jY3VycyBvbiBib3RoICVzIGFuZCAlcyAtIG5vdCBtb3VudGVkXG4iCisjfiBtc2dzdHIgIm1vdW50OiBsJ2V0aXF1ZXRhICVzIGFwYXJlaXggZW4gJXMgaSAlczsgbm8gcydoYSBtdW50YXRcbiIKZGlmZiAtLWdpdCBhL3BvL2NzLnBvIGIvcG8vY3MucG8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGQyMzM3ZQotLS0gL2Rldi9udWxsCisrKyBiL3BvL2NzLnBvCkBAIC0wLDAgKzEsMjU0MzYgQEAKKyMgUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGZyZWVseSBjb3B5IGFuZCBkaXN0cmlidXRlCisjIHRoaXMgZmlsZSBhbmQgbW9kaWZpZWQgdmVyc2lvbnMsIHByb3ZpZGVkIHRoYXQgdGhpcworIyBoZWFkZXIgaXMgbm90IHJlbW92ZWQgYW5kIG1vZGlmaWVkIHZlcnNpb25zIGFyZSBtYXJrZWQKKyMgYXMgc3VjaC4KKyMKKyMgQ3plY2ggdHJhbnNsYXRpb24gb2YgdXRpbC1saW51eC4gCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UuCisjCisjIEppxZnDrSBQYXZsb3Zza8O9IDxwYXZsb3Zza0BmZi5jdW5pLmN6PiwgMTk5OSAtIDIwMDEuCisjIFBldHIgUMOtc2HFmSA8cGV0ci5waXNhckBhdGxhcy5jej4sIDIwMDYuCisjIFZsYWRpbcOtciBNaWNobCA8dmxhZGltaXIubWljaGxAc2V6bmFtLmN6PiwgMjAwNworIyBQZXRyIFDDrXNhxZkgPHBldHIucGlzYXJAYXRsYXMuY3o+LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwLCAyMDExLCAyMDEyLCAyMDEzLgorIyBQZXRyIFDDrXNhxZkgPHBldHIucGlzYXJAYXRsYXMuY3o+LCAyMDE0LCAyMDE1LCAyMDE2LgorIworIyBlamVjdCB0b29sIG1lc3NhZ2VzIG1lcmdlZCBmcm9tIGVqZWN0LTIuMS41OgorIyBKZWZmIFRyYW50ZXIgPHRyYW50ZXJAcG9ib3guY29tPiwgMjAwNS4KKyMgTWFyZWsgxIxlcm5vY2vDvSA8bWFyZWtAbWFuZXQuY3o+LCAyMDA2LgorIworIyBiaW5kIChtb3VudCkg4oaSIHbDoXphbsOpIHDFmWlwb2plbsOtCisjIGJvb3RhYmxlwqDihpIgemF2ZWRpdGVsbsO9L3N0YXJ0b3ZhY8OtCisjIGJvb3RmaWxlIChTR0kpIOKGkiBzdGFyb3ZhY8OtIHNvdWJvcgorIyBkZWNvbmZpZ3VyZWQg4oaSIG9kbmFzdGF2ZW7DvQorIyBkaXNjYXJkIChibG9jaykg4oaSIHphaG9kaXQKKyMgZGlzcGF0Y2hpbmcgbW9kZSDihpIgcmXFvmltIHJvemhvZG92w6Fuw60KKyMgKGRpc2MpIGRyaXZlIOKGkiAoZGlza292w6EpIG1lY2hhbmlrYQorIyBkdW1wIChwYXJ0aXRpb24gdGFibGUgYXMgYSBzY3JpcHQpIOKGkiBleHBvcnRvdmF0CisjIGZhdGFsIGVycm9yIOKGkiBuZXDFmWVrb25hdGVsbsOhIGNoeWJhCisjIGh1c2ggbG9naW4g4oaSIHRpY2jDqSBwxZlpaGzDocWhZW7DrSwgIChsb2dpbig4KSkKKyMgaW5vZGUg4oaSIGktdXplbCAoc2Ugc3Bvam92bsOta2VtKSBYWFg6IGUyZnNwcm9ncyBzcG9qb3Zuw61rIG5lcMOtxaFlCisjIGRpc2sgbGFiZWwg4oaSIHBvcGlzIGRpc2t1CisjIChmaWxlIHN5c3RlbSkgbGFiZWwg4oaSIGptZW5vdmthCisjIChTRUxpbnV4KSBsYWJlbCDihpIgem5hxI1rYQorIyBwYXJ0aXRpb24g4oaSIG9kZMOtbAorIyAoR1BUKSBwYXJ0aXRpb24gbGFiZWwg4oaSIG7DoXpldiBvZGTDrWx1CisjIHBlcnNvbmFsaXR5IOKGksKgY2hhcmFrdGVyaXN0aWthIGFyY2hpdGVrdHVyeQorIyBwcmltYXJ5IGdyb3VwIOKGkiBobGF2bsOtIHNrdXBpbmEKKyMgcmVzb3VyY2Ug4oaSIHByb3N0xZllZGVrCisjIChmaWxlIHN5c3RlbSkgc2lnbmF0dXJlIOKGkiB2em9yZWMKKyMgc3dhcCDihpIgb2RrbMOhZGFjw60gKHByb3N0b3IpCisjIHRyaW0gKGZpbGUgc3lzdGVtKSDihpIgdWtsaWRpdCwgemFob2RpdCB2b2xuw6kgYmxva3kKKyMKKyMgVE9ETzogVnl2b2rDocWZaSBwb3R2cmRpbGksIMW+ZSBub3bDoSBzeW50YXhlIHByb23Em25uw71jaCBob2Rub3QgamUgbWFsw71taSBww61zbWVueQorIyAoSE9ETk9UQSDihpIgPGhvZG5vdGE+KS4gUMWZZWtsYWQgYnVkZSBwxZlpenDFr3NvYmVuLgorIworbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdXRpbC1saW51eCAyLjI4LXJjMlxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiB1dGlsLWxpbnV4QHZnZXIua2VybmVsLm9yZ1xuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE3LTAyLTIyIDEyOjMyKzAxMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE2LTA0LTAyIDE0OjIzKzAyOjAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBQZXRyIFDDrXNhxZkgPHBldHIucGlzYXJAYXRsYXMuY3o+XG4iCisiTGFuZ3VhZ2UtVGVhbTogQ3plY2ggPHRyYW5zbGF0aW9uLXRlYW0tY3NAbGlzdHMuc291cmNlZm9yZ2UubmV0PlxuIgorIkxhbmd1YWdlOiBjc1xuIgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCisiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgorIlgtQnVnczogUmVwb3J0IHRyYW5zbGF0aW9uIGVycm9ycyB0byB0aGUgTGFuZ3VhZ2UtVGVhbSBhZGRyZXNzLlxuIgorIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MzsgcGx1cmFsPShuPT0xKSA/IDAgOiAobj49MiAmJiBuPD00KSA/IDEgOiAyO1xuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPHN0YXJ0PiA8bGVuZ3RoPlxuIgorbXNnc3RyICIgJXMgPHphxZnDrXplbsOtIGRpc2t1PiA8xI3DrXNsbyBvZGTDrWx1PiA8emHEjcOhdGVrPiA8ZMOpbGthPlxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxOAorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgZXhpc3RlbmNlIG9mIGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAixZhla25lIGrDoWRydSBvwqBleGlzdGVuY2kgemFkYW7DqWhvIG9kZMOtbHUuXG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjU2IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyNzYgZGlzay11dGlscy9ibG9ja2Rldi5jOjQyMAorIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ0NiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzQgZGlzay11dGlscy9kZWxwYXJ0LmM6NTcKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjcgZGlzay11dGlscy9mZGlzay5jOjcxOCBkaXNrLXV0aWxzL2ZkaXNrLmM6OTk0CisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozMDEgZGlzay11dGlscy9mZGlzay1saXN0LmM6MzQxCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNjAgZGlzay11dGlscy9mc2NrLmM6MTQ0OAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1NSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTEwCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMzQgZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4OQorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE3MyBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjYxCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzg4IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxOQorIzogZGlzay11dGlscy9ta3N3YXAuYzoyMTUgZGlzay11dGlscy9ta3N3YXAuYzoyNDQgZGlzay11dGlscy9wYXJ0eC5jOjk5NAorIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6NjQ3IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzAzCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc1NyBkaXNrLXV0aWxzL3NmZGlzay5jOjgxNiBkaXNrLXV0aWxzL3NmZGlzay5jOjg4MAorIzogZGlzay11dGlscy9zZmRpc2suYzo5MjEgZGlzay11dGlscy9zZmRpc2suYzo5NTEgZGlzay11dGlscy9zZmRpc2suYzo5ODgKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUzNyBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjYwIGxpYmZkaXNrL3NyYy9ic2QuYzo2NDEKKyM6IGxpYi9wYXRoLmM6NzAgbGliL3BhdGguYzo4MiBsb2dpbi11dGlscy9pc2xvY2FsLmM6ODcgbG9naW4tdXRpbHMvbGFzdC5jOjY3MgorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ0NiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDgzCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM1OQorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODEgbG9naW4tdXRpbHMvdmlwdy5jOjI1OCBsb2dpbi11dGlscy92aXB3LmM6Mjc2CisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDk3IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE4OCBtaXNjLXV0aWxzL21jb29raWUuYzoxMTUKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMDcgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODMgc3lzLXV0aWxzL2RtZXNnLmM6NTIyCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MDAgc3lzLXV0aWxzL2VqZWN0LmM6NzAwIHN5cy11dGlscy9mYWxsb2NhdGUuYzozNzQKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyOCBzeXMtdXRpbHMvZnN0cmltLmM6NzIgc3lzLXV0aWxzL2h3Y2xvY2suYzoyODIKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2Mzggc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTYyCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNTYgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDAxCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MjIgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDY5CisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozODggc3lzLXV0aWxzL25zZW50ZXIuYzoxMjggc3lzLXV0aWxzL3J0Y3dha2UuYzoxMzYKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MjcwIHN5cy11dGlscy9zZXRwcml2LmM6MjMwIHN5cy11dGlscy9zZXRwcml2LmM6NTI5CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1MiBzeXMtdXRpbHMvc3dhcG9uLmM6MzcxIHN5cy11dGlscy9zd2Fwb24uYzo1MTQKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2MyBzeXMtdXRpbHMvdW5zaGFyZS5jOjEwNiBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyMQorIzogc3lzLXV0aWxzL3dkY3RsLmM6MzIxIHN5cy11dGlscy93ZGN0bC5jOjM3NyB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MTgKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEyNyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQyNSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQzMQorIzogdGVybS11dGlscy9zY3JpcHQuYzo0MzMgdGVybS11dGlscy9zY3JpcHQuYzo1MjIKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTk3IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjAwCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozMzEgdGV4dC11dGlscy9jb2xjcnQuYzoyODIgdGV4dC11dGlscy9tb3JlLmM6NTEzCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjE0MSB0ZXh0LXV0aWxzL3RhaWxmLmM6NjggdGV4dC11dGlscy90YWlsZi5jOjEwMAorIzogdGV4dC11dGlscy91bC5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAiJXMgbmVsemUgb3RldsWZw610IgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1OSBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MCBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzo5OAorbXNnaWQgImludmFsaWQgcGFydGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IMSNw61zbGEgb2Rkw61sdSIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjAKK21zZ2lkICJpbnZhbGlkIHN0YXJ0IGFyZ3VtZW50IgorbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnQgemHEjcOhdGt1IgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MSBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDgKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IGTDqWxreSIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjIKK21zZ2lkICJmYWlsZWQgdG8gYWRkIHBhcnRpdGlvbiIKK21zZ3N0ciAib2Rkw61sIHNlIG5lcG9kYcWZaWxvIHDFmWlkYXQiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo2MworbXNnaWQgInNldCByZWFkLW9ubHkiCittc2dzdHIgIm5hc3RhdsOtIHBvdXplIHBybyDEjXRlbsOtIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzAKK21zZ2lkICJzZXQgcmVhZC13cml0ZSIKK21zZ3N0ciAibmFzdGF2w60gcHJvIMSNdGVuw60vesOhcGlzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzYKK21zZ2lkICJnZXQgcmVhZC1vbmx5IgorbXNnc3RyICJ6amlzdMOtIHpkYSBqZSB6YWvDoXrDoW4gesOhcGlzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODIKK21zZ2lkICJnZXQgZGlzY2FyZCB6ZXJvZXMgc3VwcG9ydCBzdGF0dXMiCittc2dzdHIgInpqaXN0w60gcG9kcG9ydSB6YWhhem92w6Fuw60gbnVsIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODgKK21zZ2lkICJnZXQgbG9naWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICJ6amlzdMOtIHZlbGlrb3N0IGxvZ2lja8OpaG8gYmxva3UgKHNla3RvcnUpIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6OTQKK21zZ2lkICJnZXQgcGh5c2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAiemppc3TDrSB2ZWxpa29zdCBmeXppY2vDqWhvIGJsb2t1IChzZWt0b3J1KSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwMAorbXNnaWQgImdldCBtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICJ6amlzdMOtIG1pbmltw6FsbsOtIHZlbGlrb3N0IEkvTyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwNgorbXNnaWQgImdldCBvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICJ6amlzdMOtIG9wdGltw6FsbsOtIHZlbGlrb3N0IEkvTyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExMgorbXNnaWQgImdldCBhbGlnbm1lbnQgb2Zmc2V0IGluIGJ5dGVzIgorbXNnc3RyICJ6amlzdMOtIHBvc3VuIHBybyB6YXJvdm7DoW7DrSB2wqBiYWp0ZWNoIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTE4Cittc2dpZCAiZ2V0IG1heCBzZWN0b3JzIHBlciByZXF1ZXN0IgorbXNnc3RyICJ6amlzdMOtIG1heGltw6FsbsOtIHBvxI1ldCBzZWt0b3LFryB2wqBwb8W+YWRhdmt1IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTI0Cittc2dpZCAiZ2V0IGJsb2Nrc2l6ZSIKK21zZ3N0ciAiemppc3TDrSB2ZWxpa29zdCBibG9rdSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzMQorbXNnaWQgInNldCBibG9ja3NpemUgb24gZmlsZSBkZXNjcmlwdG9yIG9wZW5pbmcgdGhlIGJsb2NrIGRldmljZSIKK21zZ3N0ciAibmFzdGF2w60gdmVsaWtvc3QgYmxva3UgbmEgZGVza3JpcHRvcnUgc291Ym9ydSBvdGV2w61yYWrDrWPDrWhvIGJsb2tvdsOpIHphxZnDrXplbsOtIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTM3Cittc2dpZCAiZ2V0IDMyLWJpdCBzZWN0b3IgY291bnQgKGRlcHJlY2F0ZWQsIHVzZSAtLWdldHN6KSIKK21zZ3N0ciAiemppc3TDrSBwb8SNZXQgc2VrdG9yxa8gamFrbyAzMmJpdG92w6kgxI3DrXNsbyAoemFzdGFyYWzDqSwgcG91xb5panRlIC0tZ2V0c3opIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTQzCittc2dpZCAiZ2V0IHNpemUgaW4gYnl0ZXMiCittc2dzdHIgInpqaXN0w60gdmVsaWtvc3QgdsKgYmFqdGVjaCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1MAorbXNnaWQgInNldCByZWFkYWhlYWQiCittc2dzdHIgIm5hc3RhdsOtIGRvcMWZZWRuw6kgxI10ZW7DrSBzZWt0b3LFryIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1NgorbXNnaWQgImdldCByZWFkYWhlYWQiCittc2dzdHIgInpqaXN0w60gbmFzdGF2ZW7DrSBkb3DFmWVkbsOpaG8gxI10ZW7DrSBzZWt0b3LFryIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2MworbXNnaWQgInNldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAibmFzdGF2w60gZG9wxZllZG7DqSBuYcSNw610w6Fuw60gcHJvIHNvdWJvcm92w70gc3lzdMOpbSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2OQorbXNnaWQgImdldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAiemppc3TDrSBuYXN0YXZlbsOtIGRvcMWZZWRuw6lobyBuYcSNw610w6Fuw60gcHJvIHNvdWJvcm92w70gc3lzdMOpbSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3MworbXNnaWQgImZsdXNoIGJ1ZmZlcnMiCittc2dzdHIgInZ5cHLDoXpkbml0IGJ1ZmZlcnkiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzcKK21zZ2lkICJyZXJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJuYcSNdGUgem5vdnUgdGFidWxrdSByb3pkxJtsZW7DrSBkaXNrdSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICUxJHMgLVZcbiIKKyIgJTEkcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyIgJTEkcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyJcbiIKKyJBdmFpbGFibGUgY29tbWFuZHM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJQb3XFvml0w606XG4iCisiICUxJHMgLVZcbiIKKyIgJTEkcyAtLXJlcG9ydCBbWkHFmMONWkVOw43igKZdXG4iCisiICUxJHMgWy12fC1xXSBQxZjDjUtBWlkgWkHFmMONWkVOw43igKZcbiIKKyJcbiIKKyJEb3N0dXBuw6kgcMWZw61rYXp5OlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlLTI1cyBnZXQgc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzXG4iCittc2dzdHIgIiAlLTI1cyB2csOhdMOtIHZlbGlrb3N0IHZ5asOhZMWZZW5vdSB2wqA1MTJiYWp0b3bDvWNoIHNla3RvcmVjaFxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzExCittc2dpZCAiY291bGQgbm90IGdldCBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAidmVsaWtvc3QgemHFmcOtemVuw60gbmVieWxvIG1vxb5uw6kgemppc3RpdCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGNvbW1hbmQ6ICVzIgorbXNnc3RyICJOZXpuw6Ftw70gcMWZw61rYXo6ICVzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICJwxZllcMOtbmHEjSAlcyB2ecW+YWR1amUgYXJndW1lbnQiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNjggZGlzay11dGlscy9ibG9ja2Rldi5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiY2h5YmEgSU9DVEwgbmEgJXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkLlxuIgorbXNnc3RyICJQxZnDrWtheiDigJ4lc+KAnCBzZWxoYWwuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICIlcyB1c3DEm2wuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIHN5c2ZzIGhhbmRsZXIiCittc2dzdHIgIiVzOiBuZXBvZGHFmWlsbyBpbmljaWFsaXpvdmF0IGRlc2tyaXB0b3Igc3lzZnMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiBzdGFydCBmcm9tIHN5c2ZzIgorbXNnc3RyICIlczogemHEjcOhdGVrIG9kZMOtbHUgc2UgbmVwb2RhxZlpbG8gemUgc3lzZnMgbmHEjcOtc3QiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk8gICAgUkEgICBTU1ogICBCU1ogICBTdGFydFNlYyAgICAgICAgICAgIFNpemUgICBEZXZpY2VcbiIKK21zZ3N0ciAiUk8gICAgUkEgICBTU1ogICBCU1ogUHJ2bsOtU2VrdC4gICAgICAgIFZlbGlrb3N0IFphxZnDrXplbsOtXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTc5Cittc2dpZCAiQm9vdGFibGUiCittc2dzdHIgIlphdmVkaXQuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3OQorbXNnaWQgIlRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiUMWZZXBuZSBwxZnDrXpuYWsgemF2ZWRpdGVsbm9zdGkgYWt0dcOhbG7DrW11IG9kZMOtbHUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgwCittc2dpZCAiRGVsZXRlIgorbXNnc3RyICJTbWF6YXQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgwCittc2dpZCAiRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiU21hxb5lIGFrdHXDoWxuw60gb2Rkw61sIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MQorbXNnaWQgIk5ldyIKK21zZ3N0ciAiTm92w70iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgxCittc2dpZCAiQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICJWeXR2b8WZw60gbm92w70gb2Rkw61sIHZlIHZvbG7DqW0gcHJvc3RvcnUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgyCittc2dpZCAiUXVpdCIKK21zZ3N0ciAiS29uZWMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgyCisjLCBmdXp6eQorbXNnaWQgIlF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgY2hhbmdlcyIKK21zZ3N0ciAiVWtvbsSNw60gcHJvZ3JhbSBiZXogdWxvxb5lbsOtIHRhYnVsa3kgcm96ZMSbbGVuw60gZGlza3UiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgzIGxpYmZkaXNrL3NyYy9ic2QuYzo0MzkgbGliZmRpc2svc3JjL2JzZC5jOjEwMjAKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzA2IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE2IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTYwCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTExNgorbXNnaWQgIlR5cGUiCittc2dzdHIgIkRydWgiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgzCittc2dpZCAiQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiWm3Em27DrSBkcnVoIG9kZMOtbHUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0Cittc2dpZCAiSGVscCIKK21zZ3N0ciAiTsOhcG92xJtkYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQKK21zZ2lkICJQcmludCBoZWxwIHNjcmVlbiIKK21zZ3N0ciAiVnlww63FoWUgbsOhcG92xJtkdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODUKK21zZ2lkICJTb3J0IgorbXNnc3RyICJTZcWZYWRpdCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODUKK21zZ2lkICJGaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAiT3ByYXbDrSDFmWF6ZW7DrSBvZGTDrWzFryIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJXcml0ZSIKK21zZ3N0ciAiVWxvxb5pdCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAodGhpcyBtaWdodCBkZXN0cm95IGRhdGEpIgorbXNnc3RyICJVbG/FvsOtIHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3UgbmEgZGlzayAobcWvxb5lIHpuacSNaXQgZGF0YSkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRHVtcCIKK21zZ3N0ciAiRXhwb3J0b3ZhdCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEdW1wIHBhcnRpdGlvbiB0YWJsZSB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiRXhwb3J0dWplIHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3UgamFrbyBza3JpcHQgcHJvIHNmZGlzayIKKworIzogZGlzay11dGlscy9jZmRpc2suYzo2MjAgZGlzay11dGlscy9mZGlzay5jOjQxNQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlhbG9nIHR5cGUgJWQiCittc2dzdHIgInZuaXTFmW7DrSBjaHliYTogbmVwb2Rwb3JvdmFuw70gZHJ1aCBkaWFsb2d1ICVkIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG1vdW50ZWQpIgorbXNnc3RyICIlcyAocMWZaXBvamVuKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjc0Cittc2dpZCAiUGFydGl0aW9uIG5hbWU6IgorbXNnc3RyICJOw6F6ZXYgb2Rkw61sdToiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI4MQorbXNnaWQgIlBhcnRpdGlvbiBVVUlEOiIKK21zZ3N0ciAiVVVJRCBvZGTDrWx1OiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjkzCittc2dpZCAiUGFydGl0aW9uIHR5cGU6IgorbXNnc3RyICJUeXAgb2Rkw61sdToiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMwMAorbXNnaWQgIkF0dHJpYnV0ZXM6IgorbXNnc3RyICJBdHJpYnV0eToiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMyNAorbXNnaWQgIkZpbGVzeXN0ZW0gVVVJRDoiCittc2dzdHIgIlVVSUQgc291Ym9yb3bDqWhvIHN5c3TDqW11OiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzMxCisjLCBmdXp6eQorbXNnaWQgIkZpbGVzeXN0ZW0gTEFCRUw6IgorbXNnc3RyICJqbWVub3ZrYSBzb3Vib3JvdsOpaG8gc3lzdMOpbXUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMzNworbXNnaWQgIkZpbGVzeXN0ZW06IgorbXNnc3RyICJTb3Vib3JvdsO9IHN5c3TDqW06IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNDIKK21zZ2lkICJNb3VudHBvaW50OiIKK21zZ3N0ciAiQm9kIHDFmWlwb2plbsOtIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzazogJXMiCittc2dzdHIgIkRpc2s6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2l6ZTogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIlZlbGlrb3N0OiAlcywgJSdqdSBiYWp0xa8sICUnanUgc2VrdG9yxa8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY5MAorIywgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMsIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJQb3BpczogJXMsIGlkZW50aWZpa8OhdG9yOuKAryVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzIgorbXNnc3RyICJQb3BpczogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0NgorbXNnaWQgIk1heSBiZSBmb2xsb3dlZCBieSBNIGZvciBNaUIsIEcgZm9yIEdpQiwgVCBmb3IgVGlCLCBvciBTIGZvciBzZWN0b3JzLiIKK21zZ3N0ciAiU23DrSBiw710IG7DoXNsZWRvdsOhbm8gTSBwcm8gTWlCLCBHIHBybyBHaUIsIFQgcHJvIFRpQiBuZWJvIFMgcHJvIHNla3RvcnkuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NTIKK21zZ2lkICJQbGVhc2UsIHNwZWNpZnkgc2l6ZS4iCittc2dzdHIgIlByb3PDrW0sIHphZGVqdGUgdmVsaWtvc3QuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWluaW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIk5lam1lbsWhw60gdmVsaWtvc3QgamUgJWp1IGJhanTFry4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg4MworIywgYy1mb3JtYXQKK21zZ2lkICJNYXhpbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAiTmVqdsSbdMWhw60gdmVsaWtvc3QgamUgJWp1IGJhanTFry4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5MAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplLiIKK21zZ3N0ciAiVmVsaWtvc3Qgc2UgbmV6ZGHFmWlsbyByb3plYnJhdC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0OAorbXNnaWQgIlNlbGVjdCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiVnlicmF0IGRydWggb2Rkw61sdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTk0IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAyNAorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWU6ICIKK21zZ3N0ciAiWmFkZWp0ZSBuw6F6ZXYgc291Ym9ydSBwcm8gc2tyaXB0OiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk5NQorbXNnaWQgIlRoZSBzY3JpcHQgZmlsZSB3aWxsIGJlIGFwcGxpZWQgdG8gaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIlNrcmlwdCBzZSBwb3XFvmlqZSBuYSB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2t1IHbCoHBhbcSbdGkuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMDQgZGlzay11dGlscy9jZmRpc2suYzoyMDQ2CisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjUgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJOZWx6ZSBvdGV2xZnDrXQgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwNiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJSb3pib3Igc291Ym9ydSBzZSBza3JpcHRlbSAlcyBzZWxoYWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwOCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCAlcyIKK21zZ3N0ciAiU2tyaXB0ICVzIHNlIG5lcG9kYcWZaWxvIHBvdcW+w610IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjUKK21zZ2lkICJUaGUgY3VycmVudCBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlIHdpbGwgYmUgZHVtcGVkIHRvIHRoZSBmaWxlLiIKK21zZ3N0ciAiU291xI1hc27DoSB0YWJ1bGthIHJvemTEm2xlbsOtIGRpc2t1IHbCoHBhbcSbdGkgYnVkZSBleHBvcnRvdsOhbmEgZG8gc291Ym9ydS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0OTEKK21zZ2lkICJGYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgIkFsb2thY2Ugb2JzbHVoeSBza3JpcHR1IHNlbGhhbGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzOQorbXNnaWQgIkZhaWxlZCB0byByZWFkIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0LiIKK21zZ3N0ciAiTmHEjXRlbsOtIHJvenZyxb5lbsOtIGRpc2t1IGRvIHNrcmlwdHUgc2VsaGFsby4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA1MworbXNnaWQgIkRpc2sgbGF5b3V0IHN1Y2Nlc3NmdWxseSBkdW1wZWQuIgorbXNnc3RyICJSb3p2csW+ZW7DrSBkaXNrdSBieWxvIMO6c3DEm8WhbsSbIHZ5ZXhwb3J0b3bDoW5vLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDU2IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUwOQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgc2NyaXB0ICVzIgorbXNnc3RyICJaw6FwaXMgc2tyaXB0dSAlcyBzZWxoYWwuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwOTIKK21zZ2lkICJTZWxlY3QgbGFiZWwgdHlwZSIKK21zZ3N0ciAiVnlicmF0IGRydWggcG9waXN1IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwOTUgZGlzay11dGlscy9mZGlzay5jOjEwMTcKK21zZ2lkICJEZXZpY2UgZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiWmHFmcOtemVuw60gbmVvYnNhaHVqZSB6bsOhbW91IHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3UuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMDEKK21zZ2lkICJTZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBsYWJlbCBvciBwcmVzcyAnTCcgdG8gbG9hZCBzY3JpcHQgZmlsZS4iCittc2dzdHIgIlZ5YmVydGUgZHJ1aCBwb3Bpc3UsIGt0ZXLDvSBjaGNldGUgdnl0dm/FmWl0LCBuZWJvIHN0aXNrbsSbdGUg4oCeTOKAnCwgYWJ5c3RlIHphdmVkbGkgc2tyaXB0IHplIHNvdWJvcnUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDYKK21zZ2lkICJUaGlzIGlzIGNmZGlzaywgYSBjdXJzZXMtYmFzZWQgZGlzayBwYXJ0aXRpb25pbmcgcHJvZ3JhbS4iCittc2dzdHIgIlRvdG8gamUgY2ZkaXNrLCBwcm9ncmFtIHBybyB2eXR2w6HFmWVuw60gb2Rkw61sxa8gcG9zdGF2ZW7DvSBuYSBrbmlob3ZuxJsgY3Vyc2VzLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ3Cittc2dpZCAiSXQgbGV0cyB5b3UgY3JlYXRlLCBkZWxldGUsIGFuZCBtb2RpZnkgcGFydGl0aW9ucyBvbiBhIGJsb2NrIGRldmljZS4iCittc2dzdHIgIlVtb8W+xYh1amUgdnl0dsOhxZllbsOtLCBtYXrDoW7DrSBhIMO6cHJhdnUgb2Rkw61sxa8gbmEgYmxva292w6ltIHphxZnDrXplbsOtLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ5Cittc2dpZCAiQ29tbWFuZCAgICAgIE1lYW5pbmciCittc2dzdHIgIlDFmcOta2F6ICAgICAgVsO9em5hbSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUwCittc2dpZCAiLS0tLS0tLSAgICAgIC0tLS0tLS0iCittc2dzdHIgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTEKK21zZ2lkICIgIGIgICAgICAgICAgVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGIgICAgICAgICAgUMWZZXBuZSBha3R1w6FsbsOtbXUgb2Rkw61sdSBwxZnDrXpuYWsgemF2ZWRpdGVsbm9zdGkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MgorbXNnaWQgIiAgZCAgICAgICAgICBEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGQgICAgICAgICAgU21hxb5lIGFrdHXDoWxuw60gb2Rkw61sIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTMKK21zZ2lkICIgIGggICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCittc2dzdHIgIiAgaCAgICAgICAgICBWeXDDrcWhZSB0dXRvIG7DoXBvdsSbZHUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NAorbXNnaWQgIiAgbiAgICAgICAgICBDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIiAgbiAgICAgICAgICBWeXR2b8WZaXQgbmEgdm9sbsOpbSBtw61zdMSbIG5vdsO9IG9kZMOtbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU1Cittc2dpZCAiICBxICAgICAgICAgIFF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgIHEgICAgICAgICAgVWtvbsSNw60gcHJvZ3JhbSBiZXogdWxvxb5lbsOtIHRhYnVsa3kgcm96ZMSbbGVuw60gZGlza3UiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NgorbXNnaWQgIiAgcyAgICAgICAgICBGaXggcGFydGl0aW9ucyBvcmRlciAob25seSB3aGVuIGluIGRpc2FycmF5KSIKK21zZ3N0ciAiICBzICAgICAgICAgIE9wcmF2w60gcG/FmWFkw60gb2Rkw61sxa8gKHBvdXplIHDFmWkgbmVwb8WZw6Fka3UpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTcKK21zZ2lkICIgIHQgICAgICAgICAgQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiICB0ICAgICAgICAgIFptxJtuw60gZHJ1aCBvZGTDrWx1IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTgKK21zZ2lkICIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiICB1ICAgICAgICAgIEV4cG9ydHVqZSByb3p2csW+ZW7DrSBkaXNrdSBqYWtvIHNrcmlwdCBrb21wYXRpYmlsbsOtIHNlIHNmZGlza2VtIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTkKK21zZ2lkICIgIFcgICAgICAgICAgV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHlvdSBtdXN0IGVudGVyIHVwcGVyY2FzZSBXKTsiCittc2dzdHIgIiAgVyAgICAgICAgICBVbG/FvsOtIHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3UgbmEgZGlzayAobXVzw610ZSB6YWRhdCB2ZWxrw6kgVykuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjAKK21zZ2lkICIgICAgICAgICAgICAgICBzaW5jZSB0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSBvbiB0aGUgZGlzaywgeW91IG11c3QgZWl0aGVyIgorbXNnc3RyICIgICAgICAgICAgICAgSmVsaWtvxb4gdMOtbXRvIG3Fr8W+ZSB6bmnEjWl0IGRhdGEgbmEgZGlza3UsIG11c8OtdGUgdG8gcG90dnJkaXQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MQorbXNnaWQgIiAgICAgICAgICAgICAgIGNvbmZpcm0gb3IgZGVueSB0aGUgd3JpdGUgYnkgZW50ZXJpbmcgJ3llcycgb3IgJ25vJyIKK21zZ3N0ciAiICAgICAgICAgICAgIG5lYm8gb2Rtw610bm91dCBuYXBzw6Fuw61tIOKAnnllc+KAnCAoYW5vKSBuZWJvIOKAnm5v4oCcIChuZSkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MgorbXNnaWQgIiAgeCAgICAgICAgICBEaXNwbGF5L2hpZGUgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIiAgeCAgICAgICAgICBab2JyYXrDrS9za3J5amUgZGFsxaHDrSDDumRhamUgb8Kgb2Rkw61sdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYzCittc2dpZCAiVXAgQXJyb3cgICAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBwYXJ0aXRpb24iCittc2dzdHIgIk5haG9ydSAgICAgICBQxZllc3VuZSBrdXJ6b3IgbmEgcMWZZWRjaMOhemVqw61jw60gb2Rkw61sLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY0Cittc2dpZCAiRG93biBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IHBhcnRpdGlvbiIKK21zZ3N0ciAiRG9sxa8gICAgICAgICBQxZllc3VuZSBrdXJ6b3IgbmEgZGFsxaHDrSBvZGTDrWwuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjUKK21zZ2lkICJMZWZ0IEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIG1lbnUgaXRlbSIKK21zZ3N0ciAiVmxldm8gICAgICAgIFDFmWVzdW5lIGt1cnpvciBuYSBwxZllZGNow6F6ZWrDrWPDrSBwb2xvxb5rdSBuYWLDrWRreSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY2Cittc2dpZCAiUmlnaHQgQXJyb3cgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IG1lbnUgaXRlbSIKK21zZ3N0ciAiVnByYXZvICAgICAgIFDFmWVzdW5lIGt1cnpvciBuYSBkYWzFocOtIHBvbG/Fvmt1IG5hYsOtZGt5IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjgKK21zZ2lkICJOb3RlOiBBbGwgb2YgdGhlIGNvbW1hbmRzIGNhbiBiZSBlbnRlcmVkIHdpdGggZWl0aGVyIHVwcGVyIG9yIGxvd2VyIgorbXNnc3RyICJQb3puw6Fta2E6IFbFoWVjaG55IHDFmcOta2F6eSBtb2hvdSBiw710IHphZMOhbnkgbWFsw71taSBpIHZlbGvDvW1pIHDDrXNtZW55IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjkKK21zZ2lkICJjYXNlIGxldHRlcnMgKGV4Y2VwdCBmb3IgV3JpdGUpLiIKK21zZ3N0ciAiKHPCoHbDvWppbWtvdSB6w6FwaXN1IC0gVykuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzEKK21zZ2lkICJVc2UgbHNibGsoOCkgb3IgcGFydHgoOCkgdG8gc2VlIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgZGV2aWNlLiIKK21zZ3N0ciAiRGFsxaHDrSBwb2Ryb2Jub3N0aSBvwqB6YcWZw616ZW7DrSBsemUgesOtc2thdCBuw6FzdHJvamkgbHNibGsoOCkgYSBwYXJ0eCg4KS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3OCBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzcKK21zZ2lkICJQcmVzcyBhIGtleSB0byBjb250aW51ZS4iCittc2dzdHIgIlN0aXNrbsSbdGUga2zDoXZlc3UgcHJvIHBva3JhxI1vdsOhbsOtLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjYwCittc2dpZCAiQ291bGQgbm90IHRvZ2dsZSB0aGUgZmxhZy4iCittc2dzdHIgIlDFmcOtem5hayBuZWJ5bG8gbW/Fvm7DqSBwxZllcG5vdXQuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiT2Rkw61sICV6dSBuZWJ5bG8gbW/Fvm7DqSBzbWF6YXQuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNzIgZGlzay11dGlscy9mZGlzay1tZW51LmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaGFzIGJlZW4gZGVsZXRlZC4iCittc2dzdHIgIk9kZMOtbCAlenUgamUgc21hemFuw70uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyOTMKK21zZ2lkICJQYXJ0aXRpb24gc2l6ZTogIgorbXNnc3RyICJWZWxpa29zdCBvZGTDrWx1OiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIkRydWggb2Rkw61sdSAlenUgYnlsIHptxJtuxJtuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSB0eXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkLiIKK21zZ3N0ciAiVHlwIG9kZMOtbHUgJXp1IGplIG5lem3Em27Em24uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNTMgZGlzay11dGlscy9jZmRpc2suYzoyNDY2IGRpc2stdXRpbHMvZmRpc2suYzo5OTEKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU3MAorbXNnaWQgIkRldmljZSBpcyBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIKK21zZ3N0ciAiWmHFmcOtemVuw60gb3RldsWZZW5vIGplbiBwcm8gxI10ZW7DrS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM1OAorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAiSnN0ZSBzaSBqaXN0aSwgxb5lIGNoY2V0ZSB1bG/Fvml0IHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3UgbmEgZGlzaz8gIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjAKK21zZ2lkICJUeXBlIFwieWVzXCIgb3IgXCJub1wiLCBvciBwcmVzcyBFU0MgdG8gbGVhdmUgdGhpcyBkaWFsb2cuIgorbXNnc3RyICJOYXBpxaF0ZSDigJ5hbm/igJwgbmVibyDigJ5uZeKAnCBuZWJvIHN0aXNrbsSbdGUgRXNjIHBybyBvcHXFoXTEm27DrSBkaWFsb2d1LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzY1IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE1NDAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1NTAKK21zZ2lkICJ5ZXMiCittc2dzdHIgImFubyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzY2Cittc2dpZCAiRGlkIG5vdCB3cml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4iCittc2dzdHIgIlRhYnVsa2Egcm96ZMSbbGVuw60gZGlza3UgbmVieWxhIG5hIGRpc2sgemFwc8OhbmEuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzEKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsLiIKK21zZ3N0ciAiWsOhcGlzIHBvcGlzdSBkaXNrdSBzZWxoYWwuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzQgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTc4Cittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiVGFidWxrYSByb3pkxJtsZW7DrSBkaXNrdSBieWxhIHptxJtuxJtuYS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM5NyBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NjgKK21zZ2lkICJOb3RlIHRoYXQgcGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyIG5vdy4iCittc2dzdHIgIlZlem3Em3RlIG5hIHbEm2RvbcOtLCDFvmUgesOhem5hbXkgdGFidWxreSByb3pkxJtsZW7DrSBkaXNrdSBuZWpzb3Ugbnluw60gc2XFmWF6ZW55LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlOyBpdCB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiWmHFmcOtemVuw60gamnFviBvYnNhaHVqZSB2em9yZWMgJXMuIFDFmcOta2F6ZW0ga8KgesOhcGlzdSBidWRlIG9kc3RyYW7Em24uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDUKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGRpc2tsYWJlbCIKK21zZ3N0ciAidnl0dm/FmWVuw60gbm92w6lobyBwb3Bpc3UgZGlza3Ugc2VsaGFsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NTMKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb25zIgorbXNnc3RyICJvZGTDrWx5IHNlIG5lcG9kYcWZaWxvIG5hxI3DrXN0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICUxJHMgW29wdGlvbnNdIDxkaXNrPlxuIgorbXNnc3RyICIgJTEkcyBbcMWZZXDDrW5hxI1lXSA8ZGlzaz5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTQ5IGRpc2stdXRpbHMvZmRpc2suYzo3MzYgZGlzay11dGlscy9zZmRpc2suYzoxODEwCittc2dpZCAiRGlzcGxheSBvciBtYW5pcHVsYXRlIGEgZGlzayBwYXJ0aXRpb24gdGFibGUuXG4iCittc2dzdHIgIlpvYnJhesOtIG5lYm8gcHJhY3VqZSBzwqB0YWJ1bGtvdSByb3pkxJtsZW7DrSBkaXNrdS5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTUyCittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08a2R5Pl0gICAgICBvYmFydsOtIHbDvXN0dXAgKGF1dG8sIGFsd2F5cyBbdsW+ZHldLCBuZXZlciBbbmlrZHldKVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NTUKK21zZ2lkICIgLXosIC0temVybyAgICAgICAgICAgICAgIHN0YXJ0IHdpdGggemVyb2VkIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgLXosIC0temVybyAgICAgICAgICAgICAgIHphxI1uZSBzwqB2eW51bG92YW5vdSB0YWJ1bGtvdSByb3pkxJtsZW7DrSBkaXNrdVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1OTQgZGlzay11dGlscy9mZGlzay5jOjg4MiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzcKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzkwIHN5cy11dGlscy9kbWVzZy5jOjEzMzMgdGV4dC11dGlscy9oZXhkdW1wLmM6MTE0Cittc2dpZCAidW5zdXBwb3J0ZWQgY29sb3IgbW9kZSIKK21zZ3N0ciAibmVwb2Rwb3JvdmFuw70gcmXFvmltIGJhcmV2IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MTIgZGlzay11dGlscy9mZGlzay5jOjgxOCBkaXNrLXV0aWxzL3NmZGlzay5jOjIyMworbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICJhbG9rYWNlIGtvbnRleHR1IGxpYmZkaXNrdSBzZWxoYWxhIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj5cbiIKK21zZ3N0ciAiJXMgPHphxZnDrXplbsOtIGRpc2t1PiA8xI3DrXNsbyBvZGTDrWx1PlxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxOAorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCB0byBmb3JnZXQgYWJvdXQgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICLFmGVrbmUgasOhZHJ1LCBhYnkgemFwb21uxJtsbyB6YWRhbsO9IG9kZMOtbC5cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6NjEKK21zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlIHBhcnRpdGlvbiIKK21zZ3N0ciAib2Rkw61sIHNlIG5lcG9kYcWZaWxvIG9kc3RyYW5pdCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcm1hdHRpbmcgLi4uICIKK21zZ3N0ciAiRm9ybcOhdHVqZSBzZeKApiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo2OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgImRvbmVcbiIKK21zZ3N0ciAiaG90b3ZvXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJWZXJpZnlpbmcgLi4uICIKK21zZ3N0ciAiT3bEm8WZdWplIHNl4oCmICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEwOAorbXNnaWQgIlJlYWQ6ICIKK21zZ3N0ciAiQ2h5YmEgcMWZaSDEjXRlbsOtOiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJvYmxlbSByZWFkaW5nIHRyYWNrL2hlYWQgJXUvJXUsIGV4cGVjdGVkICVkLCByZWFkICVkXG4iCittc2dzdHIgIlBvdMOtxb5lIHDFmWkgxI10ZW7DrSBjeWxpbmRydS9obGF2eSAldS8ldSwgcMWZZWRwb2tsYWQgJWQsIHDFmWXEjXRlbm8gJWRcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYmFkIGRhdGEgaW4gdHJhY2svaGVhZCAldS8ldVxuIgorIkNvbnRpbnVpbmcgLi4uICIKK21zZ3N0ciAiIgorImNoeWJuw6EgZGF0YSB2IGN5bGluZHJ1L2hsYXbEmyAldS8ldVxuIgorIlBva3JhxI11amUgc2XigKYiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTgyCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjExNyBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1NiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg0CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gPHphxZnDrXplbsOtPlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ4Cittc2dpZCAiRG8gYSBsb3ctbGV2ZWwgZm9ybWF0dGluZyBvZiBhIGZsb3BweSBkaXNrLlxuIgorbXNnc3RyICJGb3Jtw6F0dWplIGRpc2tldHUgbmEgbsOtemvDqSDDunJvdm5pLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUxCittc2dpZCAiIC1mLCAtLWZyb20gPE4+ICAgIHN0YXJ0IGF0IHRoZSB0cmFjayBOIChkZWZhdWx0IDApXG4iCittc2dzdHIgIiAtZiwgLS1mcm9tIDxOPiAgICB6YcSNbmUgbmEgc3RvcMSbIE4gKHbDvWNob3rDrSBqZSAwKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUyCittc2dpZCAiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgYXQgdGhlIHRyYWNrIE5cbiIKK21zZ3N0ciAiIC10LCAtLXRvIDxOPiAgICAgIHDFmWVzdGFuZSBuYSBzdG9wxJsgTlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUzCittc2dpZCAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICB0cnkgdG8gcmVwYWlyIHRyYWNrcyBmYWlsZWQgZHVyaW5nXG4iCisiICAgICAgICAgICAgICAgICAgICAgdGhlIHZlcmlmaWNhdGlvbiAobWF4IE4gcmV0cmllcylcbiIKK21zZ3N0ciAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICBwb2t1c8OtIHNlIG9wcmF2aXQgc3RvcHksIGt0ZXLDqSBuZXVzcMSbbHkgcMWZaVxuIgorIiAgICAgICAgICAgICAgICAgICBvdsSbxZlvdsOhbsOtIChuZWp2w73FoWUgTiBwb2t1c8WvKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU1Cittc2dpZCAiIC1uLCAtLW5vLXZlcmlmeSAgIGRpc2FibGUgdGhlIHZlcmlmaWNhdGlvbiBhZnRlciB0aGUgZm9ybWF0XG4iCittc2dzdHIgIiAtbiwgLS1uby12ZXJpZnkgICB2eXBuZSBvdsSbxZlvdsOhbsOtIHBvIGZvcm3DoXRvdsOhbsOtXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gZnJvbSIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50wqDigJMgZnJvbSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5OAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSB0byIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50wqDigJMgdG8iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMDEKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gcmVwYWlyIgorbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnTCoOKAkyByZXBhaXIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1MQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4NSBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzM4CisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzQ4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODUKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxNiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0MSBkaXNrLXV0aWxzL3BhcnR4LmM6OTMzCisjOiBsb2dpbi11dGlscy9sYXN0LmM6Njg2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM5IG1pc2MtdXRpbHMvbmFtZWkuYzoxMzUKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjMgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODYgc3lzLXV0aWxzL2RtZXNnLmM6NTI0CisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTk4IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzMSBzeXMtdXRpbHMvZnN0cmltLmM6NzcKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1MTkgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6OTMKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjEzMyB0ZXJtLXV0aWxzL21lc2cuYzoxMjkgdGV4dC11dGlscy9tb3JlLmM6NTA0CisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTAzIHRleHQtdXRpbHMvdGFpbGYuYzoyODAKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RhdCBvZiAlcyBmYWlsZWQiCittc2dzdHIgInZvbMOhbsOtIHN0YXQgbmFkICVzIHNlbGhhbG8iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjQgZGlzay11dGlscy9wYXJ0eC5jOjk5MSBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ4NQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODggc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXM6IG5lbsOtIGJsb2tvdsOpIHphxZnDrXplbsOtIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI5Cittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICJzb3XEjWFzbsO9IHR5cCBmb3Jtw6F0dSBuZWJ5bG8gbW/Fvm7DqSB1csSNaXQiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMtc2lkZWQsICVkIHRyYWNrcywgJWQgc2VjL3RyYWNrLiBUb3RhbCBjYXBhY2l0eSAlZCBrQi5cbiIKK21zZ3N0ciAic3RyYW46ICVzLCBzdG9wOiAlZCwgc2VrdC9zdG9wdSAlZC4gQ2Vsa292w6Ega2FwYWNpdGEgJSdkwqBrQi5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMgorbXNnaWQgIkRvdWJsZSIKK21zZ3N0ciAiMiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMgorbXNnaWQgIlNpbmdsZSIKK21zZ3N0ciAiMSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzOQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAicG/EjcOhdGXEjW7DrSBzdG9wYSB6YWRhbsOhIHXFvml2YXRlbGVtIHDFmWVzYWh1amUgaHJhbmljaSBtw6lkaWEiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDEKK21zZ2lkICJ1c2VyIGRlZmluZWQgZW5kIHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICJrb25jb3bDoSBzdG9wYSB6YWRhbsOhIHXFvml2YXRlbGVtIHDFmWVzYWh1amUgaHJhbmljaSBtw6lkaWEiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDMKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgdXNlciBkZWZpbmVkIGVuZCB0cmFjayIKK21zZ3N0ciAicG/EjcOhdGXEjW7DrSBzdG9wYSB6YWRhbsOhIHXFvml2YXRlbGVtIHDFmWVzYWh1amUgdcW+aXZhdGVsZW0gemFkYW5vdSBrb25jb3ZvdSBzdG9wdSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI1MSBtaXNjLXV0aWxzL2xvZ2dlci5jOjk4NworbXNnaWQgImNsb3NlIGZhaWxlZCIKK21zZ3N0ciAidXphdsWZZW7DrSBzZWxoYWxvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTUgZGlzay11dGlscy9mZGlzay5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRG8geW91IHJlYWxseSB3YW50IHRvIHF1aXQ/ICIKK21zZ3N0ciAiIgorIlxuIgorIkNoY2V0ZSBvcHJhdmR1IHNrb27EjWl0PyAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0IChkZWZhdWx0ICVjKTogIgorbXNnc3RyICJWeWJlcnRlICh2w71jaG96w60gJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgZGVmYXVsdCByZXNwb25zZSAlYy4iCittc2dzdHIgIlBvdcW+aWplIHNlIHbDvWNob3rDrSBvZHBvdsSbxI8gJWMuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTc2IGRpc2stdXRpbHMvZmRpc2suYzoyNTAgZGlzay11dGlscy9mZGlzay5jOjMyNQorIzogbGliZmRpc2svc3JjL2Rvcy5jOjExODkgbGliZmRpc2svc3JjL2dwdC5jOjIyNzcKK21zZ2lkICJWYWx1ZSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJIb2Rub3RhIGplIG1pbW8gbWV6ZS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJXMsIHbDvWNob3rDrSBqZSAlYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwOCBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglcywgdsO9Y2hvesOtIGplICU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglYy0lYywgdsO9Y2hvesOtIGplICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjE3IGRpc2stdXRpbHMvZmRpc2suYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0PiwgdsO9Y2hvesOtIGplICU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMpOiAiCittc2dzdHIgIiVzICglYy0lYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMyBkaXNrLXV0aWxzL2ZkaXNrLmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjM5MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NworbXNnaWQgIiBbWV1lcy9bTl1vOiAiCittc2dzdHIgIiBbQV1uby9bTl1lOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0MzMKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSAodHlwZSBMIHRvIGxpc3QgYWxsIHR5cGVzKTogIgorbXNnc3RyICJUeXAgb2Rkw61sdSAoTCB2eXDDrcWhZSB2xaFlY2hueSB0eXB5KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDM0Cittc2dpZCAiSGV4IGNvZGUgKHR5cGUgTCB0byBsaXN0IGFsbCBjb2Rlcyk6ICIKK21zZ3N0ciAixaBlc3Ruw6FjdGtvdsO9IGvDs2QgKEwgdnlww63FoWUgdsWhZWNobnkga8OzZHkpOiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjUzNgorbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgc2V0IChERVBSRUNBVEVEISkiCittc2dzdHIgIlDFmcOtem5hayBrb21wYXRpYmlsaXR5IHPCoERPU2VtIGplIG5hc3RhdmVuIChaQVNUQVJBTMOJISkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1MzcKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIG5vdCBzZXQiCittc2dzdHIgIlDFmcOtem5hayBrb21wYXRpYmlsaXR5IHPCoERPU2VtIG5lbsOtIG5hc3RhdmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTU4IGRpc2stdXRpbHMvZmRpc2suYzo1OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBleGlzdCB5ZXQhIgorbXNnc3RyICJEaXNrb3bDvSBvZGTDrWwgJXp1IHphdMOtbSBuZWV4aXN0dWplISIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU2MyBkaXNrLXV0aWxzL2ZkaXNrLmM6NTcyIGxpYmZkaXNrL3NyYy9hc2suYzo5OTUKK21zZ2lkICJVbmtub3duIgorbXNnc3RyICJOZXpuw6Ftw70iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAnJXMnIHRvICclcycuIgorbXNnc3RyICJUeXAgb2Rkw61sdSDigJ4lc+KAnCBieWwgem3Em27Em24gbmEg4oCeJXPigJwuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIlR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQ6ICVzLiIKK21zZ3N0ciAiVHlwIG9kZMOtbHUgJXp1IGplIG5lem3Em27Em246ICVzLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlMTVzOiAlcyIKK21zZ3N0ciAiJTE1czogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzOiBvZmZzZXQgPSAlPFBSSXU2ND4sIHNpemUgPSAlenUgYnl0ZXMuIgorbXNnc3RyICIiCisiXG4iCisiJXM6IHBvc3VuID0gJSc8UFJJdTY0PiwgdmVsaWtvc3QgPSAlJ3p14oCvQi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2NzcKK21zZ2lkICJjYW5ub3Qgc2VlayIKK21zZ3N0ciAidm9sw6Fuw60gc2VlayBzZWxoYWxvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjgyCittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgIm5lbHplIMSNw61zdCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY5NSBsaWJmZGlzay9zcmMvYnNkLmM6MjU5IGxpYmZkaXNrL3NyYy9kb3MuYzo5MzMKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEwCittc2dpZCAiRmlyc3Qgc2VjdG9yIgorbXNnc3RyICJQcnZuw60gc2VrdG9yIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzIyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzIgorbXNnc3RyICJ2b2zDoW7DrSBpb2N0bCBCTEtHRVRTSVpFIG5hZCAlcyBzZWxoYWxvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRpc2s+ICAgICAgY2hhbmdlIHBhcnRpdGlvbiB0YWJsZVxuIgorIiAlMSRzIFtvcHRpb25zXSAtbCBbPGRpc2s+XSBsaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorbXNnc3RyICIiCisiICUxJHMgW3DFmWVww61uYcSNZV0gPGRpc2s+ICAgICB6bcSbbsOtIHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3VcbiIKKyIgJTEkcyBbcMWZZXDDrW5hxI1lXSAtbCA8ZGlzaz4gIHZ5cMOtxaFlIHRhYnVsa3UoeSkgcm96ZMSbbGVuw60gZGlza3VcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjczOQorbXNnaWQgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8c2l6ZT4gICAgICBwaHlzaWNhbCBhbmQgbG9naWNhbCBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgLWIsIC0tc2VjdG9yLXNpemUgPHZlbGlrb3N0PiAgdmVsaWtvc3QgZnl6aWNrw6lobyBhIGxvZ2lja8OpaG8gc2VrdG9ydVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQwCittc2dpZCAiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIGRvbid0IGVyYXNlIGJvb3RiaXRzIHdoZW4gY3JlYXRpbmcgYSBuZXcgbGFiZWxcbiIKK21zZ3N0ciAiIgorIiAtQiwgLS1wcm90ZWN0LWJvb3QgICAgICAgICAgICBuZW1hxb5lIGJpdHkgemF2YWTEm8SNZSwga2R5xb4gc2Ugdnl0dsOhxZnDrSBub3bDvVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3BpcyBkaXNrdVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQxCittc2dpZCAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2RlPl0gIG1vZGUgaXMgJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYywgLS1jb21wYXRpYmlsaXR5Wz08cmXFvmltPl0gcmXFvmltIOKAnmRvc+KAnCBuZWJvIOKAnm5vbmRvc+KAnCAodsO9Y2hvesOtKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQyCittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIiCisiIC1MLCAtLWNvbG9yWz08a2R5Pl0gICAgICAgICAgIG9iYXJ2w60gdsO9c3R1cCAoYXV0bywgYWx3YXlzIFt2xb5keV0sXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldmVyIFtuaWtkeV0pXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDUKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgcGFydGl0aW9ucyBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgem9icmF6w60gb2Rkw61seSBhIHNrb27EjcOtXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDYKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8c2V6bmFtPiAgICAgICAgIHpvYnJhesOtIHNsb3VwY2VcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0NworbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICAgICAgICAgICByZWNvZ25pemUgc3BlY2lmaWVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIG9ubHlcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGUgPHR5cD4gICAgICAgICAgICAgIHJvenBvem7DoSBqZW4gemFkYW7DvSB0eXAgdGFidWxreSByb3pkxJtsZW7DrSBkaXNrdVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ4Cittc2dpZCAiIC11LCAtLXVuaXRzWz08dW5pdD5dICAgICAgICAgIGRpc3BsYXkgdW5pdHM6ICdjeWxpbmRlcnMnIG9yICdzZWN0b3JzJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorIiAtdSwgLS11bml0c1s9PGplZG5vdGthPl0gICAgICB6b2JyYXp1amUgdsKgamVkbm90a8OhY2g6IOKAnmN5bGluZGVyc+KAnCAoY3lsaW5kcnkpXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5lYm8g4oCec2VjdG9yc+KAnCAoc2VrdG9yeSwgdsO9Y2hvesOtKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ5Cittc2dpZCAiIC1zLCAtLWdldHN6ICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgZGV2aWNlIHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9ycyBbREVQUkVDQVRFRF1cbiIKK21zZ3N0ciAiIgorIiAtcywgLS1nZXRzeiAgICAgICAgICAgICAgICAgICB6b2JyYXrDrSB2ZWxpa29zdCB6YcWZw616ZW7DrSB2wqA1MTJiYWp0b3bDvWNoXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNla3RvcmVjaCAoWkFTVEFSQUzDiSlcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1MAorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIHZlbGlrb3N0aSB2eXBpc3VqZSB2wqBiYWp0ZWNoIG5hbcOtc3RvIHbCoHBvZG9ixJtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmhvZG7DqSBwcm8gxI1sb3bEm2thXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTEKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKyIgLXcsIC0td2lwZSA8cmXFvmltPiAgICAgICAgICAgIHZ5bWHFvmUgdnpvcmNlIChhdXRvLCBhbHdheXMgW3bFvmR5XSBuZWJvXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldmVyIFtuaWtkeV0pXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTIgZGlzay11dGlscy9zZmRpc2suYzoxODUzCisjLCBmdXp6eQorbXNnaWQgIiAtVywgLS13aXBlLXBhcnRpdGlvbnMgPG1vZGU+ICB3aXBlIHNpZ25hdHVyZXMgZnJvbSBuZXcgcGFydGl0aW9ucyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLXcsIC0td2lwZSA8a2R5PiAgICAgICAgICB2eW1hxb5lIHZ6b3JjZSAoYXV0bywgYWx3YXlzIFt2xb5keV0sIG5ldmVyIFtuaWtkeV0pXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTUKK21zZ2lkICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorbXNnc3RyICIgLUMsIC0tY3lsaW5kZXJzIDxwb8SNZXQ+ICAgICAgIHVyxI11amUgcG/EjWV0IGN5bGluZHLFr1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU2Cittc2dpZCAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBoZWFkc1xuIgorbXNnc3RyICIgLUgsIC0taGVhZHMgPHBvxI1ldD4gICAgICAgICAgIHVyxI11amUgcG/EjWV0IGhsYXZcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1NworbXNnaWQgIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKK21zZ3N0ciAiIC1TLCAtLXNlY3RvcnMgPHBvxI1ldD4gICAgICAgICB1csSNdWplIHBvxI1ldCBzZWt0b3LFryBuYSBzdG9wdVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI4Cittc2dpZCAiaW52YWxpZCBzZWN0b3Igc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IHZlbGlrb3N0aSBzZWt0b3J1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODQwCittc2dpZCAiaW52YWxpZCBjeWxpbmRlcnMgYXJndW1lbnQiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCBjeWxpbmRyxa8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NTIKK21zZ2lkICJub3QgZm91bmQgRE9TIGxhYmVsIGRyaXZlciIKK21zZ3N0ciAib3ZsYWRhxI0gcG9waXN1IGRpc2t1IERPUyBuZW5hbGV6ZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb21wYXRpYmlsaXR5IG1vZGUgJyVzJyIKK21zZ3N0ciAibmV6bsOhbcO9IHJlxb5pbSBrb21wYXRpYmlsaXR5IOKAniVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODY3Cittc2dpZCAiaW52YWxpZCBoZWFkcyBhcmd1bWVudCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IGhsYXYiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NzMKK21zZ2lkICJpbnZhbGlkIHNlY3RvcnMgYXJndW1lbnQiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCBzZWt0b3LFryIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg5OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNrbGFiZWw6ICVzIgorbXNnc3RyICJuZXBvZHBvcm92YW7DvSBwb3BpcyBkaXNrdTogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MTYgZGlzay11dGlscy9mZGlzay5jOjkyMSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0NgorbXNnaWQgInVuc3VwcG9ydGVkIHdpcGUgbW9kZSIKK21zZ3N0ciAibmVwb2Rwb3JvdmFuw70gcmXFvmltIHbDvW1henUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MzQKK21zZ2lkICJUaGUgZGV2aWNlIHByb3BlcnRpZXMgKHNlY3RvciBzaXplIGFuZCBnZW9tZXRyeSkgc2hvdWxkIGJlIHVzZWQgd2l0aCBvbmUgc3BlY2lmaWVkIGRldmljZSBvbmx5LiIKK21zZ3N0ciAiVmxhc3Rub3N0aSB6YcWZw616ZW7DrSAodmVsaWtvc3Qgc2VrdG9ydSBhIGdlb21ldHJpZSkgYnkgbcSbbHkgYsO9dCBwb3XFvml0eSBqZW4gc8KgamVkbsOtbSB6YWRhbsO9bSB6YcWZw616ZW7DrW0uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIldlbGNvbWUgdG8gZmRpc2sgKCVzKS4iCittc2dzdHIgIlbDrXRlanRlIHbCoGZkaXNrdSAoJXMpLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk4NCBkaXNrLXV0aWxzL3NmZGlzay5jOjE1ODgKK21zZ2lkICIiCisiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorIkJlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLlxuIgorbXNnc3RyICIiCisiWm3Em255IHrFr3N0YW5vdSBwb3V6ZSB2wqBwYW3Em3RpLCBkb2t1ZCBzZSBuZXJvemhvZG5ldGUgamUgdWxvxb5pdCBuYSBkaXNrLlxuIgorIlDFmWkgcG91xb5pdMOtIHDFmcOta2F6dSB6w6FwaXN1IGJ1xI90ZSBvYmV6xZlldG7DrS5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMDEgZGlzay11dGlscy9zZmRpc2suYzoxNjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAlcyBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiWmHFmcOtemVuw60gJXMgamnFviBvYnNhaHVqZSB2em9yZWMgJXMuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxMCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NDIgZGlzay11dGlscy9zZmRpc2suYzoxNDg0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjIKK21zZ2lkICJUaGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICJWem9yZWMgYnVkZSBvZHN0cmFuxJtuIHDFmcOta2F6ZW0ga8KgesOhcGlzdS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDEzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyNQorbXNnaWQgIkl0IGlzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSwgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4iCittc2dzdHIgIkTFr3Jhem7EmyBzZSBkb3BvcnXEjXVqZSB2ecSNaXN0aXQgemHFmcOtemVuw60gcMWZw61rYXplbSB3aXBlZnMoOCksIGFieSBzZSBwxZllZGXFoWxvIG1vxb5uw71tIGtvbGl6w61tLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMjIKK21zZ2lkICJBIGh5YnJpZCBHUFQgd2FzIGRldGVjdGVkLiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBoeWJyaWQgTUJSIG1hbnVhbGx5IChleHBlcnQgY29tbWFuZCAnTScpLiIKK21zZ3N0ciAiQnlsYSBuYWxlemVuYSBoeWJyaWRuw60gR1BULiBIeWJyaWRuw60gTUJSIGJ1ZGV0ZSBtdXNldCBzeW5jaHJvbml6b3ZhdCBydcSNbsSbIChleHBlcnRuw60gcMWZw61rYXog4oCeTeKAnCkuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiRGlzayAlczogJXMsICUnanUgYmFqdMWvLCAlJ2p1IHNla3RvcsWvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo1NAorIywgYy1mb3JtYXQKK21zZ2lkICJHZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycy90cmFjaywgJWxsdSBjeWxpbmRlcnMiCittc2dzdHIgIkdlb21ldHJpZTogaGxhdjogJSdkLCBzZWt0b3LFryBuYSBzdG9wdTogJSdsbHUsIGN5bGluZHLFrzogJSdsbHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjU5IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICJVbml0czogJXMgb2YgJWQgKiAlbGQgPSAlbGQgYnl0ZXMiCittc2dzdHIgIkplZG5vdGt5OiAlcyBwb8KgJWQgKiAlbGQgPSAlJ2xkIGJhanRlY2giCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY1IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiVmVsaWtvc3Qgc2VrdG9ydSAobG9naWNrw6loby9meXppY2vDqWhvKTogJWx1IGJhanTFryAvICVsdSBiYWp0xa8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkkvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIlZlbGlrb3N0IEkvTyAobWluaW3DoWxuw60vb3B0aW3DoWxuw60pOiAlbHUgYmFqdMWvIC8gJWx1IGJhanTFryIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25tZW50IG9mZnNldDogJWx1IGJ5dGVzIgorbXNnc3RyICJaYXJvdm7DoXZhY8OtIHBvc3VuOiAlbHUgYmFqdMWvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgdHlwZTogJXMiCittc2dzdHIgIlR5cCBwb3Bpc3UgZGlza3U6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJJZGVudGlmaWvDoXRvciBkaXNrdTrigK8lcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTA5IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxOQorIzogZGlzay11dGlscy9mc2NrLmM6MTI0NAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBpdGVyYXRvciIKK21zZ3N0ciAiYWxva2FjZSBpdGVyw6F0b3J1IHNlbGhhbGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjExNSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjUKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJ2w71zdHVwbsOtIHRhYnVsa3Ugc2UgbmVwb2RhxZlpbG8gYWxva292YXQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE1NiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNDkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiCittc2dzdHIgInbDvXN0dXBuw60gxZnDoWRlayBzZSBuZXBvZGHFmWlsbyBhbG9rb3ZhdCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3Qgc3RhcnQgb24gcGh5c2ljYWwgc2VjdG9yIGJvdW5kYXJ5LiIKK21zZ3N0ciAiT2Rkw61sICV6dSBuZXphxI3DrW7DoSBuYSBocmFuaWNpIGZ5emlja8OpaG8gc2VrdG9ydS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE5MgorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4iCittc2dzdHIgIkRpc2tvdsOpIG9kZMOtbHkganNvdSBjaHlibsSbIHNlxZlhemVueS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNSBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMAorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTIgbGliZmRpc2svc3JjL3NnaS5jOjExNTQgbGliZmRpc2svc3JjL3N1bi5jOjExMTAKK21zZ2lkICJTdGFydCIKK21zZ3N0ciAiWmHEjcOhdGVrIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTYgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDEKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTEzIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU1IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTExCittc2dpZCAiRW5kIgorbXNnc3RyICJLb25lYyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE3IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAyCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NiBsaWJmZGlzay9zcmMvc3VuLmM6MTExMgorbXNnaWQgIlNlY3RvcnMiCittc2dzdHIgIlNla3RvcnkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOSBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNAorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTUgbGliZmRpc2svc3JjL3NnaS5jOjExNTggbGliZmRpc2svc3JjL3N1bi5jOjExMTQKK21zZ2lkICJTaXplIgorbXNnc3RyICJWZWxpa29zdCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVucGFydGl0aW9uZWQgc3BhY2UgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICJOZXJvemTEm2xlbsOpIG3DrXN0byAlczogJXMsICUnanUgYmFqdMWvLCAlJ2p1IHNla3RvcsWvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLW8pOlxuIgorbXNnc3RyICIiCisiXG4iCisiRG9zdHVwbsOpIHNsb3VwY2UgKHBybyAtbyk6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQ1MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgIm5lem7DoW3DvSBzbG91cGVjICVzOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTUKK21zZ2lkICJHZW5lcmljIgorbXNnc3RyICJPYmVjbsOpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NgorbXNnaWQgImRlbGV0ZSBhIHBhcnRpdGlvbiIKK21zZ3N0ciAic21hxb5lIG9kZMOtbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTcKK21zZ2lkICJsaXN0IGZyZWUgdW5wYXJ0aXRpb25lZCBzcGFjZSIKK21zZ3N0ciAidnlww63FoWUgdm9sbsOpIG5lcm96ZMSbbGVuw6kgbcOtc3RvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OAorbXNnaWQgImxpc3Qga25vd24gcGFydGl0aW9uIHR5cGVzIgorbXNnc3RyICJ2eXDDrcWhZSB6bsOhbcOpIHR5cHkgb2Rkw61sxa8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5Cittc2dpZCAiYWRkIGEgbmV3IHBhcnRpdGlvbiIKK21zZ3N0ciAicMWZaWTDoSBub3bDvSBvZGTDrWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMAorbXNnaWQgInByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInpvYnJhesOtIHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMQorbXNnaWQgImNoYW5nZSBhIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJ6bcSbbsOtIHR5cCBvZGTDrWx1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDIKK21zZ2lkICJ2ZXJpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAib3bEm8WZw60gdGFidWxrdSByb3pkxJtsZW7DrSBkaXNrdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzCittc2dpZCAicHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgInZ5cMOtxaFlIMO6ZGFqZSBvwqBvZGTDrWx1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGZpcnN0IHNlY3RvciBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgInZ5cMOtxaFlIHN1cm92w6EgZGF0YSB6wqBwcnZuw61obyBzZWt0b3J1IHphxZnDrXplbsOtIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDYKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGRpc2tsYWJlbCBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgInZ5cMOtxaFlIHN1cm92w6EgZGF0YSB0YWJ1bGt5IHJvemTEm2xlbsOtIGRpc2t1IG5hIHphxZnDrXplbsOtIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDcKK21zZ2lkICJmaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAib3ByYXbDrSDFmWF6ZW7DrSBvZGTDrWzFryIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA5Cittc2dpZCAiTWlzYyIKK21zZ3N0ciAiT3N0YXRuw60iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMAorbXNnaWQgInByaW50IHRoaXMgbWVudSIKK21zZ3N0ciAidnlww63FoWUgdHV0byBuYWLDrWRrdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTExCittc2dpZCAiY2hhbmdlIGRpc3BsYXkvZW50cnkgdW5pdHMiCittc2dzdHIgInptxJtuw60gamVkbm90a3kgdiBuaWNoxb4ganNvdSB2eXBpc292w6FueSBpbmZvcm1hY2UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMgorbXNnaWQgImV4dHJhIGZ1bmN0aW9uYWxpdHkgKGV4cGVydHMgb25seSkiCittc2dzdHIgInJvesWhacWZdWrDrWPDrSBmdW5rY2UgKHBvdXplIHBybyBvZGJvcm7DrWt5KSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE0Cittc2dpZCAiU2NyaXB0IgorbXNnc3RyICJTa3JpcHQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNQorbXNnaWQgImxvYWQgZGlzayBsYXlvdXQgZnJvbSBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgInphdmVkZSByb3p2csW+ZW7DrSBkaXNrdSB6ZSBzb3Vib3J1IHNlIHNmZGlza292w71tIHNrcmlwdGVtIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTYKK21zZ2lkICJkdW1wIGRpc2sgbGF5b3V0IHRvIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiZXhwb3J0dWplIHJvenZyxb5lbsOtIGRpc2t1IGRvIHNvdWJvcnUgc2Ugc2ZkaXNrb3bDvW0gc2tyaXB0ZW0iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOAorbXNnaWQgIlNhdmUgJiBFeGl0IgorbXNnc3RyICJVbG/FvmVuw60gYSBrb25lYyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE5Cittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdCIKK21zZ3N0ciAidWxvxb7DrSB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2t1IGEgdWtvbsSNw60gcHJvZ3JhbSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIwCittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayIKK21zZ3N0ciAidWxvxb7DrSB0YWJ1bGt1IG5hIGRpc2siCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMQorbXNnaWQgInF1aXQgd2l0aG91dCBzYXZpbmcgY2hhbmdlcyIKK21zZ3N0ciAidWtvbsSNw60gcHJvZ3JhbSBiZXogdWxvxb5lbsOtIHptxJtuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjIKK21zZ2lkICJyZXR1cm4gdG8gbWFpbiBtZW51IgorbXNnc3RyICJuw6F2cmF0IGRvIGhsYXZuw60gbmFiw61ka3kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyNAorbXNnaWQgInJldHVybiBmcm9tIEJTRCB0byBET1MiCittc2dzdHIgIm7DoXZyYXQgesKgQlNEIGZvIERPUyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM1Cittc2dpZCAiQ3JlYXRlIGEgbmV3IGxhYmVsIgorbXNnc3RyICJWeXR2b8WZZW7DrSBub3bDqWhvIHBvcGlzdSBkaXNrdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM2Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IEdQVCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInZ5dHZvxZnDrSBwcsOhemRub3UgdGFidWxrdSByb3pkxJtsZW7DrSBkaXNrxa8gdHlwdSBHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNworbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTR0kgKElSSVgpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidnl0dm/FmcOtIHByw6F6ZG5vdSB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2vFryB0eXB1IFNHSSAoSVJJWCkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOAorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJ2eXR2b8WZw60gcHLDoXpkbm91IHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza8WvIHR5cHUgRE9TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU3VuIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidnl0dm/FmcOtIHByw6F6ZG5vdSB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2vFryB0eXB1IFN1biIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQzCittc2dpZCAiY3JlYXRlIGFuIElSSVggKFNHSSkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJ2eXR2b8WZw60gdGFidWxrdSByb3pkxJtsZW7DrSBkaXNrdSB0eXB1IElSSVggKFNHSSkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1MgorbXNnaWQgIkdlb21ldHJ5IgorbXNnc3RyICJHZW9tZXRyaWUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1MworbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICJ6bcSbbsOtIG1ub8W+c3R2w60gY3lsaW5kcsWvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTQKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICJ6bcSbbsOtIG1ub8W+c3R2w60gaGxhdiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU1Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrIgorbXNnc3RyICJ6bcSbbsOtIHBvxI1ldCBzZWt0b3LFryBuYSBzdG9wdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk1Cittc2dpZCAiR1BUIgorbXNnc3RyICJHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NQorbXNnaWQgImNoYW5nZSBkaXNrIEdVSUQiCittc2dzdHIgInptxJtuw60gR1VJRCBkaXNrdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY2Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJ6bcSbbsOtIG7DoXpldiBvZGTDrWx1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjcKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgInptxJtuw60gVVVJRCBvZGTDrWx1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjgKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHRhYmxlIGxlbmd0aCIKK21zZ3N0ciAibmV6ZGHFmWlsbyBzZSByb3plYnJhdCBkw6lsa3UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OQorbXNnaWQgImVudGVyIHByb3RlY3RpdmUvaHlicmlkIE1CUiIKK21zZ3N0ciAidmxvxb7DrSBvY2hyYW5ub3UvaHlicmlkbsOtIE1CUiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTcyCittc2dpZCAidG9nZ2xlIHRoZSBsZWdhY3kgQklPUyBib290YWJsZSBmbGFnIgorbXNnc3RyICJwxZllcG5lIHphc3RhcmFsw70gcMWZw616bmFrIEJJT1N1IOKAnnN0YXJ0b3ZhY8Ot4oCcIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzMKK21zZ2lkICJ0b2dnbGUgdGhlIG5vIGJsb2NrIElPIHByb3RvY29sIGZsYWciCittc2dzdHIgInDFmWVwbmUgcMWZw616bmFrIOKAnsW+w6FkbsO9IGJsb2tvdsO9IEkvTyBwcm90b2tvbOKAnCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc0Cittc2dpZCAidG9nZ2xlIHRoZSByZXF1aXJlZCBwYXJ0aXRpb24gZmxhZyIKK21zZ3N0ciAicMWZZXBuZSB2ecW+YWRvdmFuw70gcMWZw616bmFrIG9kZMOtbHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NQorbXNnaWQgInRvZ2dsZSB0aGUgR1VJRCBzcGVjaWZpYyBiaXRzIgorbXNnc3RyICJwxZllcG5lIGJpdHkgc3BlY2lmaWNrw6kgcHJvIEdVSUQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NQorbXNnaWQgIlN1biIKK21zZ3N0ciAiU3VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODYKK21zZ2lkICJ0b2dnbGUgdGhlIHJlYWQtb25seSBmbGFnIgorbXNnc3RyICJwxZllcG5lIHDFmcOtem5hayDigJ5wb3V6ZSBwcm8gxI10ZW7DreKAnCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg3Cittc2dpZCAidG9nZ2xlIHRoZSBtb3VudGFibGUgZmxhZyIKK21zZ3N0ciAicMWZZXBuZSBwxZnDrXpuYWsg4oCecMWZaXBvaml0ZWxuw73igJwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiem3Em27DrSBtbm/FvnN0dsOtIGFsdGVybmF0aXZuw61jaCBjeWxpbmRyxa8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MAorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgZXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgInptxJtuw60gbW5vxb5zdHbDrSBleHRyYSBzZWt0b3LFryBuYSBzdG9wdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkxCittc2dpZCAiY2hhbmdlIGludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICJ6bcSbbsOtIHByb2tsw6FkYWPDrSBmYWt0b3IiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MgorbXNnaWQgImNoYW5nZSByb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAiem3Em27DrSByeWNobG9zdCBvdMOhxI1lbsOtIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTMKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiem3Em27DrSBwb8SNZXQgZnl6aWNrw71jaCBjeWxpbmRyxa8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwMgorbXNnaWQgIlNHSSIKK21zZ3N0ciAiU0dJIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDMKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICJuYXN0YXbDrSBzdGFydG92YWPDrSBvZGTDrWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNAorbXNnaWQgImVkaXQgYm9vdGZpbGUgZW50cnkiCittc2dzdHIgIsO6cHJhdmEgcG9sb8W+a3kgc3RhcnRvdmFjw61obyBzb3Vib3J1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDUKK21zZ2lkICJzZWxlY3Qgc2dpIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICJuYXN0YXbDrSBTR0kgb2RrbMOhZGFjw60gb2Rkw61sIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDYKK21zZ2lkICJjcmVhdGUgU0dJIGluZm8iCittc2dzdHIgInZ5dHZvxZnDrSDDumRhamUgU0dJIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTUKK21zZ2lkICJET1MgKE1CUikiCittc2dzdHIgIkRPUyAoTUJSKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE2Cittc2dpZCAidG9nZ2xlIGEgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAicMWZZXBuZSBwxZnDrXpuYWsg4oCec3RhcnRvdmFjw63igJwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNworbXNnaWQgImVkaXQgbmVzdGVkIEJTRCBkaXNrbGFiZWwiCittc2dzdHIgInVwcmF2w60gdm5vxZllbsO9IEJTRCBwb3Bpc3UgZGlza3UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxOAorbXNnaWQgInRvZ2dsZSB0aGUgZG9zIGNvbXBhdGliaWxpdHkgZmxhZyIKK21zZ3N0ciAicMWZZXBuZSBwxZnDrXpuYWsga29tcGF0aWJpbGl0eSBzwqBET1NlbSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIwCittc2dpZCAibW92ZSBiZWdpbm5pbmcgb2YgZGF0YSBpbiBhIHBhcnRpdGlvbiIKK21zZ3N0ciAicG9zdW5lIHBvxI3DoXRlayBkYXQgdsKgb2Rkw61sdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIxCittc2dpZCAiY2hhbmdlIHRoZSBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgInptxJtuw60gaWRlbnRpZmlrw6F0b3IgZGlza3UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMworbXNnaWQgInJldHVybiBmcm9tIHByb3RlY3RpdmUvaHlicmlkIE1CUiB0byBHUFQiCittc2dzdHIgIm7DoXZyYXQgesKgb2NocmFubsOpL2h5YnJpZG7DrSBNQlIgZG8gR1BUIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzMKK21zZ2lkICJCU0QiCittc2dzdHIgIkJTRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM0Cittc2dpZCAiZWRpdCBkcml2ZSBkYXRhIgorbXNnc3RyICJ1cHJhdsOtIGRhdGEgbmEgZGlza3UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNQorbXNnaWQgImluc3RhbGwgYm9vdHN0cmFwIgorbXNnc3RyICJuYWluc3RhbHVqZSB6YXZhZMSbxI0iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNgorbXNnaWQgInNob3cgY29tcGxldGUgZGlza2xhYmVsIgorbXNnc3RyICJ6b2JyYXrDrSDDunBsbsO9IHBvcGlzIGRpc2t1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzcKK21zZ2lkICJsaW5rIEJTRCBwYXJ0aXRpb24gdG8gbm9uLUJTRCBwYXJ0aXRpb24iCittc2dzdHIgInDFmWlwb2rDrSBCU0Qgb2Rkw61sIG5hIG5lLUJTRCBvZGTDrWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscCAoZXhwZXJ0IGNvbW1hbmRzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk7DoXBvdsSbZGEgKHDFmcOta2F6eSBwcm8gb2Rib3Juw61reSk6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM3MSBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHA6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJOw6Fwb3bEm2RhOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91J3JlIGVkaXRpbmcgbmVzdGVkICclcycgcGFydGl0aW9uIHRhYmxlLCBwcmltYXJ5IHBhcnRpdGlvbiB0YWJsZSBpcyAnJXMnLiIKK21zZ3N0ciAiVXByYXZ1amV0ZSB2bm/FmWVub3UgdGFidWxrdSByb3pkxJtsZW7DrSBkaXNrdSDigJ4lc+KAnCwgcHJ2b3Ruw60gdGFidWxrYSBqZSDigJ4lc+KAnC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMQorbXNnaWQgIkV4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJQxZnDrWtheiBwcm8gb2Rib3Juw61reSAobSBwcm8gbsOhcG92xJtkdSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDIzCittc2dpZCAiQ29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAiUMWZw61rYXogKG0gcHJvIG7DoXBvdsSbZHUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQzMworIywgYy1mb3JtYXQKK21zZ2lkICIlYzogdW5rbm93biBjb21tYW5kIgorbXNnc3RyICIlYzogcMWZw61rYXogbmVuw60gem7DoW0iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ1OCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODUKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lIgorbXNnc3RyICJaYWRlanRlIG7DoXpldiBzb3Vib3J1IHNlIHNrcmlwdGVtIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NzEKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IGFwcGxpZWQuIgorbXNnc3RyICJTa3JpcHQgYnlsIMO6c3DEm8WhbsSbIHBvdcW+aXQuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0OTcKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNmb3JtIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0IgorbXNnc3RyICJQxZlldm9kIHJvenZyxb5lbsOtIGRpc2t1IGRvIHNrcmlwdHUgc2VsaGFsbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTExCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBzYXZlZC4iCittc2dzdHIgIlNrcmlwdCDDunNwxJvFoW7EmyB1bG/FvmVuLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTM0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMlenUgY29udGFpbnMgYSAlcyBzaWduYXR1cmUuIgorbXNnc3RyICJPZGTDrWwgJXp1OiBvYnNhaHVqZSBzZWt0b3IgMCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTM3IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ3OQorIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlIHNpZ25hdHVyZT8iCittc2dzdHIgIkNoY2V0ZSBwxZllc3Vub3V0IGRhdGEgb2Rkw61sdT8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU3NQorbXNnaWQgImZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwiCittc2dzdHIgInrDoXBpcyBwb3Bpc3UgZGlza3Ugc2VsaGFsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MTMKK21zZ2lkICJGYWlsZWQgdG8gZml4IHBhcnRpdGlvbnMgb3JkZXIuIgorbXNnc3RyICJPcHJhdmEgxZlhemVuw60gb2Rkw61sxa8gc2VsaGFsYS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYxNQorbXNnaWQgIlBhcnRpdGlvbnMgb3JkZXIgZml4ZWQuIgorbXNnc3RyICLFmGF6ZW7DrSBvZGTDrWzFryBvcHJhdmVuby4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIk9kZMOtbCAlenUgbmVieWxvIG1vxb5uw6kgc21hemF0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjAKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIGN5bGluZGVycyAoREVQUkVDQVRFRCEpLiIKK21zZ3N0ciAiSmVkbm90a3kgcHJvIHpvYnJhemVuw60vdnN0dXAgem3Em27Em255IG5hIGN5bGluZHJ5IChaQVNUQVJBTMOJISkuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjIKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIHNlY3RvcnMuIgorbXNnc3RyICJKZWRub3RreSBwcm8gem9icmF6ZW7DrS92c3R1cCB6bcSbbsSbbnkgbmEgc2VrdG9yeS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY3MiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4NDIKK21zZ2lkICJMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuIgorbXNnc3RyICJWbm/FmWVuw70gQlNEIHBvcGlzIGRpc2t1IHBvbmVjaMOhbi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjcwOQorbXNnaWQgIk5ldyBtYXhpbXVtIGVudHJpZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzE5Cittc2dpZCAiRW50ZXJpbmcgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIGRpc2tsYWJlbC4iCittc2dzdHIgIlZzdHVwdWplIHNlIGRvIGNocsOhbsSbbsOpaG8vaHlicmlkbsOtaG8gcG9waXN1IGRpc2t1IE1CUi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjczNQorbXNnaWQgIk5ldyBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIk5vdsOpIFVVSUQgKGZvcm3DoXQgOC00LTQtNC0xMikiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc1MAorbXNnaWQgIk5ldyBuYW1lIgorbXNnc3RyICJOb3bDvSBuw6F6ZXYiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjgxMworbXNnaWQgIkVudGVyaW5nIG5lc3RlZCBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAiVnN0dXB1amUgc2UgZG8gdm5vxZllbsOpaG8gQlNEIHBvcGlzdSBkaXNrdS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5OAorbXNnaWQgIk51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgIlBvxI1ldCBjeWxpbmRyxa8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMDIKK21zZ2lkICJOdW1iZXIgb2YgaGVhZHMiCittc2dzdHIgIlBvxI1ldCBobGF2IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDA2Cittc2dpZCAiTnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIlBvxI1ldCBzZWt0b3LFryIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgamUgcMWZaXBvamVub1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgbmVuw60gcMWZaXBvamVub1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMzEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3NAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4MSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjM1CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjUzIGRpc2stdXRpbHMvc2ZkaXNrLmM6Mjk3IGxpYmZkaXNrL3NyYy9ic2QuYzo2NDYKKyM6IGxpYi9wYXRoLmM6MTEwIGxpYi9wYXRoLmM6MTMxIGxpYi9wYXRoLmM6MTUyIGxpYi9wYXRoLmM6MjAwCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjEzIGxvZ2luLXV0aWxzL2xhc3QuYzoyNTAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjY2NAorIzogc3lzLXV0aWxzL3NldHByaXYuYzoyMzkgdGVybS11dGlscy9zZXR0ZXJtLmM6NzE3IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3NAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Nzc4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc4NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCAlcyIKK21zZ3N0ciAiesKgJXMgbmVsemUgxI3DrXN0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMzMgbGliL3BhdGguYzoxMzMgbGliL3BhdGguYzoxNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFyc2UgZXJyb3I6ICVzIgorbXNnc3RyICJjaHliYSByb3plYsOtcsOhbsOtOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJhZHJlc8OhxZkgJXMgbmVsemUgdnl0dm/FmWl0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9ja2luZyBkaXNrIGJ5ICVzIC4uLiAiCittc2dzdHIgIlphbXlrw6Egc2UgZGlzayBwb21vY8OtICVz4oCmICIKKworIzogZGlzay11dGlscy9mc2NrLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgIih3YWl0aW5nKSAiCittc2dzdHIgIijEjWVrw6Egc2UpIgorCisjLiBUUkFOU0xBVE9SUzogVGhlc2UgYXJlIGZvbGxvd3VwcyB0byAiTG9ja2luZyBkaXNrLi4uIi4KKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5NAorbXNnaWQgInN1Y2NlZWRlZCIKK21zZ3N0ciAidXNwxJtsbyIKKworIzogZGlzay11dGlscy9mc2NrLmM6Mzk0Cittc2dpZCAiZmFpbGVkIgorbXNnc3RyICJzZWxoYWxvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5sb2NraW5nICVzLlxuIgorbXNnc3RyICJPZGVteWvDoSBzZSAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXR1cCBkZXNjcmlwdGlvbiBmb3IgJXMiCittc2dzdHIgIm5hc3RhdmVuw60gcG9waXN1IHXCoCVzIHNlbGhhbG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ3NCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3ODIgbWlzYy11dGlscy9sc2Jsay5jOjQzMworIzogc3lzLXV0aWxzL21vdW50LmM6MTAyIHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6MTkgc3lzLXV0aWxzL3Vtb3VudC5jOjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiBjaHliYSByb3pib3J1IG5hIMWZw6Fka3UgJWTCoOKAkyBpZ25vcm92w6FubyIKKworIzogZGlzay11dGlscy9mc2NrLmM6NTA2IGRpc2stdXRpbHMvZnNjay5jOjUwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIGZzdGFiIgorbXNnc3RyICIlczogZnN0YWIgc2UgbmVwb2RhxZlpbG8gcm96ZWJyYXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY3OSBsb2dpbi11dGlscy9sb2dpbi5jOjk2OCBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAzNAorIzogbG9naW4tdXRpbHMvdmlwdy5jOjIwNCBzeXMtdXRpbHMvZmxvY2suYzozNDUgc3lzLXV0aWxzL25zZW50ZXIuYzoxNTMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTYgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTkgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MjAKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzgwCittc2dpZCAiZm9yayBmYWlsZWQiCittc2dzdHIgInZvbMOhbsOtIGZvcmsgc2VsaGFsbyIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHNwdcWhdMSbbsOtIHNlIHNlbGhhbG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc3NAorbXNnaWQgIndhaXQ6IG5vIG1vcmUgY2hpbGQgcHJvY2Vzcz8hPyIKK21zZ3N0ciAid2FpdDogxb3DoWRuw60gZGFsxaHDrSBwb3RvbWNpPyEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc3NyBzeXMtdXRpbHMvZmxvY2suYzozNjMgc3lzLXV0aWxzL3N3YXBvbi5jOjM0OAorIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MDQgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MjUKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCIKK21zZ3N0ciAidm9sw6Fuw60gd2FpdHBpZCBzZWxoYWxvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZy4uLiAlcyBmb3IgZGV2aWNlICVzIGV4aXRlZCB3aXRoIHNpZ25hbCAlZC4iCittc2dzdHIgIlZhcm92w6Fuw63igKYgJXMgbmFkIHphxZnDrXplbsOtbSAlcyBza29uxI1pbCBzaWduw6FsZW0gJWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXM6IHN0YXR1cyBpcyAleCwgc2hvdWxkIG5ldmVyIGhhcHBlbi4iCittc2dzdHIgIiVzICVzOiBzdGF0dXMgamUgJXgsIHRvIGJ5IG5pa2R5IG5lbcSbbG8gcMWZaWhvZGl0LiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmlzaGVkIHdpdGggJXMgKGV4aXQgc3RhdHVzICVkKVxuIgorbXNnc3RyICIlcyBkb2tvbsSNZW5vIChuw6F2cmF0b3bDvSBrw7NkICVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgJWQgKCVtKSB3aGlsZSBleGVjdXRpbmcgZnNjay4lcyBmb3IgJXMiCittc2dzdHIgImNoeWJhICVkICglbSkgcMWZaSBwcm92w6FkxJtuw60gZnNjay4lcyBuYWQgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjk5MQorbXNnaWQgIiIKKyJFaXRoZXIgYWxsIG9yIG5vbmUgb2YgdGhlIGZpbGVzeXN0ZW0gdHlwZXMgcGFzc2VkIHRvIC10IG11c3QgYmUgcHJlZml4ZWRcbiIKKyJ3aXRoICdubycgb3IgJyEnLiIKK21zZ3N0ciAiIgorIkJ1xI90byB2xaFlY2hueSwgbmVibyDFvsOhZG7DvSB6wqB0eXDFryBzb3Vib3JvdsO9Y2ggc3lzdMOpbcWvIHDFmWVkYW7DvWNoIHbCoC10IG11c8OtXG4iCisiYsO9dCB1dmVkZW55IHPCoHBvxI3DoXRlxI1uw61tIOKAnm5v4oCcIG5lYm8g4oCeIeKAnC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIGJhZCBsaW5lIGluIC9ldGMvZnN0YWI6IGJpbmQgbW91bnQgd2l0aCBub256ZXJvIGZzY2sgcGFzcyBudW1iZXIiCittc2dzdHIgIiIKKyIlczogcMWZZXNrYWt1amUgc2UgY2h5Ym7DvSDFmcOhZGVrIHbCoC9ldGMvZnN0YWI6IHDFmcOtcG9qbsO9IGJvZCB0eXB1IGJpbmRcbiIKKyJzwqBuZW51bG92w71tIHBvxZlhZMOtbSBrb250cm9seSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTExOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgbm9uZXhpc3RlbnQgZGV2aWNlXG4iCittc2dzdHIgIiVzOiBwxZllc2tha3VqZSBzZSBuZWV4aXN0dWrDrWPDrSB6YcWZw616ZW7DrVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub25leGlzdGVudCBkZXZpY2UgKFwibm9mYWlsXCIgZnN0YWIgb3B0aW9uIG1heSBiZSB1c2VkIHRvIHNraXAgdGhpcyBkZXZpY2UpXG4iCittc2dzdHIgIiVzOiBuZWV4aXN0dWrDrWPDrSB6YcWZw616ZW7DrSAoemHFmcOtemVuw60gbHplIHZ5bmVjaGF0IHV2ZWRlbsOtbSB2b2xieSDigJ5ub2ZhaWzigJwgZG8gZnN0YWJ1KVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZVxuIgorbXNnc3RyICIlczogbmV6bsOhbcO9IHR5cCBzeXN0w6ltdSBzb3Vib3LFryBidWRlIHDFmWVza2/EjWVuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoZWNrICVzOiBmc2NrLiVzIG5vdCBmb3VuZCIKK21zZ3N0ciAiJXMgbmVsemUgemtvbnRyb2xvdmF0OiBmc2NrLiVzIG5lbmFsZXplbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTI1OQorbXNnaWQgIkNoZWNraW5nIGFsbCBmaWxlIHN5c3RlbXMuXG4iCittc2dzdHIgIktvbnRyb2x1amkgdsWhZWNobnkgc3lzdMOpbXUgc291Ym9yxa8uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS13YWl0aW5nLS0gKHBhc3MgJWQpXG4iCittc2dzdHIgIuKAk8KgxI1la8OhIHNlwqDigJMgKHByxa9jaG9kICVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLS0gW2ZzLW9wdGlvbnNdIFs8ZmlsZXN5c3RlbT4gLi4uXVxuIgorbXNnc3RyICIlcyBbcMWZZXDDrW5hxI1lXSAtLSBbcMWZZXDDrW5hxI1lX3NzXSBbPHNvdWJvcm92w71fc3lzdMOpbT7igKZdXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNzkKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiWmtvbnRyb2x1amUgYSBvcHJhdsOtIGxpbnV4b3bDvSBzb3Vib3JvdsO9IHN5c3TDqW0uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODIKK21zZ2lkICIgLUEgICAgICAgICBjaGVjayBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1BICAgICAgICAgemtvbnRyb2x1amUgdsWhZWNobnkgc291Ym9yb3bDqSBzeXN0w6lteVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzgzCittc2dpZCAiIC1DIFs8ZmQ+XSAgZGlzcGxheSBwcm9ncmVzcyBiYXI7IGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIgLUMgWzxmZD5dICB6b2JyYXrDrSB1a2F6YXRlbCBwb3N0dXB1OyBkZXNrcmlwdG9yIHNvdWJvcnUgamUgcHJvIEdVSVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg0Cittc2dpZCAiIC1sICAgICAgICAgbG9jayB0aGUgZGV2aWNlIHRvIGd1YXJhbnRlZSBleGNsdXNpdmUgYWNjZXNzXG4iCittc2dzdHIgIiAtbCAgICAgICAgIHphbWtuZSB6YcWZw616ZW7DrSwgYWJ5IGJ5bCB6YXJ1xI1lbiB2w71sdcSNbsO9IHDFmcOtc3R1cFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg1Cittc2dpZCAiIC1NICAgICAgICAgZG8gbm90IGNoZWNrIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1NICAgICAgICAgbmVrb250cm9sdWplIHDFmWlwb2plbsOpIHNvdWJvcm92w6kgc3lzdMOpbXlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NgorbXNnaWQgIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCittc2dzdHIgIiAtTiAgICAgICAgIG5pYyBuZXZ5a29uw6EsIHBvdXplIHpvYnJhesOtLCBjbyBieSBzZSB1ZMSbbGFsb1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg3Cittc2dpZCAiIC1QICAgICAgICAgY2hlY2sgZmlsZXN5c3RlbXMgaW4gcGFyYWxsZWwsIGluY2x1ZGluZyByb290XG4iCittc2dzdHIgIiAtUCAgICAgICAgIHNvdWJvcm92w6kgc3lzdMOpbXkga29udHJvbHVqZSBwYXJhbGVsbsSbLCB2xI1ldG7EmyBrb8WZZW5vdsOpaG9cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4OAorbXNnaWQgIiAtUiAgICAgICAgIHNraXAgcm9vdCBmaWxlc3lzdGVtOyB1c2VmdWwgb25seSB3aXRoICctQSdcbiIKK21zZ3N0ciAiIC1SICAgICAgICAgdnluZWNow6Ega2/FmWVub3bDvSBzb3Vib3JvdsO9IHN5c3TDqW07IHXFvml0ZcSNbsOpIGplIHPCoOKAni1B4oCcXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODkKK21zZ2lkICIiCisiIC1yIFs8ZmQ+XSAgcmVwb3J0IHN0YXRpc3RpY3MgZm9yIGVhY2ggZGV2aWNlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiIKKyIgLXIgWzxmZD5dICBobMOhc8OtIHN0YXRpc3RpY2vDqSDDumRhamUgcHJvwqBrYcW+ZMOpIGtvbnRyb2xvdmFuw6kgemHFmcOtemVuw607XG4iCisiICAgICAgICAgICAgZGVza3JpcHRvciBzb3Vib3J1IGplIHBybyBncmFmaWNrw6Egcm96aHJhbsOtXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTEKK21zZ2lkICIgLXMgICAgICAgICBzZXJpYWxpemUgdGhlIGNoZWNraW5nIG9wZXJhdGlvbnNcbiIKK21zZ3N0ciAiIC1zICAgICAgICAga29udHJvbG7DrSBvcGVyYWNlIHZ5a29uw6F2w6EgcG9zdHVwbsSbXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTIKK21zZ2lkICIgLVQgICAgICAgICBkbyBub3Qgc2hvdyB0aGUgdGl0bGUgb24gc3RhcnR1cFxuIgorbXNnc3RyICIgLVQgICAgICAgICBwxZlpIHNwdcWhdMSbbsOtIG5lem9icmF6w60gbmFkcGlzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTMKK21zZ2lkICIiCisiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgPHR5cGU+IGlzIGFsbG93ZWQgdG8gYmUgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuIgorbXNnc3RyICIiCisiIC10IDx0eXA+ICAgdXLEjXVqZSBkcnVoeSBzb3Vib3JvdsO9Y2ggc3lzdMOpbcWvLCBrdGVyw6kgc2UgbWFqw60gemtvbnRyb2xvdmF0O1xuIgorIiAgICAgICAgICAgIHR5cCBzbcOtIGLDvXQgxI3DoXJrb3Ugb2RkxJtsZW7DvSBzZXpuYW1cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NQorbXNnaWQgIiAtViAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtViAgICAgICAgIHZ5c3bEm3Rsw60sIGNvIHNlIGTEm2plXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTYKK21zZ2lkICIgLT8gICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLT8gICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHUgYSBza29uxI3DrVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk5Cittc2dpZCAiU2VlIHRoZSBzcGVjaWZpYyBmc2NrLiogY29tbWFuZHMgZm9yIGF2YWlsYWJsZSBmcy1vcHRpb25zLiIKK21zZ3N0ciAiUMWZZXDDrW5hxI1lIHNvdWJvcm92w71jaCBzeXN0w6ltxa8gbmFsZXpuZXRlIHbCoGRva3VtZW50YWNpIGplZG5vdGxpdsO9Y2ggcMWZw61rYXrFryBmc2NrLiouIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDM4Cittc2dpZCAidG9vIG1hbnkgZGV2aWNlcyIKK21zZ3N0ciAicMWZw61sacWhIG1ub2hvIHphxZnDrXplbsOtIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDUwCittc2dpZCAiSXMgL3Byb2MgbW91bnRlZD8iCittc2dzdHIgIkplIC9wcm9jIHDFmWlwb2plbm8/IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDU4CisjLCBjLWZvcm1hdAorbXNnaWQgIm11c3QgYmUgcm9vdCB0byBzY2FuIGZvciBtYXRjaGluZyBmaWxlc3lzdGVtczogJXMiCittc2dzdHIgImplbiByb290IG3Fr8W+ZSBobGVkYXQgb2Rwb3bDrWRhasOtY8OtIHNvdWJvcm92w6kgc3lzdMOpbXk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDYyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGZpbmQgbWF0Y2hpbmcgZmlsZXN5c3RlbTogJXMiCittc2dzdHIgIm5lYnlsbyBtb8W+bsOpIG5hbMOpenQgb2Rwb3bDrWRhasOtY8OtIHN5c3TDqW0gc291Ym9yxa86wqAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ3MCBkaXNrLXV0aWxzL2ZzY2suYzoxNTY1IG1pc2MtdXRpbHMva2lsbC5jOjM2MworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mjc5Cittc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgorbXNnc3RyICJwxZnDrWxpxaEgbW5vaG8gYXJndW1lbnTFryIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTUyNSBkaXNrLXV0aWxzL2ZzY2suYzoxNTI4Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtciIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50wqBwxZllcMOtbmHEjWUg4oCTciIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU3NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yOiAlZCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IHDFmWVww61uYcSNZSAtcjogJWQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2MTgKK21zZ2lkICJ0aGUgLWwgb3B0aW9uIGNhbiBiZSB1c2VkIHdpdGggb25lIGRldmljZSBvbmx5IC0tIGlnbm9yZSIKK21zZ3N0ciAicMWZZXDDrW5hxI0gLWwgbHplIHBvdcW+w610IHBvdXplIHPCoGplZG7DrW0gemHFmcOtemVuw61twqDigJMgaWdub3J1amUgc2UiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT5cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIDxzb3Vib3I+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTYKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgY29tcHJlc3NlZCBST00gZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiWmtvbnRyb2x1amUgYSBvcHJhdsOtIGtvbXByaW1vdmFuw70gc291Ym9yb3bDvSBzeXN0w6ltIFJPTS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOQorbXNnaWQgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIGplbiB6wqBkxa92b2TFryBrb21wYXRpYmlsaXR5LCBpZ25vcnVqZSBzZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIwCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgdnlwaXN1amUgcG9kcm9ibsOpIGhsw6HFoWt5XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjEKK21zZ2lkICIgLXkgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIC15ICAgICAgICAgICAgICAgICAgICAgICBqZW4gesKgZMWvdm9kxa8ga29tcGF0aWJpbGl0eSwgaWdub3J1amUgc2VcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMgorbXNnaWQgIiAtYiwgLS1ibG9ja3NpemUgPHNpemU+ICAgdXNlIHRoaXMgYmxvY2tzaXplLCBkZWZhdWx0cyB0byBwYWdlIHNpemVcbiIKK21zZ3N0ciAiIgorIiAtYiwgLS1ibG9ja3NpemUgPHZlbGlrb3N0PlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgcG91xb5pamUgdHV0byB2ZWxpa29zdCBibG9rdSwgdsO9Y2hvesOtIGplXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB2ZWxpa29zdCBzdHLDoW5reVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIzCittc2dpZCAiICAgICAtLWV4dHJhY3RbPTxkaXI+XSAgICB0ZXN0IHVuY29tcHJlc3Npb24sIG9wdGlvbmFsbHkgZXh0cmFjdCBpbnRvIDxkaXI+XG4iCittc2dzdHIgIiIKKyIgICAgIC0tZXh0cmFjdFs9PGFkcmVzw6HFmT5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB2eXprb3XFocOtIGRla29tcHJlc2ksIHZvbGl0ZWxuxJsgcm96YmFsZW7DrSBkb1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgPGFkcmVzw6HFmWU+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZmFpbGVkOiB1bmFibGUgdG8gZGV0ZXJtaW5lIGRldmljZSBzaXplOiAlcyIKK21zZ3N0ciAiSU9DVEwgc2VsaGFsbzogdmVsaWtvc3QgemHFmcOtemVuw60gbmVuw60gbW/Fvm7DqSB1csSNaXQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGJsb2NrIGRldmljZSBvciBmaWxlOiAlcyIKK21zZ3N0ciAibmVuw60gYmxva292w71tIHphxZnDrXplbsOtbSBhbmkgc291Ym9yZW06ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTcwIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDYKK21zZ2lkICJmaWxlIGxlbmd0aCB0b28gc2hvcnQiCittc2dzdHIgImTDqWxrYSBzb3Vib3J1IGplIHDFmcOtbGnFoSBrcsOhdGvDoSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3OSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjMzCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjQ5IGxpYmZkaXNrL3NyYy9ic2QuYzo3MTggbGliZmRpc2svc3JjL2JzZC5jOjg5MAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwOCBsb2dpbi11dGlscy9sYXN0LmM6MjQyIHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VlayBvbiAlcyBmYWlsZWQiCittc2dzdHIgImNoeWJhIHDFmWkgem3Em27EmyBwb3ppY2UgdsKgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODUgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NworbXNnaWQgInN1cGVyYmxvY2sgbWFnaWMgbm90IGZvdW5kIgorbXNnc3RyICJtYWdpY2vDoSB6bmHEjWthIHN1cGVyYmxva3UgbmVuYWxlemVuYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJjcmFtZnMgZW5kaWFubmVzcyBpcyAlc1xuIgorbXNnc3RyICJlbmRpYW5pdGEgY3JhbWZzIGplICVzXG4iCisKKyMgZW5kaWFuaXR5IGlzCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkxCittc2dpZCAiYmlnIgorbXNnc3RyICJ2ZWxrw6EiCisKKyMgZW5kaWFuaXR5IGlzCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkxCittc2dpZCAibGl0dGxlIgorbXNnc3RyICJtYWzDoSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5NQorbXNnaWQgInVuc3VwcG9ydGVkIGZpbGVzeXN0ZW0gZmVhdHVyZXMiCittc2dzdHIgIm5lcG9kcG9yb3ZhbsOpIHZsYXN0bm9zdGkgc3lzdMOpbXUgc291Ym9yxa8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VwZXJibG9jayBzaXplICglZCkgdG9vIHNtYWxsIgorbXNnc3RyICJ2ZWxpa29zdCBzdXBlcmJsb2t1ICglZCkgamUgcMWZw61sacWhIG1hbMOhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA0Cittc2dpZCAiemVybyBmaWxlIGNvdW50IgorbXNnc3RyICJudWxvdsO9IHBvxI1ldCBzb3Vib3LFryIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwOAorbXNnaWQgImZpbGUgZXh0ZW5kcyBwYXN0IGVuZCBvZiBmaWxlc3lzdGVtIgorbXNnc3RyICJzb3Vib3IgcMWZZXNhaHVqZSB6YSBrb25lYyBzb3Vib3JvdsOpaG8gc3lzdMOpbXUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMTAKK21zZ2lkICJvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAic3RhcsO9IGZvcm3DoXQgY3JhbWZzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjE5Cittc2dpZCAidW5hYmxlIHRvIHRlc3QgQ1JDOiBvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAiQ1JDIG5lbsOtIG1vxb5uw6kgemtvbnRyb2xvdmF0OiBzdGFyw70gZm9ybcOhdCBjcmFtZnMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNzIKK21zZ2lkICJjcmMgZXJyb3IiCittc2dzdHIgImNoeWJhIENSQyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NTQKK21zZ2lkICJzZWVrIGZhaWxlZCIKK21zZ3N0ciAiY2h5YmEgcMWZaSBwb3N1bnUgdWthem92w6F0a2EiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDYKK21zZ2lkICJyZWFkIHJvbWZzIGZhaWxlZCIKK21zZ3N0ciAixI10ZW7DrSByb21mcyBzZWxoYWxvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzM4Cittc2dpZCAicm9vdCBpbm9kZSBpcyBub3QgZGlyZWN0b3J5IgorbXNnc3RyICJrb8WZZW5vdsO9IGktdXplbCBuZW7DrSBhZHJlc8OhxZllbSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM0MgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgcm9vdCBvZmZzZXQgKCVsdSkiCittc2dzdHIgImNoeWJuw6kgdW3DrXN0xJtuw60ga2/FmWVuZSAoJWx1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2MAorbXNnaWQgImRhdGEgYmxvY2sgdG9vIGxhcmdlIgorbXNnc3RyICJwxZnDrWxpxaEgdmVsa8O9IGRhdG92w70gYmxvayIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJkZWNvbXByZXNzaW9uIGVycm9yOiAlcyIKK21zZ3N0ciAiY2h5YmEgZGVrb21wcmVzZTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBob2xlIGF0ICVsdSAoJXp1KVxuIgorbXNnc3RyICIgIGTDrXJhIG5hICVsdSAoJXp1KVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Mzk3IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICB1bmNvbXByZXNzaW5nIGJsb2NrIGF0ICVsdSB0byAlbHUgKCVsdSlcbiIKK21zZ3N0ciAiICByb3piYWx1amUgc2UgYmxvayBvZCAlbHUgZG8gJWx1ICglbHUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJsb2NrICglbGQpIGJ5dGVzIgorbXNnc3RyICJuZS1ibG9rb3bDqSAoJWxkKSBiYWp0eSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwOAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tc2l6ZSAoJWxkIHZzICVsZCkgYnl0ZXMiCittc2dzdHIgIm5lLXZlbGlrb3N0bsOtICglbGQgbcOtc3RvICVsZCkgYmFqdHkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MTMgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxNgorIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDQgbWlzYy11dGlscy91dWlkZC5jOjM3NSBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzgyCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUzNSBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1OCBzeXMtdXRpbHMvc3dhcG9uLmM6Mzg5CisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJ2b2zDoW7DrSB3cml0ZSBzZWxoYWxvOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyNAorIywgYy1mb3JtYXQKK21zZ2lkICJsY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAidm9sw6Fuw60gbGNob3duIHNlbGhhbG86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI4CisjLCBjLWZvcm1hdAorbXNnaWQgImNob3duIGZhaWxlZDogJXMiCittc2dzdHIgInZvbMOhbsOtIGNob3duIHNlbGhhbG86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgInV0aW1lIGZhaWxlZDogJXMiCittc2dzdHIgInZvbMOhbsOtIHV0aW1lIHNlbGhhbG86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICJpLXV6ZWwgYWRyZXPDocWZZSBtw6EgbnVsb3ZvdSBwb3ppY2kgYSBuZW51bG92b3UgdmVsaWtvc3Q6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1rZGlyIGZhaWxlZDogJXMiCittc2dzdHIgInZvbMOhbsOtIG1rZGlyIHNlbGhhbG86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc2Cittc2dpZCAiZmlsZW5hbWUgbGVuZ3RoIGlzIHplcm8iCittc2dzdHIgImTDqWxrYSBqbcOpbmEgc291Ym9ydSBqZSBudWxvdsOhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc4Cittc2dpZCAiYmFkIGZpbGVuYW1lIGxlbmd0aCIKK21zZ3N0ciAiY2h5Ym7DoSBkw6lsa2Egam3DqW5hIHNvdWJvcnUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0ODQKK21zZ2lkICJiYWQgaW5vZGUgb2Zmc2V0IgorbXNnc3RyICJjaHlibsOpIHVtw61zdMSbbsOtIGktdXpsdSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ5OQorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplIgorbXNnc3RyICJpLXV6ZWwgc291Ym9ydSBtw6EgbnVsb3ZvdSBwb3ppY2kgYSBuZW51bG92b3UgdmVsaWtvc3QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MDIKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIHNpemUgYW5kIG5vbi16ZXJvIG9mZnNldCIKK21zZ3N0ciAiaS11emVsIHNvdWJvcnUgbcOhIG51bG92b3UgdmVsaWtvc3QgYSBuZW51bG92b3UgcG96aWNpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTMxCittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBvZmZzZXQiCittc2dzdHIgInN5bWJvbGlja8O9IG9ka2F6IG3DoSBudWxvdm91IHBvemljaSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMworbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gc2l6ZSIKK21zZ3N0ciAic3ltYm9saWNrw70gb2RrYXogbcOhIG51bG92b3UgdmVsaWtvc3QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2l6ZSBlcnJvciBpbiBzeW1saW5rOiAlcyIKK21zZ3N0ciAiY2h5YmEgdsKgc3ltYm9saWNrw6ltIG9ka2F6dTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3ltbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICJ2b2zDoW7DrSBzeW1saW5rIHNlbGhhbG86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTY5CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZmlsZSBoYXMgbm9uLXplcm8gb2Zmc2V0OiAlcyIKK21zZ3N0ciAienZsw6HFoXRuw60gc291Ym9yIG3DoSBuZW51bG92b3UgcG96aWNpOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU3OQorIywgYy1mb3JtYXQKK21zZ2lkICJmaWZvIGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiRklGTyBtw6EgbmVudWxvdm91IHZlbGlrb3N0OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU4NQorIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICJzb2NrZXQgbcOhIG5lbnVsb3ZvdSB2ZWxpa29zdDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYm9ndXMgbW9kZTogJXMgKCVvKSIKK21zZ3N0ciAicG9kaXZuw70gbcOzZC9wcsOhdmE6ICVzICglbykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtub2QgZmFpbGVkOiAlcyIKK21zZ3N0ciAidm9sw6Fuw60gbWtub2Qgc2VsaGFsbzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGRhdGEgc3RhcnQgKCVsdSkgPCBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikgKyBzdGFydCAoJXp1KSIKK21zZ3N0ciAicG/EjcOhdGVrIGRhdCBhZHJlc8OhxZllICglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgcG/EjcOhdGVrICglenUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIGVuZCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCittc2dzdHIgImtvbmVjIGRhdCBhZHJlc8OhxZllICglbHUpICE9IHBvxI3DoXRlayBkYXQgc291Ym9ydSAoJWx1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzNworbXNnaWQgImludmFsaWQgZmlsZSBkYXRhIG9mZnNldCIKK21zZ3N0ciAiY2h5Ym7DqSB1bcOtc3TEm27DrSBkYXQgc291Ym9ydSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY4NCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzI2Cittc2dpZCAiaW52YWxpZCBibG9ja3NpemUgYXJndW1lbnQiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCB2ZWxpa29zdGkgYmxva3UiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo3MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IE9LXG4iCittc2dzdHIgIiVzOiBPS1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODQKK21zZ2lkICJDaGVjayB0aGUgY29uc2lzdGVuY3kgb2YgYSBNaW5peCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJaa29udHJvbHVqZSBzb3Vib3JvdsO9IHN5c3TDqW0gTWluaXguXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NgorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgIGxpc3QgYWxsIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICB2eXDDrcWhZSB2xaFlY2hueSBuw6F6dnkgc291Ym9yxa9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg3Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgYXV0b21hdGljIHJlcGFpclxuIgorbXNnc3RyICIgLWEsIC0tYXV0byAgICAgICBhdXRvbWF0aWNrw6Egb3ByYXZhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OAorbXNnaWQgIiAtciwgLS1yZXBhaXIgICAgIGludGVyYWN0aXZlIHJlcGFpclxuIgorbXNnc3RyICIgLXIsIC0tcmVwYWlyICAgICBvcHJhdmEgc8Kgw7rEjWFzdMOtIHXFvml2YXRlbGVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgYmUgdmVyYm9zZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICBwb2Ryb2Juw70gcmXFvmltXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MAorbXNnaWQgIiAtcywgLS1zdXBlciAgICAgIG91dHB1dCBzdXBlci1ibG9jayBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgLXMsIC0tc3VwZXIgICAgICB2eXDDrcWhZSDDumRhamUgemUgc3VwZXJibG9rdVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTEKK21zZ2lkICIgLW0sIC0tdW5jbGVhcmVkICBhY3RpdmF0ZSBtb2RlIG5vdCBjbGVhcmVkIHdhcm5pbmdzXG4iCittc2dzdHIgIiAtbSwgLS11bmNsZWFyZWQgIHVwb3pvcsWIdWplIG5hIG5ldnltYXphbsOhIHDFmcOtc3R1cG92w6EgcHLDoXZhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MgorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgIGZvcmNlIGNoZWNrXG4iCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgIHZ5bnV0w60ga29udHJvbHVcbiIKKworIy4gVFJBTlNMQVRPUlM6IHRoZXNlIHllcyBubyBxdWVzdGlvbnMgdXNlcyBycG1hdGNoKCksIGFuZCBzaG91bGQgYmUKKyMuICogdHJhbnNsYXRlZC4KKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoeS9uKT8gIgorbXNnc3RyICIlcyAoYS9uKT8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG4veSk/ICIKK21zZ3N0ciAiJXMgKG4vYSk/ICIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInlcbiIKK21zZ3N0ciAiYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiblxuIgorbXNnc3RyICJuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkLlx0ICIKK21zZ3N0ciAiJXMgamUgamnFviBwxZlpcG9qZW5vLlx0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODkKK21zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gY29udGludWUiCittc2dzdHIgIkNoY2V0ZSBvcHJhdmR1IHBva3JhxI1vdmF0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2sgYWJvcnRlZC5cbiIKK21zZ3N0ciAicHJvaGzDrWRrYSB1a29uxI1lbmEuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMxOSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA8IEZJUlNUWk9ORSBpbiBmaWxlIGAlcycuIgorbXNnc3RyICLEjMOtc2xvIHrDs255IDwgUFJWTsONX1rDk05BIHbCoHNvdWJvcnUg4oCeJXPigJwuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPj0gWk9ORVMgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAixIzDrXNsbyB6w7NueSA+PSBwb8SNZXQgWsOTTiB2wqBzb3Vib3J1IOKAniVz4oCcLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzI2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0NworbXNnaWQgIlJlbW92ZSBibG9jayIKK21zZ3N0ciAiT2RzdHJhbml0IGJsb2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiB1bmFibGUgdG8gc2VlayB0byBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiQ2h5YmEgcMWZaSDEjXRlbsOtOiBuZWx6ZSBzZSBwb3N1bm91dCBuYSBibG9rIHbCoHNvdWJvcnUg4oCeJXPigJxcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiQ2h5YmEgcMWZaSDEjXRlbsOtOiBjaHlibsO9IGJsb2sgdsKgc291Ym9ydSDigJ4lc+KAnFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkludGVybmFsIGVycm9yOiB0cnlpbmcgdG8gd3JpdGUgYmFkIGJsb2NrXG4iCisiV3JpdGUgcmVxdWVzdCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKyJWbml0xZluw60gY2h5YmE6IHBva3VzIG8gesOhcGlzIGNoeWJuw6lobyBibG9rdS5cbiIKKyLFvcOhZG9zdCBvwqB6w6FwaXMgaWdub3JvdsOhbmEuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4NworbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICJjaHliYSBwxZlpIHBvc3VudSB1a2F6b3bDoXRrYSB2ZSB3cml0ZV9ibG9jayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIldyaXRlIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIkNoeWJhIHDFmWkgesOhcGlzdTogY2h5Ym7DvSBibG9rIHbCoHNvdWJvcnUg4oCeJXPigJxcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTA1Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfc3VwZXJfYmxvY2siCittc2dzdHIgImNoeWJhIHDFmWkgcG9zdW51IHVrYXpvdsOhdGthIHZlIHdyaXRlX3N1cGVyX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MDcKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgInN1cGVyYmxvayBuZWx6ZSB6YXBzYXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyMAorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIm1hcHUgaS11emzFryBuZWx6ZSB6YXBzYXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyMworbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAibWFwdSB6w7NuIG5lbHplIHphcHNhdCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTI2Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiaS11emx5IG5lbHplIHphcHNhdCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTU4Cittc2dpZCAidW5hYmxlIHRvIGFsbG9jIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKK21zZ3N0ciAiYnVmZmVyIHBybyBzdXBlcmJsb2sgbmVsemUgYWxva292YXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2MQorbXNnaWQgInVuYWJsZSB0byByZWFkIHN1cGVyIGJsb2NrIgorbXNnc3RyICJzdXBlcmJsb2sgbmVsemUgxI3DrXN0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODMKK21zZ2lkICJiYWQgbWFnaWMgbnVtYmVyIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJzdXBlcmJsb2sgb2JzYWh1amUgY2h5Ym7DqSBtYWdpY2vDqSDEjcOtc2xvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODUKK21zZ2lkICJPbmx5IDFrIGJsb2Nrcy96b25lcyBzdXBwb3J0ZWQiCittc2dzdHIgIlBvZHBvcm92w6FueSBqc291IHBvdXplIDFraWxvYmFqdG92w6kgYmxva3kvesOzbnkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4NworIywgZnV6enkKK21zZ2lkICJiYWQgc19uaW5vZGVzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJzdXBlcmJsb2sgb2JzYWh1amUgY2h5Ym5vdSBwb2xvxb5rdSBzX2ltYXBfYmxvY2tzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODkKK21zZ2lkICJiYWQgc19pbWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAic3VwZXJibG9rIG9ic2FodWplIGNoeWJub3UgcG9sb8W+a3Ugc19pbWFwX2Jsb2NrcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkxCisjLCBmdXp6eQorbXNnaWQgImJhZCBzX2ZpcnN0ZGF0YXpvbmUgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInN1cGVyYmxvayBvYnNhaHVqZSBjaHlibm91IHBvbG/Fvmt1IHNfaW1hcF9ibG9ja3MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5NAorbXNnaWQgImJhZCBzX3ptYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJzdXBlcmJsb2sgb2JzYWh1amUgY2h5Ym5vdSBwb2xvxb5rdSBzX3ptYXBfYmxvY2tzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTAKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBtYXAiCittc2dzdHIgIkJ1ZmZlciBwcm8gbWFwdSBpLXV6bMWvIG5lbHplIGFsb2tvdmF0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTMKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIG1hcCIKK21zZ3N0ciAiQnVmZmVyIHBybyBtYXB1IHrDs24gbmVsemUgYWxva292YXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxNgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKK21zZ3N0ciAiQnVmZmVyIHBybyBpLXV6bHkgbmVsemUgYWxva292YXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxOQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIGNvdW50IgorbXNnc3RyICJCdWZmZXIgcHJvIHBvxI3DrXRhZGxvIGktdXpsxa8gbmVsemUgYWxva292YXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyMgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgY291bnQiCittc2dzdHIgIkJ1ZmZlciBwcm8gcG/EjcOtdGFkbG8gesOzbiBuZWx6ZSBhbG9rb3ZhdCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI2Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGUgbWFwIgorbXNnc3RyICJNYXB1IGktdXpsxa8gbmVsemUgxI3DrXN0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzAKK21zZ2lkICJVbmFibGUgdG8gcmVhZCB6b25lIG1hcCIKK21zZ3N0ciAiTWFwdSB6w7NuIG5lbHplIMSNw61zdCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM0Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGVzIgorbXNnc3RyICJJLXV6bHkgbmVsemUgxI3DrXN0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCittc2dzdHIgIlZhcm92w6Fuw606IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGlub2Rlc1xuIgorbXNnc3RyICJpLXV6bMWvOiAlbGRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBibG9ja3NcbiIKK21zZ3N0ciAiYmxva8WvOiAlbGRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NgorIywgYy1mb3JtYXQKK21zZ2lkICJGaXJzdGRhdGF6b25lPSVqZCAoJWpkKVxuIgorbXNnc3RyICJQcnZuw61fesOzbmFfZGF0PSVqZCAoJWpkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JWRcbiIKK21zZ3N0ciAiVmVsaWtvc3RfesOzbnk9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIk1heHNpemU9JXp1XG4iCittc2dzdHIgIk1heHZlbGlrb3N0PSV6dVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBzdGF0ZT0lZFxuIgorbXNnc3RyICJTdGF2IHN5c3TDqW11IHNvdWJvcsWvPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibmFtZWxlbj0lemRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIm5hbWVsZW49JXpkXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY2NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWQgbWFya2VkIHVudXNlZCwgYnV0IHVzZWQgZm9yIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJJLXV6ZWwgJWQgamUgb3puYcSNZW4gamFrbyBuZXBvdcW+w612YW7DvSwgYWxlIGplIHBvdcW+aXQgcHJvIHNvdWJvciDigJ4lc+KAnFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NjcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzE3Cittc2dpZCAiTWFyayBpbiB1c2UiCittc2dzdHIgIk96bmHEjWVuIGpha28gcG91xb7DrXZhbsO9IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2ODkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaWxlIGAlcycgaGFzIG1vZGUgJTA1b1xuIgorbXNnc3RyICJUeXAgc291Ym9ydSDigJ4lc+KAnCBqZSAlMDVvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY5NiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogaW5vZGUgY291bnQgdG9vIGJpZy5cbiIKK21zZ3N0ciAiVmFyb3bDoW7DrTogcG/EjWV0IGktdXpsxa8gamUgcMWZw61sacWhIHZlbGlrw70uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc1NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NjMKK21zZ2lkICJyb290IGlub2RlIGlzbid0IGEgZGlyZWN0b3J5IgorbXNnc3RyICJyb290IGktdXplbCBuZW7DrSBhZHJlc8OhxZllbSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzc1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayBoYXMgYmVlbiB1c2VkIGJlZm9yZS4gTm93IGluIGZpbGUgYCVzJy4iCittc2dzdHIgIkJsb2sgYnlsIHBvdcW+aXQgamnFviBwxZllZHTDrW0uIE55bsOtIHbCoHNvdWJvcnUg4oCeJXPigJwuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODA4CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTIKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwOAorbXNnaWQgIkNsZWFyIgorbXNnc3RyICJTbWF6YXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgJWQgaW4gZmlsZSBgJXMnIGlzIG1hcmtlZCBub3QgaW4gdXNlLiIKK21zZ3N0ciAiQmxvayAlZCB2wqBzb3Vib3J1IOKAniVz4oCcIGplIG96bmHEjWVuIGpha28gbmVwb3XFvsOtdmFuw70uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODIwCittc2dpZCAiQ29ycmVjdCIKK21zZ3N0ciAiT3ByYXZpdCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTU5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRpcmVjdG9yeSAnJXMnIGNvbnRhaW5zIGEgYmFkIGlub2RlIG51bWJlciBmb3IgZmlsZSAnJS4qcycuIgorbXNnc3RyICJBZHJlc8OhxZkg4oCeJXPigJwgb2JzYWh1amUgcHJvIHNvdWJvciDigJ4lLipz4oCcIGNoeWJuw6kgxI3DrXNsbyBpLXV6bHUuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzNQorbXNnaWQgIiBSZW1vdmUiCittc2dzdHIgIiBPZHN0cmFuaXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIKK21zZ3N0ciAiJXM6IGNoeWJuw70gYWRyZXPDocWZOiDigJ4u4oCcIG5lbsOtIHBydm7DrVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5ODYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4uJyBpc24ndCBzZWNvbmRcbiIKK21zZ3N0ciAiJXM6IGNoeWJuw70gYWRyZXPDocWZOiDigJ4uLuKAnCBuZW7DrSBkcnVow71cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA5NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTE3Cittc2dpZCAiaW50ZXJuYWwgZXJyb3IiCittc2dzdHIgInZuaXTFmW7DrSBjaHliYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA5NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBzaXplIDwgMzIiCittc2dzdHIgIiVzOiBjaHlibsO9IGFkcmVzw6HFmTogdmVsaWtvc3QgPCAzMiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IGludmFsaWQgaV96b25lLCB1c2UgLS1yZXBhaXIgdG8gZml4XG4iCittc2dzdHIgIiVzOiBjaHlibsO9IGFkcmVzw6HFmTog4oCeLuKAnCBuZW7DrSBwcnZuw61cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEzMgorbXNnaWQgInNlZWsgZmFpbGVkIGluIGJhZF96b25lIgorbXNnc3RyICJjaHliYSBwxZlpIHBvc3VudSB1a2F6b3bDoXRrYSB2IGJhZF96b25lIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG1vZGUgbm90IGNsZWFyZWQuIgorbXNnc3RyICJNw7NkIGktdXpsdSAlbHUgbmVuw60gc21hesOhbi4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbm90IHVzZWQsIG1hcmtlZCB1c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICJJLXV6ZWwgJWx1IG5lbsOtIHBvdcW+w612w6FuIGEgdiBiaXRtYXDEmyBvem5hxI1lbiBqYWtvIHBvdcW+w612YW7DvS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxMworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgdXNlZCwgbWFya2VkIHVudXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiSS11emVsICVsdSBqZSBwb3XFvsOtdsOhbiBhIHYgYml0bWFwxJsgb3puYcSNZW4gamFrbyBuZXBvdcW+w612YW7DvS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTggZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxNAorbXNnaWQgIlNldCIKK21zZ3N0ciAiTmFzdGF2aXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxOAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgKG1vZGUgPSAlMDdvKSwgaV9ubGlua3M9JWQsIGNvdW50ZWQ9JWQuIgorbXNnc3RyICJJLXV6ZWwgJWx1IChtb2RlID0gJTA3byksIGlfbmxpbmtzPSVkLCBuYXBvxI3DrXTDoW5vPSVkLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjIxCittc2dpZCAiU2V0IGlfbmxpbmtzIHRvIGNvdW50IgorbXNnc3RyICJOYXN0YXZpdCBpX25saW5rcyBuYSBwb8SNZXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIzMworIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbWFya2VkIGluIHVzZSwgbm8gZmlsZSB1c2VzIGl0LiIKK21zZ3N0ciAiWsOzbmEgJWx1OiBqZSBvem5hxI1lbmEgamFrbyBwb3XFvsOtdmFuw6EgYSDFvsOhZG7DvSBzb3Vib3IgamkgbmVwb3XFvsOtdsOhLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE3OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjM1Cittc2dpZCAiVW5tYXJrIgorbXNnc3RyICJPZHpuYcSNaXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogaW4gdXNlLCBjb3VudGVkPSVkXG4iCittc2dzdHIgIlrDs25hICVsdTogamUgcG91xb7DrXZhbsOhLCBuYXBvxI3DrXTDoW5vPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MworIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbm90IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICJaw7NuYSAlbHU6IG5lbsOtIHBvdcW+w612YW7DoSwgbmFwb8SNw610w6Fubz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjkxCittc2dpZCAiYmFkIGlub2RlIHNpemUiCittc2dzdHIgImNoeWJuw6EgdmVsaWtvc3QgaS11emx1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjkzCittc2dpZCAiYmFkIHYyIGlub2RlIHNpemUiCittc2dzdHIgImNoeWJuw6EgdmVsaWtvc3QgdjIgaS11emx1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzM3Cittc2dpZCAibmVlZCB0ZXJtaW5hbCBmb3IgaW50ZXJhY3RpdmUgcmVwYWlycyIKK21zZ3N0ciAib3ByYXZ5IHMgw7rEjWFzdMOtIHXFvml2YXRlbGUgdnnFvmFkdWrDrSB0ZXJtaW7DoWwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICIlcyBuZWx6ZSBvdGV2xZnDrXQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGNsZWFuLCBubyBjaGVjay5cbiIKK21zZ3N0ciAiJXMgamUgxI1pc3TDqSwgb3bEm8WZb3bDoW7DrSB2eW5lY2jDoW5vLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiAlcy5cbiIKK21zZ3N0ciAiS29udHJvbGEgc3lzdMOpbXUgc291Ym9yxa8gbmEgJXMgdnludWNlbmEuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBvbiAlcyBpcyBkaXJ0eSwgbmVlZHMgY2hlY2tpbmcuXG4iCittc2dzdHIgIlN5c3TDqW0gc291Ym9yxa8gbmEgJXMgamUgxaFwaW5hdsO9LCBqZSB0xZllYmEgamVqIHprb250cm9sb3ZhdC5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZsZCBpbm9kZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiIKKyJcbiIKKyJwb3XFvsOtdmFuw71jaCBpLXV6bMWvOiAlNmxkICglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlNmxkIHpvbmVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICJwb3XFvsOtdmFuw71jaCB6w7NuOiAlNmxkICglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM5NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZkIHJlZ3VsYXIgZmlsZXNcbiIKKyIlNmQgZGlyZWN0b3JpZXNcbiIKKyIlNmQgY2hhcmFjdGVyIGRldmljZSBmaWxlc1xuIgorIiU2ZCBibG9jayBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgbGlua3NcbiIKKyIlNmQgc3ltYm9saWMgbGlua3NcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmlsZXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIiBvYnnEjWVqbsO9Y2ggc291Ym9yxa86ICAlNmRcbiIKKyIgYWRyZXPDocWZxa86ICAgICAgICAgICAgJTZkXG4iCisiIHpuYWtvdsO9Y2ggemHFmcOtemVuw606ICAlNmRcbiIKKyIgYmxva292w71jaCB6YcWZw616ZW7DrTogICU2ZFxuIgorIiBvZGthesWvOiAgICAgICAgICAgICAgJTZkXG4iCisiIHN5bWJvbGlja8O9Y2ggb2RrYXrFrzogJTZkXG4iCisiLS0tLS0tXG4iCisic291Ym9yxa86ICAgICAgICAgICAgICAlNmRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQxMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIkZJTEUgU1lTVEVNIEhBUyBCRUVOIENIQU5HRURcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiU1lTVMOJTSBTT1VCT1LFriBCWUwgWk3Emk7Emk5cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MjMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODMzCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUzOSBkaXNrLXV0aWxzL3BhcnR4LmM6MTAzNSBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTIKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzk4IHN5cy11dGlscy9kbWVzZy5jOjY1OSBzeXMtdXRpbHMvd2RjdGwuYzozNDYKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQxMSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI3MiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjM0OQorIzogdGV4dC11dGlscy9wZy5jOjEyNDgKK21zZ2lkICJ3cml0ZSBmYWlsZWQiCittc2dzdHIgInrDoXBpcyBzZWxoYWwiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbWlnaHQgbm90IGJlIGFuIElTTyBmaWxlc3lzdGVtIgorbXNnc3RyICIlczogbW/Fvm7DoSBzZSBuZWplZG7DoSBvwqBzb3Vib3JvdsO9IHN5c3TDqW0gSVNPOTY2MCIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTM5CisjLCBjLWZvcm1hdAorbXNnaWQgInNlZWsgZXJyb3Igb24gJXMiCittc2dzdHIgImNoeWJhIHDFmWkgcG9oeWJ1IHbCoCVzIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhZCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiY2h5YmEgxI10ZW7DrSB6wqAlcyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlY3RvciBjb3VudDogJWQsIHNlY3RvciBzaXplOiAlZFxuIgorbXNnc3RyICJwb8SNZXQgc2VrdG9yxa86ICVkLCB2ZWxpa29zdCBzZWt0b3J1OiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8aXNvOTY2MF9pbWFnZV9maWxlPlxuIgorbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gPG9icmF6X2lzbzk2NjA+XG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3NAorbXNnaWQgIlNob3cgdGhlIGxlbmd0aCBvZiBhbiBJU08tOTY2MCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJab2JyYXrDrSBkw6lsa3Ugc291Ym9yb3bDqWhvIHN5c3TDqW11IElTTy05NjYwLlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzcKK21zZ2lkICIgLWQsIC0tZGl2aXNvcj08bnVtYmVyPiAgZGl2aWRlIHRoZSBhbW91bnQgb2YgYnl0ZXMgYnkgPG51bWJlcj5cbiIKK21zZ3N0ciAiIC1kLCAtLWRpdmlzb3I9PMSNw61zbG8+ICAgcG9kxJtsw60gbW5vxb5zdHbDrSBiYWp0xa8gPMSNw61zbGVtPlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzgKK21zZ2lkICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgc2hvdyBzZWN0b3IgY291bnQgYW5kIHNpemVcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHpvYnJhesOtIHBvxI1ldCBhIHZlbGlrb3N0IHNla3RvcsWvXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjIxMAorbXNnaWQgImludmFsaWQgZGl2aXNvciBhcmd1bWVudCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IGTEm2xpdGVsZSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKK21zZ3N0ciAiUG91xb5pdMOtOiAlcyBbUMWYRVDDjU5BxIxFXSBaQcWYw41aRU7DjSBbUE/EjEVUX0JMT0vFrl1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc3Cittc2dpZCAiTWFrZSBhbiBTQ08gYmZzIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlZ5dHZvxZnDrSBzb3Vib3JvdsO9IHN5c3TDqW1lIFNDTyBiZnMuXG4iCisKKyMgRklYTUU6IG1rZnMuYmZzIGRvZXMgbm90IGNhbGwgc2V0bG9jYWxlKCkuCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1OLCAtLWlub2Rlcz1OVU0gICAgc3BlY2lmeSBkZXNpcmVkIG51bWJlciBvZiBpbm9kZXNcbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICBzcGVjaWZ5IHZvbHVtZSBuYW1lXG4iCisiIC1GLCAtLWZuYW1lPU5BTUUgICAgc3BlY2lmeSBmaWxlIHN5c3RlbSBuYW1lXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyIgLWMgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1sICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiICAgICAgICAgICAgICAgICAgICAgLVYgYXMgdmVyc2lvbiBtdXN0IGJlIG9ubHkgb3B0aW9uXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIlDFmWVww61uYcSNZTpcbiIKKyIgLU4sIC0taW5vZGVzPVBPxIxFVCAgdXLEjXVqZSBwb8W+YWRvdmFuw70gcG/EjWV0IGktdXpsxa9cbiIKKyIgLVYsIC0tdm5hbWU9TsOBWkVWICAgdXLEjXVqZSBuw6F6ZXYgc3Zhemt1XG4iCisiIC1GLCAtLWZuYW1lPU7DgVpFViAgIHVyxI11amUgbsOhemV2IHNvdWJvcm92w6lobyBzeXN0w6ltdVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgIHZ5c3bEm3RsdWplLCBjbyBzZSBwcm92w6Fkw61cbiIKKyIgLWMgICAgICAgICAgICAgICAgICB0ZW50byBwxZllcMOtbmHEjSBqZSB0acWhZSBpZ25vcm92w6FuXG4iCisiIC1sICAgICAgICAgICAgICAgICAgdGVudG8gcMWZZXDDrW5hxI0gamUgdGnFoWUgaWdub3JvdsOhblxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIHZ5cMOtxaFlIMO6ZGFqZSBvwqB2ZXJ6aSBhIHNrb27EjcOtXG4iCisiICAgICAgICAgICAgICAgICAgICAgLVYgamFrbyB2ZXJ6ZSBtdXPDrSBiw710IGplZGluw71tIHDFmWVww61uYcSNZW1cbiIKKyIgLWgsIC0taGVscCAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHUgYSBza29uxI3DrVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTQ0Cittc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICJuZXBsYXRuw70gcG/EjWV0IGktdXpsxa8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTAKK21zZ2lkICJ2b2x1bWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAibsOhemV2IHN2YXprdSBqZSBwxZnDrWxpxaEgZGxvdWjDvSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1NworbXNnaWQgImZzbmFtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICJuw6F6ZXYgc3MgamUgcMWZw61sacWhIGRsb3Vow70iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTMKK21zZ2lkICJpbnZhbGlkIGJsb2NrLWNvdW50IgorbXNnc3RyICJuZXBsYXRuw70gcG/EjWV0IGJsb2vFryIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgIm5lbHplIHpqaXN0aXQgdmVsaWtvc3QgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2tzIGFyZ3VtZW50IHRvbyBsYXJnZSwgbWF4IGlzICVsbHUiCittc2dzdHIgImFyZ3VtZW50IHBvxI1ldCBibG9rxa8gamUgcMWZw61sacWhIHZlbGlrw70sIG1heGltdW0gamUgJWxsdSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIxOQorbXNnaWQgInRvbyBtYW55IGlub2RlcyAtIG1heCBpcyA1MTIiCittc2dzdHIgInDFmcOtbGnFoSBtbm9obyBpLXV6bMWvwqDigJMgbWF4aW11bSBqZSA1MTIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSwgbmVlZCBhdCBsZWFzdCAlbGx1IGJsb2NrcyIKK21zZ3N0ciAibmVkb3N0YXRlayBtw61zdGEsIGplIHTFmWViYSBhbGVzcG/FiCAlbGx1IGJsb2vFryIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2U6ICVzXG4iCittc2dzdHIgIlphxZnDrXplbsOtOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIlZvbHVtZTogPCUtNnM+XG4iCittc2dzdHIgIlN2YXplazogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlNuYW1lOiA8JS02cz5cbiIKK21zZ3N0ciAiTsOhemV2U1M6IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrU2l6ZTogJWRcbiIKK21zZ3N0ciAiVmVsaWtvc3RCbG9rdTogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gMSBibG9jaylcbiIKK21zZ3N0ciAiSS11emzFrzogJWxkICh2IDEgYmxva3UpXG4iCisKKyMgVE9ETzogUGx1cmFsaXplCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAlbGx1IGJsb2NrcylcbiIKK21zZ3N0ciAiSS11emzFrzogJWxkICh2wqAlbGx1IGJsb2PDrWNoKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrczogJWxsdVxuIgorbXNnc3RyICJCbG9rxa86ICVsbHVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSBlbmQ6ICVkLCBEYXRhIGVuZDogJWRcbiIKK21zZ3N0ciAiS29uZWMgaS11emzFrzogJWQsIEtvbmVjIGRhdDogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NworbXNnaWQgImVycm9yIHdyaXRpbmcgc3VwZXJibG9jayIKK21zZ3N0ciAiY2h5YmEgcMWZaSB6w6FwaXN1IHN1cGVyYmxva3UiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNzgKK21zZ2lkICJlcnJvciB3cml0aW5nIHJvb3QgaW5vZGUiCittc2dzdHIgImNoeWJhIHDFmWkgesOhcGlzdSBrb8WZZW5vdsOpaG8gaS11emx1IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjgzCittc2dpZCAiZXJyb3Igd3JpdGluZyBpbm9kZSIKK21zZ3N0ciAiY2h5YmEgcMWZaSB6w6FwaXN1IGktdXpsdSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4NgorbXNnaWQgInNlZWsgZXJyb3IiCittc2dzdHIgInZvbMOhbsOtIHNlZWsgc2VsaGFsbyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5MgorbXNnaWQgImVycm9yIHdyaXRpbmcgLiBlbnRyeSIKK21zZ3N0ciAiY2h5YmEgcMWZaSB6w6FwaXN1IC4gcG9sb8W+a3kiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTYKK21zZ2lkICJlcnJvciB3cml0aW5nIC4uIGVudHJ5IgorbXNnc3RyICJjaHliYSBwxZlpIHrDoXBpc3UgLi4gcG9sb8W+a3kiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2xvc2luZyAlcyIKK21zZ3N0ciAiQ2h5YmEgcMWZaSB6YXbDrXLDoW7DrSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXQgPHR5cGU+XSBbZnMtb3B0aW9uc10gPGRldmljZT4gWzxzaXplPl1cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIFstdCA8dHlwPl0gW3DFmWVww61uYcSNZV9zc10gPHphxZnDrXplbsOtPiBbPHZlbGlrb3N0Pl1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDgKK21zZ2lkICJNYWtlIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiVnl0dm/FmcOtIGxpbnV4b3bDvSBzb3Vib3JvdsO9IHN5c3TDqW0uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdCwgLS10eXBlPTx0eXBlPiAgZmlsZXN5c3RlbSB0eXBlOyB3aGVuIHVuc3BlY2lmaWVkLCBleHQyIGlzIHVzZWRcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGU9PHR5cD4gICBkcnVoIHNvdWJvcm92w6lobyBzeXN0w6ltdTsgdsO9Y2hvesOtIGplIGV4dDJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICBmcy1vcHRpb25zICAgICBwYXJhbWV0ZXJzIGZvciB0aGUgcmVhbCBmaWxlc3lzdGVtIGJ1aWxkZXJcbiIKK21zZ3N0ciAiICAgICBwxZllcMOtbmHEjWVfc3MgICBwYXJhbWV0cnkgcHJvIHZsYXN0bsOtaG8gdHbFr3JjZSBzb3Vib3JvdsOpaG8gc3lzdMOpbXVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8ZGV2aWNlPiAgICAgICBwYXRoIHRvIHRoZSBkZXZpY2UgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIgICAgIDx6YcWZw616ZW7DrT4gICAgIGNlc3RhIGvCoHphxZnDrXplbsOtLCBrdGVyw6kgc2UgbcOhIHBvdcW+w610XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPHNpemU+ICAgICAgICAgbnVtYmVyIG9mIGJsb2NrcyB0byBiZSB1c2VkIG9uIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiICAgICA8dmVsaWtvc3Q+ICAgICBwb8SNZXQgYmxva8WvLCBrdGVyw6kgc2UgbWFqw60gemUgemHFmcOtemVuw60gcG91xb7DrXRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJib3NlICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmU7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnlpbmcgLVYgbW9yZSB0aGFuIG9uY2Ugd2lsbCBjYXVzZSBhIGRyeS1ydW5cbiIKK21zZ3N0ciAiIgorIiAtViwgLS12ZXJib3NlICAgICAgdnlzdsSbdGzDrSBwcm92w6FkxJtuw6kgw7prb255XG4iCisiICAgICAgICAgICAgICAgICAgICBuw6Fzb2Juw6kgcG91xb5pdMOtIC1WIHpwxa9zb2LDrSBiZXp6w6FwaXNvdsO9IGLEm2hcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJzaW9uICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0O1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAtViBhcyAtLXZlcnNpb24gbXVzdCBiZSB0aGUgb25seSBvcHRpb25cbiIKK21zZ3N0ciAiIgorIiAtViwgLS12ZXJzaW9uICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw60uXG4iCisiICAgICAgICAgICAgICAgICAgICBQxZllcMOtbmHEjWUgLVYgYSAtLXZlcnNpb24gbXVzw60gYsO9dCBqZWRpbsO9bWkgcMWZZXDDrW5hxI1pLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICIgLWgsIC0taGVscCAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1oLCAtLWhlbHAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHUgYSBza29uxI3DrVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzoxMzkgbGliL2V4ZWNfc2hlbGwuYzo0OSBsb2dpbi11dGlscy9uZXdncnAuYzoyMzMKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY1NyBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5OTIKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwNCBzY2hlZHV0aWxzL2NocnQuYzo1NTgKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjYwIHNjaGVkdXRpbHMvdGFza3NldC5jOjIzOSBzeXMtdXRpbHMvZmxvY2suYzoxMjIKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDMwIHN5cy11dGlscy9wcmxpbWl0LmM6NjQ0IHN5cy11dGlscy9ydGN3YWtlLmM6NTc3CisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjMyNCBzeXMtdXRpbHMvc2V0YXJjaC5jOjQwMyBzeXMtdXRpbHMvc2V0c2lkLmM6MTE1CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzQwIHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI0MiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ2MQorIzogdGVybS11dGlscy9zY3JpcHQuYzo1ODEgdGV4dC11dGlscy9wZy5jOjEzNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGV4ZWN1dGUgJXMiCittc2dzdHIgInNwdcWhdMSbbsOtICVzIHNlbGhhbG8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVzYWdlOiAlcyBbLWhdIFstdl0gWy1iIGJsa3NpemVdIFstZSBlZGl0aW9uXSBbLU4gZW5kaWFuXSBbLWkgZmlsZV0gWy1uIG5hbWVdIGRpcm5hbWUgb3V0ZmlsZVxuIgorIiAtaCAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorIiAtdiAgICAgICAgIGJlIHZlcmJvc2VcbiIKKyIgLUUgICAgICAgICBtYWtlIGFsbCB3YXJuaW5ncyBlcnJvcnMgKG5vbi16ZXJvIGV4aXQgc3RhdHVzKVxuIgorIiAtYiBibGtzaXplIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgbXVzdCBlcXVhbCBwYWdlIHNpemVcbiIKKyIgLWUgZWRpdGlvbiBzZXQgZWRpdGlvbiBudW1iZXIgKHBhcnQgb2YgZnNpZClcbiIKKyIgLU4gZW5kaWFuICBzZXQgY3JhbWZzIGVuZGlhbm5lc3MgKGJpZ3xsaXR0bGV8aG9zdCksIGRlZmF1bHQgaG9zdFxuIgorIiAtaSBmaWxlICAgIGluc2VydCBhIGZpbGUgaW1hZ2UgaW50byB0aGUgZmlsZXN5c3RlbSAocmVxdWlyZXMgPj0gMi40LjApXG4iCisiIC1uIG5hbWUgICAgc2V0IG5hbWUgb2YgY3JhbWZzIGZpbGVzeXN0ZW1cbiIKKyIgLXAgICAgICAgICBwYWQgYnkgJWQgYnl0ZXMgZm9yIGJvb3QgY29kZVxuIgorIiAtcyAgICAgICAgIHNvcnQgZGlyZWN0b3J5IGVudHJpZXMgKG9sZCBvcHRpb24sIGlnbm9yZWQpXG4iCisiIC16ICAgICAgICAgbWFrZSBleHBsaWNpdCBob2xlcyAocmVxdWlyZXMgPj0gMi4zLjM5KVxuIgorIiBkaXJuYW1lICAgIHJvb3Qgb2YgdGhlIGZpbGVzeXN0ZW0gdG8gYmUgY29tcHJlc3NlZFxuIgorIiBvdXRmaWxlICAgIG91dHB1dCBmaWxlXG4iCittc2dzdHIgIiIKKyJQb3XFvml0w606ICVzIFstaF0gWy12XSBbLWIgVkVMSUtPU1RfQkxPS1VdIFstZSBWRVJaRV0gWy1OIEVORElBTklUQV1cbiIKKyIgICAgICAgICAgICBbLWkgU09VQk9SXSBbLW4gTsOBWkVWXSBOw4FaRVZfQURSRVPDgcWYRSBWw51TVFVQTsONX1NPVUJPUlxuIgorIiAtaCAgICAgICAgIHZ5cMOtxaFlIHR1dG8gbsOhcG92xJtkdVxuIgorIiAtdiAgICAgICAgIHVwb3bDrWRhbsO9IHJlxb5pbVxuIgorIiAtRSAgICAgICAgIHZhcm92w6Fuw60gIGJ1ZG91IHBvdmHFvm92w6FuYSB6YSBjaHlieSAobmVudWxvdsO9IG7DoXZyYXRvdsO9IGvDs2QpXG4iCisiIC1iIFZFTElLT1NUX0JMT0tVXG4iCisiICAgICAgICAgICAgcG91xb5pamUgdHV0byBWRUxJS09TVF9CTE9LVSwgbXVzw60gYsO9dCByb3ZuYSB2ZWxpa29zdGkgc3Ryw6Fua3lcbiIKKyIgLWUgVkVSWkUgICBuYXN0YXbDrSDEjcOtc2xvIHZlcnplIFtlZGljZV0gKHNvdcSNw6FzdCBmc2lkKVxuIgorIiAtTiBFTkRJQU5JVEFcbiIKKyIgICAgICAgICAgICB2eWJlcmUgZW5kaWFuaXR1IGNyYW1mcyAo4oCeYmln4oCcIFt2ZWxrw6FdIHwg4oCebGl0dGxl4oCcIFttYWzDoV0gfFxuIgorIiAgICAgICAgICAgIOKAnmhvc3TigJwgW2pha28gdGVudG8gc3Ryb2pdKSwgaW1wbGljaXRuxJsgaG9zdFxuIgorIiAtaSBTT1VCT1IgIHZsb8W+w60gb2JyYXogemUgU09VQk9SVSBkbyBzb3Vib3JvdsOpaG8gc3lzdMOpbXUgKHZ5xb5hZHVqZSA+PSAyLjQuMClcbiIKKyIgLW4gTsOBWkVWICAgbmFzdGF2w60gbsOhemV2IHNvdWJvcm92w6lobyBzeXN0w6ltdSBjcmFtZnNcbiIKKyIgLXAgICAgICAgICBvZHNhZMOtIG/CoCVkIGJ5dMWvIGt2xa9saSBrw7NkdSB6YXZhZMSbxI1lXG4iCisiIC1zICAgICAgICAgc2XFmWFkw60gcG9sb8W+a3kgdsKgYWRyZXPDocWZw61jaCAoc3RhcsOhIHZvbGJhLCBpZ25vcm92w6FubylcbiIKKyIgLXogICAgICAgICB2eXR2b8WZw60gZXhwbGljaXRuw60gZMOtcnkgKHZ5xb5hZHVqZSA+PSAyLjMuMzkpXG4iCisiIE7DgVpFVl9BRFJFU8OBxZhFXG4iCisiICAgICAgICAgICAga2/FmWVuIHNvdWJvcm92w6lobyBzeXN0w6ltdSwga3RlcsO9IG3DoSBiw710IHprb21wcmltb3bDoW5cbiIKKyIgVsOdU1RVUE7DjV9TT1VCT1JcbiIKKyIgICAgICAgICAgICB2w71zdHVwbsOtIHNvdWJvclxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWRsaW5rIGZhaWxlZDogJXMiCittc2dzdHIgInZvbMOhbsOtIHJlYWRsaW5rIHNlbGhhbG86ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzA4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAiesKgYWRyZXPDocWZZSAlcyBuZWx6ZSDEjcOtc3QiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo0NDMKK21zZ2lkICJmaWxlc3lzdGVtIHRvbyBiaWcuICBFeGl0aW5nLiIKK21zZ3N0ciAiU291Ym9yb3bDvSBzeXN0w6ltIGplIHDFmcOtbGnFoSB2ZWxrw70uIEtvbsSNw60gc2UuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkFJRUVFOiBibG9jayBcImNvbXByZXNzZWRcIiB0byA+IDIqYmxvY2tsZW5ndGggKCVsZClcbiIKK21zZ3N0ciAiQUpBSjogYmxvayDigJ56a29tcHJpbW92w6Fub+KAnCA+IDIqYmxvY2tsZW5ndGggKCVsZClcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZCBieXTFrylcdCVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNsb3NlIGZpbGUgJXMiCittc2dzdHIgInNvdWJvciAlcyBuZWx6ZSB6YXbFmcOtdCIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjczMgorbXNnaWQgImludmFsaWQgZWRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCDEjcOtc2xhIGVkaWNlIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzQyCittc2dpZCAiaW52YWxpZCBlbmRpYW5uZXNzIGdpdmVuOyBtdXN0IGJlICdiaWcnLCAnbGl0dGxlJywgb3IgJ2hvc3QnIgorbXNnc3RyICJ6YWTDoW5hIG5lcGxhdG7DoSBlbmRpYW5pdGE7IG11c8OtIGLDvXQg4oCeYmln4oCcLCDigJ5saXR0bGXigJwgbmVibyDigJ5ob3N04oCcIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGd1ZXN0aW1hdGUgb2YgcmVxdWlyZWQgc2l6ZSAodXBwZXIgYm91bmQpIGlzICVsbGRNQiwgYnV0IG1heGltdW0gaW1hZ2Ugc2l6ZSBpcyAldU1CLiAgV2UgbWlnaHQgZGllIHByZW1hdHVyZWx5LiIKK21zZ3N0ciAidmFyb3bDoW7DrTogcG/FvmFkb3ZhbsOhIHZlbGlrb3N0IChob3Juw60gaHJhbmljZSkgamUgb2RoYWRvdsOhbmEgbmEgJWxsZMKgTUIsIGplbsW+ZSBuZWp2xJt0xaHDrSB2ZWxpa29zdCBvYnJhenUgamUgJXXCoE1CLiBNxa/FvmVtZSB6ZW3FmcOtdCBwxZllZMSNYXNuxJsuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODMwCittc2dpZCAiUk9NIGltYWdlIG1hcCIKK21zZ3N0ciAiTWFwYSBvYnJhenUgUk9NIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkluY2x1ZGluZzogJXNcbiIKK21zZ3N0ciAiWmFocm51amk6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlyZWN0b3J5IGRhdGE6ICV6ZCBieXRlc1xuIgorbXNnc3RyICJBZHJlc8OhxZlvdsOhIGRhdGE6ICV6ZMKgYmFqdMWvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXZlcnl0aGluZzogJXpkIGtpbG9ieXRlc1xuIgorbXNnc3RyICJDZWxrZW06ICV6ZMKga2lsb2JhanTFr1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODYxCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cGVyIGJsb2NrOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiU3VwZXJibG9rOiAlemTCoGJhanTFr1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNSQzogJXhcbiIKK21zZ3N0ciAiQ1JDOiAleFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODczCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UgYWxsb2NhdGVkIGZvciBST00gaW1hZ2UgKCVsbGQgYWxsb2NhdGVkLCAlenUgdXNlZCkiCittc2dzdHIgInBybyBvYnJheiBST00gbmVwxZlpZMSbbGVuIGRvc3RhdGVrIHByb3N0b3J1ICglbGxkIHDFmWlkxJtsZW5vLCAlenUgcG91xb5pdG8pIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODc5CisjLCBjLWZvcm1hdAorbXNnaWQgIlJPTSBpbWFnZSB3cml0ZSBmYWlsZWQgKCV6ZCAlemQpIgorbXNnc3RyICJaw6FwaXMgb2JyYXp1IFJPTSBzZWxoYWwgKCV6ZCAlemQpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODgyCittc2dpZCAiUk9NIGltYWdlIgorbXNnc3RyICJPYnJheiBST00iCisKKyMgVE9ETzogUGx1cmFsaXplCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODkxCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGVuYW1lcyB0cnVuY2F0ZWQgdG8gJXUgYnl0ZXMuIgorbXNnc3RyICJ2YXJvdsOhbsOtOiBqbcOpbmEgc291Ym9yxa8gemtyw6FjZW5hIG5hICV1IGJhanTFry4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTMKK21zZ2lkICJ3YXJuaW5nOiBmaWxlcyB3ZXJlIHNraXBwZWQgZHVlIHRvIGVycm9ycy4iCittc2dzdHIgInZhcm92w6Fuw606IHNvdWJvcnkgYnlseSBwxZllc2tvxI1lbnkga3bFr2xpIGNoeWLDoW0uIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODk1CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGUgc2l6ZXMgdHJ1bmNhdGVkIHRvICVsdU1CIChtaW51cyAxIGJ5dGUpLiIKK21zZ3N0ciAidmFyb3bDoW7DrTogdmVsaWtvc3RpIHNvdWJvcnUgemtyw6FjZW55IG5hICUnbHXCoE1CIChtw61udXMgMcKgYmFqdCkuIgorCisjIFRPRE86IFBsdXJhbGl6ZQorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5OQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJ2YXJvdsOhbsOtOiBVSUQgemtyw6FjZW5hIG5hICV1IGJpdMWvLiAoTcWvxb5lIG3DrXQgZG9wYWQgbmEgYmV6cGXEjW5vc3QuKSIKKworIyBUT0RPOiBQbHVyYWxpemUKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ2lkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAidmFyb3bDoW7DrTogR0lEIHprcsOhY2VuYSBuYSAldSBiaXTFry4gKE3Fr8W+ZSBtw610IGRvcGFkIG5hIGJlenBlxI1ub3N0LikiCisKKyMgVE9ETzogUGx1cmFsaXplCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXQVJOSU5HOiBkZXZpY2UgbnVtYmVycyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIFRoaXMgYWxtb3N0IGNlcnRhaW5seSBtZWFuc1xuIgorInRoYXQgc29tZSBkZXZpY2UgZmlsZXMgd2lsbCBiZSB3cm9uZy4iCittc2dzdHIgIiIKKyJWQVJPVsOBTsONOiDEjcOtc2xhIHphxZnDrXplbsOtIHprcsOhY2VuYSBuYSAldSBiaXTFry4gVG90byBqaXN0xJsgem5hbWVuw6EsIMW+ZSBuxJtrdGVyw6lcbiIKKyJzb3Vib3J5IHphxZnDrXplbsOtIGJ1ZG91IMWhcGF0bsOpLiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gL2Rldi9uYW1lIFtibG9ja3NdXG4iCittc2dzdHIgIiVzIFtwxZllcMOtbmHEjWVdIC9kZXYvbsOhemV2IFtibG9reV1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM3Cittc2dpZCAiIC0xICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDFcbiIKK21zZ3N0ciAiIC0xICAgICAgICAgICAgICAgICAgICAgIHBvdcW+aWplIHZlcnppIE1pbml4dSAxXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOAorbXNnaWQgIiAtMiwgLXYgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAyXG4iCittc2dzdHIgIiAtMiwgLXYgICAgICAgICAgICAgICAgICBwb3XFvmlqZSB2ZXJ6aSBNaW5peHUgMlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzkKK21zZ2lkICIgLTMgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gM1xuIgorbXNnc3RyICIgLTMgICAgICAgICAgICAgICAgICAgICAgcG91xb5pamUgdmVyemkgTWluaXh1IDNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQwCittc2dpZCAiIC1uLCAtLW5hbWVsZW5ndGggPG51bT4gIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lc1xuIgorbXNnc3RyICIiCisiIC1uLCAtLW5hbWVsZW5ndGggPMSNw61zbG8+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIG1heGltw6FsbsOtIGTDqWxrYSBuw6F6dsWvIHNvdWJvcsWvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MQorbXNnaWQgIiAtaSwgLS1pbm9kZXMgPG51bT4gICAgICBudW1iZXIgb2YgaW5vZGVzIGZvciB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLWksIC0taW5vZGVzIDxwb8SNZXQ+ICAgIHBvxI1ldCBpLXV6bMWvIHbCoHNvdWJvcm92w6ltIHN5c3TDqW11XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MgorbXNnaWQgIiAtYywgLS1jaGVjayAgICAgICAgICAgICBjaGVjayB0aGUgZGV2aWNlIGZvciBiYWQgYmxvY2tzXG4iCittc2dzdHIgIiAtYywgLS1jaGVjayAgICAgICAgICAgICB6a29udHJvbHVqZSB6YcWZw616ZW7DrSBuYSB2YWRuw6kgYmxva3lcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQzCittc2dpZCAiIC1sLCAtLWJhZGJsb2NrcyA8ZmlsZT4gIGxpc3Qgb2YgYmFkIGJsb2NrcyBmcm9tIGZpbGVcbiIKK21zZ3N0ciAiIgorIiAtbCwgLS1iYWRibG9ja3MgPHNvdWJvcj5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgc291Ym9yIHNlIHNlem5hbWUgdmFkbsO9Y2ggYmxva8WvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayB0byBib290IGJsb2NrIGZhaWxlZCAgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIlczogY2h5YmEgcMWZaSBwxZllc3VudSBuYSBzdGFydG92YWPDrSBibG9rIHZlIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gY2xlYXIgYm9vdCBzZWN0b3IiCittc2dzdHIgIiVzOiBzdGFydG92YWPDrSBibG9rIG5lbHplIHNtYXphdCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgIiVzOiBjaHliYSBwxZlpIHptxJtuxJsgcG96aWNlIHZlIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgIiVzOiBzdXBlcmJsb2sgbmVsemUgemFwc2F0IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIiVzOiBtYXB1IGktdXpsxa8gbmVsemUgemFwc2F0IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiJXM6IG1hcHUgesOzbiBuZWx6ZSB6YXBzYXQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiJXM6IGktdXpseSBuZWx6ZSB6YXBzYXQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIiVzOiBjaHliYSBwxZlpIHptxJtuxJsgcG96aWNlIHZlIHdyaXRlX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6IGNoeWJhIHDFmWkgesOhcGlzdSB2ZSB3cml0ZV9ibG9jayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjIxIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjI5NgorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbWFueSBiYWQgYmxvY2tzIgorbXNnc3RyICIlczogcMWZw61sacWhIG1ub2hvIGNoeWJuw71jaCBibG9rxa8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGVub3VnaCBnb29kIGJsb2NrcyIKK21zZ3N0ciAiJXM6IG5lZG9zdGF0ZWsgZG9icsO9Y2ggYmxva8WvIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkZpcnN0IGRhdGEgYmxvY2sgYXQgJWpkLCB3aGljaCBpcyB0b28gZmFyIChtYXggJWQpLlxuIgorIlRyeSBzcGVjaWZ5aW5nIGZld2VyIGlub2RlcyBieSBwYXNzaW5nIC0taW5vZGVzIDxudW0+IgorbXNnc3RyICIiCisiUHJ2bsOtIGRhdG92w70gYmxvayBuYSAlamQsIGNvxb4gamUgcMWZw61sacWhIGRhbGVrbyAobWF4aW11bSAlZCkuXG4iCisiWmt1c3RlIHphZGF0IG3DqW7EmyBpLXV6bMWvIHBvbW9jw60gLS1pbm9kZXMgPHBvxI1ldD4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgaW5vZGVcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGlub2Rlc1xuIgorbXNnc3RyWzBdICIlbHUgaS11emVsXG4iCittc2dzdHJbMV0gIiVsdSBpLXV6bHlcbiIKK21zZ3N0clsyXSAiJWx1IGktdXpsxa9cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlbHUgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVsdSBibG9rXG4iCittc2dzdHJbMV0gIiVsdSBibG9reVxuIgorbXNnc3RyWzJdICIlbHUgYmxva8WvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lc2l6ZT0lenVcbiIKK21zZ3N0ciAiVmVsaWtvc3RfesOzbnk9JXp1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTWF4c2l6ZT0lenVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIk1heGltw6FsbsOtX3ZlbGlrb3N0PSV6dVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGR1cmluZyB0ZXN0aW5nIG9mIGJsb2NrcyIKK21zZ3N0ciAiJXM6IGNoeWJhIHDFmWkgem3Em27EmyBwb3ppY2UgdsKgcHLFr2LEm2h1IGtvbnRyb2x5IGJsb2vFryIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIldlaXJkIHZhbHVlcyBpbiBkb19jaGVjazogcHJvYmFibHkgYnVnc1xuIgorbXNnc3RyICJOZXNwcsOhdm7DqSBob2Rub3R5IHYgZG9fY2hlY2s6IHByYXZkxJtwb2RvYm7EmyBjaHlieVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAiJXM6IGNoeWJhIHDFmWkgem3Em27EmyBwb3ppY2UgdsKgY2hlY2tfYmxvY2tzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBibG9ja3MgYmVmb3JlIGRhdGEtYXJlYTogY2Fubm90IG1ha2UgZnMiCittc2dzdHIgIiVzOiBjaHlibsOpIGJsb2t5IHDFmWVkIGRhdG92b3Ugb2JsYXN0w606IHN5c3TDqW0gc291Ym9yxa8gbmVsemUgdnl0dm/FmWl0IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MzkgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGJhZCBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlZCBiYWQgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVkIGNoeWJuw70gYmxva1xuIgorbXNnc3RyWzFdICIlZCBjaHlibsOpIGJsb2t5XG4iCittc2dzdHJbMl0gIiVkIGNoeWJuw71jaCBibG9rxa9cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBvcGVuIGZpbGUgb2YgYmFkIGJsb2NrcyIKK21zZ3N0ciAiJXM6IHNvdWJvciBjaHlibsO9Y2ggYmxva8WvIG5lbHplIG90ZXbFmcOtdCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjUzCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZGJsb2NrIG51bWJlciBpbnB1dCBlcnJvciBvbiBsaW5lICVkXG4iCittc2dzdHIgImNoeWJhIHZzdHVwdSB1wqDEjcOtc2xhIMWhcGF0bsOpaG8gYmxva3UgbmEgxZnDoWRrdSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGJhZGJsb2NrcyBmaWxlIgorbXNnc3RyICIlczogc291Ym9yIGNoeWJuw71jaCBibG9rxa8gbmVsemUgcMWZZcSNw61zdCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk0CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIHNpemUgc21hbGxlciB0aGFuIHBoeXNpY2FsIHNlY3RvciBzaXplIG9mICVzIgorbXNnc3RyICJ2ZWxpa29zdCBibG9rdSBqZSBtZW7FocOtIG5lxb4gdmVsaWtvc3QgZnl6aWNrw6lobyBzZWt0b3J1ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBzaXplIG9mICVzIgorbXNnc3RyICJuZWx6ZSB6amlzdGl0IHZlbGlrb3N0ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlcXVlc3RlZCBibG9ja3MgKCVsbHUpIGV4Y2VlZHMgYXZhaWxhYmxlICglbGx1KSBibG9ja3NcbiIKK21zZ3N0ciAiJXM6IHBvxb5hZG92YW7DqSBibG9reSAoJSdsbHUpIHDFmWV2ecWhdWrDrSBkb3N0dXBuw6kgYmxva3kgKCUnbGx1KVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG51bWJlciBvZiBibG9ja3MgdG9vIHNtYWxsIgorbXNnc3RyICIlczogcG/EjWV0IGJsb2vFryBqZSBwxZnDrWxpxaEgbWFsw70iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbmFtZSBsZW5ndGg6ICVkIgorbXNnc3RyICJuZXBvZHBvcm92YW7DoSBkw6lsa2EgbsOhenZ1OiAlZCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzMyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG1pbml4IGZpbGUgc3lzdGVtIHZlcnNpb246ICVkIgorbXNnc3RyICJuZXBvZHBvcm92YW7DoSB2ZXJ6ZSBtaW5peG92w6lobyBzb3Vib3JvdsOpaG8gc3lzdMOpbXU6ICVkIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NjcKK21zZ2lkICItdiBpcyBhbWJpZ3VvdXMsIHVzZSAnLTInIGluc3RlYWQiCittc2dzdHIgInDFmWVww61uYcSNIC12IG5lbsOtIGplZG5vem5hxI1uw70sIG5hbcOtc3RvIG7Em2ogcG91xb5panRlIOKAni0y4oCcIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NzgKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzIgorbXNnc3RyICJuZXpkYcWZaWxvIHNlIHJvemVicmF0IG1heGltw6FsbsOtIGTDqWxrdSBuw6F6dsWvIHNvdWJvcsWvIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAibmV6ZGHFmWlsbyBzZSByb3plYnJhdCBwb8SNZXQgaS11emzFryIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODA2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBibG9ja3MiCittc2dzdHIgIm5lemRhxZlpbG8gc2Ugcm96ZWJyYXQgcG/EjWV0IGJsb2vFryIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2UgYSBmaWxlc3lzdGVtIGhlcmUhIgorbXNnc3RyICIlcyBqZSBwxZlpcG9qZW5vOyBzeXN0w6ltIHNvdWJvcsWvIHpkZSB2eXR2w6HFmWV0IG5lYnVkdSEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIHVzZXItc3BlY2lmaWVkIHBhZ2Ugc2l6ZSAldSIKK21zZ3N0ciAiVcW+aXZhdGVsZW0gemFkYW7DoSB2ZWxpa29zdCBzdHLDoW5reSAldSBqZSBjaHlibsOhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIHVzZXItc3BlY2lmaWVkIHBhZ2Ugc2l6ZSAlZCwgaW5zdGVhZCBvZiB0aGUgc3lzdGVtIHZhbHVlICVkIgorbXNnc3RyICJQb3XFvmlqZSBzZSB6YWRhbsOhIHZlbGlrb3N0IHN0csOhbmt5ICVkIG3DrXN0byBzeXN0w6ltb3bDqSBob2Rub3R5ICVkIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEyNAorbXNnaWQgIkxhYmVsIHdhcyB0cnVuY2F0ZWQuIgorbXNnc3RyICJKbWVub3ZrYSBieWxhIHprcsOhY2VuYS4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGxhYmVsLCAiCittc2dzdHIgIsW+w6FkbsOhIGptZW5vdmthLCAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHV1aWRcbiIKK21zZ3N0ciAixb7DoWRuw6kgVVVJRFxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXSBkZXZpY2UgW3NpemVdXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQb3XFvml0w606XG4iCisiICVzIFtwxZllcMOtbmHEjWVdIHphxZnDrXplbsOtIFt2ZWxpa29zdF1cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTIKK21zZ2lkICJTZXQgdXAgYSBMaW51eCBzd2FwIGFyZWEuXG4iCittc2dzdHIgIlZ5dHZvxZnDrSBsaW51eG92b3Ugb2RrbMOhZGFjw60gb2JsYXN0LlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICBjaGVjayBiYWQgYmxvY2tzIGJlZm9yZSBjcmVhdGluZyB0aGUgc3dhcCBhcmVhXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgYWxsb3cgc3dhcCBzaXplIGFyZWEgYmUgbGFyZ2VyIHRoYW4gZGV2aWNlXG4iCisiIC1wLCAtLXBhZ2VzaXplIFNJWkUgICAgICAgc3BlY2lmeSBwYWdlIHNpemUgaW4gYnl0ZXNcbiIKKyIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICBzcGVjaWZ5IGxhYmVsXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAgc3BlY2lmeSBzd2FwLXNwYWNlIHZlcnNpb24gbnVtYmVyXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgc3BlY2lmeSB0aGUgdXVpZCB0byB1c2VcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQxZllcMOtbmHEjWU6XG4iCisiIC1jLCAtLWNoZWNrICAgICAgICAgICAgICAgcMWZZWQgdnl0dm/FmWVuw61tIG9ka2zDoWRhY8OtIG9ibGFzdGkgemtvbnRyb2x1amVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBjaHlibsOpIHNla3RvcnlcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkb3ZvbMOtLCBhYnkgb2RrbMOhZGFjw60gb2JsYXN0IGJ5bGEgdsSbdMWhw60gbmXFviB6YcWZw616ZW7DrVxuIgorIiAtcCwgLS1wYWdlc2l6ZSBWRUxJS09TVCAgIHVyxI3DrSB2ZWxpa29zdCBzdHLDoW5reSB2wqBiYWp0ZWNoXG4iCisiIC1MLCAtLWxhYmVsIEpNRU5PVktBICAgICAgdXLEjcOtIGptZW5vdmt1XG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIMSMw41TTE8gICB1csSNw60gxI3DrXNsbyB2ZXJ6ZSBvZGtsw6FkYWPDrSBvYmxhc3RpXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgdXLEjcOtLCBqYWvDqSBVVUlEIHNlIG3DoSBwb3XFvsOtdFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgIHZ5cMOtxaFlIMO6ZGFqZSBvwqB2ZXJ6aSBhIHNrb27EjcOtXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgem9icmF6w60gdHV0byBuw6Fwb3bEm2R1IGEgc2tvbsSNw61cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgYmFkIHBhZ2VzOiAlbHUiCittc2dzdHIgInDFmcOtbGnFoSBtbm9obyBjaHlibsO9Y2ggc3Ryw6FuZWs6ICVsdSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxOTUKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgImNoeWJhIHDFmWkgcG9zdW51IHVrYXpvdsOhdGthIHYgY2hlY2tfYmxvY2tzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmFkIHBhZ2VcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJhZCBwYWdlc1xuIgorbXNnc3RyWzBdICIlbHUgY2h5Ym7DoSBzdHLDoW5rYVxuIgorbXNnc3RyWzFdICIlbHUgY2h5Ym7DqSBzdHLDoW5reVxuIgorbXNnc3RyWzJdICIlbHUgY2h5Ym7DvWNoIHN0csOhbmVrXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjI4Cittc2dpZCAidW5hYmxlIHRvIGFsbG9jIG5ldyBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAibmVsemUgYWxva292YXQgbm92w70gdGVzdCBsaWJibGtpZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMzAKK21zZ2lkICJ1bmFibGUgdG8gYXNzaWduIGRldmljZSB0byBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAiemHFmcOtemVuw60gbmVsemUgcMWZaWRhdCBkbyB0ZXN0dSBsaWJibGtpZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2hlY2tpbmcgYmFkIGJsb2NrcyBmcm9tIHN3YXAgZmlsZSBpcyBub3Qgc3VwcG9ydGVkOiAlcyIKK21zZ3N0ciAicG96b3I6IGtvbnRyb2xhIGNoeWJuw71jaCBibG9rxa8gdsKgb2RrbMOhZGFjw61tIHNvdWJvcnUgbmVuw60gcG9kcG9yb3bDoW5hOiAlcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNjEgZGlzay11dGlscy9ta3N3YXAuYzoyODcgZGlzay11dGlscy9ta3N3YXAuYzozMzQKK21zZ2lkICJ1bmFibGUgdG8gcmV3aW5kIHN3YXAtZGV2aWNlIgorbXNnc3RyICJvZGtsw6FkYWPDrSBwcm9zdG9yIG5lbHplIHDFmWV2aW5vdXQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjkwCittc2dpZCAidW5hYmxlIHRvIGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgInphdsOhZMSbY8OtIGJsb2t5IG5lbHplIHNtYXphdCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IHdpcGluZyBvbGQgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiJXM6IHBvem9yOiBvZHN0cmHFiHVqZSBzZSBzdGFyw70gdnpvcmVjICVzLiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IGRvbid0IGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgIiVzOiB2YXJvdsOhbsOtOiBuZW1hxb50ZSB6YXbDoWTEm2PDrSBzZWt0b3J5IgorCisjIENvbnRpbnVhdGlvbiBvZiBwcmV2aW91cyBtZXNzYWdlCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICglcyBwYXJ0aXRpb24gdGFibGUgZGV0ZWN0ZWQpLiAiCittc2dzdHIgIiAgICAgICAgKG5hbGV6ZW5hIHRhYnVsa2Egcm96ZMSbbGVuw60gZGlza3UgdHlwdSAlcykuICIKKworIyBBbHRlcm5hdGUgY29udGludWF0aW9uIG9mIHByZXZpb3VzIG1lc3NhZ2UKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKGNvbXBpbGVkIHdpdGhvdXQgbGliYmxraWQpLiAiCittc2dzdHIgIiAgICAgICAgKHDFmWVsb8W+ZW5vIGJleiBsaWJibGtpZCkuICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNlIC1mIHRvIGZvcmNlLlxuIgorbXNnc3RyICJQb3XFvmlqdGUgLWYga8KgdnludWNlbsOtLlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHNpZ25hdHVyZSBwYWdlIgorbXNnc3RyICIlczogc3Ryw6Fua3Ugc2UgdnpvcmNlbSBuZWx6ZSB6YXBzYXQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzgwCittc2dpZCAicGFyc2luZyBwYWdlIHNpemUgZmFpbGVkIgorbXNnc3RyICJuZXBvZGHFmWlsbyBzZSByb3plYnJhdCB2ZWxpa29zdCBzdHLDoW5reSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODYKK21zZ2lkICJwYXJzaW5nIHZlcnNpb24gbnVtYmVyIGZhaWxlZCIKK21zZ3N0ciAibmVwb2RhxZlpbG8gc2Ugcm96ZWJyYXQgxI3DrXNsbyB2ZXJ6ZSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcHNwYWNlIHZlcnNpb24gJWQgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAib2RrbMOhZGFjw60gcHJvc3RvciB2ZXJ6ZSAlZCBuZW7DrSBuZXBvZHBvcm92w6FuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBpZ25vcmluZyAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkIGJ5ICVzKSIKK21zZ3N0ciAicG96b3I6IC1VIHNlIGlnbm9ydWplICglcyBuZXBvZHBvcnVqZSBVVUlEKSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MTQKK21zZ2lkICJvbmx5IG9uZSBkZXZpY2UgYXJndW1lbnQgaXMgY3VycmVudGx5IHN1cHBvcnRlZCIKK21zZ3N0ciAidsKgc291xI1hc25vc3RpIGplIHBvZHBvcm92w6FuIHBvdXplIGplZGVuIGFyZ3VtZW50IHNlIHphxZnDrXplbsOtbSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MjEKK21zZ2lkICJlcnJvcjogcGFyc2luZyBVVUlEIGZhaWxlZCIKK21zZ3N0ciAiY2h5YmE6IHJvemJvciBVVUlEIHNlbGhhbCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzAKK21zZ2lkICJlcnJvcjogTm93aGVyZSB0byBzZXQgdXAgc3dhcCBvbj8iCittc2dzdHIgImNoeWJhOiBLZGUgc2UgbcOhIHZ5dHZvxZlpdCBvZGtsw6FkYWPDrSBwcm9zdG9yPyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzYKK21zZ2lkICJpbnZhbGlkIGJsb2NrIGNvdW50IGFyZ3VtZW50IgorbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnQgcG/EjXR1IGJsb2vFryIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHNpemUgJWxsdSBLaUIgaXMgbGFyZ2VyIHRoYW4gZGV2aWNlIHNpemUgJTxQUkl1NjQ+IEtpQiIKK21zZ3N0ciAiY2h5YmE6IHZlbGlrb3N0ICVsbHXigK9LaUIgamUgdsSbdMWhw60gbmXFviB2ZWxpa29zdCB6YcWZw616ZW7DrSAlPFBSSXU2ND7igK9LaUIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDUxCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzd2FwIGFyZWEgbmVlZHMgdG8gYmUgYXQgbGVhc3QgJWxkIEtpQiIKK21zZ3N0ciAiY2h5YmE6IG9ka2zDoWRhY8OtIHByb3N0b3IgcG90xZllYnVqZSBhbGVzcG/FiCAlbGTigK9LaUIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHRydW5jYXRpbmcgc3dhcCBhcmVhIHRvICVsbHUgS2lCIgorbXNnc3RyICJ2YXJvdsOhbsOtOiBvZGtsw6FkYWPDrSBwcm9zdG9yIHprcsOhY2VuIG5hICVsbHXigK9LaUIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIHN3YXBzcGFjZSIKK21zZ3N0ciAiY2h5YmE6ICVzIGplIHDFmWlwb2plbm87IG9ka2zDoWRhY8OtIHByb3N0b3IgbmVidWRlIHZ5dHZvxZllbi4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDY4IHN5cy11dGlscy9zd2Fwb24uYzo1MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIHBlcm1pc3Npb25zICUwNG8sICUwNG8gc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IHDFmcOtc3R1cG92w6EgcHLDoXZhICUwNG8gbmVqc291IGJlenBlxI1uw6EsICUwNG8gYnkgYnlsYSBsZXDFocOtLiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NzIgc3lzLXV0aWxzL3N3YXBvbi5jOjUzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgZmlsZSBvd25lciAlZCwgMCAocm9vdCkgc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IHZsYXN0bsOtayBzb3Vib3J1ICVkIG5lbsOtIGJlenBlxI1uw70sIDAgKHJvb3QpIGJ5IGJ5bCBsZXDFocOtLiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0ODcKK21zZ2lkICJVbmFibGUgdG8gc2V0IHVwIHN3YXAtc3BhY2U6IHVucmVhZGFibGUiCittc2dzdHIgIk9ka2zDoWRhY8OtIHByb3N0b3IgbmVsemUgbmFzdGF2aXQ6IG5lxI1pdGVsbsOpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIHVwIHN3YXBzcGFjZSB2ZXJzaW9uICVkLCBzaXplID0gJXMgKCU8UFJJdTY0PiBieXRlcylcbiIKK21zZ3N0ciAiVnl0dsOhxZnDrSBzZSBvZGtsw6FkYWPDrSBwcm9zdG9yIHZlcnplICVkLCB2ZWxpa29zdCA9ICVzICglPFBSSXU2ND4gYmFqdMWvKVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIG9idGFpbiBzZWxpbnV4IGZpbGUgbGFiZWwiCittc2dzdHIgIiVzOiBuZWx6ZSB6w61za2F0IHNlbGludXhvdm91IHpuYcSNa3Ugc291Ym9ydSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTUKK21zZ2lkICJ1bmFibGUgdG8gbWF0Y2hwYXRoY29uKCkiCittc2dzdHIgIm1hdGNocGF0aGNvbigpIG5lbHplIHByb3bDqXN0IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxOAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbmV3IHNlbGludXggY29udGV4dCIKK21zZ3N0ciAibm92w70ga29udGV4dCBzZWxpbnV4dSBuZWx6ZSB2eXR2b8WZaXQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTIwCittc2dpZCAiY291bGRuJ3QgY29tcHV0ZSBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIm5lZG9rw6HFvmkgdnlwb8SNw61zdCBrb250ZXh0IHNlbGludXh1IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVsYWJlbCAlcyB0byAlcyIKK21zZ3N0ciAibmVsemUgem3Em25pdCBqbWVub3ZrdSB6wqAlcyBuYSAlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg2Cittc2dpZCAicGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAixI3DrXNsbyBvZGTDrWx1IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODcKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgInphxI3DoXRlayBvZGTDrWx1IHbCoHNla3RvcmVjaCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg4Cittc2dpZCAiZW5kIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIKK21zZ3N0ciAia29uZWMgb2Rkw61sdSB2wqBzZWt0b3JlY2giCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OQorbXNnaWQgIm51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJwb8SNZXQgc2VrdG9yxa8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MAorbXNnaWQgImh1bWFuIHJlYWRhYmxlIHNpemUiCittc2dzdHIgInDFmWVobGVkbsOhIHZlbGlrb3N0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTEKK21zZ2lkICJwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAibsOhemV2IG9kZMOtbHUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDggbWlzYy11dGlscy9sc2Jsay5jOjE2OAorbXNnaWQgInBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJVVUlEIG9kZMOtbHUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MworbXNnaWQgInBhcnRpdGlvbiB0YWJsZSB0eXBlIChkb3MsIGdwdCwgLi4uKSIKK21zZ3N0ciAiZHJ1aCB0YWJ1bGt5IHJvemTEm2xlbsOtIGRpc2t1IChET1MsIEdQVCwg4oCmKSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk0IG1pc2MtdXRpbHMvbHNibGsuYzoxNjkKK21zZ2lkICJwYXJ0aXRpb24gZmxhZ3MiCittc2dzdHIgInDFmcOtem5ha3kgb2Rkw61sdSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1Cittc2dpZCAicGFydGl0aW9uIHR5cGUgKGEgc3RyaW5nLCBhIFVVSUQsIG9yIGhleCkiCittc2dzdHIgImRydWggb2Rkw61sdSAoxZlldMSbemVjLCBVVUlEIG5lYm8gxaFlc3Ruw6FjdGtvdsOpIMSNw61zbG8pIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTE0IHN5cy11dGlscy9sb3NldHVwLmM6NTA4IHN5cy11dGlscy9sb3NldHVwLmM6NjE2Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGN4dCIKK21zZ3N0ciAibG9vcGN0eCBzZSBuZXBvZGHFmWlsbyBpbmljaWFsaXpvdmF0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZCB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiDFvsOhZG7DqSBuZXBvdcW+aXTDqSBsb29wIHphxZnDrXplbsOtIG5lYnlsbyBtb8W+bsOpIG5hasOtdCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyMgorIywgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gdXNlICclcycgZm9yIHRoZSBsb29wIGRldmljZVxuIgorbXNnc3RyICJQcm8gemHFmcOtemVuw60gbG9vcCBzZSB6a3Vzw60gcG91xb7DrXQg4oCeJXPigJxcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBiYWNraW5nIGZpbGUiCittc2dzdHIgIiVzOiBuYXN0YXZlbsOtIHBvZGtsYWRvdsOpaG8gc291Ym9ydSBzZWxoYWxvIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTMxIHN5cy11dGlscy9sb3NldHVwLmM6NTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczogemHFmcOtemVuw60gbG9vcCBzZSBuZXBvZGHFmWlsbyBuYXN0YXZpdCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjE2MSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjMwNyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozNzYKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzozNTQgbWlzYy11dGlscy9sc2xvY2tzLmM6MzQyIHN5cy11dGlscy9sb3NldHVwLmM6MTA3CisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNzIgc3lzLXV0aWxzL2xzaXBjLmM6MjMyIHN5cy11dGlscy9sc25zLmM6MTg5CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI3NyBzeXMtdXRpbHMvc3dhcG9uLmM6MTQ3IHN5cy11dGlscy93ZGN0bC5jOjE1MQorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzoxNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICJuZXpuw6Ftw70gc2xvdXBlYzogJXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiJXM6IHrDrXNrw6Fuw60gxI3DrXNsYSBvZGTDrWx1IHNlbGhhbG8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyODYgZGlzay11dGlscy9wYXJ0eC5jOjMyNCBkaXNrLXV0aWxzL3BhcnR4LmM6NDc3CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZmllZCByYW5nZSA8JWQ6JWQ+IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgInphZGFuw70gcm96c2FoIDwlZDolZD4gbmVkw6F2w6Egc215c2wiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmFuZ2UgcmVjb3VudDogbWF4IHBhcnRubz0lZCwgbG93ZXI9JWQsIHVwcGVyPSVkXG4iCittc2dzdHIgInDFmWVwb8SNZXQgcm96c2FodTogbWF4aW3DoWxuw60gxI3DrXNsbyBvZGTDrWx1PSVkLCBkb2xuw609JWQsIGhvcm7DrT0lZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiBjaHliYSBwxZlpIG1hesOhbsOtIG9kZMOtbHUgJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiVzOiBjaHliYSBwxZlpIG1hesOhbsOtIG9kZMOtbMWvICVk4oCTJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVtb3ZlZFxuIgorbXNnc3RyICIlczogb2Rkw61sIMSNLuKAryVkIG9kc3RyYW7Em25cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBkb2Vzbid0IGV4aXN0XG4iCittc2dzdHIgIiVzOiBvZGTDrWwgxI0u4oCvJWQgbmVleGlzdHVqZVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZWxldGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXM6IG9kc3RyYW7Em27DrSBvZGTDrWx1IMSNLuKAryVkIHNlbGhhbG8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiBjaHliYSBwxZlpIHDFmWlkw6F2w6Fuw60gb2Rkw61sdSAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiVzOiBjaHliIHDFmWkgcMWZaWTDoXbDoW7DrSBvZGTDrWzFryAlZOKAkyVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDA1IGRpc2stdXRpbHMvcGFydHguYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIKK21zZ3N0ciAiJXM6IHDFmWlkw6FuIG9kZMOtbCDEjS7igK8lZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiBwxZlpZMOhbsOtIG9kZMOtbHUgxI0u4oCvJWQgc2VsaGFsbyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIlczogY2h5YmEgcMWZaSBha3R1YWxpemFjaSBvZGTDrWx1ICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczogY2h5YmEgcMWZaSBha3R1YWxpemFjaSBvZGTDrWzFryAlZOKAkyVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBwYXJ0aXRpb24gIyVkIgorbXNnc3RyICIlczogxb7DoWRuw70gb2Rkw61sIMSNLuKAryVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlc2l6ZWRcbiIKK21zZ3N0ciAiJXM6IG9kZMOtbCDEjS7igK8lZCB6bcSbbmlsIHZlbGlrb3N0XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVwZGF0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlczogYWt0dWFsaXphY2Ugb2Rkw61sdSDEjS7igK8lZCBzZWxoYWxhIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWN0b3IsICU2anUgTUIpXG4iCittc2dpZF9wbHVyYWwgIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWN0b3JzLCAlNmp1IE1CKVxuIgorbXNnc3RyWzBdICLEjS7igK8lMmQ6ICU5anXigJMlOWp1ICglOWp1IHNla3RvciwgJTZqdeKAr01CKVxuIgorbXNnc3RyWzFdICLEjS7igK8lMmQ6ICU5anXigJMlOWp1ICglOWp1IHNla3RvcnksICU2anXigK9NQilcbiIKK21zZ3N0clsyXSAixI0u4oCvJTJkOiAlOWp14oCTJTlqdSAoJTlqdSBzZWt0b3LFrywgJTZqdeKAr01CKVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTgxIG1pc2MtdXRpbHMvZmluZG1udC5jOjY4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MDUKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM5MSBzeXMtdXRpbHMvbHNucy5jOjQ1NgorbXNnaWQgImZhaWxlZCB0byBhZGQgbGluZSB0byBvdXRwdXQiCittc2dzdHIgInDFmWlkw6Fuw60gxZnDoWRrdSBuYSB2w71zdHVwIHNlbGhhbG8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NDQKK21zZ2lkICJmYWlsZWQgdG8gYWRkIGRhdGEgdG8gb3V0cHV0IHRhYmxlIgorbXNnc3RyICJwxZlpZMOhbsOtIGRhdCBuYSB2w71zdHVwIHNlbGhhbG8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NjcgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo5MjIgbWlzYy11dGlscy9maW5kbW50LmM6MTU4NQorIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NzQgbWlzYy11dGlscy9sc2xvY2tzLmM6NDUxIHN5cy11dGlscy9sb3NldHVwLmM6MzEwCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzEzIHN5cy11dGlscy9sc2lwYy5jOjMzOCBzeXMtdXRpbHMvbHNucy5jOjUxMQorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyOTcgc3lzLXV0aWxzL3N3YXBvbi5jOjI4MCBzeXMtdXRpbHMvd2RjdGwuYzoyNTkKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NDg0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJ2w71zdHVwbsOtIHRhYnVsa3Ugc2UgbmVwb2RhxZlpbG8gaW5pY2lhbGl6b3ZhdCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY3OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjExIG1pc2MtdXRpbHMvbHNibGsuYzoxODk2CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NjUgc3lzLXV0aWxzL2xvc2V0dXAuYzozMjIgc3lzLXV0aWxzL2xvc2V0dXAuYzozNTgKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MTggc3lzLXV0aWxzL2xzbnMuYzo1MzIgc3lzLXV0aWxzL3BybGltaXQuYzozMDYKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyODkgc3lzLXV0aWxzL3dkY3RsLmM6MjcwIHN5cy11dGlscy96cmFtY3RsLmM6NDkzCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAidsO9c3R1cG7DrSBzbG91cGVjIHNlIG5lcG9kYcWZaWxvIGluaWNpYWxpem92YXQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgZmlsdGVyIGZvciAnJXMnIgorbXNnc3RyICJmaWx0ciBibGtpZCBwcm8g4oCeJXPigJwgc2UgbmVwb2RhxZlpbG8gaW5pY2lhbGl6b3ZhdCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIlczogdGFidWxrdSByb3pkxJtsZW7DrSBkaXNrdSBzZSBuZXBvZGHFmWlsbyBuYcSNw61zdCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHR5cGUgJyVzJyBkZXRlY3RlZFxuIgorbXNnc3RyICIlczogbmFsZXplbmEgdGFidWxrYSByb3pkxJtsZW7DrSBkaXNrdSB0eXB1IOKAniVz4oCcXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB3aXRoIG5vIHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiB0YWJ1bGthIHJvemTEm2xlbsOtIGRpc2t1IGJleiBvZGTDrWzFryIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0aXRpb24+XSA8ZGlzaz5cbiIKK21zZ3N0ciAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8b2Rkw61sPl0gPGRpc2s+XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTYKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIHByZXNlbmNlIGFuZCBudW1iZXJpbmcgb2YgcGFydGl0aW9ucy5cbiIKK21zZ3N0ciAixZhla25lIGrDoWRydSBvwqBleGlzdGVuY2kgYSDEjcOtc2xvdsOhbsOtIG9kZMOtbMWvLlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzU5Cittc2dpZCAiIC1hLCAtLWFkZCAgICAgICAgICAgIGFkZCBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLWEsIC0tYWRkICAgICAgICAgICAgcMWZaWTDoSB6YWRhbsOpIG5lYm8gdsWhZWNobnkgb2Rkw61seVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYwCittc2dpZCAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIGRlbGV0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLWQsIC0tZGVsZXRlICAgICAgICAgc21hxb5lIHphZGFuw6kgbmVibyB2xaFlY2hueSBvZGTDrWx5XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjEKK21zZ2lkICIgLXUsIC0tdXBkYXRlICAgICAgICAgdXBkYXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtdSwgLS11cGRhdGUgICAgICAgICBha3R1YWxpenVqZSB6YWRhbsOpIG5lYm8gdsWhZWNobnkgb2Rkw61seVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYyCittc2dpZCAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnNcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICB2eXDDrcWhZSBvZGTDrWx5XG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjMgbWlzYy11dGlscy9sc2Jsay5jOjE2MjMKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorIiAtYiwgLS1ieXRlcyAgICAgICAgICB2ZWxpa29zdGkgdnlwaXN1amUgdsKgYmFqdGVjaCBuYW3DrXN0byBwb2RvYsSbIHZob2Ruw6lcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgcHJvIMSNbG92xJtrYVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY0Cittc2dpZCAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLXNob3dcbiIKK21zZ3N0ciAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIG5lem9icmF6dWplIHrDoWhsYXbDrSB2ZSB2w71waXN1IC0tc2hvd1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY1Cittc2dpZCAiIC1uLCAtLW5yIDxuOm0+ICAgICAgIHNwZWNpZnkgdGhlIHJhbmdlIG9mIHBhcnRpdGlvbnMgKGUuZy4gLS1uciAyOjQpXG4iCittc2dzdHIgIiAtbiwgLS1uciA8bTpuPiAgICAgICB1csSNdWplIHJvenNhaCBvZGTDrWzFryAobmFwxZkuIC0tbnIgMjo0KVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY2Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIgorIiAtbywgLS1vdXRwdXQgPHNlem5hbT5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgdXLEjXVqZSwga3RlcsOpIHbDvXN0dXBuw60gc2xvdXBjZSBzZSBwb3XFvmlqw61cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NyBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNworbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtUCwgLS1wYWlycyAgICAgICAgICB2w71zdHVwIHZlIGZvcm3DoXR1IGtsw63EjT1cImhvZG5vdGFcIlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY4IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM4Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgbmVmb3Jtw6F0b3ZhbsO9IHbDvXN0dXBcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICBzcGVjaWZ5IHRoZSBwYXJ0aXRpb24gdHlwZSAoZG9zLCBic2QsIHNvbGFyaXMsIGV0Yy4pXG4iCittc2dzdHIgIiAtdCwgLS10eXBlIDxkcnVoPiAgICB1csSNdWplIGRydWggb2Rkw61sdSAoZG9zLCBic2QsIHNvbGFyaXMsIGF0ZC4pXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzAgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgcG9kcm9ibsO9IHJlxb5pbVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Nzc2Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93LCAtLXJhdyBvciAtLXBhaXJzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkRvc3R1cG7DqSBzbG91cGNlIChwcm8gcMWZZXDDrW5hxI1lIC0tc2hvdywgLS1yYXcgbmVibyAtLXBhaXJzKTpcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg0OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLW5yIDxNLU4+IHJhbmdlIgorbXNnc3RyICJyb3pzYWggLS1uciA8TeKAk04+IHNlIG5lcG9kYcWZaWxvIHJvemVicmF0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTI0Cittc2dpZCAicGFydGl0aW9uIGFuZCBkaXNrIG5hbWUgZG8gbm90IG1hdGNoIgorbXNnc3RyICJ0YWJ1bGthIHJvemTEm2xlbsOtIGRpc2t1IGEgbsOhemV2IGRpc2t1IHNpIG5lb2Rwb3bDrWRhasOtIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTUyCittc2dpZCAiLS1uciBhbmQgPHBhcnRpdGlvbj4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiYXJndW1lbnR5IC0tbnIgYSBPRETDjUwgc2UgdnrDoWplbW7EmyB2eWx1xI11asOtIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTcxCisjLCBjLWZvcm1hdAorbXNnaWQgInBhcnRpdGlvbjogJXMsIGRpc2s6ICVzLCBsb3dlcjogJWQsIHVwcGVyOiAlZFxuIgorbXNnc3RyICJvZGTDrWw6ICVzLCBkaXNrICVzLCBkb2xuw606ICVkOiBob3Juw606ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBkZWxldGUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6IG9kZMOtbHkgbmVsemUgc21hemF0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb25lZCBsb29wIGRldmljZXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiVzOiB6YcWZw616ZW7DrSBsb29wIHJvemTEm2xlbsOhIG5hIG9kZMOtbHkgbmVqc291IHBvZHBvcm92w6FuYSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIHByb2JlciIKK21zZ3N0ciAiJXM6IG5lcG9kYcWZaWxvIGluaWNpYWxpem92YXQgc29uZHUgYmxraWQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzICUyJHNyYXdOIDxtYWpvcj4gPG1pbm9yPlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPGJsb2NrZGV2aWNlPlxuIgorIiAlMSRzIC1xICUyJHNyYXdOXG4iCisiICUxJHMgLXFhXG4iCittc2dzdHIgIiIKKyIgJTEkcyAlMiRzcmF3TiA8aGxhdm7DrT4gPHZlZGxlasWhw60+XG4iCisiICUxJHMgJTIkc3Jhd04gL2Rldi88Ymxva292w6lfemHFmcOtemVuw60+XG4iCisiICUxJHMgLXEgJTIkc3Jhd05cbiIKKyIgJTEkcyAtcWFcbiIKKworIzogZGlzay11dGlscy9yYXcuYzo1OAorbXNnaWQgIkJpbmQgYSByYXcgY2hhcmFjdGVyIGRldmljZSB0byBhIGJsb2NrIGRldmljZS5cbiIKK21zZ3N0ciAiTmFwb2rDrSBzeXJvdsOpIHpuYWtvdsOpIHphxZnDrXplbsOtIGvCoGJsb2tvdsOpbXUgemHFmcOtemVuw60uXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjEKK21zZ2lkICIgLXEsIC0tcXVlcnkgICAgc2V0IHF1ZXJ5IG1vZGVcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXJ5ICAgIG5hc3RhdsOtIGRvdGF6b3ZhY8OtIHJlxb5pbVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYyCittc2dpZCAiIC1hLCAtLWFsbCAgICAgIHF1ZXJ5IGFsbCByYXcgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgZG90w6HFvmUgc2UgdsWhZWNoIHN5cm92w71jaCB6YcWZw616ZW7DrVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyB0aGUgY29udHJvbCByYXcgZGV2aWNlICh1c2UgcmF3PE4+IHdoZXJlIDxOPiBpcyBncmVhdGVyIHRoYW4gemVybykiCittc2dzdHIgIlphxZnDrXplbsOtIOKAniVz4oCcIGplIMWZw61kaWPDrSBzeXJvdsOpIHphxZnDrXplbsOtIChwb3XFvmlqdGUgcmF3PE4+LCBrZGUgPE4+IGplIHbEm3TFocOtIG5lxb4gbnVsYSkiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgYmxvY2sgZGV2aWNlICclcyciCittc2dzdHIgIkJsb2tvdsOpIHphxZnDrXplbsOtIOKAniVz4oCcIG5lbHplIG5hbMOpenQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiWmHFmcOtemVuw60g4oCeJXPigJwgbmVuw60gYmxva292w71tIHphxZnDrXplbsOtbSIKKworIzogZGlzay11dGlscy9yYXcuYzoxOTMgZGlzay11dGlscy9yYXcuYzoxOTYgc3lzLXV0aWxzL2lwY3JtLmM6MzUxCisjOiBzeXMtdXRpbHMvaXBjcm0uYzozNjQgc3lzLXV0aWxzL2lwY3JtLmM6Mzc3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBzZSBuZXBvZGHFmWlsbyByb3plYnJhdCIKKworIzogZGlzay11dGlscy9yYXcuYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiSGxhdm7DrSBzeXJvdsOpIHphxZnDrXplbsOtIOKAniVz4oCcIG5lbHplIG90ZXbFmcOtdCIKKworIzogZGlzay11dGlscy9yYXcuYzoyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSByYXcgZGV2aWNlICclcyciCittc2dzdHIgIlN5cm92w6kgemHFmcOtemVuw60g4oCeJXPigJwgbmVsemUgbmFsw6l6dCIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmF3IGRldmljZSAnJXMnIGlzIG5vdCBhIGNoYXJhY3RlciBkZXYiCittc2dzdHIgIlN5cm92w6kgemHFmcOtemVuw60g4oCeJXPigJwgbmVuw60gem5ha292w71tIHphxZnDrXplbsOtbSIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgcmF3IGRldiIKK21zZ3N0ciAiWmHFmcOtemVuw60g4oCeJXPigJwgbmVuw60gc3lyb3bDvW0gemHFmcOtemVuw61tIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI0NQorbXNnaWQgIkVycm9yIHF1ZXJ5aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIkNoeWJhIHDFmWkgZG90YXpvdsOhbsOtIHNlIG5hIHN5cm92w6kgemHFmcOtemVuw6kiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjU0IGRpc2stdXRpbHMvcmF3LmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzcmF3JWQ6ICBib3VuZCB0byBtYWpvciAlZCwgbWlub3IgJWRcbiIKK21zZ3N0ciAiJXNyYXclZDogbmFwb2plbm8gbmEgxI3DrXNsYSBobGF2bsOtICVkLCB2ZWRsZWrFocOtICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjY4Cittc2dpZCAiRXJyb3Igc2V0dGluZyByYXcgZGV2aWNlIgorbXNnc3RyICJDaHliYSBwxZlpIG5hc3Rhdm92w6Fuw60gc3lyb3bDqWhvIHphxZnDrXplbsOtIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxOQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiICVzIDxkaXNrb3bDqV96YcWZw616ZW7DrT4gPMSNw61zbG9fb2Rkw61sdT4gPGTDqWxrYT5cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjMKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICLFmGVrbmUgasOhZHJ1IG/CoG5vdsOpIHZlbGlrb3N0aSBvZGTDrWzFry5cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gbnVtYmVyICVzIgorbXNnc3RyICIlczogesOtc2vDoW7DrSB6YcSNw6F0a3Ugb2Rkw61sdSDEjcOtc2xvICVzIHNlbGhhbG8iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwOQorbXNnaWQgImZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uIgorbXNnc3RyICJ6bcSbbml0IHZlbGlrb3N0IG9kZMOtbHUgc2UgbmVwb2RhxZlpbG8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjMxCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG5lc3RlZCBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICJhbG9rYWNlIHZub8WZZW7DqWhvIGtvbnRleHR1IGxpYmZkaXNrdSBzZWxoYWxhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2VlayAlcyIKK21zZ3N0ciAicG9oeWIgdsKgJXMgc2VsaGFsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMwMiBsaWJmZGlzay9zcmMvYnNkLmM6NzIzIGxpYmZkaXNrL3NyYy9ic2QuYzo4OTQKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTYzIHN5cy11dGlscy9od2Nsb2NrLmM6MTY1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSAlcyIKK21zZ3N0ciAiJXMgbmVsemUgemFwc2F0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlMTJzIChvZmZzZXQgJTVqdSwgc2l6ZSAlNWp1KTogJXMiCittc2dzdHIgIiUxMnMgKHBvc3VuICU1anUsIHZlbGlrb3N0ICU1anUpOiAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAiCittc2dzdHIgIiVzOiB6w6Fsb2h1IHNlIG5lcG9kYcWZaWxvIHZ5dHZvxZlpdCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMjgKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIGZpbGUsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAiesOhbG/Fvm7DrSBzb3Vib3Igc2UgbmVwb2RhxZlpbG8gdnl0dm/FmWl0LCAkSE9NRSBuZW7DrSBkZWZpbm92w6FuYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozNTQKK21zZ2lkICJCYWNrdXAgZmlsZXM6IgorbXNnc3RyICJaw6Fsb8W+bsOtIHNvdWJvcnk6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM3OQorbXNnaWQgImZhaWxlZCB0byByZWFkIG5ldyBwYXJ0aXRpb24gZnJvbSBkZXZpY2U7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJuYcSNdGVuw60gdGFidWxreSByb3pkxJtsZW7DrSBkaXNrdSB6ZSB6YcWZw616ZW7DrSBzZWxoYWxvLCAtLW1vdmUtZGF0YSBzZSBpZ25vcnVqZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODEKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJ6w61za8OhbsOtIHZlbGlrb3N0aSBub3bDqWhvIG9kZMOtbHUgc2VsaGFsbywgLS1tb3ZlLWRhdGEgc2UgaWdub3J1amUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgzCittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgInrDrXNrw6Fuw60gemHEjcOhdGt1IG5vdsOpaG8gb2Rkw61sdSBzZWxoYWxvLCAtLW1vdmUtZGF0YSBzZSBpZ25vcnVqZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODUKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJ6w61za8OhbsOtIHZlbGlrb3N0aSBzdGFyw6lobyBvZGTDrWx1IHNlbGhhbG8sIC0tbW92ZS1kYXRhIHNlIGlnbm9yaW5nIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NworbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJ6w61za8OhbsOtIHphxI3DoXRrdSBzdGFyw6lobyBvZGTDrWx1IHNlbGhhbG8sIC0tbW92ZS1kYXRhIHNlIGlnbm9yaW5nIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4OQorbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaGFzIG5vdCBiZWVuIG1vdmVkOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiemHEjcOhdGVrIG9kZMOtbHUgbmVieWwgcMWZZXN1bnV0LCAtLW1vdmUtZGF0ZSBzZSBpZ25vcnVqZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTEKK21zZ2lkICJuZXcgcGFydGl0aW9uIGlzIHNtYWxsZXIgdGhhbiBvcmlnaW5hbDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIm5vdsO9IG9kZMOtbCBqZSBtZW7FocOtIG5lxb4gcMWvdm9kbsOtLCAtLW1vdmUtZGF0YSBzZSBpZ25vcnVqZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDEKK21zZ2lkICJEYXRhIG1vdmU6IgorbXNnc3RyICJQxZllc3VuIGRhdGE6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0MworIywgYy1mb3JtYXQKK21zZ2lkICIgdHlwZXNjcmlwdCBmaWxlOiAlcyIKK21zZ3N0ciAiIHNvdWJvciBzZSB6w6F6bmFtZW06ICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICIgb2xkIHN0YXJ0OiAlanUsIG5ldyBzdGFydDogJWp1IChtb3ZlICVqdSBzZWN0b3JzKVxuIgorbXNnc3RyICIgc3RhcsO9IHphxI3DoXRlazogJWp1LCBub3bDvSB6YcSNw6F0ZWs6ICVqdSAocMWZZXN1bmUgc2UgJWp1IHNla3RvcsWvKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1MQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIG1vdmUgcGFydGl0aW9uIGRhdGE/IgorbXNnc3RyICJDaGNldGUgcMWZZXN1bm91dCBkYXRhIG9kZMOtbHU/IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1MyBkaXNrLXV0aWxzL3NmZGlzay5jOjE3ODMKK21zZ2lkICJMZWF2aW5nLiIKK21zZ3N0ciAiT3BvdcWhdMOtIHNlLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBtb3ZlIGRhdGEiCittc2dzdHIgIiVzOiBwxZllc3VuIGRhdCBzZWxoYWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQxCittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBpcyB1bmNoYW5nZWQgKC0tbm8tYWN0KS4iCittc2dzdHIgIlRhYnVsa2Egcm96ZMSbbGVuw60gZGlza3UgamUgbmV6bcSbbsSbbmEgKC0tbm8tYWN0KS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQ3Cittc2dpZCAiIgorIlxuIgorIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIiIKKyJcbiIKKyJUYWJ1bGthIHJvemTEm2xlbsOtIGRpc2t1IGJ5bGEgem3Em27Em25hLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbGFiZWwgJyVzJyIKK21zZ3N0ciAibmVwb2Rwb3JvdmFuw70gcG9waXMg4oCeJXPigJwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjI2Cittc2dpZCAiIgorIklkICBOYW1lXG4iCisiXG4iCittc2dzdHIgIiIKKyJJZCAgTsOhemV2XG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjU2Cittc2dpZCAidW5yZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorbXNnc3RyICJuZXJvenBvem5hbsO9IHR5cCB0YWJ1bGt5IHJvemTEm2xlbsOtIGRpc2t1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjcwOQorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgIk5lbHplIHpqaXN0aXQgdmVsaWtvc3QgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInRvdGFsOiAlanUgYmxvY2tzXG4iCittc2dzdHIgImNlbGtvdsO9IHBvxI1ldCBibG9rxa86ICUnanVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MDggZGlzay11dGlscy9zZmRpc2suYzo4NzYgZGlzay11dGlscy9zZmRpc2suYzo5MTcKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTQ3IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxNCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNzgKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzMyBkaXNrLXV0aWxzL3NmZGlzay5jOjExODkgZGlzay11dGlscy9zZmRpc2suYzoxNTMzCittc2dpZCAibm8gZGlzayBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICLFvsOhZG7DqSBkaXNrb3bDqSB6YcWZw616ZW7DrSBuZWJ5bG8gemFkw6FubyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MTkKK21zZ2lkICJ0b2dnbGUgYm9vdCBmbGFncyBpcyBzdXBwb3J0ZWQgZm9yIE1CUiBvbmx5IgorbXNnc3RyICJwxZllcMOtbsOhbsOtIHDFmcOtem5ha3UgemF2ZWRpdGVsbm9zdGkgamUgcG9kcG9yb3bDoW5vIGplbiBuYSBNQlIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODUwIGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxOQorIzogZGlzay11dGlscy9zZmRpc2suYzoxMDgzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzOCBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTQKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUzMSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMTMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAicm96Ym9yIMSNw61zbGEgb2Rkw61sdSBzZWxoYWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJWQ6IGZhaWxlZCB0byB0b2dnbGUgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiJXM6IG9kZMOtbCAlZDogcMWZZXBudXTDrSBwxZnDrXpuYWt1IHphdmVkaXRlbG5vc3RpIHNlbGhhbG8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODkxIGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZGVsZXRlIgorbXNnc3RyICIlczogb2Rkw61sICV6dTogb2RzdHJhxYhvdsOhbsOtIHNlbGhhbG8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJaYcWZw616ZW7DrSBuZW9ic2FodWplIHpuw6Ftb3UgdGFidWxrdSByb3pkxJtsZW7DrSBkaXNrdS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTU4Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGR1bXAgc3RydWN0IgorbXNnc3RyICJhbG9rYWNlIGV4cG9ydG7DrSBzdHJ1a3R1cnkgc2VsaGFsYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZHVtcCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3Ugc2UgbmVwb2RhxZlpbG8gdnlleHBvcnRvdmF0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uIHRhYmxlIGZvdW5kIgorbXNnc3RyICIlczogbmFsZXplbmEgxb7DoWRuw6EgdGFidWxrYSByb3pkxJtsZW7DrSBkaXNrdSIKKworIyBUT0RPOiBQbHVyYWxpemUKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6IG9kZMOtbCAlenU6IHRhYnVsa2Egcm96ZMSbbGVuw60gZGlza3Ugb2JzYWh1amUgamVuICV6dSBvZGTDrWzFryIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiBpcyB1bnVzZWQiCittc2dzdHIgIiVzOiBvZGTDrWwgJXp1OiBvZGTDrWwgbmVuw60gbmV2eXXFvml0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTggZGlzay11dGlscy9zZmRpc2suYzoxMDgyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzNworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTkzCittc2dpZCAibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiCittc2dzdHIgIsW+w6FkbsOpIMSNw61zbG8gb2Rkw61sdSBuZWJ5bG8gemFkw6FubyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4OCBkaXNrLXV0aWxzL3NmZGlzay5jOjExNDMKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5OQorbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnRzIgorbXNnc3RyICJuZW/EjWVrw6F2YW7DqSBhcmd1bWVudHkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiJXM6IG9kZMOtbCAlenU6IHrDrXNrw6Fuw60gdHlwdSBvZGTDrWx1IHNlbGhhbG8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA1OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgcGFydGl0aW9uIHR5cGUgJyVzJyIKK21zZ3N0ciAibmV6ZGHFmWlsbyBzZSByb3plYnJhdCB0eXAgb2Rkw61sdSAlcyDigJ4lc+KAnCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlczogb2Rkw61sICV6dTogbmFzdGF2ZW7DrSB0eXB1IG9kZMOtbHUgc2VsaGFsbyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIlczogb2Rkw61sICV6dTogbmVwb2RhxZlpbG8gc2UgesOtc2thdCBVVUlEIG9kZMOtbHUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTExMyBkaXNrLXV0aWxzL3NmZGlzay5jOjExNjggZGlzay11dGlscy9zZmRpc2suYzoxMjIyCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBvYmplY3QiCittc2dzdHIgImFsb2thY2Ugb2JqZWt0dSBvZGTDrWx1IHNlbGhhbGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTExNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiJXM6IG9kZMOtbCAlenU6IG5lcG9kYcWZaWxvIHNlIG5hc3Rhdml0IFVVSUQgb2Rkw61sdSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlczogb2Rkw61sICV6dTogbmVwb2RhxZlpbG8gc2UgesOtc2thdCBuw6F6ZXYgb2Rkw61sdSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlczogb2Rkw61sICV6dTogbmVwb2RhxZlpbG8gc2UgbmFzdGF2aXQgbsOhemV2IG9kZMOtbHUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gYXR0cmlidXRlcyIKK21zZ3N0ciAiJXM6IG9kZMOtbCAlenU6IG5lcG9kYcWZaWxvIHNlIG5hc3Rhdml0IGF0cmlidXR5IG9kZMOtbHUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI2OQorbXNnaWQgIiBDb21tYW5kczpcbiIKK21zZ3N0ciAiIFDFmcOta2F6eTpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjcxCittc2dpZCAiICAgd3JpdGUgICAgd3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdFxuIgorbXNnc3RyICIgICB3cml0ZSAgICB1bG/FvsOtIHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3UgYSBza29uxI3DrVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzIKK21zZ2lkICIgICBxdWl0ICAgICBzaG93IG5ldyBzaXR1YXRpb24gYW5kIHdhaXQgZm9yIHVzZXIncyBmZWVkYmFjayBiZWZvcmUgd3JpdGVcbiIKK21zZ3N0ciAiICAgcXVpdCAgICAgem9icmF6w60gbm92b3Ugc2l0dWFjaSBhIHDFmWVkIHrDoXBpc2VtIHBvxI1rw6EgbmEgcG90dnJ6ZW7DrSB1xb5pdmF0ZWxlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3MworbXNnaWQgIiAgIGFib3J0ICAgIGV4aXQgc2ZkaXNrIHNoZWxsXG4iCittc2dzdHIgIiAgIGFib3J0ICAgIHVrb27EjcOtIHDFmcOta2F6b3bDqSBwcm9zdMWZZWTDrSBzZmRpc2t1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3NAorbXNnaWQgIiAgIHByaW50ICAgIGRpc3BsYXkgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgICBwcmludCAgICB6b2JyYXrDrSB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2t1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3NQorbXNnaWQgIiAgIGhlbHAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKK21zZ3N0ciAiICAgaGVscCAgICAgem9icmF6w60gdHV0byBuw6Fwb3bEm2R1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3NworbXNnaWQgIiAgIEN0cmwtRCAgIHRoZSBzYW1lIGFzICdxdWl0J1xuIgorbXNnc3RyICIgICBDdHJsLUQgICBzdGVqbsOpIGpha28gcMWZw61rYXog4oCecXVpdOKAnFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODEKK21zZ2lkICIgSW5wdXQgZm9ybWF0OlxuIgorbXNnc3RyICIgRm9ybcOhdCB2c3R1cHU6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MworbXNnaWQgIiAgIDxzdGFydD4sIDxzaXplPiwgPHR5cGU+LCA8Ym9vdGFibGU+XG4iCittc2dzdHIgIiAgIDx6YcSNw6F0ZWs+LCA8dmVsaWtvc3Q+LCA8dHlwPiwgPHphdmVkaXRlbG7DvT5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjg2Cittc2dpZCAiIgorIiAgIDxzdGFydD4gIEJlZ2lubmluZyBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyB0aGUgZmlyc3QgZnJlZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorIiAgIDx6YcSNw6F0ZWs+ICAgICAgWmHEjcOhdGVrIG9kZMOtbHUgdsKgc2VrdG9yZWNoLiBKZS1saSB6YWTDoW4gdmUgdHZhcnVcbiIKKyIgICAgICAgICAgICAgICAgICA8xI3DrXNsbz57SyxNLEcsVCxQLEUsWixZfSwgcGFrIHNlIGplZG7DoSBvwqBiYWp0eS4gVsO9Y2hvesOtXG4iCisiICAgICAgICAgICAgICAgICAgamUgcHJ2bsOtIHZvbG7DqSBtw61zdG8uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MQorbXNnaWQgIiIKKyIgICA8c2l6ZT4gICBTaXplIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIGFsbCBhdmFpbGFibGUgc3BhY2UuXG4iCittc2dzdHIgIiIKKyIgICA8dmVsaWtvc3Q+ICAgICBWZWxpa29zdCBvZGTDrWx1IHbCoHNla3RvcmVjaC4gSmUtbGkgemFkw6FuYSB2ZSB0dmFydVxuIgorIiAgICAgICAgICAgICAgICAgIDzEjcOtc2xvPntLLE0sRyxULFAsRSxaLFl9LCBwYWsgc2UgamVkbsOhIG/CoGJhanR5LiBWw71jaG96w61cbiIKKyIgICAgICAgICAgICAgICAgICBqZSB2ZcWha2Vyw6kgZG9zdHVwbsOpIG3DrXN0by5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk2Cittc2dpZCAiICAgPHR5cGU+ICAgVGhlIHBhcnRpdGlvbiB0eXBlLiAgRGVmYXVsdCBpcyBhIExpbnV4IGRhdGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIgICA8dHlwPiAgICBEcnVoIG9kZMOtbHUuIFbDvWNob3rDrSBqZSBsaW51eG92w70gZGF0b3bDvSBvZGTDrWwuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NworbXNnaWQgIiAgICAgICAgICAgIE1CUjogaGV4IG9yIEwsUyxFLFggc2hvcnRjdXRzLlxuIgorbXNnc3RyICIgICAgICAgICAgICBNQlI6IMWhZXN0bsOhY3Rrb3bDqSBuZWJvIHprcmF0a3kgTCwgUywgRSwgWC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk4Cittc2dpZCAiICAgICAgICAgICAgR1BUOiBVVUlEIG9yIEwsUyxIIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiICAgICAgICAgICAgR1BUOiBVVUlEIG5lYm8gemtyYXRreSBMLCBTLCBILlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDEKK21zZ2lkICIgICA8Ym9vdGFibGU+ICBVc2UgJyonIHRvIG1hcmsgYW4gTUJSIHBhcnRpdGlvbiBhcyBib290YWJsZS5cbiIKK21zZ3N0ciAiICAgPHphdmVkaXRlbG7DvT4gIE96bmHEjXRlIHBvbW9jw60g4oCeKuKAnCBNQlLigK9vZGTDrWwgamFrbyB6YXZlZGl0ZWxuw70uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNQorbXNnaWQgIiBFeGFtcGxlOlxuIgorbXNnc3RyICIgUMWZw61rbGFkOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDcKK21zZ2lkICIgICAsIDRHICAgICBDcmVhdGVzIGEgNEdpQiBwYXJ0aXRpb24gYXQgZGVmYXVsdCBzdGFydCBvZmZzZXQuXG4iCittc2dzdHIgIiAgICwgNEcgICAgIFZ5dHZvxZnDrSA0R2lCIG9kZMOtbCBuYSB2w71jaG96w60gcG/EjcOhdGXEjW7DrSBwb3ppY2kuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMzOSBzeXMtdXRpbHMvZG1lc2cuYzoxNDU1Cittc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAibmVwb2Rwb3JvdmFuw70gcMWZw61rYXoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICLFmcOhZGVrICVkOiBuZXBvZHBvcm92YW7DvSBwxZnDrWtheiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTAwCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJuw6F6ZXYgb2Rkw61sdSBzZSBuZXBvZGHFmWlsbyBhbG9rb3ZhdCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTQxCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICJhbG9rYWNlIG9ic2x1aHkgc2tyaXB0dSBzZWxoYWxhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBubyBwYXJ0aXRpb24gdGFibGUgd2FzIGZvdW5kIgorbXNnc3RyICIlczogb2Rkw61sICVkIG5lbHplIHptxJtuaXQ6IMW+w6FkbsOhIHRhYnVsa2Egcm96ZMSbbGVuw60gZGlza3UgbmVieWwgbmFsZXplbmEiCisKKyMgVE9PRDogcGx1cmFsaXplCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6IG9kZMOtbCAlZCBuZWx6ZSB6bcSbbml0OiB0YWJ1bGthIHJvemTEm2xlbsOtIGRpc2t1IG9ic2FodWplIHBvdXplICV6dSBvZGTDrWzFryIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzOiBwYXJ0aXRpb24gJWQgaXMgbm90IGRlZmluZWQgeWV0IgorbXNnc3RyICJwb3pvcjogJXM6IG9kZMOtbCAlZCBuZW7DrSBqZcWhdMSbIGRlZmlub3bDoW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiV2VsY29tZSB0byBzZmRpc2sgKCVzKS4iCittc2dzdHIgIiIKKyJcbiIKKyJWw610ZWp0ZSB2wqBzZmRpc2t1ICglcykuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTQKK21zZ2lkICJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIKK21zZ3N0ciAiT3bEm8WZdWplIHNlLCB6ZGEgdGVudG8gZGlzayBuZW7DrSBwcsOhdsSbIHBvdcW+w612w6Fu4oCmIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTcKK21zZ2lkICIiCisiIEZBSUxFRFxuIgorIlxuIgorbXNnc3RyICIiCisiIFNFTEhBTE9cbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjAwCittc2dpZCAiIgorIlRoaXMgZGlzayBpcyBjdXJyZW50bHkgaW4gdXNlIC0gcmVwYXJ0aXRpb25pbmcgaXMgcHJvYmFibHkgYSBiYWQgaWRlYS5cbiIKKyJVbW91bnQgYWxsIGZpbGUgc3lzdGVtcywgYW5kIHN3YXBvZmYgYWxsIHN3YXAgcGFydGl0aW9ucyBvbiB0aGlzIGRpc2suXG4iCisiVXNlIHRoZSAtLW5vLXJlcmVhZCBmbGFnIHRvIHN1cHByZXNzIHRoaXMgY2hlY2suXG4iCittc2dzdHIgIiIKKyJUZW50byBkaXNrIGplIHByw6F2xJsgcG91xb7DrXbDoW4gLSB2eXR2w6HFmWVuw60gb2Rkw61sxa8gbmVuw60gZG9icsO9bVxuIgorIm7DoXBhZGVtLiBPZHBvanRlIHbFoWVjaG55IHN5c3TDqW15IHNvdWJvcsWvIGEgcG9tb2PDrSBzd2Fwb2ZmIGRlYWt0aXZ1anRlXG4iCisidsWhZWNobnkgb2RrbMOhZGFjw60gcHJvc3RvcnkgbmEgdG9tdG8gZGlza3UuIEsgcG90bGHEjWVuw60gdMOpdG8ga29udHJvbHkgbcWvxb5ldGVcbiIKKyJwb3XFvsOtdCBwxZllcMOtbmHEjSAtLW5vLXJlcmVhZC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjA1Cittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIGZsYWcgdG8gb3ZlcnJ1bGUgYWxsIGNoZWNrcy4iCittc2dzdHIgIlBvdcW+aWp0ZSBwxZllcMOtbmHEjSAtLWZvcmNlIGsgcG90bGHEjWVuw60gdmXFoWtlcsO9Y2gga29udHJvbC4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNworbXNnaWQgIiIKKyIgT0tcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiBPS1xuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzYKK21zZ2lkICIiCisiXG4iCisiT2xkIHNpdHVhdGlvbjoiCittc2dzdHIgIiIKKyJcbiIKKyJTdGFyw6Egc2l0dWFjZToiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY1NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisic2ZkaXNrIGlzIGdvaW5nIHRvIGNyZWF0ZSBhIG5ldyAnJXMnIGRpc2sgbGFiZWwuXG4iCisiVXNlICdsYWJlbDogPG5hbWU+JyBiZWZvcmUgeW91IGRlZmluZSBhIGZpcnN0IHBhcnRpdGlvblxuIgorInRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0LiIKK21zZ3N0ciAiIgorIlxuIgorInNmZGlzayBob2Rsw6Egdnl0dm/FmWl0IG5vdsO9IOKAniVz4oCcIHBvcGlzIGRpc2t1LlxuIgorIkTFmcOtdmUgbmXFviB2eXR2b8WZw610ZSBwcnZuw60gb2Rkw61sLCBtxa/FvmV0ZSB2w71jaG96w60gaG9kbm90dSB6bcSbbml0IHBvbW9jw61cbiIKKyLigJ5sYWJlbDogPG7DoXpldj7igJwuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NTcKK21zZ2lkICIiCisiXG4iCisiVHlwZSAnaGVscCcgdG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKyJcbiIKKyJWw61jZSBpbmZvcm1hY8OtIHrDrXNrw6F0ZSBuYXBzw6Fuw61tIOKAnmhlbHDigJwuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY3NQorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIHVzZWQuIgorbXNnc3RyICJWxaFlY2hueSBvZGTDrWx5IGpzb3UgcG91xb5pdHkuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MDMKKyMsIGZ1enp5Cittc2dpZCAiRG9uZS5cbiIKK21zZ3N0ciAiSG90b3ZvLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzE1Cittc2dpZCAiSWdub3JpbmcgcGFydGl0aW9uLiIKK21zZ3N0ciAiT2Rkw61sIHNlIGlnbm9ydWplLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzI0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCBoZWFkZXJzLCBkaXNrIGxhYmVsIG5vdCBjcmVhdGVkLiIKK21zZ3N0ciAiSGxhdmnEjWt5IHNrcmlwdHUgbmUgbmVwb2RhxZlpbG8gcG91xb7DrXQuIFBvcGlzIGRpc2t1IG5lYnlsIG5ldnl0dm/FmWVuLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkICMlZCBwYXJ0aXRpb24iCittc2dzdHIgIk9kZMOtbCBzZSBuZXBvZGHFmWlsbyBwxZlpZGF0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NjMKK21zZ2lkICJTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLiIKK21zZ3N0ciAiSGxhdmnEjWthIHNrcmlwdHUgcMWZaWphdGEuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NzIKK21zZ2lkICIiCisiXG4iCisiTmV3IHNpdHVhdGlvbjoiCittc2dzdHIgIiIKKyJcbiIKKyJOb3bDoSBzaXR1YWNlOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzgxCittc2dpZCAiRG8geW91IHdhbnQgdG8gd3JpdGUgdGhpcyB0byBkaXNrPyIKK21zZ3N0ciAiVWxvxb5pdCB0b3RvIG5hIGRpc2s/IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3OTMKK21zZ2lkICJMZWF2aW5nLlxuIgorbXNnc3RyICJPcG91xaF0w60gc2UuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXY+IFtbLU5dIDxwYXJ0Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbcMWZZXDDrW5hxI1lXSA8emHFmcOtemVuw60+IFtbLU5dIDxvZGTDrWw+XG4iCisiICUxJHMgW3DFmWVww61uYcSNZV0gPHDFmcOta2F6PlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTIKK21zZ2lkICIiCisiXG4iCisiQ29tbWFuZHM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJQxZnDrWthenk6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMworbXNnaWQgIiAtQSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gbGlzdCBvciBzZXQgYm9vdGFibGUgTUJSIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIgorIiAtQSwgLS1hY3RpdmF0ZSA8emHFmcOtemVuw60+IFs8b2Rkw61sPiDigKZdXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2eXDDrcWhZSBuZWJvIG5hc3RhdsOtIHphdmVkaXRlbG7DqSBvZGTDrWx5IE1CUlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTQKK21zZ2lkICIgLWQsIC0tZHVtcCA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlICh1c2FibGUgZm9yIGxhdGVyIGlucHV0KVxuIgorbXNnc3RyICIiCisiIC1kLCAtLWR1bXAgPHphxZnDrXplbsOtPiAgICAgICAgICAgICBleHBvcnR1amUgdGFidWxrdSByb3pkxJtsZW7DrSBkaXNrdVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBvdcW+aXRlbG7DqSBwb3pkxJtqaSBqYWtvIHZzdHVwKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTUKK21zZ2lkICIgLUosIC0tanNvbiA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlIGluIEpTT04gZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uIDx6YcWZw616ZW7DrT4gICAgICAgICAgICAgZXhwb3J0dWplIHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3UgdsKgSlNPTnVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE2Cittc2dpZCAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxkZXY+IC4uLl0gICBsaXN0IGdlb21ldHJ5IG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIiCisiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzx6YcWZw616ZW7DrT4g4oCmXVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnlww63FoWUgZ2VvbWV0cmlpIHbFoWVjaCBuZWJvIHphZGFuw71jaCB6YcWZw616ZW7DrVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTcKK21zZ2lkICIgLWwsIC0tbGlzdCBbPGRldj4gLi4uXSAgICAgICAgICAgIGxpc3QgcGFydGl0aW9ucyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCBbPHphxZnDrXplbsOtPiDigKZdICAgICAgICAgdnlww63FoWUgb2Rkw61seSBuYSBrYcW+ZMOpbSB6YcWZw616ZW7DrVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTgKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLWxpc3QtZnJlZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHVucGFydGl0aW9uZWQgZnJlZSBhcmVhcyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgLUYsIC0tbGlzdC1mcmVlIFs8emHFmcOtemVuw60+IOKApl0gICAgdnlww63FoWUgdm9sbsOpIG9ibGFzdGkgbmEga2HFvmTDqW0gemHFmcOtemVuw61cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE5Cittc2dpZCAiIC1yLCAtLXJlb3JkZXIgPGRldj4gICAgICAgICAgICAgICBmaXggcGFydGl0aW9ucyBvcmRlciAoYnkgc3RhcnQgb2Zmc2V0KVxuIgorbXNnc3RyICIgLXIsIC0tcmVvcmRlciA8emHFmcOtemVuw60+ICAgICAgICAgIG9wcmF2w60gxZlhemVuw60gb2Rkw61sxa8gKHBvZGxlIHBvemljZSB6YcSNw6F0a3UpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMAorbXNnaWQgIiAtcywgLS1zaG93LXNpemUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCBzaXplcyBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIgorIiAtcywgLS1zaG93LXNpemUgWzx6YcWZw616ZW7DrT4g4oCmXSAgICB2eXDDrcWhZSB2ZWxpa29zdGkgdsWhZWNoIG5lYm8gemFkYW7DvWNoXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6YcWZw616ZW7DrVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjEKK21zZ2lkICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByZWNvZ25pemVkIHR5cGVzIChzZWUgLVgpXG4iCittc2dzdHIgIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgICAgICAgICAgdnlww63FoWUgem7DoW3DqSB0eXB5ICh2aXp0ZSAtWClcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIyCittc2dpZCAiIC1WLCAtLXZlcmlmeSBbPGRldj4gLi4uXSAgICAgICAgICB0ZXN0IHdoZXRoZXIgcGFydGl0aW9ucyBzZWVtIGNvcnJlY3RcbiIKK21zZ3N0ciAiIC1WLCAtLXZlcmlmeSBbPHphxZnDrXplbsOtPiDigKZdICAgICAgIHprb250cm9sdWplLCB6ZGEgb2Rkw61seSB2eXBhZGFqw60gdsKgcG/FmcOhZGt1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMworbXNnaWQgIiAgICAgLS1kZWxldGUgPGRldj4gWzxwYXJ0PiAuLi5dICAgZGVsZXRlIGFsbCBvciBzcGVjaWZpZWQgcGFydGl0aW9uc1xuIgorbXNnc3RyICIiCisiICAgICAtLWRlbGV0ZSA8emHFmcOtemVuw60+IFs8b2Rkw61sPiDigKZdXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbWHFvmUgdsWhZWNobnkgbmVibyB1dmVkZW7DqSBvZGTDrWx5XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNgorbXNnaWQgIiAtLXBhcnQtbGFiZWwgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBsYWJlbFxuIgorbXNnc3RyICIiCisiIC0tcGFydC1sYWJlbCA8emHFmcOtemVuw60+IDxvZGTDrWw+IFs8xZlldMSbemVjPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnlww63FoWUgbmVibyB6bcSbbsOtIG7DoXpldiBvZGTDrWx1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNworbXNnaWQgIiAtLXBhcnQtdHlwZSA8ZGV2PiA8cGFydD4gWzx0eXBlPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiIKKyIgLS1wYXJ0LXR5cGUgPHphxZnDrXplbsOtPiA8b2Rkw61sPiBbPHR5cD5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZ5cMOtxaFlIG5lYm8gem3Em27DrSB0eXAgb2Rkw61sdVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjgKK21zZ2lkICIgLS1wYXJ0LXV1aWQgPGRldj4gPHBhcnQ+IFs8dXVpZD5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdXVpZFxuIgorbXNnc3RyICIiCisiIC0tcGFydC11dWlkIDx6YcWZw616ZW7DrT4gPG9kZMOtbD4gWzxVVUlEPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnlww63FoWUgbmVibyB6bcSbbsOtIFVVSUQgb2Rkw61sdVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjkKK21zZ2lkICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gYXR0cmlidXRlc1xuIgorbXNnc3RyICIiCisiIC0tcGFydC1hdHRycyA8emHFmcOtemVuw60+IDxvZGTDrWw+IFs8xZlldMSbemVjPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnlww63FoWUgbmVibyB6bcSbbsOtIGF0cmlidXR5IG9kZMOtbHVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODMyCittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgZGV2aWNlICh1c3VhbGx5IGRpc2spIHBhdGhcbiIKK21zZ3N0ciAiIDx6YcWZw616ZW7DrT4gICAgICAgICAgICAgICAgY2VzdGEga8KgemHFmcOtemVuw60gKG9idnlrbGUga8KgZGlza3UpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzMworbXNnaWQgIiA8cGFydD4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiIDxvZGTDrWw+ICAgICAgICAgICAgICAgICAgIMSNw61zbG8gb2Rkw61sdVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzQKK21zZ2lkICIgPHR5cGU+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gdHlwZSwgR1VJRCBmb3IgR1BULCBoZXggZm9yIE1CUlxuIgorbXNnc3RyICIiCisiIDx0eXBvPiAgICAgICAgICAgICAgICAgICAgdHlwIG9kZMOtbHUsIEdVSUQgcHJvIEdQVCwgxaFlc3Ruw6FjdGtvdsOpIMSNw61zbG9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm8gTUJSXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzNworbXNnaWQgIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgIGFwcGVuZCBwYXJ0aXRpb25zIHRvIGV4aXN0aW5nIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICBwxZlpcG9qw60gb2Rkw61seSBrwqBleGlzdHVqw61jw60gdGFidWxjZSByb3pkxJtsZW7DrSBkaXNrdVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzgKK21zZ2lkICIgLWIsIC0tYmFja3VwICAgICAgICAgICAgICBiYWNrdXAgcGFydGl0aW9uIHRhYmxlIHNlY3RvcnMgKHNlZSAtTylcbiIKK21zZ3N0ciAiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAgc2VrdG9yeSB6w6Fsb8W+bsOtIHRhYnVsa3kgcm96ZMSbbGVuw60gZGlza3UgKHZpemUgLU8pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzOQorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKyIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICB2ZWxpa29zdGkgdnlwaXN1amUgdsKgYmFqdGVjaCBuYW3DrXN0byBwb2RvYsSbIHZob2Ruw6lcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm8gxI1sb3bEm2thXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MAorbXNnaWQgIiAgICAgLS1tb3ZlLWRhdGFbPTx0eXBlc2NyaXB0Pl0gbW92ZSBwYXJ0aXRpb24gZGF0YSBhZnRlciByZWxvY2F0aW9uIChyZXF1aXJlcyAtTilcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1tb3ZlLWRhdGFbPTxzb3Vib3Igc2UgesOhem5hbWVtPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvIHJlYWxva2FjaSBwxZllc3VuZSBkYXRhIG9kZMOtbHUgKHZ5xb5hZHVqZSAtTilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQxCittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgdnlwbmUgdmXFoWtlcsOpIGtvbnRyb2x5IHNvdWRyxb5ub3N0aVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDIKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAgICAtLWNvbG9yWz08a2R5Pl0gICAgICAgb2JhcnbDrSB2w71zdHVwIChhdXRvLCBhbHdheXMgW3bFvmR5XSwgbmV2ZXIgW25pa2R5XSlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ1Cittc2dpZCAiIC1OLCAtLXBhcnRubyA8bnVtPiAgICAgICAgc3BlY2lmeSBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiAtTiwgLS1wYXJ0bm8gPMSNw61zbG8+ICAgICAgdXLEjXVqZSDEjcOtc2xvIG9kZMOtbHVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ2Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgd3JpdGUgdG8gZGV2aWNlXG4iCittc2dzdHIgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIHVkxJtsw6EgdsWhZSBrcm9txJsgesOhcGlzdSBkbyB6YcWZw616ZW7DrVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDcKK21zZ2lkICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIGlzIGluIHVzZVxuIgorbXNnc3RyICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBuZWtvbnRyb2x1amUsIHpkYS1saSBzZSB6YcWZw616ZW7DrSBwb3XFvsOtdsOhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm8tdGVsbC1rZXJuZWwgICAgICBkbyBub3QgdGVsbCBrZXJuZWwgYWJvdXQgY2hhbmdlc1xuIgorbXNnc3RyICIgICAgLS1ub3RydW5jYXRlICAgICAgICAgIG5lemtyYWN1amUgdsO9c3R1cFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDkKK21zZ2lkICIgLU8sIC0tYmFja3VwLWZpbGUgPHBhdGg+ICBvdmVycmlkZSBkZWZhdWx0IGJhY2t1cCBmaWxlIG5hbWVcbiIKK21zZ3N0ciAiIC1PLCAtLWJhY2t1cC1maWxlIDxjZXN0YT4gcMWZZWJpamUgdsO9Y2hvesOtIG7DoXpldiB6w6Fsb8W+bsOtaG8gc291Ym9ydVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTAKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxzZXpuYW0+ICAgICB6b2JyYXrDrSB6YWRhbsOpIHNsb3VwY2VcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUxCittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcHJlc3MgZXh0cmEgaW5mbyBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBwb3RsYcSNw60gaW5mb3JtYcSNbsOtIGhsw6HFoWt5XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MgorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLXcsIC0td2lwZSA8a2R5PiAgICAgICAgICB2eW1hxb5lIHZ6b3JjZSAoYXV0bywgYWx3YXlzIFt2xb5keV0sIG5ldmVyIFtuaWtkeV0pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NAorbXNnaWQgIiAtWCwgLS1sYWJlbCA8bmFtZT4gICAgICAgIHNwZWNpZnkgbGFiZWwgdHlwZSAoZG9zLCBncHQsIC4uLilcbiIKK21zZ3N0ciAiIC1YLCAtLWxhYmVsIDxuw6F6ZXY+ICAgICAgIHVyxI11amUgbsOhemV2IHR5cHUgKGRvcywgZ3B0LCDigKYpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NQorbXNnaWQgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPG5hbWU+IHNwZWNpZnkgbmVzdGVkIGxhYmVsIHR5cGUgKGRvcywgYnNkKVxuIgorbXNnc3RyICIiCisiIC1ZLCAtLWxhYmVsLW5lc3RlZCA8bsOhemV2PlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIHVyxI11amUgdHlwIHZub8WZZW7DqWhvIHBvcGlzdSAoZG9zLCBic2QpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NworbXNnaWQgIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIGRlcHJlY2F0ZWQsIGFsaWFzIHRvIC0tc2hvdy1nZW9tZXRyeVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OAorbXNnaWQgIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiIKK21zZ3N0ciAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgemFzdGFyYWzDqSwgcG91emUgcHJvIHpwxJt0bm91IGtvbXBhdGliaWxpdHVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU5Cittc2dpZCAiIC11LCAtLXVuaXQgUyAgICAgICAgICAgICAgZGVwcmVjYXRlZCwgb25seSBzZWN0b3IgdW5pdCBpcyBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiIC11LCAtLXVuaXQgUyAgICAgICAgICAgICAgemFzdGFyYWzDqSwgcG9kcG9yb3ZhbsOpIGplZG5vdGt5IGpzb3UgcG91emUgc2VrdG9yeVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjMgbG9naW4tdXRpbHMvY2hmbi5jOjEwMiBsb2dpbi11dGlscy9jaHNoLmM6NzkKK21zZ2lkICIgLXYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC12LCAtLXZlcnNpb24gIHZ5cMOtxaFlIMO6ZGFqZSBvwqB2ZXJ6aSBhIHNrb27EjcOtXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiJXMgYnlsIG5haHJhemVuIHDFmWVww61uYcSNZW0gLS1wYXJ0LXR5cGUiCisKKyMgRklYTUU6IHMgc2hvdWxkIGJlIGlzCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NzMKK21zZ2lkICItLWlkIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICItLWlkIGJ5bCBuYWhyYXplbiBwxZllcMOtbmHEjWVtIC0tcGFydC10eXBlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5ODkKK21zZ2lkICItLXNob3ctcHQtZ2VvbWV0cnkgaXMgbm8gbW9yZSBpbXBsZW1lbnRlZC4gVXNpbmcgLS1zaG93LWdlb21ldHJ5LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMDAKK21zZ2lkICItLUxpbnV4IG9wdGlvbiBpcyB1bm5lY2Vzc2FyeSBhbmQgZGVwcmVjYXRlZCIKK21zZ3N0ciAicMWZZXDDrW5hxI0gLS1MaW51eCBqZSB6YXN0YXJhbMO9IGEgamnFviBuZW7DrSB0xZllYmEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAyOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0ICclYyciCittc2dzdHIgIm5lcG9kcG9yb3ZhbsOhIGplZG5vdGthIOKAniVj4oCcIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMzIgaW5jbHVkZS9jLmg6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXNcbiIKK21zZ3N0ciAiJXMgesKgJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMTA5Cittc2dpZCAiLS1tb3ZlZGF0YSByZXF1aXJlcyAtTiIKK21zZ3N0ciAicMWZZXDDrW5hxI0gLS1tb3ZlZGF0YSB2ecW+YWR1amUgcMWZZXDDrW5hxI0gLU4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIFVVSUQ6ICVzIgorbXNnc3RyICJVVUlEIHNlIG5lemRhxZlpbG8gcm96ZWJyYXQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIFVVSUQiCittc2dzdHIgIiVzOiBwxZllc3VuIG5hIFVVSUQgb2RrbMOhZGFjw61obyBwcm9zdG9ydSBzZWxoYWwiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBVVUlEIgorbXNnc3RyICIlczogesOhcGlzIFVVSUQgc2UgbmV6ZGHFmWlsIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIGxhYmVsICIKK21zZ3N0ciAiJXM6IHDFmWVzdW4gbmEgam1lbm92a3Ugb2RrbMOhZGFjw61obyBwcm9zdG9ydSBzZWxoYWwiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAibGFiZWwgaXMgdG9vIGxvbmcuIFRydW5jYXRpbmcgaXQgdG8gJyVzJyIKK21zZ3N0ciAiam1lbm92a2EgamUgcMWZw61sacWhIGRsb3Vow6EuIFprcsOhY2VuYSBuYSDigJ4lc+KAnCIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIGxhYmVsIgorbXNnc3RyICIlczogY2h5YmEgcMWZaSB6w6FwaXN1IGptZW5vdmt5IgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyMQorbXNnaWQgIkRpc3BsYXkgb3IgY2hhbmdlIHRoZSBsYWJlbCBvciBVVUlEIG9mIGEgc3dhcCBhcmVhLlxuIgorbXNnc3RyICJab2JyYXrDrSBuZWJvIHptxJtuw60gam1lbm92a3UgbmVibyBVVUlEIG9ka2zDoWRhY8OtIG9ibGFzdGkuXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTI0Cittc2dpZCAiIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+IHNwZWNpZnkgYSBuZXcgbGFiZWxcbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICBzcGVjaWZ5IGEgbmV3IHV1aWRcbiIKK21zZ3N0ciAiIgorIiAtTCwgLS1sYWJlbCA8am1lbm92a2E+IHVyxI11amUgbm92b3Ugam1lbm92a3VcbiIKKyIgLVUsIC0tdXVpZCA8VVVJRD4gICAgICB1csSNdWplIG5vdsOpIFVVSURcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxNjcKK21zZ2lkICJpZ25vcmUgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCkiCittc2dzdHIgImlnbm9ydWplIHNlIC1VIChVVUlEIG5lbsOtIHBvZHBvcm92w6FubykiCisKKyM6IGluY2x1ZGUvYy5oOjI5OQorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBvdcW+aXTDrTpcbiIKKworIzogaW5jbHVkZS9jLmg6MzAwCittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJQxZllcMOtbmHEjWU6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwMgorbXNnaWQgIiAtaCwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAgem9icmF6w60gdHV0byBuw6Fwb3bEm2R1IGEgc2tvbsSNw61cbiIKKworIzogaW5jbHVkZS9jLmg6MzAzCittc2dpZCAiIC1WLCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAtViwgLS12ZXJzaW9uICB2eXDDrcWhZSDDumRhamUgb8KgdmVyemkgYSBza29uxI3DrVxuIgorCisjOiBpbmNsdWRlL2MuaDozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkZvciBtb3JlIGRldGFpbHMgc2VlICVzLlxuIgorbXNnc3RyICIiCisiXG4iCisiUG9kcm9ibm9zdGkgbmFsZXpuZXRlIHbCoCVzLlxuIgorCisjOiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDYgaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzMKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTIgc3lzLXV0aWxzL3J0Y3dha2UuYzoyODAgdGVybS11dGlscy9zZXR0ZXJtLmM6ODA1CisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE1NworbXNnaWQgIndyaXRlIGVycm9yIgorbXNnc3RyICJjaHliYSBwxZlpIHrDoXBpc3UiCisKKyM6IGluY2x1ZGUvY29sb3JzLmg6MjcKK21zZ2lkICJjb2xvcnMgYXJlIGVuYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAiYmFydnkganNvdSB2ZSB2w71jaG96w61tIG5hc3RhdmVuw60gemFwbnV0eSIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyOQorbXNnaWQgImNvbG9ycyBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAiYmFydnkganNvdSB2ZSB2w71jaG96w61tIG5hc3RhdmVuw60gdnlwbnV0eSIKKworIzogaW5jbHVkZS9lbnYuaDoxOCBsaWIvcGFnZXIuYzoxNTEgbG9naW4tdXRpbHMvbG9naW4uYzoxMDUyCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwNTYgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTI5CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICJuZXBvZGHFmWlsbyBzZSBuYXN0YXZpdCBvbWV6ZW7DrSB6ZHJvamUgbmEgJXMiCisKKyM6IGluY2x1ZGUvb3B0dXRpbHMuaDo4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdGhlc2Ugb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlOiIKK21zZ3N0ciAiJXM6IHR5dG8gcMWZZXDDrW5hxI1lIHNlIHZ6w6FqZW1uxJsgdnlsdcSNdWrDrToiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEKK21zZ2lkICJFbXB0eSIKK21zZ3N0ciAiUHLDoXpkbsO9IHByb3N0b3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIKK21zZ2lkICJGQVQxMiIKK21zZ3N0ciAiRkFUMTIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMKK21zZ2lkICJYRU5JWCByb290IgorbXNnc3RyICJYRU5JWCByb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0Cittc2dpZCAiWEVOSVggdXNyIgorbXNnc3RyICJYRU5JWCB1c3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUKK21zZ2lkICJGQVQxNiA8MzJNIgorbXNnc3RyICJGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2Cittc2dpZCAiRXh0ZW5kZWQiCittc2dzdHIgIlJvesWhw63FmWVuw70iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcKK21zZ2lkICJGQVQxNiIKK21zZ3N0ciAiRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgKK21zZ2lkICJIUEZTL05URlMvZXhGQVQiCittc2dzdHIgIkhQRlMvTlRGUy9leEZBVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OQorbXNnaWQgIkFJWCIKK21zZ3N0ciAiQUlYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMAorbXNnaWQgIkFJWCBib290YWJsZSIKK21zZ3N0ciAiQUlYIHN0YXJ0b3ZhY8OtIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMQorbXNnaWQgIk9TLzIgQm9vdCBNYW5hZ2VyIgorbXNnc3RyICJPUy8yIHphdmFkxJvEjSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTIKK21zZ2lkICJXOTUgRkFUMzIiCittc2dzdHIgIlc5NSBGQVQzMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTMKK21zZ2lkICJXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIlc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTQKK21zZ2lkICJXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIlc5NSBGQVQxNiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTUKK21zZ2lkICJXOTUgRXh0J2QgKExCQSkiCittc2dzdHIgIlc5NSBSb3rFoS4gKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE2Cittc2dpZCAiT1BVUyIKK21zZ3N0ciAiT1BVUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTcKK21zZ2lkICJIaWRkZW4gRkFUMTIiCittc2dzdHIgIlNrcnl0w6EgRkFUMTIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE4Cittc2dpZCAiQ29tcGFxIGRpYWdub3N0aWNzIgorbXNnc3RyICJDb21wYXEgZGlhZ25vc3RpY3MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE5Cittc2dpZCAiSGlkZGVuIEZBVDE2IDwzMk0iCittc2dzdHIgIlNrcnl0w6EgRkFUMTYgPDMyTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjAKK21zZ2lkICJIaWRkZW4gRkFUMTYiCittc2dzdHIgIlNrcnl0w6EgRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIxCittc2dpZCAiSGlkZGVuIEhQRlMvTlRGUyIKK21zZ3N0ciAiU2tyeXTDoSBIUEZTL05URlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIyCittc2dpZCAiQVNUIFNtYXJ0U2xlZXAiCittc2dzdHIgIkFTVCBTbWFydFNsZWVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMworbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIiCittc2dzdHIgIlNrcnl0w6EgVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNAorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIlNrcnl0w6EgVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNQorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIlNrcnl0w6EgVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNgorbXNnaWQgIk5FQyBET1MiCittc2dzdHIgIk5FQyBET1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI3Cittc2dpZCAiSGlkZGVuIE5URlMgV2luUkUiCittc2dzdHIgIlNrcnl0w6EgTlRGUyBXaW5SRSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjgKK21zZ2lkICJQbGFuIDkiCittc2dzdHIgIlBsYW4gOSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjkKK21zZ2lkICJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIKK21zZ3N0ciAiUGFydGl0aW9uTWFnaWMgcmVjb3ZlcnkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMwCittc2dpZCAiVmVuaXggODAyODYiCittc2dzdHIgIlZlbml4IDgwMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMQorbXNnaWQgIlBQQyBQUmVQIEJvb3QiCittc2dzdHIgIlBQQyBQUmVQIEJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMyCittc2dpZCAiU0ZTIgorbXNnc3RyICJTRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMzCittc2dpZCAiUU5YNC54IgorbXNnc3RyICJRTlg0LngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM0Cittc2dpZCAiUU5YNC54IDJuZCBwYXJ0IgorbXNnc3RyICJRTlg0LnggMi4gxI3DoXN0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNQorbXNnaWQgIlFOWDQueCAzcmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IDMuIMSNw6FzdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzYKK21zZ2lkICJPblRyYWNrIERNIgorbXNnc3RyICJPblRyYWNrIERNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNworbXNnaWQgIk9uVHJhY2sgRE02IEF1eDEiCittc2dzdHIgIk9uVHJhY2sgRE02IEF1eDEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM4Cittc2dpZCAiQ1AvTSIKK21zZ3N0ciAiQ1AvTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzkKK21zZ2lkICJPblRyYWNrIERNNiBBdXgzIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MAorbXNnaWQgIk9uVHJhY2tETTYiCittc2dzdHIgIk9uVHJhY2tETTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQxCittc2dpZCAiRVotRHJpdmUiCittc2dzdHIgIkVaLURyaXZlIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MgorbXNnaWQgIkdvbGRlbiBCb3ciCittc2dzdHIgIkdvbGRlbiBCb3ciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQzCittc2dpZCAiUHJpYW0gRWRpc2siCittc2dzdHIgIlByaWFtIEVkaXNrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MQorIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTkKK21zZ2lkICJTcGVlZFN0b3IiCittc2dzdHIgIlNwZWVkU3RvciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDUKK21zZ2lkICJHTlUgSFVSRCBvciBTeXNWIgorbXNnc3RyICJHTlUgSFVSRCDEjWkgU3lzViIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDYKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAyODYiCittc2dzdHIgIk5vdmVsbCBOZXRXYXJlIDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDcKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAzODYiCittc2dzdHIgIk5vdmVsbCBOZXRXYXJlIDM4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDgKK21zZ2lkICJEaXNrU2VjdXJlIE11bHRpLUJvb3QiCittc2dzdHIgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDkKK21zZ2lkICJQQy9JWCIKK21zZ3N0ciAiUEMvSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUwCittc2dpZCAiT2xkIE1pbml4IgorbXNnc3RyICJTdGFyw70gTWluaXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUxCittc2dpZCAiTWluaXggLyBvbGQgTGludXgiCittc2dzdHIgIk1pbml4IC8gc3RhcsO9IExpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MgorbXNnaWQgIkxpbnV4IHN3YXAgLyBTb2xhcmlzIgorbXNnc3RyICJMaW51eCBzd2FwL1NvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUzCittc2dpZCAiTGludXgiCittc2dzdHIgIkxpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NAorbXNnaWQgIk9TLzIgaGlkZGVuIG9yIEludGVsIGhpYmVybmF0aW9uIgorbXNnc3RyICJTa3J5dMO9IE9TLzIgbmVibyBoaWJlcm5hY2UgSW50ZWx1IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NworbXNnaWQgIkxpbnV4IGV4dGVuZGVkIgorbXNnc3RyICJMaW51eCByb3rFocOtxZllbsO9IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OQorbXNnaWQgIk5URlMgdm9sdW1lIHNldCIKK21zZ3N0ciAiTlRGUyBzdmF6ZWsiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYwCittc2dpZCAiTGludXggcGxhaW50ZXh0IgorbXNnc3RyICJMaW51eCBwbGFpbnRleHQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYxIGxpYmZkaXNrL3NyYy9ncHQuYzoyMDUgbGliZmRpc2svc3JjL3NnaS5jOjYzCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTQKK21zZ2lkICJMaW51eCBMVk0iCittc2dzdHIgIkxpbnV4IExWTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjIKK21zZ2lkICJBbW9lYmEiCittc2dzdHIgIkFtb2ViYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjMKK21zZ2lkICJBbW9lYmEgQkJUIgorbXNnc3RyICJBbW9lYmEgQkJUIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NAorbXNnaWQgIkJTRC9PUyIKK21zZ3N0ciAiQlNEL09TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NQorbXNnaWQgIklCTSBUaGlua3BhZCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiSUJNIFRoaW5rcGFkIGhpYmVybmFjZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjYKK21zZ2lkICJGcmVlQlNEIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NworbXNnaWQgIk9wZW5CU0QiCittc2dzdHIgIk9wZW5CU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY4Cittc2dpZCAiTmVYVFNURVAiCittc2dzdHIgIk5lWFRTVEVQIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OQorbXNnaWQgIkRhcndpbiBVRlMiCittc2dzdHIgIkRhcndpbiBVRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcwCittc2dpZCAiTmV0QlNEIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcxCittc2dpZCAiRGFyd2luIGJvb3QiCittc2dzdHIgIkRhcndpbiB6YXZlZGl0ZWxuw70iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcyCittc2dpZCAiSEZTIC8gSEZTKyIKK21zZ3N0ciAiSEZTL0hGUysiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjczCittc2dpZCAiQlNESSBmcyIKK21zZ3N0ciAiQlNESSBTUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzQKK21zZ2lkICJCU0RJIHN3YXAiCittc2dzdHIgIkJTREkgc3dhcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzUKK21zZ2lkICJCb290IFdpemFyZCBoaWRkZW4iCittc2dzdHIgIlNrcnl0w70gQm9vdCBXaXphcmQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc2Cittc2dpZCAiQWNyb25pcyBGQVQzMiBMQkEiCittc2dzdHIgIkFjcm9uaXMgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc3IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzAKK21zZ2lkICJTb2xhcmlzIGJvb3QiCittc2dzdHIgIlphdmFkxJvEjSBTb2xhcmlzdSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzgKK21zZ2lkICJTb2xhcmlzIgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTEyKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MAorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2KSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTYpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MgorbXNnaWQgIlN5cmlueCIKK21zZ3N0ciAiU3lyaW54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MworbXNnaWQgIk5vbi1GUyBkYXRhIgorbXNnc3RyICJkYXRhIG1pbW8gU1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg0Cittc2dpZCAiQ1AvTSAvIENUT1MgLyAuLi4iCittc2dzdHIgIkNQL00gLyBDVE9TIC8g4oCmIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NgorbXNnaWQgIkRlbGwgVXRpbGl0eSIKK21zZ3N0ciAiRGVsbCBVdGlsaXR5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NworbXNnaWQgIkJvb3RJdCIKK21zZ3N0ciAiQm9vdEl0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4OAorbXNnaWQgIkRPUyBhY2Nlc3MiCittc2dzdHIgIkRPUyBhY2Nlc3MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkwCittc2dpZCAiRE9TIFIvTyIKK21zZ3N0ciAiRE9TIHBybyDEjXRlbsOtIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MworbXNnaWQgIlJ1ZnVzIGFsaWdubWVudCIKK21zZ3N0ciAiWmFyb3Zuw6Fuw60gUnVmdXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk0Cittc2dpZCAiQmVPUyBmcyIKK21zZ3N0ciAiQmVPUyBTUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTYKK21zZ2lkICJFRkkgKEZBVC0xMi8xNi8zMikiCittc2dzdHIgIkVGSSAoRkFULTEyLzE2LzMyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTcKK21zZ2lkICJMaW51eC9QQS1SSVNDIGJvb3QiCittc2dzdHIgInphdmFkxJvEjSBMaW51eC9QQS1SSVNDdSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAwCittc2dpZCAiRE9TIHNlY29uZGFyeSIKK21zZ3N0ciAiRE9TIHNla3VuZMOhcm7DrSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAxCittc2dpZCAiVk13YXJlIFZNRlMiCittc2dzdHIgIlZNd2FyZSBWTUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDIKK21zZ2lkICJWTXdhcmUgVk1LQ09SRSIKK21zZ3N0ciAiVk13YXJlIFZNS0NPUkUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMyBsaWJmZGlzay9zcmMvc3VuLmM6NTUKK21zZ2lkICJMaW51eCByYWlkIGF1dG9kZXRlY3QiCittc2dzdHIgIkxpbnV4IFJBSUQgc2Ftb3JvenBvem5hdGVsbsO9IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDYKK21zZ2lkICJMQU5zdGVwIgorbXNnc3RyICJMQU5zdGVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDcKK21zZ2lkICJCQlQiCittc2dzdHIgIkJCVCIKKworIzogbGliL2Jsa2Rldi5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlcyBpcyBtaXNhbGlnbmVkIgorbXNnc3RyICJwb3pvcjogJXMgbmVuw60gc3Byw6F2bsSbIHphcm92bsOhbm8iCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2NzIKK21zZ2lkICJDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJWb2zDoW0gaW9jdGwoKSBwcm8gem5vdnVuYcSNdGVuw60gdGFidWxreSByb3pkxJtsZW7DrSBkaXNrdS4iCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2ODEKK21zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLiIKK21zZ3N0ciAiT3DEm3Rvdm7DqSBuYcSNdGVuw60gdGFidWxreSByb3pkxJtsZW7DrSBkaXNrdSBzZWxoYWxvLiIKKworIzogbGliZmRpc2svc3JjL2FsaWdubWVudC5jOjY4MworbXNnaWQgIlRoZSBrZXJuZWwgc3RpbGwgdXNlcyB0aGUgb2xkIHRhYmxlLiBUaGUgbmV3IHRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCByZWJvb3Qgb3IgYWZ0ZXIgeW91IHJ1biBwYXJ0cHJvYmUoOCkgb3Iga3BhcnR4KDgpLiIKK21zZ3N0ciAiSsOhZHJvIHN0w6FsZSBwb3XFvsOtdsOhIHN0YXJvdSB0YWJ1bGt1LiBOb3bDoSB0YWJ1bGthIHNlIHBvdcW+aWplIGHFviBwbyBwxZnDrcWhdMOtbSByZXN0YXJ0dSBuZWJvIHBvIHTDqSwgY28gc3B1c3TDrXRlIHBhcnRwcm9iZSg4KSBuZWJvIGtwYXJ0eCg4KS4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0NzIgbGliZmRpc2svc3JjL2Fzay5jOjQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3RlZCBwYXJ0aXRpb24gJWp1IgorbXNnc3RyICJWeWJyw6FuIG9kZMOtbCAlanUiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0NzUKK21zZ2lkICJObyBwYXJ0aXRpb24gaXMgZGVmaW5lZCB5ZXQhIgorbXNnc3RyICJKZcWhdMSbIG5lanNvdSBkZWZpbm92w6FueSDFvsOhZG7DqSBvZGTDrWx5ISIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ4NworbXNnaWQgIk5vIGZyZWUgcGFydGl0aW9uIGF2YWlsYWJsZSEiCittc2dzdHIgIk5lanNvdSDFvsOhZG7DqSB2b2xuw6kgc2VrdG9yeSEiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0OTcKK21zZ2lkICJQYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICLEjMOtc2xvIG9kZMOtbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBwYXJ0aXRpb24gJWQgb2YgdHlwZSAnJXMnIGFuZCBvZiBzaXplICVzLiIKK21zZ3N0ciAiVnl0dm/FmWVuIG5vdsO9IG9kZMOtbCAlZCB0eXB1IOKAniVz4oCcIG8gdmVsaWtvc3RpICVzLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE2NgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXpkOiBoYXMgaW52YWxpZCBzdGFydGluZyBzZWN0b3IgMC4iCittc2dzdHIgIkRpc2tvdsO9IG9kZMOtbCAlemQgbcOhIGNoeWJuw70gcG/EjcOhdGXEjW7DrSBzZWt0b3IgMC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlcmUgaXMgbm8gKkJTRCBwYXJ0aXRpb24gb24gJXMuIgorbXNnc3RyICJOYSAlcyBzZSBuZW5hY2jDoXrDrSDFvsOhZG7DvSAqQlNEIG9kZMOtbC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTkgbGliZmRpc2svc3JjL2Rvcy5jOjkzMworbXNnaWQgIkZpcnN0IGN5bGluZGVyIgorbXNnc3RyICJQcnZuw60gY3lsaW5kciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5MiBsaWJmZGlzay9zcmMvZG9zLmM6MTE2MQorbXNnaWQgIkxhc3QgY3lsaW5kZXIsICtjeWxpbmRlcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiUG9zbGVkbsOtIHNla3RvciwgK2N5bGluZHLFryBuZWJvICt2ZWxpa29zdHtLLE0sRyxULFB9IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6Mjk3IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTY2IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjU1Cittc2dpZCAiTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIlBvc2xlZG7DrSBzZWt0b3IsICtzZWt0b3LFryBuZWJvICt2ZWxpa29zdHtLLE0sRyxULFB9IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZXZpY2UgJXMgZG9lcyBub3QgY29udGFpbiBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAiWmHFmcOtemVuw60gJXMgbmVvYnNhaHVqZSDFvsOhZG7DvSBCU0QgcG9waXMgZGlza3UuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgzCittc2dpZCAiRG8geW91IHdhbnQgdG8gY3JlYXRlIGEgQlNEIGRpc2tsYWJlbD8iCittc2dzdHIgIkNoY2V0ZSB2eXR2b8WZaXQgQlNEIHBvcGlzIGRpc2t1PyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ0OQorbXNnaWQgIkRpc2siCittc2dzdHIgIkRpc2siCisKKyMgcGFja25hbWUgaXMgYnNkZGlza25hbWUKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NTYKK21zZ2lkICJQYWNrbmFtZSIKK21zZ3N0ciAiTsOhemV2IHN2YXprdSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MyBsaWJmZGlzay9zcmMvc3VuLmM6MTExNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICJQxZnDrXpuYWt5IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY2Cittc2dpZCAiIHJlbW92YWJsZSIKK21zZ3N0ciAiIHbDvW3Em25uw70iCisKKyMgPz8/CisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY3Cittc2dpZCAiIGVjYyIKK21zZ3N0ciAiIGVjYyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2OAorbXNnaWQgIiBiYWRzZWN0IgorbXNnc3RyICIgY2h5Ym7DvXNla3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NzYKK21zZ2lkICJCeXRlcy9TZWN0b3IiCittc2dzdHIgIkJhanTFry9zZWt0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODEKK21zZ2lkICJUcmFja3MvQ3lsaW5kZXIiCittc2dzdHIgIlN0b3AvY3lsaW5kciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4NgorbXNnaWQgIlNlY3RvcnMvQ3lsaW5kZXIiCittc2dzdHIgIlNla3RvcsWvL2N5bGluZHIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTggbGliZmRpc2svc3JjL2Rvcy5jOjIzMDMKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU3IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTYgbGliZmRpc2svc3JjL3N1bi5jOjExMTMKK21zZ2lkICJDeWxpbmRlcnMiCittc2dzdHIgIkN5bGluZHJ5IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDk2IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjAKK21zZ2lkICJScG0iCittc2dzdHIgIm8vbSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMSBsaWJmZGlzay9zcmMvc2dpLmM6MjkyIGxpYmZkaXNrL3NyYy9zdW4uYzo3ODAKK21zZ2lkICJJbnRlcmxlYXZlIgorbXNnc3RyICJQcm9rbMOhZMOhbsOtIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTA2Cittc2dpZCAiVHJhY2tza2V3IgorbXNnc3RyICJaYWvFmWl2ZW7DrSBzdG9weSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxMQorbXNnaWQgIkN5bGluZGVyc2tldyIKK21zZ3N0ciAiWmFrxZlpdmVuw60gY3lsaW5kcnUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTYKK21zZ2lkICJIZWFkc3dpdGNoIgorbXNnc3RyICJQxZllc3VuIGhsYXZ5IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTIxCittc2dpZCAiVHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAiUG9zdW4gc3RvcGEtc3RvcGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTEKK21zZ2lkICJieXRlcy9zZWN0b3IiCittc2dzdHIgImJhanTFry9zZWt0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTQKK21zZ2lkICJzZWN0b3JzL3RyYWNrIgorbXNnc3RyICJzZWt0b3LFry9zdG9wdSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNQorbXNnaWQgInRyYWNrcy9jeWxpbmRlciIKK21zZ3N0ciAic3RvcC9jeWxpbmRyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE2Cittc2dpZCAiY3lsaW5kZXJzIgorbXNnc3RyICJjeWxpbmRyeSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMAorbXNnaWQgInNlY3RvcnMvY3lsaW5kZXIiCittc2dzdHIgInNla3RvcsWvL2N5bGluZHIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjMKK21zZ2lkICJycG0iCittc2dzdHIgIm8vbSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNAorbXNnaWQgImludGVybGVhdmUiCittc2dzdHIgInByb2tsw6Fkw6Fuw60iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjUKK21zZ2lkICJ0cmFja3NrZXciCittc2dzdHIgInpha8WZaXZlbsOtIHN0b3B5IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI2Cittc2dpZCAiY3lsaW5kZXJza2V3IgorbXNnc3RyICJ6YWvFmWl2ZW7DrSBjeWxpbmRydSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOAorbXNnaWQgImhlYWRzd2l0Y2giCittc2dzdHIgInDFmWVzdW4gaGxhdnkiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjkKK21zZ2lkICJ0cmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICJwb3N1biBzdG9wYS1zdG9wYSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdHN0cmFwIGZpbGUgJXMgc3VjY2Vzc2Z1bGx5IGxvYWRlZC4iCittc2dzdHIgIlNvdWJvciBzZSB6YXZhZMSbxI1lbSAlcyBieWwgw7pzcMSbxaFuxJsgbmHEjXRlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwOiAlMSRzYm9vdCAtPiBib290JTEkcyAoZGVmYXVsdCAlMSRzKSIKK21zZ3N0ciAiWmF2YWTEm8SNOiAlMSRzc3RhcnQgLT4gc3RhcnQlMSRzICh2w71jaG96w60gJTEkcykiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MDQKK21zZ2lkICJCb290c3RyYXAgb3ZlcmxhcHMgd2l0aCBkaXNrbGFiZWwhIgorbXNnc3RyICJaYXZhZMSbxI0gcMWZZXNhaHVqZSBkbyB0YWJ1bGt5IHJvemTEm2xlbsOtIGRpc2t1ISIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcyOAorIywgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXAgaW5zdGFsbGVkIG9uICVzLiIKK21zZ3N0ciAiWmF2YWTEm8SNIGluc3RhbG92w6FuIG5hICVzLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwMAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4gIChEb24ndCBmb3JnZXQgdG8gd3JpdGUgdGhlICVzIGRpc2tsYWJlbCB0b28uKSIKK21zZ3N0ciAiUG9waXMgZGlza3UgemFwczhuIGRvICVzLiAoTmV6YXBvbWXFiHRlIHphcHNhdCB0YWvDqSBwb3BpcyBkaXNrdSAlcy4pIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiIKK21zZ3N0ciAiUG9waXMgZGlza3UgemFwc8OhbiBkbyAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDkgbGliZmRpc2svc3JjL2NvbnRleHQuYzo2NjYKK21zZ2lkICJTeW5jaW5nIGRpc2tzLiIKK21zZ3N0ciAiU3luY2hyb25penVqw60gc2UgZGlza3kuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTUwCittc2dpZCAiQlNEIGxhYmVsIGlzIG5vdCBuZXN0ZWQgd2l0aGluIGEgRE9TIHBhcnRpdGlvbi4iCittc2dzdHIgIkJTRCBwb3BpcyBkaXNrdSBuZW7DrSB6YW5vxZllbiBkbyBkb3NvdsOpaG8gb2Rkw61sdS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQlNEIHBhcnRpdGlvbiAnJWMnIGxpbmtlZCB0byBET1MgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIkJTRCBvZGTDrWwg4oCeJWPigJwgcHJvcG9qZW4gbmEgZG9zb3bDvSBvZGTDrWwgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMTQKK21zZ2lkICJTbGljZSIKK21zZ3N0ciAiU2xpY2UiCisKKyMgaHR0cDovL3Blb3BsZS5mcmVlYnNkLm9yZy9+bWVnYW5tL2RhdGEvRkFRL0ZBUTQwLmh0bWwjZnNpemUKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIxCittc2dpZCAiRnNpemUiCittc2dzdHIgIkZyYWdtZW50IgorCisjIGh0dHA6Ly9wZW9wbGUuZnJlZWJzZC5vcmcvfm1lZ2FubS9kYXRhL0ZBUS9GQVE0MC5odG1sI2JzaXplCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMgorbXNnaWQgIkJzaXplIgorbXNnc3RyICJCbG9rIgorCisjIEN5bGluZGVycyBwZXIgZ3JvdXAKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIzCittc2dpZCAiQ3BnIgorbXNnc3RyICJDL1MiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zZSBkZXZpY2UgZmFpbGVkIgorbXNnc3RyICIlczogdXphdsWZZW7DrSB6YcWZw616ZW7DrSBzZWxoYWxvIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjgyNworbXNnaWQgImN5bGluZGVyIgorbXNnaWRfcGx1cmFsICJjeWxpbmRlcnMiCittc2dzdHJbMF0gImN5bGluZHIiCittc2dzdHJbMV0gImN5bGluZHJ5IgorbXNnc3RyWzJdICJjeWxpbmRyxa8iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODI4Cittc2dpZCAic2VjdG9yIgorbXNnaWRfcGx1cmFsICJzZWN0b3JzIgorbXNnc3RyWzBdICJzZWt0b3IiCittc2dzdHJbMV0gInNla3RvcnkiCittc2dzdHJbMl0gInNla3RvcsWvIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjExMzEKK21zZ2lkICJJbmNvbXBsZXRlIGdlb21ldHJ5IHNldHRpbmcuIgorbXNnc3RyICJOZcO6cGxuw6kgbmFzdGF2ZW7DrSBnZW9tZXRyaWUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE0Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBhbHJlYWR5LiIKK21zZ3N0ciAiSmnFviBqc291IGRlZmlub3bDoW55IHbFoWVjaG55IHByaW3DoXJuw60gb2Rkw61seS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZXh0ZW5kZWQgcGFydGl0aW9uIHRhYmxlIChvZmZzZXQ9JWp1KSIKK21zZ3N0ciAiUm96xaHDrcWZZW5vdSB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2t1IHNlIG5lcG9kYcWZaWxvIG5hxI3DrXN0IChwb3ppY2U9JWp1KSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjMyOAorbXNnaWQgIllvdSBjYW4gc2V0IGdlb21ldHJ5IGZyb20gdGhlIGV4dHJhIGZ1bmN0aW9ucyBtZW51LiIKK21zZ3N0ciAiR2VvbWV0cmlpIG3Fr8W+ZXRlIG5hc3Rhdml0IHrCoG5hYsOtZGt5IHJvesWhacWZdWrDrWPDrWNoIGZ1bmtjw60uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzMxCittc2dpZCAiRE9TLWNvbXBhdGlibGUgbW9kZSBpcyBkZXByZWNhdGVkLiIKK21zZ3N0ciAiUmXFvmltIGtvbXBhdGliaWxpdHkgc8KgRE9TZW0gamUgemFzdGFyYWzDvS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMzUKK21zZ2lkICJUaGUgZGV2aWNlIHByZXNlbnRzIGEgbG9naWNhbCBzZWN0b3Igc2l6ZSB0aGF0IGlzIHNtYWxsZXIgdGhhbiB0aGUgcGh5c2ljYWwgc2VjdG9yIHNpemUuIEFsaWduaW5nIHRvIGEgcGh5c2ljYWwgc2VjdG9yIChvciBvcHRpbWFsIEkvTykgc2l6ZSBib3VuZGFyeSBpcyByZWNvbW1lbmRlZCwgb3IgcGVyZm9ybWFuY2UgbWF5IGJlIGltcGFjdGVkLiIKK21zZ3N0ciAiWmHFmcOtemVuw60gdXbDoWTDrSwgxb5lIHZlbGlrb3N0IGxvZ2lja8OpaG8gc2VrdG9ydSBqZSBtZW7FocOtIG5lxb4gdmVsaWtvc3Qgc2VrdG9ydSBmeXppY2vDqWhvLiBEb3BvcnXEjXVqZSBzZSBkb2Ryxb5ldCB6YXJvdm7DoW7DrSBuYSBocmFuaWNlIGZ5emlja8O9Y2ggc2VrdG9yxa8gKG5lYm8gYmxva8WvIG9wdGltw6FsbsOtY2ggcHJvIEkvTykuIFbCoG9wYcSNbsOpbSBwxZnDrXBhZMSbIG3Fr8W+ZSB1dHJwxJt0IHbDvWtvbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDEKK21zZ2lkICJDeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4iCittc2dzdHIgIlpvYnJhem92w6Fuw60gaG9kbm90IHbCoGN5bGluZHJlY2ggdnnFoWxvIHrCoG3Ds2R5LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0OAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgc2l6ZSBvZiB0aGlzIGRpc2sgaXMgJXMgKCVqdSBieXRlcykuIERPUyBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IGNhbiBub3QgYmUgdXNlZCBvbiBkcml2ZXMgZm9yIHZvbHVtZXMgbGFyZ2VyIHRoYW4gJWx1IGJ5dGVzIGZvciAlbHUtYnl0ZSBzZWN0b3JzLiBVc2UgR1VJRCBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IChHUFQpLiIKK21zZ3N0ciAiVmVsaWtvc3QgdG9ob3RvIGRpc2t1IGplICVzICglJ2p1IGJhanTFrykuIFRhYnVsa2Egcm96ZMSbbGVuw60gZGlza3UgdHlwdSBET1MgbmVtxa/FvmUgYsO9dCBwb3XFvml0YSBuYSBqZWRub3Rrw6FjaCBzdmF6a8WvIHbEm3TFocOtY2ggbmXFviAlJ2x1IGJhanTFryBwxZlpICVsdWJhanRvdsO9Y2ggc2VrdG9yZWNoLiBQb3XFvmlqdGUgdGFidWxrdSByb3pkxJtsZW7DrSBkaXNrdSB0eXB1IEdVSUQgKEdQVCkuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTAzCittc2dpZCAiQmFkIG9mZnNldCBpbiBwcmltYXJ5IGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIkNoeWJuw70gcG9zdW4gdiBwcmltw6FybsOtbSByb3rFocOtxZllbsOpbSBvZGTDrWx1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjUxOQorIywgYy1mb3JtYXQKK21zZ2lkICJPbWl0dGluZyBwYXJ0aXRpb25zIGFmdGVyICMlenUuIFRoZXkgd2lsbCBiZSBkZWxldGVkIGlmIHlvdSBzYXZlIHRoaXMgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiT2Rkw61seSBwbyDEjcOtc2xlICV6dSBidWRvdSB2eW5lY2jDoW55LiBQb2t1ZCB0dXRvIHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3UgdWxvxb7DrXRlLCBidWRvdSB6dHJhY2VueS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXh0cmEgbGluayBwb2ludGVyIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJOYWRieXRlxI1uw70gdWthemF0ZWwgbmEgb2RrYXogdsKgdGFidWxjZSByb3pkxJtsZW7DrSBkaXNrdSAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGRhdGEgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIk5hZGJ5dGXEjW7DoSBkYXRhIHbCoHRhYnVsY2Ugcm96ZMSbbGVuw60gZGlza3UgJXp1IGlnbm9yb3bDoW5hLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICJvbWl0dGluZyBlbXB0eSBwYXJ0aXRpb24gKCV6dSkiCittc2dzdHIgInZ5bmVjaMOhdsOhbSBwcsOhemRuw70gb2Rkw61sICglenUpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguIgorbXNnc3RyICJWeXR2b8WZZW5hIG5vdsOhIGRvc292w6EgdGFidWxrYSByb3pkxJtsZW7DrSBkaXNrdSBzwqBpZGVudGlmaWvDoXRvcmVtIDB4JTA4eC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2ODUKK21zZ2lkICJFbnRlciB0aGUgbmV3IGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiWmFkZWp0ZSBub3bDvSBpZGVudGlmaWvDoXRvciBkaXNrdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY5MgorbXNnaWQgIkluY29ycmVjdCB2YWx1ZS4iCittc2dzdHIgIk5lc3Byw6F2bsOhIGhvZG5vdGEuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gMHglMDh4IHRvIDB4JTA4eC4iCittc2dzdHIgIklkZW50aWZpa8OhdG9yIGRpc2t1IHptxJtuxJtuIHrCoDB4JTA4eCBuYSAweCUwOHguIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGV4dGVuZGVkIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIk5hZGJ5dGXEjW7DvSByb3rFocOtxZllbsO9IG9kZMOtbCAlenUgaWdub3JvdsOhbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGZsYWcgMHglMDJ4JTAyeCBvZiBFQlIgKGZvciBwYXJ0aXRpb24gJXp1KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpLiIKK21zZ3N0ciAiQ2h5Ym7DvSBwxZnDrXpuYWsgMHglMDJ4JTAyeCBFQlIgKHBybyBvZGTDrWwgJXp1KSBidWRlIG9wcmF2ZW4gesOhcGlzZW0odykuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6OTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIlN0YXJ0IHNlY3RvciAlanUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiWmHEjcOhdGXEjW7DrSBzZWt0b3J1JWp1IGplIG1pbW8gbWV6ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMDI2IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTM2IGxpYmZkaXNrL3NyYy9zZ2kuYzo4MzkKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCittc2dzdHIgIk9kZMOtbCAlenUgamUgamnFviBkZWZpbm92w6FuLiBQxZllZCBvcMSbdG92bsO9bSB2eXR2b8WZZW7DrW0gamVqIG11c8OtdGUgbmVqcHJ2ZSBzbWF6YXQuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTA5NgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWxsdSBpcyBhbHJlYWR5IGFsbG9jYXRlZC4iCittc2dzdHIgIlNla3RvciAlbGx1IGplIGppxb4gYWxva292w6FuLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjExMzMgbGliZmRpc2svc3JjL2dwdC5jOjIxNDYKK21zZ2lkICJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlLiIKK21zZ3N0ciAiTmVqc291IMW+w6FkbsOpIHZvbG7DqSBzZWt0b3J5LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWRkaW5nIGxvZ2ljYWwgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiUMWZaWTDoXbDoSBzZSBsb2dpY2vDvSBvZGTDrWwgJXp1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMxNgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjb250YWlucyBzZWN0b3IgMCIKK21zZ3N0ciAiT2Rkw61sICV6dTogb2JzYWh1amUgc2VrdG9yIDAiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGhlYWQgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWQiCittc2dzdHIgIk9kZMOtbCAlenU6IGhsYXZhICVkIG3DoSB2xJt0xaHDrSDEjcOtc2xvIG5lxb4gamUgbWF4aW11bSAlZCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogc2VjdG9yICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIk9kZMOtbCAlenU6IHNla3RvciAlZCBtw6EgdsSbdMWhw60gxI3DrXNsbyBuZcW+IGplIG1heGltdW0gJWxsdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY3lsaW5kZXIgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiT2Rkw61sICV6dTogY3lsaW5kciAlZCBtw6EgdsSbdMWhw60gxI3DrXNsbyBuZcW+IGplIG1heGltdW0gJWxsdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogcHJldmlvdXMgc2VjdG9ycyAldSBkaXNhZ3JlZXMgd2l0aCB0b3RhbCAldSIKK21zZ3N0ciAiT2Rkw61sICV6dTogcMWZZWRjaG96w60gc2VrdG9yeSAldSBuZXNvdWhsYXPDrSBzIMO6aHJuZW0gJXUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGJlZ2lubmluZ3MgKG5vbi1MaW51eD8pOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIk9kZMOtbCAlenU6IHJvemTDrWxuw70gZnl6aWNrw70gYSBsb2dpY2vDvSB6YcSNw6F0ZWsgKG5lbGludXhvdsO9Pyk6IGZ5emlja8O9PSglZCwgJWQsICVkKSwgbG9naWNrw709KCVkLCAlZCwgJWQpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM5NAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBlbmRpbmdzOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIk9kZMOtbCAlenU6IHJvemTDrWxuw70gZnl6aWNrw70gYSBsb2dpY2vDvSBrb25lYzogZnl6aWNrw709KCVkLCAlZCwgJWQpLCBsb2dpY2vDvT0oJWQsICVkLCAlZCkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIk9kZMOtbCAlenU6IG5la29uxI3DrSBuYSBocmFuaWNpIGN5bGluZHJ1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogYmFkIHN0YXJ0LW9mLWRhdGEuIgorbXNnc3RyICJPZGTDrWwgJXp1OiBjaHlibsO9IHBvxI3DoXRlayBkYXQuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ0MgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBvdmVybGFwcyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiT2Rkw61sICV6dTogcMWZZXNhaHVqZSBkbyBvZGTDrWx1ICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGVtcHR5LiIKK21zZ3N0ciAiT2Rkw61sICV6dTogamUgcHLDoXpkbsO9LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9naWNhbCBwYXJ0aXRpb24gJXp1OiBub3QgZW50aXJlbHkgaW4gcGFydGl0aW9uICV6dS4iCittc2dzdHIgIkxvZ2lja8O9IG9kZMOtbCAlenU6IHphc2FodWplIG1pbW8gb2Rkw61sICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDgxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRvdGFsIGFsbG9jYXRlZCBzZWN0b3JzICVsbHUgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtICVsbHUuIgorbXNnc3RyICJDZWxrb3bDvSBwb8SNZXQgYWxva292YW7DvWNoIHNla3RvcsWvICUnbGx1IGplIHbEm3TFocOtIG5lxb4gbWF4aW11bSAlJ2xsdS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDg0CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbWFpbmluZyAlbGxkIHVuYWxsb2NhdGVkICVsZC1ieXRlIHNlY3RvcnMuIgorbXNnc3RyICJaYsO9dsOhICUnbGxkIG5lYWxva292YW7DvWNoICVsZGJhanRvdsO9Y2ggc2VrdG9yxa8uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUzMiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1NAorbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgIlJvesWhw63FmWVuw70gb2Rkw61sIGppxb4gZXhpc3R1amUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU3NQorbXNnaWQgIlRoZSBtYXhpbXVtIG51bWJlciBvZiBwYXJ0aXRpb25zIGhhcyBiZWVuIGNyZWF0ZWQuIgorbXNnc3RyICJKacW+IGplIHZ5dHZvxZllbm8gbWF4aW3DoWxuw60gbW5vxb5zdHbDrSBvZGTDrWzFry4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTg3Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiIKK21zZ3N0ciAiVsWhZWNobnkgcHJpbcOhcm7DrSBvZGTDrWx5IGpzb3Ugb2JzYXplbnkuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU4OSBsaWJmZGlzay9zcmMvZG9zLmM6MTYwMAorbXNnaWQgIkFsbCBzcGFjZSBmb3IgcHJpbWFyeSBwYXJ0aXRpb25zIGlzIGluIHVzZS4iCittc2dzdHIgIlZlxaFrZXLDvSBwcm9zdG9yIGZvciBwcmltw6FybsOtIG9kZMOtbHkgamUgamnFviBwb3XFvml0LiIKKworIy4gVFJBTlNMQVRPUlM6IFRyeSB0byBrZWVwIHRoaXMgd2l0aGluIDgwIGNoYXJhY3RlcnMuCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYwMworbXNnaWQgIlRvIGNyZWF0ZSBtb3JlIHBhcnRpdGlvbnMsIGZpcnN0IHJlcGxhY2UgYSBwcmltYXJ5IHdpdGggYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiQ2hjZXRlLWxpIHbDrWNlIG9kZMOtbMWvLCBuZWpwcnZlIG5haHJhxI90ZSBwcmltw6FybsOtIG9kZMOtbCBvZGTDrWxlbSByb3rFocOtxZllbsO9bS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjA4Cittc2dpZCAiQWxsIGxvZ2ljYWwgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiBBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvbi4iCittc2dzdHIgIlbFoWVjaG55IGxvZ2lja8OpIG9kZMOtbHkganNvdSBvYnNhemVueS4gUMWZaWTDoSBzZSBvZGTDrWwgcHJpbcOhcm7DrS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjMwCittc2dpZCAiUGFydGl0aW9uIHR5cGUiCittc2dzdHIgIlR5cCBvZGTDrWx1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlenUgcHJpbWFyeSwgJWQgZXh0ZW5kZWQsICV6dSBmcmVlIgorbXNnc3RyICIlenUgcHJpbcOhcm7DrSwgJWQgcm96xaHDrcWZZW7DvSwgJXp1IHZvbG7DvSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzkKK21zZ2lkICJwcmltYXJ5IgorbXNnc3RyICJwcmltw6FybsOtIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MQorbXNnaWQgImV4dGVuZGVkIgorbXNnc3RyICJyb3rFocOtxZllbsO9IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MQorbXNnaWQgImNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zIgorbXNnc3RyICJrb250ZWpuZXIgcHJvIGxvZ2lja8OpIG9kZMOtbHkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQzCittc2dpZCAibG9naWNhbCIKK21zZ3N0ciAibG9naWNrw70iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQzCittc2dpZCAibnVtYmVyZWQgZnJvbSA1IgorbXNnc3RyICLEjcOtc2xvdsOhbm8gb2QgNSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gdHlwZSBgJWMnLiIKK21zZ3N0ciAiQ2h5Ym7DvSB0eXAgb2Rkw61sdSDigJ4lY+KAnC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB3cml0ZSBzZWN0b3IgJWpkOiBzZWVrIGZhaWxlZCIKK21zZ3N0ciAiU2VrdG9yICVqZCBuZWx6ZSB6YXBzYXQ6IHptxJtuYSBwb3ppY2Ugc2VsaGFsYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE4NTIgbGliZmRpc2svc3JjL2dwdC5jOjEwOTYKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIklkZW50aWZpa8OhdG9yIGRpc2t1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1OQorbXNnaWQgIlR5cGUgMCBtZWFucyBmcmVlIHNwYWNlIHRvIG1hbnkgc3lzdGVtcy4gSGF2aW5nIHBhcnRpdGlvbnMgb2YgdHlwZSAwIGlzIHByb2JhYmx5IHVud2lzZS4iCittc2dzdHIgIk5hIG1ub2hhIHN5c3TDqW1lY2ggdHlwIDAgb3puYcSNdWplIHZvbG7DvSBwcm9zdG9yLiBNw610IG9kZMOtbHkgdHlwdSAwIG5lbsOtIG1vdWRyw6kuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk2NAorbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdHlwZSBvZiB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIHdoaWNoIGlzIGFscmVhZHkgdXNlZCBieSBsb2dpY2FsIHBhcnRpdGlvbnMuIERlbGV0ZSBsb2dpY2FsIHBhcnRpdGlvbnMgZmlyc3QuIgorbXNnc3RyICJUeXAgcm96xaHDrcWZZW7DqWhvIG9kZMOtbHUsIGt0ZXLDvSBzZSBqacW+IHBvdcW+w612w6EgbG9naWNrw71tIG9kZMOtbGVtLCBuZWx6ZSB6bcSbbml0LiBOZWpwcnZlIHNtYcW+dGUgbG9naWNrw70gb2Rkw61sLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxNDMgbGliZmRpc2svc3JjL2dwdC5jOjI4MjEKK21zZ2lkICJOb3RoaW5nIHRvIGRvLiBPcmRlcmluZyBpcyBjb3JyZWN0IGFscmVhZHkuIgorbXNnc3RyICJEaXNrb3bDqSBvZGTDrWx5IGpzb3UgamnFviBzZcWZYXplbnkuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBubyBkYXRhIGFyZWEuIgorbXNnc3RyICJPZGTDrWwgJXp1OiBuZW9ic2FodWplIGRhdG92b3Ugb2JsYXN0LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyMjIKK21zZ2lkICJOZXcgYmVnaW5uaW5nIG9mIGRhdGEiCittc2dzdHIgIk5vdsO9IHphxI3DoXRlayBkYXQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGlzIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIk9kZMOtbCAlenU6IGplIHJvesWhw63FmWVuw71tIG9kZMOtbGVtLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIlDFmcOtem5hayB6YXZlZGl0ZWxub3N0aSBvZGTDrWx1ICV6dSBqZSBueW7DrSB6YXBudXQuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIlDFmcOtem5hayB6YXZlZGl0ZWxub3N0aSBvZGTDrWx1ICV6dSBqZSBueW7DrSB2eXBudXQuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI5OCBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxMSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1MworIzogbGliZmRpc2svc3JjL3N1bi5jOjExMDkKK21zZ2lkICJEZXZpY2UiCittc2dzdHIgIlphxZnDrXplbsOtIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI5OSBsaWJmZGlzay9zcmMvc3VuLmM6NDEKK21zZ2lkICJCb290IgorbXNnc3RyICJaYXZlZGl0ZWxuw70iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzA1IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU5IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE1Cittc2dpZCAiSWQiCittc2dzdHIgIklEIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwOQorbXNnaWQgIlN0YXJ0LUMvSC9TIgorbXNnc3RyICJaYcSNw6F0ZWstQy9IL1MiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzEwCittc2dpZCAiRW5kLUMvSC9TIgorbXNnc3RyICJLb25lYy1DL0gvUyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTEgbGliZmRpc2svc3JjL2dwdC5jOjI5MjEgbGliZmRpc2svc3JjL3NnaS5jOjExNjEKK21zZ2lkICJBdHRycyIKK21zZ3N0ciAiQXRyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYwCittc2dpZCAiRUZJIFN5c3RlbSIKK21zZ3N0ciAiU3lzdMOpbSBFRkkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjIKK21zZ2lkICJNQlIgcGFydGl0aW9uIHNjaGVtZSIKK21zZ3N0ciAiU2Now6ltYSBvZGTDrWzFryBNQlIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjMKK21zZ2lkICJJbnRlbCBGYXN0IEZsYXNoIgorbXNnc3RyICJSeWNobMOhIGZsYXNoIEludGVsdSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2NgorbXNnaWQgIkJJT1MgYm9vdCIKK21zZ3N0ciAiU3RhcnRvdmFjw60gb2Rkw61sIEJJT1N1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY5Cittc2dpZCAiU29ueSBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiU3RhcnRvdmFjw60gb2Rkw61sIFNvbnkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzAKK21zZ2lkICJMZW5vdm8gYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIlN0YXJ0b3ZhY8OtIG9kZMOtbCBMZW5vdmEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzMKK21zZ2lkICJQb3dlclBDIFBSZVAgYm9vdCIKK21zZ3N0ciAiUG93ZXJQQyBQUmVQIEJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzYKK21zZ2lkICJPTklFIGJvb3QiCittc2dzdHIgIlN0YXJ0b3ZhY8OtIG9kZMOtbCBPTklFIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc3Cittc2dpZCAiT05JRSBjb25maWciCittc2dzdHIgIktvbmZpZ3VyYcSNbsOtIG9kZMOtbCBPTklFIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwCittc2dpZCAiTWljcm9zb2Z0IHJlc2VydmVkIgorbXNnc3RyICJWeWhyYXplbm8gcHJvIE1pY3Jvc29mdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MQorbXNnaWQgIk1pY3Jvc29mdCBiYXNpYyBkYXRhIgorbXNnc3RyICJaw6FrbGFkbsOtIGRhdGEgTWljcm9zb2Z0dSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MgorbXNnaWQgIk1pY3Jvc29mdCBMRE0gbWV0YWRhdGEiCittc2dzdHIgIkxETSBtZXRhZGF0YSBNaWNyb3NvZnR1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgzCittc2dpZCAiTWljcm9zb2Z0IExETSBkYXRhIgorbXNnc3RyICJMRE0gZGF0YSBNaWNyb3NvZnR1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg0Cittc2dpZCAiV2luZG93cyByZWNvdmVyeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiUHJvc3TFmWVkw60gb2Jub3Z5IFdpbmRvd3MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODUKK21zZ2lkICJJQk0gR2VuZXJhbCBQYXJhbGxlbCBGcyIKK21zZ3N0ciAiT2JlY27DvSBwYXJhbGVsbsOtIHN5c3TDqW0gSUJNIgorCisjIFByb3BlciBuYW1lIG9mIExWTS1saWtlIHRlY2hub2xvZ3kKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODYKK21zZ2lkICJNaWNyb3NvZnQgU3RvcmFnZSBTcGFjZXMiCittc2dzdHIgIlN0b3JhZ2UgU3BhY2VzIE1pY3Jvc29mdHUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODkKK21zZ2lkICJIUC1VWCBkYXRhIgorbXNnc3RyICJEYXRhIHN5c3TDqW11IEhQLVVYIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkwCittc2dpZCAiSFAtVVggc2VydmljZSIKK21zZ3N0ciAiU2x1xb5iYSBzeXN0w6ltdSBIUC1VWCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MyBsaWJmZGlzay9zcmMvc2dpLmM6NjEgbGliZmRpc2svc3JjL3N1bi5jOjUyCittc2dpZCAiTGludXggc3dhcCIKK21zZ3N0ciAiTGludXggc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NAorbXNnaWQgIkxpbnV4IGZpbGVzeXN0ZW0iCittc2dzdHIgIlNvdWJvcm92w70gc3lzdMOpbSBMaW51eHUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUKK21zZ2lkICJMaW51eCBzZXJ2ZXIgZGF0YSIKK21zZ3N0ciAiU2VydmVyb3bDoSBkYXRhIExpbnV4dSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NgorbXNnaWQgIkxpbnV4IHJvb3QgKHg4NikiCittc2dzdHIgIktvxZllbiBMaW51eHUgKHg4NikiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcKK21zZ2lkICJMaW51eCByb290IChBUk0pIgorbXNnc3RyICJLb8WZZW4gTGludXh1IChBUk0pIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4Cittc2dpZCAiTGludXggcm9vdCAoeDg2LTY0KSIKK21zZ3N0ciAiS2/FmWVuIExpbnV4dSAoeDg2LTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OQorbXNnaWQgIkxpbnV4IHJvb3QgKEFSTS02NCkiCittc2dzdHIgIktvxZllbiBMaW51eHUgKEFSTS02NCkiCisKKyMgPz8/IFR5cG8/CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwCittc2dpZCAiTGludXggcm9vdFx0KElBLTY0KSIKK21zZ3N0ciAiS2/FmWVuIExpbnV4dSAoSUEtNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAxCittc2dpZCAiTGludXggcmVzZXJ2ZWQiCittc2dzdHIgIlZ5aHJhemVubyBMaW51eHUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDIKK21zZ2lkICJMaW51eCBob21lIgorbXNnc3RyICJEb21vdnNrw6kgYWRyZXPDocWZZSBMaW51eHUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMgbGliZmRpc2svc3JjL3NnaS5jOjY0Cittc2dpZCAiTGludXggUkFJRCIKK21zZ3N0ciAiTGludXggUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNAorbXNnaWQgIkxpbnV4IGV4dGVuZGVkIGJvb3QiCittc2dzdHIgIkxpbnV4IHJvesWhw63FmWVuw70gemF2ZWRpdGVsbsO9IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEyCittc2dpZCAiRnJlZUJTRCBkYXRhIgorbXNnc3RyICJEYXRhIEZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTMKK21zZ2lkICJGcmVlQlNEIGJvb3QiCittc2dzdHIgIlN0YXJ0b3ZhY8OtIG9kZMOtbCBGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0Cittc2dpZCAiRnJlZUJTRCBzd2FwIgorbXNnc3RyICJPZGtsw6FkYWPDrSBvZGTDrWwgRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNQorbXNnaWQgIkZyZWVCU0QgVUZTIgorbXNnc3RyICJVRlMgRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNgorbXNnaWQgIkZyZWVCU0QgWkZTIgorbXNnc3RyICJaRlMgRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNworbXNnaWQgIkZyZWVCU0QgVmludW0iCittc2dzdHIgIlZpbnVtIEZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjAKK21zZ2lkICJBcHBsZSBIRlMvSEZTKyIKK21zZ3N0ciAiSEZTL0hGUysgQXBwbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEKK21zZ2lkICJBcHBsZSBVRlMiCittc2dzdHIgIlVGUyBBcHBsdSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMgorbXNnaWQgIkFwcGxlIFJBSUQiCittc2dzdHIgIlJBSUQgQXBwbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjMKK21zZ2lkICJBcHBsZSBSQUlEIG9mZmxpbmUiCittc2dzdHIgIk9kcG9qZW7DvSBSQUlEIEFwcGx1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0Cittc2dpZCAiQXBwbGUgYm9vdCIKK21zZ3N0ciAiU3RhcnRvdmFjw60gb2Rkw61sIEFwcGx1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1Cittc2dpZCAiQXBwbGUgbGFiZWwiCittc2dzdHIgIlBvcGlzIEFwcGx1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI2Cittc2dpZCAiQXBwbGUgVFYgcmVjb3ZlcnkiCittc2dzdHIgIk9ibm92YSB0ZWxldml6ZSBBcHBsdSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNworbXNnaWQgIkFwcGxlIENvcmUgc3RvcmFnZSIKK21zZ3N0ciAiw5psb8W+acWhdMSbIGrDoWRyYSBBcHBsdSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMQorbXNnaWQgIlNvbGFyaXMgcm9vdCIKK21zZ3N0ciAiS2/FmWVub3bDvSBzeXN0w6ltIFNvbGFyaXN1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMzCittc2dpZCAiU29sYXJpcyAvdXNyICYgQXBwbGUgWkZTIgorbXNnc3RyICIvdXNyIFNvbGFyaXN1IGEgWkZTIEFwcGx1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM0Cittc2dpZCAiU29sYXJpcyBzd2FwIgorbXNnc3RyICJPZGtsw6FkYWPDrSBvZGTDrWwgU29sYXJpc3UiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzUKK21zZ2lkICJTb2xhcmlzIGJhY2t1cCIKK21zZ3N0ciAiWsOhbG9oYSBTb2xhcmlzdSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNgorbXNnaWQgIlNvbGFyaXMgL3ZhciIKK21zZ3N0ciAiL3ZhciBTb2xhcmlzdSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNworbXNnaWQgIlNvbGFyaXMgL2hvbWUiCittc2dzdHIgIi9ob21lIFNvbGFyaXN1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM4Cittc2dpZCAiU29sYXJpcyBhbHRlcm5hdGUgc2VjdG9yIgorbXNnc3RyICJOw6FocmFkbsOtIHNla3RvciBTb2xhcmlzdSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMSIKK21zZ3N0ciAiVnlocmF6ZW5vIHBybyBTb2xhcmlzICgxKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MAorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMiIKK21zZ3N0ciAiVnlocmF6ZW5vIHBybyBTb2xhcmlzICgyKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMyIKK21zZ3N0ciAiVnlocmF6ZW5vIHBybyBTb2xhcmlzICgzKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MgorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNCIKK21zZ3N0ciAiVnlocmF6ZW5vIHBybyBTb2xhcmlzICg0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MworbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNSIKK21zZ3N0ciAiVnlocmF6ZW5vIHBybyBTb2xhcmlzICg1KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NgorbXNnaWQgIk5ldEJTRCBzd2FwIgorbXNnc3RyICJPZGtsw6FkYWPDrSBvZGTDrWwgTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ3Cittc2dpZCAiTmV0QlNEIEZGUyIKK21zZ3N0ciAiRkZTIE5ldEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OAorbXNnaWQgIk5ldEJTRCBMRlMiCittc2dzdHIgIkxGUyBOZXRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDkKK21zZ2lkICJOZXRCU0QgY29uY2F0ZW5hdGVkIgorbXNnc3RyICJaxZlldMSbemVuw6kgTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwCittc2dpZCAiTmV0QlNEIGVuY3J5cHRlZCIKK21zZ3N0ciAixaBpZnJvdmFuw6kgTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUxCittc2dpZCAiTmV0QlNEIFJBSUQiCittc2dzdHIgIlJBSUQgTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0Cittc2dpZCAiQ2hyb21lT1Mga2VybmVsIgorbXNnc3RyICJKw6Fkcm8gQ2hyb21lT1MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTUKK21zZ2lkICJDaHJvbWVPUyByb290IGZzIgorbXNnc3RyICJLb8WZZW5vdsO9IHN5c3TDqW0gQ2hyb21lT1MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTYKK21zZ2lkICJDaHJvbWVPUyByZXNlcnZlZCIKK21zZ3N0ciAiVnlocmF6ZW5vIHBybyBDaHJvbWVPUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OQorbXNnaWQgIk1pZG5pZ2h0QlNEIGRhdGEiCittc2dzdHIgIkRhdGEgTWlkbmlnaHRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjAKK21zZ2lkICJNaWRuaWdodEJTRCBib290IgorbXNnc3RyICJTdGFydG92YWPDrSBvZGTDrWwgTWlkbmlnaHRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjEKK21zZ2lkICJNaWRuaWdodEJTRCBzd2FwIgorbXNnc3RyICJPZGtsw6FkYWPDrSBvZGTDrWwgTWlkbmlnaHRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjIKK21zZ2lkICJNaWRuaWdodEJTRCBVRlMiCittc2dzdHIgIlVGUyBNaWRuaWdodEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MworbXNnaWQgIk1pZG5pZ2h0QlNEIFpGUyIKK21zZ3N0ciAiWkZTIE1pZG5pZ2h0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY0Cittc2dpZCAiTWlkbmlnaHRCU0QgVmludW0iCittc2dzdHIgIlZpbnVtIE1pZG5pZ2h0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY3Cittc2dpZCAiQ2VwaCBKb3VybmFsIgorbXNnc3RyICLFvXVybsOhbCBDZXBodSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OAorbXNnaWQgIkNlcGggRW5jcnlwdGVkIEpvdXJuYWwiCittc2dzdHIgIsWgaWZyb3ZhbsO9IMW+dXJuw6FsIENlcGh1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5Cittc2dpZCAiQ2VwaCBPU0QiCittc2dzdHIgIk9TRCBDZXBodSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MAorbXNnaWQgIkNlcGggY3J5cHQgT1NEIgorbXNnc3RyICLFoGlmcm92YW7DvSBPU0QgQ2VwaHUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzEKK21zZ2lkICJDZXBoIGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIlZ5dHbDocWZw60gc2UgY2VwaG92w70gZGlzayIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MgorbXNnaWQgIkNlcGggY3J5cHQgZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiVnl0dsOhxZnDrSBzZSDFoWlmcm92YW7DvSBjZXBob3bDvSBkaXNrIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1Cittc2dpZCAiT3BlbkJTRCBkYXRhIgorbXNnc3RyICJEYXRhIE9wZW5CU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzgKK21zZ2lkICJRTlg2IGZpbGUgc3lzdGVtIgorbXNnc3RyICJTb3Vib3JvdsO9IHN5c3TDqW0gUU5YNiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4MQorbXNnaWQgIlBsYW4gOSBwYXJ0aXRpb24iCittc2dzdHIgIk9kZMOtbCBQbGFuIDkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo1NDcKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR1BUIGhlYWRlciIKK21zZ3N0ciAiYWxva2FjZSBobGF2acSNa3kgR1BUIHNlbGhhbGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo2MzAKK21zZ2lkICJGaXJzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJQcnZuw60gYWRyZXNhIExCQSB1dmVkZW7DoSBza3JpcHRlbSBqZSBtaW1vIHJvenNhaC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo2NDIKK21zZ2lkICJMYXN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIlBvc2xlZG7DrSBhZHJlc2EgTEJBIHV2ZWRlbsOhIHNrcmlwdGVtIGplIG1pbW8gcm96c2FoLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjc3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR1BUIFBNQlIgc2l6ZSBtaXNtYXRjaCAoJTxQUkl1NjQ+ICE9ICU8UFJJdTY0Pikgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIlZlbGlrb3N0IEdQVCBQTUJSIG5lc291aGxhc8OtICgldSAhPSAldSksIGJ1ZGUgb3ByYXZlbmEgcMWZaSB6w6FwaXN1ICh3KS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3OTIKK21zZ2lkICJncHQ6IHN0YXQoKSBmYWlsZWQiCittc2dzdHIgIkdQVDogdm9sw6Fuw60gc3RhdCgpIHNlbGhhbG8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo4MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3B0OiBjYW5ub3QgaGFuZGxlIGZpbGVzIHdpdGggbW9kZSAlbyIKK21zZ3N0ciAiR1BUOiBzb3Vib3J5IHPCoG3Ds2RlbSAlbyBuZWx6ZSB6cHJhY292YXQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMDY0Cittc2dpZCAiR1BUIEhlYWRlciIKK21zZ3N0ciAiSGxhdmnEjWthIEdQVCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEwNjkKK21zZ2lkICJHUFQgRW50cmllcyIKK21zZ3N0ciAiWsOhem5hbXkgR1BUIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEwMworbXNnaWQgIkZpcnN0IExCQSIKK21zZ3N0ciAiUHJ2bsOtIExCQSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExMDgKK21zZ2lkICJMYXN0IExCQSIKK21zZ3N0ciAiUG9zbGVkbsOtIExCQSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBMQkEgKExvZ2ljYWwgQmxvY2sgQWRkcmVzcykgb2YgdGhlIGJhY2t1cCBHUFQgaGVhZGVyLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjExMTQKK21zZ2lkICJBbHRlcm5hdGl2ZSBMQkEiCittc2dzdHIgIkxCQSBuw6FocmFkeSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFydCBvZiB0aGUgYXJyYXkgb2YgcGFydGl0aW9uIGVudHJpZXMuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEyMAorbXNnaWQgIlBhcnRpdGlvbiBlbnRyaWVzIExCQSIKK21zZ3N0ciAiTEJBIHrDoXpuYW3FryBvZGTDrWzFryIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExMjUKK21zZ2lkICJBbGxvY2F0ZWQgcGFydGl0aW9uIGVudHJpZXMiCittc2dzdHIgIkFsb2tvdmFuw6kgesOhem5hbXkgb2Rkw61sxa8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNDQwCittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBwcmltYXJ5IGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAiWsOhbG/Fvm7DrSB0YWJ1bGthIEdQVCBqZSBwb8Wha296ZW7DoSwgYXbFoWFrIGhsYXZuw60gc2UgemTDoSBiw710IHbCoHBvxZnDoWRrdSwgdGFrxb5lIHRhIGJ1ZGUgcG91xb5pdGEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTQ0OQorbXNnaWQgIlRoZSBwcmltYXJ5IEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIGJhY2t1cCBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIkhsYXZuw60gdGFidWxrYSBHUFTigK9qZSBwb8Wha296ZW7DoSwgYXbFoWFrIHrDoWxvxb5uw60gc2UgemTDoSBiw710IHbCoHBvxZnDoWRrdSwgdGFrxb5lIHRhIGJ1ZGUgcG91xb5pdGEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBHUFQgYXR0cmlidXRlIGJpdCAnJXMnIgorbXNnc3RyICJuZXBvZHBvcm92YW7DvSBiaXQg4oCeJXPigJwgYXRyaWJ1dHUgR1BUIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIEdQVCBhdHRyaWJ1dGUgc3RyaW5nICclcyciCittc2dzdHIgIm5lemRhxZlpbG8gc2Ugcm96ZWJyYXQgc2V6bmFtIOKAniVz4oCcIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczMQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gVVVJRCBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICJVVUlEIG9kZMOtbHUgem3Em27Em25vIHrCoCVzIG5hICVzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIG5hbWUgY2hhbmdlZCBmcm9tICclcycgdG8gJyUuKnMnLiIKK21zZ3N0ciAiTsOhemV2IG9kZMOtbHUgem3Em27Em24gesKg4oCeJXPigJwgbmEg4oCeJS4qc+KAnC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzY4Cittc2dpZCAiVGhlIHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gdW5kZXJzdGVwcyBGaXJzdFVzYWJsZUxCQS4iCittc2dzdHIgIlphxI3DoXRlayBvZGTDrWx1IG5lZG9zYWh1amUgRmlyc3RVc2FibGVMQkEgKHBydm7DrSBwb3XFvml0ZWxuw6kgTEJBKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzc1Cittc2dpZCAiVGhlIGVuZCBvZiB0aGUgcGFydGl0aW9uIG92ZXJzdGVwcyBMYXN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiS29uZWMgb2Rkw61sdSBwxZlla3JhxI11amUgTGFzdFVzYWJsZUxCQSAocG9zbGVkbsOtIHBvdcW+aXRlbG7DqSBMQkEpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MzQKK21zZ2lkICJUaGUgZGV2aWNlIGNvbnRhaW5zIGh5YnJpZCBNQlIgLS0gd3JpdGluZyBHUFQgb25seS4gWW91IGhhdmUgdG8gc3luYyB0aGUgTUJSIG1hbnVhbGx5LiIKK21zZ3N0ciAiWmHFmcOtemVuw60gb2JzYWh1amUgaHlicmlkbsOtIE1CUsKg4oCTIHphcGlzdWplIHNlIHBvdXplIEdQVC4gTUJSIG11c8OtdGUgc3luY2hyb25pem92YXQgcnXEjW7Emy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcxCittc2dpZCAiRGlzayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIkRpc2sgbmVvYnNhaHVqZSBrb3Jla3Ruw60gesOhbG/Fvm7DrSBobGF2acSNa3UuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3NgorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiQ2h5Ym7DvSBrb250cm9sbsOtIHNvdcSNZXQgcHJpbcOhcm7DrSBobGF2acSNa3kuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4MAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICJDaHlibsO9IGtvbnRyb2xuw60gc291xI1ldCB6w6Fsb8W+bsOtIGhsYXZpxI1reS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTg1Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gZW50cnkgY2hlY2tzdW0uIgorbXNnc3RyICJDaHlibsO9IGtvbnRyb2xuw60gc291xI1ldCB6w6F6bmFtdSBvZGTDrWx1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OTAKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiS29udHJvbGEgc3Byw6F2bm9zdGkgcHJpbcOhcm7DrSBobGF2acSNa3kgTEJBIG5lcHJvxaFsYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTk0Cittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiS29udHJvbGEgc3Byw6F2bm9zdGkgesOhbG/Fvm7DrSBobGF2acSNa3kgTEJBIG5lcHJvxaFsYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTk5Cittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IHByaW1hcnkgaGVhZGVyLiIKK21zZ3N0ciAiTXlMQkEgc2UgbmVzaG9kdWplIHNlIHNrdXRlxI1ub3UgcG96aWPDrSB2wqBwcmltw6FybsOtIGhsYXZpxI1jZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAzCittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICJNeUxCQSBzZSBuZXNob2R1amUgc2Ugc2t1dGXEjW5vdSBwb3ppY8OtIHbCoHrDoWxvxb5uw60gaGxhdmnEjWNlLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMDgKK21zZ2lkICJEaXNrIGlzIHRvbyBzbWFsbCB0byBob2xkIGFsbCBkYXRhLiIKK21zZ3N0ciAiRGlzayBqZSBwxZnDrWxpxaEgbWFsw70sIGFieSB1ZHLFvmVsIHbFoWVjaG5hIGRhdGEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAxOAorbXNnaWQgIlByaW1hcnkgYW5kIGJhY2t1cCBoZWFkZXIgbWlzbWF0Y2guIgorbXNnc3RyICJQcmltw6FybsOtIGEgesOhbG/Fvm7DrSBobGF2acSNa2Egc2UgbmVzaG9kdWrDrS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDI0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIHBhcnRpdGlvbiAldS4iCittc2dzdHIgIk9kZMOtbCAldSBwxZllc2FodWplIGRvIG9kZMOtbHUgJXUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAzMQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgaXMgdG9vIGJpZyBmb3IgdGhlIGRpc2suIgorbXNnc3RyICJPZGTDrWwgJXUgamUgcHJvIGRpc2sgcMWZw61sacWhIHZlbGvDvS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDM4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBlbmRzIGJlZm9yZSBpdCBzdGFydHMuIgorbXNnc3RyICJPZGTDrWwgJXUga29uxI3DrSBwxZllZCBzdsO9bSB6YcSNw6F0a2VtLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDcKK21zZ2lkICJObyBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyICLFvcOhZG7DqSBjaHlieSBuZW9iamV2ZW55LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGVhZGVyIHZlcnNpb246ICVzIgorbXNnc3RyICJWZXJ6ZSBobGF2acSNa3k6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0OQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyAldSBvdXQgb2YgJWQgcGFydGl0aW9ucy4iCittc2dzdHIgIlBvdcW+w612w6Egc2UgJXUgesKgJWQgb2Rkw61sxa8uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA2MAorIywgYy1mb3JtYXQKK21zZ2lkICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnQuIgorbXNnaWRfcGx1cmFsICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnRzICh0aGUgbGFyZ2VzdCBpcyAlcykuIgorbXNnc3RyWzBdICJDZWxrZW0gJWp1IHZvbG7DvWNoIHNla3RvcsWvIGplIGRvc3R1cG7DvWNoIHbCoCV1IG9ibGFzdGkuIgorbXNnc3RyWzFdICJDZWxrZW0gJWp1IHZvbG7DvWNoIHNla3RvcsWvIGplIGRvc3R1cG7DvWNoIHbCoCV1IG9ibGFzdGVjaCAobmVqdsSbdMWhw60gamUgJXMpLiIKK21zZ3N0clsyXSAiQ2Vsa2VtICVqdSB2b2xuw71jaCBzZWt0b3LFryBqZSBkb3N0dXBuw71jaCB2wqAldSBvYmxhc3RlY2ggKG5lanbEm3TFocOtIGplICVzKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGVycm9yIGRldGVjdGVkLiIKK21zZ2lkX3BsdXJhbCAiJWQgZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0clswXSAiT2JqZXZlbmEgJWQgY2h5YmEuIgorbXNnc3RyWzFdICJPYmpldmVueSAlZCBjaHlieS4iCittc2dzdHJbMl0gIk9iamV2ZW5vICVkIGNoeWIuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0MgorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIGFyZSBhbHJlYWR5IGluIHVzZS4iCittc2dzdHIgIlbFoWVjaG55IG9kZMOtbHkgc2UgamnFviBwb3XFvsOtdmFqw60uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5NyBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyMgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWp1IGFscmVhZHkgdXNlZC4iCittc2dzdHIgIlNla3RvciAlanUgamUgamnFviBhbG9rb3bDoW4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIk9kZMOtbCAlenUgbmVieWxvIG1vxb5uw6kgdnl0dm/FmWl0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgbGFzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiUG9zbGVkbsOtIHBvdcW+aXRlbG7DvSBzZWt0b3IgR1BU4oCvamUgJWp1LCBhbGUgcG/FvmFkb3bDoW5vIGJ5bG8gJWp1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpcnN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICJQcnZuw60gcG91xb5pdGVsbsO9IHNla3RvciBHUFQgamUgJWp1LCBhbGUgcG/FvmFkb3bDoW5vIGJ5bG8gJWp1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyOQorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IEdQVCBkaXNrbGFiZWwgKEdVSUQ6ICVzKS4iCittc2dzdHIgIlZ5dHZvxZllbmEgbm92w70gcG9waXMgZGlza3UgR1BUIChHVUlEOiAlcykuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ0NworbXNnaWQgIkVudGVyIG5ldyBkaXNrIFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiWmFkZWp0ZSBub3bDqSBVVUlEIGRpc2t1IChmb3Jtw6F0IDgtNC00LTQtMTIpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ1NAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSB5b3VyIFVVSUQuIgorbXNnc3RyICJWYcWhZSBVVUlEIHNlIG5lcG9kYcWZaWxvIHJvemVicmF0LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIklkZW50aWZpa8OhdG9yIGRpc2t1IHptxJtuxJtuIHrCoCVzIG5hICVzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0ODgKKyMsIGZ1enp5Cittc2dpZCAiTm90IGVub3VnaCBzcGFjZSBmb3IgbmV3IHBhcnRpdGlvbiB0YWJsZSEiCittc2dzdHIgIk5lanNvdSDFvsOhZG7DqSB2b2xuw6kgc2VrdG9yeSEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXUgb3V0IG9mIHJhbmdlIChtaW5pbWFsIHN0YXJ0IGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwMgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV1IG91dCBvZiByYW5nZSAobWF4aW1hbCBlbmQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgbnVtYmVyIG9mIHRoZSBwYXJ0aXRpb24gaGFzIGJlIHNtYWxsZXIgdGhhbiAlenUuIgorbXNnc3RyICJKacW+IGplIHZ5dHZvxZllbm8gbWF4aW3DoWxuw60gbW5vxb5zdHbDrSBvZGTDrWzFry4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTYzCisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBhbGxvY2F0ZSBtZW1vcnkhIgorbXNnc3RyICJwYW3Em8WlIG5lbHplIGFsb2tvdmF0OiAlbSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBsZW5ndGggY2hhbmdlZCBmcm9tICU8UFJJdTMyPiB0byAlPFBSSXU2ND4uIgorbXNnc3RyICJOw6F6ZXYgb2Rkw61sdSB6bcSbbsSbbiB6wqDigJ4lc+KAnCBuYSDigJ4lLipz4oCcLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGF0dHJpYnV0ZXMgb24gcGFydGl0aW9uICV6dSBjaGFuZ2VkIHRvIDB4JTAxNjxQUkl4NjQ+LiIKK21zZ3N0ciAiQXRyaWJ1dHkgb2Rkw61sdSAlenUgc2Ugem3Em25pbHkgbmEgMHglMDE2PFBSSXg2ND4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc0MgorbXNnaWQgIkVudGVyIEdVSUQgc3BlY2lmaWMgYml0IgorbXNnc3RyICJaYWRlanRlIGJpdCBzcGVjaWZpY2vDvSBwcm8gR1VJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHRvZ2dsZSB1bnN1cHBvcnRlZCBiaXQgJWx1IgorbXNnc3RyICJuZXBvZHBvcm92YW7DvSBiaXQgJWx1IHNlIG5lcG9kYcWZaWxvIHDFmWVwbm91dCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJCaXQgc3BlY2lmaWNrw70gcHJvIEdVSUQgJWQgbmEgb2Rkw61sdSAlenUgamUgbnluw60gbmFzdGF2ZW4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJCaXQgc3BlY2lmaWNrw70gcHJvIEdVSUQgJWQgbmEgb2Rkw61sdSAlenUgamUgbnluw60gdnlwbnV0LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIlDFmcOtem5hayAlcyBvZGTDrWx1ICV6dSBqZSBueW7DrSB6YXBudXQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIlDFmcOtem5hayAlcyBvZGTDrWx1ICV6dSBqZSBueW7DrSB2eXBudXQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxOAorbXNnaWQgIlR5cGUtVVVJRCIKK21zZ3N0ciAiRHJ1aC1VVUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxOQorbXNnaWQgIlVVSUQiCittc2dzdHIgIlVVSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTIwIGxvZ2luLXV0aWxzL2NoZm4uYzoxNTAgbG9naW4tdXRpbHMvY2hmbi5jOjE1MgorIzogbG9naW4tdXRpbHMvY2hmbi5jOjMwNworbXNnaWQgIk5hbWUiCittc2dzdHIgIk7DoXpldiIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjg0MAorbXNnaWQgIkZyZWUgc3BhY2UiCittc2dzdHIgIlZvbG7DvSBwcm9zdG9yIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6MTIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiAjJXp1LiIKK21zZ3N0ciAiWm3Em25pdCB2ZWxpa29zdCBvZGTDrWx1IMSNLuKAryV6dSBzZSBuZXBvZGHFmWlsby4iCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0dHlwZS5jOjI1OSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTUgc2NoZWR1dGlscy9jaHJ0LmM6MjA2CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc5IHN5cy11dGlscy9od2Nsb2NrLmM6MzM0Cittc2dpZCAidW5rbm93biIKK21zZ3N0ciAibmV6bsOhbcO9IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDcKK21zZ2lkICJTR0kgdm9saGRyIgorbXNnc3RyICJIbGF2acSNa2EgU0dJIHN2YXprdSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ4Cittc2dpZCAiU0dJIHRya3JlcGwiCittc2dzdHIgIlNHSSB0cmtyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDkKK21zZ2lkICJTR0kgc2VjcmVwbCIKK21zZ3N0ciAiU0dJIHNlY3JlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MAorbXNnaWQgIlNHSSByYXciCittc2dzdHIgIlNHSSByYXciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MQorbXNnaWQgIlNHSSBic2QiCittc2dzdHIgIlNHSSBic2QiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MgorbXNnaWQgIlNHSSBzeXN2IgorbXNnc3RyICJTR0kgc3lzdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUzCittc2dpZCAiU0dJIHZvbHVtZSIKK21zZ3N0ciAiU0dJIHN2YXplayIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU0Cittc2dpZCAiU0dJIGVmcyIKK21zZ3N0ciAiU0dJIGVmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU1Cittc2dpZCAiU0dJIGx2b2wiCittc2dzdHIgIlNHSSBsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTYKK21zZ2lkICJTR0kgcmx2b2wiCittc2dzdHIgIlNHSSBybHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU3Cittc2dpZCAiU0dJIHhmcyIKK21zZ3N0ciAiU0dJIFhGUyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU4Cittc2dpZCAiU0dJIHhmc2xvZyIKK21zZ3N0ciAiU0dJIHhmc2xvZyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5Cittc2dpZCAiU0dJIHhsdiIKK21zZ3N0ciAiU0dJIHhsdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYwCittc2dpZCAiU0dJIHh2bSIKK21zZ3N0ciAiU0dJIHh2bSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyIGxpYmZkaXNrL3NyYy9zdW4uYzo1MworbXNnaWQgIkxpbnV4IG5hdGl2ZSIKK21zZ3N0ciAiTGludXggbmF0aXZuw60iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxNTkKK21zZ2lkICJTR0kgaW5mbyBjcmVhdGVkIG9uIHNlY29uZCBzZWN0b3IuIgorbXNnc3RyICLDmmRhamUgU0dJIHZ5dHZvxZllbnkgbmEgZHJ1aMOpbSBzZWt0b3J1LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI1OQorbXNnaWQgIkRldGVjdGVkIGFuIFNHSSBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4iCittc2dzdHIgIk5hbGV6ZW4gU0dJIHBvcGlzIGRpc2t1IHMgY2h5Ym7DvW0ga29udHJvbG7DrW0gc291xI10ZW0uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjgyIGxpYmZkaXNrL3NyYy9zdW4uYzo3NzAKK21zZ2lkICJQaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIkZ5emlja8OpIGN5bGluZHJ5IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjg3IGxpYmZkaXNrL3NyYy9zdW4uYzo3NzUKK21zZ2lkICJFeHRyYSBzZWN0cy9jeWwiCittc2dzdHIgIkV4dHJhIHNla3RvcnkvY3lsaW5kciIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI5NworbXNnaWQgIkJvb3RmaWxlIgorbXNnc3RyICJTdGFydG92YWPDrSBzb3Vib3IiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzozOTUKK21zZ2lkICJJbnZhbGlkIGJvb3RmaWxlISAgVGhlIGJvb3RmaWxlIG11c3QgYmUgYW4gYWJzb2x1dGUgbm9uLXplcm8gcGF0aG5hbWUsIGUuZy4gXCIvdW5peFwiIG9yIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAiQ2h5Ym7DvSBzdGFydG92YWPDrSBzb3Vib3IhIFN0YXJ0b3ZhY8OtIHNvdWJvciBtdXPDrSBiw710IGFic29sdXRuw60gbmVwcsOhemRuw6EgY2VzdGEsIG5hcMWZLiDigJ4vdW5peOKAnCDEjWkg4oCcL3VuaXguc2F2ZeKAnC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGUgbWF4aW11bS4iCittc2dpZF9wbHVyYWwgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlcyBtYXhpbXVtLiIKK21zZ3N0clswXSAiTsOhemV2IHN0YXJ0b3ZhY8OtaG8gc291Ym9ydSBqZSBwxZnDrWxpxaEgZGxvdWjDvTogbWF4aW11bSBqZSAlenUgYmFqdC4iCittc2dzdHJbMV0gIk7DoXpldiBzdGFydG92YWPDrWhvIHNvdWJvcnUgamUgcMWZw61sacWhIGRsb3Vow706IG1heGltdW0ganNvdSAlenUgYmFqdHkuIgorbXNnc3RyWzJdICJOw6F6ZXYgc3RhcnRvdmFjw61obyBzb3Vib3J1IGplIHDFmcOtbGnFoSBkbG91aMO9OiBtYXhpbXVtIGplICV6dSBiYWp0xa8uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDA4Cittc2dpZCAiQm9vdGZpbGUgbXVzdCBoYXZlIGEgZnVsbHkgcXVhbGlmaWVkIHBhdGhuYW1lLiIKK21zZ3N0ciAiU3RhcnRvdmFjw60gc291Ym9yIG11c8OtIGLDvXQgemFkw6FuIHPCoGNlbG91IGNlc3RvdS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MTQKK21zZ2lkICJCZSBhd2FyZSB0aGF0IHRoZSBib290ZmlsZSBpcyBub3QgY2hlY2tlZCBmb3IgZXhpc3RlbmNlLiAgU0dJJ3MgZGVmYXVsdCBpcyBcIi91bml4XCIsIGFuZCBmb3IgYmFja3VwIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAiVXbEm2RvbXRlIHNpLCDFvmUgZXhpc3RlbmNlIHN0YXJ0b3ZhY8OtaG8gc291Ym9ydSBuZW7DrSBvdsSbxZlvdsOhbmEuIFbDvWNob3rDrSBuYXN0YXZlbsOtIFNHSeKAr2plIOKAni91bml44oCcIGEgamFrbyB6w6Fsb2hhIOKAni91bml4LnNhdmXigJwuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBjdXJyZW50IGJvb3QgZmlsZSBpczogJXMiCittc2dzdHIgIlNvdcSNYXNuw70gc3RhcnRvdmFjw60gc291Ym9yIGplOiAlcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0MQorbXNnaWQgIkVudGVyIG9mIHRoZSBuZXcgYm9vdCBmaWxlIgorbXNnc3RyICJaYWRlanRlIG5vdsO9IHN0YXJ0b3ZhY8OtIHNvdWJvciIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0NgorbXNnaWQgIkJvb3QgZmlsZSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJTdGFydG92YWPDrSBzb3Vib3IgbmVieWwgem3Em27Em24uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RmaWxlIGhhcyBiZWVuIGNoYW5nZWQgdG8gXCIlc1wiLiIKK21zZ3N0ciAiU3RhcnRvdmFjw60gc291Ym9yIGJ5bCB6bcSbbsSbbiBuYSDigJ4lc+KAnC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OTYKK21zZ2lkICJNb3JlIHRoYW4gb25lIGVudGlyZSBkaXNrIGVudHJ5IHByZXNlbnQuIgorbXNnc3RyICJFeGlzdHVqZSB2w61jZSBuZcW+IGplZGVuIHrDoXpuYW0gcMWZZXMgY2Vsw70gZGlzay4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MDMgbGliZmRpc2svc3JjL3N1bi5jOjQ1OAorbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZC4iCittc2dzdHIgIk5lanNvdSBkZWZpbm92w6FueSDFvsOhZG7DqSBvZGTDrWx5LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxMworbXNnaWQgIklSSVggbGlrZXMgaXQgd2hlbiBwYXJ0aXRpb24gMTEgY292ZXJzIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIklSSVggbcOhIHLDoWQsIGtkecW+IG9kZMOtbCAxMSB6YXVqw61tw6EgY2Vsw70gZGlzay4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIHBhcnRpdGlvbiBzaG91bGQgc3RhcnQgYXQgYmxvY2sgMCwgbm90IGF0IGJsb2NrICVkLiIKK21zZ3N0ciAiRGlza292w70gb2Rkw61sIHphdWrDrW1hasOtY8OtIGNlbMO9IGRpc2sgYnkgbcSbbCB6YcSNw61uYXQgYmxva2VtIDAsIG5pa29saXYgYmxva2VtICVkLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyOAorbXNnaWQgIlBhcnRpdGlvbiAxMSBzaG91bGQgY292ZXIgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiT2Rkw61sIDExIGJ5IG3Em2wgemF1asOtbWF0IGNlbMO9IGRpc2suIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9yLiIKK21zZ2lkX3BsdXJhbCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3JzLiIKK21zZ3N0clswXSAiRGlza292w6kgb2Rkw61seSAlZCBhICVkIHNlIG5hdnrDoWplbSBwxZlla3LDvXZhasOtICVkIHNla3RvcmVtLiIKK21zZ3N0clsxXSAiRGlza292w6kgb2Rkw61seSAlZCBhICVkIHNlIG5hdnrDoWplbSBwxZlla3LDvXZhasOtICVkIHNla3RvcnkuIgorbXNnc3RyWzJdICJEaXNrb3bDqSBvZGTDrWx5ICVkIGEgJWQgc2UgbmF2esOhamVtIHDFmWVrcsO9dmFqw60gJWQgc2VrdG9yeS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NjMgbGliZmRpc2svc3JjL3NnaS5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3I6IHNlY3RvciAlOHUiCittc2dpZF9wbHVyYWwgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3RvcnM6IHNlY3RvcnMgJTh1LSV1IgorbXNnc3RyWzBdICJOZXZ5dcW+w612YW7DvSBwcm9zdG9yIG/CoHZlbGlrb3N0aSAlJzh1IHNla3RvcnU6IHNla3RvciAlOHUiCittc2dzdHJbMV0gIk5ldnl1xb7DrXZhbsO9IHByb3N0b3Igb8KgdmVsaWtvc3RpICUnOHUgc2VrdG9yxa86IHNla3RvcnkgJTh1LSV1IgorbXNnc3RyWzJdICJOZXZ5dcW+w612YW7DvSBwcm9zdG9yIG/CoHZlbGlrb3N0aSAlJzh1IHNla3RvcsWvOiBzZWt0b3J5ICU4dS0ldSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY5OAorbXNnaWQgIlRoZSBib290IHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIlN0YXJ0b3ZhY8OtIG9kZMOtbCBuZWV4aXN0dWplLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwMgorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIkRpc2tvdsO9IG9kZMOtbCBwcm8gb2RrbMOhZGFjw60gcHJvc3RvciBuZWV4aXN0dWplLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwNgorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBoYXMgbm8gc3dhcCB0eXBlLiIKK21zZ3N0ciAiRGlza292w70gb2Rkw61sIHBybyBvZGtsw6FkYWPDrSBwcm9zdG9yIG5lbcOhIHphZMOhbiB0eXAuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA5Cittc2dpZCAiWW91IGhhdmUgY2hvc2VuIGFuIHVudXN1YWwgYm9vdGZpbGUgbmFtZS4iCittc2dzdHIgIlZ5YnJhbGkganN0ZSBzaSBuZW9idnlrbMO9IG7DoXpldiBwcm8gc3RhcnRvdmFjw60gc291Ym9yLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjc1OQorbXNnaWQgIlBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiIKK21zZ3N0ciAiUMWZZWtyeXYgb2Rkw61sxa8gbmEgZGlza3UuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQ0Cittc2dpZCAiQXR0ZW1wdGluZyB0byBnZW5lcmF0ZSBlbnRpcmUgZGlzayBlbnRyeSBhdXRvbWF0aWNhbGx5LiIKK21zZ3N0ciAiUG9rb3XFocOtbSBzZSBhdXRvbWF0aWNreSB2eXR2b8WZaXQgcG9sb8W+a3UgcHJvIGNlbMO9IGRpc2suIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQ5Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIGlzIGFscmVhZHkgY292ZXJlZCB3aXRoIHBhcnRpdGlvbnMuIgorbXNnc3RyICJEaXNrb3bDqSBvZGTDrWx5IGppxb4gemFiw61yYWrDrSBjZWzDvSBwcm9zdG9yIGRpc2t5LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg1MworbXNnaWQgIllvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKK21zZ3N0ciAiRGlza292w6kgb2Rkw61seSBzZSBwxZlla3LDvXZhasOtLiBOZWpwcnZlIHRvIG9wcmF2dGUhIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODc1IGxpYmZkaXNrL3NyYy9zdW4uYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3QgJXMiCittc2dzdHIgIlBydm7DrSAlcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg5OSBsaWJmZGlzay9zcmMvc2dpLmM6OTQ5Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIGVsZXZlbnRoIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrIGFuZCBpcyBvZiB0eXBlICdTR0kgdm9sdW1lJy4iCittc2dzdHIgIkRvcG9ydcSNdWplIHNlLCBhYnkgamVkZW7DoWN0w70gb2Rkw61sIHphdWrDrW1hbCBjZWzDvSBwcm9zdG9yIGRpc2t1IGEgYnlsIHR5cHUg4oCeU0dJIHN2YXpla+KAnCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjkxNCBsaWJmZGlzay9zcmMvc3VuLmM6NjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgJXMgb3IgKyVzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIlBvc2xlZG7DrSAlcywgKyVzIG5lYm8gK3ZlbGlrb3N0e0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5ODUgbGliZmRpc2svc3JjL3N1bi5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi4iCittc2dzdHIgImlvY3RsIEJMS0dFVFNJWkUgc2VsaGFsbyBuYSAlcy4gUHJvIGdlb21ldHJpaSBzZSBwb3XFvmlqZSAlbGx1IGN5bGluZHLFry4gVGF0byBob2Rub3RhIG3Fr8W+ZSBiw710IHprcsOhY2VuYSBwcm8gemHFmcOtemVuw60gPiAzMyw44oCvR0IuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA1MQorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU0dJIGRpc2tsYWJlbC4iCittc2dzdHIgIlZ5dHZvxZllbiBub3bDvSBTdW4gcG9waXMgZGlza3UuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3MAorbXNnaWQgIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIKK21zZ3N0ciAiSmUgbsOhbSBsw610bywgem5hxI1rdSBsemUgem3Em25pdCBqZW4gdcKgbmVwcsOhemRuw71jaCBvZGTDrWzFry4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDc2Cittc2dpZCAiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gOSBhcyB2b2x1bWUgaGVhZGVyICgwKSwgYW5kIHBhcnRpdGlvbiAxMSBhcyBlbnRpcmUgdm9sdW1lICg2KSwgYXMgSVJJWCBleHBlY3RzIGl0LiIKK21zZ3N0ciAiWnZhxb50ZSwgemRhIGJ5IG5lYnlsbyB2aG9kbsOpIHBvbmVjaGF0IG9kZMOtbCA5IGpha28gaGxhdmnEjWt1IHN2YXprdSAoMCkgYSBvZGTDrWwgMTEgamFrbyBjZWzDvSBzdmF6ZWsgKDYpLCBuZWJvxaUgSVJJWCB0byBvxI1la8OhdsOhLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwODUKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwIGlzIG9mIHR5cGUgXCJTR0kgdm9saGRyXCIsIHRoZSBJUklYIHN5c3RlbSB3aWxsIHJlbHkgb24gaXQgdG8gcmV0cmlldmUgZnJvbSBpdHMgZGlyZWN0b3J5IHN0YW5kYWxvbmUgdG9vbHMgbGlrZSBzYXNoIGFuZCBmeC4gT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiBBcmUgeW91IHN1cmUgYWJvdXQgdGFnZ2luZyB0aGlzIHBhcnRpdGlvbiBkaWZmZXJlbnRseT8iCittc2dzdHIgIkRvcG9ydcSNdWplIHNlLCBhYnkgb2Rkw61sIHphxI3DrW5hasOtY8OtIG5hIHBvemljaSAwIGJ5bCB0eXB1IOKAnlNHSSB2b2xoZHLigJwuICBJUklYIGplaiBwb3XFvsOtdsOhIGvCoHDFmcOtc3R1cHUgayBuw6FzdHJvasWvbSBqYWtvIGplIHNhc2ggYSBmeC4gVsO9amlta291IGplIHBvdXplIOKAnlNHSSBzdmF6ZWvigJwgemF1asOtbWFqw61jw60gY2Vsw70gZGlzay4gSnN0ZSBzaSBqaXN0aSwgxb5lIHRlbnRvIG9kZMOtbCBjaGNldGUgb3puYcSNaXQgamluYWs/IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDAKK21zZ2lkICJVbmFzc2lnbmVkIgorbXNnc3RyICJOZXDFmWnFmWF6ZW5vIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDIKK21zZ2lkICJTdW5PUyByb290IgorbXNnc3RyICJTdW5PUyByb290IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDMKK21zZ2lkICJTdW5PUyBzd2FwIgorbXNnc3RyICJTdW5PUyBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDQKK21zZ2lkICJTdW5PUyB1c3IiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ1Cittc2dpZCAiV2hvbGUgZGlzayIKK21zZ3N0ciAiQ2Vsw70gZGlzayIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2Cittc2dpZCAiU3VuT1Mgc3RhbmQiCittc2dzdHIgIlN1bk9TIHN0YW5kIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyB2YXIiCittc2dzdHIgIlN1bk9TIHZhciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ4Cittc2dpZCAiU3VuT1MgaG9tZSIKK21zZ3N0ciAiU3VuT1MgaG9tZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ5Cittc2dpZCAiU3VuT1MgYWx0IHNlY3RvcnMiCittc2dzdHIgIk7DoWhyLiBzZWt0b3J5IFN1bk9TIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTAKK21zZ2lkICJTdW5PUyBjYWNoZWZzIgorbXNnc3RyICJTdW5PUyBjYWNoZWZzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTEKK21zZ2lkICJTdW5PUyByZXNlcnZlZCIKK21zZ3N0ciAiVnlocmF6ZW5vIHBybyBTdW5PUyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEzNworbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4gUHJvYmFibHkgeW91J2xsIGhhdmUgdG8gc2V0IGFsbCB0aGUgdmFsdWVzLCBlLmcuIGhlYWRzLCBzZWN0b3JzLCBjeWxpbmRlcnMgYW5kIHBhcnRpdGlvbnMgb3IgZm9yY2UgYSBmcmVzaCBsYWJlbCAocyBjb21tYW5kIGluIG1haW4gbWVudSkiCittc2dzdHIgIk5hbGV6ZW4gU3VuIHBvcGlzIGRpc2t1IHPCoGNoeWJuw71jaCBrb250cm9sbsOtbSBzb3XEjXRlbS4gUHJhdmTEm3BvZG9ibsSbIGJ1ZGV0ZSBtdXNldCBuYXN0YXZpdCB2xaFlY2hueSBob2Rub3R5IGpha28gaGxhdnksIHNla3RvcnksIGN5bGluZHJ5IGEgb2Rkw61seSwgbmVibyB2eXR2b8WZaXQgbm92b3UgdGFidWxrdSAocMWZw61rYXog4oCec+KAnCB2IGhsYXZuw60gbmFiw61kY2UpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2ZXJzaW9uIFslZF0uIgorbXNnc3RyICJOYWxlemVuIHN1bm92c2vDvSBwb3BpcyBkaXNrdSBzwqBjaHlibm91IHZlcnrDrSBbJWRdLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5zYW5pdHkgWzB4JTA4eF0uIgorbXNnc3RyICJOYWxlemVuIHN1bm92c2vDvSBwb3BpcyBkaXNrdSBzIGNoeWJuw71tIOKAnnZ0b2Muc2FuaXR54oCcIFsweCUwOHhdLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5ucGFydHMgWyV1XS4iCittc2dzdHIgIk5hbGV6ZW4gc3Vub3Zza8O9IHBvcGlzIGRpc2t1IHPCoGNoeWJuw71tIHZ0b2MubnBhcnRzIFsldV0uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTY1Cittc2dpZCAiV2FybmluZzogV3JvbmcgdmFsdWVzIG5lZWQgdG8gYmUgZml4ZWQgdXAgYW5kIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkiCittc2dzdHIgIlBvem9yOiBDaHlibsOpIGhvZG5vdHkgbXVzw60gYsO9dCBvcHJhdmVueSBhIGJ1ZGUgdGFrIHXEjWluxJtubyBwxZlpIHrDoXBpc3UgKHcpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTkyCittc2dpZCAiSGVhZHMiCittc2dzdHIgIkhsYXZ5IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTk0Cittc2dpZCAiU2VjdG9ycy90cmFjayIKK21zZ3N0ciAiU2VrdG9yxa8vc3RvcHUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoyOTcKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorbXNnc3RyICJWeXR2b8WZZW4gbm92w70gU3VuIHBvcGlzIGRpc2t1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZG9lc24ndCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJPZGTDrWwgJXUgbmVrb27EjcOtIG5hIGhyYW5pY2kgY3lsaW5kcnUuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDM1CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIG90aGVycyBpbiBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiT2Rkw61sICV1IHDFmWVzYWh1amUgZG8gamluw71jaCB2IHNla3RvcmVjaCAldeKAkyV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAwLSV1LiIKK21zZ3N0ciAiTmV2eXXFvsOtdmFuw70gcHJvc3RvciAtIHNla3RvcnkgMC0ldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjUgbGliZmRpc2svc3JjL3N1bi5jOjQ3MQorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIk5ldnl1xb7DrXZhbsO9IHByb3N0b3IgLSBzZWt0b3J5ICV1LSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUyOAorbXNnaWQgIk90aGVyIHBhcnRpdGlvbnMgYWxyZWFkeSBjb3ZlciB0aGUgd2hvbGUgZGlzay4gRGVsZXRlIHNvbWUvc2hyaW5rIHRoZW0gYmVmb3JlIHJldHJ5LiIKK21zZ3N0ciAiSmluw6kgb2Rkw61seSBqacW+IHphdWrDrW1hasOtIGNlbMO9IGRpc2suIFNtYcW+dGUvem1lbsWhZXRlIG7Em2pha8OpIGEgemt1c3RlIHRvIHpub3Z1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU5MworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWQgaXMgYWxyZWFkeSBhbGxvY2F0ZWQiCittc2dzdHIgIlNla3RvciAlZCBqZSBqacW+IGFsb2tvdsOhbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYwMAorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSB0aGlyZCBwYXJ0aXRpb24gY292ZXJzIHRoZSB3aG9sZSBkaXNrIGFuZCBpcyBvZiB0eXBlIGBXaG9sZSBkaXNrJyIKK21zZ3N0ciAiVmVsbWkgc2UgZG9wb3J1xI11amUsIGFieSB0xZlldMOtIG9kZMOtbCB6YXVqw61tYWwgY2Vsw70gcHJvc3RvciBkaXNrdSBhIGJ5bCB0eXB1IOKAnkNlbMO9IGRpc2vigJwiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25pbmcgdGhlIGZpcnN0IHNlY3RvciBmcm9tICV1IHRvICV1IHRvIGJlIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiWmFyb3Zuw6F2w6Egc2UgcHJ2bsOtIHNla3RvciB6wqAldSBuYSAldSwgYWJ5IHNlIG5hY2jDoXplbCBuYSBocmFuaWNpIGN5bGluZHJ1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmVuJ3QgY292ZXJlZCB0aGUgd2hvbGUgZGlzayB3aXRoIHRoZSAzcmQgcGFydGl0aW9uLCBidXQgeW91ciB2YWx1ZVxuIgorIiVsdSAlcyBjb3ZlcnMgc29tZSBvdGhlciBwYXJ0aXRpb24uIFlvdXIgZW50cnkgaGFzIGJlZW4gY2hhbmdlZFxuIgorInRvICVsdSAlcyIKK21zZ3N0ciAiIgorIlTFmWV0w60gb2Rkw61sIG5lemFiw61yw6EgY2Vsw70gZGlzaywgYWxlIHZhxaFlIGhvZG5vdGEgJWx1ICVzXG4iCisiemFzYWh1amUgamluw6kgb2Rkw61seS4gVmHFoWUgw7pkYWplIGJ5bHkgem3Em27Em255IG5hICVsdSAlcyIKKworIyBUT0RPOiBQbHVyYWxpemUKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gU3VuT1MvU29sYXJpcyBjb21wYXRpYmlsaXR5LCBjb25zaWRlciBsZWF2aW5nIHRoaXMgcGFydGl0aW9uIGFzIFdob2xlIGRpc2sgKDUpLCBzdGFydGluZyBhdCAwLCB3aXRoICV1IHNlY3RvcnMiCittc2dzdHIgIlBva3VkIGNoY2V0ZSB6YWNob3ZhdCBrb21wYXRpYmlsaXR1IHNlIFN1bk9TL1NvbGFyaXNlbSwgenZhxb50ZSBwb25lY2jDoW7DrSB0b2hvdG8gb2Rkw61sdSBqYWtvIENlbMOpaG8gZGlza3UgKDUpLCB6YcSNw61uYWrDrWPDrWhvIG5hIDAsIG8gZMOpbGNlICV1IHNla3RvcsWvIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzUwCittc2dpZCAiTGFiZWwgSUQiCittc2dzdHIgIklEIHBvcGlzdSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc1NQorbXNnaWQgIlZvbHVtZSBJRCIKK21zZ3N0ciAiSUQgc3Zhemt1IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzY1Cittc2dpZCAiQWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiQWx0ZXJuYXRpdm7DrSBjeWxpbmRyeSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg3MQorbXNnaWQgIk51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJQb8SNZXQgYWx0ZXJuYXRpdm7DrWNoIGN5bGluZHLFryIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg5NgorbXNnaWQgIkV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJFeHRyYSBzZWt0b3J5IG5hIGN5bGluZHIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MjAKK21zZ2lkICJJbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiSW50ZXJsZWF2ZSBmYWt0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5NDQKK21zZ2lkICJSb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAiUnljaGxvc3Qgb3TDocSNZW7DrSAob3RtKSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk2OAorbXNnaWQgIk51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIlBvxI1ldCBmeXppY2vDvWNoIGN5bGluZHLFryIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwMzcKK21zZ2lkICIiCisiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gMyBhcyBXaG9sZSBkaXNrICg1KSxcbiIKKyJhcyBTdW5PUy9Tb2xhcmlzIGV4cGVjdHMgaXQgYW5kIGV2ZW4gTGludXggbGlrZXMgaXQuXG4iCittc2dzdHIgIiIKKyJadmHFvnRlIHpkYSBieSBuZWJ5bG8gdmhvZG7DqSBwb25lY2hhdCBvZGTDrWwgMyBqYWtvIENlbMO9IGRpc2sgKDUpLFxuIgorIm5lYm/FpSBTdW5PUy9Tb2xhcmlzIHRvIG/EjWVrw6F2w6EgYSBpIExpbnV4IHRvbXUgZMOhdsOhIHDFmWVkbm9zdC5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNDgKK21zZ2lkICIiCisiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMFxuIgorImlzIFVGUywgRVhUMkZTIGZpbGVzeXN0ZW0gb3IgU3VuT1Mgc3dhcC4gUHV0dGluZyBMaW51eCBzd2FwXG4iCisidGhlcmUgbWF5IGRlc3Ryb3kgeW91ciBwYXJ0aXRpb24gdGFibGUgYW5kIGJvb3RibG9jay5cbiIKKyJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdGFnIHRoZSBwYXJ0aXRpb24gYXMgTGludXggc3dhcD8iCittc2dzdHIgIiIKKyJEb3BvcnXEjXVqZSBzZSwgYWJ5IG9kZMOtbCB6YcSNw61uYWrDrWPDrSBuYSBwb3N1bnUgMCBieWwgdHlwdVxuIgorIlVGUywgRVhUMkZTIMSNaSBTdW5PUyBzd2FwLiBWeXR2b8WZZW7DrSBvZGtsw6FkYWPDrWhvIHByb3N0b3J1IHBybyBMaW51eFxuIgorIm5hIHRvbXRvIG3DrXN0xJsgYnkgbW9obG8gem5pxI1pdCB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2t1IGEgc3RhcnRvdmFjw60gYmxvay5cbiIKKyJKc3RlIHNpIGppc3RpLCDFvmUgY2hjZXRlIHRlbnRvIG9kZMOtbCBvem5hxI1pdCBqYWtvIG9ka2zDoWRhY8OtIHByb3N0b3IgcHJvXG4iCisiTGludXg/IgorCisjOiBsaWIvcGFnZXIuYzoxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FpdHBpZCBmYWlsZWQgKCVzKSIKK21zZ3N0ciAidm9sw6Fuw60gd2FpdHBpZCBzZWxoYWxvICglcykiCisKKyM6IGxpYi9wYXRoLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE4MTgKK21zZ2lkICJmYWlsZWQgdG8gY2FsbG9jYXRlIGNwdSBzZXQiCittc2dzdHIgIm1ub8W+aW51IENQVSBuZWx6ZSBhbG9rb3ZhdCIKKworIzogbGliL3BhdGguYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0ICVzIgorbXNnc3RyICJzZXpuYW0gQ1BVICVzIHNlIG5lemRhxZlpbG8gcm96ZWJyYXQiCisKKyM6IGxpYi9wYXRoLmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzayAlcyIKK21zZ3N0ciAibWFza3UgQ1BVICVzIHNlIG5lemRhxZlpbG8gcm96ZWJyYXQiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzIKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG5vdCBvcGVuIFVOSVggc29ja2V0IgorbXNnc3RyICJuZWx6ZSBvdGV2xZnDrXQga29uem9sdSIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3OAorIywgZnV6enkKK21zZ2lkICJjYW4gbm90IHNldCBvcHRpb24gZm9yIFVOSVggc29ja2V0IgorbXNnc3RyICLEjWFzb3bDvSBsaW1pdCBwcm8gJXMgbmVsemUgbmFzdGF2aXQiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG5vdCBjb25uZWN0IG9uIFVOSVggc29ja2V0IgorbXNnc3RyICJuZWx6ZSBvdGV2xZnDrXQga29uem9sdSIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHBseW1vdXRoIHJlcXVlc3QgJWMgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICIiCisKKyM6IGxpYi9yYW5kdXRpbHMuYzoxMzYKK21zZ2lkICJsaWJjIHBzZXVkby1yYW5kb20gZnVuY3Rpb25zIgorbXNnc3RyICJwc2V1ZG9uw6Fob2Ruw6kgZnVua2NlIGxpYmMiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MTcgbGliL3N3YXBwcm9iZXIuYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHByb2JlIGRldmljZSIKK21zZ3N0ciAiJXM6IHphxZnDrXplbsOtIG5lbHplIHZ5emtvdcWhZXQiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYmlndW91cyBwcm9iaW5nIHJlc3VsdDsgdXNlIHdpcGVmcyg4KSIKK21zZ3N0ciAiJXM6IG5lamVkbm96bmHEjW7DvSB2w71zbGVkZWsgemtvdcWha3ksIHBvdcW+aWp0ZSB3aXBlZnMoOCkiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHZhbGlkIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICIlczogbmVuw60gbmVwbGF0bsO9bSBvZGtsw6FkYWPDrW0gb2Rkw61sZW0iCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuc3VwcG9ydGVkIHN3YXAgdmVyc2lvbiAnJXMnIgorbXNnc3RyICIlczogbmVwb2Rwb3JvdmFuw6EgdmVyemUgb2RrbMOhZGFjw61obyBwcm9zdG9ydSDigJ4lc+KAnCIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjkwIGxvZ2luLXV0aWxzL2Noc2guYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+XVxuIgorbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gWzx1xb5pdmF0ZWw+XVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTMKK21zZ2lkICJDaGFuZ2UgeW91ciBmaW5nZXIgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIlptxJtuw60gZmluZ2VyIGluZm9ybWFjZSBvIHXFvml2YXRlbGkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5NgorbXNnaWQgIiAtZiwgLS1mdWxsLW5hbWUgPGZ1bGwtbmFtZT4gIHJlYWwgbmFtZVxuIgorbXNnc3RyICIgLWYsIC0tZnVsbC1uYW1lIDxjZWzDqV9qbcOpbm8+ICBza3V0ZcSNbsOpIGptw6lub1xuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTcKK21zZ2lkICIgLW8sIC0tb2ZmaWNlIDxvZmZpY2U+ICAgICAgICBvZmZpY2UgbnVtYmVyXG4iCittc2dzdHIgIiAtbywgLS1vZmZpY2UgPGthbmNlbMOhxZk+ICAgICAgIMSNw61zbG8ga2FuY2Vsw6HFmWVcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk4Cittc2dpZCAiIC1wLCAtLW9mZmljZS1waG9uZSA8cGhvbmU+ICAgb2ZmaWNlIHBob25lIG51bWJlclxuIgorbXNnc3RyICIgLXAsIC0tb2ZmaWNlLXBob25lIDx0ZWxlZm9uPiAgdGVsZWZvbm7DrSDEjcOtc2xvIGRvIGthbmNlbMOhxZllXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OQorbXNnaWQgIiAtaCwgLS1ob21lLXBob25lIDxwaG9uZT4gICAgIGhvbWUgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiAtaCwgLS1ob21lLXBob25lIDx0ZWxlZm9uPiAgICB0ZWxlZm9ubsOtIMSNw61zbG8gZG9txa9cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwMSBsb2dpbi11dGlscy9jaHNoLmM6NzgKK21zZ2lkICIgLXUsIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC11LCAtLWhlbHAgICAgIHpvYnJhesOtIHR1dG8gbsOhcG92xJtkdSBhIHNrb27EjcOtXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmllbGQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgInBvbG/FvmthICVzIGplIHDFmcOtbGnFoSBkbG91aMOhIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTIxIGxvZ2luLXV0aWxzL2Noc2guYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGhhcyBpbGxlZ2FsIGNoYXJhY3RlcnMiCittc2dzdHIgIiVzOiBtw6EgemFrw6F6YW7DqSB6bmFreSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1MCBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW4uZGVmcyBmb3JiaWRzIHNldHRpbmcgJXMiCittc2dzdHIgImxvZ2luLmRlZnMgemFrYXp1amUgbmFzdGF2b3bDoW7DrSAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTU4IGxvZ2luLXV0aWxzL2NoZm4uYzozMDkKK21zZ2lkICJPZmZpY2UiCittc2dzdHIgIkthbmNlbMOhxZkiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIgbG9naW4tdXRpbHMvY2hmbi5jOjE2NCBsb2dpbi11dGlscy9jaGZuLmM6MzExCittc2dpZCAiT2ZmaWNlIFBob25lIgorbXNnc3RyICJUZWxlZm9uIGRvIHByw6FjZSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2OCBsb2dpbi11dGlscy9jaGZuLmM6MTcwIGxvZ2luLXV0aWxzL2NoZm4uYzozMTMKK21zZ2lkICJIb21lIFBob25lIgorbXNnc3RyICJUZWxlZm9uIGRvbcWvIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MjMzCittc2dpZCAiQWJvcnRlZC4iCittc2dzdHIgIlVrb27EjWVuLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBoYXMgdW5leHBlY3RlZCB2YWx1ZTogJXMiCittc2dzdHIgIiVzOiBDSEZOX1JFU1RSSUNUIG3DoSBuZW/EjWVrw6F2YW5vdSBob2Rub3R1OiAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjI5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBkb2VzIG5vdCBhbGxvdyBhbnkgY2hhbmdlcyIKK21zZ3N0ciAiJXM6IENIRk5fUkVTVFJJQ1QgbmVkb3ZvbHVqZSDFvsOhZG7DqSB6bcSbbnkiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuXG4iCittc2dzdHIgIkZpbmdlciBpbmZvcm1hY2UgKk5FQllMWSogem3Em27Em255LiBaa3VzdGUgdG8gb3DEm3QgcG96ZMSbamkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIGNoYW5nZWQuXG4iCittc2dzdHIgIkZpbmdlciBpbmZvcm1hY2UgYnlseSB6bcSbbsSbbnkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MDggbG9naW4tdXRpbHMvY2hzaC5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJ5b3UgKHVzZXIgJWQpIGRvbid0IGV4aXN0LiIKK21zZ3N0ciAidnkgKHXFvml2YXRlbCAlZCkgbmVleGlzdHVqZXRlLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQxNCBsb2dpbi11dGlscy9jaHNoLmM6MjQ4IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIFwiJXNcIiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgInXFvml2YXRlbCDigJ4lc+KAnCBuZWV4aXN0dWplLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQyMCBsb2dpbi11dGlscy9jaHNoLmM6MjU0Cittc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMiCittc2dzdHIgIm3Em25pdCBsemUgcG91emUgbcOtc3Ruw60gesOhem5hbXkiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBmaW5nZXIgaW5mbyBvZiAlcyIKK21zZ3N0ciAiJXMgbmVtw6EgZG92b2xlbm8gbcSbbml0IGZpbmdlciBpbmZvcm1hY2Ugb8KgdcW+aXZhdGVsaSAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzNSBsb2dpbi11dGlscy9jaHNoLmM6MjcwCittc2dpZCAiVW5rbm93biB1c2VyIGNvbnRleHQiCittc2dzdHIgIk5lem7DoW3DvSBrb250ZXh0IHXFvml2YXRlbGUiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NDEgbG9naW4tdXRpbHMvY2hzaC5jOjI3NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAidsO9Y2hvesOtIGtvbnRleHQgcHJvICVzIG5lbHplIG5hc3Rhdml0IgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDUyCittc2dpZCAicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSBhbHRlcmluZywgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiYWt0dcOhbG7DrSBVSUQgc2UgbmVzaG9kdWplIHPCoFVJRCB1xb5pdmF0ZWxlLCBrdGVyw6lobyBtw6FtZSB6bcSbbml0LCB6bcSbbmEgemFtw610bnV0YSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBmaW5nZXIgaW5mb3JtYXRpb24gZm9yICVzLlxuIgorbXNnc3RyICJNxJtuw61tIGZpbmdlciBpbmZvcm1hY2UgbyB1xb5pdmF0ZWxpICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBub3QgY2hhbmdlZC5cbiIKK21zZ3N0ciAiRmluZ2VyIGluZm9ybWFjZSBuZWJ5bHkgem3Em27Em255LlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6NzIKK21zZ2lkICJDaGFuZ2UgeW91ciBsb2dpbiBzaGVsbC5cbiIKK21zZ3N0ciAiWm3Em27DrSB2w6HFoSBwxZlpaGxhxaFvdmFjw60gc2hlbGwuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBzcGVjaWZ5IGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBuYXN0YXbDrSBwxZlpaGxhxaFvdmFjw60gc2hlbGxcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc2Cittc2dpZCAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIHByaW50IGxpc3Qgb2Ygc2hlbGxzIGFuZCBleGl0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0LXNoZWxscyAgICB2eXDDrcWhZSBzZXpuYW0gc2hlbGzFryBhIHNrb27EjcOtXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoxMDAKK21zZ2lkICJObyBrbm93biBzaGVsbHMuIgorbXNnc3RyICJOZW7DrSB6bsOhbSDFvsOhZG7DvSBzaGVsbC4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDAKK21zZ2lkICJzaGVsbCBtdXN0IGJlIGEgZnVsbCBwYXRoIG5hbWUiCittc2dzdHIgInNoZWxsIG11c8OtIGLDvXQgemFkw6FuIMO6cGxuw71tIGptw6luZW0gY2VzdHkiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICLigJ4lc+KAnCBuZWV4aXN0dWplIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBpcyBub3QgZXhlY3V0YWJsZSIKK21zZ3N0ciAi4oCeJXPigJwgbmVuw60gc3B1c3RpdGVsbsO9bSBzb3Vib3JlbSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy4iCittc2dzdHIgIlBvem9yOiDigJ4lc+KAnCBuZW7DrSB1dmVkZW4gdsKgJXMuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjE0IGxvZ2luLXV0aWxzL2Noc2guYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLlxuIgorIlVzZSAlcyAtbCB0byBzZWUgbGlzdC4iCittc2dzdHIgIiIKKyLigJ4lc+KAnCBuZW7DrSB1dmVkZW4gdsKgJXMuXG4iCisiU2V6bmFtIGx6ZSB6b2JyYXppdCBwb21vY8OtIOKAniVzIC1s4oCcLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIHNoZWxsIG9mICVzIgorbXNnc3RyICIlcyBuZW7DrSBvcHLDoXZuxJtuIG3Em25pdCBzaGVsbCB1xb5pdmF0ZWxlICVzIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6Mjk1Cittc2dpZCAicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSBhbHRlcmluZywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiYWt0dcOhbG7DrSBVSUQgc2UgbmVzaG9kdWplIHPCoFVJRCB1xb5pdmF0ZWxlLCBrdGVyw6lobyBjaGNlbWUgem3Em25pdCwgem3Em25hIHNoZWxsdSB6YW3DrXRudXRhIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzAwCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdXIgc2hlbGwgaXMgbm90IGluICVzLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICJ2w6HFoSBzaGVsbCBuZW7DrSB2wqAlcywgem3Em25hIHNoZWxsdSB6YW3DrXRudXRhIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIHNoZWxsIGZvciAlcy5cbiIKK21zZ3N0ciAiTcSbbsOtbSBzaGVsbCBwcm8gJXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMTIKK21zZ2lkICJOZXcgc2hlbGwiCittc2dzdHIgIk5vdsO9IHNoZWxsIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzIwCittc2dpZCAiU2hlbGwgbm90IGNoYW5nZWQuIgorbXNnc3RyICJTaGVsbCBuZWJ5bCB6bcSbbsSbbi4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjUKK21zZ2lkICJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiU2hlbGwgKk5FQllMKiB6bcSbbsSbbi4gWmt1c3RlIHRvIHBvemTEm2ppIHpub3Z1LiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyOQorbXNnaWQgIiIKKyJzZXRwd25hbSBmYWlsZWRcbiIKKyJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiIgorInNldHB3bmFtIHNlbGhhbFxuIgorIlNoZWxsICpORUJZTCogem3Em27Em24uIFprdXN0ZSB0byBwb3pkxJtqaSB6bm92dS4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hlbGwgY2hhbmdlZC5cbiIKK21zZ3N0ciAiU2hlbGwgYnlsIHptxJtuxJtuLlxuIgorCisjOiBsb2dpbi11dGlscy9pc2xvY2FsLmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIDxwYXNzd29yZGZpbGU+IDx1c2VybmFtZT4uLi5cbiIKK21zZ3N0ciAiUG91xb5pdMOtOiAlcyA8c291Ym9yX3NfaGVzbGVtPiA8dcW+aXZhdGVsPuKAplxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MTc0IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyMCBzeXMtdXRpbHMvZG1lc2cuYzoxMTkzCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB0aW1lIGZvcm1hdDogJXMiCittc2dzdHIgIm5lem7DoW3DvSBmb3Jtw6F0IMSNYXN1OiAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjI4MSBsb2dpbi11dGlscy9sYXN0LmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIkludGVycnVwdGVkICVzIgorbXNnc3RyICJQxZllcnXFoWVubyAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjQzOSBsb2dpbi11dGlscy9sYXN0LmM6NDUwCittc2dpZCAicHJlYWxsb2NhdGlvbiBzaXplIGV4Y2VlZGVkIgorbXNnc3RyICJwxZllZGFsb2tvdmFuw6EgdmVsaWtvc3QgcMWZZWtyb8SNZW5hIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT4uLi5dIFs8dHR5Pi4uLl1cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIFs8dcW+aXZhdGVsPuKApl0gWzx0dHk+4oCmXVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTcyCittc2dpZCAiU2hvdyBhIGxpc3Rpbmcgb2YgbGFzdCBsb2dnZWQgaW4gdXNlcnMuXG4iCittc2dzdHIgIlVrw6HFvmUgdsO9cGlzIG5hcG9zbGVkeSBwxZlpaGzDocWhZW7DvWNoIHXFvml2YXRlbMWvLlxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc1Cittc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgIGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIC08cG/EjWV0PiAgICAgICAgICAgICBrb2xpayDFmcOhZGvFryB1a8Ohxb5lXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzYKK21zZ2lkICIgLWEsIC0taG9zdGxhc3QgICAgICAgZGlzcGxheSBob3N0bmFtZXMgaW4gdGhlIGxhc3QgY29sdW1uXG4iCittc2dzdHIgIiAtYSwgLS1ob3N0bGFzdCAgICAgICB2wqBwb3NsZWRuw61tIHNsb3VwY2kgem9icmF6w60gbsOhemV2IHN0cm9qZVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc3Cittc2dpZCAiIC1kLCAtLWRucyAgICAgICAgICAgIHRyYW5zbGF0ZSB0aGUgSVAgbnVtYmVyIGJhY2sgaW50byBhIGhvc3RuYW1lXG4iCittc2dzdHIgIiAtZCwgLS1kbnMgICAgICAgICAgICBwxZlla2zDoWTDoSBJUCBhZHJlc3kgenDEm3QgbmEgbsOhemV2IHN0cm9qZVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICB1c2UgYSBzcGVjaWZpYyBmaWxlIGluc3RlYWQgb2YgJXNcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPHNvdWJvcj4gIHBvdcW+aWplIHphZGFuw70gc291Ym9yIG3DrXN0byAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgwCittc2dpZCAiIC1GLCAtLWZ1bGx0aW1lcyAgICAgIHByaW50IGZ1bGwgbG9naW4gYW5kIGxvZ291dCB0aW1lcyBhbmQgZGF0ZXNcbiIKK21zZ3N0ciAiIC1GLCAtLWZ1bGx0aW1lcyAgICAgIHZ5cMOtxaFlIGNlbMOpIMSNYXN5IGEgZGF0YSBwxZlpaGzDocWhZW7DrSBhIG9kaGzDocWhZW7DrVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgxCittc2dpZCAiIC1pLCAtLWlwICAgICAgICAgICAgIGRpc3BsYXkgSVAgbnVtYmVycyBpbiBudW1iZXJzLWFuZC1kb3RzIG5vdGF0aW9uXG4iCittc2dzdHIgIiAtaSwgLS1pcCAgICAgICAgICAgICB2eXDDrcWhZSBJUCBhZHJlc3kgdsKgdGXEjWtvdsOpbSBmb3Jtw6F0dVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgyCittc2dpZCAiIC1uLCAtLWxpbWl0IDxudW1iZXI+IGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIC1uLCAtLWxpbWl0IDzEjcOtc2xvPiAga29saWsgxZnDoWRrxa8gdWvDoXphdFxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgzCittc2dpZCAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIGRvbid0IGRpc3BsYXkgdGhlIGhvc3RuYW1lIGZpZWxkXG4iCittc2dzdHIgIiAtUiwgLS1ub2hvc3RuYW1lICAgICBuZXpvYnJhesOtIHBvbG/Fvmt1IHPCoG7DoXp2ZW0gc3Ryb2plXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODQKK21zZ2lkICIgLXMsIC0tc2luY2UgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgc2luY2UgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtcywgLS1zaW5jZSA8xI1hcz4gICAgem9icmF6w60gxZnDoWRreSBvZCB6YWRhbsOpaG8gxI1hc3VcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NQorbXNnaWQgIiAtdCwgLS11bnRpbCA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyB1bnRpbCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIC10LCAtLXVudGlsIDzEjWFzPiAgICB6b2JyYXrDrSDFmcOhZGt5IGRvIHphZGFuw6lobyDEjWFzdSB2eWptYVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg2Cittc2dpZCAiIC1wLCAtLXByZXNlbnQgPHRpbWU+IGRpc3BsYXkgd2hvIHdlcmUgcHJlc2VudCBhdCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIC1wLCAtLXByZXNlbnQgPMSNYXM+ICB6b2JyYXrDrSwga2RvIGJ5bCB2wqB6YWRhbsO9IMSNYXMgcMWZw610b21lblxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg3Cittc2dpZCAiIC13LCAtLWZ1bGxuYW1lcyAgICAgIGRpc3BsYXkgZnVsbCB1c2VyIGFuZCBkb21haW4gbmFtZXNcbiIKK21zZ3N0ciAiIC13LCAtLWZ1bGxuYW1lcyAgICAgIHpvYnJhesOtIGNlbMOhIHXFvml2YXRlbHNrw6Egam3DqW5hIGEgbsOhenZ5IGRvbcOpblxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg4Cittc2dpZCAiIC14LCAtLXN5c3RlbSAgICAgICAgIGRpc3BsYXkgc3lzdGVtIHNodXRkb3duIGVudHJpZXMgYW5kIHJ1biBsZXZlbCBjaGFuZ2VzXG4iCittc2dzdHIgIiAteCwgLS1zeXN0ZW0gICAgICAgICB6b2JyYXrDrSB6w6F6bmFteSBzwqB2eXBudXTDrW0gc3lzdMOpbXUgYSB6bcSbbiBixJtob3bDqSDDunJvdm7Em1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg5Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXBzIGluIHRoZSBzcGVjaWZpZWQgPGZvcm1hdD46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGltZXxzaG9ydHxmdWxsfGlzb1xuIgorbXNnc3RyICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3Jtw6F0PiAgem9icmF6w60gxI1hc292w6kgw7pkYWplIHbCoGRhbsOpbSBmb3Jtw6F0dTpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGltZSwgc2hvcnQsIGZ1bGwsIGlzb1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKMW+w6FkbsO9LCBrcsOhdGvDvSwgY2Vsw70sIElTTylcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjg4MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXMgYmVnaW5zICVzIgorbXNnc3RyICIiCisiXG4iCisiJXMgemHEjcOtbsOhICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTU2IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjQKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjgKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIgorbXNnc3RyICLEjcOtc2xvIHNlIG5lemRhxZlpbG8gcm96ZWJyYXQiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NzcgbG9naW4tdXRpbHMvbGFzdC5jOjk4MiBsb2dpbi11dGlscy9sYXN0LmM6OTg3CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ4NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWUgdmFsdWUgXCIlc1wiIgorbXNnc3RyICJjaHlibsOhIGhvZG5vdGEgxI1hc3Ug4oCeJXPigJwiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzoyOSBsb2dpbi11dGlscy9saWJ1c2VyLmM6MzEKK21zZ2lkICJDb3VsZG4ndCBkcm9wIGdyb3VwIHByaXZpbGVnZXMiCittc2dzdHIgIk5lYnlsbyBtb8W+bsOpIHNlIHpiYXZpdCBza3VwaW5vdsO9Y2ggb3Byw6F2bsSbbsOtIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibGlidXNlciBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVzLiIKK21zZ3N0ciAiaW5pY2lhbGl6YWNlIGxpYnVzZXIgc2UgbmV6ZGHFmWlsYTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1MgorbXNnaWQgImNoYW5naW5nIHVzZXIgYXR0cmlidXRlIGZhaWxlZCIKK21zZ3N0ciAiem3Em25hIHZsYXN0bm9zdGkgdcW+aXZhdGVsZSBzZSBuZXpkYcWZaWxhIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIgorbXNnc3RyICJ2bGFzdG5vc3QgdcW+aXZhdGVsZSBuZXptxJtuxJtuYTogJXMiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICV1IGlzIDYwLgorIzogbG9naW4tdXRpbHMvbG9naW4uYzoxODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZWQgb3V0IGFmdGVyICV1IHNlY29uZHMiCittc2dzdHIgInZ5cHLFoWVsIMSNYXNvdsO9IGxpbWl0ICV1IHNla3VuZCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6IGNhbid0IHJlb3BlbiB0dHk6ICVtIgorbXNnc3RyICJGQVTDgUxOw406IFRUWSBuZWx6ZSB6bm92dSBvdGV2xZnDrXQ6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXMgaXMgbm90IGEgdGVybWluYWwiCittc2dzdHIgIkZBVMOBTE7DjTogJXMgbmVuw60gdGVybWluw6FsZW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzEwCisjLCBjLWZvcm1hdAorbXNnaWQgImNob3duICglcywgJWx1LCAlbHUpIGZhaWxlZDogJW0iCittc2dzdHIgInZvbMOhbsOtIGNob3duKCVzLCAlbHUsICVsdSkgc2VsaGFsbzogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzE0CisjLCBjLWZvcm1hdAorbXNnaWQgImNobW9kICglcywgJXUpIGZhaWxlZDogJW0iCittc2dzdHIgInZvbMOhbsOtIGNoZGlyKCVzLCAldSkgc2VsaGFsbzogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mzc1Cittc2dpZCAiRkFUQUw6IGJhZCB0dHkiCittc2dzdHIgIkZBVMOBTE7DjTogxaFwYXRuw6kgVFRZIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXM6IGNoYW5nZSBwZXJtaXNzaW9ucyBmYWlsZWQ6ICVtIgorbXNnc3RyICJGQVTDgUxOw406ICVzOiB6bcSbbmEgcMWZw61zdHVwb3bDvWNoIHByw6F2IHNlbGhhbGE6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGxvZ2luOiAlLipzICIKK21zZ3N0ciAiUG9zbGVkbsOtIHDFmWlobMOhxaFlbsOtOiAlLipzICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnJvbSAlLipzXG4iCittc2dzdHIgInogJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUzNAorIywgYy1mb3JtYXQKK21zZ2lkICJvbiAlLipzXG4iCittc2dzdHIgIiUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1NTIKK21zZ2lkICJ3cml0ZSBsYXN0bG9nIGZhaWxlZCIKK21zZ3N0ciAiesOhcGlzIGRvIHByb3Rva29sdSBwxZlpaGzDocWhZW7DrSAobGFzdGxvZykgc2UgbmV6ZGHFmWlsIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJESUFMVVAgQVQgJXMgQlkgJXMiCittc2dzdHIgIlDFmMONU1RVUCBVxb1JVkFURUxFICUyJHMgVllUw4HEjEVOT1UgTElOS09VIE5BIFRUWSAlMSRzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1NworIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIEZST00gJXMiCittc2dzdHIgIlDFmElITMOBxaBFTsONIFXFvUlWQVRFTEUgUk9PVCBaICUyJHMgTkEgVFRZICUxJHMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMiCittc2dzdHIgIlDFmElITMOBxaBFTsONIFXFvUlWQVRFTEUgUk9PVCBOQSBUVFkgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIEZST00gJXMiCittc2dzdHIgIlDFmElITMOBxaBFTsONIFXFvUlWQVRFTEUgJTIkcyBaICUzJHMgTkEgVFRZICUxJHMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIgorbXNnc3RyICJQxZhJSEzDgcWgRU7DjSBVxb1JVkFURUxFICUyJHMgTkEgVFRZICUxJHMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE5Cittc2dpZCAibG9naW46ICIKK21zZ3N0ciAiUMWZaWhsYcWhb3ZhY8OtIGptw6lubzoiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIlBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCittc2dzdHIgImNoeWJhIFBBTSwga29uxI3DrSBzZTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkbid0IGluaXRpYWxpemUgUEFNOiAlcyIKK21zZ3N0ciAiUEFNIG5lbHplIGluaWNpYWxpem92YXQ6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxNworIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gJXUgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICIlMSR1LiBDSFlCTsOJIFDFmElITMOBxaBFTsONIFXFvUlWQVRFTEUgJTMkcyBaICUyJHMsICU0JHMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODI1IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkNoeWJuw6kgcMWZaWhsw6HFoWVuw61cbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVE9PIE1BTlkgTE9HSU4gVFJJRVMgKCV1KSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIlDFmMONTEnFoCBNTk9ITyAoJTEkdSkgUE9LVVPFriBVxb1JVkFURUxFICUzJHMgTyBQxZhJSEzDgcWgRU7DjSBaICUyJHMsICU0JHMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiBTRVNTSU9OIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiTkXDmlNQxJrFoE7DiSBQxZhJSEzDgcWgRU7DjSBVxb1JVkFURUxFICUyJHMgWiAlMSRzLCAlMyRzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg1NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTG9naW4gaW5jb3JyZWN0XG4iCittc2dzdHIgIiIKKyJcbiIKKyJDaHlibsOpIHDFmWlobMOhxaFlbsOtXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODgyIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTIzMiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNTUKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiBzZXR1cCBwcm9ibGVtLCBhYm9ydC4iCittc2dzdHIgIiIKKyJcbiIKKyJQcm9ibMOpbSBzwqBuYXN0YXZvdsOhbsOtbSByZWxhY2UuIMSMaW5ub3N0IGJ1ZGUgdWtvbsSNZW5hLiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVMTCB1c2VyIG5hbWUgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiTlVMTE9Ww4kgam3DqW5vIHXFvml2YXRlbGUgdsKgJXM6JWQuIFDFmWVydcWhdWppIMSNaW5ub3N0LiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMDIwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRJT0NTQ1RUWSBmYWlsZWQ6ICVtIgorbXNnc3RyICJTZWxoYWxvIFRJT0NTQ1RUWTogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbjogLWggaXMgZm9yIHN1cGVydXNlciBvbmx5XG4iCittc2dzdHIgImxvZ2luOiBwxZllcMOtbmHEjSAtaCBtxa/FvmUgcG91xb7DrXQgcG91emUgc3VwZXJ1xb5pdmF0ZWxcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiBsb2dpbiBbLXBdIFstaCA8aG9zdD5dIFstSF0gW1stZl0gPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAiUG91xb5pdMOtOiBsb2dpbiBbLXBdIFstaCA8cG/EjcOtdGHEjT5dIFstSF0gWy1mXSBbPHXFvml2YXRlbD5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE5MQorbXNnaWQgIkJlZ2luIGEgc2Vzc2lvbiBvbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICJaYWjDoWrDrSByZWxhY2kgdsKgc3lzdMOpbXUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTIzMworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHVzZXIgbmFtZSBcIiVzXCIgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiTmVwbGF0bsOpIGptw6lubyB1xb5pdmF0ZWxlIOKAniVz4oCcIHbCoCVzOiVkLiBQxZllcnXFoXVqaSDEjWlubm9zdC4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJncm91cHMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiaW5pY2lhbGl6YWNlIHNrdXBpbiBzZSBuZXpkYcWZaWxhOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjc5Cittc2dpZCAic2V0Z2lkKCkgZmFpbGVkIgorbXNnc3RyICJ2b2zDoW7DrSBzZXRnaWQoKSBzZWxoYWxvIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbmV3IG1haWwuXG4iCittc2dzdHIgIk3DoXRlIG5vdm91IHBvxaF0dS5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzExCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG1haWwuXG4iCittc2dzdHIgIk3DoXRlIHN0YXJvdSBwb8WhdHUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMyNQorbXNnaWQgInNldHVpZCgpIGZhaWxlZCIKK21zZ3N0ciAidm9sw6Fuw60gc2V0dWlkKCkgc2VsaGFsbyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzMxIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNoYW5nZSBkaXJlY3RvcnkgZmFpbGVkIgorbXNnc3RyICIlczogbmVwb2RhxZlpbG8gc2Ugem3Em25pdCBhZHJlc8OhxZkiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzOCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2dpbmcgaW4gd2l0aCBob21lID0gXCIvXCIuXG4iCittc2dzdHIgIlDFmWlobGHFoXVqaSBzIGRvbcOhY8OtbSBhZHJlc8OhxZllbSBuYXN0YXZlbsO9bSBuYSDigJ4v4oCcLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNjcKK21zZ2lkICJjb3VsZG4ndCBleGVjIHNoZWxsIHNjcmlwdCIKK21zZ3N0ciAic2hlbGxvdsO9IHNrcmlwdCBuZWx6ZSBzcHVzdGl0IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNjkKK21zZ2lkICJubyBzaGVsbCIKK21zZ3N0ciAixb3DoWRuw70gc2hlbGwiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgY29udGFpbnMgaW52YWxpZCBudW1lcmljYWwgdmFsdWU6ICVzIgorbXNnc3RyICIlczogJXMgb2JzYWh1amUgbmVwbGF0bm91IMSNw61zZWxub3UgaG9kbm90dTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjM3NQorbXNnaWQgImh1c2ggbG9naW4gc3RhdHVzOiByZXN0b3JlIG9yaWdpbmFsIElEcyBmYWlsZWQiCittc2dzdHIgInN0YXYgdGljaMOpaG8gcMWZaWhsw6HFoWVuw606IG9ibm92ZW7DrSBwxa92b2Ruw61jaCBJRCBzZWxoYWxvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOCBzeXMtdXRpbHMvbHNjcHUuYzoxNTQwIHN5cy11dGlscy9sc2NwdS5jOjE1NTAKK21zZ2lkICJubyIKK21zZ3N0ciAibmUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3IG1pc2MtdXRpbHMvbHNibGsuYzoxODEKK21zZ2lkICJ1c2VyIG5hbWUiCittc2dzdHIgInXFvml2YXRlbHNrw6kgam3DqW5vIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNworbXNnaWQgIlVzZXJuYW1lIgorbXNnc3RyICJVxb5pdmF0ZWxza8OpIGptw6lubyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTggc3lzLXV0aWxzL3JlbmljZS5jOjU0Cittc2dpZCAidXNlciBJRCIKK21zZ3N0ciAiSUQgdcW+aXZhdGVsZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJwYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgImhlc2xvIG5lbsOtIHZ5xb5hZG92w6FubyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJQYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIkhlc2xvIG5lbsOtIHZ5xb5hZG92w6FubyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKK21zZ2lkICJsb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAicMWZaWhsw6HFoWVuw60gaGVzbGVtIGplIHpha8OhesOhbm8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAiTG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIlDFmWlobMOhxaFlbsOtIGhlc2xlbSBqZSB6YWvDoXrDoW5vIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgInBhc3N3b3JkIGRlZmluZWQsIGJ1dCBsb2NrZWQiCittc2dzdHIgImhlc2xvIGplIGRlZmlub3bDoW5vLCBhbGUgemFta251dG8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCittc2dpZCAiUGFzc3dvcmQgaXMgbG9ja2VkIgorbXNnc3RyICJIZXNsbyBqZSB6YW1rbnV0byIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJsb2cgaW4gZGlzYWJsZWQgYnkgbm9sb2dpbig4KSBvciBwYW1fbm9sb2dpbig4KSIKK21zZ3N0ciAicMWZaWhsw6HFoWVuw60gemFrw6F6w6FubyBwb21vY8OtIG5vbG9naW4oOCkgbmVibyBwYW1fbm9sb2dpbig4KSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJObyBsb2dpbiIKK21zZ3N0ciAiTmVwxZlpaGxhxaFvdmF0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgInByaW1hcnkgZ3JvdXAgbmFtZSIKK21zZ3N0ciAibsOhemV2IGhsYXZuw60gc2t1cGlueSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJQcmltYXJ5IGdyb3VwIgorbXNnc3RyICJIbGF2bsOtIHNrdXBpbmEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI0Cittc2dpZCAicHJpbWFyeSBncm91cCBJRCIKK21zZ3N0ciAiSUQgaGxhdm7DrSBza3VwaW55IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgbmFtZXMiCittc2dzdHIgIm7DoXp2eSBkb3BsxYhrb3bDvWNoIHNrdXBpbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiRG9wbMWIa292w6kgc2t1cGlueSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiSUQgZG9wbMWIa292w71jaCBza3VwaW55IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICJJRCBkb3BsxYhrb3bDvWNoIHNrdXBpbnkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3Cittc2dpZCAiaG9tZSBkaXJlY3RvcnkiCittc2dzdHIgImRvbW92c2vDvSBhZHJlc8OhxZkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3Cittc2dpZCAiSG9tZSBkaXJlY3RvcnkiCittc2dzdHIgIkRvbW92c2vDvSBhZHJlc8OhxZkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4Cittc2dpZCAibG9naW4gc2hlbGwiCittc2dzdHIgInDFmWlobGHFoW92YWPDrSBzaGVsbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKK21zZ2lkICJTaGVsbCIKK21zZ3N0ciAiU2hlbGwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiZnVsbCB1c2VyIG5hbWUiCittc2dzdHIgImNlbMOpIGptw6lubyB1xb5pdmF0ZWxlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgIkdlY29zIGZpZWxkIgorbXNnc3RyICJQb2xvxb5rYSBnZWNvcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKK21zZ2lkICJkYXRlIG9mIGxhc3QgbG9naW4iCittc2dzdHIgImRhdHVtIHBvc2xlZG7DrWhvIHDFmWlobMOhxaFlbsOtIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorbXNnaWQgIkxhc3QgbG9naW4iCittc2dzdHIgIlBvc2xlZG7DrSBwxZlpaGzDocWhZW7DrSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJsYXN0IHR0eSB1c2VkIgorbXNnc3RyICJuYXBvc2xlZHkgcG91xb5pdMOpIFRUWSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJMYXN0IHRlcm1pbmFsIgorbXNnc3RyICJQb3NsZWRuw60gdGVybWluw6FsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorbXNnaWQgImhvc3RuYW1lIGR1cmluZyB0aGUgbGFzdCBzZXNzaW9uIgorbXNnc3RyICJuw6F6ZXYgc3Ryb2plIGLEm2hlbSBwb3NsZWRuw60gcmVsYWNlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorbXNnaWQgIkxhc3QgaG9zdG5hbWUiCittc2dzdHIgIlBvc2xlZG7DrSBuw6F6ZXYgc3Ryb2plIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworbXNnaWQgImRhdGUgb2YgbGFzdCBmYWlsZWQgbG9naW4iCittc2dzdHIgImRhdHVtIHBvc2xlZG7DrWhvIGNoeWJuw6lobyBwxZlpaGzDocWhZW7DrSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJGYWlsZWQgbG9naW4iCittc2dzdHIgIkNoeWJuw6kgcMWZaWhsw6HFoWVuw60iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0Cittc2dpZCAid2hlcmUgZGlkIHRoZSBsb2dpbiBmYWlsPyIKK21zZ3N0ciAia2RlIHDFmWlobMOhxaFlbsOtIHNlbGhhbG8/IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorbXNnaWQgIkZhaWxlZCBsb2dpbiB0ZXJtaW5hbCIKK21zZ3N0ciAiVGVybWluw6FsIGNoeWJuw6lobyBwxZlpaGzDocWhZW7DrSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJ1c2VyJ3MgaHVzaCBzZXR0aW5ncyIKK21zZ3N0ciAidcW+aXZhdGVsc2vDqSBuYXN0YXZlbsOtIHp0acWhZW7DrSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJIdXNoZWQiCittc2dzdHIgIlp0acWhZW5vIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgImRheXMgdXNlciBpcyB3YXJuZWQgb2YgcGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAicG/EjWV0IGRuxa8sIHBvIGt0ZXLDvSB1cG96b3LFiG92YXQgdcW+aXZhdGVsZSBuYSB2eXByxaFlbsOtIGhlc2xhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24gd2FybiBpbnRlcnZhbCIKK21zZ3N0ciAiSW50ZXJ2YWwgdXBvem9ybsSbbsOtIG5hIHZ5cHLFoWVuw60gaGVzbGEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAicGFzc3dvcmQgZXhwaXJhdGlvbiBkYXRlIgorbXNnc3RyICJkYXR1bSB2eXByxaFlbsOtIGhlc2xhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIlZ5cHLFoWVuw60gaGVzbGEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4Cittc2dpZCAiZGF0ZSBvZiBsYXN0IHBhc3N3b3JkIGNoYW5nZSIKK21zZ3N0ciAiZGF0dW0gcG9zbGVkbsOtIHptxJtueSBoZXNsYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJQYXNzd29yZCBjaGFuZ2VkIgorbXNnc3RyICJIZXNsbyB6bcSbbsSbbm8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAibnVtYmVyIG9mIGRheXMgcmVxdWlyZWQgYmV0d2VlbiBjaGFuZ2VzIgorbXNnc3RyICJwb8SNZXQgZG7FryBwb8W+YWRvdmFuw71jaCBtZXppIHptxJtuYW1pIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIk1pbmltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIk1pbmltw6FsbsOtIG9kc3R1cCB6bcSbbnkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAibWF4IG51bWJlciBvZiBkYXlzIGEgcGFzc3dvcmQgbWF5IHJlbWFpbiB1bmNoYW5nZWQiCittc2dzdHIgIm1heGltw6FsbsOtIHBvxI1ldCBkbsWvLCBwbyBrdGVyw6kgaGVzbG8gc23DrSB6xa9zdGF0IG5lem3Em27Em27DqSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKK21zZ2lkICJNYXhpbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICJNYXhpbcOhbG7DrSBvZHN0dXAgem3Em255IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgInRoZSB1c2VyJ3Mgc2VjdXJpdHkgY29udGV4dCIKK21zZ3N0ciAiYmV6cGXEjW5vc3Ruw60ga29udGV4dCB1xb5pdmF0ZWxlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgIlNlbGludXggY29udGV4dCIKK21zZ3N0ciAiU2VsaW51eG92w70ga29udGV4dCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIHJ1biBieSB0aGUgdXNlciIKK21zZ3N0ciAicG/EjWV0IHByb2Nlc8WvIHNwdcWhdMSbbsO9Y2ggdcW+aXZhdGVsZW0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCittc2dpZCAiUnVubmluZyBwcm9jZXNzZXMiCittc2dzdHIgIlNwdcWhdMSbbsOpIHByb2Nlc3kiCisKKyMgVE9ETzogUGx1cmFsCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzYgbWlzYy11dGlscy9sc2Jsay5jOjIzMQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGNvbHVtbnMgc3BlY2lmaWVkLCB0aGUgbGltaXQgaXMgJXp1IGNvbHVtbnMiCittc2dzdHIgInphZMOhbm8gcMWZw61sacWhIG1ub2hvIHNsb3VwY8WvLCBvbWV6ZW7DrSBqZSAlenUgc2xvdXBjxa8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQzIHN5cy11dGlscy9sc2lwYy5jOjQ1NgorbXNnaWQgInVuc3VwcG9ydGVkIHRpbWUgdHlwZSIKK21zZ3N0ciAibmVwb2Rwb3JvdmFuw70gdHlwIMSNYXN1IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY29tcG9zZSB0aW1lIHN0cmluZyIKK21zZ3N0ciAibmV6ZGHFmWlsbyBzZSByb3plYnJhdCBob2Rub3R1IC0tdGltZW91dCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo2NDgKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICJ6w61za8OhbsOtIGRvcGzFiGtvdsO9Y2ggc2t1cGluIHNlbGhhbG8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA3MQorbXNnaWQgImludGVybmFsIGVycm9yOiB1bmtub3duIGNvbHVtbiIKK21zZ3N0ciAidm5pdMWZbsOtIGNoeWJhOiBuZXpuw6Ftw70gc2xvdXBlYyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDc1IHN5cy11dGlscy9sc2lwYy5jOjUwMyBzeXMtdXRpbHMvbHNpcGMuYzo2MjUKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY4MCBzeXMtdXRpbHMvbHNpcGMuYzo4Mzggc3lzLXV0aWxzL2xzaXBjLmM6MTAzNgorbXNnaWQgImZhaWxlZCB0byBzZXQgZGF0YSIKK21zZ3N0ciAiZGF0YSBzZSBuZXBvZGHFmWlsbyBuYXN0YXZpdCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMYXN0IGxvZ3M6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJQb3NsZWRuw60gcHJvdG9rb2x5OlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjggbG9naW4tdXRpbHMvbm9sb2dpbi5jOjI2CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDEgbWlzYy11dGlscy9tY29va2llLmM6ODIgbWlzYy11dGlscy91dWlkZC5jOjcwCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyNSBzeXMtdXRpbHMvZG1lc2cuYzoyNjQgc3lzLXV0aWxzL2lwY21rLmM6NjYKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjAgc3lzLXV0aWxzL2xzaXBjLmM6Mjc3IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNAorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo5NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODAgdGV4dC11dGlscy9saW5lLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIgJXMgW3DFmWVww61uYcSNXVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzEKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIlpvYnJhesOtIMO6ZGFqZSBvIHpuw6Ftw71jaCB1xb5pdmF0ZWzDrWNoIHbCoHN5c3TDqW11LlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzQKK21zZ2lkICIgLWEsIC0tYWNjLWV4cGlyYXRpb24gICAgIGRpc3BsYXkgaW5mbyBhYm91dCBwYXNzd29yZHMgZXhwaXJhdGlvblxuIgorbXNnc3RyICIgLWEsIC0tYWNjLWV4cGlyYXRpb24gICAgIHpvYnJhesOtIMO6ZGFqZSBvwqBwbGF0bm9zdGkgaGVzbGFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM1Cittc2dpZCAiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICBkaXNwbGF5IGRhdGEgaW4gYSBmb3JtYXQgc2ltaWxhciB0byAvZXRjL3Bhc3N3ZFxuIgorbXNnc3RyICIgLWMsIC0tY29sb24tc2VwYXJhdGUgICAgIHpvYnJhesOtIMO6ZGFqZSB2ZSB0dmFydSBwb2RvYm7DqW0gL2V0Yy9wYXNzd2RcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM2IHN5cy11dGlscy9sc2lwYy5jOjI5NgorbXNnaWQgIiAtZSwgLS1leHBvcnQgICAgICAgICAgICAgZGlzcGxheSBpbiBhbiBleHBvcnQtYWJsZSBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtZSwgLS1leHBvcnQgICAgICAgICAgICAgem9icmF6w60gdsO9c3R1cCB2wqBleHBvcnRvdmF0ZWxuw6ltIHR2YXJ1XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNworbXNnaWQgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAgZGlzcGxheSBkYXRhIGFib3V0IHRoZSB1c2VycycgbGFzdCBmYWlsZWQgbG9naW5zXG4iCittc2dzdHIgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAgem9icmF6w60gw7pkYWplIG/CoHBvc2xlZG7DrW0gY2h5Ym7DqW0gcMWZaWhsw6HFoWVuw60gdcW+aXZhdGVsxa9cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM4Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGdyb3Vwc1xuIgorbXNnc3RyICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgIHpvYnJhesOtIMO6ZGFqZSBvwqBza3VwaW7DoWNoXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOQorbXNnaWQgIiAtZywgLS1ncm91cHM9PGdyb3Vwcz4gICAgZGlzcGxheSB1c2VycyBiZWxvbmdpbmcgdG8gYSBncm91cCBpbiA8Z3JvdXBzPlxuIgorbXNnc3RyICIgLWcsIC0tZ3JvdXBzPTxza3VwaW55PiAgIHpvYnJhesOtIHXFvml2YXRlbGUgbsOhbGXFvsOtY8OtIGRvIG7Em2pha8OpIHplIDxza3VwaW4+XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MAorbXNnaWQgIiAtTCwgLS1sYXN0ICAgICAgICAgICAgICAgc2hvdyBpbmZvIGFib3V0IHRoZSB1c2VycycgbGFzdCBsb2dpbiBzZXNzaW9uc1xuIgorbXNnc3RyICIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIHpvYnJhesOtIHBvc2xlZG7DrSBwxZlpaGxhxaFvdmFjw60gcmVsYWNlIHXFvml2YXRlbMWvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MQorbXNnaWQgIiAtbCwgLS1sb2dpbnM9PGxvZ2lucz4gICAgZGlzcGxheSBvbmx5IHVzZXJzIGZyb20gPGxvZ2lucz5cbiIKK21zZ3N0ciAiIC1sLCAtLWxvZ2lucz08am3DqW5hPiAgICAgem9icmF6w60gcG91emUgdcW+aXZhdGVsZSBzwqBwxZlpaGxhxaFvdmFjw61taSA8am3DqW55PlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDIgc3lzLXV0aWxzL2xzaXBjLmM6Mjk4Cittc2dpZCAiIC1uLCAtLW5ld2xpbmUgICAgICAgICAgICBkaXNwbGF5IGVhY2ggcGllY2Ugb2YgaW5mb3JtYXRpb24gb24gYSBuZXcgbGluZVxuIgorbXNnc3RyICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIHpvYnJhesOtIGthxb5kw70gw7pkYWogbmEgc2Ftb3N0YXRuw6ltIMWZw6Fka3VcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQzIHN5cy11dGlscy9sc2lwYy5jOjI5MQorbXNnaWQgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBuZXZ5cGlzdWplIHrDoWhsYXbDrVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDQgc3lzLXV0aWxzL2xzaXBjLmM6MjkyCittc2dpZCAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBkb24ndCB0cnVuY2F0ZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAgIC0tbm90cnVuY2F0ZSAgICAgICAgICBuZXprcmFjdWplIHbDvXN0dXBcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMAorbXNnaWQgIiAtbywgLS1vdXRwdXRbPTxsaXN0Pl0gICAgZGVmaW5lIHRoZSBjb2x1bW5zIHRvIG91dHB1dFxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0Wz08c2V6bmFtPl0gIHVyxI11amUsIGt0ZXLDqSB2w71zdHVwbsOtIHNsb3VwY2Ugc2UgcG91xb5pasOtXG4iCisKKyMgRklYTUU6IFJlbW92ZSB0cmFpbGluZyBwZXJpb2QKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NgorbXNnaWQgIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGxvZ2luIGJ5IHBhc3N3b3JkLlxuIgorbXNnc3RyICIgLXAsIC0tcHdkICAgICAgICAgICAgICAgIHpvYnJhesOtIMO6ZGFqZSBzb3V2aXNlasOtY8OtIHMgcMWZaWhsw6HFoWVuw61tIGhlc2xlbVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDcgc3lzLXV0aWxzL2xzaXBjLmM6MzAyCittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICBkaXNwbGF5IGluIHJhdyBtb2RlXG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgem9icmF6w60gdsKgbmVvcHJhY292YW7DqSBwb2RvYsSbXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OAorbXNnaWQgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAgZGlzcGxheSBzeXN0ZW0gYWNjb3VudHNcbiIKK21zZ3N0ciAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICB6b2JyYXrDrSBzeXN0w6ltb3bDqSDDusSNdHlcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ5IHN5cy11dGlscy9sc2lwYy5jOjI5MworbXNnaWQgIiAgICAgLS10aW1lLWZvcm1hdD08dHlwZT4gZGlzcGxheSBkYXRlcyBpbiBzaG9ydCwgZnVsbCBvciBpc28gZm9ybWF0XG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQ9PGZvcm3DoXQ+ICB6b2JyYXrDrSDEjWFzb3bDqSDDumRhamUgcG9kbGUgZGFuw6lobyBmb3Jtw6F0dTpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3J0IChrcsOhdGvDvSksIGZ1bGwgKGNlbMO9KSwgaXNvIChJU08pXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MAorbXNnaWQgIiAtdSwgLS11c2VyLWFjY3MgICAgICAgICAgZGlzcGxheSB1c2VyIGFjY291bnRzXG4iCittc2dzdHIgIiAtdSwgLS11c2VyLWFjY3MgICAgICAgICAgem9icmF6w60gdcW+aXZhdGVsc2vDqSDDusSNdHlcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUxCittc2dpZCAiIC1aLCAtLWNvbnRleHQgICAgICAgICAgICBkaXNwbGF5IFNFTGludXggY29udGV4dHNcbiIKK21zZ3N0ciAiIC1aLCAtLWNvbnRleHQgICAgICAgICAgICB6b2JyYXrDrSBzZWxpbnV4b3bDqSBrb250ZXh0eVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTIKK21zZ2lkICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgIGRlbGltaXQgdXNlciBlbnRyaWVzIHdpdGggYSBudWwgY2hhcmFjdGVyXG4iCittc2dzdHIgIiAteiwgLS1wcmludDAgICAgICAgICAgICAgb2RkxJtsw60gesOhem5hbXkgc8KgdcW+aXZhdGVsaSBudWxvdsO9bSB6bmFrZW1cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUzCittc2dpZCAiICAgICAtLXd0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIHd0bXBcbiIKK21zZ3N0ciAiICAgICAtLXd0bXAtZmlsZSA8Y2VzdGE+ICBuYXN0YXbDrSBqaW5vdSBjZXN0dSBrwqB3dG1wXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1NAorbXNnaWQgIiAgICAgLS1idG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciBidG1wXG4iCittc2dzdHIgIiAgICAgLS1idG1wLWZpbGUgPGNlc3RhPiAgbmFzdGF2w60gamlub3UgY2VzdHUga8KgYnRtcFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTkgbWlzYy11dGlscy9maW5kbW50LmM6MTI0NyBzeXMtdXRpbHMvbHNjcHUuYzoxOTc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkRvc3R1cG7DqSBzbG91cGNlOlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NDIKK21zZ2lkICJmYWlsZWQgdG8gcmVxdWVzdCBzZWxpbnV4IHN0YXRlIgorbXNnc3RyICJuZXBvZGHFmWlsbyBzZSB2ecW+w6FkYXQgc3RhdiBTRUxpbnV4dSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDU2IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ2MAorbXNnaWQgIk9ubHkgb25lIHVzZXIgbWF5IGJlIHNwZWNpZmllZC4gVXNlIC1sIGZvciBtdWx0aXBsZSB1c2Vycy4iCittc2dzdHIgIkx6ZSB6YWRhdCBwb3V6ZSBqZWRub2hvIHXFvml2YXRlbGUuIFBybyB2w61jZSB1xb5pdmF0ZWzFryBwb3XFvmlqdGUgLWwuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo0OSBsb2dpbi11dGlscy9uZXdncnAuYzo1NQorbXNnaWQgImNvdWxkIG5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAibmVieWxvIG1vxb5uw6kgbmFzdGF2aXQgdmxhc3Rub3N0aSB0ZXJtaW7DoWx1IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo1NworbXNnaWQgImdldGxpbmUoKSBmYWlsZWQiCittc2dzdHIgImZ1bmtjZSBnZXRsaW5lKCkgc2VsaGFsYSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTQ4Cittc2dpZCAiUGFzc3dvcmQ6ICIKK21zZ3N0ciAiSGVzbG86ICIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTU0IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDA1Cittc2dpZCAiY3J5cHQgZmFpbGVkIgorbXNnc3RyICJ2b2zDoW7DrSBjcnlwdCBzZWxoYWxvIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxncm91cD5cbiIKK21zZ3N0ciAiICVzIDxza3VwaW5hPlxuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjkKK21zZ2lkICJMb2cgaW4gdG8gYSBuZXcgZ3JvdXAuXG4iCittc2dzdHIgIlDFmWlobMOhc8OtIGRvIG5vdsOpIHNrdXBpbnkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIwNworbXNnaWQgIndobyBhcmUgeW91PyIKK21zZ3N0ciAiS2RvIGpzdGU/IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTEgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjIzIHN5cy11dGlscy9uc2VudGVyLmM6NDIzCittc2dpZCAic2V0Z2lkIGZhaWxlZCIKK21zZ3N0ciAidm9sw6Fuw60gc2V0Z2lkIHNlbGhhbG8iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxNiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTgKK21zZ2lkICJubyBzdWNoIGdyb3VwIgorbXNnc3RyICLFvsOhZG7DoSB0YWtvdsOhIHNrdXBpbmEgbmVleGlzdHVqZSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjIxIHN5cy11dGlscy9tb3VudC5jOjQ5MQorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIgorbXNnc3RyICJwb3ZvbGVuw60gemFtw610bnV0byIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI3IHN5cy11dGlscy9uc2VudGVyLmM6NDI1Cittc2dpZCAic2V0dWlkIGZhaWxlZCIKK21zZ3N0ciAidm9sw6Fuw60gc2V0dWlkIHNlbGhhbG8iCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzoyOQorbXNnaWQgIlBvbGl0ZWx5IHJlZnVzZSBhIGxvZ2luLlxuIgorbXNnc3RyICJaZHZvxZlpbGUgb2Rtw610bmUgcMWZaWhsw6HFoWVuw60uXG4iCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGlzIGFjY291bnQgaXMgY3VycmVudGx5IG5vdCBhdmFpbGFibGUuXG4iCittc2dzdHIgIlRlbnRvIMO6xI1ldCBuZW7DrSBueW7DrSBkb3N0dXBuw70uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBzZXNzaW9uOiAlcyIKK21zZ3N0ciAicmVsYWNpIG5lbHplIG90ZXbFmcOtdDogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMwNAorbXNnaWQgImNhbm5vdCBjcmVhdGUgY2hpbGQgcHJvY2VzcyIKK21zZ3N0ciAibmVsemUgdnl0dm/FmWl0IHByb2NlcyBwcm8gcG90b21rYSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJuZWx6ZSBwxZllasOtdCBkbyBhZHJlc8OhxZllICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMjEKK21zZ2lkICJjYW5ub3QgYmxvY2sgc2lnbmFscyIKK21zZ3N0ciAic2lnbsOhbHkgbmVsemUgemFibG9rb3ZhdCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzM1IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM0MworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzQ5IG1pc2MtdXRpbHMvdXVpZGQuYzo0MDcgdGVybS11dGlscy9zY3JpcHQuYzo3NzEKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJvYnNsdWh1IHNpZ27DoWx1IG5lbHplIG5hc3Rhdml0IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNzQKK21zZ2lkICIgKGNvcmUgZHVtcGVkKSIKK21zZ3N0ciAiICh2w71waXMgcGFtxJt0aSB1bG/FvmVuKSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQsIGtpbGxpbmcgc2hlbGwuLi4iCittc2dzdHIgIiIKKyJcbiIKKyJSZWxhY2UgdWtvbsSNZW5hLCBzaGVsbCBidWRlIHphYml04oCmIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC4uLmtpbGxlZC5cbiIKK21zZ3N0ciAiIOKApnphYml0LlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0ODYKK21zZ2lkICJtYXkgbm90IGJlIHVzZWQgYnkgbm9uLXJvb3QgdXNlcnMiCittc2dzdHIgIm5lbHplIHBvdcW+w610IG5lc3VwZXJ1xb5pdmF0ZWxlbSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTE0Cittc2dpZCAiaW5jb3JyZWN0IHBhc3N3b3JkIgorbXNnc3RyICJjaHlibsOpIGhlc2xvIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1OTgKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwcyIKK21zZ3N0ciAic2t1cGlueSBuZWx6ZSBuYXN0YXZpdCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjEzIHN5cy11dGlscy9lamVjdC5jOjY2NQorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXAgaWQiCittc2dzdHIgIsSNw61zbG8gc2t1cGlueSAoR0lEKSBuZWx6ZSBuYXN0YXZpdCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjE1IHN5cy11dGlscy9lamVjdC5jOjY2OAorbXNnaWQgImNhbm5vdCBzZXQgdXNlciBpZCIKK21zZ3N0ciAixI3DrXNsbyB1xb5pdmF0ZWxlIChVSUQpIG5lbHplIG5hc3Rhdml0IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIC11IDx1xb5pdmF0ZWw+IDxwxZnDrWthej5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njg5IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwMQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIFstXSBbPHXFvml2YXRlbD4gW2FyZ3VtZW504oCmXV1cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjkwCittc2dpZCAiIgorIlxuIgorIlJ1biA8Y29tbWFuZD4gd2l0aCB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIG9mIDx1c2VyPi4gIElmIC11IGlzXG4iCisibm90IGdpdmVuLCBmYWxsIGJhY2sgdG8gc3UoMSktY29tcGF0aWJsZSBzZW1hbnRpY3MgYW5kIGV4ZWN1dGUgc3RhbmRhcmQgc2hlbGwuXG4iCisiVGhlIG9wdGlvbnMgLWMsIC1mLCAtbCwgYW5kIC1zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtdS5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlNwdXN0w60gPHDFmcOta2F6PiBzwqBlZmVrdGl2bsOtbSBJRCA8dcW+aXZhdGVsZT4gYSBqZWhvIHNrdXBpbnkuIE5lbsOtLWxpIHphZMOhbm8gLXUsXG4iCisicMWZZWpkZSBzZSBkbyByZcW+aW11IGtvbXBhdGliaWxuw61obyBzwqBzdSgxKSBhIHNwdXN0w60gc3RhbmRhcmRuw60gc2hlbGwuXG4iCisiUMWZZXDDrW5hxI1lIC1jLCAtZiwgLWwgYSAtcyBzZSB2esOhamVtbsSbIHZ5bHXEjXVqw60gc8KgcMWZZXDDrW5hxI1lbSAtdS5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njk3Cittc2dpZCAiIC11LCAtLXVzZXIgPHVzZXI+ICAgICAgICAgICAgIHVzZXJuYW1lXG4iCittc2dzdHIgIiAtdSwgLS11c2VyIDx1xb5pdmF0ZWw+ICAgICAgICAgam3DqW5vIHXFvml2YXRlbGVcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzAyCittc2dpZCAiIgorIlxuIgorIkNoYW5nZSB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIHRvIHRoYXQgb2YgPHVzZXI+LlxuIgorIkEgbWVyZSAtIGltcGxpZXMgLWwuICBJZiA8dXNlcj4gaXMgbm90IGdpdmVuLCByb290IGlzIGFzc3VtZWQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJabcSbbsOtIGVmZWt0aXZuw60gSUQgdcW+aXZhdGVsZSBhIHNrdXBpbnkgbmEgSUQgZGFuw6lobyA8dcW+aXZhdGVsZT4uXG4iCisiU2Ftb3Ruw6kg4oCeLeKAnCB6bmFtZW7DoSB0w6nFviDigJ4tbOKAnC4gTmVuw60tbGkgPHXFvml2YXRlbD4gemFkw6FuLCBwxZllZHBva2zDoWTDoSBzZSByb290LlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDkKK21zZ2lkICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBkbyBub3QgcmVzZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4iCittc2dzdHIgIiAtbSwgLXAsIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgIG5lcmVzZXR1amUgcHJvbcSbbm7DqSBwcm9zdMWZZWTDrVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTAKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgICAgICAgICBzcGVjaWZ5IHRoZSBwcmltYXJ5IGdyb3VwXG4iCittc2dzdHIgIiAtZywgLS1ncm91cCA8c2t1cGluYT4gICAgICAgICAgIHVyxI11amUgaGxhdm7DrSBza3VwaW51XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMQorbXNnaWQgIiIKKyIgLUcsIC0tc3VwcC1ncm91cCA8Z3JvdXA+ICAgICAgICBzcGVjaWZ5IGEgc3VwcGxlbWVudGFsIGdyb3VwXG4iCisiXG4iCittc2dzdHIgIiIKKyIgLUcsIC0tc3VwcC1ncm91cCA8c2t1cGluYT4gICAgICB1csSNdWplIGRvcGzFiGtvdm91IHNrdXBpbnVcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzEzCittc2dpZCAiIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgICAgbWFrZSB0aGUgc2hlbGwgYSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICB1xI1pbsOtIHNoZWxsIHDFmWlobGHFoW92YWPDrW0gc2hlbGxlbVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTQKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKK21zZ3N0ciAiIC1jICAtLWNvbW1hbmQgPHDFmcOta2F6PiAgICAgICAgICBwxZllZMOhIGplZGluw70gcMWZw61rYXogc2hlbGx1IHDFmWVzIC1jXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxNQorbXNnaWQgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkbyBub3QgY3JlYXRlIGEgbmV3IHNlc3Npb25cbiIKK21zZ3N0ciAiIgorIiAtLXNlc3Npb24tY29tbWFuZCA8cMWZw61rYXo+ICAgICAgcMWZZWTDoSBqZWRpbsO9IHDFmcOta2F6IHNoZWxsdSBwxZllcyAtY1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgbmV2eXR2b8WZw60gbm92b3UgcmVsYWNpXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxNworbXNnaWQgIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgIHBhc3MgLWYgdG8gdGhlIHNoZWxsIChmb3IgY3NoIG9yIHRjc2gpXG4iCittc2dzdHIgIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgIHDFmWVkw6Egc2hlbGx1IC1mIChwcm8gY3NoIG5lYm8gdGNzaClcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE4Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgICAgcnVuIDxzaGVsbD4gaWYgL2V0Yy9zaGVsbHMgYWxsb3dzIGl0XG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHNwdXN0w60gPHNoZWxsPiwgcG9rdWQgamVqIC9ldGMvc2hlbGxzIGRvdm9sdWplXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc2MgorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXAgaXMgbm90IHBvc3NpYmxlIgorbXNnaWRfcGx1cmFsICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXBzIGlzIG5vdCBwb3NzaWJsZSIKK21zZ3N0clswXSAibmVsemUgemFkYXQgdsOtY2UgamFrICVkIGRvcGzFiGtvdm91IHNrdXBpbnUiCittc2dzdHJbMV0gIm5lbHplIHphZGF0IHbDrWNlIGphayAlZCBkb3BsxYhrb3bDqSBza3VwaW55IgorbXNnc3RyWzJdICJuZWx6ZSB6YWRhdCB2w61jZSBqYWsgJWQgZG9wbMWIa292w71jaCBza3VwaW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc2OAorIywgYy1mb3JtYXQKK21zZ2lkICJncm91cCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAic2t1cGluYSAlcyBuZWV4aXN0dWplIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4ODYKK21zZ2lkICJpZ25vcmluZyAtLXByZXNlcnZlLWVudmlyb25tZW50LCBpdCdzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tbG9naW4iCittc2dzdHIgImlnbm9ydWplIHNlIC0tcHJlc2VydmUtZW52aXJvbm1lbnQsIHZ6w6FqZW1uxJsgc2UgdnlsdcSNdWplIHPCoHDFmWVww61uYcSNZW0gLS1sb2dpbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODk3Cittc2dpZCAib3B0aW9ucyAtLXtzaGVsbCxmYXN0LGNvbW1hbmQsc2Vzc2lvbi1jb21tYW5kLGxvZ2lufSBhbmQgLS11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgInDFmWVww61uYcSNZSAtLXtzaGVsbCxmYXN0LGNvbW1hbmQsc2Vzc2lvbi1jb21tYW5kLGxvZ2lufSBhIC0tdXNlciBzZSB2esOhamVtbsSbIHZ5bHXEjXVqw60iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkwMQorbXNnaWQgIm5vIGNvbW1hbmQgd2FzIHNwZWNpZmllZCIKK21zZ3N0ciAibmV6YWTDoW4gxb7DoWRuw70gcMWZw61rYXoiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkxNQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gc3BlY2lmeSBhbHRlcm5hdGl2ZSBncm91cHMiCittc2dzdHIgInBvdXplIHN1cGVydcW+aXZhdGVsIG3Fr8W+ZSB1csSNaXQgbsOhaHJhZG7DrSBza3VwaW55IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAidcW+aXZhdGVsICVzIG5lZXhpc3R1amUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyByZXN0cmljdGVkIHNoZWxsICVzIgorbXNnc3RyICJwb3XFvmlqZSBzZSBvbWV6ZW7DvSBzaGVsbCAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJwb3pvcjogbmVsemUgcMWZZWrDrXQgZG8gYWRyZXPDocWZZSAlcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEzMAorbXNnaWQgInRjZ2V0YXR0ciBmYWlsZWQiCittc2dzdHIgImZ1bmtjZSB0Y2dldGF0dHIgc2VsaGFsYSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjIwNworbXNnaWQgInRjc2V0YXR0ciBmYWlsZWQiCittc2dzdHIgImZ1bmtjZSB0Y3NldGF0dHIgc2VsaGFsYSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiJXM6IHJvb3QgbmVtw6Egxb7DoWRuw70gesOhem5hbVxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdCIKK21zZ3N0ciAiJXM6IHJvb3QgbmVtw6Egxb7DoWRuw70gesOhem5hbSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcm9vdCBwYXNzd29yZCBnYXJibGVkIgorbXNnc3RyICIlczogaGVzbG8gdcW+aXZhdGVsZSByb290IGplIHBvxaFrb3plbm8iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkNhbm5vdCBvcGVuIGFjY2VzcyB0byBjb25zb2xlLCB0aGUgcm9vdCBhY2NvdW50IGlzIGxvY2tlZC5cbiIKKyJTZWUgc3Vsb2dpbig4KSBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLlxuIgorIlxuIgorIlByZXNzIEVudGVyIHRvIGNvbnRpbnVlLlxuIgorbXNnc3RyICIiCisiXG4iCisiUMWZw61zdHVwIGtlIGtvbnpvbGUgbmVsemUgesOtc2thdCwgw7rEjWV0IHJvb3RhIGplIHV6YW3EjWVuLlxuIgorIlBvZHJvYm5vc3RpIG5hbGV6bmV0ZSB2wqBtYW51w6Fsb3bDqSBzdHLDoW5jZSBzdWxvZ2luKDgpLlxuIgorIlxuIgorIlBybyBwb2tyYcSNb3bDoW7DrSBzdGlza27Em3RlIEVudGVyLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbG9naW46ICIKK21zZ3N0ciAiUHJvIHDFmWlobMOhxaFlbsOtIGplIHTFmWViYSB6YWRhdCBoZXNsbyB1xb5pdmF0ZWxlIHJvb3Q6ICIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MAorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbG9naW46ICIKK21zZ3N0ciAiUHJvIHDFmWlobMOhxaFlbsOtIHN0aXNrbsSbdGUgRW50ZXI6ICIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIlBybyB6YWjDoWplbsOtIMO6ZHLFvmJ5IGplIHTFmWViYSB6YWRhdCBoZXNsbyB1xb5pdmF0ZWxlIHJvb3RcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0NQorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAiUHJvIHphaMOhamVuw60gw7pkcsW+Ynkgc3Rpc2tuxJt0ZSBFbnRlclxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIihvciBwcmVzcyBDb250cm9sLUQgdG8gY29udGludWUpOiAiCittc2dzdHIgIihuZWJvIHN0aXNrbsSbdGUgQ29udHJvbC1ELCBhYnlzdGUgcG9rcmHEjW92YWxpKTogIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzQyCittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSB0byBzeXN0ZW0gcm9vdCBmYWlsZWQiCittc2dzdHIgIm5lcG9kYcWZaWxvIHNlIHDFmWVqw610IGRvIGtvxZllbm92w6lobyBhZHJlc8OhxZllIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzkxCittc2dpZCAic2V0ZXhlY2NvbiBmYWlsZWQiCittc2dzdHIgImZ1bmtjZSBzZXRleGVjY29uIHNlbGhhbGEiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbdHR5IGRldmljZV1cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIDx6YcWZw616ZW7DrSBUVFk+XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MTQKK21zZ2lkICJTaW5nbGUtdXNlciBsb2dpbi5cbiIKK21zZ3N0ciAiUMWZaWhsw6HFoWVuw60gdsKgcmXFvmltdSBqZWRpbsOpaG8gdcW+aXZhdGVsZS5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxNworbXNnaWQgIiIKKyIgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgIHN0YXJ0IGEgbG9naW4gc2hlbGxcbiIKKyIgLXQsIC0tdGltZW91dCA8c2Vjb25kcz4gIG1heCB0aW1lIHRvIHdhaXQgZm9yIGEgcGFzc3dvcmQgKGRlZmF1bHQ6IG5vIGxpbWl0KVxuIgorIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAgZXhhbWluZSBwYXNzd29yZCBmaWxlcyBkaXJlY3RseSBpZiBnZXRwd25hbSgzKSBmYWlsc1xuIgorbXNnc3RyICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICBzcHVzdMOtIGxvZ2luIHNoZWxsXG4iCisiIC10LCAtLXRpbWVvdXQgPHNla3VuZHk+ICBtYXhpbcOhbG7DrSBkb2JhIMSNZWvDoW7DrSBuYSBoZXNsbyAodsO9Y2hvesOtOiDFvsOhZG7DvSBsaW1pdClcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIHNlbMW+ZS1saSBnZXRwd25hbSgzKSwgcHJvemtvdW3DoSBzb3Vib3J5IHPCoGhlc2x5IHDFmcOtbW9cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg3MSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDYzIHN5cy11dGlscy93ZGN0bC5jOjUyMworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3NTAgdGVybS11dGlscy93YWxsLmM6MTM1Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50IgorbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnQgcMWZZXDDrW5hxI1lIC0tdGltZW91dCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg5MworbXNnaWQgIm9ubHkgc3VwZXJ1c2VyIGNhbiBydW4gdGhpcyBwcm9ncmFtIgorbXNnc3RyICJ0ZW50byBwcm9ncmFtIG3Fr8W+ZSBzcG91xaF0xJt0IGplbiBzdXBlcnXFvml2YXRlbCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkzNgorbXNnaWQgImNhbm5vdCBvcGVuIGNvbnNvbGUiCittc2dzdHIgIm5lbHplIG90ZXbFmcOtdCBrb256b2x1IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTQzCittc2dpZCAiY2Fubm90IG9wZW4gcGFzc3dvcmQgZGF0YWJhc2UiCittc2dzdHIgImRhdGFiw6F6aSBzwqBoZXNseSBuZWx6ZSBvdGV2xZnDrXQiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDYW4gbm90IGV4ZWN1dGUgc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlNoZWxsIHN1cGVydcW+aXZhdGVsZSBuZWx6ZSBzcHVzdGl0XG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDI3Cittc2dpZCAiIgorIlRpbWVkIG91dFxuIgorIlxuIgorbXNnc3RyICIiCisixIxhcyB2eXByxaFlbFxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTA1OQorbXNnaWQgIiIKKyJDYW4gbm90IHdhaXQgb24gc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiIgorIsSMZWvDoW7DrSBuYSBkb2tvbsSNZW7DrSBzaGVsbHUgc3VwZXJ1xb5pdmF0ZWxlIHNlbGhhbG9cbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxNzYgdGV4dC11dGlscy90YWlsZi5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoLiIKK21zZ3N0ciAiJXM6IG5lbHplIHDFmWlkYXQgc2xlZG92w6Fuw60gcG9tb2PDrSBpbm90aWZ5LiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxODUgdGV4dC11dGlscy90YWlsZi5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgaW5vdGlmeSBldmVudHMiCittc2dzdHIgIiVzOiB1ZMOhbG9zdGkgaW5vdGlmeSBuZWx6ZSBwxZllxI3DrXN0IgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI0NiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI1MQorbXNnaWQgIkV4dHJhbmVvdXMgbmV3bGluZSBpbiBmaWxlLiBFeGl0aW5nLiIKK21zZ3N0ciAiVsKgc291Ym9ydSBqZSBwxZllYnl0ZcSNbsO9IG5vdsO9IMWZw6FkZWsuIEtvbsSNw60gc2UuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwOQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlbmFtZV1cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIFtuw6F6ZXZfc291Ym9ydV1cbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTIKK21zZ2lkICJEdW1wIFVUTVAgYW5kIFdUTVAgZmlsZXMgaW4gcmF3IGZvcm1hdC5cbiIKK21zZ3N0ciAiVnlww63FoWUgc291Ym9yeSBVVE1QIGEgV1RNUCB2wqBuZXpwcmFjb3ZhbsOpbSBmb3Jtw6F0dS5cbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTUKK21zZ2lkICIgLWYsIC0tZm9sbG93ICAgICAgICAgb3V0cHV0IGFwcGVuZGVkIGRhdGEgYXMgdGhlIGZpbGUgZ3Jvd3NcbiIKK21zZ3N0ciAiIC1mLCAtLWZvbGxvdyAgICAgICAgIHZ5cGlzdWplIGRhdGEgcMWZaWTDoXZhbsOhIHRvIHNvdWJvcnVcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTYKK21zZ2lkICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgd3JpdGUgYmFjayBkdW1wZWQgZGF0YSBpbnRvIHV0bXAgZmlsZVxuIgorbXNnc3RyICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgemFww63FoWUgdsO9cGlzIHpwxJt0IGRvIHV0bXAgc291Ym9ydVxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxNworbXNnaWQgIiAtbywgLS1vdXRwdXQgPGZpbGU+ICB3cml0ZSB0byBmaWxlIGluc3RlYWQgb2Ygc3RhbmRhcmQgb3V0cHV0XG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPHNvdWJvcj4gICAgICAgICAgICAgICAgICAgICAgemFww63FoWUgZG8gc291Ym9ydSBtw61zdG8gbmEgc3RhbmRhcmRuw60gdsO9c3R1cFxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4NAorbXNnaWQgImZvbGxvd2luZyBzdGFuZGFyZCBpbnB1dCBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAic2xlZG92w6Fuw60gc3RhbmRhcmRuw61obyB2c3R1cHUgbmVuw60gcG9kcG9yb3bDoW5vIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIHVuZHVtcCBvZiAlc1xuIgorbXNnc3RyICJacMSbdG7DvSB6w6FwaXMgdXRtcCB2w71waXN1ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgZHVtcCBvZiAlc1xuIgorbXNnc3RyICJVdG1wIHbDvXBpcyAlc1xuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTQxCittc2dpZCAiY2FuJ3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiZG/EjWFzbsO9IHNvdWJvciBuZWx6ZSBvdGV2xZnDrXQiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNyZWF0ZSBhIGxpbmsgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogbmVsemUgdnl0dm/FmWl0IG9ka2F6IG5hICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IGdldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiTmVsemUgemppc3RpdCBrb250ZXh0IHBybyAlcyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE3MAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBzZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIk5lbHplIG5hc3Rhdml0IGtvbnRleHQgcHJvICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVuY2hhbmdlZCIKK21zZ3N0ciAiJXMgbmV6bcSbbsSbbm8iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNTQKK21zZ2lkICJjYW5ub3QgZ2V0IGxvY2siCittc2dzdHIgInrDoW1layBuZWx6ZSB6w61za2F0IgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjgxCittc2dpZCAibm8gY2hhbmdlcyBtYWRlIgorbXNnc3RyICJuZXByb3ZlZGVueSDFvsOhZG7DqSB6bcSbbnkiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTAKK21zZ2lkICJjYW5ub3QgY2htb2QgZmlsZSIKK21zZ3N0ciAic291Ym9ydSBuZWx6ZSB6bcSbbml0IHByw6F2YSIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjMwNAorbXNnaWQgIkVkaXQgdGhlIHBhc3N3b3JkIG9yIGdyb3VwIGZpbGUuXG4iCittc2dzdHIgIkVkaXR1amUgc291Ym9yIHPCoGhlc2x5IG5lYm8gc2t1cGluYW1pLlxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzUwCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgZ3JvdXBzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICJUZW50byBzeXN0w6ltIHBvdcW+w612w6Egc3TDrW5vdsOpIHNrdXBpbnkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTEKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBwYXNzd29yZHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIlRlbnRvIHN5c3TDqW0gcG91xb7DrXbDoSBzdMOtbm92w6EgaGVzbGEuXG4iCisKKyMuIFRSQU5TTEFUT1JTOiB0aGlzIHByb2dyYW0gdXNlcyBmb3IgeSBhbmQgbiBycG1hdGNoKDMpLAorIy4gKiB3aGljaCBtZWFucyB0aGV5IGNhbiBiZSB0cmFuc2xhdGVkLgorIzogbG9naW4tdXRpbHMvdmlwdy5jOjM1NQorIywgYy1mb3JtYXQKK21zZ2lkICJXb3VsZCB5b3UgbGlrZSB0byBlZGl0ICVzIG5vdyBbeS9uXT8gIgorbXNnc3RyICJDaGNldGUgdGXEjyBlZGl0b3ZhdCBzb3Vib3IgJXMgW3kvbl0/IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjM3MgorbXNnaWQgImludmFsaWQgbW9udGggYXJndW1lbnQiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCBtxJtzw61jZSIKKworIzogbWlzYy11dGlscy9jYWwuYzozODAKK21zZ2lkICJpbnZhbGlkIHdlZWsgYXJndW1lbnQiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCB0w71kbmUiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzgyCittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB1c2UgMS01NCIKK21zZ3N0ciAiemFrw6F6YW7DoSBob2Rub3RhIHBybyB0w71kZW46IHBvdcW+aWp0ZSAx4oCTNTQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZXN0YW1wIG9yIHVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgImtyb2sgc2UgbmV6ZGHFmWlsbyByb3plYnJhdCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MzEKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZSIKK21zZ3N0ciAiemFrw6F6YW7DoSBob2Rub3RhIHBybyBkZW4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDMzIG1pc2MtdXRpbHMvY2FsLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlOiB1c2UgMS0lZCIKK21zZ3N0ciAiemFrw6F6YW7DoSBob2Rub3RhIHBybyBkZW46IHBvdcW+aWp0ZSAx4oCTJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDM3IG1pc2MtdXRpbHMvY2FsLmM6NDQ1Cittc2dpZCAiaWxsZWdhbCBtb250aCB2YWx1ZTogdXNlIDEtMTIiCittc2dzdHIgInpha8OhemFuw6EgaG9kbm90YSBwcm8gbcSbc8OtYzogcG91xb5panRlIDHigJMxMiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgIm5lem7DoW3DvSBuw6F6ZXYgcHJpb3JpdHk6ICVzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ0OCBtaXNjLXV0aWxzL2NhbC5jOjQ1MgorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZSIKK21zZ3N0ciAiemFrw6F6YW7DoSBob2Rub3RhIHBybyByb2siCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDUwCittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlOiB1c2UgcG9zaXRpdmUgaW50ZWdlciIKK21zZ3N0ciAiemFrw6F6YW7DoSBob2Rub3RhIHBybyByb2s6IHBvdcW+aWp0ZSBrbGFkbsOpIGNlbMOpIMSNw61zbG8iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDgyIG1pc2MtdXRpbHMvY2FsLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogeWVhciAlZCBkb2Vzbid0IGhhdmUgd2VlayAlZCIKK21zZ3N0ciAiemFrw6F6YW7DoSBob2Rub3RhIHBybyB0w71kZW46IHJvayAlZCBuZW3DoSB0w71kZW4gJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6Njc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIgorbXNnc3RyICIlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTA0ZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgJTA0ZCIKK21zZ3N0ciAiJXMgJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW1tbZGF5XSBtb250aF0geWVhcl1cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIFtbW2Rlbl0gbcSbc8OtY10gcm9rXVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vbnRobmFtZT5cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIDxuw6F6ZXZfc291Ym9ydT5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTcKK21zZ2lkICJEaXNwbGF5IGEgY2FsZW5kYXIsIG9yIHNvbWUgcGFydCBvZiBpdC5cbiIKK21zZ3N0ciAiWm9icmF6w60ga2FsZW5kw6HFmSBuZWJvIGplaG8gxI3DoXN0LlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5OAorbXNnaWQgIldpdGhvdXQgYW55IGFyZ3VtZW50cywgZGlzcGxheSB0aGUgY3VycmVudCBtb250aC5cbiIKK21zZ3N0ciAiQmV6IGFyZ3VtZW50xa8gem9icmF6w60gc291xI1hc27DvSBtxJtzw61jLlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDEKK21zZ2lkICIgLTEsIC0tb25lICAgICAgICAgICAgIHNob3cgb25seSBhIHNpbmdsZSBtb250aCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC0xLCAtLW9uZSAgICAgICAgICAgICB6b2JyYXrDrSBwb3V6ZSBqZWRlbiBtxJtzw61jICh2w71jaG96w60pXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMgorbXNnaWQgIiAtMywgLS10aHJlZSAgICAgICAgICAgc2hvdyB0aHJlZSBtb250aHMgc3Bhbm5pbmcgdGhlIGRhdGVcbiIKK21zZ3N0ciAiIC0zLCAtLXRocmVlICAgICAgICAgICB6b2JyYXrDrSB0xZlpIG3Em3PDrWNlXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMworbXNnaWQgIiAtbiwgLS1tb250aHMgPG51bT4gICAgc2hvdyBudW0gbW9udGhzIHN0YXJ0aW5nIHdpdGggZGF0ZSdzIG1vbnRoXG4iCittc2dzdHIgIiAtbiwgLS1tb250aCA8cG/EjWV0PiAgIHpvYnJhesOtIHBvxI1ldCBtxJtzw61jxa8gcG/EjcOtbmFqZSB6YWRhbsO9bSBkYXRlbVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDQKK21zZ2lkICIgLVMsIC0tc3BhbiAgICAgICAgICAgIHNwYW4gdGhlIGRhdGUgd2hlbiBkaXNwbGF5aW5nIG11bHRpcGxlIG1vbnRoc1xuIgorbXNnc3RyICIgLVMsIC0tc3BhbiAgICAgICAgICAgIHDFmWkgdsOtY2UgbcSbc8OtY8OtY2ggem9icmF6w60gb2tvbMOtXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNQorbXNnaWQgIiAtcywgLS1zdW5kYXkgICAgICAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtcywgLS1zdW5kYXkgICAgICAgICAgbmVkxJtsZSBqYWtvIHBydm7DrSBkZW4gdMO9ZG5lXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNgorbXNnaWQgIiAtbSwgLS1tb25kYXkgICAgICAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtbSwgLS1tb25kYXkgICAgICAgICAgcG9uZMSbbMOtIGpha28gcHJ2bsOtIGRlbiB0w71kbmVcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA3Cittc2dpZCAiIC1qLCAtLWp1bGlhbiAgICAgICAgICBvdXRwdXQgSnVsaWFuIGRhdGVzXG4iCittc2dzdHIgIiAtaiwgLS1qdWxpYW4gICAgICAgICAgdnlww63FoWUganVsacOhbnNrw6EgZGF0YVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDgKK21zZ2lkICIgLXksIC0teWVhciAgICAgICAgICAgIHNob3cgdGhlIHdob2xlIHllYXJcbiIKK21zZ3N0ciAiIC15LCAtLXllYXIgICAgICAgICAgICB6b2JyYXrDrSBjZWzDvSByb2tcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA5Cittc2dpZCAiIC1ZLCAtLXR3ZWx2ZSAgICAgICAgICBzaG93IHRoZSBuZXh0IHR3ZWx2ZSBtb250aHNcbiIKK21zZ3N0ciAiIC1ULCAtLXR3ZWx2ZSAgICAgICAgICB6b2JyYXrDrSBkYWzFocOtY2ggZHZhbsOhY3QgbcSbc8OtY8WvXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAxMAorbXNnaWQgIiAtdywgLS13ZWVrWz08bnVtPl0gICAgc2hvdyBVUyBvciBJU08tODYwMSB3ZWVrIG51bWJlcnNcbiIKK21zZ3N0ciAiIC13LCAtLXdlZWtbPTzEjcOtc2xvPl0gIHpvYnJhesOtIGFtZXJpY2vDoSBuZWJvIElTTy04NjAxIMSNw61zbGEgdMO9ZG7Fr1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMTEKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAgLS1jb2xvcls9PGtkeT5dICAgb2JhcnbDrSB6cHLDoXZ5IChhdXRvLCBhbHdheXMgW3bFvmR5XSBuZWJvIG5ldmVyIFtuaWtkeV0pXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSB7TEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUx9PTx2YWx1ZT5cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PGhvZG5vdGE+XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MzIKK21zZ2lkICJGaW5kIGEgZmlsZXN5c3RlbSBieSBsYWJlbCBvciBVVUlELlxuIgorbXNnc3RyICJOYWpkZSBzeXN0w6ltdSBzb3Vib3LFryBwb2RsZSBuw6F6dnUgbmVibyBVVUlELlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZXNvbHZlICclcyciCittc2dzdHIgIuKAniVz4oCcIG5lbHplIHDFmWVsb8W+aXQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjk5Cittc2dpZCAic291cmNlIGRldmljZSIKK21zZ3N0ciAiemRyb2pvdsOpIHphxZnDrXplbsOtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDAKK21zZ2lkICJtb3VudHBvaW50IgorbXNnc3RyICJib2QgcMWZaXBvamVuw60iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxCittc2dpZCAiZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJkcnVoIHN5c3TDqW11IHNvdWJvcsWvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDIKK21zZ2lkICJhbGwgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAidsWhZWNobnkgdm9sYnkgcMWZaXBvamVuw60iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMworbXNnaWQgIlZGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICJ2b2xieSBwxZlpcG9qZW7DrSB1csSNZW7DqSBwcm8gdmlydHXDoWxuw60gc291Ym9yb3bDvSBzeXN0w6ltIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDQKK21zZ2lkICJGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICJ2b2xieSBwxZlpcG9qZW7DrSB1csSNZW7DqSBwcm8gc291Ym9yb3bDvSBzeXN0w6ltIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDUKK21zZ2lkICJmaWxlc3lzdGVtIGxhYmVsIgorbXNnc3RyICJqbWVub3ZrYSBzb3Vib3JvdsOpaG8gc3lzdMOpbXUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0Cittc2dpZCAiZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICJVVUlEIHNvdWJvcm92w6lobyBzeXN0w6ltdSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA3Cittc2dpZCAicGFydGl0aW9uIGxhYmVsIgorbXNnc3RyICJqbWVub3ZrYSBvZGTDrWx1IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDkgbWlzYy11dGlscy9sc2Jsay5jOjE2MAorbXNnaWQgIm1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgImhsYXZuw606dmVkbGVqxaHDrSDEjcOtc2xvIHphxZnDrXplbsOtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTAKK21zZ2lkICJhY3Rpb24gZGV0ZWN0ZWQgYnkgLS1wb2xsIgorbXNnc3RyICJha2NlIHphY2h5Y2Vuw6kgcG9tb2PDrSAtLXBvbGwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMQorbXNnaWQgIm9sZCBtb3VudCBvcHRpb25zIHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAic3RhcsOpIHZvbGJ5IHDFmWlwb2plbsOtIHVsb8W+ZW7DqSBwb21vY8OtIC0tcG9sbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEyCittc2dpZCAib2xkIG1vdW50cG9pbnQgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICJzdGFyw70gYm9kIHDFmWlwb2plbsOtIHVsb8W+ZW7DvSBwb21vY8OtIC0tcG9sbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEzCittc2dpZCAiZmlsZXN5c3RlbSBzaXplIgorbXNnc3RyICJ2ZWxpa29zdCBzeXN0w6ltdSBzb3Vib3LFryIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE0Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIGF2YWlsYWJsZSIKK21zZ3N0ciAidmVsaWtvc3Qgc291Ym9yb3bDqWhvIHN5c3TDqW11IGplIHpuw6FtYSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE1Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIHVzZWQiCittc2dzdHIgInBvdcW+aXRvIHrCoHZlbGlrb3N0aSBzb3Vib3JvdsOpaG8gc3lzdMOpbXUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNgorbXNnaWQgImZpbGVzeXN0ZW0gdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgInZ5dcW+aXTDrSBzb3Vib3JvdsOpaG8gc3lzdMOpbXUgdsKgcHJvY2VudGVjaCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE3Cittc2dpZCAiZmlsZXN5c3RlbSByb290IgorbXNnc3RyICJrb8WZZW4gc291Ym9yb3bDqWhvIHN5c3TDqW11IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTgKK21zZ2lkICJ0YXNrIElEIgorbXNnc3RyICJJRCDDumxvaHkiCisKKyMgTsOhemV2IGFrY2UKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOQorbXNnaWQgIm1vdW50IElEIgorbXNnc3RyICJJRCBwxZlpcG9qZW7DrSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwCittc2dpZCAib3B0aW9uYWwgbW91bnQgZmllbGRzIgorbXNnc3RyICJ2b2xpdGVsbsOpIHBvbG/Fvmt5IHDFmWlwb2plbsOtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEKK21zZ2lkICJWRlMgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgInDFmcOtem5ha3kgcHJvcGFnYWNlIFZGUyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyCittc2dpZCAiZHVtcCg4KSBwZXJpb2QgaW4gZGF5cyBbZnN0YWIgb25seV0iCittc2dzdHIgInBlcmlvZGEgdm9sw6Fuw60gZHVtcCg4KSB2ZSBkbmVjaCBbcG91emUgZnN0YWJdIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMKK21zZ2lkICJwYXNzIG51bWJlciBvbiBwYXJhbGxlbCBmc2NrKDgpIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAixI3DrXNsbyBwcsWvY2hvZHUgcMWZaSBwYXJhbGVsbsOtbSBmc2NrKDgpIFtwb3V6ZSBmc3RhYl0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFjdGlvbjogJXMiCittc2dzdHIgIm5lem7DoW3DoSBha2NlOiAlcyIKKworIyBOw6F6ZXYgYWtjZQorIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQzCittc2dpZCAibW91bnQiCittc2dzdHIgInDFmWlwb2plbsOtIgorCisjIE7DoXpldiBha2NlCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDYKK21zZ2lkICJ1bW91bnQiCittc2dzdHIgIm9kcG9qZW7DrSIKKworIyBOw6F6ZXYgYWtjZQorIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ5Cittc2dpZCAicmVtb3VudCIKK21zZ3N0ciAicMWZZXBvamVuw60iCisKKyMgTsOhemV2IGFrY2UKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1MgorbXNnaWQgIm1vdmUiCittc2dzdHIgInDFmWVzdW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjgxMiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDc1IHN5cy11dGlscy9lamVjdC5jOjcxOQorIzogc3lzLXV0aWxzL21vdW50LmM6NjY5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFibGUiCittc2dzdHIgInRhYnVsa3UgbGlibW91bnR1IHNlIG5lcG9kYcWZaWxvIGluaWNpYWxpem92YXQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjgzOSB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo4NAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCByZWFkICVzIgorbXNnc3RyICJ6wqAlcyBuZWx6ZSDEjcOtc3QiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMTUgbWlzYy11dGlscy9maW5kbW50LmM6MTA4MQorIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjk0IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0ODIKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxODcgc3lzLXV0aWxzL21vdW50LmM6MTM0IHN5cy11dGlscy9tb3VudC5jOjE4MgorIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo1NiBzeXMtdXRpbHMvc3dhcG9mZi5jOjE1NSBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ0CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjc0IHN5cy11dGlscy9zd2Fwb24uYzo3MzMgc3lzLXV0aWxzL3Vtb3VudC5jOjI3NAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGl0ZXJhdG9yIgorbXNnc3RyICJpdGVyw6F0b3IgbGlibW91bnR1IHNlIG5lcG9kYcWZaWxvIGluaWNpYWxpem92YXQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODcKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJkaWZmIgorbXNnc3RyICJ0YWJkaWZmIGxpYm1vdW50dSBzZSBuZXBvZGHFmWlsbyBpbmljaWFsaXpvdmF0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTE1Cittc2dpZCAicG9sbCgpIGZhaWxlZCIKK21zZ3N0ciAidm9sw6Fuw60gcG9sbCgpIHNlbGhhbG8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiB8IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlIDxkZXZpY2U+XSBbLS10YXJnZXQgPHBhdGg+IHwgLS1tb3VudHBvaW50IDxkaXI+XVxuIgorbXNnc3RyICIiCisiICUxJHMgW3ZvbGJ5XVxuIgorIiAlMSRzIFt2b2xieV0gPHphxZnDrXplbsOtPiB8IDxib2RfcMWZaXBvamVuw60+XG4iCisiICUxJHMgW3ZvbGJ5XSA8emHFmcOtemVuw60+IDxib2RfcMWZaXBvamVuw60+XG4iCisiICUxJHMgW3ZvbGJ5XSBbLS1zb3VyY2UgPHphxZnDrXplbsOtPl0gWy0tdGFyZ2V0IDxjZXN0YT4gfCAtLW1vdW50cG9pbnQgPGFkcmVzw6HFmT5dXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTYKK21zZ2lkICJGaW5kIGEgKG1vdW50ZWQpIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIk5hamRlIChwxZlpcG9qZW7DvSkgc291Ym9yb3bDvSBzeXN0w6ltLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk5Cittc2dpZCAiIC1zLCAtLWZzdGFiICAgICAgICAgICAgc2VhcmNoIGluIHN0YXRpYyB0YWJsZSBvZiBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBobGVkw6EgdmUgc3RhdGlja8OpIHRhYnVsY2Ugc291Ym9yb3bDvWNoIHN5c3TDqW3Fr1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAwCittc2dpZCAiIC1tLCAtLW10YWIgICAgICAgICAgICAgc2VhcmNoIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1tLCAtLW10YWIgICAgICAgICAgICAgaGxlZMOhIHbCoHRhYnVsY2UgcMWZaXBvamVuw71jaCBzb3Vib3JvdsO9Y2ggc3lzdMOpbcWvXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDEKK21zZ2lkICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgc2VhcmNoIGluIGtlcm5lbCB0YWJsZSBvZiBtb3VudGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlc3lzdGVtcyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIGhsZWTDoSB2wqBqYWRlcm7DqSB0YWJ1bGNlIHDFmWlwb2plbsO9Y2ggc291Ym9yb3bDvWNoXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgc3lzdMOpbcWvICh2w71jaG96w60pXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDQKK21zZ2lkICIgLXAsIC0tcG9sbFs9PGxpc3Q+XSAgICBtb25pdG9yIGNoYW5nZXMgaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLXAsIC0tcG9sbFs9PHNlem5hbT5dICBzbGVkdWplIHptxJtueSB2wqB0YWJ1bGNlIHDFmWlwb2plbsO9Y2ggc3lzdMOpbcWvXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDUKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8bnVtPiAgICB1cHBlciBsaW1pdCBpbiBtaWxsaXNlY29uZHMgdGhhdCAtLXBvbGwgd2lsbCBibG9ja1xuIgorbXNnc3RyICIiCisiIC13LCAtLXRpbWVvdXQgPHBvxI1ldD4gIGhvcm7DrSBocmFuaWNlIHbCoG1pbGlzZWt1bmTDoWNoLCBwbyBrdGVyb3UgYnVkZSAtLXBvbGxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBibG9rb3ZhdFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA4Cittc2dpZCAiIC1BLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgYnVpbHQtaW4gZmlsdGVycywgcHJpbnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWxsICAgICAgICAgICAgICB6YWvDocW+ZSB2xaFlY2hueSB2ZXN0YXbEm27DqSBmaWx0cnksIHZ5cMOtxaFlIHbFoWVjaG55XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgc291Ym9yb3bDqSBzeXN0w6lteVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA5Cittc2dpZCAiIC1hLCAtLWFzY2lpICAgICAgICAgICAgdXNlIEFTQ0lJIGNoYXJzIGZvciB0cmVlIGZvcm1hdHRpbmdcbiIKK21zZ3N0ciAiIC1hLCAtLWFzY2lpICAgICAgICAgICAgc3Ryb20gdnlrcmVzbMOtIHplIHpuYWvFryBBU0NJSVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEwCittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKyIgLWIsIC0tYnl0ZXMgICAgICAgICAgICB2ZWxpa29zdGkgdnlwaXN1amUgdsKgYmFqdGVjaCBuYW3DrXN0byB2wqBwb2RvYsSbXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdmhvZG7DqSBwcm8gxI1sb3bEm2thXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTEKK21zZ2lkICIgLUMsIC0tbm9jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgd2hlbiBjb21wYXJpbmcgcGF0aHNcbiIKK21zZ3N0ciAiIC1DLCAtLW5vY2Fub25pY2FsaXplICAgbmVub3JtYWxpenVqZSBjZXN0eSwga2R5xb4gamUgcG9yb3Zuw6F2w6FcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMgorbXNnaWQgIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaWNhbGl6ZSBwcmludGVkIHBhdGhzXG4iCittc2dzdHIgIiAtYywgLS1jYW5vbmljYWxpemUgICAgIG5vcm1hbGl6dWplIHZ5cGlzb3ZhbsOpIGNlc3R5XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTMKK21zZ2lkICIgLUQsIC0tZGYgICAgICAgICAgICAgICBpbWl0YXRlIHRoZSBvdXRwdXQgb2YgZGYoMSlcbiIKK21zZ3N0ciAiIC1ELCAtLWRmICAgICAgICAgICAgICAgbmFwb2RvYsOtIHbDvXN0dXAgZGYoMSlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNAorbXNnaWQgIiAtZCwgLS1kaXJlY3Rpb24gPHdvcmQ+IGRpcmVjdGlvbiBvZiBzZWFyY2gsICdmb3J3YXJkJyBvciAnYmFja3dhcmQnXG4iCittc2dzdHIgIiIKKyIgLWQsIC0tZGlyZWN0aW9uIDxzbcSbcj4gc23Em3IgdnlobGVkw6F2w6Fuw60sIOKAnmZvcndhcmTigJwgKHZwxZllZCkgbmVib1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIOKAnmJhY2t3YXJk4oCcICh6cMSbdClcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNQorbXNnaWQgIiIKKyIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBjb252ZXJ0IHRhZ3MgKExBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMKSBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGRldmljZSBuYW1lc1xuIgorbXNnc3RyICIiCisiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgcMWZZXZlZGUgem5hxI1reSAoTEFCRUwsIFVVSUQsIFBBUlRVVUlELCBQQVJUTEFCRUwpXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgbmEgbsOhenZ5IHphxZnDrXplbsOtXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTcKK21zZ2lkICIgLUYsIC0tdGFiLWZpbGUgPHBhdGg+ICBhbHRlcm5hdGl2ZSBmaWxlIGZvciAtcywgLW0gb3IgLWsgb3B0aW9uc1xuIgorbXNnc3RyICIgLUYsIC0tdGFiLWZpbGUgPGNlc3RhPiBqaW7DvSBzb3Vib3IgcHJvIHDFmWVww61uYcSNZSAtcywgLW0gYSAta1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE4Cittc2dpZCAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIgorbXNnc3RyICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICB2eXDDrcWhZSBwb3V6ZSBwcnZuw60gbmFsZXplbsO9IHNvdWJvcm92w70gc3lzdMOpbVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE5Cittc2dpZCAiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJ0IHRoZSBzZW5zZSBvZiBtYXRjaGluZ1xuIgorbXNnc3RyICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBvYnLDoXTDrSB2w716bmFtIGhsZWTDoW7DrSBzaG9keVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIwIG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNyBzeXMtdXRpbHMvbHNucy5jOjYxOQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdsO9c3R1cCBmb3Jtw6F0dWplIGRvwqBKU09OdVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIxIHN5cy11dGlscy9sc25zLmM6NjIwCittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB2w71zdHVwIGZvcm3DoXR1amUgamFrbyBzZXpuYW1cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMgorbXNnaWQgIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIHVzZSBhbHRlcm5hdGl2ZSBuYW1lc3BhY2UgKC9wcm9jLzx0aWQ+L21vdW50aW5mbyBmaWxlKVxuIgorbXNnc3RyICIiCisiIC1OLCAtLXRhc2sgPFRJRD4gICAgICAgcG91xb5pamUgamluw70gam1lbm7DvSBwcm9zdG9yIChzb3Vib3JcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAvcHJvYy88VElEPi9tb3VudGluZm8pXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBjb2x1bW4gaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgbmV2eXDDrcWhZSB6w6FobGF2w60gc2xvdXBjxa9cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNAorbXNnaWQgIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIgorbXNnc3RyICIgLU8sIC0tb3B0aW9ucyA8c2V6bmFtPiBvbWV6w60gbW5vxb5pbnUgc291Ym9yb3bDvWNoIHN5c3TDqW3FryBwb2RsZSB2b2xlYiBwxZlpcG9qZW7DrVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI1Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgdGhlIG91dHB1dCBjb2x1bW5zIHRvIGJlIHNob3duXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPHNlem5hbT4gIHpvYnJhesOtIGRhbsOpIHNsb3VwY2VcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNgorbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdsO9c3R1cCB2ZSBmb3Jtw6F0dSBrbMOtxI09XCJob2Rub3RhXCJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNworbXNnaWQgIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIHByaW50IGFsbCBzdWJtb3VudHMgZm9yIHRoZSBtYXRjaGluZyBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIiCisiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgdnlww63FoWUgdsWhZWNobmEgcG9kxZnDrXplbsOhIHDFmWlwb2plbsOtXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdsKgb2Rwb3bDrWRhasOtY8OtY2ggc291Ym9yb3bDvWNoIHN5c3TDqW1lY2hcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOAorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICBuZWZvcm3DoXRvdmFuw70gdsO9c3R1cFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5Cittc2dpZCAiIgorIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorbXNnc3RyICIiCisiIC1TLCAtLXNvdXJjZSA8xZlldMSbemVjPiB6YcWZw616ZW7DrSBrwqBwxZlpcG9qZW7DrSAocG9kbGUgbsOhenZ1LFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGhsYXZuw61ob1/EjcOtc2xhOnZlZGxlasWhw61ob1/EjcOtc2xhLCBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzEKK21zZ2lkICIgLVQsIC0tdGFyZ2V0IDxwYXRoPiAgICB0aGUgcGF0aCB0byB0aGUgZmlsZXN5c3RlbSB0byB1c2VcbiIKK21zZ3N0ciAiIC1ULCAtLXRhcmdldCA8Y2VzdGE+ICAgcG91xb5pamUgc291Ym9yb3bDvSBzeXN0w6ltIG5hwqB1dmVkZW7DqSBjZXN0xJtcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMgorbXNnaWQgIiAtTSwgLS1tb3VudHBvaW50IDxkaXI+IHRoZSBtb3VudHBvaW50IGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisiIC1NLCAtLW1vdW50cG9pbnQgPGFkcmVzw6HFmT5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBhZHJlc8OhxZkgYm9kdSBwxZlpcG9qZW7DrVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMzCittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBGUyB0eXBlc1xuIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPHNlem5hbT4gICBvbWV6w60gbW5vxb5pbnUgc291Ym9yb3bDvWNoIHN5c3TDqW3FryBwb2RsZSBqZWppY2ggZHJ1aHVcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNAorbXNnaWQgIiAtVSwgLS11bmlxICAgICAgICAgICAgIGlnbm9yZSBmaWxlc3lzdGVtcyB3aXRoIGR1cGxpY2F0ZSB0YXJnZXRcbiIKK21zZ3N0ciAiIC1VLCAtLXVuaXEgICAgICAgICAgICAgaWdub3J1amUgc291Ym9yb3bDqSBzeXN0w6lteSBzwqBvcGFrdWrDrWPDrW0gc2UgY8OtbGVtXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzUgbWlzYy11dGlscy9sc2xvY2tzLmM6NTEzIHN5cy11dGlscy9sc25zLmM6NjI1Cittc2dpZCAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCittc2dzdHIgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIHZlIHNsb3VwY8OtY2ggbmV6a3JhY3VqZSB0ZXh0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzYKK21zZ2lkICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iCittc2dzdHIgIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIHXCoHbDoXphbsO9Y2ggYSBidHJmcyBwxZlpcG9qZW7DrSBuZXZ5cGlzdWplIFsvYWRyXVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM5CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS12ZXJpZnkgICAgICAgICAgIHZlcmlmeSBtb3VudCB0YWJsZSBjb250ZW50IChkZWZhdWx0IGlzIGZzdGFiKVxuIgorbXNnc3RyICIgLTEsIC0tb25lICAgICAgICAgICAgIHpvYnJhesOtIHBvdXplIGplZGVuIG3Em3PDrWMgKHbDvWNob3rDrSlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0MAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgdnlww63FoWUgcG9kcm9ibsOpIMO6ZGFqZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzY4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZGlyZWN0aW9uICclcyciCittc2dzdHIgIm5lem7DoW3DvSBzbcSbciDigJ4lcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTQ0MAorbXNnaWQgImludmFsaWQgVElEIGFyZ3VtZW50IgorbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnQgcMWZZXDDrW5hxI1lIC0tdGFzayIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUwOQorbXNnaWQgIi0tcG9sbCBhY2NlcHRzIG9ubHkgb25lIGZpbGUsIGJ1dCBtb3JlIHNwZWNpZmllZCBieSAtLXRhYi1maWxlIgorbXNnc3RyICJwxZllcMOtbmHEjSAtLXBvbGwgcMWZaWrDrW3DoSBwb3V6ZSBqZWRlbiBzb3Vib3IsIGFsZSBieWxvIGppY2ggemFkw6FubyB2w61jZSBza3J6ZSBwxZllcMOtbmHEjSAtLXRhYi1maWxlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTEzCittc2dpZCAib3B0aW9ucyAtLXRhcmdldCBhbmQgLS1zb3VyY2UgY2FuJ3QgYmUgdXNlZCB0b2dldGhlciB3aXRoIGNvbW1hbmQgbGluZSBlbGVtZW50IHRoYXQgaXMgbm90IGFuIG9wdGlvbiIKK21zZ3N0ciAidm9sYnkgLS10YXJnZXQgYSAtLXNvdXJjZSBuZW1vaG91IGLDvXQgcG91xb5pdHkgc3BvbGXEjW7EmyBzwqBwcnZrZW0gcMWZw61rYXpvdsOpaG8gxZnDoWRrdSwga3RlcsO9IG5lbsOtIHZvbGJvdSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU2MgorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGNhY2hlIgorbXNnc3RyICJwb21vY25vdSBwYW3Em8WlIGxpYm1vdW50dSBzZSBuZXBvZGHFmWlsbyBpbmljaWFsaXpvdmF0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNvbHVtbiBpcyByZXF1ZXN0ZWQsIGJ1dCAtLXBvbGwgaXMgbm90IGVuYWJsZWQiCittc2dzdHIgIlBvxb5hZG92w6FuIGplIHNsb3VwY2UgJXMsIGFsZSAtLXBvbGwgbmVuw60gemFwbnV0byIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExNgorIywgZnV6enkKK21zZ2lkICJ0YXJnZXQgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJ6ZHJvaiB6YWTDoW4gdsOtY2UgbmXFviBqZWRub3UiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgb3JkZXI6ICVzIHNwZWNpZmllZCBiZWZvcmUgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzMworbXNnaWQgInVuZGVmaW5lZCB0YXJnZXQgKGZzX2ZpbGUpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWNhbm9uaWNhbCB0YXJnZXQgcGF0aCAocmVhbDogJXMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCB0YXJnZXQ6ICVtIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHRhcmdldDogJW0iCittc2dzdHIgIiVzIG5lbHplIMSNw61zdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MQorIywgZnV6enkKK21zZ2lkICJ0YXJnZXQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIlczogbmVuw60gYWRyZXPDocWZZW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTMKK21zZ2lkICJ0YXJnZXQgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCBzb3VyY2U6ICVzPSVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlOiAlcz0lcyIKK21zZ3N0ciAidm9sw6Fuw60gcmVhZCBzZWxoYWxvOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM9JXMgdHJhbnNsYXRlZCB0byAlcyIKK21zZ3N0ciAiJXMgamUgc3BvamVubyBzwqAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTkwCittc2dpZCAidW5kZWZpbmVkIHNvdXJjZSAoZnNfc3BlYykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc291cmNlIHRhZzogJXMiCittc2dzdHIgIm5lcG9kcG9yb3ZhbsO9IGFyZ3VtZW50OiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgc291cmNlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBzb3VyY2U6ICVzOiAlbSIKK21zZ3N0ciAi4oCeJXPigJwgbmVsemUgb3RldsWZw610OiAlbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmluZCBtb3VudCBzb3VyY2UgJXMgaXMgYSBkaXJlY3Rvcnkgb3IgcmVndWxhciBmaWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiAlcyBuZW7DrSBibG9rb3bDvW0gemHFmcOtemVuw61tIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgZXhpc3RzIgorbXNnc3RyICJ6ZHJvam92w6kgemHFmcOtemVuw60iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlZGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiJXM6IHDFmWVww61uYcSNZSAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICIlczogcMWZZXDDrW5hxI1lICIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXNlcnNwYWNlIG9wdGlvbnM6ICVzIgorbXNnc3RyICJQxZllcMOtbmHEjWUgcHJvc3TFmWVka8WvOlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzd2FwYXJlYSBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIm5lcG9kcG9yb3ZhbsOhIHBvbGl0aWthIHphaGF6b3bDoW7DrTogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNjAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN3YXBhcmVhIHByaW9yaXR5IG9wdGlvbiIKK21zZ3N0ciAicHJpb3JpdHUgc2UgbmV6ZGHFmWlsbyByb3plYnJhdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgRlMgdHlwZSAocHNldWRvL25ldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQwNgorbXNnaWQgIlwibm9uZVwiIEZTIHR5cGUgaXMgcmVjb21tZW5kZWQgZm9yIGJpbmQgb3IgbW92ZSBvcHJhdGlvbnMgb25seSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgInRvdG8gasOhZHJvIG5lcG9kcG9ydWplIHDFmcOta2F6IHBybyB2b2xidSByeWNobG9zdGkgQ0QtUk9NIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIwIG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGRldGVjdCBvbi1kaXNrIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAibmV6bsOhbcO9IHR5cCBzeXN0w6ltdSBzb3Vib3LFryIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBtYXRjaCB3aXRoIG9uLWRpc2sgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib24tZGlzayAlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgInRvdG8gasOhZHJvIG5lcG9kcG9ydWplIHDFmcOta2F6IHBybyB2b2xidSByeWNobG9zdGkgQ0QtUk9NIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyB0eXBlIGlzICVzIgorbXNnc3RyICJ0eXA6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY29tbWVuZGVkIHJvb3QgRlMgcGFzc25vIGlzIDEgKGN1cnJlbnQgaXMgJWQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIHBhcnNlIGVycm9yIgorbXNnaWRfcGx1cmFsICIlZCBwYXJzZSBlcnJvcnMiCittc2dzdHJbMF0gImNoeWJhIHJvemViw61yw6Fuw61cbiIKK21zZ3N0clsxXSAiY2h5YmEgcm96ZWLDrXLDoW7DrVxuIgorbXNnc3RyWzJdICJjaHliYSByb3plYsOtcsOhbsOtXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgZXJyb3IiCittc2dpZF9wbHVyYWwgIiwgJWQgZXJyb3JzIgorbXNnc3RyWzBdICIsIGNoeWJhIgorbXNnc3RyWzFdICIsIGNoeWJhIgorbXNnc3RyWzJdICIsIGNoeWJhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgd2FybmluZyIKK21zZ2lkX3BsdXJhbCAiLCAlZCB3YXJuaW5ncyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCittc2dzdHJbMl0gIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxNworIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzLCBubyBlcnJvcnMgb3Igd2FybmluZ3MgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIlbDrWNlIGluZm9ybWFjw60gesOtc2vDoXRlIHDFmcOta2F6ZW0g4oCeJXMgLS1oZWxw4oCcLlxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMwNAorbXNnaWQgImVtcHR5IGxvbmcgb3B0aW9uIGFmdGVyIC1sIG9yIC0tbG9uZyBhcmd1bWVudCIKK21zZ3N0ciAicHLDoXpkbsOhIGRsb3Vow6Egdm9sYmEgcG8gcMWZZXDDrW5hxI1pIC1sIMSNaSAtLWxvbmciCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzI1Cittc2dpZCAidW5rbm93biBzaGVsbCBhZnRlciAtcyBvciAtLXNoZWxsIGFyZ3VtZW50IgorbXNnc3RyICJuZXpuw6Ftw70gc2hlbGwgcG8gcMWZZXDDrW5hxI1pIC1zIMSNaSAtLXNoZWxsIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLV0gPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIC1vfC0tb3B0aW9ucyA8b3B0c3RyaW5nPiBbb3B0aW9uc10gWy0tXSA8cGFyYW1ldGVycz5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIDzFmWV0xJt6ZWNfc192b2xiYW1pPiA8cGFyYW1ldHJ5PlxuIgorIiAlMSRzIFtwxZllcMOtbmHEjWVdIFstLV0gPMWZZXTEm3plY19zX3ZvbGJhbWk+IDxwYXJhbWV0cnk+XG4iCisiICUxJHMgW3DFmWVww61uYcSNZV0gLW98LS1vcHRpb25zIDzFmWV0xJt6ZWNfc192b2xiYW1pPiBbcMWZZXDDrW5hxI1lXSBbLS1dIDxwYXJhbWV0cnk+XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzM4Cittc2dpZCAiUGFyc2UgY29tbWFuZCBvcHRpb25zLlxuIgorbXNnc3RyICJSb3plYmVyZSB2b2xieSBwxZnDrWthenUuXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQxCittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIGFsbG93IGxvbmcgb3B0aW9ucyBzdGFydGluZyB3aXRoIHNpbmdsZSAtXG4iCittc2dzdHIgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgICBwxZlpasOtbcOhIGRsb3Vow6kgdm9sYnkgemHEjcOtbmFqw61jw60gamVkbsOtbSAtXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQyCittc2dpZCAiIC1sLCAtLWxvbmdvcHRpb25zIDxsb25nb3B0cz4gIHRoZSBsb25nIG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIiCisiIC1sLCAtLWxvbmdvcHRpb25zIDxkbG91aMOpX3ZvbGJ5PlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3pwb3puw6F2YW7DqSBkbG91aMOpIHZvbGJ5XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQzCittc2dpZCAiIC1uLCAtLW5hbWUgPHByb2duYW1lPiAgICAgICAgIHRoZSBuYW1lIHVuZGVyIHdoaWNoIGVycm9ycyBhcmUgcmVwb3J0ZWRcbiIKK21zZ3N0ciAiIC1uLCAtLW5hbWUgPG7DoXpldl9wcm9ncmFtdT4gICBuw6F6ZXYsIHBvZCBrdGVyw71tIGpzb3Ugb3puYW1vdsOhbnkgY2h5YnlcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDQKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICAgdGhlIHNob3J0IG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgLW8sIC0tb3B0aW9ucyA8a3LDoXRrw6lfdm9sYnk+ICByb3pwb3puw6F2YW7DqSBrcsOhdGvDqSB2b2xieVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBkaXNhYmxlIGVycm9yIHJlcG9ydGluZyBieSBnZXRvcHQoMylcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIHZ5cG5lIG96bmFtb3bDoW7DrSBjaHliIHBvbW9jw60gZ2V0b3B0KDMpXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ2Cittc2dpZCAiIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgIG5vIG5vcm1hbCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgIMW+w6FkbsO9IG5vcm3DoWxuw60gdsO9c3R1cFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NworbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICBzZXQgcXVvdGluZyBjb252ZW50aW9ucyB0byB0aG9zZSBvZiA8c2hlbGw+XG4iCittc2dzdHIgIiIKKyIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgbmFzdGF2w60ga29udmVuY2UgdXphdsOtcmFuw60gZG8gdXZvem92ZWtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9kbGUgPHNoZWxsdT5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDgKK21zZ2lkICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgdGVzdCBmb3IgZ2V0b3B0KDEpIHZlcnNpb25cbiIKK21zZ3N0ciAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIHRlc3R1amUgdmVyemkgZ2V0b3B0KDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ5Cittc2dpZCAiIC11LCAtLXVucXVvdGVkICAgICAgICAgICAgICAgIGRvIG5vdCBxdW90ZSB0aGUgb3V0cHV0XG4iCittc2dzdHIgIiAtdSwgLS11bnFvdGVkICAgICAgICAgICAgICAgICBuZXV6YXbFmWUgdsO9c3R1cCBkbyB1dm96b3Zla1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM5OSBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1OQorbXNnaWQgIm1pc3Npbmcgb3B0c3RyaW5nIGFyZ3VtZW50IgorbXNnc3RyICJjaHliw60gxZlldMSbemVjLXMtdm9sYmFtaSIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzo0NTQKK21zZ2lkICJpbnRlcm5hbCBlcnJvciwgY29udGFjdCB0aGUgYXV0aG9yLiIKK21zZ3N0ciAiVm5pdMWZbsOtIGNoeWJhLCBvem5hbXRlIGppIGF1dG9yb3ZpLiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsICVzOyB2YWxpZCBzaWduYWxzOiIKK21zZ3N0ciAibmV6bsOhbcO9IHNpZ27DoWwgJXM7IHBsYXRuw6kgc2lnbsOhbHk6IgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGlkPnw8bmFtZT4uLi5cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIDxQSUQ+fDxuw6F6ZXY+4oCmXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwNQorbXNnaWQgIkZvcmNpYmx5IHRlcm1pbmF0ZSBhIHByb2Nlc3MuXG4iCittc2dzdHIgIk7DoXNpbG7EmyB1a29uxI3DrSBwcm9jZXMuXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwOAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkbyBub3QgcmVzdHJpY3QgdGhlIG5hbWUtdG8tcGlkIGNvbnZlcnNpb24gdG8gcHJvY2Vzc2VzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIHRoZSBzYW1lIHVpZCBhcyB0aGUgcHJlc2VudCBwcm9jZXNzXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBuZW9tZXp1amUgcMWZZXZvZCB6wqBuw6F6dnUgbmEgUElEIGplbiBuYSBwcm9jZXN5IHPCoFVJRFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHNob2Ruw71tIHNlIHNvdcSNYXNuw71tIHByb2Nlc2VtXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMAorbXNnaWQgIiAtcywgLS1zaWduYWwgPHNpZ25hbD4gIHNlbmQgdGhpcyA8c2lnbmFsPiBpbnN0ZWFkIG9mIFNJR1RFUk1cbiIKK21zZ3N0ciAiIC1zLCAtLXNpZ25hbCA8c2lnbsOhbD4gIHphxaFsZSB0ZW50byA8c2lnbsOhbD4gbcOtc3RvIHNpZ27DoWx1IFNJR1RFUk1cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzEyCittc2dpZCAiIC1xLCAtLXF1ZXVlIDx2YWx1ZT4gICAgdXNlIHNpZ3F1ZXVlKDIpLCBub3Qga2lsbCgyKSwgYW5kIHBhc3MgPHZhbHVlPiBhcyBkYXRhXG4iCittc2dzdHIgIiIKKyIgLXEsIC0tcXVldWUgPGhvZG5vdGE+ICBwb3XFvmlqZSBzaWdxdWV1ZSgyKSBtw61zdG8ga2lsbCgyKSBhIGpha28gZGF0YVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHDFmWVkw6EgPGhvZG5vdHU+XG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNAorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICAgIHByaW50IHBpZHMgd2l0aG91dCBzaWduYWxpbmcgdGhlbVxuIgorbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAgICAgICB2eXDDrcWhZSDEjcOtc2xhIHByb2Nlc8WvLCBhbmnFviBieSBqaW0gemFzbGFsIHNpZ27DoWxcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE1Cittc2dpZCAiIC1sLCAtLWxpc3RbPTxzaWduYWw+XSAgbGlzdCBzaWduYWwgbmFtZXMsIG9yIGNvbnZlcnQgYSBzaWduYWwgbnVtYmVyIHRvIGEgbmFtZVxuIgorbXNnc3RyICIiCisiIC1sLCAtLWxpc3RbPTxzaWduw6FsPl0gIHZ5cMOtxaFlIHNlem5hbSBuw6F6dsWvIHNpZ27DoWzFrywgbmVibyBwxZlldmVkZSDEjcOtc2xvXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgc2lnbsOhbHUgbmEgbsOhemV2XG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNgorbXNnaWQgIiAtTCwgLS10YWJsZSAgICAgICAgICAgIGxpc3Qgc2lnbmFsIG5hbWVzIGFuZCBudW1iZXJzXG4iCittc2dzdHIgIiAtTCwgLS10YWJsZSAgICAgICAgICAgIHZ5cMOtxaFlIHNlem5hbSBuw6F6dsWvIGEgxI3DrXNlbCBzaWduw6Fsxa9cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE3Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgcGlkcyB0aGF0IHdpbGwgYmUgc2lnbmFsZWRcbiIKK21zZ3N0ciAiICAgICAtLXZlcmJvc2UgICAgICAgICAgdnlww63FoWUgxI3DrXNsYSBQSUQsIGt0ZXLDvW0gYnVkZSB6YXNsw6FuIHNpZ27DoWxcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzY3IG1pc2MtdXRpbHMva2lsbC5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbDogJXMiCittc2dzdHIgIm5lem7DoW3DvSBzaWduw6FsICVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozODcgbWlzYy11dGlscy9raWxsLmM6MzkwIG1pc2MtdXRpbHMva2lsbC5jOjM5OQorIzogbWlzYy11dGlscy9raWxsLmM6NDExIG1pc2MtdXRpbHMva2lsbC5jOjQzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiJXMgYSAlcyBzZSB2esOhamVtbsSbIHZ5bHXEjXVqw60iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM5NiBtaXNjLXV0aWxzL2tpbGwuYzo0MzggbWlzYy11dGlscy9yZW5hbWUuYzoxNzQKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc4OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc5OAorbXNnaWQgIm5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJtw6FsbyBhcmd1bWVudMWvIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uICclcycgcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgInDFmWVww61uYcSNIOKAniVz4oCcIHZ5xb5hZHVqZSBhcmd1bWVudCIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDE0IHN5cy11dGlscy9lamVjdC5jOjIwNSBzeXMtdXRpbHMvZWplY3QuYzoyMzAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Njg5IHN5cy11dGlscy90dW5lbHAuYzoxNjEgc3lzLXV0aWxzL3R1bmVscC5jOjE2OAorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE3NSBzeXMtdXRpbHMvdHVuZWxwLmM6MTgyIHN5cy11dGlscy90dW5lbHAuYzoxODkKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxOTUgc3lzLXV0aWxzL3R1bmVscC5jOjE5OSBzeXMtdXRpbHMvdHVuZWxwLmM6MjA2CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjMxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxMyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzcgdGVybS11dGlscy9zZXR0ZXJtLmM6MjcyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzQgdGVybS11dGlscy9zZXR0ZXJtLmM6MjkxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5OAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzAwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxMiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyMyB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMzEgdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ2CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDggdGVybS11dGlscy9zZXR0ZXJtLmM6MzYwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjM2MgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzczIHRlcm0tdXRpbHMvc2V0dGVybS5jOjUzNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDAKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NTAgdGVybS11dGlscy9zZXR0ZXJtLmM6NTc0CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NzkgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4OQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTk0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MDcKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjY0MAorbXNnaWQgImFyZ3VtZW50IGVycm9yIgorbXNnc3RyICJjaHliYSBhcmd1bWVudHUiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNpZ25hbCBuYW1lIG9yIG51bWJlcjogJXMiCittc2dzdHIgIm5lcGxhdG7DvSBuw6F6ZXYgbmVibyDEjcOtc2xvIHNpZ27DoWx1OiAlcyIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsICVkIHRvIHBpZCAlZFxuIgorbXNnc3RyICJ6YXPDrWzDoSBzZSBzaWduw6FsICVkIHByb2Nlc3UgJWRcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiemFzbMOhbsOtIHNpZ27DoWx1IHByb2Nlc3UgJXMgc2VsaGFsbyIKKworIzogbWlzYy11dGlscy9raWxsLmM6NTA3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHByb2Nlc3MgXCIlc1wiIgorbXNnc3RyICJwcm9jZXMg4oCeJXPigJwgbmVsemUgbmFsw6l6dCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSBuYW1lOiAlcyIKK21zZ3N0ciAibmV6bsOhbcO9IG7DoXpldiBvYm9ydSAoZmFjaWxpdHkpOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAibmV6bsOhbcO9IG7DoXpldiBwcmlvcml0eTogJXMiCisKKyMgb3BlbmxvZyBpcyBmdW5jdGlvbiBuYW1lCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVubG9nICVzOiBwYXRobmFtZSB0b28gbG9uZyIKK21zZ3N0ciAib3BlbmxvZyAlczogY2VzdGEgamUgcMWZw61sacWhIGRsb3Vow6EiCisKKyMgc29ja2V0IGlzIGZ1bmN0aW9uIG5hbWUKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjY3CisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCAlcyIKK21zZ3N0ciAic29ja2V0ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBuYW1lICVzIHBvcnQgJXM6ICVzIgorbXNnc3RyICJuZXpkYcWZaWxvIHNlIHDFmWVsb8W+aXQgbsOhemV2ICVzIHBvcnQgJXM6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMyMworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY29ubmVjdCB0byAlcyBwb3J0ICVzIgorbXNnc3RyICJuZXpkYcWZaWxvIHNlIHDFmWlwb2ppdCBrwqAlcyBwb3J0ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjM1MgorIywgYy1mb3JtYXQKK21zZ2lkICJtYXhpbXVtIGlucHV0IGxpbmVzICglZCkgZXhjZWVkZWQiCittc2dzdHIgIm1heGltw6FsbsOtIHZzdHVwbsOtIMWZw6Fka3kgKCVkKSBwxZlla3JvxI1lbnkiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NDg3Cittc2dpZCAic2VuZCBtZXNzYWdlIGZhaWxlZCIKK21zZ3N0ciAib2Rlc2zDoW7DrSB6cHLDoXZ5IHNlbGhhbG8iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTU4CisjLCBjLWZvcm1hdAorbXNnaWQgInN0cnVjdHVyZWQgZGF0YSBJRCAnJXMnIGlzIG5vdCB1bmlxdWUiCittc2dzdHIgInN0cnVrdHVyb3ZhbsOpIElEIGRhdCDigJ4lc+KAnCBuZW7DrSBqZWRpbmXEjW7DqSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1zZC1pZCB3YXMgbm90IHNwZWNpZmllZCBmb3IgLS1zZC1wYXJhbSAlcyIKK21zZ3N0ciAicMWZZXDDrW5hxI0gLS1zZC1pZCBuZWJ5bCB6YWTDoW4gc3BvbHUgc8KgLS1zZC1wYXJhbSAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NTQKK21zZ2lkICJsb2NhbHRpbWUoKSBmYWlsZWQiCittc2dzdHIgImZ1bmtjZSBsb2NhbHRpbWUoKSBzZWxoYWxhIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc2NAorIywgYy1mb3JtYXQKK21zZ2lkICJob3N0bmFtZSAnJXMnIGlzIHRvbyBsb25nIgorbXNnc3RyICJuw6F6ZXYgc3Ryb2plIOKAniVz4oCcIGplIHDFmcOtbGnFoSBkbG91aMO9IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc3MAorIywgYy1mb3JtYXQKK21zZ2lkICJ0YWcgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiem5hxI1rYSDigJ4lc+KAnCBqZSBwxZnDrWxpxaEgZGxvdWjDoSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdW5rbm93biBvcHRpb24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICJhcmd1bWVudCBuZXpuw6Ftw6lobyBwxZllcMOtbmHEjWUgc2UgaWdub3J1amU6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjg0NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlczogdXNpbmcgYXV0b21hdGljIGVycm9ycyIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50OiAlczogcG91xb7DrXZhasOtIHNlIGF1dG9tYXRpY2vDqSBjaHlieSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG1lc3NhZ2U+XVxuIgorbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gWzx6cHLDoXZhPl1cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo5OTcKK21zZ2lkICJFbnRlciBtZXNzYWdlcyBpbnRvIHRoZSBzeXN0ZW0gbG9nLlxuIgorbXNnc3RyICJWa2zDoWTDoSB6cHLDoXZ5IGRvIHN5c3TDqW1vdsOpaG8gcHJvdG9rb2x1LlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDAKK21zZ2lkICIgLWkgICAgICAgICAgICAgICAgICAgICAgIGxvZyB0aGUgbG9nZ2VyIGNvbW1hbmQncyBQSURcbiIKK21zZ3N0ciAiIC1pICAgICAgICAgICAgICAgICAgICAgICB6YXpuYW1lbsOhIFBJRCBwcm90b2tvbHVqw61jw61obyBwxZnDrWthenVcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAxCittc2dpZCAiICAgICAtLWlkWz08aWQ+XSAgICAgICAgICBsb2cgdGhlIGdpdmVuIDxpZD4sIG9yIG90aGVyd2lzZSB0aGUgUElEXG4iCittc2dzdHIgIiAgICAgLS1pZFs9PElEPl0gICAgICAgICAgemF6bmFtZW7DoSA8SUQ+LCBqaW5hayBQSURcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAyCittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICAgICBsb2cgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZVxuIgorbXNnc3RyICIgLWYsIC0tZmlsZSA8c291Ym9yPiAgICAgIHphem5hbWVuw6Egb2JzYWggdG9ob3RvIHNvdWJvcnVcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAzCittc2dpZCAiIC1lLCAtLXNraXAtZW1wdHkgICAgICAgICBkbyBub3QgbG9nIGVtcHR5IGxpbmVzIHdoZW4gcHJvY2Vzc2luZyBmaWxlc1xuIgorbXNnc3RyICIgLWUsIC0tc2tpcC1lbXB0eSAgICAgICAgIHDFmWkgenByYWNvdsOhbsOtIHNvdWJvcsWvIG5lemF6bmFtZW7DoXbDoSBwcsOhemRuw6kgxZnDoWRrdVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDQKK21zZ2lkICIgICAgIC0tbm8tYWN0ICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSB3cml0ZSB0aGUgbG9nXG4iCittc2dzdHIgIiAgICAgLS1uby1hY3QgICAgICAgICAgICAgdWTEm2zDoSB2xaFlIGtyb23EmyB6w6FwaXN1IHByb3Rva29sdVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDUKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIG1hcmsgZ2l2ZW4gbWVzc2FnZSB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1wcmlvcml0eSA8cHJpb3JpdGE+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBvem5hxI3DrSB6YWRhbm91IHpwcsOhdnUgdG91dG8gcHJpb3JpdG91XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNgorbXNnaWQgIiAgICAgLS1vY3RldC1jb3VudCAgICAgICAgdXNlIHJmYzY1ODcgb2N0ZXQgY291bnRpbmdcbiIKK21zZ3N0ciAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICBwb8SNw610w6Egb2t0ZXR5IHBvZGxlIFJGQ+KArzY1ODdcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA3Cittc2dpZCAiICAgICAtLXByaW8tcHJlZml4ICAgICAgICBsb29rIGZvciBhIHByZWZpeCBvbiBldmVyeSBsaW5lIHJlYWQgZnJvbSBzdGRpblxuIgorbXNnc3RyICIiCisiICAgICAtLXByaW8tcHJlZml4ICAgICAgICBobGVkw6EgcMWZZWRwb251IG5hIGthxb5kw6ltIMWZw6Fka3UgcMWZZcSNdGVuw6ltIHplXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFuZGFyZG7DrWhvIHZzdHVwdVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDgKK21zZ2lkICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIG91dHB1dCBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yIGFzIHdlbGxcbiIKK21zZ3N0ciAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICB6cHLDoXZ1IHZ5cMOtxaFlIHJvdm7Em8W+IG5hIHN0YW5kYXJkbsOtIGNoeWJvdsO9IHbDvXN0dXBcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA5Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICBtYXhpbXVtIHNpemUgZm9yIGEgc2luZ2xlIG1lc3NhZ2VcbiIKK21zZ3N0ciAiIC1TLCAtLXNpemUgPHZlbGlrb3N0PiAgICBtYXhpbcOhbG7DrSB2ZWxpa29zdCBqZWRuw6kgenByw6F2eVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTAKK21zZ2lkICIgLXQsIC0tdGFnIDx0YWc+ICAgICAgICAgIG1hcmsgZXZlcnkgbGluZSB3aXRoIHRoaXMgdGFnXG4iCittc2dzdHIgIiAtdCwgLS10YWcgPHpuYcSNa2E+ICAgICAgIGthxb5kw6ltdSDFmcOhZGt1IHDFmWlkw6EgdHV0byB6bmHEjWt1XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMQorbXNnaWQgIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorbXNnc3RyICIgLW4sIC0tc2VydmVyIDxuw6F6ZXY+ICAgICB6YXDDrcWhZSBkbyB0b2hvdG8gdnpkw6FsZW7DqWhvIHN5c2xvZ292w6lobyBzZXJ2ZXJ1XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMgorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcG9ydCA8cG9ydD4gICAgICAgIHVzZSB0aGlzIHBvcnQgZm9yIFVEUCBvciBUQ1AgY29ubmVjdGlvblxuIgorbXNnc3RyICIgLVAsIC0tcG9ydCA8xI3DrXNsbz4gICAgICAgcG91xb5pamUgdGVudG8gVURQIHBvcnRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEzCittc2dpZCAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICB1c2UgVENQIG9ubHlcbiIKK21zZ3N0ciAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICBwb3XFvmlqZSBwb3V6ZSBUQ1BcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE0Cittc2dpZCAiIC1kLCAtLXVkcCAgICAgICAgICAgICAgICB1c2UgVURQIG9ubHlcbiIKK21zZ3N0ciAiIC1kLCAtLXVkcCAgICAgICAgICAgICAgICBwb3XFvmlqZSBwb3V6ZSBVRFBcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE1Cittc2dpZCAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICB1c2UgdGhlIG9ic29sZXRlIEJTRCBzeXNsb2cgcHJvdG9jb2xcbiIKK21zZ3N0ciAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICBwb3XFvmlqZSB6YXN0YXJhbMO9IHByb3Rva29sIEJTRCBzeXNsb2d1XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNgorbXNnaWQgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIHVzZSB0aGUgc3lzbG9nIHByb3RvY29sICh0aGUgZGVmYXVsdCBmb3IgcmVtb3RlKTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNuaXA+IGNhbiBiZSBub3RpbWUsIG9yIG5vdHEsIGFuZC9vciBub2hvc3RcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1yZmM1NDI0Wz08w7p0csW+ZWs+XSBwb3XFvmlqZSBwcm90b2tvbCBzeXNsb2d1ICh2w71jaG96w60gcHJvIHZ6ZMOhbGVuw70gY8OtbCksXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICA8w7p0csW+ZWs+IG3Fr8W+ZSBiw710IOKAnm5vdGltZeKAnCBuZWJvIOKAnm5vdHHigJwgYS9uZWJvIOKAnm5vaG9zdOKAnFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTgKK21zZ2lkICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIElEXG4iCittc2dzdHIgIiAgICAgLS1zZC1pZCA8SUQ+ICAgICAgICAgSUQgZGF0IHN0cnVrdHVyb3ZhbsO9Y2ggcG9kbGUgUkZD4oCvNTQyNFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTkKK21zZ2lkICIgICAgIC0tc2QtcGFyYW0gPGRhdGE+ICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIG5hbWU9dmFsdWVcbiIKK21zZ3N0ciAiICAgICAtLXNkLXBhcmFtIDxkYXRhPiAgICBzdHJ1a3R1cm92YW7DoSBkYXRhIG7DoXpldj1ob2Rub3RhIHBvZGxlIFJGQ+KArzU0MjRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDIwCittc2dpZCAiICAgICAtLW1zZ2lkIDxtc2dpZD4gICAgICBzZXQgcmZjNTQyNCBtZXNzYWdlIGlkIGZpZWxkXG4iCittc2dzdHIgIiAgICAgLS1tc2dpZCA8SUQ+ICAgICAgICAgbmFzdGF2w60gcG9sb8W+a3UgSUQgenByw6F2eSBwb2RsZSBSRkPigK81NDI0XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMQorbXNnaWQgIiAtdSwgLS1zb2NrZXQgPHNvY2tldD4gICAgd3JpdGUgdG8gdGhpcyBVbml4IHNvY2tldFxuIgorbXNnc3RyICIgLXUsIC0tc29ja2V0IDxzb2NrZXQ+ICAgIHphcMOtxaFlIGRvIHRvaG90byB1bml4b3bDqWhvIHNvY2tldHVcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDIyCittc2dpZCAiIgorIiAgICAgLS1zb2NrZXQtZXJyb3JzWz08b258b2ZmfGF1dG8+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQgY29ubmVjdGlvbiBlcnJvcnMgd2hlbiB1c2luZyBVbml4IHNvY2tldHNcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1zb2NrZXQtZXJyb3JzWz08b258b2ZmfGF1dG8+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdnlwaXN1amUgY2h5Ynkgc3BvamVuw60sIHBvdcW+w612YWrDrS1saSBzZSB1bml4b3bDqVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgc29ja2V0eVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjUKK21zZ2lkICIgICAgIC0tam91cm5hbGRbPTxmaWxlPl0gIHdyaXRlIGpvdXJuYWxkIGVudHJ5XG4iCittc2dzdHIgIiIKKyIgICAgIC0tam91cm5hbGRbPTxzb3Vib3I+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgemFww63FoWUgesOhem5hbSBqb3VybmFsZFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZSAlcyIKK21zZ3N0ciAic291Ym9yICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExMjcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgaWQiCittc2dzdHIgIklEIHNlIG5lemRhxZlpbG8gcm96ZWJyYXQiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE0NQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtZXNzYWdlIHNpemUiCittc2dzdHIgInZlbGlrb3N0IHpwcsOhdnkgc2UgbmV6ZGHFmWlsbyByb3plYnJhdCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTgwCittc2dpZCAiLS1tc2dpZCBjYW5ub3QgY29udGFpbiBzcGFjZSIKK21zZ3N0ciAiLS1tc2dpZCBuZW3Fr8W+ZSBvYnNhaG92YXQgbWV6ZXJ1IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgSUQ6ICclcyciCittc2dzdHIgIm5lcGxhdG7DqSBJRCBzdHJ1a3R1cm92YW7DvWNoIGRhdGE6IOKAniVz4oCcIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICJjaHlibsO9IHBhcmFtZXRyIHN0cnVrdHVyb3ZhbsO9Y2ggZGF0OiDigJ4lc+KAnCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjE4Cittc2dpZCAiLS1maWxlIDxmaWxlPiBhbmQgPG1lc3NhZ2U+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIG1lc3NhZ2UgaXMgaWdub3JlZCIKK21zZ3N0ciAiLS1maWxlIDxzb3Vib3I+IGEgPHpwcsOhdmE+IHNlIHZ6w6FqZW1uxJsgdnlsdcSNdWrDrSwgenByw6F2YSBzZSBpZ25vcnVqZSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjI1Cittc2dpZCAiam91cm5hbGQgZW50cnkgY291bGQgbm90IGJlIHdyaXR0ZW4iCittc2dzdHIgInrDoXpuYW0gam91cm5hbGQgbmVieWxvIG1vxb5uw6kgemFwc2F0IgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8c3RyaW5nPiBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gPMWZZXTEm3plYz4gWzxzb3Vib3I+4oCmXVxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNTgKK21zZ2lkICJEaXNwbGF5IGxpbmVzIGJlZ2lubmluZyB3aXRoIGEgc3BlY2lmaWVkIHN0cmluZy5cbiIKK21zZ3N0ciAiWm9icmF6w60gxZnDoWRreSB6YcSNw61uYWrDrWPDrSB6YWRhbsO9bSDFmWV0xJt6Y2VtLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjEKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgIHVzZSB0aGUgYWx0ZXJuYXRpdmUgZGljdGlvbmFyeVxuIgorbXNnc3RyICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgIHBvdcW+aWplIG7DoWhyYWRuw60gc2xvdm7DrWtcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYyCittc2dpZCAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBjb21wYXJlIG9ubHkgYmxhbmtzIGFuZCBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLWQsIC0tYWxwaGFudW0gICAgICAgICAgIHBvcm92bsOhdsOhIHBvdXplIGLDrWzDqSBhIGFsZmFudW1lcmlja8OpIHpuYWt5XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MworbXNnaWQgIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIKK21zZ3N0ciAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBwxZlpIHBvcm92bsOhdsOhbsOtIGlnbm9ydWplIHZlbGlrb3N0IHDDrXNtZW5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY0Cittc2dpZCAiIC10LCAtLXRlcm1pbmF0ZSA8Y2hhcj4gICBkZWZpbmUgdGhlIHN0cmluZy10ZXJtaW5hdGlvbiBjaGFyYWN0ZXJcbiIKK21zZ3N0ciAiIC10LCAtLXRlcm1pbmF0ZSA8em5haz4gICB1csSNdWplIHpuYWssIGt0ZXLDvSB1a29uxI11amUgxZlldMSbemVjXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTcKK21zZ2lkICJkZXZpY2UgbmFtZSIKK21zZ3N0ciAibsOhemV2IHphxZnDrXplbsOtIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU4Cittc2dpZCAiaW50ZXJuYWwga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICJ2bml0xZluw60gamFkZXJuw70gbsOhemV2IHphxZnDrXplbsOtIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU5Cittc2dpZCAiaW50ZXJuYWwgcGFyZW50IGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAidm5pdMWZbsOtIGphZGVybsO9IG7DoXpldiBuYWTFmWF6ZW7DqWhvIHphxZnDrXplbsOtIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyIHN5cy11dGlscy96cmFtY3RsLmM6ODQKK21zZ2lkICJ3aGVyZSB0aGUgZGV2aWNlIGlzIG1vdW50ZWQiCittc2dzdHIgImthbSBqZSB6YcWZw616ZW7DrSBwxZlpcG9qZW5vIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzCittc2dpZCAiZmlsZXN5c3RlbSBMQUJFTCIKK21zZ3N0ciAiam1lbm92a2Egc291Ym9yb3bDqWhvIHN5c3TDqW11IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2Cittc2dpZCAicGFydGl0aW9uIHR5cGUgVVVJRCIKK21zZ3N0ciAiVVVJRCBkcnVodSBvZGTDrWx1IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY3Cittc2dpZCAicGFydGl0aW9uIExBQkVMIgorbXNnc3RyICJqbWVub3ZrYSBvZGTDrWx1IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcxCittc2dpZCAicmVhZC1haGVhZCBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJwxZllZG5hxI3DrXTDoW7DrSB6ZSB6YcWZw616ZW7DrSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAiemHFmcOtemVuw60gcG91emUgcHJvIMSNdGVuw60iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzMKK21zZ2lkICJyZW1vdmFibGUgZGV2aWNlIgorbXNnc3RyICJ2w71txJtubsOpIHphxZnDrXplbsOtIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc0Cittc2dpZCAicmVtb3ZhYmxlIG9yIGhvdHBsdWcgZGV2aWNlICh1c2IsIHBjbWNpYSwgLi4uKSIKK21zZ3N0ciAidnltxJtuaXRlbG7DqSBuZWJvIHphIGLEm2h1IG9kcG9qaXRlbG7DqSB6YcWZw616ZW7DrSAoVVNCLCBQQ01DSUEsIOKApikiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzUKK21zZ2lkICJyb3RhdGlvbmFsIGRldmljZSIKK21zZ3N0ciAib3TDocSNaXbDqSB6YcWZw616ZW7DrSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NgorbXNnaWQgImFkZHMgcmFuZG9tbmVzcyIKK21zZ3N0ciAicMWZaWTDoXbDoSBuw6Fob2Rub3N0IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc3Cittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIiCittc2dzdHIgImlkZW50aWZpa8OhdG9yIHphxZnDrXplbsOtIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc4Cittc2dpZCAiZGlzayBzZXJpYWwgbnVtYmVyIgorbXNnc3RyICJzw6lyaW92w6kgxI3DrXNsbyBkaXNrdSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OQorbXNnaWQgInNpemUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAidmVsaWtvc3QgemHFmcOtemVuw60iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODAKK21zZ2lkICJzdGF0ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJzdGF2IHphxZnDrXplbsOtIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgyCittc2dpZCAiZ3JvdXAgbmFtZSIKK21zZ3N0ciAibsOhemV2IHNrdXBpbnkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODMKK21zZ2lkICJkZXZpY2Ugbm9kZSBwZXJtaXNzaW9ucyIKK21zZ3N0ciAicMWZw61zdHVwb3bDoSBwcsOhdmEga8KgdXpsdSB6YcWZw616ZW7DrSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NAorbXNnaWQgImFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgInBvc3VuIHBybyB6YXJvdm7DoW7DrSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NQorbXNnaWQgIm1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgIm1pbmltw6FsbsOtIHZlbGlrb3N0IEkvTyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NgorbXNnaWQgIm9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgIm9wdGltw6FsbsOtIHZlbGlrb3N0IEkvTyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NworbXNnaWQgInBoeXNpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJ2ZWxpa29zdCBmeXppY2vDqWhvIHNla3RvcnUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODgKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJ2ZWxpa29zdCBsb2dpY2vDqWhvIHNla3RvcnUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODkKK21zZ2lkICJJL08gc2NoZWR1bGVyIG5hbWUiCittc2dzdHIgIm7DoXpldiBwbMOhbm92YcSNZSBJL08iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTAKK21zZ2lkICJyZXF1ZXN0IHF1ZXVlIHNpemUiCittc2dzdHIgInZlbGlrb3N0IGZyb250eSBwb8W+YWRhdmvFryIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MQorbXNnaWQgImRldmljZSB0eXBlIgorbXNnc3RyICJkcnVoIHphxZnDrXplbsOtIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkyCittc2dpZCAiZGlzY2FyZCBhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICJwb3N1biBwcm8gemFoYXpvdmFuw60gKGRpc2NhcmQpIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkzCittc2dpZCAiZGlzY2FyZCBncmFudWxhcml0eSIKK21zZ3N0ciAic3R1cGXFiCB6YWhhem92w6Fuw60iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTQKK21zZ2lkICJkaXNjYXJkIG1heCBieXRlcyIKK21zZ3N0ciAibWF4aW3DoWxuw60gcG/EjWV0IHphaG9kaXRlbG7DvWNoIGJhanTFryIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NQorbXNnaWQgImRpc2NhcmQgemVyb2VzIGRhdGEiCittc2dzdHIgInphaG96ZW7DrSBudWx1amUgZGF0YSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NgorbXNnaWQgIndyaXRlIHNhbWUgbWF4IGJ5dGVzIgorbXNnc3RyICJtYXhpbcOhbG7DrSBwb8SNZXQgYmFqdMWvIHBybyB6w6FwaXMga29wacOtIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk3Cittc2dpZCAidW5pcXVlIHN0b3JhZ2UgaWRlbnRpZmllciIKK21zZ3N0ciAiamVkaW5lxI1uw70gaWRlbnRpZmlrw6F0b3Igw7psb8W+acWhdMSbIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk4Cittc2dpZCAiSG9zdDpDaGFubmVsOlRhcmdldDpMdW4gZm9yIFNDU0kiCittc2dzdHIgInN0cm9qOmthbsOhbDpjw61sOmplZG5vdGthIHBybyBTQ1NJIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk5Cittc2dpZCAiZGV2aWNlIHRyYW5zcG9ydCB0eXBlIgorbXNnc3RyICJkcnVoIHRyYW5zcG9ydHUgemHFmcOtemVuw60iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDAKK21zZ2lkICJkZS1kdXBsaWNhdGVkIGNoYWluIG9mIHN1YnN5c3RlbXMiCittc2dzdHIgImRlZHVwbGlrb3ZhbsO9IMWZZXTEm3ogcG9kc3lzdMOpbcWvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAxCittc2dpZCAiZGV2aWNlIHJldmlzaW9uIgorbXNnc3RyICJyZXZpemUgemHFmcOtemVuw60iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDIKK21zZ2lkICJkZXZpY2UgdmVuZG9yIgorbXNnc3RyICJwcm9kZWpjZSB6YcWZw616ZW7DrSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjEyNzYKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkZXZpY2UgZGlyZWN0b3J5IGluIHN5c2ZzIgorbXNnc3RyICJhZHJlc8OhxZkgemHFmcOtemVuw60gdsKgc3lzZnMgc2UgbmVwb2RhxZlpbG8gb3RldsWZw610IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNvbXBvc2Ugc3lzZnMgcGF0aCIKK21zZ3N0ciAiJXM6IG5lcG9kYcWZaWxvIHNlIHNlc3Rhdml0IGNlc3R1IHbCoHN5c2ZzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgbGluayIKK21zZ3N0ciAiJXM6IG5lcG9kYcWZaWxvIHNlIHDFmWXEjcOtc3Qgb2RrYXoiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN5c2ZzIG5hbWUiCittc2dzdHIgIiVzOiBuZXBvZGHFmWlsbyBzZSB6w61za2F0IG7DoXpldiB2wqBzeXNmcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgd2hvbGUtZGlzayBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIlczogemppxaF0xJtuw60gxI3DrXNsYSB6YcWZw616ZW7DrSBjZWzDqWhvIGRpc2t1IHNlbGhhbG8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTUxIG1pc2MtdXRpbHMvbHNibGsuYzoxNTUzIG1pc2MtdXRpbHMvbHNibGsuYzoxNTc4CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU4MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGlzdCAnJXMnIgorbXNnc3RyICJuZXpkYcWZaWxvIHNlIHJvemVicmF0IHNlem5hbSDigJ4lc+KAnCIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgZXhjbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICJzZXpuYW0gdnluZWNoYW7DvWNoIHphxZnDrXplbsOtIGplIHDFmcOtbGnFoSBkbG91aMO9IChocmFuaWNlIGplICVkIHphxZnDrXplbsOtKSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgaW5jbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICJzZXpuYW0gemFocm51dMO9Y2ggemHFmcOtemVuw60gamUgcMWZw61sacWhIGRsb3Vow70gKGhyYW5pY2UgamUgJWQgemHFmcOtemVuw60pIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxNiBzeXMtdXRpbHMvd2RjdGwuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIgorbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gWzx6YcWZw616ZW7DrT7igKZdXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjE5Cittc2dpZCAiTGlzdCBpbmZvcm1hdGlvbiBhYm91dCBibG9jayBkZXZpY2VzLlxuIgorbXNnc3RyICJWeXDDrcWhZSDDumRhamUgb8KgYmxva292w6ltIHphxZnDrXplbsOtLlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyMgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICBwcmludCBhbGwgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgdnlww63FoWUgdsWhZWNobmEgemHFmcOtemVuw61cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjQKK21zZ2lkICIgLWQsIC0tbm9kZXBzICAgICAgICAgZG9uJ3QgcHJpbnQgc2xhdmVzIG9yIGhvbGRlcnNcbiIKK21zZ3N0ciAiIC1kLCAtLW5vZGVwcyAgICAgICAgIG5ldnlww63FoWUgcG9kxZnDrXplbsOhIChzbGF2ZSkgYSBuYWTFmcOtemVuw6EgKGhvbGRlcikgemHFmcOtemVuw61cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjUKK21zZ2lkICIgLUQsIC0tZGlzY2FyZCAgICAgICAgcHJpbnQgZGlzY2FyZCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHBvcMOtxaFlIHNjaG9wbm9zdCB6YWhhem92YXQgZGF0YSAoZGlzY2FyZClcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjYKK21zZ2lkICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorbXNnc3RyICIiCisiIC1lLCAtLWV4Y2x1ZGUgPHNlem5hbT5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgdnluZWNow6EgemHFmcOtemVuw60gcG9kbGUgaGxhdm7DrWhvIMSNw61zbGEgKHbDvWNob3rDrTogUkFNIGRpc2t5KVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNworbXNnaWQgIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLWYsIC0tZnMgICAgICAgICAgICAgdnlww63FoWUgw7pkYWplIG/CoHNvdWJvcm92w6ltIHN5c3TDqW11XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI4Cittc2dpZCAiIC1pLCAtLWFzY2lpICAgICAgICAgIHVzZSBhc2NpaSBjaGFyYWN0ZXJzIG9ubHlcbiIKK21zZ3N0ciAiIC1pLCAtLWFzY2lpICAgICAgICAgIHBvdcW+aWplIHBvdXplIEFTQ0lJIHpuYWt5XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI5Cittc2dpZCAiIC1JLCAtLWluY2x1ZGUgPGxpc3Q+IHNob3cgb25seSBkZXZpY2VzIHdpdGggc3BlY2lmaWVkIG1ham9yIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorIiAtSSwgLS1pbmNsdWRlIDxzZXpuYW0+XG4iCisiICAgICAgICAgICAgICAgICAgICAgIHpvYnJhesOtIHBvdXplIHphxZnDrXplbsOtIHNlIHphZGFuw71taSBobGF2bsOtbWkgxI3DrXNseVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMAorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICB2w71zdHVwIGZvcm3DoXR1amUgZG8gSlNPTnVcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzEKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgdsO9c3R1cCBmb3Jtw6F0dWplIGpha28gc2V6bmFtXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMyCittc2dpZCAiIC1tLCAtLXBlcm1zICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiAtbSwgLS1wZXJtcyAgICAgICAgICB2eXDDrcWhZSDDumRhamUgb8KgcMWZw61zdHVwb3bDvWNoIHByw6F2ZWNoXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMzCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICBuZXZ5cMOtxaFlIHrDoWhsYXbDrVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNAorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIiCisiIC1vLCAtLW91dHB1dCA8c2V6bmFtPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICB6b2JyYXrDrSB6YWRhbsOpIHNsb3VwY2VcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzUKK21zZ2lkICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgb3V0cHV0IGFsbCBjb2x1bW5zXG4iCittc2dzdHIgIiAtTywgLS1vdXRwdXQtYWxsICAgICB2eXDDrcWhZSB2xaFlY2hueSBzbG91cGNlXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM2Cittc2dpZCAiIC1wLCAtLXBhdGhzICAgICAgICAgIHByaW50IGNvbXBsZXRlIGRldmljZSBwYXRoXG4iCittc2dzdHIgIiAtcCwgLS1wYXRocyAgICAgICAgICB2eXDDrcWhZSBjZWxvdSBjZXN0dSBrwqB6YcWZw616ZW7DrVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzOQorbXNnaWQgIiAtcywgLS1pbnZlcnNlICAgICAgICBpbnZlcnNlIGRlcGVuZGVuY2llc1xuIgorbXNnc3RyICIgLXMsIC0taW52ZXJzZSAgICAgICAgb2Jyw6F0w60gesOhdmlzbG9zdGlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDAKK21zZ2lkICIgLVMsIC0tc2NzaSAgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgU0NTSSBkZXZpY2VzXG4iCittc2dzdHIgIiAtUywgLS1zY3NpICAgICAgICAgICB2eXDDrcWhZSDDumRhamUgb8KgU0NTSSB6YcWZw616ZW7DrVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MQorbXNnaWQgIiAtdCwgLS10b3BvbG9neSAgICAgICBvdXRwdXQgaW5mbyBhYm91dCB0b3BvbG9neVxuIgorbXNnc3RyICIgLXQsIC0tdG9wb2xvZ3kgICAgICAgdnlww63FoWUgw7pkYWplIG/CoHRvcG9sb2dpaVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MgorbXNnaWQgIiAteCwgLS1zb3J0IDxjb2x1bW4+ICBzb3J0IG91dHB1dCBieSA8Y29sdW1uPlxuIgorbXNnc3RyICIgLXgsIC0tc29ydCA8c2xvdXBlYz4gdsO9c3R1cCBzZcWZYWTDrSBwb2RsZSA8c2xvdXBjZT5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDcgbWlzYy11dGlscy9sc2xvY2tzLmM6NTE5IHN5cy11dGlscy9sc25zLmM6NjMyCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE5NiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLW91dHB1dCk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJEb3N0dXBuw6kgc2xvdXBjZSAocHJvIC0tb3V0cHV0KTpcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFjY2VzcyBzeXNmcyBkaXJlY3Rvcnk6ICVzIgorbXNnc3RyICJuZXpkYcWZaWxvIHNlIHDFmWlzdG91cGl0IGvCoGFkcmVzw6HFmWkgdsKgc3lzZnM6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3MworbXNnaWQgImNvbW1hbmQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAicMWZw61rYXogcHJvY2VzdSwga3RlcsO9IGRyxb7DrSB6w6FtZWsiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc0Cittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIklEIHByb2Nlc3UsIGt0ZXLDvSBkcsW+w60gesOhbWVrIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NQorbXNnaWQgImtpbmQgb2YgbG9jazogRkxfRkxPQ0sgb3IgRkxfUE9TSVguIgorbXNnc3RyICJkcnVoIHrDoW1rdTogRkxfRkxPQ0sgbmVibyBGTF9QT1NJWC4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc2Cittc2dpZCAic2l6ZSBvZiB0aGUgbG9jayIKK21zZ3N0ciAidmVsaWtvc3QgesOhbWt1IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NworbXNnaWQgImxvY2sgYWNjZXNzIG1vZGUiCittc2dzdHIgInDFmcOtc3R1cG92w70gcmXFvmltIGvCoHrDoW1rdSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzgKK21zZ2lkICJtYW5kYXRvcnkgc3RhdGUgb2YgdGhlIGxvY2s6IDAgKG5vbmUpLCAxIChzZXQpIgorbXNnc3RyICJ6w6F2YXpub3N0IHrDoW1rdTogMCAobmUpLCAxIChuYXN0YXZlbm8pIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OQorbXNnaWQgInJlbGF0aXZlIGJ5dGUgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICJyZWxhdGl2bsOtIHBvbG9oYSB6w6Fta3UgdsKgYmFqdGVjaCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODAKK21zZ2lkICJlbmRpbmcgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICJwb2xvaGEga29uY2UgesOhbWt1IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MQorbXNnaWQgInBhdGggb2YgdGhlIGxvY2tlZCBmaWxlIgorbXNnc3RyICJjZXN0YSBrIHphbWtudXTDqW11IHNvdWJvcnUiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgyCittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGJsb2NraW5nIHRoZSBsb2NrIgorbXNnc3RyICJJRCBwcm9jZXN1LCBrdGVyw70gYmxva3VqZSB6w6FtZWsiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI1OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJRCIKK21zZ3N0ciAiSUQgc2UgbmV6ZGHFmWlsbyByb3plYnJhdCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjgxIHN5cy11dGlscy9uc2VudGVyLmM6MjMyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBpZCIKK21zZ3N0ciAiUElEIHNlIG5lemRhxZlpbG8gcm96ZWJyYXQiCisKKyMgVW5rbm93biBjb21tYW5kCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODQKK21zZ2lkICIodW5rbm93bikiCittc2dzdHIgIihuZXpuw6Ftw70pIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyOTMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgInphxI3DoXRlayBzZSBuZXBvZGHFmWlsbyByb3plYnJhdCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzAwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVuZCIKK21zZ3N0ciAia29uZWMgc2UgbmVwb2RhxZlpbG8gcm96ZWJyYXQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNAorbXNnaWQgIkxpc3QgbG9jYWwgc3lzdGVtIGxvY2tzLlxuIgorbXNnc3RyICJWeXDDrcWhZSB6w6Fta3kgbmEgbcOtc3Ruw61tIHN5c3TDqW11LlxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDgKK21zZ2lkICIgLWksIC0tbm9pbmFjY2Vzc2libGUgICBpZ25vcmUgbG9ja3Mgd2l0aG91dCByZWFkIHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA5IHN5cy11dGlscy9sc25zLmM6NjIxCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgbmV2eXDDrcWhZSB6w6FobGF2w61cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTEwIHN5cy11dGlscy9sc25zLmM6NjIyCittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIiCisiIC1vLCAtLW91dHB1dCA8c2V6bmFtPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHVyxI11amUsIGt0ZXLDqSB2w71zdHVwbsOtIHNsb3VwY2Ugc2UgcG91xb5pasOtXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMQorbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIGRpc3BsYXkgb25seSBsb2NrcyBoZWxkIGJ5IHRoaXMgcHJvY2Vzc1xuIgorbXNnc3RyICIgLXAsIC0tcGlkIDxQSUQ+ICAgICAgICB6b2JyYXrDrSBwb3V6ZSB6w6Fta3kgZHLFvmVuw6kgdMOtbXRvIHByb2Nlc2VtXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMiBzeXMtdXRpbHMvbHNucy5jOjYyNAorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgbmVmb3Jtw6F0b3ZhbsO9IHbDvXN0dXBcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTcwIHNjaGVkdXRpbHMvY2hydC5jOjQ3OCBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTYzIHN5cy11dGlscy9sc25zLmM6Njk5IHN5cy11dGlscy9wcmxpbWl0LmM6NTg2Cittc2dpZCAiaW52YWxpZCBQSUQgYXJndW1lbnQiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCBwxZllcMOtbmHEjWUgLS1waWQiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg1Cittc2dpZCAiR2VuZXJhdGUgbWFnaWMgY29va2llcyBmb3IgeGF1dGguXG4iCittc2dzdHIgIlZ5cm9iw60gbWFnaWNrw70gY29va2llIHBybyBwcm9ncmFtIHhhdXRoLlxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgdXNlIGZpbGUgYXMgYSBjb29raWUgc2VlZFxuIgorbXNnc3RyICIgLWYsIC0tZmlsZSA8c291Ym9yPiAgIHBvdcW+aWplIHNvdWJvciBqYWtvIGluaWNpYWxpemHEjW7DrSB2ZWt0b3IgcHJvIGNvb2tpZVxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OQorbXNnaWQgIiAtbSwgLS1tYXgtc2l6ZSA8bnVtPiAgbGltaXQgaG93IG11Y2ggaXMgcmVhZCBmcm9tIHNlZWQgZmlsZXNcbiIKK21zZ3N0ciAiIgorIiAtbSwgLS1tYXgtc2l6ZSA8xI3DrXNsbz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgIG9tZXrDrSwga29saWsgcMWZZcSNw61zdCB6wqBpbmljaWFsaXphxI1uw61jaCBzb3Vib3LFr1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo5MAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICB2eXN2xJt0bMOtLCBjbyBzZSBwcm92w6Fkw61cbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlenUgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlenUgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICJPYmRyxb5lbiAlenUgYmFqdCB6wqAlc1xuIgorbXNnc3RyWzFdICJPYmRyxb5lbnkgJXp1IGJhaHR5IHrCoCVzXG4iCittc2dzdHJbMl0gIk9iZHLFvmVubyAlenUgYmFqdMWvIHrCoCVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9zaW5nICVzIGZhaWxlZCIKK21zZ3N0ciAidXphdsWZZW7DrSAlcyBzZWxoYWxvIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNjQgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNDYgc3lzLXV0aWxzL2ZzdHJpbS5jOjMwOAorIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTE3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxlbmd0aCIKK21zZ3N0ciAibmV6ZGHFmWlsbyBzZSByb3plYnJhdCBkw6lsa3UiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE3NworbXNnaWQgIi0tbWF4LXNpemUgaWdub3JlZCB3aGVuIHVzZWQgd2l0aG91dCAtLWZpbGUiCittc2dzdHIgIi0tbWF4LXNpemUgc2UgaWdub3J1amUsIGtkecW+IG5lbsOtIHBvdcW+aXQgc8KgLS1maWxlIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR290ICVkIGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJWQgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICJPYmRyxb5lbiAlZCBiYWp0IHrCoCVzXG4iCittc2dzdHJbMV0gIk9iZHLFvmVueSAlZCBiYWp0eSB6wqAlc1xuIgorbXNnc3RyWzJdICJPYmRyxb5lbm8gJWQgYmFqdMWvIHrCoCVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzeW1saW5rOiAlcyIKK21zZ3N0ciAixI10ZW7DrSBzeW1ib2xpY2vDqWhvIG9ka2F6dSBzZWxoYWxvOiAlcyIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAtIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiJXPCoOKAkyBUYWtvdsO9IHNvdWJvciBuZWJvIGFkcmVzw6HFmSBuZWV4aXN0dWplXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGF0aG5hbWU+Li4uXG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSA8Y2VzdGE+4oCmXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzYKK21zZ2lkICJGb2xsb3cgYSBwYXRobmFtZSB1bnRpbCBhIHRlcm1pbmFsIHBvaW50IGlzIGZvdW5kLlxuIgorbXNnc3RyICJOw6FzbGVkdWplIGNlc3R1IGRva3VkIG5lbsOtIG5hbGV6ZW4ga29uZcSNbsO9IGJvZC5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzOQorbXNnaWQgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICBkaXNwbGF5cyB0aGlzIGhlbHAgdGV4dFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC14LCAtLW1vdW50cG9pbnRzICAgc2hvdyBtb3VudCBwb2ludCBkaXJlY3RvcmllcyB3aXRoIGEgJ0QnXG4iCisiIC1tLCAtLW1vZGVzICAgICAgICAgc2hvdyB0aGUgbW9kZSBiaXRzIG9mIGVhY2ggZmlsZVxuIgorIiAtbywgLS1vd25lcnMgICAgICAgIHNob3cgb3duZXIgYW5kIGdyb3VwIG5hbWUgb2YgZWFjaCBmaWxlXG4iCisiIC1sLCAtLWxvbmcgICAgICAgICAgdXNlIGEgbG9uZyBsaXN0aW5nIGZvcm1hdCAoLW0gLW8gLXYpIFxuIgorIiAtbiwgLS1ub3N5bWxpbmtzICAgIGRvbid0IGZvbGxvdyBzeW1saW5rc1xuIgorIiAtdiwgLS12ZXJ0aWNhbCAgICAgIHZlcnRpY2FsIGFsaWduIG9mIG1vZGVzIGFuZCBvd25lcnNcbiIKK21zZ3N0ciAiIgorIiAtaCwgLS1oZWxwICAgICAgICAgIHpvYnJhesOtIHR1dG8gbsOhcG92xJtkdVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIHpvYnJhesOtIMO6ZGFqZSBvwqB2ZXJ6aSBhIHNrb27EjcOtXG4iCisiIC14LCAtLW1vdW50cG9pbnRzICAgdnl6bmHEjcOtIGFkcmVzw6HFmWUgYm9kxa8gcMWZaXBvamVuw60gcG9tb2PDrcKg4oCeROKAnFxuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIHpvYnJhesOtIHXCoGthxb5kw6lobyBzb3Vib3J1IGJpdHkgcHLDoXZcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICB6b2JyYXrDrSB1wqBrYcW+ZMOpaG8gc291Ym9ydSBqbcOpbm8gdmxhc3Ruw61rYSBhIHNrdXBpbnlcbiIKKyIgLWwsIC0tbG9uZyAgICAgICAgICBwb3XFvmlqZSBkbG91aMO9IHR2YXIgdsO9cGlzdSAoLW0gLW8gLXYpIFxuIgorIiAtbiwgLS1ub3N5bWxpbmtzICAgIG5lbsOhc2xlZHVqZSBzeW1ib2xpY2vDqSBvZGthenlcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICBzdmlzbMOpIHphcm92bsOhbsOtIHByw6F2IGEgdmxhc3Ruw61rxa9cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQwOAorbXNnaWQgInBhdGhuYW1lIGFyZ3VtZW50IGlzIG1pc3NpbmciCittc2dzdHIgImFyZ3VtZW50IHMgbsOhenZlbSBjZXN0eSBjaHliw60iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTQgc3lzLXV0aWxzL2xzbnMuYzo3NjQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgVUlEIGNhY2hlIgorbXNnc3RyICJhbG9rYWNlIGtlxaEgVUlEIHNlbGhhbGEiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTcKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR0lEIGNhY2hlIgorbXNnc3RyICJhbG9rYWNlIGtlxaEgR1BUIHNlbGhhbGEiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4Y2VlZGVkIGxpbWl0IG9mIHN5bWxpbmtzIgorbXNnc3RyICIlczogb21lemVuw60gc3ltYm9saWNrw71jaCBvZGthesWvIHDFmWVrcm/EjWVubyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAiJXM6IG5lbsOtIHN5bWJvbGlja8O9bSBvZGthemVtIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkbGluayBmYWlsZWQiCittc2dzdHIgIiVzOiB2b2zDoW7DrSByZWFkbGluayBzZWxoYWxvIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmxpbmsgZmFpbGVkIgorbXNnc3RyICIlczogdm9sw6Fuw60gdW5saW5rIHNlbGhhbG8iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN5bWxpbmtpbmcgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogbmVieWxvIG1vxb5uw6kgdnl0dm/FmWl0IHN5bWJvbGlja8O9IG9ka2F6IG5hICVzIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVuYW1lIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHDFmWVqbWVub3bDoW7DrSBuYSAlcyBzZWxoYWxvIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxleHByZXNzaW9uPiA8cmVwbGFjZW1lbnQ+IDxmaWxlPi4uLlxuIgorbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gPHbDvXJhej4gPG7DoWhyYWRhPiA8c291Ym9yPuKAplxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyMgorbXNnaWQgIlJlbmFtZSBmaWxlcy5cbiIKK21zZ3N0ciAiUMWZZWptZW51amUgc291Ym9yeS5cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICB2eXN2xJt0bMOtLCBjbyBzZSBkxJtqZVxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyNgorbXNnaWQgIiAtcywgLS1zeW1saW5rICAgIGFjdCBvbiB0aGUgdGFyZ2V0IG9mIHN5bWxpbmtzXG4iCittc2dzdHIgIiAtcywgLS1zeW1saW5rICAgIHByYWN1amUgc8KgY8OtbGVtIHN5bWJvbGlja8O9Y2ggb2RrYXrFr1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzIKK21zZ2lkICJBIGRhZW1vbiBmb3IgZ2VuZXJhdGluZyBVVUlEcy5cbiIKK21zZ3N0ciAiRMOpbW9uIHBybyB2eXR2w6HFmWVuw60gaWRlbnRpZmlrw6F0b3LFryBVVUlELlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzQKK21zZ2lkICIgLXAsIC0tcGlkIDxwYXRoPiAgICAgICAgcGF0aCB0byBwaWQgZmlsZVxuIgorbXNnc3RyICIgLXAsIC0tcGlkIDxjZXN0YT4gICAgICAgY2VzdGEga8Kgc291Ym9ydSBzwqBQSURcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc1Cittc2dpZCAiIC1zLCAtLXNvY2tldCA8cGF0aD4gICAgIHBhdGggdG8gc29ja2V0XG4iCittc2dzdHIgIiAtcywgLS1zb2NrZXQgPGNlc3RhPiAgICBjZXN0YSBrwqBzb2NrZXR1XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NgorbXNnaWQgIiAtVCwgLS10aW1lb3V0IDxzZWM+ICAgICBzcGVjaWZ5IGluYWN0aXZpdHkgdGltZW91dFxuIgorbXNnc3RyICIgLVQsIC0tdGltZW91dCA8c2VrdW5keT4gxI1hc292w70gbGltaXQgbmXEjWlubm9zdGlcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc3Cittc2dpZCAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGtpbGwgcnVubmluZyBkYWVtb25cbiIKK21zZ3N0ciAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIHphYmlqZSBixJvFvsOtY8OtaG8gZMOpbW9uYVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzgKK21zZ2lkICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdCByYW5kb20tYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgb3Rlc3R1amUgZ2VuZXJvdsOhbsOtIHphbG/FvmVuw6kgbmEgbsOhaG9kxJtcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICAgICAgICBvdGVzdHVqZSBnZW5lcm92w6Fuw60gemFsb8W+ZW7DqSBuYSDEjWFzZVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODAKK21zZ2lkICIgLW4sIC0tdXVpZHMgPG51bT4gICAgICAgcmVxdWVzdCBudW1iZXIgb2YgdXVpZHNcbiIKK21zZ3N0ciAiIC1uLCAtLXV1aWRzIDxwb8SNZXQ+ICAgICBwb8W+YWR1amUgcG/EjWV0IFVVSURcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgxCittc2dpZCAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKK21zZ3N0ciAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIG5ldnl0dm/FmcOtIHNvdWJvciBzwqBQSURcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgyCittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIGRvIG5vdCBkYWVtb25pemUgdXNpbmcgZG91YmxlLWZvcmtcbiIKK21zZ3N0ciAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIG5lZMOpbW9uaXp1amUgc2UgcG9tb2PDrSBkdm9qaXTDqWhvIHZvbMOhbsOtIGZvcmtcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgzCittc2dpZCAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIGRvIG5vdCBjcmVhdGUgbGlzdGVuaW5nIHNvY2tldFxuIgorbXNnc3RyICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gbmV2eXR2b8WZw60gbmFzbG91Y2hhY8OtIHNvY2tldFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODQKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCittc2dzdHIgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBzcHVzdMOtIHNlIHbCoGxhZGljw61tIHJlxb5pbXVcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjg1Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHR1cm4gb24gcXVpZXQgbW9kZVxuIgorbXNnc3RyICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgemFwbmUgdGljaMO9IHJlxb5pbVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTE4Cittc2dpZCAiYmFkIGFyZ3VtZW50cyIKK21zZ3N0ciAiY2h5Ym7DqSBhcmd1bWVudHkiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMjUKK21zZ2lkICJzb2NrZXQiCittc2dzdHIgInNvY2tldCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEzNgorbXNnaWQgImNvbm5lY3QiCittc2dzdHIgInDFmWlwb2pvdsOhbsOtIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTU2Cittc2dpZCAid3JpdGUiCittc2dzdHIgInrDoXBpcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE2NAorbXNnaWQgInJlYWQgY291bnQiCittc2dzdHIgIm5hxI10ZW7DrSBwb8SNdHUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNzAKK21zZ2lkICJiYWQgcmVzcG9uc2UgbGVuZ3RoIgorbXNnc3RyICJjaHlibsOhIGTDqWxrYSBvZHBvdsSbZGkiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGxvY2sgJXMiCittc2dzdHIgIiVzIG5lbHplIHphbWtub3V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjQ2Cittc2dpZCAiY291bGRuJ3QgY3JlYXRlIHVuaXggc3RyZWFtIHNvY2tldCIKK21zZ3N0ciAibmVieWxvIG1vxb5uw6kgdnl0dm/FmWl0IHVuaXhvdsO9IHByb3Vkb3bDvSBzb2NrZXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgYmluZCB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAibmVieWxvIG1vxb5uw6kgcMWZaWxlcGl0IHVuaXhvdsO9IHNvY2tldCAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI5OAorbXNnaWQgInJlY2VpdmluZyBzaWduYWwgZmFpbGVkIgorbXNnc3RyICJwxZnDrWplbSBzaWduw6FsdSBzZWxoYWxvIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzExCittc2dpZCAidGltZWQgb3V0IgorbXNnc3RyICJ2eXByxaFlbCDEjWFzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzQ1IHN5cy11dGlscy9mbG9jay5jOjI3MQorbXNnaWQgImNhbm5vdCBzZXQgdXAgdGltZXIiCittc2dzdHIgIsSNYXNvdmHEjSBuZWx6ZSBuYXN0YXZpdCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICJ1dWlkZCBkYWVtb24gaXMgYWxyZWFkeSBydW5uaW5nIGF0IHBpZCAlcyIKK21zZ3N0ciAiZMOpbW9uIHV1aWRkIGppxb4gYsSbxb7DrSBzwqBQSUQgJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgbGlzdGVuIG9uIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICJuZWJ5bG8gbW/Fvm7DqSB6YWjDoWppdCBuYXNsb3VjaMOhbsOtIG5hIHVuaXhvdsOpbSBzb2NrZXR1ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzcyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB0cnVuY2F0ZSBmaWxlOiAlcyIKK21zZ3N0ciAic291Ym9yIG5lYnlsbyBtb8W+bsOpIHprcsOhdGl0OiAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4NgorbXNnaWQgInNkX2xpc3Rlbl9mZHMoKSBmYWlsZWQiCittc2dzdHIgInZvbMOhbsOtIHNkX2xpc3Rlbl9mZHMoKSBzZWxoYWxvIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzg5Cittc2dpZCAibm8gZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgc3lzdGVtY3RsIHN0YXR1cyB1dWlkZC5zb2NrZXQiCittc2dzdHIgIsW+w6FkbsO9IGRlc2tyaXB0b3Igc291Ym9ydSBuZWJ5bCBwxZlpamF0LCB6a29udHJvbHVqdGUgc3lzdGVtY3RsIHN0YXR1cyB1dWlkZC5zb2NrZXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozOTIKK21zZ2lkICJ0b28gbWFueSBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayB1dWlkZC5zb2NrZXQiCittc2dzdHIgInDFmWlqYXRvIHDFmcOtbGnFoSBtbm9obyBkZXNrcmlwdG9yxa8gc291Ym9yxa8sIHprb250cm9sdWp0ZSB1dWlkZC5zb2NrZXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MjAgdGVybS11dGlscy9zY3JpcHQuYzo0NTUKK21zZ2lkICJwb2xsIGZhaWxlZCIKK21zZ3N0ciAidm9sw6Fuw60gcG9sbCgpIHNlbGhhbG8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZW91dCBbJWQgc2VjXVxuIgorbXNnc3RyICLEjWFzb3bDvSBsaW1pdCBbJWQgc2VrdW5kXVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQzIHRleHQtdXRpbHMvY29sdW1uLmM6NDE0Cittc2dpZCAicmVhZCBmYWlsZWQiCittc2dzdHIgInZvbMOhbsOtIHJlYWQgc2VsaGFsbyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciByZWFkaW5nIGZyb20gY2xpZW50LCBsZW4gPSAlZCIKK21zZ3N0ciAiY2h5YmEgcMWZaSDEjXRlbsOtIHrCoGtsaWVudGEsIGTDqWxrYSA9ICVkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZCwgaW5jb21pbmcgbnVtID0gJWRcbiIKK21zZ3N0ciAib3BlcmFjZSAlZCwgcMWZw61jaG96w60gcG/EjWV0ID0gJWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ1NworIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAib3BlcmFjZSAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQ6ICVzXG4iCittc2dzdHIgIlZ5Z2VuZXJvdmFuw6kgxI1hc292w6kgVVVJRDogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgcmFuZG9tIFVVSUQ6ICVzXG4iCittc2dzdHIgIlZ5Z2VuZXJvdmFuw6kgbsOhaG9kbsOpIFVVSUQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgYW5kICVkIGZvbGxvd2luZ1xuIgorbXNnc3RyWzBdICJWeWdlbmVyb3ZhbsOpIMSNYXNvdsOpIFVVSUQgJXMgYSAlZCBuw6FzbGVkdWrDrWPDrVxuIgorbXNnc3RyWzFdICJWeWdlbmVyb3ZhbsOpIMSNYXNvdsOpIFVVSUQgJXMgYSAlZCBuw6FzbGVkdWrDrWPDrVxuIgorbXNnc3RyWzJdICJWeWdlbmVyb3ZhbsOpIMSNYXNvdsOpIFVVSUQgJXMgYSAlZCBuw6FzbGVkdWrDrWPDrWNoXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkICVkIFVVSUQ6XG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCAlZCBVVUlEczpcbiIKK21zZ3N0clswXSAiVnlnZW5lcm92w6FubyAlZCBVVUlEOlxuIgorbXNnc3RyWzFdICJWeWdlbmVyb3bDoW5hICVkIFVVSUQ6XG4iCittc2dzdHJbMl0gIlZ5Z2VuZXJvdsOhbm8gJWQgVVVJRDpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIG9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICJOZXBsYXRuw6Egb3BlcmFjZSAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgcmVwbHkgbGVuZ3RoIGZyb20gc2VydmVyICVkIgorbXNnc3RyICJOZW/EjWVrw6F2YW7DoSBkw6lsa2Egb2Rwb3bEm2RpIG9kIHNlcnZlcnUgJWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MDAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS11dWlkcyIKK21zZ3N0ciAiaG9kbm90dSAtLXV1aWRzIHNlIG5lemRhxZlpbG8gcm96ZWJyYXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MTcKK21zZ2lkICJ1dWlkZCBoYXMgYmVlbiBidWlsdCB3aXRob3V0IHN1cHBvcnQgZm9yIHNvY2tldCBhY3RpdmF0aW9uIgorbXNnc3RyICJ1dWlkZCBieWwgc2VzdGF2ZW4gYmV6IHBvZHBvcnkgYWt0aXZhY2Ugc29ja2V0ZW0iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MzYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10aW1lb3V0IgorbXNnc3RyICJuZXpkYcWZaWxvIHNlIHJvemVicmF0IGhvZG5vdHUgLS10aW1lb3V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjUzCittc2dpZCAiQm90aCAtLXNvY2tldC1hY3RpdmF0aW9uIGFuZCAtLXNvY2tldCBzcGVjaWZpZWQuIElnbm9yaW5nIC0tc29ja2V0LiIKK21zZ3N0ciAiWmFkw6FueSBwxZllcMOtbmHEjWUgLS1zb2NrZXQtYWN0aXZhdGlvbiBpwqAtLXNvY2tldC4gSWdub3J1amUgc2UgLS1zb2NrZXQuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYwIG1pc2MtdXRpbHMvdXVpZGQuYzo2ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2FsbGluZyB1dWlkZCBkYWVtb24gKCVzKSIKK21zZ3N0ciAiY2h5YmEgcMWZaSB2b2zDoW7DrSBkw6ltb25hIHV1aWRkICglcykiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjEgbWlzYy11dGlscy91dWlkZC5jOjY4OQorbXNnaWQgInVuZXhwZWN0ZWQgZXJyb3IiCittc2dzdHIgIm5lb8SNZWvDoXZhbsOhIGNoeWJhIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURcbiIKK21zZ2lkX3BsdXJhbCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRHNcbiIKK21zZ3N0clswXSAiJXMgYSAlZCBuw6FzbGVkdWrDrWPDrSBVVUlEXG4iCittc2dzdHJbMV0gIiVzIGEgJWQgbsOhc2xlZHVqw61jw60gVVVJRFxuIgorbXNnc3RyWzJdICIlcyBhICVkIG7DoXNsZWR1asOtY8OtY2ggVVVJRFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjczCisjLCBjLWZvcm1hdAorbXNnaWQgIkxpc3Qgb2YgVVVJRHM6XG4iCittc2dzdHIgIlNlem5hbSBVVUlEOlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGtpbGwgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQiCittc2dzdHIgInphYsOtdCB1dWlkZCBixJvFvsOtY8OtaG8gcG9kwqBQSUQgJWQgbmVieWxvIG1vxb5uw6kiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiS2lsbGVkIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkLlxuIgorbXNnc3RyICJEw6ltb24gdXVpZGQgYsSbxb7DrWPDrSBwb2QgUElEICVkIGJ5bCB6YWJpdC5cbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjgKK21zZ2lkICJDcmVhdGUgYSBuZXcgVVVJRCB2YWx1ZS5cbiIKK21zZ3N0ciAiVnl0dm/FmcOtIG5vdm91IGhvZG5vdHUgVVVJRC5cbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzEKK21zZ2lkICIiCisiIC1yLCAtLXJhbmRvbSAgICAgZ2VuZXJhdGUgcmFuZG9tLWJhc2VkIHV1aWRcbiIKKyIgLXQsIC0tdGltZSAgICAgICBnZW5lcmF0ZSB0aW1lLWJhc2VkIHV1aWRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyIgLXIsIC0tcmFuZG9tICAgICB2eXR2b8WZw60gVVVJRCB6YWxvxb5lbsOpIG5hIG7DoWhvZMSbXG4iCisiIC10LCAtLXRpbWUgICAgICAgdnl0dm/FmcOtIFVVSUQgemFsb8W+ZW7DqSBuYSDEjWFzZVxuIgorIiAtViwgLS12ZXJzaW9uICAgIHpvYnJhesOtIMO6ZGFqZSBvwqB2ZXJ6aSBhIHNrb27EjcOtXG4iCisiIC1oLCAtLWhlbHAgICAgICAgem9icmF6w60gdHV0byBuw6Fwb3bEm2R1IGEgc2tvbsSNw61cbiIKKyJcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1CTVMgPGRpcj4uLi4gLWZdIDxuYW1lPlxuIgorbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gWy1CTVMgPGFkcmVzw6HFmT7igKYgLWZdIDxzb3Vib3I+XG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5MgorbXNnaWQgIkxvY2F0ZSB0aGUgYmluYXJ5LCBzb3VyY2UsIGFuZCBtYW51YWwtcGFnZSBmaWxlcyBmb3IgYSBjb21tYW5kLlxuIgorbXNnc3RyICJOYWpkZSB1bcOtc3TEm27DrSBiaW7DoXJuw61obywgemRyb2pvdsOpIGEgbWFudcOhbG92w6lobyBzb3Vib3J1IGvCoHDFmcOta2F6dS5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk1Cittc2dpZCAiIC1iICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIGJpbmFyaWVzXG4iCittc2dzdHIgIiAtYiAgICAgICAgIGhsZWTDoSBwb3V6ZSBiaW7DoXJuw60gc291Ym9yeVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTYKK21zZ2lkICIgLUIgPGRpcnM+ICBkZWZpbmUgYmluYXJpZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorIiAtQiA8YWRyZXPDocWZZT5cbiIKKyIgICAgICAgICAgICB1csSNdWplIHZ5aGxlZMOhdsOhY8OtIGNlc3R1IHBybyBiaW7DoXJuw60gc291Ym9yeVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTcKK21zZ2lkICIgLW0gICAgICAgICBzZWFyY2ggb25seSBmb3IgbWFudWFscyBhbmQgaW5mb3NcbiIKK21zZ3N0ciAiIC1tICAgICAgICAgaGxlZMOhIHBvdXplIG1hbnXDoWx5IGEgaW5mbyBzdHLDoW5reVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTgKK21zZ2lkICIgLU0gPGRpcnM+ICBkZWZpbmUgbWFuIGFuZCBpbmZvIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiIKKyIgLU0gPGFkcmVzw6HFmWU+XG4iCisiICAgICAgICAgICAgdXLEjXVqZSB2eWhsZWTDoXZhY8OtIGNlc3R1IHBybyBtYW51w6Fsb3bDqSBhIGluZm8gc3Ryw6Fua3lcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk5Cittc2dpZCAiIC1zICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIHNvdXJjZXNcbiIKK21zZ3N0ciAiIC1zICAgICAgICAgaGxlZMOhIHBvdXplIHpkcm9qb3bDqSBrw7NkeVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDAKK21zZ2lkICIgLVMgPGRpcnM+ICBkZWZpbmUgc291cmNlcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisiIC1TIDxhZHJlc8OhxZllPlxuIgorIiAgICAgICAgICAgIHVyxI11amUgY2VzdHUgcHJvIGhsZWTDoW7DrSB6ZHJvasWvXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMQorbXNnaWQgIiAtZiAgICAgICAgIHRlcm1pbmF0ZSA8ZGlycz4gYXJndW1lbnQgbGlzdFxuIgorbXNnc3RyICIgLWYgICAgICAgICB1a29uxI11amUgc2V6bmFtIDxhZHJlc8OhxZnFrz5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAyCittc2dpZCAiIC11ICAgICAgICAgc2VhcmNoIGZvciB1bnVzdWFsIGVudHJpZXNcbiIKK21zZ3N0ciAiIC11ICAgICAgICAgaGxlZMOhIG5lb2J2eWtsw6kgZW50aXR5XG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMworbXNnaWQgIiAtbCAgICAgICAgIG91dHB1dCBlZmZlY3RpdmUgbG9va3VwIHBhdGhzXG4iCittc2dzdHIgIiAtbCAgICAgICAgIHZ5cMOtxaFlIHbDvXNsZWRuw6kgdnlobGVkw6F2w6Fjw60gY2VzdHlcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NjE5Cittc2dpZCAib3B0aW9uIC1mIGlzIG1pc3NpbmciCittc2dzdHIgImNoeWLDrSBwxZllcMOtbmHEjSAtZiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxOTYKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInRhYnVsa2Egcm96ZMSbbGVuw60gZGlza3UiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogcHJvYmluZyBpbml0aWFsaXphdGlvbiBmYWlsZWQiCittc2dzdHIgImNoeWJhOiAlczogaW5pY2lhbGl6YWNlIHRlc3RvdsOhbsOtIHNlIG5lemRhxZlpbGEiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZXJhc2UgJXMgbWFnaWMgc3RyaW5nIGF0IG9mZnNldCAweCUwOGp4IgorbXNnc3RyICIlczogdsO9bWF6IG1hZ2lja8OpaG8gxZlldMSbemNlICVzIG5hIHBvemljaSAweCUwOGp4IHNlbGhhbCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICV6ZCBieXRlIHdhcyBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnaWRfcGx1cmFsICIlczogJXpkIGJ5dGVzIHdlcmUgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIKK21zZ3N0clswXSAiJXM6IHZ5bWF6w6FuICV6ZCBiYWp0IG5hIHBvemljaSAweCUwOGp4ICglcyk6ICIKK21zZ3N0clsxXSAiJXM6IHZ5bWF6w6FueSAlemQgYmFqdHkgbmEgcG96aWNpIDB4JTA4anggKCVzKTogIgorbXNnc3RyWzJdICIlczogdnltYXrDoW5vICV6ZCBiYWp0xa8gbmEgcG96aWNpIDB4JTA4anggKCVzKTogIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjM0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAiCittc2dzdHIgIiVzOiB6w6Fsb2h1IHZ6b3JjZSBzZSBuZXBvZGHFmWlsbyB2eXR2b8WZaXQiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYWxsaW5nIGlvY3RsIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlOiAlbVxuIgorbXNnc3RyICIlczogdm9sw6Egc2UgaW9jdGwoKSBwcm8gem5vdnVuYcSNdGVuw60gdGFidWxreSByb3pkxJtsZW7DrSBkaXNrdTogJW1cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozODUKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICJ6w6Fsb2h1IHZ6b3JjZSBzZSBuZXBvZGHFmWlsbyB2eXR2b8WZaXQsICRIT01FIG5lbsOtIGRlZmlub3bDoW5hIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaWdub3JpbmcgbmVzdGVkIFwiJXNcIiBwYXJ0aXRpb24gdGFibGUgb24gbm9uLXdob2xlIGRpc2sgZGV2aWNlIgorbXNnc3RyICIlczogdm5vxZllbsOhIHRhYnVsa2Egcm96ZMSbbGVuw60gZGlza3Ug4oCeJXPigJwgbmEgbmVjZWxvZGlza292w6ltIHphxZnDrXplbsOtIHNlIGlnbm9ydWplIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0IDB4JWp4IG5vdCBmb3VuZCIKK21zZ3N0ciAiJXM6IHBvemljZSAweCVqeCBuZW5hbGV6ZW5hIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQzNQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBvcHRpb24gdG8gZm9yY2UgZXJhc2UuIgorbXNnc3RyICJQb3XFvmlqdGUgcMWZZXDDrW5hxI0gLS1mb3JjZSBrwqB2eW51Y2Vuw60gdsO9bWF6dS4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU5Cittc2dpZCAiV2lwZSBzaWduYXR1cmVzIGZyb20gYSBkZXZpY2UuXG4iCittc2dzdHIgIlZ5bWHFvmUgdnpvcmNlIHplIHphxZnDrXplbsOtLlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ2MgorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICB3aXBlIGFsbCBtYWdpYyBzdHJpbmdzIChCRSBDQVJFRlVMISlcbiIKKyIgLWIsIC0tYmFja3VwICAgICAgICBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIGluICRIT01FXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgZm9yY2UgZXJhc3VyZVxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKKyIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgYWN0dWFsIHdyaXRlKCkgY2FsbFxuIgorIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCB0byBlcmFzZSwgaW4gYnl0ZXNcbiIKKyIgLXAsIC0tcGFyc2FibGUgICAgICBwcmludCBvdXQgaW4gcGFyc2FibGUgaW5zdGVhZCBvZiBwcmludGFibGUgZm9ybWF0XG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcHJlc3Mgb3V0cHV0IG1lc3NhZ2VzXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtLCBSQUlEcyBvciBwYXJ0aXRpb24gdGFibGVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgem5pxI3DrSB2xaFlY2hueSBtYWdpY2vDqSDFmWV0xJt6Y2UgKEJVxI5URSBPUEFUUk7DjSEpXG4iCisiIC1iLCAtLWJhY2t1cCAgICAgICAgICB2eXR2b8WZw60gesOhbG9odSBzaWduYXR1cnkgdsKgJEhPTUVcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgIHZ5bnV0w60gdsO9bWF6XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHVcbiIKKyIgLW4sIC0tbm8tYWN0ICAgICAgICAgIHByb3ZlZGUgdsWhZSBhxb4gbmEgc2Ftb3Ruw6kgdm9sw6Fuw60gd3JpdGUoKVxuIgorIiAtbywgLS1vZmZzZXQgPMSNw61zbG8+ICBwb3ppY2UgdsKgYmFqdGVjaCwgbmEga3RlcsOpIHNlIGJ1ZGUgbWF6YXRcbiIKKyIgLXAsIC0tcGFyc2FibGUgICAgICAgIHZ5cGlzdWplIHbCoHN0cm9qb3bEmyB6cHJhY292YXRlbG7DqW0gZm9ybcOhdHUgbmFtw61zdG9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgIHbCoHDFmWVobGVkbsOpIHBvZG9ixJtcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICAgIHBvdGxhxI3DrSB6cHLDoXZ5XG4iCisiIC10LCAtLXR5cGVzIDxzZXpuYW0+ICBvbWV6w60gbW5vxb5pbnUgc291Ym9yb3bDvWNoIHN5c3TDqW3FrywgZGlza292w71jaCBwb2zDrVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgbmVibyB0YWJ1bGVrIHJvemTEm2xlbsOtIGRpc2t1XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICB6b2JyYXrDrSDDumRhamUgb8KgdmVyemkgYSBza29uxI3DrVxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjUzMworbXNnaWQgImludmFsaWQgb2Zmc2V0IGFyZ3VtZW50IgorbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnQgcMWZZXDDrW5hxI1lIC0tb2Zmc2V0IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU1OAorbXNnaWQgIlRoZSAtLWJhY2t1cCBvcHRpb24gaXMgbWVhbmluZ2xlc3MgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICJWwqB0b210byBrb250ZXh0dSBuZW3DoSBwxZllcMOtbmHEjSAtLWJhY2t1cCBzbXlzbC4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZWFsLXRpbWUgc2NoZWR1bGluZyBhdHRyaWJ1dGVzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiVWvDocW+ZSBuZWJvIHptxJtuw60gYXRyaWJ1dHkgcHJvY2VzdSB0w71rYWrDrWPDrSBwbMOhbm92w6Fuw60gdsKgcmXDoWxuw6ltIMSNYXNlLlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzcKK21zZ2lkICIiCisiU2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gPHByaW9yaXR5PiA8Y29tbWFuZD4gWzxhcmc+Li4uXVxuIgorIiBjaHJ0IFtvcHRpb25zXSAtLXBpZCA8cHJpb3JpdHk+IDxwaWQ+XG4iCittc2dzdHIgIiIKKyJOYXN0YXbDrSBwb2xpdGlrdTpcbiIKKyIgIGNocnQgW3DFmWVww61uYcSNZV0gPHByaW9yaXRhPiA8cMWZw61rYXo+IFs8YXJndW1lbnQ+4oCmXVxuIgorIiAgY2hydCBbcMWZZXDDrW5hxI1lXSAtLXBpZCA8cHJpb3JpdGE+IDxQSUQ+XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0MQorbXNnaWQgIiIKKyJHZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSAtcCA8cGlkPlxuIgorbXNnc3RyICIiCisiWmppc3TDrSBwb2xpdGlrdTpcbiIKKyIgIGNocnQgW3DFmWVww61uYcSNZV0gLXAgPFBJRD5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ1Cittc2dpZCAiUG9saWN5IG9wdGlvbnM6XG4iCittc2dzdHIgIlDFmWVww61uYcSNZSBwb2xpdGlrOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDYKK21zZ2lkICIgLWIsIC0tYmF0Y2ggICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorbXNnc3RyICIgLWIsIC0tYmF0Y2ggICAgICAgICAgbmFzdGF2w60gcG9saXRpa3UgbmEgU0NIRURfQkFUQ0hcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ3Cittc2dpZCAiIC1kLCAtLWRlYWRsaW5lICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfREVBRExJTkVcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYWRsaW5lICAgICAgIG5hc3RhdsOtIHBvbGl0aWt1IG5hIFNDSEVEX0RFQURMSU5FXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OAorbXNnaWQgIiAtZiwgLS1maWZvICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKK21zZ3N0ciAiIC1mLCAtLWZpZm8gICAgICAgICAgIG5hc3RhdsOtIHBvbGl0aWt1IG5hIFNDSEVEX0ZJRk9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ5Cittc2dpZCAiIC1pLCAtLWlkbGUgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfSURMRVxuIgorbXNnc3RyICIgLWksIC0taWRsZSAgICAgICAgICAgbmFzdGF2w60gcG9saXRpa3UgbmEgU0NIRURfSURMRVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTAKK21zZ2lkICIgLW8sIC0tb3RoZXIgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorbXNnc3RyICIgLW8sIC0tb3RoZXIgICAgICAgICAgbmFzdGF2w60gcG9saXRpa3UgbmEgU0NIRURfT1RIRVJcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUxCittc2dpZCAiIC1yLCAtLXJyICAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtciwgLS1yciAgICAgICAgICAgICBuYXN0YXbDrSBwb2xpdGlreSBuYSBTQ0hFRF9SUiAodsO9Y2hvesOtKVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTQKK21zZ2lkICJTY2hlZHVsaW5nIG9wdGlvbnM6XG4iCittc2dzdHIgIlDFmWVww61uYcSNZSBwbMOhbm92w6Fuw606XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NQorbXNnaWQgIiAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgIHNldCBTQ0hFRF9SRVNFVF9PTl9GT1JLIGZvciBGSUZPIG9yIFJSXG4iCittc2dzdHIgIiAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgIHXCoEZJRk8gbmVibyBSUiBuYXN0YXbDrSBTQ0hFRF9SRVNFVF9PTl9GT1JLXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NgorbXNnaWQgIiAtVCwgLS1zY2hlZC1ydW50aW1lIDxucz4gIHJ1bnRpbWUgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBwYXJhbWV0ciBkw6lsa2EgYsSbaHUgcHJvIERFQURMSU5FXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NworbXNnaWQgIiAtUCwgLS1zY2hlZC1wZXJpb2QgPG5zPiAgIHBlcmlvZCBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiAtUCwgLS1zY2hlZC1wZXJpb2QgPG5zPiAgIHBhcmFtZXRyIHBlcmlvZGEgcHJvIERFQURMSU5FXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1OAorbXNnaWQgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IGRlYWRsaW5lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIC1ELCAtLXNjaGVkLWRlYWRsaW5lIDxucz4gcGFyYW1ldHIgaHJhbmljZSBwcm8gREVBRExJTkVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYxCittc2dpZCAiT3RoZXIgb3B0aW9uczpcbiIKK21zZ3N0ciAiRGFsxaHDrSBwxZllcMOtbmHEjWU6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MgorbXNnaWQgIiAtYSwgLS1hbGwtdGFza3MgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgLWEsIC0tYWxsLXRhc2tzICAgICAgcHJhY3VqZSBuYWQgdsWhZW1pIMO6bG9oYW1pICh2bMOha255KSB6YWRhbsOpaG8gUElEXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MworbXNnaWQgIiAtbSwgLS1tYXggICAgICAgICAgICBzaG93IG1pbiBhbmQgbWF4IHZhbGlkIHByaW9yaXRpZXNcbiIKK21zZ3N0ciAiIC1tLCAtLW1heCAgICAgICAgICAgIHVrw6HFvmUgbWluaW3DoWxuw60gYSBtYXhpbcOhbG7DrSBwbGF0bsOpIHByaW9yaXR5XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NAorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAgICAgcHJhY3VqZSBuYWQgZXhpc3R1asOtY8OtbSB6YWRhbsOpbSBQSURcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICB6b2JyYXrDrSDDumRhamUgb8Kgc3RhdnVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjMyIHNjaGVkdXRpbHMvY2hydC5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAibmVwb2RhxZlpbG8gc2UgesOtc2thdCBwb2xpdGlrdSBwcm9jZXN1ICVkIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhdHRyaWJ1dGVzIgorbXNnc3RyICJuZXBvZGHFmWlsbyBzZSB6w61za2F0IHZsYXN0bm9zdGkgcHJvY2VzdSAlZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY3CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgIm5vdsOhIHBsw6Fub3ZhY8OtIHBvbGl0aWthIHByb2Nlc3UgJWQ6ICVzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgInN0w6F2YWrDrWPDrSBwbMOhbm92YWPDrSBwb2xpdGlrYSBwcm9jZXN1ICVkOiAlcyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICJub3bDoSBwbMOhbm92YWPDrSBwcmlvcml0YSBwcm9jZXN1ICVkOiAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICJzdMOhdmFqw61jw60gcGzDoW5vdmFjw60gcHJpb3JpdGEgcHJvY2VzdSAlZDogJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIgorbXNnc3RyICJub3bDqSBwYXJhbWV0cnkgZMOpbGthIGLEm2h1L2hyYW5pY2UvcGVyaW9kYSBwcm8gcHJvY2VzICVkOiAlanUvJWp1LyVqdVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIgorbXNnc3RyICJzb3XEjWFzbsOpIHBhcmFtZXRyeSBkw6lsa2EgYsSbaHUvaHJhbmljZS9wZXJpb2RhIHBybyBwcm9jZXMgJWQ6ICVqdS8lanUvJWp1XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMwMCBzY2hlZHV0aWxzL2NocnQuYzozOTYKK21zZ2lkICJjYW5ub3Qgb2J0YWluIHRoZSBsaXN0IG9mIHRhc2tzIgorbXNnc3RyICJuZWx6ZSB6w61za2F0IHNlem5hbSDDumxvaCIKKworIyBGaXJzdCBhcmd1bWVudCBqdXN0IGNvbXBsZXRlcyBsaXRlcmFsIHBvbGljeSBuYW1lCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG1pbi9tYXggcHJpb3JpdHlcdDogJWQvJWRcbiIKK21zZ3N0ciAiU0NIRURfJXMgbWluLi9tYXguIHByaW9yaXRhXHQ6ICVkLyVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IHN1cHBvcnRlZD9cbiIKK21zZ3N0ciAiU0NIRURfJXMgbmVuw60gcG9kcG9yb3bDoW5hP1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aWQgJWQncyBwb2xpY3kiCittc2dzdHIgInBvbGl0aWt1IHZsw6FrbmEgc8KgVElEICVkIHNlIG5lcG9kYcWZaWxvIG5hc3Rhdml0IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgInBvbGl0aWt1IHByb2Nlc3UgJWQgc2UgbmVwb2RhxZlpbG8gbmFzdGF2aXQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NworbXNnaWQgImludmFsaWQgcnVudGltZSBhcmd1bWVudCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IGTDqWxreSBixJtodSIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDkwCittc2dpZCAiaW52YWxpZCBwZXJpb2QgYXJndW1lbnQiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCBwZXJpb2R5IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTMKK21zZ2lkICJpbnZhbGlkIGRlYWRsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnQgaHJhbmljZSIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE3Cittc2dpZCAiaW52YWxpZCBwcmlvcml0eSBhcmd1bWVudCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IHByaW9yaXR5IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MjEKK21zZ2lkICItLXJlc2V0LW9uLWZvcmsgb3B0aW9uIGlzIHN1cHBvcnRlZCBmb3IgU0NIRURfRklGTyBhbmQgU0NIRURfUlIgcG9saWNpZXMgb25seSIKK21zZ3N0ciAiUMWZZXDDrW5hxI0gLS1yZXNldC1vbi1mb3JrIGplIHBvZHBvcm92w6FuIGplbiB1wqBwb2xpdGlrIFNDSEVEX0ZJRk8gYSBTQ0hFRF9SUiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTI2Cittc2dpZCAiLS1zY2hlZC17cnVudGltZSxkZWFkbGluZSxwZXJpb2R9IG9wdGlvbnMgYXJlIHN1cHBvcnRlZCBmb3IgU0NIRURfREVBRExJTkUgb25seSIKK21zZ3N0ciAiUMWZZXDDrW5hxI1lIC0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBqc291IHBvZHBvcm92w6FueSBqZW4gdcKgcG9saXRpa3kgU0NIRURfREVBRExJTkUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0MQorbXNnaWQgIlNDSEVEX0RFQURMSU5FIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJTQ0hFRF9ERUFETElORSBuZW7DrSBwb2Rwb3JvdsOhbmEiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcmlvcml0eSB2YWx1ZSBmb3IgdGhlIHBvbGljeTogJWQ6IHNlZSAtLW1heCBmb3IgdmFsaWQgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo3NgorbXNnaWQgImlvcHJpb19nZXQgZmFpbGVkIgorbXNnc3RyICJ2b2zDoW7DrSBpb3ByaW9fZ2V0IHNlbGhhbG8iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHByaW8gJWx1XG4iCittc2dzdHIgIiVzOiBwcmlvcml0YSAlbHVcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo5OAorbXNnaWQgImlvcHJpb19zZXQgZmFpbGVkIgorbXNnc3RyICJ2b2zDoW7DrSBpb3ByaW9fc2V0IHNlbGhhbG8iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXAgPHBpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC11IDx1aWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisiICUxJHMgW3DFmWVww61uYcSNZV0gLXAgPFBJRD7igKZcbiIKKyIgJTEkcyBbcMWZZXDDrW5hxI1lXSAtUCA8UEdJRD7igKZcbiIKKyIgJTEkcyBbcMWZZXDDrW5hxI1lXSAtdSA8VUlEPuKAplxuIgorIiAlMSRzIFtwxZllcMOtbmHEjWVdIDxwxZnDrWthej5cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTAKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgSS9PLXNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiVWvDocW+ZSBuZWJvIHptxJtuw60gcGzDoW5vdmFjw60gSS9PIHTFmcOtZHUgYSBwcmlvcml0dSBwcm9jZXN1LlxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExMworbXNnaWQgIiIKKyIgLWMsIC0tY2xhc3MgPGNsYXNzPiAgICBuYW1lIG9yIG51bWJlciBvZiBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCittc2dzdHIgIiIKKyIgIC1jLCAtLWNsYXNzIDx0xZnDrWRhPiAgIG7DoXpldiBuZWJvIMSNw61zbG8gcGzDoW5vdmFjw60gdMWZw61keVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIDA6IG5vbmUgW8W+w6FkbsOhXSwgMTogcmVhbHRpbWUgW3Jlw6FsbsO9IMSNYXNdLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlIFt6YWjDoWxlbsOtXVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNQorbXNnaWQgIiIKKyIgLW4sIC0tY2xhc3NkYXRhIDxudW0+ICBwcmlvcml0eSAoMC4uNykgaW4gdGhlIHNwZWNpZmllZCBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgb25seSBmb3IgdGhlIHJlYWx0aW1lIGFuZCBiZXN0LWVmZm9ydCBjbGFzc2VzXG4iCittc2dzdHIgIiIKKyIgIC1uLCAtLWNsYXNzZGF0YSA8xI3DrXNsbz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0YSAoMOKIkjcpIHbCoHphZGFuw6kgcGzDoW5vdmFjw60gdMWZw61kxJssXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgcG91emUgcHJvIHTFmcOtZHkgcmXDoWxuw6lobyDEjWFzdSBhIGJlc3QtZWZmb3J0XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE3Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPi4uLiAgICAgYWN0IG9uIHRoZXNlIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXNcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8UElEPuKApiAgICAgICBwcmFjdWplIG5hZCB0xJttaXRvIGppxb4gYsSbxb7DrWPDrW1pIHByb2Nlc3lcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTgKK21zZ2lkICIgLVAsIC0tcGdpZCA8cGdycD4uLi4gICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBpbiB0aGVzZSBncm91cHNcbiIKK21zZ3N0ciAiIC1QLCAtLXBnaWQgPFBHUlA+4oCmICAgICBwcmFjdWplIG5hZCBqacW+IGJlxb7DrWPDrW1pIHByb2Nlc3kgdsKgdMSbY2h0byBza3VwaW7DoWNoXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE5Cittc2dpZCAiIC10LCAtLWlnbm9yZSAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCittc2dzdHIgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIGlnbm9ydWplIHNlbGjDoW7DrVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMAorbXNnaWQgIiAtdSwgLS11aWQgPHVpZD4uLi4gICAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIG93bmVkIGJ5IHRoZXNlIHVzZXJzXG4iCittc2dzdHIgIiIKKyIgLXUsIC0tdWlkIDxVSUQ+4oCmICAgICAgIHByYWN1amUgbmFkIGppxb4gYmXFvsOtY8OtbWkgcHJvY2VzeSB2bGFzdG7Em27DvW1pIHTEm21pdG9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1xb5pdmF0ZWxpXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTU3Cittc2dpZCAiaW52YWxpZCBjbGFzcyBkYXRhIGFyZ3VtZW50IgorbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnQgZGF0IHBsw6Fub3ZhY8OtIHTFmcOtZHkiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTYzCittc2dpZCAiaW52YWxpZCBjbGFzcyBhcmd1bWVudCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IHBsw6Fub3ZhY8OtIHTFmcOtZHkiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2NoZWR1bGluZyBjbGFzczogJyVzJyIKK21zZ3N0ciAibmV6bsOhbcOhIHBsw6Fub3ZhY8OtIHTFmcOtZGE6IOKAniVz4oCcIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NCBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MgorbXNnaWQgImNhbiBoYW5kbGUgb25seSBvbmUgb2YgcGlkLCBwZ2lkIG9yIHVpZCBhdCBvbmNlIgorbXNnc3RyICJsemUgenByYWNvdmF0IHBvdXplIGplZG5vIFBJRCwgUEdJRCBuZWJvIFVJRCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxODUKK21zZ2lkICJpbnZhbGlkIFBHSUQgYXJndW1lbnQiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCBQR0lEIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MworbXNnaWQgImludmFsaWQgVUlEIGFyZ3VtZW50IgorbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnQgVUlEIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIxMgorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIG5vbmUgY2xhc3MiCittc2dzdHIgInXCoHTFmcOtZHkgxb7DoWRuw6Egc2UgaWdub3J1asOtIHphZGFuw6EgZGF0YSB0xZnDrWR5IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyMAorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIGlkbGUgY2xhc3MiCittc2dzdHIgInXCoHTFmcOtZHkgemFow6FsZW7DrSBbaWRsZV0gc2UgaWdub3J1asOtIHphZGFuw6EgZGF0YSB0xZnDrWR5IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHByaW8gY2xhc3MgJWQiCittc2dzdHIgIm5lem7DoW3DoSBwcmlvcml0bsOtIHTFmcOtZGEgJWQiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJVc2FnZTogJXMgW29wdGlvbnNdIFttYXNrIHwgY3B1LWxpc3RdIFtwaWR8Y21kIFthcmdzLi4uXV1cbiIKKyJcbiIKK21zZ3N0ciAiIgorIlBvdcW+aXTDrTogJXMgW3DFmWVww61uYcSNZV0gW21hc2thIHwgc2V6bmFtX2NwdV0gW1BJRCB8IHDFmcOta2F6IFthcmd1bWVudOKApl1dXG4iCisiXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU1Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIENQVSBhZmZpbml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIlpvYnJhesOtIG5lYm8gem3Em27DrSBhZmluaXR1IHByb2Nlc3Uga8KgQ1BVLlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiT3B0aW9uczpcbiIKKyIgLWEsIC0tYWxsLXRhc2tzICAgICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKKyIgLXAsIC0tcGlkICAgICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKKyIgLWMsIC0tY3B1LWxpc3QgICAgICAgICAgZGlzcGxheSBhbmQgc3BlY2lmeSBjcHVzIGluIGxpc3QgZm9ybWF0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisiXG4iCittc2dzdHIgIiIKKyJQxZllcMOtbmHEjWU6XG4iCisiIC1hLCAtLWFsbC10YXNrcyAgICAgICAgIHByYWN1amUgbmFkIHbFoWVtaSDDumxvaGFtaSAodmzDoWtueSkgemFkYW7DqWhvIFBJRFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICBwcmFjdWplIG5hZCBleGlzdHVqw61jw61tIHphZGFuw71tIFBJRFxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICB6b2JyYXrDrSBhIHVyxI3DrSBDUFUgamFrbyBzZXpuYW1cbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgem9icmF6w60gdHV0byBuw6Fwb3bEm2R1XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIHpvYnJhesOtIMO6ZGFqZSBvwqB2ZXJ6aVxuIgorIlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gcnVuIGEgbmV3IGNvbW1hbmQ6XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisiWW91IGNhbiByZXRyaWV2ZSB0aGUgbWFzayBvZiBhbiBleGlzdGluZyB0YXNrOlxuIgorIiAgICAlMSRzIC1wIDcwMFxuIgorIk9yIHNldCBpdDpcbiIKKyIgICAgJTEkcyAtcCAwMyA3MDBcbiIKKyJMaXN0IGZvcm1hdCB1c2VzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QgaW5zdGVhZCBvZiBhIG1hc2s6XG4iCisiICAgICUxJHMgLXBjIDAsMyw3LTExIDcwMFxuIgorIlJhbmdlcyBpbiBsaXN0IGZvcm1hdCBjYW4gdGFrZSBhIHN0cmlkZSBhcmd1bWVudDpcbiIKKyIgICAgZS5nLiAwLTMxOjIgaXMgZXF1aXZhbGVudCB0byBtYXNrIDB4NTU1NTU1NTVcbiIKK21zZ3N0ciAiIgorIkltcGxpY2l0bsOtIGNob3bDoW7DrSBqZSBzcHXFoXTEm27DrSBub3bDqWhvIHDFmcOta2F6dTpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyJNYXNrdSBleGlzdHVqw61jw60gw7psb2h5IGx6ZSB6amlzdGl0IHRha3RvOlxuIgorIiAgICAlMSRzIC1wIDcwMFxuIgorIk5lYm8gamkgbHplIG5hc3Rhdml0OlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorIlrDoXBpcyB2ZSB0dmFydSBzZXpuYW11IChtw61zdG8gbWFza3kpIHBvdcW+w612w6EgamFrbyBvZGTEm2xvdmHEjSDEjcOhcmt1OlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJSb3pzYWh5IHbCoHNlem5hbXUgbW9ob3UgbcOtdCBqYWtvIGFyZ3VtZW50IGtyb2s6XG4iCisiICAgIG5hcMWZLiAwLTMxOjIgamUgc2hvZG7DqSBzwqBtYXNrb3UgMHg1NTU1NTU1NVxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAic2V6bmFtIG5vdsOpIGFmaW5pdHkgcHJvY2VzdSAlZDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICJzZXpuYW0gc291xI1hc27DqSBhZmluaXR5IHByb2Nlc3UgJWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICJtYXNrYSBub3bDqSBhZmluaXR5IHByb2Nlc3UgJWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAibWFza2Egc291xI1hc27DqSBhZmluaXR5IHByb2Nlc3UgJWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk5Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IGNvbnZlcnNpb24gZnJvbSBjcHVzZXQgdG8gc3RyaW5nIGZhaWxlZCIKK21zZ3N0ciAidm5pdMWZbsOtIGNoeWJhOiBwxZlldm9kIHrCoGNwdXNldCBuYSDFmWV0xJt6ZWMgc2VsaGFsIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMDkgc2NoZWR1dGlscy90YXNrc2V0LmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgIm5lcG9kYcWZaWxvIHNlIHrDrXNrYXQgYWZpbml0dSBwcm9jZXN1IHPCoFBJRCAlZCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgImFmaW5pdHUgcHJvY2VzdSAlZCBzZSBuZXBvZGHFmWlsbyBuYXN0YXZpdCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTg2IHN5cy11dGlscy9jaGNwdS5jOjI4OQorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgTlJfQ1BVUzsgYWJvcnRpbmciCittc2dzdHIgIm5lbHplIHpqaXN0aXQgcG/EjWV0IENQVSwgxI1pbm5vc3QgdWtvbsSNZW5hIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxOTUgc2NoZWR1dGlscy90YXNrc2V0LmM6MjA4IHN5cy11dGlscy9jaGNwdS5jOjI5NQorbXNnaWQgImNwdXNldF9hbGxvYyBmYWlsZWQiCittc2dzdHIgImFsb2thY2UgY3B1c2V0X2FsbG9jIHNlbGhhbGEiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxNSBzeXMtdXRpbHMvY2hjcHUuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAic2V6bmFtIENQVSBzZSBuZXpkYcWZaWxvIHJvemVicmF0OiAlcyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjE4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzazogJXMiCittc2dzdHIgIm1hc2t1IENQVSBzZSBuZXpkYcWZaWxvIHJvemVicmF0OiAlcyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogWmVyby1maWxsZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiJXM6ICU8UFJJdTY0PiBiYWp0xa8gb2QgcG96aWNlICU8UFJJdTY0PiB6YXBsbsSbbm8gbnVsYW1pXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IERpc2NhcmRlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIlczogJTxQUkl1NjQ+IGJhanTFryBvZCBwb3ppY2UgJTxQUkl1NjQ+IHphaG96ZW5vXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODcKK21zZ2lkICJEaXNjYXJkIHRoZSBjb250ZW50IG9mIHNlY3RvcnMgb24gYSBkZXZpY2UuXG4iCittc2dzdHIgIlphaG9kw60gb2JzYWggc2VrdG9yxa8gbmEgemHFmcOtemVuw60uXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTAKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb2Zmc2V0IDzEjcOtc2xvPlxuIgorIiAgICAgICAgICAgICAgICAgICAgIHBvemljZSB2wqBiYWp0ZWNoLCBvZCBrdGVyw6kgemFow6FqaXQgemFoYXpvdsOhbsOtXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTEKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiIgorIiAtbCwgLS1sZW5ndGggPMSNw61zbG8+XG4iCisiICAgICAgICAgICAgICAgICAgICAgcG/EjWV0IGJhanTFryBuYSB6YWhvemVuw60gb2QgZGFuw6kgcG96aWNlXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTIKK21zZ2lkICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiIC1wLCAtLXN0ZXAgPMSNw61zbG8+ICB2ZWxpa29zdCBvcGVyYWPDrSB6YWhvemVuw60gdXZuaXTFmSBwb3ppY2VcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MworbXNnaWQgIiAtcywgLS1zZWN1cmUgICAgICAgIHBlcmZvcm0gc2VjdXJlIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC1zLCAtLXNlY3VyZSAgICAgICAgcHJvdmVkZSBiZXpwZcSNbsOpIHphaG96ZW7DrSBkYXRcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NAorbXNnaWQgIiAteiwgLS16ZXJvb3V0ICAgICAgIHplcm8tZmlsbCByYXRoZXIgdGhhbiBkaXNjYXJkXG4iCittc2dzdHIgIiAteiwgLS16ZXJvb3V0ICAgICAgIG5hbcOtc3RvIHphaG96ZW7DrSB2eXBsbsOtIG51bGFtaVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgYWxpZ25lZCBsZW5ndGggYW5kIG9mZnNldFxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICB2eXDDrcWhZSB6YXJvdm5hbm91IGTDqWxrdSBhIHBvemljaVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1MCBzeXMtdXRpbHMvZnN0cmltLmM6MzEyIHN5cy11dGlscy9sb3NldHVwLmM6NjczCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMjQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IgorbXNnc3RyICJuZXpkYcWZaWxvIHNlIHJvemVicmF0IHphxI3DoXRlayBvYmxhc3RpIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1NAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGVwIgorbXNnc3RyICJrcm9rIHNlIG5lemRhxZlpbG8gcm96ZWJyYXQiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTcyIHN5cy11dGlscy96cmFtY3RsLmM6NjgyIHN5cy11dGlscy96cmFtY3RsLmM6NzA4Cittc2dpZCAibm8gZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAixb7DoWRuw6kgemHFmcOtemVuw60gbmVieWxvIHphZMOhbm8iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTc3IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTEKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyMiBzeXMtdXRpbHMvZnN0cmltLmM6MzM0Cittc2dpZCAidW5leHBlY3RlZCBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJuZW/EjWVrw6F2YW7DvSBwb8SNZXQgYXJndW1lbnTFryIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0dFVFNJWkU2NCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBJT0NUTCB2b2zDoW7DrSBCTEtHRVRTSVpFNjQgc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NTWkdFVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBJT0NUTCB2b2zDoW7DrSBCTEtTU1pHRVQgc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiVzOiB6YcSNw6F0ZWsgJTxQUkl1NjQ+IG5lbsOtIHphcm92bsOhbiBuYSB2ZWxpa29zdCBzZWt0b3J1ICVpIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0IGlzIGdyZWF0ZXIgdGhhbiBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAiJXM6IHphxI3DoXRlayBqZSB2xJt0xaHDrSBuZcW+IHZlbGlrb3N0IHphxZnDrXplbsOtIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGVuZ3RoICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiJXM6IGTDqWxrYSAlPFBSSXU2ND4gbmVuw60gemFyb3Zuw6FuYSBuYSB2ZWxpa29zdCBzZWt0b3J1ICVpIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLWkVST09VVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBJT0NUTCB2b2zDoW7DrSBCTEtaRVJPT1VUIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTRUNESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IElPQ1RMIHZvbMOhbsOtIEJMS1NFQ0RJU0NBUkQgc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogSU9DVEwgdm9sw6Fuw60gQkxLRElTQ0FSRCBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo4NyBzeXMtdXRpbHMvY2hjcHUuYzoxNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJDUFUgJXUgbmVleGlzdHVqZSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBob3QgcGx1Z2dhYmxlIgorbXNnc3RyICJDUFUgJXUgbmVuw60gdnltxJtuaXRlbG7DqSB6YSBixJtodSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZW5hYmxlZFxuIgorbXNnc3RyICJDUFUgJXUgamnFviBqZSB6YXBudXRvXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEwMgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBkaXNhYmxlZFxuIgorbXNnc3RyICJDUFUgJXUgamUgamnFviB2eXBudXRvXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCAoQ1BVIGlzIGRlY29uZmlndXJlZCkiCittc2dzdHIgIlphcG51dMOtIENQVSAldSBzZWxoYWxvIChDUFUgamUgb2RuYXN0YXZlbm8pIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIlphcG51dMOtIENQVSAldSBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1IHphcG51dG9cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCAobGFzdCBlbmFibGVkIENQVSkiCittc2dzdHIgIlZ5cG51dMOtIENQVSAldSBzZWxoYWxvIChwb3NsZWRuw60gemFwbnV0w6kgQ1BVKSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCIKK21zZ3N0ciAiVnlwbnV0w60gQ1BVICV1IHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1IHZ5cG51dG9cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCByZXNjYW5uaW5nIG9mIENQVXMiCittc2dzdHIgIlRlbnRvIHN5c3TDqW0gbmVwb2Rwb3J1amUgb3Bha292YW7DqSBobGVkw6Fuw60gQ1BVIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDMKK21zZ2lkICJGYWlsZWQgdG8gdHJpZ2dlciByZXNjYW4gb2YgQ1BVcyIKK21zZ3N0ciAiU3B1xaF0xJtuw60gaGxlZMOhbsOtIENQVSBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJpZ2dlcmVkIHJlc2NhbiBvZiBDUFVzXG4iCittc2dzdHIgIkhsZWTDoW7DrSBDUFUgc3B1xaF0xJtub1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHNldHRpbmcgdGhlIGRpc3BhdGNoaW5nIG1vZGUgb2YgQ1BVcyIKK21zZ3N0ciAiVGVudG8gc3lzdMOpbSBuZXBvZHBvcnVqZSBuYXN0YXZvdsOhbsOtIHJlxb5pbXUgcm96aG9kb3bDoW7DrSBDUFUiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NQorbXNnaWQgIkZhaWxlZCB0byBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICJTZWxoYWxvIG5hc3RhdmVuw60gdm9kb3Jvdm7DqWhvIHJlxb5pbXUgcm96aG9kb3bDoW7DrSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU2CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIlZvZG9yb3Zuw70gcmXFvmltIHJvemhvZG92w6Fuw60gw7pzcMSbxaFuxJsgbmFzdGF2ZW5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU5Cittc2dpZCAiRmFpbGVkIHRvIHNldCB2ZXJ0aWNhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICJTZWxoYWxvIG5hc3RhdmVuw60gc3Zpc2zDqWhvIHJlxb5pbXUgcm96aG9kb3bDoW7DrSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgdmVydGljYWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICJTdmlzbMO9IHJlxb5pbSByb3pob2RvdsOhbsOtIMO6c3DEm8WhbsSbIG5hc3RhdmVuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGNvbmZpZ3VyYWJsZSIKK21zZ3N0ciAiQ1BVICV1IG5lbsOtIG5hc3Rhdml0ZWxuw6kiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAldSBqZSBqacW+IG5hc3RhdmVub1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAldSBqZSBqacW+IG9kbmFzdGF2ZW5vXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIChDUFUgaXMgZW5hYmxlZCkiCittc2dzdHIgIk9kbmFzdGF2ZW7DrSBDUFUgJXUgc2VsaGFsbyAoQ1BVIGplIHphcG51dG8pIgorCisjIEZJWDogY29uZmlndXJlIGlzIGEgdmVyYiwgdXNlIGNvbmZpZ3VyYXRpb24KKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiTmFzdGF2ZW7DrSBDUFUgJXUgc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAldSBuYXN0YXZlbm9cbiIKKworIyBGSVg6IGRlY29uZmlndXJlIGlzIGEgdmVyYiwgdXNlIGRlY29uZmlndXJhdGlvbgorIzogc3lzLXV0aWxzL2NoY3B1LmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIk9kbmFzdGF2ZW7DrSBDUFUgJXUgc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICV1IG9kbmFzdGF2ZW5vXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIENQVSBudW1iZXIgaW4gQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICJuZXBsYXRuw6kgxI3DrXNsbyBDUFUgdsKgc2V6bmFtdSBDUFU6ICVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzggdGV4dC11dGlscy9jb2wuYzoxMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiIgorIlxuIgorIlBvdcW+aXTDrTpcbiIKKyIgJXMgW3DFmWVww61uYcSNZV1cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQyCittc2dpZCAiQ29uZmlndXJlIENQVXMgaW4gYSBtdWx0aS1wcm9jZXNzb3Igc3lzdGVtLlxuIgorbXNnc3RyICJOYXN0YXbDrSBqZWRub3RreSBDUFUgdmUgdsOtY2Vwcm9jZXNvcm92w6ltIHN5c3TDqW11LlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorIiAgLWUsIC0tZW5hYmxlIDxjcHUtbGlzdD4gICAgICAgZW5hYmxlIGNwdXNcbiIKKyIgIC1kLCAtLWRpc2FibGUgPGNwdS1saXN0PiAgICAgIGRpc2FibGUgY3B1c1xuIgorIiAgLWMsIC0tY29uZmlndXJlIDxjcHUtbGlzdD4gICAgY29uZmlndXJlIGNwdXNcbiIKKyIgIC1nLCAtLWRlY29uZmlndXJlIDxjcHUtbGlzdD4gIGRlY29uZmlndXJlIGNwdXNcbiIKKyIgIC1wLCAtLWRpc3BhdGNoIDxtb2RlPiAgICAgICAgIHNldCBkaXNwYXRjaGluZyBtb2RlXG4iCisiICAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICB0cmlnZ2VyIHJlc2NhbiBvZiBjcHVzXG4iCisiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisiXG4iCisiUMWZZXDDrW5hxI1lOlxuIgorIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHVcbiIKKyIgIC1lLCAtLWVuYWJsZSA8c2V6bmFtX0NQVT4gICAgICAgemFwbmUgQ1BVXG4iCisiICAtZCwgLS1kaXNhYmxlIDxzZXpuYW1fQ1BVPiAgICAgIHZ5cG5lIENQVVxuIgorIiAgLWMsIC0tY29uZmlndXJlIDxzZXpuYW1fQ1BVPiAgICBuYXN0YXbDrSBDUFVcbiIKKyIgIC1nLCAtLWRlY29uZmlndXJlIDxzZXpuYW1fY3B1PiAgb2RuYXN0YXbDrSBDUFVcbiIKKyIgIC1wLCAtLWRpc3BhdGNoIDxyZcW+aW0+ICAgICAgICAgIG5hc3RhdsOtIHJlxb5pbSByb3pob2RvdsOhbsOtXG4iCisiICAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICAgIHNwdXN0w60gaGxlZMOhbsOtIENQVVxuIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICB2eXDDrcWhZSDDumRhamUgb8KgdmVyemkgYSBza29uxI3DrVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzozMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJuZXBvZHBvcm92YW7DvSBhcmd1bWVudDogJXMiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIGhhcmR8c29mdFxuIgorbXNnc3RyICIgJXMgaGFyZHxzb2Z0XG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0IHRoZSBmdW5jdGlvbiBvZiB0aGUgQ3RybC1BbHQtRGVsIGNvbWJpbmF0aW9uLlxuIgorbXNnc3RyICJOYXN0YXbDrSBmdW5rY2kga29tYmluYWNlIGtsw6F2ZXMgQ3RybC1BbHQtRGVsLlxuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUxCittc2dpZCAiaW1wbGljaXQiCittc2dzdHIgInbDvWNob3rDrSIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHZhbHVlIGluICVzOiAlanUiCittc2dzdHIgIm5lb8SNZWvDoXZhbsOhIGhvZG5vdGEgdsKgJXM6ICVqdSIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo2MworbXNnaWQgIllvdSBtdXN0IGJlIHJvb3QgdG8gc2V0IHRoZSBDdHJsLUFsdC1EZWwgYmVoYXZpb3IiCittc2dzdHIgIk11c8OtdGUgYsO9dCByb290LCBhYnlzdGUgbW9obGkgbmFzdGF2aXQgY2hvdsOhbsOtIEN0cmwtQWx0LURlbCIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo3MSBzeXMtdXRpbHMvaXBjcm0uYzozOTIgc3lzLXV0aWxzL2lwY3JtLmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICJuZXpuw6Ftw70gYXJndW1lbnQ6ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTAKK21zZ2lkICJzeXN0ZW0gaXMgdW51c2FibGUiCittc2dzdHIgInN5c3TDqW0gamUgbmVwb3XFvml0ZWxuw70iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMQorbXNnaWQgImFjdGlvbiBtdXN0IGJlIHRha2VuIGltbWVkaWF0ZWx5IgorbXNnc3RyICJqZSB0xZllYmEgb2thbcW+aXTDqSByZWFrY2UiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMgorbXNnaWQgImNyaXRpY2FsIGNvbmRpdGlvbnMiCittc2dzdHIgImtyaXRpY2vDvSBzdGF2IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTMKK21zZ2lkICJlcnJvciBjb25kaXRpb25zIgorbXNnc3RyICJjaHlib3bDvSBzdGF2IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTQKK21zZ2lkICJ3YXJuaW5nIGNvbmRpdGlvbnMiCittc2dzdHIgInN0YXYgc3RvasOtY8OtIHphIHBvem9ybm9zdCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE1Cittc2dpZCAibm9ybWFsIGJ1dCBzaWduaWZpY2FudCBjb25kaXRpb24iCittc2dzdHIgImLEm8W+bsOhLCBhbGUgdsO9em5hbW7DoSB1ZMOhbG9zdCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE2Cittc2dpZCAiaW5mb3JtYXRpb25hbCIKK21zZ3N0ciAiaW5mb3JtYcSNbsOtIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTcKK21zZ2lkICJkZWJ1Zy1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAibGFkaWPDrSB6cHLDoXZ5IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzEKK21zZ2lkICJrZXJuZWwgbWVzc2FnZXMiCittc2dzdHIgImphZGVybsOpIHpwcsOhdnkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMgorbXNnaWQgInJhbmRvbSB1c2VyLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICJuw6Fob2Ruw6kgdcW+aXZhdGVsc2vDqSB6cHLDoXZ5IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzMKK21zZ2lkICJtYWlsIHN5c3RlbSIKK21zZ3N0ciAicG/FoXRvdm7DrSBzeXN0w6ltIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzQKK21zZ2lkICJzeXN0ZW0gZGFlbW9ucyIKK21zZ3N0ciAic3lzdMOpbW92w60gZMOpbW9uaSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1Cittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyIKK21zZ3N0ciAiYmV6cGXEjW5vc3Ruw60vYXV0b3JpemHEjW7DrSB6cHLDoXZ5IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzYKK21zZ2lkICJtZXNzYWdlcyBnZW5lcmF0ZWQgaW50ZXJuYWxseSBieSBzeXNsb2dkIgorbXNnc3RyICJ6cHLDoXZ5IHZuaXTFmW7EmyB2eXR2b8WZZW7DqSBkw6ltb25lbSBzeXNsb2dkIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzcKK21zZ2lkICJsaW5lIHByaW50ZXIgc3Vic3lzdGVtIgorbXNnc3RyICJ0aXNrb3bDvSBwb2RzeXN0w6ltIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzgKK21zZ2lkICJuZXR3b3JrIG5ld3Mgc3Vic3lzdGVtIgorbXNnc3RyICJwb2RzeXN0w6ltIHVzZW5ldHUgKG5ld3MpIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzkKK21zZ2lkICJVVUNQIHN1YnN5c3RlbSIKK21zZ3N0ciAicG9kc3lzdMOpbSBVVUNQIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDAKK21zZ2lkICJjbG9jayBkYWVtb24iCittc2dzdHIgIsSNYXNvdsO9IGTDqW1vbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQxCittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyAocHJpdmF0ZSkiCittc2dzdHIgImJlenBlxI1ub3N0bsOtL2F1dG9yaXphxI1uw60genByw6F2eSAoc291a3JvbcOpKSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQyCittc2dpZCAiRlRQIGRhZW1vbiIKK21zZ3N0ciAiZMOpbW9uIEZUUCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjY3Cittc2dpZCAiRGlzcGxheSBvciBjb250cm9sIHRoZSBrZXJuZWwgcmluZyBidWZmZXIuXG4iCittc2dzdHIgIlpvYnJhesOtIG5lYm8gb3Zsw6Fkw6Ega3J1aG92w70gamFkZXJuw70gYnVmZmVyLlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzAKK21zZ2lkICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGNsZWFyIHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICB2eXByw6F6ZG7DrSBrcnVob3bDvSBidWZmZXIgdsKgasOhZMWZZVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzEKK21zZ2lkICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIHJlYWQgYW5kIGNsZWFyIGFsbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIHDFmWXEjXRlIGEgdnlwcsOhemRuw60genByw6F2eVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzIKK21zZ2lkICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIGRpc2FibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIHZ5cG5lIHZ5cGlzb3bDoW7DrSB6cHLDoXYgZG8ga29uem9seVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzMKK21zZ2lkICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIGVuYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAgemFwbmUgdnlwaXNvdsOhbsOtIHpwcsOhdiBkbyBrb256b2x5XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NAorbXNnaWQgIiAtRiwgLS1maWxlIDxmaWxlPiAgICAgICAgICAgdXNlIHRoZSBmaWxlIGluc3RlYWQgb2YgdGhlIGtlcm5lbCBsb2cgYnVmZmVyXG4iCittc2dzdHIgIiAtRiwgLS1maWxlIDxzb3Vib3I+ICAgICAgICAgcG91xb5pamUgemFkYW7DvSBzb3Vib3IgbcOtc3RvIGphZGVybsOpaG8gYnVmZmVydVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzUKK21zZ2lkICIgLWYsIC0tZmFjaWxpdHkgPGxpc3Q+ICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGZhY2lsaXRpZXNcbiIKK21zZ3N0ciAiIC1mLCAtLWZhY2lsaXR5IDxzZXpuYW0+ICAgICB2w71zdHVwIG9tZXrDrSBuYSB6YWRhbsOpIG9ib3J5XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NgorbXNnaWQgIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAgaHVtYW4gcmVhZGFibGUgb3V0cHV0XG4iCittc2dzdHIgIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAgdsO9c3R1cCDEjWl0ZWxuw70gcHJvIGxpZGlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc3Cittc2dpZCAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICBkaXNwbGF5IGtlcm5lbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIHpvYnJhesOtIGphZGVybsOpIHpwcsOhdnlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc4Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxrZHk+XSAgICAgICAgIG9iYXJ2w60genByw6F2eSAoYXV0bywgYWx3YXlzIFt2xb5keV0sIG5ldmVyIFtuaWtkeV1cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgxCittc2dpZCAiIC1sLCAtLWxldmVsIDxsaXN0PiAgICAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBsZXZlbHNcbiIKK21zZ3N0ciAiIC1sLCAtLWxldmVsIDxzZXpuYW0+ICAgICAgICB2w71zdHVwIG9tZXrDrSBuYSB6YWRhbsOpIMO6cm92bsSbXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MgorbXNnaWQgIiAtbiwgLS1jb25zb2xlLWxldmVsIDxsZXZlbD4gc2V0IGxldmVsIG9mIG1lc3NhZ2VzIHByaW50ZWQgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLW4sIC0tY29uc29sZS1sZXZlbCA8w7pyb3ZlxYg+IG5hc3RhdsOtIMO6cm92ZcWIIHpwcsOhdiB2eXBpc292YW7DvWNoIGRvIGtvbnpvbHlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgzCittc2dpZCAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICBkbyBub3QgcGlwZSBvdXRwdXQgaW50byBhIHBhZ2VyXG4iCittc2dzdHIgIiAtUCwgLS1ub3BhZ2VyICAgICAgICAgICAgICAgdsO9c3R1cCBuZW9kZcWhbGUgcm91cm91IGRvIHN0csOhbmtvdmHEjWVcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg0Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgdnlww63FoWUgYnVmZmVyIHpwcsOhdiB2wqBuZW9wcmFjb3ZhbsOpIHBvZG9ixJtcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg1Cittc2dpZCAiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICBmb3JjZSB0byB1c2Ugc3lzbG9nKDIpIHJhdGhlciB0aGFuIC9kZXYva21zZ1xuIgorbXNnc3RyICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIHZ5bnV0w60gcG91xb5pdMOtIHN5c2xvZygyKSBtw61zdG8gL2Rldi9rbXNnXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NgorbXNnaWQgIiAtcywgLS1idWZmZXItc2l6ZSA8c2l6ZT4gICAgYnVmZmVyIHNpemUgdG8gcXVlcnkgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIiCisiIC1zLCAtLWJ1ZmZlci1zaXplIDx2ZWxpa29zdD4gdmVsaWtvc3QgYnVmZmVydSwgbmEga3RlcsO9IHNlIHplcHRhdCBqYWRlcm7DqWhvXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3J1aG92w6kgYnVmZmVydVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODcKK21zZ2lkICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIGRpc3BsYXkgdXNlcnNwYWNlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgdnlww63FoWUgenByw6F2eSB6wqB1xb5pdmF0ZWxza8OpaG8gcHJvc3RvcnVcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg4Cittc2dpZCAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICB3YWl0IGZvciBuZXcgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICDEjWVrw6EgbmEgbm92w6kgenByw6F2eVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODkKK21zZ2lkICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIGRlY29kZSBmYWNpbGl0eSBhbmQgbGV2ZWwgdG8gcmVhZGFibGUgc3RyaW5nXG4iCittc2dzdHIgIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgb2JvcnkgYSDDunJvdm7EmyBwxZlldmVkZSBuYSDEjWl0ZWxuw6kgxZlldMSbemNlXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MAorbXNnaWQgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgc2hvdyB0aW1lIGRlbHRhIGJldHdlZW4gcHJpbnRlZCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIHVrw6HFvmUgxI1hc292w6kgcm96ZMOtbHkgbWV6aSBobMOhxaFrYW1pXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MQorbXNnaWQgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgc2hvdyBsb2NhbCB0aW1lIGFuZCB0aW1lIGRlbHRhIGluIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIHVrw6HFvmUgbcOtc3Ruw60gxI1hcyBhIMSNYXNvdsO9IHJvemTDrWwgdsKgxI1pdGVsbsOpIHBvZG9ixJtcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkyCittc2dpZCAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICBzaG93IGh1bWFuLXJlYWRhYmxlIHRpbWVzdGFtcCAobWF5IGJlIGluYWNjdXJhdGUhKVxuIgorbXNnc3RyICIiCisiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICB1a8Ohxb5lIMSNYXNvdsOpIMO6ZGFqZSB2wqDEjWl0ZWxuw6kgcG9kb2LEmyAobcWvxb5lIGLDvXRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5lcMWZZXNuw6khKVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTMKK21zZ2lkICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIGRvbid0IHNob3cgYW55IHRpbWVzdGFtcCB3aXRoIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAgbmV1a2F6dWplIHXCoHpwcsOhdiDFvsOhZG7DrSDEjWFzb3bDqSDDumRhamVcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk0Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXAgdXNpbmcgdGhlIGdpdmVuIGZvcm1hdDpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyJTdXNwZW5kaW5nL3Jlc3VtZSB3aWxsIG1ha2UgY3RpbWUgYW5kIGlzbyB0aW1lc3RhbXBzIGluYWNjdXJhdGUuXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm3DoXQ+ICB6b2JyYXp1amUgxI1hc292w6kgw7pkYWplIHbCoGRhbsOpbSBmb3Jtw6F0dTpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocm96ZMOtbCwgcmVsYXRpdm7DrSwgxI1pdGVsbsO9LCDFvsOhZG7DvSwgSVNPKVxuIgorIlVzcMOhbsOtL3Byb2J1emVuw60genDFr3NvYnVqZSBuZXDFmWVzbm9zdGkgcMWZaSBmb3Jtw6F0dSBjdGltZSBhIGlzby5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzAwCittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgZmFjaWxpdGllczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBvZHBvcm92YW7DqSBvYm9yeSBwcm90b2tvbHU6XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwNgorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGxldmVscyAocHJpb3JpdGllcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJQb2Rwb3JvdmFuw6kgw7pyb3ZuxJsgKHByaW9yaXR5KSBwcm90b2tvbHU6XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGV2ZWwgJyVzJyIKK21zZ3N0ciAibmV6ZGHFmWlsbyBzZSByb3plYnJhdCDDunJvdmXFiCDigJ4lc+KAnCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbGV2ZWwgJyVzJyIKK21zZ3N0ciAibmV6bsOhbcOhIMO6cm92ZcWIIOKAniVz4oCcIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGZhY2lsaXR5ICclcyciCittc2dzdHIgIm5lemRhxZlpbG8gc2Ugcm96ZWJyYXQgb2JvciDigJ4lc+KAnCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAibmV6bsOhbcO9IG9ib3Ig4oCeJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyOAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW1hcDogJXMiCittc2dzdHIgIm5lbHplIG5hbWFwb3ZhdCBkbyBwYW3Em3RpOiAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1NgorbXNnaWQgImludmFsaWQgYnVmZmVyIHNpemUgYXJndW1lbnQiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCB2ZWxpa29zdGkgYnVmZmVydSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQwOQorbXNnaWQgIi0tc2hvdy1kZWx0YSBpcyBpZ25vcmVkIHdoZW4gdXNlZCB0b2dldGhlciB3aXRoIGlzbzg2MDEgdGltZSBmb3JtYXQiCittc2dzdHIgInDFmWVww61uYcSNIC0tc2hvdy1kZWx0YSBzZSBpZ25vcnVqZSwgamUtbGkgcG91xb5pdCBmb3Jtw6F0IMSNYXN1IElTTyA4NjAxIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDMyCittc2dpZCAiLS1yYXcgY2FuIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWxldmVsIG9yIC0tZmFjaWxpdHkgb25seSB3aGVuIHJlYWRpbmcgbWVzc2FnZXMgZnJvbSAvZGV2L2ttc2ciCittc2dzdHIgIi0tcmF3IGx6ZSBwb3XFvsOtdCBzcG9sdSBzwqAtLWxldmVsIG5lYm8gLS1mYWNpbGl0eSBwb3V6ZSBwxZlpIMSNdGVuw60genByw6F2IHrCoC9kZXYva21zZyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQ0MgorbXNnaWQgInJlYWQga2VybmVsIGJ1ZmZlciBmYWlsZWQiCittc2dzdHIgIsSNdGVuw60gesKgamFkZXJuw6lobyBidWZmZXJ1IHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0NjEKK21zZ2lkICJrbG9nY3RsIGZhaWxlZCIKK21zZ3N0ciAidm9sw6Fuw60ga2xvZ2N0bCBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT58PG1vdW50cG9pbnQ+XVxuIgorbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gWzx6YcWZw616ZW7DrT58PGJvZF9wxZlpcG9qZW7DrT5dXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNworbXNnaWQgIkVqZWN0IHJlbW92YWJsZSBtZWRpYS5cbiIKK21zZ3N0ciAiVnlzdW5lIHbDvW3Em25uw6kgbcOpZGl1bS5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTQwCittc2dpZCAiIgorIiAtYSwgLS1hdXRvIDxvbnxvZmY+ICAgICAgICAgdHVybiBhdXRvLWVqZWN0IGZlYXR1cmUgb24gb3Igb2ZmXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxzbG90PiAgICBzd2l0Y2ggZGlzY3Mgb24gYSBDRC1ST00gY2hhbmdlclxuIgorIiAtZCwgLS1kZWZhdWx0ICAgICAgICAgICAgICAgZGlzcGxheSBkZWZhdWx0IGRldmljZVxuIgorIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAgZWplY3QgZmxvcHB5XG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBkb24ndCBjYXJlIGFib3V0IGRldmljZSB0eXBlXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICB0b2dnbGUgbWFudWFsIGVqZWN0IHByb3RlY3Rpb24gb24vb2ZmXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBkbyBub3QgdW5tb3VudCBkZXZpY2UgZXZlbiBpZiBpdCBpcyBtb3VudGVkXG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBkbyBub3QgdW5tb3VudCBhbm90aGVyIHBhcnRpdGlvbnNcbiIKKyIgLW4sIC0tbm9vcCAgICAgICAgICAgICAgICAgIGRvbid0IGVqZWN0LCBqdXN0IHNob3cgZGV2aWNlIGZvdW5kXG4iCisiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICB1c2UgL3Byb2MvbW91bnRzIGluc3RlYWQgb2YgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICBlamVjdCB0YXBlXG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICBlamVjdCBDRC1ST01cbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIGVqZWN0IFNDU0kgZGV2aWNlXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICBjbG9zZSB0cmF5XG4iCisiIC1ULCAtLXRyYXl0b2dnbGUgICAgICAgICAgICB0b2dnbGUgdHJheVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgZW5hYmxlIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC14LCAtLWNkc3BlZWQgPHNwZWVkPiAgICAgICBzZXQgQ0QtUk9NIG1heCBzcGVlZFxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAgbGlzdCBDRC1ST00gYXZhaWxhYmxlIHNwZWVkc1xuIgorbXNnc3RyICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICB6YXBuZSAob24pIC8gdnlwbmUgKG9mZikgYXV0b21hdGlja8OpIHZ5c291dsOhbsOtXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxwb3ppY2U+ICB2eW3Em27DrSBkaXNrIHYgQ0QtUk9NIG3Em25pxI1pXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICB6b2JyYXrDrSB2w71jaG96w60gemHFmcOtemVuw61cbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIHZ5c3VuZSBkaXNrZXR1XG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBuZXN0YXLDoSBzZSBvwqB0eXAgemHFmcOtemVuw61cbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIHphcG5lIChvbikgLyB2eXBuZSAob2ZmKSBvY2hybnUgcHJvdGkgcnXEjW7DrW11XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2eXN1bnV0w61cbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIG5lb2Rwb2rDrSB6YcWZw616ZW7DrSwgacKga2R5xb4gamUgcMWZaXBvamVub1xuIgorIiAtTSwgLS1uby1wYXJ0aXRpb25zLXVubW91bnQgbmVvZHBvasOtIGRhbMWhw60gb2Rkw61seVxuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgbmV2eXN1bnVqZSwgamVuIHVrw6HFvmUsIGplc3RsaSB6YcWZw616ZW7DrSBleGlzdHVqZVxuIgorIiAtcCwgLS1wcm9jICAgICAgICAgICAgICAgICAgcG91xb5pamUgL3Byb2MvbW91bnRzIG3DrXN0byAvZXRjL210YWJcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIHZ5c3VuZSBww6Fza3VcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIHZ5c3VuZSBDRC1ST01cbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIHZ5c3VuZSBTQ1NJIHphxZnDrXplbsOtXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICB6YXbFmWUgZHbDrcWZa2FcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIHptxJtuw60gcG9sb2h1IGR2w63FmWVrXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICBwb3ZvbMOtIHBvZHJvYm7DoSBobMOhxaFlbsOtXG4iCisiIC14LCAtLWNkc3BlZWQgPHJ5Y2hsb3N0ICAgICBuYXN0YXbDrSBuZWp2ecWhxaHDrSByeWNobG9zdCBDRC1ST01cbiIKKyIgLVgsIC0tbGlzdHNwZWVkICAgICAgICAgICAgIHZ5cMOtxaFlIGRvc3R1cG7DqSByeWNobG9zdGkgQ0QtUk9NXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjE2NAorbXNnaWQgIiIKKyJcbiIKKyJCeSBkZWZhdWx0IHRyaWVzIC1yLCAtcywgLWYsIGFuZCAtcSBpbiBvcmRlciB1bnRpbCBzdWNjZXNzLlxuIgorbXNnc3RyICIiCisiXG4iCisiSmFrbyB2w71jaG96w60gc2UgemtvdcWhw60gLXIsIC1zLCAtZiBhIC1xIHbCoHRvbXRvIHBvxZlhZMOtLCBkb2t1ZCBuZXVzcMSbamUuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxMAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jaGFuZ2Vyc2xvdC8tYyBvcHRpb24iCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCBwxZllcMOtbmHEjWUgLS1jaGFuZ2Vyc2xvdC8tYyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjE0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNkc3BlZWQvLXggb3B0aW9uIgorbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnQgcMWZZXDDrW5hxI1lIC0tY2RzcGVlZC8teCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzI2Cittc2dpZCAiQ0QtUk9NIGF1dG8tZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgInDFmcOta2F6IHBybyBhdXRvbWF0aWNrw6kgdnlzdW51dMOtIENELVJPTSBzZWxoYWwiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MAorbXNnaWQgIkNELVJPTSBkb29yIGxvY2sgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiWmFteWvDoW7DrSBkdsOtxZllayBDRC1ST00gbmVuw60gcG9kcG9yb3bDoW5vIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDIKK21zZ2lkICJvdGhlciB1c2VycyBoYXZlIHRoZSBkcml2ZSBvcGVuIGFuZCBub3QgQ0FQX1NZU19BRE1JTiIKK21zZ3N0ciAib3N0YXRuw60gdcW+aXZhdGVsw6kgbWFqw60gamVkbm90a3Ugb3RldsWZZW5vdSBhIG5lIENBUF9TWVNfQURNSU4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0NAorbXNnaWQgIkNELVJPTSBsb2NrIGRvb3IgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgInDFmcOta2F6IHBybyB6YW1rbnV0w60gZHbDrcWZZWsgQ0QtUk9NIHNlbGhhbCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQ5Cittc2dpZCAiQ0QtRHJpdmUgbWF5IE5PVCBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiSmVkbm90a2EgQ0QgTkVTTcONIGLDvXQgemEgcG9tb2NpIHRsYcSNw610a2EgdnlzdW5vdsOhbmEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM1MQorbXNnaWQgIkNELURyaXZlIG1heSBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiSmVkbm90a2EgQ0Qgc23DrSBiw710IHphIHBvbW9jaSB0bGHEjcOtdGthIHZ5c3Vub3bDoW5hIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjIKK21zZ2lkICJDRC1ST00gc2VsZWN0IGRpc2MgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgInDFmcOta2F6IHBybyB2b2xidSBkaXNrdSBDRC1ST00gc2VsaGFsIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjYKK21zZ2lkICJDRC1ST00gbG9hZCBmcm9tIHNsb3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgInDFmcOta2F6IHBybyBuYcSNdGVuw60gQ0QtUk9NIHplIHrDoXNvYm7DrWt1IG3Em25pxI1lIHNlbGhhbCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY4Cittc2dpZCAiSURFL0FUQVBJIENELVJPTSBjaGFuZ2VyIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAidG90byBqw6Fkcm8gbmVwb2Rwb3J1amUgSURFL0FUQVBJIENELVJPTSBtxJtuacSNXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NgorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJwxZnDrWtheiBwcm8gemF2xZllbsOtIGR2w63FmWVrIENELVJPTSBzZWxoYWwiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4OAorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICJ0b3RvIGrDoWRybyBuZXBvZHBvcnVqZSBwxZnDrWtheiBwcm8gemF2xZllbsOtIGR2w63FmWVrIENELVJPTVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MDUKK21zZ2lkICJDRC1ST00gZWplY3QgdW5zdXBwb3J0ZWQiCittc2dzdHIgInZ5c3Vub3bDoW7DrSBDRC1ST00gbmVuw60gcG9kcG9yb3bDoW5vIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzMgc3lzLXV0aWxzL2VqZWN0LmM6NDU2IHN5cy11dGlscy9lamVjdC5jOjEwMTEKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgInDFmcOta2F6IHBybyB2eXN1bnV0w60gQ0QtUk9NIHNlbGhhbCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM2Cittc2dpZCAibm8gQ0QtUk9NIGluZm9ybWF0aW9uIGF2YWlsYWJsZSIKK21zZ3N0ciAiw7pkYWplIG/CoENELVJPTSBuZWpzb3UgZG9zdHVwbsOpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzkKK21zZ2lkICJDRC1ST00gZHJpdmUgaXMgbm90IHJlYWR5IgorbXNnc3RyICJKZWRub3RrYSBDRC1ST00gbmVuw60gcMWZaXByYXZlbmEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4MgorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgInDFmcOta2F6IHBybyB2b2xidSByeWNobG9zdGkgQ0QtUk9NIHNlbGhhbCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDg0IHN5cy11dGlscy9lamVjdC5jOjU3MAorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsIgorbXNnc3RyICJ0b3RvIGrDoWRybyBuZXBvZHBvcnVqZSBwxZnDrWtheiBwcm8gdm9sYnUgcnljaGxvc3RpIENELVJPTSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZGluZyBDRC1ST00gbmFtZSIKK21zZ3N0ciAiJXM6IGNoeWJhIHDFmWkgdnlobGVkw6F2w6Fuw60gbsOhenZ1IENELVJPTSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiJXM6IG5lcG9kYcWZaWxvIHNlIHDFmWXEjcOtc3QgcnljaGxvc3QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU0NAorbXNnaWQgImZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICJuZXBvZGHFmWlsbyBzZSBwxZllxI3DrXN0IHJ5Y2hsb3N0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1ODgKK21zZ2lkICJub3QgYW4gc2cgZGV2aWNlLCBvciBvbGQgc2cgZHJpdmVyIgorbXNnc3RyICJuZW7DrSBTRyB6YcWZw616ZW7DrW0sIG5lYm8gc2UgamVkbsOhIG/CoHN0YXLDvSBTRyBvdmxhZGHEjSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bm1vdW50aW5nIgorbXNnc3RyICIlczogb2Rwb2p1amUgc2UiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZXhlYyAvYmluL3Vtb3VudCBvZiBgJXMnIgorbXNnc3RyICJuZWx6ZSBzcHVzdGl0IC9iaW4vdW1vdW50IG5hZCDigJ4lc+KAnCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njc4Cittc2dpZCAidW5hYmxlIHRvIGZvcmsiCittc2dzdHIgIm5lbHplIHJvenbEm3R2aXQgcHJvY2VzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAib2Rwb2plbsOtIOKAniVz4oCcIG5lc2tvbsSNaWxvIG5vcm3DoWxuxJsiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZmFpbGVkXG4iCittc2dzdHIgIm9kcG9qZW7DrSDigJ4lc+KAnCBzZWxoYWxvXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjczMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAidGFidWxrdSBwxZlpcG9qZW7DrSBzZSBuZXBvZGHFmWlsbyByb3plYnJhdCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzkxIHN5cy11dGlscy9lamVjdC5jOjg5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAiJXM6IHDFmWlwb2plbm8gZG8gJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzMworbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvIGF1dG8iCittc2dzdHIgInJ5Y2hsb3N0IENELVJPTSBzZSBuYXN0YXZ1amUgbmEgYXV0b21hdGlja291IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gJWxkWCIKK21zZ3N0ciAicnljaGxvc3QgQ0QtUk9NIHNlIG5hc3RhdnVqZSBuYSAlbGTDlyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODYxCisjLCBjLWZvcm1hdAorbXNnaWQgImRlZmF1bHQgZGV2aWNlOiBgJXMnIgorbXNnc3RyICJ2w71jaG96w60gemHFmcOtemVuw606IOKAniVz4oCcIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgZGVmYXVsdCBkZXZpY2UgYCVzJyIKK21zZ3N0ciAicG91xb7DrXbDoSBzZSB2w71jaG96w60gemHFmcOtemVuw60g4oCeJXPigJwiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4NiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGZpbmQgZGV2aWNlIgorbXNnc3RyICIlczogemHFmcOtemVuw60gbmVsemUgbmFsw6l6dCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg4CisjLCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBuYW1lIGlzIGAlcyciCittc2dzdHIgIm7DoXpldiB6YcWZw616ZW7DrSBqZSDigJ4lc+KAnCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODk0IHN5cy11dGlscy91bW91bnQuYzoyMDYgc3lzLXV0aWxzL3Vtb3VudC5jOjIzNQorIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQwOSBzeXMtdXRpbHMvdW1vdW50LmM6NDMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgbW91bnRlZCIKK21zZ3N0ciAiJXM6IG5lcMWZaXBvamVubyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNjIGRldmljZTogJXMgKGRpc2sgZGV2aWNlIHdpbGwgYmUgdXNlZCBmb3IgZWplY3QpIgorbXNnc3RyICIlczogemHFmcOtemVuw60gZGlza3U6ICVzICh6YcWZw616ZW7DrSBkaXNrdSBzZSBwb3XFvmlqZSBwcm8gdnlzdW51dMOtKSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQgbW91bnRwb2ludCBvciBkZXZpY2Ugd2l0aCB0aGUgZ2l2ZW4gbmFtZSIKK21zZ3N0ciAiJXM6IG5lYnlsIG5hbGV6ZW4gYm9kIHDFmWlwb2plbsOtIG5lYm8gemHFmcOtemVuw60gc2UgemFkYW7DvW0gam3DqW5lbSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyB3aG9sZS1kaXNrIGRldmljZSIKK21zZ3N0ciAiJXM6IGplZG7DoSBzZSBvwqB6YcWZw616ZW7DrSBwxZllcyBjZWzDvSBkaXNrIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBob3QtcGx1Z2dhYmxlIGRldmljZSIKK21zZ3N0ciAiJXM6IG5lbsOtIHphxZnDrXplbsOtbSwga3RlcsOpIGx6ZSB6YSBixJtodSB6YXBvaml0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIGlzIGAlcyciCittc2dzdHIgInphxZnDrXplbsOtIGplIOKAniVz4oCcIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTgKK21zZ2lkICJleGl0aW5nIGR1ZSB0byAtbi8tLW5vb3Agb3B0aW9uIgorbXNnc3RyICJrb27EjcOtIHNlIG5hIHrDoWtsYWTEmyB2b2xieSAtbi8tLW5vb3AiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZW5hYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIlczogcG92b2x1amUgcmXFvmltIGF1dG9tYXRpY2vDqWhvIHZ5c3VudXTDrSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNhYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIlczogemFrYXp1amUgc2UgcmXFvmltIGF1dG9tYXRpY2vDqWhvIHZ5c3VudXTDrSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zaW5nIHRyYXkiCittc2dzdHIgIiVzOiB6YXbDrXJhasOtIHNlIGR2w63FmWthIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiVzOiBkdsOtxZlrYSBzZSBwxZllc3VudWrDrSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsaXN0aW5nIENELVJPTSBzcGVlZCIKK21zZ3N0ciAiJXM6IHZ5cGlzdWrDrSBzZSByeWNobG9zdGkgQ0QtUk9NIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBkZXZpY2UgaW4gdXNlIgorbXNnc3RyICJjaHliYTogJXM6IHphxZnDrXplbsOtIHNlIHByw6F2xJsgcG91xb7DrXbDoSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWxlY3RpbmcgQ0QtUk9NIGRpc2MgIyVsZCIKK21zZ3N0ciAiJXM6IHZvbMOtIHNlIENELVJPTSBkaXNrIMSNLuKAryVsZCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIENELVJPTSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIlczogemtvdcWhw60gc2UgdnlzdW5vdXQgc8KgcG91xb5pdMOtbSBwxZnDrWthenUgcHJvIHZ5c3VudXTDrSBDRC1ST00iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTAKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgInDFmcOta2F6IHBybyB2eXN1bnV0w60gQ0QtUk9NIHVzcMSbbCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIFNDU0kgY29tbWFuZHMiCittc2dzdHIgIiVzOiB6a291xaHDrSBzZSB2eXN1bm91dCBzIHBvdcW+aXTDrW0gcMWZw61rYXrFryBTQ1NJIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE3Cittc2dpZCAiU0NTSSBlamVjdCBzdWNjZWVkZWQiCittc2dzdHIgInDFmcOta2F6IFNDU0kgcHJvIHZ5c3VudXTDrSB1c3DEm2wiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTgKK21zZ2lkICJTQ1NJIGVqZWN0IGZhaWxlZCIKK21zZ3N0ciAicMWZw61rYXogU0NTSSBwcm8gdnlzdW51dMOtIHNlbGhhbCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIGZsb3BweSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIlczogemtvdcWhw60gc2UgdnlzdW5vdXQgc8KgcG91xb5pdMOtbSBwxZnDrWthenUgcHJvIHZ5c3VudXTDrSBkaXNrZXR5IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI0Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICJwxZnDrWtheiBwcm8gdnlzdW51dMOtIGRpc2tldHkgdXNwxJtsIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI1Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJwxZnDrWtheiBwcm8gdnlzdW51dMOtIGRpc2tldHkgc2VsaGFsIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgdGFwZSBvZmZsaW5lIGNvbW1hbmQiCittc2dzdHIgIiVzOiB6a291xaHDrSBzZSB2eXN1bm91dCBzwqBwb3XFvml0w61tIHDFmcOta2F6dSBwcm8gb2Rwb2plbsOtIHDDoXNreSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMQorbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAicMWZw61rYXogcHJvIG9kcG9qZW7DrSBww6Fza3kgdXNwxJtsIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDMyCittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJwxZnDrWtheiBwcm8gb2Rwb2plbsOtIHDDoXNreSBzZWxoYWwiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzYKK21zZ2lkICJ1bmFibGUgdG8gZWplY3QiCittc2dzdHIgIm5lbHplIHZ5c3Vub3V0IgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZW5hbWU+XG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSA8bsOhemV2X3NvdWJvcnU+XG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4MQorbXNnaWQgIlByZWFsbG9jYXRlIHNwYWNlIHRvLCBvciBkZWFsbG9jYXRlIHNwYWNlIGZyb20gYSBmaWxlLlxuIgorbXNnc3RyICJSZXplcnZ1amUgbmVibyBydcWhw60gcmV6ZXJ2YWNpIG3DrXN0YSB2wqBzb3Vib3J1LlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODQKK21zZ2lkICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgcmVtb3ZlIGEgcmFuZ2UgZnJvbSB0aGUgZmlsZVxuIgorbXNnc3RyICIgLWMsIC0tY29sbGFwc2UtcmFuZ2Ugb2RzdHJhbsOtIHJvenNhaCB6ZSBzb3Vib3J1XG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NQorbXNnaWQgIiAtZCwgLS1kaWctaG9sZXMgICAgICBkZXRlY3QgemVyb2VzIGFuZCByZXBsYWNlIHdpdGggaG9sZXNcbiIKK21zZ3N0ciAiIC1kLCAtLWRpZy1ob2xlcyAgICAgIG5hbGV6bmUgbnVseSBhIG5haHJhZMOtIGplIGTDrXJhbWlcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg2Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgIGxlbmd0aCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1sLCAtLWxlbmd0aCA8xI3DrXNsbz4gZMOpbGthIHJvenNhaG92w71jaCBvcGVyYWPDrSB2wqBiYWp0ZWNoXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NworbXNnaWQgIiAtbiwgLS1rZWVwLXNpemUgICAgICBtYWludGFpbiB0aGUgYXBwYXJlbnQgc2l6ZSBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgLW4sIC0ta2VlcC1zaXplICAgICAgdWRyxb51amUgemTDoW5saXZvdSB2ZWxpa29zdCBzb3Vib3J1XG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4OAorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICBvZmZzZXQgZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPMSNw61zbG8+IHBvemljZSBwcm8gcm96c2Fob3bDqSBvcGVyYWNlIHbCoGJhanRlY2hcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg5Cittc2dpZCAiIC1wLCAtLXB1bmNoLWhvbGUgICAgIHJlcGxhY2UgYSByYW5nZSB3aXRoIGEgaG9sZSAoaW1wbGllcyAtbilcbiIKK21zZ3N0ciAiIC1wLCAtLXB1bmNoLWhvbGUgICAgIG5haHJhZMOtIHJvenNhaCBkw61yb3UgKHpuYW1lbsOhIC1uKVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTAKK21zZ2lkICIgLXosIC0temVyby1yYW5nZSAgICAgemVybyBhbmQgZW5zdXJlIGFsbG9jYXRpb24gb2YgYSByYW5nZVxuIgorbXNnc3RyICIgLXosIC0temVyby1yYW5nZSAgICAgdnludWx1amUgYSB6YWppc3TDrSBhbG9rYWNpIHJvenNhaHVcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEyNgorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQ6IGtlZXAgc2l6ZSBtb2RlIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJ2b2zDoW7DrSBmYWxsb2NhdGUgc2VsaGFsbzogcmXFvmltIG5lbcSbbm7DqSB2ZWxpa29zdGkgbmVuw60gcG9kcG9yb3bDoW4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMjcKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkIgorbXNnc3RyICJ2b2zDoW7DrSBmYWxsb2NhdGUgc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBmYWlsZWQiCittc2dzdHIgIiVzOiB2b2zDoW7DrSByZWFkIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglanUgYnl0ZXMpIGNvbnZlcnRlZCB0byBzcGFyc2UgaG9sZXMuXG4iCittc2dzdHIgIiVzOiAlcyAoJWp1IGJhanTFrykgcMWZZXZlZGVubyBuYSDFmcOtZGvDqSBkw61yeS5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM0NiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTgKK21zZ2lkICJubyBmaWxlbmFtZSBzcGVjaWZpZWQiCittc2dzdHIgIm5lemFkw6FuIG7DoXpldiBzb3Vib3J1IgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzU4IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjQKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgInphZMOhbmEgbmVwbGF0bsOhIGhvZG5vdGEgZMOpbGt5IgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzYyCittc2dpZCAibm8gbGVuZ3RoIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAibmV6YWTDoW4gYXJndW1lbnQgc8KgZMOpbGtvdSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2NworbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAiemFkw6FuYSBuZXBsYXRuw6EgaG9kbm90YSBwb3ppY2UiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IDxjb21tYW5kPiBbPGFyZ3VtZW50Pi4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IC1jIDxjb21tYW5kPlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZSBkZXNjcmlwdG9yIG51bWJlcj5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtwxZllcMOtbmHEjWVdIDxzb3Vib3I+fDxhZHJlc8OhxZk+IDxwxZnDrWthej4gWzxhcmd1bWVudD7igKZdXG4iCisiICUxJHMgW3DFmWVww61uYcSNZV0gPHNvdWJvcj58PGFkcmVzw6HFmT4gLWMgPHDFmcOta2F6PlxuIgorIiAlMSRzIFtwxZllcMOtbmHEjWVdIDzEjcOtc2xvIGRlc2tyaXB0b3J1IHNvdWJvcnU+XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjU5Cittc2dpZCAiTWFuYWdlIGZpbGUgbG9ja3MgZnJvbSBzaGVsbCBzY3JpcHRzLlxuIgorbXNnc3RyICJTcHJhdnVqZSB6w6Fta3kgc291Ym9yxa8gesKgc2hlbGxvdsO9Y2ggc2tyaXB0xa8uXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYyCittc2dpZCAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBnZXQgYSBzaGFyZWQgbG9ja1xuIgorbXNnc3RyICIgLXMsIC0tc2hhcmVkICAgICAgICAgICAgIHrDrXNrw6Egc2TDrWxlbsO9IHrDoW1la1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MworbXNnaWQgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAgZ2V0IGFuIGV4Y2x1c2l2ZSBsb2NrIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIHrDrXNrw6EgdsO9bHXEjW7DvSB6w6FtZWsgKHbDvWNob3rDrSlcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjQKK21zZ2lkICIgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIHJlbW92ZSBhIGxvY2tcbiIKK21zZ3N0ciAiIC11LCAtLXVubG9jayAgICAgICAgICAgICBvZHN0cmFuw60gesOhbWVrXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY1Cittc2dpZCAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICBmYWlsIHJhdGhlciB0aGFuIHdhaXRcbiIKK21zZ3N0ciAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICBtw61zdG8gxI1la8OhbsOtIHNlbMW+ZVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NgorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCittc2dzdHIgIiAtdywgLS10aW1lb3V0IDxzZWt1bmR5PiAgxI1la8OhIG5lanbDvcWhZSB6YWRhbm91IGRvYnVcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjcKK21zZ2lkICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxudW1iZXI+ICBleGl0IGNvZGUgYWZ0ZXIgY29uZmxpY3Qgb3IgdGltZW91dFxuIgorbXNnc3RyICIiCisiIC1FLCAtLWNvbmZsaWN0LWV4aXQtY29kZSA8xI3DrXNsbz4gICBuw6F2cmF0b3bDvSBrw7NkIHDFmWkga29uZmxpa3R1IG5lYm9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2eXByxaFlbsOtIMSNYXNvdsOpaG8gbGltaXR1XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY4Cittc2dpZCAiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBjbG9zZSBmaWxlIGRlc2NyaXB0b3IgYmVmb3JlIHJ1bm5pbmcgY29tbWFuZFxuIgorbXNnc3RyICIiCisiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBwxZllZCBzcHXFoXTEm27DrW0gcMWZw61rYXp1IHV6YXbFmWUgZGVza3JpcHRvclxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgc291Ym9ydVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OQorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgcnVuIGEgc2luZ2xlIGNvbW1hbmQgc3RyaW5nIHRocm91Z2ggdGhlIHNoZWxsXG4iCittc2dzdHIgIiAtYywgLS1jb21tYW5kIDxwxZnDrWthej4gICBzcHVzdMOtIMWZZXTEm3plYyBqYWtvIGplZGluw70gcMWZw61rYXogc2hlbGx1XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcwCisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAgZXhlY3V0ZSBjb21tYW5kIHdpdGhvdXQgZm9ya2luZ1xuIgorbXNnc3RyICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgbmVkw6ltb25penVqZSBzZSBwb21vY8OtIGR2b2ppdMOpaG8gdm9sw6Fuw60gZm9ya1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgaW5jcmVhc2UgdmVyYm9zaXR5XG4iCittc2dzdHIgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgenbDvcWhw60gcG9kcm9ibm9zdCBobMOhxaFla1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gbG9jayBmaWxlICVzIgorbXNnc3RyICJzb3Vib3IgesOhbWt1ICVzIG5lbHplIG90ZXbFmcOtdCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjA1Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IHZhbHVlIgorbXNnc3RyICJjaHlibsOhIGhvZG5vdGEgxI1hc292w6lobyBsaW1pdHUiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIwOQorbXNnaWQgImludmFsaWQgZXhpdCBjb2RlIgorbXNnc3RyICJuZXBsYXRuw6kgbsOhdnJhdG92w70ga8OzZCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjI4Cittc2dpZCAidGhlIC0tbm8tZm9yayBhbmQgLS1jbG9zZSBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGNvbW1hbmQgYXJndW1lbnQiCittc2dzdHIgInDFmWVww61uYcSNICVzIHZ5xb5hZHVqZSBwxZllc27EmyBqZWRlbiBwxZnDrWthem92w70gYXJndW1lbnQiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NAorbXNnaWQgImJhZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIsWhcGF0bsO9IGRlc2tyaXB0b3Igc291Ym9ydSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjU3Cittc2dpZCAicmVxdWlyZXMgZmlsZSBkZXNjcmlwdG9yLCBmaWxlIG9yIGRpcmVjdG9yeSIKK21zZ3N0ciAidnnFvmFkdWplIGRlc2tyaXB0b3Igc291Ym9ydSwgc291Ym9yIG5lYm8gYWRyZXPDocWZIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODEKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGxvY2siCittc2dzdHIgInrDoW1layBzZSBuZXBvZGHFmWlsbyB6w61za2F0IgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODgKK21zZ2lkICJ0aW1lb3V0IHdoaWxlIHdhaXRpbmcgdG8gZ2V0IGxvY2siCittc2dzdHIgImLEm2hlbSDEjWVrw6Fuw60gbmEgesOhbWVrIHZ5cHLFoWVsIMSNYXNvdsO9IGxpbWl0IgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldHRpbmcgbG9jayB0b29rICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiVzOiB6w61za8OhbsOtIHrDoW1rdSB0cnZhbG8gJWxkLCUwNmxkIHNla3VuZHlcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAiJXM6IHNwdcWhdMSbbsOtICVzXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50cG9pbnQ+XG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSA8Ym9kX3DFmWlwb2plbsOtPlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1MworbXNnaWQgIlN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbSAoZXh0My80LCBSZWlzZXJGUywgSkZTLCBYRlMpLlxuIgorbXNnc3RyICJQb3pkcsW+w60gcMWZw61zdHVwIG5hIHNvdWJvcm92w70gc3lzdMOpbSAoZXh0My80LCBSZXNvdXJjZSwgSkZTLCBYRlMpLlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1NgorbXNnaWQgIiAtZiwgLS1mcmVlemUgICAgICBmcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC1mLCAtLWZyZWV6ZSAgICAgIHptcmF6w60gc3lzdMOpbSBzb3Vib3LFr1xuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1NworbXNnaWQgIiAtdSwgLS11bmZyZWV6ZSAgICB1bmZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLXUsIC0tdW5mcmVlemUgICAgcm96bXJhesOtIHN5c3TDqW0gc291Ym9yxa9cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTE2Cittc2dpZCAibmVpdGhlciAtLWZyZWV6ZSBvciAtLXVuZnJlZXplIHNwZWNpZmllZCIKK21zZ3N0ciAibmV6YWTDoW5vIGFuaSAtLWZyZWV6ZSBhbmkgLS11bmZyZWV6ZSIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBuZW7DrSBhZHJlc8OhxZllbSIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmcmVlemUgZmFpbGVkIgorbXNnc3RyICIlczogem1yYXplbsOtIHNlIG5lemRhxZlpbG8iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5mcmVlemUgZmFpbGVkIgorbXNnc3RyICIlczogcm96bXJhemVuw60gc2UgbmV6ZGHFmWlsbyIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBuZW7DrSBhZHJlc8OhxZllbSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBGSVRSSU0gaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogSU9DVEwgdm9sw6Fuw60gRklUUklNIHNlbGhhbG8iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgaGVyZSBpcyBhIHZlcnkgbGFyZ2UgbnVtYmVyLgorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCU8UFJJdTY0PiBieXRlcykgdHJpbW1lZFxuIgorbXNnc3RyICIlczogJXMgKCU8UFJJdTY0PiBiYWp0xa8pIGJ5bCB6YWhvemVuXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxOTEgc3lzLXV0aWxzL3N3YXBvbi5jOjcyOSBzeXMtdXRpbHMvdW1vdW50LmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKK21zZ3N0ciAiJXMgc2UgbmV6ZGHFmWlsbyByb3plYnJhdCIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxtb3VudCBwb2ludD5cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIDxib2RfcMWZaXBvamVuw60+XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTQKK21zZ2lkICJEaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlphaG9kw60gbmVwb3XFvsOtdmFuw6kgYmxva3kgcMWZaXBvamVuw6lobyBzb3Vib3JvdsOpaG8gc3lzdMOpbXUuXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTcKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB0cmltIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIHRoYXQgYXJlIHN1cHBvcnRlZFxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgdWtsaWTDrSB2xaFlY2hueSBwxZlpcG9qZW7DqSBzb3Vib3JvdsOpIHN5c3TDqW15LCBrdGVyw6lcbiIKKyIgICAgICAgICAgICAgICAgICAgICBwb2Rwb3J1asOtIOKAnnRyaW3igJxcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1OAorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIHRoZSBvZmZzZXQgaW4gYnl0ZXMgdG8gc3RhcnQgZGlzY2FyZGluZyBmcm9tXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb2Zmc2V0IDzEjcOtc2xvPlxuIgorIiAgICAgICAgICAgICAgICAgICAgIHBvemljZSB2wqBiYWp0ZWNoLCBvZCBrdGVyw6kgemFow6FqaXQgemFoYXpvdsOhbsOtXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIgorIiAtbCwgLS1sZW5ndGggPMSNw61zbG8+XG4iCisiICAgICAgICAgICAgICAgICAgICAgcG/EjWV0IGJhanTFryBuYSB6YWhvemVuw61cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MAorbXNnaWQgIiAtbSwgLS1taW5pbXVtIDxudW0+IHRoZSBtaW5pbXVtIGV4dGVudCBsZW5ndGggdG8gZGlzY2FyZFxuIgorbXNnc3RyICIiCisiIC1tLCAtLW1pbmltdW0gPMSNw61zbG8+XG4iCisiICAgICAgICAgICAgICAgICAgICAgbmVqbWVuxaHDrSBkw6lsa2Egcm96c2FodSBuYSB6YWhvemVuw61cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IG51bWJlciBvZiBkaXNjYXJkZWQgYnl0ZXNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgdnlww63FoWUgcG/EjWV0IHphaG96ZW7DvWNoIGJhanTFr1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzE2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCIKK21zZ3N0ciAibmV6ZGHFmWlsbyBzZSByb3plYnJhdCBkw6lsa3UgbmVqbWVuxaHDrWhvIHJvenNhaHUiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMjkKK21zZ2lkICJubyBtb3VudHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAibmV6YWTDoW4gxb7DoWRuw70gYm9kIHDFmWlwb2plbsOtIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGUgZGlzY2FyZCBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiJXM6IG9wZXJhY2UgemFob3plbsOtIChkaXNjYXJkKSBuZW7DrSBwb2Rwb3JvdsOhbmEiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkFzc3VtaW5nIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gJXMgdGltZS5cbiIKK21zZ3N0ciAiUMWZZWRwb2tsw6Fkw6FtLCDFvmUgaG9kaW55IHJlw6FsbsOpaG8gxI1hc3UganNvdSBuYXN0YXZlbnkgbmEgJXMgxI1hcy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNDcgc3lzLXV0aWxzL2h3Y2xvY2suYzozMzQKK21zZ2lkICJVVEMiCittc2dzdHIgIlVUQyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNDcgc3lzLXV0aWxzL2h3Y2xvY2suYzozMzMKK21zZ2lkICJsb2NhbCIKK21zZ3N0ciAibcOtc3Ruw60iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzE4Cittc2dpZCAiIgorIldhcm5pbmc6IHVucmVjb2duaXplZCB0aGlyZCBsaW5lIGluIGFkanRpbWUgZmlsZVxuIgorIihFeHBlY3RlZDogYFVUQycgb3IgYExPQ0FMJyBvciBub3RoaW5nLikiCittc2dzdHIgIiIKKyJWYXJvdsOhbsOtOiBuZXpuw6Ftw70gZm9ybcOhdCB0xZlldMOtaG8gxZnDoWRrdSB2wqBzb3Vib3J1IGFkanRpbWVcbiIKKyIoT8SNZWvDoXbDoW5vOiDigJ5VVEPigJwgbmVibyDigJ5MT0NBTOKAnCBuZWJvIG5pYy4pIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMyNworIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGRyaWZ0IGFkanVzdG1lbnQgZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIlBvc2xlZG7DrSBvcHJhdmEgcG9zdW51IHByb2LEm2hsYSAlbGQgc2VrdW5kIG9kIHJva3UgMTk2OS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBjYWxpYnJhdGlvbiBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiUG9zbGVkbsOtIGthbGlicmFjZSBwcm9ixJtobGEgJWxkIHNla3VuZCBvZCByb2t1IDE5NjkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkhhcmR3YXJlIGNsb2NrIGlzIG9uICVzIHRpbWVcbiIKK21zZ3N0ciAiSG9kaW55IHJlw6FsbsOpaG8gxI1hc3UganNvdSBuYXN0YXZlbnkgbmEgJXMgxI1hcy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBmb3IgY2xvY2sgdGljay4uLlxuIgorbXNnc3RyICLEjWVrw6FtIG5hIHRpayBob2RpbuKAplxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5zeW5jaHJvbml6YXRpb24gZmFpbGVkXG4iCittc2dzdHIgIuKApnN5bmNocm9uaXphY2Ugc2UgbmV6ZGHFmWlsYVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5nb3QgY2xvY2sgdGlja1xuIgorbXNnc3RyICLigKZob2RpbnkgdGlrbHlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZXMgaW4gaGFyZHdhcmUgY2xvY2s6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKK21zZ3N0ciAiSG9kaW55IHJlw6FsbsOpaG8gxI1hc3Ugb2JzYWh1asOtIGNoeWJuw6kgaG9kbm90eTogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJIdyBjbG9jayB0aW1lIDogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiSG9kaW55IHJlw6FsbsOpaG8gxI1hc3U6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAlbGQgc2VrdW5kIG9kIHJva3UgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ2NQorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHJlYWQgZnJvbSBIYXJkd2FyZSBDbG9jazogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorbXNnc3RyICJIb2RpbnkgcmXDoWxuw6lobyDEjWFzdSB1a2F6dWrDrSAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgSGFyZHdhcmUgQ2xvY2sgdG8gJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIk5hc3RhdnVqaSBob2RpbnkgcmXDoWxuw6lobyDEjWFzdSBuYSAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWt1bmQgb2Qgcm9rdSAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNsb2NrIG5vdCBjaGFuZ2VkIC0gdGVzdGluZyBvbmx5LlxuIgorbXNnc3RyICJUZXN0b3ZhY8OtIHJlxb5pbSAtIMSMYXMgbmV6bcSbbsSbbi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAic2xlZXBpbmcgfiVkIHVzZWNcbiIKK21zZ3N0ciAixI1la8OhIHNlIGFzaSAlZCDCtXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBqdW1wZWQgYmFja3dhcmQgJS42ZiBzZWNvbmRzIHRvICVsZC4lMDZsZCAtIHJldGFyZ2V0aW5nXG4iCittc2dzdHIgIsSNYXMgc2tvxI1pbCB6cMSbdCBvwqAlLjZmIHNla3VuZCBuYSAlbGQsJTA2bGTCoOKAkyB6bm92dSBzZSB6YW3Em8WZdWplXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZC4lMDZsZCA8ICVsZC4lMDZsZCAoJS42ZilcbiIKK21zZ3N0ciAiJWxkLCUwNmxkIDwgJWxkLCUwNmxkICglLjZmKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciBwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCittc2dzdHIgInZlZGxlIOKAkyAlbGQuJTA2bGQgamUgcMWZw61sacWhIGRhbGVrbyB6YSAlbGQsJTA2bGQgKCUuNmYgPiAlLjZmKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJWxkLiUwNmxkIGlzIGNsb3NlIGVub3VnaCB0byAlbGQuJTA2bGQgKCUuNmYgPCAlLjZmKVxuIgorIlNldCBSVEMgdG8gJWxkICglbGQgKyAlZDsgcmVmc3lzdGltZSA9ICVsZC4lMDZsZClcbiIKK21zZ3N0ciAiIgorIiVsZCwlMDZsZCBqZSBkb3N0IGJsw616a28ga8KgJWxkLCUwNmxkICglLjZmIDwgJS42ZilcbiIKKyJOYXN0YXZpdCBSVEMgbmEgJWxkICglbGQgKyAlZDsgcmVmc3lzdGltZSA9ICVsZCwlMDZsZClcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODgKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgcmVnaXN0ZXJzIGNvbnRhaW4gdmFsdWVzIHRoYXQgYXJlIGVpdGhlciBpbnZhbGlkIChlLmcuIDUwdGggZGF5IG9mIG1vbnRoKSBvciBiZXlvbmQgdGhlIHJhbmdlIHdlIGNhbiBoYW5kbGUgKGUuZy4gWWVhciAyMDk1KS4iCittc2dzdHIgIlJlZ2lzdHJ5IGhvZGluIHJlw6FsbsOpaG8gxI1hc3Ugb2JzYWh1asOtIGhvZG5vdHksIGt0ZXLDqSBqc291IGJ1xI8gY2h5Ym7DqSAobmFwxZkuIDUwLiBkZW4gdsKgbcSbc8OtY2kpLCDEjWkgbWltbyByb3pzYWgsIGt0ZXLDvSBsemUgenByYWNvdmF0IChuYXDFmS4gcm9rIDIwOTUpLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MjgKK21zZ2lkICJObyAtLWRhdGUgb3B0aW9uIHNwZWNpZmllZC4iCittc2dzdHIgIlDFmWVww61uYcSNIC0tZGF0ZSB2ecW+YWR1amUgYXJndW1lbnQuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjczNAorbXNnaWQgIi0tZGF0ZSBhcmd1bWVudCB0b28gbG9uZyIKK21zZ3N0ciAiYXJndW1lbnQgLS1kYXRlIGplIHDFmcOtbGnFoSBkbG91aMO9IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc0MQorbXNnaWQgIiIKKyJUaGUgdmFsdWUgb2YgdGhlIC0tZGF0ZSBvcHRpb24gaXMgbm90IGEgdmFsaWQgZGF0ZS5cbiIKKyJJbiBwYXJ0aWN1bGFyLCBpdCBjb250YWlucyBxdW90YXRpb24gbWFya3MuIgorbXNnc3RyICIiCisiQXJndW1lbnQgcMWZZXDDrW5hxI1lIC0tZGF0ZSBuZW7DrSBwbGF0bsO9bSBkYXRlbS5cbiIKKyJLb25rcsOpdG7EmyBvYnNhaHVqZSB1dm96b3ZreS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIklzc3VpbmcgZGF0ZSBjb21tYW5kOiAlc1xuIgorbXNnc3RyICJTcG91xaF0w60gc2UgcMWZw61rYXog4oCeZGF0ZeKAnjogJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NTMKK21zZ2lkICJVbmFibGUgdG8gcnVuICdkYXRlJyBwcm9ncmFtIGluIC9iaW4vc2ggc2hlbGwuIHBvcGVuKCkgZmFpbGVkIgorbXNnc3RyICJQxZnDrWtheiDigJ5kYXRl4oCcIG5lbHplIHbCoHNoZWxsdSAvYmluL3NoIHNwdXN0aXQuIFZvbMOhbsOtIHBvcGVuKCkgc2VsaGFsby4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzYxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlc3BvbnNlIGZyb20gZGF0ZSBjb21tYW5kID0gJXNcbiIKK21zZ3N0ciAib2Rwb3bEm8SPIHDFmcOta2F6dSDigJ5kYXRl4oCcID0gJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkYXRlIGNvbW1hbmQgaXNzdWVkIGJ5ICVzIHJldHVybmVkIHVuZXhwZWN0ZWQgcmVzdWx0cy5cbiIKKyJUaGUgY29tbWFuZCB3YXM6XG4iCisiICAlc1xuIgorIlRoZSByZXNwb25zZSB3YXM6XG4iCisiICAlcyIKK21zZ3N0ciAiIgorIk9kIHDFmcOta2F6dSDigJ5kYXRl4oCcIHNwdcWhdMSbbsOpaG8gcHJvZ3JhbWVtICVzIHDFmWnFoWxhIG5lxI1la2Fuw6Egb2Rwb3bEm8SPLlxuIgorIlDFmcOta2F6IGJ5bDpcbiIKKyIgICVzXG4iCisiT2Rwb3bEm8SPIGJ5bGE6XG4iCisiICAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkYXRlIGNvbW1hbmQgaXNzdWVkIGJ5ICVzIHJldHVybmVkIHNvbWV0aGluZyBvdGhlciB0aGFuIGFuIGludGVnZXIgd2hlcmUgdGhlIGNvbnZlcnRlZCB0aW1lIHZhbHVlIHdhcyBleHBlY3RlZC5cbiIKKyJUaGUgY29tbWFuZCB3YXM6XG4iCisiICAlc1xuIgorIlRoZSByZXNwb25zZSB3YXM6XG4iCisiICVzXG4iCittc2dzdHIgIiIKKyJQxZnDrWtheiDigJ5kYXRl4oCcIHNwdcWhdMSbbsO9IHByb2dyYW1lbSAlcyBtw61zdG8gcMWZZXZlZGVuw6lobyDEjWFzdSB2csOhdGlsIG7Em2NvLFxuIgorImNvIG5lbsOtIGNlbMO9bSDEjcOtc2xlbS5cbiIKKyJQxZnDrWthejpcbiIKKyIgICVzXG4iCisiT2Rwb3bEm8SPOlxuIgorIiAgJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGF0ZSBzdHJpbmcgJXMgZXF1YXRlcyB0byAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5LlxuIgorbXNnc3RyICJEYXR1bSAlcyBvZHBvdsOtZMOhICVsZCBzZWt1bmTDoW0gb2Qgcm9rdSAxOTY5LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgyNAorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IHNldCB0aGUgU3lzdGVtIFRpbWUgZnJvbSBpdC4iCittc2dzdHIgIlN5c3TDqW1vdsO9IMSNYXMgbmVsemUgcG9kbGUgaG9kaW4gcmXDoWxuw6lobyDEjWFzdSBuYXN0YXZpdCwgcHJvdG/FvmUgbmV1a2F6dWrDrSBwbGF0bsO9IMSNYXMuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg0MyBzeXMtdXRpbHMvaHdjbG9jay5jOjkzMAorIywgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheTpcbiIKK21zZ3N0ciAiVm9sw6FtIHNldHRpbWVvZmRheTpcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NDQgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHR0di50dl9zZWMgPSAlbGQsIHR2LnR2X3VzZWMgPSAlbGRcbiIKK21zZ3N0ciAiXHR0di50dl9zZWMgPSAlbGQsIHR2LnR2X3VzZWMgPSAlbGRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NDYgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCittc2dzdHIgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1MCBzeXMtdXRpbHMvaHdjbG9jay5jOjkzOAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBzeXN0ZW0gY2xvY2sgYmVjYXVzZSBydW5uaW5nIGluIHRlc3QgbW9kZS5cbiIKK21zZ3N0ciAiVGVzdG92YWPDrSByZcW+aW0gLSBzeXN0w6ltb3bDvSDEjWFzIG5lem3Em27Em24uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODY2IHN5cy11dGlscy9od2Nsb2NrLmM6OTYyCittc2dpZCAiTXVzdCBiZSBzdXBlcnVzZXIgdG8gc2V0IHN5c3RlbSBjbG9jay4iCittc2dzdHIgIk5hc3Rhdml0IHN5c3TDqW1vdsO9IMSNYXMgbcWvxb5lIHBvdXplIHN1cGVydcW+aXZhdGVsLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4Njkgc3lzLXV0aWxzL2h3Y2xvY2suYzo5NjUKK21zZ2lkICJzZXR0aW1lb2ZkYXkoKSBmYWlsZWQiCittc2dzdHIgInZvbMOhbsOtIHNldHRpbWVvZmRheSgpIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkN1cnJlbnQgc3lzdGVtIHRpbWU6ICVsZCA9ICVzXG4iCittc2dzdHIgIlNvdcSNYXNuw70gc3lzdMOpbW92w70gxI1hczogJWxkID0gJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHRVVEM6ICVzXG4iCittc2dzdHIgIlx0VVRDOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk5NgorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSAtLXVwZGF0ZS1kcmlmdCBvcHRpb24gd2FzIG5vdCB1c2VkLlxuIgorbXNnc3RyICJNw61yYSBwb3N1bnUgc2UgbmVvcHJhdsOtLCBwcm90b8W+ZSBwxZllcMOtbmHEjSAtLXVwZGF0ZS1kcmlmdCBuZWJ5bCBwb3XFvml0LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgSGFyZHdhcmUgQ2xvY2sgcHJldmlvdXNseSBjb250YWluZWQgZ2FyYmFnZS5cbiIKK21zZ3N0ciAiIgorIk3DrXJhIHBvc3VudSBzZSBuZW9wcmF2w60sIHByb3Rvxb5lIGhvZGlueSByZcOhbG7DqWhvIMSNYXN1IHBvc2xlZG7EmyBvYnNhaG92YWx5XG4iCisibmVwbGF0bsOpIGhvZG5vdHkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAwNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBsYXN0IGNhbGlicmF0aW9uIHRpbWUgaXMgemVybyxcbiIKKyJzbyBoaXN0b3J5IGlzIGJhZCBhbmQgY2FsaWJyYXRpb24gc3RhcnRvdmVyIGlzIG5lY2Vzc2FyeS5cbiIKK21zZ3N0ciAiIgorIk3DrXJhIHBvc3VudSBzZSBuZW9wcmF2w60sIHByb3Rvxb5lIMSNYXMgcG9zbGVkbsOtIGthbGlicmFjZSBqZSBudWxhLCB0YWvFvmVcbiIKKyJoaXN0b3JpZSBqZSBuZXBvdcW+aXRlbG7DoSBhIGplIG51dG7DqSBwcm92w6l6dCBrYWxpYnJhY2kgem5vdnUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAxMQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGl0IGhhcyBiZWVuIGxlc3MgdGhhbiBmb3VyIGhvdXJzIHNpbmNlIHRoZSBsYXN0IGNhbGlicmF0aW9uLlxuIgorbXNnc3RyICJNw61yYSBwb3N1bnUgc2UgbmVvcHJhdsOtLCBwcm90b8W+ZSBvZCBwb3NsZWRuw60ga2FsaWJyYWNlIGplxaF0xJsgbmV1cGx5bnVseSDEjXR5xZlpIGhvZGlueS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdCBmYWN0b3Igd2FzIGNhbGN1bGF0ZWQgYXMgJWYgc2Vjb25kcy9kYXkuXG4iCisiSXQgaXMgZmFyIHRvbyBtdWNoLiBSZXNldHRpbmcgdG8gemVyby5cbiIKK21zZ3N0ciAiIgorIlN5c3RlbWF0aWNrw70gcG9zdW4gaG9kaW4gYnlsIHZ5cG/EjXRlbiBuYSAlZiBzZWt1bmQvZGVuLlxuIgorIlRvIGplIHDFmcOtbGnFoSBtbm9oby4gTmFzdGF2dWplIG5hIG51bHUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnRlZCAlZiBzZWNvbmRzIGluIHRoZSBwYXN0ICVmIHNlY29uZHNcbiIKKyJpbiBzcGl0ZSBvZiBhIGRyaWZ0IGZhY3RvciBvZiAlZiBzZWNvbmRzL2RheS5cbiIKKyJBZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJ5ICVmIHNlY29uZHMvZGF5XG4iCittc2dzdHIgIiIKKyJIb2Rpbnkgc2UgemEgcG9zbGVkbsOtY2ggJTIkZiBzZWt1bmQgcm96ZcWhbHkgbyAlMSRmIHNla3VuZCxcbiIKKyJwxZllc3Rvxb5lIG3DrXJhIHBvc3VudSBqZSBuYXN0YXZlbmEgbmEgJTMkZiBzZWt1bmQvZGVuLlxuIgorIk3DrXJhIHBvc3VudSBzZSBvcHJhdnVqZSBuYSAlNCRmIHNla3VuZC9kZW4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5OQorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlZCBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWQgc2Vjb25kc1xuIgorbXNnc3RyWzBdICJEb2JhIG9kIHBvc2xlZG7DrSBvcHJhdnkgamUgJWQgc2VrdW5kYVxuIgorbXNnc3RyWzFdICJEb2JhIG9kIHBvc2xlZG7DrSBvcHJhdnkgamUgJWQgc2VrdW5keVxuIgorbXNnc3RyWzJdICJEb2JhIG9kIHBvc2xlZG7DrSBvcHJhdnkgamUgJWQgc2VrdW5kXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEwMworIywgYy1mb3JtYXQKK21zZ2lkICJDYWxjdWxhdGVkIEhhcmR3YXJlIENsb2NrIGRyaWZ0IGlzICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIlZ5cG/EjXRlbsO9IHN5c3RlbWF0aWNrw70gcG9zdW4gaGFyZHdhcm92w71jaCBob2RpbiBqZSAlbGQsJTA2bGQgc2VrdW5kXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEzMworIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgdXBkYXRpbmcgYWRqdGltZSBmaWxlIGJlY2F1c2Ugb2YgdGVzdGluZyBtb2RlLlxuIgorbXNnc3RyICJUZXN0b3ZhY8OtIHJlxb5pbSAtIHNvdWJvciBhZGp0aW1lIG5lem3Em27Em24uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEzNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV291bGQgaGF2ZSB3cml0dGVuIHRoZSBmb2xsb3dpbmcgdG8gJXM6XG4iCisiJXMiCittc2dzdHIgIiIKKyJEbyAlcyBieSBieWxvIHVsb8W+ZW5vIG7DoXNsZWR1asOtY8OtOlxuIgorIiVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgaW4gaXQgKCVzKSBmb3Igd3JpdGluZyIKK21zZ3N0ciAiU291Ym9yIHPCoHBhcmFtZXRyeSBwb3N1bnUgaG9kaW4gKCVzKSBzZSBuZXBvZGHFmWlsbyBvdGV2xZnDrXQgcHJvIHrDoXBpcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTQ5IHN5cy11dGlscy9od2Nsb2NrLmM6MTE1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgdXBkYXRlIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzICglcykgaW4gaXQiCittc2dzdHIgIlNvdWJvciBzwqBwYXJhbWV0cnkgcG9zdW51IGhvZGluICglcykgc2UgbmVwb2RhxZlpbG8gYWt0dWFsaXpvdmF0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNjQKK21zZ2lkICJEcmlmdCBhZGp1c3RtZW50IHBhcmFtZXRlcnMgbm90IHVwZGF0ZWQuIgorbXNnc3RyICJQYXJhbWV0cnkgb3ByYXZ5IHBvc3VudSBuZXptxJtuxJtueS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIwMAorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IGFkanVzdCBpdC4iCittc2dzdHIgIkhvZGlueSByZcOhbG7DqWhvIMSNYXN1IG9ic2FodWrDrSBuZXBsYXRuw70gxI1hcywgdHVkw63FviBqZWogbmVsemUgb3ByYXZpdC4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIwOAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGxhc3QgYWRqdXN0bWVudCB0aW1lIGlzIHplcm8sIHNvIGhpc3RvcnkgaXMgYmFkLlxuIgorbXNnc3RyICJIb2RpbnkgbmVidWRvdSBuYXN0YXZlbnksIHByb3Rvxb5lIMSNYXMgcG9zbGVkbsOtaG8gcG9zdW51IGplIG51bGEsIHRha8W+ZSBoaXN0b3JpZSBqZSBuZXBvdcW+aXRlbG7DoS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjEyCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgZHJpZnQgZmFjdG9yICVmIGlzIGZhciB0b28gaGlnaC5cbiIKK21zZ3N0ciAiSG9kaW55IG5lYnVkb3UgbmFzdGF2ZW55LCBwcm90b8W+ZSDEjWluaXRlbCByb3pjaG9kdSAlZiBqZSBwxZnDrWxpxaEgdnlzb2vDvS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHVzYWJsZSBjbG9jayBpbnRlcmZhY2UgZm91bmQuXG4iCittc2dzdHIgIk5lYnlsbyBuYWxlemVubyDFvsOhZG7DqSBwb3XFvml0ZWxuw6kgcm96aHJhbsOtIGsgaG9kaW7DoW0uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJOZWVkZWQgYWRqdXN0bWVudCBpcyBsZXNzIHRoYW4gb25lIHNlY29uZCwgc28gbm90IHNldHRpbmcgY2xvY2suXG4iCittc2dzdHIgIlBvdMWZZWJuw6Egb3ByYXZhIGplIG1lbsWhw60gbmXFviAxIHNla3VuZGEsIHByb3RvIGhvZGlueSBuZW5hc3RhdnVqaS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzg4IHN5cy11dGlscy9od2Nsb2NrLmM6MTM5NAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gc2V0IHN5c3RlbSBjbG9jay5cbiIKK21zZ3N0ciAiU3lzdMOpbW92w70gxI1hcyBuZWx6ZSBuYXN0YXZpdC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjksIFJUQyBpcyBwcmVkaWN0ZWQgdG8gcmVhZCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LlxuIgorbXNnc3RyICIiCisiSmUgcMWZZWRwb3bEm3plbm8sIMW+ZSB2wqDEjWFzZSAlJ2xkIHNla3VuZCBwbyByb2NlIDE5NjkgcmXDoWxuw6kgaG9kaW55XG4iCisiYnVkb3UgdWthem92YXQgJSdsZCBzZWt1bmQgb2Qga29uY2Ugcm9rdSAxOTY5LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0MzEKK21zZ2lkICIiCisiVGhlIGtlcm5lbCBrZWVwcyBhbiBlcG9jaCB2YWx1ZSBmb3IgdGhlIEhhcmR3YXJlIENsb2NrIG9ubHkgb24gYW4gQWxwaGEgbWFjaGluZS5cbiIKKyJUaGlzIGNvcHkgb2YgaHdjbG9jayB3YXMgYnVpbHQgZm9yIGEgbWFjaGluZSBvdGhlciB0aGFuIEFscGhhXG4iCisiKGFuZCB0aHVzIGlzIHByZXN1bWFibHkgbm90IHJ1bm5pbmcgb24gYW4gQWxwaGEgbm93KS4gIE5vIGFjdGlvbiB0YWtlbi4iCittc2dzdHIgIiIKKyJKw6Fkcm8gdWRyxb51amUgaG9kbm90dSBwb8SNw6F0a3UgZXBvY2h5IHBybyBob2RpbnkgcmXDoWxuw6lobyDEjWFzdSBwb3V6ZSBuYVxuIgorInN5c3TDqW1lY2ggQWxwaGEuXG4iCisiVGVudG8gcHJvZ3JhbSBuZWJ5bCBwxZllbG/FvmVuIHBybyBzeXN0w6ltIEFscGhhIChhIHR1ZMOtxb4gcHJhdmTEm3BvZG9ibsSbIG55bsOtXG4iCisibmVixJvFvsOtIG5hIEFscGjEmykuIMW9w6FkbsOhIGFrY2UgbmVidWRlIHByb3ZlZGVuYS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ0OAorbXNnaWQgIlVuYWJsZSB0byBnZXQgdGhlIGVwb2NoIHZhbHVlIGZyb20gdGhlIGtlcm5lbC4iCittc2dzdHIgIlBvxI3DoXRlayBlcG9jaHkgbmVsemUgesKgasOhZHJhIHpqaXN0aXQuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiS2VybmVsIGlzIGFzc3VtaW5nIGFuIGVwb2NoIHZhbHVlIG9mICVsdVxuIgorbXNnc3RyICJKw6Fkcm8gcG9rbMOhZMOhIHphIHBvxI3DoXRlayBlcG9jaHkgJWx1LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NTUKK21zZ2lkICJUbyBzZXQgdGhlIGVwb2NoIHZhbHVlLCB5b3UgbXVzdCB1c2UgdGhlICdlcG9jaCcgb3B0aW9uIHRvIHRlbGwgdG8gd2hhdCB2YWx1ZSB0byBzZXQgaXQuIgorbXNnc3RyICJQb8SNw6F0ZWsgZXBvY2h5IG5hc3RhdsOtdGUgcG9tb2PDrSBwxZllcMOtbmHEjWUg4oCeZXBvY2jigJwuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgdGhlIGVwb2NoIHRvICVsdSAtIHRlc3Rpbmcgb25seS5cbiIKK21zZ3N0ciAiVGVzdG92YWPDrSByZcW+aW0gLSBwb8SNw6F0ZWsgZXBvY2h5IG5hICVsdSBuZWJ1ZGUgbmFzdGF2ZW4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLlxuIgorbXNnc3RyICJIb2Rub3R1IHBvxI3DoXRrdSBlcG9jaHkgdiBqw6FkxZllIG5lbHplIG5hc3Rhdml0LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NTYKK21zZ2lkICIgaHdjbG9jayBbZnVuY3Rpb25dIFtvcHRpb24uLi5dXG4iCittc2dzdHIgIiBod2Nsb2NrIFtmdW5rY2VdIFtwxZllcMOtbmHEjeKApl1cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTU5Cittc2dpZCAiUXVlcnkgb3Igc2V0IHRoZSBoYXJkd2FyZSBjbG9jay5cbiIKK21zZ3N0ciAiRG90w6HFvmUgc2UgbmEgbmVibyBuYXN0YXbDrSBoYXJkd2Fyb3bDqSBob2RpbnkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2MQorbXNnaWQgIiIKKyJcbiIKKyJGdW5jdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJGdW5rY2U6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2MgorbXNnaWQgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorIiAtciwgLS1zaG93ICAgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCByZXN1bHRcbiIKKyIgICAgIC0tZ2V0ICAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgZHJpZnQgY29ycmVjdGVkIHJlc3VsdFxuIgorIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorbXNnc3RyICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgIHVrw6HFvmUgdHV0byBuw6Fwb3bEm2R1IGEgc2tvbsSNw61cbiIKKyIgLXIsIC0tc2hvdyAgICAgICAgICAgemppc3TDrSBhIHZ5cMOtxaFlIGFrdHXDoWxuw60gc3RhdiBob2RpbiByZcOhbG7DqWhvIMSNYXN1XG4iCisiICAgICAtLWdldCAgICAgICAgICAgIHpqaXN0w60gc3RhdiBob2RpbiByZcOhbG7DqWhvIMSNYXN1IGEgdnlww63FoWUgaG9kbm90dVxuIgorIiAgICAgICAgICAgICAgICAgICAgICBvcHJhdmVub3Ugb8Kgc3lzdGVtYXRpY2vDvSBwb3N1blxuIgorIiAgICAgLS1zZXQgICAgICAgICAgICBuYXN0YXbDrSBSVEMgbmEgaG9kbm90dSB6YWRhbm91IHDFmWVww61uYcSNZW0gLS1kYXRlXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2NgorbXNnaWQgIiIKKyIgLXMsIC0taGN0b3N5cyAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorIiAtdywgLS1zeXN0b2hjICAgICAgICBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIGZyb20gdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWVcbiIKKyIgICAgIC0tc3lzdHogICAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBiYXNlZCBvbiB0aGUgY3VycmVudCB0aW1lem9uZVxuIgorIiAgICAgLS1hZGp1c3QgICAgICAgICBhZGp1c3QgdGhlIFJUQyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IHNpbmNlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNsb2NrIHdhcyBsYXN0IHNldCBvciBhZGp1c3RlZFxuIgorbXNnc3RyICIiCisiIC1zLCAtLWhjdG9zeXMgICAgICAgIG5hc3RhdsOtIHN5c3TDqW1vdsO9IMSNYXMgcG9kbGUgaG9kaW4gcmXDoWxuw6lobyDEjWFzdVxuIgorIiAtdywgLS1zeXN0b2hjICAgICAgICBuYXN0YXbDrSBob2RpbnkgcmXDoWxuw6lobyDEjWFzdSBwb2RsZSBha3R1w6FsbsOtaG8gc3lzdMOpbW92w6lob1xuIgorIiAgICAgLS1zeXN0eiAgICAgICAgICBuYXN0YXbDrSBzeXN0w6ltb3bDvSDEjWFzIG5hIHrDoWtsYWTEmyBzb3XEjWFzbsOpIMSNYXNvdsOpIHrDs255XG4iCisiICAgICAtLWFkanVzdCAgICAgICAgIG9wcmF2w60gUlRDIG/CoHN5c3RlbWF0aWNrw70gcG9zdW4sIGt0ZXLDvSBuYXN0YWwgb2QgcG9zbGVkbsOtXG4iCisiICAgICAgICAgICAgICAgICAgICAgIG9wcmF2eSDEjWkgbmFzdGF2ZW7DrSBob2RpblxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NzEKK21zZ2lkICIgLWMsIC0tY29tcGFyZSAgICAgICAgcGVyaW9kaWNhbGx5IGNvbXBhcmUgdGhlIHN5c3RlbSBjbG9jayB3aXRoIHRoZSBDTU9TIGNsb2NrXG4iCittc2dzdHIgIiAtYywgLS1jb21wYXJlICAgICAgICBvcGFrb3ZhbsSbIHBvcm92bsOhdsOhIHN5c3TDqW1vdsO9IMSNYXMgc8KgaG9kaW5hbWkgdmUgQ01PU1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NzMKK21zZ2lkICIiCisiICAgICAtLWdldGVwb2NoICAgICAgIHByaW50IG91dCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWVcbiIKKyIgICAgIC0tc2V0ZXBvY2ggICAgICAgc2V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZSB0byB0aGUgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgZ2l2ZW4gd2l0aCAtLWVwb2NoXG4iCittc2dzdHIgIiIKKyIgICAgIC0tZ2V0ZXBvY2ggICAgICAgdnlww63FoWUgcG/EjcOhdGVrIGVwb2NoeSBob2RpbiByZcOhbG7DqWhvIMSNYXN1IHBvZGxlIGrDoWRyYVxuIgorIiAgICAgLS1zZXRlcG9jaCAgICAgICBuYXN0YXbDrSBqw6FkcnUgcG/EjcOhdGVrIGVwb2NoeSBob2RpbiByZcOhbG7DqWhvIMSNYXN1IG5hXG4iCisiICAgICAgICAgICAgICAgICAgICAgIGhvZG5vdHUgemFkYW5vdSBwxZllcMOtbmHEjWVtIC0tZXBvY2hcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTc3Cittc2dpZCAiIgorIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IFJUQyByZWFkaW5nIGF0IHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKyIgICAgIC0tcHJlZGljdCAgICAgICAgcMWZZWRwb3bDrSBob2Rub3R1IFJUQyB2wqBkb2LEmyB6YWRhbsOpIHBvbW9jw60gLS1kYXRlXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgIHpvYnJhesOtIMO6ZGFqZSBvwqB2ZXJ6aSBhIHNrb27EjcOtXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4MQorbXNnaWQgIiIKKyIgLXUsIC0tdXRjICAgICAgICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gVVRDXG4iCisiICAgICAtLWxvY2FsdGltZSAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIGxvY2FsIHRpbWVcbiIKK21zZ3N0ciAiIgorIiAtdSwgLS11dGMgICAgICAgICAgICBob2RpbnkgcmXDoWxuw6lobyDEjWFzdSBqZG91IHbCoFVUQ1xuIgorIiAgICAgLS1sb2NhbHRpbWUgICAgICBob2RpbnkgcmXDoWxuw6lobyDEjWFzdSBqZG91IHbCoG3DrXN0bsOtbSDEjWFzZVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODQKK21zZ2lkICIgLWYsIC0tcnRjIDxmaWxlPiAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIKK21zZ3N0ciAiIC1mLCAtLXJ0YyBTT1VCT1IgICAgIG5hbcOtc3RvIHbDvWNob3rDrWhvIHphxZnDrXplbsOtIHBvdcW+aWplIHogL2Rldi/igKYgamluw6lcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tZGlyZWN0aXNhICAgICAgYWNjZXNzIHRoZSBJU0EgYnVzIGRpcmVjdGx5IGluc3RlYWQgb2YgJXNcbiIKKyIgICAgIC0tYmFkeWVhciAgICAgICAgaWdub3JlIFJUQydzIHllYXIgYmVjYXVzZSB0aGUgQklPUyBpcyBicm9rZW5cbiIKKyIgICAgIC0tZGF0ZSA8dGltZT4gICAgc3BlY2lmaWVzIHRoZSB0aW1lIHRvIHdoaWNoIHRvIHNldCB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyIgICAgIC0tZXBvY2ggPHllYXI+ICAgc3BlY2lmaWVzIHRoZSB5ZWFyIHdoaWNoIGlzIHRoZSBiZWdpbm5pbmcgb2YgdGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgaGFyZHdhcmUgY2xvY2sncyBlcG9jaCB2YWx1ZVxuIgorbXNnc3RyICIiCisiICAgICAtLWRpcmVjdGlzYSAgICAgIG3DrXN0byAlcyBwb3XFvmlqZSBwxZnDrW1vIElTQSBzYsSbcm5pY2lcbiIKKyIgICAgIC0tYmFkeWVhciAgICAgICAgaWdub3J1amUgcm9rIHrCoFJUQywgcHJvdG/FvmUgQklPUyBqZSByb3piaXTDvVxuIgorIiAgICAgLS1kYXRlIMSMQVMgICAgICAgxI1hcywgbmEga3RlcsO9IGJ1ZG91IG5hc3RhdmVueSBob2RpbnkgcmXDoWxuw6lobyDEjWFzdVxuIgorIiAgICAgLS1lcG9jaCBST0sgICAgICB1csSNdWplIHJvaywga2R5IHphxI3DrW7DoSBlcG9jaGEgaG9kaW4gcmXDoWxuw6lobyDEjWFzdVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS11cGRhdGUtZHJpZnQgICB1cGRhdGUgZHJpZnQgZmFjdG9yIGluICUxJHMgKHJlcXVpcmVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgLS1zZXQgb3IgLS1zeXN0b2hjKVxuIgorIiAgICAgLS1ub2FkamZpbGUgICAgICBkbyBub3QgYWNjZXNzICUxJHM7IHRoaXMgcmVxdWlyZXMgdGhlIHVzZSBvZlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZVxuIgorIiAgICAgLS1hZGpmaWxlIDxmaWxlPiBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICUxJHNcbiIKK21zZ3N0ciAiIgorIiAgICAgLS11cGRhdGUtZHJpZnQgICBha3R1YWxpenVqZSBtw61ydSBwb3N1bnUgdsKgJTEkcyAodnnFvmFkdWplXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgLS1zZXQgbmVibyAtLXN5c3RvaGMpXG4iCisiICAgICAtLW5vYWRqZmlsZSAgICAgIG5lcG91xb5pamUgJTEkcy4gVnnFvmFkdWplIHBvdcW+aXTDrVxuIgorIiAgICAgICAgICAgICAgICAgICAgICBidcSPIC0tdXRjLCBuZWJvIC0tbG9jYWx0aW1lLlxuIgorIiAgICAgLS1hZGpmaWxlIDxzb3Vib3I+XG4iCisiICAgICAgICAgICAgICAgICAgICAgIHVyxI11amUgY2VzdHUga8Kgc291Ym9ydSBzZSBzeXN0ZW1hdGlja8O9bSBwb3N1bmVtXG4iCisiICAgICAgICAgICAgICAgICAgICAgICh2w71jaG96w60gamUgJTEkcylcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTk5Cittc2dpZCAiIgorIiAgICAgLS10ZXN0ICAgICAgICAgICBkbyBub3QgdXBkYXRlIGFueXRoaW5nLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBoYXBwZW5cbiIKKyIgLUQsIC0tZGVidWcgICAgICAgICAgZGVidWdnaW5nIG1vZGVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAgICAgLS10ZXN0ICAgICAgICAgICBuaWMgbmVuYXN0YXbDrSwgcG91emUgdWvDocW+ZSwgY28gYnkgc2Ugc3RhbG9cbiIKKyIgLUQsIC0tZGVidWcgICAgICAgICAgbGFkaWPDrSByZcW+aW1cbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNjAyCittc2dpZCAiIgorIiAtSnwtLWplbnNlbiwgLUF8LS1hcmMsIC1TfC0tc3JtLCAtRnwtLWZ1bmt5LXRveVxuIgorIiAgICAgIHRlbGwgaHdjbG9jayB0aGUgdHlwZSBvZiBBbHBoYSB5b3UgaGF2ZSAoc2VlIGh3Y2xvY2soOCkpXG4iCisiXG4iCittc2dzdHIgIiIKKyIgLUp8LS1qZW5zZW4sIC1BfC0tYXJjLCAtU3wtLXNybSwgLUZ8LS1mdW5reS10b3lcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgdXLEjcOtIHR5cCB2YcWhZWhvIHN5c3TDqW11IEFscGhhICh2aXp0ZSBod2Nsb2NrKDgpKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE3MjgKK21zZ2lkICJVbmFibGUgdG8gY29ubmVjdCB0byBhdWRpdCBzeXN0ZW0iCittc2dzdHIgIk5lbHplIHNlIHDFmWlwb2ppdCBrZSBrb250cm9sbsOtbXUgc3lzdMOpbXUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTgyNgorbXNnaWQgImludmFsaWQgZXBvY2ggYXJndW1lbnQiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCBlcG9jaHkiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTg3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB0YWtlcyBubyBub24tb3B0aW9uIGFyZ3VtZW50cy4gIFlvdSBzdXBwbGllZCAlZC5cbiIKK21zZ3N0ciAiJXMgYWtjZXB0dWplIHBvdXplIHDFmWVww61uYcSNZS4gWmFkw6FubyBhcmd1bWVudMWvLCBrdGVyw6kgbmVqc291IHDFmWVww61uYcSNaTogJWRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODgwCittc2dpZCAiV2l0aCAtLW5vYWRqZmlsZSwgeW91IG11c3Qgc3BlY2lmeSBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWUiCittc2dzdHIgIlNvdcSNYXNuxJsgc8KgLS1ub2FkamZpbGUgbXVzw610ZSBwb3XFvsOtdCBidcSPIC0tdXRjLCBuZWJvIC0tbG9jYWx0aW1lIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4OTMKK21zZ2lkICJObyB1c2FibGUgc2V0LXRvIHRpbWUuICBDYW5ub3Qgc2V0IGNsb2NrLiIKK21zZ3N0ciAiTmVieWwgemFkw6FuIHBsYXRuw70gxI1hcywga3RlcsO9IHNlIG3DoSBuYXN0YXZpdC4gSG9kaW55IG5lbHplIG5hc3Rhdml0LiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxOTE3Cittc2dpZCAiQ2Fubm90IGFjY2VzcyB0aGUgSGFyZHdhcmUgQ2xvY2sgdmlhIGFueSBrbm93biBtZXRob2QuIgorbXNnc3RyICLFvcOhZG7DvW0gemUgem7DoW3DvWNoIHpwxa9zb2LFryBuZWx6ZSBwxZlpc3RvdXBpdCBrwqBob2RpbsOhbSByZcOhbG7DqWhvIMSNYXN1LiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxOTIwCittc2dpZCAiVXNlIHRoZSAtLWRlYnVnIG9wdGlvbiB0byBzZWUgdGhlIGRldGFpbHMgb2Ygb3VyIHNlYXJjaCBmb3IgYW4gYWNjZXNzIG1ldGhvZC4iCittc2dzdHIgIlBybyB6amnFoXTEm27DrSBwb2Ryb2Jub3N0w60gb8KgcMWZw61zdHVwb3bDvWNoIG1ldG9kw6FjaCBwb3XFvmlqdGUgcMWZZXDDrW5hxI0gLS1kZWJ1Zy4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYm9vdGVkIGZyb20gTUlMT1xuIgorbXNnc3RyICJzcHXFoXTEm24gcG9tb2PDrSBNSUxPXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUnVmZmlhbiBCQ0QgY2xvY2tcbiIKK21zZ3N0ciAiaG9kbm90eSB1bG/FvmVueSB2IEJDRCB0dmFydVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb2NrcG9ydCBhZGp1c3RlZCB0byAweCV4XG4iCittc2dzdHIgInZzdHVwbsSbL3bDvXN0dXBuw60gcG9ydCBwcm8gcMWZw61zdHVwIGsgaG9kaW7DoW0gbmFzdGF2ZW4gbmEgMHgleFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjcwCisjLCBjLWZvcm1hdAorbXNnaWQgImZ1bmt5IFRPWSFcbiIKK21zZ3N0ciAiZnVua3kgVE9ZIVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mjk4CisjLCBjLWZvcm1hdAorbXNnaWQgImF0b21pYyAlcyBmYWlsZWQgZm9yIDEwMDAgaXRlcmF0aW9ucyEiCittc2dzdHIgIjEwMDAgbmXDunNwxJvFoW7DvWNoIHBva3Vzxa8gbyBhdG9taWNrw6kgcHJvdmVkZW7DrSAlcyEiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc19yZWFkKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgImNtb3NfcmVhZCgpOiB6w6FwaXMgbmEgxZnDrWTDrWPDrSBhZHJlc3UgJVggc2VsaGFsIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzI4CisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3NfcmVhZCgpOiByZWFkIGZyb20gZGF0YSBhZGRyZXNzICVYIGZhaWxlZCIKK21zZ3N0ciAiY21vc19yZWFkKCk6IMSNdGVuw60gesKgZGF0b3bDqSBhZHJlc3kgJVggc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3dyaXRlKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgImNtb3Nfd3JpdGUoKTogesOhcGlzIG5hIMWZw61kw61jw60gYWRyZXN1ICVYIHNlbGhhbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3dyaXRlKCk6IHdyaXRlIHRvIGRhdGEgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgImNtb3Nfd3JpdGUoKTogesOhcGlzIG5hIGRhdG92b3UgYWRyZXN1ICVYIHNlbGhhbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY0NQorbXNnaWQgIkkgZmFpbGVkIHRvIGdldCBwZXJtaXNzaW9uIGJlY2F1c2UgSSBkaWRuJ3QgdHJ5LiIKK21zZ3N0ciAiSmVsaWtvxb4gbmVieWxhIHNuYWhhLCBuZXBvZGHFmWlsbyBzZSB6w61za2F0IHByw6F2YSBwcm8gcMWZw61zdHVwLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY0OAorbXNnaWQgInVuYWJsZSB0byBnZXQgSS9PIHBvcnQgYWNjZXNzOiAgdGhlIGlvcGwoMykgY2FsbCBmYWlsZWQuIgorbXNnc3RyICJwxZnDrXN0dXAga8KgSS9PIHBvcnR1IG5lbHplIHrDrXNrYXQ6IHZvbMOhbsOtIGlvcGwoMykgc2VsaGFsby4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NTEKK21zZ2lkICJQcm9iYWJseSB5b3UgbmVlZCByb290IHByaXZpbGVnZXMuXG4iCittc2dzdHIgIlByYXZkxJtwb2RvYm7EmyBqZSB0xZllYmEgbcOtdCBwcsOhdmEgc3VwZXJ1xb5pdmF0ZWxlLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjU4Cittc2dpZCAiVXNpbmcgZGlyZWN0IEkvTyBpbnN0cnVjdGlvbnMgdG8gSVNBIGNsb2NrLiIKK21zZ3N0ciAiUHJvIElTQSBob2Rpbnkgc2UgcG91xb5pasOtIHDFmcOtbcOpIGluc3RydWtjZSBJL08uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHJlYWQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICLEjWFzIHNlIHBvbW9jw60gdm9sw6Fuw60gaW9jdGwoJXMpIG5hZCAlcyBuZXBvZGHFmWlsbyB6amlzdGl0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gJXMgdG8gY2hhbmdlXG4iCittc2dzdHIgIsSMZWvDoW0gdmUgc215xI1jZSBuYSB6bcSbbnUgxI1hc3UgeiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMzYKK21zZ2lkICJUaW1lZCBvdXQgd2FpdGluZyBmb3IgdGltZSBjaGFuZ2UuIgorbXNnc3RyICJWwqDEjWFzb3bDqW0gbGltaXR1IHNlIG5lcG9kYcWZaWxvIHptxJtuaXQgxI1hcy4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBoYXZlIGludGVycnVwdCBmdW5jdGlvbnMuICIKK21zZ3N0ciAiJXMgbmVtw6EgcMWZZXJ1xaFvdmFjw60gZnVua2NlLiAiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMwMgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKK21zZ3N0ciAixIxla8OhbsOtIG5hIHRpayBob2RpbiBwb21vY8OtIHNlbGVjdCgpIG5hZCAlcyBzZWxoYWwiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIHRpbWVkIG91dCIKK21zZ3N0ciAicG9tb2PDrSB2b2zDoW7DrSBzZWxlY3QoKSBuYWQgJXMgc2UgbmVieWxvIG1vxb5uw6kgdGlrdSBob2RpbiBkb8SNa2F0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9mZiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQiCittc2dzdHIgIm9ibm92b3ZhY8OtIHDFmWVydcWhZW7DrSBuZWx6ZSB2eXBub3V0IC0gdm9sw6Fuw60gaW9jdGwoKSBwcm8gJXMgc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvbiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQgdW5leHBlY3RlZGx5IgorbXNnc3RyICJvYm5vdm92YWPDrSBwxZllcnXFoWVuw60gbmVsemUgemFwbm91dCAtIHZvbMOhbsOtIGlvY3RsKCkgcHJvICVzIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gc2V0IHRoZSB0aW1lIGZhaWxlZC4iCittc2dzdHIgIm5hc3RhdmVuw60gxI1hc3UgcG9tb2PDrSB2b2zDoW7DrSBpb2N0bCglcykgbmFkICVzIHNlbGhhbG8uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHdhcyBzdWNjZXNzZnVsLlxuIgorbXNnc3RyICJWb2zDoW7DrSBpb2N0bCglcykgYnlsbyDDunNwxJvFoW7DqS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mzg3Cittc2dpZCAiVXNpbmcgdGhlIC9kZXYgaW50ZXJmYWNlIHRvIHRoZSBjbG9jay4iCittc2dzdHIgIlBybyBob2Rpbnkgc2UgcG91xb5pamUgcm96aHJhbsOtIC9kZXYuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MTcgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRvIG1hbmlwdWxhdGUgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwsIHdlIG11c3QgYWNjZXNzIHRoZSBMaW51eCAncnRjJyBkZXZpY2UgZHJpdmVyIHZpYSB0aGUgZGV2aWNlIHNwZWNpYWwgZmlsZSAlcy4gIFRoaXMgZmlsZSBkb2VzIG5vdCBleGlzdCBvbiB0aGlzIHN5c3RlbS4iCittc2dzdHIgIlBybyB6bcSbbnUgaG9kbm90eSBwb8SNw6F0a3UgZXBvY2h5IHYgasOhZMWZZSBqZSBudXRuw6kgcMWZaXN0b3VwaXQga8KgbGludXhvdsOpbXUgb3ZsYWRhxI1pIHphxZnDrXplbsOtIOKAnnJ0Y+KAnCBwb21vY8OtIHp2bMOhxaF0bsOtaG8gc291Ym9ydSB6YcWZw616ZW7DrSAlcy4gVGVudG8gc291Ym9yIG5hIHRvbXRvIHN5c3TDqW11IHNvdWJvcsWvIG5lZXhpc3R1amUuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoUlRDX0VQT0NIX1JFQUQpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAidm9sw6Fuw60oUlRDX0VQT0NIX1JFQUQpIHBybyAlcyBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAid2UgaGF2ZSByZWFkIGVwb2NoICVsdSBmcm9tICVzIHdpdGggUlRDX0VQT0NIX1JFQUQgaW9jdGwuXG4iCittc2dzdHIgIlogJTIkcyBieWwgcG9tb2PDrSBSVENfRVBPQ0hfUkVBRCBpb2N0bCB6amnFoXTEm24gcG/EjcOhdGVrIGVwb2NoeSAoJTEkbHUpLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGVwb2NoIHZhbHVlIG1heSBub3QgYmUgbGVzcyB0aGFuIDE5MDAuICBZb3UgcmVxdWVzdGVkICVsZCIKK21zZ3N0ciAiSG9kbm90YSBwb8SNw6F0a3UgZXBvY2h5IG5lc23DrSBiw710IG1lbsWhw60gbmXFviAxOTAwLiBQb8W+YWRvdmFsaSBqc3RlICVsZC4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIGVwb2NoIHRvICVsdSB3aXRoIFJUQ19FUE9DSF9TRVQgaW9jdGwgdG8gJXMuXG4iCittc2dzdHIgIm5hc3RhdmVuw60gcG9tb2PDrSBSVENfRVBPQ0hfU0VUIGlvY3RsIHBybyAlMiRzIHBvxI3DoXRlayBlcG9jaHkgbmEgJTEkbHUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUga2VybmVsIGRldmljZSBkcml2ZXIgZm9yICVzIGRvZXMgbm90IGhhdmUgdGhlIFJUQ19FUE9DSF9TRVQgaW9jdGwuIgorbXNnc3RyICJKYWRlcm7DvSBvdmxhZGHEjSBwcm8gemHFmcOtemVuw60gJXMgbmVwb2Rwb3J1amUgSU9DVEwgUlRDX0VQT0NIX1NFVC4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bChSVENfRVBPQ0hfU0VUKSB0byAlcyBmYWlsZWQiCittc2dzdHIgInZvbMOhbsOtIGlvY3RsKFJUQ19FUE9DSF9TRVQpIHBybyAlcyBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo2OQorbXNnaWQgIkNyZWF0ZSB2YXJpb3VzIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIlZ5dHZvxZnDrSByb3psacSNbsOpIHpkcm9qZSBJUEMuXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjcyCittc2dpZCAiIC1NLCAtLXNobWVtIDxzaXplPiAgICAgICBjcmVhdGUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IG9mIHNpemUgPHNpemU+XG4iCittc2dzdHIgIiAtTSwgLS1zaG1lbSA8dmVsaWtvc3Q+ICAgdnl0dm/FmcOtIHNkw61sZW7DvSBwYW3Em8Wlb3bDvSBzZWdtZW50IG/CoGRhbsOpIDx2ZWxpa29zdGk+XG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjczCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZSA8bnVtYmVyPiBjcmVhdGUgc2VtYXBob3JlIGFycmF5IHdpdGggPG51bWJlcj4gZWxlbWVudHNcbiIKK21zZ3N0ciAiIC1TLCAtLXNlbWFwaG9yZSA8cG/EjWV0PiAgdnl0dm/FmcOtIHBvbGUgc2VtYWZvcnUgc8KgPHBvxI10ZW0+IHBydmvFr1xuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NAorbXNnaWQgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgY3JlYXRlIG1lc3NhZ2UgcXVldWVcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICB2eXR2b8WZw60gZnJvbnR1IHpwcsOhdlxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NQorbXNnaWQgIiAtcCwgLS1tb2RlIDxtb2RlPiAgICAgICAgcGVybWlzc2lvbiBmb3IgdGhlIHJlc291cmNlIChkZWZhdWx0IGlzIDA2NDQpXG4iCittc2dzdHIgIiAtcCwgLS1tb2RlIDxtw7NkPiAgICAgICAgIHByw6F2YSBwcm8gemRyb2ogKHbDvWNob3rDrSBqc291IDA2NDQpXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExMCBzeXMtdXRpbHMvbG9zZXR1cC5jOjY5NyBzeXMtdXRpbHMvenJhbWN0bC5jOjYyMgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICJ2ZWxpa29zdCBzZSBuZXpkYcWZaWxvIHJvemVicmF0IgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWxlbWVudHMiCittc2dzdHIgImVsZW1lbnR5IHNlIG5lcG9kYcWZaWxvIHJvemVicmF0IgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDEKK21zZ2lkICJjcmVhdGUgc2hhcmUgbWVtb3J5IGZhaWxlZCIKK21zZ3N0ciAibmVwb2RhxZlpbG8gc2Ugdnl0dm/FmWl0IHNkw61sZW5vdSBwYW3Em8WlIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBpZDogJWRcbiIKK21zZ3N0ciAiSUQgc2TDrWxlbsOpIHBhbcSbdGk6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0OQorbXNnaWQgImNyZWF0ZSBtZXNzYWdlIHF1ZXVlIGZhaWxlZCIKK21zZ3N0ciAibmVwb2RhxZlpbG8gc2Ugdnl0dm/FmWl0IGZyb250dSB6cHLDoXYiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIHF1ZXVlIGlkOiAlZFxuIgorbXNnc3RyICJJRCBmcm9udHkgenByw6F2OiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTcKK21zZ2lkICJjcmVhdGUgc2VtYXBob3JlIGZhaWxlZCIKK21zZ3N0ciAibmVwb2RhxZlpbG8gc2Ugdnl0dm/FmWl0IHNlbWFmb3IiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZW1hcGhvcmUgaWQ6ICVkXG4iCittc2dzdHIgIklEIHNlbWFmb3J1OiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPGlkPi4uLlxuIgorbXNnc3RyICIiCisiICUxJHMgW3DFmWVww61uYcSNZV1cbiIKKyIgJTEkcyBzaG18bXNnfHNlbSA8SUQ+4oCmXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU0Cittc2dpZCAiUmVtb3ZlIGNlcnRhaW4gSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiT2RzdHJhbsOtIHVyxI1pdMOpIElQQ+KAr3pkcm9qZS5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTcKK21zZ2lkICIgLW0sIC0tc2htZW0taWQgPGlkPiAgICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBpZFxuIgorbXNnc3RyICIgLW0sIC0tc2htZW0taWQgPElEPiAgICAgICAgb2RzdHJhbsOtIHNkw61sZW7DvSBwYW3Em8Wlb3bDvSBzZWdtZW50IHBvZGxlwqBJRFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OAorbXNnaWQgIiAtTSwgLS1zaG1lbS1rZXkgPGtleT4gICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGtleVxuIgorbXNnc3RyICIgLU0sIC0tc2htZW0ta2V5IDxrbMOtxI0+ICAgICBvZHN0cmFuw60gc2TDrWxlbsO9IHBhbcSbxaVvdsO9IHNlZ21lbnQgcG9kbGUga2zDrcSNZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OQorbXNnaWQgIiAtcSwgLS1xdWV1ZS1pZCA8aWQ+ICAgICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBpZFxuIgorbXNnc3RyICIgLXEsIC0tcXVldWUtaWQgPElEPiAgICAgICAgb2RzdHJhbsOtIGZyb250dSB6cHLDoXYgcG9kbGUgSURcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjAKK21zZ2lkICIgLVEsIC0tcXVldWUta2V5IDxrZXk+ICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkga2V5XG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZS1rZXkgPGtsw63EjT4gICAgIG9kc3RyYW7DrSBmcm9udHUgenByw6F2IHBvZGxlIGtsw63EjWVcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjEKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlLWlkIDxpZD4gICAgcmVtb3ZlIHNlbWFwaG9yZSBieSBpZFxuIgorbXNnc3RyICIgLXMsIC0tc2VtYXBob3JlLWlkIDxJRD4gICAgb2RzdHJhbsOtIHNlbWFmb3IgcG9kbGUgSURcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjIKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlLWtleSA8a2V5PiAgcmVtb3ZlIHNlbWFwaG9yZSBieSBrZXlcbiIKK21zZ3N0ciAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGtsw63EjT4gb2RzdHJhbsOtIHNlbWFmb3IgcG9kbGUga2zDrcSNZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MworbXNnaWQgIiAtYSwgLS1hbGxbPXNobXxtc2d8c2VtXSAgICByZW1vdmUgYWxsIChpbiB0aGUgc3BlY2lmaWVkIGNhdGVnb3J5KVxuIgorbXNnc3RyICIgLWEsIC0tYWxsWz08c2htfG1zZ3xzZW0+XSAgb2RzdHJhbsOtIHbFoWUgKHNlZ21lbnQsIGZyb250dSB6cHLDoXYsIHNlbWFmb3IpXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjY0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICB2eXN2xJt0bMOtLCBjbyBzZSBkxJtqZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgaWQgYCVkJ1xuIgorbXNnc3RyICJvZHN0cmHFiHVqZSBzZSBzZWdtZW50dSBzZMOtbGVuw6kgcGFtxJt0aSBzwqBJRCDigJ4lZOKAnFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBtZXNzYWdlIHF1ZXVlIGlkIGAlZCdcbiIKK21zZ3N0ciAib2RzdHJhxYh1amUgc2UgZnJvbnRhIHpwcsOhdiBzwqBJRCDigJ4lZOKAnFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzZW1hcGhvcmUgaWQgYCVkJ1xuIgorbXNnc3RyICJvZHN0cmHFiHVqZSBzZSBzZW1hZm9yIHPCoElEIOKAniVk4oCcXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOCBzeXMtdXRpbHMvaXBjcm0uYzoyMjIKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3Iga2V5IgorbXNnc3RyICJwcm8gZGFuw70ga2zDrcSNIHDFmcOtc3R1cCBvZG3DrXRudXQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOAorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBpZCIKK21zZ3N0ciAicHJvIGRhbsOpIGlkIHDFmcOtc3R1cCBvZG3DrXRudXQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMSBzeXMtdXRpbHMvaXBjcm0uYzoyMjgKK21zZ2lkICJpbnZhbGlkIGtleSIKK21zZ3N0ciAibmVwbGF0bsO9IGtsw63EjSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExCittc2dpZCAiaW52YWxpZCBpZCIKK21zZ3N0ciAibmVwbGF0bsOpIGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQgc3lzLXV0aWxzL2lwY3JtLmM6MjI1Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGtleSIKK21zZ3N0ciAiamnFviBvZHN0cmFuxJtuw70ga2zDrcSNIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQgaWQiCittc2dzdHIgImppxb4gb2RzdHJhbsSbbsOpIElEIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcgc3lzLXV0aWxzL2lwY3JtLmM6MjMxCittc2dpZCAia2V5IGZhaWxlZCIKK21zZ3N0ciAia2zDrcSNIHNlbGhhbCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE3Cittc2dpZCAiaWQgZmFpbGVkIgorbXNnc3RyICJJRCBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZDogJXMiCittc2dzdHIgIm5lcGxhdG7DqSBJRDogJXMiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJyZXNvdXJjZShzKSBkZWxldGVkXG4iCittc2dzdHIgInByb3N0xZllZGt5IHNtYXrDoW55XG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjIwMAorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGtleSAoJXMpIgorbXNnc3RyICJuZWRvdm9sZW7DvSBrbMOtxI0gKCVzKSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjU2Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICJqw6Fkcm8gbmVwb2Rwb3J1amUgc2TDrWxlbm91IHBhbcSbxaUiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI2OQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3JlcyIKK21zZ3N0ciAiasOhZHJvIG5lcG9kcG9ydWplIHNlbWFmb3J5IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyOTAKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICJqw6Fkcm8gbmVwb2Rwb3J1amUgZnJvbnR5IHpwcsOhdiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW3Jlc291cmNlLW9wdGlvbi4uLl0gW291dHB1dC1vcHRpb25dXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorbXNnc3RyICIiCisiICUxJHMgW3DFmWVww61uYcSNX3Byb3N0xZllZGt14oCmXSBbcMWZZXDDrW5hxI1fdsO9c3R1cHVdXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPElEPlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU2IHN5cy11dGlscy9sc2lwYy5jOjI4MAorbXNnaWQgIlNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMuXG4iCittc2dzdHIgIlBvc2t5dHVqZSBpbmZvcm1hY2Ugb8KgcHJvc3TFmWVkY8OtY2ggSVBDLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiAtaSwgLS1pZCA8SUQ+ICB6b2JyYXrDrSBwb2Ryb2Jub3N0aSBvIHByb3N0xZllZGt1IHVyxI1lbsOpbSBkbGUgSURcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NCBzeXMtdXRpbHMvbHNpcGMuYzoyODMKK21zZ2lkICJSZXNvdXJjZSBvcHRpb25zOlxuIgorbXNnc3RyICJQxZllcMOtbmHEjWUgcHJvc3TFmWVka8WvOlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1IHN5cy11dGlscy9sc2lwYy5jOjI4NAorbXNnaWQgIiAtbSwgLS1zaG1lbXMgICAgICBzaGFyZWQgbWVtb3J5IHNlZ21lbnRzXG4iCittc2dzdHIgIiAtbSwgLS1zaG1lbXMgICAgICBzZMOtbGVuw6kgc2VnbWVudHkgcGFtxJt0aVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY2IHN5cy11dGlscy9sc2lwYy5jOjI4NQorbXNnaWQgIiAtcSwgLS1xdWV1ZXMgICAgICBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICIgLXEsIC0tcXVldWVzICAgICAgZnJvbnR5IHpwcsOhdlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY3IHN5cy11dGlscy9sc2lwYy5jOjI4NgorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hcGhvcmVzXG4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hZm9yeVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgIGFsbCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgIHbFoWUgKHbDvWNob3rDrSlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MQorbXNnaWQgIk91dHB1dCBvcHRpb25zOlxuIgorbXNnc3RyICJQxZllcMOtbmHEjWUgdsO9c3R1cHU6XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzIKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICB6b2JyYXrDrSDEjWFzeSBwxZlpcG9qZW7DrSwgb2Rwb2plbsOtIGEgem3Em255XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzMKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgc2hvdyBQSURzIG9mIGNyZWF0b3IgYW5kIGxhc3Qgb3BlcmF0b3JcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgIHpvYnJhesOtIFBJRCB0dsWvcmNlIGEgcG9zbGVkbsOtIG9wZXLDoXRvcmFcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NAorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiAtYywgLS1jcmVhdG9yICAgICB6b2JyYXrDrSB0dsWvcmNlIGEgdmxhc3Ruw61rYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc1Cittc2dpZCAiIC1sLCAtLWxpbWl0cyAgICAgIHNob3cgcmVzb3VyY2UgbGltaXRzXG4iCittc2dzdHIgIiAtbCwgLS1saW1pdHMgICAgICB6b2JyYXrDrSBvbWV6ZW7DrSB6ZHJvasWvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKK21zZ2lkICIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIgorbXNnc3RyICIgLXUsIC0tc3VtbWFyeSAgICAgem9icmF6w60gc291aHJuIHN0YXbFr1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc3Cittc2dpZCAiICAgICAtLWh1bWFuICAgICAgIHNob3cgc2l6ZXMgaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1odW1hbiAgICAgICB2ZWxpa29zdGkgem9icmF6w60gdsKgcG9kb2LEmyDEjWl0ZWxuw6kgcHJvIMSNbG92xJtrYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc4Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgIHNob3cgc2l6ZXMgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgIHZlbGlrb3N0aSB6b2JyYXrDrSB2wqBiYWp0ZWNoXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MTY0Cittc2dpZCAid2hlbiB1c2luZyBhbiBJRCwgYSBzaW5nbGUgcmVzb3VyY2UgbXVzdCBiZSBzcGVjaWZpZWQiCittc2dzdHIgImplLWxpIHBvdcW+aXRvIElELCBtdXPDrSBiw710IHVyxI1lbiBqZWRpbsO9IHByb3N0xZllZGVrIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2hhcmVkIG1lbW9yeSBsaW1pdHNcbiIKK21zZ3N0ciAib21lemVuw60gcHJvIHNkw61sZW5vdSBwYW3Em8WlIG5lbHplIHrDrXNrYXRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBPbWV6ZW7DrSBwcm8gc2TDrWxlbm91IHBhbcSbxaUgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBzZWdtZW50cyA9ICVqdVxuIgorbXNnc3RyICJtYXhpbcOhbG7DrSBwb8SNZXQgc2VnbWVudMWvID0gJWp1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA5Cittc2dpZCAibWF4IHNlZyBzaXplIgorbXNnc3RyICJtYXhpbcOhbG7DrSB2ZWxpa29zdCBzZWdtZW50dSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTEKK21zZ2lkICJtYXggdG90YWwgc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAiY2Vsa292w6kgbWF4aW11bSBwcm8gc2TDrWxlbm91IHBhbcSbxaUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjE0Cittc2dpZCAibWluIHNlZyBzaXplIgorbXNnc3RyICJtaW5pbcOhbG7DrSB2ZWxpa29zdCBzZWdtZW50dSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5XG4iCittc2dzdHIgImrDoWRybyBuZXBvZHBvcnVqZSBzZMOtbGVub3UgcGFtxJvFpVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzMAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFN0YXYgc2TDrWxlbsOpIHBhbcSbdGkgLS0tLS0tLS1cbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoaXMgb3V0cHV0IGZvcm1hdCBpcyBtYWludGFpbmVkIGZvciBiYWNrd2FyZAorIy4gY29tcGF0aWJpbGl0eSBhcyBpcGNzIGlzIHVzZWQgaW4gc2NyaXB0cy4gRm9yIGNvbnNpc3RlbmN5CisjLiB3aXRoIHRoZSByZXN0LCB0aGUgdHJhbnNsYXRlZCBmb3JtIGNhbiBmb2xsb3cgdGhpcyBtb2RlbDoKKyMuICoKKyMuICJzZWdtZW50cyBhbGxvY2F0ZWQgPSAlZFxuIgorIy4gInBhZ2VzIGFsbG9jYXRlZCA9ICVsZFxuIgorIy4gInBhZ2VzIHJlc2lkZW50ID0gJWxkXG4iCisjLiAicGFnZXMgc3dhcHBlZCA9ICVsZFxuIgorIy4gInN3YXAgcGVyZm9ybWFuY2UgPSAlbGQgYXR0ZW1wdHMsICVsZCBzdWNjZXNzZXNcbiIKKyMuCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisic2VnbWVudHMgYWxsb2NhdGVkICVkXG4iCisicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorInBhZ2VzIHJlc2lkZW50ICAlbGRcbiIKKyJwYWdlcyBzd2FwcGVkICAgJWxkXG4iCisiU3dhcCBwZXJmb3JtYW5jZTogJWxkIGF0dGVtcHRzXHQgJWxkIHN1Y2Nlc3Nlc1xuIgorbXNnc3RyICIiCisiYWxva292w6FubyBzZWdtZW50xa8gICAlZFxuIgorImFsb2tvdsOhbm8gc3Ryw6FuZWsgICAgJWxkXG4iCisicmV6aWRlbnRuw61jaCBzdHLDoW5layAlbGRcbiIKKyJvZGxvxb5lbsO9Y2ggc3Ryw6FuZWsgICAlbGRcbiIKKyLDusSNaW5ub3N0IG9ka2zDoWTDoW7DrTogICVsZCBwb2t1c8WvXHQgJWxkIMO6c3DEm8WhbsO9Y2hcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFR2xa9yY2kvdmxhc3Ruw61jaSBzZWdtZW50xa8gc2TDrWxlbsOpIHBhbcSbdGkgLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjc0CisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgInNobWlkIgorbXNnc3RyICJzaG1pZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzozODYKKyM6IHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NDg5IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAicGVybXMiCittc2dzdHIgInByw6F2YSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJjdWlkIgorbXNnc3RyICJjdWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgImNnaWQiCittc2dzdHIgImNnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAidWlkIgorbXNnc3RyICJ1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiZ2lkIgorbXNnc3RyICJnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IEF0dGFjaC9EZXRhY2gvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDEjGFzeSBwxZlpcG9qZW7DrS9vZHBvamVuw60vem3Em255IHBybyBzZMOtbGVub3UgcGFtxJvFpSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI3NCBzeXMtdXRpbHMvaXBjcy5jOjI4MAorIzogc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo0OTUKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxIHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAib3duZXIiCittc2dzdHIgInZsYXN0bsOtayIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcKK21zZ2lkICJhdHRhY2hlZCIKK21zZ3N0ciAicMWZaXBvamVuw60iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3Cittc2dpZCAiZGV0YWNoZWQiCittc2dzdHIgIm9kcG9qZW7DrSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjgKK21zZ2lkICJjaGFuZ2VkIgorbXNnc3RyICJ6bcSbbmEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IENyZWF0b3IvTGFzdC1vcCBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBUdsWvcmNlIHNkw61sZW7DqSBwYW3Em3RpL1BJRCBwb3NsZWRuw60gb3BlcmFjZSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3NAorbXNnaWQgImNwaWQiCittc2dzdHIgImNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc0Cittc2dpZCAibHBpZCIKK21zZ3N0ciAibHBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFNlZ21lbnR5IHNkw61sZW7DqSBwYW3Em3RpIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwIHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAia2V5IgorbXNnc3RyICJrbMOtxI0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgxIHN5cy11dGlscy9pcGNzLmM6NTA4Cittc2dpZCAic2l6ZSIKK21zZ3N0ciAidmVsaWtvc3QiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgxIHN5cy11dGlscy9wcmxpbWl0LmM6NzUgc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OCBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIgc3lzLXV0aWxzL3BybGltaXQuYzo4NiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAiYnl0ZXMiCittc2dzdHIgImJhanR5IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MgorbXNnaWQgIm5hdHRjaCIKK21zZ3N0ciAibmF0dGNoIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MgorbXNnaWQgInN0YXR1cyIKK21zZ3N0ciAic3RhdiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMDYgc3lzLXV0aWxzL2lwY3MuYzozMDggc3lzLXV0aWxzL2lwY3MuYzozMTAKKyM6IHN5cy11dGlscy9pcGNzLmM6NDI0IHN5cy11dGlscy9pcGNzLmM6NDI2IHN5cy11dGlscy9pcGNzLmM6NTMyCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUzNCBzeXMtdXRpbHMvaXBjcy5jOjUzNiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorIzogc3lzLXV0aWxzL2lwY3MuYzo1OTIgc3lzLXV0aWxzL2lwY3MuYzo2MjEgc3lzLXV0aWxzL2lwY3MuYzo2MjMKKyM6IHN5cy11dGlscy9pcGNzLmM6NjI1IHN5cy11dGlscy9pcGNzLmM6NjQ5Cittc2dpZCAiTm90IHNldCIKK21zZ3N0ciAiTmVuYXN0YXZlbm8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzM2IHN5cy11dGlscy9sc2lwYy5jOjk3NiBzeXMtdXRpbHMvbHNpcGMuYzo5ODIKK21zZ2lkICJkZXN0IgorbXNnc3RyICJjw61sIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMzNyBzeXMtdXRpbHMvbHNpcGMuYzo5Nzcgc3lzLXV0aWxzL2xzaXBjLmM6OTkwCittc2dpZCAibG9ja2VkIgorbXNnc3RyICJ6YW3EjWVubyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNlbWFwaG9yZSBsaW1pdHNcbiIKK21zZ3N0ciAib21lemVuw60gcHJvIHNlbWFmb3J5IHNlIG5lcG9kYcWZaWxvIHrDrXNrYXRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tT21lemVuw60gcHJvIHNlbWFmb3J5IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2YgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAibWF4aW3DoWxuw60gcG/EjWV0IHBvbMOtID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgcGVyIGFycmF5ID0gJWRcbiIKK21zZ3N0ciAibWF4aW3DoWxuw60gcG/EjWV0IHNlbWFmb3LFryB2IHBvbGkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgImNlbGtvdsO9IG1heGltw6FsbsOtIHBvxI1ldCBzZW1hZm9yxa8gPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggb3BzIHBlciBzZW1vcCBjYWxsID0gJWRcbiIKK21zZ3N0ciAibWF4aW3DoWxuw60gcG/EjWV0IG9wZXJhY8OtIG5hIGplZG5vIHNlbW9wIHZvbMOhbsOtID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VtYXBob3JlIG1heCB2YWx1ZSA9ICV1XG4iCittc2dzdHIgIm1heGltw6FsbsOtIGhvZG5vdGEgc2VtYWZvcnUgPSAldVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiasOhZHJvIG5lcG9kcG9ydWplIHNlbWFmb3J5XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTdGF2IHNlbWFmb3J1IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc4CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAicG91xb5pdMOhIHBvbGUgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgc2VtYXBob3JlcyA9ICVkXG4iCittc2dzdHIgImFsb2tvdmFuw6kgc2VtYWZvcnkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFR2xa9yY2kvdmxhc3Ruw61jaSBwb2zDrSBzZW1hZm9yxa8gLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0MDEKK21zZ2lkICJzZW1pZCIKK21zZ3N0ciAic2VtaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgT3BlcmF0aW9uL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gxIxhc3kgb3BlcmFjZS96bcSbbnkgc2VtYWZvcnUgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIKK21zZ2lkICJsYXN0LW9wIgorbXNnc3RyICJwb3NsZWRuw60gb3BlcmFjZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIKK21zZ2lkICJsYXN0LWNoYW5nZWQiCittc2dzdHIgInBvc2xlZG7DrSB6bcSbbmEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBQb2xlIHNlbWFmb3LFryAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwMQorbXNnaWQgIm5zZW1zIgorbXNnc3RyICJuc2VtcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIG1lc3NhZ2UgbGltaXRzXG4iCittc2dzdHIgIm9tZXplbsOtIHpwcsOhdiBzZSBuZXBvZGHFmWlsbyB6w61za2F0XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIE9tZXplbsOtIHpwcsOhdiAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggcXVldWVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAiY2Vsa292w70gbWF4aW3DoWxuw60gcG/EjWV0IGZyb250ID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjUKK21zZ2lkICJtYXggc2l6ZSBvZiBtZXNzYWdlIgorbXNnc3RyICJtYXhpbcOhbG7DrSB2ZWxpa29zdCB6cHLDoXZ5IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2NworbXNnaWQgImRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUiCittc2dzdHIgInbDvWNob3rDrSBtYXhpbcOhbG7DrSB2ZWxpa29zdCBmcm9udHkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiasOhZHJvIG5lcG9kcG9ydWplIGZyb250eSB6cHLDoXZcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU3RhdiB6cHLDoXYgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHF1ZXVlcyA9ICVkXG4iCittc2dzdHIgImFsb2tvdmFuw6kgZnJvbnR5ID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBoZWFkZXJzID0gJWRcbiIKK21zZ3N0ciAicG91xb5pdMOpIGhsYXZpxI1reSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgyCittc2dpZCAidXNlZCBzcGFjZSIKK21zZ3N0ciAicG91xb5pdMO9IHByb3N0b3IiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgzCittc2dpZCAiIGJ5dGVzXG4iCittc2dzdHIgIiBCXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFR2xa9yY2kvdmxhc3Ruw61jaSBmcm9udCB6cHLDoXYgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODkgc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MDEKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibXNxaWQiCittc2dzdHIgIm1zcWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgU2VuZC9SZWN2L0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gxIxhc3kgb2Rlc2zDoW7DrS5wxZnDrWNob2R1L3ptxJtueSBwcm8gZnJvbnR5IHpwcsOhdiAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgInNlbmQiCittc2dzdHIgIm9kZXNsw6Fuw60iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAicmVjdiIKK21zZ3N0ciAicMWZw61qZW0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiY2hhbmdlIgorbXNnc3RyICJ6bcSbbmEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBQSUQgcHJvIGZyb250eSB6cHLDoXYgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJsc3BpZCIKK21zZ3N0ciAibHNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAibHJwaWQiCittc2dzdHIgImxycGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEZyb250eSB6cHLDoXYgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDgKK21zZ2lkICJ1c2VkLWJ5dGVzIgorbXNnc3RyICJ1xb5pdMOpIGJhanR5IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwOQorbXNnaWQgIm1lc3NhZ2VzIgorbXNnc3RyICJ6cHLDoXZ5IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU3NCBzeXMtdXRpbHMvaXBjcy5jOjYwNCBzeXMtdXRpbHMvaXBjcy5jOjYzNworIzogc3lzLXV0aWxzL2xzaXBjLmM6NTM2IHN5cy11dGlscy9sc2lwYy5jOjcyMiBzeXMtdXRpbHMvbHNpcGMuYzo4NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWQgJWQgbm90IGZvdW5kIgorbXNnc3RyICJpZGVudGlmaWvDoXRvciAlZCBuZW5hbGV6ZW4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQgbWVtb3J5IFNlZ21lbnQgc2htaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorInNobWlkIHNlZ21lbnR1IHNkw61sZW7DqSBwYW3Em3RpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI29cdGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAibcOzZD0lI29cdHDFmcOtc3R1cG92w6EgcHLDoXZhPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorbXNnaWQgInNpemU9IgorbXNnc3RyICJ2ZWxpa29zdD0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg0Cittc2dpZCAiYnl0ZXM9IgorbXNnc3RyICJiYWp0eT0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg2CisjLCBjLWZvcm1hdAorbXNnaWQgImxwaWQ9JXVcdGNwaWQ9JXVcdG5hdHRjaD0lamRcbiIKK21zZ3N0ciAibHBpZD0ldVx0Y3BpZD0ldVx0bmF0dGNoPSVqZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJhdHRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJwxZlpcG9qX8SNYXM9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAib2Rwb2pfxI1hcz0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MyBzeXMtdXRpbHMvaXBjcy5jOjYyNAorIywgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2VfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICLEjWFzX3ptxJtueT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZSBRdWV1ZSBtc3FpZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisibXNnaWQgZnJvbnR5IHpwcsOhdj0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVx0bW9kZT0lI29cbiIKK21zZ3N0ciAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG3Ds2Q9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjEzCittc2dpZCAiY3NpemU9IgorbXNnc3RyICJjc2l6ZT0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjEzCittc2dpZCAiY2J5dGVzPSIKK21zZ3N0ciAiY2J5dGVzPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKK21zZ2lkICJxc2l6ZT0iCittc2dzdHIgInFzaXplPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKK21zZ2lkICJxYnl0ZXM9IgorbXNnc3RyICJxYnl0ZXM9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAixI1hcyBvZGVzbMOhbsOtPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgInJjdl90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIsSNYXMgcMWZw61qbXU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBBcnJheSBzZW1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisic2VtaWQgcG9sZSBzZW1hZm9yxa8gPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdCBnaWQ9JXVcdCBjdWlkPSV1XHQgY2dpZD0ldVxuIgorbXNnc3RyICJ1aWQ9JXVcdCBnaWQ9JXVcdCBjdWlkPSV1XHQgY2dpZD0ldVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0NQorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjbywgYWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICJtw7NkPSUjbywgcMWZw61zdHVwb3bDoSBwcsOhdmE9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5zZW1zID0gJWp1XG4iCittc2dzdHIgIm5zZW1zID0gJWp1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIm90aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAixI1hcyBwb3NsZWRuw60gb3BlcmFjZSA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgImN0aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAixI1hcyB6bcSbbnkgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInNlbW51bSIKK21zZ3N0ciAic2VtbnVtIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInZhbHVlIgorbXNnc3RyICJob2Rub3RhIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgIm5jb3VudCIKK21zZ3N0ciAibmNvdW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInpjb3VudCIKK21zZ3N0ciAiemNvdW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInBpZCIKK21zZ3N0ciAicGlkIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzAgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM0IHN5cy11dGlscy9pcGN1dGlscy5jOjIzOAorIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiUMWZw61rYXogJXMgc2VsaGFsIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKGJ5dGVzKSA9ICIKK21zZ3N0ciAiJXMgKGJhanR5KSA9ICIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChrYnl0ZXMpID0gIgorbXNnc3RyICIlcyAoa2lsb2JhanR5KSA9ICIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTgwCittc2dpZCAiaW52YWxpZCBpZmxhZyIKK21zZ3N0ciAibmVwbGF0bsO9IGlmbGFnIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bGRpc2M+IDxkZXZpY2U+XG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSA8ZGlzY2lwbMOtbmFfbGlua3k+IDx6YcWZw616ZW7DrT5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTk5Cittc2dpZCAiQXR0YWNoIGEgbGluZSBkaXNjaXBsaW5lIHRvIGEgc2VyaWFsIGxpbmUuXG4iCittc2dzdHIgIlDFmWlwb2rDrSBsaW5rb3ZvdSBkaXNjaXBsw61udSBrwqBzw6lyaW92w6kgbGluY2UuXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgdnlwaXN1amUgcG9kcm9ibsOpIHpwcsOhdnkgbmEgY2h5Ym92w70gdsO9c3R1cFxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDMKK21zZ2lkICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAgc2V0IHNlcmlhbCBsaW5lIHNwZWVkXG4iCittc2dzdHIgIiAtcywgLS1zcGVlZCA8aG9kbm90YT4gICBuYXN0YXbDrSByeWNobG9zdCBzw6lyaW92w6kgbGlua3lcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA0Cittc2dpZCAiIC1jLCAtLWludHJvLWNvbW1hbmQgPHN0cmluZz4gaW50cm8gc2VudCBiZWZvcmUgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIgorIiAtYywgLS1pbnRyby1jb21tYW5kIDzFmWV0xJt6ZWM+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIG9kZcWhbGUgw7p2b2Ruw60gxZlldMSbemVjIHDFmWVkIHDFmWlwb2plbsOtbSBsaW5reVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDUKK21zZ2lkICIgLXAsIC0tcGF1c2UgPHNlY29uZHM+ICAgcGF1c2UgYmV0d2VlbiBpbnRybyBhbmQgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIC1wLCAtLXBhdXNlIDxzZWt1bmR5PiAgIHBhdXphIG1lemkgw7p2b2Ruw61tIMWZZXTEm3pjZW0gYSBwxZlpcG9qZW7DrW1cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA2Cittc2dpZCAiIC03LCAtLXNldmVuYml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA3IGJpdHNcbiIKK21zZ3N0ciAiIC03LCAtLXNldmVuYml0cyAgICAgICAgIG5hc3RhdsOtIHZlbGlrb3N0IHpuYWt1IG5hIDcgYml0xa9cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA3Cittc2dpZCAiIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA4IGJpdHNcbiIKK21zZ3N0ciAiIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgIG5hc3RhdsOtIHZlbGlrb3N0IHpuYWt1IG5hIDggYml0xa9cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA4Cittc2dpZCAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIHNldCBwYXJpdHkgdG8gbm9uZVxuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgbmFzdGF2w60gcGFyaXR1IG5hIMW+w6Fkbm91XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOQorbXNnaWQgIiAtZSwgLS1ldmVucGFyaXR5ICAgICAgICBzZXQgcGFyaXR5IHRvIGV2ZW5cbiIKK21zZ3N0ciAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIG5hc3RhdsOtIHBhcml0dSBuYSBzdWRvdVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTAKK21zZ2lkICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAgc2V0IHBhcml0eSB0byBvZGRcbiIKK21zZ3N0ciAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIG5hc3RhdsOtIHBhcml0dSBuYSBsaWNob3VcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjExCittc2dpZCAiIC0xLCAtLW9uZXN0b3BiaXQgICAgICAgIHNldCBzdG9wIGJpdHMgdG8gb25lXG4iCittc2dzdHIgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBuYXN0YXbDrSBzdG9wLWJpdHkgbmEgamVkZW5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEyCittc2dpZCAiIC0yLCAtLXR3b3N0b3BiaXRzICAgICAgIHNldCBzdG9wIGJpdHMgdG8gdHdvXG4iCittc2dzdHIgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBuYXN0YXbDrSBzdG9wLWJpdHkgbmEgZHZhXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMworbXNnaWQgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBzZXQgaW5wdXQgbW9kZSBmbGFnXG4iCittc2dzdHIgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBuYXN0YXbDrSBwxZnDrXpuYWsgcmXFvmltdSB2c3R1cHVcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE5Cittc2dpZCAiIgorIlxuIgorIktub3duIDxsZGlzYz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJabsOhbcOhIGptw6luYSA8bGlua292w6lfZGlzY2lwbMOtbnk+OlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMjMKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGlmbGFnPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlpuw6Ftw6Egam3DqW5hIDxpZmxhZz46XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0MAorbXNnaWQgImludmFsaWQgc3BlZWQgYXJndW1lbnQiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCByeWNobG9zdGkiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0MworbXNnaWQgImludmFsaWQgcGF1c2UgYXJndW1lbnQiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCBwYXV6eSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzU5Cittc2dpZCAiaW52YWxpZCBvcHRpb24iCittc2dzdHIgIm5lcGxhdG7DvSBwxZllcMOtbmHEjSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzcwCittc2dpZCAiaW52YWxpZCBsaW5lIGRpc2NpcGxpbmUgYXJndW1lbnQiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCBkaXNjaXBsw61ueSBsaW5reSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHNlcmlhbCBsaW5lIgorbXNnc3RyICIlcyBuZW7DrSBzw6lyaW92b3UgbGlua291IgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAibmVsemUgemppc3RpdCB2bGFzdG5vc3RpIHRlcm1pbsOhbHUgJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVlZCAlZCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAicnljaGxvc3QgJWQgbmVwb2Rwb3JvdsOhbmEiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICJ2bGFzdG5vc3RpIHRlcm1pbsOhbHUgJXMgbmVsemUgbmFzdGF2aXQiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgaW50cm8gY29tbWFuZCB0byAlcyIKK21zZ3N0ciAiZG8gJXMgbmVsemUgemFwc2F0IMO6dm9kbsOtIHDFmcOta2F6IgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NjkKK21zZ2lkICJjYW5ub3Qgc2V0IGxpbmUgZGlzY2lwbGluZSIKK21zZ3N0ciAiZGlzY2lwbMOtbnUgbGlua3kgbmVsemUgbmFzdGF2aXQiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ3OQorbXNnaWQgImNhbm5vdCBkYWVtb25pemUiCittc2dzdHIgIm5lbHplIHNlIGTDqW1vbml6b3ZhdCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2OAorbXNnaWQgImF1dG9jbGVhciBmbGFnIHNldCIKK21zZ3N0ciAicMWZw616bmFrIGF1dG9tYXRpY2vDqWhvIMO6a2xpZHUgbmFzdGF2ZW4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjkKK21zZ2lkICJkZXZpY2UgYmFja2luZyBmaWxlIgorbXNnc3RyICJzb3Vib3IgcG9kIHphxZnDrXplbsOtbSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MAorbXNnaWQgImJhY2tpbmcgZmlsZSBpbm9kZSBudW1iZXIiCittc2dzdHIgIsSNw61zbG8gaS11emx1IHNvdWJvcnUgcG9kIHphxZnDrXplbsOtbSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MQorbXNnaWQgImJhY2tpbmcgZmlsZSBtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICJobGF2bsOtOnZlZGxlasWhw60gxI3DrXNsbyB6YcWZw616ZW7DrSwga2RlIGplIHBvZGtsYWRvdsO9IHNvdWJvciIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MgorbXNnaWQgImxvb3AgZGV2aWNlIG5hbWUiCittc2dzdHIgIm7DoXpldiBsb29wIHphxZnDrXplbsOtIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjczCittc2dpZCAib2Zmc2V0IGZyb20gdGhlIGJlZ2lubmluZyIKK21zZ3N0ciAicG96aWNlIG9kwqB6YcSNw6F0a3UiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzQKK21zZ2lkICJwYXJ0c2NhbiBmbGFnIHNldCIKK21zZ3N0ciAicMWZw616bmFrIGhsZWTDoW7DrSBvZGTDrWzFryBuYXN0YXZlbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NgorbXNnaWQgInNpemUgbGltaXQgb2YgdGhlIGZpbGUgaW4gYnl0ZXMiCittc2dzdHIgIm9tZXplbsOtIHZlbGlrb3N0aSBzb3Vib3J1IHbCoGJhanRlY2giCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzcKK21zZ2lkICJsb29wIGRldmljZSBtYWpvcjptaW5vciBudW1iZXIiCittc2dzdHIgImhsYXZuw606dmVkbGVqxaHDrSDEjcOtc2xvIGxvb3AgemHFmcOtemVuw60iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzgKK21zZ2lkICJhY2Nlc3MgYmFja2luZyBmaWxlIHdpdGggZGlyZWN0LWlvIgorbXNnc3RyICJwxZlpc3R1cG92YXQga8Kgc291Ym9ydSBwb2QgemHFmcOtemVuw61tIHDFmcOtbcO9bSBJL08iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM1IHN5cy11dGlscy9sb3NldHVwLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb2Zmc2V0ICVqdSIKK21zZ3N0ciAiLCBvZHNhemVuw60gJWp1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1MAorIywgYy1mb3JtYXQKK21zZ2lkICIsIHNpemVsaW1pdCAlanUiCittc2dzdHIgIiwgdmVsaWtvc3Ruw60gbGltaXQgJWp1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1OAorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVuY3J5cHRpb24gJXMgKHR5cGUgJXUpIgorbXNnc3RyICIsIMWhaWZyb3bDoW7DrSAlcyAodHlwICV1KSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRldGFjaCBmYWlsZWQiCittc2dzdHIgIiVzOiBvZHBvamVuw60gc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozMjkgc3lzLXV0aWxzL2xzY3B1LmM6MTczNSBzeXMtdXRpbHMvcHJsaW1pdC5jOjIyOQorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjE3NiBzeXMtdXRpbHMvd2RjdGwuYzoyMTUgc3lzLXV0aWxzL3pyYW1jdGwuYzo0MDUKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgbGluZSIKK21zZ3N0ciAidsO9c3R1cG7DrSDFmcOhZGVrIHNlIG5lcG9kYcWZaWxvIGluaWNpYWxpem92YXQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gWzxsb29wZGV2Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8bG9vcGRldj4gPGZpbGU+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbcMWZZXDDrW5hxI1lXSBbPGxvb3BfemHFmcOtemVuw60+XVxuIgorIiAlMSRzIFtwxZllcMOtbmHEjWVdIC1mIHwgPGxvb3BfemHFmcOtemVuw60+IDxzb3Vib3I+XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzg2Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIGxvb3AgZGV2aWNlcy5cbiIKK21zZ3N0ciAiTmFzdGF2w60gYSBvdmzDoWTDoSBsb29wIHphxZnDrXplbsOtLlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM4OQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIHZ5cMOtxaFlIHbFoWVjaG5hIHBvdcW+w612YW7DoSB6YcWZw616ZW7DrVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MAorbXNnaWQgIiAtZCwgLS1kZXRhY2ggPGxvb3BkZXY+Li4uICAgICBkZXRhY2ggb25lIG9yIG1vcmUgZGV2aWNlc1xuIgorbXNnc3RyICIiCisiIC1kLCAtLWRldGFjaCA8bG9vcF96YcWZw616ZW7DrT7igKZcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Rwb2rDrSBqZWRubyBuZWJvIHbDrWNlIHphxZnDrXplbsOtXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkxCittc2dpZCAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIGRldGFjaCBhbGwgdXNlZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBvZHBvasOtIHbFoWVjaG5hIHBvdcW+w612YW7DoSB6YcWZw616ZW7DrVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MgorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICBmaW5kIGZpcnN0IHVudXNlZCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIG5hamRlIHBydm7DrSBuZXBvdcW+aXTDqSB6YcWZw616ZW7DrVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MworbXNnaWQgIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICByZXNpemUgdGhlIGRldmljZVxuIgorbXNnc3RyICIiCisiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcF96YcWZw616ZW7DrT5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgem3Em27DrSB2ZWxpa29zdCB6YcWZw616ZW7DrVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5NAorbXNnaWQgIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKK21zZ3N0ciAiIC1qLCAtLWFzc29jaWF0ZWQgPHNvdWJvcj4gICAgIHZ5cMOtxaFlIHbFoWVjaG5hIHphxZnDrXplbsOtIHNwb2plbsOhIHNlIDxzb3Vib3JlbT5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTUKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLW5vb3ZlcmxhcCAgICAgICAgICAgICAgIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0IGJldHdlZW4gZGV2aWNlc1xuIgorbXNnc3RyICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICBuYWpkZSB2b2xuw6kgemHFmcOtemVuw61cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDzEjcOtc2xvPiAgICAgICAgICB2wqBzb3Vib3J1IHphxI1uZSBuYSBwb3ppY2kgPMSNw61zbG8+XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAwCittc2dpZCAiICAgICAtLXNpemVsaW1pdCA8bnVtPiAgICAgICAgIGRldmljZSBpcyBsaW1pdGVkIHRvIDxudW0+IGJ5dGVzIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiAgICAgLS1zaXplbGltaXQgPHBvxI1ldD4gICAgICAgb21lesOtIHphxZnDrXplbsOtIG5hIDxwb8SNZXQ+IGJhanTFryBzb3Vib3J1XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAxCittc2dpZCAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICB2eXR2b8WZw60gbG9vcCB6YcWZw616ZW7DrSByb3pkxJtsZW7DqSBuYSBvZGTDrWx5XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAyCittc2dpZCAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgICAgIHNldCB1cCBhIHJlYWQtb25seSBsb29wIGRldmljZVxuIgorbXNnc3RyICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgbmFzdGF2w60gbG9vcCB6YcWZw616ZW7DrSBqZW4gcHJvIMSNdGVuw61cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDMKK21zZ2lkICIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAgb3BlbiBiYWNraW5nIGZpbGUgd2l0aCBPX0RJUkVDVFxuIgorbXNnc3RyICIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAgb3RldsWZZSBzb3Vib3IgcG9kIHphxZnDrXplbsOtbSBzwqBPX0RJUkVDVFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNAorbXNnaWQgIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSBhZnRlciBzZXR1cCAod2l0aCAtZilcbiIKK21zZ3N0ciAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHZ5cMOtxaFlIG7DoXpldiB6YcWZw616ZW7DrSBwbyBuYXN0YXZlbsOtIChzcG9sdSBzwqAtZilcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICB1cG92w61kYW7DvSByZcW+aW1cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgbGlzdCBpbmZvIGFib3V0IGFsbCBvciBzcGVjaWZpZWQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICB2eXDDrcWhZSDDumRhamUgb8KgdsWhZWNoIG5lYm8gemFkYW7DvWNoICh2w71jaG96w60pXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEwCittc2dpZCAiIC1PLCAtLW91dHB1dCA8Y29scz4gICAgICAgICAgIHNwZWNpZnkgY29sdW1ucyB0byBvdXRwdXQgZm9yIC0tbGlzdFxuIgorbXNnc3RyICIgLU8sIC0tb3V0cHV0IDxzbG91cGNlPiAgICAgICAgdXLEjXVqZSBzbG91cGNlIHZlIHbDvXN0dXB1IHDFmWVww61uYcSNZSAtLWxpc3RcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTEKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tbGlzdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgICAgIG5lem9icmF6dWplIHrDoWhsYXbDrSB2ZSB2w71waXN1IC0tbGlzdFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMgorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1c2UgcmF3IC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICBuZWZvcm3DoXRvdmFuw70gdsO9c3R1cCAtLWxpc3RcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTMKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgIGZvcm3DoXR1amUgdsO9c3R1cCBkbyBKU09OdVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOQorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgLS1saXN0IGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJEb3N0dXBuw6kgc2xvdXBjZSBwcm8gcMWZZXDDrW5hxI0gLS1saXN0OlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBpcyBzbWFsbGVyIHRoYW4gNTEyIGJ5dGVzOyB0aGUgbG9vcCBkZXZpY2UgbWF5IGJlIHVzZWxlc3Mgb3IgaW52aXNpYmxlIGZvciBzeXN0ZW0gdG9vbHMuIgorbXNnc3RyICIlczogUG96b3I6IHNvdWJvciBqZSBtZW7FocOtIG5lxb4gNTEyIGJhanTFrywgbG9vcCB6YcWZw616ZW7DrSBtb8W+bsOhIGJ1ZGUgbmVwb3XFvml0ZWxuw6kgbmVibyBuZXZpZGl0ZWxuw6kgcHJvIHN5c3TDqW1vdsOpIG7DoXN0cm9qZS4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGRvZXMgbm90IGZpdCBpbnRvIGEgNTEyLWJ5dGUgc2VjdG9yOyB0aGUgZW5kIG9mIHRoZSBmaWxlIHdpbGwgYmUgaWdub3JlZC4iCittc2dzdHIgIiVzOiBQb3pvcjogc291Ym9yIG5lbsOtIHphcm92bsOhbiBuYSA1MTJiYWp0b3bDqSBzZWt0b3J5LCBrb25lYyBzb3Vib3J1IGJ1ZGUgaWdub3JvdsOhbi4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDY0IHN5cy11dGlscy9sb3NldHVwLmM6NTE2IHN5cy11dGlscy9tb3VudC5jOjQ1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiJXMgbmVuw60gbHAgemHFmcOtemVuw61tIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgcmVhZC1vbmx5IGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgZW5jcnlwdGVkIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZS11c2UgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiB6YcWZw616ZW7DrSBsb29wIHNlIG5lcG9kYcWZaWxvIG5hc3Rhdml0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ5NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5zcGVjdCBsb29wIGRldmljZXMiCittc2dzdHIgIm5lcG9kYcWZaWxvIHNlIG5hc3Rhdml0IGxvb3AgemHFmcOtemVuw60iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNoZWNrIGZvciBjb25mbGljdGluZyBsb29wIGRldmljZXMiCittc2dzdHIgIiVzOiB6YcWZw616ZW7DrSBsb29wIHNlIG5lcG9kYcWZaWxvIG5hc3Rhdml0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUyOSBzeXMtdXRpbHMvbG9zZXR1cC5jOjgyNgorbXNnaWQgImNhbm5vdCBmaW5kIGFuIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAibmVsemUgbmFsw6l6dCBuZXBvdcW+aXTDqSBsb29wIHphxZnDrXplbsOtIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBiYWNraW5nIGZpbGUiCittc2dzdHIgIiVzOiBwb2RrbGFkb3bDvSBzb3Vib3Igc2UgbmVwb2RhxZlpbG8gcG91xb7DrXQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjMxIHN5cy11dGlscy9sb3NldHVwLmM6NjQxIHN5cy11dGlscy9sb3NldHVwLmM6NzUzCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBkZXZpY2UiCittc2dzdHIgIiVzOiB6YcWZw616ZW7DrSBuZWJ5bG8gbW/Fvm7DqSBwb3XFvsOtdCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NjQKK21zZ2lkICJubyBsb29wIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIsW+w6FkbsOpIGxvb3AgemHFmcOtemVuw60gbmVieWxvIHphZMOhbm8iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzcyCittc2dpZCAibm8gZmlsZSBzcGVjaWZpZWQiCittc2dzdHIgIm5lemFkw6FuIMW+w6FkbsO9IHNvdWJvciIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIG9wdGlvbnMgJXMgYXJlIGFsbG93ZWQgZHVyaW5nIGxvb3AgZGV2aWNlIHNldHVwIG9ubHkiCittc2dzdHIgInDFmWVww61uYcSNZSAlcyBqc291IGRvdm9sZW55IGplbiBwxZlpIG5hc3Rhdm92w6Fuw60gbG9vcCB6YcWZw616ZW7DrSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3ODQKK21zZ2lkICJ0aGUgb3B0aW9uIC0tb2Zmc2V0IGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAidsKgdG9tdG8ga29udGV4dHUgbmVuw60gcMWZZXDDrW5hxI0gLS1vZmZzZXQgZG92b2xlbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBjYXBhY2l0eSBmYWlsZWQiCittc2dzdHIgIiVzOiBuZXBvZGHFmWlsbyBzZSBuYXN0YXZpdCBrYXBhY2l0dSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBkaXJlY3QgaW8gZmFpbGVkIgorbXNnc3RyICIlczogbmVwb2RhxZlpbG8gc2UgbmFzdGF2aXQgcMWZw61tw6kgSU8iCisKKyMgdmlydHVhbGl6YXRpb24gdHlwZQorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTA4Cittc2dpZCAibm9uZSIKK21zZ3N0ciAixb7DoWRuw6EiCisKKyMgdmlydHVhbGl6YXRpb24gdHlwZQorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTA5Cittc2dpZCAicGFyYSIKK21zZ3N0ciAicGFyYXZpcnR1YWxpemFjZSIKKworIyB2aXJ0dWFsaXphdGlvbiB0eXBlCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMTAKK21zZ2lkICJmdWxsIgorbXNnc3RyICJwbG7DoSIKKworIyB2aXJ0dWFsaXphdGlvbiB0eXBlCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMTEKK21zZ2lkICJjb250YWluZXIiCittc2dzdHIgImtvbnRlam5lcm92w6EiCisKKyMgZGlzcGF0Y2hpbmcgbW9kZQorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTczCittc2dpZCAiaG9yaXpvbnRhbCIKK21zZ3N0ciAidm9kb3Jvdm7DvSIKKworIyBkaXNwYXRjaGluZyBtb2RlCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQKK21zZ2lkICJ2ZXJ0aWNhbCIKK21zZ3N0ciAic3Zpc2zDvSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ2Cittc2dpZCAibG9naWNhbCBDUFUgbnVtYmVyIgorbXNnc3RyICLEjcOtc2xvIGxvZ2lja8OpaG8gQ1BVIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDcKK21zZ2lkICJsb2dpY2FsIGNvcmUgbnVtYmVyIgorbXNnc3RyICLEjcOtc2xvIGxvZ2lja8OpaG8gasOhZHJhIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDgKK21zZ2lkICJsb2dpY2FsIHNvY2tldCBudW1iZXIiCittc2dzdHIgIsSNw61zbG8gbG9naWNrw6kgesOhc3V2a3kiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0OQorbXNnaWQgImxvZ2ljYWwgTlVNQSBub2RlIG51bWJlciIKK21zZ3N0ciAixI3DrXNsbyBsb2dpY2vDqSB1emx1IE5VTUEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MAorbXNnaWQgImxvZ2ljYWwgYm9vayBudW1iZXIiCittc2dzdHIgIsSNw61zbG8gbG9naWNrw6kga25paHkiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MQorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIGRyYXdlciBudW1iZXIiCittc2dzdHIgIsSNw61zbG8gbG9naWNrw6lobyBqw6FkcmEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MgorbXNnaWQgInNob3dzIGhvdyBjYWNoZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIENQVXMiCittc2dzdHIgInVrw6HFvmUgc2TDrWxlbsOtIGtlxaFlIG1lemkgQ1BVIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTMKK21zZ2lkICJDUFUgZGlzcGF0Y2hpbmcgbW9kZSBvbiB2aXJ0dWFsIGhhcmR3YXJlIgorbXNnc3RyICJyZcW+aW0gcm96aG9kb3bDoW7DrSBDUFUgbmEgdmlydHXDoWxuw61tIGhhcmR3YXJ1IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTQKK21zZ2lkICJwaHlzaWNhbCBhZGRyZXNzIG9mIGEgQ1BVIgorbXNnc3RyICJmeXppY2vDoSBhZHJlc2EgQ1BVIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTUKK21zZ2lkICJzaG93cyBpZiB0aGUgaHlwZXJ2aXNvciBoYXMgYWxsb2NhdGVkIHRoZSBDUFUiCittc2dzdHIgInVrw6HFvmUsIHpkYS1saSBoeXBlcnZpem9yIGFsb2tvdmFsIENQVSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU2Cittc2dpZCAic2hvd3MgaWYgTGludXggY3VycmVudGx5IG1ha2VzIHVzZSBvZiB0aGUgQ1BVIgorbXNnc3RyICJ1a8Ohxb5lLCB6ZGEtbGkgbnluw60gTGludXggbnV0w60gcG91xb7DrXZhdCB0b3RvIENQVSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU3Cittc2dpZCAic2hvd3MgdGhlIG1heGltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgInVrw6HFvmUgbWF4aW3DoWxuw60gZnJla3ZlbmNpIENQVSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU4Cittc2dpZCAic2hvd3MgdGhlIG1pbmltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgInVrw6HFvmUgbWluaW3DoWxuw60gZnJla3ZlbmNpIENQVSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NTUwCittc2dpZCAiZXJyb3I6IHVuYW1lIGZhaWxlZCIKK21zZ3N0ciAiY2h5YmE6IHZvbMOhbsOtIHVuYW1lIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjYzNAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGV0ZXJtaW5lIG51bWJlciBvZiBDUFVzOiAlcyIKK21zZ3N0ciAibmV6ZGHFmWlsbyBzZSB1csSNaXQgcG/EjWV0IENQVTogJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjg5MQorbXNnaWQgImVycm9yOiBjYW4gbm90IHNldCBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiY2h5YmE6IG9ic2x1aHUgc2lnbsOhbHUgbmVsemUgbmFzdGF2aXQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjg5NgorbXNnaWQgImVycm9yOiBjYW4gbm90IHJlc3RvcmUgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgImNoeWJhOiBvYnNsdWh1IHNpZ27DoWx1IG5lbHplIG9ibm92aXQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk1NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBmcm9tOiAlcyIKK21zZ3N0ciAic2VsaGFsbyDEjXRlbsOtIHo6ICVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDEwCittc2dpZCAiRmFpbGVkIHRvIGV4dHJhY3QgdGhlIG5vZGUgbnVtYmVyIgorbXNnc3RyICJaw61za8OhbsOtIMSNw61zbGEgdXpsdSBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTM3IHN5cy11dGlscy9sc2NwdS5jOjE1NDcKK21zZ2lkICJZIgorbXNnc3RyICJBIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTM3IHN5cy11dGlscy9sc2NwdS5jOjE1NDcKK21zZ2lkICJOIgorbXNnc3RyICJOIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlclxuIgorIiMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSURcbiIKKyIjIHN0YXJ0aW5nIGZyb20gemVyby5cbiIKK21zZ3N0ciAiIgorIiMgTsOhc2xlZHVqZSBzbmFkbm8gcm96ZWJyYXRlbG7DvSBmb3Jtw6F0LCBrdGVyw70gbHplIHBvc2xhdCBkbyBqaW7DvWNoXG4iCisiIyBwcm9ncmFtxa8uIEthxb5kw6EgcsWvem7DoSBwb2xvxb5rYSB2wqBrYcW+ZMOpbSBzbG91cGNpIG3DoSBqZWRpbmXEjW7DqSBJRCxcbiIKKyIjIGt0ZXLDqSBzZSBwb8SNw610w6Egb2QgbnVseS5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc4MQorbXNnaWQgIkFyY2hpdGVjdHVyZToiCittc2dzdHIgIkFyY2hpdGVrdHVyYToiCisKKyMgRklYTUU6IHZhbHVlIGFsaWdubWVudCBjb3VudHMgYnl0ZXMgaW5zdGVhZCBvZiBjb2x1bW5zCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzk1Cittc2dpZCAiQ1BVIG9wLW1vZGUocyk6IgorbXNnc3RyICJPcGVyYcSNbsOtIHJlxb5pbSh5KSBDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzk4IHN5cy11dGlscy9sc2NwdS5jOjE4MDAKK21zZ2lkICJCeXRlIE9yZGVyOiIKK21zZ3N0ciAiUG/FmWFkw60gYmFqdMWvOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwMgorbXNnaWQgIkNQVShzKToiCittc2dzdHIgIlBvxI1ldCBDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA1Cittc2dpZCAiT24tbGluZSBDUFUocykgbWFzazoiCittc2dzdHIgIk1hc2thIHphcG51dMO9Y2ggQ1BVOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwNgorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICJTZXpuYW0gemFwbnV0w71jaCBDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI1Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICJNYXNrYSB2eXBudXTDvWNoIENQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjYKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIlNlem5hbSB2eXBudXTDvWNoIENQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjIKK21zZ2lkICJUaHJlYWQocykgcGVyIGNvcmU6IgorbXNnc3RyICJWbMOha2VuIG5hIGrDoWRybzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjQKK21zZ2lkICJDb3JlKHMpIHBlciBzb2NrZXQ6IgorbXNnc3RyICJKYWRlciBuYSBwYXRpY2k6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODY3Cittc2dpZCAiU29ja2V0KHMpIHBlciBib29rOiIKK21zZ3N0ciAiUGF0aWMgbmEga25paHU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODcwCittc2dpZCAiQm9vayhzKSBwZXIgZHJhd2VyOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODcyCittc2dpZCAiRHJhd2VyKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODc0Cittc2dpZCAiQm9vayhzKToiCittc2dzdHIgIktuaWh5OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3NworbXNnaWQgIlNvY2tldChzKToiCittc2dzdHIgIlBhdGljOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MQorbXNnaWQgIk5VTUEgbm9kZShzKToiCittc2dzdHIgIlV6bHkgTlVNQToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODMKK21zZ2lkICJWZW5kb3IgSUQ6IgorbXNnc3RyICJJRCB2w71yb2JjZToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODUKKyMsIGZ1enp5Cittc2dpZCAiTWFjaGluZSB0eXBlOiIKK21zZ3N0ciAiVHlwIG9kZMOtbHU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg3Cittc2dpZCAiQ1BVIGZhbWlseToiCittc2dzdHIgIlJvZGluYSBDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg5Cittc2dpZCAiTW9kZWw6IgorbXNnc3RyICJNb2RlbDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTEKK21zZ2lkICJNb2RlbCBuYW1lOiIKK21zZ3N0ciAiTsOhemV2IG1vZGVsdToiCisKKyMgPz8/OiBFeGlzdHVqZSDEjWVza8O9IHDFmWVrbGFkPworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5MworbXNnaWQgIlN0ZXBwaW5nOiIKK21zZ3N0ciAiU3RlcHBpbmc6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk1Cittc2dpZCAiQ1BVIE1IejoiCittc2dzdHIgIkNQVSBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk3CisjLCBmdXp6eQorbXNnaWQgIkNQVSBkeW5hbWljIE1IejoiCittc2dzdHIgIkNQVSBtaW4uIE1IejoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTkKKyMsIGZ1enp5Cittc2dpZCAiQ1BVIHN0YXRpYyBNSHo6IgorbXNnc3RyICJDUFUgbWF4LiBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAxCittc2dpZCAiQ1BVIG1heCBNSHo6IgorbXNnc3RyICJDUFUgbWF4LiBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAzCittc2dpZCAiQ1BVIG1pbiBNSHo6IgorbXNnc3RyICJDUFUgbWluLiBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA1Cittc2dpZCAiQm9nb01JUFM6IgorbXNnc3RyICJCb2dvTUlQUzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDggc3lzLXV0aWxzL2xzY3B1LmM6MTkxMAorbXNnaWQgIlZpcnR1YWxpemF0aW9uOiIKK21zZ3N0ciAiVmlydHVhbGl6YWNlOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMworbXNnaWQgIkh5cGVydmlzb3I6IgorbXNnc3RyICJIeXBlcnZpem9yOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxNQorbXNnaWQgIkh5cGVydmlzb3IgdmVuZG9yOiIKK21zZ3N0ciAiVsO9cm9iY2UgaHlwZXJ2aXpvcnU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE2Cittc2dpZCAiVmlydHVhbGl6YXRpb24gdHlwZToiCittc2dzdHIgIkRydWggdmlydHVhbGl6YWNlOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxOQorbXNnaWQgIkRpc3BhdGNoaW5nIG1vZGU6IgorbXNnc3RyICJSZcW+aW0gcm96aG9kb3bDoW7DrToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MjUgc3lzLXV0aWxzL2xzY3B1LmM6MTkzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjYWNoZToiCittc2dzdHIgIiVzIGtlxaE6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTUEgbm9kZSVkIENQVShzKToiCittc2dzdHIgIkNQVSBOVU1BIHV6bHUgJWQ6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQ2Cittc2dpZCAiRmxhZ3M6IgorbXNnc3RyICJQxZnDrXpuYWt5OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0OQorbXNnaWQgIlBoeXNpY2FsIHNvY2tldHM6IgorbXNnc3RyICJGeXppY2vDqSBzb2NrZXR5OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk1MAorbXNnaWQgIlBoeXNpY2FsIGNoaXBzOiIKK21zZ3N0ciAiRnl6aWNrw6kgxI1pcHk6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTUxCittc2dpZCAiUGh5c2ljYWwgY29yZXMvY2hpcDoiCittc2dzdHIgIkZ5emlja8OhIGrDoWRyYS/EjWlwOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2MworbXNnaWQgIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIENQVSBhcmNoaXRlY3R1cmUuXG4iCittc2dzdHIgIlpvYnJhesOtIMO6ZGFqZSBvwqBhcmNoaXRla3R1xZllIENQVS5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2NgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBwcmludCBib3RoIG9ubGluZSBhbmQgb2ZmbGluZSBDUFVzIChkZWZhdWx0IGZvciAtZSlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHZ5cMOtxaFlIHphcG51dMOhIGnCoHZ5cG51dMOhIENQVSAodsO9Y2hvesOtIHBybyAtZSlcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2NworbXNnaWQgIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBwcmludCBvbmxpbmUgQ1BVcyBvbmx5IChkZWZhdWx0IGZvciAtcClcbiIKK21zZ3N0ciAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIHZ5cMOtxaFlIGplbiB6YXBudXTDoSBDUFVzICh2w71jaG96w60gcHJvIC1wKVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY4Cittc2dpZCAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iCittc2dzdHIgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICB2eXDDrcWhZSBqZW4gdnlwbnV0w6EgQ1BVXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjkKK21zZ2lkICIgLWUsIC0tZXh0ZW5kZWRbPTxsaXN0Pl0gcHJpbnQgb3V0IGFuIGV4dGVuZGVkIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tZXh0ZW5kZWRbPTxzZXpuYW0+XSAgdsO9cGlzIHbCoHJvesWhw63FmWVuw6ltIMSNaXRlbG7DqW0gZm9ybcOhdHVcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MAorbXNnaWQgIiAtcCwgLS1wYXJzZVs9PGxpc3Q+XSAgICBwcmludCBvdXQgYSBwYXJzYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1wLCAtLXBhcnNlWz08c2V6bmFtPl0gIHbDvXBpcyB2wqByb3plYnJhdGVsbsOpbSBmb3Jtw6F0dVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcxCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHVzZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iCittc2dzdHIgIiAtcywgLS1zeXNyb290IDxhZHJlc8OhxZk+ICBqYWtvIGtvxZllbiBzeXN0w6ltdSBwb3XFvmlqZSA8YWRyZXPDocWZPlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcyCittc2dpZCAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHByaW50IGhleGFkZWNpbWFsIG1hc2tzIHJhdGhlciB0aGFuIGxpc3RzIG9mIENQVXNcbiIKK21zZ3N0ciAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHZ5cMOtxaFlIMWhZXN0bsOhY3Rrb3bDqSBtYXNreSBuYW3DrXN0byBzZXpuYW3FryBDUFVcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MworIywgZnV6enkKK21zZ2lkICIgLXksIC0tcGh5c2ljYWwgICAgICAgICAgcHJpbnQgcGh5c2ljYWwgaW5zdGVhZCBvZiBsb2dpY2FsIElEc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgdnlww63FoWUgdsWhZWNobmEgemHFmcOtemVuw61cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3B0aW9ucyAtLWFsbCwgLS1vbmxpbmUgYW5kIC0tb2ZmbGluZSBtYXkgb25seSBiZSB1c2VkIHdpdGggb3B0aW9ucyAtLWV4dGVuZGVkIG9yIC0tcGFyc2UuXG4iCittc2dzdHIgIiIKKyIlczogcMWZZXDDrW5hxI1lIC0tYWxsLCAtLW9ubGluZSBhIC0tb2ZmbGluZSBsemUgcG91xb7DrXQgamVuXG4iCisic8KgcMWZZXDDrW5hxI1pIC0tZXh0ZW5kZWQgbmVibyAtLXBhcnNlLlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNDkKK21zZ2lkICJSZXNvdXJjZSBrZXkiCittc2dzdHIgIk7DoXpldiB6ZHJvamUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorbXNnaWQgIktleSIKK21zZ3N0ciAiS2zDrcSNIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJSZXNvdXJjZSBJRCIKK21zZ3N0ciAiSUQgemRyb2plIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJJRCIKK21zZ3N0ciAiSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyJ3MgdXNlcm5hbWUgb3IgVUlEIgorbXNnc3RyICJKbcOpbm8gbmVibyBVSUQgdmxhc3Ruw61rYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCittc2dpZCAiT3duZXIiCittc2dzdHIgIlZsYXN0bsOtayIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUyCittc2dpZCAiUGVybWlzc2lvbnMiCittc2dzdHIgIlByw6F2YSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUzCittc2dpZCAiQ3JlYXRvciBVSUQiCittc2dzdHIgIlVJRCBwxa92b2RjZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU0Cittc2dpZCAiQ3JlYXRvciB1c2VyIgorbXNnc3RyICJKbcOpbm8gcMWvdm9kY2UiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NQorbXNnaWQgIkNyZWF0b3IgR0lEIgorbXNnc3RyICJHSUQgcMWvdm9kY2UiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NgorbXNnaWQgIkNyZWF0b3IgZ3JvdXAiCittc2dzdHIgIlNrdXBpbmEgcMWvdm9kY2UiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworbXNnaWQgIlVzZXIgSUQiCittc2dzdHIgIklEIHXFvml2YXRlbGUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworbXNnaWQgIlVJRCIKK21zZ3N0ciAiVUlEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTgKK21zZ2lkICJVc2VyIG5hbWUiCittc2dzdHIgIlXFvml2YXRlbHNrw6kgam3DqW5vIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTkKK21zZ2lkICJHcm91cCBJRCIKK21zZ3N0ciAiSUQgc2t1cGlueSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR0lEIgorbXNnc3RyICJHSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MAorbXNnaWQgIkdyb3VwIG5hbWUiCittc2dzdHIgIk7DoXpldiBza3VwaW55IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIKK21zZ3N0ciAixIxhcyBwb3NsZWRuw60gem3Em255IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKK21zZ2lkICJMYXN0IGNoYW5nZSIKK21zZ3N0ciAiUG9zbGVkbsOtIHptxJtuYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY0Cittc2dpZCAiQnl0ZXMgdXNlZCIKK21zZ3N0ciAiUG91xb5pdG8gYmFqdMWvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZXMiCittc2dzdHIgIlBvxI1ldCB6cHLDoXYiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorbXNnaWQgIk1lc3NhZ2VzIgorbXNnc3RyICJacHLDoXZ5IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHNlbnQiCittc2dzdHIgIsSMYXMgb2Rlc2zDoW7DrSBwb3NsZWRuw60genByw6F2eSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiTXNnIHNlbnQiCittc2dzdHIgIlpwcsOhdiBvZGVzbMOhbm8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgcmVjZWl2ZWQiCittc2dzdHIgIsSMYXMgcMWZaWpldMOtIHBvc2xlZG7DrSB6cHLDoXZ5IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJNc2cgcmVjZWl2ZWQiCittc2dzdHIgIlpwcsOhdiBwxZlpamF0byIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyBzZW5kZXIiCittc2dzdHIgIlBJRCBvZGVzw61sYXRlbGUgcG9zbGVkbsOtIHpwcsOhdnkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIk1zZyBzZW5kZXIiCittc2dzdHIgIk9kZXPDrWxhdGVsIHpwcsOhdnkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgcmVjZWl2ZXIiCittc2dzdHIgIlBJRCBwxZnDrWplbWNlIHBvc2xlZG7DrSB6cHLDoXZ5IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJNc2cgcmVjZWl2ZXIiCittc2dzdHIgIlDFmcOtamVtY2UgenByw6F2eSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTcyCittc2dpZCAiU2VnbWVudCBzaXplIgorbXNnc3RyICJWZWxpa29zdCBibG9rdSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCittc2dpZCAiTnVtYmVyIG9mIGF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAiUG/EjWV0IHDFmWlwb2plbsO9Y2ggcHJvY2Vzxa8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MworbXNnaWQgIkF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAiUMWZaXBvamVuw6kgcHJvY2VzeSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc0Cittc2dpZCAiU3RhdHVzIgorbXNnc3RyICJTdGF2IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzUKK21zZ2lkICJBdHRhY2ggdGltZSIKK21zZ3N0ciAixIxhcyBwxZlpcG9qZW7DrSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc2Cittc2dpZCAiRGV0YWNoIHRpbWUiCittc2dzdHIgIsSMYXMgb2Rwb2plbsOtIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAiUMWZw61rYXpvdsO9IMWZw6FkZWsgcMWvdm9kY2UiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworbXNnaWQgIkNyZWF0b3IgY29tbWFuZCIKK21zZ3N0ciAiUMWZw61rYXogcMWvdm9kY2UiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIlBJRCBvZiB0aGUgY3JlYXRvciIKK21zZ3N0ciAiUElE4oCvcMWvdm9kY2UiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIkNyZWF0b3IgUElEIgorbXNnc3RyICJQSUQgcMWvdm9kY2UiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OQorbXNnaWQgIlBJRCBvZiBsYXN0IHVzZXIiCittc2dzdHIgIlBJRCBwb3NsZWRuw61obyB1xb5pdmF0ZWxlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJMYXN0IHVzZXIgUElEIgorbXNnc3RyICJQSUQgcG9zbGVkbsOtaG8gdcW+aXZhdGVsZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgyCittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgIlBvxI1ldCBzZW1hZm9yxa8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIlNlbWFwaG9yZXMiCittc2dzdHIgIlNlbWFmb3J5IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODMKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAixIxhcyBwb3NsZWRuw60gb3BlcmFjZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCittc2dpZCAiTGFzdCBvcGVyYXRpb24iCittc2dzdHIgIlBvc2xlZG7DrSBvcGVyYWNlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKK21zZ2lkICJSZXNvdXJjZSBuYW1lIgorbXNnc3RyICJOw6F6ZXYgemRyb2plIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKK21zZ2lkICJSZXNvdXJjZSIKK21zZ3N0ciAiWmRyb2oiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworbXNnaWQgIlJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJQb3BpcyB6ZHJvamUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworbXNnaWQgIkRlc2NyaXB0aW9uIgorbXNnc3RyICJQb3BpcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiQ3VycmVudGx5IHVzZWQiCittc2dzdHIgIlByw6F2xJsgdnl1xb5pdG8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIlVzZWQiCittc2dzdHIgIlZ5dcW+aXRvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKK21zZ2lkICJDdXJyZW50bHkgdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIlZ5dcW+aXTDrSB2wqBwcm9jZW50ZWNoIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKK21zZ2lkICJVc2UiCittc2dzdHIgIlXFvml0byIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiU3lzdGVtLXdpZGUgbGltaXQiCittc2dzdHIgIk9tZXplbsOtIHN5c3TDqW11IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJMaW1pdCIKK21zZ3N0ciAiT21lemVuw60iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb2x1bW4gJXMgZG9lcyBub3QgYXBwbHkgdG8gdGhlIHNwZWNpZmllZCBJUEMiCittc2dzdHIgInNsb3VwZWMgJXMgc2UgbmV2enRhaHVqZSBuYSB1dmVkZW7DqSBJUEMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4NworbXNnaWQgIiAtZywgLS1nbG9iYWwgICAgICBpbmZvIGFib3V0IHN5c3RlbS13aWRlIHVzYWdlIChtYXkgYmUgdXNlZCB3aXRoIC1tLCAtcSBhbmQgLXMpXG4iCittc2dzdHIgIiAtZywgLS1nbG9iYWwgICAgICDDumRhamUgb8Kgdnl1xb5pdMOtIHN5c3TDqW11IChsemUgcG91xb7DrXQgc8KgLW0sIC1xIGEgLXMpXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OAorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICAgICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIgLWksIC0taWQgPElEPiAgICAgem9icmF6w60gcG9kcm9ibm9zdGkgbyBwcm9zdMWZZWRrdSB1csSNZW7DqW0gZGxlIDxJRD5cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk0Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICB2ZWxpa29zdGkgdnlwaXN1amUgdsKgYmFqdGVjaCBuYW3DrXN0byBwb2RvYsSbIHZob2Ruw6lcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHBybyDEjWxvdsSba2FcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk1Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgICAgICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiAtYywgLS1jcmVhdG9yICAgICAgICAgICAgem9icmF6w60gdHbFr3JjZSBhIHZsYXN0bsOta2FcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk3Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICB1c2UgdGhlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIGZvcm3DoXR1amUgdsO9c3R1cCBkbyBKU09OdVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgIGZvcmNlIGxpc3Qgb3V0cHV0IGZvcm1hdCAoZm9yIGV4YW1wbGUgd2l0aCAtLWlkKVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgIHZ5bnV0w60gdsO9c3R1cCBqYWtvIHNlem5hbSAobmFwxZnDrWtsYWQgc8KgLS1pZClcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAxCittc2dpZCAiIC1QLCAtLW51bWVyaWMtcGVybXMgICAgICBwcmludCBudW1lcmljIHBlcm1pc3Npb25zIChQRVJNUyBjb2x1bW4pXG4iCittc2dzdHIgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgdnlwaXN1amUgxI3DrXNlbG7DoSBwcsOhdmEgKHNsb3VwZWMgUEVSTVMpXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMworbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICAgICAgICAgem9icmF6w60gxI1hc3kgcMWZaXBvamVuw60sIG9kcG9qZW7DrSBhIHptxJtueVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkdlbmVyaWMgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9iZWNuw6kgc2x1cGNlOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZC1tZW1vcnkgY29sdW1ucyAoLS1zaG1lbXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiU2xvdXBjZSBzZMOtbGVuw6kgcGFtxJt0aSAoLS1zaG1lbXMpOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UtcXVldWUgY29sdW1ucyAoLS1xdWV1ZXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiU2x1cGNlIGZyb250eSB6cHLDoXYgKC0tcXVldWVzKTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgY29sdW1ucyAoLS1zZW1hcGhvcmVzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNsdXBjZSBzZW1hZm9yxa8gKC0tc2VtYXBob3Jlcyk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU3VtbWFyeSBjb2x1bW5zICgtLWdsb2JhbCk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJTbG91cGNlIHNvdWhybnUgKC0tZ2xvYmFsKTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJFbGVtZW50czpcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlBydmt5OlxuIgorIlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDUKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlIGlkZW50aWZpZXJzIgorbXNnc3RyICJQb8SNZXQgaWRlbnRpZmlrw6F0b3LFryBzZW1hZm9yxa8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwNgorbXNnaWQgIlRvdGFsIG51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJDZWxrb3bDvSBwb8SNZXQgc2VtYWZvcsWvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDcKK21zZ2lkICJNYXggc2VtYXBob3JlcyBwZXIgc2VtYXBob3JlIHNldC4iCittc2dzdHIgIk1heGltdW0gc2VtYWZvcsWvIG5hIG1ub8W+aW51IHNlbWFmb3LFry4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwOAorbXNnaWQgIk1heCBudW1iZXIgb2Ygb3BlcmF0aW9ucyBwZXIgc2Vtb3AoMikiCittc2dzdHIgIk1heGltw6FsbsOtIHBvxI1ldCBvcGVyYWPDrSBuYSBzZW1vcCgyKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA5Cittc2dpZCAiU2VtYXBob3JlIG1heCB2YWx1ZSIKK21zZ3N0ciAiTWF4aW3DoWxuw60gaG9kbm90YSBzZW1hZm9ydSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODYzCittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICJQb8SNZXQgZnJvbnQgenByw6F2IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjQKK21zZ2lkICJNYXggc2l6ZSBvZiBtZXNzYWdlIChieXRlcykiCittc2dzdHIgIk1heGltw6FsbsOtIHZlbGlrb3N0IHpwcsOhdnkgKGJhanR5KSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODY1Cittc2dpZCAiRGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSAoYnl0ZXMpIgorbXNnc3RyICJWw71jaG96w60gbWF4aW3DoWxuw60gdmVsaWtvc3QgZnJvbnR5IChiYWp0eSkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk3OCBzeXMtdXRpbHMvbHNpcGMuYzo5OTcKK21zZ2lkICJodWdldGxiIgorbXNnc3RyICJodWdldGxiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5Nzkgc3lzLXV0aWxzL2xzaXBjLmM6MTAwNAorbXNnaWQgIm5vcmVzZXJ2ZSIKK21zZ3N0ciAibmVyZXplcnZvdsOhbm8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjEKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIgorbXNnc3RyICJTZWdtZW50eSBzZMOtbGVuw6kgcGFtxJt0aSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MgorbXNnaWQgIlNoYXJlZCBtZW1vcnkgcGFnZXMiCittc2dzdHIgIlN0csOhbmt5IHNkw61sZW7DqSBwYW3Em3RpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDYzCittc2dpZCAiTWF4IHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIk1heGltw6FsbsOtIHZlbGlrb3N0IHNlZ21lbnR1IHNkw61sZW7DqSBwYW3Em3RpIChiYWp0eSkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjQKK21zZ2lkICJNaW4gc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAiTWluaW3DoWxuw60gdmVsaWtvc3Qgc2VnbWVudHUgc2TDrWxlbsOpIHBhbcSbdGkgKGJhanR5KSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTEzNQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJUEMgaWRlbnRpZmllciIKK21zZ3N0ciAibmV6ZGHFmWlsbyByb3plYnJhdCBpZGVudGlmaWvDoXRvciBJUEMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEyMjkKK21zZ2lkICItLWdsb2JhbCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWNyZWF0b3IsIC0taWQgYW5kIC0tdGltZSIKK21zZ3N0ciAiLS1nbG9iYWwgc2UgdnrDoWplbW7EmyB2eWx1xI11amUgc8KgLS1jcmVhdG9yLCAtLWlkIGEgLS10aW1lIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjgzCittc2dpZCAibmFtZXNwYWNlIGlkZW50aWZpZXIgKGlub2RlIG51bWJlcikiCittc2dzdHIgImlkZW50aWZpa8OhdG9yIGptZW5uw6lobyBwcm9zdG9ydSAoxI3DrXNsbyBpLXV6bHUpIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg0Cittc2dpZCAia2luZCBvZiBuYW1lc3BhY2UiCittc2dzdHIgImRydWggam1lbm7DqWhvIHByb3N0b3J1IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg1Cittc2dpZCAicGF0aCB0byB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJjZXN0YSBrZSBqbWVubsOpbXUgcHJvc3RvcnUiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODYKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIGluIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgInBvxI1ldCBwcm9jZXPFryB2ZSBqbWVubsOpbSBwcm9zdG9ydSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NworbXNnaWQgImxvd2VzdCBQSUQgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAibmVqbmnFvsWhw60gUElEIHZlIGptZW5uw6ltIHByb3N0b3J1IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg4Cittc2dpZCAiUFBJRCBvZiB0aGUgUElEIgorbXNnc3RyICJQUElE4oCvcHJvY2VzdSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OQorbXNnaWQgImNvbW1hbmQgbGluZSBvZiB0aGUgUElEIgorbXNnc3RyICJwxZnDrWthem92w6EgxZnDoWRrYSBwcm9jZXN1IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkwCittc2dpZCAiVUlEIG9mIHRoZSBQSUQiCittc2dzdHIgIlVJROKAr3Byb2Nlc3UiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTEKK21zZ2lkICJ1c2VybmFtZSBvZiB0aGUgUElEIgorbXNnc3RyICJqbcOpbm8gdcW+aXZhdGVsZSBwcm9jZXN1IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYxMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bmFtZXNwYWNlPl1cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIFs8am1lbm7DvSBwcm9zdG9yPl1cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo2MTYKK21zZ2lkICJMaXN0IHN5c3RlbSBuYW1lc3BhY2VzLlxuIgorbXNnc3RyICJWeXDDrcWhZSBqbWVubsOpIHByb3N0b3J5IG5hIHN5c3TDqW11LlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYyMworbXNnaWQgIiAtcCwgLS10YXNrIDxwaWQ+ICAgICAgIHByaW50IHByb2Nlc3MgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgLXAsIC0tdGFzayA8UElEPiAgICAgICB2eXDDrcWhZSBqbWVubsO9IHByb3N0b3IgcHJvY2VzdVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYyNgorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZSA8bmFtZT4gICAgICBuYW1lc3BhY2UgdHlwZSAobW50LCBuZXQsIGlwYywgdXNlciwgcGlkLCB1dHMsIGNncm91cClcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGUgPG7DoXpldj4gICAgIGRydWggam1lbm7DqWhvIHByb3N0b3J1IChtbnQsIG5ldCwgaXBjLCB1c2VyLCBwaWQsIHV0cylcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBuYW1lc3BhY2UgdHlwZTogJXMiCittc2dzdHIgImRydWggam1lbm7DqWhvIHByb3N0b3J1IG5lbsOtIHpuw6FtOiAlcyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MzUKK21zZ2lkICItLXRhc2sgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPG5hbWVzcGFjZT4iCittc2dzdHIgInDFmWVww61uYcSNIC0tdGFzayBhIDxqbWVubsO9IHByb3N0b3I+IHNlIHZ6w6FqZW1uxJsgdnlsdcSNdWrDrSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MzYKK21zZ2lkICJpbnZhbGlkIG5hbWVzcGFjZSBhcmd1bWVudCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IHNlIGptZW5uw71tIHByb3N0b3JlbSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGZvdW5kIG5hbWVzcGFjZTogJWp1IgorbXNnc3RyICJqbWVubsO9IHByb3N0b3IgbmVuYWxlemVuOiAlanUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY2IHN5cy11dGlscy91bW91bnQuYzoxMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAicMWZZXDDrW5hxI0g4oCeLS0lc+KAnCBtxa/FvmUgcG91xb7DrXQgcG91emUgc3VwZXJ1xb5pdmF0ZWwgKGVmZWt0aXZuw60gVUlEIGplICV1KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njkgc3lzLXV0aWxzL3Vtb3VudC5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICJ0b3RvIG3Fr8W+ZSBwcm92w6lzdCBwb3V6ZSBzdXBlcnXFvml2YXRlbCAoZWZla3Rpdm7DrSBVSUQgamUgJXUpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MyBzeXMtdXRpbHMvdW1vdW50LmM6MTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiIKK21zZ3N0ciAicG91emUgc3VwZXJ1xb5pdmF0ZWwgbcWvxb5lIHBvdcW+w610IHDFmWVww61uYcSNIOKAni0tJXPigJwiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0IHN5cy11dGlscy91bW91bnQuYzoxMjUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCittc2dzdHIgInRvdG8gbcWvxb5lIHByb3bDqXN0IHBvdXplIHN1cGVydcW+aXZhdGVsIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4NSBzeXMtdXRpbHMvdW1vdW50LmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAobGlibW91bnQgJXMiCittc2dzdHIgIiVzIHrCoCVzIChsaWJtb3VudCAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTMwCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbXRhYiIKK21zZ3N0ciAixI10ZW7DrSBtdGFiIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MiBzeXMtdXRpbHMvdW1vdW50LmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBpZ25vcmVkXG4iCittc2dzdHIgIiUtMjVzOiBpZ25vcnVqZSBzZVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGFscmVhZHkgbW91bnRlZFxuIgorbXNnc3RyICIlLTI1czogamnFviBwxZlpcG9qZW5vXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI0OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW92ZWQgdG8gJXMuXG4iCittc2dzdHIgIiVzOiAlcyBwxZllc3VudXRvIGRvICVzLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGJvdW5kIG9uICVzLlxuIgorbXNnc3RyICIlczogJXMgcMWZaXBvamVubyB6cMWvc29iZW0gYmluZCBkbyAlcy5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjU0IHN5cy11dGlscy9tb3VudC5jOjI1OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW91bnRlZCBvbiAlcy5cbiIKK21zZ3N0ciAiJXM6ICVzIHDFmWlwb2plbm8gZG8gJXMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgcHJvcGFnYXRpb24gZmxhZ3MgY2hhbmdlZC5cbiIKK21zZ3N0ciAiJXM6IFDFmcOtem5ha3kgcHJvcGFnYWNlICVzIHptxJtuxJtueS5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJtb3VudDogJXMgZG9lcyBub3QgY29udGFpbiBTRUxpbnV4IGxhYmVscy5cbiIKKyIgICAgICAgWW91IGp1c3QgbW91bnRlZCBhbiBmaWxlIHN5c3RlbSB0aGF0IHN1cHBvcnRzIGxhYmVscyB3aGljaCBkb2VzIG5vdFxuIgorIiAgICAgICBjb250YWluIGxhYmVscywgb250byBhbiBTRUxpbnV4IGJveC4gSXQgaXMgbGlrZWx5IHRoYXQgY29uZmluZWRcbiIKKyIgICAgICAgYXBwbGljYXRpb25zIHdpbGwgZ2VuZXJhdGUgQVZDIG1lc3NhZ2VzIGFuZCBub3QgYmUgYWxsb3dlZCBhY2Nlc3MgdG9cbiIKKyIgICAgICAgdGhpcyBmaWxlIHN5c3RlbS4gIEZvciBtb3JlIGRldGFpbHMgc2VlIHJlc3RvcmVjb24oOCkgYW5kIG1vdW50KDgpLlxuIgorbXNnc3RyICIiCisibW91bnQ6ICVzIG5lb2JzYWh1amUgem5hxI1reSBTRUxpbnV4dS5cbiIKKyIgICAgICAgUHLDoXbEmyBqc3RlIHDFmWlwb2ppbGkgc291Ym9yb3bDvSBzeXN0w6ltLCBrdGVyw70gem5hxI1reSBwb2Rwb3J1amUsIGFsZVxuIgorIiAgICAgICBuZW9ic2FodWplIGFuaSBqZWRudSwgZG8gc3Ryb2plIHPCoHBvZHBvcm91IFNFTGludXh1LiBKZSBwcmF2ZMSbcG9kb2Juw6ksXG4iCisiICAgICAgIMW+ZSBvbWV6ZW7DqSBhcGxpa2FjZSBidWRvdSBnZW5lcm92YXQgenByw6F2eSBBVkMgYSBuZWJ1ZGUgamltIGRvdm9sZW5vXG4iCisiICAgICAgIHDFmWlzdG91cGl0IG5hIHRlbnRvIHN5c3TDqW0gc291Ym9yxa8uIERhbMWhw60gcmFkeSBsemUgbmFsw6l6dFxuIgorIiAgICAgICB2wqByZXN0b3JlY29uKDgpIGEgbW91bnQoOCkuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3OAorbXNnaWQgIldBUk5JTkc6IGZhaWxlZCB0byBhcHBseSBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiUE9aT1I6IHDFmcOtem5ha3kgcHJvcGFnYWNlIHNlIG5lcG9kYcWZaWxvIG5hc3Rhdml0IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKK21zZ3N0ciAicG91emUgc3VwZXJ1xb5pdmF0ZWwgbcWvxb5lIHDFmWlwb2ppdCAlcyBkbyAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCIKK21zZ3N0ciAiJXMgamUgamnFviBwxZlpcG9qZW5vIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHVzZWQgYXMgcmVhZCBvbmx5IGxvb3AsIG1vdW50aW5nIHJlYWQtb25seSIKK21zZ3N0ciAiJXMgamUgY2hyw6FuxJtubyBwcm90aSB6w6FwaXN1LCBwxZlpcG9qdWppIHBvdXplIHBybyDEjXRlbsOtIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCAlcyBpbiAlcyIKK21zZ3N0ciAiJXMgbmVsemUgdsKgJXMgbmFsw6l6dCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDIzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnRwb2ludCAlcyBpbiAlcyIKK21zZ3N0ciAiYm9kIHDFmWlwb2plbsOtICVzIG5lbHplIHbCoCVzIG5hbMOpenQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50IHNvdXJjZSAlcyBpbiAlcyIKK21zZ3N0ciAiemRyb2ogcMWZaXBvamVuw60gJXMgbmVsemUgdsKgJXMgbmFsw6l6dCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlczogbW9yZSBmaWxlc3lzdGVtcyBkZXRlY3RlZC4gVGhpcyBzaG91bGQgbm90IGhhcHBlbixcbiIKKyIgICAgICAgdXNlIC10IDx0eXBlPiB0byBleHBsaWNpdGx5IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSBvclxuIgorIiAgICAgICB1c2Ugd2lwZWZzKDgpIHRvIGNsZWFuIHVwIHRoZSBkZXZpY2UuIgorbXNnc3RyICIiCisiJXM6IG5hbGV6ZW5vIHbDrWNlIHNvdWJvcm92w71jaCBzeXN0w6ltxa8uIFRvIGJ5IHNlIG5lbcSbbG8gc3TDoXQuXG4iCisiICAgICAgIEV4cGxpY2l0bsSbIHV2ZcSPdGUgZHJ1aCBzb3Vib3JvdsOpaG8gc3lzdMOpbXUgcG9tb2PDrSDigJ4tdCBEUlVI4oCcIG5lYm9cbiIKKyIgICAgICAgdnnEjWlzdMSbdGUgemHFmcOtemVuw60gcG9tb2PDrSB3aXBlZnMoOCkuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzYKK21zZ2lkICJJIGNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGZpbGVzeXN0ZW0gdHlwZSwgYW5kIG5vbmUgd2FzIHNwZWNpZmllZCIKK21zZ3N0ciAidHlwIHN5c3TDqW11IHNvdWJvcsWvIG5lYnlsIHphZMOhbiBhIGFuaSBqZWogbmVsemUgemppc3RpdCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDM5Cittc2dpZCAieW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJtdXPDrXRlIHphZGF0IHR5cCBzeXN0w6ltdSBzb3Vib3LFryIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMiCittc2dzdHIgIiVzIG5lbHplIG5hbMOpenQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0NworbXNnaWQgIm1vdW50IHNvdXJjZSBub3QgZGVmaW5lZCIKK21zZ3N0ciAiemRyb2ogcMWZaXBvamVuw60gbmVuw60gZGVmaW5vdsOhbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDUxIHN5cy11dGlscy9tb3VudC5jOjQ1MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zIgorbXNnc3RyICJuZXpkYcWZaWxvIHNlIHJvemVicmF0IHZvbGJ5IHDFmWlwb2plbsOtIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IHphxZnDrXplbsOtIGxvb3Agc2UgbmVwb2RhxZlpbG8gbmFzdGF2aXQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnQgZmFpbGVkIgorbXNnc3RyICIlczogcMWZaXBvamVuw60gc2UgbmV6ZGHFmWlsbyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlc3lzdGVtIG1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCittc2dzdHIgIiVzOiBzb3Vib3JvdsO9IHN5c3TDqW0gYnlsIHDFmWlwb2plbiwgYWxlIHDFmcOta2F6IG1vdW50KDgpIHNlbGhhbCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDg5IHN5cy11dGlscy9tb3VudC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgInDFmcOtcG9qbsO9IGJvZCAlcyBuZW7DrSBhZHJlc8OhxZllbSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDkzCittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorbXNnc3RyICJtb3VudCBtxa/FvmUgcG91xb7DrXZhdCBwb3V6ZSBzdXBlcnXFvml2YXRlbCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGJ1c3kiCittc2dzdHIgIiVzIHNlIHBvdcW+w612w6EiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb3IgJXMgYnVzeSIKK21zZ3N0ciAiJXMgamUgamnFviBwxZlpcG9qZW5vLCDEjWkgamUgJXMgamnFviBwb3XFvsOtdsOhbm8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUxNworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzXG4iCittc2dzdHIgIiAgICAgICAlcyBqZSBqacW+IHDFmWlwb2plbm8gZG8gJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50ICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJwxZnDrXBvam7DvSBib2QgJXMgbmVleGlzdHVqZSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50ICVzIGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIgorbXNnc3RyICJwxZnDrXBvam7DvSBib2QgJXMgamUgc3ltYm9saWNrw71tIG9ka2F6ZW0sIGplbsW+IG5pa2FtIG5ldWthenVqZSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJ6dmzDocWhdG7DrSB6YcWZw616ZW7DrSAlcyBuZWV4aXN0dWplIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MzYgc3lzLXV0aWxzL21vdW50LmM6NTM4IHN5cy11dGlscy9tb3VudC5jOjU0MAorIzogc3lzLXV0aWxzL21vdW50LmM6NTU1Cittc2dpZCAibW91bnQoMikgZmFpbGVkIgorbXNnc3RyICJ2b2zDoW7DrSBtb3VudCgyKSBuZXVzcMSbbG8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU1MQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpIgorbXNnc3RyICJ6dmzDocWhdG7DrSB6YcWZw616ZW7DrSAlcyBuZWV4aXN0dWplIChuw6F6ZXYgY2VzdHkgbmV6YcSNw61uw6EgYWRyZXPDocWZZW0pIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IG1vdW50ZWQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAiJXMgbmVuw60gcMWZaXBvamVubyDEjWkgY2h5Ym7DvSBwxZllcMOtbmHEjSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudHBvaW50IG9yIGJhZCBvcHRpb24iCittc2dzdHIgIiVzIG5lbsOtIGJvZCBwxZlpcG9qZW7DrSDEjWkgY2h5Ym7DvSBwxZllcMOtbmHEjSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTY1Cittc2dpZCAiIgorImJhZCBvcHRpb24uIE5vdGUgdGhhdCBtb3ZpbmcgYSBtb3VudCByZXNpZGluZyB1bmRlciBhIHNoYXJlZFxuIgorIiAgICAgICBtb3VudCBpcyB1bnN1cHBvcnRlZC4iCittc2dzdHIgIiIKKyLFoXBhdG7DvSBwxZllcMOtbmHEjS4gVmV6bcSbdGUgbmEgdsSbZG9tw60sIMW+ZSBwxZllc3VuIHDFmcOtcG9qbsOpaG8gYm9kdSB6cG9kXG4iCisic2TDrWxlbsOpaG8gYm9kdSBuZW7DrSBwb2Rwb3JvdsOhbm8uIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIndyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLFxuIgorIiAgICAgICBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKK21zZ3N0ciAiIgorImNoeWJuw70gdHlwIHNvdWJvcm92w6lobyBzeXN0w6ltdSwgY2h5Ym7DvSBwxZllcMOtbmHEjSwgY2h5Ym7DvSBzdXBlcmJsb2sgbmFcbiIKKyIgICAgICAgJXMsIGNoeWLDrSBrw7Nkb3bDoSBzdHLDoW5rYSBuZWJvIHBvbW9jbsO9IHByb2dyYW0gbmVibyBqaW7DoSBjaHliYSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgICAgKGZvciBzZXZlcmFsIGZpbGVzeXN0ZW1zIChlLmcuIG5mcywgY2lmcykgeW91IG1pZ2h0XG4iCisiICAgICAgIG5lZWQgYSAvc2Jpbi9tb3VudC48dHlwZT4gaGVscGVyIHByb2dyYW0pXG4iCittc2dzdHIgIiIKKyIgICAgICAgKHBybyDFmWFkdSBzb3Vib3JvdsO9Y2ggc3lzdMOpbcWvIChuYXDFmS4gbmZzLCBjaWZzKSBqZVxuIgorIiAgICAgICB0xZllYmEgcG9tb2Nuw70gcHJvZ3JhbSAvc2Jpbi9tb3VudC48dHlwPilcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIgICAgICAgSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBpcyBmb3VuZCBpbiBzeXNsb2cgLSB0cnlcbiIKKyIgICAgICAgZG1lc2cgfCB0YWlsIG9yIHNvLlxuIgorbXNnc3RyICIiCisiXG4iCisiICAgICAgIFbCoGppc3TDvWNoIHDFmcOtcGFkZWNoIGx6ZSBuYWrDrXQgdcW+aXRlxI1uw6kgaW5mb3JtYWNlIHbCoHN5c3TDqW1vdsOpbVxuIgorIiAgICAgICBwcm90b2tvbHXCoOKAkyB6a3VzdGUgbmFwxZnDrWtsYWQg4oCeZG1lc2cgfCB0YWls4oCcXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU4MworbXNnaWQgIm1vdW50IHRhYmxlIGZ1bGwiCittc2dzdHIgInRhYnVsa2EgcMWZaXBvamVuw60gamUgcGxuw6EiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIgorbXNnc3RyICIlczogc3VwZXJibG9rIG5lbHplIHDFmWXEjcOtc3QiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU5MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSAnJXMnIgorbXNnc3RyICJuZXpuw6Ftw70gdHlwIHN5c3TDqW11IHNvdWJvcsWvIOKAniVz4oCcIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1OTQKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAibmV6bsOhbcO9IHR5cCBzeXN0w6ltdSBzb3Vib3LFryIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQoMikgZmFpbHM/IgorbXNnc3RyICIlcyBuZW7DrSBibG9rb3bDvW0gemHFmcOtemVuw61tIGEgdm9sw6Fuw60gc3RhdCgyLSkgc2VsaGFsbz8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2VcbiIKKyIgICAgICAgKG1heWJlIGBtb2Rwcm9iZSBkcml2ZXInPykiCittc2dzdHIgIiIKKyJqw6Fkcm8gbmVyb3pwb3puYWxvICVzIGpha28gYmxva292w6kgemHFmcOtemVuw61cbiIKKyIgICAgICAgKG1vxb5uw6Eg4oCebW9kcHJvYmUgb3ZsYWRhxI3igJw/KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSAobWF5YmUgdHJ5IGAtbyBsb29wJz8pIgorbXNnc3RyICIlcyBuZW7DrSBibG9rb3bDvW0gemHFmcOtemVuw61tIChtb8W+bsOhIHBvbcWvxb5lIOKAni1vIGxvb3DigJw/KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiAlcyBuZW7DrSBibG9rb3bDvW0gemHFmcOtemVuw61tIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlcyBuZW7DrSBwbGF0bsO9bSBibG9rb3bDvW0gemHFmcOtemVuw61tIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50ICVzIHJlYWQtb25seSIKK21zZ3N0ciAiJXMgbmVsemUgcMWZaXBvaml0IHYgcmXFvmltdSBwb3V6ZSBwcm8gxI10ZW7DrSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHdyaXRlLXByb3RlY3RlZCBidXQgZXhwbGljaXQgYC13JyBmbGFnIGdpdmVuIgorbXNnc3RyICIlcyBqZSBjaHLDoW7Em25vIHByb3RpIHrDoXBpc3UsIHTFmWViYcW+ZSBieWwgemFkw6FuIHDFmcOtem5hayDigJ4td+KAnCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjI4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZW1vdW50ICVzIHJlYWQtd3JpdGUsIGlzIHdyaXRlLXByb3RlY3RlZCIKK21zZ3N0ciAiJXMgbmVsemUgem5vdnUgcMWZaXBvaml0IHBybyDEjXRlbsOtIGnCoHrDoXBpcywgcHJvdG/FvmUgamUgY2hyw6FuxJtubyBwcm90aSB6w6FwaXN1IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MzEgc3lzLXV0aWxzL21vdW50LmM6NjU0IHN5cy11dGlscy91bnNoYXJlLmM6MTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAicMWZaXBvamVuw60gJXMgZG8gJXMgc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHdyaXRlLXByb3RlY3RlZCwgbW91bnRpbmcgcmVhZC1vbmx5IgorbXNnc3RyICIlcyBqZSBjaHLDoW7Em25vIHByb3RpIHrDoXBpc3UsIHDFmWlwb2p1amkgcG91emUgcHJvIMSNdGVuw60iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBtZWRpdW0gZm91bmQgb24gJXMiCittc2dzdHIgInbCoCVzIG5lbmFsZXplbm8gxb7DoWRuw6kgbcOpZGl1bSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UiCittc2dzdHIgIiVzOiByb3pib3Igc2UgbmV6ZGHFmWlsIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3B0aW9uIGZvcm1hdDogJXMiCittc2dzdHIgIm5lcG9kcG9yb3ZhbsO9IGZvcm3DoXQgcGFyYW1ldHJ1OiAlcyIKKworIyBYWFg6IE5lcMWZZWtsw6FkYXQg4oCeYXBwZW5k4oCcIGpha28g4oCecMWZaXBvaml04oCcLCBocm96w60gesOhbcSbbmEgc8Kg4oCebW91bnTigJwKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYXBwZW5kIG9wdGlvbiAnJXMnIgorbXNnc3RyICJuZXBvZGHFmWlsbyBzZSBwxZlpxZlldMSbeml0IHZvbGJ5IOKAniVz4oCcIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbGhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2VdIDxzb3VyY2U+IHwgWy0tdGFyZ2V0XSA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIDxvcGVyYXRpb24+IDxtb3VudHBvaW50PiBbPHRhcmdldD5dXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLWxoVl1cbiIKKyIgJTEkcyAtYSBbcMWZZXDDrW5hxI1lXVxuIgorIiAlMSRzIFtwxZllcMOtbmHEjWVdIFstLXNvdXJjZV0gPHpkcm9qPiB8IFstLXRhcmdldF0gPGFkcmVzw6HFmT5cbiIKKyIgJTEkcyBbcMWZZXDDrW5hxI1lXSA8emRyb2o+IDxhZHJlc8OhxZk+XG4iCisiICUxJHMgPG9wZXJhY2U+IDxib2RfcMWZaXBvamVuw60+IFs8Y8OtbD5dXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0NAorbXNnaWQgIk1vdW50IGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiUMWZaXBvasOtIHNvdWJvcm92w70gc3lzdMOpbS5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW91bnQgYWxsIGZpbGVzeXN0ZW1zIG1lbnRpb25lZCBpbiBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgbW91bnQoMikgc3lzY2FsbFxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBmb3JrIG9mZiBmb3IgZWFjaCBkZXZpY2UgKHVzZSB3aXRoIC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8cGF0aD4gICAgICBhbHRlcm5hdGl2ZSBmaWxlIHRvIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBwxZlpcG9qw60gdmXFoWtlcsOpIHNvdWJvcm92w6kgc3lzdMOpbXkgdXZlZGVuw6kgdmUgZnN0YWJcbiIKKyIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgbmVub3JtYWxpenVqZSBjZXN0eVxuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICB6a3XFoWVibsOtIHJlxb5pbSwgcMWZZXNrb8SNw60gc3lzdMOpbW92w6kgdm9sw6Fuw60gbW91bnQoMilcbiIKKyIgLUYsIC0tZm9yayAgICAgICAgICAgICAgcHJvIGthxb5kw6kgemHFmcOtemVuw60gdnl0dm/FmcOtIHBvdG9ta2EgKHBvdcW+aWp0ZSBzwqAtYSlcbiIKKyIgLVQsIC0tZnN0YWIgPGNlc3RhPiAgICAgbsOhaHJhZGEgemEgL2V0Yy9mc3RhYlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBuZXZvbMOhIHBvbW9jbsOpIHByb2dyYW15IG1vdW50Ljx0eXA+XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NgorIywgYy1mb3JtYXQKK21zZ2lkICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgc2hvdyBhbHNvIGZpbGVzeXN0ZW0gbGFiZWxzXG4iCittc2dzdHIgIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICB1a8Ohxb5lIHJvdm7Em8W+IGptZW5vdmt5IHNvdWJvcm92w71jaCBzeXN0w6ltxa9cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU4IHN5cy11dGlscy91bW91bnQuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCittc2dzdHIgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBuZXphcMOtxaFlIGRvIC9ldGMvbXRhYlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtb3VudCBvcHRpb25zXG4iCisiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLW9ubHkgKHNhbWUgYXMgLW8gcm8pXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIiCisiIC1vLCAtLW9wdGlvbnMgPHNlem5hbT4gIMSNw6Fya291IG9kZMSbbGVuw70gc2V6bmFtIHBhcmFtZXRyxa8gcMWZaXBvamVuw61cbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxzZXpuYW0+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIG9tZXrDrSBtbm/FvmludSBzb3Vib3JvdsO9Y2ggc3lzdMOpbcWvIChwb3XFvmlqdGUgc8KgLWEpXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIHNvdWJvcm92w70gc3lzdMOpbSBwxZlpcG9qw60gamVuIHBybyDEjXRlbsOtXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIChzdGVqbsOpIGpha28gLW8gcm8pXG4iCisiIC10LCAtLXR5cGVzIDxzZXpuYW0+ICAgIG9tZXrDrSBtbm/FvmludSB0eXDFryBzb3Vib3JvdsO9Y2ggc3lzdMOpbcWvXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc2NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLXNvdXJjZSA8c3JjPiAgICAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIHNvdXJjZSAocGF0aCwgbGFiZWwsIHV1aWQpXG4iCisiICAgICAtLXRhcmdldCA8dGFyZ2V0PiAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1zb3VyY2UgPHpkcm9qPiAgICB2w71zbG92bsSbIHVyxI3DrSB6ZHJvaiAoY2VzdGEsIGptZW5vdmthLCBVVUlEKVxuIgorIiAgICAgLS10YXJnZXQgPGPDrWw+ICAgICAgdsO9c2xvdm7EmyB1csSNw60gYm9kIHDFmWlwb2plbsOtXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc2OCBzeXMtdXRpbHMvdW1vdW50LmM6OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHNheSB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHZ5c3bEm3Rsw60sIGNvIHNlIGTEm2plXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc3MAorIywgYy1mb3JtYXQKK21zZ2lkICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC13cml0ZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIHDFmWlwb2rDrSBzb3Vib3JvdsO9IHN5c3TDqW0gcHJvIMSNdGVuw60gacKgesOhcGlzICh2w71jaG96w60pXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU291cmNlOlxuIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCittc2dzdHIgIiIKKyJcbiIKKyJaZHJvajpcbiIKKyIgLUwsIC0tbGFiZWwgPGptZW5vdmthPiAgc3lub255bXVtIHBybyBMQUJFTD08am1lbm92a2E+XG4iCisiIC1VLCAtLXV1aWQgPFVVSUQ+ICAgICAgIHN5bm9ueW11bSBwcm8gVVVJRD08VVVJRD5cbiIKKyIgTEFCRUw9PGptZW5vdmthPiAgICAgICAgdXLEjcOtIHphxZnDrXplbsOtIHBvZGxlIGptZW5vdmt5IHNvdWJvcm92w6lobyBzeXN0w6ltdVxuIgorIiBVVUlEPTxVVUlEPiAgICAgICAgICAgICB1csSNw60gemHFmcOtemVuw60gcG9kbGUgVVVJRCBzb3Vib3JvdsOpaG8gc3lzdMOpbXVcbiIKKyIgUEFSVExBQkVMPTxqbWVub3ZrYT4gICAgdXLEjcOtIHphxZnDrXplbsOtIHBvZGxlIGptZW5vdmt5IG9kZMOtbHVcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICAgdXLEjcOtIHphxZnDrXplbsOtIHBvZGxlIFVVSUQgb2Rkw61sdVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorbXNnc3RyICIiCisiIDx6YcWZw616ZW7DrT4gICAgICAgICAgICAgIHVyxI3DrSB6YcWZw616ZW7DrSBwb2RsZSBjZXN0eVxuIgorIiA8YWRyZXPDocWZPiAgICAgICAgICAgICAgIGJvZCBwxZlpcG9qZW7DrSBwcm8gdsOhemFuw6EgcMWZaXBvamVuw61cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgKHZpenRlIC0tYmluZC9yYmluZClcbiIKKyIgPHNvdWJvcj4gICAgICAgICAgICAgICAgYsSbxb5uw70gc291Ym9yIHBybyBzZXN0YXZlbsOtIGxvb3AgemHFmcOtemVuw61cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcGVyYXRpb25zOlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgc29tZXdoZXJlIGVsc2UgKHNhbWUgYXMgLW8gYmluZClcbiIKKyIgLU0sIC0tbW92ZSAgICAgICAgICAgICAgbW92ZSBhIHN1YnRyZWUgdG8gc29tZSBvdGhlciBwbGFjZVxuIgorIiAtUiwgLS1yYmluZCAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgYW5kIGFsbCBzdWJtb3VudHMgc29tZXdoZXJlIGVsc2VcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wZXJhY2U6XG4iCisiIC1CLCAtLWJpbmQgICAgICAgICAgICAgIHDFmWlwb2rDrSBwb2RzdHJvbSBuxJtrYW0gamluYW0gKHN0ZWpuw6kgamFrbyAtbyBiaW5kKVxuIgorIiAtTSwgLS1tb3ZlICAgICAgICAgICAgICBwxZllc3VuZSBwb2RzdHJvbSBuYSBqaW7DqSBtw61zdG9cbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgcMWZaXBvasOtIHBvZHN0cm9tIGEgdsWhZWNobmEgcG9kxZnDrXplbsOhIHDFmWlwb2plbsOtIGppbmFtXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc5NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1zaGFyZWQgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2Utc2xhdmUgICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcHJpdmF0ZSAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS11bmJpbmRhYmxlICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICBvem5hxI3DrSBwb2RzdHJvbSB6YSBzZMOtbGVuw71cbiIKKyIgLS1tYWtlLXNsYXZlICAgICAgICAgICAgb3puYcSNw60gcG9kc3Ryb20gemEgcG9kxZnDrXplbsO9XG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG96bmHEjcOtIHBvZHN0cm9tIHphIHNvdWtyb23DvVxuIgorIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICBvem5hxI3DrSBwb2RzdHJvbSB6YSBuZXbDoXphdGVsbsO9XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjgwMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorIiAtLW1ha2UtcnNoYXJlZCAgICAgICAgICByZWt1cnppdm7EmyBvem5hxI3DrSBjZWzDvSBwb2RzdHJvbSB6YSBzZMOtbGVuw71cbiIKKyIgLS1tYWtlLXJzbGF2ZSAgICAgICAgICAgcmVrdXJ6aXZuxJsgb3puYcSNw60gY2Vsw70gcG9kc3Ryb20gemEgcG9kxZnDrXplbsO9XG4iCisiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIHJla3Vyeml2bsSbIG96bmHEjcOtIGNlbMO9IHBvZHN0cm9tIHphIHNvdWtyb23DvVxuIgorIiAtLW1ha2UtcnVuYmluZGFibGUgICAgICByZWt1cnppdm7EmyBvem5hxI3DrSBjZWzDvSBwb2RzdHJvbSB6YSBuZXbDoXphdGVsbsO9XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjg4NyBzeXMtdXRpbHMvdW1vdW50LmM6NTQ4Cittc2dpZCAibGlibW91bnQgY29udGV4dCBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAiYWxva2FjZSBrb250ZXh0dSBsaWJtb3VudCBzZSBuZXpkYcWZaWxhIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo5NDQgc3lzLXV0aWxzL3Vtb3VudC5jOjYwMQorbXNnaWQgImZhaWxlZCB0byBzZXQgb3B0aW9ucyBwYXR0ZXJuIgorbXNnc3RyICJuZXBvZGHFmWlsbyBzZSBuYXN0YXZpdCB2em9yZWsgdm9sZWIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEwOTcKK21zZ2lkICJzb3VyY2Ugc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJ6ZHJvaiB6YWTDoW4gdsOtY2UgbmXFviBqZWRub3UiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLXFkXSAvcGF0aC90by9kaXJlY3RvcnlcbiIKKyIgJTEkcyAteCAvZGV2L2RldmljZVxuIgorbXNnc3RyICIiCisiICUxJHMgWy1xZF0gL0NFU1RBL0svQURSRVPDgcWYSVxuIgorIiAlMSRzIC14IC9kZXYvWkHFmMONWkVOw41cbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjIKK21zZ2lkICJDaGVjayB3aGV0aGVyIGEgZGlyZWN0b3J5IG9yIGZpbGUgaXMgYSBtb3VudHBvaW50LlxuIgorbXNnc3RyICJaamlzdMOtLCBqZXN0bGkgYWRyZXPDocWZIG5lYm8gc291Ym9yIGplIGJvZGVtIHDFmWlwb2plbsOtLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEyNQorbXNnaWQgIiIKKyIgLXEsIC0tcXVpZXQgICAgICAgIHF1aWV0IG1vZGUgLSBkb24ndCBwcmludCBhbnl0aGluZ1xuIgorIiAtZCwgLS1mcy1kZXZubyAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBmaWxlc3lzdGVtXG4iCisiIC14LCAtLWRldm5vICAgICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGJsb2NrIGRldmljZVxuIgorbXNnc3RyICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICB0aWNow70gcmXFvmltwqDigJMgbmljIG5ldnlww63FoWVcbiIKKyIgLWQsIC0tZnMtZGV2bm8gICAgIHZ5cMOtxaFlIGhsYXZuw606dmVkbGVqxaHDrSDEjcOtc2xvIHphxZnDrXplbsOtIHN5c3TDqW11IHNvdWJvcsWvXG4iCisiIC14LCAtLWRldm5vICAgICAgICB2eXDDrcWhZSBobGF2bsOtOnZlZGxlasWhw60gxI3DrXNsbyBibG9rb3bDqWhvIHphxZnDrXplbsOtXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiJXMgbmVuw60gcMWZw61wb2puw71tIGJvZGVtXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyBqZSBwxZnDrXBvam7DvW0gYm9kZW1cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkzIHN5cy11dGlscy91bnNoYXJlLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXVxuIgorbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gPHByb2dyYW0+IFs8YXJndW1lbnTigKbigKZdXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzYKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggbmFtZXNwYWNlcyBvZiBvdGhlciBwcm9jZXNzZXMuXG4iCittc2dzdHIgIlNwdXN0w60gcHJvZ3JhbSBzZSBqbWVubsO9bWkgcHJvc3Rvcnkgamluw71jaCBwcm9jZXPFry5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3OQorbXNnaWQgIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgIHRhcmdldCBwcm9jZXNzIHRvIGdldCBuYW1lc3BhY2VzIGZyb21cbiIKK21zZ3N0ciAiIC10LCAtLXRhcmdldCA8UElEPiAgICAgcHJvY2VzLCB6ZSBrdGVyw6lobyBzZSBtw6Egam1lbm7DvSBwcm9zdG9yIHrDrXNrYXRcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MAorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgIGVudGVyIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLW0sIC0tbW91bnRbPTxzb3Vib3I+XSB2c3RvdXDDrSBkbyBqbWVubsOpaG8gcHJvc3RvcnUgcMWZw61wb2puw71jaCBib2TFr1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgxCittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgZW50ZXIgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIiCisiIC11LCAtLXV0c1s9PHNvdWJvcj5dICAgdnN0b3Vww60gZG8gam1lbm7DqWhvIHByb3N0b3J1IFVUUyAobsOhemV2XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2plIGF0ZC4pXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODIKK21zZ2lkICIgLWksIC0taXBjWz08ZmlsZT5dICAgICBlbnRlciBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtaSwgLS1pcGNbPTxzb3Vib3I+XSAgIHZzdG91cMOtIGRvIGptZW5uw6lobyBwcm9zdG9ydSBTeXN0ZW0gViBJUENcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MworbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgIGVudGVyIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbiwgLS1uZXRbPTxzb3Vib3I+XSAgIHZzdG91cMOtIGRvIGptZW5uw6lobyBwcm9zdG9ydSBzw610w61cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NAorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgIGVudGVyIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZFs9PHNvdWJvcj5dICAgdnN0b3Vww60gZG8gam1lbm7DqWhvIHByb3N0b3J1IMSNw61zZWwgcHJvY2Vzxa9cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NQorbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gIGVudGVyIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorIiAtQywgLS1jZ3JvdXBbPTxzb3Vib3I+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHZzdG91cMOtIGRvIGptZW5uw6lobyBwcm9zdG9ydSBrb250cm9sbsOtY2ggc2t1cGluXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODYKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICBlbnRlciB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLVUsIC0tdXNlcls9PHNvdWJvcj5dICB2c3RvdXDDrSBkbyBqbWVubsOpaG8gcHJvc3RvcnUgdcW+aXZhdGVsxa9cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NworbXNnaWQgIiAtUywgLS1zZXR1aWQgPHVpZD4gICAgIHNldCB1aWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgbmFzdGF2w60gVUlEIHZlIHZzdG91cGVuw6ltIGptZW5uw6ltIHByb3N0b3J1XG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODgKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtRywgLS1zZXRnaWQgPGdpZD4gICAgIG5hc3RhdsOtIEdJRCB2ZSB2c3RvdXBlbsOpbSBqbWVubsOpbSBwcm9zdG9ydVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg5Cittc2dpZCAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzIGRvIG5vdCB0b3VjaCB1aWRzIG9yIGdpZHNcbiIKK21zZ3N0ciAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzIG5lc2Fow6EgbmEgxI3DrXNsYSBVSUQgYSBHSURcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MAorbXNnaWQgIiAtciwgLS1yb290Wz08ZGlyPl0gICAgIHNldCB0aGUgcm9vdCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1yLCAtLXJvb3RbPTxhZHJlc8OhxZk+XSBuYXN0YXbDrSBrb8WZZW5vdsO9IGFkcmVzw6HFmVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkxCittc2dpZCAiIC13LCAtLXdkWz08ZGlyPl0gICAgICAgc2V0IHRoZSB3b3JraW5nIGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXcsIC0td2RbPTxhZHJlc8OhxZk+XSAgIG5hc3RhdsOtIHByYWNvdm7DrSBhZHJlc8OhxZlcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MgorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgIGRvIG5vdCBmb3JrIGJlZm9yZSBleGVjJ2luZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgcMWZZWQgc3B1xaF0xJtuw61tIDxwcm9ncmFtdT4gbmV2eXR2b8WZw60gcG90b21rYVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjk0Cittc2dpZCAiIC1aLCAtLWZvbGxvdy1jb250ZXh0ICAgc2V0IFNFTGludXggY29udGV4dCBhY2NvcmRpbmcgdG8gLS10YXJnZXQgUElEXG4iCittc2dzdHIgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgIG5hc3RhdsOtIHNlbGludXhvdsO9IGtvbnRleHQgcG9kbGUgLS10YXJnZXQgUElEXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5laXRoZXIgZmlsZW5hbWUgbm9yIHRhcmdldCBwaWQgc3VwcGxpZWQgZm9yICVzIgorbXNnc3RyICJhbmkgbsOhemV2IHNvdWJvcnUgYW5pIFBJRCBjw61sZSBuZWJ5bHkgcHJvICVzIHphZMOhbnkiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mjc3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHVpZCIKK21zZ3N0ciAiVUlEIHNlIG5lemRhxZlpbG8gcm96ZWJyYXQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MjgxCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGdpZCIKK21zZ3N0ciAiR0lEIHNlIG5lemRhxZlpbG8gcm96ZWJyYXQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzE3Cittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tZm9sbG93LWNvbnRleHQiCittc2dzdHIgIm5ldXZlZGVuIMW+w6FkbsO9IGPDrWxvdsO9IFBJRCBwcm8gLS1mb2xsb3ctY29udGV4dCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCAlZCBTRUxpbnV4IGNvbnRleHQiCittc2dzdHIgInrDrXNrYXQgc2VsaW51eG92w70ga29udGV4dCAlZCBzZSBuZXBvZGHFmWlsbyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBleGVjIGNvbnRleHQgdG8gJyVzJyIKK21zZ3N0ciAic2VsaGFsbyBuYXN0YXZlbsOtIGtvbnRleHR1IHNwb3XFoXTEm27DrSBuYSDigJ4lc+KAnCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhc3NvY2lhdGUgdG8gbmFtZXNwYWNlICclcycgZmFpbGVkIgorbXNnc3RyICJvcGFrb3ZhbsOpIHDFmWlkcnXFvmVuw60ga2Ugam1lbm7DqW11IHByb3N0b3J1IOKAniVz4oCcIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzkwCittc2dpZCAiY2Fubm90IG9wZW4gY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAic291xI1hc27DvSBwcmFjb3Zuw60gYWRyZXPDocWZIG5lbHplIG90ZXbFmcOtdCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozOTcKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHJvb3QgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAibmVwb2RhxZlpbG8gc2Ugem3Em25pdCBhZHJlc8OhxZkgcG9tb2PDrSBkZXNrcmlwdG9ydSBrb8WZZW5vdsOpaG8gc291Ym9ydSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MDAKK21zZ2lkICJjaHJvb3QgZmFpbGVkIgorbXNnc3RyICJ2b2zDoW7DrSBjaHJvb3Qgc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MTAKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHdvcmtpbmcgZGlyZWN0b3J5IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgIm5lcG9kYcWZaWxvIHNlIHptxJtuaXQgYWRyZXPDocWZIHBvbW9jw60gZGVza3JpcHRvcnUgcHJhY292bsOtaG8gYWRyZXPDocWZZSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MjEgc3lzLXV0aWxzL3NldHByaXYuYzo4MTUgc3lzLXV0aWxzL3NldHByaXYuYzo4MTkKK21zZ2lkICJzZXRncm91cHMgZmFpbGVkIgorbXNnc3RyICJ2b2zDoW7DrSBzZXRncm91cHMgc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIG5ld19yb290IHB1dF9vbGRcbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIDxub3bDvV9rb8WZZW4+IDxvZGxvxb5pdF9zdGFyw70+XG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzcKK21zZ2lkICJDaGFuZ2UgdGhlIHJvb3QgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiWm3Em27DrSBrb8WZZW5vdsO9IHNvdWJvcm92w70gc3lzdMOpbS5cbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QgZnJvbSBgJXMnIHRvIGAlcyciCittc2dzdHIgInbDvW3Em25hIGtvxZllbnUgeiDigJ4lc+KAnCBuYSDigJ4lc+KAnCBzZWxoYWxhIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1Cittc2dpZCAiYWRkcmVzcyBzcGFjZSBsaW1pdCIKK21zZ3N0ciAib21lemVuw60gYWRyZXNuw61obyBwcm9zdG9ydSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NgorbXNnaWQgIm1heCBjb3JlIGZpbGUgc2l6ZSIKK21zZ3N0ciAibWF4aW3DoWxuw60gdmVsaWtvc3Qgc291Ym9ydSBzwqB2w71waXNlbSBwYW3Em3RpIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAiQ1BVIHRpbWUiCittc2dzdHIgInByb2Nlc29yb3bDvSDEjWFzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAic2Vjb25kcyIKK21zZ3N0ciAic2VrdW5keSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OAorbXNnaWQgIm1heCBkYXRhIHNpemUiCittc2dzdHIgIm1heGltw6FsbsOtIHZlbGlrb3N0IGRhdCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OQorbXNnaWQgIm1heCBmaWxlIHNpemUiCittc2dzdHIgIm1heGltw6FsbsOtIHZlbGlrb3N0IHNvdWJvcnUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKK21zZ2lkICJtYXggbnVtYmVyIG9mIGZpbGUgbG9ja3MgaGVsZCIKK21zZ3N0ciAibWF4aW3DoWxuw60gcG/EjWV0IHrDoW1rxa8gbmEgc291Ym9yZWNoIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCittc2dpZCAibG9ja3MiCittc2dzdHIgInrDoW1reSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MQorbXNnaWQgIm1heCBsb2NrZWQtaW4tbWVtb3J5IGFkZHJlc3Mgc3BhY2UiCittc2dzdHIgIm1heGltw6FsbsOtIG1ub8W+c3R2w60gdXphbcSNZW7DqSBwYW3Em3RpIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyCittc2dpZCAibWF4IGJ5dGVzIGluIFBPU0lYIG1xdWV1ZXMiCittc2dzdHIgIm1heGltw6FsbsOtIHBvxI1ldCBiYWp0xa8gdsKgcG9zaXhvdsO9Y2ggZnJvbnTDoWNoIHpwcsOhdiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MworbXNnaWQgIm1heCBuaWNlIHByaW8gYWxsb3dlZCB0byByYWlzZSIKK21zZ3N0ciAibWF4aW3DoWxuw60gcHJpb3JpdGEgbmljZSwga3Rlcm91IGx6ZSB6dsO9xaFpdCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorbXNnaWQgIm1heCBudW1iZXIgb2Ygb3BlbiBmaWxlcyIKK21zZ3N0ciAibWF4aW3DoWxuw60gcG/EjWV0IG90ZXbFmWVuw71jaCBzb3Vib3LFryIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorbXNnaWQgImZpbGVzIgorbXNnc3RyICJzb3Vib3J5IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1Cittc2dpZCAibWF4IG51bWJlciBvZiBwcm9jZXNzZXMiCittc2dzdHIgIm1heGltw6FsbsOtIHBvxI1ldCBwcm9jZXPFryIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorbXNnaWQgInByb2Nlc3NlcyIKK21zZ3N0ciAicHJvY2VzeSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NgorbXNnaWQgIm1heCByZXNpZGVudCBzZXQgc2l6ZSIKK21zZ3N0ciAibWF4aW3DoWxuw60gdmVsaWtvc3QgcmV6aWRlbnRuw60gcGFtxJt0aSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NworbXNnaWQgIm1heCByZWFsLXRpbWUgcHJpb3JpdHkiCittc2dzdHIgIm1heGltw6FsbsOtIHByaW9yaXRhIHJlw6FsbsOpaG8gxI1hc3UiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJ0aW1lb3V0IGZvciByZWFsLXRpbWUgdGFza3MiCittc2dzdHIgIsSNYXNvdsO9IGxpbWl0IHBybyDDumxvaHkgcmXDoWxuw6lobyDEjWFzdSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgIm1pY3Jvc2VjcyIKK21zZ3N0ciAibWlrcm9zZWt1bmR5IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAibWF4IG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHMiCittc2dzdHIgIm1heGltw6FsbsOtIHBvxI1ldCDEjWVrYWrDrWPDrWNoIHNpZ27DoWzFryIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorbXNnaWQgInNpZ25hbHMiCittc2dzdHIgInNpZ27DoWx5IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAibWF4IHN0YWNrIHNpemUiCittc2dzdHIgIm1heGltw6FsbsOtIHZlbGlrb3N0IHrDoXNvYm7DrWt1IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyMworbXNnaWQgInJlc291cmNlIG5hbWUiCittc2dzdHIgIm7DoXpldiB6ZHJvamUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI0Cittc2dpZCAicmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgInBvcGlzIHpkcm9qZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjUKK21zZ2lkICJzb2Z0IGxpbWl0IgorbXNnc3RyICJtxJtra8OpIG9tZXplbsOtIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNgorbXNnaWQgImhhcmQgbGltaXQgKGNlaWxpbmcpIgorbXNnc3RyICJ0dnJkw6kgb21lemVuw60gKHphc3Ryb3BvdsOhbsOtKSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjcKK21zZ2lkICJ1bml0cyIKK21zZ3N0ciAiamVkbm90a3kiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1wIFBJRF1cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIFstcCBQSURdXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gQ09NTUFORFxuIgorbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gUMWYw41LQVpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjYKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVzb3VyY2UgbGltaXRzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiVWvDocW+ZSBuZWJvIHptxJtuw60gb21lemVuw60gemRyb2rFryBwcm9jZXN1LlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmFsIE9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJPYmVjbsOpIHDFmWVww61uYcSNZTpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjkKK21zZ2lkICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG91dHB1dFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1waWQgPFBJRD4gICAgICAgIElEIHByb2Nlc3VcbiIKKyIgLW8sIC0tb3V0cHV0IDxzZXpuYW0+ICB1csSNdWplIHNsb3VwY2UgbmEgdsO9c3R1cHVcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBuZXZ5cMOtxaFlIHrDoWhsYXbDrVxuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHbDvXBpcyB2wqBzeXJvdsOpbSBmb3Jtw6F0dVxuIgorIiAgICAgLS12ZXJib3NlICAgICAgICAgIHBvZHJvYm7DvSB2w71zdHVwXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgem9icmF6w60gdHV0byBuw6Fwb3bEm2R1IGEgc2tvbsSNw61cbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICB6b2JyYXrDrSDDumRhamUgb8KgdmVyemkgYSBza29uxI3DrVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3NworbXNnaWQgIiIKKyJcbiIKKyJSZXNvdXJjZXMgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlDFmWVww61uYcSNZSB6ZHJvasWvOlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OAorbXNnaWQgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgY29yZSBmaWxlcyBjcmVhdGVkXG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcydzIGRhdGEgc2VnbWVudFxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIG1heGltdW0gbmljZSBwcmlvcml0eSBhbGxvd2VkIHRvIHJhaXNlXG4iCisiIC1mLCAtLWZzaXplICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlIHByb2Nlc3NcbiIKKyIgLWksIC0tc2lncGVuZGluZyAgICAgICBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHNcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICBtYXhpbXVtIHNpemUgYSBwcm9jZXNzIG1heSBsb2NrIGludG8gbWVtb3J5XG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZVxuIgorIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIG9wZW4gZmlsZXNcbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBtYXhpbXVtIGJ5dGVzIGluIFBPU0lYIG1lc3NhZ2UgcXVldWVzXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eVxuIgorIiAtcywgLS1zdGFjayAgICAgICAgICAgIG1heGltdW0gc3RhY2sgc2l6ZVxuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIG1heGltdW0gYW1vdW50IG9mIENQVSB0aW1lIGluIHNlY29uZHNcbiIKKyIgLXUsIC0tbnByb2MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiB1c2VyIHByb2Nlc3Nlc1xuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIHNpemUgb2YgdmlydHVhbCBtZW1vcnlcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBmaWxlIGxvY2tzXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAgQ1BVIHRpbWUgaW4gbWljcm9zZWNvbmRzIGEgcHJvY2VzcyBzY2hlZHVsZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1bmRlciByZWFsLXRpbWUgc2NoZWR1bGluZ1xuIgorbXNnc3RyICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAgbWF4aW3DoWxuw60gdmVsaWtvc3Qgdnl0dsOhxZllbsO9Y2ggc291Ym9yxa8gcyB2w71waXNlbSBwYW3Em3RpXG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAgbWF4aW3DoWxuw60gdmVsaWtvc3QgZGF0b3bDqWhvIHNlZ21lbnR1IHByb2Nlc3VcbiIKKyIgLWUsIC0tbmljZSAgICAgICAgICAgICBtYXhpbcOhbG7DrSBwcmlvcml0YSBuaWNlLCBrdGVyb3UgamUgZG92b2xlbm8genbDvcWhaXRcbiIKKyIgLWYsIC0tZnNpemUgICAgICAgICAgICBtYXhpbcOhbG7DrSB2ZWxpa29zdCBzb3Vib3LFryB6YXBzYXRlbG7DvWNoIHByb2Nlc2VtXG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAgbWF4aW3DoWxuw60gcG/EjWV0IMSNZWthasOtY8OtY2ggc2lnbsOhbMWvXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAgbWF4aW3DoWxuw60gdmVsaWtvc3QgcGFtxJt0aSwga3Rlcm91IG3Fr8W+ZSBwcm9jZXMgemFta25vdXRcbiIKKyIgLW0sIC0tcnNzICAgICAgICAgICAgICBtYXhpbcOhbG7DrSB2ZWxpa29zdCByZXppZGVudG7DrSBwYW3Em3RpXG4iCisiIC1uLCAtLW5vZmlsZSAgICAgICAgICAgbWF4aW3DoWxuw60gcG/EjWV0IG90ZXbFmWVuw71jaCBzb3Vib3LFr1xuIgorIiAtcSwgLS1tc2dxdWV1ZSAgICAgICAgIG1heGltw6FsbsOtIHBvxI1ldCBiYWp0xa8gdsKgcG9zaXhvdsO9Y2ggZnJvbnTDoWNoIHpwcsOhdlxuIgorIiAtciwgLS1ydHByaW8gICAgICAgICAgIG1heGltw6FsbsOtIHBsw6Fub3ZhY8OtIHByaW9yaXRhIHJlw6FsbsOpaG8gxI1hc3VcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICBtYXhpbcOhbG7DrSB2ZWxpa29zdCB6w6Fzb2Juw61rdVxuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIG1heGltw6FsbsOtIG1ub8W+c3R2w60gcHJvY2Vzb3JvdsOpaG8gxI1hc3UgdsKgc2VrdW5kw6FjaFxuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIG1heGltw6FsbsOtIHBvxI1ldCBwcm9jZXPFryB1xb5pdmF0ZWxlXG4iCisiIC12LCAtLWFzICAgICAgICAgICAgICAgdmVsaWtvc3QgdmlydHXDoWxuw60gcGFtxJt0aVxuIgorIiAteCwgLS1sb2NrcyAgICAgICAgICAgIG1heGltw6FsbsOtIHBvxI1ldCBzb3Vib3JvdsO9Y2ggesOhbWvFr1xuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgIHByb2Nlc29yb3bDvSDEjWFzIHbCoG1pa3Jvc2VrdW5kw6FjaCBwcm9jZXN1IHBsw6Fub3ZhbsOpaG9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBwbMOhbm92YcSNZW0gcmXDoWxuw6lobyDEjWFzdVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0MyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzEKK21zZ2lkICJ1bmxpbWl0ZWQiCittc2dzdHIgIm5lb21lemVubyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBvbGQgJXMgbGltaXQiCittc2dzdHIgIm5lcG9kYcWZaWxvIHNlIHrDrXNrYXQgc3RhcsOpIG9tZXplbsOtIG5hICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM1NgorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgc29mdCBsaW1pdCAlcyBjYW5ub3QgZXhjZWVkIHRoZSBoYXJkIGxpbWl0IgorbXNnc3RyICJtxJtra8OpIG9tZXplbsOtICVzIG5lbcWvxb5lIHDFmWVrcm/EjWl0IHR2cmTDqSBvbWV6ZW7DrSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmV3ICVzIGxpbWl0IGZvciBwaWQgJWQ6ICIKK21zZ3N0ciAiTm92w6kgb21lemVuw60gJXMgcHJvIFBJRCAlZDogIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIKK21zZ3N0ciAibmVwb2RhxZlpbG8gc2UgbmFzdGF2aXQgb21lemVuw60gemRyb2plIG5hICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIKK21zZ3N0ciAibmVwb2RhxZlpbG8gc2Ugemppc3RpdCBvbWV6ZW7DrSB6ZHJvamUgbmEgJXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBsaW1pdCIKK21zZ3N0ciAibmV6ZGHFmWlsbyBzZSByb3plYnJhdCBvbWV6ZW7DrSBuYSAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo1ODUKK21zZ2lkICJvcHRpb24gLS1waWQgbWF5IGJlIHNwZWNpZmllZCBvbmx5IG9uY2UiCittc2dzdHIgInDFmWVww61uYcSNIC0tcGlkIGx6ZSB6YWRhdCBqZW4gamVkbm91IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjYxNgorbXNnaWQgIm9wdGlvbnMgLS1waWQgYW5kIENPTU1BTkQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAicMWZZXDDrW5hxI0gLS1waWQgYSBQxZjDjUtBWiBzZSB2esOhamVtbsSbIHZ5bHXEjXVqw60iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNworbXNnaWQgIkRpc3BsYXkga2VybmVsIHByb2ZpbGluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiWm9icmF6w60gw7pkYWplIHrCoHByb2ZpbG92w6Fuw60gasOhZHJhLlxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1tLCAtLW1hcGZpbGUgPG1hcGZpbGU+ICAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCittc2dzdHIgIiAtbSwgLS1tYXBmaWxlIDxtYXBvdsO9X3NvdWJvcj4gICh2w71jaG96w606IOKAniVz4oCcIGFcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIlc1wiKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKAniVz4oCcKVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1wLCAtLXByb2ZpbGUgPHByby1maWxlPiAgKGRlZmF1bHQ6ICBcIiVzXCIpXG4iCittc2dzdHIgIiAtcCwgLS1wcm9maWxlIDxzb3Vib3JfcHJvZmlsdT4gICh2w71jaG96w606IOKAniVz4oCcKVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTYKK21zZ2lkICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorbXNnc3RyICIgLU0sIC0tbXVsdGlwbGllciA8xI1pbml0ZWw+ICBuYXN0YXbDrSA8xI1pbml0ZWw+IHByb2ZpbG92w6Fuw61cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE3Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgcHJpbnQgb25seSBpbmZvIGFib3V0IHRoZSBzYW1wbGluZyBzdGVwXG4iCittc2dzdHIgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIHZ5cMOtxaFlIMO6ZGFqZSBwb3V6ZSBvwqB2em9ya3Vqw61jw61tIGtyb2t1XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICB2eXDDrcWhZSBwb2Ryb2Juw6kgw7pkYWplXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIHByaW50IGFsbCBzeW1ib2xzLCBldmVuIGlmIGNvdW50IGlzIDBcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIHZ5cMOtxaFlIHbFoWVjaG55IHN5bWJvbHksIGnCoGtkecW+IGplamljaFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvxI3DrXRhZGxvIGplIDBcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIwCittc2dpZCAiIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorbXNnc3RyICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICB2eXDDrcWhZSBqZWRub3RsaXbDoSBwb8SNw610YWRsYSBoaXN0b2dyYW11IHByb2dyYW11XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMQorbXNnaWQgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgY291bnRlcnMgd2l0aGluIGZ1bmN0aW9uc1xuIgorbXNnc3RyICIgLXMsIC0tY291bnRlcnMgICAgICAgICAgICB2eXDDrcWhZSBqZWRub3RsaXbDoSBwb8SNw610YWRsYSB1dm5pdMWZIGZ1bmtjw61cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIyCittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICB6cmVzZXR1amUgdsWhZWNobnkgcG/EjcOtdGFkbGEgKHBvdXplIHN1cGVydcW+aXZhdGVsKVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjMKK21zZ2lkICIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIKK21zZ3N0ciAiIC1uLCAtLW5vLWF1dG8gICAgICAgICAgICAgdnlwbmUgYXV0b21hdGlja8OpIHJvenBvem7DoXbDoW7DrSBwb8WZYWTDrSBiYWp0xa9cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjQwCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHdyaXRpbmcgJXMiCittc2dzdHIgImNoeWJhIHDFmWkgesOhcGlzdSAlcyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjcxCittc2dpZCAiQXNzdW1pbmcgcmV2ZXJzZWQgYnl0ZSBvcmRlci4gVXNlIC1uIHRvIGZvcmNlIG5hdGl2ZSBieXRlIG9yZGVyLiIKK21zZ3N0ciAiUMWZZWRwb2tsw6Fkw6Egc2Ugb3BhxI1uw6kgcG/FmWFkw60gYmFqdMWvLiBTeXN0w6ltb3bDqSBwb8WZYWTDrSBsemUgdnludXRpdCBwb21vY8OtIC1uLiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNhbXBsaW5nX3N0ZXA6ICV1XG4iCittc2dzdHIgIlByb2ZpbG92YWPDrV9rcm9rOiAldVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMDIgc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzKCVpKTogd3JvbmcgbWFwIGxpbmUiCittc2dzdHIgIiVzKCVpKTogY2h5Ym7DvSDFmcOhZGVrIHbCoG1hcMSbIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBcIl9zdGV4dFwiIGluICVzIgorbXNnc3RyICLigJ5fc3RleHTigJwgbmVsemUgdiAlcyBuYWzDqXp0IgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozNDYKK21zZ2lkICJwcm9maWxlIGFkZHJlc3Mgb3V0IG9mIHJhbmdlLiBXcm9uZyBtYXAgZmlsZT8iCittc2dzdHIgImFkcmVzYSBwcm9maWx1IGplIG1pbW8gcm96c2FoLiBDaHlibsO9IG1hcG92YWPDrSBzb3Vib3I/IgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzo0MDQKK21zZ2lkICJ0b3RhbCIKK21zZ3N0ciAiY2Vsa2VtIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTIKK21zZ2lkICJwcm9jZXNzIElEIgorbXNnc3RyICJJRCBwcm9jZXN1IgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTMKK21zZ2lkICJwcm9jZXNzIGdyb3VwIElEIgorbXNnc3RyICJJRCBza3VwaW55IHByb2Nlc8WvIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiBbLXB8LS1waWRdIDxwaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtZ3wtLXBncnAgPHBnaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtdXwtLXVzZXIgPHVzZXI+Li4uXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLW5dIHByaW9yaXRhIFstcHwtLXBpZF0gPFBJRD7igKZcbiIKKyIgJTEkcyBbLW5dIHByaW9yaXRhICAtZ3wtLXBnaWQgPFBHSUQ+4oCmXG4iCisiICUxJHMgWy1uXSBwcmlvcml0YSAgLXV8LS11c2VyIDx1xb5pdmF0ZWw+4oCmXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2NworbXNnaWQgIkFsdGVyIHRoZSBwcmlvcml0eSBvZiBydW5uaW5nIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiWm3Em27DrSBwcmlvcml0dSBixJvFvsOtY8OtY2ggcHJvY2Vzxa8uXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MAorbXNnaWQgIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIHNwZWNpZnkgdGhlIG5pY2UgaW5jcmVtZW50IHZhbHVlXG4iCittc2dzdHIgIiAtbiwgLS1wcmlvcml0eSA8xI3DrXNsbz4gdXLEjXVqZSBwxZnDrXLFr3N0ZWsgaG9kbm90eSBuaWNlXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MQorbXNnaWQgIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXAsIC0tcGlkIDxJRD4gICAgICAgICBpbnRlcnByZXR1amUgYXJndW1lbnQgamFrbyBJRCBwcm9jZXN1ICh2w71jaG96w60pXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MgorbXNnaWQgIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIGdyb3VwIElEXG4iCittc2dzdHIgIiAtZywgLS1wZ3JwIDxJRD4gICAgICAgIGludGVycHJldHVqZSBhcmd1bWVudCBqYWtvIElEIHNrdXBpbnkgcHJvY2Vzxa9cbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjczCittc2dpZCAiIC11LCAtLXVzZXIgPG5hbWU+fDxpZD4gaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHVzZXJuYW1lIG9yIHVzZXIgSURcbiIKK21zZ3N0ciAiIgorIiAtdSwgLS11c2VyIDxqbcOpbm8+fDxJRD4gaW50ZXJwcmV0dWplIGFyZ3VtZW50IGpha28gdcW+aXZhdGVsc2vDqSBqbcOpbm8gbmVib1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBJRCB1xb5pdmF0ZWxlXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICJzZWxoYWxvIHpqacWhdMSbbsOtIHByaW9yaXR5ICVkICglcykiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo5OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICJzZWxoYWxvIG5hc3RhdmVuw60gcHJpb3JpdHkgJWQgKCVzKSIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjEwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlZCAoJXMpIG9sZCBwcmlvcml0eSAlZCwgbmV3IHByaW9yaXR5ICVkXG4iCittc2dzdHIgIiVkICglcyk6IHDFr3ZvZG7DrSBwcmlvcml0YSAlZCwgbm92w6EgcHJpb3JpdGEgJWRcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjE3NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHVzZXIgJXMiCittc2dzdHIgIm5lem7DoW3DvSB1xb5pdmF0ZWw6ICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIG9uZSBvZiB0aGUgYWJvdmUKKyMuICogdGhyZWUgSUQgbmFtZXMuIFJlYWQ6ICJiYWQgdmFsdWUgZm9yICVzOiAlcyIKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkICVzIHZhbHVlOiAlcyIKK21zZ3N0ciAiY2h5Ym7DoSBob2Rub3RhICVzOiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo5OAorbXNnaWQgIkVudGVyIGEgc3lzdGVtIHNsZWVwIHN0YXRlIHVudGlsIGEgc3BlY2lmaWVkIHdha2V1cCB0aW1lLlxuIgorbXNnc3RyICJQxZlldmVkZSBzeXN0w6ltIGRvIHNww6Fua3UgYSBwcm9idWTDrSBzZSB2wqB1csSNZW7DvSDEjWFzLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMQorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgcmVhZHMgdGhlIGNsb2NrIG1vZGUgZnJvbSBhZGp1c3QgZmlsZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgesOtc2vDoSByZcW+aW0gaG9kaW4gemUgc291Ym9ydSBzZSBzeXN0ZW1hdGlja8O9bVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zdW5lbSAodsO9Y2hvesOtKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWRqZmlsZSA8c291Ym9yPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdXLEjXVqZSBjZXN0dSBrwqBzb3Vib3J1IHNlIHN5c3RlbWF0aWNrw71tIHBvc3VuZW1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICh2w71jaG96w60gamUgJXMpXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA1Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICBkYXRlIHRpbWUgb2YgdGltZXN0YW1wIHRvIHdha2VcbiIKK21zZ3N0ciAiICAgICAtLWRhdGUgPMSNYXM+ICAgICAgICAgxI1hcyBwcm9idXplbsOtXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA2Cittc2dpZCAiIC1kLCAtLWRldmljZSA8ZGV2aWNlPiAgICBzZWxlY3QgcnRjIGRldmljZSAocnRjMHxydGMxfC4uLilcbiIKK21zZ3N0ciAiIC1kLCAtLWRldmljZSA8emHFmcOtemVuw60+ICB2eWJlcmUgUlRDIHphxZnDrXplbsOtIChydGMwfHJ0YzF84oCmKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNworbXNnaWQgIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgZG9lcyBldmVyeXRoaW5nLCBidXQgc3VzcGVuZFxuIgorbXNnc3RyICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIHByb3ZlZGUgdsWhZSBhxb4gbmEgdXNww6Fuw61cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDgKK21zZ2lkICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCittc2dzdHIgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIHBvdcW+w612w6EgbcOtc3Ruw60gxI1hc292b3UgesOzbnVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDkKK21zZ2lkICIgICAgIC0tbGlzdC1tb2RlcyAgICAgICAgIGxpc3QgYXZhaWxhYmxlIG1vZGVzXG4iCittc2dzdHIgIiAgICAgLS1saXN0LW1vZGVzICAgICAgICAgdnlww63FoWUgZG9zdHVwbsOpIHJlxb5pbXlcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTAKK21zZ2lkICIgLW0sIC0tbW9kZSA8bW9kZT4gICAgICAgIHN0YW5kYnl8bWVtfC4uLiBzbGVlcCBtb2RlXG4iCittc2dzdHIgIiAtbSwgLS1tb2RlIDxyZcW+aW0+ICAgICAgIHJlxb5pbSBzcMOhbmt1IChzdGFuZGJ5fG1lbXzigKYpIFtwb2hvdG92b3N0fHBhbcSbxaV84oCmXVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMQorbXNnaWQgIiAtcywgLS1zZWNvbmRzIDxzZWNvbmRzPiAgc2Vjb25kcyB0byBzbGVlcFxuIgorbXNnc3RyICIgLXMsIC0tc2Vjb25kcyA8c2VrdW5keT4gIGtvbGlrIHNla3VuZCBidWRlIHNww6F0XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEyCittc2dpZCAiIC10LCAtLXRpbWUgPHRpbWVfdD4gICAgICB0aW1lIHRvIHdha2VcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgPHRpbWVfdD4gICAgICDEjWFzIHByb2J1emVuw61cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTMKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2VzIFVUQ1xuIgorbXNnc3RyICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyBixJvFvsOtIHbCoFVUQ1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHBvZHJvYm7DqSB6cHLDoXZ5XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTY3Cittc2dpZCAicmVhZCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgInDFmWXEjXRlbsOtIGhvZGluIFJUQyBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE3MworbXNnaWQgInJlYWQgc3lzdGVtIHRpbWUgZmFpbGVkIgorbXNnc3RyICJwxZllxI10ZW7DrSBzeXN0w6ltb3bDvWNoIGhvZGluIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTg5Cittc2dpZCAiY29udmVydCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgInDFmWV2b2QgxI1hc3UgUlRDIHNlbGhhbCIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyMzcKK21zZ2lkICJzZXQgcnRjIHdha2UgYWxhcm0gZmFpbGVkIgorbXNnc3RyICJuYXN0YXZlbsOtIGJ1ZMOta3UgUlRDIHBybyBwcm9idXplbsOtIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzA3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdGhpcmQgbGluZSBpbjogJXM6ICVzIgorbXNnc3RyICJuZW/EjWVrw6F2YW7DvSB0xZlldMOtIMWZw6FkZWsgdsKgJXM6ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMyMCBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyNAorbXNnaWQgInJlYWQgcnRjIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAicMWZZcSNdGVuw60gYnVkw61rdSBSVEMgc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9mZlxuIgorbXNnc3RyICJidWTDrWs6IHZ5cG51dFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMzOAorbXNnaWQgImNvbnZlcnQgdGltZSBmYWlsZWQiCittc2dzdHIgInDFmWV2b2QgxI1hc3Ugc2VsaGFsIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb24gICVzIgorbXNnc3RyICJidWTDrWs6IHphcG51dCAgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mzg3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkOiAlcyIKK21zZ3N0ciAibmVieWxvIG1vxb5uw6kgcMWZZcSNw61zdDogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDY3CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdXNwZW5kIHN0YXRlICclcyciCittc2dzdHIgIm5lcm96cG96bmFuw70gcmXFvmltIHNww6Fua3Ug4oCeJXPigJwiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDc1Cittc2dpZCAiaW52YWxpZCBzZWNvbmRzIGFyZ3VtZW50IgorbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnQgc2VrdW5kIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ3OQorbXNnaWQgImludmFsaWQgdGltZSBhcmd1bWVudCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IMSNYXN1IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYXNzdW1pbmcgUlRDIHVzZXMgVVRDIC4uLlxuIgorbXNnc3RyICIlczogcMWZZWRwb2tsw6Fkw6FtLCDFvmUgaG9kaW55IHJlw6FsbsOpaG8gxI1hc3UgYsSbxb7DrSB2wqBVVEPigKZcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTEKK21zZ2lkICJVc2luZyBVVEMgdGltZS5cbiIKK21zZ3N0ciAiUG91xb7DrXbDoW0gVVRDIMSNYXMuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTEyCittc2dpZCAiVXNpbmcgbG9jYWwgdGltZS5cbiIKK21zZ3N0ciAiUG91xb7DrXbDoW0gbcOtc3Ruw60gxI1hcy5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTUKK21zZ2lkICJtdXN0IHByb3ZpZGUgd2FrZSB0aW1lIChzZWUgLS1zZWNvbmRzLCAtLXRpbWUgYW5kIC0tZGF0ZSBvcHRpb25zKSIKK21zZ3N0ciAiamUgbmV6Ynl0bsOpIHV2w6lzdCDEjWFzIHByb2J1emVuw60gKHZpenRlIHDFmWVww61uYcSNZSAtLXNlY29uZHMsIC0tdGltZSBhIC0tZGF0ZSkiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBlbmFibGVkIGZvciB3YWtldXAgZXZlbnRzIgorbXNnc3RyICIlcyBuZW3DoSBkb3ZvbGVubyByZWFnb3ZhdCBuYSBwcm9ib3V6ZWPDrSB1ZMOhbG9zdGkiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTI4CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtICVsZCwgc3lzX3RpbWUgJWxkLCBydGNfdGltZSAlbGQsIHNlY29uZHMgJXVcbiIKK21zZ3N0ciAiYnVkw61rICVsZCwgc3lzdMOpbW92w71fxI1hcyAlbGQsIHJlw6FsbsO9X8SNYXMgJWxkLCBzZWt1bmQgJXVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBkb2Vzbid0IGdvIGJhY2t3YXJkIHRvICVzIgorbXNnc3RyICJob2RpbnkgbmVkb2pkb3UgcG96cMOhdGt1IGvCoCVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlczogcHJvYnV6ZW7DrSB6YSBwb21vY2kgJXMgdsKgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgZnJvbSBcIiVzXCIgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIiVzOiBwcm9idXplbsOtIHplIHN0YXZ1IOKAniVz4oCcIHphIHBvbW9jaSAlcyB2wqAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBubzsgbGVhdmluZ1xuIgorbXNnc3RyICJyZcW+aW0gc3DDoW5rdTogbm8gKMW+w6FkbsO9KTsga29uxI3DrSBzZVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9mZjsgZXhlY3V0aW5nICVzXG4iCittc2dzdHIgInJlxb5pbSBzcMOhbmt1OiBvZmYgKHZ5cG51dG8pOyBzcG91xaF0w60gc2UgJXNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvbjsgcmVhZGluZyBydGNcbiIKK21zZ3N0ciAicmXFvmltIHNww6Fua3k6IG9uICh6YXBudXRvKTsgxI10ZSBzZSBSVENcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1OTIKK21zZ2lkICJydGMgcmVhZCBmYWlsZWQiCittc2dzdHIgIsSNdGVuw60gaG9kaW4gcmXDoWxuw6lobyDEjWFzdSBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwNAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IGRpc2FibGU7IGRpc2FibGluZyBhbGFybVxuIgorbXNnc3RyICJyZcW+aW0gc3DDoW5rdTogZGlzYWJsZSAoemFrw6F6w6Fubyk7IGJ1ZMOtayBzZSB2eXDDrW7DoVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIKK21zZ3N0ciAicmXFvmltIHNww6Fua3U6IHNob3c7IHpvYnJhesOtIHNlIMO6ZGFqZSBvwqBidWTDrWt1XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjE1CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogJXM7IHN1c3BlbmRpbmcgc3lzdGVtXG4iCittc2dzdHIgInJlxb5pIHNww6Fua3U6ICVzOyBzeXN0w6ltIGJ1ZGUgdXNww6FuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjI5Cittc2dpZCAiZGlzYWJsZSBydGMgYWxhcm0gaW50ZXJydXB0IGZhaWxlZCIKK21zZ3N0ciAiemFrw6F6w6Fuw60gcMWZZXJ1xaFlbsOtIGJ1ZMOta3UgaG9kaW4gcmXDoWxuw6lobyDEjWFzdSBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlN3aXRjaGluZyBvbiAlcy5cbiIKK21zZ3N0ciAiWmFww61uw6Egc2UgJXMuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxhcmNoPiBbb3B0aW9uc10gWzxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIiAlcyA8YXJjaGl0ZWt0dXJhPiBbcMWZZXDDrW5hxI1lXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD7igKZdXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIDxwcm9ncmFtPiBbPGFyZ3VtZW50PuKApl1cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5NgorbXNnaWQgIkNoYW5nZSB0aGUgcmVwb3J0ZWQgYXJjaGl0ZWN0dXJlIGFuZCBzZXQgcGVyc29uYWxpdHkgZmxhZ3MuXG4iCittc2dzdHIgIlptxJtuw60gaGzDocWhZW5vdSBhcmNoaXRla3R1cnUgYSBuYXN0YXbDrSBqZWrDrSBjaGFyYWt0ZXJpc3Rpa3UuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTkKK21zZ2lkICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIHR1cm5zIG9uIEFERFJfTElNSVRfMzJCSVRcbiIKK21zZ3N0ciAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB6YXBuZSBBRERSX0xJTUlUXzMyQklUXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAwCittc2dpZCAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorbXNnc3RyICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIHXEjWluw60gdWthemF0ZWxlIGZ1bmtjw60gdWthenVqw61jw60gbmEgZGVza3JpcHRvcnlcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDEKK21zZ2lkICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIHR1cm5zIG9uIFNIT1JUX0lOT0RFXG4iCittc2dzdHIgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgemFwbmUgU0hPUlRfSU5PREVcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDIKK21zZ2lkICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKK21zZ3N0ciAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCB6bcSbbsOtIHpwxa9zb2IsIGpha8O9bSBqZSB2aXJ0dcOhbG7DrSBwYW3Em8WlIHDFmWlkxJtsb3bDoW5hXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAzCittc2dpZCAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBkaXNhYmxlcyByYW5kb21pemF0aW9uIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2VcbiIKK21zZ3N0ciAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICB2eXBuZSB6bsOhaG9kbsSbbsOtIHByb3N0b3J1IHZpcnR1w6FsbsOtY2ggYWRyZXNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDQKK21zZ2lkICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHR1cm5zIG9uIFdIT0xFX1NFQ09ORFNcbiIKK21zZ3N0ciAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICB6YXBuZSBXSE9MRV9TRUNPTkRTXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA1Cittc2dpZCAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0dXJucyBvbiBTVElDS1lfVElNRU9VVFNcbiIKK21zZ3N0ciAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB6YXBuZSBTVElDS1lfVElNRU9VVFNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDYKK21zZ2lkICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCittc2dzdHIgIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgemFwbmUgUkVBRF9JTVBMSUVTX0VYRUNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDcKK21zZ2lkICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHR1cm5zIG9uIE1NQVBfUEFHRV9aRVJPXG4iCittc2dzdHIgIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgemFwbmUgTU1BUF9QQUdFX1pFUk9cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDgKK21zZ2lkICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCittc2dzdHIgIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgb21lesOtIHBvdcW+aXTDvSBhZHJlc27DrSBwcm9zdG9yIGhyYW5pY8OtIDPigK9HQlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOQorbXNnaWQgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKK21zZ3N0ciAiICAgICAtLTRnYiAgICAgICAgICAgICAgICBpZ25vcm92w6FubyAoamVuIHBybyB6cMSbdG5vdSBrb21wYXRpYmlsaXR1KVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMAorbXNnaWQgIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgdHVybnMgb24gVU5BTUUyNlxuIgorbXNnc3RyICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHphcG5lIFVOQU1FMjZcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheSB3aGF0IG9wdGlvbnMgYXJlIGJlaW5nIHN3aXRjaGVkIG9uXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdnlwaXN1amUsIGt0ZXLDqSB2b2xieSBqc291IHphcMOtbsOhbnlcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTQKK21zZ2lkICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3Qgc2V0dGFibGUgYXJjaGl0ZWN0dXJlcywgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAtLWxpc3QgICAgICAgICAgICAgICB2eXDDrcWhZSBzZXpuYW0gbW/Fvm7DvWNoIGFyY2hpdGVrdHVyIGEgc2tvbsSNw61cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzXG4iCisiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKK21zZ3N0ciAiIgorIiVzXG4iCisiVsOtY2UgaW5mb3JtYWPDrSB6w61za8OhdGUgcMWZw61rYXplbSDigJ4lcyAtLWhlbHDigJwuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorbXNnc3RyICJWw61jZSBpbmZvcm1hY8OtIHrDrXNrw6F0ZSBwxZnDrWthemVtIOKAniVzIC0taGVscOKAnC4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBVbnJlY29nbml6ZWQgYXJjaGl0ZWN0dXJlIgorbXNnc3RyICIgJXM6IE5lcm96cG96bmFuw6EgYXJjaGl0ZWt0dXJhIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI1OAorIywgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgY2Fubm90IHNldCBhcmNoaXRlY3R1cmUgdG8gJXMiCittc2dzdHIgIkrDoWRybyBuZW3Fr8W+ZSBuYXN0YXZpdCBhcmNoaXRla3R1cnUgbmEgJXMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzA1Cittc2dpZCAiTm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIk3DoWxvIGFyZ3VtZW50xa8iCisKKyMgcGVyc29uYWxpdHkg4oCTwqBjaGFyYWt0ZXJpc3Rpa2EgYXJjaGl0ZWt0dXJ5CisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjMyMgorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICJTZWxoYWxvIG5hc3RhdmVuw60gY2hhcmFrdGVyaXN0aWt5IGFyY2hpdGVrdHVyeSBuYSAlcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNzkKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICctLWxpc3QnIgorbXNnc3RyICJuZXJvenBvem5hbsO9IHDFmWVww61uYcSNIOKAni0tbGlzdOKAnCIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozODcKK21zZ2lkICJubyBhcmNoaXRlY3R1cmUgYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJuZXphZMOhbiBhcmd1bWVudCBzwqBhcmNoaXRla3R1cm91IgorCisjIHBlcnNvbmFsaXR5IOKAk8KgY2hhcmFrdGVyaXN0aWthIGFyY2hpdGVrdHVyeQorIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAic2VsaGFsbyBuYXN0YXZlbsOtIGNoYXJha3RlcmlzdGlreSBhcmNoaXRla3R1cnkgbmEgJXMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGUgY29tbWFuZCBgJXMnLlxuIgorbXNnc3RyICJTcG91xaF0w60gc2UgcMWZw61rYXog4oCeJXPigJwuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggZGlmZmVyZW50IHByaXZpbGVnZSBzZXR0aW5ncy5cbiIKK21zZ3N0ciAiU3B1c3TDrSBwcm9ncmFtIHPCoGppbsO9bSBuYXN0YXZlbsOtbSBvcHLDoXZuxJtuw60uXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTAwCittc2dpZCAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICBzaG93IGN1cnJlbnQgc3RhdGUgKGFuZCBkbyBub3QgZXhlYyBhbnl0aGluZylcbiIKK21zZ3N0ciAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICB6b2JyYXrDrSBzb3XEjWFzbsO9IHN0YXYgKGEgbmljIG5lc3B1c3TDrSlcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDEKK21zZ2lkICIgLS1ubnAsIC0tbm8tbmV3LXByaXZzICAgIGRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzXG4iCittc2dzdHIgIiAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAgemFrw6HFvmUgcMWZaWTDoXbDoW7DrSBvcHLDoXZuxJtuw61cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDIKK21zZ2lkICIgLS1pbmgtY2FwcyA8Y2FwcywuLi4+ICAgIHNldCBpbmhlcml0YWJsZSBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIgorIiAtLWluaC1jYXBzIDxrdmFsaWZpa2FjZSzigKY+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBuYXN0YXbDrSBkxJtkaXRlbG7DqSBrdmFsaWZpa2FjZVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMworbXNnaWQgIiAtLWJvdW5kaW5nLXNldCA8Y2Fwcz4gICAgc2V0IGNhcGFiaWxpdHkgYm91bmRpbmcgc2V0XG4iCittc2dzdHIgIiIKKyIgLS1ib3VuZGluZy1zZXQgPGt2YWxpZmlrYWNlPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgbmFzdGF2w60gb2hyYW5pxI11asOtY8OtIG1ub8W+aW51XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA0Cittc2dpZCAiIC0tcnVpZCA8dWlkPiAgICAgICAgICAgICBzZXQgcmVhbCB1aWRcbiIKK21zZ3N0ciAiIC0tcnVpZCA8VUlEPiAgICAgICAgICAgICBuYXN0YXbDrSByZcOhbG7DqSBVSURcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDUKK21zZ2lkICIgLS1ldWlkIDx1aWQ+ICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiAtLWV1aWQgPFVJRD4gICAgICAgICAgICAgbmFzdGF2w60gZWZla3Rpdm7DrSBVSURcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDYKK21zZ2lkICIgLS1yZ2lkIDxnaWQ+ICAgICAgICAgICAgIHNldCByZWFsIGdpZFxuIgorbXNnc3RyICIgLS1yZ2lkIDxHSUQ+ICAgICAgICAgICAgIG5hc3RhdsOtIHJlw6FsbsOpIEdJRFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNworbXNnaWQgIiAtLWVnaWQgPGdpZD4gICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiIC0tZWdpZCA8R0lEPiAgICAgICAgICAgICBuYXN0YXbDrSBlZmVrdGl2bsOtIEdJRFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwOAorbXNnaWQgIiAtLXJldWlkIDx1aWQ+ICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIC0tcmV1aWQgPFVJRD4gICAgICAgICAgICBuYXN0YXbDrSByZcOhbG7DqSBhIGVmZWt0aXZuw60gVUlEXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA5Cittc2dpZCAiIC0tcmVnaWQgPGdpZD4gICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIgLS1yZWdpZCA8R0lEPiAgICAgICAgICAgIG5hc3RhdsOtIHJlw6FsbsOpIGEgZWZla3Rpdm7DrSBHSURcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTAKK21zZ2lkICIgLS1jbGVhci1ncm91cHMgICAgICAgICAgIGNsZWFyIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgb2RzdHJhbsOtIGRvcGzFiGtvdsOpIHNrdXBpbnlcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTEKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICBwb25lY2jDoSBkb3BsxYhrb3bDqSBza3VwaW55XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEyCittc2dpZCAiIC0tZ3JvdXBzIDxncm91cCwuLi4+ICAgICBzZXQgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0tZ3JvdXBzIDxza3VwaW5hLOKApj4gICAgIG5hc3RhdsOtIGRvcGzFiGtvdsOpIHNrdXBpbnlcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTMKK21zZ2lkICIgLS1zZWN1cmViaXRzIDxiaXRzPiAgICAgIHNldCBzZWN1cmViaXRzXG4iCittc2dzdHIgIiAtLXNlY3VyZWJpdHMgPGJpdHk+ICAgICAgbmFzdGF2w60gYmV6cGXEjW5vc3Ruw60gYml0eVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNAorbXNnaWQgIiAtLXNlbGludXgtbGFiZWwgPGxhYmVsPiAgc2V0IFNFTGludXggbGFiZWxcbiIKK21zZ3N0ciAiIC0tc2VsaW51eC1sYWJlbCA8em5hxI1rYT4gbmFzdGF2w60gc2VsaW51eG92b3Ugem5hxI1rdVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNQorbXNnaWQgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgc2V0IEFwcEFybW9yIHByb2ZpbGVcbiIKK21zZ3N0ciAiIgorIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByb2ZpbD5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIG5hc3RhdsOtIHByb2ZpbGUgQXBwQXJtb3J1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIxCittc2dpZCAiIFRoaXMgdG9vbCBjYW4gYmUgZGFuZ2Vyb3VzLiAgUmVhZCB0aGUgbWFucGFnZSwgYW5kIGJlIGNhcmVmdWwuXG4iCittc2dzdHIgIiIKKyJUZW50byBuw6FzdHJvaiBtxa/FvmUgYsO9dCBuZWJlenBlxI1uw70uIFDFmWXEjXTEm3RlIHNpIG1hbnXDoWxvdm91IHN0csOhbmt1IGFcbiIKKyJidcSPdGUgb3BhdHJuw60uXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTkzIHN5cy11dGlscy9zZXRwcml2LmM6NDY3Cittc2dpZCAiZ2V0dGluZyBwcm9jZXNzIHNlY3VyZSBiaXRzIGZhaWxlZCIKK21zZ3N0ciAibmVwb2RhxZlpbG8gc2UgesOtc2thdCBiZXpwZcSNbm9zdMOtIGJpdHkgcHJvY2VzdSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdXJlYml0czogIgorbXNnc3RyICJCZXpwZcSNbm9zdG7DrSBiaXR5OiAiCisKKyMgc2VjdXJlIGJpdHMKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIltub25lXVxuIgorbXNnc3RyICJbxb7DoWRuw6ldXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbG9uZyIKK21zZ3N0ciAiJXM6IHDFmcOtbGnFoSBkbG91aMOpIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwczogIgorbXNnc3RyICJEb3BsxYhrb3bDqSBza3VwaW55OiAiCisKKyMgc3VwcGxlbWVudGFyeSBncm91cHMsIGNhcGFiaWxpdGllcywgYm91bmRpbmcgc2V0LiBVc2UgbmV1dHJhbCBgbmljJworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNzMgc3lzLXV0aWxzL3NldHByaXYuYzozMjEgc3lzLXV0aWxzL3NldHByaXYuYzozMjYKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzMyIHN5cy11dGlscy9zZXRwcml2LmM6MzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIltub25lXSIKK21zZ3N0ciAiW25pY10iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgInVpZDogJXVcbiIKK21zZ3N0ciAiVUlEOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICJldWlkOiAldVxuIgorbXNnc3RyICJFVUlEOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJzdWlkOiAldVxuIgorbXNnc3RyICJTVUlEOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5OSBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5MQorbXNnaWQgImdldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgInZvbMOhbsOtIGdldHJlc3VpZCBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMwOCBzeXMtdXRpbHMvc2V0cHJpdi5jOjQwNgorbXNnaWQgImdldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgInZvbMOhbsOtIGdldHJlc2dpZCBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICJFZmZlY3RpdmUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIkVmZWt0aXZuw60ga3ZhbGlmaWthY2U6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGVybWl0dGVkIGNhcGFiaWxpdGllczogIgorbXNnc3RyICJQb3ZvbGVuw6kga3ZhbGlmaWthY2U6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIkTEm2RpdGVsbsOpIGt2YWxpZmlrYWNlOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzM1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhcGFiaWxpdHkgYm91bmRpbmcgc2V0OiAiCittc2dzdHIgIk1ub8W+aW5hIG9ocmFuacSNdWrDrWPDrSBrdmFsaWZpa2FjZTogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MworbXNnaWQgIlNFTGludXggbGFiZWwiCittc2dzdHIgIlpuYcSNa2EgU0VMaW51eHUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQ2Cittc2dpZCAiQXBwQXJtb3IgcHJvZmlsZSIKK21zZ3N0ciAiUHJvZmlsIEFwcEFybW9ydSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FwICVkOiBsaWJjYXAtbmcgaXMgYnJva2VuIgorbXNnc3RyICJrdmFsaWZpa2FjZSAlZDoga25paG92bmEgbGliY2FwLW5nIGplIHJvemJpdMOhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4MgorbXNnaWQgIkludmFsaWQgc3VwcGxlbWVudGFyeSBncm91cCBpZCIKK21zZ3N0ciAiQ2h5Ym7DqSDEjcOtc2xvIGRvcGzFiGtvdsOpIHNrdXBpbnkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzk5Cittc2dpZCAic2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAidm9sw6Fuw60gc2V0cmVzdWlkIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDE0Cittc2dpZCAic2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAidm9sw6Fuw60gc2V0cmVzZ2lkIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDM1Cittc2dpZCAiYmFkIGNhcGFiaWxpdHkgc3RyaW5nIgorbXNnc3RyICLFoXBhdG7DvSDFmWV0xJt6ZWMgc8Kga3ZhbGlmaWthY2VtaSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NDMKK21zZ2lkICJsaWJjYXAtbmcgaXMgdG9vIG9sZCBmb3IgXCJhbGxcIiBjYXBzIgorbXNnc3RyICJrbmlob3ZuYSBsaWJjYXAtbmcgamUgcHJvIGt2YWxpZmlrYWNpIOKAnmFsbOKAnCBwxZnDrWxpxaEgc3RhcsOhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ1MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNhcGFiaWxpdHkgXCIlc1wiIgorbXNnc3RyICJuZXpuw6Ftw6Ega3ZhbGlmaWthY2Ug4oCeJXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDc2Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCBzZXQgLS0gcmVmdXNpbmcgdG8gYWRqdXN0IgorbXNnc3RyICJuZXpuw6Ftw6EgbW5vxb5pbmEgYmV6cGXEjW5vc3Ruw61jaCBiaXTFryAtIHptxJtuYSBvZG3DrXRudXRhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ4MAorbXNnaWQgImJhZCBzZWN1cmViaXRzIHN0cmluZyIKK21zZ3N0ciAixaFwYXRuw70gxZlldMSbemVjIHPCoGJlenBlxI1ub3N0bsOtbWkgYml0eSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0ODcKK21zZ2lkICIrYWxsIHNlY3VyZWJpdHMgaXMgbm90IGFsbG93ZWQiCittc2dzdHIgImJlenBlxI1ub3N0w60gYml0eSDigJ4rYWxs4oCcIG5lanNvdSBwb3ZvbGVueSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDAKK21zZ2lkICJhZGp1c3Rpbmcga2VlcF9jYXBzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgInptxJtuYSBrZWVwX2NhcHMgbmVkw6F2w6Egc215c2wiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTA0Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAibmVyb3pwb3puYW7DvSBiZXpwZcSNbm9zdG7DrSBiaXQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTI0Cittc2dpZCAiU0VMaW51eCBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiU0VMaW51eCBuZWLEm8W+w60iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb3NlIGZhaWxlZDogJXMiCittc2dzdHIgInV6YXbFmWVuw60gc2VsaGFsbzogJXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTQ3Cittc2dpZCAiQXBwQXJtb3IgaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIkFwcEFybW9yIG5lYsSbxb7DrSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NTgKK21zZ2lkICJkdXBsaWNhdGUgLS1uby1uZXctcHJpdnMgb3B0aW9uIgorbXNnc3RyICJuw6Fzb2Juw70gcMWZZXDDrW5hxI0gLS1uby1uZXctcHJpdnMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjYzCittc2dpZCAiZHVwbGljYXRlIHJ1aWQiCittc2dzdHIgIm7DoXNvYm7DqSBlZmVrdGl2bsOtIFVJRCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NjUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcnVpZCIKK21zZ3N0ciAicmXDoWxuw60gVUlEIHNlIG5lemRhxZlpbG8gcm96ZWJyYXQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjY5Cittc2dpZCAiZHVwbGljYXRlIGV1aWQiCittc2dzdHIgIm7DoXNvYm7DqSBlZmVrdGl2bsOtIFVJRCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXVpZCIKK21zZ3N0ciAiZWZla3Rpdm7DrSBVSUQgc2UgbmVwb2RhxZlpbG8gcm96ZWJyYXQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njc1Cittc2dpZCAiZHVwbGljYXRlIHJ1aWQgb3IgZXVpZCIKK21zZ3N0ciAibsOhc29ibsOpIHJlw6FsbsOpIG5lYm8gZWZla3Rpdm7DrSBVSUQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njc3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJldWlkIgorbXNnc3RyICJob2Rub3R1IHJldWlkIHNlIG5lemRhxZlpbG8gcm96ZWJyYXQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjgxCittc2dpZCAiZHVwbGljYXRlIHJnaWQiCittc2dzdHIgIm7DoXNvYm7DqSByZcOhbG7DqSBHSUQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjgzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJnaWQiCittc2dzdHIgInJlw6FsbsOpIEdJRCBzZSBuZXpkYcWZaWxvIHJvemVicmF0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4NworbXNnaWQgImR1cGxpY2F0ZSBlZ2lkIgorbXNnc3RyICJuw6Fzb2Juw6kgZWZla3Rpdm7DrSBHSUQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njg5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVnaWQiCittc2dzdHIgImVmZWt0aXZuw60gR0lEIHNlIG5lcG9kYcWZaWxvIHJvemVicmF0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY5MworbXNnaWQgImR1cGxpY2F0ZSByZ2lkIG9yIGVnaWQiCittc2dzdHIgIm7DoXNvYm7DqSByZcOhbG7DqSBuZWJvIGVmZWt0aXZuw60gR0lEIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY5NQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZWdpZCIKK21zZ3N0ciAiaG9kbm90dSByZWdpZCBzZSBuZXpkYcWZaWxvIHJvemVicmF0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcwMAorbXNnaWQgImR1cGxpY2F0ZSAtLWNsZWFyLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIm7DoXNvYm7DvSBwxZllcMOtbmHEjSAtLWNsZWFyLWdyb3VwcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MDYKK21zZ2lkICJkdXBsaWNhdGUgLS1rZWVwLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIm7DoXNvYm7DvSBwxZllcMOtbmHEjWUgLS1rZWVwLWdyb3VwcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MTIKK21zZ2lkICJkdXBsaWNhdGUgLS1ncm91cHMgb3B0aW9uIgorbXNnc3RyICJuw6Fzb2Juw70gcMWZZXDDrW5hxI0gLS1ncm91cHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzIxCittc2dpZCAiZHVwbGljYXRlIC0taW5oLWNhcHMgb3B0aW9uIgorbXNnc3RyICJuw6Fzb2Juw70gcMWZZXDDrW5hxI0gLS1pbmgtY2FwcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MjcKK21zZ2lkICJkdXBsaWNhdGUgLS1ib3VuZGluZy1zZXQgb3B0aW9uIgorbXNnc3RyICJuw6Fzb2Juw70gcMWZZXDDrW5hxI1lIC0tYm91bmRpbmctc2V0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjczMworbXNnaWQgImR1cGxpY2F0ZSAtLXNlY3VyZWJpdHMgb3B0aW9uIgorbXNnc3RyICJuw6Fzb2Juw70gcMWZZXDDrW5hxI0gLS1zZWN1cmViaXRzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjczOQorbXNnaWQgImR1cGxpY2F0ZSAtLXNlbGludXgtbGFiZWwgb3B0aW9uIgorbXNnc3RyICJuw6Fzb2Juw70gcMWZZXDDrW5hxI0gLS1zZWxpbnV4LWxhYmVsIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc0NQorbXNnaWQgImR1cGxpY2F0ZSAtLWFwcGFybW9yLXByb2ZpbGUgb3B0aW9uIgorbXNnc3RyICJuw6Fzb2Juw70gcMWZZXDDrW5hxI0gLS1hcHBhcm1vci1wcm9maWxlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc1NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICclYyciCittc2dzdHIgIm5lcm96cG96bmFuw70gcMWZZXDDrW5hxI0g4oCeJWPigJwiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzYzCittc2dpZCAiLS1kdW1wIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBvcHRpb25zIgorbXNnc3RyICJwxZllcMOtbmHEjSAtLWR1bXAgbmVuw60gc2x1xI1pdGVsbsO9IGpha8O9bWtvbGl2IGppbsO9bSBwxZllcMOtbmHEjWVtIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3MQorbXNnaWQgIi0tbGlzdC1jYXBzIG11c3QgYmUgc3BlY2lmaWVkIGFsb25lIgorbXNnc3RyICJwxZllcMOtbmHEjSAtLWxpc3QtY2FwcyBtdXPDrSBiw710IHphZMOhbiBzYW1vc3RhdG7EmyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzcKK21zZ2lkICJObyBwcm9ncmFtIHNwZWNpZmllZCIKK21zZ3N0ciAiTmV6YWTDoW4gxb7DoWRuw70gcHJvZ3JhbSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODIKK21zZ2lkICItLVtyZV1naWQgcmVxdWlyZXMgLS1rZWVwLWdyb3VwcywgLS1jbGVhci1ncm91cHMsIG9yIC0tZ3JvdXBzIgorbXNnc3RyICJwxZllcMOtbmHEjSAtLVtyZV1naWQgdnnFvmFkdWplIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCBuZWJvIC0tZ3JvdXBzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4NQorbXNnaWQgImRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzIGZhaWxlZCIKK21zZ3N0ciAiemFrw6F6w6Fuw60gcMWZaWTEm2xvdsOhbsOtIG5vdsO9Y2ggb3Byw6F2bsSbbsOtIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzkzCittc2dpZCAia2VlcCBwcm9jZXNzIGNhcGFiaWxpdGllcyBmYWlsZWQiCittc2dzdHIgInBvbmVjaMOhbsOtIGt2YWxpZmlrYWPDrSBwcm9jZXN1IHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODAxCittc2dpZCAiYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICJha3Rpdm92YXQga3ZhbGlmaWthY2UiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA3Cittc2dpZCAicmVhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgInJlYWt0aXZvdmF0IGt2YWxpZmlrYWNlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyMworbXNnaWQgInNldCBwcm9jZXNzIHNlY3VyZWJpdHMgZmFpbGVkIgorbXNnc3RyICJuYXN0YXZlbsOtIGJlenBlxI1ub3N0bsOtY2ggYml0xa8gcHJvY2VzdSBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyOQorbXNnaWQgImFwcGx5IGJvdW5kaW5nIHNldCIKK21zZ3N0ciAiYXBsaWtvdmF0IG9ocmFuacSNdWrDrWPDrSBtbm/FvmludSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzUKK21zZ2lkICJhcHBseSBjYXBhYmlsaXRpZXMiCittc2dzdHIgImFwbGlrb3ZhdCBrdmFsaWZpa2FjZSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGV4ZWN1dGU6ICVzIgorbXNnc3RyICJuZWx6ZSBzcHVzdGl0OiAlcyIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFthcmd1bWVudHMgLi4uXVxuIgorbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gPHByb2dyYW0+IFthcmd1bWVudOKApl1cbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjM2Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSBpbiBhIG5ldyBzZXNzaW9uLlxuIgorbXNnc3RyICJTcHVzdMOtIHByb2dyYW0gdsKgbm92w6kgcmVsYWNpLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzkKK21zZ2lkICIgLWMsIC0tY3R0eSAgICAgc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCB0byB0aGUgY3VycmVudCBvbmVcbiIKK21zZ3N0ciAiIC1jLCAtLWN0dHkgICAgIG5hc3RhdsOtIMWZw61kaWPDrSB0ZXJtaW7DoWwgbmEgc291xI1hc27DvVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDAKK21zZ2lkICIgLXcsIC0td2FpdCAgICAgd2FpdCBwcm9ncmFtIHRvIGV4aXQsIGFuZCB1c2UgdGhlIHNhbWUgcmV0dXJuXG4iCittc2dzdHIgIi13LCAtLXdhaXQgICAgICBwb8SNa8OhIG5hIHVrb27EjWVuw60gcHJvZ3JhbXUgYSB2csOhdMOtIGplaG8gbsOhdnJhdG92b3UgaG9kbm90dVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6OTMKK21zZ2lkICJmb3JrIgorbXNnc3RyICJmb3JrIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTA1CisjLCBjLWZvcm1hdAorbXNnaWQgImNoaWxkICVkIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAicG90b21layAlZCBuZXNrb27EjWlsIG5vcm3DoWxuxJsiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTAKK21zZ2lkICJzZXRzaWQgZmFpbGVkIgorbXNnc3RyICJ2b2zDoW7DrSBzZXRzaWQgc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExMworbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIgorbXNnc3RyICJuZXBvZGHFmWlsbyBzZSBuYXN0YXZpdCDFmcOtZGljw60gdGVybWluw6FsIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBvZmYgJXNcbiIKK21zZ3N0ciAidnlww61uw6Egc2Ugb2RrbMOhZMOhbsOtIGRvICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA1Cittc2dpZCAiTm90IHN1cGVydXNlci4iCittc2dzdHIgIk5lanN0ZSBzdXBlcnXFvml2YXRlbC4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb2ZmIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN3YXBvZmYgc2VsaGFsIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyMiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxzcGVjPl1cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIFs8c3BlY2lmaWthY2U+XVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyNQorbXNnaWQgIkRpc2FibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIlZ5cG5lIHN0csOhbmtvdsOhbsOtIGEgb2RrbMOhZMOhbsOtIGRvIHphxZnDrXplbsOtIGEgc291Ym9yxa8uXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI4Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIHN3YXBzIGZyb20gL3Byb2Mvc3dhcHNcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIHZ5cG5lIHbFoWVjaG55IG9ka2zDoWRhY8OtIG9ibGFzdGkgdXZlZGVuw6kgdsKgL3Byb2Mvc3dhcHNcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB1cG92w61kYW7DvSByZcW+aW1cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMzUKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQYXJhbWV0ciA8c3BlY2lmaWthY2U+OlxuIgorIiAtTCBKTUVOT1ZLQSAgICAgICAgICAgIHZ5YmVyZSB6YcWZw616ZW7DrSBwb2RsZSBqbWVub3ZreVxuIgorIiAtVSBVVUlEICAgICAgICAgICAgICAgIHZ5YmVyZSB6YcWZw616ZW7DrSBwb2RsZSBVVUlEXG4iCisiIExBQkVMPTxqbWVub3ZrYT4gICAgICAgdnliZXJlIHphxZnDrXplbsOtIHBvZGxlIGptZW5vdmt5XG4iCisiIFVVSUQ9PFVVSUQ+ICAgICAgICAgICAgdnliZXJlIHphxZnDrXplbsOtIHBvZGxlIFVVSURcbiIKKyIgPHphxZnDrXplbsOtPiAgICAgICAgICAgICB2eWJlcmUgemHFmcOtemVuw61cbiIKKyIgPHNvdWJvcj4gICAgICAgICAgICAgICB2eWJlcmUgc291Ym9yXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MworbXNnaWQgImRldmljZSBmaWxlIG9yIHBhcnRpdGlvbiBwYXRoIgorbXNnc3RyICJzb3Vib3IgemHFmcOtemVuw60gbmVibyBjZXN0YSBrwqBvZGTDrWx1IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTQKK21zZ2lkICJ0eXBlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgImRydWggemHFmcOtemVuw60iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NQorbXNnaWQgInNpemUgb2YgdGhlIHN3YXAgYXJlYSIKK21zZ3N0ciAidmVsaWtvc3Qgb2RrbMOhZGFjw60gb2JsYXN0aSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk2Cittc2dpZCAiYnl0ZXMgaW4gdXNlIgorbXNnc3RyICJwb3XFvml0byBiYWp0xa8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NworbXNnaWQgInN3YXAgcHJpb3JpdHkiCittc2dzdHIgInByaW9yaXRhIG9ka2zDoWRhY8OtIG9ibGFzdGkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OAorbXNnaWQgInN3YXAgdXVpZCIKK21zZ3N0ciAiVVVJRCBvZGtsw6FkYWPDrSBvYmxhc3RpIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTkKK21zZ2lkICJzd2FwIGxhYmVsIgorbXNnc3RyICJqbWVub3ZrYSBvZGtsw6FkYWPDrSBvYmxhc3RpIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzXHRcdFx0XHRUeXBlXHRcdFNpemVcdFVzZWRcdFByaW9yaXR5XG4iCittc2dzdHIgIiVzXHRcdFx0XHREcnVoXHRcdFZlbGlrb3N0XHRQb3XFvml0b1x0UHJpb3JpdGFcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI0NgorbXNnaWQgIkZpbGVuYW1lIgorbXNnc3RyICJOw6F6ZXYgc291Ym9ydSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVpbml0aWFsaXppbmcgdGhlIHN3YXAuIgorbXNnc3RyICIlczogb2RrbMOhZGFjw60gb2JsYXN0IHNlIHpub3Z1IGluaWNpYWxpenVqZS4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxzZWVrIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHZvbMOhbsOtIGxzZWVrIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIHNpZ25hdHVyZSBmYWlsZWQiCittc2dzdHIgIiVzOiB6w6FwaXMgdnpvcmNlIHNlbGhhbCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjUzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgLSBpdCBhcHBlYXJzIHRvIGhhdmUgaG9sZXMuIgorbXNnc3RyICIlczogdnluZWNow6F2w6FtwqDigJMgemTDoSBzZSwgxb5lIG9ic2FodWplIGTDrXJ5LiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0IHNpemUgZmFpbGVkIgorbXNnc3RyICIlczogbmVwb2RhxZlpbG8gc2Ugemppc3RpdCB2ZWxpa29zdCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBzd2FwIGhlYWRlciBmYWlsZWQiCittc2dzdHIgIiVzOiBuZXBvZGHFmWlsbyBzZSBuYcSNw61zdCBobGF2acSNa3Ugb2RrbMOhZGFjw60gb2JsYXN0aSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZm91bmQgc2lnbmF0dXJlIFtwYWdlc2l6ZT0lZCwgc2lnbmF0dXJlPSVzXSIKK21zZ3N0ciAiJXM6IG5hbGV6ZW4gdnpvcmVjIFt2ZWxpa29zdCBzdHLDoW5reSAlZCwgdnpvcmVjICVzXSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFnZXNpemU9JWQsIHN3YXBzaXplPSVsbHUsIGRldnNpemU9JWxsdSIKK21zZ3N0ciAiJXM6IHZlbGlrb3N0X3N0csOhbmt5PSVkLCB2ZWxpa29zdF/Dumxvxb5pxaF0xJs9JWxsdSwgdmVsaWtvc3RfemHFmcOtemVuw609JWxsdSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGFzdF9wYWdlIDB4JTA4bGx4IGlzIGxhcmdlciB0aGFuIGFjdHVhbCBzaXplIG9mIHN3YXBzcGFjZSIKK21zZ3N0ciAiJXM6IGxhc3RfcGFnZSAweCUwOGxseCBqZSB2xJt0xaHDrSBuZcW+IHNvdcSNYXNuw60gdmVsaWtvc3Qgb2RrbMOhZGFjw61obyBwcm9zdG9ydSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIgorbXNnc3RyICIlczogZm9ybcOhdCBvZGtsw6FkYWPDrWhvIHByb3N0b3J1IHNlIG5lc2hvZHVqZSB2ZSB2ZWxpa29zdGkgc3Ryw6Fua3kuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4gKFVzZSAtLWZpeHBnc3ogdG8gcmVpbml0aWFsaXplIGl0LikiCittc2dzdHIgIiVzOiBmb3Jtw6F0IG9ka2zDoWRhY8OtaG8gcHJvc3RvcnUgc2UgbmVzaG9kdWplIHZlIHZlbGlrb3N0aSBzdHLDoW5reS4gKEx6ZSBqaSB6bm92dSBpbmljaWFsaXpvdmF0IHBvbW9jw60gLS1maXhwZ3N6LikiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNvZnR3YXJlIHN1c3BlbmQgZGF0YSBkZXRlY3RlZC4gUmV3cml0aW5nIHRoZSBzd2FwIHNpZ25hdHVyZS4iCittc2dzdHIgIiVzOiBuYWxlemVuYSBkYXRhIHplIHNvZnR3YXJvdsOpaG8gdXNww6Fuw60uIFDFmWVwaXN1amUgc2UgdnpvcmVjIG9ka2zDoWRhY8OtIG9ibGFzdGkuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBvbiAlc1xuIgorbXNnc3RyICJ6YXDDrW7DoSBzZSBvZGtsw6Fkw6Fuw60gZG8gJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9uIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN3YXBvbiBzZWxoYWwiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vYXV0byBvcHRpb24gLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IHZvbGJhIG5vYXV0byDigJMgaWdub3J1amUgc2UiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgYWN0aXZlIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiBqacW+IGFrdGl2bsOtwqDigJMgaWdub3J1amUgc2UiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbmFjY2Vzc2libGUgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IG5lcMWZw61zdHVwbsO9wqDigJMgaWdub3J1amUgc2UiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTEKK21zZ2lkICJFbmFibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIlVtb8W+bsOtIHN0csOhbmtvdsOhbsOtIGEgb2RrbMOhZGFuw60gZG8gemHFmcOtemVuw60gYSBzb3Vib3LFry5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgZW5hYmxlIGFsbCBzd2FwcyBmcm9tIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICB6YXBuZSB2xaFlY2hueSBvZGtsw6FkYWPDrSBvYmxhc3RpIHV2ZWRlbsOpIHbCoC9ldGMvZnN0YWJcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NQorbXNnaWQgIiAtZCwgLS1kaXNjYXJkWz08cG9saWN5Pl0gZW5hYmxlIHN3YXAgZGlzY2FyZHMsIGlmIHN1cHBvcnRlZCBieSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAtZCwgLS1kaXNjYXJkWz08cG9saXRpa2E+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgemFwbmUgemFoYXpvdsOhbsOtIHN0csOhbmVrLCBqZS1saSBwb2Rwb3JvdsOhbm8gemHFmcOtemVuw61tXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTYKK21zZ2lkICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHNpbGVudGx5IHNraXAgZGV2aWNlcyB0aGF0IGRvIG5vdCBleGlzdFxuIgorbXNnc3RyICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHbCoHRpY2hvc3RpIHDFmWVza2/EjcOtIG5lZXhpc3R1asOtY8OtIHphxZnDrXplbsOtXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTcKK21zZ2lkICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHJlaW5pdGlhbGl6ZSB0aGUgc3dhcCBzcGFjZSBpZiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICB6bm92dSBpbmljaWFsaXp1amUgb2RrbMOhZGFjw60gb2JsYXN0LCBqZS1saSB0byBudXRuw6lcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5OAorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2Ygc3dhcCBvcHRpb25zXG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDxzZXpuYW0+ICAgxI3DoXJrb3Ugb2RkxJtsZW7DvSBzZXpuYW0gdm9sZWIgcHJvIG9ka2zDoWRhY8OtIG9ibGFzdFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk5Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBzcGVjaWZ5IHRoZSBwcmlvcml0eSBvZiB0aGUgc3dhcCBkZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1wcmlvcml0eSA8cHJpb3JpdGE+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB1csSNdWplIHByaW9yaXR1IG9ka2zDoWRhY8OtaG8gemHFmcOtemVuw61cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMAorbXNnaWQgIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgZGlzcGxheSBzdW1tYXJ5IGFib3V0IHVzZWQgc3dhcCBkZXZpY2VzIChERVBSRUNBVEVEKVxuIgorbXNnc3RyICIiCisiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICB6b2JyYXrDrSBwxZllaGxlZCBwb3XFvml0w71jaCBvZGtsw6FkYWPDrWNoIHphxZnDrXplbsOtXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAoWkFTVEFSQUzDiSlcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMQorbXNnaWQgIiAgICAgLS1zaG93Wz08Y29sdW1ucz5dICAgZGlzcGxheSBzdW1tYXJ5IGluIGRlZmluYWJsZSB0YWJsZVxuIgorbXNnc3RyICIgICAgIC0tc2hvd1s9PHNsb3VwY2U+XSAgem9icmF6w60gcMWZZWhsZWQgdsKgZGVmaW5vdmF0ZWxuw6kgdGFidWxjZVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAyCittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCB0YWJsZSBoZWFkaW5nICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBuZXpvYnJhesOtIHrDoWhsYXbDrSB0YWJ1bGt5IChwxZlpwqAtLXNob3cpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDMKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIG5lZm9ybcOhdG92YW7DvSB2w71zdHVwIChwxZlpwqAtLXNob3cpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDQKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIGRpc3BsYXkgc3dhcCBzaXplIGluIGJ5dGVzIGluIC0tc2hvdyBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICB6b2JyYXrDrSB2ZWxpa29zdGkgdsKgYmFqdGVjaCB2ZSB2w71zdHVwdSAtLXNob3dcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdXBvdsOtZGFuw70gcmXFvmltXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTEKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQYXJhbWV0ciA8c3BlY2lmaWthY2U+OlxuIgorIiAtTCA8am1lbm92a2E+ICAgICAgICAgIHN0ZWpuw6kgamFrbyBMQUJFTD08am1lbm92a2E+XG4iCisiIC1VIDxVVUlEPiAgICAgICAgICAgICAgc3Rlam7DqSBqYWtvIFVVSUQ9PFVVSUQ+XG4iCisiIExBQkVMPTxqbWVub3ZrYT4gICAgICAgdnliZXJlIHphxZnDrXplbsOtIHBvZGxlIGptZW5vdmt5IG9ka2zDoWRhY8OtIG9ibGFzdGlcbiIKKyIgVVVJRD08VVVJRD4gICAgICAgICAgICB2eWJlcmUgemHFmcOtemVuw60gcG9kbGUgVVVJRCBvZGtsw6FkYWPDrSBvYmxhc3RpXG4iCisiIFBBUlRMQUJFTD08am1lbm92a2E+ICAgdnliZXJlIHphxZnDrXplbsOtIHBvZGxlIGptZW5vdmt5IG9kZMOtbHVcbiIKKyIgUEFSVFVVSUQ9PFVVSUQ+ICAgICAgICB2eWJlcmUgemHFmcOtemVuw60gcG9kbGUgVVVJRCBvZGTDrWx1XG4iCisiIDx6YcWZw616ZW7DrT4gICAgICAgICAgICAgdnliZXJlIHphxZnDrXplbsOtXG4iCisiIDxzb3Vib3I+ICAgICAgICAgICAgICAgdnliZXJlIHNvdWJvclxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODIxCittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBkaXNjYXJkIHBvbGljeSB0eXBlcyAoZm9yIC0tZGlzY2FyZCk6XG4iCisiIG9uY2UgICAgOiBvbmx5IHNpbmdsZS10aW1lIGFyZWEgZGlzY2FyZHMgYXJlIGlzc3VlZFxuIgorIiBwYWdlcyAgIDogZnJlZWQgcGFnZXMgYXJlIGRpc2NhcmRlZCBiZWZvcmUgdGhleSBhcmUgcmV1c2VkXG4iCisiSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCBib3RoIGRpc2NhcmQgdHlwZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQpLlxuIgorbXNnc3RyICIiCisiXG4iCisiRG9zdHVwbsOpIHBvbGl0aWt5IHphaGF6b3bDoW7DrSAocHJvIHDFmWVww61uYcSNIC0tZGlzY2FyZCk6XG4iCisiIG9uY2UgICAgIHBvdXplIHphaG9kw60gYmxva3kgY2Vsw6kgb2RrbMOhZGFjw60gb2JsYXN0aSBwxZlpIHphcG51dMOtIChzd2Fwb24pLlxuIgorIiBwYWdlcyAgICB6YWhhenVqZSBibG9reSB1dm9sbsSbbsO9Y2ggc3Ryw6FuZWsgcMWZZWQgamVqaWNoIG9wxJt0b3Zuw71tIHBvdcW+aXTDrW0uXG4iCisiIE5lbsOtLWxpIHZ5YnLDoW5hIMW+w6FkbsOhIHBvbGl0aWthLCBvYmEgdHlweSB6YWhhem92w6Fuw60gYnVkb3UgemFwbnV0eSAodsO9Y2hvesOtKS5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgyNgorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJEb3N0dXBuw6kgc2xvdXBjZSAocHJvIC0tc2hvdyk6XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MDQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcHJpb3JpdHkiCittc2dzdHIgInByaW9yaXR1IHNlIG5lemRhxZlpbG8gcm96ZWJyYXQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICJuZXBvZHBvcm92YW7DoSBwb2xpdGlrYSB6YWhhem92w6Fuw606ICVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHRoZSBkZXZpY2UgZm9yICVzIgorbXNnc3RyICJuZWx6ZSBuYWzDqXp0IHphxZnDrXplbsOtIHBybyAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NTkKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkaXJlY3RvcnkiCittc2dzdHIgImFkcmVzw6HFmSBzZSBuZXBvZGHFmWlsbyBvdGV2xZnDrXQiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjY3Cittc2dpZCAic3RhdCBmYWlsZWQiCittc2dzdHIgInZvbMOhbsOtIHN0YXQgc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NzgKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBkaXJlY3RvcnkiCittc2dzdHIgImFkcmVzw6HFmWUgbmVsemUgcMWZZcSNw61zdCIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJXMiCittc2dzdHIgIiVzIHNlIG5lcG9kYcWZaWxvIHNtYXphdCIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gJXMiCittc2dzdHIgInDFmWVzdW4gcMWZw61wb2puw6lobyBib2R1ICVzIGRvICVzIHNlIG5lemRhxZlpbCIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgImZvcmNpbmcgdW5tb3VudCBvZiAlcyIKK21zZ3N0ciAidnludWN1amUgc2Ugb2Rwb2plbsOtICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIm5lcG9kYcWZaWxvIHNlIHDFmWVqw610IGRvIGFkcmVzw6HFmWUgJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvIC8iCittc2dzdHIgInDFmWVzdW4gcMWZw61wb2puw6lobyBib2R1ICVzIGRvIC8gc2UgbmV6ZGHFmWlsIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNzUKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QiCittc2dzdHIgInptxJtuYSBrb8WZZW51IHNlIG5lemRhxZlpbGEiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE4OAorbXNnaWQgIm9sZCByb290IGZpbGVzeXN0ZW0gaXMgbm90IGFuIGluaXRyYW1mcyIKK21zZ3N0ciAic3RhcsO9IGtvxZllbm92w70gc291Ym9yb3bDvSBzeXN0w6ltIG5lbsOtIGluaXRyYW1mcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG5ld3Jvb3RkaXI+IDxpbml0PiA8YXJncyB0byBpbml0PlxuIgorbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gPG5vdsO9X2tvxZllbm92w71fYWRyZXPDocWZPiA8aW5pdD4gPGFyZ3VtZW50dV9pbml0dT5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA0Cittc2dpZCAiU3dpdGNoIHRvIGFub3RoZXIgZmlsZXN5c3RlbSBhcyB0aGUgcm9vdCBvZiB0aGUgbW91bnQgdHJlZS5cbiIKK21zZ3N0ciAiUMWZZXBuZSBrb8WZZW4gc3Ryb211IHDFmWlwb2plbsOtIGRvIGppbsOpaG8gc291Ym9yb3bDqWhvIHN5c3TDqW11LlxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMzYKK21zZ2lkICJmYWlsZWQuIFNvcnJ5LiIKK21zZ3N0ciAibmXDunNwxJtjaC4gSmUgbsOhbSBsw610by4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgYWNjZXNzICVzIgorbXNnc3RyICJrwqAlcyBuZWx6ZSBwxZlpc3RvdXBpdCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk0Cittc2dpZCAiU2V0IHZhcmlvdXMgcGFyYW1ldGVycyBmb3IgdGhlIGxpbmUgcHJpbnRlci5cbiIKK21zZ3N0ciAiTmFzdGF2w60gcm96bGnEjW7DqSBwYXJhbWV0cnkgxZnDoWRrb3bDqSB0aXNrw6FybnkuXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5NworbXNnaWQgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIHNwZWNpZnkgcGFyYWxsZWwgcG9ydCBpcnFcbiIKK21zZ3N0ciAiIC1pLCAtLWlycSA8xI3DrXNsbz4gICAgICAgICAgICB1csSNdWplIElSUSBwYXJhbGVsbsOtIHBvcnR1XG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5OAorbXNnaWQgIiAtdCwgLS10aW1lIDxtcz4gICAgICAgICAgICAgIGRyaXZlciB3YWl0IHRpbWUgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lIDxtcz4gICAgICAgICAgICAgIMSNZWvDoW7DrSBuYSBvdmxhZGHEjSB2wqBtaWxpc2VrdW5kw6FjaFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTkKK21zZ2lkICIgLWMsIC0tY2hhcnMgPG51bT4gICAgICAgICAgICBudW1iZXIgb2Ygb3V0cHV0IGNoYXJhY3RlcnMgYmVmb3JlIHNsZWVwXG4iCittc2dzdHIgIiAtYywgLS1jaGFycyA8xI3DrXNsbz4gICAgICAgICAgcG/EjWV0IHbDvXN0dXBuw61jaCB6bmFrxa8gcMWZZWQgdXNudXTDrW1cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMAorbXNnaWQgIiAtdywgLS13YWl0IDx1cz4gICAgICAgICAgICAgIHN0cm9iZSB3YWl0IGluIG1pY3JvIHNlY29uZHNcbiIKK21zZ3N0ciAiIC13LCAtLXdhaXQgPMK1cz4gICAgICAgICAgICAgIMSNZWvDoW7DrSBuYSBzaWduw6FsIHN0cm9iZSB2wqBtaWtyb3Nla3VuZMOhY2hcbiIKKworIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgPG9ufG9mZj4gYXJndW1lbnRzLiBUaGUKKyMuIGFyZ3VtZW50IHJlYWRlciBkb2VzIG5vdCByZWNvZ25pemUgbG9jYWxlLCB1bmxlc3MgYG9uJyBpcworIy4gZXhhY3RseSB0aGF0IHZlcnkgc2FtZSBzdHJpbmcuCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA0Cittc2dpZCAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAgYWJvcnQgb24gZXJyb3JcbiIKK21zZ3N0ciAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAgdWtvbsSNw60gxI1pbm5vc3QgcMWZaSBjaHlixJsgKGFub3xuZSlcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNQorbXNnaWQgIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gIGNoZWNrIHByaW50ZXIgc3RhdHVzIGJlZm9yZSBwcmludGluZ1xuIgorbXNnc3RyICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBwxZllZCB2w71waXNlbSB6a29udHJvbHVqZSBzdGF2IHRpc2vDoXJueSAoYW5vfG5lKVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA2Cittc2dpZCAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAgZXh0cmEgY2hlY2tpbmcgdG8gc3RhdHVzIGNoZWNrXG4iCittc2dzdHIgIiAtQywgLS1jYXJlZnVsIDxvbnxvZmY+ICAgICAgIGRvcGzFiHVqw61jw60ga29udHJvbHkgc3RhdnUgKGFub3xuZSlcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNworbXNnaWQgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIHF1ZXJ5IHByaW50ZXIgc3RhdHVzXG4iCittc2dzdHIgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIGRvdMOhxb5lIHNlIG5hIHN0YXYgdGlza8Ohcm55XG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDgKK21zZ2lkICIgLVQsIC0tdHJ1c3QtaXJxIDxvbnxvZmY+ICAgICBtYWtlIGRyaXZlciB0byB0cnVzdCBpcnFcbiIKK21zZ3N0ciAiIC1ULCAtLXRydXN0LWlycSA8b258b2ZmPiAgICAgcMWZaW51dMOtIG92bGFkYcSNIHbEm8WZaXQgSVJRIChhbm98bmUpXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDkKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICByZXNldCB0aGUgcG9ydFxuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICByZXNldHVqZSBwb3J0XG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTAKK21zZ2lkICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICBkaXNwbGF5IGN1cnJlbnQgaXJxIHNldHRpbmdcbiIKK21zZ3N0ciAiIC1xLCAtLXByaW50LWlycSA8b258b2ZmPiAgICAgem9icmF6w60gc291xI1hc27DqSBuYXN0YXZlbsOtIElSUVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBhbiBscCBkZXZpY2UiCittc2dzdHIgIiVzIG5lbsOtIGxwIHphxZnDrXplbsOtbSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4MAorbXNnaWQgIkxQR0VUU1RBVFVTIGVycm9yIgorbXNnc3RyICJjaHliYSBMUEdFVFNUQVRVUyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdGF0dXMgaXMgJWQiCittc2dzdHIgInN0YXR1cyAlcyBqZSAlZCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIsIGJ1c3kiCittc2dzdHIgIiwgemFuZXByw6F6ZG7Em25hIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgcmVhZHkiCittc2dzdHIgIiwgcMWZaXByYXZlbmEiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvdXQgb2YgcGFwZXIiCittc2dzdHIgIiwgZG/FoWVsIHBhcMOtciIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICIsIG9uLWxpbmUiCittc2dzdHIgIiwgemFwbnV0YSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5NQorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVycm9yIgorbXNnc3RyICIsIGNoeWJhIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzAwCittc2dpZCAiaW9jdGwgZmFpbGVkIgorbXNnc3RyICJ2b2zDoW7DrSBpb2N0bCBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzEwCittc2dpZCAiTFBHRVRJUlEgZXJyb3IiCittc2dzdHIgImNoeWJhIExQR0VUSVJRIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIElSUSAlZFxuIgorbXNnc3RyICIlcyBwb3XFvsOtdsOhIElSUSAlZFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIHBvbGxpbmdcbiIKK21zZ3N0ciAiJXMgcG91xb7DrXbDoSBwb2xsXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gfCA8ZGlyZWN0b3J5PlxuIgorbXNnc3RyICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBbcMWZZXDDrW5hxI1lXVxuIgorIiAlMSRzIFtwxZllcMOtbmHEjWVdIDx6ZHJvaj4gfCA8YWRyZXPDocWZPlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODEKK21zZ2lkICJVbm1vdW50IGZpbGVzeXN0ZW1zLlxuIgorbXNnc3RyICJPZHBvasOtIHNvdWJvcm92w6kgc3lzdMOpbXkuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICB1bm1vdW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgb2Rwb2rDrSB2xaFlY2hueSBzb3Vib3JvdsOpIHN5c3TDqW15XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NQorbXNnaWQgIiIKKyIgLUEsIC0tYWxsLXRhcmdldHMgICAgICAgdW5tb3VudCBhbGwgbW91bnRwb2ludHMgZm9yIHRoZSBnaXZlbiBkZXZpY2UgaW4gdGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICBvZHBvasOtIHbFoWVjaG55IGJvZHkgcMWZw61wb2plbsOtIHBybyB6YWRhbsOpIHphxZnDrXplbsOtXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIHbCoGFrdHXDoWxuw61tIGptZW5uw6ltIHByb3N0b3J1XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NworbXNnaWQgIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKK21zZ3N0ciAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIG5lbm9ybWFsaXp1amUgY2VzdHlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg4Cittc2dpZCAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGlmIG1vdW50ZWQgbG9vcCBkZXZpY2UsIGFsc28gZnJlZSB0aGlzIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICBqZS1saSBwxZlpcG9qZW5vIGxvb3AgemHFmcOtemVuw60sIHJvdm7Em8W+IGplaiB1dm9sbsOtXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OQorbXNnaWQgIiAgICAgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSB1bW91bnQoMikgc3lzY2FsbFxuIgorbXNnc3RyICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgemt1xaFlYm7DrSByZcW+aW0sIHDFmWVza2/EjcOtIHN5c3TDqW1vdsOpIHZvbMOhbsOtIHVtb3VudCgyKVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTAKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgZm9yY2UgdW5tb3VudCAoaW4gY2FzZSBvZiBhbiB1bnJlYWNoYWJsZSBORlMgc3lzdGVtKVxuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgdnludXTDrSBvZHBvamVuw60gKHBybyBwxZnDrXBhZCBuZWRvc3R1cG7DqWhvIE5GUylcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkxCittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIHVtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgbmV2b2zDoSBwb21vY27DqSBwcm9ncmFteSB1bW91bnQuPHR5cD5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkzCittc2dpZCAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGRldGFjaCB0aGUgZmlsZXN5c3RlbSBub3csIGNsZWFuIHVwIHRoaW5ncyBsYXRlclxuIgorbXNnc3RyICIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgc291Ym9yb3bDvSBzeXN0w6ltIG9kcG9qw60gdGXEjywgdWtsaWTDrSBwb3pkxJtqaVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTQKK21zZ2lkICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCittc2dzdHIgIiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxzZXpuYW0+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIG9tZXrDrSBtbm/FvmludSBzb3Vib3JvdsO9Y2ggc3lzdMOpbcWvIChwb3XFvmlqdGUgc8KgLWEpXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NQorbXNnaWQgIiAtUiwgLS1yZWN1cnNpdmUgICAgICAgICByZWN1cnNpdmVseSB1bm1vdW50IGEgdGFyZ2V0IHdpdGggYWxsIGl0cyBjaGlsZHJlblxuIgorbXNnc3RyICIgLVIsIC0tcmVjdXJzaXZlICAgICAgICAgcmVrdXJ6aXZuxJsgb2Rwb2rDrSBjw61sIHbEjWV0bsSbIHbFoWVjaCBqZWhvIHBvdG9ta8WvXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NgorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBpbiBjYXNlIHVubW91bnRpbmcgZmFpbHMsIHRyeSB0byByZW1vdW50IHJlYWQtb25seVxuIgorbXNnc3RyICIiCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIHNlbMW+ZS1saSBvZHBvamVuw60sIHprdXPDrSBzb3Vib3JvdsO9IHN5c3TDqW0gcMWZZXBvaml0XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGplbiBwcm8gxI10ZW7DrVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTcKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiAtdCwgLS10eXBlcyA8c2V6bmFtPiAgICBvbWV6w60gbW5vxb5pbnUgdHlwxa8gc291Ym9yb3bDvWNoIHN5c3TDqW3Fr1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcykgdW5tb3VudGVkIgorbXNnc3RyICIlcyAoJXMpIG9kcG9qZW4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5tb3VudGVkIgorbXNnc3RyICIlcyBvZHBvamVuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bW91bnQgZmFpbGVkIgorbXNnc3RyICIlczogb2Rwb2plbsOtIHNlIG5lemRhxZlpbG8iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZpbGVzeXN0ZW0gd2FzIHVubW91bnRlZCwgYnV0IG1vdW50KDgpIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHNvdWJvcm92w70gc3lzdMOpbSBieWwgb2Rwb2plbiwgYWxlIHDFmcOta2F6IG1vdW50KDgpIHNlbGhhbCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBuZXBsYXRuw6kgYmxva292w6kgemHFmcOtemVuw60iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IHdyaXRlIHN1cGVyYmxvY2siCittc2dzdHIgIiVzOiBzdXBlcmJsb2sgbmVsemUgemFwc2F0IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlczogdGFyZ2V0IGlzIGJ1c3lcbiIKKyIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0XG4iCisiICAgICAgICAgdXNlIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKS4pIgorbXNnc3RyICIiCisiJXM6IHphxZnDrXplbsOtIGplIHBvdcW+w612w6Fuby5cbiIKKyIgICAgICAgIChWwqBuxJtrdGVyw71jaCBwxZnDrXBhZGVjaCBsemUgesOtc2thdCB1xb5pdGXEjW7DqSBpbmZvcm1hY2Ugb8KgcHJvY2VzZWNoLFxuIgorIiAgICAgICAga3RlcsOpIHNlIHphxZnDrXplbsOtbSBwcmFjdWrDrSwgcG9tb2PDrSBuw6FzdHJvasWvIGxzb2YoOCkgYSBmdXNlcigxKS4pIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudHBvaW50IG5vdCBmb3VuZCIKK21zZ3N0ciAiJXM6IGJvZCBwxZlpcG9qZW7DrSBuZW5hbGV6ZW4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNTAKK21zZ2lkICJ1bmRlZmluZWQgbW91bnRwb2ludCIKK21zZ3N0ciAiYm9kIHDFmWlwb2plbsOtIG5lbsOtIGRlZmlub3bDoW4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVubW91bnQiCittc2dzdHIgIiVzOiBtdXPDrXRlIGLDvXQgc3VwZXJ1xb5pdmF0ZWxlbSwgYWJ5c3RlIG1vaGxpIG9kcG9qb3ZhdCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmxvY2sgZGV2aWNlcyBhcmUgbm90IHBlcm1pdHRlZCBvbiBmaWxlc3lzdGVtIgorbXNnc3RyICIlczogYmxva292w6EgemHFmcOtemVuw60gbmVqc291IG5hIHN5c3TDqW11IHNvdWJvcsWvIHBvdm9sZW5hIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzA3Cittc2dpZCAiZmFpbGVkIHRvIHNldCB1bW91bnQgdGFyZ2V0IgorbXNnc3RyICJuZXpkYcWZaWxvIHNlIG5hc3Rhdml0IGPDrWwgb2Rwb2plbsOtIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzIzCittc2dpZCAibGlibW91bnQgdGFibGUgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgImFsb2thY2UgdGFidWxreSBsaWJtb3VudHUgc2UgbmV6ZGHFmWlsYSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjM2NiBzeXMtdXRpbHMvdW1vdW50LmM6NDQ2Cittc2dpZCAibGlibW91bnQgaXRlcmF0b3IgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgImFsb2thY2UgaXRlcsOhdG9ydSBsaWJtb3VudHUgc2UgbmV6ZGHFmWlsYSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGNoaWxkIGZzIG9mICVzIgorbXNnc3RyICJuZXBvZGHFmWlsbyBzZSB6w61za2F0IHNvdWJvcm92w70gc3lzdMOpbSBwb3RvbWthICVzIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NDEwIHN5cy11dGlscy91bW91bnQuYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBmb3VuZCIKK21zZ3N0ciAiJXM6IG5lbmFsZXplbm8iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo0NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlICgtLWFsbC10YXJnZXRzIGlzIHVuc3VwcG9ydGVkIG9uIHN5c3RlbXMgd2l0aCByZWd1bGFyIG10YWIgZmlsZSkuIgorbXNnc3RyICIlczogdXLEjWVuw60gemRyb2plIHNlbGhhbG8gKC0tYWxsLXRhcmdldHMgbmVuw60gcG9kcG9yb3bDoW5vIG5hIHN5c3TDqW1lY2ggc8KgYsSbxb5uw71tIHNvdWJvcmVtIG10YWIpLiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo4OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCAtLXNldGdyb3VwcyBhcmd1bWVudCAnJXMnIgorbXNnc3RyICJuZXBvZHBvcm92YW7DvSBhcmd1bWVudCAtLXNldGdyb3Vwczog4oCeJXPigJwiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTEwIHN5cy11dGlscy91bnNoYXJlLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZCAlcyIKK21zZ3N0ciAiesOhcGlzIGRvICVzIHNlbGhhbCIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJvcGFnYXRpb24gbW9kZTogJXMiCittc2dzdHIgIm5lcG9kcG9yb3ZhbsO9IHJlxb5pbSBwcm9wYWdhY2U6ICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1NworbXNnaWQgImNhbm5vdCBjaGFuZ2Ugcm9vdCBmaWxlc3lzdGVtIHByb3BhZ2F0aW9uIgorbXNnc3RyICJwcm9wYWdhY2kga2/FmWVub3bDqWhvIHNvdWJvcm92w6lobyBzeXN0w6ltdSBuZWx6ZSB6bcSbbml0IgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCAlcyIKK21zZ3N0ciAib8KgJXMgbmVsemUgesOtc2thdCBwb2Ryb2Jub3N0aSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTMKK21zZ2lkICJwaXBlIGZhaWxlZCIKK21zZ3N0ciAidnl0dm/FmWVuw60gcm91cnkgc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjcKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwaXBlIgorbXNnc3RyICLEjXRlbsOtIHrCoHJvdXJ5IHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUwCittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIHNvbWUgbmFtZXNwYWNlcyB1bnNoYXJlZCBmcm9tIHRoZSBwYXJlbnQuXG4iCittc2dzdHIgIlNwdXN0w60gcHJvZ3JhbSBzwqBuxJtrdGVyw71taSBqbWVubsO9bWkgcHJvc3Rvcnkgb2RkxJtsZW7DvW1pIG9kIHJvZGnEjWUuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUzCittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbSwgLS1tb3VudFs9PHNvdWJvcj5dICAgIG9kZMSbbMOtIGptZW5uw70gcHJvc3RvciBwxZnDrXBvam7DvWNoIGJvZMWvXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU0Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAtdSwgLS11dHNbPTxzb3Vib3I+XSAgICAgIG9kZMSbbMOtIGptZW5uw70gcHJvc3RvcnUgVVRTIChuw6F6ZXYgc3Ryb2plIGF0ZC4pXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU1Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtaSwgLS1pcGNbPTxzb3Vib3I+XSAgICAgIG9kZMSbbMOtIGptZW5uw70gcHJvc3RvciBTeXN0ZW0gViBJUENcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTYKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbiwgLS1uZXRbPTxzb3Vib3I+XSAgICAgIG9kZMSbbMOtIGptZW5uw70gcHJvc3RvcnUgc8OtdMOtXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU3Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtcCwgLS1waWRbPTxzb3Vib3I+XSAgICAgIG9kZMSbbMOtIGptZW5uw70gcHJvc3RvcnUgxI3DrXNlbCBwcm9jZXPFr1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OAorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1VLCAtLXVzZXJbPTxzb3Vib3I+XSAgICAgb2RkxJtsw60gam1lbm7DvSBwcm9zdG9yIHXFvml2YXRlbMWvXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU5Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgICAgdW5zaGFyZSBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtQywgLS1jZ3JvdXBbPTxzb3Vib3I+XSAgIG9kZMSbbMOtIGptZW5uw70gcHJvc3RvciBrb250cm9sbsOtY2ggc2t1cGluXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYwCittc2dpZCAiIC1mLCAtLWZvcmsgICAgICAgICAgICAgICAgZm9yayBiZWZvcmUgbGF1bmNoaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICBwxZllZCBzcHXFoXTEm27DrW0gPHByb2dyYW11PiB2eXR2b8WZw60gcG90b21rYVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MQorbXNnaWQgIiAgICAgLS1tb3VudC1wcm9jWz08ZGlyPl0gIG1vdW50IHByb2MgZmlsZXN5c3RlbSBmaXJzdCAoaW1wbGllcyAtLW1vdW50KVxuIgorbXNnc3RyICIiCisiICAgICAtLW1vdW50LXByb2NbPTxhZHJlc8OhxZk+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG5lanBydmUgcMWZaXBvasOtIHNvdWJvcm92w70gc3lzdMOpbSBwcm9jXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgKHpuYW1lbsOhIC0tbW91bnQpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYyCittc2dpZCAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbWFwIGN1cnJlbnQgdXNlciB0byByb290IChpbXBsaWVzIC0tdXNlcilcbiIKK21zZ3N0ciAiIgorIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIG5hbWFwdWplIHNvdcSNYXNuw6lobyB1xb5pdmF0ZWxlIG5hIHXFvml2YXRlbGUgcm9vdFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICh6bmFtZW7DoSAtLXVzZXIpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYzCittc2dpZCAiIgorIiAgICAgLS1wcm9wYWdhdGlvbiBzbGF2ZXxzaGFyZWR8cHJpdmF0ZXx1bmNoYW5nZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZnkgbW91bnQgcHJvcGFnYXRpb24gaW4gbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKyIgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgem3Em27DrSBwcm9wYWdhY2kgcMWZaXBvamVuw60gdmUgam1lbm7DqW0gcHJvc3RvcnVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBwxZnDrXBvam7DvWNoIGJvZMWvICjigJ5zbGF2ZeKAnCBwb2TFmcOtemVuw6EsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAg4oCec2hhcmVk4oCcIHNkw61sZW7DoSwg4oCecHJpdmF0ZeKAnCBzb3Vrcm9tw6EsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAg4oCedW5jaGFuZ2Vk4oCcIG5lem3Em27Em27DoVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NQorbXNnaWQgIiAtcywgLS1zZXRncm91cHMgYWxsb3d8ZGVueSAgY29udHJvbCB0aGUgc2V0Z3JvdXBzIHN5c2NhbGwgaW4gdXNlciBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiIKKyIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIMWZw61kw60gdm9sw6Fuw60gc2V0Z3JvdXBzIHZlIGptZW5uw71jaCBwcm9zdG9yZWNoXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1xb5pdmF0ZWxlICjigJ5hbGxvd+KAnCBwb3ZvbMOtLCDigJ5kZW554oCcIHpha8Ohxb5lKVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjM4NgorbXNnaWQgInVuc2hhcmUgZmFpbGVkIgorbXNnc3RyICJ2b2zDoW7DrSB1bnNoYXJlIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDMwCittc2dpZCAiY2hpbGQgZXhpdCBmYWlsZWQiCittc2dzdHIgInVrb27EjWVuw60gcG90b21rYSBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzNworbXNnaWQgIm9wdGlvbnMgLS1zZXRncm91cHM9YWxsb3cgYW5kIC0tbWFwLXJvb3QtdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICJwxZllcMOtbmHEjWUgLS1zZXRncm91cHM9YWxsb3cgYSAtLW1hcC1yb290LXVzZXIgc2UgdnrDoWplbW7EmyB2eWx1xI11asOtIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ1NworIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBmYWlsZWQiCittc2dzdHIgInDFmWlwb2plbsOtICVzIHNlIG5lemRhxZlpbG8iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjczCittc2dpZCAiQ2FyZCBwcmV2aW91c2x5IHJlc2V0IHRoZSBDUFUiCittc2dzdHIgIkthcnRhIG5hcG9zbGVkeSByZXNldG92YWxhIENQVSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzQKK21zZ2lkICJFeHRlcm5hbCByZWxheSAxIgorbXNnc3RyICJWbsSbasWhw60gcmVsw6kgMSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzUKK21zZ2lkICJFeHRlcm5hbCByZWxheSAyIgorbXNnc3RyICJWbsSbasWhw60gcmVsw6kgMiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzYKK21zZ2lkICJGYW4gZmFpbGVkIgorbXNnc3RyICJTZWxoYWwgdsSbdHLDoWsiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc3Cittc2dpZCAiS2VlcCBhbGl2ZSBwaW5nIHJlcGx5IgorbXNnc3RyICJPZHBvdsSbxI8gbmEga2VlcC1hbGl2ZSBwaW5nIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OAorbXNnaWQgIlN1cHBvcnRzIG1hZ2ljIGNsb3NlIGNoYXIiCittc2dzdHIgIlBvZHBvcnVqZSBtYWdpY2vDvSB6bmFrIHV6YXbFmWVuw60iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc5Cittc2dpZCAiUmVzZXQgZHVlIHRvIENQVSBvdmVyaGVhdCIKK21zZ3N0ciAiUmVzZXQga3bFr2xpIHDFmWVoxZnDoXTDrSBDUFUiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgwCittc2dpZCAiUG93ZXIgb3ZlciB2b2x0YWdlIgorbXNnc3RyICJQxZllcMSbdMOtIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MQorbXNnaWQgIlBvd2VyIGJhZC9wb3dlciBmYXVsdCIKK21zZ3N0ciAiUG9kcMSbdMOtwqAvIHbDvXBhZGVrIG5hcMOhamVuw60iCisKKyMgPz8/CisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MgorbXNnaWQgIlByZXRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJQcnZvdG7DrSDEjWFzb3bDvSBsaW1pdCAodsKgc2VrdW5kw6FjaCkiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgzCittc2dpZCAiU2V0IHRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJOYXN0YXZlbsOtIMSNYXNvdsOpaG8gbGltaXR1ICh2wqBzZWt1bmTDoWNoKSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODQKK21zZ2lkICJOb3QgdHJpZ2dlciByZWJvb3QiCittc2dzdHIgIk5lenDFr3NvYsOtIHJlYm9vdCIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAwCittc2dpZCAiZmxhZyBuYW1lIgorbXNnc3RyICJuw6F6ZXYgcMWZw616bmFrdSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAxCittc2dpZCAiZmxhZyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAicG9waXMgcMWZw616bmFrdSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAyCittc2dpZCAiZmxhZyBzdGF0dXMiCittc2dzdHIgInN0YXYgcMWZw616bmFrdSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAzCittc2dpZCAiZmxhZyBib290IHN0YXR1cyIKK21zZ3N0ciAic3RhdiBwxZnDrXpuYWt1IHN0YXJ0dSBzeXN0w6ltdSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTA0Cittc2dpZCAid2F0Y2hkb2cgZGV2aWNlIG5hbWUiCittc2dzdHIgIm7DoXpldiBobMOtZGFjw61obyB6YcWZw616ZW7DrSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmxhZzogJXMiCittc2dzdHIgIm5lem7DoW3DvSBwxZnDrXpuYWs6ICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxNzcKK21zZ2lkICJTaG93IHRoZSBzdGF0dXMgb2YgdGhlIGhhcmR3YXJlIHdhdGNoZG9nLlxuIgorbXNnc3RyICJVa8Ohxb5lIHN0YXYgaGFyZHdhcm92w6lobyBobMOtZGFjw61obyB6YcWZw616ZW7DrS5cbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTgwCittc2dpZCAiIgorIiAtZiwgLS1mbGFncyA8bGlzdD4gICAgIHByaW50IHNlbGVjdGVkIGZsYWdzIG9ubHlcbiIKKyIgLUYsIC0tbm9mbGFncyAgICAgICAgICBkb24ndCBwcmludCBpbmZvcm1hdGlvbiBhYm91dCBmbGFnc1xuIgorIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIGlkZW50aXR5IGluZm9ybWF0aW9uXG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIGZsYWdzIHRhYmxlXG4iCisiIC1PLCAtLW9uZWxpbmUgICAgICAgICAgcHJpbnQgYWxsIGluZm9ybWF0aW9uIG9uIG9uZSBsaW5lXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgb3V0cHV0IGNvbHVtbnMgb2YgdGhlIGZsYWdzXG4iCisiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0IGZvciBmbGFncyB0YWJsZVxuIgorIiAtVCwgLS1ub3RpbWVvdXRzICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIHRpbWVvdXRzXG4iCisiIC1zLCAtLXNldHRpbWVvdXQgPHNlYz4gc2V0IHdhdGNoZG9nIHRpbWVvdXRcbiIKKyIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICBwcmludCBvbmx5IGZsYWdzIHRhYmxlIChzYW1lIGFzIC1JIC1UKVxuIgorbXNnc3RyICIiCisiIC1mLCAtLWZsYWdzIDxzZXpuYW0+ICAgdnlww63FoWUgcG91emUgdnlicmFuw6kgcMWZw616bmFreVxuIgorIiAtRiwgLS1ub2ZsYWdzICAgICAgICAgIG5ldnlwaXN1amUgw7pkYWplIG/CoHDFmcOtem5hY8OtY2hcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBuZXZ5cGlzdWplIGlkZW50aWZpa2HEjW7DrSDDumRhamUgc2xlZG92YWPDrWhvIHphxZnDrXplbsOtXG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgbmV2eXBpc3VqZSB6w6FobGF2w60gdGFidWxreSBwxZnDrXpuYWvFr1xuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHZ5cMOtxaFlIHbFoWVjaG55IMO6ZGFqZSBuYSBqZWRlbiDFmcOhZGVrXG4iCisiIC1vLCAtLW91dHB1dCA8c2V6bmFtPiAgdnlww63FoWUgc2xvdXBjZSBwxZnDrXpuYWvFr1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHRhYnVsa3UgcMWZw616bmFrxa8gbmVmb3Jtw6F0dWplXG4iCisiIC1ULCAtLW5vdGltZW91dHMgICAgICAgbmV2eXBpc3VqZSDEjWFzb3bDqSBsaW1pdHkgaGzDrWRhY8OtaG8gemHFmcOtemVuw61cbiIKKyIgLXMsIC0tc2V0dGltZW91dCA8c2VrdW5keT5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBuYXN0YXbDrSDEjWFzb3bDvSBsaW1pdCBobMOtZGFjw61obyB6YcWZw616ZW7DrVxuIgorIiAteCwgLS1mbGFncy1vbmx5ICAgICAgIHZ5cMOtxaFlIGplbiB0YWJ1bGt1IHDFmcOtem5ha8WvIChzdGVqbsOpIGpha28gLUkgLVQpXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGVmYXVsdCBkZXZpY2UgaXMgJXMuXG4iCittc2dzdHIgIlbDvWNob3rDrSB6YcWZw616ZW7DrSBqZSAlcy5cbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk5Cittc2dpZCAiQXZhaWxhYmxlIGNvbHVtbnM6XG4iCittc2dzdHIgIkRvc3R1cG7DqSBzbG91cGNlOlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZmxhZ3MgMHgleFxuIgorbXNnc3RyICIlczogbmV6bsOhbcO9IHDFmcOtem5hayAweCV4XG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMxOSBzeXMtdXRpbHMvd2RjdGwuYzozNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhdGNoZG9nIGFscmVhZHkgaW4gdXNlLCB0ZXJtaW5hdGluZy4iCittc2dzdHIgIiVzOiBobMOtZGFjw60gemHFmcOtemVuw60gc2UgamnFviBwb3XFvsOtdsOhLCBrb27EjcOtIHNlLiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzMzIHN5cy11dGlscy93ZGN0bC5jOjQwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRpc2FybSB3YXRjaGRvZyIKK21zZ3N0ciAiJXM6IGhsw61kYWPDrSB6YcWZw616ZW7DrSBzZSBuZXBvZGHFmWlsbyB2eXBub3V0IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0aW1lb3V0IGZvciAlcyIKK21zZ3N0ciAixI1hc292w70gbGltaXQgcHJvICVzIG5lbHplIG5hc3Rhdml0IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kLlxuIgorbXNnaWRfcGx1cmFsICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmRzLlxuIgorbXNnc3RyWzBdICLEjGFzb3bDvSBsaW1pdCBqZSBuYXN0YXZlbiBuYSAlZCBzZWt1bmR1LlxuIgorbXNnc3RyWzFdICLEjGFzb3bDvSBsaW1pdCBqZSBuYXN0YXZlbiBuYSAlZCBzZWt1bmR5LlxuIgorbXNnc3RyWzJdICLEjGFzb3bDvSBsaW1pdCBqZSBuYXN0YXZlbiBuYSAlZCBzZWt1bmQuXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB3YXRjaGRvZyIKK21zZ3N0ciAiJXM6IHrDrXNrw6Fuw60gw7pkYWrFryBvwqBobMOtZGFjw61tIHphxZnDrXplbsOtIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NCBzeXMtdXRpbHMvd2RjdGwuYzo0Njcgc3lzLXV0aWxzL3dkY3RsLmM6NDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMTRzICUyaSBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiJS0xNHMgJTJpIHNlY29uZHNcbiIKK21zZ3N0clswXSAiJS0xNHMgJTJpIHNla3VuZGFcbiIKK21zZ3N0clsxXSAiJS0xNHMgJTJpIHNla3VuZHlcbiIKK21zZ3N0clsyXSAiJS0xNHMgJTJpIHNla3VuZFxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjUKK21zZ2lkICJUaW1lb3V0OiIKK21zZ3N0ciAixIxhc292w70gbGltaXQ6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjgKK21zZ2lkICJQcmUtdGltZW91dDoiCittc2dzdHIgIlBydm90bsOtIMSNYXNvdsO9IGxpbWl0IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NzEKK21zZ2lkICJUaW1lbGVmdDoiCittc2dzdHIgIlpiw712w6EgxI1hc3U6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDUKK21zZ2lkICJEZXZpY2U6IgorbXNnc3RyICJaYcWZw616ZW7DrToiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNworbXNnaWQgIklkZW50aXR5OiIKK21zZ3N0ciAiSWRlbnRpdGE6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDkKK21zZ2lkICJ2ZXJzaW9uIgorbXNnc3RyICJ2ZXJ6ZSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MworbXNnaWQgInpyYW0gZGV2aWNlIG5hbWUiCittc2dzdHIgIm7DoXpldiB6YcWZw616ZW7DrSB6cmFtIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc0Cittc2dpZCAibGltaXQgb24gdGhlIHVuY29tcHJlc3NlZCBhbW91bnQgb2YgZGF0YSIKK21zZ3N0ciAib21lemVuw60gbmEgbW5vxb5zdHbDrSBuZWtvbXByaW1vdmFuw71jaCBkYXQiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzUKK21zZ2lkICJ1bmNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAibmVrb21wcmltb3ZhbsOhIHZlbGlrb3N0IHVsb8W+ZW7DvWNoIGRhdCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NgorbXNnaWQgImNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAia29tcHJpbW92YW7DoSB2ZWxpa29zdCB1bG/FvmVuw71jaCBkYXQiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzcKK21zZ2lkICJ0aGUgc2VsZWN0ZWQgY29tcHJlc3Npb24gYWxnb3JpdGhtIgorbXNnc3RyICJ2eWJyYW7DvSBrb21wcmVzbsOtIGFsZ29yaXRtdXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzgKK21zZ2lkICJudW1iZXIgb2YgY29uY3VycmVudCBjb21wcmVzcyBvcGVyYXRpb25zIgorbXNnc3RyICJwb8SNZXQgc291YsSbxb5uw71jaCBrb21wcmVzbsOtY2ggb3BlcmFjw60iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzkKK21zZ2lkICJlbXB0eSBwYWdlcyB3aXRoIG5vIGFsbG9jYXRlZCBtZW1vcnkiCittc2dzdHIgInByw6F6ZG7DqSBzdHLDoW5reSBiZXogYWxva292YW7DqSBwYW3Em3RpIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgwCittc2dpZCAiYWxsIG1lbW9yeSBpbmNsdWRpbmcgYWxsb2NhdG9yIGZyYWdtZW50YXRpb24gYW5kIG1ldGFkYXRhIG92ZXJoZWFkIgorbXNnc3RyICJ2ZcWha2Vyw6EgcGFtxJvFpSB2xI1ldG7EmyBmcmFnbWVudGFjZSBhbG9rw6F0b3J1IGEgcmXFvmllIG1ldGFkYXQiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODEKK21zZ2lkICJtZW1vcnkgbGltaXQgdXNlZCB0byBzdG9yZSBjb21wcmVzc2VkIGRhdGEiCittc2dzdHIgIm9tZXplbsOtIHBhbcSbdGkgcG91xb5pdG8gbmEgdWxvxb5lbsOtIGtvbXByaW1vdmFuw71jaCBkYXQiCisKKyMgPz8/IFRoaXMgaXMgbm90IEVuZ2xpc2gKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODIKK21zZ2lkICJtZW1vcnkgenJhbSBoYXZlIGJlZW4gY29uc3VtZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICJ6cmFtIHBhbcSbxaUgdnlwb3TFmWVib3bDoW5hIG5hIHVsb8W+ZW7DrSBrb21wcmltb3ZhbsO9Y2ggZGF0IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgzCittc2dpZCAibnVtYmVyIG9mIG9iamVjdHMgbWlncmF0ZWQgYnkgY29tcGFjdGlvbiIKK21zZ3N0ciAicG/EjWV0IG9iamVrdMWvIHDFmWVzdMSbaG92YW7DvWNoIHDFmWkgc2x1xI1vdsOhbsOtIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjM2MyBzeXMtdXRpbHMvenJhbWN0bC5jOjM3NAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICJOZXBvZGHFmWlsbyBzZSByb3plYnJhdCBtbV9zdGF0IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCisiICUxJHMgLXIgPGRldmljZT4gWy4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8ZGV2aWNlPiAtcyA8c2l6ZT5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtwxZllcMOtbmHEjWVdIDx6YcWZw616ZW7DrT5cbiIKKyIgJTEkcyAtciA8emHFmcOtemVuw60+IFvigKZdXG4iCisiICUxJHMgW3DFmWVww61uYcSNZV0gLWYgfCA8emHFmcOtemVuw60+IC1zIDx2ZWxpa29zdD5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MjcKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgenJhbSBkZXZpY2VzLlxuIgorbXNnc3RyICJOYXN0YXbDrSBhIG92bMOhZMOhIHpyYW0gemHFmcOtemVuw60uXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMwCittc2dpZCAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0ICAgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIHVzZVxuIgorbXNnc3RyICIgLWEsIC0tYWxnb3JpdGhtIGx6b3xsejQgICBwb3XFvmlqZSB2eWJyYW7DvSBrb21wcmVzbsOtIGFsZ29yaXRtdXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzEKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHZlbGlrb3N0aSB2eXBpc3VqZSB2wqBiYWp0ZWNoIG5hbcOtc3RvIHbCoHBvZG9ixJtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICB2aG9kbsOpIHBybyDEjWxvdsSba2FcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzIKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICBmaW5kIGEgZnJlZSBkZXZpY2VcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgbmFqZGUgdm9sbsOpIHphxZnDrXplbsOtXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMzCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgbmV2eXDDrcWhZSB6w6FobGF2w61cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzQKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICBjb2x1bW5zIHRvIHVzZSBmb3Igc3RhdHVzIG91dHB1dFxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxzZXpuYW0+ICAgICB1csSNdWplLCBrdGVyw6kgdsO9c3R1cG7DrSBzbG91cGNlIHNlIHBvdcW+aWrDrVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzNQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIHVzZSByYXcgc3RhdHVzIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgbmVmb3Jtw6F0b3ZhbsO9IHbDvXN0dXAgc3RhdnVcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzYKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXR1amUgdsWhZWNobmEgemFkYW7DoSB6YcWZw616ZW7DrVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzNworbXNnaWQgIiAtcywgLS1zaXplIDxzaXplPiAgICAgICAgIGRldmljZSBzaXplXG4iCittc2dzdHIgIiAtcywgLS1zaXplIDx2ZWxpa29zdD4gICAgIHZlbGlrb3N0IHphxZnDrXplbsOtXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM4Cittc2dpZCAiIC10LCAtLXN0cmVhbXMgPG51bWJlcj4gICAgbnVtYmVyIG9mIGNvbXByZXNzaW9uIHN0cmVhbXNcbiIKK21zZ3N0ciAiIC10LCAtLXN0cmVhbXMgPHBvxI1ldD4gICAgIHBvxI1ldCBrb21wcmVzbsOtY2ggcHJvdWTFr1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBhbGdvcml0aG06ICVzIgorbXNnc3RyICJuZXBvZHBvcm92YW7DvSBhbGdvcml0bXVzOiAlcyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2MjYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RyZWFtcyIKK21zZ3N0ciAicHJvdWR5IHNlIG5lcG9kYcWZaWxvIHJvemVicmF0IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY0OAorbXNnaWQgIm9wdGlvbiAtLWZpbmQgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPGRldmljZT4iCittc2dzdHIgInDFmWVww61uYcSNIC0tZmluZCBhIDx6YcWZw616ZW7DrT4gc2UgdnrDoWplbW7EmyB2eWx1xI11asOtIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NAorbXNnaWQgIm9ubHkgb25lIDxkZXZpY2U+IGF0IGEgdGltZSBpcyBhbGxvd2VkIgorbXNnc3RyICJzb3XEjWFzbsSbIGx6ZSB6YWRhdCBwb3V6ZSBqZWRubyA8emHFmcOtemVuw60+IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NworbXNnaWQgIm9wdGlvbnMgLS1hbGdvcml0aG0gYW5kIC0tc3RyZWFtcyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggLS1zaXplIgorbXNnc3RyICJwxZllcMOtbmHEjWUgLS1hbGdvcml0aG0gYSAtLXN0cmVhbXMgbXVzw60gYsO9dCBwb3XFvml0eSBzZSAtLXNpemUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njg3IHN5cy11dGlscy96cmFtY3RsLmM6NzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVzZXQiCittc2dzdHIgIiVzOiByZXNldCBzZSBuZXpkYcWZaWwiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njk4IHN5cy11dGlscy96cmFtY3RsLmM6NzA2Cittc2dpZCAibm8gZnJlZSB6cmFtIGRldmljZSBmb3VuZCIKK21zZ3N0ciAibmVuYWxlemVubyDFvsOhZG7DqSB2b2xuw6kgenJhbSB6YcWZw616ZW7DrSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgbnVtYmVyIG9mIHN0cmVhbXMiCittc2dzdHIgIiVzOiBuZXpkYcWZaWxvIHNlIG5hc3Rhdml0IHBvxI1ldCBwcm91ZMWvIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBhbGdvcml0aG0iCittc2dzdHIgIiVzOiBuZXpkYcWZaWxvIHNlIG5hc3Rhdml0IGFsZ29yaXRtdXMiCisKKyMgVE9ETzogcGx1cmFsaXplCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBkaXNrc2l6ZSAoJWp1IGJ5dGVzKSIKK21zZ3N0ciAiJXM6IG5lemRhxZlpbG8gc2UgbmFzdGF2aXQgdmVsaWtvc3QgZGlza3UgKCUnanUgYmFqdMWvKSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMlcyAoYXV0b21hdGljIGxvZ2luKVxuIgorbXNnc3RyICIlcyVzIChhdXRvbWF0aWNrw6kgcMWZaWhsw6HFoWVuw60pXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugcm9vdCBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczogbmVsemUgem3Em25pdCBrb8WZZW5vdsO9IGFkcmVzw6HFmSAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugd29ya2luZyBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczogbmVsemUgem3Em25pdCBwcmFjb3Zuw61obyBhZHJlc8OhxZllICVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSBwcm9jZXNzIHByaW9yaXR5OiAlbSIKK21zZ3N0ciAiJXM6IG5lbHplIHptxJtuaXQgcHJpb3JpdHUgcHJvY2VzdTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBleGVjICVzOiAlbSIKK21zZ3N0ciAiJXM6ICVzIG5lbHplIHNwdXN0aXQ6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjU1NSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg0MSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg1MworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzAgdGVybS11dGlscy9hZ2V0dHkuYzoxNDE1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQzMworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDY5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ3OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE1MTYKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk3OCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeTogJW0iCittc2dzdHIgInBhbcSbxaUgbmVsemUgYWxva292YXQ6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjY4MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGRlbGF5IGFyZ3VtZW50IgorbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnQgaGxhdiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3MTkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC0tbG9jYWwtbGluZSIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IHDFmWVww61uYcSNZSAtLWxvY2FsLWxpbmUiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzM4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbmljZSBhcmd1bWVudCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IMSNYXN1IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3BlZWQ6ICVzIgorbXNnc3RyICJjaHlibsOhIHJ5Y2hsb3N0ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3NworbXNnaWQgInRvbyBtYW55IGFsdGVybmF0ZSBzcGVlZHMiCittc2dzdHIgInDFmcOtbGnFoSBtbm9obyBhbHRlcm5hdGl2bsOtY2ggcnljaGxvc3TDrSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDA2IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAxMCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IG9wZW4gYXMgc3RhbmRhcmQgaW5wdXQ6ICVtIgorbXNnc3RyICIvZGV2LyVzIG5lbHplIG90ZXbFmcOtdCBqYWtvIHN0YW5kYXJkbsOtIHZzdHVwOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIGNoYXJhY3RlciBkZXZpY2UiCittc2dzdHIgIi9kZXYvJXMgbmVuw60gem5ha292w71tIHphxZnDrXplbsOtbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIHR0eSIKK21zZ3N0ciAiL2Rldi8lczogbmVuw60gVFRZIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzUgdGVybS11dGlscy9hZ2V0dHkuYzoxMDY3CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBnZXQgY29udHJvbGxpbmcgdHR5OiAlbSIKK21zZ3N0ciAiL2Rldi8lczogbmVsemUgesOtc2thdCDFmcOtZGljw60gVFRZOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IHZoYW5ndXAoKSBmYWlsZWQ6ICVtIgorbXNnc3RyICIvZGV2LyVzOiB2b2zDoW7DrSB2aGFuZ3VwKCkgc2VsaGFsbzogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG9wZW4gZm9yIHJlYWQvd3JpdGUiCittc2dzdHIgIiVzOiBuZW7DrSBvdGV2xZllbm8gcHJvIMSNdGVuw60vesOhcGlzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IHNldCBwcm9jZXNzIGdyb3VwOiAlbSIKK21zZ3N0ciAiL2Rldi8lczogbmVsemUgbmFzdGF2aXQgc2t1cGludSBwcm9jZXN1OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkdXAgcHJvYmxlbTogJW0iCittc2dzdHIgIiVzOiB2b2zDoW7DrSBkdXAgc2VsaGFsbzogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTExNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiJXM6IG5lbHplIHpqaXN0aXQgdmxhc3Rub3N0aSB0ZXJtaW7DoWx1OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMzIxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXMgZmFpbGVkOiAlbSIKK21zZ3N0ciAidmxhc3Rub3N0aSB0ZXJtaW7DoWx1IG5lbHplIG5hc3Rhdml0OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDU5Cittc2dpZCAiY2Fubm90IG9wZW4gb3MtcmVsZWFzZSBmaWxlIgorbXNnc3RyICJzb3Vib3Igb3MtcmVsZWFzZSBuZWx6ZSBvdGV2xZnDrXQiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTYzNworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHJlbG9hZCBmaWxlOiAlczogJW0iCittc2dzdHIgInZ5dHZvxZllbsOtIHNvdWJvcnUgcHJvIG9wxJt0b3Zuw6kgemF2ZWRlbsOtIHNlbGhhbG86ICVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzM2Cittc2dpZCAiW3ByZXNzIEVOVEVSIHRvIGxvZ2luXSIKK21zZ3N0ciAiW3BybyBwxZlpaGzDocWhZW7DrSBzdGlza27Em3RlIEVOVEVSXSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzYwCittc2dpZCAiTnVtIExvY2sgb2ZmIgorbXNnc3RyICJOdW0gTG9jayB2eXBudXQiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2MworbXNnaWQgIk51bSBMb2NrIG9uIgorbXNnc3RyICJOdW0gTG9jayB6YXBudXQiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2NgorbXNnaWQgIkNhcHMgTG9jayBvbiIKK21zZ3N0ciAiQ2FwcyBMb2NrIHphcG51dCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzY5Cittc2dpZCAiU2Nyb2xsIExvY2sgb24iCittc2dzdHIgIlNjcm9sbCBMb2NrIHphcG51dCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJIaW50OiAlc1xuIgorIlxuIgorbXNnc3RyICIiCisiTsOhcG92xJtkYTogJXNcbiIKKyJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkOiAlbSIKK21zZ3N0ciAiJXM6IHDFmWXEjXRlbm86ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlucHV0IG92ZXJydW4iCittc2dzdHIgIiVzOiBwxZlldGXEjWVuw60gdnN0dXB1IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NzQgdGVybS11dGlscy9hZ2V0dHkuYzoxOTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciBjb252ZXJzaW9uIGZvciBsb2dpbiBuYW1lIgorbXNnc3RyICIlczogY2h5YmEgcMWZaSBwxZlldm9kdSB6bmFrdSB2wqBwxZlpaGxhxaFvdmFjw61tIGptw6luxJsiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgMHgleCBpbiBsb2dpbiBuYW1lIgorbXNnc3RyICIlczogbmVwbGF0bsO9IHpuYWsgMHgleCB2wqBwxZlpaGxhxaFvdmFjw61tIGptw6luxJsiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA3MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiJXM6IHZsYXN0bm9zdGkgdGVybWluw6FsdSBuZWx6ZSBuYXN0YXZpdDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEwOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxsaW5lPiBbPGJhdWRfcmF0ZT4sLi4uXSBbPHRlcm10eXBlPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGJhdWRfcmF0ZT4sLi4uIDxsaW5lPiBbPHRlcm10eXBlPl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtwxZllcMOtbmHEjWVdIDxsaW5rYT4gWzxiYXVkX3JhdGU+LOKApl0gWzxkcnVoX3Rlcm1pbsOhbHU+XVxuIgorIiAlMSRzIFtwxZllcMOtbmHEjWVdIDxiYXVkX3JhdGU+LOKApiA8bGlua2E+IFs8ZHJ1aF90ZXJtaW7DoWx1Pl1cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTEzCittc2dpZCAiT3BlbiBhIHRlcm1pbmFsIGFuZCBzZXQgaXRzIG1vZGUuXG4iCittc2dzdHIgIk90ZXbFmWUgdGVybWluw6FsIGEgbmFzdGF2w60gamVobyByZcW+aW0uXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExNgorbXNnaWQgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBhc3N1bWUgOC1iaXQgdHR5XG4iCittc2dzdHIgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBwxZllZHBva2zDoWTDoSA4Yml0b3bDqSBUVFlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE3Cittc2dpZCAiIC1hLCAtLWF1dG9sb2dpbiA8dXNlcj4gICAgIGxvZ2luIHRoZSBzcGVjaWZpZWQgdXNlciBhdXRvbWF0aWNhbGx5XG4iCittc2dzdHIgIiAtYSwgLS1hdXRvbG9naW4gPHXFvml2YXRlbD4gYXV0b21hdGlja3kgcMWZaWhsw6Fzw60gemFkYW7DqWhvIHXFvml2YXRlbGVcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE4Cittc2dpZCAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGRvIG5vdCByZXNldCBjb250cm9sIG1vZGVcbiIKK21zZ3N0ciAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIG5lcmVzZXR1amUgxZnDrWRpY8OtIHJlxb5pbVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTkKK21zZ2lkICIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAgdXNlIC1yIDxob3N0bmFtZT4gZm9yIGxvZ2luKDEpXG4iCittc2dzdHIgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICBwcm9ncmFtdSBsb2dpbigxKSBwxZllZMOhIC1yIDxuw6F6ZXZfc3Ryb2plPlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjAKK21zZ2lkICIgLWYsIC0taXNzdWUtZmlsZSA8ZmlsZT4gICAgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiAtZiwgLS1pc3N1ZS1maWxlIDxzb3Vib3I+ICB6b2JyYXrDrSBzb3Vib3Igc8Kgdnlkw6Fuw61tXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMQorbXNnaWQgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBlbmFibGUgaGFyZHdhcmUgZmxvdyBjb250cm9sXG4iCittc2dzdHIgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBwb3ZvbMOtIGhhcmR3YXJvdsOpIMWZw616ZW7DrSB0b2t1XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMgorbXNnaWQgIiAtSCwgLS1ob3N0IDxob3N0bmFtZT4gICAgICBzcGVjaWZ5IGxvZ2luIGhvc3RcbiIKK21zZ3N0ciAiIC1ILCAtLWhvc3QgPG7DoXpldl9zdHJvamU+ICB1csSNw60gbsOhemV2IHN0cm9qZSBwxZlpIHDFmWlobMOhxaFlbsOtXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMworbXNnaWQgIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICBkbyBub3QgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICBuZXpvYnJhesOtIHNvdWJvciBzwqB2eWTDoW7DrW1cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI0Cittc2dpZCAiIC1JLCAtLWluaXQtc3RyaW5nIDxzdHJpbmc+IHNldCBpbml0IHN0cmluZ1xuIgorbXNnc3RyICIiCisiIC1JLCAtLWluaXQtc3RyaW5nIDzFmWV0xJt6ZWM+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hc3RhdsOtIGluaWNpYWxpemHEjW7DrSDFmWV0xJt6ZWNcbiIKKworIyBGSVhNRTogTWlzc2luZyBjb21tYQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI1Cittc2dpZCAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIGRvIG5vdCBjbGVhciB0aGUgc2NyZWVuIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiIC1KLCAtLW5vY2xlYXIgICAgICAgICAgICAgIHDFmWVkIHbDvXp2b3UgbmVzbWHFvmUgb2JyYXpvdmt1XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNgorbXNnaWQgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBzcGVjaWZ5IGxvZ2luIHByb2dyYW1cbiIKK21zZ3N0ciAiIgorIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxzb3Vib3I+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVyxI3DrSBwcm9ncmFtIGxvZ2luXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNworbXNnaWQgIiAtTCwgLS1sb2NhbC1saW5lWz08bW9kZT5dICBjb250cm9sIHRoZSBsb2NhbCBsaW5lIGZsYWdcbiIKK21zZ3N0ciAiIC1MLCAtLWxvY2FsLWxpbmVbPTxyZcW+aW0+XSDFmcOtZMOtIHDFmcOtem5hayBtw61zdG7DrSBsaW5reVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjgKK21zZ2lkICIgLW0sIC0tZXh0cmFjdC1iYXVkICAgICAgICAgZXh0cmFjdCBiYXVkIHJhdGUgZHVyaW5nIGNvbm5lY3RcbiIKK21zZ3N0ciAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIHrDrXNrw6EgYmF1ZCByYXRlIHrCoHDFmWlwb2p1asOtY8OtIHNlIGbDoXplXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyOQorbXNnaWQgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBkbyBub3QgcHJvbXB0IGZvciBsb2dpblxuIgorbXNnc3RyICIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAgbmVwdMOhIHNlIG5hIHDFmWlobGHFoW92YWPDrSBqbcOpbm9cbiIKKworIyBGSVhNRTogTWlzc2luZyBjb21tYQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMwCittc2dpZCAiIC1OICAtLW5vbmV3bGluZSAgICAgICAgICAgIGRvIG5vdCBwcmludCBhIG5ld2xpbmUgYmVmb3JlIGlzc3VlXG4iCittc2dzdHIgIiAtTiwgLS1ub25ld2xpbmUgICAgICAgICAgICBuZW9kxZnDoWRrdWplIHDFmWVkIHbDvXBpc2VtIHZ5ZMOhbsOtXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMQorbXNnaWQgIiAtbywgLS1sb2dpbi1vcHRpb25zIDxvcHRzPiBvcHRpb25zIHRoYXQgYXJlIHBhc3NlZCB0byBsb2dpblxuIgorbXNnc3RyICIiCisiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPGFyZ3VtZW50eT5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJndW1lbnR5LCBrdGVyw6kgYnVkb3UgcMWZZWTDoW55IHByb2dyYW11IGxvZ2luXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMgorbXNnaWQgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICB3YWl0IGZvciBhbnkga2V5IGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiIC1wLCAtLWxvZ2luLXBhdXNlICAgICAgICAgIHDFmWVkIHbDvXp2b3Uga8KgcMWZaWhsw6HFoWVuw60gcG/EjWvDoSBuYSBzdGlzayBrbMOhdmVzeVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzMKK21zZ2lkICIgLXIsIC0tY2hyb290IDxkaXI+ICAgICAgICAgY2hhbmdlIHJvb3QgdG8gdGhlIGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXIsIC0tY2hyb290IDxhZHJlc8OhxZk+ICAgICB6bcSbbsOtIGtvxZllbm92w70gYWRyZXPDocWZIG5hIHphZGFuw71cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM0Cittc2dpZCAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgIGRvIHZpcnR1YWxseSBoYW5ndXAgb24gdGhlIHR0eVxuIgorbXNnc3RyICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgcHJvdmVkZSB2aXJ0dcOhbG7DrSB6YXbEm8WhZW7DrSBsaW5reSBuYSBUVFlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM1Cittc2dpZCAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIHRyeSB0byBrZWVwIGJhdWQgcmF0ZSBhZnRlciBicmVha1xuIgorbXNnc3RyICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgcG9rdXPDrSBzZSB1ZHLFvmV0IGJhdWQgcmF0ZSBpwqBwbyB6bmFrdSBicmVha1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzYKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8bnVtYmVyPiAgICAgbG9naW4gcHJvY2VzcyB0aW1lb3V0XG4iCittc2dzdHIgIiAtdCwgLS10aW1lb3V0IDzEjcOtc2xvPiAgICAgIMSNYXNvdsO9IGxpbWl0IHBybyBwxZlpaGzDocWhZW7DrVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzcKK21zZ2lkICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgZGV0ZWN0IHVwcGVyY2FzZSB0ZXJtaW5hbFxuIgorbXNnc3RyICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgcm96cG96bsOhIHRlcm1pbsOhbCBwb2Rwb3J1asOtY8OtIGplbsKgdmVsa8OhIHDDrXNtZW5hXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzOAorbXNnaWQgIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICB3YWl0IGNhcnJpYWdlLXJldHVyblxuIgorbXNnc3RyICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgxI1la8OhIG5hIGNhcnJpYWdlLXJldHVyblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzkKK21zZ2lkICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAgZG8gbm90IHByaW50IGhpbnRzXG4iCittc2dzdHIgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBuZXpvYnJhesOtIHVwb3pvcm7Em27DrVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDAKK21zZ2lkICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAgbm8gaG9zdG5hbWUgYXQgYWxsIHdpbGwgYmUgc2hvd25cbiIKK21zZ3N0ciAiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgIG5lem9icmF6w60gbsOhemV2IHN0cm9qZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDEKK21zZ2lkICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgc2hvdyBmdWxsIHF1YWxpZmllZCBob3N0bmFtZVxuIgorbXNnc3RyICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgem9icmF6w60gcGxuxJsga3ZhbGlmaWtvdmFuw6kgam3DqW5vIHN0cm9qZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDIKK21zZ2lkICIgICAgIC0tZXJhc2UtY2hhcnMgPHN0cmluZz4gYWRkaXRpb25hbCBiYWNrc3BhY2UgY2hhcnNcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1lcmFzZS1jaGFycyA8xZlldMSbemVjPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYWzFocOtIHpuYWt5IGZ1bmd1asOtY8OtIGpha28gYmFja3NwYWNlXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MworbXNnaWQgIiAgICAgLS1raWxsLWNoYXJzIDxzdHJpbmc+ICBhZGRpdGlvbmFsIGtpbGwgY2hhcnNcbiIKK21zZ3N0ciAiICAgICAtLWtpbGwtY2hhcnMgPMWZZXTEm3plYz4gZGFsxaHDrSB6bmFreSwga3RlcsOpIG1hxb5vdSBjZWzDvSDFmcOhZGVrXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NAorbXNnaWQgIiAgICAgLS1jaGRpciA8ZGlyZWN0b3J5PiAgICBjaGRpciBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiAgICAgLS1jaGRpciA8YWRyZXPDocWZPiAgICAgIHDFmWVkIHNwdcWhdMSbbsOtbSBsb2dpbnUgem3Em27DrSBwcmFjb3Zuw60gYWRyZXPDocWZXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NQorbXNnaWQgIiAgICAgLS1kZWxheSA8bnVtYmVyPiAgICAgICBzbGVlcCBzZWNvbmRzIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiICAgICAtLWRlbGF5IDxwb8SNZXQ+ICAgICAgICBwxZllZCB2w716dm91IHBvxI1rw6EgcG/EjWV0IHNla3VuZFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDYKK21zZ2lkICIgICAgIC0tbmljZSA8bnVtYmVyPiAgICAgICAgcnVuIGxvZ2luIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIgICAgIC0tbmljZSA8xI3DrXNsbz4gICAgICAgICBzcHVzdMOtIGxvZ2luIHPCoHRvdXRvIHByaW9yaXRvdVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDcKK21zZ2lkICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgcmVsb2FkIHByb21wdHMgb24gcnVubmluZyBhZ2V0dHkgaW5zdGFuY2VzXG4iCittc2dzdHIgIiAgICAgLS1yZWxvYWQgICAgICAgICAgICAgICBixJvFvsOtY8OtIGluc3RhbmNlIGFnZXR0eSB6bm92dSBuYcSNdG91IHbDvXp2eVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDgKK21zZ2lkICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAtLWhlbHAgICAgICAgICAgICAgICAgIHpvYnJhesOtIHR1dG8gbsOhcG92xJtkdSBhIHNrb27EjcOtXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0OQorbXNnaWQgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNDgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIHVzZXIiCittc2dpZF9wbHVyYWwgIiVkIHVzZXJzIgorbXNnc3RyWzBdICIlZCB1xb5pdmF0ZWwiCittc2dzdHJbMV0gIiVkIHXFvml2YXRlbMOpIgorbXNnc3RyWzJdICIlZCB1xb5pdmF0ZWzFryIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjA5CisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNrbmFtZSBmYWlsZWQ6ICVtIgorbXNnc3RyICJrb250cm9sYSBqbcOpbmEgbmV1c3DEm2xhOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjIxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB0b3VjaCBmaWxlICVzIgorbXNnc3RyICJzb3Vib3J1ICVzIG5lbHplIHptxJtuaXQgxI1hc292w6kgcmF6w610a28iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYyNQorbXNnaWQgIi0tcmVsb2FkIGlzIHVuc3VwcG9ydGVkIG9uIHlvdXIgc3lzdGVtIgorbXNnc3RyICJwxZllcMOtbmHEjSAtLXJlbG9hZCBuZW7DrSBuYSB2YcWhZW0gc3lzdMOpbXUgcG9kcG9yb3bDoW4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3kgfCBuXVxuIgorbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gW3kgfCBuXVxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3OAorbXNnaWQgIkNvbnRyb2wgd3JpdGUgYWNjZXNzIG9mIG90aGVyIHVzZXJzIHRvIHlvdXIgdGVybWluYWwuXG4iCittc2dzdHIgIsWYw61kw60gcMWZw61zdHVwIHBybyB6w6FwaXMgZG8gdmHFoWVobyB0ZXJtaW7DoWx1IG9zdGF0bsOtbSB1xb5pdmF0ZWzFr20uXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjgxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICB2eXN2xJt0bMOtLCBjbyBzZSBkxJtqZVxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMjUKK21zZ2lkICJ0dHluYW1lIGZhaWxlZCIKK21zZ3N0ciAiZnVua2NlIHR0eW5hbWUgc2VsaGFsYSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM0Cittc2dpZCAiaXMgeSIKK21zZ3N0ciAiUMWZw61qZW0genByw6F2IGplIHphcG51dCIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM3Cittc2dpZCAiaXMgbiIKK21zZ3N0ciAiUMWZw61qZW0genByw6F2IGplIHZ5cG51dCIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTQ4IHRlcm0tdXRpbHMvbWVzZy5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2UgJXMgbW9kZSBmYWlsZWQiCittc2dzdHIgInptxJtuaXQgcmXFvmltICVzIHNlIG5lcG9kYcWZaWxvIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNTAKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBhbGxvd2VkIgorbXNnc3RyICJwxZnDrXN0dXAgcHJvIHrDoXBpcyBkbyB2YcWhZWhvIHRlcm1pbsOhbHUgamUgcG92b2xlbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTU3Cittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgZGVuaWVkIgorbXNnc3RyICJwxZnDrXN0dXAgcHJvIHrDoXBpcyBkbyB2YcWhZWhvIHRlcm1pbsOhbHUgamUgemFrw6F6w6FuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXMiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudDogJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVdXG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSBbc291Ym9yXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2MgorbXNnaWQgIk1ha2UgYSB0eXBlc2NyaXB0IG9mIGEgdGVybWluYWwgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiWmF6bmFtZW7DoSwgY28gc2UgZMSbbG8gdsKgcmVsYWNpIHPCoHRlcm1pbsOhbGVtLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NQorbXNnaWQgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgYXBwZW5kIHRoZSBvdXRwdXRcbiIKKyIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gcnVuIGNvbW1hbmQgcmF0aGVyIHRoYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgcmV0dXJuIGV4aXQgY29kZSBvZiB0aGUgY2hpbGQgcHJvY2Vzc1xuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICBydW4gZmx1c2ggYWZ0ZXIgZWFjaCB3cml0ZVxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICB1c2Ugb3V0cHV0IGZpbGUgZXZlbiB3aGVuIGl0IGlzIGEgbGlua1xuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICBiZSBxdWlldFxuIgorIiAtdCwgLS10aW1pbmdbPTxmaWxlPl0gICBvdXRwdXQgdGltaW5nIGRhdGEgdG8gc3RkZXJyIChvciB0byBGSUxFKVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICBwxZlpcG9qw60gdsO9c3R1cFxuIgorIiAtYywgLS1jb21tYW5kIDxwxZnDrWthej4gICBzcHVzdMOtIHDFmcOta2F6IG3DrXN0byBpbnRlcmFrdGl2bsOtaG8gc2hlbGx1XG4iCisiIC1lLCAtLXJldHVybiAgICAgICAgICAgICB2csOhdMOtIG7DoXZyYXRvdsO9IGvDs2QgcG90b21rYVxuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICAgcG8ga2HFvmTDqW0gesOhcGlzdSB2eXByw6F6ZG7DrSBidWZmZXJcbiIKKyIgICAgIC0tZm9yY2UgICAgICAgICAgICAgIHBvdcW+aWplIHbDvXN0dXBuw60gc291Ym9yLCBpwqBrZHnFviBzZSBqZWRuw6Egb8Kgb2RrYXpcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgIGJ1ZGUgenRpY2hhXG4iCisiIC10LCAtLXRpbWluZ1s9PHNvdWJvcj5dICDEjWFzb3ZhY8OtIMO6ZGFqZSB2eXDDrcWhZSBuYSBjaHlib3bDvSB2w71zdHVwXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAobmVibyBkbyBTT1VCT1JVKVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgIHpvYnJhesOtIHR1dG8gbsOhcG92xJtkdSBhIHNrb27EjcOtXG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJvdXRwdXQgZmlsZSBgJXMnIGlzIGEgbGlua1xuIgorIlVzZSAtLWZvcmNlIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuXG4iCisiUHJvZ3JhbSBub3Qgc3RhcnRlZC4iCittc2dzdHIgIiIKKyJ2w71zdHVwbsOtIHNvdWJvciDigJ4lc+KAnCBqZSBvZGthei5cbiIKKyJQb2t1ZCBqZWogb3ByYXZkdSBjaGNldGUgcG91xb7DrXQsIHRhayBwb3XFvmlqZSAtLWZvcmNlLlxuIgorIlByb2dyYW0gbmVieWwgc3B1xaF0xJtuLiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IGRvbmUsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiU2NyaXB0IHV0aWxzLiBTb3Vib3IgamUgJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyNjIKK21zZ2lkICJjYW5ub3Qgd3JpdGUgc2NyaXB0IGZpbGUiCittc2dzdHIgInNrcmlwdCBzb3Vib3IgbmVsemUgemFwc2F0IgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLlxuIgorbXNnc3RyICIiCisiXG4iCisiUmVsYWNlIHVrb27EjWVuYS5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXMiCittc2dzdHIgIlNjcmlwdCBzcHXFoXTEm24gJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTY3JpcHQgZG9uZSBvbiAlcyIKK21zZ3N0ciAiIgorIlxuIgorIlNjcmlwdCB1a29uxI1lbiAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2MDcKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiCittc2dzdHIgIm5lbHplIHpqaXN0aXQgdmxhc3Rub3N0aSB0ZXJtaW7DoWx1IgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYxNAorbXNnaWQgIm9wZW5wdHkgZmFpbGVkIgorbXNnc3RyICJ2b2zDoW7DrSBvcGVucHR5IHNlbGhhbG8iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjUyCittc2dpZCAib3V0IG9mIHB0eSdzIgorbXNnc3RyICJuZWRvc3RhdGVrIFBUWSIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo3NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiU2NyaXB0IHNwdcWhdMSbbi4gU291Ym9yIGplICVzLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLXRdIHRpbWluZ2ZpbGUgW3R5cGVzY3JpcHRdIFtkaXZpc29yXVxuIgorbXNnc3RyICIlcyBbLXRdIMSNYXNvdsO9X3NvdWJvciBbesOhem5hbV92c3R1cHVdIFtkxJtsaXRlbF1cbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0NworbXNnaWQgIlBsYXkgYmFjayB0ZXJtaW5hbCB0eXBlc2NyaXB0cywgdXNpbmcgdGltaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJQxZllaHJhamUgesOhem5hbSBkxJtuw60gbmEgdGVybWluw6FsdSBwb21vY8OtIMO6ZGFqxa8gb8KgxI1hc292w6Fuw60uXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NTAKK21zZ2lkICIiCisiIC10LCAtLXRpbWluZyA8ZmlsZT4gICAgIHNjcmlwdCB0aW1pbmcgb3V0cHV0IGZpbGVcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA8ZmlsZT4gc2NyaXB0IHRlcm1pbmFsIHNlc3Npb24gb3V0cHV0IGZpbGVcbiIKKyIgLWQsIC0tZGl2aXNvciA8bnVtPiAgICAgc3BlZWQgdXAgb3Igc2xvdyBkb3duIGV4ZWN1dGlvbiB3aXRoIHRpbWUgZGl2aXNvclxuIgorIiAtbSwgLS1tYXhkZWxheSA8bnVtPiAgICB3YWl0IGF0IG1vc3QgdGhpcyBtYW55IHNlY29uZHMgYmV0d2VlbiB1cGRhdGVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyIgLXQsIC0tdGltaW5nIDxzb3Vib3I+ICAgICAgdsO9c3R1cG7DrSBzb3Vib3Igc8KgxI1hc292w6Fuw61tIHrCoG7DoXN0cm9qZSBzY3JpcHRcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA8c291Ym9yPiAgdsO9c3R1cG7DrSBzb3Vib3IgdGVybWluw6Fsb3bDqSByZWxhY2UgesKgbsOhc3Ryb2plIHNjcmlwdFxuIgorIiAtZCwgLS1kaXZpc29yIDzEjcOtc2xvPiAgICAgIHpyeWNobMOtIG5lYm8genBvbWFsw60gdnlrb27DoXbDoW7DrSBwb2RsZSBkxJtsaXRlbGUgxI1hc3VcbiIKKyIgLW0sIC0tbWF4ZGVsYXkgPHBvxI1ldD4gICAgIG1lemkgYWt0dWFsaXphY2VtaSBwb8SNa8OhIG5lanbDvcWhZSB0ZW50byBwb8SNZXQgc2VrdW5kXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgIHpvYnJhesOtIMO6ZGFqZSBvwqB2ZXJ6aSBhIHNrb27EjcOtXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgIHpvYnJhesOtIG7DoXBvdsSbZHUgYSBza29uxI3DrVxuIgorIlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExMgorbXNnaWQgIndyaXRlIHRvIHN0ZG91dCBmYWlsZWQiCittc2dzdHIgInrDoXBpcyBuYSBzdGFuZGFyZG7DrSB2w71zdHVwIHNlbGhhbCIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSBvbiAlcyIKK21zZ3N0ciAibmVvxI1la8OhdmFuw70ga29uZWMgc291Ym9ydSAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdHlwZXNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJuYcSNdGVuw60gc291Ym9ydSBzZSB6w6F6bmFtZW0gdnN0dXB1ICVzIHNlbGhhbG8iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTg0Cittc2dpZCAid3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAiY2h5Ym7DvSBwb8SNZXQgYXJndW1lbnTFryIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGltaW5nIGZpbGUgJXMiCittc2dzdHIgIsSNdGVuw60gesKgxI1hc292w6lobyBzb3Vib3J1ICVzIHNlbGhhbG8iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aW1pbmcgZmlsZSAlczogbGluZSAlbHU6IHVuZXhwZWN0ZWQgZm9ybWF0IgorbXNnc3RyICLEjWFzb3bDvSBzb3Vib3IgJXM6ICVsdTogbmVvxI1la8OhdmFuw70gZm9ybcOhdCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgImFyZ3VtZW50IGVycm9yOiBicmlnaHQgJXMgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiY2h5YmEgYXJndW1lbnR1OiBzdsSbdGxvc3QgJXMgbmVuw60gbmVwb2Rwb3JvdsOhbmEiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyOAorbXNnaWQgInRvbyBtYW55IHRhYnMiCittc2dzdHIgInDFmcOtbGnFoSBtbm9obyB0YWJ1bMOhdG9yxa8iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MworbXNnaWQgIlNldCB0aGUgYXR0cmlidXRlcyBvZiBhIHRlcm1pbmFsLlxuIgorbXNnc3RyICJOYXN0YXbDrSB2bGFzdG5vc3RpIHRlcm1pbsOhbHUuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NgorbXNnaWQgIiAtLXRlcm0gICAgICAgICAgPHRlcm1pbmFsX25hbWU+ICAgb3ZlcnJpZGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIgLS10ZXJtICAgICAgICAgIDxuw6F6ZXYgdGVybWluw6FsdT4gIHDFmWViaWplIHByb23Em25ub3UgcHJvc3TFmWVkw60gVEVSTVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODcKK21zZ2lkICIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHRvIHBvd2VyLW9uIHN0YXRlXG4iCittc2dzdHIgIiAtLXJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXR1amUgdGVybWluw6FsIGRvIHbDvWNob3rDrWhvIHN0YXZ1XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OAorbXNnaWQgIiAtLWluaXRpYWxpemUgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBpbml0IHN0cmluZywgYW5kIHVzZSBkZWZhdWx0IHNldHRpbmdzXG4iCittc2dzdHIgIiIKKyIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIHpvYnJhesOtIGluaWNpYWxpemHEjW7DrSDFmWV0xJt6ZWMgYSBwb3XFvmlqZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdsO9Y2hvesOtIG5hc3RhdmVuw61cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg5Cittc2dpZCAiIC0tZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgZGVmYXVsdCB0ZXJtaW5hbCBzZXR0aW5nc1xuIgorbXNnc3RyICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHBvdcW+aWplIHbDvWNob3rDrSBuYXN0YXZlbsOtIHRlcm1pbsOhbHVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkwCittc2dpZCAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgdGVybWluYWwgc2V0dGluZ3MgYXMgZGVmYXVsdFxuIgorbXNnc3RyICIiCisiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICB1bG/FvsOtIHNvdcSNYXNuw6kgbmFzdGF2ZW7DrSB0ZXJtaW7DoWx1IGpha29cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHbDvWNob3rDrVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTEKK21zZ2lkICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGRpc3BsYXkgY3Vyc29yXG4iCittc2dzdHIgIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAgemFwbmUgKG9uKSAvIHZ5cG5lIChvZmYpIHpvYnJhemVuw60ga3Vyem9ydVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTIKK21zZ2lkICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGtleWJvYXJkIHJlcGVhdFxuIgorbXNnc3RyICItLXJlcGVhdCAgICAgICAgW29ufG9mZl0gICAgICAgICAgIG9wYWtvdsOhbsOtIGtsw6F2ZXNuaWNlXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MworbXNnaWQgIiAtLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gICAgICAgICAgY3Vyc29yIGtleSBhcHBsaWNhdGlvbiBtb2RlXG4iCittc2dzdHIgIiAtLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gICAgICAgICAgcmXFvmltIGFwbGlrYWNlIGt1cnpvcm92w71jaCBrbMOhdmVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NAorbXNnaWQgIiAtLWxpbmV3cmFwICAgICAgW29ufG9mZl0gICAgICAgICAgY29udGludWUgb24gYSBuZXcgbGluZSB3aGVuIGEgbGluZSBpcyBmdWxsXG4iCittc2dzdHIgIiIKKyItLWxpbmV3cmFwICAgICAgW29ufG9mZl0gICAgICAgICAgIHBva3JhxI11amUgbmEgZGFsxaHDrW0gxZnDoWRrdSwga2R5xb4gxZnDoWRlayBqZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxuw71cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk1Cittc2dpZCAiIC0taW52ZXJzZXNjcmVlbiBbb258b2ZmXSAgICAgICAgICBzd2FwIGNvbG9ycyBmb3IgdGhlIHdob2xlIHNjcmVlblxuIgorbXNnc3RyICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIHByb2hvZMOtIGJhcnZ5IG5hIGNlbMOpIG9icmF6b3ZjZVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTYKK21zZ2lkICIgLS1mb3JlZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBmb3JlZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiAtLWZvcmVncm91bmQgICAgZGVmYXVsdHw8YmFydmE+ICAgbmFzdGF2w60gYmFydnUgcG9wxZllZMOtICjigJ5kZWZhdWx04oCcIGplIHbDvWNob3rDrSlcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk3Cittc2dpZCAiIC0tYmFja2dyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgYmFja2dyb3VuZCBjb2xvclxuIgorbXNnc3RyICIgLS1iYWNrZ3JvdW5kICAgIGRlZmF1bHR8PGJhcnZhPiAgIG5hc3RhdsOtIGJhcnZ1IHBvemFkw61cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk4Cittc2dpZCAiIC0tdWxjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgdW5kZXJsaW5lZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiAtLXVsY29sb3IgICAgICAgW2phc10gPGJhcnZhPiAgICAgbmFzdGF2w60gYmFydnUgcG9kdHLFvmVuw6lobyB0ZXh0dVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTkKK21zZ2lkICIgLS1oYmNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCBib2xkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8YmFydmE+ICBuYXN0YXbDrSBiYXJ2dSB0dcSNbsOpaG8gdGV4dHVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAwCittc2dpZCAiICAgICAgICAgICAgICAgICA8Y29sb3I+OiBibGFjayBibHVlIGN5YW4gZ3JlZW4gZ3JleSBtYWdlbnRhIHJlZCB3aGl0ZSB5ZWxsb3dcbiIKK21zZ3N0ciAiIgorIiAgICAgICAgICAgICAgICAgPGJhcnZhPjogYmxhY2sgKMSNZXJuw6EpLCBibHVlIChtb2Ryw6EpLCBjeWFuIChhenVyb3bDoSksXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbiAoemVsZW7DoSksIGdyZXkgKMWhZWRpdsOhKSwgbWFnZW50YSAocHVycHVyb3bDoSlcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZCAoxI1lcnZlbsOhKSwgd2hpdGUgKGLDrWzDoSksIHllbGxvdyAoxb5sdXTDoSlcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAxCittc2dpZCAiIC0tYm9sZCAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBib2xkXG4iCittc2dzdHIgIiAtLWJvbGQgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgdHXEjW5vc3RcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAyCittc2dpZCAiIC0taGFsZi1icmlnaHQgICBbb258b2ZmXSAgICAgICAgICBkaW1cbiIKK21zZ3N0ciAiIC0taGFsZi1icmlnaHQgICBbb258b2ZmXSAgICAgICAgICB0ZW1ub3N0XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMworbXNnaWQgIiAtLWJsaW5rICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYmxpbmtcbiIKK21zZ3N0ciAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlrw6Fuw61cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA0Cittc2dpZCAiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICB1bmRlcmxpbmVcbiIKK21zZ3N0ciAiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICBwb2R0csW+ZW7DrVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDUKK21zZ2lkICIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgIHN3YXAgZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBjb2xvcnNcbiIKK21zZ3N0ciAiIC0tcmV2ZXJzZSAgICAgICBbb258b2ZmXSAgICAgICAgICBwcm9ob2TDrSBiYXJ2eSBwb3DFmWVkw60gYSBwb3phZMOtXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNgorbXNnaWQgIiAtLWNsZWFyICAgICAgICAgW2FsbHxyZXN0XSAgICAgICAgY2xlYXIgc2NyZWVuIGFuZCBzZXQgY3Vyc29yIHBvc2l0aW9uXG4iCittc2dzdHIgIiIKKyIgLS1jbGVhciAgICAgICAgIFthbGx8cmVzdF0gICAgICAgIHNtYcW+ZSBvYnJhem92a3UgYSBuYXN0YXbDrSBwb2xvaHUga3Vyem9ydTpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbCAodsWhZSksIHJlc3QgKHpieXRlaylcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA3Cittc2dpZCAiIC0tdGFicyAgICAgICAgICBbPG51bWJlcj4uLi5dICAgICBzZXQgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBzaG93IHRoZW1cbiIKK21zZ3N0ciAiIgorIiAtLXRhYnMgICAgICAgICAgWzzEjcOtc2xvPuKApl0gICAgICAgIG5hc3RhdsOtIHR5dG8gdGFidWzDoXRvcm92w6kgemFyw6HFvmt5IG5lYm8gamVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHpvYnJhesOtXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOAorbXNnaWQgIiAtLWNscnRhYnMgICAgICAgWzxudW1iZXI+Li4uXSAgICAgY2xlYXIgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBhbGxcbiIKK21zZ3N0ciAiIgorIiAtLWNscnRhYnMgICAgICAgWzzEjcOtc2xvPuKApl0gICAgICAgIG9kc3RyYW7DrSB0eXRvIG5lYm8gdsWhZWNobnkgdGFidWzDoXRvcm92w6lcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHphcsOhxb5reVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDkKK21zZ2lkICIgLS1yZWd0YWJzICAgICAgIFsxLTE2MF0gICAgICAgICAgIHNldCBhIHJlZ3VsYXIgdGFiIHN0b3AgaW50ZXJ2YWxcbiIKK21zZ3N0ciAiIgorIiAtLXJlZ3RhYnMgICAgICAgWzHigJMxNjBdICAgICAgICAgICBuYXN0YXbDrSBwcmF2aWRlbG7DvSByb3plc3R1cCB0YWJ1bMOhdG9yb3bDvWNoXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6YXLDocW+ZWtcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEwCittc2dpZCAiIC0tYmxhbmsgICAgICAgICBbMC02MHxmb3JjZXxwb2tlXSBzZXQgdGltZSBvZiBpbmFjdGl2aXR5IGJlZm9yZSBzY3JlZW4gYmxhbmtzXG4iCittc2dzdHIgIiIKKyIgLS1ibGFuayAgICAgICAgIFsw4oCTNjB8Zm9yY2V8cG9rZV0gbmFzdGF2w60gZG9idSBuZcSNaW5ub3N0aSBudXRub3UgcHJvXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3RlbW7Em27DrSBvYnJhem92a3lcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDExCittc2dpZCAiIC0tZHVtcCAgICAgICAgICBbPG51bWJlcj5dICAgICAgICB3cml0ZSB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIC0tZHVtcCAgICAgICAgICBbPMSNw61zbG8+XSAgICAgICAgIHphcMOtxaFlIG9ic2FoIGtvbnpvbHkgdmNzYTzEjcOtc2xvPiBkbyBzb3Vib3J1XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMgorbXNnaWQgIiAtLWFwcGVuZCAgICAgICAgWzxudW1iZXI+XSAgICAgICAgYXBwZW5kIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIgLS1hcHBlbmQgICAgICAgIFs8xI3DrXNsbz5dICAgICAgICAgcMWZaXBvasOtIG9ic2FoIGtvbnpvbHkgdmNzYTzEjcOtc2xvPiBkbyBzb3Vib3J1XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMworbXNnaWQgIiAtLWZpbGUgICAgICAgICAgPGZpbGVuYW1lPiAgICAgICAgbmFtZSBvZiB0aGUgZHVtcCBmaWxlXG4iCittc2dzdHIgIiAtLWZpbGUgICAgICAgICAgPHNvdWJvcj4gICAgICAgICAgbsOhemV2IHbDvXN0dXBuw61obyBzb3Vib3J1XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNAorbXNnaWQgIiAtLW1zZyAgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgc2VuZCBrZXJuZWwgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgIGhsw6HFoWVuw60gasOhZHJhIG9kZXPDrWzDoSBuYSBrb256b2x1XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNQorbXNnaWQgIiAtLW1zZ2xldmVsICAgICAgMC04ICAgICAgICAgICAgICAga2VybmVsIGNvbnNvbGUgbG9nIGxldmVsXG4iCittc2dzdHIgIiAtLW1zZ2xldmVsICAgICAgMOKAkzggICAgICAgICAgICAgICDDunJvdmXFiCBwcm90b2tvbHUgamFkZXJuw6kga29uem9sZVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTYKK21zZ2lkICIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorbXNnc3RyICIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTcKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCB2ZXNhIHBvd2Vyc2F2aW5nIGZlYXR1cmVzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFzdGF2ZW7DrSDFoWV0xZllbsOtIGVuZXJnacOtIFZFU0FcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE4Cittc2dpZCAiIC0tcG93ZXJkb3duICAgICBbMC02MF0gICAgICAgICAgICBzZXQgdmVzYSBwb3dlcmRvd24gaW50ZXJ2YWwgaW4gbWludXRlc1xuIgorbXNnc3RyICIiCisiIC0tcG93ZXJkb3duICAgICBbMOKAkzYwXSAgICAgICAgICAgIG5hc3RhdsOtIGludGVydmFsIHbCoG1pbnV0w6FjaCBwcm8gVkVTQSByZcW+aW1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvd2VyZG93blxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTkKK21zZ2lkICIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIGR1cmF0aW9uIG9mIHRoZSBiZWxsIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIgLS1ibGVuZ3RoICAgICAgIFsw4oCTMjAwMF0gICAgICAgICAgZMOpbGthIHp2b25rdSB2wqBtaWxpc2VrdW5kw6FjaFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjAKK21zZ2lkICIgLS1iZnJlcSAgICAgICAgIDxudW1iZXI+ICAgICAgICAgIGJlbGwgZnJlcXVlbmN5IGluIEhlcnR6XG4iCittc2dzdHIgIiAtLWJmcmVxICAgICAgICAgPMSNw61zbG8+ICAgICAgICAgICBmcmVrdmVuY2UgenZvbmt1IHbCoGhlcnR6w61jaFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjEKK21zZ2lkICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIHNob3cgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIHpvYnJhesOtIMO6ZGFqZSBvwqB2ZXJ6aSBhIHNrb27EjcOtXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMgorbXNnaWQgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHUgYSBza29uxI3DrVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MzAKK21zZ2lkICJkdXBsaWNhdGUgdXNlIG9mIGFuIG9wdGlvbiIKK21zZ3N0ciAidsOtY2VrcsOhdCBwb3XFvml0w70gcMWZZXDDrW5hxI0iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjczNAorbXNnaWQgImNhbm5vdCBmb3JjZSBibGFuayIKK21zZ3N0ciAicmXFvmltIGJsYW5rIG5lbHplIHZ5bnV0aXQiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjczOQorbXNnaWQgImNhbm5vdCBmb3JjZSB1bmJsYW5rIgorbXNnc3RyICJyZcW+aW0gdW5ibGFuayBuZWx6ZSB2eW51dGl0IgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NDUKK21zZ2lkICJjYW5ub3QgZ2V0IGJsYW5rIHN0YXR1cyIKK21zZ3N0ciAic3RhdiByZcW+aW11IGJsYW5rIG5lbHplIHpqaXN0aXQiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4gbm90IG9wZW4gZHVtcCBmaWxlICVzIGZvciBvdXRwdXQiCittc2dzdHIgInNvdWJvciBzwqBvYnNhaGVtIG9icmF6b3ZreSAlcyBuZWx6ZSBvdGV2xZnDrXQgcHJvIHrDoXBpcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODEzCisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsICVzIGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgInRlcm1pbsOhbCAlcyBuZXBvZHBvcnVqZSAlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6OTg4Cittc2dpZCAiY2Fubm90ICh1bilzZXQgcG93ZXJzYXZlIG1vZGUiCittc2dzdHIgIsWhZXTFmWljw60gcmXFvmltIG5lbHplIHZ5cG5vdXQvemFwbm91dCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTAwNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDE2Cittc2dpZCAia2xvZ2N0bCBlcnJvciIKK21zZ3N0ciAiY2h5YmEga2xvZ2N0bCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTAzNworbXNnaWQgIiRURVJNIGlzIG5vdCBkZWZpbmVkLiIKK21zZ3N0ciAiUHJvbcSbbm7DoSBURVJNIG5lbsOtIG5hc3RhdmVuYS4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDQKK21zZ2lkICJ0ZXJtaW5mbyBkYXRhYmFzZSBjYW5ub3QgYmUgZm91bmQiCittc2dzdHIgImRhdGFiw6F6aSB0ZXJtaW5mbyBuZWx6ZSBuYWrDrXQiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gdGVybWluYWwgdHlwZSIKK21zZ3N0ciAiJXM6IG5lem7DoW3DvSBkcnVoIHRlcm1pbsOhbHUiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDgKK21zZ2lkICJ0ZXJtaW5hbCBpcyBoYXJkY29weSIKK21zZ3N0ciAidGVybWluw6FsIGplIMSNaXN0xJsgdsO9c3R1cG7DrSAoaGFyZGNvcHkpIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB0b28gbWFueSBpb3YncyIKK21zZ3N0ciAidm5pdMWZbsOtIGNoeWJhOiBwxZnDrWxpxaEgbW5vaG8gdmVrdG9yxa8gSS9PIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImV4Y2Vzc2l2ZWx5IGxvbmcgbGluZSBhcmciCittc2dzdHIgInDFmcOtbGnFoSBkbG91aMO9IMWZw6FkZWsgcyBhcmd1bWVudHkiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZW4gZmFpbGVkIgorbXNnc3RyICJvdGV2xZllbsOtIHNlbGhhbG8iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcms6ICVtIgorbXNnc3RyICJmb3JrOiAlbSIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZvcmsiCittc2dzdHIgInZvbMOhbsOtIGZvcmsgc2VsaGFsbyIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJBRCBFUlJPUiwgbWVzc2FnZSBpcyBmYXIgdG9vIGxvbmciCittc2dzdHIgIiVzOiBPxaBLTElWw4EgQ0hZQkEsIHpwcsOhdmEgamUgb3ByYXZkdSBtb2MgZGxvdWjDoSIKKworIzogdGVybS11dGlscy93YWxsLmM6ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IHwgPG1lc3NhZ2U+XVxuIgorbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gWzxzb3Vib3I+IHwgPHpwcsOhdmE+XVxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4NgorbXNnaWQgIldyaXRlIGEgbWVzc2FnZSB0byBhbGwgdXNlcnMuXG4iCittc2dzdHIgIk5hcMOtxaFlIHpwcsOhdnUgdsWhZW0gdcW+aXZhdGVsxa9tLlxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4OQorbXNnaWQgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBkbyBub3QgcHJpbnQgYmFubmVyLCB3b3JrcyBvbmx5IGZvciByb290XG4iCittc2dzdHIgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBuZXZ5cMOtxaFlIHRpdHVsZWssIGZ1bmd1amUgamVuIHBybyBzdXBlcnXFvml2YXRlbGVcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTAKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8dGltZW91dD4gd3JpdGUgdGltZW91dCBpbiBzZWNvbmRzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lb3V0IDxsaW1pdD4gICDEjWFzb3bDqSBvbWV6ZW7DrSBuYSB6w6FwaXMgdsKgc2VrdW5kw6FjaFxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMzIKK21zZ2lkICItLW5vYmFubmVyIGlzIGF2YWlsYWJsZSBvbmx5IGZvciByb290IgorbXNnc3RyICItLW5vYmFubmVyIGplIGRvc3R1cG7DvSBqZW4gc3VwZXJ1xb5pdmF0ZWxpIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiY2h5Ym7DvSBhcmd1bWVudCBzwqDEjWFzb3bDvW0gbGltaXRlbTogJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjI2OQorbXNnaWQgImNhbm5vdCBnZXQgcGFzc3dkIHVpZCIKK21zZ3N0ciAicHJvIFVJRCBuZWx6ZSB6w61za2F0IHrDoXpuYW0gesKgZGF0YWLDoXplIHXFvml2YXRlbMWvIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyNzQKK21zZ2lkICJjYW5ub3QgZ2V0IHR0eSBuYW1lIgorbXNnc3RyICJuw6F6ZXYgVFRZIG5lbHplIHpqaXN0aXQiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICJCcm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzQCVzICglcykgKCVzKToiCittc2dzdHIgIlbFoWVvYmVjbsOhIHpwcsOhdmEgb2QgJXNAJXMgKCVzKSAoJXMpOiIKKworIzogdGVybS11dGlscy93YWxsLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IHJlYWQgJXMgLSB1c2Ugc3RkaW4uIgorbXNnc3RyICJuZWJ1ZGUgc2UgxI3DrXN0IHrCoCVzwqDigJMgcG91xb5panRlIHN0YW5kYXJkbsOtIHZzdHVwLiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHVzZXI+IFs8dHR5bmFtZT5dXG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSA8dcW+aXZhdGVsPiBbPG7DoXpldl9UVFk+XVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6OTAKK21zZ2lkICJTZW5kIGEgbWVzc2FnZSB0byBhbm90aGVyIHVzZXIuXG4iCittc2dzdHIgIlBvxaFsZSB6cHLDoXZ1IGppbsOpbXUgdcW+aXZhdGVsaS5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICJlZmZlY3RpdmUgZ2lkIGRvZXMgbm90IG1hdGNoIGdyb3VwIG9mICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiIKK21zZ3N0ciAidcW+aXZhdGVsICVzIG5lbsOtIHDFmWlobMOhxaFlbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwNworbXNnaWQgImNhbid0IGZpbmQgeW91ciB0dHkncyBuYW1lIgorbXNnc3RyICJuw6F6ZXYgdmHFoWVobyBUVFkgbmVsemUgemppc3RpdCIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQiCittc2dzdHIgInXFvml2YXRlbCAlcyBtw6EgdnlwbnV0IHDFmcOtamVtIHpwcsOhdiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBsb2dnZWQgaW4gbW9yZSB0aGFuIG9uY2U7IHdyaXRpbmcgdG8gJXMiCittc2dzdHIgInXFvml2YXRlbCAlcyBqZSBwxZlpaGzDocWhZW4gdsOtY2VrcsOhdDsgemFww63FoWUgc2UgbmEgJXMiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMzgKK21zZ2lkICJjYXJlZnVscHV0YyBmYWlsZWQiCittc2dzdHIgImZ1bmtjZSBjYXJlZnVscHV0YyBzZWxoYWxhIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgKGFzICVzKSBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICJacHLDoXZhIG9kICVzQCVzIChqYWtvICVzKSBuYSAlcyB2wqAlc+KApiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIlpwcsOhdmEgb2QgJXNAJXMgbmEgJXMgdsKgJXPigKYiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozMzEKK21zZ2lkICJ5b3UgaGF2ZSB3cml0ZSBwZXJtaXNzaW9uIHR1cm5lZCBvZmYiCittc2dzdHIgIm3DoXRlIHZ5cG51dCBwxZnDrWplbSB6cHLDoXYiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiBvbiAlcyIKK21zZ3N0ciAidcW+aXZhdGVsICVzIG5lbsOtIG5hICVzIHDFmWlobMOhxaFlbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQgb24gJXMiCittc2dzdHIgInXFvml2YXRlbCAlcyBtw6EgbmEgJXMgdnlwbnV0IHDFmcOtamVtIHpwcsOhdiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzQKK21zZ2lkICJGaWx0ZXIgb3V0IHJldmVyc2UgbGluZSBmZWVkcy5cbiIKK21zZ3N0ciAiT2RzdHJhbsOtIHpuYWt5IHBybyB6cMSbdG7DvSBwb3N1bi5cbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAgZG8gbm90IG91dHB1dCBiYWNrc3BhY2VzXG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAgcGVybWl0IGZvcndhcmQgaGFsZiBsaW5lIGZlZWRzXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAgcGFzcyB1bmtub3duIGNvbnRyb2wgc2VxdWVuY2VzXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgY29udmVydCBzcGFjZXMgdG8gdGFic1xuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIGNvbnZlcnQgdGFicyB0byBzcGFjZXNcbiIKKyIgLWwsIC0tbGluZXMgTlVNICAgICAgICBidWZmZXIgYXQgbGVhc3QgTlVNIGxpbmVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLUgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiUMWZZXDDrW5hxI1lOlxuIgorIiAtYiwgLS1uby1iYWNrc3BhY2VzICAgIG5ldnlwaXN1amUgem5ha3kgYmFja3NwYWNlc1xuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIHBvdm9sw60gZG9wxZllZG7DqSBwxa9sxZnDoWRrb3bDqSBwb3N1bnlcbiIKKyIgLXAsIC0tcGFzcyAgICAgICAgICAgICBwcm9wdXN0w60gbmV6bsOhbcOpIMWZw61kaWPDrSB6bmFreVxuIgorIiAtaCwgLS10YWJzICAgICAgICAgICAgIG1lemVyeSBwxZlldmVkZSBuYSB0YWJ1bMOhdG9yeVxuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIHRhYnVsw6F0b3J5IHDFmWV2ZWRlIG5hIG1lemVyeVxuIgorIiAtbCwgLS1saW5lcyBQT8SMRVQgICAgICBidWZmZXJ1amUgYWxlc3BvxYggUE/EjEVUIMWZw6Fka8WvXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyIgLUgsIC0taGVscCAgICAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHUgYSBza29uxI3DrVxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE0OCB0ZXh0LXV0aWxzL2NvbHJtLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzIHJlYWRzIGZyb20gc3RhbmRhcmQgaW5wdXQgYW5kIHdyaXRlcyB0byBzdGFuZGFyZCBvdXRwdXRcbiIKKyJcbiIKK21zZ3N0ciAiJXMgxI10ZSB6ZSBzdGFuZGFyZG7DrWhvIHZzdHVwdSBhIHphcGlzdWplIG5hIHN0YW5kYXJkbsOtIHbDvXN0dXBcbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoyMTIKK21zZ2lkICJiYWQgLWwgYXJndW1lbnQiCittc2dzdHIgImNoeWJuw70gYXJndW1lbnQgcMWZZXDDrW5hxI1lIC1sIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW4ndCBiYWNrIHVwICVzLiIKK21zZ3N0ciAicG96b3I6ICVzIG5lbHplIHphesOhbG9ob3ZhdC4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM3Cittc2dpZCAicGFzdCBmaXJzdCBsaW5lIgorbXNnc3RyICJqc2VtIHphIHBydm7DrW0gxZnDoWRrZW0iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM3Cittc2dpZCAiLS0gbGluZSBhbHJlYWR5IGZsdXNoZWQiCittc2dzdHIgIi0tIMWZw6FkZWsgamnFviBuZW7DrSB2IGJ1ZnJ1IgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjgxIHRleHQtdXRpbHMvY29sdW1uLmM6MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIFs8c291Ym9y4oCmPl1cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NAorbXNnaWQgIkZpbHRlciBucm9mZiBvdXRwdXQgZm9yIENSVCBwcmV2aWV3aW5nLlxuIgorbXNnc3RyICJGaWx0cnVqZSB2w71zdHVwIG5yb2ZmdSBwcm8gbsOhaGxlZCBuYSBDUlQuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODcKK21zZ2lkICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgICAgc3VwcHJlc3MgYWxsIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiAtLCAtLW5vLXVuZGVybGluaW5nICAgICBwb3RsYcSNw60gcG9kdHJow6F2w6Fuw61cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OAorbXNnaWQgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBwcmludCBhbGwgaGFsZi1saW5lc1xuIgorbXNnc3RyICIgLcSbLCAtLWhhbGYtbGluZXMgICAgICAgIHZ5cMOtxaFlIHbFoWVjaG55IHDFr2zFmcOhZGt5XG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtzdGFydGNvbCBbZW5kY29sXV1cbiIKK21zZ3N0ciAiIgorIlxuIgorIlBvdcW+aXTDrTpcbiIKKyIgJXMgW3BvxI3DoXRlxI1uw61fc2xvdXBlYyBba29uY292w71fc2xvdXBlY11dXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo2NAorbXNnaWQgIkZpbHRlciBvdXQgdGhlIHNwZWNpZmllZCBjb2x1bW5zLlxuIgorbXNnc3RyICJPZHN0cmFuw60gemFkYW7DqSBzbG91cGNlLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg1Cittc2dpZCAiZmlyc3QgYXJndW1lbnQiCittc2dzdHIgInBydm7DrSBhcmd1bWVudCIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NworbXNnaWQgInNlY29uZCBhcmd1bWVudCIKK21zZ3N0ciAiZHJ1aMO9IGFyZ3VtZW50IgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyMAorbXNnaWQgIkNvbHVtbmF0ZSBsaXN0cy5cbiIKK21zZ3N0ciAiVnlzw6F6w60gc2V6bmFteSBkbyBzbG91cGPFry5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjMKK21zZ2lkICIgLWMsIC0tY29sdW1ucyA8d2lkdGg+ICAgIHdpZHRoIG9mIG91dHB1dCBpbiBudW1iZXIgb2YgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLWMsIC0tY29sdW1ucyA8xaHDrcWZa2E+ICAgIMWhw63FmWthIHbDvXN0dXB1IHZlIHpuYWPDrWNoXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI0Cittc2dpZCAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICBjcmVhdGUgYSB0YWJsZVxuIgorbXNnc3RyICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgIHZ5dHZvxZnDrSB0YWJ1bGt1XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI1Cittc2dpZCAiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiBwb3NzaWJsZSB0YWJsZSBkZWxpbWl0ZXJzXG4iCittc2dzdHIgIiIKKyIgLXMsIC0tc2VwYXJhdG9yIDzFmWV0xJt6ZWM+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBtb8W+bsOpIG9kZMSbbG92YcSNZSB0YWJ1bGt5XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI2Cittc2dpZCAiIgorIiAtbywgLS1vdXRwdXQtc2VwYXJhdG9yIDxzdHJpbmc+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zIHNlcGFyYXRvciBmb3IgdGFibGUgb3V0cHV0OyBkZWZhdWx0IGlzIHR3byBzcGFjZXNcbiIKK21zZ3N0ciAiIgorIiAtbywgLS1vdXRwdXQtc2VwYXJhdG9yIDzFmWV0xJt6ZWM+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBvZGTEm2xvdmHEjSBzbG91cGPFryB2ZSB2w71zdHVwbsOtIHRhYnVsY2UsIHbDvWNob3rDrVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAganNvdSBkdsSbIG1lemVyeVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyOAorbXNnaWQgIiAteCwgLS1maWxscm93cyAgICAgICAgICAgZmlsbCByb3dzIGJlZm9yZSBjb2x1bW5zXG4iCittc2dzdHIgIiAteCwgLS1maWxscm93cyAgICAgICAgICAgcMWZZWQgc2xvdXBjaSB2eXBsbsOtIMWZw6Fka3lcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxODIKK21zZ2lkICJpbnZhbGlkIGNvbHVtbnMgYXJndW1lbnQiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCBzbG91cGPFryIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlZCBpcyB0b28gbG9uZywgb3V0cHV0IHdpbGwgYmUgdHJ1bmNhdGVkIgorbXNnc3RyICLFmcOhZGVrICVkIGplIHDFmcOtbGnFoSBkbG91aMO9LCB2w71zdHVwIGJ1ZGUgemtyw6FjZW4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1NSB0ZXh0LXV0aWxzL21vcmUuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIDxzb3Vib3LigKY+XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1OAorbXNnaWQgIkRpc3BsYXkgZmlsZSBjb250ZW50cyBpbiBoZXhhZGVjaW1hbCwgZGVjaW1hbCwgb2N0YWwsIG9yIGFzY2lpLlxuIgorbXNnc3RyICJab2JyYXrDrSBvYnNhaCBzb3Vib3J1IHbCoMWhZXN0bsOhY3Rrb3bDqSwgZGVzw610a292w6ksIG9zbWnEjWtvdsOpIG5lYm8gQVNDSUkgcG9kb2LEmy5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYxCittc2dpZCAiIC1iLCAtLW9uZS1ieXRlLW9jdGFsICAgICAgb25lLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICB2w71waXMgcG8gYmFqdGVjaCBvc21pxI1rb3bEm1xuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjIKK21zZ2lkICIgLWMsIC0tb25lLWJ5dGUtY2hhciAgICAgICBvbmUtYnl0ZSBjaGFyYWN0ZXIgZGlzcGxheVxuIgorbXNnc3RyICIgLWMsIC0tb25lLWJ5dGUtY2hhciAgICAgICB2w71waXMgcG8gYmFqdGVjaCBqYWtvIHpuYWt5XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MworbXNnaWQgIiAtQywgLS1jYW5vbmljYWwgICAgICAgICAgIGNhbm9uaWNhbCBoZXgrQVNDSUkgZGlzcGxheVxuIgorbXNnc3RyICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBub3Jtb3ZhbsO9IHbDvXBpcyDFoWVzdG7DoWN0a292xJsgYSB2wqBBU0NJSVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjQKK21zZ2lkICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1kLCAtLXR3by1ieXRlcy1kZWNpbWFsICAgdsO9cGlzIHBvIGR2b3UgYmFqdGVjaCBkZXPDrXRrb3bEm1xuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjUKK21zZ2lkICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICB0d28tYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIHbDvXBpcyBwbyBkdm91IGJhanRlY2ggb3NtacSNa292xJtcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY2Cittc2dpZCAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIgLXgsIC0tdHdvLWJ5dGVzLWhleCAgICAgICB2w71waXMgcG8gZHZvdSBiYWp0ZWNoIMWhZXN0bsOhY3Rrb3bEm1xuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjcKK21zZ2lkICIgLUwsIC0tY29sb3JbPTxtb2RlPl0gICAgICBpbnRlcnByZXQgY29sb3IgZm9ybWF0dGluZyBzcGVjaWZpZXJzXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PHJlxb5pbT5dICAgICBpbnRlcnByZXR1amUgZm9ybcOhdG92YWPDrSBzZWt2ZW5jZSBiYXJldlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzAKK21zZ2lkICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIgorbXNnc3RyICIgLWUsIC0tZm9ybWF0IDxmb3Jtw6F0PiAgICAgZm9ybcOhdG92YWPDrSDFmWV0xJt6ZWMgcG91xb5pdMO9IHDFmWkgdsO9cGlzdSBkYXRcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcxCittc2dpZCAiIC1mLCAtLWZvcm1hdC1maWxlIDxmaWxlPiAgZmlsZSB0aGF0IGNvbnRhaW5zIGZvcm1hdCBzdHJpbmdzXG4iCittc2dzdHIgIiIKKyIgLWYsIC0tZm9ybWF0LWZpbGUgPHNvdWJvcj5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3Vib3Igb2JzYWh1asOtY8OtIGZvcm3DoXRvdmFjw60gxZlldMSbemNlXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MgorbXNnaWQgIiAtbiwgLS1sZW5ndGggPGxlbmd0aD4gICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorbXNnc3RyICIgLW4sIC0tbGVuZ3RoIDxkw6lsa2E+ICAgICAgaW50ZXJwcmV0dWplIHBvdXplIGTDqWxrdSBiYWp0xa8gemUgdnN0dXB1XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MworbXNnaWQgIiAtcywgLS1za2lwIDxvZmZzZXQ+ICAgICAgIHNraXAgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZ1xuIgorbXNnc3RyICIgLXMsIC0tc2tpcCA8cG96aWNlPiAgICAgICBwxZllc2tvxI3DrSB6YWRhbsO9IHBvxI1ldCBiYWp0xa8gbmEgemHEjcOhdGt1IHZzdHVwdVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzQKK21zZ2lkICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICBvdXRwdXQgaWRlbnRpY2FsIGxpbmVzXG4iCittc2dzdHIgIiAtdiwgLS1uby1zcXVlZXppbmcgICAgICAgIHZlIHbDvXBpc3UgbmV2eW5lY2jDoSBzaG9kbsOpIMWZw6Fka3lcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLWRpc3BsYXkuYzozNjUKK21zZ2lkICJhbGwgaW5wdXQgZmlsZSBhcmd1bWVudHMgZmFpbGVkIgorbXNnc3RyICJ2xaFlY2hueSBhcmd1bWVudHkgdnN0dXBuw61obyBzb3Vib3J1IHNlbGhhbHkiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBieXRlIGNvdW50IGZvciBjb252ZXJzaW9uIGNoYXJhY3RlciAlcyIKK21zZ3N0ciAiY2h5Ym7DvSBwb8SNZXQgYmFqdMWvIHBybyBrb252ZXJ6bsOtIHpuYWsgJXMiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUlcyByZXF1aXJlcyBhIHByZWNpc2lvbiBvciBhIGJ5dGUgY291bnQiCittc2dzdHIgIiUlcyB2ecW+YWR1amUgdXZlZGVuw60gcMWZZXNub3N0aSDEjWkgcG/EjXR1IGJhanTFryIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGZvcm1hdCB7JXN9IgorbXNnc3RyICJjaHlibsO9IGZvcm3DoXQgeyVzfSIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbnZlcnNpb24gY2hhcmFjdGVyICUlJXMiCittc2dzdHIgImNoeWJuw70gem5hayB2IGtvbnZlcnppICUlJXMiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjQzNgorbXNnaWQgImJ5dGUgY291bnQgd2l0aCBtdWx0aXBsZSBjb252ZXJzaW9uIGNoYXJhY3RlcnMiCittc2dzdHIgInBvxI1ldCBiYWp0xa8gcyB2w61jZSBuZcW+IGplZG7DrW0ga29udmVyem7DrW0gem5ha2VtIgorCisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozMworbXNnaWQgIlJlYWQgb25lIGxpbmUuXG4iCittc2dzdHIgIk5hxI10ZSBqZWRlbiDFmcOhZGVrLlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMjgKK21zZ2lkICJBIGZpbGUgcGVydXNhbCBmaWx0ZXIgZm9yIENSVCB2aWV3aW5nLlxuIgorbXNnc3RyICJGaWx0ZXIgcHJvIHByb2hsw63FvmVuw60gc291Ym9yxa8gbmEgQ1JULlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzEKK21zZ2lkICIgLWQgICAgICAgICAgZGlzcGxheSBoZWxwIGluc3RlYWQgb2YgcmluZ2luZyBiZWxsXG4iCittc2dzdHIgIiAtZCAgICAgICAgICB6b2JyYXrDrSBuw6Fwb3bEm2R1IG3DrXN0byB6YXp2b27Em27DrVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzIKK21zZ2lkICIgLWYgICAgICAgICAgY291bnQgbG9naWNhbCByYXRoZXIgdGhhbiBzY3JlZW4gbGluZXNcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgIHBvxI3DrXTDoSBsb2dpY2vDqSDFmcOhZGt5IG5hbcOtc3RvIMWZw6Fka8WvIG9icmF6b3ZreVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzMKK21zZ2lkICIgLWwgICAgICAgICAgc3VwcHJlc3MgcGF1c2UgYWZ0ZXIgZm9ybSBmZWVkXG4iCittc2dzdHIgIiAtbCAgICAgICAgICBwb3RsYcSNw60gemFzdGF2ZW7DrSBwbyBvZMWZw6Fka292w6Fuw60gZm9ybXVsw6HFmWVcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM0Cittc2dpZCAiIC1jICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGRpc3BsYXkgdGV4dCBhbmQgY2xlYW4gbGluZSBlbmRzXG4iCittc2dzdHIgIiAtYyAgICAgICAgICBuZXJvbHVqZSwgem9icmF6w60gdGV4dCBhIHZ5xI1pc3TDrSBrb25jZSDFmcOhZGvFr1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzUKK21zZ2lkICIgLXAgICAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIKK21zZ3N0ciAiIC1wICAgICAgICAgIG5lcm9sdWplLCBzbWHFvmUgb2JyYXpvdmt1IGEgem9icmF6w60gdGV4dFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzYKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIgLXMgICAgICAgICAgc3JhesOtIG7DoXNsZWR1asOtY8OtIHByw6F6ZG7DqSDFmcOhZGt5IGRvIGplZGluw6lob1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzcKK21zZ2lkICIgLXUgICAgICAgICAgc3VwcHJlc3MgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIC11ICAgICAgICAgIHBvdGxhxI3DrSBwb2R0cmjDoXbDoW7DrVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzgKK21zZ2lkICIgLTxudW1iZXI+ICAgdGhlIG51bWJlciBvZiBsaW5lcyBwZXIgc2NyZWVuZnVsXG4iCittc2dzdHIgIiAtPMSNw61zbG8+ICAgIHBvxI1ldCDFmcOhZGt1IG5hIG9ic2FoIG9icmF6b3ZreVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzkKK21zZ2lkICIgKzxudW1iZXI+ICAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIGxpbmUgbnVtYmVyXG4iCittc2dzdHIgIiArPMSNw61zbG8+ICAgIHpvYnJhesOtIHNvdWJvciBwb8SNw61uYWplIMSNw61zbGVtIMWZw6Fka3VcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQwCittc2dpZCAiICsvPHN0cmluZz4gIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBzZWFyY2ggc3RyaW5nIG1hdGNoXG4iCittc2dzdHIgIiArLzzFmWV0xJt6ZWM+IHpvYnJhesOtIHNvdWJvciBwb8SNw61uYWplIHNob2RvdSB2eWhsZWTDoXZhY8OtaG8gxZlldMSbemNlXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MQorbXNnaWQgIiAtViAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1WICAgICAgICAgIHpvYnJhesOtIMO6ZGFqZSBvwqB2ZXJ6aSBhIHNrb27EjcOtXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbiAtJXMiCittc2dzdHIgIm5lem7DoW3DvSBwxZllcMOtbmHEjSAtJXMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjUwOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqICVzOiBkaXJlY3RvcnkgKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKiogJXMgamUgYWRyZXPDocWZICoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKioqKioqICVzOiBOb3QgYSB0ZXh0IGZpbGUgKioqKioqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKioqICVzIG5lbsOtIHRleHRvdsO9bSBzb3Vib3JlbSAqKioqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1VzZSBxIG9yIFEgdG8gcXVpdF0iCittc2dzdHIgIltTdGlza27Em3RlIHEgxI1pIFEgcHJvIHVrb27EjWVuw61dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1Nb3JlLS0iCittc2dzdHIgIi0tUG9rcmHEjW92w6Fuw60tLSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzI2CisjLCBjLWZvcm1hdAorbXNnaWQgIihOZXh0IGZpbGU6ICVzKSIKK21zZ3N0ciAiKERhbMWhw60gc291Ym9yOiAlcykiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjczNAorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3Mgc3BhY2UgdG8gY29udGludWUsICdxJyB0byBxdWl0Ll0iCittc2dzdHIgIltTdGlza27Em3RlIG1lemVybsOtayBwcm8gcG9rcmHEjW92w6Fuw60sICdxJyBwcm8gdWtvbsSNZW7DrS5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmJhY2sgJWQgcGFnZSIKK21zZ2lkX3BsdXJhbCAiLi4uYmFjayAlZCBwYWdlcyIKK21zZ3N0clswXSAi4oCmenDEm3Qgb8KgJWQgc3RyYW51IgorbXNnc3RyWzFdICLigKZ6cMSbdCBvwqAlZCBzdHJhbnkiCittc2dzdHJbMl0gIuKApnpwxJt0IG/CoCVkIHN0cmFuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjEwCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnNraXBwaW5nICVkIGxpbmUiCittc2dpZF9wbHVyYWwgIi4uLnNraXBwaW5nICVkIGxpbmVzIgorbXNnc3RyWzBdICLigKZwxZllc2tha3VqZSBzZSAlZCDFmcOhZGVrIgorbXNnc3RyWzFdICLigKZwxZllc2tha3Vqw60gc2UgJWQgxZnDoWRreSIKK21zZ3N0clsyXSAi4oCmcMWZZXNrYWt1amUgc2UgJWQgxZnDoWRrxa8iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNDgKK21zZ2lkICIiCisiXG4iCisiKioqQmFjayoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqWnDEm3QqKipcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI2MworbXNnaWQgIk5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKK21zZ3N0ciAixb3DoWRuw70gcMWZZWRjaG96w60gcmVndWzDoXJuw60gdsO9cmF6IgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjkzCittc2dpZCAiIgorIlxuIgorIk1vc3QgY29tbWFuZHMgb3B0aW9uYWxseSBwcmVjZWRlZCBieSBpbnRlZ2VyIGFyZ3VtZW50IGsuICBEZWZhdWx0cyBpbiBicmFja2V0cy5cbiIKKyJTdGFyICgqKSBpbmRpY2F0ZXMgYXJndW1lbnQgYmVjb21lcyBuZXcgZGVmYXVsdC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlbEm3TFoWluxJsgcMWZw61rYXrFryBtxa/FvmUgamFrbyBhcmd1bWVudCBwxZllZGNow6F6ZXQgY2Vsw6kgxI3DrXNsbyBrLiBJbXBsaWNpdG7DrSBob2Rub3R5XG4iCisianNvdSB2IGhyYW5hdMO9Y2ggesOhdm9ya8OhY2guIEh2xJt6ZGnEjWthICgqKSB6bmFtZW7DoSwgxb5lIGhvZG5vdGEgYXJndW1lbnR1IHNlXG4iCisic3RhbmUgaW1wbGljaXRuw60uXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzMDAKK21zZ2lkICIiCisiPHNwYWNlPiAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXSpcbiIKKyI8cmV0dXJuPiAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFsxXSpcbiIKKyJkIG9yIGN0cmwtRCAgICAgICAgICAgICBTY3JvbGwgayBsaW5lcyBbY3VycmVudCBzY3JvbGwgc2l6ZSwgaW5pdGlhbGx5IDExXSpcbiIKKyJxIG9yIFEgb3IgPGludGVycnVwdD4gICBFeGl0IGZyb20gbW9yZVxuIgorInMgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIGxpbmVzIG9mIHRleHQgWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorImIgb3IgY3RybC1CICAgICAgICAgICAgIFNraXAgYmFja3dhcmRzIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIHBsYWNlIHdoZXJlIHByZXZpb3VzIHNlYXJjaCBzdGFydGVkXG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGxpbmUgbnVtYmVyXG4iCisiLzxyZWd1bGFyIGV4cHJlc3Npb24+ICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiByZWd1bGFyIGV4cHJlc3Npb24gWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiBsYXN0IHIuZSBbMV1cbiIKKyIhPGNtZD4gb3IgOiE8Y21kPiAgICAgICBFeGVjdXRlIDxjbWQ+IGluIGEgc3Vic2hlbGxcbiIKKyJ2ICAgICAgICAgICAgICAgICAgICAgICBTdGFydCB1cCAvdXNyL2Jpbi92aSBhdCBjdXJyZW50IGxpbmVcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICBSZWRyYXcgc2NyZWVuXG4iCisiOm4gICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIG5leHQgZmlsZSBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggcHJldmlvdXMgZmlsZSBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlclxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIFJlcGVhdCBwcmV2aW91cyBjb21tYW5kXG4iCittc2dzdHIgIiIKKyI8bWV6ZXJuw61rPiAgICAgICAgICAgICAgWm9icmF6w60gZGFsxaHDrWNoIGsgxZnDoWRrxa8gdGV4dHUuIFtha3R1w6FsbsOtIHZlbGlrb3N0XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgb2JyYXpvdmt5XVxuIgorInogICAgICAgICAgICAgICAgICAgICAgIFpvYnJhesOtIGRhbMWhw61jaCBrIMWZw6Fka8WvIHRleHR1LiBbYWt0dcOhbG7DrSB2ZWxpa29zdFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIG9icmF6b3ZreV0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAgWm9icmF6w60gZGFsxaHDrWNoIGsgxZnDoWRrxa8gdGV4dHUuIFsxXSpcbiIKKyJkIMSNaSBjdHJsLUQgICAgICAgICAgICAgUG9zdW4gbyBrIMWZw6Fka8WvIFtha3R1w6FsbsOtIHZlbGlrb3N0IHBvc3VudSwgcG8gc3B1xaF0xJtuw61cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAxMV0qXG4iCisicSDEjWkgUSDEjWkgPGludGVycnVwdD4gICBVa29uxI1lbsOtIHByb2dyYW11XG4iCisicyAgICAgICAgICAgICAgICAgICAgICAgUG9zdW4gdnDFmWVkIG8gayDFmcOhZGvFryBbMV1cbiIKKyJmICAgICAgICAgICAgICAgICAgICAgICBQb3N1biB2cMWZZWQgbyBrIHN0cmFuIFsxXVxuIgorImIgxI1pIGN0cmwtQiAgICAgICAgICAgICBQb3N1biB2emFkIG8gayBzdHJhbiBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBQxZllc2tvxI3DrSBuYSBtw61zdG8sIGtkZSBieWxvIHphaMOhamVubyBwxZllZGNob3rDrSBobGVkw6Fuw61cbiIKKyI9ICAgICAgICAgICAgICAgICAgICAgICBab2JyYXrDrSDEjcOtc2xvIGFrdHXDoWxuw61obyDFmcOhZGt1XG4iCisiLzxyZWd1bMOhcm7DrSB2w71yYXo+ICAgICAgSGxlZMOhIGsuIHbDvXNreXQgcmVndWzDoXJuw61obyB2w71yYXp1IFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIEhsZWTDoSBrLiB2w71yYXp1IHBvc2xlZG7DrWhvIHJlZ3Vsw6FybsOtaG8gdsO9cmF6dSBbMV1cbiIKKyIhPHDFmcOta2F6PiDEjWkgOiE8cMWZw61rYXo+IFNwdXN0w60gPHDFmcOta2F6PiB2IHBvZHNoZWxsdVxuIgorInYgICAgICAgICAgICAgICAgICAgICAgIFNwdXN0w60gL3Vzci9iaW4vdmkgbmEgYWt0dcOhbG7DrW0gxZnDoWRrdVxuIgorImN0cmwtTCAgICAgICAgICAgICAgICAgIFDFmWVrcmVzbMOtIG9icmF6b3ZrdVxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIFDFmWVza2/EjcOtIG5hIGsuIG7DoXNsZWR1asOtY8OtIHNvdWJvciBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgICAgICBQxZllc2tvxI3DrSBuYSBrLiBwxZllZGNow6F6ZWrDrWPDrSBzb3Vib3IgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgVnlww63FoWUgam3DqW5vIGFrdHXDoWxuw61obyBzb3Vib3J1IGEgxI3DrXNsbyBha3R1w6FsbsOtaG8gxZnDoWRrdVxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIFpvcGFrdWplIHDFmWVkY2jDoXplasOtY8OtIHDFmcOta2F6XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzNzMgdGV4dC11dGlscy9tb3JlLmM6MTM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3MgJ2gnIGZvciBpbnN0cnVjdGlvbnMuXSIKK21zZ3N0ciAiW1N0aXNrbsSbdGUg4oCeaOKAnCBwcm8gbsOhcG92xJtkdS5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBsaW5lICVkIgorbXNnc3RyICLigJ4lc+KAnCDFmcOhZGVrICVkIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDEyCisjLCBjLWZvcm1hdAorbXNnaWQgIltOb3QgYSBmaWxlXSBsaW5lICVkIgorbXNnc3RyICJbTmVqZWRuw6Egc2UgbyBzb3Vib3JdIMWZw6FkZWsgJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0OTQKK21zZ2lkICIgIE92ZXJmbG93XG4iCittc2dzdHIgIiAgUMWZZXRlxI1lbsOtXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1NDMKK21zZ2lkICIuLi5za2lwcGluZ1xuIgorbXNnc3RyICLigKZ2eW5lY2jDoXbDoW1cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU3NworbXNnaWQgIiIKKyJcbiIKKyJQYXR0ZXJuIG5vdCBmb3VuZFxuIgorbXNnc3RyICIiCisiXG4iCisiVnpvcmVrIG5lYnlsIG5hbGV6ZW5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU4MyB0ZXh0LXV0aWxzL3BnLmM6MTAyNyB0ZXh0LXV0aWxzL3BnLmM6MTE3MworbXNnaWQgIlBhdHRlcm4gbm90IGZvdW5kIgorbXNnc3RyICJWem9yZWsgbmVieWwgbmFsZXplbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTYyOQorbXNnaWQgImV4ZWMgZmFpbGVkXG4iCittc2dzdHIgInZvbMOhbsOtIGV4ZWMgc2VsaGFsb1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjQzCittc2dpZCAiY2FuJ3QgZm9ya1xuIgorbXNnc3RyICJ2b2zDoW7DrSBmb3JrIHNlbGhhbG9cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY3NworbXNnaWQgIiIKKyJcbiIKKyIuLi5Ta2lwcGluZyAiCittc2dzdHIgIiIKKyJcbiIKKyLigKZWeW5lY2jDoXbDoW0gIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjgxCittc2dpZCAiLi4uU2tpcHBpbmcgdG8gZmlsZSAiCittc2dzdHIgIuKAplDFmWVjaMOhesOtbSBuYSBzb3Vib3IgIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjgzCittc2dpZCAiLi4uU2tpcHBpbmcgYmFjayB0byBmaWxlICIKK21zZ3N0ciAi4oCmVnJhY8OtbSBzZSBuYSBzb3Vib3IgIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxOTczCittc2dpZCAiTGluZSB0b28gbG9uZyIKK21zZ3N0ciAixZjDoWRlayBqZSBwxZnDrWxpxaEgZGxvdWjDvSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjAxMAorbXNnaWQgIk5vIHByZXZpb3VzIGNvbW1hbmQgdG8gc3Vic3RpdHV0ZSBmb3IiCittc2dzdHIgIk5lZXhpc3R1amUgxb7DoWRuw70gcMWZw61rYXosIGplbsW+IGJ5IGJ5bG8gbW/Fvm5vIG5haHJhZGl0IgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTQ0Cittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyIgIGggICAgICAgICAgICAgICAgICAgICAgIHRoaXMgc2NyZWVuXG4iCisiICBxIG9yIFEgICAgICAgICAgICAgICAgICBxdWl0IHByb2dyYW1cbiIKKyIgIDxuZXdsaW5lPiAgICAgICAgICAgICAgIG5leHQgcGFnZVxuIgorIiAgZiAgICAgICAgICAgICAgICAgICAgICAgc2tpcCBhIHBhZ2UgZm9yd2FyZFxuIgorIiAgZCBvciBeRCAgICAgICAgICAgICAgICAgbmV4dCBoYWxmcGFnZVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgbmV4dCBsaW5lXG4iCisiICAkICAgICAgICAgICAgICAgICAgICAgICBsYXN0IHBhZ2VcbiIKKyIgIC9yZWdleC8gICAgICAgICAgICAgICAgIHNlYXJjaCBmb3J3YXJkIGZvciByZWdleFxuIgorIiAgP3JlZ2V4PyBvciBecmVnZXheICAgICAgc2VhcmNoIGJhY2t3YXJkIGZvciByZWdleFxuIgorIiAgLiBvciBeTCAgICAgICAgICAgICAgICAgcmVkcmF3IHNjcmVlblxuIgorIiAgdyBvciB6ICAgICAgICAgICAgICAgICAgc2V0IHBhZ2Ugc2l6ZSBhbmQgZ28gdG8gbmV4dCBwYWdlXG4iCisiICBzIGZpbGVuYW1lICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgZmlsZSB0byBmaWxlbmFtZVxuIgorIiAgIWNvbW1hbmQgICAgICAgICAgICAgICAgc2hlbGwgZXNjYXBlXG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBwcmV2aW91cyBmaWxlXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBuZXh0IGZpbGVcbiIKKyJcbiIKKyJNYW55IGNvbW1hbmRzIGFjY2VwdCBwcmVjZWRpbmcgbnVtYmVycywgZm9yIGV4YW1wbGU6XG4iCisiKzE8bmV3bGluZT4gKG5leHQgcGFnZSk7IC0xPG5ld2xpbmU+IChwcmV2aW91cyBwYWdlKTsgMTxuZXdsaW5lPiAoZmlyc3QgcGFnZSkuXG4iCisiXG4iCisiU2VlIHBnKDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyIgIGggICAgICAgICAgICAgICAgICAgICAgIHRhdG8gb2JyYXpvdmthXG4iCisiICBxIG5lYm8gUSAgICAgICAgICAgICAgICB1a29uxI1pdCBwcm9ncmFtXG4iCisiICA8bm92w70gxZnDoWRlaz4gICAgICAgICAgICBkYWzFocOtIHN0csOhbmthXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBwb3N1bm91dCBzZSBvwqBzdHLDoW5rdSB2cMWZZWRcbiIKKyIgIGQgbmVibyBeRCAgICAgICAgICAgICAgIGRhbMWhw60gcMWvbHN0csOhbmthXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBkYWzFocOtIMWZw6FkZWtcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIHBvc2xlZG7DrSBzdHLDoW5rYVxuIgorIiAgL3JlZ3bDvXIvICAgICAgICAgICAgICAgIGhsZWRhdCByZWd1bMOhcm7DrW0gdsO9cmF6ZW0gc23Em3JlbSBkb3DFmWVkdVxuIgorIiAgP3JlZ3bDvXI/IG5lYm8gXnJlZ3bDvXJeICBobGVkYXQgcmVndWzDoXJuw61tIHbDvXJhemVtIHNtxJtyZW0gZG96YWR1XG4iCisiICAuIG5lYm8gXkwgICAgICAgICAgICAgICBwxZlla3Jlc2xpdCBvYnJhem92a3VcbiIKKyIgIHcgbmVibyB6ICAgICAgICAgICAgICAgIG5hc3Rhdml0IHZlbGlrb3N0IHN0csOhbmt5IGEgcMWZZWrDrXQgbmEgZGFsxaHDrSBzdHLDoW5rdVxuIgorIiAgcyBuw6F6ZXZfc291Ym9ydSAgICAgICAgIHVsb8W+aXQgc291xI1hc27DvSBzb3Vib3IgcG9kIGptw6luZW1cbiIKKyIgICFwxZnDrWtheiAgICAgICAgICAgICAgICAgdXTDqWN0IGRvIHNoZWxsdVxuIgorIiAgcCAgICAgICAgICAgICAgICAgICAgICAgcMWZZWrDrXQgbmEgcMWZZWRjaG96w60gc291Ym9yXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICBwxZllasOtdCBuYSBkYWzFocOtIHNvdWJvclxuIgorIlxuIgorIk1ub2hvIHDFmcOta2F6xa8gcMWZaWrDrW3DoSBwxZllZGNow6F6ZWrDrWPDrSDEjcOtc2xhLCBuYSBwxZnDrWtsYWQ6ICsxPG5vdsO9IMWZw6FkZWs+IChkYWzFocOtXG4iCisic3Ryw6Fua2EpOyAtMTxub3bDvSDFmcOhZGVrPiAocMWZZWRjaG96w60gc3Ryw6Fua2EpOyAxPG5vdsO9IMWZw6FkZWs+IChwcnZuw60gc3Ryw6Fua2EpLlxuIgorIlxuIgorIlBvZHJvYm5vc3RpIHNlIGx6ZSBkb3p2xJtkxJt0IHrCoHBnKDEpLlxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyMgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFsrbGluZV0gWysvcGF0dGVybi9dIFtmaWxlc11cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIFsrxZnDoWRla10gWysvdnpvci9dIFtzb3Vib3JdXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMjYKK21zZ2lkICJCcm93c2UgcGFnZXdpc2UgdGhyb3VnaCB0ZXh0IGZpbGVzLlxuIgorbXNnc3RyICJQcm9jaMOhesOtIHRleHRvdsO9IHNvdWJvcnUgcG8gc3Ryw6Fua8OhY2guXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMjkKK21zZ2lkICIgLW51bWJlciAgICAgIGxpbmVzIHBlciBwYWdlXG4iCittc2dzdHIgIiAtbnVtYmVyICAgICAgxZnDoWRrxa8gbmEgc3Ryw6Fua3VcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMAorbXNnaWQgIiAtYyAgICAgICAgICAgY2xlYXIgc2NyZWVuIGJlZm9yZSBkaXNwbGF5aW5nXG4iCittc2dzdHIgIiAtYyAgICAgICAgICAgcMWZZWQgem9icmF6ZW7DrW0gc21hemF0IG9icmF6b3ZrdVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMxCittc2dpZCAiIC1lICAgICAgICAgICBkbyBub3QgcGF1c2UgYXQgZW5kIG9mIGEgZmlsZVxuIgorbXNnc3RyICIgLWUgICAgICAgICAgIG5lemFzdGF2aXQgc2UgbmEga29uY2kgc291Ym9ydVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMyCittc2dpZCAiIC1mICAgICAgICAgICBkbyBub3Qgc3BsaXQgbG9uZyBsaW5lc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgIG5lZMSbbGl0IGRsb3Vow6kgxZnDoWRreVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMzCittc2dpZCAiIC1uICAgICAgICAgICB0ZXJtaW5hdGUgY29tbWFuZCB3aXRoIG5ldyBsaW5lXG4iCittc2dzdHIgIiAtbiAgICAgICAgICAgdWtvbsSNaXQgcMWZw61rYXogbm92w71tIMWZw6Fka2VtXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzQKK21zZ2lkICIgLXAgPHByb21wdD4gIHNwZWNpZnkgcHJvbXB0XG4iCittc2dzdHIgIiAtcCA8dsO9enZhPiAgIGRlZmludWplIHbDvXp2dVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM1Cittc2dpZCAiIC1yICAgICAgICAgICBkaXNhbGxvdyBzaGVsbCBlc2NhcGVcbiIKK21zZ3N0ciAiIC1yICAgICAgICAgICB6YWvDocW+ZSDDunTEm2sgZG8gc2hlbGx1XG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzYKK21zZ2lkICIgLXMgICAgICAgICAgIHByaW50IG1lc3NhZ2VzIHRvIHN0ZG91dFxuIgorbXNnc3RyICIgLXMgICAgICAgICAgIHpwcsOhdnkgdnlwaXN1amUgbmEgc3RhbmRhcmRuw60gdsO9c3R1cFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM3Cittc2dpZCAiICtudW1iZXIgICAgICBzdGFydCBhdCB0aGUgZ2l2ZW4gbGluZVxuIgorbXNnc3RyICIgK8SNw61zbG8gICAgICAgemHEjW5lIG5hIHphZGFuw6ltIMWZw6Fka3VcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzOAorbXNnaWQgIiArL3BhdHRlcm4vICAgc3RhcnQgYXQgdGhlIGxpbmUgY29udGFpbmluZyBwYXR0ZXJuXG4iCittc2dzdHIgIiArL3Z6b3IvICAgICAgemHEjW5lIG5hIMWZw6Fka3Ugb2JzYWh1asOtY8OtbSB2em9yXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICVzIgorbXNnc3RyICJwxZllcMOtbmHEjSB2ecW+YWR1amUgYXJndW1lbnQg4oCTICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgb3B0aW9uIC0tICVzIgorbXNnc3RyICJuZXBsYXRuw70gcMWZZXDDrW5hxI3CoOKAkyAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjM1OQorbXNnaWQgIi4uLnNraXBwaW5nIGZvcndhcmRcbiIKK21zZ3N0ciAi4oCmc2tvayB2cMWZZWRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM2MQorbXNnaWQgIi4uLnNraXBwaW5nIGJhY2t3YXJkXG4iCittc2dzdHIgIuKApnNrb2sgdnphZFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzc3Cittc2dpZCAiTm8gbmV4dCBmaWxlIgorbXNnc3RyICLFvcOhZG7DvSBuw6FzbGVkdWrDrWPDrSBzb3Vib3IiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODEKK21zZ2lkICJObyBwcmV2aW91cyBmaWxlIgorbXNnc3RyICLFvcOhZG7DvSBwxZllZGNob3rDrSBzb3Vib3IiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvciBmcm9tICVzIGZpbGUiCittc2dzdHIgIkNoeWJhIMSNdGVuw60gemUgc291Ym9ydSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjg4NgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIEVPRiBpbiAlcyBmaWxlIgorbXNnc3RyICJOZW/EjWVrw6F2YW7DoSB6bmHEjWthIGtvbmNlIHNvdWJvcnUgdsKgJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBlcnJvciBpbiAlcyBmaWxlIgorbXNnc3RyICJOZXpuw6Ftw6EgY2h5YmEgdsKgc291Ym9ydSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjk0MQorIywgZnV6enkKK21zZ2lkICJDYW5ub3QgY3JlYXRlIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICJOZWx6ZSB2eXR2b8WZaXQgZG/EjWFzbsO9IHNvdWJvciIKKworIzogdGV4dC11dGlscy9wZy5jOjk1MCB0ZXh0LXV0aWxzL3BnLmM6MTExNCB0ZXh0LXV0aWxzL3BnLmM6MTE0MAorbXNnaWQgIlJFIGVycm9yOiAiCittc2dzdHIgIkNoeWJhIHJlZ3Vsw6FybsOtaG8gdsO9cmF6dTogIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTA5NworbXNnaWQgIihFT0YpIgorbXNnc3RyICIoS09ORUMgU09VQk9SVSkiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTIyIHRleHQtdXRpbHMvcGcuYzoxMTQ4Cittc2dpZCAiTm8gcmVtZW1iZXJlZCBzZWFyY2ggc3RyaW5nIgorbXNnc3RyICLFvcOhZG7DvSB6YXBhbWF0b3ZhbsO9IMWZZXTEm3plYyBwcm8gdnlobGVkw6Fuw60iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjAzCittc2dpZCAiY2Fubm90IG9wZW4gIgorbXNnc3RyICJuZWx6ZSBvdGV2xZnDrXQgIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI1NQorbXNnaWQgInNhdmVkIgorbXNnc3RyICJ1bG/FvmVubyIKKworIzogdGV4dC11dGlscy9wZy5jOjEzNDUKK21zZ2lkICI6ICFjb21tYW5kIG5vdCBhbGxvd2VkIGluIHJmbGFnIG1vZGUuXG4iCittc2dzdHIgIjogIXDFmcOta2F6IG5lbsOtIGRvdm9sZW4gdsKgcmXFvmltdSByZmxhZy5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzODAKK21zZ2lkICJmb3JrKCkgZmFpbGVkLCB0cnkgYWdhaW4gbGF0ZXJcbiIKK21zZ3N0ciAiZm9yaygpIHNlbGhhbCwgemt1c3RlIHRvIHBvemTEm2ppXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNDY4Cittc2dpZCAiKE5leHQgZmlsZTogIgorbXNnc3RyICIoRGFsxaHDrSBzb3Vib3I6ICIKKworIzogdGV4dC11dGlscy9wZy5jOjE1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXMgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiIKK21zZ3N0ciAiJXMgJXMgQ29weXJpZ2h0IMKpIDIwMDDigJMyMDAxIEd1bm5hciBSaXR0ZXIuIFbFoWVjaG5hIHByw6F2YSB2eWhyYXplbmEuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTg3IHRleHQtdXRpbHMvcGcuYzoxNjYwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyBwZXIgcGFnZSIKK21zZ3N0ciAibmV6ZGHFmWlsbyBzZSByb3plYnJhdCBwb8SNZXQgxZnDoWRrxa8gbmEgc3Ryw6Fua3UiCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCittc2dzdHIgIlBvdcW+aXTDrTogJXMgW3DFmWVww61uYcSNZV0gW3NvdWJvcuKApl1cbiIKKworIzogdGV4dC11dGlscy9yZXYuYzo4MAorbXNnaWQgIlJldmVyc2UgbGluZXMgY2hhcmFjdGVyd2lzZS5cbiIKK21zZ3N0ciAiT2Jyw6F0w60gcG/FmWFkw60gem5ha8WvIG5hIMWZw6FkY8OtY2guXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5jb21wbGV0ZSB3cml0ZSB0byBcIiVzXCIgKHdyaXR0ZW4gJXpkLCBleHBlY3RlZCAlemQpXG4iCittc2dzdHIgIm5lw7pwbG7DvSB6w6FwaXMgZG8g4oCeJXPigJwgKHphcHPDoW5vICV6ZCwgb8SNZWvDoXbDoW5vICV6ZClcbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoIChsaW1pdCBvZiBpbm90aWZ5IHdhdGNoZXMgd2FzIHJlYWNoZWQpLiIKK21zZ3N0ciAiJXM6IG5lbHplIHDFmWlkYXQgc2xlZG92w6Fuw60gcG9tb2PDrSBpbm90aWZ5IChwb8SNZXQgc2xlZG92w6Fuw60gaW5vdGlmeSB2ecSNZXJww6FuKS4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25dIDxmaWxlPlxuIgorbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gPHNvdWJvcj5cbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwMAorbXNnaWQgIkZvbGxvdyB0aGUgZ3Jvd3RoIG9mIGEgbG9nIGZpbGUuXG4iCittc2dzdHIgIlNsZWR1amUgcsWvc3Qgc291Ym9ydSBzwqBwcm90b2tvbGVtLlxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjAzCittc2dpZCAiIC1uLCAtLWxpbmVzIDxudW1iZXI+ICAgb3V0cHV0IHRoZSBsYXN0IDxudW1iZXI+IGxpbmVzXG4iCittc2dzdHIgIiAtbiwgLS1saW5lcyA8cG/EjWV0PiAgICB2eXDDrcWhZSBwb3NsZWRuw61jaCA8cG/EjWV0PiDFmcOhZGvFr1xuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjA0Cittc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgICAgc2FtZSBhcyAnLW4gPG51bWJlcj4nXG4iCittc2dzdHIgIiAtPHBvxI1ldD4gICAgICAgICAgICAgICBzdGVqbsOpIGpha28g4oCeLW4gPHBvxI1ldD7igJxcbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIxMAorbXNnaWQgIldhcm5pbmc6IHVzZSBvZiAndGFpbGYnIGlzIGRlcHJlY2F0ZWQsIHVzZSAndGFpbCAtZicgaW5zdGVhZC5cbiIKK21zZ3N0ciAiUG96b3I6IHBvdcW+aXTDrSBuw6FzdHJvamUg4oCedGFpbGbigJwgamUgemFzdGFyYWzDqSwgcG91xb7DrXZlanRlIOKAnnRhaWwgLWbigJwuXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMjMgdGV4dC11dGlscy90YWlsZi5jOjI2MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMiCittc2dzdHIgIm5lemRhxZlpbG8gc2Ugcm96ZWJyYXQgcG/EjWV0IMWZw6Fka8WvIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6Mjc1Cittc2dpZCAibm8gaW5wdXQgZmlsZSBzcGVjaWZpZWQiCittc2dzdHIgIm5lemFkw6FuIMW+w6FkbsO9IHZzdHVwbsOtIHNvdWJvciIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGEgZmlsZSIKK21zZ3N0ciAiJXM6IG5lbsOtIHNvdWJvcmVtIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiAuLi5dXG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSBbPHNvdWJvcuKApj5dXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxMzkKK21zZ2lkICJEbyB1bmRlcmxpbmluZy5cbiIKK21zZ3N0ciAiUG9kdHJow6F2w6EuXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDIKK21zZ2lkICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTsOBTCAgcMWZZWJpamUgcHJvbcSbbm5vdSBwcm9zdMWZZWTDrSBURVJNXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDMKK21zZ2lkICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIgorbXNnc3RyICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICBwb2R0csW+ZW7DrSBqZSB2eXpuYcSNZW5vIHNhbW9zdGF0bsO9bSDFmcOhZGtlbVxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA0Cittc2dpZCAidHJvdWJsZSByZWFkaW5nIHRlcm1pbmZvIgorbXNnc3RyICJjaHliYSBwxZlpIMSNdGVuw60gdGVybWluZm8gZGF0YWLDoXplIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsIGAlcycgaXMgbm90IGtub3duLCBkZWZhdWx0aW5nIHRvIGBkdW1iJyIKK21zZ3N0ciAidGVybWluw6FsIOKAniVz4oCcIG5lbsOtIHpuw6FtLCBwb3XFvmlqZSBzZSDigJ5kdW1w4oCcIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZXNjYXBlIHNlcXVlbmNlIGluIGlucHV0OiAlbywgJW8iCittc2dzdHIgIm5lem7DoW3DoSBwb3Nsb3Vwbm9zdCDFmcOtZGljw61jaCB6bmFrxa8gbmEgdnN0dXB1OiAlbywgJW8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzo2MjQKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAiVnN0dXBuw60gxZnDoWRlayBqZSBwxZnDrWxpxaEgZGxvdWjDvS4iCisKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiB1c2UgdGhlIEhhcmR3YXJlIENsb2NrLiIKKyN+IG1zZ3N0ciAiSG9kaW55IHJlw6FsbsOpaG8gxI1hc3UgbcWvxb5lIHBvdcW+w610IHBvdXplIHN1cGVydcW+aXZhdGVsLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzZWNjb21wIGNvbnRleHQiCisjfiBtc2dzdHIgImxvb3BjdHggc2UgbmVwb2RhxZlpbG8gaW5pY2lhbGl6b3ZhdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gYWRkIHNlY2NvbXAgcnVsZSIKKyN+IG1zZ3N0ciAibmVwb2RhxZlpbG8gc2UgcMWZZcSNw61zdCByeWNobG9zdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gbG9hZCBzZWNjb21wIHJ1bGUiCisjfiBtc2dzdHIgIm5lcG9kYcWZaWxvIHNlIHDFmWXEjcOtc3QgcnljaGxvc3QiCisKKyN+IG1zZ2lkICJGaWxlc3lzdGVtIGxhYmVsOiIKKyN+IG1zZ3N0ciAiSm1lbm92a2Egc291Ym9yb3bDqWhvIHN5c3TDqW11OiIKKworI34gbXNnaWQgImZhaWxlZCB0byBzZXQgUEFUSCIKKyN+IG1zZ3N0ciAicHJvbcSbbm5vdSBQQVRIIHNlIG5lcG9kYcWZaWxvIG5hc3Rhdml0IgorCisjfiBtc2dpZCAiJWQiCisjfiBtc2dzdHIgIiVkIgorCisjfiBtc2dpZCAidXNlIG9mICdraWxsIC0tcGlkJyBvcHRpb24gYXMgY29tbWFuZCBuYW1lIGlzIGRlcHJlY2F0ZWQiCisjfiBtc2dzdHIgInBvdcW+aXTDrSBwxZllcMOtbmHEjWUg4oCea2lsbCAtLXBpZOKAnCBqYWtvIG7DoXp2dSBwxZnDrWthenUgamUgemFzdGFyYWzDqSIKKworIyBUaGlzIGxvb2tzIGxpa2UgYW4gSVNPIGZvcm1hdCB3aXRob3V0IHRoZSAiVCIgc2VwYXJhdG9yLiBEb24ndCBsb2NhbGl6ZSBpdC4KKyN+IG1zZ2lkICIlNGQtJS4yZC0lLjJkICUwMmQ6JTAyZDolMDJkLiUwNmxkJSswMmQ6JTAyZFxuIgorI34gbXNnc3RyICIlNGQtJS4yZC0lLjJkICUwMmQ6JTAyZDolMDJkLiUwNmxkJSswMmQ6JTAyZFxuIgorCisjfiBtc2dpZCAiYmFkIHRpbWVvdXQgdmFsdWU6ICVzIgorI34gbXNnc3RyICJjaHlibsO9IMSNYXNvdsO9IGxpbWl0OiAlcyIKKworI34gbXNnaWQgImV4cGVjdGVkIGEgbnVtYmVyLCBidXQgZ290ICclcyciCisjfiBtc2dzdHIgIm/EjWVrw6F2w6FubyDEjcOtc2xvLCBhbGUgb2JkcsW+ZW5vIOKAniVz4oCcIgorCisjfiBtc2dpZCAiZGl2aXNvciAnJXMnIgorI34gbXNnc3RyICJkxJtsaXRlbCDigJ4lc+KAnCIKKworI34gbXNnaWQgImFyZ3VtZW50IGVycm9yOiAlcyIKKyN+IG1zZ3N0ciAiY2h5YmEgYXJndW1lbnR1OiAlcyIKKworI34gbXNnaWQgInR0eSBwYXRoICVzIHRvbyBsb25nIgorI34gbXNnc3RyICJjZXN0YSBrwqBUVFkgJXMgamUgcMWZw61sacWhIGRsb3Vow6EiCisKKyN+IG1zZ2lkICJjYW5ub3QgYWNjZXNzIGZpbGUgJXMiCisjfiBtc2dzdHIgImvCoHNvdWJvcnUgJXMgbmVsemUgcMWZaXN0b3VwaXQiCisKKyN+IG1zZ2lkICIlcyBpcyBub3QgYSBibG9jayBzcGVjaWFsIGRldmljZSIKKyN+IG1zZ3N0ciAiJXMgbmVuw60gYmxva292w71tIHphxZnDrXplbsOtbSIKKworI34gbXNnaWQgIiVzOiBkZXZpY2UgaXMgbWlzYWxpZ25lZCIKKyN+IG1zZ3N0ciAiJXM6IHphxZnDrXplbsOtIG5lbsOtIHNwcsOhdm7EmyB6YXJvdm7DoW5vIgorCisjfiBtc2dpZCAiT1MvMiBoaWRkZW4gQzogZHJpdmUiCisjfiBtc2dzdHIgIk9TLzIgc2tyeXTDvSBDOiBkaXNrIgorCisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQiCisjfiBtc2dzdHIgIiVzOiBjaHliYSByb3pib3J1IG5hIMWZw6Fka3UgJWQiCisKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGdldCBkZXZpY2UgcGF0aCIKKyN+IG1zZ3N0ciAiJXM6IG5lcG9kYcWZaWxvIHNlIHrDrXNrYXQgY2VzdHUga8KgemHFmcOtemVuw60iCisKKyN+IG1zZ2lkICIlczogdW5rbm93biBkZXZpY2UgbmFtZSIKKyN+IG1zZ3N0ciAiJXM6IG5lem7DoW3DvSBuw6F6ZXYgemHFmcOtemVuw60iCisKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGdldCBkbSBuYW1lIgorI34gbXNnc3RyICIlczogbmVwb2RhxZlpbG8gc2UgesOtc2thdCBuw6F6ZXYgZGV2aWNlIG1hcHBlcnUiCisKKyN+IG1zZ2lkICJ0aGUgc29ydCBjb2x1bW4gaGFzIHRvIGJlIGFtb25nIHRoZSBvdXRwdXQgY29sdW1ucyIKKyN+IG1zZ3N0ciAixZlhZGljw60gc2xvdXBlYyBzZSBtdXPDrSBuYWNow6F6ZXQgbWV6aSBzbG91cGNpIHbDvXN0dXB1IgorCisjfiBtc2dpZCAiIgorI34gIiAtcCwgLS1waWQgPHBhdGg+ICAgICAgICBwYXRoIHRvIHBpZCBmaWxlXG4iCisjfiAiIC1zLCAtLXNvY2tldCA8cGF0aD4gICAgIHBhdGggdG8gc29ja2V0XG4iCisjfiAiIC1ULCAtLXRpbWVvdXQgPHNlYz4gICAgIHNwZWNpZnkgaW5hY3Rpdml0eSB0aW1lb3V0XG4iCisjfiAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGtpbGwgcnVubmluZyBkYWVtb25cbiIKKyN+ICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdCByYW5kb20tYmFzZWQgZ2VuZXJhdGlvblxuIgorI34gIiAtdCwgLS10aW1lICAgICAgICAgICAgICB0ZXN0IHRpbWUtYmFzZWQgZ2VuZXJhdGlvblxuIgorI34gIiAtbiwgLS11dWlkcyA8bnVtPiAgICAgICByZXF1ZXN0IG51bWJlciBvZiB1dWlkc1xuIgorI34gIiAtUCwgLS1uby1waWQgICAgICAgICAgICBkbyBub3QgY3JlYXRlIHBpZCBmaWxlXG4iCisjfiAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIGRvIG5vdCBkYWVtb25pemUgdXNpbmcgZG91YmxlLWZvcmtcbiIKKyN+ICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iCisjfiAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHJ1biBpbiBkZWJ1Z2dpbmcgbW9kZVxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0dXJuIG9uIHF1aWV0IG1vZGVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtcCwgLS1waWQgPGNlc3RhPiAgICAgICAgY2VzdGEga8Kgc291Ym9ydSBzwqBQSURcbiIKKyN+ICIgLXMsIC0tc29ja2V0IDxjZXN0YT4gICAgIGNlc3RhIGvCoHNvY2tldHVcbiIKKyN+ICIgLVQsIC0tdGltZW91dCA8c2VrdW5keT4gIHVyxI3DrSDEjWFzb3bDvSBsaW1pdCBuZcSNaW5ub3N0aVxuIgorI34gIiAtaywgLS1raWxsICAgICAgICAgICAgICAgemFiaWplIGLEm8W+w61jw61obyBkw6ltb25hXG4iCisjfiAiIC1yLCAtLXJhbmRvbSAgICAgICAgICAgICB2eXprb3XFocOtIGdlbmVyw6F0b3IgemFsb8W+ZW7DvSBuYSBuw6Fob2TEm1xuIgorI34gIiAtdCwgLS10aW1lICAgICAgICAgICAgICAgdnl6a291xaHDrSBnZW5lcsOhdG9yIHphbG/FvmVuw70gbmEgxI1hc2VcbiIKKyN+ICIgLW4sIC0tdXVpZHMgPHBvxI1ldD4gICAgICBwb8W+YWR1amUgcG/EjWV0IFVVSURcbiIKKyN+ICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgIG5ldnl0dsOhxZnDrSBzb3Vib3IgUElEXG4iCisjfiAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgICBuZWTDqW1vbml6dWplIHNlIHBvbW9jw60gZHZvaml0w6lobyBmb3JrdVxuIgorI34gIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiAgbmV2eXR2w6HFmcOtIHNvY2tldCwgbmEga3RlcsOpbSBieSBwb3Nsb3VjaGFsXG4iCisjfiAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgICBixJvFvsOtIHbCoGxhZGljw61tIHJlxb5pbXVcbiIKKyN+ICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgIHphcG5lIHRpY2jDvSByZcW+aW1cbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgIHpvYnJhesOtIMO6ZGFqZSBvwqB2ZXJ6aSBhIHNrb27EjcOtXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHUgYSBza29uxI3DrVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAidW5rbm93biBzY2hlZHVsaW5nIHBvbGljeSIKKyN+IG1zZ3N0ciAibm92w6EgcG9saXRpa2EgcGzDoW5vdsOhbsOtIgorCisjfiBtc2dpZCAiIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKKyN+ICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKKyN+ICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgYWxpZ25lZCBsZW5ndGggYW5kIG9mZnNldFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1vLCAtLW9mZnNldCA8xI3DrXNsbz4gICB6YcSNw6F0ZWsgb2JsYXN0aSBrwqB6YWhvemVuw60gdsKgYmFqdGVjaFxuIgorI34gIiAtbCwgLS1sZW5ndGggPMSNw61zbG8+ICAgZMOpbGthIG9ibGFzdGkga8KgemFob3plbsOtIHbCoGJhanRlY2hcbiIKKyN+ICIgLXAsIC0tc3RlcCA8xI3DrXNsbz4gICAgIHZlbGlrb3N0IHphaGF6b3ZhY8OtIGl0ZXJhY2UgdXZuaXTFmSB6YWRhbsOpIG9ibGFzdGlcbiIKKyN+ICIgLXMsIC0tc2VjdXJlICAgICAgICAgICBwcm92ZWRlIGJlenBlxI1uw6kgemFob3plbsOtXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgdnlww63FoWUgemFyb3ZuYW5vdSBkw6lsa3UgYSB6YcSNw6F0ZWtcbiIKKworI34gbXNnaWQgIiVzICAuJTA2ZCBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVzICAwLCUwNmQgc2VrdW5keVxuIgorCisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yOiBpZ25vcmUgZW50cnkgYXQgbGluZSAlZC4iCisjfiBtc2dzdHIgIiVzOiBjaHliYSByb3pib3J1OiB6w6F6bmFtIG5hIMWZw6Fka3UgJWQgYnVkZSBpZ25vcm92w6FuLiIKKworI34gbXNnaWQgInBhZ2VzIgorI34gbXNnc3RyICJzdHLDoW5reSIKKworIyBMYXN0IGFyZ3VtZW50IG9mICJwYWdlLXNpemUgJWQsICVzIGJ5dGUgb3JkZXIiCisjfiBtc2dpZCAiZGlmZmVyZW50IgorI34gbXNnc3RyICJvZGxpxaFuw6kiCisKKyMgTGFzdCBhcmd1bWVudCBvZiAicGFnZS1zaXplICVkLCAlcyBieXRlIG9yZGVyIgorI34gbXNnaWQgInNhbWUiCisjfiBtc2dzdHIgInN0ZWpuw6kiCisKKyN+IG1zZ2lkICJEZXZpY2Ugb3BlbiBpbiByZWFkLW9ubHkgbW9kZS4iCisjfiBtc2dzdHIgIlphxZnDrXplbsOtIG90ZXbFmWVubyBqZW4gcHJvxI10ZW7DrS4iCisKKyN+IG1zZ2lkICIgLXYgIGJlIHZlcmJvc2VcbiIKKyN+IG1zZ3N0ciAiIC12ICBwb2Ryb2Juw6kgaGzDocWha3lcbiIKKworI34gbXNnaWQgIiIKKyN+ICJWZXJ5IGxvbmcgKCV6dSBieXRlcykgZmlsZW5hbWUgYCVzJyBmb3VuZC5cbiIKKyN+ICIgUGxlYXNlIGluY3JlYXNlIE1BWF9JTlBVVF9OQU1FTEVOIGluIG1rY3JhbWZzLmMgYW5kIHJlY29tcGlsZS4gIEV4aXRpbmcuIgorI34gbXNnc3RyICIiCisjfiAiQnlsIG5hbGV6ZW4gdmVsbWkgZGxvdWjDvSAoJXp1IGJhanTFrykgbsOhemV2IHNvdWJvcnUg4oCeJXPigJwuXG4iCisjfiAiUHJvc8OtbSwgenZ5xaF0ZSBNQVhfSU5QVVRfTkFNRUxFTiB2wqBta2NyYW1mcy5jIGEgem5vdnUgcMWZZWxvxb50ZS4gS29uxI3DrSBzZS4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1jIHwgLWwgZmlsZW5hbWVdIFstblhYXSBbLWlYWF0gL2Rldi9uYW1lIFtibG9ja3NdIgorI34gbXNnc3RyICJQb3XFvml0w606ICVzIFstYyB8IC1sIFNPVUJPUl0gWy1uWFhdIFstaVhYXSAvZGV2L07DgVpFViBbQkxPS1ldIgorCisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgIiVzOiBidWZmZXIgcHJvIHN1cGVyYmxvayBuZWx6ZSBhbG9rb3ZhdCIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVycyBmb3IgbWFwcyIKKyN+IG1zZ3N0ciAiJXM6IGJ1ZmZlcnkgcHJvIG1hcHkgbmVsemUgYWxva292YXQiCisKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorI34gbXNnc3RyICIlczogYnVmZmVyIHBybyBpLXV6bHkgbmVsemUgYWxva292YXQiCisKKyN+IG1zZ2lkICIlczogYmFkIGlub2RlIHNpemUiCisjfiBtc2dzdHIgIiVzOiBjaHlibsOhIHZlbGlrb3N0IGktdXpsdSIKKworI34gbXNnaWQgIndpbGwgbm90IHRyeSB0byBtYWtlIGZpbGVzeXN0ZW0gb24gJyVzJyIKKyN+IG1zZ3N0ciAibmVidWRlIHNlIHprb3XFoWV0IHZ5dHZvxZlpdCBzeXN0w6ltIHNvdWJvcsWvIG5hIOKAniVz4oCcIgorCisjfiBtc2dpZCAidHlwZTogJWQiCisjfiBtc2dzdHIgInR5cDogJWQiCisKKyN+IG1zZ2lkICJkaXNrOiAlLipzIgorI34gbXNnc3RyICJkaXNrOiAlLipzIgorCisjfiBtc2dpZCAibGFiZWw6ICUuKnMiCisjfiBtc2dzdHIgInBvcGlzOiAlLipzIgorCisjfiBtc2dpZCAiZmxhZ3M6ICVzIgorI34gbXNnc3RyICJwxZnDrXpuYWt5OiAlcyIKKworI34gbXNnaWQgImJ5dGVzL3NlY3RvcjogJWxkIgorI34gbXNnc3RyICJiYWp0xa8vc2VrdG9yOiAlbGQiCisKKyN+IG1zZ2lkICJzZWN0b3JzL3RyYWNrOiAlbGQiCisjfiBtc2dzdHIgInNla3RvcsWvL3N0b3B1OiAlbGQiCisKKyN+IG1zZ2lkICJ0cmFja3MvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAic3RvcC9jeWxpbmRyOiAlbGQiCisKKyN+IG1zZ2lkICJzZWN0b3JzL2N5bGluZGVyOiAlbGQiCisjfiBtc2dzdHIgInNla3RvcsWvL2N5bGluZHI6ICVsZCIKKworI34gbXNnaWQgImN5bGluZGVyczogJWxkIgorI34gbXNnc3RyICJjeWxpbmRyxa86ICVsZCIKKworI34gbXNnaWQgInJwbTogJWQiCisjfiBtc2dzdHIgIm90w6HEjWt5OiAlZCIKKworI34gbXNnaWQgImludGVybGVhdmU6ICVkIgorI34gbXNnc3RyICJwcm9rbMOhZMOhbsOtOiAlZCIKKworI34gbXNnaWQgInRyYWNrc2tldzogJWQiCisjfiBtc2dzdHIgInpwb8W+ZMSbbsOtIHN0b3B5OiAlZCIKKworI34gbXNnaWQgImN5bGluZGVyc2tldzogJWQiCisjfiBtc2dzdHIgInpwb8W+ZMSbbsOtIGN5bGluZHJ1OiAlZCIKKworI34gbXNnaWQgImhlYWRzd2l0Y2g6ICVsZCAobWlsbGlzZWNvbmRzKSIKKyN+IG1zZ3N0ciAicMWZZXN1biBobGF2eTogJWxkIChtaWxpc2VrdW5keSkiCisKKyN+IG1zZ2lkICJ0cmFjay10by10cmFjayBzZWVrOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgInpwb8W+ZMSbbsOtIG1lemkgc3RvcGFtaTogJWxkIChtaWxpc2VrdW5keSkiCisKKyN+IG1zZ2lkICJwYXJ0aXRpb25zOiAlZCIKKyN+IG1zZ3N0ciAib2Rkw61sxa86ICVkIgorCisjfiBtc2dpZCAiWW91IGNhbm5vdCBjaGFuZ2UgYSBwYXJ0aXRpb24gaW50byBhbiBleHRlbmRlZCBvbmUgb3IgdmljZSB2ZXJzYS4gRGVsZXRlIGl0IGZpcnN0LiIKKyN+IG1zZ3N0ciAiTmVtxa/FvmV0ZSBtxJtuaXQgYsSbxb5uw70gb2Rkw61sIG5hIHJvesWhw63FmWVuw70gYSB6cMSbdC4gTmVqZMWZw612ZSBqZWogc21hxb50ZS4iCisKKyN+IG1zZ2lkICIiCisjfiAiTGFiZWwgZ2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnNcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWxsdSBjeWxpbmRlcnMsICVkIHBoeXNpY2FsIGN5bGluZGVyc1xuIgorI34gIiAgICAgICAgICAgICAgICAlZCBleHRyYSBzZWN0cy9jeWwsIGludGVybGVhdmUgJWQ6MVxuIgorI34gbXNnc3RyICIiCisjfiAiR2VvbWV0cmllIHBvcGlzdTogaGxhdjogJSdkLCBzZWt0b3LFrzogJSdsbHUsXG4iCisjfiAiICAgICAgICAgICAgICAgICAgY3lsaW5kcsWvOiAlJ2xsdSwgZnl6aWNrw71jaCBjeWxpbmRyxa86ICUnZCAgICAgICAgICAgICAgICAgIGV4dHJhIHNla3RvcsWvL2N5bGluZHI6ICVkLCBwcm9rbMOhZMOhbsOtOiAlZDoxXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiTGFiZWwgZ2VvbWV0cnk6ICVkIHJwbSwgJWQgYWx0ZXJuYXRlIGFuZCAlZCBwaHlzaWNhbCBjeWxpbmRlcnMsXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxIgorI34gbXNnc3RyICIiCisjfiAiR2VvbWV0cmllIHBvcGlzdTogb3TDocSNZWs6ICUnZCwgbsOhaHJhZG7DrWNoIGN5bGluZHLFrzogJSdkLFxuIgorI34gIiAgICAgICAgICAgICAgICAgIGZ5emlja8O9Y2ggY3lsaW5kcsWvOiAlJ2QsXG4iCisjfiAiICAgICAgICAgICAgICAgICAgZXh0cmEgc2VrdG9yxa8vY3lsaW5kcjogJSdkLCBwcm9rbMOhZMOhbsOtOiAlZDoxIgorCisjIFZvbHVtZSBJRAorI34gbXNnaWQgIjxub25lPiIKKyN+IG1zZ3N0ciAiPMW+w6FkbsOpPiIKKworI34gbXNnaWQgImdldHRpbWVvZmRheSBmYWlsZWQiCisjfiBtc2dzdHIgInZvbMOhbsOtIGdldHRpbWVvZmRheSBzZWxoYWxvIgorCisjfiBtc2dpZCAic3lzaW5mbyBmYWlsZWQiCisjfiBtc2dzdHIgInZvbMOhbsOtIHN5c2luZm8gc2VsaGFsbyIKKworI34gbXNnaWQgInVzYWdlOiBsYXN0IFstI10gWy1mIGZpbGVdIFstdCB0dHldIFstaCBob3N0bmFtZV0gW3VzZXIgLi4uXVxuIgorI34gbXNnc3RyICJQb3XFvml0w606IGxhc3QgWy0jXSBbLWYgc291Ym9yXSBbLXQgdHR5XSBbLWggbsOhemV2X3BvxI3DrXRhxI1lXSBbdcW+aXZhdGVs4oCmXVxuIgorCisjfiBtc2dpZCAiJXM6IG1tYXAgZmFpbGVkIgorI34gbXNnc3RyICIlczogdm9sw6Fuw60gbW1hcCBzZWxoYWxvIgorCisjfiBtc2dpZCAiICBzdGlsbCBsb2dnZWQgaW4iCisjfiBtc2dzdHIgIiAgc3TDoWxlIHDFmWlobMOhxaFlbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJ3dG1wIGJlZ2lucyAlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gInd0bXAgemHEjcOtbsOhICVzIgorCisjfiBtc2dpZCAiZ2V0aG9zdG5hbWUgZmFpbGVkIgorI34gbXNnc3RyICJ2b2zDoW7DrSBnZXRob3N0bmFtZSBzZWxoYWxvIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImludGVycnVwdGVkICUxMC4xMHMgJTUuNXMgXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJwxZllcnXFoWVuICUxMC4xMHMgJTUuNXMgXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorI34gIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyN+ICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyN+ICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXAsIC0tcGlkIDxQSUQ+ICAgICAgICBJRCBwcm9jZXN1XG4iCisjfiAiIC1vLCAtLW91dHB1dCA8c2V6bmFtPiAgdXLEjXVqZSBzbG91cGNlIG5hIHbDvXN0dXB1XG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgbmV2eXDDrcWhZSB6w6FobGF2w61cbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB2w71waXMgdsKgc3lyb3bDqW0gZm9ybcOhdHVcbiIKKyN+ICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBuZXprcmFjdWplIHRleHQgdmUgc2xvdXBjw61jaFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIHpvYnJhesOtIHR1dG8gbsOhcG92xJtkdSBhIHNrb27EjcOtXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJTY2hlZHVsaW5nIHBvbGljaWVzOlxuIgorI34gIiAgLWIgfCAtLWJhdGNoICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorI34gIiAgLWYgfCAtLWZpZm8gICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9GSUZPXG4iCisjfiAiICAtaSB8IC0taWRsZSAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKKyN+ICIgIC1vIHwgLS1vdGhlciAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIKKyN+ICIgIC1yIHwgLS1yciAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQb2xpdGlreSBwbMOhbm92w6Fuw606XG4iCisjfiAiICAtYiB8IC0tYmF0Y2ggICAgICAgICBuYXN0YXbDrSBwb2xpdGlrdSBuYSBTQ0hFRF9CQVRDSCAoZMOhdmthKVxuIgorI34gIiAgLWYgfCAtLWZpZm8gICAgICAgICAgbmFzdGF2w60gcG9saXRpa3UgbmEgU0NIRURfRklGTyAoZnJvbnRhKVxuIgorI34gIiAgLWkgfCAtLWlkbGUgICAgICAgICAgbmFzdGF2w60gcG9saXRpa3UgbmEgU0NIRURfSURMRSAoemFow6FsZW7DrSlcbiIKKyN+ICIgIC1vIHwgLS1vdGhlciAgICAgICAgIG5hc3RhdsOtIHBvbGl0aWt1IG5hIFNDSEVEX09USEVSIChqaW7DoSlcbiIKKyN+ICIgIC1yIHwgLS1yciAgICAgICAgICAgIG5hc3RhdsOtIHBvbGl0aWt1IG5hIFNDSEVEX1JSIChpbXBsaWNpdG7DrSlcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAgLWEgfCAtLWFsbC10YXNrcyAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwXG4iCisjfiAiICAtbSB8IC0tbWF4ICAgICAgICAgICBzaG93IG1pbiBhbmQgbWF4IHZhbGlkIHByaW9yaXRpZXNcbiIKKyN+ICIgIC1wIHwgLS1waWQgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCisjfiAiICAtdiB8IC0tdmVyYm9zZSAgICAgICBkaXNwbGF5IHN0YXR1cyBpbmZvcm1hdGlvblxuIgorI34gIiAgLVYgfCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlDFmWVww61uYcSNZTpcbiIKKyN+ICIgIC1hIHwgLS1hbGwtdGFza3MgICAgIHByYWN1amUgbmFkIHbFoWVtaSDDumxvaGFtaSAodmzDoWtueSkgc8KgUElEXG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHVcbiIKKyN+ICIgIC1tIHwgLS1tYXggICAgICAgICAgIHpvYnJhesOtIG1pbmltw6FsbsOtIGEgbWF4aW3DoWxuw60gcGxhdG7DqSBwcmlvcml0eVxuIgorI34gIiAgLXAgfCAtLXBpZCAgICAgICAgICAgcHJhY3VqZSBuYWQgZXhpc3R1asOtY8OtbSBwcm9jZXNlbSBzwqBQSURcbiIKKyN+ICIgIC12IHwgLS12ZXJib3NlICAgICAgIHpvYnJhesOtIHN0YXZvdsOpIGluZm9ybWFjZVxuIgorI34gIiAgLVYgfCAtLXZlcnNpb24gICAgICAgdnlww63FoWUgw7pkYWplIG/CoHZlcnppXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tbWFudWFsZWplY3QvLWkgb3B0aW9uIgorI34gbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnQgcMWZZXDDrW5hxI1lIC0tbWFudWFsZWplY3QvLWkiCisKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiBjaGFuZ2UgdGhlIFN5c3RlbSBDbG9jay4iCisjfiBtc2dzdHIgIlN5c3TDqW1vdsOpIGhvZGlueSBtxa/FvmUgbmFzdGF2aXQgcG91emUgc3VwZXJ1xb5pdmF0ZWwuIgorCisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gY2hhbmdlIHRoZSBIYXJkd2FyZSBDbG9jayBlcG9jaCBpbiB0aGUga2VybmVsLiIKKyN+IG1zZ3N0ciAiSG9kbm90dSBwb8SNw6F0a3UgZXBvY2h5IGhvZGluIHJlw6FsbsOpaG8gxI1hc3UgbcWvxb5lIGrDoWRydSBuYXN0YXZpdCBwb3V6ZSBzdXBlcnXFvml2YXRlbC4iCisKKyN+IG1zZ2lkICJyZWFkKCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCisjfiBtc2dzdHIgInRpa8OhbsOtIGhvZGluIG5lbHplIHogJXMgxI3DrXN0IC0gdm9sw6Fuw60gcmVhZCgpIHNlbGhhbG8iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+ICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgbW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKKyN+ICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgbGlzdHMgYWxsIG1vdW50cyB3aXRoIExBQkVMc1xuIgorI34gIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHUgYSBza29uxI3DrVxuIgorI34gIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBuZXZvbMOhIHBvZHDFr3Juw6kgcHJvZ3JhbXkgbW91bnQuPHR5cD5cbiIKKyN+ICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgem9icmF6w60gdsWhZWNobmEgcMWZaXBvamVuw60gc8KgSk1FTk9WS0FNSVxuIgorI34gIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBuZXphcMOtxaFlIGRvIC9ldGMvbXRhYlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBzYXkgd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlIChkZWZhdWx0KVxuIgorI34gbXNnc3RyICIiCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHZ5c3bEm3Rsw60sIGNvIHByb3bDoWTEm27DqSDDumtvbnlcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyN+ICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgc291Ym9yb3bDqSBzeXN0w6lteSBwxZlpcG9qw60gacKgcHJvIHrDoXBpcyAodsO9Y2hvesOtKVxuIgorCisjfiBtc2dpZCAic2V0IHJ0YyBhbGFybSBmYWlsZWQiCisjfiBtc2dzdHIgIm5hc3RhdmVuw60gYnVkw61rdSBSVEMgc2VsZ2FsbyIKKworI34gbXNnaWQgImVuYWJsZSBydGMgYWxhcm0gZmFpbGVkIgorI34gbXNnc3RyICJ6YXBudXTDrSBidWTDrWt1IFJUQyBzZWxoYWxvIgorCisjfiBtc2dpZCAic3VzcGVuZCB0byBcIiVzXCIgdW5hdmFpbGFibGUiCisjfiBtc2dzdHIgInVzcMOhbsOtIGRvIHJlxb5pbXUg4oCeJXPigJwgbmVuw60gZG9zdHVwbsOpIgorCisjfiBtc2dpZCAiYmFkIHZhbHVlIgorI34gbXNnc3RyICJjaHlibsOhIGhvZG5vdGEiCisKKyN+IG1zZ2lkICIgLW0sIC0tbW91bnQgICAgICAgICAgICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiIC1tLCAtLW1vdW50ICAgICAgICAgICAgICAgb2RkxJtsw60gam1lbm7DvSBwcm9zdG9yIHDFmcOtcG9qbsO9Y2ggYm9kxa9cbiIKKworI34gbXNnaWQgIiAtdSwgLS11dHMgICAgICAgICAgICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorI34gbXNnc3RyICIgLXUsIC0tdXRzICAgICAgICAgICAgICAgICBvZGTEm2zDrSBqbWVubsO9IHByb3N0b3IgVVRTIChuw6F6ZXYgc3Ryb2plIGF0ZC4pXG4iCisKKyN+IG1zZ2lkICIgLWksIC0taXBjICAgICAgICAgICAgICAgICB1bnNoYXJlIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiIC1pLCAtLWlwYyAgICAgICAgICAgICAgICAgb2RkxJtsw60gam1lbm7DvSBwcm9zdG9yIFN5c3RlbSBWIElQQ1xuIgorCisjfiBtc2dpZCAiIC1uLCAtLW5ldCAgICAgICAgICAgICAgICAgdW5zaGFyZSBuZXR3b3JrIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgLW4sIC0tbmV0ICAgICAgICAgICAgICAgICBvZGTEm2zDrSBzw63FpW92w70gam1lbm7DvSBwcm9zdG9yXG4iCisKKyN+IG1zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgICAgICB1bnNoYXJlIHBpZCBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgICAgb2RkxJtsw60gam1lbm7DvSBwcm9zdG9yIMSNw61zZWwgcHJvY2Vzxa9cbiIKKworI34gbXNnaWQgIiAtVSwgLS11c2VyICAgICAgICAgICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiIC1VLCAtLXVzZXIgICAgICAgICAgICAgICAgb2RkxJtsw60gam1lbm7DvSBwcm9zdG9yIHXFvml2YXRlbMWvXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJW0iCisjfiBtc2dzdHIgIm5lbHplIG90ZXbFmcOtdCAlczogJW0iCisKKyN+IG1zZ2lkICJmcmVhZCBmYWlsZWQiCisjfiBtc2dzdHIgImZ1bmtjZSBmcmVhZCBzZWxoYWxhIgorCisjfiBtc2dpZCAiTWluaW1hbCBzaXplIGlzICVqdSIKKyN+IG1zZ3N0ciAiTmVqbWVuxaHDrSB2ZWxpa29zdCBqZSAlanUiCisKKyN+IG1zZ2lkICJQbGVhc2UsIHNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGRpc2sgbGFiZWwuIgorI34gbXNnc3RyICJQcm9zw61tLCB2eWJlcnRlIGRydWgsIGFieSBzZSB2eXR2b8WZaWwgbm92w70gcG9waXN1IGRpc2t1LiIKKworI34gbXNnaWQgIkhlbHAgU2NyZWVuIGZvciBjZmRpc2siCisjfiBtc2dzdHIgIk7DoXBvdsSbZGEgcHJvIGNmZGlzayIKKworI34gbXNnaWQgImRpc2sgZHJpdmUuIgorI34gbXNnc3RyICJuYSB2YcWhZW0gcGV2bsOpbSBkaXNrdS4iCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMTQgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+ICIKKyN+IG1zZ3N0ciAiQ29weXJpZ2h0IMKpIDIwMTQgS2FyZWwgxb3DoWsgPGt6YWtAcmVkaGF0LmNvbT4gIgorCisjfiBtc2dpZCAiQmFzZWQgb24gdGhlIG9yaWdpbmFsIGNmZGlzayBmcm9tIEtldmluIEUuIE1hcnRpbiAmIGFlYi4iCisjfiBtc2dzdHIgIlphbG/FvmVubyBuYSBwxa92b2Ruw61tIGNmZGlza3Ugb2QgS2V2aW5hIEUu4oCvTWFydGluYSAmIGFlYi4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgYG5vJyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIOKAnm5v4oCcIgorCisjfiBtc2dpZCAiRGV2aWNlIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUiCisjfiBtc2dzdHIgIlphxZnDrXplbm8gamUgb3RldsWZZW5vIGplbiBwcm8gxI10ZW7DrSIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogJXMgW1DFmEVQw41OQcSMRV0gWkHFmMONWkVOw41cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtbiwgLS1uby12ZXJpZnkgIGRpc2FibGUgdGhlIHZlcmlmaWNhdGlvbiBhZnRlciB0aGUgZm9ybWF0XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUMWZZXDDrW5hxI1lOlxuIgorI34gIiAtbiwgLS1uby12ZXJpZnkgIHpha8Ohxb5lIG92xJvFmW92w6Fuw60gcG8gZm9ybcOhdG92w6Fuw61cbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICB2eXDDrcWhZSDDumRhamUgb8KgdmVyemkgYSBza29uxI3DrVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIHZ5cMOtxaFlIHR1dG8gbsOhcG92xJtkdSBhIHNrb27EjcOtXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJzdGF0IGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAidm9sw6Fuw60gc3RhdCBzZWxoYWxvICVzIgorCisjfiBtc2dpZCAiVXNhZ2U6XG4iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTpcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbWtmcyg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBvZHJvYm5vc3RpIG5hbGV6bmV0ZSB2wqBta2ZzKDgpLlxuIgorCisjfiBtc2dpZCAiJXMgKCVzKVxuIgorI34gbXNnc3RyICIlczogKCVzKVxuIgorCisjfiBtc2dpZCAiQmFkIHN3YXAgaGVhZGVyIHNpemUsIG5vIGxhYmVsIHdyaXR0ZW4uIgorI34gbXNnc3RyICJDaHlibsOhIHZlbGlrb3N0IGhsYXZpxI1reSBvZGtsw6FkYWPDrWhvIHNvdWJvcnUsIGptZW5vdmthIG5lemFwc8OhbmEuIgorCisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyAtIGNhbm5vdCBzZWVrIHRvICVsdSIKKyN+IG1zZ3N0ciAiY2h5YmEgcG9zdW51IHVrYXpvdsOhdGthIG5hICVzIC0gdWthem92w6F0a28gbmVsemUgcG9zdW5vdXQgbmEgJWx1IgorCisjfiBtc2dpZCAic2VlayBlcnJvcjogd2FudGVkIDB4JTA4eCUwOHgsIGdvdCAweCUwOHglMDh4IgorI34gbXNnc3RyICJjaHliYSBwxZlpIHBvc3VudSB1a2F6b3bDoXRrYTogcG/FvmFkYXZlayAweCUwOHglMDh4LCB2w71zbGVkZWsgMHglMDh4JTA4eCIKKworI34gbXNnaWQgInJlYWQgZXJyb3Igb24gJXMgLSBjYW5ub3QgcmVhZCBzZWN0b3IgJWxsdSIKKyN+IG1zZ3N0ciAiY2h5YmEgxI10ZW7DrSB6wqAlcyAtIHNla3RvciAlbGx1IG5lbHplIHDFmWXEjcOtc3QiCisKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyAtIGNhbm5vdCB3cml0ZSBzZWN0b3IgJWxsdSIKKyN+IG1zZ3N0ciAiY2h5YmEgesOhcGlzdSBuYSAlcyAtIHNla3RvciAlbGx1IG5lbHplIHphcHNhdCIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIHBhcnRpdGlvbiBzZWN0b3Igc2F2ZSBmaWxlICglcykiCisjfiBtc2dzdHIgInNvdWJvciBwcm8gdWxvxb5lbsOtIHNla3RvcsWvICglcykgbmVsemUgb3RldsWZw610IgorCisjfiBtc2dpZCAid3JpdGUgZXJyb3Igb24gJXMiCisjfiBtc2dzdHIgImNoeWJhIHrDoXBpc3UgbmEgJXMiCisKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcykiCisjfiBtc2dzdHIgInZvbMOhbsOtIHN0YXQgcHJvIHNvdWJvciBzIHVsb8W+ZW7DvW1pIHNla3RvcnkgKCVzKSBzZWxoYWxvIgorCisjfiBtc2dpZCAicGFydGl0aW9uIHJlc3RvcmUgZmlsZSBoYXMgd3Jvbmcgc2l6ZSAtIG5vdCByZXN0b3JpbmciCisjfiBtc2dzdHIgInNvdWJvciBzIHVsb8W+ZW7DvW1pIHNla3RvcnkgbcOhIGNoeWJub3UgdmVsaWtvc3QgLSBuZWJ1ZGUgb2Jub3Zlbm8iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcykiCisjfiBtc2dzdHIgInNvdWJvciBzIHVsb8W+ZW7DvW1pIHNla3RvcnkgKCVzKSBuZWx6ZSBvdGV2xZnDrXQiCisKKyN+IG1zZ2lkICJlcnJvciByZWFkaW5nICVzIgorI34gbXNnc3RyICJjaHliYSBwxZlpIMSNdGVuw60gJXMiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBkZXZpY2UgJXMgZm9yIHdyaXRpbmciCisjfiBtc2dzdHIgInphxZnDrXplbsOtICVzIG5lbHplIG90ZXbFmcOtdCBwcm8gesOhcGlzIgorCisjfiBtc2dpZCAiZXJyb3Igd3JpdGluZyBzZWN0b3IgJWx1IG9uICVzIgorI34gbXNnc3RyICJjaHliYSBwxZlpIHrDoXBpc3Ugc2VrdG9ydSAlbHUgbmEgJXMiCisKKyN+IG1zZ2lkICJEaXNrICVzOiBjYW5ub3QgZ2V0IGdlb21ldHJ5IgorI34gbXNnc3RyICJEaXNrICVzOiBnZW9tZXRyaWkgbmVsemUgemppc3RpdCIKKworI34gbXNnaWQgIkRpc2sgJXM6IGNhbm5vdCBnZXQgc2l6ZSIKKyN+IG1zZ3N0ciAiRGlzayAlczogdmVsaWtvc3QgbmVsemUgemppc3RpdCIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzdGFydD0lbHUgLSB0aGlzIGxvb2tzIGxpa2UgYSBwYXJ0aXRpb24gcmF0aGVyIHRoYW5cbiIKKyN+ICJ0aGUgZW50aXJlIGRpc2suIFVzaW5nIGZkaXNrIG9uIGl0IGlzIHByb2JhYmx5IG1lYW5pbmdsZXNzLlxuIgorI34gIltVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIGlmIHlvdSByZWFsbHkgd2FudCB0aGlzXSIKKyN+IG1zZ3N0ciAiIgorI34gIlBvem9yOiB6YcSNw6F0ZWs9JWx1IC0gdG8gdnlwYWTDoSBzcMOtxaFlIGpha28gb2Rkw61sIG5lxb5saVxuIgorI34gImNlbMO9IGRpc2suIFBvdcW+aXTDrSBmZGlza3UgamUgdiB0b20gcMWZw61wYWTEmyBwcmF2ZMSbcG9kb2JuxJsgemJ5dGXEjW7DqS5cbiIKKyN+ICJbUG91xb5panRlIHDFmWVww61uYcSNIC0tZm9yY2UgcG9rdWQgdG8gb3ByYXZkdSBjaGNldGUuXSIKKworI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGhlYWRzIgorI34gbXNnc3RyICJQb3pvcjogZGxlIEhESU9fR0VUR0VPIGplIHBvxI1ldCBobGF2ICVsdSIKKworI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IHNlY3RvcnMiCisjfiBtc2dzdHIgIlBvem9yOiBkbGUgSERJT19HRVRHRU8gamUgcG/EjWV0IHNla3RvcsWvICVsdSIKKworI34gbXNnaWQgIldhcm5pbmc6IEJMS0dFVFNJWkUvSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgY3lsaW5kZXJzIgorI34gbXNnc3RyICJQb3pvcjogZGxlIEJMS0dFVFNJWkUvSERJT19HRVRHRU8gamUgcG/EjWV0IGN5bGluZHLFryAlbHUiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogdW5saWtlbHkgbnVtYmVyIG9mIHNlY3RvcnMgKCVsdSkgLSB1c3VhbGx5IGF0IG1vc3QgNjNcbiIKKyN+ICJUaGlzIHdpbGwgZ2l2ZSBwcm9ibGVtcyB3aXRoIGFsbCBzb2Z0d2FyZSB0aGF0IHVzZXMgQy9IL1MgYWRkcmVzc2luZy4iCisjfiBtc2dzdHIgIiIKKyN+ICJQb3pvcjogbmVvYnZ5a2zDvSBwb8SNZXQgc2VrdG9yxa8gKCVsdSkgLSBvYnZ5a2xlIG5lYsO9dsOhIHbDrWNlIG5lxb4gNjMuXG4iCisjfiAiVG8genDFr3NvYsOtIHByb2Jsw6lteSB2xaFlbSBwcm9ncmFtxa9tLCBrdGVyw6kgcG91xb7DrXZhasOtIGFkcmVzb3bDoW7DrSBDL0gvUy4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWx1IGN5bGluZGVycywgJWx1IGhlYWRzLCAlbHUgc2VjdG9ycy90cmFja1xuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogY3lsaW5kcsWvOiAlbHUsIGhsYXY6ICVsdSwgc2VrdG9yxa8vc3RvcHU6ICVsdVxuIgorCisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBoZWFkOiAlbHUgKHNob3VsZCBiZSBpbiAwLSVsdSkiCisjfiBtc2dzdHIgIiVzIG9kZMOtbHUgJXMgbcOhIGNoeWJuw70gcG/EjWV0IGhsYXY6ICVsdSAobcSbbG8gYnkgYsO9dCAwLSVsdSkiCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIHNlY3RvcjogJWx1IChzaG91bGQgYmUgaW4gMS0lbHUpIgorI34gbXNnc3RyICIlcyBvZGTDrWx1ICVzIG3DoSBjaHlibsO9IHBvxI1ldCBzZWt0b3LFrzogJWx1IChtxJtsbyBieSBiw710IDEtJWx1KSIKKworI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3IgY3lsaW5kZXJzOiAlbHUgKHNob3VsZCBiZSBpbiAwLSVsdSkiCisjfiBtc2dzdHIgIiVzIG9kZMOtbHUgJXMgbcOhIGNoeWJuw70gcG/EjWV0IGN5bGluZHLFrzogJWx1IChtxJtsbyBieSBiw710IDAtJWx1KSIKKworI34gbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSAuLi5cbiIKKyN+IG1zZ3N0ciAiTmHEjcOtdMOhbSB6bm92dSB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2t14oCmXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGNvbW1hbmQgdG8gcmUtcmVhZCB0aGUgcGFydGl0aW9uIHRhYmxlIGZhaWxlZC5cbiIKKyN+ICJSdW4gcGFydHByb2JlKDgpLCBrcGFydHgoOCkgb3IgcmVib290IHlvdXIgc3lzdGVtIG5vdyxcbiIKKyN+ICJiZWZvcmUgdXNpbmcgbWtmcyIKKyN+IG1zZ3N0ciAiIgorI34gIk5lcG9kYcWZaWxvIHNlIHpub3Z1IG5hxI3DrXN0IHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3UuXG4iCisjfiAiRMWZw612ZSBuZcW+IHBvdcW+aWpldGUgbWtmcywgc3B1c8WldGUgcGFydHByb2JlKDgpLCBrcGFydHgoOCkgbmVibyByZXN0YXJ0dWp0ZVxuIgorI34gInN5c3TDqW0iCisKKyN+IG1zZ2lkICJFcnJvciBjbG9zaW5nICVzIgorI34gbXNnc3RyICJDaHliYSBwxZlpIHphdsOtcsOhbsOtICVzIgorCisjfiBtc2dpZCAiJXM6IG5vIHN1Y2ggcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiVzOiBvZGTDrWwgbmVleGlzdHVqZVxuIgorCisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGZvcm1hdCAtIHVzaW5nIHNlY3RvcnMiCisjfiBtc2dzdHIgIm5lem7DoW3DvSBmb3Jtw6F0IC0gcG91xb5pasOtIHNlIHNla3RvcnkiCisKKyN+IG1zZ2lkICJ1bmltcGxlbWVudGVkIGZvcm1hdCAtIHVzaW5nICVzIgorI34gbXNnc3RyICJuZWltcGxlbWVudG92YW7DvSBmb3Jtw6F0IC0gcG91xb5pasOtIHNlICVzIgorCisjfiBtc2dpZCAic2VjdG9ycyIKKyN+IG1zZ3N0ciAic2VrdG9yeSIKKworI34gbXNnaWQgIiIKKyN+ICJVbml0czogY3lsaW5kZXJzIG9mICVsdSBieXRlcywgYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkplZG5vdGt5OiBjeWxpbmRyeSBwbyAlbHUgYmFqdGVjaCwgYmxva3kgcG8gMTAyNCBiYWp0ZWNoLCBwb8SNw610w6FubyBvZCAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgU3RhcnQgICAgIEVuZCAgICNjeWxzICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIlphxZnDrXplbsOtICBCb290IFphxI3DoXRlayAgIEtvbmVjIEN5bGRyxa8gICBCbG9rxa8gICAgIElkICBTeXN0w6ltXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IHNlY3RvcnMgb2YgNTEyIGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJKZWRub3RreTogc2VrdG9yeSBwbyA1MTIgYmFqdGVjaCwgcG/EjcOtdMOhbm8gb2QgJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290ICAgIFN0YXJ0ICAgICAgIEVuZCAgICNzZWN0b3JzICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIlphxZnDrXplbsOtICBCb290ICAgIFphxI3DoXRlayAgICAgS29uZWMgU2VrdG9yxa8gICBJZCAgU3lzdMOpbVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiSmVkbm90a3k6IGJsb2t5IHBvIDEwMjQgYmFqdGVjaCwgcG/EjcOtdMOhbm8gb2QgJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290ICAgU3RhcnQgICAgICAgRW5kICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIlphxZnDrXplbsOtICBCb290ICAgWmHEjcOhdGVrICAgICBLb25lYyAgQmxva8WvICAgICBJZCAgU3lzdMOpbVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiAxTWlCID0gMTAyNCoxMDI0IGJ5dGVzLCBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiSmVkbm90a3k6IDHigK9NaUIgPSAxMDI0KjEwMjQgYmFqdMWvLCBibG9reSBwbyAxMDI0IGJhanRlY2gsIHBvxI3DrXTDoW5vIG9kICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCBTdGFydCAgIEVuZCAgICBNaUIgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiWmHFmcOtemVuw60gIEJvb3QgWmHEjcOhdGVrIEtvbmVjICBNaUIgICAgQmxva8WvICAgICBJZCAgU3lzdMOpbVxuIgorCisjfiBtc2dpZCAiXHRcdHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICJcdFx0emHEjcOhdGVrOiAoYyxoLHMpIHDFmWVkcG9rbGFkICglbGQsJWxkLCVsZCkgbmFsZXplbm8gKCVsZCwlbGQsJWxkKVxuIgorCisjfiBtc2dpZCAiXHRcdGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiXHRcdGtvbmVjOiAoYyxoLHMpIHDFmWVkcG9rbGFkICglbGQsJWxkLCVsZCkgbmFsZXplbm8gKCVsZCwlbGQsJWxkKVxuIgorCisjfiBtc2dpZCAicGFydGl0aW9uIGVuZHMgb24gY3lsaW5kZXIgJWxkLCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZGlza1xuIgorI34gbXNnc3RyICJvZGTDrWwga29uxI3DrSBuYSBjeWxpbmRydSAlbGQsIHQuai4gemEga29uY2VtIGRpc2t1XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogVGhlIHBhcnRpdGlvbiB0YWJsZSBsb29rcyBsaWtlIGl0IHdhcyBtYWRlXG4iCisjfiAiICBmb3IgQy9IL1M9Ki8lbGQvJWxkIChpbnN0ZWFkIG9mICVsZC8lbGQvJWxkKS5cbiIKKyN+ICJGb3IgdGhpcyBsaXN0aW5nIEknbGwgYXNzdW1lIHRoYXQgZ2VvbWV0cnkuIgorI34gbXNnc3RyICIiCisjfiAiVmFyb3bDoW7DrTogWmTDoSBzZSwgxb5lIHRhYnVsa2Egcm96ZMSbbGVuw60gZGlza3UgYnlsYSB2eXR2b8WZZW5hXG4iCisjfiAicHJvIEMvSC9TPSovJWxkLyVsZCAobcOtc3RvICVsZC8lbGQvJWxkKS5cbiIKKyN+ICJab2JyYXp1amkgemEgcG91xb5pdMOtIHTDqXRvIGdlb21ldHJpZS4iCisKKyN+IG1zZ2lkICJubyBwYXJ0aXRpb24gdGFibGUgcHJlc2VudCIKKyN+IG1zZ3N0ciAibmVuw60gcMWZw610b21uYSDFvsOhZG7DoSB0YWJ1bGthIHJvemTEm2xlbsOtIGRpc2t1IgorCisjfiBtc2dpZCAic3RyYW5nZSwgb25seSAlZCBwYXJ0aXRpb24gZGVmaW5lZCIKKyN+IG1zZ2lkX3BsdXJhbCAic3RyYW5nZSwgb25seSAlZCBwYXJ0aXRpb25zIGRlZmluZWQiCisjfiBtc2dzdHJbMF0gInp2bMOhxaF0bsOtIC0gcG91emUgJWQgb2Rkw61sIGRlZmlub3bDoW4iCisjfiBtc2dzdHJbMV0gInp2bMOhxaF0bsOtIC0gcG91emUgJWQgb2Rkw61seSBkZWZpbm92w6FueSIKKyN+IG1zZ3N0clsyXSAienZsw6HFoXRuw60gLSBwb3V6ZSAlZCBvZGTDrWzFryBkZWZpbm92w6FubyIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGJ1dCBpcyBub3QgbWFya2VkIEVtcHR5IgorI34gbXNnc3RyICJQb3pvcjogb2Rkw61sICVzIG3DoSB2ZWxpa29zdCAwIGEgbmVuw60gb3puYcSNZW4gamFrbyBwcsOhemRuw70iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBhbmQgaXMgYm9vdGFibGUiCisjfiBtc2dzdHIgIlBvem9yOiBvZGTDrWwgJXMgbcOhIHZlbGlrb3N0IDAgYSBqZSBzdGFydG92YWPDrSIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGFuZCBub256ZXJvIHN0YXJ0IgorI34gbXNnc3RyICJQb3pvcjogb2Rkw61sICVzIG3DoSB2ZWxpa29zdCAwIGEgbmVudWxvdsO9IHphxI3DoXRlayIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbnMgJXMgYW5kICVzIG92ZXJsYXAiCisjfiBtc2dzdHIgIlBvem9yOiBvZGTDrWx5ICVzIGEgJXMgc2UgcMWZZWtyw712YWrDrSIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgY29udGFpbnMgcGFydCBvZiB0aGUgcGFydGl0aW9uIHRhYmxlIChzZWN0b3IgJWxsdSksXG4iCisjfiAiYW5kIHdpbGwgZGVzdHJveSBpdCB3aGVuIGZpbGxlZCIKKyN+IG1zZ3N0ciAiIgorI34gIlBvem9yOiBvZGTDrWwgJXMgb2JzYWh1amUgxI3DoXN0IHRhYnVsa3kgcm96ZMSbbGVuw60gZGlza3UgKHNla3RvciAlbGx1KVxuIgorI34gImEgdiBwxZnDrXBhZMSbIHphcGxuxJtuw60gamkgem5pxI3DrSIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yIDAiCisjfiBtc2dzdHIgIlBvem9yOiBvZGTDrWwgJXMgemHEjcOtbsOhIG5hIHNla3RvcnUgMCIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBleHRlbmRzIHBhc3QgZW5kIG9mIGRpc2siCisjfiBtc2dzdHIgIlBvem9yOiBvZGTDrWwgJXMgcMWZZXNhaHVqZSB6YSBrb25lYyBkaXNrdSIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgJWQuJWQgVEIgKCVsbHUgYnl0ZXMpLFxuIgorI34gIndoaWNoIGlzIGxhcmdlciB0aGFuIHRoZSAlbGx1IGJ5dGVzIGxpbWl0IGltcG9zZWRcbiIKKyN+ICJieSB0aGUgRE9TIHBhcnRpdGlvbiB0YWJsZSBmb3IgJWQtYnl0ZSBzZWN0b3JzIgorI34gbXNnc3RyICIiCisjfiAiUG96b3I6IG9kZMOtbCAlcyBtw6EgdmVsaWtvc3QgJWQsJWTigK9UQiAoJSdsbHUgYmFqdMWvKSxcbiIKKyN+ICJjb8W+IGplIHbDrWNlLCBuZcW+IG9tZXplbsOtICUnbGx1IGJhanTFryBkYW7DqSBkb3Nvdm91IHRhYnVsa291XG4iCisjfiAicm96ZMSbbGVuw60gZGlza3UgcMWZaSAlZGJhanRvdsO9Y2ggc2VrdG9yZWNoIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yICVsbHUgKCVkLiVkIFRCIGZvciAlZC1ieXRlIHNlY3RvcnMpLFxuIgorI34gIndoaWNoIGV4Y2VlZHMgdGhlIERPUyBwYXJ0aXRpb24gdGFibGUgbGltaXQgb2YgJWxsdSBzZWN0b3JzIgorI34gbXNnc3RyICIiCisjfiAiUG96b3I6IG9kZMOtbCAlcyB6YcSNw61uw6EgbmEgc2VrdG9ydSAlJ2xsdSAoJWQsJWTigK9UQlxuIgorI34gInDFmWkgJWRiYWp0b3bDvWNoIHNla3RvcmVjaCksIGNvxb4gcMWZZXNhaHVqZSBvbWV6ZW7DrSBkb3NvdsOpIHRhYnVsa3lcbiIKKyN+ICJyb3pkxJtsZW7DrSBkaXNrdSAlJ2xsdSBzZWt0b3LFryIKKworI34gbXNnaWQgIiIKKyN+ICJBbW9uZyB0aGUgcHJpbWFyeSBwYXJ0aXRpb25zLCBhdCBtb3N0IG9uZSBjYW4gYmUgZXh0ZW5kZWRcbiIKKyN+ICIgKGFsdGhvdWdoIHRoaXMgaXMgbm90IGEgcHJvYmxlbSB1bmRlciBMaW51eCkiCisjfiBtc2dzdHIgIiIKKyN+ICJQb3V6ZSBqZWRlbiB6IHByaW3DoXJuw61jaCBvZGTDrWzFryBtxa/FvmUgYsO9dCByb3rFocOtxZllbsO9bVxuIgorI34gIihhxI1rb2xpdiB2wqBMaW51eHUgdG8gbmVuw60gcHJvYmzDqW0pIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGRvZXMgbm90IHN0YXJ0IGF0IGEgY3lsaW5kZXIgYm91bmRhcnkiCisjfiBtc2dzdHIgIlBvem9yOiBvZGTDrWwgJXMgbmV6YcSNw61uw6EgbmEgaHJhbmljaSBjeWxpbmRydSIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBlbmQgYXQgYSBjeWxpbmRlciBib3VuZGFyeSIKKyN+IG1zZ3N0ciAiUG96b3I6IG9kZMOtbCAlcyBuZWtvbsSNw60gbmEgaHJhbmljaSBjeWxpbmRydSIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBtb3JlIHRoYW4gb25lIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZSAoYWN0aXZlKVxuIgorI34gIlRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLCBidXQgdGhlIERPUyBNQlIgd2lsbCBub3QgYm9vdCB0aGlzIGRpc2suIgorI34gbXNnc3RyICIiCisjfiAiUG96b3I6IHbDrWNlIG5lxb4gamVkZW4gcHJpbcOhcm7DrSBvZGTDrWwgamUgb3puYcSNZW4gamFrbyBzdGFydG92YWPDrS5cbiIKKyN+ICJMSUxVIHRvIG5lxI1pbsOtIHByb2Jsw6lteSwgYWxlIERPUyBNQlIgeiB0b2hvdG8gZGlza3UgbmVuYXN0YXJ0dWplLiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiB1c3VhbGx5IG9uZSBjYW4gYm9vdCBmcm9tIHByaW1hcnkgcGFydGl0aW9ucyBvbmx5XG4iCisjfiAiTElMTyBkaXNyZWdhcmRzIHRoZSBgYm9vdGFibGUnIGZsYWcuIgorI34gbXNnc3RyICIiCisjfiAiUG96b3I6IG9iecSNZWpuxJsgamUgbW/Fvm7DqSBzdGFydG92YXQgcG91emUgeiBwcmltw6FybsOtY2ggb2Rkw61sfMWvLlxuIgorI34gIkxJTE8gbmVidWRlIGJyw6F0IG9obGVkIG5hIHDFmcOtem5hayDigJ5zdGFydG92YWPDreKAnC4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogbm8gcHJpbWFyeSBwYXJ0aXRpb24gaXMgbWFya2VkIGJvb3RhYmxlIChhY3RpdmUpXG4iCisjfiAiVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sIGJ1dCB0aGUgRE9TIE1CUiB3aWxsIG5vdCBib290IHRoaXMgZGlzay4iCisjfiBtc2dzdHIgIiIKKyN+ICJQb3pvcjogxb7DoWRuw70gcHJpbcOhcm7DrSBvZGTDrWwgbmVuw60gb3puYcSNZW4gamFrbyBzdGFydG92YWPDrS5cbiIKKyN+ICJMSUxVIHRvIG5lxI1pbsOtIHByb2Jsw6lteSwgYWxlIERPUyB6IHRvaG90byBkaXNrdSBuZW5hc3RhcnR1amUuIgorCisjfiBtc2dpZCAic3RhcnQiCisjfiBtc2dzdHIgInphxI3DoXRlayIKKworI34gbXNnaWQgInBhcnRpdGlvbiAlczogc3RhcnQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpIgorI34gbXNnc3RyICJvZGTDrWwgJXM6IHphxI3DoXRlazogKGMsaCxzKSBwxZllZHBva2xhZCAoJWxkLCVsZCwlbGQpLCBuYWxlemVubyAoJWxkLCVsZCwlbGQpIgorCisjfiBtc2dpZCAiZW5kIgorI34gbXNnc3RyICJrb25lYyIKKworI34gbXNnaWQgInBhcnRpdGlvbiAlczogZW5kOiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKSIKKyN+IG1zZ3N0ciAib2Rkw61sICVzOiBrb25lYzogKGMsaCxzKSBwxZllZHBva2xhZCAoJWxkLCVsZCwlbGQpLCBuYWxlemVubyAoJWxkLCVsZCwlbGQpIgorCisjfiBtc2dpZCAicGFydGl0aW9uICVzIGVuZHMgb24gY3lsaW5kZXIgJWxkLCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZGlzayIKKyN+IG1zZ3N0ciAib2Rkw61sICVzIGtvbsSNw60gbmEgY3lsaW5kcnUgJWxkLCB0byBqZXN0IHphIGtvbmNlbSBkaXNrdSIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzaGlmdGVkIHN0YXJ0IG9mIHRoZSBleHRkIHBhcnRpdGlvbiBmcm9tICVsbGQgdG8gJWxsZFxuIgorI34gIihGb3IgbGlzdGluZyBwdXJwb3NlcyBvbmx5LiBEbyBub3QgY2hhbmdlIGl0cyBjb250ZW50cy4pIgorI34gbXNnc3RyICIiCisjfiAiUG96b3I6IHphxI3DoXRlayByb3rFocOtxZllbsOpaG8gb2Rkw61sdSBwb3N1bnV0IHogJWxsZCBuYSAlbGxkLlxuIgorI34gIihQb3V6ZSBwcm8gw7rEjWVseSB2w71waXN1LiBOZW3Em8WIdGUgamVobyBvYnNhaC4pIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IGV4dGVuZGVkIHBhcnRpdGlvbiBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gIkRPUyBhbmQgTGludXggd2lsbCBpbnRlcnByZXQgdGhlIGNvbnRlbnRzIGRpZmZlcmVudGx5LiIKKyN+IG1zZ3N0ciAiIgorI34gIlZhcm92w6Fuw606IHJvesWhw63FmWVuw70gb2Rkw61sIG5lemHEjcOtbsOhIG5hIGhyYW5pY2kgY3lsaW5kcnUuXG4iCisjfiAiRE9TIGEgTGludXggYnVkb3UgamVobyBvYnNhaCBpbnRlcnByZXRvdmF0IHJvemTDrWxuxJsuIgorCisjfiBtc2dpZCAiRVJST1I6IHNlY3RvciAlbGx1IGRvZXMgbm90IGhhdmUgYW4gbXNkb3Mgc2lnbmF0dXJlIgorI34gbXNnc3RyICJDSFlCQTogc2VrdG9yICVsbHUgbmVuZXNlIHN0b3B5IE1TLURPU3UiCisKKyN+IG1zZ2lkICJ0b28gbWFueSBwYXJ0aXRpb25zIC0gaWdub3JpbmcgdGhvc2UgcGFzdCBuciAoJXp1KSIKKyN+IG1zZ3N0ciAicMWZw61sacWhIG1ub2hvIG9kZMOtbMWvIC0gdHkgemEgxI3DrXNsZW0gJXp1IGJ1ZG91IGlnbm9yb3bDoW55IgorCisjfiBtc2dpZCAidHJlZSBvZiBwYXJ0aXRpb25zPyIKKyN+IG1zZ3N0ciAic3Ryb20gb2Rkw61sxa8/IgorCisjfiBtc2dpZCAiZGV0ZWN0ZWQgRGlzayBNYW5hZ2VyIC0gdW5hYmxlIHRvIGhhbmRsZSB0aGF0IgorI34gbXNnc3RyICJuYWxlemVuIERpc2sgTWFuYWdlciAtIHMgdMOtbSBuZXVtw61tIHByYWNvdmF0IgorCisjfiBtc2dpZCAiRE02IHNpZ25hdHVyZSBmb3VuZCAtIGdpdmluZyB1cCIKKyN+IG1zZ3N0ciAibmFsZXplbiBETTYgcG9kcGlzIC0ga29uxI3DrSBzZSIKKworI34gbXNnaWQgInN0cmFuZ2UuLi4sIGFuIGV4dGVuZGVkIHBhcnRpdGlvbiBvZiBzaXplIDA/IgorI34gbXNnc3RyICJ6dmzDocWhdG7DreKApiwgcm96xaHDrcWZZW7DvSBvZGTDrWwgb8KgdmVsaWtvc3RpIDA/IgorCisjfiBtc2dpZCAic3RyYW5nZS4uLiwgYSBCU0QgcGFydGl0aW9uIG9mIHNpemUgMD8iCisjfiBtc2dzdHIgInp2bMOhxaF0bsOt4oCmLCBCU0Qgb2Rkw61sIG/CoHZlbGlrb3N0aSAwPyIKKworI34gbXNnaWQgIi1uIGZsYWcgd2FzIGdpdmVuOiBOb3RoaW5nIGNoYW5nZWQiCisjfiBtc2dzdHIgImJ5bCB6YWTDoW4gcMWZZXDDrW5hxI0gLW46IE5pYyBuZWJ5bG8gem3Em27Em25vIgorCisjfiBtc2dpZCAiRmFpbGVkIHNhdmluZyB0aGUgb2xkIHNlY3RvcnMgLSBhYm9ydGluZ1xuIgorI34gbXNnc3RyICJDaHliYSBwxZlpIHVrbMOhZMOhbsOtIHN0YXLDvWNoIHNla3RvcsWvIC0ga29uxI3DrW1cbiIKKworI34gbXNnaWQgIkZhaWxlZCB3cml0aW5nIHRoZSBwYXJ0aXRpb24gb24gJXMiCisjfiBtc2dzdHIgIkNoeWJhIHDFmWkgesOhcGlzdSBvZGTDrWx1IG5hICVzIgorCisjfiBtc2dpZCAibG9uZyBvciBpbmNvbXBsZXRlIGlucHV0IGxpbmUgLSBxdWl0dGluZyIKKyN+IG1zZ3N0ciAicMWZw61sacWhIGRsb3Vow70gxI1pIG5lw7pwbG7DvSDFmcOhZGVrIC0ga29uxI3DrW0iCisKKyN+IG1zZ2lkICJpbnB1dCBlcnJvcjogYD0nIGV4cGVjdGVkIGFmdGVyICVzIGZpZWxkIgorI34gbXNnc3RyICJjaHliYSB2c3R1cHU6IHBvIHBvbG/FvmNlICVzIGplIG/EjWVrw6F2w6FuIHpuYWsg4oCePeKAnCIKKworI34gbXNnaWQgImlucHV0IGVycm9yOiB1bmV4cGVjdGVkIGNoYXJhY3RlciAlYyBhZnRlciAlcyBmaWVsZCIKKyN+IG1zZ3N0ciAiY2h5YmEgdnN0dXB1OiBuZW/EjWVrw6F2YW7DvSB6bmFrICVjIHBvIHBvbG/FvmNlICVzIgorCisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGlucHV0OiAlcyIKKyN+IG1zZ3N0ciAibmVyb3pwb3puYW7DvSB2c3R1cDogJXMiCisKKyN+IG1zZ2lkICJudW1iZXIgdG9vIGJpZyIKKyN+IG1zZ3N0ciAixI3DrXNsbyBqZSBwxZnDrWxpxaEgdmVsaWvDqSIKKworI34gbXNnaWQgInRyYWlsaW5nIGp1bmsgYWZ0ZXIgbnVtYmVyIgorI34gbXNnc3RyICJuZXNteXNseSB6YSDEjcOtc2xlbSIKKworI34gbXNnaWQgIm5vIHJvb20gZm9yIHBhcnRpdGlvbiBkZXNjcmlwdG9yIgorI34gbXNnc3RyICJuZW7DrSBtw61zdG8gcHJvIHBvcGlzIG9kZMOtbHUiCisKKyN+IG1zZ2lkICJjYW5ub3QgYnVpbGQgc3Vycm91bmRpbmcgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICJva29sbsOtIHJvesWhacWZdWrDrWPDrSBvZGTDrWwgbmVsemUgdnl0dm/FmWl0IgorCisjfiBtc2dpZCAidG9vIG1hbnkgaW5wdXQgZmllbGRzIgorI34gbXNnc3RyICJwxZnDrWxpxaEgbW5vaG8gdnN0dXBuw61jaCBwb2xvxb5layIKKworI34gbXNnaWQgIk5vIHJvb20gZm9yIG1vcmUiCisjfiBtc2dzdHIgIkppxb4gbmVqc291IHZvbG7DqSBibG9reSIKKworI34gbXNnaWQgIklsbGVnYWwgdHlwZSIKKyN+IG1zZ3N0ciAiQ2h5Ym7DvSB0eXAiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBnaXZlbiBzaXplICglbGx1KSBleGNlZWRzIG1heCBhbGxvd2FibGUgc2l6ZSAoJWxsdSkiCisjfiBtc2dzdHIgIlBvem9yOiB6YWRhbsOhIHZlbGlrb3N0ICglbGx1KSBwxZlla3JhxI11amUgbWF4aW3DoWxuw60gcG92b2xlbm91IHZlbGlrb3N0ICglbGx1KSIKKworI34gbXNnaWQgIldhcm5pbmc6IGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiUG96b3I6IHByw6F6ZG7DvSBvZGTDrWwiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBiYWQgcGFydGl0aW9uIHN0YXJ0IChlYXJsaWVzdCAlbGx1KSIKKyN+IG1zZ3N0ciAiUG96b3I6IGNoeWJuw70gemHEjcOhdGVrIG9kZMOtbHUgKGTFmcOtdsSbasWhw60gJWxsdSkiCisKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgYm9vdGFibGUgZmxhZyAtIGNob29zZSAtIG9yICoiCisjfiBtc2dzdHIgIm5lcm96cG96bmFuw70gcMWZw616bmFrIOKAnnN0YXJ0b3ZhY8Ot4oCcIC0genZvbHRlIC0gxI1pICoiCisKKyN+IG1zZ2lkICJwYXJ0aWFsIGMsaCxzIHNwZWNpZmljYXRpb24/IgorI34gbXNnc3RyICJuZcO6cGxuw6EgYyxoLHMgc3BlY2lmaWthY2U/IgorCisjfiBtc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIG5vdCB3aGVyZSBleHBlY3RlZCIKKyN+IG1zZ3N0ciAiUm96xaHDrcWZZW7DvSBvZGTDrWwgbmEgbmVvxI1la8OhdmFuw6ltIG3DrXN0xJsiCisKKyN+IG1zZ2lkICJiYWQgaW5wdXQiCisjfiBtc2dzdHIgImNoeWJuw70gdnN0dXAiCisKKyN+IG1zZ2lkICJ0b28gbWFueSBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJwxZnDrWxpxaEgbW5vaG8gb2Rkw61sxa8iCisKKyN+IG1zZ2lkICIiCisjfiAiSW5wdXQgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ7IGFic2VudCBmaWVsZHMgZ2V0IGEgZGVmYXVsdCB2YWx1ZS5cbiIKKyN+ICI8c3RhcnQ+IDxzaXplPiA8dHlwZSBbRSxTLEwsWCxoZXhdPiA8Ym9vdGFibGUgWy0sKl0+IDxjLGgscz4gPGMsaCxzPlxuIgorI34gIlVzdWFsbHkgeW91IG9ubHkgbmVlZCB0byBzcGVjaWZ5IDxzdGFydD4gYW5kIDxzaXplPiAoYW5kIHBlcmhhcHMgPHR5cGU+KS4iCisjfiBtc2dzdHIgIiIKKyN+ICJWc3R1cCB2IG7DoXNsZWR1asOtY8OtbSBmb3Jtw6F0dTsgY2h5YsSbasOtY8OtIHBvbG/Fvmt5IGJ1ZG91IG5haHJhemVueSBpbXBsaWNpdG7DrW1pXG4iCisjfiAiaG9kbm90YW1pLlxuIgorI34gIjx6YcSNw6F0ZWs+IDx2ZWxpa29zdD4gPHR5cCBbRSxTLEwsWCxoZXhdPiA8c3RhcnRvdmFjw60gWy0sKl0+IDxjLGgscz4gPGMsaCxzPlxuIgorI34gIk9idnlrbGUgamUgdMWZZWJhIHphZGF0IHBvdXplIDx6YcSNw6F0ZWs+IGEgPHZlbGlrb3N0PiAoYSBtb8W+bsOhIDx0eXA+KS4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+Li4uXG4iCisjfiBtc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSA8emHFmcOtemVuw60+4oCmXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1zLCAtLXNob3ctc2l6ZSAgICAgICAgICAgbGlzdCBzaXplIG9mIGEgcGFydGl0aW9uXG4iCisjfiAiIC1jLCAtLWlkICAgICAgICAgICAgICAgICAgY2hhbmdlIG9yIHByaW50IHBhcnRpdGlvbiBJZFxuIgorI34gIiAgICAgLS1jaGFuZ2UtaWQgICAgICAgICAgIGNoYW5nZSBJZFxuIgorI34gIiAgICAgLS1wcmludC1pZCAgICAgICAgICAgIHByaW50IElkXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXMsIC0tc2hvdy1zaXplICAgICAgICAgICB2eXDDrcWhZSB2ZWxpa29zdCBvZGTDrWx1XG4iCisjfiAiIC1jLCAtLWlkICAgICAgICAgICAgICAgICAgdnlww63FoWUgxI1pIHptxJtuw60gSUQgb2Rkw61sdVxuIgorI34gIiAgICAgLS1jaGFuZ2UtaWQgICAgICAgICAgIHptxJtuw60gSURcbiIKKyN+ICIgICAgIC0tcHJpbnQtaWQgICAgICAgICAgICB2eXDDrcWhZSBJRFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgIGxpc3QgcGFydGl0aW9ucyBvZiBlYWNoIGRldmljZVxuIgorI34gIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgIGlkZW0sIGJ1dCBpbiBhIGZvcm1hdCBzdWl0YWJsZSBmb3IgbGF0ZXIgaW5wdXRcbiIKKyN+ICIgLWksIC0taW5jcmVtZW50ICAgICAgICAgICBudW1iZXIgY3lsaW5kZXJzIGV0Yy4gZnJvbSAxIGluc3RlYWQgb2YgZnJvbSAwXG4iCisjfiAiIC11LCAtLXVuaXQgPGxldHRlcj4gICAgICAgdW5pdHMgdG8gYmUgdXNlZDsgPGxldHRlcj4gY2FuIGJlIG9uZSBvZlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUyAoc2VjdG9ycyksIEMgKGN5bGluZGVycyksIEIgKGJsb2NrcyksIG9yIE0gKE1CKVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAga2Uga2HFvmTDqW11IHphxZnDrXplbsOtIHZ5cMOtxaFlIG9kZMOtbHlcbiIKKyN+ICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgICB0YWt0w6nFviwgYWxlIHZlIGZvcm3DoXR1IHZob2Ruw6ltIGvCoGRhbMWhw61tdSB6cHJhY292w6Fuw61cbiIKKyN+ICIgLWksIC0taW5jcmVtZW50ICAgICAgICAgICDEjcOtc2x1amUgY3lsaW5kcnkgYXRkLiBvZCAxIG3DrXN0byBvZCAwXG4iCisjfiAiIC11LCAtLXVuaXQgPHDDrXNtZW5vPiAgICAgIGpha28gamVkbm90a3kgcG91xb5pamU7IDxww61zbWVubz4gbcWvxb5lIGLDvXQgamVkbm8gelxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUyAoc2VrdG9yeSksIEMgKGN5bGluZHJ5KSwgQiAoYmxva3kpIG5lYm8gTSAoTUIpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC0xLCAtLW9uZS1vbmx5ICAgICAgICAgICAgcmVzZXJ2ZWQgb3B0aW9uIHRoYXQgZG9lcyBub3RoaW5nIGN1cnJlbnRseVxuIgorI34gIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgIGxpc3QgdGhlIGtub3duIHBhcnRpdGlvbiB0eXBlc1xuIgorI34gIiAtRCwgLS1ET1MgICAgICAgICAgICAgICAgIGZvciBET1MtY29tcGF0aWJpbGl0eTogd2FzdGUgYSBsaXR0bGUgc3BhY2VcbiIKKyN+ICIgLUUsIC0tRE9TLWV4dGVuZGVkICAgICAgICBET1MgZXh0ZW5kZWQgcGFydGl0aW9uIGNvbXBhdGliaWxpdHlcbiIKKyN+ICIgLVIsIC0tcmUtcmVhZCAgICAgICAgICAgICBtYWtlIHRoZSBrZXJuZWwgcmVyZWFkIHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtMSwgLS1vbmUtb25seSAgICAgICAgICAgIHZ5aHJhemVuw70gcMWZZXDDrW5hxI0sIGt0ZXLDvSBueW7DrSBuaWMgbmVkxJtsw6FcbiIKKyN+ICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICB2eXDDrcWhZSB6bsOhbcOpIHR5cHkgb2Rkw61sxa9cbiIKKyN+ICIgLUQsIC0tRE9TICAgICAgICAgICAgICAgICBwcm8ga29tcGF0aWJpbGl0dSBzIERPU2VtOiB1YmVyZSB0cm9jaHUgbcOtc3RhXG4iCisjfiAiIC1FLCAtLURPUy1leHRlbmRlZCAgICAgICAga29tcGF0aWJpbGl0YSBzwqBkb3NvdsO9bWkgcm96xaHDrcWZZW7DvW1pIG9kZMOtbHlcbiIKKyN+ICIgLVIsIC0tcmUtcmVhZCAgICAgICAgICAgICBwb8W+w6Fkw6EgasOhZHJvIG/CoG5vdsOpIG5hxI10ZW7DrSB0YWJ1bGt5IHJvemTEm2xlbsOtIGRpc2t1XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1OIDxudW1iZXI+ICAgICAgICAgICAgICAgY2hhbmdlIG9ubHkgdGhlIHBhcnRpdGlvbiB3aXRoIHRoaXMgPG51bWJlcj5cbiIKKyN+ICIgLW4gICAgICAgICAgICAgICAgICAgICAgICBkbyBub3QgYWN0dWFsbHkgd3JpdGUgdG8gZGlza1xuIgorI34gIiAtTyA8ZmlsZT4gICAgICAgICAgICAgICAgIHNhdmUgdGhlIHNlY3RvcnMgdGhhdCB3aWxsIGJlIG92ZXJ3cml0dGVuIHRvIDxmaWxlPlxuIgorI34gIiAtSSA8ZmlsZT4gICAgICAgICAgICAgICAgIHJlc3RvcmUgc2VjdG9ycyBmcm9tIDxmaWxlPlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1OIDzEjcOtc2xvPiAgICAgICAgICAgICAgICB6bcSbbsOtIHBvdXplIG9kZMOtbCBzwqB0w61tdG8gPMSNw61zbGVtPlxuIgorI34gIiAtbiAgICAgICAgICAgICAgICAgICAgICAgIG5hIGRpc2sgbmVidWRvdSB1bG/FvmVueSDFvsOhZG7DqSB6bcSbbnlcbiIKKyN+ICIgLU8gPHNvdWJvcj4gICAgICAgICAgICAgICB1bG/FvsOtIHptxJtuxJtuw6kgc2VrdG9yeSBkbyA8c291Ym9ydT5cbiIKKyN+ICIgLUkgPHNvdWJvcj4gICAgICAgICAgICAgICBvYm5vdsOtIHNla3RvcnkgemUgPHNvdWJvcnU+XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1WLCAtLXZlcmlmeSAgICAgICAgICAgICAgY2hlY2sgdGhhdCB0aGUgbGlzdGVkIHBhcnRpdGlvbnMgYXJlIHJlYXNvbmFibGVcbiIKKyN+ICIgLXYsIC0tdmVyc2lvbiAgICAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLVYsIC0tdmVyaWZ5ICAgICAgICAgICAgICBvdsSbxZnDrSwgxb5lIHZ5am1lbm92YW7DqSBvZGTDrWx5IGTDoXZhasOtIHNteXNsXG4iCisjfiAiIC12LCAtLXZlcnNpb24gICAgICAgICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHUgYSBza29uxI3DrVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRhbmdlcm91cyBvcHRpb25zOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTmViZXpwZcSNbsOpIHDFmWVww61uYcSNZTpcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZ1xuIgorI34gIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBwYXJ0aXRpb24gaXMgaW4gdXNlXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcHJlc3Mgd2FybmluZyBtZXNzYWdlc1xuIgorI34gIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGRvIG5vdCBjb21wbGFpbiBhYm91dCB0aGluZ3MgaXJyZWxldmFudCBmb3IgTGludXhcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIHZ5cG5lIHbFoWVjaG55IGtvbnRyb2x5IGtvbnppc3RlbmNlXG4iCisjfiAiICAgICAtLW5vLXJlcmVhZCAgICAgICAgICAgbmVvdsSbxZl1amUsIHpkYS1saSBzZSBvZGTDrWwgcHLDoXbEmyBwb3XFvsOtdsOhXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgbmVidWRlIHZ5cGlzb3ZhdCB2YXJvdm7DqSBobMOhxaFreVxuIgorI34gIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIG5lYnVkZSBzaSBzdMSbxb5vdmF0IG5hIHbEm2NpIG5lcG9kc3RhdG7DqSBwcm8gTGludXhcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWcsIC0tc2hvdy1nZW9tZXRyeSAgICAgICBwcmludCB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgZ2VvbWV0cnlcbiIKKyN+ICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBwcmludCBnZW9tZXRyeSBndWVzc2VkIGZyb20gdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgICAgICAgdnlww63FoWUgZ2VvbWV0cmlpLCBqYWsgamkgdmlkw60gasOhZHJvXG4iCisjfiAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgdnlww63FoWUgZ2VvbWV0cmlpLCBrdGVyw6EgYnlsYSBvZGhhZG51dGFcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICB6wqB0YWJ1bGt5IHJvemTEm2xlbsOtIGRpc2t1XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1BLCAtLWFjdGl2YXRlWz08ZGV2aWNlPl0gYWN0aXZhdGUgdGhlIGJvb3RhYmxlIGZsYWdcbiIKKyN+ICIgLVUsIC0tdW5oaWRlWz08ZGV2aWNlPl0gICBzZXQgcGFydGl0aW9uIGFzIHVuaGlkZGVuXG4iCisjfiAiIC14LCAtLXNob3ctZXh0ZW5kZWQgICAgICAgYWxzbyBsaXN0IGV4dGVuZGVkIHBhcnRpdGlvbnMgaW4gdGhlIG91dHB1dCxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIGV4cGVjdCBkZXNjcmlwdG9ycyBmb3IgdGhlbSBpbiB0aGUgaW5wdXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtQSwgLS1hY3RpdmF0ZVs9PHphxZnDrXplbsOtPl1cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICB6YXBuZSBwxZnDrXpuYWsgemF2ZWRpdGVsbm9zdGlcbiIKKyN+ICIgLVUsIC0tdW5oaWRlWz08emHFmcOtemVuw60+XSB6dmlkaXRlbG7DrSBvZGTDrWxcbiIKKyN+ICIgLXgsIC0tc2hvdy1leHRlbmRlZCAgICAgICByb3ZuxJvFviB2eXDDrcWhZSByb3rFocOtxZllbsOpIG9kZMOtbHkgbmVib1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hIHZzdHVwdSBvxI1la8OhdsOhIGplamljaCBwb3Bpc1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS1sZWF2ZS1sYXN0ICAgICAgICAgIGRvIG5vdCBhbGxvY2F0ZSB0aGUgbGFzdCBjeWxpbmRlclxuIgorI34gIiAgICAgLS1JQk0gICAgICAgICAgICAgICAgIHNhbWUgYXMgLS1sZWF2ZS1sYXN0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tbGVhdmUtbGFzdCAgICAgICAgICBuZWFsb2t1amUgcG9zbGVkbsOtIGN5bGluZHJcbiIKKyN+ICIgICAgIC0tSUJNICAgICAgICAgICAgICAgICBzdGVqbsOpIGpha28gLS1sZWF2ZS1sYXN0XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLWluLW9yZGVyICAgICAgICAgICAgcGFydGl0aW9ucyBhcmUgaW4gb3JkZXJcbiIKKyN+ICIgICAgIC0tbm90LWluLW9yZGVyICAgICAgICBwYXJ0aXRpb25zIGFyZSBub3QgaW4gb3JkZXJcbiIKKyN+ICIgICAgIC0taW5zaWRlLW91dGVyICAgICAgICBhbGwgbG9naWNhbHMgaW5zaWRlIG91dGVybW9zdCBleHRlbmRlZFxuIgorI34gIiAgICAgLS1ub3QtaW5zaWRlLW91dGVyICAgIG5vdCBhbGwgbG9naWNhbHMgaW5zaWRlIG91dGVybW9zdCBleHRlbmRlZFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLWluLW9yZGVyICAgICAgICAgICAgb2Rkw61seSBqc291IHNlxZlhemVueVxuIgorI34gIiAgICAgLS1ub3QtaW4tb3JkZXIgICAgICAgIG9kZMOtbHkgbmVqc291IHNlxZlhemVueVxuIgorI34gIiAgICAgLS1pbnNpZGUtb3V0ZXIgICAgICAgIHbFoWVjaG55IGxvZ2lja8OpIG9kZMOtbHkganNvdSB1dm5pdMWZIG5lanZuxJtqxaFlasWhw61jaFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvesWhw63FmWVuw71jaCBvZGTDrWzFr1xuIgorI34gIiAgICAgLS1ub3QtaW5zaWRlLW91dGVyICAgIG5lIHbFoWVjaG55IGxvZ2lja8OpIG9kZMOtbHkganNvdSB1dm5pdMWZIG5lanZuxJtqxaFlasWhw61jaFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvesWhw63FmWVuw71jaCBvZGTDrWzFr1xuIgorCisjIEkgZG8gbm90IHVuZGVyc3RhbmQgZGlmZmVyZW5jZSBiZXR3ZWVuIC0tbmVzdGVkIGFuZCAtLW9uZXNlY3Rvci4KKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLW5lc3RlZCAgICAgICAgICAgICAgZXZlcnkgcGFydGl0aW9uIGlzIGRpc2pvaW50IGZyb20gYWxsIG90aGVyc1xuIgorI34gIiAgICAgLS1jaGFpbmVkICAgICAgICAgICAgIGxpa2UgbmVzdGVkLCBidXQgZXh0ZW5kZWQgcGFydGl0aW9ucyBtYXkgbGllIG91dHNpZGVcbiIKKyN+ICIgICAgIC0tb25lc2VjdG9yICAgICAgICAgICBwYXJ0aXRpb25zIGFyZSBtdXR1YWxseSBkaXNqb2ludFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLW5lc3RlZCAgICAgICAgICAgICAga2HFvmTDvSBvZGTDrWwgc2UgbmVwxZlla3LDvXbDoSBzZSB2xaFlbWkgemLDvXZhasOtY8OtbWlcbiIKKyN+ICIgICAgIC0tY2hhaW5lZCAgICAgICAgICAgICBqYWtvIC0tbmVzdGVkLCBhbGUgcm96xaHDrcWZZW7DqSBvZGTDrWx5IG1vaG91IGxlxb5ldCBtaW1vXG4iCisjfiAiICAgICAtLW9uZXNlY3RvciAgICAgICAgICAgb2Rkw61seSBzZSB2esOhamVtbsSbIG5lcMWZZWtyw712YWrDrVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk92ZXJyaWRlIHRoZSBkZXRlY3RlZCBnZW9tZXRyeSB1c2luZzpcbiIKKyN+ICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICBzZXQgdGhlIG51bWJlciBvZiBjeWxpbmRlcnMgdG8gdXNlXG4iCisjfiAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgc2V0IHRoZSBudW1iZXIgb2YgaGVhZHMgdG8gdXNlXG4iCisjfiAiIC1TLCAtLXNlY3RvcnMgPG51bWJlcj4gICAgc2V0IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyB0byB1c2VcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlDFmWViaWplIHpqacWhdMSbbm91IGdlb21ldHJpaSB0YWt0bzpcbiIKKyN+ICIgLUMsIC0tY3lsaW5kZXJzIDzEjcOtc2xvPiAgIG5hc3RhdsOtIHBvxI1ldCBjeWxpbmRyxa9cbiIKKyN+ICIgLUgsIC0taGVhZHMgPMSNw61zbG8+ICAgICAgIG5hc3RhdsOtIHBvxI1ldCBobGF2XG4iCisjfiAiIC1TLCAtLXNlY3RvcnMgPMSNw61zbG8+ICAgICBuYXN0YXbDrSBwb8SNZXQgc2VrdG9yxa9cbiIKKworI34gbXNnaWQgIiAlcyVzZGV2aWNlICAgICAgICAgICAgbGlzdCBhY3RpdmUgcGFydGl0aW9ucyBvbiBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiICVzJXN6YcWZw616ZW7DrSAgICAgICAgICB2eXDDrcWhZSBha3Rpdm7DrSBvZGTDrWx5IG5hIGRhbsOpbSB6YcWZw616ZW7DrVxuIgorCisjfiBtc2dpZCAiICVzJXNkZXZpY2UgbjEgbjIgLi4uICBhY3RpdmF0ZSBwYXJ0aXRpb25zIG4xIC4uLiwgaW5hY3RpdmF0ZSB0aGUgcmVzdFxuIgorI34gbXNnc3RyICIgJXMlc3phxZnDrXplbsOtIG4xIG4yIOKApiAgYWt0aXZ1amUgb2Rkw61seSBuMSwg4oCmLCBkZWFrdGl2dWplIG9zdGF0bsOtXG4iCisKKyN+IG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiBwYXJ0aXRpb25zIGFyZ3VtZW50IgorI34gbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnQgcG/EjXR1IG9kZMOtbMWvIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiJXMgbmVsemUgb3RldsWZw610LlxuIgorCisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLXByaW50LWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyIgorI34gbXNnc3RyICJQb3XFvml0w606IHNmZGlzayAtLXByaW50LWlkIHphxZnDrXplbsOtIMSNw61zbG9fb2Rkw61sdSIKKworI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1jaGFuZ2UtaWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIgSWQiCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogc2ZkaXNrIC0tY2hhbmdlLWlkIHphxZnDrXplbsOtIMSNw61zbG9fb2Rkw61sdSBJRCIKKworI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciBbSWRdIgorI34gbXNnc3RyICJQb3XFvml0w606IHNmZGlzayAtLWlkIHphxZnDrXplbsOtIMSNw61zbG9fb2Rkw61sdSBbSURdIgorCisjfiBtc2dpZCAiY2FuIHNwZWNpZnkgb25seSBvbmUgZGV2aWNlIChleGNlcHQgd2l0aCAtbCBvciAtcykiCisjfiBtc2dzdHIgIm3Fr8W+ZXRlIHphZGF0IHBvdXplIGplZG5vIHphxZnDrXplbsOtICh2w71qaW1rb3UganNvdSBwxZllcMOtbmHEjWUgLWwgYSAtcykiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyByZWFkLXdyaXRlIgorI34gbXNnc3RyICIlcyBuZWx6ZSBvdGV2xZnDrXQgcHJvIMSNdGVuw60gacKgesOhcGlzIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgZm9yIHJlYWRpbmciCisjfiBtc2dzdHIgIiVzIG5lbHplIG90ZXbFmcOtdCBwcm8gxI10ZW7DrSIKKworI34gbXNnaWQgIiVzOiBPSyIKKyN+IG1zZ3N0ciAiJXM6IE9LIgorCisjfiBtc2dpZCAiJXM6ICVsZCBjeWxpbmRlcnMsICVsZCBoZWFkcywgJWxkIHNlY3RvcnMvdHJhY2tcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCBjeWxpbmRyxa8sICVsZCBobGF2LCAlbGQgc2VrdG9yxa8vc3RvcHVcbiIKKworI34gbXNnaWQgImJhZCBhY3RpdmUgYnl0ZTogMHgleCBpbnN0ZWFkIG9mIDB4ODAiCisjfiBtc2dzdHIgImNoeWJuw70gYWt0aXZuw60gYmFqdDogMHgleCBtw61zdG8gMHg4MCIKKworI34gbXNnaWQgIkRvbmUiCisjfiBtc2dzdHIgIkhvdG92byIKKworI34gbXNnaWQgIiIKKyN+ICJZb3UgaGF2ZSAlZCBhY3RpdmUgcHJpbWFyeSBwYXJ0aXRpb25zLiBUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTyxcbiIKKyN+ICJidXQgdGhlIERPUyBNQlIgd2lsbCBvbmx5IGJvb3QgYSBkaXNrIHdpdGggMSBhY3RpdmUgcGFydGl0aW9uLiIKKyN+IG1zZ3N0ciAiIgorI34gIlBvxI1ldCBha3Rpdm7DrWNoIG9kZMOtbMWvIGplICVkLiBMSUxVIHRvIG5lxI1pbsOtIHByb2Jsw6lteSwgYWxlIERPUyBNQlJcbiIKKyN+ICJuYXN0YXJ0dWplIHBvdXplIHogZGlza3UgcyBqZWRuw61tIGFrdGl2bsOtbSBvZGTDrWxlbS4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgaGFzIGlkICV4IGFuZCBpcyBub3QgaGlkZGVuIgorI34gbXNnc3RyICJvZGTDrWwgJXMgbcOhIGlkICV4IGEgbmVuw60gc2tyeXTDvSIKKworI34gbXNnaWQgIkJhZCBJZCAlbHgiCisjfiBtc2dzdHIgIklEICVseCBqZSBjaHlibsOpIgorCisjfiBtc2dpZCAiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UuIgorI34gbXNnc3RyICJUZW50byBkaXNrIGplIHByw6F2xJsgcG91xb7DrXbDoW4uIgorCisjfiBtc2dpZCAiRmF0YWwgZXJyb3I6IGNhbm5vdCBmaW5kICVzIgorI34gbXNnc3RyICJGYXTDoWxuw60gY2h5YmE6ICVzIG5lbHplIG5hbMOpenQiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIlBvem9yOiAlcyBuZW7DrSBibG9rb3bDvW0gemHFmcOtemVuw61tIgorCisjfiBtc2dpZCAiT0siCisjfiBtc2dzdHIgIk9LIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGRvZXMgbm90IGV4aXN0LCBjYW5ub3QgY2hhbmdlIGl0IgorI34gbXNnc3RyICJEaXNrb3bDvSBvZGTDrWwgJWQgbmVleGlzdHVqZS4gTmVsemUgamVqIHptxJtuaXQiCisKKyN+IG1zZ2lkICIiCisjfiAiSSBkb24ndCBsaWtlIHRoZXNlIHBhcnRpdGlvbnMgLSBub3RoaW5nIGNoYW5nZWQuXG4iCisjfiAiKElmIHlvdSByZWFsbHkgd2FudCB0aGlzLCB1c2UgdGhlIC0tZm9yY2Ugb3B0aW9uLikiCisjfiBtc2dzdHIgIiIKKyN+ICJUb3RvIHJvemxvxb5lbsOtIG9kZMOtbMWvIHNlIG1pIG5lbMOtYsOtIC0gbmljIG5lYnVkZSB6bcSbbsSbbm8uXG4iCisjfiAiKFBva3VkIGplaiBvcHJhdmR1IGNoY2V0ZSBwb3XFvsOtdCwgcGFrIHphZGVqdGUgcMWZZXDDrW5hxI0gLS1mb3JjZS4pIgorCisjfiBtc2dpZCAiSSBkb24ndCBsaWtlIHRoaXMgLSBwcm9iYWJseSB5b3Ugc2hvdWxkIGFuc3dlciBObyIKKyN+IG1zZ3N0ciAiVG90byBzZSBtaSBuZWzDrWLDrSAtIG3Em2xpIGJ5c3RlIG9kcG92xJtkxJt0IE5lIgorCisjfiBtc2dpZCAiQXJlIHlvdSBzYXRpc2ZpZWQgd2l0aCB0aGlzPyBbeW5xXSAiCisjfiBtc2dzdHIgIlZ5aG92dWplIHbDoW0gdG8/IFthbnFdICIKKworI34gbXNnaWQgIlF1aXR0aW5nIC0gbm90aGluZyBjaGFuZ2VkIgorI34gbXNnc3RyICJLb27EjcOtIHNlwqDigJMgbmVieWx5IHXEjWluxJtueSDFvsOhZG7DqSB6bcSbbnkiCisKKyN+IG1zZ2lkICJQbGVhc2UgYW5zd2VyIG9uZSBvZiB5LG4scVxuIgorI34gbXNnc3RyICJPZHBvdsSbenRlIHByb3PDrW0gYSwgbiDEjWkgcVxuIgorCisjfiBtc2dpZCAiIgorI34gIlN1Y2Nlc3NmdWxseSB3cm90ZSB0aGUgbmV3IHBhcnRpdGlvbiB0YWJsZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiTm92w6EgdGFidWxrYSByb3pkxJtsZW7DrSBkaXNrdSBieWxhIMO6c3DEm8WhbsSbIHVsb8W+ZW5hLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIklmIHlvdSBjcmVhdGVkIG9yIGNoYW5nZWQgYSBET1MgcGFydGl0aW9uLCAvZGV2L2ZvbzcsIHNheSwgdGhlbiB1c2UgZGQoMSlcbiIKKyN+ICJ0byB6ZXJvIHRoZSBmaXJzdCA1MTIgYnl0ZXM6ICBkZCBpZj0vZGV2L3plcm8gb2Y9L2Rldi9mb283IGJzPTUxMiBjb3VudD0xXG4iCisjfiAiKFNlZSBmZGlzayg4KS4pIgorI34gbXNnc3RyICIiCisjfiAiUG9rdWQganN0ZSB2eXR2b8WZaWxpIMSNaSB6bcSbbmlsaSBuxJtqYWvDqSBET1NPVsOJIG9kZMOtbHkgLSBuYXDFmS4gL2Rldi9ibGE3LFxuIgorI34gInBvdcW+aWp0ZSBkZCgxKSBrIHZ5bnVsb3bDoW7DrSBwcnZuw61jaCA1MTIgYmFqdMWvOiAnZGQgaWY9L2Rldi96ZXJvIG9mPS9kZXYvYmxhN1xuIgorI34gImJzPTUxMiBjb3VudD0xJyAodml6IGZkaXNrKDgpKS4iCisKKyN+IG1zZ2lkICJJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueSBET1MgNi54IHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGZkaXNrIGRvY3VtZW50YXRpb24gZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICJQb2t1ZCBqc3RlIHZ5dHZvxZlpbGkgxI1pIHptxJtuaWxpIG7Em2pha8OpIERPUyA2Lnggb2Rkw61seSwgcMWZZcSNdMSbdGUgc2kgcHJvc8OtbSBuw6F2b2Qga8KgcHJvZ3JhbXUgZmRpc2ssIGFieXN0ZSB6w61za2FsaSBkYWzFocOtIGluZm9ybWFjZS4iCisKKyN+IG1zZ2lkICJmaWVsZCBpcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAicG9sb8W+a2EgamUgcMWZw61sacWhIGRsb3Vow6EiCisKKyN+IG1zZ2lkICIlczogJyVjJyBpcyBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJXM6IOKAniVj4oCcIG5lbsOtIHBvdm9sZW5vIgorCisjfiBtc2dpZCAiJyVjJyBpcyBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAi4oCeJWPigJwgbmVuw60gcG92b2xlbm8iCisKKyN+IG1zZ2lkICIlczogY29udHJvbCBjaGFyYWN0ZXJzIGFyZSBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJXM6IMWZw61kaWPDrSB6bmFreSBuZWpzb3UgcG92b2xlbnkiCisKKyN+IG1zZ2lkICJjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICJrb250cm9sbsOtIHpuYWt5IG5lanNvdSBwb3ZvbGVueSIKKworI34gbXNnaWQgIiAtbSwgLS1zdXBwLWdyb3VwcyAgICAgICAgZGlzcGxheSBzdXBwbGVtZW50YXJ5IGdyb3VwcyBhcyB3ZWxsXG4iCisjfiBtc2dzdHIgIiAtbSwgLS1zdXBwLWdyb3VwcyAgICAgICAgem9icmF6w60gcm92bsSbxb4gZG9wbMWIa292w6kgc2t1cGlueVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGRldGFpbHMgc2VlIGxzbG9naW5zKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUG9kcm9ibm9zdGkgbmFsZXpuZXRlIHbCoGxzbG9naW5zKDEpLlxuIgorCisjfiBtc2dpZCAiY3J5cHQoKSBmYWlsZWQiCisjfiBtc2dzdHIgInZvbMOhbsOtIGNyeXB0KCkgc2VsaGFsbyIKKworI34gbXNnaWQgIiVzOiBzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IHZvbMOhbsOtIHN0YXQgc2VsaGFsbyIKKworI34gbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFRoaXMgc21hbGwgdXNhZ2UgZ3VpZGVcbiIKKyN+IG1zZ3N0ciAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgVGF0byBtYWzDvSBwcsWvdm9kY2UgcG91xb5pdMOtbVxuIgorCisjfiBtc2dpZCAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgT3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKKyN+IG1zZ3N0ciAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVnlww63FoWUgw7pkYWplIG/CoHZlcnppXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgdXNlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIKKyN+ICIgLWQsIC0tYWxwaGFudW0gICAgICAgICBjb21wYXJlIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcbiIKKyN+ICIgLWYsIC0taWdub3JlLWNhc2UgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorI34gIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+IGRlZmluZSBzdHJpbmcgdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgcG91xb5pamUgbsOhaHJhZG7DrSBzbG92bsOta1xuIgorI34gIiAtZCwgLS1hbHBoYW51bSAgICAgICAgIHBvcm92bsOhdsOhIHBvdXplIHDDrXNtZW5hIGEgxI3DrXNsaWNlXG4iCisjfiAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgaWdub3J1amUgdmVsaWtvc3Qgem5ha8WvIHDFmWkgcG9yb3Zuw6F2w6Fuw61cbiIKKyN+ICIgLXQsIC0tdGVybWluYXRlIDx6bmFrPiB1csSNdWplIHpuYWsgemFrb27EjXVqw61jw60gxZnDoWRla1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIHpvYnJhesOtIMO6ZGFqZSBvwqB2ZXJ6aSBhIHNrb27EjcOtXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgem9icmF6w60gdHV0byBuw6Fwb3bEm2R1IGEgc2tvbsSNw61cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbmFtZWkoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJWw61jZSBpbmZvcm1hY8OtIG5hbGV6bmV0ZSB2wqBuYW1laSgxKS5cbiIKKworI34gbXNnaWQgIiVzOiBsc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiB2b2zDoW7DrSBsc3RhdCBzZWxoYWxvIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB3aXBlZnMoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJWw61jZSBpbmZvcm1hY8OtIG5hbGV6bmV0ZSB2ZSB3aXBlZnMoOCkuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHRhc2tzZXQoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJWw61jZSBpbmZvcm1hY8OtIG5hbGV6bmV0ZSB2wqB0YXNrc2V0KDEpLlxuIgorCisjfiBtc2dpZCAiJXM6IGlzIHJlbW92YWJsZSBkZXZpY2UiCisjfiBtc2dzdHIgIiVzOiBqZWRuw6Egc2Ugb8KgdsO9bcSbbm7DqSB6YcWZw616ZW7DrSIKKworI34gbXNnaWQgIiVzOiBjb25uZWN0ZWQgYnkgaG90cGx1ZyBzdWJzeXN0ZW06ICVzIgorI34gbXNnc3RyICIlczogcMWZaXBvamVubyBwb2RzeXN0w6ltZW0gaG90cGx1ZzogJXMiCisKKyN+IG1zZ2lkICJ0aW1lb3V0IGNhbm5vdCBiZSB6ZXJvIgorI34gbXNnc3RyICLEjWFzb3bDvSBsaW1pdCBuZW3Fr8W+ZSBiw710IG51bGEiCisKKyN+IG1zZ2lkICJOZWVkIHRvIGluc2VydCAlZCBzZWNvbmQgYW5kIHJlZmVyIHRpbWUgYmFjayAlLjZmIHNlY29uZHMgYWdvXG4iCisjfiBtc2dpZF9wbHVyYWwgIk5lZWQgdG8gaW5zZXJ0ICVkIHNlY29uZHMgYW5kIHJlZmVyIHRpbWUgYmFjayAlLjZmIHNlY29uZHMgYWdvXG4iCisjfiBtc2dzdHJbMF0gIkplIHTFmWViYSB2bG/Fvml0ICVkIHNla3VuZHUgYSDEjWFzIHZyw6F0aXQgenDEm3Qgb8KgJS42ZiBzZWt1bmRcbiIKKyN+IG1zZ3N0clsxXSAiSmUgdMWZZWJhIHZsb8W+aXQgJWQgc2VrdW5keSBhIMSNYXMgdnLDoXRpdCB6cMSbdCBvwqAlLjZmIHNla3VuZFxuIgorI34gbXNnc3RyWzJdICJKZSB0xZllYmEgdmxvxb5pdCAlZCBzZWt1bmQgYSDEjWFzIHZyw6F0aXQgenDEm3Qgb8KgJS42ZiBzZWt1bmRcbiIKKworI34gbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tIEtER0hXQ0xLIHRvIGNoYW5nZVxuIgorI34gbXNnc3RyICJWZSBzbXnEjWNlIHNlIHBva291xaHDrW0gemppc3RpdCDEjWFzIHBvbW9jw60gS0RHSFdDTEsuXG4iCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCB0byByZWFkIHRpbWUgZmFpbGVkIgorI34gbXNnc3RyICJ2b2zDoW7DrSBLREdIV0NMSyBpb2N0bCBzZWxoYWxvLiIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIHRvIHJlYWQgdGltZSBmYWlsZWQgaW4gbG9vcCIKKyN+IG1zZ3N0ciAidm9sw6Fuw60gS0RHSFdDTEsgaW9jdGwgdmUgc215xI1jZSBzZWxoYWxvLiIKKworI34gbXNnaWQgImlvY3RsKCkgZmFpbGVkIHRvIHJlYWQgdGltZSBmcm9tICVzIgorI34gbXNnc3RyICLEjWFzIHNlIHBvbW9jw60gdm9sw6Fuw60gaW9jdGwoKSBwcm8gJXMgbmVwb2RhxZlpbG8gemppc3RpdCIKKworI34gbXNnaWQgImlvY3RsIEtEU0hXQ0xLIGZhaWxlZCIKKyN+IG1zZ3N0ciAidm9sw6Fuw60gaW9jdGwgS0RTSFdDTEsgc2VsaGFsbyIKKworI34gbXNnaWQgIlVzaW5nIHRoZSBLREdIV0NMSyBpbnRlcmZhY2UgdG8gbTY4ayBjbG9jay4iCisjfiBtc2dzdHIgIlBybyBob2RpbnkgbTY4ayBzZSBwb3XFvmlqZSByb3pocmFuw60gS0RHSFdDTEsuIgorCisjfiBtc2dpZCAiQ2FuJ3Qgb3BlbiAvZGV2L3R0eTEgb3IgL2Rldi92Yy8xIgorI34gbXNnc3RyICIvZGV2L3R0eTEgYW5pIC9kZXYvdmMvMSBuZWx6ZSBvdGV2xZnDrXQiCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgInZvbMOhbsOtIGlvY3RsIEtER0hXQ0xLIHNlbGhhbG8iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgZGV0YWlscyBzZWUgbHNjcHUoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQb2Ryb2Jub3N0aSBuYWxlem5ldGUgdsKgbHNjcHUoMSkuXG4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJncy4uLl1cbiIKKyN+IG1zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIDxwcm9ncmFtPiBbYXJndW1lbnTigKZdXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKKyN+ICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorI34gIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorI34gIiAtdSwgLS11c2VyIDxuYW1lfGlkPiAgIGludGVycHJldCBhcmd1bWVudCBhcyB1c2VybmFtZSBvciB1c2VyIElEXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZywgLS1wZ3JwIDxJRD4gICAgICAgIGludGVycHJldHVqZSBhcmd1bWVudCBqYWtvIElEIHNrdXBpbnkgcHJvY2Vzxa9cbiIKKyN+ICIgLW4sIC0tcHJpb3JpdHkgPMSNw61zbG8+IG5hc3RhdsOtIHDFmcOtcsWvc3RlayBob2Rub3R5IG5pY2VcbiIKKyN+ICIgLXAsIC0tcGlkIDxJRD4gICAgICAgICBpbnRlcnByZXR1amUgYXJndW1lbnQgamFrbyBJRCBwcm9jZXN1ICh2w71jaG96w60pXG4iCisjfiAiIC11LCAtLXVzZXIgPGptw6lub3xJRD4gIGludGVycHJldHVqZSBhcmd1bWVudCBqYWtvIHXFvml2YXRlbHNrw6kgam3DqW5vIG5lYm8gSURcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICB6b2JyYXrDrSBuw6Fwb3bEm2R1IGEgc2tvbsSNw61cbiIKKyN+ICIgLXYsIC0tdmVyc2lvbiAgICAgICAgICB6b2JyYXrDrSDDumRhamUgb8KgdmVyemkgYSBza29uxI3DrVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSByZW5pY2UoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJWw61jZSBpbmZvcm1hY8OtIG5hbGV6bmV0ZSB2wqByZWluY2UoMSkuXG4iCisKKyN+IG1zZ2lkICIgJXMlcyBbb3B0aW9uc10gW3Byb2dyYW0gW3Byb2dyYW0gYXJndW1lbnRzXV1cbiIKKyN+IG1zZ3N0ciAiJXMlcyBbcMWZZXDDrW5hxI1lXSBbcHJvZ3JhbSBbYXJndW1lbnR5X3Byb2dyYW11XV1cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorI34gIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgc2lsZW50bHkgc2tpcCBkZXZpY2VzIHRoYXQgZG8gbm90IGV4aXN0XG4iCisjfiAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICByZWluaXRpYWxpemUgdGhlIHN3YXAgc3BhY2UgaWYgbmVjZXNzYXJ5XG4iCisjfiAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBzcGVjaWZ5IHRoZSBwcmlvcml0eSBvZiB0aGUgc3dhcCBkZXZpY2VcbiIKKyN+ICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIGRpc3BsYXkgc3VtbWFyeSBhYm91dCB1c2VkIHN3YXAgZGV2aWNlcyAoREVQUkVDQVRFRClcbiIKKyN+ICIgICAgIC0tc2hvd1s9PGNvbHVtbnM+XSAgIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKKyN+ICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzLCB1c2Ugd2l0aCAtLXNob3dcbiIKKyN+ICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQsIHVzZSB3aXRoIC0tc2hvd1xuIgorI34gIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHNpemUgaW4gYnl0ZXMgaW4gLS1zaG93IG91dHB1dFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgemFwbmUgdsWhZWNobnkgb2RrbMOhZGFjw60gb2JsYXN0aSB1dmVkZW7DqSB2wqAvZXRjL2ZzdGFiXG4iCisjfiAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpdGlrYT5dXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgIHphcG5lIHphaGF6b3bDoW7DrSBzdHLDoW5laywgamUtbGkgcG9kcG9yb3bDoW5vIHphxZnDrXplbsOtbVxuIgorI34gIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICB2wqB0aWNob3N0aSBwxZllc2tvxI3DrSBuZWV4aXN0dWrDrWPDrSB6YcWZw616ZW7DrVxuIgorI34gIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICB6bm92dSBpbmljaWFsaXp1amUgb2RrbMOhZGFjw60gb2JsYXN0LCBqZS1saSB0byBudXRuw6lcbiIKKyN+ICIgLXAsIC0tcHJpb3JpdHkgPHByaW9yaXRhPlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICB1csSNw60gcHJpb3JpdHUgb2RrbMOhZGFjw61obyB6YcWZw616ZW7DrVxuIgorI34gIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICB6b2JyYXrDrSBwxZllaGxlZCBvwqBwb3XFvml0w71jaCBvZGtsw6FkYWPDrWNoIHphxZnDrXplbsOtY2hcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgKFpBU1RBUkFMw4kpXG4iCisjfiAiICAgICAtLXNob3dbPTxzbG91cGNlPl0gIHpvYnJhesOtIHDFmWVobGVkIHBvZGxlIGRlZmluaWNlXG4iCisjfiAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgIG5lem9icmF6w60gesOhaGxhdsOtLCBwb3XFvmlqdGUgc8KgLS1zaG93XG4iCisjfiAiICAgICAtLXJhdyAgICAgICAgICAgICAgIG5lZm9ybcOhdG92YW7DvSB2w71zdHVwLCBwb3XFvmlqdGUgc8KgLS1zaG93XG4iCisjfiAiICAgICAtLWJ5dGVzICAgICAgICAgICAgIHpvYnJhesOtIHZlbGlrb3N0aSB2wqBiYWp0ZWNoIHZlIHbDvXN0dXB1IC0tc2hvd1xuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICB1cG92w61kYW7DvSByZcW+aW1cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICB6b2JyYXrDrSDDumRhamUgb8KgdmVyemkgYSBza29uxI3DrVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIHpvYnJhesOtIHR1dG8gbsOhcG92xJtkdSBhIHNrb27EjcOtXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQb3XFvml0w606XG4iCisjfiAiICVzIFtQxZhFUMONTkHEjEVdIFtTT1VCT1LigKZdXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC0sICAtLW5vLXVuZGVybGluaW5nICBzdXBwcmVzcyBhbGwgdW5kZXJsaW5pbmdcbiIKKyN+ICIgLTIsIC0taGFsZi1saW5lcyAgICAgIHByaW50IGFsbCBoYWxmLWxpbmVzXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtLCAgLS1uby11bmRlcmxpbmluZyAgcG90bGHEjcOtIHbFoWVjaG5hIHBvZHRyxb5lbsOtXG4iCisjfiAiIC0yLCAtLWhhbGYtbGluZXMgICAgICB6b2JyYXrDrSB2xaFlY2hueSBwxa9sxZnDoWRreVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgIHpvYnJhesOtIHR1dG8gbsOhcG92xJtkdSBhIHNrb27EjcOtXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUMWZZXDDrW5hxI1lOlxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyN+ICIgLWgsIC0taGVscCAgICAgIHpvYnJhesOtIHR1dG8gbsOhcG92xJtkdSBhIHNrb27EjcOtXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJjYWxsaW5nIGhleGR1bXAgYXMgb2QgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBmYXZvciBvZiBHTlUgY29yZXV0aWxzIG9kIgorI34gbXNnc3RyICJWb2zDoW7DrSBoZXhkdW1wIHZlIHN0eWx1IG9kIGJ5bG8gcHJvaGzDocWhZW5vIHphIHphc3RhcmFsw6kgdmUgcHJvc3DEm2NoIOKAnm9k4oCcIHrCoEdOVSBjb3JldXRpbHMiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUMWZZXDDrW5hxI1lOlxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyN+ICIgLWgsIC0taGVscCAgICAgIHpvYnJhesOtIHR1dG8gbsOhcG92xJtkdSBhIHNrb27EjcOtXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHJldigxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlbDrWNlIGluZm9ybWFjw60gbmFsZXpuZXRlIHbCoHJldigxKS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbl0gZmlsZVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUG91xb5pdMOtOlxuIgorI34gIiAlcyBbUMWYRVDDjU5BxIxdIFNPVUJPUlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1uLCAtLWxpbmVzIE5VTUJFUiAgb3V0cHV0IHRoZSBsYXN0IE5VTUJFUiBsaW5lc1xuIgorI34gIiAtTlVNQkVSICAgICAgICAgICAgIHNhbWUgYXMgYC1uIE5VTUJFUidcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQxZllcMOtbmHEjTpcbiIKKyN+ICIgLW4sIC0tbGluZXMgUE/EjEVUICAgdnlww63FoWUgcG9zbGVkbsOtY2ggUE/EjEVUIMWZw6Fka8WvXG4iCisjfiAiIC3EjMONU0xPICAgICAgICAgICAgICBzdGVqbsOpIGpha28g4oCeLW4gxIzDjVNMT+KAnFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgIHpvYnJhesOtIMO6ZGFqZSBvwqB2ZXJ6aSBhIHNrb27EjcOtXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgem9icmF6w60gdHV0byBuw6Fwb3bEm2R1IGEgc2tvbsSNw61cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZmlsZVxuIgorI34gbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gc291Ym9yXG4iCisKKyN+IG1zZ2lkICJhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKKyN+IG1zZ3N0ciAic2UgdnrDoWplbW7EmyB2eWx1xI11asOtLiIKKworI34gbXNnaWQgImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzLiIKKyN+IG1zZ3N0ciAibcSbbml0IGx6ZSBwb3V6ZSBtw61zdG7DrSB6w6F6bmFteS4iCisKKyN+IG1zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZSBzdGFtcCB1c2luZyBmb3JtYXQ6XG4iCisjfiBtc2dzdHIgIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybcOhdD4gIHpvYnJhenVqZSDEjWFzb3bDqSDDumRhamUgcG9kbGUgZGFuw6lobyBmb3Jtw6F0dTpcbiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm90aW1lfHNob3J0fGZ1bGx8aXNvXVxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub3RpbWV8c2hvcnR8ZnVsbHxpc29dXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiZXogxI1hc3UsIHprcsOhY2Vuw70sIGNlbMO9LCBJU08pXG4iCisKKyN+IG1zZ2lkICJDT01NQU5EIG5vdCBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJuZXphZMOhbiDFvsOhZG7DvSBQxZjDjUtBWi4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIHBhdGhuYW1lIFtwYXRobmFtZSAuLi5dXG4iCisjfiBtc2dzdHIgIiAlcyBbUMWYRVDDjU5BxIxFXSBOw4FaRVZfQ0VTVFkgW07DgVpFVl9DRVNUWeKApl1cbiIKKworI34gbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIm5lemFkw6FuIG7DoXpldiBzb3Vib3J1LiIKKworI34gbXNnaWQgIi4uLmJhY2sgMSBwYWdlIgorI34gbXNnc3RyICLigKZwxZllc2tha3VqaSB6cMSbdCBvIDEgc3RyYW51IgorCisjfiBtc2dpZCAiLi4uc2tpcHBpbmcgb25lIGxpbmUiCisjfiBtc2dzdHIgIuKApXDFmWVza2FrdWppIG/CoGplZGVuIMWZw6FkZWsiCisKKyN+IG1zZ2lkICJ3YWlkcGlkIGZhaWxlZCIKKyN+IG1zZ3N0ciAidm9sw6Fuw60gd2FpdHBpZCBzZWxoYWxvIgorCisjfiBtc2dpZCAiIC14LCAtLWRlc3RpbmF0aW9uIDxkaXI+ICBleHRyYWN0IGludG8gZGlyZWN0b3J5XG4iCisjfiBtc2dzdHIgIiAteCwgLS1kZXN0aW5hdGlvbiA8YWRyZXPDocWZPiAgdnliYWzDrSBkbyBhZHJlc8OhxZllXG4iCisKKyN+IG1zZ2lkICJjb21waWxlZCB3aXRob3V0IC14IHN1cHBvcnQiCisjfiBtc2dzdHIgInDFmWVsb8W+ZW5vIGJleiBwb2Rwb3J5IHBybyAteCIKKworI34gbXNnaWQgIiVzOiBPdXQgb2YgbWVtb3J5IVxuIgorI34gbXNnc3RyICIlczogTmVkb3N0YXRlayBwYW3Em3RpIVxuIgorCisjfiBtc2dpZCAiVW51c2FibGUiCisjfiBtc2dzdHIgIk5lcG91xb5pdGVsbsOpIgorCisjfiBtc2dpZCAid3JpdGUgZmFpbGVkXG4iCisjfiBtc2dzdHIgInrDoXBpcyBzZWxoYWxcbiIKKworI34gbXNnaWQgIkRpc2sgaGFzIGJlZW4gY2hhbmdlZC5cbiIKKyN+IG1zZ3N0ciAiTmEgZGlza3UgYnlseSBwcm92ZWRlbnkgem3Em255LlxuIgorCisjfiBtc2dpZCAiUmVib290IHRoZSBzeXN0ZW0gdG8gZW5zdXJlIHRoZSBwYXJ0aXRpb24gdGFibGUgaXMgY29ycmVjdGx5IHVwZGF0ZWQuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJSZXN0YXJ0dWp0ZSBzeXN0w6ltLCBhYnkgYnlsYSBqaXN0b3RhLCDFvmUgdGFidWxrYSByb3pkxJtsZW7DrSBkaXNrdSBieWxhXG4iCisjfiAia29yZWt0bsSbIHptxJtuxJtuYS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueVxuIgorI34gIkRPUyA2LnggcGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgY2ZkaXNrIG1hbnVhbFxuIgorI34gInBhZ2UgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJWQVJPVsOBTsONOiBQb2t1ZCBqc3RlIHZ5dHZvxZlpbGkgxI1pIHptxJtuaWxpIG7Em2pha8OpXG4iCisjfiAiRE9TIDYueCBvZGTDrWx5LCBwxZllxI10xJt0ZSBzaSBwcm9zw61tIG7DoXZvZCBrwqBwcm9ncmFtdVxuIgorI34gImNmZGlzaywgYWJ5c3RlIHrDrXNrYWxpIGRhbMWhw60gaW5mb3JtYWNlLlxuIgorCisjfiBtc2dpZCAiRkFUQUwgRVJST1IiCisjfiBtc2dzdHIgIk5FUMWYRUtPTkFURUxOw4EgQ0hZQkEiCisKKyN+IG1zZ2lkICJQcmVzcyBhbnkga2V5IHRvIGV4aXQgY2ZkaXNrIgorI34gbXNnc3RyICJTdGlza27Em3RlIGpha291a29saXYga2zDoXZlc3UgcHJvIHVrb27EjWVuw60gcHJvZ3JhbXUgY2ZkaXNrIgorCisjfiBtc2dpZCAiQ2Fubm90IHNlZWsgb24gZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiUG8gZGlza292w6kgbWVjaGFuaWNlIHNlIG5lbHplIHBvaHlib3ZhdCIKKworI34gbXNnaWQgIkNhbm5vdCByZWFkIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIlrCoGRpc2tvdsOpIG1lY2hhbmlreSBuZWx6ZSDEjcOtc3QiCisKKyN+IG1zZ2lkICJDYW5ub3Qgd3JpdGUgZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiRG8gZGlza292w6kgbWVjaGFuaWt5IG5lbHplIHphcGlzb3ZhdCIKKworI34gbXNnaWQgIlRvbyBtYW55IHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIlDFmcOtbGnFoSBtbm9obyBvZGTDrWzFryIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBiZWdpbnMgYmVmb3JlIHNlY3RvciAwIgorI34gbXNnc3RyICJPZGTDrWwgemHEjcOtbsOhIHDFmWVkIHNla3RvcmVtIDAiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIk9kZMOtbCBrb27EjcOtIHDFmWVkIHNla3RvcmVtIDAiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gYmVnaW5zIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICJPZGTDrWwgemHEjcOtbsOhIHphIGtvbmNlbSBkaXNrdSIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICJPZGTDrWwga29uxI3DrSB6YSBrb25jZW0gZGlza3UiCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgbm90IGluIGRpc2sgb3JkZXIiCisjfiBtc2dzdHIgImxvZ2lja8OpIG9kZMOtbHkgbmVvZHBvdsOtZGFqw60gcG/FmWFkw60gbmEgZGlza3UiCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAibG9naWNrw6kgb2Rkw61seSBzZSBwxZlla3LDvXZhasOtIgorCisjfiBtc2dpZCAiZW5sYXJnZWQgbG9naWNhbCBwYXJ0aXRpb25zIG92ZXJsYXAiCisjfiBtc2dzdHIgInp2xJt0xaFlbsOpIGxvZ2lja8OpIG9kZMOtbHkgc2UgcMWZZWtyw712YWrDrSIKKworI34gbXNnaWQgIiEhISEgSW50ZXJuYWwgZXJyb3IgY3JlYXRpbmcgbG9naWNhbCBkcml2ZSB3aXRoIG5vIGV4dGVuZGVkIHBhcnRpdGlvbiAhISEhIgorI34gbXNnc3RyICIhISEhIFZuaXTFmW7DrSBjaHliYSBwxZlpIHZ5dHbDocWZZW7DrSBsb2dpY2vDqWhvIGRpc2t1IGJleiByb3rFocOtxZllbsO9Y2ggb2Rkw61sxa8gISEhISIKKworI34gbXNnaWQgIkNhbm5vdCBjcmVhdGUgbG9naWNhbCBkcml2ZSBoZXJlIC0tIHdvdWxkIGNyZWF0ZSB0d28gZXh0ZW5kZWQgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiWmRlIG5lbHplIHZ5dHZvxZlpdCBsb2dpY2vDvSBkaXNrwqDigJMgdnpuaWtseSBieSBkdmEgcm96xaHDrcWZZW7DqSBvZGTDrWx5IgorCisjfiBtc2dpZCAiTWVudSBpdGVtIHRvbyBsb25nLiBNZW51IG1heSBsb29rIG9kZC4iCisjfiBtc2dzdHIgIlBvbG/FvmthIG5hYsOtZGt5IGplIHDFmcOtbGnFoSBkbG91aMOhLiBOYWLDrWRrYSBtxa/FvmUgdnlwYWRhdCBwb2Rpdm7Emy4iCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGtleSIKKyN+IG1zZ3N0ciAiQ2h5Ym7DoSBrbMOhdmVzYSIKKworI34gbXNnaWQgIkNyZWF0ZSBhIG5ldyBwcmltYXJ5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiVnl0dm/FmWl0IG5vdsO9IHByaW3DoXJuw60gb2Rkw61sIgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IGxvZ2ljYWwgcGFydGl0aW9uIgorI34gbXNnc3RyICJWeXR2b8WZaXQgbm92w70gbG9naWNrw70gb2Rkw61sIgorCisjfiBtc2dpZCAiQ2FuY2VsIgorI34gbXNnc3RyICJacnXFoWl0IgorCisjfiBtc2dpZCAiRG9uJ3QgY3JlYXRlIGEgcGFydGl0aW9uIgorI34gbXNnc3RyICJOZXZ5dHbDocWZZXQgb2Rkw61sIgorCisjfiBtc2dpZCAiISEhIEludGVybmFsIGVycm9yICEhISIKKyN+IG1zZ3N0ciAiISEhIFZuaXTFmW7DrSBjaHliYSAhISEiCisKKyN+IG1zZ2lkICJTaXplIChpbiBNQik6ICIKKyN+IG1zZ3N0ciAiVmVsaWtvc3QgKHYgTUIpOiAiCisKKyN+IG1zZ2lkICJCZWdpbm5pbmciCisjfiBtc2dzdHIgIlphxI3DoXRlayIKKworI34gbXNnaWQgIkFkZCBwYXJ0aXRpb24gYXQgYmVnaW5uaW5nIG9mIGZyZWUgc3BhY2UiCisjfiBtc2dzdHIgIlDFmWlkYXQgb2Rkw61sIG5hIHphxI3DoXRlayB2b2xuw6lobyBwcm9zdG9ydSIKKworI34gbXNnaWQgIkFkZCBwYXJ0aXRpb24gYXQgZW5kIG9mIGZyZWUgc3BhY2UiCisjfiBtc2dzdHIgIlDFmWlkYXQgb2Rkw61sIG5hIGtvbmVjIHZvbG7DqWhvIHByb3N0b3J1IgorCisjfiBtc2dpZCAiTm8gcm9vbSB0byBjcmVhdGUgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiUHJvIHJvesWhw63FmWVuw70gb2Rkw61sIG5lbsOtIGRvc3RhdGVrIG3DrXN0YSIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbiB0YWJsZS4gU3RhcnRpbmcgd2l0aCB6ZXJvIHRhYmxlLiIKKyN+IG1zZ3N0ciAiQ2h5YsOtIHRhYnVsa2Egcm96ZMSbbGVuw60gZGlza3UuIFphxI3DrW7DoW0gc8KgcHLDoXpkbm91IHRhYnVsa291LiIKKworI34gbXNnaWQgIkJhZCBzaWduYXR1cmUgb24gcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJDaHlibsOhIHNpZ25hdHVyYSB0YWJ1bGt5IHJvemTEm2xlbsOtIGRpc2t1IgorCisjfiBtc2dpZCAiVW5rbm93biBwYXJ0aXRpb24gdGFibGUgdHlwZSIKKyN+IG1zZ3N0ciAiTmV6bsOhbcO9IHR5cCB0YWJ1bGt5IHJvemTEm2xlbsOtIGRpc2t1IgorCisjfiBtc2dpZCAiRG8geW91IHdpc2ggdG8gc3RhcnQgd2l0aCBhIHplcm8gdGFibGUgW3kvTl0gPyIKKyN+IG1zZ3N0ciAiUMWZZWpldGUgc2kgemHEjcOtdCBzwqBwcsOhemRub3UgdGFidWxrb3UgW2EvTl0/IgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiRGlzayBuZWx6ZSBvdGV2xZnDrXQiCisKKyN+IG1zZ2lkICJPcGVuZWQgZGlzayByZWFkLW9ubHkgLSB5b3UgaGF2ZSBubyBwZXJtaXNzaW9uIHRvIHdyaXRlIgorI34gbXNnc3RyICJEaXNrIGJ5bCBvdGV2xZllbiBwb3V6ZSBwcm8gxI10ZW7DrSAtIG5lbcOhdGUgcHLDoXZhIHBybyB6w6FwaXMiCisKKyN+IG1zZ2lkICJDYW5ub3QgZ2V0IGRpc2sgc2l6ZSIKKyN+IG1zZ3N0ciAiVmVsaWtvc3QgZGlza3UgbmVsemUgemppc3RpdCIKKworI34gbXNnaWQgIkJhZCBwcmltYXJ5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiQ2h5Ym7DvSBwcmltw6FybsOtIG9kZMOtbCIKKworI34gbXNnaWQgIldhcm5pbmchISAgVGhpcyBtYXkgZGVzdHJveSBkYXRhIG9uIHlvdXIgZGlzayEiCisjfiBtc2dzdHIgIlZhcm92w6Fuw60hISBUb3RvIG3Fr8W+ZSB2w6lzdCBrZSB6bmnEjWVuw60gZGF0IG5hIFZhxaFlbSBkaXNrdSEiCisKKyN+IG1zZ2lkICJQbGVhc2UgZW50ZXIgYHllcycgb3IgYG5vJyIKKyN+IG1zZ3N0ciAiWmFkZWp0ZSDigJ5hbm/igJwgxI1pIOKAnm5l4oCcIgorCisjfiBtc2dpZCAiV3JpdGluZyBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4uLiIKKyN+IG1zZ3N0ciAiVWtsw6Fkw6FtIHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3UgbmEgZGlza+KApiIKKworI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrIgorI34gbXNnc3RyICJUYWJ1bGthIHJvemTEm2xlbsOtIGRpc2t1IGJ5bGEgdWxvxb5lbmEgbmEgZGlzayIKKworI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSwgYnV0IHJlLXJlYWQgdGFibGUgZmFpbGVkLiAgUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB0byB1cGRhdGUgdGFibGUuIgorI34gbXNnc3RyICIiCisjfiAiVGFidWxrYSByb3pkxJtsZW7DrSBkaXNrdSBieWxhIHVsb8W+ZW5hLCBhbGUgbmVwb2RhxZlpbG8gc2Ugamkgem5vdnUgbmHEjcOtc3QuXG4iCisjfiAiQWJ5IHNlIHRhYnVsa2EgYWt0dWFsaXpvdmFsYSwgc3B1c8WldGUgcGFydHByb2JlKDgpLCBrcGFydHgoOCkgbmVib1xuIgorI34gInJlc3RhcnR1anRlIHN5c3TDqW0uIgorCisjfiBtc2dpZCAiTm8gcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBtYXJrZWQgYm9vdGFibGUuIERPUyBNQlIgY2Fubm90IGJvb3QgdGhpcy4iCisjfiBtc2dzdHIgIsW9w6FkbsO9IHByaW3DoXJuw60gb2Rkw61sIG5lbsOtIHN0YXJ0b3ZhY8OtLiBET1MgTUJSIHRha3RvIG5lbmFzdGFydHVqZS4iCisKKyN+IG1zZ2lkICJNb3JlIHRoYW4gb25lIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZS4gRE9TIE1CUiBjYW5ub3QgYm9vdCB0aGlzLiIKKyN+IG1zZ3N0ciAiVsOtY2UgbmXFviBqZWRlbiBwcmltw6FybsOtIG9kZMOtbCBqZSBzdGFydG92YWPDrS4gRE9TIE1CUiB0YWt0byBuZW5hc3RhcnR1amUuIgorCisjfiBtc2dpZCAiRW50ZXIgZmlsZW5hbWUgb3IgcHJlc3MgUkVUVVJOIHRvIGRpc3BsYXkgb24gc2NyZWVuOiAiCisjfiBtc2dzdHIgIlphZGVqdGUgbsOhemV2IHNvdWJvcnUgxI1pIHN0aXNrbsSbdGUgUkVUVVJOIHBybyB6b2JyYXplbsOtOiAiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlc1xuIgorI34gbXNnc3RyICJEaXNrOiAlc1xuIgorCisjfiBtc2dpZCAiU2VjdG9yIDA6XG4iCisjfiBtc2dzdHIgIlNla3RvciAwOlxuIgorCisjfiBtc2dpZCAiU2VjdG9yICVkOlxuIgorI34gbXNnc3RyICJTZWt0b3IgJWQ6XG4iCisKKyN+IG1zZ2lkICIgICBOb25lICAgIgorI34gbXNnc3RyICIgIMW9w6FkbsO9ICAiCisKKyN+IG1zZ2lkICIgICBQcmkvTG9nIgorI34gbXNnc3RyICIgIFByaS9Mb2ciCisKKyN+IG1zZ2lkICIgICBQcmltYXJ5IgorI34gbXNnc3RyICIgIFByaW3DoXJuw60iCisKKyN+IG1zZ2lkICIgICBMb2dpY2FsIgorI34gbXNnc3RyICIgIExvZ2lja8O9IgorCisjfiBtc2dpZCAiKCUwMlgpIgorI34gbXNnc3RyICIoJTAyWCkiCisKKyN+IG1zZ2lkICJOb25lIgorI34gbXNnc3RyICJOaWMiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gVGFibGUgZm9yICVzXG4iCisjfiBtc2dzdHIgIlRhYnVsa2Egcm96ZMSbbGVuw60gZGlza3UgcHJvICVzXG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICBGaXJzdCAgICAgICBMYXN0XG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBQcnZuw60gICAgICAgUG9zbGVkbsOtXG4iCisKKyN+IG1zZ2lkICIgIyBUeXBlICAgICAgIFNlY3RvciAgICAgIFNlY3RvciAgIE9mZnNldCAgICBMZW5ndGggICBGaWxlc3lzdGVtIFR5cGUgKElEKSBGbGFnXG4iCisjfiBtc2dzdHIgIiAjIFR5cCAgICAgICBzZWt0b3IgICAgICBzZWt0b3IgICAgUG9zdW4gICAgIETDqWxrYSAgICBJRCBzeXN0w6ltdSBzb3Vib3LFryAgIFDFmcOtelxuIgorCisjfiBtc2dpZCAiLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLVxuIgorI34gbXNnc3RyICItLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tXG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAtLS1TdGFydGluZy0tLS0gICAgICAtLS0tRW5kaW5nLS0tLS0gICAgU3RhcnQgICAgIE51bWJlciBvZlxuIgorI34gbXNnc3RyICIgICAgICAgICAtLS0tUG/EjcOhdGVrLS0tLSAgICAgIC0tLS0tS29uZWMtLS0tLSAgUG/EjcOhdGXEjW7DrSAgICBQb8SNZXRcbiIKKworI34gbXNnaWQgIiAjIEZsYWdzIEhlYWQgU2VjdCAgQ3lsICAgSUQgIEhlYWQgU2VjdCAgQ3lsICAgICBTZWN0b3IgICAgU2VjdG9yc1xuIgorI34gbXNnc3RyICIgIyBQxZnDrXouIEhsYXYgU2VrdCBDeWwuICAgSUQgIEhsYXYgU2VrdCBDeWwuICAgICBTZWt0b3IgICAgU2VrdG9yxa9cbiIKKworI34gbXNnaWQgIi0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLVxuIgorI34gbXNnc3RyICItLSAtLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS1cbiIKKworI34gbXNnaWQgIlJhdyIKKyN+IG1zZ3N0ciAiUMWZw61tw70iCisKKyN+IG1zZ2lkICJQcmludCB0aGUgdGFibGUgdXNpbmcgcmF3IGRhdGEgZm9ybWF0IgorI34gbXNnc3RyICJWeXRpc2tub3V0IHRhYnVsa3UgdiBwxZnDrW3DqW0gZGF0b3bDqW0gZm9ybcOhdHUiCisKKyN+IG1zZ2lkICJQcmludCB0aGUgdGFibGUgb3JkZXJlZCBieSBzZWN0b3JzIgorI34gbXNnc3RyICJWeXRpc2tub3V0IHRhYnVsa3Ugc2XFmWF6ZW5vdSBkbGUgc2VrdG9yxa8iCisKKyN+IG1zZ2lkICJUYWJsZSIKKyN+IG1zZ3N0ciAiVGFidWxrYSIKKworI34gbXNnaWQgIkp1c3QgcHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiVnl0aXNrbm91dCBwb3V6ZSB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2t1IgorCisjfiBtc2dpZCAiRG9uJ3QgcHJpbnQgdGhlIHRhYmxlIgorI34gbXNnc3RyICJOZXRpc2tub3V0IHRhYnVsa3UiCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMTk5OSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIiCisjfiBtc2dzdHIgIkNvcHlyaWdodCDCqSAxOTk04oCTMTk5OSBLZXZpbiBFLuKAr01hcnRpbiAmIGFlYiIKKworI34gbXNnaWQgIiAgZyAgICAgICAgICBDaGFuZ2UgY3lsaW5kZXJzLCBoZWFkcywgc2VjdG9ycy1wZXItdHJhY2sgcGFyYW1ldGVycyIKKyN+IG1zZ3N0ciAiICBnICAgICAgICAgIFptxJtuw60gZ2VvbWV0cmlpIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFdBUk5JTkc6IFRoaXMgb3B0aW9uIHNob3VsZCBvbmx5IGJlIHVzZWQgYnkgcGVvcGxlIHdobyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIFZBUk9Ww4FOw406IFRhdG8gdm9sYmEgYnkgbcSbbGEgYsO9dCBwb3XFvsOtdsOhbmEgcG91emUgbGlkbWksIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGtub3cgd2hhdCB0aGV5IGFyZSBkb2luZy4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBrdGXFmcOtIHbEm2TDrSwgY28gxI1pbsOtLiIKKworI34gbXNnaWQgIiAgbSAgICAgICAgICBNYXhpbWl6ZSBkaXNrIHVzYWdlIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICBtICAgICAgICAgIE1heGltw6FsbsSbIHp2xJt0xaHDrSBha3R1w6FsbsOtIG9kZMOtbCAiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgTm90ZTogVGhpcyBtYXkgbWFrZSB0aGUgcGFydGl0aW9uIGluY29tcGF0aWJsZSB3aXRoIgorI34gbXNnc3RyICIgICAgICAgICAgICAgUG96bsOhbWthOiBUb3RvIG3Fr8W+ZSB1xI1pbml0IG9kZMOtbCBuZWtvbXBhdGliaWxuw60iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgRE9TLCBPUy8yLCAuLi4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBzwqBET1MsIE9TLzIsIOKApiIKKworI34gbXNnaWQgIiAgcCAgICAgICAgICBQcmludCBwYXJ0aXRpb24gdGFibGUgdG8gdGhlIHNjcmVlbiBvciB0byBhIGZpbGUiCisjfiBtc2dzdHIgIiAgcCAgICAgICAgICBWeXDDrcWhZSB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2t1IG5hIG9icmF6b3ZrdSDEjWkgZG8gc291Ym9ydSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBUaGVyZSBhcmUgc2V2ZXJhbCBkaWZmZXJlbnQgZm9ybWF0cyBmb3IgdGhlIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIFDFmWkgdsO9cGlzdSB0YWJ1bGt5IHJvemTEm2xlbsOtIGRpc2t1IHNpIG3Fr8W+ZXRlIHp2b2xpdCIKKworI34gbXNnaWQgIiAgICAgICAgICAgICB0aGF0IHlvdSBjYW4gY2hvb3NlIGZyb206IgorI34gbXNnc3RyICIgICAgICAgICAgICAgeiBuxJtrb2xpa2EgZm9ybcOhdMWvOiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICByIC0gUmF3IGRhdGEgKGV4YWN0bHkgd2hhdCB3b3VsZCBiZSB3cml0dGVuIHRvIGRpc2spIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgciAtIFDFmcOtbcO9IChwxZllc27EmyB0bywgY28gYnkgYnlsbyB6YXBzw6FubyBuYSBkaXNrKSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICBzIC0gVGFibGUgb3JkZXJlZCBieSBzZWN0b3JzIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFRhYnVsa2Egc2XFmWF6ZW7DoSBkbGUgc2VrdG9yxa8iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgdCAtIFRhYmxlIGluIHJhdyBmb3JtYXQiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICB0IC0gVGFidWxrYSB2IHDFmcOtbcOpbSBmb3Jtw6F0dSIKKworI34gbXNnaWQgIiAgdSAgICAgICAgICBDaGFuZ2UgdW5pdHMgb2YgdGhlIHBhcnRpdGlvbiBzaXplIGRpc3BsYXkiCisjfiBtc2dzdHIgIiAgdSAgICAgICAgICBabcSbbsOtIGplZG5vdGt5IHBybyB6b2JyYXplbsOtIHZlbGlrb3N0aSBvZGTDrWx1IgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFJvdGF0ZXMgdGhyb3VnaCBNQiwgc2VjdG9ycyBhbmQgY3lsaW5kZXJzIgorI34gbXNnc3RyICIgICAgICAgICAgICAgQ3lrbHVqZSBtZXppIE1CLCBzZWt0b3J5IGEgY3lsaW5kcnkiCisKKyN+IG1zZ2lkICJDVFJMLUwgICAgICAgUmVkcmF3cyB0aGUgc2NyZWVuIgorI34gbXNnc3RyICJDVFJMLUwgICAgICAgUMWZZWtyZXNsw60gb2JyYXpvdmt1IgorCisjfiBtc2dpZCAiICA/ICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorI34gbXNnc3RyICIgID8gICAgICAgICAgVnlww63FoWUgdHV0byBuw6Fwb3bEm2R1IgorCisjfiBtc2dpZCAiQ2hhbmdlIGN5bGluZGVyIGdlb21ldHJ5IgorI34gbXNnc3RyICJabcSbbsOtIGdlb21ldHJpaSBjeWxpbmRyxa8iCisKKyN+IG1zZ2lkICJDaGFuZ2UgaGVhZCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiWm3Em27DrSBnZW9tZXRyaWkgaGxhdiIKKworI34gbXNnaWQgIkNoYW5nZSBzZWN0b3IgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIlptxJtuw60gZ2VvbWV0cmlpIHNla3RvcsWvIgorCisjfiBtc2dpZCAiRG9uZSB3aXRoIGNoYW5naW5nIGdlb21ldHJ5IgorI34gbXNnc3RyICJHZW9tZXRyaWUgem3Em27Em25hIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBjeWxpbmRlcnM6ICIKKyN+IG1zZ3N0ciAiWmFkZWp0ZSBwb8SNZXQgY3lsaW5kcsWvOiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGN5bGluZGVycyB2YWx1ZSIKKyN+IG1zZ3N0ciAiQ2h5Ym7DvSBwb8SNZXQgY3lsaW5kcsWvIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBoZWFkczogIgorI34gbXNnc3RyICJaYWRlanRlIHBvxI1ldCBobGF2OiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGhlYWRzIHZhbHVlIgorI34gbXNnc3RyICJDaHlibsO9IHBvxI1ldCBobGF2IgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFjazogIgorI34gbXNnc3RyICJaYWRlanRlIHBvxI1ldCBzZWt0b3LFryBuYSBzdG9wdTogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBzZWN0b3JzIHZhbHVlIgorI34gbXNnc3RyICJDaHlibsO9IHBvxI1ldCBzZWt0b3LFryIKKworI34gbXNnaWQgIkVudGVyIGZpbGVzeXN0ZW0gdHlwZTogIgorI34gbXNnc3RyICJaYWRlanRlIHR5cCBzeXN0w6ltdSBzb3Vib3LFrzogIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSBGUyBUeXBlIHRvIGVtcHR5IgorI34gbXNnc3RyICJOZWx6ZSBuYXN0YXZpdCB0eXAgU1MgbmEgcHLDoXpkbsO9IgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSBGUyBUeXBlIHRvIGV4dGVuZGVkIgorI34gbXNnc3RyICJOZWx6ZSBuYXN0YXZpdCB0eXAgU1MgbmEgcm96xaHDrcWZZW7DvSIKKworI34gbXNnaWQgIlVuayglMDJYKSIKKyN+IG1zZ3N0ciAiTmV6KCUwMlgpIgorCisjfiBtc2dpZCAiLCBOQyIKKyN+IG1zZ3N0ciAiLCBOQyIKKworI34gbXNnaWQgIk5DIgorI34gbXNnc3RyICJOQyIKKworI34gbXNnaWQgIlByaS9Mb2ciCisjfiBtc2dzdHIgIlByaS9Mb2ciCisKKyN+IG1zZ2lkICJVbmtub3duICglMDJYKSIKKyN+IG1zZ3N0ciAiTmV6bsOhbcO9ICglMDJYKSIKKworI34gbXNnaWQgIkRpc2sgRHJpdmU6ICVzIgorI34gbXNnc3RyICJEaXNrOiAlcyIKKworI34gbXNnaWQgIlNpemU6ICVsbGQgYnl0ZXMsICVsbGQgTUIiCisjfiBtc2dzdHIgIlZlbGlrb3N0ICUnbGxkwqBiYWp0xa8sICUnbGxkwqBNQiIKKworI34gbXNnaWQgIlNpemU6ICVsbGQgYnl0ZXMsICVsbGQuJWxsZCBHQiIKKyN+IG1zZ3N0ciAiVmVsaWtvc3QgJSdsbGTCoGJhanTFrywgJSdsbGQsJWxsZMKgR0IiCisKKyN+IG1zZ2lkICJIZWFkczogJWQgICBTZWN0b3JzIHBlciBUcmFjazogJWQgICBDeWxpbmRlcnM6ICVsbGQiCisjfiBtc2dzdHIgIkhsYXY6ICVkICAgU2VrdG9yxa8gbmEgc3RvcHU6ICVkICAgIEN5bGluZHLFrzogJSdsbGQiCisKKyN+IG1zZ2lkICJQYXJ0IFR5cGUiCisjfiBtc2dzdHIgIlR5cCBvZGTDrWx1IgorCisjfiBtc2dpZCAiRlMgVHlwZSIKKyN+IG1zZ3N0ciAiVHlwIFNTIgorCisjfiBtc2dpZCAiW0xhYmVsXSIKKyN+IG1zZ3N0ciAiW1BvcGlzXSIKKworI34gbXNnaWQgIiAgICBTZWN0b3JzIgorI34gbXNnc3RyICIgICAgU2VrdG9yxa8iCisKKyN+IG1zZ2lkICIgIEN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICBDeWxpbmRyxa8iCisKKyN+IG1zZ2lkICIgIFNpemUgKE1CKSIKKyN+IG1zZ3N0ciAiVmVsaWsuIChNQikiCisKKyN+IG1zZ2lkICIgIFNpemUgKEdCKSIKKyN+IG1zZ3N0ciAiVmVsaWsuIChHQikiCisKKyN+IG1zZ2lkICJObyBtb3JlIHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIsW9w6FkbsOpIGRhbMWhw60gb2Rkw61seSIKKworI34gbXNnaWQgIkNoYW5nZSBkaXNrIGdlb21ldHJ5IChleHBlcnRzIG9ubHkpIgorI34gbXNnc3RyICJabcSbbsOtIGdlb21ldHJpaSBkaXNrdSAocG91emUgcHJvIG9kYm9ybsOta3kpIgorCisjfiBtc2dpZCAiTWF4aW1pemUiCisjfiBtc2dzdHIgIlp2xJt0xaFpdCIKKworI34gbXNnaWQgIk1heGltaXplIGRpc2sgdXNhZ2Ugb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIChleHBlcnRzIG9ubHkpIgorI34gbXNnc3RyICJadsSbdMWhw60gdmVsaWtvc3QgYWt0dcOhbG7DrWhvIG9kZMOtbHUgbmEgbWF4aW11bSAocG91emUgcHJvIG9kYm9ybsOta3kpIgorCisjfiBtc2dpZCAiUHJpbnQiCisjfiBtc2dzdHIgIlRpc2siCisKKyN+IG1zZ2lkICJDaGFuZ2UgdGhlIGZpbGVzeXN0ZW0gdHlwZSAoRE9TLCBMaW51eCwgT1MvMiBhbmQgc28gb24pIgorI34gbXNnc3RyICJabcSbbsOtIHR5cCBzeXN0w6ltdSBzb3Vib3LFryAoRE9TLCBMaW51eCwgT1MvMiBhdGQuKSIKKworI34gbXNnaWQgIlVuaXRzIgorI34gbXNnc3RyICJKZWRub3RreSIKKworI34gbXNnaWQgIkNoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSAoTUIsIHNlY3QsIGN5bCkiCisjfiBtc2dzdHIgIlptxJtuw60gamVkbm90a3ksIHZlIGt0ZXLDvWNoIGplIHVkw6F2w6FuYSB2ZWxpa29zdCBvZGTDrWx1IChNQiwgc2VrdC4sIGN5bC4pIgorCisjfiBtc2dpZCAiQ2Fubm90IG1ha2UgdGhpcyBwYXJ0aXRpb24gYm9vdGFibGUiCisjfiBtc2dzdHIgIlRlbnRvIG9kZMOtbCBuZWx6ZSBuYXN0YXZpdCBqYWtvIHphdmVkaXRlbG7DvS4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZGVsZXRlIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiUHLDoXpkbsO9IG9kZMOtbCBuZWx6ZSBzbWF6YXQuIgorCisjfiBtc2dpZCAiQ2Fubm90IG1heGltaXplIHRoaXMgcGFydGl0aW9uIgorI34gbXNnc3RyICJUZW50byBvZGTDrWwgbmVsemUgenbEm3TFoWl0LiIKKworI34gbXNnaWQgIlRoaXMgcGFydGl0aW9uIGlzIHVudXNhYmxlIgorI34gbXNnc3RyICJUZW50byBvZGTDrWwgamUgbmVwb3XFvml0ZWxuw70uIgorCisjfiBtc2dpZCAiVGhpcyBwYXJ0aXRpb24gaXMgYWxyZWFkeSBpbiB1c2UiCisjfiBtc2dzdHIgIlRlbnRvIG9kZMOtbCBqZSBqacW+IHBvdcW+w612w6FuLiIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdGhlIHR5cGUgb2YgYW4gZW1wdHkgcGFydGl0aW9uIgorI34gbXNnc3RyICJUeXAgcHLDoXpkbsOpaG8gb2Rkw61sdSBuZWx6ZSB6bcSbbml0LiIKKworI34gbXNnaWQgIklsbGVnYWwgY29tbWFuZCIKKyN+IG1zZ3N0ciAiQ2h5Ym7DvSBwxZnDrWtheiIKKworI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMTk5NC0yMDAyIEtldmluIEUuIE1hcnRpbiAmIGFlYlxuIgorI34gbXNnc3RyICJDb3B5cmlnaHQgwqkgMTk5NOKAkzIwMDIgS2V2aW4gRS7CoE1hcnRpbiAmIGFlYlxuIgorCisjfiBtc2dpZCAiIC1oLCAtLWhlYWRzIDxudW1iZXI+ICAgICAgc2V0IHRoZSBudW1iZXIgb2YgaGVhZHMgdG8gdXNlXG4iCisjfiBtc2dzdHIgIiAtaCwgLS1oZWFkcyA8cG/EjWV0PiAgICAgICBuYXN0YXbDrSBwb8SNZXQgaGxhdlxuIgorCisjfiBtc2dpZCAiIC1nLCAtLWd1ZXNzICAgICAgICAgICAgICAgZ3Vlc3MgYSBnZW9tZXRyeSBmcm9tIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIgLWcsIC0tZ3Vlc3MgICAgICAgICAgICAgICBvZGhhZG5lIGdlb21ldHJpaSB6wqB0YWJ1bGt5IHJvemTEm2xlbsOtIGRpc2t1XG4iCisKKyN+IG1zZ2lkICIgLVAsIC0tcHJpbnQgPHJ8c3x0PiAgICAgICBwcmludCBwYXJ0aXRpb24gdGFibGUgaW4gc3BlY2lmaWVkIGZvcm1hdFxuIgorI34gbXNnc3RyICIgLVAsIC0tcHJpbnQgPHJ8c3x0PiAgICAgICB2eXDDrcWhZSB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2t1IHbCoHVyxI1lbsOpIHBvZG9ixJtcbiIKKworI34gbXNnaWQgIiAtYSwgLS1hcnJvdyAgICAgICAgICAgICAgIHVzZSBhcnJvdyBmb3IgaGlnaGxpZ2h0aW5nIHRoZSBjdXJyZW50IHBhcnRpdGlvblxuIgorI34gbXNnc3RyICIgLWEsIC0tYXJyb3cgICAgICAgICAgICAgICBzb3XEjWFzbsO9IG9kZMOtbCB6dsO9cmF6bsOtIMWhaXBrb3VcbiIKKworI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorI34gbXNnc3RyICJwb8SNZXQgY3lsaW5kcsWvIG5lbHplIHJvemVicmF0IgorCisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBoZWFkcyIKKyN+IG1zZ3N0ciAicG/EjWV0IGhsYXYgbmVsemUgcm96ZWJyYXQiCisKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgbnVtYmVyIG9mIHNlY3RvcnMiCisjfiBtc2dzdHIgInBvxI1ldCBzZWt0b3LFryBuZWx6ZSByb3plYnJhdCIKKworI34gbXNnaWQgIjogIgorI34gbXNnc3RyICI6ICIKKworI34gbXNnaWQgIiAtYiA8c2l6ZT4gICAgICAgICBzZWN0b3Igc2l6ZSAoNTEyLCAxMDI0LCAyMDQ4IG9yIDQwOTYpXG4iCisjfiBtc2dzdHIgIiAtYiA8dmVsaWtvc3Q+ICAgICB2ZWxpa29zdCBzZWt0b3J1ICg1MTIsIDEwMjQsIDIwNDggbmVibyA0MDk2KVxuIgorCisjfiBtc2dpZCAiIC1oICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscCB0ZXh0XG4iCisjfiBtc2dzdHIgIiAtaCAgICAgICAgICAgICAgICB2eXDDrcWhZSB0dXRvIG7DoXBvdsSbZHVcbiIKKworI34gbXNnaWQgIlxuIgorI34gbXNnc3RyICJcbiIKKworI34gbXNnaWQgIiMiCisjfiBtc2dzdHIgIsSNLiIKKworI34gbXNnaWQgImZzaXplIgorI34gbXNnc3RyICJmcmFnbWVudCIKKworI34gbXNnaWQgImJzaXplIgorI34gbXNnc3RyICJibG9rIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKKyN+IG1zZ3N0ciAiT2Rkw61sICVkIGplIGppxb4gZGVmaW5vdsOhbi4gUMWZZWQgb3DEm3Rvdm7DvW0gdnl0dm/FmWVuw61tIGplaiBtdXPDrXRlIG5lanBydmUgc21hemF0LiIKKworI34gbXNnaWQgIiIKKyN+ICJQYXJ0aXRpb24gdHlwZTpcbiIKKyN+ICIgICBwICAgcHJpbWFyeSAoJXpkIHByaW1hcnksICVkIGV4dGVuZGVkLCAlemQgZnJlZSlcbiIKKyN+ICIlc1xuIgorI34gIlNlbGVjdCAoZGVmYXVsdCAlYykiCisjfiBtc2dzdHIgIiIKKyN+ICJEcnVoIG9kZMOtbHU6XG4iCisjfiAiICAgcCAgIHByaW3DoXJuw60gKHByaW3DoXJuw61jaDogJXpkLCByb3rFocOtxZllbsO9Y2g6ICVkLCB2b2xuw71jaDogJXpkKVxuIgorI34gIiVzXG4iCisjfiAiVnliZXJ0ZSAodsO9Y2hvesOtICVjKToiCisKKyN+IG1zZ2lkICIgICBlICAgZXh0ZW5kZWQiCisjfiBtc2dzdHIgIiAgIGUgICByb3rFocOtxZllbsO9IgorCisjfiBtc2dpZCAiTnIiCisjfiBtc2dzdHIgIsSMLiIKKworI34gbXNnaWQgIkFGIgorI34gbXNnc3RyICJBRiIKKworI34gbXNnaWQgIkhkIgorI34gbXNnc3RyICJIbCIKKworI34gbXNnaWQgIlNlYyIKKyN+IG1zZ3N0ciAiU2VrIgorCisjfiBtc2dpZCAiQ3lsIgorI34gbXNnc3RyICJDeWwiCisKKyN+IG1zZ2lkICJUaGlzIGRvZXNuJ3QgbG9vayBsaWtlIGEgcGFydGl0aW9uIHRhYmxlLiBQcm9iYWJseSB5b3Ugc2VsZWN0ZWQgdGhlIHdyb25nIGRldmljZS4iCisjfiBtc2dzdHIgIlRvdG8gbmV2eXBhZMOhIGpha28gdGFidWxrYSByb3pkxJtsZW7DrSBkaXNrdS4gUHJhdmTEm3BvZG9ibsSbIGpzdGUgenZvbGlsaSDFoXBhdG7DqSB6YcWZw616ZW7DrS4iCisKKyN+IG1zZ2lkICJCbG9ja3MgIgorI34gbXNnc3RyICJCbG9reSAiCisKKyN+IG1zZ2lkICJTeXN0ZW0iCisjfiBtc2dzdHIgIlN5c3TDqW0iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJXpkIGlzIGFscmVhZHkgZGVmaW5lZC4gRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorI34gbXNnc3RyICJPZGTDrWwgJXpkIGplIGppxb4gZGVmaW5vdsOhbi4gUMWZZWQgb3DEm3Rvdm7DvW0gdnl0dm/FmWVuw61tIGplaiBtdXPDrXRlIG5lanBydmUgc21hemF0LiIKKworI34gbXNnaWQgIlB0IyIKKyN+IG1zZ3N0ciAixIxPIgorCisjfiBtc2dpZCAiSW5mbyIKKyN+IG1zZ3N0ciAiw5pkYWplIgorCisjfiBtc2dpZCAiU2VjdG9yIgorI34gbXNnc3RyICJTZWt0b3IiCisKKyN+IG1zZ2lkICJZb3Ugd2lsbCBnZXQgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKKyN+IG1zZ3N0ciAiVGFrdG8gc2Ugb2Rkw61seSBidWRvdSBuYXZ6w6FqZW0gcMWZZWtyw712YXQuIE5lanBydmUgdG8gb3ByYXZ0ZSEiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiAgQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuIFRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuIgorI34gbXNnc3RyICJQb3pvcjogSW9jdGwgQkxLR0VUU0laRSBzZWxoYWxvIG5hICVzLiBQcm8gZ2VvbWV0cmlpIHNlIHBvdcW+aWplICVsbHUgY3lsaW5kcsWvLiBUYXRvIGhvZG5vdGEgbcWvxb5lIGLDvXQgemtyw6FjZW5hIHBybyB6YcWZw616ZW7DrSA+IDMzLDjigK9HQi4iCisKKyN+IG1zZ2lkICJGbGFnIgorI34gbXNnc3RyICJQxZnDrXpuYWsiCisKKyN+IG1zZ2lkICIiCisjfiAiICUxJHMgW29wdGlvbnNdIExBQkVMPTxsYWJlbD5cbiIKKyN+ICIgJTEkcyBbb3B0aW9uc10gVVVJRD08dXVpZD5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAlMSRzIFtwxZllcMOtbmHEjWVdIExBQkVMPTxqbWVub3ZrYT5cbiIKKyN+ICIgJTEkcyBbcMWZZXDDrW5hxI1lXSBVVUlEPTxVVUlEPlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGJ1aWx0LWluIGZpbHRlcnMsIHByaW50IGFsbCBmaWxlc3lzdGVtc1xuIgorI34gIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBBU0NJSSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCisjfiAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKKyN+ICIgLUQsIC0tZGYgICAgICAgICAgICAgICBpbWl0YXRlIHRoZSBvdXRwdXQgb2YgZGYoMSlcbiIKKyN+ICIgLWQsIC0tZGlyZWN0aW9uIDx3b3JkPiBkaXJlY3Rpb24gb2Ygc2VhcmNoLCAnZm9yd2FyZCcgb3IgJ2JhY2t3YXJkJ1xuIgorI34gIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iCisjfiAiIC1GLCAtLXRhYi1maWxlIDxwYXRoPiAgYWx0ZXJuYXRpdmUgZmlsZSBmb3IgLS1mc3RhYiwgLS1tdGFiIG9yIC0ta2VybmVsIG9wdGlvbnNcbiIKKyN+ICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBwcmludCB0aGUgZmlyc3QgZm91bmQgZmlsZXN5c3RlbSBvbmx5XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLUEsIC0tYWxsICAgICAgICAgICAgICB2eXBuZSB2xaFlY2hueSB2ZXN0YXbEm27DqSBmaWx0cnksIHZ5cMOtxaFlIHbFoWVjaG55XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgc291Ym9yb3bDqSBzeXN0w6lteVxuIgorI34gIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHBybyB2eWtyZXNsZW7DrSBzdHJvbXUgcG91xb5pamUgem5ha3kgQVNDSUlcbiIKKyN+ICIgLWMsIC0tY2Fub25pY2FsaXplICAgICBjZXN0eSB2eXBpc3VqZSB2wqBrYW5vbmlja8OpbSB0dmFydVxuIgorI34gIiAtRCwgLS1kZiAgICAgICAgICAgICAgIG5hcG9kb2LDrSB2w71zdHVwIGRmKDEpXG4iCisjfiAiIC1kLCAtLWRpcmVjdGlvbiA8c23Em3I+IHNtxJtyIGhsZWTDoW7DrTog4oCeZm9yd2FyZOKAnCAoZG9wxZllZG7DqSkgbmVib1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIOKAnmJhY2t3YXJk4oCcICh6cMSbdG7DqSlcbiIKKyN+ICIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBwxZlldmVkZSB6bmHEjWt5IChqbWVub3ZreSwgVVVJRCwgVVVJRCBvZGTDrWzFryxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBqbWVub3ZreSBvZGTDrWzFrykgbmEgbsOhenZ5IHphxZnDrXplbsOtXG4iCisjfiAiIC1GLCAtLXRhYi1maWxlIDxjZXN0YT4gamluw70gc291Ym9yIHBybyBwxZllcMOtbmHEjWUgLS1mc3RhYiwgLS1tdGFiIG5lYm8gLS1rZXJuZWxcbiIKKyN+ICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICB2eXDDrcWhZSBwb3V6ZSBwcnZuw60gbmFsZXplbsO9IHNvdWJvcm92w70gc3lzdMOpbVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVydCB0aGUgc2Vuc2Ugb2YgbWF0Y2hpbmdcbiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCisjfiAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNlIGFsdGVybmF0aXZlIG5hbWVzcGFjZSAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIGZpbGUpXG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgY29sdW1uIGhlYWRpbmdzXG4iCisjfiAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBvYnLDoXTDrSBzbXlzbCB2eWhsZWTDoXZhY8OtY2ggcHJhdmlkZWxcbiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB2w71zdHVwIHZlIGZvcm3DoXR1IHNlem5hbXVcbiIKKyN+ICIgLU4sIC0tdGFzayA8dGlkPiAgICAgICBwb3XFvmlqZSBqaW7DvSBqbWVubsO9IHByb3N0b3IgKC9wcm9jLzx0aWQ+L21vdW50aW5mbylcbiIKKyN+ICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBuZXpvYnJhesOtIHrDoWhsYXbDrSBzbG91cGPFr1xuIgorI34gIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIG5lemtyYWN1amUgdGV4dCB2ZSBzbG91cGPDrWNoXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorI34gIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIHByaW50IGFsbCBzdWJtb3VudHMgZm9yIHRoZSBtYXRjaGluZyBmaWxlc3lzdGVtc1xuIgorI34gIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorI34gIiAtVCwgLS10YXJnZXQgPHN0cmluZz4gIHRoZSBtb3VudHBvaW50IHRvIHVzZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC12LCAtLW5vZnNyb290ICAgICAgICAgdcKgdsOhemFuw71jaCBuZWJvIGJ0cmZzIHDFmWlwb2plbsOtIG5ldnlwaXN1amUgWy9hZHJlc8OhxZldXG4iCisjfiAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgdcKgb2Rwb3bDrWRhasOtY8OtY2ggc291Ym9yb3bDvWNoIHN5c3TDqW3FryB2eXBpc3VqZSB2xaFlY2hueVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIHBvZMWZw616ZW7DqSBib2R5IHDFmcOtcG9qZW7DrVxuIgorI34gIiAtUywgLS1zb3VyY2UgPMWZZXTEm3plYz4gcMWZaXBvamVuw6kgemHFmcOtemVuw60gKG7DoXpldiwgaGxhdm7DrTp2ZWRsZWrFocOtLFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSAoam1lbm92a2EpLCBVVUlEPSwgUEFSVFVVSUQ9IChVVUlEIG9kZMOtbHUpLFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIFBBUlRMQUJFTD0gKGptZW5vdmthIG9kZMOtbHUpKVxuIgorI34gIiAtVCwgLS10YXJnZXQgPMWZZXTEm3plYz4gYm9kIHDFmWlwb2plbsOtXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1mLCAtLWZpbGUgPGZpbGU+IHVzZSBmaWxlIGFzIGEgY29va2llIHNlZWRcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZiwgLS1maWxlIFNPVUJPUiAgcG91xb5pamUgc291Ym9yIGpha28gaW5pY2lhbGl6w6F0b3IgKHNlZWQpIGNvb2tpZVxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgdnlzdsSbdGzDrSwgY28gc2UgcHLDoXbEmyBwcm92w6Fkw61cbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgIHpvYnJhesOtIMO6ZGFqZSBvwqB2ZXJ6aSBhIHNrb27EjcOtXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHUgYSBza29uxI3DrVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiQm90aCAtLXBpZCBhbmQgLS1uby1waWQgc3BlY2lmaWVkLiBJZ25vcmluZyAtLW5vLXBpZC4iCisjfiBtc2dzdHIgIlphZMOhbnkgcMWZZXDDrW5hxI1lIC0tcGlkIGnCoC0tbm8tcGlkLiBJZ25vcnVqZSBzZSAtLW5vLXBpZC4iCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiBlcnJvciByZWFkaW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAidmFyb3bDoW7DrTogY2h5YmEgcMWZaSDEjXRlbsOtICVzOiAlcyIKKworI34gbXNnaWQgIndhcm5pbmc6IGNhbid0IG9wZW4gJXM6ICVzIgorI34gbXNnc3RyICJwb3pvcjogJXMgbmVsemUgb3RldsWZw610OiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjb3VsZCBub3Qgb3BlbiAlcyAtIHVzaW5nICVzIGluc3RlYWRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIG5lbHplIG90ZXbFmcOtdMKg4oCTIHBvdcW+aWplIHNlICVzXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBjcmVhdGUgbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICIiCisjfiAiemFteWthY8OtIHNvdWJvciAlcyBuZWx6ZSB2eXR2b8WZaXQ6ICVzXG4iCisjfiAiKHBvdcW+aWp0ZSBwxZllcMOtbmHEjSAtbiBwcm8gdnluZWNow6Fuw60gesOhcGlzdSBkbyBtdGFiKSIKKworI34gbXNnaWQgImNhbid0IGxpbmsgbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICIiCisjfiAidm9sw6Fuw60gbGluayBwcm8gemFteWthY8OtIHNvdWJvciAlcyBzZWxoYWxvOiAlc1xuIgorI34gIihwb3XFvmlqdGUgcMWZZXDDrW5hxI0gLW4gcHJvIHZ5bmVjaMOhbsOtIHrDoXBpc3UgZG8gbXRhYikiCisKKyN+IG1zZ2lkICJjYW4ndCBvcGVuIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAiIgorI34gInphbXlrYWPDrSBzb3Vib3IgJXMgbmVsemUgb3RldsWZw610OiAlc1xuIgorI34gIihwb3XFvmlqdGUgcMWZZXDDrW5hxI0gLW4gcHJvIHZ5bmVjaMOhbsOtIHrDoXBpc3UgZG8gbXRhYikiCisKKyN+IG1zZ2lkICJDYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiWmFteWthY8OtIHNvdWJvciAlcyBuZWx6ZSB6YW1rbm91dDogJXNcbiIKKworI34gbXNnaWQgImNhbid0IGxvY2sgbG9jayBmaWxlICVzOiAlcyIKKyN+IG1zZ3N0ciAiWmFteWthY8OtIHNvdWJvciAlcyBuZWx6ZSB6YW1rbm91dDogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiQ2Fubm90IGNyZWF0ZSBsaW5rICVzXG4iCisjfiAiUGVyaGFwcyB0aGVyZSBpcyBhIHN0YWxlIGxvY2sgZmlsZT9cbiIKKyN+IG1zZ3N0ciAiIgorI34gIk9ka2F6ICVzIG5lbHplIHZ5dHZvxZlpdC5cbiIKKyN+ICJOZW7DrSBuxJtrZGUgemFzdGFyYWzDvSB6YW15a2Fjw60gc291Ym9yP1xuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgKCVzKSAtIG10YWIgbm90IHVwZGF0ZWQiCisjfiBtc2dzdHIgIm5lbHplIG90ZXbFmcOtdCAlcyAoJXMpIC0gbXRhYiBuZWJ5bCBha3R1YWxpem92w6FuIgorCisjfiBtc2dpZCAiZXJyb3Igd3JpdGluZyAlczogJXMiCisjfiBtc2dzdHIgImNoeWJhIHDFmWkgesOhcGlzdSAlczogJXMiCisKKyN+IG1zZ2lkICIlczogY2Fubm90IGZmbHVzaCBjaGFuZ2VzOiAlcyIKKyN+IG1zZ3N0ciAiJXM6IHptxJtueSBuZWx6ZSB6YXBzYXQgcG9tb2PDrSBmZmx1c2g6ICVzIgorCisjfiBtc2dpZCAiZXJyb3IgY2hhbmdpbmcgbW9kZSBvZiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiY2h5YmEgcMWZaSB6bcSbbsSbIG3Ds2R1ICVzOiAlc1xuIgorCisjfiBtc2dpZCAiZXJyb3IgY2hhbmdpbmcgb3duZXIgb2YgJXM6ICVzXG4iCisjfiBtc2dzdHIgImNoeWJhIHDFmWkgem3Em27EmyB2bGFzdG7DrWthICVzOiAlc1xuIgorCisjfiBtc2dpZCAiY2FuJ3QgcmVuYW1lICVzIHRvICVzOiAlc1xuIgorI34gbXNnc3RyICIlcyBuZWx6ZSBwxZllam1lbm92YXQgbmEgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAibW91bnQ6IHdhcm5pbmc6IC9ldGMvbXRhYiBpcyBub3Qgd3JpdGFibGUgKGUuZy4gcmVhZC1vbmx5IGZpbGVzeXN0ZW0pLlxuIgorI34gIiAgICAgICBJdCdzIHBvc3NpYmxlIHRoYXQgaW5mb3JtYXRpb24gcmVwb3J0ZWQgYnkgbW91bnQoOCkgaXMgbm90XG4iCisjfiAiICAgICAgIHVwIHRvIGRhdGUuIEZvciBhY3R1YWwgaW5mb3JtYXRpb24gYWJvdXQgc3lzdGVtIG1vdW50IHBvaW50c1xuIgorI34gIiAgICAgICBjaGVjayB0aGUgL3Byb2MvbW91bnRzIGZpbGUuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJtb3VudDogcG96b3I6IERvIC9ldGMvbXRhYiBuZWx6ZSB6YXBzYXQgKG5hcMWZw61rbGFkIHN5c3TDqW0gc291Ym9yxa8gamUgcG91emVcbiIKKyN+ICIgICAgICAgcHJvIMSNdGVuw60pLiBKZSBtb8W+bsOpLCDFvmUgw7pkYWplIGhsw6HFoWVuw6kgbsOhc3Ryb2plbSBtb3VudCg4KSBuZWJ1ZG91XG4iCisjfiAiICAgICAgIGFrdHXDoWxuw60uIEFrdHXDoWxuw60gaW5mb3JtYWNlIG/CoHDFmcOtcG9qbsO9Y2ggYm9kZWNoIGx6ZSB6amlzdGl0XG4iCisjfiAiICAgICAgIHbCoHNvdWJvcnUgL3Byb2MvbW91bnRzLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGltcHJvcGVybHkgcXVvdGVkIG9wdGlvbiBzdHJpbmcgJyVzJyIKKyN+IG1zZ3N0ciAibW91bnQ64oCvxZlldMSbemVjIHDFmWVww61uYcSNxa8g4oCeJXPigJwgamUgbmVzcHLDoXZuxJsgdXphdsWZZW4gZG8gdXZvem92ZWsiCisKKyN+IG1zZ2lkICJtb3VudDogdHJhbnNsYXRlZCAlcyAnJXMnIHRvICclcydcbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIHDFmWVsb8W+ZW5vIHrCoOKAniVz4oCcIG5hIOKAniVz4oCcXG4iCisKKyN+IG1zZ2lkICJtb3VudDogU0VMaW51eCAqY29udGV4dD0gb3B0aW9ucyBhcmUgaWdub3JlIG9uIHJlbW91bnQuXG4iCisjfiBtc2dzdHIgIm1vdW50OiBQxZlpIHDFmWVwb2plbsOtIHNlIHZvbGJ5IFNFTGludXh1ICpjb250ZXh0PSBpZ25vcnVqw60uXG4iCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IHBvZGxlIG10YWIgamUgJXMgamnFviBwxZlpcG9qZW5vIG5hICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBtb3VudGVkIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogcG9kbGUgbXRhYiBqZSAlcyBwxZlpcG9qZW5vIG5hICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IG9wZW4gJXMgZm9yIHdyaXRpbmc6ICVzIgorI34gbXNnc3RyICJtb3VudDogJXMgbmVsemUgb3RldsWZw610IHBybyB6w6FwaXM6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIHdyaXRpbmcgJXM6ICVzIgorI34gbXNnc3RyICJtb3VudDogY2h5YmEgcMWZaSB6w6FwaXN1ICVzOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBlcnJvciBjaGFuZ2luZyBtb2RlIG9mICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGNoeWJhIHDFmWkgem3Em27EmyBtw7NkdSAlczogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCBncm91cCBpZDogJW0iCisjfiBtc2dzdHIgIm1vdW50OiDEjcOtc2xvIHNrdXBpbnkgKEdJRCkgbmVsemUgbmFzdGF2aXQ6ICVtIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgdXNlciBpZDogJW0iCisjfiBtc2dzdHIgIm1vdW50OiDEjcOtc2xvIHXFvml2YXRlbGUgKFVJRCkgbmVsemUgbmFzdGF2aXQ6ICVtIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBmb3JrOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IHZvbMOhbsOtIGZvcmsgc2VsaGFsbzogJXMiCisKKyN+IG1zZ2lkICJUcnlpbmcgJXNcbiIKKyN+IG1zZ3N0ciAiUG91xb7DrXbDoW0gJXMuXG4iCisKKyN+IG1zZ2lkICJtb3VudDogeW91IGRpZG4ndCBzcGVjaWZ5IGEgZmlsZXN5c3RlbSB0eXBlIGZvciAlc1xuIgorI34gbXNnc3RyICJtb3VudDogbmV6YWRhbCBqc3RlIHR5cCBzeXN0w6ltdSBzb3Vib3LFryBwcm8gJXNcbiIKKworI34gbXNnaWQgIiAgICAgICBJIHdpbGwgdHJ5IGFsbCB0eXBlcyBtZW50aW9uZWQgaW4gJXMgb3IgJXNcbiIKKyN+IG1zZ3N0ciAiICAgICAgIFZ5emtvdcWhw61tIHbFoWVjaG55IHR5cHkgdiAlcyDEjWkgJXNcbiIKKworI34gbXNnaWQgIiAgICAgICBhbmQgaXQgbG9va3MgbGlrZSB0aGlzIGlzIHN3YXBzcGFjZVxuIgorI34gbXNnc3RyICIgICAgICAgYSB2eXBhZMOhIHRvLCDFvmUgc2UgamVkbsOhIG8gb2RrbMOhZGFjw60gcHJvc3RvclxuIgorCisjfiBtc2dpZCAiICAgICAgIEkgd2lsbCB0cnkgdHlwZSAlc1xuIgorI34gbXNnc3RyICIgICAgICAgVnl6a291xaHDrW0gdHlwICVzXG4iCisKKyN+IG1zZ2lkICIlcyBsb29rcyBsaWtlIHN3YXBzcGFjZSAtIG5vdCBtb3VudGVkIgorI34gbXNnc3RyICIlcyB2eXBhZMOhIGpha28gb2RrbMOhZGFjw60gcHJvc3RvciAtIG5lcMWZaXBvamVubyIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogJXM6IG1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQuIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sXG4iCisjfiAiICAgICAgIHVzZSAtdCA8dHlwZT4gdG8gZXhwbGljaXRseSBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUgb3JcbiIKKyN+ICIgICAgICAgdXNlIHdpcGVmcyg4KSB0byBjbGVhbiB1cCB0aGUgZGV2aWNlLlxuIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6ICVzOiBuYWxlemVubyB2w61jZSBzb3Vib3JvdsO9Y2ggc3lzdMOpbcWvLiBUbyBieSBzZSBuZW3Em2xvIHN0w6F0LlxuIgorI34gIiAgICAgICBFeHBsaWNpdG7EmyB1dmXEj3RlIGRydWggc291Ym9yb3bDqWhvIHN5c3TDqW11IHBvbW9jw60g4oCeLXQgRFJVSOKAnCBuZWJvXG4iCisjfiAiICAgICAgIHZ5xI1pc3TEm3RlIHphxZnDrXplbsOtIHBvbW9jw60gd2lwZWZzKDgpLlxuIgorCisjfiBtc2dpZCAibW91bnQgZmFpbGVkIgorI34gbXNnc3RyICJwxZlpcG9qZW7DrSBzZSBuZXpkYcWZaWxvIgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiBwb3V6ZSBzdXBlcnXFvml2YXRlbCBtxa/FvmUgcMWZaXBvaml0ICVzIG5hICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGxvb3AgZGV2aWNlIHNwZWNpZmllZCB0d2ljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IHphxZnDrXplbsOtIGxvb3AgYnlsbyB6YWTDoW5vIGR2YWtyw6F0IgorCisjfiBtc2dpZCAibW91bnQ6IHR5cGUgc3BlY2lmaWVkIHR3aWNlIgorI34gbXNnc3RyICJtb3VudDogdHlwIGJ5bCB6YWTDoW4gZHZha3LDoXQiCisKKyN+IG1zZ2lkICJtb3VudDogc2tpcHBpbmcgdGhlIHNldHVwIG9mIGEgbG9vcCBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHDFmWVza2FrdWppIG5hc3RhdmVuw60gbG9vcCB6YcWZw616ZW7DrVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGVuYWJsaW5nIGF1dG9jbGVhciBsb29wZGV2IGZsYWdcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHphcMOtbsOhIHNlIGF1dG9tYXRpY2vDqSBvZHN0cmFuxJtuw60gcMWZw616bmFrdSBsb29wZGV2XG4iCisKKyN+IG1zZ2lkICJtb3VudDogaW52YWxpZCBvZmZzZXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW50OiB6YWTDoW4gbmVwbGF0bsOhIHBvemljZSDigJ4lc+KAnCIKKworI34gbXNnaWQgIm1vdW50OiBpbnZhbGlkIHNpemVsaW1pdCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibW91bnQ6IHphZMOhbm8gbmVwbGF0bsOpIG9tZXplbsOtIGTDqWxreSDigJ4lc+KAnCIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXMgYXMgbG9vcCIKKyN+IG1zZ3N0ciAibW91bnQ6IHBvZGxlIG10YWIgamUgJXMgamnFviBwxZlpcG9qZW5vIG5hICVzIGpha28gbG9vcCIKKworI34gbXNnaWQgImVuY3J5cHRpb24gbm90IHN1cHBvcnRlZCwgdXNlIGNyeXB0c2V0dXAoOCkgaW5zdGVhZCIKKyN+IG1zZ3N0ciAixaFpZnJvdsOhbsOtIG5lbsOtIHBvZHBvcm92w6FubywgcG91xb5panRlIGNyeXB0c2V0dXAoOCkiCisKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGRldiBjb250ZXh0IgorI34gbXNnc3RyICJtb3VudDoga29udGV4dCB6YcWZw616ZW7DrSBsb29wIHNlIG5lcG9kYcWZaWxvIGluaWNpYWxpem92YXQiCisKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIHVzZSAlcyBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiB6YcWZw616ZW7DrSAlcyBuZWJ5bG8gbW/Fvm7DqSBwb3XFvsOtdCIKKworI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gZm91bmQgZnJlZSBsb29wIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IG5lcG9kYcWZaWxvIHNlIG5hasOtdCB2b2xuw6kgemHFmcOtemVuw60gbG9vcCIKKworI34gbXNnaWQgIm1vdW50OiBnb2luZyB0byB1c2UgdGhlIGxvb3AgZGV2aWNlICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBjaHlzdMOhbSBzZSBwb3XFvsOtdCB6YcWZw616ZW7DrSBsb29wICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogJXM6IGZhaWxlZCB0byBzZXQgbG9vcGRldiBhdHRyaWJ1dGVzIgorI34gbXNnc3RyICJtb3VudDogJXM6IG5lcG9kYcWZaWxvIHNlIG5hc3Rhdml0IHZsYXN0bm9zdGkgemHFmcOtemVuw60gbG9vcCIKKworI34gbXNnaWQgIm1vdW50OiAlczogZmFpbGVkIHNldHRpbmcgdXAgbG9vcCBkZXZpY2U6ICVtIgorI34gbXNnc3RyICJtb3VudDogJXM6IG5lcG9kYcWZaWxvIHNlIG5hc3Rhdml0IHphxZnDrXplbsOtIGxvb3A6ICVtIgorCisjfiBtc2dpZCAibW91bnQ6IHN0b2xlbiBsb29wPSVzIC4uLnRyeWluZyBhZ2FpblxuIgorI34gbXNnc3RyICJtb3VudDogdWtyYWRlbsO9IGxvb3A9JXMg4oCmwqB6a3Vzw60gc2Ugem5vdnVcbiIKKworI34gbXNnaWQgIm1vdW50OiBzdG9sZW4gbG9vcD0lcyIKKyN+IG1zZ3N0ciAidW1vdW50OiB1a3JhZGVuw70gbG9vcD0lcyIKKworI34gbXNnaWQgIm1vdW50OiBzZXR1cCBsb29wIGRldmljZSBzdWNjZXNzZnVsbHlcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHphxZnDrXplbsOtIGxvb3AgYnlsbyBrb3Jla3RuxJsgbmFzdGF2ZW5vXG4iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gJXMgZm91bmQgLSBjcmVhdGluZyBpdC4uXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyBuZWJ5bG8gbmFsZXplbm8gLSB2eXR2w6HFmcOtbSBqZWouLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBvcGVuICVzIGZvciBzZXR0aW5nIHNwZWVkIgorI34gbXNnc3RyICJtb3VudDogJXMgbmVsemUgb3RldsWZw610IHphIMO6xI1lbGVtIG5hc3RhdmVuw60gcnljaGxvc3RpIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgc3BlZWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDogcnljaGxvc3QgbmVsemUgbmFzdGF2aXQ6ICVtIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHBvZGxlIG10YWIgamUgJXMgamnFviBwxZlpcG9qZW5vIGRvICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogJXMgc2VlbXMgdG8gYmUgbW91bnRlZCByZWFkLXdyaXRlLlxuIgorI34gbXNnc3RyICJtb3VudDogcG96b3I6ICVzIHNlIHpkw6EgYsO9dCBwxZlpcG9qZW4gcHJvIMSNdGVuw60gacKgesOhcGlzLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IHdhcm5pbmc6ICVzIHNlZW1zIHRvIGJlIG1vdW50ZWQgcmVhZC1vbmx5LlxuIgorI34gbXNnc3RyICJtb3VudDogcG96b3I6ICVzIHNlIHpkw6EgYsO9dCBwxZlpcG9qZW4gamVuIHBybyDEjXRlbsOtLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IEkgY291bGQgbm90IGRldGVybWluZSB0aGUgZmlsZXN5c3RlbSB0eXBlLCBhbmQgbm9uZSB3YXMgc3BlY2lmaWVkIgorI34gbXNnc3RyICJtb3VudDogdHlwIHN5c3TDqW11IHNvdWJvcsWvIG5lYnlsIHphZMOhbiBhIGFuaSBqZWogbmVsemUgemppc3RpdCIKKworI34gbXNnaWQgIm1vdW50OiB5b3UgbXVzdCBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUiCisjfiBtc2dzdHIgIm1vdW50OiBtdXPDrXRlIHphZGF0IHR5cCBzeXN0w6ltdSBzb3Vib3LFryIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBmYWlsZWQiCisjfiBtc2dzdHIgIm1vdW50OiBwxZlpcG9qZW7DrSBzZSBuZXpkYcWZaWxvIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGlzIG5vdCBhIGRpcmVjdG9yeSIKKyN+IG1zZ3N0ciAibW91bnQ6IHDFmcOtcG9qbsO9IGJvZCAlcyBuZW7DrSBhZHJlc8OhxZllbSIKKworI34gbXNnaWQgIm1vdW50OiBwZXJtaXNzaW9uIGRlbmllZCIKKyN+IG1zZ3N0ciAibW91bnQ6IHDFmcOtc3R1cCBvZG3DrXRudXQiCisKKyN+IG1zZ2lkICJtb3VudDogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorI34gbXNnc3RyICJtb3VudDogbW91bnQgbcWvxb5lIHBvdcW+w612YXQgcG91emUgc3VwZXJ1xb5pdmF0ZWwiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgYnVzeSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIHNlIHBvdcW+w612w6EiCisKKyN+IG1zZ2lkICJtb3VudDogcHJvYyBhbHJlYWR5IG1vdW50ZWQiCisjfiBtc2dzdHIgIm1vdW50OiBwcm9jIGplIGppxb4gcMWZaXBvamVubyIKKworI34gbXNnaWQgIm1vdW50OiAlcyBhbHJlYWR5IG1vdW50ZWQgb3IgJXMgYnVzeSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGplIGppxb4gcMWZaXBvamVubywgxI1pIGplICVzIGppxb4gcG91xb7DrXbDoW5vIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGRvZXMgbm90IGV4aXN0IgorI34gbXNnc3RyICJtb3VudDogcMWZw61wb2puw70gYm9kICVzIG5lZXhpc3R1amUiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCisjfiBtc2dzdHIgIm1vdW50OiBwxZnDrXBvam7DvSBib2QgJXMgamUgc3ltYm9saWNrw71tIG9ka2F6ZW0sIGplbsW+IG5pa2FtIG5ldWthenVqZSIKKworI34gbXNnaWQgIm1vdW50OiBzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKKyN+IG1zZ3N0ciAibW91bnQ6IHNwZWNpw6FsbsOtIHphxZnDrXplbsOtICVzIG5lZXhpc3R1amUiCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0XG4iCisjfiAiICAgICAgIChhIHBhdGggcHJlZml4IGlzIG5vdCBhIGRpcmVjdG9yeSlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiBzcGVjacOhbG7DrSB6YcWZw616ZW7DrSAlcyBuZWV4aXN0dWplXG4iCisjfiAiICAgICAgICAgICAgICAobsOhemV2IGNlc3R5IG5lemHEjcOtbsOhIGFkcmVzw6HFmWVtKVxuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCisjfiBtc2dzdHIgIm1vdW50OiAlcyBuZW7DrSBwxZlpcG9qZW5vIMSNaSBjaHlibsO9IHDFmWVww61uYcSNIgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiB3cm9uZyBmcyB0eXBlLCBiYWQgb3B0aW9uLCBiYWQgc3VwZXJibG9jayBvbiAlcyxcbiIKKyN+ICIgICAgICAgbWlzc2luZyBjb2RlcGFnZSBvciBoZWxwZXIgcHJvZ3JhbSwgb3Igb3RoZXIgZXJyb3IiCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogY2h5Ym7DvSB0eXAgU1MsIGNoeWJuw70gcMWZZXDDrW5hxI0sIGNoeWJuw70gc3VwZXJibG9rIG5hICVzLFxuIgorI34gIiAgICAgICBjaHliw60ga8OzZG92w6Egc3Ryw6Fua2EgbmVibyBwb21vY27DvSBwcm9ncmFtIG5lYm8gamluw6EgY2h5YmEiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIChmb3Igc2V2ZXJhbCBmaWxlc3lzdGVtcyAoZS5nLiBuZnMsIGNpZnMpIHlvdSBtaWdodFxuIgorI34gIiAgICAgICBuZWVkIGEgL3NiaW4vbW91bnQuPHR5cGU+IGhlbHBlciBwcm9ncmFtKSIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAocHJvIHbEm3TFoWlub3Ugc291Ym9yb3bDvWNoIHN5c3TDqW11IChuYXDFmS4gbmZzLCBjaWZzKSBidWRldGVcbiIKKyN+ICIgICAgICAgcG90xZllYm92YXQgcG9tb2Nuw70gcHJvZ3JhbSAvc2Jpbi9tb3VudC48VFlQPikiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIChjb3VsZCB0aGlzIGJlIHRoZSBJREUgZGV2aWNlIHdoZXJlIHlvdSBpbiBmYWN0IHVzZVxuIgorI34gIiAgICAgICBpZGUtc2NzaSBzbyB0aGF0IHNyMCBvciBzZGEgb3Igc28gaXMgbmVlZGVkPykiCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAgKG1vaGxvIGJ5IHNlIGplZG5hdCBvwqBJREUgemHFmcOtemVuw60sIGtkZSB2ZSBza3V0ZcSNbm9zdGkgcG91xb7DrXbDoXRlXG4iCisjfiAiICAgICAgIGlkZS1zY3NpLCB0YWvFvmUgamUgcG90xZllYmEgc3IwIG5lYm8gc2RhIG5lYm8gbsSbY28gbmEgdGVuIHpwxa9zb2I/KSIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgKGFyZW4ndCB5b3UgdHJ5aW5nIHRvIG1vdW50IGFuIGV4dGVuZGVkIHBhcnRpdGlvbixcbiIKKyN+ICIgICAgICAgaW5zdGVhZCBvZiBzb21lIGxvZ2ljYWwgcGFydGl0aW9uIGluc2lkZT8pIgorI34gbXNnc3RyICIgICAgICAgKG5lcG9rb3XFocOtdGUgc2UgcMWZaXBvaml0IHJvesWhw63FmWVuw70gb2Rkw61sIG5hbcOtc3RvIGxvZ2lja8OpaG8/KSIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBpcyBmb3VuZCBpbiBzeXNsb2cgLSB0cnlcbiIKKyN+ICIgICAgICAgZG1lc2cgfCB0YWlsICBvciBzb1xuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgIFbCoGppc3TDvWNoIHDFmcOtcGFkZWNoIGx6ZSBuYWrDrXQgcG90xZllYm7DqSBpbmZvcm1hY2UgdsKgc3lzdMOpbW92w6ltXG4iCisjfiAiICAgICAgIHByb3Rva29sdcKg4oCTIHprdXN0ZSBuYXDFmcOta2xhZCDigJ5kbWVzZyB8IHRhaWzigJwgXG4iCisKKyN+IG1zZ2lkICJtb3VudDogJXM6IGNhbid0IHJlYWQgc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzOiBzdXBlcmJsb2sgbmVsemUgcMWZZcSNw61zdCIKKworI34gbXNnaWQgIm1vdW50OiAlczogdW5rbm93biBkZXZpY2UiCisjfiBtc2dzdHIgInVtb3VudDogYmxva292w6kgemHFmcOtemVuw60gJXMgamUgbmV6bsOhbcOpIgorCisjfiBtc2dpZCAibW91bnQ6IHVua25vd24gZmlsZXN5c3RlbSB0eXBlICclcyciCisjfiBtc2dzdHIgIm1vdW50OiBuZXpuw6Ftw70gc3lzdMOpbSBzb3Vib3LFryDigJ4lc+KAnCIKKworI34gbXNnaWQgIm1vdW50OiBwcm9iYWJseSB5b3UgbWVhbnQgJXMiCisjfiBtc2dzdHIgIm1vdW50OiBwcmF2ZMSbcG9kb2JuxJsganN0ZSBteXNsZWwgJXMiCisKKyN+IG1zZ2lkICJtb3VudDogbWF5YmUgeW91IG1lYW50ICdpc285NjYwJz8iCisjfiBtc2dzdHIgIm1vdW50OiBtb8W+bsOhIGpzdGUgbXlzbGVsIOKAnmlzbzk2NjDigJw/IgorCisjfiBtc2dpZCAibW91bnQ6IG1heWJlIHlvdSBtZWFudCAndmZhdCc/IgorI34gbXNnc3RyICJtb3VudDogbW/Fvm7DoSBqc3RlIG15c2xlbCDigJ52ZmF04oCcPyIKKworI34gbXNnaWQgIm1vdW50OiAlcyBoYXMgd3JvbmcgZGV2aWNlIG51bWJlciBvciBmcyB0eXBlICVzIG5vdCBzdXBwb3J0ZWQiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBtw6EgY2h5Ym7DqSDEjcOtc2xvIHphxZnDrXplbsOtLCDEjWkgc3MgdHlwICVzIG5lbsOtIHBvZHBvcm92w6FuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQgZmFpbHM/IgorI34gbXNnc3RyICJtb3VudDogJXMgbmVuw60gYmxva292w71tIHphxZnDrXplbsOtbSBhIHZvbMOhbsOtIHN0YXQgc2VsaGFsbz8iCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHRoZSBrZXJuZWwgZG9lcyBub3QgcmVjb2duaXplICVzIGFzIGEgYmxvY2sgZGV2aWNlXG4iCisjfiAiICAgICAgIChtYXliZSBgbW9kcHJvYmUgZHJpdmVyJz8pIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IGrDoWRybyBuZXJvenBvem5hbG8gJXMgamFrbyBibG9rb3bDqSB6YcWZw616ZW7DrVxuIgorI34gIiAgICAgICAobW/Fvm7DoSDigJ5tb2Rwcm9iZSBvdmxhZGHEjeKAnD8pIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSAobWF5YmUgdHJ5IGAtbyBsb29wJz8pIgorI34gbXNnc3RyICJtb3VudDogJXMgbmVuw60gYmxva292w71tIHphxZnDrXplbsOtbSAobW/Fvm7DoSBwb23Fr8W+ZSDigJ4tbyBsb29w4oCcPykiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudDogJXMgbmVuw60gYmxva292w71tIHphxZnDrXplbsOtbSIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBuZW7DrSBwbGF0bsO9bSBibG9rb3bDvW0gemHFmcOtemVuw61tIgorCisjfiBtc2dpZCAiYmxvY2sgZGV2aWNlICIKKyN+IG1zZ3N0ciAiYmxva292w6kgemHFmcOtemVuw60iCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IG1vdW50ICVzJXMgcmVhZC1vbmx5IgorI34gbXNnc3RyICJ1bW91bnQ6ICVzJXMgbmVsemUgcMWZaXBvaml0IHYgcmXFvmltdSBwb3V6ZSBwcm8gxI10ZW7DrSIKKworI34gbXNnaWQgIm1vdW50OiAlcyVzIGlzIHdyaXRlLXByb3RlY3RlZCBidXQgZXhwbGljaXQgYC13JyBmbGFnIGdpdmVuIgorI34gbXNnc3RyICJtb3VudDogJXMlcyBqZSBjaHLDoW7Em25vIHByb3RpIHrDoXBpc3UsIHDFmWlwb2p1amkgcG91emUgcHJvIMSNdGVuw60iCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHJlbW91bnQgJXMlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCisjfiBtc2dzdHIgInVtb3VudDogJXMlcyBuZWx6ZSB6bm92dSBwxZlpcG9qaXQgcHJvIMSNdGVuw60gacKgesOhcGlzLCBwcm90b8W+ZSBqZSBjaHLDoW7Em24gcHJvdGkgesOhcGlzdSIKKworI34gbXNnaWQgIm1vdW50OiAlcyVzIGlzIHdyaXRlLXByb3RlY3RlZCwgbW91bnRpbmcgcmVhZC1vbmx5IgorI34gbXNnc3RyICJtb3VudDogJXMlcyBqZSBjaHLDoW7Em25vIHByb3RpIHrDoXBpc3UsIHDFmWlwb2p1amkgcG91emUgcHJvIMSNdGVuw60iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gbWVkaXVtIGZvdW5kIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogdsKgJXMgbmVuYWxlemVubyDFvsOhZG7DqSBtw6lkaXVtIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHR5cGUgd2FzIGdpdmVuIC0gSSdsbCBhc3N1bWUgbmZzIGJlY2F1c2Ugb2YgdGhlIGNvbG9uXG4iCisjfiBtc2dzdHIgIm1vdW50OiBuZWJ5bCB6YWTDoW4gdHlwIC0gYnVkdSBwb3XFvsOtdmF0IG5mcyBrdsWvbGkgZHZvanRlxI1jZVxuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHR5cGUgd2FzIGdpdmVuIC0gSSdsbCBhc3N1bWUgY2lmcyBiZWNhdXNlIG9mIHRoZSAvLyBwcmVmaXhcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG5lYnlsIHphZMOhbiB0eXDCoC0gYnVkdSBwxZllZHBva2zDoWRhdCBjaWZzIGt2xa9saSBwxZllZHBvbsSbIC8vXG4iCisKKyN+IG1zZ2lkICJtb3VudDogaWdub3JlICVzICh1bnBhcnNhYmxlIG9mZnNldD0gb3B0aW9uKVxuIgorI34gbXNnc3RyICJtb3VudDogJXMgc2UgaWdub3J1amUgKG5lcm96ZWJyYXRlbG7DoSB2b2xiYSBvZmZzZXQ9KVxuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorI34gbXNnc3RyICJtb3VudDogJXMgamUgamnFviBwxZlpcG9qZW5vIG5hICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IG1vdW50IC1WICAgICAgICAgICAgICAgICA6IHByaW50IHZlcnNpb25cbiIKKyN+ICIgICAgICAgbW91bnQgLWggICAgICAgICAgICAgICAgIDogcHJpbnQgdGhpcyBoZWxwXG4iCisjfiAiICAgICAgIG1vdW50ICAgICAgICAgICAgICAgICAgICA6IGxpc3QgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorI34gIiAgICAgICBtb3VudCAtbCAgICAgICAgICAgICAgICAgOiBpZGVtLCBpbmNsdWRpbmcgdm9sdW1lIGxhYmVsc1xuIgorI34gIlNvIGZhciB0aGUgaW5mb3JtYXRpb25hbCBwYXJ0LiBOZXh0IHRoZSBtb3VudGluZy5cbiIKKyN+ICJUaGUgY29tbWFuZCBpcyBgbW91bnQgWy10IGZzdHlwZV0gc29tZXRoaW5nIHNvbWV3aGVyZScuXG4iCisjfiAiRGV0YWlscyBmb3VuZCBpbiAvZXRjL2ZzdGFiIG1heSBiZSBvbWl0dGVkLlxuIgorI34gIiAgICAgICBtb3VudCAtYSBbLXR8LU9dIC4uLiAgICAgOiBtb3VudCBhbGwgc3R1ZmYgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiICAgICAgIG1vdW50IGRldmljZSAgICAgICAgICAgICA6IG1vdW50IGRldmljZSBhdCB0aGUga25vd24gcGxhY2VcbiIKKyN+ICIgICAgICAgbW91bnQgZGlyZWN0b3J5ICAgICAgICAgIDogbW91bnQga25vd24gZGV2aWNlIGhlcmVcbiIKKyN+ICIgICAgICAgbW91bnQgLXQgdHlwZSBkZXYgZGlyICAgIDogb3JkaW5hcnkgbW91bnQgY29tbWFuZFxuIgorI34gIk5vdGUgdGhhdCBvbmUgZG9lcyBub3QgcmVhbGx5IG1vdW50IGEgZGV2aWNlLCBvbmUgbW91bnRzXG4iCisjfiAiYSBmaWxlc3lzdGVtIChvZiB0aGUgZ2l2ZW4gdHlwZSkgZm91bmQgb24gdGhlIGRldmljZS5cbiIKKyN+ICJPbmUgY2FuIGFsc28gbW91bnQgYW4gYWxyZWFkeSB2aXNpYmxlIGRpcmVjdG9yeSB0cmVlIGVsc2V3aGVyZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1iaW5kIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJvciBtb3ZlIGEgc3VidHJlZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tb3ZlIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBtb3VudCBjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2hhcmVkIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2xhdmUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1wcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtdW5iaW5kYWJsZSBkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBhbGwgdGhlIG1vdW50cyBpbiBhIG1vdW50IHN1YnRyZWVcbiIKKyN+ICJjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzbGF2ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJwcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnVuYmluZGFibGUgZGlyXG4iCisjfiAiQSBkZXZpY2UgY2FuIGJlIGdpdmVuIGJ5IG5hbWUsIHNheSAvZGV2L2hkYTEgb3IgL2Rldi9jZHJvbSxcbiIKKyN+ICJvciBieSBsYWJlbCwgdXNpbmcgIC1MIGxhYmVsICBvciBieSB1dWlkLCB1c2luZyAgLVUgdXVpZCAuXG4iCisjfiAiT3RoZXIgb3B0aW9uczogWy1uZkZyc3Z3XSBbLW8gb3B0aW9uc10gWy1wIHBhc3N3ZGZkXS5cbiIKKyN+ICJGb3IgbWFueSBtb3JlIGRldGFpbHMsIHNheSAgbWFuIDggbW91bnQgLlxuIgorI34gbXNnc3RyICIiCisjfiAiUG91xb5pdMOtOiBtb3VudCAtViAgICAgICAgICAgICAgIDogdnlww63FoWUgaW5mb3JtYWNlIG8gdmVyemlcbiIKKyN+ICIgICAgICAgICBtb3VudCAtaCAgICAgICAgICAgICAgIDogdnlww63FoWUgdHV0byBuw6Fwb3bEm2R1XG4iCisjfiAiICAgICAgICAgbW91bnQgICAgICAgICAgICAgICAgICA6IHpvYnJhesOtIHNlem5hbSBwxZlpcG9qZW7DvWNoIHN5c3TDqW3FryBzb3Vib3LFr1xuIgorI34gIiAgICAgICAgIG1vdW50IC1sICAgICAgICAgICAgICAgOiB0b3TDqcW+IHBsdXMgam1lbm92a3kgc3ZhemvFr1xuIgorI34gIlRvdG8gYnlseSBwxZllcMOtbmHEjWUgc2xvdcW+w61jw60ga8KgesOtc2vDoW7DrSBpbmZvcm1hY8OtLiBOeW7DrSBrwqBwxZllcMOtbmHEjcWvbSBzbG91xb7DrWPDrW1cbiIKKyN+ICJrwqBwxZlpcG9qb3bDoW7DrSBzeXN0w6ltxa8gc291Ym9yxa8uXG4iCisjfiAiU3ludGF4ZSBqZSDigJ5tb3VudCBbLXQgU1NUWVBdIE7EmkNPIE7EmktBTeKAnC5cbiIKKyN+ICLDmmRhamUgb2JzYcW+ZW7DqSB2IC9ldGMvZnN0YWIgbW9ob3UgYsO9dCB2eW5lY2jDoW55LlxuIgorI34gIiAgICAgICAgIG1vdW50IC1hIFstdHwtT10g4oCmICAgICA6IHDFmWlwb2rDrSB2ZcWha2Vyw6kgcG9sb8W+a3kgesKgL2V0Yy9mc3RhYlxuIgorI34gIiAgICAgICAgIG1vdW50IFpBxZjDjVpFTsONICAgICAgICAgOiBwxZlpcG9qw60gWkHFmMONWkVOw40gbmEgem7DoW3DqSBtw61zdG9cbiIKKyN+ICIgICAgICAgICBtb3VudCBBRFJFU8OBxZggICAgICAgICAgOiBwxZlpcG9qw60gem7DoW3DqSB6YcWZw616ZW7DrSBrwqBBRFJFU8OBxZhJXG4iCisjfiAiICAgICAgICAgbW91bnQgLXQgVFlQIFpBxZggQURSICAgOiBixJvFvm7DoSBwb2RvYmEgcMWZw61rYXp1IHBybyBwxZlpcG9qZW7DrVxuIgorI34gIlV2xJtkb210ZSBzaSwgxb5lIHTDrW0sIGNvIHNlIHDFmWlwb2p1amUsIHZlIHNrdXRlxI1ub3N0aSBuZW7DrSB6YcWZw616ZW7DrSwgYWxlIHN5c3TDqW1cbiIKKyN+ICJzb3Vib3LFryAoZGFuw6lobyB0eXB1KSwga3RlcsO9IHNlIG5hIHRvbXRvIHphxZnDrXplbsOtIG5hY2jDoXrDrS5cbiIKKyN+ICJNxa/FvmV0ZSB0YWvDqSBwxZlpcG9qaXQgamnFviBwxZnDrXN0dXBuw70gYWRyZXPDocWZb3bDvSBzdHJvbSBuYSBqaW7DqSBtw61zdG86XG4iCisjfiAiICAgICAgICAgbW91bnQgLS1iaW5kIFNUQVLDnV9BRFJFU8OBxZggTk9Ww51fQURSRVPDgcWYXG4iCisjfiAibmVibyBwxZllc3Vub3V0IHBvZHN0cm9tOlxuIgorI34gIiAgICAgICAgIG1vdW50IC0tbW92ZSBTVEFSw51fQURSRVPDgcWYIE5PVsOdX0FEUkVTw4HFmFxuIgorI34gIk3Fr8W+ZXRlIHptxJtuaXQgdHlwIHDFmWlwb2plbsOtIG9ic2FodWrDrWPDrSBhZHJlc8OhxZkgQURSOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2hhcmVkIEFEUlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2xhdmUgQURSXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1wcml2YXRlIEFEUlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtdW5iaW5kYWJsZSBBRFJcbiIKKyN+ICJNxa/FvmV0ZSB6bcSbbml0IHR5cCB2xaFlY2ggcMWZaXBvamVuw60gdiBwb2RzdHJvbXUgcMWZaXBvamVuw61cbiIKKyN+ICJvYnNhaHVqw61jw60gYWRyZXPDocWZIEFEUjpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzaGFyZWQgQURSXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1yc2xhdmUgQURSXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ycHJpdmF0ZSBBRFJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJ1bmJpbmRhYmxlIEFEUlxuIgorI34gIlphxZnDrXplbsOtIG3Fr8W+ZSBiw710IHVkw6FubyBqbcOpbmVtIChuYXDFmS4gL2Rldi9oZGExIMSNaSAvZGV2L2Nkcm9tKSwgam1lbm92a291XG4iCisjfiAiKHBvbW9jw60gcMWZZXDDrW5hxI1lIC1MIEpNRU5PVktBKSBuZWJvIFVVSUQgKHBvbW9jw60gcMWZZXDDrW5hxI1lIC1VIFVVSUQpLlxuIgorI34gIkRhbMWhw60gcMWZZXDDrW5hxI1lOiBbLW5mRnJzdnddIFstbyBWT0xCWV0gWy1wIERFU0tSSVBUT1JfU19IRVNMRU1dLlxuIgorI34gIk1ub2hvIGRhbMWhw61jaCBpbmZvcm1hY8OtIHrDrXNrw6F0ZSBwxZnDrWthemVtIOKAnm1hbiA4IG1vdW504oCcLlxuIgorCisjfiBtc2dpZCAiLS1wYXNzLWZkIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQiCisjfiBtc2dzdHIgInDFmWVww61uYcSNIC0tcGFzcy1mZCBqacW+IG5lbsOtIHBvZHBvcm92w6FuIgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCisjfiBtc2dzdHIgIm1vdW50OiB0b3RvIG3Fr8W+ZSBwcm92w6lzdCBwb3V6ZSBzdXBlcnXFvml2YXRlbCAoZWZla3Rpdm7DrSBVSUQgamUgJXUpIgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKKyN+IG1zZ3N0ciAibW91bnQ6IHRvdG8gbcWvxb5lIHByb3bDqXN0IHBvdXplIHN1cGVydcW+aXZhdGVsIgorCisjfiBtc2dpZCAibm90aGluZyB3YXMgbW91bnRlZCIKKyN+IG1zZ3N0ciAibmVieWwgcMWZaXBvamVuIMW+w6FkbsO9IG9kZMOtbCIKKworI34gbXNnaWQgIm1vdW50OiBubyBzdWNoIHBhcnRpdGlvbiBmb3VuZCIKKyN+IG1zZ3N0ciAibW91bnQ6IMW+w6FkbsO9IG9kcG92w61kYWrDrWPDrSBvZGTDrWwgbmVieWwgbmFsZXplbiIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBmaW5kICVzIGluICVzIG9yICVzIgorI34gbXNnc3RyICJtb3VudDogJXMgbmVsemUgbmFsw6l6dCB2ICVzIGFuaSAlcyIKKworI34gbXNnaWQgIlttbnRlbnRdOiB3YXJuaW5nOiBubyBmaW5hbCBuZXdsaW5lIGF0IHRoZSBlbmQgb2YgJXNcbiIKKyN+IG1zZ3N0ciAiW21udGVudF06IHZhcm92w6Fuw606ICVzIG5lbsOtIHVrb27EjWVubyBub3ZvdSDFmcOhZGtvdVxuIgorCisjfiBtc2dpZCAiW21udGVudF06IGxpbmUgJWQgaW4gJXMgaXMgYmFkJXNcbiIKKyN+IG1zZ3N0ciAiW21udGVudF06IMWZw6FkZWsgJWQgdiAlcyBqZSBjaHlibsO9JXNcbiIKKworI34gbXNnaWQgIjsgcmVzdCBvZiBmaWxlIGlnbm9yZWQiCisjfiBtc2dzdHIgIjsgaWdub3J1amkgemJ5dGVrIHNvdWJvcnUiCisKKyN+IG1zZ2lkICJub3QgZW5vdWdoIG1lbW9yeSIKKyN+IG1zZ3N0ciAiTmVkb3N0YXRlayBwYW3Em3RpIgorCisjfiBtc2dpZCAidW1vdW50OiBjb21waWxlZCB3aXRob3V0IHN1cHBvcnQgZm9yIC1mXG4iCisjfiBtc2dzdHIgInVtb3VudCBieWwgcMWZZWxvxb5lbiBiZXogcG9kcG9yeSBwcm8gLWZcbiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IHNldCBncm91cCBpZDogJW0iCisjfiBtc2dzdHIgInVtb3VudDogxI3DrXNsbyBza3VwaW55IChHSUQpIG5lbHplIG5hc3Rhdml0OiAlbSIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IHNldCB1c2VyIGlkOiAlbSIKKyN+IG1zZ3N0ciAidW1vdW50OiDEjcOtc2xvIHXFvml2YXRlbGUgKFVJRCkgbmVsemUgbmFzdGF2aXQ6ICVtIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgZm9yazogJXMiCisjfiBtc2dzdHIgInVtb3VudDogdm9sw6Fuw60gZm9yayBzZWxoYWxvOiAlcyIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGludmFsaWQgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJ1bW91bnQ6IGJsb2tvdsOpIHphxZnDrXplbsOtICVzIGplIGNoeWJuw6kiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBub3QgbW91bnRlZCIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBuZW7DrSBwxZlpcG9qZW5vIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAidW1vdW50OiBzdXBlcmJsb2sgbmVsemUgbmEgJXMgemFwc2F0IgorCisjfiBtc2dpZCAiIgorI34gInVtb3VudDogJXM6IGRldmljZSBpcyBidXN5LlxuIgorI34gIiAgICAgICAgKEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gYWJvdXQgcHJvY2Vzc2VzIHRoYXQgdXNlXG4iCisjfiAiICAgICAgICAgdGhlIGRldmljZSBpcyBmb3VuZCBieSBsc29mKDgpIG9yIGZ1c2VyKDEpKSIKKyN+IG1zZ3N0ciAiIgorI34gInVtb3VudDogJXM6IHphxZnDrXplbsOtIGplIHBvdcW+w612w6Fuby5cbiIKKyN+ICIgICAgICAgIChWwqBuxJtrdGVyw71jaCBwxZnDrXBhZGVjaCBsemUgesOtc2thdCB1xb5pdGXEjW7DqSBpbmZvcm1hY2Ugb8KgcHJvY2VzZWNoLFxuIgorI34gIiAgICAgICAga3RlcsOpIHNlIHphxZnDrXplbsOtbSBwcmFjdWrDrSwgcG9tb2PDrSBuw6FzdHJvasWvIGxzb2YoOCkgYSBmdXNlcigxKS4pIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogbm90IGZvdW5kIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIG5lbHplIG5hasOtdCIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVtb3VudCIKKyN+IG1zZ3N0ciAidW1vdW50OiBtdXPDrXRlIGLDvXQgc3VwZXJ1xb5pdmF0ZWxlbSwgYWJ5c3RlIG1vaGwgb2Rwb2ppdCAlcyIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGJsb2NrIGRldmljZXMgbm90IHBlcm1pdHRlZCBvbiBmcyIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogYmxva292w6EgemHFmcOtemVuw60gbmVqc291IG5hIHN5c3TDqW11IHNvdWJvcsWvIHBvdm9sZW5hIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogJXMiCisjfiBtc2dzdHIgInVtb3VudDogJXM6ICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBpbnRlcm5hbCBlcnJvcjogaW52YWxpZCBhYnMgcGF0aDogJXMiCisjfiBtc2dzdHIgInVtb3VudDogdm5pdMWZbsOtIGNoeWJhOiBuZXBhdG7DrSBhYnNvbHV0bsOtIGNlc3RhOiAlcyIKKworI34gbXNnaWQgInVtb3VudDogZmFpbGVkIHRvIGNoZGlyIHRvICVzOiAlbSIKKyN+IG1zZ3N0ciAidW1vdW50OiBkbyBhZHJlc8OhxZllICVzIG5lbHplIHDFmWVqw610OiAlbSIKKworI34gbXNnaWQgInVtb3VudDogZmFpbGVkIHRvIG9idGFpbiBjdXJyZW50IGRpcmVjdG9yeTogJW0iCisjfiBtc2dzdHIgInVtb3VudDogYWt0dcOhbG7DrSBhZHJlc8OhxZkgbmVsemUgemppc3RpdDogJW0iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IG1vdW50cG9pbnQgbW92ZWQgKCVzIC0+ICVzKSIKKyN+IG1zZ3N0ciAidW1vdW50OiBwxZnDrXBvam7DvSBib2QgcMWZZW3DrXN0xJtuICglcyDihpIgJXMpIgorCisjfiBtc2dpZCAiY3VycmVudCBkaXJlY3RvcnkgbW92ZWQgdG8gJXNcbiIKKyN+IG1zZ3N0ciAiYWt0dcOhbG7DrSBhZHJlc8OhxZkgcMWZZW3DrXN0xJtuIGRvICVzXG4iCisKKyN+IG1zZ2lkICJubyB1bW91bnQyLCB0cnlpbmcgdW1vdW50Li4uXG4iCisjfiBtc2dzdHIgIm5lbmFsZXpsIGpzZW0gdW1vdW50MiwgemtvdcWhw61tIHVtb3VudOKAplxuIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBidXN5IC0gcmVtb3VudGVkIHJlYWQtb25seVxuIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIGplIHByw6F2xJsgcG91xb7DrXbDoW5vIC0gem5vdnUgcMWZaXBvamVubyB2IHJlxb5pbXUgcHJvIHBvdXplIMSNdGVuw61cbiIKKworI34gbXNnaWQgInVtb3VudDogY291bGQgbm90IHJlbW91bnQgJXMgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgbmVsemUgem5vdnUgcMWZaXBvaml0IHYgcmXFvmltdSBwb3V6ZSBwcm8gxI10ZW7DrVxuIgorCisjfiBtc2dpZCAiJXMgaGFzIGJlZW4gdW5tb3VudGVkXG4iCisjfiBtc2dzdHIgIiVzIGJ5bG8gb2Rwb2plbm9cbiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IGZpbmQgbGlzdCBvZiBmaWxlc3lzdGVtcyB0byB1bm1vdW50IgorI34gbXNnc3RyICJ1bW91bnQ6IHNlem5hbSBzeXN0w6ltxa8gc291Ym9yxa8gbmEgb2Rwb2plbsOtIG5lbHplIG5hbMOpenQiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IHVtb3VudCAtaCB8IC1WXG4iCisjfiAiICAgICAgIHVtb3VudCAtYSBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gWy10IHZmc3R5cGVzXSBbLU8gb3B0c11cbiIKKyN+ICIgICAgICAgdW1vdW50IFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBzcGVjaWFsIHwgbm9kZS4uLlxuIgorI34gbXNnc3RyICIiCisjfiAiUG91xb5pdMOtOiB1bW91bnQgLWggfCAtVlxuIgorI34gIiAgICAgICAgIHVtb3VudCAtYSBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gWy10IFRZUFlfVkZTXSBbLU8gVk9MQlldXG4iCisjfiAiICAgICAgICAgdW1vdW50IFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBTUEVDScOBTE7DjV9TT1VCT1IgfCBVWkVM4oCmXG4iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJ29mZnNldD0lcycgb3B0aW9uc1xuIgorI34gbXNnc3RyICJuZXpkYcWZaWxvIHJvemVicmF0IHZvbGJ5IOKAnm9mZnNldD0lc+KAnFxuIgorCisjfiBtc2dpZCAiZGV2aWNlICVzIGlzIGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICJ6YcWZw616ZW7DrSAlcyBqZSBzcG9qZW5vIHPCoCVzXG4iCisKKyN+IG1zZ2lkICJkZXZpY2UgJXMgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICJ6YcWZw616ZW7DrSAlcyBuZW7DrSBzcG9qZW5vIHPCoCVzXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgdW5tb3VudCBcIlwiXG4iCisjfiBtc2dzdHIgIuKAnuKAnCBuZWx6ZSBvZHBvaml0XG4iCisKKyN+IG1zZ2lkICJUcnlpbmcgdG8gdW5tb3VudCAlc1xuIgorI34gbXNnc3RyICJaa291xaHDrSBzZSBvZHBvaml0ICVzXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNvbmZ1c2VkIHdoZW4gYW5hbHl6aW5nIG10YWIiCisjfiBtc2dzdHIgInVtb3VudDogYW5hbMO9emEgbXRhYiBkw6F2w6EgbWF0b3Vjw60gdsO9c2xlZGt5IgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgdW5tb3VudCAlcyAtLSAlcyBpcyBtb3VudGVkIG92ZXIgaXQgb24gdGhlIHNhbWUgcG9pbnQiCisjfiBtc2dzdHIgInVtb3VudDogJXMgbmVsemUgb2Rwb2ppdMKg4oCTIG5hIHN0ZWpuw6kgbcOtc3RvIGplIHDFmWVzIG7Em2ogcMWZaXBvamVubyAlcyIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBmaW5kICVzIGluIG10YWJcbiIKKyN+IG1zZ3N0ciAiJXMgbmVsemUgdiBtdGFiIG5hasOtdFxuIgorCisjfiBtc2dpZCAidW1vdW50OiB3YXJuaW5nOiAlcyBpcyBhc3NvY2lhdGVkIHdpdGggbW9yZSB0aGFuIG9uZSBsb29wIGRldmljZVxuIgorI34gbXNnc3RyICJ1bW91bnQ6IHBvem9yOiAlcyBqZSBzcG9qZW5vIHPCoHbDrWNlIGphayBqZWRuw61tIGxvb3AgemHFmcOtemVuw61tXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGlzIG5vdCBtb3VudGVkIChhY2NvcmRpbmcgdG8gbXRhYikiCisjfiBtc2dzdHIgInVtb3VudDogcG9kbGUgbXRhYiBuZW7DrSAlcyBwxZlpcG9qZW5vIgorCisjfiBtc2dpZCAidW1vdW50OiBpdCBzZWVtcyAlcyBpcyBtb3VudGVkIG11bHRpcGxlIHRpbWVzIgorI34gbXNnc3RyICJ1bW91bnQ6IHpkw6Egc2UsIMW+ZSAlcyBqZSBwxZlpcG9qZW5vIHbDrWNlIG5lxb4gamVkbm91IgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBpcyBub3QgaW4gdGhlIGZzdGFiIChhbmQgeW91IGFyZSBub3Qgcm9vdCkiCisjfiBtc2dzdHIgInVtb3VudDogJXMgbmVuw60gdmUgZnN0YWIgKGEgdnkgbmVqc3RlIHJvb3QpIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBtb3VudCBkaXNhZ3JlZXMgd2l0aCB0aGUgZnN0YWIiCisjfiBtc2dzdHIgInVtb3VudDogcMWZaXBvamVuw60gJXMgbmVvZHBvdsOtZMOhIGZzdGFiIgorCisjfiBtc2dpZCAidW1vdW50OiBvbmx5ICVzIGNhbiB1bm1vdW50ICVzIGZyb20gJXMiCisjfiBtc2dzdHIgInVubW91bnQ6IHBvdXplIHXFvml2YXRlbCAlcyBtxa/FvmUgb2Rwb2ppdCAlcyB6ZSAlcyIKKworI34gbXNnaWQgInVtb3VudDogb25seSByb290IGNhbiBkbyB0aGF0IgorI34gbXNnc3RyICJ1bW91bnQ6IHRvdG8gbcWvxb5lIHByb3bDqXN0IHBvdXplIHXFvml2YXRlbCByb290IgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIiUxJHMgLSBzZXRzIG9yIGdldHMgcHJvY2VzcyBpbyBzY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eS5cbiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgICUxJHMgW09QVElPTl0gLXAgUElEIFtQSUQuLi5dXG4iCisjfiAiICAlMSRzIFtPUFRJT05dIENPTU1BTkRcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAgLWMsIC0tY2xhc3MgPGNsYXNzPiAgIHNjaGVkdWxpbmcgY2xhc3MgbmFtZSBvciBudW1iZXJcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKKyN+ICIgIC1uLCAtLWNsYXNzZGF0YSA8bnVtPiBzY2hlZHVsaW5nIGNsYXNzIGRhdGFcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAwLTcgZm9yIHJlYWx0aW1lIGFuZCBiZXN0LWVmZm9ydCBjbGFzc2VzXG4iCisjfiAiICAtcCwgLS1waWQ9UElEICAgICAgICAgdmlldyBvciBtb2RpZnkgYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NcbiIKKyN+ICIgIC10LCAtLWlnbm9yZSAgICAgICAgICBpZ25vcmUgZmFpbHVyZXNcbiIKKyN+ICIgIC1WLCAtLXZlcnNpb24gICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAgLWgsIC0taGVscCAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlMSRzwqDigJMgemppc3TDrSBuZWJvIG5hc3RhdsOtIHBsw6Fub3ZhY8OtIHTFmcOtZHUgbmVibyBwcmlvcml0dSBJL08uXG4iCisjfiAiXG4iCisjfiAiUG91xb5pdMOtOlxuIgorI34gIiAgJTEkcyBbUMWYRVDDjU5BxIxdIC1wIFBJRCBbUElE4oCmXVxuIgorI34gIiAgJTEkcyBbUMWYRVDDjU5BxIxdIFDFmMONS0FaXG4iCisjfiAiXG4iCisjfiAiUMWZZXDDrW5hxI1lOlxuIgorI34gIiAgLWMsIC0tY2xhc3MgVMWYw41EQSAgICAgIG7DoXpldiBuZWJvIMSNw61zbG8gcGzDoW5vdmFjw60gdMWZw61keVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lIFvFvsOhZG7DoV0sIDE6IHJlYWx0aW1lIFtyZcOhbG7DvSDEjWFzXSxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGUgW3phaMOhbGVuw61dXG4iCisjfiAiICAtbiwgLS1jbGFzc2RhdGEgxIzDjVNMTyAgZGF0YSBwbMOhbm92YWPDrSB0xZnDrWR5XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgIDAtNyBwxZlvIHTFmcOtZHkgcmXDoWxuw6lobyDEjWFzdSBhIGJlc3QtZWZmb3J0XG4iCisjfiAiICAtcCwgLS1waWQ9UElEICAgICAgICAgIHpvYnJhesOtIG5lYm8gem3Em27DrSBqacW+IGLEm8W+w61jw60gcHJvY2VzXG4iCisjfiAiICAtdCwgLS1pZ25vcmUgICAgICAgICAgIGlnbm9ydWplIHNlbGjDoW7DrVxuIgorI34gIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICB6b2JyYXrDrSDDumRhamUgb8KgdmVyemkgYSBza29uxI3DrVxuIgorI34gIiAgLWgsIC0taGVscCAgICAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHVcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPHR0eT4gWy4uLl1cbiIKKyN+IG1zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIDxUVFk+IFvigKZdXG4iCisKKyN+IG1zZ2lkICIgLXMsIC0tc2V0LXRocmVzaG9sZCA8bnVtPiAgICAgICAgICBzZXQgaW50ZXJydXB0aW9uIHRocmVzaG9sZCB2YWx1ZVxuIgorI34gbXNnc3RyICIgLXMsIC0tc2V0LXRocmVzaG9sZCA8xI3DrXNsbz4gICAgICAgIG5hc3RhdsOtIHByYWhvdm91IGhvZG5vdHUgcMWZZXJ1xaFlbsOtXG4iCisKKyN+IG1zZ2lkICIgLVMsIC0tc2V0LWRlZmF1bHQtdGhyZXNob2xkIDxudW0+ICBzZXQgZGVmYXVsdCB0aHJlc2hvbGQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAiIC1TLCAtLXNldC1kZWZhdWx0LXRocmVzaG9sZCA8xI3DrXNsbz4gbmFzdGF2w60gdsO9Y2hvesOtIHByYWhvdm91IGhvZG5vdHVcbiIKKworI34gbXNnaWQgIiAtdCwgLS1zZXQtZmx1c2ggPG51bT4gICAgICAgICAgICAgIHNldCBmbHVzaCB0aW1lb3V0IHRvIHZhbHVlXG4iCisjfiBtc2dzdHIgIiAtdCwgLS1zZXQtZmx1c2ggPMSNw61zbG8+ICAgICAgICAgICAgbmFzdGF2w60gxI1hc292w70gbGltaXQgcHJvIHZ5cHLDoXpkbsSbbsOtXG4iCisKKyN+IG1zZ2lkICIgLVQsIC0tc2V0LWRlZmF1bHQtZmx1c2ggPG51bT4gICAgICBzZXQgdGhlIGRlZmF1bHQgZmx1c2ggdGltZW91dCB0byB2YWx1ZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1ULCAtLXNldC1kZWZhdWx0LWZsdXNoIDzEjcOtc2xvPiAgICBuYXN0YXbDrSB2w71jaG96w60gdsO9Y2hvesOtIMSNYXNvdsO9IGxpbWl0XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvIHZ5cHLDoXpkbsSbbsOtXG4iCisKKyN+IG1zZ2lkICIgLWksIC0taW50ZXJ2YWwgPHNlY29uZHM+ICAgICAgICAgICBnYXRoZXIgc3RhdGlzdGljcyBldmVyeSA8c2Vjb25kcz4gaW50ZXJ2YWxcbiIKKyN+IG1zZ3N0ciAiIC1pLCAtLWludGVydmFsIDxzZWt1bmR5PiAgICAgICAgICAgc2ViZXJlIHN0YXRpc3RpY2vDqSDDumRhamUga2HFvmTDvWNoIDxzZWt1bmQ+XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRmlsZSAlcywgRm9yIHRocmVzaG9sZCB2YWx1ZSAlbHUsIE1heGltdW0gY2hhcmFjdGVycyBpbiBmaWZvIHdlcmUgJWQsXG4iCisjfiAiYW5kIHRoZSBtYXhpbXVtIHRyYW5zZmVyIHJhdGUgaW4gY2hhcmFjdGVycy9zZWNvbmQgd2FzICVmIgorI34gbXNnc3RyICIiCisjfiAiU291Ym9yICVzLCBwcm8gcHJhaG92b3UgaG9kbm90dSAlbHUsIG1heGltw6FsbsOtIHBvxI1ldCB6bmFrxa8gdmUgZnJvbnTEm1xuIgorI34gImJ5bCAlZCBhIG1heGltw6FsbsOtIHDFmWVub3NvdsOhIHJ5Y2hsb3N0IHZlIHpuYWPDrWNoIHphIHNla3VuZHUgYnlsYSAlZiIKKworI34gbXNnaWQgIiIKKyN+ICJGaWxlICVzLCBGb3IgdGhyZXNob2xkIHZhbHVlICVsdSBhbmQgdGltZW91dCB2YWx1ZSAlbHUsIE1heGltdW0gY2hhcmFjdGVycyBpbiBmaWZvIHdlcmUgJWQsXG4iCisjfiAiYW5kIHRoZSBtYXhpbXVtIHRyYW5zZmVyIHJhdGUgaW4gY2hhcmFjdGVycy9zZWNvbmQgd2FzICVmIgorI34gbXNnc3RyICIiCisjfiAiU291Ym9yICVzLCBwcm8gcHJhaG92b3UgaG9kbm90dSAlbHUgYSDEjWFzb3bDvSBsaW1pdCAlbHUsIG1heGltw6FsbsOtIHBvxI1ldCB6bmFrxa9cbiIKKyN+ICJ2ZSBmcm9udMSbIGJ5bCAlZCBhIG1heGltw6FsbsOtIHDFmWVub3NvdsOhIHJ5Y2hsb3N0IHZlIHpuYWPDrWNoIHphIHNla3VuZHVcbiIKKyN+ICJieWxhICVmIgorCisjfiBtc2dpZCAiY2Fubm90IGlzc3VlIENZR0VUTU9OIG9uICVzIgorI34gbXNnc3RyICJDWUdFVE1PTiBuZWx6ZSBuYSAlcyBwcm92w6lzdCIKKworI34gbXNnaWQgImNhbm5vdCBnZXQgdGhyZXNob2xkIGZvciAlcyIKKyN+IG1zZ3N0ciAicHJhaG92b3UgaG9kbm90dSBwcm8gJXMgbmVsemUgemppc3RpdCIKKworI34gbXNnaWQgImNhbm5vdCBnZXQgdGltZW91dCBmb3IgJXMiCisjfiBtc2dzdHIgIsSNYXNvdsO9IGxpbWl0IHBybyAlcyBuZWx6ZSB6amlzdGl0IgorCisjfiBtc2dpZCAiJXM6ICVsdSBpbnRzLCAlbHUvJWx1IGNoYXJzOyBmaWZvOiAlbHUgdGhyZXNoLCAlbHUgdG1vdXQsICVsdSBtYXgsICVsdSBub3dcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsdSBwxZllcnXFoWVuw60sICVsdS8lbHUgem5ha8WvOyBmaWZvOiAlbHUgcHLDoWgsICVsdSDEjWFzb3bDvSBsaW1pdCwgJWx1IG1heCwgJWx1IG55bsOtXG4iCisKKyN+IG1zZ2lkICIgICAlZiBpbnQvc2VjOyAlZiByZWMsICVmIHNlbmQgKGNoYXIvc2VjKVxuIgorI34gbXNnc3RyICIgICAlZiBwxZllci4vczsgJWYgcMWZw61qLiwgJWYgb2Rlc2wuICh6bmFrL3MpXG4iCisKKyN+IG1zZ2lkICIlczogJWx1IGludHMsICVsdSBjaGFyczsgZmlmbzogJWx1IHRocmVzaCwgJWx1IHRtb3V0LCAlbHUgbWF4LCAlbHUgbm93XG4iCisjfiBtc2dzdHIgIiVzOiAlbHUgcMWZZXJ1xaFlbsOtLCAlbHUgem5ha8WvOyBmaWZvOiAlbHUgcHLDoWgsICVsdSDEjWFzb3bDvSBsaW1pdCwgJWx1IG1heCwgJWx1IG55bsOtXG4iCisKKyN+IG1zZ2lkICIgICAlZiBpbnQvc2VjOyAlZiByZWMgKGNoYXIvc2VjKVxuIgorI34gbXNnc3RyICIgICAlZiBwxZllci4vczsgJWYgcMWZw61qLiAoem5hay9zKVxuIgorCisjfiBtc2dpZCAiSW52YWxpZCBpbnRlcnZhbCB2YWx1ZSIKKyN+IG1zZ3N0ciAiQ2h5Ym7DoSBob2Rub3RhIHJvenDEm3TDrSIKKworI34gbXNnaWQgIkludmFsaWQgaW50ZXJ2YWwgdmFsdWU6ICVkIgorI34gbXNnc3RyICJDaHlibsOhIGhvZG5vdGEgcm96cMSbdMOtOiAlZCIKKworI34gbXNnaWQgIkludmFsaWQgc2V0IHZhbHVlIgorI34gbXNnc3RyICJDaHlibsOhIGhvZG5vdGEga8KgbmFzdGF2ZW7DrSIKKworI34gbXNnaWQgIkludmFsaWQgc2V0IHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiQ2h5Ym7DoSBob2Rub3RhIGvCoG5hc3RhdmVuw606ICVkIgorCisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHZhbHVlIgorI34gbXNnc3RyICJDaHlibsOhIHbDvWNob3rDrSBob2Rub3RhIgorCisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiQ2h5Ym7DoSB2w71jaG96w60gaG9kbm90YTogJWQiCisKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICJDaHlibsO9IMSNYXNvdsO9IMO6ZGFqIGvCoG5hc3RhdmVuw60iCisKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiQ2h5Ym7DvSDEjWFzb3bDvSDDumRhaiBrwqBuYXN0YXZlbsOtOiAlZCIKKworI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICJDaHlibsO9IHbDvWNob3rDrSDEjWFzb3bDvSDDumRhaiIKKworI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB0aW1lIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiQ2h5Ym7DvSB2w71jaG96w60gxI1hc292w70gw7pkYWo6ICVkIgorCisjfiBtc2dpZCAiY2Fubm90IHNldCAlcyB0byB0aHJlc2hvbGQgJWQiCisjfiBtc2dzdHIgIiVzIG5lbHplIG5hc3Rhdml0IG5hIHByYWhvdm91IGhvZG5vdHUgJWQiCisKKyN+IG1zZ2lkICJjYW5ub3Qgc2V0ICVzIHRvIHRpbWUgdGhyZXNob2xkICVkIgorI34gbXNnc3RyICIlcyBuZWx6ZSBuYXN0YXZpdCBuYSDEjWFzb3bDvSBsaW1pdCAlZCIKKworI34gbXNnaWQgIiVzOiAlbGQgY3VycmVudCB0aHJlc2hvbGQgYW5kICVsZCBjdXJyZW50IHRpbWVvdXRcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCBzb3XEjWFzbsOhIHByYWhvdsOhIGhvZG5vdGEgYSAlbGQgc291xI1hc27DvSDEjWFzb3bDvSBsaW1pdFxuIgorCisjfiBtc2dpZCAiJXM6ICVsZCBkZWZhdWx0IHRocmVzaG9sZCBhbmQgJWxkIGRlZmF1bHQgdGltZW91dFxuIgorI34gbXNnc3RyICIlczogJWxkIHbDvWNob3rDrSBwcmFob3bDoSBob2Rub3RhIGEgJWxkIHbDvWNob3rDrSDEjWFzb3bDvSBsaW1pdFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbiwgLS1rZWVwLXNpemUgICAgIGRvbid0IG1vZGlmeSB0aGUgbGVuZ3RoIG9mIHRoZSBmaWxlXG4iCisjfiAiIC1wLCAtLXB1bmNoLWhvbGUgICAgcHVuY2ggaG9sZXMgaW4gdGhlIGZpbGVcbiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgb2YgdGhlIGFsbG9jYXRpb24sIGluIGJ5dGVzXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIHRoZSBhbGxvY2F0aW9uLCBpbiBieXRlc1xuIgorI34gbXNnc3RyICIiCisjfiAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgICBuZW3Em27DrSBkw6lsa3Ugc291Ym9ydVxuIgorI34gIiAtcCwgLS1wdW5jaC1ob2xlICAgICAgdnlyYXrDrSBkbyBzb3Vib3J1IGTDrXJ5XG4iCisjfiAiIC1vLCAtLW9mZnNldCA8xI3DrXNsbz4gIHBvemljZSBhbG9rYWNlIHbCoGJhanRlY2hcbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDzEjcOtc2xvPiAgZMOpbGthIGFsb2thY2UgdsKgYmFqdGVjaFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKKyN+ICIgLW0sIC0tbWluaW11bSA8bnVtPiBtaW5pbXVtIGV4dGVudCBsZW5ndGggdG8gZGlzY2FyZFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IG51bWJlciBvZiBkaXNjYXJkZWQgYnl0ZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtbywgLS1vZmZzZXQgPMSNw61zbG8+ICAgemHEjcOhdGVrIHphaG9kaXRlbG7DqSBvYmxhc3RpIHbCoGJhanRlY2hcbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDzEjcOtc2xvPiAgIGTDqWxrYSB6YWhvZGl0ZWxuw6kgb2JsYXN0aSB2wqBiYWp0ZWNoXG4iCisjfiAiIC1tLCAtLW1pbmltdW0gPMSNw61zbG8+ICBkw6lsa2EgbmVqbWVuxaHDrWhvIHphaG9kaXRlbG7DqWhvIHJvenNhaHVcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB2eXDDrcWhZSBwb8SNZXQgemFob3plbsO9Y2ggYmFqdMWvXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGltZSBlbGFwc2VkIHNpbmNlIHJlZmVyZW5jZSB0aW1lIGhhcyBiZWVuICUuNmYgc2Vjb25kcy5cbiIKKyN+ICJEZWxheWluZyBmdXJ0aGVyIHRvIHJlYWNoIHRoZSBuZXcgdGltZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlBvxI1ldCBzZWt1bmQgdXBseW51bMO9Y2ggb2QgcmVmZXJlbsSNbsOtaG8gxI1hc3U6ICUuNmYuXG4iCisjfiAixIxla8OhbSwgZG9rdWQgbmVidWRlIGRvc2HFvmVuIG5vdsO9IMSNYXMuXG4iCisKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGRldGVybWluZSBzb3VyY2UiCisjfiBtc2dzdHIgIiVzOiBuZXBvZGHFmWlsbyBzZSB1csSNaXQgemRyb2oiCisKKyN+IG1zZ2lkICIgLXRlcm0gPHRlcm1pbmFsX25hbWU+XG4iCisjfiBtc2dzdHIgIiAtdGVybSA8bsOhemV2X3Rlcm1pbsOhbHU+XG4iCisKKyN+IG1zZ2lkICIgLXJlc2V0XG4iCisjfiBtc2dzdHIgIiAtcmVzZXRcbiIKKworI34gbXNnaWQgIiAtaW5pdGlhbGl6ZVxuIgorI34gbXNnc3RyICIgLWluaXRpYWxpemVcbiIKKworI34gbXNnaWQgIiAtY3Vyc29yIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtY3Vyc29yIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLXJlcGVhdCA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLXJlcGVhdCA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1hcHBjdXJzb3JrZXlzIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtYXBwY3Vyc29ya2V5cyA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1saW5ld3JhcCA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLWxpbmV3cmFwIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLWRlZmF1bHRcbiIKKyN+IG1zZ3N0ciAiIC1kZWZhdWx0XG4iCisKKyN+IG1zZ2lkICIgLWZvcmVncm91bmQgPGRlZmF1bHR8YmxhY2t8Ymx1ZXxjeWFufGdyZWVufG1hZ2VudGF8cmVkfHdoaXRlfHllbGxvdz5cbiIKKyN+IG1zZ3N0ciAiIC1mb3JlZ3JvdW5kIDxkZWZhdWx0fGJsYWNrfGJsdWV8Y3lhbnxncmVlbnxtYWdlbnRhfHJlZHx3aGl0ZXx5ZWxsb3c+XG4iCisKKyN+IG1zZ2lkICIgLWJhY2tncm91bmQgPGRlZmF1bHR8YmxhY2t8Ymx1ZXxjeWFufGdyZWVufG1hZ2VudGF8cmVkfHdoaXRlfHllbGxvdz5cbiIKKyN+IG1zZ3N0ciAiIC1iYWNrZ3JvdW5kIDxkZWZhdWx0fGJsYWNrfGJsdWV8Y3lhbnxncmVlbnxtYWdlbnRhfHJlZHx3aGl0ZXx5ZWxsb3c+XG4iCisKKyN+IG1zZ2lkICIgLWhiY29sb3IgPGJsYWNrfGJsdWV8YnJpZ2h0fGN5YW58Z3JlZW58Z3JleXxtYWdlbnRhfHJlZHx3aGl0ZXx5ZWxsb3c+XG4iCisjfiBtc2dzdHIgIiAtaGJjb2xvciA8YmxhY2t8Ymx1ZXxicmlnaHR8Y3lhbnxncmVlbnxncmV5fG1hZ2VudGF8cmVkfHdoaXRlfHllbGxvdz5cbiIKKworI34gbXNnaWQgIiAtaW52ZXJzZXNjcmVlbiA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLWludmVyc2VzY3JlZW4gPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtYm9sZCA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLWJvbGQgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtYmxpbmsgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1ibGluayA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1yZXZlcnNlIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtcmV2ZXJzZSA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC11bmRlcmxpbmUgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC11bmRlcmxpbmUgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtc3RvcmVcbiIKKyN+IG1zZ3N0ciAiIC1zdG9yZVxuIgorCisjfiBtc2dpZCAiIC1jbGVhciA8YWxsfHJlc3Q+XG4iCisjfiBtc2dzdHIgIiAtY2xlYXIgPGFsbHxyZXN0PlxuIgorCisjfiBtc2dpZCAiIC10YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+IG1zZ3N0ciAiIC10YWJzIDx0YWIxIHRhYjIgdGFiM+KApj4gICAgICAoaW5kZXggdGFidWzDoXRvcnUgPSAxLTE2MClcbiIKKworI34gbXNnaWQgIiAtY2xydGFicyA8dGFiMSB0YWIyIHRhYjMgLi4uPiAgICh0YWJuID0gMS0xNjApXG4iCisjfiBtc2dzdHIgIiAtY2xydGFicyA8dGFiMSB0YWIyIHRhYjPigKY+ICAgICAgKGluZGV4IHRhYnVsw6F0b3J1ID0gMS0xNjApXG4iCisKKyN+IG1zZ2lkICIgLXJlZ3RhYnMgPDEtMTYwPlxuIgorI34gbXNnc3RyICIgLXJlZ3RhYnMgPDEtMTYwPlxuIgorCisjfiBtc2dpZCAiIC1ibGFuayA8MC02MHxmb3JjZXxwb2tlPlxuIgorI34gbXNnc3RyICIgLWJsYW5rIDwwLTYwfGZvcmNlfHBva2U+XG4iCisKKyN+IG1zZ2lkICIgLWR1bXAgICA8MS1OUl9DT05TT0xFUz5cbiIKKyN+IG1zZ3N0ciAiIC1kdW1wICAgPDEtUE/EjEVUX0tPTlpPTMONXT5cbiIKKworI34gbXNnaWQgIiAtYXBwZW5kIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gbXNnc3RyICIgLWFwcGVuZCA8MS1QT8SMRVRfS09OWk9Mw40+XG4iCisKKyN+IG1zZ2lkICIgLWZpbGUgZHVtcGZpbGVuYW1lXG4iCisjfiBtc2dzdHIgIiAtZmlsZSB2w71zdHVwbsOtX3NvdWJvclxuIgorCisjfiBtc2dpZCAiIC1tc2cgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1tc2cgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtbXNnbGV2ZWwgPDAtOD5cbiIKKyN+IG1zZ3N0ciAiIC1tc2dsZXZlbCA8MC04PlxuIgorCisjfiBtc2dpZCAiIC1wb3dlcmRvd24gPDAtNjA+XG4iCisjfiBtc2dzdHIgIiAtcG93ZXJkb3duIDwwLTYwPlxuIgorCisjfiBtc2dpZCAiIC1ibGVuZ3RoIDwwLTIwMDA+XG4iCisjfiBtc2dzdHIgIiAtYmxlbmd0aCA8MC0yMDAwPlxuIgorCisjfiBtc2dpZCAiIC1iZnJlcSBmcmVxbnVtYmVyXG4iCisjfiBtc2dzdHIgIiAtYmZyZXEgZnJla3ZlbmNlXG4iCisKKyN+IG1zZ2lkICIgLXZlcnNpb25cbiIKKyN+IG1zZ3N0ciAiIC12ZXJzaW9uXG4iCisKKyN+IG1zZ2lkICIgLWhlbHBcbiIKKyN+IG1zZ3N0ciAiIC1oZWxwXG4iCisKKyN+IG1zZ2lkICJFcnJvciB3cml0aW5nIHNjcmVlbmR1bXAiCisjfiBtc2dzdHIgIkNoeWJhIHDFmWkgdWtsw6Fkw6Fuw60gb2JzYWh1IG9icmF6b3ZreSIKKworI34gbXNnaWQgIkNvdWxkbid0IHJlYWQgbmVpdGhlciAvZGV2L3Zjc2EwIG5vciAvZGV2L3Zjc2EiCisjfiBtc2dzdHIgIkFuaSAvZGV2L3ZjczAgYW5pIC9kZXYvdmNzYSBuZWJ5bG8gbW/Fvm7DqSBwxZllxI3DrXN0IgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiUG91xb5pdMOtOiAlcyBbcMWZZXDDrW5hxI1lXSBzb3Vib3LigKZcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAgLWQgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmcgYmVsbFxuIgorI34gIiAgLWYgICAgICAgIGNvdW50IGxvZ2ljYWwsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorI34gIiAgLWwgICAgICAgIHN1cHByZXNzIHBhdXNlIGFmdGVyIGZvcm0gZmVlZFxuIgorI34gIiAgLXAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGNsZWFuIHNjcmVlbiBhbmQgZGlzcGxheSB0ZXh0XG4iCisjfiAiICAtYyAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIKKyN+ICIgIC11ICAgICAgICBzdXBwcmVzcyB1bmRlcmxpbmluZ1xuIgorI34gIiAgLXMgICAgICAgIHNxdWVlemUgbXVsdGlwbGUgYmxhbmsgbGluZXMgaW50byBvbmVcbiIKKyN+ICIgIC1OVU0gICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgbGluZXMgcGVyIHNjcmVlbmZ1bFxuIgorI34gIiAgK05VTSAgICAgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBsaW5lIG51bWJlciBOVU1cbiIKKyN+ICIgICsvU1RSSU5HICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gc2VhcmNoIHN0cmluZyBtYXRjaFxuIgorI34gIiAgLVYgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQxZllcMOtbmHEjWU6XG4iCisjfiAiICAtZCAgICAgICAgem9icmF6w60gbsOhcG92xJtkdSBuYW3DrXN0byB6dm9ua3VcbiIKKyN+ICIgIC1mICAgICAgICBwb8SNw610w6EgbG9naWNreSBuYW3DrXN0byDFmcOhZGvFryBvYnJhem92a3lcbiIKKyN+ICIgIC1sICAgICAgICBwb3RsYcSNw60gcGF1enUgcG8gcG9zdW51IChwbyBmb3JtIGZlZWQpXG4iCisjfiAiICAtcCAgICAgICAgbmVwb3N1bnVqZSBvYnJhem92a3UsIHNtYcW+ZSBvYnJhem92a3UgYSB6b2JyYXrDrSB0ZXh0XG4iCisjfiAiICAtYyAgICAgICAgbmVwb3N1bnVqZSBvYnJhem92a3UsIHpvYnJhesOtIHRleHQgYSBvZHN0cmFuw60ga29uY2UgxZnDoWRrxa9cbiIKKyN+ICIgIC11ICAgICAgICBwb3RsYcSNw60gcG9kdHLFvmVuw61cbiIKKyN+ICIgIC1zICAgICAgICBvcGFrdWrDrWPDrSBzZSBwcsOhemRuw6kgxZnDoWRreSBzcmF6w60gZG8gamVkbm9ob1xuIgorI34gIiAgLcSMw41TTE8gICAgdXLEjXVqZSBwb8SNZXQgxZnDoWRrxa8gbmEgb2JyYXpvdmt1XG4iCisjfiAiICArxIzDjVNMTyAgICB6b2JyYXrDrSBzb3Vib3IgcG/EjcOtbmFqZSDFmcOhZGtlbSDEjMONU0xPXG4iCisjfiAiICArL8WYRVTEmlpFQyB6b2JyYXrDrSBzb3Vib3IgcG/EjcOtbmFqZSDFmcOhZGtlbSBzaG9kdWrDrWPDrW0gc2Ugc8KgxZjDgURLRU1cbiIKKyN+ICIgIC1WICAgICAgICB6b2JyYXrDrSDDumRhamUgb8KgdmVyemkgYSBza29uxI3DrVxuIgorCisjfiBtc2dpZCAibGluZSB0b28gbG9uZyIKKyN+IG1zZ3N0ciAixZnDoWRlayBqZSBwxZnDrWxpxaEgZGxvdWjDvSIKKworI34gbXNnaWQgInNldCBibG9ja3NpemUiCisjfiBtc2dzdHIgIm5hc3RhdsOtIHZlbGlrb3N0IGJsb2t1IgorCisjfiBtc2dpZCAib25lIGJhZCBibG9ja1xuIgorI34gbXNnc3RyICJjaHlibsO9Y2ggYmxva8WvOiAxXG4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gdHlwZSBoZXggb3IgdXVpZCIKKyN+IG1zZ3N0ciAiZHJ1aCBvZGTDrWx1IMWhZXN0bsOhY3Rrb3bEmyBuZWJvIFVVSUQiCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gemHFmcOtemVuw61cbiIKKworI34gbXNnaWQgInJlYWQgZmFpbGVkICVzIgorI34gbXNnc3RyICLEjXRlbsOtIHrCoCVzIHNlbGhhbG8iCisKKyN+IG1zZ2lkICJzZWVrIGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAiY2h5YmEgcMWZaSBwb2h5YnUgdsKgc291Ym9ydSAlcyIKKworI34gbXNnaWQgInNlZWsgZmFpbGVkOiAlZCIKKyN+IG1zZ3N0ciAiY2h5YmEgcMWZaSBwb2h5YnUgdsKgc291Ym9ydTogJWQiCisKKyN+IG1zZ2lkICJ3cml0ZSBmYWlsZWQ6ICVkIgorI34gbXNnc3RyICJ2b2zDoW7DrSB3cml0ZSBzZWxoYWxvOiAlZCIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZCIKKyN+IG1zZ3N0ciAiTmVqc291IGRlZmlub3bDoW55IMW+w6FkbsOpIG9kZMOtbHkiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorI34gIiAtZCwgLS1kZXRhY2ggPGxvb3BkZXY+IFsuLi5dICBkZXRhY2ggb25lIG9yIG1vcmUgZGV2aWNlc1xuIgorI34gIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorI34gIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICBmaW5kIGZpcnN0IHVudXNlZCBkZXZpY2VcbiIKKyN+ICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIGRldmljZVxuIgorI34gIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICB2eXDDrcWhZSB2xaFlY2huYSBwb3XFvml0w6EgemHFmcOtemVuw61cbiIKKyN+ICIgLWQsIC0tZGV0YWNoIDxsb29wX3phxZnDrXplbsOtPiBb4oCmXVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZHBvasOtIGplZG5vIG5lYm8gdsOtY2UgemHFmcOtemVuw61cbiIKKyN+ICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgb2Rwb2rDrSB2xaFlY2huYSBwb3XFvsOtdmFuw6EgemHFmcOtemVuw61cbiIKKyN+ICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgbmFqZGUgcHJ2bsOtIG5lcG91xb5pdMOpIHphxZnDrXplbsOtXG4iCisjfiAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcF96YcWZw616ZW7DrT5cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgem3Em27DrSB2ZWxpa29zdFxuIgorI34gIiAtaiwgLS1hc3NvY2lhdGVkIDxzb3Vib3I+ICAgICB2eXDDrcWhZSB2xaFlY2huYSB6YcWZw616ZW7DrSBzcG9qZW7DoSBzZSA8c291Ym9yZW0+XG4iCisKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIHNldCB1cCBsb29wIGRldmljZSwgb2Zmc2V0IGlzIG5vdCA1MTItYnl0ZSBhbGlnbmVkLiIKKyN+IG1zZ3N0ciAiJXM6IHphxZnDrXplbsOtIGxvb3Agc2UgbmVwb2RhxZlpbG8gbmFzdGF2aXQsIHBvemljZSBuZW7DrSB6YXJvdm7DoW5hIG5hIDUxMiBiYWp0xa8uIgorCisjfiBtc2dpZCAidW5zc3Vwb3J0ZWQgLS1sb2NhbC1saW5lIG1vZGUgYXJndW1lbnQiCisjfiBtc2dzdHIgIm5lcG9kcG9yb3ZhbsO9IGFyZ3VtZW50IHPCoHJlxb5pbWVtIC0tbG9jYWwtbGluZSIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gW3NvdWJvcuKApl1cbiIKKworI34gbXNnaWQgInVzYWdlOlxuIgorI34gbXNnc3RyICJQb3XFvml0w606XG4iCisKKyN+IG1zZ2lkICJcdE5PVEU6IGVsdnR1bmUgb25seSB3b3JrcyB3aXRoIDIuNCBrZXJuZWxzXG4iCisjfiBtc2dzdHIgIlx0UE9aTsOBTUtBOiBlbHZ0dW5lIGZ1bmd1amUgamVuIHPCoGrDoWRyeSDFmWFkeSAyLjRcbiIKKworI34gbXNnaWQgIm1pc3NpbmcgYmxvY2tkZXZpY2UsIHVzZSAtaCBmb3IgaGVscFxuIgorI34gbXNnc3RyICJjaHliw60gYmxva292w6kgemHFmcOtemVuw60sIG7DoXBvdsSbZHUgesOtc2vDoXRlIHBvbW9jw60gLWhcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJlbHZ0dW5lIGlzIG9ubHkgdXNlZnVsIG9uIG9sZGVyIGtlcm5lbHM7XG4iCisjfiAiZm9yIDIuNiB1c2UgSU8gc2NoZWR1bGVyIHN5c2ZzIHR1bmFibGVzIGluc3RlYWQuLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiZWx2dHVuZSBzZSBob2TDrSBqZW4gcHJvIHN0YXLFocOtIGrDoWRyYTtcbiIKKyN+ICJwcm8gxZlhZHUgMi42IHBvdcW+aWp0ZSBzeXNmcyByb3pocmFuw60gcHJvIGxhZMSbbsOtIHBsw6Fub3ZhxI1lIEkvTy5cbiIKKworI34gbXNnaWQgImZzeW5jIGZhaWxlZCIKKyN+IG1zZ3N0ciAidm9sw6Fuw60gZnN5bmMgc2VsaGFsbyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICJQcmludCB2ZXJzaW9uOlxuIgorI34gIiAgICAgICAgJXMgLXZcbiIKKyN+ICJQcmludCBwYXJ0aXRpb24gdGFibGU6XG4iCisjfiAiICAgICAgICAlcyAtUCB7cnxzfHR9IFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+ICJJbnRlcmFjdGl2ZSB1c2U6XG4iCisjfiAiICAgICAgICAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICItYTogVXNlIGFycm93IGluc3RlYWQgb2YgaGlnaGxpZ2h0aW5nO1xuIgorI34gIi16OiBTdGFydCB3aXRoIGEgemVybyBwYXJ0aXRpb24gdGFibGUsIGluc3RlYWQgb2YgcmVhZGluZyB0aGUgcHQgZnJvbSBkaXNrO1xuIgorI34gIi1jIEMgLWggSCAtcyBTOiBPdmVycmlkZSB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgbnVtYmVyIG9mIGN5bGluZGVycyxcbiIKKyN+ICIgICAgICAgICAgICAgICAgdGhlIG51bWJlciBvZiBoZWFkcyBhbmQgdGhlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUG91xb5pdMOtOlxuIgorI34gIlZ5cMOtxaFlIGluZm9ybWFjZSBvIHZlcnppOlxuIgorI34gIiAgICAgICAgJXMgLXZcbiIKKyN+ICJWeXDDrcWhZSB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2t1OlxuIgorI34gIiAgICAgICAgJXMgLVAge3J8c3x0fSBbcMWZZXDDrW5hxI1lXSB6YcWZw616ZW7DrVxuIgorI34gIkludGVyYWt0aXZuw60gcmXFvmltOlxuIgorI34gIiAgICAgICAgJXMgW3DFmWVww61uYcSNZV0gemHFmcOtemVuw61cbiIKKyN+ICJcbiIKKyN+ICJQxZllcMOtbmHEjWU6XG4iCisjfiAiLWE6IE5hbcOtc3RvIHp2w71yYXrFiG92w6Fuw60gcG91xb5pamUgxaFpcGt1O1xuIgorI34gIi16OiBaYcSNbmUgcyBudWxvdm91IHRhYnVsa291IHJvemTEm2xlbsOtIGRpc2t1IG3DrXN0bywgYWJ5IGppIMSNZXRsIHogZGlza3U7XG4iCisjfiAiLWMgQyAtaCBIIC1zIFM6IFphZMOhbsOtIGdlb21ldHJpZSBkaXNrdSAobcOhIHDFmWVkbm9zdCBwxZllZCDDumRhamksIGt0ZXLDqSB1ZHLFvnVqZVxuIgorI34gIiAgICAgICAgICAgICAgICBqw6Fkcm8uXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJXcml0aW5nIGRpc2tsYWJlbCB0byAlcy5cbiIKKyN+IG1zZ3N0ciAiVWtsw6Fkw6FtIHBvcGlzIGRpc2t1IG5hICVzLlxuIgorCisjfiBtc2dpZCAiTGFzdCAlcyBvciArc2l6ZSBvciArc2l6ZU0gb3IgK3NpemVLIgorI34gbXNnc3RyICJQb3NsZWRuw60gJXMgxI1pICt2ZWxpa29zdCDEjWkgK3ZlbGlrb3N0TSDEjWkgK3ZlbGlrb3N0SyIKKworI34gbXNnaWQgIlJlYWRpbmcgZGlza2xhYmVsIG9mICVzIGF0IHNlY3RvciAlZC5cbiIKKyN+IG1zZ3N0ciAixIx0dSBwb3BpcyBkaXNrdSAlcyB2IHNla3RvcnUgJWQuXG4iCisKKyN+IG1zZ2lkICJCU0QgZGlza2xhYmVsIGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCisjfiBtc2dzdHIgIlDFmcOta2F6IHBybyBCU0QgcG9waXMgZGlza3UgKG0gcHJvIG7DoXBvdsSbZHUpOiAiCisKKyN+IG1zZ2lkICJkcml2ZWRhdGE6ICIKKyN+IG1zZ3N0ciAiZGlza2RhdGE6ICIKKworI34gbXNnaWQgIiMgICAgICAgc3RhcnQgICAgICAgZW5kICAgICAgc2l6ZSAgICAgZnN0eXBlICAgW2ZzaXplIGJzaXplICAgY3BnXVxuIgorI34gbXNnc3RyICIjICAgICAgIHZlbGlrICAgICAgIGtvbmVjICAgIHZlbGlrb3N0IHNzdHlwICAgIFtmdmVsaSBidmVsaSAgIGNwZ11cbiIKKworI34gbXNnaWQgIk11c3QgYmUgPD0gc2VjdG9ycy90cmFjayAqIHRyYWNrcy9jeWxpbmRlciAoZGVmYXVsdCkuXG4iCisjfiBtc2dzdHIgIk11c8OtIGLDvXQgPD0gc2VrdG9yxa8vc3RvcHUgKiBzdG9wL2N5bGluZHIgKGltcGxpY2l0bsOtKS5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAoYS0lYyk6ICIKKyN+IG1zZ3N0ciAiRGlza292w70gb2Rkw61sIChhLSVjKTogIgorCisjfiBtc2dpZCAiV2FybmluZzogdG9vIG1hbnkgcGFydGl0aW9ucyAoJWQsIG1heGltdW0gaXMgJWQpLlxuIgorI34gbXNnc3RyICJWYXJvdsOhbsOtOiBwxZnDrWxpxaEgbW5vaG8gb2Rkw61sxa8gKCVkLCBtYXhpbXVtICVkKS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJTeW5jaW5nIGRpc2tzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiU3luY2hyb25penVqw60gc2UgZGlza3kuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6XG4iCisjfiAiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICBjaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiICUxJHMgW29wdGlvbnNdIC1sIDxkaXNrPiBsaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorI34gIiAlMSRzIC1zIDxwYXJ0aXRpb24+ICAgICAgZ2l2ZSBwYXJ0aXRpb24gc2l6ZShzKSBpbiBibG9ja3NcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtYiA8c2l6ZT4gICAgICAgICAgICAgc2VjdG9yIHNpemUgKDUxMiwgMTAyNCwgMjA0OCBvciA0MDk2KVxuIgorI34gIiAtY1s9PG1vZGU+XSAgICAgICAgICAgY29tcGF0aWJsZSBtb2RlOiAnZG9zJyBvciAnbm9uZG9zJyAoZGVmYXVsdClcbiIKKyN+ICIgLWggICAgICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscCB0ZXh0XG4iCisjfiAiIC11Wz08dW5pdD5dICAgICAgICAgICBkaXNwbGF5IHVuaXRzOiAnY3lsaW5kZXJzJyBvciAnc2VjdG9ycycgKGRlZmF1bHQpXG4iCisjfiAiIC12ICAgICAgICAgICAgICAgICAgICBwcmludCBwcm9ncmFtIHZlcnNpb25cbiIKKyN+ICIgLUMgPG51bWJlcj4gICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBjeWxpbmRlcnNcbiIKKyN+ICIgLUggPG51bWJlcj4gICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBoZWFkc1xuIgorI34gIiAtUyA8bnVtYmVyPiAgICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQb3XFvml0w606XG4iCisjfiAiICUxJHMgW1DFmEVQw41OQcSMRV0gPERJU0s+ICAgIHptxJtuw60gdGFidWxrdSByb3pkxJtsZW7DrSBkaXNrdVxuIgorI34gIiAlMSRzIFtQxZhFUMONTkHEjEVdIC1sIDxESVNLPiB2eXDDrcWhZSB0YWJ1bGt1KHkpIHJvemTEm2xlbsOtIGRpc2t1XG4iCisjfiAiICUxJHMgLXMgPE9ERMONTD4gICAgICAgICAgICB2eXDDrcWhZSB2ZWxpa29zdChpKSBvZGTDrWx1IHbCoGJsb2PDrWNoXG4iCisjfiAiXG4iCisjfiAiUMWZZXDDrW5hxI1lOlxuIgorI34gIiAtYiA8VkVMSUtPU1Q+ICAgICAgICAgICAgICAgdmVsaWtvc3Qgc2VrdG9ydSAoNTEyLCAxMDI0LCAyMDQ4IG5lYm8gNDA5NilcbiIKKyN+ICIgLWNbPTxSRcW9SU0+XSAgICAgICAgICAgICAgICByZcW+aW0ga29tcGF0aWJpbGl0eTog4oCeZG9z4oCcIG5lYm8g4oCebm9uZG9z4oCcIChpbXBsaWMuKVxuIgorI34gIiAtaCAgICAgICAgICAgICAgICAgICAgICAgICAgdnlww63FoWUgdHV0byBuw6Fwb3bEm2R1XG4iCisjfiAiIC11PVs8SkVETk9US0E+XSAgICAgICAgICAgICB6b2JyYXp1amUgdsKgamVkbm90a8OhY2g6IOKAnmN5bGluZGVyc+KAnCAoY3lsaW5kcnkpXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZWJvIOKAnnNlY3RvcnPigJwgKHNla3RvcnkpXG4iCisjfiAiIC12ICAgICAgICAgICAgICAgICAgICAgICAgICB2eXDDrcWhZSB2ZXJ6aSBwcm9ncmFtdVxuIgorI34gIiAtQyA8UE/EjEVUPiAgICAgICAgICAgICAgICAgIHVyxI11amUgcG/EjWV0IGN5bGluZHLFr1xuIgorI34gIiAtSCA8UE/EjEVUPiAgICAgICAgICAgICAgICAgIHVyxI11amUgcG/EjWV0IGhsYXZcbiIKKyN+ICIgLVMgPFBPxIxFVD4gICAgICAgICAgICAgICAgICB1csSNdWplIHBvxI1ldCBzZWt0b3LFryBuYSBzdG9wdVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIHNlZWsgb24gJXMiCisjfiBtc2dzdHIgIm5lbHplIHNlIHBvc3Vub3V0IG5hICVzIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgorI34gbXNnc3RyICIlcyBuZWx6ZSB6YXBzYXQiCisKKyN+IG1zZ2lkICJmYXRhbCBlcnJvciIKKyN+IG1zZ3N0ciAiZmF0w6FsbsOtIGNoeWJhIgorCisjfiBtc2dpZCAiQ29tbWFuZCBhY3Rpb24iCisjfiBtc2dzdHIgIlDFmcOta2F6eSIKKworI34gbXNnaWQgIllvdSBtdXN0IHNldCIKKyN+IG1zZ3N0ciAiTXVzw610ZSBuYXN0YXZpdCIKKworI34gbXNnaWQgImhlYWRzIgorI34gbXNnc3RyICJobGF2eSIKKworI34gbXNnaWQgIiBhbmQgIgorI34gbXNnc3RyICIgYSAiCisKKyN+IG1zZ2lkICJVbnN1cHBvcnRlZCBzdWZmaXg6ICclcycuXG4iCisjfiBtc2dzdHIgIk5lcG9kcG9yb3ZhbsOhIHDFmcOtcG9uYTog4oCeJXPigJwuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiU3VwcG9ydGVkOiAxMF5OOiBLQiAoS2lsb0J5dGUpLCBNQiAoTWVnYUJ5dGUpLCBHQiAoR2lnYUJ5dGUpXG4iCisjfiAiICAgICAgICAgICAgMl5OOiBLICAoS2liaUJ5dGUpLCBNICAoTWViaUJ5dGUpLCBHICAoR2liaUJ5dGUpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQb2Rwb3JvdmFuw6k6IDEwXk46IEtCIChraWxvYmFqdCksIE1CIChtZWdhYmFqdCksIEdCIChnaWdhYmFqdClcbiIKKyN+ICIgICAgICAgICAgICAgIDJeTjogSyAgKGtpYmliYWp0KSwgTSAgKG1lYmliYWp0KSwgRyAgKGdpYmliYWp0KVxuIgorCisjfiBtc2dpZCAiVXNpbmcgZGVmYXVsdCB2YWx1ZSAldVxuIgorI34gbXNnc3RyICJQb3XFvsOtdsOhbSBpbXBsaWNpdG7DrSBob2Rub3R1ICV1XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkIE1CLCAlbGxkIGJ5dGVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJSdsZOKAr01CLCAlJ2xsZCBiYWp0xa8iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkLiVsZCBHQiwgJWxsdSBieXRlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICUnbGQsJWxk4oCvR0IsICUnbGx1IGJhanTFryIKKworI34gbXNnaWQgIiwgJWxsdSBzZWN0b3JzXG4iCisjfiBtc2dzdHIgIiwgJSdsbHUgc2VrdG9yxa9cbiIKKworI34gbXNnaWQgImNhbm5vdCB3cml0ZSBkaXNrIGxhYmVsIgorI34gbXNnc3RyICJwb3BpcyBkaXNrdSBuZWx6ZSB6YXBzYXQiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRXJyb3IgY2xvc2luZyBmaWxlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDaHliYSBwxZlpIHphdsOtcsOhbsOtIHNvdWJvcnVcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHNldHRpbmcgc2VjdG9yIG9mZnNldCBmb3IgRE9TIGNvbXBhdGliaWxpdHlcbiIKKyN+IG1zZ3N0ciAiUG96b3I6IG5hc3RhdmVuIHBvc3VuIHNla3RvcnUga3bFr2xpIGtvbXBhdGliaWxpdMSbIHPCoERPU2VtXG4iCisKKyN+IG1zZ2lkICJEZXRlY3RlZCBhbiBPU0YvMSBkaXNrbGFiZWwgb24gJXMsIGVudGVyaW5nIGRpc2tsYWJlbCBtb2RlLlxuIgorI34gbXNnc3RyICJOYSAlcyBuYWxlemVuIE9TRi8xIHBvcGlzIGRpc2t1LiBTcG91xaF0w61tIHJlxb5pbSBwb3Bpc3UgZGlza3UuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogRE9TLWNvbXBhdGlibGUgbW9kZSBpcyBkZXByZWNhdGVkLiBJdCdzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvXG4iCisjfiAiICAgICAgICAgc3dpdGNoIG9mZiB0aGUgbW9kZSAod2l0aCBjb21tYW5kICdjJykuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUE9aT1I6IFJlxb5pbSBrb21wYXRpYmlsaXR5IHPCoERPU2VtIGplIHphc3RhcmFsw70uIETFr3Jhem7EmyBzZSBkb3BvcnXEjXVqZSB0ZW50b1xuIgorI34gIiAgICAgICByZcW+aW0gdnlwbm91dCAocMWZw61rYXog4oCeY+KAnCkuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IGN5bGluZGVycyBhcyBkaXNwbGF5IHVuaXRzIGFyZSBkZXByZWNhdGVkLiBVc2UgY29tbWFuZCAndScgdG9cbiIKKyN+ICIgICAgICAgICBjaGFuZ2UgdW5pdHMgdG8gc2VjdG9ycy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBPWk9SOiBjeWxpbmRyeSBqYWtvxb50byBqZWRub3RreSB2w71waXPFryBqc291IHphc3RhcmFsw6kuIEplZG5vdGt5IGx6ZSB6bcSbbml0XG4iCisjfiAiICAgICAgICAgbmEgc2VrdG9yeSBwb21vY8OtIHDFmcOta2F6dSDigJ514oCcLlxuIgorCisjfiBtc2dpZCAiTmV3IGRpc2sgaWRlbnRpZmllciAoY3VycmVudCAweCUwOHgpOiAiCisjfiBtc2dzdHIgIk5vdsO9IGlkZW50aWZpa8OhdG9yIGRpc2t1IChzb3XEjWFzbsO9IDB4JTA4eCk6ICIKKworI34gbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGVcbiIKKyN+IG1zZ3N0ciAiTmVqc291IMW+w6FkbsOpIHZvbG7DqSBzZWt0b3J5LlxuIgorCisjfiBtc2dpZCAiTGFzdCAlMSRzLCArJTIkcyBvciArc2l6ZXtLLE0sR30iCisjfiBtc2dzdHIgIlBvc2xlZG7DrSAlMSRzLCArJTIkcyBuZWJvICt2ZWxpa29zdHtLLE0sR30iCisKKyN+IG1zZ2lkICIgICAgIHBoeXM9KCVkLCAlZCwgJWQpICIKKyN+IG1zZ3N0ciAiICAgICBmeXo9KCVkLCAlZCwgJWQpICIKKworI34gbXNnaWQgImxvZ2ljYWw9KCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgImxvZ2lja8O9PSglZCwgJWQsICVkKVxuIgorCisjfiBtc2dpZCAiV2FybmluZzogYmFkIHN0YXJ0LW9mLWRhdGEgaW4gcGFydGl0aW9uICV6ZFxuIgorI34gbXNnc3RyICJQb3pvcjogY2h5Ym7DvSBwb8SNw6F0ZWsgZGF0IHbCoG9kZMOtbGUgJXpkXG4iCisKKyN+IG1zZ2lkICJBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvblxuIgorI34gbXNnc3RyICJQxZlpZMOhdsOhIHNlIHByaW3DoXJuw60gb2Rkw61sXG4iCisKKyN+IG1zZ2lkICIlKnMgQm9vdCAgICAgIFN0YXJ0ICAgICAgICAgRW5kICAgICAgQmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIlKnMgWmF2w6FkxJt0ICAgWmHEjcOhdGVrICAgICAgIEtvbmVjICAgIEJsb2t5ICAgIElkICBTeXN0w6ltXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6IGhsYXY6ICUnZCwgc2VrdG9yxa86ICUnbGx1LCBjeWxpbmRyxa86ICUnbGx1XG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJOciBBRiAgSGQgU2VjICBDeWwgIEhkIFNlYyAgQ3lsICAgICBTdGFydCAgICAgIFNpemUgSURcbiIKKyN+IG1zZ3N0ciAixIwuIEFGICBIZCBTZWsgIEN5bCAgSGQgU2VrICBDeWwgICAgWmHEjcOhdGVrICAgICBWZWwuIElkXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRUaGVyZSBpcyBhIHZhbGlkIE1hYyBsYWJlbCBvbiB0aGlzIGRpc2suXG4iCisjfiAiXHRVbmZvcnR1bmF0ZWx5IGZkaXNrKDEpIGNhbm5vdCBoYW5kbGUgdGhlc2UgZGlza3MuXG4iCisjfiAiXHRVc2UgZWl0aGVyIHBkaXNrIG9yIHBhcnRlZCB0byBtb2RpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZS5cbiIKKyN+ICJcdE5ldmVydGhlbGVzcyBzb21lIGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0TmEgdG9tdG8gZGlza3UgamUgbWFjb3Zza8OhIHRhYnVsa2Egcm96ZMSbbGVuw60gZGlza3UuXG4iCisjfiAiXHROYW5lxaF0xJtzdMOtIGZkaXNrKDEpIHMgdMSbbWl0byBkaXNreSBuZXVtw60gcHJhY292YXQuXG4iCisjfiAiXHRUdXRvIHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3UgbcWvxb5ldGUgdXByYXZpdCBwcm9ncmFtZW1cbiIKKyN+ICLigJ5wZGlza+KAnCBuZWJvIOKAnnBhcnRlZOKAnC5cbiIKKyN+ICJcdE5pY23DqW7EmyBuxJtrb2xpayByYWQgcHJvIFbDoXM6XG4iCisjfiAiXHQxLiBQxZlpIHrDoXBpc3UgZmRpc2sgem5pxI3DrSBqZWhvIG9ic2FoXG4iCisjfiAiXHQyLiBVamlzdMSbdGUgc2UsIMW+ZSB0ZW50byBkaXNrIE5FTsONIGTFr2xlxb5pdG91IHNvdcSNw6FzdMOtXG4iCisjfiAiXHQgICBza3VwaW55IHN2YXprxa8uIChKaW5hayBtxa/FvmV0ZSBzbWF6YXQsIHBva3VkIG5lanNvdVxuIgorI34gIlx0ICAgenJjYWRsZW55LCBpwqBvc3RhdG7DrSBkaXNreS4pXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXHRTb3JyeSAtIHRoaXMgZmRpc2sgY2Fubm90IGhhbmRsZSBNYWMgZGlzayBsYWJlbHMuXG4iCisjfiAiXHRJZiB5b3Ugd2FudCB0byBhZGQgRE9TLXR5cGUgcGFydGl0aW9ucywgY3JlYXRlXG4iCisjfiAiXHRhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIGZpcnN0LiAoVXNlIG8uKVxuIgorI34gIlx0V0FSTklORzogVGhpcyB3aWxsIGRlc3Ryb3kgdGhlIHByZXNlbnQgZGlzayBjb250ZW50cy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlx0UHJvbWnFiHRlLCBhbGUgdGVudG8gZmRpc2sgbmV1bcOtIHphY2jDoXpldCBzwqBtYWNvdnNrw71taSBkaXNrb3bDvW1pXG4iCisjfiAiXHRqbWVub3ZrYW1pLiBDaGNldGUtbGkgcMWZaWRhdCBvZGTDrWwgdHlwdSBET1MsIG5lanBydmUgdnl0dm/FmXRlXG4iCisjfiAiXHQgbm92dSBwcsOhemRub3UgRE9TT1ZPVSB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2t1IChwxZnDrWtheiDigJ5v4oCcKS5cbiIKKyN+ICJcdFZBUk9Ww4FOw406IFTDrW10byBwxZlpamRldGUgb8Kgc291xI1hc27DvSBvYnNhaCBkaXNrdS5cbiIKKworI34gbXNnaWQgIkFjY29yZGluZyB0byBNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYyB0aGUgTGFiZWwgbXVzdCBub3QgY29udGFpbiBtb3JlIHRoYW4gNTEyIGJ5dGVzXG4iCisjfiBtc2dzdHIgIlBvcGlzIG5lc23DrSBwb2RsZSBNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYyBvYnNhaG92YXQgdsOtY2UgbmXFviA1MTIgYmFqdMWvXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU0dJIGRpc2sgbGFiZWwpOiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiAlbGQgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFNHSSB0YWJ1bGthIHJvemTEm2xlbsOtIGRpc2t1KTogaGxhdjogJSdkLCBzZWt0b3LFrzogJSdsbHUsXG4iCisjfiAiY3lsaW5kcsWvOiAlJ2xsdVxuIgorI34gIkplZG5vdGt5ID0gJXMgcG8gJWQgKiAlbGQgYmFqdGVjaFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIi0tLS0tIHBhcnRpdGlvbnMgLS0tLS1cbiIKKyN+ICJQdCMgJSpzICBJbmZvICAgICBTdGFydCAgICAgICBFbmQgICBTZWN0b3JzICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLS0tLSBvZGTDrWx5IC0tLS0tXG4iCisjfiAiT2QjICUqcyAgSW5mbyAgICAgIFphxI3DoXRlayAgICAgS29uZWMgU2VrdG9yeSAgSWQgIFN5c3TDqW1cbiIKKworI34gbXNnaWQgIiIKKyN+ICItLS0tLSBCb290aW5mbyAtLS0tLVxuIgorI34gIkJvb3RmaWxlOiAlc1xuIgorI34gIi0tLS0tIERpcmVjdG9yeSBFbnRyaWVzIC0tLS0tXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLS0tLSBib290aW5mbyAtLS0tLVxuIgorI34gIlN0YXJ0b3ZhY8OtIHNvdWJvcjogJXNcbiIKKyN+ICItLS0tLSBhZHJlc8OhxZlvdsOpIHBvbG/Fvmt5IC0tLS0tXG4iCisKKyN+IG1zZ2lkICIlMnpkOiAlLTEwcyBzZWN0b3IlNXUgc2l6ZSU4dVxuIgorI34gbXNnc3RyICIlMnpkOiAlLTEwcyBzZWt0b3IlNXUgdmVsaWtvc3QlOHVcbiIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZFxuIgorI34gbXNnc3RyICJOZWpzb3UgZGVmaW5vdsOhbnkgxb7DoWRuw6kgb2Rkw61seVxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gaXMgb25seSAlZCBkaXNrYmxvY2sgbGFyZ2UsXG4iCisjfiAiYnV0IHRoZSBkaXNrIGlzICVkIGRpc2tibG9ja3MgbG9uZy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkRpc2tvdsO9IG9kZMOtbCB6YXVqw61tYWrDrWPDrSBjZWzDvSBkaXNrIG3DoSB2ZWxpa29zdCAgdiBibG9jw61jaCBwb3V6ZSAlZCxcbiIKKyN+ICJhbGUgdmVsaWtvc3QgZGlza3UgdiBibG9jw61jaCBqZSAlZC5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBzdGFydCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiRGlza292w70gb2Rkw61sICVkIG5lemHEjcOtbsOhIG5hIGhyYW5pY2kgY3lsaW5kcnUuXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gbXNnc3RyICJEaXNrb3bDvSBvZGTDrWwgJWQgbmVrb27EjcOtIG5hIGhyYW5pY2kgY3lsaW5kcnUuXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJXpkIGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LlxuIgorI34gbXNnc3RyICIiCisjfiAiT2Rkw61sICV6ZCBqZSBqacW+IGRlZmlub3bDoW4uIFDFmWVkIG9wxJt0b3Zuw71tIHZ5dHZvxZllbsOtbSBqZWogbXVzw610ZVxuIgorI34gIm5lanBydmUgc21hemF0LlxuIgorCisjfiBtc2dpZCAiIExhc3QgJXMiCisjfiBtc2dzdHIgIiBQb3NsZWRuw60gJXMiCisKKyN+IG1zZ2lkICJCdWlsZGluZyBhIG5ldyBTR0kgZGlza2xhYmVsLlxuIgorI34gbXNnc3RyICJTZXN0YXZ1amUgc2Ugbm92w6EgdGFidWxrYSByb3pkxJtsZW7DrSBkaXNrdSB0eXB1IFNHSS5cbiIKKworI34gbXNnaWQgIkhESU9fR0VUR0VPIGlvY3RsIGZhaWxlZCBvbiAlcyIKKyN+IG1zZ3N0ciAiVm9sw6Fuw60gaW9jdGwgSERJT19HRVRHRU8gbmFkICVzIHNlbGhhbG8iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogIEJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiAgVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS5cbiIKKyN+ICJUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLlxuIgorI34gbXNnc3RyICIiCisjfiAiUG96b3I6IGlvY3RsIEJMS0dFVFNJWkUgc2VsaGFsbyBuYSAlcy4gUHJvIGdlb21ldHJpaSBzZSBwb3XFvmlqZSAlbGx1XG4iCisjfiAiY3lsaW5kcsWvLlxuIgorI34gIlRhdG8gaG9kbm90YSBtxa/FvmUgYsO9dCB6a3LDoWNlbmEgcHJvIHphxZnDrXplbsOtID4gMzMsOOKAr0dCLlxuIgorCisjfiBtc2dpZCAiSUQ9JTAyeFx0U1RBUlQ9JWRcdExFTkdUSD0lZFxuIgorI34gbXNnc3RyICJJRD0lMDJ4XHRaQcSMw4FURUs9JWRcdETDiUxLQT0lZFxuIgorCisjfiBtc2dpZCAiVHJ5aW5nIHRvIGtlZXAgcGFyYW1ldGVycyBvZiBwYXJ0aXRpb25zIGFscmVhZHkgc2V0LlxuIgorI34gbXNnc3RyICJQb2tvdcWhw61tIHNlIHphY2hvdmF0IHBhcmFtZXRyeSBqacW+IG5hc3RhdmVuw71jaCBvZGTDrWzFry5cbiIKKworI34gbXNnaWQgIllFU1xuIgorI34gbXNnc3RyICJBTk9cbiIKKworI34gbXNnaWQgIkJ1aWxkaW5nIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorI34gbXNnc3RyICJWeXR2w6HFmcOtIHNlIG5vdsO9IHN1bm92w70gcG9waXMgZGlza3UuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFN1biBkaXNrIGxhYmVsKTogJXUgaGVhZHMsICVsbHUgc2VjdG9ycywgJWQgcnBtXG4iCisjfiAiJWxsdSBjeWxpbmRlcnMsICVkIGFsdGVybmF0ZSBjeWxpbmRlcnMsICVkIHBoeXNpY2FsIGN5bGluZGVyc1xuIgorI34gIiVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiAiTGFiZWwgSUQ6ICVzXG4iCisjfiAiVm9sdW1lIElEOiAlc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiA1MTIgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKHN1bm92c2vDoSB0YWJ1bGthIHJvemTEm2xlbsOtIGRpc2t1KTogaGxhdjogJSd1LCBzZWt0b3LFrzogJSdsbHUsXG4iCisjfiAiby9tOiAlJ2QsIGN5bGluZHLFrzogJSdsbHUsIG7DoWhyYWRuw61jaCBjeWxpbmRyxa86ICUnZCxcbiIKKyN+ICJmeXppY2vDvWNoIGN5bGluZHLFrzogJSdkLCBleHRyYSBzZWt0b3LFry9jeWxpbmRyOiAlJ2QsIHByb2tsw6Fkw6Fuw606ICVkOjFcbiIKKyN+ICJJRCBqbWVub3ZreTogJXNcbiIKKyN+ICJJRCBzdmF6a3U6ICVzXG4iCisjfiAiSmVkbm90a3kgPSAlcyBwbyAlZCAqIDUxMiBiYWp0ZWNoXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgbGFiZWwpOiAldSBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiA1MTIgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKHN1bm92c2vDoSB0YWJ1bGthIHJvemTEm2xlbsOtIGRpc2t1KTogaGxhdjogJSd1LCBzZWt0b3LFrzogJSdsbHUsXG4iCisjfiAiY3lsaW5kcsWvOiAlJ2xsdVxuIgorI34gIkplZG5vdGt5ID0gJXMgcG8gJWQgKiA1MTIgYmFqdGVjaFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiJSpzIEZsYWcgICAgU3RhcnQgICAgICAgRW5kICAgIEJsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiJSpzIFDFmcOtem5hayBaYcSNw6F0ZWsgICAgIEtvbmVjICBCbG9reSAgICBJZCAgU3lzdMOpbVxuIgorCisjfiBtc2dpZCAiJXMgLUFuIGRldmljZVx0IGFjdGl2YXRlIHBhcnRpdGlvbiBuLCBpbmFjdGl2YXRlIHRoZSBvdGhlciBvbmVzXG4iCisjfiBtc2dzdHIgIiVzIC1BbiB6YcWZw616ZW7DrVx0IGFrdGl2dWplIG9kZMOtbCBuLCBkZWFrdGl2dWplIG9zdGF0bsOtXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRG9uZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiSG90b3ZvXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJXQVJOSU5HOiBmZGlzayBHUFQgc3VwcG9ydCBpcyBjdXJyZW50bHkgbmV3LCBhbmQgdGhlcmVmb3JlIGluIGFuIGV4cGVyaW1lbnRhbCBwaGFzZS4gVXNlIGF0IHlvdXIgb3duIGRpc2NyZXRpb24uIgorI34gbXNnc3RyICJQT1pPUjogUG9kcG9yYSBHUFQgdsKgZmRpc2t1IGplIG5vdsOhLCBhIHR1ZMOtxb4gdmUgc3TDoWRpdSBwb2t1c3UuIFBvdcW+aXTDrSBqZSBuYSB2bGFzdG7DrSBuZWJlenBlxI3DrS4iCisKKyN+IG1zZ2lkICJDcmVhdGVkIHBhcnRpdGlvbiAlemRcbiIKKyN+IG1zZ3N0ciAiVnl0dm/FmWVuIG9kZMOtbCAlemRcbiIKKworI34gbXNnaWQgIkJ1aWxkaW5nIGEgbmV3IEdQVCBkaXNrbGFiZWwgKEdVSUQ6ICUwOFgtJTA0WC0lMDRYLSUwMlglMDJYLSUwMlglMDJYJTAyWCUwMlglMDJYJTAyWClcbiIKKyN+IG1zZ3N0ciAiU2VzdGF2dWplIHNlIG5vdsO9IHBvcGlzIEdQVCAoR1VJRDogJTA4WC0lMDRYLSUwNFgtJTAyWCUwMlgtJTAyWCUwMlglMDJYJTAyWCUwMlglMDJYKVxuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSAtdSA8VVNFUj4gQ09NTUFORFxuIgorI34gbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gLXUgPFXFvUlWQVRFTD4gUMWYw41LQVpcbiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFtVU0VSIFthcmddLi4uXVxuIgorI34gbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gWy1dIFtVxb1JVkFURUwgW2FyZ3VtZW504oCmXVxuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvblxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIG5ldnl0dm/FmcOtIG5vdm91IHJlbGFjaVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtMSwgLS1vbmUgICAgICAgIHNob3cgb25seSBjdXJyZW50IG1vbnRoIChkZWZhdWx0KVxuIgorI34gIiAtMywgLS10aHJlZSAgICAgIHNob3cgcHJldmlvdXMsIGN1cnJlbnQgYW5kIG5leHQgbW9udGhcbiIKKyN+ICIgLXMsIC0tc3VuZGF5ICAgICBTdW5kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKKyN+ICIgLW0sIC0tbW9uZGF5ICAgICBNb25kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKKyN+ICIgLWosIC0tanVsaWFuICAgICBvdXRwdXQgSnVsaWFuIGRhdGVzXG4iCisjfiAiIC15LCAtLXllYXIgICAgICAgc2hvdyB3aG9sZSBjdXJyZW50IHllYXJcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLTEsIC0tb25lICAgICAgICB6b2JyYXrDrSBwb3V6ZSBzb3XEjWFzbsO9IG3Em3PDrWMgKHbDvWNob3rDrSlcbiIKKyN+ICIgLTMsIC0tdGhyZWUgICAgICB6b2JyYXrDrSBwxZllZGNob3rDrSwgc291xI1hc27DvSBhIG7DoXNsZWR1asOtY8OtIG3Em3PDrWNcbiIKKyN+ICIgLXMsIC0tc3VuZGF5ICAgICBuZWTEm2xlIGpha28gcHJ2bsOtIGRlbiB0w71kbmVcbiIKKyN+ICIgLW0sIC0tbW9uZGF5ICAgICBwb25kxJtsw60gamFrbyBwcnZuw60gZGVuIHTDvWRuZVxuIgorI34gIiAtaiwgLS1qdWxpYW4gICAgIHZ5cMOtxaFlIGp1bGnDoW5za8OhIGRhdGFcbiIKKyN+ICIgLXksIC0teWVhciAgICAgICB6b2JyYXrDrSBjZWzDvSBzb3XEjWFzbsO9IHJva1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIHZ5cMOtxaFlIMO6ZGFqZSBvwqB2ZXJ6aSBhIHNrb27EjcOtXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgdnlww63FoWUgdHV0byBuw6Fwb3bEm2R1IGEgc2tvbsSNw61cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImdldGFkZHJpbmZvICVzOiVzOiAlcyIKKyN+IG1zZ3N0ciAiZ2V0YWRkcmluZm8gJXM6JXM6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIiAtZCwgLS11ZHAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCisjfiAiIC1pLCAtLWlkICAgICAgICAgICAgICBsb2cgdGhlIHByb2Nlc3MgSUQgdG9vXG4iCisjfiAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICBsb2cgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1kLCAtLXVkcCAgICAgICAgICAgICBwb3XFvmlqZSBwb3V6ZSBVRFBcbiIKKyN+ICIgLWksIC0taWQgICAgICAgICAgICAgIHphem5hbWVuw6Egcm92bsSbxb4gSUQgcHJvY2VzdVxuIgorI34gIiAtZiwgLS1maWxlIDxzb3Vib3I+ICAgemF6bmFtZW7DoSBvYnNhaCBTT1VCT1JVXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHUgYSBza29uxI3DrVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorI34gIiAtUCwgLS1wb3J0IDxudW1iZXI+ICAgdXNlIHRoaXMgVURQIHBvcnRcbiIKKyN+ICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+IG1hcmsgZ2l2ZW4gbWVzc2FnZSB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKKyN+ICIgLXMsIC0tc3RkZXJyICAgICAgICAgIG91dHB1dCBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yIGFzIHdlbGxcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtbiwgLS1zZXJ2ZXIgPG7DoXpldj4gIHphcMOtxaFlIGRvIHRvaG90byB2emTDoWxlbsOpaG8gc3lzbG9nb3bDqWhvIHNlcnZlcnVcbiIKKyN+ICIgLVAsIC0tcG9ydCA8xI3DrXNsbz4gICAgcG91xb5pamUgdGVudG8gVURQIHBvcnRcbiIKKyN+ICIgLXAsIC0tcHJpb3JpdHkgPHByaW9yaXRhPlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgb3puYcSNw60gemFkYW5vdSB6cHLDoXZ1IHRvdXRvIHByaW9yaXRvdVxuIgorI34gIiAtcywgLS1zdGRlcnIgICAgICAgICAgenByw6F2dSB2eXDDrcWhZSByb3ZuxJvFviBuYSBzdGFuZGFyZG7DrSBjaHlib3bDvSB2w71zdHVwXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC10LCAtLXRhZyA8dGFnPiAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorI34gIiAtdSwgLS1zb2NrZXQgPHNvY2tldD4gd3JpdGUgdG8gdGhpcyBVbml4IHNvY2tldFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdCwgLS10YWcgPHpuYcSNa2E+ICAgIGthxb5kw6ltdSDFmcOhZGt1IHDFmWlkw6EgdHV0byB6bmHEjWt1XG4iCisjfiAiIC11LCAtLXNvY2tldCA8c29ja2V0PiB6YXDDrcWhZSBkbyB0b2hvdG8gdW5peG92w6lobyBzb2NrZXR1XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICB6b2JyYXrDrSDDumRhamUgb8KgdmVyemkgYSBza29uxI3DrVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4vY3JlYXRlICVzOiAlbVxuIgorI34gbXNnc3RyICJOZXpkYcWZaWxvIHNlIG90ZXbFmcOtdC92eXR2b8WZaXQgJXM6ICVtXG4iCisKKyN+IG1zZ2lkICJGYWlsZWQgdG8gbG9jayAlczogJW1cbiIKKyN+IG1zZ3N0ciAiTmV6ZGHFmWlsbyBzZSB6YW1rbm91dCAlczogJW1cbiIKKworI34gbXNnaWQgIkJhZCBudW1iZXI6ICVzXG4iCisjfiBtc2dzdHIgIkNoeWJuw6kgxI3DrXNsbzogJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHNob3cgaHVtYW4gcmVhZGFibGUgdGltZXN0YW1wIChjb3VsZCBiZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5hY2N1cmF0ZSBpZiB5b3UgaGF2ZSB1c2VkIFNVU1BFTkQvUkVTVU1FKVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICB1a8Ohxb5lIMSNYXNvdsOpIMO6ZGFqZSB2wqBwb2RvYm7EmyB2aG9kbsOpIHBybyDEjWxvdsSba2FcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtxa/FvmUgYsO9dCBuZXDFmWVzbsOpLCBwb2t1ZCBqc3RlIHBvdcW+aWxpIHVzcMOhbsOtXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHByb2J1emVuw60pXG4iCisKKyN+IG1zZ2lkICItLW5vdGltZSBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1jdGltZSBvciAtLXJlbHRpbWUiCisjfiBtc2dzdHIgInDFmWVww61uYcSNIC0tbm9hdGltZSBuZWx6ZSBwb3XFvsOtdCBzcG9sdSBzwqAtLWN0aW1lIG5lYm8gLS1yZWx0aW1lIgorCisjfiBtc2dpZCAiZmluZCB1bnVzZWQgbG9vcCBkZXZpY2UgZmFpbGVkIgorI34gbXNnc3RyICJobGVkw6Fuw60gbmVwb3XFvml0w6lobyBsb29wIHphxZnDrXplbsOtIHNlbGhhbG8iCisKKyN+IG1zZ2lkICIiCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgIG91dHB1dCBoZWxwIHNjcmVlbiBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICB2eXN2xJt0bMOtLCBjbyBzZSBwcsOhdsSbIHByb3bDoWTDrVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgIHpvYnJhesOtIG7DoXBvdsSbZHUgYSBza29uxI3DrVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBkbyBub3QgcHJpbnQgYmFubmVyLCB3b3JrcyBvbmx5IGZvciByb290XG4iCisjfiAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIG5ldnlww63FoWUgaGxhdmnEjWt1LCBmdW5ndWplIGplIHBybyBzdXBlcnXFvml2YXRlbGVcbiIKKyN+ICIgLXQsIC0tdGltZW91dCBMSU1JVCAgICAgxI1hc292w70gbGltaXQgbmEgesOhcGlzIHbCoHNla3VuZMOhY2hcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgem9icmF6w60gdHV0byBuw6Fwb3bEm2R1IGEgc2tvbsSNw61cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAtbywgLS1vdXRwdXQtc2VwYXJhdG9yIDxzdHJpbmc+XG4iCisjfiBtc2dzdHIgIiAtbywgLS1vdXRwdXQtc2VwYXJhdG9yIDzFmWV0xJt6ZWM+XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQb3XFvml0w606XG4iCisjfiAiICVzIFtQxZhFUMONTkHEjEVdIFNPVUJPUuKAplxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1iICAgICAgICAgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCisjfiAiIC1jICAgICAgICAgICAgICBvbmUtYnl0ZSBjaGFyYWN0ZXIgZGlzcGxheVxuIgorI34gIiAtQyAgICAgICAgICAgICAgY2Fub25pY2FsIGhleCtBU0NJSSBkaXNwbGF5XG4iCisjfiAiIC1kICAgICAgICAgICAgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKKyN+ICIgLW8gICAgICAgICAgICAgIHR3by1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKKyN+ICIgLXggICAgICAgICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIKKyN+ICIgLWUgZm9ybWF0ICAgICAgIGZvcm1hdCBzdHJpbmcgdG8gYmUgdXNlZCBmb3IgZGlzcGxheWluZyBkYXRhXG4iCisjfiAiIC1mIGZvcm1hdF9maWxlICBmaWxlIHRoYXQgY29udGFpbnMgZm9ybWF0IHN0cmluZ3NcbiIKKyN+ICIgLW4gbGVuZ3RoICAgICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorI34gIiAtcyBvZmZzZXQgICAgICAgc2tpcCBvZmZzZXQgYnl0ZXMgZnJvbSB0aGUgYmVnaW5uaW5nXG4iCisjfiAiIC12ICAgICAgICAgICAgICBkaXNwbGF5IHdpdGhvdXQgc3F1ZWV6aW5nIHNpbWlsYXIgbGluZXNcbiIKKyN+ICIgLVYgICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQxZllcMOtbmHEjWU6XG4iCisjfiAiIC1iICAgICAgICAgICAgICB2w71waXMgcG8gYmFqdGVjaCBvc21pxI1rb3bEm1xuIgorI34gIiAtYyAgICAgICAgICAgICAgdsO9cGlzIHBvIGJhanRlY2ggamFrbyB6bmFreVxuIgorI34gIiAtQyAgICAgICAgICAgICAgbm9ybW92YW7DvSB2w71waXMgxaFlc3Ruw6FjdGtvdsSbIGEgdsKgQVNDSUlcbiIKKyN+ICIgLWQgICAgICAgICAgICAgIHbDvXBpcyBwbyBkdm91IGJhanRlY2ggZGVzw610a292xJtcbiIKKyN+ICIgLW8gICAgICAgICAgICAgIHbDvXBpcyBwbyBkdm91IGJhanRlY2ggb3NtacSNa292xJtcbiIKKyN+ICIgLXggICAgICAgICAgICAgIHbDvXBpcyBwbyBkdm91IGJhanRlY2ggxaFlc3Ruw6FjdGtvdsSbXG4iCisjfiAiIC1lIEZPUk3DgVQgICAgICAgZm9ybcOhdG92YWPDrSDFmWV0xJt6ZWMgcG91xb5pdMO9IHDFmWkgdsO9cGlzdSBkYXRcbiIKKyN+ICIgLWYgRk9STcOBVE9WQUPDjV9TT1VCT1JcbiIKKyN+ICIgICAgICAgICAgICAgICAgIHNvdWJvciBvYnNhaHVqw61jw60gZm9ybcOhdG92YWPDrSDFmWV0xJt6Y2VcbiIKKyN+ICIgLW4gRMOJTEtBICAgICAgICBpbnRlcnByZXR1amUgcG91emUgRMOJTEtVIGJhanTFryB6ZSB2c3R1cHVcbiIKKyN+ICIgLXMgUE9aSUNFICAgICAgIHDFmWVza2/EjcOtIHphZGFuw70gcG/EjWV0IGJhanTFryBuYSB6YcSNw6F0a3UgdnN0dXB1XG4iCisjfiAiIC12ICAgICAgICAgICAgICB2ZSB2w71waXN1IG5ldnluZWNow6EgcG9kb2Juw6kgxZnDoWRreVxuIgorI34gIiAtViAgICAgICAgICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImNyeXB0IGZhaWxlZDogJW1cbiIKKyN+IG1zZ3N0ciAidm9sw6Fuw60gY3J5cHQgc2VsaGFsbzogJW1cbiIKKworI34gbXNnaWQgIkNhbiBub3QgZm9yazogJW1cbiIKKyN+IG1zZ3N0ciAiVnl0dm/FmWVuw60gcG90b21rYSB2b2zDoW7DrW0gZm9yayBzZWxoYWxvOiAlbVxuIgorCisjfiBtc2dpZCAiYnVnIGluIHhzdHJuZHVwIGNhbGwiCisjfiBtc2dzdHIgImNoeWJhIHZlIHZvbMOhbsOtIHhzdHJuZHVwIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1BICAgICAgICAgY2hlY2sgYWxsIGZpbGVzeXN0ZW1zXG4iCisjfiAiIC1SICAgICAgICAgc2tpcCByb290IGZpbGVzeXN0ZW07IHVzZWZ1bCBvbmx5IHdpdGggYC1BJ1xuIgorI34gIiAtTSAgICAgICAgIGRvIG5vdCBjaGVjayBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisjfiAiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisjfiAiICAgICAgICAgICAgICB0eXBlIGlzIGFsbG93ZWQgdG8gYmUgY29tbWEtc2VwYXJhdGVkIGxpc3RcbiIKKyN+ICIgLVAgICAgICAgICBjaGVjayBmaWxlc3lzdGVtcyBpbiBwYXJhbGxlbCwgaW5jbHVkaW5nIHJvb3RcbiIKKyN+ICIgLXIgICAgICAgICByZXBvcnQgc3RhdGlzdGljcyBmb3IgZWFjaCBkZXZpY2UgZnNja1xuIgorI34gIiAtcyAgICAgICAgIHNlcmlhbGl6ZSBmc2NrIG9wZXJhdGlvbnNcbiIKKyN+ICIgLWwgICAgICAgICBsb2NrIHRoZSBkZXZpY2UgdXNpbmcgZmxvY2soKVxuIgorI34gIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCisjfiAiIC1UICAgICAgICAgZG8gbm90IHNob3cgdGhlIHRpdGxlIG9uIHN0YXJ0dXBcbiIKKyN+ICIgLUMgPGZkPiAgICBkaXNwbGF5IHByb2dyZXNzIGJhcjsgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCisjfiAiIC1WICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+ICIgLT8gICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gIlNlZSBmc2NrLiogY29tbWFuZHMgZm9yIGZzLW9wdGlvbnMuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUMWZZXDDrW5hxI1lOlxuIgorI34gIiAtQSAgICAgICAgIHprb250cm9sdWplIHbFoWVjaG55IHNvdWJvcm92w6kgc3lzdMOpbXlcbiIKKyN+ICIgLVIgICAgICAgICB2eW5lY2jDoSBrb8WZZW5vdsO9IHNvdWJvcm92w70gc3lzdMOpbTsgdcW+aXRlxI1uw6kgamUgc8Kg4oCeLUHigJxcbiIKKyN+ICIgLU0gICAgICAgICBuZWtvbnRyb2x1amUgcMWZaXBvamVuw6kgc291Ym9yb3bDqSBzeXN0w6lteVxuIgorI34gIiAtdCA8dHlwPiAgIHVyxI11amUgZHJ1aHkgc291Ym9yb3bDvWNoIHN5c3TDqW3Frywga3RlcsOpIHNlIG1hasOtIHprb250cm9sb3ZhdDtcbiIKKyN+ICIgICAgICAgICAgICB0eXAgc23DrSBiw710IMSNw6Fya291IG9kZMSbbGVuw70gc2V6bmFtXG4iCisjfiAiIC1QICAgICAgICAgc291Ym9yb3bDqSBzeXN0w6lteSBrb250cm9sdWplIHBhcmFsZWxuxJssIHbEjWV0bsSbIGtvxZllbm92w6lob1xuIgorI34gIiAtciAgICAgICAgIGhsw6Fzw60gc3RhdGlzdGlja8OpIMO6ZGFqZSBwcm/CoGthxb5kw6kga29udHJvbG92YW7DqSB6YcWZw616ZW7DrVxuIgorI34gIiAtcyAgICAgICAgIHNlcmlhbGl6dWplIG9wZXJhY2UgZnNja1xuIgorI34gIiAtbCAgICAgICAgIHphbWtuZSB6YcWZw616ZW7DrSBwb21vY8OtIGZsb2NrKClcbiIKKyN+ICIgLU4gICAgICAgICBuaWMgbmV2eWtvbsOhLCBwb3V6ZSB6b2JyYXrDrSwgY28gYnkgc2UgdWTEm2xhbG9cbiIKKyN+ICIgLVQgICAgICAgICBwxZlpIHNwdcWhdMSbbsOtIG5lem9icmF6w60gbmFkcGlzXG4iCisjfiAiIC1DIDxmZD4gICAgem9icmF6w60gaW5kaWvDoXRvciBwb3N0dXB1OyBkZXNrcmlwdG9yIHNvdWJvcnUgamUgcHJvIEdVSVxuIgorI34gIiAtViAgICAgICAgIHZ5c3bEm3Rsw60sIGNvIHNlIHByb3bDoWTDrVxuIgorI34gIiAtPyAgICAgICAgIHpvYnJhesOtIHR1dG8gbsOhcG92xJtkdSBhIHNrb27EjcOtXG4iCisjfiAiXG4iCisjfiAicMWZZXDDrW5hxI1lX3NzIGpzb3UgcG9wc8OhbnkgdcKgamVkbm90bGl2w71jaCBwxZnDrWthesWvIGZzY2suKi4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLWQsIC0tZGl2aXNvcj1OVU0gICAgICBkaXZpZGUgYnl0ZXMgTlVNXG4iCisjfiAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgc2hvdyBzZWN0b3IgY291bnQgYW5kIHNpemVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtSCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQxZllcMOtbmHEjWU6XG4iCisjfiAiIC1kLCAtLWRpdmlzb3I9xIzDjVNMTyAgICB2eWTEm2zDrSBiYWp0eSDEjMONU0xFTVxuIgorI34gIiAteCwgLS1zZWN0b3JzICAgICAgICAgIHpvYnJhesOtIHBvxI1ldCBhIHZlbGlrb3N0IHNla3RvcsWvXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyN+ICIgLUgsIC0taGVscCAgICAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHUgYSBza29uxI3DrVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC10LCAtLXR5cGU9VFlQRSAgZmlsZSBzeXN0ZW0gdHlwZSwgd2hlbiB1bmRlZmluZWQgZXh0MiBpcyB1c2VkXG4iCisjfiAiICAgICBmcy1vcHRpb25zICAgcGFyYW1ldGVycyB0byByZWFsIGZpbGUgc3lzdGVtIGJ1aWxkZXJcbiIKKyN+ICIgICAgIGRldmljZSAgICAgICBwYXRoIHRvIGEgZGV2aWNlXG4iCisjfiAiICAgICBzaXplICAgICAgICAgbnVtYmVyIG9mIGJsb2NrcyBvbiB0aGUgZGV2aWNlXG4iCisjfiAiIC1WLCAtLXZlcmJvc2UgICAgZXhwbGFpbiB3aGF0IGlzIGRvbmVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICBkZWZpbmluZyAtViBtb3JlIHRoYW4gb25jZSB3aWxsIGNhdXNlIGEgZHJ5LXJ1blxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiICAgICAgICAgICAgICAgICAgLVYgYXMgdmVyc2lvbiBtdXN0IGJlIG9ubHkgb3B0aW9uXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlDFmWVww61uYcSNZTpcbiIKKyN+ICIgLXQsIC0tdHlwZT1UWVAgICBkcnVoIHN5c3TDqW11IHNvdWJvcsWvLCBuZW7DrS1saSB6YWTDoW5vLCBwb3XFvmlqZSBzZSBleHQyXG4iCisjfiAiICAgICBWT0xCWV9TUyAgICAgcGFyYW1ldHJ5IHBybyB0dm/FmcOtdGtvIGtvbmtyw6l0bsOtaG8gc291Ym9yb3bDqWhvIHN5c3TDqW11XG4iCisjfiAiICAgICBaQcWYw41aRU7DjSAgICAgY2VzdGEga8KgemHFmcOtemVuw61cbiIKKyN+ICIgICAgIFZFTElLT1NUICAgICBwb8SNZXQgYmxva8WvIG5hIHphxZnDrXplbsOtXG4iCisjfiAiIC1WLCAtLXZlcmJvc2UgICAgdnlzdsSbdGzDrSBwcm92w6FkxJtuw6kgw7prb255XG4iCisjfiAiICAgICAgICAgICAgICAgICAgbsOhc29ibsOpIHBvdcW+aXTDrSAtViB6cMWvc29iw60gYmV6esOhcGlzb3bDvSBixJtoXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgdnlww63FoWUgw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAtViBqYWtvIHZlcnplIG11c8OtIGLDvXQgamVkaW7DvW0gcMWZZXDDrW5hxI1lbVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIHpvYnJhesOtIHR1dG8gbsOhcG92xJtkdSBhIHNrb27EjcOtXG4iCisKKyN+IG1zZ2lkICJta2ZzICglcylcbiIKKyN+IG1zZ3N0ciAibWtmcyAoJXMpXG4iCisKKyN+IG1zZ2lkICJzdHJ0b2wgZXJyb3I6IG51bWJlciBvZiBibG9ja3Mgbm90IHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiY2h5YmEgc3RydG9sOiBwb8SNZXQgYmxva8WvIG5lYnlsIHphZMOhbiIKKworI34gbXNnaWQgIm9uZSBiYWQgcGFnZVxuIgorI34gbXNnc3RyICJjaHlibsO9Y2ggc3Ryw6FuZWs6IDFcbiIKKworIyBBbHRlcm5hdGUgY29udGludWF0aW9uIG9mIHByZXZpb3VzIG1lc3NhZ2UKKyN+IG1zZ2lkICIgICAgICAgIG9uIHdob2xlIGRpc2suICIKKyN+IG1zZ3N0ciAiICAgICAgICBuYSBjZWzDqW0gZGlza3UuICIKKworI34gbXNnaWQgImRvZXMgbm90IHN1cHBvcnQgc3dhcHNwYWNlIHZlcnNpb24gJWQuIgorI34gbXNnc3RyICJuZXBvZHBvcnVqZSBvZGtsw6FkYWPDrSBwcm9zdG9yIHZlcnplICVkLiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWRkICAgICAgICAgICAgYWRkIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCisjfiAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIGRlbGV0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgKERFUFJFQ0FURUQpXG4iCisjfiAiIC1zLCAtLXNob3cgICAgICAgICAgIGxpc3QgcGFydGl0aW9uc1xuIgorI34gIlxuIgorI34gIiAtYiwgLS1ieXRlcyAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorI34gIiAtZywgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1zaG93XG4iCisjfiAiIC1uLCAtLW5yIDxuOm0+ICAgICAgIHNwZWNpZnkgdGhlIHJhbmdlIG9mIHBhcnRpdGlvbnMgKGUuZy4gLS1uciAyOjQpXG4iCisjfiAiIC1vLCAtLW91dHB1dCA8dHlwZT4gIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyN+ICIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyN+ICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgc3BlY2lmeSB0aGUgcGFydGl0aW9uIHR5cGUgKGRvcywgYnNkLCBzb2xhcmlzLCBldGMuKVxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICB2ZXJib3NlIG1vZGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hZGQgICAgICAgICAgICBwxZlpZMOhIHphZGFuw6kgb2Rkw61seSBuZWJvIHbFoWVjaG55IG9kZMOtbHlcbiIKKyN+ICIgLWQsIC0tZGVsZXRlICAgICAgICAgc21hxb5lIHphZGFuw6kgb2Rkw61seSBuZWJvIHbFoWVjaG55IG9kZMOtbHlcbiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgdnlww63FoWUgc2V6bmFtIG9kZMOtbMWvIChaQVNUQVJBTMOJKVxuIgorI34gIiAtcywgLS1zaG93ICAgICAgICAgICB2eXDDrcWhZSBzZXpuYW0gb2Rkw61sxa9cbiIKKyN+ICJcbiIKKyN+ICIgLWIsIC0tYnl0ZXMgICAgICAgICAgdmVsaWtvc3RpIHZ5cGlzdWplIHbCoGJhanRlY2ggbmFtw61zdG8gcG9kb2LEmyB2aG9kbsOpXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIHBybyDEjWxvdsSba2FcbiIKKyN+ICIgLWcsIC0tbm9oZWFkaW5ncyAgICAgbmV6b2JyYXp1amUgesOhaGxhdsOtIHZlIHbDvXBpc3UgLS1zaG93XG4iCisjfiAiIC1uLCAtLW5yIDxtOm4+ICAgICAgIHVyxI11amUgcm96c2FoIG9kZMOtbMWvICgtLW5yIDI6NClcbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDxkcnVoPiAgem9icmF6w60gdnlicmFuw6kgc2xvdXBjZVxuIgorI34gIiAtUCwgLS1wYWlycyAgICAgICAgICB2w71zdHVwIHZlIGZvcm3DoXR1IGtsw63EjT1cImhvZG5vdGFcIlxuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICBuZWZvcm3DoXRvdmFuw70gdsO9c3R1cFxuIgorI34gIiAtdCwgLS10eXBlIDxkcnVoPiAgICB1csSNdWplIGRydWggb2Rkw61sdSAoZG9zLCBic2QsIHNvbGFyaXMsIGF0ZC4pXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgIHBvZHJvYm7DvSByZcW+aW1cbiIKKworI34gbXNnaWQgIldhcm5pbmchISAgVW5zdXBwb3J0ZWQgR1BUIChHVUlEIFBhcnRpdGlvbiBUYWJsZSkgZGV0ZWN0ZWQuIFVzZSBHTlUgUGFydGVkLiIKKyN+IG1zZ3N0ciAiVmFyb3bDoW7DrSEhIERldGVrb3bDoW5hIG5lcG9kcG9yb3ZhbsOhIEdQVOKAryhHVUlEIHRhYnVsa2Egcm96ZMSbbGVuw60gZGlza3UpLiBQb3XFvmlqdGUgR05VIFBhcnRlZC4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRUaGVyZSBpcyBhIHZhbGlkIEFJWCBsYWJlbCBvbiB0aGlzIGRpc2suXG4iCisjfiAiXHRVbmZvcnR1bmF0ZWx5IExpbnV4IGNhbm5vdCBoYW5kbGUgdGhlc2VcbiIKKyN+ICJcdGRpc2tzIGF0IHRoZSBtb21lbnQuICBOZXZlcnRoZWxlc3Mgc29tZVxuIgorI34gIlx0YWR2aWNlOlxuIgorI34gIlx0MS4gZmRpc2sgd2lsbCBkZXN0cm95IGl0cyBjb250ZW50cyBvbiB3cml0ZS5cbiIKKyN+ICJcdDIuIEJlIHN1cmUgdGhhdCB0aGlzIGRpc2sgaXMgTk9UIGEgc3RpbGwgdml0YWxcbiIKKyN+ICJcdCAgIHBhcnQgb2YgYSB2b2x1bWUgZ3JvdXAuIChPdGhlcndpc2UgeW91IG1heVxuIgorI34gIlx0ICAgZXJhc2UgdGhlIG90aGVyIGRpc2tzIGFzIHdlbGwsIGlmIHVubWlycm9yZWQuKVxuIgorI34gIlx0My4gQmVmb3JlIGRlbGV0aW5nIHRoaXMgcGh5c2ljYWwgdm9sdW1lIGJlIHN1cmVcbiIKKyN+ICJcdCAgIHRvIHJlbW92ZSB0aGUgZGlzayBsb2dpY2FsbHkgZnJvbSB5b3VyIEFJWFxuIgorI34gIlx0ICAgbWFjaGluZS4gIChPdGhlcndpc2UgeW91IGJlY29tZSBhbiBBSVhwZXJ0KS4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJcdE5hIHRvbXRvIGRpc2t1IGplIEFJWCB0YWJ1bGthIHJvemTEm2xlbsOtIGRpc2t1LlxuIgorI34gIlx0TGludXggcyB0xJttaXRvIGRpc2t5IHYgc291xI1hc27DqSBkb2LEmyBuZXVtw60gcHJhY292YXQuXG4iCisjfiAiXHROaWNtw6luxJsgbsSba29saWsgcmFkIHBybyBWw6FzOlxuIgorI34gIlx0MS4gcMWZaSB6w6FwaXN1IGZkaXNrIHpuacSNw60gamVqaWNoIG9ic2FoXG4iCisjfiAiXHQyLiBVamlzdMSbdGUgc2UsIMW+ZSB0ZW50byBkaXNrIE5FTsONIGTFr2xlxb5pdG91IHNvdcSNw6FzdMOtXG4iCisjfiAiXHQgICBza3VwaW55IHN2YXprxa8uIChKaW5hayBtxa/FvmV0ZSBzbWF6YXQsIHBva3VkIG5lanNvdVxuIgorI34gIlx0ICAgenJjYWRsZW55LCBpIG9zdGF0bsOtIGRpc2t5LilcbiIKKyN+ICJcdDMuIFDFmWVkdMOtbSwgbmXFviBzbWHFvmV0ZSBmeXppY2vDvSBzdmF6ZWssIHNlIHVqaXN0xJt0ZSwgxb5lXG4iCisjfiAiXHQgICBqacW+IG5lbsOtIGxvZ2lja291IHNvdcSNw6FzdMOtIFZhxaFlaG8gQUlYIHN5c3TDqW11LiAoSmluYWtcbiIKKyN+ICJcdCAgIHNlIHogVsOhcyBzdMOhdsOhIEFJWHBlcnQpLiIKKworI34gbXNnaWQgIiIKKyN+ICJcdFNvcnJ5IC0gdGhpcyBmZGlzayBjYW5ub3QgaGFuZGxlIEFJWCBkaXNrIGxhYmVscy5cbiIKKyN+ICJcdElmIHlvdSB3YW50IHRvIGFkZCBET1MtdHlwZSBwYXJ0aXRpb25zLCBjcmVhdGVcbiIKKyN+ICJcdGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUgZmlyc3QuIChVc2Ugby4pXG4iCisjfiAiXHRXQVJOSU5HOiBUaGlzIHdpbGwgZGVzdHJveSB0aGUgcHJlc2VudCBkaXNrIGNvbnRlbnRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXHRQcm9tacWIdGUsIGFsZSB0ZW50byBwcm9ncmFtIG5ldW3DrSB6YWNow6F6ZXQgcyBBSVhvdsO9bWkgZGlza292w71taVxuIgorI34gIlx0am1lbm92a2FtaS4gQ2hjZXRlLWxpIHDFmWlkYXQgb2Rkw61sIHR5cHUgRE9TLCBuZWpwcnZlIHZ5dHZvxZl0ZVxuIgorI34gIlx0IG5vdnUgcHLDoXpkbm91IERPU09WT1UgdGFidWxrdSByb3pkxJtsZW7DrSBkaXNrdSAocMWZw61rYXog4oCeb+KAnCkuXG4iCisjfiAiXHRWQVJPVsOBTsONOiBUw61tdG8gcMWZaWpkZXRlIG8gc291xI1hc27DvSBvYnNhaCBkaXNrdS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJCU0QgbGFiZWwgZm9yIGRldmljZTogJXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkJTRCB0YWJ1bGthIHJvemTEm2xlbsOtIGRpc2t1IHBybyB6YcWZw616ZW7DrTogJXNcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlZCBoYXMgZW1wdHkgdHlwZVxuIgorI34gbXNnc3RyICJWYXJvdsOhbsOtOiBvZGTDrWwgJWQgbmVtw6EgdXLEjWVuIHR5cFxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVpIGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiRGlza292w70gb2Rkw61sICVpIG5la29uxI3DrSBuYSBocmFuaWNpIGN5bGluZHJ1LlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IEdQVCAoR1VJRCBQYXJ0aXRpb24gVGFibGUpIGRldGVjdGVkIG9uICclcychIFRoZSB1dGlsIGZkaXNrIGRvZXNuJ3Qgc3VwcG9ydCBHUFQuIFVzZSBHTlUgUGFydGVkLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVkFST1bDgU7DjTogTmEg4oCeJXPigJwgbmFsZXplbmEgR1BU4oCvKEdVSUTigK90YWJ1bGthIHJvemTEm2xlbsOtIGRpc2t1KSEgTsOhc3Ryb2ogZmRpc2sgbmVwb2Rwb3J1amUgR1BULiBQb3XFvmlqdGUgR05V4oCvUGFydGVkLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiTm90ZTogc2VjdG9yIHNpemUgaXMgJWxkIChub3QgJWQpXG4iCisjfiBtc2dzdHIgIlBvem9yOiB2ZWxpa29zdCBzZWt0b3J1IGplICVsZCAobmlrb2xpdiAlZClcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBHUFQgKEdVSUQgUGFydGl0aW9uIFRhYmxlKSBkZXRlY3RlZCBvbiAnJXMnISBUaGUgdXRpbCBzZmRpc2sgZG9lc24ndCBzdXBwb3J0IEdQVC4gVXNlIEdOVSBQYXJ0ZWQuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJWQVJPVsOBTsONOiBOYSDigJ4lc+KAnCBuYWxlemVuYSBHUFTigK8oR1VJROKAr3RhYnVsa2Egcm96ZMSbbGVuw60gZGlza3UpISBOw6FzdHJvaiBzZmRpc2sgbmVwb2Rwb3J1amUgR1BULiBQb3XFvmlqdGUgR05V4oCvUGFydGVkLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiVXNlIHRoZSAtLWZvcmNlIGZsYWcgdG8gb3ZlcnJ1bGUgdGhpcyBjaGVjay5cbiIKKyN+IG1zZ3N0ciAiS8KgcG90bGHEjWVuw60gdMOpdG8ga29udHJvbHkgcG91xb5panRlIHDFmWVww61uYcSNIC0tZm9yY2UuXG4iCisKKyN+IG1zZ2lkICJleGVjICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAic3B1xaF0xJtuw60gJXMgc2VsaGFsbyIKKworI34gbXNnaWQgIiIKKyN+ICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsXG4iCisjfiAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisjfiAiIC0tc2Vzc2lvbi1jb21tYW5kIDxjb21tYW5kPiAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvblxuIgorI34gIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgIHBhc3MgLWYgdG8gdGhlIHNoZWxsIChmb3IgY3NoIG9yIHRjc2gpXG4iCisjfiAiIC1tLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICAgZG8gbm90IHJlc2V0IGVudmlyb25tZW50IHZhcmlhYmxlc1xuIgorI34gIiAtcCAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgLW1cbiIKKyN+ICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICBydW4gc2hlbGwgaWYgL2V0Yy9zaGVsbHMgYWxsb3dzIGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICBuYXN0YXbDrSBzaGVsbCBqYWtvIHDFmWlobGHFoW92YWPDrVxuIgorI34gIiAtYywgLS1jb21tYW5kIDxwxZnDrWthej4gICAgICAgdnl2b2xhbsOpbXUgc2hlbGx1IHDFmWVkw6EgamVkZW4gcMWZw61rYXogcG9tb2PDrcKgLWNcbiIKKyN+ICIgLS1zZXNzaW9uLWNvbW1hbmQgPHDFmcOta2F6PiAgIHZ5dm9sYW7DqW11IHNoZWxsdSBwxZllZMOhIGplZGVuIHDFmcOta2F6IHBvbW9jw63CoC1jXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSBuZXZ5dHZvxZnDrSBub3ZvdSByZWxhY2lcbiIKKyN+ICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICBzaGVsbHUgcMWZZWTDoSAtZiAocHJvIGNzaCBuZWJvIHRjc2gpXG4iCisjfiAiIC1tLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICAgemFjaG92w6EgcHJvbcSbbm7DqSBwcm9zdMWZZWTDrVxuIgorI34gIiAtcCAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZWpuw6kgamFrbyAtbVxuIgorI34gIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgIHNwdXN0w60gc2hlbGwsIHBva3VkIHRvIC9ldGMvc2hlbGxzIGRvdm9sw61cbiIKKworI34gbXNnaWQgIiVzOiBleGVjIGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IHZvbMOhbsOtIGV4ZWMgc2VsaGFsbyIKKworI34gbXNnaWQgIlRJT0NTQ1RUWTogaW9jdGwgZmFpbGVkIgorI34gbXNnc3RyICJUSU9DU0NUVFk6IHZvbMOhbsOtIGlvY3RsIHNlbGhhbG8iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWytmb3JtYXRdIFtkYXkgbW9udGggeWVhcl1cbiIKKyN+IG1zZ3N0ciAiUG91xb5pdMOtOiAlcyBbK0ZPUk3DgVRdIFtERU4gTcSaU8ONQyBST0tdXG4iCisKKyN+IG1zZ2lkICJTdC4gVGliJ3MgRGF5IgorI34gbXNnc3RyICJEZW4gc3ZhdMOpaG8gVGliYSIKKworI34gbXNnaWQgIiIKKyN+ICIgLU8sIC0tb3B0aW9ucyA8bGlzdD4gICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IG1vdW50IG9wdGlvbnNcbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICB0aGUgb3V0cHV0IGNvbHVtbnMgdG8gYmUgc2hvd25cbiIKKyN+ICIgLVAsIC0tcGFpcnMgICAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCisjfiAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBGUyB0eXBlc1xuIgorI34gbXNnc3RyICIiCisjfiAiIC1PLCAtLW9wdGlvbnMgPHNlem5hbT4gb21lesOtIG1ub8W+aW51IHNvdWJvcm92w71jaCBzeXN0w6ltxa8gcG9kbGUgdm9sZWIgcMWZaXBvamVuw61cbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDxzZXpuYW0+ICB6b2JyYXrDrSBkYW7DqSBzbG91cGNlXG4iCisjfiAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdsO9c3R1cCB2ZSBmb3Jtw6F0dSBrbMOtxI09XCJob2Rub3RhXCJcbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAgICBuZWZvcm3DoXRvdmFuw70gdsO9c3R1cFxuIgorI34gIiAtdCwgLS10eXBlcyA8c2V6bmFtPiAgIG9tZXrDrSBtbm/FvmludSBzb3Vib3JvdsO9Y2ggc3lzdMOpbcWvIHBvZGxlIGplamljaCBkcnVodVxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLXMgc2lnbmFsIHwgLXAgXSBbIC1hIF0gcGlkIC4uLlxuIgorI34gbXNnc3RyICJQb3XFvml0w606ICVzIFsgLXMgc2lnbsOhbCB8IC1wIF0gWyAtYSBdIFBJROKAplxuIgorCisjfiBtc2dpZCAiICAgICAgICVzIC1sIFsgc2lnbmFsIF1cbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgJXMgLWwgWyBzaWduw6FsIF1cbiIKKworIyBjb25uZWN0IGlzIGZ1bmN0aW9uIG5hbWUKKyN+IG1zZ2lkICJjb25uZWN0ICVzIgorI34gbXNnc3RyICJjb25uZWN0ICVzIgorCisjfiBtc2dpZCAiaW52YWxpZCBwb3J0IG51bWJlciBhcmd1bWVudCIKKyN+IG1zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IMSNw61zbGEgcG9ydHUiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUG91xb5pdMOtOlxuIgorI34gIiAlcyBbcMWZZXDDrW5hxI1lXSBbemHFmcOtemVuw63igKZdXG4iCisKKyMgPz8/OiBXVEYgaXMgaG9sZGVyPworIyA/Pz86IFDFmWVrbMOhZGF0IGpha28g4oCeb2LDoWxrYeKAnD8KKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgcHJpbnQgYWxsIGRldmljZXNcbiIKKyN+ICIgLWIsIC0tYnl0ZXMgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKKyN+ICIgLWQsIC0tbm9kZXBzICAgICAgICAgZG9uJ3QgcHJpbnQgc2xhdmVzIG9yIGhvbGRlcnNcbiIKKyN+ICIgLUQsIC0tZGlzY2FyZCAgICAgICAgcHJpbnQgZGlzY2FyZCBjYXBhYmlsaXRpZXNcbiIKKyN+ICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorI34gIiAtSSwgLS1pbmNsdWRlIDxsaXN0PiBzaG93IG9ubHkgZGV2aWNlcyB3aXRoIHNwZWNpZmllZCBtYWpvciBudW1iZXJzXG4iCisjfiAiIC1mLCAtLWZzICAgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IGZpbGVzeXN0ZW1zXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgIHVzYWdlIGluZm9ybWF0aW9uICh0aGlzKVxuIgorI34gIiAtaSwgLS1hc2NpaSAgICAgICAgICB1c2UgYXNjaWkgY2hhcmFjdGVycyBvbmx5XG4iCisjfiAiIC1tLCAtLXBlcm1zICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHBlcm1pc3Npb25zXG4iCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXB1dFxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorI34gIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBvdXRwdXQgY29sdW1uc1xuIgorI34gIiAtUCwgLS1wYWlycyAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorI34gIiAtcywgLS1pbnZlcnNlICAgICAgICBpbnZlcnNlIGRlcGVuZGVuY2llc1xuIgorI34gIiAtdCwgLS10b3BvbG9neSAgICAgICBvdXRwdXQgaW5mbyBhYm91dCB0b3BvbG9neVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUMWZZXDDrW5hxI1lOlxuIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICB2eXDDrcWhZSB2xaFlY2huYSB6YcWZw616ZW7DrVxuIgorI34gIiAtYiwgLS1ieXRlcyAgICAgICAgICB2ZWxpa29zdGkgdnlww63FoWUgdsKgYmFqdGVjaCBuYW3DrXN0byB2wqBwb2RvYsSbIHZob2Ruw6lcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgcHJvIMSNbG92xJtrYVxuIgorI34gIiAtZCwgLS1ub2RlcHMgICAgICAgICBuZXZ5cMOtxaFlIHBvZMWZw616ZW7DoSAoc2xhdmUpIGEgbmFkxZnDrXplbsOhIChob2xkZXIpIHphxZnDrXplbsOtXG4iCisjfiAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHBvcMOtxaFlIHNjaG9wbm9zdCB6YWhhem92YXQgZGF0YSAoZGlzY2FyZClcbiIKKyN+ICIgLWUsIC0tZXhjbHVkZSA8c2V6bmFtPlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICB2eW5lY2jDoSB6YcWZw616ZW7DrSBwb2RsZSBobGF2bsOtaG8gxI3DrXNsYSAodsO9Y2hvesOtOiBSQU0gZGlza3kpXG4iCisjfiAiIC1JLCAtLWluY2x1ZGUgPHNlem5hbT5cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgem9icmF6w60gcG91emUgemHFmcOtemVuw60gc2UgemFkYW7DvW1pIGhsYXZuw61taSDEjcOtc2x5XG4iCisjfiAiIC1mLCAtLWZzICAgICAgICAgICAgIHZ5cMOtxaFlIMO6ZGFqZSBvwqBzb3Vib3JvdsOpbSBzeXN0w6ltdVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICBuw6F2b2Qga8KgcG91xb5pdMOtICh0ZW50bylcbiIKKyN+ICIgLWksIC0tYXNjaWkgICAgICAgICAgcG91xb5pamUgcG91emUgQVNDSUkgem5ha3lcbiIKKyN+ICIgLW0sIC0tcGVybXMgICAgICAgICAgdnlww63FoWUgw7pkYWplIG/CoHDFmcOtc3R1cG92w71jaCBwcsOhdmVjaFxuIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICB2w71zdHVwIGZvcm3DoXR1amUgamFrbyBzZXpuYW1cbiIKKyN+ICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgbmV2eXDDrcWhZSB6w6FobGF2w61cbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDxzZXpuYW0+XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIHpvYnJhesOtIGRhbsOpIHNsb3VwY2VcbiIKKyN+ICIgLVAsIC0tcGFpcnMgICAgICAgICAgdsO9c3R1cCB2ZSBmb3Jtw6F0dSBrbMOtxI09XCJob2Rub3RhXCJcbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAgbmVmb3Jtw6F0b3ZhbsO9IHbDvXN0dXBcbiIKKyN+ICIgLXMsIC0taW52ZXJzZSAgICAgICAgb2Jyw6F0w60gesOhdmlzbG9zdGlcbiIKKyN+ICIgLXQsIC0tdG9wb2xvZ3kgICAgICAgdnlww63FoWUgw7pkYWplIG/CoHRvcG9sb2dpaVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICB2eXDDrcWhZSDDumRhamUgb8KgdmVyemkgYSBza29uxI3DrVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC12LCAtLXZlcmJvc2UgICAgdnlzdsSbdGzDrSwgY28gc2UgcHLDoXbEmyB2eWtvbsOhdsOhXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHUgYSBza29uxI3DrVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZiA8ZmlsZT4gIGRlZmluZSBzZWFyY2ggc2NvcGVcbiIKKyN+ICIgLWIgICAgICAgICBzZWFyY2ggb25seSBiaW5hcmllc1xuIgorI34gIiAtQiA8ZGlycz4gIGRlZmluZSBiaW5hcmllcyBsb29rdXAgcGF0aFxuIgorI34gIiAtbSAgICAgICAgIHNlYXJjaCBvbmx5IG1hbnVhbCBwYXRoc1xuIgorI34gIiAtTSA8ZGlycz4gIGRlZmluZSBtYW4gbG9va3VwIHBhdGhcbiIKKyN+ICIgLXMgICAgICAgICBzZWFyY2ggb25seSBzb3VyY2VzIHBhdGhcbiIKKyN+ICIgLVMgPGRpcnM+ICBkZWZpbmUgc291cmNlcyBsb29rdXAgcGF0aFxuIgorI34gIiAtdSAgICAgICAgIHNlYXJjaCBmcm9tIHVudXN1YWwgZW50aXRpZXNcbiIKKyN+ICIgLVYgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWYgPHNvdWJvcj4gICAgdXLEjXVqZSByb3pzYWggaGxlZMOhbsOtXG4iCisjfiAiIC1iICAgICAgICAgICAgIHByb2hsZWTDoXbDoSBwb3V6ZSBiaW7DoXJuw60gc291Ym9yeVxuIgorI34gIiAtQiA8YWRyZXPDocWZZT4gIHVyxI11amUgY2VzdHUgcHJvIGhsZWTDoW7DrSBiaW7DoXJuw61jaCBzb3Vib3LFr1xuIgorI34gIiAtbSAgICAgICAgICAgICBwcm9obGVkw6F2w6EgcG91emUgY2VzdHkgbWFudcOhbG92w71jaCBzdHLDoW5la1xuIgorI34gIiAtTSA8YWRyZXPDocWZZT4gIHVyxI11amUgY2VzdHUgcHJvIGhsZWTDoW7DrSBtYW51w6Fsb3bDvWNoIHN0csOhbmVrXG4iCisjfiAiIC1zICAgICAgICAgICAgIHByb2hsZWTDoXbDoSBwb3V6ZSBjZXN0eSBzZSB6ZHJvamlcbiIKKyN+ICIgLVMgPGFkcmVzw6HFmWU+ICB1csSNdWplIGNlc3R1IHBybyBobGVkw6Fuw60gemRyb2rFr1xuIgorI34gIiAtdSAgICAgICAgICAgICBobGVkw6EgbmVvYnZ5a2zDqSBlbnRpdHlcbiIKKyN+ICIgLVYgICAgICAgICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyN+ICIgLWggICAgICAgICAgICAgem9icmF6w60gdHV0byBuw6Fwb3bEm2R1IGEgc2tvbsSNw61cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIlNlZSBob3cgdG8gdXNlIGZpbGUgYW5kIGRpcnMgYXJndW1lbnRzIGZyb20gd2hlcmVpcygxKSBtYW51YWwuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJKYWsgc2UgcG91xb7DrXZhasOtIGFyZ3VtZW50eSBzb3Vib3LFryBhIGFkcmVzw6HFmcWvIHNlIGx6ZSBkb3p2xJtkxJt0IHbCoG1hbnXDoWx1XG4iCisjfiAid2hlcmVpcygxKS5cbiIKKworI34gbXNnaWQgIm1vdW50OiBjb3VsZG4ndCBsb2NrIGludG8gbWVtb3J5IgorI34gbXNnc3RyICJtb3VudDogbmVieWxvIG1vxb5uw6kgemFta25vdXQgdiBwYW3Em3RpIgorCisjfiBtc2dpZCAibW91bnQ6IGFyZ3VtZW50IHRvIC1wIG9yIC0tcGFzcy1mZCBtdXN0IGJlIGEgbnVtYmVyIgorI34gbXNnc3RyICJtb3VudDogYXJndW1lbnQgcMWZZXDDrW5hxI3FryAtcCBhIC0tcGFzcy1mZCBtdXPDrSBiw710IMSNw61zbG8iCisKKyN+IG1zZ2lkICJleGVjdXRpbmcgJXMgZmFpbGVkIgorI34gbXNnc3RyICJzcHXFoXTEm27DrSAlcyBzZWxoYWxvIgorCisjfiBtc2dpZCAiIgorI34gIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgY2xlYXIgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorI34gIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgcmVhZCBhbmQgY2xlYXIgYWxsIG1lc3NhZ2VzXG4iCisjfiAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICBkaXNhYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKKyN+ICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIHNob3cgdGltZSBkZWx0YSBiZXR3ZWVuIHByaW50ZWQgbWVzc2FnZXNcbiIKKyN+ICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIHNob3cgbG9jYWwgdGltZSBhbmQgdGltZSBkZWx0YSBpbiByZWFkYWJsZSBmb3JtYXRcbiIKKyN+ICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIGVuYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCisjfiAiIC1GLCAtLWZpbGUgPGZpbGU+ICAgICAgICAgICB1c2UgdGhlIGZpbGUgaW5zdGVhZCBvZiB0aGUga2VybmVsIGxvZyBidWZmZXJcbiIKKyN+ICIgLWYsIC0tZmFjaWxpdHkgPGxpc3Q+ICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGZhY2lsaXRpZXNcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICBkaXNwbGF5IGtlcm5lbCBtZXNzYWdlc1xuIgorI34gIiAtbCwgLS1sZXZlbCA8bGlzdD4gICAgICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgbGV2ZWxzXG4iCisjfiAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPGxldmVsPiBzZXQgbGV2ZWwgb2YgbWVzc2FnZXMgcHJpbnRlZCB0byBjb25zb2xlXG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iCisjfiAiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICBmb3JjZSB0byB1c2Ugc3lzbG9nKDIpIHJhdGhlciB0aGFuIC9kZXYva21zZ1xuIgorI34gIiAtcywgLS1idWZmZXItc2l6ZSA8c2l6ZT4gICAgYnVmZmVyIHNpemUgdG8gcXVlcnkgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorI34gIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbiByZWFkYWJsZSB0aW1lc3RhbXAgKGNvdWxkIGJlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5hY2N1cmF0ZSBpZiB5b3UgaGF2ZSB1c2VkIFNVU1BFTkQvUkVTVU1FKVxuIgorI34gIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgbWVzc2FnZXMgdGltZXN0YW1wXG4iCisjfiAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICBkaXNwbGF5IHVzZXJzcGFjZSBtZXNzYWdlc1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIgorI34gIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgZGVjb2RlIGZhY2lsaXR5IGFuZCBsZXZlbCB0byByZWFkYWJsZSBzdHJpbmdcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgIHZ5cHLDoXpkbsOtIGtydWhvdsO9IGJ1ZmZlciB2wqBqw6FkxZllXG4iCisjfiAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICAgcMWZZcSNdGUgYSB2eXByw6F6ZG7DrSB6cHLDoXZ5XG4iCisjfiAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICAgdnlwbmUgdnlwaXNvdsOhbsOtIHpwcsOhdiBkbyBrb256b2x5XG4iCisjfiAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICAgdWvDocW+ZSDEjWFzb3bDqSByb3pkw61seSBtZXppIGhsw6HFoWthbWlcbiIKKyN+ICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgICB1a8Ohxb5lIG3DrXN0bsOtIMSNYXMgYSDEjWFzb3bDvSByb3pkw61sIHbCoMSNaXRlbG7DqSBwb2RvYsSbXG4iCisjfiAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICAgemFwbmUgdnlwaXNvdsOhbsOtIHpwcsOhdiBkbyBrb256b2x5XG4iCisjfiAiIC1GLCAtLWZpbGUgPHNvdWJvcj4gICAgICAgICAgcG91xb5pamUgemFkYW7DvSBzb3Vib3IgbcOtc3RvIGphZGVybsOpaG8gYnVmZmVydVxuIgorI34gIiAtZiwgLS1mYWNpbGl0eSA8c2V6bmFtPiAgICAgIHbDvXN0dXAgb21lesOtIG5hIHphZGFuw6kgb2JvcnlcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHUgYSBza29uxI3DrVxuIgorI34gIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgIHpvYnJhesOtIGphZGVybsOpIHpwcsOhdnlcbiIKKyN+ICIgLWwsIC0tbGV2ZWwgPHNlem5hbT4gICAgICAgICB2w71zdHVwIG9tZXrDrSBuYSB6YWRhbsOpIMO6cm92bsSbXG4iCisjfiAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPMO6cm92ZcWIPiBuYXN0YXbDrSDDunJvdmXFiCB6cHLDoXYgdnlwaXNvdmFuw71jaCBkbyBrb256b2x5XG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICAgdnlww63FoWUgYnVmZmVyIHpwcsOhdiB2wqBuZW9wcmFjb3ZhbsOpIHBvZG9ixJtcbiIKKyN+ICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgICB2eW51dMOtIHBvdcW+aXTDrSBzeXNsb2coMikgbcOtc3RvIC9kZXYva21zZ1xuIgorI34gIiAtcywgLS1idWZmZXItc2l6ZSA8dmVsaWtvc3Q+IHZlbGlrb3N0IGJ1ZmZlcnUsIG5hIGt0ZXLDvSBzZSB6ZXB0YXQgamFkZXJuw6lob1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtydWhvdsOpIGJ1ZmZlcnVcbiIKKyN+ICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgICB1a8Ohxb5lIMSNYXNvdsOpIMO6ZGFqZSB2wqBwb2RvYm7EmyB2aG9kbsOpIHBybyDEjWxvdsSba2FcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobcWvxb5lIGLDvXQgbmVwxZllc27DqSwgcG91xb5pbGktbGkganN0ZSB1c3DDoW7DrS9cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9idXplbsOtKVxuIgorI34gIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAgIG5ldnlwaXN1amUgxI1hc3kgenByw6F2XG4iCisjfiAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICAgdnlww63FoWUgenByw6F2eSB6wqB1xb5pdmF0ZWxza8OpaG8gcHJvc3RvcnVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICB6b2JyYXrDrSDDumRhamUgb8KgdmVyemkgYSBza29uxI3DrVxuIgorI34gIiAtdywgLS1mb2xsb3cgICAgICAgICAgICAgICAgIMSNZWvDoSBuYSBub3bDqSB6cHLDoXZ5XG4iCisjfiAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICAgb2JvcnkgYSDDunJvdm7EmyBwxZlldmVkZSBuYSDEjWl0ZWxuw6kgxZlldMSbemNlXG4iCisKKyN+IG1zZ2lkICJlamVjdDogY2Fubm90IHNldCB1c2VyIGlkIgorI34gbXNnc3RyICJlamVjdDogxI3DrXNsbyB1xb5pdmF0ZWxlIChVSUQpIG5lbHplIG5hc3Rhdml0IgorCisjfiBtc2dpZCAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICB0aGlzIGhlbHBcbiIKKyN+ICIgLWYsIC0tZnJlZXplICAgICAgZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCisjfiAiIC11LCAtLXVuZnJlZXplICAgIHVuZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgdGF0byBuw6Fwb3bEm2RhXG4iCisjfiAiIC1mLCAtLWZyZWV6ZSAgICAgIHptcmF6w60gc3lzdMOpbSBzb3Vib3LFr1xuIgorI34gIiAtdSwgLS11bmZyZWV6ZSAgICByb3ptcmF6w60gc3lzdMOpbSBzb3Vib3LFr1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmc2ZyZWV6ZSg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlbDrWNlIGluZm9ybWFjw60gbmFsZXpuZXRlIHZlIGZzZnJlZXplKDgpLlxuIgorCisjfiBtc2dpZCAibWluIHNlZyBzaXplIChieXRlcykgPSAlbHVcbiIKKyN+IG1zZ3N0ciAibWluaW3DoWxuw60gdmVsaWtvc3Qgc2VnbWVudHUgKHbCoGJhanRlY2gpID0gJWx1XG4iCisKKyN+IG1zZ2lkICJzaG1jdGwgZmFpbGVkIgorI34gbXNnc3RyICJ2b2zDoW7DrSBzaG1jdGwgc2VsaGFsbyIKKworI34gbXNnaWQgIm1zZ2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgInZvbMOhbsOtIG1zZ2N0bCBzZWxoYWxvIgorCisjfiBtc2dpZCAiY2J5dGVzPSVsZFx0cWJ5dGVzPSVsZFx0cW51bT0lbGRcdGxzcGlkPSVkXHRscnBpZD0lZFxuIgorI34gbXNnc3RyICJjYnl0ZXM9JWxkXHRxYnl0ZXM9JWxkXHRxbnVtPSVsZFx0bHNwaWQ9JWRcdGxycGlkPSVkXG4iCisKKyN+IG1zZ2lkICJzZW1jdGwgZmFpbGVkIgorI34gbXNnc3RyICJ2b2zDoW7DrSBzZW1jdGwgc2VsaGFsbyIKKworI34gbXNnaWQgIiIKKyN+ICIgLWUsIC0tZW5jcnlwdGlvbiA8dHlwZT4gICAgICAgZW5hYmxlIGVuY3J5cHRpb24gd2l0aCBzcGVjaWZpZWQgPG5hbWUvbnVtPlxuIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBzdGFydCBhdCBvZmZzZXQgPG51bT4gaW50byBmaWxlXG4iCisjfiAiICAgICAtLXNpemVsaW1pdCA8bnVtPiAgICAgICAgIGRldmljZSBsaW1pdGVkIHRvIDxudW0+IGJ5dGVzIG9mIHRoZSBmaWxlXG4iCisjfiAiIC1wLCAtLXBhc3MtZmQgPG51bT4gICAgICAgICAgIHJlYWQgcGFzc3BocmFzZSBmcm9tIGZpbGUgZGVzY3JpcHRvciA8bnVtPlxuIgorI34gIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICBjcmVhdGUgcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VcbiIKKyN+ICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0dXAgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCisjfiAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHByaW50IGRldmljZSBuYW1lIGFmdGVyIHNldHVwICh3aXRoIC1mKVxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZSwgLS1lbmNyeXB0aW9uIDx0eXA+ICAgICAgICB6YXBuZSDFoWlmcm92w6Fuw60gcG9tb2PDrSB6YWRhbsOpaG8gPG7DoXp2dT4vPMSNw61zbGE+XG4iCisjfiAiIC1vLCAtLW9mZnNldCA8xI3DrXNsbz4gICAgICAgICAgdsKgc291Ym9ydSB6YcSNbmUgbmEgcG96aWNpIDzEjcOtc2xvPlxuIgorI34gIiAgICAgLS1zaXplbGltaXQgPHBvxI1ldD4gICAgICAgb21lesOtIGTDqWxrdSBsb29wdSBuYSA8cG/EjWV0PiBiYWp0xa8gc291Ym9ydVxuIgorI34gIiAtcCwgLS1wYXNzLWZkIDzEjcOtc2xvPiAgICAgICAgIG5hxI10ZSBoZXNsbyB6wqBkZXNrcmlwdG9ydSBzb3Vib3J1IDzEjcOtc2xvPlxuIgorI34gIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICB2eXR2b8WZw60gbG9vcCB6YcWZw616ZW7DrSByb3pkxJtsZW7DqSBuYSBvZGTDrWx5XG4iCisjfiAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgICAgIG5hc3RhdsOtIGxvb3AgemHFmcOtemVuw60gamVuIHBybyDEjXRlbsOtXG4iCisjfiAiIC1zLCAtLXNob3cgICAgICAgICAgICAgICAgICAgIHZ5cMOtxaFlIG7DoXpldiB6YcWZw616ZW7DrSBwbyBuYXN0YXZlbsOtIChzcG9sdSBzwqAtZilcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgdXBvdsOtZGFuw70gcmXFvmltXG4iCisKKyN+IG1zZ2lkICJpbnZhbGlkIHBhc3NwaHJhc2UgZmlsZSBkZXNjcmlwdG9yIgorI34gbXNnc3RyICJuZXBsYXRuw70gZGVza3JpcHRvciBzb3Vib3J1IHPCoGhlc2xlbSIKKworI34gbXNnaWQgIiVzIGZhaWxlZCB0byB1c2UgZGV2aWNlIgorI34gbXNnc3RyICIlcyBuZW1vaGxvIHBvdcW+w610IHphxZnDrXplbsOtIgorCisjfiBtc2dpZCAiY291bGRuJ3QgbG9jayBpbnRvIG1lbW9yeSIKKyN+IG1zZ3N0ciAibmVieWxvIG1vxb5uw6kgemFta25vdXQgdiBwYW3Em3RpIgorCisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBwcmludCBvbmxpbmUgYW5kIG9mZmxpbmUgQ1BVcyAoZGVmYXVsdCBmb3IgLWUpXG4iCisjfiAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIHByaW50IG9ubGluZSBDUFVzIG9ubHkgKGRlZmF1bHQgZm9yIC1wKVxuIgorI34gIiAtYywgLS1vZmZsaW5lICAgICAgICAgICBwcmludCBvZmZsaW5lIENQVXMgb25seVxuIgorI34gIiAtZSwgLS1leHRlbmRlZFs9PGxpc3Q+XSBwcmludCBvdXQgYW4gZXh0ZW5kZWQgcmVhZGFibGUgZm9ybWF0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorI34gIiAtcCwgLS1wYXJzZVs9PGxpc3Q+XSAgICBwcmludCBvdXQgYSBwYXJzYWJsZSBmb3JtYXRcbiIKKyN+ICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAgdXNlIGRpcmVjdG9yeSBESVIgYXMgc3lzdGVtIHJvb3RcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgcHJpbnQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAteCwgLS1oZXggICAgICAgICAgICAgICBwcmludCBoZXhhZGVjaW1hbCBtYXNrcyByYXRoZXIgdGhhbiBsaXN0cyBvZiBDUFVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgdnlww63FoWUgemFwbnV0w6EgYSB2eXBudXTDoSBDUFUgKHbDvWNob3rDrSBwcm8gLWUpXG4iCisjfiAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgICAgIHZ5cMOtxaFlIGplbiB6YXBudXTDoSBDUFVzICh2w71jaG96w60gcHJvIC1wKVxuIgorI34gIiAtYywgLS1vZmZsaW5lICAgICAgICAgICAgICB2eXDDrcWhZSBqZW4gdnlwbnV0w6EgQ1BVXG4iCisjfiAiIC1lLCAtLWV4dGVuZGVkWz08c2V6bmFtPl0gIHbDvXBpcyB2wqByb3rFocOtxZllbsOpbSDEjWl0ZWxuw6ltIGZvcm3DoXR1XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgIHpvYnJhesOtIHR1dG8gbsOhcG92xJtkdVxuIgorI34gIiAtcCwgLS1wYXJzZVs9PHNlem5hbT5dICAgICB2w71waXMgdsKgcm96ZWJyYXRlbG7DqW0gZm9ybcOhdHVcbiIKKyN+ICIgLXMsIC0tc3lzcm9vdCA8YWRyZXPDocWZPiAgICBqYWtvIGtvxZllbiBzeXN0w6ltdSBwb3XFvmlqZSA8YWRyZXPDocWZPlxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICB2eXDDrcWhZSDDumRhamUgb8KgdmVyemkgYSBza29uxI3DrVxuIgorI34gIiAteCwgLS1oZXggICAgICAgICAgICAgICAgICB2eXDDrcWhZSDFoWVzdG7DoWN0a292w6kgbWFza3kgbmFtw61zdG8gc2V6bmFtxa8gQ1BVXG4iCisKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIChwcm9iYWJseSB1bmtub3duIGVuY3J5cHRpb24gdHlwZSkiCisjfiBtc2dzdHIgIiVzOiB6YcWZw616ZW7DrSBsb29wIHNlIG5lcG9kYcWZaWxvIG5hc3Rhdml0ICh6xZllam3EmyBuZXpuw6Ftw70gZHJ1aCDFoWlmcm92w6Fuw60pIgorCisjfiBtc2dpZCAicmVuaWNlIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAicmVuaWNlIHrCoCVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1kLCAtLWRldmljZSA8ZGV2aWNlPiAgICBzZWxlY3QgcnRjIGRldmljZSAocnRjMHxydGMxfC4uLilcbiIKKyN+ICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGRvZXMgZXZlcnl0aGluZywgYnV0IHN1c3BlbmRcbiIKKyN+ICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCisjfiAiIC1tLCAtLW1vZGUgPG1vZGU+ICAgICAgICBzdGFuZGJ5fG1lbXwuLi4gc2xlZXAgbW9kZVxuIgorI34gIiAtcywgLS1zZWNvbmRzIDxzZWNvbmRzPiAgc2Vjb25kcyB0byBzbGVlcFxuIgorI34gIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCisjfiAiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBSVEMgdXNlcyBVVENcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbWVzc2FnZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZCwgLS1kZXZpY2UgPHphxZnDrXplbsOtPiAgdnliZXJlIFJUQyB6YcWZw616ZW7DrSAocnRjMHxydGMxfOKApilcbiIKKyN+ICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIHByb3ZlZGUgdsWhZSBhxb4gbmEgdXNww6Fuw61cbiIKKyN+ICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyBwb3XFvsOtdsOhIG3DrXN0bsOtIMSNYXNvdm91IHrDs251XG4iCisjfiAiIC1tLCAtLW1vZGUgPHJlxb5pbT4gICAgICAgcmXFvmltIHNww6Fua3UgKHN0YW5kYnl8bWVtfOKApilcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgIFtwb2hvdG92b3N0fHBhbcSbxaV84oCmXVxuIgorI34gIiAtcywgLS1zZWNvbmRzIDxzZWt1bmR5PiAga29saWsgc2VrdW5kIGJ1ZGUgc3DDoXRcbiIKKyN+ICIgLXQsIC0tdGltZSB0aW1lX3QgICAgICAgIMSNYXMgcHJvYnV6ZW7DrVxuIgorI34gIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIGLEm8W+w60gdsKgVVRDXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBwb2Ryb2Juw6kgenByw6F2eVxuIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIGV4ZWN1dGUgJXMiCisjfiBtc2dzdHIgIiVzIG5lbHplIHNwdXN0aXQiCisKKyN+IG1zZ2lkICIiCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBzYXlzIHdoYXQgb3B0aW9ucyBhcmUgYmVpbmcgc3dpdGNoZWQgb25cbiIKKyN+ICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIGRpc2FibGVzIHJhbmRvbWl6YXRpb24gb2YgdGhlIHZpcnR1YWwgYWRkcmVzcyBzcGFjZVxuIgorI34gIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAgbWFrZXMgZnVuY3Rpb24gcG9pbnRlcnMgcG9pbnQgdG8gZGVzY3JpcHRvcnNcbiIKKyN+ICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHR1cm5zIG9uIE1NQVBfUEFHRV9aRVJPXG4iCisjfiAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCBjaGFuZ2VzIHRoZSB3YXkgdmlydHVhbCBtZW1vcnkgaXMgYWxsb2NhdGVkXG4iCisjfiAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICB0dXJucyBvbiBSRUFEX0lNUExJRVNfRVhFQ1xuIgorI34gIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgdHVybnMgb24gQUREUl9MSU1JVF8zMkJJVFxuIgorI34gIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgdHVybnMgb24gU0hPUlRfSU5PREVcbiIKKyN+ICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHR1cm5zIG9uIFdIT0xFX1NFQ09ORFNcbiIKKyN+ICIgLVQsIC0tc3RpY2t5LXRpbWVvdXRzICAgIHR1cm5zIG9uIFNUSUNLWV9USU1FT1VUU1xuIgorI34gIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgbGltaXRzIHRoZSB1c2VkIGFkZHJlc3Mgc3BhY2UgdG8gYSBtYXhpbXVtIG9mIDMgR0JcbiIKKyN+ICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGlnbm9yZWQgKGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IG9ubHkpXG4iCisjfiAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICB0dXJucyBvbiBVTkFNRTI2XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZ5cGlzdWplLCBrdGVyw6kgdm9sYnkganNvdSB6YXDDrW7DoW55XG4iCisjfiAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICB2eXBuZSB6bsOhaG9kbsSbbsOtIHByb3N0b3J1IHZpcnR1w6FsbsOtY2ggYWRyZXNcbiIKKyN+ICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIHXEjWluw60gdWthemF0ZWxlIGZ1bmtjw60gdWthenVqw61jw60gbmEgZGVza3JpcHRvcnlcbiIKKyN+ICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHphcG5lIE1NQVBfUEFHRV9aRVJPXG4iCisjfiAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCB6bcSbbsOtIHpwxa9zb2IsIGpha8O9bSBqZSB2aXJ0dcOhbG7DrSBwYW3Em8WlIHDFmWlkxJtsb3bDoW5hXG4iCisjfiAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICB6YXBuZSBSRUFEX0lNUExJRVNfRVhFQ1xuIgorI34gIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgemFwbmUgQUREUl9MSU1JVF8zMkJJVFxuIgorI34gIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgemFwbmUgU0hPUlRfSU5PREVcbiIKKyN+ICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHphcG5lIFdIT0xFX1NFQ09ORFNcbiIKKyN+ICIgLVQsIC0tc3RpY2t5LXRpbWVvdXRzICAgIHphcG5lIFNUSUNLWV9USU1FT1VUU1xuIgorI34gIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgb21lesOtIHBvdcW+aXTDvSBhZHJlc27DrSBwcm9zdG9yIGhyYW5pY8OtIDPigK9HQlxuIgorI34gIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JvdsOhbm8gKGplbiBwcm8genDEm3Rub3Uga29tcGF0aWJpbGl0dSlcbiIKKyN+ICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHphcG5lIFVOQU1FMjZcbiIKKworI34gbXNnaWQgImV4ZWN2cCBmYWlsZWQiCisjfiBtc2dzdHIgImZ1bmtjZSBleGVjdnAgc2VsaGFsYSIKKworI34gbXNnaWQgImV4ZWN2IGZhaWxlZCIKKyN+IG1zZ3N0ciAiZnVua2NlIGV4ZWN2IHNlbGhhbGEiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHVtb3VudCBhbGwgZmlsZXN5c3RlbXNcbiIKKyN+ICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCisjfiAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGlmIG1vdW50ZWQgbG9vcCBkZXZpY2UsIGFsc28gZnJlZSB0aGlzIGxvb3AgZGV2aWNlXG4iCisjfiAiICAgICAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIHVtb3VudCgyKSBzeXNjYWxsXG4iCisjfiAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIGZvcmNlIHVubW91bnQgKGluIGNhc2Ugb2YgYW4gdW5yZWFjaGFibGUgTkZTIHN5c3RlbSlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBvZHBvasOtIHZlxaFrZXLDqSBzb3Vib3JvdsOpIHN5c3TDqW15XG4iCisjfiAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIG5lbm9ybWFsaXp1amUgY2VzdHlcbiIKKyN+ICIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAgamUtbGkgcMWZaXBvamVubyBsb29wIHphxZnDrXplbsOtLCByb3ZuxJvFviBqZWogdXZvbG7DrVxuIgorI34gIiAgICAgLS1mYWtlICAgICAgICAgICAgICB6a3XFoWVibsOtIHJlxb5pbSwgcMWZZXNrb8SNw60gc3lzdMOpbW92w6kgdm9sw6Fuw60gdW1vdW50KDIpXG4iCisjfiAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIHZ5bnV0w60gb2Rwb2plbsOtIChwcm8gcMWZw61wYWQgbmVkb3N0dXBuw6lobyBORlMpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIHVtb3VudC48dHlwZT4gaGVscGVyc1xuIgorI34gIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKKyN+ICIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgZGV0YWNoIHRoZSBmaWxlc3lzdGVtIG5vdywgYW5kIGNsZWFudXAgYWxsIGxhdGVyXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgbmV2b2zDoSBwb21vY27DqSBwcm9ncmFteSB1bW91bnQuPHR5cD5cbiIKKyN+ICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgbmV6YXDDrcWhZSBkbyAvZXRjL210YWJcbiIKKyN+ICIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgc291Ym9yb3bDvSBzeXN0w6ltIG9kcG9qw60gdGXEjywgemJ5dGVrIHVrbGlkw60gcG96ZMSbamlcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCisjfiAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIEluIGNhc2UgdW5tb3VudGluZyBmYWlscywgdHJ5IHRvIHJlbW91bnQgcmVhZC1vbmx5XG4iCisjfiAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBzYXkgd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLU8sIC0tdGVzdC1vcHRzIDxzZXpuYW0+XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgIG9tZXrDrSBtbm/FvmludSBzb3Vib3JvdsO9Y2ggc3lzdMOpbcWvIChwb3XFvmlqZSBzwqAtYSlcbiIKKyN+ICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgc2Vsxb5lLWxpIG9kcG9qZW7DrSwgemt1c8OtIHNvdWJvcm92w70gc3lzdMOpbSBwxZllcG9qaXRcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgamVuIHBybyDEjXRlbsOtXG4iCisjfiAiIC10LCAtLXR5cGVzIDxzZXpuYW0+ICAgIG9tZXrDrSBtbm/FvmludSB0eXDFryBzb3Vib3JvdsO9Y2ggc3lzdMOpbcWvXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHBvcGlzdWplLCBjbyBzZSBkxJtqZVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbSwgLS1tb3VudCAgICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKKyN+ICIgLXUsIC0tdXRzICAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCisjfiAiIC1pLCAtLWlwYyAgICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorI34gIiAtbiwgLS1uZXQgICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLW0sIC0tbW91bnQgICAgICAgb2RkxJtsw60gam1lbm7DvSBwcm9zdG9yIHDFmcOtcG9qbsO9Y2ggYm9kxa9cbiIKKyN+ICIgLXUsIC0tdXRzICAgICAgICAgb2RkxJtsw60gam1lbm7DvSBwcm9zdG9yIFVUUyAobsOhemV2IHN0cm9qZSBhdGQuKVxuIgorI34gIiAtaSwgLS1pcGMgICAgICAgICBvZGTEm2zDrSBqbWVubsO9IHByb3N0b3IgU3lzdGVtIFYgSVBDXG4iCisjfiAiIC1uLCAtLW5ldCAgICAgICAgIG9kZMSbbMOtIHPDrcWlb3bDvSBqbWVubsO9IHByb3N0b3JcbiIKKworI34gbXNnaWQgIiUtMTVzJXMgW3ZlcnNpb24gJXhdXG4iCisjfiBtc2dzdHIgIiUtMTVzJXMgW3ZlcnplICV4XVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIGFzc3VtZSA4LWJpdCB0dHlcbiIKKyN+ICIgLWEsIC0tYXV0b2xvZ2luIDx1c2VyPiAgICAgbG9naW4gdGhlIHNwZWNpZmllZCB1c2VyIGF1dG9tYXRpY2FsbHlcbiIKKyN+ICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAgZG8gbm90IHJlc2V0IGNvbnRyb2wgbW9kZVxuIgorI34gIiAtZiwgLS1pc3N1ZS1maWxlIDxmaWxlPiAgICBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKKyN+ICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgZW5hYmxlIGhhcmR3YXJlIGZsb3cgY29udHJvbFxuIgorI34gIiAtSCwgLS1ob3N0IDxob3N0bmFtZT4gICAgICBzcGVjaWZ5IGxvZ2luIGhvc3RcbiIKKyN+ICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgZG8gbm90IGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorI34gIiAtSSwgLS1pbml0LXN0cmluZyA8c3RyaW5nPiBzZXQgaW5pdCBzdHJpbmdcbiIKKyN+ICIgLWwsIC0tbG9naW4tcHJvZ3JhbSA8ZmlsZT4gc3BlY2lmeSBsb2dpbiBwcm9ncmFtXG4iCisjfiAiIC1MLCAtLWxvY2FsLWxpbmUgICAgICAgICAgIGZvcmNlIGxvY2FsIGxpbmVcbiIKKyN+ICIgLW0sIC0tZXh0cmFjdC1iYXVkICAgICAgICAgZXh0cmFjdCBiYXVkIHJhdGUgZHVyaW5nIGNvbm5lY3RcbiIKKyN+ICIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAgZG8gbm90IHByb21wdCBmb3IgbG9naW5cbiIKKyN+ICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8b3B0cz4gb3B0aW9ucyB0aGF0IGFyZSBwYXNzZWQgdG8gbG9naW5cbiIKKyN+ICIgLXAsIC0tbG9naW5wYXVzZSAgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCisjfiAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgIGRvIHZpcnR1YWxseSBoYW5ndXAgb24gdGhlIHR0eVxuIgorI34gIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICB0cnkgdG8ga2VlcCBiYXVkIHJhdGUgYWZ0ZXIgYnJlYWtcbiIKKyN+ICIgLXQsIC0tdGltZW91dCA8bnVtYmVyPiAgICAgbG9naW4gcHJvY2VzcyB0aW1lb3V0XG4iCisjfiAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKKyN+ICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgd2FpdCBjYXJyaWFnZS1yZXR1cm5cbiIKKyN+ICIgICAgIC0tbm9jbGVhciAgICAgICAgICAgICAgZG8gbm90IGNsZWFyIHRoZSBzY3JlZW4gYmVmb3JlIHByb21wdFxuIgorI34gIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBkbyBub3QgcHJpbnQgaGludHNcbiIKKyN+ICIgICAgIC0tbm9uZXdsaW5lICAgICAgICAgICAgZG8gbm90IHByaW50IGEgbmV3bGluZSBiZWZvcmUgaXNzdWVcbiIKKyN+ICIgICAgIC0tbm8taG9zdG5hbWUgICAgICAgICAgbm8gaG9zdG5hbWUgYXQgYWxsIHdpbGwgYmUgc2hvd25cbiIKKyN+ICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgc2hvdyBmdWxsIHF1YWxpZmllZCBob3N0bmFtZVxuIgorI34gIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAgICAgLS1oZWxwICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUMWZZXDDrW5hxI1lOlxuIgorI34gIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBwxZllZHBva2zDoWRhdCA4Yml0b3bDqSBUVFlcbiIKKyN+ICIgLWEsIC0tYXV0b2xvZ2luIDx1xb5pdmF0ZWw+IGF1dG9tYXRpY2t5IHDFmWlobMOhc8OtIHphZGFuw6lobyB1xb5pdmF0ZWxlXG4iCisjfiAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIG5lcmVzZXR1amUgxZnDrWRpY8OtIHJlxb5pbVxuIgorI34gIiAtZiwgLS1pc3N1ZS1maWxlIDxzb3Vib3I+ICB6b2JyYXrDrSBzb3Vib3Igc8Kgdnlkw6Fuw61tXG4iCisjfiAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIHBvdm9sw60gaGFyZHdhcm92w6kgxZnDrXplbsOtIHRva3VcbiIKKyN+ICIgLUgsIC0taG9zdCA8bsOhemV2X3N0cm9qZT4gIHVyxI3DrSBuw6F6ZXYgc3Ryb2plIHDFmWkgcMWZaWhsw6HFoWVuw61cbiIKKyN+ICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgbmV6b2JyYXrDrSBzb3Vib3Igc8Kgdnlkw6Fuw61tXG4iCisjfiAiIC1JLCAtLWluaXQtc3RyaW5nIDzFmWV0xJt6ZWM+XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hc3RhdsOtIGluaWNpYWxpemHEjW7DrSDFmWV0xJt6ZWNcbiIKKyN+ICIgLWwsIC0tbG9naW4tcHJvZ3JhbSA8c291Ym9yPlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1csSNw60gcHJvZ3JhbSBsb2dpblxuIgorI34gIiAtTCwgLS1sb2NhbC1saW5lICAgICAgICAgICB2eW51dMOtIG3DrXN0bsOtIGxpbmt1XG4iCisjfiAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIHrDrXNrw6EgYmF1ZCByYXRlIHrCoHDFmWlwb2p1asOtY8OtIHNlIGbDoXplXG4iCisjfiAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIG5lcHTDoSBzZSBuYSBwxZlpaGxhxaFvdmFjw60gam3DqW5vXG4iCisjfiAiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPGFyZ3VtZW50eT5cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJndW1lbnR5LCBrdGVyw6kgYnVkb3UgcMWZZWTDoW55IHByb2dyYW11IGxvZ2luXG4iCisjfiAiIC1wLCAtLWxvZ2lucGF1c2UgICAgICAgICAgIHDFmWVkIHbDvXp2b3Uga8KgcMWZaWhsw6HFoWVuw60gcG/EjWvDoSBuYSBzdGlzayBrbMOhdmVzeVxuIgorI34gIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICBwcm92ZWRlIHZpcnR1w6FsbsOtIHphdsSbxaFlbsOtIGxpbmt5IG5hIFRUWVxuIgorI34gIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICBwb2t1c8OtIHNlIHVkcsW+ZXQgYmF1ZCByYXRlIGnCoHBvIHpuYWt1IGJyZWFrXG4iCisjfiAiIC10LCAtLXRpbWVvdXQgPMSNw61zbG8+ICAgICAgxI1hc292w70gbGltaXQgcHJvIHDFmWlobMOhxaFlbsOtXG4iCisjfiAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIHJvenBvem7DoSB0ZXJtaW7DoWwgcG9kcG9ydWrDrWPDrSBqZW7CoHZlbGvDoSBww61zbWVuYVxuIgorI34gIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICDEjWVrw6EgbmEgY2FycmlhZ2UtcmV0dXJuXG4iCisjfiAiICAgICAtLW5vY2xlYXIgICAgICAgICAgICAgIHDFmWVkIHbDvXp2b3UgbmVzbWHFvmUgb2JyYXpvdmt1XG4iCisjfiAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIG5lem9icmF6w60gdXBvem9ybsSbbsOtXG4iCisjfiAiICAgICAtLW5vbmV3bGluZSAgICAgICAgICAgIG5lb2TFmcOhZGt1amUgcMWZZWQgdsO9cGlzZW0gdnlkw6Fuw61cbiIKKyN+ICIgICAgIC0tbm8taG9zdG5hbWUgICAgICAgICAgbmV6b2JyYXrDrSBuw6F6ZXYgc3Ryb2plXG4iCisjfiAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIHpvYnJhesOtIHBsbsSbIGt2YWxpZmlrb3ZhbsOpIGptw6lubyBzdHJvamVcbiIKKyN+ICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyN+ICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAgem9icmF6w60gdHV0byBuw6Fwb3bEm2R1IGEgc2tvbsSNw61cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgInVzZXJzIgorI34gbXNnc3RyICJ1xb5pdmF0ZWzDqSIKKworI34gbXNnaWQgIiIKKyN+ICIgLXRlcm0gPHRlcm1pbmFsX25hbWU+XG4iCisjfiAiIC1yZXNldFxuIgorI34gIiAtaW5pdGlhbGl6ZVxuIgorI34gIiAtY3Vyc29yIDxvbnxvZmY+XG4iCisjfiAiIC1yZXBlYXQgPG9ufG9mZj5cbiIKKyN+ICIgLWFwcGN1cnNvcmtleXMgPG9ufG9mZj5cbiIKKyN+ICIgLWxpbmV3cmFwIDxvbnxvZmY+XG4iCisjfiAiIC1kZWZhdWx0XG4iCisjfiAiIC1mb3JlZ3JvdW5kIDxibGFja3xibHVlfGdyZWVufGN5YW58cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQ+XG4iCisjfiAiIC1iYWNrZ3JvdW5kIDxibGFja3xibHVlfGdyZWVufGN5YW58cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQ+XG4iCisjfiAiIC11bGNvbG9yIDxibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbnxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGU+XG4iCisjfiAiIC11bGNvbG9yIDxicmlnaHQgYmx1ZXxncmVlbnxjeWFufHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZT5cbiIKKyN+ICIgLWhiY29sb3IgPGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFufHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZT5cbiIKKyN+ICIgLWhiY29sb3IgPGJyaWdodCBibHVlfGdyZWVufGN5YW58cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlPlxuIgorI34gIiAtaW52ZXJzZXNjcmVlbiA8b258b2ZmPlxuIgorI34gIiAtYm9sZCA8b258b2ZmPlxuIgorI34gIiAtaGFsZi1icmlnaHQgPG9ufG9mZj5cbiIKKyN+ICIgLWJsaW5rIDxvbnxvZmY+XG4iCisjfiAiIC1yZXZlcnNlIDxvbnxvZmY+XG4iCisjfiAiIC11bmRlcmxpbmUgPG9ufG9mZj5cbiIKKyN+ICIgLXN0b3JlID5cbiIKKyN+ICIgLWNsZWFyIDxhbGx8cmVzdD5cbiIKKyN+ICIgLXRhYnMgPCB0YWIxIHRhYjIgdGFiMyAuLi4gPiAgICAgICh0YWJuID0gMS0xNjApXG4iCisjfiAiIC1jbHJ0YWJzIDwgdGFiMSB0YWIyIHRhYjMgLi4uID4gICAodGFibiA9IDEtMTYwKVxuIgorI34gIiAtcmVndGFicyA8MS0xNjA+XG4iCisjfiAiIC1ibGFuayA8MC02MHxmb3JjZXxwb2tlPlxuIgorI34gIiAtZHVtcCAgIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gIiAtYXBwZW5kIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gIiAtZmlsZSBkdW1wZmlsZW5hbWVcbiIKKyN+ICIgLW1zZyA8b258b2ZmPlxuIgorI34gIiAtbXNnbGV2ZWwgPDAtOD5cbiIKKyN+ICIgLXBvd2Vyc2F2ZSA8b258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZj5cbiIKKyN+ICIgLXBvd2VyZG93biA8MC02MD5cbiIKKyN+ICIgLWJsZW5ndGggPDAtMjAwMD5cbiIKKyN+ICIgLWJmcmVxIGZyZXFudW1iZXJcbiIKKyN+ICIgLXZlcnNpb25cbiIKKyN+ICIgLWhlbHBcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdGVybSBOw4FaRVZfVEVSTUlOw4FMVVxuIgorI34gIiAtcmVzZXRcbiIKKyN+ICIgLWluaXRpYWxpemVcbiIKKyN+ICIgLWN1cnNvciA8b258b2ZmPlxuIgorI34gIiAtcmVwZWF0IDxvbnxvZmY+XG4iCisjfiAiIC1hcHBjdXJzb3JrZXlzIDxvbnxvZmY+XG4iCisjfiAiIC1saW5ld3JhcCA8b258b2ZmPlxuIgorI34gIiAtZGVmYXVsdFxuIgorI34gIiAtZm9yZWdyb3VuZCA8YmxhY2t8Ymx1ZXxncmVlbnxjeWFufHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZXxkZWZhdWx0PlxuIgorI34gIiAtYmFja2dyb3VuZCA8YmxhY2t8Ymx1ZXxncmVlbnxjeWFufHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZXxkZWZhdWx0PlxuIgorI34gIiAtdWxjb2xvciA8YmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW58cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlPlxuIgorI34gIiAtdWxjb2xvciA8YnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbnxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGU+XG4iCisjfiAiIC1oYmNvbG9yIDxibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbnxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGU+XG4iCisjfiAiIC1oYmNvbG9yIDxicmlnaHQgYmx1ZXxncmVlbnxjeWFufHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZT5cbiIKKyN+ICIgLWludmVyc2VzY3JlZW4gPG9ufG9mZj5cbiIKKyN+ICIgLWJvbGQgPG9ufG9mZj5cbiIKKyN+ICIgLWhhbGYtYnJpZ2h0IDxvbnxvZmY+XG4iCisjfiAiIC1ibGluayA8b258b2ZmPlxuIgorI34gIiAtcmV2ZXJzZSA8b258b2ZmPlxuIgorI34gIiAtdW5kZXJsaW5lIDxvbnxvZmY+XG4iCisjfiAiIC1zdG9yZSA+XG4iCisjfiAiIC1jbGVhciA8YWxsfHJlc3Q+XG4iCisjfiAiIC10YWJzIDx0YWIxIHRhYjIgdGFiM+KApj4gICAgICAoaW5kZXggdGFidWzDoXRvcnUgPSAx4oCTMTYwKVxuIgorI34gIiAtY2xydGFicyA8dGFiMSB0YWIyIHRhYjPigKY+ICAgKGluZGV4IHRhYnVsw6F0b3J1ID0gMeKAkzE2MClcbiIKKyN+ICIgLXJlZ3RhYnMgPDHigJMxNjA+XG4iCisjfiAiIC1ibGFuayA8MOKAkzYwfGZvcmNlfHBva2U+XG4iCisjfiAiIC1kdW1wICAgPDHigJNQT8SMRVRfS09OWk9MPlxuIgorI34gIiAtYXBwZW5kIDwx4oCTUE/EjEVUX0tPTlpPTD5cbiIKKyN+ICIgLWZpbGUgZHVtcGZpbGVuYW1lXG4iCisjfiAiIC1tc2cgPG9ufG9mZj5cbiIKKyN+ICIgLW1zZ2xldmVsIDww4oCTOD5cbiIKKyN+ICIgLXBvd2Vyc2F2ZSA8b258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZj5cbiIKKyN+ICIgLXBvd2VyZG93biA8MOKAkzYwPlxuIgorI34gIiAtYmxlbmd0aCA8MOKAkzIwMDA+XG4iCisjfiAiIC1iZnJlcSDEjMONU0xPX0ZSRUtWRU5DRVxuIgorI34gIiAtdmVyc2lvblxuIgorI34gIiAtaGVscFxuIgorCisjfiBtc2dpZCAidG9vIG1hbnkgaW92J3MgKGNoYW5nZSBjb2RlIGluIHdhbGwvdHR5bXNnLmMpIgorI34gbXNnc3RyICJwxZnDrWxpxaEgbW5vaG8gaW92ICh6bcSbxYh0ZSBrw7NkIHZlIHdhbGwvdHR5bXNnLmMpIgorCisjfiBtc2dpZCAid3JpdGUgZXJyb3IuIgorI34gbXNnc3RyICJjaHliYSBwxZlpIHrDoXBpc3UuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUG91xb5pdMOtOiAlcyBbUMWYRVDDjU5BxIxFXSBbU09VQk9S4oCmXVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgZGlzcGxheXMgdGhpcyBoZWxwIHRleHRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1jLCAtLWNvbHVtbnMgPHdpZHRoPiAgICB3aWR0aCBvZiBvdXRwdXQgaW4gbnVtYmVyIG9mIGNoYXJhY3RlcnNcbiIKKyN+ICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgIGNyZWF0ZSBhIHRhYmxlXG4iCisjfiAiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiB0YWJsZSBkZWxpbWV0ZXJcbiIKKyN+ICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgIGZpbGwgcm93cyBiZWZvcmUgY29sdW1uc1xuIgorI34gbXNnc3RyICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICB6b2JyYXrDrSB0ZW50byBuw6Fwb3bEm2Ruw70gdGV4dFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyN+ICIgLWMsIC0tY29sdW1ucyDFoMONxZhLQSAgICAgIMWhw63FmWthIHbDvXN0dXB1IHZlIHpuYWPDrWNoXG4iCisjfiAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICB2eXR2b8WZw60gdGFidWxrdVxuIgorI34gIiAtcywgLS1zZXBhcmF0b3IgxZhFVMSaWkVDICBvZGTEm2xvdmHEjSB0YWJ1bGt5XG4iCisjfiAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICBwxZllZCBzbG91cGNpIHZ5cGxuw60gxZnDoWRreVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBjb2x1bW4oMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJWw61jZSBpbmZvcm1hY8OtIG5hbGV6bmV0ZSB2wqBjb2x1bW4oMSkuXG4iCisKKyMgbW9yZSBpcyBsaXRlcmFsIG5hbWUgb2YgdGhlIHRvb2wKKyN+IG1zZ2lkICJtb3JlICglcylcbiIKKyN+IG1zZ3N0ciAibW9yZSAoJXMpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbZmlsZS4uLl1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBvdcW+aXTDrTpcbiIKKyN+ICIgJXMgW1DFmEVQw41OQcSMRV0gW1NPVUJPUuKApl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtdCwgLS10ZXJtaW5hbCBURVJNSU5BTCAgICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorI34gIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLXQsIC0tdGVybWluYWwgVEVSTUlOw4FMICAgIHDFmWViaWplIHByb23Em25ub3UgcHJvc3TFmWVkw60gVEVSTVxuIgorI34gIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICBwb2R0csW+ZW7DrSBqZSB2eXpuYcSNZW5vIHNhbW9zdGF0bsO9bSDFmcOhZGtlbVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICB6b2JyYXrDrSDDumRhamUgb8KgdmVyemkgYSBza29uxI3DrVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHUgYSBza29uxI3DrVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiY2Fubm90IHN0YXQgZmlsZSAlcyIKKyN+IG1zZ3N0ciAidm9sw6Fuw60gc3RhdCBuYSBzb3Vib3J1ICVzIHNlbGhhbG8iCisKKyN+IG1zZ2lkICIiCisjfiAidXNhZ2U6ICVzIFstaHZdIFsteCBkaXJdIGZpbGVcbiIKKyN+ICIgLWggICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyN+ICIgLXggZGlyICAgICBleHRyYWN0IGludG8gZGlyXG4iCisjfiAiIC12ICAgICAgICAgYmUgbW9yZSB2ZXJib3NlXG4iCisjfiAiIGZpbGUgICAgICAgZmlsZSB0byB0ZXN0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQb3XFvml0w606ICVzIFstaHZdIFsteCBBRFJFU8OBxZhdIFNPVUJPUlxuIgorI34gIiAtaCAgICAgICAgICB2eXDDrcWhZSB0dXRvIG7DoXBvdsSbZHVcbiIKKyN+ICIgLXggQURSRVPDgcWYICBleHRyYWh1amUgZG8gQURSRVPDgcWYRVxuIgorI34gIiAtdiAgICAgICAgICBwb2Ryb2JuxJtqxaHDrSBobMOhxaFreVxuIgorI34gIiBTT1VCT1IgICAgICBrb250cm9sb3ZhbsO9IHNvdWJvclxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstbGFydnNtZl0gL2Rldi9uYW1lXG4iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogJXMgWy1sYXJ2c21mXSBOw4FaRVZfWkHFmMONWkVOw41cbiIKKworI34gbXNnaWQgImZhaWxlZCB0byBvcGVuICVzIgorI34gbXNnc3RyICIlcyBzZSBuZXBvZGHFmWlsbyBvdGV2xZnDrXQiCisKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBkZXZpY2UgJXMiCisjfiBtc2dzdHIgInZvbMOhbsOtIHN0YXQgcHJvIHphxZnDrXplbsOtICVzIHNlbGhhbG8iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYmxvY2tzaXplIGFyZ3VtZW50IgorI34gbXNnc3RyICJuZXpkYcWZaWxvIHNlIHJvemVicmF0IGFyZ3VtZW50IHZlbGlrb3N0aSBibG9rdSIKKworI34gbXNnaWQgImVycm9yOiB3aWxsIG5vdCB0cnkgdG8gbWFrZSBzd2FwZGV2aWNlIG9uICclcyciCisjfiBtc2dzdHIgImNoeWJhOiBuZWJ1ZGUgc2UgemtvdcWhZXQgdnl0dm/FmWl0IG9ka2zDoWRhY8OtIHphxZnDrXplbsOtIG5hIOKAniVz4oCcIgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyAoJXMpXG4iCisjfiBtc2dzdHIgIsWYw61kaWPDrSBzeXJvdsOpIHphxZnDrXplbsOtIOKAniVz4oCcIG5lbHplIG90ZXbFmcOtdCAoJXMpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQb3XFvml0w606ICVzIFtQxZhFUMONTkHEjEVdIDxaQcWYw41aRU7DjT5cbiIKKyN+ICJcbiIKKyN+ICJQxZllcMOtbmHEjWU6XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHN3YXBsYWJlbCg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlbDrWNlIGluZm9ybWFjw60gbmFsZXpuZXRlIHZlIHN3YXBsYWJlbCg4KS5cbiIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIGZpbGUgJyVzJyIKKyN+IG1zZ3N0ciAiU291Ym9yIOKAniVz4oCcIG5lbHplIG90ZXbFmcOtdCIKKworI34gbXNnaWQgIiIKKyN+ICJUaGlzIGRpc2sgaGFzIGJvdGggRE9TIGFuZCBCU0QgbWFnaWMuXG4iCisjfiAiR2l2ZSB0aGUgJ2InIGNvbW1hbmQgdG8gZ28gdG8gQlNEIG1vZGUuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJUZW50byBkaXNrIG3DoSBtYWdpY2vDqSBzaWduYXR1cnkgRE9TVSBpIEJTRC5cbiIKKyN+ICJQcm8gdnN0dXAgZG8gQlNEIHJlxb5pbXUgcG91xb5panRlIHDFmcOta2F6IOKAnmLigJwuXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWkgZG9lcyBub3Qgc3RhcnQgb24gY3lsaW5kZXIgYm91bmRhcnk6XG4iCisjfiBtc2dzdHIgIkRpc2tvdsO9IG9kZMOtbCAlaSBuZXphxI3DrW7DoSBuYSBocmFuaWNpIGN5bGluZHJ1OlxuIgorCisjfiBtc2dpZCAic2hvdWxkIGJlICglZCwgJWQsIDEpXG4iCisjfiBtc2dzdHIgIm3Em2xvIGJ5IGLDvXQgKCVkLCAlZCwgMSlcbiIKKworI34gbXNnaWQgInNob3VsZCBiZSAoJWQsICVkLCAlZClcbiIKKyN+IG1zZ3N0ciAibcSbbG8gYnkgYsO9dCAoJWQsICVkLCAlZClcbiIKKworI34gbXNnaWQgIlRoaXMga2VybmVsIGZpbmRzIHRoZSBzZWN0b3Igc2l6ZSBpdHNlbGYgLSAtYiBvcHRpb24gaWdub3JlZFxuIgorI34gbXNnc3RyICJUb3RvIGrDoWRybyBkZXRla3VqZSB2ZWxpa29zdCBzZWt0b3J1IGF1dG9tYXRpY2t5IC0gcMWZZXDDrW5hxI0gLWIgaWdub3JvdsOhblxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeT9cbiIKKyN+IG1zZ3N0ciAibmVkb3N0YXRlayBwYW3Em3RpP1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gInNmZGlzazogcHJlbWF0dXJlIGVuZCBvZiBpbnB1dFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAic2ZkaXNrOiBwxZllZMSNYXNuw70ga29uZWMgdnN0dXB1XG4iCisKKyN+IG1zZ2lkICJXQVJOSU5HOiBjb3VsZG4ndCBvcGVuICVzIgorI34gbXNnc3RyICJWQVJPVsOBTsONOiAlcyBzZSBuZXBvZGHFmWlsbyBvdGV2xZnDrXQiCisKKyN+IG1zZ2lkICJXQVJOSU5HOiBiYWQgZm9ybWF0IG9uIGxpbmUgJWQgb2YgJXMiCisjfiBtc2dzdHIgIlZBUk9Ww4FOw406IGNoeWJuw70gZm9ybcOhdCBuYSDFmcOhZGt1ICVkIHNvdWJvcnUgJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiV0FSTklORzogWW91ciAvZXRjL2ZzdGFiIGRvZXMgbm90IGNvbnRhaW4gdGhlIGZzY2sgcGFzc25vXG4iCisjfiAiXHRmaWVsZC4gIEkgd2lsbCBrbHVkZ2UgYXJvdW5kIHRoaW5ncyBmb3IgeW91LCBidXQgeW91XG4iCisjfiAiXHRzaG91bGQgZml4IHlvdXIgL2V0Yy9mc3RhYiBmaWxlIGFzIHNvb24gYXMgeW91IGNhbi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlZBUk9Ww4FOw406IFbDocWhIC9ldGMvZnN0YWIgbmVvYnNhaHVqZSBwb2xvxb5rdSBzwqBwb8WZYWTDrW0ga29udHJvbHkgW3Bhc3Nub10uXG4iCisjfiAiXHROxJtqYWsgc2Ugc8KgdMOtbSBwb3BlcnUsIGFsZSB2eSBieXN0ZSBtxJtsaSAvZXRjL2ZzdGFiIG9wcmF2aXRcbiIKKyN+ICJcdGNvIG5lamTFmcOtdmUuXG4iCisKKyN+IG1zZ2lkICJjb3VsZG4ndCBvcGVuICVzIgorI34gbXNnc3RyICIlcyBuZWx6ZSBvdGV2xZnDrXQiCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiAvZGV2L3BvcnQiCisjfiBtc2dzdHIgIi9kZXYvcG9ydCBuZWx6ZSBvdGV2xZnDrXQiCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXBvY2giCisjfiBtc2dzdHIgImVwb2NodSBzZSBuZXpkYcWZaWxvIHJvemVicmF0IgorCisjfiBtc2dpZCAiIgorI34gIllvdSBoYXZlIHNwZWNpZmllZCBtdWx0aXBsZSBmdW5jdGlvbnMuXG4iCisjfiAiWW91IGNhbiBvbmx5IHBlcmZvcm0gb25lIGZ1bmN0aW9uIGF0IGEgdGltZS4iCisjfiBtc2dzdHIgIiIKKyN+ICJaYWRhbCBqc3RlIHbDrWNlcm8gZnVua8SNbsOtY2ggcMWZZXDDrW5hxI3Fry5cbiIKKyN+ICJQcm9ncmFtIG3Fr8W+ZSBwcm92w6lzdCB2wqBqZWRlbiBva2Ftxb5payBwcsOhdsSbIGplZG51IGZ1bmtjaS4iCisKKyN+IG1zZ2lkICJUaGUgLS11dGMgYW5kIC0tbG9jYWx0aW1lIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC4iCisjfiBtc2dzdHIgIlDFmWVww61uYcSNZSAtLXV0YyBhIC0tbG9jYWx0aW1lIHNlIHZ6w6FqZW1uxJsgdnlsdcSNdWrDrS4gWmFkYWxpIGpzdGUgb2JhLiIKKworI34gbXNnaWQgIlRoZSAtLWFkanVzdCBhbmQgLS1ub2FkamZpbGUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiAgWW91IHNwZWNpZmllZCBib3RoLiIKKyN+IG1zZ3N0ciAiUMWZZXDDrW5hxI1lIC0tYWRqdXN0IGEgLS1ub2FkamZpbGUgc2UgdnrDoWplbW7EmyB2eWx1xI11asOtLiBaYWRhbGkganN0ZSBvYmEuIgorCisjfiBtc2dpZCAiVGhlIC0tYWRqZmlsZSBhbmQgLS1ub2FkamZpbGUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiAgWW91IHNwZWNpZmllZCBib3RoLiIKKyN+IG1zZ3N0ciAiUMWZZXDDrW5hxI1lIC0tYWRqZmlsZSBhIC0tbm9hZGpmaWxlIHNlIHZ6w6FqZW1uxJsgdnlsdcSNdWrDrS4gWmFkYWxpIGpzdGUgb2JhLiIKKworI34gbXNnaWQgIm9wZW4oKSBvZiAlcyBmYWlsZWQiCisjfiBtc2dzdHIgIiVzIG5lbHplIG90ZXbFmcOtdCAtIHZvbMOhbsOtIG9wZW4oKSBzZWxoYWxvIgorCisjfiBtc2dpZCAiT3BlbiBvZiAlcyBmYWlsZWQiCisjfiBtc2dzdHIgIiVzIG5lYnlsbyBtb8W+bsOpIG90ZXbFmcOtdC4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gb3BlbiAlcyIKKyN+IG1zZ3N0ciAiJXMgbmVsemUgb3RldsWZw610IgorCisjfiBtc2dpZCAiZXJyb3I6IGNhbm5vdCBvcGVuICVzIgorI34gbXNnc3RyICJjaHliYTogbmVsemUgb3RldsWZw610ICVzIgorCisjfiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMgZm9yIHJlYWRpbmcsIGV4aXRpbmcuIgorI34gbXNnc3RyICIlcyBuZWx6ZSBvdGV2xZnDrXQgcHJvIMSNdGVuw60sIGtvbsSNw61tLiIKKworI34gbXNnaWQgImNhbm5vdCBsb2NrIGdyb3VwIGZpbGUiCisjfiBtc2dzdHIgInNvdWJvciBzZSBza3VwaW5hbWkgbmVsemUgemFta25vdXQiCisKKyN+IG1zZ2lkICJ0aGUgJXMgZmlsZSBpcyBidXN5ICglcyBwcmVzZW50KSIKKyN+IG1zZ3N0ciAiJXMgc291Ym9yIHNlIHByw6F2xJsgcG91xb7DrXbDoSAobmFsZXplbiAlcykiCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgTEFCRUw9PGxhYmVsPnxVVUlEPTx1dWlkPlxuIgorI34gbXNnc3RyICJQb3XFvml0w606ICVzIExBQkVMPTxKTUVOT1ZLQT58VVVJRD08VVVJRD5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgZmluZG1udCgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlbDrWNlIGluZm9ybWFjw60gbmFsZXpuZXRlIHZlIGZpbmRtbnQoMSkuXG4iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2lndmFsIgorI34gbXNnc3RyICJuZXpkYcWZaWxvIHJvemVicmF0IGhvZG5vdHUgc2lnbsOhbHUiCisKKyN+IG1zZ2lkICJwb3J0IGAlbGQnIG91dCBvZiByYW5nZSIKKyN+IG1zZ3N0ciAicG9ydCDigJ4lbGTigJwgamUgbWltbyBtZXplIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBsc2Jsayg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlbDrWNlIGluZm9ybWFjw60gbmFsZXpuZXRlIHbCoGxzYmxrKDgpLlxuIgorCisjfiBtc2dpZCAiaW52YWxpZCBvZmZzZXQgdmFsdWUgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgInphZMOhbmEgbmVwbGF0bsOhIGhvZG5vdGEgcG96aWNlIOKAniVz4oCcIgorCisjfiBtc2dpZCAid2FybmluZzogZmFpbGVkIHRvIHJlYWQgbXRhYiIKKyN+IG1zZ3N0ciAicG96b3I6IG10YWIgc2UgbmVwb2RhxZlpbG8gbmHEjcOtc3QiCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY2xhc3MgZGF0YSIKKyN+IG1zZ3N0ciAibmV6ZGHFmWlsbyByb3plYnJhdCBkYXRhIHTFmcOtZHkiCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY2xhc3MiCisjfiBtc2dzdHIgIm5lemRhxZlpbG8gcm96ZWJyYXQgdMWZw61kdSIKKworI34gbXNnaWQgImNvbmZpZ3VyZSwgZGVjb25maWd1cmUsIGRpc2FibGUsIGRpc3BhdGNoLCBlbmFibGUgYW5kIHJlc2NhbiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorI34gbXNnc3RyICJuYXN0YXZlbsOtLCBvZG5hc3RhdmVuw60sIHZ5cG51dMOtLCByZcW+aW0gcm96aG9kb3bDoW7DrSwgemFwbnV0w60gYSB6YWjDoWplbsOtIGhsZWTDoW7DrSBzZSB2esOhamVtbsSbIHZ5bHXEjXVqw60iCisKKyN+IG1zZ2lkICJjbGVhciwgcmVhZC1jbGVhciwgY29uc29sZS1sZXZlbCwgY29uc29sZS1vbiwgYW5kIGNvbnNvbGUtb2ZmIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKKyN+IG1zZ3N0ciAicMWZZXDDrW5hxI1lIGNsZWFyLCByZWFkLWNsZWFyLCBjb25zb2xlLWxldmVsLCBjb25zb2xlLW9uIGFuZCBjb25zb2xlLW9mZiBzZSB2esOhamVtbsSbIHZ5bHXEjXVqw60iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYnVmZmVyIHNpemUiCisjfiBtc2dzdHIgIm5lemRhxZlpbG8gc2Ugcm96ZWJyYXQgdmVsaWtvc3QgYnVmZmVydSIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgZmFsbG9jYXRlKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVsOtY2UgaW5mb3JtYWPDrSBuYWxlem5ldGUgdmUgZmFsbG9jYXRlKDEpLlxuIgorCisjfiBtc2dpZCAiJXM6IGZzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IHZvbMOhbsOtIGZzdGF0IHNlbGhhbG8iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZzdHJpbSg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlbDrWNlIGluZm9ybWFjw60gbmFsZXpuZXRlIHbCoGZzdHJpbSg4KS5cbiIKKworI34gbXNnaWQgImludmFsaWQgc3BlZWQiCisjfiBtc2dzdHIgIm5lcGxhdG7DoSByeWNobG9zdCIKKworI34gbXNnaWQgImludmFsaWQgb2Zmc2V0ICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICJ6YWTDoW5hIG5lcGxhdG7DoSBwb3ppY2Ug4oCeJXPigJwiCisKKyN+IG1zZ2lkICJpbnZhbGlkIHNpemUgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgInphZMOhbmEgbmVwbGF0bsOhIHZlbGlrb3N0IOKAniVz4oCcIgorCisjfiBtc2dpZCAiZXh0ZW5kZWQgYW5kIHBhcnNhYmxlIGZvcm1hdHMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKKyN+IG1zZ3N0ciAicm96xaHDrcWZZW7DvSBhIHJvemVicmF0ZWxuw70gZm9ybcOhdCBzZSB2esOhamVtbsSbIHZ5bHXEjXVqw60iCisKKyN+IG1zZ2lkICItLWFsbCwgLS1vbmxpbmUgYW5kIC0tb2ZmbGluZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCisjfiBtc2dzdHIgImFyZ3VtZW50eSAtLWFsbCwgLS1vbmxpbmUgYSAtLW9mZmxpbmUgc2UgdnrDoWplbW7EmyB2eWx1xI11asOtIgorCisjfiBtc2dpZCAib25seSBvbmUgPHNvdXJjZT4gbWF5IGJlIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAicG91emUgamVkZW4gPHpkcm9qPiBzbcOtIGLDvXQgemFkw6FuIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHNvdXJjZSBidWZmZXIiCisjfiBtc2dzdHIgInBhbcSbxaUgcHJvIHpkcm9qIG5lbHplIGFsb2tvdmF0IgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBtb3VudHBvaW50KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUG9kcm9ibm9zdGkgbmFsZXpuZXRlIHbCoG1vdW50cG9pbnQoMSkuXG4iCisKKyN+IG1zZ2lkICJvbmx5IHVzZSBvbmUgUElEIGF0IGEgdGltZSIKKyN+IG1zZ3N0ciAibmFqZWRub3UgbHplIHBvdcW+w610IHBvdXplIGplZGVuIFBJRCIKKworI34gbXNnaWQgImNhbm5vdCBwYXJzZSBQSUQiCisjfiBtc2dzdHIgIlBJRCBuZWx6ZSByb3plYnJhdCIKKworI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzZWNvbmRzIHZhbHVlIgorI34gbXNnc3RyICJuZXpkYcWZaWxvIHNlIHJvemVicmF0IGhvZG5vdHUgc2VrdW5kIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHRpbWVfdCB2YWx1ZSIKKyN+IG1zZ3N0ciAibmV6ZGHFmWlsbyBzZSByb3plYnJhdCBob2Rub3R1IHRpbWVfdCIKKworI34gbXNnaWQgIiclcycgaXMgdW5zdXBwb3J0ZWQgcHJvZ3JhbSBuYW1lIChtdXN0IGJlICdzd2Fwb24nIG9yICdzd2Fwb2ZmJykuIgorI34gbXNnc3RyICLigJ4lc+KAnCBuZW7DrSBuw6F6ZXYgcG9kcG9yb3ZhbsOpaG8gcHJvZ3JhbXUgKG11c8OtIGLDvXQg4oCec3dhcG9u4oCcIG5lYm8g4oCec3dhcG9mZuKAnCkuIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgZGlyZWN0b3J5IgorI34gbXNnc3RyICJ2b2zDoW7DrSBzdGF0IG5hZCBhZHJlc8OhxZllbSBzZWxoYWxvIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgZGlyZWN0b3J5ICVzIgorI34gbXNnc3RyICJ2b2zDoW7DrSBzdGF0IG5hZCBhZHJlc8OhxZllbSAlcyBzZWxoYWxvIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gdGltaW5nIGZpbGUgJXMiCisjfiBtc2dzdHIgIsSNYXNvdsO9IHNvdWJvciAlcyBuZWx6ZSBvdGV2xZnDrXQiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGxzYmxrKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUG9kcm9ibm9zdGkgbmFsZXpuZXRlIHbCoGxzYmxrKDEpLlxuIgorCisjfiBtc2dpZCAiYXJndW1lbnQgJWx1IGlzIHRvbyBsYXJnZSIKKyN+IG1zZ3N0ciAiYXJndW1lbnQgJWx1IGplIHDFmcOtbGnFoSB2ZWxrw70iCisKKyN+IG1zZ2lkICJiYWQgY29sdW1ucyB3aWR0aCB2YWx1ZSIKKyN+IG1zZ3N0ciAiY2h5Ym7DoSBob2Rub3RhIHBvxI10dSBzbG91cGPFryIKKworI34gbXNnaWQgIi0lYyBwb3NpdGl2ZSBpbnRlZ2VyIGV4cGVjdGVkIGFzIGFuIGFyZ3VtZW50IgorI34gbXNnc3RyICItJWM6IGpha28gYXJndW1lbnQgc2Ugb8SNZWvDoXbDoSBrbGFkbsOpIGNlbMOpIMSNw61zbG8iCisKKyN+IG1zZ2lkICJiYWQgbGVuZ3RoIHZhbHVlIgorI34gbXNnc3RyICJjaHlibsOhIGhvZG5vdGEgZMOpbGt5IgorCisjfiBtc2dpZCAiYmFkIHNraXAgdmFsdWUiCisjfiBtc2dzdHIgImNoeWJuw6EgaG9kbm90YSBwxZllc2tvxI1lbsOtIHphxI3DoXRrdSIKKworI34gbXNnaWQgIiVzOiBVc2FnZTogJXMgWy1udW1iZXJdIFstcCBzdHJpbmddIFstY2VmbnJzXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCisjfiBtc2dzdHIgIiVzOiBQb3XFvml0w606ICVzIFstxIzDjVNMT10gWy1wIMWYRVTEmlpFQ10gWy1jZWZucnNdIFsrxZjDgURFS10gWysvVlpPUkVLL10gW1NPVUJPUuKApl1cbiIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuICIKKyN+IG1zZ3N0ciAiTmVsemUgb3RldsWZw610ICIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIFwiJXNcIiBmb3IgcmVhZCIKKyN+IG1zZ3N0ciAi4oCeJXPigJwgIG5lbHplIG90ZXbFmcOtdCBwcm8gxI10ZW7DrSIKKworI34gbXNnaWQgImNhbm5vdCBzdGF0IFwiJXNcIiIKKyN+IG1zZ3N0ciAib8Kg4oCeJXPigJwgbmVsemUgesOtc2thdCBwb2Ryb2Jub3N0aSIKKworI34gbXNnaWQgIiAgIGQgICBkZWxldGUgYSBCU0QgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICBkICAgc21hemF0IEJTRCBvZGTDrWwiCisKKyN+IG1zZ2lkICIgICBuICAgYWRkIGEgbmV3IEJTRCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgIG4gICB2eXR2b8WZaXQgbm92w70gQlNEIG9kZMOtbCIKKworI34gbXNnaWQgIiAgIHQgICBjaGFuZ2UgYSBwYXJ0aXRpb24ncyBmaWxlc3lzdGVtIGlkIgorI34gbXNnc3RyICIgICB0ICAgem3Em27DrSBJRCBzeXN0w6ltdSBzb3Vib3LFryBkYW7DqWhvIG9kZMOtbHUiCisKKyN+IG1zZ2lkICIgICB1ICAgY2hhbmdlIHVuaXRzIChjeWxpbmRlcnMvc2VjdG9ycykiCisjfiBtc2dzdHIgIiAgIHUgICB6bcSbbsOtIGplZG5vdGt5IChjeWxpbmRyeS9zZWt0b3J5KSIKKworI34gbXNnaWQgIiAgIHAgICBwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICIgICBwICAgdnlww63FoWUgdGFidWxrdSByb3pkxJtsZW7DrSBkaXNrdSIKKworI34gbXNnaWQgIiIKKyN+ICJCdWlsZGluZyBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC5cbiIKKyN+ICJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisjfiAiQWZ0ZXIgdGhhdCwgb2YgY291cnNlLCB0aGUgcHJldmlvdXMgY29udGVudCB3b24ndCBiZSByZWNvdmVyYWJsZS5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlZ5dHbDocWZw61tIG5vdm91IERPU09WT1UgdGFidWxrdSByb3pkxJtsZW7DrSBkaXNrdSBzwqBpZGVudGlmaWvDoXRvcmVtIDB4JTA4eC5cbiIKKyN+ICJabcSbbnkgYnVkb3UgdWxvxb5lbnkgcG91emUgdsKgcGFtxJt0aSwgZG9rdWQgc2UgbmVyb3pob2RuZXRlIGplIHVsb8W+aXQgbmEgZGlzay5cbiIKKyN+ICJQb3TDqSBqacW+IG5lYnVkb3Ugc3RhcsOhIGRhdGEgcG9jaG9waXRlbG7EmyBkb3N0dXBuw6EuXG4iCisKKyN+IG1zZ2lkICJEZXZpY2UgY29udGFpbnMgbmVpdGhlciBhIHZhbGlkIERPUyBwYXJ0aXRpb24gdGFibGUsIG5vciBTdW4sIFNHSSBvciBPU0YgZGlza2xhYmVsXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJaYcWZw616ZW7DrSBuZW9ic2FodWplIGFuaSBET1NPVk9VIHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3UsIGFuaSBTVU4gxI1pIFNHSSBwb3Bpc1xuIgorI34gImRpc2t1XG4iCisKKyN+IG1zZ2lkICJJbnRlcm5hbCBlcnJvclxuIgorI34gbXNnc3RyICJWbml0xZluw60gY2h5YmFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJcdFNvcnJ5LCBubyBleHBlcnRzIG1lbnUgZm9yIFNHSSBwYXJ0aXRpb24gdGFibGVzIGF2YWlsYWJsZS5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0UHJvIFNHSSBvZGTDrWx5IG5lanNvdSBrIGRpc3BvemljaSDFvsOhZG7DqSByb3rFoWnFmXVqw61jw60gZnVua2NlLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiRG8gWW91IGtub3csIFlvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzaz9cbiIKKyN+IG1zZ3N0ciAiVsOtdGUsIMW+ZSBuYSB2YcWhZW0gZGlza3Ugc2Ugb2Rkw61seSBwxZlla3LDvXZhasOtP1xuIgorCisjfiBtc2dpZCAiIgorI34gIkJ1aWxkaW5nIGEgbmV3IFNHSSBkaXNrbGFiZWwuIENoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksXG4iCisjfiAidW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLiBBZnRlciB0aGF0LCBvZiBjb3Vyc2UsIHRoZSBwcmV2aW91c1xuIgorI34gImNvbnRlbnQgd2lsbCBiZSB1bnJlY292ZXJhYmx5IGxvc3QuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJWeXR2w6HFmcOtbSBub3bDvSBTR0kgcG9waXMgZGlza3UuIFptxJtueSBidWRvdSB1bG/FvmVueSBwb3V6ZSBkbyBwYW3Em3RpLFxuIgorI34gImRva3VkIHNlIG5lcm96aG9kbmV0ZSBqZSB1bG/Fvml0IG5hIGRpc2suIFBvdMOpIGppxb4gbmVidWRvdSBzdGFyw6EgZGF0YVxuIgorI34gInBvY2hvcGl0ZWxuxJsgZG9zdHVwbsOhLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeSAtIGdpdmluZyB1cFxuIgorI34gbXNnc3RyICJuZWRvc3RhdGVrIHBhbcSbdGkgLSBrb27EjcOtbVxuIgorCisjfiBtc2dpZCAiJS0yMHM6IGZhaWxlZDogJXNcbiIKKyN+IG1zZ3N0ciAiJS0yMHM6IG5lw7pzcMSbY2g6ICVzXG4iCisKKyN+IG1zZ2lkICIlLTIwczogZmFpbGVkXG4iCisjfiBtc2dzdHIgIiUtMjBzOiBuZcO6c3DEm2NoXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG1vdW50KDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVsOtY2UgaW5mb3JtYWPDrSBuYWxlem5ldGUgdsKgbW91bnQoOCkuXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogbWVtb3J5IGxvdywgbG9naW4gbWF5IGZhaWxcbiIKKyN+IG1zZ3N0ciAibG9naW46IG5lZG9zdGF0ZWsgcGFtxJt0aSwgcMWZaWhsw6HFoWVuw60gc2UgbmVtdXPDrSB6ZGHFmWl0XG4iCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgZm9yIHR0eWNsYXNzIgorI34gbXNnc3RyICJwYW3Em8WlIHBybyB0dHljbGFzcyBuZWx6ZSBhbG9rb3ZhdCIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBmb3IgZ3JwbGlzdCIKKyN+IG1zZ3N0ciAicGFtxJvFpSBwcm8gZ3JwbGlzdCBuZWx6ZSBhbG9rb3ZhdCIKKworI34gbXNnaWQgIkxvZ2luIG9uICVzIGZyb20gJXMgZGVuaWVkLlxuIgorI34gbXNnc3RyICJQxZlpaGzDocWhZW7DrSB6ICQyJXMgbmEgJDElcyBvZG3DrXRudXRvLlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsgLWYgZnVsbC1uYW1lIF0gWyAtbyBvZmZpY2UgXSAiCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogJXMgWyAtZiBwbG7DqS1qbcOpbm8gXSBbIC1vIGthbmNlbMOhxZkgXSAiCisKKyN+IG1zZ2lkICJbIC0taGVscCBdIFsgLS12ZXJzaW9uIF1cbiIKKyN+IG1zZ3N0ciAiWyAtLWhlbHAgXSBbIC0tIHZlcnNpb24gXVxuIgorCisjfiBtc2dpZCAiJXM6IFBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCisjfiBtc2dzdHIgIiVzOiBjaHliYSBQQU0sIGtvbsSNw60gc2U6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlMSRzIFstcyBzaGVsbF0gW3VzZXJuYW1lXVxuIgorI34gIiAgIG9yOiAlMSRzICgtLWxpc3Qtc2hlbGxzIHwgLS1oZWxwIHwgLS12ZXJzaW9uKVxuIgorI34gbXNnc3RyICIiCisjfiAiUG91xb5pdMOtOiAlMSRzIFstcyBTSEVMTF0gW1XFvUlWQVRFTFNLw4lfSk3DiU5PXVxuIgorI34gIiAgIG5lYm86ICUxJHMgKC0tbGlzdC1zaGVsbHMgfCAtLWhlbHAgfCAtLXZlcnNpb24pXG4iCisKKyN+IG1zZ2lkICIlczogY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMuIgorI34gbXNnc3RyICIlczogbcSbbml0IGx6ZSBwb3V6ZSBtw61zdG7DrSB6w6F6bmFteS4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3Qgc2V0IGRlZmF1bHQgY29udGV4dCBmb3IgL2V0Yy9wYXNzd2QiCisjfiBtc2dzdHIgIiVzOiBuZWx6ZSBuYXN0YXZpdCB2w71jaG96w60ga29udGV4dCBwcm8gL2V0Yy9wYXNzd2QiCisKKyN+IG1zZ2lkICJzZXRwd25hbSBmYWlsZWQiCisjfiBtc2dzdHIgImZ1bmtjZSBzZXRwd25hbSBzZWxoYWxhIgorCisjfiBtc2dpZCAiJXM6IFVzZSAtbCBvcHRpb24gdG8gc2VlIGxpc3QuXG4iCisjfiBtc2dzdHIgIiVzOiBTZXpuYW0gdnlww63FoWV0ZSBwxZllcMOtbmHEjWVtIC1sLlxuIgorCisjfiBtc2dpZCAiVXNlICVzIC1sIHRvIHNlZSBsaXN0LlxuIgorI34gbXNnc3RyICJQb3XFvmlqdGUgJXMgLWwgcHJvIHZ5cHPDoW7DrSBzZXpuYW11XG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogbG9naW4gWy1mcF0gW3VzZXJuYW1lXVxuIgorI34gbXNnc3RyICJQb3XFvml0w606IGxvZ2luIFtmcF0gW3XFvml2YXRlbHNrw6kgam3DqW5vXVxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeSIKKyN+IG1zZ3N0ciAibmVkb3N0YXRlayBwYW3Em3RpIgorCisjfiBtc2dpZCAiSWxsZWdhbCB1c2VybmFtZSIKKyN+IG1zZ3N0ciAiQ2h5Ym7DqSB1xb5pdmF0ZWxza8OpIGptw6lubyIKKworI34gbXNnaWQgIiVzIGxvZ2luIHJlZnVzZWQgb24gdGhpcyB0ZXJtaW5hbC4iCisjfiBtc2dzdHIgInDFmWlobMOhxaFlbsOtIHXFvml2YXRlbGUgJXMgbmEgdG9tdG8gdGVybWluw6FsdSBvZG3DrXRudXRvLiIKKworI34gbXNnaWQgIkxPR0lOICVzIFJFRlVTRUQgRlJPTSAlcyBPTiBUVFkgJXMiCisjfiBtc2dzdHIgIlDFmElITMOBxaBFTsONIFXFvUlWQVRFTEUgJXMgWiAlcyBOQSBUVFkgJXMgT0RNw41UTlVUTyIKKworI34gbXNnaWQgIkxPR0lOICVzIFJFRlVTRUQgT04gVFRZICVzIgorI34gbXNnc3RyICJQxZhJSEzDgcWgRU7DjSBVxb1JVkFURUxFICVzIE5BIFRUWSAlcyBPRE3DjVROVVRPIgorCisjfiBtc2dpZCAiTG9naW4gaW5jb3JyZWN0XG4iCisjfiBtc2dzdHIgIkNoeWJuw6kgcMWZaWhsw6HFoWVuw61cbiIKKworI34gbXNnaWQgImNoYW5nZSB0ZXJtaW5hbCBvd25lciBmYWlsZWQiCisjfiBtc2dzdHIgIm5lcG9kYcWZaWxvIHNlIHptxJtuaXQgdmxhc3Ruw61rYSB0ZXJtaW7DoWx1IgorCisjfiBtc2dpZCAiZmFpbHVyZSBmb3JraW5nIgorI34gbXNnc3RyICJ2b2zDoW7DrSBmb3JrIHNlbGhhbG8iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiJXMgbG9naW46ICIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlDFmWlobGHFoW92YWPDrSBqbcOpbm8gbmEgJXM6ICIKKworI34gbXNnaWQgIk5BTUUgdG9vIGxvbmciCisjfiBtc2dzdHIgIkpNw4lOTyBqZSBwxZnDrWxpxaEgZGxvdWjDqSIKKworI34gbXNnaWQgImxvZ2luIG5hbWUgbXVjaCB0b28gbG9uZy4iCisjfiBtc2dzdHIgInDFmWlobGHFoW92YWPDrSBqbcOpbm8gamUgcMWZw61sacWhIGRsb3Vow6kuIgorCisjfiBtc2dpZCAibG9naW4gbmFtZXMgbWF5IG5vdCBzdGFydCB3aXRoICctJy4iCisjfiBtc2dzdHIgInDFmWlobGHFoW92YWPDrSBqbcOpbmEgbmVzbcOtIHphxI3DrW5hdCBuYSDigJ4t4oCcLiIKKworI34gbXNnaWQgIkVYQ0VTU0lWRSBsaW5lZmVlZHMiCisjfiBtc2dzdHIgIlDFmMONTEnFoCBtbm9obyB6bmFrxa8gb2TFmcOhZGtvdsOhbsOtIgorCisjfiBtc2dpZCAidG9vIG1hbnkgYmFyZSBsaW5lZmVlZHMuIgorI34gbXNnc3RyICJwxZnDrWxpxaEgbW5vaG8gem5ha8WvIG9kxZnDoWRrb3bDoW7DrS4iCisKKyN+IG1zZ2lkICJMT0dJTiBGQUlMVVJFIEZST00gJXMsICVzIgorI34gbXNnc3RyICJDSFlCTsOJIFDFmElITMOBxaBFTsONIFXFvUlWQVRFTEUgJTIkcyBaICUxJHMiCisKKyN+IG1zZ2lkICJMT0dJTiBGQUlMVVJFIE9OICVzLCAlcyIKKyN+IG1zZ3N0ciAiQ0hZQk7DiSBQxZhJSEzDgcWgRU7DjSBVxb1JVkFURUxFICUyJHMgTkEgVFRZICUxJHMiCisKKyN+IG1zZ2lkICIlZCBMT0dJTiBGQUlMVVJFUyBGUk9NICVzLCAlcyIKKyN+IG1zZ3N0ciAiUE/EjEVUIENIWUJOw51DSCBQxZhJSEzDgcWgRU7DjSBVxb1JVkFURUxFICUzJHMgWiAlMiRzOiAlMSRkIgorCisjfiBtc2dpZCAiJWQgTE9HSU4gRkFJTFVSRVMgT04gJXMsICVzIgorI34gbXNnc3RyICJQT8SMRVQgQ0hZQk7DnUNIIFDFmElITMOBxaBFTsONIFXFvUlWQVRFTEUgJTMkcyBOQSBUVFkgJTIkczogJTEkZCIKKworI34gbXNnaWQgIiVzOiB0aGUgZ3JvdXAgZmlsZSBpcyBidXN5LlxuIgorI34gbXNnc3RyICIlczogc291Ym9yIHNlIHNrdXBpbmFtaSBzZSBwcsOhdsSbIHBvdcW+w612w6EuXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3QgdW5sb2NrICVzOiAlcyAoeW91ciBjaGFuZ2VzIGFyZSBzdGlsbCBpbiAlcylcbiIKKyN+IG1zZ3N0ciAiJXM6ICVzIG5lbHplIG9kZW1rbm91dDogJXMgKFZhxaFlIHptxJtueSBqc291IHN0w6FsZSB2ICVzKVxuIgorCisjfiBtc2dpZCAiY2FsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZnVua2NlIGNhbGxvYyBzZWxoYWxhIgorCisjfiBtc2dpZCAiV0FSTklORzogJXM6IGFwcGVhcnMgdG8gY29udGFpbiAnJXMnIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiUE9aT1I6ICVzOiB6ZMOhIHNlLCDFvmUgb2JzYWh1amUgdGFidWxrdSByb3pkxJtsZW7DrSBkaXNrdSDigJ4lc+KAnCIKKworI34gbXNnaWQgIm5vIG1hZ2ljIHN0cmluZyBmb3VuZCBhdCBvZmZzZXQgMHglanggLS0gaWdub3JlZCIKKyN+IG1zZ3N0ciAibmEgcG96aWNpIDB4JWp4IG5lYnlsIG5hbGV6ZW4gxb7DoWRuw70gbWFnaWNrw70gxZlldMSbemVjwqDigJMgaWdub3J1amUgc2UiCisKKyN+IG1zZ2lkICIlczogd3JpdGUgZmFpbGVkIgorI34gbXNnc3RyICIlczogesOhcGlzIHNlIG5lemRhxZlpbCIKKworI34gbXNnaWQgIiVzOiAvZGV2IGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdC4iCisjfiBtc2dzdHIgIiVzOiBhZHJlc8OhxZkgL2RldiBuZWV4aXN0dWplLiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IHNldCBjYXBhY2l0eSBvbiBkZXZpY2UgJXM6ICVzXG4iCisjfiBtc2dzdHIgImxvb3A6IHphxZnDrXplbsOtICVzIG5lbHplIG5hc3Rhdml0IGthcGFjaXR1OiAlc1xuIgorCisjfiBtc2dpZCAiLCBvZmZzZXQgJTxQUkl1NjQ+IgorI34gbXNnc3RyICIsIG9kc2F6ZW7DrSAlPFBSSXU2ND4iCisKKyN+IG1zZ2lkICIsIGVuY3J5cHRpb24gdHlwZSAlZFxuIgorI34gbXNnc3RyICIsIMWhaWZyb3ZhY8OtIHR5cCAlZFxuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3QgZ2V0IGluZm8gb24gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBpbmZvcm1hY2UgbyB6YcWZw616ZW7DrSAlcyBuZWx6ZSB6w61za2F0OiAlc1xuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3Qgb3BlbiBkZXZpY2UgJXM6ICVzXG4iCisjfiBtc2dzdHIgImxvb3A6IHphxZnDrXplbsOtICVzIG5lbHplIG90ZXbFmcOtdDogJXNcbiIKKworI34gbXNnaWQgIiVzOiBubyBwZXJtaXNzaW9uIHRvIGxvb2sgYXQgL2Rldi9sb29wJXM8Tj4iCisjfiBtc2dzdHIgIiVzOiBjaHliw60gb3Byw6F2bsSbbsOtIG5hIHByb2hsw6lkbnV0w60gL2Rldi9sb29wJXM8Tj4iCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IENvdWxkIG5vdCBmaW5kIGFueSBsb29wIGRldmljZS4gTWF5YmUgdGhpcyBrZXJuZWwgZG9lcyBub3Qga25vd1xuIgorI34gIiAgICAgICBhYm91dCB0aGUgbG9vcCBkZXZpY2U/IChJZiBzbywgcmVjb21waWxlIG9yIGBtb2Rwcm9iZSBsb29wJy4pIgorI34gbXNnc3RyICIiCisjfiAiJXM6IMW9w6FkbsOpIGxvb3AgemHFmcOtemVuw60gbmVsemUgbmFsw6l6dCBUb3RvIGrDoWRybyBtb8W+bsOhXG4iCisjfiAiICAgICAgIG5lem7DoSBsb29wIHphxZnDrXplbsOtPyAoUG9rdWQgamUgdG9tdSB0YWssIHBhayBqZWogem5vdnUgcMWZZWxvxb50ZSxcbiIKKyN+ICIgICAgICAgxI1pIHprdXN0ZSDigJ5tb2Rwcm9iZSBsb29w4oCcLikiCisKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5IHdoaWxlIHJlYWRpbmcgcGFzc3BocmFzZSIKKyN+IG1zZ3N0ciAiQsSbaGVtIMSNdGVuw60gaGVzbGEgZG/FoWxhIHBhbcSbxaUiCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiAlcyBpcyBhbHJlYWR5IGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICJ2YXJvdsOhbsOtOiAlcyBqZSBqacW+IHNwb2plbm8gc8KgJXNcbiIKKworI34gbXNnaWQgIndhcm5pbmc6ICVzOiBpcyB3cml0ZS1wcm90ZWN0ZWQsIHVzaW5nIHJlYWQtb25seS5cbiIKKyN+IG1zZ3N0ciAidmFyb3bDoW7DrTogJXM6IGplIGNocsOhbsSbbm8gcHJvdGkgesOhcGlzdSwgcMWZaXBvanVqaSBwb3V6ZSBwcm8gxI10ZW7DrS5cbiIKKworI34gbXNnaWQgImlvY3RsIExPT1BfU0VUX0ZEIGZhaWxlZDogJXNcbiIKKyN+IG1zZ3N0ciAic2VsaGFsbyBpb2N0bCBMT09QX1NFVF9GRDrigK8lc1xuIgorCisjfiBtc2dpZCAic2V0X2xvb3AoJXMsJXMsJWxsdSwlbGx1KTogc3VjY2Vzc1xuIgorI34gbXNnc3RyICJzZXRfbG9vcCglcywlcywlbGx1LCVsbHUpOiDDunNwxJtjaFxuIgorCisjfiBtc2dpZCAiZGVsX2xvb3AoJXMpOiBzdWNjZXNzXG4iCisjfiBtc2dzdHIgImRlbF9sb29wKCVzKTogw7pzcMSbY2hcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IGRlbGV0ZSBkZXZpY2UgJXM6ICVzXG4iCisjfiBtc2dzdHIgImxvb3A6IHphxZnDrXplbsOtICVzIG5lbHplIHNtYXphdDogJXNcbiIKKworI34gbXNnaWQgIlRoaXMgbW91bnQgd2FzIGNvbXBpbGVkIHdpdGhvdXQgbG9vcCBzdXBwb3J0LiBQbGVhc2UgcmVjb21waWxlLlxuIgorI34gbXNnc3RyICJUZW50byBwcm9ncmFtIGJ5bCBwxZllbG/FvmVuIGJleiBwb2Rwb3J5IHBybyBsb29wLiBQxZllbG/FvnRlIGplaiB6bm92dS5cbiIKKworI34gbXNnaWQgInN0b2xlbiBsb29wPSVzLi4udHJ5aW5nIGFnYWluXG4iCisjfiBtc2dzdHIgInVrcmFkZW7DvSBsb29wPSVz4oCmwqB6a291xaHDrW0gem5vdnVcbiIKKworI34gbXNnaWQgIk5vIGxvb3Agc3VwcG9ydCB3YXMgYXZhaWxhYmxlIGF0IGNvbXBpbGUgdGltZS4gUGxlYXNlIHJlY29tcGlsZS5cbiIKKyN+IG1zZ3N0ciAiUG9kcG9yYSBwcm8gbG9vcCBuZWJ5bGEgcMWZaSBwxZlla2xhZHUgemFkw6FuYS4gUMWZZWxvxb50ZSBwcm9ncmFtIHpub3Z1LlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBwYXJ0eCg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlbDrWNlIGluZm9ybWFjw60gbmFsZXpuZXRlIHbCoHBhcnR4KDgpLlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstcSBbLWkgaW50ZXJ2YWxdXSAoWy1zIHZhbHVlXXxbLVMgdmFsdWVdKSAoWy10IHZhbHVlXXxbLVQgdmFsdWVdKSBbLWd8LUddIGZpbGUgW2ZpbGUuLi5dXG4iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogJXMgWy1xIFstaSBpbnRlcnZhbF1dIChbLXMgaG9kbm90YV18Wy1TIGhvZG5vdGFdKSAoWy10IGhvZG5vdGFdfFstVCBob2Rub3RhXSkgWy1nfC1HXSBzb3Vib3IgW3NvdWJvcuKApl1cbiIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gJXM6ICVzXG4iCisjfiBtc2dzdHIgIiVzIG5lbHplIG90ZXbFmcOtdDogJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXMgIC0tc2hhcmVkICAgICBHZXQgYSBzaGFyZWQgbG9ja1xuIgorI34gIiAteCAgLS1leGNsdXNpdmUgIEdldCBhbiBleGNsdXNpdmUgbG9ja1xuIgorI34gIiAtdSAgLS11bmxvY2sgICAgIFJlbW92ZSBhIGxvY2tcbiIKKyN+ICIgLW4gIC0tbm9uYmxvY2sgICBGYWlsIHJhdGhlciB0aGFuIHdhaXRcbiIKKyN+ICIgLXcgIC0tdGltZW91dCAgICBXYWl0IGZvciBhIGxpbWl0ZWQgYW1vdW50IG9mIHRpbWVcbiIKKyN+ICIgLW8gIC0tY2xvc2UgICAgICBDbG9zZSBmaWxlIGRlc2NyaXB0b3IgYmVmb3JlIHJ1bm5pbmcgY29tbWFuZFxuIgorI34gIiAtYyAgLS1jb21tYW5kICAgIFJ1biBhIHNpbmdsZSBjb21tYW5kIHN0cmluZyB0aHJvdWdoIHRoZSBzaGVsbFxuIgorI34gIiAtaCAgLS1oZWxwICAgICAgIERpc3BsYXkgdGhpcyB0ZXh0XG4iCisjfiAiIC1WICAtLXZlcnNpb24gICAgRGlzcGxheSB2ZXJzaW9uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIC1zICAtLXNoYXJlZCAgICAgWsOtc2vDoSBzZMOtbGVuw70gesOhbWVrXG4iCisjfiAiICAteCAgLS1leGNsdXNpdmUgIFrDrXNrw6EgdsO9bHXEjW7DvSB6w6FtZWtcbiIKKyN+ICIgIC11ICAtLXVubG9jayAgICAgT2RzdHJhbsOtIHrDoW1la1xuIgorI34gIiAgLW4gIC0tbm9uYmxvY2sgICBNw61zdG8gxI1la8OhbsOtIHNlbMW+ZVxuIgorI34gIiAgLXcgIC0tdGltZW91dCAgICDEjGVrw6EgbmVqdsO9xaFlIHphZGFub3UgZG9idVxuIgorI34gIiAgLW8gIC0tY2xvc2UgICAgICBQxZllZCBzcHXFoXTEm27DrW0gcMWZw61rYXp1IHV6YXbFmWUgZGVza3JpcHRvciBzb3Vib3J1XG4iCisjfiAiICAtYyAgLS1jb21tYW5kICAgIFNwdXN0w60gxZlldMSbemVjIGpha28gamVkaW7DvSBwxZnDrWtheiBzaGVsbHVcbiIKKyN+ICIgIC1oICAtLWhlbHAgICAgICAgWm9icmF6w60gdGVudG8gdGV4dFxuIgorI34gIiAgLVYgIC0tdmVyc2lvbiAgICBab2JyYXrDrSB2ZXJ6aVxuIgorCisjfiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IHNvdWJvciB6w6Fta3UgJXMgbmVsemUgb3RldsWZw610OiAlc1xuIgorCisjfiBtc2dpZCAiJXM6IGJhZCBudW1iZXI6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBjaHlibsOpIMSNw61zbG86ICVzXG4iCisKKyN+IG1zZ2lkICIlczogZm9yayBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiB2b2zDoW7DrSBmb3JrIHNlbGhhbG86ICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1NIDxzaXplPiAgICAgY3JlYXRlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBvZiBzaXplIDxzaXplPlxuIgorI34gIiAtUyA8bnNlbXM+ICAgIGNyZWF0ZSBzZW1hcGhvcmUgYXJyYXkgd2l0aCA8bnNlbXM+IGVsZW1lbnRzXG4iCisjfiAiIC1RICAgICAgICAgICAgY3JlYXRlIG1lc3NhZ2UgcXVldWVcbiIKKyN+ICIgLXAgPG1vZGU+ICAgICBwZXJtaXNzaW9uIGZvciB0aGUgcmVzb3VyY2UgKGRlZmF1bHQgaXMgMDY0NClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtTSBWRUxJS09TVCAgIHZ5dHZvxZnDrSBzZMOtbGVuw70gcGFtxJvFpW92w70gc2VnbWVudCBvwqB2ZWxpa29zdCBWRUxJS09TVFxuIgorI34gIiAtUyBQT8SMRVQgICAgICB2eXR2b8WZw60gcG9sZSBzZW1hZm9ydSBzwqBQT8SMVEVNIHBydmvFr1xuIgorI34gIiAtUSAgICAgICAgICAgIHZ5dHZvxZnDrSBmcm9udHUgenByw6F2XG4iCisjfiAiIC1wIE3Dk0QgICAgICAgIHByw6F2YSBwcm8gemRyb2ogKHbDvWNob3rDrSBqc291IDA2NDQpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGlwY21rKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUG9kcm9ibm9zdGkgbmFsZXpuZXRlIHbCoGlwY21rKDEpLlxuIgorCisjfiBtc2dpZCAiY2Fubm90IHJlbW92ZSBpZCAlcyAoJXMpXG4iCisjfiBtc2dzdHIgImlkICVzIG5lbHplIG9kc3RyYW5pdCAoJXMpXG4iCisKKyN+IG1zZ2lkICJkZXByZWNhdGVkIHVzYWdlOiAlcyB7c2htIHwgbXNnIHwgc2VtfSBpZCAuLi5cbiIKKyN+IG1zZ3N0ciAiWmF2cmhvdmFuw70genDFr3NvYiBwb3XFvml0w606ICVzIFtzaG0gfCBtc2cgfCBzZW1dIGlk4oCmXG4iCisKKyN+IG1zZ2lkICIiCisjfiAidXNhZ2U6ICVzIFsgWy1xIG1zcWlkXSBbLW0gc2htaWRdIFstcyBzZW1pZF1cbiIKKyN+ICIgICAgICAgICAgWy1RIG1zZ2tleV0gWy1NIHNobWtleV0gWy1TIHNlbWtleV0gLi4uIF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlBvdcW+aXTDrTogJXMgWyBbLXEgSURfWlBSw4FWWV0gWy1tIElEX1NEw41MRU7DiV9QQU3EmlRJXSBbLXMgSURfU0VNQUZPUlVdXG4iCisjfiAiICAgICAgICAgICAgWy1RIEtMw43EjF9aUFLDgVZZXSBbLU0gS0zDjcSMX1NEw41MRU7DiV9QQU3EmlRJXSBbLVMgS0zDjcSMX1NFTUFGT1JVXSDigKYgXVxuIgorCisjfiBtc2dpZCAidW5rbm93biBlcnJvciBpbiBrZXkiCisjfiBtc2dzdHIgIm5lem7DoW3DoSBjaHliYSB2IGtsw63EjWkiCisKKyN+IG1zZ2lkICJ1bmtub3duIGVycm9yIGluIGlkIgorI34gbXNnc3RyICJuZXpuw6Ftw6EgY2h5YmEgdsKgaWQiCisKKyN+IG1zZ2lkICIlczogJXMgKCVzKVxuIgorI34gbXNnc3RyICIlczogJXMgKCVzKVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlMSRzIFstYXNtcV0gWy10fC1jfC1sfC11fC1wXVxuIgorI34gIiAgICAgICAlMSRzIFstc3wtbXwtcV0gLWkgaWRcbiIKKyN+ICIgICAgICAgJTEkcyAtaCBmb3IgaGVscFxuIgorI34gbXNnc3RyICIiCisjfiAiUG91xb5pdMOtOiAlMSRzIFstYXNtcV0gWy10fC1jfC1sfC11fC1wXVxuIgorI34gIiAgICAgICAgICUxJHMgWy1zfC1tfC1xXSAtaSBpZFxuIgorI34gIiAgICAgICAgICUxJHMgLWggcHJvIG7DoXBvdsSbZHVcbiIKKworI34gbXNnaWQgIiIKKyN+ICJSZXNvdXJjZSBvcHRpb25zOlxuIgorI34gIiAgICAtbSAgICAgIHNoYXJlZCBtZW1vcnkgc2VnbWVudHNcbiIKKyN+ICIgICAgLXEgICAgICBtZXNzYWdlIHF1ZXVlc1xuIgorI34gIiAgICAtcyAgICAgIHNlbWFwaG9yZXNcbiIKKyN+ICIgICAgLWEgICAgICBhbGwgKGRlZmF1bHQpXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJWb2xieSBwcm9zdMWZZWRrxa86XG4iCisjfiAiICAgIC1tICAgICAgc2TDrWxlbsOpIHNlZ21lbnR5IHBhbcSbdGlcbiIKKyN+ICIgICAgLXEgICAgICBmcm9udHkgenByw6F2XG4iCisjfiAiICAgIC1zICAgICAgc2VtYWZvcnlcbiIKKyN+ICIgICAgLWEgICAgICB2xaFlIChpbXBsaWNpdG7DrSlcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJPdXRwdXQgZm9ybWF0OlxuIgorI34gIiAgICAtdCAgICAgIHRpbWVcbiIKKyN+ICIgICAgLXAgICAgICBwaWRcbiIKKyN+ICIgICAgLWMgICAgICBjcmVhdG9yXG4iCisjfiAiICAgIC1sICAgICAgbGltaXRzXG4iCisjfiAiICAgIC11ICAgICAgc3VtbWFyeVxuIgorI34gbXNnc3RyICIiCisjfiAiVsO9c3R1cG7DrSBmb3Jtw6F0OlxuIgorI34gIiAgICAtdCAgICAgIMSNYXNcbiIKKyN+ICIgICAgLXAgICAgICBQSURcbiIKKyN+ICIgICAgLWMgICAgICB0dsWvcmNlXG4iCisjfiAiICAgIC1sICAgICAgb21lemVuw61cbiIKKyN+ICIgICAgLXUgICAgICBzb3Vocm5cbiIKKworI34gbXNnaWQgIiAlcyBbIC1kaFY3OG5lbzEyIF0gWyAtcyA8c3BlZWQ+IF0gWyAtaSBbLV08aWZsYWc+IF0gPGxkaXNjPiA8ZGV2aWNlPlxuIgorI34gbXNnc3RyICIgJXMgWy1kaFY3OG5lbzEyXSBbLXMgUllDSExPU1RdIFstaSBbLV1JRkxBR10gTERJU0MgWkHFmMONWkVOw41cbiIKKworI34gbXNnaWQgImxkYXR0YWNoIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAibGRhdHRhY2ggesKgJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICIlczogVXNhZ2U6IFwiJXMgW29wdGlvbnNdXG4iCisjfiAiXHQgLW0gPG1hcGZpbGU+ICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIKKyN+ICJcdFx0XHRcdCAgXCIlc1wiKVxuIgorI34gIlx0IC1wIDxwcm8tZmlsZT4gKGRlZmF1bHQ6IFwiJXNcIilcbiIKKyN+ICJcdCAtTSA8bXVsdD4gICAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iCisjfiAiXHQgLWkgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIKKyN+ICJcdCAtdiAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorI34gIlx0IC1hICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorI34gIlx0IC1iICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorI34gIlx0IC1zICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCisjfiAiXHQgLXIgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCisjfiAiXHQgLW4gICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIKKyN+ICJcdCAtViAgICAgICAgICAgIHByaW50IHZlcnNpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBQb3XFvml0w606IFwiJXMgW1ZPTEJZXVxuIgorI34gIlx0IC1tIDxNQVBTT1VCT1I+ICAoaW1wbGljaXRuw606IOKAniVz4oCcIGFcbiIKKyN+ICJcdFx0XHRcdCAg4oCeJXPigJwpXG4iCisjfiAiXHQgLXAgPFBSTy1TT1VCT1I+IChpbXBsaWNpdG7DrTog4oCeJXPigJwpXG4iCisjfiAiXHQgLU0gPEhPRE5PVEE+ICBuYXN0YXbDrSBIT0ROT1RVIHByb2ZpbG92YWPDrWhvIG11bHRpcGxpa8OhdG9ydVxuIgorI34gIlx0IC1pICAgICAgICAgICAgdnlww63FoWUgcG91emUgaW5mb3JtYWNlIG/CoHByb2ZpbG92YWPDrW0ga3Jva3VcbiIKKyN+ICJcdCAtdiAgICAgICAgICAgIHZ5cMOtxaFlIHBvZHJvYm7DqSBpbmZvcm1hY2VcbiIKKyN+ICJcdCAtYSAgICAgICAgICAgIHZ5cMOtxaFlIHZlxaFrZXLDqSBzeW1ib2x5IGkgcG9rdWQgamUgaG9kbm90YSDEjcOtdGHEjWUgMFxuIgorI34gIlx0IC1iICAgICAgICAgICAgdnlww63FoWUgamVkbm90bGl2w6kgaGlzdG9ncmFtLWJpbiDEjcOtdGHEjWVcbiIKKyN+ICJcdCAtcyAgICAgICAgICAgIHZ5cMOtxaFlIGplZG5vdGxpdsOpIMSNw610YcSNZSB1dm5pdMWZIGZ1bmtjw61cbiIKKyN+ICJcdCAtciAgICAgICAgICAgIHZ5bnVsdWplIHZlxaFrZXLDqSDEjcOtdGHEjWUgKHBvdXplIHJvb3QpXG4iCisjfiAiXHQgLW4gICAgICAgICAgICB6YWvDocW+ZSBhdXRvZGV0ZWtjaSBwb8WZYWTDrSBieXTFr1xuIgorI34gIlx0IC1WICAgICAgICAgICAgdnlww63FoWUgaW5mb3JtYWNlIG8gdmVyemkgYSBza29uxI3DrVxuIgorCisjfiBtc2dpZCAicmVhZHByb2ZpbGU6IGVycm9yIHdyaXRpbmcgJXM6ICVzXG4iCisjfiBtc2dzdHIgInJlYWRwcm9maWxlOiBjaHliYSBwxZlpIHrDoXBpc3UgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHJ0Y3dha2UoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJWw61jZSBpbmZvcm1hY8OtIG5hbGV6bmV0ZSB2wqBydGN3YWtlKDgpLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBzZXRhcmNoKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVsOtY2UgaW5mb3JtYWPDrSBuYWxlem5ldGUgdsKgc2V0YXJjaCg4KS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICIlczogJXNcbiIKKyN+ICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogJXNcbiIKKyN+ICJWw61jZSBpbmZvcm1hY8OtIHrDrXNrw6F0ZSBwxZnDrWthemVtIOKAniVzIC0taGVscOKAnC5cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBwcm9ncmFtIFthcmcgLi4uXVxuIgorI34gbXNnc3RyICJQb3XFvml0w606ICVzIFBST0dSQU0gW0FSR1VNRU5U4oCmXVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyA8ZGV2aWNlPiBbIC1pIDxJUlE+IHwgLXQgPFRJTUU+IHwgLWMgPENIQVJTPiB8IC13IDxXQUlUPiB8IFxuIgorI34gIiAgICAgICAgICAtYSBbb258b2ZmXSB8IC1vIFtvbnxvZmZdIHwgLUMgW29ufG9mZl0gfCAtcSBbb258b2ZmXSB8IC1zIHwgXG4iCisjfiAiICAgICAgICAgIC1UIFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlBvdcW+aXTDrTogJXMgPHphxZnDrXplbsOtPiBbIC1pIDxJUlE+IHwgLXQgPMSMQVM+IHwgLWMgPFpOQUtZPiB8IC13IDzEjEVLw4FOw40+IHwgXG4iCisjfiAiICAgICAgICAgICAgLWEgW29ufG9mZl0gfCAtbyBbb258b2ZmXSB8IC1DIFtvbnxvZmZdIHwgLXEgW29ufG9mZl0gfCAtcyB8XG4iCisjfiAiICAgICAgICAgICAgLVQgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiJXM6IGJhZCB2YWx1ZVxuIgorI34gbXNnc3RyICIlczogY2h5Ym7DoSBob2Rub3RhXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHVuc2hhcmUoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJWw61jZSBpbmZvcm1hY8OtIG5hbGV6bmV0ZSB2wqB1bnNoYXJlKDEpLlxuIgorCisjfiBtc2dpZCAiICAlcyAtVlxuIgorI34gbXNnc3RyICIgICVzIC1WXG4iCisKKyN+IG1zZ2lkICIgICVzIC0tcmVwb3J0IFtkZXZpY2VzXVxuIgorI34gbXNnc3RyICIgICVzIC0tcmVwb3J0IFtaQcWYw41aRU7DjeKApl1cbiIKKworI34gbXNnaWQgIiAgJXMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisjfiBtc2dzdHIgIiAgJXMgIFstdnwtcV0gUMWYw41LQVrigKYgWkHFmMONWkVOw43igKZcbiIKKworI34gbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbiAlc1xuIgorI34gbXNnc3RyICIlczogbmVsemUgb3RldsWZw610OiAlc1xuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLW4gXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiUG91xb5pdMOtOiAlcyBbLW5dIFpBxZjDjVpFTsONXG4iCisKKyN+IG1zZ2lkICJtYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJ2b2zDoW7DrSBtYWxsb2Mgc2VsaGFsbyIKKworI34gbXNnaWQgIiVzOiBvcHRpb24gcGFyc2UgZXJyb3JcbiIKKyN+IG1zZ3N0ciAiJXM6IGNoeWJhIHDFmWkgYW5hbMO9emUgcMWZZXDDrW5hxI3Fr1xuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsteF0gWy1kIDxudW0+XSBpc285NjYwLWltYWdlXG4iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogJXMgWy14XSBbLWQgPG51bT5dIGlzbzk2NjAtb2JyYXpcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgWy12XSBbLU4gbnItb2YtaW5vZGVzXSBbLVYgdm9sdW1lLW5hbWVdXG4iCisjfiAiICAgICAgIFstRiBmc25hbWVdIGRldmljZSBbYmxvY2stY291bnRdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQb3XFvml0w606ICVzIFstdl0gWy1OIHBvxI1ldCBpLXV6bMWvXSBbLVYgbsOhemV2IHN2YXprdV1cbiIKKyN+ICIgICAgICAgWy1GIG7DoXpldiBzc10gemHFmcOtemVuw60gW3BvxI1ldCBibG9rxa9dXG4iCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gc3RhdCAlcyIKKyN+IG1zZ3N0ciAibyAlcyBuZWx6ZSB6w61za2F0IGluZm9ybWFjZSIKKworI34gbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgc2VjdG9yIHNpemUgZm9yICVzIgorI34gbXNnc3RyICJuZWx6ZSB6amlzdGl0IHZlbGlrb3N0IHNla3RvcnUgJXMiCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1jXSBbLXBQQUdFU1pdIFstTCBsYWJlbF0gWy1VIFVVSURdIC9kZXYvbmFtZSBbYmxvY2tzXVxuIgorI34gbXNnc3RyICJQb3XFvml0w606ICVzIFstY10gWy1wVkVMSUtPU1RfU1RSw4FOS1ldIFstTCBKTUVOT1ZLQV0gWy1VIFVVSURdIFpBxZjDjVpFTsONIFtCTE9LWV1cbiIKKworI34gbXNnaWQgIk91dCBvZiBtZW1vcnkiCisjfiBtc2dzdHIgIk5lZG9zdGF0ZWsgcGFtxJt0aSIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgICVzICIKKyN+IG1zZ3N0ciAiIgorI34gIlBvdcW+aXTDrTpcbiIKKyN+ICIgICVzICIKKworI34gbXNnaWQgIk1lbnUgd2l0aG91dCBkaXJlY3Rpb24uIERlZmF1bHRpbmcgdG8gaG9yaXpvbnRhbC4iCisjfiBtc2dzdHIgIk5hYsOtZGthIGJlemUgc23Em3J1LiBQb3XFvsOtdsOhbSB2b2Rvcm92bsO9LiIKKworI34gbXNnaWQgIllvdSBtdXN0IGRlbGV0ZSBzb21lIHBhcnRpdGlvbiBhbmQgYWRkIGFuIGV4dGVuZGVkIHBhcnRpdGlvbiBmaXJzdFxuIgorI34gbXNnc3RyICJNdXPDrXRlIG5lanBydmUgbsSba3RlcsOpIG9kZMOtbHkgc21hemF0IGEgcMWZaWRhdCByb3rFocOtxZllbsO9IG9kZMOtbC5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJDb21tYW5kIGFjdGlvblxuIgorI34gIiAgICVzXG4iCisjfiAiICAgcCAgIHByaW1hcnkgcGFydGl0aW9uICgxLTQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQxZnDrWthelxuIgorI34gIiAgICVzXG4iCisjfiAiICAgcCAgIHByaW3DoXJuw60gb2Rkw61sICgxLTQpXG4iCisKKyN+IG1zZ2lkICJTb3JyeSBZb3UgbWF5IGNoYW5nZSB0aGUgVGFnIG9mIG5vbi1lbXB0eSBwYXJ0aXRpb25zLlxuIgorI34gbXNnc3RyICJMaXR1amksIG3Fr8W+ZXRlIG3Em25pdCB6bmHEjWt1IG5lcHLDoXpkbsO9Y2ggb2Rkw61sxa8uXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb25zICVzICIKKyN+IG1zZ3N0ciAiVmFyb3bDoW7DrTogb2Rkw61seSAlcyAiCisKKyN+IG1zZ2lkICJhbmQgJXMgb3ZlcmxhcFxuIgorI34gbXNnc3RyICJhICVzIHNlIG5hdnrDoWplbSBwxZlla3LDvXZhasOtLlxuIgorCisjfiBtc2dpZCAiZGV2aWNlOiBzb21ldGhpbmcgbGlrZSAvZGV2L2hkYSBvciAvZGV2L3NkYSIKKyN+IG1zZ3N0ciAiWmHFmcOtemVuw606IG7Em2NvIGpha28gL2Rldi9oZGEgxI1pIC9kZXYvc2RhIgorCisjfiBtc2dpZCAiICAgIC1zIFtvciAtLXNob3ctc2l6ZV06IGxpc3Qgc2l6ZSBvZiBhIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgIC1zIFvEjWkgLS1zaG93LXNpemVdOiB2eXDDrcWhZSB2ZWxpa29zdCBvZGTDrWx1IgorCisjfiBtc2dpZCAiICAgIC1kIFtvciAtLWR1bXBdOiAgICAgIGlkZW0sIGJ1dCBpbiBhIGZvcm1hdCBzdWl0YWJsZSBmb3IgbGF0ZXIgaW5wdXQiCisjfiBtc2dzdHIgIiAgICAtZCBbxI1pIC0tZHVtcF06ICAgICAgdGFrdMOpxb4sIGFsZSB2ZSBmb3Jtw6F0dSB2aG9kbsOpbSBrIGRhbMWhw61tdSB6cHJhY292w6Fuw60iCisKKyN+IG1zZ2lkICIgICAgLWkgW29yIC0taW5jcmVtZW50XTogbnVtYmVyIGN5bGluZGVycyBldGMuIGZyb20gMSBpbnN0ZWFkIG9mIGZyb20gMCIKKyN+IG1zZ3N0ciAiICAgIC1pIFvEjWkgLS1pbmNyZW1lbnRdOiDEjcOtc2x1amUgY3lsaW5kcnkgZXRjLiBvZCAxIG3DrXN0byBvZCAwIgorCisjfiBtc2dpZCAiICAgIC11UywgLXVCLCAtdUMsIC11TTogIGFjY2VwdC9yZXBvcnQgaW4gdW5pdHMgb2Ygc2VjdG9ycy9ibG9ja3MvY3lsaW5kZXJzL01CIgorI34gbXNnc3RyICIgICAgLXVTLCAtdUIsIC11QywgLXVNOiAgamFrbyBqZWRub3RreSBwb3XFvmlqZSBTZWt0b3J5L0Jsb2t5L0N5bGluZHJ5IMSNaSBNQiIKKworI34gbXNnaWQgIiAgICAtVCBbb3IgLS1saXN0LXR5cGVzXTpsaXN0IHRoZSBrbm93biBwYXJ0aXRpb24gdHlwZXMiCisjfiBtc2dzdHIgIiAgICAtVCBbxI1pIC0tbGlzdC10eXBlc106dnlww63FoWUgem7DoW3DqSB0eXB5IG9kZMOtbMWvIgorCisjfiBtc2dpZCAiICAgIC1EIFtvciAtLURPU106ICAgICAgIGZvciBET1MtY29tcGF0aWJpbGl0eTogd2FzdGUgYSBsaXR0bGUgc3BhY2UiCisjfiBtc2dzdHIgIiAgICAtRCBbxI1pIC0tRE9TXTogICAgICAgcHJvIGtvbXBhdGliaWxpdHUgcyBET1NFTTogdWLDrXLDoSB0cm9jaHUgbcOtc3RhIgorCisjfiBtc2dpZCAiICAgIC1SIFtvciAtLXJlLXJlYWRdOiAgIG1ha2Uga2VybmVsIHJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIiAgICAtUiBbxI1pIC0tcmUtcmVhZF06ICAgZG9udXTDrSBqw6Fkcm8gem5vdnUgbmHEjcOtc3QgdGFidWxrdSByb3pkxJtsZW7DrSBkaXNrdSIKKworI34gbXNnaWQgIiAgICAtTyBmaWxlIDogICAgICAgICAgICBzYXZlIHRoZSBzZWN0b3JzIHRoYXQgd2lsbCBiZSBvdmVyd3JpdHRlbiB0byBmaWxlIgorI34gbXNnc3RyICIgICAgLU8gU09VQk9SIDogICAgICAgICAgdWxvxb7DrSB6bcSbbsSbbsOpIHNla3RvcnkgZG8gU09VQk9SVSIKKworI34gbXNnaWQgIiAgICAtSSBmaWxlIDogICAgICAgICAgICByZXN0b3JlIHRoZXNlIHNlY3RvcnMgYWdhaW4iCisjfiBtc2dzdHIgIiAgICAtSSBTT1VCT1IgOiAgICAgICAgICBvYm5vdsOtIHR5dG8gc2VrdG9yeSB6ZSBTT1VCT1JVIgorCisjfiBtc2dpZCAiICAgIC12IFtvciAtLXZlcnNpb25dOiAgIHByaW50IHZlcnNpb24iCisjfiBtc2dzdHIgIiAgICAtdiBbxI1pIC0tdmVyc2lvbl06ICAgdnlww63FoWUgaW5mb3JtYWNlIG8gdmVyemkiCisKKyN+IG1zZ2lkICIgICAgLT8gW29yIC0taGVscF06ICAgICAgcHJpbnQgdGhpcyBtZXNzYWdlIgorI34gbXNnc3RyICIgICAgLT8gW8SNaSAtLWhlbHBdOiAgICAgIHZ5cMOtxaFlIHR1dG8gbsOhcG92xJtkdSIKKworI34gbXNnaWQgIiAgICAtZyBbb3IgLS1zaG93LWdlb21ldHJ5XTogcHJpbnQgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIGdlb21ldHJ5IgorI34gbXNnc3RyICIiCisjfiAiICAgIC1nIFvEjWkgLS1zaG93LWdlb21ldHJ5XTpcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgdnlww63FoWUgaW5mb3JtYWNlIG8gZ2VvbWV0cmlpLCBrdGVyw6kgdWRyxb51amUgasOhZHJvIgorCisjfiBtc2dpZCAiICAgIC1MICBbb3IgLS1MaW51eF06ICAgICAgZG8gbm90IGNvbXBsYWluIGFib3V0IHRoaW5ncyBpcnJlbGV2YW50IGZvciBMaW51eCIKKyN+IG1zZ3N0ciAiICAgIC1MICBbxI1pIC0tTGludXhdOiAgICBwcm9ibMOpbXkgbmVwb2RzdGF0bsOpIHBybyBMaW51eCBidWRvdSBpZ25vcm92w6FueSIKKworI34gbXNnaWQgIiAgICBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZXRlY3RlZCBnZW9tZXRyeSB1c2luZzoiCisjfiBtc2dzdHIgIiAgICBOYWxlemVub3UgZ2VvbWV0cmlpIG3Fr8W+ZXRlIHDFmWVwc2F0IHBvbW9jw606IgorCisjfiBtc2dpZCAiICAgIC1mICBbb3IgLS1mb3JjZV06ICAgICAgZG8gd2hhdCBJIHNheSwgZXZlbiBpZiBpdCBpcyBzdHVwaWQiCisjfiBtc2dzdHIgIiAgICAtZiAgW8SNaSAtLWZvcmNlXTogICAgYWtjZXB0dWplIHZlxaFrZXLDqSAtIGkgbmVzbXlzbG7DqSAtIHBvxb5hZGF2a3kiCisKKyN+IG1zZ2lkICJzdWNjZXNzIgorI34gbXNnc3RyICLDunNwxJtjaCIKKworI34gbXNnaWQgIkNvdWxkbid0IGFsbG9jYXRlIG1lbW9yeSBmb3IgZmlsZXN5c3RlbSB0eXBlc1xuIgorI34gbXNnc3RyICJQcm8gdHlweSBzb3Vib3JvdsO9Y2ggc3lzdMOpbcWvIG5lYnlsbyBtb8W+bsOpIGFsb2tvdmF0IHBhbcSbxaVcbiIKKworI34gbXNnaWQgIlVzYWdlOiBmc2NrIFstQU1OUFJUVl0gWyAtQyBbIGZkIF0gXSBbLXQgZnN0eXBlXSBbZnMtb3B0aW9uc10gW2ZpbGVzeXMgLi4uXVxuIgorI34gbXNnc3RyICJQb3XFvml0w606IGZzY2sgWy1BTU5QUlRWXSBbLUMgW2ZkXV1bLXQgdHlwX3NzXSBbdm9sYnlfc3NdIFtzeXN0w6ltX3NvdWJvcsWv4oCmXVxuIgorCisjfiBtc2dpZCAiQ291bGRuJ3Qgb3BlbiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXMgbmVieWxvIG1vxb5uw6kgb3RldsWZw610OiAlc1xuIgorCisjfiBtc2dpZCAiZnNjayBmcm9tICVzXG4iCisjfiBtc2dzdHIgImZzY2sgesKgJXNcbiIKKworI34gbXNnaWQgIiVzOiBVbmFibGUgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciBmc2NrX3BhdGhcbiIKKyN+IG1zZ3N0ciAiJXM6IFBhbcSbxaUgcHJvIGZzY2tfcGF0aCBuZWx6ZSBhbG9rb3ZhdFxuIgorCisjfiBtc2dpZCAiVHJ5IGBnZXRvcHQgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiVsOtY2UgaW5mb3JtYWPDrSB6w61za8OhdGUgcMWZw61rYXplbSA/Z2V0b3B0IC0taGVscOKAnC5cbiIKKworI34gbXNnaWQgIlVzYWdlOiBnZXRvcHQgb3B0c3RyaW5nIHBhcmFtZXRlcnNcbiIKKyN+IG1zZ3N0ciAiUG91xb5pdMOtOiBnZXRvcHQgxZlldMSbemVjLXMtdm9sYmFtaSBwxZllcMOtbmHEjWVcbiIKKworI34gbXNnaWQgIiAgICAgICBnZXRvcHQgW29wdGlvbnNdIFstLV0gb3B0c3RyaW5nIHBhcmFtZXRlcnNcbiIKKyN+IG1zZ3N0ciAiICAgICAgIGdldG9wdCBbdm9sYnldIFstLV0gxZlldMSbemVjLXMtdm9sYmFtaSBwxZllcMOtbmHEjWVcbiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgcGFyYW1ldGVyc1xuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgIGFyZ3VtZW50eVxuIgorCisjfiBtc2dpZCAiZ2V0b3B0IChlbmhhbmNlZCkgMS4xLjRcbiIKKyN+IG1zZ3N0ciAiZ2V0b3B0IChyb3rFocOtxZllbsOpKSAxLjEuNFxuIgorCisjfiBtc2dpZCAiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKVxuIgorI34gbXNnc3RyICIoT8SNZWvDoXbDoW5vIOKAnlVUQ+KAnCwg4oCeTE9DQUzigJwgxI1pIG5pYy4pXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiaHdjbG9jayAtIHF1ZXJ5IGFuZCBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIChSVEMpXG4iCisjfiAiXG4iCisjfiAiVXNhZ2U6IGh3Y2xvY2sgW2Z1bmN0aW9uXSBbb3B0aW9ucy4uLl1cbiIKKyN+ICJcbiIKKyN+ICJGdW5jdGlvbnM6XG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgIHNob3cgdGhpcyBoZWxwXG4iCisjfiAiICAtciB8IC0tc2hvdyAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IHJlc3VsdFxuIgorI34gIiAgICAgICAtLXNldCAgICAgICAgICBzZXQgdGhlIHJ0YyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gIiAgLXMgfCAtLWhjdG9zeXMgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiICAtdyB8IC0tc3lzdG9oYyAgICAgIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgdG8gdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWVcbiIKKyN+ICIgICAgICAgLS1zeXN0eiAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBiYXNlZCBvbiB0aGUgY3VycmVudCB0aW1lem9uZVxuIgorI34gIiAgICAgICAtLWFkanVzdCAgICAgICBhZGp1c3QgdGhlIHJ0YyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IHNpbmNlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIHRoZSBjbG9jayB3YXMgbGFzdCBzZXQgb3IgYWRqdXN0ZWRcbiIKKyN+ICIgICAgICAgLS1nZXRlcG9jaCAgICAgcHJpbnQgb3V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZVxuIgorI34gIiAgICAgICAtLXNldGVwb2NoICAgICBzZXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlIHRvIHRoZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgZ2l2ZW4gd2l0aCAtLWVwb2NoXG4iCisjfiAiICAgICAgIC0tcHJlZGljdCAgICAgIHByZWRpY3QgcnRjIHJlYWRpbmcgYXQgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gIiAgLXYgfCAtLXZlcnNpb24gICAgICBwcmludCBvdXQgdGhlIHZlcnNpb24gb2YgaHdjbG9jayB0byBzdGRvdXRcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOiBcbiIKKyN+ICIgIC11IHwgLS11dGMgICAgICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gVVRDXG4iCisjfiAiICAgICAgIC0tbG9jYWx0aW1lICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIGxvY2FsIHRpbWVcbiIKKyN+ICIgIC1mIHwgLS1ydGM9cGF0aCAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIKKyN+ICIgICAgICAgLS1kaXJlY3Rpc2EgICAgYWNjZXNzIHRoZSBJU0EgYnVzIGRpcmVjdGx5IGluc3RlYWQgb2YgJXNcbiIKKyN+ICIgICAgICAgLS1iYWR5ZWFyICAgICAgaWdub3JlIHJ0YydzIHllYXIgYmVjYXVzZSB0aGUgYmlvcyBpcyBicm9rZW5cbiIKKyN+ICIgICAgICAgLS1kYXRlICAgICAgICAgc3BlY2lmaWVzIHRoZSB0aW1lIHRvIHdoaWNoIHRvIHNldCB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgICAgICAgLS1lcG9jaD15ZWFyICAgc3BlY2lmaWVzIHRoZSB5ZWFyIHdoaWNoIGlzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBoYXJkd2FyZSBjbG9jaydzIGVwb2NoIHZhbHVlXG4iCisjfiAiICAgICAgIC0tbm9hZGpmaWxlICAgIGRvIG5vdCBhY2Nlc3MgL2V0Yy9hZGp0aW1lLiBSZXF1aXJlcyB0aGUgdXNlIG9mXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZVxuIgorI34gIiAgICAgICAtLWFkamZpbGU9cGF0aCBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlIChkZWZhdWx0IGlzXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIC9ldGMvYWRqdGltZSlcbiIKKyN+ICIgICAgICAgLS10ZXN0ICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgYWN0dWFsbHkgdXBkYXRpbmcgdGhlIGhhcmR3YXJlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGNsb2NrIG9yIGFueXRoaW5nIGVsc2VcbiIKKyN+ICIgIC1EIHwgLS1kZWJ1ZyAgICAgICAgZGVidWcgbW9kZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiaHdjbG9ja8Kg4oCTIHpqacWhxaV1amUgYSBuYXN0YXZ1amUgxI1hcyBoYXJkd2Fyb3bDvWNoIGhvZGluIChSVEMpXG4iCisjfiAiXG4iCisjfiAiUG91xb5pdMOtOiBod2Nsb2NrIFtGVU5LQ0VdIFtWT0xCWeKApl1cbiIKKyN+ICJcbiIKKyN+ICJGdW5rY2U6XG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgIHVrw6HFvmUgdHV0byBuw6Fwb3bEm2R1XG4iCisjfiAiICAtciB8IC0tc2hvdyAgICAgICAgIHpqaXN0w60gYSB2eXDDrcWhZSBha3R1w6FsbsOtIHN0YXYgaG9kaW4gcmXDoWxuw6lobyDEjWFzdVxuIgorI34gIiAgICAgICAtLXNldCAgICAgICAgICBuYXN0YXbDrSBSVEMgbmEgaG9kbm90dSB6YWRhbm91IHZvbGJvdSAtLWRhdGVcbiIKKyN+ICIgIC1zIHwgLS1oY3Rvc3lzICAgICAgbmFzdGF2w60gc3lzdMOpbW92w70gxI1hcyBwb2RsZSBob2RpbiByZcOhbG7DqWhvIMSNYXN1XG4iCisjfiAiICAtdyB8IC0tc3lzdG9oYyAgICAgIG5hc3RhdsOtIFJUQyBwb2RsZSBha3R1w6FsbsOtaG8gc3lzdMOpbW92w6lobyDEjWFzdVxuIgorI34gIiAgICAgICAtLXN5c3R6ICAgICAgICBuYXN0YXbDrSBzeXN0w6ltb3bDvSDEjWFzIG5hIHrDoWtsYWTEmyBzb3XEjWFzbsOpIMSNYXNvdsOpIHrDs255XG4iCisjfiAiICAgICAgIC0tYWRqdXN0ICAgICAgIG9wcmF2w60gUlRDIG/CoHN5c3RlbWF0aWNrw70gcG9zdW4sIGt0ZXLDvSBuYXN0YWwgb2QgcG9zbGVkbsOtXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIG9wcmF2eSDEjWkgbmFzdGF2ZW7DrSBSVENcbiIKKyN+ICIgICAgICAgLS1nZXRlcG9jaCAgICAgdnlww63FoWUgcG/EjcOhdGVrIGVwb2NoeSBob2RpbiByZcOhbG7DqWhvIMSNYXN1IHBvZGxlIGrDoWRyYVxuIgorI34gIiAgICAgICAtLXNldGVwb2NoICAgICBuYXN0YXbDrSBqw6FkcnUgcG/EjcOhdGVrIGVwb2NoeSBob2RpbiByZcOhbG7DqWhvIMSNYXN1IG5hXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGhvZG5vdHUgemFkYW5vdSB2b2xib3UgLS1lcG9jaFxuIgorI34gIiAgICAgICAtLXByZWRpY3QgICAgICBwxZllZHBvdsOtIGhvZG5vdHUgUlRDIHbCoGRvYsSbIHphZGFuw6kgcG9tb2PDrSAtLWRhdGVcbiIKKyN+ICIgIC12IHwgLS12ZXJzaW9uICAgICAgdnlww63FoWUgdmVyemkgaHdjbG9ja3UgbmEgc3RhbmRhcmRuw60gdsO9c3R1cFxuIgorI34gIlxuIgorI34gIlZvbGJ5OiBcbiIKKyN+ICIgIC11IHwgLS11dGMgICAgICAgICAgaG9kaW55IHJlw6FsbsOpaG8gxI1hc3UgamRvdSB2wqBVVENcbiIKKyN+ICIgICAgICAgLS1sb2NhbHRpbWUgICAgaG9kaW55IHJlw6FsbsOpaG8gxI1hc3UgamRvdSB2wqBtw61zdG7DrW0gxI1hc2VcbiIKKyN+ICIgIC1mIHwgLS1ydGM9Q0VTVEEgICAgbmFtw61zdG8gdsO9Y2hvesOtaG8gemHFmcOtemVuw60gcG91xb5pamUgeiAvZGV2L+KApiBqaW7DqVxuIgorI34gIiAgICAgICAtLWRpcmVjdGlzYSAgICBtw61zdG8gJXMgcG91xb5pamUgcMWZw61tbyBJU0Egc2LEm3JuaWNpXG4iCisjfiAiICAgICAgIC0tYmFkeWVhciAgICAgIGlnbm9ydWplIHJvayB6wqBSVEMsIHByb3Rvxb5lIEJJT1MgamUgcm96Yml0w71cbiIKKyN+ICIgICAgICAgLS1kYXRlICAgICAgICAgxI1hcywgbmEga3RlcsO9IGJ1ZG91IG5hc3RhdmVueSBob2RpbnkgcmXDoWxuw6lobyDEjWFzdVxuIgorI34gIiAgICAgICAtLWVwb2NoPVJPSyAgICB1csSNdWplIHJvaywga2R5IHphxI3DrW7DoSBlcG9jaGEgaG9kaW4gcmXDoWxuw6lobyDEjWFzdVxuIgorI34gIiAgICAgICAtLW5vYWRqZmlsZSAgICBuZXBvdcW+aWplIC9ldGMvYWRqdGltZS4gVnnFvmFkdWplIHBvdcW+aXTDrSBidcSPIC0tdXRjLFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBuZWJvIC0tbG9jYWx0aW1lXG4iCisjfiAiICAgICAgIC0tYWRqZmlsZT1DRVNUQVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICB1csSNdWplIGNlc3R1IGvCoHNvdWJvcnUgc2Ugc3lzdGVtYXRpY2vDvW0gcG9zdW5lbVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAoaW1wbGljaXRuw60gamUgL2V0Yy9hZGp0aW1lKVxuIgorI34gIiAgICAgICAtLXRlc3QgICAgICAgICBwcm92ZWRlIHbFoWUga3JvbcSbIHZsYXN0bsOtaG8gbmFzdGF2ZW7DrSBob2RpbiByZcOhbG7DqWhvXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIMSNYXN1IG5lYm8gxI1laG9rb2xpdiBqaW7DqWhvXG4iCisjfiAiICAtRCB8IC0tZGVidWcgICAgICAgIGxhZGljw60gcmXFvmltXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgaW5pdHN0cmluZyIKKyN+IG1zZ3N0ciAicGFtxJvFpSBwcm8gaW5pY2lhbGl6YcSNbsOtIMWZZXTEm3plYyBuZWx6ZSBhbG9rb3ZhdCIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgWy04aGlMbXNVd10gWy1sIGxvZ2luX3Byb2dyYW1dIFstdCB0aW1lb3V0XSBbLUkgaW5pdHN0cmluZ10gWy1IIGxvZ2luX2hvc3RdIGJhdWRfcmF0ZSwuLi4gbGluZSBbdGVybXR5cGVdXG4iCisjfiAib3JcdFstaGlMbXddIFstbCBsb2dpbl9wcm9ncmFtXSBbLXQgdGltZW91dF0gWy1JIGluaXRzdHJpbmddIFstSCBsb2dpbl9ob3N0XSBsaW5lIGJhdWRfcmF0ZSwuLi4gW3Rlcm10eXBlXVxuIgorI34gbXNnc3RyICIiCisjfiAiUG91xb5pdMOtOiAlcyBbLThoaUxtc1V3XSBbLWwgTE9HSU5fUFJPR1JBTV0gWy10IMSMQVNPVsOdX0xJTUlUXSBbLUkgSU5JQ0lBTElaQcSMTsONX8WYRVTEmlpFQ10gWy1IIFBPxIzDjVRBxIxdIEJBVURfUkFURSzigKYgTElOS0EgW1RZUF9URVJNSU7DgUxVXVxuIgorI34gIsSNaVx0Wy1oaUxtd10gWy1sIExPR0lOX1BST0dSQU1dIFstdCDEjEFTT1bDnV9MSU1JVF0gWy1JIElOSUNJQUxJWkHEjE7DjV/FmEVUxJpaRUNdIFstSCBQT8SMw41UQcSMXSBMSU5LQSBCQVVEX1JBVEUs4oCmIFtUWVBfVEVSTUlOw4FMVV1cbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbeSB8IG5dIgorI34gbXNnc3RyICJQb3XFvml0w606ICVzIFt5IHwgbl0iCisKKyN+IG1zZ2lkICIlczogQkFEIEVSUk9SIgorI34gbXNnc3RyICIlczogWsOBVkHFvU7DgSBDSFlCQSIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbLW5dIFtmaWxlXVxuIgorI34gbXNnc3RyICJQb3XFvml0w606ICVzIFstbl0gW1NPVUJPUl1cbiIKKworI34gbXNnaWQgImNhbid0IHJlYWQ6ICVzIgorI34gbXNnc3RyICJuZWx6ZSBwxZllxI3DrXN0OiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtcywgLS1mc3RhYiAgICAgICAgICAgIHNlYXJjaCBpbiBzdGF0aWMgdGFibGUgb2YgZmlsZXN5c3RlbXNcbiIKKyN+ICIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzZWFyY2ggaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorI34gIiAtaywgLS1rZXJuZWwgICAgICAgICAgIHNlYXJjaCBpbiBrZXJuZWwgdGFibGUgb2YgbW91bnRlZCBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBmaWxlc3lzdGVtcyAoZGVmYXVsdClcbiIKKyN+ICJcbiIKKyN+ICIgLWMsIC0tY2Fub25pY2FsaXplICAgICBjYW5vbmljYWxpemUgcHJpbnRlZCBwYXRoc1xuIgorI34gIiAtZCwgLS1kaXJlY3Rpb24gPHdvcmQ+IHNlYXJjaCBkaXJlY3Rpb24gLSAnZm9yd2FyZCcgb3IgJ2JhY2t3YXJkJ1xuIgorI34gIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIHByaW50IGFsbCBUQUdzIChMQUJFTC9VVUlEKSBldmFsdWF0ZWRcbiIKKyN+ICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBwcmludCB0aGUgZmlyc3QgZm91bmQgZmlsZXN5c3RlbSBvbmx5XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgcHJpbnQgdGhpcyBoZWxwXG4iCisjfiAiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJ0IHNlbnNlIG9mIG1hdGNoaW5nXG4iCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCisjfiAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCisjfiAiIC1PLCAtLW9wdGlvbnMgPGxpc3Q+ICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBtb3VudCBvcHRpb25zXG4iCisjfiAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgb3V0cHV0IGNvbHVtbnNcbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IGZvcm1hdCBvdXRwdXRcbiIKKyN+ICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgYXNjaWkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorI34gIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSBieSBGUyB0eXBlc1xuIgorI34gIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIGRvbid0IHByaW50IFsvZGlyXSBmb3IgYmluZCBvciBidHJmcyBtb3VudHNcbiIKKyN+ICIgLVIsIC0tc3VibW91bnRzICAgICAgICBwcmludCBhbGwgc3VibW91bnQgZm9yIHRoZSBtYXRjaGluZyBmaWxlc3lzdGVtc1xuIgorI34gIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIGRldmljZSwgTEFCRUw9IG9yIFVVSUQ9ZGV2aWNlXG4iCisjfiAiIC1ULCAtLXRhcmdldCA8c3RyaW5nPiAgbW91bnRwb2ludFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVm9sYnk6XG4iCisjfiAiIC1zLCAtLWZzdGFiICAgICAgICAgICAgaGxlZMOhIHZlIHN0YXRpY2vDqSB0YWJ1bGNlIHNvdWJvcm92w71jaCBzeXN0w6ltxa9cbiIKKyN+ICIgLW0sIC0tbXRhYiAgICAgICAgICAgICBobGVkw6EgdsKgdGFidWxjZSBwxZlpcG9qZW7DvWNoIHNvdWJvcm92w71jaCBzeXN0w6ltxa9cbiIKKyN+ICIgLWssIC0ta2VybmVsICAgICAgICAgICBobGVkw6EgdsKgamFkZXJuw6kgdGFidWxjZSBwxZlpcG9qZW7DvWNoIHNvdWJvcm92w71jaFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIHN5c3TDqW3FryAoaW1wbGljaXRuw60pXG4iCisjfiAiXG4iCisjfiAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2VzdHkgdnlwaXN1amUgdsKga2Fub25pY2vDqW0gdHZhcnVcbiIKKyN+ICIgLWQsIC0tZGlyZWN0aW9uIDxTTcSaUj4gc23Em3IgaGxlZMOhbsOtwqDigJMg4oCeZm9yd2FyZOKAnCAoZG9wxZllZG7DqSkgbmVib1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIOKAnmJhY2t3YXJk4oCcICh6cMSbdG7DqSlcbiIKKyN+ICIgLWUsIC0tZXZhbHVhdGUgICAgICAgICB2xaFlY2hueSB6bmHEjWt5IChqbWVub3ZreS9VVUlEKSBwxZllZCB6b2JyYXplbsOtbVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIHZ5aG9kbm90w61cbiIKKyN+ICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICB2eXDDrcWhZSBwb3V6ZSBwcnZuw60gbmFsZXplbsO9IHNvdWJvcm92w70gc3lzdMOpbVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIHpvYnJhesOtIHR1dG8gbsOhcG92xJtkdVxuIgorI34gIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIG9icsOhdMOtIHNteXNsIHZ5aGxlZMOhdmFjw61jaCBwcmF2aWRlbFxuIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHbDvXN0dXAgdmUgZm9ybcOhdHUgc2V6bmFtdVxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIG5lem9icmF6w60gesOhaGxhdsOtXG4iCisjfiAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgbmV6a3JhY3VqZSB0ZXh0IHZlIHNsb3VwY8OtY2hcbiIKKyN+ICIgLU8sIC0tb3B0aW9ucyA8U0VaTkFNPiBvbWV6w60gbW5vxb5pbnUgc291Ym9yb3bDvWNoIHN5c3TDqW3FryBwb2RsZSB2b2xlYlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIHDFmWlwb2plbsOtXG4iCisjfiAiIC1vLCAtLW91dHB1dCA8U0VaTkFNPiAgem9icmF6w60gZGFuw6kgc2xvdXBjZVxuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICAgIG5lZm9ybcOhdG92YW7DvSB2w71zdHVwXG4iCisjfiAiIC1hLCAtLWFzY2lpICAgICAgICAgICAgcHJvIHZ5a3Jlc2xlbsOtIHN0cm9tdSBwb3XFvmlqZSB6bmFreSBBU0NJSVxuIgorI34gIiAtdCwgLS10eXBlcyA8U0VaTkFNPiAgIG9tZXrDrSBtbm/FvmludSBzb3Vib3JvdsO9Y2ggc3lzdMOpbcWvIHBvZGxlIGplamljaCBkcnVodVxuIgorI34gIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIHXCoHbDoXphbsO9Y2ggbmVibyBidHJmcyBwxZlpcG9qZW7DrSBuZXZ5cGlzdWplIFsvYWRyZXPDocWZXVxuIgorI34gIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIHXCoG9kcG92w61kYWrDrWPDrWNoIHNvdWJvcm92w71jaCBzeXN0w6ltxa8gdnlwaXN1amUgdsWhZWNobnlcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBwb2TFmcOtemVuw6kgYm9keSBwxZnDrXBvamVuw61cbiIKKyN+ICIgLVMsIC0tc291cmNlIDzFmEVUxJpaRUM+IHphxZnDrXplbsOtLCBMQUJFTD0gKGptZW5vdmthKSBuZWJvIFVVSUQ9XG4iCisjfiAiIC1ULCAtLXRhcmdldCA8xZhFVMSaWkVDPiBib2QgcMWZaXBvamVuw61cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImxvZ2dlcjogJXM6ICVzLlxuIgorI34gbXNnc3RyICJsb2dnZXI6ICVzOiAlcy5cbiIKKworI34gbXNnaWQgInVzYWdlOiBsb2dnZXIgWy1pc10gWy1mIGZpbGVdIFstcCBwcmldIFstdCB0YWddIFstdSBzb2NrZXRdIFsgbWVzc2FnZSAuLi4gXVxuIgorI34gbXNnc3RyICJQb3XFvml0w606IGxvZ2dlciBbLWlzXSBbLWYgc291Ym9yXSBbLXAgcHJpXSBbLXQgem5hxI1rYV0gWy11IHNva2V0XSBbenByw6F2YeKApl1cbiIKKworI34gbXNnaWQgInVzYWdlOiBsb29rIFstZGZhXSBbLXQgY2hhcl0gc3RyaW5nIFtmaWxlXVxuIgorI34gbXNnc3RyICJQb3XFvml0w606IGxvb2sgWy1kZmFdIFstdCB6bmFrXSDFmWV0xJt6ZWMgW3NvdWJvcl1cbiIKKworI34gbXNnaWQgIm91dCBvZiBtZW1vcnk/IgorI34gbXNnc3RyICJuZWRvc3RhdGVrIHBhbcSbdGk/IgorCisjfiBtc2dpZCAiY2FsbDogJXMgZnJvbSB0byBmaWxlcy4uLlxuIgorI34gbXNnc3RyICJQb3XFvml0w606ICVzIFogTkEgU09VQk9S4oCmXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogc2NyaXB0IFstYV0gWy1lXSBbLWZdIFstcV0gWy10XSBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAicG91xb5pdMOtOiBzY3JpcHQgWy1hXSBbLWZdIFstcV0gWy10XSBbU09VQk9SXVxuIgorCisjfiBtc2dpZCAiJXM6IHdyaXRlIGVycm9yICVkOiAlc1xuIgorI34gbXNnc3RyICIlczogY2h5YmEgesOhcGlzdSAlZDogJXNcbiIKKworI34gbXNnaWQgIiVzOiB3cml0ZSBlcnJvcjogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGNoeWJhIHrDoXBpc3U6ICVzXG4iCisKKyN+IG1zZ2lkICIgIFsgLXNub3cgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLXNub3cgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1zb2Z0c2Nyb2xsIFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1zb2Z0c2Nyb2xsIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtZm9yZWdyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtZm9yZWdyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQgXVxuIgorI34gbXNnc3RyICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQgXVxuIgorCisjfiBtc2dpZCAiICBbIC1iYWNrZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1iYWNrZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtdWxjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC11bGNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZSBdXG4iCisjfiBtc2dzdHIgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGUgXVxuIgorCisjfiBtc2dpZCAiICBbIC11bGNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtdWxjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAiICBbIC1oYmNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWhiY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLWhiY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1oYmNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLXN0YW5kb3V0IFsgYXR0ciBdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1zdGFuZG91dCBbIGF0cmlidXQgXSBdXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1kXSBbLXAgcGlkZmlsZV0gWy1zIHNvY2tldHBhdGhdIFstVCB0aW1lb3V0XVxuIgorI34gbXNnc3RyICJQb3XFvml0w606ICVzIFstZF0gWy1wIFBJRF9TT1VCT1JdIFstcyBDRVNUQV9LX1NPQ0tFVFVdIFstdCBMSU1JVF1cbiIKKworI34gbXNnaWQgIiAgICAgICAlcyBbLXJ8dF0gWy1uIG51bV0gWy1zIHNvY2tldHBhdGhdXG4iCisjfiBtc2dzdHIgIiAgICAgICAlcyBbLXJ8dF0gWy1uIFBPxIxdIFstcyBDRVNUQV9LX1NPQ0tFVFVdXG4iCisKKyN+IG1zZ2lkICIgICAgICAgJXMgLWtcbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIC1rXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1yXSBbLXRdXG4iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogJXMgWy1yXSBbLXRdXG4iCisKKyN+IG1zZ2lkICJ3aGVyZWlzIFsgLXNibXUgXSBbIC1TQk0gZGlyIC4uLiAtZiBdIG5hbWUuLi5cbiIKKyN+IG1zZ3N0ciAid2hlcmVpcyBbIC1zYm11IF0gWyAtU0JNIGFkcmVzw6HFmSAuLi4gLWYgXSBuw6F6ZXYuLi5cbiIKKworI34gbXNnaWQgInVzYWdlOiB3cml0ZSB1c2VyIFt0dHldXG4iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogd3JpdGUgdcW+aXZhdGVsIFt0dHldXG4iCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3Qgb3BlbiAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBuZWx6ZSBvdGV2xZnDrXQ6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlMSRzIC1hIFstZV0gWy12XSBbLWZdICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiICUxJHMgWy1wIHByaW9yaXR5XSBbLWRdIFstdl0gWy1mXSA8c3BlY2lhbD4gIGVuYWJsZSBnaXZlbiBzd2FwXG4iCisjfiAiICUxJHMgLXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHVzYWdlIHN1bW1hcnlcbiIKKyN+ICIgJTEkcyAtaCAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGhlbHBcbiIKKyN+ICIgJTEkcyAtViAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHZlcnNpb25cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBvdcW+aXTDrTpcbiIKKyN+ICIgJTEkcyAtYSBbLWVdIFstdl0gWy1mXSAgICAgICAgICAgICB6YXBuZSB2xaFlY2hueSBvZGtsw6FkYWPDrSBvYmxhc3RpXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXZlZGVuw6kgdsKgL2V0Yy9mc3RhYlxuIgorI34gIiAlMSRzIFstcCBQUklPUklUQV0gWy1kXSBbLXZdIFstZl0gWlZMw4HFoFROw41cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6YXBuZSB2eWJyYW5vdSBvZGtsw6FkYWPDrSBvYmxhc3RcbiIKKyN+ICIgJTEkcyAtcyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2eXDDrcWhZSBzb3Vocm5uw6kgaW5mb3JtYWNlIG/CoHZ5dcW+aXTDrVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ka2zDoWRhY8OtY2ggb2JsYXN0w61cbiIKKyN+ICIgJTEkcyAtaCAgICAgICAgICAgICAgICAgICAgICAgICAgICB2eXDDrcWhZSBuw6Fwb3bEm2R1XG4iCisjfiAiICUxJHMgLVYgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnlww63FoWUgdmVyemlcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJTEkcyAtYSBbLXZdICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIHN3YXBzXG4iCisjfiAiICUxJHMgWy12XSA8c3BlY2lhbD4gICAgICAgICAgICAgICBkaXNhYmxlIGdpdmVuIHN3YXBcbiIKKyN+ICIgJTEkcyAtaCAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaGVscFxuIgorI34gIiAlMSRzIC1WICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQb3XFvml0w606XG4iCisjfiAiICUxJHMgLWEgWy12XSAgICAgICAgICAgICAgICAgICAgICB2eXBuZSB2xaFlY2hueSBvZGtsw6FkYWPDrSBvYmxhc3RpXG4iCisjfiAiICUxJHMgWy12XSBaVkzDgcWgVE7DjSAgICAgICAgICAgICAgICB2eXBuZSB2eWJyYW5vdSBvZGtsw6FkYWPDrSBvYmxhc3RcbiIKKyN+ICIgJTEkcyAtaCAgICAgICAgICAgICAgICAgICAgICAgICAgIHZ5cMOtxaFlIG7DoXBvdsSbZHVcbiIKKyN+ICIgJTEkcyAtViAgICAgICAgICAgICAgICAgICAgICAgICAgIHZ5cMOtxaFlIHZlcnppXG4iCisjfiAiXG4iCisKKyMgdW5rbm93biBwb2xpY3kKKyN+IG1zZ2lkICJ1bmtub3duXG4iCisjfiBtc2dzdHIgIm5lem7DoW3DoVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImlvbmljZSAtIHNldHMgb3IgZ2V0cyBwcm9jZXNzIGlvIHNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5LlxuIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAgaW9uaWNlIFsgb3B0aW9ucyBdIC1wIDxwaWQ+IFs8cGlkPiAuLi5dXG4iCisjfiAiICBpb25pY2UgWyBvcHRpb25zIF0gPGNvbW1hbmQ+IFs8YXJnPiAuLi5dXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgIC1uIDxjbGFzc2RhdGE+ICAgICAgY2xhc3MgZGF0YSAoMC03LCBsb3dlciBiZWluZyBoaWdoZXIgcHJpbylcbiIKKyN+ICIgIC1jIDxjbGFzcz4gICAgICAgICAgc2NoZWR1bGluZyBjbGFzc1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKKyN+ICIgIC10ICAgICAgICAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCisjfiAiICAtaCAgICAgICAgICAgICAgICAgIHRoaXMgaGVscFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiaW9uaWNlwqDigJMgemppc3TDrSBuZWJvIG5hc3RhdsOtIHBsw6Fub3ZhY8OtIHTFmcOtZHUgbmVibyBwcmlvcml0dSBJL08uXG4iCisjfiAiXG4iCisjfiAiUG91xb5pdMOtOlxuIgorI34gIiAgaW9uaWNlIFtQxZhFUMONTkHEjEVdIC1wIDxQSUQ+IFs8UElEPuKApl1cbiIKKyN+ICIgIGlvbmljZSBbUMWYRVDDjU5BxIxFXSA8UMWYw41LQVo+IFs8QVJHVU1FTlQ+4oCmXVxuIgorI34gIlxuIgorI34gIlDFmWVww61uYcSNZTpcbiIKKyN+ICIgIC1uIDxEQVRBX1TFmMONRFk+ICAgICBkYXRhIHTFmcOtZHkgKDDigJM3LCBtZW7FocOtIMSNw61zbG8gem5hbWVuw6EgdnnFocWhw60gcHJpb3JpdHUpXG4iCisjfiAiICAtYyA8VMWYw41EQT4gICAgICAgICAgcGzDoW5vdmFjw60gdMWZw61kYTogMMKg4oCTIMW+w6FkbsOhLCAxwqDigJMgcmXDoWxuw70gxI1hcywgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIDLCoOKAkyBiZXN0LWVmZm9ydCwgM8Kg4oCTIHphaMOhbGVuw60gW2lkbGVdXG4iCisjfiAiICAtdCAgICAgICAgICAgICAgICAgIGlnbm9yb3ZhdCBzZWxow6Fuw61cbiIKKyN+ICIgIC1oICAgICAgICAgICAgICAgICAgdGF0byBuw6Fwb3bEm2RhXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJDUFUgbWFzayIKKyN+IG1zZ3N0ciAibWFza3UgQ1BVIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIG1vdW50IGFsbCBmaWxlc3lzdGVtcyBtZW50aW9uZWQgaW4gZnN0YWJcbiIKKyN+ICIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1biwgc2tpcCBtb3VudCgyKSBzeXNjYWxsXG4iCisjfiAiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIGZvcmsgb2ZmIGZvciBlYWNoIGRldmljZSAodXNlIHdpdGggLWEpXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIHRoaXMgaGVscFxuIgorI34gIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKKyN+ICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC1vbmx5IChzYW1lIGFzIC1vIHJvKVxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgcHJpbnQgdmVyc2lvbiBzdHJpbmdcbiIKKyN+ICIgLXcsIC0tcmVhZC13cml0ZSAgICAgICAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC13cml0ZSAoZGVmYXVsdClcbiIKKyN+ICIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgY29tbWEgc2VwYXJhdGVkIHN0cmluZyBvZiBtb3VudCBvcHRpb25zXG4iCisjfiAiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorI34gIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBpbmRpY2F0ZSB0aGUgZmlsZXN5c3RlbSB0eXBlXG4iCisjfiAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorI34gIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSBtb3VudC48dHlwZT4gaGVscGVyc1xuIgorI34gIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBsaXN0cyBhbGwgbW91bnRzIHdpdGggTEFCRUxzXG4iCisjfiAiXG4iCisjfiAiU291cmNlOlxuIgorI34gIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisjfiAiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisjfiAiIExBQkVMPTxsYWJlbD4gICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBsYWJlbFxuIgorI34gIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gVVVJRFxuIgorI34gIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyN+ICIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisjfiAiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorI34gIlxuIgorI34gIk9wZXJhdGlvbnM6XG4iCisjfiAiIC1CLCAtLWJpbmQgICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBzb21ld2hlcmUgZWxzZSAoc2FtZSBhcyAtbyBiaW5kKVxuIgorI34gIiAtTSwgLS1tb3ZlICAgICAgICAgICAgICBtb3ZlIGEgc3VidHJlZSB0byBzb21lIG90aGVyIHBsYWNlXG4iCisjfiAiIC1SLCAtLXJiaW5kICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBhbmQgYWxsIHN1Ym1vdW50cyBzb21ld2hlcmUgZWxzZVxuIgorI34gIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyN+ICIgLS1tYWtlLXNsYXZlICAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyN+ICIgLS1tYWtlLXByaXZhdGUgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorI34gIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICBtYXJrIGEgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCisjfiAiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorI34gIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorI34gIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisjfiAiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlDFmWVww61uYcSNZTpcbiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgcMWZaXBvasOtIHZlxaFrZXLDqSBzb3Vib3JvdsOpIHN5c3TDqW15IHV2ZWRlbsOpIHZlIGZzdGFiXG4iCisjfiAiIC1mLCAtLWZha2UgICAgICAgICAgICAgIHprdcWhZWJuw60gcmXFvmltLCB2eW5lY2jDoSB2b2zDoW7DrSBzeXN0w6ltdSBtb3VudCgyKVxuIgorI34gIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBwcm8ga2HFvmTDqSB6YcWZw616ZW7DrSB2eXR2b8WZw60gcG90b21rYSAocG91xb7DrXQgcyAtYSlcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgdGF0byBuw6Fwb3bEm2RhXG4iCisjfiAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIG5lemFww63FoWUgZG8gL2V0Yy9tdGFiXG4iCisjfiAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIHNvdWJvcm92w70gc3lzdMOpbSBwxZlpcG9qw60gamVuIHBybyDEjXRlbsOtIChzdGVqbsOpIGpha29cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgLW8gcm8pXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHNkw61sbsO9IHJlxb5pbVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICB2eXDDrcWhZSB2ZXJ6aSBwcm9ncmFtdVxuIgorI34gIiAtdywgLS1yZWFkLXdyaXRlICAgICAgICBzb3Vib3JvdsO9IHN5c3TDqW0gcMWZaXBvasOtIHBybyDEjXRlbsOtIGnCoHrDoXBpcyAodsO9Y2hvesOtKVxuIgorI34gIiAtbywgLS1vcHRpb25zIFNFWk5BTSAgICB2b2xieSBwxZlpcG9qZW7DrSBvZGTEm2xlbsOpIMSNw6Fya291XG4iCisjfiAiIC1PLCAtLXRlc3Qtb3B0cyBTRVpOQU0gIG9tZXrDrSBtbm/FvmludSBzb3Vib3JvdsO9Y2ggc3lzdMOpbcWvIChwb3XFvsOtdCBzIC1hKVxuIgorI34gIiAtdCwgLS10eXBlcyBTRVpOQU0gICAgICB1csSNw60gZHJ1aCBzb3Vib3JvdsOpaG8gc3lzdMOpbXVcbiIKKyN+ICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgY2VzdHkgbmVwxZlldmVkZSBuYSBrYW5vbmlja8O9IHR2YXJcbiIKKyN+ICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgbmV6YXZvbMOhIHBvbW9jbsO9IHByb2dyYW0gbW91bnQuRFJVSFxuIgorI34gIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICB2eXDDrcWhZSB2xaFlY2hueSBwxZlpcG9qZW7DqSBzeXN0w6lteSBhIGplamljaCBqbWVub3ZreVxuIgorI34gIlxuIgorI34gIlpkcm9qOlxuIgorI34gIiAtTCwgLS1sYWJlbCBKTUVOT1ZLQSAgICBzeW5vbnltdW0gcHJvIExBQkVMPUpNRU5PVktBXG4iCisjfiAiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgIHN5bm9ueW11bSBwcm8gVVVJRD1VVUlEXG4iCisjfiAiIExBQkVMPUpNRU5PVktBICAgICAgICAgIHVyxI3DrSB6YcWZw616ZW7DqSBwb2RsZSBqbWVub3ZreSBzeXN0w6ltdSBzb3Vib3LFr1xuIgorI34gIiBVVUlEPVVVSUQgICAgICAgICAgICAgICB1csSNw60gemHFmcOtemVuw60gcG9kbGUgVVVJRCBzeXN0w6ltdSBzb3Vib3LFr1xuIgorI34gIiBaQcWYw41aRU7DjSAgICAgICAgICAgICAgICB1csSNw60gemHFmcOtemVuw60gcG9kbGUgY2VzdHlcbiIKKyN+ICIgQURSRVPDgcWYICAgICAgICAgICAgICAgICBib2QgcMWZaXBvamVuw60gcHJvIHbDoXphbsOhIHDFmWlwb2plbsOtICh2aXp0ZSAtLWJpbmQvcmJpbmQpXG4iCisjfiAiIFNPVUJPUiAgICAgICAgICAgICAgICAgIG9iecSNZWpuw70gc291Ym9yIHBybyBwxZlpcG9qZW7DrSBwxZllcyBsb29wIHphxZnDrXplbsOtXG4iCisjfiAiXG4iCisjfiAiT3BlcmFjZTpcbiIKKyN+ICIgLUIsIC0tYmluZCAgICAgICAgICAgICAgcMWZaXBvasOtIHBvZHN0cm9tIG7Em2thbSBqaW5hbSAoc3Rlam7DqSBqYWtvIC1vIGJpbmQpXG4iCisjfiAiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIHDFmWVzdW5lIHBvZHN0cm9tIG5hIGppbsOpIG3DrXN0b1xuIgorI34gIiAtUiwgLS1yYmluZCAgICAgICAgICAgICBwxZlpcG9qw60gcG9kc3Ryb20gYSB2xaFlY2hueSBwb2TFmcOtemVuw6kgc3lzdMOpbXkgamluYW1cbiIKKyN+ICIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgb3puYcSNw60gcG9kc3Ryb20gamFrbyBzZMOtbGVuw71cbiIKKyN+ICIgLS1tYWtlLXNsYXZlICAgICAgICAgICAgb3puYcSNw60gcG9kc3Ryb20gamFrbyBwb2TFmcOtemVuw71cbiIKKyN+ICIgLS1tYWtlLXByaXZhdGUgICAgICAgICAgb3puYcSNw60gcG9kc3Ryb20gamFrbyBzb3Vrcm9tw71cbiIKKyN+ICIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgb3puYcSNw60gcG9kc3Ryb20gamFrbyB2w6F6YW7EmyBuZXDFmWlwb2ppdGVsbsO9XG4iCisjfiAiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJla3Vyeml2bsSbIG96bmHEjcOtIGNlbMO9IHBvZHN0cm9tIGpha28gc2TDrWxlbsO9XG4iCisjfiAiIC0tbWFrZS1yc2xhdmUgICAgICAgICAgIHJla3Vyeml2bsSbIG96bmHEjcOtIGNlbMO9IHBvZHN0cm9tIGpha28gcG9kxZnDrXplbsO9XG4iCisjfiAiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIHJla3Vyeml2bsSbIG96bmHEjcOtIGNlbMO9IHBvZHN0cm9tIGpha28gc291a3JvbcO9XG4iCisjfiAiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJla3Vyeml2bsSbIG96bmHEjcOtIGNlbMO9IHBvZHN0cm9tIGpha28gdsOhemFuxJtcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgbmVwxZlpcG9qaXRlbG7DvVxuIgorCisjfiBtc2dpZCAiVXNhZ2U6IHNodXRkb3duIFstaHwtcl0gWy1mcXNdIFtub3d8aGg6c3N8K21pbnNdXG4iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogc2h1dGRvd24gWy1ofC1yXSBbLWZxc10gW25vd3xoaDpzc3wrbWludXR5XVxuIgorCisjfiBtc2dpZCAiU2h1dGRvd24gcHJvY2VzcyBhYm9ydGVkIgorI34gbXNnc3RyICJQcm9jZXMgc2h1dGRvd24gdWtvbsSNZW4iCisKKyN+IG1zZ2lkICJvbmx5IHJvb3QgY2FuIHNodXQgYSBzeXN0ZW0gZG93bi4iCisjfiBtc2dzdHIgInBvdXplIHJvb3QgbcWvxb5lIHZ5cG5vdXQgc3lzdMOpbS4iCisKKyN+IG1zZ2lkICJ0aGF0IG11c3QgYmUgdG9tb3Jyb3csIGNhbid0IHlvdSB3YWl0IHRpbGwgdGhlbj8iCisjfiBtc2dzdHIgIlRvIG11c8OtIGLDvXQgesOtdHJhLiBUbyBkbyB0w6kgZG9ieSBuZW3Fr8W+ZXRlIHBvxI1rYXQ/IgorCisjfiBtc2dpZCAiZm9yIG1haW50ZW5hbmNlOyBib3VuY2UsIGJvdW5jZSIKKyN+IG1zZ3N0ciAia3bFr2xpIMO6ZHLFvmLEmyIKKworI34gbXNnaWQgIlRoZSBzeXN0ZW0gaXMgYmVpbmcgc2h1dCBkb3duIHdpdGhpbiA1IG1pbnV0ZXMiCisjfiBtc2dzdHIgIlN5c3TDqW0gYnVkZSB6YSA1IG1pbnV0IHZ5cG51dCIKKworI34gbXNnaWQgIkxvZ2luIGlzIHRoZXJlZm9yZSBwcm9oaWJpdGVkLiIKKyN+IG1zZ3N0ciAiUMWZaWhsYcWhb3bDoW7DrSBqZSB0dWTDrcW+IHpha8OhesOhbm8uIgorCisjfiBtc2dpZCAicmVib290ZWQgYnkgJXM6ICVzIgorI34gbXNnc3RyICJyZXN0YXJ0b3bDoW5vIHXFvml2YXRlbGVtICVzOiAlcyIKKworI34gbXNnaWQgImhhbHRlZCBieSAlczogJXMiCisjfiBtc2dzdHIgInphc3RhdmVubyB1xb5pdmF0ZWxlbSAlczogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV2h5IGFtIEkgc3RpbGwgYWxpdmUgYWZ0ZXIgcmVib290PyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlByb8SNIGpzZW0gcG8gcmVzdGFydHUgc3TDoWxlIG5hxb5pdnU/IgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk5vdyB5b3UgY2FuIHR1cm4gb2ZmIHRoZSBwb3dlci4uLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk55bsOtIG3Fr8W+ZXRlIHZ5cG5vdXQgcHJvdWTigKYiCisKKyN+IG1zZ2lkICJDYWxsaW5nIGtlcm5lbCBwb3dlci1vZmYgZmFjaWxpdHkuLi5cbiIKKyN+IG1zZ3N0ciAiVm9sw6FtIHphxZnDrXplbsOtIGrDoWRyYSBwcm8gdnlww61uw6Fuw60gcHJvdWR14oCmXG4iCisKKyN+IG1zZ2lkICJFcnJvciBwb3dlcmluZyBvZmZcdCVzXG4iCisjfiBtc2dzdHIgIkNoeWJhIHDFmWkgdnlww61uw6Fuw60gcHJvdWR1XHQlc1xuIgorCisjfiBtc2dpZCAiRXhlY3V0aW5nIHRoZSBwcm9ncmFtIFwiJXNcIiAuLi5cbiIKKyN+IG1zZ3N0ciAiU3BvdcWhdMOtbSBwcm9ncmFtIOKAniVz4oCc4oCmXG4iCisKKyN+IG1zZ2lkICJVUkdFTlQ6IGJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXM6IgorI34gbXNnc3RyICJOQUzDiUhBVsOJOiB6cHLDoXZhIHBybyB2xaFlY2hueSBvZCAlczoiCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAlZCBob3VycyAlZCBtaW51dGVzIgorI34gbXNnc3RyICJTeXN0w6ltIGJ1ZGUgdnlwbnV0IHphICVkaCAlZG1pbiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluIDEgaG91ciAlZCBtaW51dGVzIgorI34gbXNnc3RyICJTeXN0w6ltIGJ1ZGUgdnlwbnV0IHphIDFoICVkbWluIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gJWQgbWludXRlc1xuIgorI34gbXNnc3RyICJTeXN0w6ltIGJ1ZGUgdnlwbnV0IHphICVkbWluXG4iCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAxIG1pbnV0ZVxuIgorI34gbXNnc3RyICJTeXN0w6ltIGJ1ZGUgdnlwbnV0IHphIDFtaW5cbiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIElNTUVESUFURUxZIVxuIgorI34gbXNnc3RyICJTeXN0w6ltIGJ1ZGUgT0tBTcW9SVTEmiB2eXBudXQhXG4iCisKKyN+IG1zZ2lkICJcdC4uLiAlcyAuLi5cbiIKKyN+IG1zZ3N0ciAiXHQuLi4gJXMgLi4uXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZm9yayBmb3Igc3dhcG9mZi4gU2hydWchIgorI34gbXNnc3RyICJTd2Fwb2ZmIG5lbHplIHNwdXN0aXQgLSB2b2zDoW7DrSBmb3JrIHNlbGhhbG8uIgorCisjfiBtc2dpZCAiQ2Fubm90IGV4ZWMgc3dhcG9mZiwgaG9waW5nIHVtb3VudCB3aWxsIGRvIHRoZSB0cmljay4iCisjfiBtc2dzdHIgIlN3YXBvZmYgbmVsemUgc3B1c3RpdCAtIHZvbMOhbsOtIGV4ZWMgc2VsaGFsby4gU25hZCBwb23Fr8W+ZSB1bW91bnQuIgorCisjfiBtc2dpZCAiQ2Fubm90IGZvcmsgZm9yIHVtb3VudCwgdHJ5aW5nIG1hbnVhbGx5LiIKKyN+IG1zZ3N0ciAiVW1vdW50IG5lbHplIHNwdXN0aXQgLSB2b2zDoW7DrSBmb3JrIHNlbGhhbG8sIHprb3XFocOtbSB0byBydcSNbsSbLiIKKworI34gbXNnaWQgIkNhbm5vdCBleGVjICVzLCB0cnlpbmcgdW1vdW50LlxuIgorI34gbXNnc3RyICIlcyBuZWx6ZSBzcHVzdGl0IC0gdm9sw6Fuw60gZXhlYyBzZWxoYWxvLCB6a291xaHDrW0gdW1vdW50LlxuIgorCisjfiBtc2dpZCAiQ2Fubm90IGV4ZWMgdW1vdW50LCBnaXZpbmcgdXAgb24gdW1vdW50LiIKKyN+IG1zZ3N0ciAiVW1vdW50IG5lbHplIHNwdXN0aXQgLSB2b2zDoW7DrSBleGVjIHNlbGhhbG8sIHZ6ZMOhdsOhbSBzbmFodSBvIHNwdcWhdMSbbsOtIHVtb3VudC4iCisKKyN+IG1zZ2lkICJVbm1vdW50aW5nIGFueSByZW1haW5pbmcgZmlsZXN5c3RlbXMuLi4iCisjfiBtc2dzdHIgIk9kcG9qdWppIHbFoWVjaG55IHpiw712YWrDrWPDrSBzeXN0w6lteSBzb3Vib3LFr+KApiIKKworI34gbXNnaWQgInNodXRkb3duOiBDb3VsZG4ndCB1bW91bnQgJXM6ICVzXG4iCisjfiBtc2dzdHIgInNodXRkb3duOiAlcyBuZWx6ZSBvZHBvaml0OiAlc1xuIgorCisjfiBtc2dpZCAiQm9vdGluZyB0byBzaW5nbGUgdXNlciBtb2RlLlxuIgorI34gbXNnc3RyICJTdGFydHVqaSBkbyByZcW+aW11IHBybyBqZWRub2hvIHXFvml2YXRlbGUuXG4iCisKKyN+IG1zZ2lkICJleGVjIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICJTcHXFoXTEm27DrSBzaGVsbHUgcHJvIGplZG5vaG8gdcW+aXZhdGVsZSBzZSBuZXpkYcWZaWxvIC0gdm9sw6Fuw60gZXhlYyBzZWxoYWxvLlxuIgorCisjfiBtc2dpZCAiZm9yayBvZiBzaW5nbGUgdXNlciBzaGVsbCBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAiU3B1xaF0xJtuw60gc2hlbGx1IHBybyBqZWRub2hvIHXFvml2YXRlbGUgc2UgbmV6ZGHFmWlsbyAtIHZvbMOhbsOtIGZvcmsgc2VsaGFsby5cbiIKKworI34gbXNnaWQgImVycm9yIG9wZW5pbmcgZmlmb1xuIgorI34gbXNnc3RyICJDaHliYSBwxZlpIG90ZXbDrXLDoW7DrSBwb2ptZW5vdmFuw6kgcm91cnlcbiIKKworI34gbXNnaWQgImVycm9yIHNldHRpbmcgY2xvc2Utb24tZXhlYyBvbiAvZGV2L2luaXRjdGwiCisjfiBtc2dzdHIgImNoeWJhIGLEm2hlbSBuYXN0YXZvdsOhbsOtIHphdsWZw610LXDFmWktc3B1xaF0xJtuw60gcMWZw616bmFrdSBuYSAvZGV2L2luaXRjdGwiCisKKyN+IG1zZ2lkICJlcnJvciBydW5uaW5nIGZpbmFscHJvZ1xuIgorI34gbXNnc3RyICJjaHliYSBwxZlpIGLEm2h1IHrDoXbEm3JlxI1uw6lobyBwcm9ncmFtdVxuIgorCisjfiBtc2dpZCAiZXJyb3IgZm9ya2luZyBmaW5hbHByb2dcbiIKKyN+IG1zZ3N0ciAidm9sw6Fuw60gZm9yayBwcm8gesOhdsSbcmXEjW7DvSBwcm9ncmFtIHNlbGhhbG9cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXcm9uZyBwYXNzd29yZC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkNoeWJuw6kgaGVzbG8uXG4iCisKKyN+IG1zZ2lkICJsc3RhdCBvZiBwYXRoIGZhaWxlZFxuIgorI34gbXNnc3RyICJ2b2zDoW7DrSBsc3RhdCBwcm8gY2VzdHUgc2VsaGFsb1xuIgorCisjfiBtc2dpZCAicmVzcGF3bmluZzogXCIlc1wiIHRvbyBmYXN0OiBxdWVuY2hpbmcgZW50cnlcbiIKKyN+IG1zZ3N0ciAib2Jub3ZvdsOhbsOtOiDigJ4lc+KAnCBwxZnDrWxpxaEgcnljaGxlOiB0bHVtw61tIHrDoXpuYW1cbiIKKworI34gbXNnaWQgImZvcmsgZmFpbGVkXG4iCisjfiBtc2dzdHIgInZvbMOhbsOtIGZvcmsgc2VsaGFsb1xuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gaW5pdHRhYlxuIgorI34gbXNnc3RyICJpbml0dGFiIG5lbHplIG90ZXbFmcOtdFxuIgorCisjfiBtc2dpZCAibm8gVEVSTSBvciBjYW5ub3Qgc3RhdCB0dHlcbiIKKyN+IG1zZ3N0ciAixb7DoWRuw70gVEVSTSBuZWJvIHNlbGhhbG8gdm9sw6Fuw60gc3RhdCBwcm8gdHR5XG4iCisKKyN+IG1zZ2lkICJlcnJvciBhdCBzdG9wcGluZyBzZXJ2aWNlIFwiJXNcIlxuIgorI34gbXNnc3RyICJjaHliYSBwxZlpIHphc3Rhdm92w6Fuw60gc2x1xb5ieSDigJ4lc+KAnFxuIgorCisjfiBtc2dpZCAiU3RvcHBlZCBzZXJ2aWNlOiAlc1xuIgorI34gbXNnc3RyICJaYXN0YXZlbsOhIHNsdcW+Ynk6ICVzXG4iCisKKyN+IG1zZ2lkICJlcnJvciBhdCBzdGFydGluZyBzZXJ2aWNlIFwiJXNcIlxuIgorI34gbXNnc3RyICJjaHliYSBwxZlpIHNwb3XFoXTEm27DrSBzbHXFvmJ5IOKAniVz4oCcXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1jXSBbLW4gbGV2ZWxdIFstcl0gWy1zIGJ1ZnNpemVdXG4iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogJXMgWy1jXSBbLW4gw7pyb3ZlxYhdIFstcl0gWy1zIHZlbGlrb3N0X2J1ZmZlcnVdXG4iCisKKyN+IG1zZ2lkICJlcnJvcjogc3RyZHVwIGZhaWxlZCIKKyN+IG1zZ3N0ciAiY2h5YmE6IGZ1bmtjZSBzdHJkdXAgc2VsaGFsYSIKKworI34gbXNnaWQgImVycm9yOiBjYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJjaHliYTogZnVua2NlIGNhbGxvYyBzZWxoYWxhIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc11cbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gbXNnc3RyICIiCisjfiAiUG91xb5pdMOtOiAlcyBbUMWYRVDDjU5BxIxFXVxuIgorI34gIlxuIgorI34gIlDFmWVww61uYcSNZTpcbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbLWJmcHhdIFstbCBubGluZV0iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogJXMgWy1iZnB4XSBbLWwgUE/EjEVUX8WYw4FES8WuXSIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC0gXSBbIC0yIF0gWyBmaWxlIC4uLiBdXG4iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogJXMgWy1dIFstMl0gW1NPVUJPUuKApl1cbiIKKworI34gbXNnaWQgImhleGR1bXA6IFstYmNDZG92eF0gWy1lIGZtdF0gWy1mIGZtdF9maWxlXSBbLW4gbGVuZ3RoXSBbLXMgc2tpcF0gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJoZXhkdW1wOiBbLWJjQ2RvdnhdIFstZSBGTVRdIFstZiBGTVRfU09VQk9SXSBbLW4gRMOJTEtBXSBbLXMgVlpEw4FMRU5PU1RdIFtTT1VCT1LigKZdXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWy1kZmxwY3N1XSBbK2xpbmVudW0gfCArL3BhdHRlcm5dIG5hbWUxIG5hbWUyIC4uLlxuIgorI34gbXNnc3RyICJQb3XFvml0w606ICVzIFstZGZscGNzdV0gWyvEjMONU0xPX8WYw4FES1UgfCArL1ZaT1JFS10gTsOBWkVWMSBOw4FaRVYy4oCmXG4iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaW5lIGJ1ZmZlclxuIgorI34gbXNnc3RyICLFmcOhZGtvdsO9IGJ1ZmZlciBzZSBuZXBvZGHFmWlsbyBpbmljaWFsaXpvdmF0XG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBjYW4ndCByZWFkICVzLlxuIgorI34gbXNnc3RyICJoZXhkdW1wOiAlcyBuZWx6ZSDEjcOtc3QuXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBsaW5lIHRvbyBsb25nLlxuIgorI34gbXNnc3RyICJoZXhkdW1wOiDFmcOhZGVrIGplIHDFmcOtbGnFoSBkbG91aMO9LlxuIgorCisjfiBtc2dpZCAicmVhbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgInZvbMOhbsOtIHJlYWxsb2Mgc2VsaGFsbyIKKworI34gbXNnaWQgInVzYWdlOiB0YWlsZiBbLW4gTiB8IC1OXSBsb2dmaWxlIgorI34gbXNnc3RyICJQb3XFvml0w606IHRhaWxmIFstbiBOIHwgLU5dIFNPVUJPUl9TX1BST1RPS09MRU0iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWyAtaSBdIFsgLXRUZXJtIF0gZmlsZS4uLlxuIgorI34gbXNnc3RyICJQb3XFvml0w606ICVzIFstaV0gWy10VEVSTUlOw4FMXSBTT1VCT1LigKZcbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGluIHRoZSBmaW5hbCBwYXJ0aWFsIGN5bGluZGVyIgorI34gbXNnc3RyICJEaXNrb3bDvSBvZGTDrWwga29uxI3DrSB2wqBwb3NsZWRuw61tIMSNw6FzdGXEjW7DqW0gY3lsaW5kcnUiCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gb3BlbiAlc1xuIgorI34gbXNnc3RyICIlcyBuZWx6ZSBvdGV2xZnDrXRcbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBhbnkgbW9yZSBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAiTmVsemUgYWxva292YXQgdsOtY2UgcGFtxJt0aVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImdvdCBFT0YgdGhyaWNlIC0gZXhpdGluZy4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJ0xZlpa3LDoXQganNlbSBuYWxlemwgRU9GIC0ga29uxI3DrW0uLlxuIgorCisjfiBtc2dpZCAibGFzdDogbWFsbG9jIGZhaWx1cmUuXG4iCisjfiBtc2dzdHIgImxhc3Q6IHZvbMOhbsOtIG1hbGxvYyBzZWxoYWxvLlxuIgorCisjfiBtc2dpZCAibG9naW46IE91dCBvZiBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAibG9naW46IE5lZG9zdGF0ZWsgcGFtxJt0aVxuIgorCisjfiBtc2dpZCAibG9naW46IG5vIHNoZWxsOiAlcy5cbiIKKyN+IG1zZ3N0ciAibG9naW46IMW+w6FkbsO9IHNoZWxsOiAlcy5cbiIKKworI34gbXNnaWQgIm5ld2dycDogc2V0Z2lkIgorI34gbXNnc3RyICJuZXdncnA6IHNldGdpZCIKKworI34gbXNnaWQgIm5ld2dycDogUGVybWlzc2lvbiBkZW5pZWQiCisjfiBtc2dzdHIgIm5ld2dycDogUMWZw61zdHVwIG9kbcOtdG51dCIKKworI34gbXNnaWQgIm5ld2dycDogc2V0dWlkIgorI34gbXNnc3RyICJuZXdncnA6IHNldHVpZCIKKworI34gbXNnaWQgIiVzOiBDYW5ub3QgZm9ya1xuIgorI34gbXNnc3RyICIlczogdm9sw6Fuw60gZm9yayBzZWxoYWxvXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3QgcmVhZCAlcy5cbiIKKyN+IG1zZ3N0ciAiJXM6ICVzIG5lbHplIMSNw61zdC5cbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCBzdGF0IHRlbXBvcmFyeSBmaWxlLlxuIgorI34gbXNnc3RyICIlczogdm9sw6Fuw60gc3RhdCBwcm8gZG/EjWFzbsO9IHNvdWJvciBzZWxoYWxvLlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHJlYWQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVzOiBkb8SNYXNuw70gc291Ym9yIG5lbHplIMSNw61zdC5cbiIKKworI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvcjogJXMiCisjfiBtc2dzdHIgIiVzOiBjaHliYSByb3pib3J1OiAlcyIKKworI34gbXNnaWQgIiVzOiBvdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgIiVzOiBuZWRvc3RhdGVrIHBhbcSbdGlcbiIKKworI34gbXNnaWQgInBhcnNlIGVycm9yIGF0IGxpbmVzOiAiCisjfiBtc2dzdHIgImNoeWJhIHJvemJvcnUgbmEgxZnDoWRrw6FjaDogIgorCisjfiBtc2dpZCAiIGFuZCAlZC4iCisjfiBtc2dzdHIgIiBhICVkLiIKKworI34gbXNnaWQgIiVzOiBpbGxlZ2FsIG9wdGlvbiAtLSAlY1xuIgorI34gbXNnc3RyICIlczogbmVwb3ZvbGVuw6Egdm9sYmHCoOKAkyAlY1xuIgorCisjfiBtc2dpZCAic2VnbWVudHMgYWxsb2NhdGVkICVkXG4iCisjfiBtc2dzdHIgImFsb2tvdmFuw6kgc2VnbWVudHkgJWRcbiIKKworI34gbXNnaWQgInBhZ2VzIGFsbG9jYXRlZCAlbGRcbiIKKyN+IG1zZ3N0ciAiYWxva292YW7DqSBzdHLDoW5reSAlbGRcbiIKKworI34gbXNnaWQgInBhZ2VzIHJlc2lkZW50ICAlbGRcbiIKKyN+IG1zZ3N0ciAicmV6aWRlbnRuw60gc3Ryw6Fua3kgJWxkXG4iCisKKyN+IG1zZ2lkICJwYWdlcyBzd2FwcGVkICAgJWxkXG4iCisjfiBtc2dzdHIgInN0csOhbmt5IHYgb2RrbMOhZGFjw61tIHByb3N0b3J1ICVsZFxuIgorCisjfiBtc2dpZCAiU3dhcCBwZXJmb3JtYW5jZTogJWxkIGF0dGVtcHRzXHQgJWxkIHN1Y2Nlc3Nlc1xuIgorI34gbXNnc3RyICJTdGF0aXN0aWthIHBybyBvZGtsw6Fkw6Fuw606IHBva3Vzxa86ICVsZFx0LCB6IHRvaG8gw7pzcMSbxaFuw71jaDogJWxkXG4iCisKKyN+IG1zZ2lkICJyZW5pY2U6ICVzOiB1bmtub3duIHVzZXJcbiIKKyN+IG1zZ3N0ciAicmVuaWNlOiAlczogbmV6bsOhbcO9IHXFvml2YXRlbFxuIgorCisjfiBtc2dpZCAicmVuaWNlOiAlczogYmFkIHZhbHVlXG4iCisjfiBtc2dzdHIgInJlbmljZTogJXM6IGNoeWJuw6EgaG9kbm90YVxuIgorCisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgaW50ZXJ2YWwgJXMgc2Vjb25kc1xuIgorI34gbXNnc3RyICIlczogbmVwb3ZvbGVuw70gaW50ZXJ2YWwgJXMgc2VrdW5kXG4iCisKKyN+IG1zZ2lkICIlczogaWxsZWdhbCB0aW1lX3QgdmFsdWUgJXNcbiIKKyN+IG1zZ3N0ciAiJXM6ICVzIG5lbsOtIHBvdm9sZW7DoSBob2Rub3RhIHRpbWVfdFxuIgorCisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBleGVjdXRlICVzOiAlc1xuIgorI34gbXNnc3RyICIlczogJXMgbmVsemUgc3B1c3RpdDogJXNcbiIKKworI34gbXNnaWQgInJ0YyByZWFkIgorI34gbXNnc3RyICJvZGXEjXRlbsOtIGhvZGluIHJlw6FsbsOpaG8gxI1hc3UiCisKKyN+IG1zZ2lkICJtYWxsb2MgZXJyb3IiCisjfiBtc2dzdHIgImNoeWJhIG1hbGxvYyIKKworI34gbXNnaWQgInVzYWdlOiBjb2x1bW4gWy10eF0gWy1jIGNvbHVtbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiUG91xb5pdMOtOiBjb2x1bW4gWy10eF0gWy1jIFNMT1VQQ0VdIFtTT1VCT1LigKZdXG4iCisKKyN+IG1zZ2lkICJvZDogb2QoMSkgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgaGV4ZHVtcCgxKS5cbiIKKyN+IG1zZ3N0ciAib2Q6IHByb2dyYW0gb2QoMSkgamUgemFzdGFyYWzDvSwgbcOtc3RvIG7Em2ogcG91xb5panRlIGhleGR1bXAoMSkuXG4iCisKKyN+IG1zZ2lkICJvZDogaGV4ZHVtcCgxKSBjb21wYXRpYmlsaXR5IGRvZXNuJ3Qgc3VwcG9ydCB0aGUgLSVjIG9wdGlvbiVzXG4iCisjfiBtc2dzdHIgIm9kOiByZcW+aW0ga29tcGF0aWJpbGl0eSBzIGhleGR1bXAoMSkgbmVwb2Rwb3J1amUgLSVjIHZvbGJ1JXNcbiIKKworI34gbXNnaWQgIjsgc2VlIHN0cmluZ3MoMSkuIgorI34gbXNnc3RyICI7IHZpeiBzdHJpbmdzKDEpLiIKKworI34gbXNnaWQgIk91dCBvZiBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAiTmVkb3N0YXRlayBwYW3Em3RpXG4iCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyc3BhY2UiCisjfiBtc2dzdHIgIm3DrXN0byBwcm8gYnVmZmVyIG5lbHplIHDFmWlkxJtsaXQiCisKKyN+IG1zZ2lkICJ1c2FnZTogcmV2IFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiUG91xb5pdMOtOiByZXYgW1NPVUJPUuKApl1cbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIuXG4iCisjfiBtc2dzdHIgIkJ1ZmZlciBuZWx6ZSBuYWFsb2tvdmF0LlxuIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSB3aGVuIGdyb3dpbmcgYnVmZmVyLlxuIgorI34gbXNnc3RyICJOZWRvc3RhdGVrIHBhbcSbdGkgcHJvIHJvc3RvdWPDrSBidWZmZXIuXG4iCisKKyMgRG9kcsW+ZXQgemFyb3Zuw6Fuw60gc2UgenByw6F2b3Ug4oCeUE9aT1I6IFJlxb5pbSBrb21wYXRpYmlsaXR54oCm4oCcCisjfiBtc2dpZCAiIgorI34gIiBhbmQgY2hhbmdlIGRpc3BsYXkgdW5pdHMgdG9cbiIKKyN+ICIgICAgICAgICBzZWN0b3JzIChjb21tYW5kICd1JykuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgYSB6bcSbbml0IGplZG5vdGt5IHbDvXBpc8WvIG5hIHNla3RvcnlcbiIKKyN+ICIgICAgICAgKHDFmcOta2F6IOKAnnXigJwpLlxuIgorCisjfiBtc2dpZCAiZXJyb3IgcnVubmluZyBwcm9ncmFtbWU6IFwiJXNcIlxuIgorI34gbXNnc3RyICJjaHliYSBwxZlpIHNwb3XFoXTEm27DrSBwcm9ncmFtdTog4oCeJXPigJxcbiIKKworI34gbXNnaWQgImludmFsaWQgb2Zmc2V0ICclcycgdmFsdWUgc3BlY2lmaWVkIgorI34gbXNnc3RyICJ6YWTDoW5hIG5lcGxhdG7DoSBob2Rub3RhIHBvemljZSDigJ4lc+KAnCIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJjaHJ0IC0gbWFuaXB1bGF0ZSByZWFsLXRpbWUgYXR0cmlidXRlcyBvZiBhIHByb2Nlc3MuXG4iCisjfiAiXG4iCisjfiAiU2V0IHBvbGljeTpcbiIKKyN+ICIgIGNocnQgW29wdGlvbnNdIDxwb2xpY3k+IDxwcmlvcml0eT4gezxwaWQ+IHwgPGNvbW1hbmQ+IFs8YXJnPiAuLi5dfVxuIgorI34gIlxuIgorI34gIkdldCBwb2xpY3k6XG4iCisjfiAiICBjaHJ0IFtvcHRpb25zXSB7PHBpZD4gfCA8Y29tbWFuZD4gWzxhcmc+IC4uLl19XG4iCisjfiAiXG4iCisjfiAiXG4iCisjfiAiU2NoZWR1bGluZyBwb2xpY2llczpcbiIKKyN+ICIgIC1iIHwgLS1iYXRjaCAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfQkFUQ0hcbiIKKyN+ICIgIC1mIHwgLS1maWZvICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfRklGT1xuIgorI34gIiAgLWkgfCAtLWlkbGUgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9JRExFXG4iCisjfiAiICAtbyB8IC0tb3RoZXIgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX09USEVSXG4iCisjfiAiICAtciB8IC0tcnIgICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX1JSIChkZWZhdWx0KVxuIgorI34gIlxuIgorI34gIlNjaGVkdWxpbmcgZmxhZ3M6XG4iCisjfiAiICAtUiB8IC0tcmVzZXQtb24tZm9yayBzZXQgU0NIRURfUkVTRVRfT05fRk9SSyBmb3IgRklGTyBvciBSUlxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscFxuIgorI34gIiAgLXAgfCAtLXBpZCAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKKyN+ICIgIC1tIHwgLS1tYXggICAgICAgICAgIHNob3cgbWluIGFuZCBtYXggdmFsaWQgcHJpb3JpdGllc1xuIgorI34gIiAgLXYgfCAtLXZlcmJvc2UgICAgICAgZGlzcGxheSBzdGF0dXMgaW5mb3JtYXRpb25cbiIKKyN+ICIgIC1WIHwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJjaHJ0wqDigJMgemFjaMOhesOtIHPCoHZsYXN0bm9zdG1pIHByb2Nlc3UgdMO9a2Fqw61jw61taSBzZSBwbMOhbm92w6Fuw60gdsKgcmXDoWxuw6ltIMSNYXNlLlxuIgorI34gIlxuIgorI34gIk5hc3RhdsOtIHBvbGl0aWt1OlxuIgorI34gIiAgY2hydCBbUMWYRVDDjU5BxIxFXSA8UE9MSVRJS0E+IDxQUklPUklUQT4gezxQSUQ+IHwgPFDFmMONS0FaPiBbPEFSR1VNRU5UPuKApl19XG4iCisjfiAiXG4iCisjfiAiWsOtc2vDoSBwb2xpdGlrdTpcbiIKKyN+ICIgIGNocnQgW1DFmEVQw41OQcSMRV0gezxQSUQ+IHwgPFDFmMONS0FaPiBbPEFSR1VNRU5UPuKApl19XG4iCisjfiAiXG4iCisjfiAiXG4iCisjfiAiUG9saXRpa3kgcGzDoW5vdsOhbsOtOlxuIgorI34gIiAgLWIgfCAtLWJhdGNoICAgICAgICAgbmFzdGF2w60gcG9saXRpa3UgbmEgU0NIRURfQkFUQ0ggKGTDoXZrYSlcbiIKKyN+ICIgIC1mIHwgLS1maWZvICAgICAgICAgIG5hc3RhdsOtIHBvbGl0aWt1IG5hIFNDSEVEX0ZJRk8gKGZyb250YSlcbiIKKyN+ICIgIC1pIHwgLS1pZGxlICAgICAgICAgIG5hc3RhdsOtIHBvbGl0aWt1IG5hIFNDSEVEX0lETEUgKHphaMOhbGVuw60pXG4iCisjfiAiICAtbyB8IC0tb3RoZXIgICAgICAgICBuYXN0YXbDrSBwb2xpdGlrdSBuYSBTQ0hFRF9PVEhFUiAoamluw6EpXG4iCisjfiAiICAtciB8IC0tcnIgICAgICAgICAgICBuYXN0YXbDrSBwb2xpdGlrdSBuYSBTQ0hFRF9SUiAoaW1wbGljaXRuw60pXG4iCisjfiAiXG4iCisjfiAiUMWZw616bmFreSBwbMOhbm92w6Fuw606XG4iCisjfiAiICAtUiB8IC0tcmVzZXQtb24tZm9yayB1wqBGSUZPIG5lYm8gUlIgbmFzdGF2w60gU0NIRURfUkVTRVRfT05fRk9SS1xuIgorI34gIlxuIgorI34gIlDFmWVww61uYcSNZTpcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgIHpvYnJhesOtIHR1dG8gbsOhcG92xJtkdVxuIgorI34gIiAgLXAgfCAtLXBpZCAgICAgICAgICAgcHJhY3VqZSBuYWQgZXhpc3R1asOtY8OtbSBwcm9jZXNlbSBzwqBQSURcbiIKKyN+ICIgIC1tIHwgLS1tYXggICAgICAgICAgIHpvYnJhesOtIG1pbmltw6FsbsOtIGEgbWF4aW3DoWxuw60gcGxhdG7DqSBwcmlvcml0eVxuIgorI34gIiAgLXYgfCAtLXZlcmJvc2UgICAgICAgem9icmF6w60gc3Rhdm92w6kgaW5mb3JtYWNlXG4iCisjfiAiICAtViB8IC0tdmVyc2lvbiAgICAgICB2eXDDrcWhZSBpbmZvcm1hY2Ugb8KgdmVyemlcbiIKKyN+ICJcbiIKKworIyBjdXJyZW50IHBvbGljeS9wcmlvcml0eQorI34gbXNnaWQgImN1cnJlbnQiCisjfiBtc2dzdHIgInNvdcSNYXNuw6EiCisKKyMgcGlkICVkJ3MgX25ld18gc2NoZWR1bGluZyBwb2xpY3kgCisjfiBtc2dpZCAibmV3IgorI34gbXNnc3RyICJub3bDoSIKKworI34gbXNnaWQgIkxpbnV4IGV4dDIiCisjfiBtc2dzdHIgIkxpbnV4IGV4dDIiCisKKyN+IG1zZ2lkICJMaW51eCBleHQzIgorI34gbXNnc3RyICJMaW51eCBleHQzIgorCisjfiBtc2dpZCAiTGludXggWEZTIgorI34gbXNnc3RyICJMaW51eCBYRlMiCisKKyN+IG1zZ2lkICJMaW51eCBKRlMiCisjfiBtc2dzdHIgIkxpbnV4IEpGUyIKKworI34gbXNnaWQgIkxpbnV4IFJlaXNlckZTIgorI34gbXNnc3RyICJMaW51eCBSZWlzZXJGUyIKKworI34gbXNnaWQgIk9TLzIgSFBGUyIKKyN+IG1zZ3N0ciAiT1MvMiBIUEZTIgorCisjfiBtc2dpZCAiT1MvMiBJRlMiCisjfiBtc2dzdHIgIk9TLzIgSUZTIgorCisjfiBtc2dpZCAiTlRGUyIKKyN+IG1zZ3N0ciAiTlRGUyIKKworI34gbXNnaWQgIm1vdW50OiBubyBtZWRpdW0gZm91bmQgb24gJXMgLi4udHJ5aW5nIGFnYWluXG4iCisjfiBtc2dzdHIgIm1vdW50OuKAr3bCoCVzIG5lbmFsZXplbm8gxb7DoWRuw6kgbcOpZGl1beKApsKgemtvdcWhw61tIHpub3Z1XG4iCisKKyN+IG1zZ2lkICJ1c2FnZSA6ICVzIC1hc21xIC10Y2x1cCBcbiIKKyN+IG1zZ3N0ciAiUG91xb5pdMOtOiAlcyAtYXNtcSAtdGNsdXAgXG4iCisKKyN+IG1zZ2lkICJcdCVzIFstcyAtbSAtcV0gLWkgaWRcbiIKKyN+IG1zZ3N0ciAiXHQlcyBbLXMgLW0gLXFdIC1pIGlkXG4iCisKKyN+IG1zZ2lkICJcdCVzIC1oIGZvciBoZWxwLlxuIgorI34gbXNnc3RyICJcdCVzIC1oIHBybyBuw6Fwb3bEm2R1LlxuIgorCisjfiBtc2dpZCAiIgorI34gIlJlc291cmNlIFNwZWNpZmljYXRpb246XG4iCisjfiAiXHQtbSA6IHNoYXJlZF9tZW1cbiIKKyN+ICJcdC1xIDogbWVzc2FnZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlphZMOhbsOtIHByb3N0xZllZGt1OlxuIgorI34gIlx0LW0gOiBzZMOtbGVuw6EgcGFtxJvFpVxuIgorI34gIlx0LXEgOiB6cHLDoXZ5XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXHQtcyA6IHNlbWFwaG9yZXNcbiIKKyN+ICJcdC1hIDogYWxsIChkZWZhdWx0KVxuIgorI34gbXNnc3RyICIiCisjfiAiXHQtcyA6IHNlbWFmb3J5XG4iCisjfiAiXHQtYSA6IHbFoWUgKGltcGxpY2l0bsOtKVxuIgorCisjfiBtc2dpZCAiIgorI34gIk91dHB1dCBGb3JtYXQ6XG4iCisjfiAiXHQtdCA6IHRpbWVcbiIKKyN+ICJcdC1wIDogcGlkXG4iCisjfiAiXHQtYyA6IGNyZWF0b3JcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlbDvXN0dXBuw60gZm9ybcOhdDpcbiIKKyN+ICJcdC10IDogxI1hc1xuIgorI34gIlx0LXAgOiBwaWRcbiIKKyN+ICJcdC1jIDogdHbFr3JjZVxuIgorCisjfiBtc2dpZCAiIgorI34gIlx0LWwgOiBsaW1pdHNcbiIKKyN+ICJcdC11IDogc3VtbWFyeVxuIgorI34gbXNnc3RyICIiCisjfiAiXHQtbCA6IG9tZXplbsOtXG4iCisjfiAiXHQtdSA6IHNocm51dMOtXG4iCisKKyN+IG1zZ2lkICJlcnJvcjogJXMiCisjfiBtc2dzdHIgImNoeWJhOiAlcyIKKworI34gbXNnaWQgImVycm9yIHBhcnNlOiAlcyIKKyN+IG1zZ3N0ciAiY2h5YmEgcMWZaSByb3plYsOtcsOhbsOtOiAlcyIKKworI34gbXNnaWQgImVycm9yOiAvc3lzIGZpbGVzeXN0ZW0gaXMgbm90IGFjY2Vzc2FibGUuIgorI34gbXNnc3RyICJjaHliYTogc291Ym9yb3bDvSBzeXN0w6ltIC9zeXMgbmVuw60gcMWZw61zdHVwbsO9LiIKKworI34gbXNnaWQgInVzYWdlOiByZGV2IFsgLXJ2IF0gWyAtbyBPRkZTRVQgXSBbIElNQUdFIFsgVkFMVUUgWyBPRkZTRVQgXSBdIF0iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogcmRldiBbIC1ydiBdIFsgLW8gUE9TVU4gXSBbIE9CUkFaIFsgSE9ETk9UQSBbIFBPU1VOIF0gXSBdIgorCisjfiBtc2dpZCAiICByZGV2IC9kZXYvZmQwICAob3IgcmRldiAvbGludXgsIGV0Yy4pIGRpc3BsYXlzIHRoZSBjdXJyZW50IFJPT1QgZGV2aWNlIgorI34gbXNnc3RyICIgIHJkZXYgL2Rldi9mZDAgICjEjWkgcmRldiAvbGludXgsIGV0Yy4pIHZ5cMOtxaFlIGFrdHXDoWxuw60gUk9PVCB6YcWZw616ZW7DrSIKKworI34gbXNnaWQgIiAgcmRldiAvZGV2L2ZkMCAvZGV2L2hkYTIgICAgICAgICBzZXRzIFJPT1QgdG8gL2Rldi9oZGEyIgorI34gbXNnc3RyICIgIHJkZXYgL2Rldi9mZDAgL2Rldi9oZGEyICAgICAgICAgbmFzdGF2w60gUk9PVCBuYSAvZGV2L2hkYTIiCisKKyN+IG1zZ2lkICIgIHJkZXYgLVIgL2Rldi9mZDAgMSAgICAgICAgICAgICAgc2V0IHRoZSBST09URkxBR1MgKHJlYWRvbmx5IHN0YXR1cykiCisjfiBtc2dzdHIgIiAgcmRldiAtUiAvZGV2L2ZkMCAxICAgICAgICAgICAgICBuYXN0YXbDrSBQxZjDjVpOQUtZIFJPT1QgKHBvdXplIHBybyDEjXRlbsOtKSIKKworI34gbXNnaWQgIiAgcmRldiAtciAvZGV2L2ZkMCA2MjcgICAgICAgICAgICBzZXQgdGhlIFJBTURJU0sgc2l6ZSIKKyN+IG1zZ3N0ciAiICByZGV2IC1yIC9kZXYvZmQwIDYyNyAgICAgICAgICAgIG5hc3RhdsOtIHZlbGlrb3N0IFJBTURJU0tVIgorCisjfiBtc2dpZCAiICByZGV2IC12IC9kZXYvZmQwIDEgICAgICAgICAgICAgIHNldCB0aGUgYm9vdHVwIFZJREVPTU9ERSIKKyN+IG1zZ3N0ciAiICByZGV2IC12IC9kZXYvZmQwIDEgICAgICAgICAgICAgIG5hc3RhdsOtIHN0YXJ0b3ZhY8OtIFZJREVPTcOTRCIKKworI34gbXNnaWQgIiAgcm9vdGZsYWdzIC4uLiAgICAgICAgICAgICAgICAgICBzYW1lIGFzIHJkZXYgLVIiCisjfiBtc2dzdHIgIiAgcm9vdCBwxZnDrXpuYWt5IC4uLiAgICAgICAgICAgICAgIHN0ZWpuw6kgamFrbyByZGV2IC1SIgorCisjfiBtc2dpZCAiICByYW1zaXplIC4uLiAgICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgcmRldiAtciIKKyN+IG1zZ3N0ciAiICB2ZWxpa29zdCByYW0gLi4uICAgICAgICAgICAgICAgIHN0ZWpuw6kgamFrbyByZGV2IC1yIgorCisjfiBtc2dpZCAiICB2aWRtb2RlIC4uLiAgICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgcmRldiAtdiIKKyN+IG1zZ3N0ciAiICB2aWRtw7NkIC4uLiAgICAgICAgICAgICAgICAgICAgICBzdGVqbsOpIGpha28gcmRldiAtdiIKKworI34gbXNnaWQgIk5vdGU6IHZpZGVvIG1vZGVzIGFyZTogLTM9QXNrLCAtMj1FeHRlbmRlZCwgLTE9Tm9ybWFsVmdhLCAxPWtleTEsIDI9a2V5MiwuLi4iCisjfiBtc2dzdHIgIlBvem7DoW1rYTogdmlkZW8gbcOzZHk6IC0zPUFzaywgLTI9RXh0ZW5kZWQsIC0xPU5vcm1hbFZnYSwgMT1rbMOhdjEsIDI9a2zDoXYyLC4uLiIKKworI34gbXNnaWQgIiAgICAgIHVzZSAtUiAxIHRvIG1vdW50IHJvb3QgcmVhZG9ubHksIC1SIDAgZm9yIHJlYWQvd3JpdGUuIgorI34gbXNnc3RyICIgICAgICAgICAgUG9tb2PDrSAtUiAxIHDFmWlwb2rDrXRlIHBvdXplIHBybyDEjXRlbsOtLCAtUiAwIHVtb8W+bsOtIHrDoXBpcy4iCisKKyN+IG1zZ2lkICJtaXNzaW5nIGNvbW1hIgorI34gbXNnc3RyICJjaHliw60gxI3DoXJrYSIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogZmRpc2sgWy1iIFNTWl0gWy11XSBESVNLICAgICBDaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiICAgICAgIGZkaXNrIC1sIFstYiBTU1pdIFstdV0gRElTSyAgTGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKKyN+ICIgICAgICAgZmRpc2sgLXMgUEFSVElUSU9OICAgICAgICAgICBHaXZlIHBhcnRpdGlvbiBzaXplKHMpIGluIGJsb2Nrc1xuIgorI34gIiAgICAgICBmZGlzayAtdiAgICAgICAgICAgICAgICAgICAgIEdpdmUgZmRpc2sgdmVyc2lvblxuIgorI34gIkhlcmUgRElTSyBpcyBzb21ldGhpbmcgbGlrZSAvZGV2L2hkYiBvciAvZGV2L3NkYVxuIgorI34gImFuZCBQQVJUSVRJT04gaXMgc29tZXRoaW5nIGxpa2UgL2Rldi9oZGE3XG4iCisjfiAiLXU6IGdpdmUgU3RhcnQgYW5kIEVuZCBpbiBzZWN0b3IgKGluc3RlYWQgb2YgY3lsaW5kZXIpIHVuaXRzXG4iCisjfiAiLWIgMjA0ODogKGZvciBjZXJ0YWluIE1PIGRpc2tzKSB1c2UgMjA0OC1ieXRlIHNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlBvdcW+aXTDrTogZmRpc2sgWy1iIFNTWl0gWy11XSBESVNLICAgICBabcSbbsOtIHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3VcbiIKKyN+ICIgICAgICAgICBmZGlzayAtbCBbLWIgU1NaXSBbLXVdIERJU0sgIFZ5cMOtxaFlIHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3VcbiIKKyN+ICIgICAgICAgICBmZGlzayAtcyBPRETDjUwgICAgICAgICAgICAgICBWeXDDrcWhZSB2ZWxpa29zdCBvZGTDrWx1XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2wqBibG9jw61jaFxuIgorI34gIiAgICAgICAgIGZkaXNrIC12ICAgICAgICAgICAgICAgICAgICAgVnlww63FoWUgaW5mb3JtYWNlIG8gdmVyemlcbiIKKyN+ICJESVNLIGplIG7Em2NvIGpha28gL2Rldi9oZGIgxI1pIC9kZXYvc2RhIGEgT0REw41MIGplIG7Em2NvIGpha28gL2Rldi9oZGE3XG4iCisjfiAiLXU6IHZyYWPDrSBaYcSNw6F0ZWsgYSBLb25lYyB2wqBzZWt0b3JlY2ggKG3DrXN0byBjeWxpbmRyZWNoKVxuIgorI34gIi1iIDIwNDg6IChwcm8gbsSba3RlcsOpIE1PIGplZG5vdGt5KSBwb3XFvmlqZSAyMDQ4YmFqdG92w6kgc2VrdG9yeVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiBmZGlzayBbLWxdIFstYiBTU1pdIFstdV0gZGV2aWNlXG4iCisjfiAiRS5nLjogZmRpc2sgL2Rldi9oZGEgIChmb3IgdGhlIGZpcnN0IElERSBkaXNrKVxuIgorI34gIiAgb3I6IGZkaXNrIC9kZXYvc2RjICAoZm9yIHRoZSB0aGlyZCBTQ1NJIGRpc2spXG4iCisjfiAiICBvcjogZmRpc2sgL2Rldi9lZGEgIChmb3IgdGhlIGZpcnN0IFBTLzIgRVNESSBkcml2ZSlcbiIKKyN+ICIgIG9yOiBmZGlzayAvZGV2L3JkL2MwZDAgIG9yOiBmZGlzayAvZGV2L2lkYS9jMGQwICAoZm9yIFJBSUQgZGV2aWNlcylcbiIKKyN+ICIgIC4uLlxuIgorI34gbXNnc3RyICIiCisjfiAiUG91xb5pdMOtOiBmZGlzayBbLWxdIFstYiBTU1pdIFstdV0gemHFmcOtemVuw61cbiIKKyN+ICJOYXDFmTogZmRpc2sgL2Rldi9oZGEgIChwcm8gcHJ2bsOtIElERSBkaXNrKVxuIgorI34gIiAgxI1pOiBmZGlzayAvZGV2L3NkYyAgKHBybyB0xZlldMOtIFNDU0kgZGlzaylcbiIKKyN+ICIgIMSNaTogZmRpc2sgL2Rldi9lZGEgIChwcm8gcHJ2bsOtIFBTLzIgRVNESSBkaXNrKVxuIgorI34gIiAgxI1pOiBmZGlzayAvZGV2L3JkL2MwZDAgIMSNaTogZmRpc2sgL2Rldi9pZGEvYzBkMCAgKHBybyBSQUlEIHphxZnDrXplbsOtKVxuIgorI34gIiAg4oCmXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVGhlIG51bWJlciBvZiBjeWxpbmRlcnMgZm9yIHRoaXMgZGlzayBpcyBzZXQgdG8gJWQuXG4iCisjfiAiVGhlcmUgaXMgbm90aGluZyB3cm9uZyB3aXRoIHRoYXQsIGJ1dCB0aGlzIGlzIGxhcmdlciB0aGFuIDEwMjQsXG4iCisjfiAiYW5kIGNvdWxkIGluIGNlcnRhaW4gc2V0dXBzIGNhdXNlIHByb2JsZW1zIHdpdGg6XG4iCisjfiAiMSkgc29mdHdhcmUgdGhhdCBydW5zIGF0IGJvb3QgdGltZSAoZS5nLiwgb2xkIHZlcnNpb25zIG9mIExJTE8pXG4iCisjfiAiMikgYm9vdGluZyBhbmQgcGFydGl0aW9uaW5nIHNvZnR3YXJlIGZyb20gb3RoZXIgT1NzXG4iCisjfiAiICAgKGUuZy4sIERPUyBGRElTSywgT1MvMiBGRElTSylcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBvxI1ldCBjeWxpbmRyxa8gdG9ob3RvIGRpc2t1IGplIG5hc3RhdmVuIG5hICVkLlxuIgorI34gIk5hIHRvbSBuZW7DrSBuaWMgxaFwYXRuw6lobywgYWxlIGplbGlrb8W+IGplIHRvIHbDrWNlIG5lxb4gMTAyNCxcbiIKKyN+ICJtxa/FvmUgemEgdXLEjWl0w71jaCBva29sbm9zdMOtIGRvasOtdCBrIHByb2Jsw6ltxa9tOlxuIgorI34gIjEpIHMgcHJvZ3JhbXkgc3BvdcWhdMSbbsO9bWkgcMWZaSBzdGFydHUgKG5hcMWZLiBzdGFyw6kgdmVyemUgTElMQSlcbiIKKyN+ICIyKSBzIHByb2dyYW15IHBybyBzcHLDoXZ1IGRpc2tvdsO9Y2ggb2Rkw61sxa8geiBqaW7DvWNoIE9TXG4iCisjfiAiICAgKG5hcMWZLiBET1MgRkRJU0ssIE9TLzIgRkRJU0spXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV0FSTklORzogVGhlIGRldmljZSBkb2VzIG5vdCBwcm92aWRlIGNvbXBlbnNhdGlvbiAoYWxpZ25tZW50X29mZnNldClcbiIKKyN+ICJmb3IgRE9TLWNvbXBhdGlibGUgcGFydGl0aW9uaW5nLCBidXQgRE9TLWNvbXBhdGlibGUgbW9kZSBpcyBlbmFibGVkLlxuIgorI34gIlVzZSBjb21tYW5kICdjJyB0byBzd2l0Y2gtb2ZmIERPUyBtb2RlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiUE9aT1I6IFphxZnDrXplbsOtIG5lcG9za3l0dWplIHZ5cm92bsOhbsOtIChhbGlnbm1lbnRfb2Zmc2V0KSBwxZlpIGTEm2xlbsOtIGRpc2t1XG4iCisjfiAicG9kbGUgRE9TdSwgYXbFoWFrIHJlxb5pbSBrb21wYXRpYmlsaXR5IHPCoERPU2VtIGplIHphcG51dC5cbiIKKyN+ICJQb3XFvmlqdGUgcMWZw61rYXog4oCeY+KAnCBuYSB2eXBudXTDrSByZcW+aW11IERPU3UuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogdGhlIGRldmljZSBwcm92aWRlcyBhbGlnbm1lbnRfb2Zmc2V0LCBidXQgdGhlIG9mZnNldCBkb2VzIG5vdFxuIgorI34gIm1hdGNoIHdpdGggZGV2aWNlIGdlb21ldHJ5LlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUE9aT1I6IFphxZnDrXplbsOtIHBvc2t5dHVqZSBhbGlnbm1lbnRfb2Zmc2V0ICh6YXJvdm7DoXZhY8OtIHBvc3VuKSwgYWxlIHBvc3VuXG4iCisjfiAibmVvZHBvdsOtZMOhIGdlb21ldHJpaSB6YcWZw616ZW7DrS5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiMgcGFydGl0aW9uIHRhYmxlIG9mICVzXG4iCisjfiBtc2dzdHIgIiMgdGFidWxrYSByb3pkxJtsZW7DrSBkaXNrdSBwcm8gJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJ1bml0OiBzZWN0b3JzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJqZWRub3RrYTogc2VrdG9yeVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIHN0YXJ0PSU5bHUiCisjfiBtc2dzdHIgIiB6YcSNw6F0ZWs9JTlsdSIKKworI34gbXNnaWQgIiwgYm9vdGFibGUiCisjfiBtc2dzdHIgIiwgc3RhcnRvdmFjw60iCisKKyN+IG1zZ2lkICJDbG9jayBpbiBVVEMsIG5vdCBjaGFuZ2VkLlxuIgorI34gbXNnc3RyICJIb2RpbnkgdsKgVVRDLCBuZXptxJtuxJtuby5cbiIKKworI34gbXNnaWQgIiVzOiBlcnJvcjogbGFiZWwgb25seSB3aXRoIHYxIHN3YXAgYXJlYVxuIgorI34gbXNnc3RyICIlczogY2h5YmE6IGptZW5vdmt1IGx6ZSBwb3XFvsOtdCBwb3V6ZSB1wqB2ZXJ6ZSAxXG4iCisKKyN+IG1zZ2lkICJmYXRhbDogZmlyc3QgcGFnZSB1bnJlYWRhYmxlIgorI34gbXNnc3RyICJuZXDFmWVrb25hdGVsbsOhIGNoeWJhOiBwcnZuw60gc3Ryw6Fua2EgamUgbmXEjWl0ZWxuw6EiCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IERldmljZSAnJXMnIGNvbnRhaW5zIGEgdmFsaWQgU3VuIGRpc2tsYWJlbC5cbiIKKyN+ICJUaGlzIHByb2JhYmx5IG1lYW5zIGNyZWF0aW5nIHYwIHN3YXAgd291bGQgZGVzdHJveSB5b3VyIHBhcnRpdGlvbiB0YWJsZS5cbiIKKyN+ICJObyBzd2FwIHdhcyBjcmVhdGVkLiBJZiB5b3UgcmVhbGx5IHdhbnQgdG8gY3JlYXRlIHYwIHN3YXAgb24gdGhhdCBkZXZpY2UsXG4iCisjfiAidXNlIHRoZSAtZiBvcHRpb24gdG8gZm9yY2UgaXQuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogWmHFmcOtemVuw60g4oCeJXPigJwgb2JzYWh1amUga29yZWt0bsOtIFN1biBwb3BpcyBkaXNrdS5cbiIKKyN+ICJUbyB6bmFtZW7DoSwgxb5lIHZ5dHZvxZllbsOtIG9ka2zDoWRhY8OtaG8gcHJvc3RvcnUgdjAgYnkgcHJhdmTEm3BvZG9ibsSbIHpuacSNaWxvXG4iCisjfiAidGFidWxrdSByb3pkxJtsZW7DrSBkaXNrdS4gT2RrbMOhZGFjw60gcHJvc3RvciBuZWJ5bCB2eXR2b8WZZW4uIFBva3VkIG9wcmF2ZHVcbiIKKyN+ICJjaGNldGUgbmEgdG9tdG8gemHFmcOtemVuw60gdnl0dm/FmWl0IG9ka2zDoWRhY8OtIHByb3N0b3IgdjAsIHZ5bnXFpXRlIHNpIHRvXG4iCisjfiAicMWZZXDDrW5hxI1lbSAtZi5cbiIKKworI34gbXNnaWQgIm5hbWVpOiBjb3VsZCBub3QgY2hkaXIgdG8gcm9vdCFcbiIKKyN+IG1zZ3N0ciAibmFtZWk6IGRvIGFkcmVzw6HFmWUgcm9vdCBuZWx6ZSBwxZllasOtdCFcbiIKKworI34gbXNnaWQgIm5hbWVpOiBjb3VsZCBub3Qgc3RhdCByb290IVxuIgorI34gbXNnc3RyICJuYW1laTogdm9sw6Fuw60gc3RhdCBwcm8gYWRyZXPDocWZIHJvb3Qgc2VsaGFsbyFcbiIKKworI34gbXNnaWQgIm5hbWVpOiBidWYgb3ZlcmZsb3dcbiIKKyN+IG1zZ3N0ciAibmFtZWk6IFDFmWV0ZcSNZW7DrSB2eXJvdm7DoXZhY8OtIHBhbcSbdGlcbiIKKworI34gbXNnaWQgIiA/IGNvdWxkIG5vdCBjaGRpciBpbnRvICVzIC0gJXMgKCVkKVxuIgorI34gbXNnc3RyICIgPyBkbyBhZHJlc8OhxZllICVzIG5lbHplIHDFmWVqw610IC0gJXMgKCVkKVxuIgorCisjfiBtc2dpZCAiID8gcHJvYmxlbXMgcmVhZGluZyBzeW1saW5rICVzIC0gJXMgKCVkKVxuIgorI34gbXNnc3RyICIgPyBwcm9ibMOpbXkgcMWZaSDEjXRlbsOtIHN5bWJvbGlja8OpaG8gb2RrYXp1ICVzIC0gJXMgKCVkKVxuIgorCisjfiBtc2dpZCAiICAqKiogRVhDRUVERUQgVU5JWCBMSU1JVCBPRiBTWU1MSU5LUyAqKipcbiIKKyN+IG1zZ3N0ciAiICAqKiogUMWYRUtST8SMRU4gVU5JWE9Ww50gTElNSVQgUFJPIFNZTUJPTElDS8OJIE9ES0FaWSAqKipcbiIKKworI34gbXNnaWQgIm5hbWVpOiB1bmtub3duIGZpbGUgdHlwZSAwJTA2byBvbiBmaWxlICVzXG4iCisjfiBtc2dzdHIgIm5hbWVpOiB0eXAgMCUwNm8gc291Ym9ydSAlcyBqZSBuZXpuw6Ftw71cbiIKKworI34gbXNnaWQgIm1vdW50OiBnb2luZyB0byBtb3VudCAlcyBieSAlc1xuIgorI34gbXNnc3RyICJtb3VudDogY2h5c3TDoW0gc2UgcMWZaXBvaml0ICVzIHBvZGxlICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gTEFCRUw9LCBubyBVVUlEPSwgZ29pbmcgdG8gbW91bnQgJXMgYnkgcGF0aFxuIgorI34gbXNnc3RyICJtb3VudDogxb7DoWRuw70gTEFCRUw9LCDFvsOhZG7DvSBVVUlEPSwgY2h5c3TDoW0gc2UgcMWZaXBvaml0ICVzIHBvZGxlIGNlc3R5XG4iCisKKyN+IG1zZ2lkICIlczogd2FpdHBpZDogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IHdhaXRwaWQ6ICVzXG4iCisKKyN+IG1zZ2lkICJjb3VsZCBub3QgdW1vdW50ICVzIC0gdHJ5aW5nICVzIGluc3RlYWRcbiIKKyN+IG1zZ3N0ciAiJXMgbmVsemUgb2Rwb2ppdCAtIHprb3XFocOtbSAlc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnNcbiIKKworI34gbXNnaWQgIiUtOHMgJS0xMHMgJS0yNi4yNHMgJS0yNi4yNHNcbiIKKyN+IG1zZ3N0ciAiJS04cyAlLTEwcyAlLTI2LjI0cyAlLTI2LjI0c1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKworI34gbXNnaWQgIiUtOHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKyN+IG1zZ3N0ciAiJS04cyAlLTEwcyAlLTIwcyAlLTIwcyAlLTIwc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnMgJS0xMnNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnMgJS0xMnNcbiIKKworI34gbXNnaWQgImNhbGxpbmcgb3Blbl90dHlcbiIKKyN+IG1zZ3N0ciAidm9sw6FtIG9wZW5fdHR5XG4iCisKKyN+IG1zZ2lkICJjYWxsaW5nIHRlcm1pb19pbml0XG4iCisjfiBtc2dzdHIgInZvbMOhbSB0ZXJtaW9faW5pdFxuIgorCisjfiBtc2dpZCAid3JpdGluZyBpbml0IHN0cmluZ1xuIgorI34gbXNnc3RyICJ6YXBpc3VqaSBpbmljaWFsaXphxI1uw60gxZlldMSbemVjXG4iCisKKyN+IG1zZ2lkICJiZWZvcmUgYXV0b2JhdWRcbiIKKyN+IG1zZ3N0ciAicMWZZWQgYXV0b2JhdWRcbiIKKworI34gbXNnaWQgIndhaXRpbmcgZm9yIGNyLWxmXG4iCisjfiBtc2dzdHIgIsSNZWvDoW0gbmEgY3ItbGZcbiIKKworI34gbXNnaWQgInJlYWRpbmcgbG9naW4gbmFtZVxuIgorI34gbXNnc3RyICLEjXR1IHDFmWlobGHFoW92YWPDrSBqbcOpbm9cbiIKKworI34gbXNnaWQgImFmdGVyIGdldG9wdCBsb29wXG4iCisjfiBtc2dzdHIgInBvIHpwcmFjb3bDoW7DrSBhcmd1bWVudMWvIHDFmcOta2F6b3bDqSDFmcOhZGt5XG4iCisKKyN+IG1zZ2lkICJleGl0aW5nIHBhcnNlYXJnc1xuIgorI34gbXNnc3RyICJvcG91xaF0w61tIGZ1bmtjaSBwYXJzZWFyZ3NcbiIKKworI34gbXNnaWQgImVudGVyZWQgcGFyc2Vfc3BlZWRzXG4iCisjfiBtc2dzdHIgInZzdHVwdWppIGRvIGZ1bmtjZSBwYXJzZV9zcGVlZHNcbiIKKworI34gbXNnaWQgImV4aXRpbmcgcGFyc2VzcGVlZHNcbiIKKyN+IG1zZ3N0ciAib3BvdcWhdMOtbSBmdW5rY2kgcGFyc2VzcGVlZHNcbiIKKworI34gbXNnaWQgIm9wZW4oMilcbiIKKyN+IG1zZ3N0ciAib3BlbigyKVxuIgorCisjfiBtc2dpZCAiZHVwaW5nXG4iCisjfiBtc2dzdHIgInZvbMOhbSBkdXBcbiIKKworI34gbXNnaWQgInRlcm1faW8gMlxuIgorI34gbXNnc3RyICJ0ZXJtX2lvIDJcbiIKKworI34gbXNnaWQgImNoZm46IFBBTSBGYWlsdXJlLCBhYm9ydGluZzogJXNcbiIKKyN+IG1zZ3N0ciAiY2hmbjogY2h5YmEgUEFNLCBrb27EjcOtbTogJXNcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IFwiJXNcIiBpcyBub3QgbGlzdGVkIGluIC9ldGMvc2hlbGxzXG4iCisjfiBtc2dzdHIgIlZhcm92w6Fuw606IOKAniVz4oCcIG5lbsOtIHYgL2V0Yy9zaGVsbHNcbiIKKworI34gbXNnaWQgIkNhbid0IHJlYWQgJXMsIGV4aXRpbmcuIgorI34gbXNnc3RyICIlcyBuZWx6ZSDEjcOtc3QsIGtvbsSNw61tLiIKKworI34gbXNnaWQgImxvZ2luOiBQQU0gRmFpbHVyZSwgYWJvcnRpbmc6ICVzXG4iCisjfiBtc2dzdHIgImxvZ2luOiBjaHliYSBQQU0sIGtvbsSNw61tOiAlc1xuIgorCisjfiBtc2dpZCAidGltZW91dCA9ICVkLCBxdWlldCA9ICVkLCByZWJvb3QgPSAlZFxuIgorI34gbXNnc3RyICLEjWFzb3bDvSBsaW1pdCA9ICVkLCBrbGlkID0gJWQsIHJlc3RhcnQgPSAlZFxuIgorCisjfiBtc2dpZCAiY291bGRuJ3QgcmVhZCAlcywgYW5kIGNhbm5vdCBpb2N0bCBkdW1wXG4iCisjfiBtc2dzdHIgIm5lbHplIMSNw61zdCAlcyBhIG5lbHplIHByb3bDqXN0IGR1bXAgcG9tb2PDrSB2b2zDoW7DrSBpb2N0bFxuIgorCisjfiBtc2dpZCAiLCBvZmZzZXQgJWxsZCIKKyN+IG1zZ3N0ciAiLCBvZHNhemVuw60gJSdsbGQiCisKKyN+IG1zZ2lkICIlczogY291bGQgbm90IGZpbmQgYW55IGRldmljZSAvZGV2L2xvb3AjIgorI34gbXNnc3RyICIlczogxb7DoWRuw6kgemHFmcOtemVuw60gL2Rldi9sb29wIyBuZWx6ZSBuYWzDqXp0IgorCisjfiBtc2dpZCAibW91bnQ6IGJhY2tncm91bmRpbmcgXCIlc1wiXG4iCisjfiBtc2dzdHIgIm1vdW50OiBwcmFjdWppIG5hIHBvemFkw60g4oCeJXPigJxcbiIKKworI34gbXNnaWQgIm1vdW50OiBnaXZpbmcgdXAgXCIlc1wiXG4iCisjfiBtc2dzdHIgIm1vdW50OiBrb27EjcOtbSDigJ4lc+KAnFxuIgorCisjfiBtc2dpZCAiIgorI34gInVzYWdlOiAlcyBbLWhWXVxuIgorI34gIiAgICAgICAlcyAtYSBbLWVdIFstdl1cbiIKKyN+ICIgICAgICAgJXMgWy12XSBbLXAgcHJpb3JpdHldIHNwZWNpYWx8TEFCRUw9dm9sdW1lX25hbWUgLi4uXG4iCisjfiAiICAgICAgICVzIFstc11cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlBvdcW+aXTDrTogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgICAlcyAtYSBbLWVdIFstdl1cbiIKKyN+ICIgICAgICAgICAlcyBbLXZdIFstcCBQUklPUklUQV0gWlZMw4HFoFROw41fU09VQk9SfExBQkVMPU7DgVpFVl9TVkFaS1XigKZcbiIKKyN+ICIgICAgICAgICAlcyBbLXNdXG4iCisKKyN+IG1zZ2lkICIiCisjfiAidXNhZ2U6ICVzIFstaFZdXG4iCisjfiAiICAgICAgICVzIC1hIFstdl1cbiIKKyN+ICIgICAgICAgJXMgWy12XSBzcGVjaWFsIC4uLlxuIgorI34gbXNnc3RyICIiCisjfiAiUG91xb5pdMOtOiAlcyBbLWhWXVxuIgorI34gIiAgICAgICAgICVzIC1hIFstdl1cbiIKKyN+ICIgICAgICAgICAlcyBbLXZdIFpWTMOBxaBUTsONX1NPVUJPUuKAplxuIgorCisjfiBtc2dpZCAiJXM6IGNhbm5vdCBjYW5vbmljYWxpemUgJXM6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiAlcyBuZWx6ZSBwxZlldsOpc3QgbmEga2Fub25pY2vDvSB0dmFyOiAlc1xuIgorCisjfiBtc2dpZCAidXNhZ2U6IHJlbmljZSBwcmlvcml0eSBbIFsgLXAgXSBwaWRzIF0gWyBbIC1nIF0gcGdycHMgXSBbIFsgLXUgXSB1c2VycyBdXG4iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogcmVuaWNlIHByaW9yaXRhIFsgWyAtcCBdIHBpZCBdIFtbIC1nIF0gcGdycCBdIFsgWyAtdSBdIHXFvml2YXRlbCBdXG4iCisKKyN+IG1zZ2lkICJcdC0lY1x0RW5hYmxlICVzXG4iCisjfiBtc2dzdHIgIlx0LSVjXHRQb3ZvbMOtICVzXG4iCisKKyN+IG1zZ2lkICJgJXMnOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIKKyN+IG1zZ3N0ciAi4oCeJXPigJw6IGNoeWJuw70gYWRyZXPDocWZOiDigJ4u4oCcIG5lbsOtIHBydm7DrVxuIgorCisjfiBtc2dpZCAiYCVzJzogYmFkIGRpcmVjdG9yeTogJy4uJyBpc24ndCBzZWNvbmRcbiIKKyN+IG1zZ3N0ciAi4oCeJXPigJw6IGNoeWJuw70gYWRyZXPDocWZOiDigJ4uLuKAnCBuZW7DrSBkcnVow71cbiIKKworI34gbXNnaWQgIkV4Y2VlZGVkIE1BWEVOVFJJRVMuICBSYWlzZSB0aGlzIHZhbHVlIGluIG1rY3JhbWZzLmMgYW5kIHJlY29tcGlsZS4gIEV4aXRpbmcuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQxZlla3JvxI1lbm8gTUFYRU5UUklFUy4gWnbEm3TFoWV0ZSB0dXRvIGhvZG5vdHUgdsKgbWtjcmFtZnMuYyBhIHpub3Z1IHDFmWVsb8W+dGUuXG4iCisjfiAiS29uxI3DrW0uXG4iCisKKyN+IG1zZ2lkICJBc3N1bWluZyBwYWdlcyBvZiBzaXplICVkIChub3QgJWQpXG4iCisjfiBtc2dzdHIgIlDFmWVkcG9rbMOhZMOhbSB2ZWxpa29zdCBzdHLDoW5layAlZCAobmlrb2xpdiAlZClcbiIKKworI34gbXNnaWQgIkF1dG9jb25maWd1cmUgZm91bmQgYSAlcyVzJXNcbiIKKyN+IG1zZ3N0ciAiQXV0b21hdGlja8OhIGtvbmZpZ3VyYWNlIG5hbGV6bGEgJXMlcyVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRHJpdmUgdHlwZVxuIgorI34gIiAgID8gICBhdXRvIGNvbmZpZ3VyZVxuIgorI34gIiAgIDAgICBjdXN0b20gKHdpdGggaGFyZHdhcmUgZGV0ZWN0ZWQgZGVmYXVsdHMpIgorI34gbXNnc3RyICIiCisjfiAiVHlwIGRpc2t1XG4iCisjfiAiICAgPyAgIGF1dG9tYXRpY2vDoSBrb25maWd1cmFjZVxuIgorI34gIiAgIDAgICB1xb5pdmF0ZWxza8OhIGtvbmZpZ3VyYWNlIChzIGRldGVrb3ZhbsO9bSBpbXBsaWNpdG7DrW0gbmFzdGF2ZW7DrW0pIgorCisjfiBtc2dpZCAiU2VsZWN0IHR5cGUgKD8gZm9yIGF1dG8sIDAgZm9yIGN1c3RvbSk6ICIKKyN+IG1zZ3N0ciAiWmFkZWp0ZSB0eXAgKD8gcHJvIGF1dG8sIDAgcHJvIHXFvml2YXRlbHNrw70pOiAiCisKKyN+IG1zZ2lkICJZb3UgbWF5IGNoYW5nZSBhbGwgdGhlIGRpc2sgcGFyYW1zIGZyb20gdGhlIHggbWVudSIKKyN+IG1zZ3N0ciAiVsWhZWNobnkgcGFyYW1ldHJ5IGRpc2t1IG3Fr8W+ZXRlIHptxJtuaXQgeiBuYWLDrWRreSB4IgorCisjfiBtc2dpZCAiMyw1XCIgZmxvcHB5IgorI34gbXNnc3RyICIzLDVcIiBwcnXFvm7DvSBkaXNrIgorCisjfiBtc2dpZCAiJXMgZnJvbSB1dGlsLWxpbnV4LSVzXG4iCisjfiBtc2dzdHIgIiVzIHogdXRpbC1saW51eC0lc1xuIgorCisjfiBtc2dpZCAiJXM6IGVycm9yOiB0aGUgbGFiZWwgJXMgb2NjdXJzIG9uIGJvdGggJXMgYW5kICVzXG4iCisjfiBtc2dzdHIgIiVzOiBjaHliYTogam1lbm92a2EgJXMgc2UgbmFjaMOhesOtIGphayBuYSAlcyB0YWsgacKgbmEgJXNcbiIKKworI34gbXNnaWQgIiVzOiBjb3VsZCBub3Qgb3BlbiAlcywgc28gVVVJRCBhbmQgTEFCRUwgY29udmVyc2lvbiBjYW5ub3QgYmUgZG9uZS5cbiIKKyN+IG1zZ3N0ciAiJXM6IG5lbHplIG90ZXbFmcOtdCAlcywgdGFrxb5lIGtvbnZlcnplIFVVSUQgYSBKTUVOT1ZFSyBuZWJ1ZGUgcHJvdmVkZW5hLlxuIgorCisjfiBtc2dpZCAiJXM6IGJhZCBVVUlEIgorI34gbXNnc3RyICIlczogY2h5Ym7DqSBVVUlEIgorCisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB3aXRoIG5mcyBtb3VudCB2ZXJzaW9uIDQsIHRyeWluZyAzLi5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGNoeWJhIHPCoHDFmWlwb2pvdsOhbsOtbSBORlMgdmVyemUgNCwgemtvdcWhw61tIHZlcnppIDPigKZcbiIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudGluZyAlc1xuIgorI34gbXNnc3RyICJtb3VudDogcMWZaXBvanVqaSAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIHdoaWxlIGd1ZXNzaW5nIGZpbGVzeXN0ZW0gdHlwZVxuIgorI34gbXNnc3RyICJtb3VudDogYsSbaGVtIGjDoWTDoW7DrSB0eXB1IHN5c3TDqW11IHNvdWJvcsWvIGRvxaFsbyBrwqBjaHlixJtcbiIKKworI34gbXNnaWQgIm1vdW50OiBleGNlc3NpdmVseSBsb25nIGhvc3Q6ZGlyIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIm1vdW50OiBwxZnDrWxpxaEgZGxvdWjDvSBhcmd1bWVudCBwcm8gcG/EjcOtdGHEjTphZHJlc8OhxZlcbiIKKworI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiBtdWx0aXBsZSBob3N0bmFtZXMgbm90IHN1cHBvcnRlZFxuIgorI34gbXNnc3RyICJtb3VudDogdmFyb3bDoW7DrTogdsOtY2Vuw6Fzb2Juw6kgbsOhenZ5IHBvxI3DrXRhxI3FryBuZWpzb3UgcG9kcG9yb3bDoW55XG4iCisKKyN+IG1zZ2lkICJtb3VudDogZGlyZWN0b3J5IHRvIG1vdW50IG5vdCBpbiBob3N0OmRpciBmb3JtYXRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGFkcmVzw6HFmSBwcm8gcMWZaXBvamVuw60gbmVuw60gdmUgdHZhcnUgcG/EjcOtdGHEjTphZHJlc8OhxZlcbiIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBnZXQgYWRkcmVzcyBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICBhZHJlc3UgJXMgbmVsemUgemppc3RpdFxuIgorCisjfiBtc2dpZCAibW91bnQ6IGdvdCBiYWQgaHAtPmhfbGVuZ3RoXG4iCisjfiBtc2dzdHIgIm1vdW50OiDFoXBhdG7DqSBocC0+aF9sZW5ndGhcbiIKKworI34gbXNnaWQgIm1vdW50OiBleGNlc3NpdmVseSBsb25nIG9wdGlvbiBhcmd1bWVudFxuIgorI34gbXNnc3RyICJtb3VudDogcMWZw61sacWhIGRsb3Vow70gYXJndW1lbnQgcHJvIHZvbGJ1XG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBVbnJlY29nbml6ZWQgcHJvdG89IG9wdGlvbi5cbiIKKyN+IG1zZ3N0ciAiVmFyb3bDoW7DrTogbmV6bsOhbcOhIHZvbGJhIHBybyBwcm90bz0uXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBPcHRpb24gbmFtbGVuIGlzIG5vdCBzdXBwb3J0ZWQuXG4iCisjfiBtc2dzdHIgIlZhcm92w6Fuw606IHZvbGJhIG5hbWxlbiBuZW7DrSBwb2Rwb3JvdsOhbmEuXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIG5mcyBtb3VudCBwYXJhbWV0ZXI6ICVzPSVkXG4iCisjfiBtc2dzdHIgInBhcmFtZXRyICVzPSVkIHBybyBwxZlpcG9qZW7DrSBuZnMgbmVuw60gem7DoW1cbiIKKworI34gbXNnaWQgInVua25vd24gbmZzIG1vdW50IG9wdGlvbjogJXMlc1xuIgorI34gbXNnc3RyICJ2b2xiYSAlcyVzIHBybyBwxZlpcG9qZW7DrSBuZnMgamUgbmV6bsOhbcOhXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ290IGJhZCBocC0+aF9sZW5ndGg/XG4iCisjfiBtc2dzdHIgIm1vdW50OiDFoXBhdG7DqSBocC0+aF9sZW5ndGg/XG4iCisKKyN+IG1zZ2lkICJuZnMgYmluZHJlc3Zwb3J0IgorI34gbXNnc3RyICJuZnMgYmluZHJlc3Zwb3J0IgorCisjfiBtc2dpZCAibmZzIHNlcnZlciByZXBvcnRlZCBzZXJ2aWNlIHVuYXZhaWxhYmxlIgorI34gbXNnc3RyICJ0YXRvIHNsdcW+YmEgamUgbmEgdG9tdG8gbmZzIHNlcnZlcnUgbmVkb3N0dXBuw6EiCisKKyN+IG1zZ2lkICJ1c2VkIHBvcnRtYXBwZXIgdG8gZmluZCBORlMgcG9ydFxuIgorI34gbXNnc3RyICJwcm8gbmFsZXplbsOtIE5GUyBwb3J0dSBqc2VtIHBvdcW+aWwgcG9ydG1hcHBlclxuIgorCisjfiBtc2dpZCAidXNpbmcgcG9ydCAlZCBmb3IgbmZzIGRlYW1vblxuIgorI34gbXNnc3RyICJwb3XFvsOtdsOhbSBwb3J0ICVkIHBybyBuZnMgc2VydmVyXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIG5mcyBzdGF0dXMgcmV0dXJuIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAibsOhdnJhdG92w6EgaG9kbm90YSBuZnMgc3RhdHVzICVkIGplIG5lem7DoW3DoSIKKworI34gbXNnaWQgImhvc3Q6ICVzLCBkaXJlY3Rvcnk6ICVzXG4iCisjfiBtc2dzdHIgInBvxI3DrXRhxI06ICVzLCBhZHJlc8OhxZk6ICVzXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbid0IGdldCBhZGRyZXNzIGZvciAlc1xuIgorI34gbXNnc3RyICJ1bW91bnQ6IGFkcmVzdSAlcyBuZWx6ZSB6amlzdGl0XG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGdvdCBiYWQgaG9zdHAtPmhfbGVuZ3RoXG4iCisjfiBtc2dzdHIgInVtb3VudDogY2h5Ym7DoSBob2Rub3RhIGhvc3RwLT5oX2xlbmd0aFxuIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXMiCisjfiBtc2dzdHIgIiVzIG5lbHplIG90ZXbFmcOtdCIKKworI34gbXNnaWQgIkxvb3AgZGV2aWNlIGlzICVzXG4iCisjfiBtc2dzdHIgIkxvb3AgemHFmcOtemVuw60gamUgJXNcbiIKKworI34gbXNnaWQgIm9wZW4gb2YgZGlyZWN0b3J5IGZhaWxlZFxuIgorI34gbXNnc3RyICJhZHJlc8OhxZkgbmVsemUgb3RldsWZw610XG4iCisKKyN+IG1zZ2lkICJUb28gc21hbGwgcGFydGl0aW9uIHNpemUgc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAiWmFkw6FuYSBwxZnDrWxpxaEgbWFsw6EgdmVsaWtvc3Qgb2Rkw61sdS4iCisKKyN+IG1zZ2lkICJmYWlsZCB0byBhbGxvY2F0ZSBpdGVyYXRvciIKKyN+IG1zZ3N0ciAiYWxva2FjZSBpdGVyw6F0b3J1IHNlbGhhbGEiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbjogJXMiCisjfiBtc2dzdHIgIm5lbHplIG90ZXbFmcOtdDogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgPHN0YXJ0PiAgYmVnaW4gb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLiBUaGUgZGVmYXVsdCBpcyB0aGUgZmlyc3RcbiIKKyN+ICIgICAgICAgICAgICBmcmVlIHNwYWNlLlxuIgorI34gbXNnc3RyICIgICA8emHEjcOhdGVrPiAgICAgIHphxI3DoXRlayBvZGTDrWx1IHbCoHNla3RvcmVjaC4gVsO9Y2hvesOtIGplIHBydm7DrSB2b2xuw6kgbcOtc3RvLlxuIgorCisjfiBtc2dpZCAiICAgICAtLXJmYzU0MjRbPTxub3RpbWUsbm90cSxub2hvc3Q+XVxuIgorI34gbXNnc3RyICIgICAgIC0tcmZjNTQyNFs9PG5vdGltZSxub3RxLG5vaG9zdD5dXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiU2V0cyBvciBnZXRzIHRoZSBJTyBzY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eSBvZiBwcm9jZXNzZXMuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJOYXN0YXbDrSBuZWJvIHpqaXN0w60gcGzDoW5vdmFjw60gSS9PIHTFmcOtZHUgYSBwcmlvcml0dSBwcm9jZXN1LlxuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGlzIG5vdCBjb250YWluZWQgaW4gcGFydGl0aW9uICVzIgorI34gbXNnc3RyICJQb3pvcjogb2Rkw61sICVzIG5lbsOtIG9ic2HFvmVuIHbCoG9kZMOtbHUgJXMiCisKKyN+IG1zZ2lkICJUeXBlIG9mIHRoZSBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCisjfiBtc2dzdHIgIkRydWggb2Rkw61sdSAlenUgamUgbmV6bcSbbsSbbi4iCmRpZmYgLS1naXQgYS9wby9kYS5wbyBiL3BvL2RhLnBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5ZTA0NWEKLS0tIC9kZXYvbnVsbAorKysgYi9wby9kYS5wbwpAQCAtMCwwICsxLDE5MzEwIEBACisjIERhbmlzaCB0cmFuc2xhdGlvbiB1dGlsLWxpbnV4LgorIyBDb3B5cmlnaHQgKEMpIDIwMTUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIG9nIG5lZGVuc3TDpWVuZGUgb3ZlcnPDpnR0ZXJlLgorIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgdXRpbC1saW51eCBwYWNrYWdlLgorIyBDbGF1cyBTw7hyZW5zZW4gPGNzQGtsaWQuZGs+LCAyMDAwLgorIyBLZWxkIErDuHJuIFNpbW9uc2VuIDxrZWxkQGRrdXVnLmRrPiwgMjAwMC4KKyMgQ2xhdXMgSGluZHNnYXVsIDxjbGF1c19oQGltYWdlLmRrPiwgMjAwMS0yMDAyLCAyMDA0LCAyMDA1LgorIyBKb2UgSGFuc2VuIDxqb2VkYWx0b24yQHlhaG9vLmRrPiwgMjAxMCwgMjAxMSwgMjAxMiwgMjAxMywgMjAxNCwgMjAxNSwgMjAxNi4KKyMKKyMgYWRyZXNzZSBzcGFjZSAtPiBhZHJlc3NlcnVtIChldnQuIGFkcmVzc2VwbGFkcykKKyMgYWxsb2MgLT4gYWxsb2tlcmUgKHRpbGRlbGUpCisjIGFyZ3VtZW50IC0+IHBhcmFtZXRlcgorIyBiYWNraW5nIGZpbGUgLT4gcmVzZXJ2ZWZpbAorIyBibGFuayAtPiB0b20gKG1lbiBtZWdldCB1c2lra2VyIGhlcikKKyMgYm9ndXMgLT4gYm9ndXMgKGt1bm5lIG3DpXNrZSBnb2R0IHbDpnJlIHZyw7h2bGUpCisjIGJvdW5kaW5nIC0+IG9tZ2l2ZW5kZQorIyBidWZmZXIgLT4gbWVsbGVtbGFnZXIKKyMgY2FwYWJpbGl0eSAtPiBldm5lIChub2dsZSBiZWRyZSBmb3JzbGFnPykKKyMgZGVjb21wcmVzc2lvbiAtPiBkZWtvbXByaW1lcmluZworIyBkZXByZWNhdGVkIC0+IGZvcsOmbGRldAorIyBkZXNjcmlwdG9yIC0+IGJlc2tyaXZlbHNlCisjIGRldGFjaCAtPiBhZmtvYmwKKyMgZGlyZWN0b3J5IC0+IG1hcHBlCisjIGRpdmlzb3IgLT4gbsOmdm5lcgorIyBkcmlmdCBmYWN0b3IgLT4gaGFzdGlnaGVkc2Zha3RvcgorIyBlcG9jaCAtPiBlcG9rZQorIyBmYWlsZWQgLT4gbWlzbHlra2VkZXMKKyMgZmxhZyAtPiBmbGFnCisjIGdldCAtPiBpbmRoZW50ZSAoYWx0ZXJuYXRpdmVyOiBmaW5kZSwgZsOlKQorIyBIYXJkd2FyZSBDbG9jayAtPiBtYXNraW51cmV0ICh1ZHN0eXJzdXJldCkKKyMgaGliZXJuYXRpb24gLT4gZHZhbGUKKyMgaG90LXBsdWdnYWJsZSAtPiA/IChiZW3DpnJrIGVuZ2Vsc2sgaGFyIGhlbGxlciBpa2tlIGhlbHQgc3R5ciBww6UgZGVuLCBlciBiw6VkZSBtZWQgb2cgdWRlbiBiaW5kZXN0cmVnKQorIyBJRCAtPiBpZAorIyBpbXBsaWVzIC0+IG1lZGbDuHJlcgorIyBpbml0cmFtZnMgLT4gZXQgaW5pdHJhbWZzIChkYSBldCBmaWxzeXN0ZW0pCisjIGlub2RlIC0+IGlub2RlIChlbiBpbm9kZSBlciBub2dldCBzb20gYWxsZSBmaWxlciBww6UgZXh0MyBvZyBsaWduZW5kZSAKKyMgICAgICAgICAgICAgICAgIGZpbHN5c3RlbWVyIGhhci4gRGV0IGFuZ2l2ZXIgdmlzdCBldCBsb2dpc2sgc3RlZCBww6UgCisjICAgICAgICAgICAgICAgICBkaXNrZW4gaHZvciBkZW4gbGlnZ2VyKSBGbGVydGFsIGlub2RlcgorIyBsYWJlbCAtPiBldGlrZXQgKG3DpnJrZSAoYnJ1Z2VzIGZvciB0YWcpLCBtw6Zya2F0KQorIyBsaW5rIC0+IGhlbnZpc25pbmcgKGzDpm5rZSkKKyMgbG9vcCAtPiBsb29wIChrdW5uZSBvZ3PDpSB2w6ZyZSBsw7hra2UpCisjIGxvb3BkZXYgLT4gbMO4a2tlZW5oZWQgKGVyIGVuIGZvcmtvcnRlbHNlIGZvciBsw7hra2VlbmhlZCkKKyMgbWF4IC0+IG1ha3MuIChodXNrIHB1bmt0dW1tZXQpCisjIG1hcGZpbGUsIG1hcCBmaWxlIC0+IGFmYmlsZG5pbmdzZmlsCisjIHBhcnNlIC0+IGZvcnRvbGtlCisjIHBvbGljeSAtPiBwb2xpdGlrIChyZXRuaW5nc2xpbmplKQorIyBwcm9iZXIgLT4gdGVzdHByb2dyYW0KKyMgcmVhZC13cml0ZSAtPiBsw6ZzL3Nrcml2ICAobcOlc2tlIGzDpnNiYXIvc2tyaXZiYXIpCisjIHJlc2lkZW50IC0+IGhqZW1tZWjDuHJlbmRlCisjIHNhdmUgZmlsZSAtPiByZWRuaW5nc2ZpbCAoa3VubmUgb2dzw6UgdsOmcmUgZ2VtbWVmaWwpCisjIHNlbWFwaG9yZSAtPiBzZW1hZm9yIChzaWduYWxtYXN0KQorIyBzZXQgLT4gYW5naXYKKyMgc2xlZXAgLT4gZHZhbGUgKG3DpXNrZSBwcm9ibGVtIHNlIGhpYmVybmF0aW9uKQorIyBTR0kgdm9saGRyIC0+IFNHSSB2b2xoZHIgKHZhciB0aWRsaWdlcmUgU0dJIGJuZGh2ZCwga3VubmUgb2dzw6UgdsOmcmUgZHNraGRyKQorIyBzdGF0IC0+IHN0YXQgKHN0YXQgKFVuaXgpLCBhIHN5c3RlbSBjYWxsIG9uIFBPU0lYIGFuZCBVbml4LWxpa2Ugc3lzdGVtcykKKyMgc3VtbWFyeSAtPiByZWZlcmF0CisjIHN1c3BlbmQgLT4gaHZpbGUKKyMgdGFnIC0+IG3DpnJrZQorIyB0cmF5IC0+IHNrdWZmZSAodmVkIGNkLXJvbSkKKyMgdW5jb21wcmVzc2luZyAtPiB1ZHBha2tlciAoc2UgZGVjb21wcmVzc2lvbikKKyMgVVRDIC0+IEdNVCAKKyMgICAgICAgKFVUQyAob2dzw6Uga2FsZGV0IHp1bHV0aWQpIGVyIGRlbiBpbnRlcm5hdGlvbmFsZSB0aWRzem9uZSwgc29tIChuw6ZzdGVuKSAKKyMgICAgICAgIGVyIGRldCBzYW1tZSBzb20gR3JlZW53aWNoIE1lYW4gVGltZS4gVGlkc2ZvcnNrZWxsZW4gbWVsbGVtIGRhbnNrIHRpZCAKKyMgICAgICAgIG9nIFVUQyBlciBwbHVzIMOpbiB0aW1lIHZlZCBub3JtYWx0aWQgb2cgcGx1cyB0byB0aW1lciB2ZWQgc29tbWVydGlkLgorIyAgICAgICAgQnJ1Z2VzIG9mdGUgc29tIHN5bm9ueW1lci4gRGV0dGUgdGlsIHRyb2RzIGZvciwgYXQgVVRDIG9nIEdNVCBrYW4gYWZ2aWdlCisjICAgICAgICBmw6UgdGllbmRlZGVsZSBhZiBldCBzZWt1bmQgZnJhIGhpbmFuZGVuIHDDpSBncnVuZCBhZiBKb3JkZW5zIHVyZWdlbG3DpnNzaWdlCisjICAgICAgICByb3RhdGlvbnNoYXN0aWdoZWQuCisjIHZlcmJvc2Ugb3V0cHV0IC0+IHVkZHliZW5kZSB0aWxzdGFuZAorIyB2b2x1bWUgLT4gZGlza2VuaGVkIChiaW5kLCBhcmtpdiwgZGlza29tcsOlZGUpCisjIHdha2V1cCAtPiBvcHbDpWduaW5nCisjIHdob2xlIGRpc2sgLT4gaGVsZSBkaXNrZW4KKyMgIiIsICcnIC0+IMK7wqsKKyMKK21zZ2lkICIiCittc2dzdHIgIiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IHV0aWwtbGludXgtMi4yOS1yYzJcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogdXRpbC1saW51eEB2Z2VyLmtlcm5lbC5vcmdcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNy0wMi0yMiAxMjozMiswMTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxNi0xMS0xNSAxOTozMCswMTowMFxuIgorIkxhc3QtVHJhbnNsYXRvcjogSm9lIEhhbnNlbiA8am9lZGFsdG9uMkB5YWhvby5kaz5cbiIKKyJMYW5ndWFnZS1UZWFtOiBEYW5pc2ggPGRhbnNrQGRhbnNrLWdydXBwZW4uZGs+XG4iCisiTGFuZ3VhZ2U6IGRhXG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisiWC1CdWdzOiBSZXBvcnQgdHJhbnNsYXRpb24gZXJyb3JzIHRvIHRoZSBMYW5ndWFnZS1UZWFtIGFkZHJlc3MuXG4iCisiUGx1cmFsLUZvcm1zOiAgbnBsdXJhbHM9MjsgcGx1cmFsPShuICE9IDEpO1xuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPHN0YXJ0PiA8bGVuZ3RoPlxuIgorbXNnc3RyICIgJXMgPGRpc2tlbmhlZD4gPHBhcnRpdGlvbnNudW1tZXI+IDxzdGFydD4gPGzDpm5nZGU+XG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE4Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBleGlzdGVuY2Ugb2YgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICJGb3J0w6ZsIGtlcm5lbiBvbSBla3Npc3RlbnNlbiBhZiBlbiBzcGVjaWZpY2VyZXQgcGFydGl0aW9uLlxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1NiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mjc2IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0MjAKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NDYgZGlzay11dGlscy9jZmRpc2suYzoyNjM0IGRpc2stdXRpbHMvZGVscGFydC5jOjU3CisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI3IGRpc2stdXRpbHMvZmRpc2suYzo3MTggZGlzay11dGlscy9mZGlzay5jOjk5NAorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzAxIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM0MQorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzYwIGRpc2stdXRpbHMvZnNjay5jOjE0NDgKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTUgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxMAorIzogZGlzay11dGlscy9pc29zaXplLmM6MTM0IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODkKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNzMgZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2MQorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4OCBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTkKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjE1IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ0IGRpc2stdXRpbHMvcGFydHguYzo5OTQKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwMSBkaXNrLXV0aWxzL3NmZGlzay5jOjY0NyBkaXNrLXV0aWxzL3NmZGlzay5jOjcwMworIzogZGlzay11dGlscy9zZmRpc2suYzo3NTcgZGlzay11dGlscy9zZmRpc2suYzo4MTYgZGlzay11dGlscy9zZmRpc2suYzo4ODAKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTIxIGRpc2stdXRpbHMvc2ZkaXNrLmM6OTUxIGRpc2stdXRpbHMvc2ZkaXNrLmM6OTg4CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MzcgZGlzay11dGlscy9zd2FwbGFiZWwuYzo2MCBsaWJmZGlzay9zcmMvYnNkLmM6NjQxCisjOiBsaWIvcGF0aC5jOjcwIGxpYi9wYXRoLmM6ODIgbG9naW4tdXRpbHMvaXNsb2NhbC5jOjg3IGxvZ2luLXV0aWxzL2xhc3QuYzo2NzIKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NDYgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ4MworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzYgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNTkKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzgxIGxvZ2luLXV0aWxzL3ZpcHcuYzoyNTggbG9naW4tdXRpbHMvdmlwdy5jOjI3NgorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5NyBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODggbWlzYy11dGlscy9tY29va2llLmM6MTE1CisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjA3IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTgzIHN5cy11dGlscy9kbWVzZy5jOjUyMgorIzogc3lzLXV0aWxzL2VqZWN0LmM6NTAwIHN5cy11dGlscy9lamVjdC5jOjcwMCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzc0CisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjggc3lzLXV0aWxzL2ZzdHJpbS5jOjcyIHN5cy11dGlscy9od2Nsb2NrLmM6MjgyCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjM4IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE2MgorIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjU2IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQwMQorIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDIyIHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ2OQorIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzg4IHN5cy11dGlscy9uc2VudGVyLmM6MTI4IHN5cy11dGlscy9ydGN3YWtlLmM6MTM2CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI3MCBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzMCBzeXMtdXRpbHMvc2V0cHJpdi5jOjUyOQorIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NTIgc3lzLXV0aWxzL3N3YXBvbi5jOjM3MSBzeXMtdXRpbHMvc3dhcG9uLmM6NTE0CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjMgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMDYgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjEKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMyMSBzeXMtdXRpbHMvd2RjdGwuYzozNzcgdGVybS11dGlscy9hZ2V0dHkuYzoyNjE4CisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMjcgdGVybS11dGlscy9zY3JpcHQuYzo0MjUgdGVybS11dGlscy9zY3JpcHQuYzo0MzEKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDMzIHRlcm0tdXRpbHMvc2NyaXB0LmM6NTIyCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE5NyB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIwMAorIzogdGVybS11dGlscy93YWxsLmM6MzMxIHRleHQtdXRpbHMvY29sY3J0LmM6MjgyIHRleHQtdXRpbHMvbW9yZS5jOjUxMworIzogdGV4dC11dGlscy9yZXYuYzoxNDEgdGV4dC11dGlscy90YWlsZi5jOjY4IHRleHQtdXRpbHMvdGFpbGYuYzoxMDAKKyM6IHRleHQtdXRpbHMvdWwuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXMiCittc2dzdHIgImt1bm5lIGlra2Ugw6VibmUgJXMiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjU5IGRpc2stdXRpbHMvZGVscGFydC5jOjYwIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjk4Cittc2dpZCAiaW52YWxpZCBwYXJ0aXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICJ1Z3lsZGlnIHBhcmFtZXRlciBmb3IgcGFydGl0aW9uc251bW1lciIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjAKK21zZ2lkICJpbnZhbGlkIHN0YXJ0IGFyZ3VtZW50IgorbXNnc3RyICJ1Z3lsZGlnIHN0YXJ0cGFyYW1ldGVyIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MSBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDgKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIKK21zZ3N0ciAidWd5bGRpZyBsw6ZuZ2RlcGFyYW1ldGVyIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MgorbXNnaWQgImZhaWxlZCB0byBhZGQgcGFydGl0aW9uIgorbXNnc3RyICJrdW5uZSBpa2tlIHRpbGbDuGplIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjYzCittc2dpZCAic2V0IHJlYWQtb25seSIKK21zZ3N0ciAiYW5naXYgc2tyaXZlYmVza3l0dGV0IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzAKK21zZ2lkICJzZXQgcmVhZC13cml0ZSIKK21zZ3N0ciAiYW5naXYgbMOmcy9za3JpdiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjc2Cittc2dpZCAiZ2V0IHJlYWQtb25seSIKK21zZ3N0ciAiZmluZCBza3JpdmViZXNreXR0ZXQiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4MgorbXNnaWQgImdldCBkaXNjYXJkIHplcm9lcyBzdXBwb3J0IHN0YXR1cyIKK21zZ3N0ciAiZmluZCB1bmRlcnN0w7h0dGVsc2Vzc3RhdHVzIGZvciBmamVybiBudWxsZXIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4OAorbXNnaWQgImdldCBsb2dpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgImZpbmQgbG9naXNrIGJsb2tzdMO4cnJlbHNlIChzZWt0b3JzdMO4cnJlbHNlKSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjk0Cittc2dpZCAiZ2V0IHBoeXNpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgImZpbmQgZnlzaXNrIGJsb2tzdMO4cnJlbHNlIChzZWt0b3JzdMO4cnJlbHNlKSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwMAorbXNnaWQgImdldCBtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICJmaW5kIG1pbmltYWwgSS9PLXN0w7hycmVsc2UiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDYKK21zZ2lkICJnZXQgb3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAiZmluZCBvcHRpbWFsIEkvTy1zdMO4cnJlbHNlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTEyCittc2dpZCAiZ2V0IGFsaWdubWVudCBvZmZzZXQgaW4gYnl0ZXMiCittc2dzdHIgImZpbmQganVzdGVyaW5nc2ZvcnNreWRuaW5nIGkgYnl0ZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExOAorbXNnaWQgImdldCBtYXggc2VjdG9ycyBwZXIgcmVxdWVzdCIKK21zZ3N0ciAiZmluZCBtYWtzLiBzZWt0b3JlciBwZXIgZm9yZXNww7hyZ3NlbCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEyNAorbXNnaWQgImdldCBibG9ja3NpemUiCittc2dzdHIgImZpbmQgYmxva3N0w7hycmVsc2UiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzEKK21zZ2lkICJzZXQgYmxvY2tzaXplIG9uIGZpbGUgZGVzY3JpcHRvciBvcGVuaW5nIHRoZSBibG9jayBkZXZpY2UiCittc2dzdHIgImFuZ2l2IGJsb2tzdMO4cnJlbHNlIHDDpSBmaWxiZXNrcml2ZXIgZGVyIMOlYm5lciBibG9rZW5oZWRlbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzNworbXNnaWQgImdldCAzMi1iaXQgc2VjdG9yIGNvdW50IChkZXByZWNhdGVkLCB1c2UgLS1nZXRzeikiCittc2dzdHIgImZpbmQgMzItYml0IHNla3RvcmFudGFsIChmb3LDpmxkZXQsIGJydWcgLS1nZXRzeikiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNDMKK21zZ2lkICJnZXQgc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAiZmluZCBzdMO4cnJlbHNlIGkgYnl0ZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1MAorbXNnaWQgInNldCByZWFkYWhlYWQiCittc2dzdHIgImFuZ2l2IGZyZW1sw6ZzbmluZyAowrtyZWFkYWhlYWTCqykiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTYKK21zZ2lkICJnZXQgcmVhZGFoZWFkIgorbXNnc3RyICJmaW5kIGZyZW1sw6ZzbmluZyAowrtyZWFkYWhlYWTCqykiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjMKK21zZ2lkICJzZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgImFuZ2l2IGZyZW1sw6ZzbmluZyBmb3IgZmlsc3lzdGVtICjCu3JlYWRhaGVhZMKrKSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2OQorbXNnaWQgImdldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAiZmluZCBmcmVtbMOmc25pbmcgZm9yIGZpbHN5c3RlbSAowrtyZWFkYWhlYWTCqykiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzMKK21zZ2lkICJmbHVzaCBidWZmZXJzIgorbXNnc3RyICJ0w7htIG1lbGxlbWxhZ3JlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTc3Cittc2dpZCAicmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiZ2VubMOmcyBwYXJ0aXRpb25zdGFiZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlMSRzIC1WXG4iCisiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisiXG4iCisiQXZhaWxhYmxlIGNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisiXG4iCisiQnJ1ZzpcbiIKKyIgJTEkcyAtVlxuIgorIiAlMSRzIC0tcmVwb3J0IFtlbmhlZGVyXVxuIgorIiAlMSRzIFstdnwtcV0ga29tbWFuZGVyZXIgZW5oZWRlclxuIgorIlxuIgorIlRpbGfDpm5nZWxpZ2Uga29tbWFuZG9lcjpcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgJS0yNXMgZ2V0IHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9yc1xuIgorbXNnc3RyICIgJS0yNXMgZmluZCBzdMO4cnJlbHNlIGkgNTEyLWJ5dGUgc2VrdG9yZXJcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMxMQorbXNnaWQgImNvdWxkIG5vdCBnZXQgZGV2aWNlIHNpemUiCittc2dzdHIgImt1bm5lIGlra2UgZmluZGUgZW5oZWRzc3TDuHJyZWxzZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGNvbW1hbmQ6ICVzIgorbXNnc3RyICJVa2VuZHQga29tbWFuZG86ICVzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICIlcyBrcsOmdmVyIGVuIHBhcmFtZXRlciIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM2OCBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGVycm9yIG9uICVzIgorbXNnc3RyICJpb2N0bC1mZWpsIHDDpSAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQuXG4iCittc2dzdHIgIiVzIG1pc2x5a2tlZGVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiJXMgbHlra2VkZXMuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIHN5c2ZzIGhhbmRsZXIiCittc2dzdHIgIiVzOiBrdW5uZSBpa2tlIGluaXRpYWxpc2VyZSBzeXNmcy1ow6VuZHRlcmluZyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHN0YXJ0IGZyb20gc3lzZnMiCittc2dzdHIgIiVzOiBrdW5uZSBpa2tlIGzDpnNlIHBhcnRpdGlvbnNzdGFydCBmcmEgc3lzZnMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk8gICAgUkEgICBTU1ogICBCU1ogICBTdGFydFNlYyAgICAgICAgICAgIFNpemUgICBEZXZpY2VcbiIKK21zZ3N0ciAiUk8gICAgUkEgICBTU1QgICBCU1QgICBTdGFydFNla3QgICAgICAgICAgIFN0w7hyci4gIEVuaGVkXG4iCisKKyMgIk9wc3RhcnRiYXIiCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3OQorbXNnaWQgIkJvb3RhYmxlIgorbXNnc3RyICJPcHN0YXJ0c2ZsYWciCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTc5Cittc2dpZCAiVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJTa2lmdCBvcHN0YXJ0c2ZsYWdldCBmb3IgZGVuIGFrdHVlbGxlIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODAKK21zZ2lkICJEZWxldGUiCittc2dzdHIgIlNsZXQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgwCittc2dpZCAiRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiU2xldCBkZW4gYWt0dWVsbGUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MQorbXNnaWQgIk5ldyIKK21zZ3N0ciAiTnkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgxCittc2dpZCAiQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICJPcHJldCBueSBwYXJ0aXRpb24gaSBmcml0IG9tcsOlZGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgyCittc2dpZCAiUXVpdCIKK21zZ3N0ciAiQWZzbHV0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MgorbXNnaWQgIlF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgY2hhbmdlcyIKK21zZ3N0ciAiQWZzbHV0IHByb2dyYW0gdWRlbiBhdCBza3JpdmUgw6ZuZHJpbmdlciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODMgbGliZmRpc2svc3JjL2JzZC5jOjQzOSBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMAorIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDYgbGliZmRpc2svc3JjL2dwdC5jOjI5MTYgbGliZmRpc2svc3JjL3NnaS5jOjExNjAKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE2Cittc2dpZCAiVHlwZSIKK21zZ3N0ciAiVHlwZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODMKK21zZ2lkICJDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICLDhm5kciBwYXJ0aXRpb25zdHlwZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0Cittc2dpZCAiSGVscCIKK21zZ3N0ciAiSGrDpmxwIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NAorbXNnaWQgIlByaW50IGhlbHAgc2NyZWVuIgorbXNnc3RyICJWaXMgaGrDpmxwZXNrw6ZybSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODUKK21zZ2lkICJTb3J0IgorbXNnc3RyICJTb3J0ZXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1Cittc2dpZCAiRml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIk9yZG4gcGFydGl0aW9uc3LDpmtrZWbDuGxnZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiV3JpdGUiCittc2dzdHIgIlNrcml2IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIldyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSkiCittc2dzdHIgIlNrcml2IHBhcnRpdGlvbnN0YWJlbGxlbiB0aWwgZGlzayAoZGV0dGUga2FuIMO4ZGVsw6ZnZ2UgZGF0YSkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRHVtcCIKK21zZ3N0ciAiRHVtcCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEdW1wIHBhcnRpdGlvbiB0YWJsZSB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiRHVtcCBwYXJ0aXRpb25zdGFiZWxsZW4gdGlsIHNmZGlzay1rb21wYXRpYmVsIHNrcmlwdGZpbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzo2MjAgZGlzay11dGlscy9mZGlzay5jOjQxNQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlhbG9nIHR5cGUgJWQiCittc2dzdHIgImludGVybiBmZWpsOiBlaiB1bmRlcnN0w7h0dGV0IGRpYWxvZ3R5cGUgJWQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAobW91bnRlZCkiCittc2dzdHIgIiVzIChtb250ZXJldCkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI3NAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lOiIKK21zZ3N0ciAiUGFydGl0aW9uc25hdm46IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyODEKK21zZ2lkICJQYXJ0aXRpb24gVVVJRDoiCittc2dzdHIgIlBhcnRpdGlvbi1VVUlEOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjkzCittc2dpZCAiUGFydGl0aW9uIHR5cGU6IgorbXNnc3RyICJQYXJ0aXRpb25zdHlwZToiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMwMAorbXNnaWQgIkF0dHJpYnV0ZXM6IgorbXNnc3RyICJBdHRyaWJ1dHRlcjoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMyNAorbXNnaWQgIkZpbGVzeXN0ZW0gVVVJRDoiCittc2dzdHIgIkZpbHN5c3RlbS1VVUlEOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzMxCittc2dpZCAiRmlsZXN5c3RlbSBMQUJFTDoiCittc2dzdHIgIkZpbHN5c3RlbS1FVElLRVQ6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMzcKK21zZ2lkICJGaWxlc3lzdGVtOiIKK21zZ3N0ciAiRmlsc3lzdGVtOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzQyCittc2dpZCAiTW91bnRwb2ludDoiCittc2dzdHIgIk1vbnRlcmluZ3NwdW5rdDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY4NQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrOiAlcyIKK21zZ3N0ciAiRGlzazogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY4NworIywgYy1mb3JtYXQKK21zZ2lkICJTaXplOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiU3TDuHJyZWxzZTogJXMsICVqdSBieXRlLCAlanUgc2VrdG9yZXIiCisKKyMgRXZ0LiBrYW4gdmkgb21nw6UgZGV0IGxpZHQgbXlzdGlza2UgImlkZW50aWZpa2F0aW9uIiB2ZWQgYmFyZSBhdCBicnVnZQorIyBmb3Jrb3J0ZWxzZW4gaWQ6CisjIERpc2staWQ6IC4uLgorIzogZGlzay11dGlscy9jZmRpc2suYzoxNjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcywgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIkV0aWtlbDogJXMsIGlkZW50aWZpa2F0aW9uOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcyIKK21zZ3N0ciAiRXRpa2V0OiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQ2Cittc2dpZCAiTWF5IGJlIGZvbGxvd2VkIGJ5IE0gZm9yIE1pQiwgRyBmb3IgR2lCLCBUIGZvciBUaUIsIG9yIFMgZm9yIHNlY3RvcnMuIgorbXNnc3RyICJLYW4gZWZ0ZXJmw7hsZ2VzIGFmIE0gZm9yIE1pQiwgRyBmb3IgR2lCLCBUIGZvciBUaUIgZWxsZXIgUyBmb3Igc2VrdG9yZXIuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NTIKK21zZ2lkICJQbGVhc2UsIHNwZWNpZnkgc2l6ZS4iCittc2dzdHIgIkFuZ2l2IHZlbmxpZ3N0IHN0w7hycmVsc2UuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWluaW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIk1pbmltdW1zdMO4cnJlbHNlIGVyICVqdSBieXRlLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgzCisjLCBjLWZvcm1hdAorbXNnaWQgIk1heGltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICJNYWtzbWltdW1zdMO4cnJlbHNlIGVyICVqdSBieXRlLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODkwCittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNpemUuIgorbXNnc3RyICJLdW5uZSBpa2tlIGZvcnRvbGtlIHN0w7hycmVsc2UuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NDgKK21zZ2lkICJTZWxlY3QgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIlbDpmxnIHBhcnRpdGlvbnN0eXBlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5OTQgZGlzay11dGlscy9jZmRpc2suYzoyMDI0Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZTogIgorbXNnc3RyICJJbmR0YXN0IHNrcmlwdGZpbG5hdm46ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTk1Cittc2dpZCAiVGhlIHNjcmlwdCBmaWxlIHdpbGwgYmUgYXBwbGllZCB0byBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiU2tyaXB0ZmlsZW4gdmlsIGJsaXZlIGFudmVuZHQgaSBpLWh1a29tbWVsc2UgcGFydGl0aW9uc3RhYmVsLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDA0IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA0NgorIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDY1IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAiS2FuIGlra2Ugw6VibmUgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwNiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJLdW5uZSBpa2tlIGZvcnRvbGtlIHNrcmlwdGZpbGVuICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMDggZGlzay11dGlscy9mZGlzay1tZW51LmM6NDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgJXMiCittc2dzdHIgIkt1bm5lIGlra2UgYW52ZW5kZSBza3JpcHRldCAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDI1Cittc2dpZCAiVGhlIGN1cnJlbnQgaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZSB3aWxsIGJlIGR1bXBlZCB0byB0aGUgZmlsZS4iCittc2dzdHIgIkRlbiBudXbDpnJlbmRlIGktaHVrb21tZWxzZSBwYXJ0aXRpb25zdGFiZWwgdmlsIGJsaXZlIGR1bXBldCB0aWwgZmlsZW4uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzMgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDkxCittc2dpZCAiRmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICJLdW5uZSBpa2tlIGFsbG9rZXJlIHNrcmlwdGjDpW5kdGVyaW5nIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzkKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBkaXNrIGxheW91dCBpbnRvIHNjcmlwdC4iCittc2dzdHIgIkt1bm5lIGlra2UgbMOmc2UgZGlza2xheW91dCBpbmQgaSBza3JpcHQuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNTMKK21zZ2lkICJEaXNrIGxheW91dCBzdWNjZXNzZnVsbHkgZHVtcGVkLiIKK21zZ3N0ciAiRGlza2xheW91dCBibGV2IGR1bXBldC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA1NiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIHNjcmlwdCAlcyIKK21zZ3N0ciAiS3VubmUgaWtrZSBza3JpdmUgc2tyaXB0ZXQgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA5MgorbXNnaWQgIlNlbGVjdCBsYWJlbCB0eXBlIgorbXNnc3RyICJWw6ZsZyBldGlrZXR0eXBlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwOTUgZGlzay11dGlscy9mZGlzay5jOjEwMTcKK21zZ2lkICJEZXZpY2UgZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiRW5oZWRlbiBpbmRlaG9sZGVyIGlra2UgZW4gZ2Vua2VuZHQgcGFydGl0aW9uc3RhYmVsLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTAxCittc2dpZCAiU2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgbGFiZWwgb3IgcHJlc3MgJ0wnIHRvIGxvYWQgc2NyaXB0IGZpbGUuIgorbXNnc3RyICJWw6ZsZyBlbiB0eXBlIHRpbCBhdCBvcHJldHRlIGVuIG55IGV0aWtldCBlbGxlciB0cnlrIMK7TMKrIGZvciBhdCBpbmRsw6ZzZSBza3JpcHRmaWwuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDYKK21zZ2lkICJUaGlzIGlzIGNmZGlzaywgYSBjdXJzZXMtYmFzZWQgZGlzayBwYXJ0aXRpb25pbmcgcHJvZ3JhbS4iCittc2dzdHIgIkRldHRlIGVyIGNmZGlzaywgZXQgY3Vyc2VzLWJhc2VyZXQgZGlza3BhcnRpdGlvbmVyaW5nc3Byb2dyYW0uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDcKK21zZ2lkICJJdCBsZXRzIHlvdSBjcmVhdGUsIGRlbGV0ZSwgYW5kIG1vZGlmeSBwYXJ0aXRpb25zIG9uIGEgYmxvY2sgZGV2aWNlLiIKK21zZ3N0ciAiRGV0IGxhZGVyIGRpZyBvcHJldHRlLCBzbGV0dGUgZWxsZXIgbW9kaWZpY2VyZSBwYXJ0aXRpb25lciBww6UgZW4gYmxva2VuaGVkLiIKKworIyBzZSBuZWRlbmZvcgorIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ5Cittc2dpZCAiQ29tbWFuZCAgICAgIE1lYW5pbmciCittc2dzdHIgIktvbW1hbmRvICAgICBCZXR5ZG5pbmciCisKKyMgVHJvciB1bmRlcnN0cmVnZXJuZSBoZXIgc2thbCBwYXNzZSB0aWwgZm9ycmlnZSBzdHJlbmcKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MAorbXNnaWQgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorbXNnc3RyICItLS0tLS0tLSAgICAgLS0tLS0tLS0tIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTEKK21zZ2lkICIgIGIgICAgICAgICAgVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGIgICAgICAgICAgU2tpZnQgb3BzdGFydHNmbGFnZXQgZm9yIGRlbiBha3R1ZWxsZSBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MgorbXNnaWQgIiAgZCAgICAgICAgICBEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGQgICAgICAgICAgU2xldCBkZW4gYWt0dWVsbGUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTMKK21zZ2lkICIgIGggICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCittc2dzdHIgIiAgaCAgICAgICAgICBWaXMgZGVubmUgc2vDpnJtIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTQKK21zZ2lkICIgIG4gICAgICAgICAgQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICIgIG4gICAgICAgICAgT3ByZXQgbnkgcGFydGl0aW9uIGkgZnJpdCBvbXLDpWRlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTUKK21zZ2lkICIgIHEgICAgICAgICAgUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgcSAgICAgICAgICBBZnNsdXQgcHJvZ3JhbSB1ZGVuIGF0IHNrcml2ZSBwYXJ0aXRpb25zdGFiZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NgorbXNnaWQgIiAgcyAgICAgICAgICBGaXggcGFydGl0aW9ucyBvcmRlciAob25seSB3aGVuIGluIGRpc2FycmF5KSIKK21zZ3N0ciAiICBzICAgICAgICAgIFJldCBwYXJ0aXRpb25zcsOma2tlZsO4bGdlIChrdW4gbsOlciBpIHVvcmRlbikiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NworbXNnaWQgIiAgdCAgICAgICAgICBDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgIHQgICAgICAgICAgU2tpZnQgcGFydGl0aW9uc3R5cGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1OAorbXNnaWQgIiAgdSAgICAgICAgICBEdW1wIGRpc2sgbGF5b3V0IHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICIgIHUgICAgICAgICAgRHVtcCBkaXNrbGF5b3V0IHRpbCBzZmRpc2sta29tcGF0aWJlbCBza3JpcHRmaWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1OQorbXNnaWQgIiAgVyAgICAgICAgICBXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAoeW91IG11c3QgZW50ZXIgdXBwZXJjYXNlIFcpOyIKK21zZ3N0ciAiICBXICAgICAgICAgIFNrcml2IHBhcnRpdGlvbnN0YWJlbGxlbiB0aWwgZGlzayAoc2thbCB2w6ZyZSBzdG9ydCBXKTsiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MAorbXNnaWQgIiAgICAgICAgICAgICAgIHNpbmNlIHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhIG9uIHRoZSBkaXNrLCB5b3UgbXVzdCBlaXRoZXIiCittc2dzdHIgIiAgICAgICAgICAgICBzaWRlbiBkZXR0ZSBrYW4gw7hkZWzDpmdnZSBkYXRhIHDDpSBkaXNrZW4sIHNrYWwgZHUgZW50ZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MQorbXNnaWQgIiAgICAgICAgICAgICAgIGNvbmZpcm0gb3IgZGVueSB0aGUgd3JpdGUgYnkgZW50ZXJpbmcgJ3llcycgb3IgJ25vJyIKK21zZ3N0ciAiICAgICAgICAgICAgIGJla3LDpmZ0ZSBlbGxlciBhZnZpc2UgdmVkIGF0IHNrcml2ZSBoZW5ob2xkc3ZpcyDCu2phwqsgZWxsZXIgwrtuZWrCqyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYyCittc2dpZCAiICB4ICAgICAgICAgIERpc3BsYXkvaGlkZSBleHRyYSBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiIC14ICAgICAgICAgIFZpcy9za2p1bCBla3N0cmEgaW5mb3JtYXRpb24gb20gZW4gcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjMKK21zZ2lkICJVcCBBcnJvdyAgICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIHBhcnRpdGlvbiIKK21zZ3N0ciAiUGlsIG9wICAgICAgIEZseXQgbWFya8O4cmVuIHRpbCBmb3JyaWdlIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY0Cittc2dpZCAiRG93biBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IHBhcnRpdGlvbiIKK21zZ3N0ciAiUGlsIG5lZCAgICAgIEZseXQgbWFya8O4cmVuIHRpbCBuw6ZzdGUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjUKK21zZ2lkICJMZWZ0IEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIG1lbnUgaXRlbSIKK21zZ3N0ciAiVmVuc3RyZSBwaWwgIEZseXQgbWFya8O4cmVuIHRpbCBmb3JyaWdlIG1lbnVwdW5rdCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY2Cittc2dpZCAiUmlnaHQgQXJyb3cgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IG1lbnUgaXRlbSIKK21zZ3N0ciAiSMO4anJlIHBpbCAgICBGbHl0IG1hcmvDuHJlbiB0aWwgbsOmc3RlIG1lbnVwdW5rdCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY4Cittc2dpZCAiTm90ZTogQWxsIG9mIHRoZSBjb21tYW5kcyBjYW4gYmUgZW50ZXJlZCB3aXRoIGVpdGhlciB1cHBlciBvciBsb3dlciIKK21zZ3N0ciAiQmVtw6ZyazogQWxsZSBrb21tYW5kb2VybmUga2FuIGFuZ2l2ZXMgbWVkIGVudGVuIHN0b3JlIGVsbGVyIHNtw6UiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2OQorbXNnaWQgImNhc2UgbGV0dGVycyAoZXhjZXB0IGZvciBXcml0ZSkuIgorbXNnc3RyICJzdG9yZSBib2dzdGF2ZXIgKHVuZHRhZ2VuIFdyaXRlKS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3MQorbXNnaWQgIlVzZSBsc2Jsayg4KSBvciBwYXJ0eCg4KSB0byBzZWUgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBkZXZpY2UuIgorbXNnc3RyICJCcnVnIGxzYmxrKDgpIGVsbGVyIHBhcnR4KDgpIGZvciBhdCBzZSBmbGVyZSBkZXRhbGplciBvbSBlbmhlZGVuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzNworbXNnaWQgIlByZXNzIGEga2V5IHRvIGNvbnRpbnVlLiIKK21zZ3N0ciAiVHJ5ayBlbiB0YXN0IGZvciBhdCBmb3J0c8OmdHRlLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjYwCittc2dpZCAiQ291bGQgbm90IHRvZ2dsZSB0aGUgZmxhZy4iCittc2dzdHIgIkt1bm5lIGlra2Ugc2tpZnRlIGZsYWdldC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJLdW5uZSBpa2tlIHNsZXR0ZSBwYXJ0aXRpb24gJXp1LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjcyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzMworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGhhcyBiZWVuIGRlbGV0ZWQuIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1IGVyIGJsZXZldCBzbGV0dGV0LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjkzCittc2dpZCAiUGFydGl0aW9uIHNpemU6ICIKK21zZ3N0ciAiUGFydGl0aW9uc3N0w7hycmVsc2U6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiw4ZuZHJlZGUgc3lzdGVtdHlwZW4gZm9yIHBhcnRpdGlvbiAlenUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJTeXN0ZW10eXBlbiBmb3IgcGFydGl0aW9uICV6dSBlciB1w6ZuZHJldC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM1MyBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NjYgZGlzay11dGlscy9mZGlzay5jOjk5MQorIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTcwCittc2dpZCAiRGV2aWNlIGlzIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUuIgorbXNnc3RyICJFbmhlZCBlciDDpWJlbiBpIHNrcml2ZWJlc2t5dHRldCB0aWxzdGFuZC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM1OAorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAiRXIgZHUgc2lra2VyIHDDpSwgYXQgZHUgdmlsIHNrcml2ZSBwYXJ0aXRpb25zdGFiZWxsZW4gdGlsIGRpc2tlbj8gIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjAKK21zZ2lkICJUeXBlIFwieWVzXCIgb3IgXCJub1wiLCBvciBwcmVzcyBFU0MgdG8gbGVhdmUgdGhpcyBkaWFsb2cuIgorbXNnc3RyICJUYXN0IMK7amHCqyBlbGxlciDCu25lasKrLCBlbGxlciB0cnlrIEVTQyBmb3IgYXQgZm9ybGFkZSBkZW5uZSBkaWFsb2cuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjUgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDkgc3lzLXV0aWxzL2xzY3B1LmM6MTU0MAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTU1MAorbXNnaWQgInllcyIKK21zZ3N0ciAiamEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM2NgorbXNnaWQgIkRpZCBub3Qgd3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2suIgorbXNnc3RyICJTa3JldiBpa2tlIHBhcnRpdGlvbnN0YWJlbGxlbiB0aWwgZGlza2VuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzcxCittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbC4iCittc2dzdHIgIkt1bm5lIGlra2Ugc2tyaXZlIGRpc2tldGlrZXQuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzQgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTc4Cittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiUGFydGl0aW9uc3RhYmVsbGVuIGVyIMOmbmRyZXQuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzOTcgZGlzay11dGlscy9jZmRpc2suYzoyNDY4Cittc2dpZCAiTm90ZSB0aGF0IHBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlciBub3cuIgorbXNnc3RyICJCZW3DpnJrIGF0IHBhcnRpdGlvbnN0YWJlbGxlbnMgaW5kZ2FuZ2UgaWtrZSBlciBpIGRpc2tyw6Zra2Vmw7hsZ2UgbnUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmU7IGl0IHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0NQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBuZXcgZGlza2xhYmVsIgorbXNnc3RyICJrdW5uZSBpa2tlIG9wcmV0dGUgZW4gbnkgZGlza2V0aWtldCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDUzCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9ucyIKK21zZ3N0ciAia3VubmUgaWtrZSBsw6ZzZSBwYXJ0aXRpb25lciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz5cbiIKK21zZ3N0ciAiICUxJHMgW3RpbHZhbGddIDxkaXNrPlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDkgZGlzay11dGlscy9mZGlzay5jOjczNiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTAKK21zZ2lkICJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgYSBkaXNrIHBhcnRpdGlvbiB0YWJsZS5cbiIKK21zZ3N0ciAiVmlzIGVsbGVyIG1hbmlwdWxlciBlbiBkaXNrcGFydGl0aW9uc3RhYmVsLlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NTIKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxodm9ybsOlcj5dICBmYXJ2ZWzDpmcgdWRkYXRhIChhdXRvLCBhbHRpZCBlbGxlciBhbGRyaWcpXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU1NQorbXNnaWQgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgc3RhcnQgd2l0aCB6ZXJvZWQgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgc3RhcnQgbWVkIG51bHN0aWxsZXQgcGFydGl0aW9uc3RhYmVsXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU5NCBkaXNrLXV0aWxzL2ZkaXNrLmM6ODgyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA3NworIzogbWlzYy11dGlscy9jYWwuYzozOTAgc3lzLXV0aWxzL2RtZXNnLmM6MTMzMyB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTQKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb2xvciBtb2RlIgorbXNnc3RyICJpa2tlIHVuZGVyc3TDuHR0ZXQgZmFydmV0aWxzdGFuZCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjEyIGRpc2stdXRpbHMvZmRpc2suYzo4MTggZGlzay11dGlscy9zZmRpc2suYzoyMjMKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAia3VubmUgaWtrZSBhbGxva2VyZSBsaWJmZGlzay1rb250ZWtzdCIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+XG4iCittc2dzdHIgIiAlcyA8ZGlza2VuaGVkPiA8cGFydGl0aW9uc251bW1lcj5cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTgKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgdG8gZm9yZ2V0IGFib3V0IGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiRm9ydMOmbCBrZXJuZW4gYXQgZGVuIHNrYWwgZ2xlbW1lIGVuIHNwZWNpZmljZXJldCBwYXJ0aXRpb24uXG4iCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjYxCittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24iCittc2dzdHIgImt1bm5lIGlra2UgZmplcm5lIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcm1hdHRpbmcgLi4uICIKK21zZ3N0ciAiRm9ybWF0ZXJlciAuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NjggZGlzay11dGlscy9mZGZvcm1hdC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJkb25lXG4iCittc2dzdHIgImbDpnJkaWdcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlZlcmlmeWluZyAuLi4gIgorbXNnc3RyICJWZXJpZmljZXJlciAuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTA4Cittc2dpZCAiUmVhZDogIgorbXNnc3RyICJMw6ZzOiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJvYmxlbSByZWFkaW5nIHRyYWNrL2hlYWQgJXUvJXUsIGV4cGVjdGVkICVkLCByZWFkICVkXG4iCittc2dzdHIgIlByb2JsZW0gdmVkIGzDpnNuaW5nIGFmIHNwb3IvaG92ZWQgJXUvJXUsIHZlbnRlZGUgJWQsIGzDpnN0ZSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJiYWQgZGF0YSBpbiB0cmFjay9oZWFkICV1LyV1XG4iCisiQ29udGludWluZyAuLi4gIgorbXNnc3RyICIiCisidWd5bGRpZ2UgZGF0YSBpIHNwb3IvaG92ZWQgJXUvJXVcbiIKKyJGb3J0c8OmdHRlciAuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4MgorIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMTcgbWlzYy11dGlscy93aXBlZnMuYzo0NTYgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4NAorIzogc3lzLXV0aWxzL3R1bmVscC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSA8ZW5oZWQ+XG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDgKK21zZ2lkICJEbyBhIGxvdy1sZXZlbCBmb3JtYXR0aW5nIG9mIGEgZmxvcHB5IGRpc2suXG4iCittc2dzdHIgIlVkZsO4ciBlbiBmb3JtYXRlcmluZyBww6UgbGF2dCBuaXZlYXUgZm9yIGVuIGRpc2tldHRlLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUxCittc2dpZCAiIC1mLCAtLWZyb20gPE4+ICAgIHN0YXJ0IGF0IHRoZSB0cmFjayBOIChkZWZhdWx0IDApXG4iCittc2dzdHIgIiAtZiwgLS1mcm9tIDxOPiAgICBzdGFydCBww6Ugc3BvciBOIChzdGFuZGFyZCAwKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUyCittc2dpZCAiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgYXQgdGhlIHRyYWNrIE5cbiIKK21zZ3N0ciAiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgdmVkIHNwb3IgTlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUzCittc2dpZCAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICB0cnkgdG8gcmVwYWlyIHRyYWNrcyBmYWlsZWQgZHVyaW5nXG4iCisiICAgICAgICAgICAgICAgICAgICAgdGhlIHZlcmlmaWNhdGlvbiAobWF4IE4gcmV0cmllcylcbiIKK21zZ3N0ciAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICBmb3Jzw7hnIGF0IHJlcGFyZXJlIHNwb3IgZGVyIG1pc2x5a2tlZGVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgdW5kZXIgdmVyaWZpa2F0aW9uZW4gKG1ha3MuIE4tZm9yc8O4ZylcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1NQorbXNnaWQgIiAtbiwgLS1uby12ZXJpZnkgICBkaXNhYmxlIHRoZSB2ZXJpZmljYXRpb24gYWZ0ZXIgdGhlIGZvcm1hdFxuIgorbXNnc3RyICIgLW4sIC0tbm8tdmVyaWZ5ICAgZGVha3RpdmVyIHZlcmlmaWthdGlvbmVuIGVmdGVyIGZvcm1hdGVyaW5nZW5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5NAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSBmcm9tIgorbXNnc3RyICJ1Z3lsZGlnIHBhcmFtZXRlciAtIGZyb20gKGZyYSkiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTgKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gdG8iCittc2dzdHIgInVneWxkaWcgcGFyYW1ldGVyIC0gdG8gKHRpbCkiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMDEKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gcmVwYWlyIgorbXNnc3RyICJ1Z3lsZGlnIHBhcmFtZXRlciAtIHJlcGFpciAocmVwYXJlcikiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1MQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4NSBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzM4CisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzQ4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODUKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxNiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0MSBkaXNrLXV0aWxzL3BhcnR4LmM6OTMzCisjOiBsb2dpbi11dGlscy9sYXN0LmM6Njg2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM5IG1pc2MtdXRpbHMvbmFtZWkuYzoxMzUKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjMgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODYgc3lzLXV0aWxzL2RtZXNnLmM6NTI0CisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTk4IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzMSBzeXMtdXRpbHMvZnN0cmltLmM6NzcKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1MTkgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6OTMKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjEzMyB0ZXJtLXV0aWxzL21lc2cuYzoxMjkgdGV4dC11dGlscy9tb3JlLmM6NTA0CisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTAzIHRleHQtdXRpbHMvdGFpbGYuYzoyODAKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RhdCBvZiAlcyBmYWlsZWQiCittc2dzdHIgInN0YXQgZm9yICVzIG1pc2x5a2tlZGVzIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI0IGRpc2stdXRpbHMvcGFydHguYzo5OTEgbWlzYy11dGlscy9sc2Jsay5jOjE0ODUKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg4IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBlciBpa2tlIGVuIGJsb2tlbmhlZCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyOQorbXNnaWQgImNvdWxkIG5vdCBkZXRlcm1pbmUgY3VycmVudCBmb3JtYXQgdHlwZSIKK21zZ3N0ciAia3VubmUgaWtrZSBiZXN0ZW1tZSBkZW4gZWtzaXN0ZXJlbmRlIGZvcm1hdHR5cGUiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMtc2lkZWQsICVkIHRyYWNrcywgJWQgc2VjL3RyYWNrLiBUb3RhbCBjYXBhY2l0eSAlZCBrQi5cbiIKK21zZ3N0ciAiJXMtc2lkZXQsICVkIHNwb3IsICVkIHNla3Qvc3Bvci4gU2FtbGV0IGthcGFjaXRldCAlZCBrQi5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMgorbXNnaWQgIkRvdWJsZSIKK21zZ3N0ciAiRG9iYmVsdCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMgorbXNnaWQgIlNpbmdsZSIKK21zZ3N0ciAiRW5rZWx0IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM5Cittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICJicnVnZXJkZWZpbmVyZXQgc3RhcnRzcG9yIGVyIGjDuGplcmUgZW5kIGRldCBtZWRpdW1zcGVjaWZpY2VyZXQgbWFrc2ltdW0iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDEKK21zZ2lkICJ1c2VyIGRlZmluZWQgZW5kIHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICJicnVnZXJkZWZpbmVyZXQgc2x1dHNwb3IgZXIgaMO4amVyZSBlbmQgZGV0IG1lZGl1bXNwZWNpZmljZXJldCBtYWtzaW11bSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MworbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSB1c2VyIGRlZmluZWQgZW5kIHRyYWNrIgorbXNnc3RyICJicnVnZXJkZWZpbmVyZXQgc3RhcnRzcG9yIGVyIGjDuGplcmUgZW5kIGRldCBicnVnZXJkZWZpbmVyZXQgc2x1dHNwb3IiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNTEgbWlzYy11dGlscy9sb2dnZXIuYzo5ODcKK21zZ2lkICJjbG9zZSBmYWlsZWQiCittc2dzdHIgImNsb3NlIChsdWspIG1pc2x5a2tlZGVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTUgZGlzay11dGlscy9mZGlzay5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRG8geW91IHJlYWxseSB3YW50IHRvIHF1aXQ/ICIKK21zZ3N0ciAiIgorIlxuIgorIlZpbCBkdSB2aXJrZWxpZyBhZnNsdXR0ZT8gIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdCAoZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiVsOmbGcgKHN0YW5kYXJkICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIGRlZmF1bHQgcmVzcG9uc2UgJWMuIgorbXNnc3RyICJCcnVnZXIgc3RhbmRhcmRzdmFyICVjLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjE3NiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjUwIGRpc2stdXRpbHMvZmRpc2suYzozMjUKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTg5IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjc3Cittc2dpZCAiVmFsdWUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiVsOmcmRpIHVkZW4gZm9yIG9tcsOlZGV0LiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglcywgc3RhbmRhcmQgJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDggZGlzay11dGlscy9mZGlzay5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJXMsIHN0YW5kYXJkICU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglYy0lYywgc3RhbmRhcmQgJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMTcgZGlzay11dGlscy9mZGlzay5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0PiwgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+LCBzdGFuZGFyZCAlPFBSSXU2ND4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjKTogIgorbXNnc3RyICIlcyAoJWMtJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMjMgZGlzay11dGlscy9mZGlzay5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzozOTIgZGlzay11dGlscy9zZmRpc2suYzoxOTcKK21zZ2lkICIgW1ldZXMvW05dbzogIgorbXNnc3RyICIgW0pdYS9bTl1lajogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDMzCittc2dpZCAiUGFydGl0aW9uIHR5cGUgKHR5cGUgTCB0byBsaXN0IGFsbCB0eXBlcyk6ICIKK21zZ3N0ciAiUGFydGl0aW9uc3R5cGUgKHRyeWsgTCBmb3IgZW4gbGlzdGUgb3ZlciBhbGxlIHR5cGVyKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDM0Cittc2dpZCAiSGV4IGNvZGUgKHR5cGUgTCB0byBsaXN0IGFsbCBjb2Rlcyk6ICIKK21zZ3N0ciAiSGV4LWtvZGUgKHRyeWsgTCBmb3IgZW4gbGlzdGUgb3ZlciBrb2Rlcm5lKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTM2Cittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBzZXQgKERFUFJFQ0FURUQhKSIKK21zZ3N0ciAiRE9TLWtvbXBhdGlsaXRldHNmbGFnIGVyIHNhdCAoRk9Sw4ZMREVUISkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1MzcKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIG5vdCBzZXQiCittc2dzdHIgIkRPUy1rb21wYXRpbGl0ZXRzZmxhZyBlciBpa2tlIHNhdCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU1OCBkaXNrLXV0aWxzL2ZkaXNrLmM6NTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3QgZXhpc3QgeWV0ISIKK21zZ3N0ciAiUGFydGl0aW9uICV6dSBmaW5kZXMgaWtrZSBlbmRudSEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NjMgZGlzay11dGlscy9mZGlzay5jOjU3MiBsaWJmZGlzay9zcmMvYXNrLmM6OTk1Cittc2dpZCAiVW5rbm93biIKK21zZ3N0ciAiVWtlbmR0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJyVzJyB0byAnJXMnLiIKK21zZ3N0ciAiw4ZuZHJlZGUgc3lzdGVtdHlwZW4gZm9yIHBhcnRpdGlvbiDCuyVzwqsgdGlsIMK7JXPCqy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZDogJXMuIgorbXNnc3RyICJTeXN0ZW10eXBlbiBmb3IgcGFydGl0aW9uICV6dSBlciB1w6ZuZHJldDogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTE1czogJXMiCittc2dzdHIgIiUxNXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlczogb2Zmc2V0ID0gJTxQUkl1NjQ+LCBzaXplID0gJXp1IGJ5dGVzLiIKK21zZ3N0ciAiIgorIlxuIgorIiVzOiBmb3Jza3lkbmluZyA9ICU8UFJJdTY0Piwgc3TDuHJyZWxzZSA9ICV6dSBieXRlLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY3NworbXNnaWQgImNhbm5vdCBzZWVrIgorbXNnc3RyICJrdW5uZSBpa2tlIHPDuGdlIChzZWVrKSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY4MgorbXNnaWQgImNhbm5vdCByZWFkIgorbXNnc3RyICJrdW5uZSBpa2tlIGzDpnNlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Njk1IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTkgbGliZmRpc2svc3JjL2Rvcy5jOjkzMworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMTAKK21zZ2lkICJGaXJzdCBzZWN0b3IiCittc2dzdHIgIkbDuHJzdGUgc2VrdG9yIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzIyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzIgorbXNnc3RyICJCTEtHRVRTSVpFIGlvY3RsIG1pc2x5a2tlZGVzIHDDpSAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICAgIGNoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyIgJTEkcyBbb3B0aW9uc10gLWwgWzxkaXNrPl0gbGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKK21zZ3N0ciAiIgorIiAlMSRzIFt0aWx2YWxnXSA8ZGlzaz4gICAgICDDpm5kciBwYXJ0aXRpb25zdGFiZWxcbiIKKyIgJTEkcyBbdGlsdmFsZ10gLWwgWzxkaXNrPl0gdmlzIHBhcnRpdGlvbnN0YWJlbGxlclxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzM5Cittc2dpZCAiIC1iLCAtLXNlY3Rvci1zaXplIDxzaXplPiAgICAgIHBoeXNpY2FsIGFuZCBsb2dpY2FsIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8c3RyPiAgICAgICBmeXNpc2sgb2cgbG9naXNrIHNla3RvcnN0w7hycmVsc2VcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MAorbXNnaWQgIiAtQiwgLS1wcm90ZWN0LWJvb3QgICAgICAgICAgICBkb24ndCBlcmFzZSBib290Yml0cyB3aGVuIGNyZWF0aW5nIGEgbmV3IGxhYmVsXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MQorbXNnaWQgIiAtYywgLS1jb21wYXRpYmlsaXR5Wz08bW9kZT5dICBtb2RlIGlzICdkb3MnIG9yICdub25kb3MnIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWMsIC0tY29tcGF0aWJpbGl0eVs9PHRpbHN0YW5kPl0gdGlsc3RhbmQgZXIgwrtkb3PCqyBlbGxlciDCu25vbmRvc8KrIChzdGFuZGFyZClcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MgorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MWywgLS1jb2xvcls9PGh2b3Juw6VyPl0gICAgICBmYXJ2ZWzDpmcgdWRkYXRhIChhdXRvLCBhbHRpZCBlbGxlciBhbGRyaWcpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDUKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBwYXJ0aXRpb25zIGFuZCBleGl0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICB2aXMgcGFydGl0aW9uZXIgb2cgYWZzbHV0XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDYKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8dmlzPiAgICAgICAgICAgIHJlc3VsdGF0a29sb25uZXJcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0NworbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICAgICAgICAgICByZWNvZ25pemUgc3BlY2lmaWVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIG9ubHlcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGUgPHR5cGU+ICAgICAgICAgICAgIGdlbmtlbmQga3VuIHNwZWNpZmljZXJldCBwYXJ0aXRpb25zdGFiZWx0eXBlXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDgKK21zZ2lkICIgLXUsIC0tdW5pdHNbPTx1bml0Pl0gICAgICAgICAgZGlzcGxheSB1bml0czogJ2N5bGluZGVycycgb3IgJ3NlY3RvcnMnIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXUsIC0tdW5pdHNbPTxlbmhlZD5dICAgICAgICAgdmlzIGVuaGVkZXI6IMK7Y3lsaW5kZXJlwqsgZWxsZXIgwrtzZWt0b3JlcsKrIChzdGFuZGFyZClcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0OQorbXNnaWQgIiAtcywgLS1nZXRzeiAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGRldmljZSBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnMgW0RFUFJFQ0FURURdXG4iCittc2dzdHIgIiAtcywgLS1nZXRzeiAgICAgICAgICAgICAgICAgICB2aXMgZW5oZWRzc3TDuHJyZWxzZSBpIDUxMi1ieXRlIHNla3RvcmVyIFtGT1LDhkxERVRdXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTAKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIHVkc2tyaXYgU1TDmFJSRUxTRSBpIGJ5dGUgZnJlbSBmb3IgaSBldCBsw6ZzZXZlbmxpZ3QgZm9ybWF0XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTEKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtdywgLS13aXBlIDx0aWxzdGFuZD4gICAgICAgICBmamVybiBzaWduYXR1cmVyIChhdXRvLCBhbHdheXMgZWxsZXIgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTIgZGlzay11dGlscy9zZmRpc2suYzoxODUzCittc2dpZCAiIC1XLCAtLXdpcGUtcGFydGl0aW9ucyA8bW9kZT4gIHdpcGUgc2lnbmF0dXJlcyBmcm9tIG5ldyBwYXJ0aXRpb25zIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1NQorbXNnaWQgIiAtQywgLS1jeWxpbmRlcnMgPG51bWJlcj4gICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzXG4iCittc2dzdHIgIiAtQywgLS1jeWxpbmRlcnMgPGFudGFsPiAgICAgICBhbmdpdiBhbnRhbGxldCBhZiBjeWxpbmRyZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU2Cittc2dpZCAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBoZWFkc1xuIgorbXNnc3RyICIgLUgsIC0taGVhZHMgPGFudGFsPiAgICAgICAgICAgYW5naXYgaG92ZWRhbnRhbFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU3Cittc2dpZCAiIC1TLCAtLXNlY3RvcnMgPG51bWJlcj4gICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFja1xuIgorbXNnc3RyICIgLVMsIC0tc2VjdG9ycyA8YW50YWw+ICAgICAgICAgYW5naXYgYW50YWxsZXQgYWYgc2VrdG9yZXIgcGVyIHNwb3JcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOAorbXNnaWQgImludmFsaWQgc2VjdG9yIHNpemUgYXJndW1lbnQiCittc2dzdHIgInVneWxkaWcgcGFyYW1ldGVyIGZvciBzZWt0b3JzdMO4cnJlbHNlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODQwCittc2dpZCAiaW52YWxpZCBjeWxpbmRlcnMgYXJndW1lbnQiCittc2dzdHIgInVneWxkaWcgcGFyYW1ldGVyIGZvciBjeWxpbmRyZSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg1MgorbXNnaWQgIm5vdCBmb3VuZCBET1MgbGFiZWwgZHJpdmVyIgorbXNnc3RyICJrdW5uZSBpa2tlIGZpbmRlIGRyaXZlciBmb3IgRE9TLWV0aWtldCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg1OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbXBhdGliaWxpdHkgbW9kZSAnJXMnIgorbXNnc3RyICJ1a2VuZHQga29tcGF0aWJpbGl0ZXRzdGlsc3RhbmQgwrslc8KrIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODY3Cittc2dpZCAiaW52YWxpZCBoZWFkcyBhcmd1bWVudCIKK21zZ3N0ciAidWd5bGRpZyBwYXJhbWV0ZXIgZm9yIGhvdmVkZXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NzMKK21zZ2lkICJpbnZhbGlkIHNlY3RvcnMgYXJndW1lbnQiCittc2dzdHIgInVneWxkaWcgcGFyYW1ldGVyIGZvciBzZWt0b3JlciIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg5OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNrbGFiZWw6ICVzIgorbXNnc3RyICJpa2tlIHVuZGVyc3TDuHR0ZXQgZGlza2V0aWtldDogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MTYgZGlzay11dGlscy9mZGlzay5jOjkyMSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0NgorbXNnaWQgInVuc3VwcG9ydGVkIHdpcGUgbW9kZSIKK21zZ3N0ciAiaWtrZSB1bmRlcnN0w7h0dGV0IHJ5ZC10aWxzdGFuZCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkzNAorbXNnaWQgIlRoZSBkZXZpY2UgcHJvcGVydGllcyAoc2VjdG9yIHNpemUgYW5kIGdlb21ldHJ5KSBzaG91bGQgYmUgdXNlZCB3aXRoIG9uZSBzcGVjaWZpZWQgZGV2aWNlIG9ubHkuIgorbXNnc3RyICJFbmhlZHNlZ2Vuc2thYmVybmUgKHNla3RvcnN0w7hycmVsc2Ugb2cgZ2VvbWV0cmkpIGtyw6Z2ZXIgYXQga3VuIGVuIGVuaGVkIGFuZ2l2ZXMuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIldlbGNvbWUgdG8gZmRpc2sgKCVzKS4iCittc2dzdHIgIlZlbGtvbW1lbiB0aWwgZmRpc2sgKCVzKS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5ODQgZGlzay11dGlscy9zZmRpc2suYzoxNTg4Cittc2dpZCAiIgorIkNoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS5cbiIKKyJCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC5cbiIKK21zZ3N0ciAiIgorIsOGbmRyaW5nZXIgdmlsIGhvbGRlcyBpIGh1a29tbWVsc2VuLCBpbmR0aWwgZHUgYmVzbHV0dGVyIGF0IGdlbW1lIGRlbS5cbiIKKyJWw6ZyIGZvcnNpZ3RpZyBmw7hyIGR1IGJydWdlciBrb21tYW5kZW4gd3JpdGUgKHNrcml2KS5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMDEgZGlzay11dGlscy9zZmRpc2suYzoxNjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAlcyBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiRW5oZWRlbiAlcyBpbmRlaG9sZGVyIGFsbGVyZWRlIGVuICVzLXNpZ25hdHVyLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMTAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTQyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ4NAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNjIyCittc2dpZCAiVGhlIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiU2lnbmF0dXJlbiB2aWwgYmxpdmUgZmplcm5ldCBhZiBlbiBlbiB3cml0ZS1rb21tYW5kby4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDEzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyNQorbXNnaWQgIkl0IGlzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSwgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4iCittc2dzdHIgIkRldCBhbmJlZmFsZXMgcMOlIGRldCBzdMOmcmtlc3RlIGF0IHJ5ZGRlIGVuaGVkZW4gbWVkIHdpcGVmcyg4KSwgZm9yIGF0IHVuZGfDpSBtdWxpZ2Uga29sbGlzaW9uZXIuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAyMgorbXNnaWQgIkEgaHlicmlkIEdQVCB3YXMgZGV0ZWN0ZWQuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIGh5YnJpZCBNQlIgbWFudWFsbHkgKGV4cGVydCBjb21tYW5kICdNJykuIgorbXNnc3RyICJFbiBoeWJyaWQgR1BUIGJsZXYgZGV0ZWt0ZXJldC4gRHUgc2thbCBzeW5rcm9uaXNlcmUgZGVuIGh5YnJpZGUgTUJSIG1hbnVlbHQgKGVrc3BlcnRrb21tYW5kbyDCu03CqykuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiRGlzayAlczogJXMsICVqdSBieXRlLCAlanUgc2VrdG9yZXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlb21ldHJ5OiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzL3RyYWNrLCAlbGx1IGN5bGluZGVycyIKK21zZ3N0ciAiR2VvbWV0cmk6ICVkIGhvdmVkZXIsICVsbHUgc2VrdG9yZXIvc3BvciwgJWxsdSBjeWxpbmRyZSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NTkgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuaXRzOiAlcyBvZiAlZCAqICVsZCA9ICVsZCBieXRlcyIKK21zZ3N0ciAiRW5oZWRlcjogJXMgYWYgJWQgKiAlbGQgPSAlbGQgYnl0ZSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjUgZGlzay11dGlscy9mZGlzay1saXN0LmM6Mjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorbXNnc3RyICJTZWt0b3JzdMO4cnJlbHNlIChsb2dpc2svZnlzaXNrKTogJWx1IGJ5dGUgLyAlbHUgYnl0ZSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiSS9PLXN0w7hycmVsc2UgKG1pbmltdW0vb3B0aW1hbCk6ICVsdSBieXRlIC8gJWx1IGJ5dGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkFsaWdubWVudCBvZmZzZXQ6ICVsdSBieXRlcyIKK21zZ3N0ciAiSnVzdGVyaW5nc2ZvcnNreWRuaW5nOiAlbHUgYnl0ZSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHR5cGU6ICVzIgorbXNnc3RyICJEaXNrZXRpa2V0dHlwZTogJXMiCisKKyMgRXZ0LiBrYW4gdmkgb21nw6UgZGV0IGxpZHQgbXlzdGlza2UgImlkZW50aWZpa2F0aW9uIiB2ZWQgYmFyZSBhdCBicnVnZQorIyBmb3Jrb3J0ZWxzZW4gaWQ6CisjIERpc2staWQ6IC4uLgorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiRGlza2lkZW50aWZpa2F0aW9uOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTA5IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxOQorIzogZGlzay11dGlscy9mc2NrLmM6MTI0NAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBpdGVyYXRvciIKK21zZ3N0ciAia3VubmUgaWtrZSBhbGxva2VyZSBpdGVyYXRvciIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTE1IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyNQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgImt1bm5lIGlra2UgYWxsb2tlcmUgdWRkYXRhdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE1NiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNDkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiCittc2dzdHIgImt1bm5lIGlra2UgYWxsb2tlcmUgdWRkYXRhbGluamUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE4MworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4iCittc2dzdHIgIlBhcnRpdGlvbiAlenUgc3RhcnRlciBpa2tlIHDDpSBlbiBmeXNpc2sgc2VrdG9yZ3LDpm5zZS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE5MgorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4iCittc2dzdHIgIlBhcnRpdGlvbnN0YWJlbGxlbnMgaW5kZ2FuZ2UgZXIgaWtrZSBpIGRpc2tyw6Zra2Vmw7hsZ2UuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTUgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDAKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTEyIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU0IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTEwCittc2dpZCAiU3RhcnQiCittc2dzdHIgIlN0YXJ0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTYgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDEKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTEzIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU1IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTExCittc2dpZCAiRW5kIgorbXNnc3RyICJTbHV0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTcgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDIKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE0IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU2IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTEyCittc2dpZCAiU2VjdG9ycyIKK21zZ3N0ciAiU2VrdG9yZXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOSBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNAorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTUgbGliZmRpc2svc3JjL3NnaS5jOjExNTggbGliZmRpc2svc3JjL3N1bi5jOjExMTQKK21zZ2lkICJTaXplIgorbXNnc3RyICJTdMO4cnJlbHNlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5wYXJ0aXRpb25lZCBzcGFjZSAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIklra2UgcGFydGl0aW9uZXJldCBwbGFkcyAlczogJXMsICVqdSBieXRlLCAlanUgc2VrdG9yZXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQxMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtbyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJUaWxnw6ZuZ2VsaWdlIGtvbG9ubmVyIChmb3IgLW8pOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICIlcyB1a2VuZHQga29sb25uZTogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk1Cittc2dpZCAiR2VuZXJpYyIKK21zZ3N0ciAiR2VuZXJpc2siCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk2Cittc2dpZCAiZGVsZXRlIGEgcGFydGl0aW9uIgorbXNnc3RyICJzbGV0IGVuIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTcKK21zZ2lkICJsaXN0IGZyZWUgdW5wYXJ0aXRpb25lZCBzcGFjZSIKK21zZ3N0ciAidmlzIGZyaSBpa2tlIHBhcnRpdGlvbmVyZXQgcGxhZHMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk4Cittc2dpZCAibGlzdCBrbm93biBwYXJ0aXRpb24gdHlwZXMiCittc2dzdHIgInZpcyBsaXN0ZSBvdmVyIGtlbmR0ZSBwYXJ0aXRpb25zdHlwZXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5Cittc2dpZCAiYWRkIGEgbmV3IHBhcnRpdGlvbiIKK21zZ3N0ciAidGlsZsO4aiBlbiBueSBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMAorbXNnaWQgInByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInZpcyBwYXJ0aXRpb25zdGFiZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMQorbXNnaWQgImNoYW5nZSBhIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJza2lmdCBlbiBwYXJ0aXRpb25zdHlwZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAyCittc2dpZCAidmVyaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInZlcmlmaWNlciBwYXJ0aXRpb25zdGFiZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMworbXNnaWQgInByaW50IGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICJ2aXMgaW5mb3JtYXRpb24gb20gZW4gcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGZpcnN0IHNlY3RvciBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgInZpcyByw6VkYXRhZW5lIGZyYSBkZW4gZsO4cnN0ZSBzZWt0b3IgcMOlIGVuaGVkZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNgorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZGlza2xhYmVsIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAidmlzIHLDpWRhdGFlbmUgZnJhIGRpc2tldGlrZXR0ZW4gcMOlIGVuaGVkZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNworbXNnaWQgImZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICJvcmRuIHBhcnRpdGlvbnNyw6Zra2Vmw7hsZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDkKK21zZ2lkICJNaXNjIgorbXNnc3RyICJEaXYuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTAKK21zZ2lkICJwcmludCB0aGlzIG1lbnUiCittc2dzdHIgInZpcyBkZW5uZSBtZW51IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTEKK21zZ2lkICJjaGFuZ2UgZGlzcGxheS9lbnRyeSB1bml0cyIKK21zZ3N0ciAic2tpZnQgZW5oZWRlciBmb3IgdmlzbmluZy9pbmR0YXN0bmluZyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEyCittc2dpZCAiZXh0cmEgZnVuY3Rpb25hbGl0eSAoZXhwZXJ0cyBvbmx5KSIKK21zZ3N0ciAiZWtzdHJhIGZ1bmt0aW9uYWxpdGV0IChrdW4gZm9yIGVrc3BlcnRlcikiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNAorbXNnaWQgIlNjcmlwdCIKK21zZ3N0ciAiU2tyaXB0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTUKK21zZ2lkICJsb2FkIGRpc2sgbGF5b3V0IGZyb20gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICJpbmRsw6ZzIGRpc2tsYXlvdXQgZnJhIHNmZGlzay1za3JpcHRmaWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNgorbXNnaWQgImR1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICJkdW1wIGRpc2tsYXlvdXQgdGlsIHNmZGlzay1za3JpcHRmaWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOAorbXNnaWQgIlNhdmUgJiBFeGl0IgorbXNnc3RyICJHZW0gb2cgYWZzbHV0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTkKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0IgorbXNnc3RyICJza3JpdiBwYXJ0aXRpb25zdGFiZWwgdGlsIGRpc2sgb2cgYWZzbHV0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjAKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIgorbXNnc3RyICJza3JpdiB0YWJlbCB0aWwgZGlza2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjEKK21zZ2lkICJxdWl0IHdpdGhvdXQgc2F2aW5nIGNoYW5nZXMiCittc2dzdHIgImFmc2x1dCB1ZGVuIGF0IGdlbW1lIMOmbmRyaW5nZXJuZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIyCittc2dpZCAicmV0dXJuIHRvIG1haW4gbWVudSIKK21zZ3N0ciAicmV0dXJuZXIgdGlsIGhvdmVkbWVudWVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjQKK21zZ2lkICJyZXR1cm4gZnJvbSBCU0QgdG8gRE9TIgorbXNnc3RyICJyZXR1cm5lciBmcmEgQlNEIHRpbCBET1MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNQorbXNnaWQgIkNyZWF0ZSBhIG5ldyBsYWJlbCIKK21zZ3N0ciAib3ByZXQgZW4gbnkgZXRpa2V0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzYKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgR1BUIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAib3ByZXQgZW4gbnksIHRvbSBHUFQtcGFydGl0aW9uc3RhYmVsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzcKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU0dJIChJUklYKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIm9wcmV0IGVuIG55LCB0b20gU0dJIChJUklYKS1wYXJ0aXRpb25zdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOAorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJvcHJldCBlbiBueSwgdG9tIERPUy1wYXJ0aXRpb25zdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTdW4gcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJvcHJldCBlbiBueSwgdG9tIFN1bi1wYXJ0aXRpb25zdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0MworbXNnaWQgImNyZWF0ZSBhbiBJUklYIChTR0kpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAib3ByZXQgZW4gSVJJWC1wYXJ0aXRpb25zdGFiZWwgKFNHSSkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1MgorbXNnaWQgIkdlb21ldHJ5IgorbXNnc3RyICJHZW9tZXRyaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTUzCittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgIsOmbmRyIGFudGFsbGV0IGFmIGN5bGluZHJlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTQKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICLDpm5kciBhbnRhbGxldCBhZiBob3ZlZGVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTUKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2siCittc2dzdHIgIsOmbmRyIGFudGFsbGV0IGFmIHNla3RvcmVyL3Nwb3IiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NQorbXNnaWQgIkdQVCIKK21zZ3N0ciAiR1BUIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjUKK21zZ2lkICJjaGFuZ2UgZGlzayBHVUlEIgorbXNnc3RyICLDpm5kciBkaXNrLUdVSUQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NgorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiw6ZuZHIgcGFydGl0aW9uc25hdm4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NworbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiw6ZuZHIgcGFydGl0aW9uLVVVSUQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OAorbXNnaWQgImNoYW5nZSB0YWJsZSBsZW5ndGgiCittc2dzdHIgIsOmbmRyIHRhYmVsbMOmbmdkZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY5Cittc2dpZCAiZW50ZXIgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIgorbXNnc3RyICJnw6UgdGlsIGJlc2t5dHRlZGUvaHlicmlkZSBNQlIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MgorbXNnaWQgInRvZ2dsZSB0aGUgbGVnYWN5IEJJT1MgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAic2tpZnQgZGV0IGZvcsOmbGRlZGUgQklPUy1vcHN0YXJ0c2ZsYWciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MworbXNnaWQgInRvZ2dsZSB0aGUgbm8gYmxvY2sgSU8gcHJvdG9jb2wgZmxhZyIKK21zZ3N0ciAic2tpZnQgcHJvdG9rb2xmbGFnZXQgbm8gYmxvY2sgSU8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NAorbXNnaWQgInRvZ2dsZSB0aGUgcmVxdWlyZWQgcGFydGl0aW9uIGZsYWciCittc2dzdHIgInNraWZ0IGRldCBrcsOmdmVkZSBwYXJ0aXRpb25zZmxhZyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc1Cittc2dpZCAidG9nZ2xlIHRoZSBHVUlEIHNwZWNpZmljIGJpdHMiCittc2dzdHIgInNraWZ0IGRlIEdVSUQtc3BlY2lmaWtrZSBkZWxlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODUKK21zZ2lkICJTdW4iCittc2dzdHIgIlN1biIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg2Cittc2dpZCAidG9nZ2xlIHRoZSByZWFkLW9ubHkgZmxhZyIKK21zZ3N0ciAic2tpZnQgc2tyaXZlYmVza3l0dGVsc2VzZmxhZyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg3Cittc2dpZCAidG9nZ2xlIHRoZSBtb3VudGFibGUgZmxhZyIKK21zZ3N0ciAic2tpZnQgZGV0IG1vbnRlcmJhcmUgZmxhZyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICLDpm5kciBhbnRhbGxldCBhZiBhbHRlcm5hdGl2ZSBjeWxpbmRyZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkwCittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBleHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAiw6ZuZHIgYW50YWxsZXQgYWYgZWtzdHJhIHNla3RvcmVyIHBlciBjeWxpbmRlciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkxCittc2dpZCAiY2hhbmdlIGludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICLDpm5kciBpbnRlcmxlYXZlZmFrdG9yIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTIKK21zZ2lkICJjaGFuZ2Ugcm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIsOmbmRyIHJvdGF0aW9uc2hhc3RpZ2hlZCAob21kci4gcGVyIG1pbnV0KSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkzCittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIsOmbmRyIGFudGFsbGV0IGFmIGZ5c2lza2UgY3lsaW5kcmUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwMgorbXNnaWQgIlNHSSIKK21zZ3N0ciAiU0dJIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDMKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICJ2w6ZsZyBlbiBvcHN0YXJ0c3BhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA0Cittc2dpZCAiZWRpdCBib290ZmlsZSBlbnRyeSIKK21zZ3N0ciAicmVkaWdlciBpbmRnYW5nIGkgb3BzdGFydHNmaWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNQorbXNnaWQgInNlbGVjdCBzZ2kgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgInbDpmxnIHNnaSBzd2FwLXBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA2Cittc2dpZCAiY3JlYXRlIFNHSSBpbmZvIgorbXNnc3RyICJvcHJldCBTR0ktaW5mb3JtYXRpb24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNQorbXNnaWQgIkRPUyAoTUJSKSIKK21zZ3N0ciAiRE9TIChNQlIpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTYKK21zZ2lkICJ0b2dnbGUgYSBib290YWJsZSBmbGFnIgorbXNnc3RyICJza2lmdCBldCBvcHN0YXJ0c2ZsYWcgKGJvb3RhYmxlKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE3Cittc2dpZCAiZWRpdCBuZXN0ZWQgQlNEIGRpc2tsYWJlbCIKK21zZ3N0ciAicmVkaWdlciBpbmRsZWpyZXQgQlNELWRpc2tldGlrZXQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxOAorbXNnaWQgInRvZ2dsZSB0aGUgZG9zIGNvbXBhdGliaWxpdHkgZmxhZyIKK21zZ3N0ciAic2tpZnQgRE9TLWtvbXBhdGlsaXRldHNmbGFnZXQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMAorbXNnaWQgIm1vdmUgYmVnaW5uaW5nIG9mIGRhdGEgaW4gYSBwYXJ0aXRpb24iCittc2dzdHIgImZseXQgc3RhcnRlbiBww6UgZGF0YSBpIGVuIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIxCittc2dpZCAiY2hhbmdlIHRoZSBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgInNraWZ0IGRpc2tpZGVudGlmaWthdGlvbmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjMKK21zZ2lkICJyZXR1cm4gZnJvbSBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgdG8gR1BUIgorbXNnc3RyICJyZXR1cm5lciBmcmEgYmVza3l0dGV0L2h5YnJpZCBNQlIgdGlsIEdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjMzCittc2dpZCAiQlNEIgorbXNnc3RyICJCU0QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNAorbXNnaWQgImVkaXQgZHJpdmUgZGF0YSIKK21zZ3N0ciAicmVkaWdlciBkcmV2ZGF0YSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM1Cittc2dpZCAiaW5zdGFsbCBib290c3RyYXAiCittc2dzdHIgImluc3RhbGxlciBvcHN0YXJ0c2lnYW5nc8OmdHRlciAowrtib290c3RyYXDCqykiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNgorbXNnaWQgInNob3cgY29tcGxldGUgZGlza2xhYmVsIgorbXNnc3RyICJ2aXMgaGVsZSBkaXNrZXRpa2V0dGVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzcKK21zZ2lkICJsaW5rIEJTRCBwYXJ0aXRpb24gdG8gbm9uLUJTRCBwYXJ0aXRpb24iCittc2dzdHIgImzDpm5rIGVuIEJTRC1wYXJ0aXRpb24gdGlsIGVuIGlra2UtQlNELXBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwIChleHBlcnQgY29tbWFuZHMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiSGrDpmxwIChla3NwZXJ0a29tbWFuZG9lcik6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM3MSBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHA6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJIasOmbHA6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UncmUgZWRpdGluZyBuZXN0ZWQgJyVzJyBwYXJ0aXRpb24gdGFibGUsIHByaW1hcnkgcGFydGl0aW9uIHRhYmxlIGlzICclcycuIgorbXNnc3RyICJEdSByZWRpZ2VyZXIgZW4gaW5kbGVqcmV0IMK7JXPCqy1wYXJ0aXRpb25zdGFiZWwsIHByaW3DpnIgcGFydGl0aW9uc3RhYmVsIGVyIMK7JXPCqy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMQorbXNnaWQgIkV4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJFa3NwZXJ0a29tbWFuZG8gKG0gZm9yIGhqw6ZscCk6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDIzCittc2dpZCAiQ29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAiS29tbWFuZG8gKG0gZm9yIGhqw6ZscCk6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVjOiB1bmtub3duIGNvbW1hbmQiCittc2dzdHIgIiVjOiB1a2VuZHQga29tbWFuZG8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ1OCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODUKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lIgorbXNnc3RyICJJbmR0YXN0IHNrcmlwdGZpbG5hdm4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ3MQorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgYXBwbGllZC4iCittc2dzdHIgIlNrcmlwdCBhbnZlbmR0LiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDk3Cittc2dpZCAiRmFpbGVkIHRvIHRyYW5zZm9ybSBkaXNrIGxheW91dCBpbnRvIHNjcmlwdCIKK21zZ3N0ciAiS3VubmUgaWtrZSB0cmFuc2Zvcm1lcmUgZGlza2xheW91dCB0aWwgc2tyaXB0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTEKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IHNhdmVkLiIKK21zZ3N0ciAiU2tyaXB0IGdlbXQuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzQgZGlzay11dGlscy9zZmRpc2suYzoxNDc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiUGFydGl0aW9uICMlenU6IGluZGVob2xkZXIgZW4gJXMtc2lnbmF0dXIuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzcgZGlzay11dGlscy9zZmRpc2suYzoxNDc5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gcmVtb3ZlIHRoZSBzaWduYXR1cmU/IgorbXNnc3RyICLDmG5za2VyIGR1IGF0IGZqZXJuZSBzaWduYXR1cmVuPyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTc1Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAia3VubmUgaWtrZSBza3JpdmUgZGlza2V0aWtldCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjEzCittc2dpZCAiRmFpbGVkIHRvIGZpeCBwYXJ0aXRpb25zIG9yZGVyLiIKK21zZ3N0ciAiS3VubmUgaWtrZSByZXR0ZSBwYXJ0aXRpb25zcsOma2tlZsO4bGdlbi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYxNQorbXNnaWQgIlBhcnRpdGlvbnMgb3JkZXIgZml4ZWQuIgorbXNnc3RyICJQYXJ0aXRpb25zcsOma2tlZsO4bGdlIHJldHRldC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIkt1bm5lIGlra2Ugc2xldHRlIHBhcnRpdGlvbiAlenUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY2MAorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gY3lsaW5kZXJzIChERVBSRUNBVEVEISkuIgorbXNnc3RyICJTa2lmdGVyIGVuaGVkZXIgZm9yIHZpc25pbmcvaW5kdGFzdG5pbmcgdGlsIGN5bGluZHJlIChGT1LDhkxERVQhKS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY2MgorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gc2VjdG9ycy4iCittc2dzdHIgIlNraWZ0ZXIgZW5oZWRlciBmb3IgdmlzbmluZy9pbmR0YXN0bmluZyB0aWwgc2VrdG9yZXIuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NzIgZGlzay11dGlscy9mZGlzay1tZW51LmM6ODQyCittc2dpZCAiTGVhdmluZyBuZXN0ZWQgZGlza2xhYmVsLiIKK21zZ3N0ciAiRWZ0ZXJsYWRlciBpbmRsZWpyZXQgZGlza2V0aWtldC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjcwOQorbXNnaWQgIk5ldyBtYXhpbXVtIGVudHJpZXMiCittc2dzdHIgIk55dCBtYWtzaW11bSBmb3IgcG9zdGVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MTkKK21zZ2lkICJFbnRlcmluZyBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgZGlza2xhYmVsLiIKK21zZ3N0ciAiR8OlciBpIGJlc2t5dHRldC9oeWJyaWQgTUJSLWRpc2tldGlrZXQuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MzUKK21zZ2lkICJOZXcgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICJOeSBVVUlEIChpIDgtNC00LTQtMTItZm9ybWF0KSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzUwCittc2dpZCAiTmV3IG5hbWUiCittc2dzdHIgIk55dCBuYXZuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4MTMKK21zZ2lkICJFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIkluZHRhc3RlciBpbmRsZWpyZXQgQlNELWRpc2tldGlrZXQuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OTgKK21zZ2lkICJOdW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICJBbnRhbCBjeWxpbmRyZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAwMgorbXNnaWQgIk51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAiQW50YWwgaG92ZWRlciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAwNgorbXNnaWQgIk51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJBbnRhbCBzZWt0b3JlciIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgZXIgbW9udGVyZXRcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudGVkXG4iCittc2dzdHIgIiVzIGVyIGlra2UgbW9udGVyZXRcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMxIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzQKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1MyBkaXNrLXV0aWxzL3NmZGlzay5jOjI5NyBsaWJmZGlzay9zcmMvYnNkLmM6NjQ2CisjOiBsaWIvcGF0aC5jOjExMCBsaWIvcGF0aC5jOjEzMSBsaWIvcGF0aC5jOjE1MiBsaWIvcGF0aC5jOjIwMAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIxMyBsb2dpbi11dGlscy9sYXN0LmM6MjUwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo2NjQKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjM5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjcxNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgJXMiCittc2dzdHIgImthbiBpa2tlIGzDpnNlICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMzMgbGliL3BhdGguYzoxMzMgbGliL3BhdGguYzoxNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFyc2UgZXJyb3I6ICVzIgorbXNnc3RyICJmb3J0b2xrbmluZ3NmZWpsOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJrYW4gaWtrZSBvcHJldHRlIG1hcHBlICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9ja2luZyBkaXNrIGJ5ICVzIC4uLiAiCittc2dzdHIgIkzDpXNlciBkaXNrIGVmdGVyICVzIC4uLiAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICIod2FpdGluZykgIgorbXNnc3RyICIodmVudGVyKSAiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGVzZSBhcmUgZm9sbG93dXBzIHRvICJMb2NraW5nIGRpc2suLi4iLgorIzogZGlzay11dGlscy9mc2NrLmM6Mzk0Cittc2dpZCAic3VjY2VlZGVkIgorbXNnc3RyICJseWtrZWRlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6Mzk0Cittc2dpZCAiZmFpbGVkIgorbXNnc3RyICJtaXNseWtrZWRlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDEyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVubG9ja2luZyAlcy5cbiIKK21zZ3N0ciAiTMOlc2VyICVzIG9wLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGRlc2NyaXB0aW9uIGZvciAlcyIKK21zZ3N0ciAia3VubmUgaWtrZSBvcHPDpnR0ZSBiZXNrcml2ZWxzZSBmb3IgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ3NCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3ODIgbWlzYy11dGlscy9sc2Jsay5jOjQzMworIzogc3lzLXV0aWxzL21vdW50LmM6MTAyIHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6MTkgc3lzLXV0aWxzL3Vtb3VudC5jOjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiBmb3J0b2xrIGZlamwgaSBsaW5qZSAlZCAtIGlnbm9yZXJldCIKKworIzogZGlzay11dGlscy9mc2NrLmM6NTA2IGRpc2stdXRpbHMvZnNjay5jOjUwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIGZzdGFiIgorbXNnc3RyICIlczoga3VubmUgaWtrZSBmb3J0b2xrZSBmc3RhYiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njc5IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTY4IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDM0CisjOiBsb2dpbi11dGlscy92aXB3LmM6MjA0IHN5cy11dGlscy9mbG9jay5jOjM0NSBzeXMtdXRpbHMvbnNlbnRlci5jOjE1MworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxNiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIxOSBzeXMtdXRpbHMvdW5zaGFyZS5jOjQyMAorIzogdGVybS11dGlscy9zY3JpcHQuYzo3ODAKK21zZ2lkICJmb3JrIGZhaWxlZCIKK21zZ3N0ciAiZm9yZ3JlbmluZyBtaXNseWtrZWRlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGvDuHIgbWlzbHlra2VkZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc3NAorbXNnaWQgIndhaXQ6IG5vIG1vcmUgY2hpbGQgcHJvY2Vzcz8hPyIKK21zZ3N0ciAidmVudDogSWtrZSBmbGVyZSB1bmRlcnByb2Nlc3Nlcj8hPyIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzc3IHN5cy11dGlscy9mbG9jay5jOjM2MyBzeXMtdXRpbHMvc3dhcG9uLmM6MzQ4CisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQwNCBzeXMtdXRpbHMvdW5zaGFyZS5jOjQyNQorbXNnaWQgIndhaXRwaWQgZmFpbGVkIgorbXNnc3RyICJ3YWl0cGlkIG1pc2x5a2tlZGVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZy4uLiAlcyBmb3IgZGV2aWNlICVzIGV4aXRlZCB3aXRoIHNpZ25hbCAlZC4iCittc2dzdHIgIkFkdmFyc2VsLi4uICVzIGZvciBlbmhlZCAlcyBhZnNsdXR0ZWRlIG1lZCBzaWduYWwgJWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXM6IHN0YXR1cyBpcyAleCwgc2hvdWxkIG5ldmVyIGhhcHBlbi4iCittc2dzdHIgIiVzICVzOiBzdGF0dXMgZXIgJXgsIGLDuHIgYWxkcmlnIHNrZS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjg0NworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5pc2hlZCB3aXRoICVzIChleGl0IHN0YXR1cyAlZClcbiIKK21zZ3N0ciAiQWZzbHV0dGVkZSBtZWQgJXMgKGFmc2x1dG5pbmdzc3RhdHVzICVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgJWQgKCVtKSB3aGlsZSBleGVjdXRpbmcgZnNjay4lcyBmb3IgJXMiCittc2dzdHIgImZlamwgJWQgKCVtKSB1bmRlciBrw7hyc2VsIGFmIGZzY2suJXMgZm9yICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5OTEKK21zZ2lkICIiCisiRWl0aGVyIGFsbCBvciBub25lIG9mIHRoZSBmaWxlc3lzdGVtIHR5cGVzIHBhc3NlZCB0byAtdCBtdXN0IGJlIHByZWZpeGVkXG4iCisid2l0aCAnbm8nIG9yICchJy4iCittc2dzdHIgIiIKKyJFbnRlbiBhbGxlIGVsbGVyIGluZ2VuIGFmIGZpbHN5c3RlbXR5cGVybmUgdmlkZXJlc2VuZHQgdGlsIC10IHNrYWwgdsOmcmVcbiIKKyJmb3JhbnN0aWxsZXQgbWVkIMK7bmVqwqsgZWxsZXIgwrshwqsuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBiYWQgbGluZSBpbiAvZXRjL2ZzdGFiOiBiaW5kIG1vdW50IHdpdGggbm9uemVybyBmc2NrIHBhc3MgbnVtYmVyIgorbXNnc3RyICIlczogc3ByaW5nZXIgdWd5bGRpZyBsaW5qZSBpIC9ldGMvZnN0YWIgb3ZlcjogYmluZCBtb250ZXJpbmcgbWVkIGZjc2stcGFzcy10YWwgZGVyIGVyIGZvcnNrZWxsaWd0IGZyYSBudWwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIG5vbmV4aXN0ZW50IGRldmljZVxuIgorbXNnc3RyICIlczogc3ByaW5nZXIgZW5oZWQgZGVyIGlra2UgZmluZGVzIG92ZXJcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9uZXhpc3RlbnQgZGV2aWNlIChcIm5vZmFpbFwiIGZzdGFiIG9wdGlvbiBtYXkgYmUgdXNlZCB0byBza2lwIHRoaXMgZGV2aWNlKVxuIgorbXNnc3RyICIlczogaWtrZWVrc2lzdGVyZW5kZSBlbmhlZCAoZnN0YWItdGlsdmFsZ2V0IMK7bm9mYWlswqsga2FuIGJydWdlcyB0aWwgYXQgc3ByaW5nZSBkZW5uZSBlbmhlZCBvdmVyKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZVxuIgorbXNnc3RyICIlczogc3ByaW5nZXIgdWtlbmR0IGZpbHN5c3RlbXR5cGUgb3ZlclxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGVjayAlczogZnNjay4lcyBub3QgZm91bmQiCittc2dzdHIgImthbiBpa2tlIHRqZWtrZSAlczogZnNjay4lcyBibGV2IGlra2UgZnVuZGV0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjU5Cittc2dpZCAiQ2hlY2tpbmcgYWxsIGZpbGUgc3lzdGVtcy5cbiIKK21zZ3N0ciAiS29udHJvbGxlcmVyIGFsbGUgZmlsc3lzdGVtZXIuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS13YWl0aW5nLS0gKHBhc3MgJWQpXG4iCittc2dzdHIgIi0tdmVudGVyLS0gKGdlbm5lbWdhbmcgJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAtLSBbZnMtb3B0aW9uc10gWzxmaWxlc3lzdGVtPiAuLi5dXG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gLS0gW2ZzLXRpbHZhbGddIFs8Zmlsc3lzdGVtPiAuLi5dXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNzkKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiS29udHJvbGxlciBvZyByZXBhcmVyIGV0IExpbnV4LWZpbHN5c3RlbS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4MgorbXNnaWQgIiAtQSAgICAgICAgIGNoZWNrIGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLUEgICAgICAgICBLb250cm9sbGVyIGFsbGUgZmlsc3lzdGVtZXJcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4MworbXNnaWQgIiAtQyBbPGZkPl0gIGRpc3BsYXkgcHJvZ3Jlc3MgYmFyOyBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiIC1DIFs8ZmQ+XSAgdmlzIHN0YXR1c2Jqw6Zsa2U7IGZpbGJlc2tyaXZlciBlciBmb3IgZ3JhZmlza2UgYnJ1Z2VyZmxhZGVyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODQKK21zZ2lkICIgLWwgICAgICAgICBsb2NrIHRoZSBkZXZpY2UgdG8gZ3VhcmFudGVlIGV4Y2x1c2l2ZSBhY2Nlc3NcbiIKK21zZ3N0ciAiIC1sICAgICAgICAgbMOlcyBlbmhlZGVuIGZvciBhdCBnYXJhbnRlcmUgZWtza2x1c2l2IGFkZ2FuZ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg1Cittc2dpZCAiIC1NICAgICAgICAgZG8gbm90IGNoZWNrIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1NICAgICAgICAga29udHJvbGxlciBpa2tlIG1vbnRlcmVkZSBmaWxzeXN0ZW1lclxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg2Cittc2dpZCAiIC1OICAgICAgICAgZG8gbm90IGV4ZWN1dGUsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGJlIGRvbmVcbiIKK21zZ3N0ciAiIC1OICAgICAgICAga8O4ciBpa2tlLCBiYXJlIHZpcyBodmFkIGRlciBza2FsIGfDuHJlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg3Cittc2dpZCAiIC1QICAgICAgICAgY2hlY2sgZmlsZXN5c3RlbXMgaW4gcGFyYWxsZWwsIGluY2x1ZGluZyByb290XG4iCittc2dzdHIgIiAtUCAgICAgICAgIGtvbnRyb2xsZXIgZmlsc3lzdGVtZXIgcGFyYWxsZWx0LCBpbmtsdXNpdiByb290XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODgKK21zZ2lkICIgLVIgICAgICAgICBza2lwIHJvb3QgZmlsZXN5c3RlbTsgdXNlZnVsIG9ubHkgd2l0aCAnLUEnXG4iCittc2dzdHIgIiAtUiAgICAgICAgIHVkZWxhZCByb290LWZpbHN5c3RlbTsgbnl0dGlnIGt1biBtZWQgwrstQcKrXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODkKK21zZ2lkICIiCisiIC1yIFs8ZmQ+XSAgcmVwb3J0IHN0YXRpc3RpY3MgZm9yIGVhY2ggZGV2aWNlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiIKKyIgLXIgWzxmZD5dICByYXBwb3J0ZXIgc3RhdGlzdGlrIGZvciBodmVyIGtvbnRyb2xsZXJldCBlbmhlZDtcbiIKKyIgICAgICAgICAgICBmaWxiZXNrcml2ZWxzZSBlciBmb3IgZ3JhZmlza2UgYnJ1Z2VyZmxhZGVyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTEKK21zZ2lkICIgLXMgICAgICAgICBzZXJpYWxpemUgdGhlIGNoZWNraW5nIG9wZXJhdGlvbnNcbiIKK21zZ3N0ciAiIC1zICAgICAgICAgc2VyaWFsaXNlciBkZSBrb250cm9sbGVyZW5kZSBvcGVyYXRpb25lclxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkyCittc2dpZCAiIC1UICAgICAgICAgZG8gbm90IHNob3cgdGhlIHRpdGxlIG9uIHN0YXJ0dXBcbiIKK21zZ3N0ciAiIC1UICAgICAgICAgdmlzIGlra2UgdGl0bGVuIHZlZCBvcHN0YXJ0XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTMKK21zZ2lkICIiCisiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgPHR5cGU+IGlzIGFsbG93ZWQgdG8gYmUgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuIgorbXNnc3RyICIiCisiIC10IDx0eXBlPiAgc3BlY2lmaWNlciBmaWxzeXN0ZW10eXBlciBmb3Iga29udHJvbDtcbiIKKyIgICAgICAgICAgICA8dHlwZT4ga2FuIHbDpnJlIGVuIGtvbW1hYWRza2lsdCBsaXN0ZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk1Cittc2dpZCAiIC1WICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC1WICAgICAgICAgZm9ya2xhciBodmFkIGRlciBza2VyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTYKK21zZ2lkICIgLT8gICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLT8gICAgICAgICB2aXMgZGVubmUgaGrDpmxwZXRla3N0IG9nIGFmc2x1dFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk5Cittc2dpZCAiU2VlIHRoZSBzcGVjaWZpYyBmc2NrLiogY29tbWFuZHMgZm9yIGF2YWlsYWJsZSBmcy1vcHRpb25zLiIKK21zZ3N0ciAiU2UgZGUgc3BlY2lmaWtrZSBmc2NrLiota29tbWFuZG9lciBmb3IgdGlsZ8OmbmdlbGlnZSBmcy10aWx2YWxnLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQzOAorbXNnaWQgInRvbyBtYW55IGRldmljZXMiCittc2dzdHIgImZvciBtYW5nZSBlbmhlZGVyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDUwCittc2dpZCAiSXMgL3Byb2MgbW91bnRlZD8iCittc2dzdHIgIkVyIC9wcm9jIG1vbnRlcmV0PyIKKworIyB0cm9yIG1hdGNoaW5nIGVyICdwYXNzZW5kZScgdGlsIGV0IGVsbGVyIGFuZGV0IGtyaXRlcml1bSwgaWtrZQorIyBuw7hkdmVuZGlndmlzIGVucworIzogZGlzay11dGlscy9mc2NrLmM6MTQ1OAorIywgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHJvb3QgdG8gc2NhbiBmb3IgbWF0Y2hpbmcgZmlsZXN5c3RlbXM6ICVzIgorbXNnc3RyICJza2FsIHbDpnJlIHJvb3QgKHJvZCkgZm9yIGF0IHNrYW5uZSBmb3IgcGFzc2VuZGUgZmlsc3lzdGVtZXI6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDYyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGZpbmQgbWF0Y2hpbmcgZmlsZXN5c3RlbTogJXMiCittc2dzdHIgImt1bm5lIGlra2UgZmluZGUgZmlsc3lzdGVtIGRlciBzdGVtbWVyIG92ZXJlbnM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDcwIGRpc2stdXRpbHMvZnNjay5jOjE1NjUgbWlzYy11dGlscy9raWxsLmM6MzYzCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyNzkKK21zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCittc2dzdHIgImZvciBtYW5nZSBwYXJhbWV0cmUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1MjUgZGlzay11dGlscy9mc2NrLmM6MTUyOAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXIiCittc2dzdHIgInVneWxkaWcgcGFyYW1ldGVyIGZvciAtciIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU3NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yOiAlZCIKK21zZ3N0ciAidWd5bGRpZyBwYXJhbWV0ZXIgZm9yIC1yOiAlZCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTYxOAorbXNnaWQgInRoZSAtbCBvcHRpb24gY2FuIGJlIHVzZWQgd2l0aCBvbmUgZGV2aWNlIG9ubHkgLS0gaWdub3JlIgorbXNnc3RyICJ0aWx2YWxnZXQgLWwga2FuIGt1biBicnVnZXMgbWVkIGVuIGVuaGVkIC0gaWdub3JlciIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPlxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIDxmaWw+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTYKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgY29tcHJlc3NlZCBST00gZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiS29udHJvbGxlciBvZyByZXBhcmVyIGV0IGtvbXByaW1lcmV0IFJPTS1maWxzeXN0ZW0uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTkKK21zZ2lkICIgLWEgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICAga3VuIGZvciBrb21wYXRpYmlsaXRldCwgaWdub3JlcmV0XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjAKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHbDpnIgbWVyZSB1ZGR5YmVuZGVcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMQorbXNnaWQgIiAteSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIgLXkgICAgICAgICAgICAgICAgICAgICAgIGt1biBmb3Iga29tcGF0aWJpbGl0ZXQsIGlnbm9yZXJldFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIyCittc2dpZCAiIC1iLCAtLWJsb2Nrc2l6ZSA8c2l6ZT4gICB1c2UgdGhpcyBibG9ja3NpemUsIGRlZmF1bHRzIHRvIHBhZ2Ugc2l6ZVxuIgorbXNnc3RyICIgLWIsIC0tYmxvY2tzaXplIDxzdHI+ICAgIGJydWcgZGVubmUgYmxva3N0w7hycmVsc2UsIHN0YW5kYXJkIGVyIHNpZGVzdMO4cnJlbHNlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjMKK21zZ2lkICIgICAgIC0tZXh0cmFjdFs9PGRpcj5dICAgIHRlc3QgdW5jb21wcmVzc2lvbiwgb3B0aW9uYWxseSBleHRyYWN0IGludG8gPGRpcj5cbiIKK21zZ3N0ciAiICAgICAtLWV4dHJhY3RbPTxtYXBwZT5dICB0ZXN0IHVkcGFrbmluZywgdWR0csOmayB2YWxnZnJpIHRpbCA8bWFwcGU+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZmFpbGVkOiB1bmFibGUgdG8gZGV0ZXJtaW5lIGRldmljZSBzaXplOiAlcyIKK21zZ3N0ciAiaW9jdGwgbWlzbHlra2VkZXM6IEt1bm5lIGlra2UgYmVzdGVtbWUgZmlsc3lzdGVtZXRzIHN0w7hycmVsc2U6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGJsb2NrIGRldmljZSBvciBmaWxlOiAlcyIKK21zZ3N0ciAiaHZlcmtlbiBlbiBibG9rZW5oZWQgZWxsZXIgZmlsOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3MCBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA2Cittc2dpZCAiZmlsZSBsZW5ndGggdG9vIHNob3J0IgorbXNnc3RyICJmaWxsw6ZuZ2RlIGZvciBrb3J0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzMKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNDkgbGliZmRpc2svc3JjL2JzZC5jOjcxOCBsaWJmZGlzay9zcmMvYnNkLmM6ODkwCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjA4IGxvZ2luLXV0aWxzL2xhc3QuYzoyNDIgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICJzZWVrIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAic8O4Z25pbmcgcMOlICVzIG1pc2x5a2tlZGVzIgorCisjIGhlciBrYW4gdmlzdCBnb2R0IGJydWdlcyBzdXBlcmJsb2ttYWdpLCBlbGxlciBsaWR0IHDDpm5lcmU6CisjICBtYWdpc2sgc3VwZXJibG9rLXRhbCBibGV2IC4uLgorIyAoJ21hZ2lza2UgdGFsJyBlciBub2dldCBzb20gbWFuIGJydWdlciB0aWwgYXQgdGpla2tlIGF0IGZpbHN5c3RlbWV0CisjIGhhciBkZXQgZ29kdCwgbWVuZXIgamVnLikKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODUgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NworbXNnaWQgInN1cGVyYmxvY2sgbWFnaWMgbm90IGZvdW5kIgorbXNnc3RyICJtYWdpc2sgc3VwZXJibG9rdGFsIGJsZXYgaWtrZSBmdW5kZXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3JhbWZzIGVuZGlhbm5lc3MgaXMgJXNcbiIKK21zZ3N0ciAiY3JhbWZzIGVuZGlhbm5lc3MgZXIgJXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MQorbXNnaWQgImJpZyIKK21zZ3N0ciAic3RvciIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MQorbXNnaWQgImxpdHRsZSIKK21zZ3N0ciAibGlsbGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTUKK21zZ2lkICJ1bnN1cHBvcnRlZCBmaWxlc3lzdGVtIGZlYXR1cmVzIgorbXNnc3RyICJmaWxzeXN0ZW1mdW5rdGlvbmVyIGVyIGlra2UgdW5kZXJzdMO4dHRldCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXBlcmJsb2NrIHNpemUgKCVkKSB0b28gc21hbGwiCittc2dzdHIgInN1cGVyYmxva3N0w7hycmVsc2UgKCVkKSBlciBmb3IgbGlsbGUiCisKKyMgInplcm8gKG51bCkgb3B0w6ZsbGluZyBhZiBmaWwiCisjIEFzazogamVnIGzDpnNlciBkZXQgc29tOiBmaWx0YWxsZXQgZXIgbnVsCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA0Cittc2dpZCAiemVybyBmaWxlIGNvdW50IgorbXNnc3RyICJmaWx0YWxsZXQgZXIgbnVsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA4Cittc2dpZCAiZmlsZSBleHRlbmRzIHBhc3QgZW5kIG9mIGZpbGVzeXN0ZW0iCittc2dzdHIgImZpbCBuw6VyIHVkIG92ZXIgZmlsc3lzdGVtZXRzIHNsdXRuaW5nIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjEwCittc2dpZCAib2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgImdhbW1lbHQgY3JhbWZzLWZvcm1hdCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxOQorbXNnaWQgInVuYWJsZSB0byB0ZXN0IENSQzogb2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgImthbiBpa2tlIHRlc3RlIENSQzogR2FtbWVsdCBjcmFtZnMtZm9ybWF0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjcyCittc2dpZCAiY3JjIGVycm9yIgorbXNnc3RyICJjcmMtZmVqbCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NTQKK21zZ2lkICJzZWVrIGZhaWxlZCIKK21zZ3N0ciAic8O4Z25pbmcgbWlzbHlra2VkZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDYKK21zZ2lkICJyZWFkIHJvbWZzIGZhaWxlZCIKK21zZ3N0ciAibMOmc25pbmcgYWYgcm9tZnMgbWlzbHlra2VkZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMzgKK21zZ2lkICJyb290IGlub2RlIGlzIG5vdCBkaXJlY3RvcnkiCittc2dzdHIgInJvZC1pbm9kZSBlciBpa2tlIGVuIG1hcHBlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByb290IG9mZnNldCAoJWx1KSIKK21zZ3N0ciAidWd5bGRpZyByb2Rmb3Jza3lkbmluZyAoJWx1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2MAorbXNnaWQgImRhdGEgYmxvY2sgdG9vIGxhcmdlIgorbXNnc3RyICJkYXRhYmxvayBlciBmb3Igc3RvciIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJkZWNvbXByZXNzaW9uIGVycm9yOiAlcyIKK21zZ3N0ciAiZGVrb21wcmltZXJpbmdzZmVqbDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBob2xlIGF0ICVsdSAoJXp1KVxuIgorbXNnc3RyICIgIGh1bCB2ZWQgJWx1ICglenUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTcgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICIgIHVuY29tcHJlc3NpbmcgYmxvY2sgYXQgJWx1IHRvICVsdSAoJWx1KVxuIgorbXNnc3RyICIgIHVkcGFra2VyIGJsb2sgZnJhICVsdSB0aWwgJWx1ICglbHUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJsb2NrICglbGQpIGJ5dGVzIgorbXNnc3RyICJpa2tlLWJsb2sgKCVsZCkgYnl0ZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwOAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tc2l6ZSAoJWxkIHZzICVsZCkgYnl0ZXMiCittc2dzdHIgImlra2Utc3TDuHJyZWxzZSAoJWxkIG1vZCAlbGQpIGJ5dGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MTMgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxNgorIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDQgbWlzYy11dGlscy91dWlkZC5jOjM3NSBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzgyCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUzNSBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1OCBzeXMtdXRpbHMvc3dhcG9uLmM6Mzg5CisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJza3Jpdm5pbmcgbWlzbHlra2VkZXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI0CisjLCBjLWZvcm1hdAorbXNnaWQgImxjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJsY2hvd24gbWlzbHlra2VkZXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI4CisjLCBjLWZvcm1hdAorbXNnaWQgImNob3duIGZhaWxlZDogJXMiCittc2dzdHIgImNob3duIG1pc2x5a2tlZGVzOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQzMworIywgYy1mb3JtYXQKK21zZ2lkICJ1dGltZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJ1dGltZSBtaXNseWtrZWRlczogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgIm1hcHBlbiBpbm9kZSBoYXIgbnVsZm9yc2t5ZG5pbmcgb2cgc3TDuHJyZWxzZSBmb3Jza2VsbGlnIGZyYSBudWw6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1rZGlyIGZhaWxlZDogJXMiCittc2dzdHIgIm1rZGlyIG1pc2x5a2tlZGVzOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3NgorbXNnaWQgImZpbGVuYW1lIGxlbmd0aCBpcyB6ZXJvIgorbXNnc3RyICJsw6ZuZ2RlbiBww6UgZmlsbmF2bmV0IGVyIG51bCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3OAorbXNnaWQgImJhZCBmaWxlbmFtZSBsZW5ndGgiCittc2dzdHIgInVneWxkaWcgbMOmbmdkZSBww6UgZmlsbmF2biIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4NAorbXNnaWQgImJhZCBpbm9kZSBvZmZzZXQiCittc2dzdHIgInVneWxkaWcgaW5vZGUtZm9yc2t5ZG5pbmciCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0OTkKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZSIKK21zZ3N0ciAiZmlsZW4gaW5vZGUgaGFyIG51bGZvcnNreWRuaW5nIG9nIHN0w7hycmVsc2UgZm9yc2tlbGxpZyBmcmEgbnVsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTAyCittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBzaXplIGFuZCBub24temVybyBvZmZzZXQiCittc2dzdHIgImZpbGVuIGlub2RlIGhhciBudWxzdMO4cnJlbHNlIG9nIGZvcnNreWRuaW5nIGZvcnNrZWxsaWcgZnJhIG51bCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMQorbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gb2Zmc2V0IgorbXNnc3RyICJzeW1ib2xzayBoZW52aXNuaW5nIGhhciBudWxmb3Jza3lkbmluZyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMworbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gc2l6ZSIKK21zZ3N0ciAic3ltYm9sc2sgaGVudmlzbmluZyBoYXIgbnVsc3TDuHJyZWxzZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU0MgorIywgYy1mb3JtYXQKK21zZ2lkICJzaXplIGVycm9yIGluIHN5bWxpbms6ICVzIgorbXNnc3RyICJzdMO4cnJlbHNlc2ZlamwgaSBzeW1ib2xzayBoZW52aXNuaW5nOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1NgorIywgYy1mb3JtYXQKK21zZ2lkICJzeW1saW5rIGZhaWxlZDogJXMiCittc2dzdHIgInN5bWJvbHNrIGhlbnZpc25pbmcgbWlzbHlra2VkZXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTY5CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZmlsZSBoYXMgbm9uLXplcm8gb2Zmc2V0OiAlcyIKK21zZ3N0ciAic3BlY2llbCBmaWwgaGFyIGZvcnNreWRuaW5nIGZvcnNrZWxsaWcgZnJhIG51bDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlmbyBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgImZpZm8gaGFyIHN0w7hycmVsc2UgZm9yc2tlbGxpZyBmcmEgbnVsOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU4NQorIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICJzb2trZWwgaGFyIHN0w7hycmVsc2UgZm9yc2tlbGxpZyBmcmEgbnVsOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU4OAorIywgYy1mb3JtYXQKK21zZ2lkICJib2d1cyBtb2RlOiAlcyAoJW8pIgorbXNnc3RyICJib2d1c3RpbHN0YW5kOiAlcyAoJW8pIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1rbm9kIGZhaWxlZDogJXMiCittc2dzdHIgIm1rbm9kIG1pc2x5a2tlZGVzOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYyOQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBzdGFydCAoJWx1KSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIHN0YXJ0ICglenUpIgorbXNnc3RyICJtYXBwZWRhdGFzdGFydCAoJWx1KSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIHN0YXJ0ICglenUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIGVuZCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCittc2dzdHIgIm1hcHBlZGF0YXNsdXRuaW5nICglbHUpICE9IHN0YXJ0IHDDpSBmaWxkYXRhICglbHUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjM3Cittc2dpZCAiaW52YWxpZCBmaWxlIGRhdGEgb2Zmc2V0IgorbXNnc3RyICJ1Z3lsZGlnIGZpbGRhdGFmb3Jza3lkbmluZyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY4NCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzI2Cittc2dpZCAiaW52YWxpZCBibG9ja3NpemUgYXJndW1lbnQiCittc2dzdHIgInVneWxkaWcgYmxva3N0w7hycmVsc2VzcGFyYW1ldGVyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBPS1xuIgorbXNnc3RyICIlczogTy5rLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODQKK21zZ2lkICJDaGVjayB0aGUgY29uc2lzdGVuY3kgb2YgYSBNaW5peCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJLb250cm9sbGVyIGtvbnNpc3RlbnNlbiBmb3IgZXQgTWluaXgtZmlsc3lzdGVtLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODYKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICBsaXN0IGFsbCBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgdmlzIGFsbGUgZmlsbmF2bmVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg3Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgYXV0b21hdGljIHJlcGFpclxuIgorbXNnc3RyICIgLWEsIC0tYXV0byAgICAgICBhdXRvbWF0aXNrIHJlcGFyYXRpb25cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg4Cittc2dpZCAiIC1yLCAtLXJlcGFpciAgICAgaW50ZXJhY3RpdmUgcmVwYWlyXG4iCittc2dzdHIgIiAtciwgLS1yZXBhaXIgICAgIGludGVyYWt0aXYgcmVwYXJhdGlvblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBiZSB2ZXJib3NlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICB2w6ZyIHVkZHliZW5kZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTAKK21zZ2lkICIgLXMsIC0tc3VwZXIgICAgICBvdXRwdXQgc3VwZXItYmxvY2sgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiIC1zLCAtLXN1cGVyICAgICAgdmlzIHN1cGVyYmxva2luZm9ybWF0aW9uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MQorbXNnaWQgIiAtbSwgLS11bmNsZWFyZWQgIGFjdGl2YXRlIG1vZGUgbm90IGNsZWFyZWQgd2FybmluZ3NcbiIKK21zZ3N0ciAiIC1tLCAtLXVuY2xlYXJlZCAgYWt0aXZlciB0aWxzdGFuZCBmb3IgaWtrZSByeWRkZWRlIGFkdmFyc2xlclxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTIKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICBmb3JjZSBjaGVja1xuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICBmcmVtdHZpbmcga29udHJvbFxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhlc2UgeWVzIG5vIHF1ZXN0aW9ucyB1c2VzIHJwbWF0Y2goKSwgYW5kIHNob3VsZCBiZQorIy4gKiB0cmFuc2xhdGVkLgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICh5L24pPyAiCittc2dzdHIgIiVzIChqL24pPyAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAobi95KT8gIgorbXNnc3RyICIlcyAobi9qKT8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAieVxuIgorbXNnc3RyICJqXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJuXG4iCittc2dzdHIgIm5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQuXHQgIgorbXNnc3RyICIlcyBlciBtb250ZXJldC5cdCAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4OQorbXNnaWQgIkRvIHlvdSByZWFsbHkgd2FudCB0byBjb250aW51ZSIKK21zZ3N0ciAiVmlsIGR1IHZpcmtlbGlnIGZvcnRzw6Z0dGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJjaGVjayBhYm9ydGVkLlxuIgorbXNnc3RyICJ0amVrIGFmYnJ1ZHQuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMxOSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA8IEZJUlNUWk9ORSBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJab25lLW5yIDwgRklSU1RaT05FIGkgZmlsZW4gwrslc8KrLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzIyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yID49IFpPTkVTIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIlpvbmUgbnIgPj0gWk9ORVMgaSBmaWxlbiDCuyVzwqsuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQ3Cittc2dpZCAiUmVtb3ZlIGJsb2NrIgorbXNnc3RyICJGamVybiBibG9rIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogdW5hYmxlIHRvIHNlZWsgdG8gYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIkzDpnNlZmVqbDoga3VubmUgaWtrZSBzw7hnZSB0aWwgYmxvayBpIGZpbGVuIMK7JXPCq1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJMw6ZzZWZlamw6IHVneWxkaWcgYmxvayBpIGZpbGVuIMK7JXPCq1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkludGVybmFsIGVycm9yOiB0cnlpbmcgdG8gd3JpdGUgYmFkIGJsb2NrXG4iCisiV3JpdGUgcmVxdWVzdCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKyJJbnRlcm4gZmVqbDogZm9yc8O4Z2VyIGF0IHNrcml2ZSB1Z3lsZGlnIGJsb2tcbiIKKyJTa3JpdmVmb3Jzw7hnIGlnbm9yZXJldFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAic8O4Z25pbmcgbWlzbHlra2VkZXMgaSB3cml0ZV9ibG9jayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIldyaXRlIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIlNrcml2ZWZlamw6IFVneWxkaWcgYmxvayBpIGZpbCDCuyVzwqtcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTA1Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfc3VwZXJfYmxvY2siCittc2dzdHIgInPDuGduaW5nIG1pc2x5a2tlZGVzIGkgd3JpdGVfc3VwZXJfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUwNworbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAia3VubmUgaWtrZSBza3JpdmUgc3VwZXItYmxvayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTIwCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAiS3VubmUgaWtrZSBza3JpdmUgaW5vZGUtb3ZlcnNpZ3RlbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTIzCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICJLdW5uZSBpa2tlIHNrcml2ZSB6b25lLW92ZXJzaWd0ZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyNgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgIkt1bm5lIGlra2Ugc2tyaXZlIGlub2RlciIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTU4Cittc2dpZCAidW5hYmxlIHRvIGFsbG9jIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKK21zZ3N0ciAia3VubmUgaWtrZSBhbGxva2VyZSBtZWxsZW1sYWdyZSBmb3Igc3VwZXJibG9rIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjEKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBzdXBlciBibG9jayIKK21zZ3N0ciAia3VubmUgaWtrZSBsw6ZzZSBzdXBlci1ibG9rIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODMKK21zZ2lkICJiYWQgbWFnaWMgbnVtYmVyIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJ1Z3lsZGlndCBtYWdpc2sgbnVtbWVyIGkgc3VwZXItYmxvayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg1Cittc2dpZCAiT25seSAxayBibG9ja3Mvem9uZXMgc3VwcG9ydGVkIgorbXNnc3RyICJLdW4gMWsgYmxva2tlL3pvbmVyIHVuZGVyc3TDuHR0ZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4NworbXNnaWQgImJhZCBzX25pbm9kZXMgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInVneWxkaWd0IHNfbmlub2Rlcy1mZWx0IGkgc3VwZXItYmxvayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg5Cittc2dpZCAiYmFkIHNfaW1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInVneWxkaWd0IHNfaW1hcF9ibG9ja3MtZmVsdCBpIHN1cGVyLWJsb2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5MQorbXNnaWQgImJhZCBzX2ZpcnN0ZGF0YXpvbmUgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInVneWxkaWd0IHNfZmlyc3RkYXRhem9uZS1mZWx0IGkgc3VwZXItYmxvayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk0Cittc2dpZCAiYmFkIHNfem1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInVneWxkaWd0IHNfem1hcF9ibG9ja3MtZmVsdCBpIHN1cGVyLWJsb2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxMAorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIG1hcCIKK21zZ3N0ciAiS3VubmUgaWtrZSBhbGxva2VyZSBtZWxsZW1sYWdlciB0aWwgaW5vZGUtb3ZlcnNpZ3QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxMworbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgbWFwIgorbXNnc3RyICJLdW5uZSBpa2tlIGFsbG9rZXJlIG1lbGxlbWxhZ2VyIHRpbCB6b25lb3ZlcnNpZ3QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxNgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKK21zZ3N0ciAiS3VubmUgaWtrZSBhbGxva2VyZSBtZWxsZW1sYWdlciB0aWwgaW5vZGVyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTkKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBjb3VudCIKK21zZ3N0ciAiS3VubmUgaWtrZSBhbGxva2VyZSBtZWxsZW1sYWdlciB0aWwgaW5vZGUtb3B0w6ZsbGluZyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjIyCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBjb3VudCIKK21zZ3N0ciAiS3VubmUgaWtrZSBhbGxva2VyZSBtZWxsZW1sYWdlciB0aWwgem9uZW9wdMOmbGxpbmciCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyNgorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlIG1hcCIKK21zZ3N0ciAiS3VubmUgaWtrZSBsw6ZzZSBpbm9kZS1vdmVyc2lndCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjMwCittc2dpZCAiVW5hYmxlIHRvIHJlYWQgem9uZSBtYXAiCittc2dzdHIgIkt1bm5lIGlra2UgbMOmc2Ugem9uZW92ZXJzaWd0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzQKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZXMiCittc2dzdHIgIkt1bm5lIGlra2UgbMOmc2UgaW5vZGVyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCittc2dzdHIgIkFkdmFyc2VsOiBGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBpbm9kZXNcbiIKK21zZ3N0ciAiJWxkIGlub2RlclxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGJsb2Nrc1xuIgorbXNnc3RyICIlbGQgYmxva2tlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3RkYXRhem9uZT0lamQgKCVqZClcbiIKK21zZ3N0ciAiRsO4cnN0ZWRhdGF6b25lPSVqZCAoJWpkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JWRcbiIKK21zZ3N0ciAiWm9uZXN0w7hycmVsc2U9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIk1heHNpemU9JXp1XG4iCittc2dzdHIgIk1ha3NzdMO4cnJlbHNlPSV6dVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBzdGF0ZT0lZFxuIgorbXNnc3RyICJGaWxzeXN0ZW0tdGlsc3RhbmQ9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJuYW1lbGVuPSV6ZFxuIgorIlxuIgorbXNnc3RyICIiCisibmF2bmVsw6ZuZ2RlPSV6ZFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NjQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVkIG1hcmtlZCB1bnVzZWQsIGJ1dCB1c2VkIGZvciBmaWxlICclcydcbiIKK21zZ3N0ciAiSW5vZGUgJWQgZXIgbWFya2VyZXQgc29tIHVicnVndCwgbWVuIGJydWdlcyBhZiBmaWxlbiDCuyVzwqtcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjY3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcxNworbXNnaWQgIk1hcmsgaW4gdXNlIgorbXNnc3RyICJNYXJrZXIgaSBicnVnIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2ODkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaWxlIGAlcycgaGFzIG1vZGUgJTA1b1xuIgorbXNnc3RyICJGaWxlbiDCuyVzwqsgaGFyIHRpbHN0YW5kICUwNW9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Njk2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBpbm9kZSBjb3VudCB0b28gYmlnLlxuIgorbXNnc3RyICJBZHZhcnNlbDogQW50YWwgaW5vZGVyIGVyIGZvciBzdG9ydC5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzU1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2MworbXNnaWQgInJvb3QgaW5vZGUgaXNuJ3QgYSBkaXJlY3RvcnkiCittc2dzdHIgInJvZC1pbm9kZSBlciBpa2tlIGVuIG1hcHBlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NzUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrIGhhcyBiZWVuIHVzZWQgYmVmb3JlLiBOb3cgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiQmxvayBibGV2IGJydWd0IHRpZGxpZ2VyZS4gTnUgaSBmaWxlbiDCuyVzwqsuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODA4CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTIKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwOAorbXNnaWQgIkNsZWFyIgorbXNnc3RyICJTbGV0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrICVkIGluIGZpbGUgYCVzJyBpcyBtYXJrZWQgbm90IGluIHVzZS4iCittc2dzdHIgIkJsb2sgJWQgaSBmaWxlbiDCuyVzwqsgZXIgbWFya2VyZXQgc29tIHVicnVndC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MjAKK21zZ2lkICJDb3JyZWN0IgorbXNnc3RyICJLb3JyaWdlciIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTU5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRpcmVjdG9yeSAnJXMnIGNvbnRhaW5zIGEgYmFkIGlub2RlIG51bWJlciBmb3IgZmlsZSAnJS4qcycuIgorbXNnc3RyICJNYXBwZW4gwrslc8KrIGluZGVob2xkZXIgZm9ya2VydCBpbm9kZS1hbnRhbCBmb3IgZmlsZW4gwrslLipzwqsuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzNQorbXNnaWQgIiBSZW1vdmUiCittc2dzdHIgIiBGamVybiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTc3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdFxuIgorbXNnc3RyICIlczogdWd5bGRpZyBtYXBwZTogwrsuwqsgZXIgaWtrZSBmw7hyc3RcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTg2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuLicgaXNuJ3Qgc2Vjb25kXG4iCittc2dzdHIgIiVzOiB1Z3lsZGlnIG1hcHBlOiDCuy4uwqsgZXIgaWtrZSBudW1tZXIgdG9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA5NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTE3Cittc2dpZCAiaW50ZXJuYWwgZXJyb3IiCittc2dzdHIgImludGVybiBmZWpsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDk3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IHNpemUgPCAzMiIKK21zZ3N0ciAiJXM6IHVneWxkaWcgbWFwcGU6IHN0w7hycmVsc2UgPCAzMiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogaW52YWxpZCBpX3pvbmUsIHVzZSAtLXJlcGFpciB0byBmaXhcbiIKK21zZ3N0ciAiJXM6IHVneWxkaWcgbWFwcGU6IHVneWxkaWcgaV96b25lLCBicnVnIC0tcmVwYWlyIHRpbCBhdCByZXR0ZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTMyCittc2dpZCAic2VlayBmYWlsZWQgaW4gYmFkX3pvbmUiCittc2dzdHIgIm1pc2x5a2tldCBzw7hnbmluZyBpIGJhZF96b25lIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG1vZGUgbm90IGNsZWFyZWQuIgorbXNnc3RyICJJbm9kZSAlbHUtdGlsc3RhbmQgaWtrZSBzbGV0dGV0LiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA3CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBub3QgdXNlZCwgbWFya2VkIHVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIklub2RlICVsdSBpa2tlIGJydWd0LCBtYXJrZXJldCBzb20gYnJ1Z3QgaSBiaXRvdmVyc2lndGVuLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSB1c2VkLCBtYXJrZWQgdW51c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICJJbm9kZSAlbHUgaSBicnVnLCBtYXJrZXJldCBzb20gdWJydWd0IGkgYml0b3ZlcnNpZ3Rlbi4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTggZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxNAorbXNnaWQgIlNldCIKK21zZ3N0ciAiU8OmdCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE4CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSAobW9kZSA9ICUwN28pLCBpX25saW5rcz0lZCwgY291bnRlZD0lZC4iCittc2dzdHIgIklub2RlICVsdSAodGlsc3RhbmQgPSAlMDdvKSwgaV9ubGlua3M9JWQsIG9wdGFsdD0lZC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyMQorbXNnaWQgIlNldCBpX25saW5rcyB0byBjb3VudCIKK21zZ3N0ciAiU8OmdCBpX25saW5rcyB0aWwgZGV0IG9wdGFsdGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIzMworIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbWFya2VkIGluIHVzZSwgbm8gZmlsZSB1c2VzIGl0LiIKK21zZ3N0ciAiWm9uZSAlbHU6IG1hcmtlcmV0IHNvbSBicnVndCwgaW5nZW4gZmlsZXIgYnJ1Z2VyIGRlbi4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIzNQorbXNnaWQgIlVubWFyayIKK21zZ3N0ciAiQWZtYXJrZXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogaW4gdXNlLCBjb3VudGVkPSVkXG4iCittc2dzdHIgIlpvbmUgJWx1OiBpIGJydWcsIG9wdGFsdD0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTg3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiWm9uZSAlbHU6IGlra2UgaSBicnVnLCBvcHRhbHQ9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5MQorbXNnaWQgImJhZCBpbm9kZSBzaXplIgorbXNnc3RyICJ1Z3lsZGlnIGlub2RlLXN0w7hycmVsc2UiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyOTMKK21zZ2lkICJiYWQgdjIgaW5vZGUgc2l6ZSIKK21zZ3N0ciAidWd5bGRpZyB2MiBpbm9kZS1zdMO4cnJlbHNlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzM3Cittc2dpZCAibmVlZCB0ZXJtaW5hbCBmb3IgaW50ZXJhY3RpdmUgcmVwYWlycyIKK21zZ3N0ciAia3LDpnZlciB0ZXJtaW5hbCB0aWwgaW50ZXJha3RpdmUgcmVwYXJhdGlvbmVyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlcyIKK21zZ3N0ciAia3VubmUgaWtrZSDDpWJuZSAlczogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgY2xlYW4sIG5vIGNoZWNrLlxuIgorbXNnc3RyICIlcyBlciBpIG9yZGVuLCB0amVra2VzIGlra2UuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9yY2luZyBmaWxlc3lzdGVtIGNoZWNrIG9uICVzLlxuIgorbXNnc3RyICJHZW5uZW10dmluZ2VyIHRqZWsgYWYgZmlsc3lzdGVtIHDDpSAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1NworIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIG9uICVzIGlzIGRpcnR5LCBuZWVkcyBjaGVja2luZy5cbiIKK21zZ3N0ciAiRmlsc3lzdGVtIHDDpSAlcyBlciBtw6Vza2UgaWtrZSBpIG9yZGVuLCBrcsOmdmVyIGV0IHRqZWsuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2bGQgaW5vZGVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICIiCisiXG4iCisiJTZsZCBpbm9kZXIgYnJ1Z3QgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiU2bGQgem9uZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiU2bGQgem9uZXIgYnJ1Z3QgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmQgcmVndWxhciBmaWxlc1xuIgorIiU2ZCBkaXJlY3Rvcmllc1xuIgorIiU2ZCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGJsb2NrIGRldmljZSBmaWxlc1xuIgorIiU2ZCBsaW5rc1xuIgorIiU2ZCBzeW1ib2xpYyBsaW5rc1xuIgorIi0tLS0tLVxuIgorIiU2ZCBmaWxlc1xuIgorbXNnc3RyICIiCisiXG4iCisiJTZkIHJlZ3Vsw6ZyZSBmaWxlclxuIgorIiU2ZCBtYXBwZXJcbiIKKyIlNmQgdGVnbi1lbmhlZHNmaWxlclxuIgorIiU2ZCBibG9rLWVuaGVkc2ZpbGVyXG4iCisiJTZkIGhlbnZpc25pbmdlclxuIgorIiU2ZCBzeW1ib2xza2UgaGVudmlzbmluZ2VyXG4iCisiLS0tLS0tXG4iCisiJTZkIGZpbGVyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyJGSUxFIFNZU1RFTSBIQVMgQkVFTiBDSEFOR0VEXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIi1GSUxTWVNURU0gQkxFViBNT0RJRklDRVJFVC1cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MjMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODMzCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUzOSBkaXNrLXV0aWxzL3BhcnR4LmM6MTAzNSBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTIKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzk4IHN5cy11dGlscy9kbWVzZy5jOjY1OSBzeXMtdXRpbHMvd2RjdGwuYzozNDYKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQxMSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI3MiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjM0OQorIzogdGV4dC11dGlscy9wZy5jOjEyNDgKK21zZ2lkICJ3cml0ZSBmYWlsZWQiCittc2dzdHIgInNrcml2bmluZyBtaXNseWtrZWRlcyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtaWdodCBub3QgYmUgYW4gSVNPIGZpbGVzeXN0ZW0iCittc2dzdHIgIiVzOiBtw6UgaWtrZSB2w6ZyZSBldCBJU08tZmlsc3lzdGVtIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VlayBlcnJvciBvbiAlcyIKK21zZ3N0ciAic8O4Z2VmZWpsIHDDpSAlcyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTQyCisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWQgZXJyb3Igb24gJXMiCittc2dzdHIgImzDpnNlZmVqbCBww6UgJXMiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZWN0b3IgY291bnQ6ICVkLCBzZWN0b3Igc2l6ZTogJWRcbiIKK21zZ3N0ciAic2VrdG9yYW50YWw6ICVkLCBzZWt0b3JzdMO4cnJlbHNlOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8aXNvOTY2MF9pbWFnZV9maWxlPlxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIDxpc285NjYwX2JpbGxlZF9maWw+XG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3NAorbXNnaWQgIlNob3cgdGhlIGxlbmd0aCBvZiBhbiBJU08tOTY2MCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJWaXMgbMOmbmdkZW4gZm9yIGV0IElTTy05NjYwLWZpbHN5c3RlbS5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTc3Cittc2dpZCAiIC1kLCAtLWRpdmlzb3I9PG51bWJlcj4gIGRpdmlkZSB0aGUgYW1vdW50IG9mIGJ5dGVzIGJ5IDxudW1iZXI+XG4iCittc2dzdHIgIiAtZCwgLS1kaXZpc29yPTx0YWw+ICBkaXZpZGVyIGFudGFsbGV0IGFmIGJ5dGUgbWVkIDx0YWw+XG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3OAorbXNnaWQgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBzaG93IHNlY3RvciBjb3VudCBhbmQgc2l6ZVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgdmlzIHNla3RvcmFudGFsIG9nIHN0w7hycmVsc2VcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MjEwCittc2dpZCAiaW52YWxpZCBkaXZpc29yIGFyZ3VtZW50IgorbXNnc3RyICJ1Z3lsZGlnIHBhcmFtZXRlciBmb3IgbsOmdm5lciIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKK21zZ3N0ciAiQnJ1ZzogJXMgW3RpbHZhbGddIGVuaGVkIFtibG9rYW50YWxdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3NworbXNnaWQgIk1ha2UgYW4gU0NPIGJmcyBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJMYXYgZXQgU0NPIGJmcy1maWxzeXN0ZW0uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLU4sIC0taW5vZGVzPU5VTSAgICBzcGVjaWZ5IGRlc2lyZWQgbnVtYmVyIG9mIGlub2Rlc1xuIgorIiAtViwgLS12bmFtZT1OQU1FICAgIHNwZWNpZnkgdm9sdW1lIG5hbWVcbiIKKyIgLUYsIC0tZm5hbWU9TkFNRSAgICBzcGVjaWZ5IGZpbGUgc3lzdGVtIG5hbWVcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorIiAtYyAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKKyIgLWwgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAtViBhcyB2ZXJzaW9uIG11c3QgYmUgb25seSBvcHRpb25cbiIKKyIgLWgsIC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiVGlsdmFsZzpcbiIKKyIgLU4sIC0taW5vZGVzPUFOVCAgICBhbmdpdiDDuG5za2V0IGFudGFsIGlub2RlclxuIgorIiAtViwgLS12bmFtZT1OQVZOICAgIGFuZ2l2IG5hdm4gZm9yIGRpc2tlbmhlZFxuIgorIiAtRiwgLS1mbmFtZT1OQVZOICAgIGFuZ2l2IG5hdm4gZm9yIGZpbHN5c3RlbVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgIGZvcmtsYXIgaHZhZCBkZXIgc2tlclxuIgorIiAtYyAgICAgICAgICAgICAgICAgIGRlbm5lIGluZHN0aWxsaW5nIGlnbm9yZXJlcyBpIHN0aWxoZWRcbiIKKyIgLWwgICAgICAgICAgICAgICAgICBkZW5uZSBpbmRzdGlsbGluZyBpZ25vcmVyZXMgaSBzdGlsaGVkXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgdmlzIHZlcnNpb25zaW5mb3JtYXRpb24gb2cgYWZzbHV0XG4iCisiICAgICAgICAgICAgICAgICAgICAgLVYgc29tIHZlcnNpb24gc2thbCB2w6ZyZSBlbmVzdGUgdGlsdmFsZ1xuIgorIiAtaCwgLS1oZWxwICAgICAgICAgIHZpcyBkZW5uZSBoasOmbHBldGVrc3Qgb2cgYWZzbHV0XG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNDQKK21zZ2lkICJpbnZhbGlkIG51bWJlciBvZiBpbm9kZXMiCittc2dzdHIgInVneWxkaWd0IGFudGFsIGlub2RlciIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1MAorbXNnaWQgInZvbHVtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICJuYXZuIHDDpSBkaXNrZW5oZWQgZXIgZm9yIGxhbmd0IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU3Cittc2dpZCAiZnNuYW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgImZpbHN5c3RlbW5hdm4gZXIgZm9yIGxhbmd0IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTkzCittc2dpZCAiaW52YWxpZCBibG9jay1jb3VudCIKK21zZ3N0ciAidWd5bGRpZ3QgYmxva2FudGFsIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAia2FuIGlra2UgaW5kaGVudGUgc3TDuHJyZWxzZW4gYWYgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2tzIGFyZ3VtZW50IHRvbyBsYXJnZSwgbWF4IGlzICVsbHUiCittc2dzdHIgImJsb2twYXJhbWV0ZXIgZXIgZm9yIHN0b3IsIG1ha3MuIGVyICVsbHUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMTkKK21zZ2lkICJ0b28gbWFueSBpbm9kZXMgLSBtYXggaXMgNTEyIgorbXNnc3RyICJmb3IgbWFuZ2UgaW5vZGVyIC0gw7h2cmUgZ3LDpm5zZSBlciA1MTIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSwgbmVlZCBhdCBsZWFzdCAlbGx1IGJsb2NrcyIKK21zZ3N0ciAiaWtrZSBwbGFkcyBub2ssIGtyw6Z2ZXIgbWluZHN0ICVsbHUgYmxva2tlIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZTogJXNcbiIKK21zZ3N0ciAiRW5oZWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVm9sdW1lOiA8JS02cz5cbiIKK21zZ3N0ciAiRGlza2VuaGVkOiA8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJGU25hbWU6IDwlLTZzPlxuIgorbXNnc3RyICJGU25hdm46IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrU2l6ZTogJWRcbiIKK21zZ3N0ciAiQmxva3N0w7hycmVsc2U6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluIDEgYmxvY2spXG4iCittc2dzdHIgIklub2RlcjogJWxkIChpIGVuIGJsb2spXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluICVsbHUgYmxvY2tzKVxuIgorbXNnc3RyICJJbm9kZXI6ICVsZCAoaSAlbGx1IGJsb2trZSlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9ja3M6ICVsbHVcbiIKK21zZ3N0ciAiQmxva2tlOiAlbGx1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgZW5kOiAlZCwgRGF0YSBlbmQ6ICVkXG4iCittc2dzdHIgIklub2RlLXNsdXQ6ICVkLCBkYXRhLXNsdXQ6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTcKK21zZ2lkICJlcnJvciB3cml0aW5nIHN1cGVyYmxvY2siCittc2dzdHIgImZlamwgdW5kZXIgc2tyaXZuaW5nIGFmIHN1cGVyYmxvayIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI3OAorbXNnaWQgImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIKK21zZ3N0ciAiZmVqbCB1bmRlciBza3Jpdm5pbmcgYWYgcm9kLWlub2RlIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjgzCittc2dpZCAiZXJyb3Igd3JpdGluZyBpbm9kZSIKK21zZ3N0ciAiZmVqbCB1bmRlciBza3Jpdm5pbmcgYWYgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODYKK21zZ2lkICJzZWVrIGVycm9yIgorbXNnc3RyICJzw7hnZWZlamwiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTIKK21zZ2lkICJlcnJvciB3cml0aW5nIC4gZW50cnkiCittc2dzdHIgImZlamwgdW5kZXIgc2tyaXZuaW5nIGFmIC4taW5kZ2FuZyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5NgorbXNnaWQgImVycm9yIHdyaXRpbmcgLi4gZW50cnkiCittc2dzdHIgImZlamwgdW5kZXIgc2tyaXZuaW5nIGFmIC4uLWluZGdhbmciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2xvc2luZyAlcyIKK21zZ3N0ciAiZmVqbCB1bmRlciBsdWtuaW5nIGFmICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstdCA8dHlwZT5dIFtmcy1vcHRpb25zXSA8ZGV2aWNlPiBbPHNpemU+XVxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIFstdCA8dHlwZT5dIFtmcy10aWx2YWxnXSA8ZW5oZWQ+IFs8c3TDuHJyZWxzZT5dXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ4Cittc2dpZCAiTWFrZSBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkxhdiBldCBMaW51eC1maWxzeXN0ZW0uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdCwgLS10eXBlPTx0eXBlPiAgZmlsZXN5c3RlbSB0eXBlOyB3aGVuIHVuc3BlY2lmaWVkLCBleHQyIGlzIHVzZWRcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGU9PHR5cGU+ICBmaWxzeXN0ZW10eXBlOyBuw6VyIHVzcGVjaWZpY2VyZXQgYnJ1Z2VzIGV4dDJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICBmcy1vcHRpb25zICAgICBwYXJhbWV0ZXJzIGZvciB0aGUgcmVhbCBmaWxlc3lzdGVtIGJ1aWxkZXJcbiIKK21zZ3N0ciAiICAgICBmcy1vcHRpb25zICAgICBwYXJhbWV0cmUgZm9yIGRlbiByZWVsbGUgZmlsc3lzdGVtYnlnZ2VyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiICAgICA8ZW5oZWQ+ICAgICAgICBzdGkgdGlsIGVuaGVkZW4gc29tIHNrYWwgYnJ1Z2VzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPHNpemU+ICAgICAgICAgbnVtYmVyIG9mIGJsb2NrcyB0byBiZSB1c2VkIG9uIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiICAgICA8c3TDuHJyZWxzZT4gICAgYW50YWwgYmxva2tlIGRlciBza2FsIGJydWdlcyBww6UgZW5oZWRlblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeWluZyAtViBtb3JlIHRoYW4gb25jZSB3aWxsIGNhdXNlIGEgZHJ5LXJ1blxuIgorbXNnc3RyICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICBmb3JrbGFyIGh2YWQgZGVyIHNrZXI7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZmljZXJpbmcgYWYgLVYgbWVyZSBlbmQgZW4gZ2FuZyB2aWwgbWVkZsO4cmUgZXQgdMO4cmzDuGJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJzaW9uICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0O1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAtViBhcyAtLXZlcnNpb24gbXVzdCBiZSB0aGUgb25seSBvcHRpb25cbiIKK21zZ3N0ciAiIgorIiAtViwgLS12ZXJzaW9uICAgICAgdmlzIHZlcnNpb25zaW5mb3JtYXRpb24gb2cgYWZzbHV0O1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAtViBzb20gLS12ZXJzaW9uIHNrYWwgdsOmcmUgZGV0IGVuZXN0ZSB0aWx2YWxnXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAgICAgIHZpcyBkZW5uZSBoasOmbHBldGVrc3Qgb2cgYWZzbHV0XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjEzOSBsaWIvZXhlY19zaGVsbC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjIzMworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjU3IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk5MgorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwMCBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODA0IHNjaGVkdXRpbHMvY2hydC5jOjU1OAorIzogc2NoZWR1dGlscy9pb25pY2UuYzoyNjAgc2NoZWR1dGlscy90YXNrc2V0LmM6MjM5IHN5cy11dGlscy9mbG9jay5jOjEyMgorIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MzAgc3lzLXV0aWxzL3BybGltaXQuYzo2NDQgc3lzLXV0aWxzL3J0Y3dha2UuYzo1NzcKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzI0IHN5cy11dGlscy9zZXRhcmNoLmM6NDAzIHN5cy11dGlscy9zZXRzaWQuYzoxMTUKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozNDAgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjQyIHN5cy11dGlscy91bnNoYXJlLmM6NDYxCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU4MSB0ZXh0LXV0aWxzL3BnLmM6MTM3NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIKK21zZ3N0ciAia3VubmUgaWtrZSBrw7hyZSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidXNhZ2U6ICVzIFstaF0gWy12XSBbLWIgYmxrc2l6ZV0gWy1lIGVkaXRpb25dIFstTiBlbmRpYW5dIFstaSBmaWxlXSBbLW4gbmFtZV0gZGlybmFtZSBvdXRmaWxlXG4iCisiIC1oICAgICAgICAgcHJpbnQgdGhpcyBoZWxwXG4iCisiIC12ICAgICAgICAgYmUgdmVyYm9zZVxuIgorIiAtRSAgICAgICAgIG1ha2UgYWxsIHdhcm5pbmdzIGVycm9ycyAobm9uLXplcm8gZXhpdCBzdGF0dXMpXG4iCisiIC1iIGJsa3NpemUgdXNlIHRoaXMgYmxvY2tzaXplLCBtdXN0IGVxdWFsIHBhZ2Ugc2l6ZVxuIgorIiAtZSBlZGl0aW9uIHNldCBlZGl0aW9uIG51bWJlciAocGFydCBvZiBmc2lkKVxuIgorIiAtTiBlbmRpYW4gIHNldCBjcmFtZnMgZW5kaWFubmVzcyAoYmlnfGxpdHRsZXxob3N0KSwgZGVmYXVsdCBob3N0XG4iCisiIC1pIGZpbGUgICAgaW5zZXJ0IGEgZmlsZSBpbWFnZSBpbnRvIHRoZSBmaWxlc3lzdGVtIChyZXF1aXJlcyA+PSAyLjQuMClcbiIKKyIgLW4gbmFtZSAgICBzZXQgbmFtZSBvZiBjcmFtZnMgZmlsZXN5c3RlbVxuIgorIiAtcCAgICAgICAgIHBhZCBieSAlZCBieXRlcyBmb3IgYm9vdCBjb2RlXG4iCisiIC1zICAgICAgICAgc29ydCBkaXJlY3RvcnkgZW50cmllcyAob2xkIG9wdGlvbiwgaWdub3JlZClcbiIKKyIgLXogICAgICAgICBtYWtlIGV4cGxpY2l0IGhvbGVzIChyZXF1aXJlcyA+PSAyLjMuMzkpXG4iCisiIGRpcm5hbWUgICAgcm9vdCBvZiB0aGUgZmlsZXN5c3RlbSB0byBiZSBjb21wcmVzc2VkXG4iCisiIG91dGZpbGUgICAgb3V0cHV0IGZpbGVcbiIKK21zZ3N0ciAiIgorImJydWc6ICVzIFstaF0gWy12XSBbLWIgYmxva3N0cl0gWy1lIHVkZ2F2ZV0gWy1OIGVuZGlhbl0gWy1pIGZpbF0gWy1uIG5hdm5dIG1hcHBlbmF2biB1ZGZpbFxuIgorIiAtaCAgICAgICAgIHZpcyBkZW5uZSBoasOmbHBldGVrc3RcbiIKKyIgLXYgICAgICAgICB2w6ZyIG1lcmUgZm9ya2xhcmVuZGVcbiIKKyIgLUUgICAgICAgICBnw7hyIGFsbGUgYWR2YXJzbGVyIHRpbCBmZWpsIChhZnNsdXRuaW5nc3N0YXR1cyBvdmVyIG51bClcbiIKKyIgLWIgYmxva3N0ciBiZW55dCBkZW5uZSBibG9rc3TDuHJyZWxzZSwgc2thbCBzdmFyZSB0aWwgc2lkZXN0w7hycmVsc2VuXG4iCisiIC1lIHVkZ2F2ZSAgYW5naXYgdWRnYXZlbnVtbWVyIChlbiBkZWwgYWYgZnNpZClcbiIKKyIgLU4gZW5kaWFuICBzw6Z0IGVuZGlhbm5lc3MgZm9yIGNyYW1mcyAoYmlnfGxpdHRsZXxob3N0KSwgc3RhbmRhcmR2w6ZydFxuIgorIiAtaSBmaWwgICAgIGluZHPDpnQgZmlsYWZ0cnlrIGkgZmlsc3lzdGVtZXQgKGtyw6Z2ZXIgPj0gMi40LjApXG4iCisiIC1uIG5hdm4gICAgYW5naXYgbmF2bmV0IHDDpSBjcmFtZnMtZmlsc3lzdGVtZXRcbiIKKyIgLXAgICAgICAgICBpbmRzw6Z0ICVkIGJ5dGUgZm9yYW4gb3BzdGFydHNrb2RlblxuIgorIiAtcyAgICAgICAgIHNvcnTDqXIgbWFwcGVpbmRnYW5nZSAoZ2FtbWVsdCB0aWx2YWxnLCBpZ25vcmVyZXMpXG4iCisiIC16ICAgICAgICAgbGF2IGVrc3BsaWNpdHRlIGh1bGxlciAoa3LDpnZlciA+PSAyLjMuMzkpXG4iCisiIG1hcHBlbmF2biAgcm9kZW4gYWYgZGV0IGZpbHN5c3RlbSwgZGVyIHNrYWwga29tcHJpbWVyZXNcbiIKKyIgdWRmaWwgICAgICB1ZGRhdGFmaWxcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICJyZWFkbGluayBtaXNseWtrZWRlczogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIGzDpnNlIG1hcHBlICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NDQzCittc2dpZCAiZmlsZXN5c3RlbSB0b28gYmlnLiAgRXhpdGluZy4iCittc2dzdHIgImZvciBzdG9ydCBmaWxzeXN0ZW0uICBBZnNsdXR0ZXIuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkFJRUVFOiBibG9jayBcImNvbXByZXNzZWRcIiB0byA+IDIqYmxvY2tsZW5ndGggKCVsZClcbiIKK21zZ3N0ciAiQUFBUkdIOiBibG9rIGJsZXYgwrtrb21wcmltZXJldMKrIHRpbCA+IDIqYmxva2zDpm5nZGVuICglbGQpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTYuMmYlJSAoJStsZCBieXRlcylcdCVzXG4iCittc2dzdHIgIiU2LjJmJSUgKCUrbGQgYnl0ZSlcdCVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNsb3NlIGZpbGUgJXMiCittc2dzdHIgImt1bm5lIGlra2UgbHVra2UgZmlsZW4gwrslc8KrIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzMyCittc2dpZCAiaW52YWxpZCBlZGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAidWd5bGRpZyBwYXJhbWV0ZXIgZm9yIGVkaXRpb25zbnVtbWVyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzQyCittc2dpZCAiaW52YWxpZCBlbmRpYW5uZXNzIGdpdmVuOyBtdXN0IGJlICdiaWcnLCAnbGl0dGxlJywgb3IgJ2hvc3QnIgorbXNnc3RyICJ1Z3lsZGlnIGVuZGlhbm5lc3MgYW5naXZldC4gU2thbCB2w6ZyZSDCu2JpZ8KrLCDCu2xpdHRsZcKrIGVsbGVyIMK7aG9zdMKrIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGd1ZXN0aW1hdGUgb2YgcmVxdWlyZWQgc2l6ZSAodXBwZXIgYm91bmQpIGlzICVsbGRNQiwgYnV0IG1heGltdW0gaW1hZ2Ugc2l6ZSBpcyAldU1CLiAgV2UgbWlnaHQgZGllIHByZW1hdHVyZWx5LiIKK21zZ3N0ciAiYWR2YXJzZWw6IGV0IGfDpnQgcMOlIGRlbiBuw7hkdmVuZGlnZSBzdMO4cnJlbHNlICjDuHZyZSBncsOmbnNlKSBlciAlbGxkTUIsIG1lbiBkZW4gbWFrc2ltYWxlIGFmdHJ5a3NzdMO4cnJlbHNlIGVyICV1TUIuICBWaSBibGl2ZXIgbXVsaWd2aXMgaWtrZSBmw6ZyZGlnZS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MzAKK21zZ2lkICJST00gaW1hZ2UgbWFwIgorbXNnc3RyICJST00tYWZ0cnlrc2tvcnQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5jbHVkaW5nOiAlc1xuIgorbXNnc3RyICJNZWR0YWdlcjogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg0OAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgZGF0YTogJXpkIGJ5dGVzXG4iCittc2dzdHIgIk1hcHBlZGF0YTogJXpkIGJ5dGVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg1NgorIywgYy1mb3JtYXQKK21zZ2lkICJFdmVyeXRoaW5nOiAlemQga2lsb2J5dGVzXG4iCittc2dzdHIgIkFsdDogJXpkIGtpbG9ieXRlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwZXIgYmxvY2s6ICV6ZCBieXRlc1xuIgorbXNnc3RyICJTdXBlcmJsb2s6ICV6ZCBieXRlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1JDOiAleFxuIgorbXNnc3RyICJDUkM6ICV4XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSBhbGxvY2F0ZWQgZm9yIFJPTSBpbWFnZSAoJWxsZCBhbGxvY2F0ZWQsICV6dSB1c2VkKSIKK21zZ3N0ciAiZGVyIGVyIHRpbGRlbHQgZm9yIGxpZHQgcGxhZHMgdGlsIFJPTS1hZnRyeWtrZXQgKCVsbGQgdGlsZGVsdCwgJXp1IGJydWd0KSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3OQorIywgYy1mb3JtYXQKK21zZ2lkICJST00gaW1hZ2Ugd3JpdGUgZmFpbGVkICglemQgJXpkKSIKK21zZ3N0ciAiU2tyaXZuaW5nIGFmIFJPTS1hZnRyeWsgbWlzbHlra2VkZXMgKCV6ZCAlemQpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODgyCittc2dpZCAiUk9NIGltYWdlIgorbXNnc3RyICJST00tYWZ0cnlrIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODkxCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGVuYW1lcyB0cnVuY2F0ZWQgdG8gJXUgYnl0ZXMuIgorbXNnc3RyICJhZHZhcnNlbDogZmlsbmF2bmUgYWZrb3J0ZXQgdGlsICV1IGJ5dGUuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODkzCittc2dpZCAid2FybmluZzogZmlsZXMgd2VyZSBza2lwcGVkIGR1ZSB0byBlcnJvcnMuIgorbXNnc3RyICJhZHZhcnNlbDogZmlsZXIgb3ZlcnNwcnVuZ2V0IHBnYS4gZmVqbC4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZSBzaXplcyB0cnVuY2F0ZWQgdG8gJWx1TUIgKG1pbnVzIDEgYnl0ZSkuIgorbXNnc3RyICJhZHZhcnNlbDogZmlsc3TDuHJyZWxzZXIgYWZrb3J0ZXQgdGlsICVsdU1CIChtaW51cyAxIGJ5dGUpLiIKKworIyBzcMO4cmdzbcOlbGV0IGVyIG9tIGRldCAqZ2l2ZXIqIHNpa2tlcmhlZHNwcm9ibGVtZXIsIGVsbGVyIG3DpXNrZSBiYXJlCisjIGVyIGV0IHN5bXB0b20gcMOlIGF0IGRlciBrYW4gdsOmcmUgc2lra2VyaGVkc3Byb2JsZW1lciA6KQorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5OQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJhZHZhcnNlbDogdWlkcyBmb3Jrb3J0ZXQgdGlsICV1IGJpdC4gKERldHRlIGthbiB2w6ZyZSBldCBzaWtrZXJoZWRzcHJvYmxlbS4pIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGdpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgImFkdmFyc2VsOiBnaWRzIGZvcmtvcnRldCB0aWwgJXUgYml0LiAoRGV0dGUga2FuIHbDpnJlIGV0IHNpa2tlcmhlZHNwcm9ibGVtLikiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldBUk5JTkc6IGRldmljZSBudW1iZXJzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgVGhpcyBhbG1vc3QgY2VydGFpbmx5IG1lYW5zXG4iCisidGhhdCBzb21lIGRldmljZSBmaWxlcyB3aWxsIGJlIHdyb25nLiIKK21zZ3N0ciAiIgorIkFEVkFSU0VMOiBlbmhlZHNudW1yZSBlciBhZmtvcnRldCB0aWwgJXUgYml0LiBEZXQgYmV0eWRlciBuw6ZzdGVuIG1lZFxuIgorInNpa2tlcmhlZCwgYXQgbm9nbGUgYWYgZW5oZWRzZmlsZXJuZSB2aWwgdsOmcmUgZmVqbGJlaMOmZnRlZGUuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSAvZGV2L25hbWUgW2Jsb2trZV1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM3Cittc2dpZCAiIC0xICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDFcbiIKK21zZ3N0ciAiIC0xICAgICAgICAgICAgICAgICAgICAgIGJydWcgTWluaXgtdmVyc2lvbiAxXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOAorbXNnaWQgIiAtMiwgLXYgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAyXG4iCittc2dzdHIgIiAtMiwgLXYgICAgICAgICAgICAgICAgICBicnVnIE1pbml4LXZlcnNpb24gMlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzkKK21zZ2lkICIgLTMgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gM1xuIgorbXNnc3RyICIgLTMgICAgICAgICAgICAgICAgICAgICAgYnJ1ZyBNaW5peC12ZXJzaW9uIDNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQwCittc2dpZCAiIC1uLCAtLW5hbWVsZW5ndGggPG51bT4gIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgLW4sIC0tbmFtZWxlbmd0aCA8YW50YWw+IG1ha3NpbWFsIGzDpm5nZGUgZm9yIGZpbG5hdm5lXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MQorbXNnaWQgIiAtaSwgLS1pbm9kZXMgPG51bT4gICAgICBudW1iZXIgb2YgaW5vZGVzIGZvciB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLWksIC0taW5vZGVzIDxhbnRhbD4gICAgYW50YWxsZSBhZiBpa251ZGVyIGZvciBmaWxzeXN0ZW1ldFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDIKK21zZ2lkICIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgY2hlY2sgdGhlIGRldmljZSBmb3IgYmFkIGJsb2Nrc1xuIgorbXNnc3RyICIgLWMsIC0tY2hlY2sgICAgICAgICAgICAga29udHJvbGxlciBlbmhlZGVuIGZvciB1Z3lsZGlnZSBibG9ra2VcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQzCittc2dpZCAiIC1sLCAtLWJhZGJsb2NrcyA8ZmlsZT4gIGxpc3Qgb2YgYmFkIGJsb2NrcyBmcm9tIGZpbGVcbiIKK21zZ3N0ciAiIC1sLCAtLWJhZGJsb2NrcyA8ZmlsPiAgIGxpc3RlIG1lZCB1Z3lsZGlnZSBibG9ra2UgZnJhIGZpbFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgdG8gYm9vdCBibG9jayBmYWlsZWQgIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAiJXM6IG1pc2x5a2tldCBzw7hnbmluZyB0aWwgb3BzdGFydHNibG9rIGkgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBjbGVhciBib290IHNlY3RvciIKK21zZ3N0ciAiJXM6IGt1bm5lIGlra2Ugc2xldHRlIG9wc3RhcnRzc2VrdG9yIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAiJXM6IHPDuGduaW5nIG1pc2x5a2tlZGVzIGkgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAiJXM6IGt1bm5lIGlra2Ugc2tyaXZlIHN1cGVyLWJsb2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAiJXM6IGt1bm5lIGlra2Ugc2tyaXZlIGlub2RlLW92ZXJzaWd0IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiJXM6IGt1bm5lIGlra2Ugc2tyaXZlIHpvbmVvdmVyc2lndCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICIlczoga3VubmUgaWtrZSBza3JpdmUgaW5vZGVyIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICIlczogc8O4Z25pbmcgbWlzbHlra2VkZXMgaSB3cml0ZV9ibG9jayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIiVzOiBtaXNseWtrZXQgc2tyaXZuaW5nIGkgd3JpdGVfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyMSBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyOTYKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjM0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIG1hbnkgYmFkIGJsb2NrcyIKK21zZ3N0ciAiJXM6IGZvciBtYW5nZSB1Z3lsZGlnZSBibG9ra2UiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGVub3VnaCBnb29kIGJsb2NrcyIKK21zZ3N0ciAiJXM6IGlra2Ugbm9rIGd5bGRpZ2UgYmxva2tlIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkZpcnN0IGRhdGEgYmxvY2sgYXQgJWpkLCB3aGljaCBpcyB0b28gZmFyIChtYXggJWQpLlxuIgorIlRyeSBzcGVjaWZ5aW5nIGZld2VyIGlub2RlcyBieSBwYXNzaW5nIC0taW5vZGVzIDxudW0+IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgaW5vZGVcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGlub2Rlc1xuIgorbXNnc3RyWzBdICIlbHUgaW5vZGVcbiIKK21zZ3N0clsxXSAiJWx1IGlub2RlclxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVsdSBibG9ja3NcbiIKK21zZ3N0clswXSAiJWx1IGJsb2tcbiIKK21zZ3N0clsxXSAiJWx1IGJsb2trZVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JXp1XG4iCittc2dzdHIgIlpvbmVzdMO4cnJlbHNlPSV6dVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk1heHNpemU9JXp1XG4iCisiXG4iCittc2dzdHIgIiIKKyJNYWtzc3TDuHJyZWxzZT0lenVcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBkdXJpbmcgdGVzdGluZyBvZiBibG9ja3MiCittc2dzdHIgIiVzOiBzw7hnbmluZyBtaXNseWtrZWRlcyB1bmRlciB0ZXN0IGFmIGJsb2trZSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIldlaXJkIHZhbHVlcyBpbiBkb19jaGVjazogcHJvYmFibHkgYnVnc1xuIgorbXNnc3RyICJNeXN0aXNrZSB2w6ZyZGllciBpIGRvX2NoZWNrOiBzYW5kc3lubGlndmlzIHByb2dyYW1mZWpsXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIgorbXNnc3RyICIlczogc8O4Z25pbmcgbWlzbHlra2VkZXMgaSBjaGVja19ibG9ja3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGJsb2NrcyBiZWZvcmUgZGF0YS1hcmVhOiBjYW5ub3QgbWFrZSBmcyIKK21zZ3N0ciAiJXM6IHVneWxkaWdlIGJsb2trZSBmw7hyIGRhdGFvbXLDpWRlOiBrYW4gaWtrZSBvcHJldHRlIGZpbHN5c3RlbSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjM5IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICIlZCBiYWQgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWQgYmFkIGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlZCB1Z3lsZGlnZSBibG9rXG4iCittc2dzdHJbMV0gIiVkIHVneWxkaWdlIGJsb2trZVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IG9wZW4gZmlsZSBvZiBiYWQgYmxvY2tzIgorbXNnc3RyICIlczoga2FuIGlra2Ugw6VibmUgZmlsIG1lZCB1Z3lsZGlnZSBibG9ra2UiCisKKyMgZGVuIGhlciBrYW4gamVnIGlra2UgZm9ydG9sa2UuICBNw6Vza2U6CisjIGJhZGJsb2NrLXRhbGluZGRhdGFmZWpsIHDDpS4uLgorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjUzCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZGJsb2NrIG51bWJlciBpbnB1dCBlcnJvciBvbiBsaW5lICVkXG4iCittc2dzdHIgInRhbGluZGRhdGFmZWpsIGFmIHR5cGVuIGJhZGJsb2NrIHDDpSBsaW5qZSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGJhZGJsb2NrcyBmaWxlIgorbXNnc3RyICIlczoga2FuIGlra2UgbMOmc2UgYmFkYmxvY2tzLWZpbCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk0CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIHNpemUgc21hbGxlciB0aGFuIHBoeXNpY2FsIHNlY3RvciBzaXplIG9mICVzIgorbXNnc3RyICJibG9rc3TDuHJyZWxzZSBtaW5kcmUgZW5kIGZ5c2lzayBzZWt0b3JzdMO4cnJlbHNlIHDDpSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgc2l6ZSBvZiAlcyIKK21zZ3N0ciAia2FuIGlra2UgYmVzdGVtbWUgc3TDuHJyZWxzZSBww6UgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVxdWVzdGVkIGJsb2NrcyAoJWxsdSkgZXhjZWVkcyBhdmFpbGFibGUgKCVsbHUpIGJsb2Nrc1xuIgorbXNnc3RyICIlczogYW5tb2R0ZSBibG9ra2UgKCVsbHUpIG92ZXJzdGlnZXIgdGlsZ8OmbmdlbGlnZSAoJWxsdSkgYmxva2tlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbnVtYmVyIG9mIGJsb2NrcyB0b28gc21hbGwiCittc2dzdHIgIiVzOiBmb3IgbGlsbGUgYW50YWwgYmxva2tlIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MjMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzI5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG5hbWUgbGVuZ3RoOiAlZCIKK21zZ3N0ciAiaWtrZSB1bmRlcnN0w7h0dGV0IG5hdm5lbMOmbmdkZTogJWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBtaW5peCBmaWxlIHN5c3RlbSB2ZXJzaW9uOiAlZCIKK21zZ3N0ciAiaWtrZSB1bmRlcnN0w7h0dGV0IG1pbml4LWZpbHN5c3RlbXZlcnNpb246ICVkIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NjcKK21zZ2lkICItdiBpcyBhbWJpZ3VvdXMsIHVzZSAnLTInIGluc3RlYWQiCittc2dzdHIgIi12IGVyIHR2ZXR5ZGlnLCBicnVnIMK7LTLCqyBpIHN0ZWRldCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Nzc4Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lcyIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBtYWtzaW1hbCBsw6ZuZ2RlIGZvciBmaWxuYXZuZSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzgyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBpbm9kZXMiCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgYW50YWwgaW5vZGVyIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MDYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGJsb2NrcyIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBhbnRhbGxldCBhZiBibG9ra2UiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIGEgZmlsZXN5c3RlbSBoZXJlISIKK21zZ3N0ciAiJXMgZXIgbW9udGVyZXQ7IHZpbCBpa2tlIG9wcmV0dGUgZXQgZmlsc3lzdGVtIGhlciEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIHVzZXItc3BlY2lmaWVkIHBhZ2Ugc2l6ZSAldSIKK21zZ3N0ciAiVWd5bGRpZyBzaWRlc3TDuHJyZWxzZSAldSBhbmdpdmV0IGFmIGJydWdlciIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJWQsIGluc3RlYWQgb2YgdGhlIHN5c3RlbSB2YWx1ZSAlZCIKK21zZ3N0ciAiQmVueXR0ZXIgYnJ1Z2VyYmVzdGVtdCBzaWRlc3TDuHJyZWxzZSAlZCBpIHN0ZWRldCBmb3Igc3lzdGVtdsOmcmRpZW4gJWQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTI0Cittc2dpZCAiTGFiZWwgd2FzIHRydW5jYXRlZC4iCittc2dzdHIgIkV0aWtldCBibGV2IGFma29ydGV0LiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbGFiZWwsICIKK21zZ3N0ciAiaW5nZW4gZXRpa2V0LCAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHV1aWRcbiIKK21zZ3N0ciAiaW5nZW4gdXVpZFxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXSBkZXZpY2UgW3NpemVdXG4iCittc2dzdHIgIiIKKyJcbiIKKyJCcnVnOlxuIgorIiAlcyBbdGlsdmFsZ10gZW5oZWQgW3N0w7hycmVsc2VdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTUyCittc2dpZCAiU2V0IHVwIGEgTGludXggc3dhcCBhcmVhLlxuIgorbXNnc3RyICJPcHPDpnQgZXQgTGludXgtc3dhcG9tcsOlZGUuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIGNoZWNrIGJhZCBibG9ja3MgYmVmb3JlIGNyZWF0aW5nIHRoZSBzd2FwIGFyZWFcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBhbGxvdyBzd2FwIHNpemUgYXJlYSBiZSBsYXJnZXIgdGhhbiBkZXZpY2VcbiIKKyIgLXAsIC0tcGFnZXNpemUgU0laRSAgICAgICBzcGVjaWZ5IHBhZ2Ugc2l6ZSBpbiBieXRlc1xuIgorIiAtTCwgLS1sYWJlbCBMQUJFTCAgICAgICAgIHNwZWNpZnkgbGFiZWxcbiIKKyIgLXYsIC0tc3dhcHZlcnNpb24gTlVNICAgICBzcGVjaWZ5IHN3YXAtc3BhY2UgdmVyc2lvbiBudW1iZXJcbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICBzcGVjaWZ5IHRoZSB1dWlkIHRvIHVzZVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIlRpbHZhbGc6XG4iCisiIC1jLCAtLWNoZWNrICAgICAgICAgICAgICAgdGplayBmb3IgdWd5bGRpZ2UgYmxva2tlIGbDuHIgb3ByZXR0ZWxzZSBhZiBzd2Fwb21yw6VkZVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIHRpbGxhZCBhdCBzdMO4cnJlbHNlbiBww6Ugc3dhcG9tcsOlZGV0IGVyIHN0w7hycmUgZW5kIGVuaGVkZW5cbiIKKyIgLXAsIC0tcGFnZXNpemUgU1TDmFJSRUxTRSAgYW5naXYgc2lkZXN0w7hycmVsc2UgaSBieXRlXG4iCisiIC1MLCAtLWxhYmVsIEVUSUtFVCAgICAgICAgYW5naXYgZXRpa2V0XG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAgYW5naXYgdmVyc2lvbnNudW1tZXIgZm9yIHN3YXBvbXLDpWRlXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgYW5naXYgdXVpZCdlbiBkZXIgc2thbCBicnVnZXNcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICB2aXMgdmVyc2lvbnNpbmZvcm1hdGlvbiBvZyBhZnNsdXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgICB2aXMgZGVubmUgaGrDpmxwZXRla3N0IG9nIGFmc2x1dFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBiYWQgcGFnZXM6ICVsdSIKK21zZ3N0ciAiZm9yIG1hbmdlIHVneWxkaWdlIHNpZGVyOiAlbHUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTk1Cittc2dpZCAic2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIgorbXNnc3RyICJzw7hnbmluZyBtaXNseWtrZWRlcyBpIGNoZWNrX2Jsb2NrcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJhZCBwYWdlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBiYWQgcGFnZXNcbiIKK21zZ3N0clswXSAiJWx1IHVneWxkaWcgc2lkZVxuIgorbXNnc3RyWzFdICIlbHUgdWd5bGRpZ2Ugc2lkZXJcbiIKKworIyBtw6Vza2UgbGliYmxraWQtcHJvYmUsIGlra2Ugc2lra2VyIChhbGxva2VyZSBueSB1bmRlcnPDuGdlbHNlIGFmIGxpYmJsa2lkCisjIEplZyB0cm9yIGlra2UgZGV0IGVyIGVuIHVuZGVyc8O4Z2Vsc2UgYWYsIG1lbiBzbmFyZXJlIG5vZ2V0IHNvbQorIyB1bmRlcnPDuGdlciBub2dldCBhbmRldC4gRGV0IGthbiBvZ3PDpSBzYWd0ZW5zIHbDpnJlIGVuIHByb2JlIHDDpSBkYW5zay4KKyMgU8OlIGplZyB2aWwgZm9yZXNsw6U6CisjICJrdW5uZSBpa2tlIHRpbGRlbGUgZW5oZWRlIHRpbCBsaWJibGtpZC1wcm9iZQorIzogZGlzay11dGlscy9ta3N3YXAuYzoyMjgKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgbmV3IGxpYmJsa2lkIHByb2JlIgorbXNnc3RyICJrdW5uZSBpa2tlIGFsbG9rZXJlIG55IGxpYmJsa2lkLXByb2JlIgorCisjIG3DpXNrZSBsaWJibGtpZC1wcm9iZSwgaWtrZSBzaWtrZXIKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMwCittc2dpZCAidW5hYmxlIHRvIGFzc2lnbiBkZXZpY2UgdG8gbGliYmxraWQgcHJvYmUiCittc2dzdHIgImt1bm5lIGlra2UgdGlsZGVsZSBlbmhlZCB0aWwgbGliYmxraWQtcHJvYmUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNoZWNraW5nIGJhZCBibG9ja3MgZnJvbSBzd2FwIGZpbGUgaXMgbm90IHN1cHBvcnRlZDogJXMiCittc2dzdHIgImFkdmFyc2VsOiBrb250cm9sIGFmIMO4ZGVsYWd0ZSBibG9ra2UgZnJhIHN3YXBmaWwgZXIgaWtrZSB1bmRlcnN0w7h0dGV0OiAlcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNjEgZGlzay11dGlscy9ta3N3YXAuYzoyODcgZGlzay11dGlscy9ta3N3YXAuYzozMzQKK21zZ2lkICJ1bmFibGUgdG8gcmV3aW5kIHN3YXAtZGV2aWNlIgorbXNnc3RyICJrdW5uZSBpa2tlIHNwb2xlIHRpbGJhZ2UgcMOlIHN3YXAtZW5oZWRlbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyOTAKK21zZ2lkICJ1bmFibGUgdG8gZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAia3VubmUgaWtrZSBzbGV0dGUgb3BzdGFydHNiaXQtc2VrdG9yZXIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiB3aXBpbmcgb2xkICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIiVzOiBhZHZhcnNlbDogZmplcm5lciBnYW1tZWwgJXMtc2lnbmF0dXIuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogZG9uJ3QgZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAiJXM6IGFkdmFyc2VsOiBzbGV0IGlra2Ugb3BzdGFydHNiaXQtc2VrdG9yZXIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKCVzIHBhcnRpdGlvbiB0YWJsZSBkZXRlY3RlZCkuICIKK21zZ3N0ciAiICAgICAgICAoJXMtcGFydGl0aW9uc3RhYmVsIGRldGVrdGVyZXQpLiAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKGNvbXBpbGVkIHdpdGhvdXQgbGliYmxraWQpLiAiCittc2dzdHIgIiAgICAgICAgKGtvbXBpbGVyZXQgdWRlbiBsaWJibGtpZCkuICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNlIC1mIHRvIGZvcmNlLlxuIgorbXNnc3RyICJCcnVnIC1mIGZvciBhdCBmcmVtdHZpbmdlIGtvbnRyb2xcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzaWduYXR1cmUgcGFnZSIKK21zZ3N0ciAiJXM6IGt1bm5lIGlra2Ugc2tyaXZlIHNpZ25hdHVyc2lkZSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODAKK21zZ2lkICJwYXJzaW5nIHBhZ2Ugc2l6ZSBmYWlsZWQiCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2Ugc2lkZXN0w7hycmVsc2UiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg2Cittc2dpZCAicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgdmVyc2lvbnNudW1tZXIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg5CisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBzcGFjZSB2ZXJzaW9uICVkIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgInN3YXBvbXLDpWRldmVyc2lvbiAlZCBlciBpa2tlIHVuZGVyc3TDuHR0ZXQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGlnbm9yaW5nIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQgYnkgJXMpIgorbXNnc3RyICJhZHZhcnNlbDogaWdub3JlciAtVSAoVVVJRCdlciBlciBpa2tlIHVuZGVyc3TDuHR0ZXQgYWYgJXMpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQxNAorbXNnaWQgIm9ubHkgb25lIGRldmljZSBhcmd1bWVudCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIgorbXNnc3RyICJrdW4gZW4gZW5oZWRzcGFyYW1ldGVyIGVyIHVuZGVyc3TDuHR0ZXQgaSDDuGplYmxpa2tldCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MjEKK21zZ2lkICJlcnJvcjogcGFyc2luZyBVVUlEIGZhaWxlZCIKK21zZ3N0ciAiZmVqbDogVVVJRC1mb3J0b2xrbmluZyBtaXNseWtrZWRlcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzAKK21zZ2lkICJlcnJvcjogTm93aGVyZSB0byBzZXQgdXAgc3dhcCBvbj8iCittc2dzdHIgImZlamw6IEluZ2VuIHN0ZWRlciBhdCBvcHPDpnR0ZSBzd2FwPyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzYKK21zZ2lkICJpbnZhbGlkIGJsb2NrIGNvdW50IGFyZ3VtZW50IgorbXNnc3RyICJ1Z3lsZGlnIHBhcmFtZXRlciBmb3IgYmxva2FudGFsIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc2l6ZSAlbGx1IEtpQiBpcyBsYXJnZXIgdGhhbiBkZXZpY2Ugc2l6ZSAlPFBSSXU2ND4gS2lCIgorbXNnc3RyICJmZWpsOiBzdMO4cnJlbHNlbiAlbGx1IEtpQiBlciBzdMO4cnJlIGVuZCBlbmhlZHNzdMO4cnJlbHNlbiAlPFBSSXU2ND4gS2lCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1MQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc3dhcCBhcmVhIG5lZWRzIHRvIGJlIGF0IGxlYXN0ICVsZCBLaUIiCittc2dzdHIgImZlamw6IHN3YXAtb21yw6VkZSBza2FsIG1pbmRzdCB2w6ZyZSBww6UgJWxkIEtpQiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdHJ1bmNhdGluZyBzd2FwIGFyZWEgdG8gJWxsdSBLaUIiCittc2dzdHIgImZlamw6IGFma29ydGVyIHN3YXAtb21yw6VkZXQgdGlsICVsbHUgS2lCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ2MQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBzd2Fwc3BhY2UiCittc2dzdHIgImZlamw6ICVzIGVyIG1vbnRlcmV0OyB2aWwgaWtrZSBvcHJldHRlIHN3YXBvbXLDpWRlIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ2OCBzeXMtdXRpbHMvc3dhcG9uLmM6NTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBwZXJtaXNzaW9ucyAlMDRvLCAlMDRvIHN1Z2dlc3RlZC4iCittc2dzdHIgIiVzOiB1c2lrcmUgdGlsbGFkZWxzZXIgJTA0bywgJTA0byBhbmJlZmFsZXMuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ3MiBzeXMtdXRpbHMvc3dhcG9uLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBmaWxlIG93bmVyICVkLCAwIChyb290KSBzdWdnZXN0ZWQuIgorbXNnc3RyICIlczogdXNpa2tlciBmaWxlamVyICVkLCAwIChyb290KSBhbmJlZmFsZXMuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ4NworbXNnaWQgIlVuYWJsZSB0byBzZXQgdXAgc3dhcC1zcGFjZTogdW5yZWFkYWJsZSIKK21zZ3N0ciAiS3VubmUgaWtrZSBrbGFyZ8O4cmUgc3dhcC1vbXLDpWRlOiB1bMOmc2VsaWd0IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIHVwIHN3YXBzcGFjZSB2ZXJzaW9uICVkLCBzaXplID0gJXMgKCU8UFJJdTY0PiBieXRlcylcbiIKK21zZ3N0ciAiS2xhcmfDuHIgc3dhcC1vbXLDpWRlIHZlcnNpb24gJWQsIHN0w7hycmVsc2UgPSAlcyAoJTxQUkl1NjQ+IGJ5dGUpXG4iCisKKyMgc2VsaW51eC1maWxldGlrZXQKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gb2J0YWluIHNlbGludXggZmlsZSBsYWJlbCIKK21zZ3N0ciAiJXM6IGt1bm5lIGlra2UgaW5kaGVudGUgc2VsaW51eCcgZmlsZXRpa2V0IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxNQorbXNnaWQgInVuYWJsZSB0byBtYXRjaHBhdGhjb24oKSIKK21zZ3N0ciAia3VubmUgaWtrZSBtYXRjaHBhdGhjb24oKSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTgKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIG5ldyBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgImt1bm5lIGlra2Ugb3ByZXR0ZSBueSBzZWxpbnV4a29udGVrc3QiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTIwCittc2dpZCAiY291bGRuJ3QgY29tcHV0ZSBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgImt1bm5lIGlra2UgYmVyZWduZSBzZWxpbnV4a29udGVrc3QiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZWxhYmVsICVzIHRvICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIG9tZMO4YmUgJXMgdGlsICVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODYKK21zZ2lkICJwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJwYXJ0aXRpb25zbnVtbWVyIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODcKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgInN0YXJ0IHDDpSBwYXJ0aXRpb25lbiBpIHNla3RvcmVyIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODgKK21zZ2lkICJlbmQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICJzbHV0bmluZyBww6UgcGFydGl0aW9uZW4gaSBzZWt0b3JlciIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg5Cittc2dpZCAibnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgImFudGFsIHNla3RvcmVyIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTAKK21zZ2lkICJodW1hbiByZWFkYWJsZSBzaXplIgorbXNnc3RyICJsw6ZzZXZlbmxpZyBzdMO4cnJlbHNlIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTEKK21zZ2lkICJwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAicGFydGl0aW9uc25hdm4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDggbWlzYy11dGlscy9sc2Jsay5jOjE2OAorbXNnaWQgInBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJwYXJ0aXRpb24tVVVJRCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkzCittc2dpZCAicGFydGl0aW9uIHRhYmxlIHR5cGUgKGRvcywgZ3B0LCAuLi4pIgorbXNnc3RyICJwYXJ0aXRpb25zdGFiZWx0eXBlIChkb3MsIGdwdCAuLi4pIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQgbWlzYy11dGlscy9sc2Jsay5jOjE2OQorbXNnaWQgInBhcnRpdGlvbiBmbGFncyIKK21zZ3N0ciAicGFydGl0aW9uc2ZsYWciCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIChhIHN0cmluZywgYSBVVUlELCBvciBoZXgpIgorbXNnc3RyICJwYXJ0aXRpb25zdHlwZSAoZW4gc3RyZW5nLCBlbiBVVUlEIGVsbGVyIGhleCkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDggc3lzLXV0aWxzL2xvc2V0dXAuYzo2MTYKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wY3h0IgorbXNnc3RyICJrdW5uZSBpa2tlIGluaXRpYWxpc2VyZSBsb29wY3h0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZCB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiBrdW5uZSBpa2tlIGZpbmRlIGxlZGlnIGzDuGtrZWVuaGVkIChsb29wIGRldmljZSkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvIHVzZSAnJXMnIGZvciB0aGUgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiRm9yc8O4Z2VyIGF0IGJydWdlIMK7JXPCqyBmb3IgbMO4a2tlZW5oZWRlblxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXM6IEt1bm5lIGlra2UgYW5naXZlIHJlc2VydmVmaWwiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo1NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiBrbGFyZ8O4cmluZyBhZiBsw7hra2VlbmhlZCBtaXNseWtrZWRlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjE2MSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjMwNyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozNzYKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzozNTQgbWlzYy11dGlscy9sc2xvY2tzLmM6MzQyIHN5cy11dGlscy9sb3NldHVwLmM6MTA3CisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNzIgc3lzLXV0aWxzL2xzaXBjLmM6MjMyIHN5cy11dGlscy9sc25zLmM6MTg5CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI3NyBzeXMtdXRpbHMvc3dhcG9uLmM6MTQ3IHN5cy11dGlscy93ZGN0bC5jOjE1MQorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzoxNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICJ1a2VuZHQga29sb25uZTogJXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiJXM6IGt1bm5lIGlra2UgaW5kaGVudGUgcGFydGl0aW9uc251bW1lciIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI4NiBkaXNrLXV0aWxzL3BhcnR4LmM6MzI0IGRpc2stdXRpbHMvcGFydHguYzo0NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lmaWVkIHJhbmdlIDwlZDolZD4gZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiZGV0IGFuZ2l2ZXQgaW50ZXJ2YWwgPCVkOiVkPiBnaXZlciBpa2tlIG1lbmluZyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICJyYW5nZSByZWNvdW50OiBtYXggcGFydG5vPSVkLCBsb3dlcj0lZCwgdXBwZXI9JWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiBmZWpsIHVuZGVyIHNsZXRuaW5nIGFmIHBhcnRpdGlvbiAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXM6IGZlamwgdW5kZXIgc2xldG5pbmcgYWYgcGFydGl0aW9uZXJuZSAlZC0lZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZW1vdmVkXG4iCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gIyVkIGZqZXJuZXRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBkb2Vzbid0IGV4aXN0XG4iCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gIyVkIGZpbmRlcyBpa2tlXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRlbGV0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlczogc2xldG5pbmcgYWYgcGFydGl0aW9uICMlZCBtaXNseWtrZWRlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXM6IGZlamwgdW5kZXIgdGlsZsO4amVsc2UgYWYgcGFydGl0aW9uICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXM6IGZlamwgdW5kZXIgdGlsZsO4amVsc2UgYWYgcGFydGl0aW9uZXIgJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MDUgZGlzay11dGlscy9wYXJ0eC5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBhZGRlZFxuIgorbXNnc3RyICIlczogcGFydGl0aW9uICMlZCB0aWxmw7hqZXRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYWRkaW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlczogdGlsZsO4amVsc2UgYWYgcGFydGl0aW9uICMlZCBtaXNseWtrZWRlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIlczogZmVqbCB1bmRlciBvcGRhdGVyaW5nIGFmIHBhcnRpdGlvbiAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXM6IGZlamwgdW5kZXIgb3BkYXRlcmluZyBhZiBwYXJ0aXRpb25lcm5lICVkLSVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBwYXJ0aXRpb24gIyVkIgorbXNnc3RyICIlczogaW5nZW4gcGFydGl0aW9uICMlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZXNpemVkXG4iCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gIyVkIGhhciBmw6VldCDDpm5kcmV0IHN0w7hycmVsc2VcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdXBkYXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiBvcGRhdGVyaW5nIGFmIHBhcnRpdGlvbiAjJWQgbWlzbHlra2VkZXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvciwgJTZqdSBNQilcbiIKK21zZ2lkX3BsdXJhbCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvcnMsICU2anUgTUIpXG4iCittc2dzdHJbMF0gIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWt0b3IsICU2anUgTUIpXG4iCittc2dzdHJbMV0gIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWt0b3JlciwgJTZqdSBNQilcbiIKKworIyBtw6Vza2UgdWRza3JpZnQKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1ODEgbWlzYy11dGlscy9maW5kbW50LmM6Njg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjcwNQorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzkxIHN5cy11dGlscy9sc25zLmM6NDU2Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBsaW5lIHRvIG91dHB1dCIKK21zZ3N0ciAia3VubmUgaWtrZSB0aWxmw7hqZSBsaW5qZSB0aWwgdWRkYXRhIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjQ0Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBkYXRhIHRvIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAia3VubmUgaWtrZSB0aWxmw7hqZSBkYXRhIHRpbCB1ZGRhdGF0YWJlbCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY2NyBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjkyMiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTg1CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg3NCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NTEgc3lzLXV0aWxzL2xvc2V0dXAuYzozMTAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MTMgc3lzLXV0aWxzL2xzaXBjLmM6MzM4IHN5cy11dGlscy9sc25zLmM6NTExCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI5NyBzeXMtdXRpbHMvc3dhcG9uLmM6MjgwIHN5cy11dGlscy93ZGN0bC5jOjI1OQorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo0ODQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgImt1bm5lIGlra2UgaW5pdGlhbGlzZXJlIHVkZGF0YXRhYmVsIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Njc4IG1pc2MtdXRpbHMvZmluZG1udC5jOjE2MTEgbWlzYy11dGlscy9sc2Jsay5jOjE4OTYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ2NSBzeXMtdXRpbHMvbG9zZXR1cC5jOjMyMiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM1OAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTcxOCBzeXMtdXRpbHMvbHNucy5jOjUzMiBzeXMtdXRpbHMvcHJsaW1pdC5jOjMwNgorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI4OSBzeXMtdXRpbHMvd2RjdGwuYzoyNzAgc3lzLXV0aWxzL3pyYW1jdGwuYzo0OTMKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICJrdW5uZSBpa2tlIGluaXRpYWxpc2VyZSB1ZGRhdGFrb2xvbm5lIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzIyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIGZpbHRlciBmb3IgJyVzJyIKK21zZ3N0ciAia3VubmUgaWtrZSBpbml0aWFsaXNlcmUgYmxraWQtZmlsdGVyIGZvciDCuyVzwqsiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiJXM6IGt1bm5lIGlra2UgbMOmc2UgcGFydGl0aW9uc3RhYmVsIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgdHlwZSAnJXMnIGRldGVjdGVkXG4iCittc2dzdHIgIiVzOiBwYXJ0aXRpb25zdGFiZWx0eXBlIMK7JXPCqyBkZXRla3RlcmV0XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB3aXRoIG5vIHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiBwYXJ0aXRpb25zdGFiZWwgdWRlbiBwYXJ0aXRpb25lciIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0aXRpb24+XSA8ZGlzaz5cbiIKK21zZ3N0ciAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8cGFydGl0aW9uPl0gPGRpc2s+XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTYKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIHByZXNlbmNlIGFuZCBudW1iZXJpbmcgb2YgcGFydGl0aW9ucy5cbiIKK21zZ3N0ciAiRm9ydMOmbCBrZXJuZW4gb20gdGlsc3RlZGV2w6ZyZWxzZW4gb2cgYW50YWxsZXQgYWYgcGFydGl0aW9uZXIuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTkKK21zZ2lkICIgLWEsIC0tYWRkICAgICAgICAgICAgYWRkIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtIGEsIC0tYWRkICAgICAgICAgICB0aWxmw7hqIHNwZWNpZmljZXJlZGUgcGFydGl0aW9uZXIgZWxsZXIgZGVtIGFsbGVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MAorbXNnaWQgIiAtZCwgLS1kZWxldGUgICAgICAgICBkZWxldGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIC1kIC0tZGVsZXRlICAgICAgICAgIHNsZXQgc3BlY2lmaWNlcmVkZSBwYXJ0aXRpb25lciBlbGxlciBkZW0gYWxsZVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYxCittc2dpZCAiIC11LCAtLXVwZGF0ZSAgICAgICAgIHVwZGF0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLXUsIC0tdXBkYXRlICAgICAgICAgb3BkYXRlciBzcGVjaWZpY2VyZWRlIHBhcnRpdGlvbmVyIGVsbGVyIGRlbSBhbGxlXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjIKK21zZ2lkICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgIGxpc3QgcGFydGl0aW9uc1xuIgorIlxuIgorbXNnc3RyICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgIHZpcyBwYXJ0aXRpb25lclxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYzIG1pc2MtdXRpbHMvbHNibGsuYzoxNjIzCittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICB1ZHNrcml2IFNUw5hSUkVMU0UgaSBieXRlIGZyZW0gZm9yIGkgZXQgbMOmc2V2ZW5saWd0IGZvcm1hdFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY0Cittc2dpZCAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLXNob3dcbiIKK21zZ3N0ciAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIHVkc2tyaXYgaWtrZSBvdmVyc2tyaWZ0ZXIgZm9yIC0tc2hvd1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY1Cittc2dpZCAiIC1uLCAtLW5yIDxuOm0+ICAgICAgIHNwZWNpZnkgdGhlIHJhbmdlIG9mIHBhcnRpdGlvbnMgKGUuZy4gLS1uciAyOjQpXG4iCittc2dzdHIgIiAtbiwgLS1uciA8bjptPiAgICAgICBhbmdpdiBpbnRlcnZhbCBmb3IgcGFydGl0aW9uZXJuZSAoZi5la3MuIC0tbnIgMjo0XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjYKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDx2aXM+ICAgZGVmaW5lciBodmlsa2VuIHJlc3VsdGF0a29sb25uZSwgZGVyIHNrYWwgYnJ1Z2VzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjcgbWlzYy11dGlscy9sc2Jsay5jOjE2MzcKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVAsIC0tcGFpcnMgICAgICAgICAgYnJ1ZyB1ZGRhdGFmb3JtYXQgZm9yIG7DuGdsZT3Cu3bDpnJkacKrXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjggbWlzYy11dGlscy9sc2Jsay5jOjE2MzgKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICBicnVnIHLDpSB1ZGRhdGFmb3JtYXRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICBzcGVjaWZ5IHRoZSBwYXJ0aXRpb24gdHlwZSAoZG9zLCBic2QsIHNvbGFyaXMsIGV0Yy4pXG4iCittc2dzdHIgIiAtdCwgLS10eXBlIDx0eXBlPiAgICBhbmdpdiBwYXJ0aXRpb25zdHlwZW4gKGRvcywgYnNkLCBzb2xhcmlzIGV0Yy4pXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzAgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgdWRkeWJlbmRlIHRpbHN0YW5kXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzYKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3csIC0tcmF3IG9yIC0tcGFpcnMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiVGlsZ8OmbmdlbGlnZSBrb2xvbm5lciAoZm9yIC0tc2hvdywgLS1yYXcgZWxsZXIgLS1wYWlycyk6XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS1uciA8TS1OPiByYW5nZSIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSAtLW5yIDxNLU4+LWludGVydmFsIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTI0Cittc2dpZCAicGFydGl0aW9uIGFuZCBkaXNrIG5hbWUgZG8gbm90IG1hdGNoIgorbXNnc3RyICJwYXJ0aXRpb24gb2cgZGlza25hdm4gbWF0Y2hlciBpa2tlIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTUyCittc2dpZCAiLS1uciBhbmQgPHBhcnRpdGlvbj4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLS1uciBvZyA8cGFydGl0aW9uPiB1ZGVsdWtrZXIgaGluYW5kZW4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFydGl0aW9uOiAlcywgZGlzazogJXMsIGxvd2VyOiAlZCwgdXBwZXI6ICVkXG4iCittc2dzdHIgInBhcnRpdGlvbjogJXMsIGRpc2s6ICVzLCBuZWRyZTogJWQsIMO4dnJlOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlIHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiBrYW4gaWtrZSBzbGV0dGUgcGFydGl0aW9uZXIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiJXM6IHBhcnRpdGlvbmVyZWRlIGzDuGtrZW5oZWRlciBlciBpa2tlIHVuZGVyc3TDuHR0ZXQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBibGtpZCBwcm9iZXIiCittc2dzdHIgIiVzOiBrdW5uZSBpa2tlIGluaXRpYWxpc2VyZSBibGtpZC10ZXN0cHJvZ3JhbSIKKworIzogZGlzay11dGlscy9yYXcuYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgJTIkc3Jhd04gPG1ham9yPiA8bWlub3I+XG4iCisiICUxJHMgJTIkc3Jhd04gL2Rldi88YmxvY2tkZXZpY2U+XG4iCisiICUxJHMgLXEgJTIkc3Jhd05cbiIKKyIgJTEkcyAtcWFcbiIKK21zZ3N0ciAiIgorIiAlMSRzICUyJHNyYXdOIDxob3ZlZG51bW1lcj4gPHVuZGVybnVtbWVyPlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPGJsb2tlbmhlZD5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjU4Cittc2dpZCAiQmluZCBhIHJhdyBjaGFyYWN0ZXIgZGV2aWNlIHRvIGEgYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICJCaW5kIGVuIHLDpSB0ZWduZW5oZWQgdGlsIGVuIGJsb2tlbmhlZC5cbiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MQorbXNnaWQgIiAtcSwgLS1xdWVyeSAgICBzZXQgcXVlcnkgbW9kZVxuIgorbXNnc3RyICIgLXEsIC0tcXVlcnkgICAgYW5naXYgZm9yZXNww7hyZ3NlbHN0aWxzdGFuZFxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYyCittc2dpZCAiIC1hLCAtLWFsbCAgICAgIHF1ZXJ5IGFsbCByYXcgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgZm9yZXNww7hyZyBhbGxlIHLDpSBlbmhlZGVyXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIHRoZSBjb250cm9sIHJhdyBkZXZpY2UgKHVzZSByYXc8Tj4gd2hlcmUgPE4+IGlzIGdyZWF0ZXIgdGhhbiB6ZXJvKSIKK21zZ3N0ciAiRW5oZWQgwrslc8KrIGVyIGNvbnRyb2wgcmF3IGRldiAoYnJ1ZyByYXc8Tj4gaHZvciA8Tj4gZXIgc3TDuHJyZSBlbmQgbnVsKSIKKworIzogZGlzay11dGlscy9yYXcuYzoxODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSBibG9jayBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiS3VubmUgaWtrZSBmaW5kZSBibG9rZW5oZWQgwrslc8KrIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIkVuaGVkIMK7JXPCqyBlciBpa2tlIGVuIGJsb2tlbmhlZCIKKworIzogZGlzay11dGlscy9yYXcuYzoxOTMgZGlzay11dGlscy9yYXcuYzoxOTYgc3lzLXV0aWxzL2lwY3JtLmM6MzUxCisjOiBzeXMtdXRpbHMvaXBjcm0uYzozNjQgc3lzLXV0aWxzL2lwY3JtLmM6Mzc3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGFyZ3VtZW50IgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIHBhcmFtZXRlciIKKworIzogZGlzay11dGlscy9yYXcuYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiS2FuIGlra2Ugw6VibmUgbWFzdGVyIHJhdy1lbmhlZCDCuyVzwqsiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICJLYW4gaWtrZSBsb2thbGlzZXJlIHJhdy1lbmhlZCDCuyVzwqsiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJhdyBkZXZpY2UgJyVzJyBpcyBub3QgYSBjaGFyYWN0ZXIgZGV2IgorbXNnc3RyICJSYXctZW5oZWQgwrslc8KrIGVyIGlra2UgZW4gdGVnbmVuaGVkIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSByYXcgZGV2IgorbXNnc3RyICJFbmhlZCDCuyVzwqsgZXIgaWtrZSBlbiByYXctZW5oZWQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjQ1Cittc2dpZCAiRXJyb3IgcXVlcnlpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAiRmVqbCB1bmRlciBmb3Jlc3DDuHJnc2VsIHRpbCByYXctZW5oZWQgKCVzKSIKKworIyBob3ZlZG51bW1lciAlZCwgdW5kZXJudW1tZXIgJWQKKyMgKGZpbmRlcyB1bmRlciBtYWpvci9taW5vciBww6Ugb3JkbGlzdGVuKQorIzogZGlzay11dGlscy9yYXcuYzoyNTQgZGlzay11dGlscy9yYXcuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNyYXclZDogIGJvdW5kIHRvIG1ham9yICVkLCBtaW5vciAlZFxuIgorbXNnc3RyICIlc3JhdyVkOiBidW5kZXQgdGlsIGhvdmVkbnVtbWVyICVkLCB1bmRlcm51bW1lciAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI2OAorbXNnaWQgIkVycm9yIHNldHRpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAiRmVqbCB1bmRlciBpbmRzdGlsbGluZyBhZiByYXctZW5oZWQiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8bGVuZ3RoPlxuIgorbXNnc3RyICIgJXMgPGRpc2tlbmhlZD4gPHBhcnRpdGlvbnNudW1tZXI+IDxsw6ZuZ2RlPlxuIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoyMworbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgbmV3IHNpemUgb2YgYSBwYXJ0aXRpb24uXG4iCittc2dzdHIgIkZvcnTDpmwga2VybmVuIG9tIGRlbiBueWUgc3TDuHJyZWxzZSBmb3IgZW4gcGFydGl0aW9uLlxuIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBudW1iZXIgJXMiCittc2dzdHIgIiVzOiBrdW5uZSBpa2tlIGluZGhlbnRlIGJlZ3luZGVsc2UgcMOlIHBhcnRpdGlvbnNudW1tZXIgJXMiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwOQorbXNnaWQgImZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uIgorbXNnc3RyICJrdW5uZSBpa2tlIMOmbmRyZSBzdMO4cnJlbHNlIHDDpSBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjMxCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG5lc3RlZCBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICJrdW5uZSBpa2tlIGFsbG9rZXJlIGluZGxlanJldCBsaWJmZGlzay1rb250ZWtzdCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNlZWsgJXMiCittc2dzdHIgImthbiBpa2tlIHPDuGdlIChzZWVrKSAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDIgbGliZmRpc2svc3JjL2JzZC5jOjcyMyBsaWJmZGlzay9zcmMvYnNkLmM6ODk0CisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE2MyBzeXMtdXRpbHMvaHdjbG9jay5jOjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgJXMiCittc2dzdHIgImthbiBpa2tlIHNrcml2ZSAod3JpdGUpICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlMTJzIChvZmZzZXQgJTVqdSwgc2l6ZSAlNWp1KTogJXMiCittc2dzdHIgIiUxMnMgKGZvcnNreWRuaW5nICU1anUsIHN0w7hycmVsc2UgJTVqdSk6ICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCIKK21zZ3N0ciAiJXM6IGt1bm5lIGlra2Ugb3ByZXR0ZSBlbiBzaWtrZXJoZWRza29waSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMjgKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIGZpbGUsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAia3VubmUgaWtrZSBvcHJldHRlIGVuIHNpa2tlcmhlZHNrb3BpZmlsLCAkSE9NRSBlciBpa2tlIGRlZmluZXJldCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozNTQKK21zZ2lkICJCYWNrdXAgZmlsZXM6IgorbXNnc3RyICJMYXYgc2lra2VyaGVkc2tvcGkgYWYgZmlsZXI6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM3OQorbXNnaWQgImZhaWxlZCB0byByZWFkIG5ldyBwYXJ0aXRpb24gZnJvbSBkZXZpY2U7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJrdW5uZSBpa2tlIGzDpnNlIG55IHBhcnRpdGlvbiBmcmEgZW5oZWQ7IGlnbm9yZXJlciAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODEKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJrdW5uZSBpa2tlIGluZGhlbnRlIHN0w7hycmVsc2VuIHDDpSBkZW4gbnllIHBhcnRpdGlvbjsgaWdub3JlcmVyIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MworbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJrdW5uZSBpa2tlIGluZGhlbnRlIGJlZ3luZGVsc2UgcMOlIGRlbiBueWUgcGFydGl0aW9uOyBpZ25vcmVyZXIgLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg1Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAia3VubmUgaWtrZSBpbmRoZW50ZSBzdMO4cnJlbHNlIHDDpSBkZW4gZ2FtbGUgcGFydGl0aW9uOyBpZ25vcmVyZXIgLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIlczoga3VubmUgaWtrZSBpbmRoZW50ZSBiZWd5bmRlbHNlIHDDpSBwYXJ0aXRpb25zbnVtbWVyICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4OQorbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaGFzIG5vdCBiZWVuIG1vdmVkOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM5MQorbXNnaWQgIm5ldyBwYXJ0aXRpb24gaXMgc21hbGxlciB0aGFuIG9yaWdpbmFsOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0MQorbXNnaWQgIkRhdGEgbW92ZToiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiB0eXBlc2NyaXB0IGZpbGU6ICVzIgorbXNnc3RyICJLdW5uZSBpa2tlIGZvcnRvbGtlIHNrcmlwdGZpbGVuICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICIgb2xkIHN0YXJ0OiAlanUsIG5ldyBzdGFydDogJWp1IChtb3ZlICVqdSBzZWN0b3JzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUxCisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIG1vdmUgcGFydGl0aW9uIGRhdGE/IgorbXNnc3RyICJWaWwgZHUgdmlya2VsaWcgc2tyaXZlIGRldHRlIHRpbCBkaXNrZW4/IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1MyBkaXNrLXV0aWxzL3NmZGlzay5jOjE3ODMKK21zZ2lkICJMZWF2aW5nLiIKK21zZ3N0ciAiRm9ybGFkZXIuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjUyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBtb3ZlIGRhdGEiCittc2dzdHIgImt1bm5lIGlra2UgYW5naXZlIGRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQxCittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBpcyB1bmNoYW5nZWQgKC0tbm8tYWN0KS4iCittc2dzdHIgIlBhcnRpdGlvbnN0YWJlbGxlbiBlciB1w6ZuZHJldCAoLS1uby1hY3QpLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDcKK21zZ2lkICIiCisiXG4iCisiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiIgorIlxuIgorIlBhcnRpdGlvbnN0YWJlbGxlbiBlciDDpm5kcmV0LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbGFiZWwgJyVzJyIKK21zZ3N0ciAiaWtrZSB1bmRlcnN0w7h0dGV0IGV0aWtldCDCuyVzwqsiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjI2Cittc2dpZCAiIgorIklkICBOYW1lXG4iCisiXG4iCittc2dzdHIgIiIKKyJJZCAgTmF2blxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjY1NgorbXNnaWQgInVucmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUgdHlwZSIKK21zZ3N0ciAidWtlbmR0IHBhcnRpdGlvbnN0YWJlbHR5cGUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAiS2FuIGlra2UgZsOlIHN0w7hycmVsc2VuICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ0b3RhbDogJWp1IGJsb2Nrc1xuIgorbXNnc3RyICJpIGFsdDogJWp1IGJsb2trZVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgwOCBkaXNrLXV0aWxzL3NmZGlzay5jOjg3NiBkaXNrLXV0aWxzL3NmZGlzay5jOjkxNworIzogZGlzay11dGlscy9zZmRpc2suYzo5NDcgZGlzay11dGlscy9zZmRpc2suYzoxMDE0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA3OAorIzogZGlzay11dGlscy9zZmRpc2suYzoxMTMzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE4OSBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MzMKK21zZ2lkICJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgImluZ2VuIGRpc2tlbmhlZCBhbmdpdmV0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgxOQorbXNnaWQgInRvZ2dsZSBib290IGZsYWdzIGlzIHN1cHBvcnRlZCBmb3IgTUJSIG9ubHkiCittc2dzdHIgInNraWZ0IGFmIG9wc3RhcnRzZmxhZyBlciBrdW4gdW5kZXJzdMO4dHRldCBmb3IgTUJSIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg1MCBkaXNrLXV0aWxzL3NmZGlzay5jOjg5NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTkKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4MyBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzggZGlzay11dGlscy9zZmRpc2suYzoxMTk0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MzEgZGlzay11dGlscy9zZmRpc2suYzoyMDEzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgcGFydGl0aW9uc251bW1lciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlZDogZmFpbGVkIHRvIHRvZ2dsZSBib290YWJsZSBmbGFnIgorbXNnc3RyICIlczogcGFydGl0aW9uICVkOiBrdW5uZSBpa2tlIHNraWZ0ZSBvcHN0YXJ0c2JhcnQgZmxhZyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4OTEgZGlzay11dGlscy9zZmRpc2suYzo4OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZGVsZXRlIgorbXNnc3RyICIlczogcGFydGl0aW9uICV6dToga3VubmUgaWtrZSBpbmRoZW50ZSBwYXJ0aXRpb25zdHlwZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIkVuaGVkZW4gaW5kZWhvbGRlciBpa2tlIGVuIGdlbmtlbmR0IHBhcnRpdGlvbnN0YWJlbC4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTU4Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGR1bXAgc3RydWN0IgorbXNnc3RyICJrdW5uZSBpa2tlIGFsbG9rZXJlIGR1bXAgc3RydWN0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkdW1wIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAia3VubmUgaWtrZSBkdW1wZSBwYXJ0aXRpb25zdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uIHRhYmxlIGZvdW5kIgorbXNnc3RyICIlczogaWtrZSBmdW5kZXQgcGFydGl0aW9uc3RhYmVsLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uc3RhYmVsIGluZGVob2xkZXIga3VuICV6dSBwYXJ0aXRpb25lciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiBpcyB1bnVzZWQiCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gZXIgdWJydWd0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTggZGlzay11dGlscy9zZmRpc2suYzoxMDgyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzNworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTkzCittc2dpZCAibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiCittc2dzdHIgImludGV0IHBhcnRpdGlvbnNudW1tZXIgYW5naXZldCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4OCBkaXNrLXV0aWxzL3NmZGlzay5jOjExNDMKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5OQorbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnRzIgorbXNnc3RyICJ1dmVudGVkZSBhcmd1bWVudGVyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gJXp1OiBrdW5uZSBpa2tlIGluZGhlbnRlIHBhcnRpdGlvbnN0eXBlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIHBhcnRpdGlvbiB0eXBlICclcyciCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgJXMgcGFydGl0aW9uc3R5cGUgwrslc8KrIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gJXp1OiBrdW5uZSBpa2tlIGFuZ2l2ZSBwYXJ0aXRpb25zdHlwZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIlczogcGFydGl0aW9uICV6dToga3VubmUgaWtrZSBpbmRoZW50ZSBwYXJ0aXRpb24tVVVJRCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTEzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE2OCBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMjIKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG9iamVjdCIKK21zZ3N0ciAia3VubmUgaWtrZSBhbGxva2VyZSBwYXJ0aXRpb25zb2JqZWt0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gJXp1OiBrdW5uZSBpa2tlIGFuZ2l2ZSBwYXJ0aXRpb24tVVVJRCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlczogcGFydGl0aW9uICV6dToga3VubmUgaWtrZSBpbmRoZW50ZSBwYXJ0aXRpb25zbmF2biIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlczogcGFydGl0aW9uICV6dToga3VubmUgaWtrZSBhbmdpdmUgcGFydGl0aW9uc25hdm4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gYXR0cmlidXRlcyIKK21zZ3N0ciAiJXM6IHBhcnRpdGlvbiAlenU6IGt1bm5lIGlra2UgYW5naXZlIHBhcnRpdGlvbnNhdHRyaWJ1dHRlciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjY5Cittc2dpZCAiIENvbW1hbmRzOlxuIgorbXNnc3RyICIgS29tbWFuZG9lcjpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjcxCittc2dpZCAiICAgd3JpdGUgICAgd3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdFxuIgorbXNnc3RyICIgICBza3JpdiAgICBza3JpdiB0YWJlbCB0aWwgZGlzayBvZyBhZnNsdXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjcyCittc2dpZCAiICAgcXVpdCAgICAgc2hvdyBuZXcgc2l0dWF0aW9uIGFuZCB3YWl0IGZvciB1c2VyJ3MgZmVlZGJhY2sgYmVmb3JlIHdyaXRlXG4iCittc2dzdHIgIiAgIHF1aXQgICAgIHZpcyBueSBzaXR1YXRpb24gb2cgdmVudCBww6UgYnJ1Z2VycyB0aWxiYWdlbWVsZGluZyBmw7hyIHNrcml2bmluZ1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzMKK21zZ2lkICIgICBhYm9ydCAgICBleGl0IHNmZGlzayBzaGVsbFxuIgorbXNnc3RyICIgICBhYm9ydCAgICBhZnNsdXQgc2ZkaXNrLXNrYWxcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjc0CisjLCBmdXp6eQorbXNnaWQgIiAgIHByaW50ICAgIGRpc3BsYXkgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgICBwcmludCAgICB2aXMgcGFydGl0aW9uc3RhYmVsbGVuLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzUKKyMsIGZ1enp5Cittc2dpZCAiICAgaGVscCAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorbXNnc3RyICIgICBoZWxwICAgICBkZW5uZSBoasOmbHBldGVrc3QuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3NworIywgZnV6enkKK21zZ2lkICIgICBDdHJsLUQgICB0aGUgc2FtZSBhcyAncXVpdCdcbiIKK21zZ3N0ciAiICAgQ1RSTC1EICAgZGV0IHNhbW1lIHNvbSBrb21tYW5kb2VuIMK7cXVpdMKrXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MQorbXNnaWQgIiBJbnB1dCBmb3JtYXQ6XG4iCittc2dzdHIgIiBJbmRkYXRhZm9ybWF0OlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODMKK21zZ2lkICIgICA8c3RhcnQ+LCA8c2l6ZT4sIDx0eXBlPiwgPGJvb3RhYmxlPlxuIgorbXNnc3RyICIgICA8c3RhcnQ+LCA8c2l6ZT4sIDx0eXBlPiwgPGJvb3RhYmxlPlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODYKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAgIDxzdGFydD4gIEJlZ2lubmluZyBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyB0aGUgZmlyc3QgZnJlZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorIiAgIDxzdGFydD4gIGJlZ3luZGVsc2VuIGZvciBwYXJ0aXRpb25lbiBpIHNla3RvcmVyIGVsbGVyIGJ5dGUgaHZpcyBhbmdpdmV0XG4iCisiICAgICAgICAgICAgaSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS4gU3RhbmRhcmRlbiBlclxuIgorIiAgICAgICAgICAgIGRlbiBmw7hyc3RlIGxlZGlnZSBwbGFkcy5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkxCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgICA8c2l6ZT4gICBTaXplIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIGFsbCBhdmFpbGFibGUgc3BhY2UuXG4iCittc2dzdHIgIiIKKyIgICA8c2l6ZT4gICBzdMO4cnJlbHNlIGZvciBwYXJ0aXRpb25lbiBpIHNla3RvcmVyIGh2aXMgYW5naXZldCBpIGZvcm1hdGV0XG4iCisiICAgICAgICAgICAgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfSBzw6UgZm9ydG9sa2VzIGRldCBzb20gc3TDuHJyZWxzZVxuIgorIiAgICAgICAgICAgIGkgYnl0ZS4gU3RhbmRhcmRlbiBlciBhbCB0aWxnw6ZuZ2VsaWcgcGxhZHMuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NgorIywgZnV6enkKK21zZ2lkICIgICA8dHlwZT4gICBUaGUgcGFydGl0aW9uIHR5cGUuICBEZWZhdWx0IGlzIGEgTGludXggZGF0YSBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiAgIDx0eXBlPiAgIHBhcnRpdGlvbnN0eXBlLiBTdGFuZGFyZGVuIGVyIExpbnV4LWRhdGFwYXJ0aXRpb24uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NworbXNnaWQgIiAgICAgICAgICAgIE1CUjogaGV4IG9yIEwsUyxFLFggc2hvcnRjdXRzLlxuIgorbXNnc3RyICIgICAgICAgICAgICBNQlI6IGhleCBlbGxlciBMLFMsRSxYIGdlbnZlamUuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5OAorIywgZnV6enkKK21zZ2lkICIgICAgICAgICAgICBHUFQ6IFVVSUQgb3IgTCxTLEggc2hvcnRjdXRzLlxuIgorbXNnc3RyICIgICAgICAgICAgICBHUFQ6IHV1aWQgZWxsZXIgTCxTLEggZ2VudmVqZS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzAxCisjLCBmdXp6eQorbXNnaWQgIiAgIDxib290YWJsZT4gIFVzZSAnKicgdG8gbWFyayBhbiBNQlIgcGFydGl0aW9uIGFzIGJvb3RhYmxlLlxuIgorbXNnc3RyICIgICA8Ym9vdGFibGU+ICDCuyrCqyBmb3IgYXQgbWFya2VyZSBNQlItcGFydGl0aW9uIHNvbSBvcHN0YXJ0c2Jhci4gXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNQorbXNnaWQgIiBFeGFtcGxlOlxuIgorbXNnc3RyICIgRWtzZW1wZWw6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNworIywgZnV6enkKK21zZ2lkICIgICAsIDRHICAgICBDcmVhdGVzIGEgNEdpQiBwYXJ0aXRpb24gYXQgZGVmYXVsdCBzdGFydCBvZmZzZXQuXG4iCittc2dzdHIgIiAgICwgNEcgICAgIG9wcmV0dGVyIDQgR2lCIHBhcnRpdGlvbiBww6Ugc3RhbmRhcmRlbnMgc3RhcnRmb3Jza3lkbmluZy5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzM5IHN5cy11dGlscy9kbWVzZy5jOjE0NTUKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICJpa2tlIHVuZGVyc3TDuHR0ZXQga29tbWFuZG8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICJsaW5qZSAlZDogaWtrZSB1bmRlcnN0w7h0dGV0IGtvbW1hbmRvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MDAKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgImt1bm5lIGlra2UgYWxsb2tlcmUgcGFydGl0aW9uc25hdm4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU0MQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAia3VubmUgaWtrZSBhbGxva2VyZSBza3JpcHRow6VuZHRlcmluZyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogbm8gcGFydGl0aW9uIHRhYmxlIHdhcyBmb3VuZCIKK21zZ3N0ciAiJXM6IGthbiBpa2tlIMOmbmRyZSBwYXJ0aXRpb24gJWQ6IGluZ2VuIHBhcnRpdGlvbnRhYmVsIGJsZXYgZnVuZGV0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6IGthbiBpa2tlIMOmbmRyZSBwYXJ0aXRpb24gJWQ6IHBhcnRpdGlvbnRhYmVsIGluZGVob2xkZXIga3VuICV6dSBwYXJ0aXRpb25lciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlczogcGFydGl0aW9uICVkIGlzIG5vdCBkZWZpbmVkIHlldCIKK21zZ3N0ciAiSW5nZW4gcGFydGl0aW9uZXIgZGVmaW5lcmV0ISIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJXZWxjb21lIHRvIHNmZGlzayAoJXMpLiIKK21zZ3N0ciAiIgorIlxuIgorIlZlbGtvbW1lbiB0aWwgc2ZkaXNrICglcykuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTQKK21zZ2lkICJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIKK21zZ3N0ciAiS29udHJvbGxlciBhdCBpbmdlbiBiZW55dHRlciBkZW5uZSBkaXNrIGZvciDDuGplYmxpa2tldCAuLi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NworbXNnaWQgIiIKKyIgRkFJTEVEXG4iCisiXG4iCittc2dzdHIgIiIKKyIgTUlTTFlLS0VERVNcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjAwCittc2dpZCAiIgorIlRoaXMgZGlzayBpcyBjdXJyZW50bHkgaW4gdXNlIC0gcmVwYXJ0aXRpb25pbmcgaXMgcHJvYmFibHkgYSBiYWQgaWRlYS5cbiIKKyJVbW91bnQgYWxsIGZpbGUgc3lzdGVtcywgYW5kIHN3YXBvZmYgYWxsIHN3YXAgcGFydGl0aW9ucyBvbiB0aGlzIGRpc2suXG4iCisiVXNlIHRoZSAtLW5vLXJlcmVhZCBmbGFnIHRvIHN1cHByZXNzIHRoaXMgY2hlY2suXG4iCittc2dzdHIgIiIKKyJEZW5uZSBkaXNrIGVyIGZvciDDuGplYmxpa2tldCBpIGJydWcgLSBnZW5wYXJ0aXRpb25lcmluZyBlciBub2sgZW4gZMOlcmxpZyBpZGUuXG4iCisiQWZtb250ZXIgYWxsZSBmaWxzeXN0ZW1lciBvZyBzd2Fwb2ZmIGFsbGUgc3dhcHBhcnRpdGlvbmVyIHDDpSBkZW5uZSBkaXNrLlxuIgorIkJydWcgZmxhZ2V0IC0tbm8tcmVyZWFkIGZvciBhdCB1bmRlcnRyeWtrZSBkZXR0ZSB0amVrLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MDUKK21zZ2lkICJVc2UgdGhlIC0tZm9yY2UgZmxhZyB0byBvdmVycnVsZSBhbGwgY2hlY2tzLiIKK21zZ3N0ciAiQnJ1ZyBmbGFnZXQgLS1mb3JjZSBmb3IgYXQgdW5kZXJ0cnlra2UgYWxsZSB0amVrLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjA3Cittc2dpZCAiIgorIiBPS1xuIgorIlxuIgorbXNnc3RyICIiCisiIE8uay5cbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjM2Cittc2dpZCAiIgorIlxuIgorIk9sZCBzaXR1YXRpb246IgorbXNnc3RyICIiCisiXG4iCisiR2FtbWVsIHNpdHVhdGlvbjoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY1NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisic2ZkaXNrIGlzIGdvaW5nIHRvIGNyZWF0ZSBhIG5ldyAnJXMnIGRpc2sgbGFiZWwuXG4iCisiVXNlICdsYWJlbDogPG5hbWU+JyBiZWZvcmUgeW91IGRlZmluZSBhIGZpcnN0IHBhcnRpdGlvblxuIgorInRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0LiIKK21zZ3N0ciAiIgorIlxuIgorInNmZGlzayBlciB2ZWQgYXQgb3ByZXR0ZSBlbiBueSDCuyVzwqstZGlza2V0aWtldC5cbiIKKyJCcnVnIMK7ZXRpa2V0OiA8bmF2bj7CqyBmw7hyIGR1IGRlZmluZXJlciBlbiBmw7hyc3RlIHBhcnRpdGlvblxuIgorImZvciBhdCBvdmVyc2tyaXZlIHN0YW5kYXJkZW4uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NTcKK21zZ2lkICIiCisiXG4iCisiVHlwZSAnaGVscCcgdG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKyJcbiIKKyJCcnVnIMK7aGVscMKrIGZvciB5ZGVybGlnZXJlIGluZm9ybWF0aW9uLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NzUKK21zZ2lkICJBbGwgcGFydGl0aW9ucyB1c2VkLiIKK21zZ3N0ciAiQWxsZSBwYXJ0aXRpb25lciBicnVndC4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcwMworIywgZnV6enkKK21zZ2lkICJEb25lLlxuIgorbXNnc3RyICJGw6ZyZGlnLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzE1CisjLCBmdXp6eQorbXNnaWQgIklnbm9yaW5nIHBhcnRpdGlvbi4iCittc2dzdHIgIklnbm9yZXJlciBwYXJ0aXRpb24gJXp1LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzI0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCBoZWFkZXJzLCBkaXNrIGxhYmVsIG5vdCBjcmVhdGVkLiIKK21zZ3N0ciAiS3VubmUgaWtrZSBhbnZlbmRlIHNrcmlwdHRla3N0aG92ZWQsIGRpc2tldGlrZWwgYmxldiBpa2tlIG9wcmV0dGV0LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkICMlZCBwYXJ0aXRpb24iCittc2dzdHIgIkt1bm5lIGlra2UgdGlsZsO4amUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NjMKK21zZ2lkICJTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLiIKK21zZ3N0ciAiU2tyaXB0dGVrc3Rob3ZlZCBhY2NlcHRlcmV0LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzcyCittc2dpZCAiIgorIlxuIgorIk5ldyBzaXR1YXRpb246IgorbXNnc3RyICIiCisiXG4iCisiTnkgc2l0dWF0aW9uOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzgxCittc2dpZCAiRG8geW91IHdhbnQgdG8gd3JpdGUgdGhpcyB0byBkaXNrPyIKK21zZ3N0ciAiVmlsIGR1IHZpcmtlbGlnIHNrcml2ZSBkZXR0ZSB0aWwgZGlza2VuPyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzkzCittc2dpZCAiTGVhdmluZy5cbiIKK21zZ3N0ciAiRm9ybGFkZXIuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXY+IFtbLU5dIDxwYXJ0Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbdGlsdmFsZ10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFt0aWx2YWxnXSA8a29tbWFuZG8+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMgorbXNnaWQgIiIKKyJcbiIKKyJDb21tYW5kczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIktvbW1hbmRvZXI6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMworIywgZnV6enkKK21zZ2lkICIgLUEsIC0tYWN0aXZhdGUgPGRldj4gWzxwYXJ0PiAuLi5dIGxpc3Qgb3Igc2V0IGJvb3RhYmxlIE1CUiBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiAtYSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gIHZpcyBlbGxlciBhbmdpdiBvcHN0YXJ0YmFyZSBNQlItcGFydGl0aW9uZXJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE0Cittc2dpZCAiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSAodXNhYmxlIGZvciBsYXRlciBpbnB1dClcbiIKK21zZ3N0ciAiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbnN0YWJlbCAobnl0dGlnIGZvciBzZW5lcmUgaW5kZGF0YSlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE1CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgaW4gSlNPTiBmb3JtYXRcbiIKK21zZ3N0ciAiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbnN0YWJlbCAobnl0dGlnIGZvciBzZW5lcmUgaW5kZGF0YSlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE2Cittc2dpZCAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxkZXY+IC4uLl0gICBsaXN0IGdlb21ldHJ5IG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLWcsIC0tc2hvdy1nZW9tZXRyeSBbPGRldj4gLi4uXSAgIHZpcyBnZW9tZXRyaSBmb3IgYWxsZSBlbGxlciBzcGVjaWZpY2VyZWRlIGVuaGVkZXJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE3Cittc2dpZCAiIC1sLCAtLWxpc3QgWzxkZXY+IC4uLl0gICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgWzxkZXY+IC4uLl0gICAgICAgICAgICB2aXMgcGFydGl0aW9uZXIgZm9yIGh2ZXIgZW5oZWRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE4CisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1saXN0LWZyZWUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCB1bnBhcnRpdGlvbmVkIGZyZWUgYXJlYXMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgWzxkZXY+IC4uLl0gICAgICAgICAgICB2aXMgcGFydGl0aW9uZXIgZm9yIGh2ZXIgZW5oZWRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE5CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZW9yZGVyIDxkZXY+ICAgICAgICAgICAgICAgZml4IHBhcnRpdGlvbnMgb3JkZXIgKGJ5IHN0YXJ0IG9mZnNldClcbiIKK21zZ3N0ciAiIC0gYSwgLS1hZGQgICAgICAgICAgIHRpbGbDuGogc3BlY2lmaWNlcmVkZSBwYXJ0aXRpb25lciBlbGxlciBkZW0gYWxsZVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjAKK21zZ2lkICIgLXMsIC0tc2hvdy1zaXplIFs8ZGV2PiAuLi5dICAgICAgIGxpc3Qgc2l6ZXMgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtcywgLS1zaG93LXNpemUgWzxkZXY+IC4uLl0gICAgICAgdmlzIHN0w7hycmVsc2VyIGZvciBhbGxlIGVsbGVyIHNwZWNpZmljZXJlZGUgZW5oZWRlclxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjEKK21zZ2lkICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByZWNvZ25pemVkIHR5cGVzIChzZWUgLVgpXG4iCittc2dzdHIgIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgICAgICAgICAgdmlzIGRlIGdlbmtlbmR0ZSB0eXBlciAoc2UgLVgpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMgorIywgZnV6enkKK21zZ2lkICIgLVYsIC0tdmVyaWZ5IFs8ZGV2PiAuLi5dICAgICAgICAgIHRlc3Qgd2hldGhlciBwYXJ0aXRpb25zIHNlZW0gY29ycmVjdFxuIgorbXNnc3RyICIgLVYsIC0tdmVyaWZ5ICAgICAgICAgICAgICAgICAgICAgIHRlc3Qgb20gcGFydGl0aW9uZXIgc2VyIGtvcnJla3RlIHVkXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMworIywgZnV6enkKK21zZ2lkICIgICAgIC0tZGVsZXRlIDxkZXY+IFs8cGFydD4gLi4uXSAgIGRlbGV0ZSBhbGwgb3Igc3BlY2lmaWVkIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIC1hLCAtLWFjdGl2YXRlIDxkZXY+IFs8cGFydD4gLi4uXSAgdmlzIGVsbGVyIGFuZ2l2IG9wc3RhcnRiYXJlIE1CUi1wYXJ0aXRpb25lclxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjYKK21zZ2lkICIgLS1wYXJ0LWxhYmVsIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gbGFiZWxcbiIKK21zZ3N0ciAiIC0tcGFydC1sYWJlbCA8ZGV2PiA8cGFydD4gWzxzdHI+XSAgdmlzIGVsbGVyIMOmbmRyIHBhcnRpdGlvbnNldGlrZXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI3Cittc2dpZCAiIC0tcGFydC10eXBlIDxkZXY+IDxwYXJ0PiBbPHR5cGU+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiIC0tcGFydC10eXBlIDxkZXY+IDxwYXJ0PiBbPHR5cGU+XSAgdmlzIGVsbGVyIMOmbmRyIHBhcnRpdGlvbnN0eXBlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyOAorbXNnaWQgIiAtLXBhcnQtdXVpZCA8ZGV2PiA8cGFydD4gWzx1dWlkPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB1dWlkXG4iCittc2dzdHIgIiAtLXBhcnQtdXVpZCA8ZGV2PiA8cGFydD4gWzx1dWlkPl0gdmlzIGVsbGVyIMOmbmRyIHBhcnRpdGlvbnMtdXVpZFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjkKK21zZ2lkICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gYXR0cmlidXRlc1xuIgorbXNnc3RyICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHZpcyBlbGxlciDDpm5kciBwYXJ0aXRpb25zYXR0cmlidXR0ZXJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODMyCittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgZGV2aWNlICh1c3VhbGx5IGRpc2spIHBhdGhcbiIKK21zZ3N0ciAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgZW5oZWRzc3RpIChub3JtYWx0IGRpc2spXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzMworbXNnaWQgIiA8cGFydD4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiIDxwYXJ0PiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uc251bW1lclxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzQKK21zZ2lkICIgPHR5cGU+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gdHlwZSwgR1VJRCBmb3IgR1BULCBoZXggZm9yIE1CUlxuIgorbXNnc3RyICIgPHR5cGU+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb25zdHlwZSwgR1VJRCBmb3IgR1BULCBoZXggZm9yIE1CUlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzcKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgYXBwZW5kIHBhcnRpdGlvbnMgdG8gZXhpc3RpbmcgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAtQSwgLS1hcHBlbmQgICAgICAgICAgICAgIHRpbGbDuGogcGFydGl0aW9uZXIgdGlsIGVrc2lzdGVyZW5kZSBwYXJ0aXRpb25zdGFiZWxcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM4Cittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAgYmFja3VwIHBhcnRpdGlvbiB0YWJsZSBzZWN0b3JzIChzZWUgLU8pXG4iCittc2dzdHIgIiAtYiwgLS1iYWNrdXAgICAgICAgICAgICAgIGxhdiBzaWtrZXJoZWRza29waSBhZiBwYXJ0aXRpb25zdGFiZWxzIHNla3RvcmVyIChzZSAtTylcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgdWRza3JpdiBTVMOYUlJFTFNFIGkgYnl0ZSBmcmVtIGZvciBpIGV0IGzDpnNldmVubGlndCBmb3JtYXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQwCittc2dpZCAiICAgICAtLW1vdmUtZGF0YVs9PHR5cGVzY3JpcHQ+XSBtb3ZlIHBhcnRpdGlvbiBkYXRhIGFmdGVyIHJlbG9jYXRpb24gKHJlcXVpcmVzIC1OKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MQorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGNvbnNpc3RlbmN5IGNoZWNraW5nXG4iCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGRlYWt0aXZlciBhbCBrb25zaXN0ZW5za29udHJvbFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtTCAtLWNvbG9yWz08aHZvcm7DpXI+XSAgZmFydmVsw6ZnIHVkZGF0YSAoYXV0bywgYWx0aWQgZWxsZXIgYWxkcmlnKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDUKK21zZ2lkICIgLU4sIC0tcGFydG5vIDxudW0+ICAgICAgICBzcGVjaWZ5IHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiIC1OLCAtLXBhcnRubyA8YW50YWw+ICAgICAgYW5naXYgcGFydGl0aW9uc251bW1lclxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDYKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB3cml0ZSB0byBkZXZpY2VcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgZ8O4ciBhbHQgdW5kdGFnZW4gYXQgc2tyaXZlIHRpbCBlbmhlZFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDcKK21zZ2lkICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIGlzIGluIHVzZVxuIgorbXNnc3RyICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBrb250cm9sbGVyIGlra2Ugb20gZW5oZWRlbiBlciBpIGJydWdcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ4CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIGRvIG5vdCB0ZWxsIGtlcm5lbCBhYm91dCBjaGFuZ2VzXG4iCittc2dzdHIgIiAgICAgLS1ub3RydW5jYXRlICAgICAgICAgYWZrb3J0IGlra2UgdWRkYXRhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OQorbXNnaWQgIiAtTywgLS1iYWNrdXAtZmlsZSA8cGF0aD4gIG92ZXJyaWRlIGRlZmF1bHQgYmFja3VwIGZpbGUgbmFtZVxuIgorbXNnc3RyICIgLU8sIC0tYmFja3VwLWZpbGUgPHN0aT4gICBvdmVyc2tyaXYgc3RhbmRhcmRuYXZuIGZvciBzaWtrZXJoZWRza29waWZpbGVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MAorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPHZpcz4gICAgICAgIHJlc3VsdGF0a29sb25uZXJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUxCittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcHJlc3MgZXh0cmEgaW5mbyBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICB1bmRlcnRyeWsgZWtzdHJhIGluZm9ybWF0aW9uc2Jlc2tlZGVyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MgorIywgZnV6enkKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08aHZvcm7DpXI+XSAgICAgZmFydmVsw6ZnIGJlc2tlZGVyIChhdXRvLCBhbHdheXMgZWxsZXIgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NAorbXNnaWQgIiAtWCwgLS1sYWJlbCA8bmFtZT4gICAgICAgIHNwZWNpZnkgbGFiZWwgdHlwZSAoZG9zLCBncHQsIC4uLilcbiIKK21zZ3N0ciAiIC1YLCAtLWxhYmVsIDxuYXZuPiAgICAgICAgYW5naXYgZXRpa2V0dHlwZSAoZG9zLCBncHQsIC4uLilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU1Cittc2dpZCAiIC1ZLCAtLWxhYmVsLW5lc3RlZCA8bmFtZT4gc3BlY2lmeSBuZXN0ZWQgbGFiZWwgdHlwZSAoZG9zLCBic2QpXG4iCittc2dzdHIgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPG5hdm4+IGFuZ2l2IGluZGxlanJldCBldGlrZXR0eXBlIChkb3MsIGJzZClcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU3Cittc2dpZCAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgZGVwcmVjYXRlZCwgYWxpYXMgdG8gLS1zaG93LWdlb21ldHJ5XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU4Cittc2dpZCAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgZGVwcmVjYXRlZCwgb25seSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuIgorbXNnc3RyICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBmb3LDpmxkZXQsIGt1biBmb3IgYmFnbMOmbnMga29tcGF0aWJpbGl0ZXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU5Cittc2dpZCAiIC11LCAtLXVuaXQgUyAgICAgICAgICAgICAgZGVwcmVjYXRlZCwgb25seSBzZWN0b3IgdW5pdCBpcyBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiIC11LCAtLXVuaXQgUyAgICAgICAgICAgICAgZm9yw6ZsZGV0LCBrdW4gc2VrdG9yZW5oZWQgZXIgdW5kZXJzdMO4dHRldFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjMgbG9naW4tdXRpbHMvY2hmbi5jOjEwMiBsb2dpbi11dGlscy9jaHNoLmM6NzkKK21zZ2lkICIgLXYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC12LCAtLXZlcnNpb24gIHZpcyB2ZXJzaW9uc2luZm9ybWF0aW9uIG9nIGFmc2x1dFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIiVzIGVyIGZvcsOmbGRldCB0aWwgZm9yZGVsIGZvciAtLXBhcnQtdHlwZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxOTczCittc2dpZCAiLS1pZCBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiLS1pZCBlciBmb3LDpmxkZXQgdGlsIGZvcmRlbCBmb3IgLS1wYXJ0LXR5cGUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk4OQorbXNnaWQgIi0tc2hvdy1wdC1nZW9tZXRyeSBpcyBubyBtb3JlIGltcGxlbWVudGVkLiBVc2luZyAtLXNob3ctZ2VvbWV0cnkuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAwMAorbXNnaWQgIi0tTGludXggb3B0aW9uIGlzIHVubmVjZXNzYXJ5IGFuZCBkZXByZWNhdGVkIgorbXNnc3RyICItLUxpbnV4IHRpbHZhbGcgZXIgdW7DuGR2ZW5kaWd0IG9nIGZvcsOmbGRldCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDI5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHVuaXQgJyVjJyIKK21zZ3N0ciAiaWtrZSB1bmRlcnN0w7h0dGV0IGVuaGVkIMK7JWPCqyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDMyIGluY2x1ZGUvYy5oOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzXG4iCittc2dzdHIgIiVzIGZyYSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIxMDkKK21zZ2lkICItLW1vdmVkYXRhIHJlcXVpcmVzIC1OIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIFVVSUQ6ICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIFVVSUQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIFVVSUQiCittc2dzdHIgIiVzOiBLdW5uZSBpa2tlIHPDuGdlIChzZWVrKSBVVUlEIGZvciBzd2FwIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgVVVJRCIKK21zZ3N0ciAiJXM6IEt1bm5lIGlra2Ugc2tyaXZlIFVVSUQiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgbGFiZWwgIgorbXNnc3RyICIlczogS3VubmUgaWtrZSBzw7hnZSAoc2VlaykgdGlsIHN3YXAtZXRpa2V0IgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgImxhYmVsIGlzIHRvbyBsb25nLiBUcnVuY2F0aW5nIGl0IHRvICclcyciCittc2dzdHIgImV0aWtldCBlciBmb3IgbGFuZy4gRm9ya29ydGVyIGRlbiB0aWwgwrslc8KrIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgbGFiZWwiCittc2dzdHIgIiVzOiBrdW5uZSBpa2tlIHNrcml2ZSBldGlrZXQiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTIxCittc2dpZCAiRGlzcGxheSBvciBjaGFuZ2UgdGhlIGxhYmVsIG9yIFVVSUQgb2YgYSBzd2FwIGFyZWEuXG4iCittc2dzdHIgIlZpcyBlbGxlciDDpm5kciBldGlrZXR0ZW4gZWxsZXIgVVVJRCBmb3IgZXQgc3dhcG9tcsOlZGUuXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTI0Cittc2dpZCAiIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+IHNwZWNpZnkgYSBuZXcgbGFiZWxcbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICBzcGVjaWZ5IGEgbmV3IHV1aWRcbiIKK21zZ3N0ciAiIgorIiAtTCwgLS1sYWJlbCA8ZXRpa2V0PiBhbmdpdiBlbiBueSBldGlrZXRcbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICAgYW5naXYgZW4gbnkgdXVpZFxuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjE2NworbXNnaWQgImlnbm9yZSAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkKSIKK21zZ3N0ciAiaWdub3JlciAtVSAoVVVJRCdlciBlciBpa2tlIHVuZGVyc3TDuHR0ZXQpIgorCisjOiBpbmNsdWRlL2MuaDoyOTkKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJCcnVnOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMDAKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlRpbHZhbGc6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwMgorbXNnaWQgIiAtaCwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAgdmlzIGRlbm5lIGhqw6ZscGV0ZWtzdCBvZyBhZnNsdXRcbiIKKworIzogaW5jbHVkZS9jLmg6MzAzCittc2dpZCAiIC1WLCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAtViwgLS12ZXJzaW9uICB2aXMgdmVyc2lvbnNpbmZvcm1hdGlvbiBvZyBhZnNsdXRcbiIKKworIzogaW5jbHVkZS9jLmg6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJGb3IgbW9yZSBkZXRhaWxzIHNlZSAlcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkZvciB5ZGVybGlnZXJlIGRldGFsamVyIHNlICVzLlxuIgorCisjOiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDYgaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzMKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTIgc3lzLXV0aWxzL3J0Y3dha2UuYzoyODAgdGVybS11dGlscy9zZXR0ZXJtLmM6ODA1CisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE1NworbXNnaWQgIndyaXRlIGVycm9yIgorbXNnc3RyICJza3JpdmVmZWpsIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI3Cittc2dpZCAiY29sb3JzIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyOQorbXNnaWQgImNvbG9ycyBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAiIgorCisjIGplZyB0cm9yICVzIGVyIGVuIHByb2NlcyBlbGxlciBzw6VkYW4gbm9nZXQKKyMgZXZ0LiAicmVzc291cmNlYmVncsOmbnNuaW5nZW4gZm9yICVzIgorIzogaW5jbHVkZS9lbnYuaDoxOCBsaWIvcGFnZXIuYzoxNTEgbG9naW4tdXRpbHMvbG9naW4uYzoxMDUyCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwNTYgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTI5CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICJrdW5uZSBpa2tlIGFuZ2l2ZSByZXNzb3VyY2ViZWdyw6Zuc25pbmdlbiBmb3IgJXMiCisKKyM6IGluY2x1ZGUvb3B0dXRpbHMuaDo4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdGhlc2Ugb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlOiIKK21zZ3N0ciAiJXM6IGRpc3NlIHRpbHZhbGcgdWRlbHVra2VyIGhpbmFuZGVuOiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MQorbXNnaWQgIkVtcHR5IgorbXNnc3RyICJUb20iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIKK21zZ2lkICJGQVQxMiIKK21zZ3N0ciAiRkFUMTIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMKK21zZ2lkICJYRU5JWCByb290IgorbXNnc3RyICJYRU5JWCByb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0Cittc2dpZCAiWEVOSVggdXNyIgorbXNnc3RyICJYRU5JWCB1c3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUKK21zZ2lkICJGQVQxNiA8MzJNIgorbXNnc3RyICJGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2Cittc2dpZCAiRXh0ZW5kZWQiCittc2dzdHIgIlVkdmlkZXQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcKK21zZ2lkICJGQVQxNiIKK21zZ3N0ciAiRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgKK21zZ2lkICJIUEZTL05URlMvZXhGQVQiCittc2dzdHIgIkhQRlMvTlRGUy9leEZBVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OQorbXNnaWQgIkFJWCIKK21zZ3N0ciAiQUlYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMAorbXNnaWQgIkFJWCBib290YWJsZSIKK21zZ3N0ciAiQUlYIG9wc3RhcnRiYXIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjExCittc2dpZCAiT1MvMiBCb290IE1hbmFnZXIiCittc2dzdHIgIk9TLzItb3BzdGFydHNow6VuZHRlcmluZyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTIKK21zZ2lkICJXOTUgRkFUMzIiCittc2dzdHIgIlc5NSBGQVQzMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTMKK21zZ2lkICJXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIlc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTQKK21zZ2lkICJXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIlc5NSBGQVQxNiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTUKK21zZ2lkICJXOTUgRXh0J2QgKExCQSkiCittc2dzdHIgIlc5NSB1ZHZpZGV0IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNgorbXNnaWQgIk9QVVMiCittc2dzdHIgIk9QVVMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE3Cittc2dpZCAiSGlkZGVuIEZBVDEyIgorbXNnc3RyICJTa2p1bHQgRkFUMTIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE4Cittc2dpZCAiQ29tcGFxIGRpYWdub3N0aWNzIgorbXNnc3RyICJDb21wYXEgZGlhZ25vc3RpY2VyaW5nIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOQorbXNnaWQgIkhpZGRlbiBGQVQxNiA8MzJNIgorbXNnc3RyICJTa2p1bHQgRkFUMTYgPDMyTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjAKK21zZ2lkICJIaWRkZW4gRkFUMTYiCittc2dzdHIgIlNranVsdCBGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjEKK21zZ2lkICJIaWRkZW4gSFBGUy9OVEZTIgorbXNnc3RyICJTa2p1bHQgSFBGUy9OVEZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMgorbXNnaWQgIkFTVCBTbWFydFNsZWVwIgorbXNnc3RyICJBU1QgU21hcnRTbGVlcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjMKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIgorbXNnc3RyICJTa2p1bHQgVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNAorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIlNranVsdCBXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI1Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiU2tqdWx0IFc5NSBGQVQxNiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjYKK21zZ2lkICJORUMgRE9TIgorbXNnc3RyICJORUMgRE9TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNworbXNnaWQgIkhpZGRlbiBOVEZTIFdpblJFIgorbXNnc3RyICJTa2p1bHQgTlRGUyBXaW5SRSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjgKK21zZ2lkICJQbGFuIDkiCittc2dzdHIgIlBsYW4gOSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjkKK21zZ2lkICJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIKK21zZ3N0ciAiUGFydGl0aW9uTWFnaWMgcmVkbmluZyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzAKK21zZ2lkICJWZW5peCA4MDI4NiIKK21zZ3N0ciAiVmVuaXggODAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMxCittc2dpZCAiUFBDIFBSZVAgQm9vdCIKK21zZ3N0ciAiUFBDIFBSZVAgT3BzdGFydCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzIKK21zZ2lkICJTRlMiCittc2dzdHIgIlNGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzMKK21zZ2lkICJRTlg0LngiCittc2dzdHIgIlFOWDQueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzQKK21zZ2lkICJRTlg0LnggMm5kIHBhcnQiCittc2dzdHIgIlFOWDQueCAyLiBwYXJ0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNQorbXNnaWQgIlFOWDQueCAzcmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IDMuIHBhcnQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM2Cittc2dpZCAiT25UcmFjayBETSIKK21zZ3N0ciAiT25UcmFjayBETSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzcKK21zZ2lkICJPblRyYWNrIERNNiBBdXgxIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgxIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOAorbXNnaWQgIkNQL00iCittc2dzdHIgIkNQL00iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM5Cittc2dpZCAiT25UcmFjayBETTYgQXV4MyIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDAKK21zZ2lkICJPblRyYWNrRE02IgorbXNnc3RyICJPblRyYWNrRE02IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MQorbXNnaWQgIkVaLURyaXZlIgorbXNnc3RyICJFWi1EcmV2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MgorbXNnaWQgIkdvbGRlbiBCb3ciCittc2dzdHIgIkdvbGRlbiBCb3ciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQzCittc2dpZCAiUHJpYW0gRWRpc2siCittc2dzdHIgIlByaWFtIEVkaXNrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MQorIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTkKK21zZ2lkICJTcGVlZFN0b3IiCittc2dzdHIgIlNwZWVkU3RvciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDUKK21zZ2lkICJHTlUgSFVSRCBvciBTeXNWIgorbXNnc3RyICJHTlUgSFVSRCBlbGxlciBTeXNWIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NgorbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDI4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NworbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDM4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMzg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OAorbXNnaWQgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKK21zZ3N0ciAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OQorbXNnaWQgIlBDL0lYIgorbXNnc3RyICJQQy9JWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTAKK21zZ2lkICJPbGQgTWluaXgiCittc2dzdHIgIkdhbW1lbCBNaW5peCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTEKK21zZ2lkICJNaW5peCAvIG9sZCBMaW51eCIKK21zZ3N0ciAiTWluaXggLyBnYW1tZWwgTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUyCittc2dpZCAiTGludXggc3dhcCAvIFNvbGFyaXMiCittc2dzdHIgIkxpbnV4IHN3YXAgLyBTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MworbXNnaWQgIkxpbnV4IgorbXNnc3RyICJMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTQKK21zZ2lkICJPUy8yIGhpZGRlbiBvciBJbnRlbCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NworbXNnaWQgIkxpbnV4IGV4dGVuZGVkIgorbXNnc3RyICJMaW51eCB1ZHZpZGV0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OQorbXNnaWQgIk5URlMgdm9sdW1lIHNldCIKK21zZ3N0ciAiTlRGUyBkaXNrZW5oZWRzc8OmdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjAKK21zZ2lkICJMaW51eCBwbGFpbnRleHQiCittc2dzdHIgIkxpbnV4IHLDpXRla3N0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjA1IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MworIzogbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggTFZNIgorbXNnc3RyICJMaW51eCBMVk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYyCittc2dpZCAiQW1vZWJhIgorbXNnc3RyICJBbW9lYmEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYzCittc2dpZCAiQW1vZWJhIEJCVCIKK21zZ3N0ciAiQW1vZWJhIEJCVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjQKK21zZ2lkICJCU0QvT1MiCittc2dzdHIgIkJTRC9PUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjUKK21zZ2lkICJJQk0gVGhpbmtwYWQgaGliZXJuYXRpb24iCittc2dzdHIgIklCTSBUaGlua3BhZCBkdmFsZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjYKK21zZ2lkICJGcmVlQlNEIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NworbXNnaWQgIk9wZW5CU0QiCittc2dzdHIgIk9wZW5CU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY4Cittc2dpZCAiTmVYVFNURVAiCittc2dzdHIgIk5lWFRTVEVQIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OQorbXNnaWQgIkRhcndpbiBVRlMiCittc2dzdHIgIkRhcndpbiBVRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcwCittc2dpZCAiTmV0QlNEIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcxCittc2dpZCAiRGFyd2luIGJvb3QiCittc2dzdHIgIkRhcndpbiBvcHN0YXJ0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MgorbXNnaWQgIkhGUyAvIEhGUysiCittc2dzdHIgIkhGUyAvIEhGUysiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjczCittc2dpZCAiQlNESSBmcyIKK21zZ3N0ciAiQlNESSBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzQKK21zZ2lkICJCU0RJIHN3YXAiCittc2dzdHIgIkJTREkgc3dhcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzUKK21zZ2lkICJCb290IFdpemFyZCBoaWRkZW4iCittc2dzdHIgIkJvb3QgV2l6YXJkIHNranVsdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzYKKyMsIGZ1enp5Cittc2dpZCAiQWNyb25pcyBGQVQzMiBMQkEiCittc2dzdHIgIlc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzcgbGliZmRpc2svc3JjL2dwdC5jOjIzMAorbXNnaWQgIlNvbGFyaXMgYm9vdCIKK21zZ3N0ciAiU29sYXJpcyBvcHN0YXJ0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OAorbXNnaWQgIlNvbGFyaXMiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc5Cittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTIpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xMikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgwCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgxCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgyCittc2dpZCAiU3lyaW54IgorbXNnc3RyICJTeXJpbngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgzCittc2dpZCAiTm9uLUZTIGRhdGEiCittc2dzdHIgIklra2UtZmlsc3lzdGVtZGF0YSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiQ1AvTSAvIENUT1MgLyAuLi4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg2Cittc2dpZCAiRGVsbCBVdGlsaXR5IgorbXNnc3RyICJEZWxsLXbDpnJrdMO4aiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODcKK21zZ2lkICJCb290SXQiCittc2dzdHIgIkJvb3RJdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODgKK21zZ2lkICJET1MgYWNjZXNzIgorbXNnc3RyICJET1MgYWNjZXNzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MAorbXNnaWQgIkRPUyBSL08iCittc2dzdHIgIkRPUyBSL08iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkzCisjLCBmdXp6eQorbXNnaWQgIlJ1ZnVzIGFsaWdubWVudCIKK21zZ3N0ciAiZsO4cnN0ZSBwYXJhbWV0ZXIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk0Cittc2dpZCAiQmVPUyBmcyIKK21zZ3N0ciAiQmVPUyBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTYKK21zZ2lkICJFRkkgKEZBVC0xMi8xNi8zMikiCittc2dzdHIgIkVGSSAoRkFULTEyLzE2LzMyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTcKK21zZ2lkICJMaW51eC9QQS1SSVNDIGJvb3QiCittc2dzdHIgIkxpbnV4L1BBLVJJU0Mgb3BzdGFydCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAwCittc2dpZCAiRE9TIHNlY29uZGFyeSIKK21zZ3N0ciAiRE9TIHNla3VuZMOmciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAxCittc2dpZCAiVk13YXJlIFZNRlMiCittc2dzdHIgIlZNd2FyZSBWTUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDIKK21zZ2lkICJWTXdhcmUgVk1LQ09SRSIKK21zZ3N0ciAiVk13YXJlIFZNS0NPUkUiCisKKyMgQXV0b2RldGVrdGVyZXQgTGludXgtcmFpZAorIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAzIGxpYmZkaXNrL3NyYy9zdW4uYzo1NQorbXNnaWQgIkxpbnV4IHJhaWQgYXV0b2RldGVjdCIKK21zZ3N0ciAiTGludXggcmFpZCBhdXRvZGV0ZWt0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDYKK21zZ2lkICJMQU5zdGVwIgorbXNnc3RyICJMQU5zdGVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDcKK21zZ2lkICJCQlQiCittc2dzdHIgIkJCVCIKKworIzogbGliL2Jsa2Rldi5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlcyBpcyBtaXNhbGlnbmVkIgorbXNnc3RyICJhZHZhcnNlbDogJXMgZXIgaWtrZSBrb3JyZWt0IGp1c3RlcmV0IgorCisjOiBsaWJmZGlzay9zcmMvYWxpZ25tZW50LmM6NjcyCittc2dpZCAiQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiS2FsZGVyIGlvY3RsKCkgZm9yIGF0IGdlbmluZGzDpnNlIHBhcnRpdGlvbnN0YWJlbGxlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2ODEKK21zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLiIKK21zZ3N0ciAiR2VuaW5kbMOmc25pbmcgYWYgcGFydGl0aW9uc3RhYmVsbGVuIG1pc2x5a2tlZGVzLiIKKworIzogbGliZmRpc2svc3JjL2FsaWdubWVudC5jOjY4MworbXNnaWQgIlRoZSBrZXJuZWwgc3RpbGwgdXNlcyB0aGUgb2xkIHRhYmxlLiBUaGUgbmV3IHRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCByZWJvb3Qgb3IgYWZ0ZXIgeW91IHJ1biBwYXJ0cHJvYmUoOCkgb3Iga3BhcnR4KDgpLiIKK21zZ3N0ciAiRGVubmUga2VybmUgYnJ1Z2VyIHN0YWRpZyBkZW4gZ2FtbGUgdGFiZWwuIERlbiBueWUgdGFiZWwgdmlsIGJsaXZlIGJydWd0IGZyYSBuw6ZzdGUgZ2Vuc3RhcnQsIGVsbGVyIGVmdGVyIGR1IGvDuHJlciBwYXJ0cHJvYmUoOCkgZWxsZXIga3BhcnR4KDgpLiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ3MiBsaWJmZGlzay9zcmMvYXNrLmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdGVkIHBhcnRpdGlvbiAlanUiCittc2dzdHIgIlZhbGd0IHBhcnRpdGlvbiAlanUiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0NzUKK21zZ2lkICJObyBwYXJ0aXRpb24gaXMgZGVmaW5lZCB5ZXQhIgorbXNnc3RyICJJbmdlbiBwYXJ0aXRpb25lciBkZWZpbmVyZXQhIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDg3Cittc2dpZCAiTm8gZnJlZSBwYXJ0aXRpb24gYXZhaWxhYmxlISIKK21zZ3N0ciAiSW5nZW4gdGlsZ8OmbmdlbGlnZSBmcmllIHNla3RvcmVyISIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ5NworbXNnaWQgIlBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIlBhcnRpdGlvbnNudW1tZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBwYXJ0aXRpb24gJWQgb2YgdHlwZSAnJXMnIGFuZCBvZiBzaXplICVzLiIKK21zZ3N0ciAiUGFydGl0aW9uICVkIGFmIHR5cGUgJXMgb2cgc3TDuHJyZWxzZSAlcyBlciBvcHJldHRldC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICJQYXJ0aXRpb24gJXpkIGhhciBlbiB1Z3lsZGlnIHN0YXJ0c2VrdG9yIDAuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZXJlIGlzIG5vICpCU0QgcGFydGl0aW9uIG9uICVzLiIKK21zZ3N0ciAiRGVyIGVyIGluZ2VuICpCU0QtcGFydGl0aW9uZXIgcMOlICVzLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI1OSBsaWJmZGlzay9zcmMvZG9zLmM6OTMzCittc2dpZCAiRmlyc3QgY3lsaW5kZXIiCittc2dzdHIgIkbDuHJzdGUgY3lsaW5kZXIiCisKKyMgKGxpZHQgc3BlY2llbHQgbWVuIG1hbiBza3JpdmVyIHZpc3QgKzEwMjQsICsxMDI0SywgKzIwNDhNIGVsbGVyCisjIHRpbHN2YXJlbmRlIGtvbnN0cnVrdGlvbikKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTIgbGliZmRpc2svc3JjL2Rvcy5jOjExNjEKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIlNlbmVzdGUgY3lsaW5kZXIsICtjeWxpbmRlcmUgZWxsZXIgK3N0w7hycmVsc2V7SyxNLEcsVCxQfSIKKworIyAobGlkdCBzcGVjaWVsdCBtZW4gbWFuIHNrcml2ZXIgdmlzdCArMTAyNCwgKzEwMjRLLCArMjA0OE0gZWxsZXIKKyMgdGlsc3ZhcmVuZGUga29uc3RydWt0aW9uKQorIzogbGliZmRpc2svc3JjL2JzZC5jOjI5NyBsaWJmZGlzay9zcmMvZG9zLmM6MTE2NiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1NQorbXNnaWQgIkxhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICJTZW5lc3RlIHNla3RvciwgK3Nla3RvcmVyIGVsbGVyICtzdMO4cnJlbHNle0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRldmljZSAlcyBkb2VzIG5vdCBjb250YWluIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICJFbmhlZGVuICVzIGhhciBpbmdlbiBCU0QtZGlza2V0aWtldC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODMKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBjcmVhdGUgYSBCU0QgZGlza2xhYmVsPyIKK21zZ3N0ciAiVmlsIGR1IG9wcmV0dGUgZW4gQlNELWRpc2tldGlrZXQ/IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDQ5CisjLCBmdXp6eQorbXNnaWQgIkRpc2siCittc2dzdHIgIkRpc2s6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDU2Cittc2dpZCAiUGFja25hbWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MyBsaWJmZGlzay9zcmMvc3VuLmM6MTExNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICJGbGFnIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY2Cittc2dpZCAiIHJlbW92YWJsZSIKK21zZ3N0ciAiIGZseXRiYXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjcKK21zZ2lkICIgZWNjIgorbXNnc3RyICIgZWNjIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY4Cittc2dpZCAiIGJhZHNlY3QiCittc2dzdHIgIiBmZWpsc2VrdCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ3NgorIywgZnV6enkKK21zZ2lkICJCeXRlcy9TZWN0b3IiCittc2dzdHIgImJ5dGUvc2VrdG9yIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDgxCisjLCBmdXp6eQorbXNnaWQgIlRyYWNrcy9DeWxpbmRlciIKK21zZ3N0ciAic3Bvci9jeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4NgorIywgZnV6enkKK21zZ2lkICJTZWN0b3JzL0N5bGluZGVyIgorbXNnc3RyICJzZWt0b3Jlci9jeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5MSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOCBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMworIzogbGliZmRpc2svc3JjL3NnaS5jOjExNTcgbGliZmRpc2svc3JjL3N1bi5jOjE5NiBsaWJmZGlzay9zcmMvc3VuLmM6MTExMworbXNnaWQgIkN5bGluZGVycyIKK21zZ3N0ciAiQ3lsaW5kcmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTYgbGliZmRpc2svc3JjL3N1bi5jOjc2MAorIywgZnV6enkKK21zZ2lkICJScG0iCittc2dzdHIgIm9tZHIuIHBlciBtaW51dCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMSBsaWJmZGlzay9zcmMvc2dpLmM6MjkyIGxpYmZkaXNrL3NyYy9zdW4uYzo3ODAKKyMsIGZ1enp5Cittc2dpZCAiSW50ZXJsZWF2ZSIKK21zZ3N0ciAiaW50ZXJsZWF2ZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwNgorIywgZnV6enkKK21zZ2lkICJUcmFja3NrZXciCittc2dzdHIgInNwb3JhZnZpZ2Vsc2UiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTEKKyMsIGZ1enp5Cittc2dpZCAiQ3lsaW5kZXJza2V3IgorbXNnc3RyICJjeWxpbmRlcmFmdmlnZWxzZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxNgorIywgZnV6enkKK21zZ2lkICJIZWFkc3dpdGNoIgorbXNnc3RyICJob3ZlZHNraWZ0IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTIxCisjLCBmdXp6eQorbXNnaWQgIlRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgInNwb3ItdGlsLXNwb3Igc8O4Z25pbmciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTEKK21zZ2lkICJieXRlcy9zZWN0b3IiCittc2dzdHIgImJ5dGUvc2VrdG9yIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE0Cittc2dpZCAic2VjdG9ycy90cmFjayIKK21zZ3N0ciAic2VrdG9yZXIvc3BvciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNQorbXNnaWQgInRyYWNrcy9jeWxpbmRlciIKK21zZ3N0ciAic3Bvci9jeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNgorbXNnaWQgImN5bGluZGVycyIKK21zZ3N0ciAiY3lsaW5kcmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjAKK21zZ2lkICJzZWN0b3JzL2N5bGluZGVyIgorbXNnc3RyICJzZWt0b3Jlci9jeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMworbXNnaWQgInJwbSIKK21zZ3N0ciAib21kci4gcGVyIG1pbnV0IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI0Cittc2dpZCAiaW50ZXJsZWF2ZSIKK21zZ3N0ciAiaW50ZXJsZWF2ZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNQorbXNnaWQgInRyYWNrc2tldyIKK21zZ3N0ciAic3BvcmFmdmlnZWxzZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNgorbXNnaWQgImN5bGluZGVyc2tldyIKK21zZ3N0ciAiY3lsaW5kZXJhZnZpZ2Vsc2UiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjgKK21zZ2lkICJoZWFkc3dpdGNoIgorbXNnc3RyICJob3ZlZHNraWZ0IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI5Cittc2dpZCAidHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAic3Bvci10aWwtc3BvciBzw7hnbmluZyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdHN0cmFwIGZpbGUgJXMgc3VjY2Vzc2Z1bGx5IGxvYWRlZC4iCittc2dzdHIgIkJvb3RzdHJhcGZpbGVuICVzIGluZGzDpnN0LiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY3MworIywgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXA6ICUxJHNib290IC0+IGJvb3QlMSRzIChkZWZhdWx0ICUxJHMpIgorbXNnc3RyICJPcHN0YXJ0c2lnYW5nc8OmdHRlcjogJTEkc29wc3RhcnQgLT4gb3BzdGFydCUxJHMgKHN0YW5kYXJkICUxJHMpIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzA0Cittc2dpZCAiQm9vdHN0cmFwIG92ZXJsYXBzIHdpdGggZGlza2xhYmVsISIKK21zZ3N0ciAiT3BzdGFydHNpZ2FuZ3PDpnR0ZXIgb3ZlcmxhcHBlciBtZWQgZGlza2V0aWtldCEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwIGluc3RhbGxlZCBvbiAlcy4iCittc2dzdHIgIk9wc3RhcnRzaWdhbmdzw6Z0dGVyIGluc3RhbGxlcmV0IHDDpSAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuICAoRG9uJ3QgZm9yZ2V0IHRvIHdyaXRlIHRoZSAlcyBkaXNrbGFiZWwgdG9vLikiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwMworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4iCittc2dzdHIgIkRpc2tldGlrZXQgc2tyZXZldCB0aWwgJXMuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTA5IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjY2Cittc2dpZCAiU3luY2luZyBkaXNrcy4iCittc2dzdHIgIlN5bmtyb25pc2VyZXIgZGlza2UuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTUwCittc2dpZCAiQlNEIGxhYmVsIGlzIG5vdCBuZXN0ZWQgd2l0aGluIGEgRE9TIHBhcnRpdGlvbi4iCittc2dzdHIgIkJTRC1ldGlrZXQgZXIgaWtrZSBpbmRsZWpyZXQgaSBlbiBET1MtcGFydGl0aW9uLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk3OAorIywgYy1mb3JtYXQKK21zZ2lkICJCU0QgcGFydGl0aW9uICclYycgbGlua2VkIHRvIERPUyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiQlNELXBhcnRpdGlvbiDCuyVjwqsgZXIgbMOmbmtldCB0aWwgRE9TLXBhcnRpdGlvbiAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNAorbXNnaWQgIlNsaWNlIgorbXNnc3RyICJTa2l2ZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjEKK21zZ2lkICJGc2l6ZSIKK21zZ3N0ciAiRnN0w7hycmVsc2UiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIyCittc2dpZCAiQnNpemUiCittc2dzdHIgIkJzdMO4cnJlbHNlIgorCisjIHN0w6VyIGRldCBmb3I6IENsb3NlZCBQcm9jZXNzIEdyb3VwPworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjMKK21zZ2lkICJDcGciCittc2dzdHIgIkNwZyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NlIGRldmljZSBmYWlsZWQiCittc2dzdHIgIiVzOiBsdWsgZW5oZWQgbWlzbHlra2VkZXMiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODI3Cittc2dpZCAiY3lsaW5kZXIiCittc2dpZF9wbHVyYWwgImN5bGluZGVycyIKK21zZ3N0clswXSAiY3lsaW5kZXIiCittc2dzdHJbMV0gImN5bGluZHJlIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjgyOAorbXNnaWQgInNlY3RvciIKK21zZ2lkX3BsdXJhbCAic2VjdG9ycyIKK21zZ3N0clswXSAic2VrdG9yIgorbXNnc3RyWzFdICJzZWt0b3JlciIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMTMxCittc2dpZCAiSW5jb21wbGV0ZSBnZW9tZXRyeSBzZXR0aW5nLiIKK21zZ3N0ciAiVWZ1bGRzdMOmbmRpZyBnZW9tZXRyaWluZHN0aWxsaW5nLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxNAorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgaGF2ZSBiZWVuIGRlZmluZWQgYWxyZWFkeS4iCittc2dzdHIgIkFsbGUgcHJpbcOmcmUgcGFydGl0aW9uZXIgZXIgYWxsZXJlZGUgZGVmaW5lcmVkZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZXh0ZW5kZWQgcGFydGl0aW9uIHRhYmxlIChvZmZzZXQ9JWp1KSIKK21zZ3N0ciAiS3VubmUgaWtrZSBsw6ZzZSB1ZHZpZGV0IHBhcnRpdGlvbnN0YWJlbCAoZm9yc2t5ZG5pbmc9JWp1KSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjMyOAorbXNnaWQgIllvdSBjYW4gc2V0IGdlb21ldHJ5IGZyb20gdGhlIGV4dHJhIGZ1bmN0aW9ucyBtZW51LiIKK21zZ3N0ciAiRHUga2FuIHPDpnR0ZSBnZW9tZXRyaSBmcmEgbWVudWVuIG1lZCBla3N0cmEgZnVua3Rpb25lci4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMzEKK21zZ2lkICJET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIgorbXNnc3RyICJET1Mta29tcGF0aWJlbCB0aWxzdGFuZCBlciBmb3LDpmxkZXQuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzM1Cittc2dpZCAiVGhlIGRldmljZSBwcmVzZW50cyBhIGxvZ2ljYWwgc2VjdG9yIHNpemUgdGhhdCBpcyBzbWFsbGVyIHRoYW4gdGhlIHBoeXNpY2FsIHNlY3RvciBzaXplLiBBbGlnbmluZyB0byBhIHBoeXNpY2FsIHNlY3RvciAob3Igb3B0aW1hbCBJL08pIHNpemUgYm91bmRhcnkgaXMgcmVjb21tZW5kZWQsIG9yIHBlcmZvcm1hbmNlIG1heSBiZSBpbXBhY3RlZC4iCittc2dzdHIgIkVuaGVkZW4gdmlzZXIgZW4gbG9naXNrIHNla3RvcnN0w7hycmVsc2UsIHNvbSBlciBtaW5kcmUgZW5kIGRlbiBmeXNpc2tlIHNla3RvcnN0w7hycmVsc2UuIEp1c3RlcmluZyB0aWwgZW4gc3TDuHJyZWxzZXNncsOmbnNlIGZvciBlbiBmeXNpc2sgc2VrdG9yIChlbGxlciB2YWxnZnJpIEkvTykgYW5iZWZhbGVzLCBlbGxlcnMga2FuIHlkZWxzZW4gYmxpdmUgcMOldmlya2V0LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MQorbXNnaWQgIkN5bGluZGVycyBhcyBkaXNwbGF5IHVuaXRzIGFyZSBkZXByZWNhdGVkLiIKK21zZ3N0ciAiQ3lsaW5kZXJlIHNvbSB2aXNuaW5nc2VuaGVkIGVyIGZvcsOmbGRldC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHNpemUgb2YgdGhpcyBkaXNrIGlzICVzICglanUgYnl0ZXMpLiBET1MgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCBjYW4gbm90IGJlIHVzZWQgb24gZHJpdmVzIGZvciB2b2x1bWVzIGxhcmdlciB0aGFuICVsdSBieXRlcyBmb3IgJWx1LWJ5dGUgc2VjdG9ycy4gVXNlIEdVSUQgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCAoR1BUKS4iCittc2dzdHIgIlN0w7hycmVsc2VuIHDDpSBkaXNrZW4gZXIgJXMgKCVqdSBieXRlKS4gRE9TLXBhcnRpdGlvbnN0YWJlbGZvcm1hdCBrYW4gaWtrZSBicnVnZXMgcMOlIGRyZXYgZm9yIGRpc2tlbmhlZGVyIHN0w7hycmUgZW5kICVsdSBieXRlIGZvciAlbHUtYnl0ZSBzZWt0b3Jlci4gQnJ1ZyBHVUlEJ3MgcGFydGl0aW9uc3RhYmVsZm9ybWF0IChHUFQpLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjUwMworbXNnaWQgIkJhZCBvZmZzZXQgaW4gcHJpbWFyeSBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJVZ3lsZGlnIGZvcnNreWRuaW5nIGkgcHJpbcOmciB1ZHZpZGV0IHBhcnRpdGlvbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiT21pdHRpbmcgcGFydGl0aW9ucyBhZnRlciAjJXp1LiBUaGV5IHdpbGwgYmUgZGVsZXRlZCBpZiB5b3Ugc2F2ZSB0aGlzIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIlVkZWxhZGVyIHBhcnRpdGlvbmVyIGVmdGVyICMlenUuIERlIHZpbCBibGl2ZSBzbGV0dGV0LCBodmlzIGR1IGdlbW1lciBkZW5uZSBwYXJ0aXRpb25zdGFiZWwuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4dHJhIGxpbmsgcG9pbnRlciBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiRWtzdHJhIGhlbnZpc25pbmdzcGVnZXIgKGxpbmsgcG9pbnRlcikgaSBwYXJ0aXRpb25zdGFiZWwgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU1NAorIywgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBkYXRhIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJJZ25vcmVyZXIgZWtzdHJhIGRhdGEgaSBwYXJ0aXRpb25zdGFiZWwgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICJvbWl0dGluZyBlbXB0eSBwYXJ0aXRpb24gKCV6dSkiCittc2dzdHIgInVkZWxhZGVyIHRvbSBwYXJ0aXRpb24gKCV6dSkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC4iCittc2dzdHIgIk9wcmV0dGVkZSBlbiBueSBET1MtZGlza2V0aWtldCBtZWQgZGlza2lkZW50aWZpa2F0aW9uIDB4JTA4eC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2ODUKK21zZ2lkICJFbnRlciB0aGUgbmV3IGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiSW5kdGFzdCBkZW4gbnllIGRpc2tpZGVudGlmaWthdGlvbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY5MgorbXNnaWQgIkluY29ycmVjdCB2YWx1ZS4iCittc2dzdHIgIlVneWxkaWcgdsOmcmRpLiIKKworIyBFdnQuIGthbiB2aSBvbWfDpSBkZXQgbGlkdCBteXN0aXNrZSAiaWRlbnRpZmlrYXRpb24iIHZlZCBiYXJlIGF0IGJydWdlCisjIGZvcmtvcnRlbHNlbiBpZDoKKyMgRGlzay1pZDogLi4uCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gMHglMDh4IHRvIDB4JTA4eC4iCittc2dzdHIgIkRpc2tpZGVudGlmaWthdGlvbiDDpm5kcmV0IGZyYSAweCUwOHggdGlsIDB4JTA4eC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZXh0ZW5kZWQgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiSWdub3JlcmVyIGVrc3RyYSB1ZHZpZGV0IHBhcnRpdGlvbiAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBmbGFnIDB4JTAyeCUwMnggb2YgRUJSIChmb3IgcGFydGl0aW9uICV6dSkgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIlVneWxkaWd0IGZsYWcgMHglMDJ4JTAyeCBmb3IgRUJSIChmb3IgcGFydGl0aW9uICV6dSkgdmlsIGJsaXZlIHJldHRldCBtZWQgwrt3wqsgKGZvcmtvcnRlbHNlIGZvciB3cml0ZTsgZGFuc2s9c2tyaXYpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6OTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIlN0YXJ0IHNlY3RvciAlanUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiU3RhcnRzZWt0b3IgJWp1IHVkZW4gZm9yIG9tcsOlZGV0LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwMjYgbGliZmRpc2svc3JjL2dwdC5jOjIxMzYgbGliZmRpc2svc3JjL3NnaS5jOjgzOQorIzogbGliZmRpc2svc3JjL3N1bi5jOjUxNworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKK21zZ3N0ciAiUGFydGl0aW9uICV6dSBlciBhbGxlcmVkZSBkZWZpbmVyZXQuIFNsZXQgZGVuIGbDuHIgZHUgdGlsZsO4amVyIGRlbiBpZ2VuLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVsbHUgaXMgYWxyZWFkeSBhbGxvY2F0ZWQuIgorbXNnc3RyICJTZWt0b3IgJWxsdSBlciBhbGxlcmVkZSBhbGxva2VyZXQuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTEzMyBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0NgorbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGUuIgorbXNnc3RyICJJbmdlbiB0aWxnw6ZuZ2VsaWdlIGZyaWUgc2VrdG9yZXIuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJUaWxmw7hqZXIgbG9naXNrIHBhcnRpdGlvbiAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGNvbnRhaW5zIHNlY3RvciAwIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1OiBpbmRlaG9sZGVyIHNla3RvciAwIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMxOAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBoZWFkICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVkIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1OiBob3ZlZGV0ICVkIGVyIHN0w7hycmUgZW5kIGRlIG1ha3NpbWFsZSAlZCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogc2VjdG9yICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIlBhcnRpdGlvbiAlenU6IHNla3RvciAlZCBlciBzdMO4cnJlIGVuZCBkZSBtYWtzaW1hbGUgJWxsdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY3lsaW5kZXIgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiUGFydGl0aW9uZXJuZSAlenU6IGN5bGluZGVyICVkIHN0w7hycmUgZW5kIGRlIG1ha3NpbWFsZSAlbGx1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMzMAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBwcmV2aW91cyBzZWN0b3JzICV1IGRpc2FncmVlcyB3aXRoIHRvdGFsICV1IgorbXNnc3RyICJQYXJ0aXRpb24gJXp1OiBmb3JyaWdlIHNla3RvcmVyICV1IHN0ZW1tZXIgaWtrZSBtZWQgdG90YWxlbiAldSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgYmVnaW5uaW5ncyAobm9uLUxpbnV4Pyk6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiUGFydGl0aW9uICV6dSBoYXIgZm9yc2tlbGxpZyBmeXNpc2svbG9naXNrIGJlZ3luZGVsc2UgKGlra2UtTGludXg/KTogZnlzaWs9KCVkLCAlZCwgJWQpLCBsb2dpaz0oJWQsICVkLCAlZCkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGVuZGluZ3M6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiUGFydGl0aW9uICV6dSBoYXIgZm9yc2tlbGxpZyBmeXNpc2svbG9naXNrIGVuZGVsc2U6IGZ5c2lrPSglZCwgJWQsICVkKSwgbG9naWs9KCVkLCAlZCwgJWQpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQwMworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1IHNsdXR0ZXIgaWtrZSBww6UgZW4gY3lsaW5kZXJncsOmbnNlLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogYmFkIHN0YXJ0LW9mLWRhdGEuIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1IHVneWxkaWcgc3RhcnQgcMOlIGRhdGEuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ0MgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBvdmVybGFwcyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiUGFydGl0aW9uICV6dTogb3ZlcmxhcHBlciBtZWQgcGFydGl0aW9uICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGVtcHR5LiIKK21zZ3N0ciAiUGFydGl0aW9uICV6dTogdG9tLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9naWNhbCBwYXJ0aXRpb24gJXp1OiBub3QgZW50aXJlbHkgaW4gcGFydGl0aW9uICV6dS4iCittc2dzdHIgIkxvZ2lzayBwYXJ0aXRpb24gJXp1OiBpa2tlIGZ1bGRzdMOmbmRpZ3QgaW5kZW4gZm9yIHBhcnRpdGlvbiAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICJUb3RhbCBhbGxvY2F0ZWQgc2VjdG9ycyAlbGx1IGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSAlbGx1LiIKK21zZ3N0ciAiRGV0IHRvdGFsZSBhbnRhbCBhbGxva2VyZWRlIHNla3RvcmVyICVsbHUgZXIgc3TDuHJyZSBlbmQgZGUgbWFrc2ltYWxlICVsbHUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJSZW1haW5pbmcgJWxsZCB1bmFsbG9jYXRlZCAlbGQtYnl0ZSBzZWN0b3JzLiIKK21zZ3N0ciAiVGlsYmFnZXbDpnJlbmRlICVsbGQgaWtrZS1hbGxva2VyZWRlICVsZC1ieXRlIHNla3RvcmVyLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1MzIgbGliZmRpc2svc3JjL2Rvcy5jOjE5NTQKK21zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gYWxyZWFkeSBleGlzdHMuIgorbXNnc3RyICJVZHZpZGV0IHBhcnRpdGlvbiBmaW5kZXMgYWxsZXJlZGUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU3NQorbXNnaWQgIlRoZSBtYXhpbXVtIG51bWJlciBvZiBwYXJ0aXRpb25zIGhhcyBiZWVuIGNyZWF0ZWQuIgorbXNnc3RyICJEZXQgbWFrc2ltYWxlIGFudGFsIHBhcnRpdGlvbmVyIGVyIGJsZXZldCBvcHJldHRldC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTg3Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiIKK21zZ3N0ciAiU2FtdGxpZ2UgcHJpbcOmcmUgcGFydGl0aW9uZXIgZXIgaSBicnVnLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1ODkgbGliZmRpc2svc3JjL2Rvcy5jOjE2MDAKK21zZ2lkICJBbGwgc3BhY2UgZm9yIHByaW1hcnkgcGFydGl0aW9ucyBpcyBpbiB1c2UuIgorbXNnc3RyICJBbCBwbGFkcyBmb3IgcHJpbcOmcmUgcGFydGl0aW9uZXIgZXIgaSBicnVnLiIKKworIy4gVFJBTlNMQVRPUlM6IFRyeSB0byBrZWVwIHRoaXMgd2l0aGluIDgwIGNoYXJhY3RlcnMuCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYwMworbXNnaWQgIlRvIGNyZWF0ZSBtb3JlIHBhcnRpdGlvbnMsIGZpcnN0IHJlcGxhY2UgYSBwcmltYXJ5IHdpdGggYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiRm9yIGF0IG9wcmV0dGUgZmxlcmUgcGFydC4sIHPDpSBza2FsIGR1IGbDuHJzdCBlcnN0YXR0ZSBlbiBwcmltw6ZyIG1lZCBlbiB1ZHZpZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjA4Cittc2dpZCAiQWxsIGxvZ2ljYWwgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiBBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvbi4iCittc2dzdHIgIlNhbXRsaWdlIGxvZ2lza2UgcGFydGl0aW9uZXIgZXIgaSBicnVnLiBUaWxmw7hqZXIgZW4gcHJpbcOmciBwYXJ0aXRpb24uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzMAorbXNnaWQgIlBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJQYXJ0aXRpb25zdHlwZSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXp1IHByaW1hcnksICVkIGV4dGVuZGVkLCAlenUgZnJlZSIKK21zZ3N0ciAiJXp1IHByaW3DpnIsICVkIHVkdmlkZXQsICV6dSBmcmkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjM5Cittc2dpZCAicHJpbWFyeSIKK21zZ3N0ciAicHJpbcOmciIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDEKK21zZ2lkICJleHRlbmRlZCIKK21zZ3N0ciAidWR2aWRldCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDEKK21zZ2lkICJjb250YWluZXIgZm9yIGxvZ2ljYWwgcGFydGl0aW9ucyIKK21zZ3N0ciAiY29udGFpbmVyIGZvciBsb2dpc2tlIHBhcnRpdGlvbmVyIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MworbXNnaWQgImxvZ2ljYWwiCittc2dzdHIgImxvZ2lzayIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDMKK21zZ2lkICJudW1iZXJlZCBmcm9tIDUiCittc2dzdHIgIm51bW1lcmVyZXQgZnJhIDUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIHR5cGUgYCVjJy4iCittc2dzdHIgIlVneWxkaWcgcGFydGl0aW9uc3R5cGUgwrslY8KrLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlIHNlY3RvciAlamQ6IHNlZWsgZmFpbGVkIgorbXNnc3RyICJrYW4gaWtrZSBza3JpdmUgc2VrdG9yICVqZDogc8O4Z25pbmcgbWlzbHlra2VkZXMiCisKKyMgRXZ0LiBrYW4gdmkgb21nw6UgZGV0IGxpZHQgbXlzdGlza2UgImlkZW50aWZpa2F0aW9uIiB2ZWQgYmFyZSBhdCBicnVnZQorIyBmb3Jrb3J0ZWxzZW4gaWQ6CisjIERpc2staWQ6IC4uLgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjE4NTIgbGliZmRpc2svc3JjL2dwdC5jOjEwOTYKKyMsIGZ1enp5Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJEaXNraWRlbnRpZmlrYXRpb246ICVzIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1OQorbXNnaWQgIlR5cGUgMCBtZWFucyBmcmVlIHNwYWNlIHRvIG1hbnkgc3lzdGVtcy4gSGF2aW5nIHBhcnRpdGlvbnMgb2YgdHlwZSAwIGlzIHByb2JhYmx5IHVud2lzZS4iCittc2dzdHIgIlR5cGUgMCBiZXR5ZGVyIGZyaSBwbGFkcyBmb3IgbWFuZ2Ugc3lzdGVtZXIuIEF0IGhhdmUgcGFydGl0aW9uZXIgbWVkIHR5cGUgMCBlciBzYW5kc3lubGlndmlzIHVrbG9ndC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxOTY0Cittc2dpZCAiQ2Fubm90IGNoYW5nZSB0eXBlIG9mIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24gd2hpY2ggaXMgYWxyZWFkeSB1c2VkIGJ5IGxvZ2ljYWwgcGFydGl0aW9ucy4gRGVsZXRlIGxvZ2ljYWwgcGFydGl0aW9ucyBmaXJzdC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxNDMgbGliZmRpc2svc3JjL2dwdC5jOjI4MjEKK21zZ2lkICJOb3RoaW5nIHRvIGRvLiBPcmRlcmluZyBpcyBjb3JyZWN0IGFscmVhZHkuIgorbXNnc3RyICJJbnRldCBhdCBnw7hyZS4gUsOma2tlZsO4bGdlbiBlciBhbGxlcmVkZSBrb3JyZWt0LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogbm8gZGF0YSBhcmVhLiIKK21zZ3N0ciAiUGFydGl0aW9uICV6dTogaW50ZXQgZGF0YW9tcsOlZGUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjIyMgorbXNnaWQgIk5ldyBiZWdpbm5pbmcgb2YgZGF0YSIKK21zZ3N0ciAiTnkgYmVneW5kZWxzZSBww6UgZGF0YSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaXMgYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiUGFydGl0aW9uICV6dTogZXIgZW4gdWR2aWRldCBwYXJ0aXRpb24uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiT3BzdGFydHNmbGFnZXQgcMOlIHBhcnRpdGlvbiAlenUgZXIgbnUgYWt0aXZlcmV0LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJPcHN0YXJ0c2ZsYWdldCBww6UgcGFydGl0aW9uICV6dSBlciBudSBkZWFrdGl2ZXJldC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjk4IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTExIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTUzCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTEwOQorbXNnaWQgIkRldmljZSIKK21zZ3N0ciAiRW5oZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjk5IGxpYmZkaXNrL3NyYy9zdW4uYzo0MQorbXNnaWQgIkJvb3QiCittc2dzdHIgIk9wc3RhcnQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzA1IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU5IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE1Cittc2dpZCAiSWQiCittc2dzdHIgIklkIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwOQorbXNnaWQgIlN0YXJ0LUMvSC9TIgorbXNnc3RyICJTdGFydC1DL0gvUyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTAKK21zZ2lkICJFbmQtQy9IL1MiCittc2dzdHIgIlNsdXQtQy9IL1MiCisKKyMgZXIgZGV0IGF0dHJpYnV0cz8KKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzExIGxpYmZkaXNrL3NyYy9ncHQuYzoyOTIxIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTYxCittc2dpZCAiQXR0cnMiCittc2dzdHIgIkF0dHJzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYwCittc2dpZCAiRUZJIFN5c3RlbSIKK21zZ3N0ciAiRUZJLXN5c3RlbSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MgorbXNnaWQgIk1CUiBwYXJ0aXRpb24gc2NoZW1lIgorbXNnc3RyICJNQlItcGFydGl0aW9uc3NrZW1hIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzCittc2dpZCAiSW50ZWwgRmFzdCBGbGFzaCIKK21zZ3N0ciAiSW50ZWwgRmFzdCBGbGFzaCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2NgorbXNnaWQgIkJJT1MgYm9vdCIKK21zZ3N0ciAiQklPUy1vcHN0YXJ0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY5CisjLCBmdXp6eQorbXNnaWQgIlNvbnkgYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgInbDpmxnIGVuIG9wc3RhcnRzcGFydGl0aW9uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTcwCisjLCBmdXp6eQorbXNnaWQgIkxlbm92byBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAidsOmbGcgZW4gb3BzdGFydHNwYXJ0aXRpb24iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAiUG93ZXJQQyBQUmVQIGJvb3QiCittc2dzdHIgIlBQQyBQUmVQIE9wc3RhcnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzYKKyMsIGZ1enp5Cittc2dpZCAiT05JRSBib290IgorbXNnc3RyICJCSU9TLW9wc3RhcnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzcKK21zZ2lkICJPTklFIGNvbmZpZyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwCittc2dpZCAiTWljcm9zb2Z0IHJlc2VydmVkIgorbXNnc3RyICJNaWNyb3NvZnQgcmVzZXJ2ZXJldCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MQorbXNnaWQgIk1pY3Jvc29mdCBiYXNpYyBkYXRhIgorbXNnc3RyICJNaWNyb3NvZnQgYmFzaXNkYXRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgyCittc2dpZCAiTWljcm9zb2Z0IExETSBtZXRhZGF0YSIKK21zZ3N0ciAiTWljcm9zb2Z0IExETS1tZXRhZGF0YSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MworbXNnaWQgIk1pY3Jvc29mdCBMRE0gZGF0YSIKK21zZ3N0ciAiTWljcm9zb2Z0IExETS1kYXRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg0Cittc2dpZCAiV2luZG93cyByZWNvdmVyeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiV2luZG93cy1nZW5kYW5uZWxzZXNtaWxqw7giCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODUKK21zZ2lkICJJQk0gR2VuZXJhbCBQYXJhbGxlbCBGcyIKK21zZ3N0ciAiSUJNIGdlbmVyZWx0IHBhcmFsbGVsdCBmcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NgorbXNnaWQgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKK21zZ3N0ciAiTWljcm9zb2Z0IFN0b3JhZ2UgU3BhY2VzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg5Cittc2dpZCAiSFAtVVggZGF0YSIKK21zZ3N0ciAiSFAtVVgtZGF0YSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MAorbXNnaWQgIkhQLVVYIHNlcnZpY2UiCittc2dzdHIgIkhQLVVYLXRqZW5lc3RlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2MSBsaWJmZGlzay9zcmMvc3VuLmM6NTIKK21zZ2lkICJMaW51eCBzd2FwIgorbXNnc3RyICJMaW51eCBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk0Cittc2dpZCAiTGludXggZmlsZXN5c3RlbSIKK21zZ3N0ciAiTGludXgtZmlsc3lzdGVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk1Cittc2dpZCAiTGludXggc2VydmVyIGRhdGEiCittc2dzdHIgIkxpbnV4LXNlcnZlcmRhdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTYKK21zZ2lkICJMaW51eCByb290ICh4ODYpIgorbXNnc3RyICJMaW51eCByb290ICh4ODYpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3CisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IHJvb3QgKEFSTSkiCittc2dzdHIgIkxpbnV4IHJvb3QgKHg4NikiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTgKK21zZ2lkICJMaW51eCByb290ICh4ODYtNjQpIgorbXNnc3RyICJMaW51eCByb290ICh4ODYtNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5CisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IHJvb3QgKEFSTS02NCkiCittc2dzdHIgIkxpbnV4IHJvb3QgKHg4Ni02NCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAKKyMsIGZ1enp5Cittc2dpZCAiTGludXggcm9vdFx0KElBLTY0KSIKK21zZ3N0ciAiTGludXggcm9vdCAoeDg2LTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMQorbXNnaWQgIkxpbnV4IHJlc2VydmVkIgorbXNnc3RyICJMaW51eC1yZXNlcnZlcmVkZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMgorbXNnaWQgIkxpbnV4IGhvbWUiCittc2dzdHIgIkxpbnV4IGhvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMgbGliZmRpc2svc3JjL3NnaS5jOjY0Cittc2dpZCAiTGludXggUkFJRCIKK21zZ3N0ciAiTGludXggUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNAorbXNnaWQgIkxpbnV4IGV4dGVuZGVkIGJvb3QiCittc2dzdHIgIkxpbnV4IHVkdmlkZXQgb3BzdGFydCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMgorbXNnaWQgIkZyZWVCU0QgZGF0YSIKK21zZ3N0ciAiRnJlZUJTRC1kYXRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzCittc2dpZCAiRnJlZUJTRCBib290IgorbXNnc3RyICJGcmVlQlNELW9wc3RhcnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQKK21zZ2lkICJGcmVlQlNEIHN3YXAiCittc2dzdHIgIkZyZWVCU0Qtc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNQorbXNnaWQgIkZyZWVCU0QgVUZTIgorbXNnc3RyICJGcmVlQlNELVVGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNgorbXNnaWQgIkZyZWVCU0QgWkZTIgorbXNnc3RyICJGcmVlQlNELVpGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNworbXNnaWQgIkZyZWVCU0QgVmludW0iCittc2dzdHIgIkZyZWVCU0QgVmludW0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjAKK21zZ2lkICJBcHBsZSBIRlMvSEZTKyIKK21zZ3N0ciAiQXBwbGUgSEZTL0hGUysiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEKK21zZ2lkICJBcHBsZSBVRlMiCittc2dzdHIgIkFwcGxlIFVGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMgorbXNnaWQgIkFwcGxlIFJBSUQiCittc2dzdHIgIkFwcGxlIFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjMKK21zZ2lkICJBcHBsZSBSQUlEIG9mZmxpbmUiCittc2dzdHIgIkFwcGxlIFJBSUQtZnJha29ibGV0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0Cittc2dpZCAiQXBwbGUgYm9vdCIKK21zZ3N0ciAiQXBwbGUtb3BzdGFydCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNQorbXNnaWQgIkFwcGxlIGxhYmVsIgorbXNnc3RyICJBcHBsZS1ldGlrZXQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjYKK21zZ2lkICJBcHBsZSBUViByZWNvdmVyeSIKK21zZ3N0ciAiQXBwbGUgVFYtZ2VuZGFubmVsc2UiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjcKK21zZ2lkICJBcHBsZSBDb3JlIHN0b3JhZ2UiCittc2dzdHIgIkFwcGxlIENvcmUtbGFnZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzEKK21zZ2lkICJTb2xhcmlzIHJvb3QiCittc2dzdHIgIlNvbGFyaXMgcm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMworbXNnaWQgIlNvbGFyaXMgL3VzciAmIEFwcGxlIFpGUyIKK21zZ3N0ciAiU29sYXJpcyAvdXNyICYgQXBwbGUgWkZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM0Cittc2dpZCAiU29sYXJpcyBzd2FwIgorbXNnc3RyICJTb2xhcmlzLXN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzUKK21zZ2lkICJTb2xhcmlzIGJhY2t1cCIKK21zZ3N0ciAiU29sYXJpcy1zaWtrZXJoZWRza29waSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNgorbXNnaWQgIlNvbGFyaXMgL3ZhciIKK21zZ3N0ciAiU29sYXJpcyAvdmFyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM3Cittc2dpZCAiU29sYXJpcyAvaG9tZSIKK21zZ3N0ciAiU29sYXJpcyAvaG9tZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOAorbXNnaWQgIlNvbGFyaXMgYWx0ZXJuYXRlIHNlY3RvciIKK21zZ3N0ciAiU29sYXJpcycgYWx0ZXJuYXRpdiBzZWt0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDEiCittc2dzdHIgIlNvbGFyaXMtcmVzZXJ2ZXJlZGUgMSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MAorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMiIKK21zZ3N0ciAiU29sYXJpcy1yZXNlcnZlcmVkZSAyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAzIgorbXNnc3RyICJTb2xhcmlzLXJlc2VydmVyZWRlIDMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDIKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDQiCittc2dzdHIgIlNvbGFyaXMtcmVzZXJ2ZXJlZGUgNCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MworbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNSIKK21zZ3N0ciAiU29sYXJpcy1yZXNlcnZlcmVkZSA1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2Cittc2dpZCAiTmV0QlNEIHN3YXAiCittc2dzdHIgIk5ldEJTRC1zd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ3Cittc2dpZCAiTmV0QlNEIEZGUyIKK21zZ3N0ciAiTmV0QlNEIEZGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OAorbXNnaWQgIk5ldEJTRCBMRlMiCittc2dzdHIgIk5ldEJTRCBMRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDkKK21zZ2lkICJOZXRCU0QgY29uY2F0ZW5hdGVkIgorbXNnc3RyICJOZXRCU0Qtc2FtbWVua8OmZGV0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwCittc2dpZCAiTmV0QlNEIGVuY3J5cHRlZCIKK21zZ3N0ciAiTmV0QlNELWtyeXB0ZXJldCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MQorbXNnaWQgIk5ldEJTRCBSQUlEIgorbXNnc3RyICJOZXRCU0QgUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NAorbXNnaWQgIkNocm9tZU9TIGtlcm5lbCIKK21zZ3N0ciAiQ2hyb21lT1Mta2VybmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTUKK21zZ2lkICJDaHJvbWVPUyByb290IGZzIgorbXNnc3RyICJDaHJvbWVPUyByb290IGZzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU2Cittc2dpZCAiQ2hyb21lT1MgcmVzZXJ2ZWQiCittc2dzdHIgIkNocm9tZU9TLXJlc2VydmVyZWRlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5Cittc2dpZCAiTWlkbmlnaHRCU0QgZGF0YSIKK21zZ3N0ciAiTWlkbmlnaHRCU0QtZGF0YSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MAorbXNnaWQgIk1pZG5pZ2h0QlNEIGJvb3QiCittc2dzdHIgIk1pZG5pZ2h0QlNELW9wc3RhcnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjEKK21zZ2lkICJNaWRuaWdodEJTRCBzd2FwIgorbXNnc3RyICJNaWRuaWdodEJTRC1zd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyCittc2dpZCAiTWlkbmlnaHRCU0QgVUZTIgorbXNnc3RyICJNaWRuaWdodEJTRCBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjMKK21zZ2lkICJNaWRuaWdodEJTRCBaRlMiCittc2dzdHIgIk1pZG5pZ2h0QlNEIFpGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NAorbXNnaWQgIk1pZG5pZ2h0QlNEIFZpbnVtIgorbXNnc3RyICJNaWRuaWdodEJTRCBWaW51bSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NworbXNnaWQgIkNlcGggSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4Cittc2dpZCAiQ2VwaCBFbmNyeXB0ZWQgSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5Cittc2dpZCAiQ2VwaCBPU0QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MAorbXNnaWQgIkNlcGggY3J5cHQgT1NEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzEKK21zZ2lkICJDZXBoIGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MgorbXNnaWQgIkNlcGggY3J5cHQgZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1CisjLCBmdXp6eQorbXNnaWQgIk9wZW5CU0QgZGF0YSIKK21zZ3N0ciAiRnJlZUJTRC1kYXRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc4CisjLCBmdXp6eQorbXNnaWQgIlFOWDYgZmlsZSBzeXN0ZW0iCittc2dzdHIgIkxpbnV4LWZpbHN5c3RlbSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4MQorIywgZnV6enkKK21zZ2lkICJQbGFuIDkgcGFydGl0aW9uIgorbXNnc3RyICJzbGV0IGVuIHBhcnRpdGlvbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjU0NworbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHUFQgaGVhZGVyIgorbXNnc3RyICJrdW5uZSBpa2tlIGFsbG9rZXJlIEdQVC10ZWtzdGhvdmVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NjMwCittc2dpZCAiRmlyc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NjQyCittc2dpZCAiTGFzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdQVCBQTUJSIHNpemUgbWlzbWF0Y2ggKCU8UFJJdTY0PiAhPSAlPFBSSXU2ND4pIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkuIgorbXNnc3RyICJHUFQgUE1CUi1zdMO4cnJlbHNlc2ZvcnNrZWwgKCV1ICE9ICV1KSB2aWwgYmxpdmUgcmV0dGV0IGFmIHcocml0ZSkuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NzkyCittc2dpZCAiZ3B0OiBzdGF0KCkgZmFpbGVkIgorbXNnc3RyICJncHQ6IHN0YXQoKSBtaXNseWtrZWRlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjgwMgorIywgYy1mb3JtYXQKK21zZ2lkICJncHQ6IGNhbm5vdCBoYW5kbGUgZmlsZXMgd2l0aCBtb2RlICVvIgorbXNnc3RyICJncHQ6IGthbiBpa2tlIGjDpW5kdGVyZSBmaWxlciBtZWQgdGlsc3RhbmQgJW8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMDY0Cittc2dpZCAiR1BUIEhlYWRlciIKK21zZ3N0ciAiR1BULWhvdmVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTA2OQorbXNnaWQgIkdQVCBFbnRyaWVzIgorbXNnc3RyICJHUFQtcHVua3RlciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExMDMKKyMsIGZ1enp5Cittc2dpZCAiRmlyc3QgTEJBIgorbXNnc3RyICJGw7hyc3RlIExCQTogJWp1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEwOAorIywgZnV6enkKK21zZ2lkICJMYXN0IExCQSIKK21zZ3N0ciAiU2lkc3RlIExCQTogJWp1IgorCisjLiBUUkFOU0xBVE9SUzogVGhlIExCQSAoTG9naWNhbCBCbG9jayBBZGRyZXNzKSBvZiB0aGUgYmFja3VwIEdQVCBoZWFkZXIuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTExNAorIywgZnV6enkKK21zZ2lkICJBbHRlcm5hdGl2ZSBMQkEiCittc2dzdHIgIkFsdGVybmF0aXYgTEJBOiAlanUiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhcnQgb2YgdGhlIGFycmF5IG9mIHBhcnRpdGlvbiBlbnRyaWVzLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjExMjAKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIGVudHJpZXMgTEJBIgorbXNnc3RyICJQYXJ0aXRpb25zcHVua3RlciBMQkE6ICVqdSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExMjUKKyMsIGZ1enp5Cittc2dpZCAiQWxsb2NhdGVkIHBhcnRpdGlvbiBlbnRyaWVzIgorbXNnc3RyICJBbGxva2VyZWRlIHBhcnRpdGlvbnNwdW5rdGVyOiAldSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE0NDAKK21zZ2lkICJUaGUgYmFja3VwIEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIHByaW1hcnkgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICJTaWtrZXJoZWRzdGFiZWxsZW4gZm9yIEdQVCBlciDDuGRlbGFndCwgbWVuIGRlbiBwcmltw6ZyZSBzZXIgdWQgdGlsIGF0IHbDpnJlIG8uay4sIHPDpSBkZW4gYmxpdmVyIGJydWd0LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE0NDkKK21zZ2lkICJUaGUgcHJpbWFyeSBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBiYWNrdXAgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICJEZW4gcHJpbcOmcmUgR1BULXRhYmVsIGVyIMO4ZGVsYWd0LCBtZW4gc2lra2VyaGVkc2tvcGllbiBzZXIgby5rLiB1ZCwgc8OlIGRlbiB2aWwgYmxpdmUgYnJ1Z3QuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBHUFQgYXR0cmlidXRlIGJpdCAnJXMnIgorbXNnc3RyICJpa2tlIHVuZGVyc3TDuHR0ZXQgR1BULWF0dHJpYnV0Yml0IMK7JXPCqyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBHUFQgYXR0cmlidXRlIHN0cmluZyAnJXMnIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIGxpc3RlIMK7JXPCqyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiUGFydGl0aW9uIFVVSUQgw6ZuZHJldCBmcmEgJXMgdGlsICVzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIG5hbWUgY2hhbmdlZCBmcm9tICclcycgdG8gJyUuKnMnLiIKK21zZ3N0ciAiUGFydGl0aW9uc25hdm4gw6ZuZHJldCBmcmEgwrslc8KrIHRpbCDCuyUuKnPCqy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzY4CisjLCBmdXp6eQorbXNnaWQgIlRoZSBzdGFydCBvZiB0aGUgcGFydGl0aW9uIHVuZGVyc3RlcHMgRmlyc3RVc2FibGVMQkEuIgorbXNnc3RyICJzdGFydCBww6UgcGFydGl0aW9uZW4gaSBzZWt0b3JlciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NzUKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGVuZCBvZiB0aGUgcGFydGl0aW9uIG92ZXJzdGVwcyBMYXN0VXNhYmxlTEJBLiIKK21zZ3N0ciAic2x1dG5pbmcgcMOlIHBhcnRpdGlvbmVuIGkgc2VrdG9yZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTM0Cittc2dpZCAiVGhlIGRldmljZSBjb250YWlucyBoeWJyaWQgTUJSIC0tIHdyaXRpbmcgR1BUIG9ubHkuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIE1CUiBtYW51YWxseS4iCittc2dzdHIgIkVuaGVkZW4gaW5kZWhvbGRlciBoeWJyaWQgTUJSIC0gc2tyaXZlciBrdW4gR1BULiBEdSBza2FsIHN5bmtyb25pc2VyZSBNQlInZW4gbWFudWVsdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcxCittc2dpZCAiRGlzayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIkRpc2sgaW5kZWhvbGRlciBpa2tlIGV0IGd5bGRpZ3Qgc2lra2VyaGVkc2tvcGlob3ZlZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTc2Cittc2dpZCAiSW52YWxpZCBwcmltYXJ5IGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICJVZ3lsZGlnIHByaW3DpnIgdGVrc3Rob3ZlZC1DUkMta29udHJvbHN1bS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTgwCittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIlVneWxkaWcgdGVrc3Rob3ZlZC1DUkMta29udHJvbHN1bSBmb3Igc2lra2VyaGVkc2tvcGkuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4NQorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIGVudHJ5IGNoZWNrc3VtLiIKK21zZ3N0ciAiVWd5bGRpZyBrb250cm9sc3VtIGZvciBwYXJ0aXRpb25zcHVua3QuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5MAorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICJVZ3lsZGlnZSBMQkEtc2FuaXRldHNrb250cm9sbGVyIGZvciBwcmltw6ZyIHRla3N0aG92ZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTk0Cittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiVWd5bGRpZ2UgTEJBLXNhbml0ZXRza29udHJvbGxlciBmb3Igc2lra2VyaGVkc3Rla3N0aG92ZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTk5Cittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IHByaW1hcnkgaGVhZGVyLiIKK21zZ3N0ciAiTXlMQkEtZm9yc2tlbCB0aWwgcmVlbCBwb3NpdGlvbiBww6UgcHJpbcOmcnQgdGVrc3Rob3ZlZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAzCittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICJNeUxCQS1mb3Jza2VsIHRpbCByZWVsIHBvc2l0aW9uIHDDpSBzaWtrZXJoZWRzdGVrc3Rob3ZlZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDA4Cittc2dpZCAiRGlzayBpcyB0b28gc21hbGwgdG8gaG9sZCBhbGwgZGF0YS4iCittc2dzdHIgIkRpc2tlbiBlciBmb3IgbGlsbGUgdGlsIGFsbGUgZGlzc2UgZGF0YS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDE4Cittc2dpZCAiUHJpbWFyeSBhbmQgYmFja3VwIGhlYWRlciBtaXNtYXRjaC4iCittc2dzdHIgIkZvcnNrZWwgcMOlIHByaW3DpnItIG9nIHNpa2tlcmhlZHN0ZWtzdGhvdmVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAyNAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBwYXJ0aXRpb24gJXUuIgorbXNnc3RyICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHBlciBtZWQgcGFydGl0aW9uICV1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGlzIHRvbyBiaWcgZm9yIHRoZSBkaXNrLiIKK21zZ3N0ciAiUGFydGl0aW9uICV1IGVyIGZvciBzdG9yIGZvciBkaXNrZW4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAzOAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZW5kcyBiZWZvcmUgaXQgc3RhcnRzLiIKK21zZ3N0ciAiUGFydGl0aW9uICV1IHNsdXR0ZXIgZsO4ciBkZW4gc3RhcnRlci4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQ3Cittc2dpZCAiTm8gZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0ciAiSW5nZW4gZmVqbCBkZXRla3RlcmV0LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGVhZGVyIHZlcnNpb246ICVzIgorbXNnc3RyICJUZWtzdGhvdmVkdmVyc2lvbjogJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nICV1IG91dCBvZiAlZCBwYXJ0aXRpb25zLiIKK21zZ3N0ciAiQnJ1Z2VyICV1IHVkIGFmICVkIHBhcnRpdGlvbmVyLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50LiIKK21zZ2lkX3BsdXJhbCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50cyAodGhlIGxhcmdlc3QgaXMgJXMpLiIKK21zZ3N0clswXSAiRXQgYW50YWwgYWYgJWp1IGZyaWUgc2VrdG9yZXIgZXIgdGlsZ8OmbmdlbGlnZSBpICV1IHNlZ21lbnQuIgorbXNnc3RyWzFdICJFdCBhbnRhbCBhZiAlanUgZnJpZSBzZWt0b3JlciBlciB0aWxnw6ZuZ2VsaWdlIGkgJXUgc2VnbWVudGVyIChkZW4gc3TDuHJzdGUgZXIgJXMpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgZXJyb3IgZGV0ZWN0ZWQuIgorbXNnaWRfcGx1cmFsICIlZCBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyWzBdICJJbmdlbiBmZWpsIGRldGVrdGVyZXQiCittc2dzdHJbMV0gIiVkIGZlamwgZGV0ZWt0ZXJldCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNDIKK21zZ2lkICJBbGwgcGFydGl0aW9ucyBhcmUgYWxyZWFkeSBpbiB1c2UuIgorbXNnc3RyICJBbGxlIHBhcnRpdGlvbmVyIGVyIGFsbGVyZWRlIGkgYnJ1Zy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTk3IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlanUgYWxyZWFkeSB1c2VkLiIKK21zZ3N0ciAiU2VrdG9yICVqdSBlciBhbGxlcmVkZSBicnVndC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiS3VubmUgaWtrZSBvcHJldHRlIHBhcnRpdGlvbiAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBsYXN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaXJzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyOQorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IEdQVCBkaXNrbGFiZWwgKEdVSUQ6ICVzKS4iCittc2dzdHIgIm9wcmV0dGVkZSBlbiBueSBHUFQtZGlza2V0aWtldCAoR1VJRDogJXMpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NDcKK21zZ2lkICJFbnRlciBuZXcgZGlzayBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIkluZHRhc3QgbnkgZGlzay1VVUlEIChpIDgtNC00LTQtMTItZm9ybWF0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NTQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgeW91ciBVVUlELiIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBkaW4gVVVJRC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICJEaXNraWRlbnRpZmlrYXRpb24gw6ZuZHJldCBmcmEgJXMgdGlsICVzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0ODgKKyMsIGZ1enp5Cittc2dpZCAiTm90IGVub3VnaCBzcGFjZSBmb3IgbmV3IHBhcnRpdGlvbiB0YWJsZSEiCittc2dzdHIgIiVzOiBpa2tlIGZ1bmRldCBwYXJ0aXRpb25zdGFiZWwuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5NworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV1IG91dCBvZiByYW5nZSAobWluaW1hbCBzdGFydCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMldSBvdXQgb2YgcmFuZ2UgKG1heGltYWwgZW5kIGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIG51bWJlciBvZiB0aGUgcGFydGl0aW9uIGhhcyBiZSBzbWFsbGVyIHRoYW4gJXp1LiIKK21zZ3N0ciAiRGV0IG1ha3NpbWFsZSBhbnRhbCBwYXJ0aXRpb25lciBlciBibGV2ZXQgb3ByZXR0ZXQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU2MworIywgZnV6enkKK21zZ2lkICJDYW5ub3QgYWxsb2NhdGUgbWVtb3J5ISIKK21zZ3N0ciAia3VubmUgaWtrZSBhbGxva2VyZSBodWtvbW1lbHNlOiAlbSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBsZW5ndGggY2hhbmdlZCBmcm9tICU8UFJJdTMyPiB0byAlPFBSSXU2ND4uIgorbXNnc3RyICJQYXJ0aXRpb25zbmF2biDDpm5kcmV0IGZyYSDCuyVzwqsgdGlsIMK7JS4qc8KrLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBhdHRyaWJ1dGVzIG9uIHBhcnRpdGlvbiAlenUgY2hhbmdlZCB0byAweCUwMTY8UFJJeDY0Pi4iCittc2dzdHIgIlN5c3RlbXR5cGVuIGZvciBwYXJ0aXRpb24gJXp1IGVyIHXDpm5kcmV0LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NDIKK21zZ2lkICJFbnRlciBHVUlEIHNwZWNpZmljIGJpdCIKK21zZ3N0ciAiSW5kdGFzdCBHVUlELXNwZWNpZmlrIGJpdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHRvZ2dsZSB1bnN1cHBvcnRlZCBiaXQgJWx1IgorbXNnc3RyICJrdW5uZSBpa2tlIHNraWZ0ZSBlaiB1bmRlcnN0w7h0dGV0IGJpdCAlbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiR1VJRHMgc3BlY2lmaWthdGlvbnNiaXQgJWQgcMOlIHBhcnRpdGlvbiAlenUgZXIgYWt0aXZlcmV0IG51LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiR1VJRHMgc3BlY2lmaWthdGlvbnNiaXQgJWQgcMOlIHBhcnRpdGlvbiAlenUgZXIgZGVha3RpdmVyZXQgbnUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3NQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiJXMtZmxhZ2V0IHDDpSBwYXJ0aXRpb24gJXp1IGVyIGFrdGl2ZXJldCBudS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiJXMtZmxhZ2V0IHDDpSBwYXJ0aXRpb24gJXp1IGVyIGRlYWt0aXZlcmV0IG51LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTgKK21zZ2lkICJUeXBlLVVVSUQiCittc2dzdHIgIlR5cGUtVVVJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTkKK21zZ2lkICJVVUlEIgorbXNnc3RyICJVVUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkyMCBsb2dpbi11dGlscy9jaGZuLmM6MTUwIGxvZ2luLXV0aWxzL2NoZm4uYzoxNTIKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMDcKK21zZ2lkICJOYW1lIgorbXNnc3RyICJOYXZuIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6ODQwCittc2dpZCAiRnJlZSBzcGFjZSIKK21zZ3N0ciAiRnJpdCBvbXLDpWRlIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6MTIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24gIyV6dS4iCittc2dzdHIgImt1bm5lIGlra2Ugw6ZuZHJlIHN0w7hycmVsc2UgcMOlIHBhcnRpdGlvbiIKKworIzogbGliZmRpc2svc3JjL3BhcnR0eXBlLmM6MjU5IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1NSBzY2hlZHV0aWxzL2NocnQuYzoyMDYKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6Nzkgc3lzLXV0aWxzL2h3Y2xvY2suYzozMzQKK21zZ2lkICJ1bmtub3duIgorbXNnc3RyICJ1a2VuZHQiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NworbXNnaWQgIlNHSSB2b2xoZHIiCittc2dzdHIgIlNHSSB2b2xoZHIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OAorbXNnaWQgIlNHSSB0cmtyZXBsIgorbXNnc3RyICJTR0kgc3BycmVwbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ5Cittc2dpZCAiU0dJIHNlY3JlcGwiCittc2dzdHIgIlNHSSBzZWtyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTAKK21zZ2lkICJTR0kgcmF3IgorbXNnc3RyICJTR0kgcmF3IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTEKK21zZ2lkICJTR0kgYnNkIgorbXNnc3RyICJTR0kgYnNkIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTIKK21zZ2lkICJTR0kgc3lzdiIKK21zZ3N0ciAiU0dJIHN5c3YiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MworbXNnaWQgIlNHSSB2b2x1bWUiCittc2dzdHIgIlNHSSB2b2x1bWUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NAorbXNnaWQgIlNHSSBlZnMiCittc2dzdHIgIlNHSSBlZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NQorbXNnaWQgIlNHSSBsdm9sIgorbXNnc3RyICJTR0kgbHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU2Cittc2dpZCAiU0dJIHJsdm9sIgorbXNnc3RyICJTR0kgcmx2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NworbXNnaWQgIlNHSSB4ZnMiCittc2dzdHIgIlNHSSB4ZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OAorbXNnaWQgIlNHSSB4ZnNsb2ciCittc2dzdHIgIlNHSSB4ZnNsb2ciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OQorbXNnaWQgIlNHSSB4bHYiCittc2dzdHIgIlNHSSB4bHYiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MAorbXNnaWQgIlNHSSB4dm0iCittc2dzdHIgIlNHSSB4dm0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MiBsaWJmZGlzay9zcmMvc3VuLmM6NTMKK21zZ2lkICJMaW51eCBuYXRpdmUiCittc2dzdHIgIkxpbnV4JyBlZ2VuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTU5Cittc2dpZCAiU0dJIGluZm8gY3JlYXRlZCBvbiBzZWNvbmQgc2VjdG9yLiIKK21zZ3N0ciAiU0dJLWluZm9ybWF0aW9uIG9wcmV0dGV0IHDDpSAyLiBzZWt0b3IuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjU5Cittc2dpZCAiRGV0ZWN0ZWQgYW4gU0dJIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiIKK21zZ3N0ciAiRGV0ZWt0ZXJlZGUgU0dJLWRpc2tldGlrZXQgbWVkIGZvcmtlcnQgdGpla3N1bS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODIgbGliZmRpc2svc3JjL3N1bi5jOjc3MAorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIkFudGFsIGZ5c2lza2UgY3lsaW5kcmUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODcgbGliZmRpc2svc3JjL3N1bi5jOjc3NQorIywgZnV6enkKK21zZ2lkICJFeHRyYSBzZWN0cy9jeWwiCittc2dzdHIgIkVrc3RyYSBzZWt0b3JlciBwZXIgY3lsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyOTcKKyMsIGZ1enp5Cittc2dpZCAiQm9vdGZpbGUiCittc2dzdHIgIk9wc3RhcnRzZmlsOiAlcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjM5NQorbXNnaWQgIkludmFsaWQgYm9vdGZpbGUhICBUaGUgYm9vdGZpbGUgbXVzdCBiZSBhbiBhYnNvbHV0ZSBub24temVybyBwYXRobmFtZSwgZS5nLiBcIi91bml4XCIgb3IgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICJVZ3lsZGlnIG9wc3RhcnRzZmlsISBPcHN0YXJ0c2ZpbGVuIHNrYWwgdsOmcmUgZXQgYWJzb2x1dCwgaWtrZS10b210IHN0aW5hdm4sIGYuZWtzLiDCuy91bml4wqsgZWxsZXIgwrsvdW5peC5zYXZlwqsuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDAxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlIG1heGltdW0uIgorbXNnaWRfcGx1cmFsICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZXMgbWF4aW11bS4iCittc2dzdHJbMF0gIkZvciBsYW5ndCBuYXZuIHDDpSBvcHN0YXJ0c2ZpbDogaMO4anN0ICV6dSBieXRlLiIKK21zZ3N0clsxXSAiRm9yIGxhbmd0IG5hdm4gcMOlIG9wc3RhcnRzZmlsOiBow7hqc3QgJXp1IGJ5dGUuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDA4Cittc2dpZCAiQm9vdGZpbGUgbXVzdCBoYXZlIGEgZnVsbHkgcXVhbGlmaWVkIHBhdGhuYW1lLiIKK21zZ3N0ciAiT3BzdGFydHNmaWwgc2thbCBoYXZlIGV0IGtvbXBsZXQgc3RpbmF2bi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MTQKK21zZ2lkICJCZSBhd2FyZSB0aGF0IHRoZSBib290ZmlsZSBpcyBub3QgY2hlY2tlZCBmb3IgZXhpc3RlbmNlLiAgU0dJJ3MgZGVmYXVsdCBpcyBcIi91bml4XCIsIGFuZCBmb3IgYmFja3VwIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAiQmVtw6ZyaywgYXQgZGVyIGlra2UgdGpla2tlcyBmb3Igb3BzdGFydHNmaWxlbnMgZWtzaXN0ZW5zLiBTR0lzIHN0YW5kYXJkIGVyIMK7L3VuaXjCqyBvZyBzb20gc2lra2VyaGVkc2tvcGkgwrsvdW5peC5zYXZlwqsuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBjdXJyZW50IGJvb3QgZmlsZSBpczogJXMiCittc2dzdHIgIkRlbiBudXbDpnJlbmRlIG9wc3RhcnRzZmlsIGVyOiAlcyIKKworIyB2aXJrZXIgc29tIGVuZ2Vsc2sgZmVqbD8KKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDEKK21zZ2lkICJFbnRlciBvZiB0aGUgbmV3IGJvb3QgZmlsZSIKK21zZ3N0ciAiQW5naXYgdmVubGlndCBuYXZuZXQgcMOlIGRlbiBueWUgb3BzdGFydHNmaWwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDYKK21zZ2lkICJCb290IGZpbGUgaXMgdW5jaGFuZ2VkLiIKK21zZ3N0ciAiT3BzdGFydHNmaWxlbiBlciB1w6ZuZHJldC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdGZpbGUgaGFzIGJlZW4gY2hhbmdlZCB0byBcIiVzXCIuIgorbXNnc3RyICJPcHN0YXJ0c2ZpbGVuIGVyIMOmbmRyZXQgdGlsIMK7JXPCqy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OTYKK21zZ2lkICJNb3JlIHRoYW4gb25lIGVudGlyZSBkaXNrIGVudHJ5IHByZXNlbnQuIgorbXNnc3RyICJEZXIgZXIgbWVyZSBlbmQgw6luIGZ1bGRzdMOmbmRpZyBkaXNraW5kZ2FuZy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MDMgbGliZmRpc2svc3JjL3N1bi5jOjQ1OAorbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZC4iCittc2dzdHIgIkluZ2VuIHBhcnRpdGlvbmVyIGRlZmluZXJldC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTMKK21zZ2lkICJJUklYIGxpa2VzIGl0IHdoZW4gcGFydGl0aW9uIDExIGNvdmVycyB0aGUgZW50aXJlIGRpc2suIgorbXNnc3RyICJJUklYIGthbiBsaWRlLCBuw6VyIHBhcnRpdGlvbiAxMSBmeWxkZXIgaGVsZSBkaXNrZW4uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gc2hvdWxkIHN0YXJ0IGF0IGJsb2NrIDAsIG5vdCBhdCBibG9jayAlZC4iCittc2dzdHIgIkhlbGUgZGlza3BhcnRpdGlvbmVuIGLDuHIgc3RhcnRlIHZlZCBibG9rIDAsIGlra2UgdmVkIGRpc2tibG9rICVkLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyOAorbXNnaWQgIlBhcnRpdGlvbiAxMSBzaG91bGQgY292ZXIgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiUGFydGl0aW9uIDExIGLDuHIgZnlsZGUgaGVsZSBkaXNrZW4uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9yLiIKK21zZ2lkX3BsdXJhbCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3JzLiIKK21zZ3N0clswXSAiUGFydGl0aW9uZXJuZSAlZCBvZyAlZCBvdmVybGFwcGVyIGhpbmFuZGVuIGkgJWQgc2VrdG9yLiIKK21zZ3N0clsxXSAiUGFydGl0aW9uZXJuZSAlZCBvZyAlZCBvdmVybGFwcGVyIGhpbmFuZGVuIGkgJWQgc2VrdG9yZXIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjYzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yOiBzZWN0b3IgJTh1IgorbXNnaWRfcGx1cmFsICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3JzOiBzZWN0b3JzICU4dS0ldSIKK21zZ3N0clswXSAiVWJlbnl0dGV0IGh1bCBww6UgJTh1IHNla3RvciAtIHNla3RvciAlOHUiCittc2dzdHJbMV0gIlViZW55dHRldCBodWwgcMOlICU4dSBzZWt0b3Jlcjogc2VrdG9yZXJuZSAlOHUtJXUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2OTgKK21zZ2lkICJUaGUgYm9vdCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICJPcHN0YXJ0c3BhcnRpdGlvbmVuIGZpbmRlcyBpa2tlLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwMgorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIlN3YXBwYXJ0aXRpb25lbiBmaW5kZXMgaWtrZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDYKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gaGFzIG5vIHN3YXAgdHlwZS4iCittc2dzdHIgIlN3YXBwYXJ0aXRpb25lbiBoYXIgaWtrZSBub2dlbiBzd2FwdHlwZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDkKK21zZ2lkICJZb3UgaGF2ZSBjaG9zZW4gYW4gdW51c3VhbCBib290ZmlsZSBuYW1lLiIKK21zZ3N0ciAiRHUgaGFyIHZhbGd0IGV0IHVzw6ZkdmFubGlndCBuYXZuIHDDpSBvcHN0YXJ0c2ZpbGVuLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjc1OQorbXNnaWQgIlBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiIKK21zZ3N0ciAiUGFydGl0aW9uc292ZXJsYXAgcMOlIGRpc2tlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDQKK21zZ2lkICJBdHRlbXB0aW5nIHRvIGdlbmVyYXRlIGVudGlyZSBkaXNrIGVudHJ5IGF1dG9tYXRpY2FsbHkuIgorbXNnc3RyICJGb3Jzw7hnZXIgYXQgZ2VuZXJlcmUgaGVsZS1kaXNraW5kZ2FuZyBhdXRvbWF0aXNrLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0OQorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBpcyBhbHJlYWR5IGNvdmVyZWQgd2l0aCBwYXJ0aXRpb25zLiIKK21zZ3N0ciAiSGVsZSBkaXNrZW4gZXIgYWxsZXJlZGUgZnlsZHQgbWVkIHBhcnRpdGlvbmVyLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg1MworbXNnaWQgIllvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKK21zZ3N0ciAiRHUgaGFyIG92ZXJsYXBwZW5kZSBwYXJ0aXRpb25lciBww6UgZGlza2VuLiBSZXQgZGV0IGbDuHJzdCEiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NzUgbGliZmRpc2svc3JjL3N1bi5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICJGaXJzdCAlcyIKK21zZ3N0ciAiRsO4cnN0ZSAlcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg5OSBsaWJmZGlzay9zcmMvc2dpLmM6OTQ5Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIGVsZXZlbnRoIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrIGFuZCBpcyBvZiB0eXBlICdTR0kgdm9sdW1lJy4iCittc2dzdHIgIkRldCBhbmJlZmFsZXMga3JhZnRpZ3QsIGF0IGRlbiBlbGxldnRlIHBhcnRpdGlvbiBmeWxkZXIgaGVsZSBkaXNrZW4gb2cgZXIgYWYgdHlwZW4gwrtTR0kgdm9sdW1lwqsuIgorCisjIChsaWR0IHNwZWNpZWx0IG1lbiBtYW4gc2tyaXZlciB2aXN0ICsxMDI0LCArMTAyNEssICsyMDQ4TSBlbGxlcgorIyB0aWxzdmFyZW5kZSBrb25zdHJ1a3Rpb24pCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTE0IGxpYmZkaXNrL3NyYy9zdW4uYzo2MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCAlcyBvciArJXMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiU2VuZXN0ZSAlcyBlbGxlciAlcyBlbGxlciArc3TDuHJyZWxzZXtLLE0sRyxULFB9IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTg1IGxpYmZkaXNrL3NyYy9zdW4uYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuIFRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuIgorbXNnc3RyICJCTEtHRVRTSVpFIGlvY3RsIG1pc2x5a2tlZGVzIHDDpSAlcy4gQmVueXR0ZXIgZ2VvbWV0cmljeWxpbmRlcnbDpnJkaWVuICVsbHUuIERlbm5lIHbDpnJkaSBrYW4gYmxpdmUgYWZrb3J0ZXQgcMOlIGVuaGVkZXIsIGRlciBlciBzdMO4cnJlIGVuZCAzMyw4IEdCLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNTEKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFNHSSBkaXNrbGFiZWwuIgorbXNnc3RyICJPcHJldHRlZGUgZW4gbnkgU0dJLWRpc2tldGlrZXQuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3MAorbXNnaWQgIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIKK21zZ3N0ciAiQmVrbGFnZXIsIGR1IGthbiBrdW4gw6ZuZHJlIG3DpnJrZXQgZm9yIHRvbW1lIHBhcnRpdGlvbmVyLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNzYKK21zZ2lkICJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiA5IGFzIHZvbHVtZSBoZWFkZXIgKDApLCBhbmQgcGFydGl0aW9uIDExIGFzIGVudGlyZSB2b2x1bWUgKDYpLCBhcyBJUklYIGV4cGVjdHMgaXQuIgorbXNnc3RyICJPdmVydmVqIGF0IGxhZGUgcGFydGl0aW9uIDkgdsOmcmUgZGlzay1ob3ZlZCAodm9sdW1lIGhlYWRlcikgKDApLCBvZyBwYXJ0aXRpb24gMTEgc29tIMK7ZW50aXJlIHZvbHVtZcKrICg2KSwgZGEgSVJJWCBmb3J2ZW50ZXIgZGV0LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwODUKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwIGlzIG9mIHR5cGUgXCJTR0kgdm9saGRyXCIsIHRoZSBJUklYIHN5c3RlbSB3aWxsIHJlbHkgb24gaXQgdG8gcmV0cmlldmUgZnJvbSBpdHMgZGlyZWN0b3J5IHN0YW5kYWxvbmUgdG9vbHMgbGlrZSBzYXNoIGFuZCBmeC4gT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiBBcmUgeW91IHN1cmUgYWJvdXQgdGFnZ2luZyB0aGlzIHBhcnRpdGlvbiBkaWZmZXJlbnRseT8iCittc2dzdHIgIkRldCBhbmJlZmFsZXMga3JhZnRpZ3QsIGF0IHBhcnRpdGlvbmVuIHDDpSBmb3Jza3lkbmluZyAwIGVyIGFmIHR5cGVuIMK7U0dJIHZvbGhkcsKrLiBJUklYLXN5c3RlbWV0IHZpbCBicnVnZSBkZW4gdGlsIGF0IGhlbnRlIGZyYSBkZXRzIG1hcHBldsOmcmt0w7hqZXIgc29tIHNhc2ggb2cgZnguIEt1biDCu1NHSSB2b2x1bWXCqyBoZWxlLWRpc2tzZWt0aW9uZW4ga2FuIGJyeWRlIGRldHRlLiBFciBkdSBzaWtrZXIgcMOlLCBhdCBkdSB2aWwgbcOmcmtlIHBhcnRpdGlvbmVuIGFuZGVybGVkZXM/IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDAKK21zZ2lkICJVbmFzc2lnbmVkIgorbXNnc3RyICJJa2tlIHRpbGRlbHQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MgorbXNnaWQgIlN1bk9TIHJvb3QiCittc2dzdHIgIlN1bk9TIHJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MworbXNnaWQgIlN1bk9TIHN3YXAiCittc2dzdHIgIlN1bk9TIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NAorbXNnaWQgIlN1bk9TIHVzciIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDUKK21zZ2lkICJXaG9sZSBkaXNrIgorbXNnc3RyICJIZWxlIGRpc2tlbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2Cittc2dpZCAiU3VuT1Mgc3RhbmQiCittc2dzdHIgIlN1bk9TIHN0YW5kIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyB2YXIiCittc2dzdHIgIlN1bk9TIHZhciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ4Cittc2dpZCAiU3VuT1MgaG9tZSIKK21zZ3N0ciAiU3VuT1MgaG9tZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ5Cittc2dpZCAiU3VuT1MgYWx0IHNlY3RvcnMiCittc2dzdHIgIlN1bk9TIGFsdC1zZWt0b3JlciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUwCittc2dpZCAiU3VuT1MgY2FjaGVmcyIKK21zZ3N0ciAiU3VuT1MgY2FjaGVmcyIKKworIyBtw6Vza2UgU3VuT1MgcmVzZXJ2ZXJldAorIzogbGliZmRpc2svc3JjL3N1bi5jOjUxCittc2dpZCAiU3VuT1MgcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TLXJlc2VydmVyZWRlIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTM3Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiBQcm9iYWJseSB5b3UnbGwgaGF2ZSB0byBzZXQgYWxsIHRoZSB2YWx1ZXMsIGUuZy4gaGVhZHMsIHNlY3RvcnMsIGN5bGluZGVycyBhbmQgcGFydGl0aW9ucyBvciBmb3JjZSBhIGZyZXNoIGxhYmVsIChzIGNvbW1hbmQgaW4gbWFpbiBtZW51KSIKK21zZ3N0ciAiT3BkYWdlZGUgU1VOLWRpc2tldGlrZXQgbWVkIGZvcmtlcnQgdGpla3N1bS4gRHUgZXIgbm9rIG7DuGR0IHRpbCBhdCBhbmdpdmUgYWxsZSB2w6ZyZGllcm5lIGYuZWtzLiBob3ZlZGVyLCBzZWt0b3JlciwgY3lsaW5kcmUgb2cgcGFydGl0aW9uZXIgZWxsZXIgZ2VubmVtdHZpbmdlIGVuIGhlbHQgbnl0IGV0aWtldCAoa29tbWFuZG9lbiBzIGkgaG92ZWRtZW51ZW4pIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2ZXJzaW9uIFslZF0uIgorbXNnc3RyICJEZXRla3RlcmVkZSBzdW4tZGlza2V0aWtldCBtZWQgZm9ya2VydCB2ZXJzaW9uIFslZF0uIgorCisjIG3DpXNrZSAic2FuaXR5IiBpIGfDpXNlw7hqbmUuICBEZXQgZXIgbm9rIGVuIHNwZWNpZWwgdmFyaWFiZWwsIGRlciAKKyMgKGh2aXMgZGVuIGVyIGZvcmtlcnQpIGFuZ2l2ZXIgYXQgZGVyIGVyIG5vZ2V0ICdzaW5kc3N5Z3QnIGdhbHQKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2Muc2FuaXR5IFsweCUwOHhdLiIKK21zZ3N0ciAiRGV0ZWt0ZXJlZGUgc3VuLWRpc2tldGlrZXQgbWVkIGZvcmtlcnQgdnRvYy5zYW5pdHkgWzB4JTA4eF0uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLm5wYXJ0cyBbJXVdLiIKK21zZ3N0ciAiRGV0ZWt0ZXJlZGUgc3VuLWRpc2tldGlrZXQgbWVkIGZvcmtlcnQgdnRvYy5ucGFydHMgWyV1XSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2NQorbXNnaWQgIldhcm5pbmc6IFdyb25nIHZhbHVlcyBuZWVkIHRvIGJlIGZpeGVkIHVwIGFuZCB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpIgorbXNnc3RyICJBZHZhcnNlbDogRm9ya2VydGUgdsOmcmRpZXIga3LDpnZlciBhdCBibGl2ZSByZXR0ZXQgb2cgdmlsIGJsaXZlIHJldHRldCBhZiB3KHJpdGUpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTkyCittc2dpZCAiSGVhZHMiCittc2dzdHIgIkhvdmVkZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTQKK21zZ2lkICJTZWN0b3JzL3RyYWNrIgorbXNnc3RyICJTZWt0b3Jlci9zcG9yIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Mjk3Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTdW4gZGlza2xhYmVsLiIKK21zZ3N0ciAiT3ByZXR0ZWRlIGVuIG55IFN1bi1kaXNrZXRpa2V0LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZG9lc24ndCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJQYXJ0aXRpb24gJXUgc2x1dHRlciBpa2tlIHDDpSBlbiBjeWxpbmRlcmdyw6Zuc2UuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDM1CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIG90aGVycyBpbiBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiUGFydGl0aW9uICV1IG92ZXJsYXBwZXIgbWVkIGFuZHJlIGkgc2VrdG9yZXJuZSAldS0ldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgMC0ldS4iCittc2dzdHIgIlViZW55dHRldCBodWwgLSBzZWt0b3Jlcm5lIDDCrS0ldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjUgbGliZmRpc2svc3JjL3N1bi5jOjQ3MQorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIlViZW55dHRldCBodWwgLSBzZWt0b3Jlcm5lICV1wq0tJXUuIgorCisjICdub2dsZScgdHJvciBqZWcgZXIgYmVkcmUgaGVyLCBkZXQgZXIgbXVsaWd0IGF0ICdub2dlbicgb2dzw6UgZXIgcmlndGlndAorIzogbGliZmRpc2svc3JjL3N1bi5jOjUyOAorbXNnaWQgIk90aGVyIHBhcnRpdGlvbnMgYWxyZWFkeSBjb3ZlciB0aGUgd2hvbGUgZGlzay4gRGVsZXRlIHNvbWUvc2hyaW5rIHRoZW0gYmVmb3JlIHJldHJ5LiIKK21zZ3N0ciAiRGlza2VuIGVyIGFsbGVyZWRlIGhlbHQgdWRmeWxkdCBtZWQgYW5kcmUgcGFydGl0aW9uZXIuIFNsZXQgZWxsZXIgZm9ybWluZHNrIG5vZ2xlIGFmIGRlbSwgZsO4ciBkdSBwcsO4dmVyIGlnZW4uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlZCBpcyBhbHJlYWR5IGFsbG9jYXRlZCIKK21zZ3N0ciAiU2VrdG9yICVkIGVyIGFsbGVyZWRlIGFsbG9rZXJldCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYwMAorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSB0aGlyZCBwYXJ0aXRpb24gY292ZXJzIHRoZSB3aG9sZSBkaXNrIGFuZCBpcyBvZiB0eXBlIGBXaG9sZSBkaXNrJyIKK21zZ3N0ciAiRGV0IGFuYmVmYWxlcyBrcmFmdGlndCwgYXQgZGVuIHRyZWRqZSBwYXJ0aXRpb24gZMOma2tlciBoZWxlIGRpc2tlbiBvZyBlciBhZiB0eXBlbiDCu0hlbGUgZGlza2VuwqsiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25pbmcgdGhlIGZpcnN0IHNlY3RvciBmcm9tICV1IHRvICV1IHRvIGJlIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiSnVzdGVyZXIgZGVuIGbDuHJzdGUgc2VrdG9yIGZyYSAldSB0aWwgJXUgdGlsIGF0IHbDpnJlIHDDpSBjeWxpbmRlcmdyw6Zuc2VuLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmVuJ3QgY292ZXJlZCB0aGUgd2hvbGUgZGlzayB3aXRoIHRoZSAzcmQgcGFydGl0aW9uLCBidXQgeW91ciB2YWx1ZVxuIgorIiVsdSAlcyBjb3ZlcnMgc29tZSBvdGhlciBwYXJ0aXRpb24uIFlvdXIgZW50cnkgaGFzIGJlZW4gY2hhbmdlZFxuIgorInRvICVsdSAlcyIKK21zZ3N0ciAiIgorIkR1IGhhciBpa2tlIHVkZnlsZHQgaGVsZSBkaXNrZW4gbWVkIHRyZWRqZSBwYXJ0aXRpb24sIG1lbiBkaW4gdsOmcmRpXG4iCisiJWx1ICVzIGTDpmtrZXIgZW4gYW5kZW4gcGFydGl0aW9uLiBEaW4gaW5kZ2FuZyBlciBibGV2ZXQgw6ZuZHJldCB0aWxcbiIKKyIlbHUgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gU3VuT1MvU29sYXJpcyBjb21wYXRpYmlsaXR5LCBjb25zaWRlciBsZWF2aW5nIHRoaXMgcGFydGl0aW9uIGFzIFdob2xlIGRpc2sgKDUpLCBzdGFydGluZyBhdCAwLCB3aXRoICV1IHNlY3RvcnMiCittc2dzdHIgIkh2aXMgZHUgdmlsIGJlaG9sZGUgU3VuT1MvU29sYXJpcy1rb21wYXRpbGl0ZXQsIGLDuHIgZHUgYmVob2xkZSBkZW5uZSBwYXJ0aXRpb24gc29tIMK7SGVsZSBkaXNrZW7CqyAoNSksIGRlciBiZWd5bmRlciBww6UgMCwgbWVkICV1IHNla3RvcmVyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzUwCisjLCBmdXp6eQorbXNnaWQgIkxhYmVsIElEIgorbXNnc3RyICJFdGlrZXQtaWQ6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzU1CisjLCBmdXp6eQorbXNnaWQgIlZvbHVtZSBJRCIKK21zZ3N0ciAiRGlza2VuaGVkLWlkOiAlcyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc2NQorIywgZnV6enkKK21zZ2lkICJBbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJBbnRhbCBhbHRlcm5hdGl2ZSBjeWxpbmRyZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg3MQorbXNnaWQgIk51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJBbnRhbCBhbHRlcm5hdGl2ZSBjeWxpbmRyZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg5NgorbXNnaWQgIkV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJFa3N0cmEgc2VrdG9yZXIgcGVyIGN5bGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTIwCittc2dpZCAiSW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIkludGVybGVhdmVmYWt0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5NDQKK21zZ2lkICJSb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAiUm90YXRpb25zaGFzdGlnaGVkIChvbWRyLiBwZXIgbWludXQpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTY4Cittc2dpZCAiTnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiQW50YWwgZnlzaXNrZSBjeWxpbmRyZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwMzcKK21zZ2lkICIiCisiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gMyBhcyBXaG9sZSBkaXNrICg1KSxcbiIKKyJhcyBTdW5PUy9Tb2xhcmlzIGV4cGVjdHMgaXQgYW5kIGV2ZW4gTGludXggbGlrZXMgaXQuXG4iCittc2dzdHIgIiIKKyJPdmVydmVqIGF0IGxhZGUgcGFydGl0aW9uIDMgdsOmcmUgwrtIZWxlIGRpc2tlbsKrICg1KSwgZGFcbiIKKyJTdW5PUy9Tb2xhcmlzIGZvcnZlbnRlciBkZXQgb2cgc2VsdiBMaW51eCBmb3JldHLDpmtrZXIgZGV0LlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA0OAorbXNnaWQgIiIKKyJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwXG4iCisiaXMgVUZTLCBFWFQyRlMgZmlsZXN5c3RlbSBvciBTdW5PUyBzd2FwLiBQdXR0aW5nIExpbnV4IHN3YXBcbiIKKyJ0aGVyZSBtYXkgZGVzdHJveSB5b3VyIHBhcnRpdGlvbiB0YWJsZSBhbmQgYm9vdGJsb2NrLlxuIgorIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB0YWcgdGhlIHBhcnRpdGlvbiBhcyBMaW51eCBzd2FwPyIKK21zZ3N0ciAiIgorIkRldCBhbmJlZmFsZXMga3JhZnRpZ3QsIGF0IHBhcnRpdGlvbmVuIG1lZCBmb3Jza3lkbmluZ2VuIDBcbiIKKyJlciBldCBVRlMtLCBFWFQyRlMtZmlsc3lzdGVtIGVsbGVyIGVuIFN1bk9TLXN3YXAuIFZlZCBhdFxuIgorImzDpmdnZSBlbiBMaW51eC1zd2FwIGRlciwga2FuIGR1IMO4ZGVsw6ZnZ2UgZGluIHBhcnRpdGlvbnN0YWJlbFxuIgorIm9nIG9wc3RhcnRzYmxvay4gRXIgZHUgZXIgaGVsdCBzaWtrZXIgcMOlLCBhdCBkdSB2aWxcbiIKKyJtYXJrZXJlIGRlbiBwYXJ0aXRpb24gc29tIExpbnV4LXN3YXA/IgorCisjOiBsaWIvcGFnZXIuYzoxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FpdHBpZCBmYWlsZWQgKCVzKSIKK21zZ3N0ciAid2FpdHBpZCBtaXNseWtrZWRlcyAoJXMpIgorCisjOiBsaWIvcGF0aC5jOjIwOSBzeXMtdXRpbHMvbHNjcHUuYzoxODE4Cittc2dpZCAiZmFpbGVkIHRvIGNhbGxvY2F0ZSBjcHUgc2V0IgorbXNnc3RyICJrdW5uZSBpa2tlIHVkZsO4cmUgY2FsbG9jIGZvciBjcHUtc8OmdCIKKworIzogbGliL3BhdGguYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0ICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIENQVS1saXN0ZSAlcyIKKworIzogbGliL3BhdGguYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIENQVS1tYXNrZSAlcyIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MgorIywgZnV6enkKK21zZ2lkICJjYW4gbm90IG9wZW4gVU5JWCBzb2NrZXQiCittc2dzdHIgImthbiBpa2tlIMOlYm5lIGtvbnNvbCIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3OAorIywgZnV6enkKK21zZ2lkICJjYW4gbm90IHNldCBvcHRpb24gZm9yIFVOSVggc29ja2V0IgorbXNnc3RyICJrYW4gaWtrZSBhbmdpdmUgdGlkc3VkbMO4YiBmb3IgJXMiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG5vdCBjb25uZWN0IG9uIFVOSVggc29ja2V0IgorbXNnc3RyICJrYW4gaWtrZSDDpWJuZSBrb25zb2wiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBwbHltb3V0aCByZXF1ZXN0ICVjIGlzIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWIvcmFuZHV0aWxzLmM6MTM2Cittc2dpZCAibGliYyBwc2V1ZG8tcmFuZG9tIGZ1bmN0aW9ucyIKK21zZ3N0ciAibGliYyBwc2V1ZG8tdmlsa8OlcmxpZ2UgZnVua3Rpb25lciIKKworIzogbGliL3N3YXBwcm9iZXIuYzoxNyBsaWIvc3dhcHByb2Jlci5jOjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gcHJvYmUgZGV2aWNlIgorbXNnc3RyICIlczogS2FuIGlra2UgdW5kZXJzw7hnZSBlbmhlZCIKKworIzogbGliL3N3YXBwcm9iZXIuYzozMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYW1iaWd1b3VzIHByb2JpbmcgcmVzdWx0OyB1c2Ugd2lwZWZzKDgpIgorbXNnc3RyICIlczogQW1iaXZhbGVudCB1bmRlcnPDuGdlbHNlc3Jlc3VsdGF0OyBicnVnIHdpcGVmcyg4KSIKKworIzogbGliL3N3YXBwcm9iZXIuYzozNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgdmFsaWQgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIiVzOiBJa2tlIGVuIGd5bGRpZyBzd2FwLXBhcnRpdGlvbiIKKworIzogbGliL3N3YXBwcm9iZXIuYzo0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5zdXBwb3J0ZWQgc3dhcCB2ZXJzaW9uICclcyciCittc2dzdHIgIiVzOiBVbmRlcnN0w7h0dGVyIGlra2Ugc3dhcC12ZXJzaW9uIMK7JXPCqyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjkwIGxvZ2luLXV0aWxzL2Noc2guYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+XVxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIFs8YnJ1Z2VybmF2bj5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5MworbXNnaWQgIkNoYW5nZSB5b3VyIGZpbmdlciBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiw4ZuZHIgZGluIGZpbmdlcmluZm9ybWF0aW9uLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTYKK21zZ2lkICIgLWYsIC0tZnVsbC1uYW1lIDxmdWxsLW5hbWU+ICByZWFsIG5hbWVcbiIKK21zZ3N0ciAiIC1mLCAtLWZ1bGwtbmFtZSA8ZnVsZGUtbmF2bj4gIG5hdm5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk3Cittc2dpZCAiIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICAgb2ZmaWNlIG51bWJlclxuIgorbXNnc3RyICIgLW8sIC0tb2ZmaWNlIDxrb250b3I+ICAgICAgICBrb250b3ItbnIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OAorbXNnaWQgIiAtcCwgLS1vZmZpY2UtcGhvbmUgPHBob25lPiAgIG9mZmljZSBwaG9uZSBudW1iZXJcbiIKK21zZ3N0ciAiIC1wLCAtLW9mZmljZS1waG9uZSA8dGVsZWZvbj4ga29udG9ydGVsZWZvblxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTkKK21zZ2lkICIgLWgsIC0taG9tZS1waG9uZSA8cGhvbmU+ICAgICBob21lIHBob25lIG51bWJlclxuIgorbXNnc3RyICIgLWgsIC0taG9tZS1waG9uZSA8dGVsZWZvbj4gICB0ZWxlZm9ubnVtbWVyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDEgbG9naW4tdXRpbHMvY2hzaC5jOjc4Cittc2dpZCAiIC11LCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAtdSwgLS1oZWxwICAgICB2aXMgZGVubmUgaGrDpmxwZXRla3N0IG9nIGFmc2x1dFxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgImZpZWxkICVzIGlzIHRvbyBsb25nIgorbXNnc3RyICJmZWx0ICVzIGVyIGZvciBsYW5ndCIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyMSBsb2dpbi11dGlscy9jaHNoLmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBoYXMgaWxsZWdhbCBjaGFyYWN0ZXJzIgorbXNnc3RyICIlczogaGFyIGlsbGVnYWxlIHRlZ24iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTAgbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTYyCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luLmRlZnMgZm9yYmlkcyBzZXR0aW5nICVzIgorbXNnc3RyICJsb2dpbi5kZWZzIGZvcmJ5ZGVyIGluZHN0aWxsaW5nICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTggbG9naW4tdXRpbHMvY2hmbi5jOjMwOQorbXNnaWQgIk9mZmljZSIKK21zZ3N0ciAiS29udG9yIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjQgbG9naW4tdXRpbHMvY2hmbi5jOjMxMQorbXNnaWQgIk9mZmljZSBQaG9uZSIKK21zZ3N0ciAiS29udG9ydGVsZWZvbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2OCBsb2dpbi11dGlscy9jaGZuLmM6MTcwIGxvZ2luLXV0aWxzL2NoZm4uYzozMTMKK21zZ2lkICJIb21lIFBob25lIgorbXNnc3RyICJUZWxlZm9uIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MjMzCittc2dpZCAiQWJvcnRlZC4iCittc2dzdHIgIkFmYnJ1ZHQuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGhhcyB1bmV4cGVjdGVkIHZhbHVlOiAlcyIKK21zZ3N0ciAiJXM6IENIRk5fUkVTVFJJQ1QgaGFyIGVuIHV2ZW50ZXQgdsOmcmRpOiAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjI5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBkb2VzIG5vdCBhbGxvdyBhbnkgY2hhbmdlcyIKK21zZ3N0ciAiJXM6IENIRk5fUkVTVFJJQ1QgdGlsbGFkZXIgaWtrZSBub2dlbiDDpm5kcmluZ2VyIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLlxuIgorbXNnc3RyICJGaW5nZXJpbmZvcm1hdGlvbmVyICpJS0tFKiDDpm5kcmV0LiBQcsO4diBpZ2VuIHNlbmVyZS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gY2hhbmdlZC5cbiIKK21zZ3N0ciAiRmluZ2VyaW5mb3JtYXRpb25lciDDpm5kcmV0LlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDA4IGxvZ2luLXV0aWxzL2Noc2guYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ICh1c2VyICVkKSBkb24ndCBleGlzdC4iCittc2dzdHIgImR1IChicnVnZXIgJWQpIGZpbmRlcyBpa2tlLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQxNCBsb2dpbi11dGlscy9jaHNoLmM6MjQ4IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIFwiJXNcIiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgImJydWdlciDCuyVzwqsgZmluZGVzIGlra2UuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDIwIGxvZ2luLXV0aWxzL2Noc2guYzoyNTQKK21zZ2lkICJjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcyIKK21zZ3N0ciAia2FuIGt1biDDpm5kcmUgbG9rYWxlIGluZGdhbmdlIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgZmluZ2VyIGluZm8gb2YgJXMiCittc2dzdHIgIiVzIGVyIGlra2UgYXV0b3Jpc2VyZXQgdGlsIGF0IMOmbmRyZSBmaW5nZXJvcGx5c25pbmdlciBmb3IgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzUgbG9naW4tdXRpbHMvY2hzaC5jOjI3MAorbXNnaWQgIlVua25vd24gdXNlciBjb250ZXh0IgorbXNnc3RyICJVa2VuZHQgZmVqbCBpIGJydWdlcmtvbnRla3N0IgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDQxIGxvZ2luLXV0aWxzL2Noc2guYzoyNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgc2V0IGRlZmF1bHQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgImthbiBpa2tlIHPDpnR0ZSBzdGFuZGFyZGtvbnRla3N0IGZvciAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MgorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgImRlbiBrw7hyZW5kZSBVSUQgc3ZhcmVyIGlra2UgdGlsIGRlbiBVSUQsIHZpIHVkZsO4cmVyIMOmbmRyaW5nZXIgZm9yOyDDpm5kcmluZyBuw6ZndGVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIGZpbmdlciBpbmZvcm1hdGlvbiBmb3IgJXMuXG4iCittc2dzdHIgIsOGbmRyZXIgZmluZ2VyaW5mb3JtYXRpb24gZm9yICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBub3QgY2hhbmdlZC5cbiIKK21zZ3N0ciAiRmluZ2VyaW5mb3JtYXRpb25lciBpa2tlIMOmbmRyZXQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3MgorbXNnaWQgIkNoYW5nZSB5b3VyIGxvZ2luIHNoZWxsLlxuIgorbXNnc3RyICJVZHNraWZ0IGRpbiBsb2dpbmRza2FsLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6NzUKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgc3BlY2lmeSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPHNrYWw+ICBhbmdpdiBsb2dpbmRza2FsXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NgorbXNnaWQgIiAtbCwgLS1saXN0LXNoZWxscyAgICBwcmludCBsaXN0IG9mIHNoZWxscyBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdC1zaGVsbHMgICAgdWRza3JpdiBza2FsbGlzdGUgb2cgYWZzbHV0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoxMDAKK21zZ2lkICJObyBrbm93biBzaGVsbHMuIgorbXNnc3RyICJJbmdlbiBrZW5kdGUgc2thbGxlci4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDAKK21zZ2lkICJzaGVsbCBtdXN0IGJlIGEgZnVsbCBwYXRoIG5hbWUiCittc2dzdHIgInNrYWxsZW4gc2thbCBhbmdpdmVzIG1lZCBoZWwgc3RpIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiwrslc8KrIGZpbmRlcyBpa2tlIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBpcyBub3QgZXhlY3V0YWJsZSIKK21zZ3N0ciAiwrslc8KrIGVyIGlra2Uga8O4cmJhciIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy4iCittc2dzdHIgIkFkdmFyc2VsOiDCuyVzwqsgZXIgaWtrZSBtZWQgaSAlcy4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMTQgbG9naW4tdXRpbHMvY2hzaC5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuXG4iCisiVXNlICVzIC1sIHRvIHNlZSBsaXN0LiIKK21zZ3N0ciAiIgorIsK7JXPCqyBlciBpa2tlIG1lZCBpICVzLlxuIgorIkJydWcgJXMgLWwgZm9yIGF0IHNlIGxpc3Rlbi4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBzaGVsbCBvZiAlcyIKK21zZ3N0ciAiJXMgZXIgaWtrZSBhdXRvcmlzZXJldCB0aWwgYXQgw6ZuZHJlIHNrYWxsZW4gZm9yICVzIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6Mjk1Cittc2dpZCAicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSBhbHRlcmluZywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiZGVuIGvDuHJlbmRlIFVJRCBzdmFyZXIgaWtrZSB0aWwgZGVuIFVJRCwgdmkgdWRmw7hyZXIgw6ZuZHJpbmdlciBmb3I7IHNrYWzDpm5kcmluZyBuw6ZndGVzIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzAwCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdXIgc2hlbGwgaXMgbm90IGluICVzLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICJkaW4gc2thbCBlciBpa2tlIGkgJXMsIHVkc2tpZnRuaW5nIGFmIHNrYWwgYWZ2aXN0IgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIHNoZWxsIGZvciAlcy5cbiIKK21zZ3N0ciAiVWRza2lmdGVyIHNrYWwgZm9yICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzEyCittc2dpZCAiTmV3IHNoZWxsIgorbXNnc3RyICJOeSBza2FsIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzIwCittc2dpZCAiU2hlbGwgbm90IGNoYW5nZWQuIgorbXNnc3RyICJTa2FsIGlra2UgdWRza2lmdGV0LiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyNQorbXNnaWQgIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICJTa2FsICpJS0tFKiB1ZHNraWZ0ZXQuIFByw7h2IGlnZW4gc2VuZXJlLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyOQorbXNnaWQgIiIKKyJzZXRwd25hbSBmYWlsZWRcbiIKKyJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiIgorInNldHB3bmFtIG1pc2x5a2tlZGVzXG4iCisiU2thbCAqSUtLRSogdWRza2lmdGV0LiBQcsO4diBpZ2VuIHNlbmVyZS4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hlbGwgY2hhbmdlZC5cbiIKK21zZ3N0ciAiU2thbCB1ZHNraWZ0ZXQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgPHBhc3N3b3JkZmlsZT4gPHVzZXJuYW1lPi4uLlxuIgorbXNnc3RyICJCcnVnOiAlcyA8YWRnYW5nc29yZGZpbD4gPGJydWdlcm5hdm4+IC4uLlxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MTc0IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyMCBzeXMtdXRpbHMvZG1lc2cuYzoxMTkzCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB0aW1lIGZvcm1hdDogJXMiCittc2dzdHIgInVrZW5kdCB0aWRzZm9ybWF0OiAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjI4MSBsb2dpbi11dGlscy9sYXN0LmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIkludGVycnVwdGVkICVzIgorbXNnc3RyICJhZmJydWR0ICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NDM5IGxvZ2luLXV0aWxzL2xhc3QuYzo0NTAKK21zZ2lkICJwcmVhbGxvY2F0aW9uIHNpemUgZXhjZWVkZWQiCittc2dzdHIgInN0w7hycmVsc2UgZm9yIHByw6ZhbGxva2VyaW5nIGVyIG92ZXJza3JlZGV0IgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT4uLi5dIFs8dHR5Pi4uLl1cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSA8YnJ1Z2VyPiAuLi5dIFs8dHR5PiAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzIKK21zZ2lkICJTaG93IGEgbGlzdGluZyBvZiBsYXN0IGxvZ2dlZCBpbiB1c2Vycy5cbiIKK21zZ3N0ciAiVmlzIGVuIG9wbGlzdG5pbmcgYWYgc2lkc3RlIGluZGxvZ2dlZGUgYnJ1Z2VyZS5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NQorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiAtPGFudGFsPiAgICAgICAgICAgICBodm9yIG1hbmdlIGxpbmplciBza2FsIHZpc2VzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzYKK21zZ2lkICIgLWEsIC0taG9zdGxhc3QgICAgICAgZGlzcGxheSBob3N0bmFtZXMgaW4gdGhlIGxhc3QgY29sdW1uXG4iCittc2dzdHIgIiAtYSwgLS1ob3N0bGFzdCAgICAgICB2aXMgdsOmcnRzbmF2bmUgaSBkZW4gc2lkc3RlIGtvbG9ubmVcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NworbXNnaWQgIiAtZCwgLS1kbnMgICAgICAgICAgICB0cmFuc2xhdGUgdGhlIElQIG51bWJlciBiYWNrIGludG8gYSBob3N0bmFtZVxuIgorbXNnc3RyICIgLWQsIC0tZG5zICAgICAgICAgICAgb3ZlcnPDpnQgSVAtbnVtbWVyZXQgdGlsYmFnZSB0aWwgZXQgdsOmcnRzbmF2blxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICB1c2UgYSBzcGVjaWZpYyBmaWxlIGluc3RlYWQgb2YgJXNcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPGZpbD4gICAgIGJydWcgZW4gc3BlY2lmaWsgZmlsIGkgc3RlZGV0IGZvciAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgwCittc2dpZCAiIC1GLCAtLWZ1bGx0aW1lcyAgICAgIHByaW50IGZ1bGwgbG9naW4gYW5kIGxvZ291dCB0aW1lcyBhbmQgZGF0ZXNcbiIKK21zZ3N0ciAiIC1GLCAtLWZ1bGx0aW1lcyAgICAgIHVkc2tyaXYgZnVsZGUgbG9naW5kLSBvZyBsb2d1ZC10aWRzcHVua3RlciBvZyBkYXRvZXJcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MQorbXNnaWQgIiAtaSwgLS1pcCAgICAgICAgICAgICBkaXNwbGF5IElQIG51bWJlcnMgaW4gbnVtYmVycy1hbmQtZG90cyBub3RhdGlvblxuIgorbXNnc3RyICIgLWksIC0taXAgICAgICAgICAgICAgdmlzIElQLXRhbCBpIHRhbCBvZyBwdW5rdHVtLW5vdGF0aW9uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODIKK21zZ2lkICIgLW4sIC0tbGltaXQgPG51bWJlcj4gaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIgLW4sIC0tbGltaXQgPGFudGFsPiAgaHZvciBtYW5nZSBsaW5qZXIgc2thbCB2aXNlc1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgzCittc2dpZCAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIGRvbid0IGRpc3BsYXkgdGhlIGhvc3RuYW1lIGZpZWxkXG4iCittc2dzdHIgIiAtUiwgLS1ub2hvc3RuYW1lICAgICB2aXMgaWtrZSB2w6ZydHNuYXZuZmVsdGV0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODQKK21zZ2lkICIgLXMsIC0tc2luY2UgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgc2luY2UgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtcywgLS1zaW5jZSA8dGlkPiAgICB2aXMgbGluamVybmUgc2lkZW4gZGV0IGFuZ2l2bmUgdGlkc3B1bmt0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODUKK21zZ2lkICIgLXQsIC0tdW50aWwgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgdW50aWwgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtdCwgLS11bnRpbCA8dGlkPiAgICB2aXMgbGluamVybmUgaW5kdGlsIGRlbiBhbmdpdm5lIHRpZHNwdW5rdFxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg2Cittc2dpZCAiIC1wLCAtLXByZXNlbnQgPHRpbWU+IGRpc3BsYXkgd2hvIHdlcmUgcHJlc2VudCBhdCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIC1wLCAtLXByZXNlbnQgPHRpZD4gIHZpcyBodmVtIHNvbSB2YXIgdGlsIHN0ZWRlIHDDpSBkZXQgYW5naXZuZSB0aWRzcHVua3RcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NworbXNnaWQgIiAtdywgLS1mdWxsbmFtZXMgICAgICBkaXNwbGF5IGZ1bGwgdXNlciBhbmQgZG9tYWluIG5hbWVzXG4iCittc2dzdHIgIiAtdywgLS1mdWxsbmFtZXMgICAgICB2aXMgZnVsZGUgYnJ1Z2VyLSBvZyBkb23Dpm5lbmF2bmVcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OAorbXNnaWQgIiAteCwgLS1zeXN0ZW0gICAgICAgICBkaXNwbGF5IHN5c3RlbSBzaHV0ZG93biBlbnRyaWVzIGFuZCBydW4gbGV2ZWwgY2hhbmdlc1xuIgorbXNnc3RyICIgLXgsIC0tc3lzdGVtICAgICAgICAgdmlzIHN5c3RlbWV0cyBuZWRsdWtuaW5nc3B1bmt0ZXIgb2cgw6ZuZHJpbmcgZm9yIGvDuHJzZWxzbml2ZWF1XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODkKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcHMgaW4gdGhlIHNwZWNpZmllZCA8Zm9ybWF0PjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHZpcyB0aWRzc3RlbXBsZXIgaSBkZXQgc3BlY2lmaWNlcmVkZSA8Zm9ybWF0PjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo4ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzIGJlZ2lucyAlcyIKK21zZ3N0ciAiIgorIlxuIgorIiVzIHN0YXJ0ZXIgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NTYgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2NAorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2OAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIiCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgYW50YWwiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NzcgbG9naW4tdXRpbHMvbGFzdC5jOjk4MiBsb2dpbi11dGlscy9sYXN0LmM6OTg3CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ4NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWUgdmFsdWUgXCIlc1wiIgorbXNnc3RyICJ1Z3lsZGlnIHRpZHN2w6ZyZGkgwrslc8KrIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6MjkgbG9naW4tdXRpbHMvbGlidXNlci5jOjMxCittc2dpZCAiQ291bGRuJ3QgZHJvcCBncm91cCBwcml2aWxlZ2VzIgorbXNnc3RyICJLdW5uZSBpa2tlIGRyb3BwZSBncnVwcGVwcml2aWxlZ2llciIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImxpYnVzZXIgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlcy4iCittc2dzdHIgImxpYnVzZXItaW5pdGlhbGlzZXJpbmcgbWlzbHlra2VkZXM6ICVzLiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjUyCittc2dpZCAiY2hhbmdpbmcgdXNlciBhdHRyaWJ1dGUgZmFpbGVkIgorbXNnc3RyICLDpm5kcmluZyBhZiBicnVnZXJhdHRyaWJ1dCBtaXNseWtrZWRlcyIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjY2CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgYXR0cmlidXRlIG5vdCBjaGFuZ2VkOiAlcyIKK21zZ3N0ciAiYnJ1Z2VyYXR0cmlidXQgYmxldiBpa2tlIMOmbmRyZXQ6ICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAldSBpcyA2MC4KKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTgwCisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWVkIG91dCBhZnRlciAldSBzZWNvbmRzIgorbXNnc3RyICJ1ZGzDuGIgZWZ0ZXIgJXUgc2VrdW5kZXIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiBjYW4ndCByZW9wZW4gdHR5OiAlbSIKK21zZ3N0ciAiRkFUQUxUOiBrdW5uZSBpa2tlIGdlbsOlYm5lIHR0eTogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlcyBpcyBub3QgYSB0ZXJtaW5hbCIKK21zZ3N0ciAiRkFUQUxUOiAlcyBlciBpa2tlIGVuIHRlcm1pbmFsIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxMAorIywgYy1mb3JtYXQKK21zZ2lkICJjaG93biAoJXMsICVsdSwgJWx1KSBmYWlsZWQ6ICVtIgorbXNnc3RyICJjaG93biAoJXMsICVsdSwgJWx1KSBtaXNseWtrZWRlczogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzE0CisjLCBjLWZvcm1hdAorbXNnaWQgImNobW9kICglcywgJXUpIGZhaWxlZDogJW0iCittc2dzdHIgImNobW9kICglcywgJXUpIG1pc2x5a2tlZGVzOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozNzUKK21zZ2lkICJGQVRBTDogYmFkIHR0eSIKK21zZ3N0ciAiRkFUQUxUOiB1Z3lsZGlnIHR0eSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzOiBjaGFuZ2UgcGVybWlzc2lvbnMgZmFpbGVkOiAlbSIKK21zZ3N0ciAiRkFUQUxUOiAlczogw6ZuZHJpbmcgYWYgcmV0dGlnaGVkZXIgbWlzbHlra2VkZXM6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGxvZ2luOiAlLipzICIKK21zZ3N0ciAiU2lkc3RlIGxvZ2luZDogJS4qcyAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTMxCisjLCBjLWZvcm1hdAorbXNnaWQgImZyb20gJS4qc1xuIgorbXNnc3RyICJmcmEgJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUzNAorIywgYy1mb3JtYXQKK21zZ2lkICJvbiAlLipzXG4iCittc2dzdHIgInDDpSAlLipzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTUyCittc2dpZCAid3JpdGUgbGFzdGxvZyBmYWlsZWQiCittc2dzdHIgInNrcml2bmluZyB0aWwgbGFzdGxvZyBtaXNseWtrZWRlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRElBTFVQIEFUICVzIEJZICVzIgorbXNnc3RyICJPUFJJTkdOSU5HIEtMT0tLRU4gJXMgQUYgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMgRlJPTSAlcyIKK21zZ3N0ciAiUk9PVC1MT0dJTkQgUMOFICVzIEZSQSAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyIKK21zZ3N0ciAiUk9PVC1MT0dJTkQgUMOFICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorbXNnc3RyICJMT0dJTkQgUMOFICVzIEFGICVzIEZSQSAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTE9HSU4gT04gJXMgQlkgJXMiCittc2dzdHIgIkxPR0lORCBQw4UgJXMgQUYgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE5Cittc2dpZCAibG9naW46ICIKK21zZ3N0ciAibG9naW5kOiAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIlBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCittc2dzdHIgIlBBTS1mZWpsLCBhZmJyeWRlcjogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkbid0IGluaXRpYWxpemUgUEFNOiAlcyIKK21zZ3N0ciAiS3VubmUgaWtrZSBrbGFyZ8O4cmUgUEFNOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOICV1IEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiTUlTTFlLS0VUIExPR0lORCAldSBGUkEgJXMgRk9SICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MjUgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxvZ2luIGluY29ycmVjdFxuIgorIlxuIgorbXNnc3RyICIiCisiTG9naW5kIHVneWxkaWd0XG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRPTyBNQU5ZIExPR0lOIFRSSUVTICgldSkgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJGT1IgTUFOR0UgTE9HSU5ERk9SU8OYRyAoJXUpIEZSQSAlcyBGT1IgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg0NgorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gU0VTU0lPTiBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIk1JU0xZS0tFVCBMT0dJTkRTRVNTSU9OIEZSQSAlcyBGT1IgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg1NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTG9naW4gaW5jb3JyZWN0XG4iCittc2dzdHIgIiIKKyJcbiIKKyJMb2dpbmQgdWd5bGRpZ3RcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4ODIgbG9naW4tdXRpbHMvbG9naW4uYzoxMjMyIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI1NQorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHNldHVwIHByb2JsZW0sIGFib3J0LiIKK21zZ3N0ciAiIgorIlxuIgorIlByb2JsZW0gbWVkIHNlc3Npb25zb3Bzw6Z0bmluZywgYWZicnlkZXIuIgorCisjICVzOiVkIGpmLiBkZW4gbmVkZW5mb3IKKyMgKGRldCBhbmdpdmVyIG5vayBmaWxuYXZuOmxpbmplKQorIzogbG9naW4tdXRpbHMvbG9naW4uYzo4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVMTCB1c2VyIG5hbWUgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiVE9NVCBicnVnZXJuYXZuIGkgJXM6JWQuIEFmYnJ5ZGVyLiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMDIwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRJT0NTQ1RUWSBmYWlsZWQ6ICVtIgorbXNnc3RyICJUSU9DU0NUVFkgbWlzbHlra2VkZXM6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW46IC1oIGlzIGZvciBzdXBlcnVzZXIgb25seVxuIgorbXNnc3RyICJsb2dpbjogLWggZXIga3VuIGZvciBzdXBlcmJydWdlcmVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE4OQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogbG9naW4gWy1wXSBbLWggPGhvc3Q+XSBbLUhdIFtbLWZdIDx1c2VybmFtZT5dXG4iCittc2dzdHIgIkJydWc6IGxvZ2luIFstcF0gWy1oIDx2w6ZydD5dIFstSF0gWy1mXSA8YnJ1Z2VybmF2bj5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTkxCittc2dpZCAiQmVnaW4gYSBzZXNzaW9uIG9uIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIkJlZ3luZCBlbiBzZXNzaW9uIHDDpSBzeXN0ZW1ldC5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdXNlciBuYW1lIFwiJXNcIiBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICJVZ3lsZGlndCBicnVnZXJuYXZuIMK7JXPCqyBpICVzOiVkLiBBZmJyeWRlci4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJncm91cHMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiZ3J1cHBlaW5pdGlhbGlzZXJpbmcgbWlzbHlra2VkZXM6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNzkKK21zZ2lkICJzZXRnaWQoKSBmYWlsZWQiCittc2dzdHIgInNldGdpZCgpIG1pc2x5a2tlZGVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbmV3IG1haWwuXG4iCittc2dzdHIgIkR1IGhhciBueSBwb3N0LlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbWFpbC5cbiIKK21zZ3N0ciAiRHUgaGFyIHBvc3QuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMyNQorbXNnaWQgInNldHVpZCgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgbWlzbHlra2VkZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzMSBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjaGFuZ2UgZGlyZWN0b3J5IGZhaWxlZCIKK21zZ3N0ciAiJXM6IEt1bm5lIGlra2Ugw6ZuZHJlIG1hcHBlIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzggbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczOQorIywgYy1mb3JtYXQKK21zZ2lkICJMb2dnaW5nIGluIHdpdGggaG9tZSA9IFwiL1wiLlxuIgorbXNnc3RyICJMb2dnZXIgaW5kIG1lZCBoamVtbWVtYXBwZSA9IFwiL1wiLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNjcKK21zZ2lkICJjb3VsZG4ndCBleGVjIHNoZWxsIHNjcmlwdCIKK21zZ3N0ciAia3VubmUgaWtrZSBrw7hyZSBza2FsLXNrcmlwdCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzY5Cittc2dpZCAibm8gc2hlbGwiCittc2dzdHIgImluZ2VuIHNrYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgY29udGFpbnMgaW52YWxpZCBudW1lcmljYWwgdmFsdWU6ICVzIgorbXNnc3RyICIlczogJXMgaW5kZWhvbGRlciB1Z3lsZGlnIG51bWVyaXNrIHbDpnJkaTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjM3NQorbXNnaWQgImh1c2ggbG9naW4gc3RhdHVzOiByZXN0b3JlIG9yaWdpbmFsIElEcyBmYWlsZWQiCittc2dzdHIgImh1c2gtbG9naW5kc3RhdHVzOiBnZW5kYW4gYWYgb3ByaW5kZWxpZ2UgaWQnZXIgbWlzbHlra2VkZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA4IHN5cy11dGlscy9sc2NwdS5jOjE1NDAgc3lzLXV0aWxzL2xzY3B1LmM6MTU1MAorbXNnaWQgIm5vIgorbXNnc3RyICJuZWoiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3IG1pc2MtdXRpbHMvbHNibGsuYzoxODEKK21zZ2lkICJ1c2VyIG5hbWUiCittc2dzdHIgImJydWdlcm5hdm4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3Cittc2dpZCAiVXNlcm5hbWUiCittc2dzdHIgIkJydWdlcm5hdm4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE4IHN5cy11dGlscy9yZW5pY2UuYzo1NAorbXNnaWQgInVzZXIgSUQiCittc2dzdHIgImJydWdlci1pZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJwYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgImFkZ2FuZ3Nrb2RlIGlra2Uga3LDpnZldCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJQYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIkFkZ2FuZ3Nrb2RlIGlra2Uga3LDpnZldCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKK21zZ2lkICJsb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAibG9naW5kIG1lZCBhZGdhbmdza29kZSBkZWFrdGl2ZXJldCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKK21zZ2lkICJMb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAiTG9naW5kIG1lZCBhZGdhbmdza29kZSBkZWFrdGl2ZXJldCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKK21zZ2lkICJwYXNzd29yZCBkZWZpbmVkLCBidXQgbG9ja2VkIgorbXNnc3RyICJhZGdhbmdza29kZSBkZWZpbmVyZXQsIG1lbiBsw6VzdCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKK21zZ2lkICJQYXNzd29yZCBpcyBsb2NrZWQiCittc2dzdHIgIkFkZ2FuZ3Nrb2RlbiBlciBsw6VzdCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJsb2cgaW4gZGlzYWJsZWQgYnkgbm9sb2dpbig4KSBvciBwYW1fbm9sb2dpbig4KSIKK21zZ3N0ciAibG9naW5kIGVyIGRlYWt0aXZlcmV0IGFmIG5vbG9naW4oOCkgZWxsZXIgcGFtX25vbG9naW4oOCkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAiTm8gbG9naW4iCittc2dzdHIgIkludGV0IGxvZ2luZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJwcmltYXJ5IGdyb3VwIG5hbWUiCittc2dzdHIgInByaW3DpnIgZ3J1cHBlbmF2biIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJQcmltYXJ5IGdyb3VwIgorbXNnc3RyICJQcmltw6ZyIGdydXBwZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjQKK21zZ2lkICJwcmltYXJ5IGdyb3VwIElEIgorbXNnc3RyICJwcmltw6ZyIGdydXBwZS1pZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIG5hbWVzIgorbXNnc3RyICJTdXBwbGVtZW50w6ZyZSBncnVwcGVuYXZuZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiU3VwcGxlbWVudMOmcmUgZ3J1cHBlciIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiU3VwcGxlbWVudMOmcmUgZ3J1cHBlLWlkJ2VyIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICJTdXBwbGVtZW50w6ZyZSBncnVwcGUtaWQnZXIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3Cittc2dpZCAiaG9tZSBkaXJlY3RvcnkiCittc2dzdHIgImhqZW1tZW1hcHBlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworbXNnaWQgIkhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICJIamVtbWVtYXBwZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKK21zZ2lkICJsb2dpbiBzaGVsbCIKK21zZ3N0ciAibG9naW5kc2thbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKK21zZ2lkICJTaGVsbCIKK21zZ3N0ciAiU2thbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJmdWxsIHVzZXIgbmFtZSIKK21zZ3N0ciAiZnVsZCBicnVnZXJuYXZuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgIkdlY29zIGZpZWxkIgorbXNnc3RyICJHZWNvcy1mZWx0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorbXNnaWQgImRhdGUgb2YgbGFzdCBsb2dpbiIKK21zZ3N0ciAiZGF0byBmb3IgZsO4cnN0ZSBsb2dpbmQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiTGFzdCBsb2dpbiIKK21zZ3N0ciAiU2lkc3RlIGxvZ2luZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJsYXN0IHR0eSB1c2VkIgorbXNnc3RyICJzaWRzdGUgdHR5IGJydWd0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgIkxhc3QgdGVybWluYWwiCittc2dzdHIgIlNpZHN0ZSB0ZXJtaW5hbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJob3N0bmFtZSBkdXJpbmcgdGhlIGxhc3Qgc2Vzc2lvbiIKK21zZ3N0ciAidsOmcnRzbmF2biB1bmRlciBkZW4gc2lkc3RlIHNlc3Npb24iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiTGFzdCBob3N0bmFtZSIKK21zZ3N0ciAiU2lkc3RlIHbDpnJ0c25hdm4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiZGF0ZSBvZiBsYXN0IGZhaWxlZCBsb2dpbiIKK21zZ3N0ciAiZGF0byBmb3IgZGV0IHNpZHN0IG1pc2x5a2tlZGVzIGxvZ2luZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJGYWlsZWQgbG9naW4iCittc2dzdHIgIk1pc2x5a2tldCBsb2dpbmQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0Cittc2dpZCAid2hlcmUgZGlkIHRoZSBsb2dpbiBmYWlsPyIKK21zZ3N0ciAiaHZvciBtaXNseWtrZWRlcyBsb2dpbmRldD8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0Cittc2dpZCAiRmFpbGVkIGxvZ2luIHRlcm1pbmFsIgorbXNnc3RyICJNaXNseWtrZXQgbG9naW5kIHZpYSB0ZXJtaW5hbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJ1c2VyJ3MgaHVzaCBzZXR0aW5ncyIKK21zZ3N0ciAiYnJ1Z2VycyBodXNoLWluZHN0aWxsaW5nZXIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAiSHVzaGVkIgorbXNnc3RyICJIdXNoJ2V0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgImRheXMgdXNlciBpcyB3YXJuZWQgb2YgcGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAiZGFnZSBicnVnZXIgYWR2YXJlcyBvbSB1ZGzDuGIgZm9yIGFkZ2FuZ3Nrb2RlbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzYKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIHdhcm4gaW50ZXJ2YWwiCittc2dzdHIgIkFkdmFyc2Vsc2ludGVydmFsIGZvciB1ZGzDuGIgYWYgYWRnYW5nc2tvZGUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAicGFzc3dvcmQgZXhwaXJhdGlvbiBkYXRlIgorbXNnc3RyICJhZGdhbmdza29kZW5zIHVkbMO4YnNkYXRvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIkFkZ2FuZ3Nrb2RlbnMgdWRsw7hiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorbXNnaWQgImRhdGUgb2YgbGFzdCBwYXNzd29yZCBjaGFuZ2UiCittc2dzdHIgImRhdG8gZm9yIHNpZHN0ZSDDpm5kcmluZyBhZiBhZGdhbmdza29kZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJQYXNzd29yZCBjaGFuZ2VkIgorbXNnc3RyICJBZGdhbmdza29kZSDDpm5kcmV0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIm51bWJlciBvZiBkYXlzIHJlcXVpcmVkIGJldHdlZW4gY2hhbmdlcyIKK21zZ3N0ciAiYW50YWxsZXQgYWYgZGFnZSBrcsOmdmV0IG1lbGxlbSDDpm5kcmluZ2VyIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIk1pbmltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIk1pbmltdW1zw6ZuZHJpbmdzdGlkIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZGF5cyBhIHBhc3N3b3JkIG1heSByZW1haW4gdW5jaGFuZ2VkIgorbXNnc3RyICJtYWtzIGFudGFsIGRhZ2UgZW4gYWRnYW5nc2tvZGUga2FuIHbDpnJlIHXDpm5kcmV0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIk1heGltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIk1ha3NpbXVtc8OmbmRyaW5nc3RpZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJ0aGUgdXNlcidzIHNlY3VyaXR5IGNvbnRleHQiCittc2dzdHIgImJydWdlcmVucyBzaWtrZXJoZWRza29udGVrc3QiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCittc2dpZCAiU2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJTZWxpbnV4LWtvbnRla3N0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgcnVuIGJ5IHRoZSB1c2VyIgorbXNnc3RyICJhbnRhbCBwcm9jZXNzZXIga8O4cnQgYWYgYnJ1Z2VyZW4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCittc2dpZCAiUnVubmluZyBwcm9jZXNzZXMiCittc2dzdHIgIkvDuHJlbmRlIHByb2Nlc3NlciIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyODggbWlzYy11dGlscy9maW5kbW50LmM6MTM2IG1pc2MtdXRpbHMvbHNibGsuYzoyMzEKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBjb2x1bW5zIHNwZWNpZmllZCwgdGhlIGxpbWl0IGlzICV6dSBjb2x1bW5zIgorbXNnc3RyICJmb3IgbWFuZ2Uga29sb25uZXIgc3BlY2lmaWNlcmV0LCBiZWdyw6Zuc25pbmdlbiBlciAlenUga29sb25uZXIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQzIHN5cy11dGlscy9sc2lwYy5jOjQ1NgorbXNnaWQgInVuc3VwcG9ydGVkIHRpbWUgdHlwZSIKK21zZ3N0ciAiaWtrZSB1bmRlcnN0w7h0dGV0IHRpZHN0eXBlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY29tcG9zZSB0aW1lIHN0cmluZyIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSAtLXRpbWVvdXQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6NjQ4Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAia3VubmUgaWtrZSBoZW50ZSBzdXBwbGVtZW50w6ZyZSBncnVwcGVyIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzEKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5rbm93biBjb2x1bW4iCittc2dzdHIgImludGVybiBmZWpsOiB1a2VuZHQga29sb25uZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDc1IHN5cy11dGlscy9sc2lwYy5jOjUwMyBzeXMtdXRpbHMvbHNpcGMuYzo2MjUKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY4MCBzeXMtdXRpbHMvbHNpcGMuYzo4Mzggc3lzLXV0aWxzL2xzaXBjLmM6MTAzNgorbXNnaWQgImZhaWxlZCB0byBzZXQgZGF0YSIKK21zZ3N0ciAia3VubmUgaWtrZSBhbmdpdmUgZGF0YSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMYXN0IGxvZ3M6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJTaWRzdGUgbG9nZ2U6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyOCBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMSBtaXNjLXV0aWxzL21jb29raWUuYzo4MiBtaXNjLXV0aWxzL3V1aWRkLmM6NzAKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI1IHN5cy11dGlscy9kbWVzZy5jOjI2NCBzeXMtdXRpbHMvaXBjbWsuYzo2NgorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2MCBzeXMtdXRpbHMvbHNpcGMuYzoyNzcgc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA0CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjk1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MCB0ZXh0LXV0aWxzL2xpbmUuYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ11cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMxCittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBrbm93biB1c2VycyBpbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICJWaXMgaW5mb3JtYXRpb24gb20ga2VuZHRlIGJydWdlcmUgaSBzeXN0ZW1ldC5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM0Cittc2dpZCAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBkaXNwbGF5IGluZm8gYWJvdXQgcGFzc3dvcmRzIGV4cGlyYXRpb25cbiIKK21zZ3N0ciAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICB2aXMgaW5mb3JtYXRpb24gb20gYWRnYW5nc2tvZGVybmVzIHVkbMO4YlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzUKK21zZ2lkICIgLWMsIC0tY29sb24tc2VwYXJhdGUgICAgIGRpc3BsYXkgZGF0YSBpbiBhIGZvcm1hdCBzaW1pbGFyIHRvIC9ldGMvcGFzc3dkXG4iCittc2dzdHIgIiAtYywgLS1jb2xvbi1zZXBhcmF0ZSAgICAgdmlzIGRhdGEgaSBldCBmb3JtYXQgZGVyIHN2YXJlciB0aWwgL2V0Yy9wYXNzd2RcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM2IHN5cy11dGlscy9sc2lwYy5jOjI5NgorbXNnaWQgIiAtZSwgLS1leHBvcnQgICAgICAgICAgICAgZGlzcGxheSBpbiBhbiBleHBvcnQtYWJsZSBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtZSwgLS1leHBvcnQgICAgICAgICAgICAgdmlzIGkgZXQgdWRkYXRhZm9ybWF0IGVnbmV0IGZvciBla3Nwb3J0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNworbXNnaWQgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAgZGlzcGxheSBkYXRhIGFib3V0IHRoZSB1c2VycycgbGFzdCBmYWlsZWQgbG9naW5zXG4iCittc2dzdHIgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAgdmlzIGRhdGEgb20gYnJ1Z2VyZW5zIHNpZHN0ZSBtaXNseWtrZWRlIGZvcnPDuGcgcMOlIGxvZ2luZFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzgKK21zZ2lkICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgZ3JvdXBzXG4iCittc2dzdHIgIiAtRywgLS1zdXBwLWdyb3VwcyAgICAgICAgdmlzIGluZm9ybWF0aW9uIG9tIGdydXBwZXJcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM5Cittc2dpZCAiIC1nLCAtLWdyb3Vwcz08Z3JvdXBzPiAgICBkaXNwbGF5IHVzZXJzIGJlbG9uZ2luZyB0byBhIGdyb3VwIGluIDxncm91cHM+XG4iCittc2dzdHIgIiAtZywgLS1ncm91cHM9PGdydXBwZXI+ICAgdmlzIGJydWdlcmUgdGlsaMO4cmVuZGUgZW4gZ3J1cHBlIGkgPGdydXBwZT5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQwCittc2dpZCAiIC1MLCAtLWxhc3QgICAgICAgICAgICAgICBzaG93IGluZm8gYWJvdXQgdGhlIHVzZXJzJyBsYXN0IGxvZ2luIHNlc3Npb25zXG4iCittc2dzdHIgIiAtTCwgLS1sYXN0ICAgICAgICAgICAgICAgdmlzIGluZm9ybWF0aW9uIG9tIGJydWdlcmVucyBzaWRzdGUgbG9naW5kc2Vzc2lvbmVyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MQorbXNnaWQgIiAtbCwgLS1sb2dpbnM9PGxvZ2lucz4gICAgZGlzcGxheSBvbmx5IHVzZXJzIGZyb20gPGxvZ2lucz5cbiIKK21zZ3N0ciAiIC1sLCAtLWxvZ2lucz08bG9naW5kPiAgICB2aXMga3VuIGJydWdlcmUgZnJhIDxsb2dpbmQ+XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MiBzeXMtdXRpbHMvbHNpcGMuYzoyOTgKK21zZ2lkICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGRpc3BsYXkgZWFjaCBwaWVjZSBvZiBpbmZvcm1hdGlvbiBvbiBhIG5ldyBsaW5lXG4iCittc2dzdHIgIiAtbiwgLS1uZXdsaW5lICAgICAgICAgICAgdmlzIGh2ZXIgc3R5a2tlIGluZm9ybWF0aW9uIHDDpSBlbiBueSBsaW5qZVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDMgc3lzLXV0aWxzL2xzaXBjLmM6MjkxCittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIHZpcyBpa2tlIHRla3N0aG92ZWRlclxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDQgc3lzLXV0aWxzL2xzaXBjLmM6MjkyCittc2dpZCAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBkb24ndCB0cnVuY2F0ZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBhZmtvcnQgaWtrZSB1ZGRhdGFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMAorbXNnaWQgIiAtbywgLS1vdXRwdXRbPTxsaXN0Pl0gICAgZGVmaW5lIHRoZSBjb2x1bW5zIHRvIG91dHB1dFxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0Wz08bGlzdGU+XSAgIGRlZmluZXIga29sb25uZXJuZSBpIHVkZGF0YVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDYKK21zZ2lkICIgLXAsIC0tcHdkICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBsb2dpbiBieSBwYXNzd29yZC5cbiIKK21zZ3N0ciAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICB2aXMgaW5mb3JtYXRpb24gcmVsYXRlcmV0IHRpbCBsb2dpbmQgZWZ0ZXIgYWRnYW5nc2tvZGUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NyBzeXMtdXRpbHMvbHNpcGMuYzozMDIKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIGRpc3BsYXkgaW4gcmF3IG1vZGVcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICB2aXMgaSByw6UgdGlsc3RhbmRcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ4Cittc2dpZCAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICBkaXNwbGF5IHN5c3RlbSBhY2NvdW50c1xuIgorbXNnc3RyICIgLXMsIC0tc3lzdGVtLWFjY3MgICAgICAgIHZpcyBzeXN0ZW1rb250aVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDkgc3lzLXV0aWxzL2xzaXBjLmM6MjkzCittc2dpZCAiICAgICAtLXRpbWUtZm9ybWF0PTx0eXBlPiBkaXNwbGF5IGRhdGVzIGluIHNob3J0LCBmdWxsIG9yIGlzbyBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLXRpbWUtZm9ybWF0PTx0eXBlPiB2aXMgZGF0b2VyIGkga29ydCwgZnVsZCBlbGxlciBpc28tZm9ybWF0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MAorbXNnaWQgIiAtdSwgLS11c2VyLWFjY3MgICAgICAgICAgZGlzcGxheSB1c2VyIGFjY291bnRzXG4iCittc2dzdHIgIiAtdSwgLS11c2VyLWFjY3MgICAgICAgICAgdmlzIGJydWdlcmtvbnRpXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MQorbXNnaWQgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgZGlzcGxheSBTRUxpbnV4IGNvbnRleHRzXG4iCittc2dzdHIgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgdmlzIFNFTGludXgta29udGVrdHNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUyCittc2dpZCAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0IHVzZXIgZW50cmllcyB3aXRoIGEgbnVsIGNoYXJhY3RlclxuIgorbXNnc3RyICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgIGFmZ3LDpm5zIGJydWdlcnBvc3RlciBtZWQgZXQgbnVsLXRlZ25cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUzCittc2dpZCAiICAgICAtLXd0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIHd0bXBcbiIKK21zZ3N0ciAiICAgICAtLXd0bXAtZmlsZSA8c3RpPiAgICBhbmdpdiBlbiBhbHRlcm5hdGl2IHN0aSBmb3Igd3RtcFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTQKK21zZ2lkICIgICAgIC0tYnRtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3IgYnRtcFxuIgorbXNnc3RyICIgICAgIC0tYnRtcC1maWxlIDxzdGk+ICAgIGFuZ2l2IGVuIGFsdGVybmF0aXYgc3RpIGZvciBidG1wXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1OSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ3IHN5cy11dGlscy9sc2NwdS5jOjE5NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisiXG4iCisiVGlsZ8OmbmdlbGlnZSBrb2xvbm5lcjpcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDQyCittc2dpZCAiZmFpbGVkIHRvIHJlcXVlc3Qgc2VsaW51eCBzdGF0ZSIKK21zZ3N0ciAia3VubmUgaWtrZSBhbm1vZGUgb20gc2VsaW51eC10aWxzdGFuZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDU2IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ2MAorbXNnaWQgIk9ubHkgb25lIHVzZXIgbWF5IGJlIHNwZWNpZmllZC4gVXNlIC1sIGZvciBtdWx0aXBsZSB1c2Vycy4iCittc2dzdHIgIkt1biBlbiBicnVnZXIga2FuIHNwZWNpZmljZXJlcy4gQnJ1ZyAtbCBmb3IgZmxlcmUgYnJ1Z2VyZS4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjU1Cittc2dpZCAiY291bGQgbm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJrdW5uZSBpa2tlIGFuZ2l2ZSB0ZXJtaW5hbGF0dHJpYnV0dGVyIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo1NworbXNnaWQgImdldGxpbmUoKSBmYWlsZWQiCittc2dzdHIgImdldGxpbmUoKSBtaXNseWtrZWRlcyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTQ4Cittc2dpZCAiUGFzc3dvcmQ6ICIKK21zZ3N0ciAiQWRnYW5nc2tvZGU6ICIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTU0IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDA1Cittc2dpZCAiY3J5cHQgZmFpbGVkIgorbXNnc3RyICJjcnlwdCBtaXNseWtrZWRlcyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Z3JvdXA+XG4iCittc2dzdHIgIiAlcyA8Z3J1cHBlPlxuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjkKK21zZ2lkICJMb2cgaW4gdG8gYSBuZXcgZ3JvdXAuXG4iCittc2dzdHIgIkxvZyBpbmQgdGlsIGVuIG55IGdydXBwZS5cbiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjA3Cittc2dpZCAid2hvIGFyZSB5b3U/IgorbXNnc3RyICJodmVtIGVyIGR1PyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjExIGxvZ2luLXV0aWxzL25ld2dycC5jOjIyMyBzeXMtdXRpbHMvbnNlbnRlci5jOjQyMworbXNnaWQgInNldGdpZCBmYWlsZWQiCittc2dzdHIgInNldGdpZCBtaXNseWtrZWRlcyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjE2IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxOAorbXNnaWQgIm5vIHN1Y2ggZ3JvdXAiCittc2dzdHIgImluZ2VuIHPDpWRhbiBncnVwcGUiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyMSBzeXMtdXRpbHMvbW91bnQuYzo0OTEKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCIKK21zZ3N0ciAiYWRnYW5nIG7Dpmd0ZXQiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyNyBzeXMtdXRpbHMvbnNlbnRlci5jOjQyNQorbXNnaWQgInNldHVpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCBtaXNseWtrZWRlcyIKKworIzogbG9naW4tdXRpbHMvbm9sb2dpbi5jOjI5Cittc2dpZCAiUG9saXRlbHkgcmVmdXNlIGEgbG9naW4uXG4iCittc2dzdHIgIk7Dpmd0IHZlbmxpZ3QgZXQgbG9naW5kLlxuIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhpcyBhY2NvdW50IGlzIGN1cnJlbnRseSBub3QgYXZhaWxhYmxlLlxuIgorbXNnc3RyICJEZW5uZSBrb250byBlciBpIGJydWcgZm9yIMO4amVibGlra2V0LlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gc2Vzc2lvbjogJXMiCittc2dzdHIgImt1bm5lIGlra2Ugw6VibmUgc2Vzc2lvbjogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMwNAorbXNnaWQgImNhbm5vdCBjcmVhdGUgY2hpbGQgcHJvY2VzcyIKK21zZ3N0ciAia3VubmUgaWtrZSBvcHJldHRlIHVuZGVycHJvY2VzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgImt1bm5lIGlra2Ugw6ZuZHJlIG1hcHBlIHRpbCAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzIxCittc2dpZCAiY2Fubm90IGJsb2NrIHNpZ25hbHMiCittc2dzdHIgImt1bm5lIGlra2UgbMOmc2UgYmxva3NpZ25hbGVyIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMzUgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzQzCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNDkgbWlzYy11dGlscy91dWlkZC5jOjQwNyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc3MQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgImt1bm5lIGlra2Ugc8OmdHRlIHNpZ25hbGjDpW5kdGVyaW5nZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM3NAorbXNnaWQgIiAoY29yZSBkdW1wZWQpIgorbXNnc3RyICIgKGtlcm5lIGR1bXBldCkiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLCBraWxsaW5nIHNoZWxsLi4uIgorbXNnc3RyICIiCisiXG4iCisiU2Vzc2lvbiBhZnNsdXR0ZXQsIGRyw6ZiZXIgc2thbCAuLi4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICIgLi4ua2lsbGVkLlxuIgorbXNnc3RyICIgLi4uZHLDpmJ0LlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0ODYKK21zZ2lkICJtYXkgbm90IGJlIHVzZWQgYnkgbm9uLXJvb3QgdXNlcnMiCittc2dzdHIgIm3DpSBpa2tlIGJydWdlcyBhZiBicnVnZXJlIGRlciBpa2tlIGVyIHJvZCAocm9vdCkiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjUxNAorbXNnaWQgImluY29ycmVjdCBwYXNzd29yZCIKK21zZ3N0ciAidWd5bGRpZyBhZGdhbmdza29kZSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTk4Cittc2dpZCAiY2Fubm90IHNldCBncm91cHMiCittc2dzdHIgImthbiBpa2tlIGFuZ2l2ZSBncnVwcGVyIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2MTMgc3lzLXV0aWxzL2VqZWN0LmM6NjY1Cittc2dpZCAiY2Fubm90IHNldCBncm91cCBpZCIKK21zZ3N0ciAia2FuIGlra2UgYW5naXZlIGdydXBwZS1pZCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjE1IHN5cy11dGlscy9lamVjdC5jOjY2OAorbXNnaWQgImNhbm5vdCBzZXQgdXNlciBpZCIKK21zZ3N0ciAia2FuIGlra2UgYW5naXZlIGJydWdlci1pZCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC11IDx1c2VyPiBbWy0tXSA8Y29tbWFuZD5dXG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gLXUgPGJydWdlcj4gPGtvbW1hbmRvPlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2ODkgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIFstXSBbPGJydWdlcj4gWzxwYXJhbWV0cmU+IC4uLl1dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY5MAorbXNnaWQgIiIKKyJcbiIKKyJSdW4gPGNvbW1hbmQ+IHdpdGggdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCBvZiA8dXNlcj4uICBJZiAtdSBpc1xuIgorIm5vdCBnaXZlbiwgZmFsbCBiYWNrIHRvIHN1KDEpLWNvbXBhdGlibGUgc2VtYW50aWNzIGFuZCBleGVjdXRlIHN0YW5kYXJkIHNoZWxsLlxuIgorIlRoZSBvcHRpb25zIC1jLCAtZiwgLWwsIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLXUuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJLw7hyIDxjb21tYW5kPiBtZWQgZGVuIGVmZmVrdGl2ZSBicnVnZXItaWQgb2cgZ3J1cHBlLWlkIGZvciA8YnJ1Z2VyPi4gSHZpcyAtdVxuIgorImlra2UgZXIgYW5naXZldCwgc8OlIGZhbGQgdGlsYmFnZSB0aWwgc3UoMSkta29tcGF0aWJlbCBzZW1hbnRpayBvZyBrw7hyXG4iCisic3RhbmRhcmRza2FsLiBUaWx2YWxnZW5lIC1jLCAtZiwgLWwgb2cgLXMgdWRlbHVra2VyIGhpbmFuZGVuIG1lZCAtdS5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njk3Cittc2dpZCAiIC11LCAtLXVzZXIgPHVzZXI+ICAgICAgICAgICAgIHVzZXJuYW1lXG4iCittc2dzdHIgIiAtdSwgLS11c2VyIDxicnVnZXI+ICAgICAgICAgICBicnVnZXJuYXZuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwMgorbXNnaWQgIiIKKyJcbiIKKyJDaGFuZ2UgdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCB0byB0aGF0IG9mIDx1c2VyPi5cbiIKKyJBIG1lcmUgLSBpbXBsaWVzIC1sLiAgSWYgPHVzZXI+IGlzIG5vdCBnaXZlbiwgcm9vdCBpcyBhc3N1bWVkLlxuIgorbXNnc3RyICIiCisiXG4iCisiw4ZuZHIgZGV0IGVmZmVrdGl2ZSBicnVnZXItaWQgb2cgZ3J1cHBlLWlkIHRpbCBkZXQgZm9yIDxicnVnZXI+LlxuIgorIk1lZCBldCAtIHVuZGVyZm9yc3TDpXMgLWwuIEh2aXMgPGJydWdlcj4gaWtrZSBhbmdpdmVzLCBhbnRhZ2VzIHJvb3QuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwOQorbXNnaWQgIiAtbSwgLXAsIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgIGRvIG5vdCByZXNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXNcbiIKK21zZ3N0ciAiIC1tLCAtcCwgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCAgbnVsc3RpbGwgaWtrZSBtaWxqw7h2YXJpYWJsZXJcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzEwCittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgICAgICAgICAgc3BlY2lmeSB0aGUgcHJpbWFyeSBncm91cFxuIgorbXNnc3RyICIgLWcsIC0tZ3JvdXAgPGdydXBwZT4gICAgICAgICAgICBzcGVjaWZpY2VyIGRlbiBwcmltw6ZyZSBncnVwcGVcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzExCittc2dpZCAiIgorIiAtRywgLS1zdXBwLWdyb3VwIDxncm91cD4gICAgICAgIHNwZWNpZnkgYSBzdXBwbGVtZW50YWwgZ3JvdXBcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtRywgLS1zdXBwLWdyb3VwIDxncnVwcGU+ICAgICAgICBzcGVjaWZpY2VyIGVuIHN1cHBsZW1lbnTDpnIgZ3J1cHBlXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMworbXNnaWQgIiAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgICAgIG1ha2UgdGhlIHNoZWxsIGEgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgICAgZ8O4ciBza2FsbGVuIHRpbCBlbiBsb2dpbmRza2FsXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxNAorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgICAgICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorbXNnc3RyICIgLWMsIC0tY29tbWFuZCA8a29tbWFuZG8+ICAgICAgICBzZW5kIGVuIGVua2VsdCBrb21tYW5kbyB0aWwgc2thbGxlbiBtZWQgLWNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE1Cittc2dpZCAiIgorIiAtLXNlc3Npb24tY29tbWFuZCA8Y29tbWFuZD4gICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvblxuIgorbXNnc3RyICIiCisiIC0tc2Vzc2lvbi1jb21tYW5kIDxrb21tYW5kbz4gICAgc2VuZCBlbiBlbmtlbHQga29tbWFuZG8gdGlsIHNrYWxsZW4gbWVkIC1jXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZyBvcHJldCBpa2tlIGVuIG55IHNlc3Npb25cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE3Cittc2dpZCAiIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgICAgcGFzcyAtZiB0byB0aGUgc2hlbGwgKGZvciBjc2ggb3IgdGNzaClcbiIKK21zZ3N0ciAiIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgICAgc2VuZCAtZiB0aWwgc2thbGxlbiAoZm9yIGNzaCBlbGxlciB0Y3NoKVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTgKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgICBydW4gPHNoZWxsPiBpZiAvZXRjL3NoZWxscyBhbGxvd3MgaXRcbiIKK21zZ3N0ciAiIC1zLCAtLXNoZWxsIDxza2FsPiAgICAgICAgICAgICAga8O4ciA8c2thbD4gaHZpcyAvZXRjL3NoZWxscyB0aWxsYWRlciBkZXRcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzYyCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cCBpcyBub3QgcG9zc2libGUiCittc2dpZF9wbHVyYWwgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cHMgaXMgbm90IHBvc3NpYmxlIgorbXNnc3RyWzBdICJhbmdpdmVsc2UgYWYgbWVyZSBlbmQgJWQgc3VwcGxlbWVudMOmciBncnVwcGUgZXIgaWtrZSBtdWxpZ3QiCittc2dzdHJbMV0gImFuZ2l2ZWxzZSBhZiBtZXJlIGVuZCAlZCBzdXBwbGVtZW50w6ZyZSBncnVwcGVyIGVyIGlra2UgbXVsaWd0IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXAgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgImdydXBwZSAlcyBmaW5kZXMgaWtrZSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODg2Cittc2dpZCAiaWdub3JpbmcgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWxvZ2luIgorbXNnc3RyICJpZ25vcmVyZXIgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgc29tIGlra2Uga2FuIGJydWdlcyBzYW1tZW4gbWVkIC0tbG9naW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg5NworbXNnaWQgIm9wdGlvbnMgLS17c2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbn0gYW5kIC0tdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICJ0aWx2YWxnIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IG9nIC0tdXNlciB1ZGVsdWtrZXIgaGluYW5kZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkwMQorbXNnaWQgIm5vIGNvbW1hbmQgd2FzIHNwZWNpZmllZCIKK21zZ3N0ciAiaW5nZW4ga29tbWFuZG8gYmxldiBhbmdpdmV0IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5MTUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHNwZWNpZnkgYWx0ZXJuYXRpdmUgZ3JvdXBzIgorbXNnc3RyICJrdW4gcm9vdCAoYWRtaW5pc3RyYXRvcikga2FuIGFuZ2l2ZSBhbHRlcm5hdGl2ZSBncnVwcGVyIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiYnJ1Z2VyIMK7JXPCqyBmaW5kZXMgaWtrZSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTYyCisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIHJlc3RyaWN0ZWQgc2hlbGwgJXMiCittc2dzdHIgImJydWdlciBiZWdyw6Zuc2V0IHNrYWwgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk4NgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAiYWR2YXJzZWw6IGthbiBpa2tlIMOmbmRyZSBtYXBwZSB0aWwgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMzAKK21zZ2lkICJ0Y2dldGF0dHIgZmFpbGVkIgorbXNnc3RyICJ0Y2dldGF0dHIgbWlzbHlra2VkZXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoyMDcKK21zZ2lkICJ0Y3NldGF0dHIgZmFpbGVkIgorbXNnc3RyICJ0Y3NldGF0dHIgbWlzbHlra2VkZXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290XG4iCittc2dzdHIgIiVzOiBpbmdlbiBpbmRnYW5nIGZvciByb290XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290IgorbXNnc3RyICIlczogaW5nZW4gaW5kZ2FuZyBmb3Igcm9vdCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcm9vdCBwYXNzd29yZCBnYXJibGVkIgorbXNnc3RyICIlczogcm9kYWRnYW5nc2tvZGUgdWzDpnNlbGlnIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJDYW5ub3Qgb3BlbiBhY2Nlc3MgdG8gY29uc29sZSwgdGhlIHJvb3QgYWNjb3VudCBpcyBsb2NrZWQuXG4iCisiU2VlIHN1bG9naW4oOCkgbWFuIHBhZ2UgZm9yIG1vcmUgZGV0YWlscy5cbiIKKyJcbiIKKyJQcmVzcyBFbnRlciB0byBjb250aW51ZS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbG9naW46ICIKK21zZ3N0ciAiR2l2IGFkbWluaXN0cmF0b3JhZGdhbmdza29kZSAocm9vdCkgZm9yIGxvZ2luZDogIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBsb2dpbjogIgorbXNnc3RyICJUcnlrIFJldHVyIGZvciBhdCBsb2dnZSBpbmQ6ICIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIkdpdiByb2RhZGdhbmdza29kZSBmb3IgdmVkbGlnZWhvbGRlbHNlXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICJUcnlrIFJldHVyIGZvciB2ZWRsaWdlaG9sZGVsc2UiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiKG9yIHByZXNzIENvbnRyb2wtRCB0byBjb250aW51ZSk6ICIKK21zZ3N0ciAiKGVsbGVyIHRhc3QgS29udHJvbC1EIGZvciBhdCBmb3J0c8OmdHRlKTogIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzQyCittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSB0byBzeXN0ZW0gcm9vdCBmYWlsZWQiCittc2dzdHIgIsOmbmRyaW5nIGFmIG1hcHBlIHRpbCBzeXN0ZW1yb2QgbWlzbHlra2VkZXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTEKK21zZ2lkICJzZXRleGVjY29uIGZhaWxlZCIKK21zZ3N0ciAic2V0ZXhlY2NvbiBtaXNseWtrZWRlcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxMQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFt0dHkgZGV2aWNlXVxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIHt0dHktZW5oZWRdXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MTQKK21zZ2lkICJTaW5nbGUtdXNlciBsb2dpbi5cbiIKK21zZ3N0ciAiRW5rZWxicnVnZXItbG9naW5kLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODE3Cittc2dpZCAiIgorIiAtcCwgLS1sb2dpbi1zaGVsbCAgICAgICAgc3RhcnQgYSBsb2dpbiBzaGVsbFxuIgorIiAtdCwgLS10aW1lb3V0IDxzZWNvbmRzPiAgbWF4IHRpbWUgdG8gd2FpdCBmb3IgYSBwYXNzd29yZCAoZGVmYXVsdDogbm8gbGltaXQpXG4iCisiIC1lLCAtLWZvcmNlICAgICAgICAgICAgICBleGFtaW5lIHBhc3N3b3JkIGZpbGVzIGRpcmVjdGx5IGlmIGdldHB3bmFtKDMpIGZhaWxzXG4iCittc2dzdHIgIiIKKyIgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgIHN0YXJ0IGVuIGxvZ2luZHNrYWxcbiIKKyIgLXQsIC0tdGltZW91dCA8c2VrdW5kZXI+ICBtYWtzLiB2ZW50ZXRpZCBmb3IgZW4gYWRnYW5nc2tvZGUgKHN0YW5kYXJkOiBpbmdlbiBiZWdyw6Zuc25pbmcpXG4iCisiIC1lLCAtLWZvcmNlICAgICAgICAgICAgICB1bmRlcnPDuGcgYWRnYW5nc2tvZGVmaWxlciBkaXJla3RlIGh2aXMgZ2V0cHduYW0oMykgbWlzbHlra2VzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4NzEgbWlzYy11dGlscy9maW5kbW50LmM6MTQ2MyBzeXMtdXRpbHMvd2RjdGwuYzo1MjMKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzUwIHRlcm0tdXRpbHMvd2FsbC5jOjEzNQorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudCIKK21zZ3N0ciAidWd5bGRpZyBwYXJhbWV0ZXIgZm9yIHRpZHN1ZGzDuGIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4OTMKK21zZ2lkICJvbmx5IHN1cGVydXNlciBjYW4gcnVuIHRoaXMgcHJvZ3JhbSIKK21zZ3N0ciAia3VuIGVuIHN1cGVyYnJ1Z2VyIGthbiBrw7hyZSBkZXR0ZSBwcm9ncmFtIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTM2Cittc2dpZCAiY2Fubm90IG9wZW4gY29uc29sZSIKK21zZ3N0ciAia2FuIGlra2Ugw6VibmUga29uc29sIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTQzCittc2dpZCAiY2Fubm90IG9wZW4gcGFzc3dvcmQgZGF0YWJhc2UiCittc2dzdHIgImthbiBpa2tlIMOlYm5lIGFkZ2FuZ3Nrb2RlZGF0YWJhc2UiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDYW4gbm90IGV4ZWN1dGUgc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkthbiBpa2tlIGvDuHJlIHN1IHNoZWxsXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDI3Cittc2dpZCAiIgorIlRpbWVkIG91dFxuIgorIlxuIgorbXNnc3RyICIiCisiVGlkc3VkbMO4YlxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTA1OQorIywgZnV6enkKK21zZ2lkICIiCisiQ2FuIG5vdCB3YWl0IG9uIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIiIKKyJLYW4gaWtrZSBrw7hyZSBzdSBzaGVsbFxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE3NiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2guIgorbXNnc3RyICIlczoga2FuIGlra2UgdGlsZsO4amUgaW5vdGlmeS1vdmVydsOlZ25pbmcuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE4NSB0ZXh0LXV0aWxzL3RhaWxmLmM6MTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBpbm90aWZ5IGV2ZW50cyIKK21zZ3N0ciAiJXM6IGthbiBpa2tlIGzDpnNlIGlub3RpZnlow6ZuZGVsc2VyIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI0NiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI1MQorbXNnaWQgIkV4dHJhbmVvdXMgbmV3bGluZSBpbiBmaWxlLiBFeGl0aW5nLiIKK21zZ3N0ciAiVXZlZGtvbW1lbmRlIG55IGxpbmplIGkgZmlsLiBBZnNsdXR0ZXIuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwOQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlbmFtZV1cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSBbZmlsbmF2bl1cbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTIKK21zZ2lkICJEdW1wIFVUTVAgYW5kIFdUTVAgZmlsZXMgaW4gcmF3IGZvcm1hdC5cbiIKK21zZ3N0ciAiRHVtcCBVVE1QLSBvZyBXVE1QLWZpbGVyIGkgcsOlIGZvcm1hdC5cbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTUKK21zZ2lkICIgLWYsIC0tZm9sbG93ICAgICAgICAgb3V0cHV0IGFwcGVuZGVkIGRhdGEgYXMgdGhlIGZpbGUgZ3Jvd3NcbiIKK21zZ3N0ciAiIC1mLCAtLWZvbGxvdyAgICAgICAgIHZpcyB0aWxmw7hqZXQgZGF0YSBlZnRlcmjDpW5kZW4gc29tIGZpbGVuIHZva3NlclxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxNgorbXNnaWQgIiAtciwgLS1yZXZlcnNlICAgICAgICB3cml0ZSBiYWNrIGR1bXBlZCBkYXRhIGludG8gdXRtcCBmaWxlXG4iCittc2dzdHIgIiAtciwgLS1yZXZlcnNlICAgICAgICBza3JpdiBkdW1wZWRlIGRhdGEgdGlsYmFnZSB0aWwgdXRtcC1maWxcbiIKKworIyBzdGFuZGFyZHVkZGF0YSIgamYuIGVmdGVyZsO4bGdlbmRlLCBlbGxlcnMgZm9yZXNsw6VyIGplZyBkZXQgbWVyZSBsw6ZzZXZlbmxpZ2UgInN0YW5kYXJkLXVkCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxNworbXNnaWQgIiAtbywgLS1vdXRwdXQgPGZpbGU+ICB3cml0ZSB0byBmaWxlIGluc3RlYWQgb2Ygc3RhbmRhcmQgb3V0cHV0XG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGZpbD4gICBza3JpdiB0aWwgZmlsIGkgc3RlZGV0IGZvciB0aWwgc3RhbmRhcmR1ZGRhdGFcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODQKK21zZ2lkICJmb2xsb3dpbmcgc3RhbmRhcmQgaW5wdXQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgImF0IGbDuGxnZSBzdGFuZGFyZGluZGRhdGEgdW5kZXJzdMO4dHRlcyBpa2tlIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIHVuZHVtcCBvZiAlc1xuIgorbXNnc3RyICJVdG1wIHVuZHVtcCBhZiAlc1xuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIGR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiVXRtcCBkdW1wIGFmICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNDEKK21zZ2lkICJjYW4ndCBvcGVuIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICJrdW5uZSBpa2tlIMOlYm5lIG1pZGxlcnRpZGlnIGZpbCIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY3JlYXRlIGEgbGluayB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBvcHJldHRlbHNlIGFmIGVuIGhlbnZpc25pbmcgdGlsICVzIG1pc2x5a2tlZGVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IGdldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiS2FuIGlra2UgZsOlIGtvbnRla3N0IGZvciAlcyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE3MAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBzZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIkthbiBpa2tlIHPDpnR0ZSBrb250ZWtzdCBmb3IgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5jaGFuZ2VkIgorbXNnc3RyICIlczogdcOmbmRyZXQiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNTQKK21zZ2lkICJjYW5ub3QgZ2V0IGxvY2siCittc2dzdHIgImthbiBpa2tlIGluZGhlbnRlIGzDpXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyODEKK21zZ2lkICJubyBjaGFuZ2VzIG1hZGUiCittc2dzdHIgImludGV0IMOmbmRyZXQiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTAKK21zZ2lkICJjYW5ub3QgY2htb2QgZmlsZSIKK21zZ3N0ciAia2FuIGlra2UgY2htb2QgZmlsIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzA0Cittc2dpZCAiRWRpdCB0aGUgcGFzc3dvcmQgb3IgZ3JvdXAgZmlsZS5cbiIKK21zZ3N0ciAiUmVkaWdlciBhZGdhbmdza29kZW4gZWxsZXIgZ3J1cHBlZmlsZW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTAKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBncm91cHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIkR1IGJydWdlciBza3lnZ2VncnVwcGVyIChzaGFkb3cgZ3JvdXBzKSBww6UgZGV0dGUgc3lzdGVtLlxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzUxCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgcGFzc3dvcmRzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICJEdSBicnVnZXIgc2t5Z2dlYWRnYW5nc2tvZGVyIChzaGFkb3cgcGFzc3dvcmRzKSBww6UgZGV0dGUgc3lzdGVtLlxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhpcyBwcm9ncmFtIHVzZXMgZm9yIHkgYW5kIG4gcnBtYXRjaCgzKSwKKyMuICogd2hpY2ggbWVhbnMgdGhleSBjYW4gYmUgdHJhbnNsYXRlZC4KKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV291bGQgeW91IGxpa2UgdG8gZWRpdCAlcyBub3cgW3kvbl0/ICIKK21zZ3N0ciAiVmlsIGR1IHJlZGlnZXJlICVzIG51IFt5L25dPyAiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzcyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbW9udGggYXJndW1lbnQiCittc2dzdHIgInVneWxkaWcgbMOmbmdkZXBhcmFtZXRlciIKKworIzogbWlzYy11dGlscy9jYWwuYzozODAKK21zZ2lkICJpbnZhbGlkIHdlZWsgYXJndW1lbnQiCittc2dzdHIgInVneWxkaWcgdWdlcGFyYW1ldGVyIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjM4MgorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHVzZSAxLTU0IgorbXNnc3RyICJ1Z3lsZGlnIHVnZXbDpnJkaTogYnJ1ZyAxLTUzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHRpbWVzdGFtcCBvciB1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIG1ha3NpbWFsIGzDpm5nZGUgZm9yIGZpbG5hdm5lIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQzMQorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlIgorbXNnc3RyICJVZ3lsZGlnIGRhZ3N2w6ZyZGkiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDMzIG1pc2MtdXRpbHMvY2FsLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlOiB1c2UgMS0lZCIKK21zZ3N0ciAidWd5bGRpZyBkYWdzdsOmcmRpOiBicnVnIDEtJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDM3IG1pc2MtdXRpbHMvY2FsLmM6NDQ1Cittc2dpZCAiaWxsZWdhbCBtb250aCB2YWx1ZTogdXNlIDEtMTIiCittc2dzdHIgInVneWxkaWcgbcOlbmVkc3bDpnJkaTogYnJ1ZyAxLTEyIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAidWtlbmR0IHByaW9yaXRldHNuYXZuOiAlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NDggbWlzYy11dGlscy9jYWwuYzo0NTIKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWUiCittc2dzdHIgInVneWxkaWcgw6Vyc3bDpnJkaSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NTAKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWU6IHVzZSBwb3NpdGl2ZSBpbnRlZ2VyIgorbXNnc3RyICJ1Z3lsZGlnIMOlcnN2w6ZyZGk6IGJydWcgcG9zaXRpdmUgaGVsdGFsIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4MiBtaXNjLXV0aWxzL2NhbC5jOjQ5NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHllYXIgJWQgZG9lc24ndCBoYXZlIHdlZWsgJWQiCittc2dzdHIgInVneWxkaWcgdWdldsOmcmRpOiDDpXIgJWQgaGFyIGlra2UgdWdlICVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyIKK21zZ3N0ciAiJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6Njg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiUwNGQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo2OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICUwNGQiCittc2dzdHIgIiVzICVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtbW2RheV0gbW9udGhdIHllYXJdXG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gW1tbZGFnXSBtw6VuZWRdIMOlcl1cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHRpbWVzdGFtcHxtb250aG5hbWU+XG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gPGZpbG5hdm4+XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk3Cittc2dpZCAiRGlzcGxheSBhIGNhbGVuZGFyLCBvciBzb21lIHBhcnQgb2YgaXQuXG4iCittc2dzdHIgIlZpcyBlbiBrYWxlbmRlciwgZWxsZXIgbm9nZXQgYWYgZGVuLlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5OAorbXNnaWQgIldpdGhvdXQgYW55IGFyZ3VtZW50cywgZGlzcGxheSB0aGUgY3VycmVudCBtb250aC5cbiIKK21zZ3N0ciAiVWRlbiBub2dlbiBwYXJhbWV0cmUsIHZpcyBkZW4gYWt0dWVsbGUgbcOlbmVkLlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDEKK21zZ2lkICIgLTEsIC0tb25lICAgICAgICAgICAgIHNob3cgb25seSBhIHNpbmdsZSBtb250aCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC0xLCAtLW9uZSAgICAgICAgICAgICB2aXMga3VuIGVuIGVua2VsdCBtw6VuZWQgKHN0YW5kYXJkKVxuIgorCisjIHNwYW5uaW5nID0gb21rcmluZworIzogbWlzYy11dGlscy9jYWwuYzoxMDAyCittc2dpZCAiIC0zLCAtLXRocmVlICAgICAgICAgICBzaG93IHRocmVlIG1vbnRocyBzcGFubmluZyB0aGUgZGF0ZVxuIgorbXNnc3RyICIgLTMsIC0tdGhyZWUgICAgICAgICAgIHZpcyB0cmUgbcOlbmVkZXIgb21rcmluZyBkYXRvZW5cbiIKKworIyBzcGFubmluZyA9IG9ta3JpbmcKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbW9udGhzIDxudW0+ICAgIHNob3cgbnVtIG1vbnRocyBzdGFydGluZyB3aXRoIGRhdGUncyBtb250aFxuIgorbXNnc3RyICIgLTMsIC0tdGhyZWUgICAgICAgICAgIHZpcyB0cmUgbcOlbmVkZXIgb21rcmluZyBkYXRvZW5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA0CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zcGFuICAgICAgICAgICAgc3BhbiB0aGUgZGF0ZSB3aGVuIGRpc3BsYXlpbmcgbXVsdGlwbGUgbW9udGhzXG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgdmlzIGkgcsOlIHRpbHN0YW5kXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNQorbXNnaWQgIiAtcywgLS1zdW5kYXkgICAgICAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtcywgLS1zdW5kYXkgICAgICAgICAgU8O4bmRhZyBzb20gZsO4cnN0ZSBkYWcgaSB1Z2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNgorbXNnaWQgIiAtbSwgLS1tb25kYXkgICAgICAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtbSwgLS1tb25kYXkgICAgICAgICAgTWFuZGFnIHNvbSBmw7hyc3RlIGRhZyBpIHVnZW5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA3Cittc2dpZCAiIC1qLCAtLWp1bGlhbiAgICAgICAgICBvdXRwdXQgSnVsaWFuIGRhdGVzXG4iCittc2dzdHIgIiAtaiwgLS1qdWxpYW4gICAgICAgICAgdmlzIGRhdG9lciBtZWQganVsaWFuc2sga2FsZW5kZXJmb3JtYXRcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA4Cittc2dpZCAiIC15LCAtLXllYXIgICAgICAgICAgICBzaG93IHRoZSB3aG9sZSB5ZWFyXG4iCittc2dzdHIgIiAteSwgLS15ZWFyICAgICAgICAgICAgdmlzIGhlbGUgw6VyZXRcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA5CisjLCBmdXp6eQorbXNnaWQgIiAtWSwgLS10d2VsdmUgICAgICAgICAgc2hvdyB0aGUgbmV4dCB0d2VsdmUgbW9udGhzXG4iCittc2dzdHIgIiAteSwgLS15ZWFyICAgICAgICAgICAgdmlzIGhlbGUgw6VyZXRcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDEwCittc2dpZCAiIC13LCAtLXdlZWtbPTxudW0+XSAgICBzaG93IFVTIG9yIElTTy04NjAxIHdlZWsgbnVtYmVyc1xuIgorbXNnc3RyICIgLXcsIC0td2Vla1s9PG51bT5dICAgIHZpcyBVUyBlbGxlciBJU08tODYwMSB1Z2VudW1yZVxuIgorCisjIGRldCB2aWxsZSBub2sgdsOmcmUgbG9naXNrIGF0IGhhdmUgZGUgZGFuc2tlIGkgcGFyZW50ZXMsIG1lbnMgbsO4Z2xlb3JkZW5lIHN0w6VyIHVkZW5mb3IKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAxMQorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAgICAtLWNvbG9yWz08bsOlcj5dICAgZmFydmVsw6ZnIGJlc2tlZGVyIChhdXRvLCBhbHdheXMgKGFsdGlkKSBlbGxlciBuZXZlciAoYWxkcmlnKSlcbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbHVlPlxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHbDpnJkaT5cbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzozMgorbXNnaWQgIkZpbmQgYSBmaWxlc3lzdGVtIGJ5IGxhYmVsIG9yIFVVSUQuXG4iCittc2dzdHIgIkZpbmQgZXQgZmlsc3lzdGVtIGVmdGVyIGV0aWtldCBlbGxlciBVVUlELlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZXNvbHZlICclcyciCittc2dzdHIgImt1bm5lIGlra2Ugc2zDpSDCuyVzwqsgb3AiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjk5Cittc2dpZCAic291cmNlIGRldmljZSIKK21zZ3N0ciAia2lsZGVlbmhlZCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAwCittc2dpZCAibW91bnRwb2ludCIKK21zZ3N0ciAibW9udGVyaW5nc3B1bmt0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDEgbWlzYy11dGlscy9sc2Jsay5jOjE2MQorbXNnaWQgImZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAiZmlsc3lzdGVtdHlwZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAyCittc2dpZCAiYWxsIG1vdW50IG9wdGlvbnMiCittc2dzdHIgImFsbGUgbW9udGVyaW5nc3RpbHZhbGciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMworbXNnaWQgIlZGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICJWRlMtc3BlY2lmaWtrZSBtb250ZXJpbmdzdGlsdmFsZyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA0Cittc2dpZCAiRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiRlMtc3BlY2lmaWtrZSBtb250ZXJpbmdzdGlsdmFsZyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA1Cittc2dpZCAiZmlsZXN5c3RlbSBsYWJlbCIKK21zZ3N0ciAiZXRpa2V0IGZvciBmaWxzeXN0ZW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0Cittc2dpZCAiZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICJmaWxzeXN0ZW0tVVVJRCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA3Cittc2dpZCAicGFydGl0aW9uIGxhYmVsIgorbXNnc3RyICJwYXJ0aXRpb25zZXRpa2V0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDkgbWlzYy11dGlscy9sc2Jsay5jOjE2MAorbXNnaWQgIm1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgIm1ham9yOm1pbm9yLWVuaGVkc251bW1lciIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEwCittc2dpZCAiYWN0aW9uIGRldGVjdGVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiaGFuZGxpbmcgZGV0ZWt0ZXJldCBhZiAtLXBvbGwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMQorbXNnaWQgIm9sZCBtb3VudCBvcHRpb25zIHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiZ2FtbGUgbW9udGVyaW5nc3RpbHZhbGcgZ2VtdCBhZiAtLXBvbGwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMgorbXNnaWQgIm9sZCBtb3VudHBvaW50IHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiZ2FtbWVsdCBtb250ZXJpbmdzcHVua3QgZ2VtdCBhZiAtLXBvbGwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMworbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSIKK21zZ3N0ciAic3TDuHJyZWxzZSBww6UgZmlsc3lzdGVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTQKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgYXZhaWxhYmxlIgorbXNnc3RyICJ0aWxnw6ZuZ2VsaWcgc3TDuHJyZWxzZSBmb3IgZmlsc3lzdGVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTUKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgdXNlZCIKK21zZ3N0ciAiYnJ1Z3Qgc3TDuHJyZWxzZSBmb3IgZmlsc3lzdGVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTYKK21zZ2lkICJmaWxlc3lzdGVtIHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICJicnVndCBwcm9jZW50IGZvciBmaWxzeXN0ZW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNworbXNnaWQgImZpbGVzeXN0ZW0gcm9vdCIKK21zZ3N0ciAicm9vdCBmb3IgZmlsc3lzdGVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTgKK21zZ2lkICJ0YXNrIElEIgorbXNnc3RyICJvcGdhdmUtaWQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOQorbXNnaWQgIm1vdW50IElEIgorbXNnc3RyICJtb250ZXJpbmdzLWlkIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAKK21zZ2lkICJvcHRpb25hbCBtb3VudCBmaWVsZHMiCittc2dzdHIgInZhbGdmcmllIG1vbnRlcmluZ3NmZWx0ZXIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMQorbXNnaWQgIlZGUyBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiVkZTLXByb3BhZ2F0aW9uc2ZsYWciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMgorbXNnaWQgImR1bXAoOCkgcGVyaW9kIGluIGRheXMgW2ZzdGFiIG9ubHldIgorbXNnc3RyICJkdW1wKDgpLXBlcmlvZGUgaSBkYWdlIFtrdW4gZnN0YWJdIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMKK21zZ2lkICJwYXNzIG51bWJlciBvbiBwYXJhbGxlbCBmc2NrKDgpIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiYW50YWwgZ2VubmVtbMO4YiBww6UgcGFyYWxsZWwgZnNjayg4KSBba3VuIGZzdGFiXSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYWN0aW9uOiAlcyIKK21zZ3N0ciAidWtlbmR0IGhhbmRsaW5nOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQzCittc2dpZCAibW91bnQiCittc2dzdHIgIm1vbnRlciIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ2Cittc2dpZCAidW1vdW50IgorbXNnc3RyICJhZm1vbnRlciIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ5Cittc2dpZCAicmVtb3VudCIKK21zZ3N0ciAiZ2VubW9udGVyIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTIKK21zZ2lkICJtb3ZlIgorbXNnc3RyICJmbHl0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA3NSBzeXMtdXRpbHMvZWplY3QuYzo3MTkKKyM6IHN5cy11dGlscy9tb3VudC5jOjY2OQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmxlIgorbXNnc3RyICJrdW5uZSBpa2tlIGluaXRpYWxpc2VyZSBsaWJtb3VudC10YWJlbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODM5IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgJXMiCittc2dzdHIgImthbiBpa2tlIGzDpnNlICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDE1IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODEKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo5NCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDgyCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTg3IHN5cy11dGlscy9tb3VudC5jOjEzNCBzeXMtdXRpbHMvbW91bnQuYzoxODIKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6NTYgc3lzLXV0aWxzL3N3YXBvZmYuYzoxNTUgc3lzLXV0aWxzL3N3YXBvbi5jOjI0NAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI3NCBzeXMtdXRpbHMvc3dhcG9uLmM6NzMzIHN5cy11dGlscy91bW91bnQuYzoyNzQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIKK21zZ3N0ciAia3VubmUgaWtrZSBpbml0aWFsaXNlcmUgbGlibW91bnQtaXRlcmF0b3IiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODcKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJkaWZmIgorbXNnc3RyICJrdW5uZSBpa2tlIGluaXRpYWxpc2VyZSBsaWJtb3VudC10YWJlbGZvcnNrZWwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMTUKK21zZ2lkICJwb2xsKCkgZmFpbGVkIgorbXNnc3RyICJwb2xsKCkgbWlzbHlra2VkZXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gfCA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZSA8ZGV2aWNlPl0gWy0tdGFyZ2V0IDxwYXRoPiB8IC0tbW91bnRwb2ludCA8ZGlyPl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFt0aWx2YWxnXVxuIgorIiAlMSRzIFt0aWx2YWxnXSA8ZW5oZWQ+IHwgPG1vbnRlcmluZ3NwdW5rdD5cbiIKKyIgJTEkcyBbdGlsdmFsZ10gPGVuaGVkPiA8bW9udGVyaW5nc3B1bmt0PlxuIgorIiAlMSRzIFt0aWx2YWxnXSBbLS1zb3VyY2UgPGVuaGVkPl0gWy0tdGFyZ2V0IDxtb250ZXJpbmdzcHVua3Q+XVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk2Cittc2dpZCAiRmluZCBhIChtb3VudGVkKSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJGaW5kIGV0IChtb250ZXJldCkgZmlsc3lzdGVtLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk5Cittc2dpZCAiIC1zLCAtLWZzdGFiICAgICAgICAgICAgc2VhcmNoIGluIHN0YXRpYyB0YWJsZSBvZiBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzw7hnIGkgc3RhdGlzayB0YWJlbCBmb3IgZmlsc3lzdGVtZXJuZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAwCittc2dpZCAiIC1tLCAtLW10YWIgICAgICAgICAgICAgc2VhcmNoIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1tLCAtLW10YWIgICAgICAgICAgICAgc8O4ZyBpIHRhYmVsbGVuIGZvciBtb250ZXJlZGUgZmlsc3lzdGVtZXJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMQorbXNnaWQgIiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICBzZWFyY2ggaW4ga2VybmVsIHRhYmxlIG9mIG1vdW50ZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzeXN0ZW1zIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgc8O4ZyBpIGtlcm5ldGFiZWxsZW4gZm9yIG1vbnRlcmVkZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsc3lzdGVtZXIgKHN0YW5kYXJkKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA0Cittc2dpZCAiIC1wLCAtLXBvbGxbPTxsaXN0Pl0gICAgbW9uaXRvciBjaGFuZ2VzIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1wLCAtLXBvbGxbPTxsaXN0ZT5dICAgb3ZlcnbDpWcgw6ZuZHJpbmdlciBpIHRhYmVsbGVuIGZvciBtb250ZXJlZGUgZmlsc3lzdGVtZXJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNQorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxudW0+ICAgIHVwcGVyIGxpbWl0IGluIG1pbGxpc2Vjb25kcyB0aGF0IC0tcG9sbCB3aWxsIGJsb2NrXG4iCittc2dzdHIgIiAtdywgLS10aW1lb3V0IDxhbnRhbD4gIMO4dnJlIGJlZ3LDpm5pbmcgaSBtaWxsaXNla3VuZGVyIHNvbSAtLXBvbGwgdmlsIGJsb2tlcmVcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOAorbXNnaWQgIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGJ1aWx0LWluIGZpbHRlcnMsIHByaW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkZWFrdGl2ZXIgYWxsZSBpbmRieWdnZWRlIGZpbHRyZSwgdWRza3JpdiBhbGxlIGZpbHN5c3RlbWVyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDkKK21zZ2lkICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgQVNDSUkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorbXNnc3RyICIgLWEsIC0tYXNjaWkgICAgICAgICAgICBicnVnIEFTQ0lJLXRlZ24gZm9yIHRyw6ZpbmZvcm1hdGlvblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEwCittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgdmlzIHN0w7hycmVsc2VyIGkgYnl0ZSBmcmVtIGZvciBpIGV0IGzDpnNldmVubGlndCBmb3JtYXRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMQorbXNnaWQgIiAtQywgLS1ub2Nhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSB3aGVuIGNvbXBhcmluZyBwYXRoc1xuIgorbXNnc3RyICIgLUMsIC0tbm9jYW5vbmljYWxpemUgICBrYW5vbmlzZXIgaWtrZSBuw6VyIHN0aWVyIHNhbW1lbmxpZ25lc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEyCittc2dpZCAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKK21zZ3N0ciAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAga2Fub25pc2VyIHZpc3RlIHN0aWVyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTMKK21zZ2lkICIgLUQsIC0tZGYgICAgICAgICAgICAgICBpbWl0YXRlIHRoZSBvdXRwdXQgb2YgZGYoMSlcbiIKK21zZ3N0ciAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGVyIHJlc3VsdGF0ZXQgYWYgZGYoMSlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNAorbXNnaWQgIiAtZCwgLS1kaXJlY3Rpb24gPHdvcmQ+IGRpcmVjdGlvbiBvZiBzZWFyY2gsICdmb3J3YXJkJyBvciAnYmFja3dhcmQnXG4iCittc2dzdHIgIiAtZCwgLS1kaXJlY3Rpb24gPG9yZD4gIHJldG5pbmcgZm9yIHPDuGcsIMK7ZnJlbWFkwqsgZWxsZXIgwrtiYWdsw6Zuc8KrXG4iCisKKyMgc2thbCBMQUJFTCBldGMuIG92ZXJzw6Z0dGVzIGhlcj8KKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTUKK21zZ2lkICIiCisiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgY29udmVydCB0YWdzIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkZXZpY2UgbmFtZXNcbiIKK21zZ3N0ciAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGtvbnZlcnRlciBtw6Zya2VyIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB0aWwgZW5oZWRzbmF2bmVcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNworbXNnaWQgIiAtRiwgLS10YWItZmlsZSA8cGF0aD4gIGFsdGVybmF0aXZlIGZpbGUgZm9yIC1zLCAtbSBvciAtayBvcHRpb25zXG4iCittc2dzdHIgIiAtIEYgLS10YWItZmlsZSA8c3RpPiAgIGFsdGVybmF0aXYgZmlsIGZvciB0aWx2YWxnZW5lIC1zLCAtbSBlbGxlciAta1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE4Cittc2dpZCAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIgorbXNnc3RyICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICB2aXMga3VuIGRldCBmw7hyc3QgZnVuZGV0IGZpbHN5c3RlbVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE5Cittc2dpZCAiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJ0IHRoZSBzZW5zZSBvZiBtYXRjaGluZ1xuIgorbXNnc3RyICIgLWksIC0taW52ZXJ0ICAgICAgICAgICB2ZW5kIGZvcm5lbW1lbHNlbiBmb3IgbWF0Y2ggb21cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDcgc3lzLXV0aWxzL2xzbnMuYzo2MTkKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICBicnVnIHLDpSB1ZGRhdGFmb3JtYXRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMSBzeXMtdXRpbHMvbHNucy5jOjYyMAorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgYnJ1ZyBsaXN0ZWZvcm1hdFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIyCittc2dpZCAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNlIGFsdGVybmF0aXZlIG5hbWVzcGFjZSAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIGZpbGUpXG4iCittc2dzdHIgIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIGJydWcgYWx0ZXJuYXRpdnQgbmF2bmVydW0gKC9wcm9jLzx0aWQ+L21vdW50aW5mbyBmaWxlKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIzCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgY29sdW1uIGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIHVkc2tyaXYgaWtrZSBrb2xvbm5lb3ZlcnNrcmlmdGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjQKK21zZ2lkICIgLU8sIC0tb3B0aW9ucyA8bGlzdD4gICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IG1vdW50IG9wdGlvbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW9wdGlvbnMgPGxpc3RlPiAgYmVncsOmbnMgc8OmdHRldCBmb3IgZmlsc3lzdGVtZXIgbWVkIG1vbnRlcmluZ3NpbmRzdGlsbGluZ2VyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjUKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICB0aGUgb3V0cHV0IGNvbHVtbnMgdG8gYmUgc2hvd25cbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8dmlzPiAgICAgcmVzdWx0YXRrb2xvbm5lLCBkZXIgc2thbCB2aXNlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI2Cittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVAsIC0tcGFpcnMgICAgICAgICAgICBicnVnIGtleVwidmFsdWVcIiByZXN1bHRhdGZvcm1hdFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI3Cittc2dpZCAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgcHJpbnQgYWxsIHN1Ym1vdW50cyBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgLVIsIC0tc3VibW91bnRzICAgICAgIHZpcyBhbGxlIHVuZGVybW9udGVyaW5nZXIgZm9yIGRlIG1hdGNoZW5kZSBmaWxzeXN0ZW1lclxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI4Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIGJydWcgcsOlIHVkZGF0YWZvcm1hdFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5Cittc2dpZCAiIgorIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorbXNnc3RyICIiCisiIC1TLCAtLXNvdXJjZSA8c3RyZW5nPiAgZW5oZWRlbiBhdCBtb250ZXJlIChlZnRlciBuYXZuLCBtYWo6bWluLCBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMQorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGFyZ2V0IDxwYXRoPiAgICB0aGUgcGF0aCB0byB0aGUgZmlsZXN5c3RlbSB0byB1c2VcbiIKK21zZ3N0ciAiIC1ULCAtLXRhcmdldCA8c3RyZW5nPiAgbW9udGVyaW5nc3B1bmt0ZXQgYXQgYnJ1Z2VcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMgorIywgZnV6enkKK21zZ2lkICIgLU0sIC0tbW91bnRwb2ludCA8ZGlyPiB0aGUgbW91bnRwb2ludCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1yLCAtLXJvb3RbPTxtYXBwZT5dICAgYW5naXYgcm9kbWFwcGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzMKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IEZTIHR5cGVzXG4iCittc2dzdHIgIiAtdCwgLS10eXBlcyA8bGlzdGU+ICAgICAgYmVncsOmbnMgc8OmdHRldCBhZiBmaWxzeXN0ZW1lciBlZnRlciBGUy10eXBlclxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM0Cittc2dpZCAiIC1VLCAtLXVuaXEgICAgICAgICAgICAgaWdub3JlIGZpbGVzeXN0ZW1zIHdpdGggZHVwbGljYXRlIHRhcmdldFxuIgorbXNnc3RyICIgLVUsIC0tdW5pcSAgICAgICAgICAgICBpZ25vcmVyIGZpbHN5c3RlbWVyIG1lZCBkdXBsaWthdGUgbcOlbFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM1IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMyBzeXMtdXRpbHMvbHNucy5jOjYyNQorbXNnaWQgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGRvbid0IHRydW5jYXRlIHRleHQgaW4gY29sdW1uc1xuIgorbXNnc3RyICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBmb3Jrb3J0IGlra2UgdGVrc3QgaSBrb2xvbm5lclxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM2Cittc2dpZCAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorbXNnc3RyICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICB2aXMgaWtrZSBbL2Rpcl0gZm9yIGJpbmQtIGVsbGVyIGJ0cmZzLW1vbnRlcmluZ2VyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzkKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXZlcmlmeSAgICAgICAgICAgdmVyaWZ5IG1vdW50IHRhYmxlIGNvbnRlbnQgKGRlZmF1bHQgaXMgZnN0YWIpXG4iCittc2dzdHIgIiAtMSwgLS1vbmUgICAgICAgICAgICAgdmlzIGt1biBlbiBlbmtlbHQgbcOlbmVkIChzdGFuZGFyZClcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0MAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgdmlzIHVkZHliZW5kZSBkYXRhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBkaXJlY3Rpb24gJyVzJyIKK21zZ3N0ciAidWtlbmR0IHJldG5pbmcgwrslc8KrIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDQwCittc2dpZCAiaW52YWxpZCBUSUQgYXJndW1lbnQiCittc2dzdHIgInVneWxkaWcgVElELXBhcmFtZXRlciIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUwOQorbXNnaWQgIi0tcG9sbCBhY2NlcHRzIG9ubHkgb25lIGZpbGUsIGJ1dCBtb3JlIHNwZWNpZmllZCBieSAtLXRhYi1maWxlIgorbXNnc3RyICItLXBvbGwgYWNjZXB0ZXJlciBrdW4gZW4gZmlsLCBtZW4geWRlcmxpZ2VyZSBzcGVjaWZpY2VyZXQgYWYgLS10YWItZmlsZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUxMworbXNnaWQgIm9wdGlvbnMgLS10YXJnZXQgYW5kIC0tc291cmNlIGNhbid0IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBjb21tYW5kIGxpbmUgZWxlbWVudCB0aGF0IGlzIG5vdCBhbiBvcHRpb24iCittc2dzdHIgInRpbHZhbGdlbmUgLS10YXJnZXQgb2cgLS1zb3VyY2Uga2FuIGlra2UgYnJ1Z2VzIHNhbW1lbiBtZWQga29tbWFuZG9saW5qZWVsZW1lbnQgc29tIGlra2UgZXIgZXQgdGlsdmFsZyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU2MgorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGNhY2hlIgorbXNnc3RyICJrdW5uZSBpa2tlIGluaXRpYWxpc2VyZSBsaWJtb3VudC1tZWxsZW1sYWdlciIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTYwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjb2x1bW4gaXMgcmVxdWVzdGVkLCBidXQgLS1wb2xsIGlzIG5vdCBlbmFibGVkIgorbXNnc3RyICIlcy1rb2xvbm5lIGVyIGFubW9kdCwgbWVuIC1wb2xsIGVyIGlra2UgYWt0aXZlcmV0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE2CisjLCBmdXp6eQorbXNnaWQgInRhcmdldCBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgImtpbGRlIHNwZWNpZmljZXJldCBtZXJlIGVuZCBlbiBnYW5nIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIG9yZGVyOiAlcyBzcGVjaWZpZWQgYmVmb3JlICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMzMKK21zZ2lkICJ1bmRlZmluZWQgdGFyZ2V0IChmc19maWxlKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1jYW5vbmljYWwgdGFyZ2V0IHBhdGggKHJlYWw6ICVzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgdGFyZ2V0OiAlbSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHRhcmdldDogJW0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MQorIywgZnV6enkKK21zZ2lkICJ0YXJnZXQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIlczogZXIgaWtrZSBlbiBtYXBwZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MworbXNnaWQgInRhcmdldCBleGlzdHMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHNvdXJjZTogJXM9JXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZTogJXM9JXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM9JXMgdHJhbnNsYXRlZCB0byAlcyIKK21zZ3N0ciAiJXM6ICVzIG1vbnRlcmV0IHDDpSAlcy5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5MAorbXNnaWQgInVuZGVmaW5lZCBzb3VyY2UgKGZzX3NwZWMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHNvdXJjZSB0YWc6ICVzIgorbXNnc3RyICJpa2tlIHVuZGVyc3TDuHR0ZXQgcGFyYW1ldGVyOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgc291cmNlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHNvdXJjZTogJXM6ICVtIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJpbmQgbW91bnQgc291cmNlICVzIGlzIGEgZGlyZWN0b3J5IG9yIHJlZ3VsYXIgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIgJXMgZXIgaWtrZSBlbiBibG9rZW5oZWQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBleGlzdHMiCittc2dzdHIgImtpbGRlZW5oZWQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlZGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiVkZTLXByb3BhZ2F0aW9uc2ZsYWciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICJwYXJ0aXRpb25lcjogJWQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzZXJzcGFjZSBvcHRpb25zOiAlcyIKK21zZ3N0ciAiUmVzc291cmNldGlsdmFsZzpcbiIKKworIyBldnQuIGZqZXJuZWxzZXNwb2xpdGlrLiBFbGxlcnMgbWlzZm9yc3TDpXMgZGV0IG5vayAoZmplcm4tcG9saXRpayB2YXIgZGVuIGbDuHIpCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzd2FwYXJlYSBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgImlra2UgdW5kZXJzdMO4dHRldCBmamVybmVsc2VzcG9saXRpazogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNjAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN3YXBhcmVhIHByaW9yaXR5IG9wdGlvbiIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBwcmlvcml0ZXQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIEZTIHR5cGUgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MDYKK21zZ2lkICJcIm5vbmVcIiBGUyB0eXBlIGlzIHJlY29tbWVuZGVkIGZvciBiaW5kIG9yIG1vdmUgb3ByYXRpb25zIG9ubHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICJDZC1yb20ta29tbWFuZG9lbiB2w6ZsZyBoYXN0aWdoZWQgZXIgaWtrZSB1bmRlcnN0w7h0dGV0IGFmIGRlbm5lIGtlcm5lIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIwIG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGRldGVjdCBvbi1kaXNrIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAidWtlbmR0IGZpbHN5c3RlbXR5cGUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgbWF0Y2ggd2l0aCBvbi1kaXNrICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9uLWRpc2sgJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICJDZC1yb20ta29tbWFuZG9lbiB2w6ZsZyBoYXN0aWdoZWQgZXIgaWtrZSB1bmRlcnN0w7h0dGV0IGFmIGRlbm5lIGtlcm5lIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyB0eXBlIGlzICVzIgorbXNnc3RyICJ0eXBlOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWNvbW1lbmRlZCByb290IEZTIHBhc3NubyBpcyAxIChjdXJyZW50IGlzICVkKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCBwYXJzZSBlcnJvciIKK21zZ2lkX3BsdXJhbCAiJWQgcGFyc2UgZXJyb3JzIgorbXNnc3RyWzBdICJmb3J0b2xrbmluZ3NmZWpsOiAlcyIKK21zZ3N0clsxXSAiZm9ydG9sa25pbmdzZmVqbDogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgZXJyb3IiCittc2dpZF9wbHVyYWwgIiwgJWQgZXJyb3JzIgorbXNnc3RyWzBdICIsIGZlamwiCittc2dzdHJbMV0gIiwgZmVqbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxNAorIywgYy1mb3JtYXQKK21zZ2lkICIsICVkIHdhcm5pbmciCittc2dpZF9wbHVyYWwgIiwgJWQgd2FybmluZ3MiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3MsIG5vIGVycm9ycyBvciB3YXJuaW5ncyBkZXRlY3RlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiQnJ1ZyDCuyVzIC0taGVscMKrIGZvciB5ZGVybGlnZXJlIGRldGFsamVyLlxuIgorCisjIEplZyBraWdnZWRlIHDDpSBoasOmbHBldWRza3JpZnRlbiBmb3IgcHJvZ3JhbW1ldCBnZXRvcHQsIG9nIGRldCBnYXYgaQorIyBodmVydGZhbGQgbWVuaW5nIHDDpSBkZW4gbcOlZGUuICBEZXQgZXIgZXQgcHJvZ3JhbSB0aWwgYXQgZm9ydG9sa2UKKyMga29tbWFuZG9saW5qZXBhcmFtZXRyZSwgc8OlIGRlcmZvciBlciBkZXQgbcOlc2tlIGZvcnZpcnJlbmRlIGFmIGRlbgorIyBncnVuZC4gIE1hbiBnaXZlciB0aWx2YWxnZXQgLS1sb25nIHRpbCBnZXRvcHQsIG9nIGRldCBhcmd1bWVudCBtYW4KKyMgYW5naXZlciB0aWwgLS1sb25nLCBmb3J0b2xrZXIgZGVuIHPDpSBzb20gZXQgbGFuZ3QgdGlsdmFsZyB0aWwgZGV0CisjIHByb2dyYW0sIGh2aXMga29tbWFuZG9saW5qZSBtYW4gYnJ1Z2VyIGdldG9wdCB0aWwgYXQgZm9ydG9sa2UuCisjIEZvcnZpcnJldD8gOikKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzA0Cittc2dpZCAiZW1wdHkgbG9uZyBvcHRpb24gYWZ0ZXIgLWwgb3IgLS1sb25nIGFyZ3VtZW50IgorbXNnc3RyICJ0b210IGxhbmd0IMKtdGlsdmFsZyBlZnRlciAtbCBlbGxlciBwYXJhbWV0ZXJlbiAtLWxvbmciCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzI1Cittc2dpZCAidW5rbm93biBzaGVsbCBhZnRlciAtcyBvciAtLXNoZWxsIGFyZ3VtZW50IgorbXNnc3RyICJ1a2VuZHQgc2thbCBlZnRlciAtcyBlbGxlciBwYXJhbWV0ZXJlbiAtLXNoZWxsIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLV0gPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIC1vfC0tb3B0aW9ucyA8b3B0c3RyaW5nPiBbb3B0aW9uc10gWy0tXSA8cGFyYW1ldGVycz5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIG9wdHN0cmluZy1wYXJhbWV0cmVcbiIKKyIgJTEkcyBbdGlsdmFsZ10gWy0tXSA8dGlsdmFsZ3NzdHJlbmc+IDxwYXJhbWV0cmU+XG4iCisiICUxJHMgW3RpbHZhbGddIC1vfC0tb3B0aW9ucyA8dGlsdmFsZ3NzdHJlbmc+IFt0aWx2YWxnXSBbLS1dIDxwYXJhbWV0cmU+XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzM4Cittc2dpZCAiUGFyc2UgY29tbWFuZCBvcHRpb25zLlxuIgorbXNnc3RyICJGb3J0b2xrIGtvbW1hbmRvdGlsdmFsZy5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDEKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAgYWxsb3cgbG9uZyBvcHRpb25zIHN0YXJ0aW5nIHdpdGggc2luZ2xlIC1cbiIKK21zZ3N0ciAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIHRpbGxhZCBsYW5nZSB0aWx2YWxnIG1lZCBlbmtlbHQgLVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MgorbXNnaWQgIiAtbCwgLS1sb25nb3B0aW9ucyA8bG9uZ29wdHM+ICB0aGUgbG9uZyBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIKK21zZ3N0ciAiIC1sLCAtLWxvbmdvcHRpb25zIDxsYW5ndGlsdmFsZz4gZGUgbGFuZ2UgdGlsdmFsZywgZGVyIHNrYWwgZ2Vua2VuZGVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQzCittc2dpZCAiIC1uLCAtLW5hbWUgPHByb2duYW1lPiAgICAgICAgIHRoZSBuYW1lIHVuZGVyIHdoaWNoIGVycm9ycyBhcmUgcmVwb3J0ZWRcbiIKK21zZ3N0ciAiIC1uLCAtLW5hbWUgPHByb2duYXZuPiAgICAgICAgIG5hdm5ldCBzb20gZmVqbCBza2FsIHJhcHBvcnRlcmVzIHVuZGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ0Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAgIHRoZSBzaG9ydCBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIKK21zZ3N0ciAiIC1vLCAtLW9wdGlvbnMgPHRpbHZhbGdzc3RyZW5nPiBkZSBrb3J0ZSB0aWx2YWxnLCBkZXIgc2thbCBnZW5rZW5kZXNcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDUKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBlcnJvciByZXBvcnRpbmcgYnkgZ2V0b3B0KDMpXG4iCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBkZWFrdGl2ZXIgZmVqbHJhcHBvcnRlcmluZyBmcmEgZ2V0b3B0KDMpXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ2Cittc2dpZCAiIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgIG5vIG5vcm1hbCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgIGluZ2VuIG5vcm1hbGUgdWRkYXRhXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ3Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgIHNldCBxdW90aW5nIGNvbnZlbnRpb25zIHRvIHRob3NlIG9mIDxzaGVsbD5cbiIKK21zZ3N0ciAiIC1zLCAtLXNoZWxsIDxza2FsPiAgICAgICAgICAgIGFuZ2l2IGFuZsO4cnNlbHN0ZWduc2tvbnZlbnRpb25lciBmb3IgPHNrYWw+XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ4Cittc2dpZCAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIHRlc3QgZm9yIGdldG9wdCgxKSB2ZXJzaW9uXG4iCittc2dzdHIgIiAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICBrb250cm9sbGVyIHZlcnNpb25lbiBhZiBnZXRvcHQoMSlcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDkKK21zZ2lkICIgLXUsIC0tdW5xdW90ZWQgICAgICAgICAgICAgICAgZG8gbm90IHF1b3RlIHRoZSBvdXRwdXRcbiIKK21zZ3N0ciAiIC11LCAtLXVucXVvdGVkICAgICAgICAgICAgICAgIGluZHNreWQgaWtrZSBhbmbDuHJzZWxzdGVnbiBpIHVkZGF0YVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM5OSBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1OQorbXNnaWQgIm1pc3Npbmcgb3B0c3RyaW5nIGFyZ3VtZW50IgorbXNnc3RyICJtYW5nbGVyIHRpbHZhbGdzc3RyZW5ncGFyYW1ldGVyIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1NAorbXNnaWQgImludGVybmFsIGVycm9yLCBjb250YWN0IHRoZSBhdXRob3IuIgorbXNnc3RyICJpbnRlcm4gZmVqbCwga29udGFrdCBwcm9ncmFtbcO4cmVuLiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsICVzOyB2YWxpZCBzaWduYWxzOiIKK21zZ3N0ciAidWtlbmR0IHNpZ25hbCAlczsgZ3lsZGlnZSBzaWduYWxlcjoiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwMgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwaWQ+fDxuYW1lPi4uLlxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIDxwaWR8bmF2bj4gLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwNQorbXNnaWQgIkZvcmNpYmx5IHRlcm1pbmF0ZSBhIHByb2Nlc3MuXG4iCittc2dzdHIgIlRlcm1pbmVyIG1lZCB0dmFuZyBlbiBwcm9jZXMuXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwOAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkbyBub3QgcmVzdHJpY3QgdGhlIG5hbWUtdG8tcGlkIGNvbnZlcnNpb24gdG8gcHJvY2Vzc2VzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIHRoZSBzYW1lIHVpZCBhcyB0aGUgcHJlc2VudCBwcm9jZXNzXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBiZWdyw6ZucyBpa2tlIG5hdm4gdGlsIHBpZC1rb252ZXJ0ZXJpbmdlbiB0aWwgcHJvY2Vzc2VyXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBtZWQgZGVuIHNhbW1lIHVpZCBzb20gZGVuIG51dsOmcmVuZGUgcHJvY2VzXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMAorbXNnaWQgIiAtcywgLS1zaWduYWwgPHNpZ25hbD4gIHNlbmQgdGhpcyA8c2lnbmFsPiBpbnN0ZWFkIG9mIFNJR1RFUk1cbiIKK21zZ3N0ciAiIC1zLCAtLXNpZ25hbCA8c2lnbmFsPiAgc2VuZCBkZXR0ZSA8c2lnbmFsPiBpIHN0ZWRldCBmb3IgU0lHVEVSTVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTIKK21zZ2lkICIgLXEsIC0tcXVldWUgPHZhbHVlPiAgICB1c2Ugc2lncXVldWUoMiksIG5vdCBraWxsKDIpLCBhbmQgcGFzcyA8dmFsdWU+IGFzIGRhdGFcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlIDx2w6ZyZGk+ICAgIGJydWcgc2lncXVldWUoMiksIGlra2Uga2lsbCgyKSwgb2cgdHJ5ayBww6UgPHbDpnJkaT4gc29tIGRhdGFcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE0Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgcHJpbnQgcGlkcyB3aXRob3V0IHNpZ25hbGluZyB0aGVtXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICAgICAgIHZpcyBwaWQnZXIgdWRlbiBhdCBzaWduYWxlcmUgdGlsIGRlbVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTUKK21zZ2lkICIgLWwsIC0tbGlzdFs9PHNpZ25hbD5dICBsaXN0IHNpZ25hbCBuYW1lcywgb3IgY29udmVydCBhIHNpZ25hbCBudW1iZXIgdG8gYSBuYW1lXG4iCittc2dzdHIgIiAtbCwgLS1saXN0Wz08c2lnbmFsPl0gIHZpcyBzaWduYWxuYXZuZSBlbGxlciBrb252ZXJ0ZXIgZXQgc2lnbmFsbnVtbWVyIHRpbCBldCBuYXZuXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNgorbXNnaWQgIiAtTCwgLS10YWJsZSAgICAgICAgICAgIGxpc3Qgc2lnbmFsIG5hbWVzIGFuZCBudW1iZXJzXG4iCittc2dzdHIgIiAtTCwgLS10YWJsZSAgICAgICAgICAgIHZpcyBzaWduYWxuYXZuZSBvZyBudW1yZVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTcKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBwaWRzIHRoYXQgd2lsbCBiZSBzaWduYWxlZFxuIgorbXNnc3RyICIgICAgIC0tdmVyYm9zZSAgICAgICAgICB2aXMgcGlkJ2VyIHNvbSBibGl2ZXIgc2lnbmFsZXJldFxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozNjcgbWlzYy11dGlscy9raWxsLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsOiAlcyIKK21zZ3N0ciAidWtlbmR0IHNpZ25hbDogJXMiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM4NyBtaXNjLXV0aWxzL2tpbGwuYzozOTAgbWlzYy11dGlscy9raWxsLmM6Mzk5CisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MTEgbWlzYy11dGlscy9raWxsLmM6NDM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIlcyBvZyAlcyB1ZGVsdWtrZXIgaGluYW5kZW4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM5NiBtaXNjLXV0aWxzL2tpbGwuYzo0MzggbWlzYy11dGlscy9yZW5hbWUuYzoxNzQKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc4OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc5OAorbXNnaWQgIm5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJpa2tlIG5vayBwYXJhbWV0cmUiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQwOQorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAidGlsdmFsZyDCuyVzwqsga3LDpnZlciBlbiBwYXJhbWV0ZXIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQxNCBzeXMtdXRpbHMvZWplY3QuYzoyMDUgc3lzLXV0aWxzL2VqZWN0LmM6MjMwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY4OSBzeXMtdXRpbHMvdHVuZWxwLmM6MTYxIHN5cy11dGlscy90dW5lbHAuYzoxNjgKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxNzUgc3lzLXV0aWxzL3R1bmVscC5jOjE4MiBzeXMtdXRpbHMvdHVuZWxwLmM6MTg5CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTk1IHN5cy11dGlscy90dW5lbHAuYzoxOTkgc3lzLXV0aWxzL3R1bmVscC5jOjIwNgorIzogc3lzLXV0aWxzL3R1bmVscC5jOjIzMSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTMgdGVybS11dGlscy9zZXR0ZXJtLmM6MjE2CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzUgdGVybS11dGlscy9zZXR0ZXJtLmM6MjM3IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3MgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mjc0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5MSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTgKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMwMCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTIgdGVybS11dGlscy9zZXR0ZXJtLmM6MzE0CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjMgdGVybS11dGlscy9zZXR0ZXJtLmM6MzMxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0NgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM2MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM3MyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1MzUgdGVybS11dGlscy9zZXR0ZXJtLmM6NTQwCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDUgdGVybS11dGlscy9zZXR0ZXJtLmM6NTUwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU3NAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTc5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODkKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTkgdGVybS11dGlscy9zZXR0ZXJtLmM6NjA3CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2NDAKK21zZ2lkICJhcmd1bWVudCBlcnJvciIKK21zZ3N0ciAicGFyYW1ldGVyZmVqbCIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2lnbmFsIG5hbWUgb3IgbnVtYmVyOiAlcyIKK21zZ3N0ciAidWd5bGRpZ3Qgc2lnbmFsbmF2biBlbGxlciBudW1tZXI6ICVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgJWQgdG8gcGlkICVkXG4iCittc2dzdHIgInNlbmRlciBzaWduYWwgJWQgdGlsIHBpZCAlZFxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJrdW5uZSBpa2tlIHNlbmRlIHNpZ25hbCB0aWwgJXMiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjUwNworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCBwcm9jZXNzIFwiJXNcIiIKK21zZ3N0ciAia2FuIGlra2UgZmluZGUgcHJvY2VzIMK7JXPCqyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSBuYW1lOiAlcyIKK21zZ3N0ciAidWtlbmR0IGZhY2lsaXRldHNuYXZuOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAidWtlbmR0IHByaW9yaXRldHNuYXZuOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlbmxvZyAlczogcGF0aG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm9wZW5sb2cgJXM6IHN0aW5hdm4gZm9yIGxhbmd0IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI2NworIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgJXMiCittc2dzdHIgInNva2tlbDogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIG5hbWUgJXMgcG9ydCAlczogJXMiCittc2dzdHIgImt1bm5lIGlra2Ugc2zDpSBuYXZuZXQgJXMgZm9yIHBvcnQgJXMgb3A6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMyMworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY29ubmVjdCB0byAlcyBwb3J0ICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcmJpbmRlIHRpbCAlcyBwb3J0ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjM1MgorIywgYy1mb3JtYXQKK21zZ2lkICJtYXhpbXVtIGlucHV0IGxpbmVzICglZCkgZXhjZWVkZWQiCittc2dzdHIgIm1ha3NpbXVtIGZvciBpbmRkYXRhbGluamVyICglZCkgb3ZlcnNrcmVkZXQiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NDg3CisjLCBmdXp6eQorbXNnaWQgInNlbmQgbWVzc2FnZSBmYWlsZWQiCittc2dzdHIgIm9wcmV0dGVsc2UgYWYgYmVza2Vka8O4IG1pc2x5a2tlZGVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU1OAorIywgYy1mb3JtYXQKK21zZ2lkICJzdHJ1Y3R1cmVkIGRhdGEgSUQgJyVzJyBpcyBub3QgdW5pcXVlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tc2QtaWQgd2FzIG5vdCBzcGVjaWZpZWQgZm9yIC0tc2QtcGFyYW0gJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NTQKK21zZ2lkICJsb2NhbHRpbWUoKSBmYWlsZWQiCittc2dzdHIgImxvY2FsdGltZSgpIG1pc2x5a2tlZGVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc2NAorIywgYy1mb3JtYXQKK21zZ2lkICJob3N0bmFtZSAnJXMnIGlzIHRvbyBsb25nIgorbXNnc3RyICJ2w6ZydHNuYXZuIMK7JXPCqyBlciBmb3IgbGFuZ3QiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzcwCisjLCBjLWZvcm1hdAorbXNnaWQgInRhZyAnJXMnIGlzIHRvbyBsb25nIgorbXNnc3RyICJtw6Zya2Ugwrslc8KrIGVyIGZvciBsYW5ndCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdW5rbm93biBvcHRpb24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICJpZ25vcmVyZXIgdWtlbmR0IHRpbHZhbGdzcGFyYW1ldGVyOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzOiB1c2luZyBhdXRvbWF0aWMgZXJyb3JzIgorbXNnc3RyICJ1Z3lsZGlnIHBhcmFtZXRlciBmb3IgdGlsdmFsZ2V0IC0tYXV0by8tYSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG1lc3NhZ2U+XVxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIFs8YmVza2VkPl1cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo5OTcKK21zZ2lkICJFbnRlciBtZXNzYWdlcyBpbnRvIHRoZSBzeXN0ZW0gbG9nLlxuIgorbXNnc3RyICJJbmR0YXN0IGJlc2tlZGVyIGkgc3lzdGVtbG9nZ2VuLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1pICAgICAgICAgICAgICAgICAgICAgICBsb2cgdGhlIGxvZ2dlciBjb21tYW5kJ3MgUElEXG4iCittc2dzdHIgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlzIGRlbm5lIGhqw6ZscGV0ZWtzdCBvZyBhZnNsdXRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgbG9nIHRoZSBnaXZlbiA8aWQ+LCBvciBvdGhlcndpc2UgdGhlIFBJRFxuIgorbXNnc3RyICIgLWksIC0taWRbPTxpZD59ICAgICAgICAgIGxvZyA8aWQ+IChzdGFuZGFyZCBlciBQSUQpXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMgorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgICAgbG9nIHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGVcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPGZpbD4gICAgICAgICBsb2cgaW5kaG9sZGV0IGFmIGRlbm5lIGZpbFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1lLCAtLXNraXAtZW1wdHkgICAgICAgICBkbyBub3QgbG9nIGVtcHR5IGxpbmVzIHdoZW4gcHJvY2Vzc2luZyBmaWxlc1xuIgorbXNnc3RyICIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAgc3DDuHJnIGlra2Ugb20gbG9naW5kXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm8tYWN0ICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSB3cml0ZSB0aGUgbG9nXG4iCittc2dzdHIgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIGfDuHIgYWx0IHVuZHRhZ2VuIGF0IHNrcml2ZSB0aWwgZW5oZWRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA1Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBtYXJrIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgbWFya2VyIGFuZ2l2bmUgYmVza2VkIG1lZCBkZW5uZSBwcmlvcml0ZXRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA2Cittc2dpZCAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICB1c2UgcmZjNjU4NyBvY3RldCBjb3VudGluZ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNworbXNnaWQgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAgbG9vayBmb3IgYSBwcmVmaXggb24gZXZlcnkgbGluZSByZWFkIGZyb20gc3RkaW5cbiIKK21zZ3N0ciAiICAgICAtLXByaW8tcHJlZml4ICAgICAgICBraWcgZWZ0ZXIgZXQgcHLDpmZpa3MgcMOlIGh2ZXIgbMOmc3QgbGluamUgZnJhIHN0YW5kYXJkaW5kXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwOAorbXNnaWQgIiAtcywgLS1zdGRlcnIgICAgICAgICAgICAgb3V0cHV0IG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IgYXMgd2VsbFxuIgorbXNnc3RyICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIHZpcyBvZ3PDpSBiZXNrZWQgcMOlIHN0YW5kYXJkZmVqbFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDkKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICBtYXhpbXVtIHNpemUgZm9yIGEgc2luZ2xlIG1lc3NhZ2VcbiIKK21zZ3N0ciAiIC1zLCAtLXNpemUgPHN0w7hycmVsc2U+ICAgIGVuaGVkc3TDuHJyZWxzZVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTAKK21zZ2lkICIgLXQsIC0tdGFnIDx0YWc+ICAgICAgICAgIG1hcmsgZXZlcnkgbGluZSB3aXRoIHRoaXMgdGFnXG4iCittc2dzdHIgIiAtdCwgLS10YWcgPG3DpnJrZT4gICAgICAgIG1hcmtlciBodmVyIGxpbmplIG1lZCBkZXR0ZSBtw6Zya2VcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDExCittc2dpZCAiIC1uLCAtLXNlcnZlciA8bmFtZT4gICAgICB3cml0ZSB0byB0aGlzIHJlbW90ZSBzeXNsb2cgc2VydmVyXG4iCittc2dzdHIgIiAtbiwgLS1zZXJ2ZXIgPG5hdm4+ICAgICAgc2tyaXYgdGlsIGRlbm5lIGVrc3Rlcm5lIHN5c2xvZy1zZXJ2ZXJcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEyCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wb3J0IDxwb3J0PiAgICAgICAgdXNlIHRoaXMgcG9ydCBmb3IgVURQIG9yIFRDUCBjb25uZWN0aW9uXG4iCittc2dzdHIgIiAtUCwgLS1wb3J0IDxudW1tZXI+ICAgICAgYnJ1ZyBkZW5uZSBVRFAtcG9ydFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTMKK21zZ2lkICIgLVQsIC0tdGNwICAgICAgICAgICAgICAgIHVzZSBUQ1Agb25seVxuIgorbXNnc3RyICIgLVQsIC0tdGNwICAgICAgICAgICAgICAgIGJydWcga3VuIFRDUFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTQKK21zZ2lkICIgLWQsIC0tdWRwICAgICAgICAgICAgICAgIHVzZSBVRFAgb25seVxuIgorbXNnc3RyICIgLWQsIC0tdWRwICAgICAgICAgICAgICAgIGJydWcga3VuIFVEUFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTUKK21zZ2lkICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIHVzZSB0aGUgb2Jzb2xldGUgQlNEIHN5c2xvZyBwcm90b2NvbFxuIgorbXNnc3RyICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIGJydWcgZGVuIGZvcsOmbGRlZGUgQlNELXN5c2xvZ3Byb3Rva29sXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNgorIywgZnV6enkKK21zZ2lkICIiCisiICAgICAtLXJmYzU0MjRbPTxzbmlwPl0gICB1c2UgdGhlIHN5c2xvZyBwcm90b2NvbCAodGhlIGRlZmF1bHQgZm9yIHJlbW90ZSk7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiBjYW4gYmUgbm90aW1lLCBvciBub3RxLCBhbmQvb3Igbm9ob3N0XG4iCittc2dzdHIgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIGJydWcgc3lzbG9ncHJvdG9rb2xsZW4gKHN0YW5kYXJkZW4pO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c25pcD4ga2FuIHbDpnJlIG5vdGltZSwgZWxsZXIgbm90cSwgb2cvZWxsZXIgbm9ob3N0XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxOAorbXNnaWQgIiAgICAgLS1zZC1pZCA8aWQ+ICAgICAgICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgSURcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTkKK21zZ2lkICIgICAgIC0tc2QtcGFyYW0gPGRhdGE+ICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIG5hbWU9dmFsdWVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW1zZ2lkIDxtc2dpZD4gICAgICBzZXQgcmZjNTQyNCBtZXNzYWdlIGlkIGZpZWxkXG4iCittc2dzdHIgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgYW5naXYgcmVlbCBnaWRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDIxCittc2dpZCAiIC11LCAtLXNvY2tldCA8c29ja2V0PiAgICB3cml0ZSB0byB0aGlzIFVuaXggc29ja2V0XG4iCittc2dzdHIgIiAtdSwgLS1zb2NrZXQgPHNva2tlbD4gICAgc2tyaXYgdGlsIGRlbm5lIFVuaXgtc29ra2VsXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMgorbXNnaWQgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50IGNvbm5lY3Rpb24gZXJyb3JzIHdoZW4gdXNpbmcgVW5peCBzb2NrZXRzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDI1Cittc2dpZCAiICAgICAtLWpvdXJuYWxkWz08ZmlsZT5dICB3cml0ZSBqb3VybmFsZCBlbnRyeVxuIgorbXNnc3RyICIgICAgIC0tam91cm5hbGRbPTxmaWw+XSAgIHNrcml2IGpvdXJuYWxkLXBvc3RcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGUgJXMiCittc2dzdHIgImZpbCAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTI3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGlkIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIGlkIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1lc3NhZ2Ugc2l6ZSIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBzdMO4cnJlbHNlIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODAKK21zZ2lkICItLW1zZ2lkIGNhbm5vdCBjb250YWluIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgSUQ6ICclcyciCittc2dzdHIgInVneWxkaWcgcGFyYW1ldGVyOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBwYXJhbWV0ZXI6ICclcyciCittc2dzdHIgInVneWxkaWcgcGFyYW1ldGVyIGZvciB0aWRzdWRsw7hiOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjE4Cittc2dpZCAiLS1maWxlIDxmaWxlPiBhbmQgPG1lc3NhZ2U+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIG1lc3NhZ2UgaXMgaWdub3JlZCIKK21zZ3N0ciAiLS1maWxlIDxmaWw+IG9nIDxiZXNrZWQ+IHVkZWx1a2tlciBoaW5hbmRlbiwgYmVza2VkZW4gYmxpdmVyIGlnbm9yZXJldCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjI1Cittc2dpZCAiam91cm5hbGQgZW50cnkgY291bGQgbm90IGJlIHdyaXR0ZW4iCittc2dzdHIgImpvdXJuYWxkLXBvc3Qga3VubmUgaWtrZSBza3JpdmVzIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8c3RyaW5nPiBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIDxzdHJlbmc+IFs8ZmlsPiAuLi5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM1OAorbXNnaWQgIkRpc3BsYXkgbGluZXMgYmVnaW5uaW5nIHdpdGggYSBzcGVjaWZpZWQgc3RyaW5nLlxuIgorbXNnc3RyICJWaXMgbGluamVyIGRlciBiZWd5bmRlciBtZWQgZW4gc3BlY2lmaWNlcmV0IHN0cmVuZy5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYxCittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICB1c2UgdGhlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICBicnVnIGRlbiBhbHRlcm5hdGl2ZSBvcmRib2dcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYyCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1hbHBoYW51bSAgICAgICAgICAgY29tcGFyZSBvbmx5IGJsYW5rcyBhbmQgYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBzYW1tZW5saWduIGt1biBhbGZhbnVtZXJpc2tlIHRlZ25cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYzCittc2dpZCAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorbXNnc3RyICIgLWYsIC0taWdub3JlLWNhc2UgICAgICAgIGlnbm9yZXIgZm9yc2tlbCBww6Ugc3RvcmUvc23DpSBib2dzdGF2ZXIgbsOlciBkZXIgc2FtbWVubGlnbmVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2NAorbXNnaWQgIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgZGVmaW5lIHRoZSBzdHJpbmctdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCittc2dzdHIgIiAtdCwgLS10ZXJtaW5hdGUgPHRlZ24+ICAgZGVmaW5lciBzdHJlbmctdGVybWluZXJpbmdzdGVnblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU3Cittc2dpZCAiZGV2aWNlIG5hbWUiCittc2dzdHIgImVuaGVkc25hdm4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTgKK21zZ2lkICJpbnRlcm5hbCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgImludGVybiBlbmhlZHNuYXZuIGZvciBrZXJuZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OQorbXNnaWQgImludGVybmFsIHBhcmVudCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgImludGVybiBlbmhlZHNuYXZuIGZvciBvdmVya2VybmUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIgc3lzLXV0aWxzL3pyYW1jdGwuYzo4NAorbXNnaWQgIndoZXJlIHRoZSBkZXZpY2UgaXMgbW91bnRlZCIKK21zZ3N0ciAiaHZvciBlbmhlZGVuIGVyIG1vbnRlcmV0IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzCittc2dpZCAiZmlsZXN5c3RlbSBMQUJFTCIKK21zZ3N0ciAiZmlsc3lzdGVtLUVUSUtFVCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NgorbXNnaWQgInBhcnRpdGlvbiB0eXBlIFVVSUQiCittc2dzdHIgInBhcnRpdGlvbnN0eXBlLVVVSUQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjcKK21zZ2lkICJwYXJ0aXRpb24gTEFCRUwiCittc2dzdHIgInBhcnRpdGlvbnMtRVRJS0VUIgorCisjIERldCBlciBub2sgaHZvciBsYW5ndCBkZW4gbMOmc2VyIGZvcnVkLCBkdnMuIGVuIHNsYWdzIGJ1ZmZlcnN0w7hycmVsc2UKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzEKK21zZ2lkICJyZWFkLWFoZWFkIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgInJlYWQtYWhlYWQgKGZyZW1hZGzDpnNuaW5nKSBmb3IgZW5oZWRlbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAic2tyaXZlYmVza3l0dGV0IGVuaGVkIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTczCittc2dpZCAicmVtb3ZhYmxlIGRldmljZSIKK21zZ3N0ciAiZmx5dGJhciBlbmhlZCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NAorbXNnaWQgInJlbW92YWJsZSBvciBob3RwbHVnIGRldmljZSAodXNiLCBwY21jaWEsIC4uLikiCittc2dzdHIgImVrc3Rlcm4gZW5oZWQgZWxsZXIgaG90cGx1Z2VuaGVkICh1c2IsIHBjbWNpYSAuLi4pIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc1Cittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgInJvdGF0aW9uc2VuaGVkIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc2Cittc2dpZCAiYWRkcyByYW5kb21uZXNzIgorbXNnc3RyICJ0aWxmw7hqZXIgdmlsa8OlcmxpZ2hlZCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NworbXNnaWQgImRldmljZSBpZGVudGlmaWVyIgorbXNnc3RyICJlbmhlZHNpZGVudGlmaWthdGlvbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OAorbXNnaWQgImRpc2sgc2VyaWFsIG51bWJlciIKK21zZ3N0ciAiZGlza2VucyBzZXJpZWxudW1tZXIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzkKK21zZ2lkICJzaXplIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgInN0w7hycmVsc2UgcMOlIGVuaGVkIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgwCittc2dpZCAic3RhdGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAic3RhdHVzIGZvciBlbmhlZCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MgorbXNnaWQgImdyb3VwIG5hbWUiCittc2dzdHIgImdydXBwZW5hdm4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODMKK21zZ2lkICJkZXZpY2Ugbm9kZSBwZXJtaXNzaW9ucyIKK21zZ3N0ciAicmV0dGlnaGVkZXIgZm9yIGVuaGVkc2tudWRlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg0Cittc2dpZCAiYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAianVzdGVyaW5nc2ZvcnNreWRuaW5nIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg1Cittc2dpZCAibWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAibWluaW1hbCBJL08tc3TDuHJyZWxzZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NgorbXNnaWQgIm9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgIm9wdGltYWwgSS9PLXN0w7hycmVsc2UiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODcKK21zZ2lkICJwaHlzaWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAiZnlzaXNrIGJsb2tzdMO4cnJlbHNlIChzZWt0b3JzdMO4cnJlbHNlKSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OAorbXNnaWQgImxvZ2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgImxvZ2lzayBibG9rc3TDuHJyZWxzZSAoc2VrdG9yc3TDuHJyZWxzZSkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODkKK21zZ2lkICJJL08gc2NoZWR1bGVyIG5hbWUiCittc2dzdHIgIkkvTy1wbGFubMOmZ25pbmdzbmF2biIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MAorbXNnaWQgInJlcXVlc3QgcXVldWUgc2l6ZSIKK21zZ3N0ciAiYW5tb2Qgb20ga8O4c3TDuHJyZWxzZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MQorbXNnaWQgImRldmljZSB0eXBlIgorbXNnc3RyICJlbmhlZHN0eXBlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkyCittc2dpZCAiZGlzY2FyZCBhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICJmamVybiBqdXN0ZXJpbmdzZm9yc2t5ZG5pbmciCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMKK21zZ2lkICJkaXNjYXJkIGdyYW51bGFyaXR5IgorbXNnc3RyICJmamVybiBrb3JuZXRoZWQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTQKK21zZ2lkICJkaXNjYXJkIG1heCBieXRlcyIKK21zZ3N0ciAiZmplcm4gbWFrcy4gYnl0ZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NQorbXNnaWQgImRpc2NhcmQgemVyb2VzIGRhdGEiCittc2dzdHIgImZqZXJuIG51bGRhdGEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTYKK21zZ2lkICJ3cml0ZSBzYW1lIG1heCBieXRlcyIKK21zZ3N0ciAic2tyaXYgc2FtbWUgbWFrcy4gYnl0ZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NworbXNnaWQgInVuaXF1ZSBzdG9yYWdlIGlkZW50aWZpZXIiCittc2dzdHIgInVuaWsgbGFnZXJpZGVudGlmaWthdGlvbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OAorbXNnaWQgIkhvc3Q6Q2hhbm5lbDpUYXJnZXQ6THVuIGZvciBTQ1NJIgorbXNnc3RyICJIb3N0OkNoYW5uZWw6VGFyZ2V0Okx1biBmb3IgU0NTSSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OQorbXNnaWQgImRldmljZSB0cmFuc3BvcnQgdHlwZSIKK21zZ3N0ciAiZW5oZWRzdHJhbnNwb3J0dHlwZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMAorbXNnaWQgImRlLWR1cGxpY2F0ZWQgY2hhaW4gb2Ygc3Vic3lzdGVtcyIKK21zZ3N0ciAiZGUtZHVwbGlrZXJldCBrw6ZkZSBhZiB1bmRlcnN5c3RlbWVyIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAxCittc2dpZCAiZGV2aWNlIHJldmlzaW9uIgorbXNnc3RyICJlbmhlZHNyZXZpc2lvbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMgorbXNnaWQgImRldmljZSB2ZW5kb3IiCittc2dzdHIgImVuaGVkc2xldmVyYW5kw7hyIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTI3NgorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRldmljZSBkaXJlY3RvcnkgaW4gc3lzZnMiCittc2dzdHIgImt1bm5lIGlra2Ugw6VibmUgZW5oZWRzbWFwcGUgaSBzeXNmcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjb21wb3NlIHN5c2ZzIHBhdGgiCittc2dzdHIgIiVzOiBrdW5uZSBpa2tlIHNhbW1lbnPDpnR0ZSBzeXNmcy1zdGkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBsaW5rIgorbXNnc3RyICIlczoga3VubmUgaWtrZSBsw6ZzZSBoZW52aXNuaW5nIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIgorbXNnc3RyICIlczoga3VubmUgaWtrZSBpbmRoZW50ZSBzeXNmcy1uYXZuIgorCisjIEVuaGVkZXIgbGlnZ2VyIGkgL2Rldi4gIEYuZWtzLiAvZGV2L3NkYSwgL2Rldi9zZGExLCAvZGV2L3NkYTIsIC4uLgorIyBIZXIgcmVwcsOmc2VudGVyZXIgc2RhIGhlbGUgZGlza2VuIG1lbnMgc2RhMSBvZyBzZGEyIHJlcHLDpnNlbnRlcmVyCisjIHBhcnRpdGlvbmVyIGFmIGRlbi4gIEVuaGVkZXIgaGFyIG9nc8OlIG51bXJlLiAgTnVtbWVyZXQgcMOlIHNkYSBtw6UgdsOmcmUKKyMgaHZhZCBkZSBtZW5lciBtZWQgd2hvbGUtZGlzayBkZXZpY2UgbnVtYmVyLgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgd2hvbGUtZGlzayBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIlczoga3VubmUgaWtrZSBmaW5kZSBlbmhlZHNudW1tZXIgZm9yIGhlbGUgZGlza2VuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1MSBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1MyBtaXNjLXV0aWxzL2xzYmxrLmM6MTU3OAorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxpc3QgJyVzJyIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBsaXN0ZSDCuyVzwqsiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTU4CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGV4Y2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAibGlzdGVuIGZvciB1ZGVsdWtrZWRlIGVuaGVkZXIgZXIgZm9yIHN0b3IgKGJlZ3LDpm5zbmluZ2VuIGVyIHDDpSAlZCBlbmhlZGVyKSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgaW5jbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICJsaXN0ZW4gZm9yIGlua2x1ZGVyZWRlIGVuaGVkZXIgZXIgZm9yIHN0b3IgKGJlZ3LDpm5zbmluZ2VuIGVyIHDDpSAlZCBlbmhlZGVyKSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MTYgc3lzLXV0aWxzL3dkY3RsLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSBbPGVuaGVkPiAuLi5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjE5Cittc2dpZCAiTGlzdCBpbmZvcm1hdGlvbiBhYm91dCBibG9jayBkZXZpY2VzLlxuIgorbXNnc3RyICJWaXMgaW5mb3JtYXRpb24gb20gYmxva2VuaGVkZXIuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIyCittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICB2aXMgYWxsZSBlbmhlZGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI0Cittc2dpZCAiIC1kLCAtLW5vZGVwcyAgICAgICAgIGRvbid0IHByaW50IHNsYXZlcyBvciBob2xkZXJzXG4iCittc2dzdHIgIiAtZCwgLS1ub2RlcHMgICAgICAgICB1ZHNrcml2IGlra2Ugc2xhdmVyIGVsbGVyIGhvbGRlcmVcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjUKK21zZ2lkICIgLUQsIC0tZGlzY2FyZCAgICAgICAgcHJpbnQgZGlzY2FyZCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHZpcyBmdW5rdGlvbmVyIGZvciBmamVyblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNgorbXNnaWQgIiAtZSwgLS1leGNsdWRlIDxsaXN0PiBleGNsdWRlIGRldmljZXMgYnkgbWFqb3IgbnVtYmVyIChkZWZhdWx0OiBSQU0gZGlza3MpXG4iCittc2dzdHIgIiAtZSwgLS1leGNsdWRlIDx2aXM+ICBla3NrbHVkZXIgZW5oZWRlciBlZnRlciBtYWpvci1udW1tZXIgKHN0YW5kYXJkOiBSQU0tZGlza2UpXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI3Cittc2dpZCAiIC1mLCAtLWZzICAgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtZiwgLS1mcyAgICAgICAgICAgICB2aXMgaW5mb3JtYXRpb24gb20gZmlsc3lzdGVtZXJcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjgKK21zZ2lkICIgLWksIC0tYXNjaWkgICAgICAgICAgdXNlIGFzY2lpIGNoYXJhY3RlcnMgb25seVxuIgorbXNnc3RyICIgLWksIC0tYXNjaWkgICAgICAgICAgYnJ1ZyBrdW4gYXNjaWktdGVnblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyOQorbXNnaWQgIiAtSSwgLS1pbmNsdWRlIDxsaXN0PiBzaG93IG9ubHkgZGV2aWNlcyB3aXRoIHNwZWNpZmllZCBtYWpvciBudW1iZXJzXG4iCittc2dzdHIgIiAtSSwgLS1pbmNsdWRlIDx2aXM+ICB2aXMga3VuIGVuaGVkZXIgbWVkIGFuZ2l2bmUgbWFqb3ItbnVtcmVcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzAKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgIGJydWcgcsOlIHVkZGF0YWZvcm1hdFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICBicnVnIGxpc3RlZm9ybWF0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMyCittc2dpZCAiIC1tLCAtLXBlcm1zICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiAtbSwgLS1wZXJtcyAgICAgICAgICB2aXMgaW5mb3JtYXRpb24gb20gdGlsbGFkZWxzZXJcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIHVkc2tyaXYgaWtrZSB0ZWtzdGhvdmVkZXJcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzQKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8dmlzPiAgIHZpcyBrb2xvbm5lclxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNQorbXNnaWQgIiAtTywgLS1vdXRwdXQtYWxsICAgICBvdXRwdXQgYWxsIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1PLCAtLW91dHB1dC1hbGwgICAgIHZpcyBhbGxlIGtvbG9ubmVyXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM2Cittc2dpZCAiIC1wLCAtLXBhdGhzICAgICAgICAgIHByaW50IGNvbXBsZXRlIGRldmljZSBwYXRoXG4iCittc2dzdHIgIiAtcCwgLS1wYXRocyAgICAgICAgICB2aXMgZnVsZHN0w6ZuZGlnIGVuaGVkc3RpXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM5Cittc2dpZCAiIC1zLCAtLWludmVyc2UgICAgICAgIGludmVyc2UgZGVwZW5kZW5jaWVzXG4iCittc2dzdHIgIiAtcywgLS1pbnZlcnNlICAgICAgICBvbXZlbmR0ZSBhZmjDpm5naWdoZWRlclxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MAorbXNnaWQgIiAtUywgLS1zY3NpICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBTQ1NJIGRldmljZXNcbiIKK21zZ3N0ciAiIC1TLCAtLXNjc2kgICAgICAgICAgIHZpcyBpbmZvcm1hdGlvbiBvbSBTQ1NJLWVuaGVkZXJcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDEKK21zZ2lkICIgLXQsIC0tdG9wb2xvZ3kgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgdG9wb2xvZ3lcbiIKK21zZ3N0ciAiIC10LCAtLXRvcG9sb2d5ICAgICAgIHZpcyBpbmZvcm1hdGlvbiBvbSB0b3BvbG9naVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MgorbXNnaWQgIiAteCwgLS1zb3J0IDxjb2x1bW4+ICBzb3J0IG91dHB1dCBieSA8Y29sdW1uPlxuIgorbXNnc3RyICIgLXgsIC0tc29ydCA8a29sb25uZT4gc29ydGVyIHVkZGF0YSBlZnRlciA8a29sb25uZT5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDcgbWlzYy11dGlscy9sc2xvY2tzLmM6NTE5IHN5cy11dGlscy9sc25zLmM6NjMyCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE5NiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLW91dHB1dCk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJUaWxnw6ZuZ2VsaWdlIGtvbG9ubmVyIChmb3IgLS1vdXRwdXQpOlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWNjZXNzIHN5c2ZzIGRpcmVjdG9yeTogJXMiCittc2dzdHIgImt1bm5lIGlra2UgdGlsZ8OlIHN5c2ZzLW1hcHBlOiAlcyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzMKK21zZ2lkICJjb21tYW5kIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgImtvbW1hbmRvIGZvciBwcm9jZXNzZW4gc29tIGhvbGRlciBsw6VzZW4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc0Cittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIlBJRCBmb3IgcHJvY2Vzc2VuIHNvbSBob2xkZXIgbMOlc2VuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NQorbXNnaWQgImtpbmQgb2YgbG9jazogRkxfRkxPQ0sgb3IgRkxfUE9TSVguIgorbXNnc3RyICJodmlsa2VuIHNsYWdzIGzDpXM6IEZMX0ZMT0NLIGVsbGVyIEZMX1BPU0lYLiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzYKK21zZ2lkICJzaXplIG9mIHRoZSBsb2NrIgorbXNnc3RyICJzdMO4cnJlbHNlIHDDpSBsw6VzZW4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc3Cittc2dpZCAibG9jayBhY2Nlc3MgbW9kZSIKK21zZ3N0ciAiYWRnYW5nc3RpbHN0YW5kIGZvciBsw6VzIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OAorbXNnaWQgIm1hbmRhdG9yeSBzdGF0ZSBvZiB0aGUgbG9jazogMCAobm9uZSksIDEgKHNldCkiCittc2dzdHIgInR2dW5nZW4gdGlsc3RhbmQgZm9yIGzDpXNlbjogMCAoaW5nZW4pLCAxIChzYXQpIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OQorbXNnaWQgInJlbGF0aXZlIGJ5dGUgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICJyZWxhdGl2IGJ5dGVmb3Jza3lkbmluZyBmb3IgbMOlc2VuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MAorbXNnaWQgImVuZGluZyBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgInNsdXRmb3Jza3lkbmluZyBmb3IgbMOlc2VuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MQorbXNnaWQgInBhdGggb2YgdGhlIGxvY2tlZCBmaWxlIgorbXNnc3RyICJzdGkgZm9yIGRlbiBsw6VzdGUgZmlsIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MgorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBibG9ja2luZyB0aGUgbG9jayIKK21zZ3N0ciAiUElEIGZvciBwcm9jZXNzZW4gc29tIGhvbGRlciBsw6VzZW4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI1OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJRCIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBpZCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjgxIHN5cy11dGlscy9uc2VudGVyLmM6MjMyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBpZCIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBwaWQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4NAorbXNnaWQgIih1bmtub3duKSIKK21zZ3N0ciAiKHVrZW5kdCkiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI5MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGFydCIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBzdGFydCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzAwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVuZCIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBzbHV0IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDQKK21zZ2lkICJMaXN0IGxvY2FsIHN5c3RlbSBsb2Nrcy5cbiIKK21zZ3N0ciAiVmlzIGxva2FsZSBzeXN0ZW1sw6VzZS5cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA4Cittc2dpZCAiIC1pLCAtLW5vaW5hY2Nlc3NpYmxlICAgaWdub3JlIGxvY2tzIHdpdGhvdXQgcmVhZCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwOSBzeXMtdXRpbHMvbHNucy5jOjYyMQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgdWRza3JpdiBpa2tlIHRla3N0aG92ZWRlclxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTAgc3lzLXV0aWxzL2xzbnMuYzo2MjIKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDx2aXM+ICAgZGVmaW5lciBodmlsa2VuIHJlc3VsdGF0a29sb25uZSwgZGVyIHNrYWwgYnJ1Z2VzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMQorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBkaXNwbGF5IG9ubHkgbG9ja3MgaGVsZCBieSB0aGlzIHByb2Nlc3NcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8cGlkPi4uLiAgICAgcmVhZ2VyIHDDpSBkaXNzZSBhbGxlcmVkZSBrw7hyZW5kZSBwcm9jZXNzZXJcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTEyIHN5cy11dGlscy9sc25zLmM6NjI0CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgYnJ1ZyByw6UgdWRkYXRhZm9ybWF0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjU3MCBzY2hlZHV0aWxzL2NocnQuYzo0Nzggc2NoZWR1dGlscy9pb25pY2UuYzoxNzcKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE2MyBzeXMtdXRpbHMvbHNucy5jOjY5OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NgorbXNnaWQgImludmFsaWQgUElEIGFyZ3VtZW50IgorbXNnc3RyICJ1Z3lsZGlnIFBJRC1wYXJhbWV0ZXIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg1Cittc2dpZCAiR2VuZXJhdGUgbWFnaWMgY29va2llcyBmb3IgeGF1dGguXG4iCittc2dzdHIgIk9wcmV0IG1hZ2lza2UgY29va2llciBmb3IgeGF1dGguXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg4Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICB1c2UgZmlsZSBhcyBhIGNvb2tpZSBzZWVkXG4iCittc2dzdHIgIiAtZiwgLS1maWxlIDxmaWw+ICAgICAgYnJ1ZyBmaWwgc29tIGVuIGNvb2tpZSBzZWVkXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg5Cittc2dpZCAiIC1tLCAtLW1heC1zaXplIDxudW0+ICBsaW1pdCBob3cgbXVjaCBpcyByZWFkIGZyb20gc2VlZCBmaWxlc1xuIgorbXNnc3RyICIgLW0sIC0tbWF4LXNpemUgPGFudGFsPiBiZWdyw6ZucyBodm9yIG1lZ2V0IGRlciBsw6ZzZXMgZnJhIHNlZWRmaWxlclxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo5MAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICBmb3JrbGFyIGh2YWQgZGVyIHNrZXJcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlenUgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlenUgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICJGaWsgJXp1IGJ5dGUgZnJhICVzXG4iCittc2dzdHJbMV0gIkZpayAlenUgYnl0ZSBmcmEgJXNcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb3NpbmcgJXMgZmFpbGVkIgorbXNnc3RyICJsdWtuaW5nIGFmICVzIG1pc2x5a2tlZGVzIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNjQgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNDYgc3lzLXV0aWxzL2ZzdHJpbS5jOjMwOAorIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTE3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxlbmd0aCIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBsw6ZuZ2RlIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNzcKK21zZ2lkICItLW1heC1zaXplIGlnbm9yZWQgd2hlbiB1c2VkIHdpdGhvdXQgLS1maWxlIgorbXNnc3RyICItLW1heC1zaXplIGlnb25yZXJldCBuw6VyIGJydWcgdWRlbiAtLWZpbGUiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE4NQorIywgYy1mb3JtYXQKK21zZ2lkICJHb3QgJWQgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlZCBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIkZpayAlZCBieXRlIGZyYSAlc1xuIgorbXNnc3RyWzFdICJGaWsgJWQgYnl0ZSBmcmEgJXNcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjkwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHN5bWxpbms6ICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIGzDpnNlIHN5bWJvbHNrIGhlbnZpc25pbmc6ICVzIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIC0gTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeVxuIgorbXNnc3RyICIlcyAtIEluZ2VuIHPDpWRhbiBmaWwgZWxsZXIgbWFwcGVcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwYXRobmFtZT4uLi5cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSA8c3RpbmF2bj4gLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzYKK21zZ2lkICJGb2xsb3cgYSBwYXRobmFtZSB1bnRpbCBhIHRlcm1pbmFsIHBvaW50IGlzIGZvdW5kLlxuIgorbXNnc3RyICJGw7hsZyBldCBzdGluYXZuIGluZHRpbCBldCB0ZXJtaW5hbHB1bmt0IGZpbmRlcy5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzOQorbXNnaWQgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICBkaXNwbGF5cyB0aGlzIGhlbHAgdGV4dFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC14LCAtLW1vdW50cG9pbnRzICAgc2hvdyBtb3VudCBwb2ludCBkaXJlY3RvcmllcyB3aXRoIGEgJ0QnXG4iCisiIC1tLCAtLW1vZGVzICAgICAgICAgc2hvdyB0aGUgbW9kZSBiaXRzIG9mIGVhY2ggZmlsZVxuIgorIiAtbywgLS1vd25lcnMgICAgICAgIHNob3cgb3duZXIgYW5kIGdyb3VwIG5hbWUgb2YgZWFjaCBmaWxlXG4iCisiIC1sLCAtLWxvbmcgICAgICAgICAgdXNlIGEgbG9uZyBsaXN0aW5nIGZvcm1hdCAoLW0gLW8gLXYpIFxuIgorIiAtbiwgLS1ub3N5bWxpbmtzICAgIGRvbid0IGZvbGxvdyBzeW1saW5rc1xuIgorIiAtdiwgLS12ZXJ0aWNhbCAgICAgIHZlcnRpY2FsIGFsaWduIG9mIG1vZGVzIGFuZCBvd25lcnNcbiIKK21zZ3N0ciAiIgorIiAtaCwgLS1oZWxwICAgICAgICAgIHZpcyBkZW5uZSBoasOmbHBldGVrc3RcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICB2aXMgdmVyc2lvbnNpbmZvcm1hdGlvbiBvZyBhZnNsdXRcbiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICB2aXMgbW9udGVyaW5nc3B1bmt0c21hcHBlciBtZWQgZXQgwrtEwqtcbiIKKyIgLW0sIC0tbW9kZXMgICAgICAgICB2aXMgdGlsc3RhbmRzYml0dGVuZSBmb3IgaHZlciBmaWxcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICB2aXMgZWplci0gb2cgZ3J1cHBlbmF2biBmb3IgaHZlciBmaWxcbiIKKyIgLWwsIC0tbG9uZyAgICAgICAgICBicnVnIGV0IGxhbmd0IHZpc25pbmdzZm9ybWF0ICgtbSAtbyAtdikgXG4iCisiIC1uLCAtLW5vc3ltbGlua3MgICAgZsO4bGcgaWtrZSBzeW1ib2xza2UgaGVudmlzbmluZ2VyXG4iCisiIC12LCAtLXZlcnRpY2FsICAgICAgbG9kcmV0IGp1c3RlcmluZyBhZiB0aWxzdGFuZGUgb2cgZWplcmVcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQwOAorbXNnaWQgInBhdGhuYW1lIGFyZ3VtZW50IGlzIG1pc3NpbmciCittc2dzdHIgInBhcmFtZXRyZXQgdGlsIHN0aW5hdm4gbWFuZ2xlciIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNCBzeXMtdXRpbHMvbHNucy5jOjc2NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgVUlEIGNhY2hlIgorbXNnc3RyICJrdW5uZSBpa2tlIGFsbG9rZXJlIEdQVC10ZWtzdGhvdmVkIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHSUQgY2FjaGUiCittc2dzdHIgImt1bm5lIGlra2UgYWxsb2tlcmUgR1BULXRla3N0aG92ZWQiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4Y2VlZGVkIGxpbWl0IG9mIHN5bWxpbmtzIgorbXNnc3RyICIlczogT3ZlcnN0ZWcgYmVncsOmbnNuaW5nIHDDpSBzeW1ib2xza2UgaGVudmlzbmluZ2VyIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICIlczogZXIgaWtrZSBlbiBzeW1ib2xzayBoZW52aXNuaW5nIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkbGluayBmYWlsZWQiCittc2dzdHIgIiVzOiByZWFkbGluayBtaXNseWtrZWRlcyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5saW5rIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHVubGluayBtaXNseWtrZWRlcyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3ltbGlua2luZyB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBzeW1ib2xzayBoZW52aXNuaW5nIHRpbCAlcyBtaXNseWtrZWRlcyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlbmFtZSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBvbWTDuGJlbHNlIHRpbCAlcyBtaXNseWtrZWRlcyIKKworIyBqZWcgdmlsIHN0w6Zya3QgdHJvIGF0IG1hbiBza3JpdmVyIGV0IHJlZ3Vsw6ZydCB1ZHRyeWsgc2FtdCBub2dldCBkZXQKKyMgc2thbCBlcnN0YXR0ZXMgbWVkIG9nIHPDpSBlbiBlbGxlciBmbGVyZSBmaWxlcgorIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZXhwcmVzc2lvbj4gPHJlcGxhY2VtZW50PiA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSA8dWR0cnlrPiA8ZXJzdGF0bmluZz4gPGZpbD4gLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTIyCittc2dpZCAiUmVuYW1lIGZpbGVzLlxuIgorbXNnc3RyICJPbWTDuGIgZmlsZXIuXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTI1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgZm9ya2xhciBodmFkIGRlciBza2VyXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTI2Cittc2dpZCAiIC1zLCAtLXN5bWxpbmsgICAgYWN0IG9uIHRoZSB0YXJnZXQgb2Ygc3ltbGlua3NcbiIKK21zZ3N0ciAiIC1zLCAtLXN5bWxpbmsgICAgcmVhZ2VyIHDDpSBtw6VsZXQgZm9yIHN5bWJvbHNrZSBoZW52aXNuaW5nZXJcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcyCittc2dpZCAiQSBkYWVtb24gZm9yIGdlbmVyYXRpbmcgVVVJRHMuXG4iCittc2dzdHIgIkVuIGTDpm1vbiBmb3Igb3ByZXR0ZWxzZSBhZiBVVUlEJ2VyLlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKK21zZ3N0ciAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIGFuZ2l2IHBhcml0ZXQgdGlsIHVsaWdlXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKK21zZ3N0ciAiIC11LCAtLXNvY2tldCA8c29ra2VsPiAgICBza3JpdiB0aWwgZGVubmUgVW5peC1zb2trZWxcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc2CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10aW1lb3V0IDxzZWM+ICAgICBzcGVjaWZ5IGluYWN0aXZpdHkgdGltZW91dFxuIgorbXNnc3RyICIgLXQsIC0tdGltZW91dCA8bnVtbWVyPiAgICAgcHJvY2VzdGlkc3VkbMO4YiBmb3IgbG9naW5kXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NworIywgZnV6enkKK21zZ2lkICIgLWssIC0ta2lsbCAgICAgICAgICAgICAga2lsbCBydW5uaW5nIGRhZW1vblxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgYWZtb250ZXIgYWxsZSBmaWxzeXN0ZW1lclxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzgKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhbmRvbSAgICAgICAgICAgIHRlc3QgcmFuZG9tLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgIGJydWcgcsOlIHVkZGF0YWZvcm1hdFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAtdCwgLS10aW1lIDxtcz4gICAgICAgICAgICAgIHZlbnRldGlkIGZvciBkcml2ZXIgaSBtaWxsaXNla3VuZGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tdXVpZHMgPG51bT4gICAgICAgcmVxdWVzdCBudW1iZXIgb2YgdXVpZHNcbiIKK21zZ3N0ciAiIC1ILCAtLWhlYWRzIDxhbnRhbD4gICAgICAgICAgIGFuZ2l2IGhvdmVkYW50YWxcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgxCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1uby1waWQgICAgICAgICAgICBkbyBub3QgY3JlYXRlIHBpZCBmaWxlXG4iCittc2dzdHIgIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICB2aXMgaWtrZSBwcm9ibGVtc3RpbGxpbmdzZmlsXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MgorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorbXNnc3RyICIgLUYsIC0tbm8tZm9yayAgICAgICAgICBmb3JncmVuIGlra2UgZsO4ciBrw7hyc2VsIGFmIDxwcm9ncmFtPlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIGRvIG5vdCBjcmVhdGUgbGlzdGVuaW5nIHNvY2tldFxuIgorbXNnc3RyICJCw6VkZSAtLXNvY2tldC1hY3RpdmF0aW9uIG9nIC0tc29ja2V0IGFuZ2l2ZXQuIElnbm9yZXJlciAtLXNvY2tldC4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4NAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCittc2dzdHIgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICB2aXMgdWRkeWJlbmRlIGJlc2tlZGVyIHRpbCBzdGFuZGFyZGZlamxcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjg1CisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0dXJuIG9uIHF1aWV0IG1vZGVcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgdW5kZXJ0cnlrIGVrc3RyYSBpbmZvcm1hdGlvbnNiZXNrZWRlclxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTE4Cittc2dpZCAiYmFkIGFyZ3VtZW50cyIKK21zZ3N0ciAidWd5bGRpZ2UgcGFyYW1ldHJlIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTI1Cittc2dpZCAic29ja2V0IgorbXNnc3RyICJzb2trZWwiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMzYKK21zZ2lkICJjb25uZWN0IgorbXNnc3RyICJmb3JiaW5kIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTU2Cittc2dpZCAid3JpdGUiCittc2dzdHIgInNrcml2IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTY0Cittc2dpZCAicmVhZCBjb3VudCIKK21zZ3N0ciAibMOmcyBhbnRhbCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE3MAorbXNnaWQgImJhZCByZXNwb25zZSBsZW5ndGgiCittc2dzdHIgInVneWxkaWcgc3ZhcmzDpm5nZGUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGxvY2sgJXMiCittc2dzdHIgImt1bm5lIGlra2UgbMOlc2UgJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyNDYKK21zZ2lkICJjb3VsZG4ndCBjcmVhdGUgdW5peCBzdHJlYW0gc29ja2V0IgorbXNnc3RyICJrdW5uZSBpa2tlIG9wcmV0dGUgdW5peHN0csO4bXNva2tlbCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBiaW5kIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIGJpbmRlIHVuaXhzb2trZWwgJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyOTgKKyMsIGZ1enp5Cittc2dpZCAicmVjZWl2aW5nIHNpZ25hbCBmYWlsZWQiCittc2dzdHIgImt1bm5lIGlra2Ugc2VuZGUgc2lnbmFsIHRpbCAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjMxMQorIywgZnV6enkKK21zZ2lkICJ0aW1lZCBvdXQiCittc2dzdHIgIiIKKyJUaWRzdWRsw7hiXG4iCisiXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNDUgc3lzLXV0aWxzL2Zsb2NrLmM6MjcxCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgdXAgdGltZXIiCittc2dzdHIgImthbiBpa2tlIGFuZ2l2ZSBncnVwcGUtaWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidXVpZGQgZGFlbW9uIGlzIGFscmVhZHkgcnVubmluZyBhdCBwaWQgJXMiCittc2dzdHIgImTDpm1vbmVuIHV1aWRkIGvDuHJlciBhbGxlcmVkZSBww6UgcGlkICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGxpc3RlbiBvbiB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAia3VubmUgaWtrZSBseXR0ZSBww6UgdW5peHNva2tlbCAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgdHJ1bmNhdGUgZmlsZTogJXMiCittc2dzdHIgImt1bm5lIGlra2UgZm9ya29ydGUgZmlsOiAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4NgorIywgZnV6enkKK21zZ2lkICJzZF9saXN0ZW5fZmRzKCkgZmFpbGVkIgorbXNnc3RyICJzZXR0aW1lb2ZkYXkoKSBtaXNseWtrZWRlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4OQorbXNnaWQgIm5vIGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHN5c3RlbWN0bCBzdGF0dXMgdXVpZGQuc29ja2V0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozOTIKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgdXVpZGQuc29ja2V0IgorbXNnc3RyICJpbmdlbiBlbGxlciBmb3IgbWFuZ2UgZmlsYmVza3JpdmVsc2VyIG1vZHRhZ2V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDIwIHRlcm0tdXRpbHMvc2NyaXB0LmM6NDU1CisjLCBmdXp6eQorbXNnaWQgInBvbGwgZmFpbGVkIgorbXNnc3RyICJwb2xsKCkgbWlzbHlra2VkZXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRpbWVvdXQgWyVkIHNlY11cbiIKK21zZ3N0ciAidWRsw7hiIGVmdGVyICV1IHNla3VuZGVyIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQzIHRleHQtdXRpbHMvY29sdW1uLmM6NDE0Cittc2dpZCAicmVhZCBmYWlsZWQiCittc2dzdHIgImzDpnNuaW5nIChyZWFkKSBtaXNseWtrZWRlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciByZWFkaW5nIGZyb20gY2xpZW50LCBsZW4gPSAlZCIKK21zZ3N0ciAiZmVqbCB2ZWQgbMOmc25pbmcgZnJhIGtsaWVudCwgbGVuID0gJWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkLCBpbmNvbWluZyBudW0gPSAlZFxuIgorbXNnc3RyICJoYW5kbGluZyAlZCwgaW5kZ8OlZW5kZSBudW0gPSAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICJoYW5kbGluZyAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQ6ICVzXG4iCittc2dzdHIgIkdlbmVyZXJlZGUgdGlkIFVVSUQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHJhbmRvbSBVVUlEOiAlc1xuIgorbXNnc3RyICJHZW5lcmVyZWRlIHZpbGvDpXJsaWcgVVVJRDogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dzdHJbMF0gIkdlbmVyZXJlZGUgdGlkIFVVSUQgJXMgb2cgJWQgZsO4bGdlclxuIgorbXNnc3RyWzFdICJHZW5lcmVyZWRlIHRpZCBVVUlEICVzIG9nICVkIGbDuGxnZXJcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgJWQgVVVJRDpcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkICVkIFVVSURzOlxuIgorbXNnc3RyWzBdICJHZW5lcmVyZWRlICVkIFVVSUQ6XG4iCittc2dzdHJbMV0gIkdlbmVyZXJlZGUgJWQgVVVJRCdlcjpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIG9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICJVZ3lsZGlnIGhhbmRsaW5nICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCByZXBseSBsZW5ndGggZnJvbSBzZXJ2ZXIgJWQiCittc2dzdHIgIlV2ZW50ZXQgc3ZhcmzDpm5nZGUgZnJhIHNlcnZlciAlZCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYwMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXV1aWRzIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIC0tdXVpZHMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MTcKK21zZ2lkICJ1dWlkZCBoYXMgYmVlbiBidWlsdCB3aXRob3V0IHN1cHBvcnQgZm9yIHNvY2tldCBhY3RpdmF0aW9uIgorbXNnc3RyICJ1dWlkZCBlciBibGV2ZXQgYnlnZ2V0IHVkZW4gdW5kZXJzdMO4dHRlbHNlIGZvciBzb2trZWxha3RpdmVyaW5nIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjM2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGltZW91dCIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSAtLXRpbWVvdXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NTMKK21zZ2lkICJCb3RoIC0tc29ja2V0LWFjdGl2YXRpb24gYW5kIC0tc29ja2V0IHNwZWNpZmllZC4gSWdub3JpbmcgLS1zb2NrZXQuIgorbXNnc3RyICJCw6VkZSAtLXNvY2tldC1hY3RpdmF0aW9uIG9nIC0tc29ja2V0IGFuZ2l2ZXQuIElnbm9yZXJlciAtLXNvY2tldC4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjAgbWlzYy11dGlscy91dWlkZC5jOjY4OAorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjYWxsaW5nIHV1aWRkIGRhZW1vbiAoJXMpIgorbXNnc3RyICJmZWpsIHZlZCBrYWxkIGFmIGTDpm1vbmVuIHV1aWRkICglcykiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjEgbWlzYy11dGlscy91dWlkZC5jOjY4OQorbXNnaWQgInVuZXhwZWN0ZWQgZXJyb3IiCittc2dzdHIgInV2ZW50ZXQgZmVqbCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEXG4iCittc2dpZF9wbHVyYWwgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURzXG4iCittc2dzdHJbMF0gIiVzIG9nICVkIGVmdGVyZsO4bGdlbmRlIFVVSURcbiIKK21zZ3N0clsxXSAiJXMgb2cgJWQgZWZ0ZXJmw7hsZ2VuZGUgVVVJRCdlclxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjczCisjLCBjLWZvcm1hdAorbXNnaWQgIkxpc3Qgb2YgVVVJRHM6XG4iCittc2dzdHIgIkxpc3RlIGFmIFVVSUQnZXI6XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3Qga2lsbCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZCIKK21zZ3N0ciAia3VubmUgaWtrZSBkcsOmYmUgdXVpZGQgZGVyIGvDuHJlciB2ZWQgcGlkICVkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIktpbGxlZCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZC5cbiIKK21zZ3N0ciAiRHLDpmJ0ZSB1dWlkZCBkZXIga8O4cmVyIHZlZCBwaWQgJWQuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI4Cittc2dpZCAiQ3JlYXRlIGEgbmV3IFVVSUQgdmFsdWUuXG4iCittc2dzdHIgIk9wcmV0IGVuIG55IFVVSUQtdsOmcmRpLlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozMQorbXNnaWQgIiIKKyIgLXIsIC0tcmFuZG9tICAgICBnZW5lcmF0ZSByYW5kb20tYmFzZWQgdXVpZFxuIgorIiAtdCwgLS10aW1lICAgICAgIGdlbmVyYXRlIHRpbWUtYmFzZWQgdXVpZFxuIgorIiAtViwgLS12ZXJzaW9uICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtciwgLS1yYW5kb20gICAgIG9wcmV0IHV1aWQgYmFzZXJldCBww6UgdGlsZsOmbGRpZ2UgdGFsXG4iCisiIC10LCAtLXRpbWUgICAgICAgb3ByZXQgdXVpZCBiYWVyZXQgcMOlIHRpZHNwdW5rdFxuIgorIiAtViwgLS12ZXJzaW9uICAgIHZpcyB2ZXJzaW9uc2luZm9ybWF0aW9uIG9nIGFmc2x1dFxuIgorIiAtaCwgLS1oZWxwICAgICAgIHZpcyBkZW5uZSBoasOmbHBldGVrc3Qgb2cgYWZzbHV0XG4iCisiXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLUJNUyA8ZGlyPi4uLiAtZl0gPG5hbWU+XG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gWzxmaWw+XSAuLi5dXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5MgorbXNnaWQgIkxvY2F0ZSB0aGUgYmluYXJ5LCBzb3VyY2UsIGFuZCBtYW51YWwtcGFnZSBmaWxlcyBmb3IgYSBjb21tYW5kLlxuIgorbXNnc3RyICJMb2thbGlzZXIgZGVuIGJpbsOmcmUgZmlsLCBraWxkZSBvZyBtYW51YWxzaWRlIGZvciBlbiBrb21tYW5kby5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk1Cittc2dpZCAiIC1iICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIGJpbmFyaWVzXG4iCittc2dzdHIgIiAtYiAgICAgICAgIHPDuGcga3VuIGVmdGVyIGJpbsOmcmUgZmlsZXJcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk2Cittc2dpZCAiIC1CIDxkaXJzPiAgZGVmaW5lIGJpbmFyaWVzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiAtQiA8bWFwcGVyPiBkZWZpbmVyIGJpbsOmcmUgZmlsZXJzIG9wc2xhZ3NzdGlcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk3Cittc2dpZCAiIC1tICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIG1hbnVhbHMgYW5kIGluZm9zXG4iCittc2dzdHIgIiAtbSAgICAgICAgIHPDuGcga3VuIGVmdGVyIG1hbnVhbGVyIG9nIGluZm9ybWF0aW9uZXJcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk4Cittc2dpZCAiIC1NIDxkaXJzPiAgZGVmaW5lIG1hbiBhbmQgaW5mbyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLU0gPG1hcHBlcj4gZGVmaW5lciBvcHNsYWdzc3RpZXIgZm9yIG1hbnVhbHNpZGVyIG9nIGluZm9ybWF0aW9uXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5OQorbXNnaWQgIiAtcyAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBzb3VyY2VzXG4iCittc2dzdHIgIiAtcyAgICAgICAgIHPDuGcga3VuIGVmdGVyIGtpbGRlclxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDAKK21zZ2lkICIgLVMgPGRpcnM+ICBkZWZpbmUgc291cmNlcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLVMgPG1hcHBlcj4gZGVmaW5lciBvcHNsYWdzc3RpZXIgZm9yIGtpbGRlclxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDEKK21zZ2lkICIgLWYgICAgICAgICB0ZXJtaW5hdGUgPGRpcnM+IGFyZ3VtZW50IGxpc3RcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgdGVybWluZXIgPG1hcHBlcj4gcGFyYW1ldGVybGlzdGVcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAyCittc2dpZCAiIC11ICAgICAgICAgc2VhcmNoIGZvciB1bnVzdWFsIGVudHJpZXNcbiIKK21zZ3N0ciAiIC11ICAgICAgICAgc8O4ZyBlZnRlciB1dmVudGVkZSBwb3N0ZXJcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAzCittc2dpZCAiIC1sICAgICAgICAgb3V0cHV0IGVmZmVjdGl2ZSBsb29rdXAgcGF0aHNcbiIKK21zZ3N0ciAiIC1sICAgICAgICAgdmlzIGVmZmVrdGl2ZSBvcHNsYWdzc3RpZXJcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NjE5CisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbiAtZiBpcyBtaXNzaW5nIgorbXNnc3RyICJwYXJhbWV0cmV0IHRpbCBzdGluYXZuIG1hbmdsZXIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTk2Cittc2dpZCAicGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJwYXJ0aXRpb25zdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogcHJvYmluZyBpbml0aWFsaXphdGlvbiBmYWlsZWQiCittc2dzdHIgImZlamw6ICVzOiB1bmRlcnPDuGdlbHNlc2luaXRpYWxpc2VyaW5nIG1pc2x5a2tlZGVzIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGVyYXNlICVzIG1hZ2ljIHN0cmluZyBhdCBvZmZzZXQgMHglMDhqeCIKK21zZ3N0ciAiJXM6IGt1bm5lIGlra2Ugc2xldHRlICVzIG1hZ2lzayBzdHJlbmcgdmVkIGZvcnNreWRuaW5nIDB4JTA4angiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlemQgYnl0ZSB3YXMgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIKK21zZ2lkX3BsdXJhbCAiJXM6ICV6ZCBieXRlcyB3ZXJlIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dzdHJbMF0gIiVzOiAlemQgYnl0ZSBibGV2IHNsZXR0ZXQgdmVkIGZvcnNreWRuaW5nIDB4JTA4anggKCVzKTogIgorbXNnc3RyWzFdICIlczogJXpkIGJ5dGUgYmxldiBzbGV0dGV0IHZlZCBmb3Jza3lkbmluZyAweCUwOGp4ICglcyk6ICIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIgorbXNnc3RyICIlczoga3VubmUgaWtrZSBvcHJldHRlIGVuIHNpZ25hdHVyc2lra2VyaGVkc2tvcGkiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYWxsaW5nIGlvY3RsIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlOiAlbVxuIgorbXNnc3RyICIlczoga2FsZGVyIGlvY3RsKCkgZm9yIGF0IGdlbmluZGzDpnNlIHBhcnRpdGlvbnN0YWJlbGxlbjogJW1cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozODUKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICJrdW5uZSBpa2tlIG9wcmV0dGUgZW4gc2lnbmF0dXJzaWtrZXJoZWRza29waSwgJEhPTUUgZXIgaWtrZSBkZWZpbmVyZXQiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpZ25vcmluZyBuZXN0ZWQgXCIlc1wiIHBhcnRpdGlvbiB0YWJsZSBvbiBub24td2hvbGUgZGlzayBkZXZpY2UiCittc2dzdHIgIiVzOiBpZ25vcmVyZXIgaW5kbGVqcmV0IMK7JXPCqy1wYXJ0aXRpb25zdGFiZWwgcMOlIGlra2UtaGVsIGRpc2tlbmhlZCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAweCVqeCBub3QgZm91bmQiCittc2dzdHIgIiVzOiBmb3Jza3lkbmluZyAweCVqeCBibGV2IGlra2UgZnVuZGV0IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQzNQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBvcHRpb24gdG8gZm9yY2UgZXJhc2UuIgorbXNnc3RyICJCcnVnIHRpbHZhbGdldCAtLWZvcmNlIHRpbCBhdCBmcmVtdHZpbmdlIHNsZXRuaW5nLiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0NTkKK21zZ2lkICJXaXBlIHNpZ25hdHVyZXMgZnJvbSBhIGRldmljZS5cbiIKK21zZ3N0ciAiRmplcm4gc2lnbmF0dXJlciBmcmEgZW4gZW5oZWQuXG4iCisKKyMgZGVuIHNpZHN0ZSBtw6UgdsOmcmUgbm9nZXQgbWVkIG9tIHVkc2tyaWZ0ZW4ga2FuIGZvcnRvbGtlcyBhZiBldAorIyBtZW5uZXNrZSAocHJpbnRhYmxlIGZvcm1hdCkgZWxsZXIgZW4gbWFza2luZSAocGFyc2FibGUpLgorIyBlbGxlciBtw6Vza2UgdWRza3JpdiBpIGZvcnRvbGtuaW5ncy0gZnJlbSBmb3IgbMOmc2Vmb3JtYXQKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDYyCittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgIHdpcGUgYWxsIG1hZ2ljIHN0cmluZ3MgKEJFIENBUkVGVUwhKVxuIgorIiAtYiwgLS1iYWNrdXAgICAgICAgIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAgaW4gJEhPTUVcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICBmb3JjZSBlcmFzdXJlXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorIiAtbiwgLS1uby1hY3QgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBhY3R1YWwgd3JpdGUoKSBjYWxsXG4iCisiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IHRvIGVyYXNlLCBpbiBieXRlc1xuIgorIiAtcCwgLS1wYXJzYWJsZSAgICAgIHByaW50IG91dCBpbiBwYXJzYWJsZSBpbnN0ZWFkIG9mIHByaW50YWJsZSBmb3JtYXRcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICBzdXBwcmVzcyBvdXRwdXQgbWVzc2FnZXNcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0sIFJBSURzIG9yIHBhcnRpdGlvbiB0YWJsZXNcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgZmplcm4gYWxsZSBtYWdpc2tlIHN0cmVuZ2UgKFbDhlIgRk9SU0lHVElHISlcbiIKKyIgLWIsIC0tYmFja3VwICAgICAgICBvcHJldCBlbiBzaWduYXR1cnNpa2tlcmhlZHNrb3BpIGkgJEhPTUVcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICBmcmVtdHZpbmcgc2xldG5pbmdcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICBkZW5uZSBoasOmbHBldGVrc3RcbiIKKyIgLW4sIC0tbm8tYWN0ICAgICAgICBhbHQgc2thbCB1ZGbDuHJlcyB1bmR0YWdlbiBrYWxkZXQgd3JpdGUoKVxuIgorIiAtbywgLS1vZmZzZXQgPG51bT4gIGZvcnNreWRuaW5nIGF0IHNsZXR0ZSwgaSBieXRlXG4iCisiIC1wLCAtLXBhcnNhYmxlICAgICAgdWRza3JpdiBpIGZvcnRvbGtuaW5ncy0gZnJlbSBmb3IgbMOmc2Vmb3JtYXRcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICB1bmRlcnRyeWsgdmlzbmluZ3NiZXNrZWRlclxuIgorIiAtdCwgLS10eXBlcyA8bGlzdGU+IGJlZ3LDpm5zIHPDpnR0ZXQgYWYgZmlsZXN5c3RlbWVyLCBSQUlEJ2VyIGVsbGVyXG4iCisiICAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uc3RhYmVsbGVyXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgdmlzIHZlcnNpb25zaW5mb3JtYXRpb24gb2cgYWZzbHV0XG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTMzCittc2dpZCAiaW52YWxpZCBvZmZzZXQgYXJndW1lbnQiCittc2dzdHIgInVneWxkaWcgZm9yc2t5ZG5pbmdzcGFyYW1ldGVyIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU1OAorbXNnaWQgIlRoZSAtLWJhY2t1cCBvcHRpb24gaXMgbWVhbmluZ2xlc3MgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICJUaWx2YWxnZXQgLS1iYWNrdXAgZXIgbWVuaW5nc2zDuHN0IGkgZGVubmUga29udGVrc3QiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZWFsLXRpbWUgc2NoZWR1bGluZyBhdHRyaWJ1dGVzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiVmlzIGVsbGVyIMOmbmRyIHJlYWx0aWRlbnMgcGxhbmzDpmduaW5nc2F0dHJpYnV0dGVyIGZvciBlbiBwcm9jZXMuXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNworIywgZnV6enkKK21zZ2lkICIiCisiU2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gPHByaW9yaXR5PiA8Y29tbWFuZD4gWzxhcmc+Li4uXVxuIgorIiBjaHJ0IFtvcHRpb25zXSAtLXBpZCA8cHJpb3JpdHk+IDxwaWQ+XG4iCittc2dzdHIgIiIKKyJcbiIKKyJBbmdpdiBwb2xpdGlrOlxuIgorIiAgY2hydCBbdGlsdmFsZ10gPHBvbGl0aWs+IDxwcmlvcml0ZXQ+IHs8cGlkPiB8IDxrb21tYW5kbz4gWzxhcmc+IC4uLl19XG4iCisiXG4iCisiSW5kaGVudCBwb2xpdGlrOlxuIgorIiAgY2hydCBbdGlsdmFsZ10gLXAgPHBpZD5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQxCittc2dpZCAiIgorIkdldCBwb2xpY3k6XG4iCisiIGNocnQgW29wdGlvbnNdIC1wIDxwaWQ+XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgIlBvbGljeSBvcHRpb25zOlxuIgorbXNnc3RyICJSZXNzb3VyY2V0aWx2YWxnOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDYKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJhdGNoICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfQkFUQ0hcbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIGFuZ2l2IHBhcml0ZXQgdGlsIGluZ2VuXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NworbXNnaWQgIiAtZCwgLS1kZWFkbGluZSAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0RFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ4CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maWZvICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIGFuZ2l2IHBhcml0ZXQgdGlsIGluZ2VuXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taWRsZSAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9JRExFXG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICBhbmdpdiBwYXJpdGV0IHRpbCBpbmdlblxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW90aGVyICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIKK21zZ3N0ciAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIGFuZ2l2IHBhcml0ZXQgdGlsIHVsaWdlXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcnIgICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC0xLCAtLW9uZSAgICAgICAgICAgICB2aXMga3VuIGVuIGVua2VsdCBtw6VuZWQgKHN0YW5kYXJkKVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTQKKyMsIGZ1enp5Cittc2dpZCAiU2NoZWR1bGluZyBvcHRpb25zOlxuIgorbXNnc3RyICJSZXNzb3VyY2V0aWx2YWxnOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTUKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgc2V0IFNDSEVEX1JFU0VUX09OX0ZPUksgZm9yIEZJRk8gb3IgUlJcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBsYW5sw6ZnbmluZ3NmbGFnOlxuIgorIiAgLVIgfCAtLXJlc2V0LW9uLWZvcmsgYW5naXYgU0NIRURfUkVTRVRfT05fRk9SSyBmb3IgRklGTyBlbGxlciBSUlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTYKK21zZ2lkICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBydW50aW1lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTcKK21zZ2lkICIgLVAsIC0tc2NoZWQtcGVyaW9kIDxucz4gICBwZXJpb2QgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1OAorbXNnaWQgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IGRlYWRsaW5lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiT3RoZXIgb3B0aW9uczpcbiIKK21zZ3N0ciAiVmlzbmluZ3NpbmRzdGlsbGluZ2VyOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjIKK21zZ2lkICIgLWEsIC0tYWxsLXRhc2tzICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjMKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1heCAgICAgICAgICAgIHNob3cgbWluIGFuZCBtYXggdmFsaWQgcHJpb3JpdGllc1xuIgorbXNnc3RyICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHZpcyBsw6ZzYmFydCB0aWRzc3RlbXBlbFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiAtQSwgLS1hcHBlbmQgICAgICAgICAgICAgIHRpbGbDuGogcGFydGl0aW9uZXIgdGlsIGVrc2lzdGVyZW5kZSBwYXJ0aXRpb25zdGFiZWxcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICBkaXNwbGF5IHN0YXR1cyBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgdmlzIGh2YWQgZGVyIHNrZXJcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjMyIHNjaGVkdXRpbHMvY2hydC5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAia3VubmUgaWtrZSBpbmRoZW50ZSBwaWQgJWQncyBwb2xpdGlrIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhdHRyaWJ1dGVzIgorbXNnc3RyICJrdW5uZSBpa2tlIGluZGhlbnRlIHBpZCAlZCdzIGF0dHJpYnV0dGVyIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgInBpZCAlZCdzIG55ZSBwbGFubMOmZ25pbmdzcG9saXRpazogIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICJwaWQgJWQncyBha3R1ZWxsZSBwbGFubMOmZ25pbmdzcG9saXRpazogIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcHJpb3JpdHk6ICVkXG4iCittc2dzdHIgInBpZCAlZCdzIG55ZSBwbGFubMOmZ25pbmdzcHJpb3JpdGV0OiAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICJwaWQgJWQncyBha3R1ZWxsZSBwbGFubMOmZ25pbmdzcHJpb3JpdGV0OiAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgInBpZCAlZCdzIGFrdHVlbGxlIHBsYW5sw6ZnbmluZ3Nwcmlvcml0ZXQ6ICVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMwMCBzY2hlZHV0aWxzL2NocnQuYzozOTYKK21zZ2lkICJjYW5ub3Qgb2J0YWluIHRoZSBsaXN0IG9mIHRhc2tzIgorbXNnc3RyICJrYW4gaWtrZSBmaW5kZSBvcGdhdmVsaXN0ZW4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbWluL21heCBwcmlvcml0eVx0OiAlZC8lZFxuIgorbXNnc3RyICJTQ0hFRF8lcyBtaW4uL21ha3MuIHByaW9yaXRldFx0OiAlZC8lZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBzdXBwb3J0ZWQ/XG4iCittc2dzdHIgIlNDSEVEXyVzIGVyIGlra2UgdW5kZXJzdMO4dHRldD9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJrdW5uZSBpa2tlIGFuZ2l2ZSB0aWQgJWQncyBwb2xpdGlrIgorCisjIEFsbGUgcHJvY2Vzc2VyIHDDpSB1bml4LWFndGlnZSBzeXN0ZW1lciBoYXIgZW4gcHJvY2VzLWlkIChwaWQpLCBzb20gZXIKKyMgZXQgdGFsLiAgJWQgZXIgZW4gcGlkLiAgSHZpcyBkdSBza3JpdmVyICd0b3AnLCBrYW4gZHUgc2UgYWxsZQorIyBwcm9jZXNzZXIgb2cgZGVyZXMgcGlkJ2VyLgorIyBJIMO4dnJpZ3QgZXIgc3Vic3RpdHV0aW9uc2tvZGVuICVkIGFsdGlkIGV0IGhlbHRhbC4KKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAia3VubmUgaWtrZSBhbmdpdmUgcGlkICVkJ3MgcG9saXRpayIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDg3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcnVudGltZSBhcmd1bWVudCIKK21zZ3N0ciAidWd5bGRpZyB0aWRzcGFyYW1ldGVyIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwZXJpb2QgYXJndW1lbnQiCittc2dzdHIgInVneWxkaWcgaGFzdGlnaGVkc3BhcmFtZXRlciIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDkzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZGVhZGxpbmUgYXJndW1lbnQiCittc2dzdHIgInVneWxkaWcgcGFyYW1ldGVyIGZvciBob3ZlZGVyIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MTcKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5IGFyZ3VtZW50IgorbXNnc3RyICJ1Z3lsZGlndCBwcmlvcml0ZXRzcGFyYW1ldGVyIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MjEKKyMsIGZ1enp5Cittc2dpZCAiLS1yZXNldC1vbi1mb3JrIG9wdGlvbiBpcyBzdXBwb3J0ZWQgZm9yIFNDSEVEX0ZJRk8gYW5kIFNDSEVEX1JSIHBvbGljaWVzIG9ubHkiCittc2dzdHIgIlNDSEVEX1JFU0VUX09OX0ZPUksgZXIga3VuIHVuZGVyc3TDuHR0ZXQgZm9yIFNDSEVEX0ZJRk8tIG9nIFNDSEVEX1JSLXBvbGl0aWtrZXIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyNgorbXNnaWQgIi0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgZm9yIFNDSEVEX0RFQURMSU5FIG9ubHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQxCisjLCBmdXp6eQorbXNnaWQgIlNDSEVEX0RFQURMSU5FIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJTQ0hFRF8lcyBlciBpa2tlIHVuZGVyc3TDuHR0ZXQ/XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcmlvcml0eSB2YWx1ZSBmb3IgdGhlIHBvbGljeTogJWQ6IHNlZSAtLW1heCBmb3IgdmFsaWQgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo3NgorbXNnaWQgImlvcHJpb19nZXQgZmFpbGVkIgorbXNnc3RyICJpb3ByaW9fZ2V0IG1pc2x5a2tlZGVzIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwcmlvICVsdVxuIgorbXNnc3RyICIlczogcHJpbyAlbHVcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo5OAorbXNnaWQgImlvcHJpb19zZXQgZmFpbGVkIgorbXNnc3RyICJpb3ByaW9fc2V0IG1pc2x5a2tlZGVzIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEwNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIC1wIDxwaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC1QIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtdSA8dWlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFt0aWx2YWxnXSAtcCA8cGlkPi4uLlxuIgorIiAlMSRzIFt0aWx2YWxnXSAtUCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbdGlsdmFsZ10gLXUgPHVpZD4uLi5cbiIKKyIgJTEkcyBbdGlsdmFsZ10gPGtvbW1hbmRvPlxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExMAorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBJL08tc2NoZWR1bGluZyBjbGFzcyBhbmQgcHJpb3JpdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICJWaXMgZWxsZXIgw6ZuZHIgSS9PLXBsYW5sw6ZnbmluZ3NrbGFzc2VuIG9nIHByaW9yaXRldCBmb3IgZW4gcHJvY2VzLlxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExMworbXNnaWQgIiIKKyIgLWMsIC0tY2xhc3MgPGNsYXNzPiAgICBuYW1lIG9yIG51bWJlciBvZiBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCittc2dzdHIgIiIKKyIgLWMsIC0tY2xhc3MgPGtsYXNzZT4gICAgbmF2biBlbGxlciBhbnRhbCBhZiBwbGFubMOmZ25pbmdza2xhc3NlLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMDogaW5nZW4sIDE6IHJlYWx0aWQsIDI6IGJlZHN0ZS1pbmRzYXRzLCAzOiBsZWRpZ1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNQorbXNnaWQgIiIKKyIgLW4sIC0tY2xhc3NkYXRhIDxudW0+ICBwcmlvcml0eSAoMC4uNykgaW4gdGhlIHNwZWNpZmllZCBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgb25seSBmb3IgdGhlIHJlYWx0aW1lIGFuZCBiZXN0LWVmZm9ydCBjbGFzc2VzXG4iCittc2dzdHIgIiIKKyIgLW4sIC0tY2xhc3NkYXRhIDxhbnRhbD4gcHJpb3JpdGV0ICgwLi43KSBpIGRlbiBzcGVjaWZpY2VyZWRlIHBsYW5sw6ZnbmluZ3NrbGFzc2UsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBrdW4gZm9yIHJlYWx0aWRza2xhc3NlciBvZyBiZWRzdGUtaW5kc2F0cyBrbGFzc2VyXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE3Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPi4uLiAgICAgYWN0IG9uIHRoZXNlIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXNcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8cGlkPi4uLiAgICAgcmVhZ2VyIHDDpSBkaXNzZSBhbGxlcmVkZSBrw7hyZW5kZSBwcm9jZXNzZXJcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTgKK21zZ2lkICIgLVAsIC0tcGdpZCA8cGdycD4uLi4gICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBpbiB0aGVzZSBncm91cHNcbiIKK21zZ3N0ciAiIC1QLCAtLXBnaWQgPHBncnA+Li4uICAgcmVhZ2VyIHDDpSBhbGxlcmVkZSBrw7hyZW5kZSBwcm9jZXNzZXIgaSBkaXNzZSBncnVwcGVyXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE5Cittc2dpZCAiIC10LCAtLWlnbm9yZSAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCittc2dzdHIgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIGlnbm9yZXIgZmVqbFxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMAorbXNnaWQgIiAtdSwgLS11aWQgPHVpZD4uLi4gICAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIG93bmVkIGJ5IHRoZXNlIHVzZXJzXG4iCittc2dzdHIgIiAtdSwgLS11aWQgPHVpZD4uLi4gICAgIHJlYWdlciBww6UgYWxsZXJlZGUga8O4cmVuZGUgcHJvY2Vzc2VyIGVqZXQgYWYgZGlzc2UgYnJ1Z2VyZVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE1NworbXNnaWQgImludmFsaWQgY2xhc3MgZGF0YSBhcmd1bWVudCIKK21zZ3N0ciAidWd5bGRpZ3Qga2xhc3NlZGF0YXBhcmFtZXRlciIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjMKK21zZ2lkICJpbnZhbGlkIGNsYXNzIGFyZ3VtZW50IgorbXNnc3RyICJ1Z3lsZGlndCBrbGFzc2VwYXJhbWV0ZXIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2NoZWR1bGluZyBjbGFzczogJyVzJyIKK21zZ3N0ciAidWtlbmR0IHBsYW5sw6ZnbmluZ3NrbGFzc2U6IMK7JXPCqyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNzYgc2NoZWR1dGlscy9pb25pY2UuYzoxODQgc2NoZWR1dGlscy9pb25pY2UuYzoxOTIKK21zZ2lkICJjYW4gaGFuZGxlIG9ubHkgb25lIG9mIHBpZCwgcGdpZCBvciB1aWQgYXQgb25jZSIKK21zZ3N0ciAia2FuIGt1biBow6VuZHRlcmUgZW4gYWYgcGlkLCBwZ2lkIGVsbGVyIHVpZCBhZCBnYW5nZW4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg1Cittc2dpZCAiaW52YWxpZCBQR0lEIGFyZ3VtZW50IgorbXNnc3RyICJ1Z3lsZGlnIFBHSUQtcGFyYW1ldGVyIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MworbXNnaWQgImludmFsaWQgVUlEIGFyZ3VtZW50IgorbXNnc3RyICJ1Z3lsZGlnIFVJRC1wYXJhbWV0ZXIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjEyCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3Igbm9uZSBjbGFzcyIKK21zZ3N0ciAiaWdub3JlcmVyIGFuZ2l2ZXQga2xhc3NlZGF0YSBmb3Iga2xhc3NlbiBpbmdlbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjAKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBpZGxlIGNsYXNzIgorbXNnc3RyICJpZ25vcmVyZXIgYW5naXZldCBrbGFzc2VkYXRhIGZvciBrbGFzc2VuIGxlZGlnIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHByaW8gY2xhc3MgJWQiCittc2dzdHIgInVrZW5kdCBwcmlvLWtsYXNzZSAlZCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlVzYWdlOiAlcyBbb3B0aW9uc10gW21hc2sgfCBjcHUtbGlzdF0gW3BpZHxjbWQgW2FyZ3MuLi5dXVxuIgorIlxuIgorbXNnc3RyICIiCisiQnJ1ZzogJXMgW3RpbHZhbGddIFttYXNrZSB8IGNwdS1saXN0XSBbcGlkfGttZCBbcGFyYW1ldHJlLi4uXV1cbiIKKyJcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTUKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgQ1BVIGFmZmluaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiVmlzIGVsbGVyIMOmbmRyIGNwdS1hZmZpbml0ZXQgZm9yIGVuIHByb2Nlcy5cbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk9wdGlvbnM6XG4iCisiIC1hLCAtLWFsbC10YXNrcyAgICAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisiIC1wLCAtLXBpZCAgICAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCisiIC1jLCAtLWNwdS1saXN0ICAgICAgICAgIGRpc3BsYXkgYW5kIHNwZWNpZnkgY3B1cyBpbiBsaXN0IGZvcm1hdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvblxuIgorIlxuIgorbXNnc3RyICIiCisiVGlsdmFsZzpcbiIKKyIgLWEsIC0tYWxsLXRhc2tzICAgICAgICAgZnVuZ2VyZXIgcMOlIGFsbGUgb3BnYXZlciAodHLDpWRlKSBmb3IgZW4gZ2l2ZW4gcGlkXG4iCisiIC1wLCAtLXBpZCAgICAgICAgICAgICAgIGFyYmVqZCBww6UgZWtzaXN0ZXJlbmRlIHBpZFxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICB2aXMgb2cgYW5naXYgY3B1J2VyIGkgbGlzdGVmb3JtYXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgdmlzIGRlbm5lIGhqw6ZscGV0ZWtzdFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICB2aXMgdmVyc2lvbnNpbmZvcm1hdGlvblxuIgorIlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gcnVuIGEgbmV3IGNvbW1hbmQ6XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisiWW91IGNhbiByZXRyaWV2ZSB0aGUgbWFzayBvZiBhbiBleGlzdGluZyB0YXNrOlxuIgorIiAgICAlMSRzIC1wIDcwMFxuIgorIk9yIHNldCBpdDpcbiIKKyIgICAgJTEkcyAtcCAwMyA3MDBcbiIKKyJMaXN0IGZvcm1hdCB1c2VzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QgaW5zdGVhZCBvZiBhIG1hc2s6XG4iCisiICAgICUxJHMgLXBjIDAsMyw3LTExIDcwMFxuIgorIlJhbmdlcyBpbiBsaXN0IGZvcm1hdCBjYW4gdGFrZSBhIHN0cmlkZSBhcmd1bWVudDpcbiIKKyIgICAgZS5nLiAwLTMxOjIgaXMgZXF1aXZhbGVudCB0byBtYXNrIDB4NTU1NTU1NTVcbiIKK21zZ3N0ciAiIgorIlN0YW5kYXJkb3Bmw7hyZWxzZW4gZXIgYXQga8O4cmUgZW4gbnkga29tbWFuZG86XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisiRHUga2FuIGluZGhlbnRlIG1hc2tlbiBww6UgZW4gZWtzaXN0ZXJlbmRlIG9wZ2F2ZTpcbiIKKyIgICAgJTEkcyAtcCA3MDBcbiIKKyJFbGxlciBzw6Z0dGUgZGVuOlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorIkxpc3RlZm9ybWF0IGJydWdlciBlbiBrb21tYWFkc2tpbHQgbGlzdGUgaSBzdGVkZW4gZm9yIGVuIG1hc2tlOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJJbnRlcnZhbGxlciBpIGxpc3RlZm9ybWF0IGthbiBpbmRlaG9sZGUgZXQgc3RyaWRlLWFyZ3VtZW50OlxuIgorIiAgICBmLmVrcy4gc3ZhcmVyIDAtMzE6MiB0aWwgbWFza2VuIDB4NTU1NTU1NTVcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgInBpZCAlZCdzIG55ZSBhZmZpbml0ZXRzbGlzdGU6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAicGlkICVkJ3MgYWt0dWVsbGUgYWZmaW5pdGV0c2xpc3RlOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAicGlkICVkJ3MgbnllIGFmZmluaXRldHNtYXNrZTogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICJwaWQgJWQncyBha3R1ZWxsZSBhZmZpbml0ZXRzbWFza2U6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk5Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IGNvbnZlcnNpb24gZnJvbSBjcHVzZXQgdG8gc3RyaW5nIGZhaWxlZCIKK21zZ3N0ciAiaW50ZXJuIGZlamw6IGtvbnZlcnRlcmluZyBmcmEgY3B1c2V0IHRpbCBzdHJlbmcgbWlzbHlra2VkZXMiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwOSBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAia3VubmUgaWtrZSBpbmRoZW50ZSBwaWQgJWQncyBhZmZpbml0ZXQiCisKKyMgQWxsZSBwcm9jZXNzZXIgcMOlIHVuaXgtYWd0aWdlIHN5c3RlbWVyIGhhciBlbiBwcm9jZXMtaWQgKHBpZCksIHNvbSBlcgorIyBldCB0YWwuICAlZCBlciBlbiBwaWQuICBIdmlzIGR1IHNrcml2ZXIgJ3RvcCcsIGthbiBkdSBzZSBhbGxlCisjIHByb2Nlc3NlciBvZyBkZXJlcyBwaWQnZXIuCisjIEkgw7h2cmlndCBlciBzdWJzdGl0dXRpb25za29kZW4gJWQgYWx0aWQgZXQgaGVsdGFsLgorIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgImt1bm5lIGlra2UgYW5naXZlIHBpZCAlZCdzIGFmZmluaXRldCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTg2IHN5cy11dGlscy9jaGNwdS5jOjI4OQorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgTlJfQ1BVUzsgYWJvcnRpbmciCittc2dzdHIgImthbiBpa2tlIGJlc3RlbW1lIE5SX0NQVVM7IGFmYnJ5ZGVyIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxOTUgc2NoZWR1dGlscy90YXNrc2V0LmM6MjA4IHN5cy11dGlscy9jaGNwdS5jOjI5NQorbXNnaWQgImNwdXNldF9hbGxvYyBmYWlsZWQiCittc2dzdHIgImNwdXNldF9hbGxvYyBtaXNseWtrZWRlcyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjE1IHN5cy11dGlscy9jaGNwdS5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIENQVS1saXN0ZTogJXMiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2s6ICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIENQVS1tYXNrZTogJXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBaZXJvLWZpbGxlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIlczogRmplcm5lZGUgJTxQUkl1NjQ+IGJ5dGUgZnJhIGZvcnNreWRuaW5nZW4gJTxQUkl1NjQ+XG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IERpc2NhcmRlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIlczogRmplcm5lZGUgJTxQUkl1NjQ+IGJ5dGUgZnJhIGZvcnNreWRuaW5nZW4gJTxQUkl1NjQ+XG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODcKK21zZ2lkICJEaXNjYXJkIHRoZSBjb250ZW50IG9mIHNlY3RvcnMgb24gYSBkZXZpY2UuXG4iCittc2dzdHIgIkZqZXJuIGluZGhvbGRldCBmb3Igc2VrdG9yZXIgcMOlIGVuIGVuaGVkLlxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkwCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8YW50YWw+IGZvcnNreWRuaW5nZW4gaSBieXRlIHNvbSBkZXIgc2thbCBmamVybmVzIGZyYVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkxCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDxhbnRhbD4gYW50YWxsZXQgYWYgYnl0ZSBkZXIgc2thbCBmamVybmVzXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXN0ZXAgPG51bT4gICAgc2l6ZSBvZiB0aGUgZGlzY2FyZCBpdGVyYXRpb25zIHdpdGhpbiB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPG51bT4gICBmb3Jza3lkbmluZyBmb3IgaW50ZXJ2YWxvcGVyYXRpb25lciwgaSBieXRlXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNlY3VyZSAgICAgICAgcGVyZm9ybSBzZWN1cmUgZGlzY2FyZFxuIgorbXNnc3RyICIgLS1zZWN1cmViaXRzIDxiaXQ+ICAgICAgIGFuZ2l2IHNlY3VyZWJpdHNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NAorIywgZnV6enkKK21zZ2lkICIgLXosIC0temVyb291dCAgICAgICB6ZXJvLWZpbGwgcmF0aGVyIHRoYW4gZGlzY2FyZFxuIgorbXNnc3RyICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIGZlamwgZnJlbSBmb3IgYXQgdmVudGVcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgZm9ya2xhciBodmFkIGRlciBza2VyXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTUwIHN5cy11dGlscy9mc3RyaW0uYzozMTIgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NzMKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjEyNAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBvZmZzZXQiCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgZm9yc2t5ZG5pbmciCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTU0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0ZXAiCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgdHJpbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzIgc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODIgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDgKK21zZ2lkICJubyBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJpbmdlbiBlbmhlZCBhbmdpdmV0IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3NyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzUxCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjIgc3lzLXV0aWxzL2ZzdHJpbS5jOjMzNAorbXNnaWQgInVuZXhwZWN0ZWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAidXZlbnRldCBhbnRhbCBhcmd1bWVudGVyIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLR0VUU0laRTY0IGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEJMS0dFVFNJWkU2NCBpb2N0bCBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NTWkdFVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBCTEtTU1pHRVQgaW9jdGwgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIlczogZm9yc2t5ZG5pbmcgJTxQUkl1NjQ+IGVyIGlra2UganVzdGVyZXQgdGlsIHNla3RvcnN0w7hycmVsc2UgJWkiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgaXMgZ3JlYXRlciB0aGFuIGRldmljZSBzaXplIgorbXNnc3RyICIlczogZm9yc2t5ZG5pbmcgZXIgc3TDuHJyZSBlbmQgZW5oZWRzc3TDuHJyZWxzZSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxlbmd0aCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiVzOiBsw6ZuZ2RlICU8UFJJdTY0PiBlciBpa2tlIGp1c3RlcmV0IHRpbCBzZWt0b3JzdMO4cnJlbHNlICVpIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1pFUk9PVVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogQkxLU1NaR0VUIGlvY3RsIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU0VDRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBCTEtTRUNESVNDQVJEIGlvY3RsIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBCTEtESVNDQVJEIGlvY3RsIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo4NyBzeXMtdXRpbHMvY2hjcHUuYzoxNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiQ1BVICVkIGZpbmRlcyBpa2tlIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBob3QgcGx1Z2dhYmxlIgorbXNnc3RyICJDUFUgJWQgZXIgaWtrZSDCu2hvdCBwbHVnZ2FibGXCqyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGVuYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICVkIGVyIGFsbGVyZWRlIGFrdGl2ZXJldFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAlZCBlciBhbGxlcmVkZSBkZWFrdGl2ZXJldFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIChDUFUgaXMgZGVjb25maWd1cmVkKSIKK21zZ3N0ciAiQ1BVICVkIGFrdGl2ZXJpbmcgbWlzbHlra2VkZXMgKENQVSBlciBhZmtvbmZpZ3VyZXJldCkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIkNQVSAlZCBha3RpdmVyaW5nIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGVkXG4iCittc2dzdHIgIkNQVSAlZCBha3RpdmVyZXRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQgKGxhc3QgZW5hYmxlZCBDUFUpIgorbXNnc3RyICJDUFUgJWQgZGVha3RpdmVyaW5nIG1pc2x5a2tlZGVzIChzaWRzdCBha3RpdmVyZXQgQ1BVKSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQiCittc2dzdHIgIkNQVSAlZCBkZWFrdGl2ZXJpbmcgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAlZCBkZWFrdGl2ZXJldFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHJlc2Nhbm5pbmcgb2YgQ1BVcyIKK21zZ3N0ciAiRGV0dGUgc3lzdGVtIHVuZGVyc3TDuHR0ZXIgaWtrZSBueSBza2FubmluZyBhZiBDUFUnZXIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MworbXNnaWQgIkZhaWxlZCB0byB0cmlnZ2VyIHJlc2NhbiBvZiBDUFVzIgorbXNnc3RyICJLdW5uZSBpa2tlIHVkbMO4c2Ugbnkgc2thbm5pbmcgYWYgQ1BVJ2VyIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJpZ2dlcmVkIHJlc2NhbiBvZiBDUFVzXG4iCittc2dzdHIgIlVkbMO4c3Qgbnkgc2thbm5pbmcgYWYgQ1BVJ2VyXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgc2V0dGluZyB0aGUgZGlzcGF0Y2hpbmcgbW9kZSBvZiBDUFVzIgorbXNnc3RyICJEZXR0ZSBzeXN0ZW0gdW5kZXJzdMO4dHRlciBpa2tlIGluZHN0aWxsaW5nIGFmIGRpc3BhdGNoaW5nLXRpbHN0YW5kIGZvciBDUFUnZXIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NQorbXNnaWQgIkZhaWxlZCB0byBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICJLdW5uZSBpa2tlIGFuZ2l2ZSB2YW5kcmV0IGRpc3BhdGNoLXRpbHN0YW5kIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCBob3Jpem9udGFsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAiVmFuZHJldCBkaXNwYXRjaGluZy10aWxzdGFuZCBhbmdpdmV0XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1OQorbXNnaWQgIkZhaWxlZCB0byBzZXQgdmVydGljYWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiS3VubmUgaWtrZSBhbmdpdmUgbG9kcmV0IGRpc3BhdGNoLXRpbHN0YW5kIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCB2ZXJ0aWNhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIkxvZHJldCBkaXNwYXRjaGluZy10aWxzdGFuZCBhbmdpdmV0XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBjb25maWd1cmFibGUiCittc2dzdHIgIkNQVSAlZCBrYW4gaWtrZSBrb25maWd1cmVyZXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgY29uZmlndXJlZFxuIgorbXNnc3RyICJDUFUgJWQgZXIgYWxsZXJlZGUga29uZmlndXJlcmV0XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAlZCBlciBhbGxlcmVkZSBhZmtvbmZpZ3VyZXJldFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiQ1BVICVkIGFma29uZmlndXJlcmluZyBtaXNseWtrZWRlcyAoQ1BVIGVyIGFrdGl2ZXJldCkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIkNQVSAlZCBrb25maWd1cmVyaW5nIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAlZCBrb25maWd1cmVyZXRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICJDUFUgJWQgYWZrb25maWd1cmVyaW5nIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICVkIGFma29uZmlndXJlcmV0XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIENQVSBudW1iZXIgaW4gQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICJ1Z3lsZGlndCBDUFUtYW50YWwgaSBDUFUtbGlzdGU6ICVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzggdGV4dC11dGlscy9jb2wuYzoxMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiIgorIlxuIgorIkJydWc6XG4iCisiICVzIFt0aWx2YWxnXVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDIKK21zZ2lkICJDb25maWd1cmUgQ1BVcyBpbiBhIG11bHRpLXByb2Nlc3NvciBzeXN0ZW0uXG4iCittc2dzdHIgIktvbmZpZ3VyZXIgQ1BVJ2VyIGkgZXQgc3lzdGVtIG1lZCBmbGVyZSBwcm9jZXNzb3Jlci5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQ0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyIgIC1lLCAtLWVuYWJsZSA8Y3B1LWxpc3Q+ICAgICAgIGVuYWJsZSBjcHVzXG4iCisiICAtZCwgLS1kaXNhYmxlIDxjcHUtbGlzdD4gICAgICBkaXNhYmxlIGNwdXNcbiIKKyIgIC1jLCAtLWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICAgIGNvbmZpZ3VyZSBjcHVzXG4iCisiICAtZywgLS1kZWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICBkZWNvbmZpZ3VyZSBjcHVzXG4iCisiICAtcCwgLS1kaXNwYXRjaCA8bW9kZT4gICAgICAgICBzZXQgZGlzcGF0Y2hpbmcgbW9kZVxuIgorIiAgLXIsIC0tcmVzY2FuICAgICAgICAgICAgICAgICAgdHJpZ2dlciByZXNjYW4gb2YgY3B1c1xuIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlRpbHZhbGc6XG4iCisiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICB2aXMgZGVubmUgaGrDpmxwZWJlc2tlZFxuIgorIiAgLWUsIC0tZW5hYmxlIDxjcHUtbGlzdD4gICAgICAgYWt0aXZlciBjcHUnZXJcbiIKKyIgIC1kLCAtLWRpc2FibGUgPGNwdS1saXN0PiAgICAgIGRlYWt0aXZlciBjcHUnZXJcbiIKKyIgIC1jLCAtLWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICAgIGtvbmZpZ3VyZXIgY3B1J2VyXG4iCisiICAtZywgLS1kZWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICBhZmtvbmZpZ3VyZXIgY3B1J2VyXG4iCisiICAtcCwgLS1kaXNwYXRjaCA8dGlsc3RhbmQ+ICAgICBhbmdpdiBhZnNlbmRlbHNlc3RpbHN0YW5kXG4iCisiICAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICB1ZGzDuHMgbnkgc2thbm5pbmcgYWYgY3B1J2VyXG4iCisiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICB2aXMgdmVyc2lvbnNpbmZvcm1hdGlvbiBvZyBhZnNsdXRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MzI2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiaWtrZSB1bmRlcnN0w7h0dGV0IHBhcmFtZXRlcjogJXMiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIGhhcmR8c29mdFxuIgorbXNnc3RyICIgJXMgaGFyZHxzb2Z0XG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0IHRoZSBmdW5jdGlvbiBvZiB0aGUgQ3RybC1BbHQtRGVsIGNvbWJpbmF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTEKK21zZ2lkICJpbXBsaWNpdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHZhbHVlIGluICVzOiAlanUiCittc2dzdHIgInV2ZW50ZWRlIGFyZ3VtZW50ZXIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NjMKK21zZ2lkICJZb3UgbXVzdCBiZSByb290IHRvIHNldCB0aGUgQ3RybC1BbHQtRGVsIGJlaGF2aW9yIgorbXNnc3RyICJEdSBza2FsIHbDpnJlIHJvb3QgZm9yIGF0IHPDpnR0ZSBDdHJsLUFsdC1EZWwtb3Bmw7hyc2xlbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo3MSBzeXMtdXRpbHMvaXBjcm0uYzozOTIgc3lzLXV0aWxzL2lwY3JtLmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICJ1a2VuZHQgcGFyYW1ldGVyOiAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEwCittc2dpZCAic3lzdGVtIGlzIHVudXNhYmxlIgorbXNnc3RyICJzeXN0ZW0gZXIgdWJydWdlbGlnIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTEKK21zZ2lkICJhY3Rpb24gbXVzdCBiZSB0YWtlbiBpbW1lZGlhdGVseSIKK21zZ3N0ciAiZGVyIG3DpSBnw7hyZXMgbm9nZXQgw7hqZWJsaWtrZWxpZ3QiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMgorbXNnaWQgImNyaXRpY2FsIGNvbmRpdGlvbnMiCittc2dzdHIgImtyaXRpc2tlIGJldGluZ2Vsc2VyIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTMKK21zZ2lkICJlcnJvciBjb25kaXRpb25zIgorbXNnc3RyICJmZWpsYmV0aW5nZWxzZXIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNAorbXNnaWQgIndhcm5pbmcgY29uZGl0aW9ucyIKK21zZ3N0ciAiYWR2YXJzZWxzYmV0aW5nZWxzZXIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNQorbXNnaWQgIm5vcm1hbCBidXQgc2lnbmlmaWNhbnQgY29uZGl0aW9uIgorbXNnc3RyICJub3JtYWwgbWVuIHNpZ25pZmlrYW50IGJldGluZ2Vsc2UiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNgorbXNnaWQgImluZm9ybWF0aW9uYWwiCittc2dzdHIgImluZm9ybWF0aW9uZWwiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNworbXNnaWQgImRlYnVnLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICJmZWpsc8O4Z25pbmdzbml2ZWF1YmVza2VkZXIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMQorbXNnaWQgImtlcm5lbCBtZXNzYWdlcyIKK21zZ3N0ciAia2VybmViZXNrZWRlciIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMyCittc2dpZCAicmFuZG9tIHVzZXItbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgInZpbGvDpXJsaWdlIGJydWdlcm5pdmVhdWJlc2tlZGVyIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzMKK21zZ2lkICJtYWlsIHN5c3RlbSIKK21zZ3N0ciAicG9zdHN5c3RlbSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM0Cittc2dpZCAic3lzdGVtIGRhZW1vbnMiCittc2dzdHIgInN5c3RlbWTDpm1vbmVyIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzUKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIgorbXNnc3RyICJzaWtrZXJoZWRzLSBvZyBnb2RrZW5kZWxzZXNiZXNrZWRlciIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM2Cittc2dpZCAibWVzc2FnZXMgZ2VuZXJhdGVkIGludGVybmFsbHkgYnkgc3lzbG9nZCIKK21zZ3N0ciAiYmVza2VkZXIgb3ByZXR0ZXQgaW50ZXJudCBhZiBzeXNsb2dkIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzcKK21zZ2lkICJsaW5lIHByaW50ZXIgc3Vic3lzdGVtIgorbXNnc3RyICJsaW5lIHByaW50ZXItdW5kZXJzeXN0ZW0iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOAorbXNnaWQgIm5ldHdvcmsgbmV3cyBzdWJzeXN0ZW0iCittc2dzdHIgIm5ldHbDpnJrc255aGVkc3VuZGVyc3lzdGVtIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzkKK21zZ2lkICJVVUNQIHN1YnN5c3RlbSIKK21zZ3N0ciAiVVVDUC11bmRlcnN5c3RlbSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQwCittc2dpZCAiY2xvY2sgZGFlbW9uIgorbXNnc3RyICJ1cmTDpm1vbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQxCittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyAocHJpdmF0ZSkiCittc2dzdHIgInNpa2tlcmhlZHMtIG9nIGdvZGtlbmRlbHNlc2Jlc2tlZGVyIChwcml2YXRlKSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQyCittc2dpZCAiRlRQIGRhZW1vbiIKK21zZ3N0ciAiRlRQLWTDpm1vbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjY3Cittc2dpZCAiRGlzcGxheSBvciBjb250cm9sIHRoZSBrZXJuZWwgcmluZyBidWZmZXIuXG4iCittc2dzdHIgIlZpcyBlbGxlciBrb250cm9sbGVyIGtlcm5lbnMgcmluZ21lbGxlbWxhZ2VyLlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzAKK21zZ2lkICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGNsZWFyIHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICByeWQga2VybmVucyByaW5nYnVmZmVyXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MQorbXNnaWQgIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgcmVhZCBhbmQgY2xlYXIgYWxsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgbMOmcyBvZyByeWQgYWxsZSBiZXNrZWRlclxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzIKK21zZ2lkICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIGRpc2FibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIGRlYWt0aXZlciB1ZHNrcml2bmluZyBhZiBiZXNrZWRlciB0aWwga29uc29sbGVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MworbXNnaWQgIiAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAgZW5hYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBha3RpdmVyIHVkc2tyaXZuaW5nIGFmIGJlc2tlZGVyIHRpbCBrb25zb2xsZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc0Cittc2dpZCAiIC1GLCAtLWZpbGUgPGZpbGU+ICAgICAgICAgICB1c2UgdGhlIGZpbGUgaW5zdGVhZCBvZiB0aGUga2VybmVsIGxvZyBidWZmZXJcbiIKK21zZ3N0ciAiIC1GLCAtLWZpbGUgPGZpbD4gICAgICAgICAgICBicnVnIGZpbGVuIGkgc3RlZGV0IGZvciBsb2dtZWxsZW1sYWdlcmV0IHRpbCBrZXJuZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc1Cittc2dpZCAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0PiAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBmYWNpbGl0aWVzXG4iCittc2dzdHIgIiAtZiwgLS1mYWNpbGl0eSA8bGlzdGU+ICAgICAgYmVncsOmbnMgdWRkYXRhIHRpbCBkZWZpbmVyZWRlIGZhY2lsaXRldGVyXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NgorbXNnaWQgIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAgaHVtYW4gcmVhZGFibGUgb3V0cHV0XG4iCittc2dzdHIgIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAgbMOmc2JhcmUgdWRkYXRhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NworbXNnaWQgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgZGlzcGxheSBrZXJuZWwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICB2aXMga2VybmViZXNrZWRlclxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzgKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PGh2b3Juw6VyPl0gICAgIGZhcnZlbMOmZyBiZXNrZWRlciAoYXV0bywgYWx3YXlzIGVsbGVyIG5ldmVyKVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODEKK21zZ2lkICIgLWwsIC0tbGV2ZWwgPGxpc3Q+ICAgICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGxldmVsc1xuIgorbXNnc3RyICIgLWwsIC0tbGV2ZWwgPGxpc3RlPiAgICAgICAgIGJlZ3LDpm5zIHVkZGF0YSB0aWwgZGVmaW5lcmVkZSBuaXZlYXVlclxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODIKK21zZ2lkICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bGV2ZWw+IHNldCBsZXZlbCBvZiBtZXNzYWdlcyBwcmludGVkIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPG5pdi4+ICBzw6Z0IG5pdmVhdSBmb3IgYmVza2VkZXIgdmlzdCBpIGtvbnNvbGxlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODMKK21zZ2lkICIgLVAsIC0tbm9wYWdlciAgICAgICAgICAgICAgIGRvIG5vdCBwaXBlIG91dHB1dCBpbnRvIGEgcGFnZXJcbiIKK21zZ3N0ciAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICBJbmRza3lkIGlra2UgdWRkYXRhIGkgZW4gdGVrc3Rzw7hnZXJcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg0Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgdWRza3JpdiBkZXQgcsOlIGJlc2tlZG1lbGxlbWxhZ2VyXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NQorbXNnaWQgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgZm9yY2UgdG8gdXNlIHN5c2xvZygyKSByYXRoZXIgdGhhbiAvZGV2L2ttc2dcbiIKK21zZ3N0ciAiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICBmcmVtdHZpbmcgYnJ1Z2VuIGFmIHN5c2xvZygyKSBmcmVtIGZvciAvZGV2L2ttc2dcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg2Cittc2dpZCAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiAtcywgLS1idWZmZXItc2l6ZSA8c3RyLj4gICAgbWVsbGVtbGFnZXJzdMO4cnJlbHNlIHRpbCBhdCBmb3Jlc3DDuHJnZSByaW5nLW1lbGxlbWxhZ2VyZXQgZm9yIGtlcm5lblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODcKK21zZ2lkICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIGRpc3BsYXkgdXNlcnNwYWNlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgdmlzIGJydWdlcnJ1bXNiZXNrZWRlclxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODgKK21zZ2lkICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHZlbnQgcMOlIG55ZSBiZXNrZWRlclxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODkKK21zZ2lkICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIGRlY29kZSBmYWNpbGl0eSBhbmQgbGV2ZWwgdG8gcmVhZGFibGUgc3RyaW5nXG4iCittc2dzdHIgIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgYWZrb2QgZmFjaWxpdGV0IG9nIG5pdmVhdSB0aWwgbMOmc2JhciBzdHJlbmdcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkwCittc2dpZCAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICBzaG93IHRpbWUgZGVsdGEgYmV0d2VlbiBwcmludGVkIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgdmlzIHRpZHNkZWx0YSBtZWxsZW0gdWRza3Jldm5lIGJlc2tlZGVyXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MQorbXNnaWQgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgc2hvdyBsb2NhbCB0aW1lIGFuZCB0aW1lIGRlbHRhIGluIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIHZpcyBsb2thbCB0aWQgb2cgdGlkc2ZvcnNrZWwgaSBsw6ZzYmFydCBmb3JtYXRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkyCisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbi1yZWFkYWJsZSB0aW1lc3RhbXAgKG1heSBiZSBpbmFjY3VyYXRlISlcbiIKK21zZ3N0ciAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICB2aXMgbMOmc2JhcnQgdGlkc3N0ZW1wZWxcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkzCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAgZG9uJ3Qgc2hvdyBhbnkgdGltZXN0YW1wIHdpdGggbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICB1ZHNrcml2IGlra2UgYmVza2VkZXJuZXMgdGlkc3N0ZW1wZWxcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk0CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wIHVzaW5nIHRoZSBnaXZlbiBmb3JtYXQ6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisiU3VzcGVuZGluZy9yZXN1bWUgd2lsbCBtYWtlIGN0aW1lIGFuZCBpc28gdGltZXN0YW1wcyBpbmFjY3VyYXRlLlxuIgorbXNnc3RyICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICB2aXMgdGlkc3N0ZW1wZWwgbWVkIGZvcm1hdGV0OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsdGF8cmVsdGltZXxjdGltZXxub3RpbWV8aXNvXVxuIgorIlN1c3BlbnNpb24vZ2Vub3B0YWcgdmlsIGfDuHJlIGN0aW1lIG9nIGlzby10aWRzc3RlbXBsZXIgdXByw6ZjaXNlLlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDAKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBmYWNpbGl0aWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiVW5kZXJzdMO4dHRlZGUgbG9nZmFjaWxpdGV0ZXI6XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwNgorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGxldmVscyAocHJpb3JpdGllcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJVbmRlcnN0w7h0dGVkZSBsb2duaXZlYXVlciAocHJpb3JpdGV0ZXIpOlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxldmVsICclcyciCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2Ugbml2ZWF1IMK7JXPCqyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbGV2ZWwgJyVzJyIKK21zZ3N0ciAidWtlbmR0IG5pdmVhdSDCuyVzwqsiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBmYWNpbGl0ZXQgwrslc8KrIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSAnJXMnIgorbXNnc3RyICJ1a2VuZHQgZmFjaWxpdGV0IMK7JXPCqyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NTI4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtbWFwOiAlcyIKK21zZ3N0ciAia3VubmUgaWtrZSBtbWFwOiAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1NgorbXNnaWQgImludmFsaWQgYnVmZmVyIHNpemUgYXJndW1lbnQiCittc2dzdHIgInVneWxkaWcgcGFyYW1ldGVyIGZvciBtZWxsZW1sYWdlcnN0w7hycmVsc2UiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MDkKK21zZ2lkICItLXNob3ctZGVsdGEgaXMgaWdub3JlZCB3aGVuIHVzZWQgdG9nZXRoZXIgd2l0aCBpc284NjAxIHRpbWUgZm9ybWF0IgorbXNnc3RyICItLXNob3ctZGVsdGEgaWdub3JlcmV0IG7DpXIgZGVuIGJydWdlcyBzYW1tZW4gbWVkIGlzbzg2MDEtdGlkc2Zvcm1hdGV0IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDMyCittc2dpZCAiLS1yYXcgY2FuIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWxldmVsIG9yIC0tZmFjaWxpdHkgb25seSB3aGVuIHJlYWRpbmcgbWVzc2FnZXMgZnJvbSAvZGV2L2ttc2ciCittc2dzdHIgIi0tcmF3IGthbiBrdW4gYnJ1Z2VzIHNhbW1lbiBtZWQgLS1sZXZlbCBlbGxlciAtLWZhY2lsaXR5IG7DpXIgZGVyIGVyIGzDpnN0IGJlc2tlZGVyIGZyYSAvZGV2L2ttc2ciCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0NDIKK21zZ2lkICJyZWFkIGtlcm5lbCBidWZmZXIgZmFpbGVkIgorbXNnc3RyICJsw6ZzdCBrZXJuZW1lbGxlbWxhZ2VyIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDYxCittc2dpZCAia2xvZ2N0bCBmYWlsZWQiCittc2dzdHIgImtsb2djdGwgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPnw8bW91bnRwb2ludD5dXG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gWzxlbmhlZD58PG1vbnRlcmluZ3NwdW5rdD5dXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNworbXNnaWQgIkVqZWN0IHJlbW92YWJsZSBtZWRpYS5cbiIKK21zZ3N0ciAiU2t1YiBmbHl0YmFydCBtZWRpZSB1ZC5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTQwCittc2dpZCAiIgorIiAtYSwgLS1hdXRvIDxvbnxvZmY+ICAgICAgICAgdHVybiBhdXRvLWVqZWN0IGZlYXR1cmUgb24gb3Igb2ZmXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxzbG90PiAgICBzd2l0Y2ggZGlzY3Mgb24gYSBDRC1ST00gY2hhbmdlclxuIgorIiAtZCwgLS1kZWZhdWx0ICAgICAgICAgICAgICAgZGlzcGxheSBkZWZhdWx0IGRldmljZVxuIgorIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAgZWplY3QgZmxvcHB5XG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBkb24ndCBjYXJlIGFib3V0IGRldmljZSB0eXBlXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICB0b2dnbGUgbWFudWFsIGVqZWN0IHByb3RlY3Rpb24gb24vb2ZmXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBkbyBub3QgdW5tb3VudCBkZXZpY2UgZXZlbiBpZiBpdCBpcyBtb3VudGVkXG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBkbyBub3QgdW5tb3VudCBhbm90aGVyIHBhcnRpdGlvbnNcbiIKKyIgLW4sIC0tbm9vcCAgICAgICAgICAgICAgICAgIGRvbid0IGVqZWN0LCBqdXN0IHNob3cgZGV2aWNlIGZvdW5kXG4iCisiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICB1c2UgL3Byb2MvbW91bnRzIGluc3RlYWQgb2YgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICBlamVjdCB0YXBlXG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICBlamVjdCBDRC1ST01cbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIGVqZWN0IFNDU0kgZGV2aWNlXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICBjbG9zZSB0cmF5XG4iCisiIC1ULCAtLXRyYXl0b2dnbGUgICAgICAgICAgICB0b2dnbGUgdHJheVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgZW5hYmxlIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC14LCAtLWNkc3BlZWQgPHNwZWVkPiAgICAgICBzZXQgQ0QtUk9NIG1heCBzcGVlZFxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAgbGlzdCBDRC1ST00gYXZhaWxhYmxlIHNwZWVkc1xuIgorbXNnc3RyICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICB0w6ZuZCBvZyBzbHVrIGZvciBhdXRvbWF0aXNrIHNrdWIgdWRcbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHNsb3Q+ICAgIHNraWZ0IGRpc2tlIHDDpSBlbiBjZC1yb20tw6ZuZHJlclxuIgorIiAtZCwgLS1kZWZhdWx0ICAgICAgICAgICAgICAgdmlzIHN0YW5kYXJkZW5oZWRcbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIHNrdWIgZGlza2V0dGUgdWRcbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIHRhZyBpa2tlIGhlbnN5biB0aWwgZW5oZWRzdHlwZVxuIgorIiAtaSwgLS1tYW51YWxlamVjdCA8b258b2ZmPiAgdMOmbmsgb2cgc2x1ayBmb3IgbWFudWVsIGJlc2t5dHRlbHNlIGFmIHNrdWIgdWRcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIGFmbW9udGVyIGlra2UgZW5oZWQgc2VsdiBvbSBlbmhlZGVuIGVyIG1vbnRlcmV0XG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBhZm1vbnRlciBpa2tlIGFuZHJlIHBhcnRpdGlvbmVyXG4iCisiIC1uLCAtLW5vb3AgICAgICAgICAgICAgICAgICBza3ViIGlra2UgdWQsIHZpcyBhbGVuZSBmdW5kZXQgZW5oZWRcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIGJydWcgL3Byb2MvbW91bnRzIGkgc3RlZGV0IGZvciAvZXRjL210YWJcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIHNrdWIgYsOlbmQgdWRcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIHNrdWIgY2Qtcm9tIHVkXG4iCisiIC1zLCAtLXNjc2kgICAgICAgICAgICAgICAgICBza3ViIFNDU0ktZW5oZWQgdWRcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIGx1ayBiYWtrZVxuIgorIiAtVCwgLS10cmF5dG9nZ2xlICAgICAgICAgICAgdMOmbmsgb2cgc2x1ayBmb3IgYmFra2VcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIGFrdGl2ZXIgdWRkeWJlbmRlIHVkZGF0YVxuIgorIiAteCwgLS1jZHNwZWVkIDxoYXN0aWdoZWQ+ICAgYW5naXYgbWFrc2ltYWwgaGFzdGlnaGVkIGZvciBjZC1yb21cbiIKKyIgLVgsIC0tbGlzdHNwZWVkICAgICAgICAgICAgIHZpcyB0aWxnw6ZuZ2VsaWdlIGhhc3RpZ2hlZGVyIGZvciBjZC1yb21cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTY0Cittc2dpZCAiIgorIlxuIgorIkJ5IGRlZmF1bHQgdHJpZXMgLXIsIC1zLCAtZiwgYW5kIC1xIGluIG9yZGVyIHVudGlsIHN1Y2Nlc3MuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTb20gc3RhbmRhcmQgZm9yc8O4Z2VzIG1lZCAtciwgLXMsIC1mIG9nIC1xIGkgcsOma2tlZsO4bGdlIGluZHRpbCBzdWNjZXMuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxMAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jaGFuZ2Vyc2xvdC8tYyBvcHRpb24iCittc2dzdHIgInVneWxkaWcgcGFyYW1ldGVyIGZvciB0aWx2YWxnZXQgLS1jaGFuZ2Vyc2xvdC8tYyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjE0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNkc3BlZWQvLXggb3B0aW9uIgorbXNnc3RyICJ1Z3lsZGlnIHBhcmFtZXRlciBmb3IgdGlsdmFsZ2V0IC0tY2RzcGVlZC8teCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzI2Cittc2dpZCAiQ0QtUk9NIGF1dG8tZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkNkLXJvbS1rb21tYW5kbyBmb3IgYXV0b21hdGlzayB1ZHNrdWJuaW5nIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDAKK21zZ2lkICJDRC1ST00gZG9vciBsb2NrIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIkNkLXJvbS1kw7hybMOlcyBlciBpa2tlIHVuZGVyc3TDuHR0ZXQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MgorbXNnaWQgIm90aGVyIHVzZXJzIGhhdmUgdGhlIGRyaXZlIG9wZW4gYW5kIG5vdCBDQVBfU1lTX0FETUlOIgorbXNnc3RyICJhbmRyZSBicnVnZXJlIGhhciBkcmV2ZXQgw6ViZW4gb2cgaWtrZSBDQVBfU1lTX0FETUlOIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDQKK21zZ2lkICJDRC1ST00gbG9jayBkb29yIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJDZC1yb20ta29tbWFuZG8gZm9yIGzDpXMgZMO4ciBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQ5Cittc2dpZCAiQ0QtRHJpdmUgbWF5IE5PVCBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiQ2QtZHJldiBtw6UgSUtLRSBza3ViYmVzIHVkIG1lZCBlbmhlZHNrbmFwcGVuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNTEKK21zZ2lkICJDRC1Ecml2ZSBtYXkgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIkNkLWRyZXYgbcOlIHNrdWJiZXMgdWQgbWVkIGVuaGVkc2tuYXBwZW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2MgorbXNnaWQgIkNELVJPTSBzZWxlY3QgZGlzYyBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiVmFsZyBhZiBjZC1yb20tZGlza2tvbW1hbmRvZW4gbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NgorbXNnaWQgIkNELVJPTSBsb2FkIGZyb20gc2xvdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ2Qtcm9tLWluZGzDpnNuaW5nIGZyYSBzbG90LWtvbW1hbmRvIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjgKK21zZ2lkICJJREUvQVRBUEkgQ0QtUk9NIGNoYW5nZXIgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICJJREUvQVRBUEkgY2Qtcm9tLcOmbmRyaW5nIGVyIGlra2UgdW5kZXJzdMO4dHRldCBhZiBkZW5uZSBrZXJuZVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODYKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ2Qtcm9tLWtvbW1hbmRvZW4gbHVrIHNrdWZmZW4gbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4OAorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICJDZC1yb20ta29tbWFuZG9lbiBsdWsgc2t1ZmZlbiBlciBpa2tlIHVuZGVyc3TDuHR0ZXQgYWYgZGVubmUga2VybmVcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDA1Cittc2dpZCAiQ0QtUk9NIGVqZWN0IHVuc3VwcG9ydGVkIgorbXNnc3RyICJDZC1yb20ta29tbWFuZG9lbiBza3ViIHVkIGVyIGlra2UgdW5kZXJzdMO4dHRldCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDMzIHN5cy11dGlscy9lamVjdC5jOjQ1NiBzeXMtdXRpbHMvZWplY3QuYzoxMDExCittc2dpZCAiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJDZC1yb20ta29tbWFuZGVuIHNrdWIgdWQgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzNgorbXNnaWQgIm5vIENELVJPTSBpbmZvcm1hdGlvbiBhdmFpbGFibGUiCittc2dzdHIgImluZ2VuIGNkLXJvbS1pbmZvcm1hdGlvbiBlciB0aWxnw6ZuZ2VsaWciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzOQorbXNnaWQgIkNELVJPTSBkcml2ZSBpcyBub3QgcmVhZHkiCittc2dzdHIgIkNkLXJvbS1kcmV2IGVyIGlra2Uga2xhciIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgyCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ2Qtcm9tLWtvbW1hbmRvZW4gdsOmbGcgaGFzdGlnaGVkIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODQgc3lzLXV0aWxzL2VqZWN0LmM6NTcwCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWwiCittc2dzdHIgIkNkLXJvbS1rb21tYW5kb2VuIHbDpmxnIGhhc3RpZ2hlZCBlciBpa2tlIHVuZGVyc3TDuHR0ZXQgYWYgZGVubmUga2VybmUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmRpbmcgQ0QtUk9NIG5hbWUiCittc2dzdHIgIiVzOiBrdW5uZSBpa2tlIGZpbmRlIGNkLXJvbS1uYXZuZSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiJXM6IEt1bm5lIGlra2UgbMOmc2UgaGFzdGlnaGVkZW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU0NAorbXNnaWQgImZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICJrdW5uZSBpa2tlIGzDpnNlIGhhc3RpZ2hlZGVuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1ODgKK21zZ2lkICJub3QgYW4gc2cgZGV2aWNlLCBvciBvbGQgc2cgZHJpdmVyIgorbXNnc3RyICJodmVya2VuIGVuIHNnLWVuaGVkIGVsbGVyIGdhbW1lbCBzZy1kcml2ZXIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5tb3VudGluZyIKK21zZ3N0ciAiJXM6IGFmbW9udGVyZXIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZXhlYyAvYmluL3Vtb3VudCBvZiBgJXMnIgorbXNnc3RyICJrdW5uZSBpa2tlIGvDuHJlIC9iaW4vdW1vdW50IGZvciDCuyVzwqsiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY3OAorbXNnaWQgInVuYWJsZSB0byBmb3JrIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcmdyZW5lIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAiYWZtb250ZXJpbmcgYWYgwrslc8KrIGJsZXYgaWtrZSBhZnNsdXR0ZXQgbm9ybWFsdCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njg4CisjLCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBmYWlsZWRcbiIKK21zZ3N0ciAiYWZtb250ZXJpbmcgYWYgwrslc8KrIG1pc2x5a2tlZGVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjczMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBtb250ZXJpbmdzdGFiZWwiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjc5MSBzeXMtdXRpbHMvZWplY3QuYzo4OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50ZWQgb24gJXMiCittc2dzdHIgIiVzOiBtb250ZXJldCBww6UgJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzMworbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvIGF1dG8iCittc2dzdHIgInPDpnR0ZXIgY2Qtcm9tLWhhc3RpZ2hlZCB0aWwgYXV0byIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODM1CisjLCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvICVsZFgiCittc2dzdHIgInPDpnR0ZXIgY2Qtcm9tLWhhc3RpZ2hlZCB0aWwgJWxkWCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODYxCisjLCBjLWZvcm1hdAorbXNnaWQgImRlZmF1bHQgZGV2aWNlOiBgJXMnIgorbXNnc3RyICJTdGFuZGFyZGVuaGVkOiDCuyVzwqsiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg2NworIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyBkZWZhdWx0IGRldmljZSBgJXMnIgorbXNnc3RyICJicnVnZXIgc3RhbmRhcmRlbmhlZCDCuyVzwqsiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4NiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGZpbmQgZGV2aWNlIgorbXNnc3RyICIlczoga3VubmUgaWtrZSBmaW5kZSBlbmhlZCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg4CisjLCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBuYW1lIGlzIGAlcyciCittc2dzdHIgImVuaGVkc25hdm4gZXIgwrslc8KrIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4OTQgc3lzLXV0aWxzL3Vtb3VudC5jOjIwNiBzeXMtdXRpbHMvdW1vdW50LmM6MjM1CisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NDA5IHN5cy11dGlscy91bW91bnQuYzo0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBtb3VudGVkIgorbXNnc3RyICIlczogaWtrZSBtb250ZXJldCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNjIGRldmljZTogJXMgKGRpc2sgZGV2aWNlIHdpbGwgYmUgdXNlZCBmb3IgZWplY3QpIgorbXNnc3RyICIlczogZGlza2VuaGVkOiAlcyAoZGlza2VuaGVkIHZpbCBibGl2ZSBicnVndCBmb3Igc2t1YiB1ZCkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIG1vdW50cG9pbnQgb3IgZGV2aWNlIHdpdGggdGhlIGdpdmVuIG5hbWUiCittc2dzdHIgIiVzOiBmYW5kdCBpa2tlIG1vbnRlcmluZ3NwdW5rdCBlbGxlciBlbmhlZCBtZWQgZGV0IGFuZ2l2bmUgbmF2biIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyB3aG9sZS1kaXNrIGRldmljZSIKK21zZ3N0ciAiJXM6IGVyIGhlbGUgZGlza2VuaGVkZW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGhvdC1wbHVnZ2FibGUgZGV2aWNlIgorbXNnc3RyICIlczogZXIgaWtrZSBlbiBob3QtcGx1Z2dhYmxlLWVuaGVkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIGlzIGAlcyciCittc2dzdHIgImVuaGVkIGVyIMK7JXPCqyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTE4Cittc2dpZCAiZXhpdGluZyBkdWUgdG8gLW4vLS1ub29wIG9wdGlvbiIKK21zZ3N0ciAiYWZzbHV0dGVyIHDDpSBncnVuZCBhZiAtbi8tLW5vb3AgdGlsdmFsZyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlbmFibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiVzOiBha3RpdmVyZXIgdGlsc3RhbmQgZm9yIGF1dG9tYXRpc2sgc2t1YiB1ZCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNhYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIlczogZGVha3RpdmVyZXIgdGlsc3RhbmQgZm9yIGF1dG9tYXRpc2sgc2t1YiB1ZCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zaW5nIHRyYXkiCittc2dzdHIgIiVzOiBsdWtrZXIgc2t1ZmZlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiVzOiBza2lmdGVyIHNrdWZmZSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsaXN0aW5nIENELVJPTSBzcGVlZCIKK21zZ3N0ciAiJXM6IHZpc2VyIGNkLXJvbS1oYXN0aWdoZWQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk4NgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IGRldmljZSBpbiB1c2UiCittc2dzdHIgImZlamw6ICVzOiBlbmhlZCBlciBvcHRhZ2V0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlbGVjdGluZyBDRC1ST00gZGlzYyAjJWxkIgorbXNnc3RyICIlczogdsOmbGdlciBjZC1yb20tZGlzayAjJWxkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgQ0QtUk9NIGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiVzOiBmb3Jzw7hnZXIgYXQgc2t1YmJlIHVkIG1lZCBjZC1yb20ta29tbWFuZG9lbiBlamVjdCAoc2t1YiB1ZCkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTAKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIkNkLXJvbS1rb21tYW5kb2VuIGVqZWN0IChza3ViIHVkKSBseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIFNDU0kgY29tbWFuZHMiCittc2dzdHIgIiVzOiBmb3Jzw7hnZXIgYXQgc2t1YmJlIHVkIG1lZCBicnVnIGFmIFNDU0kta29tbWFuZG9lciIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxNworbXNnaWQgIlNDU0kgZWplY3Qgc3VjY2VlZGVkIgorbXNnc3RyICJTQ1NJLXNrdWIgdWQgbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTgKK21zZ2lkICJTQ1NJIGVqZWN0IGZhaWxlZCIKK21zZ3N0ciAiU0NTSS1za3ViIHVkIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgZmxvcHB5IGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiVzOiBmb3Jzw7hnZXIgYXQgc2t1YmJlIHVkIG1lZCBicnVnIGFmIGRpc2trZWRyZXZrb21tYW5kb2VuIGVqZWN0IChza3ViIHVkKSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNAorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiZGlza2V0dGVkcmV2a29tbWFuZG9lbiBlamVjdCAoc2t1YiB1ZCkgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjUKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgImRpc2tldHRlZHJldmtvbW1hbmRvZW4gZWplY3QgKHNrdWIgdWQpIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgdGFwZSBvZmZsaW5lIGNvbW1hbmQiCittc2dzdHIgIiVzOiBmb3Jzw7hnZXIgYXQgc2t1YmJlIHVkIG1lZCBicnVnIGFmIGtvbW1hbmRvZW4gdGFwZSBvZmZsaW5lIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDMxCittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICJrb21tYW5kb2VuIHRhcGUgb2ZmbGluZSBseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMgorbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAia29tbWFuZG9lbiB0YXBlIG9mZmxpbmUgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzYKK21zZ2lkICJ1bmFibGUgdG8gZWplY3QiCittc2dzdHIgImt1bm5lIGlra2Ugc2t1YmJlIHVkIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZW5hbWU+XG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gPGZpbG5hdm4+XG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4MQorbXNnaWQgIlByZWFsbG9jYXRlIHNwYWNlIHRvLCBvciBkZWFsbG9jYXRlIHNwYWNlIGZyb20gYSBmaWxlLlxuIgorbXNnc3RyICJGb3Jow6VuZHNhbGxva2VyIHBsYWRzIHRpbCwgZWxsZXIgZmplcm4gcGxhZHMgZnJhIGVuIGZpbC5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg0Cittc2dpZCAiIC1jLCAtLWNvbGxhcHNlLXJhbmdlIHJlbW92ZSBhIHJhbmdlIGZyb20gdGhlIGZpbGVcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbGxhcHNlLXJhbmdlIGZqZXJuIGV0IGludGVydmFsIGZyYSBmaWxlblxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODUKK21zZ2lkICIgLWQsIC0tZGlnLWhvbGVzICAgICAgZGV0ZWN0IHplcm9lcyBhbmQgcmVwbGFjZSB3aXRoIGhvbGVzXG4iCittc2dzdHIgIiAtZCwgLS1kaWctaG9sZXMgICAgICBkZXRla3RlciBudWxsZXIgb2cgZXJzdGF0IG1lZCBodWxsZXJcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg2Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgIGxlbmd0aCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgIGzDpm5nZGUgZm9yIGludGVydmFsb3BlcmF0aW9uZXIsIGkgYnl0ZVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODcKK21zZ2lkICIgLW4sIC0ta2VlcC1zaXplICAgICAgbWFpbnRhaW4gdGhlIGFwcGFyZW50IHNpemUgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgIGJldmFyIGRlbiB0aWxzeW5lbGFkZW5kZSBmaWxzdMO4cnJlbHNlXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4OAorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICBvZmZzZXQgZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPG51bT4gICBmb3Jza3lkbmluZyBmb3IgaW50ZXJ2YWxvcGVyYXRpb25lciwgaSBieXRlXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4OQorbXNnaWQgIiAtcCwgLS1wdW5jaC1ob2xlICAgICByZXBsYWNlIGEgcmFuZ2Ugd2l0aCBhIGhvbGUgKGltcGxpZXMgLW4pXG4iCittc2dzdHIgIiAtcCwgLS1wdW5jaC1ob2xlICAgICBlcnN0YXQgZXQgaW50ZXJ2YWwgbWVkIGV0IGh1bCAoaW5kZWLDpnJlciAtbilcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkwCittc2dpZCAiIC16LCAtLXplcm8tcmFuZ2UgICAgIHplcm8gYW5kIGVuc3VyZSBhbGxvY2F0aW9uIG9mIGEgcmFuZ2VcbiIKK21zZ3N0ciAiIC16LCAtLXplcm8tcmFuZ2UgICAgIG51bCBvZyBzaWtrZXIgYWxsb2tlcmluZyBhZiBldCBpbnRlcnZhbFxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTI2CisjLCBmdXp6eQorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQ6IGtlZXAgc2l6ZSBtb2RlIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJiZWhvbGQgc3TDuHJyZWxzZXN0aWxzdGFuZCAodGlsdmFsZ2V0IC1uKSBlciBpa2tlIHVuZGVyc3TDuHR0ZXQiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMjcKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkIgorbXNnc3RyICJmYWxsb2NhdGUgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgZmFpbGVkIgorbXNnc3RyICIlczogcmVhZCBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjI2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCVqdSBieXRlcykgY29udmVydGVkIHRvIHNwYXJzZSBob2xlcy5cbiIKK21zZ3N0ciAiJXM6ICVzICglanUgYnl0ZSkga29udmVydGVyZXQgdGlsIHNwYXJzb21tZSBodWxsZXIuXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNDYgc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTE4Cittc2dpZCAibm8gZmlsZW5hbWUgc3BlY2lmaWVkIgorbXNnc3RyICJpbnRldCBmaWxuYXZuIGFuZ2l2ZXQiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTggc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2NAorbXNnaWQgImludmFsaWQgbGVuZ3RoIHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAidWd5bGRpZyBsw6ZuZ2RldsOmcmRpIGFuZ2l2ZXQiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjIKK21zZ2lkICJubyBsZW5ndGggYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJpbmdlbiBsw6ZuZ2RlcGFyYW1ldGVyIGFuZ2l2ZXQiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjcKK21zZ2lkICJpbnZhbGlkIG9mZnNldCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgInVneWxkaWcgZm9yc2t5ZG5pbmdzdsOmcmRpIGFuZ2l2ZXQiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IDxjb21tYW5kPiBbPGFyZ3VtZW50Pi4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IC1jIDxjb21tYW5kPlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZSBkZXNjcmlwdG9yIG51bWJlcj5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFt0aWx2YWxnXSA8ZmlsPnw8bWFwcGU+IDxrb21tYW5kbz4gWzxwYXJhbWV0cmU+IC4uLl1cbiIKKyIgJTEkcyBbdGlsdmFsZ10gPGZpbD58PG1hcHBlPiAtYyA8a29tbWFuZG8+XG4iCisiICUxJHMgW3RpbHZhbGddIDxmaWxiZXNrcml2ZWxzZXNudW1tZXI+XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjU5Cittc2dpZCAiTWFuYWdlIGZpbGUgbG9ja3MgZnJvbSBzaGVsbCBzY3JpcHRzLlxuIgorbXNnc3RyICJIw6VuZHRlciBmaWxsw6VzZSBmcmEgc2thbHNrcmlwdGVyLlxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MgorbXNnaWQgIiAtcywgLS1zaGFyZWQgICAgICAgICAgICAgZ2V0IGEgc2hhcmVkIGxvY2tcbiIKK21zZ3N0ciAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBoZW50IGVuIGRlbHQgbMOlc1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MworbXNnaWQgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAgZ2V0IGFuIGV4Y2x1c2l2ZSBsb2NrIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIGhlbnQgZW4gZWtza2x1c2l2IGzDpXMgKHN0YW5kYXJkKVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NAorbXNnaWQgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAgcmVtb3ZlIGEgbG9ja1xuIgorbXNnc3RyICIgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIGZqZXJuIGVuIGzDpXNcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjUKK21zZ2lkICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIGZhaWwgcmF0aGVyIHRoYW4gd2FpdFxuIgorbXNnc3RyICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIGZlamwgZnJlbSBmb3IgYXQgdmVudGVcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjYKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8c2Vjcz4gICAgIHdhaXQgZm9yIGEgbGltaXRlZCBhbW91bnQgb2YgdGltZVxuIgorbXNnc3RyICIgLXcsIC0tdGltZW91dCA8c2VrLj4gICAgIHZlbnQgZW4gYmVncsOmbnNldCB0aWRcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjcKK21zZ2lkICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxudW1iZXI+ICBleGl0IGNvZGUgYWZ0ZXIgY29uZmxpY3Qgb3IgdGltZW91dFxuIgorbXNnc3RyICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxudW1tZXI+ICBhZnNsdXRuaW5nc2tvZGUgZWZ0ZXIga29uZmxpa3QgZWxsZXIgdGlkc3VkbMO4YlxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OAorbXNnaWQgIiAtbywgLS1jbG9zZSAgICAgICAgICAgICAgY2xvc2UgZmlsZSBkZXNjcmlwdG9yIGJlZm9yZSBydW5uaW5nIGNvbW1hbmRcbiIKK21zZ3N0ciAiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBsdWsgZmlsYmVza3JpdmVsc2UgZsO4ciBrw7hyc2VsIGFmIGtvbW1hbmRvXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY5Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICBydW4gYSBzaW5nbGUgY29tbWFuZCBzdHJpbmcgdGhyb3VnaCB0aGUgc2hlbGxcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbW1hbmQgPGtvbW1hbmRvPiBrw7hyIGVuIGVua2VsIGtvbW1hbmRvc3RyZW5nIHZpYSBza2FsbGVuXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcwCisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAgZXhlY3V0ZSBjb21tYW5kIHdpdGhvdXQgZm9ya2luZ1xuIgorbXNnc3RyICIgLW4gICAgICAgICAgIHRlcm1pbmVyIGtvbW1hbmRvIG1lZCBueSBsaW5qZVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICAgIGluY3JlYXNlIHZlcmJvc2l0eVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHbDpnIgbWVyZSB1ZGR5YmVuZGVcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlcyIKK21zZ3N0ciAia2FuIGlra2Ugw6VibmUgbMOlc2VmaWwgJXMiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIwNQorbXNnaWQgImludmFsaWQgdGltZW91dCB2YWx1ZSIKK21zZ3N0ciAidWd5bGRpZyB2w6ZyZGkgZm9yIHRpZHN1ZGzDuGIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIwOQorbXNnaWQgImludmFsaWQgZXhpdCBjb2RlIgorbXNnc3RyICJ1Z3lsZGlnIGFmc2x1dG5pbmdza29kZSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjI4Cittc2dpZCAidGhlIC0tbm8tZm9yayBhbmQgLS1jbG9zZSBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGNvbW1hbmQgYXJndW1lbnQiCittc2dzdHIgIiVzOiBrcsOmdmVyIHByw6ZjaXMgZXQga29tbWFuZG9wYXJhbWV0ZXIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NAorbXNnaWQgImJhZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgInVneWxkaWcgZmlsYmVza3JpdmVsc2UiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NworbXNnaWQgInJlcXVpcmVzIGZpbGUgZGVzY3JpcHRvciwgZmlsZSBvciBkaXJlY3RvcnkiCittc2dzdHIgImtyw6Z2ZXIgZmlsYmVza3JpdmVsc2UsIGZpbCBlbGxlciBtYXBwZSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjgxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgbG9jayIKK21zZ3N0ciAia3VubmUgaWtrZSBhbmdpdmUgZGF0YSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6Mjg4Cittc2dpZCAidGltZW91dCB3aGlsZSB3YWl0aW5nIHRvIGdldCBsb2NrIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjMyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldHRpbmcgbG9jayB0b29rICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiVzICAuJTA2ZCBzZWt1bmRlclxuIgorCisjIGV2dC4gInNsdWtrZXQiIC0+ICJzbMOlZXQgZnJhIgorIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0aW5nICVzXG4iCittc2dzdHIgImh2aWxldGlsc3RhbmQ6IHNsdWtrZXQ7IGvDuHJlciAlc1xuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1MAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxtb3VudHBvaW50PlxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIDxtb250ZXJpbmdzcHVua3Q+XG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjUzCittc2dpZCAiU3VzcGVuZCBhY2Nlc3MgdG8gYSBmaWxlc3lzdGVtIChleHQzLzQsIFJlaXNlckZTLCBKRlMsIFhGUykuXG4iCittc2dzdHIgIlN1c3BlbmRlciBhZGdhbmcgdGlsIGV0IGZpbHN5c3RlbSAoZXh0My80LCBSZWlzZXJGUywgSkZTLCBYRlMpLlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1NgorbXNnaWQgIiAtZiwgLS1mcmVlemUgICAgICBmcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC1mLCAtLWZyZWV6ZSAgICAgIGZyeXMgZmlsc3lzdGVtZXRcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTcKK21zZ2lkICIgLXUsIC0tdW5mcmVlemUgICAgdW5mcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC11LCAtLXVuZnJlZXplICAgIGZqZXJuIGZyeXNuaW5nIGFmIGZpbHN5c3RlbWV0XG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExNgorbXNnaWQgIm5laXRoZXIgLS1mcmVlemUgb3IgLS11bmZyZWV6ZSBzcGVjaWZpZWQiCittc2dzdHIgImh2ZXJrZW4gLS1mcmVlemUgZWxsZXIgLS11bmZyZWV6ZSBlciBhbmdpdmV0IgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXM6IGVyIGlra2UgZW4gbWFwcGUiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjE0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZyeXNuaW5nIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZqZXJuZWxzZSBhZiBmcnlzbmluZyBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBlciBpa2tlIGVuIG1hcHBlIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEZJVFJJTSBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBGSVRSSU0gaW9jdGwgbWlzbHlra2VkZXMiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgaGVyZSBpcyBhIHZlcnkgbGFyZ2UgbnVtYmVyLgorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCU8UFJJdTY0PiBieXRlcykgdHJpbW1lZFxuIgorbXNnc3RyICIlczogJXMgKCU8UFJJdTY0PiBieXRlKSB0cmltbWV0XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxOTEgc3lzLXV0aWxzL3N3YXBvbi5jOjcyOSBzeXMtdXRpbHMvdW1vdW50LmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSAlcyIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxtb3VudCBwb2ludD5cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSA8bW9udGVyaW5nc3B1bmt0PlxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU0Cittc2dpZCAiRGlzY2FyZCB1bnVzZWQgYmxvY2tzIG9uIGEgbW91bnRlZCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJGamVybiB1YnJ1Z3RlIGJsb2trZSBww6UgZXQgbW9udGVyZXQgZmlsc3lzdGVtLlxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU3Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgdHJpbSBhbGwgbW91bnRlZCBmaWxlc3lzdGVtcyB0aGF0IGFyZSBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgdHJpbSBhbGxlIG1vbnRlcmVkZSBmaWxzeXN0ZW1lciBzb20gZXIgdW5kZXJzdMO4dHRldFxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU4Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgdGhlIG9mZnNldCBpbiBieXRlcyB0byBzdGFydCBkaXNjYXJkaW5nIGZyb21cbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8YW50YWw+IGZvcnNreWRuaW5nZW4gaSBieXRlIHNvbSBkZXIgc2thbCBmamVybmVzIGZyYVxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgdGhlIG51bWJlciBvZiBieXRlcyB0byBkaXNjYXJkXG4iCittc2dzdHIgIiAtbCwgLS1sZW5ndGggPGFudGFsPiBhbnRhbGxldCBhZiBieXRlIGRlciBza2FsIGZqZXJuZXNcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MAorbXNnaWQgIiAtbSwgLS1taW5pbXVtIDxudW0+IHRoZSBtaW5pbXVtIGV4dGVudCBsZW5ndGggdG8gZGlzY2FyZFxuIgorbXNnc3RyICIgLW0sIC0tbWluaW11bSA8YW50YWw+IG1pbmltdW1zbMOmbmdkZW4gZm9yIHVkc3Ryw6ZrbmluZ2VuIGRlciBza2FsIGZqZXJuZXNcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IG51bWJlciBvZiBkaXNjYXJkZWQgYnl0ZXNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgdmlzIGFudGFsbGV0IGFmIGZqZXJuZWRlIGJ5dGVcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMxNgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtaW5pbXVtIGV4dGVudCBsZW5ndGgiCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgbWluaW1hbCB1ZHN0csOma25pbmdzbMOmbmdkZSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMyOQorbXNnaWQgIm5vIG1vdW50cG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICJpbnRldCBtb250ZXJpbmdzcHVua3QgYW5naXZldCIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdGhlIGRpc2NhcmQgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIiVzOiBvcGVyYXRpb25lbiBmamVybiBlciBpa2tlIHVuZGVyc3TDuHR0ZXQiCisKKyMgKGthbiBub2sgdsOmcmUgR01UIGVsbGVyIGxva2FsLCBtZW4gbG9rYWwtdGlkIGdpdmVyIHN0YWRpZyBtZW5pbmcpCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJBc3N1bWluZyBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluICVzIHRpbWUuXG4iCittc2dzdHIgIkFudGFnZXIgYXQgbWFza2ludXJldCBob2xkZXMgaSAlcy10aWQuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ3IHN5cy11dGlscy9od2Nsb2NrLmM6MzM0Cittc2dpZCAiVVRDIgorbXNnc3RyICJHTVQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ3IHN5cy11dGlscy9od2Nsb2NrLmM6MzMzCittc2dpZCAibG9jYWwiCittc2dzdHIgImxva2FsIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMxOAorbXNnaWQgIiIKKyJXYXJuaW5nOiB1bnJlY29nbml6ZWQgdGhpcmQgbGluZSBpbiBhZGp0aW1lIGZpbGVcbiIKKyIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pIgorbXNnc3RyICIiCisiQWR2YXJzZWw6IFVrZW5kdCB0cmVkamUgbGluamUgaSBhZGp0aW1lLWZpbFxuIgorIihGb3J2ZW50ZWRlOiDCu1VUQ8KrIGVsbGVyIMK7TE9DQUzCqyBlbGxlciBub2dldCBsaWduZW5kZSkuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMyNworIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGRyaWZ0IGFkanVzdG1lbnQgZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIlNpZHN0ZSBoYXN0aWdoZWRzanVzdGVyaW5nIGJsZXYgZ2pvcnQgJWxkIHNla3VuZGVyIGVmdGVyIDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBjYWxpYnJhdGlvbiBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiU2lkc3RlIGthbGlicmVyaW5nIGJsZXYgZm9yZXRhZ2V0ICVsZCBzZWt1bmRlciBlZnRlciAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkhhcmR3YXJlIGNsb2NrIGlzIG9uICVzIHRpbWVcbiIKK21zZ3N0ciAiTWFza2ludXJldCBlciBpICVzLXRpZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM1OAorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGZvciBjbG9jayB0aWNrLi4uXG4iCittc2dzdHIgIlZlbnRlciBww6UgZXQgdXItdGlrLi4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnN5bmNocm9uaXphdGlvbiBmYWlsZWRcbiIKK21zZ3N0ciAiLi4uc3lua3JvbmlzZXJpbmcgbWlzbHlra2VkZXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uZ290IGNsb2NrIHRpY2tcbiIKK21zZ3N0ciAiLi4uZmFuZ2VkZSB1ci10aWtcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZXMgaW4gaGFyZHdhcmUgY2xvY2s6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKK21zZ3N0ciAiVWd5bGRpZ2UgdsOmcmRpZXIgaSBtYXNraW51cjogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJIdyBjbG9jayB0aW1lIDogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiTWFza2ludXItdGlkOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNla3VuZGVyIHNpZGVuIDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZSByZWFkIGZyb20gSGFyZHdhcmUgQ2xvY2s6ICU0ZC8lLjJkLyUuMmQgJTAyZDolMDJkOiUwMmRcbiIKK21zZ3N0ciAiVGlkIGzDpnN0IGZyYSBtYXNraW51cmV0OiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgSGFyZHdhcmUgQ2xvY2sgdG8gJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIlPDpnR0ZXIgbWFza2ludXJldCB0aWwgJS4yZDolLjJkOiUuMmQgPSAlbGQgc2VrdW5kZXIgc2lkZW4gMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICJDbG9jayBub3QgY2hhbmdlZCAtIHRlc3Rpbmcgb25seS5cbiIKK21zZ3N0ciAiVXJldCB1w6ZuZHJldCAtIHRlc3RlZGUga3VuLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYwMworIywgYy1mb3JtYXQKK21zZ2lkICJzbGVlcGluZyB+JWQgdXNlY1xuIgorbXNnc3RyICJzb3ZlciB+JWQgdXNla1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltZSBqdW1wZWQgYmFja3dhcmQgJS42ZiBzZWNvbmRzIHRvICVsZC4lMDZsZCAtIHJldGFyZ2V0aW5nXG4iCittc2dzdHIgInRpZCBob3BwZXQgYmFnbMOmbnMgJS42ZiBzZWt1bmRlciB0aWwgJWxkLiUwNmQgLSBsYXZldCBueXQgbcOlbFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWxkLiUwNmxkIDwgJWxkLiUwNmxkICglLjZmKVxuIgorbXNnc3RyICIlbGQuJTA2ZCA8ICVsZC4lMDZkICglLjZmKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibWlzc2VkIGl0IC0gJWxkLiUwNmxkIGlzIHRvbyBmYXIgcGFzdCAlbGQuJTA2bGQgKCUuNmYgPiAlLjZmKVxuIgorbXNnc3RyICJtaXNzZWRlIGRldCAtICVsZC4lMDZkIGVyIGZvciBsYW5ndCBlZnRlciAlbGQuJTA2ZCAoJS42ZiA+ICUuNmYpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiJWxkLiUwNmxkIGlzIGNsb3NlIGVub3VnaCB0byAlbGQuJTA2bGQgKCUuNmYgPCAlLjZmKVxuIgorIlNldCBSVEMgdG8gJWxkICglbGQgKyAlZDsgcmVmc3lzdGltZSA9ICVsZC4lMDZsZClcbiIKK21zZ3N0ciAiIgorIiVsZC4lMDZkIGVyIHTDpnQgbm9rIHDDpSAlbGQuJTA2ZCAoJS42ZiA8ICUuNmYpXG4iCisiU8OmdCBSVEMgdGlsICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2ZClcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODgKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgcmVnaXN0ZXJzIGNvbnRhaW4gdmFsdWVzIHRoYXQgYXJlIGVpdGhlciBpbnZhbGlkIChlLmcuIDUwdGggZGF5IG9mIG1vbnRoKSBvciBiZXlvbmQgdGhlIHJhbmdlIHdlIGNhbiBoYW5kbGUgKGUuZy4gWWVhciAyMDk1KS4iCittc2dzdHIgIk1hc2tpbnVyZXRzIHJlZ2lzdHJlIGluZGVob2xkZXIgdsOmcmRpZXIsIGRlciBlbnRlbiBlciB1Z3lsZGlnZSAoZi5la3MuIDUwLiBkYWcgaSBtw6VuZWRlbikgZWxsZXIgdWRlbiBmb3IgZGV0IG9tcsOlZGUsIHZpIGthbiBow6VuZHRlcmUgKGYuZWtzLiDDpXIgMjA5NSkuIgorCisjIGVsLiBUaWx2YWxnZXQgLS1kYXRlIGJsZXYgaWtrZSBnaXZldAorIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MjgKK21zZ2lkICJObyAtLWRhdGUgb3B0aW9uIHNwZWNpZmllZC4iCittc2dzdHIgIkludGV0IC0tZGF0ZSB0aWx2YWxnIGFuZ2l2ZXQuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjczNAorbXNnaWQgIi0tZGF0ZSBhcmd1bWVudCB0b28gbG9uZyIKK21zZ3N0ciAicGFyYW1ldHJldCB0aWwgLS1kYXRlIGVyIGZvciBsYW5ndCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NDEKK21zZ2lkICIiCisiVGhlIHZhbHVlIG9mIHRoZSAtLWRhdGUgb3B0aW9uIGlzIG5vdCBhIHZhbGlkIGRhdGUuXG4iCisiSW4gcGFydGljdWxhciwgaXQgY29udGFpbnMgcXVvdGF0aW9uIG1hcmtzLiIKK21zZ3N0ciAiIgorIlbDpnJkaWVuIGFmIHRpbHZhbGdldCAtLWRhdGUgZXIgaWtrZSBlbiBneWxkaWcgZGF0by5cbiIKKyJNZXJlIHNwZWNpZmlrdCwgaW5kZWhvbGRlciBkZW4gYW5mw7hyc2Vsc3RlZ24uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJJc3N1aW5nIGRhdGUgY29tbWFuZDogJXNcbiIKK21zZ3N0ciAiVWRmw7hyZXIga29tbWFuZG9lbiBkYXRlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc1MworbXNnaWQgIlVuYWJsZSB0byBydW4gJ2RhdGUnIHByb2dyYW0gaW4gL2Jpbi9zaCBzaGVsbC4gcG9wZW4oKSBmYWlsZWQiCittc2dzdHIgIkt1bm5lIGlra2Uga8O4cmUgcHJvZ3JhbW1ldCBkYXRlIGkgc2thbGxlbiAvYmluL3NoLiBwb3BlbigpIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc2MQorIywgYy1mb3JtYXQKK21zZ2lkICJyZXNwb25zZSBmcm9tIGRhdGUgY29tbWFuZCA9ICVzXG4iCittc2dzdHIgInN2YXIgZnJhIGtvbW1hbmRvZW4gZGF0ZSA9ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCB1bmV4cGVjdGVkIHJlc3VsdHMuXG4iCisiVGhlIGNvbW1hbmQgd2FzOlxuIgorIiAgJXNcbiIKKyJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorIiAgJXMiCittc2dzdHIgIiIKKyJLb21tYW5kb2VuIGRhdGUgc2VuZHQgYWYgJXMgcmV0dXJuZXJlZGUgdXZlbnRlZGUgcmVzdWx0YXRlci5cbiIKKyJLb21tYW5kb2VuIHZhcjpcbiIKKyIgICVzXG4iCisiU3ZhcmV0IHZhcjpcbiIKKyIgICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc3NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgc29tZXRoaW5nIG90aGVyIHRoYW4gYW4gaW50ZWdlciB3aGVyZSB0aGUgY29udmVydGVkIHRpbWUgdmFsdWUgd2FzIGV4cGVjdGVkLlxuIgorIlRoZSBjb21tYW5kIHdhczpcbiIKKyIgICVzXG4iCisiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyIgJXNcbiIKK21zZ3N0ciAiIgorIktvbW1hbmRvZW4gZGF0ZSBzZW5kdCBhZiAlcyByZXR1cm5lcmVkZSBub2dldCBhbmRldCBlbmQgZXQgaGVsdGFsLCBodm9yIGRlbiBrb252ZXJ0ZXJlZGUgdGlkIGZvcnZlbnRlZGVzLlxuIgorIktvbW1hbmRvZW4gdmFyOlxuIgorIiAgJXNcbiIKKyJTdmFyZXQgdmFyOlxuIgorIiAgJXNcbiIKKworIyBsaWxsZSBkICh2aXJrZXIgc29tIGVuZ2Vsc2sgZmVqbCkKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzg2CisjLCBjLWZvcm1hdAorbXNnaWQgImRhdGUgc3RyaW5nICVzIGVxdWF0ZXMgdG8gJWxkIHNlY29uZHMgc2luY2UgMTk2OS5cbiIKK21zZ3N0ciAiRGF0b3Rla3N0ZW4gJXMgc3ZhcmVyIHRpbCAlbGQgc2VrdW5kZXIgc2lkZW4gMTk2OS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4MjQKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBzZXQgdGhlIFN5c3RlbSBUaW1lIGZyb20gaXQuIgorbXNnc3RyICJNYXNraW51cmV0IGluZGVob2xkZXIgaWtrZSBlbiBneWxkaWcgdGlkLCBzw6Ugdmkga2FuIGlra2Ugc8OmdHRlIHN5c3RlbXVyZXQgbWVkIGRldC4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQzIHN5cy11dGlscy9od2Nsb2NrLmM6OTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5OlxuIgorbXNnc3RyICJLYWxkZXIgc2V0dGltZW9mZGF5OlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg0NCBzeXMtdXRpbHMvaHdjbG9jay5jOjkzMgorIywgYy1mb3JtYXQKK21zZ2lkICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorbXNnc3RyICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg0NiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzNAorIywgYy1mb3JtYXQKK21zZ2lkICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKK21zZ3N0ciAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODUwIHN5cy11dGlscy9od2Nsb2NrLmM6OTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIHN5c3RlbSBjbG9jayBiZWNhdXNlIHJ1bm5pbmcgaW4gdGVzdCBtb2RlLlxuIgorbXNnc3RyICJTw6Z0dGVyIGlra2Ugc3lzdGVtdXJldCwgZGEgZGVyIGvDuHJlcyBpIHRlc3R0aWxzdGFuZC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NjYgc3lzLXV0aWxzL2h3Y2xvY2suYzo5NjIKK21zZ2lkICJNdXN0IGJlIHN1cGVydXNlciB0byBzZXQgc3lzdGVtIGNsb2NrLiIKK21zZ3N0ciAiU2thbCB2w6ZyZSBzdXBlcmJydWdlciBmb3IgYXQgc8OmdHRlIHN5c3RlbXVyZXQuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg2OSBzeXMtdXRpbHMvaHdjbG9jay5jOjk2NQorbXNnaWQgInNldHRpbWVvZmRheSgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dGltZW9mZGF5KCkgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkN1cnJlbnQgc3lzdGVtIHRpbWU6ICVsZCA9ICVzXG4iCittc2dzdHIgIkFrdHVlbCBzeXN0ZW10aWQ6ICVsZCA9ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlx0VVRDOiAlc1xuIgorbXNnc3RyICJcdFVUQyAoR01UKTogJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgLS11cGRhdGUtZHJpZnQgb3B0aW9uIHdhcyBub3QgdXNlZC5cbiIKK21zZ3N0ciAiSnVzdGVyZWRlIGlra2UgaGFzdGlnaGVkc2Zha3RvcmVuLCBkYSB0aWx2YWxnZXQgLS11cGRhdGUtZHJpZnQgaWtrZSBibGV2IGFudmVuZHQuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAwMAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSBIYXJkd2FyZSBDbG9jayBwcmV2aW91c2x5IGNvbnRhaW5lZCBnYXJiYWdlLlxuIgorbXNnc3RyICJKdXN0ZXJlZGUgaWtrZSBoYXN0aWdoZWRzZmFrdG9yZW4sIGRhIG1hc2tpbnVyZXQgdGlkbGlnZXJlIGhhdmRlIGVuIHVneWxkaWcgdsOmcmRpLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgbGFzdCBjYWxpYnJhdGlvbiB0aW1lIGlzIHplcm8sXG4iCisic28gaGlzdG9yeSBpcyBiYWQgYW5kIGNhbGlicmF0aW9uIHN0YXJ0b3ZlciBpcyBuZWNlc3NhcnkuXG4iCittc2dzdHIgIiIKKyJKdXN0ZXJlciBpa2tlIGhhc3RpZ2hlZHNmYWt0b3JlbiBkYSBzaWRzdGUga2FsaWJyZXJpbmdzdGlkIGVyIG51bCBcbiIKKyJvZyBrYW4gZGVyZm9yIGlra2UgYnJ1Z2VzLiBEZXQgZXIgbsO4ZHZlbmRpZ3QgYXQgc3RhcnRlIFxuIgorImthbGlicmVyaW5nZW4gZm9yZnJhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBpdCBoYXMgYmVlbiBsZXNzIHRoYW4gZm91ciBob3VycyBzaW5jZSB0aGUgbGFzdCBjYWxpYnJhdGlvbi5cbiIKK21zZ3N0ciAiSnVzdGVyZWRlIGlra2UgaGFzdGlnaGVkc2Zha3RvcmVuLCBkYSBkZXQgZXIgbWluZHJlIGVuZCBmaXJlIHRpbWVyIHNpZGVuIHNpZHN0ZSBrYWxpYnJlcmluZy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdCBmYWN0b3Igd2FzIGNhbGN1bGF0ZWQgYXMgJWYgc2Vjb25kcy9kYXkuXG4iCisiSXQgaXMgZmFyIHRvbyBtdWNoLiBSZXNldHRpbmcgdG8gemVyby5cbiIKK21zZ3N0ciAiIgorIlVyZXRzIGhhc3RpZ2hlZHNmYWt0b3IgYmxldiBiZXJlZ25ldCBzb20gJWYgc2VrdW5kZXIvZMO4Z24uXG4iCisiRGV0IGVyIGFsdCBmb3IgbWVnZXQuIE51bHN0aWxsZXIgdGlsIG51bC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnRlZCAlZiBzZWNvbmRzIGluIHRoZSBwYXN0ICVmIHNlY29uZHNcbiIKKyJpbiBzcGl0ZSBvZiBhIGRyaWZ0IGZhY3RvciBvZiAlZiBzZWNvbmRzL2RheS5cbiIKKyJBZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJ5ICVmIHNlY29uZHMvZGF5XG4iCittc2dzdHIgIiIKKyJVcmV0IGRyZXYgJS4xZiBzZWt1bmRlciBpIGzDuGJldCBhZiBkZSBzaWRzdGUgJS4xZiBzZWt1bmRlclxuIgorInDDpSB0cm9kcyBhZiBlbiBoYXN0aWdoZWRzZmFrdG9yIHDDpSAlZiBzZWt1bmRlci9kw7hnbi5cbiIKKyJKdXN0ZXJlciBoYXN0aWdoZWRzZmFrdG9yZW4gbWVkICVmIHNla3VuZGVyL2TDuGduXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5OQorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlZCBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWQgc2Vjb25kc1xuIgorbXNnc3RyWzBdICIlZCBzZWt1bmQgc2lkZW4gc2lkc3RlIGp1c3RlcmluZ1xuIgorbXNnc3RyWzFdICIlZCBzZWt1bmRlciBzaWRlbiBzaWRzdGUganVzdGVyaW5nXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2FsY3VsYXRlZCBIYXJkd2FyZSBDbG9jayBkcmlmdCBpcyAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICJCZXJlZ25ldCBtYXNraW51cmRyaWZ0IGVyICVsZC4lMDZkIHNla3VuZGVyXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEzMworIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgdXBkYXRpbmcgYWRqdGltZSBmaWxlIGJlY2F1c2Ugb2YgdGVzdGluZyBtb2RlLlxuIgorbXNnc3RyICJPcGRhdGVyZXIgaWtrZSBhZGp0aW1lLWZpbGVuLCBkYSBkZXIga8O4cmVzIGkgdGVzdHRpbHN0YW5kLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldvdWxkIGhhdmUgd3JpdHRlbiB0aGUgZm9sbG93aW5nIHRvICVzOlxuIgorIiVzIgorbXNnc3RyICIiCisiVmlsbGUgaGF2ZSBza3JldmV0IGbDuGxnZW5kZSB0aWwgJXM6XG4iCisiJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE0MworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgb3BlbiBmaWxlIHdpdGggdGhlIGNsb2NrIGFkanVzdG1lbnQgcGFyYW1ldGVycyBpbiBpdCAoJXMpIGZvciB3cml0aW5nIgorbXNnc3RyICJLdW5uZSBpa2tlIMOlYm5lIGZpbGVuIG1lZCB1cmp1c3RlcmluZ3NwYXJhbWV0cmVuZSAoJXMpIHRpbCBza3Jpdm5pbmciCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE0OSBzeXMtdXRpbHMvaHdjbG9jay5jOjExNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHVwZGF0ZSBmaWxlIHdpdGggdGhlIGNsb2NrIGFkanVzdG1lbnQgcGFyYW1ldGVycyAoJXMpIGluIGl0IgorbXNnc3RyICJLdW5uZSBpa2tlIG9wZGF0ZXJlIGZpbGVuIG1lZCB1cmp1c3RlcmluZ3NwYXJhbWV0cmVuZSAoJXMpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNjQKK21zZ2lkICJEcmlmdCBhZGp1c3RtZW50IHBhcmFtZXRlcnMgbm90IHVwZGF0ZWQuIgorbXNnc3RyICJIYXN0aWdoZWRzanVzdGVyaW5nIGJsZXYgaWtrZSBvcGRhdGVyZXQuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMDAKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBhZGp1c3QgaXQuIgorbXNnc3RyICJNYXNraW51cmV0IGluZGVob2xkZXIgaWtrZSBlbiBneWxkaWcgdGlkLCBzw6Ugdmkga2FuIGlra2UganVzdGVyZSBkZXQuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBsYXN0IGFkanVzdG1lbnQgdGltZSBpcyB6ZXJvLCBzbyBoaXN0b3J5IGlzIGJhZC5cbiIKK21zZ3N0ciAiSW5kc3RpbGxlciBpa2tlIHVyZXQgZGEgc2lkc3RlIGp1c3RlcmluZ3N0aWRzcHVua3QgZXIgbnVsLCBzw6UgaGlzdG9yaWtrZW4gZXIgdWd5bGRpZy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjEyCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgZHJpZnQgZmFjdG9yICVmIGlzIGZhciB0b28gaGlnaC5cbiIKK21zZ3N0ciAiSW5kc3RpbGxlciBpa2tlIHVyZXQgZGEgc2lkc3RlIGhhc3RpZ2hlZHNmYWt0b3IgJWYgZXIgbWVnZXQgZm9yIGjDuGouXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJObyB1c2FibGUgY2xvY2sgaW50ZXJmYWNlIGZvdW5kLlxuIgorbXNnc3RyICJGYW5kdCBpbmdlbiBicnVnYmFyZSB1ci1ncsOmbnNlZmxhZGVyLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmVlZGVkIGFkanVzdG1lbnQgaXMgbGVzcyB0aGFuIG9uZSBzZWNvbmQsIHNvIG5vdCBzZXR0aW5nIGNsb2NrLlxuIgorbXNnc3RyICJEZW4ga3LDpnZlZGUganVzdGVyaW5nIGVyIG1pbmRyZSBlbmQgw6l0IHNla3VuZCwgc8OlIHZpIHPDpnR0ZXIgaWtrZSB1cmV0LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzODggc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBzZXQgc3lzdGVtIGNsb2NrLlxuIgorbXNnc3RyICJLdW5uZSBpa2tlIHPDpnR0ZSBzeXN0ZW11cmV0LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OSwgUlRDIGlzIHByZWRpY3RlZCB0byByZWFkICVsZCBzZWNvbmRzIGFmdGVyIDE5NjkuXG4iCittc2dzdHIgIiVsZCBzZWt1bmRlciBlZnRlciAxOTY5IGVyIFJUQyBmb3J1ZHNldCB0aWwgYXQgbMOmc2UgJWxkIHNla3VuZGVyIGVmdGVyIDE5NjkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQzMQorbXNnaWQgIiIKKyJUaGUga2VybmVsIGtlZXBzIGFuIGVwb2NoIHZhbHVlIGZvciB0aGUgSGFyZHdhcmUgQ2xvY2sgb25seSBvbiBhbiBBbHBoYSBtYWNoaW5lLlxuIgorIlRoaXMgY29weSBvZiBod2Nsb2NrIHdhcyBidWlsdCBmb3IgYSBtYWNoaW5lIG90aGVyIHRoYW4gQWxwaGFcbiIKKyIoYW5kIHRodXMgaXMgcHJlc3VtYWJseSBub3QgcnVubmluZyBvbiBhbiBBbHBoYSBub3cpLiAgTm8gYWN0aW9uIHRha2VuLiIKK21zZ3N0ciAiIgorIktlcm5lbiBiZXZhcmVyIGt1biBlbiBlcG9rZXbDpnJkaSBmb3IgbWFza2ludXJldCBww6UgQWxwaGEtbWFza2luZXJcbiIKKyJEZW5uZSBrb3BpIGFmIGh3Y2xvY2sgYmxldiBrb21waWxlcmV0IHRpbCBlbiBhbmRlbiBtYXNraW5lIGVuZCBBbHBoYVxuIgorIihvZyBrw7hyZXIgZGVyZm9yIHNhbmRzeW5saWd2aXMgaWtrZSBww6UgZW4gQWxwaGEgbnUpLiBJbnRldCBibGV2IGdqb3J0LiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDQ4Cittc2dpZCAiVW5hYmxlIHRvIGdldCB0aGUgZXBvY2ggdmFsdWUgZnJvbSB0aGUga2VybmVsLiIKK21zZ3N0ciAiS3VubmUgaWtrZSBoZW50ZSBlbiBlcG9rZXbDpnJkaSBmcmEga2VybmVuLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIktlcm5lbCBpcyBhc3N1bWluZyBhbiBlcG9jaCB2YWx1ZSBvZiAlbHVcbiIKK21zZ3N0ciAiS2VybmVuIGfDpXIgdWQgZnJhIGVuIGVwb2tldsOmcmRpIHDDpSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDU1Cittc2dpZCAiVG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSwgeW91IG11c3QgdXNlIHRoZSAnZXBvY2gnIG9wdGlvbiB0byB0ZWxsIHRvIHdoYXQgdmFsdWUgdG8gc2V0IGl0LiIKK21zZ3N0ciAiRm9yIGF0IHPDpnR0ZSBlcG9rZXbDpnJkaWVuLCBza2FsIGR1IGJydWdlIHRpbHZhbGdldCBlcG9jaCBmb3IgYXQgYW5naXZlIGh2aWxrZW4gdsOmcmRpLCBkZW4gc2thbCBzw6Z0dGVzIHRpbC4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgdGhlIGVwb2NoIHRvICVsdSAtIHRlc3Rpbmcgb25seS5cbiIKK21zZ3N0ciAiU8OmdHRlciBJS0tFIGVwb2tldsOmcmRpZW4gdGlsICVkIC0gdGVzdGVyIGJhcmUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLlxuIgorbXNnc3RyICJLdW5uZSBpa2tlIHPDpnR0ZSBlcG9rZXbDpnJkaWVuIGkga2VybmVuLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NTYKK21zZ2lkICIgaHdjbG9jayBbZnVuY3Rpb25dIFtvcHRpb24uLi5dXG4iCittc2dzdHIgIiBod2Nsb2NrIFtmdW5rdGlvbl0gW3RpbHZhbGcuLi5dXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU1OQorbXNnaWQgIlF1ZXJ5IG9yIHNldCB0aGUgaGFyZHdhcmUgY2xvY2suXG4iCittc2dzdHIgIkZvcmVzcMO4cmcgZWxsZXIgaW5kc3RpbCBtYXNraW51cmV0LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjEKK21zZ2lkICIiCisiXG4iCisiRnVuY3Rpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiRnVua3Rpb25lcjpcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTYyCittc2dpZCAiIgorIiAtaCwgLS1oZWxwICAgICAgICAgICBzaG93IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisiIC1yLCAtLXNob3cgICAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IHJlc3VsdFxuIgorIiAgICAgLS1nZXQgICAgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCBkcmlmdCBjb3JyZWN0ZWQgcmVzdWx0XG4iCisiICAgICAtLXNldCAgICAgICAgICAgIHNldCB0aGUgUlRDIHRvIHRoZSB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCittc2dzdHIgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgdmlzIGRlbm5lIGhqw6ZscGV0ZWtzdCBvZyBhZnNsdXRcbiIKKyIgLXIsIC0tc2hvdyAgICAgICAgICAgbMOmcyBtYXNraW51ciBvZyB2aXMgcmVzdWx0YXRldFxuIgorIiAgICAgLS1nZXQgICAgICAgICAgICBsw6ZzIG1hc2tpbnVyIG9nIHZpcyBkZXQgZHJpZnRrb3JyaWdlcmVkZSByZXN1bHRhdFxuIgorIiAgICAgLS1zZXQgICAgICAgICAgICBzw6Z0IFJUQydlbiB0aWwgdGlkZW4gYW5naXZldCBtZWQgLS1kYXRlXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2NgorbXNnaWQgIiIKKyIgLXMsIC0taGN0b3N5cyAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorIiAtdywgLS1zeXN0b2hjICAgICAgICBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIGZyb20gdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWVcbiIKKyIgICAgIC0tc3lzdHogICAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBiYXNlZCBvbiB0aGUgY3VycmVudCB0aW1lem9uZVxuIgorIiAgICAgLS1hZGp1c3QgICAgICAgICBhZGp1c3QgdGhlIFJUQyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IHNpbmNlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNsb2NrIHdhcyBsYXN0IHNldCBvciBhZGp1c3RlZFxuIgorbXNnc3RyICIiCisiIC1zLCAtLWhjdG9zeXMgICAgICAgIGFuZ2l2IHN5c3RlbXRpZGVuIGZyYSBtYXNraW51cmV0XG4iCisiIC13LCAtLXN5c3RvaGMgICAgICAgIGFuZ2l2IG1hc2tpbnVyZXQgZnJhIGRlbiBudXbDpnJlbmRlIHN5c3RlbXRpZFxuIgorIiAgICAgLS1zeXN0eiAgICAgICAgICBhbmdpdiBzeXN0ZW10aWRlbiBiYXNlcmV0IHDDpSBkZW4gbnV2w6ZyZW5kZSB0aWRzem9uZVxuIgorIiAgICAgLS1hZGp1c3QgICAgICAgICBqdXN0ZXIgUlRDJ2VuIGZvciBhdCB0YWdlIGjDuGpkZSBmb3Igc3lzdGVtYXRpc2sganVzdGVyaW5nIHNpZGVuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdXJldCBzaWRzdCBibGV2IGluZHN0aWxsZXQgZWxsZXIganVzdGVyZXRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTcxCittc2dpZCAiIC1jLCAtLWNvbXBhcmUgICAgICAgIHBlcmlvZGljYWxseSBjb21wYXJlIHRoZSBzeXN0ZW0gY2xvY2sgd2l0aCB0aGUgQ01PUyBjbG9ja1xuIgorbXNnc3RyICIgLWMsIC0tY29tcGFyZSAgICAgICAgc2FtbWVubGluZyBwZXJpb2Rpc2sgc3lzdGVtdXJldCBtZWQgQ01PUy11cmV0XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU3MworbXNnaWQgIiIKKyIgICAgIC0tZ2V0ZXBvY2ggICAgICAgcHJpbnQgb3V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZVxuIgorIiAgICAgLS1zZXRlcG9jaCAgICAgICBzZXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlIHRvIHRoZSBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBnaXZlbiB3aXRoIC0tZXBvY2hcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1nZXRlcG9jaCAgICAgICB1ZHNrcml2IGtlcm5lbWFza2ludXJldHMgZXBva2V2w6ZyZGlcbiIKKyIgICAgIC0tc2V0ZXBvY2ggICAgICAgc8OmdCBrZXJuZW1hc2tpbnVyZXRzIGVwb2tldsOmcmRpIHRpbCB2w6ZyZGllblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGFuZ2l2ZXQgbWVkIC0tZXBvY2hcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTc3Cittc2dpZCAiIgorIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IFJUQyByZWFkaW5nIGF0IHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKyIgICAgIC0tcHJlZGljdCAgICAgICAgZm9ydWRzaWcgUlRDLWzDpnNuaW5nIHDDpSB0aWQgYW5naXZldCBtZWQgLS1kYXRlXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgIHZpcyB2ZXJzaW9uc2luZm9ybWF0aW9uIG9nIGFmc2x1dFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODEKK21zZ2lkICIiCisiIC11LCAtLXV0YyAgICAgICAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIFVUQ1xuIgorIiAgICAgLS1sb2NhbHRpbWUgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBsb2NhbCB0aW1lXG4iCittc2dzdHIgIiIKKyIgLXUsIC0tdXRjICAgICAgICAgICAgbWFza2ludXJldCB1ciBob2xkZXMgaSBVVENcbiIKKyIgICAgIC0tbG9jYWx0aW1lICAgICAgbWFza2ludXJldCBob2xkZXMgaSBsb2thbCB0aWRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTg0Cittc2dpZCAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIHNwZWNpYWwgL2Rldi8uLi4gZmlsZSB0byB1c2UgaW5zdGVhZCBvZiBkZWZhdWx0XG4iCittc2dzdHIgIiAtZiwgLS1ydGMgPGZpbD4gICAgICBzcGVjaWVsIC9kZXYvLi4uLWZpbCBhdCBicnVnZSBpIHN0ZWRldCBmb3Igc3RhbmRhcmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tZGlyZWN0aXNhICAgICAgYWNjZXNzIHRoZSBJU0EgYnVzIGRpcmVjdGx5IGluc3RlYWQgb2YgJXNcbiIKKyIgICAgIC0tYmFkeWVhciAgICAgICAgaWdub3JlIFJUQydzIHllYXIgYmVjYXVzZSB0aGUgQklPUyBpcyBicm9rZW5cbiIKKyIgICAgIC0tZGF0ZSA8dGltZT4gICAgc3BlY2lmaWVzIHRoZSB0aW1lIHRvIHdoaWNoIHRvIHNldCB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyIgICAgIC0tZXBvY2ggPHllYXI+ICAgc3BlY2lmaWVzIHRoZSB5ZWFyIHdoaWNoIGlzIHRoZSBiZWdpbm5pbmcgb2YgdGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgaGFyZHdhcmUgY2xvY2sncyBlcG9jaCB2YWx1ZVxuIgorbXNnc3RyICIiCisiICAgICAtLWRpcmVjdGlzYSAgICAgIHRpbGfDpSBJU0EtYnVzc2VuIGRpcmVrdGUgaSBzdGVkZXQgZm9yICVzXG4iCisiICAgICAtLWJhZHllYXIgICAgICAgIGlnbm9yZXIgUlRDJ3Mgw6VyIGRhIEJJT1MnZW4gZXIgw7hkZWxhZ3RcbiIKKyIgICAgIC0tZGF0ZSA8dGlkPiAgICAgc3BlY2lmaWNlcmVyIHRpZGVuIGZvciBtYXNraW51cmV0XG4iCisiICAgICAtLWVwb2NoIDzDpXI+ICAgICBzcGVjaWZpY2VyZXIgw6VyZXQgc29tIGVyIGJlZ3luZGVsc2VuIGZvclxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIG1hc2tpbnVyZXRzIGVwb2tldsOmcmRpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLXVwZGF0ZS1kcmlmdCAgIHVwZGF0ZSBkcmlmdCBmYWN0b3IgaW4gJTEkcyAocmVxdWlyZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAtLXNldCBvciAtLXN5c3RvaGMpXG4iCisiICAgICAtLW5vYWRqZmlsZSAgICAgIGRvIG5vdCBhY2Nlc3MgJTEkczsgdGhpcyByZXF1aXJlcyB0aGUgdXNlIG9mXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lXG4iCisiICAgICAtLWFkamZpbGUgPGZpbGU+IHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGU7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRlZmF1bHQgaXMgJTEkc1xuIgorbXNnc3RyICIiCisiICAgICAtLXVwZGF0ZS1kcmlmdCAgIG9wZGF0ZXIgZHJpZnRmYWt0b3IgaSAlMSRzIChrcsOmdmVyXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgLS1zZXQgZWxsZXIgLS1zeXN0b2hjKVxuIgorIiAgICAgLS1ub2FkamZpbGUgICAgICB0aWxnw6UgaWtrZSAlMSRzOyBkZXR0ZSBrcsOmdmVyIGJydWdlbiBhZlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGVudGVuIC0tdXRjIGVsbGVyIC0tbG9jYWx0aW1lXG4iCisiICAgICAtLWFkamZpbGUgPGZpbD4gIHNwZWNpZmljZXJlciBzdGllbiB0aWwganVzdGVyaW5nc2ZpbGVuO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHN0YW5kYXJkZW4gZXIgJTEkc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1OTkKK21zZ2lkICIiCisiICAgICAtLXRlc3QgICAgICAgICAgIGRvIG5vdCB1cGRhdGUgYW55dGhpbmcsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGhhcHBlblxuIgorIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBkZWJ1Z2dpbmcgbW9kZVxuIgorIlxuIgorbXNnc3RyICIiCisiICAgICAtLXRlc3QgICAgICAgICAgIG9wZGF0ZXIgaWtrZSBub2dldCwgYmFyZSBodmlzIGh2YWQgZGVyIHZpbGxlIHNrZVxuIgorIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBmZWpsc8O4Z25pbmdzdGlsc3RhbmRcbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNjAyCittc2dpZCAiIgorIiAtSnwtLWplbnNlbiwgLUF8LS1hcmMsIC1TfC0tc3JtLCAtRnwtLWZ1bmt5LXRveVxuIgorIiAgICAgIHRlbGwgaHdjbG9jayB0aGUgdHlwZSBvZiBBbHBoYSB5b3UgaGF2ZSAoc2VlIGh3Y2xvY2soOCkpXG4iCisiXG4iCittc2dzdHIgIiIKKyIgLUp8LS1qZW5zZW4sIC1BfC0tYXJjLCAtU3wtLXNybSwgLUZ8LS1mdW5reS10b3lcbiIKKyIgICAgICBmb3J0w6ZsIGh3Y2xvY2sgb20gZGluIEFscGhhdHlwZSAoc2UgaHdjbG9jayg4KSlcbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNzI4Cittc2dpZCAiVW5hYmxlIHRvIGNvbm5lY3QgdG8gYXVkaXQgc3lzdGVtIgorbXNnc3RyICJLdW5uZSBpa2tlIGZvcmJpbmRlIHRpbCByZXZpc2lvbnNzeXN0ZW1ldCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODI2Cittc2dpZCAiaW52YWxpZCBlcG9jaCBhcmd1bWVudCIKK21zZ3N0ciAidWd5bGRpZ3QgZXBva2VwYXJhbWV0ZXIiCisKKyMgIiVzIGFjY2VwdGVyZXIga3VuIHRpbHZhbGdzcGFyYW1ldHJlLiAuLi4iCisjIChhbHRzw6UgbWFuIGthbiBpa2tlIHNrcml2ZSAnaHdjbG9jayBoZWxsbycsIG1lbiBtYW4ga2FuIG3DpXNrZSBza3JpdmUKKyMgJ2h3Y2xvY2sgLS1zb21lb3B0aW9uIGhlbGxvJykKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTg3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB0YWtlcyBubyBub24tb3B0aW9uIGFyZ3VtZW50cy4gIFlvdSBzdXBwbGllZCAlZC5cbiIKK21zZ3N0ciAiJXMgYWNjZXB0ZXJlciBrdW4gdGlsdmFsZ3NwYXJhbWV0cmUuIER1IGFuZ2F2IHBhcmFtZXRlcmVuICVkLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4ODAKK21zZ2lkICJXaXRoIC0tbm9hZGpmaWxlLCB5b3UgbXVzdCBzcGVjaWZ5IGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZSIKK21zZ3N0ciAiTWVkIC0tbm9hZGpmaWxlIHNrYWwgZHUgYW5naXZlIGVudGVuIC0tdXRjIG9yIC0tbG9jYWx0aW1lIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4OTMKK21zZ2lkICJObyB1c2FibGUgc2V0LXRvIHRpbWUuICBDYW5ub3Qgc2V0IGNsb2NrLiIKK21zZ3N0ciAiSW5nZW4gYnJ1Z2JhciB0aWQgYXQgc8OmdHRlIHRpbC4gS2FuIGlra2Ugc8OmdHRlIHVyZXQuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE5MTcKK21zZ2lkICJDYW5ub3QgYWNjZXNzIHRoZSBIYXJkd2FyZSBDbG9jayB2aWEgYW55IGtub3duIG1ldGhvZC4iCittc2dzdHIgIkthbiBpa2tlIHRpbGfDpSBtYXNraW51cmV0IG1lZCBub2dlbiBrZW5kdCBtZXRvZGUuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE5MjAKK21zZ2lkICJVc2UgdGhlIC0tZGVidWcgb3B0aW9uIHRvIHNlZSB0aGUgZGV0YWlscyBvZiBvdXIgc2VhcmNoIGZvciBhbiBhY2Nlc3MgbWV0aG9kLiIKK21zZ3N0ciAiQmVueXQgdGlsdmFsZ2V0IC0tZGVidWcgZm9yIGF0IHNlIGRldGFsamVybmUgZnJhIHZvcmVzIHPDuGduaW5nIGVmdGVyIGVuIHRpbGdhbmdzbWV0b2RlLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjIyMworIywgYy1mb3JtYXQKK21zZ2lkICJib290ZWQgZnJvbSBNSUxPXG4iCittc2dzdHIgInN0YXJ0ZWRlIG9wIG1lZCBNSUxPXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUnVmZmlhbiBCQ0QgY2xvY2tcbiIKK21zZ3N0ciAiwrtSdWZmaWFuwqsgQkNELXVyXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvY2twb3J0IGFkanVzdGVkIHRvIDB4JXhcbiIKK21zZ3N0ciAidXJwb3J0IGp1c3RlcmV0IHRpbCAweCV4XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnVua3kgVE9ZIVxuIgorbXNnc3RyICLCu2Z1bmt5IFRPWcKrICh0aWQtcMOlLcOlcmV0KSFcbiIKKworIyBtb21lbnRhbiAodGlkbGlnZXJlIG92ZXJzw6Z0dGVsc2UgZm9yIGF0b21pYykKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXRvbWljICVzIGZhaWxlZCBmb3IgMTAwMCBpdGVyYXRpb25zISIKK21zZ3N0ciAiYXRvbWlzayAlcyBtaXNseWtrZWRlcyBpIDEuMDAwIGl0ZXJhdGlvbmVyISIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjMyNAorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3JlYWQoKTogd3JpdGUgdG8gY29udHJvbCBhZGRyZXNzICVYIGZhaWxlZCIKK21zZ3N0ciAiY21vc19yZWFkKCk6IHNrcml2bmluZyB0aWwga29udHJvbGFkcmVzc2UgJVggbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc19yZWFkKCk6IHJlYWQgZnJvbSBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICJjbW9zX3JlYWQoKTogbMOmc25pbmcgYWYgZGF0YWFkcmVzc2UgJVggbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICJjbW9zX3dyaXRlKCk6IHNrcml2bmluZyB0aWwga29udHJvbGFkcmVzc2UgJVggbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICJjbW9zX3dyaXRlKCk6IHNrcml2bmluZyB0aWwgZGF0YWFkcmVzc2UgJVggbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NDUKK21zZ2lkICJJIGZhaWxlZCB0byBnZXQgcGVybWlzc2lvbiBiZWNhdXNlIEkgZGlkbid0IHRyeS4iCittc2dzdHIgIkplZyBrdW5uZSBpa2tlIGbDpSBhZGdhbmcgZm9yZGkgamVnIGlra2UgZm9yc8O4Z3RlLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY0OAorbXNnaWQgInVuYWJsZSB0byBnZXQgSS9PIHBvcnQgYWNjZXNzOiAgdGhlIGlvcGwoMykgY2FsbCBmYWlsZWQuIgorbXNnc3RyICJrYW4gaWtrZSBmw6UgYWRnYW5nIHRpbCBJL08tcG9ydDogS2FsZCBhZiBpb3BsKDMpIG1pc2x5a2tlZGVzLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY1MQorbXNnaWQgIlByb2JhYmx5IHlvdSBuZWVkIHJvb3QgcHJpdmlsZWdlcy5cbiIKK21zZ3N0ciAiRHUgYmVow7h2ZXIgbm9rIHJvb3QtcmV0dGlnaGVkZXIuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NTgKK21zZ2lkICJVc2luZyBkaXJlY3QgSS9PIGluc3RydWN0aW9ucyB0byBJU0EgY2xvY2suIgorbXNnc3RyICJCcnVnZXIgZGlyZWt0ZSBJL08taW5zdHJ1a3Rpb25lciB0aWwgSVNBLXVyLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTk1CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byByZWFkIHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoJXMpIHRpbCAlcyBmb3IgYXQgYWZsw6ZzZSB0aWRlbiBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tICVzIHRvIGNoYW5nZVxuIgorbXNnc3RyICJWZW50ZXIgaSBsw7hra2UgKGxvb3ApIHDDpSBhdCB0aWRlbiBmcmEgJXMgw6ZuZHJlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMzYKK21zZ2lkICJUaW1lZCBvdXQgd2FpdGluZyBmb3IgdGltZSBjaGFuZ2UuIgorbXNnc3RyICJUaWRzdWRsw7hiIG1lbnMgZGVyIHZlbnRlZGVzIHDDpSB0aWRzw6ZuZHJpbmcuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgaGF2ZSBpbnRlcnJ1cHQgZnVuY3Rpb25zLiAiCittc2dzdHIgIiVzIGhhciBpbmdlbiBpbnRlcnJ1cHRmdW5rdGlvbmVyLiAiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMwMgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKK21zZ3N0ciAic2VsZWN0KCkgdGlsICVzIGZvciBhdCBhZnZlbnRlIGV0IHVyLXRpayBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgdGltZWQgb3V0IgorbXNnc3RyICJzZWxlY3QoKSBhZiAlcyBmb3IgYXQgYWZ2ZW50ZSBww6UgZXQgdXItdGlrIHVkbMO4YiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvZmYgdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIgorbXNnc3RyICJpb2N0bCgpIHRpbCAlcyBmb3IgYXQgYWZicnlkZSBvcGRhdGVyaW5nc2ludGVycnVwdHMgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb24gdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIHVuZXhwZWN0ZWRseSIKK21zZ3N0ciAiaW9jdGwoKSB0aWwgJXMgZm9yIGF0IGFmYnJ5ZGUgb3BkYXRlcmluZ3NpbnRlcnJ1cHRzIG1pc2x5a2tlZGVzIHV2ZW50ZXQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gc2V0IHRoZSB0aW1lIGZhaWxlZC4iCittc2dzdHIgImlvY3RsKCVzKSB0aWwgJXMgZm9yIGF0IHPDpnR0ZSB0aWRlbiBtaXNseWtrZWRlcy4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgd2FzIHN1Y2Nlc3NmdWwuXG4iCittc2dzdHIgImlvY3RsKCVzKSBseWtrZWRlcy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mzg3Cittc2dpZCAiVXNpbmcgdGhlIC9kZXYgaW50ZXJmYWNlIHRvIHRoZSBjbG9jay4iCittc2dzdHIgIkJydWdlciAvZGV2LWdyw6Zuc2VmbGFkZW4gdGlsIHVyZXQuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MTcgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRvIG1hbmlwdWxhdGUgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwsIHdlIG11c3QgYWNjZXNzIHRoZSBMaW51eCAncnRjJyBkZXZpY2UgZHJpdmVyIHZpYSB0aGUgZGV2aWNlIHNwZWNpYWwgZmlsZSAlcy4gIFRoaXMgZmlsZSBkb2VzIG5vdCBleGlzdCBvbiB0aGlzIHN5c3RlbS4iCittc2dzdHIgIkZvciBhdCBtYW5pcHVsZXJlIGVwb2tldsOmcmRpZW4gaSBrZXJuZW4sIHNrYWwgdmkgaGF2ZSBhZGdhbmcgdGlsIExpbnV4JyBtYXNraW51cnNlbmhlZCB2aWEgZW5oZWRzc3BlY2llbGZpbGVuICVzLiBEZW5uZSBmaWwgZmluZGVzIGlra2UgcMOlIGRldHRlIHN5c3RlbS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQyOQorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bChSVENfRVBPQ0hfUkVBRCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfUkVBRCkgdGlsICVzIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndlIGhhdmUgcmVhZCBlcG9jaCAlbHUgZnJvbSAlcyB3aXRoIFJUQ19FUE9DSF9SRUFEIGlvY3RsLlxuIgorbXNnc3RyICJ2aSBoYXIgYWZsw6ZzdCBlcG9rZXbDpnJkaSAlbGQgZnJhICVzIG1lZCBSVENfRVBPQ0hfUkVBRCBpb2N0bC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlcG9jaCB2YWx1ZSBtYXkgbm90IGJlIGxlc3MgdGhhbiAxOTAwLiAgWW91IHJlcXVlc3RlZCAlbGQiCittc2dzdHIgIkVwb2tldsOmcmRpZW4gbcOlIGlra2UgdsOmcmUgbWluZHJlIGVuZCAxOTAwLiBEdSBiYWQgb20gJWxkIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgZXBvY2ggdG8gJWx1IHdpdGggUlRDX0VQT0NIX1NFVCBpb2N0bCB0byAlcy5cbiIKK21zZ3N0ciAic8OmdHRlciBlcG9rZXbDpnJkaWVuIHRpbCAlbGQgbWVkIGVuIFJUQ19FUE9DSF9TRVQgaW9jdGwgdGlsICVzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGtlcm5lbCBkZXZpY2UgZHJpdmVyIGZvciAlcyBkb2VzIG5vdCBoYXZlIHRoZSBSVENfRVBPQ0hfU0VUIGlvY3RsLiIKK21zZ3N0ciAiS2VybmVucyBlbmhlZHNkcml2ZXIgZm9yICVzIGhhciBpa2tlIGVuIFJUQ19FUE9DSF9TRVQgaW9jdGwuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoUlRDX0VQT0NIX1NFVCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfU0VUKSB0aWwgJXMgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjY5Cittc2dpZCAiQ3JlYXRlIHZhcmlvdXMgSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiT3ByZXQgZGl2ZXJzZSBJUEMtcmVzc291cmNlci5cbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzIKK21zZ2lkICIgLU0sIC0tc2htZW0gPHNpemU+ICAgICAgIGNyZWF0ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgb2Ygc2l6ZSA8c2l6ZT5cbiIKK21zZ3N0ciAiIC1NLCAtLXNobWVtIDxzdMO4cnJlbHNlPiAgb3ByZXQgZGVsdCBodWtvbW1lbHNlc3NlZ21lbnQgZm9yIHN0w7hycmVsc2UgPHN0w7hycmVsc2U+XG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjczCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZSA8bnVtYmVyPiBjcmVhdGUgc2VtYXBob3JlIGFycmF5IHdpdGggPG51bWJlcj4gZWxlbWVudHNcbiIKK21zZ3N0ciAiIC1TLCAtLXNlbWFwaG9yZSA8YW50YWw+ICBvcHJldCBzZW1hZm9yZWFycmF5IG1lZCA8YW50YWw+IGVsZW1lbnRlclxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NAorbXNnaWQgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgY3JlYXRlIG1lc3NhZ2UgcXVldWVcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICBvcHJldCBiZXNrZWRrw7hcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzUKK21zZ2lkICIgLXAsIC0tbW9kZSA8bW9kZT4gICAgICAgIHBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZSAoZGVmYXVsdCBpcyAwNjQ0KVxuIgorbXNnc3RyICIgLXAsIC0tbW9kZSA8dGlsc3RhbmQ+ICAgIHRpbGxhZGVsc2UgZm9yIHJlc3NvdXJjZW4gKHN0YW5kYXJkIGVyIDA2NDQpXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExMCBzeXMtdXRpbHMvbG9zZXR1cC5jOjY5NyBzeXMtdXRpbHMvenJhbWN0bC5jOjYyMgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIHN0w7hycmVsc2UiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbGVtZW50cyIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBlbGVtZW50ZXIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MQorbXNnaWQgImNyZWF0ZSBzaGFyZSBtZW1vcnkgZmFpbGVkIgorbXNnc3RyICJvcHJldHRlbHNlIGFmIGRlbHQgaHVrb21tZWxzZSBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoYXJlZCBtZW1vcnkgaWQ6ICVkXG4iCittc2dzdHIgIkRlbHQgaHVrb21tZWxzZXMtaWQ6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0OQorbXNnaWQgImNyZWF0ZSBtZXNzYWdlIHF1ZXVlIGZhaWxlZCIKK21zZ3N0ciAib3ByZXR0ZWxzZSBhZiBiZXNrZWRrw7ggbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIHF1ZXVlIGlkOiAlZFxuIgorbXNnc3RyICJCZXNrZWRrw7gtaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU3Cittc2dpZCAiY3JlYXRlIHNlbWFwaG9yZSBmYWlsZWQiCittc2dzdHIgIm9wcmV0dGVsc2UgYWYgc2VtYWZvciBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbWFwaG9yZSBpZDogJWRcbiIKK21zZ3N0ciAiU2VtYWZvci1pZDogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIHNobXxtc2d8c2VtIDxpZD4uLi5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFt0aWx2YWxnXVxuIgorIiAlMSRzIHNobXxtc2d8c2VtIDxpZD4gLi4uXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU0Cittc2dpZCAiUmVtb3ZlIGNlcnRhaW4gSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiRmplcm4gYmVzdGVtdGUgSVBDLXJlc3NvdXJjZXIuXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU3Cittc2dpZCAiIC1tLCAtLXNobWVtLWlkIDxpZD4gICAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkgaWRcbiIKK21zZ3N0ciAiIC1tLCAtLXNobWVtLWlkIDxpZD4gICAgICAgIGZqZXJuIGRlbHQgaHVrb21tZWxzZXNzZWdtZW50IGVmdGVyIGlkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU4Cittc2dpZCAiIC1NLCAtLXNobWVtLWtleSA8a2V5PiAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkga2V5XG4iCittc2dzdHIgIiAtTSwgLS1zaG1lbS1rZXkgPG7DuGdsZT4gICAgZmplcm4gZGVsdCBodWtvbW1lbHNlc3NlZ21lbnQgZWZ0ZXIgbsO4Z2xlXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU5Cittc2dpZCAiIC1xLCAtLXF1ZXVlLWlkIDxpZD4gICAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGlkXG4iCittc2dzdHIgIiAtcSwgLS1xdWV1ZS1pZCA8aWQ+ICAgICAgICBmamVybiBiZXNrZWQgZWZ0ZXIgaWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjAKK21zZ2lkICIgLVEsIC0tcXVldWUta2V5IDxrZXk+ICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkga2V5XG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZS1rZXkgPG7DuGdsZT4gICAgZmplcm4gYmVza2Vka8O4IGVmdGVyIG7DuGdsZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MQorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmUtaWQgPGlkPiAgICByZW1vdmUgc2VtYXBob3JlIGJ5IGlkXG4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmUtaWQgPGlkPiAgICBmamVybiBzZW1hZm9yIGVmdGVyIGlkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYyCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGtleT4gIHJlbW92ZSBzZW1hcGhvcmUgYnkga2V5XG4iCittc2dzdHIgIiAtUywgLS1zZW1hcGhvcmUta2V5IDxuw7hnbGU+IGZqZXJuIHNlbWFmb3JlIGVmdGVyIG7DuGdsZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MworbXNnaWQgIiAtYSwgLS1hbGxbPXNobXxtc2d8c2VtXSAgICByZW1vdmUgYWxsIChpbiB0aGUgc3BlY2lmaWVkIGNhdGVnb3J5KVxuIgorbXNnc3RyICIgLWEsIC0tYWxsWz1zaG18bXNnfHNlbV0gICAgZmplcm4gYWxsZSAoaSBkZW4gc3BlY2lmaWNlcmVkZSBrYXRlZ29yaSlcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIHZpcyBodmFkIGRlciBza2VyXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBpZCBgJWQnXG4iCittc2dzdHIgImZqZXJuZXIgZGVsdCBodWtvbW1lbHNlc3NlZ21lbnQtaWQgwrslZMKrXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIG1lc3NhZ2UgcXVldWUgaWQgYCVkJ1xuIgorbXNnc3RyICJmamVybmVyIGJlc2tlZGvDuC1pZCDCuyVkwqtcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3Zpbmcgc2VtYXBob3JlIGlkIGAlZCdcbiIKK21zZ3N0ciAiZmplcm5lciBzZW1hZm9yLWlkIMK7JWTCq1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDggc3lzLXV0aWxzL2lwY3JtLmM6MjIyCittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGtleSIKK21zZ3N0ciAiYWRnYW5nIHRpbCBuw7hnbGUgbsOmZ3RldCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGlkIgorbXNnc3RyICJhZGdhbmcgdGlsIGlkIG7Dpmd0ZXQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMSBzeXMtdXRpbHMvaXBjcm0uYzoyMjgKK21zZ2lkICJpbnZhbGlkIGtleSIKK21zZ3N0ciAidWd5bGRpZyBuw7hnbGUiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMQorbXNnaWQgImludmFsaWQgaWQiCittc2dzdHIgInVneWxkaWd0IGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQgc3lzLXV0aWxzL2lwY3JtLmM6MjI1Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGtleSIKK21zZ3N0ciAiaGFyIGFsbGVyZWRlIGZqZXJuZXQgbsO4Z2xlIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQgaWQiCittc2dzdHIgImlkIGFsbGVyZWRlIGZqZXJuZXQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNyBzeXMtdXRpbHMvaXBjcm0uYzoyMzEKK21zZ2lkICJrZXkgZmFpbGVkIgorbXNnc3RyICJuw7hnbGUgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNworbXNnaWQgImlkIGZhaWxlZCIKK21zZ3N0ciAiaWQgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEzNAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkOiAlcyIKK21zZ3N0ciAidWd5bGRpZ3QgaWQ6ICVzIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzb3VyY2UocykgZGVsZXRlZFxuIgorbXNnc3RyICJyZXNzb3VyY2VyIHNsZXR0ZXRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwga2V5ICglcykiCittc2dzdHIgInVneWxkaWcgbsO4Z2xlICglcykiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI1NgorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAia2VybmVuIGVyIGlra2Uga29uZmlndXJlcmV0IHRpbCBicnVnIGFmIGRlbHQgaHVrb21tZWxzZSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjY5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzIgorbXNnc3RyICJrZXJuZW4gZXIgaWtrZSBrb25maWd1cmVyZXQgdGlsIHNlbWFmb3JlciIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjkwCittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAia2VybmVuIGVyIGlra2Uga29uZmlndXJlcmV0IHRpbCBiZXNrZWRrw7hlciIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW3Jlc291cmNlLW9wdGlvbi4uLl0gW291dHB1dC1vcHRpb25dXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorbXNnc3RyICIiCisiICUxJHMgW3Jlc291cmNlLW9wdGlvbi4uLl0gW291dHB1dC1vcHRpb25dXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU2IHN5cy11dGlscy9sc2lwYy5jOjI4MAorbXNnaWQgIlNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMuXG4iCittc2dzdHIgIlZpcyBpbmZvcm1hdGlvbiBvbSBJUEMtZmFjaWxpdGV0ZXIuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiIC1pLCAtLWlkIDxpZD4gIHZpcyBkZXRhbGplciBvbSByZXNzb3VyY2VuIG1lZCBkZXQgYW5naXZldCA8aWQ+XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQgc3lzLXV0aWxzL2xzaXBjLmM6MjgzCittc2dpZCAiUmVzb3VyY2Ugb3B0aW9uczpcbiIKK21zZ3N0ciAiUmVzc291cmNldGlsdmFsZzpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NSBzeXMtdXRpbHMvbHNpcGMuYzoyODQKK21zZ2lkICIgLW0sIC0tc2htZW1zICAgICAgc2hhcmVkIG1lbW9yeSBzZWdtZW50c1xuIgorbXNnc3RyICIgLW0sIC0tc2htZW1zICAgICAgZGVsdGUgaHVrb21tZWxzZXNzZWdtZW50ZXJcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NiBzeXMtdXRpbHMvbHNpcGMuYzoyODUKK21zZ2lkICIgLXEsIC0tcXVldWVzICAgICAgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlcyAgICAgIGJlc2tlZGvDuGVyXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Njcgc3lzLXV0aWxzL2xzaXBjLmM6Mjg2Cittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZXMgIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiIC1zLCAtLXNlbWFwaG9yZXMgIHNlbWFmb3JlclxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgIGFsbCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgIGFsbGUgKHN0YW5kYXJkKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcxCittc2dpZCAiT3V0cHV0IG9wdGlvbnM6XG4iCittc2dzdHIgIlZpc25pbmdzaW5kc3RpbGxpbmdlcjpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MgorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgICAgICAgIHZpcyB0aWwtLCBhZmtvYmxpbmdzLSBvZyDDpm5kcmluZ3N0aWRlclxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjczCittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgIHNob3cgUElEcyBvZiBjcmVhdG9yIGFuZCBsYXN0IG9wZXJhdG9yXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICB2aXMgUElEJ2VyIGZvciBvcHJldHRlciBvZyBzZW5lc3RlIG9wZXJhdMO4clxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc0Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiIC1jLCAtLWNyZWF0b3IgICAgIHZpcyBvcHJldHRlciBvZyBlamVyXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzUKK21zZ2lkICIgLWwsIC0tbGltaXRzICAgICAgc2hvdyByZXNvdXJjZSBsaW1pdHNcbiIKK21zZ3N0ciAiIC1sLCAtLWxpbWl0cyAgICAgIHZpcyByZXNzb3VyY2ViZWdyw6Zuc25pbmdlclxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc2Cittc2dpZCAiIC11LCAtLXN1bW1hcnkgICAgIHNob3cgc3RhdHVzIHN1bW1hcnlcbiIKK21zZ3N0ciAiIC11LCAtLXN1bW1hcnkgICAgIHZpcyBzdGF0dXNyZWZlcmF0XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzcKK21zZ2lkICIgICAgIC0taHVtYW4gICAgICAgc2hvdyBzaXplcyBpbiBodW1hbi1yZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLWh1bWFuICAgICAgIHZpcyBzdMO4cnJlbHNlciBpIGV0IGzDpnNldmVubGlndCBmb3JtYXRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3OAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICBzaG93IHNpemVzIGluIGJ5dGVzXG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICB2aXMgc3TDuHJyZWxzZXIgaSBieXRlXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MTY0Cittc2dpZCAid2hlbiB1c2luZyBhbiBJRCwgYSBzaW5nbGUgcmVzb3VyY2UgbXVzdCBiZSBzcGVjaWZpZWQiCittc2dzdHIgIm7DpXIgZGVyIGJydWdlcyBpZCwgc2thbCBlbiBlbmtlbHQgcmVzc291cmNlIHbDpnJlIGFuZ2l2ZXQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2hhcmVkIG1lbW9yeSBsaW1pdHNcbiIKK21zZ3N0ciAibWFrcy4gc2FtbGV0IGRlbHQgaHVrb21tZWxzZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0gR3LDpm5zZXIgZm9yIGRlbHQgaHVrb21tZWxzZSAtLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBzZWdtZW50cyA9ICVqdVxuIgorbXNnc3RyICJtYWtzLiBhbnRhbCBzZWdtZW50ZXIgPSAlanVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDkKK21zZ2lkICJtYXggc2VnIHNpemUiCittc2dzdHIgIm1ha3MuIHNlZy1zdMO4cnJlbHNlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxMQorbXNnaWQgIm1heCB0b3RhbCBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICJtYWtzLiBzYW1sZXQgZGVsdCBodWtvbW1lbHNlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxNAorbXNnaWQgIm1pbiBzZWcgc2l6ZSIKK21zZ3N0ciAibWluLiBzZWctc3TDuHJyZWxzZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5XG4iCittc2dzdHIgImtlcm5lbiBlciBpa2tlIGtvbmZpZ3VyZXJldCB0aWwgYnJ1ZyBhZiBkZWx0IGh1a29tbWVsc2VcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0gU3RhdHVzIGZvciBkZWx0IGh1a29tbWVsc2UgLS0tLVxuIgorCisjLiBUUkFOU0xBVE9SUzogVGhpcyBvdXRwdXQgZm9ybWF0IGlzIG1haW50YWluZWQgZm9yIGJhY2t3YXJkCisjLiBjb21wYXRpYmlsaXR5IGFzIGlwY3MgaXMgdXNlZCBpbiBzY3JpcHRzLiBGb3IgY29uc2lzdGVuY3kKKyMuIHdpdGggdGhlIHJlc3QsIHRoZSB0cmFuc2xhdGVkIGZvcm0gY2FuIGZvbGxvdyB0aGlzIG1vZGVsOgorIy4gKgorIy4gInNlZ21lbnRzIGFsbG9jYXRlZCA9ICVkXG4iCisjLiAicGFnZXMgYWxsb2NhdGVkID0gJWxkXG4iCisjLiAicGFnZXMgcmVzaWRlbnQgPSAlbGRcbiIKKyMuICJwYWdlcyBzd2FwcGVkID0gJWxkXG4iCisjLiAic3dhcCBwZXJmb3JtYW5jZSA9ICVsZCBhdHRlbXB0cywgJWxkIHN1Y2Nlc3Nlc1xuIgorIy4KKyM6IHN5cy11dGlscy9pcGNzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyJwYWdlcyBhbGxvY2F0ZWQgJWxkXG4iCisicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorInBhZ2VzIHN3YXBwZWQgICAlbGRcbiIKKyJTd2FwIHBlcmZvcm1hbmNlOiAlbGQgYXR0ZW1wdHNcdCAlbGQgc3VjY2Vzc2VzXG4iCittc2dzdHIgIiIKKyJzZWdtZW50ZXIgYWxsb2tlcmV0ICVkXG4iCisic2lkZXIgYWxsb2tlcmV0ICVsZFxuIgorInNpZGVyIGhqZW1tZWjDuHJlbmRlICAlbGRcbiIKKyJzaWRldCBzd2FwcGV0ICAgJWxkXG4iCisiU3dhcHlkZWxzZTogJWxkIGZvcnPDuGdcdCAlbGQgc3VjY2Vzc2VyXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnQgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0gRGVsdGUgaHVrb21tZWxzZXNzZWdtZW50ZXJzIHNrYWJlcmUvZWplcmUgLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjc0CisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgInNobWlkIgorbXNnc3RyICJkdGhpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzozODYKKyM6IHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NDg5IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAicGVybXMiCittc2dzdHIgImFkZ25nIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgImN1aWQiCittc2dzdHIgImN1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiY2dpZCIKK21zZ3N0ciAiY2dpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJ1aWQiCittc2dzdHIgInVpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJnaWQiCittc2dzdHIgImdpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQXR0YWNoL0RldGFjaC9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tIERlbHQgaHVrb21tZWxzZSB0aWwtL2Fma29ibGluZ3MtL8OmbmRyaW5nc3RpZGVyIC0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjc0IHN5cy11dGlscy9pcGNzLmM6MjgwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQwMSBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEgc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJvd25lciIKK21zZ3N0ciAiZWplciIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcKK21zZ2lkICJhdHRhY2hlZCIKK21zZ3N0ciAidGlsa29ibGV0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NworbXNnaWQgImRldGFjaGVkIgorbXNnc3RyICJhZmtvYmxldCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjgKK21zZ2lkICJjaGFuZ2VkIgorbXNnc3RyICLDpm5kcmV0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBDcmVhdG9yL0xhc3Qtb3AgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLSBEZWx0IGh1a29tbWVsc2Ugc2thYmVyL1NpZHN0ZS1vcCBQSUQnZXIgLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3NAorbXNnaWQgImNwaWQiCittc2dzdHIgImNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc0Cittc2dpZCAibHBpZCIKK21zZ3N0ciAibHBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0gRGVsdGUgaHVrb21tZWxzZXNzZWdtZW50ZXIgLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJrZXkiCittc2dzdHIgIm7DuGdsZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODEgc3lzLXV0aWxzL2lwY3MuYzo1MDgKK21zZ2lkICJzaXplIgorbXNnc3RyICJzdMO4cnJlbHNlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MSBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Nzggc3lzLXV0aWxzL3BybGltaXQuYzo3OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyIHN5cy11dGlscy9wcmxpbWl0LmM6ODYgc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgImJ5dGVzIgorbXNnc3RyICJieXRlIgorCisjIG3DpXNrZSBudGlsc2wKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgyCittc2dpZCAibmF0dGNoIgorbXNnc3RyICJhdGxrYmwiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgyCittc2dpZCAic3RhdHVzIgorbXNnc3RyICJzdGF0dXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzA2IHN5cy11dGlscy9pcGNzLmM6MzA4IHN5cy11dGlscy9pcGNzLmM6MzEwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQyNCBzeXMtdXRpbHMvaXBjcy5jOjQyNiBzeXMtdXRpbHMvaXBjcy5jOjUzMgorIzogc3lzLXV0aWxzL2lwY3MuYzo1MzQgc3lzLXV0aWxzL2lwY3MuYzo1MzYgc3lzLXV0aWxzL2lwY3MuYzo1OTAKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkyIHN5cy11dGlscy9pcGNzLmM6NjIxIHN5cy11dGlscy9pcGNzLmM6NjIzCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyNSBzeXMtdXRpbHMvaXBjcy5jOjY0OQorbXNnaWQgIk5vdCBzZXQiCittc2dzdHIgIklra2Ugc2F0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMzNiBzeXMtdXRpbHMvbHNpcGMuYzo5NzYgc3lzLXV0aWxzL2xzaXBjLmM6OTgyCittc2dpZCAiZGVzdCIKK21zZ3N0ciAibcOlbCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMzcgc3lzLXV0aWxzL2xzaXBjLmM6OTc3IHN5cy11dGlscy9sc2lwYy5jOjk5MAorbXNnaWQgImxvY2tlZCIKK21zZ3N0ciAibMOlc3QiCisKKyMgamVnIHRyb3IgJXMgZXIgZW4gcHJvY2VzIGVsbGVyIHPDpWRhbiBub2dldAorIyBldnQuICJyZXNzb3VyY2ViZWdyw6Zuc25pbmdlbiBmb3IgJXMiCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNlbWFwaG9yZSBsaW1pdHNcbiIKK21zZ3N0ciAia3VubmUgaWtrZSBhbmdpdmUgcmVzc291cmNlYmVncsOmbnNuaW5nZW4gZm9yICVzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tLSBTZW1hZm9yZ3LDpm5zZXIgIC0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBhcnJheXMgPSAlZFxuIgorbXNnc3RyICJtYWtzLiBhbnRhbCB0YWJlbGxlciA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHBlciBhcnJheSA9ICVkXG4iCittc2dzdHIgIm1ha3MuIHNlbWFmb3JlciBwZXIgdGFiZWwgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgIm1ha3MuIHNlbWFmb3JlciBpIGhlbGUgc3lzdGVtZXQgPSAlZFxuIgorCisjIG9wIGVyIG9wZXJhdGlvbmVyOyBqZWcgc3luZXMgZ29kdCB2aSBrYW4gYnJ1Z2UgZGVuIHDDpSBkYW5zayB1ZGVuIGZsZXJ0YWxzLXMgKGVsbGVyIC1yKQorIzogc3lzLXV0aWxzL2lwY3MuYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG9wcyBwZXIgc2Vtb3AgY2FsbCA9ICVkXG4iCittc2dzdHIgIm1ha3MuIG9wIHBlciBzZW1vcC1rYWxkID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbWFwaG9yZSBtYXggdmFsdWUgPSAldVxuIgorbXNnc3RyICJtYWtzdsOmcmRpIGZvciBzZW1hZm9yID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzXG4iCittc2dzdHIgImtlcm5lbiBpa2tlIGtvbmZpZ3VyZXJldCB0aWwgc2VtYWZvcmVyXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0tIFNlbWFmb3JzdGF0dXMgIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc4CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAiYnJ1Z3RlIHRhYmVsbGVyID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHNlbWFwaG9yZXMgPSAlZFxuIgorbXNnc3RyICJhbGxva2VyZWRlIHNlbWFmb3JlciA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tIFNlbWFmb3J0YWJlbGxlcnMgc2thYmVyZS9lamVyZSAtLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0MDEKK21zZ2lkICJzZW1pZCIKK21zZ3N0ciAic2VtaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgT3BlcmF0aW9uL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU2VtYWZvcmhhbmRsaW5nL8OmbmRyaW5nc3RpZGVyIC0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyCittc2dpZCAibGFzdC1vcCIKK21zZ3N0ciAic2lkc3RvcCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIKK21zZ2lkICJsYXN0LWNoYW5nZWQiCittc2dzdHIgInNpZHN0LcOmbmRyZXQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0tIFNlbWFmb3J0YWJlbGxlciAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwMQorbXNnaWQgIm5zZW1zIgorbXNnc3RyICJuc2VtZiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBtZXNzYWdlIGxpbWl0c1xuIgorbXNnc3RyICJLdW5uZSBpa2tlIHPDpnR0ZSBzeXN0ZW11cmV0LlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBCZXNrZWRlciBHcsOmbnNlciAtLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBxdWV1ZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICJtYWtzLiBrw7hlciBww6Ugc3lzdGVtZXQgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2NQorbXNnaWQgIm1heCBzaXplIG9mIG1lc3NhZ2UiCittc2dzdHIgIm1ha3MuIGJlc2tlZHN0w7hycmVsc2UiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY3Cittc2dpZCAiZGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSIKK21zZ3N0ciAic3RhbmRhcmQgZm9yIG1ha3MuIGvDuHN0w7hycmVsc2UiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAia2VybmVuIGVyIGlra2Uga29uZmlndXJlcmV0IHRpbCBiZXNrZWRrw7hlclxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBCZXNrZWRlciBTdGF0dXMgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHF1ZXVlcyA9ICVkXG4iCittc2dzdHIgImFsbG9rZXJlZGUga8O4ZXI9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgaGVhZGVycyA9ICVkXG4iCittc2dzdHIgImJydWd0ZSBob3ZlZGVyID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODIKK21zZ2lkICJ1c2VkIHNwYWNlIgorbXNnc3RyICJicnVndCBwbGFkcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODMKK21zZ2lkICIgYnl0ZXNcbiIKK21zZ3N0ciAiIGJ5dGVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tLS0gQmVza2Vka8O4ZXIgU2thYmVyZS9lamVyZSAgLS0tLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OSBzeXMtdXRpbHMvaXBjcy5jOjQ5NSBzeXMtdXRpbHMvaXBjcy5jOjUwMQorIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJtc3FpZCIKK21zZ3N0ciAiYmvDuGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgU2VuZC9SZWN2L0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gQmVza2Vka8O4ZXIgc2VuZC9tb2R0YWcvw6ZuZHJpbmdzdGlkZXIgLS0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAic2VuZCIKK21zZ3N0ciAic2VuZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJyZWN2IgorbXNnc3RyICJtb2R0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImNoYW5nZSIKK21zZ3N0ciAiw6ZuZHJuZyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFBJRHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEJlc2tlZGvDuGVycyBQSUQnZXIgIC0tLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImxzcGlkIgorbXNnc3RyICJsc3BpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJscnBpZCIKK21zZ3N0ciAibHJwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tLSBCZXNrZWRrw7hlciAtLS0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA4Cittc2dpZCAidXNlZC1ieXRlcyIKK21zZ3N0ciAiYnJ1Z3RlLWJ5dGUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA5Cittc2dpZCAibWVzc2FnZXMiCittc2dzdHIgImJlc2tlZGVyIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU3NCBzeXMtdXRpbHMvaXBjcy5jOjYwNCBzeXMtdXRpbHMvaXBjcy5jOjYzNworIzogc3lzLXV0aWxzL2xzaXBjLmM6NTM2IHN5cy11dGlscy9sc2lwYy5jOjcyMiBzeXMtdXRpbHMvbHNpcGMuYzo4NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWQgJWQgbm90IGZvdW5kIgorbXNnc3RyICJpZCAlZCBpa2tlIGZ1bmRldCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZCBtZW1vcnkgU2VnbWVudCBzaG1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisiRGVsdCBodWtvbW1lbHNlc3NlZ21lbnQgZGhzaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI29cdGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAidGlsc3RhbmQ9JSNvXHRhZGdhbmdzcmV0dD0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODQKK21zZ2lkICJzaXplPSIKK21zZ3N0ciAic3TDuHJyZWxzZT0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg0Cittc2dpZCAiYnl0ZXM9IgorbXNnc3RyICJieXRlPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAibHBpZD0ldVx0Y3BpZD0ldVx0bmF0dGNoPSVqZFxuIgorbXNnc3RyICJscGlkPSV1XHRjcGlkPSV1XHRhdHRjaD0lamRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXR0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAidGlsa190aWQ9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiZnJha190aWQ9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTMgc3lzLXV0aWxzL2lwY3MuYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiw6ZuZHJpbmdzX3RpZD0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZSBRdWV1ZSBtc3FpZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisiTXNxaWQgZm9yIGJlc2tlZGvDuD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVx0bW9kZT0lI29cbiIKK21zZ3N0ciAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdHRpbHN0YW5kPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxMworbXNnaWQgImNzaXplPSIKK21zZ3N0ciAiY3N0w7hycmVsc2U9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxMworbXNnaWQgImNieXRlcz0iCittc2dzdHIgImNieXRlPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKK21zZ2lkICJxc2l6ZT0iCittc2dzdHIgInFzdMO4cnJlbHNlPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKK21zZ2lkICJxYnl0ZXM9IgorbXNnc3RyICJxYnl0ZT0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIwCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJzZW5kX3RpZD0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJyY3ZfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJtb2R0X3RpZD0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIEFycmF5IHNlbWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTZW1hZm9ydGFiZWwgc2VtaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAidGlsc3RhbmQ9JSNvLCBhZGdhbmdzcmV0dD0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibnNlbXMgPSAlanVcbiIKK21zZ3N0ciAibnNlbXMgPSAlanVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAib3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICJvdGlkICA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgImN0aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAiw6Z0aWQgPSAlLTI2LjI0c1xuIgorCisjIHNpZ2FudCAoc2lnbmFsYW50YWwpIHRpZGxpZ2VyZQorIyBTaWduYWwgcGxlamVyIGF0IGJsaXZlIGZvcmtvcnRldCBzaWcsIGYuZWtzLiBzaWdzZWd2OgorIyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1NJR1NFR1YgLiBEZXQgZXIgdHlwaXNrIGRlIGhlciBzaWduYWxlcgorIyBlbGxlciAiaW50ZXJydXB0cyIgc29tIHByb2dyYW1tZXIga2FuIHNlbmRlIHRpbCBoaW5hbmRlbiAoZGVyIGVyCisjIGdpdmV0dmlzIGZvcnNrZWwgcMOlIHNpZ25hbGVyIG9nIGludGVycnVwdHMsIG1lbiBqZWcga2VuZGVyIGlra2Ugc8OlCisjIG1lZ2V0IHRpbCBkZXQpLgorIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJzZW1udW0iCittc2dzdHIgInNlbXRhbCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJ2YWx1ZSIKK21zZ3N0ciAidsOmcmRpIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgIm5jb3VudCIKK21zZ3N0ciAibmFudGFsIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInpjb3VudCIKK21zZ3N0ciAiemFudGFsIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInBpZCIKK21zZ3N0ciAicGlkIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzAgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM0IHN5cy11dGlscy9pcGN1dGlscy5jOjIzOAorIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiJXMgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoYnl0ZXMpID0gIgorbXNnc3RyICIlcyAoYnl0ZSkgPSAiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoa2J5dGVzKSA9ICIKK21zZ3N0ciAiJXMgKGtieXRlKSA9ICIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTgwCittc2dpZCAiaW52YWxpZCBpZmxhZyIKK21zZ3N0ciAidWd5bGRpZ3QgaWZsYWciCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxsZGlzYz4gPGRldmljZT5cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSA8bGRpc2s+IDxlbmhlZD5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTk5Cittc2dpZCAiQXR0YWNoIGEgbGluZSBkaXNjaXBsaW5lIHRvIGEgc2VyaWFsIGxpbmUuXG4iCittc2dzdHIgIlZlZGjDpmZ0IGVuIGxpbmplZGlzY2lwbGluIHRpbCBlbiBzZXJpZWwgbGluamUuXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgdmlzIHVkZHliZW5kZSBiZXNrZWRlciB0aWwgc3RhbmRhcmRmZWpsXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMworbXNnaWQgIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICBzZXQgc2VyaWFsIGxpbmUgc3BlZWRcbiIKK21zZ3N0ciAiIC1zLCAtLXNwZWVkIDx2w6ZyZGk+ICAgICBhbmdpdiBzZXJpZWwgbGluamVoYXN0aWdoZWRcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA0Cittc2dpZCAiIC1jLCAtLWludHJvLWNvbW1hbmQgPHN0cmluZz4gaW50cm8gc2VudCBiZWZvcmUgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIC1jLCAtLWludHJvLWNvbW1hbmQgPHN0cmVuZz4gaW50cm8gc2VuZHQgZsO4ciBsZGF0dGFjaFxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDUKK21zZ2lkICIgLXAsIC0tcGF1c2UgPHNlY29uZHM+ICAgcGF1c2UgYmV0d2VlbiBpbnRybyBhbmQgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIC1wLCAtLXBhdXNlIDxzZWt1bmRlcj4gIHBhdXNlIG1lbGxlbSBpbnRybyBvZyBsZGF0dGFjaFxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDYKK21zZ2lkICIgLTcsIC0tc2V2ZW5iaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDcgYml0c1xuIgorbXNnc3RyICIgLTcsIC0tc2V2ZW5iaXRzICAgICAgICAgYW5naXYgdGVnbnN0w7hycmVsc2UgdGlsIDcgYml0XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNworbXNnaWQgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gOCBiaXRzXG4iCittc2dzdHIgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICBhbmdpdiB0ZWduc3TDuHJyZWxzZSB0aWwgOCBiaXRcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA4Cittc2dpZCAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIHNldCBwYXJpdHkgdG8gbm9uZVxuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgYW5naXYgcGFyaXRldCB0aWwgaW5nZW5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA5Cittc2dpZCAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIHNldCBwYXJpdHkgdG8gZXZlblxuIgorbXNnc3RyICIgLWUsIC0tZXZlbnBhcml0eSAgICAgICAgYW5naXYgcGFyaXRldCB0aWwgbGlnZVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTAKK21zZ2lkICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAgc2V0IHBhcml0eSB0byBvZGRcbiIKK21zZ3N0ciAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIGFuZ2l2IHBhcml0ZXQgdGlsIHVsaWdlXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMQorbXNnaWQgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBzZXQgc3RvcCBiaXRzIHRvIG9uZVxuIgorbXNnc3RyICIgLTEsIC0tb25lc3RvcGJpdCAgICAgICAgYW5naXYgc3RvcC1iaXQgdGlsIGVuXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMgorbXNnaWQgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBzZXQgc3RvcCBiaXRzIHRvIHR3b1xuIgorbXNnc3RyICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAgYW5naXYgc3RvcC1iaXQgdGlsIHRvXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMworbXNnaWQgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBzZXQgaW5wdXQgbW9kZSBmbGFnXG4iCittc2dzdHIgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBhbmdpdiBpbmRkYXRhdGlsc3RhbmRzZmxhZ1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTkKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGxkaXNjPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIktlbmR0ZSA8bGRpc2M+LW5hdm5lOlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMjMKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGlmbGFnPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIktlbmR0ZSA8aWZsYWc+LW5hdm5lOlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDAKK21zZ2lkICJpbnZhbGlkIHNwZWVkIGFyZ3VtZW50IgorbXNnc3RyICJ1Z3lsZGlnIGhhc3RpZ2hlZHNwYXJhbWV0ZXIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0MworbXNnaWQgImludmFsaWQgcGF1c2UgYXJndW1lbnQiCittc2dzdHIgInVneWxkaWcgcGF1c2VwYXJhbWV0ZXIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM1OQorbXNnaWQgImludmFsaWQgb3B0aW9uIgorbXNnc3RyICJ1Z3lsZGlndCB0aWx2YWxnIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNzAKK21zZ2lkICJpbnZhbGlkIGxpbmUgZGlzY2lwbGluZSBhcmd1bWVudCIKK21zZ3N0ciAidWd5bGRpZyBsaW5qZWRpc2NpcGxpbnBhcmFtZXRlciIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHNlcmlhbCBsaW5lIgorbXNnc3RyICIlcyBlciBpa2tlIGVuIHNlcmllbCBsaW5qZSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzk3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgImthbiBpa2tlIGluZGhlbnRlIHRlcm1pbmFsYXR0cmlidXR0ZXIgZm9yICVzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlZWQgJWQgdW5zdXBwb3J0ZWQiCittc2dzdHIgImhhc3RpZ2hlZCAlZCBlciBpa2tlIHVuZGVyc3TDuHR0ZXQiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICJrYW4gaWtrZSBhbmdpdmUgdGVybWluYWxhdHRyaWJ1dHRlciBmb3IgJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgaW50cm8gY29tbWFuZCB0byAlcyIKK21zZ3N0ciAia2FuIGlra2Ugc2tyaXZlIGludHJva29tbWFuZG8gdGlsICVzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NjkKK21zZ2lkICJjYW5ub3Qgc2V0IGxpbmUgZGlzY2lwbGluZSIKK21zZ3N0ciAia2FuIGlra2UgYW5naXZlIGxpbmplZGlzY2lwbGluIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NzkKK21zZ2lkICJjYW5ub3QgZGFlbW9uaXplIgorbXNnc3RyICJrYW4gaWtrZSBkw6Ztb25pc2VyZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2OAorbXNnaWQgImF1dG9jbGVhciBmbGFnIHNldCIKK21zZ3N0ciAiZmxhZyBmb3IgYXV0b21hdGlzayByeWRuaW5nIGFuZ2l2ZXQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjkKK21zZ2lkICJkZXZpY2UgYmFja2luZyBmaWxlIgorbXNnc3RyICJlbmhlZHNyZXNlcnZlZmlsIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwCittc2dpZCAiYmFja2luZyBmaWxlIGlub2RlIG51bWJlciIKK21zZ3N0ciAiaWtudWRlLW51bW1lciBmb3IgcmVzZXJ2ZWZpbCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MQorbXNnaWQgImJhY2tpbmcgZmlsZSBtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICJyZXNlcnZlZmlsLW1ham9yOm1pbm9yLWVuaGVkc251bW1lciIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MgorbXNnaWQgImxvb3AgZGV2aWNlIG5hbWUiCittc2dzdHIgImxvb3AtZW5oZWRzbmF2biIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MworbXNnaWQgIm9mZnNldCBmcm9tIHRoZSBiZWdpbm5pbmciCittc2dzdHIgImZvcnNreWRuaW5nIGZyYSBiZWd5bmRlbHNlbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NAorbXNnaWQgInBhcnRzY2FuIGZsYWcgc2V0IgorbXNnc3RyICJwYXJ0c2Nhbi1mbGFnIGFuZ2l2ZXQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzYKK21zZ2lkICJzaXplIGxpbWl0IG9mIHRoZSBmaWxlIGluIGJ5dGVzIgorbXNnc3RyICJzdMO4cnJlbHNlc2JlZ3LDpnNuaW5nIGZvciBmaWxlbiBpIGJ5dGUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzcKK21zZ2lkICJsb29wIGRldmljZSBtYWpvcjptaW5vciBudW1iZXIiCittc2dzdHIgImxvb3BlbmhlZC1tYWpvcjptaW5vci1udW1tZXIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzgKK21zZ2lkICJhY2Nlc3MgYmFja2luZyBmaWxlIHdpdGggZGlyZWN0LWlvIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM1IHN5cy11dGlscy9sb3NldHVwLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb2Zmc2V0ICVqdSIKK21zZ3N0ciAiLCBmb3Jza3lkbmluZyAlanUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM4IHN5cy11dGlscy9sb3NldHVwLmM6MTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgc2l6ZWxpbWl0ICVqdSIKK21zZ3N0ciAiLCBzdMO4cnJlbHNlc2dyw6Zuc2UgJWp1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1OAorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVuY3J5cHRpb24gJXMgKHR5cGUgJXUpIgorbXNnc3RyICIsIGtyeXB0ZXJpbmcgJXMgKHR5cGUgJXU+KSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRldGFjaCBmYWlsZWQiCittc2dzdHIgIiVzOiBhZmtvYmwgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzI5IHN5cy11dGlscy9sc2NwdS5jOjE3MzUgc3lzLXV0aWxzL3BybGltaXQuYzoyMjkKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxNzYgc3lzLXV0aWxzL3dkY3RsLmM6MjE1IHN5cy11dGlscy96cmFtY3RsLmM6NDA1Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGxpbmUiCittc2dzdHIgImt1bm5lIGlra2UgaW5pdGlhbGlzZXJlIHVkZGF0YWxpbmplIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIFs8bG9vcGRldj5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGxvb3BkZXY+IDxmaWxlPlxuIgorbXNnc3RyICIiCisiICUxJHMgW3RpbHZhbGddIFs8bG9vcGRldj5dXG4iCisiICUxJHMgW3RpbHZhbGddIC1mIHwgPGxvb3BkZXY+IDxmaWw+XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzg2Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIGxvb3AgZGV2aWNlcy5cbiIKK21zZ3N0ciAiT3Bzw6Z0IG9nIGtvbnRyb2xsZXIgbG9vcGVuaGVkZXIuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzg5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgdmlzIGFsbGUgYW52ZW5kdGUgZW5oZWRlclxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MAorbXNnaWQgIiAtZCwgLS1kZXRhY2ggPGxvb3BkZXY+Li4uICAgICBkZXRhY2ggb25lIG9yIG1vcmUgZGV2aWNlc1xuIgorbXNnc3RyICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2Pi4uLiAgICAgYWZrb2JsIGVuIGVsbGVyIGZsZXJlIGVuaGVkZXJcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTEKK21zZ2lkICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIGFma29ibCBhbGxlIGJydWd0ZSBlbmhlZGVyXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkyCittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorbXNnc3RyICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZmluZCBmw7hyc3RlIHVicnVndGUgZW5oZWRcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTMKK21zZ2lkICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcGRldj4gIMOmbmRyIHN0w7hycmVsc2UgcMOlIGVuaGVkZW5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTQKK21zZ2lkICIgLWosIC0tYXNzb2NpYXRlZCA8ZmlsZT4gICAgICAgbGlzdCBhbGwgZGV2aWNlcyBhc3NvY2lhdGVkIHdpdGggPGZpbGU+XG4iCittc2dzdHIgIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWw+ICAgICAgICB2aXMgYWxsZSBlbmhlZGVyIGFzc29jaWVyZXQgbWVkIDxmaWw+XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk1CisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1ub292ZXJsYXAgICAgICAgICAgICAgICBhdm9pZCBwb3NzaWJsZSBjb25mbGljdCBiZXR3ZWVuIGRldmljZXNcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgZmluZCBlbiBmcmkgZW5oZWRcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgdmVkIGZvcnNreWRuaW5nIDxudW0+IGluZGUgaSBmaWxlblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMAorbXNnaWQgIiAgICAgLS1zaXplbGltaXQgPG51bT4gICAgICAgICBkZXZpY2UgaXMgbGltaXRlZCB0byA8bnVtPiBieXRlcyBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZW5oZWQgZXIgYmVncsOmbnNldCB0aWwgPG51bT4gYnl0ZSBhZiBmaWxlblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMQorbXNnaWQgIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICBjcmVhdGUgYSBwYXJ0aXRpb25lZCBsb29wIGRldmljZVxuIgorbXNnc3RyICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgb3ByZXQgZW4gcGFydGlvbnNvcGRlbHQgbG9vcC1lbmhlZFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMgorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBzZXQgdXAgYSByZWFkLW9ubHkgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgICAgIG9wc8OmdCBlbiBza3JpdmViZXNreXR0ZXQgbG9vcC1lbmhlZFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMworbXNnaWQgIiAgICAgLS1kaXJlY3QtaW9bPTxvbnxvZmY+XSAgICBvcGVuIGJhY2tpbmcgZmlsZSB3aXRoIE9fRElSRUNUXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDQKK21zZ2lkICIgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICAgcHJpbnQgZGV2aWNlIG5hbWUgYWZ0ZXIgc2V0dXAgKHdpdGggLWYpXG4iCittc2dzdHIgIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICB2aXMgZW5oZWRzbmF2biBlZnRlciBvcHPDpnRuaW5nIChtZWQgLWYpXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgdWRkeWJlbmRlIHRpbHN0YW5kXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGxpc3QgaW5mbyBhYm91dCBhbGwgb3Igc3BlY2lmaWVkIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgdmlzIGluZm9ybWF0aW9uIG9tIGFsbGUgZWxsZXIgc3BlY2lmaWNlcmVkZSAoc3RhbmRhcmQpXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEwCittc2dpZCAiIC1PLCAtLW91dHB1dCA8Y29scz4gICAgICAgICAgIHNwZWNpZnkgY29sdW1ucyB0byBvdXRwdXQgZm9yIC0tbGlzdFxuIgorbXNnc3RyICIgLU8sIC0tb3V0cHV0IDxrb2xvbm5lcj4gICAgICAgc3BlY2lmaWNlciBrb2xvbm5lciBhdCB2aXNlIGZvciAtLWxpc3RcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTEKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tbGlzdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgICAgIHZpcyBpa2tlIHRla3N0aG92ZWRlciBmb3IgLS1saXN0IG91dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMgorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1c2UgcmF3IC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICBicnVnIHLDpSAtLWxpc3QgdWRkYXRhZm9ybWF0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEzCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgYnJ1ZyByw6UgLS1saXN0IHVkZGF0YWZvcm1hdFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOQorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgLS1saXN0IGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJUaWxnw6ZuZ2VsaWdlIC0tbGlzdCBrb2xvbm5lcjpcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFdhcm5pbmc6IGZpbGUgaXMgc21hbGxlciB0aGFuIDUxMiBieXRlczsgdGhlIGxvb3AgZGV2aWNlIG1heSBiZSB1c2VsZXNzIG9yIGludmlzaWJsZSBmb3Igc3lzdGVtIHRvb2xzLiIKK21zZ3N0ciAiJXM6IEFkdmFyc2VsOiBmaWwgZXIgbWluZHJlIGVuZCA1MTIgYnl0ZTsgbG9vcC1lbmhlZGVuIGthbiB2w6ZyZSB1YnJ1Z2VsaWcgZWxsZXIgdXN5bmxpZyBmb3Igc3lzdGVtdsOmcmt0w7hqZXIuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBkb2VzIG5vdCBmaXQgaW50byBhIDUxMi1ieXRlIHNlY3RvcjsgdGhlIGVuZCBvZiB0aGUgZmlsZSB3aWxsIGJlIGlnbm9yZWQuIgorbXNnc3RyICIlczogQWR2YXJzZWw6IGZpbCBwYXNzZXIgaWtrZSBww6UgZW4gNTEyLWJ5dGUgc2VrdG9yOyBzbHV0bmluZ2VuIGFmIGZpbGVuIHZpbCBibGl2ZSBpZ25vcmVyZXQuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ2NCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUxNiBzeXMtdXRpbHMvbW91bnQuYzo0NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzIGVyIGlra2UgZW4gbHAtZW5oZWQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyByZWFkLW9ubHkgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBlbmNyeXB0ZWQgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlLXVzZSBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IGtsYXJnw7hyaW5nIGFmIGzDuGtrZWVuaGVkIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ5NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5zcGVjdCBsb29wIGRldmljZXMiCittc2dzdHIgIiVzOiBrbGFyZ8O4cmluZyBhZiBsw7hra2VlbmhlZCBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY2hlY2sgZm9yIGNvbmZsaWN0aW5nIGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAiJXM6IGtsYXJnw7hyaW5nIGFmIGzDuGtrZWVuaGVkIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUyOSBzeXMtdXRpbHMvbG9zZXR1cC5jOjgyNgorbXNnaWQgImNhbm5vdCBmaW5kIGFuIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAia2FuIGlra2UgZmluZGUgdWJydWd0IGxvb3AtZW5oZWQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXM6IGt1bm5lIGlra2UgYnJ1Z2UgcmVzZXJ2ZWZpbCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2MzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDEgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NTMKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzY3IHN5cy11dGlscy9sb3NldHVwLmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGRldmljZSIKK21zZ3N0ciAiJXM6IGt1bm5lIGlra2UgYnJ1Z2UgZW5oZWQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzY0Cittc2dpZCAibm8gbG9vcCBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJpbmdlbiBsb29wLWVuaGVkIGFuZ2l2ZXQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzcyCittc2dpZCAibm8gZmlsZSBzcGVjaWZpZWQiCittc2dzdHIgImluZ2VuIGZpbCBhbmdpdmV0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgb3B0aW9ucyAlcyBhcmUgYWxsb3dlZCBkdXJpbmcgbG9vcCBkZXZpY2Ugc2V0dXAgb25seSIKK21zZ3N0ciAidGlsdmFsZ2VuZSAlcyBlciBrdW4gdGlsbGFkdCB1bmRlciBvcHPDpnRuaW5nIGFmIGxvb3AtZW5oZWQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzg0Cittc2dpZCAidGhlIG9wdGlvbiAtLW9mZnNldCBpcyBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgInRpbHZhbGdldCAtLW9mZnNldCBlciBpa2tlIHRpbGxhZHQgaSBkZW5uZSBrb250ZWtzdCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBjYXBhY2l0eSBmYWlsZWQiCittc2dzdHIgIiVzOiBzw6Z0IGZ1bmt0aW9uIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBkaXJlY3QgaW8gZmFpbGVkIgorbXNnc3RyICIlczogS3VubmUgaWtrZSDDpm5kcmUgbWFwcGUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjEwOAorbXNnaWQgIm5vbmUiCittc2dzdHIgImluZ2VuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMDkKK21zZ2lkICJwYXJhIgorbXNnc3RyICJwYXJhIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMTAKK21zZ2lkICJmdWxsIgorbXNnc3RyICJmdWxkIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMTEKK21zZ2lkICJjb250YWluZXIiCittc2dzdHIgImNvbnRhaW5lciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTczCittc2dpZCAiaG9yaXpvbnRhbCIKK21zZ3N0ciAidmFuZHJldCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0Cittc2dpZCAidmVydGljYWwiCittc2dzdHIgImxvZHJldCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ2Cittc2dpZCAibG9naWNhbCBDUFUgbnVtYmVyIgorbXNnc3RyICJsb2dpc2sgQ1BVLW51bW1lciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ3Cittc2dpZCAibG9naWNhbCBjb3JlIG51bWJlciIKK21zZ3N0ciAibG9naXNrIGtlcm5lbnVtbWVyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDgKK21zZ2lkICJsb2dpY2FsIHNvY2tldCBudW1iZXIiCittc2dzdHIgImxvZ2lzayBzb2trZWxudW1tZXIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0OQorbXNnaWQgImxvZ2ljYWwgTlVNQSBub2RlIG51bWJlciIKK21zZ3N0ciAibG9naXNrIE5VTUEta251ZGVudW1tZXIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MAorbXNnaWQgImxvZ2ljYWwgYm9vayBudW1iZXIiCittc2dzdHIgImxvZ2lzayBib2dudW1tZXIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MQorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIGRyYXdlciBudW1iZXIiCittc2dzdHIgImxvZ2lzayBrZXJuZW51bW1lciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUyCittc2dpZCAic2hvd3MgaG93IGNhY2hlcyBhcmUgc2hhcmVkIGJldHdlZW4gQ1BVcyIKK21zZ3N0ciAidmlzZXIgaHZvcmRhbiBtZWxsZW1sYWdyZSBkZWxlcyBtZWxsZW0gQ1BVJ2VyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTMKK21zZ2lkICJDUFUgZGlzcGF0Y2hpbmcgbW9kZSBvbiB2aXJ0dWFsIGhhcmR3YXJlIgorbXNnc3RyICJDUFUtYWZzZW5kZWxzZXN0aWxzdGFuZCBww6UgdmlydHVlbHQgdWRzdHlyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTQKK21zZ2lkICJwaHlzaWNhbCBhZGRyZXNzIG9mIGEgQ1BVIgorbXNnc3RyICJmeXNpc2sgYWRyZXNzZSBmb3IgZW4gY3B1IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTUKK21zZ2lkICJzaG93cyBpZiB0aGUgaHlwZXJ2aXNvciBoYXMgYWxsb2NhdGVkIHRoZSBDUFUiCittc2dzdHIgInZpc2VyIG9tIGh5cGVydmlzb3JlbiBoYXIgYWxsb2tlcmVyZXQgY3B1J2VuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTYKK21zZ2lkICJzaG93cyBpZiBMaW51eCBjdXJyZW50bHkgbWFrZXMgdXNlIG9mIHRoZSBDUFUiCittc2dzdHIgInZpc2VyIG9tIExpbnV4IGkgw7hqZWJsaWtrZXQgZ8O4ciBicnVnIGFmIENQVSdlbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU3Cittc2dpZCAic2hvd3MgdGhlIG1heGltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgInZpc2VyIG1ha3NpbXVtLU1IWiBmb3IgY3B1J2VuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTgKK21zZ2lkICJzaG93cyB0aGUgbWluaW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAidmlzZXIgbWluaW11bS1NSFogZm9yIGNwdSdlbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NTUwCittc2dpZCAiZXJyb3I6IHVuYW1lIGZhaWxlZCIKK21zZ3N0ciAiZmVqbDogdW5hbWUgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjYzNAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGV0ZXJtaW5lIG51bWJlciBvZiBDUFVzOiAlcyIKK21zZ3N0ciAia3VubmUgaWtrZSBiZXN0ZW1tZSBhbnRhbGxldCBhZiBDUFUnZXI6ICVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo4OTEKK21zZ2lkICJlcnJvcjogY2FuIG5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgImZlamw6IGthbiBpa2tlIGFuZ2l2ZSBzaWduYWxow6VuZHRlcmluZ2VuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo4OTYKK21zZ2lkICJlcnJvcjogY2FuIG5vdCByZXN0b3JlIHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJmZWpsOiBrYW4gaWtrZSBnZW5kYW5uZSBzaWduYWxow6VuZHRlcmluZ2VuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIGZyb206ICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIGzDpnNlIHN5bWJvbHNrIGhlbnZpc25pbmc6ICVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDEwCittc2dpZCAiRmFpbGVkIHRvIGV4dHJhY3QgdGhlIG5vZGUgbnVtYmVyIgorbXNnc3RyICJLdW5uZSBpa2tlIHVkdHLDpmtrZSBrbnVkZW51bW1lcmV0IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTM3IHN5cy11dGlscy9sc2NwdS5jOjE1NDcKK21zZ2lkICJZIgorbXNnc3RyICJKIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTM3IHN5cy11dGlscy9sc2NwdS5jOjE1NDcKK21zZ2lkICJOIgorbXNnc3RyICJOIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlclxuIgorIiMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSURcbiIKKyIjIHN0YXJ0aW5nIGZyb20gemVyby5cbiIKK21zZ3N0ciAiIgorIiMgRGV0IGbDuGxnZW5kZSBlciBmb3J0b2xrbmluZ3Nmb3JtYXRldCwgc29tIGthbiBzZW5kZXMgdGlsIGFuZHJlXG4iCisiIyBwcm9ncmFtbWVyLiBIdmVydCBlbGVtZW50IGkga29sb25uZXJuZSBoYXIgZW4gdW5payBpZCBkZXJcbiIKKyIjIHN0YXJ0ZXIgZnJhIG51bC5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc4MQorbXNnaWQgIkFyY2hpdGVjdHVyZToiCittc2dzdHIgIkFya2l0ZWt0dXI6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzk1Cittc2dpZCAiQ1BVIG9wLW1vZGUocyk6IgorbXNnc3RyICJPcC10aWxzdGFuZGUgZm9yIENQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3OTggc3lzLXV0aWxzL2xzY3B1LmM6MTgwMAorbXNnaWQgIkJ5dGUgT3JkZXI6IgorbXNnc3RyICJCeXRlcsOma2tlZsO4bGdlOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwMgorbXNnaWQgIkNQVShzKToiCittc2dzdHIgIkNQVSdlcjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDUKK21zZ2lkICJPbi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiVGlsa29ibGV0IGNwdShlcikgbWFza2U6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA2Cittc2dpZCAiT24tbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIlRpbGtvYmxldCBjcHUoZXIpIGxpc3RlOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNQorbXNnaWQgIk9mZi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiRnJha29ibGV0IGNwdShlcikgbWFza2U6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI2Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICJGcmFrb2JsZXQgY3B1KGVyKSBsaXN0ZToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjIKK21zZ2lkICJUaHJlYWQocykgcGVyIGNvcmU6IgorbXNnc3RyICJUcsOlZGUgcGVyIGtlcm5lOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2NAorbXNnaWQgIkNvcmUocykgcGVyIHNvY2tldDoiCittc2dzdHIgIktlcm5lciBwZXIgc29ra2VsOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2NworbXNnaWQgIlNvY2tldChzKSBwZXIgYm9vazoiCittc2dzdHIgIlNva2xlciBwZXIgYm9nOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3MAorbXNnaWQgIkJvb2socykgcGVyIGRyYXdlcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3MgorbXNnaWQgIkRyYXdlcihzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3NAorbXNnaWQgIkJvb2socyk6IgorbXNnc3RyICJCw7hnZXI6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODc3Cittc2dpZCAiU29ja2V0KHMpOiIKK21zZ3N0ciAiU29rbGVyOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MQorbXNnaWQgIk5VTUEgbm9kZShzKToiCittc2dzdHIgIk5VTUEta251ZGVyOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MworbXNnaWQgIlZlbmRvciBJRDoiCittc2dzdHIgIkxldmVyYW5kw7hyLWlkOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4NQorbXNnaWQgIk1hY2hpbmUgdHlwZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4NworbXNnaWQgIkNQVSBmYW1pbHk6IgorbXNnc3RyICJDUFUtZmFtaWxpZToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODkKK21zZ2lkICJNb2RlbDoiCittc2dzdHIgIk1vZGVsOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5MQorbXNnaWQgIk1vZGVsIG5hbWU6IgorbXNnc3RyICJNb2RlbG5hdm46IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODkzCittc2dpZCAiU3RlcHBpbmc6IgorbXNnc3RyICJNb2RlbHNlcmllOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5NQorbXNnaWQgIkNQVSBNSHo6IgorbXNnc3RyICJDUFUgTUh6OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5NworIywgZnV6enkKK21zZ2lkICJDUFUgZHluYW1pYyBNSHo6IgorbXNnc3RyICJDUFUgbWluLiBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk5CisjLCBmdXp6eQorbXNnaWQgIkNQVSBzdGF0aWMgTUh6OiIKK21zZ3N0ciAiQ1BVIG1ha3MuIE1IejoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDEKK21zZ2lkICJDUFUgbWF4IE1IejoiCittc2dzdHIgIkNQVSBtYWtzLiBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAzCittc2dpZCAiQ1BVIG1pbiBNSHo6IgorbXNnc3RyICJDUFUgbWluLiBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA1Cittc2dpZCAiQm9nb01JUFM6IgorbXNnc3RyICJCb2dvTUlQUzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDggc3lzLXV0aWxzL2xzY3B1LmM6MTkxMAorbXNnaWQgIlZpcnR1YWxpemF0aW9uOiIKK21zZ3N0ciAiVmlydHVhbGlzYXRpb246IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEzCittc2dpZCAiSHlwZXJ2aXNvcjoiCittc2dzdHIgIkh5cGVydmlzb3I6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE1Cittc2dpZCAiSHlwZXJ2aXNvciB2ZW5kb3I6IgorbXNnc3RyICJIeXBlcnZpc29ybGV2ZXJhbmTDuHI6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE2Cittc2dpZCAiVmlydHVhbGl6YXRpb24gdHlwZToiCittc2dzdHIgIlZpcnR1YWxpc2F0aW9uc3R5cGU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE5Cittc2dpZCAiRGlzcGF0Y2hpbmcgbW9kZToiCittc2dzdHIgIkFmc2VuZGVsc2VzdGlsc3RhbmQ6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTI1IHN5cy11dGlscy9sc2NwdS5jOjE5MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY2FjaGU6IgorbXNnc3RyICIlcyBtZWxsZW1sYWdlcjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVNQSBub2RlJWQgQ1BVKHMpOiIKK21zZ3N0ciAiTlVNQS1rbnVkZXIlZCBDUFUnZXI6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQ2CisjLCBmdXp6eQorbXNnaWQgIkZsYWdzOiIKK21zZ3N0ciAiRmxhZyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0OQorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBzb2NrZXRzOiIKK21zZ3N0ciAiZnlzaXNrIGJsb2tzdMO4cnJlbHNlIChzZWt0b3JzdMO4cnJlbHNlKSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk1MAorbXNnaWQgIlBoeXNpY2FsIGNoaXBzOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTUxCisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIGNvcmVzL2NoaXA6IgorbXNnc3RyICJmeXNpc2sgYmxva3N0w7hycmVsc2UgKHNla3RvcnN0w7hycmVsc2UpIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTYzCittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ1BVIGFyY2hpdGVjdHVyZS5cbiIKK21zZ3N0ciAiVmlzIGluZm9ybWF0aW9uIG9tIENQVS1hcmtpdGVrdHVyZW4uXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjYKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgcHJpbnQgYm90aCBvbmxpbmUgYW5kIG9mZmxpbmUgQ1BVcyAoZGVmYXVsdCBmb3IgLWUpXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICB2aXMgYsOlZGUgdGlsa29ibGVkZSBvZyBmcmFrb2JsZWRlIGNwdSdlciAoc3RhbmRhcmQgZm9yIC1lKVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY3Cittc2dpZCAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIHByaW50IG9ubGluZSBDUFVzIG9ubHkgKGRlZmF1bHQgZm9yIC1wKVxuIgorbXNnc3RyICIgLWIsIC0tb25saW5lICAgICAgICAgICAgdmlzIGt1biB0aWxrb2JsZWRlIGNwdSdlciAoc3RhbmRhcmQgZm9yIC1wKVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY4Cittc2dpZCAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iCittc2dzdHIgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICB2aXMga3VuIGZyYWtvYmxlZGUgY3B1J2VyXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjkKK21zZ2lkICIgLWUsIC0tZXh0ZW5kZWRbPTxsaXN0Pl0gcHJpbnQgb3V0IGFuIGV4dGVuZGVkIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tZXh0ZW5kZWRbPTxsaXN0ZT5dIHZpcyBrdW4gZXQgdWR2aWRldCBsw6ZzYmFydCBmb3JtYXRcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MAorbXNnaWQgIiAtcCwgLS1wYXJzZVs9PGxpc3Q+XSAgICBwcmludCBvdXQgYSBwYXJzYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1wLCAtLXBhcnNlWz08bGlzdGU+XSAgIHZpcyBrdW4gZXQgZm9ybWF0IGRlciBrYW4gZm9ydG9sa2VzXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzEKK21zZ2lkICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAgdXNlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIC1zLCAtLXN5c3Jvb3QgPG1hcHBlPiAgIGJydWcgc3BlY2lmaWNlcmV0IG1hcHBlIHNvbSBzeXN0ZW0tcm9vdFxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcyCittc2dpZCAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHByaW50IGhleGFkZWNpbWFsIG1hc2tzIHJhdGhlciB0aGFuIGxpc3RzIG9mIENQVXNcbiIKK21zZ3N0ciAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHZpcyBoZXhhZGVjaW1hbCBtYXNrZXIgZnJlbSBmb3IgbGlzdGVyIG1lZCBjcHUnZXJcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MworIywgZnV6enkKK21zZ2lkICIgLXksIC0tcGh5c2ljYWwgICAgICAgICAgcHJpbnQgcGh5c2ljYWwgaW5zdGVhZCBvZiBsb2dpY2FsIElEc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgdmlzIGFsbGUgZW5oZWRlclxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvcHRpb25zIC0tYWxsLCAtLW9ubGluZSBhbmQgLS1vZmZsaW5lIG1heSBvbmx5IGJlIHVzZWQgd2l0aCBvcHRpb25zIC0tZXh0ZW5kZWQgb3IgLS1wYXJzZS5cbiIKK21zZ3N0ciAiJXM6IHRpbHZhbGcgLWFsbCwgLS1vbmxpbmUgb2cgLS1vZmZsaW5lIGthbiBrdW4gYnJ1Z2VzIG1lZCB0aWx2YWxnZW5lIC0tZXh0ZW5kZWQgZWxsZXIgLS1wYXJzZS5cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIGtleSIKK21zZ3N0ciAicmVzc291cmNlbmF2biIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5CisjLCBmdXp6eQorbXNnaWQgIktleSIKK21zZ3N0ciAibsO4Z2xlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgSUQiCittc2dzdHIgInJlc3NvdXJjZW5hdm4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorIywgZnV6enkKK21zZ2lkICJJRCIKK21zZ3N0ciAiVVVJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCittc2dpZCAiT3duZXIncyB1c2VybmFtZSBvciBVSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCisjLCBmdXp6eQorbXNnaWQgIk93bmVyIgorbXNnc3RyICJlamVyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTIKKyMsIGZ1enp5Cittc2dpZCAiUGVybWlzc2lvbnMiCittc2dzdHIgInZlcnNpb24iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MworbXNnaWQgIkNyZWF0b3IgVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NAorbXNnaWQgIkNyZWF0b3IgdXNlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTUKK21zZ2lkICJDcmVhdG9yIEdJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTYKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRvciBncm91cCIKK21zZ3N0ciAiUHJpbcOmciBncnVwcGUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworIywgZnV6enkKK21zZ2lkICJVc2VyIElEIgorbXNnc3RyICJicnVnZXItaWQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworIywgZnV6enkKK21zZ2lkICJVSUQiCittc2dzdHIgIlVVSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OAorIywgZnV6enkKK21zZ2lkICJVc2VyIG5hbWUiCittc2dzdHIgIkJydWdlcm5hdm4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorbXNnaWQgIkdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorIywgZnV6enkKK21zZ2lkICJHSUQiCittc2dzdHIgIlNHSSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYwCisjLCBmdXp6eQorbXNnaWQgIkdyb3VwIG5hbWUiCittc2dzdHIgImdydXBwZW5hdm4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorIywgZnV6enkKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIKK21zZ3N0ciAic3TDuHJyZWxzZSBww6Ugc3dhcG9tcsOlZGV0IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBjaGFuZ2UiCittc2dzdHIgInNpZHN0LcOmbmRyZXQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NAorIywgZnV6enkKK21zZ2lkICJCeXRlcyB1c2VkIgorbXNnc3RyICJieXRlIGkgYnJ1ZyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlcyIKK21zZ3N0ciAiQW50YWwgaG92ZWRlciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIk1lc3NhZ2VzIgorbXNnc3RyICJiZXNrZWRlciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2CisjLCBmdXp6eQorbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgc2VudCIKK21zZ3N0ciAiZGF0byBmb3IgZsO4cnN0ZSBsb2dpbmQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIk1zZyBzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgcmVjZWl2ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiTXNnIHJlY2VpdmVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgc2VuZGVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIk1zZyBzZW5kZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyByZWNlaXZlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJNc2cgcmVjZWl2ZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTcyCisjLCBmdXp6eQorbXNnaWQgIlNlZ21lbnQgc2l6ZSIKK21zZ3N0ciAiZmluZCBibG9rc3TDuHJyZWxzZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBhdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIm1ha3MuIGFudGFsIGFmIHByb2Nlc3NlciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCittc2dpZCAiQXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NAorIywgZnV6enkKK21zZ2lkICJTdGF0dXMiCittc2dzdHIgInN0YXR1cyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc1CisjLCBmdXp6eQorbXNnaWQgIkF0dGFjaCB0aW1lIgorbXNnc3RyICJ0aWxrb2JsZXQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NgorIywgZnV6enkKK21zZ2lkICJEZXRhY2ggdGltZSIKK21zZ3N0ciAiYWZrb2JsZXQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAiRm9ydG9sayBrb21tYW5kb3RpbHZhbGcuXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworbXNnaWQgIkNyZWF0b3IgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJQSUQgb2YgdGhlIGNyZWF0b3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiQ3JlYXRvciBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiUElEIG9mIGxhc3QgdXNlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCB1c2VyIFBJRCIKK21zZ3N0ciAiYnJ1Z2VyLWlkIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODIKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgIkFudGFsIHNla3RvcmVyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODIKKyMsIGZ1enp5Cittc2dpZCAiU2VtYXBob3JlcyIKK21zZ3N0ciAiU2VtYWZvci1pZDogJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBvcGVyYXRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCisjLCBmdXp6eQorbXNnaWQgIkxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICJoYW5kbGluZyAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAicmVzc291cmNlbmF2biIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIgorbXNnc3RyICJyZXNzb3VyY2VuYXZuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgInJlc3NvdXJjZWJlc2tyaXZlbHNlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiRGVzY3JpcHRpb24iCittc2dzdHIgImZsYWdiZXNrcml2ZWxzZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiQ3VycmVudGx5IHVzZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiVXNlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiQ3VycmVudGx5IHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICJicnVndCBwcm9jZW50IGZvciBmaWxzeXN0ZW0iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorbXNnaWQgIlVzZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJTeXN0ZW0td2lkZSBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJMaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29sdW1uICVzIGRvZXMgbm90IGFwcGx5IHRvIHRoZSBzcGVjaWZpZWQgSVBDIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4NworbXNnaWQgIiAtZywgLS1nbG9iYWwgICAgICBpbmZvIGFib3V0IHN5c3RlbS13aWRlIHVzYWdlIChtYXkgYmUgdXNlZCB3aXRoIC1tLCAtcSBhbmQgLXMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg4CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICAgICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIgLWksIC0taWQgPGlkPiAgdmlzIGRldGFsamVyIG9tIHJlc3NvdXJjZW4gbWVkIGRldCBhbmdpdmV0IDxpZD5cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk0CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgICAgIHVkc2tyaXYgU1TDmFJSRUxTRSBpIGJ5dGUgZnJlbSBmb3IgaSBldCBsw6ZzZXZlbmxpZ3QgZm9ybWF0XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiIC1jLCAtLWNyZWF0b3IgICAgIHZpcyBvcHJldHRlciBvZyBlamVyXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NworIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIHVzZSB0aGUgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIGJydWcgcsOlIHVkZGF0YWZvcm1hdFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTkKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICBmb3JjZSBsaXN0IG91dHB1dCBmb3JtYXQgKGZvciBleGFtcGxlIHdpdGggLS1pZClcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgYnJ1ZyBsaXN0ZWZvcm1hdFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDEKK21zZ2lkICIgLVAsIC0tbnVtZXJpYy1wZXJtcyAgICAgIHByaW50IG51bWVyaWMgcGVybWlzc2lvbnMgKFBFUk1TIGNvbHVtbilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDMKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgICAgICAgIHZpcyB0aWwtLCBhZmtvYmxpbmdzLSBvZyDDpm5kcmluZ3N0aWRlclxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmljIGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJHZW5lcmVsbGUgdGlsdmFsZzpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkLW1lbW9yeSBjb2x1bW5zICgtLXNobWVtcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJEZWx0IGh1a29tbWVsc2Vzc2VnbWVudCBkaHNpZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UtcXVldWUgY29sdW1ucyAoLS1xdWV1ZXMpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBjb2x1bW5zICgtLXNlbWFwaG9yZXMpOlxuIgorbXNnc3RyICIgLXMsIC0tc2VtYXBob3JlcyAgc2VtYWZvcmVyXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU3VtbWFyeSBjb2x1bW5zICgtLWdsb2JhbCk6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJFbGVtZW50czpcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDUKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZSBpZGVudGlmaWVycyIKK21zZ3N0ciAidW5payBsYWdlcmlkZW50aWZpa2F0aW9uIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDYKKyMsIGZ1enp5Cittc2dpZCAiVG90YWwgbnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgImFudGFsIHNla3RvcmVyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDcKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNlbWFwaG9yZXMgcGVyIHNlbWFwaG9yZSBzZXQuIgorbXNnc3RyICIgLXMsIC0tc2VtYXBob3JlcyAgc2VtYWZvcmVyXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwOAorIywgZnV6enkKK21zZ2lkICJNYXggbnVtYmVyIG9mIG9wZXJhdGlvbnMgcGVyIHNlbW9wKDIpIgorbXNnc3RyICJtYWtzLiBhbnRhbCDDpWJuZSBmaWxlciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA5CisjLCBmdXp6eQorbXNnaWQgIlNlbWFwaG9yZSBtYXggdmFsdWUiCittc2dzdHIgIm1ha3N2w6ZyZGkgZm9yIHNlbWFmb3IgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjMKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICJBbnRhbCBob3ZlZGVyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjQKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNpemUgb2YgbWVzc2FnZSAoYnl0ZXMpIgorbXNnc3RyICJtYWtzLiBiZXNrZWRzdMO4cnJlbHNlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjUKKyMsIGZ1enp5Cittc2dpZCAiRGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSAoYnl0ZXMpIgorbXNnc3RyICJzdGFuZGFyZCBmb3IgbWFrcy4ga8O4c3TDuHJyZWxzZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTc4IHN5cy11dGlscy9sc2lwYy5jOjk5NworbXNnaWQgImh1Z2V0bGIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTc5IHN5cy11dGlscy9sc2lwYy5jOjEwMDQKKyMsIGZ1enp5Cittc2dpZCAibm9yZXNlcnZlIgorbXNnc3RyICJMaW51eC1yZXNlcnZlcmVkZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MQorIywgZnV6enkKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIgorbXNnc3RyICIiCisiXG4iCisiRGVsdCBodWtvbW1lbHNlc3NlZ21lbnQgZGhzaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MgorIywgZnV6enkKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHBhZ2VzIgorbXNnc3RyICJEZWx0IGh1a29tbWVsc2VzLWlkOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDYzCisjLCBmdXp6eQorbXNnaWQgIk1heCBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICIgLW0sIC0tc2htZW1zICAgICAgZGVsdGUgaHVrb21tZWxzZXNzZWdtZW50ZXJcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2NAorIywgZnV6enkKK21zZ2lkICJNaW4gc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAiIC1tLCAtLXNobWVtcyAgICAgIGRlbHRlIGh1a29tbWVsc2Vzc2VnbWVudGVyXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjExMzUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElQQyBpZGVudGlmaWVyIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIGlkIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMjI5Cittc2dpZCAiLS1nbG9iYWwgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1jcmVhdG9yLCAtLWlkIGFuZCAtLXRpbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4MworIywgZnV6enkKK21zZ2lkICJuYW1lc3BhY2UgaWRlbnRpZmllciAoaW5vZGUgbnVtYmVyKSIKK21zZ3N0ciAiaWtudWRlLW51bW1lciBmb3IgcmVzZXJ2ZWZpbCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NAorbXNnaWQgImtpbmQgb2YgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODUKKyMsIGZ1enp5Cittc2dpZCAicGF0aCB0byB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJzdGF0dXMgZm9yIGVuaGVkIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg2CisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAiYW50YWwgcHJvY2Vzc2VyIGvDuHJ0IGFmIGJydWdlcmVuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg3Cittc2dpZCAibG93ZXN0IFBJRCBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODgKK21zZ2lkICJQUElEIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OQorbXNnaWQgImNvbW1hbmQgbGluZSBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTAKK21zZ2lkICJVSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkxCittc2dpZCAidXNlcm5hbWUgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG5hbWVzcGFjZT5dXG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gWzxiZXNrZWQ+XVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYxNgorIywgZnV6enkKK21zZ2lkICJMaXN0IHN5c3RlbSBuYW1lc3BhY2VzLlxuIgorbXNnc3RyICJWaXMgbG9rYWxlIHN5c3RlbWzDpXNlLlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYyMworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tdGFzayA8cGlkPiAgICAgICBwcmludCBwcm9jZXNzIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIC10LCAtLXRhcmdldCA8cGlkPiAgICAgbcOlbHByb2NlcyBhdCBoZW50ZSBuYXZuZXJ1bSBmcmFcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo2MjYKK21zZ2lkICIgLXQsIC0tdHlwZSA8bmFtZT4gICAgICBuYW1lc3BhY2UgdHlwZSAobW50LCBuZXQsIGlwYywgdXNlciwgcGlkLCB1dHMsIGNncm91cClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjcxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBuYW1lc3BhY2UgdHlwZTogJXMiCittc2dzdHIgInVrZW5kdCBmaWxzeXN0ZW10eXBlIMK7JXPCqyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MzUKKyMsIGZ1enp5Cittc2dpZCAiLS10YXNrIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxuYW1lc3BhY2U+IgorbXNnc3RyICJ0aWx2YWxnZXQgLS1maW5kIG9nIDxlbmhlZD4gdWRlbHVra2VyIGhpbmFuZGVuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjczNgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG5hbWVzcGFjZSBhcmd1bWVudCIKK21zZ3N0ciAidWd5bGRpZyBwYXVzZXBhcmFtZXRlciIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGZvdW5kIG5hbWVzcGFjZTogJWp1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY2IHN5cy11dGlscy91bW91bnQuYzoxMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAia3VuIHJvb3Qga2FuIGJydWdlIHRpbHZhbGdldCDCuy0tJXPCqyAoZWZmZWt0aXYgVUlEIGVyICV1KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njkgc3lzLXV0aWxzL3Vtb3VudC5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICJkZXR0ZSBrYW4ga3VuIHJvb3QgZ8O4cmUgKGVmZmVrdGl2IFVJRCBlciAldSkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjczIHN5cy11dGlscy91bW91bnQuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIgorbXNnc3RyICJrdW4gcm9vdCBrYW4gYnJ1Z2UgdGlsdmFsZ2V0IMK7LS0lc8KrIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NCBzeXMtdXRpbHMvdW1vdW50LmM6MTI1Cittc2dpZCAib25seSByb290IGNhbiBkbyB0aGF0IgorbXNnc3RyICJkZXR0ZSBrYW4ga3VuIHJvb3QgZ8O4cmUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjg1IHN5cy11dGlscy91bW91bnQuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzIChsaWJtb3VudCAlcyIKK21zZ3N0ciAiJXMgZnJhICVzIChsaWJtb3VudCAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTMwCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbXRhYiIKK21zZ3N0ciAia3VubmUgaWtrZSBsw6ZzZSBtdGFiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTIgc3lzLXV0aWxzL3Vtb3VudC5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogaWdub3JlZFxuIgorbXNnc3RyICIlLTI1czogaWdub3JlcmV0XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MworIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogYWxyZWFkeSBtb3VudGVkXG4iCittc2dzdHIgIiUtMjVzOiBhbGxlcmVkZSBtb250ZXJldFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdmVkIHRvICVzLlxuIgorbXNnc3RyICIlczogJXMgZmx5dHRldCB0aWwgJXMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgYm91bmQgb24gJXMuXG4iCittc2dzdHIgIiVzOiAlcyBidW5kZXQgcMOlICVzLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTQgc3lzLXV0aWxzL21vdW50LmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3VudGVkIG9uICVzLlxuIgorbXNnc3RyICIlczogJXMgbW9udGVyZXQgcMOlICVzLlxuIgorCisjIGhtbS4gIFVtdWxpZ3QgYXQgdmlkZSBvbSBkZXQgZXIgJXMtcHJvcGEuLi4uCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIHByb3BhZ2F0aW9uIGZsYWdzIGNoYW5nZWQuXG4iCittc2dzdHIgIiVzOiAlcy1wcm9wYWdhdGlvbnNmbGFnIMOmbmRyZWRlIHNpZy5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJtb3VudDogJXMgZG9lcyBub3QgY29udGFpbiBTRUxpbnV4IGxhYmVscy5cbiIKKyIgICAgICAgWW91IGp1c3QgbW91bnRlZCBhbiBmaWxlIHN5c3RlbSB0aGF0IHN1cHBvcnRzIGxhYmVscyB3aGljaCBkb2VzIG5vdFxuIgorIiAgICAgICBjb250YWluIGxhYmVscywgb250byBhbiBTRUxpbnV4IGJveC4gSXQgaXMgbGlrZWx5IHRoYXQgY29uZmluZWRcbiIKKyIgICAgICAgYXBwbGljYXRpb25zIHdpbGwgZ2VuZXJhdGUgQVZDIG1lc3NhZ2VzIGFuZCBub3QgYmUgYWxsb3dlZCBhY2Nlc3MgdG9cbiIKKyIgICAgICAgdGhpcyBmaWxlIHN5c3RlbS4gIEZvciBtb3JlIGRldGFpbHMgc2VlIHJlc3RvcmVjb24oOCkgYW5kIG1vdW50KDgpLlxuIgorbXNnc3RyICIiCisibW91bnQ6ICVzIGluZGVob2xkZXIgaWtrZSBTRUxpbnV4LWV0aWtldHRlci5cbiIKKyIgICAgICAgRHUgaGFyIG5ldG9wIG1vbnRlcmV0IGV0IGZpbHN5c3RlbSwgc29tIHVuZGVyc3TDuHR0ZXIgZXRpa2V0dGVyLCBzb21cbiIKKyIgICAgICAgaWtrZSBpbmRlaG9sZGVyIGV0aWtldHRlciwgcMOlIGVuIFNFTGludXgtYm9rcy4gRGV0IGVyIHNhbmRzeW5saWd0LCBhdFxuIgorIiAgICAgICBpbmRza3LDpm5rZWRlIHByb2dyYW1tZXIgdmlsIG9wcmV0dGUgQVZDLWJlc2tlZGVyIG9nIGlra2UgdmlsIGbDpSBhZGdhbmdcbiIKKyIgICAgICAgdGlsIGRldHRlIGZpbHN5c3RlbS4gRm9yIHlkZXJsaWdlcmUgZGV0YWxqZXIgc2UgcmVzdG9yZWNvbig4KSBvZ1xuIgorIiAgICAgICBtb3VudCg4KS5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Mzc4Cittc2dpZCAiV0FSTklORzogZmFpbGVkIHRvIGFwcGx5IHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICJBRFZBUlNFTDoga3VubmUgaWtrZSBhbnZlbmRlIHByb3BhZ2F0aW9uc2ZsYWciCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIG1vdW50ICVzIG9uICVzIgorbXNnc3RyICJrdW4gcm9vdCAoYWRtaW5pc3RyYXRvcikga2FuIG1vbnRlcmUgJXMgcMOlICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYWxyZWFkeSBtb3VudGVkIgorbXNnc3RyICIlcyBlciBhbGxlcmVkZSBtb250ZXJldCIKKworIyBodmFkIGVyIGZvcnNrZWwgcMOlIGVuZ2Vsc2sgd3JpdGUtcHJvdGVjdGVkIG9nIHJlYWQtb25seQorIzogc3lzLXV0aWxzL21vdW50LmM6NDA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB1c2VkIGFzIHJlYWQgb25seSBsb29wLCBtb3VudGluZyByZWFkLW9ubHkiCittc2dzdHIgIiVzIGVyIHNrcml2ZWJlc2t5dHRldCwgbW9udGVyZXIgc2tyaXZlYmVza3l0dGV0IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCAlcyBpbiAlcyIKK21zZ3N0ciAia2FuIGlra2UgZmluZGUgJXMgaSAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDIzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnRwb2ludCAlcyBpbiAlcyIKK21zZ3N0ciAia2FuIGlra2UgZmluZGUgbW9udGVyaW5nc3B1bmt0ICVzIGkgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50IHNvdXJjZSAlcyBpbiAlcyIKK21zZ3N0ciAia2FuIGlra2UgZmluZGUgbW9udGVyaW5nc2tpbGRlICVzIGkgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXM6IG1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQuIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sXG4iCisiICAgICAgIHVzZSAtdCA8dHlwZT4gdG8gZXhwbGljaXRseSBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUgb3JcbiIKKyIgICAgICAgdXNlIHdpcGVmcyg4KSB0byBjbGVhbiB1cCB0aGUgZGV2aWNlLiIKK21zZ3N0ciAiIgorIiVzOiB5ZGVybGlnZXJlIGZpbHN5c3RlbWVyIGRldGVrdGVyZXQuIERldHRlIGJ1cmRlIGlra2Ugc2tlLFxuIgorIiAgICAgICBicnVnIC10IDx0eXBlPiBmb3Igc3BlY2lmaWt0IGF0IGFuZ2l2ZSBmaWxzeXN0ZW10eXBlIGVsbGVyXG4iCisiICAgICAgIGJydWcgd2lwZWZzKDgpIGZvciBhdCByeWRkZSBlbmhlZGVuIG9wLiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDM2Cittc2dpZCAiSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgIkplZyBrdW5uZSBpa2tlIGJlc3RlbW1lIGZpbHN5c3RlbXR5cGVuLCBvZyBpbmdlbiB2YXIgYW5naXZldCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDM5Cittc2dpZCAieW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJkdSBza2FsIGFuZ2l2ZSBmaWxzeXN0ZW10eXBlbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMiCittc2dzdHIgImthbiBpa2tlIGZpbmRlICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDcKK21zZ2lkICJtb3VudCBzb3VyY2Ugbm90IGRlZmluZWQiCittc2dzdHIgIm1vbnRlcmluZ3NraWxkZSBlciBpa2tlIGRlZmluZXJldCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDUxIHN5cy11dGlscy9tb3VudC5jOjQ1MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIG1vbnRlcmluZ3NpbmRzdGlsbGluZ2VyIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IGtsYXJnw7hyaW5nIGFmIGzDuGtrZWVuaGVkIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50IGZhaWxlZCIKK21zZ3N0ciAiJXM6IG1vbnRlcmluZyBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlc3lzdGVtIG1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCittc2dzdHIgIiVzOiBmaWxzeXN0ZW0gbW9udGVyZXQsIG1lbiBtb3VudCg4KSBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDg5IHN5cy11dGlscy9tb3VudC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIm1vbnRlcmluZ3NwdW5rdCAlcyBlciBpa2tlIGVuIG1hcHBlIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0OTMKK21zZ2lkICJtdXN0IGJlIHN1cGVydXNlciB0byB1c2UgbW91bnQiCittc2dzdHIgInNrYWwgdsOmcmUgc3VwZXJicnVnZXIgZm9yIGF0IGJydWdlIG1vdW50IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYnVzeSIKK21zZ3N0ciAiJXMgZXIgb3B0YWdldCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCBvciAlcyBidXN5IgorbXNnc3RyICIlcyBlciBhbGxlcmVkZSBtb250ZXJldCBlbGxlciAlcyBvcHRhZ2V0IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorbXNnc3RyICIgICAgICAgJXMgZXIgYWxsZXJlZGUgbW9udGVyZXQgc29tICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUyNQorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAibW9udGVyaW5nc3B1bmt0ICVzIGZpbmRlcyBpa2tlIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgJXMgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCittc2dzdHIgIm1vbnRlcmluZ3NwdW5rdCAlcyBlciBlbiBzeW1ib2xzayBoZW52aXNuaW5nIHVkIGkgaW5nZW50aW5nIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgInNwZWNpZWxlbmhlZCAlcyBmaW5kZXMgaWtrZSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTM2IHN5cy11dGlscy9tb3VudC5jOjUzOCBzeXMtdXRpbHMvbW91bnQuYzo1NDAKKyM6IHN5cy11dGlscy9tb3VudC5jOjU1NQorbXNnaWQgIm1vdW50KDIpIGZhaWxlZCIKK21zZ3N0ciAibW91bnQoMikgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU1MQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpIgorbXNnc3RyICJzcGVjaWVsZW5oZWQgJXMgZmluZGVzIGlra2UgKGV0IHN0aXByw6ZmaWtzIGVyIGlra2UgZW4gbWFwcGUpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IG1vdW50ZWQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAiJXMgZXIgaWtrZSBtb250ZXJldCwgZWxsZXIgZm9ya2VydCB0aWx2YWxnIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50cG9pbnQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAiJXMgZXIgaWtrZSBldCBtb250ZXJpbmdzcHVua3QsIGVsbGVyIGZvcmtlcnQgdGlsdmFsZyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTY1Cittc2dpZCAiIgorImJhZCBvcHRpb24uIE5vdGUgdGhhdCBtb3ZpbmcgYSBtb3VudCByZXNpZGluZyB1bmRlciBhIHNoYXJlZFxuIgorIiAgICAgICBtb3VudCBpcyB1bnN1cHBvcnRlZC4iCittc2dzdHIgIiIKKyJGb3JrZXJ0IHRpbHZhbGcuIEJlbcOmcmsgYXQgZmx5dG5pbmcgYWYgZW4gbW9udGVyaW5nIHVuZGVyIGVuXG4iCisiICAgICAgIGRlbHQgbW9udGVyaW5nIGlra2UgZXIgdW5kZXJzdMO4dHRldC4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisid3JvbmcgZnMgdHlwZSwgYmFkIG9wdGlvbiwgYmFkIHN1cGVyYmxvY2sgb24gJXMsXG4iCisiICAgICAgIG1pc3NpbmcgY29kZXBhZ2Ugb3IgaGVscGVyIHByb2dyYW0sIG9yIG90aGVyIGVycm9yIgorbXNnc3RyICIiCisiZm9ya2VydCBmaWxzeXN0ZW10eXBlLCBmb3JrZXJ0IHRpbHZhbGcsIHVneWxkaWcgc3VwZXJibG9rIHDDpSAlcyxcbiIKKyIgICAgICAgbWFuZ2xlbmRlIHRlZ25zw6Z0LCBoasOmbHBlcHJvZ3JhbSBlbGxlciBhbmRlbiBmZWpsIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgICAoZm9yIHNldmVyYWwgZmlsZXN5c3RlbXMgKGUuZy4gbmZzLCBjaWZzKSB5b3UgbWlnaHRcbiIKKyIgICAgICAgbmVlZCBhIC9zYmluL21vdW50Ljx0eXBlPiBoZWxwZXIgcHJvZ3JhbSlcbiIKK21zZ3N0ciAiIgorIiAgICAgICAoZm9yIGZsZXJlIGZpbHN5c3RlbWVyIChmLmVrcy4gbmZzLCBjaWZzKSBza2FsIGR1IG3DpXNrZVxuIgorIiAgICAgICBicnVnZSBldCAvc2Jpbi9tb3VudC48dHlwZT4taGrDpmxwZXByb2dyYW0pXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiICAgICAgIEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gaXMgZm91bmQgaW4gc3lzbG9nIC0gdHJ5XG4iCisiICAgICAgIGRtZXNnIHwgdGFpbCBvciBzby5cbiIKK21zZ3N0ciAiIgorIlxuIgorIiAgICAgICBJIG5vZ2xlIHRpbGbDpmxkZSB2aWwgZHUgZmluZGUgbnl0dGlnZSBvcGx5c25pbmdlciBpIHN5c3RlbWxvZ2dnZW5cbiIKKyIgICAgICAgLSBwcsO4diBkbWVzZyB8IHRhaWwgIGVsbGVyIGxpZ25lbmRlLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1ODMKK21zZ2lkICJtb3VudCB0YWJsZSBmdWxsIgorbXNnc3RyICJtb250ZXJpbmdzdGFiZWxsZW4gZXIgZnVsZCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCByZWFkIHN1cGVyYmxvY2siCittc2dzdHIgIiVzOiBrYW4gaWtrZSBsw6ZzZSBzdXBlcmJsb2trZW4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU5MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSAnJXMnIgorbXNnc3RyICJ1a2VuZHQgZmlsc3lzdGVtdHlwZSDCuyVzwqsiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU5NAorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJ1a2VuZHQgZmlsc3lzdGVtdHlwZSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQoMikgZmFpbHM/IgorbXNnc3RyICIlcyBlciBpa2tlIGVuIGJsb2tlbmhlZCwgb2cgc3RhdCgyKSBmZWpsZXI/IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInRoZSBrZXJuZWwgZG9lcyBub3QgcmVjb2duaXplICVzIGFzIGEgYmxvY2sgZGV2aWNlXG4iCisiICAgICAgIChtYXliZSBgbW9kcHJvYmUgZHJpdmVyJz8pIgorbXNnc3RyICIiCisia2VybmVuIGdlbmtlbmRlciBpa2tlICVzIHNvbSBlbiBibG9rZW5oZWRcbiIKKyIgICAgICAgKG3DpXNrZSDCu21vZHByb2JlIGRyaXZlcsKrPykiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UgKG1heWJlIHRyeSBgLW8gbG9vcCc/KSIKK21zZ3N0ciAiJXMgZXIgaWtrZSBlbiBibG9rZW5oZWQgKGJydWcgZXZlbnR1ZWx0IMK7LW8gbG9vcMKrPykiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIgJXMgZXIgaWtrZSBlbiBibG9rZW5oZWQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIiAlcyBlciBpa2tlIGVuIGd5bGRpZyBibG9rZW5oZWQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQgJXMgcmVhZC1vbmx5IgorbXNnc3RyICJrYW4gaWtrZSBtb250ZXJlICVzIHNrcml2ZWJlc2t5dHRldCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHdyaXRlLXByb3RlY3RlZCBidXQgZXhwbGljaXQgYC13JyBmbGFnIGdpdmVuIgorbXNnc3RyICIlcyBlciBza3JpdmViZXNreXR0ZXQsIG1lbiBla3NwbGljaXQgZmxhZyAtdyBlciBhbmdpdmV0IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlbW91bnQgJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorbXNnc3RyICJrYW4gaWtrZSBtb250ZXJlICVzIGzDpnMvc2tyaXYgaWdlbiwgZXIgc2tyaXZlYmVza3l0dGV0IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MzEgc3lzLXV0aWxzL21vdW50LmM6NjU0IHN5cy11dGlscy91bnNoYXJlLmM6MTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAibW9udGVyaW5nICVzIHDDpSAlcyBtaXNseWtrZWRlcyIKKworIyBodmFkIGVyIGZvcnNrZWwgcMOlIGVuZ2Vsc2sgd3JpdGUtcHJvdGVjdGVkIG9nIHJlYWQtb25seQorIzogc3lzLXV0aWxzL21vdW50LmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHdyaXRlLXByb3RlY3RlZCwgbW91bnRpbmcgcmVhZC1vbmx5IgorbXNnc3RyICIlcyBlciBza3JpdmViZXNreXR0ZXQsIG1vbnRlcmVyIHNrcml2ZWJlc2t5dHRldCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKK21zZ3N0ciAiaW50ZXQgbWVkaWUgZnVuZGV0IHDDpSAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UiCittc2dzdHIgIiVzOiBLdW5uZSBpa2tlIGZvcnRvbGtlIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3B0aW9uIGZvcm1hdDogJXMiCittc2dzdHIgImlra2UgdW5kZXJzdMO4dHRldCB0aWx2YWxnc2Zvcm1hdDogJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYXBwZW5kIG9wdGlvbiAnJXMnIgorbXNnc3RyICJrdW5uZSBpa2tlIHRpbGbDuGplIHRpbHZhbGcgwrslc8KrIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbGhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2VdIDxzb3VyY2U+IHwgWy0tdGFyZ2V0XSA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIDxvcGVyYXRpb24+IDxtb3VudHBvaW50PiBbPHRhcmdldD5dXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLWxoVl1cbiIKKyIgJTEkcyAtYSBbdGlsdmFsZ11cbiIKKyIgJTEkcyBbdGlsdmFsZ10gWy0tc291cmNlXSA8a2lsZGU+IHwgWy0tdGFyZ2V0XSA8bWFwcGU+XG4iCisiICUxJHMgW3RpbHZhbGddIDxraWxkZT4gPG1hcHBlPlxuIgorIiAlMSRzIDxvcGVyYXRpb24+IDxtb250ZXJpbmdzcHVua3Q+IFs8bcOlbD5dXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0NAorbXNnaWQgIk1vdW50IGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiTW9udGVyIGV0IGZpbHN5c3RlbS5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW91bnQgYWxsIGZpbGVzeXN0ZW1zIG1lbnRpb25lZCBpbiBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgbW91bnQoMikgc3lzY2FsbFxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBmb3JrIG9mZiBmb3IgZWFjaCBkZXZpY2UgKHVzZSB3aXRoIC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8cGF0aD4gICAgICBhbHRlcm5hdGl2ZSBmaWxlIHRvIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBtb250ZXIgYWxsZSBmaWxzeXN0ZW1lciBuw6Z2bnQgaSBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBrYW5vbmlzZXIgaWtrZSBzdGllclxuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICB0w7hyIGvDuHJzZWw7IHVkZWxhZCBtb3VudCgyKS1zeXN0ZW1rYWxkZXRcbiIKKyIgLUYsIC0tZm9yayAgICAgICAgICAgICAgZm9yZ3JlbiBodmVyIGVuaGVkIChicnVnIG1lZCAtYSlcbiIKKyIgLVQsIC0tZnN0YWIgPHN0aT4gICAgICAgYWx0ZXJuYXRpdiBmaWwgdGlsIC9ldGMvZnN0YWJcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgbW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGthbGQgaWtrZSB1bW91bnQuPHR5cGU+LWhqw6ZscGVwcm9ncmFtbWVybmVcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgc2hvdyBhbHNvIGZpbGVzeXN0ZW0gbGFiZWxzXG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICB2aXMgc3TDuHJyZWxzZXIgaSBieXRlXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1OCBzeXMtdXRpbHMvdW1vdW50LmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIGRvbid0IHdyaXRlIHRvIC9ldGMvbXRhYlxuIgorbXNnc3RyICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgc2tyaXYgaWtrZSB0aWwgL2V0Yy9tdGFiXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc2MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIG1vdW50IG9wdGlvbnNcbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtb25seSAoc2FtZSBhcyAtbyBybylcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb3B0aW9ucyA8bGlzdGU+ICAga29tbWFhZHNraWx0IGxpc3RlIG1lZCBtb250ZXJpbmdzdGlsdmFsZ1xuIgorIiAtTywgLS10ZXN0LW9wdHMgPGxpc3RlPiBiZWdyw6ZucyBzw6Z0dGV0IGFmIGZpbHN5c3RlbWVyIChicnVnIG1lZCAtYSlcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgbW9udGVyIGZpbHN5c3RlbWV0IHNrcml2ZWJlc2t5dHRldCAoZGV0IHNhbW1lIHNvbSAtbyBybylcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3RlPiAgICAgYmVncsOmbnMgc8OmdHRldCBhZiBmaWxzeXN0ZW10eXBlclxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1zb3VyY2UgPHNyYz4gICAgICBleHBsaWNpdGx5IHNwZWNpZmllcyBzb3VyY2UgKHBhdGgsIGxhYmVsLCB1dWlkKVxuIgorIiAgICAgLS10YXJnZXQgPHRhcmdldD4gICBleHBsaWNpdGx5IHNwZWNpZmllcyBtb3VudHBvaW50XG4iCittc2dzdHIgIiIKKyIgICAgIC0tc291cmNlIDxzcmM+ICAgICAgc3BlY2lmaWNlcmVyIGVrc3BsaWNpdCBraWxkZSAoc3RpLCBldGlrZXQsIHV1aWQpXG4iCisiICAgICAtLXRhcmdldCA8bcOlbD4gICAgICBzcGVjaWZpY2VyZXIgZWtzcGxpY2l0IG1vbnRlcmluZ3NwdW5rdFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3Njggc3lzLXV0aWxzL3Vtb3VudC5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBzYXkgd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICB2aXMgaHZhZCBkZXIgc2tlclxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtd3JpdGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTb3VyY2U6XG4iCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKK21zZ3N0ciAiIgorIlxuIgorIktpbGRlOlxuIgorIiAtTCwgLS1sYWJlbCA8ZXRpa2V0PiAgICBzeW5vbnltIGZvciBMQUJFTD08ZXRpa2V0PlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08ZXRpa2V0PiAgICAgICAgICBzcGVjaWZpY2VyZXIgZW5oZWQgZWZ0ZXIgZmlsc3lzdGVtZXRpa2V0XG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIHNwZWNpZmljZXJlciBlbmhlZCBlZnRlciBmaWxzeXN0ZW0tVVVJRFxuIgorIiBQQVJUTEFCRUw9PGV0aWtldD4gICAgICBzcGVjaWZpY2VyZXIgZW5oZWQgZWZ0ZXIgcGFydGl0aW9uc2V0aWtlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgICBzcGVjaWZpY2VyZXIgZW5oZWQgZWZ0ZXIgcGFydGl0aW9ucy1VVUlEXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGF0aFxuIgorIiA8ZGlyZWN0b3J5PiAgICAgICAgICAgICBtb3VudHBvaW50IGZvciBiaW5kIG1vdW50cyAoc2VlIC0tYmluZC9yYmluZClcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICAgcmVndWxhciBmaWxlIGZvciBsb29wZGV2IHNldHVwXG4iCittc2dzdHIgIiIKKyIgPGVuaGVkPiAgICAgICAgICAgICAgICAgc3BlY2lmaWNlcmVyIGVuaGVkIGVmdGVyIHN0aVxuIgorIiA8bWFwcGU+ICAgICAgICAgICAgICAgICBtb250ZXJpbmdzcHVua3QgZm9yIGJpbmQtbW9udGVyaW5nZXIgKHNlIC0tYmluZC9yYmluZClcbiIKKyIgPGZpbD4gICAgICAgICAgICAgICAgICAgbm9ybWFsIGZpbCBmb3IgbG9vcGRldi1vcHPDpnRuaW5nXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc5MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3BlcmF0aW9uczpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIHNvbWV3aGVyZSBlbHNlIChzYW1lIGFzIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG1vdmUgYSBzdWJ0cmVlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlXG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcGVyYXRpb25lcjpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW9udGVyIGV0IHVuZGVydHLDpiBldCBhbmRldCBzdGVkIChzdmFyZXIgdGlsIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIGZseXQgdGlsIGV0IHVuZGVydHLDpiBldCBhbmRldCBzdGVkXG4iCisiIC1SLCAtLXJiaW5kICAgICAgICAgICAgIG1vbnRlciBldCB1bmRlcnRyw6Ygb2cgYWxsZSB1bmRlcm1vbnRlcmluZ2VyIGV0IGFuZGV0IHN0ZWRcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisiIC0tbWFrZS1zaGFyZWQgICAgICAgICAgIG1hcmtlciBldCB1bmRlcnRyw6Ygc29tIGRlbHRcbiIKKyIgLS1tYWtlLXNsYXZlICAgICAgICAgICAgbWFya2VyIGV0IHVuZGVydHLDpiBzb20gc2xhdmVcbiIKKyIgLS1tYWtlLXByaXZhdGUgICAgICAgICAgbWFya2VyIGV0IHVuZGVydHLDpiBzb20gcHJpdmF0XG4iCisiIC0tbWFrZS11bmJpbmRhYmxlICAgICAgIG1hcmtlciBldCB1bmRlcnRyw6Ygc29tIG9tIGRldCBpa2tlIGthbiBiaW5kZXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6ODAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1yc2xhdmUgICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJla3Vyc2l2dCBtYXJrZXIgZXQgaGVsdCB1bmRlcnRyw6Ygc29tIGRlbHRcbiIKKyIgLS1tYWtlLXJzbGF2ZSAgICAgICAgICAgcmVrdXJzaXZ0IG1hcmtlciBldCBoZWx0IHVuZGVydHLDpiBzb20gc2xhdmVcbiIKKyIgLS1tYWtlLXJwcml2YXRlICAgICAgICAgcmVrdXJzaXZ0IG1hcmtlciBldCBoZWx0IHVuZGVydHLDpiBzb20gcHJpdmF0XG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJla3Vyc2l2dCBtYXJrZXIgZXQgaGVsdCB1bmRlcnRyw6Ygc29tIG9tIGRldCBpa2tlIGthbiBiaW5kZXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6ODg3IHN5cy11dGlscy91bW91bnQuYzo1NDgKK21zZ2lkICJsaWJtb3VudCBjb250ZXh0IGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJrb250ZWtzdGFsbG9rZXJpbmcgZm9yIGxpYm1vdW50IG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo5NDQgc3lzLXV0aWxzL3Vtb3VudC5jOjYwMQorbXNnaWQgImZhaWxlZCB0byBzZXQgb3B0aW9ucyBwYXR0ZXJuIgorbXNnc3RyICJrdW5uZSBpa2tlIGFuZ2l2ZSB0aWx2YWxnc23DuG5zdGVyIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMDk3Cittc2dpZCAic291cmNlIHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAia2lsZGUgc3BlY2lmaWNlcmV0IG1lcmUgZW5kIGVuIGdhbmciCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLXFkXSAvcGF0aC90by9kaXJlY3RvcnlcbiIKKyIgJTEkcyAteCAvZGV2L2RldmljZVxuIgorbXNnc3RyICIiCisiICUxJHMgWy1xZF0gL3N0aS90aWwvbWFwcGVcbiIKKyIgJTEkcyAteCAvZGV2L2RldmljZVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEyMgorbXNnaWQgIkNoZWNrIHdoZXRoZXIgYSBkaXJlY3Rvcnkgb3IgZmlsZSBpcyBhIG1vdW50cG9pbnQuXG4iCittc2dzdHIgIktvbnRyb2xsZXIgb20gZW4gbWFwcGUgZWxsZXIgZmlsIGVyIGV0IG1vbnRlcmluZ3NwdW5rdC5cbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjUKK21zZ2lkICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICBxdWlldCBtb2RlIC0gZG9uJ3QgcHJpbnQgYW55dGhpbmdcbiIKKyIgLWQsIC0tZnMtZGV2bm8gICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgZmlsZXN5c3RlbVxuIgorIiAteCwgLS1kZXZubyAgICAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBibG9jayBkZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgc3RpbGxlIHRpbHN0YW5kIC0gdmlzIGlra2Ugbm9nZXRcbiIKKyIgLWQsIC0tZnMtZGV2bm8gICAgIHZpcyBtYWo6bWluLWVuaGVkc251bW1lciBmb3IgZmlsc3lzdGVtZXRcbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIHZpcyBtYWo6bWluLWVuaGVkc251bW1lciBmb3IgYmxva2VuaGVkZW5cbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlczogZXIgaWtrZSBldCBtb250ZXJpbmdzcHVua3RcbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoyMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzIGVyIGV0IG1vbnRlcmluZ3NwdW5rdFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjcyIHN5cy11dGlscy9zZXRwcml2LmM6OTMgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gPHByb2dyYW0+IFs8cGFyYW1ldHJlPiAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzYKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggbmFtZXNwYWNlcyBvZiBvdGhlciBwcm9jZXNzZXMuXG4iCittc2dzdHIgIkvDuHIgZXQgcHJvZ3JhbSBtZWQgbmF2bmVydW0gZm9yIGFuZHJlIHByb2Nlc3Nlci5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3OQorbXNnaWQgIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgIHRhcmdldCBwcm9jZXNzIHRvIGdldCBuYW1lc3BhY2VzIGZyb21cbiIKK21zZ3N0ciAiIC10LCAtLXRhcmdldCA8cGlkPiAgICAgbcOlbHByb2NlcyBhdCBoZW50ZSBuYXZuZXJ1bSBmcmFcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MAorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgIGVudGVyIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLW0sIC0tbW91bnQgWz08ZmlsPl0gICBnw6UgaSBtb250ZXJpbmdzbmF2bmVydW1cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MQorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgIGVudGVyIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiIC11LCAtLXV0c1s9PGZpbD5dICAgICAgZ8OlIGkgVVRTLW5hdm5lcnVtICh2w6ZydHNuYXZuIGV0YylcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MgorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgIGVudGVyIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1pLCAtLWlwY1s9PGZpbD5dICAgICAgZ8OlIGkgU3lzdGVtIFYgSVBDLW5hdm5lcnVtXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODMKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICBlbnRlciBuZXR3b3JrIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLW4sIC0tbmV0Wz08ZmlsPl0gICAgICBnw6UgaSBuZXR2w6Zya3NuYXZuZXJ1bVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg0Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgZW50ZXIgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLXAsIC0tcGlkWz08ZmlsPl0gICAgICBnw6UgaSBwaWQtbmF2bmVydW1cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NQorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICBlbnRlciBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbSwgLS1tb3VudCBbPTxmaWw+XSAgIGfDpSBpIG1vbnRlcmluZ3NuYXZuZXJ1bVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg2Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgZW50ZXIgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1VLCAtLXVzZXJbPTxmaWw+XSAgICAgZ8OlIGkgYnJ1Z2VybmF2bmVydW1cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NworbXNnaWQgIiAtUywgLS1zZXR1aWQgPHVpZD4gICAgIHNldCB1aWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgYW5naXYgdWlkIGkgaW5kdGFzdGV0IG5hdm5lcnVtXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODgKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtRywgLS1zZXRnaWQgPGdpZD4gICAgIGFuZ2l2IGdpZCBpIGluZHRhc3RldCBuYXZuZXJ1bVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg5Cittc2dpZCAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzIGRvIG5vdCB0b3VjaCB1aWRzIG9yIGdpZHNcbiIKK21zZ3N0ciAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzIHLDuHJlciBpa2tlIHVpZCdlciBlbGxlciBnaWQnZXJcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MAorbXNnaWQgIiAtciwgLS1yb290Wz08ZGlyPl0gICAgIHNldCB0aGUgcm9vdCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1yLCAtLXJvb3RbPTxtYXBwZT5dICAgYW5naXYgcm9kbWFwcGVuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTEKK21zZ2lkICIgLXcsIC0td2RbPTxkaXI+XSAgICAgICBzZXQgdGhlIHdvcmtpbmcgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtdywgLS13ZFs9PG1hcHBlPl0gICAgIGFuZ2l2IGFyYmVqZHNtYXBwZW5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MgorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgIGRvIG5vdCBmb3JrIGJlZm9yZSBleGVjJ2luZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgZm9yZ3JlbiBpa2tlIGbDuHIga8O4cnNlbCBhZiA8cHJvZ3JhbT5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NAorbXNnaWQgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgIHNldCBTRUxpbnV4IGNvbnRleHQgYWNjb3JkaW5nIHRvIC0tdGFyZ2V0IFBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5laXRoZXIgZmlsZW5hbWUgbm9yIHRhcmdldCBwaWQgc3VwcGxpZWQgZm9yICVzIgorbXNnc3RyICJodmVya2VuIGZpbG5hdm4gZWxsZXIgbcOlbC1waWQgYW5naXZldCBmb3IgJXMiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mjc3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHVpZCIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSB1aWQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MjgxCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGdpZCIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBnaWQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzE3Cittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tZm9sbG93LWNvbnRleHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgJWQgU0VMaW51eCBjb250ZXh0IgorbXNnc3RyICJrdW5uZSBpa2tlIG9wcmV0dGUgbnkgc2VsaW51eGtvbnRla3N0IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBleGVjIGNvbnRleHQgdG8gJyVzJyIKK21zZ3N0ciAia3VubmUgaWtrZSBhbmdpdmUgcGVyc29ubGlnaGVkIHNvbSAlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhc3NvY2lhdGUgdG8gbmFtZXNwYWNlICclcycgZmFpbGVkIgorbXNnc3RyICJnZW5hc3NvY2llcmluZyB0aWwgbmF2bmVydW0gwrslc8KrIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM5MAorbXNnaWQgImNhbm5vdCBvcGVuIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgImthbiBpa2tlIMOlYm5lIG51dsOmcmVuZGUgYXJiZWpkc21hcHBlIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM5NworbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgcm9vdCBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICLDpm5kcmluZyBhZiBtYXBwZSBtZWQgcm9kZmlsYmVza3JpdmVyIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQwMAorbXNnaWQgImNocm9vdCBmYWlsZWQiCittc2dzdHIgImNocm9vdCBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MTAKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHdvcmtpbmcgZGlyZWN0b3J5IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgIsOmbmRyaW5nIGFmIG1hcHBlIG1lZCBhcmJlamRzbWFwcGVmaWxiZXNrcml2ZXIgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDIxIHN5cy11dGlscy9zZXRwcml2LmM6ODE1IHN5cy11dGlscy9zZXRwcml2LmM6ODE5Cittc2dpZCAic2V0Z3JvdXBzIGZhaWxlZCIKK21zZ3N0ciAic2V0Z3JvdXBzIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gbmV3X3Jvb3QgcHV0X29sZFxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIG5ld19yb290IHB1dF9vbGRcbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozNworbXNnaWQgIkNoYW5nZSB0aGUgcm9vdCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLDhm5kciByb2RmaWxzeXN0ZW1ldC5cbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QgZnJvbSBgJXMnIHRvIGAlcyciCittc2dzdHIgImt1bm5lIGlra2Ugw6ZuZHJlIHJvb3QgZnJhIMK7JXPCqyB0aWwgwrslc8KrIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1Cittc2dpZCAiYWRkcmVzcyBzcGFjZSBsaW1pdCIKK21zZ3N0ciAiYmVncsOmbnNuaW5nIGZvciBhZHJlc3NlcnVtIgorCisjIG1vbiBpa2tlIGRldCBlciBtYWtzLiBzdMO4cnJlbHNlIGFmIGtlcm5lZmlsPworIyBicnVnIGV2dC4gIm1ha3MuIGtlcm5lZmlsc3TDuHJyZWxzZSIgZGEgZGV0IGthbiBiZXR5ZGUgYmVnZ2UgZGVsZQorIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NgorbXNnaWQgIm1heCBjb3JlIGZpbGUgc2l6ZSIKK21zZ3N0ciAibWFrcy4ga2VybmVmaWxzdMO4cnJlbHNlIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAiQ1BVIHRpbWUiCittc2dzdHIgIkNQVS10aWQiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJzZWNvbmRzIgorbXNnc3RyICJzZWt1bmRlciIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OAorbXNnaWQgIm1heCBkYXRhIHNpemUiCittc2dzdHIgIm1ha3MuIGRhdGFzdMO4cnJlbHNlIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5Cittc2dpZCAibWF4IGZpbGUgc2l6ZSIKK21zZ3N0ciAibWFrcy4gZmlsc3TDuHJyZWxzZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZmlsZSBsb2NrcyBoZWxkIgorbXNnc3RyICJtYWtzLiBhbnRhbCBmaWxsw6VzZSBob2xkdCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorIywgZnV6enkKK21zZ2lkICJsb2NrcyIKK21zZ3N0ciAiYmxva2tlIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCittc2dpZCAibWF4IGxvY2tlZC1pbi1tZW1vcnkgYWRkcmVzcyBzcGFjZSIKK21zZ3N0ciAibWFrcy4gYWRyZXNzZXJ1bSBsw6VzdCBpIGh1a29tbWVsc2VuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyCittc2dpZCAibWF4IGJ5dGVzIGluIFBPU0lYIG1xdWV1ZXMiCittc2dzdHIgIm1ha3MuIGJ5dGUgaSBQT1NJWCBtcXVldWVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgzCittc2dpZCAibWF4IG5pY2UgcHJpbyBhbGxvd2VkIHRvIHJhaXNlIgorbXNnc3RyICJtYWtzLiBuaWNlIHByaW8gdGlsbGFkdCBhdCDDuGdlIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0Cittc2dpZCAibWF4IG51bWJlciBvZiBvcGVuIGZpbGVzIgorbXNnc3RyICJtYWtzLiBhbnRhbCDDpWJuZSBmaWxlciIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorIywgZnV6enkKK21zZ2lkICJmaWxlcyIKK21zZ3N0ciAiZmlsICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1Cittc2dpZCAibWF4IG51bWJlciBvZiBwcm9jZXNzZXMiCittc2dzdHIgIm1ha3MuIGFudGFsIGFmIHByb2Nlc3NlciIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorIywgZnV6enkKK21zZ2lkICJwcm9jZXNzZXMiCittc2dzdHIgInByb2Nlcy1pZCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NgorbXNnaWQgIm1heCByZXNpZGVudCBzZXQgc2l6ZSIKK21zZ3N0ciAibWFrcy4gaGplbW1laMO4cmVuZGUgc8OmdHN0w7hycmVsc2UiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODcKK21zZ2lkICJtYXggcmVhbC10aW1lIHByaW9yaXR5IgorbXNnc3RyICJtYWtzLiByZWFsdGlkc3ByaW9yaXRldCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgInRpbWVvdXQgZm9yIHJlYWwtdGltZSB0YXNrcyIKK21zZ3N0ciAidGlkc3VkbMO4YiBmb3IgcmVhbHRpZHNvcGdhdmVyIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAibWljcm9zZWNzIgorbXNnc3RyICJtaWtyb3Nlay4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJtYXggbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscyIKK21zZ3N0ciAibWFrcy4gYW50YWwgYWYgaWdhbmd2w6ZyZW5kZSBzaWduYWxlciIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorbXNnaWQgInNpZ25hbHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgIm1heCBzdGFjayBzaXplIgorbXNnc3RyICJtYWtzLiBzdGFrc3TDuHJyZWxzZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjMKK21zZ2lkICJyZXNvdXJjZSBuYW1lIgorbXNnc3RyICJyZXNzb3VyY2VuYXZuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNAorbXNnaWQgInJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJyZXNzb3VyY2ViZXNrcml2ZWxzZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjUKK21zZ2lkICJzb2Z0IGxpbWl0IgorbXNnc3RyICJibMO4ZCBiZWdyw6Zuc25pbmciCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI2Cittc2dpZCAiaGFyZCBsaW1pdCAoY2VpbGluZykiCittc2dzdHIgImjDpXJkIGJlZ3LDpm5zbmluZyAobG9mdCkiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI3Cittc2dpZCAidW5pdHMiCittc2dzdHIgImVuaGVkZXIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1wIFBJRF1cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSBbLXAgUElEXVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIENPTU1BTkRcbiIKK21zZ3N0ciAiJXMgW3RpbHZhbGddIEtPTU1BTkRPXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY2Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlc291cmNlIGxpbWl0cyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIlZpcyBlbGxlciDDpm5kciByZXNzb3VyY2ViZWdyw6Zuc25pbmdlciBmb3IgZW4gcHJvY2VzLlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmFsIE9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJHZW5lcmVsbGUgdGlsdmFsZzpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjkKK21zZ2lkICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG91dHB1dFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHByb2Nlcy1pZFxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3RlPiAgIGRlZmluZXIgaHZpbGtlIHJlc3VsdGF0a29sb25uZXIgZGVyIHNrYWwgYnJ1Z2VzXG4iCisiICAgICAtLW5vaGVhZGluZ3MgICAgICAgdmlzIGlra2Ugb3ZlcnNrcmlmdGVyXG4iCisiICAgICAtLXJhdyAgICAgICAgICAgICAgYnJ1ZyBkZXQgcsOlIHJlc3VsdGF0Zm9ybWF0XG4iCisiICAgICAtLXZlcmJvc2UgICAgICAgICAgdWRkeWJlbmRlIHRpbHN0YW5kXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgdmlzIGRlbm5lIGhqw6ZscGV0ZWtzdCBvZyBhZnNsdXRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICB2aXMgdmVyc2lvbnNpbmZvcm1hdGlvbiBvZyBhZnNsdXRcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzcKK21zZ2lkICIiCisiXG4iCisiUmVzb3VyY2VzIE9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJSZXNzb3VyY2V0aWx2YWxnOlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OAorbXNnaWQgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgY29yZSBmaWxlcyBjcmVhdGVkXG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcydzIGRhdGEgc2VnbWVudFxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIG1heGltdW0gbmljZSBwcmlvcml0eSBhbGxvd2VkIHRvIHJhaXNlXG4iCisiIC1mLCAtLWZzaXplICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlIHByb2Nlc3NcbiIKKyIgLWksIC0tc2lncGVuZGluZyAgICAgICBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHNcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICBtYXhpbXVtIHNpemUgYSBwcm9jZXNzIG1heSBsb2NrIGludG8gbWVtb3J5XG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZVxuIgorIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIG9wZW4gZmlsZXNcbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBtYXhpbXVtIGJ5dGVzIGluIFBPU0lYIG1lc3NhZ2UgcXVldWVzXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eVxuIgorIiAtcywgLS1zdGFjayAgICAgICAgICAgIG1heGltdW0gc3RhY2sgc2l6ZVxuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIG1heGltdW0gYW1vdW50IG9mIENQVSB0aW1lIGluIHNlY29uZHNcbiIKKyIgLXUsIC0tbnByb2MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiB1c2VyIHByb2Nlc3Nlc1xuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIHNpemUgb2YgdmlydHVhbCBtZW1vcnlcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBmaWxlIGxvY2tzXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAgQ1BVIHRpbWUgaW4gbWljcm9zZWNvbmRzIGEgcHJvY2VzcyBzY2hlZHVsZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1bmRlciByZWFsLXRpbWUgc2NoZWR1bGluZ1xuIgorbXNnc3RyICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAgbWFrc2ltYWwgc3TDuHJyZWxzZSBmb3IgYmFzaXNmaWxlciBvcHJldHRldFxuIgorIiAtZCwgLS1kYXRhICAgICAgICAgICAgIG1ha3NpbWFsIHN0w7hycmVsc2UgZm9yIGVuIHByb2NlcycgZGF0YXNlZ21lbnRcbiIKKyIgLWUsIC0tbmljZSAgICAgICAgICAgICBtYWtzaW1hbCBuaWNlLXByaW9yaXRldCB0aWxsYWR0IGF0IMO4Z2VcbiIKKyIgLWYsIC0tZnNpemUgICAgICAgICAgICBtYWtzaW1hbCBzdMO4cnJlbHNlIGZvciBmaWxlciBza3JldmV0IGFmIHByb2Nlc3NlblxuIgorIiAtaSwgLS1zaWdwZW5kaW5nICAgICAgIG1ha3NpbWFsIGFudGFsIGlnYW5ndsOmcmVuZGUgc2lnbmFsZXJcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICBtYWtzaW1hbCBzdMO4cnJlbHNlIGVuIHByb2NlcyBtw6UgbMOlc2UgaSBodWtvbW1lbHNlblxuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgIG1ha3NpbWFsIGhqZW1tZWjDuHJlbmRlIHPDpnRzdMO4cnJlbHNlXG4iCisiIC1uLCAtLW5vZmlsZSAgICAgICAgICAgbWFrc2ltYWwgYW50YWwgw6VibmUgZmlsZXJcbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBtYWtzaW1hbCBieXRlIGkgUE9TSVgtYmVza2Vka8O4ZXJcbiIKKyIgLXIsIC0tcnRwcmlvICAgICAgICAgICBtYWtzaW1hbCByZWFsdGlkcyBwbGFubMOmZ25pbmdzcHJpb3JpdGV0XG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAgbWFrc2ltYWwgc3Rha3N0w7hycmVsc2VcbiIKKyIgLXQsIC0tY3B1ICAgICAgICAgICAgICBtYWtzaW1hbCBtw6ZuZ2RlIGFmIGNwdS10aWQgaSBzZWt1bmRlclxuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIG1ha3NpbWFsIGFudGFsIGFmIGJydWdlcnByb2Nlc3NlclxuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIHN0w7hycmVsc2UgcMOlIHZpcnR1ZWwgaHVrb21tZWxzZVxuIgorIiAteCwgLS1sb2NrcyAgICAgICAgICAgIG1ha3NpbWFsIGFudGFsIGZpbGzDpXNlXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAgQ1BVLXRpZCBpIG1pa3Jvc2VrdW5kZXIgZW4gcHJvY2VzIGVyIHBsYW5sYWd0XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXIgcmVhbHRpZHMgcGxhbmzDpmduaW5nXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MjQzIHN5cy11dGlscy9wcmxpbWl0LmM6MjQ5IHN5cy11dGlscy9wcmxpbWl0LmM6MzY2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3MQorbXNnaWQgInVubGltaXRlZCIKK21zZ3N0ciAidWJlZ3LDpm5zZXQiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzMyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgb2xkICVzIGxpbWl0IgorbXNnc3RyICJrdW5uZSBpa2tlIGluZGhlbnRlIGdhbW1lbCAlcy1iZWdyw6Zuc25pbmciCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzU2CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBzb2Z0IGxpbWl0ICVzIGNhbm5vdCBleGNlZWQgdGhlIGhhcmQgbGltaXQiCittc2dzdHIgImRlbiBibMO4ZGUgYmVncsOmc25pbmcgJXMga2FuIGlra2Ugb3ZlcnNrcmlkZSBkZW4gaMOlcmRlIGJlZ3LDpm5zbmluZyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5ldyAlcyBsaW1pdCBmb3IgcGlkICVkOiAiCittc2dzdHIgIk55ICVzIGJlZ3LDpm5zbmluZzogIgorCisjIGplZyB0cm9yICVzIGVyIGVuIHByb2NlcyBlbGxlciBzw6VkYW4gbm9nZXQKKyMgZXZ0LiAicmVzc291cmNlYmVncsOmbnNuaW5nZW4gZm9yICVzIgorIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgImt1bm5lIGlra2UgYW5naXZlIHJlc3NvdXJjZWJlZ3LDpm5zbmluZ2VuIGZvciAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgImt1bm5lIGlra2UgaW5kaGVudGUgcmVzc291cmNlYmVncsOmbnNuaW5nZW4gZm9yICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgbGltaXQiCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgYmVncsOmbnNuaW5nZW4gZm9yICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NQorbXNnaWQgIm9wdGlvbiAtLXBpZCBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAidGlsdmFsZ2V0IC0tcGlkIGthbiBrdW4gYW5naXZlcyBlbiBnYW5nIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjYxNgorbXNnaWQgIm9wdGlvbnMgLS1waWQgYW5kIENPTU1BTkQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAidGlsdmFsZ2VuZSAtLXBpZCBvZyBLT01NQU5ETyB1ZGVsdWtrZXIgaGluYW5kZW4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNworbXNnaWQgIkRpc3BsYXkga2VybmVsIHByb2ZpbGluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiVmlzIHByb2ZpbGVyaW5nc2luZm9ybWF0aW9uIGZvciBrZXJuZW4uXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICIgLW0sIC0tbWFwZmlsZSA8bWFwZmlsZT4gICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIKK21zZ3N0ciAiIC1tLCAtLW1hcGZpbGUgPGFmYmlsZG5pbmdzZmlsPiAoc3RhbmRhcmQ6IMK7JXPCqyBvZ1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiVzXCIpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDCuyVzwqspXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICIgLXAsIC0tcHJvZmlsZSA8cHJvLWZpbGU+ICAoZGVmYXVsdDogIFwiJXNcIilcbiIKK21zZ3N0ciAiIC1wLCAtLXByb2ZpbGUgPHByby1maWw+ICAgKHN0YW5kYXJkOiAgwrslc8KrKVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTYKK21zZ2lkICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorbXNnc3RyICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBhbmdpdiBwcm9maWxlcmluZ3NtdWx0aXBsaWthdG9yZW4gdGlsIDxtdWx0PlxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTcKK21zZ2lkICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIKK21zZ3N0ciAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgdmlzIGt1biBpbmZvcm1hdGlvbiBvbSBzYW1wbGluZ3N0cmluZXRcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE4Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBkYXRhXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIHZpcyB1ZGR5YmVuZGUgZGF0YVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICBwcmludCBhbGwgc3ltYm9scywgZXZlbiBpZiBjb3VudCBpcyAwXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIHZpcyBhbGxlIHN5bWJvbGVyLCBzZWx2IGh2aXMgYW50YWxsZXQgZXIgMFxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjAKK21zZ2lkICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCittc2dzdHIgIiAtYiwgLS1oaXN0YmluICAgICAgICAgICAgIHZpcyBpbmRpdmlkdWVsbGUgaGlzdG9ncmFtLWJpbi1hbnRhbFxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjEKK21zZ2lkICIgLXMsIC0tY291bnRlcnMgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGNvdW50ZXJzIHdpdGhpbiBmdW5jdGlvbnNcbiIKK21zZ3N0ciAiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAgdmlzIGluZGl2aWR1ZWxsZSB0w6ZsbGVyZSBpbmRlbiBpIGZ1bmt0aW9uZXJcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIyCittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICBudWxzdGlsIGFsbGUgdMOmbGxlcmUgKGt1biByb290KVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjMKK21zZ2lkICIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIKK21zZ3N0ciAiIC1uLCAtLW5vLWF1dG8gICAgICAgICAgICAgZGVha3RpdmVyIGF1dG9tYXRpc2sgcmVnaXN0cmVyaW5nIGFmIGJ5dGUtcsOma2tlZsO4bGdlXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciB3cml0aW5nICVzIgorbXNnc3RyICJmZWpsIHZlZCBza3Jpdm5pbmcgYWYgJXMiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI3MQorbXNnaWQgIkFzc3VtaW5nIHJldmVyc2VkIGJ5dGUgb3JkZXIuIFVzZSAtbiB0byBmb3JjZSBuYXRpdmUgYnl0ZSBvcmRlci4iCittc2dzdHIgIkFudGFnZXIgb212ZW5kdCBieXRlcsOma2tlZsO4bGdlLiBCcnVnIC1uIGZvciBhdCBmcmVtdHZpbmdlIHBsYXRmb3Jtc3NwZWNpZmlrIGJ5dGVyw6Zra2Vmw7hsZ2UuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNhbXBsaW5nX3N0ZXA6ICV1XG4iCittc2dzdHIgIk3DpWxldHJpbjogJWlcbiIKKworIyBBc2s6IGhtbW0uICBKZWcgZXIgaWtrZSBrbGFyIG92ZXIgc2FtbWVuaMOmbmdlbi4gIEVyIG1hcCBoZXIgZW4gc2xhZ3MgYWZiaWxkbmluZz8KKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMwMiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMoJWkpOiB3cm9uZyBtYXAgbGluZSIKK21zZ3N0ciAiJXMoJWkpOiBmb3JrZXJ0IG92ZXJzaWd0c2xpbmplIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBcIl9zdGV4dFwiIGluICVzIgorbXNnc3RyICJrYW4gaWtrZSBmaW5kZSDCu19zdGV4dMKrIGkgJXMiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjM0NgorbXNnaWQgInByb2ZpbGUgYWRkcmVzcyBvdXQgb2YgcmFuZ2UuIFdyb25nIG1hcCBmaWxlPyIKK21zZ3N0ciAicHJvZmlsYWRyZXNzZSB1ZGVuIGZvciBvbXLDpWRldC4gRm9ya2VydCBhZmJpbGRuaW5nc2ZpbD8iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjQwNAorbXNnaWQgInRvdGFsIgorbXNnc3RyICJ0b3RhbCIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUyCittc2dpZCAicHJvY2VzcyBJRCIKK21zZ3N0ciAicHJvY2VzLWlkIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTMKK21zZ2lkICJwcm9jZXNzIGdyb3VwIElEIgorbXNnc3RyICJwcm9jZXNncnVwcGUtaWQiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+IFstcHwtLXBpZF0gPHBpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC1nfC0tcGdycCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC11fC0tdXNlciA8dXNlcj4uLi5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstbl0gPHByaW9yaXRldD4gWy1wfC0tcGlkXSA8cGlkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXRldD4gIC1nfC0tcGdycCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0ZXQ+ICAtdXwtLXVzZXIgPGJydWdlcj4uLi5cbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjY3Cittc2dpZCAiQWx0ZXIgdGhlIHByaW9yaXR5IG9mIHJ1bm5pbmcgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICLDhm5kciBwcmlvcml0ZXRlbiBmb3Iga8O4cmVuZGUgcHJvY2Vzc2VyLlxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzAKK21zZ2lkICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorbXNnc3RyICIgLW4sIC0tcHJpb3JpdHkgPGFudGFsPiBhbmdpdiBkZW4gcMOmbmUgdHJpbnZpc2UgdsOmcmRpXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MQorbXNnaWQgIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBmb3J0b2xrIHBhcmFtZXRlciBzb20gcHJvY2VzLWlkIChzdGFuZGFyZClcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcyCittc2dpZCAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKK21zZ3N0ciAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgZm9ydG9sayBwYXJhbWV0ZXIgc29tIHByb2Nlc2dydXBwZS1pZFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzMKK21zZ2lkICIgLXUsIC0tdXNlciA8bmFtZT58PGlkPiBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIgorbXNnc3RyICIgLXUsIC0tdXNlciA8bmF2bj58PGlkPiBmb3J0b2xrIHBhcmFtZXRlciBzb20gYnJ1Z2VybmF2biBlbGxlciBicnVnZXItaWRcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgIkt1bm5lIGlra2UgaW5kaGVudGUgcHJpb3JpdGV0IGZvciAlZCAoJXMpIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiS3VubmUgaWtrZSBhbmdpdmUgcHJpb3JpdGV0IGZvciAlZCAoJXMpIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkICglcykgb2xkIHByaW9yaXR5ICVkLCBuZXcgcHJpb3JpdHkgJWRcbiIKK21zZ3N0ciAiJWQgKCVzKSBnYW1tZWwgcHJpb3JpdGV0ICVkLCBueSBwcmlvcml0ZXQgJWRcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjE3NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHVzZXIgJXMiCittc2dzdHIgInVrZW5kdCBicnVnZXIgJXMiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgb25lIG9mIHRoZSBhYm92ZQorIy4gKiB0aHJlZSBJRCBuYW1lcy4gUmVhZDogImJhZCB2YWx1ZSBmb3IgJXM6ICVzIgorIzogc3lzLXV0aWxzL3JlbmljZS5jOjE4NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgJXMgdmFsdWU6ICVzIgorbXNnc3RyICJ1Z3lsZGlnICVzIHbDpnJkaTogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6OTgKK21zZ2lkICJFbnRlciBhIHN5c3RlbSBzbGVlcCBzdGF0ZSB1bnRpbCBhIHNwZWNpZmllZCB3YWtldXAgdGltZS5cbiIKK21zZ3N0ciAiR8OlIGkgZW4gc292ZXRpbHN0YW5kIGZvciBzeXN0ZW1ldCBpbmR0aWwgZW4gYW5naXZldCBvcHbDpWduaW5nc3RpZC5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDEKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICAgICAgICAgIHJlYWRzIHRoZSBjbG9jayBtb2RlIGZyb20gYWRqdXN0IGZpbGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgbMOmc2VyIHVyLXRpbHN0YW5kZW4gZnJhIGp1c3RlcmluZ3NmaWxlbiAoc3RhbmRhcmQpXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLUEsIC0tYWRqZmlsZSA8ZmlsZT4gICAgIHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRlZmF1bHQgaXMgJXNcbiIKK21zZ3N0ciAiIgorIiAtQSwgLS1hZGpmaWxlIDxmaWw+ICAgICAgc3BlY2lmaWNlcmVyIHN0aWVuIHRpbCBqdXN0ZXJpbmdzZmlsZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhbmRhcmRlbiBlciAlc1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZXN0YW1wPiAgIGRhdGUgdGltZSBvZiB0aW1lc3RhbXAgdG8gd2FrZVxuIgorbXNnc3RyICIgLXQsIC0tdGltZSA8dGlkX3Q+ICAgICAgIHRpZCBhdCB2w6VnbmVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDYKK21zZ2lkICIgLWQsIC0tZGV2aWNlIDxkZXZpY2U+ICAgIHNlbGVjdCBydGMgZGV2aWNlIChydGMwfHJ0YzF8Li4uKVxuIgorbXNnc3RyICIgLWQsIC0tZGV2aWNlIDxlbmhlZD4gICAgIHbDpmxnIHJ0Yy1lbmhlZCAocnRjMHxydGMxfC4uLilcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDcKK21zZ2lkICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGRvZXMgZXZlcnl0aGluZywgYnV0IHN1c3BlbmRcbiIKK21zZ3N0ciAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICB1ZGbDuHJlciBhbHQsIHVuZHRhZ2VuIGh2aWxldGlsc3RhbmRcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDgKK21zZ2lkICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCittc2dzdHIgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIGJydWdlciBsb2thbCB0aWRzem9uZVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOQorbXNnaWQgIiAgICAgLS1saXN0LW1vZGVzICAgICAgICAgbGlzdCBhdmFpbGFibGUgbW9kZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMAorbXNnaWQgIiAtbSwgLS1tb2RlIDxtb2RlPiAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwIG1vZGVcbiIKK21zZ3N0ciAiIC1tLCAtLW1vZGUgPHRpbHN0YW5kPiAgICBzdGFuZGJ5fG1lbXwuLi4gZHZhbGV0aWxzdGFuZFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMQorbXNnaWQgIiAtcywgLS1zZWNvbmRzIDxzZWNvbmRzPiAgc2Vjb25kcyB0byBzbGVlcFxuIgorbXNnc3RyICIgLXMsIC0tc2Vjb25kcyA8c2VrdW5kZXI+IHNla3VuZGVyIHRpbCBkdmFsZVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMgorbXNnaWQgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCittc2dzdHIgIiAtdCwgLS10aW1lIDx0aWRfdD4gICAgICAgdGlkIGF0IHbDpWduZVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMworbXNnaWQgIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIHVzZXMgVVRDXG4iCittc2dzdHIgIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIGJydWdlciBVVENcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB1ZGR5YmVuZGUgYmVza2VkZXJcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNjcKK21zZ2lkICJyZWFkIHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAibMOmc25pbmcgYWYgcnRjLXRpZCBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNzMKK21zZ2lkICJyZWFkIHN5c3RlbSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAibMOmc25pbmcgYWYgc3lzdGVtdGlkIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE4OQorbXNnaWQgImNvbnZlcnQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICJrb252ZXJ0ZXJpbmcgYWYgcnRjLXRpZCBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyMzcKK21zZ2lkICJzZXQgcnRjIHdha2UgYWxhcm0gZmFpbGVkIgorbXNnc3RyICJhbmdpdmVsc2UgYWYgcnRjIHdha2UtYWxhcm0gbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHRoaXJkIGxpbmUgaW46ICVzOiAlcyIKK21zZ3N0ciAidXZlbnRldCBsaW5qZWFmc2x1dG5pbmcgcMOlICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMyMCBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyNAorbXNnaWQgInJlYWQgcnRjIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAibMOmc25pbmcgYWYgcnRjLWFsYXJtIG1pc2x5a2tlZGVzIgorCisjIChqZWcgdHJvciBtZWxsZW1ydW1tZW5lIHNrYWwgcGFzc2Ugc8OlICVzIGtvbW1lciBww6Ugc2FtbWUgcGxhZHMgZWZ0ZXIKKyMgb24gb2cgb2ZmLiAgRHZzLiBpIHZvcmVzIHRpbGbDpmxkZSBzbHVra2V0L3TDpm5kdCwgZ8OmdHRlciBqZWcgcMOlKSBVQUZLTEFSRVQKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvZmZcbiIKK21zZ3N0ciAiYWxhcm06IHNsdWtrZXRcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMzgKK21zZ2lkICJjb252ZXJ0IHRpbWUgZmFpbGVkIgorbXNnc3RyICJrb252ZXJ0ZXIgdGlkIG1pc2x5a2tlZGVzIgorCisjIChqZWcgdHJvciBtZWxsZW1ydW1tZW5lIHNrYWwgcGFzc2Ugc8OlICVzIGtvbW1lciBww6Ugc2FtbWUgcGxhZHMgZWZ0ZXIKKyMgb24gb2cgb2ZmLiAgRHZzLiBpIHZvcmVzIHRpbGbDpmxkZSBzbHVra2V0L3TDpm5kdCwgZ8OmdHRlciBqZWcgcMOlKSBVQUZLTEFSRVQKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvbiAgJXMiCittc2dzdHIgImFsYXJtOiB0w6ZuZHQgICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQ6ICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIGzDpnNlIG1hcHBlICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ2NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgc3VzcGVuZCBzdGF0ZSAnJXMnIgorbXNnc3RyICJ1a2VuZHQgaHZpbGV0aWxzdGFuZCDCuyVzwqsiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDc1Cittc2dpZCAiaW52YWxpZCBzZWNvbmRzIGFyZ3VtZW50IgorbXNnc3RyICJ1Z3lsZGlnIHNla3VuZHBhcmFtZXRlciIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0NzkKK21zZ2lkICJpbnZhbGlkIHRpbWUgYXJndW1lbnQiCittc2dzdHIgInVneWxkaWcgdGlkc3BhcmFtZXRlciIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIKK21zZ3N0ciAiJXM6IGFudGFnZXIgYXQgUlRDIGJydWdlciBVVEMgLi4uXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTExCittc2dpZCAiVXNpbmcgVVRDIHRpbWUuXG4iCittc2dzdHIgIkJydWdlciBVVEMtdGlkLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxMgorbXNnaWQgIlVzaW5nIGxvY2FsIHRpbWUuXG4iCittc2dzdHIgIkJydWdlciBsb2thbCB0aWQuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTE1CisjLCBmdXp6eQorbXNnaWQgIm11c3QgcHJvdmlkZSB3YWtlIHRpbWUgKHNlZSAtLXNlY29uZHMsIC0tdGltZSBhbmQgLS1kYXRlIG9wdGlvbnMpIgorbXNnc3RyICJvcHbDpWduaW5nc3RpZCBza2FsIHbDpnJlIGFuZ2l2ZXQgKHNlIHRpbHZhbGdlbmUgLXQgb2cgLXMpIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgZW5hYmxlZCBmb3Igd2FrZXVwIGV2ZW50cyIKK21zZ3N0ciAiJXMgZXIgaWtrZSBha3RpdmVyZXQgZm9yIG9wdsOlZ25pbmdzaMOmbmRlbHNlciIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm0gJWxkLCBzeXNfdGltZSAlbGQsIHJ0Y190aW1lICVsZCwgc2Vjb25kcyAldVxuIgorbXNnc3RyICJhbGFybSAlbGQsIHN5c190aW1lICVsZCwgcnRjX3RpbWUgJWxkLCBzZWt1bmRlciAldVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzNQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGRvZXNuJ3QgZ28gYmFja3dhcmQgdG8gJXMiCittc2dzdHIgInRpZGVuIGfDpXIgaWtrZSBiYWdsw6ZucyB0aWwgJXMiCisKKyMgamVnIHRyb3IgZGV0IHN2YXJlciB0aWwgIm9wdsOlZ25pbmcgdmVkIGhqw6ZscCBhZiBmdW5rdGlvbmVuICVzIGtsb2trZW4gJXMgZWxsZXIgbm9nZXQgbGlnbmVuZGUKKyMgamVnIGZvcmVzbMOlcjogb3B2w6VnbmluZyBtZWQgJXMgJXMKKyMgKGRldCBzaWRzdGUgJXMgdmlsIHPDpSB2w6ZyZSBvLmsuIGh2YWRlbnRlbiBkZXQgZXIgZGF0byBlbGxlciB0aWRzcHVua3QpCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlczogb3B2w6VnbmluZyBtZWQgJXMgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgZnJvbSBcIiVzXCIgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIiVzOiBvcHbDpWduaW5nIGZyYSDCuyVzwqsgbWVkICVzICVzIgorCisjIGV2dC4gIm5laiIgLT4gImluZ2VuIgorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBubzsgbGVhdmluZ1xuIgorbXNnc3RyICJodmlsZXRpbHN0YW5kOiBuZWo7IGZvcmxhZGVyXG4iCisKKyMgZXZ0LiAic2x1a2tldCIgLT4gInNsw6VldCBmcmEiCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9mZjsgZXhlY3V0aW5nICVzXG4iCittc2dzdHIgImh2aWxldGlsc3RhbmQ6IHNsdWtrZXQ7IGvDuHJlciAlc1xuIgorCisjICJzbMOlZXQgdGlsIgorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvbjsgcmVhZGluZyBydGNcbiIKK21zZ3N0ciAiaHZpbGV0aWxzdGFuZDogdMOmbmR0OyBsw6ZzZXIgcnRjXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTkyCittc2dpZCAicnRjIHJlYWQgZmFpbGVkIgorbXNnc3RyICJsw6ZzbmluZyBhZiBydGMgbWlzbHlra2VkZXMiCisKKyMgZXZ0LiAiZGVha3RpdmVyZXQiCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwNAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IGRpc2FibGU7IGRpc2FibGluZyBhbGFybVxuIgorbXNnc3RyICJodmlsZXRpbHN0YW5kOiBkZWFrdGl2ZXI7IGRlYWt0aXZlcmVyIGFsYXJtXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjA4CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogc2hvdzsgcHJpbnRpbmcgYWxhcm0gaW5mb1xuIgorbXNnc3RyICJodmlsZXRpbHN0YW5kOiB2aXM7IHZpc2VyIGFsYXJtaW5mb3JtYXRpb25cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiAlczsgc3VzcGVuZGluZyBzeXN0ZW1cbiIKK21zZ3N0ciAiaHZpbGV0aWxzdGFuZDogJXM7IHPDpnR0ZXIgc3lzdGVtIGkgaHZpbGVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjkKK21zZ2lkICJkaXNhYmxlIHJ0YyBhbGFybSBpbnRlcnJ1cHQgZmFpbGVkIgorbXNnc3RyICJkZWFrdGl2ZXJpbmcgYWYgcnRjLWFsYXJtYWZicnlkZWxzZSBtaXNseWtrZWRlcyIKKworIyBzbMOlciB0aWwKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3dpdGNoaW5nIG9uICVzLlxuIgorbXNnc3RyICJUw6ZuZGVyICVzLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8YXJjaD4gW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgPGFyaz4gW3RpbHZhbGddIFs8cHJvZ3JhbT4gWzxwYXJhbWV0cmU+IC4uLl1dXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSBbPHByb2dyYW0+IFs8cGFyYW1ldHJlPiAuLi5dXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk2Cittc2dpZCAiQ2hhbmdlIHRoZSByZXBvcnRlZCBhcmNoaXRlY3R1cmUgYW5kIHNldCBwZXJzb25hbGl0eSBmbGFncy5cbiIKK21zZ3N0ciAiw4ZuZHIgZGVuIHJhcHBvcnRlcmVkZSBhcmtpdGVrdHVyIG9nIGFuZ2l2IHBlcnNvbmxpZ2hlZHNmbGFnLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk5Cittc2dpZCAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB0dXJucyBvbiBBRERSX0xJTUlUXzMyQklUXG4iCittc2dzdHIgIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgdMOmbmRlciBBRERSX0xJTUlUXzMyQklUXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAwCittc2dpZCAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorbXNnc3RyICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIGxhdmVyIGZ1bmt0aW9uc3BlZ2VycHVua3QgdGlsIGJlc2tyaXZlbHNlclxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMQorbXNnaWQgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgdHVybnMgb24gU0hPUlRfSU5PREVcbiIKK21zZ3N0ciAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICB0w6ZuZGVyIFNIT1JUX0lOT0RFXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAyCittc2dpZCAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCBjaGFuZ2VzIHRoZSB3YXkgdmlydHVhbCBtZW1vcnkgaXMgYWxsb2NhdGVkXG4iCittc2dzdHIgIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQgw6ZuZHJlciBtw6VkZW4gdmlydHVlbCBodWtvbW1lbHNlIGFsbG9rZXJlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMworbXNnaWQgIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgZGlzYWJsZXMgcmFuZG9taXphdGlvbiBvZiB0aGUgdmlydHVhbCBhZGRyZXNzIHNwYWNlXG4iCittc2dzdHIgIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgZGVha3RpdmVyZXIgdmlsa8OlcmxpZ2hlZCBmb3IgdmlydHVlbCBhZHJlc3NlcnVtXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA0Cittc2dpZCAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICB0dXJucyBvbiBXSE9MRV9TRUNPTkRTXG4iCittc2dzdHIgIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgdMOmbmRlciBXSE9MRV9TRUNPTkRTXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA1Cittc2dpZCAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0dXJucyBvbiBTVElDS1lfVElNRU9VVFNcbiIKK21zZ3N0ciAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0w6ZuZGVyIFNUSUNLWV9USU1FT1VUU1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNgorbXNnaWQgIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgdHVybnMgb24gUkVBRF9JTVBMSUVTX0VYRUNcbiIKK21zZ3N0ciAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICB0w6ZuZGVyIFJFQURfSU1QTElFU19FWEVDXG4iCisKKyMgKGFsbGUgZGUgaGVyIGt1bm5lIG9nc8OlIHbDpnJlICJzbMOlciAuLi4gdGlsIiwgbWVuIGRldCBlciBzaWtrZXJ0IGZpbnQgc29tIGRldCBlcikKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA3Cittc2dpZCAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICB0dXJucyBvbiBNTUFQX1BBR0VfWkVST1xuIgorbXNnc3RyICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHTDpm5kZXIgTU1BUF9QQUdFX1pFUk9cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDgKK21zZ2lkICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCittc2dzdHIgIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgYmVncsOmbnNlciBkZXQgYnJ1Z3RlIGFkcmVzc2VydW0gdGlsIG1ha3NpbWFsdCAzIEdCXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA5Cittc2dpZCAiICAgICAtLTRnYiAgICAgICAgICAgICAgICBpZ25vcmVkIChmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBvbmx5KVxuIgorbXNnc3RyICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGlnbm9yZXJldCAoa3VuIGZvciBiYWdsw6ZucyBrb21wYXRpYmlsaXRldClcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTAKK21zZ2lkICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHR1cm5zIG9uIFVOQU1FMjZcbiIKK21zZ3N0ciAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICB0w6ZuZGVyIFVOQU1FMjZcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheSB3aGF0IG9wdGlvbnMgYXJlIGJlaW5nIHN3aXRjaGVkIG9uXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmlzZXIgaHZpbGtlIHRpbHZhbGcgZGVyIGVyIGdpdmV0XG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTE0Cittc2dpZCAiICAgICAtLWxpc3QgICAgICAgICAgICAgICBsaXN0IHNldHRhYmxlIGFyY2hpdGVjdHVyZXMsIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgLS1saXN0ICAgICAgICAgICAgICAgdmlzIGFya2l0ZWt0dXJlciBkZXIga2FuIGFuZ2l2ZXMgb2cgYWZzbHV0XG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlc1xuIgorIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCittc2dzdHIgIiIKKyIlc1xuIgorIkJydWcgwrslcyAtLWhlbHDCqyBmb3IgeWRlcmxpZ2VyZSBpbmZvcm1hdGlvbi4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCittc2dzdHIgIkJydWcgwrslcyAtLWhlbHDCqyBmb3IgeWRlcmxpZ2VyZSBpbmZvcm1hdGlvbi4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBVbnJlY29nbml6ZWQgYXJjaGl0ZWN0dXJlIgorbXNnc3RyICIlczogVWtlbmR0IGFya2l0ZWt0dXIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIktlcm5lbCBjYW5ub3Qgc2V0IGFyY2hpdGVjdHVyZSB0byAlcyIKK21zZ3N0ciAiS2VybmVuIGthbiBpa2tlIHPDpnR0ZSBhcmtpdGVrdHVyZW4gdGlsICVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjMwNQorbXNnaWQgIk5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJJa2tlIG5vayBwYXJhbWV0cmUiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzIyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIkt1bm5lIGlra2UgYW5naXZlIHBlcnNvbmxpZ2hlZCBzb20gJXMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc5Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnLS1saXN0JyIKK21zZ3N0ciAidWtlbmR0IHRpbHZhbGcgwrstLWxpc3TCqyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozODcKK21zZ2lkICJubyBhcmNoaXRlY3R1cmUgYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJpbmdlbiBhcmtpdGVrdHVycGFyYW10ZXIgYW5naXZldCIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAia3VubmUgaWtrZSBhbmdpdmUgcGVyc29ubGlnaGVkIHNvbSAlcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGUgY29tbWFuZCBgJXMnLlxuIgorbXNnc3RyICJVZGbDuHJlciBrb21tYW5kb2VuIGRhdGU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggZGlmZmVyZW50IHByaXZpbGVnZSBzZXR0aW5ncy5cbiIKK21zZ3N0ciAiS8O4ciBldCBwcm9ncmFtIG1lZCBmb3Jza2VsbGlnZSBwcml2aWxlZ2llaW5kc3RpbGxpbmdlci5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDAKK21zZ2lkICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgIHNob3cgY3VycmVudCBzdGF0ZSAoYW5kIGRvIG5vdCBleGVjIGFueXRoaW5nKVxuIgorbXNnc3RyICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgIHZpcyBudXbDpnJlbmRlIHRpbHN0YW5kIChvZyBrw7hyIGludGV0KVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMQorbXNnaWQgIiAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAgZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXNcbiIKK21zZ3N0ciAiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICBkZWFrdGl2ZXIgdGlsZGVsaW5nIGFmIG55ZSBwcml2aWxlZ2llclxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMgorbXNnaWQgIiAtLWluaC1jYXBzIDxjYXBzLC4uLj4gICAgc2V0IGluaGVyaXRhYmxlIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIgLS1pbmgtY2FwcyA8Y2FwcywuLi4+ICAgIGFuZ2l2IGFydmVsaWdlIGZ1bmt0aW9uZXJcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDMKK21zZ2lkICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgIHNldCBjYXBhYmlsaXR5IGJvdW5kaW5nIHNldFxuIgorbXNnc3RyICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgIGFuZ2l2IG9tZ2l2ZW5kZSBzw6Z0IGZvciBldm5lclxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNAorbXNnaWQgIiAtLXJ1aWQgPHVpZD4gICAgICAgICAgICAgc2V0IHJlYWwgdWlkXG4iCittc2dzdHIgIiAtLXJ1aWQgPHVpZD4gICAgICAgICAgICAgYW5naXYgcmVlbCB1aWRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDUKK21zZ2lkICIgLS1ldWlkIDx1aWQ+ICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiAtLWV1aWQgPHVpZD4gICAgICAgICAgICAgYW5naXYgZWZmZWt0aXYgdWlkXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA2Cittc2dpZCAiIC0tcmdpZCA8Z2lkPiAgICAgICAgICAgICBzZXQgcmVhbCBnaWRcbiIKK21zZ3N0ciAiIC0tcmdpZCA8Z2lkPiAgICAgICAgICAgICBhbmdpdiByZWVsIGdpZFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNworbXNnaWQgIiAtLWVnaWQgPGdpZD4gICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiIC0tZWdpZCA8Z2lkPiAgICAgICAgICAgICBhbmdpdiBlZmZla3RpdiBnaWRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDgKK21zZ2lkICIgLS1yZXVpZCA8dWlkPiAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiAtLXJldWlkIDx1aWQ+ICAgICAgICAgICAgYW5naXYgcmVlbCBvZyBlZmZla3RpdiB1aWRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDkKK21zZ2lkICIgLS1yZWdpZCA8Z2lkPiAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiAtLXJlZ2lkIDxnaWQ+ICAgICAgICAgICAgYW5naXYgcmVlbCBvZyBlZmZla3RpdiBnaWRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTAKK21zZ2lkICIgLS1jbGVhci1ncm91cHMgICAgICAgICAgIGNsZWFyIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgcnlkIHN1cHBsZW1lbnTDpnJlIGdydXBwZXJcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTEKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICBiZXZhciBzdXBwbGVtZW50w6ZyZSBncnVwcGVyXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEyCittc2dpZCAiIC0tZ3JvdXBzIDxncm91cCwuLi4+ICAgICBzZXQgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0tZ3JvdXBzIDxncnVwcGUsLi4uPiAgICBhbmdpdiBzdXBwbGVtZW50w6ZyZSBncnVwcGVyXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEzCittc2dpZCAiIC0tc2VjdXJlYml0cyA8Yml0cz4gICAgICBzZXQgc2VjdXJlYml0c1xuIgorbXNnc3RyICIgLS1zZWN1cmViaXRzIDxiaXQ+ICAgICAgIGFuZ2l2IHNlY3VyZWJpdHNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTQKK21zZ2lkICIgLS1zZWxpbnV4LWxhYmVsIDxsYWJlbD4gIHNldCBTRUxpbnV4IGxhYmVsXG4iCittc2dzdHIgIiAtLXNlbGludXgtbGFiZWwgPGV0aWtldD4gYW5naXYgU0VMaW51eC1ldGlrZXRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTUKK21zZ2lkICIgLS1hcHBhcm1vci1wcm9maWxlIDxwcj4gIHNldCBBcHBBcm1vciBwcm9maWxlXG4iCittc2dzdHIgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgYW5naXYgQXBwQXJtb3ItcHJvZmlsXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIxCittc2dpZCAiIFRoaXMgdG9vbCBjYW4gYmUgZGFuZ2Vyb3VzLiAgUmVhZCB0aGUgbWFucGFnZSwgYW5kIGJlIGNhcmVmdWwuXG4iCittc2dzdHIgIiBEZXR0ZSB2w6Zya3TDuGoga2FuIHbDpnJlIGZhcmxpZ3QuIEzDpnMgbWFudWFsc2lkZW4sIG9nIHbDpnIgZm9yc2lndGlnLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE5MyBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2NworbXNnaWQgImdldHRpbmcgcHJvY2VzcyBzZWN1cmUgYml0cyBmYWlsZWQiCittc2dzdHIgImt1bm5lIGlra2UgaGVudGUgcHJvY2VzIHNlY3VyZSBiaXRzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN1cmViaXRzOiAiCittc2dzdHIgIlNlY3VyZWJpdHM6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdXG4iCittc2dzdHIgIltpbmdlbl1cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBsb25nIgorbXNnc3RyICIlczogZm9yIGxhbmciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzOiAiCittc2dzdHIgIlN1cHBsZW1lbnTDpnJlIGdydXBwZXI6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNzMgc3lzLXV0aWxzL3NldHByaXYuYzozMjEgc3lzLXV0aWxzL3NldHByaXYuYzozMjYKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzMyIHN5cy11dGlscy9zZXRwcml2LmM6MzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIltub25lXSIKK21zZ3N0ciAiW2luZ2VuXSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkOiAldVxuIgorbXNnc3RyICJ1aWQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImV1aWQ6ICV1XG4iCittc2dzdHIgImV1aWQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1aWQ6ICV1XG4iCittc2dzdHIgInN1aWQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjk5IHN5cy11dGlscy9zZXRwcml2LmM6MzkxCittc2dpZCAiZ2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAiZ2V0cmVzdWlkIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMwOCBzeXMtdXRpbHMvc2V0cHJpdi5jOjQwNgorbXNnaWQgImdldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgImdldHJlc2dpZCBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRWZmZWN0aXZlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICJFZmZla3RpdmUgZnVua3Rpb25lcjogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyNAorIywgYy1mb3JtYXQKK21zZ2lkICJQZXJtaXR0ZWQgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIlRpbGxhZHRlIGZ1bmt0aW9uZXI6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIkFydmVkZSBmdW5rdGlvbmVyOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzM1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhcGFiaWxpdHkgYm91bmRpbmcgc2V0OiAiCittc2dzdHIgIk9tZ2l2ZW5kZSBzw6Z0IGZvciBmdW5rdGlvbmVyOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQzCittc2dpZCAiU0VMaW51eCBsYWJlbCIKK21zZ3N0ciAiU0VMaW51eC1ldGlrZXQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQ2Cittc2dpZCAiQXBwQXJtb3IgcHJvZmlsZSIKK21zZ3N0ciAiQXBwQXJtb3ItcHJvZmlsIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYXAgJWQ6IGxpYmNhcC1uZyBpcyBicm9rZW4iCittc2dzdHIgImNhcCAlZDogbGliY2FwLW5nIGVyIMO4ZGVsYWd0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4MgorbXNnaWQgIkludmFsaWQgc3VwcGxlbWVudGFyeSBncm91cCBpZCIKK21zZ3N0ciAiVWd5bGRpZ3Qgc3VwcGxlbWVudMOmcnQgZ3J1cHBlLWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5OQorbXNnaWQgInNldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgInNldHJlc3VpZCBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MTQKK21zZ2lkICJzZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJzZXRyZXNnaWQgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDM1Cittc2dpZCAiYmFkIGNhcGFiaWxpdHkgc3RyaW5nIgorbXNnc3RyICJ1Z3lsZGlnIGZ1bmt0aW9uc3N0cmVuZyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NDMKK21zZ2lkICJsaWJjYXAtbmcgaXMgdG9vIG9sZCBmb3IgXCJhbGxcIiBjYXBzIgorbXNnc3RyICJsaWJjYXAtbmcgZXIgZm9yIGdhbW1lbCBmb3IgwrthbGxlwqsgY2FwcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjYXBhYmlsaXR5IFwiJXNcIiIKK21zZ3N0ciAidWtlbmR0IGV2bmUgwrslc8KrIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ3NgorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQgc2V0IC0tIHJlZnVzaW5nIHRvIGFkanVzdCIKK21zZ3N0ciAic2VjdXJlYml0LXPDpnQgYmxldiBpa2tlIGdlbmtlbmR0IC0gbsOmZ3RlciBhdCBqdXN0ZXJlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ4MAorbXNnaWQgImJhZCBzZWN1cmViaXRzIHN0cmluZyIKK21zZ3N0ciAidWd5bGRpZyBzZWN1cmViaXRzLXN0cmVuZyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0ODcKK21zZ2lkICIrYWxsIHNlY3VyZWJpdHMgaXMgbm90IGFsbG93ZWQiCittc2dzdHIgIithbGwgc2VjdXJlYml0cyBlciBpa2tlIHRpbGxhZHQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTAwCittc2dpZCAiYWRqdXN0aW5nIGtlZXBfY2FwcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICJqdXN0ZXJpbmcgYWYga2VlcF9jYXBzIGdpdmVyIGlra2UgbWVuaW5nIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUwNAorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQiCittc2dzdHIgInNlY3VyZWJpdCBibGV2IGlra2UgZ2Vua2VuZHQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTI0Cittc2dpZCAiU0VMaW51eCBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiU0VMaW51eCBrw7hyZXIgaWtrZSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvc2UgZmFpbGVkOiAlcyIKK21zZ3N0ciAiY2xvc2UgKGx1aykgbWlzbHlra2VkZXM6ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU0NworbXNnaWQgIkFwcEFybW9yIGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICJBcHBBcm1vciBrw7hyZXIgaWtrZSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NTgKK21zZ2lkICJkdXBsaWNhdGUgLS1uby1uZXctcHJpdnMgb3B0aW9uIgorbXNnc3RyICJkdXBsaWthdCAtbm8tbmV3LXByaXZzIHRpbHZhbGciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjYzCittc2dpZCAiZHVwbGljYXRlIHJ1aWQiCittc2dzdHIgImR1cGxpa2F0IHJ1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjY1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJ1aWQiCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgcnVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NjkKK21zZ2lkICJkdXBsaWNhdGUgZXVpZCIKK21zZ3N0ciAiZHVwbGlrYXQgZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXVpZCIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBldWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY3NQorbXNnaWQgImR1cGxpY2F0ZSBydWlkIG9yIGV1aWQiCittc2dzdHIgImR1cGxpa2F0IHJ1aWQgZWxsZXIgZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmV1aWQiCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgcmV1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjgxCittc2dpZCAiZHVwbGljYXRlIHJnaWQiCittc2dzdHIgImR1cGxpa2F0IHJnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjgzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJnaWQiCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgcmdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODcKK21zZ2lkICJkdXBsaWNhdGUgZWdpZCIKK21zZ3N0ciAiZHVwbGlrYXQgZWdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWdpZCIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBlZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY5MworbXNnaWQgImR1cGxpY2F0ZSByZ2lkIG9yIGVnaWQiCittc2dzdHIgImR1cGxpa2F0IHJnaWQgZWxsZXIgZWdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2OTUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmVnaWQiCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgcmVnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzAwCittc2dpZCAiZHVwbGljYXRlIC0tY2xlYXItZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAiZHVwbGlrYXQgLS1jbGVhci1ncm91cHMgdGlsdmFsZyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MDYKK21zZ2lkICJkdXBsaWNhdGUgLS1rZWVwLWdyb3VwcyBvcHRpb24iCittc2dzdHIgImR1cGxpa2F0IC0ta2VlcC1ncm91cHMgdGlsdmFsZyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MTIKK21zZ2lkICJkdXBsaWNhdGUgLS1ncm91cHMgb3B0aW9uIgorbXNnc3RyICJkdXBsaWthdCAtLWdyb3VwcyB0aWx2YWxnIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcyMQorbXNnaWQgImR1cGxpY2F0ZSAtLWluaC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAiZHVwbGlrYXQgLS1pbmgtY2FwcyB0aWx2YWxnIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcyNworbXNnaWQgImR1cGxpY2F0ZSAtLWJvdW5kaW5nLXNldCBvcHRpb24iCittc2dzdHIgImR1cGxpa2F0IC0tYm91bmRpbmctc2V0IHRpbHZhbGciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzMzCittc2dpZCAiZHVwbGljYXRlIC0tc2VjdXJlYml0cyBvcHRpb24iCittc2dzdHIgImR1cGxpa2F0IC0tc2VjdXJlYml0cyB0aWx2YWxnIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjczOQorbXNnaWQgImR1cGxpY2F0ZSAtLXNlbGludXgtbGFiZWwgb3B0aW9uIgorbXNnc3RyICJkdXBsaWthdCAtLXNlbGludXgtbGFiZWwgdGlsdmFsZyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NDUKK21zZ2lkICJkdXBsaWNhdGUgLS1hcHBhcm1vci1wcm9maWxlIG9wdGlvbiIKK21zZ3N0ciAiZHVwbGlrYXQgLS1hcHBhcm1vci1wcm9maWxlIHRpbHZhbGciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzU2CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJyVjJyIKK21zZ3N0ciAidWtlbmR0IHRpbHZhbGcgwrslY8KrIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc2MworbXNnaWQgIi0tZHVtcCBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgb3B0aW9ucyIKK21zZ3N0ciAiLS1kdW1wIGVyIGlra2Uga29tcGF0aWJlbCBtZWQgYW5kcmUgdGlsdmFsZyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzEKK21zZ2lkICItLWxpc3QtY2FwcyBtdXN0IGJlIHNwZWNpZmllZCBhbG9uZSIKK21zZ3N0ciAiLS1saXN0LWNhcHMgc2thbCB2w6ZyZSBhbmdpdmV0IGFsZW5lIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3NworbXNnaWQgIk5vIHByb2dyYW0gc3BlY2lmaWVkIgorbXNnc3RyICJJbnRldCBwcm9ncmFtIGFuZ2l2ZXQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgyCittc2dpZCAiLS1bcmVdZ2lkIHJlcXVpcmVzIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCBvciAtLWdyb3VwcyIKK21zZ3N0ciAiLS1bcmVdZ2lkIGtyw6Z2ZXIgLS1rZWVwLWdyb3VwcywgLS1jbGVhci1ncm91cHMgZWxsZXIgLS1ncm91cHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzg1Cittc2dpZCAiZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXMgZmFpbGVkIgorbXNnc3RyICJrdW5uZSBpa2tlIGRlYWt0aXZlcmUgdGlsZGVsaW5nIGFmIG55ZSBwcml2aWxlZ2llciIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTMKK21zZ2lkICJrZWVwIHByb2Nlc3MgY2FwYWJpbGl0aWVzIGZhaWxlZCIKK21zZ3N0ciAia3VubmUgaWtrZSBiZXZhcmUgcHJvY2VzZnVua3Rpb25lciIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDEKK21zZ2lkICJhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgImFrdGl2ZXIgZmFjaWxpdGV0ZXIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA3Cittc2dpZCAicmVhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgImdlbmFrdGl2ZXIgZmFjaWxpdGV0ZXIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODIzCittc2dpZCAic2V0IHByb2Nlc3Mgc2VjdXJlYml0cyBmYWlsZWQiCittc2dzdHIgImFuZ2l2ZWxzZSBhZiBwcm9jZXMgc2VjdXJlYml0cyBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjkKK21zZ2lkICJhcHBseSBib3VuZGluZyBzZXQiCittc2dzdHIgImFudmVuZCBvbWdpdmVuZGUgc8OmdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzUKK21zZ2lkICJhcHBseSBjYXBhYmlsaXRpZXMiCittc2dzdHIgImFudmVuZCBmdW5rdGlvbmVyIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg0MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZXhlY3V0ZTogJXMiCittc2dzdHIgImt1bm5lIGlra2Uga8O4cmU6ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3VtZW50cyAuLi5dXG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gPHByb2dyYW0+IFtwYXJhbWV0cmUgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzYKK21zZ2lkICJSdW4gYSBwcm9ncmFtIGluIGEgbmV3IHNlc3Npb24uXG4iCittc2dzdHIgIkvDuHIgZXQgcHJvZ3JhbSBpIGVuIG55IHNlc3Npb24uXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozOQorbXNnaWQgIiAtYywgLS1jdHR5ICAgICBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIHRvIHRoZSBjdXJyZW50IG9uZVxuIgorbXNnc3RyICIgLWMsIC0tY3R0eSAgICAgc8OmdCBkZW4ga29udHJvbGxlcmVuZGUgdGVybWluYWwgdGlsIGRlbiBudXbDpnJlbmRlXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MAorbXNnaWQgIiAtdywgLS13YWl0ICAgICB3YWl0IHByb2dyYW0gdG8gZXhpdCwgYW5kIHVzZSB0aGUgc2FtZSByZXR1cm5cbiIKK21zZ3N0ciAiIC13LCAtLXdhaXQgICAgIHZlbnQgcHJvZ3JhbSBmb3IgYXQgYWZzbHV0dGUsIG9nIGJydWcgZGVuIHNhbW1lIHJldHVybmVyaW5nXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo5MworbXNnaWQgImZvcmsiCittc2dzdHIgImZvcmdyZW4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hpbGQgJWQgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJ1bmRlcnByb2NlcyAlZCBhZnNsdXR0ZWRlcyBpa2tlIG5vcm1hbHQiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTAKK21zZ2lkICJzZXRzaWQgZmFpbGVkIgorbXNnc3RyICJzZXRzaWQgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTMKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCIKK21zZ3N0ciAia3VubmUgaWtrZSBhbmdpdmUgZGVuIGtvbnRyb2xsZXJlbmRlIHRlcm1pbmFsIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBvZmYgJXNcbiIKK21zZ3N0ciAic3dhcG9mZiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNQorbXNnaWQgIk5vdCBzdXBlcnVzZXIuIgorbXNnc3RyICJJa2tlIHN1cGVyYnJ1Z2VyLiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvZmYgZmFpbGVkIgorbXNnc3RyICIlczogc3dhcG9mZiBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjIgc3lzLXV0aWxzL3N3YXBvbi5jOjc4OAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8c3BlYz5dXG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gWzxzcGVjPl1cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjUKK21zZ2lkICJEaXNhYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICJEZWFrdGl2ZXIgZW5oZWRlciBvZyBmaWxlciBmb3IgcGFnaW5nIG9nIHN3YXBwaW5nLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyOAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBzd2FwcyBmcm9tIC9wcm9jL3N3YXBzXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkZWFrdGl2ZXIgYWxsZSBzd2FwIGZyYSAvcHJvYy9zd2Fwc1xuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgIHVkZHliZW5kZSB0aWxzdGFuZFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEzNQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBhcmFtZXRlcmVuIDxzcGVjaWZpa2F0aW9uPjpcbiIKKyIgLUwgPGV0aWtldD4gICAgICAgICAgICBFVElLRVQgcMOlIGVuaGVkIGRlciBza2FsIGJydWdlc1xuIgorIiAtVSB1dWlkICAgICAgICAgICAgICAgIFVVSUQgcMOlIGVuaGVkIGRlciBza2FsIGJydWdlc1xuIgorIiBMQUJFTD08ZXRpa2V0PiAgICAgICAgIEVUSUtFVCBww6UgZW5oZWQgZGVyIHNrYWwgYnJ1Z2VzXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgVVVJRCBww6UgZW5oZWQgZGVyIHNrYWwgYnJ1Z2VzXG4iCisiIDxlbmhlZD4gICAgICAgICAgICAgICAgbmF2biBww6UgZW5oZWQgZGVyIHNrYWwgYnJ1Z2VzXG4iCisiIDxmaWw+ICAgICAgICAgICAgICAgICAgbmF2biBww6UgZmlsIGRlciBza2FsIGJydWdlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTMKK21zZ2lkICJkZXZpY2UgZmlsZSBvciBwYXJ0aXRpb24gcGF0aCIKK21zZ3N0ciAiZW5oZWRzZmlsIGVsbGVyIHBhcnRpdGlvbnNzdGkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NAorbXNnaWQgInR5cGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAiZW5oZWRlbnMgdHlwZSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk1Cittc2dpZCAic2l6ZSBvZiB0aGUgc3dhcCBhcmVhIgorbXNnc3RyICJzdMO4cnJlbHNlIHDDpSBzd2Fwb21yw6VkZXQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NgorbXNnaWQgImJ5dGVzIGluIHVzZSIKK21zZ3N0ciAiYnl0ZSBpIGJydWciCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NworbXNnaWQgInN3YXAgcHJpb3JpdHkiCittc2dzdHIgInN3YXBwcmlvcml0ZXQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OAorbXNnaWQgInN3YXAgdXVpZCIKK21zZ3N0ciAic3dhcC11dWlkIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTkKK21zZ2lkICJzd2FwIGxhYmVsIgorbXNnc3RyICJzd2FwZXRpa2V0IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzXHRcdFx0XHRUeXBlXHRcdFNpemVcdFVzZWRcdFByaW9yaXR5XG4iCittc2dzdHIgIiVzXHRcdFx0XHRUeXBlXHRcdFN0ci5cdEJydWd0XHRQcmlvcml0ZXRcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI0NgorbXNnaWQgIkZpbGVuYW1lIgorbXNnc3RyICJGaWxuYXZuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWluaXRpYWxpemluZyB0aGUgc3dhcC4iCittc2dzdHIgIiVzOiBHZW5pbml0aWFsaXNlcmVyIHN3YXBwZW4uIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsc2VlayBmYWlsZWQiCittc2dzdHIgIiVzOiBsc2VlayBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgc2lnbmF0dXJlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHNrcml2bmluZ3NzaWduYXR1ciBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjUzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgLSBpdCBhcHBlYXJzIHRvIGhhdmUgaG9sZXMuIgorbXNnc3RyICIlczogc3ByaW5nZXIgb3ZlciAtIGRlbiBsYWRlciB0aWwgYXQgdsOmcmUgZnJhZ21lbnRlcmV0LiIKKworIyBIZW50IHN0w7hycmVsc2UgbWlzbHlra2VkZXMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldCBzaXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEt1bm5lIGlra2UgZmluZGUgc3TDuHJyZWxzZSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBzd2FwIGhlYWRlciBmYWlsZWQiCittc2dzdHIgIiVzOiBMw6ZzbmluZyBhZiBzd2FwaG92ZWQgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmb3VuZCBzaWduYXR1cmUgW3BhZ2VzaXplPSVkLCBzaWduYXR1cmU9JXNdIgorbXNnc3RyICIlczogZmFuZHQgc3dhcHNpZ25hdHVyOiB2ZXJzaW9uICV1ZCwgc2lkZXN0w7hycmVsc2UgJWQsICVzIGJ5dGVyw6Zra2Vmw7hsZ2UiCisKKyMgdWhoIGZvcnNpZ3RpZyBoZXIsIGRldCBkZXIga3VubmUgZ29kdCB2w6ZyZSBub2dldCBzb20gZXIgZW4gZGVsIGFmIGVuCisjIHN5bnRha3MuIEplZyB0cm9yIGRldCBkb2cgaWtrZSwgbWVuIGRldCB2aWxsZSB2w6ZyZSBtZWdldCByYXJ0IGF0IHbDpnJlCisjIHNpa2tlci4KKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhZ2VzaXplPSVkLCBzd2Fwc2l6ZT0lbGx1LCBkZXZzaXplPSVsbHUiCittc2dzdHIgIiVzOiBzaWRlc3TDuHJyZWxzZT0lZCwgc3dhcHN0w7hycmVsc2U9JWxsdSwgZW5oZWRzc3TDuHJyZWxzZT0lbGx1IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsYXN0X3BhZ2UgMHglMDhsbHggaXMgbGFyZ2VyIHRoYW4gYWN0dWFsIHNpemUgb2Ygc3dhcHNwYWNlIgorbXNnc3RyICIlczogc2lkc3RlX3NpZGUgMHglMDhsbHggZXIgc3TDuHJyZSBlbmQgYWt0dWVsIHN0w7hycmVsc2UgcMOlIHN3YXBwbGFkcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIgorbXNnc3RyICIlczogc3dhcGZvcm1hdGV0cyBzaWRlc3TDuHJyZWxzZSBlciBpa2tlIGVucy4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiAoVXNlIC0tZml4cGdzeiB0byByZWluaXRpYWxpemUgaXQuKSIKK21zZ3N0ciAiJXM6IHN3YXBmb3JtYXRldHMgc2lkZXN0w7hycmVsc2UgZXIgaWtrZSBlbnMuIChCcnVnIC0tZml4cGdzeiB0aWwgYXQgZ2VuaW5pdGlhbGlzZXJlIGRlbi4pIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzb2Z0d2FyZSBzdXNwZW5kIGRhdGEgZGV0ZWN0ZWQuIFJld3JpdGluZyB0aGUgc3dhcCBzaWduYXR1cmUuIgorbXNnc3RyICIlczogSHZpbGVkYXRhIGZvciBzb2Z0d2FyZSBkZXRla3RlcmV0LiBHZW5za3JpdmVyIHN3YXBzaWduYXR1cmVuLiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb24gJXNcbiIKK21zZ3N0ciAic3dhcG9uICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvbiBmYWlsZWQiCittc2dzdHIgIiVzOiBzd2Fwb24gbWlzbHlra2VkZXMiCisKKyMgZXZ0LiAiaSBsaW5qZSAiCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm9hdXRvIG9wdGlvbiAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogZm9ydG9sayBmZWpsIHDDpSBsaW5qZSAlZCAtIGlnbm9yZXIiCisKKyMgZXZ0LiAiaSBsaW5qZSAiCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBhY3RpdmUgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IGZvcnRvbGsgZmVqbCBww6UgbGluamUgJWQgLSBpZ25vcmVyIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbmFjY2Vzc2libGUgLS0gaWdub3JlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzkxCittc2dpZCAiRW5hYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICJBa3RpdmVyIGVuaGVkZXIgb2cgZmlsZXIgZm9yIHRla3N0dmlzbmluZyBvZyBzd2FwcGluZy5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgZW5hYmxlIGFsbCBzd2FwcyBmcm9tIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICBha3RpdmVyIGFsbGUgc3dhcCBmcmEgL2V0Yy9mc3RhYlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk1Cittc2dpZCAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorbXNnc3RyICIgLWQsIC0tZGlzY2FyZFs9PHBvbGl0aWs+XSBha3RpdmVyIHN3YXAtZmplcm5lbHNlciwgaHZpcyB1bmRlcnN0w7h0dGV0IGFmIGVuaGVkXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTYKK21zZ2lkICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHNpbGVudGx5IHNraXAgZGV2aWNlcyB0aGF0IGRvIG5vdCBleGlzdFxuIgorbXNnc3RyICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHVkZWxhZCBpIHN0aWxoZWQgZW5oZWRlciBzb20gaWtrZSBmaW5kZXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NworbXNnaWQgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIGdlbmluaXRpYWxpc2VyIHN3YXBvbXLDpWRldCBvbSBuw7hkdmVuZGlndFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk4Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBzd2FwIG9wdGlvbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW9wdGlvbnMgPGxpc3RlPiAgICBrb21tYWFkc2tpbHQgbGlzdGUgb3ZlciBzd2FwaW5kc3RpbGxpbmdlclxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk5Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBzcGVjaWZ5IHRoZSBwcmlvcml0eSBvZiB0aGUgc3dhcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBzcGVjaWZpY2VyIHByaW9yaXRldGVuIGZvciBzd2FwZW5oZWRlblxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAwCittc2dpZCAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBkaXNwbGF5IHN1bW1hcnkgYWJvdXQgdXNlZCBzd2FwIGRldmljZXMgKERFUFJFQ0FURUQpXG4iCittc2dzdHIgIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgdmlzIHJlZmVyYXQgb20gYW52ZW5kdGUgc3dhcGVuaGVkZXIgKEZPUsOGTERFVClcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMQorbXNnaWQgIiAgICAgLS1zaG93Wz08Y29sdW1ucz5dICAgZGlzcGxheSBzdW1tYXJ5IGluIGRlZmluYWJsZSB0YWJsZVxuIgorbXNnc3RyICIgICAgIC0tc2hvd1s9PGtvbG9ubmVyPl0gIHZpcyByZWZlcmVhdCBpIGRlZmluZXJiYXIgdGFiZWxcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMgorbXNnaWQgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgdGFibGUgaGVhZGluZyAod2l0aCAtLXNob3cpXG4iCittc2dzdHIgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgdmlzIGlra2UgdGFiZWxvdmVyc2tyaWZ0ZXIgKG1lZCAtLXNob3cpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDMKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIGJydWcgcsOlIHVkZGF0YWZvcm1hdCAobWVkIC0tc2hvdylcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNAorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHNpemUgaW4gYnl0ZXMgaW4gLS1zaG93IG91dHB1dFxuIgorbXNnc3RyICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIHZpcyBzd2Fwc3TDuHJyZWxzZSBpIGJ5dGUgaSAtLXNob3ctdWRkYXRhXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHVkZHliZW5kZSB0aWxzdGFuZFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODExCittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisiXG4iCisiUGFyYW1ldGVyZW4gPHNwZWNpZmlrYXRpb24+OlxuIgorIiAtTCA8ZXRpa2V0PiAgICAgICAgICAgIHN5bm9ueW0gZm9yIExBQkVMPTxldGlrZXQ+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGV0aWtldD4gICAgICAgICBzcGVjaWZpY2VyZXIgZW5oZWQgZWZ0ZXIgc3dhcG9tcsOlZGV0aWtldFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIHNwZWNpZmljZXJlciBlbmhlZCBlZnRlciBzd2Fwb21yw6VkZS1VVUlEXG4iCisiIFBBUlRMQUJFTD08ZXRpa2VsPiAgICAgc3BlY2lmaWNlcmVyIGVuaGVkIGVmdGVyIHBhcnRpdGlvbnNldGlrZXRcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICBzcGVjaWZpY2VyZXIgZW5oZWQgZWZ0ZXIgcGFydGl0aW9uLVVVSURcbiIKKyIgPGVuaGVkPiAgICAgICAgICAgICAgICBuYXZuIHDDpSBlbmhlZCBkZXIgc2thbCBicnVnZXNcbiIKKyIgPGZpbD4gICAgICAgICAgICAgICAgICBuYXZuIHDDpSBmaWwgZGVyIHNrYWwgYnJ1Z2VzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MjEKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGRpc2NhcmQgcG9saWN5IHR5cGVzIChmb3IgLS1kaXNjYXJkKTpcbiIKKyIgb25jZSAgICA6IG9ubHkgc2luZ2xlLXRpbWUgYXJlYSBkaXNjYXJkcyBhcmUgaXNzdWVkXG4iCisiIHBhZ2VzICAgOiBmcmVlZCBwYWdlcyBhcmUgZGlzY2FyZGVkIGJlZm9yZSB0aGV5IGFyZSByZXVzZWRcbiIKKyJJZiBubyBwb2xpY3kgaXMgc2VsZWN0ZWQsIGJvdGggZGlzY2FyZCB0eXBlcyBhcmUgZW5hYmxlZCAoZGVmYXVsdCkuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJUaWxnw6ZuZ2VsaWdlIHBvbGl0aWt0eXBlciBmb3Iga2Fzc2VyaW5nIChmb3IgLS1kaXNjYXJkKTpcbiIKKyIgb25jZSAgICA6IGt1biBlbmdhbmdzIG9tcsOlZGVrYXNlcmluZ2VyIHVkc3RlZGVzXG4iCisiIHBhZ2VzICAgOiBmcmVlZC1zaWRlciBrYXNzZXJldCBmw7hyIGRlIGdlbmJydWdlc1xuIgorIkh2aXMgaW5nZW4gcG9saXRpayBlciB2YWxndCwgZXIgYmVnZ2Uga2Fzc2VyaW5nc3R5cGVyIGFrdGl2ZXJldCAoc3RhbmRhcmQpLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODI2Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93KTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlRpbGfDpm5nZWxpZ2Uga29sb25uZXIgKGZvciAtLXNob3cpOlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTA0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHByaW9yaXR5IgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIHByaW9yaXRldCIKKworIyBldnQuIGZqZXJuZWxzZXNwb2xpdGlrLiBFbGxlcnMgbWlzZm9yc3TDpXMgZGV0IG5vayAoZmplcm4tcG9saXRpayB2YXIgZGVuIGbDuHIpCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTIzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAiaWtrZSB1bmRlcnN0w7h0dGV0IGZqZXJuZWxzZXNwb2xpdGlrOiAlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCB0aGUgZGV2aWNlIGZvciAlcyIKK21zZ3N0ciAia2FuIGlra2UgZmluZGUgZW5oZWRlbiBmb3IgJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjU5Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGlyZWN0b3J5IgorbXNnc3RyICJrdW5uZSBpa2tlIMOlYm5lIG1hcHBlIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2NworbXNnaWQgInN0YXQgZmFpbGVkIgorbXNnc3RyICJzdGF0IG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo3OAorbXNnaWQgImZhaWxlZCB0byByZWFkIGRpcmVjdG9yeSIKK21zZ3N0ciAia3VubmUgaWtrZSBsw6ZzZSBtYXBwZSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJXMiCittc2dzdHIgImt1bm5lIGlra2UgZmplcm5lIGhlbnZpc25pbmcgJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIG1vbnRlcmUgZmx5dG5pbmcgYWYgJXMgdGlsICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9yY2luZyB1bm1vdW50IG9mICVzIgorbXNnc3RyICJmcmVtdHZpbmdlciBhZm1vbnRlcmluZyBhZiAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIMOmbmRyZSBtYXBwZSB0aWwgJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvIC8iCittc2dzdHIgImt1bm5lIGlra2UgbW9udGVyZSBmbHl0bmluZyBhZiAlcyB0aWwgLyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTc1Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IgorbXNnc3RyICJrdW5uZSBpa2tlIMOmbmRyZSBhZG1pbmlzdHJhdG9yIChyb290KSIKKworIyBlVCBpbml0cmFtZnMgKGZpbHN5c3RlbSkKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE4OAorbXNnaWQgIm9sZCByb290IGZpbGVzeXN0ZW0gaXMgbm90IGFuIGluaXRyYW1mcyIKK21zZ3N0ciAiZ2FtbWVsdCByb290LWZpbHN5c3RlbSBlciBpa2tlIGV0IGluaXRyYW1mcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG5ld3Jvb3RkaXI+IDxpbml0PiA8YXJncyB0byBpbml0PlxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIDxueXJvZG1hcHBlPiA8aW5pdD4gPGFyZ3VtZW50ZXIgdGlsIGluaXQ+XG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwNAorbXNnaWQgIlN3aXRjaCB0byBhbm90aGVyIGZpbGVzeXN0ZW0gYXMgdGhlIHJvb3Qgb2YgdGhlIG1vdW50IHRyZWUuXG4iCittc2dzdHIgIlNraWZ0IHRpbCBldCBhbmRldCBmaWxzeXN0ZW0gc29tIHJvZGVuIGZvciBtb250ZXJpbmdzdHLDpmV0LlxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMzYKK21zZ2lkICJmYWlsZWQuIFNvcnJ5LiIKK21zZ3N0ciAibWlzbHlra2VkZXMuIEJla2xhZ2VyLiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBhY2Nlc3MgJXMiCittc2dzdHIgImt1bm5lIGlra2UgdGlsZ8OlICVzIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTQKK21zZ2lkICJTZXQgdmFyaW91cyBwYXJhbWV0ZXJzIGZvciB0aGUgbGluZSBwcmludGVyLlxuIgorbXNnc3RyICJBbmdpdiBkaXZlcnNlIHBhcmFtZXRlcmUgZm9yIGxpbmplcHJpbnRlcmVuLlxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTcKK21zZ2lkICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICBzcGVjaWZ5IHBhcmFsbGVsIHBvcnQgaXJxXG4iCittc2dzdHIgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIGFuZ2l2IGlycSBmb3IgcGFyYWxsZWxwb3J0XG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5OAorbXNnaWQgIiAtdCwgLS10aW1lIDxtcz4gICAgICAgICAgICAgIGRyaXZlciB3YWl0IHRpbWUgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lIDxtcz4gICAgICAgICAgICAgIHZlbnRldGlkIGZvciBkcml2ZXIgaSBtaWxsaXNla3VuZGVyXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5OQorbXNnaWQgIiAtYywgLS1jaGFycyA8bnVtPiAgICAgICAgICAgIG51bWJlciBvZiBvdXRwdXQgY2hhcmFjdGVycyBiZWZvcmUgc2xlZXBcbiIKK21zZ3N0ciAiIC1jLCAtLWNoYXJzIDxudW0+ICAgICAgICAgICAgYW50YWxsZXQgYWYgdWRkYXRhdGVnbiBmw7hyIGR2YWxlXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDAKK21zZ2lkICIgLXcsIC0td2FpdCA8dXM+ICAgICAgICAgICAgICBzdHJvYmUgd2FpdCBpbiBtaWNybyBzZWNvbmRzXG4iCittc2dzdHIgIiAtdywgLS13YWl0IDx1cz4gICAgICAgICAgICAgIHN0cm9iZS12ZW50ZXRpZCBpIG1pa3Jvc2VrdW5kZXJcbiIKKworIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgPG9ufG9mZj4gYXJndW1lbnRzLiBUaGUKKyMuIGFyZ3VtZW50IHJlYWRlciBkb2VzIG5vdCByZWNvZ25pemUgbG9jYWxlLCB1bmxlc3MgYG9uJyBpcworIy4gZXhhY3RseSB0aGF0IHZlcnkgc2FtZSBzdHJpbmcuCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA0Cittc2dpZCAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAgYWJvcnQgb24gZXJyb3JcbiIKK21zZ3N0ciAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAgYWZicnlkIHZlZCBmZWpsXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDUKK21zZ2lkICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBjaGVjayBwcmludGVyIHN0YXR1cyBiZWZvcmUgcHJpbnRpbmdcbiIKK21zZ3N0ciAiIC1vLCAtLWNoZWNrLXN0YXR1cyA8b258b2ZmPiAga29udHJvbGxlciBwcmludGVyc3RhdHVzIGbDuHIgdWRza3Jpdm5pbmdcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNgorbXNnaWQgIiAtQywgLS1jYXJlZnVsIDxvbnxvZmY+ICAgICAgIGV4dHJhIGNoZWNraW5nIHRvIHN0YXR1cyBjaGVja1xuIgorbXNnc3RyICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICBla3N0cmEga29udHJvbCB0aWwgc3RhdHVza29udHJvbFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA3Cittc2dpZCAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAgcXVlcnkgcHJpbnRlciBzdGF0dXNcbiIKK21zZ3N0ciAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAgZm9yZXNww7hyZyBwcmludGVyc3RhdHVzXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDgKK21zZ2lkICIgLVQsIC0tdHJ1c3QtaXJxIDxvbnxvZmY+ICAgICBtYWtlIGRyaXZlciB0byB0cnVzdCBpcnFcbiIKK21zZ3N0ciAiIC1ULCAtLXRydXN0LWlycSA8b258b2ZmPiAgICAgZsOlIGRyaXZlcmVuIHRpbCBhdCBzdG9sZSBww6UgaXJxXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDkKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICByZXNldCB0aGUgcG9ydFxuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICBudWxzdGlsIHBvcnRlblxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEwCittc2dpZCAiIC1xLCAtLXByaW50LWlycSA8b258b2ZmPiAgICAgZGlzcGxheSBjdXJyZW50IGlycSBzZXR0aW5nXG4iCittc2dzdHIgIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgIHZpcyBudXbDpnJlbmRlIGlycS1pbmRzdGlsbGluZ1xuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBhbiBscCBkZXZpY2UiCittc2dzdHIgIiVzIGVyIGlra2UgZW4gbHAtZW5oZWQiCisKKyMgaHZpcyBkdSB2ZW5kZXIgZGUgbGlnZXNvbSBww6UgZW5nZWxzaywgYmVow7h2ZXIgdmkgaWtrZSBhdCBiZWt5bXJlIG9zIG9tCisjIHN0cmVuZ2UgYsO4ciBzdGFydGUgbWVkIHN0b3J0IGVsbGVyIGVqCisjICJMUEdFVFNUQVRVUy1mZWpsIgorIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4MAorbXNnaWQgIkxQR0VUU1RBVFVTIGVycm9yIgorbXNnc3RyICJGZWpsIGkgTFBHRVRTVEFUVVMiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3RhdHVzIGlzICVkIgorbXNnc3RyICJTdGF0dXMgZm9yICVzIGVyICVkIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgYnVzeSIKK21zZ3N0ciAiLCBvcHRhZ2V0IgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgcmVhZHkiCittc2dzdHIgIiwga2xhciIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG91dCBvZiBwYXBlciIKK21zZ3N0ciAiLCBpa2tlIG1lcmUgcGFwaXIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvbi1saW5lIgorbXNnc3RyICIsIGtsYXIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBlcnJvciIKK21zZ3N0ciAiLCBmZWpsIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzAwCittc2dpZCAiaW9jdGwgZmFpbGVkIgorbXNnc3RyICJpb2N0bCBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxMAorbXNnaWQgIkxQR0VUSVJRIGVycm9yIgorbXNnc3RyICJGZWpsIGkgTFBHRVRJUlEiCisKKyMgS2lnZ2VkZSBpIGtpbGRla29kZW4gb2cgc8OlIGF0ICVzIGVyIGV0IGZpbG5hdm4uICAnJXMgYnJ1Z2VyIElSUSAlZCcKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgSVJRICVkXG4iCittc2dzdHIgIiVzIGJydWdlciBJUlEgJWRcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBwb2xsaW5nXG4iCittc2dzdHIgIiVzIGJydWdlciBvdmVydsOlZ25pbmcgKHBvbGxpbmcpXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gfCA8ZGlyZWN0b3J5PlxuIgorbXNnc3RyICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBbdGlsdmFsZ11cbiIKKyIgJTEkcyBbdGlsdmFsZ10gPGtpbGRlPiB8IDxtYXBwZT5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjgxCittc2dpZCAiVW5tb3VudCBmaWxlc3lzdGVtcy5cbiIKK21zZ3N0ciAiQWZtb250ZXIgZmlsc3lzdGVtZXIuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICB1bm1vdW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgYWZtb250ZXIgYWxsZSBmaWxzeXN0ZW1lclxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODUKK21zZ2lkICIiCisiIC1BLCAtLWFsbC10YXJnZXRzICAgICAgIHVubW91bnQgYWxsIG1vdW50cG9pbnRzIGZvciB0aGUgZ2l2ZW4gZGV2aWNlIGluIHRoZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWxsLXRhcmdldHMgICAgICAgYWZtb250ZXIgYWxsZSBtb250ZXJpbmdzcHVua3RlciBmb3IgZGVuIGFuZ2l2bmUgZW5oZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBpIGRldCBudXbDpnJlbmRlIG5hdm5lcnVtXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NworbXNnaWQgIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKK21zZ3N0ciAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGthbm9uaXNlciBpa2tlIHN0aWVyXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OAorbXNnaWQgIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICBpZiBtb3VudGVkIGxvb3AgZGV2aWNlLCBhbHNvIGZyZWUgdGhpcyBsb29wIGRldmljZVxuIgorbXNnc3RyICIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAgaHZpcyBtb250ZXJldCBsb29wZW5oZWQsIHPDpSBiZWZyaSBvZ3PDpSBkZW5uZSBsb29wZW5oZWRcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg5Cittc2dpZCAiICAgICAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIHVtb3VudCgyKSBzeXNjYWxsXG4iCittc2dzdHIgIiAgICAgLS1mYWtlICAgICAgICAgICAgICB0w7hyLWvDuHJzZWw7IHVkZWxhZCBzeXN0ZW1rYWxkZXQgdW1vdW50KDIpXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MAorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBmb3JjZSB1bm1vdW50IChpbiBjYXNlIG9mIGFuIHVucmVhY2hhYmxlIE5GUyBzeXN0ZW0pXG4iCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBmcmVtdHZpbmcgYWZtb250ZXJpbmcgKGkgdGlsZsOmbGRlIGFmIGV0IE5GVC1zeXN0ZW0sIGRlciBpa2tlIGthbiBuw6VzKVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTEKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgdW1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBrYWxkIGlra2UgdW1vdW50Ljx0eXBlPi1oasOmbHBlcHJvZ3JhbW1lcm5lXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MworbXNnaWQgIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICBkZXRhY2ggdGhlIGZpbGVzeXN0ZW0gbm93LCBjbGVhbiB1cCB0aGluZ3MgbGF0ZXJcbiIKK21zZ3N0ciAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGFma29ibCBmaWxzeXN0ZW1ldCBudSwgcnlkIG9wIHNlbmVyZVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTQKK21zZ2lkICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCittc2dzdHIgIiAtTywgLS10ZXN0LW9wdHMgPGxpc3RlPiBiZWdyw6ZucyBzw6Z0dGV0IGFmIGZpbHN5c3RlbWVyIChicnVnIG1lZCAtYSlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk1Cittc2dpZCAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IHVubW91bnQgYSB0YXJnZXQgd2l0aCBhbGwgaXRzIGNoaWxkcmVuXG4iCittc2dzdHIgIiAtUiwgLS1yZWN1cnNpdmUgICAgICAgICBhZm1vbnRlciByZWt1cnNpdnQgZXQgbcOlbCBtZWQgYWxsZSB1bmRlcm3DpWxcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk2Cittc2dpZCAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIGluIGNhc2UgdW5tb3VudGluZyBmYWlscywgdHJ5IHRvIHJlbW91bnQgcmVhZC1vbmx5XG4iCittc2dzdHIgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBpIHRpbGbDpmxkZSBhZiBhdCBhZm1vbnRlcmluZyBtaXNseWtrZWRlcywgZm9yc8O4ZyBzw6UgYXQgZ2VubW9udGVyZSBza3JpdmViZXNreXR0ZXRcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk3Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPGxpc3RlPiAgICAgYmVncsOmbnMgc8OmdHRldCBhZiBmaWxzeXN0ZW10eXBlclxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcykgdW5tb3VudGVkIgorbXNnc3RyICIlcyAoJXMpIGFmbW9udGVyZXQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5tb3VudGVkIgorbXNnc3RyICIlcyBhZm1vbnRlcmV0IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bW91bnQgZmFpbGVkIgorbXNnc3RyICIlczogdW1vdW50IG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCittc2dzdHIgIiVzOiBmaWxzeXN0ZW0gYmxldiBhZm1vbnRlcmV0LCBtZW4gbW91bnQoOCkgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogdWd5bGRpZyBibG9rZW5oZWQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IHdyaXRlIHN1cGVyYmxvY2siCittc2dzdHIgIiVzOiBrYW4gaWtrZSBza3JpdmUgc3VwZXJibG9rIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlczogdGFyZ2V0IGlzIGJ1c3lcbiIKKyIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0XG4iCisiICAgICAgICAgdXNlIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKS4pIgorbXNnc3RyICIiCisiJXM6IGVuaGVkIGVyIG9wdGFnZXQuXG4iCisiICAgICAgICAoSSBub2dsZSB0aWxmw6ZsZGUga2FuIGJydWdiYXIgaW5mb3JtYXRpb24gb20gcHJvY2Vzc2VyLFxuIgorIiAgICAgICAgc29tIGJydWdlciBlbmhlZGVuIGZpbmRlcyBhZiBsc29mKDgpIGVsbGVyIGZ1c2VyKDEpKSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnRwb2ludCBub3QgZm91bmQiCittc2dzdHIgIiVzOiBtb250ZXJpbmdzcHVua3QgYmxldiBpa2tlIGZ1bmRldCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1MAorbXNnaWQgInVuZGVmaW5lZCBtb3VudHBvaW50IgorbXNnc3RyICJ1ZGVmaW5lcmV0IG1vbnRlcmluZ3NwdW5rdCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdW5tb3VudCIKK21zZ3N0ciAiJXM6IHNrYWwgdsOmcmUgc3VwZXJicnVnZXIgZm9yIGF0IGFmbW9udGVyZSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmxvY2sgZGV2aWNlcyBhcmUgbm90IHBlcm1pdHRlZCBvbiBmaWxlc3lzdGVtIgorbXNnc3RyICIlczogYmxva2VuaGVkZXIgdGlsbGFkZXMgaWtrZSBww6UgZGV0dGUgZmlsc3lzdGVtIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzA3Cittc2dpZCAiZmFpbGVkIHRvIHNldCB1bW91bnQgdGFyZ2V0IgorbXNnc3RyICJrdW5uZSBpa2tlIGFuZ2l2ZSB1bW91bnQtbcOlbCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMyMworbXNnaWQgImxpYm1vdW50IHRhYmxlIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJsaWJtb3VudC10YWJlbGFsbG9rZXJpbmcgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozNjYgc3lzLXV0aWxzL3Vtb3VudC5jOjQ0NgorbXNnaWQgImxpYm1vdW50IGl0ZXJhdG9yIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJsaWJtb3VudC1pdGVyYXRvcmFsbG9rZXJpbmcgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBjaGlsZCBmcyBvZiAlcyIKK21zZ3N0ciAia3VubmUgaWtrZSBpbmRoZW50ZSB1bmRlcmZpbHN5c3RlbSBmb3IgJXMiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo0MTAgc3lzLXV0aWxzL3Vtb3VudC5jOjQzMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIgorbXNnc3RyICIlczogaWtrZSBmdW5kZXQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo0NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlICgtLWFsbC10YXJnZXRzIGlzIHVuc3VwcG9ydGVkIG9uIHN5c3RlbXMgd2l0aCByZWd1bGFyIG10YWIgZmlsZSkuIgorbXNnc3RyICIlczoga3VubmUgaWtrZSBiZXN0ZW1tZSBraWxkZSAoLS1hbGwtdGFyZ2V0cyBlciBpa2tlIHVuZGVyc3TDuHR0ZXQgcMOlIHN5c3RlbWVyIG1lZCBub3JtYWwgbXRhYi1maWwpLiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo4OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCAtLXNldGdyb3VwcyBhcmd1bWVudCAnJXMnIgorbXNnc3RyICJpa2tlIHVuZGVyc3TDuHR0ZXQgLS1zZXRncm91cHMtcGFyYW1ldGVyIMK7JXPCqyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMTAgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkICVzIgorbXNnc3RyICJza3Jpdm5pbmcgbWlzbHlra2VkZXMgJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcm9wYWdhdGlvbiBtb2RlOiAlcyIKK21zZ3N0ciAiaWtrZSB1bmRlcnN0w7h0dGV0IHRpbHZhbGdzZm9ybWF0OiAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNoYW5nZSByb290IGZpbGVzeXN0ZW0gcHJvcGFnYXRpb24iCittc2dzdHIgIsOGbmRyIHJvZGZpbHN5c3RlbWV0LlxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHN0YXQgJXMiCittc2dzdHIgImthbiBpa2tlIHPDuGdlIChzZWVrKSAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTMKKyMsIGZ1enp5Cittc2dpZCAicGlwZSBmYWlsZWQiCittc2dzdHIgIm9wZW4gbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjI3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIHBpcGUiCittc2dzdHIgImt1bm5lIGlra2UgbMOmc2UgaGFzdGlnaGVkZW4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUwCittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIHNvbWUgbmFtZXNwYWNlcyB1bnNoYXJlZCBmcm9tIHRoZSBwYXJlbnQuXG4iCittc2dzdHIgIkvDuHIgZXQgcHJvZ3JhbSBtZWQgbm9nbGUgbmF2bmVydW0gdWRlbHQgZnJhIG92ZXJkZWxlbi5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTMKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbSwgLS1tb3VudCBbPTxmaWw+XSAgIGfDpSBpIG1vbnRlcmluZ3NuYXZuZXJ1bVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiIC11LCAtLXV0c1s9PGZpbD5dICAgICAgZ8OlIGkgVVRTLW5hdm5lcnVtICh2w6ZydHNuYXZuIGV0YylcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTUKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtaSwgLS1pcGNbPTxmaWw+XSAgICAgIGfDpSBpIFN5c3RlbSBWIElQQy1uYXZuZXJ1bVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NgorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbiwgLS1uZXRbPTxmaWw+XSAgICAgIGfDpSBpIG5ldHbDpnJrc25hdm5lcnVtXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU3CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLXAsIC0tcGlkWz08ZmlsPl0gICAgICBnw6UgaSBwaWQtbmF2bmVydW1cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTgKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLVUsIC0tdXNlcls9PGZpbD5dICAgICBnw6UgaSBicnVnZXJuYXZuZXJ1bVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OQorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICAgICB1bnNoYXJlIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZFs9PGZpbD5dICAgICAgZ8OlIGkgcGlkLW5hdm5lcnVtXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYwCittc2dpZCAiIC1mLCAtLWZvcmsgICAgICAgICAgICAgICAgZm9yayBiZWZvcmUgbGF1bmNoaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICBmb3JncmVuIGbDuHIgPHByb2dyYW0+IHN0YXJ0ZXNcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjEKK21zZ2lkICIgICAgIC0tbW91bnQtcHJvY1s9PGRpcj5dICBtb3VudCBwcm9jIGZpbGVzeXN0ZW0gZmlyc3QgKGltcGxpZXMgLS1tb3VudClcbiIKK21zZ3N0ciAiICAgICAtLW1vdW50LXByb2NbPTxkaXI+XSAgbW9udGVyIHByb2MtZmlsc3lzdGVtIGbDuHJzdCAobWVkZsO4cmVyIC0tbW91bnQpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYyCittc2dpZCAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbWFwIGN1cnJlbnQgdXNlciB0byByb290IChpbXBsaWVzIC0tdXNlcilcbiIKK21zZ3N0ciAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgb3ZlcnPDpnQgbnV2w6ZyZW5kZSBicnVnZXIgdGlsIHJvb3QgKG1lZGbDuHJlciAtLXVzZXIpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYzCittc2dpZCAiIgorIiAgICAgLS1wcm9wYWdhdGlvbiBzbGF2ZXxzaGFyZWR8cHJpdmF0ZXx1bmNoYW5nZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZnkgbW91bnQgcHJvcGFnYXRpb24gaW4gbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjUKK21zZ2lkICIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIGNvbnRyb2wgdGhlIHNldGdyb3VwcyBzeXNjYWxsIGluIHVzZXIgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIGtvbnRyb2xsZXIgc3lzdGVta2FsZCBmb3Igc2V0Z3JvdXBzIGkgYnJ1Z2VybmF2bmVydW1cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzozODYKK21zZ2lkICJ1bnNoYXJlIGZhaWxlZCIKK21zZ3N0ciAidW5zaGFyZSBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzAKK21zZ2lkICJjaGlsZCBleGl0IGZhaWxlZCIKK21zZ3N0ciAiYWZzbHV0bmluZyBhZiB1bmRlcnByb2NlcyBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzcKK21zZ2lkICJvcHRpb25zIC0tc2V0Z3JvdXBzPWFsbG93IGFuZCAtLW1hcC1yb290LXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAidGlsdmFsZyAtLXNldGdyb3Vwcz1hbGxvdyBvZyAtLW1hcC1yb290LXVzZXIgdWRlbHVra2VyIGhpbmFuZGVuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ1NworIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBmYWlsZWQiCittc2dzdHIgIm1vbnRlcmluZyAlcyBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzMKK21zZ2lkICJDYXJkIHByZXZpb3VzbHkgcmVzZXQgdGhlIENQVSIKK21zZ3N0ciAiS29ydCBudWxzdGlsbGVkZSB0aWRsaWdlcmUgY3B1J2VuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NAorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDEiCittc2dzdHIgIkVrc3Rlcm50IHJlbMOmIDEiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc1Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMiIKK21zZ3N0ciAiRWtzdGVybnQgcmVsw6YgMiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzYKK21zZ2lkICJGYW4gZmFpbGVkIgorbXNnc3RyICJCbMOmc2VyIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NworbXNnaWQgIktlZXAgYWxpdmUgcGluZyByZXBseSIKK21zZ3N0ciAiSG9sZCBpIGxpdmUgcGluZy1zdmFyIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OAorbXNnaWQgIlN1cHBvcnRzIG1hZ2ljIGNsb3NlIGNoYXIiCittc2dzdHIgIlVuZGVyc3TDuHR0ZXIgbWFnaXNrIGx1ay10ZWduIgorCisjIFJlc2V0IGthbiBiw6VkZSB2w6ZyZSBzdWJzdGFudGl2LCBpbmZpbml0aXYsIHBhcnRpY2lwaXVtIG9zdi4KKyMgSmVnIGZvcmVzbMOlciAiTnVsc3RpbGxpbmciLCBhbHRzw6Ugc3Vic3RhbnRpdiwgZGEgamVnIHRyb3IgZGV0IGTDpmtrZXIgZmxlc3QgdGlsZsOmbGRlIGJlZHN0CisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OQorbXNnaWQgIlJlc2V0IGR1ZSB0byBDUFUgb3ZlcmhlYXQiCittc2dzdHIgIk51bHN0aWxsaW5nIHDDpSBncnVuZCBhZiBDUFUtdmFybWUiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgwCittc2dpZCAiUG93ZXIgb3ZlciB2b2x0YWdlIgorbXNnc3RyICJTdHLDuG0gb3ZlciBzcMOmbmRpbmciCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgxCittc2dpZCAiUG93ZXIgYmFkL3Bvd2VyIGZhdWx0IgorbXNnc3RyICJTdHLDuG0gdWd5bGRpZy9zdHLDuG1mZWpsIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MgorbXNnaWQgIlByZXRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJQcsOmdGlkc3VkbMO4YiAoaSBzZWt1bmRlcikiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgzCittc2dpZCAiU2V0IHRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJBbmdpdiB0aWRzdWRsw7hiIChpIHNla3VuZGVyKSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODQKK21zZ2lkICJOb3QgdHJpZ2dlciByZWJvb3QiCittc2dzdHIgIlVkbMO4cyBpa2tlIGdlbnN0YXJ0IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDAKK21zZ2lkICJmbGFnIG5hbWUiCittc2dzdHIgImZsYWduYXZuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDEKK21zZ2lkICJmbGFnIGRlc2NyaXB0aW9uIgorbXNnc3RyICJmbGFnYmVza3JpdmVsc2UiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMgorbXNnaWQgImZsYWcgc3RhdHVzIgorbXNnc3RyICJmbGFnc3RhdHVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDMKK21zZ2lkICJmbGFnIGJvb3Qgc3RhdHVzIgorbXNnc3RyICJvcHN0YXJ0c3N0YXR1cyBmb3IgZmxhZyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTA0Cittc2dpZCAid2F0Y2hkb2cgZGV2aWNlIG5hbWUiCittc2dzdHIgInZhZ3RodW5kcyBlbmhlZHNuYXZuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmbGFnOiAlcyIKK21zZ3N0ciAidWtlbmR0IGZsYWc6ICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxNzcKK21zZ2lkICJTaG93IHRoZSBzdGF0dXMgb2YgdGhlIGhhcmR3YXJlIHdhdGNoZG9nLlxuIgorbXNnc3RyICJWaXMgc3RhdHVzIGZvciB2YWd0aHVuZGVucyB1ZHN0eXIuXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE4MAorbXNnaWQgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICBwcmludCBzZWxlY3RlZCBmbGFncyBvbmx5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciBmbGFncyB0YWJsZVxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdCBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgcHJpbnQgb25seSBmbGFncyB0YWJsZSAoc2FtZSBhcyAtSSAtVClcbiIKK21zZ3N0ciAiIgorIiAtZiwgLS1mbGFncyA8bGlzdGU+ICAgIHZpcyBrdW4gdmFsZ3RlIGZsYWdcbiIKKyIgLUYsIC0tbm9mbGFncyAgICAgICAgICB2aXMgaWtrZSBpbmZvcm1hdGlvbiBvbSBmbGFnXG4iCisiIC1JLCAtLW5vaWRlbnQgICAgICAgICAgdmlzIGlra2UgdmFndGh1bmRlbnMgaWRlbnRpdGV0c2luZm9ybWF0aW9uXG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgdmlzIGlra2Ugb3ZlcnNrcmlmdGVyIGZvciBmbGFncyB0YWJlbFxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHZpcyBhbCBpbmZvcm1hdGlvbiBww6UgZW4gbGluamVcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0ZT4gICB2aXMga29sb25uZXIgZm9yIGZsYWdlbmVcbiIKKyIgLXIsIC0tcmF3ICAgICAgICAgICAgICBicnVnIHLDpSB1ZGRhdGFmb3JtYXQgZm9yIGZsYWdzIHRhYmVsXG4iCisiIC1ULCAtLW5vdGltZW91dHMgICAgICAgdmlzIGlra2UgdmFndGh1bmRlbnMgdGlkc3VkbMO4YlxuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWs+IGFuZ2l2IHZhZ3RodW5kZW5zIHRpZHN1ZGzDuGJcbiIKKyIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICB2aXMga3VuIGZsYWdzIHRhYmVsIChzYW1tZSBzb20gLUkgLVQpXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGVmYXVsdCBkZXZpY2UgaXMgJXMuXG4iCittc2dzdHIgIlN0YW5kYXJkZW5oZWRlbiBlciAlcy5cbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk5Cittc2dpZCAiQXZhaWxhYmxlIGNvbHVtbnM6XG4iCittc2dzdHIgIlRpbGfDpm5nZWxpZ2Uga29sb25uZXI6XG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biBmbGFncyAweCV4XG4iCittc2dzdHIgIiVzOiB1a2VuZHRlIGZsYWcgMHgleFxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMTkgc3lzLXV0aWxzL3dkY3RsLmM6Mzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXRjaGRvZyBhbHJlYWR5IGluIHVzZSwgdGVybWluYXRpbmcuIgorbXNnc3RyICIlczogdmFndGh1bmQgYWxsZXJlZGUgaSBicnVnLCBhZmJyeWRlci4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMzMyBzeXMtdXRpbHMvd2RjdGwuYzo0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkaXNhcm0gd2F0Y2hkb2ciCittc2dzdHIgIiVzOiBrdW5uZSBpa2tlIGRlYWt0aXZlcmUgdmFndGh1bmQiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRpbWVvdXQgZm9yICVzIgorbXNnc3RyICJrYW4gaWtrZSBhbmdpdmUgdGlkc3VkbMO4YiBmb3IgJXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0OAorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmQuXG4iCittc2dpZF9wbHVyYWwgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZHMuXG4iCittc2dzdHJbMF0gIlRpZHN1ZGzDuGIgZXIgYmxldmV0IHNhdCB0aWwgJWQgc2VrdW5kLlxuIgorbXNnc3RyWzFdICJUaWRzdWRsw7hiIGVyIGJsZXZldCBzYXQgdGlsICVkIHNla3VuZGVyLlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgd2F0Y2hkb2ciCittc2dzdHIgIiVzOiBrdW5uZSBpa2tlIGluZGhlbnRlIGluZm9ybWF0aW9uIG9tIHdhdGNoZG9nIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjQgc3lzLXV0aWxzL3dkY3RsLmM6NDY3IHN5cy11dGlscy93ZGN0bC5jOjQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlLTE0cyAlMmkgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIiUtMTRzICUyaSBzZWNvbmRzXG4iCittc2dzdHJbMF0gIiUtMTRzICUyaSBzZWt1bmRcbiIKK21zZ3N0clsxXSAiJS0xNHMgJTJpIHNla3VuZGVyXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NQorbXNnaWQgIlRpbWVvdXQ6IgorbXNnc3RyICJUaWRzdWRsw7hiOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY4Cittc2dpZCAiUHJlLXRpbWVvdXQ6IgorbXNnc3RyICJQcsOmdGlkc3VkbMO4YjoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ3MQorbXNnaWQgIlRpbWVsZWZ0OiIKK21zZ3N0ciAiVGlkIHRpbGJhZ2U6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDUKK21zZ2lkICJEZXZpY2U6IgorbXNnc3RyICJFbmhlZDoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNworbXNnaWQgIklkZW50aXR5OiIKK21zZ3N0ciAiSWRlbnRpdGV0OiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA5Cittc2dpZCAidmVyc2lvbiIKK21zZ3N0ciAidmVyc2lvbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MworbXNnaWQgInpyYW0gZGV2aWNlIG5hbWUiCittc2dzdHIgInpyYW0tZW5oZWRzbmF2biIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NAorbXNnaWQgImxpbWl0IG9uIHRoZSB1bmNvbXByZXNzZWQgYW1vdW50IG9mIGRhdGEiCittc2dzdHIgImJlZ3LDpm5zbmluZyBww6UgZGVuIHVrb21wcmltZXJlZGUgZGF0YW3Dpm5nZGUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzUKK21zZ2lkICJ1bmNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAidWtvbXByaW1lcmV0IHN0w7hycmVsc2UgZm9yIGxhZ3JlZGUgZGF0YSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NgorbXNnaWQgImNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAia29tcHJpbWVyZXQgc3TDuHJyZWxzZSBmb3IgbGFncmVkZSBkYXRhIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc3Cittc2dpZCAidGhlIHNlbGVjdGVkIGNvbXByZXNzaW9uIGFsZ29yaXRobSIKK21zZ3N0ciAiZGVuIHZhbGd0ZSBrb21wcmltZXJpbmdzYWxnb3JpdG1lIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc4Cittc2dpZCAibnVtYmVyIG9mIGNvbmN1cnJlbnQgY29tcHJlc3Mgb3BlcmF0aW9ucyIKK21zZ3N0ciAiYW50YWxsZXQgYWYgc2FtdGlkaWdlIGtvbXByaW1lcmluZ3NvcGVyYXRpb25lciIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OQorbXNnaWQgImVtcHR5IHBhZ2VzIHdpdGggbm8gYWxsb2NhdGVkIG1lbW9yeSIKK21zZ3N0ciAidG9tbWUgc2lkZXIgdWRlbiBhbGxva2VyZXQgaHVrb21tZWxzZSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MAorbXNnaWQgImFsbCBtZW1vcnkgaW5jbHVkaW5nIGFsbG9jYXRvciBmcmFnbWVudGF0aW9uIGFuZCBtZXRhZGF0YSBvdmVyaGVhZCIKK21zZ3N0ciAiYWwgaHVrb21tZWxzZSBpbmtsdXNpdmUgYWxsb2NhdG9yLWZyYWdtZW50YXRpb24gb2cgbWV0YWRhdGEtb3ZlcmhlYWQiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAibWVtb3J5IGxpbWl0IHVzZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICJiZWdyw6Zuc25pbmcgcMOlIGRlbiB1a29tcHJpbWVyZWRlIGRhdGFtw6ZuZ2RlIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgyCittc2dpZCAibWVtb3J5IHpyYW0gaGF2ZSBiZWVuIGNvbnN1bWVkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgzCisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBvYmplY3RzIG1pZ3JhdGVkIGJ5IGNvbXBhY3Rpb24iCittc2dzdHIgImFudGFsbGV0IGFmIHNhbXRpZGlnZSBrb21wcmltZXJpbmdzb3BlcmF0aW9uZXIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6MzYzIHN5cy11dGlscy96cmFtY3RsLmM6Mzc0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIHN0YXJ0IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCisiICUxJHMgLXIgPGRldmljZT4gWy4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8ZGV2aWNlPiAtcyA8c2l6ZT5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFt0aWx2YWxnXSBbPGVuaGVkPl1cbiIKKyIgJTEkcyAtciA8ZW5oZWQ+IFsuLi5dXG4iCisiICUxJHMgW3RpbHZhbGddIC1mIHwgPGVuaGVkPiAtcyA8c3TDuHJyZWxzZT5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MjcKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgenJhbSBkZXZpY2VzLlxuIgorbXNnc3RyICJPcHPDpnQgb2cga29udHJvbGxlciB6cmFtLWVuaGVkZXIuXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMwCittc2dpZCAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0ICAgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIHVzZVxuIgorbXNnc3RyICIgLWEsIC0tYWxnb3JpdGhtIGx6b3xsejQgICBrb21wcmltZXJpbmdzYWxnb3JpdG1lXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMxCittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHZpcyBzdMO4cnJlbHNlciBpIGJ5dGUgZnJlbSBmb3IgaSBldCBsw6ZzZXZlbmxpZ3QgZm9ybWF0XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMyCittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgZmluZCBhIGZyZWUgZGV2aWNlXG4iCittc2dzdHIgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIGZpbmQgZW4gZnJpIGVuaGVkXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMzCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgdmlzIGlra2UgdGVrc3Rob3ZlZGVyXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM0Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGU+ICAgICAga29sb25uZXIgaSBzdGF0dXN1ZGRhdGFcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzUKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICB1c2UgcmF3IHN0YXR1cyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIGJydWcgcsOlIHN0YXR1c3VkZGF0YWZvcm1hdFxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzNgorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICBudWxzdGlsIGFsbGUgc3BlY2lmaWNlcmVkZSBlbmhlZGVyXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM3Cittc2dpZCAiIC1zLCAtLXNpemUgPHNpemU+ICAgICAgICAgZGV2aWNlIHNpemVcbiIKK21zZ3N0ciAiIC1zLCAtLXNpemUgPHN0w7hycmVsc2U+ICAgIGVuaGVkc3TDuHJyZWxzZVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzOAorbXNnaWQgIiAtdCwgLS1zdHJlYW1zIDxudW1iZXI+ICAgIG51bWJlciBvZiBjb21wcmVzc2lvbiBzdHJlYW1zXG4iCittc2dzdHIgIiAtdCwgLS1zdHJlYW1zIDxhbnRhbD4gICAgIGFudGFsIGtvbXByaW1lcmluZ3NzdHLDuG1tZVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBhbGdvcml0aG06ICVzIgorbXNnc3RyICJpa2tlIHVuZGVyc3TDuHR0ZXQgYWxnb3JpdG1lOiAlcyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2MjYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RyZWFtcyIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBzdHLDuG1tZSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NDgKK21zZ2lkICJvcHRpb24gLS1maW5kIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxkZXZpY2U+IgorbXNnc3RyICJ0aWx2YWxnZXQgLS1maW5kIG9nIDxlbmhlZD4gdWRlbHVra2VyIGhpbmFuZGVuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NAorbXNnaWQgIm9ubHkgb25lIDxkZXZpY2U+IGF0IGEgdGltZSBpcyBhbGxvd2VkIgorbXNnc3RyICJrdW4gZW4gPGVuaGVkPiBhZCBnYW5nZW4gZXIgdGlsbGFkdCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NTcKK21zZ2lkICJvcHRpb25zIC0tYWxnb3JpdGhtIGFuZCAtLXN0cmVhbXMgbXVzdCBiZSBjb21iaW5lZCB3aXRoIC0tc2l6ZSIKK21zZ3N0ciAidGlsdmFsZ2VuZSAtLWFsZ29yaXRobSBvZyAtLXN0cmVhbXMgc2thbCBrb21iaW5lcmVzIG1lZCAtLXNpemUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njg3IHN5cy11dGlscy96cmFtY3RsLmM6NzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVzZXQiCittc2dzdHIgIiVzOiBrdW5uZSBpa2tlIG51bHN0aWxsZSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2OTggc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDYKK21zZ2lkICJubyBmcmVlIHpyYW0gZGV2aWNlIGZvdW5kIgorbXNnc3RyICJpbmdlbiBmcmkgenJhbS1lbmhlZCBibGV2IGZ1bmRldCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgbnVtYmVyIG9mIHN0cmVhbXMiCittc2dzdHIgIiVzOiBrdW5uZSBpa2tlIGFuZ2l2ZSBhbnRhbGxldCBhZiBzdHLDuG1tZSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYWxnb3JpdGhtIgorbXNnc3RyICIlczoga3VubmUgaWtrZSBhbmdpdmUgYWxnb3JpdG1lIgorCisjIEVuaGVkZXIgbGlnZ2VyIGkgL2Rldi4gIEYuZWtzLiAvZGV2L3NkYSwgL2Rldi9zZGExLCAvZGV2L3NkYTIsIC4uLgorIyBIZXIgcmVwcsOmc2VudGVyZXIgc2RhIGhlbGUgZGlza2VuIG1lbnMgc2RhMSBvZyBzZGEyIHJlcHLDpnNlbnRlcmVyCisjIHBhcnRpdGlvbmVyIGFmIGRlbi4gIEVuaGVkZXIgaGFyIG9nc8OlIG51bXJlLiAgTnVtbWVyZXQgcMOlIHNkYSBtw6UgdsOmcmUKKyMgaHZhZCBkZSBtZW5lciBtZWQgd2hvbGUtZGlzayBkZXZpY2UgbnVtYmVyLgorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgZGlza3NpemUgKCVqdSBieXRlcykiCittc2dzdHIgIiVzOiBrdW5uZSBpa2tlIGFuZ2l2ZSBkaXNrc3TDuHJyZWxzZSAoJWp1IGJ5dGUpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjQ1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzIChhdXRvbWF0aWMgbG9naW4pXG4iCittc2dzdHIgIiVzJXMgKGF1dG9tYXRpc2sgbG9naW5kKVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHJvb3QgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiJXM6IGthbiBpa2tlIMOmbmRyZSByb290LW1hcHBlICVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSB3b3JraW5nIGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVzOiBrYW4gaWtrZSDDpm5kcmUgYXJiZWpkc21hcHBlICVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSBwcm9jZXNzIHByaW9yaXR5OiAlbSIKK21zZ3N0ciAiJXM6IGthbiBpa2tlIMOmbmRyZSBwcm9jZXNwcmlvcml0ZXQ6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgZXhlYyAlczogJW0iCittc2dzdHIgIiVzOiBrYW4gaWtrZSB1ZGbDuHJlICVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1NTUgdGVybS11dGlscy9hZ2V0dHkuYzo4NDEgdGVybS11dGlscy9hZ2V0dHkuYzo4NTMKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODcwIHRlcm0tdXRpbHMvYWdldHR5LmM6MTQxNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MzMKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ2OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NzkgdGVybS11dGlscy9hZ2V0dHkuYzoxNTE2CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NzggdGVybS11dGlscy9hZ2V0dHkuYzoyNTIxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnk6ICVtIgorbXNnc3RyICJrdW5uZSBpa2tlIGFsbG9rZXJlIGh1a29tbWVsc2U6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjY4MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGRlbGF5IGFyZ3VtZW50IgorbXNnc3RyICJ1Z3lsZGlnIHBhcmFtZXRlciBmb3IgaG92ZWRlciIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3MTkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC0tbG9jYWwtbGluZSIKK21zZ3N0ciAidWd5bGRpZyBwYXJhbWV0ZXIgZm9yIC0tbG9jYWwtbGluZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3MzgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBuaWNlIGFyZ3VtZW50IgorbXNnc3RyICJ1Z3lsZGlnIHRpZHNwYXJhbWV0ZXIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODc1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzcGVlZDogJXMiCittc2dzdHIgInVneWxkaWcgaGFzdGlnaGVkOiAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzcKK21zZ2lkICJ0b28gbWFueSBhbHRlcm5hdGUgc3BlZWRzIgorbXNnc3RyICJmb3IgbWFuZ2UgZm9yc2tlbGxpZ2UgaGFzdGlnaGVkZXIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAwNiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMTAgdGVybS11dGlscy9hZ2V0dHkuYzoxMDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBvcGVuIGFzIHN0YW5kYXJkIGlucHV0OiAlbSIKK21zZ3N0ciAiL2Rldi8lczoga2FuIGlra2Ugw6VibmUgc29tIHN0YW5kYXJkLWluZDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAyOQorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSBjaGFyYWN0ZXIgZGV2aWNlIgorbXNnc3RyICIvZGV2LyVzOiBpa2tlIGVuIHRlZ25lbmhlZCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIHR0eSIKK21zZ3N0ciAiL2Rldi8lczogaWtrZSBlbiB0dHkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAzNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IGdldCBjb250cm9sbGluZyB0dHk6ICVtIgorbXNnc3RyICIvZGV2LyVzOiBrYW4gaWtrZSBpbmRoZW50ZSBrb250cm9sbGVyZW5kZSB0dHk6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogdmhhbmd1cCgpIGZhaWxlZDogJW0iCittc2dzdHIgIi9kZXYvJXM6IHZoYW5ndXAoKSBtaXNseWtrZWRlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG9wZW4gZm9yIHJlYWQvd3JpdGUiCittc2dzdHIgIiVzOiBpa2tlIMOlYmVuIGZvciBsw6ZzbmluZy9za3Jpdm5pbmciCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA4MworIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgc2V0IHByb2Nlc3MgZ3JvdXA6ICVtIgorbXNnc3RyICIvZGV2LyVzOiBrYW4gaWtrZSBhbmdpdmUgcHJvY2VzZ3J1cHBlOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkdXAgcHJvYmxlbTogJW0iCittc2dzdHIgIiVzOiBkdXAtcHJvYmxlbTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTExNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiJXM6IGthbiBpa2tlIGluZGhlbnRlIHRlcm1pbmFsYXR0cmlidXR0ZXI6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzMjEgdGVybS11dGlscy9hZ2V0dHkuYzoxMzQxCisjLCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgdGVybWluYWwgYXR0cmlidXRlcyBmYWlsZWQ6ICVtIgorbXNnc3RyICJhbmdpdmVsc2UgYWYgdGVybWluYWxhdHRyaWJ1dHRlciBtaXNseWtrZWRlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ1OQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBvcy1yZWxlYXNlIGZpbGUiCittc2dzdHIgImthbiBpa2tlIMOlYm5lIGzDpXNlZmlsICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE2MzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcmVsb2FkIGZpbGU6ICVzOiAlbSIKK21zZ3N0ciAia3VubmUgaWtrZSBsw6ZzZSB0eXBlc2tyaXB0ZmlsICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3MzYKK21zZ2lkICJbcHJlc3MgRU5URVIgdG8gbG9naW5dIgorbXNnc3RyICJbdHJ5ayBSRVRVUiBmb3IgbG9naW5kXSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzYwCittc2dpZCAiTnVtIExvY2sgb2ZmIgorbXNnc3RyICJOdW0gTG9jayBkZWFrdGl2ZXJldCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzYzCittc2dpZCAiTnVtIExvY2sgb24iCittc2dzdHIgIk51bSBMb2NrIGFrdGl2ZXJldCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzY2Cittc2dpZCAiQ2FwcyBMb2NrIG9uIgorbXNnc3RyICJDYXBzIExvY2sgYWt0aXZlcmV0IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjkKK21zZ2lkICJTY3JvbGwgTG9jayBvbiIKK21zZ3N0ciAiU2Nyb2xsIExvY2sgYWt0aXZlcmV0IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkhpbnQ6ICVzXG4iCisiXG4iCittc2dzdHIgIiIKKyJGaWY6ICVzXG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZDogJW0iCittc2dzdHIgIiVzOiBsw6ZzdDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk1OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5wdXQgb3ZlcnJ1biIKK21zZ3N0ciAiJXM6IGluZGRhdGFvdmVybMO4YiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTc0IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgY29udmVyc2lvbiBmb3IgbG9naW4gbmFtZSIKK21zZ3N0ciAiJXM6IHVneWxkaWcgdGVnbmtvbnZlcnRlcmluZyBmb3IgbG9naW5kbmF2biIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciAweCV4IGluIGxvZ2luIG5hbWUiCittc2dzdHIgIiVzOiB1Z3lsZGlndCB0ZWduIDB4JXggaSBsb2dpbmRuYXZuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIiVzOiBrdW5uZSBpa2tlIGFuZ2l2ZSB0ZXJtaW5hbGF0dHJpYnV0dGVyOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGxpbmU+IFs8YmF1ZF9yYXRlPiwuLi5dIFs8dGVybXR5cGU+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8YmF1ZF9yYXRlPiwuLi4gPGxpbmU+IFs8dGVybXR5cGU+XVxuIgorbXNnc3RyICIiCisiICUxJHMgW3RpbHZhbGddIDxsaW5qZT4gWzxiYXVkX2hhc3RpZ2hlZD4sLi4uXSBbPHRlcm10eXBlPl1cbiIKKyIgJTEkcyBbdGlsdmFsZ10gPGJhdWRfaGFzdGlnaGVkPiwuLi4gPGxpbmplPiBbPHRlcm10eXBlPl1cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTEzCittc2dpZCAiT3BlbiBhIHRlcm1pbmFsIGFuZCBzZXQgaXRzIG1vZGUuXG4iCittc2dzdHIgIsOFYm4gZW4gdGVybWluYWwgb2cgYW5naXYgZGV0cyB0aWxzdGFuZC5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE2Cittc2dpZCAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIGFzc3VtZSA4LWJpdCB0dHlcbiIKK21zZ3N0ciAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIGFudGFnIDgtYml0IHR0eVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTcKK21zZ2lkICIgLWEsIC0tYXV0b2xvZ2luIDx1c2VyPiAgICAgbG9naW4gdGhlIHNwZWNpZmllZCB1c2VyIGF1dG9tYXRpY2FsbHlcbiIKK21zZ3N0ciAiIC1hLCAtLWF1dG9sb2dpbiA8YnJ1Z2VyPiAgIGxvZyBkZW4gYW5naXZuZSBicnVnZXIgaW5kIGF1dG9tYXRpc2tcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE4Cittc2dpZCAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGRvIG5vdCByZXNldCBjb250cm9sIG1vZGVcbiIKK21zZ3N0ciAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIG51bHN0aWwgaWtrZSBrb250cm9sdGlsc3RhbmRlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTkKK21zZ2lkICIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAgdXNlIC1yIDxob3N0bmFtZT4gZm9yIGxvZ2luKDEpXG4iCittc2dzdHIgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICBicnVnIC1yIDx2w6ZydHNuYXZuPiBmb3IgbG9naW4oMSlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIwCittc2dpZCAiIC1mLCAtLWlzc3VlLWZpbGUgPGZpbGU+ICAgIGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIgLWYsIC0taXNzdWUtZmlsZSA8ZmlsPiAgICAgdmlzIGZpbCBpbmRlaG9sZGVuZGUgcHJvYmxlbWVyXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMQorbXNnaWQgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBlbmFibGUgaGFyZHdhcmUgZmxvdyBjb250cm9sXG4iCittc2dzdHIgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBha3RpdmVyIGZvcmzDuGJza29udHJvbCBmb3IgdWRzdHlyZXRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIyCittc2dpZCAiIC1ILCAtLWhvc3QgPGhvc3RuYW1lPiAgICAgIHNwZWNpZnkgbG9naW4gaG9zdFxuIgorbXNnc3RyICIgLUgsIC0taG9zdCA8dsOmcnRzbmF2bj4gICAgIGFuZ2l2IGxvZ2luZHbDpnJ0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMworbXNnaWQgIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICBkbyBub3QgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICB2aXMgaWtrZSBwcm9ibGVtc3RpbGxpbmdzZmlsXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNAorbXNnaWQgIiAtSSwgLS1pbml0LXN0cmluZyA8c3RyaW5nPiBzZXQgaW5pdCBzdHJpbmdcbiIKK21zZ3N0ciAiIC1JLCAtLWluaXQtc3RyaW5nIDxzdHJlbmc+IGFuZ2l2IGluaXQtc3RyZW5nXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNQorbXNnaWQgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICBkbyBub3QgY2xlYXIgdGhlIHNjcmVlbiBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICByeWQgaWtrZSBza8Omcm1lbiBmw7hyIHByb21wdFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjYKK21zZ2lkICIgLWwsIC0tbG9naW4tcHJvZ3JhbSA8ZmlsZT4gc3BlY2lmeSBsb2dpbiBwcm9ncmFtXG4iCittc2dzdHIgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWw+ICBhbmdpdiBsb2dpbmRwcm9ncmFtXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNworbXNnaWQgIiAtTCwgLS1sb2NhbC1saW5lWz08bW9kZT5dICBjb250cm9sIHRoZSBsb2NhbCBsaW5lIGZsYWdcbiIKK21zZ3N0ciAiIC1MLCAtLWxvY2FsLWxpbmVbPTx0aWxzdD5dIGtvbnRyb2xsZXIgZGV0IGxva2FsZSBsaW5qZWZsYWdcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI4Cittc2dpZCAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCittc2dzdHIgIiAtbSwgLS1leHRyYWN0LWJhdWQgICAgICAgICB1ZHRyw6ZrIGJhdWQtaGFzdGlnaGVkIHVuZGVyIGZvcmJpbmRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI5Cittc2dpZCAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGRvIG5vdCBwcm9tcHQgZm9yIGxvZ2luXG4iCittc2dzdHIgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBzcMO4cmcgaWtrZSBvbSBsb2dpbmRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMwCittc2dpZCAiIC1OICAtLW5vbmV3bGluZSAgICAgICAgICAgIGRvIG5vdCBwcmludCBhIG5ld2xpbmUgYmVmb3JlIGlzc3VlXG4iCittc2dzdHIgIiAtTiAgLS1ub25ld2xpbmUgICAgICAgICAgICB2aXMgaWtrZSBlbiBueSBsaW5qZSBmw7hyIHNhZ1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzEKK21zZ2lkICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8b3B0cz4gb3B0aW9ucyB0aGF0IGFyZSBwYXNzZWQgdG8gbG9naW5cbiIKK21zZ3N0ciAiIC1vLCAtLWxvbmdpbi1vcHRpb25zIDx0aWx2PiB0aWx2YWxnIHNvbSBzZW5kZXMgdGlsIGxvZ2luZFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzIKK21zZ2lkICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICB2ZW50IHDDpSB0YXN0YXR1cnRyeWsgZsO4ciBsb2dpbmRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMzCittc2dpZCAiIC1yLCAtLWNocm9vdCA8ZGlyPiAgICAgICAgIGNoYW5nZSByb290IHRvIHRoZSBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1yLCAtLWNocm9vdCA8bWFwcGU+ICAgICAgIMOmbmRyIHJvb3QgdGlsIG1hcHBlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzQKK21zZ2lkICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgZG8gdmlydHVhbGx5IGhhbmd1cCBvbiB0aGUgdHR5XG4iCittc2dzdHIgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICB1ZGbDuHIgdmlydHVlbCBsdWtuaW5nIHDDpSB0dHknZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM1Cittc2dpZCAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIHRyeSB0byBrZWVwIGJhdWQgcmF0ZSBhZnRlciBicmVha1xuIgorbXNnc3RyICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgZm9yc8O4ZyBhdCBiZXZhcmUgYmF1ZGhhc3RpZ2hlZCBlZnRlciBza2lmdFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzYKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8bnVtYmVyPiAgICAgbG9naW4gcHJvY2VzcyB0aW1lb3V0XG4iCittc2dzdHIgIiAtdCwgLS10aW1lb3V0IDxudW1tZXI+ICAgICBwcm9jZXN0aWRzdWRsw7hiIGZvciBsb2dpbmRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM3Cittc2dpZCAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKK21zZ3N0ciAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVrdGVyIHRlcm1pbmFsIG1lZCBzdG9yZSBib2dzdGF2ZXJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM4Cittc2dpZCAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIHdhaXQgY2FycmlhZ2UtcmV0dXJuXG4iCittc2dzdHIgIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICB2ZW50IHDDpSBsaW5qZXNraWZ0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzOQorbXNnaWQgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBkbyBub3QgcHJpbnQgaGludHNcbiIKK21zZ3N0ciAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIHZpcyBpa2tlIGZpZlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDAKK21zZ2lkICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAgbm8gaG9zdG5hbWUgYXQgYWxsIHdpbGwgYmUgc2hvd25cbiIKK21zZ3N0ciAiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgIGludGV0IHbDpnJ0c25hdm4gdmlsIGJsaXZlIHZpc3RcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQxCittc2dpZCAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIHNob3cgZnVsbCBxdWFsaWZpZWQgaG9zdG5hbWVcbiIKK21zZ3N0ciAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIHZpcyBmdWxkdCBrdmFsaWZpY2VyZXQgdsOmcnRzbmF2blxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDIKK21zZ2lkICIgICAgIC0tZXJhc2UtY2hhcnMgPHN0cmluZz4gYWRkaXRpb25hbCBiYWNrc3BhY2UgY2hhcnNcbiIKK21zZ3N0ciAiICAgICAtLWVyYXNlLWNoYXJzIDxzdHJlbmc+IHlkZXJsaWdlcmUgc2xldCB0aWxiYWdlLXRlZ25cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQzCittc2dpZCAiICAgICAtLWtpbGwtY2hhcnMgPHN0cmluZz4gIGFkZGl0aW9uYWwga2lsbCBjaGFyc1xuIgorbXNnc3RyICIgICAgIC0ta2lsbC1jaGFycyA8c3RyZW5nPiAgeWRlcmxpZ2VyZSBkcsOmYi10ZWduXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NAorbXNnaWQgIiAgICAgLS1jaGRpciA8ZGlyZWN0b3J5PiAgICBjaGRpciBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiAgICAgLS1jaGRpciA8bWFwcGU+ICAgICAgICBjaGRpciBmw7hyIGxvZ2luZCdldFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDUKK21zZ2lkICIgICAgIC0tZGVsYXkgPG51bWJlcj4gICAgICAgc2xlZXAgc2Vjb25kcyBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAgICAgLS1kZWxheSA8YW50YWw+ICAgICAgICBzb3Zlc2VrdW5kZXIgZsO4ciBwcm9tcHRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ2Cittc2dpZCAiICAgICAtLW5pY2UgPG51bWJlcj4gICAgICAgIHJ1biBsb2dpbiB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiICAgICAtLW5pY2UgPG51bW1lcj4gICAgICAgIGvDuHIgbG9naW5kIG1lZCBkZW5uZSBwcmlvcml0ZXRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ3Cittc2dpZCAiICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgIHJlbG9hZCBwcm9tcHRzIG9uIHJ1bm5pbmcgYWdldHR5IGluc3RhbmNlc1xuIgorbXNnc3RyICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgZ2VuaW5kbMOmcyBwcm9tcHQnZXIgdmVkIGvDuHJzZWwgYWYgYWdldHR5LWluc3RhbnNlclxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDgKK21zZ2lkICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAtLWhlbHAgICAgICAgICAgICAgICAgIHZpcyBkZW5uZSBoasOmbHBldGVrc3Qgb2cgYWZzbHV0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0OQorbXNnaWQgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgdmlzIHZlcnNpb25zaW5mb3JtYXRpb24gb2cgYWZzbHV0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCB1c2VyIgorbXNnaWRfcGx1cmFsICIlZCB1c2VycyIKK21zZ3N0clswXSAiJWQgYnJ1Z2VyIgorbXNnc3RyWzFdICIlZCBicnVnZXJlIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2tuYW1lIGZhaWxlZDogJW0iCittc2dzdHIgImNoZWNrbmFtZSBtaXNseWtrZWRlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdG91Y2ggZmlsZSAlcyIKK21zZ3N0ciAia2FuIGlra2UgcsO4cmUgZmlsZW4gJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYyNQorbXNnaWQgIi0tcmVsb2FkIGlzIHVuc3VwcG9ydGVkIG9uIHlvdXIgc3lzdGVtIgorbXNnc3RyICItLXJlbG9hZCBlciBpa2tlIHVuZGVyc3TDuHR0ZXQgcMOlIGRpdCBzeXN0ZW0iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3kgfCBuXVxuIgorbXNnc3RyICIlcyBbdGlsdmFsZ10gW3kgfCBuXVxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3OAorbXNnaWQgIkNvbnRyb2wgd3JpdGUgYWNjZXNzIG9mIG90aGVyIHVzZXJzIHRvIHlvdXIgdGVybWluYWwuXG4iCittc2dzdHIgIktvbnRyb2xsZXIgc2tyaXZlYWRnYW5nIGZvciBhbmRyZSBicnVnZXJlIHRpbCBkaW4gdGVybWluYWwuXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjgxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICBmb3JrbGFyIGh2YWQgZGVyIHNrZXJcbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTI1Cittc2dpZCAidHR5bmFtZSBmYWlsZWQiCittc2dzdHIgInR0eW5hbWUgbWlzbHlra2VkZXMiCisKKyMgU8OlIHZpZHQgamVnIGthbiBzZSBpIGtvZGVuLCB1bmRlcnN0w7h0dGVyIGRlbiBrdW4geSBvZyBuCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzQKK21zZ2lkICJpcyB5IgorbXNnc3RyICJlciB5IgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzcKK21zZ2lkICJpcyBuIgorbXNnc3RyICJlciBuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNDggdGVybS11dGlscy9tZXNnLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZSAlcyBtb2RlIGZhaWxlZCIKK21zZ3N0ciAiw6ZuZHJpbmcgYWYgJXMtdGlsc3RhbmQgbWlzbHlra2VkZXMiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgInNrcml2ZWFkZ2FuZyB0aWwgZGluIHRlcm1pbmFsIGVyIHRpbGxhZHQiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1NworbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGRlbmllZCIKK21zZ3N0ciAic2tyaXZlYWRnYW5nIHRpbCBkaW4gdGVybWluYWwgZXIgaWtrZSB0aWxsYWR0IgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXMiCittc2dzdHIgInVneWxkaWcgcGFyYW1ldGVyOiAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZV1cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSBbZmlsXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2MgorbXNnaWQgIk1ha2UgYSB0eXBlc2NyaXB0IG9mIGEgdGVybWluYWwgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiTGF2IGV0IHR5cGVza3JpcHQgZm9yIGVuIHRlcm1pbmFsc2Vzc2lvbi5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjUKK21zZ2lkICIiCisiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgIGFwcGVuZCB0aGUgb3V0cHV0XG4iCisiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+IHJ1biBjb21tYW5kIHJhdGhlciB0aGFuIGludGVyYWN0aXZlIHNoZWxsXG4iCisiIC1lLCAtLXJldHVybiAgICAgICAgICAgIHJldHVybiBleGl0IGNvZGUgb2YgdGhlIGNoaWxkIHByb2Nlc3NcbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAgcnVuIGZsdXNoIGFmdGVyIGVhY2ggd3JpdGVcbiIKKyIgICAgIC0tZm9yY2UgICAgICAgICAgICAgdXNlIG91dHB1dCBmaWxlIGV2ZW4gd2hlbiBpdCBpcyBhIGxpbmtcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgYmUgcXVpZXRcbiIKKyIgLXQsIC0tdGltaW5nWz08ZmlsZT5dICAgb3V0cHV0IHRpbWluZyBkYXRhIHRvIHN0ZGVyciAob3IgdG8gRklMRSlcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgdGlsZsO4aiB1ZGRhdGFlbmVcbiIKKyIgLWMsIC0tY29tbWFuZCA8a29tbWFuZG8+IGvDuHIga29tbWFuZG8gZnJlbSBmb3IgaW50ZXJha3RpdiBza2FsXG4iCisiIC1lLCAtLXJldHVybiAgICAgICAgICAgICByZXR1cm5lciBhZnNsdXRrb2RlIGZvciB1bmRlcnByb2Nlc1xuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICAga8O4ciB0w7htIChmbHVzaCkgZWZ0ZXIgaHZlciBza3Jpdm5pbmdcbiIKKyIgICAgIC0tZm9yY2UgICAgICAgICAgICAgIGJydWcgdWRkYXRhZmlsIHNlbHYgbsOlciBkZXQgZXIgZW4gaGVudmlzbmluZ1xuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgdsOmciBzdGlsbGVcbiIKKyIgLXQsIC0tdGltaW5nWz08ZmlsPl0gICAgIHZpcyB0aW1pbmdkYXRhIHRpbCBzdGFuZGFyZGZlamwgKGVsbGVyIHRpbCBGSUwpXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICB2aXMgdmVyc2lvbnNpbmZvcm1hdGlvbiBvZyBhZnNsdXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgIHZpcyBkZW5uZSBoasOmbHBldGVrc3Qgb2cgYWZzbHV0XG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJvdXRwdXQgZmlsZSBgJXMnIGlzIGEgbGlua1xuIgorIlVzZSAtLWZvcmNlIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuXG4iCisiUHJvZ3JhbSBub3Qgc3RhcnRlZC4iCittc2dzdHIgIiIKKyJVZGRhdGFmaWwgwrslc8KrIGVyIGVuIGhlbnZpc25pbmcuXG4iCisiQnJ1ZyAtLWZvcmNlIGh2aXMgZHUgdmlya2VsaWcgdmlsIGJydWdlIGRlbi5cbiIKKyJQcm9ncmFtIGJsZXYgaWtrZSBzdGFydGV0LiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IGRvbmUsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiU2tyaXB0IGbDpnJkaWd0LCBmaWxlbiBlciAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI2MgorbXNnaWQgImNhbm5vdCB3cml0ZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAia2FuIGlra2Ugc2tyaXZlIHNrcmlwdGZpbCIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzozOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTZXNzaW9uIGFmc2x1dHRldCwgZHLDpmJlciBza2FsIC4uLiIKKworIyAlcyBlciBub2sgZXQgdGlkc3B1bmt0LiAgSmVnIHZpbGxlIGZqZXJuZSAicMOlIiBzw6UgZGV0IGJsaXZlcgorIyAicMOlYmVneW5kdCAxNzozNyIgZWxsZXIgInDDpWJlZ3luZHQgMTctMTItMjAxMCIKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDM4CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkIG9uICVzIgorbXNnc3RyICJTa3JpcHQgcMOlYmVneW5kdCAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNjcmlwdCBkb25lIG9uICVzIgorbXNnc3RyICIiCisiXG4iCisiU2tyaXB0IGvDuHJ0ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYwNworbXNnaWQgImZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAia3VubmUgaWtrZSBpbmRoZW50ZSB0ZXJtaW5hbGF0dHJpYnV0dGVyIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYxNAorbXNnaWQgIm9wZW5wdHkgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IG1pc2x5a2tlZGVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjY1MgorbXNnaWQgIm91dCBvZiBwdHkncyIKK21zZ3N0ciAibMO4YmV0IHTDuHIgZm9yIHB0eS1lciIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo3NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiU2tyaXB0IHDDpWJlZ3luZHQsIGZpbGVuIGVyICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstdF0gdGltaW5nZmlsZSBbdHlwZXNjcmlwdF0gW2Rpdmlzb3JdXG4iCittc2dzdHIgIiVzIFstdF0gdGltaW5nZmlsIFt0eXBlc2tyaXB0XSBbbsOmdm5lcl1cbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0NworbXNnaWQgIlBsYXkgYmFjayB0ZXJtaW5hbCB0eXBlc2NyaXB0cywgdXNpbmcgdGltaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJBZnNwaWwgdGVybWluYWx0eXBlc2tyaXB0ZXIsIHZpYSBicnVnIGFmIHRpbWluZ2luZm9ybWF0aW9uLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjUwCittc2dpZCAiIgorIiAtdCwgLS10aW1pbmcgPGZpbGU+ICAgICBzY3JpcHQgdGltaW5nIG91dHB1dCBmaWxlXG4iCisiIC1zLCAtLXR5cGVzY3JpcHQgPGZpbGU+IHNjcmlwdCB0ZXJtaW5hbCBzZXNzaW9uIG91dHB1dCBmaWxlXG4iCisiIC1kLCAtLWRpdmlzb3IgPG51bT4gICAgIHNwZWVkIHVwIG9yIHNsb3cgZG93biBleGVjdXRpb24gd2l0aCB0aW1lIGRpdmlzb3JcbiIKKyIgLW0sIC0tbWF4ZGVsYXkgPG51bT4gICAgd2FpdCBhdCBtb3N0IHRoaXMgbWFueSBzZWNvbmRzIGJldHdlZW4gdXBkYXRlc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiIC10LCAtLXRpbWluZyA8ZmlsPiAgICAgIHNrcmlwdCB1ZGRhdGFmaWwgZm9yIHRpbWluZ1xuIgorIiAtcywgLS10eXBlc2NpcnB0IDxmaWw+ICBza3JpcHQgdWRkYXRhZmlsIGZvciB0ZXJtaW5hbHNlc3Npb25cbiIKKyIgLWQsIC0tZGl2aXNvciA8bnVtPiAgICAgw7hnZSBlbGxlciBzw6ZuayBrw7hyc2Vsc3RpZCBtZWQgdGlkc2RlbGVyXG4iCisiIC1tLCAtLW1heGRlbGF5IDxudW0+ICAgIHZlbnQgaMO4anN0IGRldHRlIGFudGFsIHNla3VuZGVyIG1lbGxlbSBvcGRhdGVyaW5nZXJcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgdmlzIHZlcnNpb25zaW5mb3JtYXRpb24gb2cgYWZzbHV0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIHZpcyBkZW5uZSBoasOmbHBldGVrc3Qgb2cgYWZzbHV0XG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTEyCittc2dpZCAid3JpdGUgdG8gc3Rkb3V0IGZhaWxlZCIKK21zZ3N0ciAic2tyaXZuaW5nIHRpbCBzdGFuZGFyZC11ZCBtaXNseWtrZWRlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSBvbiAlcyIKK21zZ3N0ciAidXZlbnRldCBsaW5qZWFmc2x1dG5pbmcgcMOlICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0eXBlc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgImt1bm5lIGlra2UgbMOmc2UgdHlwZXNrcmlwdGZpbCAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxODQKK21zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJmb3JrZXJ0IGFudGFsIHBhcmFtZXRyZSIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGltaW5nIGZpbGUgJXMiCittc2dzdHIgImt1bm5lIGlra2UgbMOmc2UgdGltaW5nZmlsICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltaW5nIGZpbGUgJXM6IGxpbmUgJWx1OiB1bmV4cGVjdGVkIGZvcm1hdCIKK21zZ3N0ciAidGltaW5nZmlsICVzOiAlbHU6IHV2ZW50ZXQgZm9ybWF0IgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXJndW1lbnQgZXJyb3I6IGJyaWdodCAlcyBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJwYXJhbWV0ZXJmZWpsOiBseXMgJXMgZXIgaWtrZSB1bmRlcnN0w7h0dGV0IgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjgKK21zZ2lkICJ0b28gbWFueSB0YWJzIgorbXNnc3RyICJmb3IgbWFuZ2UgaW5kcnlrIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODMKK21zZ2lkICJTZXQgdGhlIGF0dHJpYnV0ZXMgb2YgYSB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiQW5naXYgYXR0cmlidXR0ZXJuZSBmb3IgZW4gdGVybWluYWwuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NgorbXNnaWQgIiAtLXRlcm0gICAgICAgICAgPHRlcm1pbmFsX25hbWU+ICAgb3ZlcnJpZGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIgLS10ZXJtICAgICAgICAgIDx0ZXJtaW5hbG5hdm4+ICAgIG92ZXJza3JpdiBURVJNLW1pbGrDuHZhcmlhYmVsXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NworbXNnaWQgIiAtLXJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXQgdGVybWluYWwgdG8gcG93ZXItb24gc3RhdGVcbiIKK21zZ3N0ciAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxzdGlsIHRlcm1pbmFsIHRpbCBwb3dlci1vbi10aWxzdGFuZFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODgKK21zZ2lkICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5pdCBzdHJpbmcsIGFuZCB1c2UgZGVmYXVsdCBzZXR0aW5nc1xuIgorbXNnc3RyICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIHZpcyBpbml0LXN0cmVuZywgb2cgYnJ1ZyBzdGFuZGFyZGluc3RpbGxpbmdlclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODkKK21zZ2lkICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBkZWZhdWx0IHRlcm1pbmFsIHNldHRpbmdzXG4iCittc2dzdHIgIiAtLWRlZmF1bHQgICAgICAgICAgICAgICAgICAgICAgICAgYnJ1ZyBzdGFuZGFyZGluZHN0aWxsaW5nZXIgZm9yIHRlcm1pbmFsXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MAorbXNnaWQgIiAtLXN0b3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IHRlcm1pbmFsIHNldHRpbmdzIGFzIGRlZmF1bHRcbiIKK21zZ3N0ciAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW0gbnV2w6ZyZW5kZSB0ZXJtaW5hbGluZHN0aWxsaW5nZXIgc29tIHN0YW5kYXJkXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MQorbXNnaWQgIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAgZGlzcGxheSBjdXJzb3JcbiIKK21zZ3N0ciAiIC0tY3Vyc29yICAgICAgICBbb258b2ZmXSAgICAgICAgICB2aXMgbWFya8O4clxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTIKK21zZ2lkICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGtleWJvYXJkIHJlcGVhdFxuIgorbXNnc3RyICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHRhc3RhdHVyZ2VudGFnZWxzZVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTMKK21zZ2lkICIgLS1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdICAgICAgICAgIGN1cnNvciBrZXkgYXBwbGljYXRpb24gbW9kZVxuIgorbXNnc3RyICIgLS1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdICAgICAgICAgIHByb2dyYW10aWxzdGFuZCBmb3IgbWFya8O4cnRhc3RcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk0Cittc2dpZCAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBjb250aW51ZSBvbiBhIG5ldyBsaW5lIHdoZW4gYSBsaW5lIGlzIGZ1bGxcbiIKK21zZ3N0ciAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBmb3J0c8OmdCBww6UgZW4gbnkgbGluamUgbsOlciBsaW5qZW4gZXIgZnVsZFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTUKK21zZ2lkICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIHN3YXAgY29sb3JzIGZvciB0aGUgd2hvbGUgc2NyZWVuXG4iCittc2dzdHIgIiAtLWludmVyc2VzY3JlZW4gW29ufG9mZl0gICAgICAgICAgYnl0IGZhcnZlcm5lIG9tIGZvciBoZWxlIHNrw6ZybWVuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NgorbXNnaWQgIiAtLWZvcmVncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGZvcmVncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDxmYXJ2ZT4gICBhbmdpdiBmb3JncnVuZHNmYXJ2ZVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTcKK21zZ2lkICIgLS1iYWNrZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBiYWNrZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8ZmFydmU+ICAgYW5naXYgYmFnZ3J1bmRzZmFydmVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk4Cittc2dpZCAiIC0tdWxjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgdW5kZXJsaW5lZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiAtLXVsY29sb3IgICAgICAgW2JyaWdodF0gPGZhcnZlPiAgYW5naXYgZmFydmUgZm9yIHVuZGVyc3RyZWdldCB0ZWtzdFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTkKK21zZ2lkICIgLS1oYmNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCBib2xkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8ZmFydmU+ICBhbmdpdiBmYXJ2ZSBmb3IgZmVkIHRla3N0XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMAorbXNnaWQgIiAgICAgICAgICAgICAgICAgPGNvbG9yPjogYmxhY2sgYmx1ZSBjeWFuIGdyZWVuIGdyZXkgbWFnZW50YSByZWQgd2hpdGUgeWVsbG93XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgPGZhcnZlPjogc29ydCBibMOlIGN5YW4gZ3LDuG4gZ3LDpSBtYWdlbnRhIHLDuGQgaHZpZCBndWxcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAxCittc2dpZCAiIC0tYm9sZCAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBib2xkXG4iCittc2dzdHIgIiAtLWJvbGQgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgZmVkXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMgorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiAtLWhhbGYtYnJpZ2h0ICBbb258b2ZmXSAgICAgICAgICAgZMOmbXBcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAzCittc2dpZCAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlua1xuIgorbXNnc3RyICIgLS1ibGluayAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJsaW5rXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNAorbXNnaWQgIiAtLXVuZGVybGluZSAgICAgW29ufG9mZl0gICAgICAgICAgdW5kZXJsaW5lXG4iCittc2dzdHIgIiAtLXVuZGVybGluZSAgICAgW29ufG9mZl0gICAgICAgICAgdW5kZXJzdHJlZ1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDUKK21zZ2lkICIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgIHN3YXAgZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBjb2xvcnNcbiIKK21zZ3N0ciAiIC0tcmV2ZXJzZSAgICAgICBbb258b2ZmXSAgICAgICAgICBieXQgb20gcMOlIGZvcmdydW5kcy0gb2cgYmFnZ3J1bmRzZmFydmVyXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNgorbXNnaWQgIiAtLWNsZWFyICAgICAgICAgW2FsbHxyZXN0XSAgICAgICAgY2xlYXIgc2NyZWVuIGFuZCBzZXQgY3Vyc29yIHBvc2l0aW9uXG4iCittc2dzdHIgIiAtLWNsZWFyICAgICAgICAgW2FsbHxyZXN0XSAgICAgICAgcnlkIHNrw6ZybSBvZyBhbmdpdmUgbWFya8O4cnBvc2l0aW9uXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNworbXNnaWQgIiAtLXRhYnMgICAgICAgICAgWzxudW1iZXI+Li4uXSAgICAgc2V0IHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3Igc2hvdyB0aGVtXG4iCittc2dzdHIgIiAtLXRhYnMgICAgICAgICAgWzxhbnRhbD4gLi4uXSAgICBhbmdpdiBkaXNzZSB0YWJ1bGF0b3Itc3RvcHBvc2l0aW9uZXIsIGVsbGVyIHZpcyBkZW1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA4Cittc2dpZCAiIC0tY2xydGFicyAgICAgICBbPG51bWJlcj4uLi5dICAgICBjbGVhciB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIGFsbFxuIgorbXNnc3RyICIgLS1jbHJ0YWJzICAgICAgIFs8YW50YWw+IC4uLl0gICAgIHJ5ZCBkaXNzZSB0YWJ1bGF0b3Itc3RvcHBvc2l0aW9uZXIsIGVsbGVyIGFsbGVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA5Cittc2dpZCAiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICBzZXQgYSByZWd1bGFyIHRhYiBzdG9wIGludGVydmFsXG4iCittc2dzdHIgIiAtLXJlZ3RhYnMgICAgICAgWzEtMTYwXSAgICAgICAgICAgYW5naXYgZXQgcmVndWzDpnJ0IHRhYnVsYXRvci1zdG9waW50ZXJ2YWxcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEwCittc2dpZCAiIC0tYmxhbmsgICAgICAgICBbMC02MHxmb3JjZXxwb2tlXSBzZXQgdGltZSBvZiBpbmFjdGl2aXR5IGJlZm9yZSBzY3JlZW4gYmxhbmtzXG4iCittc2dzdHIgIiAtLWJsYW5rICAgICAgICAgWzAtNjB8Zm9yY2V8cG9rZV0gc8OmdCB0aWQgZm9yIGluYWt0aXZpdGV0IGbDuHIgdG9tbWUgc2vDpnJtZVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTEKK21zZ2lkICIgLS1kdW1wICAgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIHdyaXRlIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIgLS1kdW1wICAgICAgICAgIFs8bnVtbWVyPl0gICAgICAgIHNrcml2IHZjc2E8bnVtbWVyPi1rb25zb2xkdW1wIHRpbCBmaWxcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEyCittc2dpZCAiIC0tYXBwZW5kICAgICAgICBbPG51bWJlcj5dICAgICAgICBhcHBlbmQgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiAtLWFwcGVuZCAgICAgICAgWzxudW1tZXI+XSAgICAgICAgdGlsZsO4aiB2Y3NhPG51bW1lcj4ta29uc29sZHVtcCB0aWwgZmlsXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMworbXNnaWQgIiAtLWZpbGUgICAgICAgICAgPGZpbGVuYW1lPiAgICAgICAgbmFtZSBvZiB0aGUgZHVtcCBmaWxlXG4iCittc2dzdHIgIiAtLWZpbGUgICAgICAgICAgPGZpbG5hdm4+ICAgICAgICAgbmF2biBww6UgZHVtcGZpbGVuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNAorbXNnaWQgIiAtLW1zZyAgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgc2VuZCBrZXJuZWwgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLS1tc2cgICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHNlbmQga2VybmViZXNrZWRlciB0aWwga29uc29sbGVuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNQorbXNnaWQgIiAtLW1zZ2xldmVsICAgICAgMC04ICAgICAgICAgICAgICAga2VybmVsIGNvbnNvbGUgbG9nIGxldmVsXG4iCittc2dzdHIgIiAtLW1zZ2xldmVsICAgICAgMC04ICAgICAgICAgICAgICAgbG9nbml2ZWF1IGZvciBrZXJuZWtvbnNvbFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTYKK21zZ2lkICIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorbXNnc3RyICIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTcKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCB2ZXNhIHBvd2Vyc2F2aW5nIGZlYXR1cmVzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5naXYgc3Ryw7htYmVzcGFyZWxzZXNmdW5rdGlvbmVyIGZvciB2ZXNhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxOAorbXNnaWQgIiAtLXBvd2VyZG93biAgICAgWzAtNjBdICAgICAgICAgICAgc2V0IHZlc2EgcG93ZXJkb3duIGludGVydmFsIGluIG1pbnV0ZXNcbiIKK21zZ3N0ciAiIC0tcG93ZXJkb3duICAgICBbMC02MF0gICAgICAgICAgICBhbmdpdiBuZWRsdWtuaW5nc2ludGVydmFsIGZvciB2ZXNhIGkgbWludXR0ZXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE5Cittc2dpZCAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICBkdXJhdGlvbiBvZiB0aGUgYmVsbCBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICBrbG9ra2VucyBsw6ZuZ2RlIGkgbWlsbGlzZWt1bmRlclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjAKK21zZ2lkICIgLS1iZnJlcSAgICAgICAgIDxudW1iZXI+ICAgICAgICAgIGJlbGwgZnJlcXVlbmN5IGluIEhlcnR6XG4iCittc2dzdHIgIiAtLWJmcmVxICAgICAgICAgPG51bW1lcj4gICAgICAgICAga2xva2tlZnJla3ZlbnMgaSBoZXJ0elxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjEKK21zZ2lkICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIHNob3cgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIHZpcyB2ZXJzaW9uc2luZm9ybWF0aW9uIG9nIGFmc2x1dFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjIKK21zZ2lkICIgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlzIGRlbm5lIGhqw6ZscGV0ZWtzdCBvZyBhZnNsdXRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDMwCittc2dpZCAiZHVwbGljYXRlIHVzZSBvZiBhbiBvcHRpb24iCittc2dzdHIgImR1cGxpa2VyIGJydWcgYWYgZXQgdGlsdmFsZyIKKworIyBpZsO4bGdlIG1hbi1maWxlbiBnw7hyIGRlbiAidGhlIHNjcmVlbiIgYmxhbmssIGRldCBsYWRlciB0aWwgYXQgZGVuCisjIHN0eXJlciBzdHLDuG1zcGFyZXRpbHN0YW5kIHPDpSAnYmxhbmsgc2vDpnJtJyB2aWwgbm9rIHbDpnJlIHJpZ3RpZ3QgaSAKKyMgZGVuIGhlciBvZyBkZSBvbWtyaW5nc3TDpWVuZGUKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjczNAorbXNnaWQgImNhbm5vdCBmb3JjZSBibGFuayIKK21zZ3N0ciAia2FuIGlra2UgZnJlbXR2aW5nZSBibGFuayBza8Omcm0iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjczOQorbXNnaWQgImNhbm5vdCBmb3JjZSB1bmJsYW5rIgorbXNnc3RyICJrYW4gaWtrZSB0dmluZ2UgdWQgYWYgYmxhbmsgc2vDpnJtdGlsc3RhbmQiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0NQorbXNnaWQgImNhbm5vdCBnZXQgYmxhbmsgc3RhdHVzIgorbXNnc3RyICJrYW4gaWtrZSBpbmRoZW50ZSBzdGF0dXMgZm9yIGJsYW5rIHNrw6ZybSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzcxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbiBub3Qgb3BlbiBkdW1wIGZpbGUgJXMgZm9yIG91dHB1dCIKK21zZ3N0ciAia2FuIGlra2Ugw6VibmUgZHVtcGZpbGVuICVzIHRpbCBza3Jpdm5pbmciCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjgxMworIywgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCAlcyBkb2VzIG5vdCBzdXBwb3J0ICVzIgorbXNnc3RyICJ0ZXJtaW5hbCAlcyB1bmRlcnN0w7h0dGVyIGlra2UgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjk4OAorbXNnaWQgImNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlIgorbXNnc3RyICJrYW4gaWtrZSDDpm5kcmUgc3Ryw7htc3BhcmV0aWxzdGFuZCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTAwNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDE2Cittc2dpZCAia2xvZ2N0bCBlcnJvciIKK21zZ3N0ciAia2xvZ2N0bC1mZWpsIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDM3Cittc2dpZCAiJFRFUk0gaXMgbm90IGRlZmluZWQuIgorbXNnc3RyICIkVEVSTSBlciBpa2tlIGRlZmluZXJldC4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDQKK21zZ2lkICJ0ZXJtaW5mbyBkYXRhYmFzZSBjYW5ub3QgYmUgZm91bmQiCittc2dzdHIgInRlcm1pbmZvLWRhdGFiYXNlbiBibGV2IGlra2UgZnVuZGV0IgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIHRlcm1pbmFsIHR5cGUiCittc2dzdHIgIiVzOiB1a2VuZHQgdGVybWluYWx0eXBlIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDQ4Cittc2dpZCAidGVybWluYWwgaXMgaGFyZGNvcHkiCittc2dzdHIgInRlcm1pbmFsIGVyIGVuIHBhcGlydWRnYXZlIChoYXJkY29weSkiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHRvbyBtYW55IGlvdidzIgorbXNnc3RyICJpbnRlcm4gZmVqbDogZm9yIG1hbmdlIGlvdidlciIKKworIzogdGVybS11dGlscy90dHltc2cuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICJleGNlc3NpdmVseSBsb25nIGxpbmUgYXJnIgorbXNnc3RyICJ1dHJvbGlndCBsYW5nIGxpbmplcGFyYW1ldGVyIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVuIGZhaWxlZCIKK21zZ3N0ciAib3BlbiBtaXNseWtrZWRlcyIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9yazogJW0iCittc2dzdHIgImZvcms6ICVtIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZm9yayIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3JncmVuZSAoZm9yaykiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCQUQgRVJST1IsIG1lc3NhZ2UgaXMgZmFyIHRvbyBsb25nIgorbXNnc3RyICIlczogVUdZTERJRyBGRUpMLCBiZXNrZWQgZXIgYWx0IGZvciBsYW5nIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gfCA8bWVzc2FnZT5dXG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gWzxmaWw+IHwgPGJlc2tlZD5dXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg2Cittc2dpZCAiV3JpdGUgYSBtZXNzYWdlIHRvIGFsbCB1c2Vycy5cbiIKK21zZ3N0ciAiU2tyaXYgZW4gYmVza2VkIHRpbCBhbGxlIGJydWdlcmUuXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg5Cittc2dpZCAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIGRvIG5vdCBwcmludCBiYW5uZXIsIHdvcmtzIG9ubHkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIHZpcyBpa2tlIGJhbm5lciwgdmlya2VyIGt1biBmb3Igcm9vdFxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5MAorbXNnaWQgIiAtdCwgLS10aW1lb3V0IDx0aW1lb3V0PiB3cml0ZSB0aW1lb3V0IGluIHNlY29uZHNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWVvdXQgPHRpZHN1ZC4+IHNrcml2IHRpZHN1ZGzDuGIgaSBzZWt1bmRlclxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMzIKK21zZ2lkICItLW5vYmFubmVyIGlzIGF2YWlsYWJsZSBvbmx5IGZvciByb290IgorbXNnc3RyICItLW5vYmFubmVyIGVyIGt1biB0aWxnw6ZuZ2VsaWcgZm9yIHJvb3QiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEzNworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJ1Z3lsZGlnIHBhcmFtZXRlciBmb3IgdGlkc3VkbMO4YjogJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjI2OQorbXNnaWQgImNhbm5vdCBnZXQgcGFzc3dkIHVpZCIKK21zZ3N0ciAia2FuIGlra2UgaW5kaGVudGUgYWRnYW5nc2tvZGUtdWlkIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyNzQKK21zZ2lkICJjYW5ub3QgZ2V0IHR0eSBuYW1lIgorbXNnc3RyICJLYW4gaWtrZSBpbmRoZW50ZSB0dHktbmF2biIKKworIzogdGVybS11dGlscy93YWxsLmM6Mjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXNAJXMgKCVzKSAoJXMpOiIKK21zZ3N0ciAiUnVuZHNlbmR0IG1lZGRlbGVsc2UgZnJhICVzQCVzICglcykgKCVzKToiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjMyNworIywgYy1mb3JtYXQKK21zZ2lkICJ3aWxsIG5vdCByZWFkICVzIC0gdXNlIHN0ZGluLiIKK21zZ3N0ciAia2FuIGlra2UgbMOmc2UgJXMgLSBicnVnIHN0YW5kYXJkLWluZC4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1c2VyPiBbPHR0eW5hbWU+XVxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIDxicnVnZXI+IFs8dHR5bmF2bj5dXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo5MAorbXNnaWQgIlNlbmQgYSBtZXNzYWdlIHRvIGFub3RoZXIgdXNlci5cbiIKK21zZ3N0ciAiU2VuZCBlbiBiZXNrZWQgdGlsIGVuIGFuZGVuIGJydWdlci5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICJlZmZlY3RpdmUgZ2lkIGRvZXMgbm90IG1hdGNoIGdyb3VwIG9mICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiIKK21zZ3N0ciAiJXMgZXIgaWtrZSBsb2dnZXQgcMOlIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjA3Cittc2dpZCAiY2FuJ3QgZmluZCB5b3VyIHR0eSdzIG5hbWUiCittc2dzdHIgImthbiBpa2tlIGZpbmRlIGRpbiB0dHkncyBuYXZuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCIKK21zZ3N0ciAiJXMgaGFyIGRlYWt0aXZlcmV0IGJlc2tlZGVyIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGxvZ2dlZCBpbiBtb3JlIHRoYW4gb25jZTsgd3JpdGluZyB0byAlcyIKK21zZ3N0ciAiJXMgZXIgbG9nZ2V0IHDDpSBmbGVyZSBnYW5nZTsgc2tyaXZlciB0aWwgJXMiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMzgKK21zZ2lkICJjYXJlZnVscHV0YyBmYWlsZWQiCittc2dzdHIgImNhcmVmdWxwdXRjIG1pc2x5a2tlZGVzIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgKGFzICVzKSBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICJCZXNrZWQgZnJhICVzQCVzIChzb20gJXMpIHDDpSAlcyBrbG9ra2VuICVzIC4uLiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIkJlc2tlZCBmcmEgJXNAJXMgcMOlICVzIGtsb2trZW4gJXMgLi4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzMxCittc2dpZCAieW91IGhhdmUgd3JpdGUgcGVybWlzc2lvbiB0dXJuZWQgb2ZmIgorbXNnc3RyICJkdSBoYXIgc2zDpWV0IHNrcml2ZWFkZ2FuZyBmcmEiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiBvbiAlcyIKK21zZ3N0ciAiJXMgZXIgaWtrZSBsb2dnZXQgaW5kIHDDpSAlcyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQgb24gJXMiCittc2dzdHIgIiVzIGhhciBkZWFrdGl2ZXJldCBiZXNrZWRlciBww6UgJXMiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM0Cittc2dpZCAiRmlsdGVyIG91dCByZXZlcnNlIGxpbmUgZmVlZHMuXG4iCittc2dzdHIgIkZpbHRyZXIgb212ZW5kdGUgbGluamVpbmRnYW5nZS5cbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAgZG8gbm90IG91dHB1dCBiYWNrc3BhY2VzXG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAgcGVybWl0IGZvcndhcmQgaGFsZiBsaW5lIGZlZWRzXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAgcGFzcyB1bmtub3duIGNvbnRyb2wgc2VxdWVuY2VzXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgY29udmVydCBzcGFjZXMgdG8gdGFic1xuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIGNvbnZlcnQgdGFicyB0byBzcGFjZXNcbiIKKyIgLWwsIC0tbGluZXMgTlVNICAgICAgICBidWZmZXIgYXQgbGVhc3QgTlVNIGxpbmVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLUgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiVGlsdmFsZzpcbiIKKyIgLWIsIC0tbm8tYmFja3NwYWNlcyAgICB2aXMgaWtrZSBzbGV0IHRpbGJhZ2UgKGJhY2tzcGFjZXMpXG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAgdGlsbGFkIGZyZW1hZCBoYWx2bGluamVpbmRnYW5nZVxuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIHZpZGVyZXNlbmQgdWtlbmR0ZSBrb250cm9sc2VrdmVuc2VyXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAga29udmVydGVyIG1lbGxlbXJ1bSB0aWwgdGFidWxhdG9yZXJcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICBrb252ZXJ0ZXIgdGFidWxhdG9yZXIgdGlsIG1lbGxlbXJ1bVxuIgorIiAtbCwgLS1saW5lcyBBTlRBTCAgICAgIG1lbGxlbWxhZ3IgbWluZHN0IEFOVEFMIGxpbmplclxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIHZpcyB2ZXJzaW9uc2luZm9ybWF0aW9uIG9nIGFmc2x1dFxuIgorIiAtSCwgLS1oZWxwICAgICAgICAgICAgIHZpcyBkZW5uZSBoasOmbHBldGVrc3Qgb2cgYWZzbHV0XG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTQ4IHRleHQtdXRpbHMvY29scm0uYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXMgcmVhZHMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dFxuIgorIlxuIgorbXNnc3RyICIiCisiJXMgbMOmc2VyIGZyYSBzdGFuZGFyZGluZCBvZyBza3JpdmVyIHRpbCBzdGFuZGFyZHVkXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MjEyCittc2dpZCAiYmFkIC1sIGFyZ3VtZW50IgorbXNnc3RyICJ1Z3lsZGlndCAtbCBwYXJhbWV0ZXIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbid0IGJhY2sgdXAgJXMuIgorbXNnc3RyICJhZHZhcnNlbDoga2FuIGlra2Ugc2lra2VyaGVkc2tvcGllcmUgJXMuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjMzNworbXNnaWQgInBhc3QgZmlyc3QgbGluZSIKK21zZ3N0ciAiZm9yYmkgZsO4cnN0ZSBsaW5qZSIKKworIzogdGV4dC11dGlscy9jb2wuYzozMzcKK21zZ2lkICItLSBsaW5lIGFscmVhZHkgZmx1c2hlZCIKK21zZ3N0ciAiLS0gbGluamUgYWxsZXJlZGUgc2tyZXZldCB1ZCIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4MSB0ZXh0LXV0aWxzL2NvbHVtbi5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gWzxmaWw+XSAuLi5dXG4iCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODQKK21zZ2lkICJGaWx0ZXIgbnJvZmYgb3V0cHV0IGZvciBDUlQgcHJldmlld2luZy5cbiIKK21zZ3N0ciAiRmlsdHJlciBucm9mZi12aXNuaW5nIGZvciBDUlQtZm9yaMOlbmRzdmlzbmluZy5cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NworbXNnaWQgIiAtLCAgLS1uby11bmRlcmxpbmluZyAgICBzdXBwcmVzcyBhbGwgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIHVuZGVydHJ5ayBhbCB1bmRlcnN0cmVnbmluZ1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg4Cittc2dpZCAiIC0yLCAtLWhhbGYtbGluZXMgICAgICAgIHByaW50IGFsbCBoYWxmLWxpbmVzXG4iCittc2dzdHIgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICB2aXMgYWxsZSBoYWx2ZSBsaW5qZXJcbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW3N0YXJ0Y29sIFtlbmRjb2xdXVxuIgorbXNnc3RyICIiCisiXG4iCisiQnJ1ZzpcbiIKKyIgJXMgW3N0YXJ0a29sIFtzbHV0a29sXV1cbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjY0Cittc2dpZCAiRmlsdGVyIG91dCB0aGUgc3BlY2lmaWVkIGNvbHVtbnMuXG4iCittc2dzdHIgIkZpbHRyZXIgZGUgc3BlY2lmaWNlcmVkZSBrb2xvbm5lciB1ZC5cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NQorbXNnaWQgImZpcnN0IGFyZ3VtZW50IgorbXNnc3RyICJmw7hyc3RlIHBhcmFtZXRlciIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NworbXNnaWQgInNlY29uZCBhcmd1bWVudCIKK21zZ3N0ciAiYW5kZW4gcGFyYW1ldGVyIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyMAorbXNnaWQgIkNvbHVtbmF0ZSBsaXN0cy5cbiIKK21zZ3N0ciAiT3Bzw6Z0IGxpc3RlciBpIGtvbG9ubmVyLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyMworbXNnaWQgIiAtYywgLS1jb2x1bW5zIDx3aWR0aD4gICAgd2lkdGggb2Ygb3V0cHV0IGluIG51bWJlciBvZiBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAtYywgLS1jb2x1bW5zIDxicmVkZGU+ICAgYnJlZGRlIHDDpSB1ZGRhdGEgaSBhbnRhbCB0ZWduXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI0Cittc2dpZCAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICBjcmVhdGUgYSB0YWJsZVxuIgorbXNnc3RyICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgIG9wcmV0IGVuIHRhYmVsXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI1Cittc2dpZCAiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiBwb3NzaWJsZSB0YWJsZSBkZWxpbWl0ZXJzXG4iCittc2dzdHIgIiAtcywgLS1zZXBhcmF0b3IgPHN0cmVuZz4gbXVsaWdlIHRhYmVsYWZncsOmbnNlcmVcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjYKK21zZ2lkICIiCisiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0cmluZz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnMgc2VwYXJhdG9yIGZvciB0YWJsZSBvdXRwdXQ7IGRlZmF1bHQgaXMgdHdvIHNwYWNlc1xuIgorbXNnc3RyICIiCisiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0cmluZz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGtvbG9ubmVhZHNraWxsZXIgZm9yIHRhYmVsbGVyOyBzdGFuZGFyZCBlciB0byBtZWxsZW1ydW1cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjgKK21zZ2lkICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgIGZpbGwgcm93cyBiZWZvcmUgY29sdW1uc1xuIgorbXNnc3RyICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgIHVkZnlsZCByw6Zra2VyIGbDuHIga29sb25uZXJcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxODIKK21zZ2lkICJpbnZhbGlkIGNvbHVtbnMgYXJndW1lbnQiCittc2dzdHIgInVneWxkaWcga29sb25uZXBhcmFtZXRlciIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlZCBpcyB0b28gbG9uZywgb3V0cHV0IHdpbGwgYmUgdHJ1bmNhdGVkIgorbXNnc3RyICJsaW5qZSAlZCBlciBmb3IgbGFuZywgdWRkYXRhIHZpbCBibGl2ZSBhZmtvcnRldCIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU1IHRleHQtdXRpbHMvbW9yZS5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPi4uLlxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIFs8ZmlsPl0gLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1OAorbXNnaWQgIkRpc3BsYXkgZmlsZSBjb250ZW50cyBpbiBoZXhhZGVjaW1hbCwgZGVjaW1hbCwgb2N0YWwsIG9yIGFzY2lpLlxuIgorbXNnc3RyICJWaXMgZmlsaW5kaG9sZCBpIGhleGFkZWNpbWFsLCBkZWNpbWFsLCBvY3RhbCBlbGxlciBhc2NpaS5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYxCittc2dpZCAiIC1iLCAtLW9uZS1ieXRlLW9jdGFsICAgICAgb25lLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBlbi1ieXRlIG9rdGFsIHZpc25pbmdcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYyCittc2dpZCAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgb25lLWJ5dGUgY2hhcmFjdGVyIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgZW4tYnl0ZSB0ZWdudmlzbmluZ1xuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjMKK21zZ2lkICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1DLCAtLWNhbm9uaWNhbCAgICAgICAgICAga2Fub25pc2sgaGV4K0FTQ0lJIHZpc25pbmdcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY0Cittc2dpZCAiIC1kLCAtLXR3by1ieXRlcy1kZWNpbWFsICAgdHdvLWJ5dGUgZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiAtZCwgLS10d28tYnl0ZXMtZGVjaW1hbCAgIHRvLWJ5dGUgZGVjaW1hbCB2aXNuaW5nXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NQorbXNnaWQgIiAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIHR3by1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1vLCAtLXR3by1ieXRlcy1vY3RhbCAgICAgdG8tYnl0ZSBva3RhbCB2aXNuaW5nXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NgorbXNnaWQgIiAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgdG8tYnl0ZSBoZXhhZGVjaW1hbCB2aXNuaW5nXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NworbXNnaWQgIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHJldCBjb2xvciBmb3JtYXR0aW5nIHNwZWNpZmllcnNcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08dGlsc3RhbmQ+XSAgZm9ydG9sayBhbnZpc25pbmdlciBmb3IgZmFydmVmb3JtYXRlcmluZ1xuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzAKK21zZ2lkICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIgorbXNnc3RyICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXRlciBzdHJlbmdlIHNvbSBza2FsIGJydWdlcyB0aWwgdmlzbmluZyBhZiBkYXRhXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MQorbXNnaWQgIiAtZiwgLS1mb3JtYXQtZmlsZSA8ZmlsZT4gIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorbXNnc3RyICIgLWYsIC0tZm9ybWF0LWZpbGUgPGZpbD4gICBmaWwgc29tIGluZGVob2xkZXIgZm9ybWF0c3RyZW5nZVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzIKK21zZ2lkICIgLW4sIC0tbGVuZ3RoIDxsZW5ndGg+ICAgICBpbnRlcnByZXQgb25seSBsZW5ndGggYnl0ZXMgb2YgaW5wdXRcbiIKK21zZ3N0ciAiIC1uLCAtLWxlbmd0aCA8bMOmbmdkZT4gICAgIGZvcnRvbGsga3VuIGzDpm5nZGVieXRlIGZyYSBpbmRkYXRhXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MworbXNnaWQgIiAtcywgLS1za2lwIDxvZmZzZXQ+ICAgICAgIHNraXAgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZ1xuIgorbXNnc3RyICIgLXMsIC0tc2tpcCA8Zm9yc2t5ZG5pbmc+ICB1ZGVsYWQgZm9yc2t5ZG5pbmdzYnl0ZSBmcmEgYmVneW5kZWxzZW5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTc0Cittc2dpZCAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgb3V0cHV0IGlkZW50aWNhbCBsaW5lc1xuIgorbXNnc3RyICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICB2aXMgaWRlbnRpc2tlIGxpbmplclxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtZGlzcGxheS5jOjM2NQorbXNnaWQgImFsbCBpbnB1dCBmaWxlIGFyZ3VtZW50cyBmYWlsZWQiCittc2dzdHIgImFsbGUgaW5kZGF0YWZpbHBhcmFtZXRyZSBmZWpsZWRlIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgYnl0ZSBjb3VudCBmb3IgY29udmVyc2lvbiBjaGFyYWN0ZXIgJXMiCittc2dzdHIgInVneWxkaWd0IGJ5dGVhbnRhbCB0aWwga29udmVydGVyaW5nc3RlZ24gJXMiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUlcyByZXF1aXJlcyBhIHByZWNpc2lvbiBvciBhIGJ5dGUgY291bnQiCittc2dzdHIgIiUlcyBrcsOmdmVyIGVuIHByw6ZjaXNpb24gZWxsZXIgZXQgYnl0ZWFudGFsIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgZm9ybWF0IHslc30iCittc2dzdHIgInVneWxkaWd0IGZvcm1hdCB7JXN9IgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo3MAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29udmVyc2lvbiBjaGFyYWN0ZXIgJSUlcyIKK21zZ3N0ciAidWd5bGRpZyBrb252ZXJ0ZXJpbmdzdGVnbiAlJSVzIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo0MzYKK21zZ2lkICJieXRlIGNvdW50IHdpdGggbXVsdGlwbGUgY29udmVyc2lvbiBjaGFyYWN0ZXJzIgorbXNnc3RyICJieXRlYW50YWwgbWVkIGZsZXJlIGtvbnZlcnRlcmluZ3N0ZWduIgorCisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozMworbXNnaWQgIlJlYWQgb25lIGxpbmUuXG4iCittc2dzdHIgIkzDpnMgZW4gbGluamUuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIyOAorbXNnaWQgIkEgZmlsZSBwZXJ1c2FsIGZpbHRlciBmb3IgQ1JUIHZpZXdpbmcuXG4iCittc2dzdHIgIkV0IGZpbGdlbm5lbWzDpnNuaW5nc2ZpbHRlciBmb3IgQ1JULXZpc25pbmcuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMQorbXNnaWQgIiAtZCAgICAgICAgICBkaXNwbGF5IGhlbHAgaW5zdGVhZCBvZiByaW5naW5nIGJlbGxcbiIKK21zZ3N0ciAiIC1kICAgICAgICAgIHZpcyBkZW5uZSBoasOmbHBldGVrc3QgaSBzdGVkZXQgZm9yIHJpbmdlbmRlIGtsb2trZVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzIKK21zZ2lkICIgLWYgICAgICAgICAgY291bnQgbG9naWNhbCByYXRoZXIgdGhhbiBzY3JlZW4gbGluZXNcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICB0w6ZsIGxvZ2lzayBpIHN0ZWRldCBmb3Igc2vDpnJtbGluamVyXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMworbXNnaWQgIiAtbCAgICAgICAgICBzdXBwcmVzcyBwYXVzZSBhZnRlciBmb3JtIGZlZWRcbiIKK21zZ3N0ciAiIC1sICAgICAgICAgIHVuZGVydHJ5ayBwYXVzZSBlZnRlciBzaWRlc2tpZnRcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM0Cittc2dpZCAiIC1jICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGRpc3BsYXkgdGV4dCBhbmQgY2xlYW4gbGluZSBlbmRzXG4iCittc2dzdHIgIiAtYyAgICAgICAgICBydWwgaWtrZSwgdmlzIHRla3N0IG9nIHJ5ZCBsaW5qZWVuZGVsc2VyXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNQorbXNnaWQgIiAtcCAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBjbGVhbiBzY3JlZW4gYW5kIGRpc3BsYXkgdGV4dFxuIgorbXNnc3RyICIgIHAgICAgICAgICAgcnVsIGlra2UsIHJ5ZCBza8Omcm0gb2cgdmlzIHRla3N0XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNgorbXNnaWQgIiAtcyAgICAgICAgICBzcXVlZXplIG11bHRpcGxlIGJsYW5rIGxpbmVzIGludG8gb25lXG4iCittc2dzdHIgIiAtcyAgICAgICAgICBrbGVtIGZsZXJlIHRvbW1lIGxpbmplciBzYW1tZW4gdGlsIGVuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNworbXNnaWQgIiAtdSAgICAgICAgICBzdXBwcmVzcyB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIgLXUgICAgICAgICAgdW5kdHJ5ayB1bmRlcnN0cmVnbmluZ1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzgKK21zZ2lkICIgLTxudW1iZXI+ICAgdGhlIG51bWJlciBvZiBsaW5lcyBwZXIgc2NyZWVuZnVsXG4iCittc2dzdHIgIiAtPGFudGFsPiAgICAgYW50YWxsZXQgYWYgbGluamVyIHBlciBmdWxkIHNrw6ZybVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzkKK21zZ2lkICIgKzxudW1iZXI+ICAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIGxpbmUgbnVtYmVyXG4iCittc2dzdHIgIiArPG51bW1lcj4gICB2aXMgZmlsIGJlZ3luZGVuZGUgZnJhIGxpbmplbnVtbWVyXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MAorbXNnaWQgIiArLzxzdHJpbmc+ICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gc2VhcmNoIHN0cmluZyBtYXRjaFxuIgorbXNnc3RyICIgKy88c3RyZW5nPiAgdmlzIGZpbCBiZWd5bmRlbmRlIGZyYSBzw7hnZXN0cmVuZ3NtYXRjaFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDEKK21zZ2lkICIgLVYgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAtViAgICAgICAgICB2aXMgdmVyc2lvbnNpbmZvcm1hdGlvbiBvZyBhZnNsdXRcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIC0lcyIKK21zZ3N0ciAidWtlbmR0IHRpbHZhbGcgLSVzIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKiAlczogZGlyZWN0b3J5ICoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqICVzOiBtYXBwZSAqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKioqKioqKiAlczogTm90IGEgdGV4dCBmaWxlICoqKioqKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKioqKioqKiAlczogSWtrZSBlbiB0ZWtzdGZpbCAqKioqKioqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1VzZSBxIG9yIFEgdG8gcXVpdF0iCittc2dzdHIgIltCcnVnIHEgZWxsZXIgUSBmb3IgYXQgYWZzbHV0dGVdIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1Nb3JlLS0iCittc2dzdHIgIi0tTWVyZS0tIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiKE5leHQgZmlsZTogJXMpIgorbXNnc3RyICIoTsOmc3RlIGZpbDogJXMpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzIHNwYWNlIHRvIGNvbnRpbnVlLCAncScgdG8gcXVpdC5dIgorbXNnc3RyICJbVHJ5ayBtZWxsZW1ydW0gZm9yIGF0IGZvcnRzw6Z0dGUsIMK7ccKrIGZvciBhdCBhZnNsdXR0ZS5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmJhY2sgJWQgcGFnZSIKK21zZ2lkX3BsdXJhbCAiLi4uYmFjayAlZCBwYWdlcyIKK21zZ3N0clswXSAiLi4uYmFrICVkIHNpZGUiCittc2dzdHJbMV0gIi4uLmJhayAlZCBzaWRlciIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTIxMAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5za2lwcGluZyAlZCBsaW5lIgorbXNnaWRfcGx1cmFsICIuLi5za2lwcGluZyAlZCBsaW5lcyIKK21zZ3N0clswXSAiLi4uc3ByaW5nZXIgJWQgbGluamUgb3ZlciIKK21zZ3N0clsxXSAiLi4uc3ByaW5nZXIgJWQgbGluamVyIG92ZXIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNDgKK21zZ2lkICIiCisiXG4iCisiKioqQmFjayoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqVGlsYmFnZSoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjYzCittc2dpZCAiTm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICJJbnRldCB0aWRsaWdlcmUgcmVndWzDpnJ0IHVkdHJ5ayIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI5MworbXNnaWQgIiIKKyJcbiIKKyJNb3N0IGNvbW1hbmRzIG9wdGlvbmFsbHkgcHJlY2VkZWQgYnkgaW50ZWdlciBhcmd1bWVudCBrLiAgRGVmYXVsdHMgaW4gYnJhY2tldHMuXG4iCisiU3RhciAoKikgaW5kaWNhdGVzIGFyZ3VtZW50IGJlY29tZXMgbmV3IGRlZmF1bHQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJEZSBmbGVzdGUga29tbWFuZG9lciBrYW4gZWZ0ZXJmw7hsZ2VzIGFmIGV0IGhlbHRhbCBrLiBTdGFuZGFyZHbDpnJkaWVyIGkga2xhbW1lci5cbiIKKyJTdGplcm5lICgqKSBiZXR5ZGVyIGF0IHBhcmFtZXRlcmVuIGJsaXZlciBkZW4gbnllIHN0YW5kYXJkdsOmcmRpLlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzAwCittc2dpZCAiIgorIjxzcGFjZT4gICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbMV0qXG4iCisiZCBvciBjdHJsLUQgICAgICAgICAgICAgU2Nyb2xsIGsgbGluZXMgW2N1cnJlbnQgc2Nyb2xsIHNpemUsIGluaXRpYWxseSAxMV0qXG4iCisicSBvciBRIG9yIDxpbnRlcnJ1cHQ+ICAgRXhpdCBmcm9tIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBsaW5lcyBvZiB0ZXh0IFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyJiIG9yIGN0cmwtQiAgICAgICAgICAgICBTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBHbyB0byBwbGFjZSB3aGVyZSBwcmV2aW91cyBzZWFyY2ggc3RhcnRlZFxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBsaW5lIG51bWJlclxuIgorIi88cmVndWxhciBleHByZXNzaW9uPiAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgcmVndWxhciBleHByZXNzaW9uIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByLmUgWzFdXG4iCisiITxjbWQ+IG9yIDohPGNtZD4gICAgICAgRXhlY3V0ZSA8Y21kPiBpbiBhIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgdXAgL3Vzci9iaW4vdmkgYXQgY3VycmVudCBsaW5lXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkcmF3IHNjcmVlblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBuZXh0IGZpbGUgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIHByZXZpb3VzIGZpbGUgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXJcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBSZXBlYXQgcHJldmlvdXMgY29tbWFuZFxuIgorbXNnc3RyICIiCisiPG1lbGxlbXJ1bT4gICAgICAgICAgICAgVmlzIGRlIG7DpnN0ZSBrIGxpbmplciB0ZWtzdCBbYWt0dWVsbGUgc2vDpnJtc3TDuHJyZWxzZV1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICBWaXMgZGUgbsOmc3RlIGsgbGluamVyIHRla3N0IFtha3R1ZWxsZSBza8Omcm1zdMO4cnJlbHNlXSpcbiIKKyI8cmV0dXI+ICAgICAgICAgICAgICAgICBWaXMgZGUgbsOmc3RlIGsgbGluamVyIHRla3N0IFsxXSpcbiIKKyJkIGVsbGVyIGN0cmwtRCAgICAgICAgICBSdWwgayBsaW5qZXIgW2FrdHVlbGxlIHJ1bGxlc3TDuHJyZWxzZSwgc3RhbmRhcmQgMTFdKlxuIgorInEgZWxsZXIgUSBlbGxlciA8aW50ZXJydXB0PiAgIEFmc2x1dCBtb3JlXG4iCisicyAgICAgICAgICAgICAgICAgICAgICAgSG9wIGsgbGluamVyIGZyZW0gaSB0ZWtzdGVuIFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIEhvcCBrIHNrw6ZybWZ1bGRlIGZyZW0gaSB0ZWtzdGVuIFsxXVxuIgorImIgZWxsZXIgY3RybC1CICAgICAgICAgIEhvcCBrIHNrw6ZybWZ1bGRlIHRpbGJhZ2UgaSB0ZWtzdGVuIFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgIEfDpSB0aWwgZGV0IHN0ZWQsIGh2b3Igc2lkc3RlIHPDuGduaW5nIHN0YXJ0ZWRlXG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAgVmlzIGFrdHVlbGxlIGxpbmplbnVtbWVyXG4iCisiLzxyZWd1bMOmcnQgdWR0cnlrPiAgICAgIFPDuGcgZWZ0ZXIgayd0ZSB0aWxmw6ZsZGUgYWYgcmFndWzDpnJ0IHVkdHJ5ayBbMV1cbiIKKyJuICAgICAgICAgICAgICAgICAgICAgICBTw7hnIGVmdGVyIGsndGUgdGlsZsOmbGRlIGFmIHNlbmVzdGUgcmVndWzDpnJlIHVkdHJ5ayBbMV1cbiIKKyIhPGttZD4gZWxsZXIgOiE8a21kPiAgICBVZGbDuHIgPGttZD4gaSBlbiB1bmRlcnNrYWxcbiIKKyJ2ICAgICAgICAgICAgICAgICAgICAgICBTdGFydCAvdXNyL2Jpbi92aSBww6UgYWt0dWVsbGUgbGluamVcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICBHZW5vcHRlZ24gc2vDpnJtXG4iCisiOm4gICAgICAgICAgICAgICAgICAgICAgR8OlIHRpbCBrJ3RlIG7DpnN0ZSBmaWwgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgR8OlIHRpbCBrJ3RlIGZvcnJpZ2UgZmlsIFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgICAgIFZpcyBha3R1ZWxsZSBmaWxuYXZuIG9nIGxpbmplbnVtbWVyXG4iCisiLiAgICAgICAgICAgICAgICAgICAgICAgR2VudGFnIHNlbmVzdGUga29tbWFuZG9cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTM3MyB0ZXh0LXV0aWxzL21vcmUuYzoxMzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyAnaCcgZm9yIGluc3RydWN0aW9ucy5dIgorbXNnc3RyICJbVHJ5ayDCu2jCqyBmb3IgaW5zdHJ1a3Rpb25lci5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBsaW5lICVkIgorbXNnc3RyICLCuyVzwqsgbGluamUgJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiW05vdCBhIGZpbGVdIGxpbmUgJWQiCittc2dzdHIgIltJa2tlIGVuIGZpbF0gbGluamUgJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0OTQKK21zZ2lkICIgIE92ZXJmbG93XG4iCittc2dzdHIgIiAgT3ZlcmzDuGJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU0MworbXNnaWQgIi4uLnNraXBwaW5nXG4iCittc2dzdHIgIi4uLnNwcmluZ2VyIG92ZXJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU3NworbXNnaWQgIiIKKyJcbiIKKyJQYXR0ZXJuIG5vdCBmb3VuZFxuIgorbXNnc3RyICIiCisiXG4iCisiTcO4bnN0ZXIgaWtrZSBmdW5kZXRcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU4MyB0ZXh0LXV0aWxzL3BnLmM6MTAyNyB0ZXh0LXV0aWxzL3BnLmM6MTE3MworbXNnaWQgIlBhdHRlcm4gbm90IGZvdW5kIgorbXNnc3RyICJNw7huc3RlciBpa2tlIGZ1bmRldCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTYyOQorbXNnaWQgImV4ZWMgZmFpbGVkXG4iCittc2dzdHIgInByb2dyYW1rw7hyc2VsIG1pc2x5a2tlZGVzXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NDMKK21zZ2lkICJjYW4ndCBmb3JrXG4iCittc2dzdHIgImt1bm5lIGlra2UgZm9yZ3JlbmUgKGZvcmspXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NzcKK21zZ2lkICIiCisiXG4iCisiLi4uU2tpcHBpbmcgIgorbXNnc3RyICIiCisiXG4iCisiLi4uU3ByaW5nZXIgb3ZlciAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2ODEKK21zZ2lkICIuLi5Ta2lwcGluZyB0byBmaWxlICIKK21zZ3N0ciAiLi4uU3ByaW5nZXIgdGlsIGZpbGVuICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY4MworbXNnaWQgIi4uLlNraXBwaW5nIGJhY2sgdG8gZmlsZSAiCittc2dzdHIgIi4uLlNwcmluZ2VyIHRpbGJhZ2UgdGlsIGZpbGVuICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTk3MworbXNnaWQgIkxpbmUgdG9vIGxvbmciCittc2dzdHIgIkZvciBsYW5nIGxpbmplIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMDEwCittc2dpZCAiTm8gcHJldmlvdXMgY29tbWFuZCB0byBzdWJzdGl0dXRlIGZvciIKK21zZ3N0ciAiSW5nZW4gdGlkbGlnZXJlIGtvbW1hbmRvIGF0IGVyc3RhdHRlIG1lZCIKKworIzogdGV4dC11dGlscy9wZy5jOjE0NAorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBoICAgICAgICAgICAgICAgICAgICAgICB0aGlzIHNjcmVlblxuIgorIiAgcSBvciBRICAgICAgICAgICAgICAgICAgcXVpdCBwcm9ncmFtXG4iCisiICA8bmV3bGluZT4gICAgICAgICAgICAgICBuZXh0IHBhZ2VcbiIKKyIgIGYgICAgICAgICAgICAgICAgICAgICAgIHNraXAgYSBwYWdlIGZvcndhcmRcbiIKKyIgIGQgb3IgXkQgICAgICAgICAgICAgICAgIG5leHQgaGFsZnBhZ2VcbiIKKyIgIGwgICAgICAgICAgICAgICAgICAgICAgIG5leHQgbGluZVxuIgorIiAgJCAgICAgICAgICAgICAgICAgICAgICAgbGFzdCBwYWdlXG4iCisiICAvcmVnZXgvICAgICAgICAgICAgICAgICBzZWFyY2ggZm9yd2FyZCBmb3IgcmVnZXhcbiIKKyIgID9yZWdleD8gb3IgXnJlZ2V4XiAgICAgIHNlYXJjaCBiYWNrd2FyZCBmb3IgcmVnZXhcbiIKKyIgIC4gb3IgXkwgICAgICAgICAgICAgICAgIHJlZHJhdyBzY3JlZW5cbiIKKyIgIHcgb3IgeiAgICAgICAgICAgICAgICAgIHNldCBwYWdlIHNpemUgYW5kIGdvIHRvIG5leHQgcGFnZVxuIgorIiAgcyBmaWxlbmFtZSAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IGZpbGUgdG8gZmlsZW5hbWVcbiIKKyIgICFjb21tYW5kICAgICAgICAgICAgICAgIHNoZWxsIGVzY2FwZVxuIgorIiAgcCAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gcHJldmlvdXMgZmlsZVxuIgorIiAgbiAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gbmV4dCBmaWxlXG4iCisiXG4iCisiTWFueSBjb21tYW5kcyBhY2NlcHQgcHJlY2VkaW5nIG51bWJlcnMsIGZvciBleGFtcGxlOlxuIgorIisxPG5ld2xpbmU+IChuZXh0IHBhZ2UpOyAtMTxuZXdsaW5lPiAocHJldmlvdXMgcGFnZSk7IDE8bmV3bGluZT4gKGZpcnN0IHBhZ2UpLlxuIgorIlxuIgorIlNlZSBwZygxKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBoICAgICAgICAgICAgICAgICAgICAgICBkZW5uZSBza8Omcm1cbiIKKyIgIHEgZWxsZXIgUSAgICAgICAgICAgICAgIGFmc2x1dCBwcm9ncmFtXG4iCisiICA8bnkgbGluamU+ICAgICAgICAgICAgICBuw6ZzdGUgc2lkZVxuIgorIiAgZiAgICAgICAgICAgICAgICAgICAgICAgc3ByaW5nIGVuIHNpZGUgZnJlbVxuIgorIiAgZCBlbGxlciBeRCAgICAgICAgICAgICAgbsOmc3RlIGhhbHZlIHNpZGVcbiIKKyIgIGwgICAgICAgICAgICAgICAgICAgICAgIG7DpnN0ZSBsaW5qZVxuIgorIiAgJCAgICAgICAgICAgICAgICAgICAgICAgZm9ycmlnZSBzaWRlXG4iCisiICAvcmVnZXgvICAgICAgICAgICAgICAgICBzw7hnIGZyZW1hZCBlZnRlciByZWd1bMOmcmUgdWR0cnlrXG4iCisiICA/cmVnZXg/IGVsbGVyIF5yZWdleF4gICBzw7hnIGJhZ2zDpm5zIGVmdGVyIHJlZ3Vsw6ZyZSB1ZHRyeWtcbiIKKyIgIC4gZWxsZXIgXkwgICAgICAgICAgICAgIGdlbnRlZ24gc2vDpnJtXG4iCisiICB3IGVsbGVyIHogICAgICAgICAgICAgICBhbmdpdiBzaWRlc3TDuHJyZWxzZSBvZyBnw6UgdGlsIG7DpnN0ZSBzaWRlXG4iCisiICBzIGZpbG5hdm4gICAgICAgICAgICAgICBnZW0gYWt0dWVsIGZpbCB0aWwgZmlsbmF2blxuIgorIiAgIWtvbW1hbmRvICAgICAgICAgICAgICAgc2thbC11bmR2aWdldGVnblxuIgorIiAgcCAgICAgICAgICAgICAgICAgICAgICAgZ8OlIHRpbCBmb3JyaWdlIGZpbFxuIgorIiAgbiAgICAgICAgICAgICAgICAgICAgICAgZ8OlIHRpbCBuw6ZzdGUgZmlsXG4iCisiXG4iCisiTWFuZ2Uga29tbWFuZG9lciBhY2NlcHRlcmVyIGZvcmVnw6VlbmRlIHRhbCwgZm9yIGVrc2VtcGVsOlxuIgorIisxPG55IGxpbmplPiAobsOmc3RlIHNpZGUpOyAtMTxueSBsaW5qZT4gKGZvcnJpZ2Ugc2lkZSk7IDE8bnkgbGluamU+XG4iCisiKGbDuHJzdGUgc2lkZSkuXG4iCisiXG4iCisiU2UgcGcoMSkgZm9yIHlkZXJsaWdlcmUgaW5mb3JtYXRpb24uXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIFsrbGluamVdIFsrL23DuG5zdGVyL10gW2ZpbGVyXVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjI2Cittc2dpZCAiQnJvd3NlIHBhZ2V3aXNlIHRocm91Z2ggdGV4dCBmaWxlcy5cbiIKK21zZ3N0ciAiR2VubmVtc2Ugc2lkZXZpcyBpZ2VubmVtIHRla3N0ZmlsZXIuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMjkKK21zZ2lkICIgLW51bWJlciAgICAgIGxpbmVzIHBlciBwYWdlXG4iCittc2dzdHIgIiAtbnVtYmVyICAgICAgbGluamVyIHBlciBzaWRlXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzAKK21zZ2lkICIgLWMgICAgICAgICAgIGNsZWFyIHNjcmVlbiBiZWZvcmUgZGlzcGxheWluZ1xuIgorbXNnc3RyICIgLWMgICAgICAgICAgIHJ5ZCBza3LDpm0gZsO4ciB2aXNuaW5nXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzEKK21zZ2lkICIgLWUgICAgICAgICAgIGRvIG5vdCBwYXVzZSBhdCBlbmQgb2YgYSBmaWxlXG4iCittc2dzdHIgIiAtZSAgICAgICAgICAgbGF2IGlra2UgZW4gcGF1c2UgaSBzbHV0bmluZ2VuIGFmIGVuIGZpbFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMyCittc2dpZCAiIC1mICAgICAgICAgICBkbyBub3Qgc3BsaXQgbG9uZyBsaW5lc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgIG9wZGVsIGlra2UgbGFuZ2UgbGluamVyXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzMKK21zZ2lkICIgLW4gICAgICAgICAgIHRlcm1pbmF0ZSBjb21tYW5kIHdpdGggbmV3IGxpbmVcbiIKK21zZ3N0ciAiIC1uICAgICAgICAgICB0ZXJtaW5lciBrb21tYW5kbyBtZWQgbnkgbGluamVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNAorbXNnaWQgIiAtcCA8cHJvbXB0PiAgc3BlY2lmeSBwcm9tcHRcbiIKK21zZ3N0ciAiIC1wIDxwcm9tcHQ+ICBhbmdpdiBwcm9tcHRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNQorbXNnaWQgIiAtciAgICAgICAgICAgZGlzYWxsb3cgc2hlbGwgZXNjYXBlXG4iCittc2dzdHIgIiAtciAgICAgICAgICAgZGVha3RpdmVyIHNoZWxsIGVzY2FwZSAoc2thbHVuZHZpZ2Vsc2UpXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzYKK21zZ2lkICIgLXMgICAgICAgICAgIHByaW50IG1lc3NhZ2VzIHRvIHN0ZG91dFxuIgorbXNnc3RyICIgLXMgICAgICAgICAgIHVkc2tyaXYgYmVza2VkZXIgdGlsIHN0YW5kYXJkdWRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNworbXNnaWQgIiArbnVtYmVyICAgICAgc3RhcnQgYXQgdGhlIGdpdmVuIGxpbmVcbiIKK21zZ3N0ciAiICtudW1iZXIgICAgICBzdGFydCBww6UgZGVuIGFuZ2l2bmUgbGluamVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzOAorbXNnaWQgIiArL3BhdHRlcm4vICAgc3RhcnQgYXQgdGhlIGxpbmUgY29udGFpbmluZyBwYXR0ZXJuXG4iCittc2dzdHIgIiArL3BhdHRlcm4vICAgc3RhcnQgcMOlIGxpbmplbiBkZXIgaW5kZWhvbGRlciBtw7huc3RlcmV0XG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICVzIgorbXNnc3RyICJ0aWx2YWxnZXQga3LDpnZlciBlbiBwYXJhbWV0ZXIgLS0gJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBvcHRpb24gLS0gJXMiCittc2dzdHIgInVneWxkaWd0IHRpbHZhbGcgLS0gJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNTkKK21zZ2lkICIuLi5za2lwcGluZyBmb3J3YXJkXG4iCittc2dzdHIgIi4uLmhvcHBlciBmcmVtYWRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM2MQorbXNnaWQgIi4uLnNraXBwaW5nIGJhY2t3YXJkXG4iCittc2dzdHIgIi4uLmhvcHBlciBiYWd1ZFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzc3Cittc2dpZCAiTm8gbmV4dCBmaWxlIgorbXNnc3RyICJJbmdlbiBuw6ZzdGUgZmlsIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzgxCittc2dpZCAiTm8gcHJldmlvdXMgZmlsZSIKK21zZ3N0ciAiSW5nZW4gZm9ycmlnZSBmaWwiCisKKyMga2FuIGZpbGVuICVzIGJydWdlcyBoZXI/CisjOiB0ZXh0LXV0aWxzL3BnLmM6ODgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3IgZnJvbSAlcyBmaWxlIgorbXNnc3RyICJMw6ZzZWZlamwgZnJhICVzLWZpbCIKKworIzogdGV4dC11dGlscy9wZy5jOjg4NgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIEVPRiBpbiAlcyBmaWxlIgorbXNnc3RyICJVdmVudGV0IGZpbGFmc2x1dG5pbmcgaSBmaWxlbiAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjg4OAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGVycm9yIGluICVzIGZpbGUiCittc2dzdHIgIlVrZW5kdCBmZWpsIGkgZmlsZW4gJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NDEKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiS2FuIGlra2Ugb3ByZXR0ZSBtaWRsZXJ0aWRpZyBmaWwiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NTAgdGV4dC11dGlscy9wZy5jOjExMTQgdGV4dC11dGlscy9wZy5jOjExNDAKK21zZ2lkICJSRSBlcnJvcjogIgorbXNnc3RyICJSRSBmZWpsOiAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMDk3Cittc2dpZCAiKEVPRikiCittc2dzdHIgIihGaWxhZnNsdXRuaW5nKSIKKworIzogdGV4dC11dGlscy9wZy5jOjExMjIgdGV4dC11dGlscy9wZy5jOjExNDgKK21zZ2lkICJObyByZW1lbWJlcmVkIHNlYXJjaCBzdHJpbmciCittc2dzdHIgIkluZ2VuIGdhbW1lbCBzw7hnZXN0cmVuZyIKKworIzogdGV4dC11dGlscy9wZy5jOjEyMDMKK21zZ2lkICJjYW5ub3Qgb3BlbiAiCittc2dzdHIgImt1bm5lIGlra2Ugw6VibmUgIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI1NQorbXNnaWQgInNhdmVkIgorbXNnc3RyICJnZW10ZSIKKworIzogdGV4dC11dGlscy9wZy5jOjEzNDUKK21zZ2lkICI6ICFjb21tYW5kIG5vdCBhbGxvd2VkIGluIHJmbGFnIG1vZGUuXG4iCittc2dzdHIgIjogIWtvbW1hbmRvIGlra2UgdGlsbGFkdCBpIHJmbGFnLXRpbHN0YW5kLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM4MAorbXNnaWQgImZvcmsoKSBmYWlsZWQsIHRyeSBhZ2FpbiBsYXRlclxuIgorbXNnc3RyICJmb3JrKCkgbWlzbHlra2VkZXMsIHByw7h2IHNlbmVyZVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTQ2OAorbXNnaWQgIihOZXh0IGZpbGU6ICIKK21zZ3N0ciAiKE7DpnN0ZSBmaWw6ICIKKworIzogdGV4dC11dGlscy9wZy5jOjE1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXMgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiIKK21zZ3N0ciAiJXMgJXMgT3BoYXZzcmV0IDIwMDAtMjAwMSBHdW5uYXIgUml0dGVyLiBBbGxlIHJldHRpZ2hlZGVyIGZvcmJlaG9sZGVzLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU4NyB0ZXh0LXV0aWxzL3BnLmM6MTY2MAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMgcGVyIHBhZ2UiCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgYW50YWxsZXQgYWYgbGluamVyIHBlciBzaWRlIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorbXNnc3RyICJCcnVnOiAlcyBbdGlsdmFsZ10gW2ZpbCAuLi5dXG4iCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6ODAKK21zZ2lkICJSZXZlcnNlIGxpbmVzIGNoYXJhY3Rlcndpc2UuXG4iCittc2dzdHIgIlZlbmQgbGluamVyIHBlciB0ZWduLlxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgImluY29tcGxldGUgd3JpdGUgdG8gXCIlc1wiICh3cml0dGVuICV6ZCwgZXhwZWN0ZWQgJXpkKVxuIgorbXNnc3RyICJ1ZnVsZHN0w6ZuZGlnIHNrcml2bmluZyB0aWwgwrslc8KrIChza3JldmV0ICV6ZCwgZm9ydmVudGVkZSAlemQpXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaCAobGltaXQgb2YgaW5vdGlmeSB3YXRjaGVzIHdhcyByZWFjaGVkKS4iCittc2dzdHIgIiVzOiBrYW4gaWtrZSB0aWxmw7hqZSBpbm90aWZ5LW92ZXJ2w6VnbmluZyAoYmVncsOmbnNuaW5nZW4gcMOlIGlub3RpZnktb3ZlcnbDpWdlcmUgYmxldiBuw6VldCkuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uXSA8ZmlsZT5cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSA8ZmlsPlxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjAwCittc2dpZCAiRm9sbG93IHRoZSBncm93dGggb2YgYSBsb2cgZmlsZS5cbiIKK21zZ3N0ciAiRsO4bGcgdsOma3N0ZW4gcMOlIGVuIGxvZ2ZpbC5cbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwMworbXNnaWQgIiAtbiwgLS1saW5lcyA8bnVtYmVyPiAgIG91dHB1dCB0aGUgbGFzdCA8bnVtYmVyPiBsaW5lc1xuIgorbXNnc3RyICIgLW4sIC0tbGluZXMgPGFudGFsPiAgICB2aXMgZGV0IHNpZHN0ZSA8YW50YWw+IGxpbmplclxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjA0Cittc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgICAgc2FtZSBhcyAnLW4gPG51bWJlcj4nXG4iCittc2dzdHIgIiAtPGFudGFsPiAgICAgICAgICAgICAgIHN2YXJlciB0aWwgwrstbiA8YW50YWw+XG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMTAKK21zZ2lkICJXYXJuaW5nOiB1c2Ugb2YgJ3RhaWxmJyBpcyBkZXByZWNhdGVkLCB1c2UgJ3RhaWwgLWYnIGluc3RlYWQuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIyMyB0ZXh0LXV0aWxzL3RhaWxmLmM6MjYzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBhbnRhbGxldCBhZiBsaW5qZXIiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyNzUKK21zZ2lkICJubyBpbnB1dCBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAiaW5nZW4gaW5kZGF0YWZpbCBhbmdpdmV0IgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGEgZmlsZSIKK21zZ3N0ciAiJXM6IGVyIGlra2UgZW4gbWFwcGUiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSBbPGZpbD4gLi4uXVxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTM5Cittc2dpZCAiRG8gdW5kZXJsaW5pbmcuXG4iCittc2dzdHIgIlVkZsO4ciB1bmRlcnN0cmVnbmluZy5cbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0MgorbXNnaWQgIiAtdCwgLVQsIC0tdGVybWluYWwgVEVSTUlOQUwgIG92ZXJyaWRlIHRoZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiAtdCwgLVQsIC0tdGVybWluYWwgVEVSTUlOQUwgIG92ZXJza3JpdiBURVJNLW1pbGrDuHZhcmlhYmxlblxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQzCittc2dpZCAiIC1pLCAtLWluZGljYXRlZCAgICAgICAgICAgICAgdW5kZXJsaW5pbmcgaXMgaW5kaWNhdGVkIHZpYSBhIHNlcGFyYXRlIGxpbmVcbiIKK21zZ3N0ciAiIC1pLCAtLWluZGljYXRlZCAgICAgICAgICAgICAgdW5kZXJzdHJlZ25pbmcgaW5kaWtlcmVzIG1lZCBlbiBzZXBhcmF0IGxpbmplXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMDQKK21zZ2lkICJ0cm91YmxlIHJlYWRpbmcgdGVybWluZm8iCittc2dzdHIgInByb2JsZW1lciB2ZWQgbMOmc25pbmcgYWYgdGVybWluZm8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgYCVzJyBpcyBub3Qga25vd24sIGRlZmF1bHRpbmcgdG8gYGR1bWInIgorbXNnc3RyICJ0ZXJtaW5hbCDCuyVzwqsgZXIgaWtrZSBrZW5kdCwgYnJ1Z2VyIHN0YW5kYXJkIMK7ZHVtYsKrIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZXNjYXBlIHNlcXVlbmNlIGluIGlucHV0OiAlbywgJW8iCittc2dzdHIgInVrZW5kdCB1bmR2aWdlbHNlc3Nla3ZlbnMgaSBpbmRkYXRhOiAlbywgJW8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzo2MjQKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAiRm9yIGxhbmcgaW5kZGF0YWxpbmplLiIKKworIywgZnV6enkKKyN+fCBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gY2hhbmdlIHRoZSBIYXJkd2FyZSBDbG9jay4iCisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gdXNlIHRoZSBIYXJkd2FyZSBDbG9jay4iCisjfiBtc2dzdHIgIkJla2xhZ2VyLCBrdW4gc3VwZXJicnVnZXJlbiBrYW4gw6ZuZHJlIG1hc2tpbnVyZXQuIgorCisjfiBtc2dpZCAiRGV2aWNlIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUuIgorI34gbXNnc3RyICJFbmhlZCDDpWJlbiBpIHNrcml2ZWJlc2t5dHRldCB0aWxzdGFuZC4iCisKKyN+IG1zZ2lkICJjYW5ub3QgYWNjZXNzIGZpbGUgJXMiCisjfiBtc2dzdHIgImthbiBpa2tlIMOlYm5lIGZpbGVuICVzIgorCisjfiBtc2dpZCAiIC12ICBiZSB2ZXJib3NlXG4iCisjfiBtc2dzdHIgIiAtdiAgdsOmciB1ZGR5YmVuZGVcbiIKKworI34gbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIHNwZWNpYWwgZGV2aWNlIgorI34gbXNnc3RyICIlcyBlciBpa2tlIGVuIGJsb2tlbmhlZCIKKworI34gbXNnaWQgIiIKKyN+ICJWZXJ5IGxvbmcgKCV6dSBieXRlcykgZmlsZW5hbWUgYCVzJyBmb3VuZC5cbiIKKyN+ICIgUGxlYXNlIGluY3JlYXNlIE1BWF9JTlBVVF9OQU1FTEVOIGluIG1rY3JhbWZzLmMgYW5kIHJlY29tcGlsZS4gIEV4aXRpbmcuIgorI34gbXNnc3RyICIiCisjfiAiRmFuZHQgbWVnZXQgbGFuZ3QgKCV6dSBieXRlKSBmaWxuYXZuIMK7JXPCqy5cbiIKKyN+ICIgRm9yw7hnIE1BWF9JTlBVVF9OQU1FTEVOIGkgbWtjcmFtZnMuYyBvZyBnZW5vdmVyc8OmdC4gQWZzbHV0dGVyLiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWMgfCAtbCBmaWxlbmFtZV0gWy1uWFhdIFstaVhYXSAvZGV2L25hbWUgW2Jsb2Nrc10iCisjfiBtc2dzdHIgIkJydWc6ICVzIFstYyB8IC1sIGZpbG5hdm5dIFstblhYXSBbLWlYWF0gL2Rldi9uYXZuIFtibG9ra2VdIgorCisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgIiVzOiBrdW5uZSBpa2tlIGFsbG9rZXJlIG1lbGxlbWxhZ3JlIGZvciBzdXBlcmJsb2siCisKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlcnMgZm9yIG1hcHMiCisjfiBtc2dzdHIgIiVzOiBrdW5uZSBpa2tlIGFsbG9rZXJlIG1lbGxlbWxhZ3JlIHRpbCBvdmVyc2lndGVyIgorCisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKKyN+IG1zZ3N0ciAiJXM6IGt1bm5lIGlra2UgYWxsb2tlcmUgbWVsbGVtbGFnZXIgdGlsIGlub2RlciIKKworI34gbXNnaWQgIiVzOiBiYWQgaW5vZGUgc2l6ZSIKKyN+IG1zZ3N0ciAiJXM6IHVneWxkaWcgaW5vZGUtc3TDuHJyZWxzZSIKKworI34gbXNnaWQgIiVzOiBkZXZpY2UgaXMgbWlzYWxpZ25lZCIKKyN+IG1zZ3N0ciAiJXM6IGVuaGVkIGVyIGZlamxqdXN0ZXJldCIKKworI34gbXNnaWQgIndpbGwgbm90IHRyeSB0byBtYWtlIGZpbGVzeXN0ZW0gb24gJyVzJyIKKyN+IG1zZ3N0ciAidmlsIGlra2UgZm9yc8O4Z2UgYXQgb3ByZXR0ZSBmaWxzeXN0ZW0gcMOlIMK7JXPCqyIKKworI34gbXNnaWQgIk9TLzIgaGlkZGVuIEM6IGRyaXZlIgorI34gbXNnc3RyICJPUy8yIHNranVsdCBDLWRyZXYiCisKKyN+IG1zZ2lkICJ0eXBlOiAlZCIKKyN+IG1zZ3N0ciAidHlwZTogJWQiCisKKyN+IG1zZ2lkICJkaXNrOiAlLipzIgorI34gbXNnc3RyICJkaXNrOiAlLipzIgorCisjfiBtc2dpZCAibGFiZWw6ICUuKnMiCisjfiBtc2dzdHIgImV0aWtldDogJS4qcyIKKworI34gbXNnaWQgImZsYWdzOiAlcyIKKyN+IG1zZ3N0ciAiZmxhZzogJXMiCisKKyN+IG1zZ2lkICJieXRlcy9zZWN0b3I6ICVsZCIKKyN+IG1zZ3N0ciAiYnl0ZS9zZWt0b3I6ICVsZCIKKworI34gbXNnaWQgInNlY3RvcnMvdHJhY2s6ICVsZCIKKyN+IG1zZ3N0ciAic2VrdG9yZXIvc3BvcjogJWxkIgorCisjfiBtc2dpZCAidHJhY2tzL2N5bGluZGVyOiAlbGQiCisjfiBtc2dzdHIgInNwb3IvY3lsaW5kZXI6ICVsZCIKKworI34gbXNnaWQgInNlY3RvcnMvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAic2VrdG9yZXIvY3lsaW5kZXI6ICVsZCIKKworI34gbXNnaWQgImN5bGluZGVyczogJWxkIgorI34gbXNnc3RyICJjeWxpbmRyZTogJWxkIgorCisjfiBtc2dpZCAicnBtOiAlZCIKKyN+IG1zZ3N0ciAib21kci4gcGVyIG1pbnV0OiAlZCIKKworI34gbXNnaWQgImludGVybGVhdmU6ICVkIgorI34gbXNnc3RyICJpbnRlcmxlYXZlOiAlZCIKKworI34gbXNnaWQgInRyYWNrc2tldzogJWQiCisjfiBtc2dzdHIgInNwb3JhZnZpZ2Vsc2U6ICVkIgorCisjfiBtc2dpZCAiY3lsaW5kZXJza2V3OiAlZCIKKyN+IG1zZ3N0ciAiY3lsaW5kZXJhZnZpZ2Vsc2U6ICVkIgorCisjfiBtc2dpZCAiaGVhZHN3aXRjaDogJWxkIChtaWxsaXNlY29uZHMpIgorI34gbXNnc3RyICJob3ZlZHNraWZ0OiAlbGQgKG1pbGxpc2VrdW5kZXIpIgorCisjfiBtc2dpZCAidHJhY2stdG8tdHJhY2sgc2VlazogJWxkIChtaWxsaXNlY29uZHMpIgorI34gbXNnc3RyICJzcG9yLXRpbC1zcG9yIHPDuGduaW5nOiAlbGQgKG1pbGxpc2VrdW5kZXIpIgorCisjfiBtc2dpZCAiWW91IGNhbm5vdCBjaGFuZ2UgYSBwYXJ0aXRpb24gaW50byBhbiBleHRlbmRlZCBvbmUgb3IgdmljZSB2ZXJzYS4gRGVsZXRlIGl0IGZpcnN0LiIKKyN+IG1zZ3N0ciAiRHUga2FuIGlra2Ugw6ZuZHJlIGVuIHBhcnRpdGlvbiBtZWxsZW0gYXQgdsOmcmUgdWR2aWRldCBlbGxlciBpa2tlLXVkdmlkZXQuIFNsZXQgZGVuIGbDuHJzdC4iCisKKyN+IG1zZ2lkICIiCisjfiAiTGFiZWwgZ2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnNcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWxsdSBjeWxpbmRlcnMsICVkIHBoeXNpY2FsIGN5bGluZGVyc1xuIgorI34gIiAgICAgICAgICAgICAgICAlZCBleHRyYSBzZWN0cy9jeWwsIGludGVybGVhdmUgJWQ6MVxuIgorI34gbXNnc3RyICIiCisjfiAiTGFiZWxnZW9tZXRyaTogJWQgaG92ZWRlciwgJWxsdSBzZWt0b3JlclxuIgorI34gIiAgICAgICAgICAgICAgICVsbHUgY3lsaW5kcmUsICVkIGZ5c2lza2UgY3lsaW5kcmVcbiIKKyN+ICIgICAgICAgICAgICAgICAlZCBla3N0cmEgc2VrdC9jeWwsIGludGVybGVhdmUgJWQ6MVxuIgorCisjfiBtc2dpZCAiIgorI34gIkxhYmVsIGdlb21ldHJ5OiAlZCBycG0sICVkIGFsdGVybmF0ZSBhbmQgJWQgcGh5c2ljYWwgY3lsaW5kZXJzLFxuIgorI34gIiAgICAgICAgICAgICAgICAlZCBleHRyYSBzZWN0cy9jeWwsIGludGVybGVhdmUgJWQ6MSIKKyN+IG1zZ3N0ciAiIgorI34gIkV0aWtldGdlb21ldHJpOiAlZCBycG0sICVkIGFsdGVybmF0aXZlIG9nICVkIGZ5c2lza2UgY3lsaW5kZXJlLFxuIgorI34gIiAgICAgICAgICAgICAgICAlZCBla3N0cmEgc2VrdC9jeWwsIGludGVybGVhdmUgJWQ6MSIKKworI34gbXNnaWQgIjxub25lPiIKKyN+IG1zZ3N0ciAiPGluZ2VuPiIKKworI34gbXNnaWQgImdldHRpbWVvZmRheSBmYWlsZWQiCisjfiBtc2dzdHIgImdldHRpbWVvZmRheSAoYWZsw6ZzbmluZyBhZiB1cikgbWlzbHlra2VkZXMiCisKKyN+IG1zZ2lkICJzeXNpbmZvIGZhaWxlZCIKKyN+IG1zZ3N0ciAic3lzaW5mbyBtaXNseWtrZWRlcyIKKworI34gbXNnaWQgInVzYWdlOiBsYXN0IFstI10gWy1mIGZpbGVdIFstdCB0dHldIFstaCBob3N0bmFtZV0gW3VzZXIgLi4uXVxuIgorI34gbXNnc3RyICJicnVnOiBsYXN0IFstI10gWy1mIGZpbF0gWy10IHR0eV0gWy1oIHbDpnJ0XSBbYnJ1Z2VyIC4uLl1cbiIKKworI34gbXNnaWQgIiVzOiBtbWFwIGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IG1tYXAgbWlzbHlra2VkZXMiCisKKyN+IG1zZ2lkICIgIHN0aWxsIGxvZ2dlZCBpbiIKKyN+IG1zZ3N0ciAiICBzdGFkaWcgbG9nZ2V0IHDDpSIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJ3dG1wIGJlZ2lucyAlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gInd0bXAgc3RhcnRlciAlcyIKKworI34gbXNnaWQgImdldGhvc3RuYW1lIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZ2V0aG9zdG5hbWUgbWlzbHlra2VkZXMiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiaW50ZXJydXB0ZWQgJTEwLjEwcyAlNS41cyBcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gImFmYnJ1ZHQgJTEwLjEwcyAlNS41cyBcbiIKKworI34gbXNnaWQgImZhaWxlZCB0byBzZXQgUEFUSCIKKyN+IG1zZ3N0ciAia3VubmUgaWtrZSBhbmdpdmUgU1RJIgorCisjfiBtc2dpZCAiJWQiCisjfiBtc2dzdHIgIiVkIgorCisjIGV2dC4gImkgbGluamUgIgorI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIgorI34gbXNnc3RyICIlczogZm9ydG9sa25pbmdzZmVqbCBww6UgbGluamUgJWQiCisKKyN+IG1zZ2lkICJ1c2Ugb2YgJ2tpbGwgLS1waWQnIG9wdGlvbiBhcyBjb21tYW5kIG5hbWUgaXMgZGVwcmVjYXRlZCIKKyN+IG1zZ3N0ciAiYnJ1ZyBhZiB0aWx2YWxnZXQgwrtraWxsIC0tcGlkwqsgc29tIGtvbW1hbmRvbmF2biBlciBmb3LDpmxkZXQiCisKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGdldCBkZXZpY2UgcGF0aCIKKyN+IG1zZ3N0ciAiJXM6IGt1bm5lIGlra2UgZmluZGUgZW5oZWRzc3RpIgorCisjfiBtc2dpZCAiJXM6IHVua25vd24gZGV2aWNlIG5hbWUiCisjfiBtc2dzdHIgIiVzOiB1a2VuZHQgZW5oZWRzbmF2biIKKworI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRtIG5hbWUiCisjfiBtc2dzdHIgIiVzOiBrdW5uZSBpa2tlIGZpbmRlIGRtLW5hdm4iCisKKyN+IG1zZ2lkICJ0aGUgc29ydCBjb2x1bW4gaGFzIHRvIGJlIGFtb25nIHRoZSBvdXRwdXQgY29sdW1ucyIKKyN+IG1zZ3N0ciAic29ydGVyaW5nc2tvbG9ubmVuIHNrYWwgdsOmcmUgYmxhbmR0IHJlc3VsdGF0a29sb25uZXJuZSIKKworI34gbXNnaWQgIiIKKyN+ICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBwcm9jZXNzIGlkXG4iCisjfiAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorI34gIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGRvbid0IHRydW5jYXRlIHRleHQgaW4gY29sdW1uc1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHByb2Nlcy1pZFxuIgorI34gIiAtbywgLS1vdXRwdXQgPGxpc3RlPiAgIGRlZmluZXIgaHZpbGtlIHVkZGF0YWtvbG9ubmVyIGRlciBza2FsIGJydWdlc1xuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIHVkc2tyaXYgaWtrZSBvdmVyc2tyaWZ0ZXJcbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAgICBicnVnIGRldCByw6UgdWRkYXRhZm9ybWF0XG4iCisjfiAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZm9ya29ydCBpa2tlIHRla3N0IGkga29sb25uZXJcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICB2aXMgZGVubmUgaGrDpmxwZXRla3N0IG9nIGFmc2x1dFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIHZpcyB2ZXJzaW9uc2luZm9ybWF0aW9uIG9nIGFmc2x1dFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtcCwgLS1waWQgPHBhdGg+ICAgICAgICBwYXRoIHRvIHBpZCBmaWxlXG4iCisjfiAiIC1zLCAtLXNvY2tldCA8cGF0aD4gICAgIHBhdGggdG8gc29ja2V0XG4iCisjfiAiIC1ULCAtLXRpbWVvdXQgPHNlYz4gICAgIHNwZWNpZnkgaW5hY3Rpdml0eSB0aW1lb3V0XG4iCisjfiAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGtpbGwgcnVubmluZyBkYWVtb25cbiIKKyN+ICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdCByYW5kb20tYmFzZWQgZ2VuZXJhdGlvblxuIgorI34gIiAtdCwgLS10aW1lICAgICAgICAgICAgICB0ZXN0IHRpbWUtYmFzZWQgZ2VuZXJhdGlvblxuIgorI34gIiAtbiwgLS11dWlkcyA8bnVtPiAgICAgICByZXF1ZXN0IG51bWJlciBvZiB1dWlkc1xuIgorI34gIiAtUCwgLS1uby1waWQgICAgICAgICAgICBkbyBub3QgY3JlYXRlIHBpZCBmaWxlXG4iCisjfiAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIGRvIG5vdCBkYWVtb25pemUgdXNpbmcgZG91YmxlLWZvcmtcbiIKKyN+ICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iCisjfiAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHJ1biBpbiBkZWJ1Z2dpbmcgbW9kZVxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0dXJuIG9uIHF1aWV0IG1vZGVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtcCwgLS1waWQgPHN0aT4gICAgICAgICBzdGkgdGlsIHBpZC1maWxcbiIKKyN+ICIgLXMsIC0tc29ja2V0IDxzdGk+ICAgICAgc3RpIHRpbCBzb2trZWxcbiIKKyN+ICIgLVQsIC0tdGltZW91dCA8c2VrPiAgICAgc3BlY2lmaWNlciB0aWRzdWRsw7hiIGZvciBpbmFrdGl2aXRldFxuIgorI34gIiAtaywgLS1raWxsICAgICAgICAgICAgICBkcsOmYiBrw7hyZW5kZSBkw6Ztb25cbiIKKyN+ICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdCB2aWxrw6VybGlnIGJhc2VyZXQgb3ByZXR0ZWxzZVxuIgorI34gIiAtdCwgLS10aW1lICAgICAgICAgICAgICB0ZXN0IHRpZHNiYXNlcmV0IG9wcmV0dGVsc2VcbiIKKyN+ICIgLW4sIC0tdXVpZHMgPGFudGFsPiAgICAgYW5tb2Qgb20gYW50YWxsZXQgYWYgdXVpZCdlclxuIgorI34gIiAtUCwgLS1uby1waWQgICAgICAgICAgICBvcHJldCBpa2tlIHBpZC1maWxcbiIKKyN+ICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZMOmbW9uaXNlciBpa2tlIG1lZCBicnVnIGFmIGRvYmJlbHQtZm9yZ3JlbmluZ1xuIgorI34gIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBvcHJldCBpa2tlIGx5dHRlbmRlIHNva2tlbFxuIgorI34gIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBrw7hyIGkgZmVqbHPDuGduaW5nc3RpbHN0YW5kXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHTDpm5kIHN0aWxsZSB0aWxzdGFuZFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICB2aXMgdmVyc2lvbnNpbmZvcm1hdGlvbiBvZyBhZnNsdXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgdmlzIGRlbm5lIGhqw6ZscGV0ZWtzdCBvZyBhZnNsdXRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJTY2hlZHVsaW5nIHBvbGljaWVzOlxuIgorI34gIiAgLWIgfCAtLWJhdGNoICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorI34gIiAgLWYgfCAtLWZpZm8gICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9GSUZPXG4iCisjfiAiICAtaSB8IC0taWRsZSAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKKyN+ICIgIC1vIHwgLS1vdGhlciAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIKKyN+ICIgIC1yIHwgLS1yciAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQbGFubMOmZ25pbmdzcG9saXRpa2tlcjpcbiIKKyN+ICIgIC1iIHwgLS1iYXRjaCAgICAgICAgIGFuZ2l2IHBvbGl0aWsgdGlsIFNDSEVEX0JBVENIXG4iCisjfiAiICAtZiB8IC0tZmlmbyAgICAgICAgICBhbmdpdiBwb2xpdGlrIHRpbCBTQ0hFRF9GSUZPXG4iCisjfiAiICAtaSB8IC0taWRsZSAgICAgICAgICBhbmdpdiBwb2xpdGlrIHRpbCBTQ0hFRF9JRExFXG4iCisjfiAiICAtbyB8IC0tb3RoZXIgICAgICAgICBhbmdpdiBwb2xpdGlrIHRpbCBTQ0hFRF9PVEhFUlxuIgorI34gIiAgLXIgfCAtLXJyICAgICAgICAgICAgYW5naXYgcG9saXRpayB0aWwgU0NIRURfUlIgKGRlZmF1bHQpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgIC1hIHwgLS1hbGwtdGFza3MgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscFxuIgorI34gIiAgLW0gfCAtLW1heCAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCisjfiAiICAtcCB8IC0tcGlkICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorI34gIiAgLXYgfCAtLXZlcmJvc2UgICAgICAgZGlzcGxheSBzdGF0dXMgaW5mb3JtYXRpb25cbiIKKyN+ICIgIC1WIHwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJUaWx2YWxnOlxuIgorI34gIiAgLWEgfCAtLWFsbC10YXNrcyAgICAgb3BlcmVyZXIgcMOlIGFsbGUgb3BnYXZlciAodHLDpWRlKSBmb3IgZW4gZ2l2ZW4gcGlkXG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgICB2aXMgZGVubmUgaGrDpmxwZXRla3N0XG4iCisjfiAiICAtbSB8IC0tbWF4ICAgICAgICAgICB2aXMgbWluZHN0ZSBvZyBzdMO4cnN0ZSBneWxkaWdlIHByaW9yaXRldGVyXG4iCisjfiAiICAtcCB8IC0tcGlkICAgICAgICAgICBhcmJlamQgcMOlIGVrc2lzdGVyZW5kZSBhbmdpdm5lIHBpZFxuIgorI34gIiAgLXYgfCAtLXZlcmJvc2UgICAgICAgdmlzIHN0YXR1c2luZm9ybWF0aW9uXG4iCisjfiAiICAtViB8IC0tdmVyc2lvbiAgICAgICB2aXMgdmVyc2lvbnNpbmZvcm1hdGlvblxuIgorI34gIlxuIgorCisjfiBtc2dpZCAidW5rbm93biBzY2hlZHVsaW5nIHBvbGljeSIKKyN+IG1zZ3N0ciAidWtlbmR0IHBsYW5sw6ZnbmluZ3Nwb2xpdGlrIgorCisjfiBtc2dpZCAiIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKKyN+ICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKKyN+ICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgYWxpZ25lZCBsZW5ndGggYW5kIG9mZnNldFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1vLCAtLW9mZnNldCA8YW50PiAgZm9yc2t5ZG5pbmcgaSBieXRlIGF0IGZqZXJuZSBmcmFcbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxhbnQ+ICBsw6ZuZ2RlbiBhZiBieXRlIGRlciBza2FsIGZqZXJuZXMgZnJhIGZvcnNreWRuaW5nZW5cbiIKKyN+ICIgLXAsIC0tc3RlcCA8YW50YWw+ICBzdMO4cnJlbHNlIHDDpSBmamVybmVkZSBpdGVyYXRpb25lciBpbmRlbiBmb3IgZm9yc2t5ZG5pbmdlblxuIgorI34gIiAtcywgLS1zZWN1cmUgICAgICAgIHVkZsO4ciBzaWtrZXIgZmplcm5lbHNlXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgdWRza3JpdiB0aWxwYXNzZXQgbMOmbmdkZSBvZyBmb3Jza3lkbmluZ1xuIgorCisjfiBtc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLW1hbnVhbGVqZWN0Ly1pIG9wdGlvbiIKKyN+IG1zZ3N0ciAidWd5bGRpZyBwYXJhbWV0ZXIgZm9yIHRpbHZhbGdldCAtLW1hbnVhbGVqZWN0Ly1pIgorCisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gY2hhbmdlIHRoZSBTeXN0ZW0gQ2xvY2suIgorI34gbXNnc3RyICJCZWtsYWdlciwga3VuIHN1cGVyYnJ1Z2VyZW4ga2FuIMOmbmRyZSBzeXN0ZW11cmV0LiIKKworI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIGNoYW5nZSB0aGUgSGFyZHdhcmUgQ2xvY2sgZXBvY2ggaW4gdGhlIGtlcm5lbC4iCisjfiBtc2dzdHIgIkJla2xhZ2VyLCBrdW4gc3VwZXJicnVnZXJlbiBrYW4gw6ZuZHJlIG1hc2tpbnVyZXRzIGVwb2tldsOmcmRpIGkga2VybmVuLiIKKworI34gbXNnaWQgInJlYWQoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKKyN+IG1zZ3N0ciAicmVhZCgpIGFmICVzIGZvciBhdCBhZnZlbnRlIGV0IHVyLXRpayBtaXNseWtrZWRlcyIKKworIyBldnQuICJpIGxpbmplICIKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3I6IGlnbm9yZSBlbnRyeSBhdCBsaW5lICVkLiIKKyN+IG1zZ3N0ciAiJXM6IGZvcnRvbGtuaW5nc2Zlamw6IGlnbm9yZXIgcG9zdCBww6UgbGluamUgJWQuIgorCisjfiBtc2dpZCAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCisjfiAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIGxpc3RzIGFsbCBtb3VudHMgd2l0aCBMQUJFTHNcbiIKKyN+ICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgdmlzIGRlbm5lIGhqw6ZscGV0ZWtzdCBvZyBhZnNsdXRcbiIKKyN+ICIgLWksIC0taW50ZXJuYWwtb25seSAgICAga2FsZCBpa2tlIG1vdW50Ljx0eXBlPi1oasOmbHBlcHJvZ3JhbW1lcm5lXG4iCisjfiAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIHZpcyBhbGxlIG1vbnRlcmluZ2VyIG1lZCBFVElLRVQnZXJcbiIKKyN+ICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgc2tyaXYgaWtrZSB0aWwgL2V0Yy9tdGFiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHNheSB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtd3JpdGUgKGRlZmF1bHQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgZm9ya2xhciBodmFkIGRlciBza2VyXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIHZpcyB2ZXJzaW9uc2luZm9ybWF0aW9uIG9nIGFmc2x1dFxuIgorI34gIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb250ZXIgZmlsc3lzdGVtZXQgbMOmcy9za3JpdiAoc3RhbmRhcmQpXG4iCisKKyN+IG1zZ2lkICJwYWdlcyIKKyN+IG1zZ3N0ciAic2lkZXIiCisKKyN+IG1zZ2lkICJzZXQgcnRjIGFsYXJtIGZhaWxlZCIKKyN+IG1zZ3N0ciAiYW5naXZlbHNlIGFmIHJ0Yy1hbGFybSBtaXNseWtrZWRlcyIKKworI34gbXNnaWQgImVuYWJsZSBydGMgYWxhcm0gZmFpbGVkIgorI34gbXNnc3RyICJha3RpdmVyaW5nIGFmIHJ0Yy1hbGFybSBtaXNseWtrZWRlcyIKKworI34gbXNnaWQgInN1c3BlbmQgdG8gXCIlc1wiIHVuYXZhaWxhYmxlIgorI34gbXNnc3RyICJodmlsZXRpbHN0YW5kIGZvciDCuyVzwqsgZXIgdXRpbGfDpm5nZWxpZyIKKworI34gbXNnaWQgImRpZmZlcmVudCIKKyN+IG1zZ3N0ciAiZm9yc2tlbGxpZyIKKworI34gbXNnaWQgInNhbWUiCisjfiBtc2dzdHIgImVucyIKKworI34gbXNnaWQgImJhZCB2YWx1ZSIKKyN+IG1zZ3N0ciAidWd5bGRpZyB2w6ZyZGkiCisKKyN+IG1zZ2lkICIgLW0sIC0tbW91bnQgICAgICAgICAgICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiIC1tLCAtLW1vdW50ICAgICAgICAgICAgICAgZmplcm4gZGVsaW5nIGFmIG1vbnRlcmluZ3NuYXZuZXJ1bVxuIgorCisjfiBtc2dpZCAiIC11LCAtLXV0cyAgICAgICAgICAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCisjfiBtc2dzdHIgIiAtdSwgLS11dHMgICAgICAgICAgICAgICAgIGZqZXJuIGRlbGluZyBhZiBVVFMtbmF2bmVydW0gKHbDpnJ0c25hdm4gZXRjLilcbiIKKworI34gbXNnaWQgIiAtaSwgLS1pcGMgICAgICAgICAgICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgLWksIC0taXBjICAgICAgICAgICAgICAgICBmamVybiBkZWxpbmcgYWYgU3lzdGVtIFYgSVBDLW5hdm5lcnVtXG4iCisKKyN+IG1zZ2lkICIgLW4sIC0tbmV0ICAgICAgICAgICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtbiwgLS1uZXQgICAgICAgICAgICAgICAgIGZqZXJuIGRlbGluZyBhZiBuZXR2w6Zya3NuYXZuZXJ1bVxuIgorCisjfiBtc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICAgICAgICAgIGZqZXJuIGRlbGluZyBhZiBwaWQtbmF2bmVydW1cbiIKKworI34gbXNnaWQgIiAtVSwgLS11c2VyICAgICAgICAgICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiIC1VLCAtLXVzZXIgICAgICAgICAgICAgICAgZmplcm4gZGVsaW5nIGFmIGJydWdlcm5hdm5lcnVtXG4iCisKKyN+IG1zZ2lkICJiYWQgdGltZW91dCB2YWx1ZTogJXMiCisjfiBtc2dzdHIgInVneWxkaWcgdsOmcmRpIGZvciB0aWRzdWRsw7hiOiAlcyIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlbSIKKyN+IG1zZ3N0ciAia2FuIGlra2Ugw6VibmUgJXM6ICVtIgorCisjfiBtc2dpZCAiZXhwZWN0ZWQgYSBudW1iZXIsIGJ1dCBnb3QgJyVzJyIKKyN+IG1zZ3N0ciAiZm9ydmVudGVkZSBldCB0YWwsIG1lbiBmaWsgwrslc8KrIgorCisjfiBtc2dpZCAiZGl2aXNvciAnJXMnIgorI34gbXNnc3RyICJuw6Z2bmVyIMK7JXPCqyIKKworI34gbXNnaWQgImFyZ3VtZW50IGVycm9yOiAlcyIKKyN+IG1zZ3N0ciAicGFyYW1ldGVyZmVqbDogJXMiCisKKyN+IG1zZ2lkICJmcmVhZCBmYWlsZWQiCisjfiBtc2dzdHIgImZyZWFkIG1pc2x5a2tlZGVzIgorCisjfiBtc2dpZCAidHR5IHBhdGggJXMgdG9vIGxvbmciCisjfiBtc2dzdHIgInR0eS1zdGllbiAlcyBlciBmb3IgbGFuZyIKZGlmZiAtLWdpdCBhL3BvL2RlLnBvIGIvcG8vZGUucG8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjdmMGM0MQotLS0gL2Rldi9udWxsCisrKyBiL3BvL2RlLnBvCkBAIC0wLDAgKzEsMTkwNDggQEAKKyMgR2VybWFuIHRyYW5zbGF0aW9uIGZvciB1dGlsLWxpbnV4CisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UuCisjCisjIENvcHlyaWdodCDCqSAxOTk5LCAyMDAwLCAyMDAxLCAyMDE0IEVscm9uZCA8RWxyb25kQFd1bmRlci1OZXR0Lm9yZz4KKyMgQ29weXJpZ2h0IMKpIDIwMDEsIDIwMDIgS2FybCBFaWNod2FsZGVyLgorIyBDb3B5cmlnaHQgwqkgTWljaGFlbCBQaWVmZWwgPHBpZWZlbEBpbmZvcm1hdGlrLmh1LWJlcmxpbi5kZT4sIDIwMDIsIDIwMDQsIDIwMDUsIDIwMDcsIDIwMDguCisjIENvcHlyaWdodCDCqSAyMDExLDIwMTUsMjAxNiBQaGlsaXBwIFRob21hcyA8cHRoQHN1c2UuZGU+CisjIENvcHlyaWdodCDCqSAyMDEyIEFydW4gUGVyc2F1ZCA8YXJ1bkBudWJhdGkubmV0PgorIyBDb3B5cmlnaHQgwqkgMjAxNCBCZW5qYW1pbiBXZWlzIDxiZW5qYW1pbi53ZWlzQGdteC5jb20+CisjIE1hcmlvIEJsw6R0dGVybWFubiA8bWFyaW8uYmxhZXR0ZXJtYW5uQGdtYWlsLmNvbT4sIDIwMTQsIDIwMTUuCisjIFBoaWxpcHAgVGhvbWFzIDxwdGhAc3VzZS5kZT4sIDIwMTQsIDIwMTUuCisjCisjIE5vdGU6CisjID09PT09CisjIENoYW5nZXMgZG9uZSBieSBLYXJsIEVpY2h3YWxkZXIgYXJlIHB1dCBpbnRvIHRoZSBQdWJsaWMgRG9tYWluLgorIyBNaW5lIHRvby4gTVBpCisjIEFuZCBtaW5lIGFsc28gcHRoCisjIFNhbWUgaGVyZSBBUAorIworIyBBcyByZXF1ZXN0ZWQgaGVyZSBpcyB0aGUgdW5tb2RpZmllZCBoZWFkZXI6CisjCisjIC09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LSBjdXQgaGVyZSAtPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0KKyMgR2VybWFuIHRyYW5zbGF0aW9uIGZvciB1dGlsLWxpbnV4LgorIyBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDAsIDIwMDEgRWxyb25kIDxFbHJvbmRAV3VuZGVyLU5ldHQub3JnPi4KKyMKKyMgJFJldmlzaW9uOiAxLjQyICQKKyMKKyMgUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGZyZWVseSBjb3B5IGFuZCBkaXN0cmlidXRlCisjIHRoaXMgZmlsZSBhbmQgbW9kaWZpZWQgdmVyc2lvbnMsIHByb3ZpZGVkLCB0aGF0IHRoaXMKKyMgaGVhZGVyIGlzIG5vdCByZW1vdmVkIGFuZCBtb2RpZmllZCB2ZXJzaW9ucyBhcmUgbWFya2VkCisjIGFzIHN1Y2guCisjCisjIElmIHlvdSBoYXZlIGFkZGl0aW9ucy9jaGFuZ2VzL290aGVyIHJlcXVlc3RzLCBwbGVhc2UKKyMgc2VuZCB0aGVtIHRvIG1lIChFbHJvbmQgPEVscm9uZEBXdW5kZXItTmV0dC5vcmc+KSEKKyMKKyMgUGVvcGxlIHdobyBoZWxwZWQgb3IgY29udHJpYnV0ZWQgKGluIGhpc3RvcmljYWwgb3JkZXIpOgorIyAgIE1hcnRpbiBTY2h1bHplIDxqb2V5QGluZm9kcm9tLm5vcnRoLmRlPgorIyAgIERhbmllbCBFZ2dlciA8RGFuaWVsLkVnZ2VyQHN1c2UuZGU+CisjICAgZGVsaUEgPGRlbGlBQFd1bmRlci1OZXR0Lm9yZz4KKyMKKyMgU3VibWl0dGVkIHRvIHRoZSBUUCAyMDAxLTA3LTE4IDE0OjMyOjQ3IENFU1QgLWtlLQorIworIyAtPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0gY3V0IGhlcmUgLT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tCisjCisjIEhpbndlaXNlIHp1ciDDnGJlcnNldHp1bmc6CisjID09PT09PT09PT09PT09PT09PT09PT09PT0KKyMgY29tbWFuZCDigJMgQmVmZWhsCisjIGJhZCAgICAg4oCTIGJlc2Now6RkaWd0ICh6LiBCLiDigJ5iZXNjaMOkZGlndGUgQmzDtmNrZeKAnCkKKyMgICAgICAgICAgIGJ6dy4gdW5nw7xsdGlnICh6LiBCLiDigJ51bmfDvGx0aWdlIOKAmm1hZ2ljIG51bWJlcuKAmCBpbSBTdXBlcmJsb2Nr4oCcKQorIworbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdXRpbC1saW51eCAyLjI4LXJjMlxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiB1dGlsLWxpbnV4QHZnZXIua2VybmVsLm9yZ1xuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE3LTAyLTIyIDEyOjMyKzAxMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE2LTEwLTIxIDEwOjM2KzAyMDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IFBoaWxpcHAgVGhvbWFzIDxwdGhAc3VzZS5kZT5cbiIKKyJMYW5ndWFnZS1UZWFtOiBHZXJtYW4gPHRyYW5zbGF0aW9uLXRlYW0tZGVAbGlzdHMuc291cmNlZm9yZ2UubmV0PlxuIgorIkxhbmd1YWdlOiBkZVxuIgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCisiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgorIlgtQnVnczogUmVwb3J0IHRyYW5zbGF0aW9uIGVycm9ycyB0byB0aGUgTGFuZ3VhZ2UtVGVhbSBhZGRyZXNzLlxuIgorIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPShuICE9IDEpO1xuIgorIlgtR2VuZXJhdG9yOiBQb2VkaXQgMS43LjNcbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxzdGFydD4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiICVzIDxEYXRlbnRyw6RnZXJnZXLDpHQ+IDxQYXJ0aXRpb25zbnVtbWVyPiA8U3RhcnQ+IDxMw6RuZ2U+XG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE4Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBleGlzdGVuY2Ugb2YgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICJEZW4gS2VybmVsIMO8YmVyIGRpZSBFeGlzdGVueiBlaW5lciBhbmdlZ2ViZW5lbiBQYXJ0aXRpb24gaW5mb3JtaWVyZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjU2IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyNzYgZGlzay11dGlscy9ibG9ja2Rldi5jOjQyMAorIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ0NiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzQgZGlzay11dGlscy9kZWxwYXJ0LmM6NTcKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjcgZGlzay11dGlscy9mZGlzay5jOjcxOCBkaXNrLXV0aWxzL2ZkaXNrLmM6OTk0CisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozMDEgZGlzay11dGlscy9mZGlzay1saXN0LmM6MzQxCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNjAgZGlzay11dGlscy9mc2NrLmM6MTQ0OAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1NSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTEwCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMzQgZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4OQorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE3MyBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjYxCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzg4IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxOQorIzogZGlzay11dGlscy9ta3N3YXAuYzoyMTUgZGlzay11dGlscy9ta3N3YXAuYzoyNDQgZGlzay11dGlscy9wYXJ0eC5jOjk5NAorIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6NjQ3IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzAzCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc1NyBkaXNrLXV0aWxzL3NmZGlzay5jOjgxNiBkaXNrLXV0aWxzL3NmZGlzay5jOjg4MAorIzogZGlzay11dGlscy9zZmRpc2suYzo5MjEgZGlzay11dGlscy9zZmRpc2suYzo5NTEgZGlzay11dGlscy9zZmRpc2suYzo5ODgKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUzNyBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjYwIGxpYmZkaXNrL3NyYy9ic2QuYzo2NDEKKyM6IGxpYi9wYXRoLmM6NzAgbGliL3BhdGguYzo4MiBsb2dpbi11dGlscy9pc2xvY2FsLmM6ODcgbG9naW4tdXRpbHMvbGFzdC5jOjY3MgorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ0NiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDgzCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM1OQorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODEgbG9naW4tdXRpbHMvdmlwdy5jOjI1OCBsb2dpbi11dGlscy92aXB3LmM6Mjc2CisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDk3IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE4OCBtaXNjLXV0aWxzL21jb29raWUuYzoxMTUKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMDcgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODMgc3lzLXV0aWxzL2RtZXNnLmM6NTIyCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MDAgc3lzLXV0aWxzL2VqZWN0LmM6NzAwIHN5cy11dGlscy9mYWxsb2NhdGUuYzozNzQKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyOCBzeXMtdXRpbHMvZnN0cmltLmM6NzIgc3lzLXV0aWxzL2h3Y2xvY2suYzoyODIKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2Mzggc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTYyCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNTYgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDAxCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MjIgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDY5CisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozODggc3lzLXV0aWxzL25zZW50ZXIuYzoxMjggc3lzLXV0aWxzL3J0Y3dha2UuYzoxMzYKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MjcwIHN5cy11dGlscy9zZXRwcml2LmM6MjMwIHN5cy11dGlscy9zZXRwcml2LmM6NTI5CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1MiBzeXMtdXRpbHMvc3dhcG9uLmM6MzcxIHN5cy11dGlscy9zd2Fwb24uYzo1MTQKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2MyBzeXMtdXRpbHMvdW5zaGFyZS5jOjEwNiBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyMQorIzogc3lzLXV0aWxzL3dkY3RsLmM6MzIxIHN5cy11dGlscy93ZGN0bC5jOjM3NyB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MTgKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEyNyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQyNSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQzMQorIzogdGVybS11dGlscy9zY3JpcHQuYzo0MzMgdGVybS11dGlscy9zY3JpcHQuYzo1MjIKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTk3IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjAwCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozMzEgdGV4dC11dGlscy9jb2xjcnQuYzoyODIgdGV4dC11dGlscy9tb3JlLmM6NTEzCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjE0MSB0ZXh0LXV0aWxzL3RhaWxmLmM6NjggdGV4dC11dGlscy90YWlsZi5jOjEwMAorIzogdGV4dC11dGlscy91bC5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAiJXMga2FubiBuaWNodCBnZcO2ZmZuZXQgd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1OSBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MCBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzo5OAorbXNnaWQgImludmFsaWQgcGFydGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXMgUGFydGl0aW9uc251bW1lcm5hcmd1bWVudCIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjAKK21zZ2lkICJpbnZhbGlkIHN0YXJ0IGFyZ3VtZW50IgorbXNnc3RyICJ1bmfDvGx0aWdlcyBTdGFydGFyZ3VtZW50IgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MSBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDgKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXMgTMOkbmdlbmFyZ3VtZW50IgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MgorbXNnaWQgImZhaWxlZCB0byBhZGQgcGFydGl0aW9uIgorbXNnc3RyICJIaW56dWbDvGdlbiBkZXIgUGFydGl0aW9uIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NjMKK21zZ2lkICJzZXQgcmVhZC1vbmx5IgorbXNnc3RyICJhdWYgTnVyLUxlc2VuIGZlc3RsZWdlbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjcwCittc2dpZCAic2V0IHJlYWQtd3JpdGUiCittc2dzdHIgImF1ZiBMZXNlbi1TY2hyZWliZW4gZmVzdGxlZ2VuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzYKK21zZ2lkICJnZXQgcmVhZC1vbmx5IgorbXNnc3RyICJOdXItTGVzZW4tU3RhdHVzIGVybWl0dGVsbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjgyCittc2dpZCAiZ2V0IGRpc2NhcmQgemVyb2VzIHN1cHBvcnQgc3RhdHVzIgorbXNnc3RyICJkaWUgVW50ZXJzdMO8dHp1bmcgdm9tIFZlcndlcmZlbiB2b24gTnVsbGVuIGVybWl0dGVsbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjg4Cittc2dpZCAiZ2V0IGxvZ2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAibG9naXNjaGUgQmxvY2stIGJ6dy4gU2VrdG9yZ3LDtsOfZSBlcm1pdHRlbG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo5NAorbXNnaWQgImdldCBwaHlzaWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICJwaHlzaXNjaGUgQmxvY2stIGJ6dy4gU2VrdG9yZ3LDtsOfZSBlcm1pdHRlbG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDAKK21zZ2lkICJnZXQgbWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAibWluaW1hbGUgRS9BLUdyw7bDn2UgZXJtaXR0ZWxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTA2Cittc2dpZCAiZ2V0IG9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgIm9wdGltYWxlIEUvQS1HcsO2w59lIGVybWl0dGVsbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExMgorbXNnaWQgImdldCBhbGlnbm1lbnQgb2Zmc2V0IGluIGJ5dGVzIgorbXNnc3RyICJWZXJzYXR6IGRlciBBdXNyaWNodHVuZyBpbiBCeXRlIGVybWl0dGVsbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExOAorbXNnaWQgImdldCBtYXggc2VjdG9ycyBwZXIgcmVxdWVzdCIKK21zZ3N0ciAiTWF4aW1hbGUgQW56YWhsIGFuIFNla3RvcmVuIHBybyBBbmZvcmRlcnVuZyBlcm1pdHRlbG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMjQKK21zZ2lkICJnZXQgYmxvY2tzaXplIgorbXNnc3RyICJCbG9ja2dyw7bDn2UgZXJtaXR0ZWxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTMxCittc2dpZCAic2V0IGJsb2Nrc2l6ZSBvbiBmaWxlIGRlc2NyaXB0b3Igb3BlbmluZyB0aGUgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJCbG9ja2dyw7bDn2UgaW0gRGF0ZWlkZXNrcmlwdG9yIHp1bSDDlmZmbmVuIGRlcyBibG9ja29yaWVudGllcnRlbiBHZXLDpHRzIGZlc3RsZWdlbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzNworbXNnaWQgImdldCAzMi1iaXQgc2VjdG9yIGNvdW50IChkZXByZWNhdGVkLCB1c2UgLS1nZXRzeikiCittc2dzdHIgIjMyLUJpdC1TZWt0b3ItWsOkaGxlciBlcm1pdHRlbG4gKHZlcmFsdGV0LCBiaXR0ZSAtLWdldHN6IHZlcndlbmRlbikiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNDMKK21zZ2lkICJnZXQgc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAiR3LDtsOfZSBpbiBCeXRlIGVybWl0dGVsbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1MAorbXNnaWQgInNldCByZWFkYWhlYWQiCittc2dzdHIgIlJlYWRhaGVhZCAodm9yYXVzc2NoYXVlbmRlcyBMZXNlbikgZmVzdGxlZ2VuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTU2Cittc2dpZCAiZ2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAiUmVhZGFoZWFkIGVybWl0dGVsbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2MworbXNnaWQgInNldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAiUmVhZGFoZWFkICh2b3JhdXNzY2hhdWVuZGVzIExlc2VuKSBmw7xyIERhdGVpc3lzdGVtIGZlc3RsZWdlbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2OQorbXNnaWQgImdldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAiUmVhZGFoZWFkIGbDvHIgRGF0ZWlzeXN0ZW0gZXJtaXR0ZWxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTczCittc2dpZCAiZmx1c2ggYnVmZmVycyIKK21zZ3N0ciAiUHVmZmVyIGxlZXJlbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3NworbXNnaWQgInJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIlBhcnRpdGlvbnN0YWJlbGxlIGVybmV1dCBlaW5sZXNlbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICUxJHMgLVZcbiIKKyIgJTEkcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyIgJTEkcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyJcbiIKKyJBdmFpbGFibGUgY29tbWFuZHM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJBdWZydWY6XG4iCisiICUxJHMgLVZcbiIKKyIgJTEkcyAtLXJlcG9ydCBbR2Vyw6R0ZV1cbiIKKyIgJTEkcyBbLXZ8LXFdIEJlZmVobGUgR2Vyw6R0ZVxuIgorIlxuIgorIlZlcmbDvGdiYXJlIEJlZmVobGU6XG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICUtMjVzIGdldCBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnNcbiIKK21zZ3N0ciAiICUtMjVzIEdyw7bDn2UgaW4gQW56YWhsIHZvbiA1MTItQnl0ZSBTZWt0b3JlbiBlcm1pdHRlbG5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMxMQorbXNnaWQgImNvdWxkIG5vdCBnZXQgZGV2aWNlIHNpemUiCittc2dzdHIgIkRpZSBHcsO2w59lIGRlcyBHZXLDpHRlcyBrb25udGUgbmljaHQgZXJtaXR0ZWx0IHdlcmRlbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGNvbW1hbmQ6ICVzIgorbXNnc3RyICJVbmJla2FubnRlciBCZWZlaGw6ICVzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICIlcyBiZW7DtnRpZ3QgZWluIEFyZ3VtZW50IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzY4IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZXJyb3Igb24gJXMiCittc2dzdHIgIklPQ1RMLUZlaGxlciBiZWkgJXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkLlxuIgorbXNnc3RyICIlcyBpc3QgZmVobGdlc2NobGFnZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICIlcyB3dXJkZSBlcmZvbGdyZWljaCBiZWVuZGV0LlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzeXNmcyBoYW5kbGVyIgorbXNnc3RyICIlczogc3lzZnMtSGFuZGxlciBrYW5uIG5pY2h0IGluaXRpYWxpc2llcnQgd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gc3RhcnQgZnJvbSBzeXNmcyIKK21zZ3N0ciAiJXM6IERlciBCZWdpbm4gZGVyIFBhcnRpdGlvbiBrb25udGUgbmljaHQgdm9tIFN5c2ZzIGdlbGVzZW4gd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU3RhcnRTZWMgICAgICAgICAgICBTaXplICAgRGV2aWNlXG4iCittc2dzdHIgIk51ckwgIFJBICAgU0dyICAgQkdyICAgU3RhcnRzZWsgICAgICAgICAgICBHcsO2w59lICBHZXLDpHRcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzkKK21zZ2lkICJCb290YWJsZSIKK21zZ3N0ciAiIEJvb3Rmw6RoaWciCisKKyMgIkJvb3Rmw6RoaWdrZWl0IGRlciBha3R1ZWxsZW4gUGFydGl0aW9uIMOkbmRlcm4iIChqb2V5KQorIzogZGlzay11dGlscy9jZmRpc2suYzoxNzkKK21zZ2lkICJUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIihEZSlBa3RpdmllcmVuIGRlciBCb290ZsOkaGlnLU1hcmtpZXJ1bmcgZGVyIGFrdHVlbGxlbiBQYXJ0aXRpb24iCisKKyMgIkzDtnNjaGVuIgorIzogZGlzay11dGlscy9jZmRpc2suYzoxODAKK21zZ2lkICJEZWxldGUiCittc2dzdHIgIkzDtnNjaGVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MAorbXNnaWQgIkRlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIkRpZSBha3R1ZWxsZSBQYXJ0aXRpb24gbMO2c2NoZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgxCittc2dpZCAiTmV3IgorbXNnc3RyICJOZXVlIgorCisjICJFcnpldWdlIGF1cyBkZW0gZnJlaWVuIEJlcmVpY2ggZWluZSBuZXVlIFBhcnRpdGlvbiIKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgxCittc2dpZCAiQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICJOZXVlIFBhcnRpdGlvbiBpbSBmcmVpZW4gQmVyZWljaCBhbmxlZ2VuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MgorbXNnaWQgIlF1aXQiCittc2dzdHIgIkVuZGUiCisKKyMgIkJlZW5kZSBkYXMgUHJvZ3JhbW0gb2huZSBkaWUgUGFydGl0aW9uc3RhYmVsbGUgenUgc2NocmVpYmVuIgorIzogZGlzay11dGlscy9jZmRpc2suYzoxODIKKyMsIGZ1enp5Cittc2dpZCAiUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBjaGFuZ2VzIgorbXNnc3RyICJEYXMgUHJvZ3JhbW0gYmVlbmRlbiwgb2huZSBkaWUgUGFydGl0aW9uc3RhYmVsbGUgenUgc3BlaWNoZXJuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MyBsaWJmZGlzay9zcmMvYnNkLmM6NDM5IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIwCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNiBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MAorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMTYKK21zZ2lkICJUeXBlIgorbXNnc3RyICJUeXAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgzCittc2dpZCAiQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiRGVuIFBhcnRpdGlvbnN0eXAgw6RuZGVybiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQKK21zZ2lkICJIZWxwIgorbXNnc3RyICJIaWxmZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQKK21zZ2lkICJQcmludCBoZWxwIHNjcmVlbiIKK21zZ3N0ciAiRGllIEhpbGZlIGFuemVpZ2VuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NQorbXNnaWQgIlNvcnQiCittc2dzdHIgIlNvcnRpZXJlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODUKK21zZ2lkICJGaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAiUGFydGl0aW9uc3JlaWhlbmZvbGdlIGtvcnJpZ2llcmVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIldyaXRlIgorbXNnc3RyICJTY2hyZWliLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAodGhpcyBtaWdodCBkZXN0cm95IGRhdGEpIgorbXNnc3RyICJEaWUgUGFydGl0aW9uc3RhYmVsbGUgc2NocmVpYmVuIChkaWVzIGthbm4gRGF0ZW4gemVyc3TDtnJlbikiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRHVtcCIKK21zZ3N0ciAiU3BlaWNoZXJuIgorCisjICJHaWIgZGllIFBhcnRpdGlvbnN0YWJlbGxlIGF1ZiBkZW0gQmlsZHNjaGlybSBvZGVyIGluIGVpbmUgRGF0ZWkgYXVzIgorIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEdW1wIHBhcnRpdGlvbiB0YWJsZSB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiUGFydGl0aW9uc3RhYmVsbGUgaW4gZWluZSBzZmRpc2sta29tcGF0aWJsZSBTa3JpcHRkYXRlaSBhdXNnZWJlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzo2MjAgZGlzay11dGlscy9mZGlzay5jOjQxNQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlhbG9nIHR5cGUgJWQiCittc2dzdHIgImludGVybmVyIEZlaGxlcjogbmljaHQgdW50ZXJzdMO8dHp0ZXIgRGlhbG9ndHlwICVkIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG1vdW50ZWQpIgorbXNnc3RyICIlcyAoZWluZ2Vow6RuZ3QpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyNzQKK21zZ2lkICJQYXJ0aXRpb24gbmFtZToiCittc2dzdHIgIlBhcnRpdGlvbnNuYW1lOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjgxCittc2dpZCAiUGFydGl0aW9uIFVVSUQ6IgorbXNnc3RyICJQYXJ0aXRpb25zLVVVSUQ6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyOTMKK21zZ2lkICJQYXJ0aXRpb24gdHlwZToiCittc2dzdHIgIlBhcnRpdGlvbnN0eXA6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMDAKK21zZ2lkICJBdHRyaWJ1dGVzOiIKK21zZ3N0ciAiQXR0cmlidXRlOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzI0Cittc2dpZCAiRmlsZXN5c3RlbSBVVUlEOiIKK21zZ3N0ciAiRGF0ZWlzeXN0ZW0tVVVJRDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMzMQorIywgZnV6enkKK21zZ2lkICJGaWxlc3lzdGVtIExBQkVMOiIKK21zZ3N0ciAiRGF0ZWlzeXN0ZW0tQkVaRUlDSE5VTkciCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMzNworbXNnaWQgIkZpbGVzeXN0ZW06IgorbXNnc3RyICJEYXRlaXN5c3RlbToiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM0MgorbXNnaWQgIk1vdW50cG9pbnQ6IgorbXNnc3RyICJFaW5ow6RuZ2VwdW5rdDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY4NQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrOiAlcyIKK21zZ3N0ciAiRmVzdHBsYXR0ZTogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY4NworIywgYy1mb3JtYXQKK21zZ2lkICJTaXplOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiR3LDtsOfZTogJXMsICVqdSBCeXRlcywgJWp1IFNla3RvcmVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzLCBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiQmV6ZWljaG5lcjogJXMsIElkZW50aWZpa2F0b3I6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzIgorbXNnc3RyICJCZXplaWNobnVuZzogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0NgorbXNnaWQgIk1heSBiZSBmb2xsb3dlZCBieSBNIGZvciBNaUIsIEcgZm9yIEdpQiwgVCBmb3IgVGlCLCBvciBTIGZvciBzZWN0b3JzLiIKK21zZ3N0ciAiS2FubiB2b24gTSBmw7xyIE1pQiwgRyBmw7xyIEdpQiwgVCBmw7xyIFRpQiBvZGVyIHMgZsO8ciBTZWt0b3JlbiBnZWZvbGd0IHdlcmRlbi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1MgorbXNnaWQgIlBsZWFzZSwgc3BlY2lmeSBzaXplLiIKK21zZ3N0ciAiQml0dGUgZ2ViZW4gU2llIGRpZSBHcsO2w59lIGFuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODc0CisjLCBjLWZvcm1hdAorbXNnaWQgIk1pbmltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICJNaW5pbWFsZSBHcsO2w59lIGlzdCAlanUgQnl0ZXMuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWF4aW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIk1heGltYWxlIEdyw7bDn2UgaXN0ICVqdSBCeXRlcy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5MAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplLiIKK21zZ3N0ciAiR3LDtsOfZSBrYW5uIG5pY2h0IGVpbmdlbGVzZW4gd2VyZGVuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQ4Cittc2dpZCAiU2VsZWN0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJQYXJ0aXRpb25zdHlwIHfDpGhsZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk5NCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjQKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lOiAiCittc2dzdHIgIkdlYmVuIFNpZSBkZW4gTmFtZW4gZGVyIFNrcmlwdGRhdGVpIGVpbjogIgorCisjIFhYWAorIzogZGlzay11dGlscy9jZmRpc2suYzoxOTk1Cittc2dpZCAiVGhlIHNjcmlwdCBmaWxlIHdpbGwgYmUgYXBwbGllZCB0byBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiRGFzIFNrcmlwdCB3aXJkIGF1ZiBkaWUgaW0gU3BlaWNoZXIgdm9yZ2VoYWx0ZW5lIFBhcnRpdGlvbnN0YWJlbGxlIGFuZ2V3ZW5kZXQuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMDQgZGlzay11dGlscy9jZmRpc2suYzoyMDQ2CisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjUgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuICVzIgorbXNnc3RyICLDlmZmbmVuIG5pY2h0IG3DtmdsaWNoOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDA2IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2NworIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgIkxlc2VuIGRlciBTa3JpcHRkYXRlaSAlcyBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwOCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCAlcyIKK21zZ3N0ciAiU2tyaXB0ICVzIGtvbm50ZSBuaWNodCBhbmdld2VuZGV0IHdlcmRlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDI1Cittc2dpZCAiVGhlIGN1cnJlbnQgaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZSB3aWxsIGJlIGR1bXBlZCB0byB0aGUgZmlsZS4iCittc2dzdHIgIkRpZSBnZWdlbnfDpHJ0aWcgaW0gU3BlaWNoZXIgdm9yZ2VoYWx0ZW5lIFBhcnRpdGlvbnN0YWJlbGxlIHdpcmQgaW4gZWluZSBEYXRlaSBhdXNnZWdlYmVuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDMzIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ5MQorbXNnaWQgIkZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiU2tyaXB0LUhhbmRsZXIga29ubnRlIG5pY2h0IHp1Z2V3aWVzZW4gd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzkKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBkaXNrIGxheW91dCBpbnRvIHNjcmlwdC4iCittc2dzdHIgIkRhcyBQbGF0dGVubGF5b3V0IGtvbm50ZSBuaWNodCBpbiBkYXMgU2tyaXB0IGdlc2NocmllYmVuIHdlcmRlbi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA1MworbXNnaWQgIkRpc2sgbGF5b3V0IHN1Y2Nlc3NmdWxseSBkdW1wZWQuIgorbXNnc3RyICJQbGF0dGVubGF5b3V0IHd1cmRlIGVyZm9sZ3JlaWNoIGdlc3BlaWNoZXJ0LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDU2IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUwOQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgc2NyaXB0ICVzIgorbXNnc3RyICJTY2hyZWliZW4gZGVzIFNrcmlwdHMgJXMgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwOTIKK21zZ2lkICJTZWxlY3QgbGFiZWwgdHlwZSIKK21zZ3N0ciAiQmV6ZWljaG51bmdzdHlwIMOkbmRlcm4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA5NSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxNworbXNnaWQgIkRldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJHZXLDpHQgZW50aMOkbHQga2VpbmUgZXJrZW5uYmFyZSBQYXJ0aXRpb25zdGFiZWxsZS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjEwMQorbXNnaWQgIlNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGxhYmVsIG9yIHByZXNzICdMJyB0byBsb2FkIHNjcmlwdCBmaWxlLiIKK21zZ3N0ciAiV8OkaGxlbiBTaWUgZWluZW4gVHlwLCB1bSBlaW5lIG5ldWUgQmV6ZWljaG51bmcgenUgZXJzdGVsbGVuLCBvZGVyIGRyw7xja2VuIFNpZSDigJ5M4oCcLCB1bSBlaW5lIFNrcmlwdGRhdGVpIHp1IGxhZGVuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ2Cittc2dpZCAiVGhpcyBpcyBjZmRpc2ssIGEgY3Vyc2VzLWJhc2VkIGRpc2sgcGFydGl0aW9uaW5nIHByb2dyYW0uIgorbXNnc3RyICJEaWVzIGlzdCBjZmRpc2ssIGVpbiBQcm9ncmFtbSwgZGFzIGN1cnNlcyBiZW51dHp0IHVuZCBlcyBJaG5lbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ3Cittc2dpZCAiSXQgbGV0cyB5b3UgY3JlYXRlLCBkZWxldGUsIGFuZCBtb2RpZnkgcGFydGl0aW9ucyBvbiBhIGJsb2NrIGRldmljZS4iCittc2dzdHIgIiIKKyJlcmxhdWJ0LCBhdWYgSWhyZW4gRmVzdHBsYXR0ZW4gUGFydGl0aW9uZW4gYW56dWxlZ2VuLCB6dSBsw7ZzY2hlbiBvZGVyIHp1XG4iCisibW9kaWZpemllcmVuIgorCisjICJCZWZlaGwiCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDkKK21zZ2lkICJDb21tYW5kICAgICAgTWVhbmluZyIKK21zZ3N0ciAiQmVmZWhsICAgICAgQmVkZXV0dW5nIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTAKK21zZ2lkICItLS0tLS0tICAgICAgLS0tLS0tLSIKK21zZ3N0ciAiLS0tLS0tLS0gICAgIC0tLS0tLS0tLSIKKworIyAiICBiICAgICAgICAgIFdlY2hzZWx0IHp3aXNjaGVuIGJvb3Rmw6RoaWcgdW5kIG5pY2h0IGJvb3Rmw6RoaWcuIgorIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUxCittc2dpZCAiICBiICAgICAgICAgIFRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBiICAgICAgICAgIChEZSlBa3RpdmllcmVuIGRlciBCb290ZsOkaGlnLU1hcmtpZXJ1bmcgZGVyIGFrdHVlbGxlbiBQYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MgorbXNnaWQgIiAgZCAgICAgICAgICBEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGQgICAgICAgICAgRGllIGFrdHVlbGxlIFBhcnRpdGlvbiBsw7ZzY2hlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUzCittc2dpZCAiICBoICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorbXNnc3RyICIgIGggICAgICAgICAgRGllc2UgSGlsZmUgYW56ZWlnZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NAorbXNnaWQgIiAgbiAgICAgICAgICBDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIiAgbiAgICAgICAgICBBdXMgZGVtIGZyZWllbiBCZXJlaWNoIGVpbmUgbmV1ZSBQYXJ0aXRpb24gZXJ6ZXVnZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NQorbXNnaWQgIiAgcSAgICAgICAgICBRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICBxICAgICAgICAgIGRhcyBQcm9ncmFtbSBiZWVuZGVuLCBvaG5lIGRpZSBQYXJ0aXRpb25zdGFiZWxsZSB6dSBzY2hyZWliZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NgorbXNnaWQgIiAgcyAgICAgICAgICBGaXggcGFydGl0aW9ucyBvcmRlciAob25seSB3aGVuIGluIGRpc2FycmF5KSIKK21zZ3N0ciAiICBzICAgICAgICAgIFJlaWhlbmZvbGdlIGRlciBQYXJ0aXRpb25lbiBrb3JyaWdpZXJlbiAobnVyIHdlbm4gZmFsc2NoIGFuZ2VvcmRuZXQpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTcKK21zZ2lkICIgIHQgICAgICAgICAgQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiICB0ICAgICAgICAgIFBhcnRpdGlvbnN0eXAgw6RuZGVybiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU4Cittc2dpZCAiICB1ICAgICAgICAgIER1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIiIKKyIgIHUgICAgICAgICAgUGxhdHRlbmxheW91dCBpbiBlaW5lIHNmZGlzay1rb21wYXRpYmxlXG4iCisiICAgICAgICAgICAgICAgU2tyaXB0ZGF0ZWkgYXVzZ2ViZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1OQorbXNnaWQgIiAgVyAgICAgICAgICBXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAoeW91IG11c3QgZW50ZXIgdXBwZXJjYXNlIFcpOyIKK21zZ3N0ciAiICBXICAgICAgICAgIERpZSBQYXJ0aXRpb25zdGFiZWxsZSBhdWYgZGllIEZlc3RwbGF0dGUgc2NocmVpYmVuIChncm/Dn2VzIFcpIgorCisjIG9yICJEYSBkaWVzZXMg4oCmIiA/CisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjAKK21zZ2lkICIgICAgICAgICAgICAgICBzaW5jZSB0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSBvbiB0aGUgZGlzaywgeW91IG11c3QgZWl0aGVyIgorbXNnc3RyICIgICAgICAgICAgICAgRGEgZGllcyBEYXRlbiBhdWYgZGVyIEZlc3RwbGF0dGUgemVyc3TDtnJlbiBrYW5uLCBtw7xzc2VuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjEKK21zZ2lkICIgICAgICAgICAgICAgICBjb25maXJtIG9yIGRlbnkgdGhlIHdyaXRlIGJ5IGVudGVyaW5nICd5ZXMnIG9yICdubyciCittc2dzdHIgIiAgICAgICAgICAgICBTaWUgZGFzIFNjaHJlaWJlbiBtaXQg4oCeamHigJwgb2RlciDigJ5uZWlu4oCcIGJlc3TDpHRpZ2VuIG9kZXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MgorbXNnaWQgIiAgeCAgICAgICAgICBEaXNwbGF5L2hpZGUgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIiAgeCAgICAgICAgICBadXPDpHR6bGljaGUgSW5mb3JtYXRpb24gw7xiZXIgZWluZSBQYXJ0aXRpb24gYW56ZWlnZW4vdmVyc3RlY2tlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYzCittc2dpZCAiVXAgQXJyb3cgICAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBwYXJ0aXRpb24iCittc2dzdHIgIlBmZWlsLWhvY2ggICBkZW4gQ3Vyc29yIHp1ciB2b3JoZXJpZ2VuIFBhcnRpdGlvbiBiZXdlZ2VuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjQKK21zZ2lkICJEb3duIEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgcGFydGl0aW9uIgorbXNnc3RyICJQZmVpbC1ydW50ZXIgZGVuIEN1cnNvciB6dXIgbsOkY2hzdGVuIFBhcnRpdGlvbiBiZXdlZ2VuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjUKK21zZ2lkICJMZWZ0IEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIG1lbnUgaXRlbSIKK21zZ3N0ciAiUGZlaWwtbGlua3MgICBkZW4gQ3Vyc29yIHp1bSB2b3JoZXJpZ2VuIE1lbsO8ZWludHJhZyBiZXdlZ2VuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjYKK21zZ2lkICJSaWdodCBBcnJvdyAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgbWVudSBpdGVtIgorbXNnc3RyICJQZmVpbC1yZWNodHMgZGVuIEN1cnNvciB6dW0gbsOkY2hzdGVuIE1lbsO8ZWludHJhZyBiZXdlZ2VuIgorCisjICJIaW53ZWlzIgorIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY4Cittc2dpZCAiTm90ZTogQWxsIG9mIHRoZSBjb21tYW5kcyBjYW4gYmUgZW50ZXJlZCB3aXRoIGVpdGhlciB1cHBlciBvciBsb3dlciIKK21zZ3N0ciAiSGlud2VpczogQWxsZSBCZWZlaGxlIGvDtm5uZW4gbWl0IEtsZWluLSBvZGVyIEdyb8OfYnVjaHN0YWJlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY5Cittc2dpZCAiY2FzZSBsZXR0ZXJzIChleGNlcHQgZm9yIFdyaXRlKS4iCittc2dzdHIgImVpbmdlZ2ViZW4gd2VyZGVuIChhdXNnZW5vbW1lbiDigJ5Xcml0ZeKAnCkuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzEKK21zZ2lkICJVc2UgbHNibGsoOCkgb3IgcGFydHgoOCkgdG8gc2VlIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgZGV2aWNlLiIKK21zZ3N0ciAiVmVyd2VuZGVuIFNpZSBsc2Jsayg4KSBvZGVyIHBhcnR4KDgpLCB1bSB3ZWl0ZXJlIERldGFpbHMgenVtIEdlcsOkdCBhbnp1emVpZ2VuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzNworbXNnaWQgIlByZXNzIGEga2V5IHRvIGNvbnRpbnVlLiIKK21zZ3N0ciAiRHLDvGNrZW4gU2llIGVpbmUgVGFzdGUgdW0gZm9ydHp1ZmFocmVuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjYwCittc2dpZCAiQ291bGQgbm90IHRvZ2dsZSB0aGUgZmxhZy4iCittc2dzdHIgIk1hcmtpZXJ1bmcga29ubnRlIG5pY2h0IHVtZ2VzY2hhbHRldCB3ZXJkZW4uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiUGFydGl0aW9uICV6dSBrb25udGUgbmljaHQgZ2Vsw7ZzY2h0IHdlcmRlbi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI3MiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBoYXMgYmVlbiBkZWxldGVkLiIKK21zZ3N0ciAiUGFydGl0aW9uICV6dSB3dXJkZSBnZWzDtnNjaHQuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyOTMKK21zZ2lkICJQYXJ0aXRpb24gc2l6ZTogIgorbXNnc3RyICJQYXJ0aXRpb25zZ3LDtsOfZTogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJUeXAgZGVyIFBhcnRpdGlvbiAlenUgd3VyZGUgZ2XDpG5kZXJ0LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSB0eXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkLiIKK21zZ3N0ciAiVHlwIGRlciBQYXJ0aXRpb24gJXp1IHd1cmRlIG5pY2h0IHZlcsOkbmRlcnQuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNTMgZGlzay11dGlscy9jZmRpc2suYzoyNDY2IGRpc2stdXRpbHMvZmRpc2suYzo5OTEKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU3MAorbXNnaWQgIkRldmljZSBpcyBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIKK21zZ3N0ciAiR2Vyw6R0IGlzdCBpbSBzY2hyZWliZ2VzY2jDvHR6dGVuIE1vZHVzIGdlw7ZmZm5ldC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM1OAorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAiU2luZCBTaWUgc2ljaGVyLCBkYXNzIFNpZSBkaWUgUGFydGl0aW9uc3RhYmVsbGUgc2NocmVpYmVuIHdvbGxlbj8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM2MAorbXNnaWQgIlR5cGUgXCJ5ZXNcIiBvciBcIm5vXCIsIG9yIHByZXNzIEVTQyB0byBsZWF2ZSB0aGlzIGRpYWxvZy4iCittc2dzdHIgIkdlYmVuIFNpZSDigJ55ZXPigJwgb2RlciDigJ5ub+KAnCBlaW4sIG9kZXIgZHLDvGNrZW4gU2llIEVTQywgdW0gZGVuIERpYWxvZyB6dSB2ZXJsYXNzZW4uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjUgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDkgc3lzLXV0aWxzL2xzY3B1LmM6MTU0MAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTU1MAorbXNnaWQgInllcyIKK21zZ3N0ciAiamEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM2NgorbXNnaWQgIkRpZCBub3Qgd3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2suIgorbXNnc3RyICJEaWUgUGFydGl0aW9uc3RhYmVsbGUgd3VyZGUgbmljaHQgYXVmIGRpZSBGZXN0cGxhdHRlIGdlc2NocmllYmVuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzcxCittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbC4iCittc2dzdHIgIlNjaHJlaWJlbiBkZXIgRmVzdHBsYXR0ZW5iZXplaWNobnVuZyBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3NCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzgKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICJEaWUgUGFydGl0aW9uc3RhYmVsbGUgd3VyZGUgdmVyw6RuZGVydC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM5NyBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NjgKK21zZ2lkICJOb3RlIHRoYXQgcGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyIG5vdy4iCittc2dzdHIgIkJlYWNodGVuIHNpZSwgZGFzcyBkaWUgUGFydGl0aW9uc3RhYmVsbGVuZWludHLDpGdlIG51biBuaWNodCBpbiBGZXN0cGxhdHRlbi1SZWloZW5mb2xnZSBzaW5kLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlOyBpdCB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiRGFzIEdlcsOkdCBlbnRow6RsdCBiZXJlaXRzIGVpbmUgJXMtU2lnbmF0dXIuIFNpZSB3aXJkIGR1cmNoIGVpbmVuIFNjaHJlaWJiZWZlaGwgZW50ZmVybnQuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDUKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGRpc2tsYWJlbCIKK21zZ3N0ciAiU2NocmVpYmVuIGRlciBGZXN0cGxhdHRlbmJlemVpY2hudW5nIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDUzCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9ucyIKK21zZ3N0ciAiUGFydGl0aW9uZW4ga29ubnRlbiBuaWNodCBnZWxlc2VuIHdlcmRlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz5cbiIKK21zZ3N0ciAiICUxJHMgW09wdGlvbmVuXSA8R2Vyw6R0PlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDkgZGlzay11dGlscy9mZGlzay5jOjczNiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTAKK21zZ2lkICJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgYSBkaXNrIHBhcnRpdGlvbiB0YWJsZS5cbiIKK21zZ3N0ciAiRWluZSBQbGF0dGVucGFydGl0aW9uc3RhYmVsbGUgYW56ZWlnZW4gb2RlciB2ZXLDpG5kZXJuLlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NTIKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxXYW5uPl0gICAgIEF1c2dhYmUgZWluZsOkcmJlbiAo4oCeYXV0b+KAnCwg4oCeYWx3YXlz4oCcIG9kZXIg4oCebmV2ZXLigJwpXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU1NQorbXNnaWQgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgc3RhcnQgd2l0aCB6ZXJvZWQgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAteiwgLS16ZXJvICAgICAgICAgICAgICBtaXQgZWluZXIgYXVzZ2VudWxsdGVuIFBhcnRpdGlvbnN0YWJlbGxlIGJlZ2lubmVuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU5NCBkaXNrLXV0aWxzL2ZkaXNrLmM6ODgyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA3NworIzogbWlzYy11dGlscy9jYWwuYzozOTAgc3lzLXV0aWxzL2RtZXNnLmM6MTMzMyB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTQKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb2xvciBtb2RlIgorbXNnc3RyICJuaWNodCB1bnRlcnN0w7x0enRlciBGYXJibW9kdXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYxMiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjIzCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgIlp1d2Vpc2VuIGRlcyBsaWJmZGlzay1Lb250ZXh0ZXMgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj5cbiIKK21zZ3N0ciAiICVzIDxEYXRlbnRyw6RnZXJnZXLDpHQgPiA8UGFydGl0aW9uc251bW1lcj5cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTgKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgdG8gZm9yZ2V0IGFib3V0IGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiRGVuIEtlcm5lbCBhbndlaXNlbiwgZWluZSBhbmdlZ2ViZW5lIFBhcnRpdGlvbiB6dSBlbnRmZXJuZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjYxCittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24iCittc2dzdHIgIkVudGZlcm5lbiBkZXIgUGFydGl0aW9uIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcm1hdHRpbmcgLi4uICIKK21zZ3N0ciAiRm9ybWF0aWVyZW4g4oCmICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjY4IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG9uZVxuIgorbXNnc3RyICJGZXJ0aWdcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlZlcmlmeWluZyAuLi4gIgorbXNnc3RyICLDnGJlcnByw7xmZW4g4oCmICIKKworIyBUaGlzIGlzIGZyb20gYSBwZXJyb3IoKQorIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEwOAorbXNnaWQgIlJlYWQ6ICIKK21zZ3N0ciAiTGVzZW46ICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJQcm9ibGVtIHJlYWRpbmcgdHJhY2svaGVhZCAldS8ldSwgZXhwZWN0ZWQgJWQsIHJlYWQgJWRcbiIKK21zZ3N0ciAiUHJvYmxlbSBiZWltIExlc2VuIHZvbiBTcHVyL0tvcGYgJXUvJXUsIGVzIHd1cmRlICVkIGVyd2FydGV0LCBhYmVyICVkIGdlbGVzZW5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYmFkIGRhdGEgaW4gdHJhY2svaGVhZCAldS8ldVxuIgorIkNvbnRpbnVpbmcgLi4uICIKK21zZ3N0ciAiIgorIkJlc2Now6RkaWd0ZSBEYXRlbiBiZWkgU3B1ci9Lb3BmICV1LyV1XG4iCisiT3BlcmF0aW9uIHdpcmQgZm9ydGdlc2V0enQg4oCmICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODIKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTE3IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU2IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODQKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIDxHZXLDpHQ+XG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDgKK21zZ2lkICJEbyBhIGxvdy1sZXZlbCBmb3JtYXR0aW5nIG9mIGEgZmxvcHB5IGRpc2suXG4iCittc2dzdHIgIkVpbmUgTG93LUxldmVsLUZvcm1hdGllcnVuZyBlaW5lciBGbG9wcHktRGlza2V0dGUgYXVzZsO8aHJlbi5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MQorbXNnaWQgIiAtZiwgLS1mcm9tIDxOPiAgICBzdGFydCBhdCB0aGUgdHJhY2sgTiAoZGVmYXVsdCAwKVxuIgorbXNnc3RyICIgLWYsIC0tZnJvbSA8Tj4gICAgc3RhcnRlbiBiZWkgU3B1ciBOIChWb3JnYWJlIDApXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTIKK21zZ2lkICIgLXQsIC0tdG8gPE4+ICAgICAgc3RvcCBhdCB0aGUgdHJhY2sgTlxuIgorbXNnc3RyICIgLXQsIC0tdG8gPE4+ICAgICAgc3RvcHBlbiBiZWkgU3B1ciBOXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTMKK21zZ2lkICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIHRyeSB0byByZXBhaXIgdHJhY2tzIGZhaWxlZCBkdXJpbmdcbiIKKyIgICAgICAgICAgICAgICAgICAgICB0aGUgdmVyaWZpY2F0aW9uIChtYXggTiByZXRyaWVzKVxuIgorbXNnc3RyICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIHZlcnN1Y2h0IFNwdXJlbiB6dSByZXBhcmllcmVuLCBkaWUgd8OkaHJlbmRcbiIKKyIgICAgICAgICAgICAgICAgICAgICBkZXIgw5xiZXJwcsO8ZnVuZyBhbHMgZmVobGVyaGFmdCBlcmthbm50XG4iCisiICAgICAgICAgICAgICAgICAgICAgd3VyZGVuIChtYXhpbWFsIE4gVmVyc3VjaGUpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTUKK21zZ2lkICIgLW4sIC0tbm8tdmVyaWZ5ICAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLXZlcmlmeSAgIGtlaW5lIMOcYmVycHLDvGZ1bmcgbmFjaCBkZXIgRm9ybWF0aWVydW5nXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gZnJvbSIKK21zZ3N0ciAiVW5nw7xsdGlnZXMgQXJndW1lbnQgLSBmcm9tIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk4Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHRvIgorbXNnc3RyICJVbmfDvGx0aWdlcyBBcmd1bWVudCAtIHRvIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjAxCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHJlcGFpciIKK21zZ3N0ciAiVW5nw7xsdGlnZXMgQXJndW1lbnQgLSByZXBhaXIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1MQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4NSBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzM4CisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzQ4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODUKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxNiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0MSBkaXNrLXV0aWxzL3BhcnR4LmM6OTMzCisjOiBsb2dpbi11dGlscy9sYXN0LmM6Njg2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM5IG1pc2MtdXRpbHMvbmFtZWkuYzoxMzUKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjMgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODYgc3lzLXV0aWxzL2RtZXNnLmM6NTI0CisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTk4IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzMSBzeXMtdXRpbHMvZnN0cmltLmM6NzcKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1MTkgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6OTMKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjEzMyB0ZXJtLXV0aWxzL21lc2cuYzoxMjkgdGV4dC11dGlscy9tb3JlLmM6NTA0CisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTAzIHRleHQtdXRpbHMvdGFpbGYuYzoyODAKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RhdCBvZiAlcyBmYWlsZWQiCittc2dzdHIgInN0YXQgZsO8ciAlcyBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjQgZGlzay11dGlscy9wYXJ0eC5jOjk5MSBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ4NQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODggc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXM6IGtlaW4gYmxvY2tvcmllbnRpZXJ0ZXMgR2Vyw6R0IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI5Cittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICJBa3R1ZWxsZXIgRm9ybWF0dHlwIGtvbm50ZSBuaWNodCBmZXN0Z2VzdGVsbHQgd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzLXNpZGVkLCAlZCB0cmFja3MsICVkIHNlYy90cmFjay4gVG90YWwgY2FwYWNpdHkgJWQga0IuXG4iCittc2dzdHIgIiVzc2VpdGlnLCAlZCBTcHVyZW4sICVkIFNla3RvcmVuL1NwdXIsIEdlc2FtdGthcGF6aXTDpHQ6ICVka0IuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzIKK21zZ2lkICJEb3VibGUiCittc2dzdHIgIkRvcHBlbHQiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzIKK21zZ2lkICJTaW5nbGUiCittc2dzdHIgIkVpbmZhY2giCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzkKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgImJlbnV0emVyZGVmaW5pZXJ0ZSBTdGFydHNwdXIgw7xiZXJzdGVpZ3QgZGFzIG1lZGllbnNwZXppZmlzY2hlIE1heGltdW0iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDEKK21zZ2lkICJ1c2VyIGRlZmluZWQgZW5kIHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICJiZW51dHplcmRlZmluaWVydGUgRW5kc3B1ciDDvGJlcnN0ZWlndCBkYXMgbWVkaWVuc3BlemlmaXNjaGUgTWF4aW11bSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MworbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSB1c2VyIGRlZmluZWQgZW5kIHRyYWNrIgorbXNnc3RyICJiZW51dHplcmRlZmluaWVydGUgU3RhcnRzcHVyIMO8YmVyc3RlaWd0IGRpZSBiZW51dHplcmRlZmluaWVydGUgRW5kc3B1ciIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI1MSBtaXNjLXV0aWxzL2xvZ2dlci5jOjk4NworbXNnaWQgImNsb3NlIGZhaWxlZCIKK21zZ3N0ciAiU2NobGllw59lbiBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk1IGRpc2stdXRpbHMvZmRpc2suYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkRvIHlvdSByZWFsbHkgd2FudCB0byBxdWl0PyAiCittc2dzdHIgIiIKKyJcbiIKKyJNw7ZjaHRlbiBTaWUgd2lya2xpY2ggYmVlbmRlbj8gIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdCAoZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiV8OkaGxlbiAoVm9yZ2FiZSAlYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjE2MworIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyBkZWZhdWx0IHJlc3BvbnNlICVjLiIKK21zZ3N0ciAiU3RhbmRhcmRhbnR3b3J0ICVjIHdpcmQgdmVyd2VuZGV0LiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjE3NiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjUwIGRpc2stdXRpbHMvZmRpc2suYzozMjUKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTg5IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjc3Cittc2dpZCAiVmFsdWUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiV2VydCBhdcOfZXJoYWxiIGRlcyBCZXJlaWNocy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJXMsIFN0YW5kYXJkICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA4IGRpc2stdXRpbHMvZmRpc2suYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCVzLCBWb3JnYWJlICU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglYy0lYywgU3RhbmRhcmQgJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMTcgZGlzay11dGlscy9mZGlzay5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0PiwgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+LCBWb3JnYWJlICU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMpOiAiCittc2dzdHIgIiVzICglYy0lYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMyBkaXNrLXV0aWxzL2ZkaXNrLmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjM5MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NworbXNnaWQgIiBbWV1lcy9bTl1vOiAiCittc2dzdHIgIiBbSl1hL1tOXWVpbjogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDMzCittc2dpZCAiUGFydGl0aW9uIHR5cGUgKHR5cGUgTCB0byBsaXN0IGFsbCB0eXBlcyk6ICIKK21zZ3N0ciAiUGFydGl0aW9uc3R5cCAoZ2ViZW4gU2llIEwgZWluLCB1bSBhbGxlIFR5cGVuIGF1Znp1bGlzdGVuKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDM0Cittc2dpZCAiSGV4IGNvZGUgKHR5cGUgTCB0byBsaXN0IGFsbCBjb2Rlcyk6ICIKK21zZ3N0ciAiSGV4YWRlemltYWxjb2RlIChnZWJlbiBTaWUgTCBlaW4sIHVtIGFsbGUgQ29kZXMgYXVmenVsaXN0ZW4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1MzYKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIHNldCAoREVQUkVDQVRFRCEpIgorbXNnc3RyICJET1MtS29tcGF0aWJpbGl0w6R0c21hcmtpZXJ1bmcgaXN0IGdlc2V0enQgKFZFUkFMVEVUISkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1MzcKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIG5vdCBzZXQiCittc2dzdHIgIkRPUy1Lb21wYXRpYmlsaXTDpHRzbWFya2llcnVuZyBpc3QgbmljaHQgZ2VzZXR6dCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU1OCBkaXNrLXV0aWxzL2ZkaXNrLmM6NTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3QgZXhpc3QgeWV0ISIKK21zZ3N0ciAiUGFydGl0aW9uICV6dSBleGlzdGllcnQgbm9jaCBuaWNodCEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NjMgZGlzay11dGlscy9mZGlzay5jOjU3MiBsaWJmZGlzay9zcmMvYXNrLmM6OTk1Cittc2dpZCAiVW5rbm93biIKK21zZ3N0ciAiVW5iZWthbm50IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJyVzJyB0byAnJXMnLiIKK21zZ3N0ciAiUGFydGl0aW9uc3R5cCB2b24g4oCeJXPigJwgbmFjaCDigJ4lc+KAnCBnZcOkbmRlcnQuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIlR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQ6ICVzLiIKK21zZ3N0ciAiUGFydGl0aW9uc3R5cCAlenUgdW52ZXLDpG5kZXJ0OiAlcy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTE1czogJXMiCittc2dzdHIgIiUxNXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlczogb2Zmc2V0ID0gJTxQUkl1NjQ+LCBzaXplID0gJXp1IGJ5dGVzLiIKK21zZ3N0ciAiIgorIlxuIgorIiVzOiBQb3NpdGlvbiA9ICU8UFJJdTY0PiwgR3LDtsOfZSA9ICV6dSBCeXRlcy4iCisKKyMgVGhpcyBpcyBvbmx5IHVzZWQgd2hlbiBzdHJlcnJvcihlcnJubykgaXMgbXVjaCB0b28gbG9uZworIzogZGlzay11dGlscy9mZGlzay5jOjY3NworbXNnaWQgImNhbm5vdCBzZWVrIgorbXNnc3RyICJTdWNoZW4gbmljaHQgbcO2Z2xpY2giCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2ODIKK21zZ2lkICJjYW5ub3QgcmVhZCIKK21zZ3N0ciAiTGVzZW4gbmljaHQgbcO2Z2xpY2giCisKKyMgJXMgY2FuIGJlICJTZWt0b3IiIG9yICJaeWxpbmRlciIuCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Njk1IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTkgbGliZmRpc2svc3JjL2Rvcy5jOjkzMworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMTAKK21zZ2lkICJGaXJzdCBzZWN0b3IiCittc2dzdHIgIkVyc3RlciBTZWt0b3IiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMiCittc2dzdHIgIkJMS0dFVFNJWkUtSU9DVEwgZmVobGdlc2NobGFnZW4gYmVpICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRpc2s+ICAgICAgY2hhbmdlIHBhcnRpdGlvbiB0YWJsZVxuIgorIiAlMSRzIFtvcHRpb25zXSAtbCBbPGRpc2s+XSBsaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorbXNnc3RyICIiCisiICUxJHMgW09wdGlvbmVuXSA8RmVzdHBsYXR0ZT4gICAgUGFydGl0aW9uc3RhYmVsbGUgw6RuZGVyblxuIgorIiAlMSRzIFtPcHRpb25lbl0gLWwgPEZlc3RwbGF0dGU+IFBhcnRpdGlvbnN0YWJlbGxlKG4pIGF1Zmxpc3RlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzM5Cittc2dpZCAiIC1iLCAtLXNlY3Rvci1zaXplIDxzaXplPiAgICAgIHBoeXNpY2FsIGFuZCBsb2dpY2FsIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8c2l6ZT4gICAgICBwaHlzaXNjaGUgdW5kIGxvZ2lzY2hlIFNla3Rvcmdyw7bDn2VcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MAorbXNnaWQgIiAtQiwgLS1wcm90ZWN0LWJvb3QgICAgICAgICAgICBkb24ndCBlcmFzZSBib290Yml0cyB3aGVuIGNyZWF0aW5nIGEgbmV3IGxhYmVsXG4iCittc2dzdHIgIiIKKyIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAgQm9vdGJpdHMgbmljaHQgbMO2c2NoZW4sIHdlbm4gZWluZSBuZXVlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEtlbm51bmcgZXJ6ZXVndCB3aXJkXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDEKK21zZ2lkICIgLWMsIC0tY29tcGF0aWJpbGl0eVs9PG1vZGU+XSAgbW9kZSBpcyAnZG9zJyBvciAnbm9uZG9zJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxNb2R1cz5dIEtvbXBhdGliaWxpdMOkdHNtb2R1czog4oCeZG9z4oCcIG9kZXIg4oCebm9uZG9z4oCcIChTdGFuZGFyZClcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MgorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08V2Fubj5dICAgICAgICAgIEF1c2dhYmUgZWluZsOkcmJlbiAo4oCeYXV0b+KAnCwg4oCeYWx3YXlz4oCcIG9kZXIg4oCebmV2ZXLigJwpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDUKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgcGFydGl0aW9ucyBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgUGFydGl0aW9uZW4gYW56ZWlnZW4gdW5kIGJlZW5kZW5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0NgorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgICAgICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxMaXN0ZT4gICAgICAgICAgU3BhbHRlbiBkZXIgQXVzZ2FiZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ3Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgICAgICAgICAgIHJlY29nbml6ZSBzcGVjaWZpZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUgb25seVxuIgorbXNnc3RyICIiCisiIC10IDxUeXA+ICAgICAgICAgICAgICAgICAgICAgIGRpZSBFcmtlbm51bmcgbnVyIHZvbiBiZXN0aW1tdGVuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFydGl0aW9uc3RhYmVsbGVudHlwZW4gZXJ6d2luZ2VuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDgKK21zZ2lkICIgLXUsIC0tdW5pdHNbPTx1bml0Pl0gICAgICAgICAgZGlzcGxheSB1bml0czogJ2N5bGluZGVycycgb3IgJ3NlY3RvcnMnIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXUsIC0tdW5pdHNbPTxFaW5oZWl0Pl0gICAgICAgQW56ZWlnZWVpbmhlaXRlbjog4oCeY3lsaW5kZXJz4oCcIG9kZXIg4oCec2VjdG9yc+KAnCAoU3RhbmRhcmQpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDkKK21zZ2lkICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgZGlzcGxheSBkZXZpY2Ugc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzIFtERVBSRUNBVEVEXVxuIgorbXNnc3RyICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgR2Vyw6R0ZWdyw7bDn2UgaW4gNTEyLUJ5dGUtU2VrdG9yZW4gYW56ZWlnZW4gW1ZFUkFMVEVUXVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzUwCittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKyIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICAgICAgR1LDllNTRSBpbiBCeXRlcyBhbnN0YXR0IGltIG1lbnNjaGVubGVzYmFyZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9ybWF0IGF1c2dlYmVuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTEKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtdywgLS13aXBlIDxNb2R1cz4gICAgICAgICAgICBTaWduYXR1cmVuIGVudGZlcm5lbiAoYXV0bywgYWx3YXlzIG9kZXIgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTIgZGlzay11dGlscy9zZmRpc2suYzoxODUzCisjLCBmdXp6eQorbXNnaWQgIiAtVywgLS13aXBlLXBhcnRpdGlvbnMgPG1vZGU+ICB3aXBlIHNpZ25hdHVyZXMgZnJvbSBuZXcgcGFydGl0aW9ucyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLXcsIC0td2lwZSA8TW9kdXM+ICAgICAgICBTaWduYXR1cmVuIGVudGZlcm5lbiAoYXV0bywgYWx3YXlzIG9kZXIgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTUKK21zZ2lkICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorbXNnc3RyICIgLUMsIC0tY3lsaW5kZXJzIDxBbnphaGw+ICAgICAgZGllIEFuemFobCBkZXIgWnlsaW5kZXIgYW5nZWJlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU2Cittc2dpZCAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBoZWFkc1xuIgorbXNnc3RyICIgLUgsIC0taGVhZHMgPEFuemFobD4gICAgICAgICAgZGllIEFuemFobCBkZXIgS8O2cGZlIGFuZ2ViZW5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1NworbXNnaWQgIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKK21zZ3N0ciAiIC1TLCAtLXNlY3RvcnMgPEFuemFobD4gICAgICAgIGRpZSBBbnphaGwgZGVyIFNla3RvcmVuIHBybyBTcHVyIGFuZ2ViZW5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOAorbXNnaWQgImludmFsaWQgc2VjdG9yIHNpemUgYXJndW1lbnQiCittc2dzdHIgInVuZ8O8bHRpZ2VzIFNla3Rvcmdyw7bDn2VuYXJndW1lbnQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NDAKK21zZ2lkICJpbnZhbGlkIGN5bGluZGVycyBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXMgWnlsaW5kZXJhcmd1bWVudCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg1MgorbXNnaWQgIm5vdCBmb3VuZCBET1MgbGFiZWwgZHJpdmVyIgorbXNnc3RyICJUcmVpYmVyIGbDvHIgRE9TLUJlemVpY2hudW5nIG5pY2h0IGdlZnVuZGVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODU4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29tcGF0aWJpbGl0eSBtb2RlICclcyciCittc2dzdHIgInVuYmVrYW5udGVyIEtvbXBhdGliaWxpdMOkdHNtb2R1cyDigJ4lc+KAnCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg2NworbXNnaWQgImludmFsaWQgaGVhZHMgYXJndW1lbnQiCittc2dzdHIgInVuZ8O8bHRpZ2VzIEvDtnBmZWFyZ3VtZW50IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODczCittc2dpZCAiaW52YWxpZCBzZWN0b3JzIGFyZ3VtZW50IgorbXNnc3RyICJ1bmfDvGx0aWdlcyBTZWt0b3Jhcmd1bWVudCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg5OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNrbGFiZWw6ICVzIgorbXNnc3RyICJuaWNodCB1bnRlcnN0w7x0enRlIEZlc3RwbGF0dGVuYmV6ZWljaG51bmc6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTE2IGRpc2stdXRpbHMvZmRpc2suYzo5MjEgZGlzay11dGlscy9zZmRpc2suYzoyMDQxCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDYKK21zZ2lkICJ1bnN1cHBvcnRlZCB3aXBlIG1vZGUiCittc2dzdHIgIm5pY2h0IHVudGVyc3TDvHR6dGVyIFdpcGUtTW9kdXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MzQKK21zZ2lkICJUaGUgZGV2aWNlIHByb3BlcnRpZXMgKHNlY3RvciBzaXplIGFuZCBnZW9tZXRyeSkgc2hvdWxkIGJlIHVzZWQgd2l0aCBvbmUgc3BlY2lmaWVkIGRldmljZSBvbmx5LiIKK21zZ3N0ciAiRGllIEdlcsOkdGVlaWdlbnNjaGFmdGVuIChTZWt0b3JncsO2w59lIHVuZCBHZW9tZXRyaWUpIHNvbGx0ZW4gbnVyIG1pdCBlaW5lbSBiZXN0aW1tdGVuIEdlcsOkdCB2ZXJ3ZW5kZXQgd2VyZGVuLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk4MgorIywgYy1mb3JtYXQKK21zZ2lkICJXZWxjb21lIHRvIGZkaXNrICglcykuIgorbXNnc3RyICJXaWxsa29tbWVuIGJlaSBmZGlzayAoJXMpLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk4NCBkaXNrLXV0aWxzL3NmZGlzay5jOjE1ODgKK21zZ2lkICIiCisiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorIkJlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLlxuIgorbXNnc3RyICIiCisiw4RuZGVydW5nZW4gd2VyZGVuIHZvcmVyc3QgbnVyIGltIFNwZWljaGVyIHZvcmdlbm9tbWVuLCBiaXMgU2llIHNpY2hcbiIKKyJlbnRzY2hlaWRlbiwgc2llIHp1IHNjaHJlaWJlbi5cbiIKKyJTZWllbiBTaWUgdm9yc2ljaHRpZywgYmV2b3IgU2llIGRlbiBTY2hyZWliYmVmZWhsIGFud2VuZGVuLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAwMSBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICVzIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmUuIgorbXNnc3RyICJEYXMgR2Vyw6R0ICVzIGVudGjDpGx0IGJlcmVpdHMgZWluZSAlcy1TaWduYXR1ci4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDEwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU0MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0ODQKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyMgorbXNnaWQgIlRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIkRpZSBTaWduYXR1ciB3aXJkIGR1cmNoIGVpbmVuIFNjaHJlaWJiZWZlaGwgZW50ZmVybnQuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxMyBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjUKK21zZ2lkICJJdCBpcyBzdHJvbmdseSByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSBkZXZpY2Ugd2l0aCB3aXBlZnMoOCksIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICIlZXMgd2lyZCBkcmluZ2VuZCBlbXBmb2hsZW4sIGRhcyBHZXLDpHQgbWl0IGRlbSBCZWZlaGwgd2lwZWZzKDgpIHp1IGxlZXJlbiwgdW0gbcO2Z2xpY2hlIEtvbGxpc2lvbmVuIHp1IHZlcm1laWRlbi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDIyCittc2dpZCAiQSBoeWJyaWQgR1BUIHdhcyBkZXRlY3RlZC4gWW91IGhhdmUgdG8gc3luYyB0aGUgaHlicmlkIE1CUiBtYW51YWxseSAoZXhwZXJ0IGNvbW1hbmQgJ00nKS4iCittc2dzdHIgIkh5YnJpZC1HUFQgd3VyZGUgZXJrYW5udC4gU2llIG3DvHNzZW4gZGVuIEh5YnJpZC1NQlIgbWFudWVsbCBhYmdsZWljaGVuIChFeHBlcnRlbmJlZmVobCDigJ5N4oCcKS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICJGZXN0cGxhdHRlICVzOiAlcywgJWp1IEJ5dGVzLCAlanUgU2VrdG9yZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlb21ldHJ5OiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzL3RyYWNrLCAlbGx1IGN5bGluZGVycyIKK21zZ3N0ciAiR2VvbWV0cmllOiAlZCBLw7ZwZmUsICVsbHUgU2VrdG9yZW4vU3B1ciwgJWxsdSBaeWxpbmRlciIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NTkgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuaXRzOiAlcyBvZiAlZCAqICVsZCA9ICVsZCBieXRlcyIKK21zZ3N0ciAiRWluaGVpdGVuOiAlcyB2b24gJWQgKiAlbGQgPSAlbGQgQnl0ZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY1IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiU2VrdG9yZ3LDtsOfZSAobG9naXNjaC9waHlzaWthbGlzY2gpOiAlbHUgQnl0ZXMgLyAlbHUgQnl0ZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkkvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIkUvQS1HcsO2w59lIChtaW5pbWFsL29wdGltYWwpOiAlbHUgQnl0ZXMgLyAlbHUgQnl0ZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkFsaWdubWVudCBvZmZzZXQ6ICVsdSBieXRlcyIKK21zZ3N0ciAiQXVzcmljaHR1bmdzLVBvc2l0aW9uOiAlbHUgQnl0ZSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHR5cGU6ICVzIgorbXNnc3RyICJGZXN0cGxhdHRlbmJlemVpY2hudW5nc3R5cDogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIkZlc3RwbGF0dGVuYmV6ZWljaG5lcjogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjEwOSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTkKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNDQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCittc2dzdHIgIlp1d2Vpc2VuIGRlcyBJdGVyYXRvcnMgZmVobGdlc2NobGFnZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjExNSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjUKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJFcyBrb25udGUga2VpbiBQTGF0eiBmw7xyIGRpZSBBdXNnYWJldGFiZWxsZSB6dWdld2llc2VuIHdlcmRlbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTU2IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI0OQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgbGluZSIKK21zZ3N0ciAiUExhdHogZsO8ciBkaWUgQXVzZ2FiZXplaWxlIGtvbm50ZSBuaWNodCB6dWdld2llc2VuIHdlcmRlbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3Qgc3RhcnQgb24gcGh5c2ljYWwgc2VjdG9yIGJvdW5kYXJ5LiIKK21zZ3N0ciAiUGFydGl0aW9uICV6dSBiZWdpbm50IG5pY2h0IGFuIGVpbmVyIHBoeXNpa2FsaXNjaGVuIFNla3RvcmdyZW56ZS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE5MgorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4iCittc2dzdHIgIlBhcnRpdGlvbnN0YWJlbGxlbmVpbnRyw6RnZSBzaW5kIG5pY2h0IGluIEZlc3RwbGF0dGVuLVJlaWhlbmZvbGdlLiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE1IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAwCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxMiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NCBsaWJmZGlzay9zcmMvc3VuLmM6MTExMAorbXNnaWQgIlN0YXJ0IgorbXNnc3RyICJBbmZhbmciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMQorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTMgbGliZmRpc2svc3JjL3NnaS5jOjExNTUgbGliZmRpc2svc3JjL3N1bi5jOjExMTEKK21zZ2lkICJFbmQiCittc2dzdHIgIkVuZGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNyBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMgorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTQgbGliZmRpc2svc3JjL3NnaS5jOjExNTYgbGliZmRpc2svc3JjL3N1bi5jOjExMTIKK21zZ2lkICJTZWN0b3JzIgorbXNnc3RyICJTZWt0b3JlbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE5IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzA0CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1OCBsaWJmZGlzay9zcmMvc3VuLmM6MTExNAorbXNnaWQgIlNpemUiCittc2dzdHIgIkdyw7bDn2UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI2NworIywgYy1mb3JtYXQKK21zZ2lkICJVbnBhcnRpdGlvbmVkIHNwYWNlICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiVW5wYXJ0aXRpb25pZXJ0ZXIgQmVyZWljaCAlczogJXMsICVqdSBCeXRlcywgJWp1IFNla3RvcmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLW8pOlxuIgorbXNnc3RyICIiCisiXG4iCisiVmVyZsO8Z2JhcmUgU3BhbHRlbiAoZsO8ciAtLW8pOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICIlcyB1bmJla2FubnRlIFNwYWx0ZTogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk1Cittc2dpZCAiR2VuZXJpYyIKK21zZ3N0ciAiQWxsZ2VtZWluIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NgorbXNnaWQgImRlbGV0ZSBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiRWluZSBQYXJ0aXRpb24gbMO2c2NoZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk3Cittc2dpZCAibGlzdCBmcmVlIHVucGFydGl0aW9uZWQgc3BhY2UiCittc2dzdHIgIkdyw7bDn2UgZGVzIHVucGFydGl0aW9uaWVydGVuIEJlcmVpY2hzIGFuemVpZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OAorbXNnaWQgImxpc3Qga25vd24gcGFydGl0aW9uIHR5cGVzIgorbXNnc3RyICJEaWUgYmVrYW5udGVuIERhdGVpc3lzdGVtdHlwZW4gYW56ZWlnZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5Cittc2dpZCAiYWRkIGEgbmV3IHBhcnRpdGlvbiIKK21zZ3N0ciAiRWluZSBuZXVlIFBhcnRpdGlvbiBhbmxlZ2VuIgorCisjICJOdXIgZGllIFBhcnRpdGlvbnN0YWJlbGxlIGF1c2dlYmVuIiAoam9leSkKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMAorbXNnaWQgInByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIkRpZSBQYXJ0aXRpb25zdGFiZWxsZSBhdXNnZWJlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAxCittc2dpZCAiY2hhbmdlIGEgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIkVpbmVuIFBhcnRpdGlvbnN0eXAgw6RuZGVybiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAyCittc2dpZCAidmVyaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIkRpZSBQYXJ0aXRpb25zdGFiZWxsZSDDvGJlcnByw7xmZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMworbXNnaWQgInByaW50IGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICJJbmZvcm1hdGlvbmVuIMO8YmVyIGVpbmUgUGFydGl0aW9uIGF1c2dlYmVuIgorCisjIFhYWAorIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICJSb2hkYXRlbiB2b20gZXJzdGVuIFNla3RvciBkZXMgR2Vyw6R0cyBhdXNnZWJlbiIKKworIyBYWFgKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNgorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZGlza2xhYmVsIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAiUm9oZGF0ZW4gdm9uIGRlciBGZXN0cGxhdHRlbmJlemVpY2hudW5nIGRlcyBHZXLDpHRzIGF1c2dlYmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDcKK21zZ2lkICJmaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAiUGFydGl0aW9uc3JlaWhlbmZvbGdlIGtvcnJpZ2llcmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDkKK21zZ2lkICJNaXNjIgorbXNnc3RyICJTb25zdGlnZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMAorbXNnaWQgInByaW50IHRoaXMgbWVudSIKK21zZ3N0ciAiRGllc2VzIE1lbsO8IGFuemVpZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTEKK21zZ2lkICJjaGFuZ2UgZGlzcGxheS9lbnRyeSB1bml0cyIKK21zZ3N0ciAiRGllIEVpbmhlaXQgZsO8ciBkaWUgQW56ZWlnZS9FaW5nYWJlIMOkbmRlcm4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMgorbXNnaWQgImV4dHJhIGZ1bmN0aW9uYWxpdHkgKGV4cGVydHMgb25seSkiCittc2dzdHIgIlp1c8OkdHpsaWNoZSBGdW5rdGlvbmVuIChudXIgZsO8ciBFeHBlcnRlbikiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNAorbXNnaWQgIlNjcmlwdCIKK21zZ3N0ciAiU2tyaXB0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTUKK21zZ2lkICJsb2FkIGRpc2sgbGF5b3V0IGZyb20gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICJQbGF0dGVubGF5b3V0IGF1cyBlaW5lciBzZmRpc2stU2tyaXB0ZGF0ZWkgbGFkZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNgorbXNnaWQgImR1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICJQbGF0dGVubGF5b3V0IGluIGVpbmUgc2ZkaXNrLVNrcmlwdGRhdGVpIHNjaHJlaWJlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE4Cittc2dpZCAiU2F2ZSAmIEV4aXQiCittc2dzdHIgIlNwZWljaGVybiB1bmQgQmVlbmRlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE5Cittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdCIKK21zZ3N0ciAiRGllIFRhYmVsbGUgYXVmIGRpZSBGZXN0cGxhdHRlIHNjaHJlaWJlbiB1bmQgZGFzIFByb2dyYW1tIGJlZW5kZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMAorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2siCittc2dzdHIgIlRhYmVsbGUgYXVmIEZlc3RwbGF0dGUgc2NocmVpYmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjEKK21zZ2lkICJxdWl0IHdpdGhvdXQgc2F2aW5nIGNoYW5nZXMiCittc2dzdHIgIkJlZW5kZW4gb2huZSBTcGVpY2hlcm4gZGVyIMOEbmRlcnVuZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjIKK21zZ2lkICJyZXR1cm4gdG8gbWFpbiBtZW51IgorbXNnc3RyICJadXLDvGNrIHp1bSBIYXVwdG1lbsO8IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjQKK21zZ2lkICJyZXR1cm4gZnJvbSBCU0QgdG8gRE9TIgorbXNnc3RyICJ2b24gQlNEIHp1IERPUyB6dXLDvGNra2VocmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzUKK21zZ2lkICJDcmVhdGUgYSBuZXcgbGFiZWwiCittc2dzdHIgIkVpbmUgbmV1ZSBCZXplaWNobnVuZyBlcnN0ZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNgorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBHUFQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJFaW5lIG5ldWUgbGVlcmUgR1BULVBhcnRpdGlvbnN0YWJlbGxlIGVyc3RlbGxlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM3Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFNHSSAoSVJJWCkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJFaW5lIG5ldWUgbGVlcmUgU0dJIChJUklYKS1QYXJ0aXRpb25zdGFiZWxsZSBlcnN0ZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOAorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJFaW5lIG5ldWUgbGVlcmUgRE9TLVBhcnRpdGlvbnN0YWJlbGxlIGVyc3RlbGxlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFN1biBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIkVpbmUgbmV1ZSBsZWVyZSBTdW4tUGFydGl0aW9uc3RhYmVsbGUgZXJzdGVsbGVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDMKK21zZ2lkICJjcmVhdGUgYW4gSVJJWCAoU0dJKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIkVpbmUgSVJJWCAoU0dJKS1QYXJ0aXRpb25zdGFiZWxsZSBlcnN0ZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1MgorbXNnaWQgIkdlb21ldHJ5IgorbXNnc3RyICJHZW9tZXRyaWUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1MworbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICJEaWUgQW56YWhsIGRlciBaeWxpbmRlciDDpG5kZXJuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTQKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICJEaWUgQW56YWhsIGRlciBLw7ZwZmUgw6RuZGVybiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU1Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrIgorbXNnc3RyICJEaWUgQW56YWhsIGRlciBTZWt0b3Jlbi9TcHVyIMOkbmRlcm4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NQorbXNnaWQgIkdQVCIKK21zZ3N0ciAiR1BUIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjUKK21zZ2lkICJjaGFuZ2UgZGlzayBHVUlEIgorbXNnc3RyICJGZXN0cGxhdHRlbi1HVUlEIMOkbmRlcm4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NgorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiUGFydGl0aW9uc25hbWVuIMOkbmRlcm4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NworbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiUGFydGl0aW9ucy1VVUlEIMOkbmRlcm4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgdGFibGUgbGVuZ3RoIgorbXNnc3RyICJMw6RuZ2Uga29ubnRlIG5pY2h0IGVpbmdlbGVzZW4gd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjkKK21zZ2lkICJlbnRlciBwcm90ZWN0aXZlL2h5YnJpZCBNQlIiCittc2dzdHIgIkdlc2Now7x0enRlbi9IeWJyaWQtTUJSIGVpbmdlYmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzIKK21zZ2lkICJ0b2dnbGUgdGhlIGxlZ2FjeSBCSU9TIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIihEZSlBa3RpdmllcmVuIGRlciB2ZXJhbHRldGVuIEJJT1MtQm9vdGbDpGhpZy1NYXJraWVydW5nIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzMKK21zZ2lkICJ0b2dnbGUgdGhlIG5vIGJsb2NrIElPIHByb3RvY29sIGZsYWciCittc2dzdHIgIihEZSlBa3RpdmllcnVuZyBkZXIgS2Vpbi1CbG9jay1FQS1Qcm90b2tvbGwtTWFya2llcnVuZyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc0Cittc2dpZCAidG9nZ2xlIHRoZSByZXF1aXJlZCBwYXJ0aXRpb24gZmxhZyIKK21zZ3N0ciAiKERlKUFrdGl2aWVyZW4gZGVyIGJlbsO2dGlndGVuIFBhcnRpdGlvbnNtYXJraWVydW5nIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzUKK21zZ2lkICJ0b2dnbGUgdGhlIEdVSUQgc3BlY2lmaWMgYml0cyIKK21zZ3N0ciAiR1VJRC1zcGV6aWZpc2NoZSBCaXRzIGFrdGl2aWVyZW4vZGVha3RpdmllcmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODUKK21zZ2lkICJTdW4iCittc2dzdHIgIlN1biIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg2Cittc2dpZCAidG9nZ2xlIHRoZSByZWFkLW9ubHkgZmxhZyIKK21zZ3N0ciAiKERlKUFrdGl2aWVyZW4gZGVyIE51ci1MZXNlbi1NYXJraWVydW5nIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODcKK21zZ2lkICJ0b2dnbGUgdGhlIG1vdW50YWJsZSBmbGFnIgorbXNnc3RyICIoRGUpQWt0aXZpZXJlbiBkZXIgRWluaMOkbmdiYXItTWFya2llcnVuZyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJEaWUgQW56YWhsIGRlciBhbHRlcm5pZXJlbmRlbiBaeWxpbmRlciDDpG5kZXJuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTAKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJEaWUgQW56YWhsIGRlciBFeHRyYS1TZWt0b3JlbiBwcm8gWnlsaW5kZXIgw6RuZGVybiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkxCittc2dpZCAiY2hhbmdlIGludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICJEZW4gSW50ZXJsZWF2ZS1GYWt0b3Igw6RuZGVybiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkyCittc2dpZCAiY2hhbmdlIHJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICJVbWRyZWh1bmdzZ2VzY2h3aW5kaWdrZWl0IMOkbmRlcm4gKFUvbWluKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkzCittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIkRpZSBBbnphaGwgZGVyIHBoeXNpc2NoZW4gWnlsaW5kZXIgw6RuZGVybiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjAyCittc2dpZCAiU0dJIgorbXNnc3RyICJTR0kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwMworbXNnaWQgInNlbGVjdCBib290YWJsZSBwYXJ0aXRpb24iCittc2dzdHIgIlfDpGhsZW4gZGVyIGJvb3Rmw6RoaWdlbiBQYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNAorbXNnaWQgImVkaXQgYm9vdGZpbGUgZW50cnkiCittc2dzdHIgIkJlYXJiZWl0ZW4gZGVzIOKAnmJvb3RmaWxl4oCcLUVpbnRyYWdzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDUKK21zZ2lkICJzZWxlY3Qgc2dpIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICJEaWUgc2dpLXN3YXAtUGFydGl0aW9uIGF1c3fDpGhsZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNgorbXNnaWQgImNyZWF0ZSBTR0kgaW5mbyIKK21zZ3N0ciAiU0dJLUluZm8gZXJzdGVsbGVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTUKK21zZ2lkICJET1MgKE1CUikiCittc2dzdHIgIkRPUyAoTUJSKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE2Cittc2dpZCAidG9nZ2xlIGEgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiKERlKUFrdGl2aWVyZW4gZGVyIGJvb3Rmw6RoaWctTWFya2llcnVuZyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE3Cittc2dpZCAiZWRpdCBuZXN0ZWQgQlNEIGRpc2tsYWJlbCIKK21zZ3N0ciAidmVyc2NoYWNodGVsdGUgQlNELUZlc3RwbGF0dGVuYmV6ZWljaG51bmcgYmVhcmJlaXRlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE4Cittc2dpZCAidG9nZ2xlIHRoZSBkb3MgY29tcGF0aWJpbGl0eSBmbGFnIgorbXNnc3RyICIoRGUpQWt0aXZpZXJlbiBkZXIgRE9TLUtvbXBhdGliaWxpdMOkdHNtYXJraWVydW5nIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjAKK21zZ2lkICJtb3ZlIGJlZ2lubmluZyBvZiBkYXRhIGluIGEgcGFydGl0aW9uIgorbXNnc3RyICJEZW4gRGF0ZW5hbmZhbmcgZWluZXIgUGFydGl0aW9uIHZlcnNjaGllYmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjEKK21zZ2lkICJjaGFuZ2UgdGhlIGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiRmVzdHBsYXR0ZW5iZXplaWNobmVyIMOkbmRlcm4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMworbXNnaWQgInJldHVybiBmcm9tIHByb3RlY3RpdmUvaHlicmlkIE1CUiB0byBHUFQiCittc2dzdHIgInZvbiBnZXNjaMO8dHp0ZW0vSHlicmlkLU1CUiB6dSBHUFQgenVyw7xja2tlaHJlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjMzCittc2dpZCAiQlNEIgorbXNnc3RyICJCU0QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNAorbXNnaWQgImVkaXQgZHJpdmUgZGF0YSIKK21zZ3N0ciAiTGF1ZndlcmtzZGF0ZW4gYmVhcmJlaXRlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM1Cittc2dpZCAiaW5zdGFsbCBib290c3RyYXAiCittc2dzdHIgIkJvb3RzdHJhcCBpbnN0YWxsaWVyZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNgorbXNnaWQgInNob3cgY29tcGxldGUgZGlza2xhYmVsIgorbXNnc3RyICJLb21wbGV0dGUgRmVzdHBsYXR0ZW5iZXplaWNobnVuZyBhbnplaWdlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM3Cittc2dpZCAibGluayBCU0QgcGFydGl0aW9uIHRvIG5vbi1CU0QgcGFydGl0aW9uIgorbXNnc3RyICJCU0QtUGFydGl0aW9uIG1pdCBOaWNodC1CU0QtUGFydGl0aW9uIHZlcmtuw7xwZmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHAgKGV4cGVydCBjb21tYW5kcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJIaWxmZSAoRXhwZXJ0ZW5iZWZlaGxlKTpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzcxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI2NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscDpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkhpbGZlOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91J3JlIGVkaXRpbmcgbmVzdGVkICclcycgcGFydGl0aW9uIHRhYmxlLCBwcmltYXJ5IHBhcnRpdGlvbiB0YWJsZSBpcyAnJXMnLiIKK21zZ3N0ciAiU2llIGJlYXJiZWl0ZW4gZWluZSB2ZXJzY2hhY2h0ZWx0ZSDigJ4lc+KAnC1QYXJ0aXRpb25zdGFiZWxsZSwgZGllIHByaW3DpHJlIFBhcnRpdGlvbnN0YWJlbGxlIGlzdCDigJ4lc+KAnC4iCisKKyMgVGhhdCBzb3VuZHMgcHJldHR5IHVtbW3igKYKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMQorbXNnaWQgIkV4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJFeHBlcnRlbmJlZmVobCAobSBmw7xyIEhpbGZlKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjMKK21zZ2lkICJDb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJCZWZlaGwgKG0gZsO8ciBIaWxmZSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVjOiB1bmtub3duIGNvbW1hbmQiCittc2dzdHIgIiVjOiB1bmJla2FubnRlciBCZWZlaGwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ1OCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODUKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lIgorbXNnc3RyICJHZWJlbiBTaWUgZGVuIE5hbWVuIGRlciBTa3JpcHRkYXRlaSBlaW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ3MQorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgYXBwbGllZC4iCittc2dzdHIgIkRhcyBTa3JpcHQgd3VyZGUgZXJmb2xncmVpY2ggYW5nZXdlbmRldC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ5NworbXNnaWQgIkZhaWxlZCB0byB0cmFuc2Zvcm0gZGlzayBsYXlvdXQgaW50byBzY3JpcHQiCittc2dzdHIgIkRhcyBQbGF0dGVubGF5b3V0IGtvbm50ZSBuaWNodCBhbHMgU2tyaXB0IGZvcm11bGllcnQgd2VyZGVuLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTExCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBzYXZlZC4iCittc2dzdHIgIkRhcyBTa3JpcHQgd3VyZGUgZXJmb2xncmVpY2ggZ2VzcGVpY2hlcnQuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzQgZGlzay11dGlscy9zZmRpc2suYzoxNDc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIlBhcnRpdGlvbiAlenU6IGVudGjDpGx0IFNla3RvciAwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzcgZGlzay11dGlscy9zZmRpc2suYzoxNDc5CisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgc2lnbmF0dXJlPyIKK21zZ3N0ciAiV29sbGVuIFNpZSBkaWUgUGFydGl0aW9uc2RhdGVuIHZlcnNjaGllYmVuPyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTc1Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAiU2NocmVpYmVuIGRlciBGZXN0cGxhdHRlbmJlemVpY2hudW5nIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjEzCittc2dpZCAiRmFpbGVkIHRvIGZpeCBwYXJ0aXRpb25zIG9yZGVyLiIKK21zZ3N0ciAiUGFydGl0aW9uc3JlaWhlbmZvbGdlIGtvbm50ZSBuaWNodCBrb3JyaWdpZXJ0IHdlcmRlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjE1Cittc2dpZCAiUGFydGl0aW9ucyBvcmRlciBmaXhlZC4iCittc2dzdHIgIlBhcnRpdGlvbnNyZWloZW5mb2xnZSBrb3JyaWdpZXJ0LiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiUGFydGl0aW9uICV6dSBrb25udGUgbmljaHQgZ2Vsw7ZzY2h0IHdlcmRlbi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY2MAorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gY3lsaW5kZXJzIChERVBSRUNBVEVEISkuIgorbXNnc3RyICJEaWUgRWluaGVpdCBmw7xyIGRpZSBBbnplaWdlL0VpbmdhYmUgaW4gWnlsaW5kZXIgd2lyZCBnZcOkbmRlcnQgKFZFUkFMVEVUISkuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjIKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIHNlY3RvcnMuIgorbXNnc3RyICJEaWUgRWluaGVpdCBmw7xyIGRpZSBBbnplaWdlL0VpbmdhYmUgaW4gU2VrdG9yZW4gd2lyZCBnZcOkbmRlcnQuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NzIgZGlzay11dGlscy9mZGlzay1tZW51LmM6ODQyCittc2dpZCAiTGVhdmluZyBuZXN0ZWQgZGlza2xhYmVsLiIKK21zZ3N0ciAiVmVyc2NoYWNodGVsdGUgRmVzdHBsYXR0ZW5iZXplaWNobnVuZyB3aXJkIHZlcmxhc3Nlbi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjcwOQorbXNnaWQgIk5ldyBtYXhpbXVtIGVudHJpZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzE5Cittc2dpZCAiRW50ZXJpbmcgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIGRpc2tsYWJlbC4iCittc2dzdHIgIkdlc2Now7x0enRlci9IeWJyaWQtTUJSIHdpcmQgZWluZ2VnZWJlbi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjczNQorbXNnaWQgIk5ldyBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIk5ldWUgVVVJRCAoaW0gOC00LTQtNC0xMi1Gb3JtYXQpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NTAKK21zZ2lkICJOZXcgbmFtZSIKK21zZ3N0ciAiTmV1ZXIgTmFtZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6ODEzCittc2dpZCAiRW50ZXJpbmcgbmVzdGVkIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICJWZXJzY2hhY2h0ZWx0ZSBCU0QtRmVzdHBsYXR0ZW5iZXplaWNobnVuZyB3aXJkIGVpbmdlZ2ViZW4uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OTgKK21zZ2lkICJOdW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICJBbnphaGwgZGVyIFp5bGluZGVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAyCittc2dpZCAiTnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICJBbnphaGwgZGVyIEvDtnBmZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAwNgorbXNnaWQgIk51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJBbnphaGwgZGVyIFNla3RvcmVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZFxuIgorbXNnc3RyICIlcyBpc3QgZWluZ2Vow6RuZ3RcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudGVkXG4iCittc2dzdHIgIiVzIGlzdCBuaWNodCBlaW5nZWjDpG5ndFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMzEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3NAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4MSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjM1CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjUzIGRpc2stdXRpbHMvc2ZkaXNrLmM6Mjk3IGxpYmZkaXNrL3NyYy9ic2QuYzo2NDYKKyM6IGxpYi9wYXRoLmM6MTEwIGxpYi9wYXRoLmM6MTMxIGxpYi9wYXRoLmM6MTUyIGxpYi9wYXRoLmM6MjAwCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjEzIGxvZ2luLXV0aWxzL2xhc3QuYzoyNTAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjY2NAorIzogc3lzLXV0aWxzL3NldHByaXYuYzoyMzkgdGVybS11dGlscy9zZXR0ZXJtLmM6NzE3IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3NAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Nzc4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc4NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCAlcyIKK21zZ3N0ciAiJXMga29ubnRlIG5pY2h0IGdlbGVzZW4gd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMzMgbGliL3BhdGguYzoxMzMgbGliL3BhdGguYzoxNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFyc2UgZXJyb3I6ICVzIgorbXNnc3RyICJFaW5sZXNlZmVobGVyOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJWZXJ6ZWljaG5pcyAlcyBrYW5uIG5pY2h0IGFuZ2VsZWd0IHdlcmRlbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzczCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvY2tpbmcgZGlzayBieSAlcyAuLi4gIgorbXNnc3RyICJEYXRlbnRyw6RnZXIgd2lyZCB2b24gJXMgZ2VzcGVycnQg4oCmIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiKHdhaXRpbmcpICIKK21zZ3N0ciAiKHdhcnRlbikgIgorCisjLiBUUkFOU0xBVE9SUzogVGhlc2UgYXJlIGZvbGxvd3VwcyB0byAiTG9ja2luZyBkaXNrLi4uIi4KKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5NAorbXNnaWQgInN1Y2NlZWRlZCIKK21zZ3N0ciAiZXJmb2xncmVpY2ggYmVlbmRldCIKKworIzogZGlzay11dGlscy9mc2NrLmM6Mzk0Cittc2dpZCAiZmFpbGVkIgorbXNnc3RyICJmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDEyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVubG9ja2luZyAlcy5cbiIKK21zZ3N0ciAiJXMgd2lyZCBlbnRzcGVycnQuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0dXAgZGVzY3JpcHRpb24gZm9yICVzIgorbXNnc3RyICJFaW5yaWNodHVuZyBlaW5lciBCZXNjaHJlaWJ1bmcgZsO8ciAlcyBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ3NCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3ODIgbWlzYy11dGlscy9sc2Jsay5jOjQzMworIzogc3lzLXV0aWxzL21vdW50LmM6MTAyIHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6MTkgc3lzLXV0aWxzL3Vtb3VudC5jOjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiBFaW5sZXNlZmVobGVyIGluIFplaWxlICVkIC0tIGlnbm9yaWVydCIKKworIzogZGlzay11dGlscy9mc2NrLmM6NTA2IGRpc2stdXRpbHMvZnNjay5jOjUwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIGZzdGFiIgorbXNnc3RyICIlczogRWlubGVzZW4gZGVyIGZzdGFiIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njc5IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTY4IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDM0CisjOiBsb2dpbi11dGlscy92aXB3LmM6MjA0IHN5cy11dGlscy9mbG9jay5jOjM0NSBzeXMtdXRpbHMvbnNlbnRlci5jOjE1MworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxNiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIxOSBzeXMtdXRpbHMvdW5zaGFyZS5jOjQyMAorIzogdGVybS11dGlscy9zY3JpcHQuYzo3ODAKK21zZ2lkICJmb3JrIGZhaWxlZCIKK21zZ3N0ciAi4oCeZm9ya+KAnCBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEF1c2bDvGhydW5nIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3NzQKK21zZ2lkICJ3YWl0OiBubyBtb3JlIGNoaWxkIHByb2Nlc3M/IT8iCittc2dzdHIgIk1vbWVudDogS2VpbmUgd2VpdGVyZW4gS2luZHByb3plc3NlPyE/IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3Nzcgc3lzLXV0aWxzL2Zsb2NrLmM6MzYzIHN5cy11dGlscy9zd2Fwb24uYzozNDgKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDA0IHN5cy11dGlscy91bnNoYXJlLmM6NDI1Cittc2dpZCAid2FpdHBpZCBmYWlsZWQiCittc2dzdHIgIndhaXRwaWQgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZy4uLiAlcyBmb3IgZGV2aWNlICVzIGV4aXRlZCB3aXRoIHNpZ25hbCAlZC4iCittc2dzdHIgIldhcm51bmcg4oCmICVzIGbDvHIgR2Vyw6R0ICVzIGJyYWNoIG1pdCBTaWduYWwgJWQgYWIuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXM6IHN0YXR1cyBpcyAleCwgc2hvdWxkIG5ldmVyIGhhcHBlbi4iCittc2dzdHIgIiVzICVzOiBTdGF0dXMgaXN0ICV4LCBzb2xsdGUgbmllIHBhc3NpZXJlbi4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjg0NworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5pc2hlZCB3aXRoICVzIChleGl0IHN0YXR1cyAlZClcbiIKK21zZ3N0ciAiQWJnZXNjaGxvc3NlbiBtaXQgJXMgKEJlZW5kaWd1bmdzc3RhdHVzICVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgJWQgKCVtKSB3aGlsZSBleGVjdXRpbmcgZnNjay4lcyBmb3IgJXMiCittc2dzdHIgIkZlaGxlciAlZCAoJW0pIHfDpGhyZW5kIGRlciBBdXNmw7xocnVuZyB2b24gZnNjay4lcyBmw7xyICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5OTEKK21zZ2lkICIiCisiRWl0aGVyIGFsbCBvciBub25lIG9mIHRoZSBmaWxlc3lzdGVtIHR5cGVzIHBhc3NlZCB0byAtdCBtdXN0IGJlIHByZWZpeGVkXG4iCisid2l0aCAnbm8nIG9yICchJy4iCittc2dzdHIgIiIKKyJFbnR3ZWRlciBhbGxlbiBvZGVyIGtlaW5lbSBkZXIgbWl0IC10IMO8YmVyZ2ViZW5lbiBEYXRlaXN5c3RlbXR5cGVuXG4iCisibXVzcyBlaW4g4oCebm/igJwgb2RlciDigJ4h4oCcIHZvcmFuZ2VzdGVsbHQgd2VyZGVuLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgYmFkIGxpbmUgaW4gL2V0Yy9mc3RhYjogYmluZCBtb3VudCB3aXRoIG5vbnplcm8gZnNjayBwYXNzIG51bWJlciIKK21zZ3N0ciAiJXM6IHVuZ8O8bHRpZ2UgWmVpbGUgaW4gL2V0Yy9mc3RhYiB3aXJkIMO8YmVyc3BydW5nZW46IEVpbmjDpG5nZW4gbWl0IGVpbmVyIER1cmNobGF1Zm51bW1lciB1bmdsZWljaCBOdWxsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBub25leGlzdGVudCBkZXZpY2VcbiIKK21zZ3N0ciAiJXM6IG5pY2h0IGV4aXN0aWVyZW5kZXMgR2Vyw6R0IHdpcmQgw7xiZXJzcHJ1bmdlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub25leGlzdGVudCBkZXZpY2UgKFwibm9mYWlsXCIgZnN0YWIgb3B0aW9uIG1heSBiZSB1c2VkIHRvIHNraXAgdGhpcyBkZXZpY2UpXG4iCittc2dzdHIgIiVzOiBuaWNodCB2b3JoYW5kZW5lcyBHZXLDpHQgKOKAnm5vZmFpbOKAnC1mc3RhYi1PcHRpb24ga2FubiB2ZXJ3ZW5kZXQgd2VyZGVuLCB1bSBkaWVzZXMgR2Vyw6R0IHp1IMO8YmVyc3ByaW5nZW4pXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIHVua25vd24gZmlsZXN5c3RlbSB0eXBlXG4iCittc2dzdHIgIiVzOiB1bmJla2FubnRlciBEYXRlaXN5c3RlbXR5cCB3aXJkIMO8YmVyc3BydW5nZW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hlY2sgJXM6IGZzY2suJXMgbm90IGZvdW5kIgorbXNnc3RyICIlcyBrYW5uIG5pY2h0IMO8YmVycHLDvGZ0IHdlcmRlbjogZnNjay4lcyBuaWNodCBnZWZ1bmRlbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTI1OQorbXNnaWQgIkNoZWNraW5nIGFsbCBmaWxlIHN5c3RlbXMuXG4iCittc2dzdHIgIsOcYmVycHLDvGZ1bmcgYWxsZXIgRGF0ZWlzeXN0ZW1lLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzUwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0td2FpdGluZy0tIChwYXNzICVkKVxuIgorbXNnc3RyICItLXdhcnRlbi0tIChEdXJjaGdhbmcgJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAtLSBbZnMtb3B0aW9uc10gWzxmaWxlc3lzdGVtPiAuLi5dXG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIC0tIFtmcy1PcHRpb25lbl0gWzxEYXRlaXN5c3RlbT4g4oCmXVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzc5Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkVpbiBMaW51eC1EYXRlaXN5c3RlbSDDvGJlcnByw7xmZW4gdW5kIHJlcGFyaWVyZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODIKK21zZ2lkICIgLUEgICAgICAgICBjaGVjayBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1BICAgICAgICAgYWxsZSBEYXRlaXN5c3RlbWUgw7xiZXJwcsO8ZmVuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODMKK21zZ2lkICIgLUMgWzxmZD5dICBkaXNwbGF5IHByb2dyZXNzIGJhcjsgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiAtQyBbPGZkPl0gIEZvcnRzY2hyaXR0c2JhbGtlbiBhbnplaWdlbjsgRGF0ZWlkZXNrcmlwdG9yIGlzdCBmw7xyIEdVSXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NAorbXNnaWQgIiAtbCAgICAgICAgIGxvY2sgdGhlIGRldmljZSB0byBndWFyYW50ZWUgZXhjbHVzaXZlIGFjY2Vzc1xuIgorbXNnc3RyICIgLWwgICAgICAgICBHZXLDpHQgc3BlcnJlbiwgdW0gZXhrbHVzaXZlbiBadWdyaWZmIHp1IGdhcmFudGllcmVuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODUKK21zZ2lkICIgLU0gICAgICAgICBkbyBub3QgY2hlY2sgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLU0gICAgICAgICBlaW5nZWjDpG5ndGUgRGF0ZWlzeXN0ZW1lIG5pY2h0IMO8YmVycHLDvGZlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg2Cittc2dpZCAiIC1OICAgICAgICAgZG8gbm90IGV4ZWN1dGUsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGJlIGRvbmVcbiIKK21zZ3N0ciAiIC1OICAgICAgICAgIG5pY2h0IGF1c2bDvGhyZW4sIG51ciBhbnplaWdlbiwgd2FzIGdldGFuIHdlcmRlbiB3aXJkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODcKK21zZ2lkICIgLVAgICAgICAgICBjaGVjayBmaWxlc3lzdGVtcyBpbiBwYXJhbGxlbCwgaW5jbHVkaW5nIHJvb3RcbiIKK21zZ3N0ciAiIgorIiAtUCAgICAgICAgIERhdGVpc3lzdGVtZSBuZWJlbmVpbmFuZGVybGF1ZmVuZCDDvGJlcnByw7xmZW4sXG4iCisiICAgICAgICAgICAgICBlaW5zY2hsaWXDn2xpY2ggV3VyemVsXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODgKK21zZ2lkICIgLVIgICAgICAgICBza2lwIHJvb3QgZmlsZXN5c3RlbTsgdXNlZnVsIG9ubHkgd2l0aCAnLUEnXG4iCittc2dzdHIgIiAtUiAgICAgICAgIFd1cnplbGRhdGVpc3lzdGVtIMO8YmVyc3ByaW5nZW47IG51ciBuw7x0emxpY2ggbWl0IOKAni1B4oCcXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODkKK21zZ2lkICIiCisiIC1yIFs8ZmQ+XSAgcmVwb3J0IHN0YXRpc3RpY3MgZm9yIGVhY2ggZGV2aWNlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiIKKyIgLXIgWzxmZD5dICBTdGF0aXN0aWsgZsO8ciBqZWRlcyDDvGJlcnByw7xmdGUgR2Vyw6R0IGFuemVpZ2VuO1xuIgorIiAgICAgICAgICAgIERlciBEYXRlaWRlc2tyaXB0b3IgaXN0IGbDvHIgR1VJc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkxCittc2dpZCAiIC1zICAgICAgICAgc2VyaWFsaXplIHRoZSBjaGVja2luZyBvcGVyYXRpb25zXG4iCittc2dzdHIgIiAtcyAgICAgICAgIMOcYmVycHLDvGZ1bmdzdm9yZ8OkbmdlIHNlcmlhbGlzaWVyZW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MgorbXNnaWQgIiAtVCAgICAgICAgIGRvIG5vdCBzaG93IHRoZSB0aXRsZSBvbiBzdGFydHVwXG4iCittc2dzdHIgIiAtVCAgICAgICAgIGRlbiBUaXRlbCBiZWltIFN0YXJ0IG5pY2h0IGFuemVpZ2VuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTMKK21zZ2lkICIiCisiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgPHR5cGU+IGlzIGFsbG93ZWQgdG8gYmUgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuIgorbXNnc3RyICIiCisiIC10IDxUeXA+ICB6dSDDvGJlcnByw7xmZW5kZSBEYXRlaXN5c3RlbXR5cGVuIGFuZ2ViZW47XG4iCisiICAgICAgICAgICAgIDxUeXA+IGthbm4gZWluZSBkdXJjaCBLb21tYXRhIGdldHJlbm50ZSBMaXN0ZSBzZWluO1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk1Cittc2dpZCAiIC1WICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC1WICAgICAgICAgZXJrbMOkcmVuLCB3YXMgZ2VtYWNodCB3aXJkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTYKK21zZ2lkICIgLT8gICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLT8gICAgICAgICBkaWVzZSBIaWxmZSBhbnplaWdlbiB1bmQgYmVlbmRlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk5Cittc2dpZCAiU2VlIHRoZSBzcGVjaWZpYyBmc2NrLiogY29tbWFuZHMgZm9yIGF2YWlsYWJsZSBmcy1vcHRpb25zLiIKK21zZ3N0ciAiU2llaGUgZGllIHNwZXppZmlzY2hlbiBmc2NrLiotQmVmZWhsZSBmw7xyIHZlcmbDvGdiYXJlIGZzLU9wdGlvbmVuLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQzOAorbXNnaWQgInRvbyBtYW55IGRldmljZXMiCittc2dzdHIgInp1IHZpZWxlIEdlcsOkdGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NTAKK21zZ2lkICJJcyAvcHJvYyBtb3VudGVkPyIKK21zZ3N0ciAiSXN0IC9wcm9jIGVpbmdlaMOkbmd0PyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ1OAorIywgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHJvb3QgdG8gc2NhbiBmb3IgbWF0Y2hpbmcgZmlsZXN5c3RlbXM6ICVzIgorbXNnc3RyICJudXIgZGVyIEFkbWluaXN0cmF0b3Iga2FubiBuYWNoIHBhc3NlbmRlbiBEYXRlaXN5c3RlbWVuIHN1Y2hlbjogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgZmluZCBtYXRjaGluZyBmaWxlc3lzdGVtOiAlcyIKK21zZ3N0ciAia2VpbiBwYXNzZW5kZXMgRGF0ZWlzeXN0ZW0gZ2VmdW5kZW46ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDcwIGRpc2stdXRpbHMvZnNjay5jOjE1NjUgbWlzYy11dGlscy9raWxsLmM6MzYzCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyNzkKK21zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCittc2dzdHIgInp1IHZpZWxlIEFyZ3VtZW50ZSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTUyNSBkaXNrLXV0aWxzL2ZzY2suYzoxNTI4Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtciIKK21zZ3N0ciAiVW5nw7xsdGlnZXMgQXJndW1lbnQgZsO8ciAtciIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU3NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yOiAlZCIKK21zZ3N0ciAidW5nw7xsdGlnZXMgQXJndW1lbnQgZsO8ciAtcjogJWQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2MTgKK21zZ2lkICJ0aGUgLWwgb3B0aW9uIGNhbiBiZSB1c2VkIHdpdGggb25lIGRldmljZSBvbmx5IC0tIGlnbm9yZSIKK21zZ3N0ciAiZGllIC1sIE9wdGlvbiBrYW5uIG51ciBtaXQgZWluZW0gR2Vyw6R0IHZlcndlbmRldCB3ZXJkZW4gLS0gaWdub3JpZXJlbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPlxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSA8RGF0ZWk+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTYKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgY29tcHJlc3NlZCBST00gZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiRWluIGtvbXByaW1pZXJ0ZXMgUk9NLURhdGVpc3lzdGVtIMO8YmVycHLDvGZlbiB1bmQgcmVwYXJpZXJlbi5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOQorbXNnaWQgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIG51ciBmw7xyIGRpZSBLb21wYXRpYmlsaXTDpHQsIGlnbm9yaWVydFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIwCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBhdXNmw7xocmxpY2hlciBzZWluXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjEKK21zZ2lkICIgLXkgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIC15ICAgICAgICAgICAgICAgICAgICAgICBudXIgZsO8ciBkaWUgS29tcGF0aWJpbGl0w6R0LCBpZ25vcmllcnRcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMgorbXNnaWQgIiAtYiwgLS1ibG9ja3NpemUgPHNpemU+ICAgdXNlIHRoaXMgYmxvY2tzaXplLCBkZWZhdWx0cyB0byBwYWdlIHNpemVcbiIKK21zZ3N0ciAiIC1iLCAtLWJsb2Nrc2l6ZSA8R3LDtsOfZT4gIERpZXNlIEJsb2NrZ3LDtsOfZSB2ZXJ3ZW5kZW4sIFZvcmdhYmUgaXN0IFNlaXRlbmdyw7bDn2VcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMworbXNnaWQgIiAgICAgLS1leHRyYWN0Wz08ZGlyPl0gICAgdGVzdCB1bmNvbXByZXNzaW9uLCBvcHRpb25hbGx5IGV4dHJhY3QgaW50byA8ZGlyPlxuIgorbXNnc3RyICIgICAgIC0tZXh0cmFjdFs9PFZlcno+XSAgIEVudHBhY2tlbiB0ZXN0ZW4sIG9wdGlvbmFsIGluIDxWZXJ6PiBlbnRwYWNrZW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBmYWlsZWQ6IHVuYWJsZSB0byBkZXRlcm1pbmUgZGV2aWNlIHNpemU6ICVzIgorbXNnc3RyICJpb2N0bCBmZWhsZ2VzY2hsYWdlbjogZGllIEdyw7bDn2UgZGVzIEdlcsOkdGVzIGthbm4gbmljaHQgYmVzdGltbXQgd2VyZGVuOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSBibG9jayBkZXZpY2Ugb3IgZmlsZTogJXMiCittc2dzdHIgImtlaW4gYmxvY2tvcmllbnRpZXJ0ZXMgR2Vyw6R0IG9kZXIgRGF0ZWk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTcwIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDYKK21zZ2lkICJmaWxlIGxlbmd0aCB0b28gc2hvcnQiCittc2dzdHIgIkRhdGVpbMOkbmdlIGlzdCB6dSBrdXJ6IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzMKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNDkgbGliZmRpc2svc3JjL2JzZC5jOjcxOCBsaWJmZGlzay9zcmMvYnNkLmM6ODkwCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjA4IGxvZ2luLXV0aWxzL2xhc3QuYzoyNDIgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICJzZWVrIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAi4oCec2Vla+KAnCBhdWYgJXMgZmVobGdlc2NobGFnZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODUgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NworbXNnaWQgInN1cGVyYmxvY2sgbWFnaWMgbm90IGZvdW5kIgorbXNnc3RyICJTdXBlcmJsb2NrLUtlbm51bmcgd3VyZGUgbmljaHQgZ2VmdW5kZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3JhbWZzIGVuZGlhbm5lc3MgaXMgJXNcbiIKK21zZ3N0ciAiRGllIEJ5dGUtUmVpaGVuZm9sZ2UgZGVzIENyYW1mcyBpc3QgJXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MQorbXNnaWQgImJpZyIKK21zZ3N0ciAiZ3Jvw58iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTEKK21zZ2lkICJsaXR0bGUiCittc2dzdHIgImtsZWluIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTk1Cittc2dpZCAidW5zdXBwb3J0ZWQgZmlsZXN5c3RlbSBmZWF0dXJlcyIKK21zZ3N0ciAibmljaHQgdW50ZXJzdMO8dHp0ZSBEYXRlaXN5c3RlbS1FaWdlbnNjaGFmdGVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgInN1cGVyYmxvY2sgc2l6ZSAoJWQpIHRvbyBzbWFsbCIKK21zZ3N0ciAiRGllIEdyw7bDn2UgZGVzIFN1cGVyYmxvY2tzICglZCkgaXN0IHp1IGdlcmluZyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNAorbXNnaWQgInplcm8gZmlsZSBjb3VudCIKK21zZ3N0ciAiRGF0ZWl6w6RobGVyIGlzdCBOdWxsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA4Cittc2dpZCAiZmlsZSBleHRlbmRzIHBhc3QgZW5kIG9mIGZpbGVzeXN0ZW0iCittc2dzdHIgIkRhdGVpIHJlaWNodCDDvGJlciBkYXMgRW5kZSBkZXMgRGF0ZWlzeXN0ZW1zIGhpbmF1cyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxMAorbXNnaWQgIm9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICJhbHRlcyBDcmFtZnMtRm9ybWF0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjE5Cittc2dpZCAidW5hYmxlIHRvIHRlc3QgQ1JDOiBvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAiQ1JDIGthbm4gbmljaHQgZ2V0ZXN0ZXQgd2VyZGVuOiBhbHRlcyBDcmFtZnMtRm9ybWF0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjcyCittc2dpZCAiY3JjIGVycm9yIgorbXNnc3RyICJDUkMtRmVobGVyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzAyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU1NAorbXNnaWQgInNlZWsgZmFpbGVkIgorbXNnc3RyICLigJ5zZWVr4oCcIGZlaGxnZXNjaGxhZ2VuLiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwNgorbXNnaWQgInJlYWQgcm9tZnMgZmFpbGVkIgorbXNnc3RyICJMZXNlbiB2b24gcm9tZnMgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzM4Cittc2dpZCAicm9vdCBpbm9kZSBpcyBub3QgZGlyZWN0b3J5IgorbXNnc3RyICJXdXJ6ZWwtSS1Ob2RlIGlzdCBrZWluIFZlcnplaWNobmlzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByb290IG9mZnNldCAoJWx1KSIKK21zZ3N0ciAiVW5nw7xsdGlnZSBSb290LVBvc2l0aW9uICglbHUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzYwCittc2dpZCAiZGF0YSBibG9jayB0b28gbGFyZ2UiCittc2dzdHIgIkRhdGVuYmxvY2sgaXN0IHp1IGdyb8OfIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgImRlY29tcHJlc3Npb24gZXJyb3I6ICVzIgorbXNnc3RyICJEZWtvbXByaW1pZXJ1bmdzZmVobGVyOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgIGhvbGUgYXQgJWx1ICglenUpXG4iCittc2dzdHIgIiAgTG9jaCBiZWkgJWx1ICglenUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTcgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICIgIHVuY29tcHJlc3NpbmcgYmxvY2sgYXQgJWx1IHRvICVsdSAoJWx1KVxuIgorbXNnc3RyICIgIEJsb2NrIGJlaSAlbHUgd2lyZCBuYWNoICVsdSBlbnRwYWNrdCAoJWx1KVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1ibG9jayAoJWxkKSBieXRlcyIKK21zZ3N0ciAiTmljaHQtQmxvY2sgKCVsZCkgQnl0ZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLXNpemUgKCVsZCB2cyAlbGQpIGJ5dGVzIgorbXNnc3RyICJOaWNodC1HcsO2w59lICglbGQgc3RhdHQgJWxkKSBCeXRlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxMyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE2CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwNCBtaXNjLXV0aWxzL3V1aWRkLmM6Mzc1IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODIKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM1IHN5cy11dGlscy9zZXRwcml2LmM6NTU4IHN5cy11dGlscy9zd2Fwb24uYzozODkKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZDogJXMiCittc2dzdHIgIlNjaHJlaWJlbiBmZWhsZ2VzY2hsYWdlbjogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAibGNob3duIGZhaWxlZDogJXMiCittc2dzdHIgImxjaG93biBmZWhsZ2VzY2hsYWdlbjogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAiY2hvd24gZmVobGdlc2NobGFnZW46ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgInV0aW1lIGZhaWxlZDogJXMiCittc2dzdHIgInV0aW1lIGZlaGxnZXNjaGxhZ2VuOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiVmVyemVpY2huaXMtSS1Ob2RlIGhhdCBlaW5lIFBvc2l0aW9uIE51bGwgdW5kIGVpbmUgR3LDtsOfZSB1bmdsZWljaCBOdWxsOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ2MAorIywgYy1mb3JtYXQKK21zZ2lkICJta2RpciBmYWlsZWQ6ICVzIgorbXNnc3RyICJta2RpciBmZWhsZ2VzY2hsYWdlbjogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NzYKK21zZ2lkICJmaWxlbmFtZSBsZW5ndGggaXMgemVybyIKK21zZ3N0ciAiZGllIEzDpG5nZSBkZXMgRGF0ZWluYW1lbnMgaXN0IE51bGwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NzgKK21zZ2lkICJiYWQgZmlsZW5hbWUgbGVuZ3RoIgorbXNnc3RyICJEaWUgTMOkbmdlIGRlcyBEYXRlaW5hbWVucyBpc3QgdW56dWzDpHNzaWciCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0ODQKK21zZ2lkICJiYWQgaW5vZGUgb2Zmc2V0IgorbXNnc3RyICJ1bmfDvGx0aWdlIElub2RlLVBvc2l0aW9uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDk5Cittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemUiCittc2dzdHIgIkRhdGVpLUlub2RlIGhhdCBrZWluZSBQb3NpdGlvbiB1bmQgZWluZSBMw6RuZ2UgdW5nbGVpY2ggTnVsbCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUwMgorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gc2l6ZSBhbmQgbm9uLXplcm8gb2Zmc2V0IgorbXNnc3RyICJEYXRlaS1Jbm9kZSBoYXQgZWluZSBHcsO2w59lIHZvbiBOdWxsIHVuZCBlaW5lIFBvc2l0aW9uIHVuZ2xlaWNoIE51bGwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzEKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIG9mZnNldCIKK21zZ3N0ciAiZGllIHN5bWJvbGlzY2hlIFZlcmtuw7xwZnVuZyBoYXQgZWluZSBQb3NpdGlvbiB2b24gTnVsbCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMworbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gc2l6ZSIKK21zZ3N0ciAiZGllIHN5bWJvbGlzY2hlIFZlcmtuw7xwZnVuZyBoYXQgZWluZSBHcsO2w59lIHZvbiBOdWxsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTQyCisjLCBjLWZvcm1hdAorbXNnaWQgInNpemUgZXJyb3IgaW4gc3ltbGluazogJXMiCittc2dzdHIgIkdyw7bDn2VuZmVobGVyIGluIHN5bWJvbGlzY2hlciBWZXJrbsO8cGZ1bmc6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTU2CisjLCBjLWZvcm1hdAorbXNnaWQgInN5bWxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAiQW5sZWdlbiBkZXIgc3ltYm9saXNjaGVuIFZlcmtuw7xwZnVuZyBzY2hlaXRlcnRlOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU2OQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGZpbGUgaGFzIG5vbi16ZXJvIG9mZnNldDogJXMiCittc2dzdHIgImRpZSBTcGV6aWFsZGF0ZWkgaGF0IGVpbmUgUG9zaXRpb24gdW5nbGVpY2ggTnVsbDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlmbyBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgIkZJRk8gaGF0IEdyw7bDn2UgdW5nbGVpY2ggTnVsbDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiU29ja2V0IGhhdCBHcsO2w59lIHVuZ2xlaWNoIE51bGw6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg4CisjLCBjLWZvcm1hdAorbXNnaWQgImJvZ3VzIG1vZGU6ICVzICglbykiCittc2dzdHIgInVuc2lubmlnZXIgTW9kdXM6ICVzICglbykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtub2QgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWtub2QgZmVobGdlc2NobGFnZW46ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjI5CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIHN0YXJ0ICglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQgKCV6dSkiCittc2dzdHIgIlZlcnplaWNobmlzZGF0ZW5hbmZhbmcgKCVsdSkgPCBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikgKyBzdGFydCAoJXp1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzMworIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBlbmQgKCVsdSkgIT0gZmlsZSBkYXRhIHN0YXJ0ICglbHUpIgorbXNnc3RyICJFbmRlIGRlciBWZXJ6ZWljaG5pc2RhdGVuICglbHUpICE9IFN0YXJ0IGRlciBEYXRlaS1EYXRlbiAoJWx1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzNworbXNnaWQgImludmFsaWQgZmlsZSBkYXRhIG9mZnNldCIKK21zZ3N0ciAidW5nw7xsdGlnZSBQb3NpdGlvbiBkZXIgRGF0ZWlkYXRlbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY4NCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzI2Cittc2dpZCAiaW52YWxpZCBibG9ja3NpemUgYXJndW1lbnQiCittc2dzdHIgInVuZ8O8bHRpZ2VzIEJsb2NrZ3LDtsOfZW5hcmd1bWVudCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogT0tcbiIKK21zZ3N0ciAiJXM6IE9LXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NAorbXNnaWQgIkNoZWNrIHRoZSBjb25zaXN0ZW5jeSBvZiBhIE1pbml4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkRpZSBLb25zaXN0ZW56IGVpbmVzIE1pbml4LURhdGVpc3lzdGVtcyDDvGJlcnByw7xmZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NgorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgIGxpc3QgYWxsIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICBhbGxlIERhdGVpbmFtZW4gYXVmbGlzdGVuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NworbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgIGF1dG9tYXRpYyByZXBhaXJcbiIKK21zZ3N0ciAiIC1hICAtLWF1dG8gICAgICAgYXV0b21hdGlzY2hlIFJlcGFyYXR1clxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODgKK21zZ2lkICIgLXIsIC0tcmVwYWlyICAgICBpbnRlcmFjdGl2ZSByZXBhaXJcbiIKK21zZ3N0ciAiIC1yLCAtLXJlcGFpciAgICAgaW50ZXJha3RpdmUgUmVwYXJhdHVyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGJlIHZlcmJvc2VcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgYXVzZsO8aHJsaWNoZSBBdXNnYWJlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTAKK21zZ2lkICIgLXMsIC0tc3VwZXIgICAgICBvdXRwdXQgc3VwZXItYmxvY2sgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiIC1zLCAtLXN1cGVyICAgICAgU3VwZXJibG9ja2luZm9ybWF0aW9uIGF1c2dlYmVuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MQorbXNnaWQgIiAtbSwgLS11bmNsZWFyZWQgIGFjdGl2YXRlIG1vZGUgbm90IGNsZWFyZWQgd2FybmluZ3NcbiIKK21zZ3N0ciAiIC1tLCAtLXVuY2xlYXJlZCAg4oCeTW9kdXMgbmljaHQgenVyw7xja2dlc2V0enTigJwtV2FybnVuZ2VuIGFrdGl2aWVyZW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkyCittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgZm9yY2UgY2hlY2tcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmNlICAgICAgw5xiZXJwcsO8ZnVuZyBlcnp3aW5nZW5cbiIKKworIy4gVFJBTlNMQVRPUlM6IHRoZXNlIHllcyBubyBxdWVzdGlvbnMgdXNlcyBycG1hdGNoKCksIGFuZCBzaG91bGQgYmUKKyMuICogdHJhbnNsYXRlZC4KKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoeS9uKT8gIgorbXNnc3RyICIlcyAoai9uKT8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG4veSk/ICIKK21zZ3N0ciAiJXMgKG4vaik/ICIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInlcbiIKK21zZ3N0ciAialxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiblxuIgorbXNnc3RyICJuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkLlx0ICIKK21zZ3N0ciAiJXMgaXN0IGVpbmdlaMOkbmd0Llx0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODkKK21zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gY29udGludWUiCittc2dzdHIgIk3DtmNodGVuIFNpZSB3aXJrbGljaCBmb3J0ZmFocmVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2sgYWJvcnRlZC5cbiIKK21zZ3N0ciAiw5xiZXJwcsO8ZnVuZyBhYmdlYnJvY2hlbi5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzE5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yIDwgRklSU1RaT05FIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIlpvbmVubnVtbWVyIDwgRklSU1RaT05FIGluIERhdGVpIOKAniVz4oCcLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzIyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yID49IFpPTkVTIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIlpvbmVubnVtbWVyID49IFpPTkVTIGluIERhdGVpIOKAniVz4oCcLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzI2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0NworbXNnaWQgIlJlbW92ZSBibG9jayIKK21zZ3N0ciAiQmxvY2sgZW50ZmVybmVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogdW5hYmxlIHRvIHNlZWsgdG8gYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIkxlc2VmZWhsZXI6IFNwcmluZ2VuIHp1IEJsb2NrIGluIERhdGVpIOKAniVz4oCcIGlzdCBuaWNodCBtw7ZnbGljaFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJGZWhsZXIgYmVpbSBMZXNlbjogYmVzY2jDpGRpZ3RlciBCbG9jayBpbiBEYXRlaSDigJ4lc+KAnFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkludGVybmFsIGVycm9yOiB0cnlpbmcgdG8gd3JpdGUgYmFkIGJsb2NrXG4iCisiV3JpdGUgcmVxdWVzdCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKyJJbnRlcm5lciBGZWhsZXI6IFZlcnN1Y2gsIGVpbmVuIGJlc2Now6RkaWd0ZW4gQmxvY2sgenUgc2NocmVpYmVuXG4iCisiU2NocmVpYmFud2Vpc3VuZyBpZ25vcmllcnRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mzg3Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIuKAnnNlZWvigJwgZmVobGdlc2NobGFnZW4gaW4gd3JpdGVfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJXcml0ZSBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJGZWhsZXIgYmVpbSBTY2hyZWliZW46IGJlc2Now6RkaWd0ZXIgQmxvY2sgaW4gRGF0ZWkg4oCeJXPigJxcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTA1Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfc3VwZXJfYmxvY2siCittc2dzdHIgIuKAnnNlZWvigJwgZmVobGdlc2NobGFnZW4gaW4gd3JpdGVfc3VwZXJfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUwNworbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAiU3VwZXJibG9jayBrb25udGUgbmljaHQgZ2VzY2hyaWViZW4gd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjAKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICLigJ5pbm9kZSBtYXDigJwga29ubnRlIG5pY2h0IGdlc2NocmllYmVuIHdlcmRlbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTIzCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICLigJ56b25lIG1hcOKAnCBrb25udGUgbmljaHQgZ2VzY2hyaWViZW4gd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjYKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICLigJ5pbm9kZXPigJwga29ubnRlbiBuaWNodCBnZXNjaHJpZWJlbiB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU1OAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBidWZmZXIgZm9yIHN1cGVyYmxvY2siCittc2dzdHIgIlB1ZmZlciBmw7xyIFN1cGVyYmxvY2sga29ubnRlIG5pY2h0IHp1Z2V3aWVzZW4gd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjEKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBzdXBlciBibG9jayIKK21zZ3N0ciAiU3VwZXJibG9jayBrb25udGUgbmljaHQgZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4MworbXNnaWQgImJhZCBtYWdpYyBudW1iZXIgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIlVuZ8O8bHRpZ2UgbWFnaXNjaGUgWmFobCBpbSBTdXBlcmJsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODUKK21zZ2lkICJPbmx5IDFrIGJsb2Nrcy96b25lcyBzdXBwb3J0ZWQiCittc2dzdHIgIkVzIHdlcmRlbiBudXIgQmzDtmNrZS9ab25lbiB2b24gMWsgR3LDtsOfZSB1bnRlcnN0w7x0enQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4NworIywgZnV6enkKK21zZ2lkICJiYWQgc19uaW5vZGVzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJVbnp1bMOkc3NpZ2VyIFdlcnQgaW0gRmVsZCDigJ5zX2ltYXBfYmxvY2vigJwgaW0gU3VwZXJibG9jayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg5Cittc2dpZCAiYmFkIHNfaW1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIlVuenVsw6Rzc2lnZXIgV2VydCBpbSBGZWxkIOKAnnNfaW1hcF9ibG9ja+KAnCBpbSBTdXBlcmJsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTEKKyMsIGZ1enp5Cittc2dpZCAiYmFkIHNfZmlyc3RkYXRhem9uZSBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiVW56dWzDpHNzaWdlciBXZXJ0IGltIEZlbGQg4oCec19pbWFwX2Jsb2Nr4oCcIGltIFN1cGVyYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5NAorbXNnaWQgImJhZCBzX3ptYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJVbnp1bMOkc3NpZ2VyIFdlcnQgaW0gRmVsZCDigJ5zX3ptYXBfYmxvY2vigJwgaW0gU3VwZXJibG9jayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjEwCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgbWFwIgorbXNnc3RyICJQdWZmZXIgZsO8ciDigJ5pbm9kZV9tYXDigJwga29ubnRlIG5pY2h0IHp1Z2V3aWVzZW4gd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTMKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIG1hcCIKK21zZ3N0ciAiUHVmZmVyIGbDvHIg4oCeem9uZSBtYXDigJwga29ubnRlIG5pY2h0IHp1Z2V3aWVzZW4gd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTYKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCittc2dzdHIgIlB1ZmZlciBmw7xyIOKAnmlub2Rlc+KAnCBrb25udGUgbmljaHQgenVnZXdpZXNlbiB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxOQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIGNvdW50IgorbXNnc3RyICJQdWZmZXIgZsO8ciDigJ5pbm9kZSBjb3VudOKAnCBrb25udGUgbmljaHQgenVnZXdpZXNlbiB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyMgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgY291bnQiCittc2dzdHIgIlB1ZmZlciBmw7xyIOKAnnpvbmUgY291bnTigJwga29ubnRlIG5pY2h0IHp1Z2V3aWVzZW4gd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjYKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZSBtYXAiCittc2dzdHIgIuKAnmlub2RlIG1hcOKAnCBrYW5uIG5pY2h0IGdlbGVzZW4gd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzAKK21zZ2lkICJVbmFibGUgdG8gcmVhZCB6b25lIG1hcCIKK21zZ3N0ciAi4oCeem9uZSBtYXDigJwga2FubiBuaWNodCBnZWxlc2VuIHdlcmRlbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM0Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGVzIgorbXNnc3RyICLigJ5pbm9kZXPigJwga8O2bm5lbiBuaWNodCBnZWxlc2VuIHdlcmRlbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorbXNnc3RyICJXYXJudW5nOiBGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBpbm9kZXNcbiIKK21zZ3N0ciAiJWxkIGlub2Rlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGJsb2Nrc1xuIgorbXNnc3RyICIlbGQgQmzDtmNrZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ZGF0YXpvbmU9JWpkICglamQpXG4iCittc2dzdHIgIkVyc3RlIERhdGVuem9uZT0lamQgKCVqZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSVkXG4iCittc2dzdHIgIlpvbmVuZ3LDtsOfZT0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWF4c2l6ZT0lenVcbiIKK21zZ3N0ciAiTWF4aW1hbGdyw7bDn2U9JXp1XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIHN0YXRlPSVkXG4iCittc2dzdHIgIkRhdGVpc3lzdGVtc3RhdHVzPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibmFtZWxlbj0lemRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIk5hbWVuc2zDpG5nZT0lemRcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjY0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcxNAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlZCBtYXJrZWQgdW51c2VkLCBidXQgdXNlZCBmb3IgZmlsZSAnJXMnXG4iCittc2dzdHIgIklub2RlICVkIGlzdCBhbHMgdW5iZW51dHp0IGdla2VubnplaWNobmV0LCBhYmVyIERhdGVpIOKAniVz4oCcIGJlbnV0enQgc2llXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY2NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MTcKK21zZ2lkICJNYXJrIGluIHVzZSIKK21zZ3N0ciAiSW5vZGUgYWxzIGJlbnV0enQga2VubnplaWNobmVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2ODkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaWxlIGAlcycgaGFzIG1vZGUgJTA1b1xuIgorbXNnc3RyICJEaWUgRGF0ZWkg4oCeJXPigJwgaGF0IGRlbiBNb2R1cyAlMDVvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY5NiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogaW5vZGUgY291bnQgdG9vIGJpZy5cbiIKK21zZ3N0ciAiV2FybnVuZzog4oCeaW5vZGUgY291bnTigJwgaXN0IHp1IGdyb8OfLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NTUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzYzCittc2dpZCAicm9vdCBpbm9kZSBpc24ndCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAi4oCecm9vdCBpbm9kZeKAnCBpc3Qga2VpbiBWZXJ6ZWljaG5pcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzc1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayBoYXMgYmVlbiB1c2VkIGJlZm9yZS4gTm93IGluIGZpbGUgYCVzJy4iCittc2dzdHIgIkJsb2NrIHd1cmRlIHp1dm9yIGJlbnV0enQsIG51biBpbiBEYXRlaSDigJ4lc+KAnC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MDgKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1MgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA4Cittc2dpZCAiQ2xlYXIiCittc2dzdHIgIlp1csO8Y2tzZXR6ZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgJWQgaW4gZmlsZSBgJXMnIGlzIG1hcmtlZCBub3QgaW4gdXNlLiIKK21zZ3N0ciAiQmxvY2sgJWQgaW4gRGF0ZWkg4oCeJXPigJwgaXN0IGFscyB1bmJlbnV0enQgbWFya2llcnQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODIwCittc2dpZCAiQ29ycmVjdCIKK21zZ3N0ciAiS29ycmlnaWVyZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk1OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkaXJlY3RvcnkgJyVzJyBjb250YWlucyBhIGJhZCBpbm9kZSBudW1iZXIgZm9yIGZpbGUgJyUuKnMnLiIKK21zZ3N0ciAiRGFzIFZlcnplaWNobmlzIOKAniVz4oCcIGVudGjDpGx0IGVpbmUgdW5nw7xsdGlnZSBJbm9kZS1OdW1tZXIgZsO8ciBEYXRlaSDigJ4lLipz4oCcLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTYxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwMzUKK21zZ2lkICIgUmVtb3ZlIgorbXNnc3RyICIgRW50ZmVybmVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4nIGlzbid0IGZpcnN0XG4iCittc2dzdHIgIiVzOiB1bmfDvGx0aWdlcyBWZXJ6ZWljaG5pczog4oCeLuKAnCBrb21tdCBuaWNodCB6dWVyc3RcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTg2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuLicgaXNuJ3Qgc2Vjb25kXG4iCittc2dzdHIgIiVzOiB1bmfDvGx0aWdlcyBWZXJ6ZWljaG5pczog4oCeLi7igJwga29tbXQgbmljaHQgYWxzIHp3ZWl0ZXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA5NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTE3Cittc2dpZCAiaW50ZXJuYWwgZXJyb3IiCittc2dzdHIgImludGVybmVyIEZlaGxlciIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA5NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBzaXplIDwgMzIiCittc2dzdHIgIiVzOiB1bmfDvGx0aWdlcyBWZXJ6ZWljaG5pczogR3LDtsOfZSA8IDMyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogaW52YWxpZCBpX3pvbmUsIHVzZSAtLXJlcGFpciB0byBmaXhcbiIKK21zZ3N0ciAiJXM6IHVuZ8O8bHRpZ2VzIFZlcnplaWNobmlzOiDigJ4u4oCcIGtvbW10IG5pY2h0IHp1ZXJzdFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTMyCittc2dpZCAic2VlayBmYWlsZWQgaW4gYmFkX3pvbmUiCittc2dzdHIgIlN1Y2hlbiBpbiBiYWRfem9uZSBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBtb2RlIG5vdCBjbGVhcmVkLiIKK21zZ3N0ciAiTW9kdXMgdm9uIElub2RlICVsdSBuaWNodCB6dXLDvGNrZ2VzZXR6dC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbm90IHVzZWQsIG1hcmtlZCB1c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICJJbm9kZSAlbHUgd2lyZCBuaWNodCBiZW51dHp0LCBhYmVyIGluIGRlciBCaXRtYXAgYWxzIGJlbnV0enQgbWFya2llcnQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IHVzZWQsIG1hcmtlZCB1bnVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIklub2RlICVsdSB3aXJkIGJlbnV0enQsIGlzdCBhYmVyIGluIGRlciBCaXRtYXAgYWxzIHVuYmVudXR6dCBtYXJraWVydC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTggZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxNAorbXNnaWQgIlNldCIKK21zZ3N0ciAiRmVzdGxlZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTYyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IChtb2RlID0gJTA3byksIGlfbmxpbmtzPSVkLCBjb3VudGVkPSVkLiIKK21zZ3N0ciAiSW5vZGUgJWx1IChNb2R1cyA9ICUwN28pLCBpX25saW5rcz0lZCwgZ2V6w6RobHQ9JWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjEKK21zZ2lkICJTZXQgaV9ubGlua3MgdG8gY291bnQiCittc2dzdHIgImlfbmxpbmtzIGF1ZiBaw6RobGVyIHNldHplbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBtYXJrZWQgaW4gdXNlLCBubyBmaWxlIHVzZXMgaXQuIgorbXNnc3RyICJab25lICVsdTogYWxzIGJlbnV0enQgbWFya2llcnQsIGFiZXIga2VpbmUgRGF0ZWkgYmVudXR6dCBzaWUuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTc5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzUKK21zZ2lkICJVbm1hcmsiCittc2dzdHIgIk1hcmsuIGVudGYuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTg0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICJab25lICVsdTogaW4gQmVudXR6dW5nLCBnZXrDpGhsdD0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTg3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiWm9uZSAlbHU6IG5pY2h0IGluIEJlbnV0enVuZywgZ2V6w6RobHQ9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5MQorbXNnaWQgImJhZCBpbm9kZSBzaXplIgorbXNnc3RyICJ1bmfDvGx0aWdlIElub2RlLUdyw7bDn2UiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyOTMKK21zZ2lkICJiYWQgdjIgaW5vZGUgc2l6ZSIKK21zZ3N0ciAidW5nw7xsdGlnZSBWMi1Jbm9kZS1HcsO2w59lIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzM3Cittc2dpZCAibmVlZCB0ZXJtaW5hbCBmb3IgaW50ZXJhY3RpdmUgcmVwYWlycyIKK21zZ3N0ciAiZsO8ciBpbnRlcmFrdGl2ZSBSZXBhcmF0dXJlbiB3aXJkIGVpbiBUZXJtaW5hbCBnZWJyYXVjaHQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICIlcyBrYW5uIG5pY2h0IGdlw7ZmZm5ldCB3ZXJkZW46ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGNsZWFuLCBubyBjaGVjay5cbiIKK21zZ3N0ciAiJXMgaXN0IGluIE9yZG51bmcsIGtlaW5lIMOcYmVycHLDvGZ1bmcuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9yY2luZyBmaWxlc3lzdGVtIGNoZWNrIG9uICVzLlxuIgorbXNnc3RyICLDnGJlcnByw7xmdW5nIGRlcyBEYXRlaXN5c3RlbSBhdWYgJXMgd2lyZCBlcnp3dW5nZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBvbiAlcyBpcyBkaXJ0eSwgbmVlZHMgY2hlY2tpbmcuXG4iCittc2dzdHIgIkRhdGVpc3lzdGVtIGF1ZiAlcyBpc3QgZ2VzdMO2cnQgKGRpcnR5KSwgw5xiZXJwcsO8ZnVuZyBlcmZvcmRlcmxpY2guXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2bGQgaW5vZGVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICIiCisiXG4iCisiJTZsZCBJTm9kZXMgYmVudXR6dGVuICglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlNmxkIHpvbmVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICIlNmxkIHpvbmVzIGJlbnV0enRlbiAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2ZCByZWd1bGFyIGZpbGVzXG4iCisiJTZkIGRpcmVjdG9yaWVzXG4iCisiJTZkIGNoYXJhY3RlciBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgYmxvY2sgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGxpbmtzXG4iCisiJTZkIHN5bWJvbGljIGxpbmtzXG4iCisiLS0tLS0tXG4iCisiJTZkIGZpbGVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlNmQgcmVndWzDpHJlIERhdGVpZW5cbiIKKyIlNmQgVmVyemVpY2huaXNzZVxuIgorIiU2ZCB6ZWljaGVub3JpZW50aWVydGUgR2Vyw6R0ZVxuIgorIiU2ZCBibG9ja29yaWVudGllcnRlIEdlcsOkdGVcbiIKKyIlNmQgVmVya27DvHBmdW5nZW5cbiIKKyIlNmQgc3ltYm9saXNjaGUgVmVya27DvHBmdW5nZW5cbiIKKyItLS0tLS1cbiIKKyIlNmQgRGF0ZWllblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDExCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiRklMRSBTWVNURU0gSEFTIEJFRU4gQ0hBTkdFRFxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiREFURUlTWVNURU0gV1VSREUgR0XDhE5ERVJUXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MzMKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTM5IGRpc2stdXRpbHMvcGFydHguYzoxMDM1IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMgorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTggc3lzLXV0aWxzL2RtZXNnLmM6NjU5IHN5cy11dGlscy93ZGN0bC5jOjM0NgorIzogc3lzLXV0aWxzL3dkY3RsLmM6NDExIHRlcm0tdXRpbHMvc2NyaXB0LmM6MjcyIHRlcm0tdXRpbHMvc2NyaXB0LmM6MzQ5CisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI0OAorbXNnaWQgIndyaXRlIGZhaWxlZCIKK21zZ3N0ciAiU2NocmVpYmVuIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1pZ2h0IG5vdCBiZSBhbiBJU08gZmlsZXN5c3RlbSIKK21zZ3N0ciAiJXM6IGvDtm5udGUga2VpbiBJU08tRGF0ZWlzeXN0ZW0gc2VpbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTM5CisjLCBjLWZvcm1hdAorbXNnaWQgInNlZWsgZXJyb3Igb24gJXMiCittc2dzdHIgIlN1Y2hmZWhsZXIgYXVmICVzIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhZCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiRmVobGVyIGJlaW0gTGVzZW4gYXVmICVzIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VjdG9yIGNvdW50OiAlZCwgc2VjdG9yIHNpemU6ICVkXG4iCittc2dzdHIgIlNla3RvcmFuemFobDogJWQsIFNla3Rvcmdyw7bDn2U6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3MAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxpc285NjYwX2ltYWdlX2ZpbGU+XG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIDxpc285NjYwLUFiYmlsZGRhdGVpPlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzQKK21zZ2lkICJTaG93IHRoZSBsZW5ndGggb2YgYW4gSVNPLTk2NjAgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiRGllIEzDpG5nZSBlaW5lcyBJU08tOTY2MC1EYXRlaXN5c3RlbXMgYW56ZWlnZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3NworbXNnaWQgIiAtZCwgLS1kaXZpc29yPTxudW1iZXI+ICBkaXZpZGUgdGhlIGFtb3VudCBvZiBieXRlcyBieSA8bnVtYmVyPlxuIgorbXNnc3RyICIgLWQsIC0tZGl2aXNvcj08WmFobD4gIGRpZSBTdW1tZSBkZXIgQnl0ZXMgZHVyY2ggPFphaGw+IHRlaWxlblxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzgKK21zZ2lkICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgc2hvdyBzZWN0b3IgY291bnQgYW5kIHNpemVcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIFNla3RvcmFuemFobCB1bmQgLWdyw7bDn2UgYW56ZWlnZW5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MjEwCittc2dpZCAiaW52YWxpZCBkaXZpc29yIGFyZ3VtZW50IgorbXNnc3RyICJ1bmfDvGx0aWdlcyBUZWlsZXJhcmd1bWVudCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKK21zZ3N0ciAiQXVmcnVmOiAlcyBbT3B0aW9uZW5dIEdlcsOkdCBbQmxvY2thbnphaGxdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3NworbXNnaWQgIk1ha2UgYW4gU0NPIGJmcyBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJFaW4gU0NPIGJmcy1EYXRlaXN5c3RlbSBlcnN0ZWxsZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLU4sIC0taW5vZGVzPU5VTSAgICBzcGVjaWZ5IGRlc2lyZWQgbnVtYmVyIG9mIGlub2Rlc1xuIgorIiAtViwgLS12bmFtZT1OQU1FICAgIHNwZWNpZnkgdm9sdW1lIG5hbWVcbiIKKyIgLUYsIC0tZm5hbWU9TkFNRSAgICBzcGVjaWZ5IGZpbGUgc3lzdGVtIG5hbWVcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorIiAtYyAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKKyIgLWwgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAtViBhcyB2ZXJzaW9uIG11c3QgYmUgb25seSBvcHRpb25cbiIKKyIgLWgsIC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiT3B0aW9uZW46XG4iCisiIC1OLCAtLWlub2Rlcz1aQUhMICAgR2V3w7xuc2NodGUgQW56YWhsIGRlciBJbm9kZXMgYW5nZWJlblxuIgorIiAtViwgLS12bmFtZT1OQU1FICAgIERhdGVudHLDpGdlcm5hbWVuIGFuZ2ViZW5cbiIKKyIgLUYsIC0tZm5hbWU9TkFNRSAgICBOYW1lbiBkZXMgRGF0ZWlzeXN0ZW1zIGFuZ2ViZW5cbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICBBdXNmw7xocmxpY2hlIEFuZ2FiZW4genVyIEFyYmVpdCBtYW5jaGVuXG4iCisiIC1jICAgICAgICAgICAgICAgICAgRGllc2UgT3B0aW9uIHdpcmQgc3RpbGxzY2h3ZWlnZW5kIGlnbm9yaWVydFxuIgorIiAtbCAgICAgICAgICAgICAgICAgIERpZXNlIE9wdGlvbiB3aXJkIHN0aWxsc2Nod2VpZ2VuZCBpZ25vcmllcnRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBWZXJzaW9uc2luZm9ybWF0aW9uZW4gYXVzZ2ViZW4gdW5kIGJlZW5kZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICBBdcOfZXIgLVYgZGFyZiBrZWluZSBhbmRlcmVyIE9wdGlvbiBhbmdlZ2ViZW4gd2VyZGVuXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgZGllc2UgSGlsZmUgYW56ZWlnZW4gdW5kIGJlZW5kZW5cbiIKKyJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE0NAorbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAiVW5nw7xsdGlnZSBBbnphaGwgdm9uIElub2RlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1MAorbXNnaWQgInZvbHVtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICJEYXRlbnRyw6RnZXJuYW1lIGlzdCB6dSBsYW5nIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU3Cittc2dpZCAiZnNuYW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgIkRhdGVpc3lzdGVtbmFtZSBpc3QgenUgbGFuZyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5MworbXNnaWQgImludmFsaWQgYmxvY2stY291bnQiCittc2dzdHIgInVuZ8O8bHRpZ2UgQW56YWhsIHZvbiBCbMO2Y2tlbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgImVzIGlzdCBuaWNodCBtw7ZnbGljaCwgZGllIEdyw7bDn2Ugdm9uICVzIGZlc3R6dXN0ZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2tzIGFyZ3VtZW50IHRvbyBsYXJnZSwgbWF4IGlzICVsbHUiCittc2dzdHIgIuKAnmJsb2Nrc+KAnC1Bcmd1bWVudCB6dSBncm/DnywgTWF4aW11bSBpc3QgJWxsdSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIxOQorbXNnaWQgInRvbyBtYW55IGlub2RlcyAtIG1heCBpcyA1MTIiCittc2dzdHIgInp1IHZpZWxlIElub2RlcyDigJMgTWF4aW11bSBpc3QgNTEyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UsIG5lZWQgYXQgbGVhc3QgJWxsdSBibG9ja3MiCittc2dzdHIgIm5pY2h0IGdlbsO8Z2VuZCBQbGF0eiwgZXMgd2VyZGVuIHdlbmlnc3RlbnMgJWxsdSBCbMO2Y2tlIGJlbsO2dGlndCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2U6ICVzXG4iCittc2dzdHIgIkdlcsOkdDogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJWb2x1bWU6IDwlLTZzPlxuIgorbXNnc3RyICJEYXRlbnRyw6RnZXI6IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZTbmFtZTogPCUtNnM+XG4iCittc2dzdHIgIkRTTmFtZTogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tTaXplOiAlZFxuIgorbXNnc3RyICJCbG9ja2dyw7bDn2U6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluIDEgYmxvY2spXG4iCittc2dzdHIgIklub2RlczogJWxkIChpbiAxIEJsb2NrKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAlbGx1IGJsb2NrcylcbiIKK21zZ3N0ciAiSW5vZGVzOiAlbGQgKGluICVsbHUgQmzDtmNrZW4pXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tzOiAlbGx1XG4iCittc2dzdHIgIkJsw7Zja2U6ICVsbHVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSBlbmQ6ICVkLCBEYXRhIGVuZDogJWRcbiIKK21zZ3N0ciAiSW5vZGUtRW5kZTogJWQsIERhdGVuZW5kZTogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NworbXNnaWQgImVycm9yIHdyaXRpbmcgc3VwZXJibG9jayIKK21zZ3N0ciAiRmVobGVyIGJlaW0gU2NocmVpYmVuIGRlcyBTdXBlcmJsb2NrcyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI3OAorbXNnaWQgImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIKK21zZ3N0ciAiRmVobGVyIGJlaW0gU2NocmVpYmVuIGRlciBSb290LUlub2RlIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjgzCittc2dpZCAiZXJyb3Igd3JpdGluZyBpbm9kZSIKK21zZ3N0ciAiRmVobGVyIGJlaW0gU2NocmVpYmVuIGRlciBJbm9kZSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4NgorbXNnaWQgInNlZWsgZXJyb3IiCittc2dzdHIgIlN1Y2hmZWhsZXIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTIKK21zZ2lkICJlcnJvciB3cml0aW5nIC4gZW50cnkiCittc2dzdHIgIkZlaGxlciBiZWltIFNjaHJlaWJlbiBkZXMg4oCeLuKAnC1FaW50cmFncyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5NgorbXNnaWQgImVycm9yIHdyaXRpbmcgLi4gZW50cnkiCittc2dzdHIgIkZlaGxlciBiZWltIFNjaHJlaWJlbiBkZXMg4oCeLi7igJwtRWludHJhZ3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2xvc2luZyAlcyIKK21zZ3N0ciAiRmVobGVyIGJlaW0gU2NobGllw59lbiB2b24gJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy10IDx0eXBlPl0gW2ZzLW9wdGlvbnNdIDxkZXZpY2U+IFs8c2l6ZT5dXG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIFstdCA8VHlwPl0gW0RhdGVpc3lzdGVtb3B0aW9uZW5dIDxHZXLDpHQ+IFs8R3LDtsOfZT5dXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ4Cittc2dpZCAiTWFrZSBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkVpbiBMaW51eC1EYXRlaXN5c3RlbSBlcnN0ZWxsZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdCwgLS10eXBlPTx0eXBlPiAgZmlsZXN5c3RlbSB0eXBlOyB3aGVuIHVuc3BlY2lmaWVkLCBleHQyIGlzIHVzZWRcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGU9PFR5cD4gIERhdGVpc3lzdGVtdHlwOyB3ZW5uIG5pY2h0cyBhbmdlZ2ViZW4sIHdpcmQgZXh0MiB2ZXJ3ZW5kZXRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICBmcy1vcHRpb25zICAgICBwYXJhbWV0ZXJzIGZvciB0aGUgcmVhbCBmaWxlc3lzdGVtIGJ1aWxkZXJcbiIKK21zZ3N0ciAiICAgICBmcy1vcHRpb25zICAgICBQYXJhbWV0ZXIgZsO8ciBkZW4gdGF0c8OkY2hsaWNoZW4gRGF0ZWlzeXN0ZW1lcnN0ZWxsZXJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8ZGV2aWNlPiAgICAgICBwYXRoIHRvIHRoZSBkZXZpY2UgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIgICAgIDxHZXLDpHQ+ICAgICAgICBQZmFkIHp1IGRlbSBHZXLDpHQsIGRhcyB2ZXJ3ZW5kZXQgd2VyZGVuIHNvbGxcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8c2l6ZT4gICAgICAgICBudW1iZXIgb2YgYmxvY2tzIHRvIGJlIHVzZWQgb24gdGhlIGRldmljZVxuIgorbXNnc3RyICIgICAgIDxHcsO2w59lPiAgICAgICAgQW56YWhsIGRlciBhdWYgZGVtIEdlcsOkdCB6dSB2ZXJ3ZW5kZW5kZW4gQmzDtmNrZVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeWluZyAtViBtb3JlIHRoYW4gb25jZSB3aWxsIGNhdXNlIGEgZHJ5LXJ1blxuIgorbXNnc3RyICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICBlcmtsw6RyZW4gd2FzIGdlbWFjaHQgd2lyZDtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgd2lyZCBtZWhyIGFscyBlaW4gLVYgYW5nZWdlYmVuLCB3aXJkIGVpbiBQcm9iZWxhdWYgYXVzZ2Vsw7ZzdFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcnNpb24gICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQ7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIC1WIGFzIC0tdmVyc2lvbiBtdXN0IGJlIHRoZSBvbmx5IG9wdGlvblxuIgorbXNnc3RyICIiCisiIC1WLCAtLXZlcnNpb24gICAgICBWZXJzaW9uc2luZm9ybWF0aW9uIGFuemVpZ2VuIHVuZCBiZWVuZGVuO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAtViB3aWUgLS12ZXJzaW9uIG11c3MgZGllIGVpbnppZ2UgT3B0aW9uIHNlaW5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1oLCAtLWhlbHAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCittc2dzdHIgIiAtaCwgLS1oZWxwICAgICAgICAgZGllc2VuIEhpbGZldGV4dCBhbnplaWdlbiB1bmQgYmVlbmRlblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzoxMzkgbGliL2V4ZWNfc2hlbGwuYzo0OSBsb2dpbi11dGlscy9uZXdncnAuYzoyMzMKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY1NyBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5OTIKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwNCBzY2hlZHV0aWxzL2NocnQuYzo1NTgKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjYwIHNjaGVkdXRpbHMvdGFza3NldC5jOjIzOSBzeXMtdXRpbHMvZmxvY2suYzoxMjIKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDMwIHN5cy11dGlscy9wcmxpbWl0LmM6NjQ0IHN5cy11dGlscy9ydGN3YWtlLmM6NTc3CisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjMyNCBzeXMtdXRpbHMvc2V0YXJjaC5jOjQwMyBzeXMtdXRpbHMvc2V0c2lkLmM6MTE1CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzQwIHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI0MiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ2MQorIzogdGVybS11dGlscy9zY3JpcHQuYzo1ODEgdGV4dC11dGlscy9wZy5jOjEzNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGV4ZWN1dGUgJXMiCittc2dzdHIgIiVzIGtvbm50ZSBuaWNodCBhdXNnZWbDvGhydCB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVzYWdlOiAlcyBbLWhdIFstdl0gWy1iIGJsa3NpemVdIFstZSBlZGl0aW9uXSBbLU4gZW5kaWFuXSBbLWkgZmlsZV0gWy1uIG5hbWVdIGRpcm5hbWUgb3V0ZmlsZVxuIgorIiAtaCAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorIiAtdiAgICAgICAgIGJlIHZlcmJvc2VcbiIKKyIgLUUgICAgICAgICBtYWtlIGFsbCB3YXJuaW5ncyBlcnJvcnMgKG5vbi16ZXJvIGV4aXQgc3RhdHVzKVxuIgorIiAtYiBibGtzaXplIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgbXVzdCBlcXVhbCBwYWdlIHNpemVcbiIKKyIgLWUgZWRpdGlvbiBzZXQgZWRpdGlvbiBudW1iZXIgKHBhcnQgb2YgZnNpZClcbiIKKyIgLU4gZW5kaWFuICBzZXQgY3JhbWZzIGVuZGlhbm5lc3MgKGJpZ3xsaXR0bGV8aG9zdCksIGRlZmF1bHQgaG9zdFxuIgorIiAtaSBmaWxlICAgIGluc2VydCBhIGZpbGUgaW1hZ2UgaW50byB0aGUgZmlsZXN5c3RlbSAocmVxdWlyZXMgPj0gMi40LjApXG4iCisiIC1uIG5hbWUgICAgc2V0IG5hbWUgb2YgY3JhbWZzIGZpbGVzeXN0ZW1cbiIKKyIgLXAgICAgICAgICBwYWQgYnkgJWQgYnl0ZXMgZm9yIGJvb3QgY29kZVxuIgorIiAtcyAgICAgICAgIHNvcnQgZGlyZWN0b3J5IGVudHJpZXMgKG9sZCBvcHRpb24sIGlnbm9yZWQpXG4iCisiIC16ICAgICAgICAgbWFrZSBleHBsaWNpdCBob2xlcyAocmVxdWlyZXMgPj0gMi4zLjM5KVxuIgorIiBkaXJuYW1lICAgIHJvb3Qgb2YgdGhlIGZpbGVzeXN0ZW0gdG8gYmUgY29tcHJlc3NlZFxuIgorIiBvdXRmaWxlICAgIG91dHB1dCBmaWxlXG4iCittc2dzdHIgIiIKKyJBdWZydWY6ICVzIFstaF0gWy12XSBbLWIgQmxvY2tncsO2w59lXSBbLWUgQXVzZ2FiZV0gWy1OIEJ5dGUtUmVpaGVuZm9sZ2VdIFstaSBEYXRlaV0gWy1uIE5hbWVdIFZlcnplaWNobmlzbmFtZSBmw7xyIEF1c2dhYmVkYXRlaVxuIgorIiAtaCAgICAgICAgICAgICBkaWVzZSBIaWxmZSBhdXNnZWJlblxuIgorIiAtdiAgICAgICAgICAgICBhdXNmw7xocmxpY2hlIE1lbGR1bmdlblxuIgorIiAtRSAgICAgICAgICAgICBhbGxlIFdhcm51bmdlbiB6dSBGZWhsZXJuIG1hY2hlbiAoQmVlbmRpZ3VuZ3NzdGF0dXMgdW5nbGVpY2ggTnVsbClcbiIKKyIgLWIgQmxvY2tncsO2w59lICBEaWVzZSBCbG9ja2dyw7bDn2UgdmVyd2VuZGVuLCBtdXNzIGdsZWljaCBkZXIgU2VpdGVuZ3LDtsOfZSBzZWluXG4iCisiIC1lIEF1c2dhYmUgICAgIEF1c2dhYmVudW1tZXIgZmVzdGxlZ2VuIChUZWlsIGRlciBmc2lkKVxuIgorIiAtaSBEYXRlaSAgICAgICBlaW4gRGF0ZWlhYmJpbGQgaW4gZGFzIERhdGVpc3lzdGVtIGVpbmbDvGdlblxuIgorIiAgICAgICAgICAgICAgICAoYmVuw7Z0aWd0IEtlcm5lbCA+PSAyLjQuMClcbiIKKyIgLW4gTmFtZSAgICAgICAgTmFtZSBkZXMgQ3JhbWZzLURhdGVpc3lzdGVtcyBmZXN0bGVnZW5cbiIKKyIgLXAgICAgICAgICAgICAgTWl0ICVkIEJ5dGVzIGbDvHIgQm9vdC1Db2RlIGF1ZmbDvGxsZW5cbiIKKyIgLXMgICAgICAgICAgICAgVmVyemVpY2huaXNlaW50csOkZ2Ugc29ydGllcmVuIChhbHRlIE9wdGlvbiwgaWdub3JpZXJ0KVxuIgorIiAteiAgICAgICAgICAgICBFeHBsaXppdGUgTMO2Y2hlciBlcnpldWdlbiAoYmVuw7Z0aWd0IEtlcm5lbCA+PSAyLjMuMzkpXG4iCisiIGRpcm5hbWUgICAgICAgIFd1cnplbCBkZXMgenUga29tcHJpbWllcmVuZGVuIERhdGVpc3lzdGVtc1xuIgorIiBvdXRmaWxlICAgICAgICBBdXNnYWJlZGF0ZWlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICJyZWFkbGluayBmZWhsZ2VzY2hsYWdlbjogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJEYXMgVmVyemVpY2huaXMg4oCeJXPigJwga29ubnRlIG5pY2h0IGdlbGVzZW4gd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NDQzCittc2dpZCAiZmlsZXN5c3RlbSB0b28gYmlnLiAgRXhpdGluZy4iCittc2dzdHIgIkRzIERhdGVpc3lzdGVtIGlzdCB6dSBncm/Dny4gQWJicnVjaC4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQUlFRUU6IGJsb2NrIFwiY29tcHJlc3NlZFwiIHRvID4gMipibG9ja2xlbmd0aCAoJWxkKVxuIgorbXNnc3RyICJBSUVFRTogQmxvY2sgYXVmID4gMsOXQmxvY2tsw6RuZ2UgKCVsZCkg4oCea29tcHJpbWllcnTigJxcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZCBCeXRlcylcdCVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNsb3NlIGZpbGUgJXMiCittc2dzdHIgIkRhdGVpIOKAniVz4oCcIGtvbm50ZSBuaWNodCBnZXNjaGxvc3NlbiB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MzIKK21zZ2lkICJpbnZhbGlkIGVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICJ1bmfDvGx0aWdlcyBBdXNnYWJlbnVtbWVybmFyZ3VtZW50IgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzQyCittc2dpZCAiaW52YWxpZCBlbmRpYW5uZXNzIGdpdmVuOyBtdXN0IGJlICdiaWcnLCAnbGl0dGxlJywgb3IgJ2hvc3QnIgorbXNnc3RyICJ1bmfDvGx0aWdlIEJ5dGUtUmVpaGVuZm9sZ2UgYW5nZWdlYmVuOyAgbXVzcyDigJ5iaWfigJwsIOKAnmxpdHRsZeKAnCBvZGVyIOKAnmhvc3TigJwgc2VpbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBndWVzdGltYXRlIG9mIHJlcXVpcmVkIHNpemUgKHVwcGVyIGJvdW5kKSBpcyAlbGxkTUIsIGJ1dCBtYXhpbXVtIGltYWdlIHNpemUgaXMgJXVNQi4gIFdlIG1pZ2h0IGRpZSBwcmVtYXR1cmVseS4iCittc2dzdHIgIldhcm51bmc6IEdyb2JzY2jDpHR6dW5nIGRlciBiZW7DtnRpZ3RlbiBHcsO2w59lIChvYmVyZSBTY2hyYW5rZSkgaXN0ICVsbGRNQiwgYWJlciBtYXhpbWFsZSBBYmJpbGQtR3LDtsOfZSBpc3QgJXVNQi4gRGFzIFByb2dyYW1tIGvDtm5udGUgZnLDvGh6ZWl0aWcgYWJicmVjaGVuLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgzMAorbXNnaWQgIlJPTSBpbWFnZSBtYXAiCittc2dzdHIgIlJPTS1BYmJpbGRkYXRlaSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg0MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbmNsdWRpbmc6ICVzXG4iCittc2dzdHIgIkVpbnNjaGxpZcOfbGljaDogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg0OAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgZGF0YTogJXpkIGJ5dGVzXG4iCittc2dzdHIgIlZlcnplaWNobmlzZGF0ZW46ICV6ZCBCeXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkV2ZXJ5dGhpbmc6ICV6ZCBraWxvYnl0ZXNcbiIKK21zZ3N0ciAiQWxsZXM6ICV6ZCBLaWxvYnl0ZXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2MQorIywgYy1mb3JtYXQKK21zZ2lkICJTdXBlciBibG9jazogJXpkIGJ5dGVzXG4iCittc2dzdHIgIlN1cGVyYmxvY2s6ICV6ZCBCeXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNSQzogJXhcbiIKK21zZ3N0ciAiQ1JDOiAleFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODczCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UgYWxsb2NhdGVkIGZvciBST00gaW1hZ2UgKCVsbGQgYWxsb2NhdGVkLCAlenUgdXNlZCkiCittc2dzdHIgIm5pY2h0IGdlbnVnIFJhdW0gZsO8ciBST00tQWJiaWxkIHp1Z2V3aWVzZW4gKCVsbGQgYmVyZWl0Z2VzdGVsbHQsICV6dSBiZW51dHp0KSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3OQorIywgYy1mb3JtYXQKK21zZ2lkICJST00gaW1hZ2Ugd3JpdGUgZmFpbGVkICglemQgJXpkKSIKK21zZ3N0ciAiU2NocmVpYmVuIGRlcyBST00tQWJiaWxkcyBmZWhsZ2VzY2hsYWdlbiAoJXpkICV6ZCkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODIKK21zZ2lkICJST00gaW1hZ2UiCittc2dzdHIgIlJPTS1BYmJpbGQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZW5hbWVzIHRydW5jYXRlZCB0byAldSBieXRlcy4iCittc2dzdHIgIldhcm51bmc6IERhdGVpbmFtZW4gYXVmICV1IEJ5dGVzIHZlcmvDvHJ6dC4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTMKK21zZ2lkICJ3YXJuaW5nOiBmaWxlcyB3ZXJlIHNraXBwZWQgZHVlIHRvIGVycm9ycy4iCittc2dzdHIgIldhcm51bmc6IERhdGVpZW4gd3VyZGVuIHdlZ2VuIEZlaGxlcm4gw7xiZXJzcHJ1bmdlbi4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZSBzaXplcyB0cnVuY2F0ZWQgdG8gJWx1TUIgKG1pbnVzIDEgYnl0ZSkuIgorbXNnc3RyICJXYXJudW5nOiBEYXRlaWdyw7bDn2VuIGFiZ2VzY2huaXR0ZW4gYXVmICVsdU1CIChtaW51cyAxIEJ5dGUpLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5OQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJXYXJudW5nOiBVSURzIGFiZ2VzY2huaXR0ZW4gYXVmICV1IEJpdHMuIChEaWVzIGvDtm5udGUgZWluIFNpY2hlcmhlaXRzcmlzaWtvIHNlaW4uKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwMgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBnaWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJXYXJudW5nOiBHSURzIGFiZ2VzY2huaXR0ZW4gYXVmICV1IEJpdHMuIChEaWVzIGvDtm5udGUgZWluIFNpY2hlcmhlaXRzcmlzaWtvIHNlaW4uKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogZGV2aWNlIG51bWJlcnMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICBUaGlzIGFsbW9zdCBjZXJ0YWlubHkgbWVhbnNcbiIKKyJ0aGF0IHNvbWUgZGV2aWNlIGZpbGVzIHdpbGwgYmUgd3JvbmcuIgorbXNnc3RyICIiCisiV0FSTlVORzogR2Vyw6R0ZW51bW1lcm4gYWJnZXNjaG5pdHRlbiBhdWYgJXUgQml0cy4gRGFoZXIgd2VyZGVuIG1pdCBhblxuIgorIlNpY2hlcmhlaXQgZ3JlbnplbmRlciBXYWhyc2NoZWlubGljaGtlaXQgZWluaWdlIEdlcsOkdGVkYXRlaWVuIGZhbHNjaCBzZWluLiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gL2Rldi9uYW1lIFtibG9ja3NdXG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIC9kZXYvTmFtZSBbQmxvY2thbnphaGxdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzNworbXNnaWQgIiAtMSAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAxXG4iCittc2dzdHIgIiAtMSAgICAgICAgICAgICAgICAgICAgICBNaW5peC1WZXJzaW9uIDEgdmVyd2VuZGVuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOAorbXNnaWQgIiAtMiwgLXYgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAyXG4iCittc2dzdHIgIiAtMiwgLXYgICAgICAgICAgICAgICAgICBNaW5peC1WZXJzaW9uIDIgdmVyd2VuZGVuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOQorbXNnaWQgIiAtMyAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAzXG4iCittc2dzdHIgIiAtMyAgICAgICAgICAgICAgICAgICAgICBNaW5peC1WZXJzaW9uIDMgdmVyd2VuZGVuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MAorbXNnaWQgIiAtbiwgLS1uYW1lbGVuZ3RoIDxudW0+ICBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiIC1uLCAtLW5hbWVsZW5ndGggPFphaGw+IG1heGltYWxlIEzDpG5nZSBlaW5lcyBEYXRlaW5hbWVuc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDEKK21zZ2lkICIgLWksIC0taW5vZGVzIDxudW0+ICAgICAgbnVtYmVyIG9mIGlub2RlcyBmb3IgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC1pLCAtLWlub2RlcyA8WmFobD4gICAgIGRpZSBBbnphaGwgZGVyIElub2RlcyBkZXMgRGF0ZWlzeXN0ZW1zIGFuZ2ViZW5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQyCittc2dpZCAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIGNoZWNrIHRoZSBkZXZpY2UgZm9yIGJhZCBibG9ja3NcbiIKK21zZ3N0ciAiIC1jICAtLWNoZWNrICAgICAgICAgICAgIGRhcyBHZXLDpHQgYXVmIGRlZmVrdGUgQmzDtmNrZSDDvGJlcnByw7xmZW5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQzCittc2dpZCAiIC1sLCAtLWJhZGJsb2NrcyA8ZmlsZT4gIGxpc3Qgb2YgYmFkIGJsb2NrcyBmcm9tIGZpbGVcbiIKK21zZ3N0ciAiIC1sLCAtLWJhZGJsb2NrcyA8RGF0ZWk+ICBMaXN0ZSBkZXIgZGVmZWt0ZW4gQmzDtmNrZSBhdXMgRGF0ZWkgbGVzZW5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIHRvIGJvb3QgYmxvY2sgZmFpbGVkICBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgIiVzOiBTcHJpbmdlbiB6dSBCb290YmxvY2sgZmVobGdlc2NobGFnZW4gaW4gd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBjbGVhciBib290IHNlY3RvciIKK21zZ3N0ciAiJXM6IGRlciBCb290c2VrdG9yIGthbm4gbmljaHQgZ2Vsw7ZzY2h0IHdlcmRlbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgIiVzOiBzZWVrIGluIHdyaXRlX3RhYmxlcyBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgIiVzOiBkZXIgU3VwZXJibG9jayBrYW5uIG5pY2h0IGdlc2NocmllYmVuIHdlcmRlbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICIlczogZGllIElub2RlLVRhYmVsbGUga2FubiBuaWNodCBnZXNjaHJpZWJlbiB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICIlczogZGllIFpvbmVudGFiZWxsZSBrYW5uIG5pY2h0IGdlc2NocmllYmVuIHdlcmRlbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICIlczogZGllIElub2RlcyBrw7ZubmVuIG5pY2h0IGdlc2NocmllYmVuIHdlcmRlbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6IFN1Y2hlIGluIHdyaXRlX2Jsb2NrIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6IFNjaHJlaWJlbiBpc3QgZmVobGdlc2NobGFnZW4gaW4gd3JpdGVfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyMSBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyOTYKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjM0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIG1hbnkgYmFkIGJsb2NrcyIKK21zZ3N0ciAiJXM6IHp1IHZpZWxlIGJlc2Now6RkaWd0ZSBCbMO2Y2tlIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBlbm91Z2ggZ29vZCBibG9ja3MiCittc2dzdHIgIiVzOiBuaWNodCBnZW7DvGdlbmQgZ3V0ZSBCbMO2Y2tlIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkZpcnN0IGRhdGEgYmxvY2sgYXQgJWpkLCB3aGljaCBpcyB0b28gZmFyIChtYXggJWQpLlxuIgorIlRyeSBzcGVjaWZ5aW5nIGZld2VyIGlub2RlcyBieSBwYXNzaW5nIC0taW5vZGVzIDxudW0+IgorbXNnc3RyICIiCisiRXJzdGVyIERhdGVuYmxvY2sgaXN0IGJlaSAlamQsIHdhcyB6dSB3ZWl0IGlzdCAobWF4aW1hbCAlZCkuXG4iCisiVmVyc3VjaGVuIFNpZSBlcyBtaXQgd2VuaWdlciBJbm9kZXMgZHVyY2ggQW5nYWJlIHZvbiAtLWlub2RlcyA8QW56YWhsPiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIiVsdSBJbm9kZVxuIgorbXNnc3RyWzFdICIlbHUgSW5vZGVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlbHUgQmxvY2tcbiIKK21zZ3N0clsxXSAiJWx1IEJsw7Zja2VcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSV6dVxuIgorbXNnc3RyICJab25lbmdyw7bDn2U9JXp1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTWF4c2l6ZT0lenVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIk1heGltYWxncsO2w59lPSV6dVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGR1cmluZyB0ZXN0aW5nIG9mIGJsb2NrcyIKK21zZ3N0ciAiJXM6IFNlZWsgZmVobGdlc2NobGFnZW4gd8OkaHJlbmQgZGVyIEJsb2Nrw7xiZXJwcsO8ZnVuZyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIldlaXJkIHZhbHVlcyBpbiBkb19jaGVjazogcHJvYmFibHkgYnVnc1xuIgorbXNnc3RyICJNZXJrd8O8cmRpZ2UgV2VydGUgaW4gZG9fY2hlY2s6IHdhaHJzY2hlaW5saWNoIEZlaGxlclxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAiJXM6IFN1Y2hlIGZlaGxnZXNjaGxhZ2VuIGluIGNoZWNrX2Jsb2NrcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgYmxvY2tzIGJlZm9yZSBkYXRhLWFyZWE6IGNhbm5vdCBtYWtlIGZzIgorbXNnc3RyICIlczogYmVzY2jDpGRpZ3RlIEJsw7Zja2Ugdm9yIGRlbSBEYXRlbmJlcmVpY2g6IERhdGVpc3lzdGVtIGthbm4gbmljaHQgZXJzdGVsbHQgd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MzkgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGJhZCBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlZCBiYWQgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVkIGJlc2Now6RkaWd0ZXIgQmxvY2tcbiIKK21zZ3N0clsxXSAiJWQgYmVzY2jDpGRpZ3RlIEJsw7Zja2VcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBvcGVuIGZpbGUgb2YgYmFkIGJsb2NrcyIKK21zZ3N0ciAiJXM6IGRpZSBEYXRlaSBtaXQgYmVzY2jDpGRpZ3RlbiBCbMO2Y2tlbiBrYW5uIG5pY2h0IGdlw7ZmZm5ldCB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1MworIywgYy1mb3JtYXQKK21zZ2lkICJiYWRibG9jayBudW1iZXIgaW5wdXQgZXJyb3Igb24gbGluZSAlZFxuIgorbXNnc3RyICJGZWhsZXIgYmVpbSBFaW5sZXNlbiBkZXMgV2VydGVzIGbDvHIgZGllIEFuemFobCBzY2hsZWNodGVyIELDtmNrZSBpbiBaZWlsZSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGJhZGJsb2NrcyBmaWxlIgorbXNnc3RyICIlczogRGllIERhdGVpIG1pdCBkZW4gYmVzY2jDpGRpZ3RlbiBCbMO2Y2tlbiBrb25udGUgbmljaHQgZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5NAorIywgYy1mb3JtYXQKK21zZ2lkICJibG9jayBzaXplIHNtYWxsZXIgdGhhbiBwaHlzaWNhbCBzZWN0b3Igc2l6ZSBvZiAlcyIKK21zZ3N0ciAiZGllIEJsb2NrZ3LDtsOfZSBpc3QgZ2VyaW5nZXIgYWxzIGRpZSBwaHlzaXNjaGUgU2VrdG9yZ3LDtsOfZSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgc2l6ZSBvZiAlcyIKK21zZ3N0ciAiZXMgaXN0IG5pY2h0IG3DtmdsaWNoLCBkaWUgR3LDtsOfZSB2b24gJXMgZmVzdHp1c3RlbGxlbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZXF1ZXN0ZWQgYmxvY2tzICglbGx1KSBleGNlZWRzIGF2YWlsYWJsZSAoJWxsdSkgYmxvY2tzXG4iCittc2dzdHIgIiVzOiBkaWUgWmFobCBkZXIgYW5nZWZvcmRlcnRlbiBCbMO2Y2tlICglbGx1KSDDvGJlcnNjaHJlaXRldCBkaWUgWmFobCBkZXIgdmVyZsO8Z2JhcmVuICglbGx1KVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG51bWJlciBvZiBibG9ja3MgdG9vIHNtYWxsIgorbXNnc3RyICIlczogZGllIEFuemFobCBkZXIgQmzDtmNrZSBpc3QgenUga2xlaW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbmFtZSBsZW5ndGg6ICVkIgorbXNnc3RyICJuaWNodCB1bnRlcnN0w7x0enRlIE5hbWVuc2zDpG5nZTogJWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBtaW5peCBmaWxlIHN5c3RlbSB2ZXJzaW9uOiAlZCIKK21zZ3N0ciAibmljaHQgdW50ZXJzdMO8dHp0ZSBNaW5peCBEYXRlaXN5c3RlbXZlcnNpb246ICVkIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NjcKK21zZ2lkICItdiBpcyBhbWJpZ3VvdXMsIHVzZSAnLTInIGluc3RlYWQiCittc2dzdHIgIi12IGlzdCBtZWhyZGV1dGlnLCB2ZXJ3ZW5kZW4gU2llIHN0YXR0IGRlc3NlbiDigJ4tMuKAnCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Nzc4Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lcyIKK21zZ3N0ciAiRWlubGVzZW4gZGVyIG1heGltYWxlbiBEYXRlaW5hbWVuc2zDpG5nZSBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzgyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBpbm9kZXMiCittc2dzdHIgIkVpbmxlc2VuIHZvbiBlaW5pZ2VuIElub2RlcyBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODA2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBibG9ja3MiCittc2dzdHIgIkVpbmxlc2VuIHZvbiBlaW5pZ2VuIEJsw7Zja2VuIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBhIGZpbGVzeXN0ZW0gaGVyZSEiCittc2dzdHIgIiVzIGlzdCBlaW5nZWjDpG5ndDsgZGFoZXIgd2lyZCBoaWVyIGtlaW4gRGF0ZWlzeXN0ZW0gYW5nZWxlZ3QhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJXUiCittc2dzdHIgIlVuZ8O8bHRpZ2UgYmVudXR6ZXJkZWZpbmllcnRlIFNlaXRlbmdyw7bDn2UgJXUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICVkLCBpbnN0ZWFkIG9mIHRoZSBzeXN0ZW0gdmFsdWUgJWQiCittc2dzdHIgIkJlbnV0emVyZGVmaW5pZXJ0ZSBTZWl0ZW5ncsO2w59lICVkIHdpcmQgYW5zdGVsbGUgZGVzIFN5c3RlbXdlcnRzICVkIHZlcndlbmRldCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMjQKK21zZ2lkICJMYWJlbCB3YXMgdHJ1bmNhdGVkLiIKK21zZ3N0ciAiQmV6ZWljaG51bmcgd3VyZGUgYWJnZXNjaG5pdHRlbi4iCisKKyMgZGl0bworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbGFiZWwsICIKK21zZ3N0ciAia2VpbmUgQmV6ZWljaG51bmcsICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gdXVpZFxuIgorbXNnc3RyICJrZWluZSBVVUlEXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdIGRldmljZSBbc2l6ZV1cbiIKK21zZ3N0ciAiIgorIlxuIgorIkF1ZnJ1ZjogXG4iCisiJXMgW09wdGlvbmVuXSBHZXLDpHQgW0dyw7bDn2VdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTUyCittc2dpZCAiU2V0IHVwIGEgTGludXggc3dhcCBhcmVhLlxuIgorbXNnc3RyICJFaW5lbiBMaW51eC1BdXNsYWdlcnVuZ3NiZXJlaWNoIGVpbnJpY2h0ZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIGNoZWNrIGJhZCBibG9ja3MgYmVmb3JlIGNyZWF0aW5nIHRoZSBzd2FwIGFyZWFcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBhbGxvdyBzd2FwIHNpemUgYXJlYSBiZSBsYXJnZXIgdGhhbiBkZXZpY2VcbiIKKyIgLXAsIC0tcGFnZXNpemUgU0laRSAgICAgICBzcGVjaWZ5IHBhZ2Ugc2l6ZSBpbiBieXRlc1xuIgorIiAtTCwgLS1sYWJlbCBMQUJFTCAgICAgICAgIHNwZWNpZnkgbGFiZWxcbiIKKyIgLXYsIC0tc3dhcHZlcnNpb24gTlVNICAgICBzcGVjaWZ5IHN3YXAtc3BhY2UgdmVyc2lvbiBudW1iZXJcbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICBzcGVjaWZ5IHRoZSB1dWlkIHRvIHVzZVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wdGlvbmVuOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIHZvciBkZW0gRXJ6ZXVnZW4gZGVzIEF1c2xhZ2VydW5nc2JlcmVpY2hzIHdpcmRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWYgYmVzY2jDpGRpZ3RlIEJsw7Zja2UgZ2VwcsO8ZnRcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBBdXNsYWdlcnVuZ3NiZXJlaWNoIGRhcmYgZ3LDtsOfZXIgYWxzIGRhcyBHZXLDpHQgc2VpblxuIgorIiAtcCwgLS1wYWdlc2l6ZSBHUsOWU1NFICAgICBHcsO2w59lIGRlciBTcGVpY2hlcnNlaXRlbiBpbiBCeXRlc1xuIgorIiAtTCwgLS1sYWJlbCBMQUJFTCAgICAgICAgIHp1IHZlcndlbmRlbmRlIEJlemVpY2hudW5nIGFuZ2ViZW5cbiIKKyIgLXYsIC0tc3dhcHZlcnNpb24gWkFITCAgICBWZXJzaW9uIGRlcyBBdXNsYWdlcnVuZ3NiZXJlaWNocyBhbmdlYmVuXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgenUgdmVyd2VuZGVuZGUgVVVJRCBhbmdlYmVuXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgVmVyc2lvbnNpbmZvcm1hdGlvbmVuIGF1c2dlYmVuIHVuZCBiZWVuZGVuXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgZGllc2UgSGlsZmUgYW56ZWlnZW4gdW5kIGJlZW5kZW5cbiIKKyJcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgYmFkIHBhZ2VzOiAlbHUiCittc2dzdHIgInp1IHZpZWxlIGJlc2Now6RkaWd0ZSDigJ5TZWl0ZW7igJw6ICVsdSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxOTUKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgIlN1Y2hlIGZlaGxnZXNjaGxhZ2VuIGluIGNoZWNrX2Jsb2NrcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJhZCBwYWdlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBiYWQgcGFnZXNcbiIKK21zZ3N0clswXSAiJWx1IGJlc2Now6RkaWd0ZSBTZWl0ZVxuIgorbXNnc3RyWzFdICIlbHUgYmVzY2jDpGRpZ3RlIFNlaXRlblxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIyOAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBuZXcgbGliYmxraWQgcHJvYmUiCittc2dzdHIgImtlaW4gU3BlaWNoZXJwbGF0eiBmw7xyIG5ldWUgbGliYmxraWQtUHJvYmUgdmVyZsO8Z2JhciIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMzAKK21zZ2lkICJ1bmFibGUgdG8gYXNzaWduIGRldmljZSB0byBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAiWnV3ZWlzdW5nIGVpbmVzIEdlcsOkdGVzIHp1ciBsaWJibGtpZC1Qcm9iZSBuaWNodCBtw7ZnbGljaCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2hlY2tpbmcgYmFkIGJsb2NrcyBmcm9tIHN3YXAgZmlsZSBpcyBub3Qgc3VwcG9ydGVkOiAlcyIKK21zZ3N0ciAiV2FybnVuZzogRGllIMOcYmVycHLDvGZ1bmcgZmVobGVyaGFmdGVyIEJsw7Zja2UgZWluZXIgQXVzbGFnZXJ1bmdzZGF0ZWkgd2lyZCBuaWNodCB1bnRlcnN0w7x0enQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI2MSBkaXNrLXV0aWxzL21rc3dhcC5jOjI4NyBkaXNrLXV0aWxzL21rc3dhcC5jOjMzNAorbXNnaWQgInVuYWJsZSB0byByZXdpbmQgc3dhcC1kZXZpY2UiCittc2dzdHIgIkF1c2xhZ2VydW5nc2dlcsOkdCBrYW5uIG5pY2h0IHp1csO8Y2tnZXNwdWx0IHdlcmRlbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyOTAKK21zZ2lkICJ1bmFibGUgdG8gZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAiQm9vdHNla3RvciBrYW5uIG5pY2h0IGdlbMO2c2NodCB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiB3aXBpbmcgb2xkICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIiVzOiBXYXJudW5nOiBBbHRlICVzLVNpZ25hdHVyIHdpcmQgZ2Vsw7ZzY2h0LiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IGRvbid0IGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgIiVzOiBXYXJudW5nOiBMw7ZzY2hlbiBTaWUga2VpbmUgQm9vdHNla3RvcmVuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICglcyBwYXJ0aXRpb24gdGFibGUgZGV0ZWN0ZWQpLiAiCittc2dzdHIgIiAgICAgICAgKCVzLVBhcnRpdGlvbnN0YWJlbGxlIGdlZnVuZGVuKS4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKGNvbXBpbGVkIHdpdGhvdXQgbGliYmxraWQpLiAiCittc2dzdHIgIiAgICAgICAgKG9obmUgbGliYmxraWQga29tcGlsaWVydCkuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICJVc2UgLWYgdG8gZm9yY2UuXG4iCittc2dzdHIgIlZlcndlbmRlbiBTaWUgLWYgenVtIEVyendpbmdlbi5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzaWduYXR1cmUgcGFnZSIKK21zZ3N0ciAiJXM6IFNpZ25hdHVyc2VpdGUga2FubiBuaWNodCBnZXNjaHJpZWJlbiB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzgwCittc2dpZCAicGFyc2luZyBwYWdlIHNpemUgZmFpbGVkIgorbXNnc3RyICJFaW5sZXNlbiBkZXIgU2VpdGVuZ3LDtsOfZSBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODYKK21zZ2lkICJwYXJzaW5nIHZlcnNpb24gbnVtYmVyIGZhaWxlZCIKK21zZ3N0ciAiRWlubGVzZW4gZGVyIFZlcnNpb25zbnVtbWVyIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwc3BhY2UgdmVyc2lvbiAlZCBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJBdXNsYWdlcnVuZ3NiZXJlaWNoIGRlciBWZXJzaW9uICVkIHdpcmQgbmljaHQgdW50ZXJzdMO8dHp0IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBpZ25vcmluZyAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkIGJ5ICVzKSIKK21zZ3N0ciAiV2FybnVuZzogLVUgd2lyZCBpZ25vcmllcnQgKFVVSURzIHdlcmRlbiB2b24gJXMgbmljaHQgdW50ZXJzdMO8dHp0KSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MTQKK21zZ2lkICJvbmx5IG9uZSBkZXZpY2UgYXJndW1lbnQgaXMgY3VycmVudGx5IHN1cHBvcnRlZCIKK21zZ3N0ciAiaW0gTW9tZW50IHdpcmQgbnVyIGVpbiBHZXLDpHRlYXJndW1lbnQgdW50ZXJzdMO8dHp0IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQyMQorbXNnaWQgImVycm9yOiBwYXJzaW5nIFVVSUQgZmFpbGVkIgorbXNnc3RyICJGZWhsZXI6IEVpbmxlc2VuIGRlciBVVUlEIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzMAorbXNnaWQgImVycm9yOiBOb3doZXJlIHRvIHNldCB1cCBzd2FwIG9uPyIKK21zZ3N0ciAiRmVobGVyOiBXbyBzb2xsIGRlciBBdXNsYWdlcnVuZ3NiZXJlaWNoIGFuZ2VsZWd0IHdlcmRlbj8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDM2Cittc2dpZCAiaW52YWxpZCBibG9jayBjb3VudCBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXMgQmxvY2thbnphaGxhcmd1bWVudCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHNpemUgJWxsdSBLaUIgaXMgbGFyZ2VyIHRoYW4gZGV2aWNlIHNpemUgJTxQUkl1NjQ+IEtpQiIKK21zZ3N0ciAiRmVobGVyOiBHcsO2w59lICVsbHUgS2lCIMO8YmVyc3RlaWd0IGRpZSBHZXLDpHRlZ3LDtsOfZSAlPFBSSXU2ND4gS2lCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1MQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc3dhcCBhcmVhIG5lZWRzIHRvIGJlIGF0IGxlYXN0ICVsZCBLaUIiCittc2dzdHIgIkZlaGxlcjogZGVyIEF1c2xhZ2VydW5nc2JlcmVpY2ggbXVzcyBtaW5kZXN0ZW5zICVsZCBLaUIgZ3Jvw58gc2VpbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdHJ1bmNhdGluZyBzd2FwIGFyZWEgdG8gJWxsdSBLaUIiCittc2dzdHIgIldhcm51bmc6IERlciBBdXNsYWdlcnVuZ3NiZXJlaWNoIHdpcmQgbnVyIG1pdCBkZXIgR3LDtsOfZSAlbGx1IEtpQiBhbmdlbGVndCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2Ugc3dhcHNwYWNlIgorbXNnc3RyICJGZWhsZXI6ICVzIGlzdCBlaW5nZWjDpG5ndDsgZXMgd2lyZCBrZWluIEF1c2xhZ2VydW5nc2JlcmVpY2ggYW5nZWxlZ3QiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDY4IHN5cy11dGlscy9zd2Fwb24uYzo1MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIHBlcm1pc3Npb25zICUwNG8sICUwNG8gc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IHVuc2ljaGVyZSBadWdyaWZmc3JlY2h0ZSAlMDRvLCAlMDRvIHdpcmQgZW1wZm9obGVuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ3MiBzeXMtdXRpbHMvc3dhcG9uLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBmaWxlIG93bmVyICVkLCAwIChyb290KSBzdWdnZXN0ZWQuIgorbXNnc3RyICIlczogdW5zaWNoZXJlciBEYXRlaWVpZ2VudMO8bWVyICVkLCAwIChyb290KSB3aXJkIGVtcGZvaGxlbi4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDg3Cittc2dpZCAiVW5hYmxlIHRvIHNldCB1cCBzd2FwLXNwYWNlOiB1bnJlYWRhYmxlIgorbXNnc3RyICJFcyBpc3QgbmljaHQgbcO2Z2xpY2gsIGVpbmVuIEF1c2xhZ2VydW5nc2JlcmVpY2ggZWluenVyaWNodGVuOiBuaWNodCBsZXNiYXIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgdXAgc3dhcHNwYWNlIHZlcnNpb24gJWQsIHNpemUgPSAlcyAoJTxQUkl1NjQ+IGJ5dGVzKVxuIgorbXNnc3RyICJBdXNsYWdlcnVuZ3NiZXJlaWNoIFZlcnNpb24gJWQgd2lyZCBhbmdlbGVndCwgR3LDtsOfZSA9ICVzICglPFBSSXU2ND4gQnl0ZXMpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gb2J0YWluIHNlbGludXggZmlsZSBsYWJlbCIKK21zZ3N0ciAiJXM6IFNFTGludXgtRGF0ZWlrZW5uc2F0eiBrYW5uIG5pY2h0IGFiZ2VydWZlbiB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE1Cittc2dpZCAidW5hYmxlIHRvIG1hdGNocGF0aGNvbigpIgorbXNnc3RyICJtYXRjaHBhdGhjb24oKSBrYW5uIG5pY2h0IGR1cmNoZ2Vmw7xocnQgd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxOAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbmV3IHNlbGludXggY29udGV4dCIKK21zZ3N0ciAibmV1ZXIgU0VMaW51eC1Lb250ZXh0IGthbm4gbmljaHQgYW5nZWxlZ3Qgd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMAorbXNnaWQgImNvdWxkbid0IGNvbXB1dGUgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJTRUxpbnV4LUtvbnRleHQga29ubnRlIG5pY2h0IGJlcmVjaG5ldCB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZWxhYmVsICVzIHRvICVzIgorbXNnc3RyICIlcyBrb25udGUgbmljaHQgaW4gJXMgdW1iZW5hbm50IHdlcmRlbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg2Cittc2dpZCAicGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiUGFydGl0aW9uc251bW1lciIKKworIyAiTnVyIGRpZSBQYXJ0aXRpb25zdGFiZWxsZSBhdXNnZWJlbiIgKGpvZXkpCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODcKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgIkFuZmFuZyBkZXIgUGFydGl0aW9uIGluIFNla3RvcmVuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODgKK21zZ2lkICJlbmQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICJFbmRlIGRlciBQYXJ0aXRpb24gaW4gU2VrdG9yZW4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OQorbXNnaWQgIm51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJBbnphaGwgZGVyIFNla3RvcmVuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTAKK21zZ2lkICJodW1hbiByZWFkYWJsZSBzaXplIgorbXNnc3RyICJtZW5zY2hlbmxlc2JhcmUgR3LDtsOfZSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkxCittc2dpZCAicGFydGl0aW9uIG5hbWUiCittc2dzdHIgIlBhcnRpdGlvbnNuYW1lIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA4IG1pc2MtdXRpbHMvbHNibGsuYzoxNjgKK21zZ2lkICJwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiUGFydGl0aW9ucy1VVUlEIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTMKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUgdHlwZSAoZG9zLCBncHQsIC4uLikiCittc2dzdHIgIlBhcnRpdGlvbnN0YWJlbGxlbnR5cCAoRE9TLCBHUFQsIC4uLikiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY5Cittc2dpZCAicGFydGl0aW9uIGZsYWdzIgorbXNnc3RyICJQYXJ0aXRpb25zbWFya2llcnVuZ2VuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTUKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSAoYSBzdHJpbmcsIGEgVVVJRCwgb3IgaGV4KSIKK21zZ3N0ciAiUGFydGl0aW9uc3R5cCAoZWluZSBaZWljaGVua2V0dGUsIGVpbmUgVVVJRCBvZGVyIGhleGFkZXppbWFsKSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUwOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjYxNgorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BjeHQiCittc2dzdHIgImxvb3BjeHQga29ubnRlIG5pY2h0IGluaXRpYWxpc2llcnQgd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZCB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiBlcyBrb25udGUga2VpbiBmcmVpZXMgTG9vcC1HZXLDpHQgZ2VmdW5kZW4gd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTIyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeWluZyB0byB1c2UgJyVzJyBmb3IgdGhlIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIkVzIHdpcmQgdmVyc3VjaHQsIOKAniVz4oCcIGFscyBMb29wLUdlcsOkdCB6dSB2ZXJ3ZW5kZW5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBiYWNraW5nIGZpbGUiCittc2dzdHIgIiVzOiBCYWNraW5nLURhdGVpIGtvbm50ZSBuaWNodCBnZXNldHp0IHdlcmRlbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEzMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjU1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB1cCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IExvb3AtR2Vyw6R0IGtvbm50ZSBuaWNodCBlaW5nZXJpY2h0ZXQgd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTYxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzA3IG1pc2MtdXRpbHMvZmluZG1udC5jOjM3NgorIzogbWlzYy11dGlscy9sc2Jsay5jOjM1NCBtaXNjLXV0aWxzL2xzbG9ja3MuYzozNDIgc3lzLXV0aWxzL2xvc2V0dXAuYzoxMDcKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM3MiBzeXMtdXRpbHMvbHNpcGMuYzoyMzIgc3lzLXV0aWxzL2xzbnMuYzoxODkKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjc3IHN5cy11dGlscy9zd2Fwb24uYzoxNDcgc3lzLXV0aWxzL3dkY3RsLmM6MTUxCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjE0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgInVuYmVrYW5udGUgU3BhbHRlOiAlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICIlczogQWJydWZlbiBkZXIgUGFydGl0aW9uc251bW1lciBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyODYgZGlzay11dGlscy9wYXJ0eC5jOjMyNCBkaXNrLXV0aWxzL3BhcnR4LmM6NDc3CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZmllZCByYW5nZSA8JWQ6JWQ+IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgImFuZ2VnZWJlbmVyIEJlcmVpY2ggPCVkOiVkPiBlcmdpYnQga2VpbmVuIFNpbm4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmFuZ2UgcmVjb3VudDogbWF4IHBhcnRubz0lZCwgbG93ZXI9JWQsIHVwcGVyPSVkXG4iCittc2dzdHIgIkJlcmVpY2hzbmFjaHrDpGhsdW5nOiBtYXguIFBhck5yLj0lZCwgdW50ZXJlIEdyZW56ZT0lZCwgb2JlcmUgR3JlbnplPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXM6IEZlaGxlciBiZWltIEzDtnNjaGVuIGRlciBQYXJ0aXRpb24gJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiVzOiBGZWhsZXIgYmVpbSBMw7ZzY2hlbiBkZXIgUGFydGl0aW9uZW4gJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVtb3ZlZFxuIgorbXNnc3RyICIlczogUGFydGl0aW9uICMlZCBlbnRmZXJudFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGRvZXNuJ3QgZXhpc3RcbiIKK21zZ3N0ciAiJXM6IFBhcnRpdGlvbiAjJWQgaXN0IG5pY2h0IHZvcmhhbmRlblxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZWxldGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEzDtnNjaGVuIGRlciBQYXJ0aXRpb24gIyVkIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIlczogRmVobGVyIGJlaW0gSGluenVmw7xnZW4gZGVyIFBhcnRpdGlvbiAlZCIKKworIyBYWFgg4oCTIE1lcmdlIHdpdGggbmV4dCBzdHJpbmdzLgorIzogZGlzay11dGlscy9wYXJ0eC5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiVzOiBGZWhsZXIgYmVpbSBIaW56dWbDvGdlbiBkZXIgUGFydGl0aW9uZW4gJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MDUgZGlzay11dGlscy9wYXJ0eC5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBhZGRlZFxuIgorbXNnc3RyICIlczogUGFydGl0aW9uICMlZCBoaW56dWdlZsO8Z3RcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYWRkaW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlczogSGluenVmw7xnZW4gZGVyIFBhcnRpdGlvbiAjJWQgZmVobGdlc2NobGFnZW4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXM6IEZlaGxlciBiZWltIEFrdHVhbGlzaWVyZW4gZGVyIFBhcnRpdGlvbiAlZCIKKworIyBYWFgg4oCTIE1lcmdlIHdpdGggbmV4dCBzdHJpbmdzLgorIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXM6IEZlaGxlciBiZWltIEFrdHVhbGlzaWVyZW4gZGVyIFBhcnRpdGlvbmVuICVkLSVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBwYXJ0aXRpb24gIyVkIgorbXNnc3RyICIlczoga2VpbmUgUGFydGl0aW9uICMlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZXNpemVkXG4iCittc2dzdHIgIiVzOiBHcsO2w59lIGRlciBQYXJ0aXRpb24gIyVkIGdlw6RuZGVydFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1cGRhdGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEFrdHVhbGlzaWVydW5nIGRlciBQYXJ0aXRpb24gIyVkIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9yLCAlNmp1IE1CKVxuIgorbXNnaWRfcGx1cmFsICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9ycywgJTZqdSBNQilcbiIKK21zZ3N0clswXSAiIyUyZDogJTlqdS0lOWp1ICglOWp1IFNla3RvciwgJTZqdSBNQilcbiIKK21zZ3N0clsxXSAiIyUyZDogJTlqdS0lOWp1ICglOWp1IFNla3RvcmVuLCAlNmp1IE1CKVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTgxIG1pc2MtdXRpbHMvZmluZG1udC5jOjY4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MDUKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM5MSBzeXMtdXRpbHMvbHNucy5jOjQ1NgorbXNnaWQgImZhaWxlZCB0byBhZGQgbGluZSB0byBvdXRwdXQiCittc2dzdHIgImRhcyBIaW56dWbDvGdlbiBlaW5lciBaZWlsZSB6dXIgQXVzZ2FiZSBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NDQKK21zZ2lkICJmYWlsZWQgdG8gYWRkIGRhdGEgdG8gb3V0cHV0IHRhYmxlIgorbXNnc3RyICJIaW56dWbDvGdlbiB2b24gRGF0ZW4genVyIEF1c2dhYmV0YWJlbGxlIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY2NyBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjkyMiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTg1CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg3NCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NTEgc3lzLXV0aWxzL2xvc2V0dXAuYzozMTAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MTMgc3lzLXV0aWxzL2xzaXBjLmM6MzM4IHN5cy11dGlscy9sc25zLmM6NTExCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI5NyBzeXMtdXRpbHMvc3dhcG9uLmM6MjgwIHN5cy11dGlscy93ZGN0bC5jOjI1OQorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo0ODQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgIkF1c2dhYmV0YWJlbGxlIGtvbm50ZSBuaWNodCBpbml0aWFsaXNpZXJ0IHdlcmRlbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY3OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjExIG1pc2MtdXRpbHMvbHNibGsuYzoxODk2CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NjUgc3lzLXV0aWxzL2xvc2V0dXAuYzozMjIgc3lzLXV0aWxzL2xvc2V0dXAuYzozNTgKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MTggc3lzLXV0aWxzL2xzbnMuYzo1MzIgc3lzLXV0aWxzL3BybGltaXQuYzozMDYKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyODkgc3lzLXV0aWxzL3dkY3RsLmM6MjcwIHN5cy11dGlscy96cmFtY3RsLmM6NDkzCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAiQXVzZ2FiZXNwYWx0ZSBrb25udGUgbmljaHQgaW5pdGlhbGlzaWVydCB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgZmlsdGVyIGZvciAnJXMnIgorbXNnc3RyICJibGtpZC1GaWx0ZXIgZsO8ciDigJ4lc+KAnCBrb25udGUgbmljaHQgaW5pdGlhbGlzaWVydCB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiJXM6IFBhcnRpdGlvbnN0YWJlbGxlIGtvbm50ZSBuaWNodCBnZWxlc2VuIHdlcmRlbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHR5cGUgJyVzJyBkZXRlY3RlZFxuIgorbXNnc3RyICIlczogUGFydGl0aW9uc3RhYmVsbGUgZGVzIFR5cHMg4oCeJXPigJwgd3VyZGUgZXJrYW5udFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgd2l0aCBubyBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogUGFydGl0aW9uc3RhYmVsbGUgb2huZSBQYXJ0aXRpb25lbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0aXRpb24+XSA8ZGlzaz5cbiIKK21zZ3N0ciAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8UGFydGl0aW9uPl0gPEZlc3RwbGF0dGU+XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTYKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIHByZXNlbmNlIGFuZCBudW1iZXJpbmcgb2YgcGFydGl0aW9ucy5cbiIKK21zZ3N0ciAiRGVuIEtlcm5lbCDDvGJlciBkaWUgVmVyZsO8Z2JhcmtlaXQgdW5kIE51bW1lcmllcnVuZyBkZXIgUGFydGl0aW9uZW4gaW5mb3JtaWVyZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTkKK21zZ2lkICIgLWEsIC0tYWRkICAgICAgICAgICAgYWRkIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtYSwgLS1hZGQgICAgICAgICAgICBiZXN0aW1tdGUgUGFydGl0aW9uZW4gb2RlciBhbGxlIGhpbnp1ZsO8Z2VuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjAKK21zZ2lkICIgLWQsIC0tZGVsZXRlICAgICAgICAgZGVsZXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtZCwgLS1kZWxldGUgICAgICAgICBiZXN0aW1tdGUgUGFydGl0aW9uZW4gb2RlciBhbGxlIGzDtnNjaGVuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjEKK21zZ2lkICIgLXUsIC0tdXBkYXRlICAgICAgICAgdXBkYXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtdSwgLS11cGRhdGUgICAgICAgICBiZXN0aW1tdGUgUGFydGl0aW9uZW4gb2RlciBhbGxlIGFrdHVhbGlzaWVyZW5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MgorbXNnaWQgIiIKKyIgLXMsIC0tc2hvdyAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zXG4iCisiXG4iCittc2dzdHIgIiIKKyIgLXMsIC0tc2hvdyAgICAgICAgICAgUGFydGl0aW9uZW4gYXVmbGlzdGVuXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjMgbWlzYy11dGlscy9sc2Jsay5jOjE2MjMKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgICAgIEdSw5ZTU0UgaW4gQnl0ZXMgYXVzZ2ViZW4sIGFuc3RhdHQgaW0gbWVuc2NoZW5sZXNiYXJlbiBGb3JtYXRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NAorbXNnaWQgIiAtZywgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1zaG93XG4iCittc2dzdHIgIiAtZywgLS1ub2hlYWRpbmdzICAgICBrZWluZSDDnGJlcnNjaHJpZnRlbiBhdXNnZWJlbiBmw7xyIC0tc2hvd1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY1Cittc2dpZCAiIC1uLCAtLW5yIDxuOm0+ICAgICAgIHNwZWNpZnkgdGhlIHJhbmdlIG9mIHBhcnRpdGlvbnMgKGUuZy4gLS1uciAyOjQpXG4iCittc2dzdHIgIiAtbiwgLS1uciA8bjptPiAgICAgICBkZW4gUGFydGl0aW9uc2JlcmVpY2ggYW5nZWJlbiAoei5CLiAtLW5yIDI6NClcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NgorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPExpc3RlPiBkaWUgenUgdmVyd2VuZGVuZGVuIEF1c2dhYmVzcGFsdGVuIGZlc3RsZWdlblxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY3IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM3Cittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1QLCAtLXBhaXJzICAgICAgICAgIEF1c2dhYmVmb3JtYXQgU2NobMO8c3NlbD1cIldlcnRcIiB2ZXJ3ZW5kZW5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OCBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzOAorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgIFJvaGF1c2dhYmVmb3JtYXQgdmVyd2VuZGVuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjkKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgc3BlY2lmeSB0aGUgcGFydGl0aW9uIHR5cGUgKGRvcywgYnNkLCBzb2xhcmlzLCBldGMuKVxuIgorbXNnc3RyICIgLXQsIC0tdHlwZSA8VHlwPiAgICBkZW4gUGFydGl0aW9uc3R5cCBhbmdlYmVuIChET1MsIEJTRCwgU29sYXJpcywgdXN3LilcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICBhdXNmw7xocmxpY2hlciBNb2R1c1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Nzc2Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93LCAtLXJhdyBvciAtLXBhaXJzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlZlcmbDvGdiYXJlIFNwYWx0ZW4gKGbDvHIgLS1zaG93LCAtLXJhdyBvZGVyIC0tcGFpcnMpOlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODQ5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tbnIgPE0tTj4gcmFuZ2UiCittc2dzdHIgIkVpbmxlc2VuIGRlcyAtLW5yIDxNLU4+IEJlcmVpY2hzIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkyNAorbXNnaWQgInBhcnRpdGlvbiBhbmQgZGlzayBuYW1lIGRvIG5vdCBtYXRjaCIKK21zZ3N0ciAiRGVyIE5hbWUgZGVyIFBhcnRpdGlvbiBzdGltbXQgbmljaHQgbWl0IGRlbSBkZXIgUGxhdHRlICDDvGJlcmVpbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1MgorbXNnaWQgIi0tbnIgYW5kIDxwYXJ0aXRpb24+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIi0tbnIgdW5kIDxQYXJ0aXRpb24+IHNjaGxpZcOfZW4gc2ljaCBnZWdlbnNlaXRpZyBhdXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFydGl0aW9uOiAlcywgZGlzazogJXMsIGxvd2VyOiAlZCwgdXBwZXI6ICVkXG4iCittc2dzdHIgIlBhcnRpdGlvbjogJXMsIEZlc3RwbGF0dGU6ICVzLCB1bnRlcmU6ICVkLCBvYmVyZTogJWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRlbGV0ZSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogUGFydGl0aW9uZW4ga8O2bm5lbiBuaWNodCBnZWzDtnNjaHQgd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb25lZCBsb29wIGRldmljZXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiVzOiBhdWZnZXRlaWx0ZSBMb29wLUdlcsOkdGUgd2VyZGVuIG5pY2h0IHVudGVyc3TDvHR6dCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIHByb2JlciIKK21zZ3N0ciAiJXM6IEluaXRpYWxpc2llcnVuZyBkZXMgYmxraWQtVW50ZXJzdWNoZXJzIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9yYXcuYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgJTIkc3Jhd04gPG1ham9yPiA8bWlub3I+XG4iCisiICUxJHMgJTIkc3Jhd04gL2Rldi88YmxvY2tkZXZpY2U+XG4iCisiICUxJHMgLXEgJTIkc3Jhd05cbiIKKyIgJTEkcyAtcWFcbiIKK21zZ3N0ciAiIgorIiAlMSRzICUyJHNyYXdOIDxIYXVwdHZlcnNpb24+IDxOZWJlbnZlcnNpb24+XG4iCisiICUxJHMgJTIkc3Jhd04gL2Rldi88YmxvY2tvcmllbnRpZXJ0ZXMgR2Vyw6R0PlxuIgorIiAlMSRzIC1xICUyJHNyYXdOXG4iCisiICUxJHMgLXFhXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTgKK21zZ2lkICJCaW5kIGEgcmF3IGNoYXJhY3RlciBkZXZpY2UgdG8gYSBibG9jayBkZXZpY2UuXG4iCittc2dzdHIgIkVpbiB6ZWljaGVub3JpZW50aWVydGVzIFJvaC1HZXLDpHQgYW4gZWluIGJsb2Nrb3JpZW50aWVydGVzIEdlcsOkdCBiaW5kZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjEKK21zZ2lkICIgLXEsIC0tcXVlcnkgICAgc2V0IHF1ZXJ5IG1vZGVcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXJ5ICAgIEFiZnJhZ2Vtb2R1cyBmZXN0bGVnZW5cbiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICBxdWVyeSBhbGwgcmF3IGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgIGFsbGUgUm9oZ2Vyw6R0ZSBhYmZyYWdlblxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyB0aGUgY29udHJvbCByYXcgZGV2aWNlICh1c2UgcmF3PE4+IHdoZXJlIDxOPiBpcyBncmVhdGVyIHRoYW4gemVybykiCittc2dzdHIgIkdlcsOkdCDigJ4lc+KAnCBpc3QgZGFzIHN0ZXVlcm5kZSBSb2hnZXLDpHQgKHZlcndlbmRlbiBTaWUgcmF3PE4+LCB3b2JlaSA8Tj4gZ3LDtsOfZXIgYWxzIE51bGwgaXN0KSIKKworIyBUaGlzIG9uZSBzaG91bGQgYmUgbWVyZ2VkIHdpdGggdGhlIG5leHQgb25lIGJ5IHVzaW5nCisjIGVycm9yKCkgaW5zdGVhZCBvZiBwcmludGYoKQorIzogZGlzay11dGlscy9yYXcuYzoxODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSBibG9jayBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiQmxvY2tvcmllbnRpZXJ0ZXMgR2Vyw6R0IOKAniVz4oCcIGthbm4gbmljaHQgZXJtaXR0ZWx0IHdlcmRlbiIKKworIzogZGlzay11dGlscy9yYXcuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJHZXLDpHQg4oCeJXPigJwgaXN0IGtlaW4gYmxvY2tvcmllbnRpZXJ0ZXMgR2Vyw6R0IgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE5MyBkaXNrLXV0aWxzL3Jhdy5jOjE5NiBzeXMtdXRpbHMvaXBjcm0uYzozNTEKKyM6IHN5cy11dGlscy9pcGNybS5jOjM2NCBzeXMtdXRpbHMvaXBjcm0uYzozNzcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiCittc2dzdHIgIlZlcmFyYmVpdGVuIGRlcyBBcmd1bWVudHMgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICJNYXN0ZXItUm9oZ2Vyw6R0IOKAniVz4oCcIGthbm4gbmljaHQgZ2XDtmZmbmV0IHdlcmRlbiIKKworIzogZGlzay11dGlscy9yYXcuYzoyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSByYXcgZGV2aWNlICclcyciCittc2dzdHIgIlJvaGdlcsOkdCDigJ4lc+KAnCBrYW5uIG5pY2h0IGVybWl0dGVsdCB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJhdyBkZXZpY2UgJyVzJyBpcyBub3QgYSBjaGFyYWN0ZXIgZGV2IgorbXNnc3RyICJSb2hnZXLDpHQg4oCeJXPigJwgaXN0IGtlaW4gemVpY2hlbm9yaWVudGllcnRlcyBHZXLDpHQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIHJhdyBkZXYiCittc2dzdHIgIkdlcsOkdCDigJ4lc+KAnCBpc3Qga2VpbiBibG9ja29yaWVudGllcnRlcyBHZXLDpHQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjQ1Cittc2dpZCAiRXJyb3IgcXVlcnlpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAiRmVobGVyIGJlaW0gQWJydWZlbiBkZXMgUm9oZ2Vyw6R0cyIKKworIzogZGlzay11dGlscy9yYXcuYzoyNTQgZGlzay11dGlscy9yYXcuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNyYXclZDogIGJvdW5kIHRvIG1ham9yICVkLCBtaW5vciAlZFxuIgorbXNnc3RyICIlc3JhdyVkOiAgZ2VidW5kZW4gYW4gSGF1cHR2ZXJzaW9uICVkLCBOZWJlbnZlcnNpb24gJWRcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNjgKK21zZ2lkICJFcnJvciBzZXR0aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIkZlaGxlciBiZWltIEZlc3RsZWdlbiBkZXMgUm9oZ2Vyw6R0cyIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxsZW5ndGg+XG4iCittc2dzdHIgIiAlcyA8RGF0ZW50csOkZ2VyZ2Vyw6R0PiA8UGFydGl0aW9uc251bW1lcj4gPEzDpG5nZT5cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjMKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICJEZW4gS2VybmVsIMO8YmVyIGRpZSBuZXVlIEdyw7bDn2UgZWluZXIgUGFydGl0aW9uIGluZm9ybWllcmVuLlxuIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBudW1iZXIgJXMiCittc2dzdHIgIiVzOiBBYnJ1ZmVuIGRlcyBBbmZhbmdzIGRlciBQYXJ0aXRpb24gTnVtbWVyICVzIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA5Cittc2dpZCAiZmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24iCittc2dzdHIgIkdyw7bDn2Vuw6RuZGVydW5nIGRlciBQYXJ0aXRpb24gaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIzMQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBuZXN0ZWQgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAiWnV3ZWlzZW4gZGVzIHZlcnNjaGFjaHRlbHRlbiBsaWJmZGlzay1Lb250ZXh0ZXMgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjIFRoaXMgaXMgb25seSB1c2VkIHdoZW4gc3RyZXJyb3IoZXJybm8pIGlzIG11Y2ggdG9vIGxvbmcKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZWVrICVzIgorbXNnc3RyICIlcyBrYW5uIG5pY2h0IGR1cmNoc3VjaHQgd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMwMiBsaWJmZGlzay9zcmMvYnNkLmM6NzIzIGxpYmZkaXNrL3NyYy9ic2QuYzo4OTQKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTYzIHN5cy11dGlscy9od2Nsb2NrLmM6MTY1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSAlcyIKK21zZ3N0ciAiJXMga2FubiBuaWNodCBnZXNjaHJpZWJlbiB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiUxMnMgKG9mZnNldCAlNWp1LCBzaXplICU1anUpOiAlcyIKK21zZ3N0ciAiJTEycyAoUG9zaXRpb24gJTVqdSwgR3LDtsOfZSAlNWp1KTogJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIgorbXNnc3RyICIlczogU2ljaGVydW5nIGtvbm50ZSBuaWNodCBlcnN0ZWxsdCB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzI4Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCBmaWxlLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgIkRpZSBTaWNoZXJ1bmdzZGF0ZWkga29ubnRlIG5pY2h0IGVyc3RlbGx0IHdlcmRlbiwgZGEgJEhPTUUgaXN0IG5pY2h0IGRlZmluaWVydCBpc3QiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzU0Cittc2dpZCAiQmFja3VwIGZpbGVzOiIKK21zZ3N0ciAiU2ljaGVydW5nc2RhdGVpZW46IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM3OQorbXNnaWQgImZhaWxlZCB0byByZWFkIG5ldyBwYXJ0aXRpb24gZnJvbSBkZXZpY2U7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJkYXMgTGVzZW4gZGVyIG5ldWVuIFBhcnRpb24gdm9tIEdlcsOkdCB3YXIgbmljaHQgbcO2Z2xpY2g7IC0tbW92ZS1kYXRlIHdpcmQgaWdub3JpZXJ0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiIKKyJkaWUgR3LDtsOfZSBkZXIgbmV1ZW4gUGFydGl0aW9uIGtvbm50ZSBuaWNodCBlcm1pdHRlbHQgd2VyZGVuLFxuIgorImRhaGVyIHdpcmQg4oCeLS1tb3ZlLWRhdGHigJ0gaWdub3JpZXJ0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MworbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIiCisiRGVyIFN0YXJ0IGRlciBuZXVlbiBQYXJ0aXRpb24ga29ubnRlIG5pY2h0IGVybWl0dGVsdCB3ZXJkZW4sXG4iCisiZGFoZXIgd2lyZCDigJ4tLW1vdmUtZGF0YeKAnSBpZ25vcmllcnQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg1Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiIgorImRpZSBHcsO2w59lIGRlciBhbHRlbiBQYXJ0aXRpb24ga29ubnRlIG5pY2h0IGVybWl0dGVsdCB3ZXJkZW4sXG4iCisiZGFoZXIgd2lyZCDigJ4tLW1vdmUtZGF0YeKAnSBpZ25vcmllcnQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg3Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiIKKyJEZXIgU3RhcnQgZGVyIGFsdGVuIFBhcnRpdGlvbiBrb25udGUgbmljaHQgZXJtaXR0ZWx0IHdlcmRlbixcbiIKKyJkYWhlciB3aXJkIOKAni0tbW92ZS1kYXRh4oCdIGlnbm9yaWVydCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODkKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGhhcyBub3QgYmVlbiBtb3ZlZDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiVEZXIgQW5mYW5nIGRlciBQYXJ0aXRpb24gd3VyZGUgbmljaHQgdmVyc2Nob2JlbjsgLS1tb3ZlLWRhdGEgd2lyZCBpZ25vcmllcnQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkxCittc2dpZCAibmV3IHBhcnRpdGlvbiBpcyBzbWFsbGVyIHRoYW4gb3JpZ2luYWw7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJEaWUgbmV1ZSBQYXJ0aXRpb24gaXN0IGtsZWluZXIgYWxzIHZvcmhlciwgZGFoZXIgd2lyZCAtLW1vdmUtZGF0YSBpZ25vcmllcnQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQxCittc2dpZCAiRGF0YSBtb3ZlOiIKK21zZ3N0ciAiRGF0ZW4gdmVyc2NoaWViZW46IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0MworIywgYy1mb3JtYXQKK21zZ2lkICIgdHlwZXNjcmlwdCBmaWxlOiAlcyIKK21zZ3N0ciAiU2tyaXB0ZGF0ZWk6ICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICIgb2xkIHN0YXJ0OiAlanUsIG5ldyBzdGFydDogJWp1IChtb3ZlICVqdSBzZWN0b3JzKVxuIgorbXNnc3RyICIgYWx0ZXIgU3RhcnQ6ICVqdSwgbmV1ZXIgU3RhcnQ6ICVqdSAoJWp1IFNla3RvcmVuIHZlcnNjaG9iZW4pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUxCittc2dpZCAiRG8geW91IHdhbnQgdG8gbW92ZSBwYXJ0aXRpb24gZGF0YT8iCittc2dzdHIgIldvbGxlbiBTaWUgZGllIFBhcnRpdGlvbnNkYXRlbiB2ZXJzY2hpZWJlbj8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc4MworbXNnaWQgIkxlYXZpbmcuIgorbXNnc3RyICJXaXJkIHZlcmxhc3Nlbi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gbW92ZSBkYXRhIgorbXNnc3RyICIlczogRGllIERhdGVuIGtvbm50ZW4gbmljaHQgdmVyc2Nob2JlbiB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQxCittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBpcyB1bmNoYW5nZWQgKC0tbm8tYWN0KS4iCittc2dzdHIgIkRpZSBQYXJ0aXRpb25zdGFiZWxsZSB3dXJkZSBuaWNodCB2ZXLDpG5kZXJ0ICgtLW5vLWFjdCkuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0NworbXNnaWQgIiIKKyJcbiIKKyJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICIiCisiXG4iCisiRGllIFBhcnRpdGlvbnN0YWJlbGxlIHd1cmRlIHZlcsOkbmRlcnQuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYyMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBsYWJlbCAnJXMnIgorbXNnc3RyICJOaWNodCB1bnRlcnN0w7x0enRlIEJlemVpY2hudW5nIOKAniVz4oCcIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYyNgorbXNnaWQgIiIKKyJJZCAgTmFtZVxuIgorIlxuIgorbXNnc3RyICIiCisiSWQgIE5hbWVcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2NTYKK21zZ2lkICJ1bnJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUiCittc2dzdHIgIk5pY2h0IGVya2FubnRlciBQYXJ0aXRpb25zdGFiZWxsZW50eXAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAiR3LDtsOfZSB2b24gJXMga29ubnRlIG5pY2h0IGVybWl0dGVsdCB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInRvdGFsOiAlanUgYmxvY2tzXG4iCittc2dzdHIgImdlc2FtdDogJWp1IEJsw7Zja2VcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MDggZGlzay11dGlscy9zZmRpc2suYzo4NzYgZGlzay11dGlscy9zZmRpc2suYzo5MTcKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTQ3IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxNCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNzgKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzMyBkaXNrLXV0aWxzL3NmZGlzay5jOjExODkgZGlzay11dGlscy9zZmRpc2suYzoxNTMzCittc2dpZCAibm8gZGlzayBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJrZWluIEdlcsOkdCBhbmdlZ2ViZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODE5Cittc2dpZCAidG9nZ2xlIGJvb3QgZmxhZ3MgaXMgc3VwcG9ydGVkIGZvciBNQlIgb25seSIKK21zZ3N0ciAiVW1zY2hhbHRlbiBkZXIgQm9vdGbDpGhpZy1NYXJraWVydW5nIHdpcmQgbnVyIGbDvHIgTUJSIHVudGVyc3TDvHR6dCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NTAgZGlzay11dGlscy9zZmRpc2suYzo4OTYgZGlzay11dGlscy9zZmRpc2suYzoxMDE5CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODMgZGlzay11dGlscy9zZmRpc2suYzoxMTM4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5NAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTMxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxMworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJBYnJ1ZmVuIGRlciBQYXJ0aXRpb25zbnVtbWVyIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlZDogZmFpbGVkIHRvIHRvZ2dsZSBib290YWJsZSBmbGFnIgorbXNnc3RyICIlczogUGFydGl0aW9uICVkOiBCb290ZsOkaGlnLU1hcmtpZXJ1bmcga29ubnRlIG5pY2h0IHVtZ2VzY2hhbHRldCB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODkxIGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZGVsZXRlIgorbXNnc3RyICIlczogUGFydGl0aW9uICV6dTogTMO2c2NoZW4gd2FyIG5pY2h0IG3DtmdsaWNoIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiR2Vyw6R0IGVudGjDpGx0IGtlaW5lIGVya2VubmJhcmUgUGFydGl0aW9uc3RhYmVsbGUuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk1OAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBkdW1wIHN0cnVjdCIKK21zZ3N0ciAiRGllIFNwZWljaGVyYW5mb3JkZXJ1bmcgZsO8ciBkaWUgU3BlaWNoZXJhdXN6dWdzc3RydWt0dXIgc2NoZWl0ZXJ0ZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZHVtcCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIlBhcnRpdGlvbnN0YWJlbGxlIGtvbm50ZSBuaWNodCBhdXNnZWdlYmVuIHdlcmRlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiB0YWJsZSBmb3VuZCIKK21zZ3N0ciAiJXM6IGtlaW5lIFBhcnRpdGlvbnN0YWJlbGxlIGdlZnVuZGVuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIHRhYmxlIGNvbnRhaW5zIG9ubHkgJXp1IHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiBQYXJ0aXRpb24gJXp1OiBQYXJ0aXRpb25zdGFiZWxsZSBlbnRow6RsdCBudXIgJXp1IFBhcnRpdGlvbmVuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIGlzIHVudXNlZCIKK21zZ3N0ciAiJXM6IFBhcnRpdGlvbiAlenU6IFBhcnRpdGlvbiBpc3QgdW5iZW51dHp0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTggZGlzay11dGlscy9zZmRpc2suYzoxMDgyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzNworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTkzCittc2dpZCAibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiCittc2dzdHIgIktlaW5lIFBhcnRpdGlvbnNudW1tZXIgYW5nZWdlYmVuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMjQgZGlzay11dGlscy9zZmRpc2suYzoxMDg4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE0MworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTk5Cittc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudHMiCittc2dzdHIgInVuZXJ3YXJ0ZXRlIEFyZ3VtZW50ZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlczogUGFydGl0aW9uICV6dTogUGFydGl0aW9uc3R5cCBrb25udGUgbmljaHQgZXJtaXR0ZWx0IHdlcmRlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDU4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBwYXJ0aXRpb24gdHlwZSAnJXMnIgorbXNnc3RyICIlcy1QYXJ0aXRpb25zdHlwIOKAniVz4oCcIGtvbm50ZSBuaWNodCBhdXNnZXdlcnRldCB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiJXM6IFBhcnRpdGlvbiAlenU6IFBhcnRpdGlvbnN0eXAga29ubnRlIG5pY2h0IGdlc2V0enQgd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiVzOiBQYXJ0aXRpb24gJXp1OiBQYXJ0aXRpb25zLVVVSUQga29ubnRlIG5pY2h0IGVybWl0dGVsdCB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTExMyBkaXNrLXV0aWxzL3NmZGlzay5jOjExNjggZGlzay11dGlscy9zZmRpc2suYzoxMjIyCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBvYmplY3QiCittc2dzdHIgIlp1d2Vpc2VuIGRlcyBQYXJ0aXRpb25zb2JqZWt0cyBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIlczogUGFydGl0aW9uICV6dTogUGFydGl0aW9ucy1VVUlEIGtvbm50ZSBuaWNodCBnZXNldHp0IHdlcmRlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlczogUGFydGl0aW9uICV6dTogUGFydGl0aW9uc25hbWUga29ubnRlIG5pY2h0IGVybWl0dGVsdCB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiJXM6IFBhcnRpdGlvbiAlenU6IFBhcnRpdGlvbnNuYW1lIGtvbm50ZSBuaWNodCBnZXNldHp0IHdlcmRlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBhdHRyaWJ1dGVzIgorbXNnc3RyICIlczogUGFydGl0aW9uICV6dTogUGFydGl0aW9uc2F0dHJpYnV0ZSBrb25udGVuIG5pY2h0IGdlc2V0enQgd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNjkKK21zZ2lkICIgQ29tbWFuZHM6XG4iCittc2dzdHIgIiBCZWZlaGxlOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzEKK21zZ2lkICIgICB3cml0ZSAgICB3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKyIgICB3cml0ZSAgICBkaWUgVGFiZWxsZSBhdWYgZGllIEZlc3RwbGF0dGUgc2NocmVpYmVuXG4iCisiICAgICAgICAgICAgdW5kIGRhcyBQcm9ncmFtbSBiZWVuZGVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3MgorbXNnaWQgIiAgIHF1aXQgICAgIHNob3cgbmV3IHNpdHVhdGlvbiBhbmQgd2FpdCBmb3IgdXNlcidzIGZlZWRiYWNrIGJlZm9yZSB3cml0ZVxuIgorbXNnc3RyICIiCisiICAgcXVpdCAgICAgZGllIG5ldWUgQXVmdGVpbHVuZyB6ZWlnZW4gdW5kIHZvciBkZW0gU2NocmVpYmVuIGF1ZiBkaWVcbiIKKyIgICAgICAgICAgICAgIFLDvGNrbWVsZHVuZyBkZXMgQmVudXR6ZXJzIHdhcnRlblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzMKK21zZ2lkICIgICBhYm9ydCAgICBleGl0IHNmZGlzayBzaGVsbFxuIgorbXNnc3RyICIgICBhYm9ydCAgICBkaWUgc2ZkaXNrLVNoZWxsIGJlZW5kZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjc0Cittc2dpZCAiICAgcHJpbnQgICAgZGlzcGxheSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgIHByaW50ICAgIFBhcnRpdGlvbnN0YWJlbGxlIGFuemVpZ2VuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3NQorbXNnaWQgIiAgIGhlbHAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKK21zZ3N0ciAiICAgaGVscCAgICAgZGllc2UgSGlsZmUgYW56ZWlnZW4gdW5kIGJlZW5kZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjc3Cittc2dpZCAiICAgQ3RybC1EICAgdGhlIHNhbWUgYXMgJ3F1aXQnXG4iCittc2dzdHIgIiAgIFN0cmctRCAgIGdsZWljaGJlZGV1dGVuZCBtaXQgZGVtIEJlZmVobCDigJ5xdWl04oCcXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MQorbXNnaWQgIiBJbnB1dCBmb3JtYXQ6XG4iCittc2dzdHIgIiBFaW5nYWJlZm9ybWF0OlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODMKK21zZ2lkICIgICA8c3RhcnQ+LCA8c2l6ZT4sIDx0eXBlPiwgPGJvb3RhYmxlPlxuIgorbXNnc3RyICIgICA8U3RhcnQ+LCA8R3LDtsOfZT4sIDxUeXA+LCA8Ym9vdGbDpGhpZz5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjg2Cittc2dpZCAiIgorIiAgIDxzdGFydD4gIEJlZ2lubmluZyBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyB0aGUgZmlyc3QgZnJlZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorIiAgIDxTdGFydD4gIEJlZ2lubiBkZXIgUGFydGl0aW9uIGluIFNla3RvcmVuOyBmYWxscyBpbSBGb3JtYXRcbiIKKyIgICAgICAgICAgICA8WmFobD57SyxNLEcsVCxQLEUsWixZfSBhbmdlZ2ViZW4sIHdpcmQgZGllcyBhbHMgR3LDtsOfZVxuIgorIiAgICAgICAgICAgIGluIEJ5dGUgaW50ZXJwcmV0aWVydC4gVm9yZ2FiZSBpc3QgZGVyIGVyc3RlIGZyZWllIEJlcmVpY2hcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkxCittc2dpZCAiIgorIiAgIDxzaXplPiAgIFNpemUgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgYWxsIGF2YWlsYWJsZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorIiAgIDxHcsO2w59lPiAgR3LDtsOfZSBkZXIgUGFydGl0aW9uIGluIFNla3RvcmVuOyBmYWxscyBpbSBGb3JtYXRcbiIKKyIgICAgICAgICAgICA8WmFobD57SyxNLEcsVCxQLEUsWixZfSBhbmdlZ2ViZW4sIHdpcmQgZGllcyBhbHMgR3LDtsOfZVxuIgorIiAgICAgICAgICAgIGluIEJ5dGUgaW50ZXJwcmV0aWVydC4gVm9yZ2FiZSBpc3QgZGVyIGdlc2FtdGUgdmVyZsO8Z2JhcmVcbiIKKyIgICAgICAgICAgICBQbGF0ei5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk2Cittc2dpZCAiICAgPHR5cGU+ICAgVGhlIHBhcnRpdGlvbiB0eXBlLiAgRGVmYXVsdCBpcyBhIExpbnV4IGRhdGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIgICA8VHlwPiAgICBQYXJ0aXRpb25zdHlwLCBWb3JnYWJlIGlzdCBlaW5lIExpbnV4LURhdGVucGFydGl0aW9uLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTcKK21zZ2lkICIgICAgICAgICAgICBNQlI6IGhleCBvciBMLFMsRSxYIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiICAgICAgICAgICAgTUJSOiBoZXhhZGV6aW1hbCBvZGVyIGRpZSBLw7xyemVsIEwsUyxFLFguXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5OAorbXNnaWQgIiAgICAgICAgICAgIEdQVDogVVVJRCBvciBMLFMsSCBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiAgICAgICAgICAgIEdQVDogVVVJRCBvZGVyIGRpZSBLw7xyemVsIEwsUyxIXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwMQorbXNnaWQgIiAgIDxib290YWJsZT4gIFVzZSAnKicgdG8gbWFyayBhbiBNQlIgcGFydGl0aW9uIGFzIGJvb3RhYmxlLlxuIgorbXNnc3RyICIgICA8Ym9vdGbDpGhpZz4gdmVyd2VuZGVuIFNpZSDigJ4q4oCcIHVtIGRpZSBNQlItUGFydGl0aW9uIGFscyBib290ZsOkaGlnIHp1IG1hcmtpZXJlbixcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzA1Cittc2dpZCAiIEV4YW1wbGU6XG4iCittc2dzdHIgIiBCZWlzcGllbDpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzA3Cittc2dpZCAiICAgLCA0RyAgICAgQ3JlYXRlcyBhIDRHaUIgcGFydGl0aW9uIGF0IGRlZmF1bHQgc3RhcnQgb2Zmc2V0LlxuIgorbXNnc3RyICIiCisiICAgLCA0RyAgICAgZXJ6ZXVndCBlaW5lIDRHaUItUGFydGl0aW9uIGJlZ2lubmVuZCBiZWkgZGVyXG4iCisiICAgICAgICAgICAgdm9yZ2VnZWJlbmVuIFN0YXJ0cG9zaXRpb24uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMzOSBzeXMtdXRpbHMvZG1lc2cuYzoxNDU1Cittc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAibmljaHQgdW50ZXJzdMO8dHp0ZXIgQmVmZWhsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlZDogdW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAiWmVpbGUgJWQ6IG5pY2h0IHVudGVyc3TDvHR6dGVyIEJlZmVobCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTAwCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJQYXJ0aXRpb25zbmFtZSBrb25udGUgbmljaHQgenVnZXdpZXNlbiB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU0MQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiU2tyaXB0LUhhbmRsZXIga29ubnRlIG5pY2h0IHp1Z2V3aWVzZW4gd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBubyBwYXJ0aXRpb24gdGFibGUgd2FzIGZvdW5kIgorbXNnc3RyICIlczogUGFydGl0aW9uICVkIGtvbm50ZSBuaWNodCB2ZXLDpG5kZXJ0IHdlcmRlbjogUGFydGl0aW9uc3RhYmVsbGUgbmljaHQgZ2VmdW5kZW4uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6IFBhcnRpdGlvbiAlZCBrYW5uIG5pY2h0IHZlcsOkbmRlcnQgd2VyZGVuOiBkaWUgUGFydGl0aW9uc3RhYmVsbGUgZW50aMOkbHQgbnVyICV6dSBQYXJ0aXRpb25lbi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlczogcGFydGl0aW9uICVkIGlzIG5vdCBkZWZpbmVkIHlldCIKK21zZ3N0ciAiV2FybnVuZzogJXM6IFBhcnRpdGlvbiAlZCB3dXJkZSBub2NoIG5pY2h0IGRlZmluaWVydCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJXZWxjb21lIHRvIHNmZGlzayAoJXMpLiIKK21zZ3N0ciAiIgorIlxuIgorIldpbGxrb21tZW4gYmVpIGZkaXNrICglcykuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTQKK21zZ2lkICJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIKK21zZ3N0ciAiRXMgd2lyZCDDvGJlcnByw7xmdCwgb2IgZGllc2UgRmVzdHBsYXR0ZSB6dXIgWmVpdCBiZW51dHp0IHdpcmQg4oCmIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTcKK21zZ2lkICIiCisiIEZBSUxFRFxuIgorIlxuIgorbXNnc3RyICIiCisiIEZFSExHRVNDSExBR0VOXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwMAorbXNnaWQgIiIKKyJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZSAtIHJlcGFydGl0aW9uaW5nIGlzIHByb2JhYmx5IGEgYmFkIGlkZWEuXG4iCisiVW1vdW50IGFsbCBmaWxlIHN5c3RlbXMsIGFuZCBzd2Fwb2ZmIGFsbCBzd2FwIHBhcnRpdGlvbnMgb24gdGhpcyBkaXNrLlxuIgorIlVzZSB0aGUgLS1uby1yZXJlYWQgZmxhZyB0byBzdXBwcmVzcyB0aGlzIGNoZWNrLlxuIgorbXNnc3RyICIiCisiRGllc2UgRmVzdHBsYXR0ZSBpc3QgenVyIFplaXQgaW4gQmVudXR6dW5nIC0gTmV1cGFydGl0aW9uaWVydW5nIGlzdFxuIgorIndhaHJzY2hlaW5saWNoIGVpbmUgc2NobGVjaHRlIElkZWUuIEjDpG5nZW4gU2llIGF1ZiBkaWVzZXIgRmVzdHBsYXR0ZVxuIgorImFsbGUgRGF0ZWlzeXN0ZW1lIGF1cyB1bmQgZGVha3RpdmllcmVuIFNpZSBzw6RtdGxpY2hlIGRhcmF1ZiBiZWZpbmRsaWNoZW5cbiIKKyJBdXNsYWdlcnVuZ3NwYXJ0aXRpb25lbi5cbiIKKyJCZW51dHplbiBTaWUgLS1uby1yZXJlYWQsIHVtIGRpZXNlIMOcYmVycHLDvGZ1bmcgenUgdW50ZXJkcsO8Y2tlbi5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjA1Cittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIGZsYWcgdG8gb3ZlcnJ1bGUgYWxsIGNoZWNrcy4iCittc2dzdHIgIkJlbnV0emVuIFNpZSBkaWUgT3B0aW9uIC0tZm9yY2UsIHVtIGFsbGUgw5xiZXJwcsO8ZnVuZ2VuIGF1w59lciBLcmFmdCB6dSBzZXR6ZW4uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MDcKK21zZ2lkICIiCisiIE9LXG4iCisiXG4iCittc2dzdHIgIiIKKyIgT0tcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjM2Cittc2dpZCAiIgorIlxuIgorIk9sZCBzaXR1YXRpb246IgorbXNnc3RyICIiCisiXG4iCisiQWx0ZSBBdWZ0ZWlsdW5nOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKyJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIgorbXNnc3RyICIiCisiXG4iCisiU2ZkaXNrIHdpcmQgZWluZSBuZXVlIEZlc3RwbGF0dGVuYmV6ZWljaG51bmcgdm9tIFR5cCDigJ4lc+KAnCBlcnpldWdlbi5cbiIKKyJWZXJ3ZW5kZW4gU2llIOKAnmxhYmVsOiA8TmFtZT7igJwsIGJldm9yIFNpZSBkaWUgZXJzdGUgUGFydGl0aW9uIGRlZmluaWVyZW4sXG4iCisidW0gZGllIFZvcmJlbGVndW5nIHp1IMO8YmVyc2NocmVpYmVuLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjU3Cittc2dpZCAiIgorIlxuIgorIlR5cGUgJ2hlbHAnIHRvIGdldCBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisiXG4iCisiTWl0IOKAni0taGVscOKAnCBlcmhhbHRlbiBTaWUgd2VpdGVyZSBJbmZvcm1hdGlvbmVuLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NzUKK21zZ2lkICJBbGwgcGFydGl0aW9ucyB1c2VkLiIKK21zZ3N0ciAiQWxsZSBQYXJ0aXRpb25lbiBzaW5kIGluIEJlbnV0enVuZy4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcwMworIywgZnV6enkKK21zZ2lkICJEb25lLlxuIgorbXNnc3RyICJGZXJ0aWcuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MTUKK21zZ2lkICJJZ25vcmluZyBwYXJ0aXRpb24uIgorbXNnc3RyICJQYXJ0aXRpb24gd2lyZCBpZ25vcmllcnQuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MjQKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0IGhlYWRlcnMsIGRpc2sgbGFiZWwgbm90IGNyZWF0ZWQuIgorbXNnc3RyICIiCisiU2tyaXB0LUhlYWRlciBrb25udGVuIG5pY2h0IGFuZ2V3ZW5kZXQgd2VyZGVuLFxuIgorIkZlc3RwbGF0dGVuYmV6ZWljaG51bmcgd3VyZGUgbmljaHQgZ2VzY2hyaWViZW4uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhZGQgIyVkIHBhcnRpdGlvbiIKK21zZ3N0ciAiSGluenVmw7xnZW4gZGVyIFBhcnRpdGlvbiBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzYzCittc2dpZCAiU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4iCittc2dzdHIgIlNrcmlwdC1IZWFkZXIgd3VyZGUgYWt6ZXB0aWVydC4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc3MgorbXNnaWQgIiIKKyJcbiIKKyJOZXcgc2l0dWF0aW9uOiIKK21zZ3N0ciAiIgorIlxuIgorIk5ldWUgQXVmdGVpbHVuZzoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc4MQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHdyaXRlIHRoaXMgdG8gZGlzaz8iCittc2dzdHIgIldvbGxlbiBTaWUgZGFzIGF1ZiBkaWUgRmVzdHBsYXR0ZSBzY2hyZWliZW4/IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3OTMKK21zZ2lkICJMZWF2aW5nLlxuIgorbXNnc3RyICJXaXJkIHZlcmxhc3Nlbi5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtPcHRpb25lbl0gPEdlcsOkdD4gW1stTl0gPFBhcnRpdGlvbj5dXG4iCisiICUxJHMgW09wdGlvbmVuXSA8QmVmZWhsPlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTIKK21zZ2lkICIiCisiXG4iCisiQ29tbWFuZHM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJCZWZlaGxlOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTMKK21zZ2lkICIgLUEsIC0tYWN0aXZhdGUgPGRldj4gWzxwYXJ0PiAuLi5dIGxpc3Qgb3Igc2V0IGJvb3RhYmxlIE1CUiBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWN0aXZhdGUgPEdlcsOkdD4gWzxQYXJ0aXRpb24+IOKApl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RldCBib290ZsOkaGlnZSBNQlItUGFydGl0aW9uZW4gYXVmXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9kZXIgbWFya2llcnQgZGllc2UgYWxzIGJvb3Rmw6RoaWcuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNAorbXNnaWQgIiAtZCwgLS1kdW1wIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgKHVzYWJsZSBmb3IgbGF0ZXIgaW5wdXQpXG4iCittc2dzdHIgIiIKKyIgLWQsIC0tZHVtcCA8R2Vyw6R0PiAgICAgICAgICAgICAgICBnaWJ0IGRpZSBQYXJ0aXRpb25zdGFiZWxsZSBhdXMgKG7DvHR6bGljaCBmw7xyXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlaXRlcmxlaXR1bmcpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNQorbXNnaWQgIiAtSiwgLS1qc29uIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgaW4gSlNPTiBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gPEdlcsOkdD4gICAgICAgICAgICAgICAgZ2lidCBkaWUgUGFydGl0aW9uc3RhYmVsbGUgaW0gSlNPTi1Gb3JtYXQgYXVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNgorbXNnaWQgIiAtZywgLS1zaG93LWdlb21ldHJ5IFs8ZGV2PiAuLi5dICAgbGlzdCBnZW9tZXRyeSBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIgorIiAtZywgLS1zaG93LWdlb21ldHJ5IFs8R2Vyw6R0PiDigKZdICAgemVpZ3QgZGllIEdlb21ldHJpZSBhbGxlciBvZGVyIGRlclxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmdlZ2ViZW5lbiBHZXLDpHRlIGFuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNworbXNnaWQgIiAtbCwgLS1saXN0IFs8ZGV2PiAuLi5dICAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAtbCwgLS1saXN0IFs8R2Vyw6R0PiDigKZdICAgICAgICAgICAgemVpZ3QgZGllIFBhcnRpdGlvbmVuIGplZGVzIEdlcsOkdGVzIGFuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxOAorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbGlzdC1mcmVlIFs8ZGV2PiAuLi5dICAgICAgIGxpc3QgdW5wYXJ0aXRpb25lZCBmcmVlIGFyZWFzIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAtRiwgLS1saXN0LWZyZWUgWzxHZXLDpHQ+IOKApl0gICAgICAgemVpZ3QgZGllIG5pY2h0IHBhcnRpdGlvbmllcnRlbiBCZXJlaWNoZSBqZWRlcyBHZXLDpHRlcyBhblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTkKK21zZ2lkICIgLXIsIC0tcmVvcmRlciA8ZGV2PiAgICAgICAgICAgICAgIGZpeCBwYXJ0aXRpb25zIG9yZGVyIChieSBzdGFydCBvZmZzZXQpXG4iCittc2dzdHIgIiAtciwgLS1yZW9yZGVyIDxHZXLDpHQ+ICAgICAgICAgICAgIFJlaWhlbmZvbGdlIGRlciBQYXJ0aXRpb25lbiAobmFjaCBTdGFydHBvc2l0aW9uKSBrb3JyaWdpZXJlbiBcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIwCittc2dpZCAiIC1zLCAtLXNob3ctc2l6ZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHNpemVzIG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIiCisiIC1zLCAtLXNob3ctc2l6ZSBbPEdlcsOkdD4g4oCmXSAgICAgICB6ZWlndCBkaWUgR3LDtsOfZW4gYWxsZXIgb2RlciBkZXJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5nZWdlYmVuZW4gR2Vyw6R0ZSBhblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjEKK21zZ2lkICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByZWNvZ25pemVkIHR5cGVzIChzZWUgLVgpXG4iCittc2dzdHIgIiIKKyIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIHplaWd0IGRpZSB2ZXJhcmJlaXRiYXJlbiBUeXBlbiBhblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2llaGUgLVgpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMgorbXNnaWQgIiAtViwgLS12ZXJpZnkgWzxkZXY+IC4uLl0gICAgICAgICAgdGVzdCB3aGV0aGVyIHBhcnRpdGlvbnMgc2VlbSBjb3JyZWN0XG4iCittc2dzdHIgIiIKKyIgLVYsIC0tdmVyaWZ5IFs8R2Vyw6R0PiDigKZdICAgICAgICAgICAgICAgICDDvGJlcnByw7xmdCwgb2IgZGllIFBhcnRpdGlvbmVuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga29ycmVrdCB6dSBzZWluIHNjaGVpbmVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMworbXNnaWQgIiAgICAgLS1kZWxldGUgPGRldj4gWzxwYXJ0PiAuLi5dICAgZGVsZXRlIGFsbCBvciBzcGVjaWZpZWQgcGFydGl0aW9uc1xuIgorbXNnc3RyICIiCisiICAgICAtLWRlbGV0ZSA8R2Vyw6R0PiBbPFBhcnRpdGlvbj4g4oCmXSBsw7ZzY2h0IGFsbGUgYnl3LiBkaWUgYW5nZWdlYmVuZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRpdGlvbmVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNgorbXNnaWQgIiAtLXBhcnQtbGFiZWwgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBsYWJlbFxuIgorbXNnc3RyICIiCisiIC0tcGFydC1sYWJlbCA8R2Vyw6R0PiA8UGFydGl0aW9uPiBbPFplaWNoZW5rZXR0ZT5dIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgemVpZ3QgZWluZSBQYXJ0aXRpb25zYmV6ZWljaG51bmcgYW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2RlciDDpG5kZXJ0IGRpZXNlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNworbXNnaWQgIiAtLXBhcnQtdHlwZSA8ZGV2PiA8cGFydD4gWzx0eXBlPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiIKKyIgLS1wYXJ0LXR5cGUgPEdlcsOkdD4gPFBhcnRpdGlvbj4gWzxUeXA+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgemVpZ3QgZGVuIFBhcnRpdGlvbnN0eXAgYW4gb2RlclxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDDpG5kZXJ0IGRpZXNlblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjgKK21zZ2lkICIgLS1wYXJ0LXV1aWQgPGRldj4gPHBhcnQ+IFs8dXVpZD5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdXVpZFxuIgorbXNnc3RyICIiCisiIC0tcGFydC11dWlkIDxHZXLDpHQ+IDxQYXJ0aXRpb24+IFs8VVVJRD5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6ZWlndCBkaWUgUGFydGl0aW9ucy1VVUlEIGFuIG9kZXJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgw6RuZGVydCBkaWVzZVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjkKK21zZ2lkICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gYXR0cmlidXRlc1xuIgorbXNnc3RyICIiCisiIC0tcGFydC1hdHRyIDxHZXLDpHQ+IDxQYXJ0aXRpb24+IFs8WmVpY2hlbmtldHRlPl0gXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6ZWlndCBlaW4gUGFydGl0aW9uc2F0dHJpYnV0IGFuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9kZXIgw6RuZGVydCBkaWVzZXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODMyCittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgZGV2aWNlICh1c3VhbGx5IGRpc2spIHBhdGhcbiIKK21zZ3N0ciAiIDxHZXLDpHQ+ICAgICAgICAgICAgICAgICAgIEdlcsOkdGVwZmFkICjDvGJsaWNoZXJ3ZWlzZSBlaW5lIFBsYXR0ZSlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODMzCittc2dpZCAiIDxwYXJ0PiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgPFBhcnRpdGlvbj4gICAgICAgICAgICAgICBQYXJ0aXRpb25zbnVtbWVyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzNAorbXNnaWQgIiA8dHlwZT4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiB0eXBlLCBHVUlEIGZvciBHUFQsIGhleCBmb3IgTUJSXG4iCittc2dzdHIgIiA8VHlwPiAgICAgICAgICAgICAgICAgICAgIFBhcnRpdGlvbnN0eXAsIEdVSUQgZsO8ciBHUFQsIGhleGFkZXppbWFsIGbDvHIgTUJSXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzNworbXNnaWQgIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgIGFwcGVuZCBwYXJ0aXRpb25zIHRvIGV4aXN0aW5nIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIiCisiIC1BLCAtLWFwcGVuZCAgICAgICAgICAgICAgUGFydGl0aW9uZW4gYW4gZWluZSB2b3JoYW5kZW5lIFBhcnRpdGlvbnMtXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiZWxsZSBhbmjDpG5nZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM4Cittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAgYmFja3VwIHBhcnRpdGlvbiB0YWJsZSBzZWN0b3JzIChzZWUgLU8pXG4iCittc2dzdHIgIiAtYiwgLS1iYWNrdXAgICAgICAgICAgICAgIFBhcnRpdGlvbnN0YWJlbGxlbnNla3RvcmVuIHNpY2hlcm4gKHNpZWhlIC1PKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgR1LDllNTRSBpbiBCeXRlcyBzdGF0dCBpbSBtZW5zY2hlbmxlc2JhcmVuIEZvcm1hdFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1c2dlYmVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MAorbXNnaWQgIiAgICAgLS1tb3ZlLWRhdGFbPTx0eXBlc2NyaXB0Pl0gbW92ZSBwYXJ0aXRpb24gZGF0YSBhZnRlciByZWxvY2F0aW9uIChyZXF1aXJlcyAtTilcbiIKK21zZ3N0ciAiICAgICAtLW1vdmUtZGF0YVs9PFR5cHNjcmlwdD5dICBuYWNoIGRlbSBWZXJzY2hpZWJ1bmcgZGVyIFBhcnRpdGlvbiBhdWNoIGRpZSBEYXRlbiB2ZXJzY2hpZWJlbiAoZXJmb3JkZXJ0IC1OKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDEKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZ1xuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBqZWdsaWNoZSBLb25zaXN0ZW56cHLDvGZ1bmdlbiBhYnNjaGFsdGVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MgorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgICAgLS1jb2xvcls9PFdhbm4+XSAgICAgICBBdXNnYWJlIGVpbmbDpHJiZW4gKOKAnmF1dG/igJwsIOKAnmFsd2F5c+KAnCBvZGVyIOKAnm5ldmVy4oCcKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDUKK21zZ2lkICIgLU4sIC0tcGFydG5vIDxudW0+ICAgICAgICBzcGVjaWZ5IHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiIC1OLCAtLXBhcnRubyA8TnVtbWVyPiAgICAgQW5nYWJlIGRlciBQYXJ0aXRpb25zbnVtbWVyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NgorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHdyaXRlIHRvIGRldmljZVxuIgorbXNnc3RyICIiCisiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgYWxsZXMgYXVzZsO8aHJlbiBiaXMgYXVmIGRlbiB0YXRzw6RjaGxpY2hlblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2NocmVpYnZvcmdhbmdcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ3Cittc2dpZCAiICAgICAtLW5vLXJlcmVhZCAgICAgICAgICAgZG8gbm90IGNoZWNrIHdoZXRoZXIgdGhlIGRldmljZSBpcyBpbiB1c2VcbiIKK21zZ3N0ciAiICAgICAtLW5vLXJlcmVhZCAgICAgICAgICAgbmljaHQgw7xiZXJwcsO8ZmVuLCBvYiBkYXMgR2Vyw6R0IGJlbnV0enQgd2lyZFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDgKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgZG8gbm90IHRlbGwga2VybmVsIGFib3V0IGNoYW5nZXNcbiIKK21zZ3N0ciAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBBdXNnYWJlIG5pY2h0IGvDvHJ6ZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ5Cittc2dpZCAiIC1PLCAtLWJhY2t1cC1maWxlIDxwYXRoPiAgb3ZlcnJpZGUgZGVmYXVsdCBiYWNrdXAgZmlsZSBuYW1lXG4iCittc2dzdHIgIiIKKyIgLU8sIC0tYmFja3VwLWZpbGUgPFBmYWQ+ICBQZmFkIHp1ciBTaWNoZXJ1bmdzZGF0ZWksIMO8YmVyc2NocmVpYnRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZSBWb3JlaW5zdGVsbHVuZ1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTAKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxMaXN0ZT4gICAgICBTcGFsdGVuIGRlciBBdXNnYWJlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIGV4dHJhIGluZm8gbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgenVzw6R0emxpY2hlIEluZm9tZWxkdW5nZW4gdW50ZXJkcsO8Y2tlblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTIKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC13LCAtLXdpcGUgPE1vZHVzPiAgICAgICAgU2lnbmF0dXJlbiBlbnRmZXJuZW4gKGF1dG8sIGFsd2F5cyBvZGVyIG5ldmVyKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTQKK21zZ2lkICIgLVgsIC0tbGFiZWwgPG5hbWU+ICAgICAgICBzcGVjaWZ5IGxhYmVsIHR5cGUgKGRvcywgZ3B0LCAuLi4pXG4iCittc2dzdHIgIiAtWCwgLS1sYWJlbCA8TmFtZT4gICAgICAgIEFuZ2FiZSBkZXMgVHlwcyAoZG9zLCBncHQsIOKApilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU1Cittc2dpZCAiIC1ZLCAtLWxhYmVsLW5lc3RlZCA8bmFtZT4gc3BlY2lmeSBuZXN0ZWQgbGFiZWwgdHlwZSAoZG9zLCBic2QpXG4iCittc2dzdHIgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPE5hbWU+IHZlcnNjaGFjaHRlbHRlbiBUeXAgYW5nZWJlbiAoZG9zLCBic2QpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NworbXNnaWQgIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIGRlcHJlY2F0ZWQsIGFsaWFzIHRvIC0tc2hvdy1nZW9tZXRyeVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OAorbXNnaWQgIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiIKK21zZ3N0ciAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgaWdub3JpZXJ0IChudXIgZsO8ciBBYnfDpHJ0c2tvbXBhdGliaWxpw6R0KVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTkKK21zZ2lkICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IHNlY3RvciB1bml0IGlzIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBpZ25vcmllcnQsIG51ciBTZWt0b3JhbmdhYmVuIHdlcmRlbiB1bnRlcnN0w7x0enRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYzIGxvZ2luLXV0aWxzL2NoZm4uYzoxMDIgbG9naW4tdXRpbHMvY2hzaC5jOjc5Cittc2dpZCAiIC12LCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAtdiwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBWZXJzaW9uc2luZm9ybWF0aW9uIGF1c2dlYmVuIHVuZCBiZWVuZGVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiJXMgaXN0IHZlcmFsdGV0LCB2ZXJ3ZW5kZW4gU2llIC0tLXBhcnQtdHlwZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxOTczCittc2dpZCAiLS1pZCBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiLS1pZCBpc3QgdmVyYWx0ZXQsIHZlcndlbmRlbiBTaWUgLS0tcGFydC10eXBlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5ODkKK21zZ2lkICItLXNob3ctcHQtZ2VvbWV0cnkgaXMgbm8gbW9yZSBpbXBsZW1lbnRlZC4gVXNpbmcgLS1zaG93LWdlb21ldHJ5LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMDAKK21zZ2lkICItLUxpbnV4IG9wdGlvbiBpcyB1bm5lY2Vzc2FyeSBhbmQgZGVwcmVjYXRlZCIKK21zZ3N0ciAiRGllIE9wdGlvbiAtLUxpbnV4IGlzdCB1bm7DtnRpZyB1bmQgdmVyYWx0ZXQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAyOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0ICclYyciCittc2dzdHIgIm5pY2h0IHVudGVyc3TDvHR6dGUgRWluaGVpdCDigJ4lY+KAnCIKKworIyAibWtmcyBhdXMgdXRpbC1saW51eC0yLjEwZCIKKyMgIm1rZnMgdm9uIHV0aWwtbGludXgtMi4xMGQiCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMzIgaW5jbHVkZS9jLmg6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXNcbiIKK21zZ3N0ciAiJXMgdm9uICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjEwOQorbXNnaWQgIi0tbW92ZWRhdGEgcmVxdWlyZXMgLU4iCittc2dzdHIgIi0tbW92ZWRhdGEgZXJmb3JkZXJ0IC1OIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBVVUlEOiAlcyIKK21zZ3N0ciAiRmVobGVyIGJlaW0gRWlubGVzZW4gZGVyIFVVSUQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIFVVSUQiCittc2dzdHIgIiVzOiBTdWNoZSBuYWNoIGRlciBBdXNsYWdlcnVuZ3MtVVVJRCBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBVVUlEIgorbXNnc3RyICIlczogRmVobGVyIGJlaW0gU2NocmVpYmVuIGRlciBVVUlEIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIGxhYmVsICIKK21zZ3N0ciAiJXM6IFN1Y2hlIG5hY2ggZGVyIEF1c2xhZ2VydW5ncy1CZXplaWNobnVuZyBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAibGFiZWwgaXMgdG9vIGxvbmcuIFRydW5jYXRpbmcgaXQgdG8gJyVzJyIKK21zZ3N0ciAiQmV6ZWljaG51bmcgaXN0IHp1IGxhbmcuIFNpZSB3aXJkIGFiZ2VzY2huaXR0ZW4gYXVmIOKAniVz4oCcIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgbGFiZWwiCittc2dzdHIgIiVzOiBTY2hyZWliZW4gZGVyIEJlemVpY2hudW5nIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjEKK21zZ2lkICJEaXNwbGF5IG9yIGNoYW5nZSB0aGUgbGFiZWwgb3IgVVVJRCBvZiBhIHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiRGllIEJlemVpY2hudW5nIG9kZXIgVVVJRCBlaW5lcyBBdXNsYWdlcnVuZ3NiZXJlaWNoZXMgYW56ZWlnZW4gb2RlciDDpG5kZXJuLlxuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyNAorbXNnaWQgIiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiBzcGVjaWZ5IGEgbmV3IGxhYmVsXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgc3BlY2lmeSBhIG5ldyB1dWlkXG4iCittc2dzdHIgIiIKKyIgLUwsIC0tbGFiZWwgPEJlemVpY2hudW5nPiBFaW5lIG5ldWUgQmV6ZWljaG51bmcgYW5nZWJlblxuIgorIiAtVSwgLS11dWlkIDxVVUlEPiAgICAgICAgIEVpbmUgbmV1ZSBVVUlEIGFuZ2ViZW5cbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxNjcKK21zZ2lkICJpZ25vcmUgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCkiCittc2dzdHIgIi1VIGlnbm9yaWVyZW4gKFVVSURzIHdlcmRlbiBuaWNodCB1bnRlcnN0w7x0enQpIgorCisjOiBpbmNsdWRlL2MuaDoyOTkKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJBdWZydWY6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwMAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiT3B0aW9uZW46XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwMgorbXNnaWQgIiAtaCwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAgZGllc2UgSGlsZmUgYW56ZWlnZW4gdW5kIGJlZW5kZW5cbiIKKworIzogaW5jbHVkZS9jLmg6MzAzCittc2dpZCAiIC1WLCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAtViwgLS12ZXJzaW9uICBWZXJzaW9uc2luZm9ybWF0aW9uZW4gYXVzZ2ViZW4gdW5kIGJlZW5kZW5cbiIKKworIzogaW5jbHVkZS9jLmg6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJGb3IgbW9yZSBkZXRhaWxzIHNlZSAlcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkbDvHIgd2VpdGVyZSBFaW56ZWxoZWl0ZW4gc2llaGUgJXMuXG4iCisKKyM6IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0NiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDggbG9naW4tdXRpbHMvdmlwdy5jOjI3MworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5MiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI4MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MDUKKyM6IHRleHQtdXRpbHMvY29sLmM6MTU3Cittc2dpZCAid3JpdGUgZXJyb3IiCittc2dzdHIgIlNjaHJlaWJmZWhsZXIiCisKKyM6IGluY2x1ZGUvY29sb3JzLmg6MjcKK21zZ2lkICJjb2xvcnMgYXJlIGVuYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAiRmFyYmVuIHN0YW5kYXJkbcOkw59pZyBha3RpdmllcnQiCisKKyM6IGluY2x1ZGUvY29sb3JzLmg6MjkKK21zZ2lkICJjb2xvcnMgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgIkZhcmJlbiBzdGFuZGFyZG3DpMOfaWcgZGVha3RpdmllcnQiCisKKyM6IGluY2x1ZGUvZW52Lmg6MTggbGliL3BhZ2VyLmM6MTUxIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTA1MgorIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMDU2IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjUyOQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyBlbnZpcm9ubWVudCB2YXJpYWJsZSIKK21zZ3N0ciAiJXMtUmVzc291cmNlbmJlZ3Jlbnp1bmcga2FubiBuaWNodCBnZXNldHp0IHdlcmRlbiIKKworIzogaW5jbHVkZS9vcHR1dGlscy5oOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGVzZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmU6IgorbXNnc3RyICIlczogRGllc2UgT3B0aW9uZW4gc2NobGllw59lbiBzaWNoIGdlZ2Vuc2VpdGlnIGF1czoiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEKK21zZ2lkICJFbXB0eSIKK21zZ3N0ciAiTGVlciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MgorbXNnaWQgIkZBVDEyIgorbXNnc3RyICJGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MworbXNnaWQgIlhFTklYIHJvb3QiCittc2dzdHIgIlhFTklYIHJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQKK21zZ2lkICJYRU5JWCB1c3IiCittc2dzdHIgIlhFTklYIHVzciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NQorbXNnaWQgIkZBVDE2IDwzMk0iCittc2dzdHIgIkZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYKK21zZ2lkICJFeHRlbmRlZCIKK21zZ3N0ciAiRXJ3ZWl0ZXJ0ZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NworbXNnaWQgIkZBVDE2IgorbXNnc3RyICJGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OAorbXNnaWQgIkhQRlMvTlRGUy9leEZBVCIKK21zZ3N0ciAiSFBGUy9OVEZTL2V4RkFUIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5Cittc2dpZCAiQUlYIgorbXNnc3RyICJBSVgiCisKKyMgImJvb3Rmw6RoaWciCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMAorbXNnaWQgIkFJWCBib290YWJsZSIKK21zZ3N0ciAiQUlYIGJvb3Rmw6RoaWciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjExCittc2dpZCAiT1MvMiBCb290IE1hbmFnZXIiCittc2dzdHIgIk9TLzItQm9vdG1hbmFnZXIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEyCittc2dpZCAiVzk1IEZBVDMyIgorbXNnc3RyICJXOTUgRkFUMzIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEzCittc2dpZCAiVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICJXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE0Cittc2dpZCAiVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICJXOTUgRkFUMTYgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE1Cittc2dpZCAiVzk1IEV4dCdkIChMQkEpIgorbXNnc3RyICJXOTUgRXJ3LiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTYKK21zZ2lkICJPUFVTIgorbXNnc3RyICJPUFVTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNworbXNnaWQgIkhpZGRlbiBGQVQxMiIKK21zZ3N0ciAiVmVyc3QuIEZBVDEyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOAorbXNnaWQgIkNvbXBhcSBkaWFnbm9zdGljcyIKK21zZ3N0ciAiQ29tcGFxIERpYWdub3N0aWsiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE5Cittc2dpZCAiSGlkZGVuIEZBVDE2IDwzMk0iCittc2dzdHIgIlZlcnN0LiBGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMAorbXNnaWQgIkhpZGRlbiBGQVQxNiIKK21zZ3N0ciAiVmVyc3QuIEZBVDE2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMQorbXNnaWQgIkhpZGRlbiBIUEZTL05URlMiCittc2dzdHIgIlZlcnN0LiBIUEZTL05URlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIyCittc2dpZCAiQVNUIFNtYXJ0U2xlZXAiCittc2dzdHIgIkFTVCBTbWFydFNsZWVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMworbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIiCittc2dzdHIgIlZlcnN0LiBXOTUgRkFUMzIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI0Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiVmVyc3QuIFc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjUKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICJWZXJzdC4gVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNgorbXNnaWQgIk5FQyBET1MiCittc2dzdHIgIk5FQyBET1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI3Cittc2dpZCAiSGlkZGVuIE5URlMgV2luUkUiCittc2dzdHIgIlZlcnN0LiBOVEZTIFdpblJFIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOAorbXNnaWQgIlBsYW4gOSIKK21zZ3N0ciAiUGxhbiA5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOQorbXNnaWQgIlBhcnRpdGlvbk1hZ2ljIHJlY292ZXJ5IgorbXNnc3RyICJQYXJ0aXRpb25NYWdpYyBXaWVkZXJoZXJzdGVsbHVuZyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzAKK21zZ2lkICJWZW5peCA4MDI4NiIKK21zZ3N0ciAiVmVuaXggODAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMxCittc2dpZCAiUFBDIFBSZVAgQm9vdCIKK21zZ3N0ciAiUFBDIFBSZVAgQm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzIKK21zZ2lkICJTRlMiCittc2dzdHIgIlNGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzMKK21zZ2lkICJRTlg0LngiCittc2dzdHIgIlFOWDQueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzQKK21zZ2lkICJRTlg0LnggMm5kIHBhcnQiCittc2dzdHIgIlFOWDQueCAyLiBUZWlsIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNQorbXNnaWQgIlFOWDQueCAzcmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IDMuIFRlaWwiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM2Cittc2dpZCAiT25UcmFjayBETSIKK21zZ3N0ciAiT25UcmFjayBETSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzcKK21zZ2lkICJPblRyYWNrIERNNiBBdXgxIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgxIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOAorbXNnaWQgIkNQL00iCittc2dzdHIgIkNQL00iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM5Cittc2dpZCAiT25UcmFjayBETTYgQXV4MyIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDAKK21zZ2lkICJPblRyYWNrRE02IgorbXNnc3RyICJPblRyYWNrRE02IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MQorbXNnaWQgIkVaLURyaXZlIgorbXNnc3RyICJFWi1Ecml2ZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDIKK21zZ2lkICJHb2xkZW4gQm93IgorbXNnc3RyICJHb2xkZW4gQm93IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MworbXNnaWQgIlByaWFtIEVkaXNrIgorbXNnc3RyICJQcmlhbSBFZGlzayIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDQgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTEKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk5Cittc2dpZCAiU3BlZWRTdG9yIgorbXNnc3RyICJTcGVlZFN0b3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ1Cittc2dpZCAiR05VIEhVUkQgb3IgU3lzViIKK21zZ3N0ciAiR05VIEhVUkQgb2RlciBTeXNWIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NgorbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDI4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NworbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDM4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMzg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OAorbXNnaWQgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKK21zZ3N0ciAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OQorbXNnaWQgIlBDL0lYIgorbXNnc3RyICJQQy9JWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTAKK21zZ2lkICJPbGQgTWluaXgiCittc2dzdHIgIkFsdGVzIE1pbml4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MQorbXNnaWQgIk1pbml4IC8gb2xkIExpbnV4IgorbXNnc3RyICJNaW5peCAvIGFsdGVzIExpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MgorbXNnaWQgIkxpbnV4IHN3YXAgLyBTb2xhcmlzIgorbXNnc3RyICJMaW51eCBTd2FwIC8gU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTMKK21zZ2lkICJMaW51eCIKK21zZ3N0ciAiTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU0Cittc2dpZCAiT1MvMiBoaWRkZW4gb3IgSW50ZWwgaGliZXJuYXRpb24iCittc2dzdHIgInZlcnN0ZWNrdGUgT1MvMi0gb2RlciBJbnRlbCBSdWhlcGFydGl0aW9uIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NworbXNnaWQgIkxpbnV4IGV4dGVuZGVkIgorbXNnc3RyICJMaW51eCBlcndlaXRlcnQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU5Cittc2dpZCAiTlRGUyB2b2x1bWUgc2V0IgorbXNnc3RyICJOVEZTIERhdGVudHLDpGdlcnNhdHoiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYwCittc2dpZCAiTGludXggcGxhaW50ZXh0IgorbXNnc3RyICJMaW51eCBLbGFydGV4dCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjEgbGliZmRpc2svc3JjL2dwdC5jOjIwNSBsaWJmZGlzay9zcmMvc2dpLmM6NjMKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1NAorbXNnaWQgIkxpbnV4IExWTSIKK21zZ3N0ciAiTGludXggTFZNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MgorbXNnaWQgIkFtb2ViYSIKK21zZ3N0ciAiQW1vZWJhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MworbXNnaWQgIkFtb2ViYSBCQlQiCittc2dzdHIgIkFtb2ViYSBCQlQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY0Cittc2dpZCAiQlNEL09TIgorbXNnc3RyICJCU0QvT1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY1Cittc2dpZCAiSUJNIFRoaW5rcGFkIGhpYmVybmF0aW9uIgorbXNnc3RyICJJQk0gVGhpbmtwYWQgUnVoZXp1c3RhbmQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY2Cittc2dpZCAiRnJlZUJTRCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjcKK21zZ2lkICJPcGVuQlNEIgorbXNnc3RyICJPcGVuQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OAorbXNnaWQgIk5lWFRTVEVQIgorbXNnc3RyICJOZVhUU1RFUCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjkKK21zZ2lkICJEYXJ3aW4gVUZTIgorbXNnc3RyICJEYXJ3aW4gVUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MAorbXNnaWQgIk5ldEJTRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MQorbXNnaWQgIkRhcndpbiBib290IgorbXNnc3RyICJEYXJ3aW4gQm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzIKK21zZ2lkICJIRlMgLyBIRlMrIgorbXNnc3RyICJIRlMgLyBIRlMrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MworbXNnaWQgIkJTREkgZnMiCittc2dzdHIgIkJTRGkgRGF0ZWlzeXN0ZW0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc0Cittc2dpZCAiQlNESSBzd2FwIgorbXNnc3RyICJCU0RJIFN3YXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc1Cittc2dpZCAiQm9vdCBXaXphcmQgaGlkZGVuIgorbXNnc3RyICJCb290LUFzc2lzdGVudCB2ZXJzdGVja3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc2Cittc2dpZCAiQWNyb25pcyBGQVQzMiBMQkEiCittc2dzdHIgIkFjcm9uaXMgRkFUMzIgTEJBIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NyBsaWJmZGlzay9zcmMvZ3B0LmM6MjMwCittc2dpZCAiU29sYXJpcyBib290IgorbXNnc3RyICJTb2xhcmlzIEJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc4Cittc2dpZCAiU29sYXJpcyIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzkKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xMikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTEyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODAKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODEKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTE2KSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODIKK21zZ2lkICJTeXJpbngiCittc2dzdHIgIlN5cmlueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODMKK21zZ2lkICJOb24tRlMgZGF0YSIKK21zZ3N0ciAiS2VpbmUgRGF0ZWlzeXN0ZW1kYXRlbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiQ1AvTSAvIENUT1MgLyAuLi4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg2Cittc2dpZCAiRGVsbCBVdGlsaXR5IgorbXNnc3RyICJEZWxsIERpZW5zdHByb2dyYW1tIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NworbXNnaWQgIkJvb3RJdCIKK21zZ3N0ciAiQm9vdEl0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4OAorbXNnaWQgIkRPUyBhY2Nlc3MiCittc2dzdHIgIkRPUy1adWdyaWZmIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MAorbXNnaWQgIkRPUyBSL08iCittc2dzdHIgIkRPUyBSL08iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkzCittc2dpZCAiUnVmdXMgYWxpZ25tZW50IgorbXNnc3RyICJSdWZ1cy1BdXNyaWNodHVuZyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTQKK21zZ2lkICJCZU9TIGZzIgorbXNnc3RyICJCZU9TIERhdGVpc3lzdGVtIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NgorbXNnaWQgIkVGSSAoRkFULTEyLzE2LzMyKSIKK21zZ3N0ciAiRUZJIChGQVQtMTIvMTYvMzIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NworbXNnaWQgIkxpbnV4L1BBLVJJU0MgYm9vdCIKK21zZ3N0ciAiTGludXgvUEEtUklTQyBCb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDAKK21zZ2lkICJET1Mgc2Vjb25kYXJ5IgorbXNnc3RyICJET1Mgc2VrdW5kw6RyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDEKK21zZ2lkICJWTXdhcmUgVk1GUyIKK21zZ3N0ciAiVk13YXJlIFZNRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMgorbXNnaWQgIlZNd2FyZSBWTUtDT1JFIgorbXNnc3RyICJWTXdhcmUgVk1LQ09SRSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAzIGxpYmZkaXNrL3NyYy9zdW4uYzo1NQorbXNnaWQgIkxpbnV4IHJhaWQgYXV0b2RldGVjdCIKK21zZ3N0ciAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDYKK21zZ2lkICJMQU5zdGVwIgorbXNnc3RyICJMQU5zdGVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDcKK21zZ2lkICJCQlQiCittc2dzdHIgIkJCVCIKKworIzogbGliL2Jsa2Rldi5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlcyBpcyBtaXNhbGlnbmVkIgorbXNnc3RyICJXYXJudW5nOiAlcyBpc3QgbmljaHQga29ycmVrdCBhdXNnZXJpY2h0ZXQiCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2NzIKK21zZ2lkICJDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJpb2N0bCgpIHdpcmQgYXVmZ2VydWZlbiwgdW0gZGllIFBhcnRpdGlvbnN0YWJlbGxlIG5ldSBlaW56dWxlc2VuLiIKKworIzogbGliZmRpc2svc3JjL2FsaWdubWVudC5jOjY4MQorbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuIgorbXNnc3RyICJEYXMgZXJuZXV0ZSBFaW5sZXNlbiBkZXIgUGFydGl0aW9uc3RhYmVsbGUgaXN0IGZlaGxnZXNjaGxhZ2VuLiIKKworIzogbGliZmRpc2svc3JjL2FsaWdubWVudC5jOjY4MworbXNnaWQgIlRoZSBrZXJuZWwgc3RpbGwgdXNlcyB0aGUgb2xkIHRhYmxlLiBUaGUgbmV3IHRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCByZWJvb3Qgb3IgYWZ0ZXIgeW91IHJ1biBwYXJ0cHJvYmUoOCkgb3Iga3BhcnR4KDgpLiIKK21zZ3N0ciAiRGVyIEtlcm5lbCBiZW51dHp0IG5vY2ggZGllIGFsdGUgVGFiZWxsZS4gRGllIG5ldWUgVGFiZWxsZSB3aXJkIGJlaW0gbsOkY2hzdGVuIE5ldXN0YXJ0IHZlcndlbmRldCB3ZXJkZW4gb2RlciBuYWNoZGVtIFNpZSBwYXJ0cHJvYmUoOCkgb2RlciBrcGFydHgoOCkgYXVzZ2Vmw7xocnQgaGFiZW4uIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDcyIGxpYmZkaXNrL3NyYy9hc2suYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0ZWQgcGFydGl0aW9uICVqdSIKK21zZ3N0ciAiUGFydGl0aW9uICVqdSBhdXNnZXfDpGhsdCIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ3NQorbXNnaWQgIk5vIHBhcnRpdGlvbiBpcyBkZWZpbmVkIHlldCEiCittc2dzdHIgIk5vY2gga2VpbmUgUGFydGl0aW9uIGZlc3RnZWxlZ3QhIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDg3Cittc2dpZCAiTm8gZnJlZSBwYXJ0aXRpb24gYXZhaWxhYmxlISIKK21zZ3N0ciAiS2VpbmUgZnJlaWUgUGFydGl0aW9uIHZlcmbDvGdiYXIhIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDk3Cittc2dpZCAiUGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiUGFydGl0aW9uc251bW1lciIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjk5NAorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IHBhcnRpdGlvbiAlZCBvZiB0eXBlICclcycgYW5kIG9mIHNpemUgJXMuIgorbXNnc3RyICJFaW5lIG5ldWUgUGFydGl0aW9uICVkIGRlcyBUeXBzIOKAniVz4oCcIHVuZCBkZXIgR3LDtsOfZSAlcyB3dXJkZSBlcnN0ZWxsdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICJQYXJ0aXRpb24gJXpkOiBoYXQgZWluZW4gdW5nw7xsdGlnZW4gU3RhcnRzZWt0b3IgMC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlcmUgaXMgbm8gKkJTRCBwYXJ0aXRpb24gb24gJXMuIgorbXNnc3RyICJFcyBnaWJ0IGtlaW5lICpCU0QtUGFydGl0aW9uIGF1ZiAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTkgbGliZmRpc2svc3JjL2Rvcy5jOjkzMworbXNnaWQgIkZpcnN0IGN5bGluZGVyIgorbXNnc3RyICJFcnN0ZXIgWnlsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTIgbGliZmRpc2svc3JjL2Rvcy5jOjExNjEKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIkxldHp0ZXIgWnlsaW5kZXIsICtaeWxpbmRlciBvZGVyICtHcsO2w59le0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTcgbGliZmRpc2svc3JjL2Rvcy5jOjExNjYgbGliZmRpc2svc3JjL2dwdC5jOjIyNTUKK21zZ2lkICJMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiTGV0enRlciBTZWt0b3IsICtTZWt0b3JlbiBvZGVyICtHcsO2w59le0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRldmljZSAlcyBkb2VzIG5vdCBjb250YWluIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICJEYXMgR2Vyw6R0ICVzIGVudGjDpGx0IGtlaW5lIEJTRC1GZXN0cGxhdHRlbmJlemVpY2hudW5nLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MworbXNnaWQgIkRvIHlvdSB3YW50IHRvIGNyZWF0ZSBhIEJTRCBkaXNrbGFiZWw/IgorbXNnc3RyICJNw7ZjaHRlbiBTaWUgZWluZSBCU0QtRmVzdHBsYXR0ZW5iZXplaWNobnVuZyBlcnN0ZWxsZW4/IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDQ5Cittc2dpZCAiRGlzayIKK21zZ3N0ciAiRmVzdHBsYXR0ZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ1NgorbXNnaWQgIlBhY2tuYW1lIgorbXNnc3RyICJQYWtldG5hbWUiCisKKyMgSSBjdXJyZW50bHkgZG9uJ3Qga25vdyBhIGJldHRlciB0cmFuc2xhdGlvbgorIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MyBsaWJmZGlzay9zcmMvc3VuLmM6MTExNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICJNYXJraWVydW5nZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjYKK21zZ2lkICIgcmVtb3ZhYmxlIgorbXNnc3RyICIgZW50ZmVybmJhciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NworbXNnaWQgIiBlY2MiCittc2dzdHIgIiBlY2MiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjgKK21zZ2lkICIgYmFkc2VjdCIKK21zZ3N0ciAiIGJhZHNlY3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NzYKK21zZ2lkICJCeXRlcy9TZWN0b3IiCittc2dzdHIgIkJ5dGVzL1Nla3RvciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4MQorbXNnaWQgIlRyYWNrcy9DeWxpbmRlciIKK21zZ3N0ciAiU3B1cmVuL1p5bGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDg2Cittc2dpZCAiU2VjdG9ycy9DeWxpbmRlciIKK21zZ3N0ciAiU2VrdG9yZW4vWnlsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTggbGliZmRpc2svc3JjL2Rvcy5jOjIzMDMKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU3IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTYgbGliZmRpc2svc3JjL3N1bi5jOjExMTMKK21zZ2lkICJDeWxpbmRlcnMiCittc2dzdHIgIlp5bGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDk2IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjAKK21zZ2lkICJScG0iCittc2dzdHIgIlJwbSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMSBsaWJmZGlzay9zcmMvc2dpLmM6MjkyIGxpYmZkaXNrL3NyYy9zdW4uYzo3ODAKK21zZ2lkICJJbnRlcmxlYXZlIgorbXNnc3RyICJWZXJzYXR6IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTA2Cittc2dpZCAiVHJhY2tza2V3IgorbXNnc3RyICJTcHVyYWJ3ZWljaHVuZyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxMQorbXNnaWQgIkN5bGluZGVyc2tldyIKK21zZ3N0ciAiWnlsaW5kZXJhYndlaWNodW5nIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTE2Cittc2dpZCAiSGVhZHN3aXRjaCIKK21zZ3N0ciAiS29wZndlY2hzZWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MjEKK21zZ2lkICJUcmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICJTcHVy4oCQenXigJBTcHVy4oCQV2VjaHNlbCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMQorbXNnaWQgImJ5dGVzL3NlY3RvciIKK21zZ3N0ciAiQnl0ZXMvU2VrdG9yIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE0Cittc2dpZCAic2VjdG9ycy90cmFjayIKK21zZ3N0ciAiU2VrdG9yZW4vU3B1ciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNQorbXNnaWQgInRyYWNrcy9jeWxpbmRlciIKK21zZ3N0ciAiU3B1cmVuL1p5bGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE2Cittc2dpZCAiY3lsaW5kZXJzIgorbXNnc3RyICJaeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMAorbXNnaWQgInNlY3RvcnMvY3lsaW5kZXIiCittc2dzdHIgIlNla3RvcmVuL1p5bGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIzCittc2dpZCAicnBtIgorbXNnc3RyICJVL21pbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNAorbXNnaWQgImludGVybGVhdmUiCittc2dzdHIgIkludGVybGVhdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjUKK21zZ2lkICJ0cmFja3NrZXciCittc2dzdHIgIlNwdXJhYndlaWNodW5nIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI2Cittc2dpZCAiY3lsaW5kZXJza2V3IgorbXNnc3RyICJaeWxpbmRlcmFid2VpY2h1bmciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjgKK21zZ2lkICJoZWFkc3dpdGNoIgorbXNnc3RyICJLb3Bmd2VjaHNlbCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOQorbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgIlNwdXLigJB6deKAkFNwdXLigJBXZWNoc2VsIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290c3RyYXAgZmlsZSAlcyBzdWNjZXNzZnVsbHkgbG9hZGVkLiIKK21zZ3N0ciAiRGllIEJvb3RzdHJhcC1EYXRlaSAlcyB3dXJkZSBlcmZvbGdyZWljaCBnZWxhZGVuLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY3MworIywgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXA6ICUxJHNib290IC0+IGJvb3QlMSRzIChkZWZhdWx0ICUxJHMpIgorbXNnc3RyICJCb290c3RyYXA6ICUxJHNib290IC0+IGJvb3QlMSRzIChTdGFuZGFyZCAlMSRzKSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcwNAorbXNnaWQgIkJvb3RzdHJhcCBvdmVybGFwcyB3aXRoIGRpc2tsYWJlbCEiCittc2dzdHIgIkJvb3RzdHJhcCDDvGJlcmxhcHB0IG1pdCBkZXIgRmVzdHBsYXR0ZW5iZXplaWNobnVuZyEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwIGluc3RhbGxlZCBvbiAlcy4iCittc2dzdHIgIkJvb3RzdHJhcCBhdWYgJXMgaW5zdGFsbGllcnQuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiAgKERvbid0IGZvcmdldCB0byB3cml0ZSB0aGUgJXMgZGlza2xhYmVsIHRvby4pIgorbXNnc3RyICJEaWUgUGxhdHRlbmtlbm51bmcgd3VyZGUgYXVmICVzIGdlc2NocmllYmVuICh2ZXJnZXNzZW4gU2llIG5pY2h0LCBkaWUgJXMtS2VubnVuZyB6dSBzY2hyZWliZW4pLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwMworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4iCittc2dzdHIgIkZlc3RwbGF0dGVuYmV6ZWljaG51bmcgZ2VzY2hyaWViZW4gbmFjaCAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDkgbGliZmRpc2svc3JjL2NvbnRleHQuYzo2NjYKK21zZ2lkICJTeW5jaW5nIGRpc2tzLiIKK21zZ3N0ciAiRmVzdHBsYXR0ZW4gd2VyZGVuIHN5bmNocm9uaXNpZXJ0LiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk1MAorbXNnaWQgIkJTRCBsYWJlbCBpcyBub3QgbmVzdGVkIHdpdGhpbiBhIERPUyBwYXJ0aXRpb24uIgorbXNnc3RyICJCU0QtQmV6ZWljaG51bmcgaXN0IG5pY2h0IGluIGVpbmVyIERPUy1QYXJ0aXRpb24gdmVyc2NoYWNodGVsdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQlNEIHBhcnRpdGlvbiAnJWMnIGxpbmtlZCB0byBET1MgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIkJTRC1QYXJ0aXRpb24g4oCeJWPigJwgaXN0IG1pdCBET1MtUGFydGl0aW9uICV6dSB2ZXJrbsO8cGZ0LiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMTQKK21zZ2lkICJTbGljZSIKK21zZ3N0ciAiU2xpY2UiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIxCittc2dpZCAiRnNpemUiCittc2dzdHIgIkRncsO2w59lIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMgorbXNnaWQgIkJzaXplIgorbXNnc3RyICJCbC5ncsO2w59lIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMworbXNnaWQgIkNwZyIKK21zZ3N0ciAiQ3BnIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2UgZGV2aWNlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEdlcsOkdCBzY2hsaWXDn2VuIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4MjcKK21zZ2lkICJjeWxpbmRlciIKK21zZ2lkX3BsdXJhbCAiY3lsaW5kZXJzIgorbXNnc3RyWzBdICJaeWxpbmRlciIKK21zZ3N0clsxXSAiWnlsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODI4Cittc2dpZCAic2VjdG9yIgorbXNnaWRfcGx1cmFsICJzZWN0b3JzIgorbXNnc3RyWzBdICJTZWt0b3IiCittc2dzdHJbMV0gIlNla3RvcmVuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjExMzEKK21zZ2lkICJJbmNvbXBsZXRlIGdlb21ldHJ5IHNldHRpbmcuIgorbXNnc3RyICJVbnZvbGxzdMOkbmRpZ2UgR2VvbWV0cmllZWluc3RlbGx1bmcuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE0Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBhbHJlYWR5LiIKK21zZ3N0ciAiQWxsZSBwcmltw6RyZW4gUGFydGl0aW9uZW4gd3VyZGVuIGJlcmVpdHMgZmVzdGdlbGVndC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZXh0ZW5kZWQgcGFydGl0aW9uIHRhYmxlIChvZmZzZXQ9JWp1KSIKK21zZ3N0ciAiTGVzZW4gZGVyIGVyd2VpdGVydGVuIFBhcnRpdGlvbnN0YWJlbGxlIGlzdCBmZWhsZ2VzY2hsYWdlbiAoUG9zaXRpb249JWp1KSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjMyOAorbXNnaWQgIllvdSBjYW4gc2V0IGdlb21ldHJ5IGZyb20gdGhlIGV4dHJhIGZ1bmN0aW9ucyBtZW51LiIKK21zZ3N0ciAiU2llIGvDtm5uZW4gZGllIEdlb21ldHJpZSBpbSBadXNhdHpmdW5rdGlvbnNtZW7DvCBmZXN0bGVnZW4uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzMxCittc2dpZCAiRE9TLWNvbXBhdGlibGUgbW9kZSBpcyBkZXByZWNhdGVkLiIKK21zZ3N0ciAiRGVyIERPUy1rb21wYXRpYmxlIE1vZHVzIGlzdCB2ZXJhbHRldC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMzUKK21zZ2lkICJUaGUgZGV2aWNlIHByZXNlbnRzIGEgbG9naWNhbCBzZWN0b3Igc2l6ZSB0aGF0IGlzIHNtYWxsZXIgdGhhbiB0aGUgcGh5c2ljYWwgc2VjdG9yIHNpemUuIEFsaWduaW5nIHRvIGEgcGh5c2ljYWwgc2VjdG9yIChvciBvcHRpbWFsIEkvTykgc2l6ZSBib3VuZGFyeSBpcyByZWNvbW1lbmRlZCwgb3IgcGVyZm9ybWFuY2UgbWF5IGJlIGltcGFjdGVkLiIKK21zZ3N0ciAiRGFzIEdlcsOkdCBtZWxkZXQgZWluZSBsb2dpc2NoZSBTZWt0b3JncsO2w59lLCBkaWUgZ2VyaW5nZXIgYWxzIGRpZSBwaHlzaXNjaGUgU2VrdG9yZ3LDtsOfZSBpc3QuIERpZSBBdXNyaWNodHVuZyBhbiBlaW5lciBwaHlzaXNjaGVuIFNla3Rvci0gKG9kZXIgb3B0aW1hbGVyIEUvQS0pIEdyw7bDn2VuZ3JlbnplIGlzdCBlbXBmZWhsZW5zd2VydCwgZGEgc29uc3QgZGllIFBlcmZvcm1hbmNlIGVpbmdlc2NocsOkbmt0IHNlaW4ga2Fubi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDEKK21zZ2lkICJDeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4iCittc2dzdHIgIlp5bGluZGVyIGFscyBBbnplaWdlZWluaGVpdGVuIHNpbmQgdmVyYWx0ZXQuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBzaXplIG9mIHRoaXMgZGlzayBpcyAlcyAoJWp1IGJ5dGVzKS4gRE9TIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgY2FuIG5vdCBiZSB1c2VkIG9uIGRyaXZlcyBmb3Igdm9sdW1lcyBsYXJnZXIgdGhhbiAlbHUgYnl0ZXMgZm9yICVsdS1ieXRlIHNlY3RvcnMuIFVzZSBHVUlEIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgKEdQVCkuIgorbXNnc3RyICJEaWUgR3LDtsOfZSBkaWVzZXIgRmVzdHBsYXR0ZSBpc3QgJXMgKCVqdSBCeXRlcykuIERhcyBET1MtUGFydGl0aW9uc3RhYmVsbGVuZm9ybWF0IGthbm4gbmljaHQgYXVmIExhdWZ3ZXJrZW4gZsO8ciBEYXRlbnRyw6RnZXIgZ3LDtsOfZXIgYWxzICVsdSBCeXRlcyBmw7xyICVsdS1CeXRlLVNla3RvcmVuIHZlcndlbmRldCB3ZXJkZW4uIFZlcndlbmRlbiBTaWUgZGFzIEdVSUQtUGFydGl0aW9uc3RhYmVsbGVuZm9ybWF0IChHUFQpLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjUwMworbXNnaWQgIkJhZCBvZmZzZXQgaW4gcHJpbWFyeSBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJVbmfDvGx0aWdlIFBvc2l0aW9uIGluIHByaW3DpHJlciBlcndlaXRlcnRlciBQYXJ0aXRpb24uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIk9taXR0aW5nIHBhcnRpdGlvbnMgYWZ0ZXIgIyV6dS4gVGhleSB3aWxsIGJlIGRlbGV0ZWQgaWYgeW91IHNhdmUgdGhpcyBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJQYXJ0aXRpb25lbiBoaW50ZXIgIyV6dSB3ZXJkZW4gYXVzZ2VsYXNzZW4uIFNpZSB3ZXJkZW4gZ2Vsw7ZzY2h0LCB3ZW5uIFNpZSBkaWVzZSBQYXJ0aXRpb25zdGFiZWxsZSBzcGVpY2hlcm4uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4dHJhIGxpbmsgcG9pbnRlciBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiWnVzw6R0emxpY2hlciBMaW5rLVBvaW50ZXIgaW4gUGFydGl0aW9uc3RhYmVsbGUgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU1NAorIywgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBkYXRhIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJadXPDpHR6bGljaGUgRGF0ZW4gaW4gZGVyIFBhcnRpdGlvbnN0YWJlbGxlICV6dSB3ZXJkZW4gaWdub3JpZXJ0LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICJvbWl0dGluZyBlbXB0eSBwYXJ0aXRpb24gKCV6dSkiCittc2dzdHIgIkxlZXJlIFBhcnRpdGlvbiAoJXp1KSB3aXJkIMO8YmVyc3BydW5nZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC4iCittc2dzdHIgIkVpbmUgbmV1ZSBET1MtRmVzdHBsYXR0ZW5iZXplaWNobnVuZyAweCUwOHggd3VyZGUgZXJzdGVsbHQuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6Njg1Cittc2dpZCAiRW50ZXIgdGhlIG5ldyBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIkVpbmVuIG5ldWVuIEZlc3RwbGF0dGVuYmV6ZWljaG5lciBlaW5nZWJlbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY5MgorbXNnaWQgIkluY29ycmVjdCB2YWx1ZS4iCittc2dzdHIgIlVuZ8O8bHRpZ2VyIFdlcnQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAweCUwOHggdG8gMHglMDh4LiIKK21zZ3N0ciAiRmVzdHBsYXR0ZW5iZXplaWNobmVyIGlzdCB2b24gMHglMDh4IG5hY2ggMHglMDh4IGdlw6RuZGVydCB3b3JkZW4uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGV4dGVuZGVkIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIlp1c8OkdHpsaWNoZSBlcndlaXRlcnRlIFBhcnRpdGlvbiAlenUgd2lyZCBpZ25vcmllcnQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBmbGFnIDB4JTAyeCUwMnggb2YgRUJSIChmb3IgcGFydGl0aW9uICV6dSkgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIlVuZ8O8bHRpZ2UgTWFya2llcnVuZyAweCUwMnglMDJ4IGRlciBFQlIgKGbDvHIgUGFydGl0aW9uc3RhYmVsbGUgJXp1KSB3aXJkIGR1cmNoIHcocml0ZSkga29ycmlnaWVydC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo5MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgc2VjdG9yICVqdSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJTdGFydHNla3RvciAlanUgaXN0IGF1w59lcmhhbGIgZGVzIEJlcmVpY2hzLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwMjYgbGliZmRpc2svc3JjL2dwdC5jOjIxMzYgbGliZmRpc2svc3JjL3NnaS5jOjgzOQorIzogbGliZmRpc2svc3JjL3N1bi5jOjUxNworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKK21zZ3N0ciAiUGFydGl0aW9uICV6dSBpc3QgYmVyZWl0cyBmZXN0Z2VsZWd0LiBCaXR0ZSBsw7ZzY2hlbiBTaWUgc2llIHZvciBkZW0gV2llZGVyYW5sZWdlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMDk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlbGx1IGlzIGFscmVhZHkgYWxsb2NhdGVkLiIKK21zZ3N0ciAiU2VrdG9yICVsbHUgaXN0IGJlcmVpdHMgenVnZXRlaWx0LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjExMzMgbGliZmRpc2svc3JjL2dwdC5jOjIxNDYKK21zZ2lkICJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlLiIKK21zZ3N0ciAiRXMgc2luZCBrZWluZSBmcmVpZW4gU2VrdG9yZW4gdmVyZsO8Z2Jhci4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIkFkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIkxvZ2lzY2hlIFBhcnRpdGlvbiAlenUgd2lyZCBoaW56dWdlZsO8Z3QiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGNvbnRhaW5zIHNlY3RvciAwIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1OiBlbnRow6RsdCBTZWt0b3IgMCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaGVhZCAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlZCIKK21zZ3N0ciAiUGFydGl0aW9uICV6dTogS29wZiAlZCBpc3QgZ3LDtsOfZXIgYWxzIGRhcyBNYXhpbXVtICVkIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMyMQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBzZWN0b3IgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiUGFydGl0aW9uICV6dTogU2VrdG9yICVkIGlzdCBncsO2w59lciBhbHMgZGFzIE1heGltdW0gJWxsdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY3lsaW5kZXIgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiUGFydGl0aW9uICV6dTogWnlsaW5kZXIgJWQgaXN0IGdyw7bDn2VyIGFscyBkYXMgTWF4aW11bSAlbGx1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMzMAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBwcmV2aW91cyBzZWN0b3JzICV1IGRpc2FncmVlcyB3aXRoIHRvdGFsICV1IgorbXNnc3RyICJQYXJ0aXRpb24gJXp1OiB2b3JoZXJpZ2VyIFNla3RvciAldSB3aWRlcnNwcmljaHQgc2ljaCBtaXQgZ2VzYW10ICV1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM4MworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBiZWdpbm5pbmdzIChub24tTGludXg/KTogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1OiB1bnRlcnNjaGllZGxpY2hlIHBoeXNpc2NoZS9sb2dpc2NoZSBBbmbDpG5nZSAobmljaHQtTGludXg/KTogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2lzY2g9KCVkLCAlZCwgJWQpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM5NAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBlbmRpbmdzOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIlBhcnRpdGlvbiAlenU6IGhhdCB1bnRlcnNjaGllZGxpY2hlIHBoeXNpc2NoZS9sb2dpc2NoZSBFbmR1bmdlbjogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2lzY2g9KCVkLCAlZCwgJWQpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQwMworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1OiBlbmRldCBuaWNodCBhbiBlaW5lciBaeWxpbmRlcmdyZW56ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGJhZCBzdGFydC1vZi1kYXRhLiIKK21zZ3N0ciAiUGFydGl0aW9uICV6dTogZmFsc2NoZSBTdGFydHBvc2l0aW9uIGRlciBEYXRlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDQyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG92ZXJsYXBzIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1OiDDvGJlcmxhcHB0IFBhcnRpdGlvbiAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ2OAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBlbXB0eS4iCittc2dzdHIgIlBhcnRpdGlvbiAlenU6IGxlZXIuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ3MworIywgYy1mb3JtYXQKK21zZ2lkICJMb2dpY2FsIHBhcnRpdGlvbiAlenU6IG5vdCBlbnRpcmVseSBpbiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiTG9naXNjaGUgUGFydGl0aW9uICV6dTogaXN0IG5pY2h0IHZvbGxzdMOkbmRpZyBpbiBQYXJ0aXRpb24gJXp1IGVudGhhbHRlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDgxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRvdGFsIGFsbG9jYXRlZCBzZWN0b3JzICVsbHUgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtICVsbHUuIgorbXNnc3RyICJHZXNhbXRhbnphaGwgYmVsZWd0ZXIgU2VrdG9yZW4gJWxsdSBncsO2w59lciBhbHMgTWF4aW11bSAlbGx1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVtYWluaW5nICVsbGQgdW5hbGxvY2F0ZWQgJWxkLWJ5dGUgc2VjdG9ycy4iCittc2dzdHIgIlZlcmJsZWliZW5kZSAlbGxkIHVuYmVsZWd0ZSAlbGQtQnl0ZS1TZWt0b3Jlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTMyIGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU0Cittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGFscmVhZHkgZXhpc3RzLiIKK21zZ3N0ciAiRGllIGVyd2VpdGVydGUgUGFydGl0aW9uIGV4aXN0aWVydCBiZXJlaXRzLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1NzUKK21zZ2lkICJUaGUgbWF4aW11bSBudW1iZXIgb2YgcGFydGl0aW9ucyBoYXMgYmVlbiBjcmVhdGVkLiIKK21zZ3N0ciAiRGllIG1heGltYWxlIEFuemFobCBhbiBQYXJ0aXRpb25lbiB3dXJkZSBlcnN0ZWxsdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTg3Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiIKK21zZ3N0ciAiQWxsZSBwcmltw6RyZW4gUGFydGl0aW9uZW4gc2luZCBpbiBCZW51dHp1bmcuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU4OSBsaWJmZGlzay9zcmMvZG9zLmM6MTYwMAorbXNnaWQgIkFsbCBzcGFjZSBmb3IgcHJpbWFyeSBwYXJ0aXRpb25zIGlzIGluIHVzZS4iCittc2dzdHIgIkplZ2xpY2hlciBQbGF0eiBmw7xyIHByaW3DpHJlIFBhcnRpdGlvbmVuIGlzdCBpbiBCZW51dHp1bmcuIgorCisjLiBUUkFOU0xBVE9SUzogVHJ5IHRvIGtlZXAgdGhpcyB3aXRoaW4gODAgY2hhcmFjdGVycy4KKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjAzCittc2dpZCAiVG8gY3JlYXRlIG1vcmUgcGFydGl0aW9ucywgZmlyc3QgcmVwbGFjZSBhIHByaW1hcnkgd2l0aCBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJFcyBpc3QgbmljaHQgbcO2Z2xpY2gsIGVpbmUgd2VpdGVyZSBwcmltw6RyZSBQYXJ0aXRpb24gYW56dWxlZ2VuLiBXZW5uIFNpZSB3ZWl0ZXJlIFBhcnRpdGlvbmVuIGVyc3RlbGxlbiBtw7ZjaHRlbiwgbcO8c3NlbiBTaWUgenVlcnN0IGVpbmUgcHJpbcOkcmUgUGFydGl0aW9uIGR1cmNoIGVpbmUgZXJ3ZWl0ZXJ0ZSBQYXJ0aXRpb24gZXJzZXR6ZW4uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYwOAorbXNnaWQgIkFsbCBsb2dpY2FsIHBhcnRpdGlvbnMgYXJlIGluIHVzZS4gQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb24uIgorbXNnc3RyICJBbGxlIGxvZ2lzY2hlbiBQYXJ0aXRpb25lbiBzaW5kIGluIEJlbnV0enVuZy4gRWluZSBwcmltw6RyZSBQYXJ0aXRpb24gd2lyZCBoaW56dWdlZsO8Z3QuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzMAorbXNnaWQgIlBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJQYXJ0aXRpb25zdHlwIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlenUgcHJpbWFyeSwgJWQgZXh0ZW5kZWQsICV6dSBmcmVlIgorbXNnc3RyICIlenUgcHJpbcOkciwgJWQgZXJ3ZWl0ZXJ0LCAlenUgZnJlaSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzkKK21zZ2lkICJwcmltYXJ5IgorbXNnc3RyICJQcmltw6RyIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MQorbXNnaWQgImV4dGVuZGVkIgorbXNnc3RyICJFcndlaXRlcnQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQxCittc2dpZCAiY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMiCittc2dzdHIgIkNvbnRhaW5lciBmw7xyIGxvZ2lzY2hlIFBhcnRpdGlvbmVuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MworbXNnaWQgImxvZ2ljYWwiCittc2dzdHIgIkxvZ2lzY2giCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQzCittc2dpZCAibnVtYmVyZWQgZnJvbSA1IgorbXNnc3RyICJudW1tZXJpZXJ0IGFiIDUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIHR5cGUgYCVjJy4iCittc2dzdHIgIlVuZ8O8bHRpZ2VyIFBhcnRpdGlvbnN0eXAg4oCeJWPigJwuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY5OQorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgd3JpdGUgc2VjdG9yICVqZDogc2VlayBmYWlsZWQiCittc2dzdHIgIlNla3RvciAlamQga2FubiBuaWNodCBnZXNjaHJpZWJlbiB3ZXJkZW46IFN1Y2hlIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTg1MiBsaWJmZGlzay9zcmMvZ3B0LmM6MTA5NgorbXNnaWQgIkRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiRmVzdHBsYXR0ZW5iZXplaWNobmVyIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1OQorbXNnaWQgIlR5cGUgMCBtZWFucyBmcmVlIHNwYWNlIHRvIG1hbnkgc3lzdGVtcy4gSGF2aW5nIHBhcnRpdGlvbnMgb2YgdHlwZSAwIGlzIHByb2JhYmx5IHVud2lzZS4iCittc2dzdHIgIlR5cCAwIGJlZGV1dGV0IGbDvHIgdmllbGUgU3lzdGVtZSBmcmVpZXIgUGxhdHouIFBhcnRpdGlvbmVuIG1pdCBUeXAgMCB6dSBoYWJlbiBpc3Qgd2FocnNjaGVpbmxpY2ggdW5rbHVnLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE5NjQKK21zZ2lkICJDYW5ub3QgY2hhbmdlIHR5cGUgb2YgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiB3aGljaCBpcyBhbHJlYWR5IHVzZWQgYnkgbG9naWNhbCBwYXJ0aXRpb25zLiBEZWxldGUgbG9naWNhbCBwYXJ0aXRpb25zIGZpcnN0LiIKK21zZ3N0ciAiRGVyIFR5cCBkZXIgZXJ3ZWl0ZXJ0ZW4gUGFydGl0aW9uIGthbm4gbmljaHQgZ2XDpG5kZXJ0IHdlcmRlbiwgc29sYW5nZSBzaWUgdm9uIGxvZ2lzY2hlbiBQYXJ0aXRpb25lbiB2ZXJ3ZW5kZXQgd2lyZC4gTMO2c2NoZW4gU2llIHp1ZXJzdCBkaWUgbG9naXNjaGVuIFBhcnRpdGlvbmVuLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxNDMgbGliZmRpc2svc3JjL2dwdC5jOjI4MjEKK21zZ2lkICJOb3RoaW5nIHRvIGRvLiBPcmRlcmluZyBpcyBjb3JyZWN0IGFscmVhZHkuIgorbXNnc3RyICJLZWluZSDDhG5kZXJ1bmdlbiBub3R3ZW5kaWcuIERpZSBBbm9yZG51bmcgaXN0IGJlcmVpdHMga29ycmVrdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG5vIGRhdGEgYXJlYS4iCittc2dzdHIgIlBhcnRpdGlvbiAlenU6IGtlaW4gRGF0ZW5iZXJlaWNoLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyMjIKK21zZ2lkICJOZXcgYmVnaW5uaW5nIG9mIGRhdGEiCittc2dzdHIgIk5ldWVyIERhdGVuYW5mYW5nIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBpcyBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1OiBpc3QgZWluZSBlcndlaXRlcnRlIFBhcnRpdGlvbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJEaWUgQm9vdGbDpGhpZy1NYXJraWVydW5nIGF1ZiBQYXJ0aXRpb24gJXp1IGlzdCBudW4gYWt0aXZpZXJ0LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJEaWUgQm9vdGbDpGhpZy1NYXJraWVydW5nIGF1ZiBQYXJ0aXRpb24gJXp1IGlzdCBudW4gZGVha3RpdmllcnQuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI5OCBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxMSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1MworIzogbGliZmRpc2svc3JjL3N1bi5jOjExMDkKK21zZ2lkICJEZXZpY2UiCittc2dzdHIgIkdlcsOkdCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyOTkgbGliZmRpc2svc3JjL3N1bi5jOjQxCittc2dpZCAiQm9vdCIKK21zZ3N0ciAiQm9vdCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDUgbGliZmRpc2svc3JjL3NnaS5jOjExNTkgbGliZmRpc2svc3JjL3N1bi5jOjExMTUKK21zZ2lkICJJZCIKK21zZ3N0ciAiS24iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzA5Cittc2dpZCAiU3RhcnQtQy9IL1MiCittc2dzdHIgIlN0YXJ0LUMvSC9TIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMxMAorbXNnaWQgIkVuZC1DL0gvUyIKK21zZ3N0ciAiRW5kZS1DL0gvUyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTEgbGliZmRpc2svc3JjL2dwdC5jOjI5MjEgbGliZmRpc2svc3JjL3NnaS5jOjExNjEKK21zZ2lkICJBdHRycyIKK21zZ3N0ciAiQXR0ci4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjAKK21zZ2lkICJFRkkgU3lzdGVtIgorbXNnc3RyICJFRkktU3lzdGVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYyCittc2dpZCAiTUJSIHBhcnRpdGlvbiBzY2hlbWUiCittc2dzdHIgIk1CUi1QYXJ0aXRpb25zc2NoZW1hIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzCittc2dpZCAiSW50ZWwgRmFzdCBGbGFzaCIKK21zZ3N0ciAiSW50ZWwgRmFzdCBGbGFzaCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2NgorbXNnaWQgIkJJT1MgYm9vdCIKK21zZ3N0ciAiQklPUyBib290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY5Cittc2dpZCAiU29ueSBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiU29ueSBCb290cGFydGl0aW9uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTcwCittc2dpZCAiTGVub3ZvIGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICJMZW5vdm8gQm9vdHBhcnRpdGlvbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MworbXNnaWQgIlBvd2VyUEMgUFJlUCBib290IgorbXNnc3RyICJQb3dlclBDIFBSZVAgQm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NgorbXNnaWQgIk9OSUUgYm9vdCIKK21zZ3N0ciAiT05JRSBib290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc3Cittc2dpZCAiT05JRSBjb25maWciCittc2dzdHIgIk9OSUUgS29uZmlndXJhdGlvbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MAorbXNnaWQgIk1pY3Jvc29mdCByZXNlcnZlZCIKK21zZ3N0ciAiTWljcm9zb2Z0IHJlc2VydmllcnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODEKK21zZ2lkICJNaWNyb3NvZnQgYmFzaWMgZGF0YSIKK21zZ3N0ciAiTWljcm9zb2Z0IEJhc2lzZGF0ZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODIKK21zZ2lkICJNaWNyb3NvZnQgTERNIG1ldGFkYXRhIgorbXNnc3RyICJNaWNyb3NvZnQgTERNLU1ldGFkYXRlbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MworbXNnaWQgIk1pY3Jvc29mdCBMRE0gZGF0YSIKK21zZ3N0ciAiTWljcm9zb2Z0IExETS1EYXRlbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NAorbXNnaWQgIldpbmRvd3MgcmVjb3ZlcnkgZW52aXJvbm1lbnQiCittc2dzdHIgIldpbmRvd3MtV2llZGVyaGVyc3RlbGx1bmdzdW1nZWJ1bmciCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODUKK21zZ2lkICJJQk0gR2VuZXJhbCBQYXJhbGxlbCBGcyIKK21zZ3N0ciAiSUJNIEdlbmVyYWwgUGFyYWxsZWwgRnMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODYKK21zZ2lkICJNaWNyb3NvZnQgU3RvcmFnZSBTcGFjZXMiCittc2dzdHIgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4OQorbXNnaWQgIkhQLVVYIGRhdGEiCittc2dzdHIgIkhQLVVYIERhdGVucGFydGl0aW9uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkwCittc2dpZCAiSFAtVVggc2VydmljZSIKK21zZ3N0ciAiSFAtVVggRGllbnN0cGFydGl0aW9uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2MSBsaWJmZGlzay9zcmMvc3VuLmM6NTIKK21zZ2lkICJMaW51eCBzd2FwIgorbXNnc3RyICJMaW51eCBTd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk0Cittc2dpZCAiTGludXggZmlsZXN5c3RlbSIKK21zZ3N0ciAiTGludXgtRGF0ZWlzeXN0ZW0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUKK21zZ2lkICJMaW51eCBzZXJ2ZXIgZGF0YSIKK21zZ3N0ciAiTGludXggU2VydmVyIERhdGVuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk2Cittc2dpZCAiTGludXggcm9vdCAoeDg2KSIKK21zZ3N0ciAiTGludXggcm9vdCAoeDg2KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NworbXNnaWQgIkxpbnV4IHJvb3QgKEFSTSkiCittc2dzdHIgIkxpbnV4IHJvb3QgKEFSTSkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTgKK21zZ2lkICJMaW51eCByb290ICh4ODYtNjQpIgorbXNnc3RyICJMaW51eCByb290ICh4ODYtNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5Cittc2dpZCAiTGludXggcm9vdCAoQVJNLTY0KSIKK21zZ3N0ciAiTGludXggcm9vdCAoQVJNLTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMAorbXNnaWQgIkxpbnV4IHJvb3RcdChJQS02NCkiCittc2dzdHIgIkxpbnV4IHJvb3RcdChJQS02NCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDEKK21zZ2lkICJMaW51eCByZXNlcnZlZCIKK21zZ3N0ciAiTGludXggcmVzZXJ2aWVydCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMgorbXNnaWQgIkxpbnV4IGhvbWUiCittc2dzdHIgIkxpbnV4IEhvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMgbGliZmRpc2svc3JjL3NnaS5jOjY0Cittc2dpZCAiTGludXggUkFJRCIKK21zZ3N0ciAiTGludXggUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNAorbXNnaWQgIkxpbnV4IGV4dGVuZGVkIGJvb3QiCittc2dzdHIgIkxpbnV4IGVyd2VpdGVydCBCb290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEyCittc2dpZCAiRnJlZUJTRCBkYXRhIgorbXNnc3RyICJGcmVlQlNEIERhdGVuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzCittc2dpZCAiRnJlZUJTRCBib290IgorbXNnc3RyICJGcmVlQlNEIEJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQKK21zZ2lkICJGcmVlQlNEIHN3YXAiCittc2dzdHIgIkZyZWVCU0QgU3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNQorbXNnaWQgIkZyZWVCU0QgVUZTIgorbXNnc3RyICJGcmVlQlNEIFVGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNgorbXNnaWQgIkZyZWVCU0QgWkZTIgorbXNnc3RyICJGcmVlQlNEIFpGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNworbXNnaWQgIkZyZWVCU0QgVmludW0iCittc2dzdHIgIkZyZWVCU0QgVmludW0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjAKK21zZ2lkICJBcHBsZSBIRlMvSEZTKyIKK21zZ3N0ciAiQXBwbGUgSEZTL0hGUysiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEKK21zZ2lkICJBcHBsZSBVRlMiCittc2dzdHIgIkFwcGxlIFVGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMgorbXNnaWQgIkFwcGxlIFJBSUQiCittc2dzdHIgIkFwcGxlIFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjMKK21zZ2lkICJBcHBsZSBSQUlEIG9mZmxpbmUiCittc2dzdHIgIkFwcGxlIFJBSUQgb2ZmbGluZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNAorbXNnaWQgIkFwcGxlIGJvb3QiCittc2dzdHIgIkFwcGxlIEJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjUKK21zZ2lkICJBcHBsZSBsYWJlbCIKK21zZ3N0ciAiQXBwbGUtQmV6ZWljaG51bmciCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjYKK21zZ2lkICJBcHBsZSBUViByZWNvdmVyeSIKK21zZ3N0ciAiQXBwbGUgVFYgV2llZGVyaGVyc3RlbGx1bmciCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjcKK21zZ2lkICJBcHBsZSBDb3JlIHN0b3JhZ2UiCittc2dzdHIgIkFwcGxlIENvcmUgU3BlaWNoZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzEKK21zZ2lkICJTb2xhcmlzIHJvb3QiCittc2dzdHIgIlNvbGFyaXMgUm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMworbXNnaWQgIlNvbGFyaXMgL3VzciAmIEFwcGxlIFpGUyIKK21zZ3N0ciAiU29sYXJpcyAvdXNyICYgQXBwbGUgWkZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM0Cittc2dpZCAiU29sYXJpcyBzd2FwIgorbXNnc3RyICJTb2xhcmlzIFN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzUKK21zZ2lkICJTb2xhcmlzIGJhY2t1cCIKK21zZ3N0ciAiU29sYXJpcyBEYXRlbnNpY2hlcnVuZyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNgorbXNnaWQgIlNvbGFyaXMgL3ZhciIKK21zZ3N0ciAiU29sYXJpcyAvdmFyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM3Cittc2dpZCAiU29sYXJpcyAvaG9tZSIKK21zZ3N0ciAiU29sYXJpcyAvaG9tZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOAorbXNnaWQgIlNvbGFyaXMgYWx0ZXJuYXRlIHNlY3RvciIKK21zZ3N0ciAiU29sYXJpcyBhbHRlcm5hdGl2ZXIgU2VrdG9yIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAxIgorbXNnc3RyICJTb2xhcmlzIHJlc2VydmllcnQgMSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MAorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMiIKK21zZ3N0ciAiU29sYXJpcyByZXNlcnZpZXJ0IDIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDEKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDMiCittc2dzdHIgIlNvbGFyaXMgcmVzZXJ2aWVydCAzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA0IgorbXNnc3RyICJTb2xhcmlzIHJlc2VydmllcnQgNCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MworbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNSIKK21zZ3N0ciAiU29sYXJpcyByZXNlcnZpZXJ0IDUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDYKK21zZ2lkICJOZXRCU0Qgc3dhcCIKK21zZ3N0ciAiTmV0QlNEIFN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDcKK21zZ2lkICJOZXRCU0QgRkZTIgorbXNnc3RyICJOZXRCU0QgRkZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4Cittc2dpZCAiTmV0QlNEIExGUyIKK21zZ3N0ciAiTmV0QlNEIExGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OQorbXNnaWQgIk5ldEJTRCBjb25jYXRlbmF0ZWQiCittc2dzdHIgIk5ldEJTRCB2ZXJrZXR0ZXQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTAKK21zZ2lkICJOZXRCU0QgZW5jcnlwdGVkIgorbXNnc3RyICJOZXRCU0QgdmVyc2NobMO8c3NlbHQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTEKK21zZ2lkICJOZXRCU0QgUkFJRCIKK21zZ3N0ciAiTmV0QlNEIFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTQKK21zZ2lkICJDaHJvbWVPUyBrZXJuZWwiCittc2dzdHIgIkNocm9tZU9TLUtlcm5lbCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NQorbXNnaWQgIkNocm9tZU9TIHJvb3QgZnMiCittc2dzdHIgIkNocm9tZU9TIFd1cnplbGRhdGVpc3lzdGVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU2Cittc2dpZCAiQ2hyb21lT1MgcmVzZXJ2ZWQiCittc2dzdHIgIkNocm9tZU9TIHJlc2VydmllcnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTkKK21zZ2lkICJNaWRuaWdodEJTRCBkYXRhIgorbXNnc3RyICJNaWRuaWdodEJTRCBEYXRlbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MAorbXNnaWQgIk1pZG5pZ2h0QlNEIGJvb3QiCittc2dzdHIgIk1pZG5pZ2h0QlNEIEJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjEKK21zZ2lkICJNaWRuaWdodEJTRCBzd2FwIgorbXNnc3RyICJNaWRuaWdodEJTRCBTd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyCittc2dpZCAiTWlkbmlnaHRCU0QgVUZTIgorbXNnc3RyICJNaWRuaWdodEJTRCBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjMKK21zZ2lkICJNaWRuaWdodEJTRCBaRlMiCittc2dzdHIgIk1pZG5pZ2h0QlNEIFpGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NAorbXNnaWQgIk1pZG5pZ2h0QlNEIFZpbnVtIgorbXNnc3RyICJNaWRuaWdodEJTRCBWaW51bSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NworbXNnaWQgIkNlcGggSm91cm5hbCIKK21zZ3N0ciAiQ2VwaCBKb3VybmFsIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4Cittc2dpZCAiQ2VwaCBFbmNyeXB0ZWQgSm91cm5hbCIKK21zZ3N0ciAiQ2VwaCB2ZXJzY2hsw7xzc2VsdGVzIEpvdXJuYWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjkKK21zZ2lkICJDZXBoIE9TRCIKK21zZ3N0ciAiQ2VwaCBPU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAKK21zZ2lkICJDZXBoIGNyeXB0IE9TRCIKK21zZ3N0ciAiQ2VwaCB2ZXJzY2hsw7xzc2VsdGUgT1NEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcxCittc2dpZCAiQ2VwaCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICJHZXJhZGUgZW5zdGVoZW5kZSBDZXBoLVBsYXR0ZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MgorbXNnaWQgIkNlcGggY3J5cHQgZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiR2VyYWRlIGVuc3RlaGVuZGUgdmVyc2NobMO8c3NlbHRlIENlcGgtUGxhdHRlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1Cittc2dpZCAiT3BlbkJTRCBkYXRhIgorbXNnc3RyICJPcGVuQlNELURhdGVuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc4Cittc2dpZCAiUU5YNiBmaWxlIHN5c3RlbSIKK21zZ3N0ciAiUU5YNi1EYXRlaXN5c3RlbSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4MQorbXNnaWQgIlBsYW4gOSBwYXJ0aXRpb24iCittc2dzdHIgIlBsYW4gOS1QYXJ0aXRpb24iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo1NDcKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR1BUIGhlYWRlciIKK21zZ3N0ciAiR1BULUhlYWRlciBrb25udGUgbmljaHQgenVnZXdpZXNlbiB3ZXJkZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo2MzAKK21zZ2lkICJGaXJzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJEaWUgZXJzdGUgdm9tIFNrcmlwdCBhbmdlZ2ViZW5lIExCQSBpc3QgYXXDn2VyaGFsYiBkZXMgZ8O8bHRpZ2VuIEJlcmVpY2hzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjY0MgorbXNnaWQgIkxhc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiRGllIGxldHplIGltIFNrcmlwdCBhbmdlZ2ViZW5lIExCQSBpc3QgYXXDn2VyaGFsYiBkZXMgZ8O8bHRpZ2VuIEJlcmVpY2hzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjc3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR1BUIFBNQlIgc2l6ZSBtaXNtYXRjaCAoJTxQUkl1NjQ+ICE9ICU8UFJJdTY0Pikgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIkdQVC1QTUJSLUdyw7bDn2VudW50ZXJzY2hpZWQgKCV1ICE9ICV1KSB3aXJkIGR1cmNoIHcocml0ZSkga29ycmlnaWVydC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3OTIKK21zZ2lkICJncHQ6IHN0YXQoKSBmYWlsZWQiCittc2dzdHIgImdwdDogc3RhdCgpIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6ODAyCisjLCBjLWZvcm1hdAorbXNnaWQgImdwdDogY2Fubm90IGhhbmRsZSBmaWxlcyB3aXRoIG1vZGUgJW8iCittc2dzdHIgImdwdDogRGF0ZWllbiBtaXQgJW8tTW9kdXMga8O2bm5lbiBuaWNodCBiZWFyYmVpdGV0IHdlcmRlbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEwNjQKK21zZ2lkICJHUFQgSGVhZGVyIgorbXNnc3RyICJHUFQtS29wZmRhdGVuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTA2OQorbXNnaWQgIkdQVCBFbnRyaWVzIgorbXNnc3RyICJHUFQtRWludHLDpGdlIgorCisjICVzIGNhbiBiZSAiU2VrdG9yIiBvciAiWnlsaW5kZXIiLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjExMDMKK21zZ2lkICJGaXJzdCBMQkEiCittc2dzdHIgIkVyc3RlciBMQkEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTA4Cittc2dpZCAiTGFzdCBMQkEiCittc2dzdHIgIkxldHp0ZXIgTEJBIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIExCQSAoTG9naWNhbCBCbG9jayBBZGRyZXNzKSBvZiB0aGUgYmFja3VwIEdQVCBoZWFkZXIuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTExNAorbXNnaWQgIkFsdGVybmF0aXZlIExCQSIKK21zZ3N0ciAiQWx0ZXJuYXRpdmUgTEJBIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YXJ0IG9mIHRoZSBhcnJheSBvZiBwYXJ0aXRpb24gZW50cmllcy4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTIwCittc2dpZCAiUGFydGl0aW9uIGVudHJpZXMgTEJBIgorbXNnc3RyICJMQkEgbWl0IFBhcnRpdGlvbnNlaW50csOkZ2VuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEyNQorbXNnaWQgIkFsbG9jYXRlZCBwYXJ0aXRpb24gZW50cmllcyIKK21zZ3N0ciAiWnVnZW9yZG5ldGUgUGFydGl0aW9uc2VpbnRyw6RnZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE0NDAKK21zZ2lkICJUaGUgYmFja3VwIEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIHByaW1hcnkgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICJEaWUgZ2VzaWNoZXJ0ZSBHUFQtVGFiZWxsZSBpc3QgYmVzY2jDpGRpZ3QsIGFiZXIgZGllIHByaW3DpHJlIFRhYmVsbGUgc2NoZWludCBpbiBPcmRudW5nIHp1IHNlaW4sIHNvIGRhc3MgZGllc2UgbnVuIGJlbnV0enQgd2lyZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNDQ5Cittc2dpZCAiVGhlIHByaW1hcnkgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgYmFja3VwIGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAiRGllIHByaW3DpHJlIEdQVC1UYWJlbGxlIGlzdCBiZXNjaMOkZGlndCwgYWJlciBkaWUgU2ljaGVydW5nIHNjaGVpbnQgaW4gT3JkbnVuZyB6dSBzZWluLCBzbyBkYXNzIGRpZXNlIG51biBiZW51dHp0IHdpcmQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBHUFQgYXR0cmlidXRlIGJpdCAnJXMnIgorbXNnc3RyICJuaWNodCB1bnRlcnN0w7x0enRlcyBHUFQtQXR0cmlidXQtQml0IOKAniVz4oCcIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIEdQVCBhdHRyaWJ1dGUgc3RyaW5nICclcyciCittc2dzdHIgIkxpc3RlIOKAniVz4oCcIGtvbm50ZSBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiUGFydGl0aW9ucy1VVUlEIGlzdCB2b24gJXMgbmFjaCAlcyBnZcOkbmRlcnQgd29yZGVuLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIG5hbWUgY2hhbmdlZCBmcm9tICclcycgdG8gJyUuKnMnLiIKK21zZ3N0ciAiUGFydGl0aW9uc25hbWUgaXN0IHZvbiDigJ4lc+KAnCBuYWNoIOKAniUuKnPigJwgZ2XDpG5kZXJ0IHdvcmRlbi4iCisKKyMgIk51ciBkaWUgUGFydGl0aW9uc3RhYmVsbGUgYXVzZ2ViZW4iIChqb2V5KQorIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NjgKK21zZ2lkICJUaGUgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiB1bmRlcnN0ZXBzIEZpcnN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiRGVyIEFuZmFuZyBkZXIgUGFydGl0aW9uIGxpZWd0IHZvciBGaXJzdFVzYWJsZUxCQS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzc1Cittc2dpZCAiVGhlIGVuZCBvZiB0aGUgcGFydGl0aW9uIG92ZXJzdGVwcyBMYXN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiRGFzIEVuZGUgZGVyIFBhcnRpdGlvbiBsaWVndCBoaW50ZXIgTGFzdFVzYWJsZUxCQS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTM0Cittc2dpZCAiVGhlIGRldmljZSBjb250YWlucyBoeWJyaWQgTUJSIC0tIHdyaXRpbmcgR1BUIG9ubHkuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIE1CUiBtYW51YWxseS4iCittc2dzdHIgIkRhcyBHZXLDpHQgZW50aMOkbHQgZWluZW4gSHlicmlkLU1CUiDigJMgbnVyIEdQVCB3aXJkIGdlc2NocmllYmVuLiBTaWUgbcO8c3NlbiBkZW4gTUJSIG1hbnVlbGwgYWJnbGVpY2hlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcxCittc2dpZCAiRGlzayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIkZlc3RwbGF0dGUgZW50aMOkbHQga2VpbmUgZ8O8bHRpZ2UgRGF0ZW5zaWNoZXJ1bmdza29wZmRhdGVpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NzYKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIlByaW3DpHJlIEtvcGZkYXRlaSBtaXQgdW5nw7xsdGlnZXIgQ1JDLVByw7xmc3VtbWUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4MAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICJEYXRlbnNpY2hlcnVuZ3Nrb3BmZGF0ZWkgbWl0IHVuZ8O8bHRpZ2VyIENSQy1QcsO8ZnN1bW1lLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5ODUKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiBlbnRyeSBjaGVja3N1bS4iCittc2dzdHIgIlBhcnRpdGlvbnNlaW50cmFnIG1pdCB1bmfDvGx0aWdlciBQcsO8ZnN1bW1lLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OTAKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiVW56dWzDpHNzaWdlcyBFcmdlYm5pcyBkZXIgTEJBLVBsYXVzaWJpbGl0w6R0c3Byw7xmdW5nZW4gZGVzIHByaW3DpHJlbiBIZWFkZXJzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OTQKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICJVbnp1bMOkc3NpZ2VzIEVyZ2VibmlzIGRlciBMQkEtUGxhdXNpYmlsaXTDpHRzcHLDvGZ1bmdlbiBkZXMgZ2VzaWNoZXJ0ZW4gSGVhZGVycy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTk5Cittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IHByaW1hcnkgaGVhZGVyLiIKK21zZ3N0ciAiTXlMQkEgc3RpbW10IG5pY2h0IG1pdCBkZXIgcmVhbGVuIFBvc2l0aW9uIGltIHByaW3DpHJlbiBIZWFkZXIgw7xiZXJlaW4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwMworbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiTXlMQkEgc3RpbW10IG5pY2h0IG1pdCBkZXIgcmVhbGVuIFBvc2l0aW9uIGltIGdlc2ljaGVydGVuIEhlYWRlciDDvGJlcmVpbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDA4Cittc2dpZCAiRGlzayBpcyB0b28gc21hbGwgdG8gaG9sZCBhbGwgZGF0YS4iCittc2dzdHIgIkZlc3RwbGF0dGUgaXN0IHp1IGtsZWluLCB1bSBhbGxlIERhdGVuIGJlcmVpdHp1aGFsdGVuLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMTgKK21zZ2lkICJQcmltYXJ5IGFuZCBiYWNrdXAgaGVhZGVyIG1pc21hdGNoLiIKK21zZ3N0ciAiS29wZmRhdGVuIGRlciBwcmltw6RyZW4gVGFiZWxsZSB1bmQgZGVyZW4gU2ljaGVydW5nIHBhc3NlbiBuaWNodCB6dWVpbmFuZGVyLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggcGFydGl0aW9uICV1LiIKK21zZ3N0ciAiUGFydGl0aW9uICV1IMO8YmVybGFwcHQgbWl0IFBhcnRpdGlvbiAldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBpcyB0b28gYmlnIGZvciB0aGUgZGlzay4iCittc2dzdHIgIlBhcnRpdGlvbiAldSBpc3QgenUgZ3Jvw58gZsO8ciBkaWUgRmVzdHBsYXR0ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDM4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBlbmRzIGJlZm9yZSBpdCBzdGFydHMuIgorbXNnc3RyICJQYXJ0aXRpb24gJXUgZW5kZXQsIGJldm9yIHNpZSBiZWdpbm50LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDcKK21zZ2lkICJObyBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyICJLZWluZSBGZWhsZXIgZmVzdGdlc3RlbGx0LiIKKworIyBjLWZvcm1hdAorIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGVhZGVyIHZlcnNpb246ICVzIgorbXNnc3RyICJLb3BmZGF0ZW52ZXJzaW9uOiAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgJXUgb3V0IG9mICVkIHBhcnRpdGlvbnMuIgorbXNnc3RyICIldSB2b24gJWQgUGFydGl0aW9uZW4gd2VyZGVuIGJlbnV0enQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA2MAorIywgYy1mb3JtYXQKK21zZ2lkICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnQuIgorbXNnaWRfcGx1cmFsICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnRzICh0aGUgbGFyZ2VzdCBpcyAlcykuIgorbXNnc3RyWzBdICJJbnNnZXNhbXQgaXN0ICVqdSBmcmVpZXIgU2VrdG9yIGluICV1IFNlZ21lbnQgdmVyZsO8Z2Jhci4iCittc2dzdHJbMV0gIkluc2dlc2FtdCBzaW5kICVqdSBmcmVpZSBTZWt0b3JlbiBpbiAldSBTZWdtZW50ZW4gdmVyZsO8Z2JhciAoZGFzIGdyw7bDn3RlIGlzdCAlcykuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBlcnJvciBkZXRlY3RlZC4iCittc2dpZF9wbHVyYWwgIiVkIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHJbMF0gIiVkIEZlaGxlciBmZXN0Z2VzdGVsbHQuIgorbXNnc3RyWzFdICIlZCBGZWhsZXIgZmVzdGdlc3RlbGx0LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNDIKK21zZ2lkICJBbGwgcGFydGl0aW9ucyBhcmUgYWxyZWFkeSBpbiB1c2UuIgorbXNnc3RyICJBbGxlIFBhcnRpdGlvbmVuIHdlcmRlbiBiZXJlaXRzIGJlbnV0enQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5NyBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyMgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWp1IGFscmVhZHkgdXNlZC4iCittc2dzdHIgIlNla3RvciAlanUgd2lyZCBiZXJlaXRzIGJlbnV0enQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIlBhcnRpdGlvbiAlenUga29ubnRlIG5pY2h0IGVyc3RlbGx0IHdlcmRlbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGxhc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIkRlciBsZXR6dGUgdmVyd2VuZGJhcmUgR1BULVNla3RvciBpc3QgJWp1LCBhYmVyICVqdSB3aXJkIGFuZ2Vmb3JkZXJ0LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpcnN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICJEZXIgZXJzdGUgdmVyd2VuZGJhcmUgR1BULVNla3RvciBpc3QgJWp1LCBhYmVyICVqdSB3aXJkIGFuZ2Vmb3JkZXJ0LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBHUFQgZGlza2xhYmVsIChHVUlEOiAlcykuIgorbXNnc3RyICJFaW5lIG5ldWUgR1BULUZlc3RwbGF0dGVuYmV6ZWljaG51bmcgd3VyZGUgZXJzdGVsbHQgKEdVSUQ6ICVzKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDQ3Cittc2dpZCAiRW50ZXIgbmV3IGRpc2sgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICJHZWJlbiBTaWUgZGllIG5ldWUgRmVzdHBsYXR0ZW4tVVVJRCBlaW4gKGltIDgtNC00LTQtMTItRm9ybWF0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NTQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgeW91ciBVVUlELiIKK21zZ3N0ciAiRGFzIEVpbmxlc2VuIElocmVyIFVVSUQgaXN0IGZlaGxnZXNjaGxhZ2VuLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIkZlc3RwbGF0dGVuYmV6ZWljaG5lciBpc3Qgdm9uICVzIG5hY2ggJXMgZ2XDpG5kZXJ0IHdvcmRlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDg4CisjLCBmdXp6eQorbXNnaWQgIk5vdCBlbm91Z2ggc3BhY2UgZm9yIG5ldyBwYXJ0aXRpb24gdGFibGUhIgorbXNnc3RyICJLZWluZSBmcmVpZSBQYXJ0aXRpb24gdmVyZsO8Z2JhciEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXUgb3V0IG9mIHJhbmdlIChtaW5pbWFsIHN0YXJ0IGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwMgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV1IG91dCBvZiByYW5nZSAobWF4aW1hbCBlbmQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgbnVtYmVyIG9mIHRoZSBwYXJ0aXRpb24gaGFzIGJlIHNtYWxsZXIgdGhhbiAlenUuIgorbXNnc3RyICJEaWUgbWF4aW1hbGUgQW56YWhsIGFuIFBhcnRpdGlvbmVuIHd1cmRlIGVyc3RlbGx0LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NjMKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGFsbG9jYXRlIG1lbW9yeSEiCittc2dzdHIgIlNwZWljaGVyIGtvbm50ZSBuaWNodCB6dWdld2llc2VuIHdlcmRlbjogJW0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgbGVuZ3RoIGNoYW5nZWQgZnJvbSAlPFBSSXUzMj4gdG8gJTxQUkl1NjQ+LiIKK21zZ3N0ciAiUGFydGl0aW9uc25hbWUgaXN0IHZvbiDigJ4lc+KAnCBuYWNoIOKAniUuKnPigJwgZ2XDpG5kZXJ0IHdvcmRlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBhdHRyaWJ1dGVzIG9uIHBhcnRpdGlvbiAlenUgY2hhbmdlZCB0byAweCUwMTY8UFJJeDY0Pi4iCittc2dzdHIgIkRpZSBBdHRyaWJ1dGUgdm9uIFBhcnRpdGlvbiAlenUgd3VyZGVuIGF1ZiAweCUwMTY8UFJJeDY0PiBnZcOkbmRlcnQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc0MgorbXNnaWQgIkVudGVyIEdVSUQgc3BlY2lmaWMgYml0IgorbXNnc3RyICJHVUlELXNwZXppZmlzY2hlcyBCaXQgZWluZ2ViZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB0b2dnbGUgdW5zdXBwb3J0ZWQgYml0ICVsdSIKK21zZ3N0ciAiTmljaHQgdW50ZXJzdMO8dHp0ZXMgQml0ICVsdSBrb25udGUgbmljaHQgdW1nZXNjaGFsdGV0IHdlcmRlbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJEYXMgR1VJRC1zcGV6aWZpc2NoZSBCaXQgJWQgYXVmIFBhcnRpdGlvbiAlenUgaXN0IG51biBha3RpdmllcnQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJEYXMgR1VJRC1zcGV6aWZpc2NoZSBCaXQgJWQgYXVmIFBhcnRpdGlvbiAlenUgaXN0IG51biBkZWFrdGl2aWVydC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJEaWUgJXMtTWFya2llcnVuZyBhdWYgUGFydGl0aW9uICV6dSBpc3QgbnVuIGFrdGl2aWVydC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiRGllICVzLU1hcmtpZXJ1bmcgYXVmIFBhcnRpdGlvbiAlenUgaXN0IG51biBkZWFrdGl2aWVydC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE4Cittc2dpZCAiVHlwZS1VVUlEIgorbXNnc3RyICJUeXAtVVVJRCIKKworIyBJIHRoaW5rIHRoaXMgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxOQorbXNnaWQgIlVVSUQiCittc2dzdHIgIlVVSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTIwIGxvZ2luLXV0aWxzL2NoZm4uYzoxNTAgbG9naW4tdXRpbHMvY2hmbi5jOjE1MgorIzogbG9naW4tdXRpbHMvY2hmbi5jOjMwNworbXNnaWQgIk5hbWUiCittc2dzdHIgIk5hbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzo4NDAKK21zZ2lkICJGcmVlIHNwYWNlIgorbXNnc3RyICJGcmVpZXIgQmVyZWljaCIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjEyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24gIyV6dS4iCittc2dzdHIgIkdyw7bDn2Vuw6RuZGVydW5nIGRlciBQYXJ0aXRpb24gIyV6dSBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0dHlwZS5jOjI1OSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTUgc2NoZWR1dGlscy9jaHJ0LmM6MjA2CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc5IHN5cy11dGlscy9od2Nsb2NrLmM6MzM0Cittc2dpZCAidW5rbm93biIKK21zZ3N0ciAidW5iZWthbm50IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDcKK21zZ2lkICJTR0kgdm9saGRyIgorbXNnc3RyICJTR0kgdm9saGRyIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDgKK21zZ2lkICJTR0kgdHJrcmVwbCIKK21zZ3N0ciAiU0dJIHRya3JlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OQorbXNnaWQgIlNHSSBzZWNyZXBsIgorbXNnc3RyICJTR0kgc2VjcmVwbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUwCittc2dpZCAiU0dJIHJhdyIKK21zZ3N0ciAiU0dJIHJhdyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUxCittc2dpZCAiU0dJIGJzZCIKK21zZ3N0ciAiU0dJIGJzZCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUyCittc2dpZCAiU0dJIHN5c3YiCittc2dzdHIgIlNHSSBzeXN2IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTMKK21zZ2lkICJTR0kgdm9sdW1lIgorbXNnc3RyICJTR0ktRGF0ZW50csOkZ2VyIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTQKK21zZ2lkICJTR0kgZWZzIgorbXNnc3RyICJTR0kgZWZzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTUKK21zZ2lkICJTR0kgbHZvbCIKK21zZ3N0ciAiU0dJIGx2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NgorbXNnaWQgIlNHSSBybHZvbCIKK21zZ3N0ciAiU0dJIHJsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTcKK21zZ2lkICJTR0kgeGZzIgorbXNnc3RyICJTR0kgeGZzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTgKK21zZ2lkICJTR0kgeGZzbG9nIgorbXNnc3RyICJTR0kgeGZzbG9nIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTkKK21zZ2lkICJTR0kgeGx2IgorbXNnc3RyICJTR0kgeGx2IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAKK21zZ2lkICJTR0kgeHZtIgorbXNnc3RyICJTR0kgeHZtIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjIgbGliZmRpc2svc3JjL3N1bi5jOjUzCittc2dpZCAiTGludXggbmF0aXZlIgorbXNnc3RyICJMaW51eCBuYXRpdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxNTkKK21zZ2lkICJTR0kgaW5mbyBjcmVhdGVkIG9uIHNlY29uZCBzZWN0b3IuIgorbXNnc3RyICJTR0ktSW5mbyBhdWYgendlaXRlbSBTZWt0b3IgZXJzdGVsbHQiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyNTkKK21zZ2lkICJEZXRlY3RlZCBhbiBTR0kgZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIgorbXNnc3RyICJTR0ktRmVzdHBsYXR0ZW5iZXplaWNobnVuZyBtaXQgZmFsc2NoZXIgUHLDvGZzdW1tZSBlbnRkZWNrdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODIgbGliZmRpc2svc3JjL3N1bi5jOjc3MAorbXNnaWQgIlBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiQW56YWhsIGRlciBwaHlzaXNjaGVuIFp5bGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjg3IGxpYmZkaXNrL3NyYy9zdW4uYzo3NzUKK21zZ2lkICJFeHRyYSBzZWN0cy9jeWwiCittc2dzdHIgIkV4dHJhLVNla3RvcmVuIHBybyBaeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI5NworbXNnaWQgIkJvb3RmaWxlIgorbXNnc3RyICJCb290ZGF0ZWk6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mzk1Cittc2dpZCAiSW52YWxpZCBib290ZmlsZSEgIFRoZSBib290ZmlsZSBtdXN0IGJlIGFuIGFic29sdXRlIG5vbi16ZXJvIHBhdGhuYW1lLCBlLmcuIFwiL3VuaXhcIiBvciBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIlVuZ8O8bHRpZ2UgQm9vdGRhdGVpISBEaWUgQm9vdGRhdGVpIG11c3MgZWluIGFic29sdXRlciwgbmljaHQtbGVlcmVyIFBmYWRuYW1lIHNlaW4sIHouIEIuIOKAni91bml44oCcIG9kZXIg4oCeL3VuaXguc2F2ZeKAnC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGUgbWF4aW11bS4iCittc2dpZF9wbHVyYWwgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlcyBtYXhpbXVtLiIKK21zZ3N0clswXSAiTmFtZSBkZXIgQm9vdGRhdGVpIGlzdCB6dSBsYW5nOiBtYXhpbWFsICV6dSBCeXRlLiIKK21zZ3N0clsxXSAiTmFtZSBkZXIgQm9vdGRhdGVpIGlzdCB6dSBsYW5nOiBtYXhpbWFsICV6dSBCeXRlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDgKK21zZ2lkICJCb290ZmlsZSBtdXN0IGhhdmUgYSBmdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUuIgorbXNnc3RyICJCb290ZGF0ZWkgbXVzcyBlaW5lbiB2b2xsc3TDpG5kaWdlbiBQZmFkbmFtZW4gaGFiZW4uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDE0Cittc2dpZCAiQmUgYXdhcmUgdGhhdCB0aGUgYm9vdGZpbGUgaXMgbm90IGNoZWNrZWQgZm9yIGV4aXN0ZW5jZS4gIFNHSSdzIGRlZmF1bHQgaXMgXCIvdW5peFwiLCBhbmQgZm9yIGJhY2t1cCBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIlZvcnNpY2h0LCBkaWUgRXhpc3RlbnogZGVyIEJvb3RkYXRlaSB3aXJkIG5pY2h0IGdlcHLDvGZ0LiBTR0lzIFZvcmVpbnN0ZWxsdW5nIGlzdCDigJ4vdW5peOKAnCB1bmQgenVyIERhdGVuc2ljaGVydW5nIOKAni91bml4LnNhdmXigJwuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBjdXJyZW50IGJvb3QgZmlsZSBpczogJXMiCittc2dzdHIgIkRpZSBtb21lbnRhbmUgQm9vdGRhdGVpIGlzdDogJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDEKK21zZ2lkICJFbnRlciBvZiB0aGUgbmV3IGJvb3QgZmlsZSIKK21zZ3N0ciAiR2ViZW4gU2llIGRpZSBuZXVlIEJvb3RkYXRlaSBlaW4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDYKK21zZ2lkICJCb290IGZpbGUgaXMgdW5jaGFuZ2VkLiIKK21zZ3N0ciAiQm9vdGRhdGVpIHd1cmRlIG5pY2h0IHZlcsOkbmRlcnQuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RmaWxlIGhhcyBiZWVuIGNoYW5nZWQgdG8gXCIlc1wiLiIKK21zZ3N0ciAiQm9vdGRhdGVpIHd1cmRlIGdlw6RuZGVydCBhdWYg4oCeJXPigJwuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTk2Cittc2dpZCAiTW9yZSB0aGFuIG9uZSBlbnRpcmUgZGlzayBlbnRyeSBwcmVzZW50LiIKK21zZ3N0ciAiTWVociBhbHMgZWluIEVpbnRyYWcgZsO8ciBkaWUgZ2VzYW10ZSBGZXN0cGxhdHRlIHZvcmhhbmRlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MDMgbGliZmRpc2svc3JjL3N1bi5jOjQ1OAorbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZC4iCittc2dzdHIgIktlaW5lIFBhcnRpdGlvbmVuIGZlc3RnZWxlZ3QuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEzCittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiSVJJWCBtYWcgZXMsIHdlbm4gUGFydGl0aW9uIDExIGRpZSBnZXNhbXRlIEZlc3RwbGF0dGUgdW1mYXNzdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIHBhcnRpdGlvbiBzaG91bGQgc3RhcnQgYXQgYmxvY2sgMCwgbm90IGF0IGJsb2NrICVkLiIKK21zZ3N0ciAiRGllIFBhcnRpdGlvbiBmw7xyIGRpZSBnZXNhbXRlIEZlc3RwbGF0dGUgc29sbHRlIGJlaSBCbG9jayAwIGJlZ2lubmVuLCBuaWNodCBiZWkgQmxvY2sgJWQuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjI4Cittc2dpZCAiUGFydGl0aW9uIDExIHNob3VsZCBjb3ZlciB0aGUgZW50aXJlIGRpc2suIgorbXNnc3RyICJQYXJ0aXRpb24gMTEgc29sbHRlIGRpZSBnZXNhbXRlIEZlc3RwbGF0dGUgdW1mYXNzZW4uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9yLiIKK21zZ2lkX3BsdXJhbCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3JzLiIKK21zZ3N0clswXSAiUGFydGl0aW9uZW4gJWQgdW5kICVkIMO8YmVybGFwcGVuIHNpY2ggbWl0ICVkIFNla3Rvci4iCittc2dzdHJbMV0gIlBhcnRpdGlvbmVuICVkIHVuZCAlZCDDvGJlcmxhcHBlbiBzaWNoIG1pdCAlZCBTZWt0b3Jlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NjMgbGliZmRpc2svc3JjL3NnaS5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3I6IHNlY3RvciAlOHUiCittc2dpZF9wbHVyYWwgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3RvcnM6IHNlY3RvcnMgJTh1LSV1IgorbXNnc3RyWzBdICJVbmJlbnV0enRlIEzDvGNrZSB2b24gJTh1IFNla3RvcjogU2VrdG9yICU4dSIKK21zZ3N0clsxXSAiVW5iZW51dHp0ZSBMw7xja2Ugdm9uICU4dSBTZWt0b3JlbjogU2VrdG9yZW4gJTh1LSV1IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Njk4Cittc2dpZCAiVGhlIGJvb3QgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiRGllIEJvb3RwYXJ0aXRpb24gaXN0IG5pY2h0IHZvcmhhbmRlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDIKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICJEaWUgQXVzbGFnZXJ1bmdzcGFydGl0aW9uIGlzdCBuaWNodCB2b3JoYW5kZW4uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA2Cittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGhhcyBubyBzd2FwIHR5cGUuIgorbXNnc3RyICJEaWUgQXVzbGFnZXJ1bmdzcGFydGl0aW9uIGhhdCBrZWluZW4gU3dhcC1UeXAuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA5Cittc2dpZCAiWW91IGhhdmUgY2hvc2VuIGFuIHVudXN1YWwgYm9vdGZpbGUgbmFtZS4iCittc2dzdHIgIlNpZSBoYWJlbiBlaW5lbiB1bsO8YmxpY2hlbiBCb290ZGF0ZWluYW1lbiBnZXfDpGhsdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3NTkKK21zZ2lkICJQYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4iCittc2dzdHIgIlBhcnRpdGlvbmVuw7xiZXJsYXBwdW5nIGF1ZiBkZXIgRmVzdHBsYXR0ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDQKK21zZ2lkICJBdHRlbXB0aW5nIHRvIGdlbmVyYXRlIGVudGlyZSBkaXNrIGVudHJ5IGF1dG9tYXRpY2FsbHkuIgorbXNnc3RyICJFcyB3aXJkIHZlcnN1Y2h0LCBkZW4gRWludHJhZyBmw7xyIGRpZSBnZXNhbXRlIEZlc3RwbGF0dGUgYXV0b21hdGlzY2ggenUgZXJ6ZXVnZW4uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQ5Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIGlzIGFscmVhZHkgY292ZXJlZCB3aXRoIHBhcnRpdGlvbnMuIgorbXNnc3RyICJEaWUgZ2VzYW10ZSBGZXN0cGxhdHRlIHdpcmQgYmVyZWl0cyB2b24gUGFydGl0aW9uZW4gYmVsZWd0LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg1MworbXNnaWQgIllvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKK21zZ3N0ciAiU2llIGhhYmVuIGVpbmUgUGFydGl0aW9uZW7DvGJlcmxhcHB1bmcgYXVmIGRlciBGZXN0cGxhdHRlLiBCaXR0ZSBiZXNlaXRpZ2VuIFNpZSBkaWVzZSB6dWVyc3QhIgorCisjICVzIGNhbiBiZSAiU2VrdG9yIiBvciAiWnlsaW5kZXIiLgorIzogbGliZmRpc2svc3JjL3NnaS5jOjg3NSBsaWJmZGlzay9zcmMvc3VuLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ICVzIgorbXNnc3RyICJFcnN0ZXIgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4OTkgbGliZmRpc2svc3JjL3NnaS5jOjk0OQorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBlbGV2ZW50aCBwYXJ0aXRpb24gY292ZXJzIHRoZSBlbnRpcmUgZGlzayBhbmQgaXMgb2YgdHlwZSAnU0dJIHZvbHVtZScuIgorbXNnc3RyICJFcyBpc3QgaMO2Y2hzdCBlbXBmZWhsZW5zd2VydCwgZGllIGVsZnRlIFBhcnRpdGlvbiBkaWUgZ2VzYW10ZSBGZXN0cGxhdHRlIGFiZGVja2VuIHp1IGxhc3NlbiB1bmQgdm9tIFR5cCDigJ5TR0ktRGF0ZW50csOkZ2Vy4oCcIHp1IHNlaW4uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTE0IGxpYmZkaXNrL3NyYy9zdW4uYzo2MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCAlcyBvciArJXMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiTGV0enRlciAlcyBvZGVyICslcyBvZGVyICtHcsO2w59le0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5ODUgbGliZmRpc2svc3JjL3N1bi5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi4iCittc2dzdHIgIkJMS0dFVFNJWkUgaW9jdGwgZmVobGdlc2NobGFnZW4gYXVmICVzLiBHZW9tZXRyaWV6eWxpbmRlcndlcnQgdm9uICVsbHUgd2lyZCBiZW51dHp0LiBEaWVzZXIgV2VydCBrYW5uIGbDvHIgR2Vyw6R0ZSA+IDMzLDggR0IgYWJnZXNjaG5pdHRlbiBzZWluLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNTEKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFNHSSBkaXNrbGFiZWwuIgorbXNnc3RyICJFaW5lIG5ldWUgU0dJLUZlc3RwbGF0dGVuYmV6ZWljaG51bmcgd3VyZGUgZXJzdGVsbHQuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3MAorbXNnaWQgIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIKK21zZ3N0ciAiRW50c2NodWxkaWd1bmcsIFNpZSBrw7ZubmVuIG51ciBNYXJraWVydW5nZW4gbmljaHQtbGVlcmVyIFBhcnRpdGlvbmVuIMOkbmRlcm4uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3NgorbXNnaWQgIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDkgYXMgdm9sdW1lIGhlYWRlciAoMCksIGFuZCBwYXJ0aXRpb24gMTEgYXMgZW50aXJlIHZvbHVtZSAoNiksIGFzIElSSVggZXhwZWN0cyBpdC4iCittc2dzdHIgIlppZWhlbiBTaWUgaW4gQmV0cmFjaHQsIFBhcnRpdGlvbiA5IGFscyBEYXRlbnRyw6RnZXJoZWFkZXIgKDApIHVuZCBQYXJ0aXRpb24gMTEgYWxzIGdlc2FtdGUgRmVzdHBsYXR0ZSBzbyB6dSBiZWxhc3Nlbiwgd2llIElSSVggZXMgZXJ3YXJ0ZXQuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA4NQorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDAgaXMgb2YgdHlwZSBcIlNHSSB2b2xoZHJcIiwgdGhlIElSSVggc3lzdGVtIHdpbGwgcmVseSBvbiBpdCB0byByZXRyaWV2ZSBmcm9tIGl0cyBkaXJlY3Rvcnkgc3RhbmRhbG9uZSB0b29scyBsaWtlIHNhc2ggYW5kIGZ4LiBPbmx5IHRoZSBcIlNHSSB2b2x1bWVcIiBlbnRpcmUgZGlzayBzZWN0aW9uIG1heSB2aW9sYXRlIHRoaXMuIEFyZSB5b3Ugc3VyZSBhYm91dCB0YWdnaW5nIHRoaXMgcGFydGl0aW9uIGRpZmZlcmVudGx5PyIKK21zZ3N0ciAiRXMgaXN0IGjDtmNoc3QgZW1wZmVobGVuc3dlcnQsIGRhc3MgZGllIFBhcnRpdGlvbiBiZWkgUG9zaXRpb24gMCB2b20gVHlwIOKAnlNHSSB2b2xoZHLigJwgaXN0LCB3ZWlsIGVpbiBJUklYLVN5c3RlbSBkYXJhdWYgdmVydHJhdXQsIHVtIHNlaW5lIHVuYWJow6RuZ2lnZW4gV2Vya3pldWdlIHdpZSBzYXNoIHVuZCBmeCB2b24gc2VpbmVtIFZlcnplaWNobmlzIGFienVydWZlbi4gTnVyIGRpZSBnZXNhbXRlIEZlc3RwbGF0dGUgYWxzIOKAnlNHSSBWb2x1bWXigJwgZGFyZiBkaWVzIG1pc3NhY2h0ZW4uIFNpbmQgU2llIHNpY2hlciwgZGllc2UgUGFydGl0aW9uIGFuZGVycyBrZW5uemVpY2huZW4genUgd29sbGVuPyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQwCittc2dpZCAiVW5hc3NpZ25lZCIKK21zZ3N0ciAiTmljaHQgenVnZW9yZG5ldCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQyCittc2dpZCAiU3VuT1Mgcm9vdCIKK21zZ3N0ciAiU3VuT1MgUm9vdCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzCittc2dpZCAiU3VuT1Mgc3dhcCIKK21zZ3N0ciAiU3VuT1MgU3dhcCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ0Cittc2dpZCAiU3VuT1MgdXNyIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NQorbXNnaWQgIldob2xlIGRpc2siCittc2dzdHIgIkdlc2FtdGUgRmVzdHBsYXR0ZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2Cittc2dpZCAiU3VuT1Mgc3RhbmQiCittc2dzdHIgIlN1bk9TIHN0YW5kIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyB2YXIiCittc2dzdHIgIlN1bk9TIHZhciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ4Cittc2dpZCAiU3VuT1MgaG9tZSIKK21zZ3N0ciAiU3VuT1MgaG9tZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ5Cittc2dpZCAiU3VuT1MgYWx0IHNlY3RvcnMiCittc2dzdHIgIlN1bk9TIGFsdCBTZWt0b3JlbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUwCittc2dpZCAiU3VuT1MgY2FjaGVmcyIKK21zZ3N0ciAiU3VuT1MgY2FjaGVmcyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUxCittc2dpZCAiU3VuT1MgcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIHJlc2VydmllcnQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMzcKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIFByb2JhYmx5IHlvdSdsbCBoYXZlIHRvIHNldCBhbGwgdGhlIHZhbHVlcywgZS5nLiBoZWFkcywgc2VjdG9ycywgY3lsaW5kZXJzIGFuZCBwYXJ0aXRpb25zIG9yIGZvcmNlIGEgZnJlc2ggbGFiZWwgKHMgY29tbWFuZCBpbiBtYWluIG1lbnUpIgorbXNnc3RyICJTdW4tRmVzdHBsYXR0ZW5iZXplaWNobnVuZyBtaXQgZmFsc2NoZXIgUHLDvGZzdW1tZSBlbnRkZWNrdC4gU2llIHdlcmRlbiB3YWhyc2NoZWlubGljaCBhbGxlIFdlcnRlLCBhbHNvIEvDtnBmZSwgU2VrdG9yZW4sIFp5bGluZGVyIHVuZCBQYXJ0aXRpb25lbiBmZXN0bGVnZW4gbcO8c3NlbiBvZGVyIG1pdCBlaW5lciBuZXVlbiBCZXplaWNobnVuZyBiZWdpbm5lbiAocy1CZWZlaGwgaW0gSGF1cHRtZW7DvCkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZlcnNpb24gWyVkXS4iCittc2dzdHIgIlN1bi1GZXN0cGxhdHRlbmJlemVpY2hudW5nIG1pdCBmYWxzY2hlciBWZXJzaW9uIFslZF0gZW50ZGVja3QuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLnNhbml0eSBbMHglMDh4XS4iCittc2dzdHIgIlN1bi1GZXN0cGxhdHRlbmJlemVpY2hudW5nIG1pdCBmYWxzY2hlciB2dG9jLnNhbml0eSBbMHglMDh4XSBlbnRkZWNrdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2MubnBhcnRzIFsldV0uIgorbXNnc3RyICJTdW4tRmVzdHBsYXR0ZW5iZXplaWNobnVuZyBtaXQgZmFsc2NoZXIgdnRvYy5ucGFydHMgWyV1XSBlbnRkZWNrdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNjUKK21zZ2lkICJXYXJuaW5nOiBXcm9uZyB2YWx1ZXMgbmVlZCB0byBiZSBmaXhlZCB1cCBhbmQgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKSIKK21zZ3N0ciAiV2FybnVuZzogRmFsc2NoZSBXZXJ0ZSBtw7xzc2VuIGluIE9yZG51bmcgZ2VicmFjaHQgd2VyZGVuIHVuZCB3ZXJkZW4gZHVyY2ggdyhyaXRlKSBrb3JyaWdpZXJ0IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTkyCittc2dpZCAiSGVhZHMiCittc2dzdHIgIkvDtnBmZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE5NAorbXNnaWQgIlNlY3RvcnMvdHJhY2siCittc2dzdHIgIlNla3RvcmVuL1NwdXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoyOTcKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorbXNnc3RyICJFaW5lIG5ldWUgU3VuLUZlc3RwbGF0dGVuYmV6ZWljaG51bmcgd3VyZGUgZXJzdGVsbHQuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBkb2Vzbid0IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIlBhcnRpdGlvbiAldSBlbmRldCBuaWNodCBhbiBlaW5lciBaeWxpbmRlcmdyZW56ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggb3RoZXJzIGluIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICJQYXJ0aXRpb24gJXUgw7xiZXJsYXBwdCBtaXQgYW5kZXJlbiBpbiBTZWt0b3JlbiAldeKAkyV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAwLSV1LiIKK21zZ3N0ciAiVW5iZW51dHp0ZSBMw7xja2UgLSBTZWt0b3JlbiAwLSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NSBsaWJmZGlzay9zcmMvc3VuLmM6NDcxCisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiVW5iZW51dHp0ZSBMw7xja2UgLSBTZWt0b3JlbiAldS0ldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MjgKK21zZ2lkICJPdGhlciBwYXJ0aXRpb25zIGFscmVhZHkgY292ZXIgdGhlIHdob2xlIGRpc2suIERlbGV0ZSBzb21lL3NocmluayB0aGVtIGJlZm9yZSByZXRyeS4iCittc2dzdHIgIkFuZGVyZSBQYXJ0aXRpb25lbiBiZWxlZ2VuIGJlcmVpdHMgZGllIGdlc2FtdGUgRmVzdHBsYXR0ZS4gTMO2c2NoZW4vdmVya2xlaW5lcm4gU2llIHNpZSB2b3IgZWluZW0gZXJuZXV0ZW4gVmVyc3VjaC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVkIGlzIGFscmVhZHkgYWxsb2NhdGVkIgorbXNnc3RyICJTZWt0b3IgJWQgaXN0IGJlcmVpdHMgenVnZXdpZXNlbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYwMAorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSB0aGlyZCBwYXJ0aXRpb24gY292ZXJzIHRoZSB3aG9sZSBkaXNrIGFuZCBpcyBvZiB0eXBlIGBXaG9sZSBkaXNrJyIKK21zZ3N0ciAiRXMgaXN0IGjDtmNoc3QgZW1wZmVobGVuc3dlcnQsIGRpZSBlbGZ0ZSBQYXJ0aXRpb24gZGllIGdlc2FtdGUgRmVzdHBsYXR0ZSBiZWxlZ2VuIHp1IGxhc3NlbiB1bmQgdm9tIFR5cCDigJ5HZXNhbXRlIEZlc3RwbGF0dGXigJwgenUgc2Vpbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25pbmcgdGhlIGZpcnN0IHNlY3RvciBmcm9tICV1IHRvICV1IHRvIGJlIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiRGVyIGVyc3RlIFNla3RvciB2b24gJXUgd2lyZCBhbiAldSBhdXNnZXJpY2h0ZXQsIHVtIG1pdCBkZXIgWnlsaW5kZXJncmVuemUgw7xiZXJlaW56dXN0aW1tZW4uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Njg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZW4ndCBjb3ZlcmVkIHRoZSB3aG9sZSBkaXNrIHdpdGggdGhlIDNyZCBwYXJ0aXRpb24sIGJ1dCB5b3VyIHZhbHVlXG4iCisiJWx1ICVzIGNvdmVycyBzb21lIG90aGVyIHBhcnRpdGlvbi4gWW91ciBlbnRyeSBoYXMgYmVlbiBjaGFuZ2VkXG4iCisidG8gJWx1ICVzIgorbXNnc3RyICIiCisiU2llIGhhYmVuIG5pY2h0IGRpZSBnZXNhbXRlIEZlc3RwbGF0dGUgbWl0IGRlciBkcml0dGVuIFBhcnRpdGlvbiBiZWxlZ3QsXG4iCisiYWJlciBJaHIgV2VydCAlbHUgJXMgw7xiZXJkZWNrdCBlaW5pZ2UgYW5kZXJlIFBhcnRpdGlvbmVuLiBJaHIgRWludHJhZyB3dXJkZSBhdWZcbiIKKyIlbHUgJXMgZ2XDpG5kZXJ0LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjcyNgorIywgYy1mb3JtYXQKK21zZ2lkICJJZiB5b3Ugd2FudCB0byBtYWludGFpbiBTdW5PUy9Tb2xhcmlzIGNvbXBhdGliaWxpdHksIGNvbnNpZGVyIGxlYXZpbmcgdGhpcyBwYXJ0aXRpb24gYXMgV2hvbGUgZGlzayAoNSksIHN0YXJ0aW5nIGF0IDAsIHdpdGggJXUgc2VjdG9ycyIKK21zZ3N0ciAiV2VubiBTaWUgU3VuT1MvU29sYXJpcy1Lb21wYXRpYmlsaXTDpHQgYmVpYmVoYWx0ZW4gd29sbGVuLCBzb2xsdGVuIFNpZSBpbiBCZXRyYWNodCB6aWVoZW4sIGRpZXNlIFBhcnRpdGlvbiBhbHMgZ2VzYW10ZSBGZXN0cGxhdHRlICg1KSBiZWl6dWJlaGFsdGVuLCBtaXQgZGVtIEJlZ2lubiBiZWkgMCB1bmQgJXUgU2VrdG9yZW4uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzUwCittc2dpZCAiTGFiZWwgSUQiCittc2dzdHIgIkJlemVpY2hudW5nc2tlbm51bmciCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NTUKK21zZ2lkICJWb2x1bWUgSUQiCittc2dzdHIgIkRhdGVudHLDpGdlcmtlbm51bmciCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjUKK21zZ2lkICJBbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJBbHRlcm5hdGl2ZSBaeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg3MQorbXNnaWQgIk51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJBbnphaGwgZGVyIGFsdGVybmF0aXZlbiBaeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg5NgorbXNnaWQgIkV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJFeHRyYS1TZWt0b3JlbiBwcm8gWnlsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MjAKK21zZ2lkICJJbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiSW50ZXJsZWF2ZS1GYWt0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5NDQKK21zZ2lkICJSb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAiVW1kcmVodW5nc2dlc2Nod2luZGlna2VpdCAoVS9taW4pIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTY4Cittc2dpZCAiTnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiQW56YWhsIGRlciBwaHlzaXNjaGVuIFp5bGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTAzNworbXNnaWQgIiIKKyJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiAzIGFzIFdob2xlIGRpc2sgKDUpLFxuIgorImFzIFN1bk9TL1NvbGFyaXMgZXhwZWN0cyBpdCBhbmQgZXZlbiBMaW51eCBsaWtlcyBpdC5cbiIKK21zZ3N0ciAiIgorIlppZWhlbiBTaWUgaW4gQmV0cmFjaHQsIFBhcnRpdGlvbiAzIGFscyBnZXNhbXRlIEZlc3RwbGF0dGUgKDUpIHNvXG4iCisienUgYmVsYXNzZW4sIHdpZSBTdW5PUy9Tb2xhcmlzIGVzIGVyd2FydGV0IHVuZCBzb2dhciBMaW51eCBlcyBtYWcuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDQ4Cittc2dpZCAiIgorIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDBcbiIKKyJpcyBVRlMsIEVYVDJGUyBmaWxlc3lzdGVtIG9yIFN1bk9TIHN3YXAuIFB1dHRpbmcgTGludXggc3dhcFxuIgorInRoZXJlIG1heSBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlIGFuZCBib290YmxvY2suXG4iCisiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHRhZyB0aGUgcGFydGl0aW9uIGFzIExpbnV4IHN3YXA/IgorbXNnc3RyICIiCisiRXMgd2lyZCBkcmluZ2VuZCBlbXBmb2hsZW4sIGRhc3MgZGllIFBhcnRpdGlvbiBiZWkgUG9zaXRpb24gMCBlbnR3ZWRlclxuIgorIlVGUywgRXh0MkZTIG9kZXIgU3VuT1MgU3dhcCBpc3QuIERvcnQg4oCeTGludXggU3dhcOKAnCB6dSBlcnN0ZWxsZW4ga2FublxuIgorIklocmUgUGFydGl0aW9uc3RhYmVsbGUgdW5kIElocmVuIEJvb3RibG9jayB6ZXJzdMO2cmVuLlxuIgorIlNpbmQgU2llIHNpY2hlciwgZGFzcyBTaWUgZGllc2UgUGFydGl0aW9uIGFscyBMaW51eCBTd2FwXG4iCisibWFya2llcmVuIHdvbGxlbj8iCisKKyM6IGxpYi9wYWdlci5jOjExMgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCAoJXMpIgorbXNnc3RyICJ3YWl0cGlkIGZlaGxnZXNjaGxhZ2VuICglcykiCisKKyM6IGxpYi9wYXRoLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE4MTgKK21zZ2lkICJmYWlsZWQgdG8gY2FsbG9jYXRlIGNwdSBzZXQiCittc2dzdHIgImNhbGxvY2F0ZSBmw7xyIENQVS1TYXR6IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBsaWIvcGF0aC5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3QgJXMiCittc2dzdHIgIkNQVS1MaXN0ZSAlcyBrb25udGUgbmljaHQgZWluZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IGxpYi9wYXRoLmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzayAlcyIKK21zZ3N0ciAiQ1BVLU1hc2tlICVzIGtvbm50ZSBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbiIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MgorIywgZnV6enkKK21zZ2lkICJjYW4gbm90IG9wZW4gVU5JWCBzb2NrZXQiCittc2dzdHIgIktvbnNvbGUga2FubiBuaWNodCBnZcO2ZmZuZXQgd2VyZGVuLiIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3OAorIywgZnV6enkKK21zZ2lkICJjYW4gbm90IHNldCBvcHRpb24gZm9yIFVOSVggc29ja2V0IgorbXNnc3RyICJaZWl0w7xiZXJzY2hyZWl0dW5nIGbDvHIgJXMga29ubnRlIG5pY2h0IGZlc3RnZWxlZ3Qgd2VyZGVuIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjkxCisjLCBmdXp6eQorbXNnaWQgImNhbiBub3QgY29ubmVjdCBvbiBVTklYIHNvY2tldCIKK21zZ3N0ciAiS29uc29sZSBrYW5uIG5pY2h0IGdlw7ZmZm5ldCB3ZXJkZW4uIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGx5bW91dGggcmVxdWVzdCAlYyBpcyBub3QgaW1wbGVtZW50ZWQiCittc2dzdHIgIiIKKworIzogbGliL3JhbmR1dGlscy5jOjEzNgorbXNnaWQgImxpYmMgcHNldWRvLXJhbmRvbSBmdW5jdGlvbnMiCittc2dzdHIgIlBzZXVkb3p1ZmFsbHMtRnVua3Rpb25lbiBkZXIgbGliYyIKKworIzogbGliL3N3YXBwcm9iZXIuYzoxNyBsaWIvc3dhcHByb2Jlci5jOjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gcHJvYmUgZGV2aWNlIgorbXNnc3RyICIlczogR2Vyw6R0IGtvbm50ZSBuaWNodCB1bnRlcnN1Y2h0IHdlcmRlbiIKKworIzogbGliL3N3YXBwcm9iZXIuYzozMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYW1iaWd1b3VzIHByb2JpbmcgcmVzdWx0OyB1c2Ugd2lwZWZzKDgpIgorbXNnc3RyICIlczogbWVocmRldXRpZ2VzIFVudGVyc3VjaHVuZ3NlcmdlYm5pcywgdmVyd2VuZGVuIFNpZSB3aXBlZnMoOCkiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHZhbGlkIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICIlczoga2VpbmUgenVsw6Rzc2lnZSBBdXNsYWdlcnVuZ3NwYXJ0aXRpb24iCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuc3VwcG9ydGVkIHN3YXAgdmVyc2lvbiAnJXMnIgorbXNnc3RyICIlczogQXVzbGFnZXJ1bmdzdmVyc2lvbiDigJ4lc+KAnCB3aXJkIG5pY2h0IHVudGVyc3TDvHR6dCIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjkwIGxvZ2luLXV0aWxzL2Noc2guYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+XVxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSBbPEJlbnV0emVybmFtZT5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5MworbXNnaWQgIkNoYW5nZSB5b3VyIGZpbmdlciBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiSWhyZSBGaW5nZXItSW5mb3JtYXRpb24gw6RuZGVybi5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk2Cittc2dpZCAiIC1mLCAtLWZ1bGwtbmFtZSA8ZnVsbC1uYW1lPiAgcmVhbCBuYW1lXG4iCittc2dzdHIgIiAtZiwgLS1mdWxsLW5hbWUgPHZvbGxlciBOYW1lPiBSZWFsbmFtZVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTcKK21zZ2lkICIgLW8sIC0tb2ZmaWNlIDxvZmZpY2U+ICAgICAgICBvZmZpY2UgbnVtYmVyXG4iCittc2dzdHIgIiAtbywgLS1vZmZpY2UgPELDvHJvPiAgICAgICAgICAgQsO8cm9udW1tZXJcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk4Cittc2dpZCAiIC1wLCAtLW9mZmljZS1waG9uZSA8cGhvbmU+ICAgb2ZmaWNlIHBob25lIG51bWJlclxuIgorbXNnc3RyICIgLXAsIC0tb2ZmaWNlLXBob25lIDxUZWxlZm9uPiAgQsO8cm90ZWxlZm9ubnVtbWVyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OQorbXNnaWQgIiAtaCwgLS1ob21lLXBob25lIDxwaG9uZT4gICAgIGhvbWUgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiAtaCwgLS1ob21lLXBob25lIDxUZWxlZm9uPiAgICBIYXVzdGVsZWZvbm51bW1lclxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAxIGxvZ2luLXV0aWxzL2Noc2guYzo3OAorbXNnaWQgIiAtdSwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLXUsIC0taGVscCAgICAgICAgICAgICAgICAgICAgZGllc2UgSGlsZmUgYW56ZWlnZW4gdW5kIGJlZW5kZW5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICJmaWVsZCAlcyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiRmVsZCAlcyBpc3QgenUgbGFuZy4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMjEgbG9naW4tdXRpbHMvY2hzaC5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaGFzIGlsbGVnYWwgY2hhcmFjdGVycyIKK21zZ3N0ciAiJXM6IGVudGjDpGx0IHVuZ8O8bHRpZ2UgWmVpY2hlbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1MCBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW4uZGVmcyBmb3JiaWRzIHNldHRpbmcgJXMiCittc2dzdHIgImxvZ2luLmRlZnMgdmVyYmlldGV0IGRpZSBFaW5zdGVsbHVuZyAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTU4IGxvZ2luLXV0aWxzL2NoZm4uYzozMDkKK21zZ2lkICJPZmZpY2UiCittc2dzdHIgIkLDvHJvIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjQgbG9naW4tdXRpbHMvY2hmbi5jOjMxMQorbXNnaWQgIk9mZmljZSBQaG9uZSIKK21zZ3N0ciAiQsO8cm90ZWxlZm9uIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTY4IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzAgbG9naW4tdXRpbHMvY2hmbi5jOjMxMworbXNnaWQgIkhvbWUgUGhvbmUiCittc2dzdHIgIkhhdXN0ZWxlZm9uIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MjMzCittc2dpZCAiQWJvcnRlZC4iCittc2dzdHIgIkFiZ2Vicm9jaGVuLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBoYXMgdW5leHBlY3RlZCB2YWx1ZTogJXMiCittc2dzdHIgIiVzOiBDSEZOX1JFU1RSSUNUIGhhdCBlaW5lbiB1bmVyd2FydGV0ZW4gV2VydDogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgZG9lcyBub3QgYWxsb3cgYW55IGNoYW5nZXMiCittc2dzdHIgIiVzOiBDSEZOX1JFU1RSSUNUIGVybGF1YnQga2VpbmUgw4RuZGVydW5nZW4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuXG4iCittc2dzdHIgIkZpbmdlci1JbmZvcm1hdGlvbiAqTklDSFQqIGdlw6RuZGVydC4gVmVyc3VjaGVuIFNpZSBlcyBzcMOkdGVyIGVybmV1dC5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gY2hhbmdlZC5cbiIKK21zZ3N0ciAiRmluZ2VyLUluZm9ybWF0aW9uIGdlw6RuZGVydC5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQwOCBsb2dpbi11dGlscy9jaHNoLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdSAodXNlciAlZCkgZG9uJ3QgZXhpc3QuIgorbXNnc3RyICJTaWUgKEJlbnV0emVyICVkKSBzaW5kIG5pY2h0IHZvcmhhbmRlbi4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MTQgbG9naW4tdXRpbHMvY2hzaC5jOjI0OCBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBcIiVzXCIgZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICJCZW51dHplciDigJ4lc+KAnCBpc3QgbmljaHQgdm9yaGFuZGVuLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQyMCBsb2dpbi11dGlscy9jaHNoLmM6MjU0Cittc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMiCittc2dzdHIgIm51ciBsb2thbGUgRWludHLDpGdlIGvDtm5uZW4gZ2XDpG5kZXJ0IHdlcmRlbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIGZpbmdlciBpbmZvIG9mICVzIgorbXNnc3RyICIlcyBpc3QgbmljaHQgYXV0b3Jpc2llcnQsIGRpZSBGaW5nZXItSW5mb3JtYXRpb25lbiB2b24gJXMgenUgw6RuZGVybiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzNSBsb2dpbi11dGlscy9jaHNoLmM6MjcwCittc2dpZCAiVW5rbm93biB1c2VyIGNvbnRleHQiCittc2dzdHIgInVuYmVrYW5udGVyIEJlbnV0emVya29udGV4dCIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ0MSBsb2dpbi11dGlscy9jaHNoLmM6Mjc2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHNldCBkZWZhdWx0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICJlaW4gU3RhbmRhcmRrb250ZXh0IGbDvHIgJXMga2FubiBuaWNodCBmZXN0Z2VsZWd0IHdlcmRlbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MgorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIkxhdWZlbmRlIFVJRCBzdGltbXQgbmljaHQgbWl0IGRlciBVSUQgZGVzIHp1IMOkbmRlcm5kZW4gQmVudXR6ZXJzIMO8YmVyZWluLCDDhG5kZXJ1bmcgdmVyd2VpZ2VydCIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBmaW5nZXIgaW5mb3JtYXRpb24gZm9yICVzLlxuIgorbXNnc3RyICJGaW5nZXItSW5mb3JtYXRpb24gZsO8ciAlcyB3aXJkIGdlw6RuZGVydFxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBub3QgY2hhbmdlZC5cbiIKK21zZ3N0ciAiRmluZ2VyLUluZm9ybWF0aW9uIG5pY2h0IHZlcsOkbmRlcnRcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjcyCittc2dpZCAiQ2hhbmdlIHlvdXIgbG9naW4gc2hlbGwuXG4iCittc2dzdHIgIklocmUgQW5tZWxkZXNoZWxsIMOkbmRlcm4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBzcGVjaWZ5IGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8U2hlbGw+ICBBbm1lbGRlc2hlbGwgZmVzdGxlZ2VuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NgorbXNnaWQgIiAtbCwgLS1saXN0LXNoZWxscyAgICBwcmludCBsaXN0IG9mIHNoZWxscyBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdC1zaGVsbHMgICAgTGlzdGUgdm9uIFNoZWxscyBhdXNnZWJlbiB1bmQgYmVlbmRlblxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MTAwCittc2dpZCAiTm8ga25vd24gc2hlbGxzLiIKK21zZ3N0ciAiS2VpbmUgYmVrYW5udGVuIFNoZWxscy4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDAKK21zZ2lkICJzaGVsbCBtdXN0IGJlIGEgZnVsbCBwYXRoIG5hbWUiCittc2dzdHIgIlNoZWxsIG11c3MgZWluIHZvbGxlciBQZmFkbmFtZSBzZWluIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi4oCeJXPigJwgaXN0IG5pY2h0IHZvcmhhbmRlbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgaXMgbm90IGV4ZWN1dGFibGUiCittc2dzdHIgIuKAniVz4oCcIGlzdCBuaWNodCBhdXNmw7xocmJhciIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy4iCittc2dzdHIgIldhcm51bmc6IOKAniVz4oCcIGlzdCBuaWNodCBpbiAlcyBhdWZnZWxpc3RldC4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMTQgbG9naW4tdXRpbHMvY2hzaC5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuXG4iCisiVXNlICVzIC1sIHRvIHNlZSBsaXN0LiIKK21zZ3N0ciAiIgorIuKAniVz4oCcIGlzdCBuaWNodCBpbiAlcyBhdWZnZWxpc3RldC5cbiIKKyJWZXJ3ZW5kZW4gU2llIOKAniVzIC1s4oCcLCB1bSBkaWUgTGlzdGUgenUgYW56dXplaWdlbi4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBzaGVsbCBvZiAlcyIKK21zZ3N0ciAiJXMgaXN0IG5pY2h0IGF1dG9yaXNpZXJ0LCBkaWUgU2hlbGwgdm9uICVzIHp1IMOkbmRlcm4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyOTUKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICJMYXVmZW5kZSBVSUQgc3RpbW10IG5pY2h0IG1pdCBkZXIgVUlEIGRlcyB6dSDDpG5kZXJuZGVuIEJlbnV0emVycyDDvGJlcmVpbiwgU2hlbGwtw4RuZGVydW5nIHZlcndlaWdlcnQiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ciBzaGVsbCBpcyBub3QgaW4gJXMsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIklocmUgU2hlbGwgZmVobHQgaW4gJXMsIFNoZWxsLcOEbmRlcnVuZyB2ZXJ3ZWlnZXJ0IgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIHNoZWxsIGZvciAlcy5cbiIKK21zZ3N0ciAiU2hlbGwgZsO8ciAlcyDDpG5kZXJuLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzEyCittc2dpZCAiTmV3IHNoZWxsIgorbXNnc3RyICJOZXVlIFNoZWxsIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzIwCittc2dpZCAiU2hlbGwgbm90IGNoYW5nZWQuIgorbXNnc3RyICJTaGVsbCBuaWNodCBnZcOkbmRlcnQuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzI1Cittc2dpZCAiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIlNoZWxsICpOSUNIVCogZ2XDpG5kZXJ0LiBWZXJzdWNoZW4gU2llIGVzIHNww6R0ZXIgZXJuZXV0LiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyOQorbXNnaWQgIiIKKyJzZXRwd25hbSBmYWlsZWRcbiIKKyJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiIgorInNldHB3bmFtIGZlaGxnZXNjaGxhZ2VuXG4iCisiU2hlbGwgKk5JQ0hUKiBnZcOkbmRlcnQuIFZlcnN1Y2hlbiBTaWUgZXMgc3DDpHRlciBlcm5ldXQuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoZWxsIGNoYW5nZWQuXG4iCittc2dzdHIgIlNoZWxsIGdlw6RuZGVydC5cbiIKKworIzogbG9naW4tdXRpbHMvaXNsb2NhbC5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyA8cGFzc3dvcmRmaWxlPiA8dXNlcm5hbWU+Li4uXG4iCittc2dzdHIgIkF1ZnJ1ZjogJXMgPFBhc3N3b3J0ZGF0ZWk+IDxCZW51dHplcm5hbWU+IOKAplxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MTc0IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyMCBzeXMtdXRpbHMvZG1lc2cuYzoxMTkzCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB0aW1lIGZvcm1hdDogJXMiCittc2dzdHIgIlVuYmVrYW5udGVzIFplaXRmb3JtYXQ6ICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjgxIGxvZ2luLXV0aWxzL2xhc3QuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW50ZXJydXB0ZWQgJXMiCittc2dzdHIgIiVzIHVudGVyYnJvY2hlbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjQzOSBsb2dpbi11dGlscy9sYXN0LmM6NDUwCittc2dpZCAicHJlYWxsb2NhdGlvbiBzaXplIGV4Y2VlZGVkIgorbXNnc3RyICJHcsO2w59lIGbDvHIgVm9yenV3ZWlzdW5nIMO8YmVyc2Nocml0dGVuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT4uLi5dIFs8dHR5Pi4uLl1cbiIKK21zZ3N0ciAiICVzIFtPcHRpb25lbl0gWzxCZW51dHplcm5hbWU+IOKApl0gWzx0dHk+IOKApl1cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3MgorbXNnaWQgIlNob3cgYSBsaXN0aW5nIG9mIGxhc3QgbG9nZ2VkIGluIHVzZXJzLlxuIgorbXNnc3RyICJFaW5lIExpc3RlIGRlciB6dWxldHp0IGFuZ2VtZWxkZXRlbiBCZW51dHplciBhbnplaWdlbi5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NQorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiAtPEFuemFobD4gICAgICAgICAgICBBbnphaGwgYW56dXplaWdlbmRlciBaZWlsZW5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NgorbXNnaWQgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBkaXNwbGF5IGhvc3RuYW1lcyBpbiB0aGUgbGFzdCBjb2x1bW5cbiIKK21zZ3N0ciAiIC1hLCAtLWhvc3RsYXN0ICAgICAgIFJlY2huZXJuYW1lbiBpbiBkZXIgbGV0enRlbiBTcGFsdGUgYW56ZWlnZW5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NworbXNnaWQgIiAtZCwgLS1kbnMgICAgICAgICAgICB0cmFuc2xhdGUgdGhlIElQIG51bWJlciBiYWNrIGludG8gYSBob3N0bmFtZVxuIgorbXNnc3RyICIgLWQsIC0tZG5zICAgICAgICAgICAgSVAtTnVtbWVyIGluIGVpbmVuIFJlY2huZXJuYW1lbiB6dXLDvGNrw7xiZXJzZXR6ZW5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OQorIywgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgdXNlIGEgc3BlY2lmaWMgZmlsZSBpbnN0ZWFkIG9mICVzXG4iCittc2dzdHIgIiAtZiwgLS1maWxlIDxEYXRlaT4gICBlaW5lIGJlc3RpbW10ZSBEYXRlaSBhbnN0ZWxsZSB2b24gJXMgdmVyd2VuZGVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODAKK21zZ2lkICIgLUYsIC0tZnVsbHRpbWVzICAgICAgcHJpbnQgZnVsbCBsb2dpbiBhbmQgbG9nb3V0IHRpbWVzIGFuZCBkYXRlc1xuIgorbXNnc3RyICIgLUYsIC0tZnVsbHRpbWVzICAgICAgdm9sbHN0w6RuZGlnZSBBbm1lbGRlLSB1bmQgQWJtZWxkZXplaXRlbiB1bmQgLWRhdGVuIGF1c2dlYmVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODEKK21zZ2lkICIgLWksIC0taXAgICAgICAgICAgICAgZGlzcGxheSBJUCBudW1iZXJzIGluIG51bWJlcnMtYW5kLWRvdHMgbm90YXRpb25cbiIKK21zZ3N0ciAiIC1pLCAtLWlwICAgICAgICAgICAgIElQLU51bW1lcm4gaW4gTnVtbWVybi0gdW5kIFB1bmt0bm90YXRpb24gYW56ZWlnZW5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MgorbXNnaWQgIiAtbiwgLS1saW1pdCA8bnVtYmVyPiBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiAtbiwgLS1saW1pdCA8QW56YWhsPiBBbnphaGwgYW56dXplaWdlbmRlciBaZWlsZW5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MworbXNnaWQgIiAtUiwgLS1ub2hvc3RuYW1lICAgICBkb24ndCBkaXNwbGF5IHRoZSBob3N0bmFtZSBmaWVsZFxuIgorbXNnc3RyICIgLVIsIC0tbm9ob3N0bmFtZSAgICAgZGFzIFJlY2huZXJuYW1lbnNmZWxkIG5pY2h0IGFuemVpZ2VuIFxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg0Cittc2dpZCAiIC1zLCAtLXNpbmNlIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHNpbmNlIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLXMsIC0tc2luY2UgPFplaXQ+ICAgZGllIFplaWxlbiBzZWl0IGRlciBhbmdlZ2ViZW5lbiBaZWl0IGFuemVpZ2VuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODUKK21zZ2lkICIgLXQsIC0tdW50aWwgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgdW50aWwgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtdCwgLS11bnRpbCA8WmVpdD4gICBkaWUgWmVpbGVuIGJpcyB6dXIgYW5nZWdlYmVuZW4gWmVpdCBhbnplaWdlblxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg2Cittc2dpZCAiIC1wLCAtLXByZXNlbnQgPHRpbWU+IGRpc3BsYXkgd2hvIHdlcmUgcHJlc2VudCBhdCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIC1wLCAtLXByZXNlbnQgPFplaXQ+ICBkaWUgQW53ZXNlbmRlbiB6dXIgYW5nZWdlYmVuZW4gWmVpdCBhbnplaWdlblxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg3Cittc2dpZCAiIC13LCAtLWZ1bGxuYW1lcyAgICAgIGRpc3BsYXkgZnVsbCB1c2VyIGFuZCBkb21haW4gbmFtZXNcbiIKK21zZ3N0ciAiIC13LCAtLWZ1bGxuYW1lcyAgICAgIHZvbGxlIEJlbnV0emVyLSB1bmQgRG9tYWlubmFtZW4gYW56ZWlnZW5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OAorbXNnaWQgIiAteCwgLS1zeXN0ZW0gICAgICAgICBkaXNwbGF5IHN5c3RlbSBzaHV0ZG93biBlbnRyaWVzIGFuZCBydW4gbGV2ZWwgY2hhbmdlc1xuIgorbXNnc3RyICIiCisiIC14LCAtLXN5c3RlbSAgICAgICAgIEVpbnRyw6RnZSB6dW0gSGVydW50ZXJmYWhyZW4gZGVzIFN5c3RlbXMgdW5kIMOEbmRlcnVuZ2VuXG4iCisiICAgICAgICAgICAgICAgICAgICAgIGRlciBSdW4gTGV2ZWwgYW56ZWlnZW5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OQorbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wcyBpbiB0aGUgc3BlY2lmaWVkIDxmb3JtYXQ+OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpbWV8c2hvcnR8ZnVsbHxpc29cbiIKK21zZ3N0ciAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Rm9ybWF0PiAgWmVpdHN0ZW1wZWwgaW0gYW5nZWdlYmVuZW4gPEZvcm1hdD4gYW56ZWlnZW46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGltZXxzaG9ydHxmdWxsfGlzb1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6ODgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlcyBiZWdpbnMgJXMiCittc2dzdHIgIiIKKyJcbiIKKyIlcyBiZWdpbm50ICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTU2IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjQKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjgKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIgorbXNnc3RyICJFaW5sZXNlbiBkZXIgTnVtbWVyIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTc3IGxvZ2luLXV0aWxzL2xhc3QuYzo5ODIgbG9naW4tdXRpbHMvbGFzdC5jOjk4NworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lIHZhbHVlIFwiJXNcIiIKK21zZ3N0ciAidW5nw7xsdGlnZXIgWmVpdHdlcnQg4oCeJXPigJwiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzoyOSBsb2dpbi11dGlscy9saWJ1c2VyLmM6MzEKK21zZ2lkICJDb3VsZG4ndCBkcm9wIGdyb3VwIHByaXZpbGVnZXMiCittc2dzdHIgIkdydXBwZW5wcml2aWxlZ2llbiBrw7ZubmVuIG5pY2h0IGFiZ2VnZWJlbiB3ZXJkZW4iCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICJsaWJ1c2VyIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJXMuIgorbXNnc3RyICJsaWJ1c2VyLUluaXRpYWxpc2llcnVuZyBmZWhsZ2VzY2hsYWdlbjogJXMuIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTIKK21zZ2lkICJjaGFuZ2luZyB1c2VyIGF0dHJpYnV0ZSBmYWlsZWQiCittc2dzdHIgIsOEbmRlcm4gZGVzIEJlbnV0emVyYXR0cmlidXRzIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjY2CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgYXR0cmlidXRlIG5vdCBjaGFuZ2VkOiAlcyIKK21zZ3N0ciAiQmVudXR6ZXJhdHRyaWJ1dCB3dXJkZSBuaWNodCBnZcOkbmRlcnQ6ICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAldSBpcyA2MC4KKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTgwCisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWVkIG91dCBhZnRlciAldSBzZWNvbmRzIgorbXNnc3RyICJaZWl0IMO8YmVyc2Nocml0dGVuIG5hY2ggJXUgU2VrdW5kZW4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiBjYW4ndCByZW9wZW4gdHR5OiAlbSIKK21zZ3N0ciAiRkFUQUw6IHR0eSBrYW5uIG5pY2h0IGVybmV1dCBnZcO2ZmZuZXQgd2VyZGVuOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzIGlzIG5vdCBhIHRlcm1pbmFsIgorbXNnc3RyICJGQVRBTDogJXMgaXN0IGtlaW4gVGVybWluYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzEwCisjLCBjLWZvcm1hdAorbXNnaWQgImNob3duICglcywgJWx1LCAlbHUpIGZhaWxlZDogJW0iCittc2dzdHIgImNob3duICglcywgJWx1LCAlbHUpIGZlaGxnZXNjaGxhZ2VuOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2htb2QgKCVzLCAldSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2htb2QgKCVzLCAldSkgZmVobGdlc2NobGFnZW46ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM3NQorbXNnaWQgIkZBVEFMOiBiYWQgdHR5IgorbXNnc3RyICJGQVRBTDogdW5nw7xsdGlnZXMgVFRZIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXM6IGNoYW5nZSBwZXJtaXNzaW9ucyBmYWlsZWQ6ICVtIgorbXNnc3RyICJGQVRBTDogJXM6IMOEbmRlcm4gdm9uIEJlcmVjaHRpZ3VuZ2VuIGZlaGxnZXNjaGxhZ2VuOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBsb2dpbjogJS4qcyAiCittc2dzdHIgIkxldHp0ZSBBbm1lbGR1bmc6ICUuKnMgIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUzMQorIywgYy1mb3JtYXQKK21zZ2lkICJmcm9tICUuKnNcbiIKK21zZ3N0ciAidm9uICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAib24gJS4qc1xuIgorbXNnc3RyICJhdWYgJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjU1MgorbXNnaWQgIndyaXRlIGxhc3Rsb2cgZmFpbGVkIgorbXNnc3RyICJTY2hyZWliZW4gdm9uIGxhc3Rsb2cgZmVobGdlc2NobGFnZW4iCisKKyMgRGFzIGdlaHQgaW5zIFN5c2xvZyDigJMgaWNoIMO8YmVyc2V0emUgZXMgbmljaHQuIChNUGkpCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJESUFMVVAgQVQgJXMgQlkgJXMiCittc2dzdHIgIlZFUkJJTkRVTkdTQVVGQkFVIEJFSSAlcyBEVVJDSCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyBGUk9NICVzIgorbXNnc3RyICJST09ULUFOTUVMRFVORyBBVUYgJXMgVk9OICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2MAorIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIgorbXNnc3RyICJST09ULUFOTUVMRFVORyBBVUYgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIEZST00gJXMiCittc2dzdHIgIkFOTUVMRFVORyBBTiAlcyBEVVJDSCAlcyBWT04gJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIgorbXNnc3RyICJBTk1FTERVTkcgQU4gJXMgRFVSQ0ggJXMiCisKKyMgdW50ZW4gbm9jaG1hbCBtaXQgTkwKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE5Cittc2dpZCAibG9naW46ICIKK21zZ3N0ciAiQW5tZWxkdW5nOiAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIlBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCittc2dzdHIgIlBBTS1GZWhsZnVua3Rpb24sIHdpcmQgYWJnZWJyb2NoZW46ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc0NgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZG4ndCBpbml0aWFsaXplIFBBTTogJXMiCittc2dzdHIgIlBBTSBrb25udGUgbmljaHQgaW5pdGlhbGlzaWVydCB3ZXJkZW46ICVzIgorCisjIERhcyBnZWh0IGlucyBTeXNsb2cg4oCTIGljaCDDvGJlcnNldHplIGVzIG5pY2h0LiAoTVBpKQorIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOICV1IEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiQU5NRUxEVU5HICV1IFZPTiAlcyBGw5xSICVzLCAlcyBGRUhMR0VTQ0hMQUdFTiIKKworIyB1bnRlbiBub2NoIHp3ZWkgbWFsIG1pdCBhbmRlcmVuIE5MCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgyNSBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTG9naW4gaW5jb3JyZWN0XG4iCisiXG4iCittc2dzdHIgIiIKKyJBbm1lbGR1bmcgZmFsc2NoXG4iCisiXG4iCisKKyMgRGFzIGdlaHQgaW5zIFN5c2xvZyDigJMgaWNoIMO8YmVyc2V0emUgZXMgbmljaHQuIChNUGkpCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg0MAorIywgYy1mb3JtYXQKK21zZ2lkICJUT08gTUFOWSBMT0dJTiBUUklFUyAoJXUpIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiWlUgVklFTEUgQU5NRUxERVZFUlNVQ0hFICgldSkgVk9OICVzIEbDnFIgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg0NgorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gU0VTU0lPTiBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIkFOTUVMREVTSVRaVU5HIFZPTiAlcyBGw5xSICVzLCAlcyBGRUhMR0VTQ0hMQUdFTiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxvZ2luIGluY29ycmVjdFxuIgorbXNnc3RyICIiCisiXG4iCisiQW5tZWxkdW5nIGZhbHNjaFxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg4MiBsb2dpbi11dGlscy9sb2dpbi5jOjEyMzIgbG9naW4tdXRpbHMvbG9naW4uYzoxMjU1Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gc2V0dXAgcHJvYmxlbSwgYWJvcnQuIgorbXNnc3RyICIiCisiXG4iCisiU2l0enVuZ3NlaW5yaWNodHVuZ3Nwcm9ibGVtLCBBYmJydWNoLiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVMTCB1c2VyIG5hbWUgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiTEVFUkVSIEJlbnV0emVybmFtZSBpbiAlczolZC4gQWJicnVjaC4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAyMAorIywgYy1mb3JtYXQKK21zZ2lkICJUSU9DU0NUVFkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiVElPQ1NDVFRZIGZlaGxnZXNjaGxhZ2VuOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTc0CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luOiAtaCBpcyBmb3Igc3VwZXJ1c2VyIG9ubHlcbiIKK21zZ3N0ciAiQW5tZWxkdW5nOiAtaCBpc3QgbnVyIGbDvHIgZGVuIEFkbWluaXN0cmF0b3IgenVsw6Rzc2lnLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6IGxvZ2luIFstcF0gWy1oIDxob3N0Pl0gWy1IXSBbWy1mXSA8dXNlcm5hbWU+XVxuIgorbXNnc3RyICJBdWZydWY6IGxvZ2luIFstcF0gWy1oIDxSZWNobmVyPl0gWy1IXSBbWy1mXSA8QmVudXR6ZXJuYW1lPl1cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTkxCittc2dpZCAiQmVnaW4gYSBzZXNzaW9uIG9uIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIkVpbmUgU2l0enVuZyBhdWYgZGVtIFN5c3RlbSBzdGFydGVuLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB1c2VyIG5hbWUgXCIlc1wiIGluICVzOiVkLiBBYm9ydC4iCittc2dzdHIgIlVuZ8O8bHRpZ2VyIEJlbnV0emVybmFtZSDigJ4lc+KAnCBpbiAlczolZC4gQWJicnVjaC4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJncm91cHMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiR3J1cHBlbmluaXRpYWxpc2llcnVuZyBmZWhsZ2VzY2hsYWdlbjogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI3OQorbXNnaWQgInNldGdpZCgpIGZhaWxlZCIKK21zZ3N0ciAic2V0Z2lkKCkgZmVobGdlc2NobGFnZW4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMwOQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBuZXcgbWFpbC5cbiIKK21zZ3N0ciAiU2llIGhhYmVuIG5ldWUgRS1NYWlsLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbWFpbC5cbiIKK21zZ3N0ciAiU2llIGhhYmVuIEUtTWFpbC5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzI1Cittc2dpZCAic2V0dWlkKCkgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBmZWhsZ2VzY2hsYWdlbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzMxIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNoYW5nZSBkaXJlY3RvcnkgZmFpbGVkIgorbXNnc3RyICIlczogVmVyemVpY2huaXN3ZWNoc2VsIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzggbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczOQorIywgYy1mb3JtYXQKK21zZ2lkICJMb2dnaW5nIGluIHdpdGggaG9tZSA9IFwiL1wiLlxuIgorbXNnc3RyICJXaXJkIGFuZ2VtZWxkZXQgbWl0IEhlaW1hdHZlcnplaWNobmlzID0g4oCeL+KAnC5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzY3Cittc2dpZCAiY291bGRuJ3QgZXhlYyBzaGVsbCBzY3JpcHQiCittc2dzdHIgIlNoZWxsc2tpcHQga29ubnRlIG5pY2h0IGF1c2dlZsO8aHJ0IHdlcmRlbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzY5Cittc2dpZCAibm8gc2hlbGwiCittc2dzdHIgImtlaW5lIFNoZWxsIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGNvbnRhaW5zIGludmFsaWQgbnVtZXJpY2FsIHZhbHVlOiAlcyIKK21zZ3N0ciAiJXM6ICVzIGVudGjDpGx0IHVuZ8O8bHRpZ2VuIFphaGxlbndlcnQ6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzozNzUKK21zZ2lkICJodXNoIGxvZ2luIHN0YXR1czogcmVzdG9yZSBvcmlnaW5hbCBJRHMgZmFpbGVkIgorbXNnc3RyICJTdGF0dXMgc3RpbGxlIEFubWVsZHVuZzogV2llZGVyaGVyc3RlbGx1bmcgZGVyIHVyc3Byw7xuZ2xpY2hlbiBJRHMgZ2VzY2hlaXRlcnQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA4IHN5cy11dGlscy9sc2NwdS5jOjE1NDAgc3lzLXV0aWxzL2xzY3B1LmM6MTU1MAorbXNnaWQgIm5vIgorbXNnc3RyICJuZWluIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNyBtaXNjLXV0aWxzL2xzYmxrLmM6MTgxCittc2dpZCAidXNlciBuYW1lIgorbXNnc3RyICJCZW51dHplcm5hbWUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3Cittc2dpZCAiVXNlcm5hbWUiCittc2dzdHIgIkJlbnV0emVybmFtZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTggc3lzLXV0aWxzL3JlbmljZS5jOjU0Cittc2dpZCAidXNlciBJRCIKK21zZ3N0ciAiQmVudXR6ZXJrZW5udW5nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgInBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAiUGFzc3dvcnQgbmljaHQgZXJmb3JkZXJsaWNoIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgIlBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAiUGFzc3dvcnQgbmljaHQgZXJmb3JkZXJsaWNoIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorbXNnaWQgImxvZ2luIGJ5IHBhc3N3b3JkIGRpc2FibGVkIgorbXNnc3RyICJBbm1lbGR1bmcgbWl0IFBhc3N3b3J0IGlzdCBkZWFrdGl2aWVydCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKK21zZ2lkICJMb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAiQW5tZWxkdW5nIG1pdCBQYXNzd29ydCBpc3QgZGVha3RpdmllcnQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCittc2dpZCAicGFzc3dvcmQgZGVmaW5lZCwgYnV0IGxvY2tlZCIKK21zZ3N0ciAiUGFzc3dvcnQgZGVmaW5pZXJ0LCBhYmVyIGdlc3BlcnJ0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgIlBhc3N3b3JkIGlzIGxvY2tlZCIKK21zZ3N0ciAiUGFzc3dvcnQgaXN0IGdlc3BlcnJ0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorbXNnaWQgImxvZyBpbiBkaXNhYmxlZCBieSBub2xvZ2luKDgpIG9yIHBhbV9ub2xvZ2luKDgpIgorbXNnc3RyICJBbm1lbGR1bmcgZHVyY2ggbm9sb2dpbig4KSBvZGVyIHBhbV9ub2xvZ2luKDgpIGRlYWt0aXZpZXJ0IgorCisjIHVudGVuIG5vY2htYWwgbWl0IE5MCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorbXNnaWQgIk5vIGxvZ2luIgorbXNnc3RyICJLZWluZSBBbm1lbGR1bmciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCittc2dpZCAicHJpbWFyeSBncm91cCBuYW1lIgorbXNnc3RyICJQcmltw6RyZXIgR3J1cHBlbm5hbWUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCittc2dpZCAiUHJpbWFyeSBncm91cCIKK21zZ3N0ciAiUHJpbcOkcmUgR3J1cHBlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNAorbXNnaWQgInByaW1hcnkgZ3JvdXAgSUQiCittc2dzdHIgIlByaW3DpHJlIEdydXBwZW4tSUQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBuYW1lcyIKK21zZ3N0ciAiWnVzw6R0emxpY2hlIEdydXBwZW5uYW1lbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiWnVzw6R0emxpY2hlIEdydXBwZW4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIlp1c8OkdHpsaWNoZSBHcnVwcGVuLUlEcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiWnVzw6R0emxpY2hlIEdydXBwZW4tSURzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworbXNnaWQgImhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICJIb21lLVZlcnplaWNobmlzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworbXNnaWQgIkhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICJIb21lLVZlcnplaWNobmlzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorbXNnaWQgImxvZ2luIHNoZWxsIgorbXNnc3RyICJBbm1lbGRlc2hlbGwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4Cittc2dpZCAiU2hlbGwiCittc2dzdHIgIlNoZWxsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgImZ1bGwgdXNlciBuYW1lIgorbXNnc3RyICJWb2xsc3TDpG5kaWdlciBCZW51dHplcm5hbWUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiR2Vjb3MgZmllbGQiCittc2dzdHIgIkdlY29zLUZlbGQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiZGF0ZSBvZiBsYXN0IGxvZ2luIgorbXNnc3RyICJEYXR1bSBkZXIgbGV0enRlbiBBbm1lbGR1bmciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiTGFzdCBsb2dpbiIKK21zZ3N0ciAiTGV0enRlIEFubWVsZHVuZyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJsYXN0IHR0eSB1c2VkIgorbXNnc3RyICJ6dWxldHp0IHZlcndlbmRldGVzIHR0eSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJMYXN0IHRlcm1pbmFsIgorbXNnc3RyICJMZXR6dGVzIFRlcm1pbmFsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorbXNnaWQgImhvc3RuYW1lIGR1cmluZyB0aGUgbGFzdCBzZXNzaW9uIgorbXNnc3RyICJSZWNobmVybmFtZSB3w6RocmVuZCBkZXIgbGV0enRlbiBTaXR6dW5nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorbXNnaWQgIkxhc3QgaG9zdG5hbWUiCittc2dzdHIgIkxldHp0ZXIgUmVjaG5lcm5hbWUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiZGF0ZSBvZiBsYXN0IGZhaWxlZCBsb2dpbiIKK21zZ3N0ciAiRGF0dW0gZGVyIGxldHp0ZW4gZmVobGdlc2NobGFnZW5lbiBBbm1lbGR1bmciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiRmFpbGVkIGxvZ2luIgorbXNnc3RyICJGZWhsZ2VzY2hsYWdlbmUgQW5tZWxkdW5nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorbXNnaWQgIndoZXJlIGRpZCB0aGUgbG9naW4gZmFpbD8iCittc2dzdHIgIldhcnVtIHNjaGx1ZyBkaWUgQW5tZWxkdW5nIGZlaGw/IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorbXNnaWQgIkZhaWxlZCBsb2dpbiB0ZXJtaW5hbCIKK21zZ3N0ciAiVGVybWluYWwgZGVyIGZlaGxnZXNjaGxhZ2VuZW4gQW5tZWxkdW5nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgInVzZXIncyBodXNoIHNldHRpbmdzIgorbXNnc3RyICJCZW51dHplcmVpbnN0ZWxsdW5nZW4gZsO8ciBzdGlsbGUgQW5tZWxkdW5nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgIkh1c2hlZCIKK21zZ3N0ciAiU3RpbGwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiZGF5cyB1c2VyIGlzIHdhcm5lZCBvZiBwYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICJUYWdlIGRlciBXYXJudW5nIGRlcyBCZW51dHplcnMsIGJldm9yIGRhcyBQYXNzd29ydCBhYmzDpHVmdCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzYKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIHdhcm4gaW50ZXJ2YWwiCittc2dzdHIgIldhcm5pbnRlcnZhbGwgdm9yIFBhc3N3b3J0YWJsYXVmIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgInBhc3N3b3JkIGV4cGlyYXRpb24gZGF0ZSIKK21zZ3N0ciAiUGFzc3dvcnQtQWJsYXVmZGF0dW0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAiUGFzc3dvcnRhYmxhdWYiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4Cittc2dpZCAiZGF0ZSBvZiBsYXN0IHBhc3N3b3JkIGNoYW5nZSIKK21zZ3N0ciAiRGF0dW0gZGVyIGxldHp0ZW4gUGFzc3dvcnTDpG5kZXJ1bmciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4Cittc2dpZCAiUGFzc3dvcmQgY2hhbmdlZCIKK21zZ3N0ciAiUGFzc3dvcnQgZ2XDpG5kZXJ0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIm51bWJlciBvZiBkYXlzIHJlcXVpcmVkIGJldHdlZW4gY2hhbmdlcyIKK21zZ3N0ciAiQW56YWhsIGRlciBUYWdlIHp3aXNjaGVuIMOEbmRlcnVuZ2VuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIk1pbmltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIk1pbmltYWxlIMOEbmRlcnVuZ3N6ZWl0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZGF5cyBhIHBhc3N3b3JkIG1heSByZW1haW4gdW5jaGFuZ2VkIgorbXNnc3RyICJNYXhpbWFsZSBBbnphaGwgZGVyIFRhZ2UsIGRpZSBlaW4gUGFzc3dvcnQgdW52ZXLDpG5kZXJ0IGJsZWliZW4gZGFyZiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKK21zZ2lkICJNYXhpbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICJNYXhpbWFsZSDDhG5kZXJ1bmdzemVpdCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJ0aGUgdXNlcidzIHNlY3VyaXR5IGNvbnRleHQiCittc2dzdHIgIlNpY2hlcmhlaXRza29udGV4dCBkZXMgQmVudXR6ZXJzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgIlNlbGludXggY29udGV4dCIKK21zZ3N0ciAiU2VsaW51eC1Lb250ZXh0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgcnVuIGJ5IHRoZSB1c2VyIgorbXNnc3RyICJBbnphaGwgZGVyIHZvbSBCZW51dHplciBhdXNnZWbDvGhydGVuIFByb3plc3NlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorbXNnaWQgIlJ1bm5pbmcgcHJvY2Vzc2VzIgorbXNnc3RyICJMYXVmZW5kZSBQcm96ZXNzZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyODggbWlzYy11dGlscy9maW5kbW50LmM6MTM2IG1pc2MtdXRpbHMvbHNibGsuYzoyMzEKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBjb2x1bW5zIHNwZWNpZmllZCwgdGhlIGxpbWl0IGlzICV6dSBjb2x1bW5zIgorbXNnc3RyICJadSB2aWVsZSBTcGFsdGVuIGFuZ2VnZWJlbiwgTGltaXQgc2luZCAlenUgU3BhbHRlbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDMgc3lzLXV0aWxzL2xzaXBjLmM6NDU2Cittc2dpZCAidW5zdXBwb3J0ZWQgdGltZSB0eXBlIgorbXNnc3RyICJuaWNodCB1bnRlcnN0w7x0enRlciBaZWl0dHlwIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY29tcG9zZSB0aW1lIHN0cmluZyIKK21zZ3N0ciAiRmVobGVyIGJlaW0gRWlubGVzZW4gdm9uIC0tdGltZW91dCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo2NDgKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICJadXPDpHR6bGljaGUgR3J1cHBlbiBrb25udGVuIG5pY2h0IGVybWl0dGVsdCB3ZXJkZW4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA3MQorbXNnaWQgImludGVybmFsIGVycm9yOiB1bmtub3duIGNvbHVtbiIKK21zZ3N0ciAiaW50ZXJuZXIgRmVobGVyOiB1bmJla2FubnRlIFNwYWx0ZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDc1IHN5cy11dGlscy9sc2lwYy5jOjUwMyBzeXMtdXRpbHMvbHNpcGMuYzo2MjUKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY4MCBzeXMtdXRpbHMvbHNpcGMuYzo4Mzggc3lzLXV0aWxzL2xzaXBjLmM6MTAzNgorbXNnaWQgImZhaWxlZCB0byBzZXQgZGF0YSIKK21zZ3N0ciAiRGF0ZW4ga8O2bm5lbiBuaWNodCBmZXN0Z2VsZWd0IHdlcmRlbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMYXN0IGxvZ3M6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJMZXR6dGUgUHJvdG9rb2xsZTpcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjI4IGxvZ2luLXV0aWxzL25vbG9naW4uYzoyNgorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTAxIG1pc2MtdXRpbHMvbWNvb2tpZS5jOjgyIG1pc2MtdXRpbHMvdXVpZGQuYzo3MAorIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjUgc3lzLXV0aWxzL2RtZXNnLmM6MjY0IHN5cy11dGlscy9pcGNtay5jOjY2CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTYwIHN5cy11dGlscy9sc2lwYy5jOjI3NyBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDQKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6OTUgdGVybS11dGlscy9zZXR0ZXJtLmM6MzgwIHRleHQtdXRpbHMvbGluZS5jOjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiICVzIFtPcHRpb25lbl1cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMxCittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBrbm93biB1c2VycyBpbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICJJbmZvcm1hdGlvbmVuIMO8YmVyIGRpZSBiZWthbm50ZW4gQmVudXR6ZXIgaW0gU3lzdGVtIGFuemVpZ2VuLlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzQKK21zZ2lkICIgLWEsIC0tYWNjLWV4cGlyYXRpb24gICAgIGRpc3BsYXkgaW5mbyBhYm91dCBwYXNzd29yZHMgZXhwaXJhdGlvblxuIgorbXNnc3RyICIgLWEsIC0tYWNjLWV4cGlyYXRpb24gICAgIEluZm8genVtIEFibGF1ZmVuIGRlcyBQYXNzd29ydHMgYW56ZWlnZW5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM1Cittc2dpZCAiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICBkaXNwbGF5IGRhdGEgaW4gYSBmb3JtYXQgc2ltaWxhciB0byAvZXRjL3Bhc3N3ZFxuIgorbXNnc3RyICIgLWMsIC0tY29sb24tc2VwYXJhdGUgICAgIERhdGVuIGluIGVpbmVtIEZvcm1hdCB3aWUgaW4gL2V0Yy9wYXNzd2QgYW56ZWlnZW5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM2IHN5cy11dGlscy9sc2lwYy5jOjI5NgorbXNnaWQgIiAtZSwgLS1leHBvcnQgICAgICAgICAgICAgZGlzcGxheSBpbiBhbiBleHBvcnQtYWJsZSBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtZSwgLS1leHBvcnQgICAgICAgICAgICAgaW4gZWluZW0gZXhwb3J0aWVyYmFyZW4gQXVzZ2FiZWZvcm1hdCBhbnplaWdlblxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzcKK21zZ2lkICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIGRpc3BsYXkgZGF0YSBhYm91dCB0aGUgdXNlcnMnIGxhc3QgZmFpbGVkIGxvZ2luc1xuIgorbXNnc3RyICIiCisiIC1mLCAtLWZhaWxlZCAgICAgICAgICAgICBEYXRlbiB6dSBkZW4gbGV0enRlbiBmZWhsZ2VzY2hsYWdlbmVuIEFubWVsZHVuZ2VuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcyBCZW51dHplcnMgYW56ZWlnZW5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM4Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGdyb3Vwc1xuIgorbXNnc3RyICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgIEluZm9ybWF0aW9uZW4genUgR3J1cHBlbiBhbnplaWdlblxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzkKK21zZ2lkICIgLWcsIC0tZ3JvdXBzPTxncm91cHM+ICAgIGRpc3BsYXkgdXNlcnMgYmVsb25naW5nIHRvIGEgZ3JvdXAgaW4gPGdyb3Vwcz5cbiIKK21zZ3N0ciAiIC1nLCAtLWdyb3Vwcz08R3J1cHBlbj4gICBCZW51dHplciBhbnplaWdlbiwgZGllIHp1IGVpbmVyIGRlciA8R3J1cHBlbj4gZ2Vow7ZyZW5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQwCittc2dpZCAiIC1MLCAtLWxhc3QgICAgICAgICAgICAgICBzaG93IGluZm8gYWJvdXQgdGhlIHVzZXJzJyBsYXN0IGxvZ2luIHNlc3Npb25zXG4iCittc2dzdHIgIiIKKyIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIEluZm9ybWF0aW9uIHp1IGRlbiBsZXR6dGVuIEFubWVsZGVzaXR6dW5nZW4gZGVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlbnV0emVycyBhbnplaWdlblxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDEKK21zZ2lkICIgLWwsIC0tbG9naW5zPTxsb2dpbnM+ICAgIGRpc3BsYXkgb25seSB1c2VycyBmcm9tIDxsb2dpbnM+XG4iCittc2dzdHIgIiIKKyIgLWwsIC0tbG9naW5zPTxBbm1lbGR1bmdlbj5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIE51ciBCZW51dHplciBhdXMgPEFubWVsZHVuZ2VuPiBhbnplaWdlblxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDIgc3lzLXV0aWxzL2xzaXBjLmM6Mjk4Cittc2dpZCAiIC1uLCAtLW5ld2xpbmUgICAgICAgICAgICBkaXNwbGF5IGVhY2ggcGllY2Ugb2YgaW5mb3JtYXRpb24gb24gYSBuZXcgbGluZVxuIgorbXNnc3RyICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGplZGUgSW5mb3JtYXRpb24gaW4gZWluZXIgbmV1ZW4gWmVpbGUgYW56ZWlnZW5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQzIHN5cy11dGlscy9sc2lwYy5jOjI5MQorbXNnaWQgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBrZWluZSDDnGJlcnNjaHJpZnRlbiBhbnplaWdlblxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDQgc3lzLXV0aWxzL2xzaXBjLmM6MjkyCittc2dpZCAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBkb24ndCB0cnVuY2F0ZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBBdXNnYWJlIG5pY2h0IGvDvHJ6ZW5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMAorbXNnaWQgIiAtbywgLS1vdXRwdXRbPTxsaXN0Pl0gICAgZGVmaW5lIHRoZSBjb2x1bW5zIHRvIG91dHB1dFxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxMaXN0ZT4gICAgIGRpZSB6dSB2ZXJ3ZW5kZW5kZW4gQXVzZ2FiZXNwYWx0ZW4gZmVzdGxlZ2VuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NgorbXNnaWQgIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGxvZ2luIGJ5IHBhc3N3b3JkLlxuIgorbXNnc3RyICIgLXAsIC0tcHdkICAgICAgICAgICAgICAgIEFubWVsZGVpbmZvcm1hdGlvbmVuIG5hY2ggUGFzc3dvcnQgYW56ZWlnZW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NyBzeXMtdXRpbHMvbHNpcGMuYzozMDIKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIGRpc3BsYXkgaW4gcmF3IG1vZGVcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICBBbnplaWdlIGltIFJvaG1vZHVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OAorbXNnaWQgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAgZGlzcGxheSBzeXN0ZW0gYWNjb3VudHNcbiIKK21zZ3N0ciAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICBTeXN0ZW1iZW51dHplcmtvbnRlbiBhbnplaWdlblxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDkgc3lzLXV0aWxzL2xzaXBjLmM6MjkzCittc2dpZCAiICAgICAtLXRpbWUtZm9ybWF0PTx0eXBlPiBkaXNwbGF5IGRhdGVzIGluIHNob3J0LCBmdWxsIG9yIGlzbyBmb3JtYXRcbiIKK21zZ3N0ciAiIgorIiAgICAgLS10aW1lLWZvcm1hdD08VHlwPiAgRGF0dW0vWmVpdCBpbiBrdXJ6ZW0sIHZvbGxzdMOkbmRpZ2VtIG9kZXJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNPLUZvcm1hdCBhbnplaWdlblxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTAKK21zZ2lkICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIGRpc3BsYXkgdXNlciBhY2NvdW50c1xuIgorbXNnc3RyICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIEJlbnV0emVya29udGVuIGFuemVpZ2VuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MQorbXNnaWQgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgZGlzcGxheSBTRUxpbnV4IGNvbnRleHRzXG4iCittc2dzdHIgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgU0VMaW51eC1Lb250ZXh0IGFuemVpZ2VuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MgorbXNnaWQgIiAteiwgLS1wcmludDAgICAgICAgICAgICAgZGVsaW1pdCB1c2VyIGVudHJpZXMgd2l0aCBhIG51bCBjaGFyYWN0ZXJcbiIKK21zZ3N0ciAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBCZW51dHplcmVpbnRyw6RnZSBtaXQgZWluZW0gbnVsLVplaWNoZW4gdHJlbm5lblxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTMKK21zZ2lkICIgICAgIC0td3RtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3Igd3RtcFxuIgorbXNnc3RyICIgICAgIC0td3RtcC1maWxlIDxQZmFkPiAgIGFsdGVybmF0aXZlbiBQZmFkIGbDvHIgd3RtcCBmZXN0bGVnZW5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjU0Cittc2dpZCAiICAgICAtLWJ0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIGJ0bXBcbiIKK21zZ3N0ciAiICAgICAtLWJ0bXAtZmlsZSA8UGZhZD4gICBhbHRlcm5hdGl2ZW4gUGZhZCBmw7xyIGJ0bXAgZmVzdGxlZ2VuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1OSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ3IHN5cy11dGlscy9sc2NwdS5jOjE5NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisiXG4iCisiVmVyZsO8Z2JhcmUgU3BhbHRlbjpcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDQyCittc2dpZCAiZmFpbGVkIHRvIHJlcXVlc3Qgc2VsaW51eCBzdGF0ZSIKK21zZ3N0ciAiRXJtaXR0ZWxuIGRlcyBTRUxpbnV4LVN0YXR1cyBmZWhsZ2VzY2hsYWdlbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDU2IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ2MAorbXNnaWQgIk9ubHkgb25lIHVzZXIgbWF5IGJlIHNwZWNpZmllZC4gVXNlIC1sIGZvciBtdWx0aXBsZSB1c2Vycy4iCittc2dzdHIgIkVzIGthbm4gbnVyIGVpbiBCZW51dHplciBhbmdlZ2ViZW4gd2VyZGVuLiBWZXJ3ZW5kZW4gU2llIC1sIGbDvHIgbWVocmVyZSBCZW51dHplci4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjU1Cittc2dpZCAiY291bGQgbm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJUZXJtaW5hbC1BdHRyaWJ1dGUga29ubnRlbiBuaWNodCBnZXNldHp0IHdlcmRlbiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTcKK21zZ2lkICJnZXRsaW5lKCkgZmFpbGVkIgorbXNnc3RyICJnZXRsaW5lKCkgZmVobGdlc2NobGFnZW4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE0OAorbXNnaWQgIlBhc3N3b3JkOiAiCittc2dzdHIgIlBhc3N3b3J0OiAiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE1NCBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAwNQorbXNnaWQgImNyeXB0IGZhaWxlZCIKK21zZ3N0ciAiY3J5cHQgZmVobGdlc2NobGFnZW4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE2NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGdyb3VwPlxuIgorbXNnc3RyICIgJXMgPEdydXBwZT5cbiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTY5Cittc2dpZCAiTG9nIGluIHRvIGEgbmV3IGdyb3VwLlxuIgorbXNnc3RyICJJbiBlaW5lciBuZXVlbiBHcnVwcGUgYW5tZWxkZW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIwNworbXNnaWQgIndobyBhcmUgeW91PyIKK21zZ3N0ciAiV2VyIHNpbmQgU2llPyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjExIGxvZ2luLXV0aWxzL25ld2dycC5jOjIyMyBzeXMtdXRpbHMvbnNlbnRlci5jOjQyMworbXNnaWQgInNldGdpZCBmYWlsZWQiCittc2dzdHIgInNldGdpZCBmZWhsZ2VzY2hsYWdlbiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjE2IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxOAorbXNnaWQgIm5vIHN1Y2ggZ3JvdXAiCittc2dzdHIgImtlaW5lIHNvbGNoZSBHcnVwcGUiCisKKyMgIm1vdW50OiBadWdyaWZmIHZlcndlaWdlcnQiCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjEgc3lzLXV0aWxzL21vdW50LmM6NDkxCittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQiCittc2dzdHIgIlp1Z3JpZmYgdmVyd2VpZ2VydCIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI3IHN5cy11dGlscy9uc2VudGVyLmM6NDI1Cittc2dpZCAic2V0dWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjkKK21zZ2lkICJQb2xpdGVseSByZWZ1c2UgYSBsb2dpbi5cbiIKK21zZ3N0ciAiRWluZW4gQW5tZWxkZXZlcnN1Y2ggaMO2ZmxpY2ggYWJsZWhuZW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGlzIGFjY291bnQgaXMgY3VycmVudGx5IG5vdCBhdmFpbGFibGUuXG4iCittc2dzdHIgIkRpZXNlcyBLb250byBpc3QgbW9tZW50YW4gbmljaHQgdmVyZsO8Z2Jhci5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIHNlc3Npb246ICVzIgorbXNnc3RyICJTaXR6dW5nIGtvbm50ZSBuaWNodCBnZcO2ZmZuZXQgd2VyZGVuOiAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzA0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBjaGlsZCBwcm9jZXNzIgorbXNnc3RyICJLaW5kcHJvemVzcyBrb25udGUgbmljaHQgZXJ6ZXVndCB3ZXJkZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAiVmVyemVpY2huaXMga2FubiBuaWNodCBuYWNoICVzIGdld2VjaHNlbHQgd2VyZGVuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMjEKK21zZ2lkICJjYW5ub3QgYmxvY2sgc2lnbmFscyIKK21zZ3N0ciAiU2lnbmFsZSBrw7ZubmVuIG5pY2h0IGJsb2NraWVydCB3ZXJkZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMzNSBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNDMKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM0OSBtaXNjLXV0aWxzL3V1aWRkLmM6NDA3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzcxCittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiU2lnbmFsaGFuZGxlciBrYW5uIG5pY2h0IGZlc3RnZWxlZ3Qgd2VyZGVuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNzQKK21zZ2lkICIgKGNvcmUgZHVtcGVkKSIKK21zZ3N0ciAiIChTcGVpY2hlcmFienVnIGdlc2NocmllYmVuKSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQsIGtpbGxpbmcgc2hlbGwuLi4iCittc2dzdHIgIiIKKyJcbiIKKyJTaXR6dW5nIGJlZW5kZXQsIFNoZWxsIHdpcmQgYWJnZXfDvHJndCDigKYiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICIgLi4ua2lsbGVkLlxuIgorbXNnc3RyICIg4oCmIGFiZ2V3w7xyZ3QuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQ4NgorbXNnaWQgIm1heSBub3QgYmUgdXNlZCBieSBub24tcm9vdCB1c2VycyIKK21zZ3N0ciAiZGFyZiB2b24gQmVudXR6ZXJuIG9obmUgQWRtaW5pc3RyYXRvcnJlY2h0ZSBuaWNodCB2ZXJ3ZW5kZXQgd2VyZGVuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MTQKK21zZ2lkICJpbmNvcnJlY3QgcGFzc3dvcmQiCittc2dzdHIgImZhbHNjaGVzIFBhc3N3b3J0IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1OTgKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwcyIKK21zZ3N0ciAiR3J1cHBlbiBrb25udGVuIG5pY2h0IGZlc3RnZWxlZ3Qgd2VyZGVuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2MTMgc3lzLXV0aWxzL2VqZWN0LmM6NjY1Cittc2dpZCAiY2Fubm90IHNldCBncm91cCBpZCIKK21zZ3N0ciAiR3J1cHBlbmtlbm51bmcga29ubnRlIG5pY2h0IGZlc3RnZWxlZ3Qgd2VyZGVuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2MTUgc3lzLXV0aWxzL2VqZWN0LmM6NjY4Cittc2dpZCAiY2Fubm90IHNldCB1c2VyIGlkIgorbXNnc3RyICJCZW51dHplcmtlbm51bmcga29ubnRlIG5pY2h0IGZlc3RnZWxlZ3Qgd2VyZGVuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKK21zZ3N0ciAiICVzIFtPcHRpb25lbl0gLXUgPEJlbnV0emVyPiA8QmVmZWhsPlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2ODkgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSBbLV0gWzxCZW51dHplcj4gWzxBcmd1bWVudD4g4oCmXV1cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjkwCittc2dpZCAiIgorIlxuIgorIlJ1biA8Y29tbWFuZD4gd2l0aCB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIG9mIDx1c2VyPi4gIElmIC11IGlzXG4iCisibm90IGdpdmVuLCBmYWxsIGJhY2sgdG8gc3UoMSktY29tcGF0aWJsZSBzZW1hbnRpY3MgYW5kIGV4ZWN1dGUgc3RhbmRhcmQgc2hlbGwuXG4iCisiVGhlIG9wdGlvbnMgLWMsIC1mLCAtbCwgYW5kIC1zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtdS5cbiIKK21zZ3N0ciAiIgorIlxuIgorIjxCZWZlaGw+IG1pdCBkZW4gZWZmZWt0aXZlbiBCZW51dHplci0gdW5kIEdydXBwZW4tSURzIHZvbiA8QmVudXR6ZXI+IGF1c2bDvGhyZW4uXG4iCisiV2VubiAtdSBuaWNodCBhbmdlZ2ViZW4gaXN0LCB3aXJkIGF1ZiBkaWUgc3UoMSkta29tcGF0aWJsZSBTZW1hbnRpayBhdXNnZXdpY2hlblxuIgorInVuZCBlaW5lIFN0YW5kYXJkLVNoZWxsIGF1c2dlZsO8aHJ0LiBEaWUgT3B0aW9uZW4gLWMsIC1mLCAtbCwgdW5kIC1zIHdlcmRlblxuIgorImR1cmNoIC11IGF1c2dlc2NobG9zc2VuLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2OTcKK21zZ2lkICIgLXUsIC0tdXNlciA8dXNlcj4gICAgICAgICAgICAgdXNlcm5hbWVcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXIgPEJlbnV0emVyPiAgICAgICAgIEJlbnV0emVybmFtZVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDIKK21zZ2lkICIiCisiXG4iCisiQ2hhbmdlIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgdG8gdGhhdCBvZiA8dXNlcj4uXG4iCisiQSBtZXJlIC0gaW1wbGllcyAtbC4gIElmIDx1c2VyPiBpcyBub3QgZ2l2ZW4sIHJvb3QgaXMgYXNzdW1lZC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkRpZSBlZmZla3RpdmUgQmVudXR6ZXItIHVuZCBHcnVwcGVuLUlEIGF1ZiBqZW5lIHZvbiA8QmVudXR6ZXI+XG4iCisiw6RuZGVybi4gRWluIHJlaW5lcyAtIGJlZGV1dGV0IC1sLiBGYWxscyBrZWluIDxCZW51dHplcj4gYW5nZWdlYmVuIGlzdCxcbiIKKyJ3aXJkIOKAnnJvb3TigJwgYW5nZW5vbW1lbi5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzA5Cittc2dpZCAiIC1tLCAtcCwgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCAgZG8gbm90IHJlc2V0IGVudmlyb25tZW50IHZhcmlhYmxlc1xuIgorbXNnc3RyICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBkaWUgVW1nZWJ1bmdzdmFyaWFibGVuIG5pY2h0IHp1csO8Y2tzZXR6ZW5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzEwCittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgICAgICAgICAgc3BlY2lmeSB0aGUgcHJpbWFyeSBncm91cFxuIgorbXNnc3RyICIgLWcsIC0tZ3JvdXAgPEdydXBwZT4gICAgICAgICAgIGRpZSBwcmltw6RyZSBHcnVwcGUgYW5nZWJlblxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTEKK21zZ2lkICIiCisiIC1HLCAtLXN1cHAtZ3JvdXAgPGdyb3VwPiAgICAgICAgc3BlY2lmeSBhIHN1cHBsZW1lbnRhbCBncm91cFxuIgorIlxuIgorbXNnc3RyICIiCisiIC1HLCAtLXN1cHAtZ3JvdXAgPEdydXBwZT4gICAgICBlaW5lIHp1c8OkdHpsaWNoZSBHcnVwcGUgYW5nZWJlblxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTMKK21zZ2lkICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgICAgZGllIFNoZWxsIHp1ciBBbm1lbGRlc2hlbGwgbWFjaGVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxNAorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgICAgICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorbXNnc3RyICIiCisiIC1jLCAtLWNvbW1hbmQgPEJlZmVobD4gICAgICAgICBlaW5lbiBlaW56ZWxuZW4gQmVmZWhsIGFuIGRpZSBTaGVsbFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWl0IC1jIMO8YmVyZ2ViZW5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE1Cittc2dpZCAiIgorIiAtLXNlc3Npb24tY29tbWFuZCA8Y29tbWFuZD4gICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvblxuIgorbXNnc3RyICIiCisiIC0tc2Vzc2lvbi1jb21tYW5kIDxCZWZlaGw+ICAgICBlaW5lbiBlaW56ZWxuZW4gQmVmZWhsIGFuIGRpZSBTaGVsbCBtaXQgLWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIMO8YmVyZ2ViZW4gdW5kIGtlaW5lIG5ldWUgU2l0enVuZyDDtmZmbmVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxNworbXNnaWQgIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgIHBhc3MgLWYgdG8gdGhlIHNoZWxsIChmb3IgY3NoIG9yIHRjc2gpXG4iCittc2dzdHIgIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgIC1mIGFuIGRpZSBTaGVsbCDDvGJlcmdlYmVuIChmw7xyIGNzaCBvZGVyIHRjc2gpXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxOAorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHJ1biA8c2hlbGw+IGlmIC9ldGMvc2hlbGxzIGFsbG93cyBpdFxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPFNoZWxsPiAgICAgICAgICAgICA8U2hlbGw+IGF1c2bDvGhyZW4sIGZhbGxzIC9ldGMvc2hlbGxzIGVzIGVybGF1YnRcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzYyCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cCBpcyBub3QgcG9zc2libGUiCittc2dpZF9wbHVyYWwgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cHMgaXMgbm90IHBvc3NpYmxlIgorbXNnc3RyWzBdICJkaWUgQW5nYWJlIHZvbiBtZWhyIGFscyAlZCB6dXPDpHR6bGljaGVuIEdydXBwZSBpc3QgbmljaHQgbcO2Z2xpY2giCittc2dzdHJbMV0gImRpZSBBbmdhYmUgdm9uIG1laHIgYWxzICVkIHp1c8OkdHpsaWNoZW4gR3J1cHBlbiBpc3QgbmljaHQgbcO2Z2xpY2giCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc2OAorIywgYy1mb3JtYXQKK21zZ2lkICJncm91cCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiR3J1cHBlICVzIGlzdCBuaWNodCB2b3JoYW5kZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg4NgorbXNnaWQgImlnbm9yaW5nIC0tcHJlc2VydmUtZW52aXJvbm1lbnQsIGl0J3MgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1sb2dpbiIKK21zZ3N0ciAiLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCB3aXJkIGlnbm9yaWVydCwgd2lyZCBkdXJjaCAtLWxvZ2luIGF1c2dlc2NobG9zc2VuLiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODk3Cittc2dpZCAib3B0aW9ucyAtLXtzaGVsbCxmYXN0LGNvbW1hbmQsc2Vzc2lvbi1jb21tYW5kLGxvZ2lufSBhbmQgLS11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIkRpZSBPcHRpb25lbiAtLXtzaGVsbCxmYXN0LGNvbW1hbmQsc2Vzc2lvbi1jb21tYW5kLGxvZ2lufSB1bmQgLS11c2VyIHNjaGxpZcOfZW4gc2ljaCBnZWdlbnNlaXRpZyBhdXMuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5MDEKK21zZ2lkICJubyBjb21tYW5kIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgIkVzIHd1cmRlIGtlaW4gQmVmZWhsIGFuZ2VnZWJlbi4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkxNQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gc3BlY2lmeSBhbHRlcm5hdGl2ZSBncm91cHMiCittc2dzdHIgIm51ciBkZXIgU3lzdGVtYWRtaW5pc3RyYXRvciBrYW5uIGFsdGVybmF0aXZlIEdydXBwZW4gYW5nZWJlbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTIyCisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIkJlbnV0emVyICVzIGlzdCBuaWNodCB2b3JoYW5kZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyByZXN0cmljdGVkIHNoZWxsICVzIgorbXNnc3RyICJFaW5nZXNjaHLDpG5rdGUgU2hlbGwgJXMgd2lyZCB2ZXJ3ZW5kZXQiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk4NgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAiV2FybnVuZzogV2VjaHNlbCBpbiBWZXJ6ZWljaG5pcyAlcyBpc3QgbmljaHQgbcO2Z2xpY2giCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMzAKK21zZ2lkICJ0Y2dldGF0dHIgZmFpbGVkIgorbXNnc3RyICJ0Y2dldGF0dHIgZmVobGdlc2NobGFnZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoyMDcKK21zZ2lkICJ0Y3NldGF0dHIgZmFpbGVkIgorbXNnc3RyICJ0Y3NldGF0dHIgZmVobGdlc2NobGFnZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290XG4iCittc2dzdHIgIiVzOiBrZWluIEVpbnRyYWcgZsO8ciByb290XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290IgorbXNnc3RyICIlczoga2VpbiBFaW50cmFnIGbDvHIgcm9vdCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcm9vdCBwYXNzd29yZCBnYXJibGVkIgorbXNnc3RyICIlczogUm9vdC1QYXNzd29ydCB2ZXJzdMO8bW1lbHQiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkNhbm5vdCBvcGVuIGFjY2VzcyB0byBjb25zb2xlLCB0aGUgcm9vdCBhY2NvdW50IGlzIGxvY2tlZC5cbiIKKyJTZWUgc3Vsb2dpbig4KSBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLlxuIgorIlxuIgorIlByZXNzIEVudGVyIHRvIGNvbnRpbnVlLlxuIgorbXNnc3RyICIiCisiXG4iCisiS2VpbiBadWdyaWZmIGF1ZiBkaWUgS29uc29sZSBtw7ZnbGljaCwgZGEgZGFzIFJvb3QtS29udG8gZ2VzcGVycnQgaXN0LlxuIgorIkluIGRlciBIYW5kYnVjaHNlaXRlIHZvbiBzdWxvZ2luKDgpIGZpbmRlbiBTaWUgd2VpdGVyZSBFaW56ZWxoZWl0ZW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBsb2dpbjogIgorbXNnc3RyICJSb290LVBhc3N3b3J0IHp1ciBBbm1lbGR1bmcgZWluZ2ViZW46IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBsb2dpbjogIgorbXNnc3RyICJFaW5nYWJldGFzdGUgZsO8ciBBbm1lbGR1bmcgZHLDvGNrZW46IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAiQWRtaW5pc3RyYXRvcnBhc3N3b3J0IGbDvHIgV2FydHVuZ3N6d2Vja2UgZWluZ2ViZW5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0NQorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAiRHLDvGNrZW4gU2llIGRpZSBFaW5nYWJldGFzdGUgZsO8ciBXYXJ0dW5nc2FyYmVpdGVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiKG9yIHByZXNzIENvbnRyb2wtRCB0byBjb250aW51ZSk6ICIKK21zZ3N0ciAiKG9kZXIgZHLDvGNrZW4gU2llIFN0cmcrRCwgdW0gZm9ydHp1ZmFocmVuKToiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3NDIKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IHRvIHN5c3RlbSByb290IGZhaWxlZCIKK21zZ3N0ciAiw4RuZGVybiBkZXMgVmVyemVpY2huaXNzZXMgenVyIFN5c3RlbXd1cnplbCBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTEKK21zZ2lkICJzZXRleGVjY29uIGZhaWxlZCIKK21zZ3N0ciAic2V0ZXhlY2NvbiBmZWhsZ2VzY2hsYWdlbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxMQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFt0dHkgZGV2aWNlXVxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSBbVFRZLUdlcsOkdF1cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxNAorbXNnaWQgIlNpbmdsZS11c2VyIGxvZ2luLlxuIgorbXNnc3RyICJBbm1lbGR1bmcgZsO8ciBlaW56ZWxuZW4gQmVudXR6ZXIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MTcKK21zZ2lkICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICBzdGFydCBhIGxvZ2luIHNoZWxsXG4iCisiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICBtYXggdGltZSB0byB3YWl0IGZvciBhIHBhc3N3b3JkIChkZWZhdWx0OiBubyBsaW1pdClcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGV4YW1pbmUgcGFzc3dvcmQgZmlsZXMgZGlyZWN0bHkgaWYgZ2V0cHduYW0oMykgZmFpbHNcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1sb2dpbi1zaGVsbCAgICAgICAgZWluZSBBbm1lbGRlc2hlbGwgc3RhcnRlblxuIgorIiAtdCwgLS10aW1lb3V0IDxTZWt1bmRlbj4gbWF4aW1hbGUgV2FydGV6ZWl0IGF1ZiBlaW4gUGFzc3dvcnQgKFZvcmdhYmU6IHVuYmVncmVuenQpXG4iCisiIC1lLCAtLWZvcmNlICAgICAgICAgICAgICBQYXNzd29ydCBkaXJla3QgdW50ZXJzdWNoZW4sIGZhbGxzIGdldHB3bmFtKDMpIGZlaGxzY2hsw6RndFxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODcxIG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NjMgc3lzLXV0aWxzL3dkY3RsLmM6NTIzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc1MCB0ZXJtLXV0aWxzL3dhbGwuYzoxMzUKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQiCittc2dzdHIgInVuZ8O8bHRpZ2VzIFplaXTDvGJlcnNjaHJlaXR1bmdzYXJndW1lbnQiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4OTMKK21zZ2lkICJvbmx5IHN1cGVydXNlciBjYW4gcnVuIHRoaXMgcHJvZ3JhbSIKK21zZ3N0ciAiTnVyIGRlciBTeXN0ZW1hZG1pbmlzdHJhdG9yIGthbm4gZGllc2VzIFByb2dyYW1tIGF1c2bDvGhyZW4uIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTM2Cittc2dpZCAiY2Fubm90IG9wZW4gY29uc29sZSIKK21zZ3N0ciAiS29uc29sZSBrYW5uIG5pY2h0IGdlw7ZmZm5ldCB3ZXJkZW4uIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTQzCittc2dpZCAiY2Fubm90IG9wZW4gcGFzc3dvcmQgZGF0YWJhc2UiCittc2dzdHIgIlBhc3N3b3J0ZGF0ZW5iYW5rIGthbm4gbmljaHQgZ2XDtmZmbmV0IHdlcmRlbi4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDYW4gbm90IGV4ZWN1dGUgc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiIgorInN1IHNoZWxsIGthbm4gbmljaHQgYXVzZ2Vmw7xocnQgd2VyZGVuXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDI3Cittc2dpZCAiIgorIlRpbWVkIG91dFxuIgorIlxuIgorbXNnc3RyICIiCisiWmVpdCDDvGJlcnNjaHJpdHRlblxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTA1OQorbXNnaWQgIiIKKyJDYW4gbm90IHdhaXQgb24gc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkF1ZiBkaWUgc3Utc2hlbGwga2FubiBuaWNodCBnZXdhcnRldCB3ZXJkZW5cbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxNzYgdGV4dC11dGlscy90YWlsZi5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoLiIKK21zZ3N0ciAiJXM6IGlub3RpZnktw5xiZXJ3YWNodW5nIGthbm4gbmljaHQgaGluenVnZWbDvGd0IHdlcmRlbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxODUgdGV4dC11dGlscy90YWlsZi5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgaW5vdGlmeSBldmVudHMiCittc2dzdHIgIiVzOiBpbm90aWZ5LUVyZWlnbmlzc2Uga8O2bm5lbiBuaWNodCBnZWxlc2VuIHdlcmRlbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDYgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNTEKK21zZ2lkICJFeHRyYW5lb3VzIG5ld2xpbmUgaW4gZmlsZS4gRXhpdGluZy4iCittc2dzdHIgIlVuenVsw6Rzc2lnZSBuZXVlIFplaWxlIGluIGRlciBEYXRlaS4gQWJicnVjaC4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVuYW1lXVxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSBbRGF0ZWluYW1lXVxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMgorbXNnaWQgIkR1bXAgVVRNUCBhbmQgV1RNUCBmaWxlcyBpbiByYXcgZm9ybWF0LlxuIgorbXNnc3RyICJVVE1QLSB1bmQgV1RNUC1EYXRlaWVuIGltIFJvaGZvcm1hdCBhdXNnZWJlbi5cbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTUKK21zZ2lkICIgLWYsIC0tZm9sbG93ICAgICAgICAgb3V0cHV0IGFwcGVuZGVkIGRhdGEgYXMgdGhlIGZpbGUgZ3Jvd3NcbiIKK21zZ3N0ciAiIC1mLCAtLWZvbGxvdyAgICAgICAgIGFuZ2Vow6RuZ3RlIERhdGVuIGF1c2dlYmVuLCB3ZW5uIGRpZSBEYXRlaSB3w6RjaHN0XG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE2Cittc2dpZCAiIC1yLCAtLXJldmVyc2UgICAgICAgIHdyaXRlIGJhY2sgZHVtcGVkIGRhdGEgaW50byB1dG1wIGZpbGVcbiIKK21zZ3N0ciAiIC1yLCAtLXJldmVyc2UgICAgICAgIGF1c2dlZ2ViZW5lIERhdGVuIGluIHV0bXAtRGF0ZWkgenVyw7xja3NjaHJlaWJlblxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxNworbXNnaWQgIiAtbywgLS1vdXRwdXQgPGZpbGU+ICB3cml0ZSB0byBmaWxlIGluc3RlYWQgb2Ygc3RhbmRhcmQgb3V0cHV0XG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPERhdGVpPiBpbiBEYXRlaSBhbnN0YXR0IGRlciBTdGFuZGFyZGF1c2dhYmUgc2NocmVpYmVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzg0Cittc2dpZCAiZm9sbG93aW5nIHN0YW5kYXJkIGlucHV0IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJGb2xnZW4gZGVyIFN0YW5kYXJkYXVzZ2FiZSB3aXJkIG5pY2h0IHVudGVyc3TDvHR6dCIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCB1bmR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiVXRtcC1VbmR1bXAgdm9uICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgZHVtcCBvZiAlc1xuIgorbXNnc3RyICJVdG1wLUF1c2dhYmUgdm9uICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNDEKK21zZ2lkICJjYW4ndCBvcGVuIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICJlaW5lIHRlbXBvcsOkcmUgRGF0ZWkga29ubnRlIG5pY2h0IGdlw7ZmZm5ldCB3ZXJkZW4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNyZWF0ZSBhIGxpbmsgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogRXJzdGVsbGVuIGVpbmVyIFZlcmtuw7xwZnVuZyBuYWNoICVzIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IGdldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiS29udGV4dCBmw7xyICVzIGtvbm50ZSBuaWNodCBlcm1pdHRlbHQgd2VyZGVuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IHNldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiS29udGV4dCBmw7xyICVzIGtvbm50ZSBuaWNodCBmZXN0Z2VsZWd0IHdlcmRlbiIKKworIyAibmljaHQgZ2XDpG5kZXJ0IgorIyAid3VyZGUgbmljaHQgZ2XDpG5kZXJ0IgorIzogbG9naW4tdXRpbHMvdmlwdy5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmNoYW5nZWQiCittc2dzdHIgIiVzIHVudmVyw6RuZGVydCIKKworIyBUaGlzIGlzIG9ubHkgdXNlZCB3aGVuIHN0cmVycm9yKGVycm5vKSBpcyBtdWNoIHRvbyBsb25nCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjU0Cittc2dpZCAiY2Fubm90IGdldCBsb2NrIgorbXNnc3RyICJTcGVycmUga2FubiBuaWNodCBnZXNldHp0IHdlcmRlbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI4MQorbXNnaWQgIm5vIGNoYW5nZXMgbWFkZSIKK21zZ3N0ciAia2VpbmUgw4RuZGVydW5nZW4gZHVyY2hnZWbDvGhydCIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5MAorbXNnaWQgImNhbm5vdCBjaG1vZCBmaWxlIgorbXNnc3RyICJEYXRlaW1vZHVzIGthbm4gbmljaHQgZ2XDpG5kZXJ0IHdlcmRlbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjMwNAorbXNnaWQgIkVkaXQgdGhlIHBhc3N3b3JkIG9yIGdyb3VwIGZpbGUuXG4iCittc2dzdHIgIkRpZSBQYXNzd29ydC0gb2RlciBHcnVwcGVuZGF0ZWkgYmVhcmJlaXRlbi5cbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM1MAorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IGdyb3VwcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAiU2llIGJlbnV0emVuIFNoYWRvdy1HcnVwcGVuIGF1ZiBkaWVzZW0gU3lzdGVtLlxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzUxCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgcGFzc3dvcmRzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICJTaWUgYmVudXR6ZW4gU2hhZG93LVBhc3N3w7ZydGVyIGF1ZiBkaWVzZW0gU3lzdGVtLlxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhpcyBwcm9ncmFtIHVzZXMgZm9yIHkgYW5kIG4gcnBtYXRjaCgzKSwKKyMuICogd2hpY2ggbWVhbnMgdGhleSBjYW4gYmUgdHJhbnNsYXRlZC4KKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV291bGQgeW91IGxpa2UgdG8gZWRpdCAlcyBub3cgW3kvbl0/ICIKK21zZ3N0ciAiV8O8cmRlbiBTaWUgamV0enQgZ2VybiAlcyBiZWFyYmVpdGVuIFtqL25dPyAiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzcyCittc2dpZCAiaW52YWxpZCBtb250aCBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXIgTW9uYXQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzgwCittc2dpZCAiaW52YWxpZCB3ZWVrIGFyZ3VtZW50IgorbXNnc3RyICJ1bmfDvGx0aWdlcyBXb2NoZW4tQXJndW1lbnQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzgyCittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB1c2UgMS01NCIKK21zZ3N0ciAidW5nw7xsdGlnZXIgV2VydCBmw7xyIGRpZSBXb2NoZTogYmVudXR6ZW4gU2llIDEtNTQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZXN0YW1wIG9yIHVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgIkVpbmxlc2VuIGRlciBtYXhpbWFsZW4gRGF0ZWluYW1lbnNsw6RuZ2UgZmVobGdlc2NobGFnZW4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDMxCittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWUiCittc2dzdHIgImZhbHNjaGVyIFdlcnQgZsO8ciBkZW4gVGFnIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQzMyBtaXNjLXV0aWxzL2NhbC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZTogdXNlIDEtJWQiCittc2dzdHIgImZhbHNjaGVyIFdlcnQgZsO8ciBkZW4gVGFnOiBiZW51dHplbiBTaWUgMS0lZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MzcgbWlzYy11dGlscy9jYWwuYzo0NDUKK21zZ2lkICJpbGxlZ2FsIG1vbnRoIHZhbHVlOiB1c2UgMS0xMiIKK21zZ3N0ciAiZmFsc2NoZXIgV2VydCBmw7xyIGRlbiBNb25hdDogYmVudXR6ZW4gU2llIDEtMTIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICJVbmJla2FubnRlciBQcmlvcml0w6R0c25hbWU6ICVzLiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NDggbWlzYy11dGlscy9jYWwuYzo0NTIKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWUiCittc2dzdHIgImZhbHNjaGVyIFdlcnQgZsO8ciBkYXMgSmFociIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NTAKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWU6IHVzZSBwb3NpdGl2ZSBpbnRlZ2VyIgorbXNnc3RyICJmYWxzY2hlciBXZXJ0IGbDvHIgZGFzIEphaHI6IGJlbnV0emVuIFNpZSBlaW5lIHBvc2l0aXZlIEdhbnp6YWhsIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4MiBtaXNjLXV0aWxzL2NhbC5jOjQ5NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHllYXIgJWQgZG9lc24ndCBoYXZlIHdlZWsgJWQiCittc2dzdHIgImZhbHNjaGVyIFdlcnQgZsO8ciBkaWUgV29jaGU6IGRhcyBKYWhyICVkIGhhdCBrZWluZSBXb2NoZSAlZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo2NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMiCittc2dzdHIgIiVzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlMDRkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAlMDRkIgorbXNnc3RyICIlcyAlZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbW1tkYXldIG1vbnRoXSB5ZWFyXVxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSBbW1tUYWddIE1vbmF0XSBKYWhyXVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vbnRobmFtZT5cbiIKK21zZ3N0ciAiICVzIFtPcHRpb25lbl0gPERhdGVpbmFtZT5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTcKK21zZ2lkICJEaXNwbGF5IGEgY2FsZW5kYXIsIG9yIHNvbWUgcGFydCBvZiBpdC5cbiIKK21zZ3N0ciAiRWluZW4gS2FsZW5kZXIgb2RlciBlaW5lbiBUZWlsIGRhdm9uIGFuemVpZ2VuLlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5OAorbXNnaWQgIldpdGhvdXQgYW55IGFyZ3VtZW50cywgZGlzcGxheSB0aGUgY3VycmVudCBtb250aC5cbiIKK21zZ3N0ciAiT2huZSBBcmd1bWVudGUgd2lyZCBkZXIgYWt0dWVsbGUgTW9uYXQgYW5nZXplaWd0LlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDEKK21zZ2lkICIgLTEsIC0tb25lICAgICAgICAgICAgIHNob3cgb25seSBhIHNpbmdsZSBtb250aCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC0xLCAtLW9uZSAgICAgICAgICAgICBudXIgZWluZW4gTW9uYXQgYXVzZ2ViZW4gKFZvcmdhYmUpXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMgorbXNnaWQgIiAtMywgLS10aHJlZSAgICAgICAgICAgc2hvdyB0aHJlZSBtb250aHMgc3Bhbm5pbmcgdGhlIGRhdGVcbiIKK21zZ3N0ciAiIgorIiAtMywgLS10aHJlZSAgICAgICAgICAgZWluZW4gQmVyZWljaCB2b24gZHJlaSBNb25hdGVuIGltIEJlcmVpY2hcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgIGRlcyBEYXR1bXMgYW56ZWlnZW5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDAzCittc2dpZCAiIC1uLCAtLW1vbnRocyA8bnVtPiAgICBzaG93IG51bSBtb250aHMgc3RhcnRpbmcgd2l0aCBkYXRlJ3MgbW9udGhcbiIKK21zZ3N0ciAiIC1uLCAtLW1vbnRocyA8WkFITD4gICB6ZWlndCBaQUhMIE1vbmF0ZSwgYmVnaW5uZW5kIG1pdCBkZW0gTW9uYXQgZGVzIERhdHVtc1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDQKK21zZ2lkICIgLVMsIC0tc3BhbiAgICAgICAgICAgIHNwYW4gdGhlIGRhdGUgd2hlbiBkaXNwbGF5aW5nIG11bHRpcGxlIG1vbnRoc1xuIgorbXNnc3RyICIgLVMsIC0tc3BhbiAgICAgICAgICAgIGJlaSBBdXNnYWJlIG1laHJlcmVyIE1vbmF0ZSBCZXJlaWNoZSBhbmdlYmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNQorbXNnaWQgIiAtcywgLS1zdW5kYXkgICAgICAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtcywgLS1zdW5kYXkgICAgICAgICAgU29ubnRhZyBhbHMgZXJzdGVyIFRhZyBkZXIgV29jaGVcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA2Cittc2dpZCAiIC1tLCAtLW1vbmRheSAgICAgICAgICBNb25kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIC1tLCAtLW1vbmRheSAgICAgICAgICBNb250YWcgYWxzIGVyc3RlciBUYWcgZGVyIFdvY2hlXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNworbXNnaWQgIiAtaiwgLS1qdWxpYW4gICAgICAgICAgb3V0cHV0IEp1bGlhbiBkYXRlc1xuIgorbXNnc3RyICIgLWosIC0tanVsaWFuICAgICAgICAgIEp1bGlhbmlzY2hlIERhdGVuIGF1c2dlYmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwOAorbXNnaWQgIiAteSwgLS15ZWFyICAgICAgICAgICAgc2hvdyB0aGUgd2hvbGUgeWVhclxuIgorbXNnc3RyICIgLXksIC0teWVhciAgICAgICAgICAgIGVpbiBnYW56ZXMgSmFociBhbnplaWdlblxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDkKK21zZ2lkICIgLVksIC0tdHdlbHZlICAgICAgICAgIHNob3cgdGhlIG5leHQgdHdlbHZlIG1vbnRoc1xuIgorbXNnc3RyICIgLVksIC0tdHdlbHZlICAgICAgICAgIGRpZSBuw6RjaHN0ZW4genfDtmxmIE1vbmF0ZSBhbnplaWdlblxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMTAKK21zZ2lkICIgLXcsIC0td2Vla1s9PG51bT5dICAgIHNob3cgVVMgb3IgSVNPLTg2MDEgd2VlayBudW1iZXJzXG4iCittc2dzdHIgIiAtdywgLS13ZWVrWz08WmFobD5dICAgVVMtIG9kZXIgSVNPLTg2MDEtV29jaGVubnVtbWVybiBhbnplaWdlblxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMTEKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAgLS1jb2xvcls9PFdhbm4+XSAgTmFjaHJpY2h0ZW4gZWluZsOkcmJlbiAo4oCeYXV0b+KAnCwg4oCeYWx3YXlz4oCcIG9kZXIg4oCebmV2ZXLigJwpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSB7TEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUx9PTx2YWx1ZT5cbiIKK21zZ3N0ciAiICVzIFtPcHRpb25lbl0ge0xBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMfT08V2VydD5cbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzozMgorbXNnaWQgIkZpbmQgYSBmaWxlc3lzdGVtIGJ5IGxhYmVsIG9yIFVVSUQuXG4iCittc2dzdHIgIkVpbiBEYXRlaXN5c3RlbSBuYWNoIEJlemVpY2hudW5nIG9kZXIgVVVJRCBzdWNoZW4uXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgJyVzJyIKK21zZ3N0ciAi4oCeJXPigJwga29ubnRlIG5pY2h0IGF1ZmdlbMO2c3Qgd2VyZGVuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo5OQorbXNnaWQgInNvdXJjZSBkZXZpY2UiCittc2dzdHIgIlF1ZWxsZ2Vyw6R0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDAKK21zZ2lkICJtb3VudHBvaW50IgorbXNnc3RyICJFaW5ow6RuZ2VwdW5rdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxIG1pc2MtdXRpbHMvbHNibGsuYzoxNjEKK21zZ2lkICJmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIkRhdGVpc3lzdGVtdHlwIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDIKK21zZ2lkICJhbGwgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiQWxsZSBFaW5ow6RuZ2VvcHRpb25lbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAzCittc2dpZCAiVkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIlZGUy1zcGV6aWZpc2NoZSBFaW5ow6RuZ2VvcHRpb25lbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA0Cittc2dpZCAiRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiRlMtc3BlemlmaXNjaGUgRWluaMOkbmdlb3B0aW9uZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNQorbXNnaWQgImZpbGVzeXN0ZW0gbGFiZWwiCittc2dzdHIgIkRhdGVpc3lzdGVtYmV6ZWljaG51bmciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0Cittc2dpZCAiZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICJEYXRlaXN5c3RlbS1VVUlEIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDcKK21zZ2lkICJwYXJ0aXRpb24gbGFiZWwiCittc2dzdHIgIlBhcnRpdGlvbnNiZXplaWNobnVuZyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5IG1pc2MtdXRpbHMvbHNibGsuYzoxNjAKK21zZ2lkICJtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICJIYXVwdHZlcnNpb246TmViZW5nZXLDpHRlbnVtbWVyIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTAKK21zZ2lkICJhY3Rpb24gZGV0ZWN0ZWQgYnkgLS1wb2xsIgorbXNnc3RyICJBa3Rpb24gZXJrYW5udCB2b24gLS1wb2xsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTEKK21zZ2lkICJvbGQgbW91bnQgb3B0aW9ucyBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgImFsdGUgRWluaMOkbmdlb3B0aW9uZW4gdm9uIC0tcG9sbCBnZXNwZWljaGVydCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEyCittc2dpZCAib2xkIG1vdW50cG9pbnQgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICJhbHRlciBFaW5ow6RuZ2VwdW5rdCB2b24gLS1wb2xsIGdlc3BlaWNoZXJ0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTMKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUiCittc2dzdHIgIkRhdGVpc3lzdGVtZ3LDtsOfZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE0Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIGF2YWlsYWJsZSIKK21zZ3N0ciAidmVyZsO8Z2JhcmUgRGF0ZWlzeXN0ZW1ncsO2w59lIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTUKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgdXNlZCIKK21zZ3N0ciAiYmVsZWd0ZSBEYXRlaXN5c3RlbWdyw7bDn2UiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNgorbXNnaWQgImZpbGVzeXN0ZW0gdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgInByb3plbnR1YWxlIERhdGVpc3lzdGVtYmVsZWd1bmciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNworbXNnaWQgImZpbGVzeXN0ZW0gcm9vdCIKK21zZ3N0ciAiRGF0ZWlzeXN0ZW0tUm9vdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE4Cittc2dpZCAidGFzayBJRCIKK21zZ3N0ciAiQXVmZ2FiZW5rZW5udW5nIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkKK21zZ2lkICJtb3VudCBJRCIKK21zZ3N0ciAiRWluaMOkbmdla2VubnVuZyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwCittc2dpZCAib3B0aW9uYWwgbW91bnQgZmllbGRzIgorbXNnc3RyICJvcHRpb25hbGUgRWluaMOkbmdmZWxkZXIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMQorbXNnaWQgIlZGUyBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiVkZTIFByb3BhZ2llcnVuZ3NrZW5udW5nZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMgorbXNnaWQgImR1bXAoOCkgcGVyaW9kIGluIGRheXMgW2ZzdGFiIG9ubHldIgorbXNnc3RyICJkdW1wKDgpLVBlcmlvZGUgaW4gVGFnZW4gW251ciBmc3RhYl0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMworbXNnaWQgInBhc3MgbnVtYmVyIG9uIHBhcmFsbGVsIGZzY2soOCkgW2ZzdGFiIG9ubHldIgorbXNnc3RyICJaYWhsIGFuIHBhcmFsbGVsZXMgZnNjayg4KSDDvGJlcmdlYmVuIFtudXIgZsO8ciBmc3RhYl0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFjdGlvbjogJXMiCittc2dzdHIgInVuYmVrYW5udGUgRnVua3Rpb246ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDMKK21zZ2lkICJtb3VudCIKK21zZ3N0ciAibW91bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0NgorbXNnaWQgInVtb3VudCIKK21zZ3N0ciAidW1vdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDkKK21zZ2lkICJyZW1vdW50IgorbXNnc3RyICJyZW1vdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTIKK21zZ2lkICJtb3ZlIgorbXNnc3RyICJtb3ZlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA3NSBzeXMtdXRpbHMvZWplY3QuYzo3MTkKKyM6IHN5cy11dGlscy9tb3VudC5jOjY2OQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmxlIgorbXNnc3RyICJsaWJtb3VudC1UYWJlbGxlIGtvbm50ZSBuaWNodCBpbml0aWFsaXNpZXJ0IHdlcmRlbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODM5IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgJXMiCittc2dzdHIgIiVzIGthbm4gbmljaHQgZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMTUgbWlzYy11dGlscy9maW5kbW50LmM6MTA4MQorIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjk0IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0ODIKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxODcgc3lzLXV0aWxzL21vdW50LmM6MTM0IHN5cy11dGlscy9tb3VudC5jOjE4MgorIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo1NiBzeXMtdXRpbHMvc3dhcG9mZi5jOjE1NSBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ0CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjc0IHN5cy11dGlscy9zd2Fwb24uYzo3MzMgc3lzLXV0aWxzL3Vtb3VudC5jOjI3NAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGl0ZXJhdG9yIgorbXNnc3RyICJsaWJtb3VudC1JdGVyYXRvciBrb25udGUgbmljaHQgaW5pdGlhbGlzaWVydCB3ZXJkZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODcKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJkaWZmIgorbXNnc3RyICJsaWJtb3VudCB0YWJkaWZmIGtvbm50ZSBuaWNodCBpbml0aWFsaXNpZXJ0IHdlcmRlbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExNQorbXNnaWQgInBvbGwoKSBmYWlsZWQiCittc2dzdHIgInBvbGwoKSBmZWhsZ2VzY2hsYWdlbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IHwgPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2UgPGRldmljZT5dIFstLXRhcmdldCA8cGF0aD4gfCAtLW1vdW50cG9pbnQgPGRpcj5dXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbT3B0aW9uZW5dXG4iCisiICUxJHMgW09wdGlvbmVuXSA8R2Vyw6R0PiB8IDxFaW5ow6RuZ2VwdW5rdD5cbiIKKyIgJTEkcyBbT3B0aW9uZW5dIFs8R2Vyw6R0PiA8RWluaMOkbmdlcHVua3Q+XVxuIgorIiAlMSRzIFtPcHRpb25lbl0gWy0tc291cmNlIDxHZXLDpHQ+XSBbLS10YXJnZXQgPFBmYWQ+IHwgLS1tb3VudHBvaW50IDxWZXJ6ZWljaG5pcz5dXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTYKK21zZ2lkICJGaW5kIGEgKG1vdW50ZWQpIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkVpbiAoZWluZ2Vow6RuZ3RlcykgRGF0ZWlzeXN0ZW0gc3VjaGVuLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk5Cittc2dpZCAiIC1zLCAtLWZzdGFiICAgICAgICAgICAgc2VhcmNoIGluIHN0YXRpYyB0YWJsZSBvZiBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBpbiBkZXIgc3RhdGlzY2hlbiBEYXRlaXN5c3RlbXRhYmVsbGUgc3VjaGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDAKK21zZ2lkICIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzZWFyY2ggaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLW0sIC0tbXRhYiAgICAgICAgICAgICBpbiBkZXIgVGFiZWxsZSBkZXIgZWluZ2Vow6RuZ3RlbiBEYXRlaXN5c3RlbWUgc3VjaGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDEKK21zZ2lkICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgc2VhcmNoIGluIGtlcm5lbCB0YWJsZSBvZiBtb3VudGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlc3lzdGVtcyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIGluIGRlciBLZXJuZWwtVGFiZWxsZSBkZXIgZWluZ2Vow6RuZ3RlbiBEYXRlaXN5c3RlbWVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2hlbiAoVm9yZ2FiZSlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNAorbXNnaWQgIiAtcCwgLS1wb2xsWz08bGlzdD5dICAgIG1vbml0b3IgY2hhbmdlcyBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiIKKyIgLXAsIC0tcG9sbFs9PExpc3RlPl0gICDDhG5kZXJ1bmdlbiBpbiBkZXIgVGFiZWxsZSBkZXIgZWluZ2Vow6RuZ3RlblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgRGF0ZWlzeXN0ZW1lIMO8YmVyd2FjaGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDUKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8bnVtPiAgICB1cHBlciBsaW1pdCBpbiBtaWxsaXNlY29uZHMgdGhhdCAtLXBvbGwgd2lsbCBibG9ja1xuIgorbXNnc3RyICIiCisiIC13LCAtLXRpbWVvdXQgPFphaGw+ICAgb2JlcmUgR3JlbnplIGluIE1pbGxpc2VrdW5kZW4sIGJlaSBkZXIgLS1wb2xsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBibG9ja2llcnRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOAorbXNnaWQgIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGJ1aWx0LWluIGZpbHRlcnMsIHByaW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLUEsIC0tYWxsICAgICAgICAgICAgICBhbGxlIGVpbmdlYmF1dGVuIEZpbHRlciBkZWFrdGl2aWVyZW4sIGFsbGUgRGF0ZWlzeXN0ZW1lIGF1c2dlYmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDkKK21zZ2lkICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgQVNDSUkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorbXNnc3RyICIgLWEsIC0tYXNjaWkgICAgICAgICAgICBBU0NJSS1aZWljaGVuIGbDvHIgZGllIEZvcm1hdGllcnVuZyBkZXMgQmF1bXMgdmVyd2VuZGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTAKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgR3LDtsOfZW4gaW4gQnl0ZXMgYXVzZ2ViZW4sIGFuc3RhdHQgaW0gbWVuc2NoZW5sZXNiYXJlbiBGb3JtYXRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMQorbXNnaWQgIiAtQywgLS1ub2Nhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSB3aGVuIGNvbXBhcmluZyBwYXRoc1xuIgorbXNnc3RyICIgLUMsIC0tbm8tY2Fub25pY2FsaXplICAgUGZhZGUgYmVpbSBWZXJnbGVpY2hlbiBuaWNodCBrYW5vbmlzaWVyZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMgorbXNnaWQgIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaWNhbGl6ZSBwcmludGVkIHBhdGhzXG4iCittc2dzdHIgIiAtYywgLS1jYW5vbmljYWxpemUgICAgIFBmYWRlIGthbm9uaXNpZXJlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEzCittc2dpZCAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGF0ZSB0aGUgb3V0cHV0IG9mIGRmKDEpXG4iCittc2dzdHIgIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGRpZSBBdXNnYWJlIHZvbiBkZigxKSBpbWl0aWVyZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNAorbXNnaWQgIiAtZCwgLS1kaXJlY3Rpb24gPHdvcmQ+IGRpcmVjdGlvbiBvZiBzZWFyY2gsICdmb3J3YXJkJyBvciAnYmFja3dhcmQnXG4iCittc2dzdHIgIiAtZCwgLS1kaXJlY3Rpb24gPFdvcnQ+IFN1Y2hyaWNodHVuZywg4oCeZm9yd2FyZOKAnCBvZGVyIOKAnmJhY2t3YXJk4oCcXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTUKK21zZ2lkICIiCisiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgY29udmVydCB0YWdzIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkZXZpY2UgbmFtZXNcbiIKK21zZ3N0ciAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIE1hcmtpZXJ1bmdlbiAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gR2Vyw6R0ZW5hbWVuIHVtd2FuZGVsblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE3Cittc2dpZCAiIC1GLCAtLXRhYi1maWxlIDxwYXRoPiAgYWx0ZXJuYXRpdmUgZmlsZSBmb3IgLXMsIC1tIG9yIC1rIG9wdGlvbnNcbiIKK21zZ3N0ciAiIC1GLCAtLXRhYi1maWxlIDxQZmFkPiAgYWx0ZXJuYXRpdmUgRGF0ZWkgZsO8ciBkaWUgT3B0aW9uZW4gLXMsIC1tIG9kZXIgLWtcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOAorbXNnaWQgIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIHByaW50IHRoZSBmaXJzdCBmb3VuZCBmaWxlc3lzdGVtIG9ubHlcbiIKK21zZ3N0ciAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgbnVyIGRhcyBlcnN0ZSBnZWZ1bmRlbmUgRGF0ZWlzeXN0ZW0gYXVzZ2ViZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOQorbXNnaWQgIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVydCB0aGUgc2Vuc2Ugb2YgbWF0Y2hpbmdcbiIKK21zZ3N0ciAiIC1zLCAtLWludmVydCAgICAgICAgICAgU3VjaGtyaXRlcmllbiB1bWtlaHJlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIwIG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNyBzeXMtdXRpbHMvbHNucy5jOjYxOQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICAgRGF0ZW4gaW0gSlNPTi1Gb3JtYXQgYXVzZ2ViZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMSBzeXMtdXRpbHMvbHNucy5jOjYyMAorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgaW0gTGlzdGVuZm9ybWF0IGF1c2dlYmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjIKK21zZ2lkICIgLU4sIC0tdGFzayA8dGlkPiAgICAgICB1c2UgYWx0ZXJuYXRpdmUgbmFtZXNwYWNlICgvcHJvYy88dGlkPi9tb3VudGluZm8gZmlsZSlcbiIKK21zZ3N0ciAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgYWx0ZXJuYXRpdmVuIE5hbWVuc3JhdW0gdmVyd2VuZGVuIChEYXRlaSAvcHJvYy88dGlkPi9tb3VudGluZm8pXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBjb2x1bW4gaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAga2VpbmUgw5xiZXJzY2hyaWZ0ZW4gYW56ZWlnZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNAorbXNnaWQgIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIgorbXNnc3RyICIgLU8sIC0tb3B0aW9ucyA8TGlzdGU+ICBEYXRlaXN5c3RlbWUgbmFjaCBFaW5ow6RuZ2VvcHRpb25lbiBiZWdyZW56ZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIHRoZSBvdXRwdXQgY29sdW1ucyB0byBiZSBzaG93blxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxMaXN0ZT4gICAgaW4gZGVyIEF1c2dhYmUgYW56dXplaWdlbmRlIFNwYWx0ZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNgorbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgQXVzZ2FiZWZvcm1hdCBTY2hsw7xzc2VsPVwiV2VydFwiIHZlcndlbmRlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI3Cittc2dpZCAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgcHJpbnQgYWxsIHN1Ym1vdW50cyBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiIKKyIgLVIsIC0tc3VibW91bnRzICAgICAgICBBbGxlIFVudGVyZWluaMOkbmd1bmdlbiBmw7xyIHBhc3NlbmRlIERhdGVpc3lzdGVtZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgYXVzZ2ViZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOAorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICBSb2hhdXNnYWJlZm9ybWF0IHZlcndlbmRlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5Cittc2dpZCAiIgorIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorbXNnc3RyICIiCisiIC1TLCAtLXNvdXJjZSA8WmVpY2hlbmtldHRlPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGVpbnp1aMOkbmdlbmRlcyBHZXLDpHQgKG5hY2ggTmFtZSwgbWFqOm1pbiwgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzEKK21zZ2lkICIgLVQsIC0tdGFyZ2V0IDxwYXRoPiAgICB0aGUgcGF0aCB0byB0aGUgZmlsZXN5c3RlbSB0byB1c2VcbiIKK21zZ3N0ciAiIC1ULCAtLXRhcmdldCA8UGZhZD4gICAgZGVyIFBmYWQgenVtIHp1IHZlcndlbmRlbmRlbiBEYXRlaXN5c3RlbVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMyCittc2dpZCAiIC1NLCAtLW1vdW50cG9pbnQgPGRpcj4gdGhlIG1vdW50cG9pbnQgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtTSwgLS1tb3VudHBvaW50IDxWZXJ6PiBkYXMgV3VyemVsdmVyemVpY2huaXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMworbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgRlMgdHlwZXNcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGVzIDxMaXN0ZT4gICAgRGF0ZWlzeXN0ZW1lIG5hY2ggVHlwIGJlZ3JlbnplblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM0Cittc2dpZCAiIC1VLCAtLXVuaXEgICAgICAgICAgICAgaWdub3JlIGZpbGVzeXN0ZW1zIHdpdGggZHVwbGljYXRlIHRhcmdldFxuIgorbXNnc3RyICIgLVUsIC0tdW5pcSAgICAgICAgICAgICBEYXRlaXN5c3RlbWUgbWl0IGRvcHBlbHRlbSBaaWVsIGlnbm9yaWVyZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNSBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTMgc3lzLXV0aWxzL2xzbnMuYzo2MjUKK21zZ2lkICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgVGV4dCBpbiBTcGFsdGVuIG5pY2h0IGvDvHJ6ZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNgorbXNnaWQgIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIGRvbid0IHByaW50IFsvZGlyXSBmb3IgYmluZCBvciBidHJmcyBtb3VudHNcbiIKK21zZ3N0ciAiIC12LCAtLW5vZnNyb290ICAgICAgICAgWy9kaXJdIGbDvHIgYmluZC0gb2RlciBidHJmcy1FaW5ow6RuZ3VuZ2VuIG5pY2h0IGFuemVpZ2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzkKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXZlcmlmeSAgICAgICAgICAgdmVyaWZ5IG1vdW50IHRhYmxlIGNvbnRlbnQgKGRlZmF1bHQgaXMgZnN0YWIpXG4iCittc2dzdHIgIiAtMSwgLS1vbmUgICAgICAgICAgICAgbnVyIGVpbmVuIE1vbmF0IGF1c2dlYmVuIChWb3JnYWJlKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IG1vcmUgZGV0YWlsc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBhdXNmw7xocmxpY2hlIERhdGVuIGF1c2dlYmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBkaXJlY3Rpb24gJyVzJyIKK21zZ3N0ciAidW5iZWthbm50ZXMgVmVyemVpY2huaXMg4oCeJXPigJwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NDAKK21zZ2lkICJpbnZhbGlkIFRJRCBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXMgVElELUFyZ3VtZW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTA5Cittc2dpZCAiLS1wb2xsIGFjY2VwdHMgb25seSBvbmUgZmlsZSwgYnV0IG1vcmUgc3BlY2lmaWVkIGJ5IC0tdGFiLWZpbGUiCittc2dzdHIgIi0tcG9sbCBha3plcHRpZXJ0IG51ciBlaW5lIERhdGVpLCBhYmVyIG1pdCAtLXRhYi1maWxlIHd1cmRlbiBtZWhyIGFuZ2VnZWJlbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUxMworbXNnaWQgIm9wdGlvbnMgLS10YXJnZXQgYW5kIC0tc291cmNlIGNhbid0IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBjb21tYW5kIGxpbmUgZWxlbWVudCB0aGF0IGlzIG5vdCBhbiBvcHRpb24iCittc2dzdHIgIkRpZSBPcHRpb25lbiAtLXRhcmdldCB1bmQgLS1zb3VyY2Uga8O2bm5lbiBuaWNodCB6dXNhbW1lbiBtaXQgZWluZW0gQmVmZWhsc3plaWxlbmVsZW1lbnQgdmVyd2VuZGV0IHdlcmRlbiwgZGFzIGtlaW5lIE9wdGlvbiBpc3QuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTYyCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgY2FjaGUiCittc2dzdHIgImxpYm1vdW50LUNhY2hlIGtvbm50ZSBuaWNodCBpbml0aWFsaXNpZXJ0IHdlcmRlbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTYwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjb2x1bW4gaXMgcmVxdWVzdGVkLCBidXQgLS1wb2xsIGlzIG5vdCBlbmFibGVkIgorbXNnc3RyICJTcGFsdGUgJXMgd3VyZGUgYW5nZWZvcmRlcnQsIGFiZXIgLS1wb2xsIGlzdCBuaWNodCBha3RpdmllcnQgIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE2CisjLCBmdXp6eQorbXNnaWQgInRhcmdldCBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgIlF1ZWxsZSB3dXJkZSBtZWhyZmFjaCBhbmdlZ2ViZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgb3JkZXI6ICVzIHNwZWNpZmllZCBiZWZvcmUgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzMworbXNnaWQgInVuZGVmaW5lZCB0YXJnZXQgKGZzX2ZpbGUpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWNhbm9uaWNhbCB0YXJnZXQgcGF0aCAocmVhbDogJXMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCB0YXJnZXQ6ICVtIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgdGFyZ2V0OiAlbSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTUxCisjLCBmdXp6eQorbXNnaWQgInRhcmdldCBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBpc3Qga2VpbiBWZXJ6ZWljaG5pcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MworbXNnaWQgInRhcmdldCBleGlzdHMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHNvdXJjZTogJXM9JXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZTogJXM9JXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM9JXMgdHJhbnNsYXRlZCB0byAlcyIKK21zZ3N0ciAiJXM6ICVzIGlzdCBhdWYgJXMgZWluZ2Vow6RuZ3QuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxOTAKK21zZ2lkICJ1bmRlZmluZWQgc291cmNlIChmc19zcGVjKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzb3VyY2UgdGFnOiAlcyIKK21zZ3N0ciAibmljaHQgdW50ZXJzdMO8dHp0ZXMgQXJndW1lbnQ6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBzb3VyY2UgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgc291cmNlOiAlczogJW0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmluZCBtb3VudCBzb3VyY2UgJXMgaXMgYSBkaXJlY3Rvcnkgb3IgcmVndWxhciBmaWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzIGlzdCBrZWluIGJsb2Nrb3JpZW50aWVydGVzIEdlcsOkdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic291cmNlICVzIGV4aXN0cyIKK21zZ3N0ciAiUXVlbGxnZXLDpHQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlZGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiVkZTIFByb3BhZ2llcnVuZ3NrZW5udW5nZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICJWRlMgUHJvcGFnaWVydW5nc2tlbm51bmdlbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXNlcnNwYWNlIG9wdGlvbnM6ICVzIgorbXNnc3RyICJSZXNzb3VyY2Vub3B0aW9uZW46XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHN3YXBhcmVhIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAibmljaHQgdW50ZXJzdMO8dHp0ZSBWZXJ3ZXJmdW5nc3JlZ2VsOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI2MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3dhcGFyZWEgcHJpb3JpdHkgb3B0aW9uIgorbXNnc3RyICJQcmlvcml0w6R0IGtvbm50ZSBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgRlMgdHlwZSAocHNldWRvL25ldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQwNgorbXNnaWQgIlwibm9uZVwiIEZTIHR5cGUgaXMgcmVjb21tZW5kZWQgZm9yIGJpbmQgb3IgbW92ZSBvcHJhdGlvbnMgb25seSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgImRlciBCZWZlaGwgenVtIMOEbmRlcm4gZGVyIENELVJPTS1HZXNjaHdpbmRpZ2tlaXQgd2lyZCB2b24gZGllc2VtIEtlcm5lbCBuaWNodCB1bnRlcnN0w7x0enQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjAgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyMQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZGV0ZWN0IG9uLWRpc2sgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJ1bmJla2FubnRlciBEYXRlaXN5c3RlbXR5cCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBtYXRjaCB3aXRoIG9uLWRpc2sgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib24tZGlzayAlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgImRlciBCZWZlaGwgenVtIMOEbmRlcm4gZGVyIENELVJPTS1HZXNjaHdpbmRpZ2tlaXQgd2lyZCB2b24gZGllc2VtIEtlcm5lbCBuaWNodCB1bnRlcnN0w7x0enQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZTIHR5cGUgaXMgJXMiCittc2dzdHIgIlNrcmlwdGRhdGVpOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWNvbW1lbmRlZCByb290IEZTIHBhc3NubyBpcyAxIChjdXJyZW50IGlzICVkKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCBwYXJzZSBlcnJvciIKK21zZ2lkX3BsdXJhbCAiJWQgcGFyc2UgZXJyb3JzIgorbXNnc3RyWzBdICJFaW5sZXNlZmVobGVyOiAlcyIKK21zZ3N0clsxXSAiRWlubGVzZWZlaGxlcjogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgZXJyb3IiCittc2dpZF9wbHVyYWwgIiwgJWQgZXJyb3JzIgorbXNnc3RyWzBdICIsIEZlaGxlciIKK21zZ3N0clsxXSAiLCBGZWhsZXIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCAlZCB3YXJuaW5nIgorbXNnaWRfcGx1cmFsICIsICVkIHdhcm5pbmdzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxNworIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzLCBubyBlcnJvcnMgb3Igd2FybmluZ3MgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIlByb2JpZXJlbiBTaWUg4oCeJXMgLS1oZWxw4oCcIGbDvHIgd2VpdGVyZSBJbmZvcm1hdGlvbmVuLlxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMwNAorbXNnaWQgImVtcHR5IGxvbmcgb3B0aW9uIGFmdGVyIC1sIG9yIC0tbG9uZyBhcmd1bWVudCIKK21zZ3N0ciAibGVlcmUgbGFuZ2UgT3B0aW9uIG5hY2ggLWwgb2RlciAtLWxvbmciCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzI1Cittc2dpZCAidW5rbm93biBzaGVsbCBhZnRlciAtcyBvciAtLXNoZWxsIGFyZ3VtZW50IgorbXNnc3RyICJVbmJla2FubnRlIFNoZWxsIGFscyBBcmd1bWVudCB2b24gLXMgb2RlciAtLXNoZWxsIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLV0gPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIC1vfC0tb3B0aW9ucyA8b3B0c3RyaW5nPiBbb3B0aW9uc10gWy0tXSA8cGFyYW1ldGVycz5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIDxPcHRpb25zemVpY2hlbmtldHRlPiA8UGFyYW1ldGVyPlxuIgorIiAlMSRzIFtPcHRpb25lbl0gWy0tXSA8T3B0aW9uc3plaWNoZW5rZXR0ZT4gPFBhcmFtZXRlcj5cbiIKKyJcbiIKKyIgJTEkcyBbT3B0aW9uZW5dIC1vfC0tb3B0aW9ucyA8T3B0aW9uc3plaWNoZW5rZXR0ZT4gW09wdGlvbmVuXSBbLS1dIFBhcmFtZXRlclxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzOAorbXNnaWQgIlBhcnNlIGNvbW1hbmQgb3B0aW9ucy5cbiIKK21zZ3N0ciAiQmVmZWhsc29wdGlvbmVuIGF1c3dlcnRlbi5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDEKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAgYWxsb3cgbG9uZyBvcHRpb25zIHN0YXJ0aW5nIHdpdGggc2luZ2xlIC1cbiIKK21zZ3N0ciAiIgorIiAgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICBsYW5nZSBPcHRpb25lbiBkw7xyZmVuIGF1Y2ggbWl0XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWluZmFjaGVtIC0gYmVnaW5uZW5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDIKK21zZ2lkICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiAgdGhlIGxvbmcgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAtbCwgLS1sb25nb3B0aW9ucyA8bGFuZ2VvcHQ+ICB6dSBlcmtlbm5lbmRlIGxhbmdlIE9wdGlvbmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQzCittc2dpZCAiIC1uLCAtLW5hbWUgPHByb2duYW1lPiAgICAgICAgIHRoZSBuYW1lIHVuZGVyIHdoaWNoIGVycm9ycyBhcmUgcmVwb3J0ZWRcbiIKK21zZ3N0ciAiIC1uLCAtLW5hbWUgPFByb2duYW1lPiAgICAgICAgIERlciBOYW1lLCBkZXIgaW4gRmVobGVybWVsZHVuZ2VuIGJlbnV0enQgd2lyZFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NAorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgICB0aGUgc2hvcnQgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgICB6dSBlcmtlbm5lbmRlIGt1cnplIE9wdGlvbmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ1Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGRpc2FibGUgZXJyb3IgcmVwb3J0aW5nIGJ5IGdldG9wdCgzKVxuIgorbXNnc3RyICIgIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgRmVobGVybWVsZHVuZ2VuIHZvbiBnZXRvcHQoMykgdW50ZXJkcsO8Y2tlblxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NgorbXNnaWQgIiAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICBubyBub3JtYWwgb3V0cHV0XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBLZWluZSBub3JtYWxlIEF1c2dhYmVcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDcKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgc2V0IHF1b3RpbmcgY29udmVudGlvbnMgdG8gdGhvc2Ugb2YgPHNoZWxsPlxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPFNoZWxsPiAgICAgICAgICAgS29udmVudGlvbmVuIGbDvHIgU2hlbGwtUXVvdGluZyBzZXR6ZW5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDgKK21zZ2lkICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgdGVzdCBmb3IgZ2V0b3B0KDEpIHZlcnNpb25cbiIKK21zZ3N0ciAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIEF1ZiBnZXRvcHQoMSktVmVyc2lvbiB0ZXN0ZW5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDkKK21zZ2lkICIgLXUsIC0tdW5xdW90ZWQgICAgICAgICAgICAgICAgZG8gbm90IHF1b3RlIHRoZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIGRpZSBBdXNnYWJlIG5pY2h0IHF1b3RlblxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM5OSBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1OQorbXNnaWQgIm1pc3Npbmcgb3B0c3RyaW5nIGFyZ3VtZW50IgorbXNnc3RyICJmZWhsZW5kZXMgT3B0aW9uc3plaWNoZW5rZXR0ZW5hcmd1bWVudCIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzo0NTQKK21zZ2lkICJpbnRlcm5hbCBlcnJvciwgY29udGFjdCB0aGUgYXV0aG9yLiIKK21zZ3N0ciAiSW50ZXJuZXIgRmVobGVyLCBrb250YWt0aWVyZW4gU2llIGRlbiBBdXRvci4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjIzNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbCAlczsgdmFsaWQgc2lnbmFsczoiCittc2dzdHIgIlVuYmVrYW5udGVzIFNpZ25hbCAlczsgZ8O8bHRpZ2UgU2lnbmFsZToiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwMgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwaWQ+fDxuYW1lPi4uLlxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSA8UHJvemVzcy1JRD58TmFtZT4g4oCmXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwNQorbXNnaWQgIkZvcmNpYmx5IHRlcm1pbmF0ZSBhIHByb2Nlc3MuXG4iCittc2dzdHIgIkRpZSBCZWVuZGlndW5nIGVpbmVzIFByb3plc3NlcyBlcnp3aW5nZW4uXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwOAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkbyBub3QgcmVzdHJpY3QgdGhlIG5hbWUtdG8tcGlkIGNvbnZlcnNpb24gdG8gcHJvY2Vzc2VzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIHRoZSBzYW1lIHVpZCBhcyB0aGUgcHJlc2VudCBwcm9jZXNzXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkaWUgTmFtZS16dS1QSUQtVW13YW5kbHVuZyBuaWNodCBhdWYgUHJvemVzc2UgbWl0IGRlclxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xlaWNoZW4gVUlEIGJlc2NocsOkbmtlbiB3aWUgZGVyIGFrdHVlbGxlIFByb3plc3NcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzEwCittc2dpZCAiIC1zLCAtLXNpZ25hbCA8c2lnbmFsPiAgc2VuZCB0aGlzIDxzaWduYWw+IGluc3RlYWQgb2YgU0lHVEVSTVxuIgorbXNnc3RyICIgLXMsIC0tc2lnbmFsIDxTaWduYWw+ICBhbmdlZ2ViZW5lcyA8U2lnbmFsPiBhbnN0YXR0IFNJR1RFUk0gc2VuZGVuXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMgorbXNnaWQgIiAtcSwgLS1xdWV1ZSA8dmFsdWU+ICAgIHVzZSBzaWdxdWV1ZSgyKSwgbm90IGtpbGwoMiksIGFuZCBwYXNzIDx2YWx1ZT4gYXMgZGF0YVxuIgorbXNnc3RyICIiCisiIC1xLCAtLXF1ZXVlIDxXZXJ0PiAgICAgc2lncXVldWUoMikgYW5zdGF0dCBraWxsKDIpIHZlcndlbmRlbiB1bmQgPFdlcnQ+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBhbHMgRGF0ZW4gw7xiZXJnZWJlblxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTQKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgICBwcmludCBwaWRzIHdpdGhvdXQgc2lnbmFsaW5nIHRoZW1cbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgUElEcyBhdXNnZWJlbiwgb2huZSB6dSBzaWduYWxpc2llcmVuXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNQorbXNnaWQgIiAtbCwgLS1saXN0Wz08c2lnbmFsPl0gIGxpc3Qgc2lnbmFsIG5hbWVzLCBvciBjb252ZXJ0IGEgc2lnbmFsIG51bWJlciB0byBhIG5hbWVcbiIKK21zZ3N0ciAiIgorIiAtbCwgLS1saXN0IFs9PFNpZ25hbD5dIFNpZ25hbG5hbWVuIGF1Zmxpc3RlbiBvZGVyIGVpbmUgU2lnbmFsbnVtbWVyXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBlaW5lbiBOYW1lbiB1bXdhbmRlbG5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE2Cittc2dpZCAiIC1MLCAtLXRhYmxlICAgICAgICAgICAgbGlzdCBzaWduYWwgbmFtZXMgYW5kIG51bWJlcnNcbiIKK21zZ3N0ciAiIC1MLCAtLXRhYmxlICAgICAgICAgICAgU2lnbmFsbmFtZW4gdW5kIC1udW1tZXJuIGF1Zmxpc3RlblxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTcKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBwaWRzIHRoYXQgd2lsbCBiZSBzaWduYWxlZFxuIgorbXNnc3RyICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBQcm96ZXNzLUlEcyBhbnplaWdlbiwgZGVuZW4gZWluIFNpZ25hbCBnZXNlbmRldCB3aXJkXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM2NyBtaXNjLXV0aWxzL2tpbGwuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWw6ICVzIgorbXNnc3RyICJ1bmJla2FubnRlcyBTaWduYWw6ICVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozODcgbWlzYy11dGlscy9raWxsLmM6MzkwIG1pc2MtdXRpbHMva2lsbC5jOjM5OQorIzogbWlzYy11dGlscy9raWxsLmM6NDExIG1pc2MtdXRpbHMva2lsbC5jOjQzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiJXMgdW5kICVzIHNjaGxpZcOfZW4gc2ljaCBnZWdlbnNlaXRpZyBhdXMuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozOTYgbWlzYy11dGlscy9raWxsLmM6NDM4IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTc0CisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjAgdGVybS11dGlscy9hZ2V0dHkuYzo3ODkgdGVybS11dGlscy9hZ2V0dHkuYzo3OTgKK21zZ2lkICJub3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAiTmljaHQgZ2VudWcgQXJndW1lbnRlIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uICclcycgcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgIk9wdGlvbiDigJ4lc+KAnCBiZW7DtnRpZ3QgZWluIEFyZ3VtZW50IgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MTQgc3lzLXV0aWxzL2VqZWN0LmM6MjA1IHN5cy11dGlscy9lamVjdC5jOjIzMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2ODkgc3lzLXV0aWxzL3R1bmVscC5jOjE2MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTY4CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTc1IHN5cy11dGlscy90dW5lbHAuYzoxODIgc3lzLXV0aWxzL3R1bmVscC5jOjE4OQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE5NSBzeXMtdXRpbHMvdHVuZWxwLmM6MTk5IHN5cy11dGlscy90dW5lbHAuYzoyMDYKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyMzEgdGVybS11dGlscy9zZXR0ZXJtLmM6MjEzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxNgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTEgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk4CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMDAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzEyIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxNAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzIzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMzMSB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzYyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNzMgdGVybS11dGlscy9zZXR0ZXJtLmM6NTM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0MAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTQ1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NzQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU3OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODQgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg5CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTQgdGVybS11dGlscy9zZXR0ZXJtLmM6NTk5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwNworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NjQwCittc2dpZCAiYXJndW1lbnQgZXJyb3IiCittc2dzdHIgIkZlaGxlciBpbiBkZW4gQXJndW1lbnRlbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2lnbmFsIG5hbWUgb3IgbnVtYmVyOiAlcyIKK21zZ3N0ciAiVW5nw7xsdGlnZXIgU2lnbmFsbmFtZSBvZGVyIC1udW1tZXI6ICVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgJWQgdG8gcGlkICVkXG4iCittc2dzdHIgIlNpZ25hbCAlZCB3aXJkIGFuIFByb3plc3MtSUQgJWQgZ2VzZW5kZXRcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiU2VuZGVuIGRlcyBTaWduYWxzIGFuICVzIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NTA3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHByb2Nlc3MgXCIlc1wiIgorbXNnc3RyICJEZXIgUHJvemVzcyDigJ4lc+KAnCBrb25udGUgbmljaHQgZ2VmdW5kZW4gd2VyZGVuLiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSBuYW1lOiAlcyIKK21zZ3N0ciAiVW5iZWthbm50ZXIgRWlucmljaHR1bmdzbmFtZTogJXMuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHByaW9yaXR5IG5hbWU6ICVzIgorbXNnc3RyICJVbmJla2FubnRlciBQcmlvcml0w6R0c25hbWU6ICVzLiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlbmxvZyAlczogcGF0aG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm9wZW5sb2cgJXM6IFBmYWRuYW1lIHp1IGxhbmciCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjY3CisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCAlcyIKK21zZ3N0ciAiU29ja2V0ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBuYW1lICVzIHBvcnQgJXM6ICVzIgorbXNnc3RyICJSZWNobmVybmFtZSAlcywgUG9ydCAlcyBrb25udGUgbmljaHQgYXVmZ2Vsw7ZzdCB3ZXJkZW46ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMyMworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY29ubmVjdCB0byAlcyBwb3J0ICVzIgorbXNnc3RyICJWZXJiaW5kdW5nIHp1ICVzIFBvcnQgJXMga29ubnRlIG5pY2h0IGF1ZmdlYmF1dCB3ZXJkZW4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heGltdW0gaW5wdXQgbGluZXMgKCVkKSBleGNlZWRlZCIKK21zZ3N0ciAiTWF4aW1hbGUgRWluZ2FiZXplaWxlbiAoJWQpIMO8YmVyc2Nocml0dGVuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjQ4NworbXNnaWQgInNlbmQgbWVzc2FnZSBmYWlsZWQiCittc2dzdHIgIkRhcyBTZW5kZW4gZGVyIE5hY2hyaWNodCB3YXIgbmljaHQgbcO2Z2xpY2giCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTU4CisjLCBjLWZvcm1hdAorbXNnaWQgInN0cnVjdHVyZWQgZGF0YSBJRCAnJXMnIGlzIG5vdCB1bmlxdWUiCittc2dzdHIgImRpZSBJRCBmw7xyIHN0cnVrdHVyaWVydGUgRGF0ZW4g4oCeJXPigJwgaXN0IG5pY2h0IGVpbmRldXRpZyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1zZC1pZCB3YXMgbm90IHNwZWNpZmllZCBmb3IgLS1zZC1wYXJhbSAlcyIKK21zZ3N0ciAiZXMgd3VyZGUgZsO8ciAtLXNkLXBhcmFtICVzIGtlaW4gLS1zZC1pZCBhbmdlZ2ViZW4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzU0Cittc2dpZCAibG9jYWx0aW1lKCkgZmFpbGVkIgorbXNnc3RyICJsb2NhbHRpbWUoKSBmZWhsZ2VzY2hsYWdlbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaG9zdG5hbWUgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiUmVjaG5lcm5hbWUg4oCeJXPigJwgaXN0IHp1IGxhbmcuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc3MAorIywgYy1mb3JtYXQKK21zZ2lkICJ0YWcgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiVGFnIOKAniVz4oCcIGlzdCB6dSBsYW5nIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjgzMworIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyB1bmtub3duIG9wdGlvbiBhcmd1bWVudDogJXMiCittc2dzdHIgIlVuYmVrYW5udGVzIE9wdGlvbnNhcmd1bWVudCB3aXJkIGlnbm9yaWVydDogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzOiB1c2luZyBhdXRvbWF0aWMgZXJyb3JzIgorbXNnc3RyICJ1bnp1bMOkc3NpZ2VzIEFyZ3VtZW50OiAlczogYXV0b21hdGlzY2hlIEZlaGxlciB3ZXJkZW4gdmVyd2VuZGV0IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjk5NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bWVzc2FnZT5dXG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIFs8TWVsZHVuZz5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6OTk3Cittc2dpZCAiRW50ZXIgbWVzc2FnZXMgaW50byB0aGUgc3lzdGVtIGxvZy5cbiIKK21zZ3N0ciAiTWVsZHVuZ2VuIGluIGRhcyBTeXN0ZW1wcm90b2tvbGwgZWluZ2ViZW4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMAorbXNnaWQgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgbG9nIHRoZSBsb2dnZXIgY29tbWFuZCdzIFBJRFxuIgorbXNnc3RyICIgLWkgICAgICAgICAgICAgICAgICAgICAgIGRpZSBQSUQgZGVzIExvZ2dlcnMgaW0gUHJvdG9rb2xsIGZlc3RoYWx0ZW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAxCittc2dpZCAiICAgICAtLWlkWz08aWQ+XSAgICAgICAgICBsb2cgdGhlIGdpdmVuIDxpZD4sIG9yIG90aGVyd2lzZSB0aGUgUElEXG4iCittc2dzdHIgIiAgICAgLS1pZFs9PElEPl0gICAgICAgPElEPiBwcm90b2tvbGxpZXJlbiAoVm9yZ2FiZSBpc3QgUHJvemVzcy1JRClcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAyCittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICAgICBsb2cgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZVxuIgorbXNnc3RyICIgLWYsIC0tZmlsZSA8RGF0ZWk+ICAgICAgIGRlbiBJbmhhbHQgZGllc2VyIERhdGVpIHByb3Rva29sbGllcmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMworbXNnaWQgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgZG8gbm90IGxvZyBlbXB0eSBsaW5lcyB3aGVuIHByb2Nlc3NpbmcgZmlsZXNcbiIKK21zZ3N0ciAiIC1lLCAtLXNraXAtZW1wdHkgICAgICAgICBiZWltIFZlcmFyYmVpdGVuIGRlciBEYXRlaWVuIGxlZXJlIFplaWxlbiBuaWNodCBwcm90b2tvbGxpZXJlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDQKK21zZ2lkICIgICAgIC0tbm8tYWN0ICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSB3cml0ZSB0aGUgbG9nXG4iCittc2dzdHIgIiAgICAgLS1uby1hY3QgICAgICAgICAgICAgYWxsZXMgYXXDn2VyIGRlbSBTY2hyZWliZW4gZGVzIFByb3Rva29sbHMgYXVzZsO8aHJlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDUKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIG1hcmsgZ2l2ZW4gbWVzc2FnZSB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiIC1wLCAtLXByaW9yaXR5IDxQcmlvPiAgICBhbmdlZ2ViZW5lIE5hY2hyaWNodCBtaXQgZGllc2VyIFByaW9yaXTDpHQgbWFya2llcmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNgorbXNnaWQgIiAgICAgLS1vY3RldC1jb3VudCAgICAgICAgdXNlIHJmYzY1ODcgb2N0ZXQgY291bnRpbmdcbiIKK21zZ3N0ciAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgIE9rdGV0ZSBuYWNoIFJGQzY1ODcgesOkaGxlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDcKK21zZ2lkICIgICAgIC0tcHJpby1wcmVmaXggICAgICAgIGxvb2sgZm9yIGEgcHJlZml4IG9uIGV2ZXJ5IGxpbmUgcmVhZCBmcm9tIHN0ZGluXG4iCittc2dzdHIgIiIKKyIgICAgIC0tcHJpby1wcmVmaXggICAgIG5hY2ggZWluZW0gUHLDpGZpeCBpbiBqZWRlciBkZXIgYXVzIGRlciBTdGFuZGFyZGVpbmdhYmVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgIGdlbGVzZW5lbiBaZWlsZW4gc3VjaGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwOAorbXNnaWQgIiAtcywgLS1zdGRlcnIgICAgICAgICAgICAgb3V0cHV0IG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IgYXMgd2VsbFxuIgorbXNnc3RyICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIE5hY2hyaWNodCBhdWNoIGluIGRpZSBTdGFuZGFyZC1GZWhsZXJhdXNnYWJlIGxlaXRlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDkKK21zZ2lkICIgLVMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgIG1heGltdW0gc2l6ZSBmb3IgYSBzaW5nbGUgbWVzc2FnZVxuIgorbXNnc3RyICIgLVMsIC0tc2l6ZSA8R3LDtsOfZT4gICAgICAgbWF4aW1hbGUgR3LDtsOfZSBlaW5lcyBlaW56ZWxuZW4gRWludHJhZ3NcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEwCittc2dpZCAiIC10LCAtLXRhZyA8dGFnPiAgICAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorbXNnc3RyICIgLXQsIC0tdGFnIDxNYXJrZXI+ICAgICAgIGplZGUgWmVpbGUgbWl0IGRpZXNlciBNYXJraWVydW5nIHZlcnNlaGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMQorbXNnaWQgIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorbXNnc3RyICIgLW4sIC0tc2VydmVyIDxOYW1lPiAgICAgIGF1ZiBkaWVzZW4gZW50ZmVybnRlbiBTeXNsb2ctU2VydmVyIHNjaHJlaWJlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTIKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBvcnQgPHBvcnQ+ICAgICAgICB1c2UgdGhpcyBwb3J0IGZvciBVRFAgb3IgVENQIGNvbm5lY3Rpb25cbiIKK21zZ3N0ciAiIC1QLCAtLXBvcnQgPE51bW1lcj4gICAgICBkaWVzZW4gVURQLVBvcnQgdmVyd2VuZGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMworbXNnaWQgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgdXNlIFRDUCBvbmx5XG4iCittc2dzdHIgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgbnVyIFRDUCB2ZXJ3ZW5kZW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE0Cittc2dpZCAiIC1kLCAtLXVkcCAgICAgICAgICAgICAgICB1c2UgVURQIG9ubHlcbiIKK21zZ3N0ciAiIC1kLCAtLXVkcCAgICAgICAgICAgICAgICBudXIgVURQIHZlcndlbmRlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTUKK21zZ2lkICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIHVzZSB0aGUgb2Jzb2xldGUgQlNEIHN5c2xvZyBwcm90b2NvbFxuIgorbXNnc3RyICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIGRhcyB2ZXJhbHRldGUgQlNELVN5c3RlbXByb3Rva29sbCB2ZXJ3ZW5kZW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE2Cittc2dpZCAiIgorIiAgICAgLS1yZmM1NDI0Wz08c25pcD5dICAgdXNlIHRoZSBzeXNsb2cgcHJvdG9jb2wgKHRoZSBkZWZhdWx0IGZvciByZW1vdGUpO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c25pcD4gY2FuIGJlIG5vdGltZSwgb3Igbm90cSwgYW5kL29yIG5vaG9zdFxuIgorbXNnc3RyICIiCisiICAgICAtLXJmYzU0MjRbPTxNb2R1cz5dICAgZGFzIFN5c2xvZ3Byb3Rva29sbCB2ZXJ3ZW5kZW4gKFZvcmdhYmUgZsO8ciBlbnRmZXJudGVzIFByb3Rva29sbGllcmVuKTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1vZHVzPiBrYW5uIG5vdGltZSwgbm90cSB1bmQvb2RlciBub2hvc3Qgc2VpblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTgKK21zZ2lkICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIElEXG4iCittc2dzdHIgIiAgICAgLS1zZC1pZCA8aWQ+ICAgICAgICAgZGllIFJGQzU0MjQgTG9nLUlEIHNldHplblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTkKK21zZ2lkICIgICAgIC0tc2QtcGFyYW0gPGRhdGE+ICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIG5hbWU9dmFsdWVcbiIKK21zZ3N0ciAiICAgICAtLXNkLXBhcmFtIDxEYXRlbj4gICBOYW1lIGRlciBzdHJ1a3RndXJpZXJ0ZW4gRGF0ZW4gbmFjaCByZmM1NDI0PVdlcnRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDIwCittc2dpZCAiICAgICAtLW1zZ2lkIDxtc2dpZD4gICAgICBzZXQgcmZjNTQyNCBtZXNzYWdlIGlkIGZpZWxkXG4iCittc2dzdHIgIiAgICAgLS1tc2dpZCA8bXNnaWQ+ICAgICAgZGllIFJGQzU0MjQgTG9nLUlEIHNldHplblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjEKK21zZ2lkICIgLXUsIC0tc29ja2V0IDxzb2NrZXQ+ICAgIHdyaXRlIHRvIHRoaXMgVW5peCBzb2NrZXRcbiIKK21zZ3N0ciAiIC11LCAtLXNvY2tldCA8U29ja2V0PiBhdWYgZGllc2VuIFVuaXgtU29ja2V0IHNjaHJlaWJlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjIKK21zZ2lkICIiCisiICAgICAtLXNvY2tldC1lcnJvcnNbPTxvbnxvZmZ8YXV0bz5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludCBjb25uZWN0aW9uIGVycm9ycyB3aGVuIHVzaW5nIFVuaXggc29ja2V0c1xuIgorbXNnc3RyICIiCisiICAgICAtLXNvY2tldC1lcnJvcnNbPTxvbnxvZmZ8YXV0bz5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBWZXJiaW5kdW5nc2ZlaGxlciBiZWkgZGVyIEJlbnV0enVuZyB2b24gVW5peC1Tb2NrZXRzIGF1c2dlYmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyNQorbXNnaWQgIiAgICAgLS1qb3VybmFsZFs9PGZpbGU+XSAgd3JpdGUgam91cm5hbGQgZW50cnlcbiIKK21zZ3N0ciAiICAgICAtLWpvdXJuYWxkWz08RGF0ZWk+XSBqb3VybmFsZC1FaW50cmFnIHNjaHJlaWJlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZSAlcyIKK21zZ3N0ciAiRGF0ZWkgJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTEyNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBpZCIKK21zZ3N0ciAiSUQga29ubnRlIG5pY2h0IGVpbmdlbGVzZW4gd2VyZGVuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNDUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWVzc2FnZSBzaXplIgorbXNnc3RyICJEaWUgR3LDtsOfZSBlaW5lcyBFaW50cmFncyBrb25udGUgbmljaHQgZWluZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE4MAorbXNnaWQgIi0tbXNnaWQgY2Fubm90IGNvbnRhaW4gc3BhY2UiCittc2dzdHIgIi0tbXNnaWQgZGFyZiBrZWluZSBMZWVyemVpY2hlbiBlbnRoYWx0ZW4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIwMgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBJRDogJyVzJyIKK21zZ3N0ciAidW5nw7xsdGlnZSBMb2ctSUQ6IOKAniVz4oCdIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICJ1bmfDvGx0aWdlciBMb2ctUGFyYW1ldGVyOiDigJ4lc+KAnSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjE4Cittc2dpZCAiLS1maWxlIDxmaWxlPiBhbmQgPG1lc3NhZ2U+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIG1lc3NhZ2UgaXMgaWdub3JlZCIKK21zZ3N0ciAiLS1maWxlIDxEYXRlaT4gdW5kIDxNZWxkdW5nPiBzY2hsaWXDn2VuIHNpY2ggZ2VnZW5zZWl0aWcgYXVzLCBkaWUgTWVsZHVuZyB3aXJkIGlnbm9yaWVydCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjI1Cittc2dpZCAiam91cm5hbGQgZW50cnkgY291bGQgbm90IGJlIHdyaXR0ZW4iCittc2dzdHIgImRlciBqb3VybmFsZC1FaW50cmFnIGtvbm50ZSBuaWNodCBnZXNjaHJpZWJlbiB3ZXJkZW4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM1NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxzdHJpbmc+IFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIFplaWNoZW5rZXR0ZSBbPERhdGVpPiDigKZdXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM1OAorbXNnaWQgIkRpc3BsYXkgbGluZXMgYmVnaW5uaW5nIHdpdGggYSBzcGVjaWZpZWQgc3RyaW5nLlxuIgorbXNnc3RyICJaZWlsZW4gYW56ZWlnZW4sIGRpZSBtaXQgZGVyIGFuZ2VnZWJlbmVuIFplaWNoZW5rZXR0ZSBiZWdpbm5lbi5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYxCittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICB1c2UgdGhlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICBkYXMgYWx0ZXJuYXRpdmUgV8O2cnRlcmJ1Y2ggdmVyd2VuZGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MgorbXNnaWQgIiAtZCwgLS1hbHBoYW51bSAgICAgICAgICAgY29tcGFyZSBvbmx5IGJsYW5rcyBhbmQgYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBudXIgYWxwaGFudW1lcmlzY2hlIFplaWNoZW4gdW5kIExlZXJ6ZWljaGVuIHZlcmdsZWljaGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MworbXNnaWQgIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIKK21zZ3N0ciAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBHcm/Dny0vS2xlaW5zY2hyZWlidW5nIGJlaW0gVmVyZ2xlaWNoIGlnbm9yaWVyZW5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY0Cittc2dpZCAiIC10LCAtLXRlcm1pbmF0ZSA8Y2hhcj4gICBkZWZpbmUgdGhlIHN0cmluZy10ZXJtaW5hdGlvbiBjaGFyYWN0ZXJcbiIKK21zZ3N0ciAiIC10LCAtLXRlcm1pbmF0ZSA8WmVpY2guPiBsZWd0IGRhcyBBYnNjaGx1c3N6ZWljaGVuIGVpbmVyIFplaWNoZW5rZXR0ZSBmZXN0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTcKK21zZ2lkICJkZXZpY2UgbmFtZSIKK21zZ3N0ciAiR2Vyw6R0ZW5hbWUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTgKK21zZ2lkICJpbnRlcm5hbCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgImludGVybmVyIEtlcm5lbC1HZXLDpHRlbmFtZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OQorbXNnaWQgImludGVybmFsIHBhcmVudCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgImludGVybmVyIEtlcm5lbC1HZXLDpHRlbmFtZSBkZXMgw7xiZXJnZW9yZG5ldGVuIEdlcsOkdHMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIgc3lzLXV0aWxzL3pyYW1jdGwuYzo4NAorbXNnaWQgIndoZXJlIHRoZSBkZXZpY2UgaXMgbW91bnRlZCIKK21zZ3N0ciAiRWluaMOkbmdlb3J0IGRlcyBHZXLDpHRlcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MworbXNnaWQgImZpbGVzeXN0ZW0gTEFCRUwiCittc2dzdHIgIkRhdGVpc3lzdGVtLUJFWkVJQ0hOVU5HIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2Cittc2dpZCAicGFydGl0aW9uIHR5cGUgVVVJRCIKK21zZ3N0ciAiUGFydGl0aW9uc3R5cC1VVUlEIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY3Cittc2dpZCAicGFydGl0aW9uIExBQkVMIgorbXNnc3RyICJQYXJ0aXRpb25zLUJFWkVJQ0hOVU5HIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcxCittc2dpZCAicmVhZC1haGVhZCBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJSZWFkLWFoZWFkLUNhY2hlIGRlcyBHZXLDpHRzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcyIHN5cy11dGlscy9sb3NldHVwLmM6NzUKK21zZ2lkICJyZWFkLW9ubHkgZGV2aWNlIgorbXNnc3RyICJOdXItTGVzZS1HZXLDpHQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzMKK21zZ2lkICJyZW1vdmFibGUgZGV2aWNlIgorbXNnc3RyICJlbnRmZXJuYmFyZXMgR2Vyw6R0IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc0Cittc2dpZCAicmVtb3ZhYmxlIG9yIGhvdHBsdWcgZGV2aWNlICh1c2IsIHBjbWNpYSwgLi4uKSIKK21zZ3N0ciAiV2VjaHNlbGRhdGVudHLDpGdlciBvZGVyIEhvdHBsdWctR2Vyw6R0IChVU0IsIFBDTUNJQSDigKYpIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc1Cittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgIlJvdGF0aW9uc2dlcsOkdCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NgorbXNnaWQgImFkZHMgcmFuZG9tbmVzcyIKK21zZ3N0ciAidmVyZ3LDtsOfZXJ0IGRpZSBadWbDpGxsaWdrZWl0IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc3Cittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIiCittc2dzdHIgIkdlcsOkdGViZXplaWNobmVyIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc4Cittc2dpZCAiZGlzayBzZXJpYWwgbnVtYmVyIgorbXNnc3RyICJGZXN0cGxhdHRlbi1TZXJpZW5udW1tZXIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzkKK21zZ2lkICJzaXplIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgIkdyw7bDn2UgZGVzIEdlcsOkdHMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODAKK21zZ2lkICJzdGF0ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJTdGF0dXMgZGVzIEdlcsOkdHMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODIKK21zZ2lkICJncm91cCBuYW1lIgorbXNnc3RyICJHcnVwcGVubmFtZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MworbXNnaWQgImRldmljZSBub2RlIHBlcm1pc3Npb25zIgorbXNnc3RyICJHZXLDpHRla25vdGVuLUJlcmVjaHRpZ3VuZ2VuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg0Cittc2dpZCAiYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAiQXVzcmljaHR1bmdzLVBvc2l0aW9uIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg1Cittc2dpZCAibWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAiTWluaW1hbGUgRS9BLUdyw7bDn2UiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODYKK21zZ2lkICJvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICJPcHRpbWFsZSBFL0EtR3LDtsOfZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NworbXNnaWQgInBoeXNpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJwaHlzaXNjaGUgU2VrdG9yZ3LDtsOfZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OAorbXNnaWQgImxvZ2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgImxvZ2lzY2hlIFNla3Rvcmdyw7bDn2UiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODkKK21zZ2lkICJJL08gc2NoZWR1bGVyIG5hbWUiCittc2dzdHIgIk5hbWUgZGVzIEUvQS1TY2hlZHVsZXJzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwCittc2dpZCAicmVxdWVzdCBxdWV1ZSBzaXplIgorbXNnc3RyICJHcsO2w59lIGRlciBXYXJ0ZXNjaGxhbmdlIGbDvHIgQW5mb3JkZXJ1bmdlbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MQorbXNnaWQgImRldmljZSB0eXBlIgorbXNnc3RyICJHZXLDpHRldHlwIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkyCittc2dpZCAiZGlzY2FyZCBhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICJkZW4gQXVzcmljaHR1bmdzb2Zmc2V0IHZlcndlcmZlbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MworbXNnaWQgImRpc2NhcmQgZ3JhbnVsYXJpdHkiCittc2dzdHIgImRpZSBHcmFudWxhcml0w6R0IHZlcndlcmZlbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NAorbXNnaWQgImRpc2NhcmQgbWF4IGJ5dGVzIgorbXNnc3RyICJkaWUgbWF4aW1hbGVuIEJ5dGVzIHZlcndlcmZlbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NQorbXNnaWQgImRpc2NhcmQgemVyb2VzIGRhdGEiCittc2dzdHIgIkRhdHRlbiBmw7xyIE51bGxlbiB2ZXJ3ZXJmZW4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTYKK21zZ2lkICJ3cml0ZSBzYW1lIG1heCBieXRlcyIKK21zZ3N0ciAiZGllIHNlbGJlbiBtYXhpbWFsZW4gQnl0ZXMgd2VyZGVuIGdlc2NocmllYmVuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk3Cittc2dpZCAidW5pcXVlIHN0b3JhZ2UgaWRlbnRpZmllciIKK21zZ3N0ciAiZWluZGV1dGlnZXIgU3BlaWNoZXJiZXplaWNobmVyIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk4Cittc2dpZCAiSG9zdDpDaGFubmVsOlRhcmdldDpMdW4gZm9yIFNDU0kiCittc2dzdHIgIkhvc3Q6S2FuYWw6WmllbDpMVU4gZsO8ciBTQ1NJIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk5Cittc2dpZCAiZGV2aWNlIHRyYW5zcG9ydCB0eXBlIgorbXNnc3RyICJUcmFuc3BvcnR0eXAgZGVzIEdlcsOkdGVzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAwCittc2dpZCAiZGUtZHVwbGljYXRlZCBjaGFpbiBvZiBzdWJzeXN0ZW1zIgorbXNnc3RyICJkZWR1cGxpemllcnRlIEtldHRlIHZvbiBTdWJzeXN0ZW1lbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMQorbXNnaWQgImRldmljZSByZXZpc2lvbiIKK21zZ3N0ciAiR2Vyw6R0ZXJldmlzaW9uIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAyCittc2dpZCAiZGV2aWNlIHZlbmRvciIKK21zZ3N0ciAiR2Vyw6R0ZWhlcnN0ZWxsZXIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxMjc2Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGV2aWNlIGRpcmVjdG9yeSBpbiBzeXNmcyIKK21zZ3N0ciAiR2Vyw6R0ZXZlcnplaWNobmlzIGluIHN5c2ZzIGtvbm50ZSBuaWNodCBnZcO2ZmZuZXQgd2VyZGVuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNvbXBvc2Ugc3lzZnMgcGF0aCIKK21zZ3N0ciAiJXM6IHN5c2ZzLVBmYWQga29ubnRlIG5pY2h0IGVyc3RlbGx0IHdlcmRlbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIGxpbmsiCittc2dzdHIgIiVzOiBMZXNlbiBlaW5lciBWZXJrbsO8cGZ1bmcgZmVobHNjaGxhZ2VuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIgorbXNnc3RyICIlczogc3lzZnMtTmFtZSBrb25udGUgbmljaHQgZXJtaXR0ZWx0IHdlcmRlbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgd2hvbGUtZGlzayBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIlczogR2Vyw6R0ZW51bW1lciBmw7xyIGRhcyBHZXNhbXRsYXVmd2VyayBrb25udGUgbmljaHQgZXJtaXR0ZWx0IHdlcmRlbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NTEgbWlzYy11dGlscy9sc2Jsay5jOjE1NTMgbWlzYy11dGlscy9sc2Jsay5jOjE1NzgKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTgwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsaXN0ICclcyciCittc2dzdHIgIkxpc3RlIOKAniVz4oCcIGtvbm50ZSBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgZXhjbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICJEaWUgTGlzdGUgYXVzZ2VzY2hsb3NzZW5lciBHZXLDpHRlIGlzdCB6dSBsYW5nIChNYXhpbXVtIGlzdCAlZCBHZXLDpHRlKSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgaW5jbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICJEaWUgTGlzdGUgZWluYmV6b2dlbmVyIEdlcsOkdGUgaXN0IHp1IGxhbmcgKE1heGltdW0gaXN0ICVkIEdlcsOkdGUpIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxNiBzeXMtdXRpbHMvd2RjdGwuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSBbPEdlcsOkdD4g4oCmXVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxOQorbXNnaWQgIkxpc3QgaW5mb3JtYXRpb24gYWJvdXQgYmxvY2sgZGV2aWNlcy5cbiIKK21zZ3N0ciAiSW5mb3JtYXRpb25lbiB6dSBibG9ja29yaWVudGllcnRlbiBHZXLDpHRlbiBhdXNnZWJlbi5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjIKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgcHJpbnQgYWxsIGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgIGFsbGUgR2Vyw6R0ZSBhdXNnZWJlblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNAorbXNnaWQgIiAtZCwgLS1ub2RlcHMgICAgICAgICBkb24ndCBwcmludCBzbGF2ZXMgb3IgaG9sZGVyc1xuIgorbXNnc3RyICIiCisiIC1kLCAtLW5vZGVwcyAgICAgICAgIGtlaW5lIHVudGVyLSBvZGVyIMO8YmVyZ2VvcmRuZXRlblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIEdlcsOkdGUgYXVzZ2ViZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjUKK21zZ2lkICIgLUQsIC0tZGlzY2FyZCAgICAgICAgcHJpbnQgZGlzY2FyZCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIC1ELCAtLWRpc2NhcmQgICAgICAgIFZlcndlcmZ1bmdzZsOkaGlna2VpdGVuIGF1c2dlYmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI2Cittc2dpZCAiIC1lLCAtLWV4Y2x1ZGUgPGxpc3Q+IGV4Y2x1ZGUgZGV2aWNlcyBieSBtYWpvciBudW1iZXIgKGRlZmF1bHQ6IFJBTSBkaXNrcylcbiIKK21zZ3N0ciAiIC1lLCAtLWV4Y2x1ZGUgPExpc3RlPiAgIEdlcsOkdGUgbmFjaCBNYWpvci1OdW1tZXIgYXVzY2hsaWXDn2VuIChWb3JnYWJlOiBSQU0tRGlza3MpXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI3Cittc2dpZCAiIC1mLCAtLWZzICAgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtZiwgLS1mcyAgICAgICAgICAgICBJbmZvcyDDvGJlciBEYXRlaXN5c3RlbWUgYXVzZ2ViZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjgKK21zZ2lkICIgLWksIC0tYXNjaWkgICAgICAgICAgdXNlIGFzY2lpIGNoYXJhY3RlcnMgb25seVxuIgorbXNnc3RyICIgLWksIC0tYXNjaWkgICAgICAgICAgbnVyIEFTQ0lJLVplaWNoZW4gdmVyd2VuZGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI5Cittc2dpZCAiIC1JLCAtLWluY2x1ZGUgPGxpc3Q+IHNob3cgb25seSBkZXZpY2VzIHdpdGggc3BlY2lmaWVkIG1ham9yIG51bWJlcnNcbiIKK21zZ3N0ciAiIC1JLCAtLWluY2x1ZGUgPExpc3RlPiAgIG51ciBHZXLDpHRlIG1pdCBhbmdlZ2ViZW5lbiBNYWpvci1OdW1tZXJuIGFuemVpZ2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMwCittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICBpbSBKU09OLUZvcm1hdCBhdXNnZWJlblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICBpbSBMaXN0ZW5mb3JtYXQgYXVzZ2ViZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzIKK21zZ2lkICIgLW0sIC0tcGVybXMgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIC1tLCAtLXBlcm1zICAgICAgICAgIEluZm9ybWF0aW9uIHp1IFp1Z3JpZmZzcmVjaHRlbiBhdXNnZWJlblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMworbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAga2VpbmUgw5xiZXJzY2hyaWZ0ZW4gYW56ZWlnZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzQKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8TGlzdGU+IFNwYWx0ZW4gZGVyIEF1c2dhYmVcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzUKK21zZ2lkICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgb3V0cHV0IGFsbCBjb2x1bW5zXG4iCittc2dzdHIgIiAtTywgLS1vdXRwdXQtYWxsICAgICBhbGxlIFNwYWx0ZW4gYXVzZ2ViZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzYKK21zZ2lkICIgLXAsIC0tcGF0aHMgICAgICAgICAgcHJpbnQgY29tcGxldGUgZGV2aWNlIHBhdGhcbiIKK21zZ3N0ciAiIC1wLCAtLXBhdGhzICAgICAgICAgIHZvbGxzdMOkbmRpZ2VuIEdlcsOkdGVwZmFkIGF1c2dlYmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM5Cittc2dpZCAiIC1zLCAtLWludmVyc2UgICAgICAgIGludmVyc2UgZGVwZW5kZW5jaWVzXG4iCittc2dzdHIgIiAtcywgLS1pbnZlcnNlICAgICAgICBBYmjDpG5naWdrZWl0ZW4gdW1rZWhyZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDAKK21zZ2lkICIgLVMsIC0tc2NzaSAgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgU0NTSSBkZXZpY2VzXG4iCittc2dzdHIgIiAtUywgLS1zY3NpICAgICAgICAgICBJbmZvcm1hdGlvbiB6dSBTQ1NJLUdlcsOkdGVuIGF1c2dlYmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQxCittc2dpZCAiIC10LCAtLXRvcG9sb2d5ICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHRvcG9sb2d5XG4iCittc2dzdHIgIiAtdCwgLS10b3BvbG9neSAgICAgICBJbmZvcm1hdGlvbiB6dXIgVG9wb2xvZ2llIGF1c2dlYmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQyCittc2dpZCAiIC14LCAtLXNvcnQgPGNvbHVtbj4gIHNvcnQgb3V0cHV0IGJ5IDxjb2x1bW4+XG4iCittc2dzdHIgIiAteCwgLS1zb3J0IDxTcGFsdGU+ICBBdXNnYWJlIG5hY2ggPFNwYWx0ZT4gc29ydGllcmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ3IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxOSBzeXMtdXRpbHMvbHNucy5jOjYzMgorIzogc3lzLXV0aWxzL3BybGltaXQuYzoxOTYgc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1vdXRwdXQpOlxuIgorbXNnc3RyICIiCisiXG4iCisiVmVyZsO8Z2JhcmUgU3BhbHRlbiAoZsO8ciAtLW91dHB1dCk6XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhY2Nlc3Mgc3lzZnMgZGlyZWN0b3J5OiAlcyIKK21zZ3N0ciAiQXVmIHN5c2ZzLVZlcnplaWNobmlzIGtvbm50ZSBuaWNodCB6dWdlZ3JpZmZlbiB3ZXJkZW46ICVzIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3MworbXNnaWQgImNvbW1hbmQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAiQmVmZWhsIGRlcyBQcm96ZXNzZXMsIGRlciBkaWUgU3BlcnJlIGjDpGx0IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NAorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICJQSUQgZGVzIFByb3plc3NlcywgZGVyIGRpZSBTcGVycmUgaMOkbHQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc1Cittc2dpZCAia2luZCBvZiBsb2NrOiBGTF9GTE9DSyBvciBGTF9QT1NJWC4iCittc2dzdHIgIkFydCBkZXIgU3BlcnJlOiBGTF9GTE9DSyBvZGVyIEZMX1BPU0lYLiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzYKK21zZ2lkICJzaXplIG9mIHRoZSBsb2NrIgorbXNnc3RyICJHcsO2w59lIGRlciBTcGVycmUiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc3Cittc2dpZCAibG9jayBhY2Nlc3MgbW9kZSIKK21zZ3N0ciAiWnVncmlmZnNtb2R1cyBmw7xyIGRpZSBTcGVycmUiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc4Cittc2dpZCAibWFuZGF0b3J5IHN0YXRlIG9mIHRoZSBsb2NrOiAwIChub25lKSwgMSAoc2V0KSIKK21zZ3N0ciAiWndpbmdlbmQgZXJmb3JkZXJsaWNoZXIgU3RhdHVzIGRlciBTcGVycmU6IDAgKGtlaW5lciksIDEgKGZlc3RnZWxlZ3QpIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OQorbXNnaWQgInJlbGF0aXZlIGJ5dGUgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICJyZWxhdGl2ZSBCeXRlLVBvc2l0aW9uIGRlciBTcGVycnVuZyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODAKK21zZ2lkICJlbmRpbmcgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICJFbmQtUG9zaXRpb24gZGVyIFNwZXJyZSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODEKK21zZ2lkICJwYXRoIG9mIHRoZSBsb2NrZWQgZmlsZSIKK21zZ3N0ciAiUGZhZCBkZXIgZ2VzcGVycnRlbiBEYXRlaSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODIKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgYmxvY2tpbmcgdGhlIGxvY2siCittc2dzdHIgIlBJRCBkZXMgUHJvemVzc2VzLCBkZXIgZGllIFNwZXJyZSBow6RsdCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjU5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElEIgorbXNnc3RyICJJRCBrb25udGUgbmljaHQgZWluZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4MSBzeXMtdXRpbHMvbnNlbnRlci5jOjIzMgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwaWQiCittc2dzdHIgIlBJRCBrb25udGUgbmljaHQgZWluZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4NAorbXNnaWQgIih1bmtub3duKSIKK21zZ3N0ciAiKHVuYmVrYW5udCkiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI5MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGFydCIKK21zZ3N0ciAiRWlubGVzZW4gZGVzIEFuZmFuZ3MgZmVobGdlc2NobGFnZW4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjMwMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbmQiCittc2dzdHIgIkVpbmxlc2VuIGRlcyBFbmRlcyBmZWhsZ2VzY2hsYWdlbiIKKworIyAic3RlbGxlbiIKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNAorbXNnaWQgIkxpc3QgbG9jYWwgc3lzdGVtIGxvY2tzLlxuIgorbXNnc3RyICJMb2thbGUgU3lzdGVtc3BlcnJlbiBhdWZsaXN0ZW4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwOAorbXNnaWQgIiAtaSwgLS1ub2luYWNjZXNzaWJsZSAgIGlnbm9yZSBsb2NrcyB3aXRob3V0IHJlYWQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDkgc3lzLXV0aWxzL2xzbnMuYzo2MjEKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBrZWluZSDDnGJlcnNjaHJpZnRlbiBhbnplaWdlblxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTAgc3lzLXV0aWxzL2xzbnMuYzo2MjIKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPExpc3RlPiAgIGRpZSB6dSB2ZXJ3ZW5kZW5kZW4gQXVzZ2FiZXNwYWx0ZW4gZmVzdGxlZ2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMQorbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIGRpc3BsYXkgb25seSBsb2NrcyBoZWxkIGJ5IHRoaXMgcHJvY2Vzc1xuIgorbXNnc3RyICIgLXAsIC0tcGlkIDxQSUQ+ICAgICAgICBudXIgZGllIHZvbiBkaWVzZW0gUHJvemVzcyBnZWhhbHRlbmVuIFNwZXJyZW4gYW56ZWlnZW5cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTEyIHN5cy11dGlscy9sc25zLmM6NjI0Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICBSb2hhdXNnYWJlZm9ybWF0IHZlcndlbmRlblxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1NzAgc2NoZWR1dGlscy9jaHJ0LmM6NDc4IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc3CisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxNjMgc3lzLXV0aWxzL2xzbnMuYzo2OTkgc3lzLXV0aWxzL3BybGltaXQuYzo1ODYKK21zZ2lkICJpbnZhbGlkIFBJRCBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXMgUElELUFyZ3VtZW50IgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4NQorbXNnaWQgIkdlbmVyYXRlIG1hZ2ljIGNvb2tpZXMgZm9yIHhhdXRoLlxuIgorbXNnc3RyICJNYWdpc2NoZSBDb29raWVzIGbDvHIgeGF1dGggZXJ6ZXVnZW4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg4Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICB1c2UgZmlsZSBhcyBhIGNvb2tpZSBzZWVkXG4iCittc2dzdHIgIiAtZiwgLS1maWxlIDxEYXRlaT4gICAgRGF0ZWkgYWxzIENvb2tpZS1RdWVsbGUgdmVyd2VuZGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg5Cittc2dpZCAiIC1tLCAtLW1heC1zaXplIDxudW0+ICBsaW1pdCBob3cgbXVjaCBpcyByZWFkIGZyb20gc2VlZCBmaWxlc1xuIgorbXNnc3RyICIgLW0sIC0tbWF4LXNpemUgPFphaGw+ICBiZWdyZW56dCwgd2llIHZpZWwgYXVzIFF1ZWxsZGF0ZWllbiBnZWxlc2VuIHdpcmRcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6OTAKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgZXJrbMOkcmVuIHdhcyBnZW1hY2h0IHdpcmRcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlenUgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlenUgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICIlenUgQnl0ZSBhdXMgJXMgZ2VsZXNlblxuIgorbXNnc3RyWzFdICIlenUgQnl0ZXMgYXVzICVzIGdlbGVzZW5cbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb3NpbmcgJXMgZmFpbGVkIgorbXNnc3RyICJTY2hsaWXDn2VuIHZvbiAlcyBmZWhsZ2VzY2hsYWdlbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTY0IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTQ2IHN5cy11dGlscy9mc3RyaW0uYzozMDgKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZW5ndGgiCittc2dzdHIgIkzDpG5nZSBrb25udGUgbmljaHQgZWluZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE3NworbXNnaWQgIi0tbWF4LXNpemUgaWdub3JlZCB3aGVuIHVzZWQgd2l0aG91dCAtLWZpbGUiCittc2dzdHIgIi0tbWF4LXNpemUgd2lyZCBpZ25vcmllcnQsIHdlbm4gZXMgb2huZSAtLWZpbGUgdmVyd2VuZGV0IHdpcmQuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR290ICVkIGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJWQgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICIlZCBCeXRlIGF1cyAlcyBnZWxlc2VuXG4iCittc2dzdHJbMV0gIiVkIEJ5dGVzIGF1cyAlcyBnZWxlc2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzeW1saW5rOiAlcyIKK21zZ3N0ciAiTGVzZW4gZGVyIFZlcmtuw7xwZnVuZyBmZWhsZ2VzY2hsYWdlbjogJXMiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgLSBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5XG4iCittc2dzdHIgIiVzIC0gS2VpbmUgZGVyYXJ0aWdlIERhdGVpIG9kZXIgVmVyemVpY2huaXNcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwYXRobmFtZT4uLi5cbiIKK21zZ3N0ciAiICVzIFtPcHRpb25lbl0gPFBmYWRuYW1lPiDigKZcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzNgorbXNnaWQgIkZvbGxvdyBhIHBhdGhuYW1lIHVudGlsIGEgdGVybWluYWwgcG9pbnQgaXMgZm91bmQuXG4iCittc2dzdHIgIkVpbmVtIFBmYWRuYW1lbiBiaXMgenUgZWluZW0gRW5kcHVua3QgZm9sZ2VuLlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzM5Cittc2dpZCAiIgorIiAtaCwgLS1oZWxwICAgICAgICAgIGRpc3BsYXlzIHRoaXMgaGVscCB0ZXh0XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICBzaG93IG1vdW50IHBvaW50IGRpcmVjdG9yaWVzIHdpdGggYSAnRCdcbiIKKyIgLW0sIC0tbW9kZXMgICAgICAgICBzaG93IHRoZSBtb2RlIGJpdHMgb2YgZWFjaCBmaWxlXG4iCisiIC1vLCAtLW93bmVycyAgICAgICAgc2hvdyBvd25lciBhbmQgZ3JvdXAgbmFtZSBvZiBlYWNoIGZpbGVcbiIKKyIgLWwsIC0tbG9uZyAgICAgICAgICB1c2UgYSBsb25nIGxpc3RpbmcgZm9ybWF0ICgtbSAtbyAtdikgXG4iCisiIC1uLCAtLW5vc3ltbGlua3MgICAgZG9uJ3QgZm9sbG93IHN5bWxpbmtzXG4iCisiIC12LCAtLXZlcnRpY2FsICAgICAgdmVydGljYWwgYWxpZ24gb2YgbW9kZXMgYW5kIG93bmVyc1xuIgorbXNnc3RyICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgZGllc2VuIEhpbGZldGV4dCBhbnplaWdlblxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIFZlcnNpb25pbmZvcm1hdGlvbiBhdXNnZWJlbiB1bmQgYmVlbmRlblxuIgorIiAteCwgLS1tb3VudHBvaW50cyAgIFZlcnplaWNobmlzc2UgZGVyIEVpbmjDpG5nZXB1bmt0ZSBtaXQg4oCeROKAnCBhbnplaWdlblxuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIE1vZHVzLUJpdHMgamVkZXIgRGF0ZWkgYW56ZWlnZW5cbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBFaWdlbnTDvG1lciB1bmQgR3J1cHBlIGplZGVyIERhdGVpIGFuemVpZ2VuXG4iCisiIC1sLCAtLWxvbmcgICAgICAgICAgbGFuZ2VzIExpc3RlbmZvcm1hdCB2ZXJ3ZW5kZW4oLW0gLW8gLXYpIFxuIgorIiAtbiwgLS1ub3N5bWxpbmtzICAgIHN5bWJvbGlzY2hlbiBMaW5rcyBuaWNodCBmb2xnZW5cbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICB2ZXJ0aWthbGUgQW5vcmRudW5nIGRlciBNb2RpIHVuZCBFaWdlbnTDvG1lclxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDA4Cittc2dpZCAicGF0aG5hbWUgYXJndW1lbnQgaXMgbWlzc2luZyIKK21zZ3N0ciAiUGZhZG5hbWUtQXJndW1lbnQgZmVobHQiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTQgc3lzLXV0aWxzL2xzbnMuYzo3NjQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgVUlEIGNhY2hlIgorbXNnc3RyICJTcGVpY2hlciBmw7xyIGRhcyBVSUQtQ2FjaGUga29ubnRlIG5pY2h0IHJlc2VydmllcnQgd2VyZGVuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE3Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdJRCBjYWNoZSIKK21zZ3N0ciAiU3BlaWNoZXIgZsO8ciBkYXMgR0lELUNhY2hlIGtvbm50ZSBuaWNodCByZXNlcnZpZXJ0IHdlcmRlbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhjZWVkZWQgbGltaXQgb2Ygc3ltbGlua3MiCittc2dzdHIgIiVzOiBBbnphaGwgZGVyIHN5bWJvbGlzY2hlbiBWZXJrbsO8cGZ1bmdlbiDDvGJlcnNjaHJpdHRlbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAiJXM6IGtlaW5lIHN5bWJvbGlzY2hlIFZlcmtuw7xwZnVuZyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZGxpbmsgZmFpbGVkIgorbXNnc3RyICIlczogcmVhZGxpbmsgZmVobGdlc2NobGFnZW4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubGluayBmYWlsZWQiCittc2dzdHIgIiVzOiBUcmVubmVuIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzeW1saW5raW5nIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IFZlcmtuw7xwZnVuZyB6dSAlcyBmZWhsZ2VzY2hsYWdlbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlbmFtZSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBVbWJlbmVubnVuZyBpbiAlcyBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGV4cHJlc3Npb24+IDxyZXBsYWNlbWVudD4gPGZpbGU+Li4uXG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIDxBdXNkcnVjaz4gPEVyc2V0enVuZz4gPERhdGVpPiDigKZcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjIKK21zZ2lkICJSZW5hbWUgZmlsZXMuXG4iCittc2dzdHIgIkRhdGVpZW4gdW1iZW5lbm5lbi5cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICBlcmtsw6RyZW4sIHdhcyBnZW1hY2h0IHdpcmRcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjYKK21zZ2lkICIgLXMsIC0tc3ltbGluayAgICBhY3Qgb24gdGhlIHRhcmdldCBvZiBzeW1saW5rc1xuIgorbXNnc3RyICIgLXMsIC0tc3ltbGluayAgICBtaXQgZGVtIFppZWwgZGVyIHN5bWJvbGlzY2hlbiBWZXJrbsO8cGZ1bmcgYXJiZWl0ZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcyCittc2dpZCAiQSBkYWVtb24gZm9yIGdlbmVyYXRpbmcgVVVJRHMuXG4iCittc2dzdHIgIkVpbiBEYWVtb24genVtIEVyemV1Z2VuIHZvbiBVVUlEcy5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc0Cittc2dpZCAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8UGZhZD4gICAgICAgIGRlciBQZmFkIHp1ciBQSUQtRGF0ZWlcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc1Cittc2dpZCAiIC1zLCAtLXNvY2tldCA8cGF0aD4gICAgIHBhdGggdG8gc29ja2V0XG4iCittc2dzdHIgIiAtcywgLS1zb2NrZXQgPFBmYWQ+ICAgICBQZmFkIHp1bSBVbml4LVNvY2tldFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzYKK21zZ2lkICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKK21zZ3N0ciAiIC1ULCAtLXRpbWVvdXQgPFNlaz4gICAgIFdhcnRlemVpdCBiaXMgenVtIEFiYnJ1Y2ggd2VnZW4gVW50w6R0aWdrZWl0XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NworbXNnaWQgIiAtaywgLS1raWxsICAgICAgICAgICAgICBraWxsIHJ1bm5pbmcgZGFlbW9uXG4iCittc2dzdHIgIiAtaywgLS1raWxsICAgICAgICAgICAgICBkZW4gbGF1ZmVuZGVuIETDpG1vbiBhYnNjaGllw59lblxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzgKK21zZ2lkICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdCByYW5kb20tYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgZGllIHp1ZmFsbHNiYXNpZXJ0ZSBFcnpldWd1bmcgdGVzdGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3OQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICB0ZXN0IHRpbWUtYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgZGllIHplaXRiYXNpZXJ0ZSBFcnpldWd1bmcgdGVzdGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MAorbXNnaWQgIiAtbiwgLS11dWlkcyA8bnVtPiAgICAgICByZXF1ZXN0IG51bWJlciBvZiB1dWlkc1xuIgorbXNnc3RyICIgLW4sIC0tdXVpZHMgPEFuemFobD4gICAgQW56YWhsIGRlciBnZXfDvG5zY2h0ZW4gVVVJRHMgYW5nZWJlblxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODEKK21zZ2lkICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgZG8gbm90IGNyZWF0ZSBwaWQgZmlsZVxuIgorbXNnc3RyICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAga2VpbmUgUElELURhdGUgYW5sZWdlblxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODIKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorbXNnc3RyICIgLUYsIC0tbm8tZm9yayAgICAgICAgICB2b3IgZGVyIEF1c2bDvGhydW5nIGRlcyA8UHJvZ3JhbW1zPiBuaWNodCBmb3JrZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgzCittc2dpZCAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIGRvIG5vdCBjcmVhdGUgbGlzdGVuaW5nIHNvY2tldFxuIgorbXNnc3RyICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24ga2VpbmVuIEFrdGl2aWVydW5nZHMtU29ja2V0IGVyemV1Z2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4NAorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBydW4gaW4gZGVidWdnaW5nIG1vZGVcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIGF1c2bDvGhybGljaGUgTWVsZHVuZ2VuIGFuIGRpZSBGZWhsZXJhdXNnYWJlIGxlaXRlblxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODUKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgdHVybiBvbiBxdWlldCBtb2RlXG4iCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHp1c8OkdHpsaWNoZSBJbmZvbWVsZHVuZ2VuIHVudGVyZHLDvGNrZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjExOAorbXNnaWQgImJhZCBhcmd1bWVudHMiCittc2dzdHIgInVuZ8O8bHRpZ2VzIEFyZ3VtZW50IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTI1Cittc2dpZCAic29ja2V0IgorbXNnc3RyICJTb2NrZXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMzYKK21zZ2lkICJjb25uZWN0IgorbXNnc3RyICJ2ZXJiaW5kZW4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNTYKK21zZ2lkICJ3cml0ZSIKK21zZ3N0ciAic2NocmVpYmVuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTY0Cittc2dpZCAicmVhZCBjb3VudCIKK21zZ3N0ciAiTGVzZXrDpGhsd2VydCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE3MAorbXNnaWQgImJhZCByZXNwb25zZSBsZW5ndGgiCittc2dzdHIgImZhbHNjaGUgQW50d29ydGzDpG5nZSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIyMQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbG9jayAlcyIKK21zZ3N0ciAiJXMga29ubnRlIG5pY2h0IGdlc3BlcnJ0IHdlcmRlbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI0NgorbXNnaWQgImNvdWxkbid0IGNyZWF0ZSB1bml4IHN0cmVhbSBzb2NrZXQiCittc2dzdHIgIlVuaXgtRGF0ZW5zdHJvbS1Tb2NrZXQga29ubnRlIG5pY2h0IGVyemV1Z3Qgd2VyZGVuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGJpbmQgdW5peCBzb2NrZXQgJXMiCittc2dzdHIgIlVuaXgtU29ja2V0ICVzIGtvbm50ZSBuaWNodCBnZWJ1bmRlbiB3ZXJkZW4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyOTgKK21zZ2lkICJyZWNlaXZpbmcgc2lnbmFsIGZhaWxlZCIKK21zZ3N0ciAiZW1wZmFuZ2VuIGRlcyBTaWduYWxzIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjMxMQorbXNnaWQgInRpbWVkIG91dCIKK21zZ3N0ciAiWmVpdCDDvGJlcnNjaHJpdHRlbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM0NSBzeXMtdXRpbHMvZmxvY2suYzoyNzEKK21zZ2lkICJjYW5ub3Qgc2V0IHVwIHRpbWVyIgorbXNnc3RyICJkZXIgVGltZXIga2FubiBuaWNodCBrb25maWd1cmllcnQgd2VyZGVuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgInV1aWRkIGRhZW1vbiBpcyBhbHJlYWR5IHJ1bm5pbmcgYXQgcGlkICVzIgorbXNnc3RyICJVVUlERC1EaWVuc3QgbMOkdWZ0IGJlcmVpdHMgbWl0IFBJRCAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBsaXN0ZW4gb24gdW5peCBzb2NrZXQgJXMiCittc2dzdHIgImFuIFVOSVgtU29ja2V0ICVzIGthbm4gbmljaHQgZ2VsYXVzY2h0IHdlcmRlbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgdHJ1bmNhdGUgZmlsZTogJXMiCittc2dzdHIgIkRhdGVpIGtvbm50ZSBuaWNodCBnZWvDvHJ6dCB3ZXJkZW46ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzg2Cittc2dpZCAic2RfbGlzdGVuX2ZkcygpIGZhaWxlZCIKK21zZ3N0ciAic2RfbGlzdGVuX2ZkcygpIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4OQorbXNnaWQgIm5vIGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHN5c3RlbWN0bCBzdGF0dXMgdXVpZGQuc29ja2V0IgorbXNnc3RyICJrZWluIERhdGVpZGVza3JpcHRvciBlbXBmYW5nZW4sIGJpdHRlIGJlcnByw7xmZW4gU2llIHV1aWRkLnNvY2tldCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM5MgorbXNnaWQgInRvbyBtYW55IGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAia2VpbmUgb2RlciB6dSB2aWVsZSBEYXRlaWRlc2tyaXB0b3JlbiBlbXBmYW5nZW4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MjAgdGVybS11dGlscy9zY3JpcHQuYzo0NTUKK21zZ2lkICJwb2xsIGZhaWxlZCIKK21zZ3N0ciAicG9sbCgpIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDI1CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWVvdXQgWyVkIHNlY11cbiIKK21zZ3N0ciAiWmVpdMO8YmVyc2NocmVpdHVuZyBbJWQgU2VrdW5kZW5dXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDMgdGV4dC11dGlscy9jb2x1bW4uYzo0MTQKK21zZ2lkICJyZWFkIGZhaWxlZCIKK21zZ3N0ciAiTGVzZW4gZmVobGdlc2NobGFnZW4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgcmVhZGluZyBmcm9tIGNsaWVudCwgbGVuID0gJWQiCittc2dzdHIgIkZlaGxlciBiZWltIExlc2VuIHZvbSBDbGllbnQsIGxlbiA9ICVkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZCwgaW5jb21pbmcgbnVtID0gJWRcbiIKK21zZ3N0ciAiVm9yZ2FuZyAlZCwgZWludHJlZmZlbmRlIEFuemFobCA9ICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkXG4iCittc2dzdHIgIk9wZXJhdGlvbiAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQ6ICVzXG4iCittc2dzdHIgIlplaXRiYXNpZXJ0ZSBVVUlEIHd1cmRlIGVyemV1Z3Q6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHJhbmRvbSBVVUlEOiAlc1xuIgorbXNnc3RyICJadWbDpGxsaWdlIFVVSUQgd3VyZGUgZXJ6ZXVndDogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dzdHJbMF0gIlplaXRiYXNpZXJ0ZSBVVUlEICVzIHVuZCAlZCBmb2xnZW5kZSBlcnpldWd0XG4iCittc2dzdHJbMV0gIlplaXRiYXNpZXJ0ZSBVVUlEICVzIHVuZCAlZCBmb2xnZW5kZSBlcnpldWd0XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkICVkIFVVSUQ6XG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCAlZCBVVUlEczpcbiIKK21zZ3N0clswXSAiJWQgVVVJRCBlcnpldWd0OlxuIgorbXNnc3RyWzFdICIlZCBVVUlEcyBlcnpldWd0OlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgb3BlcmF0aW9uICVkXG4iCittc2dzdHIgIlVuZ8O8bHRpZ2UgT3BlcmF0aW9uICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCByZXBseSBsZW5ndGggZnJvbSBzZXJ2ZXIgJWQiCittc2dzdHIgInVuZXJ3YXJ0ZXRlIEFudHdvcnRsw6RuZ2Ugdm9tIFNlcnZlciAlZCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYwMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXV1aWRzIgorbXNnc3RyICItLXV1aWRzIGtvbm50ZSBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYxNworbXNnaWQgInV1aWRkIGhhcyBiZWVuIGJ1aWx0IHdpdGhvdXQgc3VwcG9ydCBmb3Igc29ja2V0IGFjdGl2YXRpb24iCittc2dzdHIgIlVVSUREIHd1cmRlIG9obmUgVW50ZXJzdMO8dHp1bmcgZsO8ciBTb2NrZXQtQWt0aXZpZXJ1bmcgZXJzdGVsbHQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MzYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10aW1lb3V0IgorbXNnc3RyICJGZWhsZXIgYmVpbSBFaW5sZXNlbiB2b24gLS10aW1lb3V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjUzCittc2dpZCAiQm90aCAtLXNvY2tldC1hY3RpdmF0aW9uIGFuZCAtLXNvY2tldCBzcGVjaWZpZWQuIElnbm9yaW5nIC0tc29ja2V0LiIKK21zZ3N0ciAiLS1zb2NrZXQtYWN0aXZhdGlvbiB1bmQgLS1zb2NrZXQgd3VyZGVuIHp1Z2xlaWNoIGFuZ2VnZWJlbiwgLS1zb2NrZXQgd2lyZCBpZ25vcmllcnQuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYwIG1pc2MtdXRpbHMvdXVpZGQuYzo2ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2FsbGluZyB1dWlkZCBkYWVtb24gKCVzKSIKK21zZ3N0ciAiRmVobGVyIGJlaW0gQXVmcnVmIGRlcyB1dWlkZC1EaWVuc3RlcyAoJXMpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYxIG1pc2MtdXRpbHMvdXVpZGQuYzo2ODkKK21zZ2lkICJ1bmV4cGVjdGVkIGVycm9yIgorbXNnc3RyICJ1bmVyd2FydGV0ZXIgRmVobGVyIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURcbiIKK21zZ2lkX3BsdXJhbCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRHNcbiIKK21zZ3N0clswXSAiJXMgdW5kICVkIG5hY2hmb2xnZW5kZSBVVUlEXG4iCittc2dzdHJbMV0gIiVzIHVuZCAlZCBuYWNoZm9sZ2VuZGUgVVVJRHNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY3MworIywgYy1mb3JtYXQKK21zZ2lkICJMaXN0IG9mIFVVSURzOlxuIgorbXNnc3RyICJMaXN0ZSBkZXIgVVVJRHM6XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3Qga2lsbCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZCIKK21zZ3N0ciAidXVpZGQgbGF1ZmVuZCBtaXQgcGlkICVkIGtvbm50ZSBuaWNodCBhYmdld8O8cmd0IHdlcmRlbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcxMAorIywgYy1mb3JtYXQKK21zZ2lkICJLaWxsZWQgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQuXG4iCittc2dzdHIgInV1aWRkIGxhdWZlbmQgbWl0IHBpZCAlZCBhYmdld8O8cmd0LlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyOAorbXNnaWQgIkNyZWF0ZSBhIG5ldyBVVUlEIHZhbHVlLlxuIgorbXNnc3RyICJFaW5lbiBuZXVlbiBVVUlELVdlcnQgZXJzdGVsbGVuLlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozMQorbXNnaWQgIiIKKyIgLXIsIC0tcmFuZG9tICAgICBnZW5lcmF0ZSByYW5kb20tYmFzZWQgdXVpZFxuIgorIiAtdCwgLS10aW1lICAgICAgIGdlbmVyYXRlIHRpbWUtYmFzZWQgdXVpZFxuIgorIiAtViwgLS12ZXJzaW9uICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtciwgLS1yYW5kb20gICAgIFVVSUQgenVmYWxsc2Jhc2llcnQgZXJ6ZXVnZW5cbiIKKyIgLXQsIC0tdGltZSAgICAgICBVVUlEIHplaXRiYXNpZXJ0IGVyemV1Z2VuXG4iCisiIC1WLCAtLXZlcnNpb24gICAgVmVyc2lvbnNpbmZvcm1hdGlvbmVuIGF1c2dlYmVuIHVuZCBiZWVuZGVuXG4iCisiIC1oLCAtLWhlbHAgICAgICAgZGllc2UgSGlsZmUgYW56ZWlnZW4gdW5kIGJlZW5kZW5cbiIKKyJcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1CTVMgPGRpcj4uLi4gLWZdIDxuYW1lPlxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSBbLUJNUyA8VmVyemVpY2huaXM+4oCmIC1mXSA8TmFtZT5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTkyCittc2dpZCAiTG9jYXRlIHRoZSBiaW5hcnksIHNvdXJjZSwgYW5kIG1hbnVhbC1wYWdlIGZpbGVzIGZvciBhIGNvbW1hbmQuXG4iCittc2dzdHIgIk5hY2ggZGVyICBCaW7DpHJkYXRlaSwgZGVuIFF1ZWxsdGV4dGVuIHVuZCBIYW5kYnVjaHNlaXRlbiBlaW5lcyBCZWZlaGxzIHN1Y2hlbi5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk1Cittc2dpZCAiIC1iICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIGJpbmFyaWVzXG4iCittc2dzdHIgIiAtYiAgICAgICAgIG51ciBuYWNoIEJpbsOkcmRhdGVpZW4gc3VjaGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5NgorbXNnaWQgIiAtQiA8ZGlycz4gIGRlZmluZSBiaW5hcmllcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLUIgPFZlcno+ICBTdWNocGZhZCBmw7xyIEJpbsOkcmRhdGVpZW4gZmVzdGxlZ2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5NworbXNnaWQgIiAtbSAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBtYW51YWxzIGFuZCBpbmZvc1xuIgorbXNnc3RyICIgLW0gICAgICAgICBudXIgbmFjaCBIYW5kYsO8Y2hlcm4gdW5kIElOZm9ybWF0aW9uZW4gc3VjaGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5OAorbXNnaWQgIiAtTSA8ZGlycz4gIGRlZmluZSBtYW4gYW5kIGluZm8gbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIC1NIDxWZXJ6PiAgU3VjaHBmYWQgZsO8ciBIYW5kYnVjaHNlaXRlbiBmZXN0bGVnZW5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk5Cittc2dpZCAiIC1zICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIHNvdXJjZXNcbiIKK21zZ3N0ciAiIC1zICAgICAgICAgbnVyIG5hY2ggUXVlbGxlbiBzdWNoZW5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAwCittc2dpZCAiIC1TIDxkaXJzPiAgZGVmaW5lIHNvdXJjZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIC1TIDxWZXJ6PiAgU3VjaHBmYWQgZsO8ciBRdWVsbGRhdGVpZW4gZmVzdGxlZ2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMQorbXNnaWQgIiAtZiAgICAgICAgIHRlcm1pbmF0ZSA8ZGlycz4gYXJndW1lbnQgbGlzdFxuIgorbXNnc3RyICIgLWYgICAgICAgICA8VmVyej4gQXJndW1lbnRsaXN0ZSBiZWVuZGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMgorbXNnaWQgIiAtdSAgICAgICAgIHNlYXJjaCBmb3IgdW51c3VhbCBlbnRyaWVzXG4iCittc2dzdHIgIiAtdSAgICAgICAgIG5hY2ggdW7DvGJsaWNoZW4gRWludHLDpGdlbiBzdWNoZW5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAzCittc2dpZCAiIC1sICAgICAgICAgb3V0cHV0IGVmZmVjdGl2ZSBsb29rdXAgcGF0aHNcbiIKK21zZ3N0ciAiIC1sICAgICAgICAgZWZmZWt0aXZlIFN1Y2hwZmFkZSBhdXNnZWJlblxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzo2MTkKK21zZ2lkICJvcHRpb24gLWYgaXMgbWlzc2luZyIKK21zZ3N0ciAiRGllIE9wdGlvbiDigJ4tZuKAnCBmZWhsdCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxOTYKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIlBhcnRpdGlvbnN0YWJlbGxlIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IHByb2JpbmcgaW5pdGlhbGl6YXRpb24gZmFpbGVkIgorbXNnc3RyICJGZWhsZXI6ICVzOiBJbml0aWFsaXNpZXJ1bmcgZGVyIFN1Y2hlIGlzdCBnZXNjaGVpdGVydCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBlcmFzZSAlcyBtYWdpYyBzdHJpbmcgYXQgb2Zmc2V0IDB4JTA4angiCittc2dzdHIgIiVzOiBMw7ZzY2hlbiBkZXMgbWFnaXNjaGVuICVzLVN0cmluZ3MgYW4gUG9zaXRpb24gMHglMDhqeCBmZWhsZ2VzY2hsYWdlbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICV6ZCBieXRlIHdhcyBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnaWRfcGx1cmFsICIlczogJXpkIGJ5dGVzIHdlcmUgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIKK21zZ3N0clswXSAiJXM6ICV6ZCBCeXRlIHd1cmRlIGFuIFBvc2l0aW9uIDB4JTA4anggZ2Vsw7ZzY2h0ICglcyk6ICIKK21zZ3N0clsxXSAiJXM6ICV6ZCBCeXRlcyB3dXJkZW4gYW4gUG9zaXRpb24gMHglMDhqeCBnZWzDtnNjaHQgKCVzKTogIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjM0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAiCittc2dzdHIgIiVzOiBTaWNoZXJ1bmcgZGVyIFNpZ25hdHVyIGtvbm50ZSBuaWNodCBlcnN0ZWxsdCB3ZXJkZW4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYWxsaW5nIGlvY3RsIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlOiAlbVxuIgorbXNnc3RyICIlczogaW9jdGwgd2lyZCBhdWZnZXJ1ZmVuLCB1bSBkaWUgUGFydGl0aW9uc3RhYmVsbGUgbmV1IGVpbnp1bGVzZW46ICVtXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6Mzg1Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAiU2ljaGVydW5nIGRlciBTaWduYXR1ciBrb25udGUgbmljaHQgZXJzdGVsbHQgd2VyZGVuLCAkSE9NRSBpc3QgbmljaHQgZGVmaW5pZXJ0IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaWdub3JpbmcgbmVzdGVkIFwiJXNcIiBwYXJ0aXRpb24gdGFibGUgb24gbm9uLXdob2xlIGRpc2sgZGV2aWNlIgorbXNnc3RyICIlczogdmVyc2NoYWNodGVsdGUg4oCeJXPigJwtUGFydGl0aW9uc3RhYmVsbGUgYXVmIG5pY2h0LWdhbnplciBQbGF0dGUgd2lyZCBpZ25vcmllcnQiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgMHglanggbm90IGZvdW5kIgorbXNnc3RyICIlczogUG9zaXRpb24gMHglanggbmljaHQgZ2VmdW5kZW4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDM1Cittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiB0byBmb3JjZSBlcmFzZS4iCittc2dzdHIgIkJlbnV0emVuIFNpZSBkaWUgT3B0aW9uIC0tZm9yY2UsIHVtIGRhcyBMw7ZzY2hlbiB6dSBlcnp3aW5nZW4uIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1OQorbXNnaWQgIldpcGUgc2lnbmF0dXJlcyBmcm9tIGEgZGV2aWNlLlxuIgorbXNnc3RyICJTaWduYXR1cmVuIHZvbiBlaW5lbSBHZXLDpHQgbMO2c2NoZW4uXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDYyCittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgIHdpcGUgYWxsIG1hZ2ljIHN0cmluZ3MgKEJFIENBUkVGVUwhKVxuIgorIiAtYiwgLS1iYWNrdXAgICAgICAgIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAgaW4gJEhPTUVcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICBmb3JjZSBlcmFzdXJlXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorIiAtbiwgLS1uby1hY3QgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBhY3R1YWwgd3JpdGUoKSBjYWxsXG4iCisiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IHRvIGVyYXNlLCBpbiBieXRlc1xuIgorIiAtcCwgLS1wYXJzYWJsZSAgICAgIHByaW50IG91dCBpbiBwYXJzYWJsZSBpbnN0ZWFkIG9mIHByaW50YWJsZSBmb3JtYXRcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICBzdXBwcmVzcyBvdXRwdXQgbWVzc2FnZXNcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0sIFJBSURzIG9yIHBhcnRpdGlvbiB0YWJsZXNcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgbMO2c2NodCBhbGxlIFNpZ25hdHVyZW4gKFZPUlNJQ0hUISlcbiIKKyIgLWIsIC0tYmFja3VwICAgICAgICBlcnN0ZWxsdCBlaW5lIFNpY2hlcnVuZyBkZXIgU2lnbmF0dXIgaW4gZGVyIERhdGVpICRIT01FXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgZXJ6d2luZ3QgZGFzIEzDtnNjaGVuXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgemVpZ3QgZGllc2UgSGlsZmUgYW5cbiIKKyIgLW4sIC0tbm8tYWN0ICAgICAgICBzb3JndCBkYWbDvHIsIGRhc3MgYWxsZXMgZXJsZWRpZ3Qgd2lyZCwgYmlzIGF1ZiBkZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgIGVuZGfDvGx0aWdlbiBBdWZydWYgdm9uIHdyaXRlKClcbiIKKyIgLW8sIC0tb2Zmc2V0IDxaYWhsPiBPcnQgZGVyIFNpZ25hdHVyLCBpbiBCeXRlc1xuIgorIiAtcCwgLS1wYXJzYWJsZSAgICAgIEF1c2dhYmUgaW4gZWluZW0gYXVzd2VydGJhcmVuIGFuc3RhdHQgbWVuc2NoZW5sZXNiYXJlbiBGb3JtYXRcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICB1bnRlcmRyw7xja3QgZGllIEF1c2dhYmUgdm9tIE1lbGR1bmdlblxuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gIGdyZW56dCBkaWUgRGF0ZWlzeXN0ZW1lLCBSQUlEcyBvZGVyIFBhcnRpdGlvbnN0YWJlbGxlbiBlaW5cbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICB6ZWlndCBWZXJzaW9uc2luZm9ybWF0aW9uZW4gYW4gdW5kIGJlZW5kZXQgZGFzIFByb2dyYW1tXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTMzCittc2dpZCAiaW52YWxpZCBvZmZzZXQgYXJndW1lbnQiCittc2dzdHIgInVuZ8O8bHRpZ2VzIFBvc2l0aW9ucy1Bcmd1bWVudCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1NTgKK21zZ2lkICJUaGUgLS1iYWNrdXAgb3B0aW9uIGlzIG1lYW5pbmdsZXNzIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAiZGllIE9wdGlvbiAtLWJhY2t1cCBpc3QgaW4gZGllc2VtIEtvbnRleHQgd2lya3VuZ3Nsb3MiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZWFsLXRpbWUgc2NoZWR1bGluZyBhdHRyaWJ1dGVzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiRGllIEUvQS1TY2hlZHVsaW5nLUtsYXNzZSB1bmQgUHJpb3JpdMOkdCB2b24gUHJvemVzc2VuIHNldHplbiBvZGVyIGVybWl0dGVsbi5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM3Cittc2dpZCAiIgorIlNldCBwb2xpY3k6XG4iCisiIGNocnQgW29wdGlvbnNdIDxwcmlvcml0eT4gPGNvbW1hbmQ+IFs8YXJnPi4uLl1cbiIKKyIgY2hydCBbb3B0aW9uc10gLS1waWQgPHByaW9yaXR5PiA8cGlkPlxuIgorbXNnc3RyICIiCisiUmVnZWxuIHNldHplbjpcbiIKKyIgIGNocnQgW09wdGlvbmVuXSA8UHJpb3JpdMOkdD4gPEJlZmVobD4gWzxBcmc+IOKApl1dXG4iCisiICBjaHJ0IFtPcHRpb25lbl0gLXAgPFByaW9yaXTDpHQ+IDxQSUQ+XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0MQorbXNnaWQgIiIKKyJHZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSAtcCA8cGlkPlxuIgorbXNnc3RyICIiCisiUmVnZWxuIGVybWl0dGVsbjpcbiIKKyIgY2hydCBbT3B0aW9uZW5dIC1wIDxQSUQ+XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NQorbXNnaWQgIlBvbGljeSBvcHRpb25zOlxuIgorbXNnc3RyICJSZWdlbC1PcHRpb25lbjpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ2Cittc2dpZCAiIC1iLCAtLWJhdGNoICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfQkFUQ0hcbiIKK21zZ3N0ciAiIC1uLCAtLWJhdGNoICAgICAgICAgIFJpY2h0bGluaWUgYXVmIFNDSEVEX0JBVENIIHNldHplblxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDcKK21zZ2lkICIgLWQsIC0tZGVhZGxpbmUgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9ERUFETElORVxuIgorbXNnc3RyICIgLWQsIC0tZGVhZGxpbmUgICAgICAgUmljaHRsaW5pZSBhdWYgU0NIRURfREVBRExJTkUgc2V0emVuXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OAorbXNnaWQgIiAtZiwgLS1maWZvICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKK21zZ3N0ciAiIC1mLCAtLWZpZm8gICAgICAgICAgIFJpY2h0bGluaWUgYXVmIFNDSEVEX0ZJRk8gc2V0emVuXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OQorbXNnaWQgIiAtaSwgLS1pZGxlICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKK21zZ3N0ciAiIC1pLCAtLWlkbGUgICAgICAgICAgIFJpY2h0bGluaWUgYXVmIFNDSEVEX0lETEUgc2V0emVuXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MAorbXNnaWQgIiAtbywgLS1vdGhlciAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX09USEVSXG4iCittc2dzdHIgIiAtbywgLS1vdGhlciAgICAgICAgICBSaWNodGxpbmllIGF1ZiBTQ0hFRF9PVEhFUiBzZXR6ZW5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUxCittc2dpZCAiIC1yLCAtLXJyICAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtciwgLS1yciAgICAgICAgICAgICBSaWNodGxpbmllIGF1ZiBTQ0hFRF9SUiBzZXR6ZW4gKFZvcmdhYmV9XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NAorbXNnaWQgIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAiU2NoZWR1bGluZy1PcHRpb25lbjpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU1Cittc2dpZCAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgc2V0IFNDSEVEX1JFU0VUX09OX0ZPUksgZm9yIEZJRk8gb3IgUlJcbiIKK21zZ3N0ciAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgU0NIRURfUkVTRVRfT05fRk9SSyBmw7xyIEZJRk8gb2RlciBSUiBzZXR6ZW5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU2Cittc2dpZCAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAgcnVudGltZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiAtVCwgLS1zY2hlZC1ydW50aW1lIDxucz4gIExhdWZ6ZWl0LVBhcmFtZXRlciBmw7xyIERFQURMSU5FXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NworbXNnaWQgIiAtUCwgLS1zY2hlZC1wZXJpb2QgPG5zPiAgIHBlcmlvZCBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiAtUCwgLS1zY2hlZC1wZXJpb2QgPG5zPiAgIFBlcmlvZGVuLVBhcmFtZXRlciBmw7xyIERFQURMSU5FXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1OAorbXNnaWQgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IGRlYWRsaW5lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIC1ELCAtLXNjaGVkLWRlYWRsaW5lIDxucz4gRGVhZGxuZS1QYXJhbWV0ZXIgZsO8ciBERUFETElORVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjEKK21zZ2lkICJPdGhlciBvcHRpb25zOlxuIgorbXNnc3RyICJBbmRlcmUgT3B0aW9uZW46XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MgorbXNnaWQgIiAtYSwgLS1hbGwtdGFza3MgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgLWEsIC0tYWxsLXRhc2tzICAgICAgQWxsZSBUYXNrcyAoVGhyZWFkcykgZWluZXIgZ2VnZWJlbmVuIFBJRCBiZWFyYmVpdGVuXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MworbXNnaWQgIiAtbSwgLS1tYXggICAgICAgICAgICBzaG93IG1pbiBhbmQgbWF4IHZhbGlkIHByaW9yaXRpZXNcbiIKK21zZ3N0ciAiIC1tLCAtLW1heCAgICAgICAgICAgIGRpZSBtaW5pbWFsIHVuZCBtYXhpbWFsIGfDvGx0aWdlbiBQcmlvcml0w6R0ZW5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY0Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICAgICBhdWYgZ2VnZWJlbmUgZXhpc3RpZXJlbmRlIFBJRCBlaW53aXJrZW5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICBlcmtsw6RyZW4sIHdhcyBnZXNjaGllaHRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjMyIHNjaGVkdXRpbHMvY2hydC5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiUmljaHRsaW5pZW4gZsO8ciBQSUQgJWQga8O2bm5lbiBuaWNodCBlcm1pdHRlbHQgd2VyZGVuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhdHRyaWJ1dGVzIgorbXNnc3RyICJBdHRyaWJ1dGUgZsO8ciBQSUQgJWQga8O2bm5lbiBuaWNodCBlcmhhbHRlbiB3ZXJkZW4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2NworIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICJOZXVlIFNjaGVkdWxpbmctUmljaHRsaW5pZSBmw7xyIFBJRCAlZDogJXMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAiRGVyemVpdGlnZSBTY2hlZHVsaW5nLVZvcnNjaHJpZnQgZsO8ciBQSUQgJWQ6ICVzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcHJpb3JpdHk6ICVkXG4iCittc2dzdHIgIm5ldWUgU2NoZWR1bGluZy1Qcmlvcml0w6R0IGbDvHIgUElEICVkOiAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICJEZXJ6ZWl0aWdlIFNjaGVkdWxpbmctUHJpb3JpdMOkdCBmw7xyIFBJRCAlZDogJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIgorbXNnc3RyICJkZXIgbmV1ZSBMYXVmemVpdC9EZWFkbGluZS9QZXJpb2RlLVBhcmFtZXRlciBmw7xyIFBJRCAlZDogJWp1LyVqdS8lanVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAiRGVyemVpdGlnZSBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBQYXJhbWV0ZXIgdm9uIFBJRCAlZDogJWp1LyVqdS8lanVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzAwIHNjaGVkdXRpbHMvY2hydC5jOjM5NgorbXNnaWQgImNhbm5vdCBvYnRhaW4gdGhlIGxpc3Qgb2YgdGFza3MiCittc2dzdHIgIlByb3plc3NsaXN0ZSBrb25udGUgbmljaHQgZ2Vob2x0IHdlcmRlbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBtaW4vbWF4IHByaW9yaXR5XHQ6ICVkLyVkXG4iCittc2dzdHIgIlNDSEVEXyVzIG1pbi4vbWF4LiBQcmlvcml0w6R0XHQ6ICVkLyVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IHN1cHBvcnRlZD9cbiIKK21zZ3N0ciAiU0NIRURfJXMgbmljaHQgdW50ZXJzdMO8dHp0P1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aWQgJWQncyBwb2xpY3kiCittc2dzdHIgIkZlc3RsZWdlbiBkZXIgUmljaHRsaW5pZSBmw7xyIFRJRCAlZCBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiRmVzdGxlZ2VuIGRlciBSaWNodGxpbmllIGbDvHIgUElEICVkIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDg3Cittc2dpZCAiaW52YWxpZCBydW50aW1lIGFyZ3VtZW50IgorbXNnc3RyICJ1bmfDvGx0aWdlcyBBcmd1bWVudCBmw7xyIHJ1bnRpbWUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ5MAorbXNnaWQgImludmFsaWQgcGVyaW9kIGFyZ3VtZW50IgorbXNnc3RyICJ1bmfDvGx0aWdlIEFuZ2FiZSBmw7xyIHBlcmlvZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDkzCittc2dpZCAiaW52YWxpZCBkZWFkbGluZSBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZSBBbmdhYmUgZsO8ciBkZWFkbGluZSIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE3Cittc2dpZCAiaW52YWxpZCBwcmlvcml0eSBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXMgUHJpb3JpdMOkdGVuYXJndW1lbnQgIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MjEKK21zZ2lkICItLXJlc2V0LW9uLWZvcmsgb3B0aW9uIGlzIHN1cHBvcnRlZCBmb3IgU0NIRURfRklGTyBhbmQgU0NIRURfUlIgcG9saWNpZXMgb25seSIKK21zZ3N0ciAiRGllIE9wdGlvbiAtLXJlc2V0LW9uLWZvcmsgd2lyZCBudXIgZsO8ciBkaWUgUmljaHRsaW5pZW4gU0NIRURfRklGTyB1bmQgU0NIRURfUlIgdW50ZXJzdMO8dHp0LiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTI2Cittc2dpZCAiLS1zY2hlZC17cnVudGltZSxkZWFkbGluZSxwZXJpb2R9IG9wdGlvbnMgYXJlIHN1cHBvcnRlZCBmb3IgU0NIRURfREVBRExJTkUgb25seSIKK21zZ3N0ciAiLS1zY2hlZC17cnVudGltZSxkZWFkbGluZSxwZXJpb2R9IE9wdGlvbmVuIHdlcmRlbiBudXIgZsO8ciBTQ0hFRF9ERUFETElORSB1bnRlcnN0w7x0enQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0MQorbXNnaWQgIlNDSEVEX0RFQURMSU5FIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJTQ0hFRF9ERUFETElORSB3aXJkIG5pY2h0IHVudGVyc3TDvHR6dCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByaW9yaXR5IHZhbHVlIGZvciB0aGUgcG9saWN5OiAlZDogc2VlIC0tbWF4IGZvciB2YWxpZCByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc2Cittc2dpZCAiaW9wcmlvX2dldCBmYWlsZWQiCittc2dzdHIgImlvcHJpb19nZXQgZmVobGdlc2NobGFnZW4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHByaW8gJWx1XG4iCittc2dzdHIgIiVzOiBwcmlvICVsdVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjk4Cittc2dpZCAiaW9wcmlvX3NldCBmYWlsZWQiCittc2dzdHIgImlvcHJpb19zZXQgZmVobGdlc2NobGFnZW4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXAgPHBpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC11IDx1aWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisiICUxJHMgW09wdGlvbmVuXSAtcCA8UHJvemVzcy1JRD4g4oCmXG4iCisiICUxJHMgW09wdGlvbmVuXSAtUCA8UHJvemVzc2dydXBwZW4tSUQ+IOKAplxuIgorIiAlMSRzIFtPcHRpb25lbl0gLXUgPEJlbnV0emVyLUlEPiDigKZcbiIKKyIgJTEkcyBbT3B0aW9uZW5dIDxCZWZlaGw+XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTEwCittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIEkvTy1zY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIkRpZSBFL0EtU2NoZWR1bGluZy1LbGFzc2UgdW5kIFByaW9yaXTDpHQgdm9uIFByb3plc3NlbiBzZXR6ZW4gdW5kIGVybWl0dGVsbi5cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTMKK21zZ2lkICIiCisiIC1jLCAtLWNsYXNzIDxjbGFzcz4gICAgbmFtZSBvciBudW1iZXIgb2Ygc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IG5vbmUsIDE6IHJlYWx0aW1lLCAyOiBiZXN0LWVmZm9ydCwgMzogaWRsZVxuIgorbXNnc3RyICIiCisiIC1jLCAtLWNsYXNzIDxLbGFzc2U+ICAgTmFtZSBvZGVyIE51bW1lciBkZXIgU2NoZWR1bGluZy1LbGFzc2UsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTUKK21zZ2lkICIiCisiIC1uLCAtLWNsYXNzZGF0YSA8bnVtPiAgcHJpb3JpdHkgKDAuLjcpIGluIHRoZSBzcGVjaWZpZWQgc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHkgZm9yIHRoZSByZWFsdGltZSBhbmQgYmVzdC1lZmZvcnQgY2xhc3Nlc1xuIgorbXNnc3RyICIiCisiIC1uLCAtLWNsYXNzZGF0YSA8WmFobD4gUHJpb3JpdMOkdCAoMC4uNykgaW4gZGVuIGFuZ2VnZWJlbmVuIFNjaGVkdWxpbmctS2xhc3NlbixcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIG51ciBmw7xyIFJlYWx0aW1lLSB1bmQgQmVzdC1FZmZvcnQtS2xhc3NlblxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNworbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4uLi4gICAgIGFjdCBvbiB0aGVzZSBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPFBJRD4g4oCmICAgICAgbnVyIGRpZXNlIGJlcmVpdHMgbGF1ZmVuZGVuIFByb3plc3NlIGVpbmJlemllaGVuXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE4Cittc2dpZCAiIC1QLCAtLXBnaWQgPHBncnA+Li4uICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgaW4gdGhlc2UgZ3JvdXBzXG4iCittc2dzdHIgIiIKKyIgLVAsIC0tcGdpZCA8UEdSUD4g4oCmICAgIG51ciBkaWVzZSBiZXJlaXRzIGxhdWZlbmRlbiBQcm96ZXNzZSBpbiBkaWVzZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBHcnVwcGVuIGVpbmJlemllaGVuXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE5Cittc2dpZCAiIC10LCAtLWlnbm9yZSAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCittc2dzdHIgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIEZlaGxzY2hsw6RnZSBpZ25vcmllcmVuXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTIwCittc2dpZCAiIC11LCAtLXVpZCA8dWlkPi4uLiAgICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgb3duZWQgYnkgdGhlc2UgdXNlcnNcbiIKK21zZ3N0ciAiIC11LCAtLXVpZCA8VUlEPiDigKYgICAgICBudXIgZGllc2UgYmVyZWl0cyBsYXVmZW5kZW4gUHJvemVzc2UgZGllc2VyIEJlbnV0emVyIGVpbmJlemllaGVuXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTU3Cittc2dpZCAiaW52YWxpZCBjbGFzcyBkYXRhIGFyZ3VtZW50IgorbXNnc3RyICJ1bmfDvGx0aWdlcyBLbGFzc2VuZGF0ZW5hcmd1bWVudCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjMKK21zZ2lkICJpbnZhbGlkIGNsYXNzIGFyZ3VtZW50IgorbXNnc3RyICJ1bmfDvGx0aWdlcyBLbGFzc2VuYXJndW1lbnQiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2NoZWR1bGluZyBjbGFzczogJyVzJyIKK21zZ3N0ciAidW5iZWthbm50ZSBTY2hlZHVsaW5nLUtsYXNzZTog4oCeJXPigJwiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc2IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg0IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkyCittc2dpZCAiY2FuIGhhbmRsZSBvbmx5IG9uZSBvZiBwaWQsIHBnaWQgb3IgdWlkIGF0IG9uY2UiCittc2dzdHIgIlByb3plc3MtSUQsIFByb3plc3NncnVwcGVuLUlEIG9kZXIgQmVudXR6ZXItSUQga8O2bm5lbiBuaWNodCBnbGVpY2h6ZWl0aWcgdmVyYXJiZWl0ZXQgd2VyZGVuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NQorbXNnaWQgImludmFsaWQgUEdJRCBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXMgUEdJRC1Bcmd1bWVudCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxOTMKK21zZ2lkICJpbnZhbGlkIFVJRCBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXMgVUlELUFyZ3VtZW50IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIxMgorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIG5vbmUgY2xhc3MiCittc2dzdHIgIkFuZ2VnZWJlbmUgS2xhc3NlbmRhdGVuIGbDvHIgbm9uZS1LbGFzc2Ugd2VyZGVuIGlnbm9yaWVydCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjAKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBpZGxlIGNsYXNzIgorbXNnc3RyICJBbmdlZ2ViZW5lIEtsYXNzZW5kYXRlbiBmw7xyIGlkbGUtS2xhc3NlIHdlcmRlbiBpZ25vcmllcnQiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpbyBjbGFzcyAlZCIKK21zZ3N0ciAidW5iZWthbm50ZSBQcmlvcml0w6R0c2tsYXNzZSAlZCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlVzYWdlOiAlcyBbb3B0aW9uc10gW21hc2sgfCBjcHUtbGlzdF0gW3BpZHxjbWQgW2FyZ3MuLi5dXVxuIgorIlxuIgorbXNnc3RyICIiCisiQXVmcnVmOiAlcyBbT3B0aW9uZW5dIFtNYXNrZSB8IENQVS1MaXN0ZV0gW3BpZHxjbWQgW0FyZ3VtZW50ZSDigKZdXVxuIgorIlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1NQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBDUFUgYWZmaW5pdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICJEZW4gQ1BVLUJlenVnIGVpbmVzIFByb3plc3NlcyBlcm1pdHRlbG4gb2RlciBmZXN0bGVnZW4uXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJPcHRpb25zOlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICBkaXNwbGF5IGFuZCBzcGVjaWZ5IGNwdXMgaW4gbGlzdCBmb3JtYXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHBcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKKyJcbiIKK21zZ3N0ciAiIgorIk9wdGlvbmVuOlxuIgorIiAgLWEsICAtLWFsbC10YXNrcyAgICAgICBhbGxlIFByb3plc3NlIChUaHJlYWRzKSBlaW5lciBhbmdlZ2ViZW5lbiBQSURcbiIKKyIgIC1wLCAgLS1waWQgICAgICAgICAgICAgZXhpc3RpZXJlbmRlIGFuZ2VnZWJlbmUgUElEXG4iCisiICAtYywgLS1jcHUtbGlzdCAgICAgICAgIENQVXMgaW0gTGlzdGVuZm9ybWF0IGFuemVpZ2VuIHVuZCBhbmdlYmVuXG4iCisiICAtaCwgIC0taGVscCAgICAgICAgICAgIGRpZXNlIEhpbGZlIGFuemVpZ2VuXG4iCisiICAtViwgIC0tdmVyc2lvbiAgICAgICAgIFZlcnNpb25zaW5mb3JtYXRpb24gYXVzZ2ViZW5cbiIKKyJcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIHJ1biBhIG5ldyBjb21tYW5kOlxuIgorIiAgICAlMSRzIDAzIHNzaGQgLWIgMTAyNFxuIgorIllvdSBjYW4gcmV0cmlldmUgdGhlIG1hc2sgb2YgYW4gZXhpc3RpbmcgdGFzazpcbiIKKyIgICAgJTEkcyAtcCA3MDBcbiIKKyJPciBzZXQgaXQ6XG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisiTGlzdCBmb3JtYXQgdXNlcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IGluc3RlYWQgb2YgYSBtYXNrOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJSYW5nZXMgaW4gbGlzdCBmb3JtYXQgY2FuIHRha2UgYSBzdHJpZGUgYXJndW1lbnQ6XG4iCisiICAgIGUuZy4gMC0zMToyIGlzIGVxdWl2YWxlbnQgdG8gbWFzayAweDU1NTU1NTU1XG4iCittc2dzdHIgIiIKKyJEYXMgVm9yZ2FiZXZlcmhhbHRlbiBpc3QgZGllIEF1c2bDvGhydW5nIGVpbmVzIG5ldWVuIEJlZmVobHM6XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisiU2llIGvDtm5uZW4gZGllIE1hc2tlIGVpbmVzIGV4aXN0aWVyZW5kZW4gUHJvemVzc2VzIGVybWl0dGVsbjpcbiIKKyIgICAgJTEkcyAtcCA3MDBcbiIKKyJPZGVyIHNpZSBzZXR6ZW46XG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisiRGFzIExpc3RlbmZvcm1hdCB2ZXJ3ZW5kZXQgZWluZSBkdXJjaCBLb21tYXRhIGdldHJlbm50ZSBMaXN0ZVxuIgorImFuc3RlbGxlIGVpbmVyIE1hc2tlOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJCZXJlaWNoZSBpbSBMaXN0ZW5mb3JtYXQgYWt6ZXB0aWVyZW4gZWluIFNjaHJpdHR3ZWl0ZW5hcmd1bWVudDpcbiIKKyIgICAgei5CLiBlbnRzcHJpY2h0IDAtMzE6MiBkZXIgTWFza2UgMHg1NTU1NTU1NVxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAibmV1ZSBCZXp1Z3NsaXN0ZSBmw7xyIFBJRCAlZDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICJha3R1ZWxsZSBCZXp1Z3NsaXN0ZSBmw7xyIFBJRCAlZDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIm5ldWUgQmV6dWdzbWFza2UgZsO8ciBQSUQgJWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAiYWt0dWVsbGUgQmV6dWdzbWFza2UgZsO8ciBQSUQgJWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk5Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IGNvbnZlcnNpb24gZnJvbSBjcHVzZXQgdG8gc3RyaW5nIGZhaWxlZCIKK21zZ3N0ciAiaW50ZXJuZXIgRmVobGVyOiBVbXdhbmRsdW5nIHZvbiBDUFUtR3J1cHBlIGluIFN0cmluZyBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwOSBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAiRXJtaXR0ZWxuIGRlciBCZXp1Z3NtYXNrZSBmw7xyIFBJRCAlZCBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICJGZXN0bGVnZW4gZGVyIEJlenVnc21hc2tlIGbDvHIgUElEICVkIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTg2IHN5cy11dGlscy9jaGNwdS5jOjI4OQorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgTlJfQ1BVUzsgYWJvcnRpbmciCittc2dzdHIgIk5SX0NQVVMga29ubnRlIG5pY2h0IGJlc3RpbW10IHdlcmRlbjsgQWJicnVjaCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTk1IHNjaGVkdXRpbHMvdGFza3NldC5jOjIwOCBzeXMtdXRpbHMvY2hjcHUuYzoyOTUKK21zZ2lkICJjcHVzZXRfYWxsb2MgZmFpbGVkIgorbXNnc3RyICJjcHVzZXRfYWxsb2MgZmVobGdlc2NobGFnZW4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxNSBzeXMtdXRpbHMvY2hjcHUuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAiQ1BVLUxpc3RlIGtvbm50ZSBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbjogJXMiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2s6ICVzIgorbXNnc3RyICJDUFUtTWFza2Uga29ubnRlIG5pY2h0IGVpbmdlbGVzZW4gd2VyZGVuOiAlcyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogWmVyby1maWxsZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiJXM6ICU8UFJJdTY0PiBCeXRlcyBhYiBQb3NpdGlvbiAlPFBSSXU2ND4gbWl0IE51bGxlbiBnZWbDvGxsdFxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBEaXNjYXJkZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiJXM6ICU8UFJJdTY0PiBCeXRlcyB2ZXJ3b3JmZW4gYWIgUG9zaXRpb24gJTxQUkl1NjQ+XG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODcKK21zZ2lkICJEaXNjYXJkIHRoZSBjb250ZW50IG9mIHNlY3RvcnMgb24gYSBkZXZpY2UuXG4iCittc2dzdHIgIkRlbiBJbmhhbHQgdm9uIFNla3RvcmVuIGF1ZiBlaW5lbSBHZXLDpHQgdmVyd2VyZmVuLlxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkwCittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorbXNnc3RyICIiCisiIC1vLCAtLW9mZnNldCA8WmFobD4gZ2lidCBkaWUgQnl0ZS1Qb3NpdGlvbiBpbSBEYXRlaXN5c3RlbSBhbiwgYWIgZGVyIG5hY2hcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgIHp1IHZlcndlcmZlbmRlbiBmcmVpZW4gQmzDtmNrZW4gZ2VzdWNodCB3ZXJkZW4gc29sbFxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkxCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiAtbCwgLS1sZW5ndGggPFphaGw+ICBBbnphaGwgZGVyIHp1IHZlcndlcmZlbmRlbiBCeXRlcyBmZXN0bGVnZW5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MgorbXNnaWQgIiAtcCwgLS1zdGVwIDxudW0+ICAgIHNpemUgb2YgdGhlIGRpc2NhcmQgaXRlcmF0aW9ucyB3aXRoaW4gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgLXAsIC0tc3RlcCA8WmFobD4gICBHcsO2w59lIGRlciBWZXJ3dXJmLUl0ZXJhdGlvbmVuIGlubmVyaGFsYiBkZXMgT2Zmc2V0c1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkzCittc2dpZCAiIC1zLCAtLXNlY3VyZSAgICAgICAgcGVyZm9ybSBzZWN1cmUgZGlzY2FyZFxuIgorbXNnc3RyICIgLXMsIC0tc2VjdXJlICAgICAgICBzaWNoZXJlcyBWZXJ3ZXJmZW4gdmVyd2VuZGVuXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTQKK21zZ2lkICIgLXosIC0temVyb291dCAgICAgICB6ZXJvLWZpbGwgcmF0aGVyIHRoYW4gZGlzY2FyZFxuIgorbXNnc3RyICIgLXogIC0temVyb291dCAgICAgICBzdGF0IFZlcndlcmZlbiBtaXQgTnVsbGVuIGbDvGxsZW5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IGFsaWduZWQgbGVuZ3RoIGFuZCBvZmZzZXRcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICBlcmtsw6RyZW4gd2FzIGdlbWFjaHQgd2lyZFxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1MCBzeXMtdXRpbHMvZnN0cmltLmM6MzEyIHN5cy11dGlscy9sb3NldHVwLmM6NjczCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMjQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IgorbXNnc3RyICJQb3NpdGlvbiBrb25udGUgbmljaHQgZWluZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTU0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0ZXAiCittc2dzdHIgIkR1cmNobMOkdWZlIGtvbm50ZW4gbmljaHQgZWluZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTcyIHN5cy11dGlscy96cmFtY3RsLmM6NjgyIHN5cy11dGlscy96cmFtY3RsLmM6NzA4Cittc2dpZCAibm8gZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAia2VpbiBHZXLDpHQgYW5nZWdlYmVuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3NyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzUxCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjIgc3lzLXV0aWxzL2ZzdHJpbS5jOjMzNAorbXNnaWQgInVuZXhwZWN0ZWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAidW5lcndhcnRldGUgQW56YWhsIGFuIEFyZ3VtZW50ZW4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogQkxLR0VUU0laRTY0IGlvY3RsIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU1NaR0VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEJMS1NTWkdFVCBpb2N0bCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiVzOiBQb3NpdGlvbiAlPFBSSXU2ND4gaXN0IG5pY2h0IGFuIFNla3Rvcmdyw7bDn2UgJWkgYXVzZ2VyaWNodGV0IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0IGlzIGdyZWF0ZXIgdGhhbiBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAiJXM6IFBvc2l0aW9uIMO8YmVyc3RlaWd0IGRpZSBHZXLDpHRlZ3LDtsOfZSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxlbmd0aCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiVzOiBMw6RuZ2UgJTxQUkl1NjQ+IGlzdCBuaWNodCBhbiBTZWt0b3JncsO2w59lICVpIGF1c2dlcmljaHRldCIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1pFUk9PVVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogQkxLWkVST09VVCBpb2N0bCBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTRUNESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEJMS1NFQ0RJU0NBUkQgaW9jdGwgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEJMS0RJU0NBUkQgaW9jdGwgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjg3IHN5cy11dGlscy9jaGNwdS5jOjE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIkNQVSAldSBpc3QgbmljaHQgdm9yaGFuZGVuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGhvdCBwbHVnZ2FibGUiCittc2dzdHIgIkNQVSAldSBpc3QgbmljaHQgaW0gbGF1ZmVuZGVuIEJldHJpZWIgaGluenVmw7xnYmFyIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIkNQVSAldSBpc3QgYmVyZWl0cyBha3RpdmllcnRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAldSBpc3QgYmVyZWl0cyBkZWFrdGl2aWVydFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQgKENQVSBpcyBkZWNvbmZpZ3VyZWQpIgorbXNnc3RyICJBa3RpdmllcmVuIGRlciBDUFUgJXUgZmVobGdlc2NobGFnZW4gKENQVSBpc3QgbmljaHQga29uZmlndXJpZXJ0KSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIgorbXNnc3RyICJDUFUgJXUga29ubnRlIG5pY2h0IGFrdGl2aWVydCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlZFxuIgorbXNnc3RyICJDUFUgJXUgYWt0aXZpZXJ0XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQgKGxhc3QgZW5hYmxlZCBDUFUpIgorbXNnc3RyICJEZWFrdGl2aWVydW5nIHZvbiBDUFUgJXUgaXN0IGZlaGxnZXNjaGxhZ2VuIChsZXR6dGUgYWt0aXZpZXJ0ZSBDUFUpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICJDUFUgJXUga29ubnRlIG5pY2h0IGRlYWt0aXZpZXJ0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlZFxuIgorbXNnc3RyICJDUFUgJXUgd3VyZGUgZGVha3RpdmllcnRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCByZXNjYW5uaW5nIG9mIENQVXMiCittc2dzdHIgIkRpZXNlcyBTeXN0ZW0gdW50ZXJzdMO8dHp0IGRhcyBOZXVlaW5sZXNlbiBkZXIgQ1BVcyBuaWNodC4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MworbXNnaWQgIkZhaWxlZCB0byB0cmlnZ2VyIHJlc2NhbiBvZiBDUFVzIgorbXNnc3RyICJOZXVlaW5sZXNlbiBkZXIgQ1BVcyBrb25udGUgbmljaHQgYXVzZ2Vsw7ZzdCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJUcmlnZ2VyZWQgcmVzY2FuIG9mIENQVXNcbiIKK21zZ3N0ciAiTmV1ZWlubGVzZW4gZGVyIENQVXMgd3VyZGUgYXVzZ2Vsw7ZzdFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHNldHRpbmcgdGhlIGRpc3BhdGNoaW5nIG1vZGUgb2YgQ1BVcyIKK21zZ3N0ciAiRGllc2VzIFN5c3RlbSB1bnRlcnN0w7x0enQgZGFzIFNldHplbiBkZXMgRGlzcGF0Y2hpbmctTW9kdXMgZsO8ciBDUFVzIG5pY2h0LiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU1Cittc2dpZCAiRmFpbGVkIHRvIHNldCBob3Jpem9udGFsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgIkhvcml6b250YWxlciBEaXNwYXRjaGluZy1Nb2R1cyBrb25udGUgbmljaHQgZ2VzZXR6dCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IGhvcml6b250YWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICJIb3Jpem9udGFsZXIgRGlzcGF0Y2hpbmctTW9kdXMgd3VyZGUgZXJmb2xncmVpY2ggZ2VzZXR6dFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTkKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHZlcnRpY2FsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgIlZlcnRpa2FsZXIgRGlzcGF0Y2hpbmctTW9kdXMga29ubnRlIG5pY2h0IGdlc2V0enQgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCB2ZXJ0aWNhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIlZlcnRpa2FsZXIgRGlzcGF0Y2hpbmctTW9kdXMgd3VyZGUgZXJmb2xncmVpY2ggZ2VzZXR6dFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBjb25maWd1cmFibGUiCittc2dzdHIgIkNQVSAldSBpc3QgbmljaHQga29uZmlndXJpZXJiYXIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAldSBpc3QgYmVyZWl0cyBrb25maWd1cmllcnRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJDUFUgJXUgaXN0IGJlcmVpdHMgZGVrb25maWd1cmllcnRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiRGVrb25maWd1cmllcmVuIGRlciBDUFUgJXUgaXN0IGZlaGxnZXNjaGxhZ2VuIChDUFUgaXN0IGFrdGl2aWVydCkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiQ1BVICV1IGtvbm50ZSBuaWNodCBrb25maWd1cmllcnQgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICV1IHd1cmRlIGtvbmZpZ3VyaWVydFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiQ1BVICV1IGtvbm50ZSBuaWNodCBkZWtvbmZpZ3VyaWVydCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAldSB3dXJkZSBkZWtvbmZpZ3VyaWVydFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBDUFUgbnVtYmVyIGluIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAidW5nw7xsdGlnZSBDUFUtTnVtbWVyIGluIGRlciBDUFUtTGlzdGU6ICVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzggdGV4dC11dGlscy9jb2wuYzoxMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiIgorIlxuIgorIkF1ZnJ1ZjpcbiIKKyIgJXMgW09wdGlvbmVuXVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDIKK21zZ2lkICJDb25maWd1cmUgQ1BVcyBpbiBhIG11bHRpLXByb2Nlc3NvciBzeXN0ZW0uXG4iCittc2dzdHIgIkNQVXMgaW4gZWluZW0gTWVocnByb3plc3NvcnN5c3RlbSBrb25maWd1cmllcmVuLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorIiAgLWUsIC0tZW5hYmxlIDxjcHUtbGlzdD4gICAgICAgZW5hYmxlIGNwdXNcbiIKKyIgIC1kLCAtLWRpc2FibGUgPGNwdS1saXN0PiAgICAgIGRpc2FibGUgY3B1c1xuIgorIiAgLWMsIC0tY29uZmlndXJlIDxjcHUtbGlzdD4gICAgY29uZmlndXJlIGNwdXNcbiIKKyIgIC1nLCAtLWRlY29uZmlndXJlIDxjcHUtbGlzdD4gIGRlY29uZmlndXJlIGNwdXNcbiIKKyIgIC1wLCAtLWRpc3BhdGNoIDxtb2RlPiAgICAgICAgIHNldCBkaXNwYXRjaGluZyBtb2RlXG4iCisiICAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICB0cmlnZ2VyIHJlc2NhbiBvZiBjcHVzXG4iCisiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIGRpZXNlIEhpbGZlIGF1c2dlYmVuXG4iCisiICAtZSwgLS1lbmFibGUgPENQVS1MaXN0ZT4gICAgICBDUFVzIGFrdGl2aWVyZW5cbiIKKyIgIC1kLCAtLWRpc2FibGUgPENQVS1MaXN0ZT4gICAgIENQVXMgZGVha3RpdmllcmVuXG4iCisiICAtYywgLS1jb25maWd1cmUgPENQVS1MaXN0ZT4gICBDUFVzIGtvbmZpZ3VyaWVyZW5cbiIKKyIgIC1nLCAtLWRlY29uZmlndXJlIDxDUFUtTGlzdGU+IENQVXMgZGVrb25maWd1cmllcmVuXG4iCisiICAtcCwgLS1kaXNwYXRjaCA8TW9kdXM+ICAgICAgICBEaXNwYXRjaGluZy1Nb2R1cyBzZXR6ZW5cbiIKKyIgIC1yLCAtLXJlc2NhbiAgICAgICAgICAgICAgICAgIENQVXMgbmV1IGVpbmxlc2VuXG4iCisiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBWZXJzaW9uc2luZm9ybWF0aW9uIGF1c2dlYmVuIHVuZCBiZWVuZGVuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjMyNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBhcmd1bWVudDogJXMiCittc2dzdHIgIm5pY2h0IHVudGVyc3TDvHR6dGVzIEFyZ3VtZW50OiAlcyIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzoyNworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgaGFyZHxzb2Z0XG4iCittc2dzdHIgIiAlcyBoYXJkfHNvZnRcbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICJTZXQgdGhlIGZ1bmN0aW9uIG9mIHRoZSBDdHJsLUFsdC1EZWwgY29tYmluYXRpb24uXG4iCittc2dzdHIgIkRpZSBGdW5rdGlvbiBkZXIgVGFzdGVua29tYmluYXRpb24gU3RyZy1BbHQtRW50ZiBmZXN0bGVnZW4uXG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTEKK21zZ2lkICJpbXBsaWNpdCIKK21zZ3N0ciAiaW1wbGl6aXQiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB2YWx1ZSBpbiAlczogJWp1IgorbXNnc3RyICJVbmVyd2FydGV0ZXIgV2VydCBpbiAlczogJWp1IgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjYzCittc2dpZCAiWW91IG11c3QgYmUgcm9vdCB0byBzZXQgdGhlIEN0cmwtQWx0LURlbCBiZWhhdmlvciIKK21zZ3N0ciAiTnVyIOKAnnJvb3TigJwga2FubiBkYXMgVmVyaGFsdGVuIHZvbiBTdHJnLUFsdC1FbnRmIMOkbmRlcm4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NzEgc3lzLXV0aWxzL2lwY3JtLmM6MzkyIHN5cy11dGlscy9pcGNybS5jOjQxNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAidW5iZWthbm50ZXMgQXJndW1lbnQ6ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTAKK21zZ2lkICJzeXN0ZW0gaXMgdW51c2FibGUiCittc2dzdHIgIlN5c3RlbSBpc3QgdW5iZW51dHpiYXIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMQorbXNnaWQgImFjdGlvbiBtdXN0IGJlIHRha2VuIGltbWVkaWF0ZWx5IgorbXNnc3RyICJFcyBtdXNzIHNvZm9ydCBnZWhhbmRlbHQgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTIKK21zZ2lkICJjcml0aWNhbCBjb25kaXRpb25zIgorbXNnc3RyICJrcml0aXNjaGUgWnVzdMOkbmRlIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTMKK21zZ2lkICJlcnJvciBjb25kaXRpb25zIgorbXNnc3RyICJCZWRpbmd1bmdlbiBmw7xyIEZlaGxlcm1lbGR1bmdlbiIKKworIyBYWFgg4oCTIE1lcmdlIHdpdGggbmV4dCBzdHJpbmdzLgorIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE0Cittc2dpZCAid2FybmluZyBjb25kaXRpb25zIgorbXNnc3RyICJCZWRpbmd1bmdlbiBmw7xyIFdhcm51bmdlbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE1Cittc2dpZCAibm9ybWFsIGJ1dCBzaWduaWZpY2FudCBjb25kaXRpb24iCittc2dzdHIgIm5vcm1hbGUsIGFiZXIgYmVkZXV0ZW5kZSBCZWRpbmd1bmciCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNgorbXNnaWQgImluZm9ybWF0aW9uYWwiCittc2dzdHIgImluZm9ybWF0b3Jpc2NoIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTcKK21zZ2lkICJkZWJ1Zy1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAiRGVidWctTGV2ZWwtTWVsZHVuZ2VuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzEKK21zZ2lkICJrZXJuZWwgbWVzc2FnZXMiCittc2dzdHIgIktlcm5lbC1NZWxkdW5nZW4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMgorbXNnaWQgInJhbmRvbSB1c2VyLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICJ6dWbDpGxsaWdlIE5hY2hyaWNodGVuIGF1ZiBBbndlbmRlcmViZW5lIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzMKK21zZ2lkICJtYWlsIHN5c3RlbSIKK21zZ3N0ciAiTWFpbHN5c3RlbSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM0Cittc2dpZCAic3lzdGVtIGRhZW1vbnMiCittc2dzdHIgIlN5c3RlbWRpZW5zdGUgKERhZW1vbnMpIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzUKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIgorbXNnc3RyICJTaWNoZXJoZWl0cy0vQXV0b3Jpc2F0aW9ucy1OYWNocmljaHRlbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM2Cittc2dpZCAibWVzc2FnZXMgZ2VuZXJhdGVkIGludGVybmFsbHkgYnkgc3lzbG9nZCIKK21zZ3N0ciAiTmFjaHJpY2h0ZW4sIGRpZSBpbnRlcm4gdm9tIHN5c2xvZ2QgZXJ6ZXVndCB3dXJkZW4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNworbXNnaWQgImxpbmUgcHJpbnRlciBzdWJzeXN0ZW0iCittc2dzdHIgIlplaWxlbmRydWNrZXItU3Vic3lzdGVtIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzgKK21zZ2lkICJuZXR3b3JrIG5ld3Mgc3Vic3lzdGVtIgorbXNnc3RyICJOZXR6d2Vya25hY2hyaWNodGVuLVN1YnN5c3RlbSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM5Cittc2dpZCAiVVVDUCBzdWJzeXN0ZW0iCittc2dzdHIgIlVVQ1AtU3Vic3lzdGVtIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDAKK21zZ2lkICJjbG9jayBkYWVtb24iCittc2dzdHIgIlVoci1EYWVtb24iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MQorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMgKHByaXZhdGUpIgorbXNnc3RyICJTaWNoZXJoZWl0cy0vQXV0b3Jpc2F0aW9ucy1OYWNocmljaHRlbiAocHJpdmF0KSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQyCittc2dpZCAiRlRQIGRhZW1vbiIKK21zZ3N0ciAiRlRQLURhZW1vbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjY3Cittc2dpZCAiRGlzcGxheSBvciBjb250cm9sIHRoZSBrZXJuZWwgcmluZyBidWZmZXIuXG4iCittc2dzdHIgIkRlbiBLZXJuZWwtUmluZ3B1ZmZlciBhbnplaWdlbiB1bmQgc3RldWVybi5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjcwCittc2dpZCAiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICBjbGVhciB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgZGVuIEtlcm5lbC1SaW5ncHVmZmVyIGxlZXJlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzEKK21zZ2lkICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIHJlYWQgYW5kIGNsZWFyIGFsbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIGFsbGUgTWVsZHVuZ2VuIGxlc2VuIHVuZCBsw7ZzY2hlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzIKK21zZ2lkICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIGRpc2FibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIEF1c2dhYmUgdm9uIE5hY2hyaWNodGVuIGF1ZiBkaWUgS29uc29sZSBkZWFrdGl2aWVyZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjczCittc2dpZCAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBlbmFibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIEF1c2dhYmUgdm9uIE5hY2hyaWNodGVuIGF1ZiBkaWUgS29uc29sZSBha3RpdmllcmVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NAorbXNnaWQgIiAtRiwgLS1maWxlIDxmaWxlPiAgICAgICAgICAgdXNlIHRoZSBmaWxlIGluc3RlYWQgb2YgdGhlIGtlcm5lbCBsb2cgYnVmZmVyXG4iCittc2dzdHIgIiAtRiwgLS1maWxlIDxEYXRlaT4gICAgICAgICAgRGF0ZWkgYW5zdGVsbGUgZGVzIEtlcm5lbC1Qcm90b2tvbGxwdWZmZXJzIHZlcndlbmRlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzUKK21zZ2lkICIgLWYsIC0tZmFjaWxpdHkgPGxpc3Q+ICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGZhY2lsaXRpZXNcbiIKK21zZ3N0ciAiIC1mLCAtLWZhY2lsaXR5IDxMaXN0ZT4gICAgICBBdXNnYWJlIGF1ZiBkaWUgZGVmaW5pZXJ0ZW4gTGVpc3R1bmdlbiBiZXNjaHLDpG5rZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc2Cittc2dpZCAiIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICBodW1hbiByZWFkYWJsZSBvdXRwdXRcbiIKK21zZ3N0ciAiIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICBtZW5zY2hlbmxlc2JhcmUgQXVzZ2FiZVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzcKK21zZ2lkICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIGRpc3BsYXkga2VybmVsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgS2VybmVsLU1lbGR1bmdlbiBhbnplaWdlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzgKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PFdhbm4+XSAgICAgICAgTmFjaHJpY2h0ZW4gZWluZsOkcmJlbiAo4oCeYXV0b+KAnCwg4oCeYWx3YXlz4oCcIG9kZXIg4oCebmV2ZXLigJwpXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MQorbXNnaWQgIiAtbCwgLS1sZXZlbCA8bGlzdD4gICAgICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgbGV2ZWxzXG4iCittc2dzdHIgIiAtbCwgLS1sZXZlbCA8TGlzdGU+ICAgICAgICAgQXVzZ2FiZSBhdWYgZGVmaW5pZXJ0ZSBFYmVuZW4gYmVzY2hyw6Rua2VuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MgorbXNnaWQgIiAtbiwgLS1jb25zb2xlLWxldmVsIDxsZXZlbD4gc2V0IGxldmVsIG9mIG1lc3NhZ2VzIHByaW50ZWQgdG8gY29uc29sZVxuIgorbXNnc3RyICIiCisiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPEViZW5lPiBTdHVmZSBkZXIgYW4gZGllIEtvbnNvbGUgYXVzZ2VnZWJlbmVuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVsZHVuZ2VuIGZlc3RsZWdlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODMKK21zZ2lkICIgLVAsIC0tbm9wYWdlciAgICAgICAgICAgICAgIGRvIG5vdCBwaXBlIG91dHB1dCBpbnRvIGEgcGFnZXJcbiIKK21zZ3N0ciAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICBBdXNnYWJlIG5pY2h0IGluIGVpbmVuIFBhZ2VyIHdlaXRlcmxlaXRlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODQKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByYXcgbWVzc2FnZSBidWZmZXJcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBkZW4gdW52ZXJhcmJlaXRldGVuIE1lbGR1bmdzcHVmZmVyIGF1c2dlYmVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NQorbXNnaWQgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgZm9yY2UgdG8gdXNlIHN5c2xvZygyKSByYXRoZXIgdGhhbiAvZGV2L2ttc2dcbiIKK21zZ3N0ciAiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICBzeXNsb2coMikgYW5zdGVsbGUgdm9uIC9kZXYva21zZyBlcnp3aW5nZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg2Cittc2dpZCAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiAtcywgLS1idWZmZXItc2l6ZSA8R3LDtsOfZT4gICBQdWZmZXJncsO2w59lIHp1ciBBYmZyYWdlIGRlcyBLZXJuZWwtUmluZ3B1ZmZlcnNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg3Cittc2dpZCAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICBkaXNwbGF5IHVzZXJzcGFjZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIE5hY2hyaWNodGVuIGltIEJlbnV0emVyYmVyZWljaCBhbnplaWdlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODgKK21zZ2lkICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIGF1ZiBuZXVlIE5hY2hyaWNodGVuIHdhcnRlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODkKK21zZ2lkICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIGRlY29kZSBmYWNpbGl0eSBhbmQgbGV2ZWwgdG8gcmVhZGFibGUgc3RyaW5nXG4iCittc2dzdHIgIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgTGVpc3R1bmdlbiB1bmQgRWJlbmVuIGluIGxlc2JhcmVuIFN0cmluZyBkZWtvZGllcmVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MAorbXNnaWQgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgc2hvdyB0aW1lIGRlbHRhIGJldHdlZW4gcHJpbnRlZCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIFplaXRzcGFubmUgendpc2NoZW4gYXVzZ2VnZWJlbmVuIE1lbGR1bmdlbiBhbnplaWdlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTEKK21zZ2lkICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIHNob3cgbG9jYWwgdGltZSBhbmQgdGltZSBkZWx0YSBpbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBsb2thbGUgWmVpdCB1bmQgWmVpdHNwYW5uZSBpbiBsZXNiYXJlbSBGb3JtYXQgYXVzZ2ViZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkyCittc2dpZCAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICBzaG93IGh1bWFuLXJlYWRhYmxlIHRpbWVzdGFtcCAobWF5IGJlIGluYWNjdXJhdGUhKVxuIgorbXNnc3RyICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIG1lbnNjaGVubGVzYmFyZW4gWmVpdHN0ZW1wZWwgYW56ZWlnZW4gKGthbm4gdW5nZW5hdSBzZWluISlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkzCittc2dpZCAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBkb24ndCBzaG93IGFueSB0aW1lc3RhbXAgd2l0aCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIGtlaW5lIFplaXRzdGVtcGVsIGRlciBNZWxkdW5nZW4gYXVzZ2ViZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk0Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXAgdXNpbmcgdGhlIGdpdmVuIGZvcm1hdDpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyJTdXNwZW5kaW5nL3Jlc3VtZSB3aWxsIG1ha2UgY3RpbWUgYW5kIGlzbyB0aW1lc3RhbXBzIGluYWNjdXJhdGUuXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPEZvcm1hdD4gIGdpYnQgWmVpdHN0ZW1wZWwgaW0gYW5nZWdlYmVuZW4gSTxGb3JtYXQ+IGF1czpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyJFaW5zY2hsYWZlbi9BdWZ3YWNoZW4gd2lsbCB2ZXJ1cnNhY2h0IGlua29ycmVrdGUgY3RpbWUtIHVuZCBpc28tWmVpdHN0ZW1wZWwuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwMAorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGZhY2lsaXRpZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJVbnRlcnN0w7x0enRlIFByb3Rva29sbGxlaXN0dW5nZW46XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwNgorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGxldmVscyAocHJpb3JpdGllcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJVbnRlcnN0w7x0enRlIFByb3Rva29sbGllcnN0dWZlbiAoUHJpb3JpdMOkdGVuKTpcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZXZlbCAnJXMnIgorbXNnc3RyICJFYmVuZSDigJ4lc+KAnCBrb25udGUgbmljaHQgZWluZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGxldmVsICclcyciCittc2dzdHIgInVuYmVrYW5udGVzIExldmVsIOKAniVz4oCcIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGZhY2lsaXR5ICclcyciCittc2dzdHIgIkxlaXN0dW5nIOKAniVz4oCcIGtvbm50ZSBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAidW5iZWthbm50ZSBFaW5yaWNodHVuZyDigJ4lc+KAnCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NTI4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtbWFwOiAlcyIKK21zZ3N0ciAibW1hcCBmZWhsZ2VzY2hsYWdlbjogJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNTYKK21zZ2lkICJpbnZhbGlkIGJ1ZmZlciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJ1bmfDvGx0aWdlcyBQdWZmZXJncsO2w59lbmFyZ3VtZW50IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDA5Cittc2dpZCAiLS1zaG93LWRlbHRhIGlzIGlnbm9yZWQgd2hlbiB1c2VkIHRvZ2V0aGVyIHdpdGggaXNvODYwMSB0aW1lIGZvcm1hdCIKK21zZ3N0ciAiLS1zaG93LWRlbHRhIHdpcmQgaWdub3JpZXJ0LCB3ZW5uIGVzIHp1c2FtbWVuIG1pdCBkZW0gaXNvODYwMS1aZWl0Zm9ybWF0IHZlcndlbmRldCB3aXJkIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDMyCittc2dpZCAiLS1yYXcgY2FuIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWxldmVsIG9yIC0tZmFjaWxpdHkgb25seSB3aGVuIHJlYWRpbmcgbWVzc2FnZXMgZnJvbSAvZGV2L2ttc2ciCittc2dzdHIgIi0tcmF3IGthbm4gbnVyIGRhbm4genVzYW1tZW4gbWl0IC0tbGV2ZWwgb2RlciAtLWZhY2lsaXR5IHZlcndlbmRldCB3ZXJkZW4sIHdlbm4gTWVsZHVuZ2VuIGF1cyAvZGV2L2ttc2cgZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0NDIKK21zZ2lkICJyZWFkIGtlcm5lbCBidWZmZXIgZmFpbGVkIgorbXNnc3RyICJMZXNlbiBkZXMgS2VybmVscHVmZmVycyBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0NjEKK21zZ2lkICJrbG9nY3RsIGZhaWxlZCIKK21zZ3N0ciAi4oCea2xvZ2N0bOKAnCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+fDxtb3VudHBvaW50Pl1cbiIKK21zZ3N0ciAiICVzIFtPcHRpb25lbl0gWzxHZXLDpHQ+fDxFaW5ow6RuZ2VwdW5rdD5dXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNworbXNnaWQgIkVqZWN0IHJlbW92YWJsZSBtZWRpYS5cbiIKK21zZ3N0ciAiV2VjaHNlbGRhdGVudHLDpGdlciBhdXN3ZXJmZW4uXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjE0MAorbXNnaWQgIiIKKyIgLWEsIC0tYXV0byA8b258b2ZmPiAgICAgICAgIHR1cm4gYXV0by1lamVjdCBmZWF0dXJlIG9uIG9yIG9mZlxuIgorIiAtYywgLS1jaGFuZ2Vyc2xvdCA8c2xvdD4gICAgc3dpdGNoIGRpc2NzIG9uIGEgQ0QtUk9NIGNoYW5nZXJcbiIKKyIgLWQsIC0tZGVmYXVsdCAgICAgICAgICAgICAgIGRpc3BsYXkgZGVmYXVsdCBkZXZpY2VcbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIGVqZWN0IGZsb3BweVxuIgorIiAtRiwgLS1mb3JjZSAgICAgICAgICAgICAgICAgZG9uJ3QgY2FyZSBhYm91dCBkZXZpY2UgdHlwZVxuIgorIiAtaSwgLS1tYW51YWxlamVjdCA8b258b2ZmPiAgdG9nZ2xlIG1hbnVhbCBlamVjdCBwcm90ZWN0aW9uIG9uL29mZlxuIgorIiAtbSwgLS1uby11bm1vdW50ICAgICAgICAgICAgZG8gbm90IHVubW91bnQgZGV2aWNlIGV2ZW4gaWYgaXQgaXMgbW91bnRlZFxuIgorIiAtTSwgLS1uby1wYXJ0aXRpb25zLXVubW91bnQgZG8gbm90IHVubW91bnQgYW5vdGhlciBwYXJ0aXRpb25zXG4iCisiIC1uLCAtLW5vb3AgICAgICAgICAgICAgICAgICBkb24ndCBlamVjdCwganVzdCBzaG93IGRldmljZSBmb3VuZFxuIgorIiAtcCwgLS1wcm9jICAgICAgICAgICAgICAgICAgdXNlIC9wcm9jL21vdW50cyBpbnN0ZWFkIG9mIC9ldGMvbXRhYlxuIgorIiAtcSwgLS10YXBlICAgICAgICAgICAgICAgICAgZWplY3QgdGFwZVxuIgorIiAtciwgLS1jZHJvbSAgICAgICAgICAgICAgICAgZWplY3QgQ0QtUk9NXG4iCisiIC1zLCAtLXNjc2kgICAgICAgICAgICAgICAgICBlamVjdCBTQ1NJIGRldmljZVxuIgorIiAtdCwgLS10cmF5Y2xvc2UgICAgICAgICAgICAgY2xvc2UgdHJheVxuIgorIiAtVCwgLS10cmF5dG9nZ2xlICAgICAgICAgICAgdG9nZ2xlIHRyYXlcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIGVuYWJsZSB2ZXJib3NlIG91dHB1dFxuIgorIiAteCwgLS1jZHNwZWVkIDxzcGVlZD4gICAgICAgc2V0IENELVJPTSBtYXggc3BlZWRcbiIKKyIgLVgsIC0tbGlzdHNwZWVkICAgICAgICAgICAgIGxpc3QgQ0QtUk9NIGF2YWlsYWJsZSBzcGVlZHNcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hdXRvIDxvbnxvZmY+ICAgICAgICAgc2NoYWx0ZXQgYXV0b21hdGlzY2hlcyBBdXN3ZXJmZW4gZWluIG9kZXIgYXVzXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxTbG90PiAgICB3ZWNoc2VsdCBkaWUgRGlzY3MgaW4gZWluZW0gQ0QtV2VjaHNsZXJcbiIKKyIgLWQsIC0tZGVmYXVsdCAgICAgICAgICAgICAgIHplaWd0IGRhcyBTdGFuZGFyZGdlcsOkdCBhblxuIgorIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAgd2lyZnQgZGllIEZsb3BweS1EaXNrZXR0ZSBhdXNcbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIGJlcsO8Y2tzaWNodGlndCBkZW4gR2Vyw6R0ZXR5cCBuaWNodFxuIgorIiAtaSwgLS1tYW51YWxlamVjdCA8b258b2ZmPiAgc2NoYWx0ZXQgZGVuIFNjaHV0eiB2b3IgbWFudWVsbGVtIEF1c3dlcmZlblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlaW4gb2RlciBhdXNcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIGjDpG5ndCBkYXMgR2Vyw6R0IG5pY2h0IGF1cywgc2VsYnN0IHdlbm4gZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWluZ2Vow6RuZ3QgaXN0XG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBow6RuZ3Qga2VpbmUgYW5kZXJlbiBQYXJ0aXRpb25lbiBhdXNcbiIKKyIgLW4sIC0tbm9vcCAgICAgICAgICAgICAgICAgIHdpcmZ0IG5pY2h0cyBhdXMsIHNvbmRlcm4gemVpZ3QgbnVyIGRhc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZWZ1bmRlbmUgR2Vyw6R0IC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICB2ZXJ3ZW5kZXQgL3Byb2MvbW91bnRzIGFuc3RhdHQgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICB3aXJmdCBkYXMgQmFuZGxhdWZ3ZXJrIGF1c1xuIgorIiAtciwgLS1jZHJvbSAgICAgICAgICAgICAgICAgd2lyZCBkaWUgQ0QtUk9NIGF1c1xuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgd2lyZnQgZGFzIFNDU0ktR2Vyw6R0IGF1c1xuIgorIiAtdCwgLS10cmF5Y2xvc2UgICAgICAgICAgICAgc2NobGllw590IGRpZSBLbGFwcGVcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIMO2ZmZuZXQgb2RlciBzY2hsaWXDn3QgZGllIEtsYXBwZVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgYWt0aXZpZXJ0IGRpZSBhdXNmw7xocmxpY2hlIEF1c2dhYmVcbiIKKyIgLXgsIC0tY2RzcGVlZCA8R2VzY2h3Lj4gICAgIGxlZ3QgZGllIG1heGltYWxlIENELVJPTS1HZXNjaHdpbmRpZ2tlaXQgZmVzdFxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAgemVpZ3QgZGllIHZlcmbDvGdiYXJlbiBDRC1ST00tR2VzY2h3aW5kaWctXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtlaXRlbiBhblxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNjQKK21zZ2lkICIiCisiXG4iCisiQnkgZGVmYXVsdCB0cmllcyAtciwgLXMsIC1mLCBhbmQgLXEgaW4gb3JkZXIgdW50aWwgc3VjY2Vzcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlBlciBWb3JnYWJlIHdlcmRlbiAtciwgLXMsIC1mIHVuZCAtcSBpbiBkaWVzZXIgUmVpaGVuZm9sZ2UgdmVyc3VjaHQsXG4iCisiYmlzIHp1bSBFcmZvbGcuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxMAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jaGFuZ2Vyc2xvdC8tYyBvcHRpb24iCittc2dzdHIgInVuenVsw6Rzc2lnZXMgQXJndW1lbnQgenVyIE9wdGlvbiAtLWNoYW5nZXJzbG90Ly1jIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2RzcGVlZC8teCBvcHRpb24iCittc2dzdHIgInVuenVsw6Rzc2lnZXMgQXJndW1lbnQgenVyIE9wdGlvbiAtLWNkc3BlZWQvLXggb3B0aW9uIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMjYKK21zZ2lkICJDRC1ST00gYXV0by1lamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ0QtUk9NLUJlZmVobCB6dW0gYXV0b21hdGlzY2hlbiBBdXN3ZXJmZW4gZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MAorbXNnaWQgIkNELVJPTSBkb29yIGxvY2sgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiU3BlcnJlbiBkZXMgQ0QtUk9NLUxhdWZ3ZXJrcyB3aXJkIG5pY2h0IHVudGVyc3TDvHR6dCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQyCittc2dpZCAib3RoZXIgdXNlcnMgaGF2ZSB0aGUgZHJpdmUgb3BlbiBhbmQgbm90IENBUF9TWVNfQURNSU4iCittc2dzdHIgImFuZGVyZSBCZW51dHplciBoYWJlbiBkYXMgTGF1ZndlcmsgZ2XDtmZmbmV0IHVuZCB2ZXJmw7xnZW4gbmljaHQgw7xiZXIgQ0FQX1NZU19BRE1JTiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQ0Cittc2dpZCAiQ0QtUk9NIGxvY2sgZG9vciBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ0QtUk9NLUJlZmVobCB6dW0gU2NobGllw59lbiBkZXIgTGFkZSBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQ5Cittc2dpZCAiQ0QtRHJpdmUgbWF5IE5PVCBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiQ0QtTGF1ZndlcmsgZGFyZiBOSUNIVCBtaXQgZGVtIEtub3BmIGFtIEdlcsOkdCBhdXNnZXdvcmZlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM1MQorbXNnaWQgIkNELURyaXZlIG1heSBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiQ0QtTGF1ZndlcmsgZGFyZiBtaXQgZGVtIEtub3BmIGFtIEdlcsOkdCBhdXNnZXdvcmZlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2MgorbXNnaWQgIkNELVJPTSBzZWxlY3QgZGlzYyBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ0QtUk9NLUJlZmVobCB6dW0gQXVzd2FobCBkZXMgTWVkaXVtcyBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY2Cittc2dpZCAiQ0QtUk9NIGxvYWQgZnJvbSBzbG90IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJkZXIgQmVmZWhsIHp1bSBFaW56aWVoZW4gZGVyIENELVJPTSBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2OAorbXNnaWQgIklERS9BVEFQSSBDRC1ST00gY2hhbmdlciBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIklERS9BVEFQSS1DRC1ST00tV2VjaHNsZXIgd2lyZCB2b24gZGllc2VtIEtlcm5lbCBuaWNodCB1bnRlcnN0w7x0enRcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg2Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkNELVJPTS1CZWZlaGwgenVtIFNjaGxpZcOfZW4gZGVyIExhZGUgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4OAorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICJkZXIgQmVmZWhsIHp1bSBTY2hsaWXDn2VuIGRlciBDRC1MYWRlIHdpcmQgdm9uIGRpZXNlbSBLZXJuZWwgbmljaHQgdW50ZXJzdMO8dHp0XG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQwNQorbXNnaWQgIkNELVJPTSBlamVjdCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiQ0QtUk9NLUF1c3d1cmYgd2lyZCBuaWNodCB1bnRlcnN0w7x0enQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzMyBzeXMtdXRpbHMvZWplY3QuYzo0NTYgc3lzLXV0aWxzL2VqZWN0LmM6MTAxMQorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ0QtUk9NLUF1c3d1cmZiZWZlaGwgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzNgorbXNnaWQgIm5vIENELVJPTSBpbmZvcm1hdGlvbiBhdmFpbGFibGUiCittc2dzdHIgIktlaW5lIENELVJPTS1JbmZvcm1hdGlvbiB2ZXJmw7xnYmFyIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzkKK21zZ2lkICJDRC1ST00gZHJpdmUgaXMgbm90IHJlYWR5IgorbXNnc3RyICJDRC1ST00tTGF1ZndlcmsgaXN0IG5pY2h0IGJlcmVpdCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgyCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ0QtUk9NLUJlZmVobCB6dW0gV8OkaGxlbiBkZXIgR2VzY2h3aW5kaWdrZWl0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODQgc3lzLXV0aWxzL2VqZWN0LmM6NTcwCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWwiCittc2dzdHIgImRlciBCZWZlaGwgenVtIMOEbmRlcm4gZGVyIENELVJPTS1HZXNjaHdpbmRpZ2tlaXQgd2lyZCB2b24gZGllc2VtIEtlcm5lbCBuaWNodCB1bnRlcnN0w7x0enQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmRpbmcgQ0QtUk9NIG5hbWUiCittc2dzdHIgIiVzOiBDRC1ST00tTmFtZSBrYW5uIG5pY2h0IGdlZnVuZGVuIHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiJXM6IEdlc2Nod2luZGlna2VpdCBrb25udGUgbmljaHQgZXJtaXR0ZWx0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTQ0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgIkdlc2Nod2luZGlna2VpdCBrb25udGUgbmljaHQgZXJtaXR0ZWx0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTg4Cittc2dpZCAibm90IGFuIHNnIGRldmljZSwgb3Igb2xkIHNnIGRyaXZlciIKK21zZ3N0ciAia2VpbiBzZy1HZXLDpHQgb2RlciBlaW4gYWx0ZXIgc2ctVHJlaWJlciIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bm1vdW50aW5nIgorbXNnc3RyICIlczogd2lyZCBhdXNnZWjDpG5ndCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njc1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBleGVjIC9iaW4vdW1vdW50IG9mIGAlcyciCittc2dzdHIgIi9iaW4vdW1vdW50IGtvbm50ZSBmw7xyIOKAniVz4oCcIG5pY2h0IGF1c2dlZsO8aHJ0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njc4Cittc2dpZCAidW5hYmxlIHRvIGZvcmsiCittc2dzdHIgIlByb3plc3Mga2FubiBuaWNodCBnZWZvcmt0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgIkF1c2jDpG5nZW4gdm9uIOKAniVz4oCcIHd1cmRlIG5pY2h0IG5vcm1hbCBiZWVuZGV0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGZhaWxlZFxuIgorbXNnc3RyICJBdXNow6RuZ2VuIHZvbiDigJ4lc+KAnCBmZWhsZ2VzY2hsYWdlblxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3MzAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgdGFibGUiCittc2dzdHIgIkVpbmxlc2VuIGRlciBFaW5ow6RuZ2V0YWJlbGxlIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3OTEgc3lzLXV0aWxzL2VqZWN0LmM6ODkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudGVkIG9uICVzIgorbXNnc3RyICIlczogZWluZ2Vow6RuZ3QgYmVpICVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MzMKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byBhdXRvIgorbXNnc3RyICJDRC1ST00tR2VzY2h3aW5kaWdrZWl0IHdpcmQgYXVmIOKAnmF1dG9tYXRpc2No4oCcIGZlc3RnZWxlZ3QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzNQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byAlbGRYIgorbXNnc3RyICJDRC1ST00tR2VzY2h3aW5kaWdrZWl0IHdpcmQgYXVmIGF1ZiAlbGRYIGZlc3RnZWxlZ3QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg2MQorIywgYy1mb3JtYXQKK21zZ2lkICJkZWZhdWx0IGRldmljZTogYCVzJyIKK21zZ3N0ciAiU3RhbmRhcmRnZXLDpHQ6IOKAniVz4oCcIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgZGVmYXVsdCBkZXZpY2UgYCVzJyIKK21zZ3N0ciAiU3RhbmRhcmRnZXLDpHQg4oCeJXPigJwgd2lyZCBiZW51dHp0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODYgc3lzLXV0aWxzL3J0Y3dha2UuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBmaW5kIGRldmljZSIKK21zZ3N0ciAiJXM6IEdlcsOkdCBrb25udGUgbmljaHQgZ2VmdW5kZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIG5hbWUgaXMgYCVzJyIKK21zZ3N0ciAiR2Vyw6R0ZW5hbWUgaXN0IOKAniVz4oCcIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4OTQgc3lzLXV0aWxzL3Vtb3VudC5jOjIwNiBzeXMtdXRpbHMvdW1vdW50LmM6MjM1CisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NDA5IHN5cy11dGlscy91bW91bnQuYzo0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBtb3VudGVkIgorbXNnc3RyICIlczogbmljaHQgZWluZ2Vow6RuZ3QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg5OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYyBkZXZpY2U6ICVzIChkaXNrIGRldmljZSB3aWxsIGJlIHVzZWQgZm9yIGVqZWN0KSIKK21zZ3N0ciAiJXM6IERpc2stR2Vyw6R0OiAlcyAoRGlzay1HZXLDpHQgd2lyZCB6dW0gQXVzd2VyZmVuIHZlcndlbmRldCkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIG1vdW50cG9pbnQgb3IgZGV2aWNlIHdpdGggdGhlIGdpdmVuIG5hbWUiCittc2dzdHIgIiVzOiBFaW5ow6RuZ2VwdW5rdCBvZGVyIEdlcsOkdCBkaWVzZXMgTmFtZW5zIHd1cmRlIG5pY2h0IGdlZnVuZGVuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIHdob2xlLWRpc2sgZGV2aWNlIgorbXNnc3RyICIlczogaXN0IGVpbiBnZXNhbXRlcyBMYXVmd2VyayIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgaG90LXBsdWdnYWJsZSBkZXZpY2UiCittc2dzdHIgIiVzOiBpc3Qga2VpbiBpbSBsYXVmZW5kZW4gQmV0cmllYiBoaW56dWbDvGdiYXJlcyBHZXLDpHQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxNworIywgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgaXMgYCVzJyIKK21zZ3N0ciAiR2Vyw6R0IGlzdCDigJ4lc+KAnCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTE4Cittc2dpZCAiZXhpdGluZyBkdWUgdG8gLW4vLS1ub29wIG9wdGlvbiIKK21zZ3N0ciAiQWJicnVjaCB3ZWdlbiBkZXIgT3B0aW9uIC1uLy0tbm9vcCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlbmFibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiVzOiBNb2R1cyB6dW0gYXV0b21hdGlzY2hlbiBBdXN3ZXJmZW4gd2lyZCBha3RpdmllcnQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiJXM6IE1vZHVzIHp1bSBhdXRvbWF0aXNjaGVuIEF1c3dlcmZlbiB3aXJkIGRlYWt0aXZpZXJ0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NpbmcgdHJheSIKK21zZ3N0ciAiJXM6IExhZGUgd2lyZCBnZXNjaGxvc3NlbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b2dnbGluZyB0cmF5IgorbXNnc3RyICIlczogTGFkZSB3aXJkIGdlw7ZmZm5ldC9nZXNjaGxvc3NlbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsaXN0aW5nIENELVJPTSBzcGVlZCIKK21zZ3N0ciAiJXM6IENELVJPTS1HZXNjaHdpbmRpZ2tlaXQgYXVmbGlzdGVuIgorCisjIFhYWCAtIEkgZGlkIGhhdmUgYSBiZXR0ZXIgb25lIGZvciBidXN5CisjIGxpYmMucG86CisjICJEZXZpY2Ugb3IgcmVzb3VyY2UgYnVzeSIKKyMgIkRhcyBHZXLDpHQgb2RlciBkaWUgUmVzc291cmNlIGlzdCBiZWxlZ3QiCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBkZXZpY2UgaW4gdXNlIgorbXNnc3RyICJGZWhsZXI6ICVzOiBEYXMgR2Vyw6R0IHdpcmQgbW9tZW50YW4gbm9jaCBiZW51dHp0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlbGVjdGluZyBDRC1ST00gZGlzYyAjJWxkIgorbXNnc3RyICIlczogQ0QtUk9NLURpc2sgIyVsZCB3aXJkIGF1c2dld8OkaGx0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgQ0QtUk9NIGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiVzOiBBdXN3ZXJmZW4gd2lyZCBtaXR0ZWxzIEF1c3d1cmZiZWZlaGwgZsO8ciBDRC1ST00gdmVyc3VjaHQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTAKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIkNELVJPTS1BdXN3dXJmYmVmZWhsIGVyZm9sZ3JlaWNoIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgU0NTSSBjb21tYW5kcyIKK21zZ3N0ciAiJXM6IEF1c3dlcmZlbiB3aXJkIG1pdHRlbHMgU0NTSS1CZWZlaGxlbiB2ZXJzdWNodCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxNworbXNnaWQgIlNDU0kgZWplY3Qgc3VjY2VlZGVkIgorbXNnc3RyICJTQ1NJLUF1c3d1cmYgZXJmb2xncmVpY2ggYmVlbmRldCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxOAorbXNnaWQgIlNDU0kgZWplY3QgZmFpbGVkIgorbXNnc3RyICJTQ1NJLUF1c3d1cmYgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBmbG9wcHkgZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiJXM6IEF1c3dlcmZlbiB3aXJkIG1pdHRlbHMgQXVzd3VyZmJlZmVobCBmw7xyIERpc2tldHRlIHZlcnN1Y2h0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI0Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICJGbG9wcHktQXVzd3VyZmJlZmVobCBlcmZvbGdyZWljaCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNQorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiRmxvcHB5LUF1c3d1cmZiZWZlaGwgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyB0YXBlIG9mZmxpbmUgY29tbWFuZCIKK21zZ3N0ciAiJXM6IEF1c3dlcmZlbiB3aXJkIG1pdHRlbHMgT2ZmbGluZS1CZWZlaGwgZsO8ciBCYW5kbGF1ZndlcmsgdmVyc3VjaHQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzEKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIk9mZmxpbmUtQmVmZWhsIGbDvHIgQmFuZGxhdWZ3ZXJrIGVyZm9sZ3JlaWNoIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDMyCittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJPZmZsaW5lLUJlZmVobCBmw7xyIEJhbmRsYXVmd2VyayBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzNgorbXNnaWQgInVuYWJsZSB0byBlamVjdCIKK21zZ3N0ciAiQXVzd2VyZmVuIG5pY2h0IG3DtmdsaWNoIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZW5hbWU+XG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIDxEYXRlaW5hbWU+XG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4MQorbXNnaWQgIlByZWFsbG9jYXRlIHNwYWNlIHRvLCBvciBkZWFsbG9jYXRlIHNwYWNlIGZyb20gYSBmaWxlLlxuIgorbXNnc3RyICJFaW5lciBEYXRlaSBQbGF0eiBpbSBEYXRlaXN5c3RlbSB6dXdlaXNlbiBvZGVyIGRpZSBadXdlaXN1bmcgbMO2c2VuLlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODQKK21zZ2lkICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgcmVtb3ZlIGEgcmFuZ2UgZnJvbSB0aGUgZmlsZVxuIgorbXNnc3RyICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgZWluZW4gQmVyZWljaCBhdXMgZGVyIERhdGVpIGVudGZlcm5lblxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODUKK21zZ2lkICIgLWQsIC0tZGlnLWhvbGVzICAgICAgZGV0ZWN0IHplcm9lcyBhbmQgcmVwbGFjZSB3aXRoIGhvbGVzXG4iCittc2dzdHIgIiAtZCwgLS1kaWctaG9sZXMgICAgICBOdWxsZW4gZXJrZW5uZW4gdW5kIGR1cmNoIEzDvGNrZW4gZXJzZXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg2Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgIGxlbmd0aCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1sLCAtLWxlbmd0aCA8WmFobD4gIEzDpG5nZSBmw7xyIEJlcmVpY2hzb3BlcmF0aW9uZW4sIGluIEJ5dGVzXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NworbXNnaWQgIiAtbiwgLS1rZWVwLXNpemUgICAgICBtYWludGFpbiB0aGUgYXBwYXJlbnQgc2l6ZSBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgLW4sIC0ta2VlcC1zaXplICAgICAgZGllIG9mZmVuc2ljaHRsaWNoZSBEYXRlaWdyw7bDn2UgZXJoYWx0ZW5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg4Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgIG9mZnNldCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8WmFobD4gIFBvc2l0aW9uIGbDvHIgQmVyZWljaHNvcGVyYXRpb25lbiwgaW4gQnl0ZXNcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg5Cittc2dpZCAiIC1wLCAtLXB1bmNoLWhvbGUgICAgIHJlcGxhY2UgYSByYW5nZSB3aXRoIGEgaG9sZSAoaW1wbGllcyAtbilcbiIKK21zZ3N0ciAiIC1wLCAtLXB1bmNoLWhvbGUgICAgIGVpbmVuIEJlcmVpY2ggZHVyY2ggZWluZSBMw7xja2UgZXJzZXR6ZW4gKGJlemllaHQgLW4gZWluKVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTAKK21zZ2lkICIgLXosIC0temVyby1yYW5nZSAgICAgemVybyBhbmQgZW5zdXJlIGFsbG9jYXRpb24gb2YgYSByYW5nZVxuIgorbXNnc3RyICIgLXosIC0temVyby1yYW5nZSAgICAgbnVsbGVuIHVuZCBkaWUgQW5mb3JkZXVuZyBlaW5lcyBCZXJlaWNocyBzaWNoZXJzdGVsbGVuXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMjYKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkOiBrZWVwIHNpemUgbW9kZSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiZmFsbG9jYXRlIGlzdCBnZXNjaGVpdGVydDogTW9kdXMg4oCeR3LDtsOfZSBiZWliZWhhbHRlbuKAnSB3aXJkIG5pY2h0IHVudGVyc3TDvHR6dCIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEyNworbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQiCittc2dzdHIgImZhbGxvY2F0ZSBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBmYWlsZWQiCittc2dzdHIgIiVzOiBMZXNlbiBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjI2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCVqdSBieXRlcykgY29udmVydGVkIHRvIHNwYXJzZSBob2xlcy5cbiIKK21zZ3N0ciAiJXM6ICVzICglanUgQnl0ZXMpIGluIFNwYXJzZS1Mw7xja2VuIHVtZ2V3YW5kZWx0LlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzQ2IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExOAorbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZCIKK21zZ3N0ciAia2VpbiBEYXRlaW5hbWUgYW5nZWdlYmVuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzU4IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjQKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgInVuZ8O8bHRpZ2VyIEzDpG5nZW53ZXJ0IGZlc3RnZWxlZ3QiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjIKK21zZ2lkICJubyBsZW5ndGggYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJrZWluIEzDpG5nZW53ZXJ0IGZlc3RnZWxlZ3QiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjcKK21zZ2lkICJpbnZhbGlkIG9mZnNldCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgInVuZ8O8bHRpZ2VyIFBvc2l0aW9uc3dlcnQgZmVzdGdlbGVndCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gPGNvbW1hbmQ+IFs8YXJndW1lbnQ+Li4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gLWMgPGNvbW1hbmQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlIGRlc2NyaXB0b3IgbnVtYmVyPlxuIgorbXNnc3RyICIiCisiICUxJHMgW09wdGlvbmVuXSA8RGF0ZWl8VmVyemVpY2huaXM+IDxCZWZlaGw+IFs8QXJndW1lbnQ+IOKApl1cbiIKKyIgJTEkcyBbT3B0aW9uZW5dIDxEYXRlaXxWZXJ6ZWljaG5pcz4gLWMgPEJlZmVobD5cbiIKKyIgJTEkcyBbT3B0aW9uZW5dIDxEYXRlaWRlc2tyaXB0b3IgWmFobD5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTkKK21zZ2lkICJNYW5hZ2UgZmlsZSBsb2NrcyBmcm9tIHNoZWxsIHNjcmlwdHMuXG4iCittc2dzdHIgIkRhdGVpc3BlcnJlbiBtaXR0ZWxzIFNoZWxsc2tyaXB0ZW4gdmVyd2FsdGVuLlxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MgorbXNnaWQgIiAtcywgLS1zaGFyZWQgICAgICAgICAgICAgZ2V0IGEgc2hhcmVkIGxvY2tcbiIKK21zZ3N0ciAiIC1zICAtLXNoYXJlZCAgICAgICAgICAgICByaWNodGV0IGVpbmUgZ2VtZWluc2FtZSBTcGVycmUgZWluXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYzCittc2dpZCAiIC14LCAtLWV4Y2x1c2l2ZSAgICAgICAgICBnZXQgYW4gZXhjbHVzaXZlIGxvY2sgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAteCAgLS1leGNsdXNpdmUgICAgICAgICAgcmljaHRldCBlaW5lIGV4a2x1c2l2ZSBTcGVycmUgZWluIChWb3JnYWJlKVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NAorbXNnaWQgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAgcmVtb3ZlIGEgbG9ja1xuIgorbXNnc3RyICIgLXUgIC0tdW5sb2NrICAgICAgICAgICAgIGVpbmUgU3BlcnJ1bmcgZW50ZmVybmVuXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY1Cittc2dpZCAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICBmYWlsIHJhdGhlciB0aGFuIHdhaXRcbiIKK21zZ3N0ciAiIC1uICAtLW5vbmJsb2NrICAgICAgICAgICBzY2hsw6RndCBmZWhsLCBhbnN0YXR0IHp1IHdhcnRlblxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NgorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCittc2dzdHIgIiAtdyAgLS10aW1lb3V0IDxTZWs+ICAgICAgd2FydGV0IGVpbmUgYmVncmVuenRlIFplaXRcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjcKK21zZ2lkICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxudW1iZXI+ICBleGl0IGNvZGUgYWZ0ZXIgY29uZmxpY3Qgb3IgdGltZW91dFxuIgorbXNnc3RyICIiCisiIC1FICAtLWNvbmZsaWN0LWV4aXQtY29kZSA8TnVtbWVyPiAgRXhpdC1Db2RlIG5hY2ggZWluZW0gS29uZmxpa3Qgb2RlclxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWluZXIgWmVpdMO8YmVyc2NocmVpdHVuZ1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OAorbXNnaWQgIiAtbywgLS1jbG9zZSAgICAgICAgICAgICAgY2xvc2UgZmlsZSBkZXNjcmlwdG9yIGJlZm9yZSBydW5uaW5nIGNvbW1hbmRcbiIKK21zZ3N0ciAiIC1vICAtLWNsb3NlICAgICAgICAgICAgICBEYXRlaWRlc2tyaXB0b3Igdm9yIEF1c2bDvGhydW5nIGRlcyBCZWZlaGxzIHNjaGxpZcOfZW5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjkKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gIHJ1biBhIHNpbmdsZSBjb21tYW5kIHN0cmluZyB0aHJvdWdoIHRoZSBzaGVsbFxuIgorbXNnc3RyICIgLWMgIC0tY29tbWFuZCA8QmVmZWhsPiAgIGVpbmVuIGVpbnplbG5lbiBCZWZlaGwgaW4gZGVyIFNoZWxsIGF1c2bDvGhyZW5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgICBleGVjdXRlIGNvbW1hbmQgd2l0aG91dCBmb3JraW5nXG4iCittc2dzdHIgIiAtRiwgLS1uby1mb3JrICAgICAgICAgIHZvciBkZXIgQXVzZsO8aHJ1bmcgZGVzIDxQcm9ncmFtbXM+IG5pY2h0IGZvcmtlblxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgaW5jcmVhc2UgdmVyYm9zaXR5XG4iCittc2dzdHIgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgYXVzZsO8aHJsaWNoZXJlIE1lbGR1bmdlblxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gbG9jayBmaWxlICVzIgorbXNnc3RyICJTcGVycmRhdGVpIOKAniVz4oCcIGtvbm50ZSBuaWNodCBnZcO2ZmZuZXQgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDUKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgdmFsdWUiCittc2dzdHIgInVuZ8O8bHRpZ2VyIFplaXTDvGJlcnNjaHJlaXR1bmdzd2VydCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjA5Cittc2dpZCAiaW52YWxpZCBleGl0IGNvZGUiCittc2dzdHIgInVuZ8O8bHRpZ2VyIEV4aXQtQ29kZSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjI4Cittc2dpZCAidGhlIC0tbm8tZm9yayBhbmQgLS1jbG9zZSBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGNvbW1hbmQgYXJndW1lbnQiCittc2dzdHIgIiVzIGJlbsO2dGlndCBnZW5hdSBlaW4gQXJndW1lbnQiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NAorbXNnaWQgImJhZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgImZhbHNjaGVyIERhdGVpZGVza3JpcHRvciIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjU3Cittc2dpZCAicmVxdWlyZXMgZmlsZSBkZXNjcmlwdG9yLCBmaWxlIG9yIGRpcmVjdG9yeSIKK21zZ3N0ciAiYmVuw7Z0aWd0IERhdGVpZGVza3JpcHRvciwgRGF0ZWkgb2RlciBWZXJ6ZWljaG5pcyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjgxCittc2dpZCAiZmFpbGVkIHRvIGdldCBsb2NrIgorbXNnc3RyICJkaWUgU3BlcnJlIGtvbm50ZSBuaWNodCBpbiBCZXNpdHogZ2Vub21tZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODgKK21zZ2lkICJ0aW1lb3V0IHdoaWxlIHdhaXRpbmcgdG8gZ2V0IGxvY2siCittc2dzdHIgIlplaXTDvGJlcnNjaHJlaXR1bmcgYmVpbSBXYXJ0ZW4gYXVmIGRpZSBTcGVycmUiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0dGluZyBsb2NrIHRvb2sgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXM6IGVzIGRhdWVydGUgJWxkLiUwNmxkIFNla3VuZGVuLCB1bSBkaWUgU3BlcnJlIHp1IGJla29tbWVuXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIiVzOiAlcyB3aXJkIGF1c2dlZsO8aHJ0XG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50cG9pbnQ+XG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIDxFaW5ow6RuZ2VwdW5rdD5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTMKK21zZ2lkICJTdXNwZW5kIGFjY2VzcyB0byBhIGZpbGVzeXN0ZW0gKGV4dDMvNCwgUmVpc2VyRlMsIEpGUywgWEZTKS5cbiIKK21zZ3N0ciAiRGVuIFp1Z3JpZmYgYXVmIGVpbiBEYXRlaXN5c3RlbSB1bnRlcmJyZWNoZW4gKEV4dDMvNCwgUmVpc2VyRlMsIEpGUywgWEZTKS5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTYKK21zZ2lkICIgLWYsIC0tZnJlZXplICAgICAgZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAtZiwgLS1mcmVlemUgICAgICBkYXMgRGF0ZWlzeXN0ZW0gZWluZnJpZXJlblxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1NworbXNnaWQgIiAtdSwgLS11bmZyZWV6ZSAgICB1bmZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLXUsIC0tdW5mcmVlemUgICAgZGFzIERhdGVpc3lzdGVtIOKAnmF1ZnRhdWVu4oCcXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExNgorbXNnaWQgIm5laXRoZXIgLS1mcmVlemUgb3IgLS11bmZyZWV6ZSBzcGVjaWZpZWQiCittc2dzdHIgIndlZGVyIC0tZnJlZXplIG5vY2ggLS11bmZyZWV6ZSBhbmdlZ2ViZW4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIlczogaXN0IGtlaW4gVmVyemVpY2huaXMiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjE0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEVpbmZyaWVyZW4gZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5mcmVlemUgZmFpbGVkIgorbXNnc3RyICIlczog4oCeQXVmdGF1ZW7igJwgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXM6IGtlaW4gVmVyemVpY2huaXMiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogRklUUklNIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEZJVFJJTSBpb2N0bCBmZWhsZ2VzY2hsYWdlbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBoZXJlIGlzIGEgdmVyeSBsYXJnZSBudW1iZXIuCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJTxQUkl1NjQ+IGJ5dGVzKSB0cmltbWVkXG4iCittc2dzdHIgIiVzOiAlcyAoJTxQUkl1NjQ+IEJ5dGVzKSBnZXRyaW1tdFxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTkxIHN5cy11dGlscy9zd2Fwb24uYzo3Mjkgc3lzLXV0aWxzL3Vtb3VudC5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMiCittc2dzdHIgIiVzIGtvbm50ZSBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxtb3VudCBwb2ludD5cbiIKK21zZ3N0ciAiICVzIFtPcHRpb25lbl0gPEVpbmjDpG5nZXB1bmt0PlxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU0Cittc2dpZCAiRGlzY2FyZCB1bnVzZWQgYmxvY2tzIG9uIGEgbW91bnRlZCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJVbmdlbnV0enRlIEJsw7Zja2UgZWluZXMgZWluZ2Vow6RuZ3RlbiBEYXRlaXN5c3RlbXMgdmVyd2VyZmVuLlxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU3Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgdHJpbSBhbGwgbW91bnRlZCBmaWxlc3lzdGVtcyB0aGF0IGFyZSBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgYWxsZSB1bnRlcnN0w7x0enRlbiBEYXRlaXN5c3RlbWUgdHJpbW1lblxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU4Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgdGhlIG9mZnNldCBpbiBieXRlcyB0byBzdGFydCBkaXNjYXJkaW5nIGZyb21cbiIKK21zZ3N0ciAiIgorIiAtbywgLS1vZmZzZXQgPFphaGw+IGdpYnQgZGllIEJ5dGUtUG9zaXRpb24gaW0gRGF0ZWlzeXN0ZW0gYW4sIGFuIGRlciBuYWNoXG4iCisiICAgICAgICAgICAgICAgICAgICAgICB6dSB2ZXJ3ZXJmZW5kZW4gZnJlaWVuIEJsw7Zja2VuIGdlc3VjaHQgd2VyZGVuIHNvbGxcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1OQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gZGlzY2FyZFxuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDxaYWhsPiAgQW56YWhsIGRlciB6dSB2ZXJ3ZXJmZW5kZW4gQnl0ZXMgZmVzdGxlZ2VuXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjAKK21zZ2lkICIgLW0sIC0tbWluaW11bSA8bnVtPiB0aGUgbWluaW11bSBleHRlbnQgbGVuZ3RoIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC1tLCAtLW1pbmltdW0gPFphaGw+IGdpYnQgZGVuIG1pbmltYWxlbiBmcmVpZW4genUgdmVyd2VyZmVuZGVuIEJlcmVpY2ggYW5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IG51bWJlciBvZiBkaXNjYXJkZWQgYnl0ZXNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgQW56YWhsIGRlciB2ZXJ3b3JmZW5lbiBCeXRlcyBhdXNnZWJlblxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzE2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCIKK21zZ3N0ciAiTMOkbmdlIGRlcyBtaW5pbWFsZW4gZnJlaWVuIEJlcmVpY2hzIGtvbm50ZSBuaWNodCBhdXNnZXdlcnRldCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMjkKK21zZ2lkICJubyBtb3VudHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAia2VpbiBFaW5ow6RuZ2VwdW5rdCBhbmdlZ2ViZW4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZSBkaXNjYXJkIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIlczogVmVyd2VyZnVuZ3N2b3JnYW5nIHdpcmQgbmljaHQgdW50ZXJzdMO8dHp0LiIKKworIyBkZWJ1ZworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXNzdW1pbmcgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiAlcyB0aW1lLlxuIgorbXNnc3RyICJEaWUgSGFyZHdhcmV1aHIgbMOkdWZ0IHZlcm11dGxpY2ggaW4gJXMuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ3IHN5cy11dGlscy9od2Nsb2NrLmM6MzM0Cittc2dpZCAiVVRDIgorbXNnc3RyICJVVEMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ3IHN5cy11dGlscy9od2Nsb2NrLmM6MzMzCittc2dpZCAibG9jYWwiCittc2dzdHIgImxva2FsZSBaZWl0IgorCisjIG1lcmdlIHdpdGggbmV4dAorIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMTgKK21zZ2lkICIiCisiV2FybmluZzogdW5yZWNvZ25pemVkIHRoaXJkIGxpbmUgaW4gYWRqdGltZSBmaWxlXG4iCisiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKSIKK21zZ3N0ciAiIgorIiVzOiBXYXJudW5nOiB1bmJla2FubnRlIGRyaXR0ZSBaZWlsZSBpbiBkZXIgYWRqdGltZS1EYXRlaVxuIgorIihFcndhcnRldCB3dXJkZSDigJ5VVEPigJwsIOKAnkxPQ0FM4oCcIG9kZXIgbmljaHRzLikiCisKKyMgWFhYCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMyNworIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGRyaWZ0IGFkanVzdG1lbnQgZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIkxldHp0ZSBBYndlaWNodW5nc2tvcnJla3R1ciB2b3JnZW5vbW1lbiBiZWkgJWxkIFNla3VuZGVuIG5hY2ggMTk2OVxuIgorCisjIFhYWAorIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBjYWxpYnJhdGlvbiBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiTGV0enRlIEthbGlicmllcnVuZyB2b3JnZW5vbW1lbiBiZWkgJWxkIFNla3VuZGVuIG5hY2ggMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMzMQorIywgYy1mb3JtYXQKK21zZ2lkICJIYXJkd2FyZSBjbG9jayBpcyBvbiAlcyB0aW1lXG4iCittc2dzdHIgIkhhcmR3YXJldWhyIGdlaHQgbmFjaCAlcyBaZWl0XG4iCisKKyMgZGVidWcKKyMgbW1o4oCmLiBzZWhyIGdlZWhydGVyIHVzZXLigKYgZGllc2VzIGlzdCBrZWluZSB3ZXJiZXVudGVyYnJlY2h1bmcgdW5kCisjICAga2VpbiBzZW5kZWF1c2ZhbGzigKYgaWNoIHdhcnQgbnVyIGF1ZiBkYXMgYW5icmVjaGVuIGRlciBuw6RjaHN0ZW4gZsO8ciBtaWNoCisjICAgcmVsZXZhbnRlbiB6ZWl0ZWluaGVpdC4KKyMgRWdnZXIKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzU4CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgZm9yIGNsb2NrIHRpY2suLi5cbiIKK21zZ3N0ciAiQXVmIFVocnRpY2sgd2lyZCBnZXdhcnRldCDigKZcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc3luY2hyb25pemF0aW9uIGZhaWxlZFxuIgorbXNnc3RyICLigKYgU3luY2hyb25pc2llcnVuZyBmZWhsZ2VzY2hsYWdlblxuIgorCisjIEVnZ2VyCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5nb3QgY2xvY2sgdGlja1xuIgorbXNnc3RyICLigKYgVWhydGljayB3dXJkZSBlbXBmYW5nZW5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZXMgaW4gaGFyZHdhcmUgY2xvY2s6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKK21zZ3N0ciAiVW5nw7xsdGlnZSBXZXJ0ZSBpbiBIYXJkd2FyZXVocjogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJIdyBjbG9jayB0aW1lIDogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiWmVpdCBkZXIgSGFyZHdhcmV1aHI6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAlbGQgU2VrdW5kZW4gc2VpdCAxOTY5XG4iCisKKyMgRWdnZXIKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDY1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgcmVhZCBmcm9tIEhhcmR3YXJlIENsb2NrOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCittc2dzdHIgIlplaXQgZ2VsZXNlbiBhdXMgSGFyZHdhcmV1aHI6ICU0ZC8lLjJkLyUuMmQgJTAyZDolMDJkOiUwMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyBIYXJkd2FyZSBDbG9jayB0byAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiSGFyZHdhcmV1aHIgd2lyZCBhdWYgJS4yZDolLjJkOiUuMmQgZ2VzdGVsbHQgPSAlbGQgU2VrdW5kZW4gc2VpdCAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNsb2NrIG5vdCBjaGFuZ2VkIC0gdGVzdGluZyBvbmx5LlxuIgorbXNnc3RyICJEaWUgVWhyemVpdCBkZXIgSGFyZHdhcmV1aHIgd3VyZGUgbmljaHQgdmVyc3RlbGx0IOKAkyBUZXN0bW9kdXMuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjAzCisjLCBjLWZvcm1hdAorbXNnaWQgInNsZWVwaW5nIH4lZCB1c2VjXG4iCittc2dzdHIgImVzIHdpcmQgZsO8ciB+JWQgwrVTZWsgZ2VzY2hsYWZlblxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGp1bXBlZCBiYWNrd2FyZCAlLjZmIHNlY29uZHMgdG8gJWxkLiUwNmxkIC0gcmV0YXJnZXRpbmdcbiIKK21zZ3N0ciAiZGllIFplaXQgaXN0IHVtICUuNmYgU2VrdW5kZW4genVyw7xjayBnZXNwcnVuZ2VuIGF1ZiAlbGQuJTA2bGQgLSBOZXVqdXN0aWVydW5nXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZC4lMDZsZCA8ICVsZC4lMDZsZCAoJS42ZilcbiIKK21zZ3N0ciAiJWxkLiUwNmxkIDwgJWxkLiUwNmxkICglLjZmKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciBwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCittc2dzdHIgInZlcnBhc3N0IC0gJWxkLiUwNmxkIGlzdCB6dSB3ZWl0IHZvbiAlbGQuJTA2bGQgZW50ZmVybnQgKCUuNmYgPiAlLjZmKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJWxkLiUwNmxkIGlzIGNsb3NlIGVub3VnaCB0byAlbGQuJTA2bGQgKCUuNmYgPCAlLjZmKVxuIgorIlNldCBSVEMgdG8gJWxkICglbGQgKyAlZDsgcmVmc3lzdGltZSA9ICVsZC4lMDZsZClcbiIKK21zZ3N0ciAiIgorIiVsZC4lMDZsZCBpc3QgbmFoZSBnZW51ZyBhbiAlbGQuJTA2bGQgKCUuNmYgPCAlLjZmKVxuIgorIlJUQyB3aXJkIGF1ZiAlbGQgZ2VzZXR6dCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2bGQpXG4iCisKKyMgRGllIFJlZ2lzdGVyZWludHLDpGdlIGRlciBIYXJkd2FyZXVociBlbnRoYWx0ZW4gV2VydGUsIGRpZSB1bmfDvGx0aWcKKyMgICBzaW5kICh6LkIuIGRlciA1MC4gVGFnIGRlcyBNb25hdHMpIG9kZXIgYXXDn2VyaGFsYiBkZXMgdW50ZXJzdMO8dHplbgorIyAgIEJlcmVpY2hlcyAoei5CLiBkYXMgSmFociAyMDk1KSBsaWVnZW4uCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY4OAorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayByZWdpc3RlcnMgY29udGFpbiB2YWx1ZXMgdGhhdCBhcmUgZWl0aGVyIGludmFsaWQgKGUuZy4gNTB0aCBkYXkgb2YgbW9udGgpIG9yIGJleW9uZCB0aGUgcmFuZ2Ugd2UgY2FuIGhhbmRsZSAoZS5nLiBZZWFyIDIwOTUpLiIKK21zZ3N0ciAiRGllIEhhcmR3YXJldWhyIGVudGjDpGx0IGVudHdlZGVyIHVuZ8O8bHRpZ2UgV2VydGUgKHouQi4gZGVuIDUwLiBUYWcgZGVzIE1vbmF0cyksIG9kZXIgZGllIFdlcnRlIGxpZWdlbiBhdcOfZXJoYWxiIGRlcyBCZXJlaWNoZXMsIGRlciB1bnRlcnN0w7x0enQgd2lyZCAoei5CLiBkYXMgSmFociAyMDk1KS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzI4Cittc2dpZCAiTm8gLS1kYXRlIG9wdGlvbiBzcGVjaWZpZWQuIgorbXNnc3RyICJFcyB3dXJkZSBrZWluZSDigJ4tLWRhdGXigJwtT3B0aW9uIGFuZ2VnZWJlbi4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzM0Cittc2dpZCAiLS1kYXRlIGFyZ3VtZW50IHRvbyBsb25nIgorbXNnc3RyICItLWRhdGUtQXJndW1lbnQgenUgbGFuZyIKKworIyBUaGUgZW5nbGlzaCB2ZXJzaW9uIGlzIGFscmVhZHkgYSBsaXR0bGUgbWlzbGVhZGluZy4KKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzQxCittc2dpZCAiIgorIlRoZSB2YWx1ZSBvZiB0aGUgLS1kYXRlIG9wdGlvbiBpcyBub3QgYSB2YWxpZCBkYXRlLlxuIgorIkluIHBhcnRpY3VsYXIsIGl0IGNvbnRhaW5zIHF1b3RhdGlvbiBtYXJrcy4iCittc2dzdHIgIiIKKyJEZXIgV2VydCBkZXIg4oCeLS1kYXRl4oCcLU9wdGlvbiBpc3Qga2VpbiBnw7xsdGlnZXMgRGF0dW0uXG4iCisiRXMgZGFyZiBrZWluIEFuZsO8aHJ1bmdzemVpY2hlbiBlbnRoYWx0ZW4uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJJc3N1aW5nIGRhdGUgY29tbWFuZDogJXNcbiIKK21zZ3N0ciAiRGVyIOKAnmRhdGXigJwtQmVmZWhsIHdpcmQgYXVmZ2VydWZlbjogJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NTMKK21zZ2lkICJVbmFibGUgdG8gcnVuICdkYXRlJyBwcm9ncmFtIGluIC9iaW4vc2ggc2hlbGwuIHBvcGVuKCkgZmFpbGVkIgorbXNnc3RyICLigJ5kYXRl4oCcIGtvbm50ZSBuaWNodCBpbiBkZXIgL2Jpbi9zaC1TaGVsbCBnZXN0YXJ0ZXQgd2VyZGVuLiBwb3BlbigpIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc2MQorIywgYy1mb3JtYXQKK21zZ2lkICJyZXNwb25zZSBmcm9tIGRhdGUgY29tbWFuZCA9ICVzXG4iCittc2dzdHIgIkF1c2dhYmUgZGVzIOKAnmRhdGXigJwtQmVmZWhscyA9ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCB1bmV4cGVjdGVkIHJlc3VsdHMuXG4iCisiVGhlIGNvbW1hbmQgd2FzOlxuIgorIiAgJXNcbiIKKyJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorIiAgJXMiCittc2dzdHIgIiIKKyJEZXIg4oCeZGF0ZeKAnC1CZWZlaGwsIGRlciB2b24gJXMgYXVmZ2VydWZlbiB3dXJkZSwgbGllZmVydGVcbiIKKyJ1bmVyd2FydGV0ZSBFcmdlYm5pc3NlLlxuIgorIkRlciBCZWZlaGwgd2FyOlxuIgorIiAgJXNcbiIKKyJEaWUgQXVzZ2FiZSB3YXI6XG4iCisiICAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkYXRlIGNvbW1hbmQgaXNzdWVkIGJ5ICVzIHJldHVybmVkIHNvbWV0aGluZyBvdGhlciB0aGFuIGFuIGludGVnZXIgd2hlcmUgdGhlIGNvbnZlcnRlZCB0aW1lIHZhbHVlIHdhcyBleHBlY3RlZC5cbiIKKyJUaGUgY29tbWFuZCB3YXM6XG4iCisiICAlc1xuIgorIlRoZSByZXNwb25zZSB3YXM6XG4iCisiICVzXG4iCittc2dzdHIgIiIKKyJEZXIg4oCeZGF0ZeKAnC1CZWZlaGwsIGRlciB2b24gJXMgYXVmZ2VydWZlbiB3dXJkZSwgbGllZmVydGUga2VpbmUgZ2FuemUgWmFobCwgd28gZGllIHVtZ2V3YW5kZWx0ZSBaZWl0IGVyd2FydGV0IHd1cmRlLlxuIgorIkRlciBCZWZlaGwgd2FyOlxuIgorIiAgJXNcbiIKKyJEaWUgQXVzZ2FiZSB3YXI6XG4iCisiICAlc1xuIgorCisjIEVnZ2VyLCBmaXhlZCAlcy0+JWQKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzg2CisjLCBjLWZvcm1hdAorbXNnaWQgImRhdGUgc3RyaW5nICVzIGVxdWF0ZXMgdG8gJWxkIHNlY29uZHMgc2luY2UgMTk2OS5cbiIKK21zZ3N0ciAiRGllIFplaWNoZW5rZXR0ZSAlcyBlbnRzcHJpY2h0ICVsZCBTZWt1bmRlbiBzZWl0IDE5NjkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODI0Cittc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3Qgc2V0IHRoZSBTeXN0ZW0gVGltZSBmcm9tIGl0LiIKK21zZ3N0ciAiRGllIEhhcmR3YXJldWhyIGVudGjDpGx0IGVpbmUgdW5nw7xsdGlnZSBaZWl0YW5nYWJlOyBhdXMgZGllc2VtIEdydW5kIGlzdCBlcyBuaWNodCBtw7ZnbGljaCwgZGllIFN5c3RlbXplaXQgenUgc2V0emVuLiIKKworIyBkZWJ1ZworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NDMgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXk6XG4iCittc2dzdHIgInNldHRpbWVvZmRheSgpIHdpcmQgYXVmZ2VydWZlbjpcbiIKKworIyBub3QgbXVjaCB0byB0cmFuc2xhdGUKKyMgZGVidWcKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQ0IHN5cy11dGlscy9od2Nsb2NrLmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCittc2dzdHIgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCisKKyMgbm90IG11Y2ggdG8gdHJhbnNsYXRlCisjIGRlYnVnCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg0NiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzNAorIywgYy1mb3JtYXQKK21zZ2lkICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKK21zZ3N0ciAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODUwIHN5cy11dGlscy9od2Nsb2NrLmM6OTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIHN5c3RlbSBjbG9jayBiZWNhdXNlIHJ1bm5pbmcgaW4gdGVzdCBtb2RlLlxuIgorbXNnc3RyICJLZWluZSDDhG5kZXJ1bmcgYW4gZGVyIFN5c3RlbXVociB2b3JnZW5vbW1lbiDigJMgVGVzdG1vZHVzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg2NiBzeXMtdXRpbHMvaHdjbG9jay5jOjk2MgorbXNnaWQgIk11c3QgYmUgc3VwZXJ1c2VyIHRvIHNldCBzeXN0ZW0gY2xvY2suIgorbXNnc3RyICJTaWUgbcO8c3NlbiBBZG1pbmlzdHJhdG9yIHNlaW4sIHVtIGRpZSBTeXN0ZW11aHIgenUgZWluenVzdGVsbGVuLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4Njkgc3lzLXV0aWxzL2h3Y2xvY2suYzo5NjUKK21zZ2lkICJzZXR0aW1lb2ZkYXkoKSBmYWlsZWQiCittc2dzdHIgInNldHRpbWVvZmRheSgpIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkwNQorIywgYy1mb3JtYXQKK21zZ2lkICJDdXJyZW50IHN5c3RlbSB0aW1lOiAlbGQgPSAlc1xuIgorbXNnc3RyICJBa3R1ZWxsZSBTeXN0ZW16ZWl0OiAlbGQgPSAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzMQorIywgYy1mb3JtYXQKK21zZ2lkICJcdFVUQzogJXNcbiIKK21zZ3N0ciAiXHRVVEM6ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIC0tdXBkYXRlLWRyaWZ0IG9wdGlvbiB3YXMgbm90IHVzZWQuXG4iCittc2dzdHIgIiIKKyJEZXIgQWJ3ZWljaHVuZ3NmYWt0b3Igd2lyZCBuaWNodCB2ZXLDpG5kZXJ0LCBkYSBkaWUgT3B0aW9uIC0tdXBkYXRlLWRyaWZ0XG4iCisibmljaHQgdmVyd2VuZGV0IHd1cmRlLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgSGFyZHdhcmUgQ2xvY2sgcHJldmlvdXNseSBjb250YWluZWQgZ2FyYmFnZS5cbiIKK21zZ3N0ciAiIgorIkRlciBBYndlaWNodW5nc2Zha3RvciB3aXJkIG5pY2h0IHZlcsOkbmRlcnQsIGRhIGRpZSBIYXJkd2FyZXVociB2b3JoZXJcbiIKKyJrZWluZW4gc2lubnZvbGxlbiBXZXJ0IGVudGhpZWx0LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgbGFzdCBjYWxpYnJhdGlvbiB0aW1lIGlzIHplcm8sXG4iCisic28gaGlzdG9yeSBpcyBiYWQgYW5kIGNhbGlicmF0aW9uIHN0YXJ0b3ZlciBpcyBuZWNlc3NhcnkuXG4iCittc2dzdHIgIiIKKyJEZXIgQWJ3ZWljaHVuZ3NmYWt0b3Igd2lyZCBuaWNodCB2ZXLDpG5kZXJ0LCBkYSBkaWUgWmVpdCBkZXIgbGV0enRlbiBLYWxpYnJpZXJ1bmdcbiIKKyJOdWxsIGlzdCwgYWxzbyBkaWUgQXVmemVpY2hudW5nZW4gYmVzY2jDpGRpZ3Qgc2luZCB1bmQgZGllIEthbGlicmllcnVuZyB2b24gbmV1ZW1cbiIKKyJzdGFydGVuIG11c3MuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAxMQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGl0IGhhcyBiZWVuIGxlc3MgdGhhbiBmb3VyIGhvdXJzIHNpbmNlIHRoZSBsYXN0IGNhbGlicmF0aW9uLlxuIgorbXNnc3RyICIiCisiRGVyIEFid2VpY2h1bmdzZmFrdG9yIHdpcmQgbmljaHQgdmVyw6RuZGVydCwgZGEgd2VuaWdlciBhbHMgdmllciBTdHVuZGVuIHNlaXRcbiIKKyJkZXIgbGV0enRlbiBLYWxpYnJpZXJ1bmcgdmVyZ2FuZ2VuIHNpbmQuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnQgZmFjdG9yIHdhcyBjYWxjdWxhdGVkIGFzICVmIHNlY29uZHMvZGF5LlxuIgorIkl0IGlzIGZhciB0b28gbXVjaC4gUmVzZXR0aW5nIHRvIHplcm8uXG4iCittc2dzdHIgIiIKKyJEZXIgQWJ3ZWljaHVuZ3NmYWt0b3IgZGVyIFVociB3dXJkZSBhbHMgJWYgU2VrdW5kZW4gcHJvIFRhZ2UgZXJyZWNobmV0LlxuIgorIkRhcyBpc3QgdmllbCB6dSB2aWVsLCB3aXJkIGF1ZiBOdWxsIHp1csO8Y2tnZXNldHp0LlxuIgorCisjIEVnZ2VyCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0ZWQgJWYgc2Vjb25kcyBpbiB0aGUgcGFzdCAlZiBzZWNvbmRzXG4iCisiaW4gc3BpdGUgb2YgYSBkcmlmdCBmYWN0b3Igb2YgJWYgc2Vjb25kcy9kYXkuXG4iCisiQWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBieSAlZiBzZWNvbmRzL2RheVxuIgorbXNnc3RyICIiCisiRGllIFVociB3aWNoIHVtICVmIFNla3VuZGVuIGluIGRlbiB2ZXJnYW5nZW5lblxuIgorIiVmIFNla3VuZGVuIGFiLCB0cm90eiBlaW5lcyBBYndlaWNodW5nc2Zha3RvcnNcbiIKKyJ2b24gJWYgU2VrdW5kZW4gcHJvIFRhZy5cbiIKKyJEZXIgRmFrdG9yIHdpcmQgdW0gJWYgU2VrdW5kZW4gcHJvIFRhZyBnZcOkbmRlcnQuXG4iCisKKyMgRWdnZXIKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5OQorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlZCBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWQgc2Vjb25kc1xuIgorbXNnc3RyWzBdICJFcyB2ZXJnaW5nICVkIFNla3VuZGUgc2VpdCBkZXIgbGV0enRlbiBBbnBhc3N1bmcuXG4iCittc2dzdHJbMV0gIkVzIHZlcmdpbmdlbiAlZCBTZWt1bmRlbiBzZWl0IGRlciBsZXR6dGVuIEFucGFzc3VuZy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGN1bGF0ZWQgSGFyZHdhcmUgQ2xvY2sgZHJpZnQgaXMgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiRGllIGVycmVjaG5ldGUgQWJ3ZWljaHVuZyBkZXIgSGFyZHdhcmUtVWhyIGJldHLDpGd0ICVsZC4lMDZsZCBTZWt1bmRlbi5cbiIKKworIyBtZXJnZSB3aXRoIG5leHQKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEzMworIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgdXBkYXRpbmcgYWRqdGltZSBmaWxlIGJlY2F1c2Ugb2YgdGVzdGluZyBtb2RlLlxuIgorbXNnc3RyICJEaWUgYWRqdGltZS1EYXRlaSB3aXJkIG5pY2h0IGFrdHVhbGlzaWVydCDigJMgVGVzdG1vZHVzIFxuIgorCisjICJIw6R0dGUgZGFzIGZvbGdlbmRlIGluIGRpZSBEYXRlaSAlcyBnZXNjaHJpZWJlbjpcbiIKKyMgcGFzc2l2LCBLb25qdW5rdGl2IGluIGRlciBVbXNjaHJlaWJ1bmdzZm9ybQorIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXb3VsZCBoYXZlIHdyaXR0ZW4gdGhlIGZvbGxvd2luZyB0byAlczpcbiIKKyIlcyIKK21zZ3N0ciAiIgorIkZvbGdlbmRlcyB3w6RyZSBpbiBkaWUgRGF0ZWkgJXMgZ2VzY2hyaWViZW4gd29yZGVuOlxuIgorIiVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgaW4gaXQgKCVzKSBmb3Igd3JpdGluZyIKK21zZ3N0ciAiRGF0ZWkgbWl0IGRlbiBQYXJhbWV0ZXJuIHp1ciBVaHJlaW5zdGVsbHVuZyAoJXMpIGtvbm50ZSBuaWNodCB6dW0gU2NocmVpYmVuIGdlw7ZmZm5ldCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE0OSBzeXMtdXRpbHMvaHdjbG9jay5jOjExNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHVwZGF0ZSBmaWxlIHdpdGggdGhlIGNsb2NrIGFkanVzdG1lbnQgcGFyYW1ldGVycyAoJXMpIGluIGl0IgorbXNnc3RyICJEYXRlaSBtaXQgZGVuIFBhcmFtZXRlcm4genVyIFVocmVpbnN0ZWxsdW5nICglcykga29ubnRlIG5pY2h0IGFrdHVhbGlzaWVydCB3ZXJkZW4iCisKKyMgIkFid2VpY2h1bmdzcGFyYW1ldGVyIgorIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTY0Cittc2dpZCAiRHJpZnQgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIG5vdCB1cGRhdGVkLiIKK21zZ3N0ciAiRGllIEFid2VpY2h1bmdzcGFyYW1ldGVyIHd1cmRlbiBuaWNodCBha3R1YWxpc2llcnQuIgorCisjICJhbnBhc3NlbiIKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIwMAorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IGFkanVzdCBpdC4iCittc2dzdHIgIkRpZSBIYXJkd2FyZXVociBlbnRow6RsdCBrZWluZSBnw7xsdGlnZSBaZWl0LCBkZXNoYWxiIGthbm4gc2llIG5pY2h0IGFuZ2VwYXNzdCB3ZXJkZW4uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBsYXN0IGFkanVzdG1lbnQgdGltZSBpcyB6ZXJvLCBzbyBoaXN0b3J5IGlzIGJhZC5cbiIKK21zZ3N0ciAiRGllIFVociB3aXJkIG5pY2h0IGdlc3RlbGx0LCBkYSBkaWUgWmVpdCBkZXIgbGV0enRlbiBLYWxpYnJpZXJ1bmcgTnVsbCBpc3QsIGFsc28gZGllIEF1ZnplaWNobnVuZ2VuIGJlc2Now6RkaWd0IHNpbmQuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGRyaWZ0IGZhY3RvciAlZiBpcyBmYXIgdG9vIGhpZ2guXG4iCittc2dzdHIgIkRpZSBVaHIgd2lyZCBuaWNodCBnZXN0ZWxsdCwgZGEgZGVyIEFid2VpY2h1bmdzZmFrdG9yICVmIHZpZWwgenUgZ3Jvw58gaXN0LlxuIgorCisjICJTY2huaXR0c3RlbGxlIgorIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHVzYWJsZSBjbG9jayBpbnRlcmZhY2UgZm91bmQuXG4iCittc2dzdHIgIktlaW5lIGJyYXVjaGJhcmUgVWhyc2Nobml0dHN0ZWxsZSBnZWZ1bmRlbi5cbiIKKworIyAiSnVzdGllcnVuZyIKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJOZWVkZWQgYWRqdXN0bWVudCBpcyBsZXNzIHRoYW4gb25lIHNlY29uZCwgc28gbm90IHNldHRpbmcgY2xvY2suXG4iCittc2dzdHIgIkRhIGRpZSBBbnBhc3N1bmcgd2VuaWdlciBhbHMgZWluZSBTZWt1bmRlIGJldHJhZ2VuIGjDpHR0ZSwgd2lyZCBzaWUgbmljaHQgZHVyY2hnZWbDvGhydC5cbiIKKworIyAic3RlbGxlbiIKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM4OCBzeXMtdXRpbHMvaHdjbG9jay5jOjEzOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIHNldCBzeXN0ZW0gY2xvY2suXG4iCittc2dzdHIgIkRpZSBTeXN0ZW11aHIga29ubnRlIG5pY2h0IGdlc3RlbGx0IHdlcmRlbi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjksIFJUQyBpcyBwcmVkaWN0ZWQgdG8gcmVhZCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LlxuIgorbXNnc3RyICJCZWkgJWxkIFNla3VuZGVuIG5hY2ggMTk2OSB3aXJkIGRpZSBFY2h0emVpdHVociAlbGQgU2VrdW5kZW4gbmFjaCAxOTY5IGFuemVpZ2VuLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0MzEKK21zZ2lkICIiCisiVGhlIGtlcm5lbCBrZWVwcyBhbiBlcG9jaCB2YWx1ZSBmb3IgdGhlIEhhcmR3YXJlIENsb2NrIG9ubHkgb24gYW4gQWxwaGEgbWFjaGluZS5cbiIKKyJUaGlzIGNvcHkgb2YgaHdjbG9jayB3YXMgYnVpbHQgZm9yIGEgbWFjaGluZSBvdGhlciB0aGFuIEFscGhhXG4iCisiKGFuZCB0aHVzIGlzIHByZXN1bWFibHkgbm90IHJ1bm5pbmcgb24gYW4gQWxwaGEgbm93KS4gIE5vIGFjdGlvbiB0YWtlbi4iCittc2dzdHIgIkRlciBLZXJuZWwgYmV3YWhydCBudXIgYXVmIEFscGhhLU1hc2NoaW5lbiBlaW5lbiBFcG9jaGVuLVdlcnQgZsO8ciBkaWUgSGFyZHdhcmUtVWhyIGF1Zi4gRGllc2VzIGh3Y2xvY2sgd3VyZGUgZsO8ciBlaW5lIGFuZGVyZSBNYXNjaGluZSBhbHMgQWxwaGEgZXJzdGVsbHQgKHVuZCBsw6R1ZnQgZGFoZXIgdmVybXV0bGljaCBnZXJhZGUgbmljaHQgYXVmIGVpbmVyIEFscGhhKS4gRXMgd2lyZCBuaWNodHMgYXVzZ2Vmw7xocnQuIgorCisjIEVnZ2VyCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NDgKK21zZ2lkICJVbmFibGUgdG8gZ2V0IHRoZSBlcG9jaCB2YWx1ZSBmcm9tIHRoZSBrZXJuZWwuIgorbXNnc3RyICJEZXIgRXBvY2hlbndlcnQga2FubiBuaWNodCB2b20gS2VybmVsIGJla29tbWVuIHdlcmRlbi4iCisKKyMgRWdnZXIKKyMgIkVwb2NoZW53ZXJ0IgorIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIktlcm5lbCBpcyBhc3N1bWluZyBhbiBlcG9jaCB2YWx1ZSBvZiAlbHVcbiIKK21zZ3N0ciAiS2VybmVsIGdlaHQgdm9uIGVpbmVtIEVwb2NoZW53ZXJ0IHZvbiAlbHUgYXVzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NTUKK21zZ2lkICJUbyBzZXQgdGhlIGVwb2NoIHZhbHVlLCB5b3UgbXVzdCB1c2UgdGhlICdlcG9jaCcgb3B0aW9uIHRvIHRlbGwgdG8gd2hhdCB2YWx1ZSB0byBzZXQgaXQuIgorbXNnc3RyICJVbSBkZW4gRXBvY2hlbndlcnQgenUgw6RuZGVybiwgbcO8c3NlbiBzaWUgZGllIOKAnmVwb2No4oCcLU9wdGlvbiBiZW51dHplbiwgdW0gYW56dWdlYmVuLCBhdWYgd2VsY2hlbiBXZXJ0IGVyIGdlc2V0enQgd2VyZGVuIHNvbGwuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgdGhlIGVwb2NoIHRvICVsdSAtIHRlc3Rpbmcgb25seS5cbiIKK21zZ3N0ciAiRGVyIEVwb2NoZW53ZXJ0IHdpcmQgbmljaHQgYXVmICVsdSBnZXNldHp0IOKAkyBUZXN0bW9kdXMuXG4iCisKKyMgRWdnZXIKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLlxuIgorbXNnc3RyICJEZXIgRXBvY2hlbndlcnQgaW0gS2VybmVsIGthbm4gbmljaHQgZ2XDpG5kZXJ0IHdlcmRlbi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTU2Cittc2dpZCAiIGh3Y2xvY2sgW2Z1bmN0aW9uXSBbb3B0aW9uLi4uXVxuIgorbXNnc3RyICIgaHdjbG9jayBbRnVua3Rpb25dIFtPcHRpb24g4oCmXVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NTkKK21zZ2lkICJRdWVyeSBvciBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrLlxuIgorbXNnc3RyICJEaWUgSGFyZHdhcmUtVWhyIGFiZnJhZ2VuIG9kZXIgc3RlbGxlbi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTYxCittc2dpZCAiIgorIlxuIgorIkZ1bmN0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkZ1bmt0aW9uZW46XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2MgorbXNnaWQgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorIiAtciwgLS1zaG93ICAgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCByZXN1bHRcbiIKKyIgICAgIC0tZ2V0ICAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgZHJpZnQgY29ycmVjdGVkIHJlc3VsdFxuIgorIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorbXNnc3RyICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgIGRpZXNlIEhpbGZlIGFuemVpZ2VuIHVuZCBiZWVuZGVuXG4iCisiIC1yLCAtLXNob3cgICAgICAgICAgIEhhcmR3YXJlLVVociBhdXNsZXNlbiB1bmQgRXJnZWJuaXMgYXVzZ2ViZW5cbiIKKyIgICAgIC0tZ2V0ICAgICAgICAgICAgSGFyZHdhcmUtVWhyIGF1c2xlc2VuIHVuZCBkYXMgbWl0dGVscyBBYndlaWNodW5ncy1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBmYWt0b3Iga29ycmlnaWVydGUgRXJnZWJuaXMgYW56ZWlnZW5cbiIKKyIgICAgIC0tc2V0ICAgICAgICAgICAgRWNodHplaXR1aHIgYXVmIGRpZSBtaXQgLS1kYXRlIGFuZ2VnZWJlbmUgWmVpdCBzZXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTY2Cittc2dpZCAiIgorIiAtcywgLS1oY3Rvc3lzICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisiIC13LCAtLXN5c3RvaGMgICAgICAgIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgZnJvbSB0aGUgY3VycmVudCBzeXN0ZW0gdGltZVxuIgorIiAgICAgLS1zeXN0eiAgICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRpbWV6b25lXG4iCisiICAgICAtLWFkanVzdCAgICAgICAgIGFkanVzdCB0aGUgUlRDIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgc2luY2VcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY2xvY2sgd2FzIGxhc3Qgc2V0IG9yIGFkanVzdGVkXG4iCittc2dzdHIgIiIKKyIgLXMsIC0taGN0b3N5cyAgICAgICAgc2V0enQgZGllIFN5c3RlbXplaXQgYXVzIGRlciBIYXJkd2FyZS1VaHJcbiIKKyIgLXcsIC0tc3lzdG9oYyAgICAgICAgc2V0enQgZGllIEhhcmR3YXJlLVVociBhdXMgZGVyIGFrdHVlbGxlbiBTeXN0ZW16ZWl0XG4iCisiICAgICAtLXN5c3R6ICAgICAgICAgIHNldHp0IGRpZSBTeXN0ZW16ZWl0IGJhc2llcmVuZCBhdWYgZGVyIGFrdHVlbGxlbiBaZWl0em9uZVxuIgorIiAgICAgLS1hZGp1c3QgICAgICAgICBrb3JyaWdpZXJ0IGRpZSBFY2h0emVpdHVociwgdW0gZGllIHN5c3RlbWF0aXNjaGUgQWJ3ZWljaHVuZ1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHNlaXQgZGVtIGxldHp0ZW4gU3RlbGxlbiBvZGVyIEtvcnJpZ2llcmVuIGRlciBIYXJkd2FyZS1VaHJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBhdXN6dWdsZWljaGVuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU3MQorbXNnaWQgIiAtYywgLS1jb21wYXJlICAgICAgICBwZXJpb2RpY2FsbHkgY29tcGFyZSB0aGUgc3lzdGVtIGNsb2NrIHdpdGggdGhlIENNT1MgY2xvY2tcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbXBhcmUgICAgICAgIHBlcmlvZGlzY2ggZGllIFN5c3RlbXVociBtaXQgZGVyIENNT1MtVWhyIHZlcmdsZWljaGVuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU3MworbXNnaWQgIiIKKyIgICAgIC0tZ2V0ZXBvY2ggICAgICAgcHJpbnQgb3V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZVxuIgorIiAgICAgLS1zZXRlcG9jaCAgICAgICBzZXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlIHRvIHRoZSBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBnaXZlbiB3aXRoIC0tZXBvY2hcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1nZXRlcG9jaCAgICAgICBnaWJ0IGRlbiBFcG9jaC1XZXJ0IGRlciBIYXJkd2FyZS1VaHIgZGVzIEtlcm5lbHMgYXVzXG4iCisiICAgICAtLXNldGVwb2NoICAgICAgIHNldHp0IGRlbiBFcG9jaC1XZXJ0IGRlciBIYXJkd2FyZS1VaHIgZGVzIEtlcm5lbHMgYXVmIGRlblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIG1pdCAtLWVwb2NoIGFuZ2VnZWJlbmVuIFdlcnRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTc3Cittc2dpZCAiIgorIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IFJUQyByZWFkaW5nIGF0IHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKyIgICAgIC0tcHJlZGljdCAgICAgICAgc2FndCBkaWUgQW56ZWlnZSBkZXIgRWNodHplaXR1aHIgenVtIG1pdCAtLWRhdGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBhbmdlZ2ViZW5lbiBaZWl0cHVua3Qgdm9yYXVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgIHplaWd0IFZlcnNpb25zaW5mb3JtYXRpb25lbiBhbiB1bmQgYmVlbmRldCBkYXMgUHJvZ3JhbW1cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTgxCittc2dpZCAiIgorIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyIgICAgIC0tbG9jYWx0aW1lICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorbXNnc3RyICIiCisiIC11LCAtLXV0YyAgICAgICAgICAgIGRpZSBIYXJkd2FyZXVociBpc3QgYXVmIFVUQyBnZXN0ZWxsdFxuIgorIiAgICAgLS1sb2NhbHRpbWUgICAgICBkaWUgSGFyZHdhcmV1aHIgaXN0IGF1ZiBsb2thbGUgWmVpdCBnZXN0ZWxsdFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODQKK21zZ2lkICIgLWYsIC0tcnRjIDxmaWxlPiAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIKK21zZ3N0ciAiIC1mLCAtLXJ0YyA8RGF0ZWk+ICAgIHNwZXppZWxsZSAvZGV2L+KApi1EYXRlaSBhbnN0YXR0IGRlciBWb3JnYWJlIHZlcndlbmRlblxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1kaXJlY3Rpc2EgICAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorIiAgICAgLS1iYWR5ZWFyICAgICAgICBpZ25vcmUgUlRDJ3MgeWVhciBiZWNhdXNlIHRoZSBCSU9TIGlzIGJyb2tlblxuIgorIiAgICAgLS1kYXRlIDx0aW1lPiAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorIiAgICAgLS1lcG9jaCA8eWVhcj4gICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBoYXJkd2FyZSBjbG9jaydzIGVwb2NoIHZhbHVlXG4iCittc2dzdHIgIiIKKyIgICAgIC0tZGlyZWN0aXNhICAgICAgZ3JlaWZ0IGRpcmVrdCBhdWYgZGVuIElTQS1CdXMgenUsIGFuc3RlbGxlIHZvbiAlc1xuIgorIiAgICAgLS1iYWR5ZWFyICAgICAgICBpZ25vcmllcnQgZGFzIEphaHIgZGVyIEVjaHR6ZWl0dWhyIHdlZ2VuIEJJT1MtRmVobGVyblxuIgorIiAgICAgLS1kYXRlIDxaZWl0PiAgICBnaWJ0IGRpZSBaZWl0IGFuLCBhdWYgd2VsY2hlIGRpZSBIYXJkd2FyZS1VaHIgZ2VzZXR6dCB3aXJkXG4iCisiICAgICAtLWVwb2NoIDxKYWhyPiAgIGdpYnQgZGFzIEphaHIgYW4sIG1pdCBkZW0gZGVyIEVwb2NoLVdlcnQgZGVyIEhhcmR3YXJlLVVoclxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2lubnRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIGRyaWZ0IGZhY3RvciBpbiAlMSRzIChyZXF1aXJlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIC0tc2V0IG9yIC0tc3lzdG9oYylcbiIKKyIgICAgIC0tbm9hZGpmaWxlICAgICAgZG8gbm90IGFjY2VzcyAlMSRzOyB0aGlzIHJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWVcbiIKKyIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlMSRzXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgICBha3R1YWxpc2llcnQgZGVuIEFid2VpY2h1bmdzZmFrdG9yIGluICUxJHNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIChiZW7DtnRpZ3QgLS1zZXQgb2RlciAtLXN5c3RvaGMpXG4iCisiICAgICAtLW5vYWRqZmlsZSAgICAgICAgZ3JlaWZ0IG5pY2h0IGF1ZiAlMSRzIHp1OyBkYWbDvHIgd2lyZCBlbnR3ZWRlclxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgLS11dGMgb2RlciAtLWxvY2FsdGltZSBiZW7DtnRpZ3RcbiIKKyIgICAgIC0tYWRqZmlsZSA8RGF0ZWk+ICBnaWJ0IGRlbiBQZmFkIHp1ciBhZGp1c3QtRGF0ZWkgYW47XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBWb3JnYWJlIGlzdCAlMSRzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU5OQorbXNnaWQgIiIKKyIgICAgIC0tdGVzdCAgICAgICAgICAgZG8gbm90IHVwZGF0ZSBhbnl0aGluZywganVzdCBzaG93IHdoYXQgd291bGQgaGFwcGVuXG4iCisiIC1ELCAtLWRlYnVnICAgICAgICAgIGRlYnVnZ2luZyBtb2RlXG4iCisiXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGVzdCAgICAgICAgICAgYWt0dWFsaXNpZXJ0IG5pY2h0cywgemVpZ3QgbnVyIGFuLCB3YXMgcGFzc2llcmVuIHfDvHJkZVxuIgorIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBEZWJ1Zy1Nb2R1c1xuIgorIlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE2MDIKK21zZ2lkICIiCisiIC1KfC0tamVuc2VuLCAtQXwtLWFyYywgLVN8LS1zcm0sIC1GfC0tZnVua3ktdG95XG4iCisiICAgICAgdGVsbCBod2Nsb2NrIHRoZSB0eXBlIG9mIEFscGhhIHlvdSBoYXZlIChzZWUgaHdjbG9jayg4KSlcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtSnwtLWplbnNlbiwgLUF8LS1hcmMsIC1TfC0tc3JtLCAtRnwtLWZ1bmt5LXRveVxuIgorIiAgICAgICAgICAgICAgICBod2Nsb2NrIG1pdHRlaWxlbiwgdW0gd2VsY2hlbiBBbHBoYS1UeXAgZXMgc2ljaCBoYW5kZWx0XG4iCisiICAgICAgICAgICAgICAgICAgKHNpZWhlIGh3Y2xvY2soOCkpXG4iCisiXG4iCisKKyMgInN0ZWxsZW4iCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE3MjgKK21zZ2lkICJVbmFibGUgdG8gY29ubmVjdCB0byBhdWRpdCBzeXN0ZW0iCittc2dzdHIgIlZlcmJpbmR1bmcgenVtIEF1ZGl0LVN5c3RlbSBrb25udGUgbmljaHQgYXVmZ2ViYXV0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODI2Cittc2dpZCAiaW52YWxpZCBlcG9jaCBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXMgRXBvY2hlLUFyZ3VtZW50IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdGFrZXMgbm8gbm9uLW9wdGlvbiBhcmd1bWVudHMuICBZb3Ugc3VwcGxpZWQgJWQuXG4iCittc2dzdHIgIiVzIG5pbW10IGtlaW5lIE5pY2h0LU9wdGlvbnMtQXJndW1lbnRlIGFuLiBTaWUgZ2FiZW4gJWQgYW4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTg4MAorbXNnaWQgIldpdGggLS1ub2FkamZpbGUsIHlvdSBtdXN0IHNwZWNpZnkgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lIgorbXNnc3RyICJtaXQgLS1ub2FkamZpbGUgbcO8c3NlbiBTaWUgZW50d2VkZXIgLS11dGMgb2RlciAtLWxvY2FsdGltZSBhbmdlYmVuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4OTMKK21zZ2lkICJObyB1c2FibGUgc2V0LXRvIHRpbWUuICBDYW5ub3Qgc2V0IGNsb2NrLiIKK21zZ3N0ciAiS2VpbmUgYnJhdWNoYmFyZSBaZWl0YW5nYWJlLiBVaHIga2FubiBuaWNodCBnZXN0ZWxsdCB3ZXJkZW4uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE5MTcKK21zZ2lkICJDYW5ub3QgYWNjZXNzIHRoZSBIYXJkd2FyZSBDbG9jayB2aWEgYW55IGtub3duIG1ldGhvZC4iCittc2dzdHIgIkVzIHd1cmRlIGtlaW5lIFp1Z3JpZmZzYXJ0IGdlZnVuZGVuLCBtaXQgZGVyIGF1ZiBkaWUgSGFyZHdhcmV1aHIgenVnZWdyaWZmZW4gd2VyZGVuIGtvbm50ZS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTkyMAorbXNnaWQgIlVzZSB0aGUgLS1kZWJ1ZyBvcHRpb24gdG8gc2VlIHRoZSBkZXRhaWxzIG9mIG91ciBzZWFyY2ggZm9yIGFuIGFjY2VzcyBtZXRob2QuIgorbXNnc3RyICJCZW51dHplbiBTaWUgZGllIOKAni0tZGVidWfigJwtT3B0aW9uLCB1bSBkaWUgdmVyc3VjaHRlbiBadWdyaWZmc2FydGVuIGFuenV6ZWlnZW4uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgImJvb3RlZCBmcm9tIE1JTE9cbiIKK21zZ3N0ciAidm9uIE1JTE8gZ2Vib290ZXRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJSdWZmaWFuIEJDRCBjbG9ja1xuIgorbXNnc3RyICJCw7ZzYXJ0aWdlIEJDRC1VaHJcbiIKKworIyBFZ2dlcgorIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9ja3BvcnQgYWRqdXN0ZWQgdG8gMHgleFxuIgorbXNnc3RyICJVaHJwb3J0IGF1ZiAweCV4IGdlc3RlbGx0XG4iCisKKyMgZGVidWcKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnVua3kgVE9ZIVxuIgorbXNnc3RyICLigJ5mdW5reSBUT1nigJwhXG4iCisKKyMgVGhlIHNlY29uZCAlcyBjYW4gYmU6CisjICJjbG9jayByZWFkIgorIyAic2V0IHRpbWUiCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mjk4CisjLCBjLWZvcm1hdAorbXNnaWQgImF0b21pYyAlcyBmYWlsZWQgZm9yIDEwMDAgaXRlcmF0aW9ucyEiCittc2dzdHIgImF0b21hcmVzIOKAniVz4oCcIHNjaGx1ZyBiZWkgMTAwMCBJdGVyYXRpb25lbiBmZWhsISIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjMyNAorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3JlYWQoKTogd3JpdGUgdG8gY29udHJvbCBhZGRyZXNzICVYIGZhaWxlZCIKK21zZ3N0ciAiY21vc19yZWFkKCk6IFNjaHJlaWJlbiBhbiBTdGV1ZXJhZHJlc3NlICVYIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzI4CisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3NfcmVhZCgpOiByZWFkIGZyb20gZGF0YSBhZGRyZXNzICVYIGZhaWxlZCIKK21zZ3N0ciAiY21vc19yZWFkKCk6IExlc2VuIGRlciBEYXRlbmFkcmVzc2UgJVggZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICJjbW9zX3dyaXRlKCk6IFNjaHJlaWJlbiBhbiBTdGV1ZXJhZHJlc3NlICVYIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3Nfd3JpdGUoKTogd3JpdGUgdG8gZGF0YSBhZGRyZXNzICVYIGZhaWxlZCIKK21zZ3N0ciAiY21vc193cml0ZSgpOiBTY2hyZWliZW4gYW4gRGF0ZW5hZHJlc3NlICVYIGZlaGxnZXNjaGxhZ2VuIgorCisjIEVnZ2VyLCBub3QgcmVhbGx5IG5pY2UKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NDUKK21zZ2lkICJJIGZhaWxlZCB0byBnZXQgcGVybWlzc2lvbiBiZWNhdXNlIEkgZGlkbid0IHRyeS4iCittc2dzdHIgIkVybGF1Ym5pcyB3dXJkZSBuaWNodCBlcmhhbHRlbiwgd2VpbCBrZWluIFZlcnN1Y2ggdW50ZXJub21tZW4gd3VyZGUuIgorCisjIEVnZ2VyCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjQ4Cittc2dpZCAidW5hYmxlIHRvIGdldCBJL08gcG9ydCBhY2Nlc3M6ICB0aGUgaW9wbCgzKSBjYWxsIGZhaWxlZC4iCittc2dzdHIgIlp1Z3JpZmYgYXVmIEUvQS1Qb3J0IG5pY2h0IG3DtmdsaWNoOiBkZXIgaW9wbCgzKS1BdWZydWYgaXN0IGZlaGxnZXNjaGxhZ2VuLiIKKworIyBUaGlzIGlzIG5vdCB0aGUgY29ycmVjdCB0cmFuc2xhdGlvbiwgYnV0IGl0CisjIGV4cGxhaW5zIHRoZSBzaXR1YXRpb24gYmV0dGVyLgorIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY1MQorbXNnaWQgIlByb2JhYmx5IHlvdSBuZWVkIHJvb3QgcHJpdmlsZWdlcy5cbiIKK21zZ3N0ciAiU2llIGJlbsO2dGlnZW4gcm9vdC1SZWNodGUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NTgKK21zZ2lkICJVc2luZyBkaXJlY3QgSS9PIGluc3RydWN0aW9ucyB0byBJU0EgY2xvY2suIgorbXNnc3RyICJEaXJla3RlIEUvQS1BbndlaXN1bmdlbiBkZXIgSVNBLVVociB3ZXJkZW4gdmVyd2VuZGV0LiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTk1CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byByZWFkIHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoJXMpIGF1ZiAlcywgdW0gZGllIFplaXQgenUgbGVzZW4sIGZlaGxnZXNjaGxhZ2VuLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tICVzIHRvIGNoYW5nZVxuIgorbXNnc3RyICJXYXJ0ZW4gaW4gU2NobGVpZmUgYXVmIMOEbmRlcnVuZyBkZXIgWmVpdCBhdXMgJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjM2Cittc2dpZCAiVGltZWQgb3V0IHdhaXRpbmcgZm9yIHRpbWUgY2hhbmdlLiIKK21zZ3N0ciAiWmVpdMO8YmVyc2NocmVpdHVuZyBiZWltIFdhcnRlbiBhdWYgWmVpdMOkbmRlcnVuZy4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBoYXZlIGludGVycnVwdCBmdW5jdGlvbnMuICIKK21zZ3N0ciAiJXMgaGF0IGtlaW5lIEludGVycnVwdC1GdW5rdGlvbmVuLiAiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMwMgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKK21zZ3N0ciAic2VsZWN0KCkgYXVmICVzLCB1bSBhdWYgWmVpdHRpY2sgenUgd2FydGVuLCBmZWhsZ2VzY2hsYWdlbi4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIHRpbWVkIG91dCIKK21zZ3N0ciAic2VsZWN0KCkgYXVmICVzLCB1bSBhdWYgWmVpdHRpY2sgenUgd2FydGVuLCBaZWl0IGFiZ2VsYXVmZW4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb2ZmIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoKSBhdWYgJXMsIHVtIFVwZGF0ZS1JbnRlcnJ1cHRzIGFienVzY2hhbHRlbiwgZmVobGdlc2NobGFnZW4uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9uIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCB1bmV4cGVjdGVkbHkiCittc2dzdHIgImlvY3RsKCkgYXVmICVzLCB1bSBVcGRhdGUtSW50ZXJydXB0cyBlaW56dXNjaGFsdGVuLCBmZWhsZ2VzY2hsYWdlbi4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gc2V0IHRoZSB0aW1lIGZhaWxlZC4iCittc2dzdHIgImlvY3RsKCVzKSBhdWYgJXMsIHVtIGRpZSBaZWl0IHp1IHNldHplbiwgZmVobGdlc2NobGFnZW4iCisKKyMgZGVidWcKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgd2FzIHN1Y2Nlc3NmdWwuXG4iCittc2dzdHIgIuKAnmlvY3RsKCVzKeKAnCB3YXIgZXJmb2xncmVpY2guXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM4NworbXNnaWQgIlVzaW5nIHRoZSAvZGV2IGludGVyZmFjZSB0byB0aGUgY2xvY2suIgorbXNnc3RyICJEaWUgL2Rldi1TY2huaXR0c3RlbGxlIHp1ciBVaHIgd2lyZCB2ZXJ3ZW5kZXQuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MTcgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRvIG1hbmlwdWxhdGUgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwsIHdlIG11c3QgYWNjZXNzIHRoZSBMaW51eCAncnRjJyBkZXZpY2UgZHJpdmVyIHZpYSB0aGUgZGV2aWNlIHNwZWNpYWwgZmlsZSAlcy4gIFRoaXMgZmlsZSBkb2VzIG5vdCBleGlzdCBvbiB0aGlzIHN5c3RlbS4iCittc2dzdHIgIlp1bSBNYW5pcHVsaWVyZW4gZGVzIEVwb2NoLVdlcnRlcyBpbSBLZXJuZWwgbXVzcyBkZXIgTGludXgtR2Vyw6R0ZXRyZWliZXIg4oCecnRj4oCcIG1pdHRlbHMgZGVyIEdlcsOkdGVkYXRlaSAlcyBhbmdlc3Byb2NoZW4gd2VyZGVuLiBEaWVzZSBEYXRlaSBleGlzdGllcnQgYXVmIGRpZXNlbSBTeXN0ZW0gbmljaHQuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoUlRDX0VQT0NIX1JFQUQpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoUlRDX0VQT0NIX1JFQUQpIGF1ZiAlcyBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDM1CisjLCBjLWZvcm1hdAorbXNnaWQgIndlIGhhdmUgcmVhZCBlcG9jaCAlbHUgZnJvbSAlcyB3aXRoIFJUQ19FUE9DSF9SRUFEIGlvY3RsLlxuIgorbXNnc3RyICJFcG9jaGUgJWx1IHd1cmRlIGF1cyAlcyBtaXR0ZWxzIGRlcyBSVENfRVBPQ0hfUkVBRC1Jb2N0bHMgZ2VsZXNlbi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlcG9jaCB2YWx1ZSBtYXkgbm90IGJlIGxlc3MgdGhhbiAxOTAwLiAgWW91IHJlcXVlc3RlZCAlbGQiCittc2dzdHIgIkRlciBFcG9jaGVud2VydCBkYXJmIG5pY2h0IGtsZWluZXIgYWxzIDE5MDAgc2Vpbi4gU2llIGZvcmRlcnRlbiAlbGQgYW4uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBlcG9jaCB0byAlbHUgd2l0aCBSVENfRVBPQ0hfU0VUIGlvY3RsIHRvICVzLlxuIgorbXNnc3RyICJkaWUgRXBvY2hlIHdpcmQgYXVmICVsdSB1bmQgZGVyIFJUQ19FUE9DSF9TRVQtSW9jdGwgd2lyZCBhdWYgJXMgZ2VzZXR6dC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBrZXJuZWwgZGV2aWNlIGRyaXZlciBmb3IgJXMgZG9lcyBub3QgaGF2ZSB0aGUgUlRDX0VQT0NIX1NFVCBpb2N0bC4iCittc2dzdHIgIkRlciBLZXJuZWwtR2Vyw6R0ZXRyZWliZXIgZsO8ciAlcyBoYXQga2VpbmVuIFJUQ19FUE9DSF9TRVQtSW9jdGwuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoUlRDX0VQT0NIX1NFVCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfU0VUKSBhdWYgJXMgZmVobHQiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjY5Cittc2dpZCAiQ3JlYXRlIHZhcmlvdXMgSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiVmVyc2NoaWVkZW5lIElQQy1SZXNzb3VyY2VuIGVyemV1Z2VuLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MgorbXNnaWQgIiAtTSwgLS1zaG1lbSA8c2l6ZT4gICAgICAgY3JlYXRlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBvZiBzaXplIDxzaXplPlxuIgorbXNnc3RyICIgLU0sIC0tc2htZW0gPEdyw7bDn2U+ICAgICAgZ2VtZWluc2FtIGdlbnV0enRlcyBTcGVpY2hlcnNlZ21lbnQgZGllc2VyIDxHcsO2w59lPiBlcnpldWdlblxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MworbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUgPG51bWJlcj4gY3JlYXRlIHNlbWFwaG9yZSBhcnJheSB3aXRoIDxudW1iZXI+IGVsZW1lbnRzXG4iCittc2dzdHIgIiAtUywgLS1zZW1hcGhvcmUgPFphaGw+ICAgZWluIFNlbWFwaG9yLUZlbGQgbWl0IDxaYWhsPiBFbGVtZW50ZW4gZXJ6ZXVnZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzQKK21zZ2lkICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIGNyZWF0ZSBtZXNzYWdlIHF1ZXVlXG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgTmFjaHJpY2h0ZW53YXJ0ZXNjaGxhbmdlIGVyemV1Z2VuXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc1Cittc2dpZCAiIC1wLCAtLW1vZGUgPG1vZGU+ICAgICAgICBwZXJtaXNzaW9uIGZvciB0aGUgcmVzb3VyY2UgKGRlZmF1bHQgaXMgMDY0NClcbiIKK21zZ3N0ciAiIC1wLCAtLW1vZGUgPG1vZGU+ICAgICAgICBadWdyaWZmc3JlY2h0ZSBmw7xyIGRpZSBSZXNzb3VyY2UgKFZvcmdhYmUgaXN0IDA2NDQpXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExMCBzeXMtdXRpbHMvbG9zZXR1cC5jOjY5NyBzeXMtdXRpbHMvenJhbWN0bC5jOjYyMgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICJHcsO2w59lIGthbm4gbmljaHQgZWluZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbGVtZW50cyIKK21zZ3N0ciAiRWxlbWVudGUga8O2bm5lbiBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQxCittc2dpZCAiY3JlYXRlIHNoYXJlIG1lbW9yeSBmYWlsZWQiCittc2dzdHIgIkVyc3RlbGxlbiBnZW1laW5zYW0gZ2VudXR6dGVuIFNwZWljaGVycyBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MworIywgYy1mb3JtYXQKK21zZ2lkICJTaGFyZWQgbWVtb3J5IGlkOiAlZFxuIgorbXNnc3RyICJJRCBkZXMgZ2VtZWluc2FtIGdlbnV0enRlbiBTcGVpY2hlcnM6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0OQorbXNnaWQgImNyZWF0ZSBtZXNzYWdlIHF1ZXVlIGZhaWxlZCIKK21zZ3N0ciAiRXJ6ZXVnZW4gZGVyIE5hY2hyaWNodGVud2FydGVzY2hsYW5nZSBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIHF1ZXVlIGlkOiAlZFxuIgorbXNnc3RyICJOYWNocmljaHRlbndhcnRlc2NobGFuZ2Vua2VubnVuZzogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU3Cittc2dpZCAiY3JlYXRlIHNlbWFwaG9yZSBmYWlsZWQiCittc2dzdHIgIlNlbWFwaG9yLUVyc3RlbGx1bmcgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VtYXBob3JlIGlkOiAlZFxuIgorbXNnc3RyICJTZW1hcGhvci1JRDogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIHNobXxtc2d8c2VtIDxpZD4uLi5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtPcHRpb25lbl1cbiIKKyIgJTEkcyBzaG18bXNnfHNlbSA8SUQ+IOKAplxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1NAorbXNnaWQgIlJlbW92ZSBjZXJ0YWluIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIkJlc3RpbW10ZSBJUEMtUmVzc291cmNlbiBlbnRmZXJuZW4uXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU3Cittc2dpZCAiIC1tLCAtLXNobWVtLWlkIDxpZD4gICAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkgaWRcbiIKK21zZ3N0ciAiIC1tLCAtLXNobWVtLWlkIDxJRD4gICAgICAgIGdlbWVpbnNhbSBnZW51dHp0ZXMgU3BlaWNoZXJzZWdtZW50IG5hY2ggSUQgZW5mZXJuZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTgKK21zZ2lkICIgLU0sIC0tc2htZW0ta2V5IDxrZXk+ICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBrZXlcbiIKK21zZ3N0ciAiIC1NLCAtLXNobWVtLWtleSA8U2NobMO8c3NlbD4gICAgICAgICAgICAgICAgICAgICAgICAgICBnZW1laW5zYW0gZ2VudXR6dGVzIFNwZWljaGVyc2VnbWVudCBuYWNoIDxTY2hsw7xzc2VsPiBlbnRmZXJuZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTkKK21zZ2lkICIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkgaWRcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlLWlkIDxJRD4gICAgICAgIE5hY2hyaWNodGVud2FydGVzY2hsYW5nZSBuYWNoIElEIGVudGZlcm5lblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MAorbXNnaWQgIiAtUSwgLS1xdWV1ZS1rZXkgPGtleT4gICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBrZXlcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlLWtleSA8U2NobMO8c3NlbD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFjaHJpY2h0ZW53YXJ0ZXNjaGxhbmdlIG5hY2ggU2NobMO8c3NlbCBlbnRmZXJuZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjEKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlLWlkIDxpZD4gICAgcmVtb3ZlIHNlbWFwaG9yZSBieSBpZFxuIgorbXNnc3RyICIgLXMsIC0tc2VtYXBob3JlLWlkIDxJRD4gICAgU2VtYXBob3IgbmFjaCBJRCBlbnRmZXJuZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjIKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlLWtleSA8a2V5PiAgcmVtb3ZlIHNlbWFwaG9yZSBieSBrZXlcbiIKK21zZ3N0ciAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPFNjaGwuPiBTZW1hcGhvciBuYWNoIFNjaGzDvHNzZWwgZW50ZmVybmVuXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYzCittc2dpZCAiIC1hLCAtLWFsbFs9c2htfG1zZ3xzZW1dICAgIHJlbW92ZSBhbGwgKGluIHRoZSBzcGVjaWZpZWQgY2F0ZWdvcnkpXG4iCittc2dzdHIgIiAtYSwgLS1hbGxbPXNobXxtc2d8c2VtXSAgICBhbGxlIGVudGZlcm5lbiAoaW4gZGVyIGFuZ2VnZWJlbmVuIEthdGVnb3JpZSlcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIGVya2zDpHJlbiB3YXMgZ2VtYWNodCB3aXJkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBpZCBgJWQnXG4iCittc2dzdHIgImdlbWVpbnNhbSBnZW51dHp0ZXMgU3BlaWNoZXJzZWdtZW50IElEIOKAniVk4oCcIHdpcmQgZW50ZmVybnRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3ZpbmcgbWVzc2FnZSBxdWV1ZSBpZCBgJWQnXG4iCittc2dzdHIgIk5hY2hyaWNodGVud2FydGVzY2hsYW5nZW5rZW5udW5nIOKAniVk4oCcIHdpcmQgZW50ZmVybnRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3Zpbmcgc2VtYXBob3JlIGlkIGAlZCdcbiIKK21zZ3N0ciAiU2VtYXBob3IgSUQg4oCeJWTigJwgd2lyZCBlbnRmZXJudFxuIgorCisjIGxpYmMucG86ICJLZWluZSBCZXJlY2h0aWd1bmciCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDggc3lzLXV0aWxzL2lwY3JtLmM6MjIyCittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGtleSIKK21zZ3N0ciAiS2VpbmUgQmVyZWNodGlndW5nIGbDvHIgU2NobMO8c3NlbCIKKworIyBsaWJjLnBvOiAiS2VpbmUgQmVyZWNodGlndW5nIgorIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGlkIgorbXNnc3RyICJLZWluZSBCZXJlY2h0aWd1bmcgZsO8ciBLZW5udW5nIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEgc3lzLXV0aWxzL2lwY3JtLmM6MjI4Cittc2dpZCAiaW52YWxpZCBrZXkiCittc2dzdHIgInVuZ8O8bHRpZ2VyIFNjaGzDvHNzZWwiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMQorbXNnaWQgImludmFsaWQgaWQiCittc2dzdHIgInVuZ8O8bHRpZ2UgS2VubnVuZyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0IHN5cy11dGlscy9pcGNybS5jOjIyNQorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBrZXkiCittc2dzdHIgIlNjaGzDvHNzZWwgc2Nob24gZW50ZmVybnQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNAorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBpZCIKK21zZ3N0ciAiSUQgc2Nob24gZW50ZmVybnQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNyBzeXMtdXRpbHMvaXBjcm0uYzoyMzEKK21zZ2lkICJrZXkgZmFpbGVkIgorbXNnc3RyICJTY2hsw7xzc2VsIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcKK21zZ2lkICJpZCBmYWlsZWQiCittc2dzdHIgIklEIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZDogJXMiCittc2dzdHIgInVuZ8O8bHRpZ2UgS2VubnVuZzogJXMiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJyZXNvdXJjZShzKSBkZWxldGVkXG4iCittc2dzdHIgIlJlc3NvdXJjZShuKSBnZWzDtnNjaHRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwga2V5ICglcykiCittc2dzdHIgInVuenVsw6Rzc2lnZXIgU2NobMO8c3NlbCAoJXMpIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNTYKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgIkRlciBLZXJuZWwgaXN0IG5pY2h0IGtvbmZpZ3VyaWVydCwgZ2VtZWluc2FtZW4gU3BlaWNoZXIgenUgdW50ZXJzdMO8dHplbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjY5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzIgorbXNnc3RyICJLZXJuZWwgbmljaHQgZsO8ciBTZW1hcGhvcmVuIGtvbmZpZ3VyaWVydCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjkwCittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiS2VybmVsIG5pY2h0IGbDvHIgTmFjaHJpY2h0ZW53YXJ0ZXNjaGxhbmdlbiBrb25maWd1cmllcnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtyZXNvdXJjZS1vcHRpb24uLi5dIFtvdXRwdXQtb3B0aW9uXVxuIgorIiAlMSRzIC1tfC1xfC1zIC1pIDxpZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtSZXNzb3VyY2Vub3B0aW9uIOKApl0gW0F1c2dhYmVvcHRpb25dXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU2IHN5cy11dGlscy9sc2lwYy5jOjI4MAorbXNnaWQgIlNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMuXG4iCittc2dzdHIgIiIKKyJJbmZvcm1hdGlvbmVuIMO8YmVyIEVpbnJpY2h0dW5nZW4gdm9uIElQQ1xuIgorIihJbnRlciBQcm9jZXNzIENvbW11bmljYXRpb24pIGFuemVpZ2VuLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiAtaSwgLS1pZCA8SUQ+ICBEZXRhaWxzIHp1IFJlc3NvdXJjZW4gbWl0IGRlciA8SUQ+IGF1c2dlYmVuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQgc3lzLXV0aWxzL2xzaXBjLmM6MjgzCittc2dpZCAiUmVzb3VyY2Ugb3B0aW9uczpcbiIKK21zZ3N0ciAiUmVzc291cmNlbm9wdGlvbmVuOlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1IHN5cy11dGlscy9sc2lwYy5jOjI4NAorbXNnaWQgIiAtbSwgLS1zaG1lbXMgICAgICBzaGFyZWQgbWVtb3J5IHNlZ21lbnRzXG4iCittc2dzdHIgIiAtbSwgLS1zaG1lbXMgICAgICBnZW1laW5zYW0gZ2VudXR6dGUgU3BlaWNoZXJzZWdtZW50ZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY2IHN5cy11dGlscy9sc2lwYy5jOjI4NQorbXNnaWQgIiAtcSwgLS1xdWV1ZXMgICAgICBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICIgLXEsIC0tcXVldWVzICAgICAgTmFjaHJpY2h0ZW53YXJ0ZXNjaGxhbmdlblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY3IHN5cy11dGlscy9sc2lwYy5jOjI4NgorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hcGhvcmVzXG4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmVzICBTZW1hcGhvcmVuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjgKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgYWxsIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgYWxsZSAoVm9yZ2FiZSlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MQorbXNnaWQgIk91dHB1dCBvcHRpb25zOlxuIgorbXNnc3RyICJBdXNnYWJlb3B0aW9uZW46XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzIKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICBBbmjDpG5nZS0sIEFiaMOkbmdlLSB1bmQgw4RuZGVydW5nc3plaXRlbiBhbnplaWdlblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjczCittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgIHNob3cgUElEcyBvZiBjcmVhdG9yIGFuZCBsYXN0IG9wZXJhdG9yXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICBQcm96ZXNzLUlEcyBkZXMgRXJ6ZXVnZXJzIHVuZCBsZXR6dGVuIFZvcmdhbmdzIGFuemVpZ2VuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzQKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIgLWMsIC0tY3JlYXRvciAgICAgRXJ6ZXVnZXIgdW5kIEVpZ2VudMO8bWVyIGFuemVpZ2VuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzUKK21zZ2lkICIgLWwsIC0tbGltaXRzICAgICAgc2hvdyByZXNvdXJjZSBsaW1pdHNcbiIKK21zZ3N0ciAiIC1sLCAtLWxpbWl0cyAgICAgIFJlc3NvdXJjZW5ncmVuemVuIGFuemVpZ2VuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKK21zZ2lkICIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIgorbXNnc3RyICIgLXUsIC0tc3VtbWFyeSAgICAgU3RhdHVzenVzYW1tZW5mYXNzdW5nIGFuemVpZ2VuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzcKK21zZ2lkICIgICAgIC0taHVtYW4gICAgICAgc2hvdyBzaXplcyBpbiBodW1hbi1yZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLWh1bWFuICAgICAgIEdyw7bDn2VuIGluIG1lbnNjaGVubGVzYmFyZW0gRm9ybWF0IGFuemVpZ2VuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzgKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgc2hvdyBzaXplcyBpbiBieXRlc1xuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAgR3LDtsOfZW4gaW4gQnl0ZSBhbnplaWdlblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjE2NAorbXNnaWQgIndoZW4gdXNpbmcgYW4gSUQsIGEgc2luZ2xlIHJlc291cmNlIG11c3QgYmUgc3BlY2lmaWVkIgorbXNnc3RyICJCZWkgQW5nYWJlIGVpbmVyIElEIG11c3MgZWluZSBlaW56ZWxuZSBSZXNzb3VyY2UgYW5nZWdlYmVuIHdlcmRlbi4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzaGFyZWQgbWVtb3J5IGxpbWl0c1xuIgorbXNnc3RyICJEaWUgR3JlbnplbiBmw7xyIGdldGVpbHRlbiBTcGVpY2hlciBrw7ZubmVuIG5pY2h0IGVybWl0dGVsdCB3ZXJkZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBHZW1laW5zYW1lciBTcGVpY2hlcjogR3JlbnplbiAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIHNlZ21lbnRzID0gJWp1XG4iCittc2dzdHIgIk1heGltYWxlIEFuemFobCBhbiBTZWdtZW50ZW4gPSAlanVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDkKK21zZ2lkICJtYXggc2VnIHNpemUiCittc2dzdHIgIk1heGltYWxlIFNlZ21lbnRncsO2w59lIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxMQorbXNnaWQgIm1heCB0b3RhbCBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICJNYXhpbWFsZXIgZ2VzYW10ZXIgZ2VtZWluc2FtZXIgU3BlaWNoZXIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjE0Cittc2dpZCAibWluIHNlZyBzaXplIgorbXNnc3RyICJtaW5pbWFsZSBTZWdtZW50Z3LDtsOfZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5XG4iCittc2dzdHIgIkRlciBLZXJuZWwgaXN0IG5pY2h0IGtvbmZpZ3VyaWVydCwgZ2VtZWluc2FtZW4gU3BlaWNoZXIgenUgdW50ZXJzdMO8dHplbi5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBHZW1laW5zYW1lciBTcGVpY2hlcjogU3RhdHVzIC0tLS0tLS0tXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGlzIG91dHB1dCBmb3JtYXQgaXMgbWFpbnRhaW5lZCBmb3IgYmFja3dhcmQKKyMuIGNvbXBhdGliaWxpdHkgYXMgaXBjcyBpcyB1c2VkIGluIHNjcmlwdHMuIEZvciBjb25zaXN0ZW5jeQorIy4gd2l0aCB0aGUgcmVzdCwgdGhlIHRyYW5zbGF0ZWQgZm9ybSBjYW4gZm9sbG93IHRoaXMgbW9kZWw6CisjLiAqCisjLiAic2VnbWVudHMgYWxsb2NhdGVkID0gJWRcbiIKKyMuICJwYWdlcyBhbGxvY2F0ZWQgPSAlbGRcbiIKKyMuICJwYWdlcyByZXNpZGVudCA9ICVsZFxuIgorIy4gInBhZ2VzIHN3YXBwZWQgPSAlbGRcbiIKKyMuICJzd2FwIHBlcmZvcm1hbmNlID0gJWxkIGF0dGVtcHRzLCAlbGQgc3VjY2Vzc2VzXG4iCisjLgorIzogc3lzLXV0aWxzL2lwY3MuYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInNlZ21lbnRzIGFsbG9jYXRlZCAlZFxuIgorInBhZ2VzIGFsbG9jYXRlZCAlbGRcbiIKKyJwYWdlcyByZXNpZGVudCAgJWxkXG4iCisicGFnZXMgc3dhcHBlZCAgICVsZFxuIgorIlN3YXAgcGVyZm9ybWFuY2U6ICVsZCBhdHRlbXB0c1x0ICVsZCBzdWNjZXNzZXNcbiIKK21zZ3N0ciAiIgorIlNlZ21lbnRlIHp1Z2V3aWVzZW46ICVkXG4iCisiU2VpdGVuIHp1Z2V3aWVzZW46ICAlbGRcbiIKKyJTZWl0ZW4gdm9yaGFuZGVuOiAgICVsZFxuIgorIlNlaXRlbiBhdXNnZWxhZ2VydDogJWxkXG4iCisiQXVzbGFnZXJ1bmdzLVBlcmZvcm1hbmNlOiAlbGQgVmVyc3VjaGVcdCAlbGQtbWFsIGVyZm9sZ3JlaWNoXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnQgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBHZW1laW5zYW1lciBTcGVpY2hlcjogRXJ6ZXVnZXIvQmVzaXR6ZXIgZGVyIFNlZ21lbnRlIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjc0CisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgInNobWlkIgorbXNnc3RyICJzaG1pZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzozODYKKyM6IHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NDg5IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAicGVybXMiCittc2dzdHIgIlJlY2h0ZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJjdWlkIgorbXNnc3RyICJjdWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgImNnaWQiCittc2dzdHIgImNnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAidWlkIgorbXNnc3RyICJ1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiZ2lkIgorbXNnc3RyICJnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IEF0dGFjaC9EZXRhY2gvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBHZW1laW5zYW1lciBTcGVpY2hlcjogQXR0YWNoL0RldGFjaC9DaGFuZ2UtWmVpdGVuIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjc0IHN5cy11dGlscy9pcGNzLmM6MjgwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQwMSBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEgc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJvd25lciIKK21zZ3N0ciAiQmVzaXR6ZXIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3Cittc2dpZCAiYXR0YWNoZWQiCittc2dzdHIgInZlcmJ1bmRlbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcKK21zZ2lkICJkZXRhY2hlZCIKK21zZ3N0ciAiZ2V0cmVubnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY4Cittc2dpZCAiY2hhbmdlZCIKK21zZ3N0ciAiZ2XDpG5kZXJ0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBDcmVhdG9yL0xhc3Qtb3AgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gRXJ6ZXVnZXIgZ2VtZWluc2FtZW4gU3BlaWNoZXJzL1BJRHMgZGVyIGxldHp0ZW4gT3BlcmF0aW9uZW4gLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzQKK21zZ2lkICJjcGlkIgorbXNnc3RyICJjcGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3NAorbXNnaWQgImxwaWQiCittc2dzdHIgImxwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBHZW1laW5zYW1lciBTcGVpY2hlcjogU2VnbWVudGUgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJrZXkiCittc2dzdHIgIlNjaGzDvHNzZWwiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgxIHN5cy11dGlscy9pcGNzLmM6NTA4Cittc2dpZCAic2l6ZSIKK21zZ3N0ciAiR3LDtsOfZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODEgc3lzLXV0aWxzL3BybGltaXQuYzo3NSBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4IHN5cy11dGlscy9wcmxpbWl0LmM6Nzkgc3lzLXV0aWxzL3BybGltaXQuYzo4MQorIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJieXRlcyIKK21zZ3N0ciAiQnl0ZXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgyCittc2dpZCAibmF0dGNoIgorbXNnc3RyICJuYXR0Y2giCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgyCittc2dpZCAic3RhdHVzIgorbXNnc3RyICJTdGF0dXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzA2IHN5cy11dGlscy9pcGNzLmM6MzA4IHN5cy11dGlscy9pcGNzLmM6MzEwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQyNCBzeXMtdXRpbHMvaXBjcy5jOjQyNiBzeXMtdXRpbHMvaXBjcy5jOjUzMgorIzogc3lzLXV0aWxzL2lwY3MuYzo1MzQgc3lzLXV0aWxzL2lwY3MuYzo1MzYgc3lzLXV0aWxzL2lwY3MuYzo1OTAKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkyIHN5cy11dGlscy9pcGNzLmM6NjIxIHN5cy11dGlscy9pcGNzLmM6NjIzCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyNSBzeXMtdXRpbHMvaXBjcy5jOjY0OQorbXNnaWQgIk5vdCBzZXQiCittc2dzdHIgIk5pY2h0IGZlc3RnZWxlZ3QiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzM2IHN5cy11dGlscy9sc2lwYy5jOjk3NiBzeXMtdXRpbHMvbHNpcGMuYzo5ODIKK21zZ2lkICJkZXN0IgorbXNnc3RyICJ6ZXJzdMO2cnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzM3IHN5cy11dGlscy9sc2lwYy5jOjk3NyBzeXMtdXRpbHMvbHNpcGMuYzo5OTAKK21zZ2lkICJsb2NrZWQiCittc2dzdHIgImdlc3BlcnJ0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM1NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2VtYXBob3JlIGxpbWl0c1xuIgorbXNnc3RyICJkaWUgbWF4aW1hbGUgQW56YWhsIFNlbWFwaG9yZW4ga2FubiBuaWNodCBlcm1pdHRlbHQgd2VyZGVuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTZW1hcGhvcmVuZ3JlbnplbiAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MQorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIGFycmF5cyA9ICVkXG4iCittc2dzdHIgIm1heGltYWxlIEFuemFobCB2b24gRmVsZGVybiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHBlciBhcnJheSA9ICVkXG4iCittc2dzdHIgIm1heGltYWxlIFNlbWFwaG9yZW4gcHJvIEZlbGQgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgIm1heGltYWxlIHN5c3RlbXdlaXRlIFNlbWFwaG9yZW4gPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggb3BzIHBlciBzZW1vcCBjYWxsID0gJWRcbiIKK21zZ3N0ciAibWF4aW1hbGUgT3BlcmF0aW9uZW4gcHJvIFNlbWFwaG9yZW5hdWZydWYgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJzZW1hcGhvcmUgbWF4IHZhbHVlID0gJXVcbiIKK21zZ3N0ciAibWF4aW1hbGVyIFNlbWFwaG9yZW53ZXJ0ID0gJXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzXG4iCittc2dzdHIgIktlcm5lbCBuaWNodCBmw7xyIFNlbWFwaG9yZW4ga29uZmlndXJpZXJ0XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTZW1hcGhvcmVuc3RhdHVzIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc4CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAiYmVudXR6dGUgRmVsZGVyID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHNlbWFwaG9yZXMgPSAlZFxuIgorbXNnc3RyICJ6dWdld2llc2VuZSBTZW1hcGhvcmVuID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTZW1hcGhvcmVuZmVsZGVyOiBFcnpldWdlci9CZXNpdHplciAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQwMQorbXNnaWQgInNlbWlkIgorbXNnc3RyICJTZW1JRCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBPcGVyYXRpb24vQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTZW1hcGhvcm9wZXJhdGlvbi/DhG5kZXJ1bmdzemVpdGVuIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyCittc2dpZCAibGFzdC1vcCIKK21zZ3N0ciAibGFzdC1vcCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIKK21zZ2lkICJsYXN0LWNoYW5nZWQiCittc2dzdHIgImxhc3QtY2hhbmdlZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFNlbWFwaG9yZW5mZWxkZXIgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0MDEKK21zZ2lkICJuc2VtcyIKK21zZ3N0ciAibnNlbXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDU5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBtZXNzYWdlIGxpbWl0c1xuIgorbXNnc3RyICJkaWUgbWF4aW1hbGUgQW56YWhsIE5hY2hyaWNodGVuIGthbm4gbmljaHQgZXJtaXR0ZWx0IHdlcmRlblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBOYWNocmljaHRlbmJlc2NocsOkbmt1bmdlbiAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggcXVldWVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAibWF4aW1hbGUgc3lzdGVtd2VpdGUgV2FydGVzY2hsYW5nZW4gPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2NQorbXNnaWQgIm1heCBzaXplIG9mIG1lc3NhZ2UiCittc2dzdHIgIm1heGltYWxlIEdyw7bDn2UgZGVyIE5hY2hyaWNodCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjcKK21zZ2lkICJkZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIgorbXNnc3RyICJub3JtYWxlIG1heGltYWxlIEdyw7bDn2UgZGVyIFdhcnRlc2NobGFuZ2UiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiS2VybmVsIGlzdCBuaWNodCBmw7xyIE5hY2hyaWNodGVud2FydGVzY2hsYW5nZW4ga29uZmlndXJpZXJ0XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDc3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIE5hY2hyaWNodGVuc3RhdHVzIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDc5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBxdWV1ZXMgPSAlZFxuIgorbXNnc3RyICJ6dWdld2llc2VuZSBXYXJ0ZXNjaGxhbmdlbiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgaGVhZGVycyA9ICVkXG4iCittc2dzdHIgImJlbnV0enRlIEvDtnBmZSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgyCittc2dpZCAidXNlZCBzcGFjZSIKK21zZ3N0ciAiYmVsZWd0ZXIgUGxhdHoiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgzCittc2dpZCAiIGJ5dGVzXG4iCittc2dzdHIgIkJ5dGVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0gTmFjaHJpY2h0ZW53YXJ0ZXNjaGxhbmdlbjogRXJ6ZXVnZXIvRWlnZW50w7xtZXIgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODkgc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MDEKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibXNxaWQiCittc2dzdHIgIm1zcWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgU2VuZC9SZWN2L0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gTmFjaHJpY2h0ZW53YXJ0ZXNjaGxhbmdlbjogVmVyc2FuZC9FbXBmYW5nL8OEbmRlcnVuZy1aZWl0ZW4gLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJzZW5kIgorbXNnc3RyICJWZXJzYW5kIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgInJlY3YiCittc2dzdHIgIkVtcGZhbmciCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiY2hhbmdlIgorbXNnc3RyICLDhG5kZXJ1bmciCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBOYWNocmljaHRlbndhcnRlc2NobGFuZ2VuOiBQSURzIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAibHNwaWQiCittc2dzdHIgImxzcGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImxycGlkIgorbXNnc3RyICJscnBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBOYWNocmljaHRlbndhcnRlc2NobGFuZ2VuIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA4Cittc2dpZCAidXNlZC1ieXRlcyIKK21zZ3N0ciAiQmVudXR6dC1CeXRlcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDkKK21zZ2lkICJtZXNzYWdlcyIKK21zZ3N0ciAiTmFjaHJpY2h0ZW4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc0IHN5cy11dGlscy9pcGNzLmM6NjA0IHN5cy11dGlscy9pcGNzLmM6NjM3CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo1MzYgc3lzLXV0aWxzL2xzaXBjLmM6NzIyIHN5cy11dGlscy9sc2lwYy5jOjg3OQorIywgYy1mb3JtYXQKK21zZ2lkICJpZCAlZCBub3QgZm91bmQiCittc2dzdHIgImlkICVkIG5pY2h0IGdlZnVuZGVuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU3OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkIG1lbW9yeSBTZWdtZW50IHNobWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJHZW1laW5zYW1lciBTcGVpY2hlciBTZWdtZW50IHNobWlkPSVkXG4iCisKKyMgc2ltaWxpYXIgbWVzc2FnZSBiZWxvdy4KKyM6IHN5cy11dGlscy9pcGNzLmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCittc2dzdHIgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCisKKyMgc2ltaWxpYXIgbWVzc2FnZSBiZWxvdy4KKyM6IHN5cy11dGlscy9pcGNzLmM6NTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvXHRhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgIm1vZGU9JSNvXHRhY2Nlc3NfcGVybXM9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg0Cittc2dpZCAic2l6ZT0iCittc2dzdHIgIkdyw7bDn2U9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorbXNnaWQgImJ5dGVzPSIKK21zZ3N0ciAiQnl0ZXM9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NgorIywgYy1mb3JtYXQKK21zZ2lkICJscGlkPSV1XHRjcGlkPSV1XHRuYXR0Y2g9JWpkXG4iCittc2dzdHIgImxwaWQ9JXVcdGNwaWQ9JXVcdG5hdHRjaD0lamRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXR0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiYXR0X3RpbWUgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MQorIywgYy1mb3JtYXQKK21zZ2lkICJkZXRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJkZXRfdGltZSA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkzIHN5cy11dGlscy9pcGNzLmM6NjI0CisjLCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZV90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIsOEbmRlcnVuZ3N6ZWl0ID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UgUXVldWUgbXNxaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIk5hY2hyaWNodGVud2FydGVzY2hsYW5nZSBtc3FpZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVx0bW9kZT0lI29cbiIKK21zZ3N0ciAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG1vZGU9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjEzCittc2dpZCAiY3NpemU9IgorbXNnc3RyICJjc2l6ZT0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjEzCittc2dpZCAiY2J5dGVzPSIKK21zZ3N0ciAiY2J5dGVzPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKK21zZ2lkICJxc2l6ZT0iCittc2dzdHIgInFzaXplPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKK21zZ2lkICJxYnl0ZXM9IgorbXNnc3RyICJxYnl0ZXM9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiU2VuZGV6ZWl0ID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAicmN2X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiRW1wZmFuZ3N6ZWl0ID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBBcnJheSBzZW1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisiU2VtYXBob3JlbmZlbGQgc2VtaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibnNlbXMgPSAlanVcbiIKK21zZ3N0ciAibnNlbXMgPSAlanVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAib3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICJvdGltZSA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgImN0aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAiY3RpbWUgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInNlbW51bSIKK21zZ3N0ciAiU2VtbnVtIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInZhbHVlIgorbXNnc3RyICJXZXJ0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgIm5jb3VudCIKK21zZ3N0ciAibmNvdW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInpjb3VudCIKK21zZ3N0ciAiemNvdW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInBpZCIKK21zZ3N0ciAiUGlkIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzAgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM0IHN5cy11dGlscy9pcGN1dGlscy5jOjIzOAorIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiJXMgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoYnl0ZXMpID0gIgorbXNnc3RyICIlcyAoQnl0ZXMpID0gIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKGtieXRlcykgPSAiCittc2dzdHIgIiVzIChLQnl0ZXMpID0gIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxODAKK21zZ2lkICJpbnZhbGlkIGlmbGFnIgorbXNnc3RyICJ1bmfDvGx0aWdlIGlNYXJraWVydW5nIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bGRpc2M+IDxkZXZpY2U+XG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIDxsZGlzYz4gPEdlcsOkdD5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTk5Cittc2dpZCAiQXR0YWNoIGEgbGluZSBkaXNjaXBsaW5lIHRvIGEgc2VyaWFsIGxpbmUuXG4iCittc2dzdHIgIkVpbiBTY2huaXR0c3RlbGxlbnByb3Rva29sbCBlaW5lciBzZXJpZWxsZW4gVmVyYmluZHVuZyB6dXdlaXNlbi5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAyCittc2dpZCAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgbWVzc2FnZXMgdG8gc3RkZXJyXG4iCittc2dzdHIgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBhdXNmw7xocmxpY2hlIE1lbGR1bmdlbiBhbiBkaWUgRmVobGVyYXVzZ2FiZSBsZWl0ZW5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAzCittc2dpZCAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIHNldCBzZXJpYWwgbGluZSBzcGVlZFxuIgorbXNnc3RyICIgLXMsIC0tc3BlZWQgPFdlcnQ+ICAgICAgR2VzY2h3aW5kaWdrZWl0IGRlciBzZXJpZWxsZW4gTGVpdHVuZyBzZXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA0Cittc2dpZCAiIC1jLCAtLWludHJvLWNvbW1hbmQgPHN0cmluZz4gaW50cm8gc2VudCBiZWZvcmUgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIgorIiAtYywgLS1pbnRyby1jb21tYW5kIDxaZWljaGVua2V0dGU+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgRWlubGVpdHVuZyBkaWUgdm9yIGxkYXR0YWNoIGdlc2VuZGV0IHdpcmRcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA1Cittc2dpZCAiIC1wLCAtLXBhdXNlIDxzZWNvbmRzPiAgIHBhdXNlIGJldHdlZW4gaW50cm8gYW5kIGxkYXR0YWNoXG4iCittc2dzdHIgIiAtcCwgLS1wYXVzZSA8U2VrdW5kZW4+ICBQYXVzZSB6d2lzY2hlbiBFaW5sZWl0dW5nIHVuZCBsZGF0dGFjaFxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDYKK21zZ2lkICIgLTcsIC0tc2V2ZW5iaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDcgYml0c1xuIgorbXNnc3RyICIgLTcsIC0tc2V2ZW5iaXRzICAgICAgICAgWmVpY2hlbmdyw7bDn2UgYXVmIDcgQml0cyBzZXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA3Cittc2dpZCAiIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA4IGJpdHNcbiIKK21zZ3N0ciAiIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgICBaZWljaGVuZ3LDtsOfZSBhdWYgOCBCaXRzIHNldHplblxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDgKK21zZ2lkICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgc2V0IHBhcml0eSB0byBub25lXG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICBQYXJpdMOkdCBhdWYga2VpbmUgc2V0emVuXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOQorbXNnaWQgIiAtZSwgLS1ldmVucGFyaXR5ICAgICAgICBzZXQgcGFyaXR5IHRvIGV2ZW5cbiIKK21zZ3N0ciAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIFBhcml0w6R0IGF1ZiBnZXJhZGUgc2V0emVuXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMAorbXNnaWQgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICBzZXQgcGFyaXR5IHRvIG9kZFxuIgorbXNnc3RyICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAgUGFyaXTDpHQgYXVmIHVuZ2VyYWRlIHNldHplblxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTEKK21zZ2lkICIgLTEsIC0tb25lc3RvcGJpdCAgICAgICAgc2V0IHN0b3AgYml0cyB0byBvbmVcbiIKK21zZ3N0ciAiIC0xLCAtLW9uZXN0b3BiaXQgICAgICAgIFN0b3AtQml0cyBhdWYgZWluZXMgc2V0emVuXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMgorbXNnaWQgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBzZXQgc3RvcCBiaXRzIHRvIHR3b1xuIgorbXNnc3RyICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAgU3RvcC1CaXRzIGF1ZiB6d2VpIHNldHplblxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTMKK21zZ2lkICIgLWksIC0taWZsYWcgWy1dPGlmbGFnPiAgc2V0IGlucHV0IG1vZGUgZmxhZ1xuIgorbXNnc3RyICIgLWksIC0taWZsYWcgWy1dPGlmbGFnPiAgS2VubnVuZyBmw7xyIEVpbmdhYmVtb2R1cyBzZXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE5Cittc2dpZCAiIgorIlxuIgorIktub3duIDxsZGlzYz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJCZWthbm50ZSA8bGRpc2M+LU5hbWVuOlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMjMKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGlmbGFnPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkJla2FubnRlIDxpTWFya2llcnVuZz4tTmFtZW46XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0MAorbXNnaWQgImludmFsaWQgc3BlZWQgYXJndW1lbnQiCittc2dzdHIgInVuZ8O8bHRpZ2VzIEdlc2Nod2luZGlna2VpdHNhcmd1bWVudCIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQzCittc2dpZCAiaW52YWxpZCBwYXVzZSBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXMgUGF1c2VuLUFyZ3VtZW50IgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNTkKK21zZ2lkICJpbnZhbGlkIG9wdGlvbiIKK21zZ3N0ciAidW5nw7xsdGlnZSBPcHRpb24iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM3MAorbXNnaWQgImludmFsaWQgbGluZSBkaXNjaXBsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJVbmfDvGx0aWdlcyBBcmd1bWVudCBmw7xyIGRpZSBMaW5lLURpc2NpcGxpbmUiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBzZXJpYWwgbGluZSIKK21zZ3N0ciAiJXMgaXN0IGtlaW5lIHNlcmllbGxlIExlaXR1bmciCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5NworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICJUZXJtaW5hbGF0dHJpYnV0ZSBmw7xyICVzIGtvbm50ZW4gbmljaHQgZXJtaXR0ZWx0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWVkICVkIHVuc3VwcG9ydGVkIgorbXNnc3RyICJHZXNjaHdpbmRpZ2tlaXQgJWQgd2lyZCBuaWNodCB1bnRlcnN0w7x0enQiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICJUZXJtaW5hbGF0dHJpYnV0ZSBmw7xyICVzIGtvbm50ZW4gbmljaHQgZmVzdGdlbGVndCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgaW50cm8gY29tbWFuZCB0byAlcyIKK21zZ3N0ciAiRGllIGVpbmxlaXRlbmRlbiBCZWZlaGxlIGvDtm5uZW4gbmljaHQgYW4gJXMgZ2VzZW5kZXQgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NjkKK21zZ2lkICJjYW5ub3Qgc2V0IGxpbmUgZGlzY2lwbGluZSIKK21zZ3N0ciAiRGllIExpbmUtRGlzY2lwbGluIGthbm4gbmljaHQgZ2VzZXR6dCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ3OQorbXNnaWQgImNhbm5vdCBkYWVtb25pemUiCittc2dzdHIgImRhcyBQcm9ncmFtbSBrYW5uIG5pY2h0IHp1bSBIaW50ZXJncnVuZHByb3plc3Mgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY4Cittc2dpZCAiYXV0b2NsZWFyIGZsYWcgc2V0IgorbXNnc3RyICJhdXRvY2xlYXItTWFya2llcnVuZyBpc3QgZ2VzZXR6dCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2OQorbXNnaWQgImRldmljZSBiYWNraW5nIGZpbGUiCittc2dzdHIgIkRhdGVpIGhpbnRlciBkZW0gR2Vyw6R0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwCittc2dpZCAiYmFja2luZyBmaWxlIGlub2RlIG51bWJlciIKK21zZ3N0ciAiSW5vZGUtTnVtbWVyIGRlciBEYXRlaSBoaW50ZXIgZGVtIEdlcsOkdCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MQorbXNnaWQgImJhY2tpbmcgZmlsZSBtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICJEaWUgTWFqb3ItIHVuZCBNaW5vci1HZXLDpHRlbnVtbWVyIGRlciBkYXJ1bnRlcmxpZWdlbmRlbiBEYXRlaSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MgorbXNnaWQgImxvb3AgZGV2aWNlIG5hbWUiCittc2dzdHIgIk5hbWUgZGVzIExvb3AtR2Vyw6R0cyAiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzMKK21zZ2lkICJvZmZzZXQgZnJvbSB0aGUgYmVnaW5uaW5nIgorbXNnc3RyICJQb3NpdGlvbiBhdXNnZWhlbmQgdm9tIEFuZmFuZyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NAorbXNnaWQgInBhcnRzY2FuIGZsYWcgc2V0IgorbXNnc3RyICJEaWUgS2VubnVuZyBmw7xyIHBhcnRpZWxsZSDDnGJlcnByw7xmdW5nIHd1cmRlIGdlc2V0enQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzYKK21zZ2lkICJzaXplIGxpbWl0IG9mIHRoZSBmaWxlIGluIGJ5dGVzIgorbXNnc3RyICJHcmVuemUgZGVyIERhdGVpIGluIEJ5dGVzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3Cittc2dpZCAibG9vcCBkZXZpY2UgbWFqb3I6bWlub3IgbnVtYmVyIgorbXNnc3RyICJMb29wLUdlcsOkdCBtYWpvcjptaW5vci1OdW1tZXIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzgKK21zZ2lkICJhY2Nlc3MgYmFja2luZyBmaWxlIHdpdGggZGlyZWN0LWlvIgorbXNnc3RyICJadWdyaWZmIGF1ZiBkaWUgenVncnVuZGUgbGllZ2VuZGUgRGF0ZWkgbWl0dGVscyBkaXJla3RlciBFL0EiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM1IHN5cy11dGlscy9sb3NldHVwLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb2Zmc2V0ICVqdSIKK21zZ3N0ciAiLCBQb3NpdGlvbiAlanUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM4IHN5cy11dGlscy9sb3NldHVwLmM6MTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgc2l6ZWxpbWl0ICVqdSIKK21zZ3N0ciAiLCBHcsO2w59lbmJlc2NocsOkbmt1bmcgJWp1IgorCisjIFZlcnNjaGzDvHNzZWx1bmdzdHlwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1OAorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVuY3J5cHRpb24gJXMgKHR5cGUgJXUpIgorbXNnc3RyICIsIFZlcnNjaGzDvHNzZWx1bmcgJXMgKFR5cCAldSkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZXRhY2ggZmFpbGVkIgorbXNnc3RyICIlczogVHJlbm5lbiBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozMjkgc3lzLXV0aWxzL2xzY3B1LmM6MTczNSBzeXMtdXRpbHMvcHJsaW1pdC5jOjIyOQorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjE3NiBzeXMtdXRpbHMvd2RjdGwuYzoyMTUgc3lzLXV0aWxzL3pyYW1jdGwuYzo0MDUKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgbGluZSIKK21zZ3N0ciAiQXVzZ2FiZXplaWxlIGtvbm50ZSBuaWNodCBpbml0aWFsaXNpZXJ0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSBbPGxvb3BkZXY+XVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxsb29wZGV2PiA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtPcHRpb25lbl0gWzxMb29wLUdlcsOkdD5dXG4iCisiICUxJHMgW09wdGlvbmVuXSAtZiB8IDxsb29wLUdlcsOkdD4gPERhdGVpPlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM4NgorbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCBsb29wIGRldmljZXMuXG4iCittc2dzdHIgIkxvb3AtR2Vyw6R0ZSBlaW5yaWNodGVuIHVuZCBzdGV1ZXJuLlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM4OQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGFsbGUgYmVudXR6dGVuIEdlcsOkdGUgYXVmbGlzdGVuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkwCittc2dpZCAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4uLi4gICAgIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCittc2dzdHIgIiAtZCwgLS1kZXRhY2ggPExvb3BnZXLDpHQ+IOKApiAgICBlaW4gb2RlciBtZWhyZXJlIEdlcsOkdGUgdHJlbm5lblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MQorbXNnaWQgIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgYWxsZSBiZW51dHp0ZW4gR2Vyw6R0ZSB0cmVubmVuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkyCittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorbXNnc3RyICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZXJzdGVzIHVuYmVudXR6dGVzIEdlcsOkdCBzdWNoZW5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTMKK21zZ2lkICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIC1jLCAtLXNldC1jYXBhY2l0eSA8TG9vcGdlci4+IEdyw7bDn2UgZGVzIEdlcsOkdGVzIMOkbmRlcm5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTQKK21zZ2lkICIgLWosIC0tYXNzb2NpYXRlZCA8ZmlsZT4gICAgICAgbGlzdCBhbGwgZGV2aWNlcyBhc3NvY2lhdGVkIHdpdGggPGZpbGU+XG4iCittc2dzdHIgIiIKKyIgLWosIC0tYXNzb2NpYXRlZCA8RGF0ZWk+ICAgICAgQWxsZSBHZXLDpHRlIGF1Zmxpc3RlbiwgZGllIG1pdCA8RGF0ZWk+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHp1IHR1biBoYWJlblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5NQorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICAgICAgYXZvaWQgcG9zc2libGUgY29uZmxpY3QgYmV0d2VlbiBkZXZpY2VzXG4iCittc2dzdHIgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIGVpbiBmcmVpZXMgR2Vyw6R0IHN1Y2hlblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5OQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBzdGFydCBhdCBvZmZzZXQgPG51bT4gaW50byBmaWxlXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPFphaGw+ICAgICAgICAgIEJlZ2lubiBiZWkgT2Zmc2V0IDxaYWhsPiB2b20gRGF0ZWlhbmZhbmdcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDAKK21zZ2lkICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZGV2aWNlIGlzIGxpbWl0ZWQgdG8gPG51bT4gYnl0ZXMgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiICAgICAtLXNpemVsaW1pdCA8WmFobD4gICAgICAgZGFzIEdlcsOkdCBpc3QgYXVmIDxaYWhsPiBCeXRlcyBkZXIgRGF0ZWkgYmVzY2hyw6Rua3RcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDEKK21zZ2lkICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgY3JlYXRlIGEgcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIHBhcnRpdGlvbmllcnRlcyBMb29wLUdlcsOkdCBlcnN0ZWxsZW5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDIKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0IHVwIGEgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBzY2hyZWliZ2VzY2jDvHR6dGVzIExvb3AtR2Vyw6R0IGVpbnJpY2h0ZW5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDMKK21zZ2lkICIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAgb3BlbiBiYWNraW5nIGZpbGUgd2l0aCBPX0RJUkVDVFxuIgorbXNnc3RyICIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAgZGllIHp1Z3J1bmRlIGxpZWdlbmRlIERhdGVpIG1pdCBPX0RJUkVDVCDDtmZmbmVuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA0Cittc2dpZCAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHByaW50IGRldmljZSBuYW1lIGFmdGVyIHNldHVwICh3aXRoIC1mKVxuIgorbXNnc3RyICIgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICAgR2Vyw6R0ZW5hbWUgbmFjaCBkZXIgRWlucmljaHR1bmcgYXVzZ2ViZW4gKG1pdCAtZilcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICBBdXNmw7xocmxpY2hlciBNb2R1c1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwOQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBsaXN0IGluZm8gYWJvdXQgYWxsIG9yIHNwZWNpZmllZCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIEluZm8genUgYWxsZW4gb2RlciBhbmdlZ2ViZW5lbiBhdWZsaXN0ZW4gKFZvcmdhYmUpXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEwCittc2dpZCAiIC1PLCAtLW91dHB1dCA8Y29scz4gICAgICAgICAgIHNwZWNpZnkgY29sdW1ucyB0byBvdXRwdXQgZm9yIC0tbGlzdFxuIgorbXNnc3RyICIgLU8sIC0tb3V0cHV0IDxTcGFsdGVuPiAgICAgICAgU3BhbHRlbiBmw7xyIGRpZSBBdXNnYWJlIG1pdCAtLWxpc3QgYW5nZWJlblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1saXN0IG91dHB1dFxuIgorbXNnc3RyICIiCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgICAgIGtlaW5lIMOcYmVyc2NocmlmdGVuIGbDvHIgQXVzZ2FiZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pdCAtLWxpc3QgYW56ZWlnZW5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTIKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgdXNlIHJhdyAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgUm9oLUF1c2dhYmVmb3JtYXQgZsO8ciAtLWxpc3QgdmVyd2VuZGVuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEzCittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgIHVzZSBKU09OIC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICBkYXMgSlNPTi1BdXNnYWJlZm9ybWF0IGbDvHIgLS1saXN0IHZlcndlbmRlblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOQorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgLS1saXN0IGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJWZXJmw7xnYmFyZSBTcGFsdGVuIGbDvHIgLS1saXN0OlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBpcyBzbWFsbGVyIHRoYW4gNTEyIGJ5dGVzOyB0aGUgbG9vcCBkZXZpY2UgbWF5IGJlIHVzZWxlc3Mgb3IgaW52aXNpYmxlIGZvciBzeXN0ZW0gdG9vbHMuIgorbXNnc3RyICIlczogV2FybnVuZzogRGF0ZWkgaXN0IGtsZWluZXIgYWxzIDUxMiBCeXRlcywgZGFzIExvb3AtR2Vyw6R0IGvDtm5udGUgdW5iZW51dHpiYXIgb2RlciBmw7xyIFN5c3RlbXdlcmt6ZXVnZSBuaWNodCBzaWNodGJhciBzZWluLiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFdhcm5pbmc6IGZpbGUgZG9lcyBub3QgZml0IGludG8gYSA1MTItYnl0ZSBzZWN0b3I7IHRoZSBlbmQgb2YgdGhlIGZpbGUgd2lsbCBiZSBpZ25vcmVkLiIKK21zZ3N0ciAiJXM6IFdhcm51bmc6IERhdGVpIHBhc3N0IG5pY2h0IGluIGVpbmVuIDUxMiBCeXRlcyBncm/Dn2VuIFNla3RvciwgRW5kZSBkZXIgRGF0ZWkgd2lyZCBpZ25vcmllcnQuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ2NCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUxNiBzeXMtdXRpbHMvbW91bnQuYzo0NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzIGlzdCBrZWluIGxwLUdlcsOkdCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIHJlYWQtb25seSBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGVuY3J5cHRlZCBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmUtdXNlIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczogTG9vcC1HZXLDpHQga29ubnRlIG5pY2h0IGVpbmdlcmljaHRldCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDk0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbnNwZWN0IGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAiJXM6IExvb3AtR2Vyw6R0IGtvbm50ZSBuaWNodCBlaW5nZXJpY2h0ZXQgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjaGVjayBmb3IgY29uZmxpY3RpbmcgbG9vcCBkZXZpY2VzIgorbXNnc3RyICIlczogTG9vcC1HZXLDpHQga29ubnRlIG5pY2h0IGVpbmdlcmljaHRldCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTI5IHN5cy11dGlscy9sb3NldHVwLmM6ODI2Cittc2dpZCAiY2Fubm90IGZpbmQgYW4gdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICJ1bmJlbnV0enRlcyBMb29wLUdlcsOkdCBrb25udGUgbmljaHQgZ2VmdW5kZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBiYWNraW5nIGZpbGUiCittc2dzdHIgIiVzOiBkaWUgZGFydW50ZXJsaWVnZW5kZSBEYXRlaSBrb25udGUgbmljaHQgYmVudXR6dCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjMxIHN5cy11dGlscy9sb3NldHVwLmM6NjQxIHN5cy11dGlscy9sb3NldHVwLmM6NzUzCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBkZXZpY2UiCittc2dzdHIgIiVzOiBCZW51dHp1bmcgZGVzIEdlcsOkdGVzIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NjQKK21zZ2lkICJubyBsb29wIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgImtlaW4gTG9vcC1HZXLDpHQgYW5nZWdlYmVuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3MgorbXNnaWQgIm5vIGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICJrZWluZSBEYXRlaSBhbmdlZ2ViZW4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzc5CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBvcHRpb25zICVzIGFyZSBhbGxvd2VkIGR1cmluZyBsb29wIGRldmljZSBzZXR1cCBvbmx5IgorbXNnc3RyICJkaWUgT3B0aW9uZW4gJXMgc2luZCBudXIgd8OkaHJlbmQgZGVyIEVpbnJpY2h0dW5nIGRlcyBMb29wLUdlcsOkdHMgenVsw6Rzc2lnIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4NAorbXNnaWQgInRoZSBvcHRpb24gLS1vZmZzZXQgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICJkaWUgT3B0aW9uIC0tb2Zmc2V0IGlzdCBpbiBkaWVzZW0gS29udGV4dCBuaWNodCBlcmxhdWJ0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGNhcGFjaXR5IGZhaWxlZCIKK21zZ3N0ciAiJXM6IEZlc3RsZWdlbiBkZXIgS2FwYXppdMOkdCBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgZGlyZWN0IGlvIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGRhcyBTZXR6ZW4gZGlyZWt0ZXIgRS9BIGlzdCAgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjEwOAorbXNnaWQgIm5vbmUiCittc2dzdHIgImtlaW4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjEwOQorbXNnaWQgInBhcmEiCittc2dzdHIgIm5lYmVuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMTAKK21zZ2lkICJmdWxsIgorbXNnc3RyICJ2b2xsIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMTEKK21zZ2lkICJjb250YWluZXIiCittc2dzdHIgIkNvbnRhaW5lciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTczCittc2dpZCAiaG9yaXpvbnRhbCIKK21zZ3N0ciAiaG9yaXpvbnRhbCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0Cittc2dpZCAidmVydGljYWwiCittc2dzdHIgInZlcnRpa2FsIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDYKK21zZ2lkICJsb2dpY2FsIENQVSBudW1iZXIiCittc2dzdHIgImxvZ2lzY2hlIENQVS1OdW1tZXIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0NworbXNnaWQgImxvZ2ljYWwgY29yZSBudW1iZXIiCittc2dzdHIgImxvZ2lzY2hlIEtlcm5udW1tZXIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0OAorbXNnaWQgImxvZ2ljYWwgc29ja2V0IG51bWJlciIKK21zZ3N0ciAibG9naXNjaGUgU29ja2V0bnVtbWVyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDkKK21zZ2lkICJsb2dpY2FsIE5VTUEgbm9kZSBudW1iZXIiCittc2dzdHIgImxvZ2lzY2hlIE5VTUEtS25vdGVubnVtbWVyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTAKK21zZ2lkICJsb2dpY2FsIGJvb2sgbnVtYmVyIgorbXNnc3RyICJOdW1tZXIgZGVzIGxvZ2lzY2hlbiBCdWNocyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUxCisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgZHJhd2VyIG51bWJlciIKK21zZ3N0ciAibG9naXNjaGUgS2Vybm51bW1lciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUyCittc2dpZCAic2hvd3MgaG93IGNhY2hlcyBhcmUgc2hhcmVkIGJldHdlZW4gQ1BVcyIKK21zZ3N0ciAiemVpZ3QsIHdpZSBad2lzY2hlbnNwZWljaGVyIHZvbiBDUFVzIGdlbWVpbnNhbSBnZW51dHp0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUzCittc2dpZCAiQ1BVIGRpc3BhdGNoaW5nIG1vZGUgb24gdmlydHVhbCBoYXJkd2FyZSIKK21zZ3N0ciAiQ1BVLURpc3BhdGNoaW5nLU1vZHVzIGF1ZiB2aXJ0dWVsbGVyIEhhcmR3YXJlIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTQKK21zZ2lkICJwaHlzaWNhbCBhZGRyZXNzIG9mIGEgQ1BVIgorbXNnc3RyICJwaHlzaWthbGlzY2hlIEFkcmVzc2UgZWluZXIgQ1BVIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTUKK21zZ2lkICJzaG93cyBpZiB0aGUgaHlwZXJ2aXNvciBoYXMgYWxsb2NhdGVkIHRoZSBDUFUiCittc2dzdHIgInplaWd0LCBvYiBkZXIgSHlwZXJ2aXNvciBkaWVzZSBDUFUgZ2VyYWRlIG51dHp0IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTYKK21zZ2lkICJzaG93cyBpZiBMaW51eCBjdXJyZW50bHkgbWFrZXMgdXNlIG9mIHRoZSBDUFUiCittc2dzdHIgInplaWd0LCBvYiBMaW51eCBkaWVzZSBDUFUgZ2VyYWRlIG51dHp0IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTcKK21zZ2lkICJzaG93cyB0aGUgbWF4aW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAiemVpZ3QgZGllIG1heGltYWxlIEZyZXF1ZW56IGRlciBDUFUgaW4gTUh6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTgKK21zZ2lkICJzaG93cyB0aGUgbWluaW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAiemVpZ3QgZGllIG1pbmltYWxlIEZyZXF1ZW56IGRlciBDUFUgaW4gTUh6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo1NTAKK21zZ2lkICJlcnJvcjogdW5hbWUgZmFpbGVkIgorbXNnc3RyICJGZWhsZXI6IHVuYW1lIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBudW1iZXIgb2YgQ1BVczogJXMiCittc2dzdHIgIkFuemFobCBkZXIgQ1BVcyBrb25udGUgbmljaHQgZXJtaXR0ZWx0IHdlcmRlbjogJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjg5MQorbXNnaWQgImVycm9yOiBjYW4gbm90IHNldCBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiRmVobGVyOiBTaWduYWxoYW5kbGVyIGthbm4gbmljaHQgZmVzdGdlbGVndCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjg5NgorbXNnaWQgImVycm9yOiBjYW4gbm90IHJlc3RvcmUgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgIkZlaGxlcjogU2lnbmFsaGFuZGxlciBrYW5uIG5pY2h0IHdpZWRlcmhlcmdlc3RlbGx0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIGZyb206ICVzIgorbXNnc3RyICJBdXMgJXMga29ubnRlIG5pY2h0IGdlbGVzZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDEwCittc2dpZCAiRmFpbGVkIHRvIGV4dHJhY3QgdGhlIG5vZGUgbnVtYmVyIgorbXNnc3RyICJOb2RlLU51bW1lciBrYW5uIG5pY2h0IGVudHBhY2t0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTUzNyBzeXMtdXRpbHMvbHNjcHUuYzoxNTQ3Cittc2dpZCAiWSIKK21zZ3N0ciAiWSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTUzNyBzeXMtdXRpbHMvbHNjcHUuYzoxNTQ3Cittc2dpZCAiTiIKK21zZ3N0ciAiTiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTYzMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXJcbiIKKyIjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElEXG4iCisiIyBzdGFydGluZyBmcm9tIHplcm8uXG4iCittc2dzdHIgIiIKKyIjIE5hY2hmb2xnZW5kIGZpbmRlbiBTaWUgZGllIEluZm9ybWF0aW9uZW4gaW0gYXVzd2VydGJhcmVuIEZvcm1hdCxcbiIKKyIjIHdlbGNoZXMgdm9uIGFuZGVyZW4gUHJvZ3JhbW1lbiB3ZWl0ZXJ2ZXJhcmJlaXRldCB3ZXJkZW4ga2Fubi5cbiIKKyIjIEplZGVyIEVpbnRyYWcgaW4gamVkZXIgU3BhbHRlIGhhdCBlaW5lIGVpbmRldXRpZ2UgSUQsIGJlZ2lubmVuZFxuIgorIiMgbWl0IDAuXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3ODEKK21zZ2lkICJBcmNoaXRlY3R1cmU6IgorbXNnc3RyICJBcmNoaXRla3R1cjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3OTUKK21zZ2lkICJDUFUgb3AtbW9kZShzKToiCittc2dzdHIgIkNQVSBPcGVyYXRpb25zbW9kdXM6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzk4IHN5cy11dGlscy9sc2NwdS5jOjE4MDAKK21zZ2lkICJCeXRlIE9yZGVyOiIKK21zZ3N0ciAiQnl0ZS1SZWloZW5mb2xnZToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDIKK21zZ2lkICJDUFUocyk6IgorbXNnc3RyICJDUFUocyk6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA1Cittc2dpZCAiT24tbGluZSBDUFUocykgbWFzazoiCittc2dzdHIgIk1hc2tlIGRlciBPbmxpbmUtQ1BVKHMpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwNgorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICJMaXN0ZSBkZXIgT25saW5lLUNQVShzKToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjUKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbWFzazoiCittc2dzdHIgIk1hc2tlIGRlciBPZmZsaW5lLUNQVShzKToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjYKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIkxpc3RlIGRlciBPZmZsaW5lLUNQVShzKToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjIKK21zZ2lkICJUaHJlYWQocykgcGVyIGNvcmU6IgorbXNnc3RyICJUaHJlYWQocykgcHJvIEtlcm46IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODY0Cittc2dpZCAiQ29yZShzKSBwZXIgc29ja2V0OiIKK21zZ3N0ciAiS2VybihlKSBwcm8gU29ja2V0OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2NworbXNnaWQgIlNvY2tldChzKSBwZXIgYm9vazoiCittc2dzdHIgIlNvY2tlbCBwcm8gQnVjaDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzAKK21zZ2lkICJCb29rKHMpIHBlciBkcmF3ZXI6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzIKK21zZ2lkICJEcmF3ZXIocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzQKK21zZ2lkICJCb29rKHMpOiIKK21zZ3N0ciAiQnVjaC9Cw7xjaGVyOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3NworbXNnaWQgIlNvY2tldChzKToiCittc2dzdHIgIlNvY2tlbDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODEKK21zZ2lkICJOVU1BIG5vZGUocyk6IgorbXNnc3RyICJOVU1BLUtub3RlbjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODMKK21zZ2lkICJWZW5kb3IgSUQ6IgorbXNnc3RyICJBbmJpZXRlcmtlbm51bmc6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg1CisjLCBmdXp6eQorbXNnaWQgIk1hY2hpbmUgdHlwZToiCittc2dzdHIgIlBhcnRpdGlvbnN0eXA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg3Cittc2dpZCAiQ1BVIGZhbWlseToiCittc2dzdHIgIlByb3plc3NvcmZhbWlsaWU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg5Cittc2dpZCAiTW9kZWw6IgorbXNnc3RyICJNb2RlbGw6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODkxCittc2dpZCAiTW9kZWwgbmFtZToiCittc2dzdHIgIk1vZGVsbG5hbWU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODkzCittc2dpZCAiU3RlcHBpbmc6IgorbXNnc3RyICJTdGVwcGluZzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTUKK21zZ2lkICJDUFUgTUh6OiIKK21zZ3N0ciAiQ1BVIE1IejoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTcKKyMsIGZ1enp5Cittc2dpZCAiQ1BVIGR5bmFtaWMgTUh6OiIKK21zZ3N0ciAiTWluaW1hbGUgVGFrdGZyZXF1ZW56IGRlciBDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk5CisjLCBmdXp6eQorbXNnaWQgIkNQVSBzdGF0aWMgTUh6OiIKK21zZ3N0ciAiTWF4aW1hbGUgVGFrdGZyZXF1ZW56IGRlciBDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAxCittc2dpZCAiQ1BVIG1heCBNSHo6IgorbXNnc3RyICJNYXhpbWFsZSBUYWt0ZnJlcXVlbnogZGVyIENQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDMKK21zZ2lkICJDUFUgbWluIE1IejoiCittc2dzdHIgIk1pbmltYWxlIFRha3RmcmVxdWVueiBkZXIgQ1BVOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNQorbXNnaWQgIkJvZ29NSVBTOiIKK21zZ3N0ciAiQm9nb01JUFM6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA4IHN5cy11dGlscy9sc2NwdS5jOjE5MTAKK21zZ2lkICJWaXJ0dWFsaXphdGlvbjoiCittc2dzdHIgIlZpcnR1YWxpc2llcnVuZzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTMKK21zZ2lkICJIeXBlcnZpc29yOiIKK21zZ3N0ciAiSHlwZXJ2aXNvcjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTUKK21zZ2lkICJIeXBlcnZpc29yIHZlbmRvcjoiCittc2dzdHIgIkh5cGVydmlzb3ItQW5iaWV0ZXI6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE2Cittc2dpZCAiVmlydHVhbGl6YXRpb24gdHlwZToiCittc2dzdHIgIlZpcnR1YWxpc2llcnVuZ3N0eXA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE5Cittc2dpZCAiRGlzcGF0Y2hpbmcgbW9kZToiCittc2dzdHIgIkRpc3BhdGNoaW5nLU1vZHVzOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkyNSBzeXMtdXRpbHMvbHNjcHUuYzoxOTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNhY2hlOiIKK21zZ3N0ciAiJXMgQ2FjaGU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTUEgbm9kZSVkIENQVShzKToiCittc2dzdHIgIk5VTUEtS25vdGVuJWQgQ1BVKHMpOiIKKworIyBJIGN1cnJlbnRseSBkb24ndCBrbm93IGEgYmV0dGVyIHRyYW5zbGF0aW9uCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQ2Cittc2dpZCAiRmxhZ3M6IgorbXNnc3RyICJNYXJraWVydW5nZW46IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQ5Cittc2dpZCAiUGh5c2ljYWwgc29ja2V0czoiCittc2dzdHIgIkFuemFobCBkZXIgcGh5c2lzY2hlbiBTb2NrZXRzOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk1MAorbXNnaWQgIlBoeXNpY2FsIGNoaXBzOiIKK21zZ3N0ciAiQW56YWhsIHBoeXNpc2NoZXIgQ2hpcHM6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTUxCittc2dpZCAiUGh5c2ljYWwgY29yZXMvY2hpcDoiCittc2dzdHIgIkFuemFobCBwaHlzaXNjaGVyIEtlcm5lL0NoaXBzOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2MworbXNnaWQgIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIENQVSBhcmNoaXRlY3R1cmUuXG4iCittc2dzdHIgIkluZm9ybWF0aW9uZW4genVyIENQVS1BcmNoaXRla3R1ciBhbnplaWdlbi5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2NgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBwcmludCBib3RoIG9ubGluZSBhbmQgb2ZmbGluZSBDUFVzIChkZWZhdWx0IGZvciAtZSlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHNvd29obCBPbmxpbmUtIGFscyBhdWNoIE9mZmxpbmUtQ1BVcyBhdXNnZWJlbiAoVm9yZ2FiZSBmw7xyIC1lKVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY3Cittc2dpZCAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIHByaW50IG9ubGluZSBDUFVzIG9ubHkgKGRlZmF1bHQgZm9yIC1wKVxuIgorbXNnc3RyICIgLWIsIC0tb25saW5lICAgICAgICAgICAgbnVyIE9ubGluZS1DUFVzIGF1c2dlYmVuIChWb3JnYWJlIGbDvHIgLXApXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjgKK21zZ2lkICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAgcHJpbnQgb2ZmbGluZSBDUFVzIG9ubHlcbiIKK21zZ3N0ciAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIG51ciBPZmZsaW5lLUNQVXMgYXVzZ2ViZW5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2OQorbXNnaWQgIiAtZSwgLS1leHRlbmRlZFs9PGxpc3Q+XSBwcmludCBvdXQgYW4gZXh0ZW5kZWQgcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtZSwgLS1leHRlbmRlZFs9PExpc3RlPl0gZWluIGVyd2VpdGVydGVzIGxlc2JhcmVzIEZvcm1hdCBhdXNnZWJlblxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcwCittc2dpZCAiIC1wLCAtLXBhcnNlWz08bGlzdD5dICAgIHByaW50IG91dCBhIHBhcnNhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLXAsIC0tcGFyc2VbPTxMaXN0ZT5dICAgaW4gYXVzd2VydGJhcmVtIEZvcm1hdCBhdXNnZWJlblxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcxCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHVzZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iCittc2dzdHIgIiAtcywgLS1zeXNyb290IDxWZXJ6PiAgICBhbmdlZ2ViZW5lcyBWZXJ6ZWljaG5pcyBhbHMgU3lzdGVtd3VyemVsIHZlcndlbmRlblxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcyCittc2dpZCAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHByaW50IGhleGFkZWNpbWFsIG1hc2tzIHJhdGhlciB0aGFuIGxpc3RzIG9mIENQVXNcbiIKK21zZ3N0ciAiIC14LCAtLWhleCAgICAgICAgICAgICAgIEhleGFkZXppbWFsbWFza2VuIGFuc3RlbGxlIHZvbiBDUFUtTGlzdGVuIGF1c2dlYmVuXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzMKKyMsIGZ1enp5Cittc2dpZCAiIC15LCAtLXBoeXNpY2FsICAgICAgICAgIHByaW50IHBoeXNpY2FsIGluc3RlYWQgb2YgbG9naWNhbCBJRHNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgIGFsbGUgR2Vyw6R0ZSBhdXNnZWJlblxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvcHRpb25zIC0tYWxsLCAtLW9ubGluZSBhbmQgLS1vZmZsaW5lIG1heSBvbmx5IGJlIHVzZWQgd2l0aCBvcHRpb25zIC0tZXh0ZW5kZWQgb3IgLS1wYXJzZS5cbiIKK21zZ3N0ciAiJXM6IGRpZSBPcHRpb25lbiAtLWFsbCwgLS1vbmxpbmUgdW5kIC0tb2ZmbGluZSBrw7ZubmVuIG51ciB6dXNhbW1lbiBtaXQgZGVuIE9wdGlvbmVuIC0tZXh0ZW5kZWQgb2RlciAtLXBhcnNlIHZlcndlbmRldCB3ZXJkZW4uXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorbXNnaWQgIlJlc291cmNlIGtleSIKK21zZ3N0ciAiUmVzc291cmNlbnNjaGzDvHNzZWwiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorbXNnaWQgIktleSIKK21zZ3N0ciAiU2NobMO8c3NlbCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCittc2dpZCAiUmVzb3VyY2UgSUQiCittc2dzdHIgIlJlc3NvdXJjZW4tSUQiCisKKyMgSSB0aGluayB0aGlzIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZAorIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCittc2dpZCAiSUQiCittc2dzdHIgIklEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKK21zZ2lkICJPd25lcidzIHVzZXJuYW1lIG9yIFVJRCIKK21zZ3N0ciAiQmVudXR6ZXJuYW1lIG9kZXIgVUlEIGRlcyBFaWdlbnTDvG1lcnMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyIgorbXNnc3RyICJCZXNpdHplciIKKworIyBjLWZvcm1hdAorIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUyCittc2dpZCAiUGVybWlzc2lvbnMiCittc2dzdHIgIlJlY2h0ZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUzCittc2dpZCAiQ3JlYXRvciBVSUQiCittc2dzdHIgIlVJRCBkZXMgRXJ6ZXVnZXJzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTQKK21zZ2lkICJDcmVhdG9yIHVzZXIiCittc2dzdHIgImVyemV1Z2VuZGVyIEJlbnV0emVyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTUKK21zZ2lkICJDcmVhdG9yIEdJRCIKK21zZ3N0ciAiR0lEIGRlcyBFcnpldWdlcnMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NgorbXNnaWQgIkNyZWF0b3IgZ3JvdXAiCittc2dzdHIgIkdydXBwZSBkZXMgRXJ6ZXVnZXJzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKK21zZ2lkICJVc2VyIElEIgorbXNnc3RyICJCZW51dHplcmtlbm51bmciCisKKyMgSSB0aGluayB0aGlzIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZAorIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3Cittc2dpZCAiVUlEIgorbXNnc3RyICJVSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OAorbXNnaWQgIlVzZXIgbmFtZSIKK21zZ3N0ciAiQmVudXR6ZXJuYW1lIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTkKK21zZ2lkICJHcm91cCBJRCIKK21zZ3N0ciAiR3J1cHBlbi1JRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR0lEIgorbXNnc3RyICJHSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MAorbXNnaWQgIkdyb3VwIG5hbWUiCittc2dzdHIgIkdydXBwZW5uYW1lIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIKK21zZ3N0ciAiWmVpdHB1bmt0IGRlciBsZXR6dGVuIMOEbmRlcnVuZyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCittc2dpZCAiTGFzdCBjaGFuZ2UiCittc2dzdHIgImxldHp0ZSDDhG5kZXJ1bmciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NAorbXNnaWQgIkJ5dGVzIHVzZWQiCittc2dzdHIgInZlcndlbmRldGUgQnl0ZXMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlcyIKK21zZ3N0ciAiQW56YWhsIGRlciBOYWNocmljaHRlbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1Cittc2dpZCAiTWVzc2FnZXMiCittc2dzdHIgIk5hY2hyaWNodGVuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHNlbnQiCittc2dzdHIgIkRhdHVtIGRlciBsZXR6dGVuIGdlc2VuZGV0ZW4gTmFjaHJpY2h0IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKK21zZ2lkICJNc2cgc2VudCIKK21zZ3N0ciAiTmFjaHJpY2h0IGdlc2VuZGV0IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHJlY2VpdmVkIgorbXNnc3RyICJaZWl0IGRlciBsZXR6dGVuIGdlc2VuZGV0ZW4gTmFjaHJpY2h0IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJNc2cgcmVjZWl2ZWQiCittc2dzdHIgIk5hY2hyaWNodCBlbXBmYW5nZW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgc2VuZGVyIgorbXNnc3RyICJQSUQgZGVzIGxldHp0ZW4gTmFjaHJpY2h0ZW5zZW5kZXJzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjgKK21zZ2lkICJNc2cgc2VuZGVyIgorbXNnc3RyICJOYWNocmljaHRlbnNlbmRlciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyByZWNlaXZlciIKK21zZ3N0ciAiUElEIGRlcyBsZXR6dGVuIE5hY2hyaWNodGVuZW1wZsOkbmdlcnMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIk1zZyByZWNlaXZlciIKK21zZ3N0ciAiTmFjaHJpY2h0ZW5lbXBmw6RuZ2VyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzIKK21zZ2lkICJTZWdtZW50IHNpemUiCittc2dzdHIgIlNlZ21lbnRncsO2w59lIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJOdW1iZXIgb2YgYXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICJBbnphaGwgZGVyIHZlcmJ1bmRlbmVuIFByb3plc3NlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJBdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIlZlcmJ1bmRlbmUgUHJvemVzc2UiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NAorbXNnaWQgIlN0YXR1cyIKK21zZ3N0ciAiU3RhdHVzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzUKK21zZ2lkICJBdHRhY2ggdGltZSIKK21zZ3N0ciAiWmVpdHB1bmt0IGRlcyBWZXJiaW5kZW5zIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzYKK21zZ2lkICJEZXRhY2ggdGltZSIKK21zZ3N0ciAiWmVpdHB1bmt0IGRlciBUcmVubnVuZyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3Cittc2dpZCAiQ3JlYXRvciBjb21tYW5kIGxpbmUiCittc2dzdHIgIkJlZmVobHN6ZWlsZSBkZXMgZXJ6ZXVnZW5kZW4gUHJvemVzc2VzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQiCittc2dzdHIgIkVyemV1Z2VuZGVyIEJlZmVobCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiUElEIG9mIHRoZSBjcmVhdG9yIgorbXNnc3RyICJQSUQgZGVzIGVyemV1Z2VuZGVuIFByb3plc3NlcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiQ3JlYXRvciBQSUQiCittc2dzdHIgIkVyemV1Z2VyLVBJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiUElEIG9mIGxhc3QgdXNlciIKK21zZ3N0ciAiUElEIGRlcyBsZXR6dGVuIEJlbnV0emVycyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiTGFzdCB1c2VyIFBJRCIKK21zZ3N0ciAiUElEIGxldHp0ZXIgQmVudXR6ZXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJBbnphaGwgZGVyIFNlbWFwaG9yZW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIlNlbWFwaG9yZXMiCittc2dzdHIgIlNlbWFwaG9yZW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICJaZWl0cHVua3QgZGVyIGxldHp0ZW4gT3BlcmF0aW9uIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODMKK21zZ2lkICJMYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAiTGV0enRlIE9wZXJhdGlvbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2Cittc2dpZCAiUmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAiUmVzc291cmNlbm5hbWUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NgorbXNnaWQgIlJlc291cmNlIgorbXNnc3RyICJSZXNzb3VyY2UiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworbXNnaWQgIlJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJSZXNzb3VyY2VuYmVzY2hyZWlidW5nIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJEZXNjcmlwdGlvbiIKK21zZ3N0ciAiTWFya2llcnVuZ3NiZXNjaHJlaWJ1bmciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIkN1cnJlbnRseSB1c2VkIgorbXNnc3RyICJEZXJ6ZWl0IHZlcndlbmRldCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiVXNlZCIKK21zZ3N0ciAiVmVyd2VuZGV0IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKK21zZ2lkICJDdXJyZW50bHkgdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIkRlcnplaXRpZ2UgcHJvemVudHVhbGUgTnV0enVuZyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5Cittc2dpZCAiVXNlIgorbXNnc3RyICJOdXR6dW5nIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJTeXN0ZW0td2lkZSBsaW1pdCIKK21zZ3N0ciAiU3lzdGVtd2VpdGUgQmVncmVuenVuZyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiTGltaXQiCittc2dzdHIgIkdyZW56ZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbHVtbiAlcyBkb2VzIG5vdCBhcHBseSB0byB0aGUgc3BlY2lmaWVkIElQQyIKK21zZ3N0ciAiU3BhbHRlICVzIGthbm4gbmljaHQgZsO8ciBkaWUgYW5nZWdlYmVuIElQQyB2ZXJ3ZW5kZXQgd2VkZW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4NworbXNnaWQgIiAtZywgLS1nbG9iYWwgICAgICBpbmZvIGFib3V0IHN5c3RlbS13aWRlIHVzYWdlIChtYXkgYmUgdXNlZCB3aXRoIC1tLCAtcSBhbmQgLXMpXG4iCittc2dzdHIgIiAtZywgLS1nbG9iYWwgICAgICBJbmZvcm1hdGlvbiDDvGJlciBzeXN0ZW13ZWl0ZSBOdXR6dW5nIChrYW5uIG1pdCAtbSwgLXEgdW5kIC1zIHZlcndlbmRldCB3ZXJkZW4pXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OAorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICAgICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIgLWksIC0taWQgPElEPiAgICAgRGV0YWlscyB6dSBSZXNzb3VyY2VuIG1pdCBkZXIgSUQgPElEPiBhdXNnZWJlblxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTQKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgR1LDllNTRSBpbiBCeXRlcyBhdXNnZWJlbiwgc3RhdHQgaW0gbWVuc2NoZW5sZXNiYXJlbiBGb3JtYXRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk1Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgICAgICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiAtYywgLS1jcmVhdG9yICAgICAgICAgICAgRXJ6ZXVnZXIgdW5kIEVpZ2VudMO8bWVyIGFuemVpZ2VuXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NworbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgdXNlIHRoZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICBkYXMgSlNPTi1BdXNnYWJlZm9ybWF0IHZlcndlbmRlblxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgIGZvcmNlIGxpc3Qgb3V0cHV0IGZvcm1hdCAoZm9yIGV4YW1wbGUgd2l0aCAtLWlkKVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgIGltIExpc3RlbmZvcm1hdCBhdXNnZWJlbiAoei5CLiB6dXNhbW1lbiBtaXQgLS1pZClcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAxCittc2dpZCAiIC1QLCAtLW51bWVyaWMtcGVybXMgICAgICBwcmludCBudW1lcmljIHBlcm1pc3Npb25zIChQRVJNUyBjb2x1bW4pXG4iCittc2dzdHIgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgWnVncmlmZnNyZWNodGUgbnVtZXJpc2NoIGF1c2dlYmVuIChTcGFsdGUgUkVDSFRFKVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDMKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIEFuaMOkbmdlLSwgVHJlbm51bmdzLSB1bmQgw4RuZGVydW5nc3plaXRlbiBhbnplaWdlblxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkdlbmVyaWMgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkFsbGdlbWVpbmUgU3BhbHRlbjpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQtbWVtb3J5IGNvbHVtbnMgKC0tc2htZW1zKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNwYWx0ZW4gZ2VtZWluc2FtZW4gU3BlaWNoZXJzICgtLXNobWVtcyk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZS1xdWV1ZSBjb2x1bW5zICgtLXF1ZXVlcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJOYWNocmljaHRlbndhcnRlc2NobGFuZ2VuICgtLXF1ZXVlcyk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIGNvbHVtbnMgKC0tc2VtYXBob3Jlcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJTZW1hcGhvcmVuLVNwYWx0ZW4gKC0tc2VtYXBob3Jlcyk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU3VtbWFyeSBjb2x1bW5zICgtLWdsb2JhbCk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJTdW1tZW5zcGFsdGVuICgtLWdsb2JhbCk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjQxMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRWxlbWVudHM6XG4iCisiXG4iCittc2dzdHIgIiIKKyJFbGVtZW50ZTpcbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA1Cittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZSBpZGVudGlmaWVycyIKK21zZ3N0ciAiQW56YWhsIGVpbmRldXRpZ2VyIFNlbWFwaG9yZW5iZXplaWNobmVyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDYKK21zZ2lkICJUb3RhbCBudW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAiR2VzYW10emFobCBkZXIgU2VtYXBob3JlbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA3Cittc2dpZCAiTWF4IHNlbWFwaG9yZXMgcGVyIHNlbWFwaG9yZSBzZXQuIgorbXNnc3RyICJNYXhpbWFsZSBBbnphaGwgU2VtYXBob3JlbiBwcm8gU2VtYXBob3Jlbi1TYXR6LiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA4Cittc2dpZCAiTWF4IG51bWJlciBvZiBvcGVyYXRpb25zIHBlciBzZW1vcCgyKSIKK21zZ3N0ciAibWF4aW1hbGUgQW56YWhsIGFuIE9wZXJhdGlvbmVuIHBybyBzZW1vcCgyKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA5Cittc2dpZCAiU2VtYXBob3JlIG1heCB2YWx1ZSIKK21zZ3N0ciAibWF4aW1hbGVyIFNlbWFwaG9yZW53ZXJ0IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjMKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgIkFuemFobCBkZXIgTmFjaHJpY2h0ZW53YXJ0ZXNjaGxhbmdlbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODY0Cittc2dpZCAiTWF4IHNpemUgb2YgbWVzc2FnZSAoYnl0ZXMpIgorbXNnc3RyICJtYXhpbWFsZSBHcsO2w59lIGRlciBOYWNocmljaHRlbiAoQnl0ZXMpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjUKK21zZ2lkICJEZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIChieXRlcykiCittc2dzdHIgIlZvcmdhYmUgZsO8ciBtYXhpbWFsZSBHcsO2w59lIGRlciBXYXJ0ZXNjaGxhbmdlIChCeXRlcykiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk3OCBzeXMtdXRpbHMvbHNpcGMuYzo5OTcKK21zZ2lkICJodWdldGxiIgorbXNnc3RyICJodWdldGxiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5Nzkgc3lzLXV0aWxzL2xzaXBjLmM6MTAwNAorbXNnaWQgIm5vcmVzZXJ2ZSIKK21zZ3N0ciAibmljaHQgcmVzZXJ2aWVyZW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjEKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIgorbXNnc3RyICJTZWdtZW50ZSBnZW1laW5zYW1lbiBTcGVpY2hlcnMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjIKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHBhZ2VzIgorbXNnc3RyICJTZWl0ZW4gZ2V0ZWlsdGVuIFNwZWljaGVycyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MworbXNnaWQgIk1heCBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICJNYXhpbWFsZSBHcsO2w59lIGRlcyBnZW1laW5zYW0gZ2VudXR6dGVuIFNwZWljaGVyc2VnbWVudHMgKEJ5dGVzKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2NAorbXNnaWQgIk1pbiBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICJNaW5pbWFsZSBHcsO2w59lIGRlcyBnZW1laW5zYW0gZ2VudXR6dGVuIFNwZWljaGVyc2VnbWVudHMgKEJ5dGVzKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTEzNQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJUEMgaWRlbnRpZmllciIKK21zZ3N0ciAiZGllIElQQy1JRCBrb25udGUgbmljaHQgZWluZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEyMjkKK21zZ2lkICItLWdsb2JhbCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWNyZWF0b3IsIC0taWQgYW5kIC0tdGltZSIKK21zZ3N0ciAiLS1nbG9iYWwga2FubiBuaWNodCB6dXNhbW1lbiBtaXQgLS1jcmVhdG9yLCAtLWlkIG9kZXIgLS10aW1lIHZlcndlbmRldCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODMKK21zZ2lkICJuYW1lc3BhY2UgaWRlbnRpZmllciAoaW5vZGUgbnVtYmVyKSIKK21zZ3N0ciAiTmFtZW5zcmF1bS1LZW5udW5nIChJbm9kZS1OdW1tZXIpIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg0Cittc2dpZCAia2luZCBvZiBuYW1lc3BhY2UiCittc2dzdHIgIkFydCBkZXMgTmFtZW5zcmF1bWVzIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg1Cittc2dpZCAicGF0aCB0byB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJQZmFkIHp1bSBOYW1lbnNyYXVtIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg2Cittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJBbnphaGwgZGVyIFByb3plc3NlIGltIE5hbWVuc3JhdW0iCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODcKK21zZ2lkICJsb3dlc3QgUElEIGluIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgImtsZWluc3RlIFBJRCBpbSBOYW1lbnNyYXVtIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg4Cittc2dpZCAiUFBJRCBvZiB0aGUgUElEIgorbXNnc3RyICJQUElEIGRlciBQSUQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODkKK21zZ2lkICJjb21tYW5kIGxpbmUgb2YgdGhlIFBJRCIKK21zZ3N0ciAiS29tbWFuZG96ZWlsZSBkZXIgUElEIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkwCittc2dpZCAiVUlEIG9mIHRoZSBQSUQiCittc2dzdHIgIlVJRCBkZXIgUElEIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkxCittc2dpZCAidXNlcm5hbWUgb2YgdGhlIFBJRCIKK21zZ3N0ciAiQmVudXR6ZXJuYW1lIGRlciBQSUQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxuYW1lc3BhY2U+XVxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSBbPE5hbWVuc3JhdW0+XVxuIgorCisjICJzdGVsbGVuIgorIzogc3lzLXV0aWxzL2xzbnMuYzo2MTYKK21zZ2lkICJMaXN0IHN5c3RlbSBuYW1lc3BhY2VzLlxuIgorbXNnc3RyICJOYW1lbnNyw6R1bWUgZGVzIFN5c3RlbXMgYXVmbGlzdGVuLlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYyMworbXNnaWQgIiAtcCwgLS10YXNrIDxwaWQ+ICAgICAgIHByaW50IHByb2Nlc3MgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgLXAsIC0tdGFzayA8UElEPiAgICAgICBQcm96ZXNzLU5hbWVuc3LDpHVtZSBhdXNnZWJlblxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYyNgorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZSA8bmFtZT4gICAgICBuYW1lc3BhY2UgdHlwZSAobW50LCBuZXQsIGlwYywgdXNlciwgcGlkLCB1dHMsIGNncm91cClcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGUgPE5hbWU+ICAgICAgVHlwIGRlcyBOYW1lbnNyYXVtZXMgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzKVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjcxNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG5hbWVzcGFjZSB0eXBlOiAlcyIKK21zZ3N0ciAidW5iZWthbm50ZXIgTmFtZW5zcmF1bXR5cDogJXMiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzM1Cittc2dpZCAiLS10YXNrIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxuYW1lc3BhY2U+IgorbXNnc3RyICJPcHRpb24gLS10YXNrIHVuZCA8TmFtZW5zcmF1bT4gc2NobGllw59lbiBzaWNoIGdlZ2Vuc2VpdGlnIGF1cyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MzYKK21zZ2lkICJpbnZhbGlkIG5hbWVzcGFjZSBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXIgTmFtZW5zcmF1bSBhbmdlZ2ViZW4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6Nzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBmb3VuZCBuYW1lc3BhY2U6ICVqdSIKK21zZ3N0ciAibmljaHQgZ2VmdW5kZW5lciBOYW1lbnNyYXVtOiAlanUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY2IHN5cy11dGlscy91bW91bnQuYzoxMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAibnVyIGRlciBTeXN0ZW1hZG1pbmlzdHJhdG9yIGRhcmYgZGllIE9wdGlvbiAtLSVzIHZlcndlbmRlbiAoZWZmZWt0aXZlIFVJRCBpc3QgJXUpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2OSBzeXMtdXRpbHMvdW1vdW50LmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIm51ciBkZXIgU3lzdGVtYWRtaW5pc3RyYXRvciBkYXJmIGRpZXMgdHVuIChlZmZla3RpdmUgVUlEIGlzdCAldSkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjczIHN5cy11dGlscy91bW91bnQuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIgorbXNnc3RyICJudXIg4oCecm9vdOKAnCBrYW5uIGRpZSBPcHRpb24g4oCeLS0lc+KAnCB2ZXJ3ZW5kZW4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0IHN5cy11dGlscy91bW91bnQuYzoxMjUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCittc2dzdHIgIm51ciDigJ5yb2904oCcIGthbm4gZGllcyB0dW4iCisKKyMgIm1rZnMgYXVzIHV0aWwtbGludXgtMi4xMGQiCisjICJta2ZzIHZvbiB1dGlsLWxpbnV4LTIuMTBkIgorIzogc3lzLXV0aWxzL21vdW50LmM6ODUgc3lzLXV0aWxzL3Vtb3VudC5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgKGxpYm1vdW50ICVzIgorbXNnc3RyICIlcyBhdXMgJXMgKGxpYm1vdW50ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMzAKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBtdGFiIgorbXNnc3RyICJtdGFiIGtvbm50ZSBuaWNodCBnZWxlc2VuIHdlcmRlbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkyIHN5cy11dGlscy91bW91bnQuYzoyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGlnbm9yZWRcbiIKK21zZ3N0ciAiJS0yNXM6IGlnbm9yaWVydFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGFscmVhZHkgbW91bnRlZFxuIgorbXNnc3RyICIlLTI1czogYmVyZWl0cyBlaW5nZWjDpG5ndFxuIgorCisjIGMtZm9ybWF0CisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdmVkIHRvICVzLlxuIgorbXNnc3RyICIlczogJXMgd3VyZGUgdmVyc2Nob2JlbiBuYWNoICVzLlxuIgorCisjIGMtZm9ybWF0CisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGJvdW5kIG9uICVzLlxuIgorbXNnc3RyICIlczogJXMgd3VyZGUgYXVmICVzIGVpbmdlaMOkbmd0LlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTQgc3lzLXV0aWxzL21vdW50LmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3VudGVkIG9uICVzLlxuIgorbXNnc3RyICIlczogJXMgaXN0IGF1ZiAlcyBlaW5nZWjDpG5ndC5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBwcm9wYWdhdGlvbiBmbGFncyBjaGFuZ2VkLlxuIgorbXNnc3RyICIlczogZGllIFdlaXRlcmdhYmVtb2RpIHZvbiAlcyB3dXJkZW4gZ2XDpG5kZXJ0LlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm1vdW50OiAlcyBkb2VzIG5vdCBjb250YWluIFNFTGludXggbGFiZWxzLlxuIgorIiAgICAgICBZb3UganVzdCBtb3VudGVkIGFuIGZpbGUgc3lzdGVtIHRoYXQgc3VwcG9ydHMgbGFiZWxzIHdoaWNoIGRvZXMgbm90XG4iCisiICAgICAgIGNvbnRhaW4gbGFiZWxzLCBvbnRvIGFuIFNFTGludXggYm94LiBJdCBpcyBsaWtlbHkgdGhhdCBjb25maW5lZFxuIgorIiAgICAgICBhcHBsaWNhdGlvbnMgd2lsbCBnZW5lcmF0ZSBBVkMgbWVzc2FnZXMgYW5kIG5vdCBiZSBhbGxvd2VkIGFjY2VzcyB0b1xuIgorIiAgICAgICB0aGlzIGZpbGUgc3lzdGVtLiAgRm9yIG1vcmUgZGV0YWlscyBzZWUgcmVzdG9yZWNvbig4KSBhbmQgbW91bnQoOCkuXG4iCittc2dzdHIgIiIKKyJtb3VudDogJXMgZW50aMOkbHQga2VpbmUgU0VMaW51eC1MYWJlbHMuXG4iCisiICAgICAgIFNpZSBoYWJlbiBnZXJhZGUgYXVmIGVpbmVtIFNFTGludXgtUmVjaG5lciBlaW4gRGF0ZWlzeXN0ZW0gZWluZ2Vow6RuZ3QsXG4iCisiICAgICAgIGRhcyBMYWJlbHMgdW50ZXJzdMO8dHp0LCBhYmVyIGtlaW5lIGVudGjDpGx0LiBFcyBpc3Qgd2FocnNjaGVpbmxpY2gsIGRhc3NcbiIKKyIgICAgICAgQW53ZW5kdW5nZW4gbWl0IGVudHNwcmVjaGVuZGVuIEVpbnNjaHLDpG5rdW5nZW4gQVZDLU1lbGR1bmdlbiBlcnpldWdlbiB1bmRcbiIKKyIgICAgICAgZGVuIFp1Z3JpZmYgYXVmIGRpZXNlcyBEYXRlaXN5c3RlbSB2ZXJ3ZWlnZXJuLiBXZWl0ZXJlIERldGFpbHMgaGllcnp1XG4iCisiICAgICAgIGZpbmRlbiBTaWUgaW4gcmVzdG9yZWNvbig4KSB1bmQgbW91bnQoOCkuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3OAorbXNnaWQgIldBUk5JTkc6IGZhaWxlZCB0byBhcHBseSBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiV0FSTlVORzogUHJvcGFnaWVydW5ncy1GbGFncyBrb25udGVuIG5pY2h0IGFuZ2V3ZW5kZXQgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKK21zZ3N0ciAibnVyIOKAnnJvb3TigJwgZGFyZiAlcyBhdWYgJXMgZWluaMOkbmdlbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCIKK21zZ3N0ciAiJXMgaXN0IGJlcmVpdHMgZWluZ2Vow6RuZ3QiCisKKyMgVGhhdCBzb3VuZHMgc29tZWhvdyBkdW1iLgorIzogc3lzLXV0aWxzL21vdW50LmM6NDA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB1c2VkIGFzIHJlYWQgb25seSBsb29wLCBtb3VudGluZyByZWFkLW9ubHkiCittc2dzdHIgIiVzIGlzdCBzY2hyZWliZ2VzY2jDvHR6dCwgd2lyZCBlaW5nZWjDpG5ndCBpbSBOdXItTGVzZS1Nb2R1cyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDE2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMgaW4gJXMiCittc2dzdHIgIiVzIGtvbm50ZSBuaWNodCBpbiAlcyBnZWZ1bmRlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyMworIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50cG9pbnQgJXMgaW4gJXMiCittc2dzdHIgIkVpbmjDpG5nZXB1bmt0ICVzIGluICVzIGtvbm50ZSBuaWNodCBnZWZ1bmRlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50IHNvdXJjZSAlcyBpbiAlcyIKK21zZ3N0ciAiRWluaMOkbmdlcXVlbGxlICVzIGtvbm50ZSBuaWNodCBpbiAlcyBnZWZ1bmRlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXM6IG1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQuIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sXG4iCisiICAgICAgIHVzZSAtdCA8dHlwZT4gdG8gZXhwbGljaXRseSBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUgb3JcbiIKKyIgICAgICAgdXNlIHdpcGVmcyg4KSB0byBjbGVhbiB1cCB0aGUgZGV2aWNlLiIKK21zZ3N0ciAiIgorIiVzOiBXZWl0ZXJlIERhdGVpc3lzdGVtZSBlcmthbm50LiBEaWVzIHNvbGx0ZSBuaWNodCBwYXNzaWVyZW4sXG4iCisiICAgICAgIHZlcndlbmRlbiBTaWUgLXQgPFR5cD4sIHVtIGRlbiBEYXRlaXN5c3RlbXR5cCBleHBsaXppdCBhbnp1Z2ViZW4sXG4iCisiICAgICAgIG9kZXIgd2lwZWZzKDgpLCB1bSBkYXMgR2Vyw6R0IHp1IGxlZXJlbi4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzNgorbXNnaWQgIkkgY291bGQgbm90IGRldGVybWluZSB0aGUgZmlsZXN5c3RlbSB0eXBlLCBhbmQgbm9uZSB3YXMgc3BlY2lmaWVkIgorbXNnc3RyICJEYXRlaXN5c3RlbXR5cCBrb25udGUgbmljaHQgZmVzdGdlc3RlbGx0IHdlcmRlbiwgdW5kIGVzIHd1cmRlIGtlaW5lciBhbmdlZ2ViZW4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzOQorbXNnaWQgInlvdSBtdXN0IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAiU2llIG3DvHNzZW4gZGVuIERhdGVpc3lzdGVtdHlwIGFuZ2ViZW4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kICVzIgorbXNnc3RyICIlcyBrYW5uIG5pY2h0IGdlZnVuZGVuIHdlcmRlbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ3Cittc2dpZCAibW91bnQgc291cmNlIG5vdCBkZWZpbmVkIgorbXNnc3RyICJFaW5ow6RuZ2VxdWVsbGUgaXN0IG5pY2h0IGRlZmluaWVydCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDUxIHN5cy11dGlscy9tb3VudC5jOjQ1MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zIgorbXNnc3RyICJFaW5ow6RuZ2VvcHRpb25lbiBrb25udGVuIG5pY2h0IGVpbmdlbGVzZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IExvb3AtR2Vyw6R0IGtvbm50ZSBuaWNodCBlaW5nZXJpY2h0ZXQgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50IGZhaWxlZCIKK21zZ3N0ciAiJXM6IG1vdW50IGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlc3lzdGVtIG1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCittc2dzdHIgIiVzOiBEYXRlaXN5c3RlbSB3dXJkZSBlaW5nZWjDpG5ndCwgYWJlciBtb3VudCg4KSBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ4OSBzeXMtdXRpbHMvbW91bnQuYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgJXMgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJFaW5ow6RuZ2VwdW5rdCAlcyBpc3Qga2VpbiBWZXJ6ZWljaG5pcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDkzCittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorbXNnc3RyICLigJ5tb3VudOKAnCBkYXJmIG51ciBkZXIgQWRtaW5pc3RyYXRvciB2ZXJ3ZW5kZW4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBidXN5IgorbXNnc3RyICIlcyB3aXJkIGdlcmFkZSBiZW51dHp0IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9yICVzIGJ1c3kiCittc2dzdHIgIiVzIGlzdCBiZXJlaXRzIGVpbmdlaMOkbmd0IG9kZXIgJXMgd2lyZCBnZXJhZGUgYmVudXR6dCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKK21zZ3N0ciAiICAgICAgICVzIGlzdCBiZXJlaXRzIGF1ZiAlcyBlaW5nZWjDpG5ndFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIkVpbmjDpG5nZXB1bmt0ICVzIGlzdCBuaWNodCB2b3JoYW5kZW4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBpcyBhIHN5bWJvbGljIGxpbmsgdG8gbm93aGVyZSIKK21zZ3N0ciAiRWluaMOkbmdlcHVua3QgJXMgaXN0IGVpbmUgc3ltYm9saXNjaGUgVmVya27DvHBmdW5nIGF1ZiBuaXJnZW5kd28iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiU3BlemlhbGdlcsOkdCAlcyBpc3QgbmljaHQgdm9yaGFuZGVuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MzYgc3lzLXV0aWxzL21vdW50LmM6NTM4IHN5cy11dGlscy9tb3VudC5jOjU0MAorIzogc3lzLXV0aWxzL21vdW50LmM6NTU1Cittc2dpZCAibW91bnQoMikgZmFpbGVkIgorbXNnc3RyICJtb3VudCgyKSBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU1MQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpIgorbXNnc3RyICJTcGV6aWFsZ2Vyw6R0ICVzIGlzdCBuaWNodCB2b3JoYW5kZW4gKGVpbiBQZmFkcHLDpGZpeCBpc3Qga2VpbiBWZXJ6ZWljaG5pcykiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICIiCisiJXMgaXN0IG5vY2ggbmljaHQgZWluZ2Vow6RuZ3Qgb2RlciBlcyB3dXJkZW5cbiIKKyJ1bmfDvGx0aWdlIE9wdGlvbmVuIGFuZ2VnZWJlbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudHBvaW50IG9yIGJhZCBvcHRpb24iCittc2dzdHIgIiIKKyIlcyBpc3Qgbm9jaCBuaWNodCBlaW5nZWjDpG5ndCBvZGVyIGVzIHd1cmRlblxuIgorInVuZ8O8bHRpZ2UgT3B0aW9uZW4gYW5nZWdlYmVuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjUKK21zZ2lkICIiCisiYmFkIG9wdGlvbi4gTm90ZSB0aGF0IG1vdmluZyBhIG1vdW50IHJlc2lkaW5nIHVuZGVyIGEgc2hhcmVkXG4iCisiICAgICAgIG1vdW50IGlzIHVuc3VwcG9ydGVkLiIKK21zZ3N0ciAiIgorIlVuZ8O8bHRpZ2UgT3B0aW9uLiBCZWFjaHRlbiBTaWUsIGRhc3MgZGFzIFZlcnNjaGllYmVuIGVpbmVzIEVpbmjDpG5nZXB1bmt0ZXMsXG4iCisiICAgICAgIGRlciB1bnRlcmhhbGIgZWluZXMgZ2V0ZWlsdGVuIEVpbmjDpG5nZXB1bmt0ZXMgbGllZ3QsIG5pY2h0XG4iCisiICAgICAgIHVudGVyc3TDvHR6dCB3aXJkLiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ3cm9uZyBmcyB0eXBlLCBiYWQgb3B0aW9uLCBiYWQgc3VwZXJibG9jayBvbiAlcyxcbiIKKyIgICAgICAgbWlzc2luZyBjb2RlcGFnZSBvciBoZWxwZXIgcHJvZ3JhbSwgb3Igb3RoZXIgZXJyb3IiCittc2dzdHIgIiIKKyJGYWxzY2hlciBEYXRlaXN5c3RlbXR5cCwgdW5nw7xsdGlnZSBPcHRpb25lbiwgZGVyXG4iCisiU3VwZXJibG9jayB2b24gJXMgaXN0IGJlc2Now6RkaWd0LCBmZWhsZW5kZVxuIgorIktvZGllcnVuZ3NzZWl0ZSBvZGVyIGVpbiBhbmRlcmVyIEZlaGxlciIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgICAgKGZvciBzZXZlcmFsIGZpbGVzeXN0ZW1zIChlLmcuIG5mcywgY2lmcykgeW91IG1pZ2h0XG4iCisiICAgICAgIG5lZWQgYSAvc2Jpbi9tb3VudC48dHlwZT4gaGVscGVyIHByb2dyYW0pXG4iCittc2dzdHIgIiIKKyIgICAgICAgKGbDvHIgZWluaWdlIERhdGVpc3lzdGVtZSAoei5CLiBuZnMsIGNpZnMpIHdlcmRlbiBTaWVcbiIKKyIgICAgICAgZXZlbnR1ZWxsIGVpbiAvc2Jpbi9tb3VudC48VHlwPiBIaWxmc3Byb2dyYW1tIGJlbsO2dGlnZW4pXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiICAgICAgIEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gaXMgZm91bmQgaW4gc3lzbG9nIC0gdHJ5XG4iCisiICAgICAgIGRtZXNnIHwgdGFpbCBvciBzby5cbiIKK21zZ3N0ciAiIgorIlxuIgorIiAgICAgICBNYW5jaG1hbCBsaWVmZXJ0IGRhcyBTeXN0ZW1wcm90b2tvbGwgd2VydHZvbGxlIEluZm9ybWF0aW9uZW4g4oCTXG4iCisiICAgICAgIHZlcnN1Y2hlbiBTaWUgIGRtZXNnIHwgdGFpbCAgb2RlciDDpGhubGljaFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1ODMKK21zZ2lkICJtb3VudCB0YWJsZSBmdWxsIgorbXNnc3RyICJFaW5ow6RuZ2V0YWJlbGxlIGlzdCB2b2xsIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IHJlYWQgc3VwZXJibG9jayIKK21zZ3N0ciAiJXM6IFN1cGVyYmxvY2sga29ubnRlIG5pY2h0IGdlbGVzZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKK21zZ3N0ciAidW5iZWthbm50ZXIgRGF0ZWlzeXN0ZW10eXAg4oCeJXPigJwiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU5NAorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJ1bmJla2FubnRlciBEYXRlaXN5c3RlbXR5cCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQoMikgZmFpbHM/IgorbXNnc3RyICIlcyBpc3Qga2VpbiBibG9ja29yaWVudGllcnRlcyBHZXLDpHQgdW5kIHN0YXQoMikgc2NobMOkZ3QgZmVobD8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2VcbiIKKyIgICAgICAgKG1heWJlIGBtb2Rwcm9iZSBkcml2ZXInPykiCittc2dzdHIgIiIKKyJEYXMgS2VybmVsIGVya2VubnQgJXMgbmljaHQgYWxzIGJsb2Nrb3JpZW50aWVydGVzXG4iCisiICAgICAgIEdlcsOkdCAoVmllbGxlaWNodCBoaWxmdCDigJ5tb2Rwcm9iZSBUcmVpYmVy4oCcPykiCisKKyMgInZlcnN1Y2hlbiIKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UgKG1heWJlIHRyeSBgLW8gbG9vcCc/KSIKK21zZ3N0ciAiIgorIiVzIGlzdCBrZWluIGJsb2Nrb3JpZW50aWVydGVzIEdlcsOkdFxuIgorIiAgICAgICAoVmllbGxlaWNodCBwcm9iaWVyZW4gU2llIOKAni1vIGxvb3DigJw/KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzIGlzdCBrZWluIGJsb2Nrb3JpZW50aWVydGVzIEdlcsOkdCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXMgaXN0IGtlaW4gZ8O8bHRpZ2VzIGJsb2Nrb3JpZW50aWVydGVzIEdlcsOkdCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtb3VudCAlcyByZWFkLW9ubHkiCittc2dzdHIgIiVzIGtvbm50ZSBuaWNodCBpbSBOdXItTGVzZS1Nb2R1cyBlaW5nZWjDpG5ndCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IGAtdycgZmxhZyBnaXZlbiIKK21zZ3N0ciAiJXMgaXN0IHNjaHJlaWJnZXNjaMO8dHp0LCBkb2NoIE9wdGlvbiAtdyBpc3QgZXhwbGl6aXQgZ2VnZWJlbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjI4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZW1vdW50ICVzIHJlYWQtd3JpdGUsIGlzIHdyaXRlLXByb3RlY3RlZCIKK21zZ3N0ciAiJXMga29ubnRlIG5pY2h0IGltIE51ci1MZXNlLU1vZHVzIGVpbmdlaMOkbmd0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjMxIHN5cy11dGlscy9tb3VudC5jOjY1NCBzeXMtdXRpbHMvdW5zaGFyZS5jOjE4OAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBvbiAlcyBmYWlsZWQiCittc2dzdHIgIkVpbmjDpG5nZW4gdm9uICVzIGF1ZiAlcyBpc3QgZmVobGdlc2NobGFnZW4iCisKKyMgVGhhdCBzb3VuZHMgc29tZWhvdyBkdW1iLgorIzogc3lzLXV0aWxzL21vdW50LmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHdyaXRlLXByb3RlY3RlZCwgbW91bnRpbmcgcmVhZC1vbmx5IgorbXNnc3RyICIlcyBpc3Qgc2NocmVpYmdlc2Now7x0enQsIHdpcmQgZWluZ2Vow6RuZ3QgaW0gTnVyLUxlc2UtTW9kdXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBtZWRpdW0gZm91bmQgb24gJXMiCittc2dzdHIgImtlaW4gTWVkaXVtIGluICVzIGdlZnVuZGVuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSIKK21zZ3N0ciAiJXM6IEVpbmxlc2VuIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3B0aW9uIGZvcm1hdDogJXMiCittc2dzdHIgIk5pY2h0IHVudGVyc3TDvHR6dGVzIE9wdGlvbnNmb3JtYXQ6ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFwcGVuZCBvcHRpb24gJyVzJyIKK21zZ3N0ciAiT3B0aW9uIOKAniVz4oCcIGtvbm50ZSBuaWNodCBhbmdlaMOkbmd0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWxoVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlXSA8c291cmNlPiB8IFstLXRhcmdldF0gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyA8b3BlcmF0aW9uPiA8bW91bnRwb2ludD4gWzx0YXJnZXQ+XVxuIgorbXNnc3RyICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW09wdGlvbmVuXVxuIgorIiAlMSRzIFtPcHRpb25lbl0gWy0tc291cmNlXSA8UXVlbGxlPiB8IFstLXRhcmdldF0gPFZlcnplaWNobmlzPlxuIgorIiAlMSRzIFtPcHRpb25lbl0gPFF1ZWxsZT4gPFZlcnplaWNobmlzPlxuIgorIiAlMSRzIDxPcGVyYXRpb24+IDxFaW5ow6RuZ2VwdW5rdD4gWzxaaWVsPl1cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzQ0Cittc2dpZCAiTW91bnQgYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJFaW4gRGF0ZWlzeXN0ZW0gZWluaMOkbmdlbi5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW91bnQgYWxsIGZpbGVzeXN0ZW1zIG1lbnRpb25lZCBpbiBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgbW91bnQoMikgc3lzY2FsbFxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBmb3JrIG9mZiBmb3IgZWFjaCBkZXZpY2UgKHVzZSB3aXRoIC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8cGF0aD4gICAgICBhbHRlcm5hdGl2ZSBmaWxlIHRvIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBhbGxlIGluIGZzdGFiIGF1ZmdlZsO8aHJ0ZW4gRGF0ZWlzeXN0ZW1lIGVpbmjDpG5nZW5cbiIKKyIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgUGZhZGUgbmljaHQgdmVyZWluaGVpdGxpY2hlblxuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICBQcm9iZWxhdWY7IGRlbiBtb3VudCgyKS1TeXN0ZW1hdWZydWYgYXVzbGFzc2VuXG4iCisiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIGbDvHIgamVkZXMgR2Vyw6R0IGVpbmVuIEtpbmRwcm96ZXNzIHN0YXJ0ZW4gKHZlcndlbmRlbiBtaXQgLWEpXG4iCisiIC1ULCAtLWZzdGFiIDxQZmFkPiAgICAgIGFsdGVybmF0aXZlIERhdGVpIGbDvHIgL2V0Yy9mc3RhYlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkaWUgdW1vdW50LjxUeXA+LUhpbGZzcHJvZ3JhbW1lIG5pY2h0IGF1ZnJ1ZmVuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NgorIywgYy1mb3JtYXQKK21zZ2lkICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgc2hvdyBhbHNvIGZpbGVzeXN0ZW0gbGFiZWxzXG4iCittc2dzdHIgIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBhdWNoIGRpZSBEYXRlaXN5c3RlbS1LZW5udW5nZW4gYW56ZWlnZW5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU4IHN5cy11dGlscy91bW91bnQuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCittc2dzdHIgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBuaWNodCBpbiAvZXRjL210YWIgc2NocmVpYmVuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc2MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIG1vdW50IG9wdGlvbnNcbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtb25seSAoc2FtZSBhcyAtbyBybylcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb3B0aW9ucyA8TGlzdGU+ICAgZHVyY2ggS29tbWF0YSBnZXRyZW5udGUgTGlzdGUgdm9uIEVpbmjDpG5nb3B0aW9uZW5cbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxMaXN0ZT4gZGllIE1lbmdlIGRlciBEYXRlaXN5c3RlbWUgZWluZ3JlbnplbiAoenVzYW1tZW4gbWl0IC1hIHZlcndlbmRlbilcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgZGFzIERhdGVpc3lzdGVtIHNjaHJlaWJnZXNjaMO8dHp0IGVpbmjDpG5nZW4gKGlkZW50aXNjaCBtaXQgLW8gcm8pXG4iCisiIC10LCAtLXR5cGVzIDxMaXN0ZT4gICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1zb3VyY2UgPHNyYz4gICAgICBleHBsaWNpdGx5IHNwZWNpZmllcyBzb3VyY2UgKHBhdGgsIGxhYmVsLCB1dWlkKVxuIgorIiAgICAgLS10YXJnZXQgPHRhcmdldD4gICBleHBsaWNpdGx5IHNwZWNpZmllcyBtb3VudHBvaW50XG4iCittc2dzdHIgIiIKKyIgICAgIC0tc291cmNlIDxRdWVsbGU+ICAgUXVlbGxlIGV4cGxpeml0IGFuZ2ViZW4gKFBmYWQsIEtlbm51bmcsIHV1aWQpXG4iCisiICAgICAtLXRhcmdldCA8WmllbD4gICAgIEVpbmjDpG5ncHVua3QgZXhwbGl6aXQgYW5nZWJlblxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3Njggc3lzLXV0aWxzL3Vtb3VudC5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBzYXkgd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBlcmtsw6RyZW4sIHdhcyBnZXNjaGllaHRcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgZGFzIERhdGVpc3lzdGVtIGxlc2VuZCB1bmQgc2NocmVpYmVuZCBlaW5ow6RuZ2VuIChWb3JnYWJlKVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNvdXJjZTpcbiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorbXNnc3RyICIiCisiXG4iCisiUXVlbGxlOlxuIgorIiAtTCwgLS1sYWJlbCA8S2VubnVuZz4gICBTeW5vbnltIGbDvHIgTEFCRUw9PEtlbm51bmc+XG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgIFN5bm9ueW0gZsO8ciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08S2VubnVuZz4gICAgICAgICBBbmdhYmUgZGVzIEdlcsOkdGVzIG1pdHRlbHMgRGF0ZWlzeXN0ZW1rZW5udW5nXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIEFuZ2FiZSBkZXMgR2Vyw6R0ZXMgbWl0dGVscyBEYXRlaXN5c3RlbS1VVUlEXG4iCisiIFBBUlRMQUJFTD08S2VubnVuZz4gICAgIEFuZ2FiZSBkZXMgR2Vyw6R0ZXMgbWl0dGVscyBQYXJ0aXRpb25za2VubnVuZ1xuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgICBBbmdhYmUgZGVzIEdlcsOkdGVzIG1pdHRlbHMgUGFydGl0aW9ucy1VVUlEXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGF0aFxuIgorIiA8ZGlyZWN0b3J5PiAgICAgICAgICAgICBtb3VudHBvaW50IGZvciBiaW5kIG1vdW50cyAoc2VlIC0tYmluZC9yYmluZClcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICAgcmVndWxhciBmaWxlIGZvciBsb29wZGV2IHNldHVwXG4iCittc2dzdHIgIiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICAgR2Vyw6R0IG1pdHRlbHMgUGZhZCBhbmdlYmVuXG4iCisiIDxkaXJlY3Rvcnk+ICAgICAgICAgICAgIEVpbmjDpG5ncHVua3QgZsO8ciBCaW5kbW91bnRzIChzaWVoZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3Vsw6RyZSBEYXRlaSBmw7xyIGRhcyBBdWZzZXR6ZW4gdm9uIExvb3BkZXZpY2VzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc5MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3BlcmF0aW9uczpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIHNvbWV3aGVyZSBlbHNlIChzYW1lIGFzIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG1vdmUgYSBzdWJ0cmVlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlXG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcGVyYXRpb25lbjpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgZWluZW4gVW50ZXJ2ZXJ6ZWljaG5pc2JhdW0gYW4gYW5kZXJlciBTdGVsbGUgZWluaMOkbmdlbiAoaWRlbnRpc2NoIG1pdCAtbyBiaW5kKVxuIgorIiAtTSwgLS1tb3ZlICAgICAgICAgICAgICBlaW5lbiBVbnRlcnZlcnplaWNobmlzYmF1bSB2ZXJzY2hpZWJlblxuIgorIiAtUiwgLS1yYmluZCAgICAgICAgICAgICBlaW5lbiBVbnRlcnZlcnplaWNobmlzYmF1bSB1bmQgYWxsZSB0aWVmZXIgbGllZ2VuZGVuIEVpbmjDpG5ndW5nZW4gdmVyc2NoaWViZW5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisiIC0tbWFrZS1zaGFyZWQgICAgICAgICAgIGVpbmVuIFVudGVydmVyemVpY2huaXNiYXVtIGFscyBnZXRlaWx0IG1hcmtpZXJlblxuIgorIiAtLW1ha2Utc2xhdmUgICAgICAgICAgICBlaW5lbiBVbnRlcnZlcnplaWNobmlzYmF1bSBhbHMgU2tsYXZlIG1hcmtpZXJlblxuIgorIiAtLW1ha2UtcHJpdmF0ZSAgICAgICAgICBlaW5lbiBVbnRlcnZlcnplaWNobmlzYmF1bSBhbHMgcHJpdmF0IG1hcmtpZXJlblxuIgorIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICBlaW5lbiBVbnRlcnZlcnplaWNobmlzYmF1bSBhbHMgbmljaHQgZWluYmluZGJhciBtYXJraWVyZW5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6ODAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1yc2xhdmUgICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIGVpbmVuIFVudGVydmVyemVpY2huaXNiYXVtIHJla3Vyc2l2IGFscyBnZXRlaWx0IG1hcmtpZXJlblxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICBlaW5lbiBVbnRlcnZlcnplaWNobmlzYmF1bSByZWt1cnNpdiBhbHMgU2tsYXZlIG1hcmtpZXJlblxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICBlaW5lbiBVbnRlcnZlcnplaWNobmlzYmF1bSByZWt1cnNpdiBhbHMgcHJpdmF0IG1hcmtpZXJlblxuIgorIiAtLW1ha2UtcnVuYmluZGFibGUgICAgICBlaW5lbiBVbnRlcnZlcnplaWNobmlzYmF1bSByZWt1cnNpdiBhbHMgbmljaHQgZWluYmluZGJhciBtYXJraWVyZW5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6ODg3IHN5cy11dGlscy91bW91bnQuYzo1NDgKK21zZ2lkICJsaWJtb3VudCBjb250ZXh0IGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJsaWJtb3VudC1Lb250ZXh0enV3ZWlzdW5nIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6OTQ0IHN5cy11dGlscy91bW91bnQuYzo2MDEKK21zZ2lkICJmYWlsZWQgdG8gc2V0IG9wdGlvbnMgcGF0dGVybiIKK21zZ3N0ciAiT3B0aW9uc211c3RlciBrb25udGUgbmljaHQgZ2VzZXR6dCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEwOTcKK21zZ2lkICJzb3VyY2Ugc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJRdWVsbGUgd3VyZGUgbWVocmZhY2ggYW5nZWdlYmVuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1xZF0gL3BhdGgvdG8vZGlyZWN0b3J5XG4iCisiICUxJHMgLXggL2Rldi9kZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstcWRdIC9QZmFkL3p1bS9WZXJ6ZWljaG5pc1xuIgorIiAlMSRzIC14IC9kZXYvR2Vyw6R0XG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTIyCittc2dpZCAiQ2hlY2sgd2hldGhlciBhIGRpcmVjdG9yeSBvciBmaWxlIGlzIGEgbW91bnRwb2ludC5cbiIKK21zZ3N0ciAiw5xiZXJwcsO8ZmVuLCBvYiBlaW4gVmVyemVpY2huaXMgZWluIEVpbmjDpG5nZXB1bmt0IGlzdC5cbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjUKK21zZ2lkICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICBxdWlldCBtb2RlIC0gZG9uJ3QgcHJpbnQgYW55dGhpbmdcbiIKKyIgLWQsIC0tZnMtZGV2bm8gICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgZmlsZXN5c3RlbVxuIgorIiAteCwgLS1kZXZubyAgICAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBibG9jayBkZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgU3RpbGxlciBNb2R1cyAtIG5pY2h0cyBhdXNnZWJlblxuIgorIiAtZCwgLS1mcy1kZXZubyAgICAgR2Vyw6R0ZW51bW1lciAobWFqOm1pbikgZGVzIERhdGVpc3lzdGVtcyBhdXNnZWJlblxuIgorIiAteCwgLS1kZXZubyAgICAgICAgR2Vyw6R0ZW51bW1lciAobWFqOm1pbikgZGVzIGJsb2Nrb3JpZW50aWVydGVuXG4iCisiICAgICAgICAgICAgICAgICAgICBHZXLDpHRlcyBhdXNnZWJlblxuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjE5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzIGlzdCBrZWluIEVpbmjDpG5nZXB1bmt0XG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyBpc3QgZWluIEVpbmjDpG5nZXB1bmt0XG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzIgc3lzLXV0aWxzL3NldHByaXYuYzo5MyBzeXMtdXRpbHMvdW5zaGFyZS5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1cbiIKK21zZ3N0ciAiICVzIFtPcHRpb25lbl0gPFByb2dyYW1tPiBbQXJndW1lbnQg4oCmXVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjc2Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIG5hbWVzcGFjZXMgb2Ygb3RoZXIgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICJQcm9ncmFtbWUgaW0gTmFtZW5zcmF1bSBhbmRlcmVyIFByb3plc3NlIGF1c2bDvGhyZW4uXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzkKK21zZ2lkICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICB0YXJnZXQgcHJvY2VzcyB0byBnZXQgbmFtZXNwYWNlcyBmcm9tXG4iCittc2dzdHIgIiAtdCwgLS10YXJnZXQgPFBJRD4gICAgIFppZWxwcm96ZXNzLCBhdXMgZGVtIE5hbWVuc3LDpHVtZSBlcm1pdHRlbHQgd2VyZGVuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODAKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICBlbnRlciBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1tLCAtLW1vdW50Wz08RGF0ZWk+XSAgaW4gZGVuIEVpbmjDpG5nZS1OYW1lbnNyYXVtIHdlY2hzZWxuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODEKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICBlbnRlciBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAtdSwgLS11dHNbPTxEYXRlaT5dICAgIGluIGRlbiBVVFMtTmFtZW5zcmF1bSB3ZWNoc2VsbiAoaG9zdG5hbWUgdXN3LilcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MgorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgIGVudGVyIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1pLCAtLWlwY1s9PERhdGVpPl0gICAgaW4gZGVuIFN5c3RlbVYtSVBDLU5hbWVuc3JhdW0gd2VjaHNlbG5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MworbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgIGVudGVyIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbiwgLS1uZXRbPTxEYXRlaT5dICAgIGluIGRlbiBOZXR6d2Vyay1OYW1lbnNyYXVtIHdlY2hzZWxuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODQKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICBlbnRlciBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtcCwgLS1waWRbPTxEYXRlaT5dICAgIGluIGRlbiBQcm96ZXNzLUlELU5hbWVuc3JhdW0gd2VjaHNlbG5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NQorbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gIGVudGVyIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1DLCAtLWNncm91cFs9PERhdGVpPl0gIGluIGRlbiBDZ3JvdXAtTmFtZW5zcmF1bSB3ZWNoc2VsblxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg2Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgZW50ZXIgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1VLCAtLXVzZXJbPTxEYXRlaT5dICAgIGluIGRlbiBCZW51dHplci1OYW1lbnNyYXVtIHdlY2hzZWxuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODcKK21zZ2lkICIgLVMsIC0tc2V0dWlkIDx1aWQ+ICAgICBzZXQgdWlkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtUywgLS1zZXR1aWRbIDxVSUQ+XSBVSUQgaW0gYW5nZWdlYmVuZW4gTmFtZW5zcmF1bSBzZXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OAorbXNnaWQgIiAtRywgLS1zZXRnaWQgPGdpZD4gICAgIHNldCBnaWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1HLCAtLXNldGdpZCA8R0lEPiBHSUQgaW0gYW5nZWdlYmVuZW4gTmFtZW5zcmF1bSBzZXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OQorbXNnaWQgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyBkbyBub3QgdG91Y2ggdWlkcyBvciBnaWRzXG4iCittc2dzdHIgIiIKKyIgICAgIC0tcHJlc2VydmUtY3JlZGVudGlhbHMgQmVudXR6ZXItSURzIG9kZXIgR3J1cHBlbi1JRHNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuaWNodCBhbnRhc3RlblxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkwCittc2dpZCAiIC1yLCAtLXJvb3RbPTxkaXI+XSAgICAgc2V0IHRoZSByb290IGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXIsIC0tcm9vdFs9PFZlcno+XSAgICBkYXMgV3VyemVsdmVyemVpY2huaXMgZmVzdGxlZ2VuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTEKK21zZ2lkICIgLXcsIC0td2RbPTxkaXI+XSAgICAgICBzZXQgdGhlIHdvcmtpbmcgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtdywgLS13ZFs9PFZlcno+XSAgICAgIEFyYmVpdHN2ZXJ6ZWljaG5pcyBmZXN0bGVnZW5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MgorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgIGRvIG5vdCBmb3JrIGJlZm9yZSBleGVjJ2luZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgdm9yIGRlciBBdXNmw7xocnVuZyBkZXMgPFByb2dyYW1tcz4gbmljaHQgZm9ya2VuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTQKK21zZ2lkICIgLVosIC0tZm9sbG93LWNvbnRleHQgICBzZXQgU0VMaW51eCBjb250ZXh0IGFjY29yZGluZyB0byAtLXRhcmdldCBQSURcbiIKK21zZ3N0ciAiIC1aLCAtLWZvbGxvdy1jb250ZXh0ICAgU0VMaW51eC1Lb250ZXh0IG5hY2ggTWHDn2dhYmUgdm9uIC0tdGFyZ2V0IFBJRCBzZXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAibmVpdGhlciBmaWxlbmFtZSBub3IgdGFyZ2V0IHBpZCBzdXBwbGllZCBmb3IgJXMiCittc2dzdHIgIldlZGVyIERhdGVpbmFtZSBub2NoIFppZWwtUElEIHd1cmRlbiBmw7xyICVzIGFuZ2VnZWJlbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoyNzcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdWlkIgorbXNnc3RyICJ1aWQga29ubnRlIG5pY2h0IGVpbmdlbGVzZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjI4MQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBnaWQiCittc2dzdHIgImdpZCBrb25udGUgbmljaHQgZWluZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzE3Cittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tZm9sbG93LWNvbnRleHQiCittc2dzdHIgImtlaW5lIFppZWwtUElEIGbDvHIgLS1mb2xsb3ctY29udGV4dCBhbmdlZ2ViZW4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgJWQgU0VMaW51eCBjb250ZXh0IgorbXNnc3RyICJTRUxpbnV4LUtvbnRleHQgJWQga29ubnRlIG5pY2h0IGVybWl0dGVsdCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzIyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgZXhlYyBjb250ZXh0IHRvICclcyciCittc2dzdHIgIktvbnRleHQgZsO8ciBBdXNmw7xocnVuZyBrb25udGUgbmljaHQgYXVmIOKAniVz4oCcIGdlc2V0enQgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFzc29jaWF0ZSB0byBuYW1lc3BhY2UgJyVzJyBmYWlsZWQiCittc2dzdHIgIk5ldXp1d2Vpc3VuZyB6dSBOYW1lbnNyYXVtIOKAniVz4oCcIGlzdCBmZWhsZ2VzY2hsYWdlbiAiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzkwCittc2dpZCAiY2Fubm90IG9wZW4gY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAiYWt0dWVsbGVzIEFyYmVpdHN2ZXJ6ZWljaG5pcyBrYW5uIG5pY2h0IGdlw7ZmZm5ldCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mzk3Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSByb290IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgIldlY2hzZWwgZGVzIFZlcnplaWNobmlzc2VzIGR1cmNoIGRlbiBEYXRlaWRlc2tyaXB0b3IgZGVzIFd1cnplbHZlcnplaWNobmlzc2VzIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MDAKK21zZ2lkICJjaHJvb3QgZmFpbGVkIgorbXNnc3RyICJjaHJvb3QgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDEwCittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSB3b3JraW5nIGRpcmVjdG9yeSBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICJXZWNoc2VsIGRlcyBWZXJ6ZWljaG5pc3NlcyBkdXJjaCBkZW4gRGF0ZWlkZXNrcmlwdG9yIGRlcyBBcmJlaXRzdmVyemVpY2huaXNzZXMgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQyMSBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxNSBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxOQorbXNnaWQgInNldGdyb3VwcyBmYWlsZWQiCittc2dzdHIgInNldGdyb3VwcyBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIG5ld19yb290IHB1dF9vbGRcbiIKK21zZ3N0ciAiICVzIFtPcHRpb25lbl0gbmV1ZV9XdXJ6ZWwgYWx0ZV9XdXJ6ZWxcbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozNworbXNnaWQgIkNoYW5nZSB0aGUgcm9vdCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJEYXMgUm9vdC1EYXRlaXN5c3RlbSB3ZWNoc2Vsbi5cbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QgZnJvbSBgJXMnIHRvIGAlcyciCittc2dzdHIgIlN5c3RlbXd1cnplbCBrb25udGUgbmljaHQgdm9uIOKAniVz4oCcIGluIOKAniVz4oCcIGdlw6RuZGVydCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzUKK21zZ2lkICJhZGRyZXNzIHNwYWNlIGxpbWl0IgorbXNnc3RyICJBZHJlc3NyYXVtYmVncmVuenVuZyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NgorbXNnaWQgIm1heCBjb3JlIGZpbGUgc2l6ZSIKK21zZ3N0ciAibWF4aW1hbGUgR3LDtsOfZSBlaW5lciBDb3JlLURhdGVpIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAiQ1BVIHRpbWUiCittc2dzdHIgIlByb3plc3NvcnplaXQiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJzZWNvbmRzIgorbXNnc3RyICJTZWt1bmRlbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OAorbXNnaWQgIm1heCBkYXRhIHNpemUiCittc2dzdHIgIm1heGltYWxlIERhdGVuZ3LDtsOfZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OQorbXNnaWQgIm1heCBmaWxlIHNpemUiCittc2dzdHIgIm1heGltYWxlIERhdGVpZ3LDtsOfZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZmlsZSBsb2NrcyBoZWxkIgorbXNnc3RyICJtYXhpbWFsZSBBbnphaGwgYW4gZWluZ2VyaWNodGV0ZW4gRGF0ZWlzcGVycmVuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCittc2dpZCAibG9ja3MiCittc2dzdHIgIlNwZXJyZW4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKK21zZ2lkICJtYXggbG9ja2VkLWluLW1lbW9yeSBhZGRyZXNzIHNwYWNlIgorbXNnc3RyICJtYXhpbWFsZXIgaW0gU3BlaWNoZXIgZ2VzcGVycnRlciBBZHJlc3NyYXVtIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyCittc2dpZCAibWF4IGJ5dGVzIGluIFBPU0lYIG1xdWV1ZXMiCittc2dzdHIgIm1heGltYWxlIEFuemFobCBCeXRlcyBpbiBQT1NJWC1NZWxkdW5nc3dhcnRlc2NobGFuZ2VuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgzCittc2dpZCAibWF4IG5pY2UgcHJpbyBhbGxvd2VkIHRvIHJhaXNlIgorbXNnc3RyICJtYXhpbWFsIHp1bMOkc3NpZ2UgRXJow7ZodW5nIGRlciBOaWNlLVByaW9yaXTDpHQiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKK21zZ2lkICJtYXggbnVtYmVyIG9mIG9wZW4gZmlsZXMiCittc2dzdHIgIm1heGltYWxlIEFuemFobCBhbiBnZcO2ZmZuZXRlbiBEYXRlaWVuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0Cittc2dpZCAiZmlsZXMiCittc2dzdHIgIkRhdGVpZW4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKK21zZ2lkICJtYXggbnVtYmVyIG9mIHByb2Nlc3NlcyIKK21zZ3N0ciAibWF4aW1hbGUgQW56YWhsIGFuIFByb3plc3NlbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorbXNnaWQgInByb2Nlc3NlcyIKK21zZ3N0ciAiUHJvemVzcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NgorbXNnaWQgIm1heCByZXNpZGVudCBzZXQgc2l6ZSIKK21zZ3N0ciAibWF4aW1hbCBkYXVlcmhhZnQgYmVsZWd0ZXIgU3BlaWNoZXIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODcKK21zZ2lkICJtYXggcmVhbC10aW1lIHByaW9yaXR5IgorbXNnc3RyICJtYXhpbWFsZSBFY2h0emVpdHByaW9yaXTDpHQiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJ0aW1lb3V0IGZvciByZWFsLXRpbWUgdGFza3MiCittc2dzdHIgIlplaXTDvGJlcnNjaHJlaXR1bmcgZsO8ciBFY2h0emVpdC1UYXNrcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgIm1pY3Jvc2VjcyIKK21zZ3N0ciAiTWlrcm9zZWt1bmRlbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorbXNnaWQgIm1heCBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzIgorbXNnc3RyICJtYXhpbWFsZSBBbnphaGwgYXVzc3RlaGVuZGVyIFNpZ25hbGUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJzaWduYWxzIgorbXNnc3RyICJTaWduYWxlIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAibWF4IHN0YWNrIHNpemUiCittc2dzdHIgIm1heGltYWxlIFN0YWNrZ3LDtsOfZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjMKK21zZ2lkICJyZXNvdXJjZSBuYW1lIgorbXNnc3RyICJSZXNzb3VyY2VubmFtZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjQKK21zZ2lkICJyZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiUmVzc291cmNlbmJlc2NocmVpYnVuZyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjUKK21zZ2lkICJzb2Z0IGxpbWl0IgorbXNnc3RyICJ3ZWljaGUgR3JlbnplIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNgorbXNnaWQgImhhcmQgbGltaXQgKGNlaWxpbmcpIgorbXNnc3RyICJoYXJ0ZSBHcmVuemUgKE9iZXJncmVuemUpIgorCisjIE1heWJlIHdpdGhvdXQgdGhlIGRvdC4KKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI3Cittc2dpZCAidW5pdHMiCittc2dzdHIgIkVpbmhlaXRlbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXAgUElEXVxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSBbLXAgUElEXVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIENPTU1BTkRcbiIKK21zZ3N0ciAiICVzIFtPcHRpb25lbl0gQkVGRUhMXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY2Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlc291cmNlIGxpbWl0cyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIkJlZ3Jlbnp1bmdlbiBmw7xyIFByb3plc3NyZXNzb3VyY2VuIGVybWl0dGVsbiB1bmQgZmVzdGxlZ2VuLlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmFsIE9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJBbGxnZW1laW5lIE9wdGlvbmVuOlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OQorbXNnaWQgIiIKKyIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBwcm9jZXNzIGlkXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorIiAgICAgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCisiICAgICAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorIiAgICAgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisiIC1wLCAtLXBpZCA8UElEPiAgICAgICAgUHJvemVzcy1JRFxuIgorIiAtbywgLS1vdXRwdXQgPExpc3RlPiAgIGxlZ3QgZGllIHp1IHZlcndlbmRlbmRlbiBBdXNnYWJlc3BhbHRlbiBmZXN0XG4iCisiICAgICAtLW5vaGVhZGluZ3MgICAgICAgZ2lidCBrZWluZSBLb3BmemVpbGVuIGF1c1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHZlcndlbmRldCBkYXMgUm9oZm9ybWF0IGbDvHIgZGllIEF1c2dhYmVcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICBha3RpdmllcnQgZGllIGF1c2bDvGhybGljaGUgQXVzZ2FiZVxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgIHplaWd0IGRpZXNlIEhpbGZlIGFuIHVuZCBiZWVuZGV0IGRhcyBQcm9ncmFtbVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIHplaWd0IFZlcnNpb25zaW5mb3JtYXRpb25lbiBhbiB1bmQgYmVlbmRldFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZGFzIFByb2dyYW1tXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc3Cittc2dpZCAiIgorIlxuIgorIlJlc291cmNlcyBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiUmVzc291cmNlbm9wdGlvbmVuOlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OAorbXNnaWQgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgY29yZSBmaWxlcyBjcmVhdGVkXG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcydzIGRhdGEgc2VnbWVudFxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIG1heGltdW0gbmljZSBwcmlvcml0eSBhbGxvd2VkIHRvIHJhaXNlXG4iCisiIC1mLCAtLWZzaXplICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlIHByb2Nlc3NcbiIKKyIgLWksIC0tc2lncGVuZGluZyAgICAgICBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHNcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICBtYXhpbXVtIHNpemUgYSBwcm9jZXNzIG1heSBsb2NrIGludG8gbWVtb3J5XG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZVxuIgorIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIG9wZW4gZmlsZXNcbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBtYXhpbXVtIGJ5dGVzIGluIFBPU0lYIG1lc3NhZ2UgcXVldWVzXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eVxuIgorIiAtcywgLS1zdGFjayAgICAgICAgICAgIG1heGltdW0gc3RhY2sgc2l6ZVxuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIG1heGltdW0gYW1vdW50IG9mIENQVSB0aW1lIGluIHNlY29uZHNcbiIKKyIgLXUsIC0tbnByb2MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiB1c2VyIHByb2Nlc3Nlc1xuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIHNpemUgb2YgdmlydHVhbCBtZW1vcnlcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBmaWxlIGxvY2tzXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAgQ1BVIHRpbWUgaW4gbWljcm9zZWNvbmRzIGEgcHJvY2VzcyBzY2hlZHVsZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1bmRlciByZWFsLXRpbWUgc2NoZWR1bGluZ1xuIgorbXNnc3RyICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAgbWF4aW1hbGUgR3LDtsOfZSB2b24gU3BlaWNoZXJhdXN6w7xnZW5cbiIKKyIgLWQsIC0tZGF0YSAgICAgICAgICAgICBtYXhpbWFsZSBHcsO2w59lIGRlcyBEYXRlbnNlZ21lbnRlcyBlaW5lcyBQcm96ZXNzZXNcbiIKKyIgLWUsIC0tbmljZSAgICAgICAgICAgICBtYXhpbWFsZSBwZXIgTmljZSBhbmhlYmJhcmUgUHJpb3JpdMOkdFxuIgorIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgIG1heGltYWxlIEdyw7bDn2Ugdm9uIERhdGVpZW4sIGRpZSB2b20gUHJvemVzcyBlcnpldWd0IHdlcmRlblxuIgorIiAtaSwgLS1zaWdwZW5kaW5nICAgICAgIG1heGltYWxlIEFuemFobCBhdXNzdGVoZW5kZXIgU2lnbmFsZVxuIgorIiAtbCwgLS1tZW1sb2NrICAgICAgICAgIG1heGltYWxlIEdyw7bDn2UgZGVzIEJlcmVpY2hzLCBkZW4gZWluIFByb3plc3MgaW0gU3BlaWNoZXIgc3BlcnJlbiBkYXJmXG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZVxuIgorIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgIG1heGltYWxlIEFuemFobCBvZmZlbmVyIERhdGVpZW5cbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBtYXhpbWFsZSBaYWhsIHZvbiBCeXRlcyBpbiBQT1NJWC1OYWNocmljaHRlbndhcnRlc2NobGFuZ2VuXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgbWF4aW1hbGUgRWNodHplaXQtU2NoZWR1bGluZ3ByaW9yaXTDpHRcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICBtYXhpbWFsZSBHcsO2w59lIGRlcyBLZWxsZXJzcGVpY2hlcnNcbiIKKyIgLXQsIC0tY3B1ICAgICAgICAgICAgICBtYXhpbWFsZSBDUFUtWmVpdCBpbiBTZWt1bmRlblxuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIG1heGltYWxlIEFuemFobCBhbiBCZW51dHplcnByb3plc3NlblxuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIEdyw7bDn2UgZGVzIHZpcnR1ZWxsZW4gU3BlaWNoZXJzXG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAgbWF4aW1hbGUgQW56YWhsIGFuIERhdGVpc3BlcnJlblxuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgIENQVS1aZWl0IGluIE1pa3Jvc2VrdW5kZW4gZWluZXMgUHJvemVzc2VzLCBkZXIgZGVtXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgRWNodHplaXQtU2NoZWR1bGluZyB1bnRlcmxpZWd0XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MjQzIHN5cy11dGlscy9wcmxpbWl0LmM6MjQ5IHN5cy11dGlscy9wcmxpbWl0LmM6MzY2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3MQorbXNnaWQgInVubGltaXRlZCIKK21zZ3N0ciAidW5iZWdyZW56dCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBvbGQgJXMgbGltaXQiCittc2dzdHIgImFsdGUgJXMtQmVncmVuenVuZyBrb25udGUgbmljaHQgZXJtaXR0ZWx0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHNvZnQgbGltaXQgJXMgY2Fubm90IGV4Y2VlZCB0aGUgaGFyZCBsaW1pdCIKK21zZ3N0ciAiZGllIHdlaWNoZSBHcmVuemUgJXMgZGFyZiBkaWUgT2JlcmdyZW56ZSBuaWNodCDDvGJlcnN0ZWlnZW4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5ldyAlcyBsaW1pdCBmb3IgcGlkICVkOiAiCittc2dzdHIgIk5ldWUgJXMtR3JlbnplIGbDvHIgUElEICVkOiAiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mzc4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICIlcy1SZXNzb3VyY2VuYmVncmVuenVuZyBrYW5uIG5pY2h0IGdlc2V0enQgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIKK21zZ3N0ciAiJXMtUmVzc291cmNlbmJlZ3Jlbnp1bmcga2FubiBuaWNodCBlcmhhbHRlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBsaW1pdCIKK21zZ3N0ciAiJXMtR3JlbnplIGthbm4gbmljaHQgdmVyYXJiZWl0ZXQgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NQorbXNnaWQgIm9wdGlvbiAtLXBpZCBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAiT3B0aW9uIC0tcGlkIGRhcmYgbnVyIGVpbm1hbCBhbmdlZ2ViZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjYxNgorbXNnaWQgIm9wdGlvbnMgLS1waWQgYW5kIENPTU1BTkQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiT3B0aW9uZW4gLS1waWQgdW5kIEJFRkVITCBzY2hsaWXDn2VuIHNpY2ggZ2VnZW5zZWl0aWcgYXVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDcKK21zZ2lkICJEaXNwbGF5IGtlcm5lbCBwcm9maWxpbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIlByb2ZpbGJpbGR1bmdzLUluZm9ybWF0aW9uZW4gZGVzIEtlcm5lbHMgbGVzZW4uXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICIgLW0sIC0tbWFwZmlsZSA8bWFwZmlsZT4gICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIKK21zZ3N0ciAiIC1tLCAtLW1hcGZpbGUgPG1hcC1EYXRlaT4gKFZvcmdhYmVuOiDigJ4lc+KAnCB1bmRcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIlc1wiKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKAniVz4oCcKVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1wLCAtLXByb2ZpbGUgPHByby1maWxlPiAgKGRlZmF1bHQ6ICBcIiVzXCIpXG4iCittc2dzdHIgIiAtcCwgLS1wcm9maWxlIDxwcm8tRGF0ZWk+IChWb3JnYWJlOiAg4oCeJXPigJwpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNgorbXNnaWQgIiAtTSwgLS1tdWx0aXBsaWVyIDxtdWx0PiAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iCittc2dzdHIgIiAtTSwgLS1tdWx0aXBsaWVyIDxNdWx0Lj4gIFByb2ZpbGJpbGR1bmdzLU11bHRpcGxpa2F0b3IgYXVmIDxNdWx0Lj4gc2V0emVuXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNworbXNnaWQgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIHByaW50IG9ubHkgaW5mbyBhYm91dCB0aGUgc2FtcGxpbmcgc3RlcFxuIgorbXNnc3RyICIiCisiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgZ2lidCBudXIgZGllIHZvbSBLZXJuZWwgdmVyd2VuZGV0ZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvZmlsYmlsZHVuZ3MtU2Nocml0dHdlaXRlIGF1c1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTgKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBwcmludCB2ZXJib3NlIGRhdGFcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgYXVzZsO8aHJsaWNoZSBEYXRlbiBhdXNnZWJlblxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICBwcmludCBhbGwgc3ltYm9scywgZXZlbiBpZiBjb3VudCBpcyAwXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIGFsbGUgU3ltYm9sZSBhdXNnZWJlbiwgYXVjaCB3ZW5uIEFuemFobCAwIGlzdFxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjAKK21zZ2lkICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCittc2dzdHIgIiAtYiwgLS1oaXN0YmluICAgICAgICAgICAgIGluZGl2aWR1ZWxsZSBBbnphaGxlbiBmw7xyIGRpZSBIaXN0b2dyYW1tc2thbGllcnVuZ1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjEKK21zZ2lkICIgLXMsIC0tY291bnRlcnMgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGNvdW50ZXJzIHdpdGhpbiBmdW5jdGlvbnNcbiIKK21zZ3N0ciAiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAgaW5kaXZpZHVlbGxlIFrDpGhsZXIgaW4gRnVua3Rpb25lbiBhdXNnZWJlblxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjIKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIGFsbGUgWsOkaGxlciB6dXLDvGNrc2V0emVuIChudXIgZsO8ciBBZG1pbmlzdHJhdG9yKVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjMKK21zZ2lkICIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIKK21zZ3N0ciAiIgorIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGF1dG9tYXRpc2NoZSBFcmtlbm51bmcgZGVyIEJ5dGVyZWloZW5mb2xnZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVha3RpdmllcmVuXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciB3cml0aW5nICVzIgorbXNnc3RyICJGZWhsZXIgYmVpbSBTY2hyZWliZW4gdm9uICVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyNzEKK21zZ2lkICJBc3N1bWluZyByZXZlcnNlZCBieXRlIG9yZGVyLiBVc2UgLW4gdG8gZm9yY2UgbmF0aXZlIGJ5dGUgb3JkZXIuIgorbXNnc3RyICJVbWdla2VocnRlIEJ5dGVyZWloZW5mb2xnZSB3aXJkIGFuZ2Vub21tZW4uIFZlcndlbmRlbiBTaWUgLW4sIHVtIGRpZSBuYXRpdmUgQnl0ZXJlaWhlbmZvbGdlIHp1IGVyendpbmdlbi4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI4NgorIywgYy1mb3JtYXQKK21zZ2lkICJTYW1wbGluZ19zdGVwOiAldVxuIgorbXNnc3RyICJQcm9iZW5lcmZhc3N1bmdzc2Nocml0dDogJXVcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzAyIHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMyMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyglaSk6IHdyb25nIG1hcCBsaW5lIgorbXNnc3RyICIlcyglaSkgZmFsc2NoZSBLYXJ0ZW56ZWlsZSIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgXCJfc3RleHRcIiBpbiAlcyIKK21zZ3N0ciAi4oCeX3N0ZXh04oCcIGtvbm50ZSBuaWNodCBpbiAlcyBnZWZ1bmRlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjM0NgorbXNnaWQgInByb2ZpbGUgYWRkcmVzcyBvdXQgb2YgcmFuZ2UuIFdyb25nIG1hcCBmaWxlPyIKK21zZ3N0ciAiUHJvZmlsLUFkcmVzc2UgYXXDn2VyaGFsYiBkZXMgQmVyZWljaHMuIEZhbHNjaGUgTWFwLURhdGVpPyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6NDA0Cittc2dpZCAidG90YWwiCittc2dzdHIgImdlc2FtdCIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUyCittc2dpZCAicHJvY2VzcyBJRCIKK21zZ3N0ciAiUHJvemVzc2tlbm51bmciCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MworbXNnaWQgInByb2Nlc3MgZ3JvdXAgSUQiCittc2dzdHIgIlByb3plc3NncnVwcGVua2VubnVuZyIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gWy1wfC0tcGlkXSA8cGlkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLWd8LS1wZ3JwIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLXV8LS11c2VyIDx1c2VyPi4uLlxuIgorbXNnc3RyICIiCisiICUxJHMgWy1uXSA8UHJpb3JpdMOkdD4gWy1wfC0tcGlkXSA8UElEPiDigKZcbiIKKyIgJTEkcyBbLW5dIDxQcmlvcml0w6R0PiAgLWd8LS1wZ3JwIDxQR0lEPiDigKZcbiIKKyIgJTEkcyBbLW5dIDxQcmlvcml0w6R0PiAgLXV8LS11c2VyIDxCZW51dHplcj4g4oCmXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2NworbXNnaWQgIkFsdGVyIHRoZSBwcmlvcml0eSBvZiBydW5uaW5nIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiRGllIFByaW9yaXTDpHQgZWluZXMgbGF1ZmVuZGVuIFByb3plc3NlcyDDpG5kZXJuLlxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzAKK21zZ2lkICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorbXNnc3RyICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBkZW4gQmV0cmFnIGFuZ2ViZW4sIHVtIGRlbiBkZXIgTmljZS1XZXJ0IGVyaMO2aHQgd2lyZFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzEKK21zZ2lkICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBJRCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8SUQ+ICAgICAgICAgZGFzIEFyZ3VtZW50IGFscyBQcm96ZXNzLUlEIGludGVycHJldGllcmVuIChWb3JnYWJlKVxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzIKK21zZ2lkICIgLWcsIC0tcGdycCA8aWQ+ICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBncm91cCBJRFxuIgorbXNnc3RyICIgLXAsIC0tcGdycCA8SUQ+ICAgICAgICBkYXMgQXJndW1lbnQgYWxzIFByb3plc3NncnVwcGVuLUlEIGludGVycHJldGllcmVuXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MworbXNnaWQgIiAtdSwgLS11c2VyIDxuYW1lPnw8aWQ+IGludGVycHJldCBhcmd1bWVudCBhcyB1c2VybmFtZSBvciB1c2VyIElEXG4iCittc2dzdHIgIiIKKyIgLXUsIC0tdXNlciA8TmFtZT58PElEPiBpbnRlcnByZXRpZXJ0IGRhcyBBcmd1bWVudCBhbHMgQmVudXR6ZXJuYW1lXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBvZGVyIEJlbnV0emVyLUlEXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICJQcmlvcml0w6R0IGbDvHIgJWQga29ubnRlIG5pY2h0IGVybWl0dGVsdCB3ZXJkZW4gKCVzKSIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjk5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgIlByaW9yaXTDpHQgZsO8ciAlZCBrb25udGUgbmljaHQgZ2VzZXR6dCB3ZXJkZW4gKCVzKSIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjEwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlZCAoJXMpIG9sZCBwcmlvcml0eSAlZCwgbmV3IHByaW9yaXR5ICVkXG4iCittc2dzdHIgIiVkICglcykgYWx0ZSBQcmlvcml0w6R0ICVkLCBuZXVlIFByaW9yaXTDpHQgJWRcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjE3NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHVzZXIgJXMiCittc2dzdHIgInVuYmVrYW5udGVyIEJlbnV0emVyICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIG9uZSBvZiB0aGUgYWJvdmUKKyMuICogdGhyZWUgSUQgbmFtZXMuIFJlYWQ6ICJiYWQgdmFsdWUgZm9yICVzOiAlcyIKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkICVzIHZhbHVlOiAlcyIKK21zZ3N0ciAiZmFsc2NoZXIgJXMtV2VydDogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6OTgKK21zZ2lkICJFbnRlciBhIHN5c3RlbSBzbGVlcCBzdGF0ZSB1bnRpbCBhIHNwZWNpZmllZCB3YWtldXAgdGltZS5cbiIKK21zZ3N0ciAiQmlzIHp1IGVpbmVyIGFuZ2VnZWJlbmVuIFdlY2t6ZWl0IGluIGVpbmVuIFN5c3RlbS1TY2hsYWZ6dXN0YW5kIGdlaGVuLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMQorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgcmVhZHMgdGhlIGNsb2NrIG1vZGUgZnJvbSBhZGp1c3QgZmlsZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1hLCAtLWF1dG8gICAgICAgICAgICAgICBsaWVzdCBkZW4gVWhyLU1vZHVzIGF1cyBkZXIgYWRqdXN0LURhdGVpIChWb3JnYWJlKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWRqZmlsZSA8RGF0ZWk+ICAgIGdpYnQgZGVuIFBmYWQgenVyIGFkanVzdC1EYXRlaSBhbixcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZSBWb3JnYWJlIGlzdCAlc1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNQorbXNnaWQgIiAgICAgLS1kYXRlIDx0aW1lc3RhbXA+ICAgZGF0ZSB0aW1lIG9mIHRpbWVzdGFtcCB0byB3YWtlXG4iCittc2dzdHIgIiAgICAgLS1kYXRlIDxaZWl0c3RlbXBlbD4gRGF0dW0gZGVyIEF1ZndhY2h6ZWl0XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA2Cittc2dpZCAiIC1kLCAtLWRldmljZSA8ZGV2aWNlPiAgICBzZWxlY3QgcnRjIGRldmljZSAocnRjMHxydGMxfC4uLilcbiIKK21zZ3N0ciAiIC1kLCAtLWRldmljZSA8R2Vyw6R0PiAgICAgd8OkaGx0IGRhcyBSVEMtR2Vyw6R0IChydGMwfHJ0YzF8Li4uKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNworbXNnaWQgIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgZG9lcyBldmVyeXRoaW5nLCBidXQgc3VzcGVuZFxuIgorbXNnc3RyICIiCisiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBmw7xocnQgYWxsZXMgYXVzIGJpcyBhdWYgZGVuIGVpZ2VudGxpY2hlblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWNoc2VsIGluIGRlbiBFbmVyZ2llc3Bhcm1vZHVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA4Cittc2dpZCAiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICBSVEMgdXNlcyBsb2NhbCB0aW1lem9uZVxuIgorbXNnc3RyICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB2ZXJ3ZW5kZXQgbG9rYWxlIFplaXR6b25lXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA5Cittc2dpZCAiICAgICAtLWxpc3QtbW9kZXMgICAgICAgICBsaXN0IGF2YWlsYWJsZSBtb2Rlc1xuIgorbXNnc3RyICIgICAgIC0tbGlzdC1tb2RlcyAgICAgICAgIHZlcmbDvGdiYXJlIE1vZGkgYXVmbGlzdGVuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEwCittc2dpZCAiIC1tLCAtLW1vZGUgPG1vZGU+ICAgICAgICBzdGFuZGJ5fG1lbXwuLi4gc2xlZXAgbW9kZVxuIgorbXNnc3RyICIgLW0sIC0tbW9kZSA8bW9kZT4gICAgICAgIHN0YW5kYnlbbWVtXeKApiBTY2hsYWZ6dXN0YW5kXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTExCittc2dpZCAiIC1zLCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iCittc2dzdHIgIiAtbSwgLS1tb2RlIDxtb2RlPiAgICAgICAgenUgc2NobGFmZW5kZSBTZWt1bmRlblxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMgorbXNnaWQgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCittc2dzdHIgIiAtdCwgLS10aW1lIDxaZWl0X3Q+ICAgICAgQXVmd2FjaHplaXRcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTMKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2VzIFVUQ1xuIgorbXNnc3RyICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB2ZXJ3ZW5kZXQgVVRDXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgYXVzZsO8aHJsaWNoZSBNZWxkdW5nZW5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNjcKK21zZ2lkICJyZWFkIHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiTGVzZW4gZGVyIFJUQy1aZWl0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE3MworbXNnaWQgInJlYWQgc3lzdGVtIHRpbWUgZmFpbGVkIgorbXNnc3RyICJMZXNlbiBkZXIgU3lzdGVtemVpdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxODkKK21zZ2lkICJjb252ZXJ0IHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiS29udmVydGllcmVuIGRlciBSVEMtWmVpdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyMzcKK21zZ2lkICJzZXQgcnRjIHdha2UgYWxhcm0gZmFpbGVkIgorbXNnc3RyICJGZXN0bGVnZW4gZGVzIFJUQy1XZWNrYWxhcm1zIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHRoaXJkIGxpbmUgaW46ICVzOiAlcyIKK21zZ3N0ciAiVW5lcndhcnRldGUgZHJpdHRlIFplaWxlIGluOiAlc+KAnDogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzIwIHN5cy11dGlscy9ydGN3YWtlLmM6NjI0Cittc2dpZCAicmVhZCBydGMgYWxhcm0gZmFpbGVkIgorbXNnc3RyICJMZXNlbiBkZXMgUlRDLUFsYXJtcyBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9mZlxuIgorbXNnc3RyICJBbGFybTogYXVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzM4Cittc2dpZCAiY29udmVydCB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiWmVpdGtvbnZlcnRpZXJ1bmcgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvbiAgJXMiCittc2dzdHIgIkFsYXJtOiBlaW4gJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mzg3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkOiAlcyIKK21zZ3N0ciAia29ubnRlIG5pY2h0IGdlbGVzZW4gd2VyZGVuOiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHN1c3BlbmQgc3RhdGUgJyVzJyIKK21zZ3N0ciAidW5iZWthbm50ZXIgUnVoZXp1c3RhbmQg4oCeJXPigJwiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDc1Cittc2dpZCAiaW52YWxpZCBzZWNvbmRzIGFyZ3VtZW50IgorbXNnc3RyICJ1bmfDvGx0aWdlcyBTZWt1bmRlbmFyZ3VtZW50IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ3OQorbXNnaWQgImludmFsaWQgdGltZSBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXMgWmVpdGFyZ3VtZW50IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYXNzdW1pbmcgUlRDIHVzZXMgVVRDIC4uLlxuIgorbXNnc3RyICIlczogUlRDIHdpcmQgYWxzIFVUQyBpbnRlcnByZXRpZXJ0IOKAplxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxMQorbXNnaWQgIlVzaW5nIFVUQyB0aW1lLlxuIgorbXNnc3RyICJVVEMgd2lyZCB2ZXJ3ZW5kZXQuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTEyCittc2dpZCAiVXNpbmcgbG9jYWwgdGltZS5cbiIKK21zZ3N0ciAiTG9rYWxlIFplaXQgd2lyZCB2ZXJ3ZW5kZXQuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTE1Cittc2dpZCAibXVzdCBwcm92aWRlIHdha2UgdGltZSAoc2VlIC0tc2Vjb25kcywgLS10aW1lIGFuZCAtLWRhdGUgb3B0aW9ucykiCittc2dzdHIgIkF1ZndhY2h6ZWl0IG11c3MgYW5nZWdlYmVuIHdlcmRlbiAoc2llaGUgZGllIE9wdGlvbmVuIC0tc2Vjb25kcywgLS10aW1lIHVuZCAtLWRhdGUpIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgZW5hYmxlZCBmb3Igd2FrZXVwIGV2ZW50cyIKK21zZ3N0ciAiJXMgbmljaHQgZsO8ciBXZWNrZXJlaWduaXNzZSBnZWVpZ25ldCIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm0gJWxkLCBzeXNfdGltZSAlbGQsIHJ0Y190aW1lICVsZCwgc2Vjb25kcyAldVxuIgorbXNnc3RyICJBbGFybSAlbGQsIHN5c190aW1lICVsZCwgcnRjX3RpbWUgJWxkLCBTZWt1bmRlbiAldVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzNQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGRvZXNuJ3QgZ28gYmFja3dhcmQgdG8gJXMiCittc2dzdHIgIlplaXQgZ2VodCBuaWNodCByw7xja3fDpHJ0cyB6dSAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiJXM6IEF1ZndhY2hlbiBkdXJjaCAlcyBiZWkgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgZnJvbSBcIiVzXCIgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIiVzOiBhdWZ3YWNoZW4gdm9uIOKAniVz4oCcIGR1cmNoICVzIGJlaSAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBubzsgbGVhdmluZ1xuIgorbXNnc3RyICJTdXNwZW5kLU1vZHVzOiBuZWluOyB3aXJkIHZlcmxhc3NlblxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9mZjsgZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIlN1c3BlbmQtTW9kdXM6IGF1czsgJXMgd2lyZCBhdXNnZWbDvGhydFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9uOyByZWFkaW5nIHJ0Y1xuIgorbXNnc3RyICJTdXNwZW5kLU1vZHVzOiBlaW47IFJUQyB3aXJkIGdlbGVzZW5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1OTIKK21zZ2lkICJydGMgcmVhZCBmYWlsZWQiCittc2dzdHIgIkxlc2VuIGRlciBSVEMtWmVpdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBkaXNhYmxlOyBkaXNhYmxpbmcgYWxhcm1cbiIKK21zZ3N0ciAiU3VzcGVuZC1Nb2R1czogZGVha3RpdmllcmVuOyBBbGFybSB3aXJkIGRlYWt0aXZpZXJ0XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjA4CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogc2hvdzsgcHJpbnRpbmcgYWxhcm0gaW5mb1xuIgorbXNnc3RyICJTdXNwZW5kLU1vZHVzOiBhbnplaWdlbjsgQWxhcm1pbmZvIHdpcmQgYXVzZ2VnZWJlblxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYxNQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6ICVzOyBzdXNwZW5kaW5nIHN5c3RlbVxuIgorbXNnc3RyICJTdXNwZW5kLU1vZHVzOiAlczsgU3lzdGVtIHdpcmQgaW4gUnVoZXp1c3RhbmQgdmVyc2V0enRcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjkKK21zZ2lkICJkaXNhYmxlIHJ0YyBhbGFybSBpbnRlcnJ1cHQgZmFpbGVkIgorbXNnc3RyICJEZWFrdGl2aWVyZW4gZGVzIFJUQy1XZWNrYWxhcm1zIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlN3aXRjaGluZyBvbiAlcy5cbiIKK21zZ3N0ciAiQXVmICVzIHdpcmQgZ2VzY2hhbHRldC5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGFyY2g+IFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIDxBcmNoaXRla3R1cj4gW09wdGlvbmVuXSA8UHJvZ3JhbW0+IFs8QXJndW1lbnQ+IOKApl1cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSA8UHJvZ3JhbW0+IFs8QXJndW1lbnQ+IOKApl1cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5NgorbXNnaWQgIkNoYW5nZSB0aGUgcmVwb3J0ZWQgYXJjaGl0ZWN0dXJlIGFuZCBzZXQgcGVyc29uYWxpdHkgZmxhZ3MuXG4iCittc2dzdHIgIkRpZSB2b20gU3lzdGVtIGdlbWVsZGV0ZSBBcmNoaXRla3R1ciDDpG5kZXJuIHVuZCBuZXVlIFBlcnNvbmFsaXNpZXJ1bmdzLVNjaGFsdGVyIHNldHplbi5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5OQorbXNnaWQgIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgdHVybnMgb24gQUREUl9MSU1JVF8zMkJJVFxuIgorbXNnc3RyICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIEFERFJfTElNSVRfMzJCSVQgZWluc2NoYWx0ZW5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDAKK21zZ2lkICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIG1ha2VzIGZ1bmN0aW9uIHBvaW50ZXJzIHBvaW50IHRvIGRlc2NyaXB0b3JzXG4iCittc2dzdHIgIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAgRnVua3Rpb25zemVpZ2VyIGF1ZiBEZXNrcmlwdG9yZW4gd2Vpc2VuIGxhc3NlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMQorbXNnaWQgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgdHVybnMgb24gU0hPUlRfSU5PREVcbiIKK21zZ3N0ciAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICBTSE9SVF9JTk9ERSBlaW5zY2hhbHRlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMgorbXNnaWQgIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQgY2hhbmdlcyB0aGUgd2F5IHZpcnR1YWwgbWVtb3J5IGlzIGFsbG9jYXRlZFxuIgorbXNnc3RyICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IEFydCBkZXIgWnV3ZWlzdW5nIHZpcnR1ZWxsZW4gU3BlaWNoZXJzIMOkbmRlcm5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDMKK21zZ2lkICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIGRpc2FibGVzIHJhbmRvbWl6YXRpb24gb2YgdGhlIHZpcnR1YWwgYWRkcmVzcyBzcGFjZVxuIgorbXNnc3RyICIiCisiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBadWZhbGxzYXVzd2FobCBkZXIgQWRyZXNzZSBhdXMgZGVtIHZpcnR1ZWxsZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRyZXNzcmF1bSBkZWFrdGl2aWVyZW5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDQKK21zZ2lkICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHR1cm5zIG9uIFdIT0xFX1NFQ09ORFNcbiIKK21zZ3N0ciAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICBXSE9MRV9TRUNPTkRTIGVpbnNjaGFsdGVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA1Cittc2dpZCAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0dXJucyBvbiBTVElDS1lfVElNRU9VVFNcbiIKK21zZ3N0ciAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICBTVElDS1lfVElNRU9VVFMgZWluc2NoYWx0ZW5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDYKK21zZ2lkICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCittc2dzdHIgIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgUkVBRF9JTVBMSUVTX0VYRUMgZWluc2NoYWx0ZW5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDcKK21zZ2lkICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHR1cm5zIG9uIE1NQVBfUEFHRV9aRVJPXG4iCittc2dzdHIgIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgTU1BUF9QQUdFX1pFUk8gZWluc2NoYWx0ZW5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDgKK21zZ2lkICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCittc2dzdHIgIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgYmVncmVuenQgZGVuIHZlcndlbmRldGVuIEFkcmVzc3JhdW0gYXVmIG1heGltYWwgMyBHQlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOQorbXNnaWQgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKK21zZ3N0ciAiICAgICAtLTRnYiAgICAgICAgICAgICAgICBpZ25vcmllcnQgKG51ciBmw7xyIEFid8OkcnRza29tcGF0aWJpbGnDpHQpXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTEwCittc2dpZCAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICB0dXJucyBvbiBVTkFNRTI2XG4iCittc2dzdHIgIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgVU5BTUUyNiBlaW5zY2hhbHRlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgc2F5IHdoYXQgb3B0aW9ucyBhcmUgYmVpbmcgc3dpdGNoZWQgb25cbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB6dSBha3RpdmllcmVuZGUgT3B0aW9uZW4gYW56ZWlnZW5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTQKK21zZ2lkICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3Qgc2V0dGFibGUgYXJjaGl0ZWN0dXJlcywgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAtLWxpc3QgICAgICAgICAgICAgICBtw7ZnbGljaGUgQXJjaGl0ZWt0dXJlbiBhdWZsaXN0ZW4gdW5kIGJlZW5kZW5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzXG4iCisiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKK21zZ3N0ciAiIgorIiVzXG4iCisiUHJvYmllcmVuIFNpZSDigJ4lcyAtLWhlbHDigJwgZsO8ciB3ZWl0ZXJlIEluZm9ybWF0aW9uZW4uIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorbXNnc3RyICJQcm9iaWVyZW4gU2llIOKAniVzIC0taGVscOKAnCBmw7xyIHdlaXRlcmUgSW5mb3JtYXRpb25lbi4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBVbnJlY29nbml6ZWQgYXJjaGl0ZWN0dXJlIgorbXNnc3RyICIlczogbmljaHQgZXJrYW5udGUgQXJjaGl0ZWt0dXIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIktlcm5lbCBjYW5ub3Qgc2V0IGFyY2hpdGVjdHVyZSB0byAlcyIKK21zZ3N0ciAiS2VybmVsIGthbm4gZGllIEFyY2hpdGVrdHVyIG5pY2h0IGF1ZiAlcyBzZXR6ZW4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzA1Cittc2dpZCAiTm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIk5pY2h0IGdlbnVnIEFyZ3VtZW50ZSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAiUGVyc8O2bmxpY2hrZWl0IGtvbm50ZSBuaWNodCBhdWYgJXMgZ2VzZXR6dCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc5Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnLS1saXN0JyIKK21zZ3N0ciAidW5iZWthbm50ZSBPcHRpb24g4oCeLS1saXN04oCcIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM4NworbXNnaWQgIm5vIGFyY2hpdGVjdHVyZSBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgImtlaW4gQXJjaGl0ZWt0dXItQXJndW1lbnQgZmVzdGdlbGVndCIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAiUGVyc8O2bmxpY2hrZWl0IGtvbm50ZSBuaWNodCBhdWYgJXMgZ2VzZXR6dCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGUgY29tbWFuZCBgJXMnLlxuIgorbXNnc3RyICJEZXIgQmVmZWhsIOKAniVz4oCdIHdpcmQgYXVzZ2Vmw7xocnQuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggZGlmZmVyZW50IHByaXZpbGVnZSBzZXR0aW5ncy5cbiIKK21zZ3N0ciAiRWluIFByb2dyYW1tIG1pdCBhbmRlcmVuIFp1Z3JpZmZzcmVjaHRlbiBhdXNmw7xocmVuLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMAorbXNnaWQgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgc2hvdyBjdXJyZW50IHN0YXRlIChhbmQgZG8gbm90IGV4ZWMgYW55dGhpbmcpXG4iCittc2dzdHIgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgYWt0dWVsbGVuIFN0YXR1cyBhbnplaWdlbiAodW5kIG5pY2h0cyBhdXNmw7xocmVuKVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMQorbXNnaWQgIiAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAgZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXNcbiIKK21zZ3N0ciAiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICBadXdlaXN1bmcgbmV1ZXIgUHJpdmlsZWdpZW4gbmljaHQgZXJsYXViZW5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDIKK21zZ2lkICIgLS1pbmgtY2FwcyA8Y2FwcywuLi4+ICAgIHNldCBpbmhlcml0YWJsZSBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIC0taW5oLWNhcHMgPEbDpGhpZ2suIOKApj4gICB2ZXJlcmJiYXJlIEbDpGhpZ2tlaXRlbiBmZXN0bGVnZW5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDMKK21zZ2lkICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgIHNldCBjYXBhYmlsaXR5IGJvdW5kaW5nIHNldFxuIgorbXNnc3RyICIgLS1ib3VuZGluZy1zZXQgPENhcD4gICAgRGllIEVpbnNjaHLDpG5rdW5nZW4gZGVyIEVpZ2Vuc2NoYWZ0XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA0Cittc2dpZCAiIC0tcnVpZCA8dWlkPiAgICAgICAgICAgICBzZXQgcmVhbCB1aWRcbiIKK21zZ3N0ciAiIC0tcnVpZCA8VUlEPiAgICAgICAgICAgICByZWFsZSBVSUQgc2V0emVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA1Cittc2dpZCAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIgLS1ldWlkIDxVSUQ+ICAgICAgICAgICAgIGVmZmVrdGl2ZSBVSUQgc2V0emVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA2Cittc2dpZCAiIC0tcmdpZCA8Z2lkPiAgICAgICAgICAgICBzZXQgcmVhbCBnaWRcbiIKK21zZ3N0ciAiIC0tcmdpZCA8R0lEPiAgICAgICAgICAgICByZWFsZSBHSUQgc2V0emVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA3Cittc2dpZCAiIC0tZWdpZCA8Z2lkPiAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIgLS1lZ2lkIDxHSUQ+ICAgICAgICAgICAgIGVmZmVrdGl2ZSBHSUQgc2V0emVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA4Cittc2dpZCAiIC0tcmV1aWQgPHVpZD4gICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIgLS1yZXVpZCA8VUlEPiAgICAgICAgICAgIHJlYWxlIHVuZCBlZmZla3RpdmUgVUlEIHNldHplblxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwOQorbXNnaWQgIiAtLXJlZ2lkIDxnaWQ+ICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiIC0tcmVnaWQgPEdJRD4gICAgICAgICAgICByZWFsZSB1bmQgZWZmZWt0aXZlIEdJRCBzZXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTAKK21zZ2lkICIgLS1jbGVhci1ncm91cHMgICAgICAgICAgIGNsZWFyIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgenVzw6R0emxpY2hlIEdydXBwZW4gbMO2c2NoZW5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTEKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICB6dXPDpHR6bGljaGUgR3J1cHBlbiBiZWhhbHRlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMgorbXNnaWQgIiAtLWdyb3VwcyA8Z3JvdXAsLi4uPiAgICAgc2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiAtLWdyb3VwcyA8R3J1cHBlLCDigKY+ICAgICB6dXPDpHR6bGljaGUgR3J1cHBlbiBzZXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTMKK21zZ2lkICIgLS1zZWN1cmViaXRzIDxiaXRzPiAgICAgIHNldCBzZWN1cmViaXRzXG4iCittc2dzdHIgIiAtLXNlY3VyZWJpdHMgPEJpdHM+ICAgICAgU2VjdXJlYml0cyBzZXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTQKK21zZ2lkICIgLS1zZWxpbnV4LWxhYmVsIDxsYWJlbD4gIHNldCBTRUxpbnV4IGxhYmVsXG4iCittc2dzdHIgIiAtLXNlbGludXgtbGFiZWwgPExhYmVsPiAgU0VMaW51eC1MYWJlbCBzZXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTUKK21zZ2lkICIgLS1hcHBhcm1vci1wcm9maWxlIDxwcj4gIHNldCBBcHBBcm1vciBwcm9maWxlXG4iCittc2dzdHIgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgQXBwQXJtb3ItUHJvZmlsIHNldHplblxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyMQorbXNnaWQgIiBUaGlzIHRvb2wgY2FuIGJlIGRhbmdlcm91cy4gIFJlYWQgdGhlIG1hbnBhZ2UsIGFuZCBiZSBjYXJlZnVsLlxuIgorbXNnc3RyICIiCisiIERpZXNlcyBXZXJremV1ZyBrYW5uIGdlZsOkaHJsaWNoIHNlaW4uIExlc2VuIFNpZSBkaWUgSGFuZGJ1Y2hzZWl0ZVxuIgorIiB1bmQgc2VpZW4gU2llIHZvcnNpY2h0aWcuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTkzIHN5cy11dGlscy9zZXRwcml2LmM6NDY3Cittc2dpZCAiZ2V0dGluZyBwcm9jZXNzIHNlY3VyZSBiaXRzIGZhaWxlZCIKK21zZ3N0ciAiRXJtaXR0ZWxuIGRlciBTZWN1cmViaXRzIGRlcyBQcm96ZXNzZXMgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN1cmViaXRzOiAiCittc2dzdHIgIlNlY3VyZWJpdHM6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdXG4iCittc2dzdHIgIltrZWluXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIGxvbmciCittc2dzdHIgIiVzOiB6dSBsYW5nIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwczogIgorbXNnc3RyICJadXPDpHR6bGljaGUgR3J1cHBlbjoiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjczIHN5cy11dGlscy9zZXRwcml2LmM6MzIxIHN5cy11dGlscy9zZXRwcml2LmM6MzI2CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzMiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV0iCittc2dzdHIgIltrZWluXSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkOiAldVxuIgorbXNnc3RyICJ1aWQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImV1aWQ6ICV1XG4iCittc2dzdHIgImV1aWQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1aWQ6ICV1XG4iCittc2dzdHIgInN1aWQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjk5IHN5cy11dGlscy9zZXRwcml2LmM6MzkxCittc2dpZCAiZ2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAiZ2V0cmVzdWlkIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMwOCBzeXMtdXRpbHMvc2V0cHJpdi5jOjQwNgorbXNnaWQgImdldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgImdldHJlc2dpZCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRWZmZWN0aXZlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICJFZmZla3RpdmUgRsOkaGlna2VpdGVuOiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGVybWl0dGVkIGNhcGFiaWxpdGllczogIgorbXNnc3RyICJVbnp1bMOkc3NpZ2UgRsOkaGlna2VpdGVuOiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIlZlcmVyYmJhcmUgRsOkaGlna2VpdGVuOiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FwYWJpbGl0eSBib3VuZGluZyBzZXQ6ICIKK21zZ3N0ciAiRWluc2NocsOkbmt1bmdlbiBkZXIgRsOkaGlna2VpdDogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MworbXNnaWQgIlNFTGludXggbGFiZWwiCittc2dzdHIgIlNFTGludXgtQmV6ZWljaG51bmciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQ2Cittc2dpZCAiQXBwQXJtb3IgcHJvZmlsZSIKK21zZ3N0ciAiQXBwQXJtb3ItUHJvZmlsIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYXAgJWQ6IGxpYmNhcC1uZyBpcyBicm9rZW4iCittc2dzdHIgImNhcCAlZDogbGliY2FwLW5nIGlzdCBiZXNjaMOkZGlndCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODIKK21zZ2lkICJJbnZhbGlkIHN1cHBsZW1lbnRhcnkgZ3JvdXAgaWQiCittc2dzdHIgIlVuZ8O8bHRpZ2UgenVzw6R0emxpY2hlIEdydXBwZW4tSUQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzk5Cittc2dpZCAic2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0cmVzdWlkIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQxNAorbXNnaWQgInNldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgInNldHJlc2dpZCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MzUKK21zZ2lkICJiYWQgY2FwYWJpbGl0eSBzdHJpbmciCittc2dzdHIgInVuZ8O8bHRpZ2UgRWlnZW5zY2hhZnRzLVplaWNoZW5rZXR0ZSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NDMKK21zZ2lkICJsaWJjYXAtbmcgaXMgdG9vIG9sZCBmb3IgXCJhbGxcIiBjYXBzIgorbXNnc3RyICJsaWJjYXAtbmcgaXN0IHp1IGFsdCBmw7xyIGRpZSDigJ5hbGzigJwtRsOkaGlna2VpdGVuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ1MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNhcGFiaWxpdHkgXCIlc1wiIgorbXNnc3RyICJ1bmJla2FubnRlIEbDpGhpZ2tlaXQg4oCeJXPigJwiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDc2Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCBzZXQgLS0gcmVmdXNpbmcgdG8gYWRqdXN0IgorbXNnc3RyICJ1bmJla2FubnRlcyBTaWNoZXJoZWl0c2JpdCBnZXNldHp0IC0tIMOEbmRlcnVuZyB3aXJkIHZlcndlaWdlcnQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDgwCittc2dpZCAiYmFkIHNlY3VyZWJpdHMgc3RyaW5nIgorbXNnc3RyICJ1bmfDvGx0aWdlIFplaWNoZW5rZXR0ZSBtaXQgU2ljaGVyaGVpdHNiaXRzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ4NworbXNnaWQgIithbGwgc2VjdXJlYml0cyBpcyBub3QgYWxsb3dlZCIKK21zZ3N0ciAiK2FsbCBTaWNoZXJoZWl0c2JpdHMgaXN0IG5pY2h0IHp1bMOkc3NpZyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDAKK21zZ2lkICJhZGp1c3Rpbmcga2VlcF9jYXBzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgImFucGFzc2VuIHZvbiBrZWVwX2NhcHMgaGF0IGtlaW5lbiBTaW5uIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUwNAorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQiCittc2dzdHIgIm5pY2h0IGVya2FubnRlcyBTZWN1cmViaXQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTI0Cittc2dpZCAiU0VMaW51eCBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiU0VMaW51eCBsw6R1ZnQgbmljaHQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb3NlIGZhaWxlZDogJXMiCittc2dzdHIgIlNjaGxpZcOfZW4gZmVobGdlc2NobGFnZW46ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU0NworbXNnaWQgIkFwcEFybW9yIGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICJBcHBBcm1vciBsw6R1ZnQgbmljaHQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjU4Cittc2dpZCAiZHVwbGljYXRlIC0tbm8tbmV3LXByaXZzIG9wdGlvbiIKK21zZ3N0ciAiZG9wcGVsdGUgT3B0aW9uIC0tbm8tbmV3LXByaXZzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY2MworbXNnaWQgImR1cGxpY2F0ZSBydWlkIgorbXNnc3RyICJkb3BwZWx0ZSBydWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY2NQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBydWlkIgorbXNnc3RyICJydWlkIGtvbm50ZSBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NjkKK21zZ2lkICJkdXBsaWNhdGUgZXVpZCIKK21zZ3N0ciAiZG9wcGVsdGUgZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXVpZCIKK21zZ3N0ciAiZXVpZCBrb25udGUgbmljaHQgZWluZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njc1Cittc2dpZCAiZHVwbGljYXRlIHJ1aWQgb3IgZXVpZCIKK21zZ3N0ciAiZG9wcGVsdGUgcnVpZCBvZGVyIGV1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njc3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJldWlkIgorbXNnc3RyICJyZXVpZCBrb25udGUgbmljaHQgZWluZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjgxCittc2dpZCAiZHVwbGljYXRlIHJnaWQiCittc2dzdHIgImRvcHBlbHRlIHJnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjgzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJnaWQiCittc2dzdHIgInJnaWQga29ubnRlIG5pY2h0IGVpbmdlbGVzZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4NworbXNnaWQgImR1cGxpY2F0ZSBlZ2lkIgorbXNnc3RyICJkb3BwZWx0ZSBlZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlZ2lkIgorbXNnc3RyICJlZ2lkIGtvbm50ZSBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2OTMKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCBvciBlZ2lkIgorbXNnc3RyICJkb3BwZWx0ZSByZ2lkIG9kZXIgZWdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2OTUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmVnaWQiCittc2dzdHIgInJlZ2lkIGtvbm50ZSBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MDAKK21zZ2lkICJkdXBsaWNhdGUgLS1jbGVhci1ncm91cHMgb3B0aW9uIgorbXNnc3RyICJkb3BwZWx0ZSBPcHRpb24gLS1jbGVhci1ncm91cHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzA2Cittc2dpZCAiZHVwbGljYXRlIC0ta2VlcC1ncm91cHMgb3B0aW9uIgorbXNnc3RyICJkb3BwZWx0ZSBPcHRpb24gLS1rZWVwLWdyb3VwcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MTIKK21zZ2lkICJkdXBsaWNhdGUgLS1ncm91cHMgb3B0aW9uIgorbXNnc3RyICJkb3BwZWx0ZSBPcHRpb24gLS1ncm91cHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzIxCittc2dpZCAiZHVwbGljYXRlIC0taW5oLWNhcHMgb3B0aW9uIgorbXNnc3RyICJkb3BwZWx0ZSBPcHRpb24gLS1pbmgtY2FwcyBvcHRpb24iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzI3Cittc2dpZCAiZHVwbGljYXRlIC0tYm91bmRpbmctc2V0IG9wdGlvbiIKK21zZ3N0ciAiZG9wcGVsdGUgLS1ib3VuZGluZy1zZXQgT3B0aW9uIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjczMworbXNnaWQgImR1cGxpY2F0ZSAtLXNlY3VyZWJpdHMgb3B0aW9uIgorbXNnc3RyICJkb3BwZWx0ZSBPcHRpb24gLS1zZWN1cmViaXRzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjczOQorbXNnaWQgImR1cGxpY2F0ZSAtLXNlbGludXgtbGFiZWwgb3B0aW9uIgorbXNnc3RyICJkb3BwZWx0ZSBPcHRpb24gLS1zZWxpbnV4LWxhYmVsIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc0NQorbXNnaWQgImR1cGxpY2F0ZSAtLWFwcGFybW9yLXByb2ZpbGUgb3B0aW9uIgorbXNnc3RyICJkb3BwZWx0ZSBPcHRpb24gLS1hcHBhcm1vci1wcm9maWxlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc1NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICclYyciCittc2dzdHIgInVuYmVrYW5udGUgT3B0aW9uIOKAniVj4oCcIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc2MworbXNnaWQgIi0tZHVtcCBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgb3B0aW9ucyIKK21zZ3N0ciAiLS1kdW1wIGlzdCBpbmtvbXBhdGliZWwgenUgYWxsZW4gYW5kZXJlbiBPcHRpb25lbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzEKK21zZ2lkICItLWxpc3QtY2FwcyBtdXN0IGJlIHNwZWNpZmllZCBhbG9uZSIKK21zZ3N0ciAiLS1saXN0LWNhcHMgbXVzcyBhbGxlaW4gYW5nZWdlYmVuIHdlcmRlbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzcKK21zZ2lkICJObyBwcm9ncmFtIHNwZWNpZmllZCIKK21zZ3N0ciAiS2VpbiBQcm9ncmFtbSBhbmdlZ2ViZW4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgyCittc2dpZCAiLS1bcmVdZ2lkIHJlcXVpcmVzIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCBvciAtLWdyb3VwcyIKK21zZ3N0ciAiLS1bcmVdZ2lkIGJlbsO2dGlndCAtLWtlZXAtZ3JvdXBzLCAtLWNsZWFyLWdyb3VwcyBvZGVyIC0tZ3JvdXBzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4NQorbXNnaWQgImRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzIGZhaWxlZCIKK21zZ3N0ciAiQWJ3ZWhyIGRlciBadXdlaXN1bmcgbmV1ZXIgUHJpdmlsZWdpZW4gaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MworbXNnaWQgImtlZXAgcHJvY2VzcyBjYXBhYmlsaXRpZXMgZmFpbGVkIgorbXNnc3RyICJCZWhhbHRlbiBkZXIgRsOkaGlna2VpdGVuIGRlcyBQcm96ZXNzZXMgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODAxCittc2dpZCAiYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICJGw6RoaWdrZWl0ZW4gYWt0aXZpZXJlbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDcKK21zZ2lkICJyZWFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiRsOkaGlna2VpdGVuIHJlYWt0aXZpZXJlbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjMKK21zZ2lkICJzZXQgcHJvY2VzcyBzZWN1cmViaXRzIGZhaWxlZCIKK21zZ3N0ciAiU2V0emVuIGRlciBTZWN1cmViaXRzIGRlcyBQcm96ZXNzZXMgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODI5Cittc2dpZCAiYXBwbHkgYm91bmRpbmcgc2V0IgorbXNnc3RyICJFaW5zY2hyw6Rua3VuZ2VuIGFud2VuZGVuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgzNQorbXNnaWQgImFwcGx5IGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiRsOkaGlna2VpdGVuIGFud2VuZGVuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg0MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZXhlY3V0ZTogJXMiCittc2dzdHIgIkF1c2bDvGhydW5nIG5pY2h0IG3DtmdsaWNoOiAlcyIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFthcmd1bWVudHMgLi4uXVxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSA8UHJvZ3JhbW0+IFtBcmd1bWVudGUg4oCmXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzYKK21zZ2lkICJSdW4gYSBwcm9ncmFtIGluIGEgbmV3IHNlc3Npb24uXG4iCittc2dzdHIgIkVpbiBQcm9ncmFtbSBpbiBlaW5lciBuZXVlbiBTaXR6dW5nIGF1c2bDvGhyZW4uXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozOQorbXNnaWQgIiAtYywgLS1jdHR5ICAgICBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIHRvIHRoZSBjdXJyZW50IG9uZVxuIgorbXNnc3RyICIgLWMsIC0tY3R0eSAgICAgZGFzIHN0ZXVlcm5kZSBUZXJtaW5hbCBhdWYgZGFzIGFrdHVlbGxlIHNldHplblxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDAKK21zZ2lkICIgLXcsIC0td2FpdCAgICAgd2FpdCBwcm9ncmFtIHRvIGV4aXQsIGFuZCB1c2UgdGhlIHNhbWUgcmV0dXJuXG4iCittc2dzdHIgIiIKKyIgLXcsIC0td2FpdCAgICAgd2FydGV0IHZvciBkZXIgQXVzZsO8aHJ1bmcgYXVmIGRhcyBFbmRlIGRlcyBQcm9ncmFtbXMgdW5kXG4iCisiICAgICAgICAgICAgICAgICAgdmVyd2VuZGV0IGRlbiBnbGVpY2hlbiBSw7xja2dhYmV3ZXJ0XG4iCisKKyMgVGhpcyBpcyB1c2VkIG5vcm1hbHkKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo5MworbXNnaWQgImZvcmsiCittc2dzdHIgImZvcmsiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hpbGQgJWQgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJLaW5kcHJvemVzcyAlZCB3dXJkZSBuaWNodCBub3JtYWwgYmVlbmRldCIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExMAorbXNnaWQgInNldHNpZCBmYWlsZWQiCittc2dzdHIgIuKAnnNldHNpZOKAnCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExMworbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIgorbXNnc3RyICJTdGV1ZXJuZGVzIFRlcm1pbmFsIGthbm4gbmljaHQgZ2VzZXR6dCB3ZXJkZW4iCisKKyMgVGhlIGZpcnN0ICVzIGlzIHN3YXBvbi9zd2Fwb2ZmCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBvZmYgJXNcbiIKK21zZ3N0ciAic3dhcG9mZiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNQorbXNnaWQgIk5vdCBzdXBlcnVzZXIuIgorbXNnc3RyICJLZWluIEFkbWluaXN0cmF0b3IuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9mZiBmYWlsZWQiCittc2dzdHIgIiVzOiBzd2Fwb2ZmIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyMiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxzcGVjPl1cbiIKK21zZ3N0ciAiICVzIFtPcHRpb25lbl0gWzxTcGV6aWZpa2F0aW9uPl1cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjUKK21zZ2lkICJEaXNhYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICJCZW51dHp1bmcgdm9uIEdlcsOkdGVuIHVuZCBEYXRlaWVuIGbDvHIgZGllIEF1c2xhZ2VydW5nIHNwZXJyZW4uXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI4Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIHN3YXBzIGZyb20gL3Byb2Mvc3dhcHNcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGFsbGUgQXVzbGFnZXJ1bmdzYmVyZWljaGUgYXVzIC9wcm9jL3N3YXBzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGRlYWt0aXZpZXJlblxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgIGF1c2bDvGhybGljaGVyIE1vZHVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTM1Cittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxMYWJlbD4gICAgICAgICAgICAgTEFCRUwgZGVzIHp1IHZlcndlbmRlbmRlbiBHZXLDpHRzXG4iCisiIC1VIDxVVUlEPiAgICAgICAgICAgICAgVVVJRCBkZXMgenUgdmVyd2VuZGVuZGVuIEdlcsOkdHNcbiIKKyIgTEFCRUw9PExhYmVsPiAgICAgICAgICBMQUJFTCBkZXMgenUgdmVyd2VuZGVuZGVuIEdlcsOkdHNcbiIKKyIgVVVJRD08VVVJRD4gICAgICAgICAgICBVVUlEIGRlcyB6dSB2ZXJ3ZW5kZW5kZW4gR2Vyw6R0c1xuIgorIiA8R2Vyw6R0PiAgICAgICAgICAgICAgICBOYW1lIGRlcyB6dSB2ZXJ3ZW5kZW5kZW4gR2Vyw6R0c1xuIgorIiA8RGF0ZWk+ICAgICAgICAgICAgICAgIE5hbWUgZGVyIHp1IHZlcndlbmRlbmRlbiBEYXRlaVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTMKK21zZ2lkICJkZXZpY2UgZmlsZSBvciBwYXJ0aXRpb24gcGF0aCIKK21zZ3N0ciAiR2Vyw6R0ZWRhdGVpIG9kZXIgUGFydGl0aW9uc3BmYWQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NAorbXNnaWQgInR5cGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAiR2Vyw6R0ZXR5cCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk1Cittc2dpZCAic2l6ZSBvZiB0aGUgc3dhcCBhcmVhIgorbXNnc3RyICJHcsO2w59lIGRlcyBBdXNsYWdlcnVuZ3NiZXJlaWNoZXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NgorbXNnaWQgImJ5dGVzIGluIHVzZSIKK21zZ3N0ciAidmVyd2VuZGV0ZSBCeXRlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk3Cittc2dpZCAic3dhcCBwcmlvcml0eSIKK21zZ3N0ciAiU3dhcC1Qcmlvcml0w6R0IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTgKK21zZ2lkICJzd2FwIHV1aWQiCittc2dzdHIgIlN3YXAtVVVJRCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk5Cittc2dpZCAic3dhcCBsYWJlbCIKK21zZ3N0ciAiU3dhcC1CZXplaWNobnVuZyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlc1x0XHRcdFx0VHlwZVx0XHRTaXplXHRVc2VkXHRQcmlvcml0eVxuIgorbXNnc3RyICIlc1x0XHRcdFx0VHlwXHRcdEdyw7bDn2VcdEJlbnV0enRcdFByaW9yaXTDpHRcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI0NgorbXNnaWQgIkZpbGVuYW1lIgorbXNnc3RyICJEYXRlaW5hbWUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlaW5pdGlhbGl6aW5nIHRoZSBzd2FwLiIKK21zZ3N0ciAiJXM6IEF1c2xhZ2VydW5nc2JlcmVpY2ggd2lyZCBlcm5ldXQgaW5pdGlhbGlzaWVydC4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxzZWVrIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGxzZWVrIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBzaWduYXR1cmUgZmFpbGVkIgorbXNnc3RyICIlczogU2NocmVpYmVuIGRlciBTaWduYXR1ciBmZWhsZ2VzY2hsYWdlbiIKKworIyBob2xlcworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjUzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgLSBpdCBhcHBlYXJzIHRvIGhhdmUgaG9sZXMuIgorbXNnc3RyICIlczogd2lyZCDDvGJlcnNwcnVuZ2VuIOKAkyAgc2NoZWludCBMw7ZjaGVyIHp1IGVudGhhbHRlbi4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldCBzaXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEdyw7bDn2VuZXJtaXR0bHVuZyBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBzd2FwIGhlYWRlciBmYWlsZWQiCittc2dzdHIgIiVzOiBTd2FwLUhlYWRlciBrb25udGUgbmljaHQgZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZvdW5kIHNpZ25hdHVyZSBbcGFnZXNpemU9JWQsIHNpZ25hdHVyZT0lc10iCittc2dzdHIgIiVzOiBTaWduYXR1ciBnZWZ1bmRlbiBbU2VpdGVuZ3LDtsOfZT0lZCwgU2lnbmF0dXI9JXNdIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYWdlc2l6ZT0lZCwgc3dhcHNpemU9JWxsdSwgZGV2c2l6ZT0lbGx1IgorbXNnc3RyICIlczogU2VpdGVuZ3LDtsOfZT0lZCwgU3dhcGdyw7bDn2U9JWxsdSwgR2Vyw6R0ZWdyw7bDn2U9JWxsdSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGFzdF9wYWdlIDB4JTA4bGx4IGlzIGxhcmdlciB0aGFuIGFjdHVhbCBzaXplIG9mIHN3YXBzcGFjZSIKK21zZ3N0ciAiJXM6IGxhc3RfcGFnZSAweCUwOGxseCBpc3QgZ3LDtsOfZXIgYWxzIGRpZSB0YXRzw6RjaGxpY2hlcyBHcsO2w59lIGRlcyBBdXNsYWdlcnVuZ3NiZXJlaWNocyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIgorbXNnc3RyICIlczogU2VpdGVuZ3LDtsOfZSBmw7xyIEF1c2xhZ2VydW5nIHBhc3N0IG5pY2h0LiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIChVc2UgLS1maXhwZ3N6IHRvIHJlaW5pdGlhbGl6ZSBpdC4pIgorbXNnc3RyICIlczogU2VpdGVuZ3LDtsOfZSBmw7xyIEF1c2xhZ2VydW5nIHBhc3N0IG5pY2h0LiAoVmVyd2VuZGVuIFNpZSAtLWZpeHBnc3ogdW0gc2llIHp1IHJlaW5pdGlhbGlzaWVyZW4uKSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc29mdHdhcmUgc3VzcGVuZCBkYXRhIGRldGVjdGVkLiBSZXdyaXRpbmcgdGhlIHN3YXAgc2lnbmF0dXJlLiIKK21zZ3N0ciAiJXM6IFNvZnR3YXJlLVJ1aGV6dXN0YW5kc2RhdGVuIGVudGRlY2t0LiBEaWUgQXVzbGFnZXJ1bmdzc2lnbmF0dXIgd2lyZCBuZXUgZ2VzY2hyaWViZW4uIgorCisjIFRoZSBmaXJzdCAlcyBpcyBzd2Fwb24vc3dhcG9mZgorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb24gJXNcbiIKK21zZ3N0ciAic3dhcG9uICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvbiBmYWlsZWQiCittc2dzdHIgIiVzOiBzd2Fwb24gZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vYXV0byBvcHRpb24gLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IE9wdGlvbiBub2F1dG8gLS0gd2lyZCBpZ25vcmllcnQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgYWN0aXZlIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiBiZXJlaXRzIGFrdGl2IC0tIHdpcmQgaWdub3JpZXJ0IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaW5hY2Nlc3NpYmxlIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiB1bmVycmVpY2hiYXIgLS0gd2lyZCBpZ25vcmllcnQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTEKK21zZ2lkICJFbmFibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIkdlcsOkdGUgdW5kIERhdGVpZW4gZsO8ciBkaWUgQXVzbGFnZXJ1bmcgdmVyd2VuZGVuLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk0Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICBlbmFibGUgYWxsIHN3YXBzIGZyb20gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICBhbGxlIEF1c2xhZ2VydW5nc3NwZWljaGVyIGF1c1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvZXRjL2ZzdGFiIGFrdGl2aWVyZW5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NQorbXNnaWQgIiAtZCwgLS1kaXNjYXJkWz08cG9saWN5Pl0gZW5hYmxlIHN3YXAgZGlzY2FyZHMsIGlmIHN1cHBvcnRlZCBieSBkZXZpY2VcbiIKK21zZ3N0ciAiIC1kLCAtLWRpc2NhcmRbPTxSaWNodGxpbmllPl0gdmVyd2VyZmVuIHZvbiBBdXNsYWdlcnVuZ2VuIGFrdGl2aWVyZW4sIHdlbm4gc2llIHZvbSBHZXLDpHQgdW50ZXJzdMO8dHp0IHdlcmRlblxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk2Cittc2dpZCAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBzaWxlbnRseSBza2lwIGRldmljZXMgdGhhdCBkbyBub3QgZXhpc3RcbiIKK21zZ3N0ciAiIgorIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgR2Vyw6R0ZSBzdGlsbHNjaHdlaWdlbmQgw7xiZXJzcHJpbmdlbixcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGllIG5pY2h0IGV4aXN0aWVyZW5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NworbXNnaWQgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIiCisiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICBmYWxscyBuw7Z0aWcsIGRlbiBBdXNsYWdlcnVuZ3NiZXJlaWNoXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVybmV1dCBpbml0aWFsaXNpZXJlblxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk4Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBzd2FwIG9wdGlvbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW9wdGlvbnMgPExpc3RlPiAgICBrb21tYWdldHJlbm50ZSBMaXN0ZSBkZXIgQXVzbGFnZXJ1bmdzb3B0aW9uZW5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5OQorbXNnaWQgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgc3BlY2lmeSB0aGUgcHJpb3JpdHkgb2YgdGhlIHN3YXAgZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgLXAsIC0tcHJpb3JpdHkgPFByaW8+ICAgYW5nZWdlYmVuZXMgQXVzbGFnZXJ1bmdzZ2Vyw6R0IG1pdCBkaWVzZXJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmlvcml0w6R0IG1hcmtpZXJlblxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAwCittc2dpZCAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBkaXNwbGF5IHN1bW1hcnkgYWJvdXQgdXNlZCBzd2FwIGRldmljZXMgKERFUFJFQ0FURUQpXG4iCittc2dzdHIgIiIKKyIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgWnVzYW1tZW5mYXNzdW5nIHp1IHZlcndlbmRldGVuIEF1c2xhZ2VydW5ncy1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXLDpHRlbiBhbnplaWdlbiBbVkVSQUxURVRdXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDEKK21zZ2lkICIgICAgIC0tc2hvd1s9PGNvbHVtbnM+XSAgIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKK21zZ3N0ciAiICAgICAtLXNob3dbPTxTcGFsdGVuPl0gICBadXNhbW1lbmZhc3N1bmcgaW4gZGVmaW5pZXJiYXJlciBUYWJlbGxlIGFuemVpZ2VuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDIKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IHRhYmxlIGhlYWRpbmcgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIiCisiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBrZWluZSBUYWJlbGxlbsO8YmVyc2NocmlmdGVuIGFuemVpZ2VuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtaXQgLS1zaG93KVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAzCittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0ICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAgICAtLXJhdyAgICAgICAgICAgICAgICBSb2hhdXNnYWJlZm9ybWF0IHZlcndlbmRlbiAobWl0IC0tc2hvdylcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNAorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHNpemUgaW4gYnl0ZXMgaW4gLS1zaG93IG91dHB1dFxuIgorbXNnc3RyICIiCisiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBBdXNsYWdlcnVuZ3NncsO2w59lIGluIEJ5dGUgaW4gZGVyIEF1c2dhYmUgdm9uXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tc2hvdyBhbnplaWdlblxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBhdXNmw7xocmxpY2hlciBNb2R1c1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODExCittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisiXG4iCisiRGVyIDxTcGV6PiBQYXJhbWV0ZXI6XG4iCisiIC1MIDxCZXplaWNobnVuZz4gICAgICAgIFN5bm9ueW0gZsO8ciBMQUJFTD08QmVpY2hudW5nPlxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgICBTeW5vbnltIGbDvHIgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PEJlemVpY2hudW5nPiAgICAgc3BlemlmaWVydCBkYXMgR2Vyw6R0IG1pdHRlbHMgZGVyIEJlemVpY2hudW5nIGRlcyBBdXNsYWdlcnVuZ3NiZXJlaWNoc1xuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICBzcGV6aWZpemllcnQgZGFzIEdlcsOkdCBtaXR0ZWxzIGRlciBVVUlEIGRlcyBBdXNsYWdlcnVuZ3NiZXJlaWNoc1xuIgorIiBQQVJUTEFCRUw9PEJlemVpY2hudW5nPiBzcGV6aWZpZXJ0IGRhcyBHZXLDpHQgbWl0dGVscyBkZXIgUGFydGl0aW9uc2JlemVpY2hudW5nXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIHNwZXppZml6aWVydCBkYXMgR2Vyw6R0IG1pdHRlbHMgZGVyIFVVSUQgZGVyIEF1c2xhZ2VydW5nc3BhcnRpdGlvblxuIgorIiA8R2Vyw6R0PiAgICAgICAgICAgICAgICAgTmFtZSBkZXMgenUgdmVyd2VuZGVuZGVuIEdlcsOkdGVzXG4iCisiIDxEYXRlaT4gICAgICAgICAgICAgICAgIE5hbWUgZGVyIHp1IHZlcndlbmRlbmRlbiBEYXRlaVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODIxCittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBkaXNjYXJkIHBvbGljeSB0eXBlcyAoZm9yIC0tZGlzY2FyZCk6XG4iCisiIG9uY2UgICAgOiBvbmx5IHNpbmdsZS10aW1lIGFyZWEgZGlzY2FyZHMgYXJlIGlzc3VlZFxuIgorIiBwYWdlcyAgIDogZnJlZWQgcGFnZXMgYXJlIGRpc2NhcmRlZCBiZWZvcmUgdGhleSBhcmUgcmV1c2VkXG4iCisiSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCBib3RoIGRpc2NhcmQgdHlwZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQpLlxuIgorbXNnc3RyICIiCisiXG4iCisiVmVyZsO8Z2JhcmUgUmljaHRsaW5pZW50eXBlIGbDvHIgZGFzIFZlcndlcmZlbiAoZsO8ciAtLWRpc2NhcmQpOlxuIgorIiBvbmNlICAgIDogbnVyIGVpbm1hbGlnZXMgVmVyd2VyZmVuIHZvbiBCZXJlaWNoZW4gd2lyZCB2ZXJ3ZW5kZXRcbiIKKyIgcGFnZXMgICA6IGZyZWlnZWdlYmVuZSBTZWl0ZW4gd2VyZGVuIHZlcndvcmZlbiBiZXZvciBzaWUgd2llZGVydmVyd2VuZGV0IHdlcmRlblxuIgorIldpcmQga2VpbmUgUmljaHRsaW5pZSBhdXNnZXfDpGhsdCwgc2luZCBiZWlkZSBUeXBlbiBha3RpdmllcnQgKFZvcmdhYmUpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MjYKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3cpOlxuIgorbXNnc3RyICIiCisiXG4iCisiVmVyZsO8Z2JhcmUgU3BhbHRlbiAoZsO8ciAtLXNob3cpOlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTA0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHByaW9yaXR5IgorbXNnc3RyICJQcmlvcml0w6R0IGtvbm50ZSBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkyMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIm5pY2h0IHVudGVyc3TDvHR6dGUgVmVyd2VyZnVuZ3NyZWdlbDogJXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgdGhlIGRldmljZSBmb3IgJXMiCittc2dzdHIgIkdlcsOkdCBmw7xyICVzIGtvbm50ZSBuaWNodCBnZWZ1bmRlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjU5Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGlyZWN0b3J5IgorbXNnc3RyICJWZXJ6ZWljaG5pcyBrb25udGUgbmljaHQgZ2XDtmZmbmV0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjcKK21zZ2lkICJzdGF0IGZhaWxlZCIKK21zZ3N0ciAic3RhdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NzgKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBkaXJlY3RvcnkiCittc2dzdHIgIkxlc2VuIGRlcyBWZXJ6ZWljaG5pc3NlcyBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJXMiCittc2dzdHIgIlRyZW5uZW4gdm9uICVzIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAlcyIKK21zZ3N0ciAiVmVyc2Nob2JlbmVzICVzIGtvbm50ZSBuaWNodCBpbiAlcyBlaW5nZWjDpG5ndCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JjaW5nIHVubW91bnQgb2YgJXMiCittc2dzdHIgIkF1c2jDpG5nZW4gdm9uICVzIHdpcmQgZXJ6d3VuZ2VuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIlZlcnplaWNobmlzIGthbm4gbmljaHQgbmFjaCAlcyBnZXdlY2hzZWx0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTY5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gLyIKK21zZ3N0ciAiVmVyc2Nob2JlbmVzICVzIGtvbm50ZSBuaWNodCBpbiAvIGVpbmdlaMOkbmd0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTc1Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IgorbXNnc3RyICJTeXN0ZW13dXJ6ZWwga29ubnRlIG5pY2h0IGdlw6RuZGVydCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE4OAorbXNnaWQgIm9sZCByb290IGZpbGVzeXN0ZW0gaXMgbm90IGFuIGluaXRyYW1mcyIKK21zZ3N0ciAiQWx0ZXMgV3VyemVsZGF0ZWlzeXN0ZW0gaXN0IGtlaW4gaW5pdHJhbWZzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bmV3cm9vdGRpcj4gPGluaXQ+IDxhcmdzIHRvIGluaXQ+XG4iCittc2dzdHIgIiVzIFtPcHRpb25lbl0gPG5ldWVzX3d1cnplbHZlcnplaWNobmlzPiA8SW5pdGlhbGlzaWVydW5nPiA8YXJndW1lbnRlIGbDvHIgSW5pdGlhbGlzaWVydW5nPlxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDQKK21zZ2lkICJTd2l0Y2ggdG8gYW5vdGhlciBmaWxlc3lzdGVtIGFzIHRoZSByb290IG9mIHRoZSBtb3VudCB0cmVlLlxuIgorbXNnc3RyICJadSBlaW5lbSBhbmRlcmVuIERhdGVpc3lzdGVtIGFscyBXdXJ6ZWwgZGVzIEVpbmjDpG5nZWJhdW1zIHdlY2hzZWxuLlxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMzYKK21zZ2lkICJmYWlsZWQuIFNvcnJ5LiIKK21zZ3N0ciAiZmVobGdlc2NobGFnZW4uIEVudHNjaHVsZGlndW5nLiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBhY2Nlc3MgJXMiCittc2dzdHIgIkF1ZiDigJ4lc+KAnCBrb25udGUgbmljaHQgenVnZWdyaWZmZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTQKK21zZ2lkICJTZXQgdmFyaW91cyBwYXJhbWV0ZXJzIGZvciB0aGUgbGluZSBwcmludGVyLlxuIgorbXNnc3RyICJEaXZlcnNlIFBhcmFtZXRlciBmw7xyIGRlbiBaZWlsZW5kcnVja2VyIHNldHplbi5cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk3Cittc2dpZCAiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAgc3BlY2lmeSBwYXJhbGxlbCBwb3J0IGlycVxuIgorbXNnc3RyICIgLWksIC0taXJxIDxaYWhsPiAgICAgICAgICAgICBJUlEgZGVzIFBhcmFsbGVscG9ydHMgYW5nZWJlblxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTgKK21zZ2lkICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICBkcml2ZXIgd2FpdCB0aW1lIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICBUcmVpYmVyLVdhcnRlemVpdCBpbiBNaWxsaXNla3VuZGVuXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5OQorbXNnaWQgIiAtYywgLS1jaGFycyA8bnVtPiAgICAgICAgICAgIG51bWJlciBvZiBvdXRwdXQgY2hhcmFjdGVycyBiZWZvcmUgc2xlZXBcbiIKK21zZ3N0ciAiIgorIiAtYywgLS1jaGFycyA8WmFobD4gICAgICAgICAgIEFuemFobCBkZXIgVmVyc3VjaGUgenVyIEF1c2dhYmUgZWluZXMgWmVpY2hlbnNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZiBkZW0gRHJ1Y2tlclxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAwCittc2dpZCAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgc3Ryb2JlIHdhaXQgaW4gbWljcm8gc2Vjb25kc1xuIgorbXNnc3RyICIiCisiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgV2FydGV6ZWl0IGluIMK1cywgZGllIGJlaW0gSGVydW1wcm9iaWVyZW4gYW1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cm9iZS1TaWduYWwgamV3ZWlscyBhYmdld2FydGV0IHdpcmRcbiIKKworIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgPG9ufG9mZj4gYXJndW1lbnRzLiBUaGUKKyMuIGFyZ3VtZW50IHJlYWRlciBkb2VzIG5vdCByZWNvZ25pemUgbG9jYWxlLCB1bmxlc3MgYG9uJyBpcworIy4gZXhhY3RseSB0aGF0IHZlcnkgc2FtZSBzdHJpbmcuCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA0Cittc2dpZCAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAgYWJvcnQgb24gZXJyb3JcbiIKK21zZ3N0ciAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAgQWJicnVjaCBiZWkgRmVobGVyXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDUKK21zZ2lkICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBjaGVjayBwcmludGVyIHN0YXR1cyBiZWZvcmUgcHJpbnRpbmdcbiIKK21zZ3N0ciAiIC1vLCAtLWNoZWNrLXN0YXR1cyA8b258b2ZmPiAgRHJ1Y2tlcnN0YXR1cyB2b3IgZGVtIERydWNrZW4gcHLDvGZlblxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA2Cittc2dpZCAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAgZXh0cmEgY2hlY2tpbmcgdG8gc3RhdHVzIGNoZWNrXG4iCittc2dzdHIgIiAtQywgLS1jYXJlZnVsIDxvbnxvZmY+ICAgICAgIGJlc29uZGVycyBzb3JnZsOkbHRpZ2UgRmVobGVycHLDvGZ1bmdcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNworbXNnaWQgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIHF1ZXJ5IHByaW50ZXIgc3RhdHVzXG4iCittc2dzdHIgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIERydWNrZXJzdGF0dXMgYWJmcmFnZW5cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOAorbXNnaWQgIiAtVCwgLS10cnVzdC1pcnEgPG9ufG9mZj4gICAgIG1ha2UgZHJpdmVyIHRvIHRydXN0IGlycVxuIgorbXNnc3RyICIgLVQsIC0tdHJ1c3QtaXJxIDxvbnxvZmY+ICAgICBUcmVpYmVyIGFud2Vpc2VuLCBkZW0gSVJRIHp1IHZlcnRyYXVlblxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcmVzZXQgdGhlIHBvcnRcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgZGVuIFBvcnQgenVyw7xja3NldHplblxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEwCittc2dpZCAiIC1xLCAtLXByaW50LWlycSA8b258b2ZmPiAgICAgZGlzcGxheSBjdXJyZW50IGlycSBzZXR0aW5nXG4iCittc2dzdHIgIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgIGFrdHVlbGxlIElSUS1FaW5zdGVsbHVuZ2VuIGFuemVpZ2VuXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGFuIGxwIGRldmljZSIKK21zZ3N0ciAiJXMgaXN0IGtlaW4gbHAtR2Vyw6R0IgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjgwCittc2dpZCAiTFBHRVRTVEFUVVMgZXJyb3IiCittc2dzdHIgIkxQR0VUU1RBVFVTLUZlaGxlciIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdGF0dXMgaXMgJWQiCittc2dzdHIgIkRlciBTdGF0dXMgdm9uICVzIGlzdCAlZCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIsIGJ1c3kiCittc2dzdHIgIiwgYmVsZWd0IgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgcmVhZHkiCittc2dzdHIgIiwgYmVyZWl0IgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb3V0IG9mIHBhcGVyIgorbXNnc3RyICIsIGtlaW4gUGFwaWVyIgorCisjIHRsOiAiYmV0cmllYnNiZXJlaXQiCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb24tbGluZSIKK21zZ3N0ciAiLCBvbi1saW5lIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZXJyb3IiCittc2dzdHIgIiwgRmVobGVyIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzAwCittc2dpZCAiaW9jdGwgZmFpbGVkIgorbXNnc3RyICJBdWZydWYgdm9uIOKAnmlvY3Rs4oCcIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzEwCittc2dpZCAiTFBHRVRJUlEgZXJyb3IiCittc2dzdHIgIuKAnkxQR0VUSVJR4oCcIEZlaGxlciIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBJUlEgJWRcbiIKK21zZ3N0ciAiJXMgYmVudXR6dCBJUlEgJWRcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBwb2xsaW5nXG4iCittc2dzdHIgIiVzIGJlbnV0enQgUG9sbGluZ1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstaFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IHwgPGRpcmVjdG9yeT5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstaFZdXG4iCisiICUxJHMgLWEgW09wdGlvbmVuXVxuIgorIiAlMSRzIFtPcHRpb25lbl0gPFF1ZWxsZT4gfCA8VmVyemVpY2huaXM+XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4MQorbXNnaWQgIlVubW91bnQgZmlsZXN5c3RlbXMuXG4iCittc2dzdHIgIkRhdGVpc3lzdGVtZSBhdXNow6RuZ2VuLlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODQKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgdW5tb3VudCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIGFsbGUgRGF0ZWlzeXN0ZW1lIGF1c2jDpG5nZW5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg1Cittc2dpZCAiIgorIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICB1bm1vdW50IGFsbCBtb3VudHBvaW50cyBmb3IgdGhlIGdpdmVuIGRldmljZSBpbiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisiIC1BLCAtLWFsbC10YXJnZXRzICAgICAgIGFsbGUgRWluaMOkbmdlcHVua3RlIGRlcyBhbmdlZ2ViZW5lbiBHZXLDpHRlcyBpbSBha3R1ZWxsZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lbnNyYXVtIGF1c2jDpG5nZW5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg3Cittc2dpZCAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorbXNnc3RyICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgUGZhZGUgbmljaHQga2Fub25pc2llcmVuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OAorbXNnaWQgIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICBpZiBtb3VudGVkIGxvb3AgZGV2aWNlLCBhbHNvIGZyZWUgdGhpcyBsb29wIGRldmljZVxuIgorbXNnc3RyICIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAgZmFsbHMgTG9vcC1HZXLDpHQgZWluZ2Vow6RuZ3QgaXN0LCBhdWNoIGRpZXNlcyB0cmVubmVuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OQorbXNnaWQgIiAgICAgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSB1bW91bnQoMikgc3lzY2FsbFxuIgorbXNnc3RyICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgVHJvY2tlbmxhdWY7IGRlbiB1bW91bnQoMiktU3lzdGVtYXVmcnVmIMO8YmVyc3ByaW5nZW5sXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MAorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBmb3JjZSB1bm1vdW50IChpbiBjYXNlIG9mIGFuIHVucmVhY2hhYmxlIE5GUyBzeXN0ZW0pXG4iCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBBdXNow6RuZ2VuIGVyendpbmdlbiAod2VubiBORlMtU3lzdGVtIHVubGVzYmFyIGlzdClcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkxCittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIHVtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZGllIHVtb3VudC48VHlwPi1IaWxmc3Byb2dyYW1tZSBuaWNodCBhdWZydWZlblxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTMKK21zZ2lkICIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgZGV0YWNoIHRoZSBmaWxlc3lzdGVtIG5vdywgY2xlYW4gdXAgdGhpbmdzIGxhdGVyXG4iCittc2dzdHIgIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICBEYXRlaXN5c3RlbSBqZXR6dCB0cmVubmVuLCBzcMOkdGVyIGF1ZnLDpHVtZW5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk0Cittc2dpZCAiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorbXNnc3RyICIgLU8sIC0tdGVzdC1vcHRzIDxMaXN0ZT4gZGllIFphaGwgZGVyIHZlcndlbmRiYXJlbiBEYXRlaXN5c3RlbWUgZWluZ3JlbnplbiAoenVyIFZlcndlbmR1bmcgbWl0IC1hKVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTUKK21zZ2lkICIgLVIsIC0tcmVjdXJzaXZlICAgICAgICAgcmVjdXJzaXZlbHkgdW5tb3VudCBhIHRhcmdldCB3aXRoIGFsbCBpdHMgY2hpbGRyZW5cbiIKK21zZ3N0ciAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIGVpbiBaaWVsIG1pdCBhbGwgc2VpbmVuIEFibGVnZXJuIHJla3Vyc2l2IGF1c2jDpG5nZW5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk2Cittc2dpZCAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIGluIGNhc2UgdW5tb3VudGluZyBmYWlscywgdHJ5IHRvIHJlbW91bnQgcmVhZC1vbmx5XG4iCittc2dzdHIgIiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgZmFsbHMgQXVzaMOkbmdlbiBzY2hlaXRlcnQsIHZlcnN1Y2hlbixcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2hyZWliZ2VzY2jDvHR6dCBuZXUgZWluenVow6RuZ2VuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NworbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGVzIDxMaXN0ZT4gICAgIERhdGVpc3lzdGVtdHlwZW4gbmFjaCBMaXN0ZSBlaW5zY2hyw6Rua2VuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzKSB1bm1vdW50ZWQiCittc2dzdHIgIiVzICglcykgYXVzZ2Vow6RuZ3QiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5tb3VudGVkIgorbXNnc3RyICIlcyBhdXNnZWjDpG5ndCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW1vdW50IGZhaWxlZCIKK21zZ3N0ciAiJXM6IHVtb3VudCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorbXNnc3RyICIlczogRGF0ZWlzeXN0ZW0gd3VyZGUgYXVzZ2Vow6RuZ3QsIGFiZXIgbW91bnQoOCkgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXM6IHVuZ8O8bHRpZ2VzIGJsb2Nrb3JpZW50aWVydGVzIEdlcsOkdCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIzOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKK21zZ3N0ciAiJXM6IFN1cGVyYmxvY2sga2FubiBuaWNodCBnZXNjaHJpZWJlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzOiB0YXJnZXQgaXMgYnVzeVxuIgorIiAgICAgICAgKEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gYWJvdXQgcHJvY2Vzc2VzIHRoYXRcbiIKKyIgICAgICAgICB1c2UgdGhlIGRldmljZSBpcyBmb3VuZCBieSBsc29mKDgpIG9yIGZ1c2VyKDEpLikiCittc2dzdHIgIiIKKyIlczogWmllbCBpc3QgaW4gQmVudXR6dW5nLlxuIgorIiAgICAgICAgKEluIGVpbmlnZW4gRsOkbGxlbiBmaW5kZW4gU2llIHZlcndlcnRiYXJlIEluZm9ybWF0aW9uZW5cbiIKKyIgICAgICAgICDDvGJlciBkaWUgUHJvemVzc2UsIGRpZSBkaWVzZXMgR2Vyw6R0IG51dHplbiwgbWl0IGxzb2YoOClcbiIKKyIgICAgICAgICBvZGVyIGZ1c2VyKDEpKS4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50cG9pbnQgbm90IGZvdW5kIgorbXNnc3RyICIlczogRWluaMOkbmdlcHVua3QgbmljaHQgZ2VmdW5kZW4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNTAKK21zZ2lkICJ1bmRlZmluZWQgbW91bnRwb2ludCIKK21zZ3N0ciAidW5iZXN0aW1tdGVyIEVpbmjDpG5nZXB1bmt0IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtdXN0IGJlIHN1cGVydXNlciB0byB1bm1vdW50IgorbXNnc3RyICIlczogbnVyIGRlciBBZG1pbmlzdHJhdG9yIGthbm4gdW1vdW50IGR1cmNoZsO8aHJlbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmxvY2sgZGV2aWNlcyBhcmUgbm90IHBlcm1pdHRlZCBvbiBmaWxlc3lzdGVtIgorbXNnc3RyICIlczogQmxvY2tvcmllbnRpZXJ0ZSBHZXLDpHRlIHNpbmQgYXVmIGRlbSBEYXRlaXN5c3RlbSBuaWNodCBlcmxhdWJ0IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzA3Cittc2dpZCAiZmFpbGVkIHRvIHNldCB1bW91bnQgdGFyZ2V0IgorbXNnc3RyICJ1bW91bnQtWmllbCBrb25udGUgbmljaHQgZ2VzZXR6dCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozMjMKK21zZ2lkICJsaWJtb3VudCB0YWJsZSBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibGlibW91bnQtVGFiZWxsZW56dXdlaXN1bmcgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzY2IHN5cy11dGlscy91bW91bnQuYzo0NDYKK21zZ2lkICJsaWJtb3VudCBpdGVyYXRvciBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibGlibW91bnQtSXRlcmF0b3J6dXdlaXN1bmcgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzcyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgY2hpbGQgZnMgb2YgJXMiCittc2dzdHIgImRlciBEYXRlaWRlc2tyaXB0b3IgZGVzIEFibGVnZXJzIHZvbiAlcyBrb25udGUgbmljaHQgZWluZ2Vob2x0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQxMCBzeXMtdXRpbHMvdW1vdW50LmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQiCittc2dzdHIgIiVzOiBuaWNodCBnZWZ1bmRlbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQ0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRldGVybWluZSBzb3VyY2UgKC0tYWxsLXRhcmdldHMgaXMgdW5zdXBwb3J0ZWQgb24gc3lzdGVtcyB3aXRoIHJlZ3VsYXIgbXRhYiBmaWxlKS4iCittc2dzdHIgIiVzOiBRdWVsbGUga29ubnRlIG5pY2h0IGVybWl0dGVsdCB3ZXJkZW4gKC0tYWxsLXRhcmdldHMgd2lyZCBhdWYgU3lzdGVtZW4gbWl0IHJlZ3Vsw6RyZXIgbXRhYi1EYXRlaSBuaWNodCB1bnRlcnN0w7x0enQpLiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo4OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCAtLXNldGdyb3VwcyBhcmd1bWVudCAnJXMnIgorbXNnc3RyICJuaWNodCB1bnRlcnN0w7x0enRlcyAtLXNldGdyb3Vwcy1Bcmd1bWVudCDigJ4lc+KAnCIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMTAgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkICVzIgorbXNnc3RyICJTY2hyZWliZW4gZmVobGdlc2NobGFnZW4gJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByb3BhZ2F0aW9uIG1vZGU6ICVzIgorbXNnc3RyICJOaWNodCB1bnRlcnN0w7x0enRlciBXZWl0ZXJnYWJlbW9kdXM6ICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1NworbXNnaWQgImNhbm5vdCBjaGFuZ2Ugcm9vdCBmaWxlc3lzdGVtIHByb3BhZ2F0aW9uIgorbXNnc3RyICJkaWUgV2VpdGVyZ2FiZSBkZXMgV3VyemVsZGF0ZWlzeXN0ZW1zIGthbm4gbmljaHQgZ2XDpG5kZXJ0IHdlcmRlbiIKKworIyBUaGlzIGlzIG9ubHkgdXNlZCB3aGVuIHN0cmVycm9yKGVycm5vKSBpcyBtdWNoIHRvbyBsb25nCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCAlcyIKK21zZ3N0ciAiU3RhdHVzIHZvbiAlcyBrYW5uIG5pY2h0IGVybWl0dGVsdCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjEzCittc2dpZCAicGlwZSBmYWlsZWQiCittc2dzdHIgIlBpcGUgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIyNworbXNnaWQgImZhaWxlZCB0byByZWFkIHBpcGUiCittc2dzdHIgImF1cyBkZXIgUGlwZSBrb25udGUgbmljaHQgZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUwCittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIHNvbWUgbmFtZXNwYWNlcyB1bnNoYXJlZCBmcm9tIHRoZSBwYXJlbnQuXG4iCittc2dzdHIgIkRhcyBQcm9ncmFtbSBtaXQgZWluaWdlbiB2b20gRWx0ZXJudGVpbCBnZXRyZW5udGVuIE5hbWVuc3LDpHVtZW4gc3RhcnRlbi5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTMKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1tLCAtLW1vdW50Wz08RGF0ZWk+XSAgICAgdW5zaGFyZSBow6RuZ3QgZGVuIE5hbWVuc3JhdW0gZWluXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU0Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAtdSwgLS11dHNbPTxEYXRlaT5dICAgICAgIGRlbiBVVFMtTmFtZW5zcmF1bSBhYmtvcHBlbG4gKGhvc3RuYW1lIHVzdy4pXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU1Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtaSwgLS1pcGNbPTxEYXRlaT5dICAgICAgIGRlbiBTeXN0ZW1WLUlQQy1OYW1lbnNyYXVtIGFia29wcGVsblxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NgorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1uLCAtLW5ldFs9PERhdGVpPl0gICAgICAgZGVuIE5ldHp3ZXJrLU5hbWVuc3JhdW0gYWJrb3BwZWxuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU3Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtcCwgLS1waWRbPTxEYXRlaT5dICAgICAgIGRlbiBQcm96ZXNzLUlELU5hbWVuc3JhdW0gYWJrb3BwZWxuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU4Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLVUsIC0tdXNlcls9PERhdGVpPl0gICAgICBkZW4gQmVudXR6ZXItTmFtZW5zcmF1bSBhYmtvcHBlbG5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTkKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICAgICB1bnNoYXJlIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1DLCAtLWNncm91cFs9PERhdGVpPl0gICAgZGVuIENncm91cC1OYW1lbnNyYXVtIG5pY2h0IG1laHIgdGVpbGVuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYwCittc2dpZCAiIC1mLCAtLWZvcmsgICAgICAgICAgICAgICAgZm9yayBiZWZvcmUgbGF1bmNoaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICBQcm96ZXNzIGF1ZnNwYWx0ZW4sIGJldm9yIDxQcm9ncmFtbT4gYXVzZ2Vmw7xocnQgd2lyZFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MQorbXNnaWQgIiAgICAgLS1tb3VudC1wcm9jWz08ZGlyPl0gIG1vdW50IHByb2MgZmlsZXN5c3RlbSBmaXJzdCAoaW1wbGllcyAtLW1vdW50KVxuIgorbXNnc3RyICIgICAgIC0tbW91bnQtcHJvY1s9PFZlcno+XSBkYXMgcHJvYy1EYXRlaXN5c3RlbSB6dWVyc3QgZWluaMOkbmdlbiAoYmVpbmhhbHRldCAtLW1vdW50KVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MgorbXNnaWQgIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIG1hcCBjdXJyZW50IHVzZXIgdG8gcm9vdCAoaW1wbGllcyAtLXVzZXIpXG4iCittc2dzdHIgIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIGFrdHVlbGxlbiBCZW51dHplciB6dSByb290IG1hY2hlbiAoYmVpbmhhbHRldCAtLXVzZXIpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYzCittc2dpZCAiIgorIiAgICAgLS1wcm9wYWdhdGlvbiBzbGF2ZXxzaGFyZWR8cHJpdmF0ZXx1bmNoYW5nZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZnkgbW91bnQgcHJvcGFnYXRpb24gaW4gbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKyIgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgZGllIFdlaXRlcmdhYmUgZGVyIEVpbmjDpG5ndW5nIGltIEVpbmjDpG5nbmFtZW5zcmF1bSB2ZXLDpG5kZXJuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY1Cittc2dpZCAiIC1zLCAtLXNldGdyb3VwcyBhbGxvd3xkZW55ICBjb250cm9sIHRoZSBzZXRncm91cHMgc3lzY2FsbCBpbiB1c2VyIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIgorIiAtcywgLS1zZXRncm91cHMgPGFsbG93fGRlbnk+ICBzZXRncm91cHMtU3lzdGVtYXVmcnVmIGltIEJlbnV0emVyLVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWVuc3JhdW0gc3RldWVyblxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjM4NgorbXNnaWQgInVuc2hhcmUgZmFpbGVkIgorbXNnc3RyICJ1bnNoYXJlIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzMAorbXNnaWQgImNoaWxkIGV4aXQgZmFpbGVkIgorbXNnc3RyICJCZWVuZGVuIGRlcyBLaW5kZXMgaXN0IGdlc2NoZWl0ZXJ0IgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzNworbXNnaWQgIm9wdGlvbnMgLS1zZXRncm91cHM9YWxsb3cgYW5kIC0tbWFwLXJvb3QtdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICJEaWUgT3B0aW9uZW4gLS1zZXRncm91cHM9YWxsb3cgdW5kIC0tbWFwLXJvb3QtdXNlciBzY2hsaWXDn2VuIHNpY2ggZ2VnZW5zZWl0aWcgYXVzLiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgZmFpbGVkIgorbXNnc3RyICJlaW5ow6RuZ2VuIHZvbiAlcyBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjczCittc2dpZCAiQ2FyZCBwcmV2aW91c2x5IHJlc2V0IHRoZSBDUFUiCittc2dzdHIgIkRlciBDb250cm9sbGVyIGhhdCBzY2hvbiBlaW5tYWwgZWluZW4gUmVzZXQgZGVyIENQVSBiZXdpcmt0IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NAorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDEiCittc2dzdHIgIkV4dGVybmVzIFJlbGFpcyAxIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NQorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDIiCittc2dzdHIgIkV4dGVybmVzIFJlbGFpcyAyIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NgorbXNnaWQgIkZhbiBmYWlsZWQiCittc2dzdHIgIkzDvGZ0ZXIgYXVzZ2VmYWxsZW4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc3Cittc2dpZCAiS2VlcCBhbGl2ZSBwaW5nIHJlcGx5IgorbXNnc3RyICJBbnR3b3J0IGF1ZiBkZW4gYWt0aXYgaGFsdGVuZGVuIFBpbmciCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc4Cittc2dpZCAiU3VwcG9ydHMgbWFnaWMgY2xvc2UgY2hhciIKK21zZ3N0ciAiVW50ZXJzdMO8dHp0IGVpbiBtYWdpc2NoZXMgU2NobGllw59lbi1aZWljaGVuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OQorbXNnaWQgIlJlc2V0IGR1ZSB0byBDUFUgb3ZlcmhlYXQiCittc2dzdHIgIlp1csO8Y2tzZXR6ZW4gd2VnZW4gQ1BVLcOcYmVyaGl0enVuZyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODAKK21zZ2lkICJQb3dlciBvdmVyIHZvbHRhZ2UiCittc2dzdHIgIkxlaXN0dW5nIMO8YmVyIFNwYW5udW5nIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MQorbXNnaWQgIlBvd2VyIGJhZC9wb3dlciBmYXVsdCIKK21zZ3N0ciAiU2NobGVjaHRlIExlaXN0dW5nIC8gU3Ryb21hdXNmYWxsIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MgorbXNnaWQgIlByZXRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJWb3JoZXJpZ2UgWmVpdMO8YmVyc2NocmVpdHVuZyAoaW4gU2VrdW5kZW4pIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MworbXNnaWQgIlNldCB0aW1lb3V0IChpbiBzZWNvbmRzKSIKK21zZ3N0ciAiWmVpdMO8YmVyc2NocmVpdHVuZyBmZXN0bGVnZW4gKGluIFNla3VuZGVuKSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODQKK21zZ2lkICJOb3QgdHJpZ2dlciByZWJvb3QiCittc2dzdHIgIk5ldXN0YXJ0IG5pY2h0IGF1c2zDtnNlbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAwCittc2dpZCAiZmxhZyBuYW1lIgorbXNnc3RyICJNYXJraWVydW5nc25hbWUiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMQorbXNnaWQgImZsYWcgZGVzY3JpcHRpb24iCittc2dzdHIgIk1hcmtpZXJ1bmdzYmVzY2hyZWlidW5nIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDIKK21zZ2lkICJmbGFnIHN0YXR1cyIKK21zZ3N0ciAiTWFya2llcnVuZ3NzdGF0dXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMworbXNnaWQgImZsYWcgYm9vdCBzdGF0dXMiCittc2dzdHIgIkJvb3QtU3RhdHVzIG1hcmtpZXJlbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTA0Cittc2dpZCAid2F0Y2hkb2cgZGV2aWNlIG5hbWUiCittc2dzdHIgIldhdGNoZG9nLUdlcsOkdGVuYW1lIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmbGFnOiAlcyIKK21zZ3N0ciAiVW5iZWthbm50ZSBNYXJraWVydW5nOiAlcyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTc3Cittc2dpZCAiU2hvdyB0aGUgc3RhdHVzIG9mIHRoZSBoYXJkd2FyZSB3YXRjaGRvZy5cbiIKK21zZ3N0ciAiRGVuIFdhdGNoZG9nLVN0YXR1cyBkZXIgSGFyZHdhcmUgYW56ZWlnZW4uXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE4MAorbXNnaWQgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICBwcmludCBzZWxlY3RlZCBmbGFncyBvbmx5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciBmbGFncyB0YWJsZVxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdCBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgcHJpbnQgb25seSBmbGFncyB0YWJsZSAoc2FtZSBhcyAtSSAtVClcbiIKK21zZ3N0ciAiIgorIiAtZiwgLS1mbGFncyA8TGlzdGU+ICAgIGdpYnQgbnVyIGRpZSBhbmdlZ2ViZW5lbiBGbGFncyBhdXNcbiIKKyIgLUYsIC0tbm9mbGFncyAgICAgICAgICBnaWJ0IGtlaW5lIEluZm9ybWF0aW9uZW4genUgRmxhZ3MgYXVzXG4iCisiIC1JLCAtLW5vaWRlbnQgICAgICAgICAgZ2lidCBrZWluZSBXYXRjaGRvZy1JZGVudGl0w6R0c2luZm9ybWF0aW9uZW4gYXVzXG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZ2lidCBrZWluZSBLb3BmemVpbGUgZsO8ciBkaWUgRmxhZ3MtVGFiZWxsZSBhdXNcbiIKKyIgLU8sIC0tb25lbGluZSAgICAgICAgICBnaWJ0IGFsbGUgZ2V3w7xuc2NodGVuIEluZm9ybWF0aW9uZW4gaW4gZWluZXIgWmVpbGUgYXVzXG4iCisiIC1vLCAtLW91dHB1dCA8TGlzdGU+ICAgZGVmaW5pZXJ0IGRpZSBTcGFsdGVuIGRlciBBdXNnYWJlXG4iCisiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdmVyd2VuZGV0IGRhcyBSb2hmb3JtYXQgZsO8ciBkaWUgRmxhZ3MtVGFiZWxsZVxuIgorIiAtVCwgLS1ub3RpbWVvdXRzICAgICAgIGdpYnQga2VpbmUgV2F0Y2hkb2ctWmVpdMO8YmVyc2NocmVpdHVuZ2VuIGF1c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxTZWs+IGxlZ3QgZGllIFdhdGNoZG9nLVplaXTDvGJlcnNjaHJlaXR1bmcgZmVzdFxuIgorIiAteCwgLS1mbGFncy1vbmx5ICAgICAgIGdpYnQgbnVyIGRpZSBGbGFncy1UYWJlbGxlIGF1cyAod2llIG1pdCAtSSAtVClcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZWZhdWx0IGRldmljZSBpcyAlcy5cbiIKK21zZ3N0ciAiRGFzIFN0YW5kYXJkZ2Vyw6R0IGlzdCAlcy5cbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk5Cittc2dpZCAiQXZhaWxhYmxlIGNvbHVtbnM6XG4iCittc2dzdHIgIlZlcmbDvGdiYXJlIFNwYWx0ZW46XG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biBmbGFncyAweCV4XG4iCittc2dzdHIgIiVzOiB1bmJla2FubnRlIE1hcmtpZXJ1bmdlbiAweCV4XG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMxOSBzeXMtdXRpbHMvd2RjdGwuYzozNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhdGNoZG9nIGFscmVhZHkgaW4gdXNlLCB0ZXJtaW5hdGluZy4iCittc2dzdHIgIiVzOiBXYXRjaGRvZyB3aXJkIGJlcmVpdHMgdmVyd2VuZGV0LCB3aXJkIGFiZ2Vicm9jaGVuLiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzMzIHN5cy11dGlscy93ZGN0bC5jOjQwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRpc2FybSB3YXRjaGRvZyIKK21zZ3N0ciAiJXM6IFdhdGNoZG9nIGtvbm50ZSBuaWNodCBlbnR3YWZmbmV0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGltZW91dCBmb3IgJXMiCittc2dzdHIgIlplaXTDvGJlcnNjaHJlaXR1bmcgZsO8ciAlcyBrb25udGUgbmljaHQgZmVzdGdlbGVndCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0OAorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmQuXG4iCittc2dpZF9wbHVyYWwgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZHMuXG4iCittc2dzdHJbMF0gIldhcnRlemVpdCB3dXJkZSBhdWYgJWQgU2VrdW5kZSBnZXNldHp0LlxuIgorbXNnc3RyWzFdICJXYXJ0ZXplaXQgd3VyZGUgYXVmICVkIFNla3VuZGVuIGdlc2V0enQuXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB3YXRjaGRvZyIKK21zZ3N0ciAiJXM6IFdhdGNoZG9nLUluZm9ybWF0aW9uZW4ga29ubnRlbiBuaWNodCBlcm1pdHRlbHQgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjQgc3lzLXV0aWxzL3dkY3RsLmM6NDY3IHN5cy11dGlscy93ZGN0bC5jOjQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlLTE0cyAlMmkgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIiUtMTRzICUyaSBzZWNvbmRzXG4iCittc2dzdHJbMF0gIiUtMTRzICUyaSBTZWt1bmRlXG4iCittc2dzdHJbMV0gIiUtMTRzICUyaSBTZWt1bmRlblxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjUKK21zZ2lkICJUaW1lb3V0OiIKK21zZ3N0ciAiWmVpdMO8YmVyc2NocmVpdHVuZzoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2OAorbXNnaWQgIlByZS10aW1lb3V0OiIKK21zZ3N0ciAiVm9yaGVyaWdlIFplaXTDvGJlcnNjaHJlaXR1bmc6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NzEKK21zZ2lkICJUaW1lbGVmdDoiCittc2dzdHIgIlplaXQgw7xicmlnOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA1Cittc2dpZCAiRGV2aWNlOiIKK21zZ3N0ciAiR2Vyw6R0OiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA3Cittc2dpZCAiSWRlbnRpdHk6IgorbXNnc3RyICJJZGVudGl0w6R0OiIKKworIyBjLWZvcm1hdAorIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA5Cittc2dpZCAidmVyc2lvbiIKK21zZ3N0ciAiVmVyc2lvbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MworbXNnaWQgInpyYW0gZGV2aWNlIG5hbWUiCittc2dzdHIgInpyYW0tR2Vyw6R0ZW5hbWUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzQKK21zZ2lkICJsaW1pdCBvbiB0aGUgdW5jb21wcmVzc2VkIGFtb3VudCBvZiBkYXRhIgorbXNnc3RyICJCZWdyZW56dW5nIGRlciB1bmtvbXByaW1pZXJ0ZW4gRGF0ZW5tZW5nZSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NQorbXNnaWQgInVuY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICJ1bmtvbXByaW1pZXJ0ZSBHcsO2w59lIGRlciBnZXNwZWljaGVydGVuIERhdGVuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc2Cittc2dpZCAiY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICJrb21wcmltaWVydGUgR3LDtsOfZSBkZXIgZ2VzcGVpY2hlcnRlbiBEYXRlbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NworbXNnaWQgInRoZSBzZWxlY3RlZCBjb21wcmVzc2lvbiBhbGdvcml0aG0iCittc2dzdHIgImdld8OkaGx0ZXIgS29tcHJlc3Npb25zYWxnb3JpdGhtdXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzgKK21zZ2lkICJudW1iZXIgb2YgY29uY3VycmVudCBjb21wcmVzcyBvcGVyYXRpb25zIgorbXNnc3RyICJBbnphaGwgZGVyIGtvbmt1cnJpZXJlbmRlbiBLb21wcmltaWVydW5nc3ZvcmfDpG5nZSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OQorbXNnaWQgImVtcHR5IHBhZ2VzIHdpdGggbm8gYWxsb2NhdGVkIG1lbW9yeSIKK21zZ3N0ciAiTGVlcmUgU2VpdGVuIG9obmUgenVnZXdpZXNlbmVuIFNwZWljaGVyIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgwCittc2dpZCAiYWxsIG1lbW9yeSBpbmNsdWRpbmcgYWxsb2NhdG9yIGZyYWdtZW50YXRpb24gYW5kIG1ldGFkYXRhIG92ZXJoZWFkIgorbXNnc3RyICJhbGxlciBTcGVpY2hlciBpbmtsdXNpdmUgRnJhZ21lbnRpZXJ1bmcgdW5kIE1ldGFkYXRlbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MQorbXNnaWQgIm1lbW9yeSBsaW1pdCB1c2VkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiQmVncmVuenVuZyBkZXMgU3BlaWNoZXJwbGF0emVzIGbDvHIga29tcHJpbWllcnRlIERhdGVuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgyCittc2dpZCAibWVtb3J5IHpyYW0gaGF2ZSBiZWVuIGNvbnN1bWVkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiU3BlaWNoZXIsIGRlbiBacmFtIGbDvHIgZGllIFNwZWljaGVydW5nIGtvbXByaW1pZXJ0ZXIgRGF0ZW4gdmVyd2VuZGV0IGhhdCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MworbXNnaWQgIm51bWJlciBvZiBvYmplY3RzIG1pZ3JhdGVkIGJ5IGNvbXBhY3Rpb24iCittc2dzdHIgIkFuemFobCBkZXIgT2JqZWt0ZSwgZGllIGR1cmNoIEtvbXByaW1pZXJ1bmcgbWlncmllcnQgd3VyZGVuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjM2MyBzeXMtdXRpbHMvenJhbWN0bC5jOjM3NAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICJtbV9zdGF0IGtvbm50ZSBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorIiAlMSRzIC1yIDxkZXZpY2U+IFsuLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGRldmljZT4gLXMgPHNpemU+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbT3B0aW9uZW5dIDxHZXLDpHQ+XG4iCisiICUxJHMgLXIgPEdlcsOkdD4gW+KApl1cbiIKKyIgJTEkcyBbT3B0aW9uZW5dIC1mIHwgPEdlcsOkdD4gLXMgPEdyw7bDn2U+XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTI3Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIHpyYW0gZGV2aWNlcy5cbiIKK21zZ3N0ciAienJhbS1HZXLDpHRlIGVpbnJpY2h0ZW4gdW5kIHN0ZXVlcm4uXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMwCittc2dpZCAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0ICAgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIHVzZVxuIgorbXNnc3RyICIgLWEsIC0tYWxnb3JpdGhtIGx6b3xsejQgICB6dSB2ZXJ3ZW5kZW5kZXIgS29tcHJlc3Npb25zYWxnb3JpdGhtdXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzEKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIEdyw7bDn2VuIGluIEJ5dGVzIGF1c2dlYmVuLCBhbnN0YXR0IGltXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW5zY2hlbmxlc2JhcmVuIEZvcm1hdFxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMgorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIGZpbmQgYSBmcmVlIGRldmljZVxuIgorbXNnc3RyICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICBlaW4gZnJlaWVzIEdlcsOkdCBzdWNoZW5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBrZWluZSDDnGJlcnNjaHJpZnRlbiBhbnplaWdlblxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzNAorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIGNvbHVtbnMgdG8gdXNlIGZvciBzdGF0dXMgb3V0cHV0XG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb3V0cHV0IDxMaXN0ZT4gICAgICBkaWUgZsO8ciBkaWUgU3RhdHVzYXVzZ2FiZSB6dSB2ZXJ3ZW5kZW5kZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNwYWx0ZW4gZmVzdGxlZ2VuXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM1Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgdXNlIHJhdyBzdGF0dXMgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICBSb2hmb3JtYXQgZsO8ciBkaWUgU3RhdHVzYXVzZ2FiZSB2ZXJ3ZW5kZW5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzYKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgYWxsZSBhbmdlZ2ViZW5lbiBHZXLDpHRlIHp1csO8Y2tzZXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzcKK21zZ2lkICIgLXMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgLXMsIC0tc2l6ZSA8R3LDtsOfZT4gICAgICAgIEdlcsOkdGVncsO2w59lXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM4Cittc2dpZCAiIC10LCAtLXN0cmVhbXMgPG51bWJlcj4gICAgbnVtYmVyIG9mIGNvbXByZXNzaW9uIHN0cmVhbXNcbiIKK21zZ3N0ciAiIC10LCAtLXN0cmVhbXMgPFphaGw+ICAgICAgQW56YWhsIGRlciBLb21wcmVzc2lvbnMtRGF0ZW5zdHLDtm1lXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjA0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGFsZ29yaXRobTogJXMiCittc2dzdHIgIm5pY2h0IHVudGVyc3TDvHR6dGVyIEFsZ29yaXRobXVzOiAlcyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2MjYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RyZWFtcyIKK21zZ3N0ciAiRWlubGVzZW4gZGVyIERhdGVuc3Ryw7ZtZSBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NDgKK21zZ2lkICJvcHRpb24gLS1maW5kIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxkZXZpY2U+IgorbXNnc3RyICJPcHRpb24gLS1maW5kIHVuZCA8R2Vyw6R0PiBzY2hsaWXDn2VuIHNpY2ggZ2VnZW5zZWl0aWcgYXVzIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NAorbXNnaWQgIm9ubHkgb25lIDxkZXZpY2U+IGF0IGEgdGltZSBpcyBhbGxvd2VkIgorbXNnc3RyICI8R2Vyw6R0PiBrYW5uIG5pY2h0IG1laHJmYWNoIGFuZ2VnZWJlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjU3Cittc2dpZCAib3B0aW9ucyAtLWFsZ29yaXRobSBhbmQgLS1zdHJlYW1zIG11c3QgYmUgY29tYmluZWQgd2l0aCAtLXNpemUiCittc2dzdHIgIkRpZSBPcHRpb25lbiAtLWFsZ29yaXRobSB1bmQgLS1zdHJlYW1zIG3DvHNzZW4gbWl0IC0tc2l6ZSBrb21iaW5pZXJ0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODcgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZXNldCIKK21zZ3N0ciAiJXM6IFp1csO8Y2tzZXR6ZW4gZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njk4IHN5cy11dGlscy96cmFtY3RsLmM6NzA2Cittc2dpZCAibm8gZnJlZSB6cmFtIGRldmljZSBmb3VuZCIKK21zZ3N0ciAia2VpbiBmcmVpZXMgenJhbS1HZXLDpHQgZ2VmdW5kZW4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IG51bWJlciBvZiBzdHJlYW1zIgorbXNnc3RyICIlczogQW56YWhsIGRlciBEYXRlbnN0csO2bWUga29ubnRlIG5pY2h0IGdlc2V0enQgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBhbGdvcml0aG0iCittc2dzdHIgIiVzOiBBbGdvcml0aG11cyBrb25udGUgbmljaHQgZ2VzZXR6dCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGRpc2tzaXplICglanUgYnl0ZXMpIgorbXNnc3RyICIlczogUGxhdHRlbmdyw7bDn2Uga29ubnRlIG5pY2h0IGdlc2V0enQgd2VyZGVuICglanUgQnl0ZSkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzJXMgKGF1dG9tYXRpYyBsb2dpbilcbiIKK21zZ3N0ciAiJXMlcyAoYXV0b21hdGlzY2hlIEFubWVsZHVuZylcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSByb290IGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVzOiBXdXJ6ZWx2ZXJ6ZWljaG5pcyAlcyBrYW5uIG5pY2h0IGdlw6RuZGVydCB3ZXJkZW46ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHdvcmtpbmcgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiJXM6IEFyYmVpdHN2ZXJ6ZWljaG5pcyAlcyBrYW5uIG5pY2h0IGdlw6RuZGVydCB3ZXJkZW46ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHByb2Nlc3MgcHJpb3JpdHk6ICVtIgorbXNnc3RyICIlczogUHJpb3JpdMOkdCBkZXMgUHJvemVzc2VzIGtvbm50ZSBuaWNodCBnZcOkbmRlcnQgd2VyZGVuOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGV4ZWMgJXM6ICVtIgorbXNnc3RyICIlczogRmVobGVyIGJlaW0gQXVzZsO8aHJlbiB2b24gJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjU1NSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg0MSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg1MworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzAgdGVybS11dGlscy9hZ2V0dHkuYzoxNDE1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQzMworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDY5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ3OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE1MTYKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk3OCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeTogJW0iCittc2dzdHIgIlNwZWljaGVyIGtvbm50ZSBuaWNodCB6dWdld2llc2VuIHdlcmRlbjogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NjgwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZGVsYXkgYXJndW1lbnQiCittc2dzdHIgInVuZ8O8bHRpZ2VzIEvDtnBmZWFyZ3VtZW50IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjcxOQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLS1sb2NhbC1saW5lIgorbXNnc3RyICJ1bmfDvGx0aWdlcyBBcmd1bWVudCBmw7xyIC0tbG9jYWwtbGluZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3MzgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBuaWNlIGFyZ3VtZW50IgorbXNnc3RyICJ1bmfDvGx0aWdlcyBaZWl0YXJndW1lbnQiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODc1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzcGVlZDogJXMiCittc2dzdHIgImZhbHNjaGUgR2VzY2h3aW5kaWdrZWl0OiAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzcKK21zZ2lkICJ0b28gbWFueSBhbHRlcm5hdGUgc3BlZWRzIgorbXNnc3RyICJ6dSB2aWVsZSBhbHRlcm5hdGl2ZSBHZXNjaHdpbmRpZ2tlaXRlbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDA2IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAxMCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IG9wZW4gYXMgc3RhbmRhcmQgaW5wdXQ6ICVtIgorbXNnc3RyICIvZGV2LyVzIGtvbm50ZSBuaWNodCBhbHMgU3RhbmRhcmRlaW5nYWJlIGdlw7ZmZm5ldCB3ZXJkZW46ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgY2hhcmFjdGVyIGRldmljZSIKK21zZ3N0ciAiL2Rldi8lcyBpc3Qga2VpbiB6ZWljaGVub3JpZW50aWVydGVzIEdlcsOkdCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIHR0eSIKK21zZ3N0ciAiL2Rldi8lczoga2VpbiB0dHkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAzNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IGdldCBjb250cm9sbGluZyB0dHk6ICVtIgorbXNnc3RyICIvZGV2LyVzOiBzdGV1ZXJuZGVzIFRlcm1pbmFsIGthbm4gbmljaHQgZXJoYWx0ZW4gd2VyZGVuOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IHZoYW5ndXAoKSBmYWlsZWQ6ICVtIgorbXNnc3RyICIvZGV2LyVzOiB2aGFuZ3VwKCkgZmVobGdlc2NobGFnZW46ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBvcGVuIGZvciByZWFkL3dyaXRlIgorbXNnc3RyICIlczogbmljaHQgb2ZmZW4gZsO8ciBMZXNlbi9TY2hyZWliZW4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA4MworIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgc2V0IHByb2Nlc3MgZ3JvdXA6ICVtIgorbXNnc3RyICIvZGV2LyVzOiBQcm96ZXNzZ3J1cHBlIGthbm4gbmljaHQgZ2VzZXR6dCB3ZXJkZW46ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGR1cCBwcm9ibGVtOiAlbSIKK21zZ3N0ciAiJXM6IGR1cOKAkFByb2JsZW06ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIiVzOiBUZXJtaW5hbC1BdHRyaWJ1dGUga29ubnRlbiBuaWNodCBlcm1pdHRlbHQgd2VyZGVuOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMzIxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXMgZmFpbGVkOiAlbSIKK21zZ3N0ciAiVGVybWluYWwtQXR0cmlidXRlIGtvbm50ZW4gbmljaHQgZmVzdGdlbGVndCB3ZXJkZW46ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NTkKK21zZ2lkICJjYW5ub3Qgb3BlbiBvcy1yZWxlYXNlIGZpbGUiCittc2dzdHIgImRpZSBEYXRlaSBtaXQgZGVyIEJTLVZlcnNpb24ga2FubiBuaWNodCBnZcO2ZmZuZXQgd2VyZGVuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE2MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSByZWxvYWQgZmlsZTogJXM6ICVtIgorbXNnc3RyICJkaWUgRGF0ZWkgZsO8ciBkZW4gZXJuZXV0ZW4gU3RhcnQga29ubnRlIG5pY2h0IGVyemV1Z3Qgd2VyZGVuOiAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTczNgorbXNnaWQgIltwcmVzcyBFTlRFUiB0byBsb2dpbl0iCittc2dzdHIgIltkcsO8Y2tlbiBTaWUgZGllIEVpbmdhYmV0YXN0ZSB6dW0gQW5tZWxkZW5dIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjAKK21zZ2lkICJOdW0gTG9jayBvZmYiCittc2dzdHIgIk51bS1UYXN0ZSBhdXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2MworbXNnaWQgIk51bSBMb2NrIG9uIgorbXNnc3RyICJOdW0tVGFzdGUgZWluIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjYKK21zZ2lkICJDYXBzIExvY2sgb24iCittc2dzdHIgIkZlc3RzdGVsbHRhc3RlIGVpbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzY5Cittc2dpZCAiU2Nyb2xsIExvY2sgb24iCittc2dzdHIgIlJvbGxlbi1UYXN0ZSBlaW4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc3MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSGludDogJXNcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkhpbndlaXM6ICVzXG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZDogJW0iCittc2dzdHIgIiVzOiBnZWxlc2VuOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnB1dCBvdmVycnVuIgorbXNnc3RyICIlczogRWluZ2FiZeKAkMOcYmVybGF1ZiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTc0IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgY29udmVyc2lvbiBmb3IgbG9naW4gbmFtZSIKK21zZ3N0ciAiJXM6IHVuZ8O8bHRpZ2UgWmVpY2hlbmtvbnZlcnRpZXJ1bmcgZsO8ciBBbm1lbGRlbmFtZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciAweCV4IGluIGxvZ2luIG5hbWUiCittc2dzdHIgIiVzOiB1bnp1bMOkc3NpZ2VzIFplaWNoZW4gMHgleCBpbSBBbm1lbGRlbmFtZW4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA3MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiJXM6IFRlcm1pbmFsLUF0dHJpYnV0ZSBrb25udGVuIG5pY2h0IGZlc3RnZWxlZ3Qgd2VyZGVuOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGxpbmU+IFs8YmF1ZF9yYXRlPiwuLi5dIFs8dGVybXR5cGU+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8YmF1ZF9yYXRlPiwuLi4gPGxpbmU+IFs8dGVybXR5cGU+XVxuIgorbXNnc3RyICIiCisiICUxJHMgW09wdGlvbmVuXSA8TGVpdHVuZz4gWzxCYXVkcmF0ZT4sIOKApl0gWzxUZXJtaW5hbHR5cD5dXG4iCisiICUxJHMgW09wdGlvbmVuXSA8QmF1ZHJhdGU+LCDigKYgPExlaXR1bmc+IFs8VGVybWluYWx0eXA+XVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTMKK21zZ2lkICJPcGVuIGEgdGVybWluYWwgYW5kIHNldCBpdHMgbW9kZS5cbiIKK21zZ3N0ciAiRWluIFRlcm1pbmFsIMO2ZmZuZW4gdW5kIGRlc3NlbiBNb2R1cyBzZXR6ZW4uXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExNgorbXNnaWQgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBhc3N1bWUgOC1iaXQgdHR5XG4iCittc2dzdHIgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICA4LUJpdC1UVFkgYW5uZWhtZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE3Cittc2dpZCAiIC1hLCAtLWF1dG9sb2dpbiA8dXNlcj4gICAgIGxvZ2luIHRoZSBzcGVjaWZpZWQgdXNlciBhdXRvbWF0aWNhbGx5XG4iCittc2dzdHIgIiAtYSwgLS1hdXRvbG9naW4gPEJlbnV0ei4+ICBkZW4gYW5nZWdlYmVuZW4gQmVudXR6ZXIgYXV0b21hdGlzY2ggYW5tZWxkZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE4Cittc2dpZCAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGRvIG5vdCByZXNldCBjb250cm9sIG1vZGVcbiIKK21zZ3N0ciAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIEtvbnRyb2xsbW9kdXMgbmljaHQgenVyw7xja3NldHplblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTkKK21zZ2lkICIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAgdXNlIC1yIDxob3N0bmFtZT4gZm9yIGxvZ2luKDEpXG4iCittc2dzdHIgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICAtciA8UmVjaG5lcm5hbWU+IGbDvHIgbG9naW4oMSkgdmVyd2VuZGVuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMAorbXNnaWQgIiAtZiwgLS1pc3N1ZS1maWxlIDxmaWxlPiAgICBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIC1mLCAtLWlzc3VlLWZpbGUgPERhdGVpPiAgIERpZSBJc3N1ZS1EYXRlaSBhbnplaWdlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjEKK21zZ2lkICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgZW5hYmxlIGhhcmR3YXJlIGZsb3cgY29udHJvbFxuIgorbXNnc3RyICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgSGFyZHdhcmUtRmx1c3Nrb250cm9sbGUgYWt0aXZpZXJlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjIKK21zZ2lkICIgLUgsIC0taG9zdCA8aG9zdG5hbWU+ICAgICAgc3BlY2lmeSBsb2dpbiBob3N0XG4iCittc2dzdHIgIiAtSCwgLS1ob3N0IDxSZWNobmVybmFtZT4gICBBbm1lbGRlcmVjaG5lciBmZXN0bGVnZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIzCittc2dpZCAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGRvIG5vdCBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGRpZSBJc3N1ZS1EYXRlaSBuaWNodCBhbnplaWdlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjQKK21zZ2lkICIgLUksIC0taW5pdC1zdHJpbmcgPHN0cmluZz4gc2V0IGluaXQgc3RyaW5nXG4iCittc2dzdHIgIiAtSSwgLS1pbml0LXN0cmluZyA8U3RyaW5nPiAgaW5pdC1aZWljaGVua2V0dGUgZmVzdGxlZ2VuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNQorbXNnaWQgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICBkbyBub3QgY2xlYXIgdGhlIHNjcmVlbiBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICBCaWxkc2NoaXJtIHZvciBkZXIgRWluZ2FiZWF1ZmZvcmRlcnVuZyBuaWNodCBsZWVyZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI2Cittc2dpZCAiIC1sLCAtLWxvZ2luLXByb2dyYW0gPGZpbGU+IHNwZWNpZnkgbG9naW4gcHJvZ3JhbVxuIgorbXNnc3RyICIgLWwsIC0tbG9naW4tcHJvZ3JhbSA8RGF0ZWk+IEFubWVsZGVwcm9ncmFtbSBhbmdlYmVuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNworbXNnaWQgIiAtTCwgLS1sb2NhbC1saW5lWz08bW9kZT5dICBjb250cm9sIHRoZSBsb2NhbCBsaW5lIGZsYWdcbiIKK21zZ3N0ciAiIC1MLCAtLWxvY2FsLWxpbmVbPTxNb2R1cz5dIGRlbiBNb2R1cyBkZXIgbG9rYWxlbiBMZWl0dW5nIGtvbnRyb2xsaWVyZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI4Cittc2dpZCAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCittc2dzdHIgIiAtbSwgLS1leHRyYWN0LWJhdWQgICAgICAgICBCYXVkcmF0ZSB3w6RocmVuZCBkZXIgVmVyYmluZHVuZyBleHRyYWhpZXJlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjkKK21zZ2lkICIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAgZG8gbm90IHByb21wdCBmb3IgbG9naW5cbiIKK21zZ3N0ciAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGtlaW5lbiBBbm1lbGRlcHJvbXB0IGFuemVpZ2VuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMAorbXNnaWQgIiAtTiAgLS1ub25ld2xpbmUgICAgICAgICAgICBkbyBub3QgcHJpbnQgYSBuZXdsaW5lIGJlZm9yZSBpc3N1ZVxuIgorbXNnc3RyICIgLU4gIC0tbm9uZXdsaW5lICAgICAgICAgICAga2VpbmVuIFplaWxlbnVtYnJ1Y2ggdm9yIGRlciBBdXNnYWJlXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMQorbXNnaWQgIiAtbywgLS1sb2dpbi1vcHRpb25zIDxvcHRzPiBvcHRpb25zIHRoYXQgYXJlIHBhc3NlZCB0byBsb2dpblxuIgorbXNnc3RyICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8T3B0Lj4gYmVpIEFubWVsZHVuZyB6dSDDvGJlcmdlYmVuZGUgT3B0aW9uZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMyCittc2dpZCAiIC1wLCAtLWxvZ2luLXBhdXNlICAgICAgICAgIHdhaXQgZm9yIGFueSBrZXkgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgYXVmIFRhc3RlbmRydWNrIHZvciBkZXIgQW5tZWxkdW5nIHdhcnRlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzMKK21zZ2lkICIgLXIsIC0tY2hyb290IDxkaXI+ICAgICAgICAgY2hhbmdlIHJvb3QgdG8gdGhlIGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXIsIC0tY2hyb290IDxWZXJ6PiAgICAgICAgaW4gZGllc2UgU3lzdGVtd3VyemVsIHdlY2hzZWxuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNAorbXNnaWQgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICBkbyB2aXJ0dWFsbHkgaGFuZ3VwIG9uIHRoZSB0dHlcbiIKK21zZ3N0ciAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgICBUVFkgdmlydHVlbGwg4oCeYXVmbGVnZW7igJxcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM1Cittc2dpZCAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIHRyeSB0byBrZWVwIGJhdWQgcmF0ZSBhZnRlciBicmVha1xuIgorbXNnc3RyICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgdmVyc3VjaGVuLCBCYXVkcmF0ZSBuYWNoIEFiYnJ1Y2ggenUgZXJoYWx0ZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM2Cittc2dpZCAiIC10LCAtLXRpbWVvdXQgPG51bWJlcj4gICAgIGxvZ2luIHByb2Nlc3MgdGltZW91dFxuIgorbXNnc3RyICIgLXQsIC0tdGltZW91dCA8WmFobD4gICAgIFplaXTDvGJlcnNjaHJlaXR1bmcgYmVpbSBBbm1lbGRlcHJvemVzc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzcKK21zZ2lkICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgZGV0ZWN0IHVwcGVyY2FzZSB0ZXJtaW5hbFxuIgorbXNnc3RyICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgVGVybWluYWwgbWl0IEdyb8OfYnVjaHN0YWJlbiBlcmtlbm5lblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzgKK21zZ2lkICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgd2FpdCBjYXJyaWFnZS1yZXR1cm5cbiIKK21zZ3N0ciAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIFdhZ2VucsO8Y2tsYXVmIChDUikgYWJ3YXJ0ZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM5Cittc2dpZCAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIGRvIG5vdCBwcmludCBoaW50c1xuIgorbXNnc3RyICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAgSGlud2Vpc2UgbmljaHQgYXVzZ2ViZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQwCittc2dpZCAiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgIG5vIGhvc3RuYW1lIGF0IGFsbCB3aWxsIGJlIHNob3duXG4iCittc2dzdHIgIiAgICAgLS1ub2hvc3RuYW1lICAgICAgICAgICBlcyB3aXJkIGtlaW4gUmVjaG5lcm5hbWUgYW5nZXplaWd0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MQorbXNnaWQgIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICBzaG93IGZ1bGwgcXVhbGlmaWVkIGhvc3RuYW1lXG4iCittc2dzdHIgIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICB2b2xsIGF1c2dlc2NocmllYmVuZW4gUmVjaG5lcm5hbWVuIGFuemVpZ2VuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MgorbXNnaWQgIiAgICAgLS1lcmFzZS1jaGFycyA8c3RyaW5nPiBhZGRpdGlvbmFsIGJhY2tzcGFjZSBjaGFyc1xuIgorbXNnc3RyICIgICAgIC0tZXJhc2UtY2hhcnMgPFN0cmluZz4genVzw6R0emxpY2hlIEJhY2tzcGFjZS1aZWljaGVuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MworbXNnaWQgIiAgICAgLS1raWxsLWNoYXJzIDxzdHJpbmc+ICBhZGRpdGlvbmFsIGtpbGwgY2hhcnNcbiIKK21zZ3N0ciAiICAgICAtLWtpbGwtY2hhcnMgPHN0cmluZz4gIFp1c8OkdHpsaWNoZSBLaWxsemVpY2hlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDQKK21zZ2lkICIgICAgIC0tY2hkaXIgPGRpcmVjdG9yeT4gICAgY2hkaXIgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIgICAgIC0tY2hkaXIgPFZlcnplaWNobmlzPiAgIFZlcnplaWNobmlzIHZvciBkZXIgQW5tZWxkdW5nIHdlY2hzZWxuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NQorbXNnaWQgIiAgICAgLS1kZWxheSA8bnVtYmVyPiAgICAgICBzbGVlcCBzZWNvbmRzIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiICAgICAtLWRlbGF5IDxaYWhsPiAgICAgICAgIFdhcnRlemVpdCBpbiBTZWt1bmRlbiB2b3IgZGVyIEVpbmdhYmVhdWZmb3JkZXJ1bmdcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ2Cittc2dpZCAiICAgICAtLW5pY2UgPG51bWJlcj4gICAgICAgIHJ1biBsb2dpbiB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiICAgICAtLW5pY2UgPFphaGw+ICAgICAgICAgIEFubWVsZHVuZyBtaXQgZGllc2VyIFByaW9yaXTDpHQgYXVzZsO8aHJlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDcKK21zZ2lkICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgcmVsb2FkIHByb21wdHMgb24gcnVubmluZyBhZ2V0dHkgaW5zdGFuY2VzXG4iCittc2dzdHIgIiAgICAgLS1yZWxvYWQgICAgICAgICAgICAgICBQcm9tcHRzIGluIGxhdWZlbmRlbiBBZ2V0dHktSW5zdGFuemVuIG5ldSBlaW5sZXNlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDgKK21zZ2lkICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAtLWhlbHAgICAgICAgICAgICAgICAgIGRpZXNlIEhpbGZlIGFuemVpZ2VuIHVuZCBiZWVuZGVuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0OQorbXNnaWQgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgVmVyc2lvbnNpbmZvcm1hdGlvbiBhdXNnZWJlbiB1bmQgYmVlbmRlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI0ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgdXNlciIKK21zZ2lkX3BsdXJhbCAiJWQgdXNlcnMiCittc2dzdHJbMF0gIiVkIEJlbnV0emVyIgorbXNnc3RyWzFdICIlZCBCZW51dHplciIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjA5CisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNrbmFtZSBmYWlsZWQ6ICVtIgorbXNnc3RyICJjaGVja25hbWUgZmVobGdlc2NobGFnZW46ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHRvdWNoIGZpbGUgJXMiCittc2dzdHIgIkRpZSBEYXRlaSAlcyBrYW5uIG5pY2h0IGFuZ2VsZWd0IHdlcmRlbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjI1Cittc2dpZCAiLS1yZWxvYWQgaXMgdW5zdXBwb3J0ZWQgb24geW91ciBzeXN0ZW0iCittc2dzdHIgIi0tcmVsb2FkIHdpcmQgYXVmIElocmVtIFN5c3RlbSBuaWNodCB1bnRlcnN0w7x0enQiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3kgfCBuXVxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSBbeSB8IG5dXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc4Cittc2dpZCAiQ29udHJvbCB3cml0ZSBhY2Nlc3Mgb2Ygb3RoZXIgdXNlcnMgdG8geW91ciB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiU2NocmVpYnp1Z3JpZmYgYW5kZXJlciBCZW51dHplciBhdWYgSWhyIFRlcm1pbmFsIHN0ZXVlcm4uXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjgxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICBlcmtsw6RyZW4gd2FzIGdlc2NoaWVodFxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMjUKK21zZ2lkICJ0dHluYW1lIGZhaWxlZCIKK21zZ3N0ciAidHR5bmFtZSBmZWhsZ2VzY2hsYWdlbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM0Cittc2dpZCAiaXMgeSIKK21zZ3N0ciAiaXN0IHkiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNworbXNnaWQgImlzIG4iCittc2dzdHIgImlzdCBuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNDggdGVybS11dGlscy9tZXNnLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZSAlcyBtb2RlIGZhaWxlZCIKK21zZ3N0ciAiw4RuZGVybiBkZXMgJXMgTW9kdXMgZmVobGdlc2NobGFnZW4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgIlNjaHJlaWJ6dWdyaWZmIGF1ZiBJaHIgVGVybWluYWwgaXN0IGVybGF1YnQiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1NworbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGRlbmllZCIKK21zZ3N0ciAiU2NocmVpYnp1Z3JpZmYgYXVmIElociBUZXJtaW5hbCB3aXJkIHZlcndlaWdlcnQiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAidW5nw7xsdGlnZXMgQXJndW1lbnQ6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE1OQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSBbRGF0ZWldXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTYyCittc2dpZCAiTWFrZSBhIHR5cGVzY3JpcHQgb2YgYSB0ZXJtaW5hbCBzZXNzaW9uLlxuIgorbXNnc3RyICJFaW5nYWJlc2tyaXB0IGVpbmVyIFRlcm1pbmFsc2l0enVuZyBhbmxlZ2VuLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NQorbXNnaWQgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgYXBwZW5kIHRoZSBvdXRwdXRcbiIKKyIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gcnVuIGNvbW1hbmQgcmF0aGVyIHRoYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgcmV0dXJuIGV4aXQgY29kZSBvZiB0aGUgY2hpbGQgcHJvY2Vzc1xuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICBydW4gZmx1c2ggYWZ0ZXIgZWFjaCB3cml0ZVxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICB1c2Ugb3V0cHV0IGZpbGUgZXZlbiB3aGVuIGl0IGlzIGEgbGlua1xuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICBiZSBxdWlldFxuIgorIiAtdCwgLS10aW1pbmdbPTxmaWxlPl0gICBvdXRwdXQgdGltaW5nIGRhdGEgdG8gc3RkZXJyIChvciB0byBGSUxFKVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgIEF1c2dhYmUgYW5ow6RuZ2VuXG4iCisiIC1jLCAtLWNvbW1hbmQgPEJlZmVobD4gIEJlZmVobCBzdGF0dCBpbnRlcmFrdGl2ZXIgU2hlbGwgYXVzZsO8aHJlblxuIgorIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICBFeGl0LUNvZGUgZGVzIFVudGVycHJvemVzc2VzIGF1c2dlYmVuXG4iCisiIC1mLCAtLWZsdXNoICAgICAgICAgICAgIOKAnmZsdXNo4oCcIG5hY2ggamVkZW0gU2NocmVpYmVuIGF1c2bDvGhyZW5cbiIKKyIgICAgIC0tZm9yY2UgICAgICAgICAgICAgQXVzZ2FiZWRhdGVpIHZlcndlbmRlbiwgc2VsYnN0IHdlbm4gZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgZWluZSBWZXJrbsO8cGZ1bmcgaXN0XG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHN0aWxsIGF1c2bDvGhyZW5cbiIKKyIgLXQsIC0tdGltaW5nWz08RGF0ZWk+XSAgVGltaW5nLURhdGVuIGluIFN0YW5kYXJkZmVobGVyYXVzZ2FiZSBzY2hyZWliZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgKG9kZXIgaW4gREFURUkpXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIFZlcnNpb25zaW5mb3JtYXRpb24gYXVzZ2ViZW4gdW5kIGJlZW5kZW5cbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGllc2UgSGlsZmUgYXVzZ2ViZW4gdW5kIGJlZW5kZW5cbiIKKyJcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm91dHB1dCBmaWxlIGAlcycgaXMgYSBsaW5rXG4iCisiVXNlIC0tZm9yY2UgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC5cbiIKKyJQcm9ncmFtIG5vdCBzdGFydGVkLiIKK21zZ3N0ciAiIgorIkF1c2dhYmVkYXRlaSDigJ4lc+KAnCBpc3QgZWluZSBWZXJrbsO8cGZ1bmcuXG4iCisiQmVudXR6ZW4gU2llIOKAni0tZm9yY2XigJwsIHdlbm4gU2llIGVzIHRhdHPDpGNobGljaCB2ZXJ3ZW5kZW4gd29sbGVuLlxuIgorIlByb2dyYW1tIG5pY2h0IGdlc3RhcnRldC4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBkb25lLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIlNrcmlwdCB3dXJkZSBiZWVuZGV0LCBkaWUgRGF0ZWkgaXN0ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MjYyCittc2dpZCAiY2Fubm90IHdyaXRlIHNjcmlwdCBmaWxlIgorbXNnc3RyICJTa3JpcHRkYXRlaSBrb25udGUgbmljaHQgZ2VzY2hyaWViZW4gd2VyZGVuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLlxuIgorbXNnc3RyICIiCisiXG4iCisiU2l0enVuZyB0ZXJtaW5pZXJ0LlxuIgorCisjIFRoZSAlcyBtdXN0IGJlIGF0IHRoZSBlbmQsICdjYXVzZSBpdCBjb250YWlucyB0aGUgXG4KKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDM4CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkIG9uICVzIgorbXNnc3RyICJTa3JpcHQgZ2VzdGFydGV0IGF1ZiAlcyIKKworIyBUaGUgJXMgbXVzdCBiZSBhdCB0aGUgZW5kLCAnY2F1c2UgaXQgY29udGFpbnMgdGhlIFxuCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2NyaXB0IGRvbmUgb24gJXMiCittc2dzdHIgIiIKKyJcbiIKKyJTa3JpcHQgYmVlbmRldDogJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjA3Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJUZXJtaW5hbC1BdHRyaWJ1dGUga29ubnRlbiBuaWNodCBlcm1pdHRlbHQgd2VyZGVuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYxNAorbXNnaWQgIm9wZW5wdHkgZmFpbGVkIgorbXNnc3RyICLigJ5vcGVucHR54oCcIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2NTIKK21zZ2lkICJvdXQgb2YgcHR5J3MiCittc2dzdHIgImtlaW5lIHB0eXMgbWVociIKKworIyBOb3QgcmVhbGx5IG5pY2XigKYKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIlNrcmlwdCBnZXN0YXJ0ZXQsIGRpZSBEYXRlaSBpc3QgJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy10XSB0aW1pbmdmaWxlIFt0eXBlc2NyaXB0XSBbZGl2aXNvcl1cbiIKK21zZ3N0ciAiICVzIFstdF0gVGltaW5nZGF0ZWkgW0VpbmdhYmVza3JpcHRdIFtUZWlsZXJdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDcKK21zZ2lkICJQbGF5IGJhY2sgdGVybWluYWwgdHlwZXNjcmlwdHMsIHVzaW5nIHRpbWluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiRWluIEVpbmdhYmVza3JpcHQgdW50ZXIgVmVyd2VuZHVuZyB2b24gVGltaW5naW5mb3JtYXRpb25lbiBhYmxhdWZlbiBsYXNzZW4uXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NTAKK21zZ2lkICIiCisiIC10LCAtLXRpbWluZyA8ZmlsZT4gICAgIHNjcmlwdCB0aW1pbmcgb3V0cHV0IGZpbGVcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA8ZmlsZT4gc2NyaXB0IHRlcm1pbmFsIHNlc3Npb24gb3V0cHV0IGZpbGVcbiIKKyIgLWQsIC0tZGl2aXNvciA8bnVtPiAgICAgc3BlZWQgdXAgb3Igc2xvdyBkb3duIGV4ZWN1dGlvbiB3aXRoIHRpbWUgZGl2aXNvclxuIgorIiAtbSwgLS1tYXhkZWxheSA8bnVtPiAgICB3YWl0IGF0IG1vc3QgdGhpcyBtYW55IHNlY29uZHMgYmV0d2VlbiB1cGRhdGVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyIgLXQsIC0tdGltaW5nIDxEYXRlaT4gICAgIEF1c2dhYmVkYXRlaSBmw7xyIGRpZSBUaW1pbmdkYXRlblxuIgorIiAtcywgLS10eXBlc2NyaXB0IDxEYXRlaT4gQXVzZ2FiZWRhdGVpIGbDvHIgZGFzIEVpbmdhYmVza3JpcHQgZGVyIFRlcm1pbmFsc2l0enVuZ1xuIgorIiAtZCwgLS1kaXZpc29yIDxaYWhsPiAgICAgQXVzZsO8aHJ1bmcgbWl0IGRlbSBhbmdlZ2ViZW5lbiBUZWlsZXIgYmVzY2hsZXVuaWdlbiBvZGVyIGJyZW1zZW5cbiIKKyIgLW0sIC0tbWF4ZGVsYXkgPFphaGw+ICAgIG1heGltYWwgc28gdmllbGUgU2VrdW5kZW4gendpc2NoZW4gQWt0dWFsaXNpZXJ1bmdlbiB3YXJ0ZW5cbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgIFZlcnNpb25zaW5mb3JtYXRpb25lbiBhdXNnZWJlbiB1bmQgUHJvZ3JhbW0gdmVybGFzc2VuXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICBkaWVzZSBIaWxmZSBhdXNnZWJlbiB1bmQgZGFzIFByb2dyYW1tIHZlcmxhc3NlblxuIgorIlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExMgorbXNnaWQgIndyaXRlIHRvIHN0ZG91dCBmYWlsZWQiCittc2dzdHIgIlNjaHJlaWJlbiBhdWYgZGllIFN0YW5kYXJkYXVzZ2FiZSBmZWhsZ2VzY2hsYWdlbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSBvbiAlcyIKK21zZ3N0ciAiVW5lcndhcnRldGVzIERhdGVpZW5kZSBpbiDigJ4lc+KAnCIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdHlwZXNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJMZXNlbiBkZXIgTWl0c2Nobml0dGRhdGVpICVzIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxODQKK21zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJmYWxzY2hlIEFuemFobCBhbiBBcmd1bWVudGVuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aW1pbmcgZmlsZSAlcyIKK21zZ3N0ciAiTGVzZW4gZGVyIFRpbWluZy1EYXRlaSAlcyBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aW1pbmcgZmlsZSAlczogbGluZSAlbHU6IHVuZXhwZWN0ZWQgZm9ybWF0IgorbXNnc3RyICJUaW1pbmdzLURhdGVpICVzOiAlbHU6IHVuZXJ3YXJ0ZXRlcyBGb3JtYXQiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJhcmd1bWVudCBlcnJvcjogYnJpZ2h0ICVzIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIkFyZ3VtZW50ZmVobGVyOiBIZWxsaWdrZWl0c3dlcnQgJXMgd2lyZCBuaWNodCB1bnRlcnN0w7x0enQiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyOAorbXNnaWQgInRvbyBtYW55IHRhYnMiCittc2dzdHIgInp1IHZpZWxlIFRhYnMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MworbXNnaWQgIlNldCB0aGUgYXR0cmlidXRlcyBvZiBhIHRlcm1pbmFsLlxuIgorbXNnc3RyICJUZXJtaW5hbGF0dHJpYnV0ZSBmZXN0bGVnZW4uXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NgorbXNnaWQgIiAtLXRlcm0gICAgICAgICAgPHRlcm1pbmFsX25hbWU+ICAgb3ZlcnJpZGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIgLS10ZXJtICAgICAgICAgIDxUZXJtaW5hbG5hbWU+ICAgIMO8YmVyc2NocmVpYnQgZGllIFVtZ2VidW5nc3ZhcmlhYmxlIFRFUk1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg3Cittc2dpZCAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCB0byBwb3dlci1vbiBzdGF0ZVxuIgorbXNnc3RyICIiCisiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXMgVGVybWluYWwgYXVmIGRlbiBFaW5zY2hhbHR6dXN0YW5kXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHp1csO8Y2tzZXR6ZW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg4Cittc2dpZCAiIC0taW5pdGlhbGl6ZSAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGluaXQgc3RyaW5nLCBhbmQgdXNlIGRlZmF1bHQgc2V0dGluZ3NcbiIKK21zZ3N0ciAiIgorIiAtLWluaXRpYWxpemUgICAgICAgICAgICAgICAgICAgICAgaW5pdC1aZWljaGVua2V0dGUgYW56ZWlnZW4gdW5kIFN0YW5kYXJkZWluc3RlbGx1bmdlblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ3ZW5kZW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg5Cittc2dpZCAiIC0tZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgZGVmYXVsdCB0ZXJtaW5hbCBzZXR0aW5nc1xuIgorbXNnc3RyICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHZvcmdlZ2ViZW5lIFRlcm1pbmFsLUVpbnN0ZWxsdW5nZW4gdmVyd2VuZGVuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MAorbXNnaWQgIiAtLXN0b3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IHRlcm1pbmFsIHNldHRpbmdzIGFzIGRlZmF1bHRcbiIKK21zZ3N0ciAiIgorIiAtLXN0b3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgYWt0dWVsbGUgVGVybWluYWwtRWluc3RlbGx1bmdlbiBhbHMgVm9yZ2FiZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVpY2hlcm5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkxCittc2dpZCAiIC0tY3Vyc29yICAgICAgICBbb258b2ZmXSAgICAgICAgICBkaXNwbGF5IGN1cnNvclxuIgorbXNnc3RyICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIEN1cnNvciBhbnplaWdlblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTIKK21zZ2lkICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGtleWJvYXJkIHJlcGVhdFxuIgorbXNnc3RyICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIFRhc3RhdHVyd2llZGVyaG9sdW5nXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MworbXNnaWQgIiAtLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gICAgICAgICAgY3Vyc29yIGtleSBhcHBsaWNhdGlvbiBtb2RlXG4iCittc2dzdHIgIiIKKyIgLS1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdICAgICAgICAgIHNjaGFsdGV0IGRlbiBDdXJzb3J0YXN0ZW4tTW9kdXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWluIG9kZXIgYXVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NAorbXNnaWQgIiAtLWxpbmV3cmFwICAgICAgW29ufG9mZl0gICAgICAgICAgY29udGludWUgb24gYSBuZXcgbGluZSB3aGVuIGEgbGluZSBpcyBmdWxsXG4iCittc2dzdHIgIiIKKyIgLS1saW5ld3JhcCAgICAgIFtvbnxvZmZdICAgICAgICAgIGluIGVpbmVyIG5ldWVuIFplaWxlIGJlZ2lubmVuLCBmYWxscyBlaW5lIFplaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9sbCBpc3RcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk1Cittc2dpZCAiIC0taW52ZXJzZXNjcmVlbiBbb258b2ZmXSAgICAgICAgICBzd2FwIGNvbG9ycyBmb3IgdGhlIHdob2xlIHNjcmVlblxuIgorbXNnc3RyICIiCisiIC0taW52ZXJzZXNjcmVlbiBbb258b2ZmXSAgICAgICAgICB0YXVzY2h0ICBkaWUgVm9yZGVyZ3J1bmQtIHVuZCBIaW50ZXJncnVuZC1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFyYmVuIGbDvHIgZGVuIGdlc2FtdGVuIEJpbGRzY2hpcm1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk2Cittc2dpZCAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgZm9yZWdyb3VuZCBjb2xvclxuIgorbXNnc3RyICIgLS1mb3JlZ3JvdW5kICAgIGRlZmF1bHR8PEZhcmJlPiAgIFZvcmRlcmdydW5kZmFyYmVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk3Cittc2dpZCAiIC0tYmFja2dyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgYmFja2dyb3VuZCBjb2xvclxuIgorbXNnc3RyICIgLS1iYWNrZ3JvdW5kICAgIGRlZmF1bHR8PEZhcmJlPiAgIEhpbnRlcmdydW5kZmFyYmVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk4Cittc2dpZCAiIC0tdWxjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgdW5kZXJsaW5lZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiAtLXVsY29sb3IgICAgICAgW2JyaWdodF0gPEZhcmJlPiAgRmFyYmUgZsO8ciB1bnRlcnN0cmljaGVuZW4gVGV4dFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTkKK21zZ2lkICIgLS1oYmNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCBib2xkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8RmFyYmU+ICBGYXJiZSBmw7xyIGZldHRlbiBUZXh0XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMAorbXNnaWQgIiAgICAgICAgICAgICAgICAgPGNvbG9yPjogYmxhY2sgYmx1ZSBjeWFuIGdyZWVuIGdyZXkgbWFnZW50YSByZWQgd2hpdGUgeWVsbG93XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgPEZhcmJlPjogYmxhY2sgYmx1ZSBjeWFuIGdyZWVuIGdyZXkgbWFnZW50YSByZWQgd2hpdGUgeWVsbG93XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMQorbXNnaWQgIiAtLWJvbGQgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYm9sZFxuIgorbXNnc3RyICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGZldHRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAyCittc2dpZCAiIC0taGFsZi1icmlnaHQgICBbb258b2ZmXSAgICAgICAgICBkaW1cbiIKK21zZ3N0ciAiIC0taGFsZi1icmlnaHQgICBbb258b2ZmXSAgICAgICAgICBhYmR1bmtlbG5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAzCittc2dpZCAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlua1xuIgorbXNnc3RyICIgLS1ibGluayAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJsaW5rZW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA0Cittc2dpZCAiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICB1bmRlcmxpbmVcbiIKK21zZ3N0ciAiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICB1bnRlcnN0cmVpY2hlblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDUKK21zZ2lkICIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgIHN3YXAgZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBjb2xvcnNcbiIKK21zZ3N0ciAiIC0tcmV2ZXJzZSAgICAgICBbb258b2ZmXSAgICAgICAgICBWb3JkZXJncnVuZC0gdW5kIEhpbnRlcmdydW5kZmFyYmUgdmVydGF1c2NoZW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA2Cittc2dpZCAiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICBjbGVhciBzY3JlZW4gYW5kIHNldCBjdXJzb3IgcG9zaXRpb25cbiIKK21zZ3N0ciAiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICBCaWxkc2NoaXJtIGxlZXJlbiB1bmQgQ3Vyc29ycG9zaXRpb24gc2V0emVuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNworbXNnaWQgIiAtLXRhYnMgICAgICAgICAgWzxudW1iZXI+Li4uXSAgICAgc2V0IHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3Igc2hvdyB0aGVtXG4iCittc2dzdHIgIiIKKyIgLS10YWJzICAgICAgICAgIFs8WmFobD4g4oCmXSAgICAgICAgc2V0enQgZGllIFRhYnVsYXRvcmVuIGFuIGRpZSBhbmdlZ2ViZW5lblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQb3NpdGlvbmVuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOAorbXNnaWQgIiAtLWNscnRhYnMgICAgICAgWzxudW1iZXI+Li4uXSAgICAgY2xlYXIgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBhbGxcbiIKK21zZ3N0ciAiIC0tY2xydGFicyAgICAgICBbPFphaGw+IOKApl0gICAgIGzDtnNjaHQgZGllc2UgVGFic3RvcHAtUG9zaXRpb25lbiwgb2RlciBhbGxlXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOQorbXNnaWQgIiAtLXJlZ3RhYnMgICAgICAgWzEtMTYwXSAgICAgICAgICAgc2V0IGEgcmVndWxhciB0YWIgc3RvcCBpbnRlcnZhbFxuIgorbXNnc3RyICIgLS1yZWd0YWJzICAgICAgIFsxLTE2MF0gICAgICAgICAgIGxlZ3QgZWluZW4gcmVndWzDpHJlbiBUYWJzdG9wcC1JbnRlcnZhbCBmZXN0XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMAorbXNnaWQgIiAtLWJsYW5rICAgICAgICAgWzAtNjB8Zm9yY2V8cG9rZV0gc2V0IHRpbWUgb2YgaW5hY3Rpdml0eSBiZWZvcmUgc2NyZWVuIGJsYW5rc1xuIgorbXNnc3RyICIiCisiIC0tYmxhbmsgICAgICAgICBbMC02MHxmb3JjZXxwb2tlXSBaZWl0IGRlciBJbmFrdGl2aXTDpHQgYmlzIHp1bSBMZWVyZW4gZGVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCaWxkc2NoaXJtcyBmZXN0bGVnZW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDExCittc2dpZCAiIC0tZHVtcCAgICAgICAgICBbPG51bWJlcj5dICAgICAgICB3cml0ZSB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIgorIiAtLWR1bXAgICAgICAgICAgWzxaYWhsPl0gICAgICAgICAgc2NocmVpYnQgIGVpbmVuICBTY2huYXBwc2NodXNzIGRlclxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmdlZ2ViZW5lbiB2aXJ0dWVsbGVuIEtvbnNvbGUgaW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWluZSBEYXRlaVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTIKK21zZ2lkICIgLS1hcHBlbmQgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIGFwcGVuZCB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIgorIiAtLWFwcGVuZCAgICAgICAgWzxaYWhsPl0gICAgICAgICAgaMOkbmd0IGRlbiBTY2huYXBwc2NodXNzIGRlciB2aXJ0dWVsbGVuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEtvbnNvbGUgYW4gZWluZSBEYXRlaSBhblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTMKK21zZ2lkICIgLS1maWxlICAgICAgICAgIDxmaWxlbmFtZT4gICAgICAgIG5hbWUgb2YgdGhlIGR1bXAgZmlsZVxuIgorbXNnc3RyICIgLS1maWxlICAgICAgICAgIDxEYXRlaW5hbWU+ICAgICAgIE5hbWUgZGVyIGF1c3p1Z2ViZW5kZW4gRGF0ZWlcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE0Cittc2dpZCAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBzZW5kIGtlcm5lbCBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtLW1zZyAgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgS2VybmVsLU1lbGR1bmdlbiBhbiBkaWUgS29uc29sZSBzZW5kZW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE1Cittc2dpZCAiIC0tbXNnbGV2ZWwgICAgICAwLTggICAgICAgICAgICAgICBrZXJuZWwgY29uc29sZSBsb2cgbGV2ZWxcbiIKK21zZ3N0ciAiIC0tbXNnbGV2ZWwgICAgICAwLTggICAgICAgICAgICAgICBQcm90b2tvbGxpZXJzdHVmZSBkZXIgS2VybmVsLUtvbnNvbGVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE2Cittc2dpZCAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKK21zZ3N0ciAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE3Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQgdmVzYSBwb3dlcnNhdmluZyBmZWF0dXJlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZ3QgVkVTQS1FbmVyZ2llc3BhcmZ1bmt0aW9uZW4gZmVzdFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTgKK21zZ2lkICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIHNldCB2ZXNhIHBvd2VyZG93biBpbnRlcnZhbCBpbiBtaW51dGVzXG4iCittc2dzdHIgIiIKKyIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIGxlZ3QgZGFzIEludGVydmFsbCBmw7xyIGRhcyBWZXJzZXR6ZW4gaW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVuIFZFU0EtUG93ZXJkb3duLU1vZHVzIGluIE1pbnV0ZW4gZmVzdC5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE5Cittc2dpZCAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICBkdXJhdGlvbiBvZiB0aGUgYmVsbCBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICBEYXVlciBkZXIgU3lzdGVtZ2xvY2tlIGluIE1pbGxpc2VrdW5kZW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIwCittc2dpZCAiIC0tYmZyZXEgICAgICAgICA8bnVtYmVyPiAgICAgICAgICBiZWxsIGZyZXF1ZW5jeSBpbiBIZXJ0elxuIgorbXNnc3RyICIgLS1iZnJlcSAgICAgICAgIDxaYWhsPiAgICAgICAgICAgIEZyZXF1ZW56IGRlciBTeXN0ZW1nbG9ja2UgaW4gSGVydHpcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIxCittc2dpZCAiIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICBzaG93IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICBWZXJzaW9uc2luZm9ybWF0aW9uIGF1c2dlYmVuIHVuZCBiZWVuZGVuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMgorbXNnaWQgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWVzZSBIaWxmZSBhbnplaWdlbiB1bmQgYmVlbmRlblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MzAKK21zZ2lkICJkdXBsaWNhdGUgdXNlIG9mIGFuIG9wdGlvbiIKK21zZ3N0ciAiZG9wcGVsdGUgT3B0aW9uIgorCisjIFRoaXMgaXMgb25seSB1c2VkIHdoZW4gc3RyZXJyb3IoZXJybm8pIGlzIG11Y2ggdG9vIGxvbmcKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjczNAorbXNnaWQgImNhbm5vdCBmb3JjZSBibGFuayIKK21zZ3N0ciAiTGVlcmVuIGthbm4gbmljaHQgZXJ6d3VuZ2VuIHdlcmRlbiIKKworIyBUaGlzIGlzIG9ubHkgdXNlZCB3aGVuIHN0cmVycm9yKGVycm5vKSBpcyBtdWNoIHRvbyBsb25nCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MzkKK21zZ2lkICJjYW5ub3QgZm9yY2UgdW5ibGFuayIKK21zZ3N0ciAiTGVlcmVuIGthbm4gbmljaHQgZXJ6d3VuZ2VuIHdlcmRlbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQ1Cittc2dpZCAiY2Fubm90IGdldCBibGFuayBzdGF0dXMiCittc2dzdHIgIkxlZXJlbi1TdGF0dXMga2FubiBuaWNodCBlcmhhbHRlbiB3ZXJkZW4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4gbm90IG9wZW4gZHVtcCBmaWxlICVzIGZvciBvdXRwdXQiCittc2dzdHIgIlNwZWljaGVyYXVzenVnc2RhdGVpICVzIGbDvHIgZGllIEF1c2dhYmUga29ubnRlIG5pY2h0IGdlw7ZmZm5ldCB3ZXJkZW4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjgxMworIywgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCAlcyBkb2VzIG5vdCBzdXBwb3J0ICVzIgorbXNnc3RyICJUZXJtaW5hbCAlcyB1bnRlcnN0w7x0enQgJXMgbmljaHQiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjk4OAorbXNnaWQgImNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlIgorbXNnc3RyICJTdHJvbXNwYXJtb2R1cyBrYW5uIG5pY2h0ICh6dXLDvGNrKWdlc2V0enQgd2VyZGVuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDA3IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwMTYKK21zZ2lkICJrbG9nY3RsIGVycm9yIgorbXNnc3RyICJrbG9nY3RsLUZlaGxlciIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTAzNworbXNnaWQgIiRURVJNIGlzIG5vdCBkZWZpbmVkLiIKK21zZ3N0ciAiJFRFUk0gaXN0IG5pY2h0IGZlc3RnZWxlZ3QuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDQ0Cittc2dpZCAidGVybWluZm8gZGF0YWJhc2UgY2Fubm90IGJlIGZvdW5kIgorbXNnc3RyICJ0ZXJtaW5mby1EYXRlbmJhbmsga29ubnRlIG5pY2h0IGdlZnVuZGVuIHdlcmRlbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biB0ZXJtaW5hbCB0eXBlIgorbXNnc3RyICIlczogdW5iZWthbm50ZXIgVGVybWluYWx0eXAiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDgKK21zZ2lkICJ0ZXJtaW5hbCBpcyBoYXJkY29weSIKK21zZ3N0ciAiSGFyZGNvcHktVGVybWluYWwiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHRvbyBtYW55IGlvdidzIgorbXNnc3RyICJpbnRlcm5lciBGZWhsZXI6IHp1IHZpZWxlIGlvdidzIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImV4Y2Vzc2l2ZWx5IGxvbmcgbGluZSBhcmciCittc2dzdHIgIsO8YmVybcOkw59pZyBsYW5nZXMgWmVpbGVuYXJndW1lbnQiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZW4gZmFpbGVkIgorbXNnc3RyICLDlmZmbmVuIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIyBUaGlzIGlzIHVzZWQgbm9ybWFseQorIzogdGVybS11dGlscy90dHltc2cuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9yazogJW0iCittc2dzdHIgImZvcms6ICVtIgorCisjIFRoaXMgaXMgb25seSB1c2VkIHdoZW4gc3RyZXJyb3IoZXJybm8pIGlzIG11Y2ggdG9vIGxvbmcKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmb3JrIgorbXNnc3RyICJFcyBrYW5uIGtlaW4gbmV1ZXIgUHJvemVzcyBlcnpldWd0IHdlcmRlbiAoZm9yaykiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCQUQgRVJST1IsIG1lc3NhZ2UgaXMgZmFyIHRvbyBsb25nIgorbXNnc3RyICIlczogU0NIV0VSV0lFR0VOREVSIEZFSExFUiwgTmFjaHJpY2h0IGlzdCB2aWVsIHp1IGxhbmciCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiB8IDxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICVzIFtPcHRpb25lbl0gWzxEYXRlaT4gfCA8TmFjaHJpY2h0ZW4+XVxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4NgorbXNnaWQgIldyaXRlIGEgbWVzc2FnZSB0byBhbGwgdXNlcnMuXG4iCittc2dzdHIgIkVpbmUgTmFjaHJpY2h0IGFuIGFsbGUgQmVudXR6ZXIgc2VuZGVuLlxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4OQorbXNnaWQgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBkbyBub3QgcHJpbnQgYmFubmVyLCB3b3JrcyBvbmx5IGZvciByb290XG4iCittc2dzdHIgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBrZWluIEJhbm5lciwgZnVua3Rpb25pZXJ0IG51ciBmw7xyIFJvb3RcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTAKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8dGltZW91dD4gd3JpdGUgdGltZW91dCBpbiBzZWNvbmRzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lb3V0IDxaZWl0w7xiZXJzY2hyZWl0dW5nPiBaZWl0w7xiZXJzY2hyZWl0dW5nIGluIFNla3VuZGVuIGFuZ2ViZW5cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6MTMyCittc2dpZCAiLS1ub2Jhbm5lciBpcyBhdmFpbGFibGUgb25seSBmb3Igcm9vdCIKK21zZ3N0ciAiLS1ub2Jhbm5lciBpc3QgbnVyIGbDvHIgZGVuIFN5c3RlbWFkbWluaXN0cmF0b3IgZXJsYXVidCIKKworIzogdGVybS11dGlscy93YWxsLmM6MTM3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudDogJXMiCittc2dzdHIgInVuZ8O8bHRpZ2VzIFplaXTDvGJlcnNjaHJlaXR1bmdzYXJndW1lbnQ6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyNjkKK21zZ2lkICJjYW5ub3QgZ2V0IHBhc3N3ZCB1aWQiCittc2dzdHIgIlBhc3N3b3J0LVVJRCBrYW5uIG5pY2h0IGVyaGFsdGVuIHdlcmRlbiIKKworIzogdGVybS11dGlscy93YWxsLmM6Mjc0Cittc2dpZCAiY2Fubm90IGdldCB0dHkgbmFtZSIKK21zZ3N0ciAiVFRZLU5hbWUga2FubiBuaWNodCBlcnN0ZWxsdCB3ZXJkZW4iCisKKyMgWFhYIOKAkyBIYXZlIHRvIGxvb2sgYXQgb3RoZXIgT1NzIHRyYW5zbGF0aW9uIGZvciBCcm9hZGNhc3QKKyMgTWVzc2FnZQorIzogdGVybS11dGlscy93YWxsLmM6Mjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXNAJXMgKCVzKSAoJXMpOiIKK21zZ3N0ciAiUnVuZHNlbmRlbmFjaHJpY2h0IHZvbiAlc0AlcyAoJXMpICglcyk6IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgcmVhZCAlcyAtIHVzZSBzdGRpbi4iCittc2dzdHIgImF1cyAlcyB3aXJkIG5pY2h0IGdlbGVzZW4g4oCTIFN0YW5kYXJkZWluZ2FiZSB3aXJkIGJlbnV0enQuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXNlcj4gWzx0dHluYW1lPl1cbiIKK21zZ3N0ciAiICVzIFtPcHRpb25lbl0gPEJlbnV0emVyPiBbPFRUWS1OYW1lPl1cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjkwCittc2dpZCAiU2VuZCBhIG1lc3NhZ2UgdG8gYW5vdGhlciB1c2VyLlxuIgorbXNnc3RyICJFaW5lIE5hY2hyaWNodCBhbiBlaW5lbiBhbmRlcmVuIEJlbnV0emVyIHNlbmRlbi5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICJlZmZlY3RpdmUgZ2lkIGRvZXMgbm90IG1hdGNoIGdyb3VwIG9mICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiIKK21zZ3N0ciAiJXMgaXN0IG5pY2h0IGFuZ2VtZWxlZGV0IgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjA3Cittc2dpZCAiY2FuJ3QgZmluZCB5b3VyIHR0eSdzIG5hbWUiCittc2dzdHIgIk5hbWUgSWhyZXMgVFRZcyBrYW5uIG5pY2h0IGZlc3RnZXN0ZWxsdCB3ZXJkZW4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIgorbXNnc3RyICIlcyBoYXQgQmVuYWNocmljaHRpZ3VuZ2VuIGRlYWt0aXZpZXJ0IgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGxvZ2dlZCBpbiBtb3JlIHRoYW4gb25jZTsgd3JpdGluZyB0byAlcyIKK21zZ3N0ciAiJXMgaXN0IG1laHIgYWxzIGVpbm1hbCBhbmdlbWVsZGV0OyBhdWYgJXMgd2lyZCBnZXNjaHJpZWJlbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIzOAorbXNnaWQgImNhcmVmdWxwdXRjIGZhaWxlZCIKK21zZ3N0ciAiY2FyZWZ1bHB1dGMgZmVobGdlc2NobGFnZW4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyAoYXMgJXMpIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIk5hY2hyaWNodCB2b24gJXNAJXMgKGFscyAlcykgYXVmICVzIHVtICVzIOKApiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIk5hY2hyaWNodCB2b24gJXNAJXMgYXVmICVzIHVtICVzIOKApiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjMzMQorbXNnaWQgInlvdSBoYXZlIHdyaXRlIHBlcm1pc3Npb24gdHVybmVkIG9mZiIKK21zZ3N0ciAiSWhyIFNjaHJlaWJ6dWdyaWZmIGlzdCBhYmdlc2NoYWx0ZXQiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiBvbiAlcyIKK21zZ3N0ciAiJXMgaXN0IG5pY2h0IGF1ZiAlcyBhbmdlbWVsZGV0IgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCBvbiAlcyIKK21zZ3N0ciAiJXMgaGF0IEJlbmFjaHJpY2h0aWd1bmdlbiBhdWYgJXMgZGVha3RpdmllcnQiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM0Cittc2dpZCAiRmlsdGVyIG91dCByZXZlcnNlIGxpbmUgZmVlZHMuXG4iCittc2dzdHIgInVtZ2VrZWhydGUgWmVpbGVudm9yc2Now7xiZSBoZXJhdXMgZmlsdGVybi5cbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAgZG8gbm90IG91dHB1dCBiYWNrc3BhY2VzXG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAgcGVybWl0IGZvcndhcmQgaGFsZiBsaW5lIGZlZWRzXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAgcGFzcyB1bmtub3duIGNvbnRyb2wgc2VxdWVuY2VzXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgY29udmVydCBzcGFjZXMgdG8gdGFic1xuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIGNvbnZlcnQgdGFicyB0byBzcGFjZXNcbiIKKyIgLWwsIC0tbGluZXMgTlVNICAgICAgICBidWZmZXIgYXQgbGVhc3QgTlVNIGxpbmVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLUgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiT3B0aW9uZW46XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAga2VpbmUgUsO8a3NjaHJpdHRlIGF1c2dlYmVuXG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAgaGFsYmUgVm9yd8OkcnRzemVpbGVudm9yc2Now7xiZSB6dWxhc3NlblxuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIHVuYmVrYW5udGUgS29udHJvbGxzZXF1ZW56ZW4gZHVyY2hyZWljaGVuXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgTGVlcnplaWNoZW4gaW4gVGFidWxhdG9yZW4gdW13YW5kZWxuXG4iCisiIC14LCAtLXNwYWNlcyAgICAgICAgICAgVGFidWxhdG9yZW4gaW4gTGVlcnplaWNoZW4gdW13YW5kZWxuXG4iCisiIC1sLCAtLWxpbmVzIFpBSEwgICAgICAgbWluZGVzdGVucyBaQUhMIFplaWxlbiB6d2lzY2hlbnNwZWljaGVyblxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIFZlcnNpb25zaW5mbyBhdXNnZWJlbiB1bmQgUHJvZ3JhbW0gYmVlbmRlblxuIgorIiAtSCwgLS1oZWxwICAgICAgICAgICAgIGRpZXNlIEhpbGZlIGF1c2dlYmVuIHVuZCBQcm9ncmFtbSBiZWVuZGVuXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTQ4IHRleHQtdXRpbHMvY29scm0uYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXMgcmVhZHMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dFxuIgorIlxuIgorbXNnc3RyICIlcyBsaWVzdCBhdXMgZGVyIFN0YW5kYXJkZWluZ2FiZSB1bmQgc2NocmVpYnQgaW4gZGllIFN0YW5kYXJkYXVzZ2FiZVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjIxMgorbXNnaWQgImJhZCAtbCBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXMgLWwgQXJndW1lbnQiCisKKyMgJXMgY2FuIGJlIG9uZSBvZiB0aGUgdHdvIGZvbGxvd2luZyB0ZXh0cy4KKyM6IHRleHQtdXRpbHMvY29sLmM6MzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbid0IGJhY2sgdXAgJXMuIgorbXNnc3RyICJXYXJudW5nOiAlcyBrYW5uIG5pY2h0IGdlc2ljaGVydCB3ZXJkZW4uIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjMzNworbXNnaWQgInBhc3QgZmlyc3QgbGluZSIKK21zZ3N0ciAiw7xiZXIgZXJzdGUgWmVpbGUiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM3Cittc2dpZCAiLS0gbGluZSBhbHJlYWR5IGZsdXNoZWQiCittc2dzdHIgIi0tIFplaWxlIHNjaG9uIGdlc2NocmllYmVuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjgxIHRleHQtdXRpbHMvY29sdW1uLmM6MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiICVzIFtPcHRpb25lbl0gWzxEYXRlaT4g4oCmXVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg0Cittc2dpZCAiRmlsdGVyIG5yb2ZmIG91dHB1dCBmb3IgQ1JUIHByZXZpZXdpbmcuXG4iCittc2dzdHIgIm5yb2ZmLUF1c2dhYmUgZsO8ciBkaWUgQmlsZHNjaGlybXZvcnNjaGF1IGZpbHRlcm4uXG4iCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODcKK21zZ2lkICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgICAgc3VwcHJlc3MgYWxsIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiAtdSwgIC0tbm8tdW5kZXJsaW5pbmcgICBVbnRlcnN0cmVpY2h1bmcgdW50ZXJkcsO8Y2tlblxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg4Cittc2dpZCAiIC0yLCAtLWhhbGYtbGluZXMgICAgICAgIHByaW50IGFsbCBoYWxmLWxpbmVzXG4iCittc2dzdHIgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBhbGxlIEhhbGJ6ZWlsZW4gYXVzZ2ViZW5cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW3N0YXJ0Y29sIFtlbmRjb2xdXVxuIgorbXNnc3RyICIiCisiXG4iCisiQXVmcnVmOlxuIgorIiAlcyBbU3RhcnRzcGFsdGUgW0VuZHNwYWx0ZV1dXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo2NAorbXNnaWQgIkZpbHRlciBvdXQgdGhlIHNwZWNpZmllZCBjb2x1bW5zLlxuIgorbXNnc3RyICJEaWUgYW5nZWdlYmVuZW4gU3BhbHRlbiBmaWx0ZXJuLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg1Cittc2dpZCAiZmlyc3QgYXJndW1lbnQiCittc2dzdHIgImVyc3RlcyBBcmd1bWVudCIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NworbXNnaWQgInNlY29uZCBhcmd1bWVudCIKK21zZ3N0ciAiendlaXRlcyBBcmd1bWVudCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjAKK21zZ2lkICJDb2x1bW5hdGUgbGlzdHMuXG4iCittc2dzdHIgIkxpc3RlbiBzcGFsdGVud2Vpc2UgZm9ybWF0aWVyZW4uXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTIzCittc2dpZCAiIC1jLCAtLWNvbHVtbnMgPHdpZHRoPiAgICB3aWR0aCBvZiBvdXRwdXQgaW4gbnVtYmVyIG9mIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbHVtbnMgPEJyZWl0ZT4gICBCcmVpdGUgZGVyIEF1c2dhYmUgYWxzIEFuemFobCBkZXIgWmVpY2hlblxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyNAorbXNnaWQgIiAtdCwgLS10YWJsZSAgICAgICAgICAgICAgY3JlYXRlIGEgdGFibGVcbiIKK21zZ3N0ciAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICBlaW5lIFRhYmVsbGUgZXJzdGVsbGVuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI1Cittc2dpZCAiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiBwb3NzaWJsZSB0YWJsZSBkZWxpbWl0ZXJzXG4iCittc2dzdHIgIiAtcywgLS1zZXBhcmF0b3IgPFN0cmluZz4gbcO2Z2xpY2hlIFRhYmVsbGVudHJlbm5lclxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyNgorbXNnaWQgIiIKKyIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8c3RyaW5nPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucyBzZXBhcmF0b3IgZm9yIHRhYmxlIG91dHB1dDsgZGVmYXVsdCBpcyB0d28gc3BhY2VzXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8c3RyaW5nPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgU3BhbHRlbnRyZW5uZXIgZsO8ciBUYWJlbGxlbmF1c2dhYmU7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBWb3JnYWJlIHNpbmQgendlaSBMZWVyemVpY2hlblxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyOAorbXNnaWQgIiAteCwgLS1maWxscm93cyAgICAgICAgICAgZmlsbCByb3dzIGJlZm9yZSBjb2x1bW5zXG4iCittc2dzdHIgIiAteCwgLS1maWxscm93cyAgICAgICAgICAgWmVpbGVuIHZvciBTcGFsdGVuIGbDvGxsZW5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxODIKK21zZ2lkICJpbnZhbGlkIGNvbHVtbnMgYXJndW1lbnQiCittc2dzdHIgInVuZ8O8bHRpZ2VzIFNwYWx0ZW4tQXJndW1lbnQiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDIyCisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQgaXMgdG9vIGxvbmcsIG91dHB1dCB3aWxsIGJlIHRydW5jYXRlZCIKK21zZ3N0ciAiWmVpbGUgJWQgaXN0IHp1IGxhbmcsIEF1c2dhYmUgd2lyZCBhYmdlc2Nobml0dGVuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTUgdGV4dC11dGlscy9tb3JlLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+Li4uXG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIDxEYXRlaT4g4oCmXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1OAorbXNnaWQgIkRpc3BsYXkgZmlsZSBjb250ZW50cyBpbiBoZXhhZGVjaW1hbCwgZGVjaW1hbCwgb2N0YWwsIG9yIGFzY2lpLlxuIgorbXNnc3RyICJEYXRlaWluaGFsdGUgaGV4YWRlemltYWwsIGRlemltYWwsIG9rdGFsIG9kZXIgaW4gQVNDSUkgZGFyc3RlbGxlbi5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYxCittc2dpZCAiIC1iLCAtLW9uZS1ieXRlLW9jdGFsICAgICAgb25lLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBva3RhbGUgRWluLUJ5dGUtQW56ZWlnZVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjIKK21zZ2lkICIgLWMsIC0tb25lLWJ5dGUtY2hhciAgICAgICBvbmUtYnl0ZSBjaGFyYWN0ZXIgZGlzcGxheVxuIgorbXNnc3RyICIgLWMsIC0tb25lLWJ5dGUtY2hhciAgICAgICBBdXNnYWJlIHZvbiBFaW4tQnl0ZS1aZWljaGVuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MworbXNnaWQgIiAtQywgLS1jYW5vbmljYWwgICAgICAgICAgIGNhbm9uaWNhbCBoZXgrQVNDSUkgZGlzcGxheVxuIgorbXNnc3RyICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBrYW5vbmlzY2hlIEhleCtBU0NJSS1BbnplaWdlXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NAorbXNnaWQgIiAtZCwgLS10d28tYnl0ZXMtZGVjaW1hbCAgIHR3by1ieXRlIGRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICBkZXppbWFsZSBad2VpLUJ5dGVzLUFuemVpZ2VcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY1Cittc2dpZCAiIC1vLCAtLXR3by1ieXRlcy1vY3RhbCAgICAgdHdvLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICBva3RhbGUgWndlaS1CeXRlcy1BbnplaWdlXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NgorbXNnaWQgIiAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgaGV4YWRlemltYWxlIFp3ZWktQnl0ZXMtQW56ZWlnZVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjcKK21zZ2lkICIgLUwsIC0tY29sb3JbPTxtb2RlPl0gICAgICBpbnRlcnByZXQgY29sb3IgZm9ybWF0dGluZyBzcGVjaWZpZXJzXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PE1vZHVzPl0gICAgIGludGVycHJldGllcnQgRm9ybWF0YW5nYWJlbiB6dXIgRmFyYmRhcnN0ZWxsdW5nXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MAorbXNnaWQgIiAtZSwgLS1mb3JtYXQgPGZvcm1hdD4gICAgIGZvcm1hdCBzdHJpbmcgdG8gYmUgdXNlZCBmb3IgZGlzcGxheWluZyBkYXRhXG4iCittc2dzdHIgIiAtZSwgLS1mb3JtYXQgPEZvcm1hdD4gICAgIEZvcm1hdHplaWNoZW5rZXR0ZSBmw7xyIGFuenV6ZWlnZW5kZSBEYXRlblxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzEKK21zZ2lkICIgLWYsIC0tZm9ybWF0LWZpbGUgPGZpbGU+ICBmaWxlIHRoYXQgY29udGFpbnMgZm9ybWF0IHN0cmluZ3NcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcm1hdC1maWxlIDxEYXRlaT4gRGF0ZWkgbWl0IEZvcm1hdHplaWNoZW5rZXR0ZVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzIKK21zZ2lkICIgLW4sIC0tbGVuZ3RoIDxsZW5ndGg+ICAgICBpbnRlcnByZXQgb25seSBsZW5ndGggYnl0ZXMgb2YgaW5wdXRcbiIKK21zZ3N0ciAiIC1uLCAtLWxlbmd0aCA8TMOkbmdlPiAgICAgIG51ciBkaWUgTMOkbmdlbi1CeXRlcyBkZXIgRWluZ2FiZSBpbnRlcnByZXRpZXJlblxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzMKK21zZ2lkICIgLXMsIC0tc2tpcCA8b2Zmc2V0PiAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKK21zZ3N0ciAiIC1zLCAtLXNraXAgPFBvc2l0aW9uPiAgICAgQnl0ZXMgdm9tIEFuZmFuZyBiaXMgPFBvc2l0aW9uPiDDvGJlcnNwcmluZ2VuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NAorbXNnaWQgIiAtdiwgLS1uby1zcXVlZXppbmcgICAgICAgIG91dHB1dCBpZGVudGljYWwgbGluZXNcbiIKK21zZ3N0ciAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgaWRlbnRpc2NoZSBaZWlsZW4gYXVzZ2ViZW5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLWRpc3BsYXkuYzozNjUKK21zZ2lkICJhbGwgaW5wdXQgZmlsZSBhcmd1bWVudHMgZmFpbGVkIgorbXNnc3RyICJhbGxlIEVpbmdhYmVkYXRlaS1Bcmd1bWVudGUgZmVobGdlc2NobGFnZW4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBieXRlIGNvdW50IGZvciBjb252ZXJzaW9uIGNoYXJhY3RlciAlcyIKK21zZ3N0ciAidW5nw7xsdGlnZXIgQnl0ZXrDpGhsZXIgZsO8ciBVbXdhbmRsdW5nc3plaWNoZW4gJXMiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUlcyByZXF1aXJlcyBhIHByZWNpc2lvbiBvciBhIGJ5dGUgY291bnQiCittc2dzdHIgIiUlcyBiZW7DtnRpZ3QgZWluZW4gUHLDpHppc2lvbnMtIG9kZXIgQnl0ZXrDpGhsZXIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjY1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBmb3JtYXQgeyVzfSIKK21zZ3N0ciAiZmFsc2NoZXMgRm9ybWF0IHslc30iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjcwCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb252ZXJzaW9uIGNoYXJhY3RlciAlJSVzIgorbXNnc3RyICJ1bmfDvGx0aWdlcyBVbXdhbmRsdW5nc3plaWNoZW4gJSUlcyIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NDM2Cittc2dpZCAiYnl0ZSBjb3VudCB3aXRoIG11bHRpcGxlIGNvbnZlcnNpb24gY2hhcmFjdGVycyIKK21zZ3N0ciAiQnl0ZXrDpGhsZXIgbWl0IG1laHJlcmVuIFVtd2FuZGx1bmdzemVpY2hlbiIKKworIzogdGV4dC11dGlscy9saW5lLmM6MzMKK21zZ2lkICJSZWFkIG9uZSBsaW5lLlxuIgorbXNnc3RyICJFaW5lIFplaWxlIGxlc2VuLlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMjgKK21zZ2lkICJBIGZpbGUgcGVydXNhbCBmaWx0ZXIgZm9yIENSVCB2aWV3aW5nLlxuIgorbXNnc3RyICJEYXRlaWFuc2ljaHRzZmlsdGVyIGbDvHIgZGllIEJpbGRzY2hpcm1hbnplaWdlLlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzEKK21zZ2lkICIgLWQgICAgICAgICAgZGlzcGxheSBoZWxwIGluc3RlYWQgb2YgcmluZ2luZyBiZWxsXG4iCittc2dzdHIgIiAtZCAgICAgICAgICBkaWVzZSBIaWxmZSBhbnplaWdlbiwgYW5zdGF0dCBkaWUgU3lzdGVtZ2xvY2tlIGtsaW5nZW4genUgbGFzc2VuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMgorbXNnaWQgIiAtZiAgICAgICAgICBjb3VudCBsb2dpY2FsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgbG9naXNjaGUgYW5zdGF0dCBCaWxkc2NoaXJtemVpbGVuIHrDpGhsZW5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjMzCittc2dpZCAiIC1sICAgICAgICAgIHN1cHByZXNzIHBhdXNlIGFmdGVyIGZvcm0gZmVlZFxuIgorbXNnc3RyICItbCAgICAgICAgICAgUGF1c2UgbmFjaCBaZWlsZW52b3JzY2h1YiB1bnRlcmRyw7xja2VuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNAorbXNnaWQgIiAtYyAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBkaXNwbGF5IHRleHQgYW5kIGNsZWFuIGxpbmUgZW5kc1xuIgorbXNnc3RyICIgLWMgICAgICAgICAgbmljaHQgcm9sbGVuLCBUZXh0IHVuZCBzYXViZXJlIFplaWxlbmVuZGVuIGFuemVpZ2VuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNQorbXNnaWQgIiAtcCAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBjbGVhbiBzY3JlZW4gYW5kIGRpc3BsYXkgdGV4dFxuIgorbXNnc3RyICIgLXAgICAgICAgICAgbmljaHQgcm9sbGVuLCBCaWxkc2NoaXJtIGxlZXJlbiB1bmQgVGV4dCBhbnplaWdlblxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzYKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIgLXMgICAgICAgICAgbWVocmVyZSBMZWVyemVpbGVuIHp1IGVpbmVyIHZlcnNjaG1lbHplblxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzcKK21zZ2lkICIgLXUgICAgICAgICAgc3VwcHJlc3MgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIC11ICAgICAgICAgIFVudGVyc3RyZWljaHVuZyB1bnRlcmRyw7xja2VuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOAorbXNnaWQgIiAtPG51bWJlcj4gICB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKK21zZ3N0ciAiIC08QW56YWhsPiAgIGRpZSBBbnphaGwgZGVyIFplaWxlbiBwcm8gQmlsZHNjaGlybWluaGFsdFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzkKK21zZ2lkICIgKzxudW1iZXI+ICAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIGxpbmUgbnVtYmVyXG4iCittc2dzdHIgIiArPFphaGw+ICAgICBEYXRlaSBiZWdpbm5lbmQgYmVpIFplaWxlbm51bW1lciBhbnplaWdlblxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDAKK21zZ2lkICIgKy88c3RyaW5nPiAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIHNlYXJjaCBzdHJpbmcgbWF0Y2hcbiIKK21zZ3N0ciAiIgorIiArLzxaZWljaGVua2V0dGU+XG4iCisiICAgICAgICAgICAgIERhdGVpIGJlZ2lubmVuZCBiZWkgZGVyIGdlZnVuZGVuZW4gWmVpY2hlbmtldHRlXG4iCisiICAgICAgICAgICAgICAgYW56ZWlnZW5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQxCittc2dpZCAiIC1WICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgLVYgICAgICAgICAgVmVyc2lvbnNpbmZvcm1hdGlvbiBhdXNnZWJlbiB1bmQgYmVlbmRlblxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcHRpb24gLSVzIgorbXNnc3RyICJ1bmJla2FubnRlIE9wdGlvbiAtJXMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjUwOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqICVzOiBkaXJlY3RvcnkgKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKiogJXM6IFZlcnplaWNobmlzICoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKioqKioqICVzOiBOb3QgYSB0ZXh0IGZpbGUgKioqKioqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKioqKioqICVzOiBLZWluZSBUZXh0ZGF0ZWkgKioqKioqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIltVc2UgcSBvciBRIHRvIHF1aXRdIgorbXNnc3RyICJbQmVudXR6ZW4gU2llIHEgb2RlciBRIHp1bSBCZWVuZGVuXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tTW9yZS0tIgorbXNnc3RyICItLU1laHItLSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzI2CisjLCBjLWZvcm1hdAorbXNnaWQgIihOZXh0IGZpbGU6ICVzKSIKK21zZ3N0ciAiKE7DpGNoc3RlIERhdGVpOiAlcykiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjczNAorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3Mgc3BhY2UgdG8gY29udGludWUsICdxJyB0byBxdWl0Ll0iCittc2dzdHIgIltMZWVydGFzdGUgenVtIEZvcnRmYWhyZW4sIOKAnnHigJwgenVtIEJlZW5kZW4uXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTE2MgorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5iYWNrICVkIHBhZ2UiCittc2dpZF9wbHVyYWwgIi4uLmJhY2sgJWQgcGFnZXMiCittc2dzdHJbMF0gIuKApiAlZCBTZWl0ZSB6dXLDvGNrIgorbXNnc3RyWzFdICLigKYgJWQgU2VpdGVuIHp1csO8Y2siCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc2tpcHBpbmcgJWQgbGluZSIKK21zZ2lkX3BsdXJhbCAiLi4uc2tpcHBpbmcgJWQgbGluZXMiCittc2dzdHJbMF0gIuKApiAlZCBaZWlsZSB3aXJkIMO8YmVyc3BydW5nZW4iCittc2dzdHJbMV0gIuKApiAlZCBaZWlsZW4gd2VyZGVuIMO8YmVyc3BydW5nZW4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNDgKK21zZ2lkICIiCisiXG4iCisiKioqQmFjayoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqWnVyw7xjayoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjYzCittc2dpZCAiTm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICJLZWluIHZvcmhlcmlnZXIgcmVndWzDpHJlciBBdXNkcnVjayIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI5MworbXNnaWQgIiIKKyJcbiIKKyJNb3N0IGNvbW1hbmRzIG9wdGlvbmFsbHkgcHJlY2VkZWQgYnkgaW50ZWdlciBhcmd1bWVudCBrLiAgRGVmYXVsdHMgaW4gYnJhY2tldHMuXG4iCisiU3RhciAoKikgaW5kaWNhdGVzIGFyZ3VtZW50IGJlY29tZXMgbmV3IGRlZmF1bHQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJEZW4gbWVpc3RlbiBCZWZlaGxlbiBrYW5uIG9wdGlvbmFsIGVpbiBHYW56emFobGFyZ3VtZW50IGsgdm9yYXVzZ2VoZW47IGRpZVxuIgorIlZvcmVpbnN0ZWxsdW5nIGluIEtsYW1tZXJuLiBTdGVybmNoZW4gKCopIGJlZGV1dGV0LCBkYXNzIGRhcyBBcmd1bWVudCBkaWUgbmV1ZVxuIgorIlZvcmVpbnN0ZWxsdW5nIHdpcmQuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzMDAKK21zZ2lkICIiCisiPHNwYWNlPiAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXSpcbiIKKyI8cmV0dXJuPiAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFsxXSpcbiIKKyJkIG9yIGN0cmwtRCAgICAgICAgICAgICBTY3JvbGwgayBsaW5lcyBbY3VycmVudCBzY3JvbGwgc2l6ZSwgaW5pdGlhbGx5IDExXSpcbiIKKyJxIG9yIFEgb3IgPGludGVycnVwdD4gICBFeGl0IGZyb20gbW9yZVxuIgorInMgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIGxpbmVzIG9mIHRleHQgWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorImIgb3IgY3RybC1CICAgICAgICAgICAgIFNraXAgYmFja3dhcmRzIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIHBsYWNlIHdoZXJlIHByZXZpb3VzIHNlYXJjaCBzdGFydGVkXG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGxpbmUgbnVtYmVyXG4iCisiLzxyZWd1bGFyIGV4cHJlc3Npb24+ICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiByZWd1bGFyIGV4cHJlc3Npb24gWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiBsYXN0IHIuZSBbMV1cbiIKKyIhPGNtZD4gb3IgOiE8Y21kPiAgICAgICBFeGVjdXRlIDxjbWQ+IGluIGEgc3Vic2hlbGxcbiIKKyJ2ICAgICAgICAgICAgICAgICAgICAgICBTdGFydCB1cCAvdXNyL2Jpbi92aSBhdCBjdXJyZW50IGxpbmVcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICBSZWRyYXcgc2NyZWVuXG4iCisiOm4gICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIG5leHQgZmlsZSBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggcHJldmlvdXMgZmlsZSBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlclxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIFJlcGVhdCBwcmV2aW91cyBjb21tYW5kXG4iCittc2dzdHIgIiIKKyI8TGVlcnRhc3RlPiAgICAgICAgICAgICBkaWUgbsOkY2hzdGVuIGsgWmVpbGVuIFRleHQgemVpZ2VuIFtCaWxkc2NoaXJtZ3LDtsOfZV1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICBkaWUgbsOkY2hzdGVuIGsgWmVpbGVuIFRleHQgemVpZ2VuIFtCaWxkc2NoaXJtZ3LDtsOfZV0qXG4iCisiPEVpbmdhYmU+ICAgICAgICAgICAgICAgZGllIG7DpGNoc3RlbiBrIFplaWxlbiBUZXh0IHplaWdlbiBbMV0qXG4iCisiZCBvZGVyIFN0cmctRCAgICAgICAgICAgayBaZWlsZW4gcm9sbGVuIFttb21lbnRhbmUgUm9sbGdyw7bDn2UsIGFuZmFuZ3MgMTFdKlxuIgorInEgb2RlciBRIG9kZXIgPFVudGJyPiAgIG1vcmUgYmVlbmRlblxuIgorInMgICAgICAgICAgICAgICAgICAgICAgIGsgWmVpbGVuIFRleHQgdm9yd8OkcnRzIHNwcmluZ2VuIFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIGsgQmlsZHNjaGlybWUgVGV4dCB2b3J3w6RydHMgc3ByaW5nZW4gWzFdXG4iCisiYiBvZGVyIFN0cmctQiAgICAgICAgICAgayBCaWxkc2NoaXJtZSBUZXh0IHLDvGNrd8OkcnRzIHNwcmluZ2VuIFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgIHp1bSBBbmZhbmcgZGVyIGxldHp0ZW4gU3VjaGUgZ2VoZW5cbiIKKyI9ICAgICAgICAgICAgICAgICAgICAgICBtb21lbnRhbmUgWmVpbGVubnVtbWVyIHplaWdlblxuIgorIi88cmVndWzDpHJlciBBdXNkcnVjaz4gICBuYWNoIGstdGVtIEF1ZnRyZXRlbiBkZXMgcmVndWzDpHJlbiBBdXNkcnVja3Mgc3VjaGVuIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIG5hY2ggay10ZW0gQXVmdHJldGVuIGRlcyBsZXR6dGVuIHJlZy4gQXVzZHIuIHN1Y2hlbiBbMV1cbiIKKyIhPGJlZj4gb2RlciA6ITxiZWY+ICAgICA8YmVmPiBpbiBlaW5lciBTdWJzaGVsbCBhdXNmw7xocmVuXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgL3Vzci9iaW4vdmkgYW4gbW9tZW50YW5lciBaZWlsZSBzdGFydGVuXG4iCisiU3RyZy1MICAgICAgICAgICAgICAgICAgU2NoaXJtIG5ldSB6ZWljaG5lblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIHp1ciBrLXRlbiBuw6RjaHN0ZW4gRGF0ZWkgZ2VoZW4gWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgenVyIGstdGVuIHZvcmlnZW4gRGF0ZWkgZ2VoZW4gWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgbW9tZW50YW5lbiBEYXRlaW5hbWVuIHVuZCBaZWlsZW5udW1tZXIgemVpZ2VuXG4iCisiLiAgICAgICAgICAgICAgICAgICAgICAgbGV0enRlbiBCZWZlaGwgd2llZGVyaG9sZW5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTM3MyB0ZXh0LXV0aWxzL21vcmUuYzoxMzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyAnaCcgZm9yIGluc3RydWN0aW9ucy5dIgorbXNnc3RyICJbRHLDvGNrZW4gU2llIOKAnmjigJwgZsO8ciBIaWxmZS5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBsaW5lICVkIgorbXNnc3RyICLigJ4lc+KAnCBaZWlsZSAlZCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQxMgorIywgYy1mb3JtYXQKK21zZ2lkICJbTm90IGEgZmlsZV0gbGluZSAlZCIKK21zZ3N0ciAiW0tlaW5lIERhdGVpXSBaZWlsZSAlZCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQ5NAorbXNnaWQgIiAgT3ZlcmZsb3dcbiIKK21zZ3N0ciAiICDDnGJlcmxhdWZcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU0MworbXNnaWQgIi4uLnNraXBwaW5nXG4iCittc2dzdHIgIuKApiB3aXJkIMO8YmVyc3BydW5nZW5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU3NworbXNnaWQgIiIKKyJcbiIKKyJQYXR0ZXJuIG5vdCBmb3VuZFxuIgorbXNnc3RyICIiCisiXG4iCisiTXVzdGVyIHd1cmRlIG5pY2h0IGdlZnVuZGVuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1ODMgdGV4dC11dGlscy9wZy5jOjEwMjcgdGV4dC11dGlscy9wZy5jOjExNzMKK21zZ2lkICJQYXR0ZXJuIG5vdCBmb3VuZCIKK21zZ3N0ciAiTXVzdGVyIHd1cmRlIG5pY2h0IGdlZnVuZGVuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjI5Cittc2dpZCAiZXhlYyBmYWlsZWRcbiIKK21zZ3N0ciAi4oCeZXhlY+KAnCBmZWhsZ2VzY2hsYWdlblxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjQzCittc2dpZCAiY2FuJ3QgZm9ya1xuIgorbXNnc3RyICJuZXVlciBQcm96ZXNzIGthbm4gbmljaHQgZXJ6ZXVndCB3ZXJkZW5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY3NworbXNnaWQgIiIKKyJcbiIKKyIuLi5Ta2lwcGluZyAiCittc2dzdHIgIiIKKyJcbiIKKyLigKYgd2lyZCDDvGJlcnNwcnVuZ2VuICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY4MQorbXNnaWQgIi4uLlNraXBwaW5nIHRvIGZpbGUgIgorbXNnc3RyICLigKYgU3BydW5nIHp1IERhdGVpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjgzCittc2dpZCAiLi4uU2tpcHBpbmcgYmFjayB0byBmaWxlICIKK21zZ3N0ciAi4oCmIFNwcnVuZyB6dXLDvGNrIHp1IERhdGVpICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTk3MworbXNnaWQgIkxpbmUgdG9vIGxvbmciCittc2dzdHIgIlplaWxlIGlzdCB6dSBsYW5nIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMDEwCittc2dpZCAiTm8gcHJldmlvdXMgY29tbWFuZCB0byBzdWJzdGl0dXRlIGZvciIKK21zZ3N0ciAiS2VpbiB2b3JoZXJpZ2VyIEJlZmVobCwgZGVyIGVpbmdlZsO8Z3Qgd2VyZGVuIGvDtm5udGUiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNDQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBzY3JlZW5cbiIKKyIgIHEgb3IgUSAgICAgICAgICAgICAgICAgIHF1aXQgcHJvZ3JhbVxuIgorIiAgPG5ld2xpbmU+ICAgICAgICAgICAgICAgbmV4dCBwYWdlXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBza2lwIGEgcGFnZSBmb3J3YXJkXG4iCisiICBkIG9yIF5EICAgICAgICAgICAgICAgICBuZXh0IGhhbGZwYWdlXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBuZXh0IGxpbmVcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIGxhc3QgcGFnZVxuIgorIiAgL3JlZ2V4LyAgICAgICAgICAgICAgICAgc2VhcmNoIGZvcndhcmQgZm9yIHJlZ2V4XG4iCisiICA/cmVnZXg/IG9yIF5yZWdleF4gICAgICBzZWFyY2ggYmFja3dhcmQgZm9yIHJlZ2V4XG4iCisiICAuIG9yIF5MICAgICAgICAgICAgICAgICByZWRyYXcgc2NyZWVuXG4iCisiICB3IG9yIHogICAgICAgICAgICAgICAgICBzZXQgcGFnZSBzaXplIGFuZCBnbyB0byBuZXh0IHBhZ2VcbiIKKyIgIHMgZmlsZW5hbWUgICAgICAgICAgICAgIHNhdmUgY3VycmVudCBmaWxlIHRvIGZpbGVuYW1lXG4iCisiICAhY29tbWFuZCAgICAgICAgICAgICAgICBzaGVsbCBlc2NhcGVcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIHByZXZpb3VzIGZpbGVcbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIG5leHQgZmlsZVxuIgorIlxuIgorIk1hbnkgY29tbWFuZHMgYWNjZXB0IHByZWNlZGluZyBudW1iZXJzLCBmb3IgZXhhbXBsZTpcbiIKKyIrMTxuZXdsaW5lPiAobmV4dCBwYWdlKTsgLTE8bmV3bGluZT4gKHByZXZpb3VzIHBhZ2UpOyAxPG5ld2xpbmU+IChmaXJzdCBwYWdlKS5cbiIKKyJcbiIKKyJTZWUgcGcoMSkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgZGllc2VyIEJpbGRzY2hpcm1cbiIKKyIgIHEgb3IgUSAgICAgICAgICAgICAgICAgIFByb2dyYW1tIGJlZW5kZW5cbiIKKyIgIDxaZWlsZW51bWJydWNoPiAgICAgICAgIG7DpGNoc3RlIFNlaXRlXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBlaW4gU2VpdGUgdm9yd8OkcnRzIHNwcmluZ2VuXG4iCisiICBkIG9yIF5EICAgICAgICAgICAgICAgICBuw6RjaHN0ZSBoYWxiZSBTZWl0ZVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgbsOkY2hzdGUgWmVpbGVcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIGxldHp0ZSBTZWl0ZVxuIgorIiAgL1JlZ2V4LyAgICAgICAgICAgICAgICAgdm9yd8OkcnRzIG5hY2ggZGVtIHJlZ3Vsw6RyZW4gQXVzZHJ1Y2sgc3VjaGVuXG4iCisiICA/UmVnZXg/IG9kZXIgXnJlZ2V4XiAgICByw7xja3fDpHJ0cyBuYWNoIGRlbSByZWd1bMOkcmVuIEF1c2RydWNrIHN1Y2hlblxuIgorIiAgLiBvZGVyIF5MICAgICAgICAgICAgICAgQmlsZHNjaGlybSBlcm5ldXQgYXVzZ2ViZW5cbiIKKyIgIHcgb2RlciB6ICAgICAgICAgICAgICAgIFNlaXRlbmdyw7bDn2Ugc2V0emVuIHVuZCB6dXIgbsOkY2hzdGVuIFNlaXRlIGdlaGVuXG4iCisiICBzIERhdGVpbmFtZSAgICAgICAgICAgICBha3R1ZWxsZSBEYXRlaSBpbiBEYXRlaW5hbWUgc3BlaWNoZXJuXG4iCisiICAhQmVmZWhsICAgICAgICAgICAgICAgICBCZWZlaGwgbWl0IFNoZWxsIGF1c2dlYmVuXG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICB6dXIgdm9yaGVyaWdlbiBEYXRlaSBzcHJpbmdlblxuIgorIiAgbiAgICAgICAgICAgICAgICAgICAgICAgenVyIG7DpGNoc3RlbiBEYXRlaSBzcHJpbmdlblxuIgorIlxuIgorIlZpZWxlIEJlZmVobGUgYWt6ZXB0aWVyZW4gdm9yYW4gZ2VoZW5kZSBaYWhsZW4sIHp1bSBCZWlzcGllbDpcbiIKKyIrMTxFaW5nYWJlPiAobsOkY2hzdGUgU2VpdGUpOyAtMTxFaW5nYWJlPiAodm9yaGVyaWdlIFNlaXRlKTsgMTxFaW5nYWJlPiAoZXJzdGUgU2VpdGUpLlxuIgorIlxuIgorIkluIHBnKDEpIGZpbmRlbiBTaWUgd2VpdGVyZSBJbmZvcm1hdGlvbmVuLlxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyMgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFsrbGluZV0gWysvcGF0dGVybi9dIFtmaWxlc11cbiIKK21zZ3N0ciAiICVzIFtPcHRpb25lbl0gWytaZWlsZV0gWysvTXVzdGVyL10gW0RhdGVpZW5dXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMjYKK21zZ2lkICJCcm93c2UgcGFnZXdpc2UgdGhyb3VnaCB0ZXh0IGZpbGVzLlxuIgorbXNnc3RyICJUZXh0ZGF0ZWllbiBzZWl0ZW53ZWlzZSBkdXJjaHN1Y2hlbi5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyOQorbXNnaWQgIiAtbnVtYmVyICAgICAgbGluZXMgcGVyIHBhZ2VcbiIKK21zZ3N0ciAiIC1udW1iZXIgICAgICBaZWlsZW4gcHJvIFNlaXRlXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzAKK21zZ2lkICIgLWMgICAgICAgICAgIGNsZWFyIHNjcmVlbiBiZWZvcmUgZGlzcGxheWluZ1xuIgorbXNnc3RyICIgLWMgICAgICAgICAgIEJpbGRzY2hpcm0gdm9yIGRlciBBbnplaWdlIGxlZXJlblxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMxCittc2dpZCAiIC1lICAgICAgICAgICBkbyBub3QgcGF1c2UgYXQgZW5kIG9mIGEgZmlsZVxuIgorbXNnc3RyICIgLWUgICAgICAgICAgIGFtIEVuZGUgZGVyIERhdGVpIG5pY2h0IHBhdXNpZXJlblxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMyCittc2dpZCAiIC1mICAgICAgICAgICBkbyBub3Qgc3BsaXQgbG9uZyBsaW5lc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgIGxhbmdlIFplaWxlbiBuaWNodCB1bWJyZWNoZW5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMworbXNnaWQgIiAtbiAgICAgICAgICAgdGVybWluYXRlIGNvbW1hbmQgd2l0aCBuZXcgbGluZVxuIgorbXNnc3RyICIgLW4gICAgICAgICAgIEJlZmVobCBtaXQgbmV1ZXIgWmVpbGUgYmVlbmRlblxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM0Cittc2dpZCAiIC1wIDxwcm9tcHQ+ICBzcGVjaWZ5IHByb21wdFxuIgorbXNnc3RyICIgLXAgPHByb21wdD4gIFByb21wdCBhbmdlYmVuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzUKK21zZ2lkICIgLXIgICAgICAgICAgIGRpc2FsbG93IHNoZWxsIGVzY2FwZVxuIgorbXNnc3RyICIgLXIgICAgICAgICAgIFNoZWxsLUVzY2FwZSBuaWNodCBlcmxhdWJlblxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM2Cittc2dpZCAiIC1zICAgICAgICAgICBwcmludCBtZXNzYWdlcyB0byBzdGRvdXRcbiIKK21zZ3N0ciAiIC1zICAgICAgICAgICBOYWNocmljaHRlbiBhdWYgU3RhbmRhcmRhdXNnYWJlIGF1c2dlYmVuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzcKK21zZ2lkICIgK251bWJlciAgICAgIHN0YXJ0IGF0IHRoZSBnaXZlbiBsaW5lXG4iCittc2dzdHIgIiArbnVtYmVyICAgICAgaW4gZGVyIGFuZ2VnZWJlbmVuIFplaWxlIHN0YXJ0ZW5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzOAorbXNnaWQgIiArL3BhdHRlcm4vICAgc3RhcnQgYXQgdGhlIGxpbmUgY29udGFpbmluZyBwYXR0ZXJuXG4iCittc2dzdHIgIiArL3BhdHRlcm4vICAgIGluIGRlciBkYXMgTXVzdGVyIGVudGhhbHRlbmRlbiBaZWlsZSBzdGFydGVuXG4iCisKKyMgbGliYzogIkRpZSBPcHRpb24g4oCeJXPigJwgZXJmb3JkZXJ0IGVpbiBBcmd1bWVudFxuIgorIzogdGV4dC11dGlscy9wZy5jOjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gJXMiCittc2dzdHIgIk9wdGlvbiBlcmZvcmRlcnQgZWluIEFyZ3VtZW50IC0tICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgb3B0aW9uIC0tICVzIgorbXNnc3RyICJ1bnp1bMOkc3NpZ2UgT3B0aW9uIC0tICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzU5Cittc2dpZCAiLi4uc2tpcHBpbmcgZm9yd2FyZFxuIgorbXNnc3RyICLigKYgU3BydW5nIHZvcnfDpHJ0c1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzYxCittc2dpZCAiLi4uc2tpcHBpbmcgYmFja3dhcmRcbiIKK21zZ3N0ciAi4oCmIFNwcnVuZyByw7xja3fDpHJ0c1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzc3Cittc2dpZCAiTm8gbmV4dCBmaWxlIgorbXNnc3RyICJLZWluZSBuw6RjaHN0ZSBEYXRlaSIKKworIzogdGV4dC11dGlscy9wZy5jOjM4MQorbXNnaWQgIk5vIHByZXZpb3VzIGZpbGUiCittc2dzdHIgIktlaW4gdm9yaGVyZ2VoZW5kZSBEYXRlaSIKKworIzogdGV4dC11dGlscy9wZy5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yIGZyb20gJXMgZmlsZSIKK21zZ3N0ciAiRmVobGVyIGJlaW0gTGVzZW4gYXVzICVzLURhdGVpIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgRU9GIGluICVzIGZpbGUiCittc2dzdHIgIlVuZXJ3YXJ0ZXRlcyBEYXRlaWVuZGUgaW4gJXMtRGF0ZWkiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBlcnJvciBpbiAlcyBmaWxlIgorbXNnc3RyICJVbmJla2FubnRlciBGZWhsZXIgaW4gJXMtRGF0ZWkiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NDEKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiVGVtcG9yw6RyZSBEYXRlaSBrb25udGUgbmljaHQgYW5nZWxlZ3Qgd2VyZGVuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTUwIHRleHQtdXRpbHMvcGcuYzoxMTE0IHRleHQtdXRpbHMvcGcuYzoxMTQwCittc2dpZCAiUkUgZXJyb3I6ICIKK21zZ3N0ciAiRmVobGVyIGluIHJlZ3Vsw6RyZW0gQXVzZHJ1Y2s6ICIKKworIzogdGV4dC11dGlscy9wZy5jOjEwOTcKK21zZ2lkICIoRU9GKSIKK21zZ3N0ciAiKERhdGVpZW5kZSkiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTIyIHRleHQtdXRpbHMvcGcuYzoxMTQ4Cittc2dpZCAiTm8gcmVtZW1iZXJlZCBzZWFyY2ggc3RyaW5nIgorbXNnc3RyICJLZWluIGdlbWVya3RlciBTdWNodGV4dCIKKworIzogdGV4dC11dGlscy9wZy5jOjEyMDMKK21zZ2lkICJjYW5ub3Qgb3BlbiAiCittc2dzdHIgImthbm4gbmljaHQgZ2XDtmZmbmV0IHdlcmRlbiIKKworIzogdGV4dC11dGlscy9wZy5jOjEyNTUKK21zZ2lkICJzYXZlZCIKK21zZ3N0ciAiZ2VzcGVpY2hlcnQiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzQ1Cittc2dpZCAiOiAhY29tbWFuZCBub3QgYWxsb3dlZCBpbiByZmxhZyBtb2RlLlxuIgorbXNnc3RyICI6ICFiZWZlaGwgaW0gcmZsYWctTW9kdXMgbmljaHQgZXJsYXVidC5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzODAKK21zZ2lkICJmb3JrKCkgZmFpbGVkLCB0cnkgYWdhaW4gbGF0ZXJcbiIKK21zZ3N0ciAiZm9yaygpIGZlaGxnZXNjaGxhZ2VuLCBzcMOkdGVyIHZlcnN1Y2hlblxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTQ2OAorbXNnaWQgIihOZXh0IGZpbGU6ICIKK21zZ3N0ciAiKE7DpGNoc3RlIERhdGVpOiAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzIENvcHlyaWdodCAoYykgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4iCittc2dzdHIgIiVzICVzIENvcHlyaWdodCAoYykgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuIEFsbGUgUmVjaHRlIHZvcmJlaGFsdGVuLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU4NyB0ZXh0LXV0aWxzL3BnLmM6MTY2MAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMgcGVyIHBhZ2UiCittc2dzdHIgIkVpbmxlc2VuIGRlciBaZWlsZW5hbnphaGwgcHJvIFNlaXRlIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogdGV4dC11dGlscy9yZXYuYzo3NgorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKK21zZ3N0ciAiQXVmcnVmOiAlcyBbT3B0aW9uZW5dIFtEYXRlaSDigKZdXG4iCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6ODAKK21zZ2lkICJSZXZlcnNlIGxpbmVzIGNoYXJhY3Rlcndpc2UuXG4iCittc2dzdHIgIlplaWxlbiB6ZWljaGVud2Vpc2UgdW1rZWhyZW4uXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5jb21wbGV0ZSB3cml0ZSB0byBcIiVzXCIgKHdyaXR0ZW4gJXpkLCBleHBlY3RlZCAlemQpXG4iCittc2dzdHIgInVudm9sbHN0w6RuZGlnZXIgU2NocmVpYnZvcmdhbmcgbmFjaCDigJ4lc+KAnCAoJXpkIGdlc2NocmllYmVuLCAlemQgZXJ3YXJ0ZXQpXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaCAobGltaXQgb2YgaW5vdGlmeSB3YXRjaGVzIHdhcyByZWFjaGVkKS4iCittc2dzdHIgIiVzOiBpbm90aWZ5LcOcYmVyd2FjaHVuZyBrYW5uIG5pY2h0IGhpbnp1Z2Vmw7xndCB3ZXJkZW4sIGRpZSBCZWdyZW56dW5nIGRlciBpbm90aWZ5LcOcYmVyd2FjaHVuZ2VuIHd1cmRlIGVycmVpY2h0LiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbl0gPGZpbGU+XG4iCittc2dzdHIgIiAlcyBbT3B0aW9uXSA8RGF0ZWk+XG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMDAKK21zZ2lkICJGb2xsb3cgdGhlIGdyb3d0aCBvZiBhIGxvZyBmaWxlLlxuIgorbXNnc3RyICJEZW4gSGluenVmw7xndW5nZW4genUgZWluZXIgUHJvdG9rb2xsZGF0ZWkgZm9sZ2VuLlxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjAzCittc2dpZCAiIC1uLCAtLWxpbmVzIDxudW1iZXI+ICAgb3V0cHV0IHRoZSBsYXN0IDxudW1iZXI+IGxpbmVzXG4iCittc2dzdHIgIiAtbiwgLS1saW5lcyA8QW56YWhsPiAgIGRpZSBsZXR6dGVuIDxBbnphaGw+IFplaWxlbiBhdXNnZWJlblxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjA0Cittc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgICAgc2FtZSBhcyAnLW4gPG51bWJlcj4nXG4iCittc2dzdHIgIiAtPEFuemFobD4gICAgICAgICAgICAgIGdsZWljaGJlZGV1dGVuZCBtaXQg4oCeLW4gPEFuemFobD7igJxcbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIxMAorbXNnaWQgIldhcm5pbmc6IHVzZSBvZiAndGFpbGYnIGlzIGRlcHJlY2F0ZWQsIHVzZSAndGFpbCAtZicgaW5zdGVhZC5cbiIKK21zZ3N0ciAiV2FybnVuZzog4oCedGFpbGbigJwgc29sbHRlIG5pY2h0IG1laHIgdmVyd2VuZGV0IHdlcmRlbi4gQmVudXR6ZW4gU2llIHN0YXR0IGRlc3NlbiDigJ50YWlsIC1m4oCcLlxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjIzIHRleHQtdXRpbHMvdGFpbGYuYzoyNjMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGxpbmVzIgorbXNnc3RyICJFaW5sZXNlbiBkZXIgWmVpbGVuYW56YWhsIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjI3NQorbXNnaWQgIm5vIGlucHV0IGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICJrZWluZSBFaW5nYWJlZGF0ZWkgYW5nZWdlYmVuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBmaWxlIgorbXNnc3RyICIlczogaXN0IGtlaW5lIERhdGVpIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiAuLi5dXG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIFs8RGF0ZWk+IOKApl1cbiIKKworIzogdGV4dC11dGlscy91bC5jOjEzOQorbXNnaWQgIkRvIHVuZGVybGluaW5nLlxuIgorbXNnc3RyICJVbnRlcnN0cmVpY2h1bmcuXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDIKK21zZ2lkICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICDDvGJlcnNjaHJlaWJ0IGRpZSBVbWdlYnVuZ3N2YXJpYWJsZSBURVJNXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDMKK21zZ2lkICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIgorbXNnc3RyICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICBVbnRlcnN0cmVpY2h1bmcgZHVyY2ggZWluZSB6dXPDpHR6bGljaGUgWmVpbGUgaW5kaXppZXJlblxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA0Cittc2dpZCAidHJvdWJsZSByZWFkaW5nIHRlcm1pbmZvIgorbXNnc3RyICJQcm9ibGVtZSBiZWltIExlc2VuIGRlciB0ZXJtaW5mby1EYXRlbmJhbmsiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgYCVzJyBpcyBub3Qga25vd24sIGRlZmF1bHRpbmcgdG8gYGR1bWInIgorbXNnc3RyICJUZXJtaW5hbCDigJ4lc+KAnCBpc3QgbmljaHQgYmVrYW5udCwgVm9yZ2FiZSDigJ5kdW1i4oCcIHdpcmQgYmVudXR6dCIKKworIzogdGV4dC11dGlscy91bC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGVzY2FwZSBzZXF1ZW5jZSBpbiBpbnB1dDogJW8sICVvIgorbXNnc3RyICJVbmJla2FubnRlIEVzY2FwZS1TZXF1ZW56IGluIGRlciBFaW5nYWJlOiAlbywgJW8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzo2MjQKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAiRWluZ2FiZXplaWxlIGlzdCB6dSBsYW5nLiIKKworI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIHVzZSB0aGUgSGFyZHdhcmUgQ2xvY2suIgorI34gbXNnc3RyICJOdXIgZGVyIFN5c3RlbWFkbWluaXN0cmF0b3IgZGFyZiBkaWUgSGFyZHdhcmV1aHIgYmVudXR6ZW4uIgorCisjfiBtc2dpZCAiRmlsZXN5c3RlbSBsYWJlbDoiCisjfiBtc2dzdHIgIkRhdGVpc3lzdGVtYmV6ZWljaG51bmc6IgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHNldCBQQVRIIgorI34gbXNnc3RyICJGZXN0bGVnZW4gdm9uIFBBVEggZmVobGdlc2NobGFnZW4iCisKKyN+IG1zZ2lkICIlZCIKKyN+IG1zZ3N0ciAiJWQiCisKKyN+IG1zZ2lkICJ1c2Ugb2YgJ2tpbGwgLS1waWQnIG9wdGlvbiBhcyBjb21tYW5kIG5hbWUgaXMgZGVwcmVjYXRlZCIKKyN+IG1zZ3N0ciAiVmVyd2VuZHVuZyBkZXIgT3B0aW9uIOKAnmtpbGwgLS1waWTigJwgYWxzIEJlZmVobHNuYW1lIGlzdCB2ZXJhbHRldCIKKworI34gbXNnaWQgIiU0ZC0lLjJkLSUuMmQgJTAyZDolMDJkOiUwMmQuJTA2bGQlKzAyZDolMDJkXG4iCisjfiBtc2dzdHIgIiU0ZC0lLjJkLSUuMmQgJTAyZDolMDJkOiUwMmQuJTA2bGQlKzAyZDolMDJkXG4iCisKKyN+IG1zZ2lkICJiYWQgdGltZW91dCB2YWx1ZTogJXMiCisjfiBtc2dzdHIgInVuZ8O8bHRpZ2VyIEF1c3plaXQtV2VydDogJXMiCisKKyN+IG1zZ2lkICJleHBlY3RlZCBhIG51bWJlciwgYnV0IGdvdCAnJXMnIgorI34gbXNnc3RyICJFaW5lIFphaGwgd3VyZGUgZXJ3YXJ0ZXQsIGFiZXIg4oCeJXPigJwgZXJoYWx0ZW4iCisKKyN+IG1zZ2lkICJkaXZpc29yICclcyciCisjfiBtc2dzdHIgIkRpdmlzb3Ig4oCeJXPigJwiCisKKyN+IG1zZ2lkICJhcmd1bWVudCBlcnJvcjogJXMiCisjfiBtc2dzdHIgIkZlaGxlciBpbiBkZW4gQXJndW1lbnRlbjogJXMiCisKKyN+IG1zZ2lkICJ0dHkgcGF0aCAlcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiVFRZLVBmYWQgJXMgaXN0IHp1IGxhbmcuIgorCisjfiBtc2dpZCAiY2Fubm90IGFjY2VzcyBmaWxlICVzIgorI34gbXNnc3RyICJEYXRlaSAlcyBrb25udGUgbmljaHQgZ2XDtmZmbmV0IHdlcmRlbiIKKworI34gbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIHNwZWNpYWwgZGV2aWNlIgorI34gbXNnc3RyICIlcyBpc3Qga2VpbiBibG9ja29yaWVudGllcnRlcyBHZXLDpHQiCisKKyMgWFhYIC0gSSBkaWQgaGF2ZSBhIGJldHRlciBvbmUgZm9yIGJ1c3kKKyMgbGliYy5wbzoKKyMgIkRldmljZSBvciByZXNvdXJjZSBidXN5IgorIyAiRGFzIEdlcsOkdCBvZGVyIGRpZSBSZXNzb3VyY2UgaXN0IGJlbGVndCIKKyN+IG1zZ2lkICIlczogZGV2aWNlIGlzIG1pc2FsaWduZWQiCisjfiBtc2dzdHIgIiVzOiBEYXMgR2Vyw6R0IGlzdCBuaWNodCBrb3JyZWt0IGF1c2dlcmljaHRldCIKKworI34gbXNnaWQgIk9TLzIgaGlkZGVuIEM6IGRyaXZlIgorI34gbXNnc3RyICJPUy8yIHZlcnN0LiBDOi1Mdy4iCisKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCIKKyN+IG1zZ3N0ciAiJXM6IEVpbmxlc2VmZWhsZXIgaW4gWmVpbGUgJWQiCisKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGdldCBkZXZpY2UgcGF0aCIKKyN+IG1zZ3N0ciAiJXM6IEdlcsOkdGVwZmFkIGthbm4gbmljaHQgZXJtaXR0ZWx0IHdlcmRlbiIKKworI34gbXNnaWQgIiVzOiB1bmtub3duIGRldmljZSBuYW1lIgorI34gbXNnc3RyICIlczogdW5iZWthbm50ZXIgR2Vyw6R0ZW5hbWUiCisKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGdldCBkbSBuYW1lIgorI34gbXNnc3RyICIlczogZGVyIGRtLU5hbWUga29ubnRlIG5pY2h0IGVybWl0dGVsdCB3ZXJkZW4iCisKKyN+IG1zZ2lkICJ0aGUgc29ydCBjb2x1bW4gaGFzIHRvIGJlIGFtb25nIHRoZSBvdXRwdXQgY29sdW1ucyIKKyN+IG1zZ3N0ciAiRGllIFNvcnRpZXJzcGFsdGUgbXVzcyB6d2lzY2hlbiBkZW4gQXVzZ2FiZXNwYWx0ZW4gbGllZ2VuLiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXAsIC0tcGlkIDxwYXRoPiAgICAgICAgcGF0aCB0byBwaWQgZmlsZVxuIgorI34gIiAtcywgLS1zb2NrZXQgPHBhdGg+ICAgICBwYXRoIHRvIHNvY2tldFxuIgorI34gIiAtVCwgLS10aW1lb3V0IDxzZWM+ICAgICBzcGVjaWZ5IGluYWN0aXZpdHkgdGltZW91dFxuIgorI34gIiAtaywgLS1raWxsICAgICAgICAgICAgICBraWxsIHJ1bm5pbmcgZGFlbW9uXG4iCisjfiAiIC1yLCAtLXJhbmRvbSAgICAgICAgICAgIHRlc3QgcmFuZG9tLWJhc2VkIGdlbmVyYXRpb25cbiIKKyN+ICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgdGVzdCB0aW1lLWJhc2VkIGdlbmVyYXRpb25cbiIKKyN+ICIgLW4sIC0tdXVpZHMgPG51bT4gICAgICAgcmVxdWVzdCBudW1iZXIgb2YgdXVpZHNcbiIKKyN+ICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgZG8gbm90IGNyZWF0ZSBwaWQgZmlsZVxuIgorI34gIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkbyBub3QgZGFlbW9uaXplIHVzaW5nIGRvdWJsZS1mb3JrXG4iCisjfiAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIGRvIG5vdCBjcmVhdGUgbGlzdGVuaW5nIHNvY2tldFxuIgorI34gIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBydW4gaW4gZGVidWdnaW5nIG1vZGVcbiIKKyN+ICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgdHVybiBvbiBxdWlldCBtb2RlXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXAsIC0tcGlkIDxQZmFkPiAgICAgICAgUGZhZCB6dXIgUHJvemVzcy1JRC1EYXRlaVxuIgorI34gIiAtcywgLS1zb2NrZXQgPFBmYWQ+ICAgICBQZmFkIHp1bSBTb2NrZXRcbiIKKyN+ICIgLVQsIC0tdGltZW91dCA8U2VrPiAgICAgSW5ha3Rpdml0w6R0cy1aZWl0c2Nod2VsbGVcbiIKKyN+ICIgLWssIC0ta2lsbCAgICAgICAgICAgICAgbGF1ZmVuZGVuIERhZW1vbiBhYnfDvHJnZW5cbiIKKyN+ICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgenVmYWxsc2Jhc2llcnRlIEVyemV1Z3VuZyB0ZXN0ZW5cbiIKKyN+ICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgemVpdGJhc2llcnRlIEVyemV1Z3VuZyB0ZXN0ZW5cbiIKKyN+ICIgLW4sIC0tdXVpZHMgPFphaGw+ICAgICAgQW56YWhsIGRlciBVVUlEcyBhbmZvcmRlcm5cbiIKKyN+ICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAga2VpbmUgUHJvemVzcy1JRC1EYXRlaSBhbmxlZ2VuXG4iCisjfiAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIG5pY2h0IG1pdCBkb3VibGUtZm9yayBkw6Rtb25pc2llcmVuXG4iCisjfiAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIGxhdXNjaGVuZGVuIFNvY2tldCBuaWNodCBlcnpldWdlblxuIgorI34gIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBpbSBEZWJ1Zy1Nb2R1cyBhdXNmw7xocmVuXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHN0aWxsZW4gTW9kdXMgZWluc2NoYWx0ZW5cbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgVmVyc2lvbnNpbmZvcm1hdGlvbiBhdXNnZWJlbiB1bmQgYmVlbmRlblxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaWVzZSBIaWxmZSBhbnplaWdlbiB1bmQgYmVlbmRlblxuIgorI34gIlxuIgorCisjfiBtc2dpZCAidW5rbm93biBzY2hlZHVsaW5nIHBvbGljeSIKKyN+IG1zZ3N0ciAidW5iZWthbm50ZSBTY2hlZHVsaW5nLVZvcnNjaHJpZnQiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorI34gIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorI34gIiAtcCwgLS1zdGVwIDxudW0+ICAgIHNpemUgb2YgdGhlIGRpc2NhcmQgaXRlcmF0aW9ucyB3aXRoaW4gdGhlIG9mZnNldFxuIgorI34gIiAtcywgLS1zZWN1cmUgICAgICAgIHBlcmZvcm0gc2VjdXJlIGRpc2NhcmRcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxaYWhsPiBQb3NpdGlvbiBpbiBCeXRlcywgd28gbWl0IGRlciBWZXJ3ZXJmdW5nIGJlZ29ubmVuXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICB3ZXJkZW4gc29sbFxuIgorI34gIiAtbCwgLS1sZW5ndGggPFphaGw+IHp1IHZlcndlcmZlbmRlIERhdGVuIGluIEJ5dGVzIGFiIGRlciBTdGFydHBvc2l0aW9uXG4iCisjfiAiIC1wLCAtLXN0ZXAgPFphaGw+ICAgR3LDtsOfZSBkZXIgVmVyd2VyZnVuZ3MtRHVyY2hsw6R1ZmUgaW5uZXJoYWxiIGRlclxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgUG9zaXRpb25zYW5nYWJlXG4iCisjfiAiIC1zLCAtLXNlY3VyZSAgICAgICAgZsO8aHJ0IGVpbiBzaWNoZXJlcyBWZXJ3ZXJmZW4gYXVzXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgemVpZ3QgZGllIGF1c2dlcmljaHRldGVuIFdlcnRlIGbDvHIgUG9zaXRpb24gdW5kIEzDpG5nZSBhblxuIgorCisjfiBtc2dpZCAiJXMgIC4lMDZkIHNlY29uZHNcbiIKKyN+IG1zZ3N0ciAiJXMgIC4lMDZkIFNla3VuZGVuXG4iCisKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3I6IGlnbm9yZSBlbnRyeSBhdCBsaW5lICVkLiIKKyN+IG1zZ3N0ciAiJXM6IEVpbmxlc2VmZWhsZXI6IEVpbnRyYWcgaW4gWmVpbGUgJWQgd2lyZCBpZ25vcmllcnQuIgorCisjfiBtc2dpZCAicGFnZXMiCisjfiBtc2dzdHIgIlNlaXRlbiIKKworI34gbXNnaWQgImRpZmZlcmVudCIKKyN+IG1zZ3N0ciAidmVyc2NoaWVkZW4iCisKKyN+IG1zZ2lkICJzYW1lIgorI34gbXNnc3RyICJnbGVpY2giCmRpZmYgLS1naXQgYS9wby9lcy5wbyBiL3BvL2VzLnBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4ZjZlOGYKLS0tIC9kZXYvbnVsbAorKysgYi9wby9lcy5wbwpAQCAtMCwwICsxLDE5ODk4IEBACisjIE1lbnNhamVzIGVuIGVzcGHDsW9sIHBhcmEgdXRpbC1saW51eC4KKyMgQ29weXJpZ2h0IChDKSAyMDAwIEJldGggUG93ZWxsIDxicG93ZWxsQHR1cmJvbGludXguY29tPi4KKyMgQ29weXJpZ2h0IChDKSAyMDAxLCAyMDAyLCAyMDAzIFNhbnRpYWdvIFZpbGEgRG9uY2VsIDxzYW52aWxhQHVuZXguZXM+LgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgdXRpbC1saW51eCBwYWNrYWdlLgorIworIyBCZXRoIFBvd2VsbCA8YnBvd2VsbEB0dXJib2xpbnV4LmNvbT4sIDIwMDAuCisjIFNhbnRpYWdvIFZpbGEgRG9uY2VsIDxzYW52aWxhQHVuZXguZXM+LCAyMDAxLCAyMDAyLCAyMDAzLCAyMDA0LCAyMDEwLCAyMDE0LgorIyBBbnRvbmlvIENlYmFsbG9zIFJvYSA8YWNlYmFsbG9zQGdtYWlsLmNvbT4sIDIwMTQsIDIwMTUsIDIwMTYuCisjCisjIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBmcmVlbHkgY29weSBhbmQgZGlzdHJpYnV0ZQorIyB0aGlzIGZpbGUgYW5kIG1vZGlmaWVkIHZlcnNpb25zLCBwcm92aWRlZCB0aGF0IHRoaXMKKyMgaGVhZGVyIGlzIG5vdCByZW1vdmVkIGFuZCBtb2RpZmllZCB2ZXJzaW9ucyBhcmUgbWFya2VkCisjIGFzIHN1Y2guCisjCittc2dpZCAiIgorbXNnc3RyICIiCisiUHJvamVjdC1JZC1WZXJzaW9uOiB1dGlsLWxpbnV4IDIuMjktcmMyXG4iCisiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IHV0aWwtbGludXhAdmdlci5rZXJuZWwub3JnXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTctMDItMjIgMTI6MzIrMDEwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTYtMTAtMjMgMTE6MzArMDIwMFxuIgorIkxhc3QtVHJhbnNsYXRvcjogQW50b25pbyBDZWJhbGxvcyBSb2EgPGFjZWJhbGxvc0BnbWFpbC5jb20+XG4iCisiTGFuZ3VhZ2UtVGVhbTogU3BhbmlzaCA8ZXNAdHAub3JnLmVzPlxuIgorIkxhbmd1YWdlOiBlc1xuIgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCisiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgorIlgtQnVnczogUmVwb3J0IHRyYW5zbGF0aW9uIGVycm9ycyB0byB0aGUgTGFuZ3VhZ2UtVGVhbSBhZGRyZXNzLlxuIgorIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPShuICE9IDEpO1xuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPHN0YXJ0PiA8bGVuZ3RoPlxuIgorbXNnc3RyICIgJXMgPGRpc3Bvc2l0aXZvPiA8bsO6bWVyby1kZS1wYXJ0aWNpw7NuPiA8Y29taWVuem8+IDxsb25naXR1ZD5cbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTgKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIGV4aXN0ZW5jZSBvZiBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIkluZm9ybWEgYWwgbsO6Y2xlbyBkZSBsYSBleGlzdGVuY2lhIGRlIHVuYSBwYXJ0aWNpw7NuIGVzcGVjaWZpY2FkYS5cbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTYgZGlzay11dGlscy9ibG9ja2Rldi5jOjI3NiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDIwCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDQ2IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzNCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1NworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNyBkaXNrLXV0aWxzL2ZkaXNrLmM6NzE4IGRpc2stdXRpbHMvZmRpc2suYzo5OTQKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjMwMSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNDEKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM2MCBkaXNrLXV0aWxzL2ZzY2suYzoxNDQ4CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTU1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTAKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEzNCBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg5CisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTczIGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjEKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODggZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE5CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIxNSBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NCBkaXNrLXV0aWxzL3BhcnR4LmM6OTk0CisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDEgZGlzay11dGlscy9zZmRpc2suYzo2NDcgZGlzay11dGlscy9zZmRpc2suYzo3MDMKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzU3IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODE2IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODgwCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkyMSBkaXNrLXV0aWxzL3NmZGlzay5jOjk1MSBkaXNrLXV0aWxzL3NmZGlzay5jOjk4OAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTM3IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjAgbGliZmRpc2svc3JjL2JzZC5jOjY0MQorIzogbGliL3BhdGguYzo3MCBsaWIvcGF0aC5jOjgyIGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo4NyBsb2dpbi11dGlscy9sYXN0LmM6NjcyCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDQ2IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0ODMKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzU5CisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4MSBsb2dpbi11dGlscy92aXB3LmM6MjU4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzYKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOTcgbWlzYy11dGlscy9sb2dnZXIuYzoxMTg4IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjExNQorIzogbWlzYy11dGlscy91dWlkZC5jOjIwNyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4MyBzeXMtdXRpbHMvZG1lc2cuYzo1MjIKKyM6IHN5cy11dGlscy9lamVjdC5jOjUwMCBzeXMtdXRpbHMvZWplY3QuYzo3MDAgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM3NAorIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTI4IHN5cy11dGlscy9mc3RyaW0uYzo3MiBzeXMtdXRpbHMvaHdjbG9jay5jOjI4MgorIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjYzOCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxNjIKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI1NiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDEKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQyMiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NjkKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM4OCBzeXMtdXRpbHMvbnNlbnRlci5jOjEyOCBzeXMtdXRpbHMvcnRjd2FrZS5jOjEzNgorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyNzAgc3lzLXV0aWxzL3NldHByaXYuYzoyMzAgc3lzLXV0aWxzL3NldHByaXYuYzo1MjkKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTUyIHN5cy11dGlscy9zd2Fwb24uYzozNzEgc3lzLXV0aWxzL3N3YXBvbi5jOjUxNAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTYzIHN5cy11dGlscy91bnNoYXJlLmM6MTA2IHN5cy11dGlscy91bnNoYXJlLmM6MTIxCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjEgc3lzLXV0aWxzL3dkY3RsLmM6Mzc3IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYxOAorIzogdGVybS11dGlscy9tZXNnLmM6MTI3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDI1IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDMxCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQzMyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjUyMgorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxOTcgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMDAKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjMzMSB0ZXh0LXV0aWxzL2NvbGNydC5jOjI4MiB0ZXh0LXV0aWxzL21vcmUuYzo1MTMKKyM6IHRleHQtdXRpbHMvcmV2LmM6MTQxIHRleHQtdXRpbHMvdGFpbGYuYzo2OCB0ZXh0LXV0aWxzL3RhaWxmLmM6MTAwCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJubyBzZSBwdWVkZSBhYnJpciAlcyIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTkgZGlzay11dGlscy9kZWxwYXJ0LmM6NjAgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6OTgKK21zZ2lkICJpbnZhbGlkIHBhcnRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgIm7Dum1lcm8gZGUgcGFydGljacOzbiBubyB2w6FsaWRvIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MAorbXNnaWQgImludmFsaWQgc3RhcnQgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBkZSBjb21pZW56byBubyB2w6FsaWRvIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MSBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDgKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGRlIGxvbmdpdHVkIG5vIHbDoWxpZG8iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYyCittc2dpZCAiZmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24iCittc2dzdHIgImZhbGxvIGFsIGHDsWFkaXIgcGFydGljacOzbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjYzCittc2dpZCAic2V0IHJlYWQtb25seSIKK21zZ3N0ciAiZXN0YWJsZWNlIHPDs2xvIGxlY3R1cmEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3MAorbXNnaWQgInNldCByZWFkLXdyaXRlIgorbXNnc3RyICJlc3RhYmxlY2UgbGVjdHVyYS9lc2NyaXR1cmEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3NgorbXNnaWQgImdldCByZWFkLW9ubHkiCittc2dzdHIgIm9idGllbmUgc8OzbG8gbGVjdHVyYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjgyCittc2dpZCAiZ2V0IGRpc2NhcmQgemVyb2VzIHN1cHBvcnQgc3RhdHVzIgorbXNnc3RyICJvYnRpZW5lIGVsIGVzdGFkbyBkZWwgc29wb3J0ZSBkZSBkZXNjYXJ0ZSBkZSBjZXJvcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjg4Cittc2dpZCAiZ2V0IGxvZ2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAib2J0aWVuZSBlbCB0YW1hw7FvIGRlbCBibG9xdWUgbMOzZ2ljbyAoc2VjdG9yKSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjk0Cittc2dpZCAiZ2V0IHBoeXNpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgIm9idGllbmUgZWwgdGFtYcOxbyBkZWwgYmxvcXVlIGbDrXNpY28gKHNlY3RvcikiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDAKK21zZ2lkICJnZXQgbWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAib2J0aWVuZSBlbCB0YW1hw7FvIG3DrW5pbW8gZGUgRS9TIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTA2Cittc2dpZCAiZ2V0IG9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgIm9idGllbmUgZWwgdGFtYcOxbyDDs3B0aW1vIGRlIEUvUyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExMgorbXNnaWQgImdldCBhbGlnbm1lbnQgb2Zmc2V0IGluIGJ5dGVzIgorbXNnc3RyICJvYnRpZW5lIGVsIGRlc3BsYXphbWllbnRvIGRlIGFsaW5lYWNpw7NuIGVuIGJ5dGVzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTE4Cittc2dpZCAiZ2V0IG1heCBzZWN0b3JzIHBlciByZXF1ZXN0IgorbXNnc3RyICJvYnRpZW5lIGVsIG7Dum1lcm8gbcOheGltbyBkZSBzZWN0b3JlcyBwb3IgcGV0aWNpw7NuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTI0Cittc2dpZCAiZ2V0IGJsb2Nrc2l6ZSIKK21zZ3N0ciAib2J0aWVuZSBlbCB0YW1hw7FvIGRlbCBibG9xdWUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzEKK21zZ2lkICJzZXQgYmxvY2tzaXplIG9uIGZpbGUgZGVzY3JpcHRvciBvcGVuaW5nIHRoZSBibG9jayBkZXZpY2UiCittc2dzdHIgImVzdGFibGVjZSBlbCB0YW1hw7FvIGRlIGJsb3F1ZSBkZWwgZGVzY3JpcHRvciBkZSBmaWNoZXJvIHF1ZSBlc3TDoSBhYnJpZW5kbyBlbCBkaXNwb3NpdGl2byBkZSBibG9xdWVzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTM3Cittc2dpZCAiZ2V0IDMyLWJpdCBzZWN0b3IgY291bnQgKGRlcHJlY2F0ZWQsIHVzZSAtLWdldHN6KSIKK21zZ3N0ciAib2J0aWVuZSBlbCBjb250YWRvciBkZSBzZWN0b3JlcyBkZSAzMiBiaXRzIChvYnNvbGV0bywgdXRpbGljZSAtLWdldHN6KSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE0MworbXNnaWQgImdldCBzaXplIGluIGJ5dGVzIgorbXNnc3RyICJvYnRpZW5lIGVsIHRhbWHDsW8gZW4gYnl0ZXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTAKK21zZ2lkICJzZXQgcmVhZGFoZWFkIgorbXNnc3RyICJlc3RhYmxlY2UgYHJlYWRhaGVhZCciCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTYKK21zZ2lkICJnZXQgcmVhZGFoZWFkIgorbXNnc3RyICJvYnRpZW5lIGByZWFkYWhlYWQnIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTYzCittc2dpZCAic2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICJlc3RhYmxlY2UgZWwgYHJlYWRhaGVhZCcgZGVsIHNpc3RlbWEgZGUgZmljaGVyb3MiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjkKK21zZ2lkICJnZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgIm9idGllbmUgZWwgYHJlYWRhaGVhZCcgZGVsIHNpc3RlbWEgZGUgZmljaGVyb3MiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzMKK21zZ2lkICJmbHVzaCBidWZmZXJzIgorbXNnc3RyICJ2YWPDrWEgbG9zIGLDumZlcmVzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTc3Cittc2dpZCAicmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidnVlbHZlIGEgbGVlciBsYSB0YWJsYSBkZSBwYXJ0aWNpb25lcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICUxJHMgLVZcbiIKKyIgJTEkcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyIgJTEkcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyJcbiIKKyJBdmFpbGFibGUgY29tbWFuZHM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJNb2RvIGRlIGVtcGxlbzpcbiIKKyIgJTEkcyAtVlxuIgorIiAlMSRzIC0tcmVwb3J0IFtkaXNwb3NpdGl2b3NdXG4iCisiICUxJHMgWy12fC1xXSDDs3JkZW5lcyBkaXNwb3NpdGl2b3NcbiIKKyJcbiIKKyLDk3JkZW5lcyBkaXNwb25pYmxlczpcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgJS0yNXMgZ2V0IHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9yc1xuIgorbXNnc3RyICIgJS0yNXMgb2J0aWVuZSBlbCB0YW1hw7FvIGVuIHNlY3RvcmVzIGRlIDUxMiBieXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzExCittc2dpZCAiY291bGQgbm90IGdldCBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAibm8gc2UgcHVkbyBvYnRlbmVyIGVsIHRhbWHDsW8gZGVsIGRpc3Bvc2l0aXZvIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gY29tbWFuZDogJXMiCittc2dzdHIgIk9yZGVuIGRlc2Nvbm9jaWRhOiAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzY4IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZXJyb3Igb24gJXMiCittc2dzdHIgImVycm9yIGRlIGlvY3RsIGVuICVzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZC5cbiIKK21zZ3N0ciAiJXMgZmFsbMOzLlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiJXMgaGEgdGVuaWRvIMOpeGl0by5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgc3lzZnMgaGFuZGxlciIKK21zZ3N0ciAiJXM6IGZhbGxvIGFsIGluaWNpYWxpemFyIGVsIG1hbmVqYWRvciBkZSBzeXNmcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHN0YXJ0IGZyb20gc3lzZnMiCittc2dzdHIgIiVzOiBubyBzZSBoYSBwb2RpZG8gbGVlciBlbCBjb21pZW56byBkZSBsYSBwYXJ0aWNpw7NuIGRlc2RlIHN5c2ZzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU3RhcnRTZWMgICAgICAgICAgICBTaXplICAgRGV2aWNlXG4iCittc2dzdHIgIlJPICAgIFJBICAgU1NaICAgQlNaICAgUHJpbWVyU2VjICAgICAgICAgICBUYW0uICAgRGlzcG8uXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTc5Cittc2dpZCAiQm9vdGFibGUiCittc2dzdHIgIkluaWNpYWJsZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzkKK21zZ2lkICJUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIkNvbm11dGEgZWwgaW5kaWNhZG9yIGRlIGluaWNpYWJsZSBkZSBsYSBwYXJ0aWNpw7NuIGFjdHVhbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODAKK21zZ2lkICJEZWxldGUiCittc2dzdHIgIlN1cHJpbWlyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MAorbXNnaWQgIkRlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIlN1cHJpbWUgbGEgcGFydGljacOzbiBhY3R1YWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgxCittc2dpZCAiTmV3IgorbXNnc3RyICJOdWV2YSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODEKK21zZ2lkICJDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIkNyZWEgdW5hIG51ZXZhIHBhcnRpY2nDs24gYSBwYXJ0aXIgZGVsIGVzcGFjaW8gbGlicmUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgyCittc2dpZCAiUXVpdCIKK21zZ3N0ciAiU2FsaXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgyCittc2dpZCAiUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBjaGFuZ2VzIgorbXNnc3RyICJTYWxlIGRlbCBwcm9ncmFtYSBzaW4gZXNjcmliaXIgbG9zIGNhbWJpb3MiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgzIGxpYmZkaXNrL3NyYy9ic2QuYzo0MzkgbGliZmRpc2svc3JjL2JzZC5jOjEwMjAKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzA2IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE2IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTYwCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTExNgorbXNnaWQgIlR5cGUiCittc2dzdHIgIlRpcG8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgzCittc2dpZCAiQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiQ2FtYmlhIGVsIHRpcG8gZGUgcGFydGljacOzbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQKK21zZ2lkICJIZWxwIgorbXNnc3RyICJBeXVkYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQKK21zZ2lkICJQcmludCBoZWxwIHNjcmVlbiIKK21zZ3N0ciAiSW1wcmltZSBlc3RhIHBhbnRhbGxhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NQorbXNnaWQgIlNvcnQiCittc2dzdHIgIk9yZGVuYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODUKK21zZ2lkICJGaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAiQ29ycmlnZSBlbCBvcmRlbiBkZSBsYXMgcGFydGljaW9uZXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiV3JpdGUiCittc2dzdHIgIkVzY3JpYmlyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIldyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSkiCittc2dzdHIgIkVzY3JpYmUgbGEgdGFibGEgZGUgcGFydGljaW9uZXMgZW4gZWwgZGlzY28gKHB1ZWRlIGRlc3RydWlyc2UgaW5mb3JtYWNpw7NuKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEdW1wIgorbXNnc3RyICJWdWVsY2EiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRHVtcCBwYXJ0aXRpb24gdGFibGUgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIlZ1ZWxjYSBsYSB0YWJsYSBkZSBwYXJ0aWNpb25lcyBhIHVuIGZpY2hlcm8gZGUgc2NyaXB0IGNvbXBhdGlibGUgY29uIHNmZGlzayIKKworIzogZGlzay11dGlscy9jZmRpc2suYzo2MjAgZGlzay11dGlscy9mZGlzay5jOjQxNQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlhbG9nIHR5cGUgJWQiCittc2dzdHIgImVycm9yIGludGVybm86IHRpcG8gZGUgZGnDoWxvZ28gbm8gc29wb3J0YWRvICVkIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG1vdW50ZWQpIgorbXNnc3RyICIlcyAobW9udGFkbykiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI3NAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lOiIKK21zZ3N0ciAiTm9tYnJlIGRlIGxhIHBhcnRpY2nDs246IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyODEKK21zZ2lkICJQYXJ0aXRpb24gVVVJRDoiCittc2dzdHIgIlVVSUQgZGUgbGEgcGFydGljacOzbjoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI5MworbXNnaWQgIlBhcnRpdGlvbiB0eXBlOiIKK21zZ3N0ciAiVGlwbyBkZSBwYXJ0aWNpw7NuOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzAwCittc2dpZCAiQXR0cmlidXRlczoiCittc2dzdHIgIkF0cmlidXRvczoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMyNAorbXNnaWQgIkZpbGVzeXN0ZW0gVVVJRDoiCittc2dzdHIgIlVVSUQgZGVsIHNpc3RlbWEgZGUgZmljaGVyb3M6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMzEKK21zZ2lkICJGaWxlc3lzdGVtIExBQkVMOiIKK21zZ3N0ciAiRVRJUVVFVEEgZGVsIHNpc3RlbWEgZGUgZmljaGVyb3M6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMzcKK21zZ2lkICJGaWxlc3lzdGVtOiIKK21zZ3N0ciAiU2lzdGVtYSBkZSBmaWNoZXJvczoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM0MgorbXNnaWQgIk1vdW50cG9pbnQ6IgorbXNnc3RyICJQdW50byBkZSBtb250YWplOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2s6ICVzIgorbXNnc3RyICJEaXNjbzogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY4NworIywgYy1mb3JtYXQKK21zZ2lkICJTaXplOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiVGFtYcOxbzogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzLCBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiRXRpcXVldGE6ICVzLCBpZGVudGlmaWNhZG9yOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcyIKK21zZ3N0ciAiRXRpcXVldGE6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NDYKK21zZ2lkICJNYXkgYmUgZm9sbG93ZWQgYnkgTSBmb3IgTWlCLCBHIGZvciBHaUIsIFQgZm9yIFRpQiwgb3IgUyBmb3Igc2VjdG9ycy4iCittc2dzdHIgIlB1ZWRlIGVzdGFyIHNlZ3VpZG8gZGUgTSAoTWlCKSwgRyAoR2lCKSwgVCAoVGlCKSBvIFMgKHNlY3RvcmVzKS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1MgorbXNnaWQgIlBsZWFzZSwgc3BlY2lmeSBzaXplLiIKK21zZ3N0ciAiUG9yIGZhdm9yLCBlc3BlY2lmaXF1ZSBlbCB0YW1hw7FvLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODc0CisjLCBjLWZvcm1hdAorbXNnaWQgIk1pbmltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICJFbCB0YW1hw7FvIG3DrW5pbW8gZXMgJWp1IGJ5dGVzLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgzCisjLCBjLWZvcm1hdAorbXNnaWQgIk1heGltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICJFbCB0YW1hw7FvIG3DoXhpbW8gZXMgJWp1IGJ5dGVzLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODkwCittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNpemUuIgorbXNnc3RyICJObyBzZSBlbnRpZW5kZSBlbCB0YW1hw7FvLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQ4Cittc2dpZCAiU2VsZWN0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJTZWxlY2Npb25lIGVsIHRpcG8gZGUgcGFydGljacOzbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTk0IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAyNAorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWU6ICIKK21zZ3N0ciAiSW50cm9kdXpjYSBlbCBub21icmUgZGVsIGZpY2hlcm86ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTk1Cittc2dpZCAiVGhlIHNjcmlwdCBmaWxlIHdpbGwgYmUgYXBwbGllZCB0byBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiRWwgZmljaGVybyBkZSBzY3JpcHQgc2UgYXBsaWNhcsOhIGEgbGEgdGFibGEgZGUgcGFydGljaW9uZXMgcXVlIGVzdMOhIGVuIG1lbW9yaWEuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMDQgZGlzay11dGlscy9jZmRpc2suYzoyMDQ2CisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjUgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJObyBzZSBwdWVkZSBhYnJpciAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDA2IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2NworIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgIk5vIHNlIGhhIHBvZGlkbyBsZWVyIGVsIGZpY2hlcm8gZGUgdHJhbnNjcmlwY2nDs24gJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwOCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCAlcyIKK21zZ3N0ciAiTm8gc2UgaGEgcG9kaWRvIGxlZXIgZWwgZmljaGVybyBkZSB0cmFuc2NyaXBjacOzbiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDI1Cittc2dpZCAiVGhlIGN1cnJlbnQgaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZSB3aWxsIGJlIGR1bXBlZCB0byB0aGUgZmlsZS4iCittc2dzdHIgIkxhIHRhYmxhIGRlIHBhcnRpY2lvbmVzIHF1ZSBlc3TDoSBlbiBtZW1vcmlhIGFob3JhIG1pc21vIHZhIGEgdm9sY2Fyc2UgYWwgZmljaGVyby4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0OTEKK21zZ2lkICJGYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgIkZhbGxvIGFsIGFzaWduYXIgZWwgbWFuZWphZG9yIGRlbCBzY3JpcHQuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzkKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBkaXNrIGxheW91dCBpbnRvIHNjcmlwdC4iCittc2dzdHIgIk5vIHNlIGhhIHBvZGlkbyBsZWVyIGxhIGVzdHJ1Y3R1cmEgZGVsIGRpc2NvIGVuIGVsIHNjcmlwdC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA1MworbXNnaWQgIkRpc2sgbGF5b3V0IHN1Y2Nlc3NmdWxseSBkdW1wZWQuIgorbXNnc3RyICJMYSBlc3RydWN0dXJhIGRlbCBkaXNjbyBzZSBoYSB2b2xjYWRvIGJpZW4uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNTYgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBzY3JpcHQgJXMiCittc2dzdHIgIk5vIHNlIGhhIHBvZGlkbyBsZWVyIGVsIGZpY2hlcm8gZGUgdHJhbnNjcmlwY2nDs24gJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA5MgorbXNnaWQgIlNlbGVjdCBsYWJlbCB0eXBlIgorbXNnc3RyICJTZWxlY2Npb25hIGVsIHRpcG8gZGUgZXRpcXVldGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA5NSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxNworbXNnaWQgIkRldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJFbCBkaXNwb3NpdGl2byBubyBjb250aWVuZSB1bmEgdGFibGEgZGUgcGFydGljaW9uZXMgcmVjb25vY2lkYS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjEwMQorbXNnaWQgIlNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGxhYmVsIG9yIHByZXNzICdMJyB0byBsb2FkIHNjcmlwdCBmaWxlLiIKK21zZ3N0ciAiU2VsZWNjaW9uZSB1biB0aXBvIHBhcmEgY3JlYXIgdW5hIGV0aXF1ZXRhIG8gcHVsc2UgJ0wnIHBhcmEgY2FyZ2FyIGVsIGZpY2hlcm8gZGUgc2NyaXB0LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ2Cittc2dpZCAiVGhpcyBpcyBjZmRpc2ssIGEgY3Vyc2VzLWJhc2VkIGRpc2sgcGFydGl0aW9uaW5nIHByb2dyYW0uIgorbXNnc3RyICJjZmRpc2sgZXMgdW4gcHJvZ3JhbWEgZGUgcGFydGljaW9uZXMgZGUgZGlzY28gYmFzYWRvIGVuIGN1cnNlcy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE0NworbXNnaWQgIkl0IGxldHMgeW91IGNyZWF0ZSwgZGVsZXRlLCBhbmQgbW9kaWZ5IHBhcnRpdGlvbnMgb24gYSBibG9jayBkZXZpY2UuIgorbXNnc3RyICJQZXJtaXRlIGNyZWFyLCBzdXByaW1pciB5IG1vZGlmaWNhciBwYXJ0aWNpb25lcyBlbiBkaXNwb3NpdGl2byBkZSBibG9xdWVzLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ5Cittc2dpZCAiQ29tbWFuZCAgICAgIE1lYW5pbmciCittc2dzdHIgIk9yZGVuICAgICAgICBTaWduaWZpY2FkbyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUwCittc2dpZCAiLS0tLS0tLSAgICAgIC0tLS0tLS0iCittc2dzdHIgIi0tLS0tICAgICAgICAtLS0tLS0tLS0tLSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUxCittc2dpZCAiICBiICAgICAgICAgIFRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBiICAgICAgICAgIENvbm11dGEgZWwgaW5kaWNhZG9yIGRlIGluaWNpYWJsZSBkZSBsYSBwYXJ0aWNpw7NuIGFjdHVhbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUyCittc2dpZCAiICBkICAgICAgICAgIERlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgZCAgICAgICAgICBTdXByaW1lIGxhIHBhcnRpY2nDs24gYWN0dWFsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTMKK21zZ2lkICIgIGggICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCittc2dzdHIgIiAgaCAgICAgICAgICBJbXByaW1lIGVzdGEgcGFudGFsbGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NAorbXNnaWQgIiAgbiAgICAgICAgICBDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIiAgbiAgICAgICAgICBDcmVhIHVuYSBudWV2YSBwYXJ0aWNpw7NuIGEgcGFydGlyIGRlbCBlc3BhY2lvIGxpYnJlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTUKK21zZ2lkICIgIHEgICAgICAgICAgUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgcSAgICAgICAgICBTYWxlIGRlbCBwcm9ncmFtYSBzaW4gZXNjcmliaXIgbGEgdGFibGEgZGUgcGFydGljaW9uZXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NgorbXNnaWQgIiAgcyAgICAgICAgICBGaXggcGFydGl0aW9ucyBvcmRlciAob25seSB3aGVuIGluIGRpc2FycmF5KSIKK21zZ3N0ciAiICBzICAgICAgICAgIENvcnJpZ2UgZWwgb3JkZW4gZGUgbGFzIHBhcnRpY2lvbmVzIChzb2xvIGN1YW5kbyBoYXkgZGVzYWp1c3RlKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU3Cittc2dpZCAiICB0ICAgICAgICAgIENoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgdCAgICAgICAgICBDYW1iaWEgZWwgdGlwbyBkZSBwYXJ0aWNpw7NuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTgKK21zZ2lkICIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiICB1ICAgICAgICAgIFZ1ZWxjYSBsYSBlc3RydWN0dXJhIGRlbCBkaXNjbyBhIHVuIGZpY2hlcm8gZGUgc2NyaXB0IGNvbXBhdGlibGUgY29uIHNmZGlzayIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU5Cittc2dpZCAiICBXICAgICAgICAgIFdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh5b3UgbXVzdCBlbnRlciB1cHBlcmNhc2UgVyk7IgorbXNnc3RyICIgIFcgICAgICAgICAgRXNjcmliZSBsYSB0YWJsYSBkZSBwYXJ0aWNpb25lcyBlbiBlbCBkaXNjbyAoVyBkZWJlIHRlY2xlYXJzZSBlbiBtYXnDunNjdWxhcykuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjAKK21zZ2lkICIgICAgICAgICAgICAgICBzaW5jZSB0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSBvbiB0aGUgZGlzaywgeW91IG11c3QgZWl0aGVyIgorbXNnc3RyICIgICAgICAgICAgICAgICBlc3RhIG9wZXJhY2nDs24gZGUgZXNjcml0dXJhIHB1ZWRlIGNhdXNhciBsYSBkZXN0cnVjY2nDs24gZGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MQorbXNnaWQgIiAgICAgICAgICAgICAgIGNvbmZpcm0gb3IgZGVueSB0aGUgd3JpdGUgYnkgZW50ZXJpbmcgJ3llcycgb3IgJ25vJyIKK21zZ3N0ciAiIgorIiAgICAgICAgICAgICAgIGRhdG9zIGRlbCBkaXNjbywgcG9yIGxvIHF1ZSBkZWJlIGNvbmZpcm1hcmxhIG8gcmVjaGF6YXJsYVxuIgorImVzY3JpYmllbmRvICdzw60nIG8gJ25vJyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYyCittc2dpZCAiICB4ICAgICAgICAgIERpc3BsYXkvaGlkZSBleHRyYSBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICB4ICAgICAgICAgIE11ZXN0cmEvb2N1bHRhIGluZm9ybWFjacOzbiBhZGljaW9uYWwgc29icmUgdW5hIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MworbXNnaWQgIlVwIEFycm93ICAgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgcGFydGl0aW9uIgorbXNnc3RyICJGbGVjaGEgYXJyaWJhICAgICBEZXNwbGF6YSBlbCBjdXJzb3IgYSBsYSBwYXJ0aWNpw7NuIGFudGVyaW9yIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjQKK21zZ2lkICJEb3duIEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgcGFydGl0aW9uIgorbXNnc3RyICJGbGVjaGEgYWJham8gICAgICBEZXNwbGF6YSBlbCBjdXJzb3IgYSBsYSBwYXJ0aWNpw7NuIHNpZ3VpZW50ZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY1Cittc2dpZCAiTGVmdCBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBtZW51IGl0ZW0iCittc2dzdHIgIkZsZWNoYSBpenF1aWVyZGEgIERlc3BsYXphIGVsIGN1cnNvciBhIGxhIG9wY2nDs24gZGUgbWVuw7ogYW50ZXJpb3IiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2NgorbXNnaWQgIlJpZ2h0IEFycm93ICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBtZW51IGl0ZW0iCittc2dzdHIgIkZsZWNoYSBkZXJlY2hhICAgIERlc3BsYXphIGVsIGN1cnNvciBhIGxhIG9wY2nDs24gZGUgbWVuw7ogc2lndWllbnRlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjgKK21zZ2lkICJOb3RlOiBBbGwgb2YgdGhlIGNvbW1hbmRzIGNhbiBiZSBlbnRlcmVkIHdpdGggZWl0aGVyIHVwcGVyIG9yIGxvd2VyIgorbXNnc3RyICJOb3RhOiB0b2RhcyBsYXMgw7NyZGVuZXMgcHVlZGVuIGVzY3JpYmlyc2UgZW4gbWF5w7pzY3VsYXMgbyBtaW7DunNjdWxhcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY5Cittc2dpZCAiY2FzZSBsZXR0ZXJzIChleGNlcHQgZm9yIFdyaXRlKS4iCittc2dzdHIgIihzYWx2byBXIHBhcmEgb3BlcmFjaW9uZXMgZGUgZXNjcml0dXJhKS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3MQorbXNnaWQgIlVzZSBsc2Jsayg4KSBvciBwYXJ0eCg4KSB0byBzZWUgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBkZXZpY2UuIgorbXNnc3RyICJVdGlsaWNlIGxzYmxrKDgpIG8gcGFydHgoOCkgcGFyYSB2ZXIgbcOhcyBkZXRhbGxlcyBkZWwgZGlzcG9zaXRpdm8uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzggZGlzay11dGlscy9jZmRpc2suYzoyNDM3Cittc2dpZCAiUHJlc3MgYSBrZXkgdG8gY29udGludWUuIgorbXNnc3RyICJQdWxzZSB1bmEgdGVjbGEgcGFyYSBjb250aW51YXIuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNjAKK21zZ2lkICJDb3VsZCBub3QgdG9nZ2xlIHRoZSBmbGFnLiIKK21zZ3N0ciAiTm9vIHNlIGhhIHBvZGlkbyBjYW1iaWFyIGxhIGJhbmRlcmEuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiTm8gc2UgcHVkbyBib3JyYXIgbGEgcGFydGljacOzbiAlenUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNzIgZGlzay11dGlscy9mZGlzay1tZW51LmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaGFzIGJlZW4gZGVsZXRlZC4iCittc2dzdHIgIlNlIGhhIGJvcnJhZG8gbGEgcGFydGljacOzbiAlenUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyOTMKK21zZ2lkICJQYXJ0aXRpb24gc2l6ZTogIgorbXNnc3RyICJUYW1hw7FvIGRlIGxhIHBhcnRpY2nDs246ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiU2UgaGEgY2FtYmlhZG8gZWwgdGlwbyBkZSBwYXJ0aWNpw7NuICV6dS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgdHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIkVsIHRpcG8gZGUgcGFydGljacOzbiAlenUgbm8gc2UgY2FtYmlhLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzUzIGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ2NiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTkxCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzAKK21zZ2lkICJEZXZpY2UgaXMgb3BlbiBpbiByZWFkLW9ubHkgbW9kZS4iCittc2dzdHIgIkVsIGRpc3Bvc2l0aXZvIGVzdMOhIGFiaWVydG8gZW4gbW9kbyBkZSBzw7NsbyBsZWN0dXJhLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzU4Cittc2dpZCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHdyaXRlIHRoZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzaz8gIgorbXNnc3RyICIiCisiwr9Fc3TDoSBzZWd1cm8gZGUgcXVlIGRlc2VhIGVzY3JpYmlyIGxhIHRhYmxhIGRlIHBhcnRpY2lvbmVzIGVuIGVsIGRpc2NvP1xuIgorIiAgICAgKHNpIG8gbm8pOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM2MAorbXNnaWQgIlR5cGUgXCJ5ZXNcIiBvciBcIm5vXCIsIG9yIHByZXNzIEVTQyB0byBsZWF2ZSB0aGlzIGRpYWxvZy4iCittc2dzdHIgIlRlY2xlZSBcInllc1wiIChzw60pIG8gXCJub1wiIG8gcHVsc2UgRVNDIHBhcmEgYWJhbmRvbmFyIGVsIGRpw6Fsb2dvLiIKKworIyBUUkFOU0xBVE9SUzogQ29tcHJvYmFyIHNpIGVzdMOhIGNvcnJlZ2lkbyBlbCBwcm9ibGVtYSBxdWUgaW1wZWTDrWEKKyMgICAgICAgICAgICAgIGludHJvZHVjaXIgZWwgJ3PDrScgY29uIHRpbGRlLgorIzogZGlzay11dGlscy9jZmRpc2suYzoyMzY1IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE1NDAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1NTAKK21zZ2lkICJ5ZXMiCittc2dzdHIgInNpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjYKK21zZ2lkICJEaWQgbm90IHdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrLiIKK21zZ3N0ciAiTm8gc2UgaGEgZXNjcml0byBsYSB0YWJsYSBkZSBwYXJ0aWNpb25lcyBlbiBlbCBkaXNjby4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3MQorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwuIgorbXNnc3RyICJFcnJvciBhbCBlc2NyaWJpciBsYSBldGlxdWV0YSBkZSBkaXNjby4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3NCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzgKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICJTZSBoYSBtb2RpZmljYWRvIGxhIHRhYmxhIGRlIHBhcnRpY2lvbmVzLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzk3IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ2OAorbXNnaWQgIk5vdGUgdGhhdCBwYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIgbm93LiIKK21zZ3N0ciAiT2Jzw6lydmVzZSBxdWUgbGFzIGVudHJhZGFzIGRlIGxhIHRhYmxhIGRlIHBhcnRpY2lvbmVzIGFob3JhIG5vIGVzdMOhbiBlbiBlbCBvcmRlbiBkZWwgZGlzY28uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmU7IGl0IHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICJFbCBkaXNwb3NpdGl2byB5YSBjb250aWVuZSB1bmEgZmlybWEgJXM7IHNlIGJvcnJhcsOhIG1lZGlhbnRlIHVuYSBvcmRlbiBkZSBlc2NyaXR1cmEuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDUKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGRpc2tsYWJlbCIKK21zZ3N0ciAiZXJyb3IgYWwgY3JlYXIgdW5hIG51ZXZhIGV0aXF1ZXRhIGRlIGRpc2NvIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NTMKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb25zIgorbXNnc3RyICJmYWxsbyBhbCBsZWVyIGxhcyBwYXJ0aWNpb25lcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz5cbiIKK21zZ3N0ciAiICUxJHMgW29wY2lvbmVzXSA8ZGlzY28+XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0OSBkaXNrLXV0aWxzL2ZkaXNrLmM6NzM2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMAorbXNnaWQgIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSBhIGRpc2sgcGFydGl0aW9uIHRhYmxlLlxuIgorbXNnc3RyICJNdWVzdHJhIG8gbWFuaXB1bGEgdW5hIHRhYmxhIGRlIHBhcnRpY2lvbmVzIGRlIGRpc2NvLlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NTIKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxjdcOhbmRvPl0gICBjb2xvcmVhIGxhIHNhbGlkYSAowqthdXRvwrssIMKrYWx3YXlzwrsgKHNpZW1wcmUpIG8gwqtuZXZlcsK7IChudW5jYSkpXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU1NQorbXNnaWQgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgc3RhcnQgd2l0aCB6ZXJvZWQgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgaW5pY2lhIHRhYmxhIGRlIHBhcnRpY2lvbmVzIGNvbiBjZXJvc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1OTQgZGlzay11dGlscy9mZGlzay5jOjg4MiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzcKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzkwIHN5cy11dGlscy9kbWVzZy5jOjEzMzMgdGV4dC11dGlscy9oZXhkdW1wLmM6MTE0Cittc2dpZCAidW5zdXBwb3J0ZWQgY29sb3IgbW9kZSIKK21zZ3N0ciAibW9kbyBkZSBjb2xvciBubyBpbXBsZW1lbnRhZG8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYxMiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjIzCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgImZhbGxvIGFsIHJlc2VydmFyIGNvbnRleHRvIGRlIGxpYmZkaXNrIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj5cbiIKK21zZ3N0ciAiICVzIDxkaXNwb3NpdGl2byBkZSBkaXNjbz4gPG7Dum1lcm8gZGUgcGFydGljacOzbj5cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTgKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgdG8gZm9yZ2V0IGFib3V0IGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiT3JkZW5hIGFsIG7DumNsZW8gcXVlIHNlIG9sdmlkZSBkZSB1bmEgcGFydGljacOzbiBlc3BlY2lmaWNhZGEuXG4iCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjYxCittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24iCittc2dzdHIgImZhbGxvIGFsIGJvcnJhciBsYSBwYXJ0aWNpw7NuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9ybWF0dGluZyAuLi4gIgorbXNnc3RyICJGb3JtYXRlYW5kby4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo2OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgImRvbmVcbiIKK21zZ3N0ciAiZmluYWxpemFkb1xuIgorCisjIE5vdGE6IEFsIHBhcmVjZXIsIGVuIGVzcGHDsW9sIG5vIHNlIHBvbmUgZXNwYWNpbyBhbnRlcyBkZSAuLi4KKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJWZXJpZnlpbmcgLi4uICIKK21zZ3N0ciAiVmVyaWZpY2FuZG8uLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTA4Cittc2dpZCAiUmVhZDogIgorbXNnc3RyICJMZWVyOiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJvYmxlbSByZWFkaW5nIHRyYWNrL2hlYWQgJXUvJXUsIGV4cGVjdGVkICVkLCByZWFkICVkXG4iCittc2dzdHIgIlByb2JsZW1hIGRlIGxlY3R1cmEgZW4gcGlzdGEvY2FiZXphICV1LyV1LCBzZSBlc3BlcmFiYSAlZCwgc2UgbGV5w7MgJWRcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYmFkIGRhdGEgaW4gdHJhY2svaGVhZCAldS8ldVxuIgorIkNvbnRpbnVpbmcgLi4uICIKK21zZ3N0ciAiIgorIkRhdG9zIGluY29ycmVjdG9zIGVuIHBpc3RhL2NhYmV6YSAldS8ldVxuIgorIkNvbnRpbnVhbmRvLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODIKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTE3IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU2IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODQKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCittc2dzdHIgIiAlcyBbb3BjaW9uZXNdIDxkaXNwb3NpdGl2bz5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0OAorbXNnaWQgIkRvIGEgbG93LWxldmVsIGZvcm1hdHRpbmcgb2YgYSBmbG9wcHkgZGlzay5cbiIKK21zZ3N0ciAiQXBsaWNhIGZvcm1hdG8gYSBiYWpvIG5pdmVsIGEgdW4gZGlzY28gZmxleGlibGUuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTEKK21zZ2lkICIgLWYsIC0tZnJvbSA8Tj4gICAgc3RhcnQgYXQgdGhlIHRyYWNrIE4gKGRlZmF1bHQgMClcbiIKK21zZ3N0ciAiIC1mLCAtLWZyb20gPE4+ICAgIGNvbWllbnphIGVuIGxhIHBpc3RhIE4gKDAgcHJlZGV0ZXJtaW5hZGEpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTIKK21zZ2lkICIgLXQsIC0tdG8gPE4+ICAgICAgc3RvcCBhdCB0aGUgdHJhY2sgTlxuIgorbXNnc3RyICIgLXQsIC0tdG8gPE4+ICAgICAgc2UgZGV0aWVuZSBlbiBsYSBwaXN0YSBOXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTMKK21zZ2lkICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIHRyeSB0byByZXBhaXIgdHJhY2tzIGZhaWxlZCBkdXJpbmdcbiIKKyIgICAgICAgICAgICAgICAgICAgICB0aGUgdmVyaWZpY2F0aW9uIChtYXggTiByZXRyaWVzKVxuIgorbXNnc3RyICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIGludGVudGEgcmVwYXJhciBsYXMgcGlzdGFzIHF1ZSBoYW4gZmFsbGFkbyBkdXJhbnRlXG4iCisiICAgICAgICAgICAgICAgICAgICAgbGEgdmVyaWZpY2FjacOzbiAobcOheC4gTiBpbnRlbnRvcylcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1NQorbXNnaWQgIiAtbiwgLS1uby12ZXJpZnkgICBkaXNhYmxlIHRoZSB2ZXJpZmljYXRpb24gYWZ0ZXIgdGhlIGZvcm1hdFxuIgorbXNnc3RyICIgLW4sIC0tbm8tdmVyaWZ5ICAgZGVzYWN0aXZhIGxhIHZlcmlmaWNhY2nDs24gcG9zdGVyaW9yIGFsIGZvcm1hdG9cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5NAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSBmcm9tIgorbXNnc3RyICJhcmd1bWVudG8gbm8gdsOhbGlkbyAtIGZyb20iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTgKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gdG8iCittc2dzdHIgImFyZ3VtZW50byBubyB2w6FsaWRvIC0gdG8iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMDEKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gcmVwYWlyIgorbXNnc3RyICJhcmd1bWVudG8gbm8gdsOhbGlkbyAtIHJlcGFpciIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyMSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTUxCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg1IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMzgKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4NQorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE2IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQxIGRpc2stdXRpbHMvcGFydHguYzo5MzMKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo2ODYgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzkgbWlzYy11dGlscy9uYW1laS5jOjEzNQorIzogbWlzYy11dGlscy9yZW5hbWUuYzo2MyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4NiBzeXMtdXRpbHMvZG1lc2cuYzo1MjQKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxOTggc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTMxIHN5cy11dGlscy9mc3RyaW0uYzo3NworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjUxOSBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo5MworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTMzIHRlcm0tdXRpbHMvbWVzZy5jOjEyOSB0ZXh0LXV0aWxzL21vcmUuYzo1MDQKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxMDMgdGV4dC11dGlscy90YWlsZi5jOjI4MAorIywgYy1mb3JtYXQKK21zZ2lkICJzdGF0IG9mICVzIGZhaWxlZCIKK21zZ3N0ciAic3RhdCBkZSAlcyBoYSBmYWxsYWRvIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI0IGRpc2stdXRpbHMvcGFydHguYzo5OTEgbWlzYy11dGlscy9sc2Jsay5jOjE0ODUKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg4IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBubyBlcyB1biBkaXNwb3NpdGl2byBkZSBibG9xdWVzIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI5Cittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICJubyBzZSBwdWVkZSBkZXRlcm1pbmFyIGVsIHRpcG8gZGUgZm9ybWF0byBhY3R1YWwiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMtc2lkZWQsICVkIHRyYWNrcywgJWQgc2VjL3RyYWNrLiBUb3RhbCBjYXBhY2l0eSAlZCBrQi5cbiIKK21zZ3N0ciAiJXMgY2FyYXMsICVkIHBpc3RhcywgJWQgc2VjdG9yZXMvcGlzdGEuIENhcGFjaWRhZCB0b3RhbCAlZCBrQi5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMgorbXNnaWQgIkRvdWJsZSIKK21zZ3N0ciAiRG9ibGUgZGVuc2lkYWQiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzIKK21zZ2lkICJTaW5nbGUiCittc2dzdHIgIlNpbXBsZSBkZW5zaWRhZCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzOQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAibGEgcGlzdGEgZGUgY29taWVuem8gZGVmaW5pZGEgcG9yIGVsIHVzdWFyaW8gc29icmVwYXNhIGVsIG3DoXhpbW8gZXNwZWPDrWZpY28gZGVsIG1lZGlvIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQxCittc2dpZCAidXNlciBkZWZpbmVkIGVuZCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAibGEgcGlzdGEgZGUgZmluIGRlZmluaWRhIHBvciBlbCB1c3VhcmlvIHNvYnJlcGFzYSBlbCBtw6F4aW1vIGVzcGVjw61maWNvIGRlbCBtZWRpbyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MworbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSB1c2VyIGRlZmluZWQgZW5kIHRyYWNrIgorbXNnc3RyICJsYSBwaXN0YSBkZSBjb21pZW56byBkZWZpbmlkYSBwb3IgZWwgdXN1YXJpbyBzb2JyZXBhc2EgbGEgcGlzdGEgZGUgZmluIGRlZmluaWRhIHBvciBlbCB1c3VhcmlvIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjUxIG1pc2MtdXRpbHMvbG9nZ2VyLmM6OTg3Cittc2dpZCAiY2xvc2UgZmFpbGVkIgorbXNnc3RyICJmYWxsbyBhbCBjZXJyYXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5NSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gcXVpdD8gIgorbXNnc3RyICIiCisiXG4iCisiwr9Fc3TDoSBzZWd1cm8gZGUgcXVlIGRlc2VhIHNhbGlyPyAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0IChkZWZhdWx0ICVjKTogIgorbXNnc3RyICJTZWxlY2Npb25hciAodmFsb3IgcHJlZGV0ZXJtaW5hZG8gJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgZGVmYXVsdCByZXNwb25zZSAlYy4iCittc2dzdHIgIlNlIGVzdMOhIHV0aWxpemFuZG8gbGEgcmVzcHVlc3RhIHByZWRldGVybWluYWRhICVjLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjE3NiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjUwIGRpc2stdXRpbHMvZmRpc2suYzozMjUKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTg5IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjc3Cittc2dpZCAiVmFsdWUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiRWwgdmFsb3IgZXN0w6EgZnVlcmEgZGVsIHJhbmdvLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglcywgdmFsb3IgcHJlZGV0ZXJtaW5hZG8gJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDggZGlzay11dGlscy9mZGlzay5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJXMsIHZhbG9yIHByZWRldGVybWluYWRvICU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglYy0lYywgdmFsb3IgcHJlZGV0ZXJtaW5hZG8gJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMTcgZGlzay11dGlscy9mZGlzay5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0PiwgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+LCB2YWxvciBwcmVkZXRlcm1pbmFkbyAlPFBSSXU2ND4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjKTogIgorbXNnc3RyICIlcyAoJWMtJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMjMgZGlzay11dGlscy9mZGlzay5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzozOTIgZGlzay11dGlscy9zZmRpc2suYzoxOTcKK21zZ2lkICIgW1ldZXMvW05dbzogIgorbXNnc3RyICIgW1Ndw60vW05dbzogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDMzCittc2dpZCAiUGFydGl0aW9uIHR5cGUgKHR5cGUgTCB0byBsaXN0IGFsbCB0eXBlcyk6ICIKK21zZ3N0ciAiVGlwbyBkZSBwYXJ0aWNpw7NuICh0ZWNsZWUgTCBwYXJhIHZlciB0b2RvcyBsb3MgdGlwb3MpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0MzQKK21zZ2lkICJIZXggY29kZSAodHlwZSBMIHRvIGxpc3QgYWxsIGNvZGVzKTogIgorbXNnc3RyICJDw7NkaWdvIGhleGFkZWNpbWFsIChlc2NyaWJhIEwgcGFyYSB2ZXIgdG9kb3MgbG9zIGPDs2RpZ29zKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTM2Cittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBzZXQgKERFUFJFQ0FURUQhKSIKK21zZ3N0ciAiRWwgaW5kaWNhZG9yIGRlIGNvbXBhdGliaWxpZGFkIGNvbiBET1MgZXN0w6EgZXN0YWJsZWNpZG8gKMKhT0JTT0xFVE8hKSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjUzNworbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgbm90IHNldCIKK21zZ3N0ciAiRWwgaW5kaWNhZG9yIGRlIGNvbXBhdGliaWxpZGFkIGNvbiBET1Mgbm8gZXN0w6EgZXN0YWJsZWNpZG8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NTggZGlzay11dGlscy9mZGlzay5jOjU5NAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IGV4aXN0IHlldCEiCittc2dzdHIgIsKhTGEgcGFydGljacOzbiAlenUgdG9kYXbDrWEgbm8gZXhpc3RlISIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU2MyBkaXNrLXV0aWxzL2ZkaXNrLmM6NTcyIGxpYmZkaXNrL3NyYy9hc2suYzo5OTUKK21zZ2lkICJVbmtub3duIgorbXNnc3RyICJEZXNjb25vY2lkbyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICclcycgdG8gJyVzJy4iCittc2dzdHIgIlNlIGhhIGNhbWJpYWRvIGVsIHRpcG8gZGUgbGEgcGFydGljacOzbiAnJXMnIGEgJyVzJy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZDogJXMuIgorbXNnc3RyICJFbCB0aXBvIGRlIGxhIHBhcnRpY2nDs24gJXp1IG5vIHNlIGNhbWJpYTogJXMuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiUxNXM6ICVzIgorbXNnc3RyICIlMTVzOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXM6IG9mZnNldCA9ICU8UFJJdTY0Piwgc2l6ZSA9ICV6dSBieXRlcy4iCittc2dzdHIgIiIKKyJcbiIKKyIlczogZGVzcGxhemFtaWVudG8gPSAlPFBSSXU2ND4sIHRhbWHDsW8gPSAlenUgYnl0ZXMuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Njc3Cittc2dpZCAiY2Fubm90IHNlZWsiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGVmZWN0dWFyIGBzZWVrJyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY4MgorbXNnaWQgImNhbm5vdCByZWFkIgorbXNnc3RyICJubyBzZSBwdWVkZSBsZWVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Njk1IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTkgbGliZmRpc2svc3JjL2Rvcy5jOjkzMworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMTAKK21zZ2lkICJGaXJzdCBzZWN0b3IiCittc2dzdHIgIlByaW1lciBzZWN0b3IiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMiCittc2dzdHIgIkVsIGlvY3RsIEJMS0dFVFNJWkUgaGEgZmFsbGFkbyBlbiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICAgIGNoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyIgJTEkcyBbb3B0aW9uc10gLWwgWzxkaXNrPl0gbGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcGNpb25lc10gPGRpc2NvPiAgICAgIGNhbWJpYSB0YWJsYSBkZSBwYXJ0aWNpb25lc1xuIgorIiAlMSRzIFtvcGNpb25lc10gLWwgWzxkaXNjbz5dIG11ZXN0cmEgdGFibGEocykgZGUgcGFydGljaW9uZXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjczOQorbXNnaWQgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8c2l6ZT4gICAgICBwaHlzaWNhbCBhbmQgbG9naWNhbCBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgLWIsIC0tc2VjdG9yLXNpemUgPHRhbWHDsW8+ICAgIHRhbWHDsW8gZGUgc2VjdG9yIGbDrXNpY28geSBsw7NnaWNvXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDAKK21zZ2lkICIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAgZG9uJ3QgZXJhc2UgYm9vdGJpdHMgd2hlbiBjcmVhdGluZyBhIG5ldyBsYWJlbFxuIgorbXNnc3RyICIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAgbm8gYm9ycmEgbG9zIGJpdHMgZGUgYXJyYW5xdWUgYWwgY3JlYXIgdW5hIG51ZXZhIGV0aXF1ZXRhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDEKK21zZ2lkICIgLWMsIC0tY29tcGF0aWJpbGl0eVs9PG1vZGU+XSAgbW9kZSBpcyAnZG9zJyBvciAnbm9uZG9zJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2RvPl0gIG1vZG8gJ2RvcycgbyAnbm9uZG9zJyAocHJlZGV0ZXJtaW5hZG8pXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDIKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PGN1w6FuZG8+XSAgICAgICAgY29sb3JlYSBsYSBzYWxpZGEgKMKrYXV0b8K7LCDCq2Fsd2F5c8K7IChzaWVtcHJlKSBvIMKrbmV2ZXLCuyAobnVuY2EpKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ1Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgcGFydGl0aW9ucyBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgbXVlc3RyYSBsYXMgcGFydGljaW9uZXMgeSBzYWxlXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDYKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICAgICAgICAgIGNvbHVtbmFzIHF1ZSBtb3N0cmFyXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDcKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgICAgICAgICAgcmVjb2duaXplIHNwZWNpZmllZCBwYXJ0aXRpb24gdGFibGUgdHlwZSBvbmx5XG4iCittc2dzdHIgIiAtdCwgLS10eXBlIDx0aXBvPiAgICAgICAgICAgICByZWNvbm9jZSBzb2xhbWVudGUgZWwgdGlwbyBkZSB0YWJsYSBkZSBwYXJ0aWNpb25lcyBlc3BlY2lmaWNhZG9cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0OAorbXNnaWQgIiAtdSwgLS11bml0c1s9PHVuaXQ+XSAgICAgICAgICBkaXNwbGF5IHVuaXRzOiAnY3lsaW5kZXJzJyBvciAnc2VjdG9ycycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtdSwgLS11bml0c1s9PHVuaWRhZD5dICAgICAgICBtdWVzdHJhIGxhcyB1bmlkYWRlczogJ2N5bGluZGVycycgKGNpbGluZHJvcykgbyAnc2VjdG9ycycgKHNlY3RvcmVzKSAocHJlZGV0ZXJtaW5hZGEpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDkKK21zZ2lkICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgZGlzcGxheSBkZXZpY2Ugc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzIFtERVBSRUNBVEVEXVxuIgorbXNnc3RyICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgbXVlc3RyYSBlbCB0YW1hw7FvIGRlbCBkaXNwb3NpdGl2byBlbiBzZWN0b3JlcyBkZSA1MTIgYnl0ZXMgW0VOIERFU1VTT11cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1MAorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisiICAgICAtLWJ0eWVzICAgICAgICAgICAgICAgICAgIG11ZXN0cmEgZWwgVEFNQcORTyBlbiBieXRlcyBlbiBsdWdhciBkZSBoYWNlcmxvXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuIGZvcm1hdG8gbGVnaWJsZSBwYXJhIGh1bWFub3NcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1MQorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC13LCAtLXdpcGUgPG1vZG8+ICAgICAgICAgICAgIGJvcnJhIGxhcyBmaXJtYXMgKGF1dG8sIHNpZW1wcmUgbyBudW5jYSlcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTMKK21zZ2lkICIgLVcsIC0td2lwZS1wYXJ0aXRpb25zIDxtb2RlPiAgd2lwZSBzaWduYXR1cmVzIGZyb20gbmV3IHBhcnRpdGlvbnMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1XLCAtLXdpcGUtcGFydGl0aW9ucyA8bW9kbz4gIGJvcnJhIGxhcyBmaXJtYXMgZGUgbGFzIHBhcnRpY2lvbmVzIG51ZXZhcyAoYXV0bywgc2llbXByZSBvIG51bmNhKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU1Cittc2dpZCAiIC1DLCAtLWN5bGluZGVycyA8bnVtYmVyPiAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBjeWxpbmRlcnNcbiIKK21zZ3N0ciAiIC1DLCAtLWN5bGluZGVycyA8bsO6bWVybz4gICAgICBlc3RhYmxlY2UgZWwgbsO6bWVybyBkZSBjaWxpbmRyb3NcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1NgorbXNnaWQgIiAtSCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgaGVhZHNcbiIKK21zZ3N0ciAiIC1ILCAtLWhlYWRzIDxuw7ptZXJvPiAgICAgICAgICBlc3RhYmxlY2UgZWwgbsO6bWVybyBkZSBjYWJlemFzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTcKK21zZ2lkICIgLVMsIC0tc2VjdG9ycyA8bnVtYmVyPiAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrXG4iCittc2dzdHIgIiAtUywgLS1zZWN0b3JzIDxuw7ptZXJvPiAgICAgICAgZXN0YWJsZWNlIGVsIG7Dum1lcm8gZGUgc2VjdG9yZXMgcG9yIHBpc3RhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjgKK21zZ2lkICJpbnZhbGlkIHNlY3RvciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJBcmd1bWVudG8gZGVsIHRhbWHDsW8gZGUgc2VjdG9yIG5vIHbDoWxpZG8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NDAKK21zZ2lkICJpbnZhbGlkIGN5bGluZGVycyBhcmd1bWVudCIKK21zZ3N0ciAiVmFsb3IgZGUgY2lsaW5kcm9zIG5vIHbDoWxpZG8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NTIKK21zZ2lkICJub3QgZm91bmQgRE9TIGxhYmVsIGRyaXZlciIKK21zZ3N0ciAibm8gc2UgaGEgZW5jb250cmFkbyBjb250cm9sYWRvciBjb24gZXRpcXVldGEgRE9TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODU4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29tcGF0aWJpbGl0eSBtb2RlICclcyciCittc2dzdHIgIm1vZG8gZGUgY29tcGF0aWJpbGlkYWQgZGVzY29ub2NpZG8gJyVzJyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg2NworbXNnaWQgImludmFsaWQgaGVhZHMgYXJndW1lbnQiCittc2dzdHIgInZhbG9yIGRlIGNhYmV6YXMgbm8gdsOhbGlkbyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg3MworbXNnaWQgImludmFsaWQgc2VjdG9ycyBhcmd1bWVudCIKK21zZ3N0ciAidmFsb3IgZGUgc2VjdG9yZXMgbm8gdsOhbGlkbyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg5OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNrbGFiZWw6ICVzIgorbXNnc3RyICJldGlxdWV0YSBkZSBkaXNjbyBubyBzb3BvcnRhZGE6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTE2IGRpc2stdXRpbHMvZmRpc2suYzo5MjEgZGlzay11dGlscy9zZmRpc2suYzoyMDQxCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDYKK21zZ2lkICJ1bnN1cHBvcnRlZCB3aXBlIG1vZGUiCittc2dzdHIgIm1vZG8gZGUgYm9ycmFkbyBubyBpbXBsZW1lbnRhZG8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MzQKK21zZ2lkICJUaGUgZGV2aWNlIHByb3BlcnRpZXMgKHNlY3RvciBzaXplIGFuZCBnZW9tZXRyeSkgc2hvdWxkIGJlIHVzZWQgd2l0aCBvbmUgc3BlY2lmaWVkIGRldmljZSBvbmx5LiIKK21zZ3N0ciAiTGFzIHByb3BpZWRhZGVzIGRlbCBkaXNwb3NpdGl2byAodGFtYcOxbyBkZSBzZWN0b3IgeSBnZW9tZXRyw61hKSBkZWJlbiB1dGlsaXphcnNlIGNvbiB1biBzb2xvIGRpc3Bvc2l0aXZvIGVzcGVjaWZpY2Fkby4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VsY29tZSB0byBmZGlzayAoJXMpLiIKK21zZ3N0ciAiQmllbnZlbmlkbyBhIGZkaXNrICglcykuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4OAorbXNnaWQgIiIKKyJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisiQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKyJMb3MgY2FtYmlvcyBzb2xvIHBlcm1hbmVjZXLDoW4gZW4gbGEgbWVtb3JpYSwgaGFzdGEgcXVlIGRlY2lkYSBlc2NyaWJpcmxvcy5cbiIKKyJUZW5nYSBjdWlkYWRvIGFudGVzIGRlIHV0aWxpemFyIGxhIG9yZGVuIGRlIGVzY3JpdHVyYS5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMDEgZGlzay11dGlscy9zZmRpc2suYzoxNjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAlcyBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiRWwgZGlzcG9zaXRpdm8gJXMgeWEgdGllbmUgdW5hIGZpcm1hICVzLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMTAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTQyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ4NAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNjIyCittc2dpZCAiVGhlIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiTGEgZmlybWEgc2UgYm9ycmFyw6EgbWVkaWFudGUgdW5hIG9yZGVuIGRlIGVzY3JpdHVyYS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDEzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyNQorbXNnaWQgIkl0IGlzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSwgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4iCittc2dzdHIgIlNlIHJlY29taWVuZGEgZW5jYXJlY2lkYW1lbnRlIGxpbXBpYXIgZWwgZGlzcG9zaXRpdm8gbWVkaWFudGUgZWwgY29tYW5kbyB3aXBlZnMoOCksIGEgZmluIGRlIGV2aXRhciBwb3NpYmxlcyBjb2xpc2lvbmVzLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMjIKK21zZ2lkICJBIGh5YnJpZCBHUFQgd2FzIGRldGVjdGVkLiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBoeWJyaWQgTUJSIG1hbnVhbGx5IChleHBlcnQgY29tbWFuZCAnTScpLiIKK21zZ3N0ciAiU2UgaGEgZGV0ZWN0YWRvIHVuYSBHUFQgaMOtYnJpZGEuIERlYmUgc2luY3Jvbml6YXIgZWwgTUJSIGjDrWJyaWRvIG1hbnVhbG1lbnRlIChvcmRlbiBkZSBleHBlcnRvICdNJykuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiRGlzY28gJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMvdHJhY2ssICVsbHUgY3lsaW5kZXJzIgorbXNnc3RyICJHZW9tZXRyw61hOiAlZCBjYWJlemFzLCAlbGx1IHNlY3RvcmVzL3Bpc3RhLCAlbGx1IGNpbGluZHJvcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NTkgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuaXRzOiAlcyBvZiAlZCAqICVsZCA9ICVsZCBieXRlcyIKK21zZ3N0ciAiVW5pZGFkZXM6ICVzIGRlICVkICogJWxkID0gJWxkIGJ5dGVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2NSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIlRhbWHDsW8gZGUgc2VjdG9yIChsw7NnaWNvL2bDrXNpY28pOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkkvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIlRhbWHDsW8gZGUgRS9TIChtw61uaW1vL8OzcHRpbW8pOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkFsaWdubWVudCBvZmZzZXQ6ICVsdSBieXRlcyIKK21zZ3N0ciAiRGVzcGxhemFtaWVudG8gZGUgYWxpbmVhY2nDs246ICVsdSBieXRlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHR5cGU6ICVzIgorbXNnc3RyICJUaXBvIGRlIGV0aXF1ZXRhIGRlIGRpc2NvOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiSWRlbnRpZmljYWRvciBkZWwgZGlzY286ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMDkgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjE5CisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjQ0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorbXNnc3RyICJmYWxsbyBhbCByZXNlcnZhciBpdGVyYWRvciIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTE1IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyNQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyByZXNlcnZhciBsYSB0YWJsYSBkZSBzYWxpZGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE1NiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNDkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyByZXNlcnZhciBsYSBsw61uZWEgZGUgc2FsaWRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBzdGFydCBvbiBwaHlzaWNhbCBzZWN0b3IgYm91bmRhcnkuIgorbXNnc3RyICJMYSBwYXJ0aWNpw7NuICV6dSBubyBlbXBpZXphIGVuIGVsIGzDrW1pdGUgZGVsIHNlY3RvciBmw61zaWNvLiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTkyCittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLiIKK21zZ3N0ciAiTGFzIGVudHJhZGFzIGRlIGxhIHRhYmxhIGRlIHBhcnRpY2lvbmVzIG5vIGVzdMOhbiBlbiBlbCBvcmRlbiBkZWwgZGlzY28uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTUgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDAKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTEyIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU0IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTEwCittc2dpZCAiU3RhcnQiCittc2dzdHIgIkNvbWllbnpvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTYgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDEKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTEzIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU1IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTExCittc2dpZCAiRW5kIgorbXNnc3RyICJGaW5hbCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE3IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAyCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NiBsaWJmZGlzay9zcmMvc3VuLmM6MTExMgorbXNnaWQgIlNlY3RvcnMiCittc2dzdHIgIlNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTkgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDQKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE1IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU4IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE0Cittc2dpZCAiU2l6ZSIKK21zZ3N0ciAiVGFtYcOxbyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVucGFydGl0aW9uZWQgc3BhY2UgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICJFc3BhY2lvIG5vIHBhcnRpY2lvbmFkbyAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLW8pOlxuIgorbXNnc3RyICIiCisiXG4iCisiQ29sdW1uYXMgZGlzcG9uaWJsZXMgKHBhcmEgLS1vKTpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAiJXMgY29sdW1uYSBkZXNjb25vY2lkYTogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk1Cittc2dpZCAiR2VuZXJpYyIKK21zZ3N0ciAiR2VuZXJhbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTYKK21zZ2lkICJkZWxldGUgYSBwYXJ0aXRpb24iCittc2dzdHIgImJvcnJhIHVuYSBwYXJ0aWNpw7NuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NworbXNnaWQgImxpc3QgZnJlZSB1bnBhcnRpdGlvbmVkIHNwYWNlIgorbXNnc3RyICJsaXN0YSBlbCBlc3BhY2lvIGxpYnJlIG5vIHBhcnRpY2lvbmFkbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTgKK21zZ2lkICJsaXN0IGtub3duIHBhcnRpdGlvbiB0eXBlcyIKK21zZ3N0ciAibGlzdGEgbG9zIHRpcG9zIGRlIHBhcnRpY2lvbmVzIGNvbm9jaWRvcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTkKK21zZ2lkICJhZGQgYSBuZXcgcGFydGl0aW9uIgorbXNnc3RyICJhw7FhZGUgdW5hIG51ZXZhIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMAorbXNnaWQgInByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIm11ZXN0cmEgbGEgdGFibGEgZGUgcGFydGljaW9uZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMQorbXNnaWQgImNoYW5nZSBhIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJjYW1iaWEgZWwgdGlwbyBkZSB1bmEgcGFydGljacOzbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAyCittc2dpZCAidmVyaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInZlcmlmaWNhIGxhIHRhYmxhIGRlIHBhcnRpY2lvbmVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDMKK21zZ2lkICJwcmludCBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiaW1wcmltZSBpbmZvcm1hY2nDs24gc29icmUgdW5hIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNQorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAibXVlc3RyYSBsb3MgZGF0b3MgZW4gYnJ1dG8gZGVsIHByaW1lciBzZWN0b3IgZGVsIGRpc3Bvc2l0aXZvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDYKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGRpc2tsYWJlbCBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgImltcHJpbWUgbG9zIGRhdG9zIGVuIGJydXRvIGRlIGxhIGV0aXF1ZXRhIGRlIGRpc2NvIGRlbCBkaXNwb3NpdGl2byIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA3Cittc2dpZCAiZml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgImNvcnJpZ2UgZWwgb3JkZW4gZGUgbGFzIHBhcnRpY2lvbmVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDkKK21zZ2lkICJNaXNjIgorbXNnc3RyICJNaXNjZWzDoW5lYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEwCittc2dpZCAicHJpbnQgdGhpcyBtZW51IgorbXNnc3RyICJtdWVzdHJhIGVzdGUgbWVuw7oiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMQorbXNnaWQgImNoYW5nZSBkaXNwbGF5L2VudHJ5IHVuaXRzIgorbXNnc3RyICJjYW1iaWEgbGFzIHVuaWRhZGVzIGRlIHZpc3VhbGl6YWNpw7NuL2VudHJhZGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMgorbXNnaWQgImV4dHJhIGZ1bmN0aW9uYWxpdHkgKGV4cGVydHMgb25seSkiCittc2dzdHIgImZ1bmNpb25lcyBhZGljaW9uYWxlcyAoc8OzbG8gcGFyYSB1c3VhcmlvcyBhdmFuemFkb3MpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTQKK21zZ2lkICJTY3JpcHQiCittc2dzdHIgIlNjcmlwdCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE1Cittc2dpZCAibG9hZCBkaXNrIGxheW91dCBmcm9tIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiY2FyZ2EgbGEgZXN0cnVjdHVyYSBkZWwgZGlzY28gZGUgdW4gZmljaGVybyBkZSBzY3JpcHQgc2ZkaXNrIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTYKK21zZ2lkICJkdW1wIGRpc2sgbGF5b3V0IHRvIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAidnVlbGNhIGxhIGVzdHJ1Y3R1cmEgZGVsIGRpc2NvIGEgdW4gZmljaGVybyBkZSBzY3JpcHQgc2ZkaXNrIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTgKK21zZ2lkICJTYXZlICYgRXhpdCIKK21zZ3N0ciAiR3VhcmRhciB5IFNhbGlyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTkKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0IgorbXNnc3RyICJlc2NyaWJlIGxhIHRhYmxhIGVuIGVsIGRpc2NvIHkgc2FsZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIwCittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayIKK21zZ3N0ciAic2UgaGEgZXNjcml0byBsYSB0YWJsYSBlbiBlbCBkaXNjbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIxCittc2dpZCAicXVpdCB3aXRob3V0IHNhdmluZyBjaGFuZ2VzIgorbXNnc3RyICJzYWxlIHNpbiBndWFyZGFyIGxvcyBjYW1iaW9zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjIKK21zZ2lkICJyZXR1cm4gdG8gbWFpbiBtZW51IgorbXNnc3RyICJ2dWVsdmUgYWwgbWVuw7ogcHJpbmNpcGFsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjQKK21zZ2lkICJyZXR1cm4gZnJvbSBCU0QgdG8gRE9TIgorbXNnc3RyICJ2dWVsdmUgZGUgQlNEIGEgRE9TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzUKK21zZ2lkICJDcmVhdGUgYSBuZXcgbGFiZWwiCittc2dzdHIgIkNyZWEgdW5hIG51ZXZhIGV0aXF1ZXRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzYKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgR1BUIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiY3JlYSB1bmEgbnVldmEgdGFibGEgZGUgcGFydGljaW9uZXMgR1BUIHZhY8OtYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM3Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFNHSSAoSVJJWCkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJjcmVhIHVuYSBudWV2YSB0YWJsYSBkZSBwYXJ0aWNpb25lcyBTR0kgKElSSVgpIHZhY8OtYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM4Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgImNyZWEgdW5hIG51ZXZhIHRhYmxhIGRlIHBhcnRpY2lvbmVzIERPUyB2YWPDrWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTdW4gcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJjcmVhIHVuYSBudWV2YSB0YWJsYSBkZSBwYXJ0aWNpb25lcyBTdW4gdmFjw61hIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDMKK21zZ2lkICJjcmVhdGUgYW4gSVJJWCAoU0dJKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgImNyZWEgdW5hIHRhYmxhIGRlIHBhcnRpY2lvbmVzIElSSVggKFNHSSkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1MgorbXNnaWQgIkdlb21ldHJ5IgorbXNnc3RyICJHZW9tZXRyw61hIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTMKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAiY2FtYmlhIGVsIG7Dum1lcm8gZGUgY2lsaW5kcm9zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTQKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICJjYW1iaWEgZWwgbsO6bWVybyBkZSBjYWJlemFzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTUKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2siCittc2dzdHIgImNhbWJpYSBlbCBuw7ptZXJvIGRlIHNlY3RvcmVzIHBvciBwaXN0YSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk1Cittc2dpZCAiR1BUIgorbXNnc3RyICJHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NQorbXNnaWQgImNoYW5nZSBkaXNrIEdVSUQiCittc2dzdHIgImNhbWJpYSBlbCBHVUlEIGRlbCBkaXNjbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY2Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJjYW1iaWEgZWwgbm9tYnJlIGRlIGxhIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NworbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiY2FtYmlhIGVsIFVVSUQgZGUgbGEgcGFydGljacOzbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY4Cittc2dpZCAiY2hhbmdlIHRhYmxlIGxlbmd0aCIKK21zZ3N0ciAiY2FtYmlhIGxhIGxvbmdpdHVkIGRlIGxhIHRhYmxhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjkKK21zZ2lkICJlbnRlciBwcm90ZWN0aXZlL2h5YnJpZCBNQlIiCittc2dzdHIgImVudHJhIGVuIGVsIHNlY3RvciBkZSBhcnJhbmNhIHByaW5jaXBhbCAoTUJSKSBkZSBwcm90ZWNjacOzbiBvIGjDrWJyaWRvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzIKK21zZ2lkICJ0b2dnbGUgdGhlIGxlZ2FjeSBCSU9TIGJvb3RhYmxlIGZsYWciCittc2dzdHIgImNvbm11dGEgZWwgaW5kaWNhZG9yIGRlIGluaWNpYWJsZSBkZSBsZWdhY3kgQklPUyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTczCittc2dpZCAidG9nZ2xlIHRoZSBubyBibG9jayBJTyBwcm90b2NvbCBmbGFnIgorbXNnc3RyICJjb25tdXRhIGVsIGluZGljYWRvciBkZSBwcm90b2NvbG8gZGUgRS9TIHNpbiBibG9xdWVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzQKK21zZ2lkICJ0b2dnbGUgdGhlIHJlcXVpcmVkIHBhcnRpdGlvbiBmbGFnIgorbXNnc3RyICJjb25tdXRhIGVsIGluZGljYWRvciBkZSBwYXJ0aWNpw7NuIG5lY2VzYXJpYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc1Cittc2dpZCAidG9nZ2xlIHRoZSBHVUlEIHNwZWNpZmljIGJpdHMiCittc2dzdHIgImNvbm11dGEgbG9zIGJpdHMgZXNwZWPDrWZpY29zIGRlIEdVSUQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NQorbXNnaWQgIlN1biIKK21zZ3N0ciAiU3VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODYKK21zZ2lkICJ0b2dnbGUgdGhlIHJlYWQtb25seSBmbGFnIgorbXNnc3RyICJjb25tdXRhIGVsIGluZGljYWRvciBkZSBzw7NsbyBsZWN0dXJhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODcKK21zZ2lkICJ0b2dnbGUgdGhlIG1vdW50YWJsZSBmbGFnIgorbXNnc3RyICJjb25tdXRhIGVsIGluZGljYWRvciBkZSBtb250YWJsZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJjYW1iaWEgZWwgbsO6bWVybyBkZSBjaWxpbmRyb3MgYWx0ZXJuYXRpdm9zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTAKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJjYW1iaWEgZWwgbsO6bWVybyBkZSBzZWN0b3JlcyBhZGljaW9uYWxlcyBwb3IgY2lsaW5kcm8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MQorbXNnaWQgImNoYW5nZSBpbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiY2FtYmlhIGVsIGZhY3RvciBkZSBpbnRlcmxlYXZlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTIKK21zZ2lkICJjaGFuZ2Ugcm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgImNhbWJpYSBsYSB2ZWxvY2lkYWQgZGUgcm90YWNpw7NuIChyLnAubS4pIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTMKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiY2FtYmlhIGVsIG7Dum1lcm8gZGUgY2lsaW5kcm9zIGbDrXNpY29zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDIKK21zZ2lkICJTR0kiCittc2dzdHIgIlNHSSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjAzCittc2dpZCAic2VsZWN0IGJvb3RhYmxlIHBhcnRpdGlvbiIKK21zZ3N0ciAic2VsZWNjaW9uYSBwYXJ0aWNpw7NuIGluaWNpYWJsZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA0Cittc2dpZCAiZWRpdCBib290ZmlsZSBlbnRyeSIKK21zZ3N0ciAibW9kaWZpY2EgZW50cmFkYSBkZSBmaWNoZXJvIGRlIGluaWNpbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA1Cittc2dpZCAic2VsZWN0IHNnaSBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAic2VsZWNjaW9uYSBwYXJ0aWNpw7NuIGRlIGludGVyY2FtYmlvIHNnaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA2Cittc2dpZCAiY3JlYXRlIFNHSSBpbmZvIgorbXNnc3RyICJjcmVhIGluZm9ybWFjacOzbiBTR0kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNQorbXNnaWQgIkRPUyAoTUJSKSIKK21zZ3N0ciAiRE9TIChNQlIpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTYKK21zZ2lkICJ0b2dnbGUgYSBib290YWJsZSBmbGFnIgorbXNnc3RyICJjb25tdXRhIGVsIGluZGljYWRvciBkZSBpbmljaWFibGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNworbXNnaWQgImVkaXQgbmVzdGVkIEJTRCBkaXNrbGFiZWwiCittc2dzdHIgIm1vZGlmaWNhIGxhIGV0aXF1ZXRhIGRlIGRpc2NvIEJTRCBhbmlkYWRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTgKK21zZ2lkICJ0b2dnbGUgdGhlIGRvcyBjb21wYXRpYmlsaXR5IGZsYWciCittc2dzdHIgImNvbm11dGEgZWwgaW5kaWNhZG9yIGRlIGNvbXBhdGliaWxpZGFkIGNvbiBET1MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMAorbXNnaWQgIm1vdmUgYmVnaW5uaW5nIG9mIGRhdGEgaW4gYSBwYXJ0aXRpb24iCittc2dzdHIgIm11ZXZlIGVsIHByaW5jaXBpbyBkZSBsb3MgZGF0b3MgZGUgdW5hIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMQorbXNnaWQgImNoYW5nZSB0aGUgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJjYW1iaWEgZWwgaWRlbnRpZmljYWRvciBkZSBkaXNjbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIzCittc2dpZCAicmV0dXJuIGZyb20gcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIHRvIEdQVCIKK21zZ3N0ciAicmVncmVzYSBkZWwgc2VjdG9yIGRlIGFycmFucXVlIHByaW5jaXBhbCAoTUJSKSBkZSBwcm90ZWNjacOzbiBvIGjDrWJyaWRvIGEgR1BUIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzMKK21zZ2lkICJCU0QiCittc2dzdHIgIkJTRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM0Cittc2dpZCAiZWRpdCBkcml2ZSBkYXRhIgorbXNnc3RyICJtb2RpZmljYSBsb3MgZGF0b3MgZGUgbGEgdW5pZGFkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzUKK21zZ2lkICJpbnN0YWxsIGJvb3RzdHJhcCIKK21zZ3N0ciAiaW5zdGFsYSBzZWN1ZW5jaWEgZGUgaW5pY2lvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzYKK21zZ2lkICJzaG93IGNvbXBsZXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAibXVlc3RyYSBsYSBldGlxdWV0YSBkZWwgZGlzY28gY29tcGxldGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNworbXNnaWQgImxpbmsgQlNEIHBhcnRpdGlvbiB0byBub24tQlNEIHBhcnRpdGlvbiIKK21zZ3N0ciAiZW5sYXphIGxhIHBhcnRpY2nDs24gQlNEIGNvbiB1bmEgcGFydGljacOzbiBubyBCU0QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscCAoZXhwZXJ0IGNvbW1hbmRzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkF5dWRhIChvcGVyYWNpb25lcyBkZSBleHBlcnRvKTpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzcxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI2NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscDpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkF5dWRhOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91J3JlIGVkaXRpbmcgbmVzdGVkICclcycgcGFydGl0aW9uIHRhYmxlLCBwcmltYXJ5IHBhcnRpdGlvbiB0YWJsZSBpcyAnJXMnLiIKK21zZ3N0ciAiRXN0w6EgZWRpdGFuZG8gbGEgdGFibGEgZGUgcGFydGljaW9uZXMgJyVzJyBhbmlkYWRhczsgbGEgdGFibGEgZGUgbGEgcGFydGljacOzbiBwcmltYXJpYSBlcyAnJXMnLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDIxCittc2dpZCAiRXhwZXJ0IGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIk9yZGVuIGF2YW56YWRhIChtIHBhcmEgb2J0ZW5lciBheXVkYSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDIzCittc2dpZCAiQ29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAiT3JkZW4gKG0gcGFyYSBvYnRlbmVyIGF5dWRhKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWM6IHVua25vd24gY29tbWFuZCIKK21zZ3N0ciAiJWM6IG9yZGVuIGRlc2Nvbm9jaWRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NTggZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg1Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZSIKK21zZ3N0ciAiSW50cm9kdXpjYSBlbCBub21icmUgZGVsIGZpY2hlcm8gZGUgc2NyaXB0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NzEKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IGFwcGxpZWQuIgorbXNnc3RyICJTY3JpcHQgYXBsaWNhZG8gY29ycmVjdGFtZW50ZS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ5NworbXNnaWQgIkZhaWxlZCB0byB0cmFuc2Zvcm0gZGlzayBsYXlvdXQgaW50byBzY3JpcHQiCittc2dzdHIgIk5vIHNlIGhhIHBvZGlkbyB0cmFuc2Zvcm1hciBsYSBlc3RydWN0dXJhIGRlbCBkaXNjbyBlbiBlbCBzY3JpcHQuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTEKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IHNhdmVkLiIKK21zZ3N0ciAiU2NyaXB0IGd1YXJkYWRvIGNvcnJlY3RhbWVudGUuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzQgZGlzay11dGlscy9zZmRpc2suYzoxNDc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiUGFydGljacOzbiAjJXp1OiBjb250aWVuZSB1biAlcyBlbiBsYSBmaXJtYS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzNyBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlIHNpZ25hdHVyZT8iCittc2dzdHIgIsK/RGVzZWEgZWxpbWluYXIgbGEgZmlybWE/IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzUKK21zZ2lkICJmYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsIgorbXNnc3RyICJmYWxsbyBhbCBlc2NyaWJpciBsYSBldGlxdWV0YSBkZSBkaXNjbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjEzCittc2dpZCAiRmFpbGVkIHRvIGZpeCBwYXJ0aXRpb25zIG9yZGVyLiIKK21zZ3N0ciAiRmFsbG8gYWwgY29ycmVnaXIgZWwgb3JkZW4gZGUgbGFzIHBhcnRpY2lvbmVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MTUKK21zZ2lkICJQYXJ0aXRpb25zIG9yZGVyIGZpeGVkLiIKK21zZ3N0ciAiU2UgaGEgY29ycmVnaWRvIGVsIG9yZGVuIGRlIGxhcyBwYXJ0aWNpb25lcy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIk5vIHNlIHB1ZG8gYm9ycmFyIGxhIHBhcnRpY2nDs24gJXp1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjAKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIGN5bGluZGVycyAoREVQUkVDQVRFRCEpLiIKK21zZ3N0ciAiU2UgY2FtYmlhbiBsYXMgdW5pZGFkZXMgZGUgdmlzdWFsaXphY2nDs24vZW50cmFkYSBhIGNpbGluZHJvcyAowqFPQlNPTEVUTyEpLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjYyCittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBzZWN0b3JzLiIKK21zZ3N0ciAiU2UgY2FtYmlhbiBsYXMgdW5pZGFkZXMgZGUgdmlzdWFsaXphY2nDs24vZW50cmFkYSBhIHNlY3RvcmVzLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjcyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjg0MgorbXNnaWQgIkxlYXZpbmcgbmVzdGVkIGRpc2tsYWJlbC4iCittc2dzdHIgIkRlamFuZG8gbGEgZXRpcXVldGEgZGUgZGlzY28gYW5pZGFkYS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjcwOQorbXNnaWQgIk5ldyBtYXhpbXVtIGVudHJpZXMiCittc2dzdHIgIk51ZXZvIHZhbG9yIGRlIGVudHJhZGFzIG3DoXhpbWFzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MTkKK21zZ2lkICJFbnRlcmluZyBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgZGlza2xhYmVsLiIKK21zZ3N0ciAiRW50cmFuZG8gZWwgbGEgZXRpcXVldGEgZGUgZGlzY28gZGVsIHNlY3RvciBkZSBhcnJhbnF1ZSBwcmluY2lwYWwgKE1CUikgZGUgcHJvdGVjY2nDs24gbyBow61icmlkby4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjczNQorbXNnaWQgIk5ldyBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIk51ZXZvIFVVSUQgKGVuIGZvcm1hdG8gOC00LTQtNC0xMikiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc1MAorbXNnaWQgIk5ldyBuYW1lIgorbXNnc3RyICJOb21icmUgbnVldm8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjgxMworbXNnaWQgIkVudGVyaW5nIG5lc3RlZCBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAiRW50cmFuZG8gZW4gbGEgZXRpcXVldGEgQlNEIGFuaWRhZGEgZGUgZGlzY28uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OTgKK21zZ2lkICJOdW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICJOw7ptZXJvIGRlIGNpbGluZHJvcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAwMgorbXNnaWQgIk51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAiTsO6bWVybyBkZSBjYWJlemFzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDA2Cittc2dpZCAiTnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIk7Dum1lcm8gZGUgc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkXG4iCittc2dzdHIgIiVzIGVzdMOhIG1vbnRhZG8uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbW91bnRlZFxuIgorbXNnc3RyICIlcyBubyBlc3TDoSBtb250YWRvLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMzEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3NAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4MSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjM1CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjUzIGRpc2stdXRpbHMvc2ZkaXNrLmM6Mjk3IGxpYmZkaXNrL3NyYy9ic2QuYzo2NDYKKyM6IGxpYi9wYXRoLmM6MTEwIGxpYi9wYXRoLmM6MTMxIGxpYi9wYXRoLmM6MTUyIGxpYi9wYXRoLmM6MjAwCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjEzIGxvZ2luLXV0aWxzL2xhc3QuYzoyNTAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjY2NAorIzogc3lzLXV0aWxzL3NldHByaXYuYzoyMzkgdGVybS11dGlscy9zZXR0ZXJtLmM6NzE3IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3NAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Nzc4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc4NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCAlcyIKK21zZ3N0ciAibm8gc2UgcHVlZGUgbGVlciAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMzIGxpYi9wYXRoLmM6MTMzIGxpYi9wYXRoLmM6MTU0CisjLCBjLWZvcm1hdAorbXNnaWQgInBhcnNlIGVycm9yOiAlcyIKK21zZ3N0ciAiZXJyb3IgZGUgc2ludGF4aXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgJXMiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGNyZWFyIGVsIGRpcmVjdG9yaW8gJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM3MworIywgYy1mb3JtYXQKK21zZ2lkICJMb2NraW5nIGRpc2sgYnkgJXMgLi4uICIKK21zZ3N0ciAiQmxvcXVlYW5kbyBkaXNjbyBwb3IgJXMgLi4uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiKHdhaXRpbmcpICIKK21zZ3N0ciAiKGVzcGVyYW5kbykiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGVzZSBhcmUgZm9sbG93dXBzIHRvICJMb2NraW5nIGRpc2suLi4iLgorIzogZGlzay11dGlscy9mc2NrLmM6Mzk0Cittc2dpZCAic3VjY2VlZGVkIgorbXNnc3RyICJmaW5hbGl6YWRvIGNvbiDDqXhpdG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5NAorbXNnaWQgImZhaWxlZCIKK21zZ3N0ciAiZmFsbMOzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5sb2NraW5nICVzLlxuIgorbXNnc3RyICJEZXNibG9xdWVhbmRvICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGRlc2NyaXB0aW9uIGZvciAlcyIKK21zZ3N0ciAiZmFsbG8gYWwgY29uZmlndXJhciBsYSBkZXNjcmlwY2nDs24gZGUgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ3NCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3ODIgbWlzYy11dGlscy9sc2Jsay5jOjQzMworIzogc3lzLXV0aWxzL21vdW50LmM6MTAyIHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6MTkgc3lzLXV0aWxzL3Vtb3VudC5jOjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiBlcnJvciBkZSBhbsOhbGlzaXMgZW4gbGEgbMOtbmVhICVkIC0tIGlnbm9yYWRvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo1MDYgZGlzay11dGlscy9mc2NrLmM6NTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UgZnN0YWIiCittc2dzdHIgIiVzOiBmYWxsbyBhbCBhbmFsaXphciBmc3RhYiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njc5IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTY4IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDM0CisjOiBsb2dpbi11dGlscy92aXB3LmM6MjA0IHN5cy11dGlscy9mbG9jay5jOjM0NSBzeXMtdXRpbHMvbnNlbnRlci5jOjE1MworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxNiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIxOSBzeXMtdXRpbHMvdW5zaGFyZS5jOjQyMAorIzogdGVybS11dGlscy9zY3JpcHQuYzo3ODAKK21zZ2lkICJmb3JrIGZhaWxlZCIKK21zZ3N0ciAiTGEgYmlmdXJjYWNpw7NuIChmb3JrKSBoYSBmYWxsYWRvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGUgZmFpbGVkIgorbXNnc3RyICIlczogbGEgZWplY3VjacOzbiBmYWxsw7MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc3NAorbXNnaWQgIndhaXQ6IG5vIG1vcmUgY2hpbGQgcHJvY2Vzcz8hPyIKK21zZ3N0ciAid2FpdDogwr/CocK/bm8gcXVlZGEgbmluZ8O6biBwcm9jZXNvIGhpam8/IT8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc3NyBzeXMtdXRpbHMvZmxvY2suYzozNjMgc3lzLXV0aWxzL3N3YXBvbi5jOjM0OAorIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MDQgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MjUKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCIKK21zZ3N0ciAid2FpdHBpZCgpIGhhIGZhbGxhZG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc5NQorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nLi4uICVzIGZvciBkZXZpY2UgJXMgZXhpdGVkIHdpdGggc2lnbmFsICVkLiIKK21zZ3N0ciAiQXRlbmNpw7NuLi4uICVzIHBhcmEgZWwgZGlzcG9zaXRpdm8gJXMgaGEgdGVybWluYWRvIGNvbiBsYSBzZcOxYWwgJWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXM6IHN0YXR1cyBpcyAleCwgc2hvdWxkIG5ldmVyIGhhcHBlbi4iCittc2dzdHIgIiVzICVzOiBlbCBlc3RhZG8gZXMgJXgsIGxvIGN1YWwgbnVuY2EgZGViZXLDrWEgc3VjZWRlci4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjg0NworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5pc2hlZCB3aXRoICVzIChleGl0IHN0YXR1cyAlZClcbiIKK21zZ3N0ciAiSGEgZmluYWxpemFkbyBjb24gJXMgKGVzdGFkbyBkZSBmaW5hbGl6YWNpw7NuICVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgJWQgKCVtKSB3aGlsZSBleGVjdXRpbmcgZnNjay4lcyBmb3IgJXMiCittc2dzdHIgImVycm9yICVkICglbSkgYWwgZWplY3V0YXIgZnNjay4lcyBwYXJhICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5OTEKK21zZ2lkICIiCisiRWl0aGVyIGFsbCBvciBub25lIG9mIHRoZSBmaWxlc3lzdGVtIHR5cGVzIHBhc3NlZCB0byAtdCBtdXN0IGJlIHByZWZpeGVkXG4iCisid2l0aCAnbm8nIG9yICchJy4iCittc2dzdHIgIiIKKyJUb2RvcyBvIGFsZ3VubyBkZSBsb3MgdGlwb3MgZGUgc2lzdGVtYSBkZSBmaWNoZXJvcyBwYXNhZG9zIGEgLXQgZGViZW4gdGVuZXIgZWwgcHJlZmlqb1xuIgorIidubycgbyAnIScuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBiYWQgbGluZSBpbiAvZXRjL2ZzdGFiOiBiaW5kIG1vdW50IHdpdGggbm9uemVybyBmc2NrIHBhc3MgbnVtYmVyIgorbXNnc3RyICIiCisiJXM6IHNlIGRlc2NhcnRhIGzDrW5lYSBpbmNvcnJlY3RhIGVuIC9ldGMvZnN0YWI6IHJlbW9udGFqZSBjb24gbsO6bWVybyBkZVxuIgorInBhc28gZGUgZnNjayBkaXN0aW50byBkZSBjZXJvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBub25leGlzdGVudCBkZXZpY2VcbiIKK21zZ3N0ciAiJXM6IHNlIGRlc2NhcnRhIGVsIGRpc3Bvc2l0aXZvIHF1ZSBubyBleGlzdGVcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9uZXhpc3RlbnQgZGV2aWNlIChcIm5vZmFpbFwiIGZzdGFiIG9wdGlvbiBtYXkgYmUgdXNlZCB0byBza2lwIHRoaXMgZGV2aWNlKVxuIgorbXNnc3RyICIlczogZGlzcG9zaXRpdm8gaW5leGlzdGVudGUgKHB1ZWRlIHV0aWxpemFyc2UgbGEgb3BjacOzbiBcIm5vZmFpbFwiIHBhcmEgZGVzY2FydGFyIGVzdGUgZGlzcG9zaXRpdm8pXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIHVua25vd24gZmlsZXN5c3RlbSB0eXBlXG4iCittc2dzdHIgIiVzOiBzZSBkZXNjYXJ0YSB0aXBvIGRlIHNpc3RlbWEgZGUgZmljaGVyb3MgZGVzY29ub2NpZG9cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hlY2sgJXM6IGZzY2suJXMgbm90IGZvdW5kIgorbXNnc3RyICJubyBzZSBwdWVkZSBjb21wcm9iYXIgJXM6IGZzY2suJXMgbm8gZW5jb250cmFkbyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTI1OQorbXNnaWQgIkNoZWNraW5nIGFsbCBmaWxlIHN5c3RlbXMuXG4iCittc2dzdHIgIkNvbXByb2JhbmRvIHRvZG9zIGxvcyBzaXN0ZW1hcyBkZSBmaWNoZXJvcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM1MAorIywgYy1mb3JtYXQKK21zZ2lkICItLXdhaXRpbmctLSAocGFzcyAlZClcbiIKK21zZ3N0ciAiLS1lc3BlcmFuZG8tLSAocGFzbyAlZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM3NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC0tIFtmcy1vcHRpb25zXSBbPGZpbGVzeXN0ZW0+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gLS0gW29wY2lvbmVzLXNpc2ZdIFs8c2lzdGVtYSBkZSBmaWNoZXJvcz4gLi4uXVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzc5Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkNvbXBydWViYSB5IHJlcGFyYSB1biBzaXN0ZW1hIGRlIGZpY2hlcm9zIGRlIExpbnV4LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzgyCittc2dpZCAiIC1BICAgICAgICAgY2hlY2sgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtQSAgICAgICAgIGNvbXBydWViYSB0b2RvcyBsb3Mgc2lzdGVtYXMgZGUgZmljaGVyb3NcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4MworbXNnaWQgIiAtQyBbPGZkPl0gIGRpc3BsYXkgcHJvZ3Jlc3MgYmFyOyBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiIC1DIFs8ZmQ+XSAgbXVlc3RyYSBsYSBiYXJyYSBkZSBwcm9ncmVzbzsgZWwgZGVzY3JpcHRvciBkZSBmaWNoZXJvIGVzIHBhcmEgR1VJc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg0Cittc2dpZCAiIC1sICAgICAgICAgbG9jayB0aGUgZGV2aWNlIHRvIGd1YXJhbnRlZSBleGNsdXNpdmUgYWNjZXNzXG4iCittc2dzdHIgIiAtbCAgICAgICAgIGJsb3F1ZWEgZWwgZGlzcG9zaXRpdm8gcGFyYSBnYXJhbnRpemFyIGFjY2VzbyBlbiBleGNsdXNpdmlkYWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NQorbXNnaWQgIiAtTSAgICAgICAgIGRvIG5vdCBjaGVjayBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtTSAgICAgICAgIG5vIGNvbXBydWViYSBsb3Mgc2lzdGVtYXMgZGUgZmljaGVyb3MgbW9udGFkb3NcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NgorbXNnaWQgIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCittc2dzdHIgIiAtTiAgICAgICAgIG5vIGVqZWN1dGEsIHNpbXBsZW1lbnRlIG11ZXN0cmEgbG8gcXVlIGhhcsOtYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg3Cittc2dpZCAiIC1QICAgICAgICAgY2hlY2sgZmlsZXN5c3RlbXMgaW4gcGFyYWxsZWwsIGluY2x1ZGluZyByb290XG4iCittc2dzdHIgIiAtUCAgICAgICAgIGNvbXBydWViYSBsb3Mgc2lzdGVtYXMgZGUgZmljaGVyb3MgZW4gcGFyYWxlbG8sIGluY2x1eWVuZG8gZWwgcmHDrXpcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4OAorbXNnaWQgIiAtUiAgICAgICAgIHNraXAgcm9vdCBmaWxlc3lzdGVtOyB1c2VmdWwgb25seSB3aXRoICctQSdcbiIKK21zZ3N0ciAiIC1SICAgICAgICAgc2Ugc2FsdGEgZWwgc2lzdGVtYSBkZSBmaWNoZXJvcyByYcOtejsgw7p0aWwgc29sYW1lbnRlIGNvbiAnLUEnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODkKK21zZ2lkICIiCisiIC1yIFs8ZmQ+XSAgcmVwb3J0IHN0YXRpc3RpY3MgZm9yIGVhY2ggZGV2aWNlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiIKKyIgLXIgWzxmZD5dICBtdWVzdHJhIGVzdGFkw61zdGljYXMgcGFyYSBjYWRhIGRpc3Bvc2l0aXZvIGNvbXByb2JhZG87XG4iCisiICAgICAgICAgICAgZWwgZGVzY3JpcHRvciBkZSBmaWNoZXJvIGVzIHBhcmEgR1VJc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkxCittc2dpZCAiIC1zICAgICAgICAgc2VyaWFsaXplIHRoZSBjaGVja2luZyBvcGVyYXRpb25zXG4iCittc2dzdHIgIiAtcyAgICAgICAgIHNlcmlhbGl6YSBsYXMgb3BlcmFjaW9uZXMgZGUgY29tcHJvYmFjacOzblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkyCittc2dpZCAiIC1UICAgICAgICAgZG8gbm90IHNob3cgdGhlIHRpdGxlIG9uIHN0YXJ0dXBcbiIKK21zZ3N0ciAiIC1UICAgICAgICAgbm8gbXVlc3RyYSBlbCB0w610dWxvIGR1cmFudGUgZWwgYXJyYW5xdWVcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MworbXNnaWQgIiIKKyIgLXQgPHR5cGU+ICBzcGVjaWZ5IGZpbGVzeXN0ZW0gdHlwZXMgdG8gYmUgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICA8dHlwZT4gaXMgYWxsb3dlZCB0byBiZSBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0XG4iCittc2dzdHIgIiIKKyIgLXQgPHRpcG8+ICBlc3BlY2lmaWNhIHRpcG9zIGRlIHNpc3RlbWFzIGRlIGZpY2hlcm9zIHF1ZSBzZSB2YW4gYSBjb21wcm9iYXI7XG4iCisiICAgICAgICAgICAgPHRpcG8+IHB1ZWRlIHNlciB1bmEgbGlzdGEgZGUgZWxlbWVudG9zIHNlcGFyYWRvcyBwb3IgY29tYXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NQorbXNnaWQgIiAtViAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtViAgICAgICAgIGV4cGxpY2EgbG8gcXVlIHZhIGhhY2llbmRvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTYKK21zZ2lkICIgLT8gICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLT8gICAgICAgICBtdWVzdHJhIGVzdGEgYXl1ZGEgeSBmaW5hbGl6YVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk5Cittc2dpZCAiU2VlIHRoZSBzcGVjaWZpYyBmc2NrLiogY29tbWFuZHMgZm9yIGF2YWlsYWJsZSBmcy1vcHRpb25zLiIKK21zZ3N0ciAiVsOpYW5zZSBsYXMgw7NyZGVuZXMgZnNjay4qIGVzcGVjw61maWNhcyBwYXJhIGNvbm9jZXIgbGFzIG9wY2lvbmVzLXNpc2YgZGlzcG9uaWJlcy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MzgKK21zZ2lkICJ0b28gbWFueSBkZXZpY2VzIgorbXNnc3RyICJkZW1hc2lhZG9zIGRpc3Bvc2l0aXZvcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ1MAorbXNnaWQgIklzIC9wcm9jIG1vdW50ZWQ/IgorbXNnc3RyICLCv0VzdMOhIG1vbnRhZG8gL3Byb2M/IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDU4CisjLCBjLWZvcm1hdAorbXNnaWQgIm11c3QgYmUgcm9vdCB0byBzY2FuIGZvciBtYXRjaGluZyBmaWxlc3lzdGVtczogJXMiCittc2dzdHIgImRlYmUgc2VyIHJvb3QgcGFyYSBleHBsb3JhciBzaXN0ZW1hcyBkZSBmaWNoZXJvcyBjb2luY2lkZW50ZXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDYyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGZpbmQgbWF0Y2hpbmcgZmlsZXN5c3RlbTogJXMiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBlbmNvbnRyYXIgdW4gc2lzdGVtYSBkZSBmaWNoZXJvcyBjb2luY2lkZW50ZTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NzAgZGlzay11dGlscy9mc2NrLmM6MTU2NSBtaXNjLXV0aWxzL2tpbGwuYzozNjMKKyM6IHN5cy11dGlscy9lamVjdC5jOjI3OQorbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKK21zZ3N0ciAiZGVtYXNpYWRvcyBhcmd1bWVudG9zIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTI1IGRpc2stdXRpbHMvZnNjay5jOjE1MjgKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yIgorbXNnc3RyICJhcmd1bWVudG8gZGUgLXIgbm8gdsOhbGlkbyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU3NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yOiAlZCIKK21zZ3N0ciAiYXJndW1lbnRvIGRlIC1yIG5vIHbDoWxpZG86ICVkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNjE4Cittc2dpZCAidGhlIC1sIG9wdGlvbiBjYW4gYmUgdXNlZCB3aXRoIG9uZSBkZXZpY2Ugb25seSAtLSBpZ25vcmUiCittc2dzdHIgImxhIG9wY2nDs24gLWwgcHVlZGUgdXRpbGl6YXJzZSBjb24gdW4gc29sbyBkaXNwb3NpdGl2byAtLSBpZ25vcmFyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+XG4iCittc2dzdHIgIiAlcyBbb3BjaW9uZXNdIDxmaWNoZXJvPlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE2Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIGNvbXByZXNzZWQgUk9NIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkNvbXBydWViYSB5IHJlcGFyYSB1biBzaXN0ZW1hIGRlIGZpY2hlcm9zIFJPTSBjb21wcmltaWRvLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE5Cittc2dpZCAiIC1hICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc29sYW1lbnRlIHBhcmEgY29tcGF0aWJpbGlkYWQsIG5vIGhhY2UgbmFkYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIwCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBtw6FzIGV4cHJlc2l2b1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIxCittc2dpZCAiIC15ICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiAteSAgICAgICAgICAgICAgICAgICAgICAgc29sYW1lbnRlIHBhcmEgY29tcGF0aWJpbGlkYWQsIG5vIGhhY2UgbmFkYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIyCittc2dpZCAiIC1iLCAtLWJsb2Nrc2l6ZSA8c2l6ZT4gICB1c2UgdGhpcyBibG9ja3NpemUsIGRlZmF1bHRzIHRvIHBhZ2Ugc2l6ZVxuIgorbXNnc3RyICIgLWIsIC0tYmxvY2tzaXplIDx0YW1hw7FvPiB1dGlsaXphIGVzdGUgdGFtYcOxbyBkZSBibG9xdWUsIHByZWRldGVybWluYWRvIGFsIHRhbWHDsW8gZGUgcMOhZ2luYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIzCittc2dpZCAiICAgICAtLWV4dHJhY3RbPTxkaXI+XSAgICB0ZXN0IHVuY29tcHJlc3Npb24sIG9wdGlvbmFsbHkgZXh0cmFjdCBpbnRvIDxkaXI+XG4iCittc2dzdHIgIiAgICAgLS1leHRyYWN0Wz08ZGlyPl0gICAgY29tcHJ1ZWJhIGRlc2NvbXByZXNpw7NuLCBvcGNpb25hbG1lbnRlIGV4dHJheWVuZG8gZW4gPGRpcj5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBmYWlsZWQ6IHVuYWJsZSB0byBkZXRlcm1pbmUgZGV2aWNlIHNpemU6ICVzIgorbXNnc3RyICJmYWxsbyBkZSBpb2N0ZWw6IG5vIHNlIHB1ZWRlIGRldGVybWluYXIgZWwgdGFtYcOxbyBkZWwgZGlzcG9zaXRpdm86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGJsb2NrIGRldmljZSBvciBmaWxlOiAlcyIKK21zZ3N0ciAibm8gZXMgdW4gZGlzcG9zaXRpdm8gZGUgYmxvcXVlcyBvIHVuIGZpY2hlcm86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTcwIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDYKK21zZ2lkICJmaWxlIGxlbmd0aCB0b28gc2hvcnQiCittc2dzdHIgImxhIGxvbmdpdHVkIGRlbCBmaWNoZXJvIGVzIGRlbWFzaWFkbyBjb3J0YSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3OSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjMzCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjQ5IGxpYmZkaXNrL3NyYy9ic2QuYzo3MTggbGliZmRpc2svc3JjL2JzZC5jOjg5MAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwOCBsb2dpbi11dGlscy9sYXN0LmM6MjQyIHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VlayBvbiAlcyBmYWlsZWQiCittc2dzdHIgIkVycm9yIGRlIGLDunNxdWVkYSBlbiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg3Cittc2dpZCAic3VwZXJibG9jayBtYWdpYyBub3QgZm91bmQiCittc2dzdHIgIm5vIHNlIGhhIGVuY29udHJhZG8gZWwgbsO6bWVybyBtw6FnaWNvIGRlbCBzdXBlcmJsb3F1ZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJjcmFtZnMgZW5kaWFubmVzcyBpcyAlc1xuIgorbXNnc3RyICJsYSBlbmRpYW5uZXNzIGRlIGNyYW1mcyBlcyAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkxCittc2dpZCAiYmlnIgorbXNnc3RyICJiaWciCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTEKK21zZ2lkICJsaXR0bGUiCittc2dzdHIgImxpdHRsZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5NQorbXNnaWQgInVuc3VwcG9ydGVkIGZpbGVzeXN0ZW0gZmVhdHVyZXMiCittc2dzdHIgImVsIHNpc3RlbWEgZGUgZmljaGVyb3MgdGllbmUgY2FyYWN0ZXLDrXN0aWNhcyBubyBzb3BvcnRhZGFzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgInN1cGVyYmxvY2sgc2l6ZSAoJWQpIHRvbyBzbWFsbCIKK21zZ3N0ciAiZWwgdGFtYcOxbyBkZWwgc3VwZXJibG9xdWUgKCVkKSBlcyBkZW1hc2lhZG8gcGVxdWXDsW8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDQKK21zZ2lkICJ6ZXJvIGZpbGUgY291bnQiCittc2dzdHIgImNlcm8gZmljaGVyb3MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDgKK21zZ2lkICJmaWxlIGV4dGVuZHMgcGFzdCBlbmQgb2YgZmlsZXN5c3RlbSIKK21zZ3N0ciAiZWwgZmljaGVybyBmaW5hbGl6YSBtw6FzIGFsbMOhIGRlbCBmaW5hbCBkZWwgc2lzdGVtYSBkZSBmaWNoZXJvcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxMAorbXNnaWQgIm9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICJmb3JtYXRvIGNyYW1mcyBhbnRpZ3VvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjE5Cittc2dpZCAidW5hYmxlIHRvIHRlc3QgQ1JDOiBvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAibm8gc2UgcHVlZGUgY29tcHJvYmFyIENSQzogZm9ybWF0byBjcmFtZnMgYW50aWd1byIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI3MgorbXNnaWQgImNyYyBlcnJvciIKK21zZ3N0ciAiZXJyb3IgZGUgY3JjIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzAyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU1NAorbXNnaWQgInNlZWsgZmFpbGVkIgorbXNnc3RyICJlcnJvciBkZSBiw7pzcXVlZGEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDYKK21zZ2lkICJyZWFkIHJvbWZzIGZhaWxlZCIKK21zZ3N0ciAiZXJyb3IgZGUgbGVjdHVyYSBkZSByb21mcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMzOAorbXNnaWQgInJvb3QgaW5vZGUgaXMgbm90IGRpcmVjdG9yeSIKK21zZ3N0ciAiZWwgbm9kby1pIHJhw616IG5vIGVzIHVuIGRpcmVjdG9yaW8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHJvb3Qgb2Zmc2V0ICglbHUpIgorbXNnc3RyICJkZXNwbGF6YW1pZW50byBkZSBsYSByYcOteiBpbmNvcnJlY3RvICglbHUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzYwCittc2dpZCAiZGF0YSBibG9jayB0b28gbGFyZ2UiCittc2dzdHIgImJsb3F1ZSBkZSBkYXRvcyBkZW1hc2lhZG8gZ3JhbmRlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgImRlY29tcHJlc3Npb24gZXJyb3I6ICVzIgorbXNnc3RyICJlcnJvciBkZSBkZXNjb21wcmVzacOzbiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgIGhvbGUgYXQgJWx1ICglenUpXG4iCittc2dzdHIgIiAgaHVlY28gZW4gJWx1ICglenUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTcgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICIgIHVuY29tcHJlc3NpbmcgYmxvY2sgYXQgJWx1IHRvICVsdSAoJWx1KVxuIgorbXNnc3RyICIgIGRlc2NvbXByaW1pZW5kbyBibG9xdWUgZW4gJWx1IGEgJWx1ICglbHUpXG4iCisKKyMgTm8gbWUgZ3VzdGEuIFNlIGFkbWl0ZW4gc3VnZXJlbmNpYXMuCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1ibG9jayAoJWxkKSBieXRlcyIKK21zZ3N0ciAibm8gYmxvcXVlICglbGQpIGJ5dGVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1zaXplICglbGQgdnMgJWxkKSBieXRlcyIKK21zZ3N0ciAibm8gdGFtYcOxbyAoJWxkIHZzICVsZCkgYnl0ZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MTMgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxNgorIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDQgbWlzYy11dGlscy91dWlkZC5jOjM3NSBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzgyCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUzNSBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1OCBzeXMtdXRpbHMvc3dhcG9uLmM6Mzg5CisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJmYWxsw7MgbGEgZXNjcml0dXJhOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyNAorIywgYy1mb3JtYXQKK21zZ2lkICJsY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAibGNob3duIGZhbGzDszogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAiY2hvd24gZmFsbMOzOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQzMworIywgYy1mb3JtYXQKK21zZ2lkICJ1dGltZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJ1dGltZSBoYSBmYWxsYWRvOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiZWwgbm9kby1pIGRlbCBkaXJlY3RvcmlvIHRpZW5lIGRlc3BsYXphbWllbnRvIGNlcm8geSB1biB0YW1hw7FvIGRpc3RpbnRvIGRlIGNlcm86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1rZGlyIGZhaWxlZDogJXMiCittc2dzdHIgIm1rZGlyIGZhbGzDszogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NzYKK21zZ2lkICJmaWxlbmFtZSBsZW5ndGggaXMgemVybyIKK21zZ3N0ciAibGEgbG9uZ2l0dWQgZGVsIG5vbWJyZSBkZWwgZmljaGVybyBlcyBjZXJvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc4Cittc2dpZCAiYmFkIGZpbGVuYW1lIGxlbmd0aCIKK21zZ3N0ciAibG9uZ2l0dWQgZXJyw7NuZWEgZGVsIG5vbWJyZSBkZWwgZmljaGVybyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4NAorbXNnaWQgImJhZCBpbm9kZSBvZmZzZXQiCittc2dzdHIgImRlc3BsYXphbWllbnRvIGRlIG5vZG8taSBpbmNvcnJlY3RvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDk5Cittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemUiCittc2dzdHIgImVsIG5vZG8taSBkZWwgZmljaGVybyB0aWVuZSBkZXNwbGF6YW1pZW50byBjZXJvIHkgdW4gdGFtYcOxbyBkaXN0aW50byBkZSBjZXJvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTAyCittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBzaXplIGFuZCBub24temVybyBvZmZzZXQiCittc2dzdHIgImVsIG5vZG8taSBkZWwgZmljaGVybyB0aWVuZSB0YW1hw7FvIGNlcm8geSB1biBkZXNwbGF6YW1pZW50byBkaXN0aW50byBkZSBjZXJvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTMxCittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBvZmZzZXQiCittc2dzdHIgImVsIGVubGFjZSBzaW1iw7NsaWNvIHRpZW5lIGRlc3BsYXphbWllbnRvIGNlcm8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzMKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIHNpemUiCittc2dzdHIgImVsIGVubGFjZSBzaW1iw7NsaWNvIHRpZW5lIHRhbWHDsW8gY2VybyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU0MgorIywgYy1mb3JtYXQKK21zZ2lkICJzaXplIGVycm9yIGluIHN5bWxpbms6ICVzIgorbXNnc3RyICJlcnJvciBkZSB0YW1hw7FvIGVuIGVsIGVubGFjZSBzaW1iw7NsaWNvICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTU2CisjLCBjLWZvcm1hdAorbXNnaWQgInN5bWxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAiZWwgZW5sYWNlIHNpbWLDs2xpY28gZmFsbMOzOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU2OQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGZpbGUgaGFzIG5vbi16ZXJvIG9mZnNldDogJXMiCittc2dzdHIgImVsIGZpY2hlcm8gZXNwZWNpYWwgdGllbmUgdW4gZGVzcGxhemFtaWVudG8gZGlzdGludG8gZGUgY2VybzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlmbyBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgImVsIGZpZm8gdGllbmUgdW4gdGFtYcOxbyBkaXN0aW50byBkZSBjZXJvOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU4NQorIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICJlbCDCq3NvY2tldMK7IHRpZW5lIHRhbWHDsW8gZGlzdGludG8gZGUgY2VybzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYm9ndXMgbW9kZTogJXMgKCVvKSIKK21zZ3N0ciAibW9kbyBmYWxzbzogJXMgKCVvKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5NworIywgYy1mb3JtYXQKK21zZ2lkICJta25vZCBmYWlsZWQ6ICVzIgorbXNnc3RyICJta25vZCBmYWxsw7M6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjI5CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIHN0YXJ0ICglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQgKCV6dSkiCittc2dzdHIgImNvbWllbnpvIGRlIGxvcyBkYXRvcyBkZWwgZGlyZWN0b3JpbyAoJWx1KSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIGluaWNpbyAoJXp1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzMworIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBlbmQgKCVsdSkgIT0gZmlsZSBkYXRhIHN0YXJ0ICglbHUpIgorbXNnc3RyICJmaW5hbCBkZSBsb3MgZGF0b3MgZGUgZGlyZWN0b3Jpb3MgKCVsdSkgIT0gY29taWVuem8gZGUgbG9zIGRhdG9zIGRlIGZpY2hlcm9zICglbHUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjM3Cittc2dpZCAiaW52YWxpZCBmaWxlIGRhdGEgb2Zmc2V0IgorbXNnc3RyICJkZXNwbGF6YW1pZW50byBkZSBsb3MgZGF0b3MgZGUgZmljaGVybyBubyB2w6FsaWRvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Njg0IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MjYKK21zZ2lkICJpbnZhbGlkIGJsb2Nrc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGRlbCB0YW1hw7FvIGRlIGJsb3F1ZSBubyB2w6FsaWRvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBPS1xuIgorbXNnc3RyICIlczogQ29ycmVjdG9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg0Cittc2dpZCAiQ2hlY2sgdGhlIGNvbnNpc3RlbmN5IG9mIGEgTWluaXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiQ29tcHJ1ZWJhIGxhIGNvaGVyZW5jaWEgZGUgdW4gc2lzdGVtYSBkZSBmaWNoZXJvcyBkZSBNaW5peC5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg2Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgbGlzdCBhbGwgZmlsZW5hbWVzXG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgIGVudW1lcmEgdG9kb3MgbG9zIG5vbWJyZXMgZGUgZmljaGVyb1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODcKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICBhdXRvbWF0aWMgcmVwYWlyXG4iCittc2dzdHIgIiAtYSwgLS1hdXRvICAgICAgIHJlcGFyYWNpw7NuIGF1dG9tw6F0aWNhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OAorbXNnaWQgIiAtciwgLS1yZXBhaXIgICAgIGludGVyYWN0aXZlIHJlcGFpclxuIgorbXNnc3RyICIgLXIsIC0tcmVwYWlyICAgICByZXBhcmFjacOzbiBpbnRlcmFjdGl2YVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBiZSB2ZXJib3NlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgIGRhIG3DoXMgaW5mb3JtYWNpw7NuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MAorbXNnaWQgIiAtcywgLS1zdXBlciAgICAgIG91dHB1dCBzdXBlci1ibG9jayBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgLXMsIC0tc3VwZXIgICAgICBzYWNhIGluZm9ybWFjacOzbiBkZSBzdXBlcmJsb3F1ZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTEKK21zZ2lkICIgLW0sIC0tdW5jbGVhcmVkICBhY3RpdmF0ZSBtb2RlIG5vdCBjbGVhcmVkIHdhcm5pbmdzXG4iCittc2dzdHIgIiAtbSwgLS11bmNsZWFyZWQgIGFjdGl2YSBtb2RvIGRlIGF2aXNvcyBubyBib3JyYWRvc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTIKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICBmb3JjZSBjaGVja1xuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICBmdWVyemEgY29tcHJvYmFjacOzblxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhlc2UgeWVzIG5vIHF1ZXN0aW9ucyB1c2VzIHJwbWF0Y2goKSwgYW5kIHNob3VsZCBiZQorIy4gKiB0cmFuc2xhdGVkLgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICh5L24pPyAiCittc2dzdHIgIiVzIChzL24pPyAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAobi95KT8gIgorbXNnc3RyICIlcyAobi9zKT8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAieVxuIgorbXNnc3RyICJzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJuXG4iCittc2dzdHIgIm5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQuXHQgIgorbXNnc3RyICIlcyBlc3TDoSBtb250YWRvLlx0ICIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg5Cittc2dpZCAiRG8geW91IHJlYWxseSB3YW50IHRvIGNvbnRpbnVlIgorbXNnc3RyICLCv0VzdMOhIHNlZ3VybyBkZSBxdWUgZGVzZWEgY29udGludWFyPyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNrIGFib3J0ZWQuXG4iCittc2dzdHIgImNvbXByb2JhY2nDs24gYW51bGFkYS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzE5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yIDwgRklSU1RaT05FIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIk7Dum1lcm8gZGUgem9uYSA8IEZJUlNUWk9ORSBlbiBlbCBmaWNoZXJvIGAlcycuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPj0gWk9ORVMgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiTsO6bWVybyBkZSB6b25hID49IFpPTkVTIGVuIGVsIGZpY2hlcm8gYCVzJy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyNiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDcKK21zZ2lkICJSZW1vdmUgYmxvY2siCittc2dzdHIgIkVsaW1pbmFyIGJsb3F1ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IHVuYWJsZSB0byBzZWVrIHRvIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJFcnJvciBkZSBsZWN0dXJhOiBubyBzZSBwdWVkZSBidXNjYXIgZW4gdW4gYmxvcXVlIGVuIGVsIGZpY2hlcm8gJyVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJFcnJvciBkZSBsZWN0dXJhOiBibG9xdWUgaW5jb3JyZWN0byBlbiBlbCBmaWNoZXJvICclcydcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJbnRlcm5hbCBlcnJvcjogdHJ5aW5nIHRvIHdyaXRlIGJhZCBibG9ja1xuIgorIldyaXRlIHJlcXVlc3QgaWdub3JlZFxuIgorbXNnc3RyICIiCisiRXJyb3IgaW50ZXJubzogc2UgZXN0w6EgaW50ZW50YW5kbyBlc2NyaWJpciB1biBibG9xdWUgaW5jb3JyZWN0b1xuIgorIkxhIHBldGljacOzbiBkZSBlc2NyaXR1cmEgbm8gc2UgdGllbmUgZW4gY3VlbnRhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4NworbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICJFcnJvciBkZSBiw7pzcXVlZGEgZW4gd3JpdGVfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJXcml0ZSBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJFcnJvciBkZSBlc2NyaXR1cmE6IGJsb3F1ZSBpbmNvcnJlY3RvIGVuIGVsIGZpY2hlcm8gJyVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MDUKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9zdXBlcl9ibG9jayIKK21zZ3N0ciAiRXJyb3IgZGUgYsO6c3F1ZWRhIGVuIHdyaXRlX3N1cGVyX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MDcKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgIk5vIHNlIHB1ZWRlIGVzY3JpYmlyIGVsIHN1cGVyYmxvcXVlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjAKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICJObyBzZSBwdWVkZSBlc2NyaWJpciBsYSB0YWJsYSBkZSBub2Rvcy1pIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjMKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgem9uZSBtYXAiCittc2dzdHIgIk5vIHNlIHB1ZWRlIGVzY3JpYmlyIGxhIHRhYmxhIGRlIHpvbmFzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjYKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICJObyBzZSBwdWVkZW4gZXNjcmliaXIgbm9kb3MtaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTU4Cittc2dpZCAidW5hYmxlIHRvIGFsbG9jIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKK21zZ3N0ciAiTm8gc2UgcHVlZGUgYXNpZ25hciBiw7pmZXJlcyBwYXJhIHN1cGVyYmxvcXVlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjEKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBzdXBlciBibG9jayIKK21zZ3N0ciAiTm8gc2UgcHVlZGUgbGVlciBlbCBzdXBlcmJsb3F1ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTgzCittc2dpZCAiYmFkIG1hZ2ljIG51bWJlciBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiTsO6bWVybyBtw6FnaWNvIGluY29ycmVjdG8gZW4gZWwgc3VwZXJibG9xdWUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4NQorbXNnaWQgIk9ubHkgMWsgYmxvY2tzL3pvbmVzIHN1cHBvcnRlZCIKK21zZ3N0ciAiU8OzbG8gc2UgZGEgc29wb3J0ZSBhIGJsb3F1ZXMgbyB6b25hcyBkZSAxayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg3Cittc2dpZCAiYmFkIHNfbmlub2RlcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiQ2FtcG8gc19uaW5vZGVzIGluY29ycmVjdG8gZW4gc3VwZXJibG9xdWUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4OQorbXNnaWQgImJhZCBzX2ltYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJDYW1wbyBzX2ltYXBfYmxvY2tzIGluY29ycmVjdG8gZW4gc3VwZXJibG9xdWUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5MQorbXNnaWQgImJhZCBzX2ZpcnN0ZGF0YXpvbmUgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIkNhbXBvIHNfZmlyc3RkYXRhem9uZSBpbmNvcnJlY3RvIGVuIHN1cGVyYmxvcXVlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTQKK21zZ2lkICJiYWQgc196bWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiQ2FtcG8gc196bWFwX2Jsb2NrcyBpbmNvcnJlY3RvIGVuIHN1cGVyYmxvcXVlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTAKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBtYXAiCittc2dzdHIgIk5vIHNlIHB1ZWRlIGFzaWduYXIgYsO6ZmVyIHBhcmEgbGEgdGFibGEgZGUgbm9kb3MtaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjEzCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBtYXAiCittc2dzdHIgIk5vIHNlIHB1ZWRlIGFzaWduYXIgYsO6ZmVyIHBhcmEgbGEgdGFibGEgZGUgem9uYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE2Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorbXNnc3RyICJObyBzZSBwdWVkZSBhc2lnbmFyIGLDumZlciBwYXJhIGxvcyBub2Rvcy1pIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTkKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBjb3VudCIKK21zZ3N0ciAiTm8gc2UgcHVlZGUgYXNpZ25hciBiw7pmZXIgcGFyYSBlbCBuw7ptZXJvIGRlIG5vZG9zLWkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyMgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgY291bnQiCittc2dzdHIgIk5vIHNlIHB1ZWRlIGFzaWduYXIgYsO6ZmVyIHBhcmEgZWwgbsO6bWVybyBkZSB6b25hcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI2Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGUgbWFwIgorbXNnc3RyICJObyBzZSBwdWVkZSBsZWVyIGxhIHRhYmxhIGRlIG5vZG9zLWkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzMAorbXNnaWQgIlVuYWJsZSB0byByZWFkIHpvbmUgbWFwIgorbXNnc3RyICJObyBzZSBwdWVkZSBsZWVyIGxhIHRhYmxhIGRlIHpvbmFzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzQKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZXMiCittc2dzdHIgIk5vIHNlIHB1ZWRlbiBsZWVyIGxvcyBub2Rvcy1pIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCittc2dzdHIgIkF0ZW5jacOzbjogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgaW5vZGVzXG4iCittc2dzdHIgIiVsZCBub2Rvcy1pXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgYmxvY2tzXG4iCittc2dzdHIgIiVsZCBibG9xdWVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3RkYXRhem9uZT0lamQgKCVqZClcbiIKK21zZ3N0ciAiUHJpbWVyYSB6b25hIGRlIGRhdG9zPSVqZCAoJWpkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JWRcbiIKK21zZ3N0ciAiVGFtYcOxbyBkZSB6b25hPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0NgorIywgYy1mb3JtYXQKK21zZ2lkICJNYXhzaXplPSV6dVxuIgorbXNnc3RyICJUYW1hw7FvIG3DoXhpbW89JXp1XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIHN0YXRlPSVkXG4iCittc2dzdHIgIkVzdGFkbyBkZWwgc2lzdGVtYSBkZSBmaWNoZXJvcz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm5hbWVsZW49JXpkXG4iCisiXG4iCittc2dzdHIgIiIKKyJMb25naXR1ZCBkZSBub21icmU9JXpkXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY2NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWQgbWFya2VkIHVudXNlZCwgYnV0IHVzZWQgZm9yIGZpbGUgJyVzJ1xuIgorbXNnc3RyICIiCisiRWwgbm9kby1pICVkIHNlIGhhIG1hcmNhZG8gY29tbyBubyB1dGlsaXphZG8sIHBlcm8gc2UgdXRpbGl6YSBwYXJhXG4iCisiZWwgZmljaGVybyAnJXMnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY2NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MTcKK21zZ2lkICJNYXJrIGluIHVzZSIKK21zZ3N0ciAiTWFyY2FyIGVuIHVzbyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Njg5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjczNworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlsZSBgJXMnIGhhcyBtb2RlICUwNW9cbiIKK21zZ3N0ciAiRWwgZmljaGVybyBgJXMnIHRpZW5lIGVsIG1vZG8gJTA1b1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2OTYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IGlub2RlIGNvdW50IHRvbyBiaWcuXG4iCittc2dzdHIgIkF0ZW5jacOzbjogbsO6bWVybyBkZSBub2Rvcy1pIGRlbWFzaWFkbyBlbGV2YWRvLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NTUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzYzCittc2dpZCAicm9vdCBpbm9kZSBpc24ndCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiRWwgbm9kby1pIHJhw616IG5vIGVzIHVuIGRpcmVjdG9yaW8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc3NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgaGFzIGJlZW4gdXNlZCBiZWZvcmUuIE5vdyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICIiCisiRWwgYmxvcXVlIHlhIHNlIGhhIHV0aWxpemFkbyBhbnRlcmlvcm1lbnRlLlxuIgorIkFob3JhIGVzdMOhIGVuIGVsIGZpY2hlcm8gYCVzJy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MDgKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1MgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA4Cittc2dpZCAiQ2xlYXIiCittc2dzdHIgIkJvcnJhciIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzg3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayAlZCBpbiBmaWxlIGAlcycgaXMgbWFya2VkIG5vdCBpbiB1c2UuIgorbXNnc3RyICJFbCBibG9xdWUgJWQgZW4gZWwgZmljaGVybyBgJXMnIGVzdMOhIG1hcmNhZG8gY29tbyBubyB1dGlsaXphZG8uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODIwCittc2dpZCAiQ29ycmVjdCIKK21zZ3N0ciAiQ29ycmVjdG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk1OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkaXJlY3RvcnkgJyVzJyBjb250YWlucyBhIGJhZCBpbm9kZSBudW1iZXIgZm9yIGZpbGUgJyUuKnMnLiIKK21zZ3N0ciAiIgorIkVsIGRpcmVjdG9yaW8gYCVzJyBjb250aWVuZSB1biBuw7ptZXJvIGRlIG5vZG8taSBpbmNvcnJlY3RvXG4iCisicGFyYSBlbCBmaWNoZXJvICclLipzJy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk2MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDM1Cittc2dpZCAiIFJlbW92ZSIKK21zZ3N0ciAiIEVsaW1pbmFyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4nIGlzbid0IGZpcnN0XG4iCittc2dzdHIgIiVzOiBkaXJlY3RvcmlvIGluY29ycmVjdG86ICcuJyBubyBlcyBlbCBwcmltZXJvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk4NiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIgorbXNnc3RyICIlczogZGlyZWN0b3JpbyBpbmNvcnJlY3RvOiAnLi4nIG5vIGVzIGVsIHNlZ3VuZG9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA5NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTE3Cittc2dpZCAiaW50ZXJuYWwgZXJyb3IiCittc2dzdHIgIkVycm9yIGludGVybm8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwOTcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogc2l6ZSA8IDMyIgorbXNnc3RyICIlczogZGlyZWN0b3JpbyBpbmNvcnJlY3RvOiB0YW1hw7FvIDwgMzIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IGludmFsaWQgaV96b25lLCB1c2UgLS1yZXBhaXIgdG8gZml4XG4iCittc2dzdHIgIiVzOiBkaXJlY3RvcmlvIGluY29ycmVjdG86IGlfem9uZSBpbnbDoWxpZGE7IHV0aWxpY2UgLS1yZXBhaXIgcGFyYSBhcnJlZ2xhcmxvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMzIKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBiYWRfem9uZSIKK21zZ3N0ciAiRXJyb3IgZGUgYsO6c3F1ZWRhIGVuIGJhZF96b25lIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG1vZGUgbm90IGNsZWFyZWQuIgorbXNnc3RyICJObyBzZSBoYSBib3JyYWRvIGVsIG1vZG8gZGVsIG5vZG8taSAlbHUuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTUxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG5vdCB1c2VkLCBtYXJrZWQgdXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiRWwgbm9kby1pICVsdSBubyBlc3TDoSBlbiB1c287IG1hcmNhZG8gY29tbyBlbiB1c28gZW4gZWwgbWFwYSBkZSBiaXRzLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSB1c2VkLCBtYXJrZWQgdW51c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICJFbCBub2RvLWkgJWx1IGVzdMOhIGVuIHVzbzsgbWFyY2FkbyBjb21vIG5vIGVuIHVzbyBlbiBlbCBtYXBhIGRlIGJpdHMuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTQKK21zZ2lkICJTZXQiCittc2dzdHIgIkVzdGFibGVjZXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxOAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgKG1vZGUgPSAlMDdvKSwgaV9ubGlua3M9JWQsIGNvdW50ZWQ9JWQuIgorbXNnc3RyICJOb2RvLWkgJWx1IChtb2RvID0gJTA3byksIGlfbmxpbmtzPSVkLCBjb250YWRvcz0lZC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyMQorbXNnaWQgIlNldCBpX25saW5rcyB0byBjb3VudCIKK21zZ3N0ciAiRXN0YWJsZWNlIGlfbmxpbmtzIGVuIG7Dum1lcm8gY29udGFkbyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBtYXJrZWQgaW4gdXNlLCBubyBmaWxlIHVzZXMgaXQuIgorbXNnc3RyICJab25hICVsdTogbWFyY2FkYSBjb21vIGVuIHVzbzsgbmluZ8O6biBmaWNoZXJvIGxhIHV0aWxpemEuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTc5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzUKK21zZ2lkICJVbm1hcmsiCittc2dzdHIgIkVsaW1pbmFyIG1hcmNhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTg0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICJab25hICVsdTogZW4gdXNvLCBjb250YWRvcz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTg3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiWm9uYSAlbHU6IG5vIGVuIHVzbywgY29udGFkb3M9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5MQorbXNnaWQgImJhZCBpbm9kZSBzaXplIgorbXNnc3RyICJ0YW1hw7FvIGRlIG5vZG8taSBpbmNvcnJlY3RvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjkzCittc2dpZCAiYmFkIHYyIGlub2RlIHNpemUiCittc2dzdHIgInRhbWHDsW8gZGUgbm9kby1pIHYyIGluY29ycmVjdG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzMzcKK21zZ2lkICJuZWVkIHRlcm1pbmFsIGZvciBpbnRlcmFjdGl2ZSByZXBhaXJzIgorbXNnc3RyICJTZSBuZWNlc2l0YSB0ZXJtaW5hbCBwYXJhIHJlcGFyYWNpb25lcyBpbnRlcmFjdGl2YXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICJubyBzZSBwdWVkZSBhYnJpciAlczogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgY2xlYW4sIG5vIGNoZWNrLlxuIgorbXNnc3RyICIlcyBlc3TDoSBsaW1waW87IG5vIHNlIGNvbXBydWViYS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGb3JjaW5nIGZpbGVzeXN0ZW0gY2hlY2sgb24gJXMuXG4iCittc2dzdHIgIkZvcnphbmRvIGNvbXByb2JhY2nDs24gZGVsIHNpc3RlbWEgZGUgZmljaGVyb3MgZW4gJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBvbiAlcyBpcyBkaXJ0eSwgbmVlZHMgY2hlY2tpbmcuXG4iCittc2dzdHIgIkVsIHNpc3RlbWEgZGUgZmljaGVyb3MgZW4gJXMgY29udGllbmUgZWxlbWVudG9zIGV4dHJhw7FvczsgZGViZSBjb21wcm9iYXJzZS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZsZCBpbm9kZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlNmxkIG5vZG9zLWkgdXRpbGl6YWRvcyAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTZsZCB6b25lcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiJTZsZCB6b25hcyB1dGlsaXphZGFzICglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM5NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZkIHJlZ3VsYXIgZmlsZXNcbiIKKyIlNmQgZGlyZWN0b3JpZXNcbiIKKyIlNmQgY2hhcmFjdGVyIGRldmljZSBmaWxlc1xuIgorIiU2ZCBibG9jayBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgbGlua3NcbiIKKyIlNmQgc3ltYm9saWMgbGlua3NcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmlsZXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2ZCBmaWNoZXJvcyBub3JtYWxlc1xuIgorIiU2ZCBkaXJlY3Rvcmlvc1xuIgorIiU2ZCBmaWNoZXJvcyBkZSBkaXNwb3NpdGl2b3MgZGUgY2FyYWN0ZXJlc1xuIgorIiU2ZCBmaWNoZXJvcyBkZSBkaXNwb3NpdGl2b3MgZGUgYmxvcXVlc1xuIgorIiU2ZCBlbmxhY2VzXG4iCisiJTZkIGVubGFjZXMgc2ltYsOzbGljb3NcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmljaGVyb3NcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQxMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIkZJTEUgU1lTVEVNIEhBUyBCRUVOIENIQU5HRURcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiRUwgU0lTVEVNQSBERSBGSUNIRVJPUyBIQSBDQU1CSUFET1xuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MzMKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTM5IGRpc2stdXRpbHMvcGFydHguYzoxMDM1IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMgorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTggc3lzLXV0aWxzL2RtZXNnLmM6NjU5IHN5cy11dGlscy93ZGN0bC5jOjM0NgorIzogc3lzLXV0aWxzL3dkY3RsLmM6NDExIHRlcm0tdXRpbHMvc2NyaXB0LmM6MjcyIHRlcm0tdXRpbHMvc2NyaXB0LmM6MzQ5CisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI0OAorbXNnaWQgIndyaXRlIGZhaWxlZCIKK21zZ3N0ciAiZmFsbMOzIGxhIGVzY3JpdHVyYSIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtaWdodCBub3QgYmUgYW4gSVNPIGZpbGVzeXN0ZW0iCittc2dzdHIgIiVzOiBwb2Ryw61hIG5vIHNlciB1biBzaXN0ZW1hIGRlIGZpY2hlcm9zIElTTyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTM5CisjLCBjLWZvcm1hdAorbXNnaWQgInNlZWsgZXJyb3Igb24gJXMiCittc2dzdHIgImVycm9yIGRlIGLDunNxdWVkYSBlbiAlcyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTQyCisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWQgZXJyb3Igb24gJXMiCittc2dzdHIgImVycm9yIGRlIGxlY3R1cmEgZW4gJXMiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZWN0b3IgY291bnQ6ICVkLCBzZWN0b3Igc2l6ZTogJWRcbiIKK21zZ3N0ciAibsO6bWVybyBkZSBzZWN0b3JlczogJWQsIHRhbWHDsW8gZGVsIHNlY3RvcjogJWRcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGlzbzk2NjBfaW1hZ2VfZmlsZT5cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSA8ZmljaGVyb19kZV9pbWFnZW5faXNvOTY2MD5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTc0Cittc2dpZCAiU2hvdyB0aGUgbGVuZ3RoIG9mIGFuIElTTy05NjYwIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIk11ZXN0cmEgbGEgbG9uZ2l0dWQgZGUgdW4gc2lzdGVtYSBkZSBmaWNoZXJvcyBJU08tOTY2MC5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTc3Cittc2dpZCAiIC1kLCAtLWRpdmlzb3I9PG51bWJlcj4gIGRpdmlkZSB0aGUgYW1vdW50IG9mIGJ5dGVzIGJ5IDxudW1iZXI+XG4iCittc2dzdHIgIiAtZCwgLS1kaXZpc29yPTxuw7ptZXJvPiAgZGl2aWRlIGxhIGNhbnRpZGFkIGRlIGJ5dGVzIGVudHJlIDxuw7ptZXJvPlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzgKK21zZ2lkICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgc2hvdyBzZWN0b3IgY291bnQgYW5kIHNpemVcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIG11ZXN0cmEgbsO6bWVybyB5IHRhbWHDsW8gZGUgc2VjdG9yZXNcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MjEwCittc2dpZCAiaW52YWxpZCBkaXZpc29yIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gZGUgZGl2aXNvciBubyB2w6FsaWRvIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorbXNnc3RyICJNb2RvIGRlIGVtcGxlbzogJXMgW29wY2lvbmVzXSBkaXNwb3NpdGl2byBbY29udGFkb3ItZGUtYmxvcXVlc11cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc3Cittc2dpZCAiTWFrZSBhbiBTQ08gYmZzIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkNyZWEgdW4gc2lzdGVtYSBkZSBmaWNoZXJvcyBiZnMgZGUgU0NPLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1OLCAtLWlub2Rlcz1OVU0gICAgc3BlY2lmeSBkZXNpcmVkIG51bWJlciBvZiBpbm9kZXNcbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICBzcGVjaWZ5IHZvbHVtZSBuYW1lXG4iCisiIC1GLCAtLWZuYW1lPU5BTUUgICAgc3BlY2lmeSBmaWxlIHN5c3RlbSBuYW1lXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyIgLWMgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1sICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiICAgICAgICAgICAgICAgICAgICAgLVYgYXMgdmVyc2lvbiBtdXN0IGJlIG9ubHkgb3B0aW9uXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wY2lvbmVzOlxuIgorIiAtTiwgLS1pbm9kZXM9TlVNICAgIGVzcGVjaWZpY2EgZWwgbsO6bWVybyBkZXNlYWRvIGRlIG5vZG9zLWlcbiIKKyIgLVYsIC0tdm5hbWU9Tk9NQlJFICBlc3BlY2lmaWNhIGVsIG5vbWJyZSBkZWwgdm9sdW1lblxuIgorIiAtRiwgLS1mbmFtZT1OT01CUkUgIGVzcGVjaWZpY2EgZWwgbm9tYnJlIGRlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGljYSBsbyBxdWUgc2UgZXN0w6EgaGFjaWVuZG9cbiIKKyIgLWMgICAgICAgICAgICAgICAgICBlc3RhIG9wY2nDs24gc2UgaWdub3JhIGVuIHNpbGVuY2lvXG4iCisiIC1sICAgICAgICAgICAgICAgICAgZXN0YSBvcGNpw7NuIHNlIGlnbm9yYSBlbiBzaWxlbmNpb1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIHNhY2EgbGEgaW5mb3JtYWNpw7NuIGRlIHZlcnNpw7NuIHkgc2FsZVxuIgorIiAgICAgICAgICAgICAgICAgICAgIC1WIGNvbW8gdmVyc2nDs24gZGViZSBzZXIgbGEgw7puaWNhIG9wY2nDs25cbiIKKyIgLWgsIC0taGVscCAgICAgICAgICBtdWVzdHJhIGVzdGEgYXl1ZGEgeSBzYWxlXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNDQKK21zZ2lkICJpbnZhbGlkIG51bWJlciBvZiBpbm9kZXMiCittc2dzdHIgIm7Dum1lcm8gbm8gdsOhbGlkbyBkZSBub2Rvcy1pIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTUwCittc2dpZCAidm9sdW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm5vbWJyZSBkZSB2b2x1bWVuIGRlbWFzaWFkbyBsYXJnbyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1NworbXNnaWQgImZzbmFtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICJub21icmUgZGVsIHNpc3RlbWEgZGUgZmljaGVyb3MgZGVtYXNpYWRvIGxhcmdvIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTkzCittc2dpZCAiaW52YWxpZCBibG9jay1jb3VudCIKK21zZ3N0ciAibsO6bWVybyBkZSBibG9xdWVzIG5vIHbDoWxpZG8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICJubyBzZSBwdWVkZSBvYnRlbmVyIGVsIHRhbWHDsW8gZGUgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2tzIGFyZ3VtZW50IHRvbyBsYXJnZSwgbWF4IGlzICVsbHUiCittc2dzdHIgImVsIGFyZ3VtZW50byBkZSBibG9xdWVzIGVzIGRlbWFzaWFkbyBncmFuZGUsIGVsIG3DoXhpbW8gZXMgJWxsdSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIxOQorbXNnaWQgInRvbyBtYW55IGlub2RlcyAtIG1heCBpcyA1MTIiCittc2dzdHIgImRlbWFzaWFkb3Mgbm9kb3MtaTsgZWwgbcOheGltbyBlcyA1MTIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSwgbmVlZCBhdCBsZWFzdCAlbGx1IGJsb2NrcyIKK21zZ3N0ciAibm8gaGF5IHN1ZmljaWVudGUgZXNwYWNpbywgc2UgbmVjZXNpdGFuIGFsIG1lbm9zICVsbHUgYmxvcXVlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2U6ICVzXG4iCittc2dzdHIgIkRpc3Bvc2l0aXZvOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIlZvbHVtZTogPCUtNnM+XG4iCittc2dzdHIgIlZvbHVtZW46IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZTbmFtZTogPCUtNnM+XG4iCittc2dzdHIgIk5vbWJyZURlbFNGOiA8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NAorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9ja1NpemU6ICVkXG4iCittc2dzdHIgIlRhbWHDsW9EZWxCbG9xdWU6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluIDEgYmxvY2spXG4iCittc2dzdHIgIk5vZG9zLWk6ICVsZCAoZW4gMSBibG9xdWUpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluICVsbHUgYmxvY2tzKVxuIgorbXNnc3RyICJOb2Rvcy1pOiAlbGQgKGVuICVsbHUgYmxvcXVlcylcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9ja3M6ICVsbHVcbiIKK21zZ3N0ciAiQmxvcXVlczogJWxsdVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlIGVuZDogJWQsIERhdGEgZW5kOiAlZFxuIgorbXNnc3RyICJGaW4gZGUgbG9zIG5vZG9zLWk6ICVkLCBmaW4gZGUgbG9zIGRhdG9zOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU3Cittc2dpZCAiZXJyb3Igd3JpdGluZyBzdXBlcmJsb2NrIgorbXNnc3RyICJlcnJvciBhbCBlc2NyaWJpciBlbCBzdXBlcmJsb3F1ZSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI3OAorbXNnaWQgImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIKK21zZ3N0ciAiZXJyb3IgYWwgZXNjcmliaXIgZWwgbm9kby1pIHJhw616IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjgzCittc2dpZCAiZXJyb3Igd3JpdGluZyBpbm9kZSIKK21zZ3N0ciAiZXJyb3IgYWwgZXNjcmliaXIgdW4gbm9kby1pIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjg2Cittc2dpZCAic2VlayBlcnJvciIKK21zZ3N0ciAiZXJyb3IgZGUgYsO6c3F1ZWRhIgorCisjIExvIHBvbmdvIGVudHJlIGBjb21pdGFzJyBwb3JxdWUgZXN0w6EgYWwgZmluYWwuCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjkyCittc2dpZCAiZXJyb3Igd3JpdGluZyAuIGVudHJ5IgorbXNnc3RyICJlcnJvciBhbCBlc2NyaWJpciBsYSBlbnRyYWRhIGAuJyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5NgorbXNnaWQgImVycm9yIHdyaXRpbmcgLi4gZW50cnkiCittc2dzdHIgImVycm9yIGFsIGVzY3JpYmlyIGxhIGVudHJhZGEgYC4uJyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjbG9zaW5nICVzIgorbXNnc3RyICJlcnJvciBhbCBjZXJyYXIgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy10IDx0eXBlPl0gW2ZzLW9wdGlvbnNdIDxkZXZpY2U+IFs8c2l6ZT5dXG4iCittc2dzdHIgIiAlcyBbb3BjaW9uZXNdIFstdCA8dGlwbz5dIFtvcGNpb25lcy1zaXNmXSA8ZGlzcG9zaXRpdm8+IFs8dGFtYcOxbz5dXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ4Cittc2dpZCAiTWFrZSBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkNvbnN0cnV5ZSB1biBzaXN0ZW1hIGRlIGZpY2hlcm9zIGRlIExpbnV4LlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICIgLXQsIC0tdHlwZT08dHlwZT4gIGZpbGVzeXN0ZW0gdHlwZTsgd2hlbiB1bnNwZWNpZmllZCwgZXh0MiBpcyB1c2VkXG4iCittc2dzdHIgIiAtdCwgLS10eXBlPTx0aXBvPiAgdGlwbyBkZSBzaXN0ZW1hIGRlIGZpY2hlcm9zOyBzaSBubyBzZSBlc3BlY2lmaWNhLCBzZSB1c2EgZXh0MlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIGZzLW9wdGlvbnMgICAgIHBhcmFtZXRlcnMgZm9yIHRoZSByZWFsIGZpbGVzeXN0ZW0gYnVpbGRlclxuIgorbXNnc3RyICIgICAgIG9wY2lvbmVzLXNpc2YgIHBhcsOhbWV0cm9zIHBhcmEgZWwgY29uc3RydWN0b3IgcmVhbCBkZWwgc2lzdGVtYSBkZSBmaWNoZXJvc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxkZXZpY2U+ICAgICAgIHBhdGggdG8gdGhlIGRldmljZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiAgICAgPGRpc3Bvc2l0aXZvPiAgcnV0YSBhbCBkaXNwb3NpdGl2byBxdWUgc2UgdmEgYSB1c2FyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPHNpemU+ICAgICAgICAgbnVtYmVyIG9mIGJsb2NrcyB0byBiZSB1c2VkIG9uIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiICAgICA8dGFtYcOxbz4gICAgICAgbsO6bWVybyBkZSBibG9xdWVzIHF1ZSBzZSB2YW4gYSB1c2FyIGVuIGVsIGRpc3Bvc2l0aXZvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5aW5nIC1WIG1vcmUgdGhhbiBvbmNlIHdpbGwgY2F1c2UgYSBkcnktcnVuXG4iCittc2dzdHIgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIGV4cGxpY2EgbG8gcXVlIHNlIGVzdMOhIGhhY2llbmRvO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBlc3BlY2lmaWNhciAtViBtw6FzIGRlIHVuYSB2ZXogcHJvdm9jYXLDoSB1biDCq2RyeS1ydW7Cu1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcnNpb24gICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQ7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIC1WIGFzIC0tdmVyc2lvbiBtdXN0IGJlIHRoZSBvbmx5IG9wdGlvblxuIgorbXNnc3RyICIiCisiIC1WLCAtLXZlcnNpb24gICAgICBtdWVzdHJhIGxhIGluZm9ybWFjacOzbiBkZSB2ZXJzacOzbiB5IHNhbGU7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIC1WIGNvbW8gLS12ZXJzaW9uIGRlYmUgc2VyIGxhIMO6bmljbyBvcGNpw7NuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAgICAgIG11ZXN0cmEgZXN0YSBheXVkYSB5IGZpbmFsaXphXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjEzOSBsaWIvZXhlY19zaGVsbC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjIzMworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjU3IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk5MgorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwMCBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODA0IHNjaGVkdXRpbHMvY2hydC5jOjU1OAorIzogc2NoZWR1dGlscy9pb25pY2UuYzoyNjAgc2NoZWR1dGlscy90YXNrc2V0LmM6MjM5IHN5cy11dGlscy9mbG9jay5jOjEyMgorIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MzAgc3lzLXV0aWxzL3BybGltaXQuYzo2NDQgc3lzLXV0aWxzL3J0Y3dha2UuYzo1NzcKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzI0IHN5cy11dGlscy9zZXRhcmNoLmM6NDAzIHN5cy11dGlscy9zZXRzaWQuYzoxMTUKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozNDAgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjQyIHN5cy11dGlscy91bnNoYXJlLmM6NDYxCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU4MSB0ZXh0LXV0aWxzL3BnLmM6MTM3NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIKK21zZ3N0ciAiZmFsbG8gYWwgZWplY3V0YXIgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVzYWdlOiAlcyBbLWhdIFstdl0gWy1iIGJsa3NpemVdIFstZSBlZGl0aW9uXSBbLU4gZW5kaWFuXSBbLWkgZmlsZV0gWy1uIG5hbWVdIGRpcm5hbWUgb3V0ZmlsZVxuIgorIiAtaCAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorIiAtdiAgICAgICAgIGJlIHZlcmJvc2VcbiIKKyIgLUUgICAgICAgICBtYWtlIGFsbCB3YXJuaW5ncyBlcnJvcnMgKG5vbi16ZXJvIGV4aXQgc3RhdHVzKVxuIgorIiAtYiBibGtzaXplIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgbXVzdCBlcXVhbCBwYWdlIHNpemVcbiIKKyIgLWUgZWRpdGlvbiBzZXQgZWRpdGlvbiBudW1iZXIgKHBhcnQgb2YgZnNpZClcbiIKKyIgLU4gZW5kaWFuICBzZXQgY3JhbWZzIGVuZGlhbm5lc3MgKGJpZ3xsaXR0bGV8aG9zdCksIGRlZmF1bHQgaG9zdFxuIgorIiAtaSBmaWxlICAgIGluc2VydCBhIGZpbGUgaW1hZ2UgaW50byB0aGUgZmlsZXN5c3RlbSAocmVxdWlyZXMgPj0gMi40LjApXG4iCisiIC1uIG5hbWUgICAgc2V0IG5hbWUgb2YgY3JhbWZzIGZpbGVzeXN0ZW1cbiIKKyIgLXAgICAgICAgICBwYWQgYnkgJWQgYnl0ZXMgZm9yIGJvb3QgY29kZVxuIgorIiAtcyAgICAgICAgIHNvcnQgZGlyZWN0b3J5IGVudHJpZXMgKG9sZCBvcHRpb24sIGlnbm9yZWQpXG4iCisiIC16ICAgICAgICAgbWFrZSBleHBsaWNpdCBob2xlcyAocmVxdWlyZXMgPj0gMi4zLjM5KVxuIgorIiBkaXJuYW1lICAgIHJvb3Qgb2YgdGhlIGZpbGVzeXN0ZW0gdG8gYmUgY29tcHJlc3NlZFxuIgorIiBvdXRmaWxlICAgIG91dHB1dCBmaWxlXG4iCittc2dzdHIgIiIKKyJ1c286ICVzIFstaF0gWy12XSBbLWIgdGFtYmxvcV0gWy1lIGVkaWNpw7NuXSBbLU4gZW5kaWFuXSBbLWkgZmljaF0gWy1uIG5vbWJyZV0gbm9tYnJlZGlyIGZzYWxpZGFcbiIKKyIgLWggICAgICAgICBtdWVzdHJhIGVzdGEgYXl1ZGFcbiIKKyIgLXYgICAgICAgICBzw6kgZXhwbGljYXRpdm9cbiIKKyIgLUUgICAgICAgICBjb252aWVydGUgZW4gZXJyb3JlcyB0b2RvcyBsb3MgYXZpc29zIChlc3RhZG8gZGUgc2FsaWRhIG5vIGNlcm8pXG4iCisiIC1iIHRhbWJsb3EgdXRpbGl6YSBlc3RlIHRhbWHDsW8gZGUgYmxvcXVlLCBkZWJlIHNlciBlbCB0YW1hw7FvIGRlIHDDoWdpbmFcbiIKKyIgLU4gZW5kaWFuICBlc3RhYmxlY2UgZWwgwqtlbmRpYW5uZXPCuyBkZSBjcmFtZnMgKGJpZ3xsaXR0bGV8aG9zdCksIGhvc3QgcG9yIG9taXNpw7NuXG4iCisiIC1lIGVkaWNpw7NuIGVzdGFibGVjZSBlbCBuw7ptZXJvIGRlIGVkaWNpw7NuIChwYXJ0ZSBkZSBmc2lkKVxuIgorIiAtaSBmaWNoICAgIGluc2VydGEgbGEgaW1hZ2VuIGRlIHVuIGZpY2hlcm8gZGVudHJvIGRlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zXG4iCisiICAgICAgICAgICAgKG5lY2VzaXRhIExpbnV4ID49IDIuNC4wKVxuIgorIiAtbiBub21icmUgIGVzdGFibGVjZSBlbCBub21icmUgZGVsIHNpc3RlbWEgZGUgZmljaGVyb3MgY3JhbWZzXG4iCisiIC1wICAgICAgICAgZGVzcGxhemEgJWQgYnl0ZXMgcGFyYSBlbCBjw7NkaWdvIGRlIGFycmFucXVlPFxuIgorIiAtcyAgICAgICAgIG9yZGVuYSBsYXMgZW50cmFkYXMgZGUgZGlyZWN0b3JpbyAob3BjacOzbiBhbnRpZ3VhLCBzaW4gZWZlY3RvKVxuIgorIiAteiAgICAgICAgIGNyZWEgaHVlY29zIGV4cGzDrWNpdG9zIChuZWNlc2l0YSBMaW51eCA+PSAyLjMuMzkpXG4iCisiIG5vbWJyZWRpciAgcmHDrXogZGVsIHNpc3RlbWEgZGUgZmljaGVyb3MgcXVlIHNlIHZhIGEgY29tcHJpbWlyXG4iCisiIGZzYWxpZGEgICAgZmljaGVybyBkZSBzYWxpZGFcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICJyZWFkbGluayBmYWxsw7M6ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzA4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAibm8gc2UgcHVkbyBsZWVyIGVsIGRpcmVjdG9yaW8gJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo0NDMKK21zZ2lkICJmaWxlc3lzdGVtIHRvbyBiaWcuICBFeGl0aW5nLiIKK21zZ3N0ciAic2lzdGVtYSBkZSBmaWNoZXJvcyBkZW1hc2lhZG8gZ3JhbmRlLiBTYWxpZW5kby4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQUlFRUU6IGJsb2NrIFwiY29tcHJlc3NlZFwiIHRvID4gMipibG9ja2xlbmd0aCAoJWxkKVxuIgorbXNnc3RyICJZRVBBOiBibG9xdWUgXCJjb21wcmltaWRvXCIgYSA+IDIqbG9uZ2l0dWRkZWxibG9xdWUgKCVsZClcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZCBieXRlcylcdCVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNsb3NlIGZpbGUgJXMiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGNlcnJhciBlbCBmaWNoZXJvICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzMyCittc2dpZCAiaW52YWxpZCBlZGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAiQXJndW1lbnRvIGRlbCBuw7ptZXJvIGRlIGVkaWNpw7NuIG5vIHbDoWxpZG8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgIlNlIGhhIGRhZG8gdW5hIGVuZGlhbm5lc3Mgbm8gdsOhbGlkYTsgZGViZSBzZXIgJ2JpZycsICdsaXR0bGUnLCBvICdob3N0JyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBndWVzdGltYXRlIG9mIHJlcXVpcmVkIHNpemUgKHVwcGVyIGJvdW5kKSBpcyAlbGxkTUIsIGJ1dCBtYXhpbXVtIGltYWdlIHNpemUgaXMgJXVNQi4gIFdlIG1pZ2h0IGRpZSBwcmVtYXR1cmVseS4iCittc2dzdHIgImF0ZW5jacOzbjogbGEgZXN0aW1hY2nDs24gZGVsIHRhbWHDsW8gcmVxdWVyaWRvIChjb3RhIHN1cGVyaW9yKSBlcyAlbGxkTUIsIHBlcm8gZWwgdGFtYcOxbyBtw6F4aW1vIGRlIGxhIGltYWdlbiBlcyAldU1CLiBQb2Ryw61hIGFib3J0YXJzZSBwcmVtYXR1cmFtZW50ZS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MzAKK21zZ2lkICJST00gaW1hZ2UgbWFwIgorbXNnc3RyICJtYXBhIGRlIGltYWdlbiBST00iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5jbHVkaW5nOiAlc1xuIgorbXNnc3RyICJJbmNsdXllbmRvOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpcmVjdG9yeSBkYXRhOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiRGF0b3MgZGUgZGlyZWN0b3Jpb3M6ICV6ZCBieXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkV2ZXJ5dGhpbmc6ICV6ZCBraWxvYnl0ZXNcbiIKK21zZ3N0ciAiVG9kbzogJXpkIGtpbG9ieXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODYxCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cGVyIGJsb2NrOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiU3VwZXJibG9xdWU6ICV6ZCBieXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNSQzogJXhcbiIKK21zZ3N0ciAiQ1JDOiAleFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODczCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UgYWxsb2NhdGVkIGZvciBST00gaW1hZ2UgKCVsbGQgYWxsb2NhdGVkLCAlenUgdXNlZCkiCittc2dzdHIgIm5vIGhheSBzdWZpY2llbnRlIGVzcGFjaW8gcGFyYSBsYSBpbWFnZW4gUk9NIChhc2lnbmFkbyAlbGxkLCB1c2FkbyAlenUpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODc5CisjLCBjLWZvcm1hdAorbXNnaWQgIlJPTSBpbWFnZSB3cml0ZSBmYWlsZWQgKCV6ZCAlemQpIgorbXNnc3RyICJmYWxsw7MgbGEgZXNjcml0dXJhIGRlIGxhIGltYWdlbiBST00gKCV6ZCAlemQpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODgyCittc2dpZCAiUk9NIGltYWdlIgorbXNnc3RyICJpbWFnZW4gUk9NIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODkxCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGVuYW1lcyB0cnVuY2F0ZWQgdG8gJXUgYnl0ZXMuIgorbXNnc3RyICJhdGVuY2nDs246IGxvcyBub21icmVzIGRlIGZpY2hlcm9zIHNlIHRydW5jYW4gYSAldSBieXRlcy4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTMKK21zZ2lkICJ3YXJuaW5nOiBmaWxlcyB3ZXJlIHNraXBwZWQgZHVlIHRvIGVycm9ycy4iCittc2dzdHIgImF0ZW5jacOzbjogc2Ugc2FsdGFyb24gZmljaGVyb3MgZGViaWRvIGEgZXJyb3Jlcy4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZSBzaXplcyB0cnVuY2F0ZWQgdG8gJWx1TUIgKG1pbnVzIDEgYnl0ZSkuIgorbXNnc3RyICJhdGVuY2nDs246IGxvcyB0YW1hw7FvcyBkZSBsb3MgZmljaGVyb3Mgc2UgdHJ1bmNhbiBhICVsdU1CIChtZW5vcyAxIGJ5dGUpLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5OQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICIiCisiYXRlbmNpw7NuOiBsb3MgdWlkcyBzZSB0cnVuY2FuIGEgJXUgYml0cy4gIChFc3RvIHBvZHLDrWEgc2VyIHVuIHByb2JsZW1hXG4iCisiZGUgc2VndXJpZGFkLikiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ2lkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAiIgorImF0ZW5jacOzbjogbG9zIGdpZHMgc2UgdHJ1bmNhbiBhICV1IGJpdHMuIChFc3RvIHBvZHLDrWEgc2VyIHVuIHByb2JsZW1hXG4iCisiZGUgc2VndXJpZGFkKS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldBUk5JTkc6IGRldmljZSBudW1iZXJzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgVGhpcyBhbG1vc3QgY2VydGFpbmx5IG1lYW5zXG4iCisidGhhdCBzb21lIGRldmljZSBmaWxlcyB3aWxsIGJlIHdyb25nLiIKK21zZ3N0ciAiIgorIkFURU5DScOTTjogbG9zIG7Dum1lcm9zIGRlIGRpc3Bvc2l0aXZvIHNlIHRydW5jYW4gYSAldSBiaXRzLiBFc3RvXG4iCisic2lnbmlmaWNhIGNhc2kgY29uIGNlcnRlemEgcXVlIGFsZ3Vub3MgZmljaGVyb3MgZGUgZGlzcG9zaXRpdm9zIHNlcsOhbiBlcnLDs25lb3MuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gL2Rldi9ub21icmUgW2Jsb3F1ZXNdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzNworbXNnaWQgIiAtMSAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAxXG4iCittc2dzdHIgIiAtMSAgICAgICAgICAgICAgICAgICAgICB1dGlsaXphIGxhIHZlcnNpw7NuIDEgZGUgTWluaXhcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM4Cittc2dpZCAiIC0yLCAtdiAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDJcbiIKK21zZ3N0ciAiIC0yLCAtdiAgICAgICAgICAgICAgICAgIHV0aWxpemEgbGEgdmVyc2nDs24gMiBkZSBNaW5peFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzkKK21zZ2lkICIgLTMgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gM1xuIgorbXNnc3RyICIgLTMgICAgICAgICAgICAgICAgICAgICAgIHV0aWxpemEgbGEgdmVyc2nDs24gMyBkZSBNaW5peFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDAKK21zZ2lkICIgLW4sIC0tbmFtZWxlbmd0aCA8bnVtPiAgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzXG4iCittc2dzdHIgIiAtbiwgLS1uYW1lbGVuZ3RoIDxuw7ptLj4gbG9uZ2l0dWQgbcOheGltYSBkZSBsb3Mgbm9tYnJlcyBkZSBmaWNoZXJvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MQorbXNnaWQgIiAtaSwgLS1pbm9kZXMgPG51bT4gICAgICBudW1iZXIgb2YgaW5vZGVzIGZvciB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLWksIC0taW5vZGVzIDxuw7ptZXJvPiAgIG7Dum1lcm8gZGUgbm9kb3MtaSBwYXJhIGVsIHNpc3RlbWEgZGUgZmljaGVyb3NcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQyCittc2dpZCAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIGNoZWNrIHRoZSBkZXZpY2UgZm9yIGJhZCBibG9ja3NcbiIKK21zZ3N0ciAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIGNvbXBydWViYSBzaSBlbCBkaXNwb3NpdGl2byB0aWVuZSBibG9xdWVzIGluY29ycmVjdG9zXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MworbXNnaWQgIiAtbCwgLS1iYWRibG9ja3MgPGZpbGU+ICBsaXN0IG9mIGJhZCBibG9ja3MgZnJvbSBmaWxlXG4iCittc2dzdHIgIiAtbCwgLS1iYWRibG9ja3MgPGZpY2guPiBlbnVtYXJhIGxvcyBibG9jcXVlcyBpbmNvcnJlY3RvcyBkZWwgZmljaGVyb1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgdG8gYm9vdCBibG9jayBmYWlsZWQgIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAiJXM6IHJycm9yIGRlIGLDunNxdWVkYSBkZSBibG9xdWUgZGUgaW5pY2lvIGVuIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gY2xlYXIgYm9vdCBzZWN0b3IiCittc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBib3JyYXIgZWwgc2VjdG9yIGRlIGluaWNpbyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgIiVzOiBlcnJvciBkZSBiw7pzcXVlZGEgZW4gd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlIGVzY3JpYmlyIGVsIHN1cGVyYmxvcXVlIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBlc2NyaWJpciBsYSB0YWJsYSBkZSBub2Rvcy1pIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlIGVzY3JpYmlyIGxhIHRhYmxhIGRlIHpvbmFzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgIiVzOiBubyBzZSBwdWVkZW4gZXNjcmliaXIgbG9zIG5vZG9zLWkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIiVzOiBlcnJvciBkZSBiw7pzcXVlZGEgZW4gd3JpdGVfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICIlczogZXJyb3IgZGUgZXNjcml0dXJhIGVuIHdyaXRlX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMjEgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Mjk2CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzozNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBtYW55IGJhZCBibG9ja3MiCittc2dzdHIgIiVzOiBoYXkgZGVtYXNpYWRvcyBibG9xdWVzIGluY29ycmVjdG9zIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBlbm91Z2ggZ29vZCBibG9ja3MiCittc2dzdHIgIiVzOiBubyBoYXkgc3VmaWNpZW50ZXMgYmxvcXVlcyBjb3JyZWN0b3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRmlyc3QgZGF0YSBibG9jayBhdCAlamQsIHdoaWNoIGlzIHRvbyBmYXIgKG1heCAlZCkuXG4iCisiVHJ5IHNwZWNpZnlpbmcgZmV3ZXIgaW5vZGVzIGJ5IHBhc3NpbmcgLS1pbm9kZXMgPG51bT4iCittc2dzdHIgIiIKKyJFbCBwcmltZXIgYmxvcXVlIGRlIGRhdG9zIGVzdMOhIGVuICVqZCwgZGVtYXNpYWRvIGxlam9zIChtw6F4LiAlZCkuXG4iCisiVHJhdGUgZGUgZXNwZWNpZmljYXIgbWVub3Mgbm9kb3MtaSBtZWRpYW50ZSAnLS1pbm9kZXMgPG7Dum1lcm8+Jy4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgaW5vZGVcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGlub2Rlc1xuIgorbXNnc3RyWzBdICIlbHUgbm9kby1pXG4iCittc2dzdHJbMV0gIiVsdSBub2Rvcy1pXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlbHUgYmxvcXVlXG4iCittc2dzdHJbMV0gIiVsdSBibG9xdWVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lc2l6ZT0lenVcbiIKK21zZ3N0ciAiVGFtYcOxbyBkZSB6b25hPSV6dVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk1heHNpemU9JXp1XG4iCisiXG4iCittc2dzdHIgIiIKKyJUYW1hw7FvIG3DoXhpbW89JXp1XG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgZHVyaW5nIHRlc3Rpbmcgb2YgYmxvY2tzIgorbXNnc3RyICIlczogZXJyb3IgZGUgYsO6c3F1ZWRhIGR1cmFudGUgY29tcHJvYmFjacOzbiBkZSBibG9xdWVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VpcmQgdmFsdWVzIGluIGRvX2NoZWNrOiBwcm9iYWJseSBidWdzXG4iCittc2dzdHIgIlZhbG9yZXMgZXh0cmHDsW9zIGVuIGRvX2NoZWNrOiBwcm9iYWJsZW1lbnRlIGV4aXN0YW4gZXJyb3Jlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAiJXM6IGVycm9yIGRlIGLDunNxdWVkYSBlbiBjaGVja19ibG9ja3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGJsb2NrcyBiZWZvcmUgZGF0YS1hcmVhOiBjYW5ub3QgbWFrZSBmcyIKK21zZ3N0ciAiIgorIiVzOiBibG9xdWVzIGluY29ycmVjdG9zIGFudGVzIGRlbCDDoXJlYSBkZSBkYXRvczogbm8gc2UgcHVlZGUgY3JlYXJcbiIKKyJlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MzkgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGJhZCBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlZCBiYWQgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVkIGJsb3F1ZSBpbmNvcnJlY3RvXG4iCittc2dzdHJbMV0gIiVkIGJsb3F1ZXMgaW5jb3JyZWN0b3NcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBvcGVuIGZpbGUgb2YgYmFkIGJsb2NrcyIKK21zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlIGFicmlyIGVsIGZpY2hlcm8gZGUgYmxvcXVlcyBpbmNvcnJlY3RvcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjUzCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZGJsb2NrIG51bWJlciBpbnB1dCBlcnJvciBvbiBsaW5lICVkXG4iCittc2dzdHIgImVycm9yIGRlIGVudHJhZGEgZW4gZWwgbsO6bWVybyBkZSBibG9xdWVzIGRlZmVjdHVvc29zIGVuIGxhIGzDrW5lYSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGJhZGJsb2NrcyBmaWxlIgorbXNnc3RyICIlczogTm8gc2UgcHVlZGUgbGVlciBlbCBmaWNoZXJvIGRlIGJsb3F1ZXMgaW5jb3JyZWN0b3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5NAorIywgYy1mb3JtYXQKK21zZ2lkICJibG9jayBzaXplIHNtYWxsZXIgdGhhbiBwaHlzaWNhbCBzZWN0b3Igc2l6ZSBvZiAlcyIKK21zZ3N0ciAidGFtYcOxbyBkZSBibG9xdWUgbWVub3IgcXVlIGVsIHRhbWHDsW8gZGUgc2VjdG9yIGbDrXNpY28gZGUgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5NworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNpemUgb2YgJXMiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGRldGVybWluYXIgZWwgdGFtYcOxbyBkZSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZXF1ZXN0ZWQgYmxvY2tzICglbGx1KSBleGNlZWRzIGF2YWlsYWJsZSAoJWxsdSkgYmxvY2tzXG4iCittc2dzdHIgIiVzOiBsb3MgYmxvcXVlcyBzb2xpY2l0YWRvcyAoJWxsdSkgc3VwZXJhbiBsb3MgYmxvcXVlcyBkaXNwb25pYmxlcyAoJWxsdSlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiJXM6IGVsIG7Dum1lcm8gZGUgYmxvcXVlcyBlcyBkZW1hc2lhZG8gcGVxdWXDsW8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbmFtZSBsZW5ndGg6ICVkIgorbXNnc3RyICJsb25naXR1ZCBkZSBub21icmUgbm8gc29wb3J0YWRhOiAlZCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzMyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG1pbml4IGZpbGUgc3lzdGVtIHZlcnNpb246ICVkIgorbXNnc3RyICJsYSB2ZXJzacOzbiBkZWwgc2lzdGVtYSBkZSBmaWNoZXJvcyBtaW5peCBubyBlc3TDoSBzb3BvcnRhZGE6ICVkIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NjcKK21zZ2lkICItdiBpcyBhbWJpZ3VvdXMsIHVzZSAnLTInIGluc3RlYWQiCittc2dzdHIgIi12IGVzIGFtYmlndW87IG1lam9yIHV0aWxpY2UgJy0yJyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Nzc4Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lcyIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgbGEgbG9uZ2l0dWQgbcOheGltYSBkZSBsb3Mgbm9tYnJlcyBkZSBmaWNoZXJvIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgZWwgbsO6bWVybyBkZSBub2Rvcy1pIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MDYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGJsb2NrcyIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgZWwgbsO6bWVybyBkZSBibG9xdWVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBhIGZpbGVzeXN0ZW0gaGVyZSEiCittc2dzdHIgIiVzIGVzdMOhIG1vbnRhZG87IG5vIHNlIGNyZWFyw6EgdW4gc2lzdGVtYSBkZSBmaWNoZXJvcyBhcXXDrSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICV1IgorbXNnc3RyICJFbCB0YW1hw7FvIGRlIHDDoWdpbmEgJXUgZXNwZWNpZmljYWRvIHBvciBlbCB1c3VhcmlvIGVzIGluY29ycmVjdG8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICVkLCBpbnN0ZWFkIG9mIHRoZSBzeXN0ZW0gdmFsdWUgJWQiCittc2dzdHIgIlNlIHV0aWxpemEgZWwgdGFtYcOxbyBkZSBww6FnaW5hICVkIGVzcGVjaWZpY2FkbyBwb3IgZWwgdXN1YXJpbywgZW4gbHVnYXIgZGVsIHZhbG9yIGRlbCBzaXN0ZW1hICVkIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEyNAorbXNnaWQgIkxhYmVsIHdhcyB0cnVuY2F0ZWQuIgorbXNnc3RyICJMYSBldGlxdWV0YSBzZSBoYSB0cnVuY2Fkby4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGxhYmVsLCAiCittc2dzdHIgInNpbiBldGlxdWV0YSwgIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyB1dWlkXG4iCittc2dzdHIgInNpbiB1dWlkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdIGRldmljZSBbc2l6ZV1cbiIKK21zZ3N0ciAiIgorIlxuIgorIk1vZG8gZGUgZW1wbGVvOlxuIgorIiAlcyBbb3BjaW9uZXNdIGRpc3Bvc2l0aXZvIFt0YW1hw7FvXVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1MgorbXNnaWQgIlNldCB1cCBhIExpbnV4IHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiQ29uZmlndXJhIHVuYSB6b25hIGRlIGludGVyY2FtYmlvIGRlIExpbnV4LlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICBjaGVjayBiYWQgYmxvY2tzIGJlZm9yZSBjcmVhdGluZyB0aGUgc3dhcCBhcmVhXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgYWxsb3cgc3dhcCBzaXplIGFyZWEgYmUgbGFyZ2VyIHRoYW4gZGV2aWNlXG4iCisiIC1wLCAtLXBhZ2VzaXplIFNJWkUgICAgICAgc3BlY2lmeSBwYWdlIHNpemUgaW4gYnl0ZXNcbiIKKyIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICBzcGVjaWZ5IGxhYmVsXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAgc3BlY2lmeSBzd2FwLXNwYWNlIHZlcnNpb24gbnVtYmVyXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgc3BlY2lmeSB0aGUgdXVpZCB0byB1c2VcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcGNpb25lczpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICBjb21wcnVlYmEgbG9zIGJsb3F1ZXMgZXJyw7NuZW9zIGFudGVzIGRlIGNyZWFyIGVsIMOhcmVhIGRlIGludGVyY2FtYmlvXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgcGVybWl0ZSB1biB0YW1hw7FvIGRlIMOhcmVhIGRlIGludGVyY2FtYmlvIG1heW9yIHF1ZSBlbCBkaXNwb3NpdGl2b1xuIgorIiAtcCwgLS1wYWdlc2l6ZSBUQU1Bw5FPICAgICBlc3BlY2lmaWNhIGVsIHRhbWHDsW8gZGUgcMOhZ2luYSBlbiBieXRlc1xuIgorIiAtTCwgLS1sYWJlbCBFVElRVUVUQSAgICAgIGVzcGVjaWZpY2EgbGEgZXRpcXVldGFcbiIKKyIgLXYsIC0tc3dhcHZlcnNpb24gTlVNICAgICBlc3BlY2lmaWNhIGVsIG7Dum1lcm8gZGUgdmVyc2nDs24gZGVsIGVzcGFjaW8gZGUgaW50ZXJjYW1iaW9cbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICBlc3BlY2lmaWNhIGVsIHV1aWQgcXVlIHNlIHZhIGEgdXRpbGl6YXJcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICBzYWNhIGxhIGluZm9ybWFjacOzbiBkZSB2ZXJzacOzbiB5IHNhbGVcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgICBtdWVzdHJhIGVzdGEgYXl1ZGEgeSBzYWxlXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGJhZCBwYWdlczogJWx1IgorbXNnc3RyICJIYXkgZGVtYXNpYWRhcyBww6FnaW5hcyBpbmNvcnJlY3RhczogJWx1IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE5NQorbXNnaWQgInNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAiRXJyb3IgZGUgYsO6c3F1ZWRhIGVuIGNoZWNrX2Jsb2NrcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJhZCBwYWdlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBiYWQgcGFnZXNcbiIKK21zZ3N0clswXSAiJWx1IHDDoWdpbmEgaW5jb3JyZWN0YVxuIgorbXNnc3RyWzFdICIlbHUgcMOhZ2luYXMgaW5jb3JyZWN0YXNcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMjgKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgbmV3IGxpYmJsa2lkIHByb2JlIgorbXNnc3RyICJubyBzZSBwdWVkZSBhc2lnbmFyIHVuIG51ZXZvIHNvbmRlbyBsaWJibGtpZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMzAKK21zZ2lkICJ1bmFibGUgdG8gYXNzaWduIGRldmljZSB0byBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAibm8gc2UgcHVlZGUgYXNpZ25hciBkaXNwb3NpdGl2byBhbCBzb25kZW8gbGliYmxraWQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNoZWNraW5nIGJhZCBibG9ja3MgZnJvbSBzd2FwIGZpbGUgaXMgbm90IHN1cHBvcnRlZDogJXMiCittc2dzdHIgImF0ZW5jacOzbjogbm8gc2UgZGlzcG9uZSBkZSBsYSBvcGNpw7NuIGRlIGNvbXByb2JhciBibG9xdWVzIGluY29ycmVjdG9zIGVuIGVsIGZpY2hlcm8gZGUgaW50ZXJjYW1iaW86ICVzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI2MSBkaXNrLXV0aWxzL21rc3dhcC5jOjI4NyBkaXNrLXV0aWxzL21rc3dhcC5jOjMzNAorbXNnaWQgInVuYWJsZSB0byByZXdpbmQgc3dhcC1kZXZpY2UiCittc2dzdHIgImJvIHNlIHB1ZWRlIHJlYm9iaW5hciBlbCBkaXNwb3NpdGl2byBkZSBpbnRlcmNhbWJpbyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyOTAKK21zZ2lkICJ1bmFibGUgdG8gZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAibm8gc2UgcHVlZGVuIGJvcnJhciBsb3Mgc2VjdG9yZXMgZGUgbG9zIGJpdHMgZGUgYXJyYW5xdWUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiB3aXBpbmcgb2xkICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIiVzOiBhdGVuY2nDs246IHNlIGRlc3RydXllIGxhIGZpcm1hIGFudGlndWEgJXMuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogZG9uJ3QgZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAiJXM6IGF0ZW5jacOzbjogbm8gYm9ycmUgbG9zIHNlY3RvcmVzIGRlIGxvcyBiaXRzIGRlIGFycmFucXVlIGluaWNpbyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoJXMgcGFydGl0aW9uIHRhYmxlIGRldGVjdGVkKS4gIgorbXNnc3RyICIgICAgICAgICh0YWJsYSBkZSBwYXJ0aWNpb25lcyAlcyBkZXRlY3RhZGEpLiAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKGNvbXBpbGVkIHdpdGhvdXQgbGliYmxraWQpLiAiCittc2dzdHIgIiAgICAgICAgKGNvbXBpbGFkbyBzaW4gbGliYmxraWQpLiAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzZSAtZiB0byBmb3JjZS5cbiIKK21zZ3N0ciAiVXRpbGljZSAtZiBwYXJhIGZvcnphci5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzaWduYXR1cmUgcGFnZSIKK21zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlIGVzY3JpYmlyIGxhIHDDoWdpbmEgZGUgZmlybWEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzgwCittc2dpZCAicGFyc2luZyBwYWdlIHNpemUgZmFpbGVkIgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBlbCB0YW1hw7FvIGRlIHDDoWdpbmEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg2Cittc2dpZCAicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiCittc2dzdHIgImVycm9yIGFuYWxpemFuZG8gZWwgbsO6bWVybyBkZSB2ZXJzacOzbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcHNwYWNlIHZlcnNpb24gJWQgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAibm8gZnVuY2lvbmEgbGEgdmVyc2nDs24gJWQgZGUgZXNwYWNpbyBkZSBpbnRlcmNhbWJpbyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogaWdub3JpbmcgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCBieSAlcykiCittc2dzdHIgImF0ZW5jacOzbjogc2UgaWdub3JhIC1VICglcyBubyBwZXJtaXRlIGVzcGVjaWZpY2FyIFVVSURzKSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MTQKK21zZ2lkICJvbmx5IG9uZSBkZXZpY2UgYXJndW1lbnQgaXMgY3VycmVudGx5IHN1cHBvcnRlZCIKK21zZ3N0ciAiYWN0dWFsbWVudGUgc29sbyBzZSBhZG1pdGUgdW4gYXJndW1lbnRvIHBhcmEgZWwgZGlzcG9zaXRpdm8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDIxCittc2dpZCAiZXJyb3I6IHBhcnNpbmcgVVVJRCBmYWlsZWQiCittc2dzdHIgImVycm9yOiBmYWxsbyBhbCBhbmFsaXphciBVVUlEIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzMAorbXNnaWQgImVycm9yOiBOb3doZXJlIHRvIHNldCB1cCBzd2FwIG9uPyIKK21zZ3N0ciAiZXJyb3I6IMK/Tm8gc2UgaGEgZXNwZWNpZmljYWRvIGTDs25kZSBjb25maWd1cmFyIGVsIGVzcGFjaW8gZGUgaW50ZXJjYW1iaW8/IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzNgorbXNnaWQgImludmFsaWQgYmxvY2sgY291bnQgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBkZSBjdWVudGEgZGUgYmxvcXVlcyBubyB2w6FsaWRvIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc2l6ZSAlbGx1IEtpQiBpcyBsYXJnZXIgdGhhbiBkZXZpY2Ugc2l6ZSAlPFBSSXU2ND4gS2lCIgorbXNnc3RyICJlcnJvcjogZWwgdGFtYcOxbyAlbGx1IEtpQiBlcyBtYXlvciBxdWUgZWwgdGFtYcOxbyBkZWwgZGlzcG9zaXRpdm8gJTxQUkl1NjQ+IEtpQiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHN3YXAgYXJlYSBuZWVkcyB0byBiZSBhdCBsZWFzdCAlbGQgS2lCIgorbXNnc3RyICJlcnJvcjogZWwgw6FyZWEgZGUgaW50ZXJjYW1iaW8gZGViZSB0ZW5lciBjb21vIG3DrW5pbW8gJWxkIEtpQiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdHJ1bmNhdGluZyBzd2FwIGFyZWEgdG8gJWxsdSBLaUIiCittc2dzdHIgImF0ZW5jacOzbjogZWwgw6FyZWEgZGUgaW50ZXJjYW1iaW8gc2UgdHJ1bmNhIGEgJWxsdSBLaUIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIHN3YXBzcGFjZSIKK21zZ3N0ciAiZXJyb3I6ICVzIGVzdMOhIG1vbnRhZG87IG5vIHNlIGNyZWFyw6EgZWwgZXNwYWNpbyBkZSBpbnRlcmNhbWJpbyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0Njggc3lzLXV0aWxzL3N3YXBvbi5jOjUyNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgcGVybWlzc2lvbnMgJTA0bywgJTA0byBzdWdnZXN0ZWQuIgorbXNnc3RyICIlczogcGVybWlzb3MgJTA0byBubyBzZWd1cm9zOyBzZSBzdWdpZXJlICUwNG8uIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ3MiBzeXMtdXRpbHMvc3dhcG9uLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBmaWxlIG93bmVyICVkLCAwIChyb290KSBzdWdnZXN0ZWQuIgorbXNnc3RyICIlczogZWwgcHJvcGlldGFyaW8gJWQgZGVsIGZpY2hlcm8gbm8gZXMgc2VndXJvOyBzZSBzdWdpZXJvIDAgKHJvb3QpLiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0ODcKK21zZ2lkICJVbmFibGUgdG8gc2V0IHVwIHN3YXAtc3BhY2U6IHVucmVhZGFibGUiCittc2dzdHIgIk5vIHNlIHB1ZWRlIGNvbmZpZ3VyYXIgZWwgZXNwYWNpbyBkZSBpbnRlcmNhbWJpbzogbm8gc2UgcHVlZGUgbGVlciIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyB1cCBzd2Fwc3BhY2UgdmVyc2lvbiAlZCwgc2l6ZSA9ICVzICglPFBSSXU2ND4gYnl0ZXMpXG4iCittc2dzdHIgIkNvbmZpZ3VyYW5kbyBlc3BhY2lvIGRlIGludGVyY2FtYmlvIHZlcnNpw7NuICVkLCB0YW1hw7FvID0gJXMgKCU8UFJJdTY0PiBieXRlcylcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBvYnRhaW4gc2VsaW51eCBmaWxlIGxhYmVsIgorbXNnc3RyICIlczogbm8gc2UgcHVlZGUgb2J0ZW5lciBsYSBldGlxdWV0YSBkZWwgZmljaGVybyBTRUxpbnV4IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxNQorbXNnaWQgInVuYWJsZSB0byBtYXRjaHBhdGhjb24oKSIKK21zZ3N0ciAibm8gc2UgcHVlZGUgZWplY3V0YXIgbWF0Y2hwYXRoY29uKCkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE4Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBuZXcgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJubyBzZSBwdWVkZSBjcmVhciB1biBudWV2byBjb250ZXh0byBTRUxpbnV4IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMAorbXNnaWQgImNvdWxkbid0IGNvbXB1dGUgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJubyBzZSBwdWRvIGNhbGN1bGFyIGVsIGNvbnRleHRvIFNFTGludXgiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZWxhYmVsICVzIHRvICVzIgorbXNnc3RyICJubyBzZSBwdWVkZSBjYW1iaWFyIGxhIGV0aXF1ZXRhICVzIHBvciAlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg2Cittc2dpZCAicGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAibsO6bWVybyBkZSBwYXJ0aWNpw7NuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODcKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgImNvbWllbnpvIGRlIGxhIHBhcnRpY2nDs24gZW4gc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OAorbXNnaWQgImVuZCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgImZpbiBkZSBsYSBwYXJ0aWNpw7NuIGVuIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODkKK21zZ2lkICJudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAibsO6bWVybyBkZSBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkwCittc2dpZCAiaHVtYW4gcmVhZGFibGUgc2l6ZSIKK21zZ3N0ciAidGFtYcOxbyBsZWdpYmxlIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTEKK21zZ2lkICJwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAibm9tYnJlIGRlIGxhIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDggbWlzYy11dGlscy9sc2Jsay5jOjE2OAorbXNnaWQgInBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJVVUlEIGRlIGxhIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MworbXNnaWQgInBhcnRpdGlvbiB0YWJsZSB0eXBlIChkb3MsIGdwdCwgLi4uKSIKK21zZ3N0ciAidGlwbyBkZSB0YWJsYSBkZSBwYXJ0aWNpb25lcyAoZG9zLCBncHQsIC4uLikiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY5Cittc2dpZCAicGFydGl0aW9uIGZsYWdzIgorbXNnc3RyICJvcGNpb25lcyBkZSBsYSBwYXJ0aWNpw7NuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTUKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSAoYSBzdHJpbmcsIGEgVVVJRCwgb3IgaGV4KSIKK21zZ3N0ciAidGlwbyBkZSBwYXJ0aWNpw7NuIChjYWRlbmEsIFVVSUQgbyBoZXhhZGVjaW1hbCkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDggc3lzLXV0aWxzL2xvc2V0dXAuYzo2MTYKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wY3h0IgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gaW5pY2lhbGl6YXIgbG9vcGN4dCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczogbm8gc2UgaGEgZW5jb250cmFkbyBuaW5nw7puIGRpc3Bvc2l0aXZvIGRlIGJ1Y2xlIHNpbiB1dGlsaXphciIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyMgorIywgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gdXNlICclcycgZm9yIHRoZSBsb29wIGRldmljZVxuIgorbXNnc3RyICJTZSBpbnRlbnRhcsOhIHV0aWxpemFyICclcycgY29tbyBkaXNwb3NpdGl2byBkZSBidWNsZVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXM6IGZhbGxvIGFsIGNvbmZpZ3VyYXIgZWwgZmljaGVybyBzdWJ5YWNlbnRlIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTMxIHN5cy11dGlscy9sb3NldHVwLmM6NTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczogZXJyb3IgYWwgY29uZmlndXJhciBkaXNwb3NpdGl2byBkZSBidWNsZSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjE2MSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjMwNyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozNzYKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzozNTQgbWlzYy11dGlscy9sc2xvY2tzLmM6MzQyIHN5cy11dGlscy9sb3NldHVwLmM6MTA3CisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNzIgc3lzLXV0aWxzL2xzaXBjLmM6MjMyIHN5cy11dGlscy9sc25zLmM6MTg5CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI3NyBzeXMtdXRpbHMvc3dhcG9uLmM6MTQ3IHN5cy11dGlscy93ZGN0bC5jOjE1MQorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzoxNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICJjb2x1bW5hIGRlc2Nvbm9jaWRhOiAlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICIlczogZmFsbG8gYWwgb2J0ZW5lciBlbCBuw7ptZXJvIGRlIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyODYgZGlzay11dGlscy9wYXJ0eC5jOjMyNCBkaXNrLXV0aWxzL3BhcnR4LmM6NDc3CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZmllZCByYW5nZSA8JWQ6JWQ+IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgImVsIHJhbmdvIGVzcGVjaWZpY2FkbyA8JWQ6JWQ+IG5vIHRpZW5lIHNlbnRpZG8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmFuZ2UgcmVjb3VudDogbWF4IHBhcnRubz0lZCwgbG93ZXI9JWQsIHVwcGVyPSVkXG4iCittc2dzdHIgInJlY3VlbnRhIGRlIHJhbmdvOiBtw6F4IG51bXBhcnQ9JWQsIGluZmVyaW9yPSVkLCBzdXBlcmlvcj0lZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiBlcnJvciBhbCBib3JyYXIgbGEgcGFydGljacOzbiAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXM6IGVycm9yIGFsIGJvcnJhciBsYXMgcGFydGljaW9uZXMgJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVtb3ZlZFxuIgorbXNnc3RyICIlczogc2UgaGEgYm9ycmFkbyBsYSBwYXJ0aWNpw7NuIG7CuiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGRvZXNuJ3QgZXhpc3RcbiIKK21zZ3N0ciAiJXM6IGxhIHBhcnRpY2nDs24gbsK6ICVkIG5vIGV4aXN0ZVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZWxldGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGVsIGJvcnJhZG8gZGUgbGEgcGFydGljacOzbiBuwrogJWQgaGEgZmFsbGFkbyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXM6IGVycm9yIGFsIGHDsWFkaXIgbGEgcGFydGljacOzbiAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiVzOiBlcnJvciBhbCBhw7FhZGlyIGxhcyBwYXJ0aWNpb25lcyAlZC0lZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQwNSBkaXNrLXV0aWxzL3BhcnR4LmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGFkZGVkXG4iCittc2dzdHIgIiVzOiBzZSBoYSBhw7FhZGlkbyBsYSBwYXJ0aWNpw7NuIG7CuiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiBmYWxsbyBhbCBhw7FhZGlyIGxhIHBhcnRpY2nDs24gbsK6ICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiBlcnJvciBhbCBhY3R1YWxpemFyIGxhICBwYXJ0aWNpw7NuICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczogZXJyb3IgYWwgYWN0dWFsaXphciBsYXMgcGFydGljaW9uZXMgJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiAjJWQiCittc2dzdHIgIiVzOiBubyBleGlzdGUgbGEgcGFydGljacOzbiBuwrogJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVzaXplZFxuIgorbXNnc3RyICIlczogc2UgaGEgY2FtYmlhZG8gZWwgdGFtYcOxbyBkZSBsYSBwYXJ0aWNpw7NuIG7CuiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1cGRhdGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZhbGxvIGFsIGFjdHVhbGl6YXIgbGEgcGFydGljacOzbiBuwrogJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvciwgJTZqdSBNQilcbiIKK21zZ2lkX3BsdXJhbCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvcnMsICU2anUgTUIpXG4iCittc2dzdHJbMF0gIm7CuiAlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWN0b3IsICU2anUgTUIpXG4iCittc2dzdHJbMV0gIm7CuiAlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWN0b3JlcywgJTZqdSBNQilcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU4MSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2ODggbWlzYy11dGlscy9maW5kbW50LmM6NzA1CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozOTEgc3lzLXV0aWxzL2xzbnMuYzo0NTYKK21zZ2lkICJmYWlsZWQgdG8gYWRkIGxpbmUgdG8gb3V0cHV0IgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gYcOxYWRpciBsYSBsw61uZWEgYSBsYSBzYWxpZGEiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NDQKK21zZ2lkICJmYWlsZWQgdG8gYWRkIGRhdGEgdG8gb3V0cHV0IHRhYmxlIgorbXNnc3RyICJubyBzZSBoYW4gcG9kaWRvIGHDsWFkaXIgbG9zIGRhdG9zIGEgbGEgdGFibGEgZGUgc2FsaWRhIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjY3IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTIyIG1pc2MtdXRpbHMvZmluZG1udC5jOjE1ODUKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODc0IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ1MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjMxMAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTcxMyBzeXMtdXRpbHMvbHNpcGMuYzozMzggc3lzLXV0aWxzL2xzbnMuYzo1MTEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjk3IHN5cy11dGlscy9zd2Fwb24uYzoyODAgc3lzLXV0aWxzL3dkY3RsLmM6MjU5CisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjQ4NAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGluaWNpYWxpemFyIGxhIHRhYmxhIGRlIHNhbGlkYSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY3OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjExIG1pc2MtdXRpbHMvbHNibGsuYzoxODk2CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NjUgc3lzLXV0aWxzL2xvc2V0dXAuYzozMjIgc3lzLXV0aWxzL2xvc2V0dXAuYzozNTgKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MTggc3lzLXV0aWxzL2xzbnMuYzo1MzIgc3lzLXV0aWxzL3BybGltaXQuYzozMDYKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyODkgc3lzLXV0aWxzL3dkY3RsLmM6MjcwIHN5cy11dGlscy96cmFtY3RsLmM6NDkzCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGluaWNpYWxpemFyIGxhIGNvbHVtbmEgZGUgc2FsaWRhIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzIyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIGZpbHRlciBmb3IgJyVzJyIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGluaWNpYWxpemFyIGVsIGZpbHRybyBibGtpZCBwYXJhICclcyciCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiJXM6IG5vIHNlIGhhIHBvZGlkbyBsZWVyIGxhIHRhYmxhIGRlIHBhcnRpY2lvbmVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgdHlwZSAnJXMnIGRldGVjdGVkXG4iCittc2dzdHIgIiVzOiBzZSBoYSBkZXRlY3RhZG8gdW5hIHRhYmxhIGRlIHBhcnRpY2lvbmVzIGRlIHRpcG8gJyVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgd2l0aCBubyBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogdGFibGEgZGUgcGFydGljaW9uZXMgc2luIG5pbmd1bmEgcGFydGljacOzbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0aXRpb24+XSA8ZGlzaz5cbiIKK21zZ3N0ciAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8cGFydGljacOzbj5dIDxkaXNjbz5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1NgorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgcHJlc2VuY2UgYW5kIG51bWJlcmluZyBvZiBwYXJ0aXRpb25zLlxuIgorbXNnc3RyICJJbmZvcm1hIGFsIG7DumNsZW8gZGUgbGEgcHJlc2VuY2lhIGRlIHBhcnRpY2lvbmVzIHkgZGUgc3UgbnVtZXJhY2nDs24uXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTkKK21zZ2lkICIgLWEsIC0tYWRkICAgICAgICAgICAgYWRkIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtYSwgLS1hZGQgICAgICAgICAgICBhw7FhZGUgbGFzIHBhcnRpY2lvbmVzIGVzcGVjaWZpY2FkYXMgbyB0b2RhcyBlbGxhc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYwCittc2dpZCAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIGRlbGV0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLWQsIC0tZGVsZXRlICAgICAgICBib3JyYSBsYXMgcGFydGljaW9uZXMgZXNwZWNpZmljYWRhcyBvIHRvZGFzIGVsbGFzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjEKK21zZ2lkICIgLXUsIC0tdXBkYXRlICAgICAgICAgdXBkYXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtdSwgLS11cGRhdGUgICAgICAgICBhY3R1YWxpemEgbGFzIHBhcnRpY2lvbmVzIGVzcGVjaWZpY2FkYXMgbyB0b2RhcyBlbGxhc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYyCittc2dpZCAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnNcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICBtdWVzdHJhIGxhIGxpc3RhIGRlIHBhcnRpY2lvbmVzXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjMgbWlzYy11dGlscy9sc2Jsay5jOjE2MjMKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1iLCAtLWJ0eWVzICAgICAgICAgIG11ZXN0cmEgZWwgVEFNQcORTyBlbiBieXRlcyBlbiBsdWdhciBkZSBoYWNlcmxvIGVuIGZvcm1hdG8gbGVnaWJsZSBwYXJhIGh1bWFub3NcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NAorbXNnaWQgIiAtZywgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1zaG93XG4iCittc2dzdHIgIiAtZywgLS1ub2hlYWRpbmdzICAgICBubyBpbXByaW1lIGxhcyBjYWJlY2VyYXMgY29ycmVzcG9uZGllbnRlcyBhIC0tc2hvd1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY1Cittc2dpZCAiIC1uLCAtLW5yIDxuOm0+ICAgICAgIHNwZWNpZnkgdGhlIHJhbmdlIG9mIHBhcnRpdGlvbnMgKGUuZy4gLS1uciAyOjQpXG4iCittc2dzdHIgIiAtbiwgLS1uciA8bjpuPiAgICAgICBlc3BlY2lmaWNhIHVuIHJhbmdvIGRlIHBhcnRpY2lvbmVzIChlLmcuIC0tbnIgMjo0KVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY2Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+IGRlZmluZSBxdWUgY29sdW1uYXMgZGUgc2FsaWRhIHV0aWxpemFyXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjcgbWlzYy11dGlscy9sc2Jsay5jOjE2MzcKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVAsIC0tcGFyaXMgICAgICAgICAgdXRpbGl6YSBlbCBmb3JtYXRvIGRlIHNhbGlkYSBjbGF2ZT1cInZhbG9yXCJcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OCBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzOAorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgIHV0aWxpemEgZWwgZm9ybWF0byBkZSBzYWxpZGEgZW4gYnJ1dG9cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICBzcGVjaWZ5IHRoZSBwYXJ0aXRpb24gdHlwZSAoZG9zLCBic2QsIHNvbGFyaXMsIGV0Yy4pXG4iCittc2dzdHIgIiAtdCwgLS10eXBlIDx0aXBvPiAgICBlc3BlY2lmaWNhIGVsIHRpcG8gZGUgcGFydGljacOzbiAoZG9zLCBic2QsIHNvbGFyaXMsIGV0Yy4pXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzAgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgbW9kbyBleHByZXNpdm9cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3NgorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdywgLS1yYXcgb3IgLS1wYWlycyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJDb2x1bW5hcyBkaXNwb25pYmxlcyAocGFyYSAtLXNob3csIC0tcmF3IG8gLS1wYWlycyk6XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS1uciA8TS1OPiByYW5nZSIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGFuYWxpemFyIGVsIHJhbmdvIC0tbnIgPG46bj4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MjQKK21zZ2lkICJwYXJ0aXRpb24gYW5kIGRpc2sgbmFtZSBkbyBub3QgbWF0Y2giCittc2dzdHIgImxvcyBub21icmVzIGRlIGxhIHBhcnRpY2nDs24geSBkZWwgZGlzY28gbm8gY29uY3VlcmRhbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1MgorbXNnaWQgIi0tbnIgYW5kIDxwYXJ0aXRpb24+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIi0tbnIgeSA8cGFydGljacOzbj4gc29uIG11dHVhbWVudGUgZXhjbHV5ZW50ZXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFydGl0aW9uOiAlcywgZGlzazogJXMsIGxvd2VyOiAlZCwgdXBwZXI6ICVkXG4iCittc2dzdHIgInBhcnRpY2nDs246ICVzLCBkaXNjbzogJXMsIGluZmVyaW9yOiAlZCwgc3VwZXJpb3I6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBkZWxldGUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlbiBib3JyYXIgbGFzIHBhcnRpY2lvbmVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb25lZCBsb29wIGRldmljZXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiVzOiBsb3MgZGlzcG9zaXRpdm9zIGRlIGJ1Y2xlIHBhcnRpY2lvbmFkb3Mgbm8gc2UgYWRtaXRlbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIHByb2JlciIKK21zZ3N0ciAiJXM6IG5vIHNlIGhhIHBvZGlkbyBpbmljaWFsaXphciBlbCBzb25kZW8gYmxraWQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzICUyJHNyYXdOIDxtYWpvcj4gPG1pbm9yPlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPGJsb2NrZGV2aWNlPlxuIgorIiAlMSRzIC1xICUyJHNyYXdOXG4iCisiICUxJHMgLXFhXG4iCittc2dzdHIgIiIKKyIgJTEkcyAlMiRzcmF3TiA8bWF5b3I+IDxtZW5vcj5cbiIKKyIgJTEkcyAlMiRzcmF3TiAvZGV2LzxkaXNwb2Jsb3F1ZT5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjU4Cittc2dpZCAiQmluZCBhIHJhdyBjaGFyYWN0ZXIgZGV2aWNlIHRvIGEgYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICJWaW5jdWxhIHVuIGRpc3Bvc2l0aXZvIGRlIGNhcmFjdGVyZXMgZW4gYnJ1dG8gYSB1biBkaXNwb3NpdGl2byBkZSBibG9xdWVzLlxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYxCittc2dpZCAiIC1xLCAtLXF1ZXJ5ICAgIHNldCBxdWVyeSBtb2RlXG4iCittc2dzdHIgIiAtcSwgLS1xdWVyeSAgICBlc3RhYmxlY2UgbW9kbyBkZSBjb25zdWx0YVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYyCittc2dpZCAiIC1hLCAtLWFsbCAgICAgIHF1ZXJ5IGFsbCByYXcgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgY29uc3VsdGEgdG9kb3MgbG9zIGRpc3Bvc2l0aXZvcyBlbiBicnV0b1xuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyB0aGUgY29udHJvbCByYXcgZGV2aWNlICh1c2UgcmF3PE4+IHdoZXJlIDxOPiBpcyBncmVhdGVyIHRoYW4gemVybykiCittc2dzdHIgIkVsIGRpc3Bvc2l0aXZvICclcycgZXMgZWwgZGlzcG9zaXRpdm8gZGUgY29udHJvbCBlbiBicnV0byAodXRpbGljZSByYXc8Tj4gY29uIDxOPiBtYXlvciBxdWUgY2VybykiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgYmxvY2sgZGV2aWNlICclcyciCittc2dzdHIgIk5vIHNlIHB1ZWRlIGxvY2FsaXphciBlbCBkaXNwb3NpdGl2byBkZSBibG9xdWVzICclcyciCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiRWwgZGlzcG9zaXRpdm8gJyVzJyBubyBlcyB1biBkaXNwb3NpdGl2byBkZSBibG9xdWVzIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE5MyBkaXNrLXV0aWxzL3Jhdy5jOjE5NiBzeXMtdXRpbHMvaXBjcm0uYzozNTEKKyM6IHN5cy11dGlscy9pcGNybS5jOjM2NCBzeXMtdXRpbHMvaXBjcm0uYzozNzcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBhbmFsaXphciBlbCBhcmd1bWVudG8iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuIG1hc3RlciByYXcgZGV2aWNlICclcyciCittc2dzdHIgIk5vIHNlIHB1ZWRlIGFicmlyIGVsIGRpc3Bvc2l0aXZvIGVuIGJydXRvIG1hZXN0cm8gJyVzJyIKKworIzogZGlzay11dGlscy9yYXcuYzoyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSByYXcgZGV2aWNlICclcyciCittc2dzdHIgIk5vIHNlIHB1ZWRlIGxvY2FsaXphciBlbCBkaXNwb3NpdGl2byBlbiBicnV0byAnJXMnIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICJSYXcgZGV2aWNlICclcycgaXMgbm90IGEgY2hhcmFjdGVyIGRldiIKK21zZ3N0ciAiRWwgZGlzcG9zaXRpdm8gJyVzJyBubyBlcyB1biBkaXNwb3NpdGl2byBkZSBjYXJhY3RlcmVzIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSByYXcgZGV2IgorbXNnc3RyICJFbCBkaXNwb3NpdGl2byAnJXMnIG5vIGVzIHVuIGRpc3Bvc2l0aXZvIGVuIGJydXRvIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI0NQorbXNnaWQgIkVycm9yIHF1ZXJ5aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIkVycm9yIGRlIGNvbnN1bHRhIGRlbCBkaXNwb3NpdGl2byBlbiBicnV0byIKKworIzogZGlzay11dGlscy9yYXcuYzoyNTQgZGlzay11dGlscy9yYXcuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNyYXclZDogIGJvdW5kIHRvIG1ham9yICVkLCBtaW5vciAlZFxuIgorbXNnc3RyICIlc3JhdyVkOiAgdmluY3VsYWRvIGFsIG7Dum0uIG1heW9yICVkLCBuw7ptLiBtZW5vciAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI2OAorbXNnaWQgIkVycm9yIHNldHRpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAiRXJyb3IgYWwgY29uZmlndXJhciBlbCBkaXNwb3NpdGl2byBlbiBicnV0byIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxsZW5ndGg+XG4iCittc2dzdHIgIiAlcyA8ZGlzcG9zaXRpdm8gZGUgdGlwbyBkaXNjbz4gPG7Dum1lcm8gZGUgcGFydGljacOzbj4gPGxvbmdpdHVkPlxuIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoyMworbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgbmV3IHNpemUgb2YgYSBwYXJ0aXRpb24uXG4iCittc2dzdHIgIkluZm9ybWEgYWwgbsO6Y2xlbyBkZWwgbnVldm8gdGFtYcOxbyBkZSB1bmEgcGFydGljacOzbi5cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gbnVtYmVyICVzIgorbXNnc3RyICIlczogbm8gc2UgaGEgcG9kaWRvIG9idGVuZXIgZWwgY29taWVuem8gZGVsIG7Dum1lcm8gZGUgcGFydGljacOzbiAlcyIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA5Cittc2dpZCAiZmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24iCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBjYW1iYWlyIGVsIHRhbWHDsW8gZGUgbGEgcGFydGljacOzbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMzEKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbmVzdGVkIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgImZhbGxvIGFsIHJlc2VydmFyIGNvbnRleHRvIGFuaWRhZG8gZGUgbGliZmRpc2siCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZWVrICVzIgorbXNnc3RyICJubyBzZSBwdWVkZSBlZmVjdHVhciBgc2VlaycgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzAyIGxpYmZkaXNrL3NyYy9ic2QuYzo3MjMgbGliZmRpc2svc3JjL2JzZC5jOjg5NAorIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNjMgc3lzLXV0aWxzL2h3Y2xvY2suYzoxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlICVzIgorbXNnc3RyICJubyBzZSBwdWVkZSBlc2NyaWJpciAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTEycyAob2Zmc2V0ICU1anUsIHNpemUgJTVqdSk6ICVzIgorbXNnc3RyICIlMTJzIChkZXNwbGF6YW1pZW50byAlNWp1LCB0YW1hw7FvICU1anUpOiAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAiCittc2dzdHIgIiVzOiBubyBzZSBoYSBwb2RpZG8gY3JlYXIgcmVzcGFsZG8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzI4Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCBmaWxlLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBjcmVhciB1biBmaWNoZXJvIGRlIHJlc3BhbGRvOyAkSE9NRSBxdWVkYSBzaW4gZGVmaW5pciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozNTQKK21zZ2lkICJCYWNrdXAgZmlsZXM6IgorbXNnc3RyICJGaWNoZXJvcyBkZSByZXNwYWxkbzoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzc5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbmV3IHBhcnRpdGlvbiBmcm9tIGRldmljZTsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBsZWVyIGxhIG51ZXZhIHBhcnRpY2nDs24gZGVsIGRpc3Bvc2l0aXZvOyBzZSBpZ25vcmEgLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgxCittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIG9idGVuZXIgZWwgdGFtYcOxbyBkZSBsYSBudWV2YSBwYXJ0aWNpw7NuOyBzZSBpZ25vcmEgLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgzCittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBvYnRlbmVyIGVsIGNvbWllbnpvIGRlIGxhIG51ZXZhIHBhcnRpY2nDs247IHNlIGlnbm9yYSAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODUKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gb2J0ZW5lciBlbCB0YW1hw7FvIGRlIGxhIGFudGlndWEgcGFydGljacOzbjsgc2UgaWdub3JhIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NworbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gb2J0ZW5lciBlbCBjb21pZW56byBkZSBsYSBhbnRpZ3VhIHBhcnRpY2nDs247IHNlIGlnbm9yYSAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODkKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGhhcyBub3QgYmVlbiBtb3ZlZDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIm5vIHNlIGhhIG1vdmlkbyBlbCBjb21pZW56byBkZSBsYSBwYXJ0aWNpw7NuOyBzZSBpZ25vcmEgLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkxCittc2dpZCAibmV3IHBhcnRpdGlvbiBpcyBzbWFsbGVyIHRoYW4gb3JpZ2luYWw7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJsYSBudWV2YSBwYXJ0aWNpw7NuIGVzIG3DoXMgcGVxdWXDsWEgcXVlIGxhIG9yaWdpbmFsOyBzZSBpZ25vcmEgLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQxCittc2dpZCAiRGF0YSBtb3ZlOiIKK21zZ3N0ciAiTW92aW1pZW50byBkZSBkYXRvczoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiB0eXBlc2NyaXB0IGZpbGU6ICVzIgorbXNnc3RyICIgZmljaGVybyBkZSB0cmFuc2NyaXBjacOzbjogJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiBvbGQgc3RhcnQ6ICVqdSwgbmV3IHN0YXJ0OiAlanUgKG1vdmUgJWp1IHNlY3RvcnMpXG4iCittc2dzdHIgIiBhbnRpZ3VvIGNvbWllbnpvOiAlanUsIG51ZXZvIGNvbWllbnpvOiAlanUgKG1vdmVyICVqdSBzZWN0b3JlcylcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTEKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBtb3ZlIHBhcnRpdGlvbiBkYXRhPyIKK21zZ3N0ciAiwr9EZXNlYSBtb3ZlciBsb3MgZGF0b3MgZGUgbGEgcGFydGljacOzbj8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc4MworbXNnaWQgIkxlYXZpbmcuIgorbXNnc3RyICJTYWxpZW5kby4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gbW92ZSBkYXRhIgorbXNnc3RyICIlczogbm8gc2UgaGFuIHBvZGlkbyBwb25lciBsb3MgZGF0b3MiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQxCittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBpcyB1bmNoYW5nZWQgKC0tbm8tYWN0KS4iCittc2dzdHIgIkxhIHRhYmxhIGRlIHBhcnRpY2lvbmVzIHBlcm1hbmVjZSBzaW4gY2FtYmlvcyAoLS1uby1hY3QpLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDcKK21zZ2lkICIiCisiXG4iCisiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiIgorIlxuIgorIlNlIGhhIG1vZGlmaWNhZG8gbGEgdGFibGEgZGUgcGFydGljaW9uZXMuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYyMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBsYWJlbCAnJXMnIgorbXNnc3RyICJldGlxdWV0YSBkZSBkaXNjbyBubyBzb3BvcnRhZGEgJyVzJyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MjYKK21zZ2lkICIiCisiSWQgIE5hbWVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIklkICBOb21icmVcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2NTYKK21zZ2lkICJ1bnJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUiCittc2dzdHIgInRpcG8gZGUgdGFibGEgZGUgcGFydGljaW9uZXMgbm8gcmVjb25vY2lkbyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICJObyBzZSBwdWVkZSBvYnRlbmVyIGVsIHRhbWHDsW8gZGUgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInRvdGFsOiAlanUgYmxvY2tzXG4iCittc2dzdHIgInRvdGFsOiAlanUgYmxvcXVlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgwOCBkaXNrLXV0aWxzL3NmZGlzay5jOjg3NiBkaXNrLXV0aWxzL3NmZGlzay5jOjkxNworIzogZGlzay11dGlscy9zZmRpc2suYzo5NDcgZGlzay11dGlscy9zZmRpc2suYzoxMDE0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA3OAorIzogZGlzay11dGlscy9zZmRpc2suYzoxMTMzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE4OSBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MzMKK21zZ2lkICJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIm5vIHNlIGhhIGVzcGVjaWZpY2FkbyBuaW5nw7puIGRpc3Bvc2l0aXZvIGRlIGRpc2NvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgxOQorbXNnaWQgInRvZ2dsZSBib290IGZsYWdzIGlzIHN1cHBvcnRlZCBmb3IgTUJSIG9ubHkiCittc2dzdHIgImNhbWJpYXIgbG9zIGluZGljYWRvcmVzIGRlIGFycmFucXVlIHNvbG8gcHVlZGUgaGFjZXJzZSBwYXJhIGVsIHJlZ2lzdHJvIGRlIGFycmFucXVlIHByaW5jaXBhbCAoTUJSKSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NTAgZGlzay11dGlscy9zZmRpc2suYzo4OTYgZGlzay11dGlscy9zZmRpc2suYzoxMDE5CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODMgZGlzay11dGlscy9zZmRpc2suYzoxMTM4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5NAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTMxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxMworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBlbCBuw7ptZXJvIGRlIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJWQ6IGZhaWxlZCB0byB0b2dnbGUgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiJXM6IHBhcnRpY2nDs24gJWQ6IG5vIHNlIGhhIHBvZGlkbyBjYW1iaWFyIGVsIGluZGljYWRvciBkZSBhcnJhbmNhYmxlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg5MSBkaXNrLXV0aWxzL3NmZGlzay5jOjg5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGRlbGV0ZSIKK21zZ3N0ciAiJXM6IHBhcnRpY2nDs24gJXp1OiBubyBzZSBoYSBwb2RpZG8gYm9ycmFyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiRWwgZGlzcG9zaXRpdm8gbm8gY29udGllbmUgdW5hIHRhYmxhIGRlIHBhcnRpY2lvbmVzIHJlY29ub2NpZGEuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk1OAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBkdW1wIHN0cnVjdCIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIHJlc2VydmFyIGxhIGVzdHJ1Y3R1cmEgZGUgdm9sY2FkbyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZHVtcCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyB2b2xjYXIgbGEgdGFibGEgZGUgcGFydGljaW9uZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBwYXJ0aXRpb24gdGFibGUgZm91bmQiCittc2dzdHIgIiVzOiBubyBzZSBoYSBlbmNvbnRyYWRvIG5pbmd1bmEgdGFibGEgZGUgcGFydGljaW9uZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6IHBhcnRpY2nDs24gJXp1OiBsYSB0YWJsYSBkZSBwYXJ0aWNpb25lcyBzb2xvIGNvbnRpZW5lICV6dSBwYXJ0aWNpb25lcy4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gaXMgdW51c2VkIgorbXNnc3RyICIlczogcGFydGljacOzbiAlenU6IGxhIHBhcnRpY2nDs24gbm8gc2UgZXN0w6EgdXNhbmRvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTggZGlzay11dGlscy9zZmRpc2suYzoxMDgyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzNworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTkzCittc2dpZCAibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiCittc2dzdHIgIm7Dum1lcm8gZGUgcGFydGljacOzbiBubyBlc3BlY2lmaWNhZG8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAyNCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODggZGlzay11dGlscy9zZmRpc2suYzoxMTQzCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTkKK21zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50cyIKK21zZ3N0ciAiYXJndW1lbnRvcyBpbmVzcGVyYWRvcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlczogcGFydGljacOzbiAlenU6IGZhbGxvIGFsIG9idGVuZXIgZWwgdGlwbyBkZSBwYXJ0aWNpw7NuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIHBhcnRpdGlvbiB0eXBlICclcyciCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIGVsIHRpcG8gZGUgbGEgcGFydGljacOzbiAlcyAnJXMnIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiVzOiBwYXJ0aWNpw7NuICV6dTogZmFsbG8gYWwgY29uZmlndXJhciBlbCB0aXBvIGRlIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiJXM6IHBhcnRpY2nDs24gJXp1OiBmYWxsbyBhbCBvYnRlbmVyIGVsIFVVSUQgZGUgbGEgcGFydGljacOzbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTEzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE2OCBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMjIKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG9iamVjdCIKK21zZ3N0ciAiZmFsbG8gYWwgcmVzZXJ2YXIgZWwgb2JqZXRvIGRlIGxhIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTExNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiJXM6IHBhcnRpY2nDs24gJXp1OiBmYWxsbyBhbCBjb25maWd1cmFyIGVsIFVVSUQgZGUgbGEgcGFydGljacOzbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlczogcGFydGljacOzbiAlenU6IGZhbGxvIGFsIG9idGVuZXIgZWwgbm9tYnJlIGRlIGxhIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiJXM6IHBhcnRpY2nDs24gJXp1OiBmYWxsbyBhbCBjb25maWd1cmFyIGVsIG5vbWJyZSBkZSBsYSBwYXJ0aWNpw7NuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIGF0dHJpYnV0ZXMiCittc2dzdHIgIiVzOiBwYXJ0aWNpw7NuICV6dTogZmFsbG8gYWwgY29uZmlndXJhciBsb3MgYXRyaWJ1dG9zIGRlIGxhIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI2OQorbXNnaWQgIiBDb21tYW5kczpcbiIKK21zZ3N0ciAiIMOTcmRlbmVzOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzEKK21zZ2lkICIgICB3cml0ZSAgICB3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0XG4iCittc2dzdHIgIiAgIHdyaXRlICAgIGVzY3JpYmUgbGEgdGFibGEgZW4gZWwgZGlzY28geSBzYWxlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3MgorbXNnaWQgIiAgIHF1aXQgICAgIHNob3cgbmV3IHNpdHVhdGlvbiBhbmQgd2FpdCBmb3IgdXNlcidzIGZlZWRiYWNrIGJlZm9yZSB3cml0ZVxuIgorbXNnc3RyICIiCisiICAgcXVpdCAgICAgbXVlc3RyYSBsYSBudWV2YSBzaXR1YWNpw7NuIHkgZXNwZXJhIGxhIHJlc3B1ZXN0YSBkZWwgdXN1YXJpb1xuIgorIiAgICAgICAgICAgIGFudGVzIGRlIGVzY3JpYmlyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3MworbXNnaWQgIiAgIGFib3J0ICAgIGV4aXQgc2ZkaXNrIHNoZWxsXG4iCittc2dzdHIgIiAgIGFib3J0ICAgIHNhbGUgZGUgbGEgwqtzaGVsbMK7IGRlIHNmZGlza1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzQKK21zZ2lkICIgICBwcmludCAgICBkaXNwbGF5IHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiICAgcHJpbnQgICAgbXVlc3RyYSBsYSB0YWJsYSBkZSBwYXJ0aWNpb25lc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzUKK21zZ2lkICIgICBoZWxwICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCittc2dzdHIgIiAgIGhlbHAgICAgIG11ZXN0cmEgZXN0ZSB0ZXh0byBkZSBheXVkYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzcKK21zZ2lkICIgICBDdHJsLUQgICB0aGUgc2FtZSBhcyAncXVpdCdcbiIKK21zZ3N0ciAiICAgQ3RybC1EICAgaWd1YWwgcXVlICdxdWl0J1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODEKK21zZ2lkICIgSW5wdXQgZm9ybWF0OlxuIgorbXNnc3RyICIgRm9ybWF0byBkZSBlbnRyYWRhOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODMKK21zZ2lkICIgICA8c3RhcnQ+LCA8c2l6ZT4sIDx0eXBlPiwgPGJvb3RhYmxlPlxuIgorbXNnc3RyICIgICA8Y29taWVuem8+LCA8dGFtYcOxbz4sIDx0aXBvPiwgPGFycmFuY2FibGU+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4NgorbXNnaWQgIiIKKyIgICA8c3RhcnQ+ICBCZWdpbm5pbmcgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgdGhlIGZpcnN0IGZyZWUgc3BhY2UuXG4iCittc2dzdHIgIiIKKyIgICA8Y29taWVuem8+IENvbWllbnpvIGRlIGxhIHBhcnRpY2nDs24gZW4gc2VjdG9yZXMsIG8gZW4gYnl0ZXMgc2lcbiIKKyIgICAgICAgICAgICBzZSBlc3BlY2lmaWNhIGVuIGVsIGZvcm1hdG8gPG7Dum1lcm8+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgTG8gcHJlZGV0ZXJtaW5hZG8gZXMgZWwgcHJpbWVyIGVzcGFjaW8gZGlzcG9uaWJsZS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkxCittc2dpZCAiIgorIiAgIDxzaXplPiAgIFNpemUgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgYWxsIGF2YWlsYWJsZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorIiAgIDx0YW1hw7FvPiBUYW1hw7FvIGRlIGxhIHBhcnRpY2nDs24gZW4gc2VjdG9yZXMsIG8gZW4gYnl0ZXMgc2lcbiIKKyIgICAgICAgICAgICBzZSBlc3BlY2lmaWNhIGVuIGVsIGZvcm1hdG8gPG7Dum1lcm8+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgTG8gcHJlZGV0ZXJtaW5hZG8gZXMgdG9kbyBlbCBlc3BhY2lvIGRpc3BvbmlibGUuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NgorbXNnaWQgIiAgIDx0eXBlPiAgIFRoZSBwYXJ0aXRpb24gdHlwZS4gIERlZmF1bHQgaXMgYSBMaW51eCBkYXRhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiICAgPHRpcG8+ICAgRWwgdGlwbyBkZSBwYXJ0aWNpw7NuLiAgRWwgcHJlZGV0ZXJtaW5hZG8gZXMgcGFydGljacOzbiBkZSBkYXRvcyBkZSBMaW51eC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk3Cittc2dpZCAiICAgICAgICAgICAgTUJSOiBoZXggb3IgTCxTLEUsWCBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiAgICAgICAgICAgIE1CUjogaGV4YSBvIG3DqXRvZG9zIGFicmV2aWFkb3MgTCxTLEUsWC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk4Cittc2dpZCAiICAgICAgICAgICAgR1BUOiBVVUlEIG9yIEwsUyxIIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiICAgICAgICAgICAgR1BUOiBVVUlEIG8gbcOpdG9kb3MgYWJyZXZpYWRvcyBMLFMsSC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzAxCittc2dpZCAiICAgPGJvb3RhYmxlPiAgVXNlICcqJyB0byBtYXJrIGFuIE1CUiBwYXJ0aXRpb24gYXMgYm9vdGFibGUuXG4iCittc2dzdHIgIiAgIDxhcnJhbmNhYmxlPiBVdGlsw61jZXNlICcqJyBwYXJhIGluZGljYXIgcXVlIGxhIHBhcnRpY2nDs24gZGVsIE1CUiBlcyBhcnJhbmNhYmxlLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDUKK21zZ2lkICIgRXhhbXBsZTpcbiIKK21zZ3N0ciAiIEVqZW1wbG86XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNworbXNnaWQgIiAgICwgNEcgICAgIENyZWF0ZXMgYSA0R2lCIHBhcnRpdGlvbiBhdCBkZWZhdWx0IHN0YXJ0IG9mZnNldC5cbiIKK21zZ3N0ciAiICAgLCA0RyAgICAgQ3JlYSB1bmEgcGFydGljacOzbiA0R2lCIGEgcGFydGlyIGRlIGxhIHBvc2ljacOzbiBwcmVkZXRlcm1pbmFkYS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzM5IHN5cy11dGlscy9kbWVzZy5jOjE0NTUKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICJvcmRlbiBubyBhZG1pdGlkYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzQxCisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQ6IHVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgImzDrW5lYSAlZDogb3JkZW4gbm8gYWRtaXRpZGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUwMAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiZmFsbG8gYWwgcmVzZXJ2YXIgZWwgbm9tYnJlIGRlIGxhIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU0MQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiZmFsbG8gYWwgYXNpZ25hciBlbCBtYW5lamFkb3IgZGVsIHNjcmlwdCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogbm8gcGFydGl0aW9uIHRhYmxlIHdhcyBmb3VuZCIKK21zZ3N0ciAiJXM6IG5vIHNlIGhhIHBvZGlkbyBtb2RpZmljYXIgbGEgcGFydGljacOzbiAlZDogbm8gc2UgaGEgZW5jb250cmFkbyB1bmEgdGFibGEgZGUgcGFydGljaW9uZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogbm8gc2UgcHVlZGUgbW9kaWZpY2FyIGxhIHBhcnRpY2nDs24gJWQ6IGxhIHRhYmxhIGRlIHBhcnRpY2lvbmVzIHNvbG8gY29udGllbmUgJXp1IHBhcnRpY2lvbmVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXM6IHBhcnRpdGlvbiAlZCBpcyBub3QgZGVmaW5lZCB5ZXQiCittc2dzdHIgImF0ZW5jacOzbjogJXM6IGxhIHBhcnRpY2nDs24gJWQgbm8gc2UgaGEgZGVmaW5pZG8gdG9kYXbDrWEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiV2VsY29tZSB0byBzZmRpc2sgKCVzKS4iCittc2dzdHIgIiIKKyJcbiIKKyJCaWVudmVuaWRvIGEgc2ZkaXNrICglcykuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTQKK21zZ2lkICJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIKK21zZ3N0ciAiQ29tcHJvYmFuZG8gcXVlIG5hZGllIGVzdMOpIHV0aWxpemFuZG8gZXN0ZSBkaXNjbyBlbiBlc3RlIG1vbWVudG8uLi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NworbXNnaWQgIiIKKyIgRkFJTEVEXG4iCisiXG4iCittc2dzdHIgIiIKKyIgRkFMTE9cbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjAwCittc2dpZCAiIgorIlRoaXMgZGlzayBpcyBjdXJyZW50bHkgaW4gdXNlIC0gcmVwYXJ0aXRpb25pbmcgaXMgcHJvYmFibHkgYSBiYWQgaWRlYS5cbiIKKyJVbW91bnQgYWxsIGZpbGUgc3lzdGVtcywgYW5kIHN3YXBvZmYgYWxsIHN3YXAgcGFydGl0aW9ucyBvbiB0aGlzIGRpc2suXG4iCisiVXNlIHRoZSAtLW5vLXJlcmVhZCBmbGFnIHRvIHN1cHByZXNzIHRoaXMgY2hlY2suXG4iCittc2dzdHIgIiIKKyJFc3RlIGRpc2NvIGVzdMOhIGFjdHVhbG1lbnRlIGVuIHVzbyAtIG5vIHNlIGFjb25zZWphIHZvbHZlciBhIGNyZWFyIHBhcnRpY2lvbmVzLlxuIgorIkRlc21vbnRlIHRvZG9zIGxvcyBzaXN0ZW1hcyBkZSBmaWNoZXJvcyB5IGRlc2hhZ2EgdG9kYXMgbGFzIHBhcnRpY2lvbmVzIGRlXG4iCisiaW50ZXJjYW1iaW8gZGUgZXN0ZSBkaXNjby4gVXRpbGljZSBlbCBpbmRpY2Fkb3IgLS1uby1yZXJlYWQgcGFyYSBlbGltaW5hciBlc3RhIGNvbXByb2JhY2nDs24uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIgorbXNnc3RyICJVdGlsaWNlIGVsIGluZGljYWRvciAtLWZvcmNlIHBhcmEgZWx1ZGlyIHRvZGFzIGxhcyBjb21wcm9iYWNpb25lcy4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNworbXNnaWQgIiIKKyIgT0tcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiBDb3JyZWN0b1xuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzYKK21zZ2lkICIiCisiXG4iCisiT2xkIHNpdHVhdGlvbjoiCittc2dzdHIgIiIKKyJcbiIKKyJTaXR1YWNpw7NuIGFudGVyaW9yOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKyJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIgorbXNnc3RyICIiCisiXG4iCisic2ZkaXNrIHZhIGEgY3JlYXIgdW5hIGV0aXF1ZXRhIGRlIGRpc2NvIG51ZXZhICclcycuXG4iCisiVXRpbGljZSAnbGFiZWw6IDxub21icmU+JyBhbnRlcyBkZSBkZWZpbmlyIHVuYSBwcmltZXJhXG4iCisicGFydGljacOzbiBwYXJhIGFudWxhciBsYSBwcmVkZXRlcm1pbmFkYS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY1NworbXNnaWQgIiIKKyJcbiIKKyJUeXBlICdoZWxwJyB0byBnZXQgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlRlY2xlZSAnaGVscCcgcGFyYSBvYnRlbmVyIG3DoXMgaW5mb3JtYWNpw7NuLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NzUKK21zZ2lkICJBbGwgcGFydGl0aW9ucyB1c2VkLiIKK21zZ3N0ciAiVG9kYXMgbGFzIHBhcnRpY2lvbmVzIHV0aWxpemFkYXMuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MDMKK21zZ2lkICJEb25lLlxuIgorbXNnc3RyICJIZWNoby5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzE1Cittc2dpZCAiSWdub3JpbmcgcGFydGl0aW9uLiIKK21zZ3N0ciAiU2UgZGVzZXN0aW1hIGxhIHBhcnRpY2nDs24uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MjQKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0IGhlYWRlcnMsIGRpc2sgbGFiZWwgbm90IGNyZWF0ZWQuIgorbXNnc3RyICJObyBzZSBoYW4gcG9kaWRvIGFwbGljYXIgbGFzIGNhYmVjZXJhcyBkZWwgc2NyaXB0OyBubyBzZSBoYSBjcmVhZG8gbGEgZXRpcXVldGEgZGVsIGRpc2NvLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkICMlZCBwYXJ0aXRpb24iCittc2dzdHIgIkZhbGxvIGFsIGHDsWFkaXIgcGFydGljacOzbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzYzCittc2dpZCAiU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4iCittc2dzdHIgIkNhYmVjZXJhIGRlbCBzY3JpcHQgYWNlcHRhZGEuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NzIKK21zZ2lkICIiCisiXG4iCisiTmV3IHNpdHVhdGlvbjoiCittc2dzdHIgIiIKKyJcbiIKKyJTaXR1YWNpw7NuIG51ZXZhOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzgxCittc2dpZCAiRG8geW91IHdhbnQgdG8gd3JpdGUgdGhpcyB0byBkaXNrPyIKK21zZ3N0ciAiwr9EZXNlYSBlc2NyaWJpciBlc3RhIGluZm9ybWFjacOzbiBlbiBlbCBkaXNjbz8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc5MworbXNnaWQgIkxlYXZpbmcuXG4iCittc2dzdHIgIlNhbGllbmRvLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2PiBbWy1OXSA8cGFydD5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisiICUxJHMgW29wY2lvbmVzXSA8ZGlzcG8+IFtbLU5dIDxwYXJ0Pl1cbiIKKyIgJTEkcyBbb3BjaW9uZXNdIDxvcmRlbj5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEyCittc2dpZCAiIgorIlxuIgorIkNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisiXG4iCisiw5NyZGVuZXM6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMworbXNnaWQgIiAtQSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gbGlzdCBvciBzZXQgYm9vdGFibGUgTUJSIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIC1BLCAtLWFjdGl2YXRlIDxkaXNwbz4gWzxwYXJ0PiAuLi5dIHNhY2EgdW5hIGxpc3RhIG8gY29uZmlndXJhIGNvbW8gYXJyYW5jYWJsZXMgbGFzIHBhcnRpY2lvbmVzIGRlbCByZWdpc3RybyBkZSBhcnJhbnF1ZSBwcmluY2lwYWwgKE1CUilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE0Cittc2dpZCAiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSAodXNhYmxlIGZvciBsYXRlciBpbnB1dClcbiIKK21zZ3N0ciAiIC1kLCAtLWR1bXAgPGRpc3BvPiAgICAgICAgICAgICAgICB2dWVsY2EgbGEgdGFibGEgZGUgcGFydGljaW9uZXMgKHB1ZWRlIHV0aWxpemFyc2UgbcOhcyBhZGVsYW50ZSBjb21vIGVudHJhZGEpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNQorbXNnaWQgIiAtSiwgLS1qc29uIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgaW4gSlNPTiBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gPGRpc3BvPiAgICAgICAgICAgICAgICB2dWVsY2EgbGEgdGFibGEgZGUgcGFydGljaW9uZXMgZW4gZm9ybWF0byBKU09OXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNgorbXNnaWQgIiAtZywgLS1zaG93LWdlb21ldHJ5IFs8ZGV2PiAuLi5dICAgbGlzdCBnZW9tZXRyeSBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxkaXNwbz4gLi4uXSAgc2FjYSB1bmEgbGlzdGEgY29uIGxhIGdlb21ldHLDrWEgZGUgdG9kb3MgbG9zIGRpc3Bvc2l0aXZvcyBvIGRlIGxvcyBzZWxlY2Npb25hZG9zXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNworbXNnaWQgIiAtbCwgLS1saXN0IFs8ZGV2PiAuLi5dICAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAtbCwgLS1saXN0IFs8ZGlzcG8+IC4uLl0gICAgICAgICAgbXVlc3RyYSBsYXMgcGFydGljaW9uZXMgZGUgY2FkYSBkaXNwb3NpdGl2b1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTgKK21zZ2lkICIgLUYsIC0tbGlzdC1mcmVlIFs8ZGV2PiAuLi5dICAgICAgIGxpc3QgdW5wYXJ0aXRpb25lZCBmcmVlIGFyZWFzIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAtRiwgLS1saXN0LWZyZWUgWzxkaXNwbz4gLi4uXSAgICAgZW51bWVyYSBsYXMgem9uYXMgbm8gcGFydGljaW9uYWRhcyBkZSBjYWRhIGRpc3Bvc2l0aXZvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxOQorbXNnaWQgIiAtciwgLS1yZW9yZGVyIDxkZXY+ICAgICAgICAgICAgICAgZml4IHBhcnRpdGlvbnMgb3JkZXIgKGJ5IHN0YXJ0IG9mZnNldClcbiIKK21zZ3N0ciAiIC1yLCAtLXJlb3JkZXIgPGRpc3A+ICAgICAgICAgICAgICBjb3JyaWdlIGVsIG9yZGVuIGRlIGxhcyBwYXJ0aWNpb25lcyAoc2Vnw7puIGRlc3BsYXphbWllbnRvIGRlbCBjb21pZW56bylcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIwCittc2dpZCAiIC1zLCAtLXNob3ctc2l6ZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHNpemVzIG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLXMsIC0tc2hvdy1zaXplIFs8ZGlzcG8+IC4uLl0gICAgIHNhY2EgdW5hIGxpc3RhIGNvbiBsb3MgdGFtYcOxb3MgZGUgdG9kb3MgbG9zIGRpc3Bvc2l0aXZvcyBvIGRlIGxvcyBzZWxlY2Npb25hZG9zXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMQorbXNnaWQgIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJlY29nbml6ZWQgdHlwZXMgKHNlZSAtWClcbiIKK21zZ3N0ciAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgICAgICAgICBpbXByaW1lIGxvcyB0aXBvcyByZWNvbm9jaWRvcyAodsOpYXNlIC1YKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjIKK21zZ2lkICIgLVYsIC0tdmVyaWZ5IFs8ZGV2PiAuLi5dICAgICAgICAgIHRlc3Qgd2hldGhlciBwYXJ0aXRpb25zIHNlZW0gY29ycmVjdFxuIgorbXNnc3RyICIgLVYsIC0tdmVyaWZ5IFs8ZGlzcG8+IC4uLl0gICAgICAgIGNvbXBydWViYSBxdWUgbGFzIHBhcnRpY2lvbmVzIHBhcmV6Y2FuIGNvcnJlY3Rhc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjMKK21zZ2lkICIgICAgIC0tZGVsZXRlIDxkZXY+IFs8cGFydD4gLi4uXSAgIGRlbGV0ZSBhbGwgb3Igc3BlY2lmaWVkIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiICAgICAtLWRlbGV0ZSA8ZGlzcD4gWzxwYXJ0PiAuLi5dICBib3JyYSB0b2RhcyBsYXMgcGFydGljaW9uZXMgbyBsYXMgcXVlIHNlIGVzcGVjaWZpcXVlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNgorbXNnaWQgIiAtLXBhcnQtbGFiZWwgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBsYWJlbFxuIgorbXNnc3RyICIgLS1wYXJ0LWxhYmVsIDxkaXNwbz4gPHBhcnQ+IFs8dGV4dG8+XSBpbXByaW1lIG8gbW9kaWZpY2EgbGEgZXRpcXVldGEgZGUgbGEgcGFydGljacOzblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjcKK21zZ2lkICIgLS1wYXJ0LXR5cGUgPGRldj4gPHBhcnQ+IFs8dHlwZT5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdHlwZVxuIgorbXNnc3RyICIgLS1wYXJ0LXR5cGUgPGRpc3BvPiA8cGFydD4gWzx0aXBvPl0gaW1wcmltZSBvIG1vZGlmaWNhIGVsIHRpcG8gZGUgbGEgcGFydGljacOzblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjgKK21zZ2lkICIgLS1wYXJ0LXV1aWQgPGRldj4gPHBhcnQ+IFs8dXVpZD5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdXVpZFxuIgorbXNnc3RyICIgLS1wYXJ0LXV1aWQgPGRpc3BvPiA8cGFydD4gWzx1dWlkPl0gaW1wcmltZSBvIG1vZGlmaWNhIGVsIHV1aWQgZGUgbGEgcGFydGljacOzblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjkKK21zZ2lkICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gYXR0cmlidXRlc1xuIgorbXNnc3RyICIgLS1wYXJ0LWF0dHJzIDxkaXNwbz4gPHBhcnQ+IFs8dGV4dG8+XSBpbXByaW1lIG8gbW9kaWZpY2EgbG9zIGF0cmlidXRvcyBkZSBsYSBwYXJ0aWNpw7NuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzMgorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgIGRldmljZSAodXN1YWxseSBkaXNrKSBwYXRoXG4iCittc2dzdHIgIiA8ZGlzcG8+ICAgICAgICAgICAgICAgICAgIHJ1dGEgZGVsIGRpc3Bvc2l0aXZvIChub3JtYWxtZW50ZSB1biBkaXNjbylcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODMzCittc2dpZCAiIDxwYXJ0PiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgPHBhcnQ+ICAgICAgICAgICAgICAgICAgICBuw7ptZXJvIGRlIGxhIHBhcnRpY2nDs25cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM0Cittc2dpZCAiIDx0eXBlPiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIHR5cGUsIEdVSUQgZm9yIEdQVCwgaGV4IGZvciBNQlJcbiIKK21zZ3N0ciAiIDx0aXBvPiAgICAgICAgICAgICAgICAgICAgdGlwbyBkZSBsYSBwYXJ0aWNpw7NuLCBHVUlEIG8gR1BULCBoZXhhZGVjaW1hbCBwYXJhIGVsIHJlZ2lzdHJvIGRlIGFycmFucXVlIHByaW5jaXBhbCAoTUJSKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzcKK21zZ2lkICIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICBhcHBlbmQgcGFydGl0aW9ucyB0byBleGlzdGluZyBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgYcOxYWRlIChsYXMpIHBhcnRpY2lvbmVzIGEgbGEgdGFibGEgZGUgcGFydGljaW9uZXMgZXhpc3RlbnRlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzOAorbXNnaWQgIiAtYiwgLS1iYWNrdXAgICAgICAgICAgICAgIGJhY2t1cCBwYXJ0aXRpb24gdGFibGUgc2VjdG9ycyAoc2VlIC1PKVxuIgorbXNnc3RyICIgLWIsIC0tYmFja3VwICAgICAgICAgICAgICBoYWNlIGNvcGlhIGRlIHJlc3BhbGRvIGRlIGxvcyBzZWN0b3JlcyBkZSBsYSB0YWJsYSBkZSBwYXJ0aWNpb25lcyAodsOpYXNlIC1PKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tYnR5ZXMgICAgICAgICAgbXVlc3RyYSBlbCBUQU1Bw5FPIGVuIGJ5dGVzIGVuIGx1Z2FyIGRlIGhhY2VybG8gZW4gZm9ybWF0byBsZWdpYmxlIHBhcmEgaHVtYW5vc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDAKK21zZ2lkICIgICAgIC0tbW92ZS1kYXRhWz08dHlwZXNjcmlwdD5dIG1vdmUgcGFydGl0aW9uIGRhdGEgYWZ0ZXIgcmVsb2NhdGlvbiAocmVxdWlyZXMgLU4pXG4iCittc2dzdHIgIiAgICAgLS1tb3ZlLWRhdGFbPTx0cmFuc2NyaXBjPl0gbXVldmUgbG9zIGRhdG9zIGRlIGxhIHBhcnRpY2nDs24gZGVzcHXDqXMgZGUgbGEgcmVjb2xvY2FjacOzbiAocmVxdWllcmUgLU4pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MQorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGNvbnNpc3RlbmN5IGNoZWNraW5nXG4iCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGRlc2FjdGl2YSB0b2RhcyBsYXMgY29tcHJvYmFjaW9uZXMgZGUgY29uc2lzdGVuY2lhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MgorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgICAgIC0tY29sb3JbPTxjdcOhbmRvPl0gICAgY29sb3JlYSBsYSBzYWxpZGEgKMKrYXV0b8K7LCDCq2Fsd2F5c8K7IChzaWVtcHJlKSBvIMKrbmV2ZXLCuyAobnVuY2EpKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDUKK21zZ2lkICIgLU4sIC0tcGFydG5vIDxudW0+ICAgICAgICBzcGVjaWZ5IHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiIC1OLCAtLXBhcnRubyA8bsO6bWVybz4gICAgIGVzcGVjaWZpY2EgZWwgbsO6bWVybyBkZSBsYSBwYXJ0aWNpw7NuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NgorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHdyaXRlIHRvIGRldmljZVxuIgorbXNnc3RyICIgLW4sIC0tbm8tYWN0ICAgICAgICAgICAgICBoYWNlIHRvZG8gZXhjZXB0byBlc2NyaWJpciBlbiBlbCBkaXNwb3NpdGl2b1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDcKK21zZ2lkICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIGlzIGluIHVzZVxuIgorbXNnc3RyICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBubyBjb21wcnVlYmEgc2kgZWwgZGlzcG9zaXRpdm8gZXN0w6EgZW4gdXNvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OAorbXNnaWQgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIGRvIG5vdCB0ZWxsIGtlcm5lbCBhYm91dCBjaGFuZ2VzXG4iCittc2dzdHIgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIG5vIGluZm9ybWFyIGRlIGNhbWJpb3MgYWwgbsO6Y2xlb1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDkKK21zZ2lkICIgLU8sIC0tYmFja3VwLWZpbGUgPHBhdGg+ICBvdmVycmlkZSBkZWZhdWx0IGJhY2t1cCBmaWxlIG5hbWVcbiIKK21zZ3N0ciAiIC1PLCAtLWJhY2t1cC1maWxlIDxydXRhPiAgYW51bGEgZWwgbm9tYnJlIGRlbCBmaWNoZXJvIGRlIHJlc3BhbGRvIHByZWRldGVybWluYWRvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MAorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RhPiAgICAgIGNvbHVtbmFzIHF1ZSBtb3N0cmFyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIGV4dHJhIGluZm8gbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcmltZSBsb3MgbWVuc2FqZXMgZGUgaW5mb3JtYWNpw7NuIHN1cGxlbWVudGFyaW9zXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MgorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLXcsIC0td2lwZSA8bW9kbz4gICAgICAgICBib3JyYSBsYXMgZmlybWFzIChhdXRvLCBzaWVtcHJlIG8gbnVuY2EpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NAorbXNnaWQgIiAtWCwgLS1sYWJlbCA8bmFtZT4gICAgICAgIHNwZWNpZnkgbGFiZWwgdHlwZSAoZG9zLCBncHQsIC4uLilcbiIKK21zZ3N0ciAiIC1YLCAtLWxhYmVsIDxub21icmU+ICAgICAgZXNwZWNpZmljYSBlbCB0aXBvIGRlIGV0aXF1ZXRhIChkb3MsIGdwdCwgLi4uKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTUKK21zZ2lkICIgLVksIC0tbGFiZWwtbmVzdGVkIDxuYW1lPiBzcGVjaWZ5IG5lc3RlZCBsYWJlbCB0eXBlIChkb3MsIGJzZClcbiIKK21zZ3N0ciAiIC1ZLCAtLWxhYmVsLW5lc3RlZCA8bm9tYnJlPiBlc3BlY2lmaWNhIGVsIHRpcG8gZGUgZXRpcXVldGEgYW5pZGFkYSAoZG9zLCBic2QpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NworbXNnaWQgIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIGRlcHJlY2F0ZWQsIGFsaWFzIHRvIC0tc2hvdy1nZW9tZXRyeVxuIgorbXNnc3RyICIgLUcgIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBvYnNvbGV0YSwgYWxpYXMgZGUgLS1zaG93LWdlb21ldHJ5XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OAorbXNnaWQgIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiIKK21zZ3N0ciAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgb2Jzb2xldGEsIHNvbG8gcG9yIGNvbXBhdGliaWxpZGFkIGhhY2lhIGF0csOhc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTkKK21zZ2lkICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IHNlY3RvciB1bml0IGlzIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBvYnNvbGV0YSwgc29sbyBzZSBhZG1pdGUgdW5pZGFkIGVuIHNlY3RvcmVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MyBsb2dpbi11dGlscy9jaGZuLmM6MTAyIGxvZ2luLXV0aWxzL2Noc2guYzo3OQorbXNnaWQgIiAtdiwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgLXYsIC0tdmVyc2lvbiAgbXVlc3RyYSBpbmZvcm1hY2nDs24gZGUgdmVyc2nDs24geSBzYWxlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiJXMgZXN0w6Egb2Jzb2xldGEgZW4gZmF2b3IgZGUgLS1wYXJ0LXR5cGUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk3MworbXNnaWQgIi0taWQgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIi0taWQgZXN0w6Egb2Jzb2xldGEgZW4gZmF2b3IgZGUgLS1wYXJ0LXR5cGUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk4OQorbXNnaWQgIi0tc2hvdy1wdC1nZW9tZXRyeSBpcyBubyBtb3JlIGltcGxlbWVudGVkLiBVc2luZyAtLXNob3ctZ2VvbWV0cnkuIgorbXNnc3RyICItLXNob3ctcHQtZ2VvbWV0cnkgeWEgbm8gZXN0w6EgaW1wbGVtZW50YWRhLiBTZSB1c2EgLS1zaG93LWdlb21ldHJ5LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDAwCittc2dpZCAiLS1MaW51eCBvcHRpb24gaXMgdW5uZWNlc3NhcnkgYW5kIGRlcHJlY2F0ZWQiCittc2dzdHIgIkxhIG9wY2nDs24gLS1MaW51eCBlcyBpbm5lY2VzYXJpYSB5IG9ic29sZXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgdW5pdCAnJWMnIgorbXNnc3RyICJ1bmlkYWQgbm8gYWRtaXRpZGEgJyVjJyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDMyIGluY2x1ZGUvYy5oOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzXG4iCittc2dzdHIgIiVzIGRlICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjEwOQorbXNnaWQgIi0tbW92ZWRhdGEgcmVxdWlyZXMgLU4iCittc2dzdHIgIi0tbW92ZWRhdGEgcmVxdWllcmUgLU4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIFVVSUQ6ICVzIgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBVVUlEOiAlcyIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBVVUlEIgorbXNnc3RyICIlczogZmFsbG8gYWwgYnVzY2FyIGVsIFVVSUQgZGUgaW50ZXJjYW1iaW8iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBVVUlEIgorbXNnc3RyICIlczogZmFsbG8gYWwgZXNjcmliaXIgVVVJRCIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBsYWJlbCAiCittc2dzdHIgIiVzOiBmYWxsbyBhbCBidXNjYXIgbGEgZXRpcXVldGEgZGUgaW50ZXJjYW1iaW8gIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgImxhYmVsIGlzIHRvbyBsb25nLiBUcnVuY2F0aW5nIGl0IHRvICclcyciCittc2dzdHIgImxhIGV0aXF1ZXRhIGVzIGRlbWFzaWFkbyBsYXJnYS4gU2UgdHJ1bmNhIGEgJyVzJyIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIGxhYmVsIgorbXNnc3RyICIlczogZmFsbG8gYWwgZXNjcmliaXIgbGEgZXRpcXVldGEiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTIxCittc2dpZCAiRGlzcGxheSBvciBjaGFuZ2UgdGhlIGxhYmVsIG9yIFVVSUQgb2YgYSBzd2FwIGFyZWEuXG4iCittc2dzdHIgIk11ZXN0cmEgbyBtb2RpZmljYSBsYSBldGlxdWV0YSBvIGVsIFVVSUQgZGUgdW5hIHpvbmEgZGUgaW50ZXJjYW1iaW8uXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTI0Cittc2dpZCAiIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+IHNwZWNpZnkgYSBuZXcgbGFiZWxcbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICBzcGVjaWZ5IGEgbmV3IHV1aWRcbiIKK21zZ3N0ciAiIgorIiAtTCwgLS1sYWJlbCA8ZXRpcXVldGE+IGVzcGVjaWZpY2EgdW5hIG51ZXZhIGV0aXF1ZXRhXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgZXNwZWNpZmljYSB1biBudWV2byB1dWlkXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTY3Cittc2dpZCAiaWdub3JlIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQpIgorbXNnc3RyICJpZ25vcmEgLVUgKGxvcyBVVUlEcyBubyBmdW5jaW9uYW4pIgorCisjOiBpbmNsdWRlL2MuaDoyOTkKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJNb2RvIGRlIGVtcGxlbzpcbiIKKworIzogaW5jbHVkZS9jLmg6MzAwCittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcGNpb25lczpcbiIKKworIzogaW5jbHVkZS9jLmg6MzAyCittc2dpZCAiIC1oLCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAtaCwgLS1oZWxwICAgICBtdWVzdHJhIGVzdGEgYXl1ZGEgeSBzYWxlXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwMworbXNnaWQgIiAtViwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgbXVlc3RyYSBpbmZvcm1hY2nDs24gZGUgdmVyc2nDs24geSBzYWxlXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRm9yIG1vcmUgZGV0YWlscyBzZWUgJXMuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQYXJhIG3DoXMgZGV0YWxsZXMgdsOpYXNlICVzLlxuIgorCisjOiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDYgaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzMKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTIgc3lzLXV0aWxzL3J0Y3dha2UuYzoyODAgdGVybS11dGlscy9zZXR0ZXJtLmM6ODA1CisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE1NworbXNnaWQgIndyaXRlIGVycm9yIgorbXNnc3RyICJlcnJvciBkZSBlc2NyaXR1cmEiCisKKyM6IGluY2x1ZGUvY29sb3JzLmg6MjcKK21zZ2lkICJjb2xvcnMgYXJlIGVuYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAibG9zIGNvbG9yZXMgZXN0w6FuIGFjdGl2YWRvcyBwb3Igb21pc2nDs24iCisKKyM6IGluY2x1ZGUvY29sb3JzLmg6MjkKK21zZ2lkICJjb2xvcnMgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgImxvcyBjb2xvcmVzIGVzdMOhbiBkZXNhY3RpdmFkb3MgcG9yIG9taXNpw7NuIgorCisjOiBpbmNsdWRlL2Vudi5oOjE4IGxpYi9wYWdlci5jOjE1MSBsb2dpbi11dGlscy9sb2dpbi5jOjEwNTIKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTA1NiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MjkKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTE2MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyBlbnZpcm9ubWVudCB2YXJpYWJsZSIKK21zZ3N0ciAiZXJyb3IgYWwgZXN0YWJsZWNlciBsYSB2YXJpYWJsZSBkZSBlbnRvcm5vICVzIgorCisjOiBpbmNsdWRlL29wdHV0aWxzLmg6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZXNlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZToiCittc2dzdHIgIiVzOiBlc3RhcyBvcGNpb25lcyBzb24gbXV0dWFtZW50ZSBleGNsdXllbnRlczoiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEKK21zZ2lkICJFbXB0eSIKK21zZ3N0ciAiVmFjw61hIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyCittc2dpZCAiRkFUMTIiCittc2dzdHIgIkZBVDEyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozCittc2dpZCAiWEVOSVggcm9vdCIKK21zZ3N0ciAiWEVOSVggcm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NAorbXNnaWQgIlhFTklYIHVzciIKK21zZ3N0ciAiWEVOSVggdXNyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1Cittc2dpZCAiRkFUMTYgPDMyTSIKK21zZ3N0ciAiRkFUMTYgPDMyTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NgorbXNnaWQgIkV4dGVuZGVkIgorbXNnc3RyICJFeHRlbmRpZGEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcKK21zZ2lkICJGQVQxNiIKK21zZ3N0ciAiRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgKK21zZ2lkICJIUEZTL05URlMvZXhGQVQiCittc2dzdHIgIkhQRlMvTlRGUy9leEZBVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OQorbXNnaWQgIkFJWCIKK21zZ3N0ciAiQUlYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMAorbXNnaWQgIkFJWCBib290YWJsZSIKK21zZ3N0ciAiQUlYIGFycmFuY2FibGUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjExCittc2dpZCAiT1MvMiBCb290IE1hbmFnZXIiCittc2dzdHIgIkdlc3RvciBkZSBhcnJhbnF1ZSBkZSBPUy8yIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMgorbXNnaWQgIlc5NSBGQVQzMiIKK21zZ3N0ciAiVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMworbXNnaWQgIlc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNAorbXNnaWQgIlc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNQorbXNnaWQgIlc5NSBFeHQnZCAoTEJBKSIKK21zZ3N0ciAiVzk1IEV4dCdkIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNgorbXNnaWQgIk9QVVMiCittc2dzdHIgIk9QVVMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE3Cittc2dpZCAiSGlkZGVuIEZBVDEyIgorbXNnc3RyICJGQVQxMiBvY3VsdGEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE4Cittc2dpZCAiQ29tcGFxIGRpYWdub3N0aWNzIgorbXNnc3RyICJDb21wYXEgZGlhZ25vc3RpY3MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE5Cittc2dpZCAiSGlkZGVuIEZBVDE2IDwzMk0iCittc2dzdHIgIkZBVDE2IG9jdWx0YSA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMAorbXNnaWQgIkhpZGRlbiBGQVQxNiIKK21zZ3N0ciAiRkFUMTYgb2N1bHRhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMQorbXNnaWQgIkhpZGRlbiBIUEZTL05URlMiCittc2dzdHIgIkhQRlMvTlRGUyBvY3VsdGEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIyCittc2dpZCAiQVNUIFNtYXJ0U2xlZXAiCittc2dzdHIgIlNtYXJ0U2xlZXAgZGUgQVNUIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMworbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIiCittc2dzdHIgIkZBVDMyIGRlIFc5NSBvY3VsdGEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI0Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiRkFUMzIgZGUgVzk1IChMQkEpIG9jdWx0YSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjUKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICJGQVQxNiBkZSBXOTUgKExCQSkgb2N1bHRhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNgorbXNnaWQgIk5FQyBET1MiCittc2dzdHIgIkRPUyBkZSBORUMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI3Cittc2dpZCAiSGlkZGVuIE5URlMgV2luUkUiCittc2dzdHIgIk5URlMgZGUgV2luUkUgb2N1bHRhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOAorbXNnaWQgIlBsYW4gOSIKK21zZ3N0ciAiUGxhbiA5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOQorbXNnaWQgIlBhcnRpdGlvbk1hZ2ljIHJlY292ZXJ5IgorbXNnc3RyICJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzAKK21zZ2lkICJWZW5peCA4MDI4NiIKK21zZ3N0ciAiVmVuaXggODAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMxCittc2dpZCAiUFBDIFBSZVAgQm9vdCIKK21zZ3N0ciAiUFBDIFBSZVAgQm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzIKK21zZ2lkICJTRlMiCittc2dzdHIgIlNGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzMKK21zZ2lkICJRTlg0LngiCittc2dzdHIgIlFOWDQueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzQKK21zZ2lkICJRTlg0LnggMm5kIHBhcnQiCittc2dzdHIgIlFOWDQueCBzZWd1bmRhIHBhcnRlIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNQorbXNnaWQgIlFOWDQueCAzcmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IHRlcmNlcmEgcGFydGUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM2Cittc2dpZCAiT25UcmFjayBETSIKK21zZ3N0ciAiT25UcmFjayBETSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzcKK21zZ2lkICJPblRyYWNrIERNNiBBdXgxIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgxIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOAorbXNnaWQgIkNQL00iCittc2dzdHIgIkNQL00iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM5Cittc2dpZCAiT25UcmFjayBETTYgQXV4MyIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDAKK21zZ2lkICJPblRyYWNrRE02IgorbXNnc3RyICJPblRyYWNrRE02IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MQorbXNnaWQgIkVaLURyaXZlIgorbXNnc3RyICJFWi1Ecml2ZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDIKK21zZ2lkICJHb2xkZW4gQm93IgorbXNnc3RyICJHb2xkZW4gQm93IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MworbXNnaWQgIlByaWFtIEVkaXNrIgorbXNnc3RyICJQcmlhbSBFZGlzayIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDQgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTEKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk5Cittc2dpZCAiU3BlZWRTdG9yIgorbXNnc3RyICJTcGVlZFN0b3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ1Cittc2dpZCAiR05VIEhVUkQgb3IgU3lzViIKK21zZ3N0ciAiR05VIEhVUkQgbyBTeXNWIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NgorbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDI4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NworbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDM4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMzg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OAorbXNnaWQgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKK21zZ3N0ciAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OQorbXNnaWQgIlBDL0lYIgorbXNnc3RyICJQQy9JWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTAKK21zZ2lkICJPbGQgTWluaXgiCittc2dzdHIgIk1pbml4IGFudGlndW8iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUxCittc2dpZCAiTWluaXggLyBvbGQgTGludXgiCittc2dzdHIgIk1pbml4IC8gTGludXggYW50aWd1byIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTIKK21zZ2lkICJMaW51eCBzd2FwIC8gU29sYXJpcyIKK21zZ3N0ciAiTGludXggc3dhcCAvIFNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUzCittc2dpZCAiTGludXgiCittc2dzdHIgIkxpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NAorbXNnaWQgIk9TLzIgaGlkZGVuIG9yIEludGVsIGhpYmVybmF0aW9uIgorbXNnc3RyICJPUy8yIG9jdWx0byBvIGhpYmVybmFjacOzbiBJbnRlbCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTcKK21zZ2lkICJMaW51eCBleHRlbmRlZCIKK21zZ3N0ciAiTGludXggZXh0ZW5kaWRhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OQorbXNnaWQgIk5URlMgdm9sdW1lIHNldCIKK21zZ3N0ciAiQ29uanVudG8gZGUgdm9sw7ptZW5lcyBOVEZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MAorbXNnaWQgIkxpbnV4IHBsYWludGV4dCIKK21zZ3N0ciAiTGludXggcGxhaW50ZXh0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjA1IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MworIzogbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggTFZNIgorbXNnc3RyICJMaW51eCBMVk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYyCittc2dpZCAiQW1vZWJhIgorbXNnc3RyICJBbW9lYmEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYzCittc2dpZCAiQW1vZWJhIEJCVCIKK21zZ3N0ciAiQW1vZWJhIEJCVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjQKK21zZ2lkICJCU0QvT1MiCittc2dzdHIgIkJTRC9PUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjUKK21zZ2lkICJJQk0gVGhpbmtwYWQgaGliZXJuYXRpb24iCittc2dzdHIgIkhpYmVybmFjacOzbiBkZSBJQk0gVGhpbmtwYWQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY2Cittc2dpZCAiRnJlZUJTRCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjcKK21zZ2lkICJPcGVuQlNEIgorbXNnc3RyICJPcGVuQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OAorbXNnaWQgIk5lWFRTVEVQIgorbXNnc3RyICJOZVhUU1RFUCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjkKK21zZ2lkICJEYXJ3aW4gVUZTIgorbXNnc3RyICJVRlMgZGUgRGFyd2luIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MAorbXNnaWQgIk5ldEJTRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MQorbXNnaWQgIkRhcndpbiBib290IgorbXNnc3RyICJhcnJhbnF1ZSBkZSBEYXJ3aW4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcyCittc2dpZCAiSEZTIC8gSEZTKyIKK21zZ3N0ciAiSEZTIC8gSEZTKyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzMKK21zZ2lkICJCU0RJIGZzIgorbXNnc3RyICJCU0RJIGZzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NAorbXNnaWQgIkJTREkgc3dhcCIKK21zZ3N0ciAiQlNESSBzd2FwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NQorbXNnaWQgIkJvb3QgV2l6YXJkIGhpZGRlbiIKK21zZ3N0ciAiQm9vdCBXaXphcmQgaGlkZGVuIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NgorbXNnaWQgIkFjcm9uaXMgRkFUMzIgTEJBIgorbXNnc3RyICJBY3JvbmlzIEZBVDMyIExCQSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzcgbGliZmRpc2svc3JjL2dwdC5jOjIzMAorbXNnaWQgIlNvbGFyaXMgYm9vdCIKK21zZ3N0ciAiYXJyYW5xdWUgZGUgU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzgKK21zZ2lkICJTb2xhcmlzIgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTEyKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MAorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2KSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTYpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MgorbXNnaWQgIlN5cmlueCIKK21zZ3N0ciAiU3lyaW54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MworbXNnaWQgIk5vbi1GUyBkYXRhIgorbXNnc3RyICJEYXRvcyBzaW4gU0YiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg0Cittc2dpZCAiQ1AvTSAvIENUT1MgLyAuLi4iCittc2dzdHIgIkNQL00gLyBDVE9TIC8gLi4uIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NgorbXNnaWQgIkRlbGwgVXRpbGl0eSIKK21zZ3N0ciAiVXRpbGlkYWQgRGVsbCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODcKK21zZ2lkICJCb290SXQiCittc2dzdHIgIkJvb3RJdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODgKK21zZ2lkICJET1MgYWNjZXNzIgorbXNnc3RyICJET1MgYWNjZXNzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MAorbXNnaWQgIkRPUyBSL08iCittc2dzdHIgIkRPUyBSL08iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkzCittc2dpZCAiUnVmdXMgYWxpZ25tZW50IgorbXNnc3RyICJhbGluZWFtaWVudG8gUnVmdXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk0Cittc2dpZCAiQmVPUyBmcyIKK21zZ3N0ciAiQmVPUyBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTYKK21zZ2lkICJFRkkgKEZBVC0xMi8xNi8zMikiCittc2dzdHIgIkVGSSAoRkFULTEyLzE2LzMyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTcKK21zZ2lkICJMaW51eC9QQS1SSVNDIGJvb3QiCittc2dzdHIgImluaWNpbyBMaW51eC9QQS1SSVNDIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDAKK21zZ2lkICJET1Mgc2Vjb25kYXJ5IgorbXNnc3RyICJET1Mgc2Vjb25kYXJ5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDEKK21zZ2lkICJWTXdhcmUgVk1GUyIKK21zZ3N0ciAiVk1GUyBkZSBWTXdhcmUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMgorbXNnaWQgIlZNd2FyZSBWTUtDT1JFIgorbXNnc3RyICJWTUtDT1JFIGRlIFZNd2FyZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAzIGxpYmZkaXNrL3NyYy9zdW4uYzo1NQorbXNnaWQgIkxpbnV4IHJhaWQgYXV0b2RldGVjdCIKK21zZ3N0ciAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDYKK21zZ2lkICJMQU5zdGVwIgorbXNnc3RyICJMQU5zdGVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDcKK21zZ2lkICJCQlQiCittc2dzdHIgIkJCVCIKKworIzogbGliL2Jsa2Rldi5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlcyBpcyBtaXNhbGlnbmVkIgorbXNnc3RyICJhdGVuY2nDs246ICVzIG5vIGVzdMOhIGFsaW5lYWRvIgorCisjOiBsaWJmZGlzay9zcmMvYWxpZ25tZW50LmM6NjcyCittc2dpZCAiQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiTGxhbWFuZG8gYSBpb2N0bCgpIHBhcmEgdm9sdmVyIGEgbGVlciBsYSB0YWJsYSBkZSBwYXJ0aWNpb25lcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2ODEKK21zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLiIKK21zZ3N0ciAiRmFsbG8gYWwgbGVlciBkZSBudWV2byBsYSB0YWJsYSBkZSBwYXJ0aWNpb25lcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2ODMKK21zZ2lkICJUaGUga2VybmVsIHN0aWxsIHVzZXMgdGhlIG9sZCB0YWJsZS4gVGhlIG5ldyB0YWJsZSB3aWxsIGJlIHVzZWQgYXQgdGhlIG5leHQgcmVib290IG9yIGFmdGVyIHlvdSBydW4gcGFydHByb2JlKDgpIG9yIGtwYXJ0eCg4KS4iCittc2dzdHIgIkVsIG7DumNsZW8gdG9kYXbDrWEgdXNhIGxhIHRhYmxhIGFudGlndWEuIExhIG51ZXZhIHRhYmxhIHNlIHVzYXLDoSBlbiBlbCBwcsOzeGltbyByZWluaWNpbyBvIGRlc3B1w6lzIGRlIHF1ZSB1c3RlZCBlamVjdXRlIHBhcnRwcm9iZSg4KSBvIGtwYXJ0eCg4KS4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0NzIgbGliZmRpc2svc3JjL2Fzay5jOjQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3RlZCBwYXJ0aXRpb24gJWp1IgorbXNnc3RyICJTZSBoYSBzZWxlY2Npb25hZG8gbGEgcGFydGljacOzbiAlanUiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0NzUKK21zZ2lkICJObyBwYXJ0aXRpb24gaXMgZGVmaW5lZCB5ZXQhIgorbXNnc3RyICLCoU5vIGhheSBuaW5ndW5hIHBhcnRpY2nDs24gZGVmaW5pZGEhIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDg3Cittc2dpZCAiTm8gZnJlZSBwYXJ0aXRpb24gYXZhaWxhYmxlISIKK21zZ3N0ciAiwqFObyBoYXkgZGlzcG9uaWJsZSBuaW5ndW5hIHBhcnRpY2nDs24gbGlicmUhIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDk3Cittc2dpZCAiUGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiTsO6bWVybyBkZSBwYXJ0aWNpw7NuIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6OTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgcGFydGl0aW9uICVkIG9mIHR5cGUgJyVzJyBhbmQgb2Ygc2l6ZSAlcy4iCittc2dzdHIgIkNyZWEgdW5hIG51ZXZhIHBhcnRpY2nDs24gJWQgZGUgdGlwbyAnJXMnIHkgZGUgdGFtYcOxbyAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICJMYSBwYXJ0aWNpw7NuICV6ZDogdGllbmUgdW4gc2VjdG9yIDAgZGUgaW5pY2lvIG5vIHbDoWxpZG8uIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZXJlIGlzIG5vICpCU0QgcGFydGl0aW9uIG9uICVzLiIKK21zZ3N0ciAiTm8gaGF5IG5pbmd1bmEgcGFydGljacOzbiAqQlNEIGVuICVzLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI1OSBsaWJmZGlzay9zcmMvZG9zLmM6OTMzCittc2dpZCAiRmlyc3QgY3lsaW5kZXIiCittc2dzdHIgIlByaW1lciBjaWxpbmRybyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5MiBsaWJmZGlzay9zcmMvZG9zLmM6MTE2MQorbXNnaWQgIkxhc3QgY3lsaW5kZXIsICtjeWxpbmRlcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiw5psdGltbyBjaWxpbmRybywgK2NpbGluZHJvcyBvICt0YW1hw7Fve0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTcgbGliZmRpc2svc3JjL2Rvcy5jOjExNjYgbGliZmRpc2svc3JjL2dwdC5jOjIyNTUKK21zZ2lkICJMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiw5psdGltbyBzZWN0b3IsICtzZWN0b3JlcyBvICt0YW1hw7Fve0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRldmljZSAlcyBkb2VzIG5vdCBjb250YWluIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICJFbCBkaXNwb3NpdGl2byAlcyBubyBjb250aWVuZSBuaW5ndW5hIGV0aXF1ZXRhIGRlIGRpc2NvIEJTRC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODMKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBjcmVhdGUgYSBCU0QgZGlza2xhYmVsPyIKK21zZ3N0ciAiwr9EZXNlYSBjcmVhciB1bmEgZXRpcXVldGEgZGUgZGlzY28gQlNEPyAoeS9uKSAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NDkKK21zZ2lkICJEaXNrIgorbXNnc3RyICJEaXNjbyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ1NgorbXNnaWQgIlBhY2tuYW1lIgorbXNnc3RyICJOb21icmUgZGUgcGFxdWV0ZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MyBsaWJmZGlzay9zcmMvc3VuLmM6MTExNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICJJbmRpY2Fkb3JlcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NgorbXNnaWQgIiByZW1vdmFibGUiCittc2dzdHIgIiByZW1vdmFibGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjcKK21zZ2lkICIgZWNjIgorbXNnc3RyICIgZWNjIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY4Cittc2dpZCAiIGJhZHNlY3QiCittc2dzdHIgIiBiYWRzZWN0IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDc2Cittc2dpZCAiQnl0ZXMvU2VjdG9yIgorbXNnc3RyICJCeXRlcy9zZWN0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODEKK21zZ2lkICJUcmFja3MvQ3lsaW5kZXIiCittc2dzdHIgIlBpc3Rhcy9jaWxpbmRybyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4NgorbXNnaWQgIlNlY3RvcnMvQ3lsaW5kZXIiCittc2dzdHIgIlNlY3RvcmVzL2NpbGluZHJvIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDkxIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE4IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAzCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NyBsaWJmZGlzay9zcmMvc3VuLmM6MTk2IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTEzCittc2dpZCAiQ3lsaW5kZXJzIgorbXNnc3RyICJDaWxpbmRyb3MiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTYgbGliZmRpc2svc3JjL3N1bi5jOjc2MAorbXNnaWQgIlJwbSIKK21zZ3N0ciAiUi5wLm0uIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTAxIGxpYmZkaXNrL3NyYy9zZ2kuYzoyOTIgbGliZmRpc2svc3JjL3N1bi5jOjc4MAorbXNnaWQgIkludGVybGVhdmUiCittc2dzdHIgIkludGVybGVhdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDYKK21zZ2lkICJUcmFja3NrZXciCittc2dzdHIgIlRyYWNrc2tldyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxMQorbXNnaWQgIkN5bGluZGVyc2tldyIKK21zZ3N0ciAiQ3lsaW5kZXJza2V3IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTE2Cittc2dpZCAiSGVhZHN3aXRjaCIKK21zZ3N0ciAiSGVhZHN3aXRjaCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUyMQorbXNnaWQgIlRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgIkLDunNxdWVkYSBwaXN0YSBhIHBpc3RhIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjExCittc2dpZCAiYnl0ZXMvc2VjdG9yIgorbXNnc3RyICJieXRlcy9zZWN0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTQKK21zZ2lkICJzZWN0b3JzL3RyYWNrIgorbXNnc3RyICJzZWN0b3Jlcy9waXN0YSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNQorbXNnaWQgInRyYWNrcy9jeWxpbmRlciIKK21zZ3N0ciAicGlzdGFzL2NpbGluZHJvIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE2Cittc2dpZCAiY3lsaW5kZXJzIgorbXNnc3RyICJjaWxpbmRyb3MiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjAKK21zZ2lkICJzZWN0b3JzL2N5bGluZGVyIgorbXNnc3RyICJzZWN0b3Jlcy9jaWxpbmRybyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMworbXNnaWQgInJwbSIKK21zZ3N0ciAici5wLm0uIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI0Cittc2dpZCAiaW50ZXJsZWF2ZSIKK21zZ3N0ciAiaW50ZXJsZWF2ZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNQorbXNnaWQgInRyYWNrc2tldyIKK21zZ3N0ciAidHJhY2tza2V3IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI2Cittc2dpZCAiY3lsaW5kZXJza2V3IgorbXNnc3RyICJjeWxpbmRlcnNrZXciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjgKK21zZ2lkICJoZWFkc3dpdGNoIgorbXNnc3RyICJoZWFkc3dpdGNoIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI5Cittc2dpZCAidHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAiYsO6c3F1ZWRhIHBpc3RhIGEgcGlzdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RzdHJhcCBmaWxlICVzIHN1Y2Nlc3NmdWxseSBsb2FkZWQuIgorbXNnc3RyICJFbCBmaWNoZXJvIGNvbiBsYSBzZWN1ZW5jaWEgZGUgaW5pY2lvICVzIHNlIGhhIGNhcmdhZG8gY29ycmVjdGFtZW50ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwOiAlMSRzYm9vdCAtPiBib290JTEkcyAoZGVmYXVsdCAlMSRzKSIKK21zZ3N0ciAiU2VjdWVuY2lhIGRlIGluaWNpbzogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKHByZWRlZmluaWRvICUxJHMpIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzA0Cittc2dpZCAiQm9vdHN0cmFwIG92ZXJsYXBzIHdpdGggZGlza2xhYmVsISIKK21zZ3N0ciAiwqFMYSBzZWN1ZW5jaWEgZGUgaW5pY2lvIHNlIHNvbGFwYSBjb24gbGEgZXRpcXVldGEgZGUgZGlzY28hIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcCBpbnN0YWxsZWQgb24gJXMuIgorbXNnc3RyICJTZWN1ZW5jaWEgZGUgaW5pY2lvIGluc3RhbGFkYSBlbiAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuICAoRG9uJ3QgZm9yZ2V0IHRvIHdyaXRlIHRoZSAlcyBkaXNrbGFiZWwgdG9vLikiCittc2dzdHIgIkV0aXF1ZXRhIGRlIGRpc2NvIGVzY3JpdGEgZW4gJXMuICAgKE5vIG9sdmlkZSBlc2NyaWJpciB0YW1iacOpbiBsYSBldGlxdWV0YSBkZSBkaXNjbyAlcy4pIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiIKK21zZ3N0ciAiU2UgaGEgZXNjcml0byBsYSBldGlxdWV0YSBkZSBkaXNjbyBlbiAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDkgbGliZmRpc2svc3JjL2NvbnRleHQuYzo2NjYKK21zZ2lkICJTeW5jaW5nIGRpc2tzLiIKK21zZ3N0ciAiU2UgZXN0w6FuIHNpbmNyb25pemFuZG8gbG9zIGRpc2Nvcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NTAKK21zZ2lkICJCU0QgbGFiZWwgaXMgbm90IG5lc3RlZCB3aXRoaW4gYSBET1MgcGFydGl0aW9uLiIKK21zZ3N0ciAiTGEgZXRpcXVldGEgQlNEIG5vIGVzdMOhIGFuaWRhZGEgZW4gdW5hIHBhcnRpY2nDs24gRE9TLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk3OAorIywgYy1mb3JtYXQKK21zZ2lkICJCU0QgcGFydGl0aW9uICclYycgbGlua2VkIHRvIERPUyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiTGEgcGFydGljacOzbiBCU0QgJyVjJyBlc3TDoSBsaWdhZGEgYSBsYSBwYXJ0aWNpw7NuIERPUyAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNAorbXNnaWQgIlNsaWNlIgorbXNnc3RyICJSb2RhamEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIxCittc2dpZCAiRnNpemUiCittc2dzdHIgIlRhbWHDsW9GIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMgorbXNnaWQgIkJzaXplIgorbXNnc3RyICJUYW1hw7FvQiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjMKK21zZ2lkICJDcGciCittc2dzdHIgIkNwZyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NlIGRldmljZSBmYWlsZWQiCittc2dzdHIgIiVzOiBlcnJvciBhbCBjZXJyYXIgZWwgZGlzcG9zaXRpdm8iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODI3Cittc2dpZCAiY3lsaW5kZXIiCittc2dpZF9wbHVyYWwgImN5bGluZGVycyIKK21zZ3N0clswXSAiY2lsaW5kcm8iCittc2dzdHJbMV0gImNpbGluZHJvcyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4MjgKK21zZ2lkICJzZWN0b3IiCittc2dpZF9wbHVyYWwgInNlY3RvcnMiCittc2dzdHJbMF0gInNlY3RvciIKK21zZ3N0clsxXSAic2VjdG9yZXMiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6MTEzMQorbXNnaWQgIkluY29tcGxldGUgZ2VvbWV0cnkgc2V0dGluZy4iCittc2dzdHIgIkNvbmZpZ3VyYWNpw7NuIGRlIGxhIGdlb21ldHLDrWEgaW5jb21wbGV0YS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTQKK21zZ2lkICJBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGhhdmUgYmVlbiBkZWZpbmVkIGFscmVhZHkuIgorbXNnc3RyICJZYSBzZSBoYW4gZGVmaW5pZG8gdG9kYXMgbGFzIHBhcnRpY2lvbmVzIHByaW1hcmlhcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZXh0ZW5kZWQgcGFydGl0aW9uIHRhYmxlIChvZmZzZXQ9JWp1KSIKK21zZ3N0ciAiTm8gc2UgaGEgcG9kaWRvIGxlZXIgbGEgdGFibGEgZGUgcGFydGljaW9uZXMgZXh0ZW5kaWRhcyAoZGVzcGxhemFtaWVudG89JWp1KSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjMyOAorbXNnaWQgIllvdSBjYW4gc2V0IGdlb21ldHJ5IGZyb20gdGhlIGV4dHJhIGZ1bmN0aW9ucyBtZW51LiIKK21zZ3N0ciAiU2UgcHVlZGUgZXN0YWJsZWNlciBsYSBnZW9tZXRyw61hIGRlc2RlIGVsIG1lbsO6IGRlIGZ1bmNpb25lcyBhZGljaW9uYWxlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMzEKK21zZ2lkICJET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIgorbXNnc3RyICJFbCBtb2RvIGRlIGNvbXBhdGliaWxpZGFkIGNvbiBET1MgZXN0w6Egb2Jzb2xldG8iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMzUKK21zZ2lkICJUaGUgZGV2aWNlIHByZXNlbnRzIGEgbG9naWNhbCBzZWN0b3Igc2l6ZSB0aGF0IGlzIHNtYWxsZXIgdGhhbiB0aGUgcGh5c2ljYWwgc2VjdG9yIHNpemUuIEFsaWduaW5nIHRvIGEgcGh5c2ljYWwgc2VjdG9yIChvciBvcHRpbWFsIEkvTykgc2l6ZSBib3VuZGFyeSBpcyByZWNvbW1lbmRlZCwgb3IgcGVyZm9ybWFuY2UgbWF5IGJlIGltcGFjdGVkLiIKK21zZ3N0ciAiRWwgZGlzcG9zaXRpdm8gcHJlc2VudGEgdW4gdGFtYcOxbyBkZSBzZWN0b3IgbMOzZ2ljbyBtZW5vciBxdWUgZWwgdGFtYcOxbyBkZSBzZWN0b3IgZsOtc2ljby4gU2UgcmVjb21pZW5kYSBhbGluZWFybG8gY29uIGVsIGzDrW1pdGUgZGVsIHRhbWHDsW8gZGVsIHNlY3RvciBmw61zaWNvIChvIEUvUyDDs3B0aW1hKSwgbyBlbCByZW5kaW1pZW50byBwdWVkZSB2ZXJzZSBhZmVjdGFkby4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDEKK21zZ2lkICJDeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4iCittc2dzdHIgIkxvcyBjaWxpbmRyb3MgY29tbyB1bmlkYWQgZGUgdmlzdWFsaXphY2nDs24gZXN0w6FuIG9ic29sZXRvcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHNpemUgb2YgdGhpcyBkaXNrIGlzICVzICglanUgYnl0ZXMpLiBET1MgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCBjYW4gbm90IGJlIHVzZWQgb24gZHJpdmVzIGZvciB2b2x1bWVzIGxhcmdlciB0aGFuICVsdSBieXRlcyBmb3IgJWx1LWJ5dGUgc2VjdG9ycy4gVXNlIEdVSUQgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCAoR1BUKS4iCittc2dzdHIgIkVsIHRhbWHDsW8gZGUgZXN0ZSBkaXNjbyBlcyAlcyAoJWp1IGJ5dGVzKS4gRWwgZm9ybWF0byBkZSBsYSB0YWJsYSBkZSBwYXJ0aWNpb25lcyBET1Mgbm8gc2UgcHVlZGUgdXRpbGl6YXIgY29uIGNvbnRyb2xhZG9yZXMgZGUgdm9sw7ptZW5lcyBtYXlvcmVzIHF1ZSAlbHUgYnl0ZXMgb2FyYSBzZWN0b3JlcyBkZSAlbHUgYnl0ZXMuIFV0aWxpY2UgZWwgZm9ybWF0byBkZSB0YWJsYSBkZSBwYXJ0aWNpb25lcyBHVUlEIChHUFQpLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjUwMworbXNnaWQgIkJhZCBvZmZzZXQgaW4gcHJpbWFyeSBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJEZXNwbGF6YW1pZW50byBpbmNvcnJlY3RvIGVuIHBhcnRpY2lvbmVzIGV4dGVuZGlkYXMgcHJpbWFyaWFzLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjUxOQorIywgYy1mb3JtYXQKK21zZ2lkICJPbWl0dGluZyBwYXJ0aXRpb25zIGFmdGVyICMlenUuIFRoZXkgd2lsbCBiZSBkZWxldGVkIGlmIHlvdSBzYXZlIHRoaXMgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiU2Ugb21pdGVuIGxhcyBwYXJ0aWNpb25lcyBkZXNwdcOpcyBkZSBsYSBuwrogJXp1LiBTZSBib3JyYXLDoW4gc2kgZ3VhcmRhIGVzdGEgdGFibGEgZGUgcGFydGljaW9uZXMuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4dHJhIGxpbmsgcG9pbnRlciBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiUHVudGVybyBkZSBlbmxhY2UgYWRpY2lvbmFsIGVuIHRhYmxhIGRlIHBhcnRpY2lvbmVzICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZGF0YSBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiTm8gc2UgdGllbmVuIGVuIGN1ZW50YSBsb3MgZGF0b3MgYWRpY2lvbmFsZXMgZGUgbGEgdGFibGEgZGUgcGFydGljaW9uZXMgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICJvbWl0dGluZyBlbXB0eSBwYXJ0aXRpb24gKCV6dSkiCittc2dzdHIgInNlIG9taXRlIHBhcnRpY2nDs24gdmFjw61hICglenUpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguIgorbXNnc3RyICJTZSBoYSBjcmVhZG8gdW5hIG51ZXZhIGV0aXF1ZXRhIGRlIGRpc2NvIERPUyBjb24gZWwgaWRlbnRpZmljYWRvciBkZSBkaXNjbyAweCUwOHguIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6Njg1Cittc2dpZCAiRW50ZXIgdGhlIG5ldyBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIkludHJvZHV6Y2EgZWwgbnVldm8gaWRlbnRpZmljYWRvciBkZSBkaXNjbyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY5MgorbXNnaWQgIkluY29ycmVjdCB2YWx1ZS4iCittc2dzdHIgIlZhbG9yIGluY29ycmVjdG8uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gMHglMDh4IHRvIDB4JTA4eC4iCittc2dzdHIgIkVsIGlkZW50aWZpY2Fkb3IgZGVsIGRpc2NvIGhhIGNhbWJpYWRvIGRlIDB4JTA4eCBhIDB4JTA4eC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZXh0ZW5kZWQgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiTm8gc2UgdGllbmUgZW4gY3VlbnRhIGxhIHBhcnRpY2nDs24gZXh0ZW5kaWRhIGFkaWNpb25hbCAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBmbGFnIDB4JTAyeCUwMnggb2YgRUJSIChmb3IgcGFydGl0aW9uICV6dSkgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIkVsIGluZGljYWRvciAweCUwMnglMDJ4IG5vIHbDoWxpZG8gZGUgRUJSIChwYXJhIGxhIHBhcnRpY2nDs24gJXp1KSBzZSBjb3JyZWdpcsOhIG1lZGlhbnRlIHcocml0ZSkuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6OTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIlN0YXJ0IHNlY3RvciAlanUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiU2VjdG9yIGluaWNpYWwgJWp1IGZ1ZXJhIGRlIHJhbmdvLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwMjYgbGliZmRpc2svc3JjL2dwdC5jOjIxMzYgbGliZmRpc2svc3JjL3NnaS5jOjgzOQorIzogbGliZmRpc2svc3JjL3N1bi5jOjUxNworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKK21zZ3N0ciAiTGEgcGFydGljacOzbiAlenUgeWEgZXN0w6EgZGVmaW5pZGEuIFN1cHLDrW1hbGEgYW50ZXMgZGUgdm9sdmVyIGEgYcOxYWRpcmxhLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVsbHUgaXMgYWxyZWFkeSBhbGxvY2F0ZWQuIgorbXNnc3RyICJFbCBzZWN0b3IgJWxsdSB5YSBlc3TDoSBhc2lnbmFkby4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTMzIGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQ2Cittc2dpZCAiTm8gZnJlZSBzZWN0b3JzIGF2YWlsYWJsZS4iCittc2dzdHIgIk5vIGhheSBkaXNwb25pYmxlIG5pbmfDum4gc2VjdG9yIGxpYnJlLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWRkaW5nIGxvZ2ljYWwgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiU2UgYcOxYWRlIGxhIHBhcnRpY2nDs24gbMOzZ2ljYSAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGNvbnRhaW5zIHNlY3RvciAwIgorbXNnc3RyICJQYXJ0aWNpw7NuICV6dTogY29udGllbmUgZWwgc2VjdG9yIDAiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGhlYWQgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWQiCittc2dzdHIgIlBhcnRpY2nDs24gJXp1OiBsYSBjYWJlemEgJWQgc3VwZXJhIGVsIG3DoXhpbW8gJWQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHNlY3RvciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICJQYXJ0aWNpw7NuICV6dTogZWwgc2VjdG9yICVkIHN1cGVyYSBlbCBtw6F4aW1vICVsbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGN5bGluZGVyICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIlBhcnRpY2nDs24gJXp1OiBlbCBjaWxpbmRybyAlZCBzdXBlcmEgZWwgbcOheGltbyAlbGx1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMzMAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBwcmV2aW91cyBzZWN0b3JzICV1IGRpc2FncmVlcyB3aXRoIHRvdGFsICV1IgorbXNnc3RyICJQYXJ0aWNpw7NuICV6dTogbG9zIHNlY3RvcmVzIHByZXZpb3VzICV1IG5vIGNvbmN1ZXJkYW4gY29uIGVsIHRvdGFsICV1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM4MworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBiZWdpbm5pbmdzIChub24tTGludXg/KTogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICJQYXJ0aWNpw7NuICV6dTogdGllbmUgZGlzdGludG9zIHByaW5jaXBpb3MgZsOtc2ljb3MvbMOzZ2ljb3MgKMK/bm8gTGludXg/KTogZsOtc2ljb3M9KCVkLCAlZCwgJWQpLCBsw7NnaWNvcz0oJWQsICVkLCAlZCkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGVuZGluZ3M6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiUGFydGljacOzbiAlenU6IHRpZW5lIGRpc3RpbnRvcyBmaW5hbGVzIGbDrXNpY29zL2zDs2dpY29zOiBmw61zaWNvcz0oJWQsICVkLCAlZCksIGzDs2dpY29zPSglZCwgJWQsICVkKSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiUGFydGljacOzbiAlenU6IG5vIHRlcm1pbmEgZW4gdW4gbMOtbWl0ZSBkZSBjaWxpbmRyby4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGJhZCBzdGFydC1vZi1kYXRhLiIKK21zZ3N0ciAiUGFydGljacOzbiAlenU6IGluaWNpbyBkZSBkYXRvcyBpbmNvcnJlY3RvIGVuLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogb3ZlcmxhcHMgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIlBhcnRpY2nDs24gJXp1OiBzZSBzb2xhcGEgY29uIGxhIHBhcnRpY2nDs24gJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZW1wdHkuIgorbXNnc3RyICJQYXJ0aWNpw7NuICV6dTogdmFjw61hLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9naWNhbCBwYXJ0aXRpb24gJXp1OiBub3QgZW50aXJlbHkgaW4gcGFydGl0aW9uICV6dS4iCittc2dzdHIgIlBhcnRpY2nDs24gbMOzZ2ljYSAlenU6IG5vIGVzdMOhIHBvciBjb21wbGV0byBlbiBsYSBwYXJ0aWNpw7NuICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDgxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRvdGFsIGFsbG9jYXRlZCBzZWN0b3JzICVsbHUgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtICVsbHUuIgorbXNnc3RyICJFbCB0b3RhbCBkZSBzZWN0b3JlcyBhc2lnbmFkb3MgJWxsdSBzdXBlcmEgZWwgbcOheGltbyAlbGx1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVtYWluaW5nICVsbGQgdW5hbGxvY2F0ZWQgJWxkLWJ5dGUgc2VjdG9ycy4iCittc2dzdHIgIlF1ZWRhbiAlbGxkIHNlY3RvcmVzIG5vIGFzaWduYWRvcyBkZSAlbGQgYnl0ZXMuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUzMiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1NAorbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgIkxhIHBhcnRpY2nDs24gZXh0ZW5kaWRhIHlhIGV4aXN0ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTc1Cittc2dpZCAiVGhlIG1heGltdW0gbnVtYmVyIG9mIHBhcnRpdGlvbnMgaGFzIGJlZW4gY3JlYXRlZC4iCittc2dzdHIgIlNlIGhhIGNyZWFkbyBlbCBuw7ptZXJvIG3DoXhpbW8gZGUgcGFydGljaW9uZXMuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU4NworbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4iCittc2dzdHIgIlNlIGVzdMOhbiB1c2FuZG8gdG9kYXMgbGFzIHBhcnRpY2lvbmVzIHByaW1hcmlhcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTg5IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjAwCittc2dpZCAiQWxsIHNwYWNlIGZvciBwcmltYXJ5IHBhcnRpdGlvbnMgaXMgaW4gdXNlLiIKK21zZ3N0ciAiU2UgZXN0w6EgdXRpbGl6YW5kbyB0b2RvIGVsIGVzcGFjaW8gcGFyYSBwYXJ0aWNpb25lcyBwcmltYXJpYXMuIgorCisjLiBUUkFOU0xBVE9SUzogVHJ5IHRvIGtlZXAgdGhpcyB3aXRoaW4gODAgY2hhcmFjdGVycy4KKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjAzCittc2dpZCAiVG8gY3JlYXRlIG1vcmUgcGFydGl0aW9ucywgZmlyc3QgcmVwbGFjZSBhIHByaW1hcnkgd2l0aCBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJQYXJhIGNyZWFyIG3DoXMgcGFydGljaW9uZXMsIHByaW1lcm8gcmVlbXBsYWNlIHVuYSBwcmltYXJpYSBwb3IgdW5hIGV4dGVuZGlkYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjA4Cittc2dpZCAiQWxsIGxvZ2ljYWwgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiBBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvbi4iCittc2dzdHIgIlNlIGVzdMOhbiB1c2FuZG8gdG9kYXMgbGFzIHBhcnRpY2lvbmVzIGzDs2dpY2FzLiBTZSBhw7FhZGUgdW5hIHBhcnRpY2nDs24gcHJpbWFyaWEuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzMAorbXNnaWQgIlBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJUaXBvIGRlIHBhcnRpY2nDs24iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiV6dSBwcmltYXJ5LCAlZCBleHRlbmRlZCwgJXp1IGZyZWUiCittc2dzdHIgIiV6dSBwcmltYXJpYShzKSwgJWQgZXh0ZW5kaWRhKHMpLCAlenUgbGlicmUocykiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjM5Cittc2dpZCAicHJpbWFyeSIKK21zZ3N0ciAicHJpbWFyaWEiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQxCittc2dpZCAiZXh0ZW5kZWQiCittc2dzdHIgImV4dGVuZGlkYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDEKK21zZ2lkICJjb250YWluZXIgZm9yIGxvZ2ljYWwgcGFydGl0aW9ucyIKK21zZ3N0ciAiY29udGVuZWRvciBwYXJhIHBhcnRpY2lvbmVzIGzDs2dpY2FzIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MworbXNnaWQgImxvZ2ljYWwiCittc2dzdHIgImzDs2dpY2EiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQzCittc2dpZCAibnVtYmVyZWQgZnJvbSA1IgorbXNnc3RyICJsYSBudW1lcmFjacOzbiBlbXBpZXphIHBvciA1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY4MQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiB0eXBlIGAlYycuIgorbXNnc3RyICJUaXBvIGRlIHBhcnRpY2nDs24gbm8gdsOhbGlkbyBgJWMnLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlIHNlY3RvciAlamQ6IHNlZWsgZmFpbGVkIgorbXNnc3RyICJObyBzZSBwdWVkZSBlc2NyaWJpciBlbiBlbCBzZWN0b3IgJWpkOiBmYWxsbyBhbCBidXNjYXIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxODUyIGxpYmZkaXNrL3NyYy9ncHQuYzoxMDk2Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJJZGVudGlmaWNhZG9yIGRlbCBkaXNjbyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE5NTkKK21zZ2lkICJUeXBlIDAgbWVhbnMgZnJlZSBzcGFjZSB0byBtYW55IHN5c3RlbXMuIEhhdmluZyBwYXJ0aXRpb25zIG9mIHR5cGUgMCBpcyBwcm9iYWJseSB1bndpc2UuIgorbXNnc3RyICJFbiBtdWNob3Mgc2lzdGVtYXMgZWwgdGlwbyAwIHNpZ25pZmljYSBlc3BhY2lvIGxpYnJlLiBQcm9iYWJsZW1lbnRlIG5vIHNlYSBhY2VydGFkbyB0ZW5lciBwYXJ0aWNpb25lcyBkZSB0aXBvIDAuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk2NAorbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdHlwZSBvZiB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIHdoaWNoIGlzIGFscmVhZHkgdXNlZCBieSBsb2dpY2FsIHBhcnRpdGlvbnMuIERlbGV0ZSBsb2dpY2FsIHBhcnRpdGlvbnMgZmlyc3QuIgorbXNnc3RyICJObyBzZSBwdWVkZSBjYW1iaWFyIGVsIHRpcG8gZGUgbGEgcGFydGljacOzbiBleHRlbmRpZGEgcXVlIGVzdMOhIHNpZW5kbyB1dGlsaXphZGEgcG9yIHBhcnRpY2lvbmVzIGzDs2dpY2FzLiBQcmltZXJvIGJvcnJlIGxhcyBwYXJ0aWNpb25lcyBsw7NnaWNhcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTQzIGxpYmZkaXNrL3NyYy9ncHQuYzoyODIxCittc2dpZCAiTm90aGluZyB0byBkby4gT3JkZXJpbmcgaXMgY29ycmVjdCBhbHJlYWR5LiIKK21zZ3N0ciAiTm8gaGF5IG5hZGEgcXVlIGhhY2VyLiBFbCBvcmRlbiB5YSBlcyBjb3JyZWN0by4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG5vIGRhdGEgYXJlYS4iCittc2dzdHIgIkxhIHBhcnRpY2nDs24gJXp1OiBubyB0aWVuZSBuaW5ndW5hIMOhcmVhIGRlIGRhdG9zLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyMjIKK21zZ2lkICJOZXcgYmVnaW5uaW5nIG9mIGRhdGEiCittc2dzdHIgIk51ZXZvIHByaW5jaXBpbyBkZSBkYXRvcyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaXMgYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiTGEgcGFydGljacOzbiAlenU6IGVzIHVuYSBwYXJ0aWNpw7NuIGV4dGVuZGlkYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJFbCBpbmRpY2Fkb3IgZGUgaW5pY2lhYmxlIGRlIGxhIHBhcnRpY2nDs24gJXp1IGFob3JhIGVzdMOhIGFjdGl2YWRvLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJFbCBpbmRpY2Fkb3IgZGUgaW5pY2lhYmxlIGRlIGxhIHBhcnRpY2nDs24gJXp1IGFob3JhIGVzdMOhIGRlc2FjdGl2YWRvLiIKKworIyBOb3RhOiBzaSBzZSBwb25lIERpc3Bvc2l0aXZvIG5vIHF1ZWRhIGJpZW4gZWwgcmVzdG8gZGUgbGEgbMOtbmVhLgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyOTggbGliZmRpc2svc3JjL2dwdC5jOjI5MTEgbGliZmRpc2svc3JjL3NnaS5jOjExNTMKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTA5Cittc2dpZCAiRGV2aWNlIgorbXNnc3RyICJEaXNwb3NpdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjk5IGxpYmZkaXNrL3NyYy9zdW4uYzo0MQorbXNnaWQgIkJvb3QiCittc2dzdHIgIkluaWNpbyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDUgbGliZmRpc2svc3JjL3NnaS5jOjExNTkgbGliZmRpc2svc3JjL3N1bi5jOjExMTUKK21zZ2lkICJJZCIKK21zZ3N0ciAiSWQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzA5Cittc2dpZCAiU3RhcnQtQy9IL1MiCittc2dzdHIgIkluaWNpby1DL0gvUyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTAKK21zZ2lkICJFbmQtQy9IL1MiCittc2dzdHIgIkZpbi1DL0gvUyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTEgbGliZmRpc2svc3JjL2dwdC5jOjI5MjEgbGliZmRpc2svc3JjL3NnaS5jOjExNjEKK21zZ2lkICJBdHRycyIKK21zZ3N0ciAiQXRyaWJ1dG9zIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYwCittc2dpZCAiRUZJIFN5c3RlbSIKK21zZ3N0ciAiU2lzdGVtYSBFRkkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjIKK21zZ2lkICJNQlIgcGFydGl0aW9uIHNjaGVtZSIKK21zZ3N0ciAiU2lzdGVtYSBkZSBwYXJ0aWNpb25lcyBNQlIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjMKK21zZ2lkICJJbnRlbCBGYXN0IEZsYXNoIgorbXNnc3RyICLCq0ZsYXNowrsgcsOhcGlkYSBkZSBJbnRlbCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2NgorbXNnaWQgIkJJT1MgYm9vdCIKK21zZ3N0ciAiQXJyYW5xdWUgZGUgQklPUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OQorbXNnaWQgIlNvbnkgYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIlBhcnRpY2nDs24gZGUgYXJyYW5xdWUgU29ueSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MAorbXNnaWQgIkxlbm92byBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiUGFydGljacOzbiBkZSBhcnJhbnF1ZSBMZW5vdm8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzMKK21zZ2lkICJQb3dlclBDIFBSZVAgYm9vdCIKK21zZ3N0ciAiUG93ZXJQQyBQUmVQIEJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzYKK21zZ2lkICJPTklFIGJvb3QiCittc2dzdHIgIkFycmFucXVlIGRlIE9OSUUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzcKK21zZ2lkICJPTklFIGNvbmZpZyIKK21zZ3N0ciAiQ29uZmlndXJhY2nDs24gZGUgT05JRSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MAorbXNnaWQgIk1pY3Jvc29mdCByZXNlcnZlZCIKK21zZ3N0ciAiUmVzZXJ2YWRvIHBhcmEgTWljcm9zb2Z0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgxCittc2dpZCAiTWljcm9zb2Z0IGJhc2ljIGRhdGEiCittc2dzdHIgIkRhdG9zIGLDoXNpY29zIGRlIE1pY3Jvc29mdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MgorbXNnaWQgIk1pY3Jvc29mdCBMRE0gbWV0YWRhdGEiCittc2dzdHIgIk1ldGFkYXRvcyBMRE0gZGUgTWljcm9zb2Z0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgzCittc2dpZCAiTWljcm9zb2Z0IExETSBkYXRhIgorbXNnc3RyICJEYXRvcyBMRE0gZGUgTWljcm9zb2Z0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg0Cittc2dpZCAiV2luZG93cyByZWNvdmVyeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiRW50b3JubyBkZSByZWN1cGVyYWNpw7NuIGRlIFdpbmRvd3MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODUKK21zZ2lkICJJQk0gR2VuZXJhbCBQYXJhbGxlbCBGcyIKK21zZ3N0ciAiU2lzdGVtYSBkZSBmaWNoZXJvcyBnZW5lcmFsIHBhcmFsZWxvIGRlIElCTSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NgorbXNnaWQgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKK21zZ3N0ciAiRXNwYWNpb3MgZGUgYWxtYWNlbmFtaWVudG8gZGUgTWljcm9zb2Z0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg5Cittc2dpZCAiSFAtVVggZGF0YSIKK21zZ3N0ciAiRGF0b3MgSFAtVVgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTAKK21zZ2lkICJIUC1VWCBzZXJ2aWNlIgorbXNnc3RyICJTZXJ2aWNpbyBIUC1VWCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MyBsaWJmZGlzay9zcmMvc2dpLmM6NjEgbGliZmRpc2svc3JjL3N1bi5jOjUyCittc2dpZCAiTGludXggc3dhcCIKK21zZ3N0ciAiTGludXggc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NAorbXNnaWQgIkxpbnV4IGZpbGVzeXN0ZW0iCittc2dzdHIgIlNpc3RlbWEgZGUgZmljaGVyb3MgZGUgTGludXgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUKK21zZ2lkICJMaW51eCBzZXJ2ZXIgZGF0YSIKK21zZ3N0ciAiU2Vydmlkb3IgZGUgZGF0b3MgTGludXgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTYKK21zZ2lkICJMaW51eCByb290ICh4ODYpIgorbXNnc3RyICJSYcOteiBkZSBMaW51eCAoeDg2KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NworbXNnaWQgIkxpbnV4IHJvb3QgKEFSTSkiCittc2dzdHIgIlJhw616IGRlIExpbnV4IChBUk0pIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4Cittc2dpZCAiTGludXggcm9vdCAoeDg2LTY0KSIKK21zZ3N0ciAiUmHDrXogZGUgTGludXggKHg4Ni02NCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTkKK21zZ2lkICJMaW51eCByb290IChBUk0tNjQpIgorbXNnc3RyICJSYcOteiBkZSBMaW51eCAoQVJNLTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMAorbXNnaWQgIkxpbnV4IHJvb3RcdChJQS02NCkiCittc2dzdHIgIlJhw616IGRlIExpbnV4XHQoSUEtNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAxCittc2dpZCAiTGludXggcmVzZXJ2ZWQiCittc2dzdHIgIlJlc2VydmFkbyBwYXJhIExpbnV4IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAyCittc2dpZCAiTGludXggaG9tZSIKK21zZ3N0ciAiSW5pY2lvIGRlIExpbnV4IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2NAorbXNnaWQgIkxpbnV4IFJBSUQiCittc2dzdHIgIkxpbnV4IFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQKK21zZ2lkICJMaW51eCBleHRlbmRlZCBib290IgorbXNnc3RyICJBcnJhbnF1ZSBkZSBMaW51eCBleHRlbmRpZGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTIKK21zZ2lkICJGcmVlQlNEIGRhdGEiCittc2dzdHIgIkRhdG9zIEZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTMKK21zZ2lkICJGcmVlQlNEIGJvb3QiCittc2dzdHIgIkFycmFucXVlIEZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQKK21zZ2lkICJGcmVlQlNEIHN3YXAiCittc2dzdHIgIlN3YXAgZGUgRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNQorbXNnaWQgIkZyZWVCU0QgVUZTIgorbXNnc3RyICJVRlMgZGUgRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNgorbXNnaWQgIkZyZWVCU0QgWkZTIgorbXNnc3RyICJaRlMgZGUgRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNworbXNnaWQgIkZyZWVCU0QgVmludW0iCittc2dzdHIgIlZpbnVtIGRlIEZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjAKK21zZ2lkICJBcHBsZSBIRlMvSEZTKyIKK21zZ3N0ciAiSEZTL0hGUysgZGUgQXBwbGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEKK21zZ2lkICJBcHBsZSBVRlMiCittc2dzdHIgIlVGUyBkZSBBcHBsZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMgorbXNnaWQgIkFwcGxlIFJBSUQiCittc2dzdHIgIlJBSUQgZGUgQXBwbGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjMKK21zZ2lkICJBcHBsZSBSQUlEIG9mZmxpbmUiCittc2dzdHIgIlJBSUQgZGUgQXBwbGUgb2ZmbGluZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNAorbXNnaWQgIkFwcGxlIGJvb3QiCittc2dzdHIgIkFycmFucXVlIGRlIEFwcGxlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1Cittc2dpZCAiQXBwbGUgbGFiZWwiCittc2dzdHIgIkV0aXF1ZXRhIGRlIEFwcGxlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI2Cittc2dpZCAiQXBwbGUgVFYgcmVjb3ZlcnkiCittc2dzdHIgIlJlY3VwZXJhY2nDs24gZGUgQXBwbGUgVFYiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjcKK21zZ2lkICJBcHBsZSBDb3JlIHN0b3JhZ2UiCittc2dzdHIgIkFsbWFjZW5hbWllbnRvIENvcmUgZGUgQXBwbGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzEKK21zZ2lkICJTb2xhcmlzIHJvb3QiCittc2dzdHIgIlJhw616IGRlIFNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMKK21zZ2lkICJTb2xhcmlzIC91c3IgJiBBcHBsZSBaRlMiCittc2dzdHIgIi91c3IgZGUgU29sYXJpcyB5IFpGUyBkZSBBcHBsZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNAorbXNnaWQgIlNvbGFyaXMgc3dhcCIKK21zZ3N0ciAiU3dhcCBkZSBTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM1Cittc2dpZCAiU29sYXJpcyBiYWNrdXAiCittc2dzdHIgIlJlc3BhbGRvIGRlIFNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzYKK21zZ2lkICJTb2xhcmlzIC92YXIiCittc2dzdHIgIi92YXIgZGUgU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNworbXNnaWQgIlNvbGFyaXMgL2hvbWUiCittc2dzdHIgIi9ob21lIGRlIFNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzgKK21zZ2lkICJTb2xhcmlzIGFsdGVybmF0ZSBzZWN0b3IiCittc2dzdHIgIlNlY3RvciBhbHRlcm5hdGl2byBkZSBTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAxIgorbXNnc3RyICJSZXNlcnZhZG8gcGFyYSBTb2xhcmlzIDEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDAKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDIiCittc2dzdHIgIlJlc2VydmFkbyBwYXJhIFNvbGFyaXMgMiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMyIKK21zZ3N0ciAiUmVzZXJ2YWRvciBwYXJhIFNvbGFyaXMgMyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MgorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNCIKK21zZ3N0ciAiUmVzZXJ2YWRvIHBhcmEgU29sYXJpcyA0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQzCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA1IgorbXNnc3RyICJSZXNlcnZhZG8gcGFyYSBTb2xhcmlzIDUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDYKK21zZ2lkICJOZXRCU0Qgc3dhcCIKK21zZ3N0ciAiU3dhcCBkZSBOZXRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDcKK21zZ2lkICJOZXRCU0QgRkZTIgorbXNnc3RyICJGRlMgZGUgTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4Cittc2dpZCAiTmV0QlNEIExGUyIKK21zZ3N0ciAiTEZTIGRlIE5ldEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OQorbXNnaWQgIk5ldEJTRCBjb25jYXRlbmF0ZWQiCittc2dzdHIgIk5ldEJTRCBjb25jYXRlbmFkbyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MAorbXNnaWQgIk5ldEJTRCBlbmNyeXB0ZWQiCittc2dzdHIgIk5ldEJTRCBjaWZyYWRvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUxCittc2dpZCAiTmV0QlNEIFJBSUQiCittc2dzdHIgIlJBSUQgZGUgTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0Cittc2dpZCAiQ2hyb21lT1Mga2VybmVsIgorbXNnc3RyICJOw7pjbGVvIGRlIENocm9tZU9TIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU1Cittc2dpZCAiQ2hyb21lT1Mgcm9vdCBmcyIKK21zZ3N0ciAiU2lzdGVtYSByYcOteiBkZSBDaHJvbWVPUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NgorbXNnaWQgIkNocm9tZU9TIHJlc2VydmVkIgorbXNnc3RyICJSZXNlcnZhZG8gcGFyYSBDaHJvbWVPUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OQorbXNnaWQgIk1pZG5pZ2h0QlNEIGRhdGEiCittc2dzdHIgIkRhdG9zIGRlIE1pZG5pZ2h0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYwCittc2dpZCAiTWlkbmlnaHRCU0QgYm9vdCIKK21zZ3N0ciAiQXJyYW5xdWUgZGUgTWlkbmlnaHRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjEKK21zZ2lkICJNaWRuaWdodEJTRCBzd2FwIgorbXNnc3RyICJTd2FwIGRlIE1pZG5pZ2h0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyCittc2dpZCAiTWlkbmlnaHRCU0QgVUZTIgorbXNnc3RyICJVRlMgZGUgTWlkbmlnaHRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjMKK21zZ2lkICJNaWRuaWdodEJTRCBaRlMiCittc2dzdHIgIlpGUyBkZSBNaWRuaWdodEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NAorbXNnaWQgIk1pZG5pZ2h0QlNEIFZpbnVtIgorbXNnc3RyICJWaW51bSBkZSBNaWRuaWdodEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NworbXNnaWQgIkNlcGggSm91cm5hbCIKK21zZ3N0ciAiSm91cm5hbCBkZSBDZXBoIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4Cittc2dpZCAiQ2VwaCBFbmNyeXB0ZWQgSm91cm5hbCIKK21zZ3N0ciAiSm91cm5hbCBjaWZyYWRvIGRlIENlcGgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjkKK21zZ2lkICJDZXBoIE9TRCIKK21zZ3N0ciAiT1NEIGRlIENlcGgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAKK21zZ2lkICJDZXBoIGNyeXB0IE9TRCIKK21zZ3N0ciAiT1NEIGNpZnJhZG8gZGUgQ2VwaCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MQorbXNnaWQgIkNlcGggZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiRGlzY28gZGUgQ2VwaCBjcmXDoW5kb3NlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcyCittc2dpZCAiQ2VwaCBjcnlwdCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICJEaXNjbyBjaWZyYWRvIGRlIENlcGggY3Jlw6FuZG9zZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NQorbXNnaWQgIk9wZW5CU0QgZGF0YSIKK21zZ3N0ciAiRGF0b3MgT3BlbkJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3OAorbXNnaWQgIlFOWDYgZmlsZSBzeXN0ZW0iCittc2dzdHIgIlNpc3RlbWEgZGUgZmljaGVyb3MgZGUgUU5YNiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4MQorbXNnaWQgIlBsYW4gOSBwYXJ0aXRpb24iCittc2dzdHIgIlBhcnRpY2nDs24gZGVsIHBsYW4gOSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjU0NworbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHUFQgaGVhZGVyIgorbXNnc3RyICJmYWxsbyBhbCBhc2lnbmFyIGxhIGNhYmVjZXJhIEdQVCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjYzMAorbXNnaWQgIkZpcnN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIkxhIHByaW1lcmEgTEJBIGVzcGVjaWZpY2FkYSBlbiBlbCBzY3JpcHQgZXN0w6EgZnVlcmEgZGUgcmFuZ28uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NjQyCittc2dpZCAiTGFzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJMYSDDumx0aW1hIExCQSBlc3BlY2lmaWNhZGEgZW4gZWwgc2NyaXB0IGVzdMOhIGZ1ZXJhIGRlIHJhbmdvLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjc3NQorIywgYy1mb3JtYXQKK21zZ2lkICJHUFQgUE1CUiBzaXplIG1pc21hdGNoICglPFBSSXU2ND4gIT0gJTxQUkl1NjQ+KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpLiIKK21zZ3N0ciAiTGEgZGlzY29yZGFuY2lhIGRlIHRhbWHDsW9zIGRlbCByZWdpc3RybyBkZSBhcnJhbnF1ZSBtYWVzdHJvIHByaW1hcmlvIChHUFQgUE1CUikgKCU8UFJJdTY0PiAhPSAlPFBSSXU2ND4pIHNlIGNvcnJlZ2lyw6EgbWVkaWFudGUgdyhlc2NyaWJpcikuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NzkyCittc2dpZCAiZ3B0OiBzdGF0KCkgZmFpbGVkIgorbXNnc3RyICJncHQ6IHN0YXQoKSBmYWxsw7MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo4MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3B0OiBjYW5ub3QgaGFuZGxlIGZpbGVzIHdpdGggbW9kZSAlbyIKK21zZ3N0ciAiZ3B0OiBubyBzZSBwdWVkZW4gbWFuZWphciBmaWNoZXJvcyBjb24gbW9kbyAlbyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEwNjQKK21zZ2lkICJHUFQgSGVhZGVyIgorbXNnc3RyICJDYWJlY2VyYSBHUFQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMDY5Cittc2dpZCAiR1BUIEVudHJpZXMiCittc2dzdHIgIkVudHJhZGFzIEdQVCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExMDMKK21zZ2lkICJGaXJzdCBMQkEiCittc2dzdHIgIlByaW1lcmEgTEJBIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEwOAorbXNnaWQgIkxhc3QgTEJBIgorbXNnc3RyICLDmmx0aW1hIExCQSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBMQkEgKExvZ2ljYWwgQmxvY2sgQWRkcmVzcykgb2YgdGhlIGJhY2t1cCBHUFQgaGVhZGVyLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjExMTQKK21zZ2lkICJBbHRlcm5hdGl2ZSBMQkEiCittc2dzdHIgIkxCQSBhbHRlcm5hdGl2YSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFydCBvZiB0aGUgYXJyYXkgb2YgcGFydGl0aW9uIGVudHJpZXMuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEyMAorbXNnaWQgIlBhcnRpdGlvbiBlbnRyaWVzIExCQSIKK21zZ3N0ciAiTEJBIGRlIGxhcyBwYXJ0aWNpb25lcyBMQkEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTI1Cittc2dpZCAiQWxsb2NhdGVkIHBhcnRpdGlvbiBlbnRyaWVzIgorbXNnc3RyICJQYXJ0aWNpb25lcyBhc2lnbmFkYXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNDQwCittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBwcmltYXJ5IGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAiTGEgdGFibGEgR1BUIGRlIHJlc3BhbGRvIGVzdMOhIGRhw7FhZGEsIHBlcm8gbGEgcHJpbWVyYSBwYXJlY2UgcXVlIGVzdMOhIGJpZW4sIGFzw60gcXVlIGVzYSBzZXLDoSBsYSBxdWUgc2UgdXRpbGljZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNDQ5Cittc2dpZCAiVGhlIHByaW1hcnkgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgYmFja3VwIGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAiTGEgdGFibGEgR1BUIHByaW1hcmlhIGVzdMOhIGRhw7FhZGEsIHBlcm8gbGEgZGUgcmVzcGFsZG8gcGFyZWNlIHF1ZSBlc3TDoSBiaWVuLCBhc8OtIHF1ZSBlc2Egc2Vyw6EgbGEgcXVlIHNlIHV0aWxpY2UuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBHUFQgYXR0cmlidXRlIGJpdCAnJXMnIgorbXNnc3RyICJhdHJpYnV0byBkZSBiaXQgR1BUIG5vIHNvcG9ydGFkbzogJyVzJyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBHUFQgYXR0cmlidXRlIHN0cmluZyAnJXMnIgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBsYSBsaXN0YSAnJXMnIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczMQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gVVVJRCBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICJFbCBVVUlEIGRlIGxhIHBhcnRpY2nDs24gaGEgY2FtYmlhZG8gZGUgJXMgYSAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lIGNoYW5nZWQgZnJvbSAnJXMnIHRvICclLipzJy4iCittc2dzdHIgIkVsIG5vbWJyZSBkZSBsYSBwYXJ0aWNpw7NuIGhhIGNhbWJpYWRvIGRlICclcycgYSAnJS4qcycuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc2OAorbXNnaWQgIlRoZSBzdGFydCBvZiB0aGUgcGFydGl0aW9uIHVuZGVyc3RlcHMgRmlyc3RVc2FibGVMQkEuIgorbXNnc3RyICJFbCBjb21pZW56byBkZSBsYSBwYXJ0aWNpw7NuIG5vIGxsZWdhIGFsIMKrRmlyc3RVc2FibGVMQkHCuy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzc1Cittc2dpZCAiVGhlIGVuZCBvZiB0aGUgcGFydGl0aW9uIG92ZXJzdGVwcyBMYXN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiRWwgZmluYWwgZGUgbGEgcGFydGljacOzbiB2YSBtw6FzIGFsbMOhIGRlIMKrTGFzdFVzYWJsZUxCQcK7LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MzQKK21zZ2lkICJUaGUgZGV2aWNlIGNvbnRhaW5zIGh5YnJpZCBNQlIgLS0gd3JpdGluZyBHUFQgb25seS4gWW91IGhhdmUgdG8gc3luYyB0aGUgTUJSIG1hbnVhbGx5LiIKK21zZ3N0ciAiRWwgZGlzcG9zaXRpdm8gY29udGllbmUgdW4gTUJSIGjDrWJyaWRvIC0tIHNvbGFtZW50ZSBzZSBlc2NyaWJlIGVuIEdQVC4gVGVuZHLDoSBxdWUgc2luY3Jvbml6YXIgZWwgTUJSIG1hbnVhbG1lbnRlLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NzEKK21zZ2lkICJEaXNrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiRWwgZGlzY28gbm8gY29udGllbmUgdW5hIGNhYmVjZXJhIGRlIHJlc3BhbGRvIHbDoWxpZGEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3NgorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiTGEgc3VtYSBkZSB2ZXJpZmljYWNpw7NuIENSQyBkZSBsYSBjYWJlY2VyYSBwcmltYXJpYSBubyBlcyB2w6FsaWRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4MAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICJMYSBzdW1hIGRlIHZlcmlmaWNhY2nDs24gQ1JDIGRlIGxhIGNhYmVjZXJhIGRlIHJlc3BhbGRvIG5vIGVzIHbDoWxpZGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTg1Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gZW50cnkgY2hlY2tzdW0uIgorbXNnc3RyICJMYSBzdW1hIGRlIHZlcmlmaWNhY2nDs24gZGUgbGEgZW50cmFkYSBkZSBsYSBwYXJ0aWNpw7NuIG5vIGVzIHbDoWxpZGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTkwCittc2dpZCAiSW52YWxpZCBwcmltYXJ5IGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIkNvbXByb2JhY2lvbmVzIGRlIGludGVncmlkYWQgTEJBIGRlIGxhIGNhYmVjZXJhIHByaW1hcmlhIG5vIHbDoWxpZGFzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5NAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIkNvbXByb2JhY2lvbmVzIGRlIGludGVncmlkYWQgTEJBIGRlbCBjYWJlemFsIGRlIHJlc3BhbGRvIG5vIHbDoWxpZGFzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5OQorbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBwcmltYXJ5IGhlYWRlci4iCittc2dzdHIgIk15TEJBIG5vIGNvcnJlc3BvbmRlIGNvbiBsYSBwb3NpY2nDs24gcmVhbCBlbiBlbCBjYWJlemFsIHByaW1hcmlvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwMworbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiTXlMQkEgbm8gY29ycmVzcG9uZGUgY29uIGxhIHBvc2ljacOzbiByZWFsIGVuIGVsIGNhYmV6YWwgZGUgcmVzcGFsZG8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDA4Cittc2dpZCAiRGlzayBpcyB0b28gc21hbGwgdG8gaG9sZCBhbGwgZGF0YS4iCittc2dzdHIgIkVsIGRpc2NvIGVzIGRlbWFzaWFkbyBwZXF1ZcOxbyBwYXJhIGFsYmVyZ2FyIHRvZG9zIGxvcyBkYXRvcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDE4Cittc2dpZCAiUHJpbWFyeSBhbmQgYmFja3VwIGhlYWRlciBtaXNtYXRjaC4iCittc2dzdHIgIkxhcyBjYWJlY2VyYXMgcHJpbWFyaWEgeSBkZSByZXNwYWxkbyBubyBjb2luY2lkZW4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAyNAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBwYXJ0aXRpb24gJXUuIgorbXNnc3RyICJMYSBwYXJ0aWNpw7NuICV1IHNlIHNvbGFwYSBjb24gbGEgcGFydGljacOzbiAldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBpcyB0b28gYmlnIGZvciB0aGUgZGlzay4iCittc2dzdHIgIkxhIHBhcnRpY2nDs24gJXUgZXMgZGVtYXNpYWRvIGdyYW5kZSBwYXJhIGVsIGRpc2NvLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGVuZHMgYmVmb3JlIGl0IHN0YXJ0cy4iCittc2dzdHIgIkxhIHBhcnRpY2nDs24gJXUgdGVybWluYSBhbnRlcyBkZSBzdSBjb21pZW56by4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQ3Cittc2dpZCAiTm8gZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0ciAiTm8gc2UgaGEgZGV0ZWN0YWRvIG5pbmfDum4gZXJyb3IuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0OAorIywgYy1mb3JtYXQKK21zZ2lkICJIZWFkZXIgdmVyc2lvbjogJXMiCittc2dzdHIgIkNhYmVjZXJhIHZlcnNpw7NuICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0OQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyAldSBvdXQgb2YgJWQgcGFydGl0aW9ucy4iCittc2dzdHIgIlNlIHV0aWxpemFuICV1IGRlIHVuIHRvdGFsIGRlICVkIHBhcnRpY2lvbmVzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50LiIKK21zZ2lkX3BsdXJhbCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50cyAodGhlIGxhcmdlc3QgaXMgJXMpLiIKK21zZ3N0clswXSAiVW4gdG90YWwgZGUgJWp1IHNlY3RvcmVzIGxpYnJlcyBlc3TDoSBkaXNwb25pYmxlIGVuICV1IHNlZ21lbnRvIgorbXNnc3RyWzFdICJVbiB0b3RhbCBkZSAlanUgc2VjdG9yZXMgbGlicmVzIGVzdMOhIGRpc3BvbmlibGUgZW4gJXUgc2VnbWVudG9zIChlbCBtYXlvciBlcyAlcykuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBlcnJvciBkZXRlY3RlZC4iCittc2dpZF9wbHVyYWwgIiVkIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHJbMF0gIiVkIGVycm9yIGRldGVjdGFkby4iCittc2dzdHJbMV0gIiVkIGVycm9yZXMgZGV0ZWN0YWRvcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQyCittc2dpZCAiQWxsIHBhcnRpdGlvbnMgYXJlIGFscmVhZHkgaW4gdXNlLiIKK21zZ3N0ciAiWWEgc2UgZXN0w6FuIHVzYW5kbyB0b2RhcyBsYXMgcGFydGljaW9uZXMuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5NyBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyMgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWp1IGFscmVhZHkgdXNlZC4iCittc2dzdHIgIkVsIHNlY3RvciAlanUgeWEgZXN0w6EgYXNpZ25hZG8uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIk5vIHNlIHB1ZG8gY3JlYXIgbGEgcGFydGljacOzbiAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBsYXN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICJFbCDDumx0aW1vIHNlY3RvciBHUFQgdXRpbGl6YWJsZSBlcyAlanUsIHBlcm8gc2UgaGEgc29saWNpdGFkbyAlanUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlyc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIkVsIHByaW1lciBzZWN0b3IgR1BUIHV0aWxpemFibGUgZXMgJWp1LCBwZXJvIHNlIGhhIHNvbGljaXRhZG8gJWp1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBHUFQgZGlza2xhYmVsIChHVUlEOiAlcykuIgorbXNnc3RyICJTZSBoYSBjcmVhZG8gdW5hIG51ZXZhIGV0aXF1ZXRhIGRlIGRpc2NvIEdQVCAoR1VJRDogJXMpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NDcKK21zZ2lkICJFbnRlciBuZXcgZGlzayBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIkludHJvZHVjemNhIGVsIG51ZXZvIFVVSUQgZGVsIGRpc2NvIChlbiBmb3JtYXRvIDgtNC00LTQtMTIpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ1NAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSB5b3VyIFVVSUQuIgorbXNnc3RyICJFcnJvciBhbCBhbmFsaXphciBzdSBVVUlELiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIkVsIGlkZW50aWZpY2Fkb3IgZGVsIGRpc2NvIGhhIGNhbWJpYWRvIGRlICVzIGEgJXMuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4OAorbXNnaWQgIk5vdCBlbm91Z2ggc3BhY2UgZm9yIG5ldyBwYXJ0aXRpb24gdGFibGUhIgorbXNnc3RyICLCoU5vIGhheSBlc3BhY2lvIHN1ZmljaWVudGUgcGFyYSB1bmEgdGFibGEgZGUgcGFydGljaW9uZXMgbnVldmEhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5NworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV1IG91dCBvZiByYW5nZSAobWluaW1hbCBzdGFydCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIlBhcnRpY2nDs24gIyV1IGZ1ZXJhIGRlIHJhbmdvIChlbCBjb21pZW56byBtw61uaW1vIGVzICU8UFJJdTY0PiBzZWN0b3JlcykiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXUgb3V0IG9mIHJhbmdlIChtYXhpbWFsIGVuZCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIlBhcnRpY2nDs24gIyV1IGZ1ZXJhIGRlIHJhbmdvIChlbCBmaW5hbCBtw6F4aW1vIGVzICU8UFJJdTY0PiBzZWN0b3JlcykiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgbnVtYmVyIG9mIHRoZSBwYXJ0aXRpb24gaGFzIGJlIHNtYWxsZXIgdGhhbiAlenUuIgorbXNnc3RyICJTZSBoYSBjcmVhZG8gZWwgbsO6bWVybyBtw6F4aW1vIGRlIHBhcnRpY2lvbmVzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NjMKK21zZ2lkICJDYW5ub3QgYWxsb2NhdGUgbWVtb3J5ISIKK21zZ3N0ciAiwqFObyBzZSBwdWVkZSBhc2lnbmFyIG1lbW9yaWEhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5MAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgbGVuZ3RoIGNoYW5nZWQgZnJvbSAlPFBSSXUzMj4gdG8gJTxQUkl1NjQ+LiIKK21zZ3N0ciAiTGEgbG9uZ2l0dWQgZGUgbGEgdGFibGUgZGUgcGFydGljaW9uZXMgaGEgY2FtYmlhZG8gZGUgJTxQUkl1MzI+IGEgJTxQUkl1NjQ+LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGF0dHJpYnV0ZXMgb24gcGFydGl0aW9uICV6dSBjaGFuZ2VkIHRvIDB4JTAxNjxQUkl4NjQ+LiIKK21zZ3N0ciAiTG9zIGF0cmlidXRvcyBkZSBsYSBwYXJ0aWNpw7NuICV6dSBzZSBjYW1iaWFuIGEgMHglMDE2PFBSSXg2ND4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc0MgorbXNnaWQgIkVudGVyIEdVSUQgc3BlY2lmaWMgYml0IgorbXNnc3RyICJJbnRyb2R1emNhIGVsIGJpdCBlc3BlY8OtZmljbyBkZSBHVUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdG9nZ2xlIHVuc3VwcG9ydGVkIGJpdCAlbHUiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBjYW1iaWFyIGVsIGJpdCBubyBzb3BvcnRhZG8gJWx1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIkVsIGJpdCBlc3BlY8OtZmljbyBkZSBHVUlEICVkIGRlIGxhIHBhcnRpY2nDs24gJXp1IGVzdMOhIGFob3JhIGFjdGl2YWRvLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiRWwgYml0IGVzcGVjw61maWNvIGRlIEdVSUQgJWQgZGUgbGEgcGFydGljacOzbiAlenUgZXN0w6EgYWhvcmEgZGVzYWN0aXZhZG8uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3NQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiRWwgaW5kaWNhZG9yICVzIGRlIGxhIHBhcnRpY2nDs24gJXp1IGFob3JhIGVzdMOhIGFjdGl2YWRvLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJFbCBpbmRpY2Fkb3IgJXMgZGUgbGEgcGFydGljacOzbiAlenUgYWhvcmEgZXN0w6EgZGVzYWN0aXZhZG8uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxOAorbXNnaWQgIlR5cGUtVVVJRCIKK21zZ3N0ciAiVGlwby1VVUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxOQorbXNnaWQgIlVVSUQiCittc2dzdHIgIlVVSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTIwIGxvZ2luLXV0aWxzL2NoZm4uYzoxNTAgbG9naW4tdXRpbHMvY2hmbi5jOjE1MgorIzogbG9naW4tdXRpbHMvY2hmbi5jOjMwNworbXNnaWQgIk5hbWUiCittc2dzdHIgIk5vbWJyZSIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjg0MAorbXNnaWQgIkZyZWUgc3BhY2UiCittc2dzdHIgIkVzcGFjaW8gbGlicmUiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzoxMjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uICMlenUuIgorbXNnc3RyICJObyBzZSBoYSBwb2RpZG8gY2FtYmlhciBlbCB0YW1hw7FvIGRlIGxhIHBhcnRpY2nDs24gbsK6ICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0dHlwZS5jOjI1OSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTUgc2NoZWR1dGlscy9jaHJ0LmM6MjA2CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc5IHN5cy11dGlscy9od2Nsb2NrLmM6MzM0Cittc2dpZCAidW5rbm93biIKK21zZ3N0ciAiZGVzY29ub2NpZG8iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NworbXNnaWQgIlNHSSB2b2xoZHIiCittc2dzdHIgIlNHSSB2b2xoZHIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OAorbXNnaWQgIlNHSSB0cmtyZXBsIgorbXNnc3RyICJTR0kgdHJrcmVwbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ5Cittc2dpZCAiU0dJIHNlY3JlcGwiCittc2dzdHIgIlNHSSBzZWNyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTAKK21zZ2lkICJTR0kgcmF3IgorbXNnc3RyICJTR0kgcmF3IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTEKK21zZ2lkICJTR0kgYnNkIgorbXNnc3RyICJTR0kgYnNkIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTIKK21zZ2lkICJTR0kgc3lzdiIKK21zZ3N0ciAiU0dJIHN5c3YiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MworbXNnaWQgIlNHSSB2b2x1bWUiCittc2dzdHIgIlNHSSB2b2x1bWUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NAorbXNnaWQgIlNHSSBlZnMiCittc2dzdHIgIlNHSSBlZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NQorbXNnaWQgIlNHSSBsdm9sIgorbXNnc3RyICJTR0kgbHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU2Cittc2dpZCAiU0dJIHJsdm9sIgorbXNnc3RyICJTR0kgcmx2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NworbXNnaWQgIlNHSSB4ZnMiCittc2dzdHIgIlNHSSB4ZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OAorbXNnaWQgIlNHSSB4ZnNsb2ciCittc2dzdHIgIlNHSSB4ZnNsb2ciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OQorbXNnaWQgIlNHSSB4bHYiCittc2dzdHIgIlNHSSB4bHYiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MAorbXNnaWQgIlNHSSB4dm0iCittc2dzdHIgIlNHSSB4dm0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MiBsaWJmZGlzay9zcmMvc3VuLmM6NTMKK21zZ2lkICJMaW51eCBuYXRpdmUiCittc2dzdHIgIkxpbnV4IG5hdGl2ZSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjE1OQorbXNnaWQgIlNHSSBpbmZvIGNyZWF0ZWQgb24gc2Vjb25kIHNlY3Rvci4iCittc2dzdHIgIkluZm9ybWFjacOzbiBTR0kgY3JlYWRhIGVuIGVsIHNlZ3VuZG8gc2VjdG9yLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI1OQorbXNnaWQgIkRldGVjdGVkIGFuIFNHSSBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4iCittc2dzdHIgIlNlIGhhIGRldGVjdGFkbyB1bmEgZXRpcXVldGEgZGUgZGlzY28gU0dJIGNvbiBzdW1hIGRlIGNvbXByb2JhY2nDs24gaW5jb3JyZWN0YS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODIgbGliZmRpc2svc3JjL3N1bi5jOjc3MAorbXNnaWQgIlBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiQ2lsaW5kcm9zIGbDrXNpY29zIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjg3IGxpYmZkaXNrL3NyYy9zdW4uYzo3NzUKK21zZ2lkICJFeHRyYSBzZWN0cy9jeWwiCittc2dzdHIgIlNlY3RvcmVzIGFkaWNpb25hbGVzIHBvciBjaWxpbmRybyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI5NworbXNnaWQgIkJvb3RmaWxlIgorbXNnc3RyICJGaWNoZXJvIGRlIGFycmFucXVlIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mzk1Cittc2dpZCAiSW52YWxpZCBib290ZmlsZSEgIFRoZSBib290ZmlsZSBtdXN0IGJlIGFuIGFic29sdXRlIG5vbi16ZXJvIHBhdGhuYW1lLCBlLmcuIFwiL3VuaXhcIiBvciBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIsKhRmljaGVybyBkZSBpbmljaW8gbm8gdsOhbGlkbyEgIEVsIGZpY2hlcm8gZGUgaW5pY2lvIGRlYmUgc2VyIHVuIG5vbWJyZSBkZSBydXRhIGFic29sdXRvIGRpc3RpbnRvIGRlIGNlcm8sIGNvbW8gcG9yIGVqZW1wbG8gXCIvdW5peFwiIG8gXCIvdW5peC5zYXZlXCIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDAxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlIG1heGltdW0uIgorbXNnaWRfcGx1cmFsICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZXMgbWF4aW11bS4iCittc2dzdHJbMF0gIk5vbWJyZSBkZWwgZmljaGVybyBkZSBpbmljaW8gZGVtYXNpYWRvIGxhcmdvOiAlenUgYnl0ZSBjb21vIG3DoXhpbW8uIgorbXNnc3RyWzFdICJOb21icmUgZGVsIGZpY2hlcm8gZGUgaW5pY2lvIGRlbWFzaWFkbyBsYXJnbzogJXp1IGJ5dGVzIGNvbW8gbcOheGltby4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDgKK21zZ2lkICJCb290ZmlsZSBtdXN0IGhhdmUgYSBmdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUuIgorbXNnc3RyICJFbCBmaWNoZXJvIGRlIGluaWNpbyBkZWJlIHRlbmVyIHVuIG5vbWJyZSBkZSBydXRhIHRvdGFsbWVudGUgY2FsaWZpY2Fkby4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MTQKK21zZ2lkICJCZSBhd2FyZSB0aGF0IHRoZSBib290ZmlsZSBpcyBub3QgY2hlY2tlZCBmb3IgZXhpc3RlbmNlLiAgU0dJJ3MgZGVmYXVsdCBpcyBcIi91bml4XCIsIGFuZCBmb3IgYmFja3VwIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAiVGVuZ2EgZW4gY3VlbnRhIHF1ZSBubyBzZSBjb21wcnVlYmEgbGEgZXhpc3RlbmNpYSBkZWwgZmljaGVybyBkZSBpbmljaW8uICBFbCB2YWxvciBwcmVkZXRlcm1pbmFkbyBkZSBTR0kgZXMgXCIvdW5peFwiIHkgcGFyYSBsYSBjb3BpYSBkZSBzZWd1cmlkYWQgXCIvdW5peC5zYXZlXCIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBjdXJyZW50IGJvb3QgZmlsZSBpczogJXMiCittc2dzdHIgIkVsIGZpY2hlcm8gZGUgaW5pY2lvIGFjdHVhbCBlczogJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDEKK21zZ2lkICJFbnRlciBvZiB0aGUgbmV3IGJvb3QgZmlsZSIKK21zZ3N0ciAiRXNjcmliYSBlbCBub21icmUgZGVsIG51ZXZvIGZpY2hlcm8gZGUgaW5pY2lvIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQ2Cittc2dpZCAiQm9vdCBmaWxlIGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIk5vIHNlIGhhIG1vZGlmaWNhZG8gZWwgZmljaGVybyBkZSBpbmljaW8uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RmaWxlIGhhcyBiZWVuIGNoYW5nZWQgdG8gXCIlc1wiLiIKK21zZ3N0ciAiRWwgZmljaGVybyBkZSBpbmljaW8gc2UgaGEgY2FtYmlhZG8gcG9yIFwiJXNcIi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OTYKK21zZ2lkICJNb3JlIHRoYW4gb25lIGVudGlyZSBkaXNrIGVudHJ5IHByZXNlbnQuIgorbXNnc3RyICJFeGlzdGUgbcOhcyBkZSB1bmEgZW50cmFkYSBkZSBkaXNjbyBjb21wbGV0by4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MDMgbGliZmRpc2svc3JjL3N1bi5jOjQ1OAorbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZC4iCittc2dzdHIgIk5vIGhheSBuaW5ndW5hIHBhcnRpY2nDs24gZGVmaW5pZGEuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEzCittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiUGFyYSBJUklYIHNlIHJlY29taWVuZGEgcXVlIGxhIHBhcnRpY2nDs24gMTEgYWJhcnF1ZSBlbCBkaXNjbyBjb21wbGV0by4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIHBhcnRpdGlvbiBzaG91bGQgc3RhcnQgYXQgYmxvY2sgMCwgbm90IGF0IGJsb2NrICVkLiIKK21zZ3N0ciAiTGEgcGFydGljacOzbiBkZSBkaXNjbyBjb21wbGV0byBkZWJlIGVtcGV6YXIgZW4gZWwgYmxvcXVlIDAsIG5vIGVuIGVsIGJsb3F1ZSAlZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MjgKK21zZ2lkICJQYXJ0aXRpb24gMTEgc2hvdWxkIGNvdmVyIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIkxhIHBhcnRpY2nDs24gMTEgZGViZSBhYmFyY2FyIGVsIGRpc2NvIGNvbXBsZXRvLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3Rvci4iCittc2dpZF9wbHVyYWwgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9ycy4iCittc2dzdHJbMF0gIkxhcyBwYXJ0aWNpb25lcyAlZCB5ICVkIHNlIHNvbGFwYW4gZW4gJWQgc2VjdG9yLiIKK21zZ3N0clsxXSAiTGFzIHBhcnRpY2lvbmVzICVkIHkgJWQgc2Ugc29sYXBhbiBlbiAlZCBzZWN0b3Jlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NjMgbGliZmRpc2svc3JjL3NnaS5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3I6IHNlY3RvciAlOHUiCittc2dpZF9wbHVyYWwgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3RvcnM6IHNlY3RvcnMgJTh1LSV1IgorbXNnc3RyWzBdICJFc3BhY2lvIG5vIHV0aWxpemFkbyBkZSAlOHUgc2VjdG9yIC0gc2VjdG9yICU4dSIKK21zZ3N0clsxXSAiRXNwYWNpbyBubyB1dGlsaXphZG8gZGUgJTh1IHNlY3RvcmVzIC0gc2VjdG9yZXMgJTh1LSV1IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Njk4Cittc2dpZCAiVGhlIGJvb3QgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiTGEgcGFydGljacOzbiBkZSBpbmljaW8gbm8gZXhpc3RlLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwMgorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIkxhIHBhcnRpY2nDs24gZGUgaW50ZXJjYW1iaW8gbm8gZXhpc3RlLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwNgorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBoYXMgbm8gc3dhcCB0eXBlLiIKK21zZ3N0ciAiTGEgcGFydGljacOzbiBkZSBpbnRlcmNhbWJpbyBubyB0aWVuZSB1biB0aXBvIGRlIGludGVyY2FtYmlvLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwOQorbXNnaWQgIllvdSBoYXZlIGNob3NlbiBhbiB1bnVzdWFsIGJvb3RmaWxlIG5hbWUuIgorbXNnc3RyICJIYSBlbGVnaWRvIHVuIG5vbWJyZSBkZSBmaWNoZXJvIGRlIGluaWNpbyBwb2NvIGhhYml0dWFsLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjc1OQorbXNnaWQgIlBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiIKK21zZ3N0ciAiU29sYXBhbWllbnRvIGRlIHBhcnRpY2lvbmVzIGVuIGVsIGRpc2NvLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0NAorbXNnaWQgIkF0dGVtcHRpbmcgdG8gZ2VuZXJhdGUgZW50aXJlIGRpc2sgZW50cnkgYXV0b21hdGljYWxseS4iCittc2dzdHIgIlNlIGVzdMOhIGludGVudGFuZG8gZ2VuZXJhciB1bmEgZW50cmFkYSBkZSBkaXNjbyBjb21wbGV0byBhdXRvbcOhdGljYW1lbnRlLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0OQorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBpcyBhbHJlYWR5IGNvdmVyZWQgd2l0aCBwYXJ0aXRpb25zLiIKK21zZ3N0ciAiWWEgZXhpc3RlbiBwYXJ0aWNpb25lcyBxdWUgYWJhcmNhbiBlbCBkaXNjbyBjb21wbGV0by4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NTMKK21zZ2lkICJZb3UgZ290IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCEiCittc2dzdHIgIlNlIGhhIHByb2R1Y2lkbyB1biBzb2xhcGFtaWVudG8gZGUgcGFydGljaW9uZXMgZW4gZWwgZGlzY28uIENvcnLDrWphbG8gYW50ZXMgZGUgY29udGludWFyLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg3NSBsaWJmZGlzay9zcmMvc3VuLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ICVzIgorbXNnc3RyICJQcmltZXIgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4OTkgbGliZmRpc2svc3JjL3NnaS5jOjk0OQorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBlbGV2ZW50aCBwYXJ0aXRpb24gY292ZXJzIHRoZSBlbnRpcmUgZGlzayBhbmQgaXMgb2YgdHlwZSAnU0dJIHZvbHVtZScuIgorbXNnc3RyICJTZSByZWNvbWllbmRhIHF1ZSBsYSBwYXJ0aWNpw7NuIHVuZMOpY2ltYSBhYmFycXVlIGVsIGRpc2NvIGNvbXBsZXRvIHkgc2VhIGRlbCB0aXBvIGBTR0kgdm9sdW1lJy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5MTQgbGliZmRpc2svc3JjL3N1bi5jOjYzOQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0ICVzIG9yICslcyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICLDmmx0aW1vICVzIG8gKyVzIG8gK3RhbWHDsW97SyxNLEcsVCxQfSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjk4NSBsaWJmZGlzay9zcmMvc3VuLmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LiBUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLiIKK21zZ3N0ciAiRWwgaW9jdGwgZGUgQkxLR0VUU0laRSBmYWxsw7MgZW4gJXMuIFNlIHVzYXLDoSB1biB2YWxvciBwYXJhIGxhIGdlb21ldHLDrWEgZGVsIGNpbGluZHJvIGRlICVsbHUuIEVzdGUgdmFsb3IgcG9kcsOtYSBzZXIgdHJ1bmNhZG8gcGFyYSBkaXNwb3NpdGl2b3MgPiAzMy44IEdCLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNTEKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFNHSSBkaXNrbGFiZWwuIgorbXNnc3RyICJTZSBoYSBjcmVhZG8gdW5hIG51ZXZhIGV0aXF1ZXRhIGRlIGRpc2NvIFNHSS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDcwCittc2dpZCAiU29ycnksIG9ubHkgZm9yIG5vbi1lbXB0eSBwYXJ0aXRpb25zIHlvdSBjYW4gY2hhbmdlIHRoZSB0YWcuIgorbXNnc3RyICJMYW1lbnRhYmxlbWVudGUgc29sbyBzZSBwdWVkZSBjYW1iaWFyIGxhIGV0aXF1ZXRhIGVuIHBhcnRpY2lvbmVzIG5vIHZhY8OtYXMuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3NgorbXNnaWQgIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDkgYXMgdm9sdW1lIGhlYWRlciAoMCksIGFuZCBwYXJ0aXRpb24gMTEgYXMgZW50aXJlIHZvbHVtZSAoNiksIGFzIElSSVggZXhwZWN0cyBpdC4iCittc2dzdHIgIlNlIHJlY29taWVuZGEgZGVqYXIgbGEgcGFydGljacOzbiA5IGNvbW8gY2FiZWNlcmEgZGUgdm9sdW1lbiAoMCkgeSBsYSBwYXJ0aWNpw7NuIDExIGNvbW8gdm9sdW1lbiBjb21wbGV0byAoNikgeWEgcXVlIElSSVggYXPDrSBsbyBlc3BlcmEuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA4NQorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDAgaXMgb2YgdHlwZSBcIlNHSSB2b2xoZHJcIiwgdGhlIElSSVggc3lzdGVtIHdpbGwgcmVseSBvbiBpdCB0byByZXRyaWV2ZSBmcm9tIGl0cyBkaXJlY3Rvcnkgc3RhbmRhbG9uZSB0b29scyBsaWtlIHNhc2ggYW5kIGZ4LiBPbmx5IHRoZSBcIlNHSSB2b2x1bWVcIiBlbnRpcmUgZGlzayBzZWN0aW9uIG1heSB2aW9sYXRlIHRoaXMuIEFyZSB5b3Ugc3VyZSBhYm91dCB0YWdnaW5nIHRoaXMgcGFydGl0aW9uIGRpZmZlcmVudGx5PyIKK21zZ3N0ciAiU2UgcmVjb21pZW5kYSBxdWUgbGEgcGFydGljacOzbiBlbiBlbCBkZXNwbGF6YW1pZW50byAwIHNlYSBkZWwgdGlwbyBcIlNHSSB2b2xoZHJcIjsgZWwgc2lzdGVtYSBJUklYIGxhIHV0aWxpemFyw6EgcGFyYSByZWN1cGVyYXIgZGUgc3UgZGlyZWN0b3JpbyBoZXJyYW1pZW50YXMgYXV0w7Nub21hcyBjb21vIHNhc2ggeSBmeC4gU8OzbG8gbGEgc2VjY2nDs24gZGUgZGlzY28gY29tcGxldG8gXCJTR0kgdm9sdW1lXCIgcHVlZGUgaW5mcmluZ2lyIGVzdGEgcmVnbGEuIMK/RXN0w6Egc2VndXJvIGRlIHF1ZXJlciBkYXIgdW5hIGV0aXF1ZXRhIGRpc3RpbnRhIGEgZXN0YSBwYXJ0aWNpw7NuPyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQwCittc2dpZCAiVW5hc3NpZ25lZCIKK21zZ3N0ciAiU2luIGFzaWduYXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MgorbXNnaWQgIlN1bk9TIHJvb3QiCittc2dzdHIgIlN1bk9TIHJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MworbXNnaWQgIlN1bk9TIHN3YXAiCittc2dzdHIgIlN1bk9TIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NAorbXNnaWQgIlN1bk9TIHVzciIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDUKK21zZ2lkICJXaG9sZSBkaXNrIgorbXNnc3RyICJEaXNjbyBjb21wbGV0byIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2Cittc2dpZCAiU3VuT1Mgc3RhbmQiCittc2dzdHIgIlN1bk9TIHN0YW5kIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyB2YXIiCittc2dzdHIgIlN1bk9TIHZhciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ4Cittc2dpZCAiU3VuT1MgaG9tZSIKK21zZ3N0ciAiU3VuT1MgaG9tZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ5Cittc2dpZCAiU3VuT1MgYWx0IHNlY3RvcnMiCittc2dzdHIgIlNlY3RvcmVzIGFsdCBTdW5PUyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUwCittc2dpZCAiU3VuT1MgY2FjaGVmcyIKK21zZ3N0ciAiY2FjaGVmcyBTdW5PUyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUxCittc2dpZCAiU3VuT1MgcmVzZXJ2ZWQiCittc2dzdHIgInJlc2VydmFkbyBTdW5PUyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEzNworbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4gUHJvYmFibHkgeW91J2xsIGhhdmUgdG8gc2V0IGFsbCB0aGUgdmFsdWVzLCBlLmcuIGhlYWRzLCBzZWN0b3JzLCBjeWxpbmRlcnMgYW5kIHBhcnRpdGlvbnMgb3IgZm9yY2UgYSBmcmVzaCBsYWJlbCAocyBjb21tYW5kIGluIG1haW4gbWVudSkiCittc2dzdHIgIlNlIGhhIGRldGVjdGFkbyB1bmEgZXRpcXVldGEgZGUgZGlzY28gc3VuIGNvbiBzdW1hIGRlIGNvbXByb2JhY2nDs24gaW5jb3JyZWN0YS4gUHJvYmFibGVtZW50ZSB0ZW5kcsOhIHF1ZSBlc3RhYmxlY2VyIHRvZG9zIGxvcyB2YWxvcmVzLCBjb21vIGNhYmV6YXMsIHNlY3RvcmVzLCBjaWxpbmRyb3MgeSBwYXJ0aWNpb25lcyBvIGZvcnphciB1bmEgbnVldmEgZXRpcXVldGEgKG9yZGVuIHMgZW4gbWVuw7ogcHJpbmNpcGFsKSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1MAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdmVyc2lvbiBbJWRdLiIKK21zZ3N0ciAiU2UgaGEgZGV0ZWN0YWRvIHVuYSBldGlxdWV0YSBkZSBkaXNjbyBzdW4gY29uIHVuYSB2ZXJzacOzbiBpbmNvcnJlY3RhWyVkXSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5zYW5pdHkgWzB4JTA4eF0uIgorbXNnc3RyICJTZSBoYSBkZXRlY3RhZG8gdW5hIGV0aXF1ZXRhIGRlIGRpc2NvIHN1biBjb24gdW5hIHZ0b2Muc2FuaXR5IGluY29ycmVjdGEgWzB4JTA4eF0uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLm5wYXJ0cyBbJXVdLiIKK21zZ3N0ciAiU2UgaGEgZGV0ZWN0YWRvIHVuYSBldGlxdWV0YSBkZSBkaXNjbyBzdW4gY29uIHVuYSB2dG9jLm5wYXJ0cyBpbmNvcnJlY3RhIFsldV0uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTY1Cittc2dpZCAiV2FybmluZzogV3JvbmcgdmFsdWVzIG5lZWQgdG8gYmUgZml4ZWQgdXAgYW5kIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkiCittc2dzdHIgIkF0ZW5jacOzbjogTG9zIHZhbG9yZXMgaW5jb3JyZWN0b3MgZGViZW4gcmVtZW5kYXJzZSB5IHNlIGNvcnJlZ2lyw6FuIG1lZGlhbnRlIHcocml0ZSkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTIKK21zZ2lkICJIZWFkcyIKK21zZ3N0ciAiQ2FiZXphcyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE5NAorbXNnaWQgIlNlY3RvcnMvdHJhY2siCittc2dzdHIgIlNlY3RvcmVzL3Bpc3RhIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Mjk3Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTdW4gZGlza2xhYmVsLiIKK21zZ3N0ciAiU2UgaGEgY3JlYWRvIHVuYSBudWV2YSBldGlxdWV0YSBkZSBkaXNjbyBTdW4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGRvZXNuJ3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiTGEgcGFydGljacOzbiAldSBubyB0ZXJtaW5hIGVuIHVuIGzDrW1pdGUgZGUgY2lsaW5kcm8uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDM1CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIG90aGVycyBpbiBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiTGEgcGFydGljacOzbiAldSBzZSBzb2xhcGEgY29uIG90cmFzIGVuIGxvcyBzZWN0b3JlcyAldS0ldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgMC0ldS4iCittc2dzdHIgIkVzcGFjaW8gbm8gdXRpbGl6YWRvIC0gc2VjdG9yZXMgMC0ldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjUgbGliZmRpc2svc3JjL3N1bi5jOjQ3MQorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIkVzcGFjaW8gbm8gdXRpbGl6YWRvIC0gc2VjdG9yZXMgJXUtJXUuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTI4Cittc2dpZCAiT3RoZXIgcGFydGl0aW9ucyBhbHJlYWR5IGNvdmVyIHRoZSB3aG9sZSBkaXNrLiBEZWxldGUgc29tZS9zaHJpbmsgdGhlbSBiZWZvcmUgcmV0cnkuIgorbXNnc3RyICJZYSBoYXkgb3RyYXMgcGFydGljaW9uZXMgcXVlIGFiYXJjYW4gZWwgZGlzY28gY29tcGxldG8uIFN1cHJpbWEgYWxndW5hcyBvIHJlZHV6Y2Egc3UgdGFtYcOxbyBhbnRlcyBkZSB2b2x2ZXIgYSBpbnRlbnRhcmxvLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU5MworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWQgaXMgYWxyZWFkeSBhbGxvY2F0ZWQiCittc2dzdHIgIkVsIHNlY3RvciAlZCB5YSBlc3TDoSBhc2lnbmFkbyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYwMAorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSB0aGlyZCBwYXJ0aXRpb24gY292ZXJzIHRoZSB3aG9sZSBkaXNrIGFuZCBpcyBvZiB0eXBlIGBXaG9sZSBkaXNrJyIKK21zZ3N0ciAiU2UgcmVjb21pZW5kYSBlbmNhcmVjaWRhbWVudGUgcXVlIGxhIHRlcmNlcmEgcGFydGljacOzbiBhYmFycXVlIGVsIGRpc2NvIGNvbXBsZXRvIHkgc2VhIGRlbCB0aXBvIGBXaG9sZSBkaXNrJyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYxMAorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbmluZyB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gJXUgdG8gJXUgdG8gYmUgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJTZSBwcm9jZWRlIGEgYWxpbmVhciBlbCBwcmltZXIgc2VjdG9yIGRlc2RlICV1IGhhc3RhICV1IHBhcmEgZXN0YXIgZW4gZWwgbMOtbWl0ZSBkZSB1biBjaWxpbmRyby4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBoYXZlbid0IGNvdmVyZWQgdGhlIHdob2xlIGRpc2sgd2l0aCB0aGUgM3JkIHBhcnRpdGlvbiwgYnV0IHlvdXIgdmFsdWVcbiIKKyIlbHUgJXMgY292ZXJzIHNvbWUgb3RoZXIgcGFydGl0aW9uLiBZb3VyIGVudHJ5IGhhcyBiZWVuIGNoYW5nZWRcbiIKKyJ0byAlbHUgJXMiCittc2dzdHIgIiIKKyJObyBoYSBhYmFyY2FkbyBlbCBkaXNjbyBjb21wbGV0byBjb24gbGEgdGVyY2VyYSBwYXJ0aWNpw7NuLCBwZXJvXG4iCisiZWwgdmFsb3IgJWx1ICVzIHF1ZSBoYSBlc3BlY2lmaWNhZG8gc2Ugc29sYXBhIGNvbiBvdHJhIHBhcnRpY2nDs24uXG4iCisiTGEgZW50cmFkYSBxdWUgaGEgcmVhbGl6YWRvIHNlIGhhIGNhbWJpYWRvIHBvciAlbHUgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gU3VuT1MvU29sYXJpcyBjb21wYXRpYmlsaXR5LCBjb25zaWRlciBsZWF2aW5nIHRoaXMgcGFydGl0aW9uIGFzIFdob2xlIGRpc2sgKDUpLCBzdGFydGluZyBhdCAwLCB3aXRoICV1IHNlY3RvcnMiCittc2dzdHIgIlNpIGRlc2VhIG1hbnRlbmVyIGxhIGNvbXBhdGliaWxpZGFkIGNvbiBTdW5PUy9Tb2xhcmlzLCBzZSByZWNvbWllbmRhIGRlamFyIGVzdGEgcGFydGljacOzbiBjb21vIGRpc2NvIGNvbXBsZXRvICg1KSwgY29uIHByaW5jaXBpbyBlbiAwLCBjb24gJXUgc2VjdG9yZXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NTAKK21zZ2lkICJMYWJlbCBJRCIKK21zZ3N0ciAiSUQgZGUgbGEgZXRpcXVldGEiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NTUKK21zZ2lkICJWb2x1bWUgSUQiCittc2dzdHIgIklEIGRlbCB2b2x1bWVuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzY1Cittc2dpZCAiQWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiQ2lsaW5kcm9zIGFsdGVybmF0aXZvcyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg3MQorbXNnaWQgIk51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJOw7ptZXJvIGRlIGNpbGluZHJvcyBhbHRlcm5hdGl2b3MiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo4OTYKK21zZ2lkICJFeHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAiU2VjdG9yZXMgYWRpY2lvbmFsZXMgcG9yIGNpbGluZHJvIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTIwCittc2dpZCAiSW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIkZhY3RvciBkZSBpbnRlcmxlYXZlIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTQ0Cittc2dpZCAiUm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIlZlbG9jaWRhZCBkZSByb3RhY2nDs24gKHIucC5tLikiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5NjgKK21zZ2lkICJOdW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJOw7ptZXJvIGRlIGNpbGluZHJvcyBmw61zaWNvcyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwMzcKK21zZ2lkICIiCisiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gMyBhcyBXaG9sZSBkaXNrICg1KSxcbiIKKyJhcyBTdW5PUy9Tb2xhcmlzIGV4cGVjdHMgaXQgYW5kIGV2ZW4gTGludXggbGlrZXMgaXQuXG4iCittc2dzdHIgIiIKKyJTZSByZWNvbWllbmRhIGRlamFyIGxhIHBhcnRpY2nDs24gMyBjb21vIGRpc2NvIGNvbXBsZXRvICg1KSxcbiIKKyJ5YSBxdWUgYXPDrSBsbyBwcmV2w6kgU3VuT1MvU29sYXJpcyBlIGluY2x1c28gZXMgYWRlY3VhZG8gcGFyYSBMaW51eC5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNDgKK21zZ2lkICIiCisiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMFxuIgorImlzIFVGUywgRVhUMkZTIGZpbGVzeXN0ZW0gb3IgU3VuT1Mgc3dhcC4gUHV0dGluZyBMaW51eCBzd2FwXG4iCisidGhlcmUgbWF5IGRlc3Ryb3kgeW91ciBwYXJ0aXRpb24gdGFibGUgYW5kIGJvb3RibG9jay5cbiIKKyJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdGFnIHRoZSBwYXJ0aXRpb24gYXMgTGludXggc3dhcD8iCittc2dzdHIgIiIKKyJTZSByZWNvbWllbmRhIHF1ZSBsYSBwYXJ0aWNpw7NuIGVuIGVsIGRlc3BsYXphbWllbnRvIDBcbiIKKyJzZWEgVUZTLCBFWFQyRlMgbyBTdW5PUyBzd2FwLiBVdGlsaXphciBMaW51eCBzd2FwXG4iCisicHVlZGUgZGVzdHJ1aXIgbGEgdGFibGEgZGUgcGFydGljaW9uZXMgeSBlbCBibG9xdWUgZGUgaW5pY2lvLlxuIgorIsK/RXN0w6Egc2VndXJvIGRlIHF1ZSBkZXNlYSBxdWUgbGEgcGFydGljacOzbiBlc3TDqSBtYXJjYWRhIGNvbW8gTGludXggc3dhcD8iCisKKyM6IGxpYi9wYWdlci5jOjExMgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCAoJXMpIgorbXNnc3RyICJ3YWl0cGlkIGhhIGZhbGxhZG8gKCVzKSIKKworIzogbGliL3BhdGguYzoyMDkgc3lzLXV0aWxzL2xzY3B1LmM6MTgxOAorbXNnaWQgImZhaWxlZCB0byBjYWxsb2NhdGUgY3B1IHNldCIKK21zZ3N0ciAiZmFsbG8gZGUgY2FsbG9jYXRlIHNvYnJlIGVsIGNvbmp1bnRvIGRlIENQVXMiCisKKyM6IGxpYi9wYXRoLmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdCAlcyIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgbGEgbGlzdGEgZGUgQ1BVcyAlcyIKKworIzogbGliL3BhdGguYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrICVzIgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBsYSBtw6FzY2FyYSBkZSBDUFVzICVzIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjcyCittc2dpZCAiY2FuIG5vdCBvcGVuIFVOSVggc29ja2V0IgorbXNnc3RyICJubyBzZSBwdWVkZSBhYnJpciBlbCDCq3NvY2tldMK7IGRlIFVOSVgiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzgKK21zZ2lkICJjYW4gbm90IHNldCBvcHRpb24gZm9yIFVOSVggc29ja2V0IgorbXNnc3RyICJubyBzZSBwdWVkZSBjb25maWd1cmFyIGxhIG9wY2nDs24gcGFyYSDCq3NvY2tldMK7IGRlIFVOSVgiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6OTEKK21zZ2lkICJjYW4gbm90IGNvbm5lY3Qgb24gVU5JWCBzb2NrZXQiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGNvbmVjdGFyIGFsIMKrc29ja2V0wrsgZGUgVU5JWCIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHBseW1vdXRoIHJlcXVlc3QgJWMgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICJsYSBwZXRpY2nDs24gwqtwbHltb3V0aMK7ICVjIG5vIGVzdMOhIGltcGxlbWVudGFkYSIKKworIzogbGliL3JhbmR1dGlscy5jOjEzNgorbXNnaWQgImxpYmMgcHNldWRvLXJhbmRvbSBmdW5jdGlvbnMiCittc2dzdHIgImZ1bmNpb25lcyBwc2V1ZG9hbGVhdG9yaWFzIGRlIGxpYmMiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MTcgbGliL3N3YXBwcm9iZXIuYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHByb2JlIGRldmljZSIKK21zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlIHNvbmRlYXIgZWwgZGlzcG9zaXRpdm8iCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYmlndW91cyBwcm9iaW5nIHJlc3VsdDsgdXNlIHdpcGVmcyg4KSIKK21zZ3N0ciAiJXM6IHJlc3VsdGFkbyBkZWwgc29uZGVvIGFtYmlndW87IHV0aWxpY2Ugd2lwZWZzKDgpIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSB2YWxpZCBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAiJXM6IG5vIGVzIHVuYSBwYXJ0aWNpw7NuIGRlIGludGVyY2FtYmlvIHbDoWxpZGEiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuc3VwcG9ydGVkIHN3YXAgdmVyc2lvbiAnJXMnIgorbXNnc3RyICIlczogdmVyc2nDs24gZGUgaW50ZXJjYW1iaW8gZGVzY29ub2NpZGEgJyVzJyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjkwIGxvZ2luLXV0aWxzL2Noc2guYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+XVxuIgorbXNnc3RyICIgJXMgW29wY2lvbmVzXSBbPG5vbWJyZXVzdWFyaW8+XVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTMKK21zZ2lkICJDaGFuZ2UgeW91ciBmaW5nZXIgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIkNhbWJpYSBsYSBpbmZvcm1hY2nDs24gZGUgZmluZ2VyLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTYKK21zZ2lkICIgLWYsIC0tZnVsbC1uYW1lIDxmdWxsLW5hbWU+ICByZWFsIG5hbWVcbiIKK21zZ3N0ciAiIC1mLCAtLWZ1bGwtbmFtZSA8bm9tYnJlLWNvbXBsZXRvPiAgbm9tYnJlIHJlYWxcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk3Cittc2dpZCAiIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICAgb2ZmaWNlIG51bWJlclxuIgorbXNnc3RyICIgLW8sIC0tb2ZmaWNlIDxvZmljaW5hPiAgICAgICBuw7ptZXJvIGRlIG9maWNpbmFcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk4Cittc2dpZCAiIC1wLCAtLW9mZmljZS1waG9uZSA8cGhvbmU+ICAgb2ZmaWNlIHBob25lIG51bWJlclxuIgorbXNnc3RyICIgLXAsIC0tb2ZmaWNlLXBob25lIDx0ZWzDqWZvbm8+ICAgbsO6bWVybyBkZSB0ZWzDqWZvbm8gZGUgbGEgb2ZpY2luYVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTkKK21zZ2lkICIgLWgsIC0taG9tZS1waG9uZSA8cGhvbmU+ICAgICBob21lIHBob25lIG51bWJlclxuIgorbXNnc3RyICIgLWgsIC0taG9tZS1waG9uZSA8dGVsw6lmb25vPiAgbsO6bWVybyBkZSB0ZWzDqWZvbm8gZGUgY2FzYVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAxIGxvZ2luLXV0aWxzL2Noc2guYzo3OAorbXNnaWQgIiAtdSwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLXUsIC0taGVscCAgICAgbXVlc3RyYSBlc3RhIGF5dWRhIHkgc2FsZVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgImZpZWxkICVzIGlzIHRvbyBsb25nIgorbXNnc3RyICJDYW1wbyAlcyBkZW1hc2lhZG8gbGFyZ28uIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTIxIGxvZ2luLXV0aWxzL2Noc2guYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGhhcyBpbGxlZ2FsIGNoYXJhY3RlcnMiCittc2dzdHIgIiVzOiB0aWVuZSBjYXJhY3RlcmVzIG5vIHbDoWxpZG9zIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTUwIGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE2MgorIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbi5kZWZzIGZvcmJpZHMgc2V0dGluZyAlcyIKK21zZ3N0ciAibG9naW4uZGVmcyBwcm9oaWJlIGNvbmZpZ3VyYXIgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE1OCBsb2dpbi11dGlscy9jaGZuLmM6MzA5Cittc2dpZCAiT2ZmaWNlIgorbXNnc3RyICJPZmljaW5hIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjQgbG9naW4tdXRpbHMvY2hmbi5jOjMxMQorbXNnaWQgIk9mZmljZSBQaG9uZSIKK21zZ3N0ciAiVGVsw6lmb25vIGRlIGxhIG9maWNpbmEiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjggbG9naW4tdXRpbHMvY2hmbi5jOjE3MCBsb2dpbi11dGlscy9jaGZuLmM6MzEzCittc2dpZCAiSG9tZSBQaG9uZSIKK21zZ3N0ciAiVGVsw6lmb25vIGRlIGNhc2EiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyMzMKK21zZ2lkICJBYm9ydGVkLiIKK21zZ3N0ciAiSW50ZXJydW1waWRhLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBoYXMgdW5leHBlY3RlZCB2YWx1ZTogJXMiCittc2dzdHIgIiVzOiBDSEZOX1JFU1RSSUNUIHRpZW5lIHVuIHZhbG9yIGluZXNwZXJhZG86ICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGRvZXMgbm90IGFsbG93IGFueSBjaGFuZ2VzIgorbXNnc3RyICIlczogQ0hGTl9SRVNUUklDVCBubyBwZXJtaXRlIG5pbmfDum4gY2FtYmlvIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLlxuIgorbXNnc3RyICIqTk8qIHNlIGhhIGNhbWJpYWRvIGxhIGluZm9ybWFjacOzbiBkZSBmaW5nZXIuIEludMOpbnRlbG8gZGUgbnVldm8gbcOhcyBhZGVsYW50ZS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gY2hhbmdlZC5cbiIKK21zZ3N0ciAiU2UgaGEgY2FtYmlhZG8gbGEgaW5mb3JtYWNpw7NuIGRlIGZpbmdlci5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQwOCBsb2dpbi11dGlscy9jaHNoLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdSAodXNlciAlZCkgZG9uJ3QgZXhpc3QuIgorbXNnc3RyICJ1c3RlZCAoZWwgdXN1YXJpbyAlZCkgbm8gZXhpc3RlLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQxNCBsb2dpbi11dGlscy9jaHNoLmM6MjQ4IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIFwiJXNcIiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgImVsIHVzdWFyaW8gXCIlc1wiIG5vIGV4aXN0ZS4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MjAgbG9naW4tdXRpbHMvY2hzaC5jOjI1NAorbXNnaWQgImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzIgorbXNnc3RyICJzw7NsbyBzZSBwdWVkZW4gbW9kaWZpY2FyIGVudHJhZGFzIGxvY2FsZXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBmaW5nZXIgaW5mbyBvZiAlcyIKK21zZ3N0ciAiJXMgbm8gZXN0w6EgYXV0b3JpemFkbyBhIGNhbWJpYXIgbGEgaW5mb3JtYWNpw7NuIGRlIGZpbmdlciBkZSAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzNSBsb2dpbi11dGlscy9jaHNoLmM6MjcwCittc2dpZCAiVW5rbm93biB1c2VyIGNvbnRleHQiCittc2dzdHIgIkNvbnRleHRvIGRlIHVzdWFyaW8gZGVzY29ub2NpZG8iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NDEgbG9naW4tdXRpbHMvY2hzaC5jOjI3NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAibm8gc2UgcHVlZGUgZXN0YWJsZWNlciBlbCBjb250ZXh0byBwcmVkZXRlcm1pbmFkbyBwYXJhICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDUyCittc2dpZCAicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSBhbHRlcmluZywgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiZWwgVUlEIGVuIGVqZWN1Y2nDs24gbm8gY29pbmNpZGUgY29uIGVsIFVJRCBkZWwgdXN1YXJpbyBxdWUgc2UgZXN0w6EgYWx0ZXJhbmRvOyBjYW1iaW8gZGVuZWdhZG8iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgZmluZ2VyIGluZm9ybWF0aW9uIGZvciAlcy5cbiIKK21zZ3N0ciAiQ2FtYmlhbmRvIGluZm9ybWFjacOzbiBkZSBmaW5nZXIgcGFyYSAlcy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gbm90IGNoYW5nZWQuXG4iCittc2dzdHIgIk5vIHNlIGhhIGNhbWJpYWRvIGxhIGluZm9ybWFjacOzbiBkZSBmaW5nZXIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3MgorbXNnaWQgIkNoYW5nZSB5b3VyIGxvZ2luIHNoZWxsLlxuIgorbXNnc3RyICJDYW1iaWEgZWwgaW50w6lycHJldGUgZGUgw7NyZGVuZXMgZGUgaW5pY2lvIGRlIHNlc2nDs24uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBzcGVjaWZ5IGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBlc3BlY2lmaWNhIGVsIGludMOpcnByZXRlIGRlIMOzcmRlbmVzIGRlIGxvZ2luXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NgorbXNnaWQgIiAtbCwgLS1saXN0LXNoZWxscyAgICBwcmludCBsaXN0IG9mIHNoZWxscyBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdC1zaGVsbHMgICAgaW1wcmltZSBsYSBsaXN0YSBkZSBzaGVsbHMgeSBzYWxlXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoxMDAKK21zZ2lkICJObyBrbm93biBzaGVsbHMuIgorbXNnc3RyICJObyBoYXkgbmluZ8O6biBpbnTDqXJwcmV0ZSBkZSDDs3JkZW5lcyBjb25vY2lkby4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDAKK21zZ2lkICJzaGVsbCBtdXN0IGJlIGEgZnVsbCBwYXRoIG5hbWUiCittc2dzdHIgImVsIGludMOpcnByZXRlIGRlIMOzcmRlbmVzIGRlYmUgc2VyIHVuIG5vbWJyZSBkZSBydXRhIGNvbXBsZXRvLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIlwiJXNcIiBubyBleGlzdGUiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGlzIG5vdCBleGVjdXRhYmxlIgorbXNnc3RyICJcIiVzXCIgbm8gZXMgZWplY3V0YWJsZSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy4iCittc2dzdHIgIkF0ZW5jacOzbjogXCIlc1wiIG5vIGZpZ3VyYSBlbiAlcy4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMTQgbG9naW4tdXRpbHMvY2hzaC5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuXG4iCisiVXNlICVzIC1sIHRvIHNlZSBsaXN0LiIKK21zZ3N0ciAiIgorIlwiJXNcIiBubyBmaWd1cmEgZW4gJXMuXG4iCisiVXRpbGljZSAlcyAtbCBwYXJhIHZlciBsYSBsaXN0YS4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBzaGVsbCBvZiAlcyIKK21zZ3N0ciAiJXMgbm8gZXN0w6EgYXV0b3JpemFkbyBhIGNhbWJpYXIgZWwgaW50w6lycHJldGUgZGUgw7NyZGVuZXMgZGUgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyOTUKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICJlbCBVSUQgZW4gZWplY3VjacOzbiBubyBjb2luY2lkZSBjb24gZWwgVUlEIGRlbCB1c3VhcmlvIHF1ZSBzZSBlc3TDoSBhbHRlcmFuZG87IGNhbWJpbyBkZSBlbCBpbnTDqXJwcmV0ZSBkZSDDs3JkZW5lcyBkZW5lZ2FkbyIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIHNoZWxsIGlzIG5vdCBpbiAlcywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiZWwgaW50w6lycHJldGUgZGUgw7NyZGVuZXMgbm8gZXN0w6EgZW4gJXM7IGNhbWJpbyBkZSBpbnTDqXJwcmV0ZSBkZSDDs3JkZW5lcyBkZW5lZ2FkbyIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBzaGVsbCBmb3IgJXMuXG4iCittc2dzdHIgIkNhbWJpYW5kbyBpbnTDqXJwcmV0ZSBkZSDDs3JkZW5lcyBwYXJhICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzEyCittc2dpZCAiTmV3IHNoZWxsIgorbXNnc3RyICJOdWV2byBpbnTDqXJwcmV0ZSBkZSDDs3JkZW5lcyIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyMAorbXNnaWQgIlNoZWxsIG5vdCBjaGFuZ2VkLiIKK21zZ3N0ciAiTm8gc2UgaGEgY2FtYmlhZG8gZWwgaW50w6lycHJldGUgZGUgw7NyZGVuZXMuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzI1Cittc2dpZCAiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIipOTyogc2UgaGEgY2FtYmlhZG8gZWwgaW50w6lycHJldGUgZGUgw7NyZGVuZXMuIEludMOpbnRlbG8gZGUgbnVldm8gbcOhcyBhZGVsYW50ZS4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjkKK21zZ2lkICIiCisic2V0cHduYW0gZmFpbGVkXG4iCisiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIiIKKyJzZXRwd25hbSBoYSBmYWxsYWRvXG4iCisiKk5PKiBzZSBoYSBjYW1iaWFkbyBlbCBpbnTDqXJwcmV0ZSBkZSDDs3JkZW5lcy4gSW50w6ludGVsbyBkZSBudWV2byBtw6FzIGFkZWxhbnRlLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICJTaGVsbCBjaGFuZ2VkLlxuIgorbXNnc3RyICJTZSBoYSBjYW1iaWFkbyBlbCBpbnTDqXJwcmV0ZSBkZSDDs3JkZW5lcy5cbiIKKworIzogbG9naW4tdXRpbHMvaXNsb2NhbC5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyA8cGFzc3dvcmRmaWxlPiA8dXNlcm5hbWU+Li4uXG4iCittc2dzdHIgIk1vZG8gZGUgZW1wbGVvOiAlcyA8ZmljaGVyb2NvbnRyYXNlw7FhPiA8bm9tYnJldXN1YXJpbz4uLi5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjE3NCBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjAgc3lzLXV0aWxzL2RtZXNnLmM6MTE5MworIzogc3lzLXV0aWxzL2xzaXBjLmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdGltZSBmb3JtYXQ6ICVzIgorbXNnc3RyICJmb3JtYXRvIGRlIHRpZW1wbyBkZXNjb25vY2lkbzogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyODEgbG9naW4tdXRpbHMvbGFzdC5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcnJ1cHRlZCAlcyIKK21zZ3N0ciAiaW50ZXJydW1waWRvICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NDM5IGxvZ2luLXV0aWxzL2xhc3QuYzo0NTAKK21zZ2lkICJwcmVhbGxvY2F0aW9uIHNpemUgZXhjZWVkZWQiCittc2dzdHIgInRhbWHDsW8gZGUgcHJlcnJlc2VydmEgZXhjZWRpZG8iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPi4uLl0gWzx0dHk+Li4uXVxuIgorbXNnc3RyICIgJXMgW29wY2lub2VzXSBbPG5vbWJyZXVzdWFyaW8+Li4uXSBbPHR0eT4uLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzIKK21zZ2lkICJTaG93IGEgbGlzdGluZyBvZiBsYXN0IGxvZ2dlZCBpbiB1c2Vycy5cbiIKK21zZ3N0ciAiTXVlc3RyYSB1bmEgbGlzdGEgZGUgbG9zIMO6bHRpbW9zIHVzdWFyaW9zIHF1ZSBoYW4gdGVuaWRvIHNlc2nDs24uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzUKK21zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIgLTxuw7ptZXJvPiAgICAgICAgICAgIGN1w6FudGFzIGzDrW5lYXMgbW9zdHJhclxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc2Cittc2dpZCAiIC1hLCAtLWhvc3RsYXN0ICAgICAgIGRpc3BsYXkgaG9zdG5hbWVzIGluIHRoZSBsYXN0IGNvbHVtblxuIgorbXNnc3RyICIgLWEsIC0taG9zdGxhc3QgICAgICAgbXVlc3RyYSBsb3Mgbm9tYnJlcyBkZSBtw6FxdWluYSBlbiBsYSDDumx0aW1hIGNvbHVtbmFcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NworbXNnaWQgIiAtZCwgLS1kbnMgICAgICAgICAgICB0cmFuc2xhdGUgdGhlIElQIG51bWJlciBiYWNrIGludG8gYSBob3N0bmFtZVxuIgorbXNnc3RyICIgLWQsIC0tZG5zICAgICAgICAgICAgdHJhZHVjZSBlbCBuw7ptZXJvIElQIGVuIHVuIG5vbWJyZSBkZSBtw6FxdWluYVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICB1c2UgYSBzcGVjaWZpYyBmaWxlIGluc3RlYWQgb2YgJXNcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPGZpY2hlcm8+IHV0aWxpemEgdW4gZmljaGVybyBlc3BlY8OtZmljbyBlbiBsdWdhciBkZSAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgwCittc2dpZCAiIC1GLCAtLWZ1bGx0aW1lcyAgICAgIHByaW50IGZ1bGwgbG9naW4gYW5kIGxvZ291dCB0aW1lcyBhbmQgZGF0ZXNcbiIKK21zZ3N0ciAiIC1GLCAtLWZ1bGx0aW1lcyAgICAgIGltcHJpbWUgbGFzIGhvcmFzIHkgZmVjaGFzIGFic29sdXRhcyBkZSBpbmljaW8geSBmaW4gZGUgc2VzacOzblxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgxCittc2dpZCAiIC1pLCAtLWlwICAgICAgICAgICAgIGRpc3BsYXkgSVAgbnVtYmVycyBpbiBudW1iZXJzLWFuZC1kb3RzIG5vdGF0aW9uXG4iCittc2dzdHIgIiAtaSwgLS1pcCAgICAgICAgICAgICBtdWVzdHJhIGxvcyBuw7ptZXJvcyBJUCBlbiBub3RhY2nDs24gZGVjaW1hbCBwdW50ZWFkYVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgyCittc2dpZCAiIC1uLCAtLWxpbWl0IDxudW1iZXI+IGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIC1uLCAtLWxpbWl0IDxuw7ptZXJvPiBjdcOhbnRhcyBsw61uZWFzIG1vc3RyYXJcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MworbXNnaWQgIiAtUiwgLS1ub2hvc3RuYW1lICAgICBkb24ndCBkaXNwbGF5IHRoZSBob3N0bmFtZSBmaWVsZFxuIgorbXNnc3RyICIgLVIsIC0tbm9ob3N0bmFtZSAgICAgbm8gbW9zdHJhciBlbCBjYW1wbyBkZSBub21icmUgZGUgbcOhcXVpbmFcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NAorbXNnaWQgIiAtcywgLS1zaW5jZSA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyBzaW5jZSB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIC1zLCAtLXNpbmNlIDxob3JhPiAgIG11ZXN0cmEgbGFzIGzDrW5lYXMgcXVlIGhheSBkZXNkZSBsYSBob3JhIGVzcGVjaWZpY2FkYVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg1Cittc2dpZCAiIC10LCAtLXVudGlsIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHVudGlsIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLXQsIC0tdW50aWwgPHRpbWU+ICBtdWVzdHJhIGxhcyBsw61uZWFzIHF1ZSBoYXkgaGFzdGEgbGEgaG9yYSBlc3BlY2lmaWNhZGFcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NgorbXNnaWQgIiAtcCwgLS1wcmVzZW50IDx0aW1lPiBkaXNwbGF5IHdobyB3ZXJlIHByZXNlbnQgYXQgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtcCwgLS1wcmVzZW50IDx0aW1lPiBtdWVzdHJhIHF1acOpbmVzIGVzdGFiYW4gcHJlc2VudGVzIGEgbGEgaG9yYSBlc3BlY2lmaWNhZGFcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NworbXNnaWQgIiAtdywgLS1mdWxsbmFtZXMgICAgICBkaXNwbGF5IGZ1bGwgdXNlciBhbmQgZG9tYWluIG5hbWVzXG4iCittc2dzdHIgIiAtdywgLS1mdWxsbmFtZXMgICAgICBtdWVzdHJhIGxvcyBub21icmVzIGRlIHVzdWFyaW8geSBkZSBkb21pbmlvIGNvbXBsZXRvc1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg4Cittc2dpZCAiIC14LCAtLXN5c3RlbSAgICAgICAgIGRpc3BsYXkgc3lzdGVtIHNodXRkb3duIGVudHJpZXMgYW5kIHJ1biBsZXZlbCBjaGFuZ2VzXG4iCittc2dzdHIgIiAteCwgLS1zeXN0ZW0gICAgICAgICBtdWVzdHJhIGxhcyBlbnRyYWRhcyBkZSBwYXJhZGFzIGRlbCBzaXN0ZW1hIHkgbG9zIGNhbWJpb3MgZGUgbml2ZWwgZGUgZWplY3VjacOzblxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg5Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXBzIGluIHRoZSBzcGVjaWZpZWQgPGZvcm1hdD46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGltZXxzaG9ydHxmdWxsfGlzb1xuIgorbXNnc3RyICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXRvPiBtdWVzdHJhIGVsIHNlbGxvIGRlIHRpZW1wbyBlbiBlbCA8Zm9ybWF0bz4gZXNwZWNpZmljYWRvOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpbWV8c2hvcnR8ZnVsbHxpc29cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjg4MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXMgYmVnaW5zICVzIgorbXNnc3RyICIiCisiXG4iCisiJXMgZW1waWV6YSAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk1NiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY0CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY4Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgbsO6bWVybyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk3NyBsb2dpbi11dGlscy9sYXN0LmM6OTgyIGxvZ2luLXV0aWxzL2xhc3QuYzo5ODcKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZSB2YWx1ZSBcIiVzXCIiCittc2dzdHIgIlZhbG9yIGRlIGhvcmEgbm8gdsOhbGlkbzogXCIlc1wiIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6MjkgbG9naW4tdXRpbHMvbGlidXNlci5jOjMxCittc2dpZCAiQ291bGRuJ3QgZHJvcCBncm91cCBwcml2aWxlZ2VzIgorbXNnc3RyICJObyBzZSBoYW4gcG9kaWRvIHJldGlyYXIgbG9zIHByaXZpbGVnaW9zIGRlIGdydXBvIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibGlidXNlciBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVzLiIKK21zZ3N0ciAiTGEgaW5pY2lhbGl6YWNpw7NuIGRlIGxpYnVzZXIgaGEgZmFsbGFkbzogJXMuIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTIKK21zZ2lkICJjaGFuZ2luZyB1c2VyIGF0dHJpYnV0ZSBmYWlsZWQiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBjYW1iaWFyIGVsIGF0cmlidXRvIGRlIHVzdWFyaW8iCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo2NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIGF0dHJpYnV0ZSBub3QgY2hhbmdlZDogJXMiCittc2dzdHIgImF0cmlidXRvIGRlIHVzdWFyaW8gbm8gbW9kaWZpY2FkbzogJXMiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICV1IGlzIDYwLgorIzogbG9naW4tdXRpbHMvbG9naW4uYzoxODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZWQgb3V0IGFmdGVyICV1IHNlY29uZHMiCittc2dzdHIgInN1cGVyYWRvIGVsIHRpZW1wbyBkZSBlc3BlcmEgdHJhcyAldSBzZWd1bmRvcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6IGNhbid0IHJlb3BlbiB0dHk6ICVtIgorbXNnc3RyICJFUlJPUiBGQVRBTDogbm8gc2UgcHVlZGUgcmVhYnJpciBsYSB0ZXJtaW5hbDogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlcyBpcyBub3QgYSB0ZXJtaW5hbCIKK21zZ3N0ciAiRVJST1IgRkFUQUw6ICVzIG5vIGVzIHVuYSB0ZXJtaW5hbCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gKCVzLCAlbHUsICVsdSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2hvd24gKCVzLCAlbHUsICVsdSkgaGEgZmFsbGFkbzogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzE0CisjLCBjLWZvcm1hdAorbXNnaWQgImNobW9kICglcywgJXUpIGZhaWxlZDogJW0iCittc2dzdHIgImNobW9kICglcywgJXUpIGhhIGZhbGxhZG86ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM3NQorbXNnaWQgIkZBVEFMOiBiYWQgdHR5IgorbXNnc3RyICJFUlJPUiBGQVRBTDogVGVybWluYWwgZXJyw7NuZWEiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlczogY2hhbmdlIHBlcm1pc3Npb25zIGZhaWxlZDogJW0iCittc2dzdHIgIkVSUk9SIEZBVEFMOiAlczogbm8gc2UgaGFuIHBvZGlkbyBjYW1iaWFyIGxvcyBwZXJtaXNvczogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgbG9naW46ICUuKnMgIgorbXNnc3RyICLDmmx0aW1vIGluaWNpbyBkZSBzZXNpw7NuOiAlLipzICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnJvbSAlLipzXG4iCittc2dzdHIgImRlc2RlICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAib24gJS4qc1xuIgorbXNnc3RyICJlbiAlLipzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTUyCittc2dpZCAid3JpdGUgbGFzdGxvZyBmYWlsZWQiCittc2dzdHIgImZhbGxvIGRlIGVzY3JpdHVyYSBkZSBsYXN0bG9nIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJESUFMVVAgQVQgJXMgQlkgJXMiCittc2dzdHIgIkNvbmV4acOzbiB0ZWxlZsOzbmljYSBlbiAlcyBwb3IgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMgRlJPTSAlcyIKK21zZ3N0ciAiSW5pY2lvIGRlIHNlc2nDs24gY29uIHJvb3QgZW4gJXMgZGVzZGUgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMiCittc2dzdHIgIkluaWNpbyBkZSBzZXNpw7NuIGNvbiByb290IGVuICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorbXNnc3RyICJJbmljaW8gZGUgc2VzacOzbiBlbiAlcyBwb3IgJXMgZGVzZGUgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIgorbXNnc3RyICJJbmljaW8gZGUgc2VzacOzbiBlbiAlcyBwb3IgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE5Cittc2dpZCAibG9naW46ICIKK21zZ3N0ciAiSW5pY2lvIGRlIHNlc2nDs246ICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUEFNIGZhaWx1cmUsIGFib3J0aW5nOiAlcyIKK21zZ3N0ciAiZXJyb3IgZGUgUEFNOyBzZSBpbnRlcnJ1bXBlOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGRuJ3QgaW5pdGlhbGl6ZSBQQU06ICVzIgorbXNnc3RyICJObyBzZSBoYSBwb2RpZG8gaW5pY2lhbGl6YXIgUEFNOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOICV1IEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiRXJyb3IgZGUgaW5pY2lvIGRlIHNlc2nDs24gJXUgZGVzZGUgJXMgcGFyYSAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODI1IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkluaWNpbyBkZSBzZXNpw7NuIGluY29ycmVjdG9cbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVE9PIE1BTlkgTE9HSU4gVFJJRVMgKCV1KSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIkRlbWFzaWFkb3MgaW50ZW50b3MgZGUgaW5pY2lvIGRlIHNlc2nDs24gKCV1KSBkZXNkZSAlcyBwYXJhICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOIFNFU1NJT04gRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJFcnJvciBkZSBzZXNpw7NuIGRlIGluaWNpbyBkZSBzZXNpw7NuIGRlc2RlICVzIHBhcmEgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg1NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTG9naW4gaW5jb3JyZWN0XG4iCittc2dzdHIgIiIKKyJcbiIKKyJJbmljaW8gZGUgc2VzacOzbiBpbmNvcnJlY3RvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODgyIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTIzMiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNTUKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiBzZXR1cCBwcm9ibGVtLCBhYm9ydC4iCittc2dzdHIgIiIKKyJcbiIKKyJQcm9ibGVtYSBhbCBpbmljaWFyIGxhIHNlc2nDs24sIGFib3J0YWRvLiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVMTCB1c2VyIG5hbWUgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAibm9tYnJlIGRlIHVzdWFyaW8gTlVMTyBlbiAlczolZC4gQWJvcnRhZG8uIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVElPQ1NDVFRZIGZhaWxlZDogJW0iCittc2dzdHIgIkZhbGxvIGVuIFRJT0NTQ1RUWTogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbjogLWggaXMgZm9yIHN1cGVydXNlciBvbmx5XG4iCittc2dzdHIgImxvZ2luOiAtaCBlcyBzb2xvIHBhcmEgc3VwZXJ1c3VhcmlvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE4OQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogbG9naW4gWy1wXSBbLWggPGhvc3Q+XSBbLUhdIFtbLWZdIDx1c2VybmFtZT5dXG4iCittc2dzdHIgIk1vZG8gZGUgZW1wbGVvOiBsb2dpbiBbLXBdIFstaCA8aG9zdD5dIFstSF0gW1stZl0gPG5vbWJyZXVzdWFyaW8+XVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExOTEKK21zZ2lkICJCZWdpbiBhIHNlc3Npb24gb24gdGhlIHN5c3RlbS5cbiIKK21zZ3N0ciAiSW5pY2lhIHVuYSBzZXNpw7NuIGVuIGVsIHNpc3RlbWEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTIzMworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHVzZXIgbmFtZSBcIiVzXCIgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiTm9tYnJlIGRlIHVzdWFyaW8gbm8gdsOhbGlkbyBcIiVzXCIgZW4gJXM6JWQuIEFib3J0YWRvLiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjU0CisjLCBjLWZvcm1hdAorbXNnaWQgImdyb3VwcyBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICJoYSBmYWxsYWRvIGxhIGluaWNpYWxpemFjacOzbiBkZSBsb3MgZ3J1cG9zOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjc5Cittc2dpZCAic2V0Z2lkKCkgZmFpbGVkIgorbXNnc3RyICJzZXRnaWQoKSBoYSBmYWxsYWRvIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbmV3IG1haWwuXG4iCittc2dzdHIgIlRpZW5lIGNvcnJlbyBudWV2by5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzExCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG1haWwuXG4iCittc2dzdHIgIlRpZW5lIGNvcnJlby5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzI1Cittc2dpZCAic2V0dWlkKCkgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBoYSBmYWxsYWRvIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzEgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2hhbmdlIGRpcmVjdG9yeSBmYWlsZWQiCittc2dzdHIgIiVzOiBubyBzZSBoYSBwb2RpZG8gY2FtYmlhciBkZSBkaXJlY3RvcmlvIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzggbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczOQorIywgYy1mb3JtYXQKK21zZ2lkICJMb2dnaW5nIGluIHdpdGggaG9tZSA9IFwiL1wiLlxuIgorbXNnc3RyICJJbmljaWFuZG8gbGEgc2VzacOzbiBjb24gZGlyZWN0b3JpbyBkZSBpbmljaW8gPSBcIi9cIi5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzY3Cittc2dpZCAiY291bGRuJ3QgZXhlYyBzaGVsbCBzY3JpcHQiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBlamVjdXRhciBlbCBzY3JpcHQgZGUgaW50w6lycHJldGUgZGUgw7NyZGVuZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM2OQorbXNnaWQgIm5vIHNoZWxsIgorbXNnc3RyICJubyBoYXkgbmluZ8O6biBpbnTDqXJwcmV0ZSBkZSDDs3JkZW5lcyIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBjb250YWlucyBpbnZhbGlkIG51bWVyaWNhbCB2YWx1ZTogJXMiCittc2dzdHIgIiVzOiAlcyBjb250aWVuZSB1biBWYWxvciBudW3DqXJpY28gbm8gdsOhbGlkbzogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjM3NQorbXNnaWQgImh1c2ggbG9naW4gc3RhdHVzOiByZXN0b3JlIG9yaWdpbmFsIElEcyBmYWlsZWQiCittc2dzdHIgImVzdGFkbyBkZSBpbmljaW8gZGUgc2VzacOzbiBzaWxlbmNpb3NvOiBmYWxsbyBhbCByZXN0YXVyYXIgbG9zIElEcyBvcmlnaW5hbGVzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOCBzeXMtdXRpbHMvbHNjcHUuYzoxNTQwIHN5cy11dGlscy9sc2NwdS5jOjE1NTAKK21zZ2lkICJubyIKK21zZ3N0ciAibm8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3IG1pc2MtdXRpbHMvbHNibGsuYzoxODEKK21zZ2lkICJ1c2VyIG5hbWUiCittc2dzdHIgIm5vbWJyZSBkZWwgdXN1YXJpbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcKK21zZ2lkICJVc2VybmFtZSIKK21zZ3N0ciAiTm9tYnJlIGRlbCB1c3VhcmlvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOCBzeXMtdXRpbHMvcmVuaWNlLmM6NTQKK21zZ2lkICJ1c2VyIElEIgorbXNnc3RyICJJRCBkZWwgdXN1YXJpbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJwYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIm5vIGhhY2UgZmFsdGEgY29udHJhc2XDsWEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE5Cittc2dpZCAiUGFzc3dvcmQgbm90IHJlcXVpcmVkIgorbXNnc3RyICJObyBoYWNlIGZhbHRhIGNvbnRyYXNlw7FhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorbXNnaWQgImxvZ2luIGJ5IHBhc3N3b3JkIGRpc2FibGVkIgorbXNnc3RyICJpbmljaW8gZGUgc2VzacOzbiBwb3IgY29udHJhc2XDsWEgZGVzYWN0aXZhZG8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAiTG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIkluaWNpbyBkZSBzZXNpw7NuIHBvciBjb250cmFzZcOxYSBkZXNhY3RpdmFkbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKK21zZ2lkICJwYXNzd29yZCBkZWZpbmVkLCBidXQgbG9ja2VkIgorbXNnc3RyICJjb250cmFzZcOxYSBkZWZpbmlkYSwgcGVybyBlc3TDoSBibG9xdWVhZGEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCittc2dpZCAiUGFzc3dvcmQgaXMgbG9ja2VkIgorbXNnc3RyICJMYSBjb250cmFzZcOxYSBlc3TDoSBibG9xdWVhZGEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAibG9nIGluIGRpc2FibGVkIGJ5IG5vbG9naW4oOCkgb3IgcGFtX25vbG9naW4oOCkiCittc2dzdHIgImluaWNpbyBkZSBzZXNpw7NuIGRlc2FjdGl2YWRvIHBvciBub2xvZ2luKDgpIG8gcGFtX25vbG9naW4oOCkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAiTm8gbG9naW4iCittc2dzdHIgIk5vIHNlIGluaWNpYSBzZXNpw7NuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgInByaW1hcnkgZ3JvdXAgbmFtZSIKK21zZ3N0ciAibm9tYnJlIGRlIGdydXBvIHByaW1hcmlvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgIlByaW1hcnkgZ3JvdXAiCittc2dzdHIgIkdydXBvIHByaW1hcmlvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNAorbXNnaWQgInByaW1hcnkgZ3JvdXAgSUQiCittc2dzdHIgIklEIGRlbCBncnVwbyBwcmltYXJpbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIG5hbWVzIgorbXNnc3RyICJub21icmVzIGRlIGdydXBvIHN1cGxlbWVudGFyaW9zIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICJHcnVwb3Mgc3VwbGVtZW50YXJpb3MiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIklEcyBkZSBncnVwb3Mgc3VwbGVtZW50YXJpb3MiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIklEcyBkZSBncnVwb3Mgc3VwbGVtZW50YXJpb3MiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3Cittc2dpZCAiaG9tZSBkaXJlY3RvcnkiCittc2dzdHIgImRpcmVjdG9yaW8gaG9tZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKK21zZ2lkICJIb21lIGRpcmVjdG9yeSIKK21zZ3N0ciAiRGlyZWN0b3JpbyBob21lIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorbXNnaWQgImxvZ2luIHNoZWxsIgorbXNnc3RyICJpbnTDqXJwcmV0ZSBkZSDDs3JkZW5lcyBkZSBpbmljaW8gZGUgc2VzacOzbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKK21zZ2lkICJTaGVsbCIKK21zZ3N0ciAiSW50w6lycHJldGUgZGUgw7NyZGVuZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiZnVsbCB1c2VyIG5hbWUiCittc2dzdHIgIm5vbWJyZSBkZSB1c3VhcmlvIGNvbXBsZXRvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgIkdlY29zIGZpZWxkIgorbXNnc3RyICJDYW1wbyBnZWNvcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKK21zZ2lkICJkYXRlIG9mIGxhc3QgbG9naW4iCittc2dzdHIgImZlY2hhIGRlbCDDumx0aW1vIGluaWNpbyBkZSBzZXNpw7NuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorbXNnaWQgIkxhc3QgbG9naW4iCittc2dzdHIgIsOabHRpbW8gaW5pY2lvIGRlIHNlc2nDs24iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCittc2dpZCAibGFzdCB0dHkgdXNlZCIKK21zZ3N0ciAiw7psdGltbyB0ZXJtaW5hbCB1dGlsaXphZG8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCittc2dpZCAiTGFzdCB0ZXJtaW5hbCIKK21zZ3N0ciAiw5psdGltbyB0ZXJtaW5hbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJob3N0bmFtZSBkdXJpbmcgdGhlIGxhc3Qgc2Vzc2lvbiIKK21zZ3N0ciAibm9tYnJlIGRlIG3DoXF1aW5hIGR1cmFudGUgbGEgw7psdGltYSBzZXNpw7NuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorbXNnaWQgIkxhc3QgaG9zdG5hbWUiCittc2dzdHIgIsOabHRpbW8gbm9tYnJlIGRlIG3DoXF1aW5hIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworbXNnaWQgImRhdGUgb2YgbGFzdCBmYWlsZWQgbG9naW4iCittc2dzdHIgImZlY2hhIGRlbCDDumx0aW1vIGluaWNpbyBkZSBzZXNpw7NuIGZhbGxpZG8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiRmFpbGVkIGxvZ2luIgorbXNnc3RyICJJbmljaW8gZGUgc2VzacOzbiBmYWxsaWRvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorbXNnaWQgIndoZXJlIGRpZCB0aGUgbG9naW4gZmFpbD8iCittc2dzdHIgIsK/ZMOzbmRlIGhhIGZhbGxhZG8gZWwgaW5pY2lvIGRlIHNlc2nDs24iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0Cittc2dpZCAiRmFpbGVkIGxvZ2luIHRlcm1pbmFsIgorbXNnc3RyICJUZXJtaW5hbCBkZWwgaW5pY2lvIGRlIHNlc2nDs24gZmFsbGlkbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJ1c2VyJ3MgaHVzaCBzZXR0aW5ncyIKK21zZ3N0ciAiY29uZmlndXJhY2nDs24gZGUgc2lsZW5jaW8gZGVsIHVzdWFyaW8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAiSHVzaGVkIgorbXNnc3RyICJTaWxlbmNpb3NvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgImRheXMgdXNlciBpcyB3YXJuZWQgb2YgcGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAiZMOtYXMgcXVlIGVsIHVzdWFyaW8gZXMgYWR2ZXJ0aWRvIGRlIGxhIGNhZHVjaWRhZCBkZSBsYSBjb250cmFzZcOxYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzYKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIHdhcm4gaW50ZXJ2YWwiCittc2dzdHIgImludGVydmFsbyBkZSBhdmlzbyBkZSBjYWR1Y2lkYWQgZGUgbGEgY29udHJhc2XDsWEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAicGFzc3dvcmQgZXhwaXJhdGlvbiBkYXRlIgorbXNnc3RyICJmZWNoYSBkZSBjYWR1Y2lkYWQgZGUgbGEgY29udHJhc2XDsWEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAiQ2FkdWNpZGFkIGRlIGNvbnRyYXNlw7FhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorbXNnaWQgImRhdGUgb2YgbGFzdCBwYXNzd29yZCBjaGFuZ2UiCittc2dzdHIgImZlY2hhIGRlbCDDumx0aW1vIGNhbWJpbyBkZSBjb250cmFzZcOxYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJQYXNzd29yZCBjaGFuZ2VkIgorbXNnc3RyICJTZSBoYSBjYW1iaWFkbyBsYSBjb250cmFzZcOxYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzkKK21zZ2lkICJudW1iZXIgb2YgZGF5cyByZXF1aXJlZCBiZXR3ZWVuIGNoYW5nZXMiCittc2dzdHIgIm7Dum1lcm8gZGUgZMOtYXMgcmVxdWVyaWRvcyBlbnRyZSBjYW1iaW9zIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIk1pbmltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIkZlY2hhIG3DoXMgdGVtcHJhbmEgcGFyYSBjYW1iaWFyIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZGF5cyBhIHBhc3N3b3JkIG1heSByZW1haW4gdW5jaGFuZ2VkIgorbXNnc3RyICJtw6F4aW1vIG7Dum1lcm8gZGUgZMOtYXMgcXVlIHVuYSBjb250cmFzZcOxYSBwdWVkZSBwZXJtYW5lY2VyIHNpbiBtb2RpZmljYXJzZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKK21zZ2lkICJNYXhpbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICJGZWNoYSBkZSBtb2RpZmljYWNpw7NuIG3DoXMgdGFyZMOtYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJ0aGUgdXNlcidzIHNlY3VyaXR5IGNvbnRleHQiCittc2dzdHIgImNvbnRleHRvIGRlIHNlZ3VyaWRhZCBkZWwgdXN1YXJpbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJTZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIkNvbnRleHRvIFNFTGludXgiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBydW4gYnkgdGhlIHVzZXIiCittc2dzdHIgIm7Dum1lcm8gZGUgcHJvY2Vzb3MgZWplY3V0YWRvcyBwb3IgZWwgdXN1YXJpbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKK21zZ2lkICJSdW5uaW5nIHByb2Nlc3NlcyIKK21zZ3N0ciAiUHJvY2Vzb3MgZW4gZWplY3VjacOzbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyODggbWlzYy11dGlscy9maW5kbW50LmM6MTM2IG1pc2MtdXRpbHMvbHNibGsuYzoyMzEKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBjb2x1bW5zIHNwZWNpZmllZCwgdGhlIGxpbWl0IGlzICV6dSBjb2x1bW5zIgorbXNnc3RyICJzZSBoYW4gZXNwZWNpZmljYWRvIGRlbWFzaWFkYXMgY29sdW1uYXM7IGVsIGzDrW1pdGUgZXMgJXp1IGNvbHVtbmFzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0MyBzeXMtdXRpbHMvbHNpcGMuYzo0NTYKK21zZ2lkICJ1bnN1cHBvcnRlZCB0aW1lIHR5cGUiCittc2dzdHIgInRpcG8gZGUgaG9yYSBubyBhZG1pdGlkbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDcKK21zZ2lkICJmYWlsZWQgdG8gY29tcG9zZSB0aW1lIHN0cmluZyIKK21zZ3N0ciAiZmFsbG8gYWwgY29tcG9uZXIgbGEgY2FkZW5hIGRlIGxhIGhvcmEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6NjQ4Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAibm8gc2UgaGFuIHBvZGlkbyBvYnRlbmVyIGdydXBvcyBzdXBsZW1lbnRhcmlvcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDcxCittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVua25vd24gY29sdW1uIgorbXNnc3RyICJlcnJvciBpbnRlcm5vOiBjb2x1bW5hIGRlc2Nvbm9jaWRhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzUgc3lzLXV0aWxzL2xzaXBjLmM6NTAzIHN5cy11dGlscy9sc2lwYy5jOjYyNQorIzogc3lzLXV0aWxzL2xzaXBjLmM6NjgwIHN5cy11dGlscy9sc2lwYy5jOjgzOCBzeXMtdXRpbHMvbHNpcGMuYzoxMDM2Cittc2dpZCAiZmFpbGVkIHRvIHNldCBkYXRhIgorbXNnc3RyICJubyBzZSBoYW4gcG9kaWRvIHBvbmVyIGxvcyBkYXRvcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMYXN0IGxvZ3M6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLDmmx0aW1hcyBjb25leGlvbmVzOlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjggbG9naW4tdXRpbHMvbm9sb2dpbi5jOjI2CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDEgbWlzYy11dGlscy9tY29va2llLmM6ODIgbWlzYy11dGlscy91dWlkZC5jOjcwCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyNSBzeXMtdXRpbHMvZG1lc2cuYzoyNjQgc3lzLXV0aWxzL2lwY21rLmM6NjYKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjAgc3lzLXV0aWxzL2xzaXBjLmM6Mjc3IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNAorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo5NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODAgdGV4dC11dGlscy9saW5lLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIgJXMgW29wY2lvbmVzXVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzEKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIk11ZXN0cmEgaW5mb3JtYWNpw7NuIHNvYnJlIGxvcyB1c3VhcmlvcyBjb25vY2lkb3MgZW4gZWwgc2lzdGVtYS5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM0Cittc2dpZCAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBkaXNwbGF5IGluZm8gYWJvdXQgcGFzc3dvcmRzIGV4cGlyYXRpb25cbiIKK21zZ3N0ciAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBtdWVzdHJhIGluZm9ybWFjacOzbiBzb2JyZSBsYSBjYWR1Y2lkYWQgZGUgbGFzIGNvbnRyYXNlw7Fhc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzUKK21zZ2lkICIgLWMsIC0tY29sb24tc2VwYXJhdGUgICAgIGRpc3BsYXkgZGF0YSBpbiBhIGZvcm1hdCBzaW1pbGFyIHRvIC9ldGMvcGFzc3dkXG4iCittc2dzdHIgIiAtYyAgLS1jb2x1bi1zZXBhcmF0ZSAgICAgbXVlc3RyYSBsb3MgZGF0b3MgZW4gdW4gZm9ybWF0byBzaW1pbGFyIGEgL2V0Yy9wYXNzd2RcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM2IHN5cy11dGlscy9sc2lwYy5jOjI5NgorbXNnaWQgIiAtZSwgLS1leHBvcnQgICAgICAgICAgICAgZGlzcGxheSBpbiBhbiBleHBvcnQtYWJsZSBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtZSwgLS1leHBvcnQgICAgICAgICAgICAgbXVlc3RyYSBlbiB1biBmb3JtYXRvIGRlIHNhbGlkYSBleHBvcnRhYmxlXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNworbXNnaWQgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAgZGlzcGxheSBkYXRhIGFib3V0IHRoZSB1c2VycycgbGFzdCBmYWlsZWQgbG9naW5zXG4iCittc2dzdHIgIiAgLWYsIC0tZmFpbGVkICAgICAgICAgICAgbXVlc3RyYSBpbmZvcm1hY2nDs24gc29icmUgbG9zIMO6bHRpbW9zIGluaWNpb3MgZGUgc2VzacOzbiBmYWxsaWRvcyBkZSBsb3MgdXN1YXJpb3NcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM4Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGdyb3Vwc1xuIgorbXNnc3RyICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgIG11ZXN0cmEgaW5mb3JtYWNpw7NuIHNvYnJlIGxvcyBncnVwb3NcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM5Cittc2dpZCAiIC1nLCAtLWdyb3Vwcz08Z3JvdXBzPiAgICBkaXNwbGF5IHVzZXJzIGJlbG9uZ2luZyB0byBhIGdyb3VwIGluIDxncm91cHM+XG4iCittc2dzdHIgIiAtZywgLS1ncm91cHM9PGdydXBvcz4gICAgbXVlc3RyYSBsb3MgdXN1YXJpb3MgcXVlIHBlcnRlbmVjZW4gYSB1bm8gZGUgbG9zIGdydXBvcyBlbiA8Z3J1cG9zPlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDAKK21zZ2lkICIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIHNob3cgaW5mbyBhYm91dCB0aGUgdXNlcnMnIGxhc3QgbG9naW4gc2Vzc2lvbnNcbiIKK21zZ3N0ciAiICAtTCwgLS1sYXN0ICAgICAgICAgICAgICBtdWVzdHJhIGluZm9ybWFjacOzbiBzb2JyZSBsYXMgw7psdGltYXMgc2VzaW9uZXMgZGUgbG9zIHVzdWFyaW9zXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MQorbXNnaWQgIiAtbCwgLS1sb2dpbnM9PGxvZ2lucz4gICAgZGlzcGxheSBvbmx5IHVzZXJzIGZyb20gPGxvZ2lucz5cbiIKK21zZ3N0ciAiIC1sLCAtLWxvZ2lucz08bG9naW5zPiAgICBtdWVzdHJhIMO6bmljYW1lbnRlIGxvcyB1c3VhcmlvcyBxdWUgZXN0w6luIGVuIDxsb2dpbnM+XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MiBzeXMtdXRpbHMvbHNpcGMuYzoyOTgKK21zZ2lkICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGRpc3BsYXkgZWFjaCBwaWVjZSBvZiBpbmZvcm1hdGlvbiBvbiBhIG5ldyBsaW5lXG4iCittc2dzdHIgIiAtbiwgLS1uZXdsaW5lICAgICAgICAgICAgbXVlc3RyYSBjYWRhIGJsb3F1ZSBkZSBpbmZvcm1hY2nDs24gZW4gdW5hIGzDrW5lYSBkaXN0aW50YVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDMgc3lzLXV0aWxzL2xzaXBjLmM6MjkxCittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIG5vIGltcHJpbWUgbGFzIGNhYmVjZXJhc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDQgc3lzLXV0aWxzL2xzaXBjLmM6MjkyCittc2dpZCAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBkb24ndCB0cnVuY2F0ZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBubyB0cnVuY2EgbGEgc2FsaWRhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NSBzeXMtdXRpbHMvbHNpcGMuYzozMDAKK21zZ2lkICIgLW8sIC0tb3V0cHV0Wz08bGlzdD5dICAgIGRlZmluZSB0aGUgY29sdW1ucyB0byBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dFs9PGxpc3RhPl0gICBkZWZpbmUgbGFzIGNvbHVtbmFzIGRlIGxhIHNhbGlkYVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDYKK21zZ2lkICIgLXAsIC0tcHdkICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBsb2dpbiBieSBwYXNzd29yZC5cbiIKK21zZ3N0ciAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICBtdWVzdHJhIGluZm9ybWFjacOzbiByZWxhY2lvbmFkYSBjb24gaW5pY2lvIGRlIHNlc2nDs24sIHBvciBjb250cmFzZcOxYVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDcgc3lzLXV0aWxzL2xzaXBjLmM6MzAyCittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICBkaXNwbGF5IGluIHJhdyBtb2RlXG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgbXVlc3RyYSBlbiBtb2RvIGJydXRvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OAorbXNnaWQgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAgZGlzcGxheSBzeXN0ZW0gYWNjb3VudHNcbiIKK21zZ3N0ciAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICBtdWVzdHJhIGxhcyBjdWVudGFzIGRlbCBzaXN0ZW1hXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OSBzeXMtdXRpbHMvbHNpcGMuYzoyOTMKK21zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQ9PHR5cGU+IGRpc3BsYXkgZGF0ZXMgaW4gc2hvcnQsIGZ1bGwgb3IgaXNvIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tdGltZS1mb3JtYXQ9PHRpcG8+IG11ZXN0cmEgbGFzIGZlY2hhcyBlbiBmb3JtYXRvIGJyZXZlLCBjb21wbGV0byBvIGlzb1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTAKK21zZ2lkICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIGRpc3BsYXkgdXNlciBhY2NvdW50c1xuIgorbXNnc3RyICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIG11ZXN0cmEgbGFzIGN1ZW50YXMgZGUgbG9zIHVzdWFyaW9zXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MQorbXNnaWQgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgZGlzcGxheSBTRUxpbnV4IGNvbnRleHRzXG4iCittc2dzdHIgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgbXVlc3RyYXMgbG9zIGNvbnRleHRvcyBTRUxpbnV4XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MgorbXNnaWQgIiAteiwgLS1wcmludDAgICAgICAgICAgICAgZGVsaW1pdCB1c2VyIGVudHJpZXMgd2l0aCBhIG51bCBjaGFyYWN0ZXJcbiIKK21zZ3N0ciAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0YSBsYXMgZW50cmFkYXMgZGUgbG9zIHVzdWFyaW9zIG1lZGlhbnRlIHVuIGNhcsOhY3RlciBudWxvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MworbXNnaWQgIiAgICAgLS13dG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciB3dG1wXG4iCittc2dzdHIgIiAgICAgLS13dG1wLWZpbGUgPHJ1dGE+ICAgZXN0YWJsZWNlIHVuYSBydXRhIGFsdGVybmF0aXZhIHBhcmEgd3RtcFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTQKK21zZ2lkICIgICAgIC0tYnRtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3IgYnRtcFxuIgorbXNnc3RyICIgICAgIC0tYnRtcC1maWxlIDxydXRhPiAgIGVzdGFibGVjZSB1bmEgcnV0YSBhbHRlcm5hdGl2YSBwYXJhIGJ0bXBcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjU5IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDcgc3lzLXV0aWxzL2xzY3B1LmM6MTk3OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJDb2x1bW5hcyBkaXNwb25pYmxlczpcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDQyCittc2dpZCAiZmFpbGVkIHRvIHJlcXVlc3Qgc2VsaW51eCBzdGF0ZSIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGNvbnN1bHRhciBlbCBlc3RhZG8gZGUgU0VMaW51eCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDU2IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ2MAorbXNnaWQgIk9ubHkgb25lIHVzZXIgbWF5IGJlIHNwZWNpZmllZC4gVXNlIC1sIGZvciBtdWx0aXBsZSB1c2Vycy4iCittc2dzdHIgIlNvbG8gc2UgcHVlZGUgZXNwZWNpZmljYXIgdW4gdXN1YXJpby4gVXRpbGljZSAtbCBwYXJhIG3Dumx0aXBsZXMgdXN1YXJpb3MuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo0OSBsb2dpbi11dGlscy9uZXdncnAuYzo1NQorbXNnaWQgImNvdWxkIG5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAibm8gc2UgaGFuIHBvZGlkbyBjb25maWd1cmFyIGxvcyBhdHJpYnV0b3MgZGVsIHRlcm1pbmFsIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo1NworbXNnaWQgImdldGxpbmUoKSBmYWlsZWQiCittc2dzdHIgImdldGxpbmUoKSBoYSBmYWxsYWRvIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNDgKK21zZ2lkICJQYXNzd29yZDogIgorbXNnc3RyICJDb250cmFzZcOxYTogIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNTQgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMDUKK21zZ2lkICJjcnlwdCBmYWlsZWQiCittc2dzdHIgImNyeXB0IGhhIGZhbGxhZG8iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE2NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGdyb3VwPlxuIgorbXNnc3RyICIgJXMgPGdydXBvPlxuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjkKK21zZ2lkICJMb2cgaW4gdG8gYSBuZXcgZ3JvdXAuXG4iCittc2dzdHIgIkluaWNpYSBzZXNpw7NuIGNvbiB1biBncnVwbyBkaXN0aW50by5cbiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjA3Cittc2dpZCAid2hvIGFyZSB5b3U/IgorbXNnc3RyICLCv3F1acOpbiBlcyB1c3RlZD8iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxMSBsb2dpbi11dGlscy9uZXdncnAuYzoyMjMgc3lzLXV0aWxzL25zZW50ZXIuYzo0MjMKK21zZ2lkICJzZXRnaWQgZmFpbGVkIgorbXNnc3RyICJzZXRnaWQgaGEgZmFsbGFkbyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjE2IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxOAorbXNnaWQgIm5vIHN1Y2ggZ3JvdXAiCittc2dzdHIgIm5vIGhheSB0YWwgZ3J1cG8iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyMSBzeXMtdXRpbHMvbW91bnQuYzo0OTEKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCIKK21zZ3N0ciAicGVybWlzbyBkZW5lZ2FkbyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI3IHN5cy11dGlscy9uc2VudGVyLmM6NDI1Cittc2dpZCAic2V0dWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkIGhhIGZhbGxhZG8iCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzoyOQorbXNnaWQgIlBvbGl0ZWx5IHJlZnVzZSBhIGxvZ2luLlxuIgorbXNnc3RyICJSZWNoYXphIGNvcnTDqXNtZW50ZSB1biBpbmljaW8gZGUgc2VzacOzbi5cbiIKKworIzogbG9naW4tdXRpbHMvbm9sb2dpbi5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoaXMgYWNjb3VudCBpcyBjdXJyZW50bHkgbm90IGF2YWlsYWJsZS5cbiIKK21zZ3N0ciAiQWN0dWFsbWVudGUgZXN0YSBjdWVudGEgbm8gZXN0w6EgZGlzcG9uaWJsZS5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIHNlc3Npb246ICVzIgorbXNnc3RyICJubyBzZSBwdWVkZSBhYnJpciBsYSBzZXNpw7NuOiAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzA0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBjaGlsZCBwcm9jZXNzIgorbXNnc3RyICJubyBzZSBwdWVkZSBjcmVhciBlbCBwcm9jZXNvIGhpam8iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAibm8gc2UgcHVlZGUgY2FtYmlhciBlbCBkaXJlY3RvcmlvIGEgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMyMQorbXNnaWQgImNhbm5vdCBibG9jayBzaWduYWxzIgorbXNnc3RyICJubyBzZSBwdWVkZW4gYmxvcXVlYXIgbGFzIHNlw7FhbGVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMzUgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzQzCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNDkgbWlzYy11dGlscy91dWlkZC5jOjQwNyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc3MQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGVzdGFibGVjZXIgZWwgbWFuZWphZG9yIGRlIHNlw7FhbGVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNzQKK21zZ2lkICIgKGNvcmUgZHVtcGVkKSIKK21zZ3N0ciAiIChtZW1vcmlhIHZvbGNhZGEpIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZCwga2lsbGluZyBzaGVsbC4uLiIKK21zZ3N0ciAiIgorIlxuIgorIlNlc2nDs24gdGVybWluYWRhLCBtYXRhbmRvIGVsIGludMOpcnByZXRlIGRlIMOzcmRlbmVzLi4uIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC4uLmtpbGxlZC5cbiIKK21zZ3N0ciAiIC4uLm1hdGFkby5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NDg2Cittc2dpZCAibWF5IG5vdCBiZSB1c2VkIGJ5IG5vbi1yb290IHVzZXJzIgorbXNnc3RyICJubyBwdWVkZW4gdXRpbGl6YXJsbyB1c3VhcmlvcyBkaXN0aW50b3MgZGUgcm9vdCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTE0Cittc2dpZCAiaW5jb3JyZWN0IHBhc3N3b3JkIgorbXNnc3RyICJjb250cmFzZcOxYSBpbmNvcnJlY3RhIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1OTgKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwcyIKK21zZ3N0ciAibm8gc2UgcHVlZGVuIGVzdGFibGVjZXIgbG9zIGdydXBvcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjEzIHN5cy11dGlscy9lamVjdC5jOjY2NQorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXAgaWQiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGVzdGFibGVjZXIgZWwgaWQgZGVsIGdydXBvIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2MTUgc3lzLXV0aWxzL2VqZWN0LmM6NjY4Cittc2dpZCAiY2Fubm90IHNldCB1c2VyIGlkIgorbXNnc3RyICJubyBzZSBwdWVkZSBlc3RhYmxlY2VyIGVsIGlkIGRlbCB1c3VhcmlvIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gLXUgPHVzdWFyaW8+IDxvcmRlbj5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njg5IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwMQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gWy1dIFs8dXN1YXJpbz4gWzxhcmd1bWVudG8+Li4uXV1cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjkwCittc2dpZCAiIgorIlxuIgorIlJ1biA8Y29tbWFuZD4gd2l0aCB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIG9mIDx1c2VyPi4gIElmIC11IGlzXG4iCisibm90IGdpdmVuLCBmYWxsIGJhY2sgdG8gc3UoMSktY29tcGF0aWJsZSBzZW1hbnRpY3MgYW5kIGV4ZWN1dGUgc3RhbmRhcmQgc2hlbGwuXG4iCisiVGhlIG9wdGlvbnMgLWMsIC1mLCAtbCwgYW5kIC1zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtdS5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkVqZWN1dGUgPG9yZGVuPiBjb24gbG9zIElEIGRlIHVzdWFyaW8gZSBJRCBkZSBncnVwbyBlZmVjdGl2b3MgZGUgPHVzdWFyaW8+LiAgU2kgbm8gc2UgZXNwZWNpZmljYVxuIgorIi11LCByZWN1cnJhIGEgbGEgc2Vtw6FudGljYSBjb21wYXRpYmxlIGNvbiBzdSgxKSB5IGVqZWN1dGUgZWwgaW50w6lycHJldGUgZGUgw7NyZGVuZXMgZXN0w6FuZGFyLlxuIgorIkxhcyBvcGNpb25lcyAtYywgLWYsIC1sIHkgLXMgc29uIG11dHVhbWVudGUgZXhjbHV5ZW5ldGVzIGNvbiAtdS5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njk3Cittc2dpZCAiIC11LCAtLXVzZXIgPHVzZXI+ICAgICAgICAgICAgIHVzZXJuYW1lXG4iCittc2dzdHIgIiAtdSwgLS11c2VyIDx1c3VhcmlvPiAgICAgICAgICBub21icmUgZGUgdXN1YXJpb1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDIKK21zZ2lkICIiCisiXG4iCisiQ2hhbmdlIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgdG8gdGhhdCBvZiA8dXNlcj4uXG4iCisiQSBtZXJlIC0gaW1wbGllcyAtbC4gIElmIDx1c2VyPiBpcyBub3QgZ2l2ZW4sIHJvb3QgaXMgYXNzdW1lZC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkNhbWJpZSBsb3MgSUQgZGUgdXN1YXJpbyBlIElEIGRlIGdydXBvIGVmZWN0aXZvcyBhIGxvcyBwcm9waW9zIGRlIDx1c3VhcmlvPi5cbiIKKyJVbiBtZXJvIC0gaW1wbGljYSAtbC4gIFNpIG5vIHNlIGVzcGVjaWZpY2EgPHVzdWFyaW8+LCBzZSBhc3VtZSByb290LlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDkKK21zZ2lkICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBkbyBub3QgcmVzZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4iCittc2dzdHIgIiAtbSwgLXAsIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgIG5vIHJlc3RhYmxlY2UgbGFzIHZhcmlhYmxlcyBkZSBlbnRvcm5vXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMAorbXNnaWQgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICAgICAgICAgIHNwZWNpZnkgdGhlIHByaW1hcnkgZ3JvdXBcbiIKK21zZ3N0ciAiIC1nLCAtLWdyb3VwIDxncnVwbz4gICAgICAgICAgICAgZXNwZWNpZmljYSBlbCBncnVwbyBwcmltYXJpb1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTEKK21zZ2lkICIiCisiIC1HLCAtLXN1cHAtZ3JvdXAgPGdyb3VwPiAgICAgICAgc3BlY2lmeSBhIHN1cHBsZW1lbnRhbCBncm91cFxuIgorIlxuIgorbXNnc3RyICIgLUcsIC0tc3VwcC1ncm91cCA8Z3J1cG8+ICAgICAgICAgZXNwZWNpZmljYSB1biBncnVwbyBzdXBsZW1lbnRhcmlvXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMworbXNnaWQgIiAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgICAgIG1ha2UgdGhlIHNoZWxsIGEgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgICAgaGFjZSBkZWwgaW50w6lycHJldGUgZGUgw7NyZGVuZXMgdW4gaW50w6lycHJldGUgZGUgw7NyZGVuZXMgZGUgaW5pY2lvIGRlIHNlc2nDs25cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE0Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCittc2dzdHIgIiAtYywgLS1jb21tYW5kIDxvcmRlbj4gICAgICAgICAgIHBhc2EgdW5hIG9yZGVuIHNlbmNpbGxhIGFsIGludMOpcnByZXRlIGRlIMOzcmRlbmVzIGNvbiAtY1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTUKK21zZ2lkICIiCisiIC0tc2Vzc2lvbi1jb21tYW5kIDxjb21tYW5kPiAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZG8gbm90IGNyZWF0ZSBhIG5ldyBzZXNzaW9uXG4iCittc2dzdHIgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPG9yZGVuPiAgICAgICBwYXNhIHVuYSBvcmRlbiBzZW5jaWxsYSBhbCBpbnTDqXJwcmV0ZSBkZSDDs3JkZW5lcyBjb24gLWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkgbm8gY3JlYSB1bmEgc2VzacOzbiBudWV2YVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTcKK21zZ2lkICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICBwYXNzIC1mIHRvIHRoZSBzaGVsbCAoZm9yIGNzaCBvciB0Y3NoKVxuIgorbXNnc3RyICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICBwYXNhIC1mIGFsIGludMOpcnByZXRlIGRlIMOzcmRlbmVzIChwYXJhIGNzaCBvIHRjc2gpXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxOAorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHJ1biA8c2hlbGw+IGlmIC9ldGMvc2hlbGxzIGFsbG93cyBpdFxuIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsPTxpbnTDqXJwci7Ds3JkZW5lcz4gIGVqZWN1dGEgPGludMOpcnByLsOzcmRlbmVzPiBzaSAvZXRjL3NoZWxscyBsbyBwZXJtaXRlXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc2MgorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXAgaXMgbm90IHBvc3NpYmxlIgorbXNnaWRfcGx1cmFsICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXBzIGlzIG5vdCBwb3NzaWJsZSIKK21zZ3N0clswXSAibm8gZXMgcG9zaWJsZSBlc3BlY2lmaWNhciBtw6FzIGRlICVkIGdydXBvIHN1bXBsZW50YXJpbyIKK21zZ3N0clsxXSAibm8gZXMgcG9zaWJsZSBlc3BlY2lmaWNhciBtw6FzIGRlICVkIGdydXBvcyBzdW1wbGVudGFyaXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc2OAorIywgYy1mb3JtYXQKK21zZ2lkICJncm91cCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiZWwgZ3J1cG8gJXMgbm8gZXhpc3RlIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4ODYKK21zZ2lkICJpZ25vcmluZyAtLXByZXNlcnZlLWVudmlyb25tZW50LCBpdCdzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tbG9naW4iCittc2dzdHIgInNlIGlnbm9yYSAtLXByZXNlcnZlLWVudmlyb25tZW50OyBlcyBtdXR1YW1lbnRlIGV4Y2x1eWVudGUgY29uIC0tbG9naW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg5NworbXNnaWQgIm9wdGlvbnMgLS17c2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbn0gYW5kIC0tdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICJsYXMgb3BjaW9uZXMgLS1bc2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbl0geSAtLXVzZXIgc29uIG11dHVhbWVudGUgZXhjbHV5ZW50ZXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkwMQorbXNnaWQgIm5vIGNvbW1hbmQgd2FzIHNwZWNpZmllZCIKK21zZ3N0ciAibm8gc2UgaGEgZXNwZWNpZmljYWRvIG5pbmd1bmEgb3JkZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkxNQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gc3BlY2lmeSBhbHRlcm5hdGl2ZSBncm91cHMiCittc2dzdHIgInJvb3QgZXMgZWwgw7puaWNvIHF1ZSBwdWVkZSBlc3BlY2lmaWNhciBncnVwb3MgYWx0ZXJuYXRpdm9zIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiZWwgdXN1YXJpbyAlcyBubyBleGlzdGUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyByZXN0cmljdGVkIHNoZWxsICVzIgorbXNnc3RyICJzZSB1dGlsaXphIGVsIGludMOpcnByZXRlIGRlIMOzcmRlbmVzIHJlc3RyaW5naWRvICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgImF0ZW5jacOzbjogbm8gc2UgcHVlZGUgY2FtYmlhciBlbCBkaXJlY3RvcmlvIGEgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMzAKK21zZ2lkICJ0Y2dldGF0dHIgZmFpbGVkIgorbXNnc3RyICJ0Y2dldGF0dHIgaGEgZmFsbGFkbyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjIwNworbXNnaWQgInRjc2V0YXR0ciBmYWlsZWQiCittc2dzdHIgInRjc2V0YXR0ciBoYSBmYWxsYWRvIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdFxuIgorbXNnc3RyICIlczogbm8gaGF5IGVudHJhZGEgcGFyYSByb290XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290IgorbXNnc3RyICIlczogbm8gaGF5IGVudHJhZGEgcGFyYSByb290IgorCisjIEZJWE1FOiBFbCBmaWNoZXJvIHNlIGxsYW1hICJwYXNzd2QiLCBubyAicGFzc3dvcmQiCisjIENvbXVuaWNhciBhbCBhdXRvci4KKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJvb3QgcGFzc3dvcmQgZ2FyYmxlZCIKK21zZ3N0ciAiJXM6IGNvbnRyYXNlw7FhIGRlIHJvb3QgaWxlZ2libGUiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkNhbm5vdCBvcGVuIGFjY2VzcyB0byBjb25zb2xlLCB0aGUgcm9vdCBhY2NvdW50IGlzIGxvY2tlZC5cbiIKKyJTZWUgc3Vsb2dpbig4KSBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLlxuIgorIlxuIgorIlByZXNzIEVudGVyIHRvIGNvbnRpbnVlLlxuIgorbXNnc3RyICIiCisiXG4iCisiTm8gc2UgcHVlZGUgZGFyIGFjY2VzbyBhIGxhIGNvbnNvbGE7IGxhIGN1ZW50YSByb290IGVzdMOhIGJsb3F1ZWFkYS5cbiIKKyJWw6lhc2UgbGEgcMOhZ2luYSBkZSBtYW51YWwgc3Vsb2dpbig4KSBwYXJhIG3DoXMgaW5mb3JtYWNpw7NuLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbG9naW46ICIKK21zZ3N0ciAiQ29udHJhc2XDsWEgZGUgcm9vdCBwYXJhIGluaWNpYXIgc2VzacOzbjogIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBsb2dpbjogIgorbXNnc3RyICJQdWxzZSBFbnRlciBwYXJhIGluaWNpYXIgc2VzacOzbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIkNvbnRyYXNlw7FhIGRlIHJvb3QgcGFyYSBtYW50ZW5pbWllbnRvXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIlB1bHNlIEVudGVyIHBhcmEgbWFudGVuaW1pZW50b1xuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIihvciBwcmVzcyBDb250cm9sLUQgdG8gY29udGludWUpOiAiCittc2dzdHIgIihvIHB1bHNlIENvbnRyb2wtRCBwYXJhIGNvbnRpbnVhcik6IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzQyCittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSB0byBzeXN0ZW0gcm9vdCBmYWlsZWQiCittc2dzdHIgImZhbGxvIGFsIGNhbWJpYXIgYWwgZGlyZWN0b3JpbyBkZSBsYSByYcOteiBkZWwgc2lzdGVtYSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc5MQorbXNnaWQgInNldGV4ZWNjb24gZmFpbGVkIgorbXNnc3RyICJzZXRleGVjY29uIGhhIGZhbGxhZG8iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbdHR5IGRldmljZV1cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gW2Rpc3Bvc2l0aXZvIHR0eV1cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxNAorbXNnaWQgIlNpbmdsZS11c2VyIGxvZ2luLlxuIgorbXNnc3RyICJJbmljaW8gZGUgc2VzacOzbiBkZSB1c3VhcmlvIMO6bmljby5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxNworbXNnaWQgIiIKKyIgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgIHN0YXJ0IGEgbG9naW4gc2hlbGxcbiIKKyIgLXQsIC0tdGltZW91dCA8c2Vjb25kcz4gIG1heCB0aW1lIHRvIHdhaXQgZm9yIGEgcGFzc3dvcmQgKGRlZmF1bHQ6IG5vIGxpbWl0KVxuIgorIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAgZXhhbWluZSBwYXNzd29yZCBmaWxlcyBkaXJlY3RseSBpZiBnZXRwd25hbSgzKSBmYWlsc1xuIgorbXNnc3RyICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICBhcnJhbmNhIHVuIGludMOpcnByZXRlIGRlIMOzcmRlbmVzIGRlIGluaWNpbyBkZSBzZXNpw7NuXG4iCisiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICB0aWVtcG8gbcOheGltbyBwYXJhIGV4cGVyYXIgdW5hIGNvbnRyYXNlw7FhIChwcmVkZWZpbmlkbzogc2luIGzDrW1pdGUpXG4iCisiIC1lLCAtLWZvcmNlICAgICAgICAgICAgICBleGFtaW5hIGRpcmVjdGFtZW50ZSBsb3MgZmljaGVyb3MgZGUgY29udHJhc2XDsWFzIHNpIGZhbGxhIGdldHB3bmFtKDMpXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4NzEgbWlzYy11dGlscy9maW5kbW50LmM6MTQ2MyBzeXMtdXRpbHMvd2RjdGwuYzo1MjMKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzUwIHRlcm0tdXRpbHMvd2FsbC5jOjEzNQorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGRlIHRpZW1wbyBsw61taXRlIG3DoXhpbW8gbm8gdsOhbGlkbyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg5MworbXNnaWQgIm9ubHkgc3VwZXJ1c2VyIGNhbiBydW4gdGhpcyBwcm9ncmFtIgorbXNnc3RyICJzb2xvIGVsIHN1cGVydXN1YXJpbyBwdWVkZSBlamVjdXRhciBlc3RlIHByb2dyYW1hIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTM2Cittc2dpZCAiY2Fubm90IG9wZW4gY29uc29sZSIKK21zZ3N0ciAibm8gc2UgcHVlZGUgYWJyaXIgbGEgY29uc29sYSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjk0MworbXNnaWQgImNhbm5vdCBvcGVuIHBhc3N3b3JkIGRhdGFiYXNlIgorbXNnc3RyICJubyBzZSBwdWVkZSBhYnJpciBsYSBiYXNlIGRlIGRhdG9zIGRlIGNvbnRyYXNlw7FhcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNhbiBub3QgZXhlY3V0ZSBzdSBzaGVsbFxuIgorIlxuIgorbXNnc3RyICIiCisiTm8gc2UgcHVlZGUgZWplY3V0YXIgZWwgaW50w6lycHJldGUgZGUgw7NyZGVuZXMgZGUgc3VcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjcKK21zZ2lkICIiCisiVGltZWQgb3V0XG4iCisiXG4iCittc2dzdHIgIiIKKyJUaWVtcG8gZGUgZXNwZXJhIGV4Y2VkaWRvXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDU5Cittc2dpZCAiIgorIkNhbiBub3Qgd2FpdCBvbiBzdSBzaGVsbFxuIgorIlxuIgorbXNnc3RyICIiCisiTm8gc2UgcHVlZGUgZXNwZXJhciBlbiBlbCBpbnTDqXJwcmV0ZSBkZSDDs3JkZW5lcyBkZSBzdVxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE3NiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2guIgorbXNnc3RyICIlczogbm8gc2UgcHVlZGUgYcOxYWRpciB2aWdpbGFuY2lhIGlub3RpZnkuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE4NSB0ZXh0LXV0aWxzL3RhaWxmLmM6MTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBpbm90aWZ5IGV2ZW50cyIKK21zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlbiBsZWVyIGxvcyBldmVudG9zIGlub3RpZnkiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjQ2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjUxCittc2dpZCAiRXh0cmFuZW91cyBuZXdsaW5lIGluIGZpbGUuIEV4aXRpbmcuIgorbXNnc3RyICJOdWV2YSBsw61uZWEgZXh0cmHDsWEgZW4gZWwgZmljaGVyby4gU2FsaXIuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwOQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlbmFtZV1cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gW25vbWJyZSBkZSBmaWNoZXJvXVxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMgorbXNnaWQgIkR1bXAgVVRNUCBhbmQgV1RNUCBmaWxlcyBpbiByYXcgZm9ybWF0LlxuIgorbXNnc3RyICJWdWVsY2EgbG9zIGZpY2hlcm9zIFVUTVAgeSBXVE1QIGVuIGZvcm1hdG8gZW4gYnJ1dG8uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE1Cittc2dpZCAiIC1mLCAtLWZvbGxvdyAgICAgICAgIG91dHB1dCBhcHBlbmRlZCBkYXRhIGFzIHRoZSBmaWxlIGdyb3dzXG4iCittc2dzdHIgIiAtZiwgLS1mb2xsb3cgICAgICAgICBzYWNhIGxvcyBkYXRvcyBhw7FhZGlkb3Mgc2Vnw7puIGNyZWNlIGVsIGZpY2hlcm9cbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTYKK21zZ2lkICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgd3JpdGUgYmFjayBkdW1wZWQgZGF0YSBpbnRvIHV0bXAgZmlsZVxuIgorbXNnc3RyICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgZXNjcmliZSBkZSB2dWVsdGEgZW4gZWwgZmljaGVybyB1dG1wIGxvcyBkYXRvcyB2b2xjYWRvc1xuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxNworbXNnaWQgIiAtbywgLS1vdXRwdXQgPGZpbGU+ICB3cml0ZSB0byBmaWxlIGluc3RlYWQgb2Ygc3RhbmRhcmQgb3V0cHV0XG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGZpY2hlcm8+IGVzY3JpYmUgZW4gZmljaGVybyBlbiBsdWdhciBkZSBsYSBzYWxpZGEgZXN0w6FuZGFyXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzg0Cittc2dpZCAiZm9sbG93aW5nIHN0YW5kYXJkIGlucHV0IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJubyBlc3TDoSBhZG1pdGlkbyBzZWd1aXIgbGEgc2FsaWRhIGVzdMOhbmRhciIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCB1bmR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiRGVzaGFjZSBlbCB2b2xjYWRvIHV0bXAgZGUgJXNcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCBkdW1wIG9mICVzXG4iCittc2dzdHIgIlZvbGNhZG8gdXRtcCBkZSAlc1xuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTQxCittc2dpZCAiY2FuJ3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAibm8gc2UgcHVlZGUgYWJyaXIgZWwgZmljaGVybyB0ZW1wb3JhbCIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY3JlYXRlIGEgbGluayB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBubyBzZSBoYSBwb2RpZm8gY3JlYXIgdW4gZW5sYWNlIGEgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3QgZ2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICJObyBzZSBwdWVkZSBvYnRlbmVyIGVsIGNvbnRleHRvIGRlICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IHNldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiTm8gc2UgcHVlZGUgZXN0YWJsZWNlciBlbCBjb250ZXh0byBkZSAlcyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmNoYW5nZWQiCittc2dzdHIgIiVzIG5vIHNlIGhhIG1vZGlmaWNhZG8iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNTQKK21zZ2lkICJjYW5ub3QgZ2V0IGxvY2siCittc2dzdHIgIm5vIHNlIHB1ZWRlIG9idGVuZXIgZWwgYmxvcXVlbyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI4MQorbXNnaWQgIm5vIGNoYW5nZXMgbWFkZSIKK21zZ3N0ciAibm8gc2UgaGEgZWZlY3R1YWRvIG5pbmfDum4gY2FtYmlvIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjkwCittc2dpZCAiY2Fubm90IGNobW9kIGZpbGUiCittc2dzdHIgIm5vIHNlIHB1ZWRlbiBtb2RpZmljYXIgbG9zIHBlcm1pc29zIGRlbCBmaWNoZXJvIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzA0Cittc2dpZCAiRWRpdCB0aGUgcGFzc3dvcmQgb3IgZ3JvdXAgZmlsZS5cbiIKK21zZ3N0ciAiRWRpdGEgZWwgZmljaGVybyBkZSBjb250cmFzZcOxYXMgbyBncnVwb3MuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTAKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBncm91cHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIkVzdMOhIHV0aWxpemFuZG8gZ3J1cG9zIG9jdWx0b3MgZW4gZXN0ZSBzaXN0ZW1hLlxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzUxCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgcGFzc3dvcmRzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICJFc3RhIHV0aWxpemFuZG8gY29uYnRyYXNlw7FhcyBvY3VsdGFzIGVuIGVzdGUgc2lzdGVtYS5cbiIKKworIy4gVFJBTlNMQVRPUlM6IHRoaXMgcHJvZ3JhbSB1c2VzIGZvciB5IGFuZCBuIHJwbWF0Y2goMyksCisjLiAqIHdoaWNoIG1lYW5zIHRoZXkgY2FuIGJlIHRyYW5zbGF0ZWQuCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHlvdSBsaWtlIHRvIGVkaXQgJXMgbm93IFt5L25dPyAiCittc2dzdHIgIsK/UXVpZXJlIGVkaXRhciAlcyBhaG9yYT8gW3kvbl0gIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjM3MgorbXNnaWQgImludmFsaWQgbW9udGggYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBkZSBtZXMgbm8gdsOhbGlkbyIKKworIzogbWlzYy11dGlscy9jYWwuYzozODAKK21zZ2lkICJpbnZhbGlkIHdlZWsgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBkZSBzZW1hbmEgbm8gdsOhbGlkbyIKKworIzogbWlzYy11dGlscy9jYWwuYzozODIKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHVzZSAxLTU0IgorbXNnc3RyICJ2YWxvciBkZSBzZW1hbmEgbm8gcGVybWl0aWRvOiB1dGlsaWNlIDEtNTQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDIyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB0aW1lc3RhbXAgb3IgdW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgZWwgc2VsbG8gZGUgdGllbXBvIG8gbm9tYnJlIGRlIG1lcyBkZXNjb25vY2lkbzogJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDMxCittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWUiCittc2dzdHIgInZhbG9yIGRlIGTDrWEgbm8gcGVybWl0aWRvIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQzMyBtaXNjLXV0aWxzL2NhbC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZTogdXNlIDEtJWQiCittc2dzdHIgIlZhbG9yIGRlIGTDrWEgbm8gcGVybWl0aWRvOiB1dGlsaWNlIDEtJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDM3IG1pc2MtdXRpbHMvY2FsLmM6NDQ1Cittc2dpZCAiaWxsZWdhbCBtb250aCB2YWx1ZTogdXNlIDEtMTIiCittc2dzdHIgIlZhbG9yIGRlIG1lcyBubyBwZXJtaXRpZG86IHV0aWxpY2UgMS0xMiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAibm9tYnJlIGRlIG1lcyBkZXNjb25vY2lkbzogJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDQ4IG1pc2MtdXRpbHMvY2FsLmM6NDUyCittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlIgorbXNnc3RyICJ2YWxvciBkZSBhw7FvIG5vIHBlcm1pdGlkbyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NTAKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWU6IHVzZSBwb3NpdGl2ZSBpbnRlZ2VyIgorbXNnc3RyICJ2YWxvciBkZSBhw7FvIG5vIHBlcm1pdGlkbzogdXRpbGljZSBlbnRlcm8gcG9zaXRpdm8iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDgyIG1pc2MtdXRpbHMvY2FsLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogeWVhciAlZCBkb2Vzbid0IGhhdmUgd2VlayAlZCIKK21zZ3N0ciAidmFsb3IgZGUgc2VtYW5hIG5vIHBlcm1pdGlkbzogZWwgYcOxbyAlZCBubyB0aWVuZSBzZW1hbmEgJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6Njc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIgorbXNnc3RyICIlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTA0ZCIKK21zZ3N0ciAiJTA0ZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo2OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJTA0ZCIKK21zZ3N0ciAiJXMgJTA0ZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbW1tkYXldIG1vbnRoXSB5ZWFyXVxuIgorbXNnc3RyICIgJXMgW29wY2lvbmVzXSBbW1tkw61hXSBtZXNdIGHDsW9dXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHRpbWVzdGFtcHxtb250aG5hbWU+XG4iCittc2dzdHIgIiAlcyBbb3BjaW9uZXNdIDxzZWxsb2RldGllbXBvfG5vbWJyZWRlbWVzPlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5NworbXNnaWQgIkRpc3BsYXkgYSBjYWxlbmRhciwgb3Igc29tZSBwYXJ0IG9mIGl0LlxuIgorbXNnc3RyICJNdWVzdHJhIHVuIGNhbGVuZGFyaW8gbyBwYXJ0ZSBkZSDDqWwuXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk4Cittc2dpZCAiV2l0aG91dCBhbnkgYXJndW1lbnRzLCBkaXNwbGF5IHRoZSBjdXJyZW50IG1vbnRoLlxuIgorbXNnc3RyICJTaW4gYXJndW1lbnRvcyBtdWVzdHJhIGVsIG1lcyBhY3R1YWwuXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMQorbXNnaWQgIiAtMSwgLS1vbmUgICAgICAgICAgICAgc2hvdyBvbmx5IGEgc2luZ2xlIG1vbnRoIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLTEsIC0tb25lICAgICAgICAgICAgIG11ZXN0cmEgdW4gc29sbyBtZXMgKHByZWRldGVybWluYWRvKVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDIKK21zZ2lkICIgLTMsIC0tdGhyZWUgICAgICAgICAgIHNob3cgdGhyZWUgbW9udGhzIHNwYW5uaW5nIHRoZSBkYXRlXG4iCittc2dzdHIgIiAtMywgLS10aHJlZSAgICAgICAgICAgbXVlc3RyYSB0cmVzIG1lc2VzIGFscmVkZWRvciBkZSBsYSBmZWNoYVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDMKK21zZ2lkICIgLW4sIC0tbW9udGhzIDxudW0+ICAgIHNob3cgbnVtIG1vbnRocyBzdGFydGluZyB3aXRoIGRhdGUncyBtb250aFxuIgorbXNnc3RyICIgLW4sIC0tbW9udGhzIDxuw7ptPiAgICBtdWVzdHJhIGVsIG7Dum1lcm8gZGUgbWVzZXMgcXVlIGNvbWllbnphbiBwb3IgZWwgbWVzIGRlIGxhIGZlY2hhXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNAorbXNnaWQgIiAtUywgLS1zcGFuICAgICAgICAgICAgc3BhbiB0aGUgZGF0ZSB3aGVuIGRpc3BsYXlpbmcgbXVsdGlwbGUgbW9udGhzXG4iCittc2dzdHIgIiAtUywgLS1zcGFuICAgICAgICAgICAgZXh0aWVuZGUgbGEgZmVjaGEgY3VhbmRvIHNlIG11ZXN0cmFuIHZhcmlvcyBtZXNlc1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDUKK21zZ2lkICIgLXMsIC0tc3VuZGF5ICAgICAgICAgIFN1bmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIgLXMsIC0tc3VuZGF5ICAgICAgICAgIGRvbWluZ28gY29tbyBwcmltZXIgZMOtYSBkZSBsYSBzZW1hbmFcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA2Cittc2dpZCAiIC1tLCAtLW1vbmRheSAgICAgICAgICBNb25kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIC1tLCAtLW1vbmRheSAgICAgICAgICBsdW5lcyBjb21vIHByaW1lciBkw61hIGRlIGxhIHNlbWFuYVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDcKK21zZ2lkICIgLWosIC0tanVsaWFuICAgICAgICAgIG91dHB1dCBKdWxpYW4gZGF0ZXNcbiIKK21zZ3N0ciAiIC1qLCAtLWp1bGlhbiAgICAgICAgICBzYWNhIGZlY2hhcyBqdWxpYW5hc1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDgKK21zZ2lkICIgLXksIC0teWVhciAgICAgICAgICAgIHNob3cgdGhlIHdob2xlIHllYXJcbiIKK21zZ3N0ciAiIC15LCAtLXllYXIgICAgICAgICAgICBtdWVzdHJhIGVsIGHDsW8gZW50ZXJvXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwOQorbXNnaWQgIiAtWSwgLS10d2VsdmUgICAgICAgICAgc2hvdyB0aGUgbmV4dCB0d2VsdmUgbW9udGhzXG4iCittc2dzdHIgIiAtWSwgLS1kb2NlICAgICAgICAgICAgbXVlc3RyYSBsb3Mgc2lndWllbnRlcyBkb2NlIG1lc2VzXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAxMAorbXNnaWQgIiAtdywgLS13ZWVrWz08bnVtPl0gICAgc2hvdyBVUyBvciBJU08tODYwMSB3ZWVrIG51bWJlcnNcbiIKK21zZ3N0ciAiIC13LCAtLXdlZWtbPTxudW0+XSAgICBtdWVzdHJhIGxvcyBuw7ptZXJvcyBkZSBzZW1hbmEgVVMgbyBJU08tODYwMVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMTEKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAgLS1jb2xvcls9PGN1w6FuZG8+XcKgY29sb3JlYSBsb3MgbWVuc2FqZXMgKGF1dG8sIHNpZW1wcmUgbyBudW5jYSlcbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbHVlPlxuIgorbXNnc3RyICIgJXMgW29wY2lvbmVzXSB7TEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUx9PTx2YWxvcj5cbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzozMgorbXNnaWQgIkZpbmQgYSBmaWxlc3lzdGVtIGJ5IGxhYmVsIG9yIFVVSUQuXG4iCittc2dzdHIgIkVuY3VlbnRyYSB1biBzaXN0ZW1hIGRlIGZpY2hlcm9zIHBvciBldGlxdWV0YSBvIFVVSUQuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgJyVzJyIKK21zZ3N0ciAibm8gc2UgcHVlZGUgcmVzb2x2ZXIgJyVzJyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6OTkKK21zZ2lkICJzb3VyY2UgZGV2aWNlIgorbXNnc3RyICJkaXNwb3NpdGl2byBkZSBvcmlnZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMAorbXNnaWQgIm1vdW50cG9pbnQiCittc2dzdHIgInB1bnRvIGRlIG1vbnRhamUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxCittc2dpZCAiZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJ0aXBvIGRlIHNpc3RlbWEgZGUgZmljaGVyb3MiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMgorbXNnaWQgImFsbCBtb3VudCBvcHRpb25zIgorbXNnc3RyICJ0b2RhcyBsYXMgb3BjaW9uZXMgZGUgbW9udGFqZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAzCittc2dpZCAiVkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIm9wY2lvbmVzIGRlIG1vbnRhamUgZXNwZWPDrWZpY2FzIGRlIFZGUyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA0Cittc2dpZCAiRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAib3BjaW9uZXMgZGUgbW9udGFqZSBlc3BlY8OtZmljYXMgZGUgRlMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNQorbXNnaWQgImZpbGVzeXN0ZW0gbGFiZWwiCittc2dzdHIgImV0aXF1ZXRhIGRlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDYgbWlzYy11dGlscy9sc2Jsay5jOjE2NAorbXNnaWQgImZpbGVzeXN0ZW0gVVVJRCIKK21zZ3N0ciAiVVVJRCBkZWwgc2lzdGVtYSBkZSBmaWNoZXJvcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA3Cittc2dpZCAicGFydGl0aW9uIGxhYmVsIgorbXNnc3RyICJldGlxdWV0YSBkZSBsYSBwYXJ0aWNpw7NuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDkgbWlzYy11dGlscy9sc2Jsay5jOjE2MAorbXNnaWQgIm1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgIm7Dum1lcm8gbWF5b3I6bWVub3IgZGVsIGRpc3Bvc2l0aXZvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTAKK21zZ2lkICJhY3Rpb24gZGV0ZWN0ZWQgYnkgLS1wb2xsIgorbXNnc3RyICJhY2Npw7NuIGRldGVjdGFkYSBwb3IgLS1wb2xsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTEKK21zZ2lkICJvbGQgbW91bnQgb3B0aW9ucyBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgIm9wY2lvbmVzIGRlIG1vbnRhamUgYW50aWd1YXMgZ3VhcmRhZGFzIHBvciAtLXBvbGwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMgorbXNnaWQgIm9sZCBtb3VudHBvaW50IHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiYW50aWd1byBwdW50byBkZSBtb250YWplIGd1YXJkYWRvIHBvciAtLXBvbGwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMworbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSIKK21zZ3N0ciAidGFtYcOxbyBkZWwgc2lzdGVtYSBkZSBmaWNoZXJvcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE0Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIGF2YWlsYWJsZSIKK21zZ3N0ciAidGFtYcOxbyBkZWwgc2lzdGVtYSBkZSBmaWNoZXJvcyBkaXNwb25pYmxlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTUKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgdXNlZCIKK21zZ3N0ciAidGFtYcOxbyBkZWwgc2lzdGVtYSBkZSBmaWNoZXJvcyB1dGlsaXphZG8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNgorbXNnaWQgImZpbGVzeXN0ZW0gdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgInBvcmNlbnRhamUgZGUgdXRpbGl6YWNpw7NuIGRlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTcKK21zZ2lkICJmaWxlc3lzdGVtIHJvb3QiCittc2dzdHIgInJhw616IGRlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTgKK21zZ2lkICJ0YXNrIElEIgorbXNnc3RyICJJRCBkZSBsYSB0YXJlYSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5Cittc2dpZCAibW91bnQgSUQiCittc2dzdHIgIklEIGRlbCBtb250YWplIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAKK21zZ2lkICJvcHRpb25hbCBtb3VudCBmaWVsZHMiCittc2dzdHIgImNhbXBvcyBkZSBtb250YWplIG9wY2lvbmFsZXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMQorbXNnaWQgIlZGUyBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiaW5kaWNhZG9yZXMgZGUgcHJvcGFnYWNpw7NuIGRlIFZGUyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyCittc2dpZCAiZHVtcCg4KSBwZXJpb2QgaW4gZGF5cyBbZnN0YWIgb25seV0iCittc2dzdHIgInBlcmlvZG8gZW4gZMOtYXMgZGUgZHVtcCg4KSBbc29sbyBmc3RhYl0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMworbXNnaWQgInBhc3MgbnVtYmVyIG9uIHBhcmFsbGVsIGZzY2soOCkgW2ZzdGFiIG9ubHldIgorbXNnc3RyICJuw7ptZXJvIGRlIHBhc28gZW4gZnNjayg4KSBwYXJhbGVsbyBbc29sbyBmc3RhYl0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFjdGlvbjogJXMiCittc2dzdHIgImFjY2nDs24gZGVzY29ub2NpZGE6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDMKK21zZ2lkICJtb3VudCIKK21zZ3N0ciAibW9udGFyIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDYKK21zZ2lkICJ1bW91bnQiCittc2dzdHIgImRlc21vbnRhciIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ5Cittc2dpZCAicmVtb3VudCIKK21zZ3N0ciAicmVtb250YXIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1MgorbXNnaWQgIm1vdmUiCittc2dzdHIgIm1vdmVyIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA3NSBzeXMtdXRpbHMvZWplY3QuYzo3MTkKKyM6IHN5cy11dGlscy9tb3VudC5jOjY2OQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmxlIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gaW5pY2lhbGl6YXIgbGEgdGFibGEgZGUgbGlibW91bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjgzOSB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo4NAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCByZWFkICVzIgorbXNnc3RyICJubyBzZSBwdWVkZSBsZWVyICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDE1IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODEKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo5NCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDgyCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTg3IHN5cy11dGlscy9tb3VudC5jOjEzNCBzeXMtdXRpbHMvbW91bnQuYzoxODIKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6NTYgc3lzLXV0aWxzL3N3YXBvZmYuYzoxNTUgc3lzLXV0aWxzL3N3YXBvbi5jOjI0NAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI3NCBzeXMtdXRpbHMvc3dhcG9uLmM6NzMzIHN5cy11dGlscy91bW91bnQuYzoyNzQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGluaWNpYWxpemFyIGVsIGl0ZXJhZG9yIGRlIGxpYm1vdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDg3Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFiZGlmZiIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGluaWNpYWxpemFyIGxhIHRhYmRpZmYgZGUgbGlibW91bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMTUKK21zZ2lkICJwb2xsKCkgZmFpbGVkIgorbXNnc3RyICJwb2xsKCkgaGEgZmFsbGFkbyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IHwgPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2UgPGRldmljZT5dIFstLXRhcmdldCA8cGF0aD4gfCAtLW1vdW50cG9pbnQgPGRpcj5dXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbb3BjaW9uZXNdXG4iCisiICUxJHMgW29wY2lvbmVzXSA8ZGlzcG9zaXRpdm8+IHwgPHB1bnRvZGVtb250YWplPlxuIgorIiAlMSRzIFtvcGNpb25lc10gPGRpc3Bvc2l0aXZvPiA8cHVudG9kZW1vbnRhamU+XG4iCisiICUxJHMgW29wY2lvbmVzXSBbLS1zb3VyY2UgPGRpc3Bvc2l0aXZvPl0gWy0tdGFyZ2V0IDxydXRhPl3CoFvCoC0tbW91bnRwb2ludCA8ZGlyPl1cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5NgorbXNnaWQgIkZpbmQgYSAobW91bnRlZCkgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiRW5jdWVudHJhIHVuIHNpc3RlbWEgZGUgZmljaGVyb3MgKG1vbnRhZG8pLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk5Cittc2dpZCAiIC1zLCAtLWZzdGFiICAgICAgICAgICAgc2VhcmNoIGluIHN0YXRpYyB0YWJsZSBvZiBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBidXNjYSBlbiBsYSB0YWJsYSBlc3TDoXRpY2EgZGVsIHNpc3RlbWEgZGUgZmljaGVyb3NcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMAorbXNnaWQgIiAtbSwgLS1tdGFiICAgICAgICAgICAgIHNlYXJjaCBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtbSwgLS1tdGFiICAgICAgICAgICAgIGJ1c2NhIGVuIGxhIHRhYmxhIGRlIHNpc3RlbWFzIGRlIGZpY2hlcm9zIG1vbnRhZG9zXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDEKK21zZ2lkICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgc2VhcmNoIGluIGtlcm5lbCB0YWJsZSBvZiBtb3VudGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlc3lzdGVtcyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIGJ1c2NhciBlbiBsYSB0YWJsYSBkZSBzaXN0ZW1hcyBkZSBmaWNoZXJvc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgbW9udGFkb3MgZGVsIG7DumNsZW8gKHByZWRldGVybWluYWRvKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA0Cittc2dpZCAiIC1wLCAtLXBvbGxbPTxsaXN0Pl0gICAgbW9uaXRvciBjaGFuZ2VzIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1wLCAtLXBvbGxbPTxsaXN0YT5dICBtb25pdG9yaXphIGxvcyBjYW1iaW9zIGVuIGxhIHRhYmxhIGRlIHNpc3RlbWFzIGRlIGZpY2hlcm9zIG1vbnRhZG9zXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDUKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8bnVtPiAgICB1cHBlciBsaW1pdCBpbiBtaWxsaXNlY29uZHMgdGhhdCAtLXBvbGwgd2lsbCBibG9ja1xuIgorbXNnc3RyICIgLXcsIC0tdGltZW91dCA8bnVtPiAgICBsw61taXRlIHN1cGVyaW9yIGVuIG1pbGlzZWd1bmRvcyBxdWUgLS1wb2xsIGJsb3F1ZWFyw6FcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOAorbXNnaWQgIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGJ1aWx0LWluIGZpbHRlcnMsIHByaW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkZXNhY3RpdmEgdG9kb3MgbG9zIGZpbHRyb3MgZGUgZsOhYnJpY2EsIGltcHJpbWUgdG9kb3MgbG9zIHNpc3RlbWFzIGRlIGZpY2hlcm9zXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDkKK21zZ2lkICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgQVNDSUkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorbXNnc3RyICIgIC1hLCAtLWFzY2lpICAgICAgICAgICB1dGlsaXphIGNhcmFjdGVyZXMgQVNDSUkgcGFyYSBlbCBmb3JtYXRvIGRlbCDDoXJib2xcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWIsIC0tYnl0ZSAgICAgICAgICAgICBpbXByaW1lIGxvcyB0YW1hw7FvcyBlbiBieXRlcyBlbiBsdWdhciBkZSBmb3JtYXRvIGxlZ2libGUgcGFyYSBodW1hbm9zXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTEKK21zZ2lkICIgLUMsIC0tbm9jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgd2hlbiBjb21wYXJpbmcgcGF0aHNcbiIKK21zZ3N0ciAiIC1DLCAtLW5vY2Fub25pY2FsaXplICAgbm8gY2Fub25pemEgYWwgY29tcGFyYXIgcnV0YXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMgorbXNnaWQgIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaWNhbGl6ZSBwcmludGVkIHBhdGhzXG4iCittc2dzdHIgIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaXphIGxhcyBydXRhcyBhbCBpbXByaW1pcmxhc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEzCittc2dpZCAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGF0ZSB0aGUgb3V0cHV0IG9mIGRmKDEpXG4iCittc2dzdHIgIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRhIGxhIHNhbGlkYSBkZSBkZigxKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE0Cittc2dpZCAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKK21zZ3N0ciAiIC1kLCAtLWRpcmVjdGlvbiA8cGFsYWJyYT4gZGlyZWNjacOzbiBkZSBiw7pzcXVlZGEsICdmb3J3YXJkJyAoaGFjaWEgYWRlbGFudGUpIG8gJ2JhY2t3YXJkJyAoaGFjaWEgYXRyw6FzKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE1Cittc2dpZCAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iCittc2dzdHIgIiIKKyIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBjb252aWVydGUgbGFzIGV0aXF1ZXRhcyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZW4gbm9tYnJlcyBkZSBkaXNwb3NpdGl2b3NcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNworbXNnaWQgIiAtRiwgLS10YWItZmlsZSA8cGF0aD4gIGFsdGVybmF0aXZlIGZpbGUgZm9yIC1zLCAtbSBvciAtayBvcHRpb25zXG4iCittc2dzdHIgIiAtRiwgLS10YWItZmlsZSA8cnV0YT4gIGZpY2hlcm8gYWx0ZXJuYXRpdm8gcGFyYSBsYXMgb3BjaW9uZXMgLXMsIC1tIG8gLWtcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOAorbXNnaWQgIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIHByaW50IHRoZSBmaXJzdCBmb3VuZCBmaWxlc3lzdGVtIG9ubHlcbiIKK21zZ3N0ciAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgaW1wcmltZSBzb2xhbWVudGUgZWwgcHJpbWVyIHNpc3RlbWEgZGUgZmljaGVyb3MgZW5jb250cmFkb1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE5Cittc2dpZCAiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJ0IHRoZSBzZW5zZSBvZiBtYXRjaGluZ1xuIgorbXNnc3RyICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZpZXJ0ZSBlbCBzZW50aWRvIGRlIGNvcnJlc3BvbmRlbmNpYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIwIG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNyBzeXMtdXRpbHMvbHNucy5jOjYxOQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtSiwgLS1qc29uICAgICAgICAgICAgdXRpbGl6YSBmb3JtYXRvIGRlIHNhbGlkYSBKU09OXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjEgc3lzLXV0aWxzL2xzbnMuYzo2MjAKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAgLWwsIC0tbGlzdCAgICAgICAgICAgIHV0aWxpemEgbGEgc2FsaWRhIGNvbiBmb3JtYXRvIGRlIGxpc3RhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjIKK21zZ2lkICIgLU4sIC0tdGFzayA8dGlkPiAgICAgICB1c2UgYWx0ZXJuYXRpdmUgbmFtZXNwYWNlICgvcHJvYy88dGlkPi9tb3VudGluZm8gZmlsZSlcbiIKK21zZ3N0ciAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXRpbGl6YSBlbCBlc3BhY2lvIGRlIG5vbWJyZXMgYWx0ZXJuYXRpdm8gKGZpY2hlcm8gL3Byb2MvPHRpZD4vbW91bnRpbmZvKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIzCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgY29sdW1uIGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIG5vIGltcHJpbWUgbG9zIHTDrXR1bG9zIGRlIGxhcyBjb2x1bW5hc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI0Cittc2dpZCAiIC1PLCAtLW9wdGlvbnMgPGxpc3Q+ICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBtb3VudCBvcHRpb25zXG4iCittc2dzdHIgIiAtTywgLS1vcHRpb25zIDxsaXN0YT4gIGxpbWl0YSBlbCBjb25qdW50byBkZSBzaXN0ZW1hcyBkZSBmaWNoZXJvcyBwb3IgbGFzIG9wY2lvbmVzIGRlIG1vbnRhamVcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIHRoZSBvdXRwdXQgY29sdW1ucyB0byBiZSBzaG93blxuIgorbXNnc3RyICIgLW8sIC0tb3VwdXQgPGxpc3RhPiAgICBjb2x1bW5hcyBxdWUgc2UgbW9zdHJhcsOhbiBlbiBsYSBzYWxpZGFcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNgorbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdXRpbGl6YSBlbCBmb3JtYXRvIGRlIHNhbGlkYSBjbGF2ZT1cInZhbG9yXCJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNworbXNnaWQgIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIHByaW50IGFsbCBzdWJtb3VudHMgZm9yIHRoZSBtYXRjaGluZyBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLVIsIC0tc3VibW91bnRzICAgICAgICBpbXByaW1lIHRvZG9zIGxvcyBzdWJtb250YWplcyBkZSBsb3Mgc2lzdGVtYXMgZGUgZmljaGVyb3MgY29ycmVzcG9uZGllbnRlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI4Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLXIsIC0tcmF3ICAgICAgICAgICAgIHV0aWxpemEgZWwgZm9ybWF0byBkZSBzYWxpZGEgZW4gYnJ1dG9cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOQorbXNnaWQgIiIKKyIgLVMsIC0tc291cmNlIDxzdHJpbmc+ICB0aGUgZGV2aWNlIHRvIG1vdW50IChieSBuYW1lLCBtYWo6bWluLCBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKK21zZ3N0ciAiIgorIiAtUywgLS1zb3VyY2UgPGNhZGVuYT4gIGRpc3Bvc2l0aXZvIHF1ZSBzZSB2YSBhIG1vbnRhciAocG9yIG5vbWJyZSwgbWFqOm1pbiwgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzEKK21zZ2lkICIgLVQsIC0tdGFyZ2V0IDxwYXRoPiAgICB0aGUgcGF0aCB0byB0aGUgZmlsZXN5c3RlbSB0byB1c2VcbiIKK21zZ3N0ciAiIC1ULCAtLXRhcmdldCA8cnV0YT4gICAgcnV0YSBhbCBzaXN0ZW1hIGRlIGZpY2hlcm9zIHF1ZSBzZSB1c2Fyw6FcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMgorbXNnaWQgIiAtTSwgLS1tb3VudHBvaW50IDxkaXI+IHRoZSBtb3VudHBvaW50IGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLU0sIC0tbW91bnRwb2ludCA8ZGlyPiBlbCBkaXJlY3RvcmlvIGRlbCBwdW50byBkZSBtb250YWplXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzMKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IEZTIHR5cGVzXG4iCittc2dzdHIgIiAtdCwgLS10eXBlcyA8bGlzdGE+ICAgIGxpbWl0YSBlbCBjb25qdW50byBkZSBzaXN0ZW1hcyBkZSBmaWNoZXJvcyBwb3IgdGlwb3NcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNAorbXNnaWQgIiAtVSwgLS11bmlxICAgICAgICAgICAgIGlnbm9yZSBmaWxlc3lzdGVtcyB3aXRoIGR1cGxpY2F0ZSB0YXJnZXRcbiIKK21zZ3N0ciAiIC1VLCAtLXVuaXEgICAgICAgICAgICAgZGVzY2FydGEgbG9zIHNpc3RlbWFzIGRlIGZpY2hlcm9zIGNvbiBkZXN0aW5vIGR1cGxpY2Fkb1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM1IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMyBzeXMtdXRpbHMvbHNucy5jOjYyNQorbXNnaWQgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGRvbid0IHRydW5jYXRlIHRleHQgaW4gY29sdW1uc1xuIgorbXNnc3RyICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBubyB0cnVuY2EgZWwgdGV4dG8gZGUgbGFzIGNvbHVtbmFzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzYKK21zZ2lkICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iCittc2dzdHIgIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIG5vIGltcHJpbWUgWy9kaXJdwqBwYXJhIGxvcyBtb250YWplcyBiaW5kIG8gYnRyZnNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzOQorbXNnaWQgIiAteCwgLS12ZXJpZnkgICAgICAgICAgIHZlcmlmeSBtb3VudCB0YWJsZSBjb250ZW50IChkZWZhdWx0IGlzIGZzdGFiKVxuIgorbXNnc3RyICIgLXgsIC0tdmVyaWZ5ICAgICAgICAgICB2ZXJpZmljYSBlbCBjb250ZW5pZG8gZGUgbGEgdGFibGEgZGUgbW9udGFqZXMgKGxvIHByZWRldGVybWluYWRvIGVzIGZzdGFiKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQwCittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgbW9yZSBkZXRhaWxzXG4iCittc2dzdHIgIiAgICAgLS12ZXJib3NlICAgICAgICAgIGltcHJpbWUgbcOhcyBkZXRhbGxlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzY4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZGlyZWN0aW9uICclcyciCittc2dzdHIgImRpcmVjY2nDs24gZGVzY29ub2NpZGEgJyVzJyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTQ0MAorbXNnaWQgImludmFsaWQgVElEIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gVElEIGluY29ycmVjdG8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MDkKK21zZ2lkICItLXBvbGwgYWNjZXB0cyBvbmx5IG9uZSBmaWxlLCBidXQgbW9yZSBzcGVjaWZpZWQgYnkgLS10YWItZmlsZSIKK21zZ3N0ciAiLS1wb2xsIHNvbG8gYWNlcHRhIHVuIGZpY2hlcm8sIHBlcm8gc2UgaGFuIGVzcGVjaWZpY2FkbyBtw6FzIGNvbiAtLXRhYi1maWxlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTEzCittc2dpZCAib3B0aW9ucyAtLXRhcmdldCBhbmQgLS1zb3VyY2UgY2FuJ3QgYmUgdXNlZCB0b2dldGhlciB3aXRoIGNvbW1hbmQgbGluZSBlbGVtZW50IHRoYXQgaXMgbm90IGFuIG9wdGlvbiIKK21zZ3N0ciAibGFzIG9wY2lvbmVzIC0tdGFyZ2V0IHkgLS1zb3VyY2Ugbm8gcHVlZGVuIHVzYXJzZSBqdW50YXMgY29uIHVuIGVsZW1lbnRvIGRlIGxhIGzDrW5lYSBkZSDDs3JkZW5lcyBxdWUgbm8gc2VhIHVuYSBvcGNpw7NuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTYyCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgY2FjaGUiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBpbmljaWFsaXphciBsYSBjYWNow6kgZGUgbGlibW91bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE2MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY29sdW1uIGlzIHJlcXVlc3RlZCwgYnV0IC0tcG9sbCBpcyBub3QgZW5hYmxlZCIKK21zZ3N0ciAic2UgaGEgc29saWNpdGFkbyBsYSBjb2x1bW5hICVzLCBwZXJvIC0tcG9sbCBubyBlc3TDoSBhY3RpdmFkbyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExNgorbXNnaWQgInRhcmdldCBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgInNlIGhhIGVzcGVjaWZpY2FkbyBlbCBkZXN0aW5vIG3DoXMgZGUgdW5hIHZleiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBvcmRlcjogJXMgc3BlY2lmaWVkIGJlZm9yZSAlcyIKK21zZ3N0ciAib3JkZW4gaW5jb3JyZWN0bzogJXMgZXNwZWNpZmljYWRvIGFudGVzIHF1ZSAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzMworbXNnaWQgInVuZGVmaW5lZCB0YXJnZXQgKGZzX2ZpbGUpIgorbXNnc3RyICJkZXN0aW5vIGluZGVmaW5pZG8gKGZzX2ZpbGUpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1jYW5vbmljYWwgdGFyZ2V0IHBhdGggKHJlYWw6ICVzKSIKK21zZ3N0ciAicnV0YSBkZSBkZXN0aW5vIG5vIGNhbsOzbmljYSAocmVhbDogJXMpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgdGFyZ2V0OiAlbSIKK21zZ3N0ciAiZGVzdGlubyBpbmFsY2FuemFibGUgbmVjZXNhcmlvIGR1cmFudGUgZWwgYXJyYW5xdWU6ICVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHRhcmdldDogJW0iCittc2dzdHIgImRlc3Rpbm8gaW5hbGNhbnphYmxlOiAlbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MQorbXNnaWQgInRhcmdldCBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImVsIGRlc3Rpbm8gbm8gZXMgdW4gZGlyZWN0b3JpbyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MworbXNnaWQgInRhcmdldCBleGlzdHMiCittc2dzdHIgImVsIGRlc3Rpbm8gZXhpc3RlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY1CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgc291cmNlOiAlcz0lcyIKK21zZ3N0ciAib3JpZ2VuIGluYWxjYW56YWJsZSBuZWNlc2FyaW8gZHVyYW50ZSBlbCBhcnJhbnF1ZTogJXM9JXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGU6ICVzPSVzIgorbXNnc3RyICJpbmFsY2FuemFibGU6ICVzPSVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzPSVzIHRyYW5zbGF0ZWQgdG8gJXMiCittc2dzdHIgIiVzPSVzIHRyYWR1Y2lkbyBjb21vICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTkwCittc2dpZCAidW5kZWZpbmVkIHNvdXJjZSAoZnNfc3BlYykiCittc2dzdHIgIm9yaWdlbiBpbmRlZmluaWRvIChmc19zcGVjKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzb3VyY2UgdGFnOiAlcyIKK21zZ3N0ciAiZXRpcXVldGEgZGUgb3JpZ2VuIG5vIHNvcG9ydGFkYTogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIHNvdXJjZSAocHNldWRvL25ldCkiCittc2dzdHIgIm5vIGNvbXByb2JhciBvcmlnZW4gJXMgKHBzZXVkby9uZXQpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHNvdXJjZTogJXM6ICVtIgorbXNnc3RyICJvcmlnZW4gaW5hbGNhbnphYmxlOiAlczogJW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJpbmQgbW91bnQgc291cmNlICVzIGlzIGEgZGlyZWN0b3J5IG9yIHJlZ3VsYXIgZmlsZSIKK21zZ3N0ciAiZWwgb3JpZ2VuIGRlIG1vbnRhamUgbm8gdmluY3VsYWRvICVzIGVzIHVuIGRpcmVjdG9yaW8gbyB1biBmaWNoZXJvIG5vcm1hbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJlbCBvcmlnZW4gJXMgbm8gZXMgdW4gZGlzcG9zaXRpdm8gZGUgYmxvcXVlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgZXhpc3RzIgorbXNnc3RyICJlbCBvcmlnZW4gJXMgeWEgZXhpc3RlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIlZGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiT3BjaW9uZXMgVkZTOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzNAorIywgYy1mb3JtYXQKK21zZ2lkICJGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiT3BjaW9uZXMgRlM6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM4CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXJzcGFjZSBvcHRpb25zOiAlcyIKK21zZ3N0ciAib3BjaW9uZXMgZGUgZXNwYWNpbyBkZSB1c3VhcmlvczogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc3dhcGFyZWEgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICJwb2zDrXRpY2EgZGUgZGVzY2FydGUgZGVsIMOhcmVhIGRlIGludGVyY2FtYmlvIG5vIGFkbWl0aWRhOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI2MAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzd2FwYXJlYSBwcmlvcml0eSBvcHRpb24iCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBhbmFsaXphciBsYSBvcGNpw7NuIGRlIHByaW9yaWRhZCBkZWwgw6FyZWEgZGUgaW50ZXJjYW1iaW8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIEZTIHR5cGUgKHBzZXVkby9uZXQpIgorbXNnc3RyICJubyBjb21wcm9iYXIgZWwgdGlwbyBkZSBGUyAlcyAocHNldWRvL25ldCkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MDYKK21zZ2lkICJcIm5vbmVcIiBGUyB0eXBlIGlzIHJlY29tbWVuZGVkIGZvciBiaW5kIG9yIG1vdmUgb3ByYXRpb25zIG9ubHkiCittc2dzdHIgImxhIG9wY2nDs24gZGUgRlMgXCJub25lXCIgc29sbyBlc3TDoSByZWNvbWVuZGFkYSBwYXJhIG9wZXJhY2lvbmVzIGRlIHZpbmN1bGFyIG8gbW92ZXIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAicGFyZWNlIHF1ZSBlbCBuw7pjbGVvIGFjdHVhbCBubyBhZG1pdGUgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjAgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyMQorbXNnaWQgImNhbm5vdCBkZXRlY3Qgb24tZGlzayBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGRldGVjdGFyIGVsIHRpcG8gZGUgc2lzdGVtYSBkZSBmaWNoZXJvcyBlbiBkaXNjbyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBtYXRjaCB3aXRoIG9uLWRpc2sgJXMiCittc2dzdHIgIiVzIG5vIGNhc2EgY29uICVzIGVuIGRpc2NvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbi1kaXNrICVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAicGFyZWNlIHF1ZSBlbCBuw7pjbGVvIGFjdHVhbCBubyBhZG1pdGUgJXMgZW4gZGlzY28iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlMgdHlwZSBpcyAlcyIKK21zZ3N0ciAiZWwgdGlwbyBkZSBGUyBlcyAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWNvbW1lbmRlZCByb290IEZTIHBhc3NubyBpcyAxIChjdXJyZW50IGlzICVkKSIKK21zZ3N0ciAiZWwgcGFzbyByZWNvbWVuZGFkbyBwYXJhIGVsIEZTIHJhw616IGVzIDEgKGVsIGFjdHVhbCBlcyAlZCkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgcGFyc2UgZXJyb3IiCittc2dpZF9wbHVyYWwgIiVkIHBhcnNlIGVycm9ycyIKK21zZ3N0clswXSAiJWQgZXJyb3IgZGUgc2ludGF4aXMiCittc2dzdHJbMV0gIiVkIGVycm9yZXMgZGUgc2ludGF4aXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCAlZCBlcnJvciIKK21zZ2lkX3BsdXJhbCAiLCAlZCBlcnJvcnMiCittc2dzdHJbMF0gIiwgJWQgZXJyb3IiCittc2dzdHJbMV0gIiwgJWQgZXJyb3JlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxNAorIywgYy1mb3JtYXQKK21zZ2lkICIsICVkIHdhcm5pbmciCittc2dpZF9wbHVyYWwgIiwgJWQgd2FybmluZ3MiCittc2dzdHJbMF0gIiwgJWQgYXZpc28iCittc2dzdHJbMV0gIiwgJWQgYXZpc29zIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3MsIG5vIGVycm9ycyBvciB3YXJuaW5ncyBkZXRlY3RlZFxuIgorbXNnc3RyICJDb3JyZWN0bywgbm8gc2UgaGFuIGRldGVjdGFkbyBlcnJvcmVzIG5pIGF2aXNvc1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIkVzY3JpYmEgYCVzIC0taGVscCcgcGFyYSBvYnRlbmVyIG3DoXMgaW5mb3JtYWNpw7NuLlxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMwNAorbXNnaWQgImVtcHR5IGxvbmcgb3B0aW9uIGFmdGVyIC1sIG9yIC0tbG9uZyBhcmd1bWVudCIKK21zZ3N0ciAib3BjacOzbiBsYXJnYSB2YWPDrWEgdHJhcyBhcmd1bWVudG8gLWwgbyAtLWxvbmciCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzI1Cittc2dpZCAidW5rbm93biBzaGVsbCBhZnRlciAtcyBvciAtLXNoZWxsIGFyZ3VtZW50IgorbXNnc3RyICJzaGVsbCBkZXNjb25vY2lkbyB0cmFzIGFyZ3VtZW50byAtcyBvIC0tc2hlbGwiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tXSA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLW98LS1vcHRpb25zIDxvcHRzdHJpbmc+IFtvcHRpb25zXSBbLS1dIDxwYXJhbWV0ZXJzPlxuIgorbXNnc3RyICIiCisiICUxJHMgPGNhZGVuYW9wY2lvbmVzPiA8cGFyw6FtZXRyb3M+XG4iCisiICUxJHMgW29wY2lvbmVzXSBbLS1dIDxjYWRlbmFvcGNpb25lcz4gPHBhcsOhbWV0cm9zPlxuIgorIiAlMSRzIFtvcGNpb25lc10gLW98LS1vcHRpb25zIDxjYWRlbmFvcGNpb25lcz4gW29wY2lvbmVzXSBbLS1dIDxwYXLDoW1ldHJvcz5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzgKK21zZ2lkICJQYXJzZSBjb21tYW5kIG9wdGlvbnMuXG4iCittc2dzdHIgIkFuYWxpemEgbGFzIG9wY2lvbmVzIGRlIGxhIG9yZGVuLlxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MQorbXNnaWQgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgICBhbGxvdyBsb25nIG9wdGlvbnMgc3RhcnRpbmcgd2l0aCBzaW5nbGUgLVxuIgorbXNnc3RyICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAgcGVybWl0ZSBvcGNpb25lcyBsYXJnYXMgY29uIHVuIHNvbG8gLSBpbmljaWFsXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQyCittc2dpZCAiIC1sLCAtLWxvbmdvcHRpb25zIDxsb25nb3B0cz4gIHRoZSBsb25nIG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgLWwsIC0tbG9uZ29wdGlvbnMgPG9wY2xhcmdhcz4gb3BjaW9uZXMgbGFyZ2FzIHBhcmEgcmVjb25vY2VyXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQzCittc2dpZCAiIC1uLCAtLW5hbWUgPHByb2duYW1lPiAgICAgICAgIHRoZSBuYW1lIHVuZGVyIHdoaWNoIGVycm9ycyBhcmUgcmVwb3J0ZWRcbiIKK21zZ3N0ciAiIC1uLCAtLW5hbWUgPHByb2dyYW1hPiAgICAgICAgIG5vbWJyZSBjb24gZWwgcXVlIHNlIGluZm9ybWEgZGUgbG9zIGVycm9yZXNcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDQKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICAgdGhlIHNob3J0IG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgLW8sIC0tb3B0aW9ucyA8Y2FkZW5hb3BjaW9uZXM+IG9wY2lvbmVzIGNvcnRhcyBwYXJhIHJlY29ub2NlclxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBkaXNhYmxlIGVycm9yIHJlcG9ydGluZyBieSBnZXRvcHQoMylcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGRlc2FjdGl2YSBpbmZvcm1hY2nDs24gZGUgZXJyb3JlcyBtZWRpYW50ZSBnZXRvcHQoMylcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDYKK21zZ2lkICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgbm8gbm9ybWFsIG91dHB1dFxuIgorbXNnc3RyICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgc2luIGxhIHNhbGlkYSBub3JtYWxcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDcKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgc2V0IHF1b3RpbmcgY29udmVudGlvbnMgdG8gdGhvc2Ugb2YgPHNoZWxsPlxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPGludMOpcnByLsOzcmRlbmVzPiBkZWZpbmUgbGFzIGNvbnZlbmNpb25lcyBkZSBjaXRhIGRlbCBpbnTDqXJwcmV0ZSBkZSDDs3JkZW5lc1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0OAorbXNnaWQgIiAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICB0ZXN0IGZvciBnZXRvcHQoMSkgdmVyc2lvblxuIgorbXNnc3RyICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgcHJ1ZWJhIHBhcmEgbGEgdmVyc2nDs24gZGUgZ2V0b3B0KDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ5Cittc2dpZCAiIC11LCAtLXVucXVvdGVkICAgICAgICAgICAgICAgIGRvIG5vdCBxdW90ZSB0aGUgb3V0cHV0XG4iCittc2dzdHIgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICBubyBlbnRyZWNvbWlsbGEgZWwgcmVzdWx0YWRvXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6Mzk5IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDU5Cittc2dpZCAibWlzc2luZyBvcHRzdHJpbmcgYXJndW1lbnQiCittc2dzdHIgIkZhbHRhIGVsIGFyZ3VtZW50byBjYWRlbmFvcGNpb25lcyIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzo0NTQKK21zZ2lkICJpbnRlcm5hbCBlcnJvciwgY29udGFjdCB0aGUgYXV0aG9yLiIKK21zZ3N0ciAiRXJyb3IgaW50ZXJubzsgY29udGFjdGUgY29uIGVsIGRlc2Fycm9sbGFkb3IuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWwgJXM7IHZhbGlkIHNpZ25hbHM6IgorbXNnc3RyICJzZcOxYWwgZGVzY29ub2NpZGEgJXM7IHNlw7FhbGVzIHbDoWxpZGFzOiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBpZD58PG5hbWU+Li4uXG4iCittc2dzdHIgIiAlcyBbb3BjaW9uZXNdIDxwaWQ+fDxub21icmU+Li4uXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwNQorbXNnaWQgIkZvcmNpYmx5IHRlcm1pbmF0ZSBhIHByb2Nlc3MuXG4iCittc2dzdHIgIlRlcm1pbmEgdW4gcHJvY2VzbyBhIGxhIGZ1ZXJ6YS5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzA4Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRvIG5vdCByZXN0cmljdCB0aGUgbmFtZS10by1waWQgY29udmVyc2lvbiB0byBwcm9jZXNzZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggdGhlIHNhbWUgdWlkIGFzIHRoZSBwcmVzZW50IHByb2Nlc3NcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIG5vIHJlc3RyaW5nZSBsYSBjb252ZXJzacOzbiBkZSBub21icmUgYSB1aWQgYSBwcm9jZXNvc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uIGVsIG1pc21vIHVpZCBxdWUgZWwgcHJvY2VzbyBwcmVzZW50ZVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTAKK21zZ2lkICIgLXMsIC0tc2lnbmFsIDxzaWduYWw+ICBzZW5kIHRoaXMgPHNpZ25hbD4gaW5zdGVhZCBvZiBTSUdURVJNXG4iCittc2dzdHIgIiAtcywgLS1zaWduYWwgPHNlw7FhbD4gICBlbnbDrWEgZXN0YSA8c2XDsWFsPiBlbiBsdWdhciBkZSBTSUdURVJNXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMgorbXNnaWQgIiAtcSwgLS1xdWV1ZSA8dmFsdWU+ICAgIHVzZSBzaWdxdWV1ZSgyKSwgbm90IGtpbGwoMiksIGFuZCBwYXNzIDx2YWx1ZT4gYXMgZGF0YVxuIgorbXNnc3RyICIgLXEsIC0tcXVldWUgPHZhbG9yPiAgICB1dGlsaXphIHNpZ3F1ZXVlKDIpLCBubyBraWxsKDIpLCB5IHBhc2EgPHZhbG9yPiBjb21vIGRhdG9cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE0Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgcHJpbnQgcGlkcyB3aXRob3V0IHNpZ25hbGluZyB0aGVtXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICAgICAgIGltcHJpbWUgcGlkcyBzaW4gZW52aWFybGVzIHNlw7FhbFxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTUKK21zZ2lkICIgLWwsIC0tbGlzdFs9PHNpZ25hbD5dICBsaXN0IHNpZ25hbCBuYW1lcywgb3IgY29udmVydCBhIHNpZ25hbCBudW1iZXIgdG8gYSBuYW1lXG4iCittc2dzdHIgIiAtbCwgLS1saXN0Wz08c2XDsWFsPl0gICBlbnVtZXJhIGxvcyBub21icmVzIGRlIGxhcyBzZcOxYWxlcyBvIGNvbnZpZXJ0ZSB1biBuw7ptZXJvIGRlIHNlw7FhbCBhIHVuIG5vbWJyZVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTYKK21zZ2lkICIgLUwsIC0tdGFibGUgICAgICAgICAgICBsaXN0IHNpZ25hbCBuYW1lcyBhbmQgbnVtYmVyc1xuIgorbXNnc3RyICIgLUwsIC0tdGFibGUgICAgICAgICAgICBlbnVtZXJhIGxvcyBub21icmVzIHkgbG9zIG7Dum1lcm9zIGRlIGxhcyBzZcOxYWxlc1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTcKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBwaWRzIHRoYXQgd2lsbCBiZSBzaWduYWxlZFxuIgorbXNnc3RyICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBpbXByaW1lIGxvcyBwaWRzIGEgbG9zIHF1ZSB2YSBhIGVudmlhcnNlIHNlw7FhbFxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozNjcgbWlzYy11dGlscy9raWxsLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsOiAlcyIKK21zZ3N0ciAic2XDsWFsIGRlc2Nvbm9jaWRhOiAlcyIKKworIzogbWlzYy11dGlscy9raWxsLmM6Mzg3IG1pc2MtdXRpbHMva2lsbC5jOjM5MCBtaXNjLXV0aWxzL2tpbGwuYzozOTkKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQxMSBtaXNjLXV0aWxzL2tpbGwuYzo0MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiVzIHkgJXMgc29uIG11dHVhbWVudGUgZXhjbHV5ZW50ZXMiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM5NiBtaXNjLXV0aWxzL2tpbGwuYzo0MzggbWlzYy11dGlscy9yZW5hbWUuYzoxNzQKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc4OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc5OAorbXNnaWQgIm5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJubyBoYXkgc3VmaWNpZW50ZXMgYXJndW1lbnRvcyIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDA5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICJsYSBvcGNpw7NuICclcycgbmVjZXNpdGEgdW4gYXJndW1lbnRvIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MTQgc3lzLXV0aWxzL2VqZWN0LmM6MjA1IHN5cy11dGlscy9lamVjdC5jOjIzMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2ODkgc3lzLXV0aWxzL3R1bmVscC5jOjE2MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTY4CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTc1IHN5cy11dGlscy90dW5lbHAuYzoxODIgc3lzLXV0aWxzL3R1bmVscC5jOjE4OQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE5NSBzeXMtdXRpbHMvdHVuZWxwLmM6MTk5IHN5cy11dGlscy90dW5lbHAuYzoyMDYKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyMzEgdGVybS11dGlscy9zZXR0ZXJtLmM6MjEzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxNgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTEgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk4CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMDAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzEyIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxNAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzIzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMzMSB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzYyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNzMgdGVybS11dGlscy9zZXR0ZXJtLmM6NTM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0MAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTQ1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NzQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU3OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODQgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg5CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTQgdGVybS11dGlscy9zZXR0ZXJtLmM6NTk5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwNworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NjQwCittc2dpZCAiYXJndW1lbnQgZXJyb3IiCittc2dzdHIgImVycm9yIGVuIGVsIGFyZ3VtZW50byIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2lnbmFsIG5hbWUgb3IgbnVtYmVyOiAlcyIKK21zZ3N0ciAiTsO6bWVybyBvIG5vbWJyZSBkZSBzZcOxYWwgbm8gdsOhbGlkbzogJXMiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCAlZCB0byBwaWQgJWRcbiIKK21zZ3N0ciAic2UgZW52w61hIHNlw7FhbCAlZCBhbCBwaWQgJWRcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGVudmlhciBsYSBzZcOxYWwgYSAlcyIKKworIzogbWlzYy11dGlscy9raWxsLmM6NTA3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHByb2Nlc3MgXCIlc1wiIgorbXNnc3RyICJubyBzZSBwdWVkZSBlbmNvbnRyYXIgZWwgcHJvY2VzbyBcIiVzXCIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjIyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgbmFtZTogJXMiCittc2dzdHIgIm5vbWJyZSBkZSByZWN1cnNvIGRlc2Nvbm9jaWRvOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAibm9tYnJlIGRlIHByaW9yaWRhZCBkZXNjb25vY2lkbzogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZW5sb2cgJXM6IHBhdGhuYW1lIHRvbyBsb25nIgorbXNnc3RyICJhbCBhYnJpciAlczogbm9tYnJlIGRlIHJ1dGEgZGVtYXNpYWRvIGxhcmdvIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI2NworIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgJXMiCittc2dzdHIgIsKrc29ja2V0wrsgJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIG5hbWUgJXMgcG9ydCAlczogJXMiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyByZXNvbHZlciBlbCBub21icmUgJXMgcHVlcnRvICVzOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNvbm5lY3QgdG8gJXMgcG9ydCAlcyIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGNvbmVjdGFyIGEgJXMgcHVlcnRvICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjM1MgorIywgYy1mb3JtYXQKK21zZ2lkICJtYXhpbXVtIGlucHV0IGxpbmVzICglZCkgZXhjZWVkZWQiCittc2dzdHIgIm3DoXhpbWFzIGzDrW5lYXMgZGUgZW50cmFkYSAoJWQpIHNvYnJlcGFzYWRhcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo0ODcKK21zZ2lkICJzZW5kIG1lc3NhZ2UgZmFpbGVkIgorbXNnc3RyICJmYWxsbyBhbCBlbnZpYXIgbWVuc2FqZSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RydWN0dXJlZCBkYXRhIElEICclcycgaXMgbm90IHVuaXF1ZSIKK21zZ3N0ciAiRWwgSUQgZGUgZGF0b3MgZXN0cnVjdHVyYWRvcyAnJXMnIG5vIGVzIMO6bmljbyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1zZC1pZCB3YXMgbm90IHNwZWNpZmllZCBmb3IgLS1zZC1wYXJhbSAlcyIKK21zZ3N0ciAibm8gc2UgaGEgZXNwZWNpZmljYWRvIC0tc2QtaWQgcGFyYSAtLXNkLXBhcmFtICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc1NAorbXNnaWQgImxvY2FsdGltZSgpIGZhaWxlZCIKK21zZ3N0ciAibG9jYWx0aW1lKCkgaGEgZmFsbGFkbyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaG9zdG5hbWUgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAibm9tYnJlIGRlIG3DoXF1aW5hICclcycgZGVtYXNpYWRvIGxhcmdvIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc3MAorIywgYy1mb3JtYXQKK21zZ2lkICJ0YWcgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiZXRpcXVldGEgJyVzJyBkZW1hc2lhZG8gbGFyZ2EiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODMzCisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIHVua25vd24gb3B0aW9uIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAic2UgaGFjZSBjYXNvIG9taXNvIGRlbCBhcmd1bWVudG8gZGVzY29ub2NpZG86ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjg0NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlczogdXNpbmcgYXV0b21hdGljIGVycm9ycyIKK21zZ3N0ciAiYXJndW1lbnRvIG5vIHbDoWxpZG86ICVzOiBzZSB1dGlsaXphcsOhbiBlcnJvcmVzIGF1dG9tw6F0aWNvcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG1lc3NhZ2U+XVxuIgorbXNnc3RyICIgJXMgW29wY2lvbmVzXSBbPG1lbnNhamU+XVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjk5NworbXNnaWQgIkVudGVyIG1lc3NhZ2VzIGludG8gdGhlIHN5c3RlbSBsb2cuXG4iCittc2dzdHIgIkludHJvZHVjZSBtZW5zYWplcyBlbiBlbCByZWdpc3RybyBkZWwgc2lzdGVtYS5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAwCittc2dpZCAiIC1pICAgICAgICAgICAgICAgICAgICAgICBsb2cgdGhlIGxvZ2dlciBjb21tYW5kJ3MgUElEXG4iCittc2dzdHIgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0cmEgZWwgUElEIGRlIGxhIG9yZGVuIGRlbCBsb2dnZXJcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAxCittc2dpZCAiICAgICAtLWlkWz08aWQ+XSAgICAgICAgICBsb2cgdGhlIGdpdmVuIDxpZD4sIG9yIG90aGVyd2lzZSB0aGUgUElEXG4iCittc2dzdHIgIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgcmVnaXN0cmEgZWwgPGlkPiBkYWRvIG8sIGVuIG90cm8gY2FzbywgZWwgUElEXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMgorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgICAgbG9nIHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGVcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPGZpY2hlcm8+ICAgICBhbm90YSBlbCBjb250ZW5pZG8gZGUgZXN0ZSBmaWNoZXJvXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMworbXNnaWQgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgZG8gbm90IGxvZyBlbXB0eSBsaW5lcyB3aGVuIHByb2Nlc3NpbmcgZmlsZXNcbiIKK21zZ3N0ciAiIC1lLCAtLXNraXAtZW1wdHkgICAgICAgICBubyByZWdpc3RyYSBsw61uZWFzIHZhY8OtYXMgYWwgcHJvY2VzYXIgZmljaGVyb3NcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA0Cittc2dpZCAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgd3JpdGUgdGhlIGxvZ1xuIgorbXNnc3RyICIgICAgIC0tbm8tYWN0ICAgICAgICAgICAgIGhhY2UgdG9kbyBleGNlcHRvIGVzY3JpYmlyIGVuIGVsIHJlZ2lzdHJvXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNQorbXNnaWQgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgbWFyayBnaXZlbiBtZXNzYWdlIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIG1hcmNhIGVsIG1lbnNhamUgZGFkbyBjb24gZXN0YSBwcmlvcmlkYWRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA2Cittc2dpZCAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICB1c2UgcmZjNjU4NyBvY3RldCBjb3VudGluZ1xuIgorbXNnc3RyICIgICAgIC0tb2N0ZXQtY291bnQgICAgICAgIHV0aWxpemEgZWwgbcOpdG9kbyBkZSBjb250YXIgb2N0ZXRvcyBkZSByZmM2NTg3XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNworbXNnaWQgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAgbG9vayBmb3IgYSBwcmVmaXggb24gZXZlcnkgbGluZSByZWFkIGZyb20gc3RkaW5cbiIKK21zZ3N0ciAiICAgICAtLXByaW8tcHJlZml4ICAgICAgICBidXNjYSBwcmVmaWpvIGVuIHRvZGFzIGxhcyBsw61uZWFzIHF1ZSBzZSBsZWFuIGRlIHN0ZGluXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwOAorbXNnaWQgIiAtcywgLS1zdGRlcnIgICAgICAgICAgICAgb3V0cHV0IG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IgYXMgd2VsbFxuIgorbXNnc3RyICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIHNhY2EgbWVuc2FqZXMgdGFtYmnDqW4gcG9yIGxhIHNhbGlkYSBkZSBlcnJvciBlc3TDoW5kYXJcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA5Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICBtYXhpbXVtIHNpemUgZm9yIGEgc2luZ2xlIG1lc3NhZ2VcbiIKK21zZ3N0ciAiIC1TLCAtLXNpemUgPHRhbWHDsW8+ICAgICAgbcOheGltbyB0YW1hw7FvIGRlIHVuIG1lbnNhamVcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEwCittc2dpZCAiIC10LCAtLXRhZyA8dGFnPiAgICAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorbXNnc3RyICIgLXQsIC0tdGFnIDxldGlxdWV0YT4gICAgIG1hcmNhIHRvZGFzIGxhcyBsw61uZWFzIGNvbiBlc3RhIGV0aXF1ZXRhXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMQorbXNnaWQgIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorbXNnc3RyICIgLW4sIC0tc2VydmVyIDxub21icmU+ICAgIGVzY3JpYmUgZW4gZXN0ZSBzZXJ2aWRvciByZW1vdG8gZGUgc3lzbG9nXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMgorbXNnaWQgIiAtUCwgLS1wb3J0IDxwb3J0PiAgICAgICAgdXNlIHRoaXMgcG9ydCBmb3IgVURQIG9yIFRDUCBjb25uZWN0aW9uXG4iCittc2dzdHIgIiAtUCwgLS1wb3J0IDxwdWVydG8+ICAgICAgdXRpbGl6YSBlc3RlIHB1ZXJ0byBwYXJhIGNvbmV4aW9uZXMgVURQIG8gVENQXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMworbXNnaWQgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgdXNlIFRDUCBvbmx5XG4iCittc2dzdHIgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgdXRpbGl6YSBzb2xhbWVudGUgVENQXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNAorbXNnaWQgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCittc2dzdHIgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXRpbGl6YSBzb2xhbWVudGUgVURQXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNQorbXNnaWQgIiAgICAgLS1yZmMzMTY0ICAgICAgICAgICAgdXNlIHRoZSBvYnNvbGV0ZSBCU0Qgc3lzbG9nIHByb3RvY29sXG4iCittc2dzdHIgIiAgICAgLS1yZmMzMTY0ICAgICAgICAgICAgdXRpbGl6YSBlbCBwcm90b2NvbG8gc3lzbG9nIGRlIEJTRCBvYnNvbGV0b1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTYKK21zZ2lkICIiCisiICAgICAtLXJmYzU0MjRbPTxzbmlwPl0gICB1c2UgdGhlIHN5c2xvZyBwcm90b2NvbCAodGhlIGRlZmF1bHQgZm9yIHJlbW90ZSk7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiBjYW4gYmUgbm90aW1lLCBvciBub3RxLCBhbmQvb3Igbm9ob3N0XG4iCittc2dzdHIgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIHV0aWxpemEgZWwgcHJvdG9jb2xvIHN5c2xvZyAob3BjacOzbiBwcmVkZXRlcm1pbmFkYSBwYXJhIHJlbW90byk7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiBwdWVkZSBzZXIgbm90aW1lLCBvIG5vdHEsIHkvbyBub2hvc3RcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE4Cittc2dpZCAiICAgICAtLXNkLWlkIDxpZD4gICAgICAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBJRFxuIgorbXNnc3RyICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIElEIGRlIGRhdG9zIGVzdHJ1Y3R1cmFkb3MgcmZjNTQyNFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTkKK21zZ2lkICIgICAgIC0tc2QtcGFyYW0gPGRhdGE+ICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIG5hbWU9dmFsdWVcbiIKK21zZ3N0ciAiICAgICAtLXNkLXBhcmFtIDxkYXRvcz4gICBub21icmUgZGUgZGF0b3MgZXN0cnVjdHVyYWRvcyByZmM1NDI0PXZhbG9yXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMAorbXNnaWQgIiAgICAgLS1tc2dpZCA8bXNnaWQ+ICAgICAgc2V0IHJmYzU0MjQgbWVzc2FnZSBpZCBmaWVsZFxuIgorbXNnc3RyICIgICAgIC0tbXNnaWQgPG1zZ2lkPiAgICAgIGVzdGFibGVjZSBlbCBjYW1wbyBpZCBkZWwgbWVuc2FqZSByZmM1NDI0XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMQorbXNnaWQgIiAtdSwgLS1zb2NrZXQgPHNvY2tldD4gICAgd3JpdGUgdG8gdGhpcyBVbml4IHNvY2tldFxuIgorbXNnc3RyICIgLXUsIC0tc29ja2V0IDxzb2NrZXQ+IGVzY3JpYmUgcG9yIGVzdGUgwqtzb2NrZXTCuyBkZSBVbml4XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMgorbXNnaWQgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50IGNvbm5lY3Rpb24gZXJyb3JzIHdoZW4gdXNpbmcgVW5peCBzb2NrZXRzXG4iCittc2dzdHIgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGltcHJpbWUgbG9zIGVycm9yZXMgZGUgY29uZXhpw7NuIGN1YW5kbyBzZSB1dGlsaXphbiBzb2NrZXRzIGRlIFVuaXhcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDI1Cittc2dpZCAiICAgICAtLWpvdXJuYWxkWz08ZmlsZT5dICB3cml0ZSBqb3VybmFsZCBlbnRyeVxuIgorbXNnc3RyICIgICAgIC0tam91cm5hbGRbPTxmaWNoZXJvPl0gZXNjcmliZSBlbnRyYWRhIGRlIGpvdXJuYWxkXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTExMgorIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlICVzIgorbXNnc3RyICJmaWNoZXJvICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExMjcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgaWQiCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIGlkIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNDUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWVzc2FnZSBzaXplIgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBlbCB0YW1hw7FvIGRlbCBtZW5zYWplIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODAKK21zZ2lkICItLW1zZ2lkIGNhbm5vdCBjb250YWluIHNwYWNlIgorbXNnc3RyICItLW1zZ2lkIG5vIHB1ZWRlIGNvbnRlbmVyIGVzcGFjaW8iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIwMgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBJRDogJyVzJyIKK21zZ3N0ciAiSUQgZGUgZGF0b3MgZXN0cnVjdHVyYWRvcyBubyB2w6FsaWRvOiAnJXMnIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICJlbCBwYXLDoW1ldHJvIGRlIGRhdG9zIGVzdHJ1Y3R1cmFkb3Mgbm8gZXMgdsOhbGlkbzogJyVzJyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjE4Cittc2dpZCAiLS1maWxlIDxmaWxlPiBhbmQgPG1lc3NhZ2U+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIG1lc3NhZ2UgaXMgaWdub3JlZCIKK21zZ3N0ciAiLS1maWxlIDxmaWNoZXJvPiB5IDxtZW5zYWplPiBzb24gbXV0YW1lbnRlIGV4Y2x1eWVudGVzOyBzZSBoYXLDoSBjYXNvIG9taXNvIGRlIG1lbnNhamUiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIyNQorbXNnaWQgImpvdXJuYWxkIGVudHJ5IGNvdWxkIG5vdCBiZSB3cml0dGVuIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gZXNjcmliaXIgbGEgZW50cmFkYSBqb3VybmFsZCIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHN0cmluZz4gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gPGNhZGVuYT4gWzxmaWNoZXJvPi4uLl1cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzU4Cittc2dpZCAiRGlzcGxheSBsaW5lcyBiZWdpbm5pbmcgd2l0aCBhIHNwZWNpZmllZCBzdHJpbmcuXG4iCittc2dzdHIgIk11ZXN0cmEgbGFzIGzDrW5lYXMgcXVlIGVtcGllemFuIGNvbiB1bmEgY2FkZW5hIGRlIHRleHRvIGVzcGVjaWZpY2FkYS5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYxCittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICB1c2UgdGhlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICB1dGlsaXphIGVsIGRpY2Npb25hcmlvIGFsdGVybmF0aXZvXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MgorbXNnaWQgIiAtZCwgLS1hbHBoYW51bSAgICAgICAgICAgY29tcGFyZSBvbmx5IGJsYW5rcyBhbmQgYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBjb21wYXJhIHNvbGFtZW50ZSBlc3BhY2lvcyB5IGNhcmFjdGVyZXMgYWxmYW51bcOpcmljb3NcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYzCittc2dpZCAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorbXNnc3RyICIgLWYsIC0taWdub3JlLWNhc2UgICAgICAgIG5vIHRpZW5lIGVuIGN1ZW50YSBkaWZlcmVuY2lhcyBlbnRyZSBtYXnDunNjdWxhcyB5IG1pbsO6c2N1bGFzIGFsIGNvbXBhcmFyXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2NAorbXNnaWQgIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgZGVmaW5lIHRoZSBzdHJpbmctdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCittc2dzdHIgIiAtdCwgLS10ZXJtaW5hdGUgPGNhcsOhY3Rlcj4gZGVmaW5lIGVsIGNhcsOhY3RlciBkZSBmaW5hbGl6YWNpw7NuIGRlIGNhZGVuYVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU3Cittc2dpZCAiZGV2aWNlIG5hbWUiCittc2dzdHIgIm5vbWJyZSBkZSBkaXNwb3NpdGl2byIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OAorbXNnaWQgImludGVybmFsIGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibm9tYnJlIGludGVybm8gZGVsIGRpc3Bvc2l0aXZvIGRlbCBuw7pjbGVvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU5Cittc2dpZCAiaW50ZXJuYWwgcGFyZW50IGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibm9tYnJlIGludGVybm8gZGVsIGRpc3Bvc2l0aXZvIHBhZHJlIGRlbCBuw7pjbGVvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyIHN5cy11dGlscy96cmFtY3RsLmM6ODQKK21zZ2lkICJ3aGVyZSB0aGUgZGV2aWNlIGlzIG1vdW50ZWQiCittc2dzdHIgImRvbmRlIGVzdMOhIG1vbnRhZG8gZWwgZGlzcG9zaXRpdm8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMKK21zZ2lkICJmaWxlc3lzdGVtIExBQkVMIgorbXNnc3RyICJFVElRVUVUQSBkZWwgc2lzdGVtYSBkZSBmaWNoZXJvcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NgorbXNnaWQgInBhcnRpdGlvbiB0eXBlIFVVSUQiCittc2dzdHIgIlVVSUQgZGVsIHRpcG8gZGUgcGFydGljacOzbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NworbXNnaWQgInBhcnRpdGlvbiBMQUJFTCIKK21zZ3N0ciAiRVRJUVVFVEEgZGUgbGEgcGFydGljacOzbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MQorbXNnaWQgInJlYWQtYWhlYWQgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAibGVjdHVyYSBwb3IgZGVsYW50ZSBkZWwgZGlzcG9zaXRpdm8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzIgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NQorbXNnaWQgInJlYWQtb25seSBkZXZpY2UiCittc2dzdHIgImRpc3Bvc2l0aXZvIGRlIHPDs2xvIGxlY3R1cmEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzMKK21zZ2lkICJyZW1vdmFibGUgZGV2aWNlIgorbXNnc3RyICJkaXNwb3NpdGl2byBleHRyYWlibGUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzQKK21zZ2lkICJyZW1vdmFibGUgb3IgaG90cGx1ZyBkZXZpY2UgKHVzYiwgcGNtY2lhLCAuLi4pIgorbXNnc3RyICJkaXNwb3NpdGl2byBjb25lY3RhYmxlIHkgZGVzY29uZWN0YWJsZSBlbiBjYWxpZW50ZSAodXNiLCBwY21jaWEsIC4uLikiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzUKK21zZ2lkICJyb3RhdGlvbmFsIGRldmljZSIKK21zZ3N0ciAiZGlzcG9zaXRpdm8gZ2lyYXRvcmlvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc2Cittc2dpZCAiYWRkcyByYW5kb21uZXNzIgorbXNnc3RyICJhw7FhZGUgYWxlYXRvcmllZGFkIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc3Cittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgZGUgZGlzcG9zaXRpdm8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzgKK21zZ2lkICJkaXNrIHNlcmlhbCBudW1iZXIiCittc2dzdHIgIm7Dum1lcm8gZGUgc2VyaWUgZGVsIGRpc2NvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc5Cittc2dpZCAic2l6ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJ0YW1hw7FvIGRlbCBkaXNwb3NpdGl2byIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MAorbXNnaWQgInN0YXRlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgImVzdGFkbyBkZWwgZGlzcG9zaXRpdm8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODIKK21zZ2lkICJncm91cCBuYW1lIgorbXNnc3RyICJub21icmUgZGVsIGdydXBvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgzCittc2dpZCAiZGV2aWNlIG5vZGUgcGVybWlzc2lvbnMiCittc2dzdHIgInBlcm1pc29zIGRlbCBub2RvIGRlbCBkaXNwb3NpdGl2byIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NAorbXNnaWQgImFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgImRlc3BsYXphbWllbnRvIGRlIGFsaW5lYWNpw7NuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg1Cittc2dpZCAibWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAidGFtYcOxbyBtw61uaW1vIGRlIEUvUyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NgorbXNnaWQgIm9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgInRhbWHDsW8gw7NwdGltbyBkZSBFL1MiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODcKK21zZ2lkICJwaHlzaWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAidGFtYcOxbyBkZWwgc2VjdG9yIGbDrXNpY28iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODgKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJ0YW1hw7FvIGRlbCBzZWN0b3IgbMOzZ2ljbyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OQorbXNnaWQgIkkvTyBzY2hlZHVsZXIgbmFtZSIKK21zZ3N0ciAibm9tYnJlIGRlbCBwbGFuaWZpY2Fkb3IgZGUgRS9TIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwCittc2dpZCAicmVxdWVzdCBxdWV1ZSBzaXplIgorbXNnc3RyICJ0YW1hw7FvIGRlIGxhIGNvbGEgZGUgcGV0aWNpb25lcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MQorbXNnaWQgImRldmljZSB0eXBlIgorbXNnc3RyICJ0aXBvIGRlIGRpc3Bvc2l0aXZvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkyCittc2dpZCAiZGlzY2FyZCBhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICJzZSBkZXNjYXJ0YSBlbCBkZXNwbGF6YW1pZW50byBkZWwgYWxpbmVhbWllbnRvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkzCittc2dpZCAiZGlzY2FyZCBncmFudWxhcml0eSIKK21zZ3N0ciAic2UgZGVzY2FydGEgbGEgZ3JhbnVsYXJpZGFkIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk0Cittc2dpZCAiZGlzY2FyZCBtYXggYnl0ZXMiCittc2dzdHIgInNlIGRlc2NhcnRhIGVsIG3DoXhpbW8gZGUgYnl0ZXMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTUKK21zZ2lkICJkaXNjYXJkIHplcm9lcyBkYXRhIgorbXNnc3RyICJzZSBkZXNjYXJ0YW4gbG9zIGRhdG9zIGEgY2VybyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NgorbXNnaWQgIndyaXRlIHNhbWUgbWF4IGJ5dGVzIgorbXNnc3RyICJlc2NyaXR1cmEgZGVsIG1pc21vIG3DoXhpbW8gZGUgYnR5ZXMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTcKK21zZ2lkICJ1bmlxdWUgc3RvcmFnZSBpZGVudGlmaWVyIgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGRlIGFsbWFjZW5hbWllbnRvIMO6bmljbyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OAorbXNnaWQgIkhvc3Q6Q2hhbm5lbDpUYXJnZXQ6THVuIGZvciBTQ1NJIgorbXNnc3RyICJNw6FxdWluYTpDYW5hbDpPYmpldGl2bzpVbG9nIHBhcmEgU0NTSSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OQorbXNnaWQgImRldmljZSB0cmFuc3BvcnQgdHlwZSIKK21zZ3N0ciAidGlwbyBkZSB0cmFuc3BvcnRlIGRlbCBkaXNwb3NpdGl2byIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMAorbXNnaWQgImRlLWR1cGxpY2F0ZWQgY2hhaW4gb2Ygc3Vic3lzdGVtcyIKK21zZ3N0ciAiZGVzaGFjZSBkdXBsaWNhZG8gZGUgY2FkZW5hIGRlIHN1YnNpc3RlbWFzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAxCittc2dpZCAiZGV2aWNlIHJldmlzaW9uIgorbXNnc3RyICJ2ZXJzacOzbiBkZSBkaXNwb3NpdGl2byIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMgorbXNnaWQgImRldmljZSB2ZW5kb3IiCittc2dzdHIgInZlbmRlZG9yIGRlbCBkaXNwb3NpdGl2byIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjEyNzYKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkZXZpY2UgZGlyZWN0b3J5IGluIHN5c2ZzIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gYWJyaXIgZWwgZGlyZWN0b3JpbyBkZWwgZGlzcG9zaXRpdm8gZW4gc2lzdGVtYSBkZSBmaWNoZXJvcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjb21wb3NlIHN5c2ZzIHBhdGgiCittc2dzdHIgIiVzOiBubyBzZSBoYSBwb2RpZG8gY29tcG9uZXIgbGEgcnV0YSBkZWwgc2lzdGVtYSBkZSBmaWNoZXJvcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIGxpbmsiCittc2dzdHIgIiVzOiBmYWxsbyBhbCBsZWVyIGVubGFjZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3lzZnMgbmFtZSIKK21zZ3N0ciAiJXM6IGZhbGxvIGFsIG9idGVuZXIgZWwgbm9tYnJlIGRlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB3aG9sZS1kaXNrIGRldmljZSBudW1iZXIiCittc2dzdHIgIiVzOiBmYWxsbyBhbCBvYnRlbmVyIGVsIG7Dum1lcm8gZGUgZGlzcG9zaXRpdm8gZGVsIGRpc2NvIGNvbXBsZXRvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1MSBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1MyBtaXNjLXV0aWxzL2xzYmxrLmM6MTU3OAorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxpc3QgJyVzJyIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgbGEgbGlzdGEgJyVzJyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgZXhjbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICJsYSBsaXN0YSBkZSBkaXNwb3NpdGl2b3MgZXhjbHVpZG9zIGVzIGRlbWFzaWFkbyBncmFuZGUgKGVsIGzDrW1pdGUgZXMgZGUgJWQgZGlzcG9zaXRpdm9zKSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgaW5jbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICJsYSBsaXN0YSBkZSBkaXNwb3NpdGl2b3MgaW5jbHVpZG9zIGVzIGRlbWFzaWFkbyBncmFuZGUgKGVsIGzDrW1pdGUgZXMgZGUgJWQgZGlzcG9zaXRpdm9zKSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MTYgc3lzLXV0aWxzL3dkY3RsLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gWzxkaXNwb3NpdGl2bz4gLi4uXVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxOQorbXNnaWQgIkxpc3QgaW5mb3JtYXRpb24gYWJvdXQgYmxvY2sgZGV2aWNlcy5cbiIKK21zZ3N0ciAiTXVlc3RyYSBpbmZvcm1hY2nDs24gc29icmUgZGlzcG9zaXRpdm9zIGRlIGJsb3F1ZXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIyCittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICBpbXByaW1lIHRvZG9zIGxvcyBkaXNwb3NpdGl2b3NcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjQKK21zZ2lkICIgLWQsIC0tbm9kZXBzICAgICAgICAgZG9uJ3QgcHJpbnQgc2xhdmVzIG9yIGhvbGRlcnNcbiIKK21zZ3N0ciAiIC1kLCAtLW5vZGVwcyAgICAgICAgIG5vaW1wcmltZSBlc2NsYXZvcyBuaSBwb3J0YWRvcmVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI1Cittc2dpZCAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHByaW50IGRpc2NhcmQgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiAtRCwgLS1kaXNjYXJkICAgICAgICBpbXByaW1lIGxhcyBjYXBhY2lkYWRlcyBkZSBkZXNjYXJ0ZVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNgorbXNnaWQgIiAtZSwgLS1leGNsdWRlIDxsaXN0PiBleGNsdWRlIGRldmljZXMgYnkgbWFqb3IgbnVtYmVyIChkZWZhdWx0OiBSQU0gZGlza3MpXG4iCittc2dzdHIgIiAtZSwgLS1leGNsdWRlIDxsaXN0YT5leGNsdXllIGRpc3Bvc2l0aXZvcyBwb3IgbsO6bWVybyBtYXlvciAocG9yIG9taXNpw7NuOiBkaXNjb3MgUkFNKVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNworbXNnaWQgIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLWYsIC0tZnMgICAgICAgICAgICAgc2FjYSBpbmZvcm1hY2nDs24gc29icmUgbG9zIHNpc3RlbWFzIGRlIGZpY2hlcm9zXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI4Cittc2dpZCAiIC1pLCAtLWFzY2lpICAgICAgICAgIHVzZSBhc2NpaSBjaGFyYWN0ZXJzIG9ubHlcbiIKK21zZ3N0ciAiIC1pLCAtLWFzY2lpICAgICAgICAgIHV0aWxpemEgY2FyYWN0ZXJlcyBhc2NpaSBzb2xhbWVudGVcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjkKK21zZ2lkICIgLUksIC0taW5jbHVkZSA8bGlzdD4gc2hvdyBvbmx5IGRldmljZXMgd2l0aCBzcGVjaWZpZWQgbWFqb3IgbnVtYmVyc1xuIgorbXNnc3RyICIgLUksIC0taW5jbHVkZSA8bGlzdGE+bXVlc3RyYSDDum5pY2FtZW50ZSBkaXNwb3NpdGl2b3MgY29uIGxvcyBuw7ptZXJvcyBtYXlvcmVzIGVzcGVjaWZpY2Fkb3NcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzAKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgdXRpbGl6YSBmb3JtYXRvIGRlIHNhbGlkYSBKU09OXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMxCittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgIHV0aWxpemEgc2FsaWRhIGNvbiBmb3JtYXRvIGRlIGxpc3RhXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMyCittc2dpZCAiIC1tLCAtLXBlcm1zICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiAtbSwgLS1wZXJtcyAgICAgICAgICBzYWNhIGluZm9ybWFjacOzbiBzb2JyZSBsb3MgcGVybWlzb3NcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIG5vIGltcHJpbWUgZW5jYWJlemFkb3NcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzQKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+IGNvbHVtbmFzIHF1ZSBtb3N0cmFyXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM1Cittc2dpZCAiIC1PLCAtLW91dHB1dC1hbGwgICAgIG91dHB1dCBhbGwgY29sdW1uc1xuIgorbXNnc3RyICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgc2FjYSB0b2RhcyBsYXMgY29sdW1uYXNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzYKK21zZ2lkICIgLXAsIC0tcGF0aHMgICAgICAgICAgcHJpbnQgY29tcGxldGUgZGV2aWNlIHBhdGhcbiIKK21zZ3N0ciAiIC1wLCAtLXBhdGhzICAgICAgICAgIGltcHJpbWUgbGEgcnV0YSBjb21wbGV0YSBkZWwgZGlzcG9zaXRpdm9cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzkKK21zZ2lkICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKK21zZ3N0ciAiIC1zLCAtLWludmVyc2UgICAgICAgIGRlcGVuZGVuY2lhcyBpbnZlcnNhc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MAorbXNnaWQgIiAtUywgLS1zY3NpICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBTQ1NJIGRldmljZXNcbiIKK21zZ3N0ciAiIC1TLCAtLXNjc2kgICAgICAgICAgIHNhY2EgaW5mb3JtYWNpw7NuIHNvYnJlIGxvcyBkaXNwb3NpdGl2b3MgU0NTSVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MQorbXNnaWQgIiAtdCwgLS10b3BvbG9neSAgICAgICBvdXRwdXQgaW5mbyBhYm91dCB0b3BvbG9neVxuIgorbXNnc3RyICIgLXQsIC0tdG9wb2xvZ3kgICAgICAgc2FjYSBpbmZvcm1hY2nDs24gc29icmUgbGEgdG9wb2xvZ8OtYVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MgorbXNnaWQgIiAteCwgLS1zb3J0IDxjb2x1bW4+ICBzb3J0IG91dHB1dCBieSA8Y29sdW1uPlxuIgorbXNnc3RyICIgLXgsIC0tc29ydCA8Y29sdW1uYT4gb3JkZW5hIGxhIHNhbGlkYSBwb3IgPGNvbHVtbmE+XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ3IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxOSBzeXMtdXRpbHMvbHNucy5jOjYzMgorIzogc3lzLXV0aWxzL3BybGltaXQuYzoxOTYgc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1vdXRwdXQpOlxuIgorbXNnc3RyICIiCisiXG4iCisiQ29sdW1uYXMgZGlzcG9uaWJsZXMgKHBhcmEgLS1vdXRwdXQpOlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWNjZXNzIHN5c2ZzIGRpcmVjdG9yeTogJXMiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBhY2NlZGVyIGFsIGRpcmVjdG9yaW8gZGVsIHNpc3RlbWEgZGUgZmljaGVyb3M6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3MworbXNnaWQgImNvbW1hbmQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAib3JkZW4gZGVsIHByb2Nlc28gcXVlIHNvc3RpZW5lIGVsIGJsb3F1ZW8iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc0Cittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIlBJRCBkZWwgcHJvY2VzbyBxdWUgc29zdGllbmUgZWwgYmxvcXVlbyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzUKK21zZ2lkICJraW5kIG9mIGxvY2s6IEZMX0ZMT0NLIG9yIEZMX1BPU0lYLiIKK21zZ3N0ciAidGlwbyBkZSBibG9xdWVvOiBGTF9GTE9DSyBvIEZMX1BPU0lYLiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzYKK21zZ2lkICJzaXplIG9mIHRoZSBsb2NrIgorbXNnc3RyICJ0YW1hw7FvIGRlbCBibG9xdWVvIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NworbXNnaWQgImxvY2sgYWNjZXNzIG1vZGUiCittc2dzdHIgIm1vZG8gZGUgYWNjZXNvIGFsIGJsb3F1ZW8iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc4Cittc2dpZCAibWFuZGF0b3J5IHN0YXRlIG9mIHRoZSBsb2NrOiAwIChub25lKSwgMSAoc2V0KSIKK21zZ3N0ciAiZXN0YWRvIG9ibGlnYXRvcmlvIGRlbCBibG9xdWVvOiAwIChubyBoYXkpLCAxIChkZWZpbmlkbykiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc5Cittc2dpZCAicmVsYXRpdmUgYnl0ZSBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgInBvc2ljacOzbiByZWxhdGl2YSBkZWwgYmxvcXVlbyBlbiBieXRlcyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODAKK21zZ2lkICJlbmRpbmcgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICJwb3NpY2nDs24gZGVsIGZpbmFsIGRlbCBibG9xdWVvIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MQorbXNnaWQgInBhdGggb2YgdGhlIGxvY2tlZCBmaWxlIgorbXNnc3RyICJydXRhIGRlbCBmaWNoZXJvIGJsb3F1ZWFkbyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODIKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgYmxvY2tpbmcgdGhlIGxvY2siCittc2dzdHIgIlBJRCBkZWwgcHJvY2VzbyBxdWUgZXN0w6EgYmxvcXVlYW5kbyBlbCBibG9xdWVvIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyNTkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSUQiCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIElEIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODEgc3lzLXV0aWxzL25zZW50ZXIuYzoyMzIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGlkIgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBwaWQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4NAorbXNnaWQgIih1bmtub3duKSIKK21zZ3N0ciAiKGRlc2Nvbm9jaWRvKSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjkzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBlbCBwcmluY2lwaW8iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjMwMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbmQiCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIGVsIGZpbmFsIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDQKK21zZ2lkICJMaXN0IGxvY2FsIHN5c3RlbSBsb2Nrcy5cbiIKK21zZ3N0ciAiRW51bWVyYSBsb3MgYmxvcXVlb3MgZGVsIHNpc3RlbWEgbG9jYWwuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwOAorbXNnaWQgIiAtaSwgLS1ub2luYWNjZXNzaWJsZSAgIGlnbm9yZSBsb2NrcyB3aXRob3V0IHJlYWQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIC1pLCAtLW5vaW5hY2Nlc3NpYmxlICAgaGFjZXIgY2FzbyBvbWlzbyBkZSBibG9xdWVvcyBzaW4gcGVybWlzb3MgZGUgbGVjdHVyYVxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDkgc3lzLXV0aWxzL2xzbnMuYzo2MjEKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBubyBpbXByaW1lIGVuY2FiZXphZG9zXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMCBzeXMtdXRpbHMvbHNucy5jOjYyMgorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICAgZGVmaW5lIHF1ZSBjb2x1bW5hcyBkZSBzYWxpZGEgdXRpbGl6YXJcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTExCittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgZGlzcGxheSBvbmx5IGxvY2tzIGhlbGQgYnkgdGhpcyBwcm9jZXNzXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIG11ZXN0cmEgc29sbyBsb3MgYmxvcXVlb3MgcXVlIG1hbnRpZW5lIGVzdGUgcHJvY2Vzb1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTIgc3lzLXV0aWxzL2xzbnMuYzo2MjQKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHV0aWxpemEgZWwgZm9ybWF0byBkZSBzYWxpZGEgZW4gYnJ1dG9cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTcwIHNjaGVkdXRpbHMvY2hydC5jOjQ3OCBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTYzIHN5cy11dGlscy9sc25zLmM6Njk5IHN5cy11dGlscy9wcmxpbWl0LmM6NTg2Cittc2dpZCAiaW52YWxpZCBQSUQgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBQSUQgaW5jb3JyZWN0byIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODUKK21zZ2lkICJHZW5lcmF0ZSBtYWdpYyBjb29raWVzIGZvciB4YXV0aC5cbiIKK21zZ3N0ciAiR2VuZXJhIMKrY29va2llc8K7IG3DoWdpY2FzIHBhcmEgeGF1dGguXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg4Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICB1c2UgZmlsZSBhcyBhIGNvb2tpZSBzZWVkXG4iCittc2dzdHIgIiAtZiwgLS1maWxlIDxmaWNoZXJvPiAgdXRpbGl6YSBmaWNoZXJvIGNvbW8gc2VtaWxsYSBkZSDCq2Nvb2tpZcK7XG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg5Cittc2dpZCAiIC1tLCAtLW1heC1zaXplIDxudW0+ICBsaW1pdCBob3cgbXVjaCBpcyByZWFkIGZyb20gc2VlZCBmaWxlc1xuIgorbXNnc3RyICIgLW0sIC0tbWF4LXNpemUgPG51bT4gIGxpbWl0YSBsYSBjYW50aWRhZCBxdWUgc2UgbGVlIGRlIGxvcyBmaWNoZXJvcyBkZSBzZW1pbGxhXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkwCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgIGV4cGxpY2EgbG8gcXVlIHNlIGVzdMOhIGhhY2llbmRvXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJHb3QgJXp1IGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJXp1IGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAiU2UgaGEgb2J0ZW5pZG8gJXp1IGJ5dGUgZGUgJXNcbiIKK21zZ3N0clsxXSAiU2UgaGFuIG9idGVuaWRvICV6dSBieXRlcyBkZSAlc1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvc2luZyAlcyBmYWlsZWQiCittc2dzdHIgImZhbGxvIGFsIGNlcnJhciAlcyIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTY0IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTQ2IHN5cy11dGlscy9mc3RyaW0uYzozMDgKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZW5ndGgiCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIGxhIGxvbmdpdHVkIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNzcKK21zZ2lkICItLW1heC1zaXplIGlnbm9yZWQgd2hlbiB1c2VkIHdpdGhvdXQgLS1maWxlIgorbXNnc3RyICItLW1heC1zaXplIGlnbm9yYWRvIGN1YW5kbyBzZSB1dGlsaXphIHNpbiAtLWZpbGUiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE4NQorIywgYy1mb3JtYXQKK21zZ2lkICJHb3QgJWQgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlZCBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIlNlIGhhIG9idGVuaWRvICVkIGJ5dGUgZGUgJXNcbiIKK21zZ3N0clsxXSAiU2UgaGFuIG9idGVuaWRvICVkIGJ5dGVzIGRlICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzeW1saW5rOiAlcyIKK21zZ3N0ciAiZmFsbG8gYWwgbGVlciBlbmxhY2Ugc2ltYsOzbGljbzogJXMiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgLSBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5XG4iCittc2dzdHIgIiVzIC0gTm8gZXhpc3RlIGVsIGZpY2hlcm8gbyBlbCBkaXJlY3RvcmlvXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGF0aG5hbWU+Li4uXG4iCittc2dzdHIgIiAlcyBbb3BjaW9uZXNdIDxub21icmUgZGUgcnV0YT4gLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzYKK21zZ2lkICJGb2xsb3cgYSBwYXRobmFtZSB1bnRpbCBhIHRlcm1pbmFsIHBvaW50IGlzIGZvdW5kLlxuIgorbXNnc3RyICJTaWd1ZSB1bmEgcnV0YSBoYXN0YSBlbmNvbnRyYXIgdW4gcHVudG8gdGVybWluYWwuXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzkKK21zZ2lkICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheXMgdGhpcyBoZWxwIHRleHRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAteCwgLS1tb3VudHBvaW50cyAgIHNob3cgbW91bnQgcG9pbnQgZGlyZWN0b3JpZXMgd2l0aCBhICdEJ1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIHNob3cgdGhlIG1vZGUgYml0cyBvZiBlYWNoIGZpbGVcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBzaG93IG93bmVyIGFuZCBncm91cCBuYW1lIG9mIGVhY2ggZmlsZVxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIHVzZSBhIGxvbmcgbGlzdGluZyBmb3JtYXQgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICBkb24ndCBmb2xsb3cgc3ltbGlua3NcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICB2ZXJ0aWNhbCBhbGlnbiBvZiBtb2RlcyBhbmQgb3duZXJzXG4iCittc2dzdHIgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICBtdWVzdHJhIGVzdGUgdGV4dG8gZGUgYXl1ZGFcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBzYWNhIGxhIGluZm9ybWFjacOzbiBkZSB2ZXJzacOzbiB5IHNhbGVcbiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICBtdWVzdHJhIGxvcyBkaXJlY3RvcmlvcyBkZSBwdW50b3MgZGUgbW9udGFqZSBjb24gdW5hICdEJ1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIG11ZXN0cmEgbG9zIGJpdHMgZGUgbW9kbyBkZSBjYWRhIGZpY2hlcm9cbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBtdWVzdHJhIGVsIG5vbWJyZSBkZSBwcm9waWV0YXJpbyB5IGVsIGRlIGdydXBvIGRlIGNhZGEgZmljaGVyb1xuIgorIiAtbCwgLS1sb25nICAgICAgICAgIHV0aWxpemEgZm9ybWF0byBkZSBsaXN0YWRvIGxhcmdvICgtbSAtbyAtdikgXG4iCisiIC1uLCAtLW5vc3ltbGlua3MgICAgbm8gc2lndWUgbG9zIGVubGFjZXMgc2ltYsOzbGljb3NcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICBhbGluZWEgdmVydGljYWxtZW50ZSBsb3MgbW9kb3MgeSBsb3MgcHJvcGlldGFyaW9zXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MDgKK21zZ2lkICJwYXRobmFtZSBhcmd1bWVudCBpcyBtaXNzaW5nIgorbXNnc3RyICJmYWx0YSBlbCBhcmd1bWVudG8gZGVsIG5vbWJyZSBkZSBydXRhIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE0IHN5cy11dGlscy9sc25zLmM6NzY0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIFVJRCBjYWNoZSIKK21zZ3N0ciAiZmFsbG8gYWwgYXNpZ25hciBsYSBjYWNow6kgVUlEIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE3Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdJRCBjYWNoZSIKK21zZ3N0ciAiZmFsbG8gYWwgYXNpZ25hciBsYSBjYWNow6kgR0lEIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGNlZWRlZCBsaW1pdCBvZiBzeW1saW5rcyIKK21zZ3N0ciAiJXM6IHNlIGhhIHN1cGVyYWRvIGVsIGzDrW1pdGUgZGUgZW5sYWNlcyBzaW1iw7NsaWNvcyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAiJXM6IG5vIGVzIHVuIGVubGFjZSBzaW1iw7NsaWNvIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkbGluayBmYWlsZWQiCittc2dzdHIgIiVzOiByZWFkbGluayBoYSBmYWxsYWRvIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmxpbmsgZmFpbGVkIgorbXNnc3RyICIlczogdW5saW5rIGhhIGZhbGxhZG8iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN5bWxpbmtpbmcgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogZWwgZW5sYXphZG8gc2ltYsOzbGljbyBhICVzIGhhIGZhbGxhZG8iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZW5hbWUgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogZmFsbG8gYWwgY2FtYmlhciBlbCBub21icmUgYSAlcyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZXhwcmVzc2lvbj4gPHJlcGxhY2VtZW50PiA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gPGV4cHJlc2nDs24+IDxzdXN0aXR1dG8+IDxmaWNoZXJvPi4uLlxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyMgorbXNnaWQgIlJlbmFtZSBmaWxlcy5cbiIKK21zZ3N0ciAiQ2FtYmlhIGVsIG5vbWJyZSBkZSB1biBmaWNoZXJvLlxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyNQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgIGV4cGxpY2EgbG8gcXVlIHNlIGVzdMOhIGhhY2llbmRvXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTI2Cittc2dpZCAiIC1zLCAtLXN5bWxpbmsgICAgYWN0IG9uIHRoZSB0YXJnZXQgb2Ygc3ltbGlua3NcbiIKK21zZ3N0ciAiIC1zLCAtLXN5bWxpbmsgICAgYWN0w7phIHNvYnJlIGVsIG9iamV0aXZvIGRlIGxvcyBlbmxhY2VzIHNpbWLDs2xpY29zXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MgorbXNnaWQgIkEgZGFlbW9uIGZvciBnZW5lcmF0aW5nIFVVSURzLlxuIgorbXNnc3RyICJEZW1vbmlvIHBhcmEgZ2VuZXJhciBVVUlEcy5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc0Cittc2dpZCAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8cnV0YT4gICAgICAgIHJ1dGEgZGVsIGZpY2hlcm8gcGlkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NQorbXNnaWQgIiAtcywgLS1zb2NrZXQgPHBhdGg+ICAgICBwYXRoIHRvIHNvY2tldFxuIgorbXNnc3RyICIgLXMsIC0tc29ja2V0IDxydXRhPiAgICAgcnV0YSBkZWwgwqtzb2NrZXTCu1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzYKK21zZ2lkICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKK21zZ3N0ciAiIC1ULCAtLXRpbWVvdXQgPHM+ICAgICAgIGVzcGVjaWZpY2EgZWwgdGllbXBvIGzDrW1pdGUgZGUgaW5hY3RpdmlkYWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc3Cittc2dpZCAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGtpbGwgcnVubmluZyBkYWVtb25cbiIKK21zZ3N0ciAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIG1hdGEgZGVtb25pbyBlbiBlamVjdWNpw7NuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3OAorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAtciwgLS1yYW5kb20gICAgICAgICAgICBwcnVlYmEgbGEgZ2VuZXJhY2nDs24gYmFzYWRhIGVuIGFsZWF0b3Jpb3NcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICAgICAgICBwcnVlYmEgbGEgZ2VuZXJhY2nDs24gYmFzYWRhIGVuIHRpZW1wb1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODAKK21zZ2lkICIgLW4sIC0tdXVpZHMgPG51bT4gICAgICAgcmVxdWVzdCBudW1iZXIgb2YgdXVpZHNcbiIKK21zZ3N0ciAiIC1uLCAtLXV1aWRzIDxuw7ptZXJvPiAgICBzb2xpY2l0YSBlbCBuw7ptZXJvIGRlIHV1aWRzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MQorbXNnaWQgIiAtUCwgLS1uby1waWQgICAgICAgICAgICBkbyBub3QgY3JlYXRlIHBpZCBmaWxlXG4iCittc2dzdHIgIiAtUCwgLS1uby1waWQgICAgICAgICAgICBubyBjcmVhIGZpY2hlcm8gcGlkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MgorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkbyBub3QgZGFlbW9uaXplIHVzaW5nIGRvdWJsZS1mb3JrXG4iCittc2dzdHIgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBubyBkZW1vbml6YSB1dGlsaXphbmRvIGRvYmxlIMKrZm9ya8K7XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MworbXNnaWQgIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBkbyBub3QgY3JlYXRlIGxpc3RlbmluZyBzb2NrZXRcbiIKK21zZ3N0ciAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIG5vIGNyZWEgc29ja2V0IGRlIGVzY3VjaGFcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjg0Cittc2dpZCAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHJ1biBpbiBkZWJ1Z2dpbmcgbW9kZVxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgZWplY3V0YSBlbiBtb2RvIGRlcHVyYWNpw7NuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4NQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0dXJuIG9uIHF1aWV0IG1vZGVcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIGFjdGl2YSBlbCBtb2RvIHNpbGVuY2lvc29cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjExOAorbXNnaWQgImJhZCBhcmd1bWVudHMiCittc2dzdHIgImFyZ3VtZW50b3MgaW5jb3JyZWN0b3MiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMjUKK21zZ2lkICJzb2NrZXQiCittc2dzdHIgInNvY2tldCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEzNgorbXNnaWQgImNvbm5lY3QiCittc2dzdHIgImNvbmV4acOzbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE1NgorbXNnaWQgIndyaXRlIgorbXNnc3RyICJlc2NyaXR1cmEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNjQKK21zZ2lkICJyZWFkIGNvdW50IgorbXNnc3RyICJuw7ptZXJvIGRlIGxlY3R1cmFzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTcwCittc2dpZCAiYmFkIHJlc3BvbnNlIGxlbmd0aCIKK21zZ3N0ciAibG9uZ2l0dWQgZGUgcmVzcHVlc3RhIGluY29ycmVjdGEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGxvY2sgJXMiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGJsb3F1ZWFyICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjQ2Cittc2dpZCAiY291bGRuJ3QgY3JlYXRlIHVuaXggc3RyZWFtIHNvY2tldCIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGNyZWFyIGVsIMKrc29ja2V0wrsgdW5peCBvcmllbnRhZG8gYSBsYSBjb25leGnDs24iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgYmluZCB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGFzb2NpYXIgZWwgwqtzb2NrZXTCuyB1bml4ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mjk4Cittc2dpZCAicmVjZWl2aW5nIHNpZ25hbCBmYWlsZWQiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyByZWNpYmlyIGxhIHNlw7FhbCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjMxMQorbXNnaWQgInRpbWVkIG91dCIKK21zZ3N0ciAidGllbXBvIGRlIGVzcGVyYSBleGNlZGlkbyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM0NSBzeXMtdXRpbHMvZmxvY2suYzoyNzEKK21zZ2lkICJjYW5ub3Qgc2V0IHVwIHRpbWVyIgorbXNnc3RyICJubyBzZSBwdWVkZSBjb25maWd1cmFyIGVsIHRlbXBvcml6YWRvciIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICJ1dWlkZCBkYWVtb24gaXMgYWxyZWFkeSBydW5uaW5nIGF0IHBpZCAlcyIKK21zZ3N0ciAiZWwgZGVtb25pbyB1dWlkIHlhIGVzdMOhIGNvcnJpZW5kbyBjb24gZWwgcGlkICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGxpc3RlbiBvbiB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIHBvbmVyIGEgbGEgZXNjdWNoYSBlbCDCq3NvY2tldMK7IHVuaXggJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHRydW5jYXRlIGZpbGU6ICVzIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gdHJ1bmNhciBlbCBmaWNoZXJvOiAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4NgorbXNnaWQgInNkX2xpc3Rlbl9mZHMoKSBmYWlsZWQiCittc2dzdHIgInNkX2xpc3Rlbl9mZHMoKSBoYSBmYWxsYWRvIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzg5Cittc2dpZCAibm8gZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgc3lzdGVtY3RsIHN0YXR1cyB1dWlkZC5zb2NrZXQiCittc2dzdHIgIm5vIHNlIGhhIHJlY2liaWRvIG5pbmfDum4gZGVzY3JpcHRvciBkZSBmaWNoZXJvOyBjb21wcm9iYXIgc3lzdGVtY3RsIHN0YXR1cyB1dWlkZC5zb2NrZXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozOTIKK21zZ2lkICJ0b28gbWFueSBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayB1dWlkZC5zb2NrZXQiCittc2dzdHIgInNlIGhhbiByZWNpYmlkbyBkZW1hc2lhZG9zIGRlY3JpcHRvcmVzIGRlIGZpY2hlcm87IGNvbXByb2JhciB1dWlkZC5zb2NrZXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MjAgdGVybS11dGlscy9zY3JpcHQuYzo0NTUKK21zZ2lkICJwb2xsIGZhaWxlZCIKK21zZ3N0ciAiZWwgc29uZGVvIGhhIGZhbGxhZG8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZW91dCBbJWQgc2VjXVxuIgorbXNnc3RyICJ0aWVtcG8gZGUgZXNwZXJhIFslZCBzXVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQzIHRleHQtdXRpbHMvY29sdW1uLmM6NDE0Cittc2dpZCAicmVhZCBmYWlsZWQiCittc2dzdHIgImZhbGxvIGFsIGxlZXIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgcmVhZGluZyBmcm9tIGNsaWVudCwgbGVuID0gJWQiCittc2dzdHIgImVycm9yIGRlIGxlY3R1cmEgZGVsIGNsaWVudGUsIGxvbmdpdHVkID0gJWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkLCBpbmNvbWluZyBudW0gPSAlZFxuIgorbXNnc3RyICJvcGVyYWNpw7NuICVkLCBuw7ptZXJvIGVudHJhbnRlID0gJWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ1NworIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAib3BlcmFjacOzbiAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQ6ICVzXG4iCittc2dzdHIgIlVVSUQgZGUgdGllbXBvIGdlbmVyYWRvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCByYW5kb20gVVVJRDogJXNcbiIKK21zZ3N0ciAiVVVJRCBhbGVhdG9yaW8gZ2VuZXJhZG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgYW5kICVkIGZvbGxvd2luZ1xuIgorbXNnc3RyWzBdICJVVUlEIGRlIHRpZW1wbyBnZW5lcmFkbyAlcyB5ICVkIHNpZ3VpZW50ZVxuIgorbXNnc3RyWzFdICJVVUlEIGRlIHRpZW1wbyBnZW5lcmFkbyAlcyB5ICVkIHNpZ3VpZW50ZXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgJWQgVVVJRDpcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkICVkIFVVSURzOlxuIgorbXNnc3RyWzBdICIlZCBVVUlEIGdlbmVyYWRvOlxuIgorbXNnc3RyWzFdICIlZCBVVUlEcyBnZW5lcmFkb3M6XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAiT3BlcmFjacOzbiBubyB2w6FsaWRhICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCByZXBseSBsZW5ndGggZnJvbSBzZXJ2ZXIgJWQiCittc2dzdHIgIkxvbmdpdHVkIGluZXNwZXJhZGEgZGUgbGEgcmVzcHVlc3RhIGRlbCBzZXJ2aWRvciAlZCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYwMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXV1aWRzIgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciAtLXV1aWRzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjE3Cittc2dpZCAidXVpZGQgaGFzIGJlZW4gYnVpbHQgd2l0aG91dCBzdXBwb3J0IGZvciBzb2NrZXQgYWN0aXZhdGlvbiIKK21zZ3N0ciAic2UgaGEgY29uc3RydWlkbyBlbCB1dWlkZCBzaW4gc29wb3J0ZSBwYXJhIGxhIGFjdGl2YWNpw7NuIGRlIMKrc29ja2V0c8K7IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjM2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGltZW91dCIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgLS10aW1lb3V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjUzCittc2dpZCAiQm90aCAtLXNvY2tldC1hY3RpdmF0aW9uIGFuZCAtLXNvY2tldCBzcGVjaWZpZWQuIElnbm9yaW5nIC0tc29ja2V0LiIKK21zZ3N0ciAiU2UgaGEgZXNwZWNpZmljYWRvIC0tc29ja2V0LWFjdGl2YXRpb24geSAtLXNvY2tldC4gU2UgaWdub3JhIC0tc29ja2V0LiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2MCBtaXNjLXV0aWxzL3V1aWRkLmM6Njg4CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNhbGxpbmcgdXVpZGQgZGFlbW9uICglcykiCittc2dzdHIgImVycm9yIGFsIGxsYW1hciBhbCBkZW1vbmlvIHV1aWRkICglcykiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjEgbWlzYy11dGlscy91dWlkZC5jOjY4OQorbXNnaWQgInVuZXhwZWN0ZWQgZXJyb3IiCittc2dzdHIgImVycm9yIGluZXNwZXJhZG8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRFxuIgorbXNnaWRfcGx1cmFsICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEc1xuIgorbXNnc3RyWzBdICIlcyB5ICVkIFVVSUQgc2lndWllbnRlXG4iCittc2dzdHJbMV0gIiVzIHkgJWQgVVVJRHMgc2lndWllbnRlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjczCisjLCBjLWZvcm1hdAorbXNnaWQgIkxpc3Qgb2YgVVVJRHM6XG4iCittc2dzdHIgIkxpc3RhIGRlIFVVSURzOlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGtpbGwgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBtYXRhciBlbCB1dWlkZCBxdWUgZXN0w6EgY29ycmllbmRvIGNvbiBlbCBwaWQgJWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiS2lsbGVkIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkLlxuIgorbXNnc3RyICJNYXRhZG8gZWwgdXVpZGQgcXVlIGVzdGFiYSBjb3JyaWVuZG8gY29uIHBpZCAlZC5cbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjgKK21zZ2lkICJDcmVhdGUgYSBuZXcgVVVJRCB2YWx1ZS5cbiIKK21zZ3N0ciAiQ3JlYSB1biB1biB2YWxvciBudWV2byBkZSBVVUlELlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozMQorbXNnaWQgIiIKKyIgLXIsIC0tcmFuZG9tICAgICBnZW5lcmF0ZSByYW5kb20tYmFzZWQgdXVpZFxuIgorIiAtdCwgLS10aW1lICAgICAgIGdlbmVyYXRlIHRpbWUtYmFzZWQgdXVpZFxuIgorIiAtViwgLS12ZXJzaW9uICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtciwgLS1yYW5kb20gICAgIGdlbmVyYSB1dWlkIGRlIGZvcm1hIGFsZWF0b3JpYVxuIgorIiAtdCwgLS10aW1lICAgICAgIGdlbmVyYSB1dWlkIGJhc2FkbyBlbiB0aWVtcG9cbiIKKyIgLVYsIC0tdmVyc2lvbiAgICBzYWNhIGxhIGluZm9ybWFjacOzbiBzb2JyZSBsYSB2ZXJzacOzbiB5IHRlcm1pbmFcbiIKKyIgLWgsIC0taGVscCAgICAgICBtdWVzdHJhIGVzdGEgYXl1ZGEgeSB0ZXJtaW5hXG4iCisiXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstQk1TIDxkaXI+Li4uIC1mXSA8bmFtZT5cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gWy1CTVMgPGRpcj4uLi4gLWZdIDxub21icmU+XG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5MgorbXNnaWQgIkxvY2F0ZSB0aGUgYmluYXJ5LCBzb3VyY2UsIGFuZCBtYW51YWwtcGFnZSBmaWxlcyBmb3IgYSBjb21tYW5kLlxuIgorbXNnc3RyICJMb2NhbGl6YSBsb3MgZmljaGVyb3MgYmluYXJpb3MsIGZ1ZW50ZXMgeSBww6FnaW5hcyBkZWwgbWFudWFsIGRlIHVuIHByb2dyYW1hLlxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTUKK21zZ2lkICIgLWIgICAgICAgICBzZWFyY2ggb25seSBmb3IgYmluYXJpZXNcbiIKK21zZ3N0ciAiIC1iICAgICAgICAgYnVzY2Egc29sYW1lbnRlIGJpbmFyaW9zXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5NgorbXNnaWQgIiAtQiA8ZGlycz4gIGRlZmluZSBiaW5hcmllcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLUIgPGRpcnM+ICBkZWZpbmUgbGEgcnV0YSBkZSBiw7pzcXVlZGEgcGFyYSBiaW5hcmlvc1xuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTcKK21zZ2lkICIgLW0gICAgICAgICBzZWFyY2ggb25seSBmb3IgbWFudWFscyBhbmQgaW5mb3NcbiIKK21zZ3N0ciAiIC1tICAgICAgICAgYnVzY2Egc29sYW1lbnRlIG1hbnVhbGVzIGUgaW5mb3NcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk4Cittc2dpZCAiIC1NIDxkaXJzPiAgZGVmaW5lIG1hbiBhbmQgaW5mbyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLU0gPGRpcnM+ICBkZWZpbmUgbGEgcnV0YSBkZSBiw7pzcXVlZGEgZGUgbWFueSBkZSBpbmZvXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5OQorbXNnaWQgIiAtcyAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBzb3VyY2VzXG4iCittc2dzdHIgIiAtcyAgICAgICAgIGJ1c2NhIHNvbGFtZW50ZSBmdWVudGVzXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMAorbXNnaWQgIiAtUyA8ZGlycz4gIGRlZmluZSBzb3VyY2VzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiAtUyA8ZGlycz4gIGRlZmluZSBsYSBydXRhIGRlIGLDunNxdWVkYSBwYXJhIGZ1ZW50ZXNcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAxCittc2dpZCAiIC1mICAgICAgICAgdGVybWluYXRlIDxkaXJzPiBhcmd1bWVudCBsaXN0XG4iCittc2dzdHIgIiAtZiAgICAgICAgIG1hcmNhIGVsIGZpbmFsIGRlIGxhIGxpc3RhIGRlbCBhcmd1bWVudG8gPGRpcnM+XG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMgorbXNnaWQgIiAtdSAgICAgICAgIHNlYXJjaCBmb3IgdW51c3VhbCBlbnRyaWVzXG4iCittc2dzdHIgIiAtdSAgICAgICAgIGJ1c2NhIGVudHJhZGFzIHBvY28gaGFiaXR1YWxlc1xuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDMKK21zZ2lkICIgLWwgICAgICAgICBvdXRwdXQgZWZmZWN0aXZlIGxvb2t1cCBwYXRoc1xuIgorbXNnc3RyICIgLWwgICAgICAgICBzYWNhIGxhcyBydXRhcyBkZSBiw7pzcXVlZGEgZWZlY3RpdmFzXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjYxOQorbXNnaWQgIm9wdGlvbiAtZiBpcyBtaXNzaW5nIgorbXNnc3RyICJmYWx0YSBsYSBvcGNpw7NuIC1mIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjE5NgorbXNnaWQgInBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidGFibGEgZGUgcGFydGljaW9uZXMiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogcHJvYmluZyBpbml0aWFsaXphdGlvbiBmYWlsZWQiCittc2dzdHIgImVycm9yOiAlczogbGEgcHJ1ZWJhIGRlIGxhIGluaWNpYWxpemFjacOzbiBoYSBmYWxsYWRvIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGVyYXNlICVzIG1hZ2ljIHN0cmluZyBhdCBvZmZzZXQgMHglMDhqeCIKK21zZ3N0ciAiJXM6IGZhbGxvIGFsIGJvcnJhciBsYSBjYWRlbmEgbcOhZ2ljYSAlcyBlbiBlbCBkZXNwbGF6YW1pZW50byAweCUwOGp4IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dpZF9wbHVyYWwgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzBdICIlczogc2UgaGEgYm9ycmFkbyAlemQgYnl0ZSBlbiBlbCBkZXNwbGF6YW1pZW50byAweCUwOGp4ICglcyk6ICIKK21zZ3N0clsxXSAiJXM6IHNlIGhhbiBib3JyYWRvICV6ZCBieXRlcyBlbiBlbCBkZXNwbGF6YW1pZW50byAweCUwOGp4ICglcyk6ICIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIgorbXNnc3RyICIlczogbm8gc2UgaGEgcG9kaWRvIGNyZWFyIHJlc3BhbGRvIGRlIGxhIGZpcm1hIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjM2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FsbGluZyBpb2N0bCB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZTogJW1cbiIKK21zZ3N0ciAiJXM6IGxsYW1hbmRvIGEgaW9jdGwoKSBwYXJhIHZvbHZlciBhIGxlZXIgbGEgdGFibGEgZGUgcGFydGljaW9uZXM6ICVtXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6Mzg1Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGNyZWFyIHJlc3BhbGRvIGRlIGxhIGZpcm1hOyAkSE9NRSBxdWVkYSBzaW4gZGVmaW5pciIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlnbm9yaW5nIG5lc3RlZCBcIiVzXCIgcGFydGl0aW9uIHRhYmxlIG9uIG5vbi13aG9sZSBkaXNrIGRldmljZSIKK21zZ3N0ciAiJXM6IHNlIGhhY2UgY2FzbyBvbWlzbyBkZSBsYSB0YWJsYSBkZSBwYXJ0aWNpw7NuIGFuaWRhZGEgXCIlc1wiIHNvYnJlIGVsIGRpc3Bvc2l0aXZvIGRlIGRpc2NvIG5vIGNvbXBsZXRvIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0IDB4JWp4IG5vdCBmb3VuZCIKK21zZ3N0ciAiJXM6IGVsIGRlc3BsYXphbWllbnRvIDB4JWp4IG5vIHNlIGhhIGVuY29udHJhZG8iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDM1Cittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiB0byBmb3JjZSBlcmFzZS4iCittc2dzdHIgIlV0aWxpY2UgbGEgb3BjacOzbiAtLWZvcmNlIHBhcmEgZm9yemFyIGVsIGJvcnJhZG8uIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1OQorbXNnaWQgIldpcGUgc2lnbmF0dXJlcyBmcm9tIGEgZGV2aWNlLlxuIgorbXNnc3RyICJMaW1waWEgbGFzIGZpcm1hcyBkZSB1biBkaXNwb3NpdGl2by5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0NjIKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpXG4iCisiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgIGZvcmNlIGVyYXN1cmVcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCisiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGxcbiIKKyIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgdG8gZXJhc2UsIGluIGJ5dGVzXG4iCisiIC1wLCAtLXBhcnNhYmxlICAgICAgcHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdFxuIgorIiAtcSwgLS1xdWlldCAgICAgICAgIHN1cHByZXNzIG91dHB1dCBtZXNzYWdlc1xuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSwgUkFJRHMgb3IgcGFydGl0aW9uIHRhYmxlc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICBib3JyYSB0b2RhcyBsYXMgY2FkZW5hcyBtw6FnaWNhcyAowqFDT04gQ1VJREFETyEpXG4iCisiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYSBjb3BpYSBkZSBzZWd1cmlkYWQgZGUgbGEgZmlybWEgZW4gJEhPTUVcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICBmdWVyemEgYm9ycmFkb1xuIgorIiAtaCwgLS1oZWxwICAgICAgICAgIG11ZXN0cmEgZXN0ZSB0ZXh0byBkZSBheXVkYVxuIgorIiAtbiwgLS1uby1hY3QgICAgICAgIGhhY2UgdG9kbyBleGNlcHRvIGxhIHByb3BpYSBsbGFtYWRhIGEgd3JpdGUoKVxuIgorIiAtbywgLS1vZmZzZXQgPG51bT4gIGRlc3BsYXphbWllbnRvIHBhcmEgYm9ycmFyLCBlbiBieXRlc1xuIgorIiAtcCwgLS1wYXJzYWJsZSAgICAgIGltcHJpbWUgZW4gZm9ybWF0byBpbnRlcnByZXRhYmxlIGVuIGx1Z2FyIGRlIGltcHJpbWlibGVcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICBzdXByaW1lIGxvcyBtZW5zYWplcyBkZSBzYWxpZGFcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3RhPiBsaW1pdGEgZWwgY29uanVudG8gZGVsIHNpc3RlbWEgZGUgZmljaGVyb3MsIGxvcyBSQUlEcyBvIGxhcyB0YWJsYXMgZGUgcGFydGljaW9uZXNcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBzYWNhIGxhIGluZm9ybWFjacOzbiBkZSB2ZXJzacOzbiB5IHNhbGVcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MzMKK21zZ2lkICJpbnZhbGlkIG9mZnNldCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGRlIGRlc3BsYXphbWllbnRvIG5vIHbDoWxpZG8iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTU4Cittc2dpZCAiVGhlIC0tYmFja3VwIG9wdGlvbiBpcyBtZWFuaW5nbGVzcyBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIkxhIG9wY2nDs24gLS1iYWNrdXAgY2FyZWNlIGRlIHNpZ25pZmljYWRvIGVuIGVzdGUgY29udGV4dG8iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZWFsLXRpbWUgc2NoZWR1bGluZyBhdHRyaWJ1dGVzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiTXVlc3RyYSBvIG1vZGlmaWNhIGxvcyBhdHJpYnV0b3MgZGUgcGxhbmlmaWNhY2nDs24gZGUgdGllbXBvIHJlYWwgZGUgdW4gcHJvY2Vzby5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM3Cittc2dpZCAiIgorIlNldCBwb2xpY3k6XG4iCisiIGNocnQgW29wdGlvbnNdIDxwcmlvcml0eT4gPGNvbW1hbmQ+IFs8YXJnPi4uLl1cbiIKKyIgY2hydCBbb3B0aW9uc10gLS1waWQgPHByaW9yaXR5PiA8cGlkPlxuIgorbXNnc3RyICIiCisiRXN0YWJsZWNlIGxhcyBwb2zDrXRpY2FzOlxuIgorIiBjaHJ0IFtvcGNpb25lc10gPHByaW9yaWRhZD4gPG9yZGVuPiBbPGFyZz4uLi5dXG4iCisiIGNocnQgW29wY2lvbmVzXSAtLXBpZCA8cHJpb3JpZGFkPiA8cGlkPlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDEKK21zZ2lkICIiCisiR2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gLXAgPHBpZD5cbiIKK21zZ3N0ciAiIgorIk9idGllbmUgbGFzIHBvbMOtdGljYXM6XG4iCisiIGNocnQgW29wY2lvbmVzXSAtcCA8cGlkPlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDUKK21zZ2lkICJQb2xpY3kgb3B0aW9uczpcbiIKK21zZ3N0ciAiT3BjaW9uZXMgZGUgbGFzIHBvbMOtdGljYXM6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NgorbXNnaWQgIiAtYiwgLS1iYXRjaCAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0JBVENIXG4iCittc2dzdHIgIiAtYiwgLS1iYXRjaCAgICAgICAgICBlc3RhYmxlY2UgbGEgcG9sw610aWNhIFNDSEVEX0JBVENIXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NworbXNnaWQgIiAtZCwgLS1kZWFkbGluZSAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0RFQURMSU5FXG4iCittc2dzdHIgIiAtZCwgLS1kZWFkbGluZSAgICAgICBlc3RhYmxlY2UgbGEgcG9sw610aWNhIFNDSEVEX0RFQURMSU5FXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OAorbXNnaWQgIiAtZiwgLS1maWZvICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKK21zZ3N0ciAiIC1mLCAtLWZpZm8gICAgICAgICAgIGVzdGFibGVjZSBsYSBwb2zDrXRpY2EgU0NIRURfRklGT1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDkKK21zZ2lkICIgLWksIC0taWRsZSAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9JRExFXG4iCittc2dzdHIgIiAtaSwgLS1pZGxlICAgICAgICAgICBlc3RhYmxlY2UgbGEgcG9sw610aWNhIFNDSEVEX0lETEVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUwCittc2dpZCAiIC1vLCAtLW90aGVyICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIKK21zZ3N0ciAiIC1vLCAtLW90aGVyICAgICAgICAgIGVzdGFibGVjZSBsYSBwb2zDrXRpY2EgU0NIRURfT1RIRVJcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUxCittc2dpZCAiIC1yLCAtLXJyICAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtciwgLS1yciAgICAgICAgICAgICBlc3RhYmxlY2UgbGEgcG9sw610aWNhIFNDSEVEX1JSIChwcmVkZXRlcm1pbmFkbylcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU0Cittc2dpZCAiU2NoZWR1bGluZyBvcHRpb25zOlxuIgorbXNnc3RyICJPcGNpb25lcyBkZSBwbGFuaWZpY2FjacOzbjpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU1Cittc2dpZCAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgc2V0IFNDSEVEX1JFU0VUX09OX0ZPUksgZm9yIEZJRk8gb3IgUlJcbiIKK21zZ3N0ciAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgcG9uZSBTQ0hFRF9SRVNFVF9PTl9GT1JLIHBhcmEgRklGTyBvIFJSXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NgorbXNnaWQgIiAtVCwgLS1zY2hlZC1ydW50aW1lIDxucz4gIHJ1bnRpbWUgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBwYXLDoW1ldHJvIHRpZW1wbyBkZSBlamVjdWNpw7NuIHBhcmEgREVBRExJTkVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU3Cittc2dpZCAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIC1QLCAtLXNjaGVkLXBlcmlvZG8gPG5zPiAgcGFyw6FtZXRybyB0aWVtcG8gcGFyYSBERUFETElORVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTgKK21zZ2lkICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IHBhcsOhbWV0cm8gcGxhem8gZGUgdmVuY2ltaWVudG8gcGFyYSBERUFETElORVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjEKK21zZ2lkICJPdGhlciBvcHRpb25zOlxuIgorbXNnc3RyICJPdHJhcyBvcGNpb25lczpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYyCittc2dpZCAiIC1hLCAtLWFsbC10YXNrcyAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiAtYSwgLS1hbGwtdGFza3MgICAgICBhY3TDumEgc29icmUgdG9kYXMgbGFzIHRhcmVhcyAoaGlsb3MpIGRlIHVuIHBpZCBkZXRlcm1pbmFkb1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjMKK21zZ2lkICIgLW0sIC0tbWF4ICAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCittc2dzdHIgIiAtbSwgLS1tYXggICAgICAgICAgICBtdWVzdHJhIGxhcyBwcmlvcmlkYWRlcyB2w6FsaWRhcyBtw61uaW1hIHkgbcOheGltYVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjQKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgICAgIGFjdMO6YSBzb2JyZSBlbCBwaWQgZXhpc3RlbnRlIGRhZG9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICBtdWVzdHJhIGluZm9ybWFjacOzbiBzb2JyZSBlbCBlc3RhZG9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjMyIHNjaGVkdXRpbHMvY2hydC5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiZmFsbG8gYWwgb2J0ZW5lciBsYSBwb2zDrXRpY2EgZGVsIHBpZCAlZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYXR0cmlidXRlcyIKK21zZ3N0ciAiZmFsbG8gYWwgb2J0ZW5lciBsb3MgYXRyaWJ1dG9zIGRlbCBwaWQgJWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2NworIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICJudWV2YSBwb2zDrXRpY2EgZGUgcGxhbmlmaWNhY2nDs24gZGVsIHBpZCAlZDogJXMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAicG9sw610aWNhIGFjdHVhbCBkZSBwbGFuaWZpY2FjacOzbiBkZWwgcGlkICVkOiAlcyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICJudWV2YSBwb2zDrXRpY2EgZGUgcGxhbmlmaWNhY2nDs24gZGVsIHBpZCAlZDogJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAicG9sw610aWNhIGFjdHVhbCBkZSBwbGFuaWZpY2FjacOzbiBkZWwgcGlkICVkOiAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIm51ZXZvcyBwYXLDoW1ldHJvcyBkZSB0aWVtcG8gZGUgZWplY3VjacOzbi9wbGF6byBkZSB2ZW5jaW1pZW50by9wZXJpb2RvIGRlbCBwaWQgJWQ6ICVqdS8lanUvJWp1XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgInBhcsOhbWV0cm9zIGFjdHVhbGVzIGRlIHRpZW1wbyBkZSBlamVjdWNpw7NuL3BsYXpvIGRlIHZlbmNpbWllbnRvL3BlcmlvZG8gZGVsIHBpZCAlZDogJWp1LyVqdS8lanVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzAwIHNjaGVkdXRpbHMvY2hydC5jOjM5NgorbXNnaWQgImNhbm5vdCBvYnRhaW4gdGhlIGxpc3Qgb2YgdGFza3MiCittc2dzdHIgIm5vIHNlIHB1ZWRlIG9idGVuZXIgbGEgbGlzdGEgZGUgdGFyZWFzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbWluL21heCBwcmlvcml0eVx0OiAlZC8lZFxuIgorbXNnc3RyICJwcmlvZGlkYWQgbcOtbi9tw6F4IGRlICVzXHQ6ICVkLyVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3Qgc3VwcG9ydGVkP1xuIgorbXNnc3RyICLCvyVzIG5vIGVzdMOhIHNvcG9ydGFkbz9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJmYWxsbyBhbCBjb25maWd1cmFyIGxhIHBvbMOtdGljYSBkZWwgdGlkICVkIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgImZhbGxvIGFsIGNvbmZpZ3VyYXIgbGEgcG9sw610aWNhIGRlbCBwaWQgJWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NworbXNnaWQgImludmFsaWQgcnVudGltZSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIHRpZW1wbyBkZSBlamVjdWNpw7NuIG5vIHbDoWxpZG8iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ5MAorbXNnaWQgImludmFsaWQgcGVyaW9kIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gcGVyaW9kbyBubyB2w6FsaWRvIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTMKK21zZ2lkICJpbnZhbGlkIGRlYWRsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gcGxhem8gZGUgdmVuY2ltaWVudG8gbm8gdsOhbGlkbyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE3Cittc2dpZCAiaW52YWxpZCBwcmlvcml0eSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGRlIHByaW9yaWRhZCBubyB2w6FsaWRvIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MjEKK21zZ2lkICItLXJlc2V0LW9uLWZvcmsgb3B0aW9uIGlzIHN1cHBvcnRlZCBmb3IgU0NIRURfRklGTyBhbmQgU0NIRURfUlIgcG9saWNpZXMgb25seSIKK21zZ3N0ciAibGEgb3BjacOzbiAtLXJlc2V0LW9uLWZvcmsgZXN0w6Egc29wb3J0YWRhIHNvbGFtZW50ZSBwYXJhIGxhcyBwb2zDrXRpY2FzIFNDSEVEX0ZJRk8geSBTQ0hFRF9SUiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTI2Cittc2dpZCAiLS1zY2hlZC17cnVudGltZSxkZWFkbGluZSxwZXJpb2R9IG9wdGlvbnMgYXJlIHN1cHBvcnRlZCBmb3IgU0NIRURfREVBRExJTkUgb25seSIKK21zZ3N0ciAibGFzIG9wY2lvbmVzIC0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBzb2xhbWVudGUgcHVlZGVuIHVzYXJzZSBjb24gU0NIRURfREVBRExJTkUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0MQorbXNnaWQgIlNDSEVEX0RFQURMSU5FIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJTQ0hFRF9ERUFETElORSBubyBlc3TDoSBzb3BvcnRhZGEiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcmlvcml0eSB2YWx1ZSBmb3IgdGhlIHBvbGljeTogJWQ6IHNlZSAtLW1heCBmb3IgdmFsaWQgcmFuZ2UiCittc2dzdHIgInZhbG9yIGRlIHByaW9yaWRhZCBubyBhZG1pdGlkbyBwYXJhIGxhIHBvbMOtdGljYTogJWQ6IHbDqWFzZSAtLW1heCBwYXJhIGVsIHJhbmdvIHbDoWxpZG8iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6NzYKK21zZ2lkICJpb3ByaW9fZ2V0IGZhaWxlZCIKK21zZ3N0ciAiaW9wcmlvX2dldCBoYSBmYWxsYWRvIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwcmlvICVsdVxuIgorbXNnc3RyICIlczogcHJpb3JpZGFkICVsdVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjk4Cittc2dpZCAiaW9wcmlvX3NldCBmYWlsZWQiCittc2dzdHIgImlvcHJpb19zZXQgaGEgZmFsbGFkbyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSAtcCA8cGlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtUCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbb3BjaW9uZXNdIC1wIDxwaWQ+Li4uXG4iCisiICUxJHMgW29wY2lvbmVzXSAtUCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbb3BjaW9uZXNdIC11IDx1aWQ+Li4uXG4iCisiICUxJHMgW29wY2lvbmVzXSA8b3JkZW4+XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTEwCittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIEkvTy1zY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIk11ZXN0cmEgbyBtb2RpZmljYSBsYSBjbGFzZSBkZSBwbGFuaWZpY2FjacOzbiBFL1MgeSBsYSBwcmlvcmlkYWQgZGUgdW4gcHJvY2Vzby5cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTMKK21zZ2lkICIiCisiIC1jLCAtLWNsYXNzIDxjbGFzcz4gICAgbmFtZSBvciBudW1iZXIgb2Ygc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IG5vbmUsIDE6IHJlYWx0aW1lLCAyOiBiZXN0LWVmZm9ydCwgMzogaWRsZVxuIgorbXNnc3RyICIiCisiIC1jLCAtLWNsYXNzIDxjbGFzZT4gICAgbm9tYnJlIG8gbsO6bWVybyBkZSBsYSBjbGFzZSBkZSBwbGFuaWZpY2FjacOzbixcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IG5pbmd1bmEsIDE6IHRpZW1wbyByZWFsLCAyOiBtZWpvciBlc2Z1ZXJ6bywgMzogZGVzb2N1cGFkYVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNQorbXNnaWQgIiIKKyIgLW4sIC0tY2xhc3NkYXRhIDxudW0+ICBwcmlvcml0eSAoMC4uNykgaW4gdGhlIHNwZWNpZmllZCBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgb25seSBmb3IgdGhlIHJlYWx0aW1lIGFuZCBiZXN0LWVmZm9ydCBjbGFzc2VzXG4iCittc2dzdHIgIiIKKyIgLW4sIC0tY2xhc3NkYXRhIDxudW0+ICBwcmlvcmlkYWQgKDAuLjcpIGVuIGxhIGNsYXNlIGRlIHBsYW5pZmljYWNpw7NuIGVzcGVjaWZpY2FkYSxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHNvbG8gcGFyYSBsYXMgY2xhc2VzIGRlIHRpZW1wbyByZWFsIHkgZGUgbWVqb3IgZXNmdWVyem9cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTcKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+Li4uICAgICBhY3Qgb24gdGhlc2UgYWxyZWFkeSBydW5uaW5nIHByb2Nlc3Nlc1xuIgorbXNnc3RyICIgLXAsIC0tcGlkIDxwaWQ+Li4uICAgICBhY3TDumEgc29icmUgZXN0b3MgcHJvY2Vzb3MgZW4gZWplY3VjacOzblxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOAorbXNnaWQgIiAtUCwgLS1wZ2lkIDxwZ3JwPi4uLiAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIGluIHRoZXNlIGdyb3Vwc1xuIgorbXNnc3RyICIgLVAsIC0tcGdpZCA8cGdycD4uLi4gICBhY3TDumEgc29icmUgcHJvY2Vzb3MgZW4gZWplY3VjacOzbiBwZXJ0ZW5lY2llbnRlcyBhICBlc3RvcyBncnVwb3NcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTkKK21zZ2lkICIgLXQsIC0taWdub3JlICAgICAgICAgICBpZ25vcmUgZmFpbHVyZXNcbiIKK21zZ3N0ciAiIC10LCAtLWlnbm9yZSAgICAgICAgICAgbm8gdGllbmUgZW4gY3VlbnRhIGZhbGxvc1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMAorbXNnaWQgIiAtdSwgLS11aWQgPHVpZD4uLi4gICAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIG93bmVkIGJ5IHRoZXNlIHVzZXJzXG4iCittc2dzdHIgIiAtdSwgLS11aWQgPHVpZD4uLi4gICAgIGFjdMO6YSBzb2JyZSBwcm9jZXNvcyBlbiBlamVjdWNpw7NuIHBlcnRlbmVjaWVudGVzIGEgZXN0b3MgdXN1YXJpb3NcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNTcKK21zZ2lkICJpbnZhbGlkIGNsYXNzIGRhdGEgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBkZSBkYXRvcyBkZSBjbGFzZSBubyB2w6FsaWRvIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2MworbXNnaWQgImludmFsaWQgY2xhc3MgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBkZSBjbGFzZSBubyB2w6FsaWRvIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNjaGVkdWxpbmcgY2xhc3M6ICclcyciCittc2dzdHIgIkNsYXNlIGRlIHBsYW5pZmljYWNpw7NuIGRlc2Nvbm9jaWRhOiAnJXMnIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NCBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MgorbXNnaWQgImNhbiBoYW5kbGUgb25seSBvbmUgb2YgcGlkLCBwZ2lkIG9yIHVpZCBhdCBvbmNlIgorbXNnc3RyICJzb2xvIHNlIHB1ZWRlIG1hbmVqYXIgdW4gcGlkLCBwZ2lkIG8gdWlkIGEgbGEgdmV6IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NQorbXNnaWQgImludmFsaWQgUEdJRCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIFBHSUQgbm8gdsOhbGlkbyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxOTMKK21zZ2lkICJpbnZhbGlkIFVJRCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIFBHSUQgbm8gdsOhbGlkbyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMTIKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBub25lIGNsYXNzIgorbXNnc3RyICJzZSBoYWNlIGNhc28gb21pc28gZGUgbG9zIGRhdG9zIGRlIGxhIGNsYXNlIGVzcGVjaWZpY2FkYSBwYXJhIGxhIGNsYXNlIMKrbmluZ3VuYcK7IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyMAorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIGlkbGUgY2xhc3MiCittc2dzdHIgInNlIGhhY2UgY2FzbyBvbWlzbyBkZSBsb3MgZGF0b3MgZGUgbGEgY2xhc2UgZXNwZWNpZmljYWRhIHBhcmEgbGEgY2xhc2UgwqtkZXNvY3VwYWRhwrsiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpbyBjbGFzcyAlZCIKK21zZ3N0ciAiY2xhc2UgZGUgcHJpb3JpZGFkICVkIGRlc2Nvbm9jaWRhIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVXNhZ2U6ICVzIFtvcHRpb25zXSBbbWFzayB8IGNwdS1saXN0XSBbcGlkfGNtZCBbYXJncy4uLl1dXG4iCisiXG4iCittc2dzdHIgIiIKKyJNb2RvIGRlIGVtcGxlbzogJXMgW29wY2lvbmVzXSBbbcOhc2NhcmEgfCBsaXN0YS1jcHVdIFtwaWR8b3JkZW4gW2FyZ3MuLi5dXVxuIgorIlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1NQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBDUFUgYWZmaW5pdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICJNdWVzdHJhIG8gbWlkaWZjYSBsYSBhZmluaWRhZCBkZSB1biBwcm9jZXNvIGEgbGEocykgQ1BVKHMpLlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiT3B0aW9uczpcbiIKKyIgLWEsIC0tYWxsLXRhc2tzICAgICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKKyIgLXAsIC0tcGlkICAgICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKKyIgLWMsIC0tY3B1LWxpc3QgICAgICAgICAgZGlzcGxheSBhbmQgc3BlY2lmeSBjcHVzIGluIGxpc3QgZm9ybWF0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisiXG4iCittc2dzdHIgIiIKKyJPcHRpb25zOlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICBhY3TDumEgc29icmUgdG9kYXMgbGFzIHRhcmVhcyAoaGlsb3MpIGRlIHVuIGRldGVybWluYWRvIHBpZFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICBhY3TDumEgc29icmUgdW4gZGV0ZXJtaW5hZG8gcGlkIHF1ZSBleGlzdGVcbiIKKyIgLWMsIC0tY3B1LWxpc3QgICAgICAgICAgbXVlc3RyYSB5IGVzcGVjaWZpY2EgbGFzIGNwdXMgZW4gZm9ybWF0byBkZSBsaXN0YVxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBtdWVzdHJhIGVzdGEgYXl1ZGFcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgc2FjYSBsYSBpbmZvcm1hY2nDs24gZGUgdmVyc2nDs25cbiIKKyJcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIHJ1biBhIG5ldyBjb21tYW5kOlxuIgorIiAgICAlMSRzIDAzIHNzaGQgLWIgMTAyNFxuIgorIllvdSBjYW4gcmV0cmlldmUgdGhlIG1hc2sgb2YgYW4gZXhpc3RpbmcgdGFzazpcbiIKKyIgICAgJTEkcyAtcCA3MDBcbiIKKyJPciBzZXQgaXQ6XG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisiTGlzdCBmb3JtYXQgdXNlcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IGluc3RlYWQgb2YgYSBtYXNrOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJSYW5nZXMgaW4gbGlzdCBmb3JtYXQgY2FuIHRha2UgYSBzdHJpZGUgYXJndW1lbnQ6XG4iCisiICAgIGUuZy4gMC0zMToyIGlzIGVxdWl2YWxlbnQgdG8gbWFzayAweDU1NTU1NTU1XG4iCittc2dzdHIgIiIKKyJFbCBjb21wb3J0YW1pZW50byBwcmVkZWZpbmlkbyBlcyBlamVjdXRhciB1bmEgb3JkZW4gbnVldmE6XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisiU2UgcHVlZGUgcmVjdXBlcmFyIGxhIG3DoXNjYXJhIGRlIHVuYSB0YXJlYSBleGlzdGVudGU6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiTyBlc3RhYmxlY2VybGE6XG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisiRWwgZm9ybWF0byBkZSBsaXN0YSB1dGlsaXphIHVuYSBsaXN0YSBkZSBlbGVtZW50b3Mgc2VwYXJhZG9zIHBvciBjb21hIGVuIGx1Z2FyIGRlIHVuYSBtw6FzY2FyYTpcbiIKKyIgICAgJTEkcyAtcGMgMCwzLDctMTEgNzAwXG4iCisiTG9zIHJhbmdvcyBlbiBlbCBmb3JtYXRvIGRlIGxpc3RhIHB1ZWRlbiB0b21hciB1biBhcmd1bWVudG8gZGUgdHJhbW86XG4iCisiICAgIGUuZy4gMC0zMToyIGVzIGVxdWl2YWxlbnRlIGEgbGEgbcOhc2NhcmEgMHg1NTU1NTU1NVxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAibnVldmEgbGlzdGEgZGUgYWZpbmlkYWQgZGVsIHBpZCAlZDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICJsaXN0YSBkZSBhZmluaWRhZCBhY3R1YWwgZGVsIHBpZCAlZDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIm51ZXZhIG3DoXNjYXJhIGRlIGFmaW5pZGFkIGRlbCBwaWQgJWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAibcOhc2NhcmEgZGUgYWZpbmlkYWQgYWN0dWFsIGRlbCBwaWQgJWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk5Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IGNvbnZlcnNpb24gZnJvbSBjcHVzZXQgdG8gc3RyaW5nIGZhaWxlZCIKK21zZ3N0ciAiZXJyb3IgaW50ZXJubzogZmFsbG8gZGUgY29udmVyc2nDs24gZGUgY3B1c2V0IGEgY2FkZW5hIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMDkgc2NoZWR1dGlscy90YXNrc2V0LmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgImZhbGxvIGFsIG9idGVuZXIgbGEgYWZpbmlkYWQgZGVsIHBpZCAlZCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgImZhbGxvIGFsIHBvbmVyIGxhIGFmaW5pZGFkIGRlbCBwaWQgJWQiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE4NiBzeXMtdXRpbHMvY2hjcHUuYzoyODkKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIE5SX0NQVVM7IGFib3J0aW5nIgorbXNnc3RyICJubyBzZSBwdWVkZSBkZXRlcm1pbmFyIGVsIE5SX0NQVVM7IHNlIGFib3J0YSIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTk1IHNjaGVkdXRpbHMvdGFza3NldC5jOjIwOCBzeXMtdXRpbHMvY2hjcHUuYzoyOTUKK21zZ2lkICJjcHVzZXRfYWxsb2MgZmFpbGVkIgorbXNnc3RyICJjcHVzZXRfYWxsb2MgaGEgZmFsbGFkbyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjE1IHN5cy11dGlscy9jaGNwdS5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBsYSBsaXN0YSBkZSBDUFVzOiAlcyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjE4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzazogJXMiCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIGxhIG3DoXNjYXJhIGRlIENQVXMgJXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFplcm8tZmlsbGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiVzOiBTZSBoYW4gcmVsbGVuYWRvIGNvbiBjZXJvcyAlPFBSSXU2ND4gYnl0ZXMgZGVzZGUgZWwgZGVzcGxhemFtaWVudG8gJTxQUkl1NjQ+XG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IERpc2NhcmRlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIlczogU2UgaGFuIGRlc2NhcnRhZG8gJTxQUkl1NjQ+IGJ5dGVzIGRlc2RlIGVsIGRlc3BsYXphbWllbnRvICU8UFJJdTY0PlxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg3Cittc2dpZCAiRGlzY2FyZCB0aGUgY29udGVudCBvZiBzZWN0b3JzIG9uIGEgZGV2aWNlLlxuIgorbXNnc3RyICJEZXNjYXJ0YSBlbCBjb250ZW5pZG8gZGUgY2llcnRvcyBzZWN0b3JlcyBkZSB1biBkaXNwb3NpdGl2by5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MAorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8bnVtPiAgZGVzcGxhemFtaWVudG8gZW4gYnl0ZXMgcGFyYSBkZXNjYXJ0YXIgYSBwYXJ0aXIgZGUgYWjDrVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkxCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiAtbCwgLS1sZW5ndGggPG51bT4gIGxvbmdpdHVkIGRlIGxvcyBieXRlcyBxdWUgZGVzY2FydGFyIGRlc2RlIGVsIGRlc3BsYXphbWllbnRvXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTIKK21zZ2lkICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiIC1wLCAtLXN0ZXAgPG51bT4gICAgdGFtYcOxbyBkZSDDsWFzIGl0ZXJhY2lvbmVzIGRlIGRlc2NhcnRlIGRlbnRybyBkZWwgZGVzcGxhemFtaWVudG9cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MworbXNnaWQgIiAtcywgLS1zZWN1cmUgICAgICAgIHBlcmZvcm0gc2VjdXJlIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC1zLCAtLXNlY3VyZSAgICAgICAgcmVhbGl6YSBkZXNjYXJ0ZSBkZSBzZWd1cmlkYWRcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NAorbXNnaWQgIiAteiwgLS16ZXJvb3V0ICAgICAgIHplcm8tZmlsbCByYXRoZXIgdGhhbiBkaXNjYXJkXG4iCittc2dzdHIgIiAteiwgLS16ZXJvb3V0ICAgICAgIHJlbGxlbmEgY29uIGNlcm9zIGVuIGx1Z2FyIGRlIGRlc2NhcnRhclxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgYWxpZ25lZCBsZW5ndGggYW5kIG9mZnNldFxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICBpbXByaW1lIGxhIGxvbmdpdHVkIHkgZWwgZGVzcGxhemFtaWVudG8gYWxpbmVhZG9zXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTUwIHN5cy11dGlscy9mc3RyaW0uYzozMTIgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NzMKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjEyNAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBvZmZzZXQiCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIGVsIGRlc3BsYXphbWllbnRvIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1NAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGVwIgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBlbCBwYXNvIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3MiBzeXMtdXRpbHMvenJhbWN0bC5jOjY4MiBzeXMtdXRpbHMvenJhbWN0bC5jOjcwOAorbXNnaWQgIm5vIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIm5vIHNlIGhhIGVzcGVjaWZpY2FkbyBuaW5nw7puIGRpc3Bvc2l0aXZvIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3NyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzUxCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjIgc3lzLXV0aWxzL2ZzdHJpbS5jOjMzNAorbXNnaWQgInVuZXhwZWN0ZWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAibsO6bWVybyBkZSBhcmd1bWVudG9zIGluZXNwZXJhZG8iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogaW90Y2wgQkxLR0VUU0laRTY0IGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTU1pHRVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogaW9jdGwgQkxLU1NaR0VUIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIlczogZWwgZGVzcGxhemFtaWVudG8gJTxQUkl1NjQ+IG5vIGVzdMOhIGFsaW5lYWRvIGNvbiBlbCB0YW1hw7FvIGRlbCBzZWN0b3IgJWkiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgaXMgZ3JlYXRlciB0aGFuIGRldmljZSBzaXplIgorbXNnc3RyICIlczogZWwgZGVzcGxhemFtaWVudG8gZXMgbWF5b3IgcXVlIGVsIHRhbWHDsW8gZGVsIGRpc3Bvc2l0aXZvIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGVuZ3RoICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiJXM6IGxhIGxvbmdpdHVkICU8UFJJdTY0PiBubyBlc3TDoSBhbGluZWFkYSBjb24gZWwgdGFtYcOxbyBkZWwgc2VjdG9yICVpIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLWkVST09VVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBpb2N0bCBCTEtaRVJPT1VUIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTRUNESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGlvY3RsIEJMS1NFQ0RJU0NBUkQgaGEgZmFsbGFkbyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogaW9jdGwgQkxLRElTQ0FSRCBoYSBmYWxsYWRvIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo4NyBzeXMtdXRpbHMvY2hjcHUuYzoxNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJMYSBDUFUgJXUgbm8gZXhpc3RlIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGhvdCBwbHVnZ2FibGUiCittc2dzdHIgIkxhIENQVSAldSBubyBzZSBwdWVkZSBlbmNodWZhciBlbiBjYWxpZW50ZSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZW5hYmxlZFxuIgorbXNnc3RyICJMYSBDUFUgJXUgeWEgZXN0w6EgYWN0aXZhZGFcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIkxhIENQVSAldSB5YSBlc3TDoSBkZXNhY3RpdmFkYVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQgKENQVSBpcyBkZWNvbmZpZ3VyZWQpIgorbXNnc3RyICJObyBzZSBoYSBwb2RpZG8gYWN0aXZhciBsYSBDUFUgJXUgKGxhIENQVSBlc3TDoSBkZXNjb25maWd1cmFkYSkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCIKK21zZ3N0ciAiTm8gc2UgaGEgcG9kaWRvIGFjdGl2YXIgbGEgQ1BVICV1IgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1IGFjdGl2YWRhXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQgKGxhc3QgZW5hYmxlZCBDUFUpIgorbXNnc3RyICJObyBzZSBoYSBwb2RpZG8gZGVzYWN0aXZhciBsYSBDUFUgJXUgKMO6bHRpbWEgQ1BVIGFjdGl2YWRhKSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCIKK21zZ3N0ciAiTm8gc2UgaGEgcG9kaWRvIGRlc2FjdGl2YXIgbGEgQ1BVICV1IgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAldSBkZXNhY3RpdmFkYVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHJlc2Nhbm5pbmcgb2YgQ1BVcyIKK21zZ3N0ciAiRXN0ZSBzaXN0ZW1hIG5vIHRpZW5lIGxhIGNhcGFjaWRhZCBkZSB2b2x2ZXIgYSBleHBsb3JhciBsYXMgQ1BVcyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQzCittc2dpZCAiRmFpbGVkIHRvIHRyaWdnZXIgcmVzY2FuIG9mIENQVXMiCittc2dzdHIgIk5vIHNlYSBoYSBwb2RpZG8gZGlzcGFyYXIgbGEgcmVwZXRpY2nDs24gZGUgbGEgZXhwbG9yYWNpw7NuIGRlIGxhcyBDUFVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJpZ2dlcmVkIHJlc2NhbiBvZiBDUFVzXG4iCittc2dzdHIgIlNlIGhhIGRpc3BhcmFkbyBsYSByZXBldGljacOzbiBkZSBsYSBleHBsb3JhY2nDs24gZGUgbGFzIENQVXNcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTUxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBzZXR0aW5nIHRoZSBkaXNwYXRjaGluZyBtb2RlIG9mIENQVXMiCittc2dzdHIgIkVzdGUgc2lzdGVtYSBubyBwZXJtaXRlIGNvbmZpZ3VyYXIgZWwgbW9kbyBkZSBkaXN0cmlidWNpw7NuIGRlIGxhcyBDUFVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTUKK21zZ2lkICJGYWlsZWQgdG8gc2V0IGhvcml6b250YWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiTm8gc2UgaGEgcG9kaWRvIGVzdGFibGVjZXIgZWwgbW9kbyBkZSBkaXN0cmlidWNpw7NuIGhvcml6b250YWwiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IGhvcml6b250YWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICJTZSBoYSBjb25zZWd1aWRvIGVzdGFibGVjZXIgZWwgbW9kbyBkZSBkaXN0cmlidWNpw7NuIGhvcml6b250YWxcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU5Cittc2dpZCAiRmFpbGVkIHRvIHNldCB2ZXJ0aWNhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICJObyBzZSBoYSBwb2RpZG8gZXN0YWJsZWNlciBlbCBtb2RvIGRlIGRpc3RyaWJ1Y2nDs24gdmVydGljYWwiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IHZlcnRpY2FsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAiU2UgaGEgY29uc2VndWlkbyBlc3RhYmxlY2VyIGVsIG1vZG8gZGUgZGlzdHJpYnVjacOzbiB2ZXJ0aWNhbFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBjb25maWd1cmFibGUiCittc2dzdHIgIkxhIENQVSAldSBubyBlcyBjb25maWd1cmFibGUiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBjb25maWd1cmVkXG4iCittc2dzdHIgIkxhIENQVSAldSB5YSBlc3TDoSBjb25maWd1cmFkYVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIkxhIENQVSAldSB5YSBlc3TDoSBkZXNjb25maWd1cmFkYVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlIGZhaWxlZCAoQ1BVIGlzIGVuYWJsZWQpIgorbXNnc3RyICJObyBzZSBoYSBwb2RpZG8gZGVzY29uZmlndXJhciBsYSBDUFUgJXUgKGxhIENQVSBlc3TDoSBhY3RpdmFkYSkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiRmFsbG8gYWwgY29uZmlndXJhciBsYSBDUFUgJXUiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlZFxuIgorbXNnc3RyICJDUFUgJXUgY29uZmlndXJhZGFcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIkZhbGxvIGFsIGRlc2NvbmZpZ3VyYXIgbGEgQ1BVICV1IgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJDUFUgJXUgZGVzY29uZmlndXJhZGFcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgQ1BVIG51bWJlciBpbiBDUFUgbGlzdDogJXMiCittc2dzdHIgIm7Dum1lcm8gZGUgQ1BVIG5vIHbDoWxpZG8gZW4gbGEgbGlzdGEgZGUgQ1BVczogJXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzOCB0ZXh0LXV0aWxzL2NvbC5jOjEzMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIiCisiXG4iCisiTW9kbyBkZSBlbXBsZW86XG4iCisiICVzIFtvcGNpb25lc11cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQyCittc2dpZCAiQ29uZmlndXJlIENQVXMgaW4gYSBtdWx0aS1wcm9jZXNzb3Igc3lzdGVtLlxuIgorbXNnc3RyICJDb25maWd1cmEgbGFzIENQVXMgZGUgdW4gc2lzdGVtYSBtdWx0aXByb2Nlc2Fkb3IuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0NAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhpcyBoZWxwXG4iCisiICAtZSwgLS1lbmFibGUgPGNwdS1saXN0PiAgICAgICBlbmFibGUgY3B1c1xuIgorIiAgLWQsIC0tZGlzYWJsZSA8Y3B1LWxpc3Q+ICAgICAgZGlzYWJsZSBjcHVzXG4iCisiICAtYywgLS1jb25maWd1cmUgPGNwdS1saXN0PiAgICBjb25maWd1cmUgY3B1c1xuIgorIiAgLWcsIC0tZGVjb25maWd1cmUgPGNwdS1saXN0PiAgZGVjb25maWd1cmUgY3B1c1xuIgorIiAgLXAsIC0tZGlzcGF0Y2ggPG1vZGU+ICAgICAgICAgc2V0IGRpc3BhdGNoaW5nIG1vZGVcbiIKKyIgIC1yLCAtLXJlc2NhbiAgICAgICAgICAgICAgICAgIHRyaWdnZXIgcmVzY2FuIG9mIGNwdXNcbiIKKyIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgaW1wcmltZSBlc3RhIGF5dWRhXG4iCisiICAtZSwgLS1lbmFibGUgPGxpc3RhLWNwdT4gICAgICBhY3RpdmEgbGFzIGNwdXNcbiIKKyIgIC1kLCAtLWRpc2FibGUgPGxpc3RhLWNwdT4gICAgIGRlc2FjdGl2YSBsYXMgY3B1c1xuIgorIiAgLWMsIC0tY29uZmlndXJlIDxsaXN0YS1jcHU+ICAgY29uZmlndXJhIGxhcyBjcHVzXG4iCisiICAtZywgLS1kZWNvbmZpZ3VyZSA8bGlzdGEtY3B1PiBkZXNjb25maWd1cmEgbGFzIGNwdXNcbiIKKyIgIC1wLCAtLWRpc3BhdGNoIDxtb2RvPiAgICAgICAgIGVzdGFibGVjZSBlbCBtb2RvIGRlIGRpc3RyaWJ1Y2nDs25cbiIKKyIgIC1yLCAtLXJlc2NhbiAgICAgICAgICAgICAgICAgIGxhbnphIG90cmEgZXhwbG9yYWNpw7NuIGRlIGxhcyBjcHVzXG4iCisiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzozMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJhcmd1bWVudG8gbm8gc29wb3J0YWRvOiAlcyIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzoyNworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgaGFyZHxzb2Z0XG4iCittc2dzdHIgIiAlcyBoYXJkfHNvZnRcbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICJTZXQgdGhlIGZ1bmN0aW9uIG9mIHRoZSBDdHJsLUFsdC1EZWwgY29tYmluYXRpb24uXG4iCittc2dzdHIgIkVzdGFibGVjZSBsYSBmdW5jacOzbiBkZSBsYSBjb21iaW5hY2nDs24gQ3RybC1BbHQtRGVsLlxuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUxCittc2dpZCAiaW1wbGljaXQiCittc2dzdHIgImltcGzDrWNpdGEiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB2YWx1ZSBpbiAlczogJWp1IgorbXNnc3RyICJ2YWxvciBubyBlc3BlcmFkbyBlbjogJXM6ICVqdSIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo2MworbXNnaWQgIllvdSBtdXN0IGJlIHJvb3QgdG8gc2V0IHRoZSBDdHJsLUFsdC1EZWwgYmVoYXZpb3IiCittc2dzdHIgIkRlYmUgc2VyIGVsIHVzdWFyaW8gcm9vdCBwYXJhIGRlZmluaXIgZWwgY29tcG9ydGFtaWVudG8gZGUgQ3RybC1BbHQtU3VwciIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo3MSBzeXMtdXRpbHMvaXBjcm0uYzozOTIgc3lzLXV0aWxzL2lwY3JtLmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICJhcmd1bWVudG8gZGVzY29ub2NpZG86ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTAKK21zZ2lkICJzeXN0ZW0gaXMgdW51c2FibGUiCittc2dzdHIgImVsIHNpc3RlbWEgc2UgZW5jdWVudHJhIGVuIHVuIGVzdGFkbyBpbnV0aWxpemFibGUiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMQorbXNnaWQgImFjdGlvbiBtdXN0IGJlIHRha2VuIGltbWVkaWF0ZWx5IgorbXNnc3RyICJzZSBkZWJlIHRvbWFyIHVuYSBhY2Npw7NuIGlubWVkaWF0YW1lbnRlIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTIKK21zZ2lkICJjcml0aWNhbCBjb25kaXRpb25zIgorbXNnc3RyICJjb25kaWNpb25lcyBjcsOtdGljYXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMworbXNnaWQgImVycm9yIGNvbmRpdGlvbnMiCittc2dzdHIgImNvbmRpY2lvbmVzIGRlIGVycm9yIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTQKK21zZ2lkICJ3YXJuaW5nIGNvbmRpdGlvbnMiCittc2dzdHIgImNvbmRpY2lvbmVzIGRlIGF2aXNvIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTUKK21zZ2lkICJub3JtYWwgYnV0IHNpZ25pZmljYW50IGNvbmRpdGlvbiIKK21zZ3N0ciAiY29uZGljacOzbiBub3JtYWwgcGVybyBzaWduaWZpY2F0aXZhIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTYKK21zZ2lkICJpbmZvcm1hdGlvbmFsIgorbXNnc3RyICJpbmZvcm1hY2lvbmFsIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTcKK21zZ2lkICJkZWJ1Zy1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAibWVuc2FqZSBkZSBuaXZlbCBkZSBkZXB1cmFjacOzbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMxCittc2dpZCAia2VybmVsIG1lc3NhZ2VzIgorbXNnc3RyICJtZW5zYWplcyBkZWwgbsO6Y2xlbyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMyCittc2dpZCAicmFuZG9tIHVzZXItbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgIm1lbmFqZXMgZGUgbml2ZWwgZGUgdXN1YXJpbyBhbGVhdG9yaW9zIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzMKK21zZ2lkICJtYWlsIHN5c3RlbSIKK21zZ3N0ciAic2lzdGVtYSBkZSBjb3JyZW8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNAorbXNnaWQgInN5c3RlbSBkYWVtb25zIgorbXNnc3RyICJkZW1vbmlvcyBkZWwgc2lzdGVtYSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1Cittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyIKK21zZ3N0ciAibWVuc2FqZXMgZGUgc2VndXJpZGFkL2F1dG9yaXphY2nDs24iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNgorbXNnaWQgIm1lc3NhZ2VzIGdlbmVyYXRlZCBpbnRlcm5hbGx5IGJ5IHN5c2xvZ2QiCittc2dzdHIgIm1lbnNhamVzIGdlbmVyYWRvcyBpbnRlcm5hbWVudGUgcG9yIHN5c2xvZ2QiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNworbXNnaWQgImxpbmUgcHJpbnRlciBzdWJzeXN0ZW0iCittc2dzdHIgInN1YnNpc3RlbWEgZGUgaW1wcmVzb3JhIGRlIGzDrW5lYXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOAorbXNnaWQgIm5ldHdvcmsgbmV3cyBzdWJzeXN0ZW0iCittc2dzdHIgInN1YnNpc3RlbWEgZGUgbm90aWNpYXMgZGUgcmVkIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzkKK21zZ2lkICJVVUNQIHN1YnN5c3RlbSIKK21zZ3N0ciAic3Vic2lzdGVtYSBVVUNQIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDAKK21zZ2lkICJjbG9jayBkYWVtb24iCittc2dzdHIgImRlbW9uaW8gZGVsIHJlbG9qIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDEKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIChwcml2YXRlKSIKK21zZ3N0ciAibWVuc2FqZXMgZGUgc2VndXJpZGFkL2F1dG9yaXphY2nDs24gKHByaXZhZG9zKSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQyCittc2dpZCAiRlRQIGRhZW1vbiIKK21zZ3N0ciAiZGVtb25pbyBGVFAiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI2NworbXNnaWQgIkRpc3BsYXkgb3IgY29udHJvbCB0aGUga2VybmVsIHJpbmcgYnVmZmVyLlxuIgorbXNnc3RyICJNdWVzdHJhIG8gY29udHJvbGEgZWwgwqtidWZmZXLCuyBjaXJjdWxhciBkZWwgbsO6Y2xlby5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjcwCittc2dpZCAiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICBjbGVhciB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgYm9ycmEgZWwgwqtidWZmZXLCuyBjaXJjdWxhciBkZWwgbsO6Y2xlb1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzEKK21zZ2lkICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIHJlYWQgYW5kIGNsZWFyIGFsbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIGxlZSB5IGJvcnJhIHRvZG9zIGxvcyBtZW5zYWplc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzIKK21zZ2lkICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIGRpc2FibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIGRlc2FjdGl2YSBsYSBpbXByZXNpw7NuIGRlIG1lbnNhamVzIHBvciBjb25zb2xhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MworbXNnaWQgIiAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAgZW5hYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBhY3RpdmEgbGEgaW1wcmVzacOzbiBkZSBtZW5zYWplcyBwb3IgY29uc29sYVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzQKK21zZ2lkICIgLUYsIC0tZmlsZSA8ZmlsZT4gICAgICAgICAgIHVzZSB0aGUgZmlsZSBpbnN0ZWFkIG9mIHRoZSBrZXJuZWwgbG9nIGJ1ZmZlclxuIgorbXNnc3RyICIgLUYsIC0tZmlsZSA8ZmljaGVybz4gICAgICAgIHV0aWxpemEgZWwgZmljaGVybyBlbiBsdWdhciBkZWwgwqtidWZmZXLCuyBkZSByZWdpc3RybyBkZWwgbsO6Y2xlb1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzUKK21zZ2lkICIgLWYsIC0tZmFjaWxpdHkgPGxpc3Q+ICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGZhY2lsaXRpZXNcbiIKK21zZ3N0ciAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0YT4gICAgICByZXN0cmluZ2UgbGEgc2FsaWRhIGEgbG9zIHJlY3Vyc29zIGRlZmluaWRvc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzYKK21zZ2lkICIgLUgsIC0taHVtYW4gICAgICAgICAgICAgICAgIGh1bWFuIHJlYWRhYmxlIG91dHB1dFxuIgorbXNnc3RyICIgLUgsIC0taHVtYW4gICAgICAgICAgICAgICAgIHNhbGlkYSBsZWdpYmxlIHBhcmEgaHVtYW5vc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzcKK21zZ2lkICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIGRpc3BsYXkga2VybmVsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgbXVlc3RyYSBsb3MgbWVuc2FqZXMgZGVsIG7DumNsZW9cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc4Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxjdcOhbmRvPl0gICAgICBjb2xvcmVhIGxvcyBtZW5zYWplcyAoYXV0bywgc2llbXByZSBvIG51bmNhKVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODEKK21zZ2lkICIgLWwsIC0tbGV2ZWwgPGxpc3Q+ICAgICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGxldmVsc1xuIgorbXNnc3RyICIgLWwsIC0tbGV2ZWwgPGxpc3RhPiAgICAgICAgIHJlc3RyaW5nZSBsYSBzYWxpZGEgYSBsb3Mgbml2ZWxlcyBkZWZpbmlkb3NcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgyCittc2dpZCAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPGxldmVsPiBzZXQgbGV2ZWwgb2YgbWVzc2FnZXMgcHJpbnRlZCB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtbiwgLS1jb25zb2xlLWxldmVsIDxuaXZlbD4gZXN0YWJsZWNlIGVsIG5pdmVsIGRlIGxvcyBtZW5zYWplcyBpbXByaW1pZG9zIHBvciBsYSBjb25zb2xhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MworbXNnaWQgIiAtUCwgLS1ub3BhZ2VyICAgICAgICAgICAgICAgZG8gbm90IHBpcGUgb3V0cHV0IGludG8gYSBwYWdlclxuIgorbXNnc3RyICIgLVAsIC0tbm9wYWdlciAgICAgICAgICAgICAgIG5vIHJlZGlyaWdlIGxhIHNhbGlkYSBhIHVuIGJ1c2NhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NAorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJhdyBtZXNzYWdlIGJ1ZmZlclxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIGltcHJpbWUgZWwgwqtidWZmZXLCuyBkZSBtZW5zYWplcyBlbiBicnV0b1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODUKK21zZ2lkICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIGZvcmNlIHRvIHVzZSBzeXNsb2coMikgcmF0aGVyIHRoYW4gL2Rldi9rbXNnXG4iCittc2dzdHIgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgZnVlcnphIGEgdXRpbGl6YXIgc3lzbG9nKDIpIGVuIGx1Z2FyIGRlIC9kZXYva21zZ1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODYKK21zZ2lkICIgLXMsIC0tYnVmZmVyLXNpemUgPHNpemU+ICAgIGJ1ZmZlciBzaXplIHRvIHF1ZXJ5IHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiIC1zLCAtLWJ1ZmZlci1zaXplIDx0YW1hw7FvPiAgdGFtYcOxbyBkZSDCq2J1ZmZlcsK7IHBhcmEgY29uc3VsdGFyIGVsIMKrYnVmZmVywrsgY2lyY3VsYXIgZGVsIG7DumNsZW9cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg3Cittc2dpZCAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICBkaXNwbGF5IHVzZXJzcGFjZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIG11ZXN0cmEgbG9zIG1lbnNhamVzIGRlbCBlc3BhY2lvIGQgdXN1YXJpb1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODgKK21zZ2lkICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIGVzcGVyYSBwb3IgbWVuc2FqZXMgbnVldm9zXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OQorbXNnaWQgIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgZGVjb2RlIGZhY2lsaXR5IGFuZCBsZXZlbCB0byByZWFkYWJsZSBzdHJpbmdcbiIKK21zZ3N0ciAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBkZXNjb2RpZmljYSByZWN1cnNvIHkgbml2ZWwgZW4gdW5hIGNhZGVuYSBsZWdpYmxlXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MAorbXNnaWQgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgc2hvdyB0aW1lIGRlbHRhIGJldHdlZW4gcHJpbnRlZCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIG11ZXN0cmEgbGEgZGlmZXJlbmNpYSBkZSB0aWVtcG9zIGVudHJlIGxvcyBtZW5zYWplcyBpbXByaW1pZG9zXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MQorbXNnaWQgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgc2hvdyBsb2NhbCB0aW1lIGFuZCB0aW1lIGRlbHRhIGluIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIG11ZXN0cmEgbGEgaG9yYSBsb2NhbCB5IGxhIGRpZmVyZW5jaWEgZGUgdGllbXBvIGVuIGZvcm1hdG8gbGVnaWJsZVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTIKK21zZ2lkICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHNob3cgaHVtYW4tcmVhZGFibGUgdGltZXN0YW1wIChtYXkgYmUgaW5hY2N1cmF0ZSEpXG4iCittc2dzdHIgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgbXVlc3RyYSB1biBzZWxsbyBkZSB0aWVtcG8gbGVnaWJsZSBwYXJhIGh1bWFub3MgKHB1ZWRlIG5vIHNlciBleGFjdG8pXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MworbXNnaWQgIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAgZG9uJ3Qgc2hvdyBhbnkgdGltZXN0YW1wIHdpdGggbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBubyBtdWVzdHJhIG5pbmd1bmEgbWFyY2EgZGUgdGllbXBvIGNvbiBsb3MgbWVuc2FqZXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk0Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXAgdXNpbmcgdGhlIGdpdmVuIGZvcm1hdDpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyJTdXNwZW5kaW5nL3Jlc3VtZSB3aWxsIG1ha2UgY3RpbWUgYW5kIGlzbyB0aW1lc3RhbXBzIGluYWNjdXJhdGUuXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdG8+IG11ZXN0cmEgbGEgbWFyY2EgZGUgdGllbXBvIGNvbiBlbCBmb3JtYXRvIGVzcGVjaWZpY2FkbzpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyJTdXNwZW5kZXIvcmVhbnVkYXIgdm9sdmVyw6EgaW5leGFjdGFzIGxhcyBtYXJjYXMgZGUgdGllbXBvIGRlIGN0aW1lIGUgaXNvLlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDAKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBmYWNpbGl0aWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiU2VydmljaW9zIGRlIMKrbG9nwrsgZGlzcG9uaWJsZXM6XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwNgorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGxldmVscyAocHJpb3JpdGllcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJOaXZlbGVzIGRlIMKrbG9nwrsgZGlzcG9uaWJsZXMgKHByaW9yaWRhZGVzKTpcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZXZlbCAnJXMnIgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBuaXZlbCAnJXMnIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBsZXZlbCAnJXMnIgorbXNnc3RyICJuaXZlbCBkZXNjb25vY2lkbyAnJXMnIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGZhY2lsaXR5ICclcyciCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIHJlY3Vyc28gJyVzJyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAicmVjdXJzbyBkZXNjb25vY2lkbyAnJXMnIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1tYXA6ICVzIgorbXNnc3RyICJmYWxsbyBkZSBtbWFwOiAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1NgorbXNnaWQgImludmFsaWQgYnVmZmVyIHNpemUgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBkZSB0YW1hw7FvIGRlIMKrYnVmZmVywrsgbm8gdsOhbGlkbyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQwOQorbXNnaWQgIi0tc2hvdy1kZWx0YSBpcyBpZ25vcmVkIHdoZW4gdXNlZCB0b2dldGhlciB3aXRoIGlzbzg2MDEgdGltZSBmb3JtYXQiCittc2dzdHIgIi0tc2hvdy1kZWx0YSBubyBzZSB0aWVuZSBlbiBjdWVudGEgY3VhbmRvIHNlIHV0aWxpemEganVudG8gY29uIGVsIGZvcm1hdG8gZGUgdGllbXBvIGlzbzg2MDEiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MzIKK21zZ2lkICItLXJhdyBjYW4gYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tbGV2ZWwgb3IgLS1mYWNpbGl0eSBvbmx5IHdoZW4gcmVhZGluZyBtZXNzYWdlcyBmcm9tIC9kZXYva21zZyIKK21zZ3N0ciAiLS1yYXcgcHVlZGUgdXRpbGl6YXJzZSBjb25qdW50YW1lbnRlIGNvbiAtLWxldmVsIG8gLS1mYWNpbGl0eSBzb2xhbWVudGUgY3VhbmRvIHNlIGxlZW4gbWVuc2FqZXMgZGUgL2Rldi9rbXNnIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDQyCittc2dpZCAicmVhZCBrZXJuZWwgYnVmZmVyIGZhaWxlZCIKK21zZ3N0ciAiZmFsbG8gYWwgbGVlciBlbCDCq2J1ZmZlcsK7IGRlbCBuw7pjbGVvIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDYxCittc2dpZCAia2xvZ2N0bCBmYWlsZWQiCittc2dzdHIgImtsb2djdGwgaGEgZmFsbGFkbyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+fDxtb3VudHBvaW50Pl1cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gWzxkaXNwb3NpdGl2bz58PHB1bnRvIGRlIG1vbnRhamU+XVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzcKK21zZ2lkICJFamVjdCByZW1vdmFibGUgbWVkaWEuXG4iCittc2dzdHIgIkV4cHVsc2FyIGRpc3Bvc2l0aXZvIGV4dHJhaWJsZS5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTQwCittc2dpZCAiIgorIiAtYSwgLS1hdXRvIDxvbnxvZmY+ICAgICAgICAgdHVybiBhdXRvLWVqZWN0IGZlYXR1cmUgb24gb3Igb2ZmXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxzbG90PiAgICBzd2l0Y2ggZGlzY3Mgb24gYSBDRC1ST00gY2hhbmdlclxuIgorIiAtZCwgLS1kZWZhdWx0ICAgICAgICAgICAgICAgZGlzcGxheSBkZWZhdWx0IGRldmljZVxuIgorIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAgZWplY3QgZmxvcHB5XG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBkb24ndCBjYXJlIGFib3V0IGRldmljZSB0eXBlXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICB0b2dnbGUgbWFudWFsIGVqZWN0IHByb3RlY3Rpb24gb24vb2ZmXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBkbyBub3QgdW5tb3VudCBkZXZpY2UgZXZlbiBpZiBpdCBpcyBtb3VudGVkXG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBkbyBub3QgdW5tb3VudCBhbm90aGVyIHBhcnRpdGlvbnNcbiIKKyIgLW4sIC0tbm9vcCAgICAgICAgICAgICAgICAgIGRvbid0IGVqZWN0LCBqdXN0IHNob3cgZGV2aWNlIGZvdW5kXG4iCisiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICB1c2UgL3Byb2MvbW91bnRzIGluc3RlYWQgb2YgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICBlamVjdCB0YXBlXG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICBlamVjdCBDRC1ST01cbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIGVqZWN0IFNDU0kgZGV2aWNlXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICBjbG9zZSB0cmF5XG4iCisiIC1ULCAtLXRyYXl0b2dnbGUgICAgICAgICAgICB0b2dnbGUgdHJheVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgZW5hYmxlIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC14LCAtLWNkc3BlZWQgPHNwZWVkPiAgICAgICBzZXQgQ0QtUk9NIG1heCBzcGVlZFxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAgbGlzdCBDRC1ST00gYXZhaWxhYmxlIHNwZWVkc1xuIgorbXNnc3RyICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICBhY3RpdmEgbyBkZXNhY3RpdmEgbGEgZnVuY2nDs24gZGUgYXV0b2V4cHVsc2nDs25cbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHJhbnVyYT4gIGFjdGl2YSBkaXNjb3MgZW4gdW4gY2FyZ2Fkb3IgZGUgQ0QtUk9NXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBtdWVzdHJhIGVsIGRpc3Bvc2l0aXZvIHByZWRldGVybWluYWRvXG4iCisiIC1mLCAtLWZsb3BweSAgICAgICAgICAgICAgICBlc3B1bHNhIGVsIGRpc3F1ZXRlXG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBubyB0aWVuZSBlbiBjdWVudGEgZWwgdGlwbyBkZSBkaXNwb3NpdGl2b1xuIgorIiAtaSwgLS1tYW51YWxlamVjdCA8b258b2ZmPiAgYWN0aXZhIG8gZGVzYWN0aXZhIGxhIHByb3RlY2Npw7NuIGRlIGxhIGV4cHVsc2nDs24gbWFudWFsXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBubyBkZXNtb250YSBlbCBkaXNwb3NpdGl2byBhdW5xdWUgZXN0w6kgbW9udGFkb1xuIgorIiAtTSwgLS1uby1wYXJ0aXRpb25zLXVubW91bnQgbm8gZGVzbW9udGEgb3RyYXMgcGFydGljaW9uZXNcbiIKKyIgLW4sIC0tbm9vcCAgICAgICAgICAgICAgICAgIG5vIGV4cHVsc2E7IHNvbG8gbXVlc3RyYSBlbCBkaXNwb3NpdGl2byBlbmNvbnRyYWRvXG4iCisiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICB1dGlsaXphIC9wcm9jL21vdW50cyBlbiBsdWdhciBkZSAvZXRjL210YWJcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIGV4cHVsc2EgZWwgY2FzZXRlXG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICBleHB1bHNhIGVsIENELVJPTVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgZXhwdWxzYSBlbCBkaXNwb3NpdGl2byBTQ1NJXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICBjaWVycmEgbGEgYmFuZGVqYVxuIgorIiAtVCwgLS10cmF5dG9nZ2xlICAgICAgICAgICAgYWx0ZXJuYSBsYSBiYW5kZWphXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICBhY3RpdmEgbGFzIGV4cGxpY2FjaW9uZXMgZW4gbGEgc2FsaWRhXG4iCisiIC14LCAtLWNkc3BlZWQgPHZlbG9jaWRhZD4gICBlc3RhYmxlY2UgbGEgdmVsb2NpZGFkIG3DoXhpbWEgZGVsIENELVJPTVxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAgZW51bWVyYSBsYXMgdmVsb2NpZGFkZXMgZGVsIENELVJPTSBkaXNwb25pYmxlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNjQKK21zZ2lkICIiCisiXG4iCisiQnkgZGVmYXVsdCB0cmllcyAtciwgLXMsIC1mLCBhbmQgLXEgaW4gb3JkZXIgdW50aWwgc3VjY2Vzcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlBvciBvbWlzacOzbiwgcHJ1ZWJhIC1yLCAtcywgLWYgeSAtcSBlbiBvcmRlbiBoYXN0YSBxdWUgZnVuY2lvbmUuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxMAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jaGFuZ2Vyc2xvdC8tYyBvcHRpb24iCittc2dzdHIgImFyZ3VtZW50byBubyB2w6FsaWRvIHBhcmEgbGEgb3BjacOzbiAtLWNoYW5nZXJzbG90Ly1jIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2RzcGVlZC8teCBvcHRpb24iCittc2dzdHIgImFyZ3VtZW50byBubyB2w6FsaWRvIHBhcmEgbGEgb3BjacOzbiAtLWNkc3BlZWQvLWEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjMyNgorbXNnaWQgIkNELVJPTSBhdXRvLWVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJsYSBvcmRlbiBkZSBhdXRvZXhwdWxzacOzbiBkZWwgQ0QtUk9NIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MAorbXNnaWQgIkNELVJPTSBkb29yIGxvY2sgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiRWwgYmxvcXVlbyBkZSBsYSBwdWVydGEgZGVsIENELVJPTSBubyBlc3TDoSBpbXBsZW1lbnRhZG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MgorbXNnaWQgIm90aGVyIHVzZXJzIGhhdmUgdGhlIGRyaXZlIG9wZW4gYW5kIG5vdCBDQVBfU1lTX0FETUlOIgorbXNnc3RyICJvdHJvcyB1c3VhcmlvcyB0aWVuZW4gbGEgdW5pZGFkIGFiaWVydGEgeSBubyBDQVBfU1lTX0FETUlOIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDQKK21zZ2lkICJDRC1ST00gbG9jayBkb29yIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJsYSBvcmRlbiBkZSBibG9xdWVvIGRlIGxhIHB1ZXJ0YSBkZWwgQ0QtUk9NIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0OQorbXNnaWQgIkNELURyaXZlIG1heSBOT1QgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIkxhIHVuaWRhZCBkZSBDRCBOTyBwdWVkZSBleHB1bHNhcnNlIGNvbiBlbCBib3TDs24gZGVsIGRpc3Bvc2l0aXZvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNTEKK21zZ2lkICJDRC1Ecml2ZSBtYXkgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIkxhIHVuaWRhZCBkZSBDRCBwdWVkZSBleHB1bHNhcnNlIGNvbiBlbCBib3TDs24gZGVsIGRpc3Bvc2l0aXZvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjIKK21zZ2lkICJDRC1ST00gc2VsZWN0IGRpc2MgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgImxhIG9yZGVuIGRlIHNlbGVjY2nDs24gZGUgZGlzY28gQ0QtUk9NIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NgorbXNnaWQgIkNELVJPTSBsb2FkIGZyb20gc2xvdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAibGEgb3JkZW4gZGUgY2FyZ2EgZGUgQ0QtUk9NIGRlc2RlIHVuYSByYW51cmEgaGEgZmFsbGFkbyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY4Cittc2dpZCAiSURFL0FUQVBJIENELVJPTSBjaGFuZ2VyIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAiZWwgY2FyZ2Fkb3IgZGUgQ0QtUk9NIElEL0FUQVBJIG5vIGVzdMOhIGFkbWl0aWRvIGVuIGVzdGUgbsO6Y2xlb1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODYKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiZWwgY29tYW5kbyBkZSBjaWVycmUgZGUgbGEgYmFuZGVqYSBkZWwgQ0QtUk9NIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4OAorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICJMYSBvcmRlbiBkZSBjaWVycmUgZGUgbGEgYmFuZGVqYSBkZWwgQ0QtUk9NIG5vIGVzdMOhIGFkbWl0aWRhIGVuIGVzdGUgbsO6Y2xlb1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MDUKK21zZ2lkICJDRC1ST00gZWplY3QgdW5zdXBwb3J0ZWQiCittc2dzdHIgIkV4cHVsc2nDs24gZGUgQ0QtUk9NIG5vIGFkbWl0aWRhIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzMgc3lzLXV0aWxzL2VqZWN0LmM6NDU2IHN5cy11dGlscy9lamVjdC5jOjEwMTEKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkxhIG9yZGVuIGRlIGV4cHVsc2nDs24gZGVsIENELVJPTSBoYSBmYWxsYWRvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzYKK21zZ2lkICJubyBDRC1ST00gaW5mb3JtYXRpb24gYXZhaWxhYmxlIgorbXNnc3RyICJubyBoYXkgaW5mb3JtYWNpw7NuIGRpc3BvbmlibGUgc29icmUgZWwgQ0QtUk9NIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzkKK21zZ2lkICJDRC1ST00gZHJpdmUgaXMgbm90IHJlYWR5IgorbXNnc3RyICJMYSB1bmlkYWQgZGUgQ0QtUk9NIG5vIGVzdMOhIGxpc3RhIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODIKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJMYSBvcmRlbiBkZSBzZWxlY2Npw7NuIGRlIHZlbG9jaWRhZCBkZWwgQ0QtUk9NIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4NCBzeXMtdXRpbHMvZWplY3QuYzo1NzAKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbCIKK21zZ3N0ciAiTGEgb3JkZW4gZGUgc2VsZWNjacOzbiBkZSB2ZWxvY2lkYWQgZGVsIENELVJPTSBubyBlc3TDoSBhZG1pdGlkYSBlbiBlc3RlIG7DumNsZW8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmRpbmcgQ0QtUk9NIG5hbWUiCittc2dzdHIgIiVzOiBubyBzZSBoYSBwb2RpZG8gZW5jb250cmFyIGVsIG5vbWJyZSBkZWwgQ0QtUk9NIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICIlczogbm8gc2UgaGEgcG9kaWRvIGxlZXIgbGEgdmVsb2NpZGFkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1NDQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGxlZXIgbGEgdmVsb2NpZGFkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1ODgKK21zZ2lkICJub3QgYW4gc2cgZGV2aWNlLCBvciBvbGQgc2cgZHJpdmVyIgorbXNnc3RyICJubyBlcyB1biBkaXNwb3NpdGl2byBzZywgbyBlcyB1biBjb250cm9sYWRvciBzZyBhbnRpZ3VvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubW91bnRpbmciCittc2dzdHIgIiVzOiBkZXNtb250YW5kbyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njc1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBleGVjIC9iaW4vdW1vdW50IG9mIGAlcyciCittc2dzdHIgIm5vIHNlIHB1ZWRlIGVqZWN1dGFyIC9iaW4vdW1vdW50IGRlIGAlcyciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY3OAorbXNnaWQgInVuYWJsZSB0byBmb3JrIgorbXNnc3RyICJubyBzZSBwdWVkZSBjcmVhciBwcm9jZXNvIGhpam8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJlbCBkZXNtb250YWplIGRlIGAlc2Agbm8gaGEgc2FsaWRvIGRlIGZvcm1hIG5vcm1hbCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njg4CisjLCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBmYWlsZWRcbiIKK21zZ3N0ciAiZWwgZGVzbW9udGFqZSBkZSBgJXMnIGhhIGZhbGxhZG9cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzMwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IHRhYmxlIgorbXNnc3RyICJObyBzZSBwb2RpZG8gYW5hbGl6YXIgbGEgdGFibGEgZGUgbW9udGFqZSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzkxIHN5cy11dGlscy9lamVjdC5jOjg5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAiJXM6IG1vbnRhZG8gZW4gJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzMworbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvIGF1dG8iCittc2dzdHIgInNlIGVzdGFibGVjZSB2ZWxvY2lkYWQgZGUgQ0QtUk9NIGF1dG9tw6F0aWNhIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gJWxkWCIKK21zZ3N0ciAic2UgZXN0YWJsZWNlIGxhIHZlbG9jaWRhZCBkZSBDRC1ST00gYSAlbGRYIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVmYXVsdCBkZXZpY2U6IGAlcyciCittc2dzdHIgImRpc3Bvc2l0aXZvIHByZWRldGVybWluYWRvOiBgJXMnIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgZGVmYXVsdCBkZXZpY2UgYCVzJyIKK21zZ3N0ciAic2UgZXN0w6EgdXRpbGl6YW5kbyBlbCBkaXNwb3NpdGl2byBwcmVkZXRlcm1pbmFkbyBgJXMnIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODYgc3lzLXV0aWxzL3J0Y3dha2UuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBmaW5kIGRldmljZSIKK21zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlIGVuY29udHJhciBlbCBkaXNwb3NpdGl2byIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg4CisjLCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBuYW1lIGlzIGAlcyciCittc2dzdHIgImVsIG5vbWJyZSBkZWwgZGlzcG9zaXRpdm8gZXMgYCVzJyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODk0IHN5cy11dGlscy91bW91bnQuYzoyMDYgc3lzLXV0aWxzL3Vtb3VudC5jOjIzNQorIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQwOSBzeXMtdXRpbHMvdW1vdW50LmM6NDMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgbW91bnRlZCIKK21zZ3N0ciAiJXM6IG5vIG1vbnRhZG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg5OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYyBkZXZpY2U6ICVzIChkaXNrIGRldmljZSB3aWxsIGJlIHVzZWQgZm9yIGVqZWN0KSIKK21zZ3N0ciAiJXM6IGRpc3BvaXNpdGl2byBkZSBkaXNjbzogJXMgKGVsIGRpc3Bvc2l0aXZvIGRlIGRpc2NvIHNlIHV0aWxpemFyw6EgcGFyYSBleHB1bHNhcikiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIG1vdW50cG9pbnQgb3IgZGV2aWNlIHdpdGggdGhlIGdpdmVuIG5hbWUiCittc2dzdHIgIiVzOiBubyBzZSBoYSBlbmNvbnRyYWRvIHVuIHB1bnRvIGRlIG1vbnRhamUgbmkgdW4gZGlzcG9zaXRpdm8gY29uIGVsIG5vbWJyZSBlc3BlY2lmaWNhZG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgd2hvbGUtZGlzayBkZXZpY2UiCittc2dzdHIgIiVzOiBlcyB1biBkaXNwb3NpdGl2byBkZSB1biBkaXNjbyBlbnRlcm8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGhvdC1wbHVnZ2FibGUgZGV2aWNlIgorbXNnc3RyICIlczogbm8gZXMgdW4gZGlzcG9zaXRpdm8gcXVlIHNlIHB1ZWRhIGNvbmVjdGFyIGVuIGNhbGllbnRlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIGlzIGAlcyciCittc2dzdHIgImVsIGRpc3Bvc2l0aXZvIGVzIGAlcyciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxOAorbXNnaWQgImV4aXRpbmcgZHVlIHRvIC1uLy0tbm9vcCBvcHRpb24iCittc2dzdHIgInNlIHNhbGUgYSBjYXVzYSBkZSBsYSBvcGNpw7NuIC1uLy0tbm9vcCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlbmFibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiVzOiBzZSBhY3RpdmEgZWwgbW9kbyBkZSBhdXRvIGV4cHVsc2nDs24iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiJXM6IHNlIGRlc2FjdGl2YSBlbCBtb2RvIGRlIGF1dG8gZXhwdWxzacOzbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zaW5nIHRyYXkiCittc2dzdHIgIiVzOiBzZSBjaWVycmEgbGEgYmFuZGVqYSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b2dnbGluZyB0cmF5IgorbXNnc3RyICIlczogc2UgYWx0ZXJuYSBsYSBiYW5kZWphIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxpc3RpbmcgQ0QtUk9NIHNwZWVkIgorbXNnc3RyICIlczogc2UgZW51bWVyYSBsYSB2ZWxvY2lkYWQgZGVsIENELVJPTSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTg2CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogZGV2aWNlIGluIHVzZSIKK21zZ3N0ciAiZXJyb3I6ICVzOiBkaXNwb3NpdGl2byBvY3VwYWRvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlbGVjdGluZyBDRC1ST00gZGlzYyAjJWxkIgorbXNnc3RyICIlczogc2VsZWNjacOzbiBkZWwgZGlzY28gQ0QtUk9NIG7CuiAlbGQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBDRC1ST00gZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiJXM6IHNlIGVzdMOhIGludGVudGFuZG8gZXhwdWxzYXIgdXRpbGl6YW5kbyBsYSBvcmRlbiBkZSBleHB1bHNpw7NuIGRlIENELVJPTSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMAorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAibGEgb3JkZW4gZGUgZXhwdWxzacOzbiBkZWwgQ0QtUk9NIGhhIGZ1bmNpb25hZG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBTQ1NJIGNvbW1hbmRzIgorbXNnc3RyICIlczogc2UgZXN0w6EgaW50ZW50YW5kbyBleHB1bHNhciB1dGlsaXphbmRvIGxhcyDDs3JkZW5lcyBTQ1NJIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE3Cittc2dpZCAiU0NTSSBlamVjdCBzdWNjZWVkZWQiCittc2dzdHIgImxhIGV4cHVsc2nDs24gU0NTSSBoYSBmdW5jaW9uYWRvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE4Cittc2dpZCAiU0NTSSBlamVjdCBmYWlsZWQiCittc2dzdHIgImxhIGV4cHVsc2nDs24gU0NTSSBoYSBmYWxsYWRvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgZmxvcHB5IGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiVzOiBzZSBlc3TDoSBpbnRlbnRhZG8gZXhwdWxzYXIgdXRpbGl6YW5kbyBsYSBvcmRlbiBkZSBleHB1bHNpw7NuIGRlIGRpc3F1ZXRlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI0Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICJsYSBvcmRlbiBkZSBleHB1bHNpw7NuIGRlIGRpc3F1ZXRlIGhhIGZ1bmNpb25hZG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjUKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgImxhIG9yZGVuIGRlIGV4cHVsc2nDs24gZGUgZGlzcXVldGUgaGEgZmFsbGFkbyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIHRhcGUgb2ZmbGluZSBjb21tYW5kIgorbXNnc3RyICIlczogc2UgaW50ZW50YSBleHB1bHNhciB1dGlsaXphbmRvIGxhIG9yZGVuIGRlIGNhc2V0ZSBkZXNjb25lY3RhZGEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzEKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgImxhIG9yZGVuIGRlIGNhc2V0ZSBkZXNjb25lY3RhZGEgaGEgZnVuY2lvbmFkbyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMgorbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAibGEgb3JkZW4gZGUgY2FzZXRlIGRlc2NvbmVjdGFkYSBoYSBmYWxsYWRvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDM2Cittc2dpZCAidW5hYmxlIHRvIGVqZWN0IgorbXNnc3RyICJubyBzZSBwdWVkZSBleHB1bHNhciIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGVuYW1lPlxuIgorbXNnc3RyICIgJXMgW29wY2lvbmVzXSA8bm9tYnJlIGRlIGZpY2hlcm8+XG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4MQorbXNnaWQgIlByZWFsbG9jYXRlIHNwYWNlIHRvLCBvciBkZWFsbG9jYXRlIHNwYWNlIGZyb20gYSBmaWxlLlxuIgorbXNnc3RyICJQcmVhc2lnbmEgZXNwYWNpbyBvIGRlc2FzaWduYSBlc3BhY2lvIGRlIHVuIGZpY2hlcm8uXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NAorbXNnaWQgIiAtYywgLS1jb2xsYXBzZS1yYW5nZSByZW1vdmUgYSByYW5nZSBmcm9tIHRoZSBmaWxlXG4iCittc2dzdHIgIiAtYywgLS1jb2xsYXBzZS1yYW5nZSBlbGltaW5hIHVuIHJhbmdvIGRlbCBmaWNoZXJvXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NQorbXNnaWQgIiAtZCwgLS1kaWctaG9sZXMgICAgICBkZXRlY3QgemVyb2VzIGFuZCByZXBsYWNlIHdpdGggaG9sZXNcbiIKK21zZ3N0ciAiIC1kLCAtLWRpZy1ob2xlcyAgICAgIGRldGVjdGEgY2Vyb3MgeSBsb3MgcmVlbXBsYXphIHBvciBodWVjb3NcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg2Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgIGxlbmd0aCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgIGxvbmdpdHVkIHBhcmEgb3BlcmFjaW9uZXMgZGUgcmFuZ28sIGVuIGJ5dGVzXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NworbXNnaWQgIiAtbiwgLS1rZWVwLXNpemUgICAgICBtYWludGFpbiB0aGUgYXBwYXJlbnQgc2l6ZSBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgLW4sIC0ta2VlcC1zaXplICAgICAgbWFudGllbmUgZWwgdGFtYcOxbyBhcGFyZW50ZSBkZWwgZmljaGVyb1xuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODgKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgb2Zmc2V0IGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgZGVzcGxhemFtaWVudG8gcGFyYSBvcGVyYWNpb25lcyBkZSByYW5nbywgZW4gYnl0ZXNcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg5Cittc2dpZCAiIC1wLCAtLXB1bmNoLWhvbGUgICAgIHJlcGxhY2UgYSByYW5nZSB3aXRoIGEgaG9sZSAoaW1wbGllcyAtbilcbiIKK21zZ3N0ciAiIC1wLCAtLXB1bmNoLWhvbGUgICAgIHJlZW1wbGF6YSB1biByYW5nbyBjb24gdW4gaHVlY28gKGltcGxpY2EgLW4pXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MAorbXNnaWQgIiAteiwgLS16ZXJvLXJhbmdlICAgICB6ZXJvIGFuZCBlbnN1cmUgYWxsb2NhdGlvbiBvZiBhIHJhbmdlXG4iCittc2dzdHIgIiAteiwgLS16ZXJvLXJhbmdlICAgICBwb25lIGEgY2VybyB5IGFzZWd1cmEgbGEgcmVzZXJ2YSBkZSB1biByYW5nb1xuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTI2Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZDoga2VlcCBzaXplIG1vZGUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgImZhbGxvY2F0ZSBoYSBmYWxsYWRvOiBlbCBtb2RvIGRlIGNvbnNlcnZhciB0YW1hw7FvIG5vIGVzdMOhIGRpc3BvbmlibGUiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMjcKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkIgorbXNnc3RyICJmYWxsb2NhdGUgaGEgZmFsbGFkbyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBmYWlsZWQiCittc2dzdHIgIiVzOiByZWFkIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglanUgYnl0ZXMpIGNvbnZlcnRlZCB0byBzcGFyc2UgaG9sZXMuXG4iCittc2dzdHIgIiVzOiAlcyAoJWp1IGJ5dGVzKSBjb252ZXJ0aWRvcyBlbiBodWVjb3MgbGlicmVzLlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzQ2IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExOAorbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZCIKK21zZ3N0ciAibm8gc2UgaGEgZXNwZWNpZmljYWRvIHVuIG5vbWJyZSBkZSBmaWNoZXJvIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzU4IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjQKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgInZhbG9yIGRlIGxvbmdpdHVkIGVzcGVjaWZpY2FkbyBubyB2w6FsaWRvIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzYyCittc2dpZCAibm8gbGVuZ3RoIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAibm8gc2UgaGEgZXNwZWNpZmljYWRvIGVsIGFyZ3VtZW50byBkZSBsb25naXR1ZCIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2NworbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAidmFsb3IgZGUgZGVzcGxhemFtaWVudG8gZXNwZWNpZmljYWRvIG5vIHbDoWxpZG8iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IDxjb21tYW5kPiBbPGFyZ3VtZW50Pi4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IC1jIDxjb21tYW5kPlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZSBkZXNjcmlwdG9yIG51bWJlcj5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcGNpb25lc10gPGZpY2hlcm8+fDxkaXJlY3RvcmlvPiA8b3JkZW4+IFs8YXJndW1lbnRvcz4uLi5dXG4iCisiICUxJHMgW29wY2lvbmVzXSA8ZmljaGVybz58PGRpcmVjdG9yaW8+IC1jIDxvcmRlbj5cbiIKKyIgJTEkcyBbb3BjaW9uZXNdIDxuw7ptZXJvIGRlIGRlc2NyaXB0b3IgZGUgZmljaGVybz5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTkKK21zZ2lkICJNYW5hZ2UgZmlsZSBsb2NrcyBmcm9tIHNoZWxsIHNjcmlwdHMuXG4iCittc2dzdHIgIkdlc3Rpb25hIGxvcyBibG9xdWVvcyBkZSBmaWNoZXJvcyBkZXNkZSBwcm9ncmFtYXMgZGUgwqtzaGVsbMK7LlxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MgorbXNnaWQgIiAtcywgLS1zaGFyZWQgICAgICAgICAgICAgZ2V0IGEgc2hhcmVkIGxvY2tcbiIKK21zZ3N0ciAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBvYnRpZW5lIHVuIGJsb3F1ZW8gY29tcGFydGlkb1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MworbXNnaWQgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAgZ2V0IGFuIGV4Y2x1c2l2ZSBsb2NrIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIG9idGllbmUgdW4gYmxvcXVlbyBleGNsdXNpdm8gKGxvIHByZWRldGVybWluYWRvKVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NAorbXNnaWQgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAgcmVtb3ZlIGEgbG9ja1xuIgorbXNnc3RyICIgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIGVsaW1pbmEgZWwgYmxvcXVlb1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NQorbXNnaWQgIiAtbiwgLS1ub25ibG9jayAgICAgICAgICAgZmFpbCByYXRoZXIgdGhhbiB3YWl0XG4iCittc2dzdHIgIiAtbiwgLS1ub25ibG9jayAgICAgICAgICAgZmFsbGEgZW4gbHVnYXIgZGUgZXNwZXJhclxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NgorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCittc2dzdHIgIiAtdywgLS10aW1lb3V0IDxzZWd1bmRvcz4gZXNwZXJhIHVuIHBlcmlvZG8gZGUgdGllbXBvIGxpbWl0YWRvXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY3Cittc2dpZCAiIC1FLCAtLWNvbmZsaWN0LWV4aXQtY29kZSA8bnVtYmVyPiAgZXhpdCBjb2RlIGFmdGVyIGNvbmZsaWN0IG9yIHRpbWVvdXRcbiIKK21zZ3N0ciAiIC1FLCAtLWNvbmZsaWN0LWV4aXQtY29kZSA8bsO6bWVybz4gIGPDs2RpZ28gZGUgc2FsaWRhIHRyYXMgY29uZmxpY3RvIG8gdGllbXBvIHZlbmNpZG9cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjgKK21zZ2lkICIgLW8sIC0tY2xvc2UgICAgICAgICAgICAgIGNsb3NlIGZpbGUgZGVzY3JpcHRvciBiZWZvcmUgcnVubmluZyBjb21tYW5kXG4iCittc2dzdHIgIiAtbywgLS1jbG9zZSAgICAgICAgICAgICAgY2llcnJhIGVsIGRlc2NyaXB0b3IgZGUgZmljaGVybyBhbnRlcyBkZSBlamVjdXRhciBsYSBvcmRlblxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OQorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgcnVuIGEgc2luZ2xlIGNvbW1hbmQgc3RyaW5nIHRocm91Z2ggdGhlIHNoZWxsXG4iCittc2dzdHIgIiAtYywgLS1jb21tYW5kIDxvcmRlbj4gICAgZWplY3V0YSB1bmEgw7puaWNhIG9yZGVuIGEgdHJhdsOpcyBkZSBsYSDCq3NoZWxswrtcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzAKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgIGV4ZWN1dGUgY29tbWFuZCB3aXRob3V0IGZvcmtpbmdcbiIKK21zZ3N0ciAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgICBlamVjdXRhIGxhIG9yZGVuIHNpbiBsYW56YXIgdW4gcHJvY2VzbyBudWV2b1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgaW5jcmVhc2UgdmVyYm9zaXR5XG4iCittc2dzdHIgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgYXVtZW50YSBsYSBjYW50aWRhZCBkZSBpbmZvcm1hY2nDs25cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlcyIKK21zZ3N0ciAibm8gc2UgcHVlZGUgYWJyaXIgZWwgZmljaGVybyBjZXJyb2pvICVzIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDUKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgdmFsdWUiCittc2dzdHIgInZhbG9yIGRlIHRpZW1wbyBkZSB2ZW5jaW1pZW50byBubyB2w6FsaWRvIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDkKK21zZ2lkICJpbnZhbGlkIGV4aXQgY29kZSIKK21zZ3N0ciAiY8OzZGlnbyBkZSBzYWxpZGEgbm8gdsOhbGlkbyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjI4Cittc2dpZCAidGhlIC0tbm8tZm9yayBhbmQgLS1jbG9zZSBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgImxhcyBvcGNpb25lcyAtLW5vLWZvcmsgeSAtLWNsb3NlIHNvbiBpbmNvbXBhdGlibGVzIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgZXhhY3RseSBvbmUgY29tbWFuZCBhcmd1bWVudCIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgZXhhY3RhbWVudGUgdW4gYXJndW1lbnRvIGRlIG9yZGVuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTQKK21zZ2lkICJiYWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICJkZXNjcmlwdG9yIGRlIGZpY2hlcm8gaW5jb3JyZWN0byIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjU3Cittc2dpZCAicmVxdWlyZXMgZmlsZSBkZXNjcmlwdG9yLCBmaWxlIG9yIGRpcmVjdG9yeSIKK21zZ3N0ciAibmVjZXNpdGEgZGVzY3JpcHRvciBkZSBmaWNoZXJvLCBmaWNoZXJvIG8gZGlyZWN0b3JpbyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjgxCittc2dpZCAiZmFpbGVkIHRvIGdldCBsb2NrIgorbXNnc3RyICJubyBzZSBoYW4gcG9kaWRvIG9idGVuZXIgZWwgYmxvcXVlbyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6Mjg4Cittc2dpZCAidGltZW91dCB3aGlsZSB3YWl0aW5nIHRvIGdldCBsb2NrIgorbXNnc3RyICIgaGEgdmVuY2lkbyBlbCB0aWVtcG8gbcOheGltbyBkZSBlc3BlcmEgcGFyYSBvYnRlbmVyIGVsIGJsb3F1ZW8iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0dGluZyBsb2NrIHRvb2sgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXM6IG9idGVuZXIgZWwgYmxvcXVlbyBoYSBsbGV2YWRvICVsZCwlMDZsZCBzZWd1bmRvc1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICIlczogZWplY3V0YW5kbyAlc1xuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1MAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxtb3VudHBvaW50PlxuIgorbXNnc3RyICIgJXMgW29wY2lvbmVzXSA8cHVudG8tZGUtbW9udGFqZT5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTMKK21zZ2lkICJTdXNwZW5kIGFjY2VzcyB0byBhIGZpbGVzeXN0ZW0gKGV4dDMvNCwgUmVpc2VyRlMsIEpGUywgWEZTKS5cbiIKK21zZ3N0ciAiU3VzcGVuZGUgZWwgYWNjZXNvIGEgdW4gc2lzdGVtYSBkZSBmaWNoZXJvcyAoZXh0My80LCBSZWlzZXJGUywgSkZTLCBYRlMpLlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1NgorbXNnaWQgIiAtZiwgLS1mcmVlemUgICAgICBmcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC1mLCAtLWZyZWV6ZSAgICAgIGNvbmdlbGEgZWwgc2lzdGVtYSBkZSBmaWNoZXJvc1xuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1NworbXNnaWQgIiAtdSwgLS11bmZyZWV6ZSAgICB1bmZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLXUsIC0tdW5mcmVlemUgICAgZGVzY29uZ2VsYSBlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExNgorbXNnaWQgIm5laXRoZXIgLS1mcmVlemUgb3IgLS11bmZyZWV6ZSBzcGVjaWZpZWQiCittc2dzdHIgIm5vIHNlIGhhIGVzcGVjaWZpY2FkbyAtLWZyZWV6ZSBuaSAtLXVuZnJlZXplIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXM6IG5vIGVzIHVuIGRpcmVjdG9yaW8iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjE0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZhbGxvIGFsIGNvbmdlbGFyIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZhbGxvIGFsIGRlc2NvbmdlbGFyIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXM6IG5vIGVzIHVuIGRpcmVjdG9yaW8iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogRklUUklNIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEZJVFJJTSBpb2N0bCBoYSBmYWxsYWRvIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGhlcmUgaXMgYSB2ZXJ5IGxhcmdlIG51bWJlci4KKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglPFBSSXU2ND4gYnl0ZXMpIHRyaW1tZWRcbiIKK21zZ3N0ciAiJXM6ICVzICglPFBSSXU2ND4gYnl0ZXMpIHJlY29ydGFkb1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTkxIHN5cy11dGlscy9zd2Fwb24uYzo3Mjkgc3lzLXV0aWxzL3Vtb3VudC5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBhbmFsaXphciAlcyIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxtb3VudCBwb2ludD5cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gPHB1bnRvLWRlLW1vbnRhamU+XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTQKK21zZ2lkICJEaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkRlc2NhcnRhIGJsb3F1ZXMgbm8gdXRpbGl6YWRvcyBlbiB1biBzaXN0ZW1hIGRlIGZpY2hlcm9zIG1vbnRhZG8uXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTcKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB0cmltIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIHRoYXQgYXJlIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICByZWNvcnRhIHRvZG9zIGxvcyBzaXN0ZW1hcyBkZSBmaWNoZXJvcyBubyBhZG1pdGlkb3NcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1OAorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIHRoZSBvZmZzZXQgaW4gYnl0ZXMgdG8gc3RhcnQgZGlzY2FyZGluZyBmcm9tXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPG51bT4gIGRlc3BsYXphbWllbnRvIGVuIGJ5dGVzIHBhcmEgZW1wZXphciBhIGRlc2NhcnRhclxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgdGhlIG51bWJlciBvZiBieXRlcyB0byBkaXNjYXJkXG4iCittc2dzdHIgIiAtbCwgLS1sZW5ndGggPG51bT4gIG7Dum1lcm8gZGUgYnl0ZXMgcXVlIGRlc2NhcnRhclxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYwCittc2dpZCAiIC1tLCAtLW1pbmltdW0gPG51bT4gdGhlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCB0byBkaXNjYXJkXG4iCittc2dzdHIgIiAtbSwgLS1taW5pbXVtIDxudW0+IGxvbmdpdHVkIGRlIGxhIGV4dGVuc2nDs24gbcOtbmltYSBxdWUgZGVzY2FydGFyXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBudW1iZXIgb2YgZGlzY2FyZGVkIGJ5dGVzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgIGltcHJpbWUgZWwgbsO6bWVybyBkZSBieXRlcyBkZXNjYXJ0YWRvc1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzE2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGFuYWxpemFyIGxhIGxvbmdpdHVkIGRlIGxhIGV4dGVuc2nDs24gbcOtbmltYSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMyOQorbXNnaWQgIm5vIG1vdW50cG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICJubyBzZSBoYSBlc3BlY2lmaWNhZG8gcHVudG8gZGUgbW9udGFqZSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdGhlIGRpc2NhcmQgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIiVzOiBsYSBvcGVyYWNpw7NuIGRlIGRlc2NhcnRlIG5vIGVzdMOhIGFkbWl0aWRhIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJBc3N1bWluZyBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluICVzIHRpbWUuXG4iCittc2dzdHIgIlNlIHByZXN1cG9uZSBxdWUgZWwgcmVsb2ogZGUgaGFyZHdhcmUgdGllbmUgbGEgaG9yYSAlcy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNDcgc3lzLXV0aWxzL2h3Y2xvY2suYzozMzQKK21zZ2lkICJVVEMiCittc2dzdHIgIlVUQyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNDcgc3lzLXV0aWxzL2h3Y2xvY2suYzozMzMKK21zZ2lkICJsb2NhbCIKK21zZ3N0ciAibG9jYWwiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzE4Cittc2dpZCAiIgorIldhcm5pbmc6IHVucmVjb2duaXplZCB0aGlyZCBsaW5lIGluIGFkanRpbWUgZmlsZVxuIgorIihFeHBlY3RlZDogYFVUQycgb3IgYExPQ0FMJyBvciBub3RoaW5nLikiCittc2dzdHIgIiIKKyJBdGVuY2nDs246IHRlcmNlcmEgbMOtbmVhIG5vIHJlY29ub2NpZGEgZW4gZWwgZmljaGVybyBhZGp0aW1lXG4iCisiKFNlIGVzcGVyYWJhOiBgVVRDJyBvIGBMT0NBTCcgbyBuYWRhLikiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgZHJpZnQgYWRqdXN0bWVudCBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiw5psdGltbyBhanVzdGUgZGUgZGVzZmFzZSByZWFsaXphZG8gJWxkIHNlZ3VuZG9zIGRlc3B1w6lzIGRlIDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBjYWxpYnJhdGlvbiBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiw5psdGltYSBjYWxpYnJhY2nDs24gcmVhbGl6YWRhICVsZCBzZWd1bmRvcyBkZXNwdcOpcyBkZSAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkhhcmR3YXJlIGNsb2NrIGlzIG9uICVzIHRpbWVcbiIKK21zZ3N0ciAiRWwgcmVsb2ogZGUgaGFyZHdhcmUgdGllbmUgbGEgaG9yYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM1OAorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGZvciBjbG9jayB0aWNrLi4uXG4iCittc2dzdHIgIkVzcGVyYW5kbyBzZcOxYWwgZGUgcmVsb2ouLi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc3luY2hyb25pemF0aW9uIGZhaWxlZFxuIgorbXNnc3RyICIuLi5mYWxsbyBkZSBzaW5jcm9uaXphY2nDs25cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uZ290IGNsb2NrIHRpY2tcbiIKK21zZ3N0ciAiLi4ucmVjaWJpZGEgc2XDsWFsIGRlIHJlbG9qXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDIyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdmFsdWVzIGluIGhhcmR3YXJlIGNsb2NrOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCittc2dzdHIgIlZhbG9yZXMgbm8gdsOhbGlkb3MgZW4gcmVsb2ogZGUgaGFyZHdhcmU6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHcgY2xvY2sgdGltZSA6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIkhvcmEgZGVsIHJlbG9qIGRlIGhhcmR3YXJlOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlZ3VuZG9zIGRlc2RlIDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZSByZWFkIGZyb20gSGFyZHdhcmUgQ2xvY2s6ICU0ZC8lLjJkLyUuMmQgJTAyZDolMDJkOiUwMmRcbiIKK21zZ3N0ciAiSG9yYSBsZcOtZGEgZGVsIHJlbG9qIGRlIGhhcmR3YXJlOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgSGFyZHdhcmUgQ2xvY2sgdG8gJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIkVzdGFibGVjaWVuZG8gcmVsb2ogZGUgaGFyZHdhcmUgZW4gJS4yZDolLjJkOiUuMmQgPSAlbGQgc2VndW5kb3MgZGVzZGUgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICJDbG9jayBub3QgY2hhbmdlZCAtIHRlc3Rpbmcgb25seS5cbiIKK21zZ3N0ciAiRWwgcmVsb2ogbm8gc2UgaGEgbW9kaWZpY2Fkbzsgc8OzbG8gc2UgZXN0w6EgcHJvYmFuZG8uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjAzCisjLCBjLWZvcm1hdAorbXNnaWQgInNsZWVwaW5nIH4lZCB1c2VjXG4iCittc2dzdHIgInNlIGR1ZXJtZSB+JWQgdXNlY1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGp1bXBlZCBiYWNrd2FyZCAlLjZmIHNlY29uZHMgdG8gJWxkLiUwNmxkIC0gcmV0YXJnZXRpbmdcbiIKK21zZ3N0ciAiZWwgdGllbXBvIGhhIHNhbHRhZG8gaGFjaWEgYXRyw6FzICUuNmYgc2VndW5kb3MgYSAlbGQsJTA2bGQgLSBzZSByZWhhY2Ugb2JqZXRpdm9cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkLiUwNmxkIDwgJWxkLiUwNmxkICglLjZmKVxuIgorbXNnc3RyICIlbGQsJTA2bGQgPCAlbGQsJTA2bGQgKCUuNmYpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NlZCBpdCAtICVsZC4lMDZsZCBpcyB0b28gZmFyIHBhc3QgJWxkLiUwNmxkICglLjZmID4gJS42ZilcbiIKK21zZ3N0ciAicGVyZGlkbyAtICVsZCwlMDZsZCBlcyBkZW1hc2lhZG8gcG9zdGVyaW9yIGEgJWxkLCUwNmxkICglLjZmID4gJS42ZilcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVsZC4lMDZsZCBpcyBjbG9zZSBlbm91Z2ggdG8gJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyJTZXQgUlRDIHRvICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2bGQpXG4iCittc2dzdHIgIiIKKyIlbGQsJTA2bGQgZXN0w6Egc3VmaWNpZW50ZW1lbnRlIGNlcmNhIGRlICVsZCwlMDZsZCAoJS42ZiA8ICUuNmYpXG4iCisiUG9uZXIgUlRDIGEgJWxkICglbGQgKyAlZDsgcmVmc3lzdGltZSA9ICVsZCwlMDZsZClcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODgKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgcmVnaXN0ZXJzIGNvbnRhaW4gdmFsdWVzIHRoYXQgYXJlIGVpdGhlciBpbnZhbGlkIChlLmcuIDUwdGggZGF5IG9mIG1vbnRoKSBvciBiZXlvbmQgdGhlIHJhbmdlIHdlIGNhbiBoYW5kbGUgKGUuZy4gWWVhciAyMDk1KS4iCittc2dzdHIgIiIKKyJMb3MgcmVnaXN0cm9zIGRlbCByZWxvaiBkZSBoYXJkd2FyZSBjb250aWVuZW4gdmFsb3JlcyBxdWUgbm8gc29uIHbDoWxpZG9zXG4iCisiKHBvciBlamVtcGxvLCBkw61hIDUwIGRlbCBtZXMpIG8gZXhjZWRlbiBlbCByYW5nbyBxdWUgcHVlZGUgdXRpbGl6YXJzZVxuIgorIihwb3IgZWplbXBsbywgZWwgYcOxbyAyMDk1KS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzI4Cittc2dpZCAiTm8gLS1kYXRlIG9wdGlvbiBzcGVjaWZpZWQuIgorbXNnc3RyICJObyBzZSBoYSBlc3BlY2lmaWNhZG8gbGEgb3BjacOzbiAtLWRhdGUuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjczNAorbXNnaWQgIi0tZGF0ZSBhcmd1bWVudCB0b28gbG9uZyIKK21zZ3N0ciAiYXJndW1lbnRvIC0tZGF0ZSBkZW1hc2lhZG8gbGFyZ28iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzQxCittc2dpZCAiIgorIlRoZSB2YWx1ZSBvZiB0aGUgLS1kYXRlIG9wdGlvbiBpcyBub3QgYSB2YWxpZCBkYXRlLlxuIgorIkluIHBhcnRpY3VsYXIsIGl0IGNvbnRhaW5zIHF1b3RhdGlvbiBtYXJrcy4iCittc2dzdHIgIiIKKyJFbCB2YWxvciBkZSBsYSBvcGNpw7NuIC0tZGF0ZSBubyBlcyB1bmEgZmVjaGEgdsOhbGlkYS5cbiIKKyJFbiBjb25jcmV0bywgY29udGllbmUgY29taWxsYXMuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJJc3N1aW5nIGRhdGUgY29tbWFuZDogJXNcbiIKK21zZ3N0ciAiRWplY3V0YW5kbyBvcmRlbiBkYXRlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc1MworbXNnaWQgIlVuYWJsZSB0byBydW4gJ2RhdGUnIHByb2dyYW0gaW4gL2Jpbi9zaCBzaGVsbC4gcG9wZW4oKSBmYWlsZWQiCittc2dzdHIgIk5vIHNlIHB1ZWRlIGVqZWN1dGFyIGVsIHByb2dyYW1hICdkYXRlJyBlbiBpbnTDqXJwcmV0ZSBkZSDDs3JkZW5lcyAvYmluL3NoLiBwb3BlbigpIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzYxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlc3BvbnNlIGZyb20gZGF0ZSBjb21tYW5kID0gJXNcbiIKK21zZ3N0ciAicmVzcHVlc3RhIGRlIGxhIG9yZGVuIGRhdGUgPSAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc2MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgdW5leHBlY3RlZCByZXN1bHRzLlxuIgorIlRoZSBjb21tYW5kIHdhczpcbiIKKyIgICVzXG4iCisiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyIgICVzIgorbXNnc3RyICIiCisiTGEgb3JkZW4gZGF0ZSBlamVjdXRhZGEgcG9yICVzIGhhIGRldnVlbHRvIHJlc3VsdGFkb3MgaW5lc3BlcmFkb3MuXG4iCisiTGEgb3JkZW4gZnVlOlxuIgorIiAgJXNcbiIKKyJMYSByZXNwdWVzdGEgZnVlOlxuIgorIiAgJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhbiBpbnRlZ2VyIHdoZXJlIHRoZSBjb252ZXJ0ZWQgdGltZSB2YWx1ZSB3YXMgZXhwZWN0ZWQuXG4iCisiVGhlIGNvbW1hbmQgd2FzOlxuIgorIiAgJXNcbiIKKyJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorIiAlc1xuIgorbXNnc3RyICIiCisiTGEgb3JkZW4gZGF0ZSBlbWl0aWRvIHBvciAlcyBoYSBkZXZ1ZWx0byB1biB2YWxvciBubyBlbnRlcm8gY3VhbmRvIHNlIGVzcGVyYWJhIGVsIHZhbG9yIGRlIGhvcmEgY29udmVydGlkYS5cbiIKKyJMYSBvcmRlbiBmdWU6XG4iCisiICAlc1xuIgorIkxhIHJlc3B1ZXN0YSBmdWU6XG4iCisiICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzg2CisjLCBjLWZvcm1hdAorbXNnaWQgImRhdGUgc3RyaW5nICVzIGVxdWF0ZXMgdG8gJWxkIHNlY29uZHMgc2luY2UgMTk2OS5cbiIKK21zZ3N0ciAiTGEgY2FkZW5hIGRlIGZlY2hhICVzIGVxdWl2YWxlIGEgJWxkIHNlZ3VuZG9zIGRlc2RlIDE5NjkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODI0Cittc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3Qgc2V0IHRoZSBTeXN0ZW0gVGltZSBmcm9tIGl0LiIKK21zZ3N0ciAiRWwgcmVsb2ogZGUgaGFyZHdhcmUgbm8gY29udGllbmUgdW5hIGhvcmEgdsOhbGlkYSwgcG9yIGxvIHF1ZSBubyBzZSBwdWVkZSBlc3RhYmxlY2VyIGxhIGhvcmEgZGVsIHNpc3RlbWEgYSBwYXJ0aXIgZGUgZXNlIHZhbG9yLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NDMgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXk6XG4iCittc2dzdHIgIlNlIGVzdMOhIGxsYW1hbmRvIHNldHRpbWVvZmRheTpcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NDQgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHR0di50dl9zZWMgPSAlbGQsIHR2LnR2X3VzZWMgPSAlbGRcbiIKK21zZ3N0ciAiXHR0di50dl9zZWMgPSAlbGQsIHR2LnR2X3VzZWMgPSAlbGRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NDYgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCittc2dzdHIgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1MCBzeXMtdXRpbHMvaHdjbG9jay5jOjkzOAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBzeXN0ZW0gY2xvY2sgYmVjYXVzZSBydW5uaW5nIGluIHRlc3QgbW9kZS5cbiIKK21zZ3N0ciAiTm8gc2UgZXN0YWJsZWNlIGVsIHJlbG9qIGRlbCBzaXN0ZW1hIHlhIHF1ZSBsYSBlamVjdWNpw7NuIGVzIGVuIG1vZG8gZGUgcHJ1ZWJhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg2NiBzeXMtdXRpbHMvaHdjbG9jay5jOjk2MgorbXNnaWQgIk11c3QgYmUgc3VwZXJ1c2VyIHRvIHNldCBzeXN0ZW0gY2xvY2suIgorbXNnc3RyICJEZWJlIHNlciBzdXBlcnVzdWFyaW8gcGFyYSBlc3RhYmxlY2VyIGVsIHJlbG9qIGRlbCBzaXN0ZW1hLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4Njkgc3lzLXV0aWxzL2h3Y2xvY2suYzo5NjUKK21zZ2lkICJzZXR0aW1lb2ZkYXkoKSBmYWlsZWQiCittc2dzdHIgInNldHRpbWVvZmRheSgpIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkN1cnJlbnQgc3lzdGVtIHRpbWU6ICVsZCA9ICVzXG4iCittc2dzdHIgIkhvcmEgYWN0dWFsIGRlbCBzaXN0ZW1hOiAlbGQgPSAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzMQorIywgYy1mb3JtYXQKK21zZ2lkICJcdFVUQzogJXNcbiIKK21zZ3N0ciAiXHRVVEM6ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIC0tdXBkYXRlLWRyaWZ0IG9wdGlvbiB3YXMgbm90IHVzZWQuXG4iCittc2dzdHIgIk5vIHNlIGFqdXN0YSBlbCBmYWN0b3IgZGUgZGVzZmFzZSBwb3JxdWUgbm8gc2UgaGEgdXRpbGl6YWRvIGxhIG9wY2nDs24gLS11cGRhdGUtZHJpZnQuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAwMAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSBIYXJkd2FyZSBDbG9jayBwcmV2aW91c2x5IGNvbnRhaW5lZCBnYXJiYWdlLlxuIgorbXNnc3RyICIiCisiTm8gc2UgYWp1c3RhIGVsIGZhY3RvciBkZSBkZXNmYXNlIGRlYmlkbyBhIHF1ZSBlbCByZWxvaiBkZSBoYXJkd2FyZVxuIgorImNvbnRlbsOtYSBhbnRlcmlvcm1lbnRlIGRhdG9zIGV4dHJhw7Fvcy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGxhc3QgY2FsaWJyYXRpb24gdGltZSBpcyB6ZXJvLFxuIgorInNvIGhpc3RvcnkgaXMgYmFkIGFuZCBjYWxpYnJhdGlvbiBzdGFydG92ZXIgaXMgbmVjZXNzYXJ5LlxuIgorbXNnc3RyICIiCisiTm8gc2UgYWp1c3RhIGVsIGZhY3RvciBkZSBkZXNmYXNlIGRlYmlkbyBhIHF1ZSBsYSBmZWNoYSBkZSDDumx0aW1hXG4iCisiY2FsaWJyYWNpw7NuIGVzIGNlcm8sIGFzw60gcXVlIGVsIGhpc3RvcmlhbCBlcyBlcnLDs25lbyB5IGVzIG5lY2VzYXJpYSB1bmFcbiIKKyJjYWxpYnJhY2nDs24gZGVzZGUgZWwgcHJpbmNpcGlvLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBpdCBoYXMgYmVlbiBsZXNzIHRoYW4gZm91ciBob3VycyBzaW5jZSB0aGUgbGFzdCBjYWxpYnJhdGlvbi5cbiIKK21zZ3N0ciAiTm8gc2UgYWp1c3RhIGVsIGZhY3RvciBkZSBkZXNmYXNlIHBvcnF1ZSBoYWNlIG1lbm9zIGRlIGN1YXRybyBob3JhcyBkZSBsYSDDumx0aW1hIGNhbGlicmFjacOzbi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdCBmYWN0b3Igd2FzIGNhbGN1bGF0ZWQgYXMgJWYgc2Vjb25kcy9kYXkuXG4iCisiSXQgaXMgZmFyIHRvbyBtdWNoLiBSZXNldHRpbmcgdG8gemVyby5cbiIKK21zZ3N0ciAiIgorIlNlIGhhIGNhbGN1bGFkbyB1biBmYWN0b3IgZGUgZGVyaXZhIGRlbCByZWxvaiBkZSAlZiBzZWd1bmRvcy9kw61hLlxuIgorIkVzIGRlbWFzaWFkby4gU2UgcG9uZSBhIGNlcm8uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnRlZCAlZiBzZWNvbmRzIGluIHRoZSBwYXN0ICVmIHNlY29uZHNcbiIKKyJpbiBzcGl0ZSBvZiBhIGRyaWZ0IGZhY3RvciBvZiAlZiBzZWNvbmRzL2RheS5cbiIKKyJBZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJ5ICVmIHNlY29uZHMvZGF5XG4iCittc2dzdHIgIiIKKyJFbCByZWxvaiBzZSBoYSBkZXNmYXNhZG8gJWYgc2VndW5kb3MgZW4gbG9zIMO6bHRpbW9zICVmIHNlZ3VuZG9zXG4iCisicGVzZSBhbCBmYWN0b3IgZGUgZGVzZmFzZSBkZSAlZiBzZWd1bmRvcyBwb3IgZMOtYS5cbiIKKyJTZSBhanVzdGEgZWwgZmFjdG9yIGRlIGRlc2Zhc2UgZW4gJWYgc2VndW5kb3MgcG9yIGTDrWEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5OQorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlZCBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWQgc2Vjb25kc1xuIgorbXNnc3RyWzBdICJFbCB0aWVtcG8gdHJhbnNjdXJyaWRvIGRlc2RlIGVsIMO6bHRpbW8gYWp1c3RlIGVzIGRlICVkIHNlZ3VuZG9cbiIKK21zZ3N0clsxXSAiRWwgdGllbXBvIHRyYW5zY3VycmlkbyBkZXNkZSBlbCDDumx0aW1vIGFqdXN0ZSBlcyBkZSAlZCBzZWd1bmRvc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsY3VsYXRlZCBIYXJkd2FyZSBDbG9jayBkcmlmdCBpcyAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICJFbCBkZXNmYXNlIGRlbCByZWxvaiBkZSBoYXJkd2FyZSBjYWxjdWxhZG8gZXMgZGUgJWxkLCUwNmxkIHNlZ3VuZG9zXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEzMworIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgdXBkYXRpbmcgYWRqdGltZSBmaWxlIGJlY2F1c2Ugb2YgdGVzdGluZyBtb2RlLlxuIgorbXNnc3RyICJObyBzZSBlc3TDoSBhY3R1YWxpemFuZG8gZWwgZmljaGVybyBhZGp0aW1lIGRlYmlkbyBhbCBtb2RvIGRlIHBydWViYS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXb3VsZCBoYXZlIHdyaXR0ZW4gdGhlIGZvbGxvd2luZyB0byAlczpcbiIKKyIlcyIKK21zZ3N0ciAiIgorIlNlIGhhYnLDrWEgZXNjcml0byBsbyBzaWd1aWVudGUgZW4gJXM6XG4iCisiJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE0MworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgb3BlbiBmaWxlIHdpdGggdGhlIGNsb2NrIGFkanVzdG1lbnQgcGFyYW1ldGVycyBpbiBpdCAoJXMpIGZvciB3cml0aW5nIgorbXNnc3RyICJObyBzZSBoYSBwb2RpZG8gYWJyaXIgcGFyYSBlc2NyaXR1cmEgZWwgZmljaGVybyBxdWUgY29udGllbmUgbG9zIHBhcsOhbWV0cm9zIGRlIGFqdXN0ZSBkZWwgcmVsb2ogKCVzKSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTQ5IHN5cy11dGlscy9od2Nsb2NrLmM6MTE1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgdXBkYXRlIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzICglcykgaW4gaXQiCittc2dzdHIgIk5vIHNlIGhhIHBvZGlkbyBhY3R1YWxpemFyIGVsIGZpY2hlcm8gcXVlIHRpZW5lIGxvcyBwYXLDoW1ldHJvcyBkZSBhanVzdGUgZGVsIHJlbG9qICglcykiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE2NAorbXNnaWQgIkRyaWZ0IGFkanVzdG1lbnQgcGFyYW1ldGVycyBub3QgdXBkYXRlZC4iCittc2dzdHIgIlBhcsOhbWV0cm9zIGRlIGFqdXN0ZSBkZWwgZGVzZmFzZSBubyBhY3R1YWxpemFkb3MuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMDAKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBhZGp1c3QgaXQuIgorbXNnc3RyICJFbCByZWxvaiBkZSBoYXJkd2FyZSBubyBjb250aWVuZSB1bmEgaG9yYSB2w6FsaWRhLCBwb3IgbG8gcXVlIG5vIHNlIHB1ZWRlIGFqdXN0YXIuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBsYXN0IGFkanVzdG1lbnQgdGltZSBpcyB6ZXJvLCBzbyBoaXN0b3J5IGlzIGJhZC5cbiIKK21zZ3N0ciAiTm8gc2UgcG9uZSBlbiBob3JhIGVsIHJlbG9qIHBvcnF1ZSBsYSBob3JhIGRlbCDDumx0aW1vIGFqdXN0byBlcyBjZXJvLCBwb3IgbG8gcXVlIGxhIGhpc3RvcmlhIG5vIGVzIGJ1ZW5hLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBkcmlmdCBmYWN0b3IgJWYgaXMgZmFyIHRvbyBoaWdoLlxuIgorbXNnc3RyICJObyBzZSBjYW1iaWEgbGEgaG9yYSBkZWwgcmVsb2ogcG9ycXVlIGVsIGZhY3RvciBkZSBkZXJpdmEgJWYgZXMgZGVtYXNpYWRvIGFsdG8uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJObyB1c2FibGUgY2xvY2sgaW50ZXJmYWNlIGZvdW5kLlxuIgorbXNnc3RyICJObyBzZSBoYSBlbmNvbnRyYWRvIG5pbmd1bmEgaW50ZXJmYXogZGUgcmVsb2ogdXRpbGl6YWJsZS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5lZWRlZCBhZGp1c3RtZW50IGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kLCBzbyBub3Qgc2V0dGluZyBjbG9jay5cbiIKK21zZ3N0ciAiRWwgYWp1c3RlIG5lY2VzYXJpbyBlcyBpbmZlcmlvciBhIHVuIHNlZ3VuZG8sIHBvciBsbyBxdWUgbm8gc2UgZXN0YWJsZWNlIGVsIHJlbG9qLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzODggc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBzZXQgc3lzdGVtIGNsb2NrLlxuIgorbXNnc3RyICJObyBzZSBwdWVkZSBlc3RhYmxlY2VyIGVsIHJlbG9qIGRlbCBzaXN0ZW1hLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OSwgUlRDIGlzIHByZWRpY3RlZCB0byByZWFkICVsZCBzZWNvbmRzIGFmdGVyIDE5NjkuXG4iCittc2dzdHIgIkEgbG9zICVsZCBzZWd1bmRvcyBkZXNwdcOpcyBkZSAxOTY5LCBsYSBwcmVkaWNjacOzbiBkZSBsZWN0dXJhIHBhcmEgUlRDIGVzIGRlICVsZCBzZWd1bmRvcyBkZXNwdcOpcyBkZSAxOTY5LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0MzEKK21zZ2lkICIiCisiVGhlIGtlcm5lbCBrZWVwcyBhbiBlcG9jaCB2YWx1ZSBmb3IgdGhlIEhhcmR3YXJlIENsb2NrIG9ubHkgb24gYW4gQWxwaGEgbWFjaGluZS5cbiIKKyJUaGlzIGNvcHkgb2YgaHdjbG9jayB3YXMgYnVpbHQgZm9yIGEgbWFjaGluZSBvdGhlciB0aGFuIEFscGhhXG4iCisiKGFuZCB0aHVzIGlzIHByZXN1bWFibHkgbm90IHJ1bm5pbmcgb24gYW4gQWxwaGEgbm93KS4gIE5vIGFjdGlvbiB0YWtlbi4iCittc2dzdHIgIiIKKyJFbCBuw7pjbGVvIHRpZW5lIHVuIHZhbG9yIGRlIMOpcG9jYSBwYXJhIGVsIHJlbG9qIGRlIGhhcmR3YXJlIHPDs2xvIGVuIGxhc1xuIgorIm3DoXF1aW5hcyBBbHBoYS4gRXN0YSBjb3BpYSBkZSBod2Nsb2NrIHNlIGNvbXBpbMOzIHBhcmEgdW5hIG3DoXF1aW5hIHF1ZSBubyBlc1xuIgorIkFscGhhIChwb3IgbG8gcXVlIHBvc2libGVtZW50ZSBubyBzZSBlc3TDoSBlamVjdXRhbmRvIGVuIHVuYSBtw6FxdWluYSBBbHBoYSkuXG4iCisiTm8gc2UgZWZlY3TDumEgbmluZ3VuYSBhY2Npw7NuLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDQ4Cittc2dpZCAiVW5hYmxlIHRvIGdldCB0aGUgZXBvY2ggdmFsdWUgZnJvbSB0aGUga2VybmVsLiIKK21zZ3N0ciAiTm8gc2UgcHVlZGUgb2J0ZW5lciBlbCB2YWxvciBkZSDDqXBvY2EgZGVsIG7DumNsZW8uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiS2VybmVsIGlzIGFzc3VtaW5nIGFuIGVwb2NoIHZhbHVlIG9mICVsdVxuIgorbXNnc3RyICJFbCBuw7pjbGVvIHByZXN1cG9uZSBlbCB2YWxvciBkZSDDqXBvY2EgJWx1XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ1NQorbXNnaWQgIlRvIHNldCB0aGUgZXBvY2ggdmFsdWUsIHlvdSBtdXN0IHVzZSB0aGUgJ2Vwb2NoJyBvcHRpb24gdG8gdGVsbCB0byB3aGF0IHZhbHVlIHRvIHNldCBpdC4iCittc2dzdHIgIlBhcmEgZXN0YWJsZWNlciBlbCB2YWxvciBkZSDDqXBvY2EsIGRlYmUgdXRpbGl6YXIgbGEgb3BjacOzbiAnZXBvY2gnIHBhcmEgaW5kaWNhciBlbiBxdcOpIHZhbG9yIGRlYmUgZGVmaW5pcnNlLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDU5CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIHRoZSBlcG9jaCB0byAlbHUgLSB0ZXN0aW5nIG9ubHkuXG4iCittc2dzdHIgIk5vIHNlIGVzdMOhIGVzdGFibGVjaWVuZG8gZWwgdmFsb3IgZGUgw6lwb2NhIGVuICVsdTsgc8OzbG8gc2UgZXN0w6EgcHJvYmFuZG8uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLlxuIgorbXNnc3RyICJObyBzZSBwdWVkZSBlc3RhYmxlY2VyIGVsIHZhbG9yIGRlIMOpcG9jYSBlbiBlbCBuw7pjbGVvLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NTYKK21zZ2lkICIgaHdjbG9jayBbZnVuY3Rpb25dIFtvcHRpb24uLi5dXG4iCittc2dzdHIgIiBod2Nsb2NrIFtmdW5jacOzbl0gW29wY2nDs24uLi5dXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU1OQorbXNnaWQgIlF1ZXJ5IG9yIHNldCB0aGUgaGFyZHdhcmUgY2xvY2suXG4iCittc2dzdHIgIkNvbnN1bHRhIG8gY29uZmlndXJhIGVsIHJlbG9qIGbDrXNpY28uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2MQorbXNnaWQgIiIKKyJcbiIKKyJGdW5jdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJGdW5jaW9uZXM6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2MgorbXNnaWQgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorIiAtciwgLS1zaG93ICAgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCByZXN1bHRcbiIKKyIgICAgIC0tZ2V0ICAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgZHJpZnQgY29ycmVjdGVkIHJlc3VsdFxuIgorIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorbXNnc3RyICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgIG11ZXN0cmEgZXN0ZSB0ZXh0byBkZSBheXVkYSB5IHRlcm1pbmFcbiIKKyIgLXIsIC0tc2hvdyAgICAgICAgICAgbGVlIGVsIHJlbG9qIGbDrXNpY28gZSBpbXByaW1lIGVsIHJlc3VsdGFkb1xuIgorIiAgICAgLS1nZXQgICAgICAgICAgICBsZWUgZWwgcmVsb2ogZsOtc2ljbyBlIGltcHJpbWUgZWwgcmVzdWx0YWRvIGNvcnJpZ2llbmRvIGVsIGRlc2Zhc2VcbiIKKyIgICAgIC0tc2V0ICAgICAgICAgICAgcG9uZSBlbCBSVEMgYSBsYSBob3JhIGVzcGVjaWZpY2FkYSBwb3IgLS1kYXRlXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2NgorbXNnaWQgIiIKKyIgLXMsIC0taGN0b3N5cyAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorIiAtdywgLS1zeXN0b2hjICAgICAgICBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIGZyb20gdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWVcbiIKKyIgICAgIC0tc3lzdHogICAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBiYXNlZCBvbiB0aGUgY3VycmVudCB0aW1lem9uZVxuIgorIiAgICAgLS1hZGp1c3QgICAgICAgICBhZGp1c3QgdGhlIFJUQyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IHNpbmNlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNsb2NrIHdhcyBsYXN0IHNldCBvciBhZGp1c3RlZFxuIgorbXNnc3RyICIiCisiIC1zLCAtLWhjdG9zeXMgICAgICAgIHBvbmUgbGEgaG9yYSBkZWwgc2lzdGVtYSBpZ3VhbCBxdWUgbGEgZGVsIHJlbG9qIGbDrXNpY29cbiIKKyIgLXcsIC0tc3lzdG9oYyAgICAgICAgcG9uZSBlbiBlbCByZWxvaiBmw61zaWNvIGxhIGhvcmEgZGVsIHNpc3RlbWFcbiIKKyIgICAgIC0tc3lzdHogICAgICAgICAgcG9uZSBsYSBob3JhIGRlbCBzaXN0ZW1hIGVuIGZ1bmNpw7NuIGRlIGxhIHpvbmEgaG9yYXJpYSBhY3R1YWxcbiIKKyIgICAgIC0tYWRqdXN0ICAgICAgICAgYWp1c3RhIGVsIFJUQyBwYXJhIHRlbmVyIGVuIGN1ZW50YSBsYSBkZXJpdmEgc2lzdGVtw6F0aWNhIGRlc2RlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgcXVlIHNlIHB1c28gbyBzZSBhanVzdMOzIGVsIHJlbG9qIGxhIMO6bHRpbWEgdmV6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU3MQorbXNnaWQgIiAtYywgLS1jb21wYXJlICAgICAgICBwZXJpb2RpY2FsbHkgY29tcGFyZSB0aGUgc3lzdGVtIGNsb2NrIHdpdGggdGhlIENNT1MgY2xvY2tcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbXBhcmUgICAgICAgIGNvbXBhcmEgcGVyacOzZGljYW1lbnRlIGVsIHJlbG9qIGRlbCBzaXN0ZW1hIGNvbiBlbCByZWxvaiBDTU9TXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU3MworbXNnaWQgIiIKKyIgICAgIC0tZ2V0ZXBvY2ggICAgICAgcHJpbnQgb3V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZVxuIgorIiAgICAgLS1zZXRlcG9jaCAgICAgICBzZXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlIHRvIHRoZSBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBnaXZlbiB3aXRoIC0tZXBvY2hcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1nZXRlcG9jaCAgICAgICBpbXByaW1lIGVsIHZhbG9yIGRlIGxhIMOpcG9jYSBkZWwgcmVsb2ogaGFyZHdhcmUgZGVsIG7DumNsZW9cbiIKKyIgICAgIC0tc2V0ZXBvY2ggICAgICAgZXN0YWJsZWNlIGNvbW8gdmFsb3IgZGUgbGEgw6lwb2NhIGRlbCByZWxvaiBoYXJkd2FyZSBkZWwgbsO6Y2xlb1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGVsIHZhbG9yIGVzcGVjaWZpY2FkbyBjb24gLS1lcG9jaFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NzcKK21zZ2lkICIiCisiICAgICAtLXByZWRpY3QgICAgICAgIHByZWRpY3QgUlRDIHJlYWRpbmcgYXQgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWNlIGVsIFJUQyBsZXllbmRvIGxhIGhvcmEgZGFkYSBjb24gLS1kYXRlXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgIG11ZXN0cmEgbGEgaW5mb3JtYWNpw7NuIHNvYnJlIGxhIHZlcnNpw7NuIHkgdGVybWluYVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODEKK21zZ2lkICIiCisiIC11LCAtLXV0YyAgICAgICAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIFVUQ1xuIgorIiAgICAgLS1sb2NhbHRpbWUgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBsb2NhbCB0aW1lXG4iCittc2dzdHIgIiIKKyIgLXUsIC0tdXRjICAgICAgICAgICAgbWFudGllbmUgZWwgcmVsb2ogZsOtc2ljbyBlbiBVVENcbiIKKyIgICAgIC0tbG9jYWx0aW1lICAgICAgbWFudGllbmUgZWwgcmVsb2ogZsOtc2ljbyBlbiBob3JhIGxvY2FsXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4NAorbXNnaWQgIiAtZiwgLS1ydGMgPGZpbGU+ICAgICBzcGVjaWFsIC9kZXYvLi4uIGZpbGUgdG8gdXNlIGluc3RlYWQgb2YgZGVmYXVsdFxuIgorbXNnc3RyICIgLWYsIC0tcnRjIDxmaWNoZXJvPiAgdXRpbGl6YSB1biBmaWNoZXJvIC9kZXYvLi4uIGVzcGVjaWFsIGVuIGx1Z2FyIGRlbCBwcmVkZXRlcm1pbmFkb1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1kaXJlY3Rpc2EgICAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorIiAgICAgLS1iYWR5ZWFyICAgICAgICBpZ25vcmUgUlRDJ3MgeWVhciBiZWNhdXNlIHRoZSBCSU9TIGlzIGJyb2tlblxuIgorIiAgICAgLS1kYXRlIDx0aW1lPiAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorIiAgICAgLS1lcG9jaCA8eWVhcj4gICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBoYXJkd2FyZSBjbG9jaydzIGVwb2NoIHZhbHVlXG4iCittc2dzdHIgIiIKKyIgICAgIC0tZGlyZWN0aXNhICAgICAgYWNjZWRlIGFsIGJ1cyBJU0EgZGlyZWN0YW1lbnRlIGVuIGx1Z2FyIGRlICVzXG4iCisiICAgICAtLWJhZHllYXIgICAgICAgIGRlc2VzdGltYSBlbCBhw7FvIFJUQyBwb3JxdWUgbGEgQklPUyBlc3TDoSByb3RhXG4iCisiICAgICAtLWRhdGUgPGhvcmE+ICAgIGVzcGVjaWZpY2EgbGEgaG9yYSBxdWUgc2UgcG9uZHLDoSBlbiBlbCByZWxvaiBmw61zaWNvXG4iCisiICAgICAtLWVwb2NoIDxhw7FvPiAgICBlc3BlY2lmaWNhIGVsIGHDsW8gcXVlIGNvaW5jaWRlIGNvbiBlbCBjb21pZW56byBkZSBsYVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIMOpcG9jYSBkZWwgcmVsb2ogZsOtc2ljb1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS11cGRhdGUtZHJpZnQgICB1cGRhdGUgZHJpZnQgZmFjdG9yIGluICUxJHMgKHJlcXVpcmVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgLS1zZXQgb3IgLS1zeXN0b2hjKVxuIgorIiAgICAgLS1ub2FkamZpbGUgICAgICBkbyBub3QgYWNjZXNzICUxJHM7IHRoaXMgcmVxdWlyZXMgdGhlIHVzZSBvZlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZVxuIgorIiAgICAgLS1hZGpmaWxlIDxmaWxlPiBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICUxJHNcbiIKK21zZ3N0ciAiIgorIiAgICAgLS11cGRhdGUtZHJpZnQgICBhY3R1YWxpemEgZWwgZmF2dG9yIGRlIGRlc2Zhc2UgZW4gICUxJHMgKHJlcXVpZXJlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgLS1zZXQgbyAtLXN5c3RvaGMpXG4iCisiICAgICAtLW5vYWRqZmlsZSAgICAgIG5vIGFjY2VkZSBhICUxJHMsIGxvIGN1YWwgcmVxdWllcmUgdXRpbGl6YXJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAtLXV0YyBvIC0tbG9jYWx0aW1lXG4iCisiICAgICAtLWFkamZpbGUgPGZpY2hlcm8+IGVzcGVjaWZpY2EgbGEgcnV0YSBkZWwgZmljaGVybyBkZSBhanVzdGVzO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHBvciBvbWlzacOzbiwgZXMgJTEkc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1OTkKK21zZ2lkICIiCisiICAgICAtLXRlc3QgICAgICAgICAgIGRvIG5vdCB1cGRhdGUgYW55dGhpbmcsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGhhcHBlblxuIgorIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBkZWJ1Z2dpbmcgbW9kZVxuIgorIlxuIgorbXNnc3RyICIiCisiICAgICAtLXRlc3QgICAgICAgICAgIG5vIGFjdHVhbGl6YSBuYWRhOyBzb2xvIG11ZXN0cmEgbG8gcXVlIHZhIGEgc3VjZWRlclxuIgorIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBtb2RvIGRlIGRlcHVyYWNpw7NuXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTYwMgorbXNnaWQgIiIKKyIgLUp8LS1qZW5zZW4sIC1BfC0tYXJjLCAtU3wtLXNybSwgLUZ8LS1mdW5reS10b3lcbiIKKyIgICAgICB0ZWxsIGh3Y2xvY2sgdGhlIHR5cGUgb2YgQWxwaGEgeW91IGhhdmUgKHNlZSBod2Nsb2NrKDgpKVxuIgorIlxuIgorbXNnc3RyICIiCisiIC1KfC0tamVuc2VuLCAtQXwtLWFyYywgLVN8LS1zcm0sIC1GfC0tZnVua3ktdG95XG4iCisiICAgICAgSW5kaWNhIGFsIHJlbG9qIGRlIGhhcmR3YXJlIGVsIHRpcG8gZGUgQWxwaGEgKHZlciBod2Nsb2NrKDgpKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE3MjgKK21zZ2lkICJVbmFibGUgdG8gY29ubmVjdCB0byBhdWRpdCBzeXN0ZW0iCittc2dzdHIgIk5vIHNlIHB1ZWRlIGNvbmVjdGFyIGNvbiBlbCBzaXN0ZW1hIGRlIGF1ZGl0b3LDrWEiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTgyNgorbXNnaWQgImludmFsaWQgZXBvY2ggYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBkZSDDqXBvY2EgaW5jb3JyZWN0byIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHRha2VzIG5vIG5vbi1vcHRpb24gYXJndW1lbnRzLiAgWW91IHN1cHBsaWVkICVkLlxuIgorbXNnc3RyICIlcyBubyBhZG1pdGUgYXJndW1lbnRvcyBxdWUgbm8gc2VhbiBvcGNpb25lcy4gSGEgZXNwZWNpZmljYWRvICVkLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4ODAKK21zZ2lkICJXaXRoIC0tbm9hZGpmaWxlLCB5b3UgbXVzdCBzcGVjaWZ5IGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZSIKK21zZ3N0ciAiQ29uIC0tbm9hZGpmaWxlLCBkZWJlIGVzcGVjaWZpY2Fyc2UgbyBiaWVuIC0tdXRjIG8gYmllbiAtLWxvY2FsdGltZSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODkzCittc2dpZCAiTm8gdXNhYmxlIHNldC10byB0aW1lLiAgQ2Fubm90IHNldCBjbG9jay4iCittc2dzdHIgIkhvcmEgbm8gdXRpbGl6YWJsZS4gTm8gc2UgcHVlZGUgZXN0YWJsZWNlciBlbCByZWxvai4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTkxNworbXNnaWQgIkNhbm5vdCBhY2Nlc3MgdGhlIEhhcmR3YXJlIENsb2NrIHZpYSBhbnkga25vd24gbWV0aG9kLiIKK21zZ3N0ciAiTm8gc2UgcHVlZGUgYWNjZWRlciBhbCByZWxvaiBkZSBoYXJkd2FyZSBwb3IgbmluZ8O6biBtw6l0b2RvIGNvbm9jaWRvLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxOTIwCittc2dpZCAiVXNlIHRoZSAtLWRlYnVnIG9wdGlvbiB0byBzZWUgdGhlIGRldGFpbHMgb2Ygb3VyIHNlYXJjaCBmb3IgYW4gYWNjZXNzIG1ldGhvZC4iCittc2dzdHIgIlV0aWxpY2UgbGEgb3BjacOzbiAtLWRlYnVnIHBhcmEgdmVyIGxvcyBkZXRhbGxlcyBkZSBsYSBiw7pzcXVlZGEgcGFyYSB1biBtw6l0b2RvIGRlIGFjY2Vzby4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYm9vdGVkIGZyb20gTUlMT1xuIgorbXNnc3RyICJpbmljaWFkbyBkZXNkZSBNSUxPXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUnVmZmlhbiBCQ0QgY2xvY2tcbiIKK21zZ3N0ciAiUmVsb2ogQkNEIFJ1ZmZpYW5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9ja3BvcnQgYWRqdXN0ZWQgdG8gMHgleFxuIgorbXNnc3RyICJwdWVydG8gZGUgcmVsb2ogYWp1c3RhZG8gYSAweCV4XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnVua3kgVE9ZIVxuIgorbXNnc3RyICJmdW5reSBUT1khXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXRvbWljICVzIGZhaWxlZCBmb3IgMTAwMCBpdGVyYXRpb25zISIKK21zZ3N0ciAiJXMgYXTDs21pY28gaGEgZmFsbGFkbyBwYXJhIDEwMDAgaXRlcmFjaW9uZXMuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3NfcmVhZCgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICJjbW9zX3JlYWQoKTogaGEgZmFsbGFkbyBsYSBlc2NyaXR1cmEgZW4gbGEgZGlyZWNjacOzbiBkZSBjb250cm9sICVYIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzI4CisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3NfcmVhZCgpOiByZWFkIGZyb20gZGF0YSBhZGRyZXNzICVYIGZhaWxlZCIKK21zZ3N0ciAiY21vc19yZWFkKCk6IGhhIGZhbGxhZG8gbGEgbGVjdHVyYSBlbiBsYSBkaXJlY2Npw7NuIGRlIGRhdG9zICVYIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzY1CisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3Nfd3JpdGUoKTogd3JpdGUgdG8gY29udHJvbCBhZGRyZXNzICVYIGZhaWxlZCIKK21zZ3N0ciAiY21vc193cml0ZSgpOiBoYSBmYWxsYWRvIGxhIGVzY3JpdHVyYSBlbiBsYSBkaXJlY2Npw7NuIGRlIGNvbnRyb2wgJVgiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICJjbW9zX3dyaXRlKCk6IGhhIGZhbGxhZG8gbGEgZXNjcml0dXJhIGVuIGxhIGRpcmVjY2nDs24gZGUgZGF0b3MgJVgiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NDUKK21zZ2lkICJJIGZhaWxlZCB0byBnZXQgcGVybWlzc2lvbiBiZWNhdXNlIEkgZGlkbid0IHRyeS4iCittc2dzdHIgIk5vIHNlIGhhIHBvZGlkbyBvYnRlbmVyIHBlcm1pc28gcG9ycXVlIG5vIHNlIGhhIGludGVudGFkby4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NDgKK21zZ2lkICJ1bmFibGUgdG8gZ2V0IEkvTyBwb3J0IGFjY2VzczogIHRoZSBpb3BsKDMpIGNhbGwgZmFpbGVkLiIKK21zZ3N0ciAibm8gc2UgcHVlZGUgb2J0ZW5lciBhY2Nlc28gYWwgcHVlcnRvIGRlIEUvUzogbGEgbGxhbWFkYSBpb3BsKDMpIGhhIGZhbGxhZG8uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjUxCittc2dpZCAiUHJvYmFibHkgeW91IG5lZWQgcm9vdCBwcml2aWxlZ2VzLlxuIgorbXNnc3RyICJQcm9iYWJsZW1lbnRlIHNvbiBuZWNlc2FyaW9zIGxvcyBwcml2aWxlZ2lvcyBkZSB1c3VhcmlvIHJvb3QuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NTgKK21zZ2lkICJVc2luZyBkaXJlY3QgSS9PIGluc3RydWN0aW9ucyB0byBJU0EgY2xvY2suIgorbXNnc3RyICJTZSB1dGlsaXphbiBpbnN0cnVjY2lvbmVzIGRlIEUvUyBkaXJlY3RhIGFsIHJlbG9qIElTQS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE5NQorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gcmVhZCB0aGUgdGltZSBmYWlsZWQiCittc2dzdHIgIkVycm9yIGRlIGlvY3RsKCVzKSBjb24gJXMgYWwgbGVlciBsYSBob3JhIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gJXMgdG8gY2hhbmdlXG4iCittc2dzdHIgIkVzcGVyYW5kbyBlbiBidWNsZSBxdWUgY2FtYmllIGxhIGhvcmEgZGUgJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjM2Cittc2dpZCAiVGltZWQgb3V0IHdhaXRpbmcgZm9yIHRpbWUgY2hhbmdlLiIKK21zZ3N0ciAiU2UgaGEgZXhjZWRpZG8gZWwgdGllbXBvIGRlIGVzcGVyYSBkZWwgY2FtYmlvIGRlIGhvcmEuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgaGF2ZSBpbnRlcnJ1cHQgZnVuY3Rpb25zLiAiCittc2dzdHIgIiVzIG5vIHRpZW5lIGZ1bmNpb25lcyBkZSBpbnRlcnJ1cGNpw7NuLiAiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMwMgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKK21zZ3N0ciAiTGEgZWplY3VjacOzbiBkZSBzZWxlY3QoKSBhICVzIHBhcmEgZXNwZXJhciB1bmEgc2XDsWFsIGRlIHJlbG9qIGZhbGzDsyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgdGltZWQgb3V0IgorbXNnc3RyICJMYSBlamVjdWNpw7NuIGRlIHNlbGVjdCgpIGEgJXMgcGFyYSBlc3BlcmFyIHVuYSBzZcOxYWwgZGUgcmVsb2ogZXhwaXLDsyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvZmYgdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIgorbXNnc3RyICJFcnJvciBkZSBpb2N0bCgpIGNvbiAlcyBhbCBkZXNhY3RpdmFyIGludGVycnVwY2lvbmVzIGRlIGFjdHVhbGl6YWNpw7NuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9uIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCB1bmV4cGVjdGVkbHkiCittc2dzdHIgIkVycm9yIGluZXNwZXJhZG8gZGUgaW9jdGwoKSBjb24gJXMgYWwgYWN0aXZhciBpbnRlcnJ1cGNpb25lcyBkZSBhY3R1YWxpemFjacOzbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byBzZXQgdGhlIHRpbWUgZmFpbGVkLiIKK21zZ3N0ciAiRXJyb3IgZGUgaW9jdGwoJXMpIGNvbiAlcyBhbCBlc3RhYmxlY2VyIGxhIGhvcmEuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHdhcyBzdWNjZXNzZnVsLlxuIgorbXNnc3RyICJpb2N0bCglcykgaGEgZmluYWxpemFkbyBjb3JyZWN0YW1lbnRlLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozODcKK21zZ2lkICJVc2luZyB0aGUgL2RldiBpbnRlcmZhY2UgdG8gdGhlIGNsb2NrLiIKK21zZ3N0ciAiU2UgdXRpbGl6YSBsYSBpbnRlcmZheiAvZGV2IGFsIHJlbG9qLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDE3IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ2NAorIywgYy1mb3JtYXQKK21zZ2lkICJUbyBtYW5pcHVsYXRlIHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLCB3ZSBtdXN0IGFjY2VzcyB0aGUgTGludXggJ3J0YycgZGV2aWNlIGRyaXZlciB2aWEgdGhlIGRldmljZSBzcGVjaWFsIGZpbGUgJXMuICBUaGlzIGZpbGUgZG9lcyBub3QgZXhpc3Qgb24gdGhpcyBzeXN0ZW0uIgorbXNnc3RyICIiCisiUGFyYSBtb2RpZmljYXIgZWwgdmFsb3IgZGUgw6lwb2NhIGRlbCBuw7pjbGVvLCBzZSBkZWJlIGFjY2VkZXIgYWwgY29udHJvbGFkb3IgZGVcbiIKKyJkaXNwb3NpdGl2byAncnRjJyBkZSBMaW51eCBtZWRpYW50ZSBlbCBmaWNoZXJvIGVzcGVjaWFsIGRlIGRpc3Bvc2l0aXZvICVzLlxuIgorIkVzdGUgZmljaGVybyBubyBleGlzdGUgZW4gZXN0ZSBzaXN0ZW1hLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDI5CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSB0byAlcyBmYWlsZWQiCittc2dzdHIgIkVycm9yIGRlIGlvY3RsKFJUQ19FUE9DSF9SRUFEKSBjb24gJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQzNQorIywgYy1mb3JtYXQKK21zZ2lkICJ3ZSBoYXZlIHJlYWQgZXBvY2ggJWx1IGZyb20gJXMgd2l0aCBSVENfRVBPQ0hfUkVBRCBpb2N0bC5cbiIKK21zZ3N0ciAiU2UgaGEgbGXDrWRvIGVsIHZhbG9yIGRlIMOpcG9jYSAlbHUgZGUgJXMgY29uIGlvY3RsIFJUQ19FUE9DSF9SRUFELlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGVwb2NoIHZhbHVlIG1heSBub3QgYmUgbGVzcyB0aGFuIDE5MDAuICBZb3UgcmVxdWVzdGVkICVsZCIKK21zZ3N0ciAiRWwgdmFsb3IgZGUgw6lwb2NhIG5vIHB1ZWRlIHNlciBpbmZlcmlvciBhIDE5MDAuIEhhIHNvbGljaXRhZG8gJWxkIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBlcG9jaCB0byAlbHUgd2l0aCBSVENfRVBPQ0hfU0VUIGlvY3RsIHRvICVzLlxuIgorbXNnc3RyICJFc3RhYmxlY2llbmRvIMOpcG9jYSBlbiAlbHUgY29uIGlvY3RsIFJUQ19FUE9DSF9TRVQgZW4gJXMuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUga2VybmVsIGRldmljZSBkcml2ZXIgZm9yICVzIGRvZXMgbm90IGhhdmUgdGhlIFJUQ19FUE9DSF9TRVQgaW9jdGwuIgorbXNnc3RyICJFbCBjb250cm9sYWRvciBkZSBkaXNwb3NpdGl2byBkZWwgbsO6Y2xlbyBwYXJhICVzIG5vIHRpZW5lIGxhIGlvY3RsIFJUQ19FUE9DSF9TRVQuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoUlRDX0VQT0NIX1NFVCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJFcnJvciBkZSBpb2N0bChSVENfRVBPQ0hfU0VUKSBkZSAlcyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NjkKK21zZ2lkICJDcmVhdGUgdmFyaW91cyBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICJDcmVhIHZhcmlvcyByZWN1cnNvcyBJUEMuXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjcyCittc2dpZCAiIC1NLCAtLXNobWVtIDxzaXplPiAgICAgICBjcmVhdGUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IG9mIHNpemUgPHNpemU+XG4iCittc2dzdHIgIiAtTSwgLS1zaG1lbSA8dGFtYcOxbz4gICAgIGNyZWEgdW4gc2VnbWVudG8gZGUgbWVtb3JpYSBjb21wYXJ0aWRhIGRlIHRhbWHDsW8gPHRhbWHDsW8+XG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjczCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZSA8bnVtYmVyPiBjcmVhdGUgc2VtYXBob3JlIGFycmF5IHdpdGggPG51bWJlcj4gZWxlbWVudHNcbiIKK21zZ3N0ciAiIC1TLCAtLXNlbWFwaG9yZSA8bsO6bWVybz4gY3JlYSB1bmEgbGlzdGEgZGUgc2Vtw6Fmb3JvcyBkZSA8bsO6bWVybz4gZWxlbWVudG9zXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc0Cittc2dpZCAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICBjcmVhdGUgbWVzc2FnZSBxdWV1ZVxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIGNyZWEgdW5hIGNvbGEgZGUgbWVuc2FqZXNcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzUKK21zZ2lkICIgLXAsIC0tbW9kZSA8bW9kZT4gICAgICAgIHBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZSAoZGVmYXVsdCBpcyAwNjQ0KVxuIgorbXNnc3RyICIgLXAsIC0tbW9kZSA8bW9kbz4gICAgICAgIHBlcm1pc29zIHBhcmEgZWwgcmVjdXJzbyAobG9zIHByZWRldGVybWluYWRvcyBzb24gMDY0NClcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTEwIHN5cy11dGlscy9sb3NldHVwLmM6Njk3IHN5cy11dGlscy96cmFtY3RsLmM6NjIyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNpemUiCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIGVsIHRhbWHDsW8iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbGVtZW50cyIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgbG9zIGVsZW1lbnRvcyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQxCittc2dpZCAiY3JlYXRlIHNoYXJlIG1lbW9yeSBmYWlsZWQiCittc2dzdHIgImZhbGxvIGFsIGNyZWFyIGxhIG1lbW9yaWEgY29tcGFydGlkYSIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoYXJlZCBtZW1vcnkgaWQ6ICVkXG4iCittc2dzdHIgIklkIGRlIGxhIG1lbW9yaWEgY29tcGFydGlkYTogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQ5Cittc2dpZCAiY3JlYXRlIG1lc3NhZ2UgcXVldWUgZmFpbGVkIgorbXNnc3RyICJmYWxsbyBhbCBjcmVhciBsYSBjb2xhIGRlIG1lbnNhamVzIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBxdWV1ZSBpZDogJWRcbiIKK21zZ3N0ciAiSWQgZGUgbGEgY29sYSBkZSBtZW5zYWplczogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU3Cittc2dpZCAiY3JlYXRlIHNlbWFwaG9yZSBmYWlsZWQiCittc2dzdHIgImZhbGxvIGFsIGNyZWFyIHNlbcOhZm9ybyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbWFwaG9yZSBpZDogJWRcbiIKK21zZ3N0ciAiSWQgZGVsIHNlbcOhZm9ybzogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIHNobXxtc2d8c2VtIDxpZD4uLi5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcGNpb25lc11cbiIKKyIgJTEkcyBzaG18bXNnfHNlbSA8aWQ+Li4uXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU0Cittc2dpZCAiUmVtb3ZlIGNlcnRhaW4gSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiRWxpbWluYSBjaWVydG9zIHJlY3Vyc29zIElQQy5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTcKK21zZ2lkICIgLW0sIC0tc2htZW0taWQgPGlkPiAgICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBpZFxuIgorbXNnc3RyICIgLW0sIC0tc2htZW0taWQgPGlkPiAgICAgICAgZWxpbWluYSB1biBzZWdtZW50byBkZSBtZW1vcmlhIGNvbXBhcnRpZGEgZXNwZWNpZmljYWRvIHBvciBpZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OAorbXNnaWQgIiAtTSwgLS1zaG1lbS1rZXkgPGtleT4gICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGtleVxuIgorbXNnc3RyICIgLU0sIC0tc2htZW0ta2V5IDxjbGF2ZT4gICAgZWxpbWluYSB1biBzZWdtZW50byBkZSBtZW1vcmlhIGNvbXBhcnRpZGEgZXNwZWNpZmljYWRvIHBvciBjbGF2ZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OQorbXNnaWQgIiAtcSwgLS1xdWV1ZS1pZCA8aWQ+ICAgICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBpZFxuIgorbXNnc3RyICIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAgZWxpbWluYSB1bmEgY29sYSBkZSBtZW5zYWplcyBlc3BlY2lmaWNhZGEgcG9yIGlkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYwCittc2dpZCAiIC1RLCAtLXF1ZXVlLWtleSA8a2V5PiAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGtleVxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUta2V5IDxrZXk+ICAgICAgZWxpbWluYSB1bmEgY29sYSBkZSBtZW5zYWplcyBlc3BlY2lmaWNhZGEgcG9yIGNsYXZlXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYxCittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8aWQ+ICAgIHJlbW92ZSBzZW1hcGhvcmUgYnkgaWRcbiIKK21zZ3N0ciAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8aWQ+ICAgIGVsaW1pbmEgdW4gc2Vtw6Fmb3JvIGVzcGVjaWZpY2FkbyBwb3IgaWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjIKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlLWtleSA8a2V5PiAgcmVtb3ZlIHNlbWFwaG9yZSBieSBrZXlcbiIKK21zZ3N0ciAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGtleT4gIGVsaW1pbmEgdW4gc2Vtw6Fmb3JvIGVzcGVjaWZpY2FkbyBwb3IgY2xhdmVcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjMKK21zZ2lkICIgLWEsIC0tYWxsWz1zaG18bXNnfHNlbV0gICAgcmVtb3ZlIGFsbCAoaW4gdGhlIHNwZWNpZmllZCBjYXRlZ29yeSlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbFs9c2htfG1zZ3xzZW1dICAgIGVsaW1pbmEgdG9kbyAocGFyYSBsYSBjYXRlZ29yw61hIGVzcGVjaWZpY2FkYSlcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIGV4cGxpY2EgbG8gcXVlIHNlIGVzdMOhIGhhY2llbmRvXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBpZCBgJWQnXG4iCittc2dzdHIgInNlIGVsaW1pbmEgZWwgc2VnbWVudG8gZGUgbWVtb3JpYSBjb21wYXJ0aWRhIGlkIGAlZCdcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3ZpbmcgbWVzc2FnZSBxdWV1ZSBpZCBgJWQnXG4iCittc2dzdHIgInNlIGVsaW1pbmEgbGEgY29sYSBkZSBtZW5zYWplcyBpZCBgJWQnXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNlbWFwaG9yZSBpZCBgJWQnXG4iCittc2dzdHIgInNlIGVsaW1pbmEgZWwgc2Vtw6Fmb3JvIGlkIGAlZCdcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4IHN5cy11dGlscy9pcGNybS5jOjIyMgorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBrZXkiCittc2dzdHIgInBlcm1pc28gZGVuZWdhZG8gcGFyYSBsYSBjbGF2ZSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGlkIgorbXNnc3RyICJwZXJtaXNvIGRlbmVnYWRvIHBhcmEgZWwgaWRlbnRpZmljYWRvciIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExIHN5cy11dGlscy9pcGNybS5jOjIyOAorbXNnaWQgImludmFsaWQga2V5IgorbXNnc3RyICJjbGF2ZSBubyB2w6FsaWRhIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEKK21zZ2lkICJpbnZhbGlkIGlkIgorbXNnc3RyICJpZGVudGlmaWNhZG9yIG5vIHbDoWxpZG8iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNCBzeXMtdXRpbHMvaXBjcm0uYzoyMjUKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQga2V5IgorbXNnc3RyICJjbGF2ZSB5YSBlbGltaW5hZGEiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNAorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBpZCIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciB5YSBlbGltaW5hZG8iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNyBzeXMtdXRpbHMvaXBjcm0uYzoyMzEKK21zZ2lkICJrZXkgZmFpbGVkIgorbXNnc3RyICJmYWxsbyBkZSBjbGF2ZSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE3Cittc2dpZCAiaWQgZmFpbGVkIgorbXNnc3RyICJmYWxsbyBkZSBpZCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWQ6ICVzIgorbXNnc3RyICJpZGVudGlmaWNhZG9yIG5vIHbDoWxpZG86ICVzIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzb3VyY2UocykgZGVsZXRlZFxuIgorbXNnc3RyICJyZWN1cnNvKHMpIGVsaW1pbmFkb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBrZXkgKCVzKSIKK21zZ3N0ciAiY2xhdmUgaWxlZ2FsICglcykiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI1NgorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAiZWwgbsO6Y2xlbyBubyBlc3TDoSBjb25maWd1cmFkbyBwYXJhIG1lbW9yaWEgY29tcGFydGlkYSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjY5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzIgorbXNnc3RyICJlbCBuw7pjbGVvIG5vIGVzdMOhIGNvbmZpZ3VyYWRvIHBhcmEgc2Vtw6Fmb3JvcyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjkwCittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiZWwgbsO6Y2xlbyBubyBlc3TDoSBjb25maWd1cmFkbyBwYXJhIGNvbGFzIGRlIG1lbnNhamVzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbcmVzb3VyY2Utb3B0aW9uLi4uXSBbb3V0cHV0LW9wdGlvbl1cbiIKKyIgJTEkcyAtbXwtcXwtcyAtaSA8aWQ+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbb3BjacOzbiBkZSByZWN1cnNvLi4uXSBbb3BjacOzbiBkZSBzYWxpZGFdXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU2IHN5cy11dGlscy9sc2lwYy5jOjI4MAorbXNnaWQgIlNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMuXG4iCittc2dzdHIgIk11ZXN0cmEgaW5mb3JtYWNpw7NuIHNvYnJlIGxvcyBzZXJ2aWNpb3MgSVBDLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiAtaSwgLS1pZCA8aWQ+ICBpbXByaW1lIGluZm9ybWFjacOzbiBkZXRhbGxhZGEgc29icmUgbG9zIHJlY3Vyc29zIGlkZW50aWZpY2Fkb3MgcG9yIDxpZD5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NCBzeXMtdXRpbHMvbHNpcGMuYzoyODMKK21zZ2lkICJSZXNvdXJjZSBvcHRpb25zOlxuIgorbXNnc3RyICJPcGNpb25lcyBkZSByZWN1cnNvczpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NSBzeXMtdXRpbHMvbHNpcGMuYzoyODQKK21zZ2lkICIgLW0sIC0tc2htZW1zICAgICAgc2hhcmVkIG1lbW9yeSBzZWdtZW50c1xuIgorbXNnc3RyICIgLW0sIC0tc2htZW1zICAgICAgc2VnbWVudG9zIGRlIG1lbW9yaWEgY29tcGFydGlkYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY2IHN5cy11dGlscy9sc2lwYy5jOjI4NQorbXNnaWQgIiAtcSwgLS1xdWV1ZXMgICAgICBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICIgLXEsIC0tcXVldWVzICAgICAgY29sYXMgZGUgbWVuc2FqZXNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NyBzeXMtdXRpbHMvbHNpcGMuYzoyODYKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlcyAgc2VtYXBob3Jlc1xuIgorbXNnc3RyICIgLXMsIC0tc2VtYXBob3JlcyAgc2Vtw6Fmb3Jvc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgIGFsbCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgIHRvZG8gKG9wY2nDs24gcHJlZGV0ZXJtaW5hZGEpXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzEKK21zZ2lkICJPdXRwdXQgb3B0aW9uczpcbiIKK21zZ3N0ciAiT3BjaW9uZXMgZGUgc2FsaWRhOlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcyCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAgbXVlc3RyYSBsYXMgaG9yYXMgZGUgYXNvY2lhY2nDs24sIGRpc29jaWFjacOzbiB5IGNhbWJpb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjczCittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgIHNob3cgUElEcyBvZiBjcmVhdG9yIGFuZCBsYXN0IG9wZXJhdG9yXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICBtdWVzdHJhIGxvcyBQSURzIGRlbCBjcmVhZG9yIHkgZGVsIMO6bHRpbW8gb3BlcmFkb3JcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NAorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiAtYywgLS1jcmVhdG9yICAgICBtdWVzdHJhIGVsIGNyZWFkb3IgeSBlbCBwcm9waWV0YXJpb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc1Cittc2dpZCAiIC1sLCAtLWxpbWl0cyAgICAgIHNob3cgcmVzb3VyY2UgbGltaXRzXG4iCittc2dzdHIgIiAtbCwgLS1saW1pdHMgICAgICBtdWVzdHJhIGxvcyBsw61taXRlcyBkZSByZWN1cnNvc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc2Cittc2dpZCAiIC11LCAtLXN1bW1hcnkgICAgIHNob3cgc3RhdHVzIHN1bW1hcnlcbiIKK21zZ3N0ciAiIC11LCAtLXN1bW1hcnkgICAgIG11ZXN0cmEgdW4gcmVzdW1lbiBkZWwgZXN0YWRvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzcKK21zZ2lkICIgICAgIC0taHVtYW4gICAgICAgc2hvdyBzaXplcyBpbiBodW1hbi1yZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLWh1bWFuICAgICAgIG11ZXN0cmEgbG9zIHRhbWHDsW9zIGVuIHVuIGZvcm1hdG8gY29tcHJlbnNpYmxlIHBhcmEgaHVtYW5vc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc4Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgIHNob3cgc2l6ZXMgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgIG11ZXN0cmEgbG9zIHRhbWHDsW9zIGVuIGJ5dGVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MTY0Cittc2dpZCAid2hlbiB1c2luZyBhbiBJRCwgYSBzaW5nbGUgcmVzb3VyY2UgbXVzdCBiZSBzcGVjaWZpZWQiCittc2dzdHIgImN1YW5kbyBzZSB1dGlsaXphIHVuIElELCBkZWJlIGVzcGVjaWZpY2Fyc2UgdW4gw7puaWNvIHJlY3Vyc28iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzaGFyZWQgbWVtb3J5IGxpbWl0c1xuIgorbXNnc3RyICJubyBzZSBoYW4gcG9kaWRvIG9idGVuZXIgbG9zIGzDrW1pdGVzIGRlIGxhIG1lbW9yaWEgY29tcGFydGlkYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLSBMw61taXRlcyBtZW1vcmlhIGNvbXBhcnRpZGEgLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIHNlZ21lbnRzID0gJWp1XG4iCittc2dzdHIgIm7Dum1lcm8gbcOheC4gc2VnbWVudG9zID0gJWp1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA5Cittc2dpZCAibWF4IHNlZyBzaXplIgorbXNnc3RyICJ0YW1hw7FvIG3DoXguIHNlZy4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjExCittc2dpZCAibWF4IHRvdGFsIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgIm3DoXguIG1lbW9yaWEgY29tcGFydGlkYSB0b3RhbCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTQKK21zZ2lkICJtaW4gc2VnIHNpemUiCittc2dzdHIgInRhbWHDsW8gbcOtbi4gc2VnLiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5XG4iCittc2dzdHIgImVsIG7DumNsZW8gbm8gZXN0w6EgY29uZmlndXJhZG8gcGFyYSBtZW1vcmlhIGNvbXBhcnRpZGFcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tIEVzdGFkbyBtZW1vcmlhIGNvbXBhcnRpZGEgLS0tLVxuIgorCisjLiBUUkFOU0xBVE9SUzogVGhpcyBvdXRwdXQgZm9ybWF0IGlzIG1haW50YWluZWQgZm9yIGJhY2t3YXJkCisjLiBjb21wYXRpYmlsaXR5IGFzIGlwY3MgaXMgdXNlZCBpbiBzY3JpcHRzLiBGb3IgY29uc2lzdGVuY3kKKyMuIHdpdGggdGhlIHJlc3QsIHRoZSB0cmFuc2xhdGVkIGZvcm0gY2FuIGZvbGxvdyB0aGlzIG1vZGVsOgorIy4gKgorIy4gInNlZ21lbnRzIGFsbG9jYXRlZCA9ICVkXG4iCisjLiAicGFnZXMgYWxsb2NhdGVkID0gJWxkXG4iCisjLiAicGFnZXMgcmVzaWRlbnQgPSAlbGRcbiIKKyMuICJwYWdlcyBzd2FwcGVkID0gJWxkXG4iCisjLiAic3dhcCBwZXJmb3JtYW5jZSA9ICVsZCBhdHRlbXB0cywgJWxkIHN1Y2Nlc3Nlc1xuIgorIy4KKyM6IHN5cy11dGlscy9pcGNzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyJwYWdlcyBhbGxvY2F0ZWQgJWxkXG4iCisicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorInBhZ2VzIHN3YXBwZWQgICAlbGRcbiIKKyJTd2FwIHBlcmZvcm1hbmNlOiAlbGQgYXR0ZW1wdHNcdCAlbGQgc3VjY2Vzc2VzXG4iCittc2dzdHIgIiIKKyJzZWdtZW50b3MgYXNpZ25hZG9ycyAlZFxuIgorInDDoWdpbmFzIGFzaWduYWRhcyAgICAgICVsZFxuIgorInDDoWdpbmFzIHJlc2lkZW50ZXMgICAgICVsZFxuIgorInDDoWdpbmFzIGludGVyY2FtYmlhZGFzICVsZFxuIgorInJlbmRpbWllbnRvIGRlIGxhIHpvbmEgZGUgaW50ZXJjYW1iaW86ICVsZCBpbnRlbnRvc1x0ICVsZCBjb24gw6l4aXRvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnQgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tIENyZWFkb3Jlcy9wcm9waWV0YXJpb3Mgc2VnbWVudG8gbWVtLiBjb21wYXJ0aWRhIC0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjc0CisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgInNobWlkIgorbXNnc3RyICJzaG1pZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzozODYKKyM6IHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NDg5IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAicGVybXMiCittc2dzdHIgInBlcm1zIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgImN1aWQiCittc2dzdHIgImN1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiY2dpZCIKK21zZ3N0ciAiY2dpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJ1aWQiCittc2dzdHIgInVpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJnaWQiCittc2dzdHIgImdpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQXR0YWNoL0RldGFjaC9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0gVGllbXBvcyBjb25leGnDs24vZGVzY29uZXhpw7NuL21vZGlmaWNhYy4gbWVtLiBjb21wLiAtLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI3NCBzeXMtdXRpbHMvaXBjcy5jOjI4MAorIzogc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo0OTUKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxIHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAib3duZXIiCittc2dzdHIgInByb3BpZXRhcmlvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NworbXNnaWQgImF0dGFjaGVkIgorbXNnc3RyICJjb25lY3RhZG8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3Cittc2dpZCAiZGV0YWNoZWQiCittc2dzdHIgImRlc2NvbmVjdGFkbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjgKK21zZ2lkICJjaGFuZ2VkIgorbXNnc3RyICJtb2RpZmljYWRvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBDcmVhdG9yL0xhc3Qtb3AgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tIFBJRHMgY3JlYWRvci/Dumx0aW1vIG9wLiBtZW1vcmlhIGNvbXBhcnQuIC0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzQKK21zZ2lkICJjcGlkIgorbXNnc3RyICJjcGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3NAorbXNnaWQgImxwaWQiCittc2dzdHIgImxwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0gU2VnbWVudG9zIG1lbW9yaWEgY29tcGFydGlkYSAtLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwIHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAia2V5IgorbXNnc3RyICJrZXkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgxIHN5cy11dGlscy9pcGNzLmM6NTA4Cittc2dpZCAic2l6ZSIKK21zZ3N0ciAidGFtYcOxbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODEgc3lzLXV0aWxzL3BybGltaXQuYzo3NSBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4IHN5cy11dGlscy9wcmxpbWl0LmM6Nzkgc3lzLXV0aWxzL3BybGltaXQuYzo4MQorIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJieXRlcyIKK21zZ3N0ciAiYnl0ZXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgyCittc2dpZCAibmF0dGNoIgorbXNnc3RyICJuYXR0Y2giCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgyCittc2dpZCAic3RhdHVzIgorbXNnc3RyICJlc3RhZG8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzA2IHN5cy11dGlscy9pcGNzLmM6MzA4IHN5cy11dGlscy9pcGNzLmM6MzEwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQyNCBzeXMtdXRpbHMvaXBjcy5jOjQyNiBzeXMtdXRpbHMvaXBjcy5jOjUzMgorIzogc3lzLXV0aWxzL2lwY3MuYzo1MzQgc3lzLXV0aWxzL2lwY3MuYzo1MzYgc3lzLXV0aWxzL2lwY3MuYzo1OTAKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkyIHN5cy11dGlscy9pcGNzLmM6NjIxIHN5cy11dGlscy9pcGNzLmM6NjIzCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyNSBzeXMtdXRpbHMvaXBjcy5jOjY0OQorbXNnaWQgIk5vdCBzZXQiCittc2dzdHIgIk5vIGVzdGFibGVjaWRvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMzNiBzeXMtdXRpbHMvbHNpcGMuYzo5NzYgc3lzLXV0aWxzL2xzaXBjLmM6OTgyCittc2dpZCAiZGVzdCIKK21zZ3N0ciAiZGVzdCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMzcgc3lzLXV0aWxzL2xzaXBjLmM6OTc3IHN5cy11dGlscy9sc2lwYy5jOjk5MAorbXNnaWQgImxvY2tlZCIKK21zZ3N0ciAiYmxvcXVlYWRvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM1NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2VtYXBob3JlIGxpbWl0c1xuIgorbXNnc3RyICJubyBzZSBoYW4gcG9kaWRvIG9idGVuZXIgbG9zIGzDrW1pdGVzIGRlIGxvcyBzZW3DoWZvcm9zXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBMw61taXRlcyBzZW3DoWZvcm8gLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBhcnJheXMgPSAlZFxuIgorbXNnc3RyICJuw7ptZXJvIG3DoXhpbW8gZGUgbWF0cmljZXMgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBwZXIgYXJyYXkgPSAlZFxuIgorbXNnc3RyICJtw6F4LiBzZW3DoWZvcm9zIHBvciBtYXRyaXogPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgIm3DoXguIHNlbcOhZm9yb3Mgc2lzdGVtYSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBvcHMgcGVyIHNlbW9wIGNhbGwgPSAlZFxuIgorbXNnc3RyICJtw6F4LiBvcGVyLiBwb3IgbGxhbWFkYSBzZW1vcCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY1CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbWFwaG9yZSBtYXggdmFsdWUgPSAldVxuIgorbXNnc3RyICJ2YWxvciBtw6F4LiBzZW3DoWZvcm8gPSAldVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiZWwgbsO6Y2xlbyBubyBlc3TDoSBjb25maWd1cmFkbyBwYXJhIHNlbcOhZm9yb3NcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEVzdGFkbyBzZW3DoWZvcm8gLS0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc4CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAibWF0cmljZXMgdXRpbGl6YWRhcyA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBzZW1hcGhvcmVzID0gJWRcbiIKK21zZ3N0ciAic2Vtw6Fmb3JvcyBhc2lnbmFkb3MgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLSBDcmVhZG9yZXMvcHJvcGlldGFyaW9zIG1hdHJpY2VzIHNlbcOhZi4gLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQwMQorbXNnaWQgInNlbWlkIgorbXNnc3RyICJzZW1pZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBPcGVyYXRpb24vQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLSBUaWVtcG9zIG9wZXJhY2nDs24vbW9kaWZpY2FjacOzbiBzZW3DoWZvcm9zIC0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorbXNnaWQgImxhc3Qtb3AiCittc2dzdHIgIsO6bHRpbWEgb3BlcmFjacOzbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIKK21zZ2lkICJsYXN0LWNoYW5nZWQiCittc2dzdHIgIsO6bHRpbWEgbW9kaWZpY2FjacOzbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIE1hdHJpY2VzIHNlbcOhZm9ybyAtLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDAxCittc2dpZCAibnNlbXMiCittc2dzdHIgIm5zZW1zIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggbWVzc2FnZSBsaW1pdHNcbiIKK21zZ3N0ciAibm8gc2UgaGFuIHBvZGlkbyBvYnRlbmVyIGxvcyBsw61taXRlcyBkZWwgbWVuc2FqZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBMw61taXRlcyBtZW5zYWplcyAtLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBxdWV1ZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICJtw6F4LiBjb2xhcyBzaXN0ZW1hID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjUKK21zZ2lkICJtYXggc2l6ZSBvZiBtZXNzYWdlIgorbXNnc3RyICJ0YW1hw7FvIG3DoXguIGRlIG1lbnNhamUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY3Cittc2dpZCAiZGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSIKK21zZ3N0ciAidGFtYcOxbyBtw6F4LiBwcmVkZXRlcm1pbmFkbyBkZSBjb2xhIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzXG4iCittc2dzdHIgImVsIG7DumNsZW8gbm8gZXN0w6EgY29uZmlndXJhZG8gcGFyYSBjb2xhcyBkZSBtZW5zYWplc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBFc3RhZG8gbWVuc2FqZXMgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHF1ZXVlcyA9ICVkXG4iCittc2dzdHIgImNvbGFzIGFzaWduYWRhcyA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgaGVhZGVycyA9ICVkXG4iCittc2dzdHIgImNhYmVjZXJhcyB1dGlsaXphZGFzID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODIKK21zZ2lkICJ1c2VkIHNwYWNlIgorbXNnc3RyICJlc3BhY2lvIHV0aWxpemFkbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODMKK21zZ2lkICIgYnl0ZXNcbiIKK21zZ3N0ciAiIGJ5dGVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0gQ29sYXMgZGUgbWVuc2FqZXMgY3JlYWRvcmVzL3Byb3BpZXRhcmlvcyAtLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OSBzeXMtdXRpbHMvaXBjcy5jOjQ5NSBzeXMtdXRpbHMvaXBjcy5jOjUwMQorIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJtc3FpZCIKK21zZ3N0ciAibXNxaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBTZW5kL1JlY3YvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLSBUaWVtcG9zIGVudsOtby9yZWNlcC4vbW9kaWZpYy4gY29sYXMgbWVuc2FqZXMgLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgInNlbmQiCittc2dzdHIgImVudsOtbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJyZWN2IgorbXNnc3RyICJyZWNlcGNpw7NuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImNoYW5nZSIKK21zZ3N0ciAibW9kaWZpY2FjacOzbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFBJRHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0gUElEIGRlIGNvbGFzIGRlIG1lbnNhamVzIC0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJsc3BpZCIKK21zZ3N0ciAibHNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAibHJwaWQiCittc2dzdHIgImxycGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIENvbGFzIGRlIG1lbnNhamVzIC0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA4Cittc2dpZCAidXNlZC1ieXRlcyIKK21zZ3N0ciAiYnl0ZXMgdXRpbGl6YWRvcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDkKK21zZ2lkICJtZXNzYWdlcyIKK21zZ3N0ciAibWVuc2FqZXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc0IHN5cy11dGlscy9pcGNzLmM6NjA0IHN5cy11dGlscy9pcGNzLmM6NjM3CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo1MzYgc3lzLXV0aWxzL2xzaXBjLmM6NzIyIHN5cy11dGlscy9sc2lwYy5jOjg3OQorIywgYy1mb3JtYXQKK21zZ2lkICJpZCAlZCBub3QgZm91bmQiCittc2dzdHIgImlkICVkIG5vIGVuY29udHJhZG8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQgbWVtb3J5IFNlZ21lbnQgc2htaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlZ21lbnRvIGRlIG1lbW9yaWEgY29tcGFydGlkYSBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVxuIgorbXNnc3RyICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjb1x0YWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICJtb2RlPSUjb1x0YWNjZXNzX3Blcm1zPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorbXNnaWQgInNpemU9IgorbXNnc3RyICJ0YW1hw7FvPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODQKK21zZ2lkICJieXRlcz0iCittc2dzdHIgImJ5dGVzPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAibHBpZD0ldVx0Y3BpZD0ldVx0bmF0dGNoPSVqZFxuIgorbXNnc3RyICJscGlkPSV1XHRjcGlkPSV1XHRuYXR0Y2g9JWpkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgImF0dF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImF0dF90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgImRldF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImRldF90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkzIHN5cy11dGlscy9pcGNzLmM6NjI0CisjLCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZV90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImNoYW5nZV90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlIFF1ZXVlIG1zcWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJDb2xhIGRlIG1lbnNhamVzIG1zcWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjA5CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHRtb2RlPSUjb1xuIgorbXNnc3RyICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVx0bW9kZT0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTMKK21zZ2lkICJjc2l6ZT0iCittc2dzdHIgInRhbWHDsW9jPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTMKK21zZ2lkICJjYnl0ZXM9IgorbXNnc3RyICJieXRlc2M9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxNQorbXNnaWQgInFzaXplPSIKK21zZ3N0ciAidGFtYcOxb3E9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxNQorbXNnaWQgInFieXRlcz0iCittc2dzdHIgImJ5dGVzcT0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIwCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJzZW5kX3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAicmN2X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAicmN2X3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBBcnJheSBzZW1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisic2VtaWQgZGUgbWF0cml6IGRlIHNlbcOhZm9yb3M9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibnNlbXMgPSAlanVcbiIKK21zZ3N0ciAibnNlbXMgPSAlanVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAib3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICJvdGltZSA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgImN0aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAiY3RpbWUgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInNlbW51bSIKK21zZ3N0ciAic2VtbnVtIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInZhbHVlIgorbXNnc3RyICJ2YWx1ZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJuY291bnQiCittc2dzdHIgIm5jb3VudCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJ6Y291bnQiCittc2dzdHIgInpjb3VudCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJwaWQiCittc2dzdHIgInBpZCIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjMwIHN5cy11dGlscy9pcGN1dGlscy5jOjIzNCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzgKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQiCittc2dzdHIgIiVzIGZhbGzDsyIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChieXRlcykgPSAiCittc2dzdHIgIiVzIChieXRlcykgPSAiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoa2J5dGVzKSA9ICIKK21zZ3N0ciAiJXMgKGtieXRlcykgPSAiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE4MAorbXNnaWQgImludmFsaWQgaWZsYWciCittc2dzdHIgImluZGljYWRvciBkZSBtb2RvIGRlIGVudHJhZGEgaW5jb3JyZWN0byIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGxkaXNjPiA8ZGV2aWNlPlxuIgorbXNnc3RyICIgJXMgW29wY2lvbmVzXSA8bGRpc2M+IDxkaXNwb3NpdGl2bz5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTk5Cittc2dpZCAiQXR0YWNoIGEgbGluZSBkaXNjaXBsaW5lIHRvIGEgc2VyaWFsIGxpbmUuXG4iCittc2dzdHIgIkFzb2NpYSB1bmEgZGlzY2lwbGluYSBkZSBsw61uZWEgYSB1bmEgbMOtbmVhIHNlcmllLlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDIKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBtZXNzYWdlcyB0byBzdGRlcnJcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIGltcHJpbWUgbWVuc2FqZXMgZGV0YWxsYWRvcyBlbiBzdGRlcnJcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAzCittc2dpZCAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIHNldCBzZXJpYWwgbGluZSBzcGVlZFxuIgorbXNnc3RyICIgLXMsIC0tc3BlZWQgPHZhbG9yPiAgICAgZXN0YWJsZWNlIGxhIHZlbG9jaWRhZCBkZSBsYSBsw61uZWEgc2VyaWVcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA0Cittc2dpZCAiIC1jLCAtLWludHJvLWNvbW1hbmQgPHN0cmluZz4gaW50cm8gc2VudCBiZWZvcmUgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIC1jLCAtLWludHJvLWNvbW1hbmQgPGNhZGVuYT4gaW50cm8gZW52aWFkbyBhbnRlcyBxdWUgbGRhdHRhY2hcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA1Cittc2dpZCAiIC1wLCAtLXBhdXNlIDxzZWNvbmRzPiAgIHBhdXNlIGJldHdlZW4gaW50cm8gYW5kIGxkYXR0YWNoXG4iCittc2dzdHIgIiAtcCwgLS1wYXVzZSA8c2VndW5kb3M+ICBwYXVzYSBlbnRyZSBpbnRybyB5IGxkYXR0YWNoXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNgorbXNnaWQgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gNyBiaXRzXG4iCittc2dzdHIgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBlc3RhYmxlY2UgdGFtYcOxbyBkZSBjYXLDoWN0ZXIgZGUgNyBiaXRzXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNworbXNnaWQgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gOCBiaXRzXG4iCittc2dzdHIgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICBlc3RhYmxlY2UgdGFtYcOxbyBkZSBjYXLDoWN0ZXIgZGUgOCBiaXRzXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOAorbXNnaWQgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICBzZXQgcGFyaXR5IHRvIG5vbmVcbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIGVzdGFibGVjZSBubyBwYXJpZGFkXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOQorbXNnaWQgIiAtZSwgLS1ldmVucGFyaXR5ICAgICAgICBzZXQgcGFyaXR5IHRvIGV2ZW5cbiIKK21zZ3N0ciAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIGVzdGFibGVjZSBwYXJpZGFkIHBhclxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTAKK21zZ2lkICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAgc2V0IHBhcml0eSB0byBvZGRcbiIKK21zZ3N0ciAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIGVzdGFibGVjZSBwYXJpZGFkIGltcGFyXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMQorbXNnaWQgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBzZXQgc3RvcCBiaXRzIHRvIG9uZVxuIgorbXNnc3RyICIgLTEsIC0tb25lc3RvcGJpdCAgICAgICAgZXN0YWJsZWNlIHVuIGJpdCBkZSBwYXJhZGFcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEyCittc2dpZCAiIC0yLCAtLXR3b3N0b3BiaXRzICAgICAgIHNldCBzdG9wIGJpdHMgdG8gdHdvXG4iCittc2dzdHIgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBlc3RhYmxlY2UgZGlzIGJpdHMgZGUgcGFyYWRhXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMworbXNnaWQgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBzZXQgaW5wdXQgbW9kZSBmbGFnXG4iCittc2dzdHIgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBlc3RhYmxlY2UgZWwgaW5kaWNhZG9yIGRlbCBtb2RvIGRlIGVudHJhZGFcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE5Cittc2dpZCAiIgorIlxuIgorIktub3duIDxsZGlzYz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJOb21icmVzIDxsZGlzYz4gY29ub2NpZG9zOlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMjMKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGlmbGFnPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk5vbWJyZXMgPGlmbGFnPiBjb25vY2lkb3M6XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0MAorbXNnaWQgImludmFsaWQgc3BlZWQgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBkZSB2ZWxvY2lkYWQgbm8gdsOhbGlkbyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQzCittc2dpZCAiaW52YWxpZCBwYXVzZSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGRlIHBhdXNhIG5vIHbDoWxpZG8iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM1OQorbXNnaWQgImludmFsaWQgb3B0aW9uIgorbXNnc3RyICJvcGNpw7NuIG5vIHbDoWxpZGEiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM3MAorbXNnaWQgImludmFsaWQgbGluZSBkaXNjaXBsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gZGUgZGlzY2lwbGluYSBkZSBsw61uZWEgbm8gdsOhbGlkbyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHNlcmlhbCBsaW5lIgorbXNnc3RyICIlcyBubyBlcyB1bmEgbMOtbmVhIHNlcmllIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAibm8gc2UgcHVlZGVuIG9idGVuZXIgbG9zIGF0cmlidXRvcyBkZSB0ZXJtaW5hbCBkZSAlcyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWVkICVkIHVuc3VwcG9ydGVkIgorbXNnc3RyICJ2ZWxvY2lkYWQgJWQgbm8gYWRtaXRpZGEiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICJubyBzZSBwdWVkZW4gZXN0YWJsZWNlciBsb3MgYXRyaWJ1dG9zIGRlIHRlcm1pbmFsIGRlICVzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlIGludHJvIGNvbW1hbmQgdG8gJXMiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGVzY3JpYmlyIGxhIG9yZGVuIGludHJvIGVuICVzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NjkKK21zZ2lkICJjYW5ub3Qgc2V0IGxpbmUgZGlzY2lwbGluZSIKK21zZ3N0ciAibm8gc2UgcHVlZGUgZXN0YWJsZWNlciBsYSBkaXNjaXBsaW5hIGRlIGzDrW5lYSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDc5Cittc2dpZCAiY2Fubm90IGRhZW1vbml6ZSIKK21zZ3N0ciAibm8gc2UgcHVlZGUgaGFjZXIgZGVtb25pbyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2OAorbXNnaWQgImF1dG9jbGVhciBmbGFnIHNldCIKK21zZ3N0ciAiZXN0YWJsZWNlciBpbmRpY2Fkb3IgZGUgYXV0b2JvcnJhZG8iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjkKK21zZ2lkICJkZXZpY2UgYmFja2luZyBmaWxlIgorbXNnc3RyICJmaWNoZXJvIHN1YnlhY2VudGUgZGVsIGRpc3Bvc2l0aXZvIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwCittc2dpZCAiYmFja2luZyBmaWxlIGlub2RlIG51bWJlciIKK21zZ3N0ciAibsO6bWVybyBkZSBub2RvLWkgZGVsIGZpY2hlcm8gc3VieWFjZW50ZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MQorbXNnaWQgImJhY2tpbmcgZmlsZSBtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICJuw7ptZXJvIGRlIGRpc3Bvc2l0aXZvIG1heW9yOm1lbm9yIGRlbCBmaWNoZXJvIHN1YnlhY2VudGUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzIKK21zZ2lkICJsb29wIGRldmljZSBuYW1lIgorbXNnc3RyICJub21icmUgZGVsIGRpc3Bvc2l0aXZvIGRlIGJ1Y2xlIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjczCittc2dpZCAib2Zmc2V0IGZyb20gdGhlIGJlZ2lubmluZyIKK21zZ3N0ciAiZGVzcGxhemFtaWVudG8gZGVzZGUgZWwgY29taWVuem8iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzQKK21zZ2lkICJwYXJ0c2NhbiBmbGFnIHNldCIKK21zZ3N0ciAiaW5kaWNhZG9yIGRlIHBhcnRzY2FuIGFjdGl2YWRvIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2Cittc2dpZCAic2l6ZSBsaW1pdCBvZiB0aGUgZmlsZSBpbiBieXRlcyIKK21zZ3N0ciAibMOtbWl0ZSBkZSB0YW1hw7FvIGRlbCBmaWNoZXJvIGVuIGJ0eWVzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3Cittc2dpZCAibG9vcCBkZXZpY2UgbWFqb3I6bWlub3IgbnVtYmVyIgorbXNnc3RyICJuw7ptZXJvIG1heW9yOm1lbm9yIGRlbCBkaXNwb3NpdGl2byBkZSBidWNsZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3OAorbXNnaWQgImFjY2VzcyBiYWNraW5nIGZpbGUgd2l0aCBkaXJlY3QtaW8iCittc2dzdHIgImFjY2VkZSBhbCBmaWNoZXJvIHN1YnlhY2VudGUgY29uIGUvcyBkaXJlY3RhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzNSBzeXMtdXRpbHMvbG9zZXR1cC5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICIsIG9mZnNldCAlanUiCittc2dzdHIgIiwgZGVzcGxhemFtaWVudG8gJWp1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1MAorIywgYy1mb3JtYXQKK21zZ2lkICIsIHNpemVsaW1pdCAlanUiCittc2dzdHIgIiwgdGFtYcOxbyBsw61taXRlICVqdSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBlbmNyeXB0aW9uICVzICh0eXBlICV1KSIKK21zZ3N0ciAiLCBjaWZyYWRvICVzICh0aXBvICV1KSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRldGFjaCBmYWlsZWQiCittc2dzdHIgIiVzOiBmYWxsbyBhbCBkZXN2aW5jdWxhciIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozMjkgc3lzLXV0aWxzL2xzY3B1LmM6MTczNSBzeXMtdXRpbHMvcHJsaW1pdC5jOjIyOQorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjE3NiBzeXMtdXRpbHMvd2RjdGwuYzoyMTUgc3lzLXV0aWxzL3pyYW1jdGwuYzo0MDUKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgbGluZSIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGluaWNpYWxpemFyIGxhIGzDrW5lYSBkZSBzYWxpZGEiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gWzxsb29wZGV2Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8bG9vcGRldj4gPGZpbGU+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbb3BjaW9uZXNdIFs8ZGlzcGJ1Y2xlPl1cbiIKKyIgJTEkcyBbb3BjaW9uZXNdIC1mIHwgPGRpc3BidWNsZT4gPGZpY2hlcm8+XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzg2Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIGxvb3AgZGV2aWNlcy5cbiIKK21zZ3N0ciAiQ29uZmlndXJhIHkgY29udHJvbGEgZGlzcG9zaXRpdm9zIGRlIGJ1Y2xlLlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM4OQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGVudW1lcmEgdG9kb3MgbG9zIGRpc3Bvc2l0aXZvcyB1dGlsaXphZG9zXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkwCittc2dpZCAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4uLi4gICAgIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCittc2dzdHIgIiAtZCwgLS1kZXRhY2ggPGRpc3BidWNsZT4uLi4gICBkZXN2aW5jdWxhIHVubyBvIHZhcmlvcyBkaXNwb3NpdGl2b3NcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTEKK21zZ2lkICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIGRlc3ZpbmN1bGEgdG9kb3MgbG9zIGRpc3Bvc2l0aXZvcyB1dGlsaXphZG9zXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkyCittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorbXNnc3RyICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZW5jdWVudHJhIGVsIHByaW1lciBkaXNwb3NpdGl2byBubyB1dGlsaXphZG9cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTMKK21zZ2lkICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIC1jLCAtLXNldC1jYXBhY2l0eSA8ZGlzcGJ1Y2xlPmNhbWJpYSBlbCB0YW1hw7FvIGRlbCBkaXNwb3NpdGl2b1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5NAorbXNnaWQgIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKK21zZ3N0ciAiIC1qLCAtLWFzc29jaWF0ZWQgPGZpY2hlcm8+ICAgIGVudW1lcmEgdG9kb3MgbG9zIGRpc3Bvc2l0aXZvcyBhc29jaWFkb3MgY29uIDxmaWNoZXJvPlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5NQorbXNnaWQgIiAtTCwgLS1ub292ZXJsYXAgICAgICAgICAgICAgICBhdm9pZCBwb3NzaWJsZSBjb25mbGljdCBiZXR3ZWVuIGRldmljZXNcbiIKK21zZ3N0ciAiIC1MLCAuLm5vb3ZlcmxhcCAgICAgICAgICAgICAgIGV2aXRhIHBvc2libGVzIGNvbmZsaWN0b3MgZW50cmUgZGlzcG9zaXRpdm9zXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgICAgICAgICAgIHN0YXJ0IGF0IG9mZnNldCA8bnVtPiBpbnRvIGZpbGVcbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8bnVtPiAgICAgICAgICAgIGNvbWllbnphIGVuIGVsIGRlc3BsYXphbWllbnRvIDxudW0+IGRlbnRybyBkZWwgZmljaGVyb1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMAorbXNnaWQgIiAgICAgLS1zaXplbGltaXQgPG51bT4gICAgICAgICBkZXZpY2UgaXMgbGltaXRlZCB0byA8bnVtPiBieXRlcyBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZWwgZGlzcG9zaXRpdm8gZXN0w6EgbGltaXRhZG8gYSA8bnVtPiBieXRlcyBkZWwgZmljaGVyb1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMQorbXNnaWQgIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICBjcmVhdGUgYSBwYXJ0aXRpb25lZCBsb29wIGRldmljZVxuIgorbXNnc3RyICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgY3JlYSB1biBkaXNwb3NpdGl2byBkZSBidWNsZSBwYXJ0aWNpb25hZG9cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDIKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0IHVwIGEgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBjb25maWd1cmEgdW4gZGlzcG9zaXRpdm8gZGUgYnVjbGUgZGUgc29sbyBsZWN0dXJhXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAzCittc2dpZCAiICAgICAtLWRpcmVjdC1pb1s9PG9ufG9mZj5dICAgIG9wZW4gYmFja2luZyBmaWxlIHdpdGggT19ESVJFQ1RcbiIKK21zZ3N0ciAiICAgICAtLWRpcmVjdC1pb1s9PG9ufG9mZj5dICAgIGFicmUgZWwgZmljaGVybyBzdWJ5YWNlbnRlIGNvbiBPX0RJUkVDVFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNAorbXNnaWQgIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSBhZnRlciBzZXR1cCAod2l0aCAtZilcbiIKK21zZ3N0ciAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIGltcHJpbWUgZWwgbm9tYnJlIGRlbCBkaXNwb3NpdGl2byBkZXNwdcOpcyBkZSBsYSBpbnN0YWxhY2nDs24gKGNvbiAtZilcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICBtb2RvIGV4cHJlc2l2b1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwOQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBsaXN0IGluZm8gYWJvdXQgYWxsIG9yIHNwZWNpZmllZCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIG9mcmVjZSBpbmZvcm1hY2nDs24gc29icmUgdG9kbyBvIHNvYnJlIGxvIGVzcGVjaWZpY2FkbyAocHJlZGV0ZXJtaW5hZG8gZXN0byDDumx0aW1vKVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMAorbXNnaWQgIiAtTywgLS1vdXRwdXQgPGNvbHM+ICAgICAgICAgICBzcGVjaWZ5IGNvbHVtbnMgdG8gb3V0cHV0IGZvciAtLWxpc3RcbiIKK21zZ3N0ciAiIC1PLCAtLW91dHB1dCA8Y29scz4gICAgICAgICAgIGVzcGVjaWZpY2EgbGFzIGNvbHVtbmFzIHF1ZSBzZSBtb3N0cmFyw6FuIGNvbiAtLWxpc3RcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTEKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tbGlzdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgICAgIG5vIGltcHJpbWUgbG9zIGVuY2FiZXphZG9zIGRlIGxhIHNhbGlkYSBkZSAtLWxpc3RcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTIKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgdXNlIHJhdyAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgdXRpbGl6YSBlbCBmb3JtYXRvIGRlIHNhbGlkYSAtLWxpc3QgYnJ1dG9cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTMKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgIHV0aWxpemEgZWwgZm9ybWF0byBkZSBzYWxpZGEgLS1saXN0IEpTT05cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTkKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIC0tbGlzdCBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisiXG4iCisiQ29sdW1uYXMgZGUgLS1saXN0IGRpc3BvbmlibGVzOlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBpcyBzbWFsbGVyIHRoYW4gNTEyIGJ5dGVzOyB0aGUgbG9vcCBkZXZpY2UgbWF5IGJlIHVzZWxlc3Mgb3IgaW52aXNpYmxlIGZvciBzeXN0ZW0gdG9vbHMuIgorbXNnc3RyICIlczogQXRlbmNpw7NuOiBlbCBmaWNoZXJvIGVzIG1lbm9yIGRlIDUxMiBieXRlczsgZWwgZGlzcG9zaXRpdm8gZGUgYnVjbGUgcG9kcsOtYSBzZXIgaW51dGlsaXphYmxlIG8gaW52aXNpYmxlIGEgbGFzIGhlcnJhbWllbnRhcyBkZWwgc2lzdGVtYS4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGRvZXMgbm90IGZpdCBpbnRvIGEgNTEyLWJ5dGUgc2VjdG9yOyB0aGUgZW5kIG9mIHRoZSBmaWxlIHdpbGwgYmUgaWdub3JlZC4iCittc2dzdHIgIiVzOiBBdGVuY2nDs246IGVsIGZpY2hlcm8gbm8gY2FiZSBlbiB1biBzZWN0b3IgZGUgNTEyIGJ5dGVzOyBzZSBwYXNhcsOhIHBvciBhbHRvIGVsIGZpbmFsIGRlbCBmaWNoZXJvLiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NjQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MTYgc3lzLXV0aWxzL21vdW50LmM6NDU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzIHlhIGV4aXN0ZSB1biBkaXNwb3NpdGl2byBkZSBidWNsZSBxdWUgc29sYXBhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgcmVhZC1vbmx5IGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiJXM6IHlhIGV4aXN0ZSB1biBkaXNwb3NpdGl2byBkZSBidWNsZSBkZSBzb2xvIGxlY3R1cmEgcXVlIHNvbGFwYSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGVuY3J5cHRlZCBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzOiB5YSBleGlzdGUgdW4gZGlzcG9zaXRpdm8gZGUgYnVjbGUgY2lmcmFkbyBxdWUgc29sYXBhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlLXVzZSBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IGVycm9yIGFsIHJldXRpbGl6YXIgZGlzcG9zaXRpdm8gZGUgYnVjbGUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDk0Cittc2dpZCAiZmFpbGVkIHRvIGluc3BlY3QgbG9vcCBkZXZpY2VzIgorbXNnc3RyICJlcnJvciBhbCBpbnNwZWNjaW9uYXIgZGlzcG9zaXRpdm9zIGRlIGJ1Y2xlIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNoZWNrIGZvciBjb25mbGljdGluZyBsb29wIGRldmljZXMiCittc2dzdHIgIiVzOiBlcnJvciBhbCBjb21wcm9iYXIgY29uZmxpY3RvcyBlbiBkaXNwb3NpdGl2b3MgZGUgYnVjbGUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTI5IHN5cy11dGlscy9sb3NldHVwLmM6ODI2Cittc2dpZCAiY2Fubm90IGZpbmQgYW4gdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICJubyBzZSBoYSBlbmNvbnRyYWRvIG5pbmfDum4gZGlzcG9zaXRpdm8gZGUgYnVjbGUgbGlicmUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXM6IGZhbGxvIGFsIHV0aWxpemFyIGVsIGZpY2hlcm8gc3VieWFjZW50ZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2MzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDEgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NTMKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzY3IHN5cy11dGlscy9sb3NldHVwLmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGRldmljZSIKK21zZ3N0ciAiJXM6IG5vIHNlIGhhIHBvZGlkbyB1dGlsaXphciBlbCBkaXNwb3NpdGl2byIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NjQKK21zZ2lkICJubyBsb29wIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIm5vIHNlIGhhIGVzcGVjaWZpY2FkbyBuaW5nw7puIGRpc3Bvc2l0aXZvIGRlIGJ1Y2xlIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3MgorbXNnaWQgIm5vIGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICJubyBzZSBoYSBlc3BlY2lmaWNhZG8gbmluZ8O6biBmaWNoZXJvIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgb3B0aW9ucyAlcyBhcmUgYWxsb3dlZCBkdXJpbmcgbG9vcCBkZXZpY2Ugc2V0dXAgb25seSIKK21zZ3N0ciAibGFzIG9wY2lvbmVzICVzIHNvbG8gc2UgcGVybWl0ZW4gZHVyYW50ZSBsYSBpbnN0YWxhY2nDs24gZGVsIGRpc3Bvc2l0aXZvIGRlIGJ1Y2xlIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4NAorbXNnaWQgInRoZSBvcHRpb24gLS1vZmZzZXQgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICJsYSBvcGNpw7NuIC0tb2Zmc2V0IG5vIHNlIHBlcm1pdGUgZW4gZXN0ZSBjb250ZXh0byIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBjYXBhY2l0eSBmYWlsZWQiCittc2dzdHIgIiVzOiBmYWxsbyBhbCBlc3RhYmxlY2VyIGxhIGNhcGFjaWRhZCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBkaXJlY3QgaW8gZmFpbGVkIgorbXNnc3RyICIlczogbm8gc2UgaGEgcG9kaWRvIGVzdGFibGVjZXIgZS9zIGRpcmVjdGEiCisKKyMgTWFzY3VsaW5vLCBwb3JxdWUgc2UgcmVmaWVyZSBhICJJbmRpY2Fkb3JlcyIKKyM6IHN5cy11dGlscy9sc2NwdS5jOjEwOAorbXNnaWQgIm5vbmUiCittc2dzdHIgIm5pbmd1bm8iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjEwOQorbXNnaWQgInBhcmEiCittc2dzdHIgInBhcmEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjExMAorbXNnaWQgImZ1bGwiCittc2dzdHIgImxsZW5vIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMTEKK21zZ2lkICJjb250YWluZXIiCittc2dzdHIgImNvbnRlbmVkb3IiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MworbXNnaWQgImhvcml6b250YWwiCittc2dzdHIgImhvcml6b250YWwiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NAorbXNnaWQgInZlcnRpY2FsIgorbXNnc3RyICJ2ZXJ0aWNhbCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ2Cittc2dpZCAibG9naWNhbCBDUFUgbnVtYmVyIgorbXNnc3RyICJuw7ptZXJvIGRlIENQVSBsw7NnaWNhIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDcKK21zZ2lkICJsb2dpY2FsIGNvcmUgbnVtYmVyIgorbXNnc3RyICJuw7ptZXJvIGRlIG7DumNsZW8gbMOzZ2ljbyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ4Cittc2dpZCAibG9naWNhbCBzb2NrZXQgbnVtYmVyIgorbXNnc3RyICJuw7ptZXJvIGRlIMKrc29ja2V0wrsgbMOzZ2ljbyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ5Cittc2dpZCAibG9naWNhbCBOVU1BIG5vZGUgbnVtYmVyIgorbXNnc3RyICJuw7ptZXJvIGRlIG5vZG8gTlVNQSBsw7NnaWNvIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTAKK21zZ2lkICJsb2dpY2FsIGJvb2sgbnVtYmVyIgorbXNnc3RyICJuw7ptZXJvIGRlIGxpYnJvIGzDs2dpY28iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MQorbXNnaWQgImxvZ2ljYWwgZHJhd2VyIG51bWJlciIKK21zZ3N0ciAibsO6bWVybyBkZSBjYWrDs24gbMOzZ2ljbyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUyCittc2dpZCAic2hvd3MgaG93IGNhY2hlcyBhcmUgc2hhcmVkIGJldHdlZW4gQ1BVcyIKK21zZ3N0ciAibXVlc3RyYSBjw7NtbyBlc3TDoW4gY29tcGFydGlkYXMgbGFzIGNhY2jDqXMgZW50cmUgbGFzIENQVXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MworbXNnaWQgIkNQVSBkaXNwYXRjaGluZyBtb2RlIG9uIHZpcnR1YWwgaGFyZHdhcmUiCittc2dzdHIgIm1vZG8gZGUgZGlzdHJpYnVjacOzbiBkZSBDUFUgZW4gaGFyZHdhcmUgdmlydHVhbCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU0Cittc2dpZCAicGh5c2ljYWwgYWRkcmVzcyBvZiBhIENQVSIKK21zZ3N0ciAiZGlyZWNjacOzbiBmw61zaWNhIGRlIHVuYSBDUFUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NQorbXNnaWQgInNob3dzIGlmIHRoZSBoeXBlcnZpc29yIGhhcyBhbGxvY2F0ZWQgdGhlIENQVSIKK21zZ3N0ciAibXVlc3RyYSBzaSBlbCBoaXBlcnZpc29yIGhhIHJlc2VydmFkbyBsYSBDUFUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NgorbXNnaWQgInNob3dzIGlmIExpbnV4IGN1cnJlbnRseSBtYWtlcyB1c2Ugb2YgdGhlIENQVSIKK21zZ3N0ciAibXVlc3RyYSBzaSBMaW51eCBlc3TDoSBoYWNpZW5kbyB1c28gZGUgbGEgQ1BVIGVuIGVzdGUgaW5zdGFudGUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NworbXNnaWQgInNob3dzIHRoZSBtYXhpbXVtIE1IeiBvZiB0aGUgQ1BVIgorbXNnc3RyICJtdWVzdHJhIGxvcyBtw6F4aW1vcyBNSHogZGUgbGEgQ1BVIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTgKK21zZ2lkICJzaG93cyB0aGUgbWluaW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAibXVlc3RyYSBsb3MgbcOtbmltb3MgTUh6IGRlIGxhIENQVSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NTUwCittc2dpZCAiZXJyb3I6IHVuYW1lIGZhaWxlZCIKK21zZ3N0ciAiZXJyb3I6IGZhbGxvIGRlIHVuYW1lIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBudW1iZXIgb2YgQ1BVczogJXMiCittc2dzdHIgImZhbGxvIGFsIGRldGVybWluYXIgZWwgbsO6bWVybyBkZSBDUFVzOiAlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6ODkxCittc2dpZCAiZXJyb3I6IGNhbiBub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJlcnJvcjogbm8gc2UgcHVlZGUgZXN0YWJsZWNlciBlbCBtYW5lamFkb3IgZGUgc2XDsWFsZXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjg5NgorbXNnaWQgImVycm9yOiBjYW4gbm90IHJlc3RvcmUgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgImVycm9yOiBubyBzZSBwdWVkZSByZXN0YWJsZWNlciBlbCBtYW5lamFkb3IgZGUgc2XDsWFsZXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk1NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBmcm9tOiAlcyIKK21zZ3N0ciAiZmFsbG8gYWwgbGVlciBlbjogJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MTAKK21zZ2lkICJGYWlsZWQgdG8gZXh0cmFjdCB0aGUgbm9kZSBudW1iZXIiCittc2dzdHIgIk5vIHNlIGhhIHBvZGlkbyBleHRyYWVyIGVsIG7Dum1lcm8gZGUgbm9kbyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTUzNyBzeXMtdXRpbHMvbHNjcHUuYzoxNTQ3Cittc2dpZCAiWSIKK21zZ3N0ciAiUyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTUzNyBzeXMtdXRpbHMvbHNjcHUuYzoxNTQ3Cittc2dpZCAiTiIKK21zZ3N0ciAiTiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTYzMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXJcbiIKKyIjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElEXG4iCisiIyBzdGFydGluZyBmcm9tIHplcm8uXG4iCittc2dzdHIgIiIKKyIjIEVzdGUgZXMgZWwgZm9ybWF0byBhbmFsaXphYmxlLCBlbCBjdWFsIHB1ZWRlIHBhc2Fyc2UgYSBvdHJvc1xuIgorIiMgcHJvZ3JhbWFzLiBDYWRhIGVsZW1lbnRvIGRpZmVyZW50ZSBlbiBjYWRhIHVuYSBkZSBsYXMgY29sdW1uYXNcbiIKKyIjIHRpZW5lIHVuIElEIMO6bmljbyBxdWUgY29taWVuemEgZW4gY2Vyby5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc4MQorbXNnaWQgIkFyY2hpdGVjdHVyZToiCittc2dzdHIgIkFycXVpdGVjdHVyYToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3OTUKK21zZ2lkICJDUFUgb3AtbW9kZShzKToiCittc2dzdHIgIm1vZG8ocykgZGUgb3BlcmFjacOzbiBkZSBsYXMgQ1BVczoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3OTggc3lzLXV0aWxzL2xzY3B1LmM6MTgwMAorbXNnaWQgIkJ5dGUgT3JkZXI6IgorbXNnc3RyICJPcmRlbiBkZSBsb3MgYnl0ZXM6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODAyCittc2dpZCAiQ1BVKHMpOiIKK21zZ3N0ciAiQ1BVKHMpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwNQorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICJNw6FzY2FyYSBkZSBsYShzKSBDUFUocykgZW4gbMOtbmVhOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwNgorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICJMaXN0YSBkZSBsYShzKSBDUFUocykgZW4gbMOtbmVhOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNQorbXNnaWQgIk9mZi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiTcOhc2NhcmEgZGUgbGEocykgQ1BVKHMpIGZ1ZXJhIGRlIGzDrW5lYSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNgorbXNnaWQgIk9mZi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiTGlzdGEgZGUgbGEocykgQ1BVKHMpIGZ1ZXJhIGRlIGzDrW5lYSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2MgorbXNnaWQgIlRocmVhZChzKSBwZXIgY29yZToiCittc2dzdHIgIkhpbG8ocykgZGUgcHJvY2VzYW1pZW50byBwb3IgbsO6Y2xlbzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjQKK21zZ2lkICJDb3JlKHMpIHBlciBzb2NrZXQ6IgorbXNnc3RyICJOw7pjbGVvKHMpIHBvciDCq3NvY2tldMK7OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2NworbXNnaWQgIlNvY2tldChzKSBwZXIgYm9vazoiCittc2dzdHIgIsKrU29ja2V0KHMpwrsgcG9yIGxpYnJvOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3MAorbXNnaWQgIkJvb2socykgcGVyIGRyYXdlcjoiCittc2dzdHIgIkxpYnJvKHMpIHBvciBjYWrDs246IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODcyCittc2dpZCAiRHJhd2VyKHMpOiIKK21zZ3N0ciAiQ2Fqw7NuKGVzKToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzQKK21zZ2lkICJCb29rKHMpOiIKK21zZ3N0ciAiTGlicm8ocyk6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODc3Cittc2dpZCAiU29ja2V0KHMpOiIKK21zZ3N0ciAiwqtTb2NrZXQocynCuyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MQorbXNnaWQgIk5VTUEgbm9kZShzKToiCittc2dzdHIgIk1vZG8ocykgTlVNQToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODMKK21zZ2lkICJWZW5kb3IgSUQ6IgorbXNnc3RyICJJRCBkZSBmYWJyaWNhbnRlOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4NQorbXNnaWQgIk1hY2hpbmUgdHlwZToiCittc2dzdHIgIlRpcG8gZGUgbcOhcXVpbmE6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg3Cittc2dpZCAiQ1BVIGZhbWlseToiCittc2dzdHIgIkZhbWlsaWEgZGUgQ1BVOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4OQorbXNnaWQgIk1vZGVsOiIKK21zZ3N0ciAiTW9kZWxvOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5MQorbXNnaWQgIk1vZGVsIG5hbWU6IgorbXNnc3RyICJOb21icmUgZGVsIG1vZGVsbzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTMKK21zZ2lkICJTdGVwcGluZzoiCittc2dzdHIgIlJldmlzacOzbjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTUKK21zZ2lkICJDUFUgTUh6OiIKK21zZ3N0ciAiQ1BVIE1IejoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTcKK21zZ2lkICJDUFUgZHluYW1pYyBNSHo6IgorbXNnc3RyICJDUFUgTUh6IGRpbsOhbWljb3M6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk5Cittc2dpZCAiQ1BVIHN0YXRpYyBNSHo6IgorbXNnc3RyICJDUFUgTUh6IGVzdMOhdGljb3M6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAxCittc2dpZCAiQ1BVIG1heCBNSHo6IgorbXNnc3RyICJDUFUgTUh6IG3DoXguOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMworbXNnaWQgIkNQVSBtaW4gTUh6OiIKK21zZ3N0ciAiQ1BVIE1IeiBtw61uLjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDUKK21zZ2lkICJCb2dvTUlQUzoiCittc2dzdHIgIkJvZ29NSVBTOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwOCBzeXMtdXRpbHMvbHNjcHUuYzoxOTEwCittc2dpZCAiVmlydHVhbGl6YXRpb246IgorbXNnc3RyICJWaXJ0dWFsaXphY2nDs246IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEzCittc2dpZCAiSHlwZXJ2aXNvcjoiCittc2dzdHIgIkhpcGVydmlzb3I6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE1Cittc2dpZCAiSHlwZXJ2aXNvciB2ZW5kb3I6IgorbXNnc3RyICJGYWJyaWNhbnRlIGRlbCBoaXBlcnZpc29yOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxNgorbXNnaWQgIlZpcnR1YWxpemF0aW9uIHR5cGU6IgorbXNnc3RyICJUaXBvIGRlIHZpcnR1YWxpemFjacOzbjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTkKK21zZ2lkICJEaXNwYXRjaGluZyBtb2RlOiIKK21zZ3N0ciAiTW9kbyBkZSBkaXN0cmlidWNpw7NuOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkyNSBzeXMtdXRpbHMvbHNjcHUuYzoxOTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNhY2hlOiIKK21zZ3N0ciAiQ2FjaMOpICVzOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0MQorIywgYy1mb3JtYXQKK21zZ2lkICJOVU1BIG5vZGUlZCBDUFUocyk6IgorbXNnc3RyICJDUFUocykgZGVsIG5vZG8gTlVNQSAlZDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NDYKK21zZ2lkICJGbGFnczoiCittc2dzdHIgIkluZGljYWRvcmVzOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0OQorbXNnaWQgIlBoeXNpY2FsIHNvY2tldHM6IgorbXNnc3RyICLCq1NvY2tldHPCuyBmw61zaWNvczoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NTAKK21zZ2lkICJQaHlzaWNhbCBjaGlwczoiCittc2dzdHIgIkNoaXBzIGbDrXNpY29zOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk1MQorbXNnaWQgIlBoeXNpY2FsIGNvcmVzL2NoaXA6IgorbXNnc3RyICJOw7pjbGVvcy9jaGlwcyBmw61zaWNvczoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjMKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBDUFUgYXJjaGl0ZWN0dXJlLlxuIgorbXNnc3RyICJNdWVzdHJhIGluZm9ybWFjacOzbiBzb2JyZSBsYSBhcnF1aXRlY3R1cmEgZGUgbGEgQ1BVLlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY2Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IGJvdGggb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgaW1wcmltZSB0YW50byBsYXMgQ1BVcyBlbiBsw61uZWEgY29tbyBmdWVyYSBkZSBsw61uZWEgKGxvIHByZWRldGVybWluYWRvIHBhcmEgLWUpXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjcKK21zZ2lkICIgLWIsIC0tb25saW5lICAgICAgICAgICAgcHJpbnQgb25saW5lIENQVXMgb25seSAoZGVmYXVsdCBmb3IgLXApXG4iCittc2dzdHIgIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBpbXByaW1lIHNvbG8gbGFzIENQVXMgZW4gbMOtbmVhIChsbyBwcmVkZXRlcm1pbmFkbyBwYXJhIC1wKVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY4Cittc2dpZCAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iCittc2dzdHIgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICBpbXByaW1lIHNvbG8gbGFzIENQVXMgZnVlcmEgZGUgbMOtbmVhXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjkKK21zZ2lkICIgLWUsIC0tZXh0ZW5kZWRbPTxsaXN0Pl0gcHJpbnQgb3V0IGFuIGV4dGVuZGVkIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tZXh0ZW5kZWRbPTxsaXN0YT5dIGltcHJpbWUgZW4gZm9ybWF0byBsZWdpYmxlIGV4dGVuZGlkb1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcwCittc2dpZCAiIC1wLCAtLXBhcnNlWz08bGlzdD5dICAgIHByaW50IG91dCBhIHBhcnNhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLXAsIC0tcGFyc2VbPTxsaXN0YT5dICAgaW1wcmltZSBlbiBmb3JtYXRvIGFuYWxpemFibGVcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MQorbXNnaWQgIiAtcywgLS1zeXNyb290IDxkaXI+ICAgICB1c2Ugc3BlY2lmaWVkIGRpcmVjdG9yeSBhcyBzeXN0ZW0gcm9vdFxuIgorbXNnc3RyICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAgdXRpbGl6YSBjb21vIHJhw616IGRlbCBzaXN0ZW1hIGVsIGRpcmVjdG9yaW8gZXNwZWNpZmljYWRvXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzIKK21zZ2lkICIgLXgsIC0taGV4ICAgICAgICAgICAgICAgcHJpbnQgaGV4YWRlY2ltYWwgbWFza3MgcmF0aGVyIHRoYW4gbGlzdHMgb2YgQ1BVc1xuIgorbXNnc3RyICIgLXgsIC0taGV4ICAgICAgICAgICAgICAgaW1wcmltZSBtw6FzY2FyYXMgaGV4YWRlY2ltYWxlcyBlbiBsdWdhciBkZSBsaXN0YXMgZGUgQ1BVc1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTczCittc2dpZCAiIC15LCAtLXBoeXNpY2FsICAgICAgICAgIHByaW50IHBoeXNpY2FsIGluc3RlYWQgb2YgbG9naWNhbCBJRHNcbiIKK21zZ3N0ciAiIC15LCAtLXBoeXNpY2FsICAgICAgICAgIGltcHJpbWUgSURzIGbDrXNpY29zIGVuIHZleiBkZSBsw7NnaWNvc1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvcHRpb25zIC0tYWxsLCAtLW9ubGluZSBhbmQgLS1vZmZsaW5lIG1heSBvbmx5IGJlIHVzZWQgd2l0aCBvcHRpb25zIC0tZXh0ZW5kZWQgb3IgLS1wYXJzZS5cbiIKK21zZ3N0ciAiJXM6IGxhcyBvcGNpb25lcyAtLWFsbCwgLS1vbmxpbmUgeSAtLW9mZmxpbmUgc29sbyBwdWVkZW4gdXRpbGl6YXJzZSBjb24gbGFzIG9wY2lvbmVzIC0tZXh0ZW5kZWQgbyAtLXBhcnNlLlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNDkKK21zZ2lkICJSZXNvdXJjZSBrZXkiCittc2dzdHIgIkNsYXZlIGRlbCByZWN1cnNvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNDkKK21zZ2lkICJLZXkiCittc2dzdHIgIkNsYXZlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJSZXNvdXJjZSBJRCIKK21zZ3N0ciAiSUQgZGVsIHJlY3Vyc28iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorbXNnaWQgIklEIgorbXNnc3RyICJJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCittc2dpZCAiT3duZXIncyB1c2VybmFtZSBvciBVSUQiCittc2dzdHIgIk5vbWJyZSBkZSB1c3VhcmlvIG8gVUlEIGRlbCBwcm9waWV0YXJpbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCittc2dpZCAiT3duZXIiCittc2dzdHIgIlByb3BpZXRhcmlvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTIKK21zZ2lkICJQZXJtaXNzaW9ucyIKK21zZ3N0ciAiUGVybWlzb3MiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MworbXNnaWQgIkNyZWF0b3IgVUlEIgorbXNnc3RyICJVSUQgZGVsIGNyZWFkb3IiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NAorbXNnaWQgIkNyZWF0b3IgdXNlciIKK21zZ3N0ciAiVXNhcmlvIGRlbCBjcmVhZG9yIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTUKK21zZ2lkICJDcmVhdG9yIEdJRCIKK21zZ3N0ciAiR0lEIGRlbCBjcmVhZG9yIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTYKK21zZ2lkICJDcmVhdG9yIGdyb3VwIgorbXNnc3RyICJHcnVwbyBkZWwgY3JlYWRvciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3Cittc2dpZCAiVXNlciBJRCIKK21zZ3N0ciAiSUQgZGVsIHVzdWFyaW8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworbXNnaWQgIlVJRCIKK21zZ3N0ciAiVUlEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTgKK21zZ2lkICJVc2VyIG5hbWUiCittc2dzdHIgIk5vbWJyZSBkZWwgdXN1YXJpbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR3JvdXAgSUQiCittc2dzdHIgIklEIGRlbCBncnVwbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR0lEIgorbXNnc3RyICJHSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MAorbXNnaWQgIkdyb3VwIG5hbWUiCittc2dzdHIgIk5vbWJyZSBkZWwgZ3J1cG8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3QgY2hhbmdlIgorbXNnc3RyICJIb3JhIGRlIGxhIMO6bHRpbWEgbW9kaWZpY2FjacOzbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCittc2dpZCAiTGFzdCBjaGFuZ2UiCittc2dzdHIgIsOabHRpbWEgbW9kaWZpY2FjacOzbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY0Cittc2dpZCAiQnl0ZXMgdXNlZCIKK21zZ3N0ciAiQnl0ZXMgZW4gdXNvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZXMiCittc2dzdHIgIk7Dum1lcm8gZGUgbWVuc2FqZXMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorbXNnaWQgIk1lc3NhZ2VzIgorbXNnc3RyICJNZW5zYWplcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyBzZW50IgorbXNnc3RyICJIb3JhIGRlbCDDumx0aW1vIG1lbnNhamUgZW52aWFkbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiTXNnIHNlbnQiCittc2dzdHIgIk1lbnNhamVzIGVudmlhZG9zIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHJlY2VpdmVkIgorbXNnc3RyICJIb3JhIGRlbCDDumx0aW1vIG1lbnNhamUgcmVjaWJpZG8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIk1zZyByZWNlaXZlZCIKK21zZ3N0ciAiTWVuc2FqZXMgcmVjaWJpZG9zIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjgKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHNlbmRlciIKK21zZ3N0ciAiUElEIGRlbCBlbWlzb3IgZGVsIMO6bHRpbW8gbWVuc2FqZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiTXNnIHNlbmRlciIKK21zZ3N0ciAiRW1pc29yIGRlbCBtZW5zYWplIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHJlY2VpdmVyIgorbXNnc3RyICJQSUQgZGVsIHJlY2VwdG9yIGRlbCDDumx0aW1vIG1lbnNhamUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIk1zZyByZWNlaXZlciIKK21zZ3N0ciAiUmVjZXB0b3IgZGVsIG1lbnNhamUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MgorbXNnaWQgIlNlZ21lbnQgc2l6ZSIKK21zZ3N0ciAiVGFtYcOxbyBkZWwgc2VnbWVudG8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MworbXNnaWQgIk51bWJlciBvZiBhdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIk7Dum1lcm8gZGUgcHJvY2Vzb3MgY29uZWN0YWRvcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCittc2dpZCAiQXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICJQcm9jZXNvcyBjb25lY3RhZG9zIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzQKK21zZ2lkICJTdGF0dXMiCittc2dzdHIgIkVzdGFkbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc1Cittc2dpZCAiQXR0YWNoIHRpbWUiCittc2dzdHIgIkhvcmEgZGUgY29uZXhpw7NuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzYKK21zZ2lkICJEZXRhY2ggdGltZSIKK21zZ3N0ciAiSG9yYSBkZSBkZXNjb25leGnDs24iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworbXNnaWQgIkNyZWF0b3IgY29tbWFuZCBsaW5lIgorbXNnc3RyICJMw61uZWEgZGUgw7NyZGVuZXMgZGVsIGNyZWFkb3IiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworbXNnaWQgIkNyZWF0b3IgY29tbWFuZCIKK21zZ3N0ciAiT3JkZW4gZGVsIGNyZWFkb3IiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIlBJRCBvZiB0aGUgY3JlYXRvciIKK21zZ3N0ciAiUElEIGRlbCBjcmVhZG9yIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJDcmVhdG9yIFBJRCIKK21zZ3N0ciAiUElEIGRlbCBjcmVhZG9yIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJQSUQgb2YgbGFzdCB1c2VyIgorbXNnc3RyICJQSUQgZGVsIMO6bHRpbW8gdXN1YXJpbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiTGFzdCB1c2VyIFBJRCIKK21zZ3N0ciAiUElEIGRlbCDDumx0aW1vIHVzdWFyaW8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJOw7ptZXJvIGRlIHNlbcOhZm9yb3MiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIlNlbWFwaG9yZXMiCittc2dzdHIgIlNlbcOhZm9yb3MiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICJIb3JhIGRlIGxhIMO6bHRpbWEgb3BlcmFjacOzbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCittc2dpZCAiTGFzdCBvcGVyYXRpb24iCittc2dzdHIgIsOabHRpbWEgb3BlcmFjacOzbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2Cittc2dpZCAiUmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAiTm9tYnJlIGRlbCByZWN1cnNvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKK21zZ2lkICJSZXNvdXJjZSIKK21zZ3N0ciAiUmVjdXJzbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg3Cittc2dpZCAiUmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgIkRlc2NyaXBjacOzbiBkZWwgcmVjdXJzbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg3Cittc2dpZCAiRGVzY3JpcHRpb24iCittc2dzdHIgIkRlc2NyaXBjacOzbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiQ3VycmVudGx5IHVzZWQiCittc2dzdHIgIlV0aWxpemFkbyBhY3R1YWxtZW50ZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiVXNlZCIKK21zZ3N0ciAiVXRpbGl6YWRvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKK21zZ2lkICJDdXJyZW50bHkgdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIlBvcmNlbnRhamUgZGUgdXNvIGFjdHVhbCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5Cittc2dpZCAiVXNlIgorbXNnc3RyICJVc28iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIlN5c3RlbS13aWRlIGxpbWl0IgorbXNnc3RyICJMw61taXRlIGdsb2JhbCBkZWwgc2lzdGVtYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiTGltaXQiCittc2dzdHIgIkzDrW1pdGUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb2x1bW4gJXMgZG9lcyBub3QgYXBwbHkgdG8gdGhlIHNwZWNpZmllZCBJUEMiCittc2dzdHIgImxhIGNvbHVtbmEgJXMgbm8gZXMgYXBsaWNhYmxlIGFsIElQQyBlc3BlY2lmaWNhZG8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4NworbXNnaWQgIiAtZywgLS1nbG9iYWwgICAgICBpbmZvIGFib3V0IHN5c3RlbS13aWRlIHVzYWdlIChtYXkgYmUgdXNlZCB3aXRoIC1tLCAtcSBhbmQgLXMpXG4iCittc2dzdHIgIiAtZywgLS1nbG9iYWwgICAgICBpbmZvcm1hY2nDs24gc29icmUgZWwgdXNvIGdsb2JhbCBkZWwgc2lzdGVtYSAocHVlZGUgY29tYmluYXJzZSBjb24gLW0sIC1xIHkgLXMpXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OAorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICAgICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIgLWksIC0taWQgPGlkPiAgICAgaW1wcmltZSBpbmZvcm1hY2nDs24gZGV0YWxsYWRhIHNvYnJlIGxvcyByZWN1cnNvcyBpZGVudGlmaWNhZG9zIHBvciA8aWQ+XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1iLCAtLWJ0eWVzICAgICAgICAgICAgICBtdWVzdHJhIGVsIFRBTUHDkU8gZW4gYnl0ZXMgZW4gbHVnYXIgZGUgaGFjZXJsbyBlbiBmb3JtYXRvIGxlZ2libGUgcGFyYSBodW1hbm9zXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NQorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICAgICAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIG11ZXN0cmEgZWwgY3JlYWRvciB5IGVsIHByb3BpZXRhcmlvXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NworbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgdXNlIHRoZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KICwgLS1qc29uICAgICAgICAgICAgICB1dGlsaXphIGVsIGZvcm1hdG8gZGUgc2FsaWRhIEpTT05cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICBmb3JjZSBsaXN0IG91dHB1dCBmb3JtYXQgKGZvciBleGFtcGxlIHdpdGggLS1pZClcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICBmdWVyemEgbGEgc2FsaWRhIGNvbiBmb3JtYXRvIGRlIGxpc3RhIChwb3IgZWplbXBsbywgY29uIC0taWQpXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMQorbXNnaWQgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgcHJpbnQgbnVtZXJpYyBwZXJtaXNzaW9ucyAoUEVSTVMgY29sdW1uKVxuIgorbXNnc3RyICIgLVAsIC0tbnVtZXJpYy1wZXJtcyAgICAgIGltcHJpbWUgbG9zIHBlcm1pc29zIG51bcOpcmljb3MgKGNvbHVtbmEgUEVSTVMpXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMworbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICAgICAgICAgbXVlc3RyYSBsYXMgaG9yYXMgZGUgY29uZXhpw7NuLCBkZXNjb25leGnDs24geSBjYW1iaW9cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmljIGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJDb2x1bW5hcyBnZW7DqXJpY2FzOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZC1tZW1vcnkgY29sdW1ucyAoLS1zaG1lbXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiQ29sdW1uYXMgZGUgbWVtb3JpYSBjb21wYXJ0aWRhICgtLXNobWVtcyk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZS1xdWV1ZSBjb2x1bW5zICgtLXF1ZXVlcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJDb2x1bW5hcyBkZSBjb2xhcyBkZSBtZW5zYWplcyAoLS1xdWV1ZXMpOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBjb2x1bW5zICgtLXNlbWFwaG9yZXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiQ29sdW1uYXMgZGUgc2Vtw6Fmb3JvcyAoLS1zZW1hcGhvcmVzKTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTdW1tYXJ5IGNvbHVtbnMgKC0tZ2xvYmFsKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkNvbHVtbmFzIHJlc3VtZW4gKC0tZ2xvYmFsKTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJFbGVtZW50czpcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkVsZW1lbnRvczpcbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA1Cittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZSBpZGVudGlmaWVycyIKK21zZ3N0ciAiTsO6bWVybyBkZSBpZGVudGlmaWNhZG9yZXMgZGUgc2Vtw6Fmb3JvcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA2Cittc2dpZCAiVG90YWwgbnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgIk7Dum1lcm8gdG90YWwgZGUgc2Vtw6Fmb3JvcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA3Cittc2dpZCAiTWF4IHNlbWFwaG9yZXMgcGVyIHNlbWFwaG9yZSBzZXQuIgorbXNnc3RyICJNw6F4LiBzZW3DoWZvcm9zIGVuIHVuIGNvbmp1bnRvIGRlIHNlbcOhZm9yb3MuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDgKK21zZ2lkICJNYXggbnVtYmVyIG9mIG9wZXJhdGlvbnMgcGVyIHNlbW9wKDIpIgorbXNnc3RyICJOw7ptZXJvIG3DoXguIGRlIG9wZXJhY2lvbmVzIHBvciBzZW1vcCgyKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA5Cittc2dpZCAiU2VtYXBob3JlIG1heCB2YWx1ZSIKK21zZ3N0ciAiVmFsb3IgbcOheC4gc2Vtw6Fmb3JvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjMKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgIk7Dum1lcm8gZGUgY29sYXMgZGUgbWVuc2FqZXMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg2NAorbXNnaWQgIk1heCBzaXplIG9mIG1lc3NhZ2UgKGJ5dGVzKSIKK21zZ3N0ciAiVGFtYcOxbyBtw6F4LiBkZSBtZW5zYWplIChieXRlcykiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg2NQorbXNnaWQgIkRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUgKGJ5dGVzKSIKK21zZ3N0ciAiVGFtYcOxbyBtw6F4LiBwcmVkZXRlcm1pbmFkbyBkZSBjb2xhIChieXRlcykiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk3OCBzeXMtdXRpbHMvbHNpcGMuYzo5OTcKK21zZ2lkICJodWdldGxiIgorbXNnc3RyICJ0YWJsYXMgZGUgcMOhZ2luYXMgZ2lnYW50ZXMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk3OSBzeXMtdXRpbHMvbHNpcGMuYzoxMDA0Cittc2dpZCAibm9yZXNlcnZlIgorbXNnc3RyICJubyByZXNlcnZhZG8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjEKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIgorbXNnc3RyICJTZWdtZW50b3MgZGUgbWVtb3JpYSBjb21wYXJ0aWRhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDYyCittc2dpZCAiU2hhcmVkIG1lbW9yeSBwYWdlcyIKK21zZ3N0ciAiUGFnaW5hcyBkZSBtZW1vcmlhIGNvbXBhcnRpZGEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjMKK21zZ2lkICJNYXggc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAiVGFtYcOxbyBtw6F4LiBkZSBzZWdtZW50byBkZSBtZW1vcmlhIGNvbXBhcnRpZGEgKGJ5dGVzKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2NAorbXNnaWQgIk1pbiBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICJUYW1hw7FvIG3DrW4uIGRlIHNlZ21lbnRvIGRlIG1lbW9yaWEgY29tcGFydGlkYSAoYnl0ZXMpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMTM1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElQQyBpZGVudGlmaWVyIgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBlbCBpZGVudGlmaWNhZG9yIGRlIElQQyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTIyOQorbXNnaWQgIi0tZ2xvYmFsIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tY3JlYXRvciwgLS1pZCBhbmQgLS10aW1lIgorbXNnc3RyICItLWdsb2JhbCBlcyBtdXR1YW1lbnRlIGV4Y2x1eWVudGUgY29uIC0tY3JlYXRvciwgLS1pZCB5IC0tdGltZSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4MworbXNnaWQgIm5hbWVzcGFjZSBpZGVudGlmaWVyIChpbm9kZSBudW1iZXIpIgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGRlbCBlc3BhY2lvIGRlIG5vbWJyZXMgKG7Dum1lcm8gZGUgbm9kby1pKSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NAorbXNnaWQgImtpbmQgb2YgbmFtZXNwYWNlIgorbXNnc3RyICJjbGFzZSBkZSBlc3BhY2lvIGRlIG5vbWJyZXMiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODUKK21zZ2lkICJwYXRoIHRvIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgInJ1dGEgZGVsIGVzcGFjaW8gZGUgbm9tYnJlcyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NgorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAibsO6bWVybyBkZSBwcm9jZXNvcyBlbiBlbCBlc3BhY2lvIGRlIG5vbWJyZXMiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODcKK21zZ2lkICJsb3dlc3QgUElEIGluIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgIlBJRCBtw6FzIGJham8gZW4gZWwgZXNwYWNpbyBkZSBub21icmVzIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg4Cittc2dpZCAiUFBJRCBvZiB0aGUgUElEIgorbXNnc3RyICJQUElEIGRlbCBQSUQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODkKK21zZ2lkICJjb21tYW5kIGxpbmUgb2YgdGhlIFBJRCIKK21zZ3N0ciAibMOtbmVhIGRlIMOzcmRlbmVzIGRlbCBQSUQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTAKK21zZ2lkICJVSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiVUlEIGRlbCBQSUQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTEKK21zZ2lkICJ1c2VybmFtZSBvZiB0aGUgUElEIgorbXNnc3RyICJub21icmUgZGUgdXN1YXJpbyBkZWwgUElEIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYxMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bmFtZXNwYWNlPl1cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gWzxlc3BhY2lvIGRlIG5vbWJyZXM+XVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYxNgorbXNnaWQgIkxpc3Qgc3lzdGVtIG5hbWVzcGFjZXMuXG4iCittc2dzdHIgIkVudW1lcmEgbG9zIG5vbWJyZXMgZGUgZXNwYWNpbyBkZWwgc2lzdGVtYS5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo2MjMKK21zZ2lkICIgLXAsIC0tdGFzayA8cGlkPiAgICAgICBwcmludCBwcm9jZXNzIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIC1wLCAtLXRhc2sgPHBpZD4gICAgICAgaW1wcmltZSBsb3MgZXNwYWNpb3MgZGUgbm9tYnJlcyBkZWwgcHJvY2Vzb1xuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYyNgorbXNnaWQgIiAtdCwgLS10eXBlIDxuYW1lPiAgICAgIG5hbWVzcGFjZSB0eXBlIChtbnQsIG5ldCwgaXBjLCB1c2VyLCBwaWQsIHV0cywgY2dyb3VwKVxuIgorbXNnc3RyICIgLXQsIC0tdHlwZSA8bm9tYnJlPiAgICB0aXBvIGRlIGVzcGFjaW8gZGUgbm9tYnJlcyAobW50LCBuZXQsIGlwYywgdXNlciwgcGlkLCB1dHMsIGNncm91cClcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBuYW1lc3BhY2UgdHlwZTogJXMiCittc2dzdHIgInRpcG8gZGUgZXNwYWNpbyBkZSBub21icmVzIGRlc2Nvbm9jaWRvOiAnJXMnICIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MzUKK21zZ2lkICItLXRhc2sgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPG5hbWVzcGFjZT4iCittc2dzdHIgIi0tdGFzayBlcyBtdXR1YW1lbnRlIGV4Y2x1eWVudGUgY29uIDxlc3BhY2lvIGRlIG5vbWJyZXM+IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjczNgorbXNnaWQgImludmFsaWQgbmFtZXNwYWNlIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gZGUgZXNwYWNpbyBkZSBub21icmVzIG5vIHbDoWxpZG8iCisKKyM6IHN5cy11dGlscy9sc25zLmM6Nzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBmb3VuZCBuYW1lc3BhY2U6ICVqdSIKK21zZ3N0ciAiZXNwYWNpbyBkZSBub21icmVzIG5vIGVuY29udHJhZG86ICVqdSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjYgc3lzLXV0aWxzL3Vtb3VudC5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24gKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICJzw7NsbyBlbCB1c3VhcmlvIHJvb3QgcHVlZGUgdXRpbGl6YXIgbGEgb3BjacOzbiBcIi0tJXNcIiAoZWwgVUlEIGVmZWN0aXZvIGVzICV1KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njkgc3lzLXV0aWxzL3Vtb3VudC5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICJzw7NsbyBlbCB1c3VhcmlvIHJvb3QgcHVlZGUgaGFjZXIgZXNvIChlbCBVSUQgZWZlY3Rpdm8gZXMgJXUpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MyBzeXMtdXRpbHMvdW1vdW50LmM6MTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiIKK21zZ3N0ciAic8OzbG8gZWwgdXN1YXJpbyByb290IHB1ZWRlIHV0aWxpemFyIGxhIG9wY2nDs24gXCItLSVzXCIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0IHN5cy11dGlscy91bW91bnQuYzoxMjUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCittc2dzdHIgInPDs2xvIGVsIHVzdWFyaW8gcm9vdCBwdWVkZSBlZmVjdHVhciBlc2EgYWNjacOzbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6ODUgc3lzLXV0aWxzL3Vtb3VudC5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgKGxpYm1vdW50ICVzIgorbXNnc3RyICIlcyBkZSAlcyAobGlibW91bnQgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEzMAorbXNnaWQgImZhaWxlZCB0byByZWFkIG10YWIiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBsZWVyIG10YWIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MiBzeXMtdXRpbHMvdW1vdW50LmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBpZ25vcmVkXG4iCittc2dzdHIgIiUtMjVzOiBpZ25vcmFkb1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGFscmVhZHkgbW91bnRlZFxuIgorbXNnc3RyICIlLTI1cyB5YSBlc3TDoSBtb250YWRvXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI0OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW92ZWQgdG8gJXMuXG4iCittc2dzdHIgIiVzOiAlcyBtb3ZpZG8gYSAlcy5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBib3VuZCBvbiAlcy5cbiIKK21zZ3N0ciAiJXM6ICVzIHZpbmN1bGFkYSBhICVzLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTQgc3lzLXV0aWxzL21vdW50LmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3VudGVkIG9uICVzLlxuIgorbXNnc3RyICIlczogJXMgbW9udGFkbyBlbiAlcy5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBwcm9wYWdhdGlvbiBmbGFncyBjaGFuZ2VkLlxuIgorbXNnc3RyICIlczogJXMgbG9zIGluZGljYWRvcmVzIGRlIHByb3BhZ2FjacOzbiBoYW4gY2FtYmlhZG8uXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjMxMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibW91bnQ6ICVzIGRvZXMgbm90IGNvbnRhaW4gU0VMaW51eCBsYWJlbHMuXG4iCisiICAgICAgIFlvdSBqdXN0IG1vdW50ZWQgYW4gZmlsZSBzeXN0ZW0gdGhhdCBzdXBwb3J0cyBsYWJlbHMgd2hpY2ggZG9lcyBub3RcbiIKKyIgICAgICAgY29udGFpbiBsYWJlbHMsIG9udG8gYW4gU0VMaW51eCBib3guIEl0IGlzIGxpa2VseSB0aGF0IGNvbmZpbmVkXG4iCisiICAgICAgIGFwcGxpY2F0aW9ucyB3aWxsIGdlbmVyYXRlIEFWQyBtZXNzYWdlcyBhbmQgbm90IGJlIGFsbG93ZWQgYWNjZXNzIHRvXG4iCisiICAgICAgIHRoaXMgZmlsZSBzeXN0ZW0uICBGb3IgbW9yZSBkZXRhaWxzIHNlZSByZXN0b3JlY29uKDgpIGFuZCBtb3VudCg4KS5cbiIKK21zZ3N0ciAiIgorIm1vdW50OiAlcyBubyBjb250aWVuZSBldGlxdWV0YXMgU0VMaW51eC5cbiIKKyIgICAgICAgVXN0ZWQgaGEgbW9udGFkbyB1biBzaXN0ZW1hIGRlIGZpY2hlcm9zIHF1ZSBhZG1pdGUgZXRpcXVldGFzIHF1ZSBub1xuIgorIiAgICAgICBjb250ZW5nYW4gZXRpcXVldGFzLCBzb2JyZSB1bmEgY2FqYSBTRUxpbnV4LiBFcyBwcm9iYWJsZSBxdWUgbGFzIGFwbGljYWNpb25lc1xuIgorIiAgICAgICBjb25maW5hZGFzIGVuIMOpbCBnZW5lcmVuIG1lbnNhamVzIEFWQyB5IG5vIHRlbmdhbiBwZXJtaXNvIHBhcmEgYWNjZWRlciBhXG4iCisiICAgICAgIGVzdGUgc2lzdGVtYSBkZSBmaWNoZXJvcy4gUGFyYSBtw6FzIGRldGFsbGVzLCBjb25zdWx0ZSByZXN0b3JlY29uKDgpIHkgbW91bnQoOCkuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3OAorbXNnaWQgIldBUk5JTkc6IGZhaWxlZCB0byBhcHBseSBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiQVRFTkNJw5NOOiBsb3MgaW5kaWNhZG9yZXMgZGUgcHJvcGFnYWNpw7NuIG5vIHNlIGhhbiBwb2RpZG8gYXBsaWNhciIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCittc2dzdHIgInPDs2xvIGVsIHVzdWFyaW8gcm9vdCBwdWVkZSBtb250YXIgJXMgZW4gJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQiCittc2dzdHIgIiVzIHlhIGVzdMOhIG1vbnRhZG8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB1c2VkIGFzIHJlYWQgb25seSBsb29wLCBtb3VudGluZyByZWFkLW9ubHkiCittc2dzdHIgIiVzIHNlIHV0aWxpemEgc29sbyBwYXJhIGxlY3R1cmE7IHNlIG1vbnRhIGNvbW8gZGUgc29sbyBsZWN0dXJhIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCAlcyBpbiAlcyIKK21zZ3N0ciAibm8gc2UgcHVlZGUgZW5jb250cmFyICVzIGVuICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudHBvaW50ICVzIGluICVzIgorbXNnc3RyICJubyBzZSBwdWVkZSBlbmNvbnRyYXIgZWwgcHVudG8gZGUgbW9udGFqZSAlcyBlbiAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDI2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgc291cmNlICVzIGluICVzIgorbXNnc3RyICJubyBzZSBwdWVkZSBlbmNvbnRyYXIgbGEgZnVlbnRlIGRlIG1vbnRhamUgJXMgZW4gJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXM6IG1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQuIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sXG4iCisiICAgICAgIHVzZSAtdCA8dHlwZT4gdG8gZXhwbGljaXRseSBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUgb3JcbiIKKyIgICAgICAgdXNlIHdpcGVmcyg4KSB0byBjbGVhbiB1cCB0aGUgZGV2aWNlLiIKK21zZ3N0ciAiIgorIiVzOiBzZSBoYW4gZGV0ZWN0YWRvIG3DoXMgc2lzdGVtYXMgZGUgZmljaGVyb3MuIEVzdG8gbm8gZGViZXLDrWEgc3VjZWRlcjtcbiIKKyIgICAgICAgdXRpbGljZSAtdCA8dGlwbz4gcGFyYSBlc3BlY2lmaWNhciBleHBsw61jaXRhbWVudGUgZWwgdGlwbyBkZSBzaXN0ZW1hIGRlIGZpY2hlcm9zIG9cbiIKKyIgICAgICAgdXRpbGljZSB3aXBlZnMoOCkgcGFyYSBsaW1waWFyIGVsIGRpc3Bvc2l0aXZvLiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDM2Cittc2dpZCAiSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgIk5vIGhlIHBvZGlkbyBkZXRlcm1pbmFyIGVsIHRpcG8gZGUgc2lzdGVtYSBkZSBmaWNoZXJvcyB5IG5vIHNlIGhhIGVzcGVjaWZpY2FkbyBuaW5ndW5vIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzkKK21zZ2lkICJ5b3UgbXVzdCBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgImRlYmUgZXNwZWNpZmljYXIgZWwgdGlwbyBkZSBzaXN0ZW1hIGRlIGZpY2hlcm9zIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCAlcyIKK21zZ3N0ciAibm8gc2UgcHVlZGUgZW5jb250cmFyICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDcKK21zZ2lkICJtb3VudCBzb3VyY2Ugbm90IGRlZmluZWQiCittc2dzdHIgImZ1ZW50ZSBkZSBtb250YWplIG5vIGRlZmluaWRhIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTEgc3lzLXV0aWxzL21vdW50LmM6NDUzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IG9wdGlvbnMiCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIGxhcyBvcGNpb25lcyBkZSBtb250YWplIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IGVycm9yIGFsIGNvbmZpZ3VyYXIgZGlzcG9zaXRpdm8gZGUgYnVjbGUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnQgZmFpbGVkIgorbXNnc3RyICIlczogbW9udGFqZSBlcnLDs25lbyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlc3lzdGVtIG1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCittc2dzdHIgIiVzOiBlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zIGVzdMOhIG1vbnRhZG8sIHBlcm8gbW91bnQoOCkgaGEgZmFsbGFkbyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDg5IHN5cy11dGlscy9tb3VudC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImVsIHB1bnRvIGRlIG1vbnRhamUgJXMgbm8gZXMgdW4gZGlyZWN0b3JpbyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDkzCittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorbXNnc3RyICJkZWJlIHNlciBzdXBlcnVzdWFyaW8gcGFyYSB1dGlsaXphciBtb3VudCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGJ1c3kiCittc2dzdHIgIiVzIGVzdMOhIG9jdXBhZG8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb3IgJXMgYnVzeSIKK21zZ3N0ciAiJXMgeWEgZXN0w6EgbW9udGFkbyBvICVzIGVzdMOhIG9jdXBhZG8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUxNworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzXG4iCittc2dzdHIgIiAgICAgICAlcyB5YSBlc3TDoSBtb250YWRvIGVuICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUyNQorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiZWwgcHVudG8gZGUgbW9udGFqZSAlcyBubyBleGlzdGUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBpcyBhIHN5bWJvbGljIGxpbmsgdG8gbm93aGVyZSIKK21zZ3N0ciAiZWwgcHVudG8gZGUgbW9udGFqZSAlcyBlcyB1biBlbmxhY2Ugc2ltYsOzbGljbyBzaW4gZGVzdGlubyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJlbCBkaXNwb3NpdGl2byBlc3BlY2lhbCAlcyBubyBleGlzdGUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUzNiBzeXMtdXRpbHMvbW91bnQuYzo1Mzggc3lzLXV0aWxzL21vdW50LmM6NTQwCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NTUKK21zZ2lkICJtb3VudCgyKSBmYWlsZWQiCittc2dzdHIgIm1vdW50KDIpIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU1MQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpIgorbXNnc3RyICJlbCBkaXNwb3NpdGl2byBlc3BlY2lhbCAlcyBubyBleGlzdGUgKHVuIHByZWZpam8gZGUgcnV0YSBubyBlcyB1biBkaXJlY3RvcmlvKSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCittc2dzdHIgIiVzIG5vIGVzdMOhIG1vbnRhZG8gbyB1bmEgb3BjacOzbiBlcyBpbmNvcnJlY3RhIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50cG9pbnQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAiJXMgbm8gZXN0w6EgbW9udGFkbyB0b2RhdsOtYSBvIHVuYSBvcGNpw7NuIGVzIGluY29ycmVjdGEiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2NQorbXNnaWQgIiIKKyJiYWQgb3B0aW9uLiBOb3RlIHRoYXQgbW92aW5nIGEgbW91bnQgcmVzaWRpbmcgdW5kZXIgYSBzaGFyZWRcbiIKKyIgICAgICAgbW91bnQgaXMgdW5zdXBwb3J0ZWQuIgorbXNnc3RyICIiCisib3BjacOzbiBpbmNvcnJlY3RhLiBPYnPDqXJ2ZXNlIHF1ZSBubyBzZSBhZG1pdGUgbW92ZXIgdW4gbW9udGFqZVxuIgorIiAgICAgICBiYWpvIHVuIG1vbnRhamUgY29tcGFydGlkby4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisid3JvbmcgZnMgdHlwZSwgYmFkIG9wdGlvbiwgYmFkIHN1cGVyYmxvY2sgb24gJXMsXG4iCisiICAgICAgIG1pc3NpbmcgY29kZXBhZ2Ugb3IgaGVscGVyIHByb2dyYW0sIG9yIG90aGVyIGVycm9yIgorbXNnc3RyICIiCisidGlwbyBkZSBzaXN0ZW1hIGRlIGZpY2hlcm9zIGluY29ycmVjdG8sIG9wY2nDs24gaW5jb3JyZWN0YSwgc3VwZXJibG9xdWUgaW5jb3JyZWN0byBlbiAlcyxcbiIKKyIgICAgICAgZmFsdGEgbGEgcMOhZ2luYSBkZSBjw7NkaWdvcyBvIGVsIHByb2dyYW1hIGF1eGlsaWFyLCBvIGFsZ8O6biBvdHJvIGVycm9yIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgICAoZm9yIHNldmVyYWwgZmlsZXN5c3RlbXMgKGUuZy4gbmZzLCBjaWZzKSB5b3UgbWlnaHRcbiIKKyIgICAgICAgbmVlZCBhIC9zYmluL21vdW50Ljx0eXBlPiBoZWxwZXIgcHJvZ3JhbSlcbiIKK21zZ3N0ciAiIgorIiAgICAgICAocGFyYSB2YXJpb3Mgc2lzdGVtYXMgZGUgZmljaGVyb3MgKHYuZy4gbmZzLCBjaWZzKSBwb2Ryw61hXG4iCisiICAgICAgIHNlciBuZWNlc2FyaW8gdW4gcHJvZ3JhbWEgYXV4aWxpYXIgL3NiaW4vbW91bnQuPHRpcG8+XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiICAgICAgIEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gaXMgZm91bmQgaW4gc3lzbG9nIC0gdHJ5XG4iCisiICAgICAgIGRtZXNnIHwgdGFpbCBvciBzby5cbiIKK21zZ3N0ciAiIgorIlxuIgorIiAgICAgICBFbiBhbGd1bm9zIGNhc29zIHNlIGVuY3VlbnRyYSBpbmZvcm1hY2nDs24gZW4gc3lzbG9nIC0gcHJ1ZWJlXG4iCisiICAgICAgIGRtZXNnIHwgdGFpbCBvIGFsZ28gcGFyZWNpZG8uXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU4MworbXNnaWQgIm1vdW50IHRhYmxlIGZ1bGwiCittc2dzdHIgInRhYmxhIGRlIGRpc3Bvc2l0aXZvcyBtb250YWRvcyBjb21wbGV0YSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCByZWFkIHN1cGVyYmxvY2siCittc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBsZWVyIGVsIHN1cGVyYmxvcXVlIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKK21zZ3N0ciAidGlwbyBkZSBzaXN0ZW1hIGRlIGZpY2hlcm9zICclcycgZGVzY29ub2NpZG8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU5NAorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJ0aXBvIGRlIHNpc3RlbWEgZGUgZmljaGVyb3MgZGVzY29ub2NpZG8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UsIGFuZCBzdGF0KDIpIGZhaWxzPyIKK21zZ3N0ciAiJXMgbm8gZXMgdW4gZGlzcG9zaXRpdm8gZGUgYmxvcXVlcyB5IMK/c3RhdCBmYWxsYT8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2VcbiIKKyIgICAgICAgKG1heWJlIGBtb2Rwcm9iZSBkcml2ZXInPykiCittc2dzdHIgIiIKKyJlbCBuw7pjbGVvIG5vIHJlY29ub2NlICVzIGNvbW8gZGlzcG9zaXRpdm8gZGUgYmxvcXVlc1xuIgorIiAgICAgICAowr90YWwgdmV6IGBtb2Rwcm9iZSBkcml2ZXInPykiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UgKG1heWJlIHRyeSBgLW8gbG9vcCc/KSIKK21zZ3N0ciAiJXMgbm8gZXMgdW4gZGlzcG9zaXRpdm8gZGUgYmxvcXVlcyAocHJ1ZWJlIGAtbyBsb29wJykiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIgJXMgbm8gZXMgdW4gZGlzcG9zaXRpdm8gZGUgYmxvcXVlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXMgbm8gZXMgdW4gZGlzcG9zaXRpdm8gZGUgYmxvcXVlcyB2w6FsaWRvIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50ICVzIHJlYWQtb25seSIKK21zZ3N0ciAibm8gc2UgcHVlZGUgbW9udGFyICVzIHBhcmEgc29sbyBsZWN0dXJhIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCBgLXcnIGZsYWcgZ2l2ZW4iCittc2dzdHIgIiVzIGVzdMOhIHByb3RlZ2lkbyBjb250cmEgZXNjcml0dXJhIHBlcm8gc2UgaGEgaW5kaWNhZG8gbGEgb3BjacOzbiBgLXcnIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlbW91bnQgJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorbXNnc3RyICJubyBzZSBwdWVkZSB2b2x2ZXIgYSBtb250YXIgJXMgcGFyYSBsZWN0dXJhIHkgZXNjcml0dXJhOyBlc3TDoSBwcm90ZWdpZG8gY29udHJhIGVzY3JpdHVyYSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjMxIHN5cy11dGlscy9tb3VudC5jOjY1NCBzeXMtdXRpbHMvdW5zaGFyZS5jOjE4OAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBvbiAlcyBmYWlsZWQiCittc2dzdHIgImVsIG1vbnRhamUgZGUgJXMgZW4gJXMgZmFsbMOzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkLCBtb3VudGluZyByZWFkLW9ubHkiCittc2dzdHIgIiVzIGVzdMOhIHByb3RlZ2lkbyBjb250cmEgZXNjcml0dXJhOyBzZSBtb250YSBjb21vIHPDs2xvIGxlY3R1cmEiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBtZWRpdW0gZm91bmQgb24gJXMiCittc2dzdHIgIm5vIHNlIGhhIGVuY29udHJhZG8gbmluZ8O6biBtZWRpbyBlbiAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UiCittc2dzdHIgIiVzOiBmYWxsbyBhbCBhbmFsaXphciIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG9wdGlvbiBmb3JtYXQ6ICVzIgorbXNnc3RyICJmb3JtYXRvIGRlIG9wY2nDs24gZGVzY29ub2NpZG86ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFwcGVuZCBvcHRpb24gJyVzJyIKK21zZ3N0ciAiZmFsbG8gYWwgYcOxYWRpciBsYSBvcGNpw7NuICclcyciCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjczNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZV0gPHNvdXJjZT4gfCBbLS10YXJnZXRdIDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgPG9wZXJhdGlvbj4gPG1vdW50cG9pbnQ+IFs8dGFyZ2V0Pl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstbGhWXVxuIgorIiAlMSRzIC1hIFtvcGNpb25lc11cbiIKKyIgJTEkcyBbb3BjaW9uZXNdIFstLXNvdXJjZV0gPGZ1ZW50ZT4gfCBbLS10YXJnZXRdIDxkaXJlY3RvcmlvPlxuIgorIiAlMSRzIFtvcGNpb25lc10gPGZ1ZW50ZT4gPGRpcmVjdG9yaW8+XG4iCisiICUxJHMgPG9wZXJhY2nDs24+IDxwdW50b2RlbW9udGFqZT4gWzxkZXN0aW5vPl1cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzQ0Cittc2dpZCAiTW91bnQgYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJNb250YSB1biBzaXN0ZW1hIGRlIGZpY2hlcm9zLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBtb3VudCBhbGwgZmlsZXN5c3RlbXMgbWVudGlvbmVkIGluIGZzdGFiXG4iCisiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSBtb3VudCgyKSBzeXNjYWxsXG4iCisiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIGZvcmsgb2ZmIGZvciBlYWNoIGRldmljZSAodXNlIHdpdGggLWEpXG4iCisiIC1ULCAtLWZzdGFiIDxwYXRoPiAgICAgIGFsdGVybmF0aXZlIGZpbGUgdG8gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIG1vbnRhIHRvZG9zIGxvcyBzaXN0ZW1hcyBkZSBmaWNoZXJvcyBtZW5jaW9uYWRvcyBlbiBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBubyBjYW5vbml6YSBsYXMgcnV0YXNcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgaGFjZSB1bmEgcHJ1ZWJhOyBubyByZWFsaXphIGxhIGxsYW1hZGEgYWwgc2lzdGVtYSBtb3VudCgyKVxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBzZSBkZXNkb2JsYSBwYXJhIGNhZGEgZGlzcG9zaXRpdm8gKHV0aWzDrWNlc2UgY29uIC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8cGF0aD4gICAgICBmaWNoZXJvIGFsdGVybmF0aXZvIGEgL2V0Yy9mc3RhYlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBubyBsbGFtYSBhIGxvcyBhdXhpbGlhcmVzIG1vdW50Ljx0aXBvPlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIHNob3cgYWxzbyBmaWxlc3lzdGVtIGxhYmVsc1xuIgorbXNnc3RyICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgbXVlc3RyYSB0YW1iacOpbiBsYXMgZXRpcXVldGFzIGRlIGxvcyBzaXN0ZW1hcyBkZSBmaWNoZXJvc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTggc3lzLXV0aWxzL3Vtb3VudC5jOjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIG5vIGVzY3JpYmUgZW4gL2V0Yy9tdGFiXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc2MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIG1vdW50IG9wdGlvbnNcbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtb25seSAoc2FtZSBhcyAtbyBybylcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb3B0aW9ucyA8bGlzdGE+ICAgbGlzdGEgZGUgb3BjaW9uZXMgZGUgbW9udGFqZSBzZXBhcmFkYXMgcG9yIGNvbWFcbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0YT4gbGltaXRhIGVsIGNvbmp1bnRvIGRlIHNpc3RlbWFzIGRlIGZpY2hlcm9zICh1dGlsw61jZXNlIGNvbiAtYSlcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgbW9udGEgZWwgc2lzdGVtYSBkZSBmaWNoZXJvcyBwYXJhIHNvbG8gbGVjdHVyYSAoaWd1YWwgcXVlIC1vIHJvKVxuIgorIiAtdCwgLS10eXBlcyA8bGlzdGE+ICAgICBsaW1pdGEgZWwgY29uanVudG8gZGUgdGlwb3MgZGUgc2lzdGVtYXMgZGUgZmljaGVyb3NcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tc291cmNlIDxzcmM+ICAgICAgZXhwbGljaXRseSBzcGVjaWZpZXMgc291cmNlIChwYXRoLCBsYWJlbCwgdXVpZClcbiIKKyIgICAgIC0tdGFyZ2V0IDx0YXJnZXQ+ICAgZXhwbGljaXRseSBzcGVjaWZpZXMgbW91bnRwb2ludFxuIgorbXNnc3RyICIiCisiICAgICAtLXNvdXJjZSA8c3JjPiAgICAgIGVzcGVjaWZpY2EgZXhwbMOtY2l0YW1lbnRlIGxhIGZ1ZW50ZSAocnV0YSwgZXRpcXVldGEsIHV1aWQpXG4iCisiICAgICAtLXRhcmdldCA8ZHN0PiAgICAgIGVzcGVjaWZpY2EgZXhwbMOtY2l0YW1lbnRlIGVsIHB1bnRvIGRlIG1vbnRhamVcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzY4IHN5cy11dGlscy91bW91bnQuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgZGljZSBsbyBxdWUgc2UgZXN0w6EgaGFjaWVuZG9cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgbW9udGEgZWwgc2lzdGVtYSBkZSBmaWNoZXJvcyBwYXJhIGxlY3R1cmEgeSBlc2NyaXR1cmEgKHByZWRldGVybWluYWRvKVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNvdXJjZTpcbiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorbXNnc3RyICIiCisiXG4iCisiRnVlbnRlOlxuIgorIiAtTCwgLS1sYWJlbCA8ZXRpcXVldGE+ICBzaW7Ds25pbW8gZGUgTEFCRUw9PGV0aXF1ZXRhPlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBzaW7Ds25pbW8gZGUgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGV0aXF1ZXRhPiAgICAgICAgZXNwZWNpZmljYSBlbCBkaXNwb3NpdGl2byBtZWRpYW50ZSBsYSBldGlxdWV0YSBkZWwgc2lzdGVtYSBkZSBmaWNoZXJvc1xuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICBlc3BlY2lmaWNhIGVsIGRpc3Bvc2l0aXZvIG1lZGlhbnRlIGVsIFVVSUQgZGVsIHNpc3RlbWEgZGUgZmljaGVyb3NcbiIKKyIgUEFSVExBQkVMPTxldGlxdWV0YT4gICAgZXNwZWNpZmljYSBlbCBkaXNwb3NpdGl2byBtZWRpYW50ZSBsYSBldGlxdWV0YSBkZSBsYSBwYXJ0aWNpw7NuXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIGVzcGVjaWZpY2EgZWwgZGlzcG9zaXRpdm8gbWVkaWFudGUgZWwgVVVJRCBkZSBsYSBwYXJ0aWNpw7NuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGF0aFxuIgorIiA8ZGlyZWN0b3J5PiAgICAgICAgICAgICBtb3VudHBvaW50IGZvciBiaW5kIG1vdW50cyAoc2VlIC0tYmluZC9yYmluZClcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICAgcmVndWxhciBmaWxlIGZvciBsb29wZGV2IHNldHVwXG4iCittc2dzdHIgIiIKKyIgPGRpc3Bvc2l0aXZvPiAgICAgICAgICAgZXNwZWNpZmljYSBlbCBkaXNwb3NpdGl2byBtZWRpYW50ZSBsYSBydXRhXG4iCisiIDxkaXJlY3RvcmlvPiAgICAgICAgICAgIHB1bnRvIGRlIG1vbnRhamUgcGFyYSBsb3MgbW9udGFqZXMgZGUgwqtiaW5kwrsgKHbDqWFzZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWNoZXJvPiAgICAgICAgICAgICAgIGZpY2hlcm8gb3JkaW5hcmlvIHBhcmEgY29uZmlndXJhciBkaXNwb3NpdGl2byBkZSBidWNsZVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wZXJhdGlvbnM6XG4iCisiIC1CLCAtLWJpbmQgICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBzb21ld2hlcmUgZWxzZSAoc2FtZSBhcyAtbyBiaW5kKVxuIgorIiAtTSwgLS1tb3ZlICAgICAgICAgICAgICBtb3ZlIGEgc3VidHJlZSB0byBzb21lIG90aGVyIHBsYWNlXG4iCisiIC1SLCAtLXJiaW5kICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBhbmQgYWxsIHN1Ym1vdW50cyBzb21ld2hlcmUgZWxzZVxuIgorbXNnc3RyICIiCisiXG4iCisiT3BlcmFjaW9uZXM6XG4iCisiIC1CLCAtLWJpbmQgICAgICAgICAgICAgIG1vbnRhIHVuIHN1YsOhcmJvbCBlbiBhbGfDum4gb3RybyBzaXRpbyAoaWd1YWwgcXVlIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG11ZXZlIHVuIHN1YsOhcmJvbCBhIGFsZ8O6biBvdHJvIHNpdGlvXG4iCisiIC1SLCAtLXJiaW5kICAgICAgICAgICAgIG1vbnRhIHVuIHN1YsOhcmJvbCB5IHRvZG9zIGxvcyBzdWJtb250YWplcyBlbiBhbGfDum4gb3RybyBzaXRpb1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXNsYXZlICAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXByaXZhdGUgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICBtYXJrIGEgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyY2EgdW4gc3Viw6FyYm9sIGNvbW8gY29tcGFydGlkb1xuIgorIiAtLW1ha2Utc2xhdmUgICAgICAgICAgICBtYXJjYSB1biBzdWLDoXJib2wgY29tbyBlc2NsYXZvXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmNhIHVuIHN1YsOhcmJvbCBjb21vIHByaXZhZG9cbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyY2EgdW4gc3Viw6FyYm9sIGNvbW8gbm8gdmluY3VsYWJsZVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2UtcnNoYXJlZCAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXJzbGF2ZSAgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXJwcml2YXRlICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtcnVuYmluZGFibGUgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKyIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAgbWFyY2EgcmVjdXJzaXZhbWVudGUgdW4gc3Viw6FyYm9sIGNvbXBsZXRvIGNvbW8gY29tcGFydGlkb1xuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICBtYXJjYSByZWN1cnNpdmFtZW50ZSB1biBzdWLDoXJib2wgY29tcGxldG8gY29tbyBlc2NsYXZvXG4iCisiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIG1hcmNhIHJlY3Vyc2l2YW1lbnRlIHVuIHN1YsOhcmJvbCBjb21wbGV0byBjb21vIHByaXZhZG9cbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgbWFyY2EgcmVjdXJzaXZhbWVudGUgdW4gc3Viw6FyYm9sIGNvbXBsZXRvIGNvbW8gbm8gdmluY3VsYWJsZVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4ODcgc3lzLXV0aWxzL3Vtb3VudC5jOjU0OAorbXNnaWQgImxpYm1vdW50IGNvbnRleHQgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgImZhbGxvIGVuIGxhIGFzaWduYWNpw7NuIGRlbCBjb250ZXh0byBkZSBsaWJtb3VudCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6OTQ0IHN5cy11dGlscy91bW91bnQuYzo2MDEKK21zZ2lkICJmYWlsZWQgdG8gc2V0IG9wdGlvbnMgcGF0dGVybiIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGVzdGFibGVjZXIgZWwgcGF0csOzbiBkZSBsYXMgb3BjaW9uZXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEwOTcKK21zZ2lkICJzb3VyY2Ugc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJzZSBoYSBlc3BlY2lmaWNhZG8gZWwgb3JpZ2VuIG3DoXMgZGUgdW5hIHZleiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstcWRdIC9wYXRoL3RvL2RpcmVjdG9yeVxuIgorIiAlMSRzIC14IC9kZXYvZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLXFkXSAvcnV0YS9hL2RpcmVjdG9yaW9cbiIKKyIgJTEkcyAteCAvZGV2L2Rpc3Bvc2l0aXZvXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTIyCittc2dpZCAiQ2hlY2sgd2hldGhlciBhIGRpcmVjdG9yeSBvciBmaWxlIGlzIGEgbW91bnRwb2ludC5cbiIKK21zZ3N0ciAiQ29tcHJ1ZWJhIHNpIHVuIGRpcmVjdG9yaW8gbyB1biBmaWNoZXJvIGVzIHVuIHB1bnRvIGRlIG1vbnRhamUuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTI1Cittc2dpZCAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgcXVpZXQgbW9kZSAtIGRvbid0IHByaW50IGFueXRoaW5nXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgYmxvY2sgZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgLXEsIC0tcXVpZXQgICAgICAgIG1vZG8gc2lsZW5jaW9zbyAtIG5vIGltcHJpbWUgbmFkYVxuIgorIiAtZCwgLS1mcy1kZXZubyAgICAgaW1wcmltZSBuw7ptZXJvIGRlIGRpc3Bvc2l0aXZvIG1heW9yOm1lbm9yIGRlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zXG4iCisiIC14LCAtLWRldm5vICAgICAgICBpbXByaW1lIG7Dum1lcm8gZGUgZGlzcG9zaXRpdm8gbWF5b3I6bWVub3IgZGVsIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyBubyBlcyB1biBwdW50byBkZSBtb250YWplXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyBlcyB1biBwdW50byBkZSBtb250YWplXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzIgc3lzLXV0aWxzL3NldHByaXYuYzo5MyBzeXMtdXRpbHMvdW5zaGFyZS5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gPHByb2dyYW1hPiBbPGFyZ3VtZW50bz4uLi5dXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzYKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggbmFtZXNwYWNlcyBvZiBvdGhlciBwcm9jZXNzZXMuXG4iCittc2dzdHIgIkVqZWN1dGEgdW4gcHJvZ3JhbWEgY29uIGVzcGFjaW9zIGRlIG5vbWJyZXMgZGUgb3Ryb3MgcHJvY2Vzb3MuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzkKK21zZ2lkICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICB0YXJnZXQgcHJvY2VzcyB0byBnZXQgbmFtZXNwYWNlcyBmcm9tXG4iCittc2dzdHIgIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgIHByb2Nlc28gZGVsIHF1ZSBvYnRlbmVyIGxvcyBlc3BhY2lvcyBkZSBub21icmVzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODAKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICBlbnRlciBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1tLCAtLW1vdW50Wz08ZmljaGVybz5dwqBpbnRyb2R1Y2UgZWwgZXNwYWNpbyBkZSBub21icmVzIGRlbCBtb250YWplXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODEKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICBlbnRlciBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAtdSwgLS11dHNbPTxmaWNoZXJvPl0gIGludHJvZHVjZSBlbCBlc3BhY2lvIGRlIG5vbWJyZXMgVVRTIChub21icmUgZGUgbcOhcXVpbmEsIGV0Yy4pXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODIKK21zZ2lkICIgLWksIC0taXBjWz08ZmlsZT5dICAgICBlbnRlciBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtaSwgLS1pcGNbPTxmaWNoZXJvPl0gIGludHJvZHVjZSBlbCBlc3BhY2lvIGRlIG5vbWJyZXMgZGVsIFN5c3RlbSBWIElQQ1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgzCittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgZW50ZXIgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1uLCAtLW5ldFs9PGZpY2hlcm8+XSAgaW50cm9kdWNlIGVsIGVzcGFjaW8gZGUgbm9tYnJlcyBkZSByZWRcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NAorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgIGVudGVyIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZFs9PGZpY2hlcm8+XSAgaW50cm9kdWNlIGVsIGVzcGFjaW8gZGUgbm9tYnJlcyBkZSBwaWRcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NQorbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gIGVudGVyIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1DLCAtLWNncm91cFs9PGZpY2hlcm8+XcKgaW50cm9kdWNlIGVsIGVzcGFjaW8gZGUgbm9tYnJlcyBkZWwgY2dyb3VwXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODYKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICBlbnRlciB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLVUsIC0tdXNlcls9PGZpY2hlcm8+XSBpbnRyb2R1Y2UgZWwgZXNwYWNpbyBkZSBub21icmVzIGRlIHVzdWFyaW9cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NworbXNnaWQgIiAtUywgLS1zZXR1aWQgPHVpZD4gICAgIHNldCB1aWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgZXN0YWJsZWNlIGVsIHVpZCBlbiBlbCBlc3BhY2lvIGRlIG5vbWJyZXMgaW50cm9kdWNpZG9cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OAorbXNnaWQgIiAtRywgLS1zZXRnaWQgPGdpZD4gICAgIHNldCBnaWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1HLCAtLXNldGdpZCA8Z2lkPiAgICAgZXN0YWJsZWNlIGVsIGdpZCBlbiBlbCBlc3BhY2lvIGRlIG5vbWJyZXMgaW50cm9kdWNpZG9cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OQorbXNnaWQgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyBkbyBub3QgdG91Y2ggdWlkcyBvciBnaWRzXG4iCittc2dzdHIgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyBubyB0b2NhIHVpZHMgbmkgZ2lkc1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkwCittc2dpZCAiIC1yLCAtLXJvb3RbPTxkaXI+XSAgICAgc2V0IHRoZSByb290IGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXIsIC0tcm9vdFs9PGRpcj5dICAgICBlc3RhYmxlY2UgZWwgZGlyZWN0b3JpbyByYcOtelxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkxCittc2dpZCAiIC13LCAtLXdkWz08ZGlyPl0gICAgICAgc2V0IHRoZSB3b3JraW5nIGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXcsIC0td2RbPTxkaXI+XSAgICDCoCAgZXN0YWJsZWNlIGVsIGRpcmVjdG9yaW8gZGUgdHJhYmFqb1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkyCittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgZG8gbm90IGZvcmsgYmVmb3JlIGV4ZWMnaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgLUYsIC0tbm8tZm9yayAgICAgICAgICBubyBjcmVhIG90cm8gcHJvY2VzbyBhbnRlcyBkZSBlamVjdXRhciA8cHJvZ3JhbWE+XG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTQKK21zZ2lkICIgLVosIC0tZm9sbG93LWNvbnRleHQgICBzZXQgU0VMaW51eCBjb250ZXh0IGFjY29yZGluZyB0byAtLXRhcmdldCBQSURcbiIKK21zZ3N0ciAiIC1aLCAtLWZvbGxvdy1jb250ZXh0ICAgZXN0YWJsZWNlIGNvbnRleHRvIFNFTGludXggY29uZm9ybWUgYSAtLXRhcmdldCBQSURcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAibmVpdGhlciBmaWxlbmFtZSBub3IgdGFyZ2V0IHBpZCBzdXBwbGllZCBmb3IgJXMiCittc2dzdHIgIm5vIHNlIGhhIHByb3BvcmNpb25hZG8gbmkgbm9tYnJlIGRlIGZpY2hlcm8gbmkgcGlkIHBhcmEgJXMiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mjc3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHVpZCIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGFuYWxpemFyIHVpZCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoyODEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZ2lkIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gYW5hbGl6YXIgZ2lkIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMxNworbXNnaWQgIm5vIHRhcmdldCBQSUQgc3BlY2lmaWVkIGZvciAtLWZvbGxvdy1jb250ZXh0IgorbXNnc3RyICJubyBzZSBoYSBlc3BlY2lmaWNhZG8gUElEIG9iamV0aXZvIHBhcmEgLS1mb2xsb3ctY29udGV4dCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCAlZCBTRUxpbnV4IGNvbnRleHQiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBvYnRlbmVyIGVsIGNvbnRleHRvIFNFTGludXggZGUgJWQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzIyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgZXhlYyBjb250ZXh0IHRvICclcyciCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBlc3RhYmxlY2VyIGVsIGNvbnRleHRvIGRlIGVqZWN1Y2nDs24gYSAnJXMnIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFzc29jaWF0ZSB0byBuYW1lc3BhY2UgJyVzJyBmYWlsZWQiCittc2dzdHIgImZhbGxvIGFsIHZvbHZlciBhIGFzb2NpYXIgYWwgZXNwYWNpbyBkZSBub21icmVzICclcyciCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzkwCittc2dpZCAiY2Fubm90IG9wZW4gY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAibm8gc2UgcHVlZGUgYWJyaXIgZWwgZGlyZWN0b3JpbyBkZSB0cmFiYWpvIGFjdHVhbCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozOTcKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHJvb3QgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAiZmFsbG8gYWwgY2FtYmlhciBkZSBkaXJlY3RvcmlvIHBvciBkZXNjcmlwdG9yIGRlIGZpY2hlcm8gZGUgbGEgcmHDrXoiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDAwCittc2dpZCAiY2hyb290IGZhaWxlZCIKK21zZ3N0ciAiY2hyb290IGZhbGzDsyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MTAKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHdvcmtpbmcgZGlyZWN0b3J5IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgImZhbGxvIGFsIGNhbWJpYXIgZGUgZGlyZWN0b3JpbyBtZWRpYW50ZSBlbCBkZXNjcmlwdG9yIGRlIGZpY2hlcm8gZGVsIGRpcmVjdG9yaW8gZGUgdHJhYmFqbyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MjEgc3lzLXV0aWxzL3NldHByaXYuYzo4MTUgc3lzLXV0aWxzL3NldHByaXYuYzo4MTkKK21zZ2lkICJzZXRncm91cHMgZmFpbGVkIgorbXNnc3RyICJzZXRncm91cHMoKSBmYWxsw7MiCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBuZXdfcm9vdCBwdXRfb2xkXG4iCittc2dzdHIgIiAlcyBbb3BjaW9uZXNdIG51ZXZhX3Jhw616IGVtcGxhemFtaWVudG9fYW50aWd1b1xuIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjM3Cittc2dpZCAiQ2hhbmdlIHRoZSByb290IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkNhbWJpYSBlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zIHJhw616LlxuIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCBmcm9tIGAlcycgdG8gYCVzJyIKK21zZ3N0ciAiZmFsbG8gYWwgY2FtYmlhciBsYSByYcOteiBkZSBgJXMnIGEgYCVzJyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NQorbXNnaWQgImFkZHJlc3Mgc3BhY2UgbGltaXQiCittc2dzdHIgImzDrW1pdGUgZGVsIGVzcGFjaW8gZGUgZGlyZWNjaW9uZXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKK21zZ2lkICJtYXggY29yZSBmaWxlIHNpemUiCittc2dzdHIgInRhbWHDsW8gbcOheGltbyBkZWwgZmljaGVybyBkZWwgbsO6Y2xlbyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworbXNnaWQgIkNQVSB0aW1lIgorbXNnc3RyICJ0aWVtcG8gZGUgQ1BVIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAic2Vjb25kcyIKK21zZ3N0ciAic2VndW5kb3MiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzgKK21zZ2lkICJtYXggZGF0YSBzaXplIgorbXNnc3RyICJ0YW1hw7FvIGRlIGRhdG9zIG3DoXhpbW8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzkKK21zZ2lkICJtYXggZmlsZSBzaXplIgorbXNnc3RyICJ0YW1hw7FvIGRlIGZpY2hlcm8gbcOheGltbyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZmlsZSBsb2NrcyBoZWxkIgorbXNnc3RyICJuw7ptZXJvIG3DoXguIGRlIGJsb3F1ZW9zIGRlIGZpY2hlcm8gbWFudGVuaWRvcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorbXNnaWQgImxvY2tzIgorbXNnc3RyICJibG9xdWVvcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MQorbXNnaWQgIm1heCBsb2NrZWQtaW4tbWVtb3J5IGFkZHJlc3Mgc3BhY2UiCittc2dzdHIgIm3DoXguIGVzcGFjaW8gZGUgZGlyZWNjaW9uZXMgYmxvcXVlYWRvIGVuIG1lbW9yaWEiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIKK21zZ2lkICJtYXggYnl0ZXMgaW4gUE9TSVggbXF1ZXVlcyIKK21zZ3N0ciAibcOheC4gZGUgYnl0ZXMgZW4gY29sYXMgZGUgbWVuc2FqZXMgUE9TSVgiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODMKK21zZ2lkICJtYXggbmljZSBwcmlvIGFsbG93ZWQgdG8gcmFpc2UiCittc2dzdHIgIm3DoXguIHByaW9yaWRhZCDCq25pY2XCuyBwZXJtaXRpZGEiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKK21zZ2lkICJtYXggbnVtYmVyIG9mIG9wZW4gZmlsZXMiCittc2dzdHIgIm7Dum1lcm8gbcOheC4gZGUgZmljaGVyb3MgYWJpZXJ0b3MiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKK21zZ2lkICJmaWxlcyIKK21zZ3N0ciAiZmljaGVyb3MiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKK21zZ2lkICJtYXggbnVtYmVyIG9mIHByb2Nlc3NlcyIKK21zZ3N0ciAibsO6bWVybyBtw6F4LiBkZSBwcm9jZXNvcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorbXNnaWQgInByb2Nlc3NlcyIKK21zZ3N0ciAicHJvY2Vzb3MiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODYKK21zZ2lkICJtYXggcmVzaWRlbnQgc2V0IHNpemUiCittc2dzdHIgInRhbWHDsW8gbcOheGltbyBkZSBjb25qdW50byByZXNpZGVudGUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODcKK21zZ2lkICJtYXggcmVhbC10aW1lIHByaW9yaXR5IgorbXNnc3RyICJtw6F4LiBwcmlvcmlkYWQgZGUgdGllbXBvIHJlYWwiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJ0aW1lb3V0IGZvciByZWFsLXRpbWUgdGFza3MiCittc2dzdHIgInRpZW1wbyBsw61taXRlIHBhcmEgdGFyZWFzIGRlIHRpZW1wbyByZWFsIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAibWljcm9zZWNzIgorbXNnc3RyICJtaWNyb3NlZ3VuZG9zIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAibWF4IG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHMiCittc2dzdHIgIm7Dum1lcm8gbcOheC4gZGUgc2XDsWFsZXMgcGVuZGllbnRlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorbXNnaWQgInNpZ25hbHMiCittc2dzdHIgInNlw7FhbGVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAibWF4IHN0YWNrIHNpemUiCittc2dzdHIgInRhbWHDsW8gbcOheC4gZGUgcGlsYSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjMKK21zZ2lkICJyZXNvdXJjZSBuYW1lIgorbXNnc3RyICJub21icmUgZGUgcmVjdXJzbyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjQKK21zZ2lkICJyZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiZGVzY3JpcGNpw7NuIGRlbCByZWN1cnNvIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNQorbXNnaWQgInNvZnQgbGltaXQiCittc2dzdHIgImzDrW1pdGUgYmxhbmRvIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNgorbXNnaWQgImhhcmQgbGltaXQgKGNlaWxpbmcpIgorbXNnc3RyICJsw61taXRlIGR1cm8gKHRlY2hvKSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjcKK21zZ2lkICJ1bml0cyIKK21zZ3N0ciAidW5pZGFkZXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1wIFBJRF1cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gWy1wIFBJRF1cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBDT01NQU5EXG4iCittc2dzdHIgIiAlcyBbb3BjaW9uZXNdIE9SREVOXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY2Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlc291cmNlIGxpbWl0cyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIk11ZXN0cmEgbyBtb2RpZmljYSBsb3MgbMOtbWl0ZXMgZGUgcmVjdXJzb3MgZGUgdW4gcHJvY2Vzby5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjgKK21zZ2lkICIiCisiXG4iCisiR2VuZXJhbCBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiT3BjaW9uZXMgZ2VuZXJhbGVzOlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OQorbXNnaWQgIiIKKyIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBwcm9jZXNzIGlkXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorIiAgICAgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCisiICAgICAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorIiAgICAgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgaWQgZGVsIHByb2Nlc29cbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0YT4gICBkZWZpbmUgbGFzIGNvbHVtbmFzIHF1ZSBzZSB1c2Fyw6FuIGVuIGxhIHNhbGlkYVxuIgorIiAgICAgLS1ub2hlYWRpbmdzICAgICAgIG5vIGltcHJpbWUgbGFzIGNhYmVjZXJhc1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHV0aWxpemEgZWwgZm9ybWF0byBkZSBzYWxpZGEgZW4gYnJ1dG9cbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICBzYWxpZGEgY29uIGV4cGxpY2FjaW9uZXNcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICBtdWVzdHJhIGVzdGEgYXl1ZGEgeSB0ZXJtaW5hXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgc2FjYSBpbmZvcm1hY2nDs24gc29icmUgbGEgdmVyc2nDs24geSB0ZXJtaW5hXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc3Cittc2dpZCAiIgorIlxuIgorIlJlc291cmNlcyBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiT3BjaW9uZXMgZGUgbG9zIHJlY3Vyc29zOlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OAorbXNnaWQgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgY29yZSBmaWxlcyBjcmVhdGVkXG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcydzIGRhdGEgc2VnbWVudFxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIG1heGltdW0gbmljZSBwcmlvcml0eSBhbGxvd2VkIHRvIHJhaXNlXG4iCisiIC1mLCAtLWZzaXplICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlIHByb2Nlc3NcbiIKKyIgLWksIC0tc2lncGVuZGluZyAgICAgICBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHNcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICBtYXhpbXVtIHNpemUgYSBwcm9jZXNzIG1heSBsb2NrIGludG8gbWVtb3J5XG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZVxuIgorIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIG9wZW4gZmlsZXNcbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBtYXhpbXVtIGJ5dGVzIGluIFBPU0lYIG1lc3NhZ2UgcXVldWVzXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eVxuIgorIiAtcywgLS1zdGFjayAgICAgICAgICAgIG1heGltdW0gc3RhY2sgc2l6ZVxuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIG1heGltdW0gYW1vdW50IG9mIENQVSB0aW1lIGluIHNlY29uZHNcbiIKKyIgLXUsIC0tbnByb2MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiB1c2VyIHByb2Nlc3Nlc1xuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIHNpemUgb2YgdmlydHVhbCBtZW1vcnlcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBmaWxlIGxvY2tzXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAgQ1BVIHRpbWUgaW4gbWljcm9zZWNvbmRzIGEgcHJvY2VzcyBzY2hlZHVsZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1bmRlciByZWFsLXRpbWUgc2NoZWR1bGluZ1xuIgorbXNnc3RyICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAgdGFtYcOxbyBtw6F4aW1vIGRlIGxvcyBmaWNoZXJvcyDCq2NvcmXCuyBxdWUgc2UgZ2VuZXJlblxuIgorIiAtZCwgLS1kYXRhICAgICAgICAgICAgIHRhbWHDsW8gbcOheGltbyBkZWwgc2VnbWVudG8gZGUgZGF0b3MgZGUgbG9zIHByb2Nlc29zXG4iCisiIC1lLCAtLW5pY2UgICAgICAgICAgICAgbcOheGltYSBwcmlvcmlkYWQgwqtuaWNlwrsgcXVlIHNlIHBlcm1pdGUgZWxldmFyXG4iCisiIC1mLCAtLWZzaXplICAgICAgICAgICAgdGFtYcOxbyBtw6F4aW1vIGRlIGxvcyBmaWNoZXJvcyBlc2NyaXRvcyBwb3IgZWwgcHJvY2Vzb1xuIgorIiAtaSwgLS1zaWdwZW5kaW5nICAgICAgIG7Dum1lcm8gbcOheGltbyBkZSBzZcOxYWxlcyBwZW5kaWVudGVzXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAgdGFtYcOxbyBtw6F4aW1vIHF1ZSB1biBwcm9jZXNvIHB1ZWRlIGJsb3F1ZWFyIGVuIGxhIG1lbW9yaWFcbiIKKyIgLW0sIC0tcnNzICAgICAgICAgICAgICB0YW1hw7FvIG3DoXhpbW8gZGUgY29uanVudG8gcmVzaWRlbnRlXG4iCisiIC1uLCAtLW5vZmlsZSAgICAgICAgICAgbsO6bWVybyBtw6F4aW1vIGRlIGZpY2hlcm9zIGFiaWVydG9zXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgbsO6bWVybyBtw6F4aW1vIGRlIGJ5dGVzIGVuIGNvbGFzIGRlIG1lbnNhamVzIFBPU0lYXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgbcOheGltYSBwcmlvcmlkYWQgZGUgcGxhbmlmaWNhY2nDs24gZW4gdGllbXBvIHJlYWxcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICB0YW1hw7FvIG3DoXhpbW8gZGUgcGlsYVxuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIGNhbnRpZGFkIGRlIHRpZW1wbyBkZSBDUFUgbcOheGltYSBlbiBzZWd1bmRvc1xuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIG7Dum1lcm8gbcOheGltbyBkZSBwcm9jZXNvcyBkZSB1c3VhcmlvXG4iCisiIC12LCAtLWFzICAgICAgICAgICAgICAgdGFtYcOxbyBkZSBsYSBtZW1vcmlhIHZpcnR1YWxcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBuw7ptZXJvIG3DoXhpbW8gZGUgYmxvcXVlb3MgZGUgZmljaGVyb1xuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgIHRpZW1wbyBkZSBDUFUgZW4gbWljcm9zZWd1bmRvcyBwbGFuaWZpY2FkbyBwb3IgdW4gcHJvY2Vzb1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGJham8gcGxhbmlmaWNhY2nDs24gZW4gdGllbXBvIHJlYWxcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoyNDMgc3lzLXV0aWxzL3BybGltaXQuYzoyNDkgc3lzLXV0aWxzL3BybGltaXQuYzozNjYKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzcxCittc2dpZCAidW5saW1pdGVkIgorbXNnc3RyICJpbGltaXRhZG8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzMyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgb2xkICVzIGxpbWl0IgorbXNnc3RyICJlcnJvciBhbCBvYnRlbmVyIGVsIGzDrW1pdGUgJXMgYW50aWd1byIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHNvZnQgbGltaXQgJXMgY2Fubm90IGV4Y2VlZCB0aGUgaGFyZCBsaW1pdCIKK21zZ3N0ciAiZWwgbMOtbWl0ZSBibGFuZG8gJXMgbm8gcHVlZGUgc3VwZXJhciBhbCBsw61taXRlIGR1cm8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5ldyAlcyBsaW1pdCBmb3IgcGlkICVkOiAiCittc2dzdHIgIk51ZXZvIGzDrW1pdGUgJXMgcGFyYSBlbCBwaWQgJWQ6ICIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgImVycm9yIGFsIGVzdGFibGVjZXIgZWwgbMOtbWl0ZSBkZWwgcmVjdXJzbyAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgImVycm9yIGFsIG9idGVuZXIgZWwgbMOtbWl0ZSBkZWwgcmVjdXJzbyAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIGxpbWl0IgorbXNnc3RyICJlcnJvciBhbCBhbmFsaXphciBlbCBsw61taXRlIGRlICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NQorbXNnaWQgIm9wdGlvbiAtLXBpZCBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAibGEgb3BjacOzbiAtLXBpZCBzb2xvIHB1ZWRlIGVzcGVjaWZpY2Fyc2UgdW5hIHZleiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo2MTYKK21zZ2lkICJvcHRpb25zIC0tcGlkIGFuZCBDT01NQU5EIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgImxhcyBvcGNpb25lcyAtLXBpZCB5IE9SREVOIHNvbiBtdXR1YW1lbnRlIGV4Y2x1eWVudGVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDcKK21zZ2lkICJEaXNwbGF5IGtlcm5lbCBwcm9maWxpbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIk11ZXN0cmEgaW5mb3JtYWNpw7NuIHNvYnJlIGVsIHBlcmZpbCBkZWwgbsO6Y2xlby5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbSwgLS1tYXBmaWxlIDxtYXBmaWxlPiAgIChkZWZhdWx0czogXCIlc1wiIGFuZFxuIgorbXNnc3RyICIgLW0sIC0tbWFwZmlsZSA8ZmljaGVyb21hcGE+IChwcmVkZWZpbmlkbzogXCIlc1wiIHlcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIlc1wiKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJXNcIilcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtcCwgLS1wcm9maWxlIDxwcm8tZmlsZT4gIChkZWZhdWx0OiAgXCIlc1wiKVxuIgorbXNnc3RyICIgLXAsIC0tcHJvZmlsZSA8ZmljaGVyby1wZXJmaWw+IChwcmVkZWZpbmlkbzogXCIlc1wiKVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTYKK21zZ2lkICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorbXNnc3RyICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBlc3RhYmxlY2UgZWwgbXVsdGlwbGljYWRvciBkZSBwZXJmaWwgYSA8bXVsdD5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE3Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgcHJpbnQgb25seSBpbmZvIGFib3V0IHRoZSBzYW1wbGluZyBzdGVwXG4iCittc2dzdHIgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIGltcHJpbWUgc29sYW1lbnRlIGluZm9ybWFjacOzbiBzb2JyZSBlbCBwYXNvIGRlIG11ZXN0cmVvXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBpbXByaW1lIGRhdG9zIGV4cGxpY2F0aXZvc1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICBwcmludCBhbGwgc3ltYm9scywgZXZlbiBpZiBjb3VudCBpcyAwXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIGltcHJpbWUgdG9kb3MgbG9zIHPDrW1ib2xvcywgaW5jbHVzbyBzaSBsYSBjdWVudGEgZXMgMFxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjAKK21zZ2lkICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCittc2dzdHIgIiAtYiwgLS1oaXN0YmluICAgICAgICAgICAgIGltcHJpbWUgY3VlbnRhcyBpbmRpdmlkdWFsZXMgZGUgaGlzdG9ncmFtYS1iaW5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIxCittc2dpZCAiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCittc2dzdHIgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIGltcHJpbWUgY29udGFkb3JlcyBpbmRpdmlkdWFsZXMgZGVudHJvIGRlIGxhcyBmdW5jaW9uZXNcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIyCittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXN0YWJsZWNlIHRvZG9zIGxvcyBjb250YWRvcmVzIChzb2xvIHJvb3QpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMworbXNnaWQgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorbXNnc3RyICIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICBkZXNhY3RpdmEgbGEgZGV0ZWNjacOzbiBhdXRvbcOhdGljYSBkZWwgb3JkZW4gZGUgbG9zIGJ5dGVzXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciB3cml0aW5nICVzIgorbXNnc3RyICJlcnJvciBhbCBlc2NyaWJpciAlcyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjcxCittc2dpZCAiQXNzdW1pbmcgcmV2ZXJzZWQgYnl0ZSBvcmRlci4gVXNlIC1uIHRvIGZvcmNlIG5hdGl2ZSBieXRlIG9yZGVyLiIKK21zZ3N0ciAiU2UgYXN1bWUgb3JkZW4gZGUgYnl0ZXMgaW52ZXJ0aWRvLiBVdGlsaWNlIC1uIHBhcmEgZm9yemFyIGVsIG9yZGVuIGRlIGJ5dGVzIG5hdGl2by4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI4NgorIywgYy1mb3JtYXQKK21zZ2lkICJTYW1wbGluZ19zdGVwOiAldVxuIgorbXNnc3RyICJQYXNvIGRlIHNvbmRlbzogJXVcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzAyIHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMyMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyglaSk6IHdyb25nIG1hcCBsaW5lIgorbXNnc3RyICIlcyglaSk6IGzDrW5lYSBkZSBtYXBhIGluY29ycmVjdGEiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIFwiX3N0ZXh0XCIgaW4gJXMiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGVuY29udHJhciBcIl9zdGV4dFwiIGVuICVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozNDYKK21zZ2lkICJwcm9maWxlIGFkZHJlc3Mgb3V0IG9mIHJhbmdlLiBXcm9uZyBtYXAgZmlsZT8iCittc2dzdHIgImRpcmVjY2nDs24gZGVsIHBlcmZpbCBmdWVyYSBkZSByYW5nby4gwr9GaWNoZXJvIGBtYXAnIGluY29ycmVjdG8/IgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzo0MDQKK21zZ2lkICJ0b3RhbCIKK21zZ3N0ciAidG90YWwiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MgorbXNnaWQgInByb2Nlc3MgSUQiCittc2dzdHIgIklEIGRlbCBwcm9jZXNvIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTMKK21zZ2lkICJwcm9jZXNzIGdyb3VwIElEIgorbXNnc3RyICJJRCBkZSBncnVwbyBkZWwgcHJvY2VzbyIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gWy1wfC0tcGlkXSA8cGlkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLWd8LS1wZ3JwIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLXV8LS11c2VyIDx1c2VyPi4uLlxuIgorbXNnc3RyICIiCisiICUxJHMgWy1uXSA8cHJpb3JpZGFkPiBbLXB8LS1waWRdIDxwaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpZGFkPiAgLWd8LS1wZ3JwIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaWRhZD4gIC11fC0tdXNlciA8dXN1YXJpbz4uLi5cbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjY3Cittc2dpZCAiQWx0ZXIgdGhlIHByaW9yaXR5IG9mIHJ1bm5pbmcgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICJBbHRlcmEgbGEgcHJpb3JpZGFkIGRlIGxvcyBwcm9jZXNvcyBxdWUgZXN0w6FuIGVuIGVqZWN1Y2nDs24uXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MAorbXNnaWQgIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIHNwZWNpZnkgdGhlIG5pY2UgaW5jcmVtZW50IHZhbHVlXG4iCittc2dzdHIgIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIGVzcGVjaWZpY2EgZWwgdmFsb3IgZGVsIGluY3JlbWVudG8gZGUgwqtuaWNlwrtcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcxCittc2dpZCAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgSUQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldGEgZWwgYXJndW1lbnRvIGNvbW8gSUQgZGUgcHJvY2VzbyAobG8gcHJlZGV0ZXJtaW5hZG8pXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MgorbXNnaWQgIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIGdyb3VwIElEXG4iCittc2dzdHIgIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldGEgZWwgYXJndW1lbnRvIGNvbW8gSUQgZGUgZ3J1cG9cbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjczCittc2dpZCAiIC11LCAtLXVzZXIgPG5hbWU+fDxpZD4gaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHVzZXJuYW1lIG9yIHVzZXIgSURcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXIgPG5vbWJyZT58PGlkPiBpbnRlcnByZXRhIGVsIGFyZ3VtZW50byBjb21vIG5vbWJyZSBvIElEIGRlIHVzdWFyaW9cbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBvYnRlbmVyIGxhIHByaW9yaWRhZCBkZSAlZCAoJXMpIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGVzdGFibGVjZXIgbGEgcHJpb3JpZGFkIGRlICVkICglcykiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgKCVzKSBvbGQgcHJpb3JpdHkgJWQsIG5ldyBwcmlvcml0eSAlZFxuIgorbXNnc3RyICIlZCAoJXMpIHByaW9yaWRhZCBhbnRlcmlvciAlZCwgbnVldmEgcHJpb3JpZGFkICVkXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB1c2VyICVzIgorbXNnc3RyICJ1c3VhcmlvIGRlc2Nvbm9jaWRvICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIG9uZSBvZiB0aGUgYWJvdmUKKyMuICogdGhyZWUgSUQgbmFtZXMuIFJlYWQ6ICJiYWQgdmFsdWUgZm9yICVzOiAlcyIKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkICVzIHZhbHVlOiAlcyIKK21zZ3N0ciAidmFsb3IgaW5jb3JyZWN0byBkZSAlczogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6OTgKK21zZ2lkICJFbnRlciBhIHN5c3RlbSBzbGVlcCBzdGF0ZSB1bnRpbCBhIHNwZWNpZmllZCB3YWtldXAgdGltZS5cbiIKK21zZ3N0ciAiRW50cmEgZW4gZXN0YWRvIGRlIHJlcG9zbyBkZWwgc2lzdGVtYSBoYXN0YSBsYSBob3JhIGRlIHJlYW5pbWFjacOzbiBlc3BlY2lmaWNhZGEuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTAxCittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgICAgICAgICByZWFkcyB0aGUgY2xvY2sgbW9kZSBmcm9tIGFkanVzdCBmaWxlIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWEsIC0tYXV0byAgICAgICAgICAgICAgIGxlZSBsZSBtb2RvIGRlbCByZWxvaiBlbiBlbCBmaWNoZXJvIGRlIGFqdXN0ZSAoY29tcG9ydGFtaWVudG8gcHJlZGVmaW5pZG8pXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLUEsIC0tYWRqZmlsZSA8ZmlsZT4gICAgIHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRlZmF1bHQgaXMgJXNcbiIKK21zZ3N0ciAiIgorIiAtQSwgLS1hZGpmaWxlIDxmaWNoZXJvPiAgZXNwZWNpZmljYSBsYSBydXRhIGFsIGZpY2hlcm8gZGUgYWp1c3RlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhIHByZWRlZmluaWRhIGVzICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA1Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICBkYXRlIHRpbWUgb2YgdGltZXN0YW1wIHRvIHdha2VcbiIKK21zZ3N0ciAiICAgICAtLWRhdGUgPHRpZW1wb190PiAgICBmZWNoYSB5IGhvcmEgZGVsIGVzdGFtcGFkbyBwYXJhIGRlc3BlcnRhclxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNgorbXNnaWQgIiAtZCwgLS1kZXZpY2UgPGRldmljZT4gICAgc2VsZWN0IHJ0YyBkZXZpY2UgKHJ0YzB8cnRjMXwuLi4pXG4iCittc2dzdHIgIiAtZCwgLS1kZXZpY2UgPGRpc3Bvc2l0aXZvPiBzZWxlY2Npb25hIHVuIGRpc3Bvc2l0aXZvIHJ0YyAocnRjMHxydGMxfC4uLilcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDcKK21zZ2lkICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGRvZXMgZXZlcnl0aGluZywgYnV0IHN1c3BlbmRcbiIKK21zZ3N0ciAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBoYWNlIHRvZG8gZXhjZXB0byBzdXNwZW5kZXJcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDgKK21zZ2lkICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCittc2dzdHIgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIHV0aWxpemEgaHVzbyBob3JhcmlvIGxvY2FsXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA5Cittc2dpZCAiICAgICAtLWxpc3QtbW9kZXMgICAgICAgICBsaXN0IGF2YWlsYWJsZSBtb2Rlc1xuIgorbXNnc3RyICIgICAgIC0tbGlzdC1tb2RlcyAgICAgICAgIGVudW1lcmEgbG9zIG1vZG9zIGRpc3BvbmlibGVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEwCittc2dpZCAiIC1tLCAtLW1vZGUgPG1vZGU+ICAgICAgICBzdGFuZGJ5fG1lbXwuLi4gc2xlZXAgbW9kZVxuIgorbXNnc3RyICIgLW0sIC0tbW9kZSA8bW9kbz4gICAgICAgIG1vZG8gZGUgZG9ybWlyIHN0YW5kYnl8bWVtfC4uLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMQorbXNnaWQgIiAtcywgLS1zZWNvbmRzIDxzZWNvbmRzPiAgc2Vjb25kcyB0byBzbGVlcFxuIgorbXNnc3RyICIgLXMsIC0tc2Vjb25kcyA8c2VndW5kb3M+IHNlZ3VuZG9zIHBhcmEgZW1wZXphciBhIGRvcm1pclxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMgorbXNnaWQgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCittc2dzdHIgIiAtdCwgLS10aW1lIDx0aWVtcG9fdD4gICAgdGllbXBvIHF1ZSBmYWx0YSBwYXJhIGRlc3BlcnRhclxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMworbXNnaWQgIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIHVzZXMgVVRDXG4iCittc2dzdHIgIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIHV0aWxpemEgVVRDXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgbWVuc2FqZXMgZXhwbGljYXRpdm9zXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTY3Cittc2dpZCAicmVhZCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgImZhbGxvIGFsIGxlZXIgZWwgdGllbXBvIHJ0YyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNzMKK21zZ2lkICJyZWFkIHN5c3RlbSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiZmFsbG8gYWwgbGVlciBsYSBob3JhIGRlbCBzaXN0ZW1hIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE4OQorbXNnaWQgImNvbnZlcnQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICJmYWxsbyBhbCBjb252ZXJ0aXIgdGllbXBvIHJ0YyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyMzcKK21zZ2lkICJzZXQgcnRjIHdha2UgYWxhcm0gZmFpbGVkIgorbXNnc3RyICJmYWxsbyBhbCBwb25lciBsYSBhbGFybWEgZGUgZGVzcGVydGFyIHJ0YyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB0aGlyZCBsaW5lIGluOiAlczogJXMiCittc2dzdHIgInRlcmNlcmEgbMOtbmVhIG5vIGVzcGVyYWRhIGVuOiAlczogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzIwIHN5cy11dGlscy9ydGN3YWtlLmM6NjI0Cittc2dpZCAicmVhZCBydGMgYWxhcm0gZmFpbGVkIgorbXNnc3RyICJmYWxsbyBhbCBsZWVyIGxhIGFsYXJtYSBydGMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvZmZcbiIKK21zZ3N0ciAiYWxhcm1hOiBkZXNhY3RpdmFkYVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMzOAorbXNnaWQgImNvbnZlcnQgdGltZSBmYWlsZWQiCittc2dzdHIgImZhbGxvIGFsIGNvbnZlcnRpciBsYSBob3JhIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb24gICVzIgorbXNnc3RyICJhbGFybWE6IGFjdGl2YWRhICAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQ6ICVzIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gbGVlcjogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDY3CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdXNwZW5kIHN0YXRlICclcyciCittc2dzdHIgImVzdGFkbyBkZSBzdXNwZW5zacOzbiBkZXNjb25vY2lkbyAnJXMnIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ3NQorbXNnaWQgImludmFsaWQgc2Vjb25kcyBhcmd1bWVudCIKK21zZ3N0ciAiZWwgYXJndW1lbnRvIGRlIGxvcyBzZWd1bmRvcyBubyBlcyB2w6FsaWRvIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ3OQorbXNnaWQgImludmFsaWQgdGltZSBhcmd1bWVudCIKK21zZ3N0ciAiZWwgYXJndW1lbnRvIGRlIGxhIGhvcmEgbm8gZXMgdsOhbGlkbyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIKK21zZ3N0ciAiJXM6IHNlIGFzdW1lIHF1ZSBSVEMgdXRpbGl6YSBVVEMgLi4uXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTExCittc2dpZCAiVXNpbmcgVVRDIHRpbWUuXG4iCittc2dzdHIgIlV0aWxpemFuZG8gdGllbXBvIFVUQy5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTIKK21zZ2lkICJVc2luZyBsb2NhbCB0aW1lLlxuIgorbXNnc3RyICJVdGlsaXphbmRvIGhvcmFyaW8gbG9jYWwuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTE1Cittc2dpZCAibXVzdCBwcm92aWRlIHdha2UgdGltZSAoc2VlIC0tc2Vjb25kcywgLS10aW1lIGFuZCAtLWRhdGUgb3B0aW9ucykiCittc2dzdHIgImRlYmUgcHJvcG9yY2lvbmFyIGxhIGhvcmEgZGUgZGVzcGVydGFyICh2w6lhbnNlIGxhcyBvcGNpb25lcyAtLXNlY29uZHMsIC0tdGltZSB5IC0tZGF0ZSkiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBlbmFibGVkIGZvciB3YWtldXAgZXZlbnRzIgorbXNnc3RyICIlcyBubyBhY3RpdmFkbyBwYXJhIGV2ZW50b3MgZGUgZGVzcGVydGFyICjCq3dha2V1cMK7KSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm0gJWxkLCBzeXNfdGltZSAlbGQsIHJ0Y190aW1lICVsZCwgc2Vjb25kcyAldVxuIgorbXNnc3RyICJhbGFybWEgJWxkLCBob3JhX3Npc3RlbWEgJWxkLCBob3JhX3J0YyAlbGQsIHNlZ3VuZG9zICV1XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTM1CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUgZG9lc24ndCBnbyBiYWNrd2FyZCB0byAlcyIKK21zZ3N0ciAibGEgaG9yYSBubyB2YSBoYWNpYSBhdHLDoXMgYSAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiJXM6IGRlc3BpZXJ0YSB1dGlsaXphbmRvICVzIGEgbGFzICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU0OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIGZyb20gXCIlc1wiIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlczogZGVzcGllcnRhIGRlc2RlIFwiJXNcIiB1dGlsaXphbmRvICVzIGEgbGFzICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU1OQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG5vOyBsZWF2aW5nXG4iCittc2dzdHIgIm1vZG8gZGUgc3VzcGVuc2nDs246IG5vIGhheTsgc2FsaXJcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvZmY7IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICJtb2RvIGRlIHN1c3BlbnNpw7NuOiBhcGFnYWRvOyBlamVjdXRhbmRvICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogb247IHJlYWRpbmcgcnRjXG4iCittc2dzdHIgIm1vZG8gZGUgc3VzcGVuc2nDs246IGVuY2VuZGlkbzsgbGV5ZW5kbyBydGNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1OTIKK21zZ2lkICJydGMgcmVhZCBmYWlsZWQiCittc2dzdHIgImZhbGxvIGFsIGxlZXIgcnRjIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwNAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IGRpc2FibGU7IGRpc2FibGluZyBhbGFybVxuIgorbXNnc3RyICJtb2RvIGRlIHN1c3BlbnNpw7NuOiBkZXNhY3RpdmFyOyBkZXNhY3RpdmFuZG8gYWxhcm1hXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjA4CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogc2hvdzsgcHJpbnRpbmcgYWxhcm0gaW5mb1xuIgorbXNnc3RyICJtb2RvIGRlIHN1c3BlbnNpw7NuOiBtb3N0cmFyOyBpbXByaW1pZW5kbyBsYSBpbmZvcm1hY2nDs24gZGUgbGEgYWxhcm1hXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjE1CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogJXM7IHN1c3BlbmRpbmcgc3lzdGVtXG4iCittc2dzdHIgIm1vZG8gZGUgc3VzcGVuc2nDs246ICVzOyBzdXNwZW5kaWVuZG8gZWwgc2lzdGVtYVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyOQorbXNnaWQgImRpc2FibGUgcnRjIGFsYXJtIGludGVycnVwdCBmYWlsZWQiCittc2dzdHIgImZhbGxvIGFsIGRlc2FjdGl2YXIgbGEgaW50ZXJydXBjacOzbiBkZSBsYSBhbGFybWEgZGVsIHJ0YyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo0OAorIywgYy1mb3JtYXQKK21zZ2lkICJTd2l0Y2hpbmcgb24gJXMuXG4iCittc2dzdHIgIkFjdGl2YW5kbyAlcy5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGFyY2g+IFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIDxhcmNoPiBbb3BjaW9uZXNdIFs8cHJvZ3JhbWE+IFs8YXJndW1lbnRvPi4uLl1dXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gWzxwcm9ncmFtYT4gWzxhcmd1bWVudG8+Li4uXV1cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5NgorbXNnaWQgIkNoYW5nZSB0aGUgcmVwb3J0ZWQgYXJjaGl0ZWN0dXJlIGFuZCBzZXQgcGVyc29uYWxpdHkgZmxhZ3MuXG4iCittc2dzdHIgIk1vZGlmaWNhIGxhIGluZm9ybWFjacOzbiBzb2JyZSBsYSBhcnF1aXRlY3R1cmEgeSBlc3RhYmxlY2UgbG9zIGluZGljYWRvcmVzIGRlIHBlcnNvbmFsaWRhZC5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5OQorbXNnaWQgIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgdHVybnMgb24gQUREUl9MSU1JVF8zMkJJVFxuIgorbXNnc3RyICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIGFjdGl2YSBBRERSX0xJTUlUXzMyQklUXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAwCittc2dpZCAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorbXNnc3RyICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIGhhY2UgcXVlIGxvcyBwdW50ZXJvcyBhIGZ1bmNpb25lcyBhcHVudGVuIGEgZGVzY3JpcHRvcmVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAxCittc2dpZCAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICB0dXJucyBvbiBTSE9SVF9JTk9ERVxuIgorbXNnc3RyICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIGFjdGl2YSBTSE9SVF9JTk9ERVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMgorbXNnaWQgIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQgY2hhbmdlcyB0aGUgd2F5IHZpcnR1YWwgbWVtb3J5IGlzIGFsbG9jYXRlZFxuIgorbXNnc3RyICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNhbWJpYSBlbCBtb2RvIGRlIHJlc2VydmFyIGxhIG1lbW9yaWEgdmlydHVhbFxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMworbXNnaWQgIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgZGlzYWJsZXMgcmFuZG9taXphdGlvbiBvZiB0aGUgdmlydHVhbCBhZGRyZXNzIHNwYWNlXG4iCittc2dzdHIgIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgZGVzYWN0aXZhIGxhIGFsZWF0b3JpemFjacOzbiBkZWwgZXNwYWNpbyBkZSBkaXJlY2Npb25lcyB2aXJ0dWFsXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA0Cittc2dpZCAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICB0dXJucyBvbiBXSE9MRV9TRUNPTkRTXG4iCittc2dzdHIgIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgYWN0aXZhIFdIT0xFX1NFQ09ORFNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDUKK21zZ2lkICIgLVQsIC0tc3RpY2t5LXRpbWVvdXRzICAgIHR1cm5zIG9uIFNUSUNLWV9USU1FT1VUU1xuIgorbXNnc3RyICIgLVQsIC0tc3RpY2t5LXRpbWVvdXRzICAgIGFjdGl2YSBTVElDS1lfVElNRU9VVFNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDYKK21zZ2lkICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCittc2dzdHIgIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgYWN0aXZhIFJFQURfSU1QTElFU19FWEVDXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA3Cittc2dpZCAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICB0dXJucyBvbiBNTUFQX1BBR0VfWkVST1xuIgorbXNnc3RyICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIGFjdGl2YSBNTUFQX1BBR0VfWkVST1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOAorbXNnaWQgIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgbGltaXRzIHRoZSB1c2VkIGFkZHJlc3Mgc3BhY2UgdG8gYSBtYXhpbXVtIG9mIDMgR0JcbiIKK21zZ3N0ciAiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBsaW1pdGEgZWwgZXNwYWNpbyBkZSBkaXJlY2Npb25lcyB1dGlsaXphZG8gYSB1biBtw6F4aW1vIGRlIDMgR0JcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDkKK21zZ2lkICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGlnbm9yZWQgKGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IG9ubHkpXG4iCittc2dzdHIgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgbm8gc2UgdGllbmUgZW4gY3VlbnRhIChzb2xvIHBvciBjb21wYXRpYmlsaWRhZCBoYWNpYSBhdHLDoXMpXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTEwCittc2dpZCAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICB0dXJucyBvbiBVTkFNRTI2XG4iCittc2dzdHIgIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgYWN0aXZhIFVOQU1FMjZcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheSB3aGF0IG9wdGlvbnMgYXJlIGJlaW5nIHN3aXRjaGVkIG9uXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgZGljZSBxdcOpIG9wY2lvbmVzIHNlIGVzdMOhbiBhY3RpdmFuZG9cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTQKK21zZ2lkICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3Qgc2V0dGFibGUgYXJjaGl0ZWN0dXJlcywgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAtLWxpc3QgICAgICAgICAgICAgICBlbnVtZXJhIGxhcyBhcnF1aXRlY3R1cmFzIGNvbmZpZ3VyYWJsZXMgeSB0ZXJtaW5hXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlc1xuIgorIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCittc2dzdHIgIiIKKyIlc1xuIgorIlBydWViZSBgJXMgLS1oZWxwJyBwYXJhIG9idGVuZXIgbcOhcyBpbmZvcm1hY2nDs24uIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorbXNnc3RyICJQcnVlYmUgYCVzIC0taGVscCcgcGFyYSBvYnRlbmVyIG3DoXMgaW5mb3JtYWNpw7NuLiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFVucmVjb2duaXplZCBhcmNoaXRlY3R1cmUiCittc2dzdHIgIiVzOiBBcnF1aXRlY3R1cmEgbm8gcmVjb25vY2lkYSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiS2VybmVsIGNhbm5vdCBzZXQgYXJjaGl0ZWN0dXJlIHRvICVzIgorbXNnc3RyICJFbCBuw7pjbGVvIG5vIHB1ZWRlIHBvbmVyIGxhIGFycXVpdGVjdHVyYSBhICVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjMwNQorbXNnaWQgIk5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJObyBoYXkgc3VmaWNpZW50ZXMgYXJndW1lbnRvcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAiTm8gc2UgaGEgcG9kaWRvIGVzdGFibGVjZXIgbGEgcGVyc29uYWxpZGFkIGEgJXMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc5Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnLS1saXN0JyIKK21zZ3N0ciAib3BjacOzbiAnLS1saXN0JyBubyByZWNvbm9jaWRhIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM4NworbXNnaWQgIm5vIGFyY2hpdGVjdHVyZSBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgIm5vIHNlIGhhIGVzcGVjaWZpY2FkbyBlbCBhcmd1bWVudG8gZGUgYXJxdWl0ZWN0dXJhIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gZXN0YWJsZWNlciBsYSBwZXJzb25hbGlkYWQgYSAlcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXhlY3V0ZSBjb21tYW5kIGAlcycuXG4iCittc2dzdHIgIkVqZWN1dGEgb3JkZW46IGAlcycuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggZGlmZmVyZW50IHByaXZpbGVnZSBzZXR0aW5ncy5cbiIKK21zZ3N0ciAiRWplY3V0YSB1biBwcm9ncmFtYSBjb24gdW5hIGNvbmZpZ3VyYWNpw7NuIGRlIHByaXZpbGVnaW8gZGlmZXJlbnRlLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMAorbXNnaWQgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgc2hvdyBjdXJyZW50IHN0YXRlIChhbmQgZG8gbm90IGV4ZWMgYW55dGhpbmcpXG4iCittc2dzdHIgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgbXVlc3RyYSBlbCBlc3RhZG8gYWN0dWFsICh5IG5vIGVqZWN1dGEgbmFkYSlcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDEKK21zZ2lkICIgLS1ubnAsIC0tbm8tbmV3LXByaXZzICAgIGRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzXG4iCittc2dzdHIgIiAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAgaW1waWRlIG90b3JnYXIgbnVldm9zIHByaXZpbGVnaW9zXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTAyCittc2dpZCAiIC0taW5oLWNhcHMgPGNhcHMsLi4uPiAgICBzZXQgaW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiAtLWlubi1jYXBzIDxjYXBzLC4uLj4gICAgZXN0YWJsZWNlIGNhcGFjaWRhZGVzIGhlcmVkYWJsZXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDMKK21zZ2lkICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgIHNldCBjYXBhYmlsaXR5IGJvdW5kaW5nIHNldFxuIgorbXNnc3RyICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgIGVzdGFibGVjZSBlbCBjb25qdW50byBkZSBjYXBhY2lkYWRlcyBwb3NpYmxlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNAorbXNnaWQgIiAtLXJ1aWQgPHVpZD4gICAgICAgICAgICAgc2V0IHJlYWwgdWlkXG4iCittc2dzdHIgIiAtLXJ1aWQgPHVpZD4gICAgICAgICAgICAgZXN0YWJsZWNlIGVsIHVpZCByZWFsXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA1Cittc2dpZCAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIgLS1ldWlkIDx1aWQ+ICAgICAgICAgICAgIGVzdGFibGVjZSBlbCB1aWQgZWZlY3Rpdm9cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDYKK21zZ2lkICIgLS1yZ2lkIDxnaWQ+ICAgICAgICAgICAgIHNldCByZWFsIGdpZFxuIgorbXNnc3RyICIgLS1yZ2lkIDxnaWQ+ICAgICAgICAgICAgIGVzdGFibGVjZSBlbCBnaWQgcmVhbFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNworbXNnaWQgIiAtLWVnaWQgPGdpZD4gICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiIC0tZWdpZCA8Z2lkPiAgICAgICAgICAgICBlc3RhYmxlY2UgZWwgZ2lkIGVmZWN0aXZvXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA4Cittc2dpZCAiIC0tcmV1aWQgPHVpZD4gICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIgLS1yZXVpZCA8dWlkPiAgICAgICAgICAgIGVzdGFibGVjZSBlbCB1aWQgcmVhbCB5IGVmZWN0aXZvXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA5Cittc2dpZCAiIC0tcmVnaWQgPGdpZD4gICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIgLS1yZWdpZCA8Z2lkPiAgICAgICAgICAgIGVzdGFibGVjZSBlbCBnaWQgcmVhbCB5IGVmZWN0aXZvXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEwCittc2dpZCAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICBjbGVhciBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLS1jbGVhci1ncm91cHMgICAgICAgICAgIGJvcnJhIGxvcyBncnVwb3Mgc3VwbGVtZW50YXJpb3NcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTEKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICBtYW50aWVuZSBsb3MgZ3J1cG9zIHN1cGxlbWVudGFyaW9zXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEyCittc2dpZCAiIC0tZ3JvdXBzIDxncm91cCwuLi4+ICAgICBzZXQgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0tZ3JvdXBzIDxncnVwbywuLi4+ICAgICBlc3RhYmxlY2UgbG9zIGdydXBvcyBzdXBsZW1lbnRhcmlvc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMworbXNnaWQgIiAtLXNlY3VyZWJpdHMgPGJpdHM+ICAgICAgc2V0IHNlY3VyZWJpdHNcbiIKK21zZ3N0ciAiIC0tc2VjdXJlYml0cyA8Yml0cz4gICAgICBlc3RhYmxlY2UgbG9zIGJpdHMgZGUgc2VndXJpZGFkXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE0Cittc2dpZCAiIC0tc2VsaW51eC1sYWJlbCA8bGFiZWw+ICBzZXQgU0VMaW51eCBsYWJlbFxuIgorbXNnc3RyICIgLS1zZWxpbnV4LWxhYmVsIDxldGlxLj4gIGVzdGFibGVjZSBsYSBldGlxdWV0YSBTRUxpbnV4XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE1Cittc2dpZCAiIC0tYXBwYXJtb3ItcHJvZmlsZSA8cHI+ICBzZXQgQXBwQXJtb3IgcHJvZmlsZVxuIgorbXNnc3RyICIgLS1hcHBhcm1vci1wcm9maWxlIDxwcj4gIGVzdGFibGVjZSBlbCBwZXJmaWwgZGUgQXBwQXJtb3JcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjEKK21zZ2lkICIgVGhpcyB0b29sIGNhbiBiZSBkYW5nZXJvdXMuICBSZWFkIHRoZSBtYW5wYWdlLCBhbmQgYmUgY2FyZWZ1bC5cbiIKK21zZ3N0ciAiIEVzdGEgaGVycmFtaWVudGEgcHVlZGUgc2VyIHBlbGlncm9zYS4gTGVhIGxhIHDDoWdpbmEgZGUgbWFudWFsLCB5IHRlbmdhIGN1aWRhZG8uXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTkzIHN5cy11dGlscy9zZXRwcml2LmM6NDY3Cittc2dpZCAiZ2V0dGluZyBwcm9jZXNzIHNlY3VyZSBiaXRzIGZhaWxlZCIKK21zZ3N0ciAiZmFsbG8gYWwgb2J0ZW5lciBsb3MgYml0cyBkZSBzZWd1cmlkYWQgZGVsIHByb2Nlc28iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3VyZWJpdHM6ICIKK21zZ3N0ciAiQml0cyBkZSBzZWd1cmlkYWQ6ICIKKworIyBNYXNjdWxpbm8sIHBvcnF1ZSBzZSByZWZpZXJlIGEgIkluZGljYWRvcmVzIgorIzogc3lzLXV0aWxzL3NldHByaXYuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdXG4iCittc2dzdHIgIltuaW5ndW5vXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIGxvbmciCittc2dzdHIgIiVzOiBkZW1hc2lhZG8gbGFyZ28iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzOiAiCittc2dzdHIgIkdydXBvcyBzdXBsZW1lbnRhcmlvczogIgorCisjIE1hc2N1bGlubywgcG9ycXVlIHNlIHJlZmllcmUgYSAiSW5kaWNhZG9yZXMiCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3MyBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyMSBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyNgorIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzIgc3lzLXV0aWxzL3NldHByaXYuYzozMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdIgorbXNnc3RyICJbbmluZ3Vub10iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgInVpZDogJXVcbiIKK21zZ3N0ciAidWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICJldWlkOiAldVxuIgorbXNnc3RyICJldWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJzdWlkOiAldVxuIgorbXNnc3RyICJzdWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5OSBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5MQorbXNnaWQgImdldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgImdldHJlc3VpZCBoYSBmYWxsYWRvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMwOCBzeXMtdXRpbHMvc2V0cHJpdi5jOjQwNgorbXNnaWQgImdldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgImdldHJlc2dpZCBoYSBmYWxsYWRvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICJFZmZlY3RpdmUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIkNhcGFjaWRhZGVzIGVmZWN0aXZhczogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyNAorIywgYy1mb3JtYXQKK21zZ2lkICJQZXJtaXR0ZWQgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIkNhcGFjaWRhZGVzIHBlcm1pdGlkYXM6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIkNhcGFjaWRhZGVzIGhlcmVkYWJsZXM6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FwYWJpbGl0eSBib3VuZGluZyBzZXQ6ICIKK21zZ3N0ciAiQ29uanVudG8gZGUgY2FwYWNpZGFkZXMgcG9zaWJsZXM6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDMKK21zZ2lkICJTRUxpbnV4IGxhYmVsIgorbXNnc3RyICJldGlxdWV0YSBTRUxpbnV4IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0NgorbXNnaWQgIkFwcEFybW9yIHByb2ZpbGUiCittc2dzdHIgInBlcmZpbCBkZSBBcHBBcm1vciIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FwICVkOiBsaWJjYXAtbmcgaXMgYnJva2VuIgorbXNnc3RyICJjYXAgJWQ6IGxpYmNhcC1uZyBlc3TDoSByb3RvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4MgorbXNnaWQgIkludmFsaWQgc3VwcGxlbWVudGFyeSBncm91cCBpZCIKK21zZ3N0ciAiSWQgZGUgZ3J1cG8gZHVwbGVtZW50YXJpbyBubyB2w6FsaWRvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5OQorbXNnaWQgInNldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgInNldHJlc3VpZCBoYSBmYWxsYWRvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQxNAorbXNnaWQgInNldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgInNldHJlc2dpZCBoYSBmYWxsYWRvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQzNQorbXNnaWQgImJhZCBjYXBhYmlsaXR5IHN0cmluZyIKK21zZ3N0ciAiY2FkZW5hIGRlIGNhcGFjaWRhZCBpbmNvcnJlY3RhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ0MworbXNnaWQgImxpYmNhcC1uZyBpcyB0b28gb2xkIGZvciBcImFsbFwiIGNhcHMiCittc2dzdHIgImxpYmNhcC1uZyBlcyBkZW1hc2lhZG8gYW50aWd1byBwYXJhIHRvZGFzIChcImFsbFwiKSBsYXMgY2FwYWNpZGFkZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDUyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY2FwYWJpbGl0eSBcIiVzXCIiCittc2dzdHIgImNhcGFjaWRhZCBkZXNjb25vY2lkYSBcIiVzXCIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDc2Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCBzZXQgLS0gcmVmdXNpbmcgdG8gYWRqdXN0IgorbXNnc3RyICJjb25qdW50byBkZSBiaXRzIGRlIHNlZ3VyaWRhZCBkZXNjb25vY2lkb3MgLS0gc2UgcmVjaGF6YSBlbCBhanVzdGUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDgwCittc2dpZCAiYmFkIHNlY3VyZWJpdHMgc3RyaW5nIgorbXNnc3RyICJjYWRlbmEgZGUgYml0cyBkZSBzZWd1cmlkYWQgaW5jb3JyZWN0YSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0ODcKK21zZ2lkICIrYWxsIHNlY3VyZWJpdHMgaXMgbm90IGFsbG93ZWQiCittc2dzdHIgImJpdHMgZGUgc2VndXJpZGFkICthbGwgbm8gcGVybWl0aWRvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUwMAorbXNnaWQgImFkanVzdGluZyBrZWVwX2NhcHMgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAibm8gdGllbmUgc2VudGlkbyBhanVzdGFyIGtlZXBfY2FwcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDQKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IgorbXNnc3RyICJiaXQgZGUgc2VndXJpZGFkIG5vIHJlY29ub2NpZG8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTI0Cittc2dpZCAiU0VMaW51eCBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiU0VMaW51eCBubyBlc3TDoSBmdW5jaW9uYW5kbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvc2UgZmFpbGVkOiAlcyIKK21zZ3N0ciAiZmFsbG8gYWwgY2VycmFyOiAlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NDcKK21zZ2lkICJBcHBBcm1vciBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiQXBwQXJtb3Igbm8gZXN0w6EgZWplY3V0w6FuZG9zZSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NTgKK21zZ2lkICJkdXBsaWNhdGUgLS1uby1uZXctcHJpdnMgb3B0aW9uIgorbXNnc3RyICJvcGNpw7NuIC0tbm8tbmV3LXByaW50IGR1cGxpY2FkYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NjMKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCIKK21zZ3N0ciAicnVpZCBkdXBsaWNhZG8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjY1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJ1aWQiCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIHJ1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjY5Cittc2dpZCAiZHVwbGljYXRlIGV1aWQiCittc2dzdHIgImV1aWQgZHVwbGljYWRvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY3MQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBldWlkIgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBldWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY3NQorbXNnaWQgImR1cGxpY2F0ZSBydWlkIG9yIGV1aWQiCittc2dzdHIgInJ1aWQgbyBldWlkIGR1cGxpY2FkbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmV1aWQiCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIHJldWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4MQorbXNnaWQgImR1cGxpY2F0ZSByZ2lkIgorbXNnc3RyICJyZ2lkIGR1cGxpY2FkbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmdpZCIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgcmdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODcKK21zZ2lkICJkdXBsaWNhdGUgZWdpZCIKK21zZ3N0ciAiZWdpZCBkdXBsaWNhZG8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njg5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVnaWQiCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIGVnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjkzCittc2dpZCAiZHVwbGljYXRlIHJnaWQgb3IgZWdpZCIKK21zZ3N0ciAicmdpZCBvIGVnaWQgZHVwbGljYWRvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY5NQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZWdpZCIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgcmVnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzAwCittc2dpZCAiZHVwbGljYXRlIC0tY2xlYXItZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAib3BjacOzbiAtLWNsZWFyLWdyb3VwcyBkdXBsaWNhZGEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzA2Cittc2dpZCAiZHVwbGljYXRlIC0ta2VlcC1ncm91cHMgb3B0aW9uIgorbXNnc3RyICJvcGNpw7NuIC0ta2VlcC1ncm91cHMgZHVwbGljYWRhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcxMgorbXNnaWQgImR1cGxpY2F0ZSAtLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIm9wY2nDs24gLS1ncm91cHMgZHVwbGljYWRhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcyMQorbXNnaWQgImR1cGxpY2F0ZSAtLWluaC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAib3BjacOzbiAtLWluaC1jYXBzIGR1cGxpY2FkYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MjcKK21zZ2lkICJkdXBsaWNhdGUgLS1ib3VuZGluZy1zZXQgb3B0aW9uIgorbXNnc3RyICJvcGNpw7NuIC0tYm91bmRpbmctc2V0IGR1cGxpY2FkYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MzMKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWN1cmViaXRzIG9wdGlvbiIKK21zZ3N0ciAib3BjacOzbiAtLXNlY3VyZWJpdHMgZHVwbGljYWRhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjczOQorbXNnaWQgImR1cGxpY2F0ZSAtLXNlbGludXgtbGFiZWwgb3B0aW9uIgorbXNnc3RyICJvcGNpw7NuIC0tc2VsaW51eC1sYWJlbCBkdXBsaWNhZGEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzQ1Cittc2dpZCAiZHVwbGljYXRlIC0tYXBwYXJtb3ItcHJvZmlsZSBvcHRpb24iCittc2dzdHIgIm9wY2nDs24gLS1hcHBhcm1vci1wcm9maWxlIGR1cGxpY2FkYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnJWMnIgorbXNnc3RyICJvcGNpw7NuICclYycgbm8gcmVjb25vY2lkYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NjMKK21zZ2lkICItLWR1bXAgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIG9wdGlvbnMiCittc2dzdHIgIi0tZHVtcCBlcyBpbmNvbXBhdGlibGUgY29uIHRvZGFzIGxhcyBkZW3DoXMgb3BjaW9uZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzcxCittc2dpZCAiLS1saXN0LWNhcHMgbXVzdCBiZSBzcGVjaWZpZWQgYWxvbmUiCittc2dzdHIgIi0tbGlzdC1jYXBzIGRlYmUgZXNwZWNpZmljYXJzZSBzb2xvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3NworbXNnaWQgIk5vIHByb2dyYW0gc3BlY2lmaWVkIgorbXNnc3RyICJObyBzZSBoYSBlc3BlY2lmaWNhZG8gbmluZ8O6biBwcm9ncmFtYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODIKK21zZ2lkICItLVtyZV1naWQgcmVxdWlyZXMgLS1rZWVwLWdyb3VwcywgLS1jbGVhci1ncm91cHMsIG9yIC0tZ3JvdXBzIgorbXNnc3RyICItLVtyZV1naWQgbmVjZXNpdGEgLS1rZWVwLWdyb3VwcywgLS1jbGVhci1ncm91cHMsIG8gLS1ncm91cHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzg1Cittc2dpZCAiZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXMgZmFpbGVkIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gaW1wZWRpciBlbCBvdG9yZ2FtaWVudG8gZGUgbnVldm9zIHByaXZpbGVnaW9zIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MworbXNnaWQgImtlZXAgcHJvY2VzcyBjYXBhYmlsaXRpZXMgZmFpbGVkIgorbXNnc3RyICJubyBzZSBoYW4gcG9kaWRvIG1hbnRlbmVyIGxhcyBjYXBhY2lkYWRlcyBkZWwgcHJvY2VzbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDEKK21zZ2lkICJhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgImFjdGl2YSBsYXMgY2FwYWNpZGFkZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA3Cittc2dpZCAicmVhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgInJlYWN0aXZhIGxhcyBjYXBhY2lkYWRlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjMKK21zZ2lkICJzZXQgcHJvY2VzcyBzZWN1cmViaXRzIGZhaWxlZCIKK21zZ3N0ciAibm8gc2UgaGFuIHBvZGlkbyBlc3RhYmxlY2VyIGxvcyBiaXRzIGRlIHNlZ3VyaWRhZCBkZWwgcHJvY2VzbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjkKK21zZ2lkICJhcHBseSBib3VuZGluZyBzZXQiCittc2dzdHIgImFwbGljYSBlbCBjb25qdW50byBkZSBjYXBhY2lkYWRlcyBwb3NpYmxlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzUKK21zZ2lkICJhcHBseSBjYXBhYmlsaXRpZXMiCittc2dzdHIgImFwbGljYSBsYXMgY2FwYWNpZGFkZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODQwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBleGVjdXRlOiAlcyIKK21zZ3N0ciAibm8gc2UgcHVlZGUgZWplY3V0YXI6ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3VtZW50cyAuLi5dXG4iCittc2dzdHIgIiAlcyBbb3BjaW9uZXNdIDxwcm9ncmFtYT4gW2FyZ3VtZW50b3MgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzYKK21zZ2lkICJSdW4gYSBwcm9ncmFtIGluIGEgbmV3IHNlc3Npb24uXG4iCittc2dzdHIgIkVqZWN1dGEgdW4gcHJvZ3JhbWEgZW4gdW5hIG51ZXZhIHNlc2nDs24uXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozOQorbXNnaWQgIiAtYywgLS1jdHR5ICAgICBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIHRvIHRoZSBjdXJyZW50IG9uZVxuIgorbXNnc3RyICIgLWMsIC0tY3R0eSAgICAgZXN0YWJsZWNlIGNvbW8gdGVybWluYWwgZGUgY29udHJvbCBlbCBhY3R1YWxcbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQwCittc2dpZCAiIC13LCAtLXdhaXQgICAgIHdhaXQgcHJvZ3JhbSB0byBleGl0LCBhbmQgdXNlIHRoZSBzYW1lIHJldHVyblxuIgorbXNnc3RyICIgLXcsIC0td2FpdCAgICAgZXNwZXJhIGEgcXVlIGVsIHByb2dyYW1hIHRlcm1pbmUsIHkgdXRpbGl6YSBlbCBtaXNtbyByZXRvcm5vXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo5MworbXNnaWQgImZvcmsiCittc2dzdHIgImZvcmsiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hpbGQgJWQgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJlbCBoaWpvICVkIG5vIGhhIHRlcm1pbmFkbyBub3JtYWxtZW50ZSIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExMAorbXNnaWQgInNldHNpZCBmYWlsZWQiCittc2dzdHIgInNldHNpZCBoYSBmYWxsYWRvIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEzCittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBlc3RhYmxlY2VyIGVsIHRlcm1pbmFsIGRlIGNvbnRyb2wiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcG9mZiAlc1xuIgorbXNnc3RyICJzd2Fwb2ZmICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA1Cittc2dpZCAiTm90IHN1cGVydXNlci4iCittc2dzdHIgIk5vIGVzIGVsIHN1cGVydXN1YXJpby4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb2ZmIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN3YXBvZmYgZmFsbMOzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyMiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxzcGVjPl1cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gWzxlc3BlYz5dXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI1Cittc2dpZCAiRGlzYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiRGVzYWN0aXZhIGRpc3Bvc2l0aXZvcyB5IGZpY2hlcm9zIHBhcmEgcGFnaW5hY2nDs24gZSBpbnRlcmNhbWJpby5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjgKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgc3dhcHMgZnJvbSAvcHJvYy9zd2Fwc1xuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZGVzYWN0aXZhIHRvZG9zIGxvcyBpbnRlcmNhbWJpb3MgZW4gL3Byb2Mvc3dhcHNcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICBtb2RvIGV4cHJlc2l2b1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEzNQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIkVsIHBhcsOhbWV0cm8gPGVzcGVjPjpcbiIKKyIgLUwgPGV0aXF1ZXRhPiAgICAgICAgICBldGlxdWV0YSBkZWwgZGlzcG9zaXRpdm8gcXVlIHNlIHZhIGEgdXRpbGl6YXJcbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICB1dWlkIGRlbCBkaXNwb3NpdGl2byBxdWUgc2UgdmEgYSB1dGlsaXphclxuIgorIiBMQUJFTD08ZXRpcXVldGE+ICAgICAgIGV0aXF1ZXRhIGRlbCBkaXNwb3NpdGl2byBxdWUgc2UgdmEgYSB1dGlsaXphclxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIHV1aWQgZGVsIGRpc3Bvc2l0aXZvIHF1ZSBzZSB2YSBhIHV0aWxpemFyXG4iCisiIDxkaXNwb3NpdGl2bz4gICAgICAgICAgbm9tYnJlIGRlbCBkaXNwb3NpdGl2byBxdWUgc2UgdmEgYSB1dGlsaXphclxuIgorIiA8ZmljaGVybz4gICAgICAgICAgICAgIG5vbWJyZSBkZWwgZGlzcG9zaXRpdm8gcXVlIHNlIHZhIGEgdXRpbGl6YXJcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkzCittc2dpZCAiZGV2aWNlIGZpbGUgb3IgcGFydGl0aW9uIHBhdGgiCittc2dzdHIgImZpY2hlcm8gZGUgZGlzcG9zaXRpdm8gbyBydXRhIGRlIGxhIHBhcnRpY2nDs24iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NAorbXNnaWQgInR5cGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAidGlwbyBkZSBkaXNwb3NpdGl2byIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk1Cittc2dpZCAic2l6ZSBvZiB0aGUgc3dhcCBhcmVhIgorbXNnc3RyICJ0YW1hw7FvIGRlIGxhIHpvbmEgZGUgaW50ZXJjYW1iaW8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NgorbXNnaWQgImJ5dGVzIGluIHVzZSIKK21zZ3N0ciAiYnl0ZXMgZW4gdXNvIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTcKK21zZ2lkICJzd2FwIHByaW9yaXR5IgorbXNnc3RyICJwcmlvcmlkYWQgZGUgbGEgem9uYSBkZSBpbnRlcmNhbWJpbyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk4Cittc2dpZCAic3dhcCB1dWlkIgorbXNnc3RyICJ1dWlkIGRlIGxhIHpvbmEgZGUgaW50ZXJjYW1iaW8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OQorbXNnaWQgInN3YXAgbGFiZWwiCittc2dzdHIgImV0aXF1ZXRhIGRlIGxhIHpvbmEgZGUgaW50ZXJjYW1iaW8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNcdFx0XHRcdFR5cGVcdFx0U2l6ZVx0VXNlZFx0UHJpb3JpdHlcbiIKK21zZ3N0ciAiJXNcdFx0XHRcdFRpcG9cdFx0VGFtYcOxb1x0VXRpbGl6YWRvXHRQcmlvcmlkYWRcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI0NgorbXNnaWQgIkZpbGVuYW1lIgorbXNnc3RyICJOb21icmUgZGVsIGZpY2hlcm8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlaW5pdGlhbGl6aW5nIHRoZSBzd2FwLiIKK21zZ3N0ciAiJXM6IHJlaW5pY2lhbGl6YWNpw7NuIGRlIGxhIHpvbmEgZGUgaW50ZXJjYW1iaW8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxzZWVrIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGxzZWVrIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIHNpZ25hdHVyZSBmYWlsZWQiCittc2dzdHIgIiVzOiBsYSBlc2NyaXR1cmEgZGUgbGEgZmlybWEgaGEgZmFsbGFkbyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjUzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgLSBpdCBhcHBlYXJzIHRvIGhhdmUgaG9sZXMuIgorbXNnc3RyICIlczogb21pdGllbmRvIC0gcGFyZWNlIHF1ZSBoYXkgaHVlY29zLiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0IHNpemUgZmFpbGVkIgorbXNnc3RyICIlczogZmFsbG8gYWwgb2J0ZW5lciB0YW1hw7FvIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIHN3YXAgaGVhZGVyIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZhbGxvIGFsIG9idGVuZXIgbGEgY2FiZWNlcmEgZGUgaW50ZXJjYW1iaW8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZvdW5kIHNpZ25hdHVyZSBbcGFnZXNpemU9JWQsIHNpZ25hdHVyZT0lc10iCittc2dzdHIgIiVzOiBmaXJtYSBlbmNvbnRyYWRhIFt0YW1hw7FvIGRlIHDDoWdpbmE9JWQsIGZpcm1hPSVzXSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFnZXNpemU9JWQsIHN3YXBzaXplPSVsbHUsIGRldnNpemU9JWxsdSIKK21zZ3N0ciAiJXM6IHRhbWHDsW8gZGUgcMOhZ2luYT0lZCwgdGFtYcOxbyBkZSBpbnRlcmNhbWJpbz0lbGx1LCB0YW1hw7FvIGRlIGRpc3Bvc2l0aXZvPSVsbHUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxhc3RfcGFnZSAweCUwOGxseCBpcyBsYXJnZXIgdGhhbiBhY3R1YWwgc2l6ZSBvZiBzd2Fwc3BhY2UiCittc2dzdHIgIiVzOiDDumx0aW1hX3DDoWdpbmEgMHglMDhsbHggbWF5b3IgcXVlIGVsIHRhbWHDsW8gcmVhbCBkZSBsYSB6b25hIGRlIGludGVyY2FtYmlvIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4iCittc2dzdHIgIiVzOiBlbCB0YW1hw7FvIGRlIHDDoWdpbmEgZGVsIGZvcm1hdG8gZGUgbGEgem9uYSBkZSBpbnRlcmNhbWJpbyBubyBjb25jdWVyZGEuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4gKFVzZSAtLWZpeHBnc3ogdG8gcmVpbml0aWFsaXplIGl0LikiCittc2dzdHIgIiVzOiBlbCB0YW1hw7FvIGRlIHDDoWdpbmEgZGVsIGZvcm1hdG8gZGUgbGEgem9uYSBkZSBpbnRlcmNhbWJpbyBubyBjb25jdWVyZGEuIChVdGlsaWNlIC0tZml4cGdzeiBwYXJhIHJlaW5pY2lhbGl6YXJsby4pIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzb2Z0d2FyZSBzdXNwZW5kIGRhdGEgZGV0ZWN0ZWQuIFJld3JpdGluZyB0aGUgc3dhcCBzaWduYXR1cmUuIgorbXNnc3RyICIlczogZGF0b3MgZGUgc3VzcGVuc2nDs24gZGVsIHNvZnR3YXJlIGRldGVjdGFkb3MuIFNlIHJlZXNjcmliZSBsYSBmaXJtYSBkZSBsYSB6b25hIGRlIGludGVyY2FtYmlvLiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb24gJXNcbiIKK21zZ3N0ciAic3dhcG9uICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvbiBmYWlsZWQiCittc2dzdHIgIiVzOiBzd2Fwb24gaGEgZmFsbGFkbyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9hdXRvIG9wdGlvbiAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogb3BjacOzbiBub2F1dG8gLS0gaWdub3JhZGEiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgYWN0aXZlIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiB5YSBlc3TDoSBhY3Rpdm8gLS0gaWdub3JhZGEiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluYWNjZXNzaWJsZSAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogaW5hY2Nlc2libGUgLS0gaWdub3JhZGEiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTEKK21zZ2lkICJFbmFibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIkFjdGl2YSBkaXNwb3NpdGl2b3MgeSBmaWNoZXJvcyBwYXJhIHBhZ2luYWNpw7NuIGUgaW50ZXJjYW1iaW8uXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTQKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgYWN0aXZhIHRvZGFzIGxhcyB6b25hcyBkZSBpbnRlcmNhbWJpb3MgZW4gL2V0Yy9mc3RhYlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk1Cittc2dpZCAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorbXNnc3RyICIgLWQsIC0tZGlzY2FyZFs9PHBvbMOtdGljYT5dIGFjdGl2YSBsb3MgZGVzY2FydGVzIGRlIGludGVyY2FtYmlvLCBzaSBsbyBhZG1pdGUgZWwgZGlzcG9zaXRpdm9cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NgorbXNnaWQgIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgc2lsZW50bHkgc2tpcCBkZXZpY2VzIHRoYXQgZG8gbm90IGV4aXN0XG4iCittc2dzdHIgIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgc2Ugc2FsdGEgbG9zIGRpc3Bvc2l0aXZvcyBxdWUgbm8gZXhpc3RhbiBzaW4gZGVjaXIgbmFkYVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk3Cittc2dpZCAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICByZWluaXRpYWxpemUgdGhlIHN3YXAgc3BhY2UgaWYgbmVjZXNzYXJ5XG4iCittc2dzdHIgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbmljaWFsaXphIGVsIGVzcGFjaW8gZGUgaW50ZXJjYW1iaW8gc2kgZXMgbmVjZXNhcmlvXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTgKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHN3YXAgb3B0aW9uc1xuIgorbXNnc3RyICIgLW8sIC0tb3B0aW9ucyA8bGlzdGE+ICAgIGxpc3RhIGRlIGxhcyBvcGNpb25lcyBkZSBpbnRlcmNhbWJpbywgc2VwYXJhZGFzIHBvciBjb21hXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTkKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorbXNnc3RyICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIGVzcGVjaWZpY2EgbGEgcHJpb3JpZGFkIGRlbCBkaXNwb3NpdGl2byBkZSBpbnRlcmNhbWJpb1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAwCittc2dpZCAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBkaXNwbGF5IHN1bW1hcnkgYWJvdXQgdXNlZCBzd2FwIGRldmljZXMgKERFUFJFQ0FURUQpXG4iCittc2dzdHIgIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgbXVlc3RyYSB1biByZXN1bWVuIHNvYnJlIGxvcyBkaXNwb3NpdGl2b3MgZGUgaW50ZXJjYW1iaW8gdXRpbGl6YWRvcyAoRU4gREVTVVNPKVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAxCittc2dpZCAiICAgICAtLXNob3dbPTxjb2x1bW5zPl0gICBkaXNwbGF5IHN1bW1hcnkgaW4gZGVmaW5hYmxlIHRhYmxlXG4iCittc2dzdHIgIiAgICAgLS1zaG93Wz08Y29sdW1uYXM+XSAgbXVlc3RyYSB1biByZXN1bWVuIGVuIHVuYSB0YWJsYSBkZWZpbmlibGVcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMgorbXNnaWQgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgdGFibGUgaGVhZGluZyAod2l0aCAtLXNob3cpXG4iCittc2dzdHIgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgbm8gaW1wcmltZSBsYXMgY2FiZWNlcmFzIGRlIGxhIHRhYmxhIChjb24gLS1zaG93KVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAzCittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0ICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAgICAtLXJhdyAgICAgICAgICAgICAgICB1dGlsaXphIGVsIGZvcm1hdG8gZGUgc2FsaWRhIGVuIGJydXRvIChjb24gLS1zaG93KVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA0Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgc2l6ZSBpbiBieXRlcyBpbiAtLXNob3cgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgbXVlc3RyYSBlbCB0YW1hw7FvIGRlIGludGVyY2FtYmlvIGVuIGJ5dGVzIGVuIGxhIHNhbGlkYSBkZSAtLXNob3dcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgbW9kbyBleHByZXNpdm9cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIkVsIHBhcsOhbWV0cm8gPGVzcGVjPjpcbiIKKyIgLUwgPGV0aXF1ZXRhPiAgICAgICAgICBzaW7Ds25pbW8gZGUgTEFCRUw9PGVpdHF1ZXRhPlxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIHNpbsOzbmltbyBkZSBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08ZXRpcXVldGE+ICAgICAgIGVzcGVjaWZpY2EgZWwgZGlzcG9zaXRpdm8gcG9yIGxhIGV0aXF1ZXRhIGRlIGxhIHpvbmEgZGUgaW50ZXJjYW1iaW9cbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBlc3BlY2lmaWNhIGVsIGRpc3Bvc2l0aXZvIHBvciBlbCBVVUlEIGRlIGxhIHpvbmEgZGUgaW50ZXJjYW1iaW9cbiIKKyIgUEFSVExBQkVMPTxldGlxdWV0YT4gICBlc3BlY2lmaWNhIGVsIGRpc3Bvc2l0aXZvIHBvciBsYSBldGlxdWV0YSBkZSBsYSBwYXJ0aWNpw7NuXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgZXNwZWNpZmljYSBlbCBkaXNwb3NpdGl2byBwb3IgZWwgVVVJRCBkZSBsYSBwYXJ0aWNpw7NuXG4iCisiIDxkaXNwb3NpdGl2bz4gICAgICAgICAgbm9tYnJlIGRlbCBkaXNwb3NpdGl2byBxdWUgc2UgdmEgYSB1dGlsaXphclxuIgorIiA8ZmljaGVybz4gICAgICAgICAgICAgIG5vbWJyZSBkZWwgZmljaGVybyBxdWUgc2UgdmEgYSB1dGlsaXphclxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODIxCittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBkaXNjYXJkIHBvbGljeSB0eXBlcyAoZm9yIC0tZGlzY2FyZCk6XG4iCisiIG9uY2UgICAgOiBvbmx5IHNpbmdsZS10aW1lIGFyZWEgZGlzY2FyZHMgYXJlIGlzc3VlZFxuIgorIiBwYWdlcyAgIDogZnJlZWQgcGFnZXMgYXJlIGRpc2NhcmRlZCBiZWZvcmUgdGhleSBhcmUgcmV1c2VkXG4iCisiSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCBib3RoIGRpc2NhcmQgdHlwZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQpLlxuIgorbXNnc3RyICIiCisiXG4iCisiVGlwb3MgZGUgcG9sw610aWNhcyBkZSBkZXNjYXJ0ZSBkaXNwb25pYmxlcyAocGFyYSAtLWRpc2NhcmQpOlxuIgorIiBvbmNlICAgIDogc29sYW1lbnRlIGRlc2NhcnRlcyBkZSB6b25hIGRlIHVuYSBzb2xhIHZlelxuIgorIiBwYWdlcyAgIDogbGFzIHDDoWdpbmFzIGxpYmVyYWRhcyBzZSBkZXNjYXJ0YW4gYW50ZXMgZGUgdm9sdmVyIGEgdXRpbGl6YXJzZVxuIgorIlNpIG5vIHNlIGVsaWdlICBuaW5ndW5hIHBvbMOtdGljYSwgc2UgYWN0aXZhbiBsb3MgZG9zIHRpcG9zIGRlIGRlc2NhcnRlXG4iCisiKG9wY2nDs24gcHJlZGV0ZXJtaW5hZGEpLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODI2Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93KTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkNvbHVtbmFzIGRpc3BvbmlibGVzIChwYXJhIC0tc2hvdyk6XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MDQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcHJpb3JpdHkiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBhbmFsaXphciBsYSBwcmlvcmlkYWQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICJwb2zDrXRpY2EgZGUgZGVzY2FydGUgbm8gYWRtaXRpZGE6ICVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHRoZSBkZXZpY2UgZm9yICVzIgorbXNnc3RyICJubyBzZSBwdWVkZSBlbmNvbnRyYXIgZWwgZGlzcG9zaXRpdm8gcGFyYSAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NTkKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkaXJlY3RvcnkiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBhYnJpciBlbCBkaXJlY3RvcmlvIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2NworbXNnaWQgInN0YXQgZmFpbGVkIgorbXNnc3RyICJzdGF0IGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjc4Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgZGlyZWN0b3J5IgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gbGVlciBlbCBkaXJlY3RvcmlvIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVubGluayAlcyIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGRlc3ZpbmN1bGFyICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAlcyIKK21zZ3N0ciAiZmFsbG8gYWwgbW9udGFyIG1vdmllbmRvICVzIGEgJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JjaW5nIHVubW91bnQgb2YgJXMiCittc2dzdHIgImZvcnphbmRvIGVsIGRlc21vbnRhamUgZGUgJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAiZmFsbG8gYWwgY2FtYmlhciBkZSBkaXJlY3RvcmlvIGEgJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvIC8iCittc2dzdHIgImZhbGxvIGFsIG1vbnRhciBtb3ZpZW5kbyAlcyBhIC8iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3NQorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGNhbWJpYXIgbGEgcmHDrXoiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE4OAorbXNnaWQgIm9sZCByb290IGZpbGVzeXN0ZW0gaXMgbm90IGFuIGluaXRyYW1mcyIKK21zZ3N0ciAiZWwgc2lzdGVtYSBkZSBmaWNoZXJvcyByYcOteiBhbnRpZ3VvIG5vIGVzIHVuIGluaXRyYW1mcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG5ld3Jvb3RkaXI+IDxpbml0PiA8YXJncyB0byBpbml0PlxuIgorbXNnc3RyICIgJXMgW29wY2lvbmVzXSA8bnVldm9kaXJlY3RvcmlvcmHDrXo+IDxpbml0PiA8YXJncyBkZSBpbml0PlxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDQKK21zZ2lkICJTd2l0Y2ggdG8gYW5vdGhlciBmaWxlc3lzdGVtIGFzIHRoZSByb290IG9mIHRoZSBtb3VudCB0cmVlLlxuIgorbXNnc3RyICJFc3RhYmxlY2Ugb3RybyBzaXN0ZW1hIGRlIGZpY2hlcm9zIGNvbW8gcmHDrXogZGVsIMOhcmJvbCBkZSBtb250YWplLlxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMzYKK21zZ2lkICJmYWlsZWQuIFNvcnJ5LiIKK21zZ3N0ciAiaGEgZmFsbGFkby4gUGVyZMOzbi4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgYWNjZXNzICVzIgorbXNnc3RyICJubyBzZSBwdWVkZSBhY2NlZGVyIGEgJXMiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5NAorbXNnaWQgIlNldCB2YXJpb3VzIHBhcmFtZXRlcnMgZm9yIHRoZSBsaW5lIHByaW50ZXIuXG4iCittc2dzdHIgIkNvbmZpZ3VyYSBwYXLDoW1ldHJvcyBkZSBsYSBpbXByZXNvcmEgZGUgbMOtbmVhLlxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTcKK21zZ2lkICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICBzcGVjaWZ5IHBhcmFsbGVsIHBvcnQgaXJxXG4iCittc2dzdHIgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIGVzcGVjaWZpY2EgbGEgaXJxIGRlbCBwdWVydG8gcGFyYWxlbG9cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk4Cittc2dpZCAiIC10LCAtLXRpbWUgPG1zPiAgICAgICAgICAgICAgZHJpdmVyIHdhaXQgdGltZSBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgPG1zPiAgICAgICAgICAgICAgdGllbXBvIGRlIGVzcGVyYSBkZWwgY29udHJvbGFkb3IgZW4gc2VndW5kb3NcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk5Cittc2dpZCAiIC1jLCAtLWNoYXJzIDxudW0+ICAgICAgICAgICAgbnVtYmVyIG9mIG91dHB1dCBjaGFyYWN0ZXJzIGJlZm9yZSBzbGVlcFxuIgorbXNnc3RyICIgLWMsIC0tY2hhcnMgPG51bT4gICAgICAgICAgICBuw7ptZXJvIGRlIGNhcmFjdGVyZXMgcXVlIHNhY2FyIGFudGVzIGRlbCByZXBvc29cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMAorbXNnaWQgIiAtdywgLS13YWl0IDx1cz4gICAgICAgICAgICAgIHN0cm9iZSB3YWl0IGluIG1pY3JvIHNlY29uZHNcbiIKK21zZ3N0ciAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgdGllbXBvIGRlIMKrc3Ryb2JlwrsgZW4gbWljcm9zZWd1bmRvc1xuIgorCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSA8b258b2ZmPiBhcmd1bWVudHMuIFRoZQorIy4gYXJndW1lbnQgcmVhZGVyIGRvZXMgbm90IHJlY29nbml6ZSBsb2NhbGUsIHVubGVzcyBgb24nIGlzCisjLiBleGFjdGx5IHRoYXQgdmVyeSBzYW1lIHN0cmluZy4KKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDQKK21zZ2lkICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhYm9ydCBvbiBlcnJvclxuIgorbXNnc3RyICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhYm9ydGFyIHNpIGhheSBlcnJvclxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA1Cittc2dpZCAiIC1vLCAtLWNoZWNrLXN0YXR1cyA8b258b2ZmPiAgY2hlY2sgcHJpbnRlciBzdGF0dXMgYmVmb3JlIHByaW50aW5nXG4iCittc2dzdHIgIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gIGNvbXByb2JhciBlbCBlc3RhZG8gZGUgbGEgaW1wcmVzb3JhIGFudGVzIGRlIGltcHJpbWlyXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDYKK21zZ2lkICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICBleHRyYSBjaGVja2luZyB0byBzdGF0dXMgY2hlY2tcbiIKK21zZ3N0ciAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAgY29tcHJvYmFjacOzbiBhZGljaW9uYWwgYSBsYSBjb21wcm9iYWNpw7NuIGRlbCBlc3RhZG9cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNworbXNnaWQgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIHF1ZXJ5IHByaW50ZXIgc3RhdHVzXG4iCittc2dzdHIgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIGNvbnN1bHRhIGVsIGVzdGFkbyBkZSBsYSBpbXByZXNvcmFcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOAorbXNnaWQgIiAtVCwgLS10cnVzdC1pcnEgPG9ufG9mZj4gICAgIG1ha2UgZHJpdmVyIHRvIHRydXN0IGlycVxuIgorbXNnc3RyICIgLVQsIC0tdHJ1c3QtaXJxIDxvbnxvZmY+ICAgICBoYWNlIHF1ZSBlbCBjb250cm9sYWRvciBjb25mw61lIGVuIGxhIGlycVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcmVzZXQgdGhlIHBvcnRcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcmVzdGFibGVjZSBlbCBwdWVydG9cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMAorbXNnaWQgIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgIGRpc3BsYXkgY3VycmVudCBpcnEgc2V0dGluZ1xuIgorbXNnc3RyICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICBtdWVzdHJhIGxhIGNvbmZpZ3VyYWNpw7NuIGRlIGlycSBhY3R1YWxcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgYW4gbHAgZGV2aWNlIgorbXNnc3RyICIlcyBubyBlcyB1biBkaXNwb3NpdGl2byBscCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4MAorbXNnaWQgIkxQR0VUU1RBVFVTIGVycm9yIgorbXNnc3RyICJlcnJvciBkZSBMUEdFVFNUQVRVUyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdGF0dXMgaXMgJWQiCittc2dzdHIgIkVsIGVzdGFkbyBkZSAlcyBlcyAlZCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIsIGJ1c3kiCittc2dzdHIgIiwgb2N1cGFkbyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICIsIHJlYWR5IgorbXNnc3RyICIsIHByZXBhcmFkbyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG91dCBvZiBwYXBlciIKK21zZ3N0ciAiLCBmYWx0YSBwYXBlbCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICIsIG9uLWxpbmUiCittc2dzdHIgIiwgZW4gbMOtbmVhIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZXJyb3IiCittc2dzdHIgIiwgZXJyb3IiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMDAKK21zZ2lkICJpb2N0bCBmYWlsZWQiCittc2dzdHIgImlvY3RsIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTAKK21zZ2lkICJMUEdFVElSUSBlcnJvciIKK21zZ3N0ciAiZXJyb3IgZGUgTFBHRVRJUlEiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgSVJRICVkXG4iCittc2dzdHIgIiVzIHV0aWxpemFuZG8gSVJRICVkXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgcG9sbGluZ1xuIgorbXNnc3RyICIlcyB1dGlsaXphbmRvIHNvbmRlb1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstaFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IHwgPGRpcmVjdG9yeT5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstaFZdXG4iCisiICUxJHMgLWEgW29wY2lvbmVzXVxuIgorIiAlMSRzIFtvcGNpb25lc10gPG9yaWdlbj4gfCA8ZGlyZWN0b3Jpbz5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjgxCittc2dpZCAiVW5tb3VudCBmaWxlc3lzdGVtcy5cbiIKK21zZ3N0ciAiRGVzbW9udGEgc2lzdGVtYXMgZGUgZmljaGVyb3MuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICB1bm1vdW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgZGVzbW9udGEgdG9kb3MgbG9zIHNpc3RlbWFzIGRlIGZpY2hlcm9zXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NQorbXNnaWQgIiIKKyIgLUEsIC0tYWxsLXRhcmdldHMgICAgICAgdW5tb3VudCBhbGwgbW91bnRwb2ludHMgZm9yIHRoZSBnaXZlbiBkZXZpY2UgaW4gdGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICBkZXNtb250YSB0b2RvcyBsb3MgcHVudG9zIGRlIG1vbnRhamUgcGFyYSBlbCBkaXNwb3NpdGl2byBlc3BlY2lmaWNhZG9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBlbiBlbCBlc3BhY2lvIGRlIG5vbWJyZXMgYWN0dWFsXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NworbXNnaWQgIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKK21zZ3N0ciAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIG5vIGhhY2UgY2Fuw7NuaWNhcyBsYXMgcnV0YXNcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg4Cittc2dpZCAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGlmIG1vdW50ZWQgbG9vcCBkZXZpY2UsIGFsc28gZnJlZSB0aGlzIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICBzaSBlcyB1biBkaXNwb3NpdGl2byBkZSBidWNsZSwgdGFtYmnDqW4gbGliZXJhIGVzdGUgZGlzcG9zaXRpdm8gZGUgYnVjbGVcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg5Cittc2dpZCAiICAgICAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIHVtb3VudCgyKSBzeXNjYWxsXG4iCittc2dzdHIgIiAgICAgLS1mYWtlICAgICAgICAgICAgICBoYWNlIHVuYSBwcnVlYmE7IG5vIHJlYWxpemEgbGEgbGxhbWFkYSBhbCBzaXN0ZW1hIHVtb3VudCgyKVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTAKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgZm9yY2UgdW5tb3VudCAoaW4gY2FzZSBvZiBhbiB1bnJlYWNoYWJsZSBORlMgc3lzdGVtKVxuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgZGVzbW9udGEgYSBsYSBmdWVyemEgKGVuIGNhc28gZGUgc2lzdGVtYSBORlMgbm8gYWxjYW56YWJsZSlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkxCittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIHVtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgbm8gbGxhbWEgYSBsb3MgYXV4aWxpYXJlcyB1bW91bnQuPHRpcG8+XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MworbXNnaWQgIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICBkZXRhY2ggdGhlIGZpbGVzeXN0ZW0gbm93LCBjbGVhbiB1cCB0aGluZ3MgbGF0ZXJcbiIKK21zZ3N0ciAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGRlc3ZpbmN1bGEgZWwgc2lzdGVtYSBkZSBmaWNoZXJvcyBhaG9yYSwgeSBsaW1waWEgbcOhcyB0YXJkZVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTQKK21zZ2lkICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCittc2dzdHIgIiAtTywgLS10ZXN0LW9wdHMgPGxpc3RhPiBsaW1pdGEgZWwgY29uanVudG8gZGUgc2lzdGVtYXMgZGUgZmljaGVyb3MgKHNlIHV0aWxpemEgY29uIC1hKVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTUKK21zZ2lkICIgLVIsIC0tcmVjdXJzaXZlICAgICAgICAgcmVjdXJzaXZlbHkgdW5tb3VudCBhIHRhcmdldCB3aXRoIGFsbCBpdHMgY2hpbGRyZW5cbiIKK21zZ3N0ciAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIGRlc21vbnRhIHJlY3Vyc2l2YW1lbnRlIHVuIG9iamV0aXZvIHkgdG9kb3Mgc3VzIGhpam9zXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NgorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBpbiBjYXNlIHVubW91bnRpbmcgZmFpbHMsIHRyeSB0byByZW1vdW50IHJlYWQtb25seVxuIgorbXNnc3RyICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgZW4gY2FzbyBkZSBmYWxsbyBhbCBkZXNtb250YXIsIGludGVudGEgdm9sdmVyIGEgbW9udGFyIGVuIG1vZG8gZGUgc29sbyBsZWN0dXJhXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NworbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGVzIDxsaXN0YT4gICAgIGxpbWl0YSBlbCBjb25qdW50byBkZSB0aXBvcyBkZSBzaXN0ZW1hcyBkZSBmaWNoZXJvXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzKSB1bm1vdW50ZWQiCittc2dzdHIgIiVzICglcykgZGVzbW9udGFkbyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bm1vdW50ZWQiCittc2dzdHIgIiVzIGRlc21vbnRhZG8iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVtb3VudCBmYWlsZWQiCittc2dzdHIgIiVzOiB1bW91bnQgaGEgZmFsbGFkbyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorbXNnc3RyICIlczogc2UgaGEgZGVzbW9udGFkbyBlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zLCBwZXJvIG1vdW50KDgpIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogZGlzcG9zaXRpdm8gZGUgYmxvcXVlcyBubyB2w6FsaWRvIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorbXNnc3RyICIlczogbm8gc2UgcHVlZGUgZXNjcmliaXIgZWwgc3VwZXJibG9xdWUiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzOiB0YXJnZXQgaXMgYnVzeVxuIgorIiAgICAgICAgKEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gYWJvdXQgcHJvY2Vzc2VzIHRoYXRcbiIKKyIgICAgICAgICB1c2UgdGhlIGRldmljZSBpcyBmb3VuZCBieSBsc29mKDgpIG9yIGZ1c2VyKDEpLikiCittc2dzdHIgIiIKKyIlczogZWwgZGVzdGlubyBlc3TDoSBvY3VwYWRvXG4iCisiICAgICAgICAoRW4gYWxndW5vcyBjYXNvcyBwdWVkZSBvYnRlbmVyc2UgaW5mb3JtYWNpw7NuIMO6dGlsIHNvYnJlIGxvc1xuIgorIiAgICAgICAgIHByb2Nlc29zIHF1ZSB1dGlsaXphIGVsIGRpc3Bvc2l0aXZvIG1lZGlhbnRlIGxzb2YoOCkgbyBmdXNlcigxKS4pIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudHBvaW50IG5vdCBmb3VuZCIKK21zZ3N0ciAiJXM6IG5vIHNlIGhhIGVuY29udHJhZG8gZWwgcHVudG8gZGUgbW9udGFqZSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1MAorbXNnaWQgInVuZGVmaW5lZCBtb3VudHBvaW50IgorbXNnc3RyICJwdW50byBkZSBtb250YWplIG5vIGRlZmluaWRvIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtdXN0IGJlIHN1cGVydXNlciB0byB1bm1vdW50IgorbXNnc3RyICIlczogZGViZSBzZXIgc3VwZXJ1c3VhcmlvIHBhcmEgZGVzbW9udGFyIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBibG9jayBkZXZpY2VzIGFyZSBub3QgcGVybWl0dGVkIG9uIGZpbGVzeXN0ZW0iCittc2dzdHIgIiVzOiBubyBzZSBwZXJtaXRlbiBkaXNwb3NpdGl2b3MgZGUgYmxvcXVlIGVuIGVsIHNpc3RlbWEgZGUgZmljaGVyb3MiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozMDcKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHVtb3VudCB0YXJnZXQiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBlc3RhYmxlY2VyIGVsIGRlc3Rpbm8gZGUgdW1vdW50IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzIzCittc2dpZCAibGlibW91bnQgdGFibGUgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgImZhbGxvIGRlIHJlc2VydmEgZGUgbGEgdGFibGEgZGUgbGlibW91bnQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozNjYgc3lzLXV0aWxzL3Vtb3VudC5jOjQ0NgorbXNnaWQgImxpYm1vdW50IGl0ZXJhdG9yIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJmYWxsbyBkZSByZXNlcnZhIGRlbCB0ZXJhZG9yIGRlIGxpYm1vdW50IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzcyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgY2hpbGQgZnMgb2YgJXMiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBvYnRlbmVyIGVsIHNmIGhpam8gZGUgJXMiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo0MTAgc3lzLXV0aWxzL3Vtb3VudC5jOjQzMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIgorbXNnc3RyICIlczogbm8gZW5jb250cmFkbyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQ0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRldGVybWluZSBzb3VyY2UgKC0tYWxsLXRhcmdldHMgaXMgdW5zdXBwb3J0ZWQgb24gc3lzdGVtcyB3aXRoIHJlZ3VsYXIgbXRhYiBmaWxlKS4iCittc2dzdHIgIiVzOiBubyBzZSBoYSBwb2RpZG8gZGV0ZXJtaW5hciBlbCBvcmlnZW4gKC0tYWxsLXRhcmdldHMgbm8gc2UgYWRtaXRlIGVuIHNpc3RlbWFzIGNvbiBmaWNoZXJvIG10YWIgb3JkaW5hcmlvKS4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zZXRncm91cHMgYXJndW1lbnQgJyVzJyIKK21zZ3N0ciAiYXJndW1lbnRvIGRlIC0tc2V0Z3JvdXBzIG5vIHNvcG9ydGFkbyAnJXMnIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjExMCBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQgJXMiCittc2dzdHIgImVycm9yIGRlIGVzY3JpdHVyYSAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJvcGFnYXRpb24gbW9kZTogJXMiCittc2dzdHIgIm1vZG8gZGUgcHJvcGFnYWNpw7NuIGRlc2Nvbm9jaWRvOiAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNTcKK21zZ2lkICJjYW5ub3QgY2hhbmdlIHJvb3QgZmlsZXN5c3RlbSBwcm9wYWdhdGlvbiIKK21zZ3N0ciAibm8gc2UgcHVlZGUgY2FtYmlhciBsYSBwcm9wYWdhY2nDs24gZGVsIHNpc3RlbWEgZGUgZmljaGVyb3MgcmHDrXoiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzdGF0ICVzIgorbXNnc3RyICJubyBzZSBwdWVkZSBlZmVjdHVhciBgc3RhdCcgJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjEzCittc2dpZCAicGlwZSBmYWlsZWQiCittc2dzdHIgImZhbGxvIGFsIHJlZGlyaWdpciIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjcKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwaXBlIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gbGVlciBlbCByZWRpcmVjY2lvbmFtaWVudG8iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUwCittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIHNvbWUgbmFtZXNwYWNlcyB1bnNoYXJlZCBmcm9tIHRoZSBwYXJlbnQuXG4iCittc2dzdHIgIkVqZWN1dGEgdW4gcHJvZ3JhbWEgY29uIGFsZ3Vub3MgZXNwYWNpb3MgZGUgbm9tYnJlcyBubyBjb21wYXJ0aWRvcyBjb24gZWwgcGFkcmUuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUzCittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbSwgLS1tb3VudFs9PGZpY2hlcm8+XcKgICBkZWphIGRlIGNvbXBhcnRpciBlbCBlc3BhY2lvIGRlIG5vbWJyZSBkZSBsb3MgbW9udGFqZXNcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTQKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiIC11LCAtLXV0c1s9PGZpY2hlcm8+XSAgICAgZGVqYSBkZSBjb21wYXJ0aXIgZWwgZXNwYWNpbyBkZSBub21icmVzIFVUUyAobm9tYnJlIGRlIG3DoXF1aW5hLCBldGMuKVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NQorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLWksIC0taXBjWz08ZmljaGVybz5dICAgICBkZWphIGRlIGNvbXBhcnRpciBlbCBlc3BhY2lvIGRlIG5vbWJyZXMgZGVsIFN5c3RlbSBWIElQQ1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NgorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1uLCAtLW5ldFs9PGZpY2hlcm8+XSAgICAgZGVqYSBkZSBjb21wYXJ0aXIgZWwgZXNwYWNpbyBkZSBub21icmVzIGRlIHJlZFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NworbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLXAsIC0tcGlkWz08ZmljaGVybz5dICAgICBkZWphIGRlIGNvbXBhcnRpciBlbCBlc3BhY2lvIGRlIG5vbWJyZXMgZGUgcGlkXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU4Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLVUsIC0tdXNlcls9PGZpY2hlcm8+XSAgICBkZWphIGRlIGNvbXBhcnRpciBlbCBlc3BhY2lvIGRlIG5vbWJyZXMgZGUgdXN1YXJpb1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OQorbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gICAgIHVuc2hhcmUgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLUMsIC0tY2dyb3VwWz08ZmljaGVybz5dwqAgZGVqYSBkZSBjb21wYXJ0aXIgZWwgZXNwYWNpbyBkZSBub21icmVzIGRlIGNncm91cFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MAorbXNnaWQgIiAtZiwgLS1mb3JrICAgICAgICAgICAgICAgIGZvcmsgYmVmb3JlIGxhdW5jaGluZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmsgICAgICAgICAgICAgICAgY3JlYSB1biBwcm9jZXNvIGhpam8gYW50ZXMgZGUgbGFuemFyIDxwcm9ncmFtYT5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjEKK21zZ2lkICIgICAgIC0tbW91bnQtcHJvY1s9PGRpcj5dICBtb3VudCBwcm9jIGZpbGVzeXN0ZW0gZmlyc3QgKGltcGxpZXMgLS1tb3VudClcbiIKK21zZ3N0ciAiICAgICAtLW1vdW50LXByb2NbPTxkaXI+XSAgbW9udGEgcHJpbWVybyBlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zIHByb2MgKGltcGxpY2EgLS1tb3VudClcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjIKK21zZ2lkICIgLXIsIC0tbWFwLXJvb3QtdXNlciAgICAgICBtYXAgY3VycmVudCB1c2VyIHRvIHJvb3QgKGltcGxpZXMgLS11c2VyKVxuIgorbXNnc3RyICIgLXIsIC0tbWFwLXJvb3QtdXNlciAgICAgICBhc29jaWEgZWwgdXN1YXJpbyBhY3R1YWwgYSByb290IChpbXBsaWNhIC0tdXNlcilcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjMKK21zZ2lkICIiCisiICAgICAtLXByb3BhZ2F0aW9uIHNsYXZlfHNoYXJlZHxwcml2YXRlfHVuY2hhbmdlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmeSBtb3VudCBwcm9wYWdhdGlvbiBpbiBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1wcm9wYWdhdGlvbiBzbGF2ZXxzaGFyZWR8cHJpdmF0ZXx1bmNoYW5nZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZmljYSBsYSBwcm9wYWdhY2nDs24gZGVsIG1vbnRhamUgZW4gZWwgZXNwYWNpbyBkZSBub21icmVzIGRlbCBtb250YWplXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY1Cittc2dpZCAiIC1zLCAtLXNldGdyb3VwcyBhbGxvd3xkZW55ICBjb250cm9sIHRoZSBzZXRncm91cHMgc3lzY2FsbCBpbiB1c2VyIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIgorIiAtcywgLS1zZXRncm91cHMgYWxsb3d8ZGVueSAgY29udHJvbGEgbGxhbWFkYXMgYWwgc2lzdGVtYSBkZSBzZXRncm91cHMgZW4gZWxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVzcGFjaW8gZGUgbm9tYnJlcyBkZSB1c3VhcmlvXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6Mzg2Cittc2dpZCAidW5zaGFyZSBmYWlsZWQiCittc2dzdHIgImVycm9yIGFsIGRlamFyIGRlIGNvbXBhcnRpciIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzAKK21zZ2lkICJjaGlsZCBleGl0IGZhaWxlZCIKK21zZ3N0ciAibGEgZmluYWxpemFjacOzbiBkZWwgaGlqbyBoYSBmYWxsYWRvIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzNworbXNnaWQgIm9wdGlvbnMgLS1zZXRncm91cHM9YWxsb3cgYW5kIC0tbWFwLXJvb3QtdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICJsYXMgb3BjaW9uZXMgLS1zZXRncm91cHM9YWxsb3cgeSAtLW1hcC1yb290LXVzZXIgc29uIG11dHVhbWVudGUgZXhjbHV5ZW50ZXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIGZhaWxlZCIKK21zZ3N0ciAiZWwgbW9udGFqZSBkZSAlcyBoYSBmYWxsYWRvIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3MworbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICJMYSB0YXJqZXRhIHJlaW5pY2nDsyBhbnRlcmlvcm1lbnRlIGxhIENQVSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzQKK21zZ2lkICJFeHRlcm5hbCByZWxheSAxIgorbXNnc3RyICJSZWzDqSBleHRlcm5vIDEiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc1Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMiIKK21zZ3N0ciAiUmVsw6kgZXh0ZXJubyAyIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NgorbXNnaWQgIkZhbiBmYWlsZWQiCittc2dzdHIgIkVsIHZlbnRpbGFkb3IgaGEgZmFsbGFkbyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzcKK21zZ2lkICJLZWVwIGFsaXZlIHBpbmcgcmVwbHkiCittc2dzdHIgIlJlc3B1ZXN0YSBkZWwgwqtwaW5nwrsgZGVsIMKra2VlcCBhbGl2ZcK7IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OAorbXNnaWQgIlN1cHBvcnRzIG1hZ2ljIGNsb3NlIGNoYXIiCittc2dzdHIgIkFkbWl0ZSBjYXLDoWN0ZXIgZGUgY2llcnJlIG3DoWdpY28iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc5Cittc2dpZCAiUmVzZXQgZHVlIHRvIENQVSBvdmVyaGVhdCIKK21zZ3N0ciAiUmVpbmljaW8gZGViaWRvIGEgc29icmVjYWxlbnRhbWllbnRvIGRlIGxhIENQVSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODAKK21zZ2lkICJQb3dlciBvdmVyIHZvbHRhZ2UiCittc2dzdHIgIlNvYnJlIHRlbnNpw7NuIGRlIGFsaW1lbnRhY2nDs24iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgxCittc2dpZCAiUG93ZXIgYmFkL3Bvd2VyIGZhdWx0IgorbXNnc3RyICJQb3RlbmNpYSBpbmNvcnJlY3RhL2ZhbGxvIGRlIHBvdGVuY2lhIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MgorbXNnaWQgIlByZXRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJUaWVtcG8gbMOtbWl0ZSBwcmVsaW1pbmFyIChlbiBzZWd1bmRvcykiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgzCittc2dpZCAiU2V0IHRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJDb25maWd1cmEgZWwgdGllbXBvIGzDrW1pdGUgKGVuIHNlZ3VuZG9zKSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODQKK21zZ2lkICJOb3QgdHJpZ2dlciByZWJvb3QiCittc2dzdHIgIk5vIGRpc3BhcmEgZWwgcmVhcnJhbnF1ZSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAwCittc2dpZCAiZmxhZyBuYW1lIgorbXNnc3RyICJub21icmUgZGVsIGluZGljYWRvciIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAxCittc2dpZCAiZmxhZyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiZGVzY3JpcGNpw7NuIGRlbCBpbmRpY2Fkb3IiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMgorbXNnaWQgImZsYWcgc3RhdHVzIgorbXNnc3RyICJlc3RhZG8gZGVsIGluZGljYWRvciIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAzCittc2dpZCAiZmxhZyBib290IHN0YXR1cyIKK21zZ3N0ciAiZXN0YWRvIGRlIGFycmFucXVlIGRlbCBpbmRpY2Fkb3IiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwNAorbXNnaWQgIndhdGNoZG9nIGRldmljZSBuYW1lIgorbXNnc3RyICJub21icmUgZGVsIGRpc3Bvc2l0aXZvIMKrd2F0Y2hkb2fCuyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmxhZzogJXMiCittc2dzdHIgImluZGljYWRvciBkZXNjb25vY2lkbzogJXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE3NworbXNnaWQgIlNob3cgdGhlIHN0YXR1cyBvZiB0aGUgaGFyZHdhcmUgd2F0Y2hkb2cuXG4iCittc2dzdHIgIk11ZXN0cmEgZWwgZXN0YWRvIGRlbCDCq3dhdGNoZG9nwrsgZGUgaGFyZHdhcmUuXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE4MAorbXNnaWQgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICBwcmludCBzZWxlY3RlZCBmbGFncyBvbmx5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciBmbGFncyB0YWJsZVxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdCBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgcHJpbnQgb25seSBmbGFncyB0YWJsZSAoc2FtZSBhcyAtSSAtVClcbiIKK21zZ3N0ciAiIgorIiAtZiwgLS1mbGFncyA8bGlzdGE+ICAgIGltcHJpbWUgc29sYW1lbnRlIGxvcyBpbmRpY2Fkb3JlcyBzZWxlY2Npb25hZG9zXG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgbm8gaW1wcmltZSBpbmZvcm1hY2nDs24gc29icmUgbG9zIGluZGljYWRvcmVzXG4iCisiIC1JLCAtLW5vaWRlbnQgICAgICAgICAgbm8gaW1wcmltZSBpbmZvcm1hY2nDs24gc29icmUgbGEgaWRlbnRpZGFkIGRlbCDCq3dhdGNoZG9nwrtcbiIKKyIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBubyBpbXByaW1lIGVuY2FiYWV6YWRvcyBlbiBsYSB0YWJsYSBkZSBpbmRpY2Fkb3Jlc1xuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIGltcHJpbWUgdG9kYSBsYSBpbmZvcm1hY2nDs24gZW4gdW5hIGzDrW5lYVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3RhPiAgIGNvbHVtbmFzIGRlIHNhbGlkYSBkZSBsb3MgaW5kaWNhZG9yZXNcbiIKKyIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1dGlsaXphIHNhbGlkYSBlbiBicnV0byBwYXJhIGxhIHRhYmxhIGRlIGluZGljYWRvcmVzXG4iCisiIC1ULCAtLW5vdGltZW91dHMgICAgICAgbm8gaW1wcmltZSBsb3MgdGllbXBvcyBkZSB2ZW5jaW1pZW50byBkZWwgwqt3YXRjaGRvZ8K7XG4iCisiIC1zLCAtLXNldHRpbWVvdXQgPHM+ICAgY29uZmlndXJlIGVsIHRpZW1wbyBkZSB2ZW5jaW1pZW50byBkZWwgwqt3YXRjaGRvZ8K7XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgaW1wcmltZSBzb2xhbWVudGUgbGEgdGFibGEgZGUgaW5kaWNhZG9yZXMgKGlndWFsIHF1ZSAtSSAtVClcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZWZhdWx0IGRldmljZSBpcyAlcy5cbiIKK21zZ3N0ciAiRWwgZGlzcG9zaXRpdm8gcHJlZGV0ZXJtaW5hZG8gZXMgJXMuXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE5OQorbXNnaWQgIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorbXNnc3RyICJDb2x1bW5hcyBkaXNwb25pYmxlczpcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIGZsYWdzIDB4JXhcbiIKK21zZ3N0ciAiJXM6IGluZGljYWRvcmVzIGRlc2Nvbm9jaWRvcyAweCV4XG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMxOSBzeXMtdXRpbHMvd2RjdGwuYzozNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhdGNoZG9nIGFscmVhZHkgaW4gdXNlLCB0ZXJtaW5hdGluZy4iCittc2dzdHIgIiVzOiBlbCDCq3dhdGNoZG9nwrsgeWEgZXN0w6EgZW4gdXNvLCB0ZXJtaW5hbmRvLiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzMzIHN5cy11dGlscy93ZGN0bC5jOjQwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRpc2FybSB3YXRjaGRvZyIKK21zZ3N0ciAiJXM6IGZhbGxvIGFsIGRlc2FybWFyIMKrd2F0Y2hkb2fCuyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGltZW91dCBmb3IgJXMiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGNvbmZpZ3VyYXIgZWwgdGllbXBvIGRlIGVzcGVyYSBwYXJhICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kLlxuIgorbXNnaWRfcGx1cmFsICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmRzLlxuIgorbXNnc3RyWzBdICJFbCB0aWVtcG8gZGUgZXhwaXJhY2nDs24gc2UgaGEgZXN0YWJsZWNpZG8gYSAlZCBzZWd1bmRvLlxuIgorbXNnc3RyWzFdICJFbCB0aWVtcG8gZGUgZXhwaXJhY2nDs24gc2UgaGEgZXN0YWJsZWNpZG8gYSAlZCBzZWd1bmRvcy5cbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGluZm9ybWF0aW9uIGFib3V0IHdhdGNoZG9nIgorbXNnc3RyICIlczogbm8gc2UgaGEgcG9kaWRvIG9idGVuZXIgaW5mb3JtYWNpw7NuIHNvYnJlIGVsIMKrd2F0Y2hkb2fCuyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY0IHN5cy11dGlscy93ZGN0bC5jOjQ2NyBzeXMtdXRpbHMvd2RjdGwuYzo0NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0xNHMgJTJpIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICIlLTE0cyAlMmkgc2Vjb25kc1xuIgorbXNnc3RyWzBdICIlLTE0cyAlMmkgc2VndW5kb1xuIgorbXNnc3RyWzFdICIlLTE0cyAlMmkgc2VndW5kb3NcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY1Cittc2dpZCAiVGltZW91dDoiCittc2dzdHIgIlRpZW1wbyBkZSBlc3BlcmE6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjgKK21zZ2lkICJQcmUtdGltZW91dDoiCittc2dzdHIgIlRpZW1wbyBkZSBlc3BlcmEgcHJlbGltaW5hcjoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ3MQorbXNnaWQgIlRpbWVsZWZ0OiIKK21zZ3N0ciAiVGllbXBvIHJlc3RhbnRlOiIKKworIyBOb3RhOiBzaSBzZSBwb25lIERpc3Bvc2l0aXZvIG5vIHF1ZWRhIGJpZW4gZWwgcmVzdG8gZGUgbGEgbMOtbmVhLgorIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA1Cittc2dpZCAiRGV2aWNlOiIKK21zZ3N0ciAiRGlzcG9zaXRpdm86IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDcKK21zZ2lkICJJZGVudGl0eToiCittc2dzdHIgIklkZW50aWRhZDoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwOQorbXNnaWQgInZlcnNpb24iCittc2dzdHIgInZlcnNpw7NuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjczCittc2dpZCAienJhbSBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibm9tYnJlIGRlIGRpc3Bvc2l0aXZvIHpyYW0iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzQKK21zZ2lkICJsaW1pdCBvbiB0aGUgdW5jb21wcmVzc2VkIGFtb3VudCBvZiBkYXRhIgorbXNnc3RyICJsw61taXRlIGRlIGxhIGNhbnRpZGFkIGRlIGRhdG9zIG5vIGNvbXByaW1pZG9zIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc1Cittc2dpZCAidW5jb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgInRhbWHDsW8gbm8gY29tcHJpbWlkbyBkZSBsb3MgZGF0b3MgYWxtYWNlbmFkb3MiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzYKK21zZ2lkICJjb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgInRhbWHDsW8gY29tcHJpbWlkbyBkZSBsb3MgZGF0b3MgYWxtYWNlbmFkb3MiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzcKK21zZ2lkICJ0aGUgc2VsZWN0ZWQgY29tcHJlc3Npb24gYWxnb3JpdGhtIgorbXNnc3RyICJlbCBhbGdvcml0bW8gZGUgY29tcHJlc2nDs24gc2VsZWNjaW9uYWRvIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc4Cittc2dpZCAibnVtYmVyIG9mIGNvbmN1cnJlbnQgY29tcHJlc3Mgb3BlcmF0aW9ucyIKK21zZ3N0ciAibsO6bWVybyBkZSBvcGVyYWNpb25lcyBkZSBjb21wcmVzacOzbiBjb25jdXJyZW50ZXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzkKK21zZ2lkICJlbXB0eSBwYWdlcyB3aXRoIG5vIGFsbG9jYXRlZCBtZW1vcnkiCittc2dzdHIgInDDoWdpbmFzIHZhY8OtYXMgc2luIG1lbW9yaWEgYXNpZ25hZGEiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODAKK21zZ2lkICJhbGwgbWVtb3J5IGluY2x1ZGluZyBhbGxvY2F0b3IgZnJhZ21lbnRhdGlvbiBhbmQgbWV0YWRhdGEgb3ZlcmhlYWQiCittc2dzdHIgInRvZGEgbGEgbWVtb3JpYSBpbmNsdWlkb3MgbGEgZnJhZ21lbnRhY2nDs24gZGVsIGFzaWduYWRvciB5IGxhIHNvYnJlY2FyZ2EgZGUgbG9zIG1ldGFkYXRvcyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MQorbXNnaWQgIm1lbW9yeSBsaW1pdCB1c2VkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAibMOtbWl0ZSBkZSBtZW1vcmlhIHV0aWxpemFkYSBwYXJhIGFsbWFjZW5hciBkYXRvcyBjb21wcmltaWRvcyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MgorbXNnaWQgIm1lbW9yeSB6cmFtIGhhdmUgYmVlbiBjb25zdW1lZCB0byBzdG9yZSBjb21wcmVzc2VkIGRhdGEiCittc2dzdHIgInNlIGhhIGNvbnN1bWlkbyBsYSBtZW1vcmlhIHpyYW0gcGFyYSBhbG1hY2VuYXIgZGF0b3MgY29tcHJpbWlkb3MiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODMKK21zZ2lkICJudW1iZXIgb2Ygb2JqZWN0cyBtaWdyYXRlZCBieSBjb21wYWN0aW9uIgorbXNnc3RyICJuw7ptZXJvIGRlIG9iamV0b3MgbWlncmFkb3MgcG9yIGNvbXBhY3RhY2nDs24iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6MzYzIHN5cy11dGlscy96cmFtY3RsLmM6Mzc0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIG1tX3N0YXQiCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIG1tX3N0YXQiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyIgJTEkcyAtciA8ZGV2aWNlPiBbLi4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxkZXZpY2U+IC1zIDxzaXplPlxuIgorbXNnc3RyICIiCisiICUxJHMgW29wY2lvbmVzXSBbPGRpc3Bvc2l0aXZvPl1cbiIKKyIgJTEkcyAtciA8ZGlzcG9zaXRpdm8+IFsuLi5dXG4iCisiICUxJHMgW29wY2lvbmVzXSAtZiB8IDxkaXNwb3NpdGl2bz4gLXMgPHRhbWHDsW8+XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTI3Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIHpyYW0gZGV2aWNlcy5cbiIKK21zZ3N0ciAiQ29uZmlndXJhIHkgY29udHJvbGEgbG9zIGRpc3Bvc2l0aXZvcyB6cmFtLlxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMAorbXNnaWQgIiAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NCAgIGNvbXByZXNzaW9uIGFsZ29yaXRobSB0byB1c2VcbiIKK21zZ3N0ciAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0ICAgYWxnb3JpdG1vIGRlIGNvbXByZXNpw7NuIHV0aWxpemFkb1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgICBpbXByaW1lIGxvcyB0YW1hw7FvcyBlbiBieXRlcyBlbiBsdWdhciBkZSBmb3JtYXRvIGxlZ2libGUgcGFyYSBodW1hbm9zXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMyCittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgZmluZCBhIGZyZWUgZGV2aWNlXG4iCittc2dzdHIgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIGVuY3VlbnRyYSB1biBkaXNwb3NpdGl2byBubyB1dGlsaXphZG9cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBubyBpbXByaW1lIGVuY2FiZXphZG9zXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM0Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICAgICAgZGVmaW5lIGxhcyBjb2x1bW5hcyBkZSBsYSBzYWxpZGFcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzUKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICB1c2UgcmF3IHN0YXR1cyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIHV0aWxpemEgZWwgZm9ybWF0byBkZSBzYWxpZGEgZW4gYnJ1dG9cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzYKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVpbmljaWEgdG9kb3MgbG9zIGRpc3Bvc2l0aXZvcyBlc3BlY2lmaWNhZG9zXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM3Cittc2dpZCAiIC1zLCAtLXNpemUgPHNpemU+ICAgICAgICAgZGV2aWNlIHNpemVcbiIKK21zZ3N0ciAiIC1zLCAtLXNpemUgPHRhbWHDsW8+ICAgICAgIHRhbWHDsW8gZGVsIGRpc3Bvc2l0aXZvXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM4Cittc2dpZCAiIC10LCAtLXN0cmVhbXMgPG51bWJlcj4gICAgbnVtYmVyIG9mIGNvbXByZXNzaW9uIHN0cmVhbXNcbiIKK21zZ3N0ciAiIC10LCAtLXN0cmVhbXMgPG7Dum1lcm8+ICAgIG7Dum1lcm8gZGUgZmx1am9zIGRlIGNvbXByZXNpw7NuXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjA0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGFsZ29yaXRobTogJXMiCittc2dzdHIgImFsZ29yaXRtbyBubyBzb3BvcnRhZG86ICVzIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYyNgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdHJlYW1zIgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBsb3MgZmx1am9zIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY0OAorbXNnaWQgIm9wdGlvbiAtLWZpbmQgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPGRldmljZT4iCittc2dzdHIgImxhIG9wY2nDs24gLS1maW5kIGVzIG11dHVhbWVudGUgZXhjbHV5ZW50ZSBjb24gPGRpc3Bvc2l0aXZvPiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NTQKK21zZ2lkICJvbmx5IG9uZSA8ZGV2aWNlPiBhdCBhIHRpbWUgaXMgYWxsb3dlZCIKK21zZ3N0ciAic29sbyBzZSBhZG1pdGUgdW4gPGRpc3Bvc2l0aXZvPiBhIGxhIHZleiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NTcKK21zZ2lkICJvcHRpb25zIC0tYWxnb3JpdGhtIGFuZCAtLXN0cmVhbXMgbXVzdCBiZSBjb21iaW5lZCB3aXRoIC0tc2l6ZSIKK21zZ3N0ciAibGFzIG9wY2lvbmVzIC0tYWxnb3JpdGhtIHkgLS1zdHJlYW1zIGhhbiBkZSBjb21iaW5hcnNlIGNvbiAtLXNpemUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njg3IHN5cy11dGlscy96cmFtY3RsLmM6NzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVzZXQiCittc2dzdHIgIiVzOiBmYWxsbyBhbCByZWluaWNpYXIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njk4IHN5cy11dGlscy96cmFtY3RsLmM6NzA2Cittc2dpZCAibm8gZnJlZSB6cmFtIGRldmljZSBmb3VuZCIKK21zZ3N0ciAibm8gc2UgaGEgZW5jb250cmFkbyBuaW5nw7puIGRpc3Bvc2l0aXZvIHpyYW0gbGlicmUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IG51bWJlciBvZiBzdHJlYW1zIgorbXNnc3RyICIlczogbm8gc2UgaGEgcG9kaWRvIGVzdGFibGVjZXIgZWwgbsO6bWVybyBkZSBmbHVqb3MiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGFsZ29yaXRobSIKK21zZ3N0ciAiJXM6IGZhbGxvIGFsIGNvbmZpZ3VyYXIgYWxnb3JpdG1vIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBkaXNrc2l6ZSAoJWp1IGJ5dGVzKSIKK21zZ3N0ciAiJXM6IGZhbGxvIGFsIGNvbmZpZ3VyYXIgZWwgdGFtYcOxbyBkZWwgZGlzY28gKCVqdSBieXRlcykiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzJXMgKGF1dG9tYXRpYyBsb2dpbilcbiIKK21zZ3N0ciAiJXMlcyAoaW5pY2lvIGRlIHNlc2nDs24gYXV0b23DoXRpY28pXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugcm9vdCBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczogbm8gc2UgcHVlZGUgY2FtYmlhciBlbCBkaXJlY3RvcmlvIHJhw616ICVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSB3b3JraW5nIGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBjYW1iaWFyIGVsIGRpcmVjdG9yaW8gZGUgdHJhYmFqbyAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2UgcHJvY2VzcyBwcmlvcml0eTogJW0iCittc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBjYW1iaWFyIGxhIHByaW9yaWRhZCBkZWwgcHJvY2VzbzogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBleGVjICVzOiAlbSIKK21zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlIGVqZWN1dGFyICVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1NTUgdGVybS11dGlscy9hZ2V0dHkuYzo4NDEgdGVybS11dGlscy9hZ2V0dHkuYzo4NTMKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODcwIHRlcm0tdXRpbHMvYWdldHR5LmM6MTQxNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MzMKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ2OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NzkgdGVybS11dGlscy9hZ2V0dHkuYzoxNTE2CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NzggdGVybS11dGlscy9hZ2V0dHkuYzoyNTIxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnk6ICVtIgorbXNnc3RyICJtbyBzZSBoYSBwb2RpZG8gYXNpZ25hciBtZW1vcmlhOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo2ODAKK21zZ2lkICJpbnZhbGlkIGRlbGF5IGFyZ3VtZW50IgorbXNnc3RyICJ2YWxvciBkZSByZXRhcmRvIG5vIHbDoWxpZG8iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzE5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtLWxvY2FsLWxpbmUiCittc2dzdHIgImFyZ3VtZW50byBkZSAtLWxvY2FsLWxpbmUgbm8gdsOhbGlkbyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3MzgKK21zZ2lkICJpbnZhbGlkIG5pY2UgYXJndW1lbnQiCittc2dzdHIgImVsIGFyZ3VtZW50byDCq25pY2XCuyBubyBlcyB2w6FsaWRvIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3BlZWQ6ICVzIgorbXNnc3RyICJ2ZWxvY2lkYWQgaW5jb3JyZWN0YTogJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODc3Cittc2dpZCAidG9vIG1hbnkgYWx0ZXJuYXRlIHNwZWVkcyIKK21zZ3N0ciAiZGVtYXNpYWRhcyB2ZWxvY2lkYWRlcyBhbHRlcm5hdGl2YXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAwNiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMTAgdGVybS11dGlscy9hZ2V0dHkuYzoxMDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBvcGVuIGFzIHN0YW5kYXJkIGlucHV0OiAlbSIKK21zZ3N0ciAiL2Rldi8lczogbm8gc2UgcHVlZGUgYWJyaXIgY29tbyBlbnRyYWRhIGVzdMOhbmRhcjogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAyOQorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSBjaGFyYWN0ZXIgZGV2aWNlIgorbXNnc3RyICIvZGV2LyVzOiBubyBlcyB1biBkaXNwb3NpdGl2byBkZSBjYXJhY3RlcmVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgdHR5IgorbXNnc3RyICIvZGV2LyVzOiBubyBlcyB1biB0ZXJtaW5hbCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDM1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA2NworIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3QgZ2V0IGNvbnRyb2xsaW5nIHR0eTogJW0iCittc2dzdHIgIi9kZXYvJXM6IG5vIHNlIHB1ZWRlIG9idGVuZXIgZWwgdGVybWluYWwgZGUgY29udHJvbDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA1NworIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiB2aGFuZ3VwKCkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiL2Rldi8lczogdmhhbmd1cCgpIGhhIGZhbGxhZG86ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBvcGVuIGZvciByZWFkL3dyaXRlIgorbXNnc3RyICIlczogbm8gYWJpZXJ0byBwYXJhIGxlY3R1cmEvZXNjcml0dXJhIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IHNldCBwcm9jZXNzIGdyb3VwOiAlbSIKK21zZ3N0ciAiL2Rldi8lczogbm8gc2UgcHVlZGUgZXN0YWJsZWNlciBlbCBncnVwbyBkZWwgcHJvY2VzbzogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZHVwIHByb2JsZW06ICVtIgorbXNnc3RyICIlczogcHJvYmxlbWEgZGUgZHVwOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICIlczogbm8gc2UgaGFuIHBvZGlkbyBvYnRlbmVyIGxvcyBhdHJpYnV0b3MgZGVsIHRlcm1pbmFsOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMzIxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXMgZmFpbGVkOiAlbSIKK21zZ3N0ciAiZmFsbG8gYWwgZXN0YWJsZWNlciBsb3MgYXRyaWJ1dG9zIGRlbCB0ZXJtaW5hbDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ1OQorbXNnaWQgImNhbm5vdCBvcGVuIG9zLXJlbGVhc2UgZmlsZSIKK21zZ3N0ciAibm8gc2UgcHVlZGUgYWJyaXIgZWwgZmljaGVybyDCq29zLXJlbGVhc2XCuyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNjM3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcmVsb2FkIGZpbGU6ICVzOiAlbSIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGNyZWFyIGVsIGZpY2hlcm8gZGUgcmVjYXJnYTogJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3MzYKK21zZ2lkICJbcHJlc3MgRU5URVIgdG8gbG9naW5dIgorbXNnc3RyICJbcHJlc2lvbmUgRU5URVIgcGFyYSBpbmljaWFyIHNlc2nDs25dIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjAKK21zZ2lkICJOdW0gTG9jayBvZmYiCittc2dzdHIgIkJsb3F1ZW8gZGVsIHRlY2xhZG8gbnVtw6lyaWNvIGRlc2FjdGl2YWRvIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjMKK21zZ2lkICJOdW0gTG9jayBvbiIKK21zZ3N0ciAiQmxvcXVlbyBkZWwgdGVjbGFkbyBudW3DqXJpY28gYWN0aXZhZG8iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2NgorbXNnaWQgIkNhcHMgTG9jayBvbiIKK21zZ3N0ciAiQmxvcXVlbyBkZSBtYXnDunNjdWxhcyBhY3RpdmFkbyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzY5Cittc2dpZCAiU2Nyb2xsIExvY2sgb24iCittc2dzdHIgIkJsb3F1ZW8gZGUgZGVzcGxhemFtaWVudG8gYWN0aXZhZG8iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc3MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSGludDogJXNcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlBpc3RhOiAlc1xuIgorIlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQ6ICVtIgorbXNnc3RyICIlczogbGVjdHVyYTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk1OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5wdXQgb3ZlcnJ1biIKK21zZ3N0ciAiJXM6IGRlc2JvcmRhbWllbnRvIGRlIGVudHJhZGEiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgY2hhcmFjdGVyIGNvbnZlcnNpb24gZm9yIGxvZ2luIG5hbWUiCittc2dzdHIgIiVzOiBjb252ZXJzacOzbiBkZSBjYXLDoWN0ZXIgbm8gdsOhbGlkYSBwYXJhIGVsIG5vbWJyZSBkZSBpbmljaW8gZGUgc2VzacOzbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciAweCV4IGluIGxvZ2luIG5hbWUiCittc2dzdHIgIiVzOiBjYXLDoWN0ZXIgbm8gdsOhbGRvIDB4JXggZW4gZWwgbm9tYnJlIGRlIGluaWNpbyBkZSBzZWlzacOzbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICIlczogbm8gc2UgaWhhbiBwb2RpZG8gZXN0YWJsZWNlciBsb3MgYXRyaWJ1dG9zIGRlbCB0ZXJtaW5hbDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEwOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxsaW5lPiBbPGJhdWRfcmF0ZT4sLi4uXSBbPHRlcm10eXBlPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGJhdWRfcmF0ZT4sLi4uIDxsaW5lPiBbPHRlcm10eXBlPl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcGNpb25lc10gPGzDrW5lYT4gWzx2ZWxvY19iYXVkaW9zPiwuLi5dIFs8dGlwb3Rlcm0+XVxuIgorIiAlMSRzIFtvcGNpb25lc10gPHZlbG9jX2JhdWRpb3M+LC4uLiA8bMOtbmVhPiBbPHRpcG90ZXJtPl1cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTEzCittc2dpZCAiT3BlbiBhIHRlcm1pbmFsIGFuZCBzZXQgaXRzIG1vZGUuXG4iCittc2dzdHIgIkFicmUgdW4gdGVybWluYWwgeSBjb25maWd1cmEgc3UgbW9kby5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE2Cittc2dpZCAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIGFzc3VtZSA4LWJpdCB0dHlcbiIKK21zZ3N0ciAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIGFzdW1lIHRlcm1pbmFsIGRlIDggYml0c1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTcKK21zZ2lkICIgLWEsIC0tYXV0b2xvZ2luIDx1c2VyPiAgICAgbG9naW4gdGhlIHNwZWNpZmllZCB1c2VyIGF1dG9tYXRpY2FsbHlcbiIKK21zZ3N0ciAiIC1hLCAtLWF1dG9sb2dpbiA8dXN1YXJpbz4gIGluY2lhIHNlc2nDs24gYXV0b23DoXRpY2FtZW50ZSBjb24gZWwgdXN1YXJpbyBlc3BlY2lmaWNhZG9cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE4Cittc2dpZCAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGRvIG5vdCByZXNldCBjb250cm9sIG1vZGVcbiIKK21zZ3N0ciAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIG5vIHJlaWNpYSBlbCBtb2RvIGRlIGNvbnRyb2xcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE5Cittc2dpZCAiIC1FLCAtLXJlbW90ZSAgICAgICAgICAgICAgIHVzZSAtciA8aG9zdG5hbWU+IGZvciBsb2dpbigxKVxuIgorbXNnc3RyICIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAgdXRpbGl6YSAtciA8bm9tYnJlbcOhcXVpbmE+IHBhcmEgbG9naW4oMSlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIwCittc2dpZCAiIC1mLCAtLWlzc3VlLWZpbGUgPGZpbGU+ICAgIGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIgLWYsIC0taXNzdWUtZmlsZSA8ZmljaGVybz4gbXVlc3RyYSBlbCBmaWNoZXJvIGlzc3VlXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMQorbXNnaWQgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBlbmFibGUgaGFyZHdhcmUgZmxvdyBjb250cm9sXG4iCittc2dzdHIgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBhY3RpdmEgZWwgY29udHJvbCBkZSBmbHVqbyBwb3IgaGFyZHdhcmVcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIyCittc2dpZCAiIC1ILCAtLWhvc3QgPGhvc3RuYW1lPiAgICAgIHNwZWNpZnkgbG9naW4gaG9zdFxuIgorbXNnc3RyICIgLUgsIC0taG9zdCA8bm9tYnJlbcOhcXVpbmE+IGVzcGVjaWZpY2EgbcOhcXVpbmEgcGFyYSBpbmljaW8gZGUgc2VzacOzblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjMKK21zZ2lkICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgZG8gbm90IGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgbm8gbXVlc3RyYSBlbCBmaWNoZXJvIGlzc3VlXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNAorbXNnaWQgIiAtSSwgLS1pbml0LXN0cmluZyA8c3RyaW5nPiBzZXQgaW5pdCBzdHJpbmdcbiIKK21zZ3N0ciAiIC1JLCAtLWluaXQtc3RyaW5nIDxjYWRlbmE+IGVzdGFibGVjZSBsYSBjYWRlbmEgZGUgaW5pY2lvXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNQorbXNnaWQgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICBkbyBub3QgY2xlYXIgdGhlIHNjcmVlbiBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAtSiwgLS1ub2NsZWFyICAgICAgICAgICAgICBubyBsaW1waWEgbGEgcGFudGFsbGEgYW50ZXMgZGUgc2FjYXIgZWwgaW5kaWNhZG9yXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNgorbXNnaWQgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBzcGVjaWZ5IGxvZ2luIHByb2dyYW1cbiIKK21zZ3N0ciAiIC1sLCAtLWxvZ2luLXByb2dyYW0gPGZpY2g+IGVzcGVjaWZpY2EgZWwgcHJvZ3JhbWEgZGUgaW5pY2lvIGRlIHNlc2nDs25cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI3Cittc2dpZCAiIC1MLCAtLWxvY2FsLWxpbmVbPTxtb2RlPl0gIGNvbnRyb2wgdGhlIGxvY2FsIGxpbmUgZmxhZ1xuIgorbXNnc3RyICIgLUwsIC0tbG9jYWwtbGluZVs9PG1vZG8+XSAgY29udHJvbGEgZWwgaW5kaWNhZG9yIGRlIGzDrW5lYSBsb2NhbFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjgKK21zZ2lkICIgLW0sIC0tZXh0cmFjdC1iYXVkICAgICAgICAgZXh0cmFjdCBiYXVkIHJhdGUgZHVyaW5nIGNvbm5lY3RcbiIKK21zZ3N0ciAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhZSBsYSB2ZWxvY2lkYWQgZW4gYmF1ZGlvcyBkdXJhbnRlIGxhIGNvbmV4acOzblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjkKK21zZ2lkICIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAgZG8gbm90IHByb21wdCBmb3IgbG9naW5cbiIKK21zZ3N0ciAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIG5vIHByZWd1bnRhIHBhcmEgaW5pY2lhciBzZXNpw7NuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMAorbXNnaWQgIiAtTiAgLS1ub25ld2xpbmUgICAgICAgICAgICBkbyBub3QgcHJpbnQgYSBuZXdsaW5lIGJlZm9yZSBpc3N1ZVxuIgorbXNnc3RyICIgLU4sIC0tbm9uZXdsaW5lICAgICAgICAgICAgbm8gaW1wcmltZSB1biBzYWx0byBkZSBsw61uZWEgYW50ZXMgZGUgaXNzdWVcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMxCittc2dpZCAiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPG9wdHM+IG9wdGlvbnMgdGhhdCBhcmUgcGFzc2VkIHRvIGxvZ2luXG4iCittc2dzdHIgIiAtbywgLS1sb2dpbi1vcHRpb25zIDxvcGNzPiBvcGNpb25lcyBxdWUgc2UgcGFzYW4gYWwgaW5pY2lhciBzZXNpw7NuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMgorbXNnaWQgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICB3YWl0IGZvciBhbnkga2V5IGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiIC1wLCAtLWxvZ2luLXBhdXNlICAgICAgICAgIGVzcGVyYSBhIHF1ZSBzZSBwdWxzZSB1bmEgdGVjbGEgYW50ZXMgZGUgaW5pY2lhciBzZXNpw7NuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMworbXNnaWQgIiAtciwgLS1jaHJvb3QgPGRpcj4gICAgICAgICBjaGFuZ2Ugcm9vdCB0byB0aGUgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtci4gLS1jaHJvb3QgPGRpcj4gICAgICAgICBlc3RhYmxlY2UgY29tbyByYcOteiBlbCBkaXJlY3RvcmlvIGVzcGVjaWZpY2Fkb1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzQKK21zZ2lkICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgZG8gdmlydHVhbGx5IGhhbmd1cCBvbiB0aGUgdHR5XG4iCittc2dzdHIgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICBjdWVsZ2EgdmlydHVhbG1lbnRlIGVuIGVsIHRlcm1pbmFsXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNQorbXNnaWQgIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICB0cnkgdG8ga2VlcCBiYXVkIHJhdGUgYWZ0ZXIgYnJlYWtcbiIKK21zZ3N0ciAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIHRhcnRhIGRlIG1hbnRlbmVyIGxhIHZlbG9jaWRhZCBlbiBiYXVkaW9zIHRyYXMgY29ydGFyXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNgorbXNnaWQgIiAtdCwgLS10aW1lb3V0IDxudW1iZXI+ICAgICBsb2dpbiBwcm9jZXNzIHRpbWVvdXRcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWVvdXQgPG7Dum1lcm8+ICAgICB0aWVtcG8gbMOtbWl0ZSBkZWwgcHJvY2VzbyBkZSBpbmljaW8gZGUgc2VzacOzblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzcKK21zZ2lkICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgZGV0ZWN0IHVwcGVyY2FzZSB0ZXJtaW5hbFxuIgorbXNnc3RyICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgZGV0ZWN0YSB0ZXJtaW5hbCBkZSBtYXnDunNjdWxhc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzgKK21zZ2lkICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgd2FpdCBjYXJyaWFnZS1yZXR1cm5cbiIKK21zZ3N0ciAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIGVzcGVyYSBhbCByZXRvcm5vIGRlIGNhcnJvXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzOQorbXNnaWQgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBkbyBub3QgcHJpbnQgaGludHNcbiIKK21zZ3N0ciAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIG5vIGltcHJpbWUgcGlzdGFzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MAorbXNnaWQgIiAgICAgLS1ub2hvc3RuYW1lICAgICAgICAgICBubyBob3N0bmFtZSBhdCBhbGwgd2lsbCBiZSBzaG93blxuIgorbXNnc3RyICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAgbm8gc2UgbXVlc3RyYSBuaW5nw7puIG5vbWJyZSBkZSBtw6FxdWluYSBlbiBhYnNvbHV0b1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDEKK21zZ2lkICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgc2hvdyBmdWxsIHF1YWxpZmllZCBob3N0bmFtZVxuIgorbXNnc3RyICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgbXVlc3RyYSBlbCBub21icmVkZSBtw6FxdWluYSBjb21wbGV0YW1lbnRlIGN1YWxpZmljYWRvXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MgorbXNnaWQgIiAgICAgLS1lcmFzZS1jaGFycyA8c3RyaW5nPiBhZGRpdGlvbmFsIGJhY2tzcGFjZSBjaGFyc1xuIgorbXNnc3RyICIgICAgIC0tZXJhc2UtY2hhcnMgPGNhZGVuYT4gY2FyYWN0ZXJlcyBhZGljaW9uYWxlcyBkZSBib3JyYWRvIGhhY2lhIGF0csOhc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDMKK21zZ2lkICIgICAgIC0ta2lsbC1jaGFycyA8c3RyaW5nPiAgYWRkaXRpb25hbCBraWxsIGNoYXJzXG4iCittc2dzdHIgIiAgICAgLS1raWxsLWNoYXJzIDxjYWRlbmE+ICBjYXJhY3RlcmVzIGRlIHRlcm1pbmFjacOzbiBhZGljaW9uYWxlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDQKK21zZ2lkICIgICAgIC0tY2hkaXIgPGRpcmVjdG9yeT4gICAgY2hkaXIgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIgICAgIC0tY2hkaXIgPGRpcmVjdG9yaW8+ICAgY2FtYmlhIGRlIGRpcmVjdG9yaW8gYW50ZXMgZGUgaW5pY2lhciBzZXNpw7NuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NQorbXNnaWQgIiAgICAgLS1kZWxheSA8bnVtYmVyPiAgICAgICBzbGVlcCBzZWNvbmRzIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiICAgICAtLWRlbGF5IDxuw7ptZXJvPiAgICAgICByZXBvc2EgdW4gbsO6bWVybyBkZSBzZWd1bmRvcyBhbnRlcyBkZSBwcmVndW50YXJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ2Cittc2dpZCAiICAgICAtLW5pY2UgPG51bWJlcj4gICAgICAgIHJ1biBsb2dpbiB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiICAgICAtLW5pY2UgPG7Dum1lcm8+ICAgICAgICBpbmljaWEgc2VzacOzbiBjb24gZXN0YSBwcmlvcmlkYWRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ3Cittc2dpZCAiICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgIHJlbG9hZCBwcm9tcHRzIG9uIHJ1bm5pbmcgYWdldHR5IGluc3RhbmNlc1xuIgorbXNnc3RyICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgcmVjYXJnYSBsb3MgaW5kaWNhZG9yZXMgZW4gbGFzIGluc3RhbmNpYXMgZGUgYWdldHR5IGVuIGVqZWN1Y2nDs25cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ4Cittc2dpZCAiICAgICAtLWhlbHAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgLS1oZWxwICAgICAgICAgICAgICAgICBtdWVzdHJhIGVzdGEgYXl1ZGEgeSB0ZXJtaW5hXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0OQorbXNnaWQgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgc2FjYSBsYSBpbmZvcm1hY2nDs24gZGUgdmVyc2nDs24geSB0ZXJtaW5hXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCB1c2VyIgorbXNnaWRfcGx1cmFsICIlZCB1c2VycyIKK21zZ3N0clswXSAiJWQgdXN1YXJpbyIKK21zZ3N0clsxXSAiJWQgdXN1YXJpb3MiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICJjaGVja25hbWUgZmFpbGVkOiAlbSIKK21zZ3N0ciAiZXJyb3IgZGUgY29tcHJvYmFjacOzbiBkZSBub21icmU6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHRvdWNoIGZpbGUgJXMiCittc2dzdHIgIm5vIHNlIHB1ZWRlIHRvY2FyIGVsIGZpY2hlcm8gJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYyNQorbXNnaWQgIi0tcmVsb2FkIGlzIHVuc3VwcG9ydGVkIG9uIHlvdXIgc3lzdGVtIgorbXNnc3RyICItLXJlbG9hZCBubyBzZSBhZG1pdGUgZW4gc3Ugc2lzdGVtYSIKKworIzogdGVybS11dGlscy9tZXNnLmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbeSB8IG5dXG4iCittc2dzdHIgIiAlcyBbb3BjaW9uZXNdIFt5KHPDrSkgfCBuKG5vKV1cbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6NzgKK21zZ2lkICJDb250cm9sIHdyaXRlIGFjY2VzcyBvZiBvdGhlciB1c2VycyB0byB5b3VyIHRlcm1pbmFsLlxuIgorbXNnc3RyICJDb250cm9sYSBlbCBhY2Nlc28gZGUgZXNjcml0dXJhIGRlIG90cm9zIHVzdWFyaW9zIGEgc3UgdGVybWluYWwuXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjgxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICBleHBsaWNhIGxvIHF1ZSBzZSBlc3TDoSBoYWNpZW5kb1xuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMjUKK21zZ2lkICJ0dHluYW1lIGZhaWxlZCIKK21zZ3N0ciAiZmFsbG8gZGUgdHR5bmFtZSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM0Cittc2dpZCAiaXMgeSIKK21zZ3N0ciAiZXMgeSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM3Cittc2dpZCAiaXMgbiIKK21zZ3N0ciAiZXMgbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTQ4IHRlcm0tdXRpbHMvbWVzZy5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2UgJXMgbW9kZSBmYWlsZWQiCittc2dzdHIgImZhbGxvIGVuIGVsIGNhbWJpbyBkZSBtb2RvICVzIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNTAKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBhbGxvd2VkIgorbXNnc3RyICJhIHN1IHRlcm1pbmFsIGxlIGVzdMOhIHBlcm1pdGlkbyBlbCBhY2Nlc28gcGFyYSBlc2NyaXR1cmEiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1NworbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGRlbmllZCIKK21zZ3N0ciAiYSBzdSB0ZXJtaW5hbCBsZSBlc3TDoSBkZW5lZ2FkbyBlbCBhY2Nlc28gcGFyYSBlc2NyaXR1cmEiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiYXJndW1lbnRvIG5vIHbDoWxpZG86ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE1OQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorbXNnc3RyICIgJXMgW29wY2lvbmVzXSBbZmljaGVyb11cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjIKK21zZ2lkICJNYWtlIGEgdHlwZXNjcmlwdCBvZiBhIHRlcm1pbmFsIHNlc3Npb24uXG4iCittc2dzdHIgIkNyZWEgdW5hIHRyYW5zY3JpcGNpw7NuIGRlIHVuYSBzZXNpw7NuIGRlIHRlcm1pbmFsLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NQorbXNnaWQgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgYXBwZW5kIHRoZSBvdXRwdXRcbiIKKyIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gcnVuIGNvbW1hbmQgcmF0aGVyIHRoYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgcmV0dXJuIGV4aXQgY29kZSBvZiB0aGUgY2hpbGQgcHJvY2Vzc1xuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICBydW4gZmx1c2ggYWZ0ZXIgZWFjaCB3cml0ZVxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICB1c2Ugb3V0cHV0IGZpbGUgZXZlbiB3aGVuIGl0IGlzIGEgbGlua1xuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICBiZSBxdWlldFxuIgorIiAtdCwgLS10aW1pbmdbPTxmaWxlPl0gICBvdXRwdXQgdGltaW5nIGRhdGEgdG8gc3RkZXJyIChvciB0byBGSUxFKVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgIGHDsWFkZSBsYSBzYWxpZGFcbiIKKyIgLWMsIC0tY29tbWFuZCA8b3JkZW4+ICAgZWplY3V0YSBvcmRlbiBlbiB2ZXogZGUgwqtzaGVsbMK7IGludGVyYWN0aXZhXG4iCisiIC1lLCAtLXJldHVybiAgICAgICAgICAgIHJldG9ybmEgZWwgY8OzZGlnbyBkZSBzYWxpZGEgZGVsIHByb2Nlc28gaGlqb1xuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICB2YWPDrWEgdHJhcyBjYWRhIGVzY3JpdHVyYVxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICB1dGlsaXphIGZpY2hlcm8gZGUgc2FsaWRhIGF1bnF1ZSBzZWEgdW4gZW5sYWNlXG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHBlcm1hbmVjZSBjYWxsYWRvXG4iCisiIC10LCAtLXRpbWluZ1s9PGZpY2g+XSAgIG1hbmRhIGRhdG9zIGRlIHRpZW1wb3MgYSBzdGRlcnIgKG8gYWwgZmljaGVybylcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgc2FjYSBpbmZvcm1hY2nDs24gc29icmUgbGEgdmVyc2nDs24geSB0ZXJtaW5hXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIG11ZXN0cmEgZXN0YSBheXVkYSB5IHRlcm1pbmFcbiIKKyJcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm91dHB1dCBmaWxlIGAlcycgaXMgYSBsaW5rXG4iCisiVXNlIC0tZm9yY2UgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC5cbiIKKyJQcm9ncmFtIG5vdCBzdGFydGVkLiIKK21zZ3N0ciAiIgorImVsIGZpY2hlcm8gZGUgc2FsaWRhICclcycgZXMgdW4gZW5sYWNlXG4iCisiVXRpbGljZSAtLWZvcmNlIHNpIHF1aWVyZSB1dGlsaXphcmxvIGRlIHZlcmRhZC5cbiIKKyJObyBzZSBpbmljaWEgZWwgcHJvZ3JhbWEuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgZG9uZSwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICJTY3JpcHQgdGVybWluYWRvOyBlbCBmaWNoZXJvIGVzICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MjYyCittc2dpZCAiY2Fubm90IHdyaXRlIHNjcmlwdCBmaWxlIgorbXNnc3RyICJubyBzZSBwdWVkZSBlc2NyaXBiaXIgZWwgZmljaGVybyBkZSBzY3JpcHQiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTZXNpw7NuIHRlcm1pbmFkYS5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXMiCittc2dzdHIgIlNjcmlwdCBpbmljaWFkbyAoJXMpIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2NyaXB0IGRvbmUgb24gJXMiCittc2dzdHIgIiIKKyJcbiIKKyJTY3JpcHQgdGVybWluYWRvICglcykiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjA3Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJubyBzZSBoYW4gcG9kaWRvIG9idGVuZXIgbG9zIGF0cmlidXRvcyBkZWwgdGVybWluYWwiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjE0Cittc2dpZCAib3BlbnB0eSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgaGEgZmFsbGFkbyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2NTIKK21zZ2lkICJvdXQgb2YgcHR5J3MiCittc2dzdHIgIm5vIHF1ZWRhbiBwdHkiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIlNjcmlwdCBpbmljaWFkbzsgZWwgZmljaGVybyBlcyAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLXRdIHRpbWluZ2ZpbGUgW3R5cGVzY3JpcHRdIFtkaXZpc29yXVxuIgorbXNnc3RyICIgJXMgWy10XSBmaWNoZXJvX2RlX3RpZW1wb3MgW2ZpY2hlcm9fZGVfdHJhbnNjcmlwY2nDs25dIFtkaXZpc29yXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQ3Cittc2dpZCAiUGxheSBiYWNrIHRlcm1pbmFsIHR5cGVzY3JpcHRzLCB1c2luZyB0aW1pbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIlJlcHJvZHVjZSBsb3MgZmljaGVyb3MgZGUgdHJhbnNjcmlwY2nDs24gZGVsIHRlcm1pbmFsLCB1dGlsaXphbmRvIGxhIGluZm9ybWFjacOzbiB0ZW1wb3JhbFxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjUwCittc2dpZCAiIgorIiAtdCwgLS10aW1pbmcgPGZpbGU+ICAgICBzY3JpcHQgdGltaW5nIG91dHB1dCBmaWxlXG4iCisiIC1zLCAtLXR5cGVzY3JpcHQgPGZpbGU+IHNjcmlwdCB0ZXJtaW5hbCBzZXNzaW9uIG91dHB1dCBmaWxlXG4iCisiIC1kLCAtLWRpdmlzb3IgPG51bT4gICAgIHNwZWVkIHVwIG9yIHNsb3cgZG93biBleGVjdXRpb24gd2l0aCB0aW1lIGRpdmlzb3JcbiIKKyIgLW0sIC0tbWF4ZGVsYXkgPG51bT4gICAgd2FpdCBhdCBtb3N0IHRoaXMgbWFueSBzZWNvbmRzIGJldHdlZW4gdXBkYXRlc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiIC10LCAtLXRpbWluZyA8ZmljaD4gICAgIGZpY2hlcm8gZGUgc2FsaWRhIGRlIHRpZW1wb3MgZGUgc2NyaXB0XG4iCisiIC1zLCAtLXR5cGVzY3JpcHQgPGZpY2g+IGZpY2hlcm8gZGUgc2FsaWRhIGRlIGxhIHNlc2nDs24gZGVsIHRlcm1pbmFsIGRlIHNjcmlwdFxuIgorIiAtZCwgLS1kaXZpc29yIDxudW0+ICAgICBhdW1lbnRhIG8gZGlzbWludXllIGxhIHZlbG9jaWRhZCBkZSBlamVjdWNpw7NuIGNvbmZvcm1lIGFsIGRpdmlzb3IgZGUgdGllbXBvXG4iCisiIC1tLCAtLW1heGRlbGF5IDxudW0+ICAgIGVzcGVyYSBhIGxvIHN1bW8gZXN0YSBjYW50aWRhZCBkZSBzZWd1bmRvcyBlbnRyZSBhY3R1YWxpemFjaW9uZXNcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgc2FjYSBsYSBpbmZvcm1hY2nDs24gc29icmUgbGEgdmVyc2nDs24geSB0ZXJtaW5hXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIG11ZXN0cmEgZXN0YSBheXVkYSB5IHRlcm1pbmFcbiIKKyJcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTIKK21zZ2lkICJ3cml0ZSB0byBzdGRvdXQgZmFpbGVkIgorbXNnc3RyICJmYWxsw7MgbGEgZXNjcml0dXJhIGEgc3Rkb3V0IgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIG9uICVzIgorbXNnc3RyICJubyBzZSBlc3BlcmFiYSBmaW4gZGUgZmljaGVybyBlbiAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdHlwZXNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gbGVlciBlbCBmaWNoZXJvIGRlIHRyYW5zY3JpcGNpw7NuICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE4NAorbXNnaWQgIndyb25nIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgIm7Dum1lcm8gZGUgYXJndW1lbnRvcyBpbmNvcnJlY3RvIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aW1pbmcgZmlsZSAlcyIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGxlZXIgZWwgZmljaGVybyBkZSB0aWVtcG9zICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1pbmcgZmlsZSAlczogbGluZSAlbHU6IHVuZXhwZWN0ZWQgZm9ybWF0IgorbXNnc3RyICJmaWNoZXJvIGRlIHRpZW1wb3MgJXM6IGzDrW5lYSAlbHU6IGZvcm1hdG8gaW5lc3BlcmFkbyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgImFyZ3VtZW50IGVycm9yOiBicmlnaHQgJXMgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiZXJyb3IgZW4gZWwgYXJndW1lbnRvOiAlcyBicmlsbGFudGUgbm8gZXN0w6EgYWRtaXRpZG8iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyOAorbXNnaWQgInRvbyBtYW55IHRhYnMiCittc2dzdHIgImRlbWFzaWFkb3MgdGFidWxhZG9yZXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MworbXNnaWQgIlNldCB0aGUgYXR0cmlidXRlcyBvZiBhIHRlcm1pbmFsLlxuIgorbXNnc3RyICJDb25maWd1cmEgbGFzIGNhcmFjdGVyw61zdGljYXMgZGUgdW4gdGVybWluYWwuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NgorbXNnaWQgIiAtLXRlcm0gICAgICAgICAgPHRlcm1pbmFsX25hbWU+ICAgb3ZlcnJpZGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIgLS10ZXJtICAgICAgICAgIDxub21icmVfdGVybWluYWw+IGFudWxhIGxhIHZhcmlhYmxlIGRlIGVudG9ybm8gVEVSTVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODcKK21zZ2lkICIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHRvIHBvd2VyLW9uIHN0YXRlXG4iCittc2dzdHIgIiAtLXJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVpbmljaWEgZWwgdGVybWluYWwgZW4gZXN0YWRvIGVuY2VuZGlkb1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODgKK21zZ2lkICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5pdCBzdHJpbmcsIGFuZCB1c2UgZGVmYXVsdCBzZXR0aW5nc1xuIgorbXNnc3RyICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIG11ZXN0cmEgbGEgY2FkZW5hIGRlIGluaWNpbyB5IHV0aWxpemEgbG9zIGFqdXN0ZXMgcHJlZGV0ZXJtaW5hZG9zXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OQorbXNnaWQgIiAtLWRlZmF1bHQgICAgICAgICAgICAgICAgICAgICAgICAgdXNlIGRlZmF1bHQgdGVybWluYWwgc2V0dGluZ3NcbiIKK21zZ3N0ciAiIC0tZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICB1dGlsaXphIGxvcyBhanVzdGVzIGRlbCB0ZXJtaW5hbCBwcmVkZXRlcm1pbmFkb3NcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkwCittc2dpZCAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgdGVybWluYWwgc2V0dGluZ3MgYXMgZGVmYXVsdFxuIgorbXNnc3RyICIgLS1zdG9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1YXJkYSBsb3MgYWp1c3RlcyBhY3R1YWxlcyBkZWwgdGVybWluYWwgY29tbyBwcmVkZXRlcm1pbmFkb3NcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkxCittc2dpZCAiIC0tY3Vyc29yICAgICAgICBbb258b2ZmXSAgICAgICAgICBkaXNwbGF5IGN1cnNvclxuIgorbXNnc3RyICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIG11ZXN0cmEgZWwgY3Vyc29yXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MgorbXNnaWQgIiAtLXJlcGVhdCAgICAgICAgW29ufG9mZl0gICAgICAgICAga2V5Ym9hcmQgcmVwZWF0XG4iCittc2dzdHIgIiAtLXJlcGVhdCAgICAgICAgW29ufG9mZl0gICAgICAgICAgcmVwZXRpY2nDs24gZGVsIHRlY2xhZG9cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkzCittc2dpZCAiIC0tYXBwY3Vyc29ya2V5cyBbb258b2ZmXSAgICAgICAgICBjdXJzb3Iga2V5IGFwcGxpY2F0aW9uIG1vZGVcbiIKK21zZ3N0ciAiIC0tYXBwY3Vyc29ya2V5cyBbb258b2ZmXSAgICAgICAgICBtb2RvIGRlIGFwbGljYWNpw7NuIGRlIGxhcyB0ZWNsYXMgZGUgY3Vyc29yXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NAorbXNnaWQgIiAtLWxpbmV3cmFwICAgICAgW29ufG9mZl0gICAgICAgICAgY29udGludWUgb24gYSBuZXcgbGluZSB3aGVuIGEgbGluZSBpcyBmdWxsXG4iCittc2dzdHIgIiAtLWxpbmV3cmFwICAgICAgW29ufG9mZl0gICAgICAgICAgY29udGluw7phIGVuIHVuYSBsw61uZWEgbnVldmEgY3VhbmRvIHVuYSBsw61uZWEgZXN0w6EgbGxlbmFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk1Cittc2dpZCAiIC0taW52ZXJzZXNjcmVlbiBbb258b2ZmXSAgICAgICAgICBzd2FwIGNvbG9ycyBmb3IgdGhlIHdob2xlIHNjcmVlblxuIgorbXNnc3RyICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIGludmllcnRlIGxvcyBjb2xvcmVzIGRlIGxhIHBhbnRhbGxhIGVudGVyYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTYKK21zZ2lkICIgLS1mb3JlZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBmb3JlZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiAtLWZvcmVncm91bmQgICAgZGVmYXVsdFs8Y29sb3I+XSAgZXN0YWJsZWNlIGVsIGNvbG9yIGRlbCBmcmVudGVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk3Cittc2dpZCAiIC0tYmFja2dyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgYmFja2dyb3VuZCBjb2xvclxuIgorbXNnc3RyICIgLS1iYWNrZ3JvdW5kICAgIGRlZmF1bHRbPGNvbG9yPl0gIGVzdGFibGVjZSBlbCBjb2xvciBkZWwgZm9uZG9cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk4Cittc2dpZCAiIC0tdWxjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgdW5kZXJsaW5lZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiAtLXVsY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgZXN0YWJsZWNlIGVsIGNvbG9yIGRlbCB0ZXh0byBzdWJyYXlhZG9cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk5Cittc2dpZCAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgYm9sZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiAtLWhiY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgZXN0YWJsZWNlIGVsIGNvbG9yIGRlbCB0ZXh0byBlbiBuZWdyaXRhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMAorbXNnaWQgIiAgICAgICAgICAgICAgICAgPGNvbG9yPjogYmxhY2sgYmx1ZSBjeWFuIGdyZWVuIGdyZXkgbWFnZW50YSByZWQgd2hpdGUgeWVsbG93XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgPGNvbG9yPjogYmxhY2sgYmx1ZSBjeWFuIGdyZWVuIGdyZXkgbWFnZW50YSByZWQgd2hpdGUgeWVsbG93XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMQorbXNnaWQgIiAtLWJvbGQgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYm9sZFxuIgorbXNnc3RyICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIG5lZ3JpdGFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAyCittc2dpZCAiIC0taGFsZi1icmlnaHQgICBbb258b2ZmXSAgICAgICAgICBkaW1cbiIKK21zZ3N0ciAiIC0taGFsZi1icmlnaHQgICBbb258b2ZmXSAgICAgICAgICBvc2N1cmVjaWRvXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMworbXNnaWQgIiAtLWJsaW5rICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYmxpbmtcbiIKK21zZ3N0ciAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBwYXJwYWRlb1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDQKK21zZ2lkICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHVuZGVybGluZVxuIgorbXNnc3RyICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHN1YnJheWFkb1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDUKK21zZ2lkICIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgIHN3YXAgZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBjb2xvcnNcbiIKK21zZ3N0ciAiIC0tcmV2ZXJzZSAgICAgICBbb258b2ZmXSAgICAgICAgICBpbnRlcmNhbWJpYSBsb3MgY29sb3JlcyBkZWwgZnJlbnRlIHkgZGVsIGZvbmRvXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNgorbXNnaWQgIiAtLWNsZWFyICAgICAgICAgW2FsbHxyZXN0XSAgICAgICAgY2xlYXIgc2NyZWVuIGFuZCBzZXQgY3Vyc29yIHBvc2l0aW9uXG4iCittc2dzdHIgIiAtLWNsZWFyICAgICAgICAgW2FsbHxyZXN0XSAgICAgICAgbGltcGlhIGxhIHBhbnRhbGxhIHkgcG9zaWNpb25hIGVsIGN1cnNvclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDcKK21zZ2lkICIgLS10YWJzICAgICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIHNldCB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIHNob3cgdGhlbVxuIgorbXNnc3RyICIgLS10YWJzICAgICAgICAgIFs8bsO6bWVybz4uLi5dICAgICBlc3RhYmxlY2UgZXN0YXMgcG9zaWNpb25lcyBkZSB0YWJ1bGFjacOzbiBvIGxhcyBtdWVzdHJhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOAorbXNnaWQgIiAtLWNscnRhYnMgICAgICAgWzxudW1iZXI+Li4uXSAgICAgY2xlYXIgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBhbGxcbiIKK21zZ3N0ciAiIC0tY2xydGFicyAgICAgICBbPG7Dum1lcm8+Li4uXSAgICAgYm9ycmEgZXN0YXMgcG9zaWNpb25lcyBkZSB0YWJ1bGFjacOzbiBvIHRvZGFzIGVsbGFzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOQorbXNnaWQgIiAtLXJlZ3RhYnMgICAgICAgWzEtMTYwXSAgICAgICAgICAgc2V0IGEgcmVndWxhciB0YWIgc3RvcCBpbnRlcnZhbFxuIgorbXNnc3RyICIgLS1yZWd0YWJzICAgICAgIFsxLTE2MF0gICAgICAgICAgIGZpamEgdW4gaW50ZXJ2YWxvIGRlIHRhYnVsYWNpw7NuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMAorbXNnaWQgIiAtLWJsYW5rICAgICAgICAgWzAtNjB8Zm9yY2V8cG9rZV0gc2V0IHRpbWUgb2YgaW5hY3Rpdml0eSBiZWZvcmUgc2NyZWVuIGJsYW5rc1xuIgorbXNnc3RyICIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIGVzdGFibGVjZSBlbCB0aWVtcG8gZGUgaW5hY3RpdmlkYWQgcXVlIHByZWNlZGVyw6EgYWwgb3NjdXJlY2ltaWVudG8gZGUgbGEgcGFudGFsbGFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDExCittc2dpZCAiIC0tZHVtcCAgICAgICAgICBbPG51bWJlcj5dICAgICAgICB3cml0ZSB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIC0tZHVtcCAgICAgICAgICBbPG7Dum1lcm8+XSAgICAgICAgZXNjcmliZSBlbCB2b2xjYWRvIGRlIGxhIGNvbnNvbGEgdmNzYTxuw7ptZXJvPiBlbiB1biBmaWNoZXJvXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMgorbXNnaWQgIiAtLWFwcGVuZCAgICAgICAgWzxudW1iZXI+XSAgICAgICAgYXBwZW5kIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIgLS1hcHBlbmQgICAgICAgIFs8bsO6bWVybz5dICAgICAgICBhw7FhZGUgZWwgdm9sY2FkbyBkZSBsYSBjb25zb2xhIHZjc2E8bsO6bWVybz4gYSB1biBmaWNoZXJvXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMworbXNnaWQgIiAtLWZpbGUgICAgICAgICAgPGZpbGVuYW1lPiAgICAgICAgbmFtZSBvZiB0aGUgZHVtcCBmaWxlXG4iCittc2dzdHIgIiAtLWZpbGUgICAgICAgICAgPG5vbWZpY2g+ICAgICAgICAgbm9tYnJlIGRlbCBmaWNoZXJvIGRlIHZvbGNhZG9cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE0Cittc2dpZCAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBzZW5kIGtlcm5lbCBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtLW1zZyAgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgZW52w61hIGxvcyBtZW5zYWplcyBkZWwgbsO6Y2xlbyBhIGxhIGNvbnNvbGFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE1Cittc2dpZCAiIC0tbXNnbGV2ZWwgICAgICAwLTggICAgICAgICAgICAgICBrZXJuZWwgY29uc29sZSBsb2cgbGV2ZWxcbiIKK21zZ3N0ciAiIC0tbXNnbGV2ZWwgICAgICAwLTggICAgICAgICAgICAgICBuaXZlbCBkZSDCq2xvZ8K7IGRlIGxhIGNvbnNvbGEgZGVsIG7DumNsZW9cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE2Cittc2dpZCAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKK21zZ3N0ciAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE3Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQgdmVzYSBwb3dlcnNhdmluZyBmZWF0dXJlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVzdGFibGVjZSBsYXMgY2FyYWN0ZXLDrXN0aWNhcyBkZSBhaG9ycm8gZGUgcG90ZW5jaWEgZGUgdmVzYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTgKK21zZ2lkICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIHNldCB2ZXNhIHBvd2VyZG93biBpbnRlcnZhbCBpbiBtaW51dGVzXG4iCittc2dzdHIgIiAtLXBvd2VyZG93biAgICAgWzAtNjBdICAgICAgICAgICAgZXN0YWJsZWNlIGVsIGludGVydmFsbyBkZSBhcGFnYWRvIGRlIHZlc2EgZW4gbWludXRvc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTkKK21zZ2lkICIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIGR1cmF0aW9uIG9mIHRoZSBiZWxsIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIGR1cmFjacOzbiBkZSBsYSBjYW1wYW5hIGVuIG1pbGlzZWd1bmRvc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjAKK21zZ2lkICIgLS1iZnJlcSAgICAgICAgIDxudW1iZXI+ICAgICAgICAgIGJlbGwgZnJlcXVlbmN5IGluIEhlcnR6XG4iCittc2dzdHIgIiAtLWJmcmVxICAgICAgICAgPG7Dum1lcm8+ICAgICAgICAgIGZyZWN1ZW5jaWEgZGUgbGEgY2FtcGFuYSBlbiBoZXJjaW9zXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMQorbXNnaWQgIiAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAgc2hvdyB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAgbXVlc3RyYSBsYSBpbmZvcm1hY2nDs24gc29icmUgbGEgdmVyc2nDs24geSB0ZXJtaW5hXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMgorbXNnaWQgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdWVzdHJhIGVzdGEgYXl1ZGEgeSB0ZXJtaW5hXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQzMAorbXNnaWQgImR1cGxpY2F0ZSB1c2Ugb2YgYW4gb3B0aW9uIgorbXNnc3RyICJ1c28gZHVwbGljYWRvIGRlIHVuYSBvcGNpw7NuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MzQKK21zZ2lkICJjYW5ub3QgZm9yY2UgYmxhbmsiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGZvcnphciBlbCBwb25lcnNlIGVuIGJsYW5jbyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzM5Cittc2dpZCAiY2Fubm90IGZvcmNlIHVuYmxhbmsiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGZvcnphciBlbCBubyBwb25lcnNlIGVuIGJsYW5jbyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQ1Cittc2dpZCAiY2Fubm90IGdldCBibGFuayBzdGF0dXMiCittc2dzdHIgIm5vIHNlIHB1ZWRlIG9idGVuZXIgZWwgZXN0YWRvIGRlbCBwb25lcnNlIGVuIGJsYW5jbyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzcxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbiBub3Qgb3BlbiBkdW1wIGZpbGUgJXMgZm9yIG91dHB1dCIKK21zZ3N0ciAibm8gc2UgcHVlZGUgYWJyaXIgZWwgZmljaGVybyBkZSB2b2xjYWRvICVzIHBhcmEgc2FsaWRhIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgJXMgZG9lcyBub3Qgc3VwcG9ydCAlcyIKK21zZ3N0ciAiZWwgdGVybWluYWwgJXMgbm8gYWRtaXRlICVzIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo5ODgKK21zZ2lkICJjYW5ub3QgKHVuKXNldCBwb3dlcnNhdmUgbW9kZSIKK21zZ3N0ciAiTm8gc2UgcHVlZGUgKGRlcylhY3RpdmFyIGVsIG1vZG8gZGUgYWhvcnJvIGRlIGFsaW1lbnRhY2nDs24iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwMDcgdGVybS11dGlscy9zZXR0ZXJtLmM6MTAxNgorbXNnaWQgImtsb2djdGwgZXJyb3IiCittc2dzdHIgImVycm9yIGRlIGtsb2djdGwiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwMzcKK21zZ2lkICIkVEVSTSBpcyBub3QgZGVmaW5lZC4iCittc2dzdHIgIiRURVJNIG5vIGVzdMOhIGRlZmluaWRvLiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0NAorbXNnaWQgInRlcm1pbmZvIGRhdGFiYXNlIGNhbm5vdCBiZSBmb3VuZCIKK21zZ3N0ciAibm8gc2UgcHVlZGUgZW5jb250cmFyIGxhIGJhc2UgZGUgZGF0b3MgZGUgdGVybWluZm8iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gdGVybWluYWwgdHlwZSIKK21zZ3N0ciAiJXM6IHRpcG8gZGUgdGVybWluYWwgZGVzY29ub2NpZG8iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDgKK21zZ2lkICJ0ZXJtaW5hbCBpcyBoYXJkY29weSIKK21zZ3N0ciAiZWwgdGVybWluYWwgZXMgdW5hIGNvcGlhIGltcHJlc2EiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHRvbyBtYW55IGlvdidzIgorbXNnc3RyICJlcnJvciBpbnRlcm5vOiBkZW1hc2lhZG9zIGlvdiIKKworIzogdGVybS11dGlscy90dHltc2cuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICJleGNlc3NpdmVseSBsb25nIGxpbmUgYXJnIgorbXNnc3RyICJhcmd1bWVudG8gZGUgbMOtbmVhIGRlbWFzaWFkbyBsYXJnbyIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlbiBmYWlsZWQiCittc2dzdHIgImZhbGxvIGFsIGFicmlyIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJmb3JrOiAlbSIKK21zZ3N0ciAiZm9yazogJW0iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmb3JrIgorbXNnc3RyICJubyBzZSBwdWVkZSBiaWZ1cmNhciAoZm9yaykiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCQUQgRVJST1IsIG1lc3NhZ2UgaXMgZmFyIHRvbyBsb25nIgorbXNnc3RyICIlczogRVJST1IgTUFMTzogZWwgbWVuc2FqZSBlcyBkZW1hc2lhZG8gbGFyZ28iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiB8IDxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gWzxmaWNoZXJvPiB8IDxtZW5zYWplPl1cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODYKK21zZ2lkICJXcml0ZSBhIG1lc3NhZ2UgdG8gYWxsIHVzZXJzLlxuIgorbXNnc3RyICJFc2NyaWJlIHVuIG1lbnNhamUgYSB0b2RvcyBsb3MgdXN1YXJpb3MuXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg5Cittc2dpZCAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIGRvIG5vdCBwcmludCBiYW5uZXIsIHdvcmtzIG9ubHkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIG5vIGltcHJpbWUgbWVuc2FqZSBpbmljaWFsLCBzb2xvIGZ1bmNpb25hIHBhcmEgcm9vdFxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5MAorbXNnaWQgIiAtdCwgLS10aW1lb3V0IDx0aW1lb3V0PiB3cml0ZSB0aW1lb3V0IGluIHNlY29uZHNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWVvdXQgPHRpZW1wb2xpbWl0ZT4gZXNjcmliZSBlbCB0aWVtcG8gbMOtbWl0ZSBlbiBzZWd1bmRvc1xuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMzIKK21zZ2lkICItLW5vYmFubmVyIGlzIGF2YWlsYWJsZSBvbmx5IGZvciByb290IgorbXNnc3RyICItLW5vYmFubmVyIHNvbGFtZW50ZSBlc3TDoSBkaXNwb25pYmxlIHBhcmEgcm9vdCIKKworIzogdGVybS11dGlscy93YWxsLmM6MTM3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudDogJXMiCittc2dzdHIgImVsIGFyZ3VtZW50byBkZSB0aWVtcG8gbMOtbWl0ZSBubyBlcyB2w6FsaWRvOiAlcyIKKworIzogdGVybS11dGlscy93YWxsLmM6MjY5Cittc2dpZCAiY2Fubm90IGdldCBwYXNzd2QgdWlkIgorbXNnc3RyICJubyBzZSBwdWVkZSBvYnRlbmVyIGVsIHVpZCBkZSBwYXNzd2QiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjI3NAorbXNnaWQgImNhbm5vdCBnZXQgdHR5IG5hbWUiCittc2dzdHIgIm5vIHNlIHB1ZWRlIG9idGVuZXIgZWwgbm9tYnJlIGRlbCB0ZXJtaW5hbCIKKworIzogdGVybS11dGlscy93YWxsLmM6Mjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXNAJXMgKCVzKSAoJXMpOiIKK21zZ3N0ciAiTWVuc2FqZSBkZSBkaWZ1c2nDs24gZ2VuZXJhbCAoYnJvYWRjYXN0KSBkZSAlc0AlcyAoJXMpICglcyk6IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgcmVhZCAlcyAtIHVzZSBzdGRpbi4iCittc2dzdHIgIm5vIHNlIHB1ZWRlIGxlZXIgJXMgLSB1c2UgbGEgZW50cmFkYSBlc3TDoW5kYXIuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXNlcj4gWzx0dHluYW1lPl1cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gPHVzdWFyaW8+IFs8dGVybWluYWw+XVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6OTAKK21zZ2lkICJTZW5kIGEgbWVzc2FnZSB0byBhbm90aGVyIHVzZXIuXG4iCittc2dzdHIgIkVudsOtYSB1biBtZW5zYWplIGEgb3RybyB1c3VhcmlvLlxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgImVmZmVjdGl2ZSBnaWQgZG9lcyBub3QgbWF0Y2ggZ3JvdXAgb2YgJXMiCittc2dzdHIgImVsIGdpZCBlZmVjdGl2byBubyBjb25jdWVyZGEgY29uIGVsIGdydXBvIGRlICVzIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4iCittc2dzdHIgIiVzIG5vIHRpZW5lIGluaWNpYWRhIHVuYSBzZXNpw7NuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjA3Cittc2dpZCAiY2FuJ3QgZmluZCB5b3VyIHR0eSdzIG5hbWUiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGVuY29udHJhciBlbCBub21icmUgZGUgc3UgdHR5IgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCIKK21zZ3N0ciAiJXMgdGllbmUgbG9zIG1lbnNhamVzIGRlc2FjdGl2YWRvcyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBsb2dnZWQgaW4gbW9yZSB0aGFuIG9uY2U7IHdyaXRpbmcgdG8gJXMiCittc2dzdHIgIiVzIHRpZW5lIGluaWNpYWRhIHVuYSBzZXNpw7NuIG3DoXMgZGUgdW5hIHZlejsgZXNjcmliaWVuZG8gZW4gJXMiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMzgKK21zZ2lkICJjYXJlZnVscHV0YyBmYWlsZWQiCittc2dzdHIgImNhcmVmdWxwdXRjIGhhIGZhbGxhZG8iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIChhcyAlcykgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiTWVuc2FqZSBkZSAlc0AlcyAoY29tbyAlcykgZW4gJXMgYSBsYXMgJTAyZDolMDJkIC4uLiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiTWVuc2FqZSBkZSAlc0AlcyBlbCAlcyBhIGxhcyAlMDJkOiUwMmQgLi4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzMxCittc2dpZCAieW91IGhhdmUgd3JpdGUgcGVybWlzc2lvbiB0dXJuZWQgb2ZmIgorbXNnc3RyICJ1c3RlZCB0aWVuZSBlbCBwZXJtaXNvIGRlIGVzY3JpdHVyYSBkZXNhY3RpdmFkbyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIG9uICVzIgorbXNnc3RyICIlcyBubyB0aWVuZSB1bmEgc2VzacOzbiBpbmljaWFkYSBlbiAlcyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQgb24gJXMiCittc2dzdHIgIiVzIHRpZW5lIGxvcyBtZW5zYWplcyBkZXNhY3RpdmFkb3MgZW4gJXMiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM0Cittc2dpZCAiRmlsdGVyIG91dCByZXZlcnNlIGxpbmUgZmVlZHMuXG4iCittc2dzdHIgIkRlamEgZnVlcmEgYXZhbmNlcyBkZSBsw61uZWEgaW52ZXJzb3MuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYiwgLS1uby1iYWNrc3BhY2VzICAgIGRvIG5vdCBvdXRwdXQgYmFja3NwYWNlc1xuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIHBlcm1pdCBmb3J3YXJkIGhhbGYgbGluZSBmZWVkc1xuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIHBhc3MgdW5rbm93biBjb250cm9sIHNlcXVlbmNlc1xuIgorIiAtaCwgLS10YWJzICAgICAgICAgICAgIGNvbnZlcnQgc3BhY2VzIHRvIHRhYnNcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICBjb252ZXJ0IHRhYnMgdG8gc3BhY2VzXG4iCisiIC1sLCAtLWxpbmVzIE5VTSAgICAgICAgYnVmZmVyIGF0IGxlYXN0IE5VTSBsaW5lc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1ILCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wY2lvbmVzOlxuIgorIiAtYiwgLS1uby1iYWNrc3BhY2VzICAgIG5vIHNhY2EgcmV0cm9jZXNvc1xuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIHBlcm1pdGUgYXZhbmNlcyBkZSBtZWRpYSBsw61uZWEgaGFjaWEgYWRlbGFudGVcbiIKKyIgLXAsIC0tcGFzcyAgICAgICAgICAgICBwYXNhIHNlY3VlbmNpYXMgZGUgY29udHJvbCBkZXNjb25vY2lkYXNcbiIKKyIgLWgsIC0tdGFicyAgICAgICAgICAgICBjb252aWVydGUgZXNwYWNpb3MgZW4gdGFidWxhZG9yZXNcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICBjb252aWVydGUgdGFidWxhZG9yZXMgZW4gZXNwYWNpb3NcbiIKKyIgLWwsIC0tbGluZXMgTlVNICAgICAgICBndWFyZGEgYWwgbWVub3MgTlVNIGzDrW5lYXNcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBzYWNhIGxhIGluZm9ybWFjacOzbiBzb2JyZSBsYSB2ZXJzacOzbiB5IHRlcm1pbmFcbiIKKyIgLUgsIC0taGVscCAgICAgICAgICAgICBtdWVzdHJhIGVzdGEgYXl1ZGEgeSB0ZXJtaW5hXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTQ4IHRleHQtdXRpbHMvY29scm0uYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXMgcmVhZHMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dFxuIgorIlxuIgorbXNnc3RyICIiCisiJXMgbGVlIGRlIGxhIGVudHJhZGEgZXN0w6FuZGFyIHkgZXNjcmliZSBlbiBsYSBzYWxpZGEgZXN0w6FuZGFyXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MjEyCittc2dpZCAiYmFkIC1sIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gLWwgaW5jb3JyZWN0byIKKworIzogdGV4dC11dGlscy9jb2wuYzozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2FuJ3QgYmFjayB1cCAlcy4iCittc2dzdHIgImF0ZW5jacOzbjogbm8gc2UgcHVlZGUgaGFjZXIgY29waWEgZGUgc2VndXJpZGFkIGRlICVzLiIKKworIzogdGV4dC11dGlscy9jb2wuYzozMzcKK21zZ2lkICJwYXN0IGZpcnN0IGxpbmUiCittc2dzdHIgIm3DoXMgYWxsw6EgZGUgcHJpbWVyYSBsw61uZWEiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM3Cittc2dpZCAiLS0gbGluZSBhbHJlYWR5IGZsdXNoZWQiCittc2dzdHIgIi0tIGzDrW5lYSB5YSB2YWNpYWRhIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjgxIHRleHQtdXRpbHMvY29sdW1uLmM6MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gWzxmaWNoZXJvPi4uLl1cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NAorbXNnaWQgIkZpbHRlciBucm9mZiBvdXRwdXQgZm9yIENSVCBwcmV2aWV3aW5nLlxuIgorbXNnc3RyICJGaWx0cmEgbGEgc2FsaWRhIGRlIG5yb2ZmIHBhcmEgcHJldmlzdWFsaXphY2nDs24gZW4gQ1JULlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg3Cittc2dpZCAiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIHN1cHByZXNzIGFsbCB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgICAgc3VwcmltZSB0b2RvcyBsb3Mgc3VicmF5YWRvc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg4Cittc2dpZCAiIC0yLCAtLWhhbGYtbGluZXMgICAgICAgIHByaW50IGFsbCBoYWxmLWxpbmVzXG4iCittc2dzdHIgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBpbXByaW1lIHRvZGFzIGxhcyBtZWRpYXMgbMOtbmVhc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbc3RhcnRjb2wgW2VuZGNvbF1dXG4iCittc2dzdHIgIiIKKyJcbiIKKyJNb2RvIGRlIGVtcGxlbzogJXMgW2NvbHVtbmFpbmljaWFsXSBbY29sdW1uYWZpbmFsXV1cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjY0Cittc2dpZCAiRmlsdGVyIG91dCB0aGUgc3BlY2lmaWVkIGNvbHVtbnMuXG4iCittc2dzdHIgIkRlamEgZnVlcmEgbGFzIGNvbHVtbmFzIGVzcGVjaWZpY2FkYXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODUKK21zZ2lkICJmaXJzdCBhcmd1bWVudCIKK21zZ3N0ciAicHJpbWVyIGFyZ3VtZW50byIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NworbXNnaWQgInNlY29uZCBhcmd1bWVudCIKK21zZ3N0ciAic2VndW5kbyBhcmd1bWVudG8iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTIwCittc2dpZCAiQ29sdW1uYXRlIGxpc3RzLlxuIgorbXNnc3RyICJMaXN0YXMgZW4gY29sdW1uYXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTIzCittc2dpZCAiIC1jLCAtLWNvbHVtbnMgPHdpZHRoPiAgICB3aWR0aCBvZiBvdXRwdXQgaW4gbnVtYmVyIG9mIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbHVtbnMgPGFuY2hvPiAgICBhbmNobyBkZSBsYSBzYWxpZGEgZW4gbsO6bWVybyBkZSBjYXJhY3RlcmVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI0Cittc2dpZCAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICBjcmVhdGUgYSB0YWJsZVxuIgorbXNnc3RyICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgIGNyZWEgdW5hIHRhYmxhXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI1Cittc2dpZCAiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiBwb3NzaWJsZSB0YWJsZSBkZWxpbWl0ZXJzXG4iCittc2dzdHIgIiAtcywgLS1zZXBhcmF0b3IgPGNhZGVuYT4gZGVsaW1pdGFkb3JlcyBkZSB0YWJsYSBxdWUgc2UgcHVlZGVuIHV0aWxpemFyXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI2Cittc2dpZCAiIgorIiAtbywgLS1vdXRwdXQtc2VwYXJhdG9yIDxzdHJpbmc+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zIHNlcGFyYXRvciBmb3IgdGFibGUgb3V0cHV0OyBkZWZhdWx0IGlzIHR3byBzcGFjZXNcbiIKK21zZ3N0ciAiIgorIiAtbywgLS1vdXRwdXQtc2VwYXJhdG9yIDxjYWRlbmE+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBzZXBhcmFkb3IgZGUgY29sdW1uYXMgcGFyYSBsYSBzYWxpZGEgZGUgbGFzIHRhYmxhczsgZWwgcHJlZGV0ZXJtaW5hZG8gZXMgZG9zIGVzcGFjaW9zXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI4Cittc2dpZCAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICBmaWxsIHJvd3MgYmVmb3JlIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICBsbGVuYXIgbGFzIGZpbGFzIGFudGVzIHF1ZSBsYXMgY29sdW1uYXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxODIKK21zZ2lkICJpbnZhbGlkIGNvbHVtbnMgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBkZSBsYXMgY29sdW1uYXMgbm8gdsOhbGlkbyIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlZCBpcyB0b28gbG9uZywgb3V0cHV0IHdpbGwgYmUgdHJ1bmNhdGVkIgorbXNnc3RyICJsYSBsw61uZWEgJWQgZXMgZGVtYXNpYWRvIGxhcmdhOyBzZSB0cnVuY2EgbGEgc2FsaWRhIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTUgdGV4dC11dGlscy9tb3JlLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+Li4uXG4iCittc2dzdHIgIiAlcyBbb3BjaW9uZXNdIDxmaWNoZXJvPi4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTgKK21zZ2lkICJEaXNwbGF5IGZpbGUgY29udGVudHMgaW4gaGV4YWRlY2ltYWwsIGRlY2ltYWwsIG9jdGFsLCBvciBhc2NpaS5cbiIKK21zZ3N0ciAiTXVlc3RyYSBlbCBjb250ZW5pZG8gZGUgdW4gZmljaGVybyBlbiBoZXhhZGVjaW1hbCwgZGVjaW1hbCwgb2N0YWwgbyBhc2NpaS5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYxCittc2dpZCAiIC1iLCAtLW9uZS1ieXRlLW9jdGFsICAgICAgb25lLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBzYWxpZGEgZW4gb2N0YWxlcyBkZSB1biBieXRlXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MgorbXNnaWQgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgIG9uZS1ieXRlIGNoYXJhY3RlciBkaXNwbGF5XG4iCittc2dzdHIgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgIHNhbGlkYSBlbiBjYXJhY3RlcmVzIGRlIHVuIGJ5dGVcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYzCittc2dpZCAiIC1DLCAtLWNhbm9uaWNhbCAgICAgICAgICAgY2Fub25pY2FsIGhleCtBU0NJSSBkaXNwbGF5XG4iCittc2dzdHIgIiAtQywgLS1jYW5vbmljYWwgICAgICAgICAgIHNhbGlkYSBoZXhhK0FTQ0lJIGNhbsOzbmljYVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjQKK21zZ2lkICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1kLCAtLXR3by1ieXRlcy1kZWNpbWFsICAgc2FsaWRhIGVuIGRlY2ltYWxlcyBkZSBkb3MgYnl0ZXNcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY1Cittc2dpZCAiIC1vLCAtLXR3by1ieXRlcy1vY3RhbCAgICAgdHdvLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICBzYWxpZGEgZW4gb2N0YWxlcyBkZSBkb3MgYnl0ZXNcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY2Cittc2dpZCAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIgLXgsIC0tdHdvLWJ5dGVzLWhleCAgICAgICBzYWxpZGEgZW4gaGV4YWRlY2ltYWxlcyBkZSBkb3MgYnl0ZXNcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY3Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08bW9kZT5dICAgICAgaW50ZXJwcmV0IGNvbG9yIGZvcm1hdHRpbmcgc3BlY2lmaWVyc1xuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxtb2RvPl0gICAgICBpbnRlcnByZXRhIGxvcyBlc3BlY2lmaWNhZG9yZXMgZGUgZm9ybWF0byBkZSBjb2xvclxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzAKK21zZ2lkICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIgorbXNnc3RyICIgLWUsIC0tZm9ybWF0IDxmb3JtYXRvPiAgICBjYWRlbmEgZGUgZm9ybWF0byBxdWUgc2UgdXNhcsOhIHBhcmEgbW9zdHJhciBkYXRvc1xuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzEKK21zZ2lkICIgLWYsIC0tZm9ybWF0LWZpbGUgPGZpbGU+ICBmaWxlIHRoYXQgY29udGFpbnMgZm9ybWF0IHN0cmluZ3NcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcm1hdC1maWxlIDxmaWNoPiAgZmljaGVybyBxdWUgY29udGllbmUgY2FkZW5hcyBkZSBmb3JtYXRvXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MgorbXNnaWQgIiAtbiwgLS1sZW5ndGggPGxlbmd0aD4gICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorbXNnc3RyICIgLW4sIC0tbGVuZ3RoIDxsYXJnbz4gICAgICBpbnRlcnByZXRhIHNvbGFtZW50ZSB0YW50b3MgYnl0ZXMgZGUgbGFyZ28gZGUgZW50cmFkYVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzMKK21zZ2lkICIgLXMsIC0tc2tpcCA8b2Zmc2V0PiAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKK21zZ3N0ciAiIC1zLCAtLXNraXAgPG9mZnNldD4gICAgICAgc2FsdGEgb2Zmc2V0IGJ5dGVzIGRlc2RlIGVsIHByaW5jaXBpb1xuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzQKK21zZ2lkICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICBvdXRwdXQgaWRlbnRpY2FsIGxpbmVzXG4iCittc2dzdHIgIiAtdiwgLS1uby1zcXVlZXppbmcgICAgICAgIHNhY2EgbMOtbmVhcyBpZMOpbnRpY2FzXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1kaXNwbGF5LmM6MzY1Cittc2dpZCAiYWxsIGlucHV0IGZpbGUgYXJndW1lbnRzIGZhaWxlZCIKK21zZ3N0ciAiZXJyb3IgZW4gdG9kb3MgbG9zIGFyZ3VtZW50b3MgZGUgZmljaGVybyBkZSBlbnRyYWRhIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgYnl0ZSBjb3VudCBmb3IgY29udmVyc2lvbiBjaGFyYWN0ZXIgJXMiCittc2dzdHIgIm7Dum1lcm8gdG90YWwgZGUgYnl0ZXMgaW5jb3JyZWN0byBwYXJhIGVsIGNhcsOhY3RlciBkZSBjb252ZXJzacOzbiAlcyIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJSVzIHJlcXVpcmVzIGEgcHJlY2lzaW9uIG9yIGEgYnl0ZSBjb3VudCIKK21zZ3N0ciAiJSVzIHJlcXVpZXJlIHVuIHZhbG9yIGRlIHByZWNpc2nDs24gbyB1biBuw7ptZXJvIHRvdGFsIGRlIGJ5dGVzIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgZm9ybWF0IHslc30iCittc2dzdHIgImZvcm1hdG8gaW5jb3JyZWN0byB7JXN9IgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo3MAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29udmVyc2lvbiBjaGFyYWN0ZXIgJSUlcyIKK21zZ3N0ciAiY2Fyw6FjdGVyIGRlIGNvbnZlcnNpw7NuICUlJXMgaW5jb3JyZWN0byIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NDM2Cittc2dpZCAiYnl0ZSBjb3VudCB3aXRoIG11bHRpcGxlIGNvbnZlcnNpb24gY2hhcmFjdGVycyIKK21zZ3N0ciAibsO6bWVybyB0b3RhbCBkZSBieXRlcyBjb24gdmFyaW9zIGNhcmFjdGVyZXMgZGUgY29udmVyc2nDs24iCisKKyM6IHRleHQtdXRpbHMvbGluZS5jOjMzCittc2dpZCAiUmVhZCBvbmUgbGluZS5cbiIKK21zZ3N0ciAiTGVlIHVuYSBsw61uZWEuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIyOAorbXNnaWQgIkEgZmlsZSBwZXJ1c2FsIGZpbHRlciBmb3IgQ1JUIHZpZXdpbmcuXG4iCittc2dzdHIgIkZpbHRybyBwYXJhIGxlY3R1cmEgZGV0ZW5pZGEgZGUgdW4gZmljaGVybyBwYXJhIHZpc3VhbGl6YWNpw7NuIENSVC5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjMxCittc2dpZCAiIC1kICAgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmdpbmcgYmVsbFxuIgorbXNnc3RyICIgLWQgICAgICAgICAgbXVlc3RyYSBheXVkYSBlbiBsdWdhciBkZSBoYWNlciBzb25hciBsYSBjYW1wYW5hXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMgorbXNnaWQgIiAtZiAgICAgICAgICBjb3VudCBsb2dpY2FsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgY3VlbnRhIGzDrW5lYXMgbMOzZ2ljYXMgZW4gdmV6IGRlIGzDrW5lYXMgZGUgcGFudGFsbGFcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjMzCittc2dpZCAiIC1sICAgICAgICAgIHN1cHByZXNzIHBhdXNlIGFmdGVyIGZvcm0gZmVlZFxuIgorbXNnc3RyICIgLWwgICAgICAgICAgc3VwcmltZSBsYSBwYXVzYSBwb3N0ZXJpb3IgYWwgYXZhbmNlIGRlIHDDoWdpbmFcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM0Cittc2dpZCAiIC1jICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGRpc3BsYXkgdGV4dCBhbmQgY2xlYW4gbGluZSBlbmRzXG4iCittc2dzdHIgIiAtYyAgICAgICAgICBubyBkZXNwbGF6YSwgbXVlc3RyYSB0ZXh0byB5IGxpbXBpYSBsb3MgZmluYWxlcyBkZSBsw61uZWFcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM1Cittc2dpZCAiIC1wICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGNsZWFuIHNjcmVlbiBhbmQgZGlzcGxheSB0ZXh0XG4iCittc2dzdHIgIiAtcCAgICAgICAgICBubyBkZXNwbGF6YSwgbGltcGlhIGxhIHBhbnRhbGxhIHkgbXVlc3RyYSB0ZXh0b1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzYKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIgLXMgICAgICAgICAganVudGEgdmFyaWFzIGzDrW5lYXMgZW4gYmxhbmNvIGVuIHVuYSBzb2xhXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNworbXNnaWQgIiAtdSAgICAgICAgICBzdXBwcmVzcyB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIgLXUgICAgICAgICAgc3VwcmltZSBzdWJyYXlhZG9zXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOAorbXNnaWQgIiAtPG51bWJlcj4gICB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKK21zZ3N0ciAiIC08bsO6bWVybz4gICBuw7ptZXJvIGRlIGzDrW5lYXMgcG9yIHBhbnRhbGxhIGNvbXBsZXRhXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOQorbXNnaWQgIiArPG51bWJlcj4gICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gbGluZSBudW1iZXJcbiIKK21zZ3N0ciAiICs8bsO6bWVybz4gICBtdWVzdHJhIGVsIGNvbWllbnpvIGRlbCBmaWNoZXJvIGRlc2RlIGVsIG7Dum1lcm8gZGUgbMOtbmVhXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MAorbXNnaWQgIiArLzxzdHJpbmc+ICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gc2VhcmNoIHN0cmluZyBtYXRjaFxuIgorbXNnc3RyICIgKy88Y2FkZW5hPiAgbXVlc3RyYSBlbCBjb21pZW56byBkZWwgZmljaGVybyBkZXNkZSBsYSBjb2luY2lkZW5jaWEgZGUgbGEgY2FkZW5hIGRlIGLDunNxdWVkYVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDEKK21zZ2lkICIgLVYgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAtViAgICAgICAgICBtdWVzdHJhIGxhIGluZm9ybWFjacOzbiBzb2JyZSBsYSB2ZXJzacOzbiB5IHRlcm1pbmFcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIC0lcyIKK21zZ3N0ciAib3BjacOzbiBkZXNjb25vY2lkYSAtJXMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjUwOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqICVzOiBkaXJlY3RvcnkgKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKiogJXM6IGRpcmVjdG9yaW8gKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqKioqKiogJXM6IE5vdCBhIHRleHQgZmlsZSAqKioqKioqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqICVzOiBObyBlcyB1biBmaWNoZXJvIGRlIHRleHRvICoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1VzZSBxIG9yIFEgdG8gcXVpdF0iCittc2dzdHIgIltVdGlsaXphciBxIG8gUSBwYXJhIHNhbGlyXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tTW9yZS0tIgorbXNnc3RyICItLU3DoXMtLSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzI2CisjLCBjLWZvcm1hdAorbXNnaWQgIihOZXh0IGZpbGU6ICVzKSIKK21zZ3N0ciAiKFNpZ3VpZW50ZSBmaWNoZXJvOiAlcykiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjczNAorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3Mgc3BhY2UgdG8gY29udGludWUsICdxJyB0byBxdWl0Ll0iCittc2dzdHIgIltQdWxzZSBsYSBiYXJyYSBlc3BhY2lhZG9yYSBwYXJhIGNvbnRpbnVhcjsgJ3EnIHBhcmEgc2FsaXIuXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTE2MgorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5iYWNrICVkIHBhZ2UiCittc2dpZF9wbHVyYWwgIi4uLmJhY2sgJWQgcGFnZXMiCittc2dzdHJbMF0gIi4uLnJldHJvY2VkZXIgJWQgcMOhZ2luYSIKK21zZ3N0clsxXSAiLi4ucmV0cm9jZWRlciAlZCBww6FnaW5hcyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTIxMAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5za2lwcGluZyAlZCBsaW5lIgorbXNnaWRfcGx1cmFsICIuLi5za2lwcGluZyAlZCBsaW5lcyIKK21zZ3N0clswXSAiLi4ub21pdGllbmRvICVkIGzDrW5lYSIKK21zZ3N0clsxXSAiLi4ub21pdGllbmRvICVkIGzDrW5lYXMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNDgKK21zZ2lkICIiCisiXG4iCisiKioqQmFjayoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqQXRyw6FzKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNjMKK21zZ2lkICJObyBwcmV2aW91cyByZWd1bGFyIGV4cHJlc3Npb24iCittc2dzdHIgIk5vIGhheSBuaW5ndW5hIGV4cHJlc2nDs24gcmVndWxhciBwcmV2aWEiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyOTMKK21zZ2lkICIiCisiXG4iCisiTW9zdCBjb21tYW5kcyBvcHRpb25hbGx5IHByZWNlZGVkIGJ5IGludGVnZXIgYXJndW1lbnQgay4gIERlZmF1bHRzIGluIGJyYWNrZXRzLlxuIgorIlN0YXIgKCopIGluZGljYXRlcyBhcmd1bWVudCBiZWNvbWVzIG5ldyBkZWZhdWx0LlxuIgorbXNnc3RyICIiCisiXG4iCisiTGEgbWF5b3LDrWEgZGUgbGFzIMOzcmRlbmVzIHB1ZWRlbiBlc3RhciBwcmVjZWRpZGFzIHBvciB1biBhcmd1bWVudG8gZW50ZXJvIGsuXG4iCisiTG9zIHZhbG9yZXMgcHJlZGV0ZXJtaW5hZG9zIGVzdMOhbiBlbnRyZSBjb3JjaGV0ZXMuXG4iCisiVW4gYXN0ZXJpc2NvICgqKSBpbmRpY2EgcXVlIGVsIGFyZ3VtZW50byBzZXLDoSBlbCBudWV2byB2YWxvciBwcmVkZXRlcm1pbmFkby5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTMwMAorbXNnaWQgIiIKKyI8c3BhY2U+ICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXVxuIgorInogICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdKlxuIgorIjxyZXR1cm4+ICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgWzFdKlxuIgorImQgb3IgY3RybC1EICAgICAgICAgICAgIFNjcm9sbCBrIGxpbmVzIFtjdXJyZW50IHNjcm9sbCBzaXplLCBpbml0aWFsbHkgMTFdKlxuIgorInEgb3IgUSBvciA8aW50ZXJydXB0PiAgIEV4aXQgZnJvbSBtb3JlXG4iCisicyAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgbGluZXMgb2YgdGV4dCBbMV1cbiIKKyJmICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBzY3JlZW5mdWxzIG9mIHRleHQgWzFdXG4iCisiYiBvciBjdHJsLUIgICAgICAgICAgICAgU2tpcCBiYWNrd2FyZHMgayBzY3JlZW5mdWxzIG9mIHRleHQgWzFdXG4iCisiJyAgICAgICAgICAgICAgICAgICAgICAgR28gdG8gcGxhY2Ugd2hlcmUgcHJldmlvdXMgc2VhcmNoIHN0YXJ0ZWRcbiIKKyI9ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgbGluZSBudW1iZXJcbiIKKyIvPHJlZ3VsYXIgZXhwcmVzc2lvbj4gICBTZWFyY2ggZm9yIGt0aCBvY2N1cnJlbmNlIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbiBbMV1cbiIKKyJuICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggZm9yIGt0aCBvY2N1cnJlbmNlIG9mIGxhc3Qgci5lIFsxXVxuIgorIiE8Y21kPiBvciA6ITxjbWQ+ICAgICAgIEV4ZWN1dGUgPGNtZD4gaW4gYSBzdWJzaGVsbFxuIgorInYgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0IHVwIC91c3IvYmluL3ZpIGF0IGN1cnJlbnQgbGluZVxuIgorImN0cmwtTCAgICAgICAgICAgICAgICAgIFJlZHJhdyBzY3JlZW5cbiIKKyI6biAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggbmV4dCBmaWxlIFsxXVxuIgorIjpwICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBwcmV2aW91cyBmaWxlIFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBmaWxlIG5hbWUgYW5kIGxpbmUgbnVtYmVyXG4iCisiLiAgICAgICAgICAgICAgICAgICAgICAgUmVwZWF0IHByZXZpb3VzIGNvbW1hbmRcbiIKK21zZ3N0ciAiIgorIjxlc3BhY2lvPiAgICAgICAgICAgICAgIE11ZXN0cmEgbGFzIHNpZ3VpZW50ZXMgayBsw61uZWFzIGRlIHRleHRvXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgW3BvciBvbWlzacOzbiwgZWwgdGFtYcOxbyBhY3R1YWwgZGUgbGEgdmVudGFuYV1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICBNdWVzdHJhIGxhcyBzaWd1aWVudGVzIGsgbMOtbmVhcyBkZSB0ZXh0b1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIFtwb3Igb21pc2nDs24sIGVsIHRhbWHDsW8gYWN0dWFsIGRlIGxhIHZlbnRhbmFdKlxuIgorIjxpbnRybz4gICAgICAgICAgICAgICAgIE11ZXN0cmEgbGFzIHNpZ3VpZW50ZXMgayBsw61uZWFzIGRlIHRleHRvIFsxXSpcbiIKKyJkIG8gY3RybC1EICAgICAgICAgICAgICBEZXNwbGF6YSBrIGzDrW5lYXMgW3RhbWHDsW8gZGUgZGVzcGxhem8gYWN0dWFsLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pY2lhbG1lbnRlIDExXSpcbiIKKyJxIG8gUSBvIDxpbnRlcnI+ICAgICAgICBTYWxlIGRlIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTYWx0YSBoYWNpYSBhZGVsYW50ZSBrIGzDrW5lYXMgZGUgdGV4dG8gWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAgU2FsdGEgaGFjaWEgYWRlbGFudGUgayBwYW50YWxsYXMgZGUgdGV4dG8gWzFdXG4iCisiYiBvIGN0cmwtQiAgICAgICAgICAgICAgU2FsdGEgaGFjaWEgYXRyw6FzIGsgcGFudGFsbGFzIGRlIHRleHRvIFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgIFZhIGFsIHNpdGlvIGRvbmRlIGNvbWVuesOzIGxhIGLDunNxdWVkYSBhbnRlcmlvclxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIE11ZXN0cmEgZWwgbsO6bWVybyBkZSBsYSBsw61uZWEgYWN0dWFsXG4iCisiLzxleHByZXNpw7NuIHJlZ3VsYXI+ICAgIEJ1c2NhIGxhIGstw6lzaW1hIGFwYXJpY2nDs24gZGUgbGEgZXhwcmVzacOzbiByZWd1bGFyIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIEJ1c2NhIGxhIGstw6lzaW1hIGFwYXJpY2nDs24gZGUgbGEgw7psdGltYSBlLnIuIFsxXVxuIgorIiE8b3JkZW4+IG8gOiE8b3JkZW4+ICAgIEVqZWN1dGEgPG9yZGVuPiBlbiB1biBzdWJzaGVsbFxuIgorInYgICAgICAgICAgICAgICAgICAgICAgIEluaWNpYSAvdXNyL2Jpbi92aSBlbiBsYSBsw61uZWEgYWN0dWFsXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkaWJ1amEgbGEgcGFudGFsbGFcbiIKKyI6biAgICAgICAgICAgICAgICAgICAgICBWYSBhbCBrLcOpc2ltbyBmaWNoZXJvIHNpZ3VpZW50ZSBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgICAgICBWYSBhbCBrLcOpc2ltbyBmaWNoZXJvIGFudGVyaW9yIFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgICAgIE11ZXN0cmEgZWwgZmljaGVybyBhY3R1YWwgeSBlbCBuw7ptZXJvIGRlIGzDrW5lYVxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIFJlcGl0ZSBsYSBvcmRlbiBhbnRlcmlvclxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzczIHRleHQtdXRpbHMvbW9yZS5jOjEzNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzICdoJyBmb3IgaW5zdHJ1Y3Rpb25zLl0iCittc2dzdHIgIltQdWxzZSAnaCcgcGFyYSBjb25zdWx0YXIgbGFzIGluc3RydWNjaW9uZXMuXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgbGluZSAlZCIKK21zZ3N0ciAiXCIlc1wiIGzDrW5lYSAlZCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQxMgorIywgYy1mb3JtYXQKK21zZ2lkICJbTm90IGEgZmlsZV0gbGluZSAlZCIKK21zZ3N0ciAiW05vIGVzIHVuIGZpY2hlcm9dIGzDrW5lYSAlZCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQ5NAorbXNnaWQgIiAgT3ZlcmZsb3dcbiIKK21zZ3N0ciAiICBEZXNib3JkYW1pZW50b1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTQzCittc2dpZCAiLi4uc2tpcHBpbmdcbiIKK21zZ3N0ciAiLi4ub21pdGllbmRvXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1NzcKK21zZ2lkICIiCisiXG4iCisiUGF0dGVybiBub3QgZm91bmRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBhdHLDs24gbm8gZW5jb250cmFkb1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTgzIHRleHQtdXRpbHMvcGcuYzoxMDI3IHRleHQtdXRpbHMvcGcuYzoxMTczCittc2dpZCAiUGF0dGVybiBub3QgZm91bmQiCittc2dzdHIgIlBhdHLDs24gbm8gZW5jb250cmFkbyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTYyOQorbXNnaWQgImV4ZWMgZmFpbGVkXG4iCittc2dzdHIgIkxhIGVqZWN1Y2nDs24gKGV4ZWMpIGhhIGZhbGxhZG9cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY0MworbXNnaWQgImNhbid0IGZvcmtcbiIKK21zZ3N0ciAibm8gc2UgcHVlZGUgYmlmdXJjYXJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY3NworbXNnaWQgIiIKKyJcbiIKKyIuLi5Ta2lwcGluZyAiCittc2dzdHIgIiIKKyJcbiIKKyIuLi5TYWx0YW5kbyAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2ODEKK21zZ2lkICIuLi5Ta2lwcGluZyB0byBmaWxlICIKK21zZ3N0ciAiLi4uU2FsdGFuZG8gYWwgZmljaGVybyAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2ODMKK21zZ2lkICIuLi5Ta2lwcGluZyBiYWNrIHRvIGZpbGUgIgorbXNnc3RyICIuLi5SZXRyb2NlZGllbmRvIGFsIGZpY2hlcm8gIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxOTczCittc2dpZCAiTGluZSB0b28gbG9uZyIKK21zZ3N0ciAiTMOtbmVhIGRlbWFzaWFkbyBsYXJnYSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjAxMAorbXNnaWQgIk5vIHByZXZpb3VzIGNvbW1hbmQgdG8gc3Vic3RpdHV0ZSBmb3IiCittc2dzdHIgIk5vIGhheSBuaW5nw7puIGNvbWFuZG8gYW50ZXJpb3IgcGFyYSBzdXN0aXR1aXIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNDQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBzY3JlZW5cbiIKKyIgIHEgb3IgUSAgICAgICAgICAgICAgICAgIHF1aXQgcHJvZ3JhbVxuIgorIiAgPG5ld2xpbmU+ICAgICAgICAgICAgICAgbmV4dCBwYWdlXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBza2lwIGEgcGFnZSBmb3J3YXJkXG4iCisiICBkIG9yIF5EICAgICAgICAgICAgICAgICBuZXh0IGhhbGZwYWdlXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBuZXh0IGxpbmVcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIGxhc3QgcGFnZVxuIgorIiAgL3JlZ2V4LyAgICAgICAgICAgICAgICAgc2VhcmNoIGZvcndhcmQgZm9yIHJlZ2V4XG4iCisiICA/cmVnZXg/IG9yIF5yZWdleF4gICAgICBzZWFyY2ggYmFja3dhcmQgZm9yIHJlZ2V4XG4iCisiICAuIG9yIF5MICAgICAgICAgICAgICAgICByZWRyYXcgc2NyZWVuXG4iCisiICB3IG9yIHogICAgICAgICAgICAgICAgICBzZXQgcGFnZSBzaXplIGFuZCBnbyB0byBuZXh0IHBhZ2VcbiIKKyIgIHMgZmlsZW5hbWUgICAgICAgICAgICAgIHNhdmUgY3VycmVudCBmaWxlIHRvIGZpbGVuYW1lXG4iCisiICAhY29tbWFuZCAgICAgICAgICAgICAgICBzaGVsbCBlc2NhcGVcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIHByZXZpb3VzIGZpbGVcbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIG5leHQgZmlsZVxuIgorIlxuIgorIk1hbnkgY29tbWFuZHMgYWNjZXB0IHByZWNlZGluZyBudW1iZXJzLCBmb3IgZXhhbXBsZTpcbiIKKyIrMTxuZXdsaW5lPiAobmV4dCBwYWdlKTsgLTE8bmV3bGluZT4gKHByZXZpb3VzIHBhZ2UpOyAxPG5ld2xpbmU+IChmaXJzdCBwYWdlKS5cbiIKKyJcbiIKKyJTZWUgcGcoMSkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgZXN0YSBwYW50YWxsYVxuIgorIiAgcSBvIFEgICAgICAgICAgICAgICAgICAgc2FsZSBkZWwgcHJvZ3JhbWFcbiIKKyIgIDxudWV2YWzDrW5lYT4gICAgICAgICAgICBww6FnaW5hIHNpZ3VpZW50ZVxuIgorIiAgZiAgICAgICAgICAgICAgICAgICAgICAgc2FsdGEgdW5hIHDDoWdpbmEgaGFjaWEgYWRlbGFudGVcbiIKKyIgIGQgbyBeRCAgICAgICAgICAgICAgICAgIHNpZ3VpZW50ZSBtZWRpYSBww6FnaW5hXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBzaWd1aWVudGUgbMOtbmVhXG4iCisiICAkICAgICAgICAgICAgICAgICAgICAgICDDumx0aW1hIHDDoWdpbmFcbiIKKyIgIC9yZWdleC8gICAgICAgICAgICAgICAgIGJ1c2NhIHJlZ2V4IGhhY2lhIGFkZWxhbnRlXG4iCisiICA/cmVnZXg/IG8gXnJlZ2V4XiAgICAgICBidXNjYSByZWdleCBoYWNpYSBhdHLDoXNcbiIKKyIgIC4gbyBeTCAgICAgICAgICAgICAgICAgIHJlZGlidWphIGxhIHBhbnRhbGxhXG4iCisiICB3IG8geiAgICAgICAgICAgICAgICAgICBjb25maWd1cmEgZWwgdGFtYcOxbyBkZSBww6FnaW5hIHkgdmEgYSBsYSBww6FnaW5hIHNpZ3VpZW50ZVxuIgorIiAgcyBub21icmVmaWNoZXJvICAgICAgICAgZ3VhcmRhIGVsIGZpY2hlcm8gYWN0dWFsIGVuIG5vbWJyZWZpY2hlcm9cbiIKKyIgICFvcmRlbiAgICAgICAgICAgICAgICAgIGNhcsOhY3RlciBkZSBlc2NhcGUgZGUgbGEgY29uc29sYVxuIgorIiAgcCAgICAgICAgICAgICAgICAgICAgICAgdmEgYWwgZmljaGVybyBhbnRlcmlvclxuIgorIiAgbiAgICAgICAgICAgICAgICAgICAgICAgdmEgYWwgZmljaGVybyBzaWd1aWVudGVcbiIKKyJcbiIKKyJNdWNoYXMgw7NyZGVuZXMgYWNlcHRhbiBuw7ptZXJvcyBkZWxhbnRlLCBwb3IgZWplbXBsbzpcbiIKKyIrMTxudWV2YWzDrW5lYT4gKHDDoWdpbmEgc2lndWllbnRlKTsgLTE8bnVldmFsw61uZWE+IChww6FnaW5hIGFudGVyaW9yKTsgMTxudWV2YWzDrW5lYT4gKHByaW1lcmEgcMOhZ2luYSkuXG4iCisiXG4iCisiVsOpYXNlIHBnKDEpIHBhcmEgbcOhcyBpbmZvcm1hY2nDs24uXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIgorbXNnc3RyICIgJXMgW29wY2lvbmVzXSBbK2zDrW5lYV0gWysvcGF0csOzbi9dIFtmaWNoZXJvc11cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyNgorbXNnaWQgIkJyb3dzZSBwYWdld2lzZSB0aHJvdWdoIHRleHQgZmlsZXMuXG4iCittc2dzdHIgIk5hdmVnYSBwb3IgZmljaGVyb3MgZGUgdGV4dG8gYSBiYXNlIGRlIHDDoWdpbmFzLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjI5Cittc2dpZCAiIC1udW1iZXIgICAgICBsaW5lcyBwZXIgcGFnZVxuIgorbXNnc3RyICIgLW51bWJlciAgICAgIGzDrW5lYXMgcG9yIHDDoWdpbmFcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMAorbXNnaWQgIiAtYyAgICAgICAgICAgY2xlYXIgc2NyZWVuIGJlZm9yZSBkaXNwbGF5aW5nXG4iCittc2dzdHIgIiAtYyAgICAgICAgICAgYm9ycmEgbGEgcGFudGFsbGEgYW50ZXMgZGUgdmlzdWFsaXphclxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMxCittc2dpZCAiIC1lICAgICAgICAgICBkbyBub3QgcGF1c2UgYXQgZW5kIG9mIGEgZmlsZVxuIgorbXNnc3RyICIgLWUgICAgICAgICAgIG5vIHNlIGRldGllbmUgYWwgZmluYWwgZGVsIGZpY2hlcm9cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMgorbXNnaWQgIiAtZiAgICAgICAgICAgZG8gbm90IHNwbGl0IGxvbmcgbGluZXNcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICBubyBwYXJ0ZSBsYXMgbMOtbmVhcyBsYXJnYXNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMworbXNnaWQgIiAtbiAgICAgICAgICAgdGVybWluYXRlIGNvbW1hbmQgd2l0aCBuZXcgbGluZVxuIgorbXNnc3RyICIgLW4gICAgICAgICAgIHRlcm1pbmEgZWwgY29tYW5kbyBjb24gbnVldmEgbMOtbmVhXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzQKK21zZ2lkICIgLXAgPHByb21wdD4gIHNwZWNpZnkgcHJvbXB0XG4iCittc2dzdHIgIiAtcCA8aW5kaWMuPiAgZXNwZWNpZmljYSBlbCBpbmRpY2Fkb3JcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNQorbXNnaWQgIiAtciAgICAgICAgICAgZGlzYWxsb3cgc2hlbGwgZXNjYXBlXG4iCittc2dzdHIgIiAtciAgICAgICAgICAgaW1waWRlIGVsIGNhcsOhY3RlciBkZSBlc2NhcGUgZGUgbGEgY29uc29sYVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM2Cittc2dpZCAiIC1zICAgICAgICAgICBwcmludCBtZXNzYWdlcyB0byBzdGRvdXRcbiIKK21zZ3N0ciAiIC1zICAgICAgICAgICBpbXByaW1lIGxvcyBtZW5zYWplcyBwb3IgbGEgc2FsaWRhIGVzdMOhbmRhclxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM3Cittc2dpZCAiICtudW1iZXIgICAgICBzdGFydCBhdCB0aGUgZ2l2ZW4gbGluZVxuIgorbXNnc3RyICIgK27Dum1lcm8gICAgICBjb21pZW56YSBlbiBsYSBsw61uZWEgZXNwZWNpZmljYWRhXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzgKK21zZ2lkICIgKy9wYXR0ZXJuLyAgIHN0YXJ0IGF0IHRoZSBsaW5lIGNvbnRhaW5pbmcgcGF0dGVyblxuIgorbXNnc3RyICIgKy9wYXRyw7NuLyAgICBjb21pZW56YSBlbiBsYSBsw61uZWEgcXVlIGNvbnRpZW5lIGVsIHBhdHLDs25cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gJXMiCittc2dzdHIgImxhIG9wY2nDs24gbmVjZXNpdGEgdW4gYXJndW1lbnRvIC0tICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgb3B0aW9uIC0tICVzIgorbXNnc3RyICJvcGNpw7NuIGlsZWdhbCAtLSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjM1OQorbXNnaWQgIi4uLnNraXBwaW5nIGZvcndhcmRcbiIKK21zZ3N0ciAiLi4uc2FsdGFuZG8gaGFjaWEgYWRlbGFudGVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM2MQorbXNnaWQgIi4uLnNraXBwaW5nIGJhY2t3YXJkXG4iCittc2dzdHIgIi4uLnNhbHRhbmRvIGhhY2lhIGF0csOhc1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzc3Cittc2dpZCAiTm8gbmV4dCBmaWxlIgorbXNnc3RyICJObyBoYXkgbmluZ8O6biBmaWNoZXJvIHNpZ3VpZW50ZSIKKworIzogdGV4dC11dGlscy9wZy5jOjM4MQorbXNnaWQgIk5vIHByZXZpb3VzIGZpbGUiCittc2dzdHIgIk5vIGhheSBuaW5nw7puIGZpY2hlcm8gYW50ZXJpb3IiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvciBmcm9tICVzIGZpbGUiCittc2dzdHIgIkVycm9yIGRlIGxlY3R1cmEgZW4gZWwgZmljaGVybyAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjg4NgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIEVPRiBpbiAlcyBmaWxlIgorbXNnc3RyICJFT0YgaW5lc3BlcmFkbyBlbiBlbCBmaWNoZXJvICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODg4CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gZXJyb3IgaW4gJXMgZmlsZSIKK21zZ3N0ciAiRXJyb3IgZGVzY29ub2NpZG8gZW4gZWwgZmljaGVybyAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjk0MQorbXNnaWQgIkNhbm5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIk5vIHNlIHB1ZWRlIGNyZWFyIHVuIGZpY2hlcm8gdGVtcG9yYWwiCisKKyMgwr9RdcOpIHNpZ25pZmljYT8KKyM6IHRleHQtdXRpbHMvcGcuYzo5NTAgdGV4dC11dGlscy9wZy5jOjExMTQgdGV4dC11dGlscy9wZy5jOjExNDAKK21zZ2lkICJSRSBlcnJvcjogIgorbXNnc3RyICJSRSBlcnJvcjoiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMDk3Cittc2dpZCAiKEVPRikiCittc2dzdHIgIihFT0YpIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTEyMiB0ZXh0LXV0aWxzL3BnLmM6MTE0OAorbXNnaWQgIk5vIHJlbWVtYmVyZWQgc2VhcmNoIHN0cmluZyIKK21zZ3N0ciAiTm8gc2UgcmVjdWVyZGEgbmluZ3VuYSBjYWRlbmEgZGUgYsO6c3F1ZWRhIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTIwMworbXNnaWQgImNhbm5vdCBvcGVuICIKK21zZ3N0ciAibm8gc2UgcHVlZGUgYWJyaXIgIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI1NQorbXNnaWQgInNhdmVkIgorbXNnc3RyICJndWFyZGFkbyIKKworIzogdGV4dC11dGlscy9wZy5jOjEzNDUKK21zZ2lkICI6ICFjb21tYW5kIG5vdCBhbGxvd2VkIGluIHJmbGFnIG1vZGUuXG4iCittc2dzdHIgIjogbm8gc2UgcGVybWl0ZSAhb3JkZW4gZW4gZWwgbW9kbyByZmxhZy5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzODAKK21zZ2lkICJmb3JrKCkgZmFpbGVkLCB0cnkgYWdhaW4gbGF0ZXJcbiIKK21zZ3N0ciAiZmFsbMOzIGxhIGxsYW1hZGEgYWwgc2lzdGVtYSBmb3JrKCksIGludMOpbnRlbG8gZGUgbnVldm8gbcOhcyBhZGVsYW50ZVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTQ2OAorbXNnaWQgIihOZXh0IGZpbGU6ICIKK21zZ3N0ciAiKFNpZ3VpZW50ZSBmaWNoZXJvOiAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzIENvcHlyaWdodCAoYykgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4iCittc2dzdHIgIiVzICVzIENvcHlyaWdodCAoYykgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuIFRvZG9zIGxvcyBkZXJlY2hvcyByZXNlcnZhZG9zLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU4NyB0ZXh0LXV0aWxzL3BnLmM6MTY2MAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMgcGVyIHBhZ2UiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBhbmFsaXphciBlbCBuw7ptZXJvIGRlIGzDrW5lYXMgcG9yIHDDoWdpbmEiCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCittc2dzdHIgIk1vZG8gZGUgZW1wbGVvOiAlcyBbb3BjaW9uZXNdIFtmaWNoZXJvIC4uLl1cbiIKKworIzogdGV4dC11dGlscy9yZXYuYzo4MAorbXNnaWQgIlJldmVyc2UgbGluZXMgY2hhcmFjdGVyd2lzZS5cbiIKK21zZ3N0ciAiSW52aWVydGUgbMOtbmVhcyBjYXLDoWN0ZXIgYSBjYXLDoWN0ZXIuXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5jb21wbGV0ZSB3cml0ZSB0byBcIiVzXCIgKHdyaXR0ZW4gJXpkLCBleHBlY3RlZCAlemQpXG4iCittc2dzdHIgImVzY3JpdHVyYSBpbmNvbXBsZXRhIGVuIFwiJXNcIiAoZXNjcml0b3MgJXpkLCBzZSBlc3BlcmFiYW4gJXpkKVxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2ggKGxpbWl0IG9mIGlub3RpZnkgd2F0Y2hlcyB3YXMgcmVhY2hlZCkuIgorbXNnc3RyICIiCisiJXM6IG5vIHNlIGhhIHBvZGlkbyBhw7FhZGlyIHZpc29yIGlub3RpZnkgKHNlIGhhIGFsY2FuemFkbyBlbCBsw61taXRlIGRlXG4iCisidmlzb3JlcyBkZSBpbm90aWZ5KS4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25dIDxmaWxlPlxuIgorbXNnc3RyICIgJXMgW29wY2nDs25dIDxmaWNoZXJvPlxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjAwCittc2dpZCAiRm9sbG93IHRoZSBncm93dGggb2YgYSBsb2cgZmlsZS5cbiIKK21zZ3N0ciAiU2lndWUgZWwgY3JlY2ltaWVudG8gZGUgdW4gZmljaGVybyBkZSDCq2xvZ8K7LlxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjAzCittc2dpZCAiIC1uLCAtLWxpbmVzIDxudW1iZXI+ICAgb3V0cHV0IHRoZSBsYXN0IDxudW1iZXI+IGxpbmVzXG4iCittc2dzdHIgIiAtbiwgLS1saW5lcyA8bsO6bWVybz4gICBzYWNhIGxhcyDDumx0aW1hcyA8bsO6bWVybz4gbMOtbmVhc1xuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjA0Cittc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgICAgc2FtZSBhcyAnLW4gPG51bWJlcj4nXG4iCittc2dzdHIgIiAtPG7Dum1lcm8+ICAgICAgICAgICAgICBpZ3VhbCBxdWUgJy1uIDxuw7ptZXJvPidcbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIxMAorbXNnaWQgIldhcm5pbmc6IHVzZSBvZiAndGFpbGYnIGlzIGRlcHJlY2F0ZWQsIHVzZSAndGFpbCAtZicgaW5zdGVhZC5cbiIKK21zZ3N0ciAiQXRlbmNpw7NuOiBgdGFpbGYnIGVzdMOhIGVuIGRlc3VzbzsgdXRpbMOtY2VzZSAndGFpbCAtZicgZW4gc3UgbHVnYXIuXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMjMgdGV4dC11dGlscy90YWlsZi5jOjI2MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBhbmFsaXphciBlbCBuw7ptZXJvIGRlIGzDrW5lYXMiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyNzUKK21zZ2lkICJubyBpbnB1dCBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAibm8gc2UgaGEgZXNwZWNpZmljYWRvIG5pbmfDum4gZmljaGVybyBkZSBlbnRyYWRhIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBmaWxlIgorbXNnc3RyICIlczogbm8gZXMgdW4gZmljaGVybyIKKworIzogdGV4dC11dGlscy91bC5jOjEzNgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gLi4uXVxuIgorbXNnc3RyICIgJXMgW29wY2lvbmVzXSBbPGZpY2hlcm8+XSAuLi5cbiIKKworIzogdGV4dC11dGlscy91bC5jOjEzOQorbXNnaWQgIkRvIHVuZGVybGluaW5nLlxuIgorbXNnc3RyICJTdWJyYXlhIHRleHRvLlxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQyCittc2dpZCAiIC10LCAtVCwgLS10ZXJtaW5hbCBURVJNSU5BTCAgb3ZlcnJpZGUgdGhlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIC10LCAtVCwgLS10ZXJtaW5hbCBURVJNSU5BTCAgYW51bGEgbGEgdmFyaWFibGUgZGUgZW50b3JubyBURVJNXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDMKK21zZ2lkICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIgorbXNnc3RyICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICBlbCBzdWJyYXlhZG8gc2UgaW5kaWNhIG1lZGlhbnRlIHVuYSBsw61uZWEgZGlzdGludGFcbiIKKworIzogdGV4dC11dGlscy91bC5jOjIwNAorbXNnaWQgInRyb3VibGUgcmVhZGluZyB0ZXJtaW5mbyIKK21zZ3N0ciAiUHJvYmxlbWFzIGFsIGxlZXIgdGVybWluZm8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgYCVzJyBpcyBub3Qga25vd24sIGRlZmF1bHRpbmcgdG8gYGR1bWInIgorbXNnc3RyICJlbCB0ZXJtaW5hbCBgJXMnIGVzIGRlc2Nvbm9jaWRvLCBzZSBhZG9wdGEgYGR1bWInIGNvbW8gcHJlZGV0ZXJtaW5hZG8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBlc2NhcGUgc2VxdWVuY2UgaW4gaW5wdXQ6ICVvLCAlbyIKK21zZ3N0ciAic2VjdWVuY2lhIGRlIGVzY2FwZSBkZXNjb25vY2lkYSBlbiBlbnRyYWRhOiAlbywgJW8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzo2MjQKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAiTMOtbmVhIGRlIGVudHJhZGEgZGVtYXNpYWRvIGxhcmdhLiIKKworI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIHVzZSB0aGUgSGFyZHdhcmUgQ2xvY2suIgorI34gbXNnc3RyICLDmm5pY2FtZW50ZSBlbCBzdXBlcnVzdWFyaW8gcHVlZGUgdXRpbGl6YXIgZWwgcmVsb2ogZGUgaGFyZHdhcmUuIgorCisjfiBtc2dpZCAiRmlsZXN5c3RlbSBsYWJlbDoiCisjfiBtc2dzdHIgIkV0aXF1ZXRhIGRlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zOiIKKworI34gbXNnaWQgImZhaWxlZCB0byBzZXQgUEFUSCIKKyN+IG1zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGVzdGFibGVjZXIgbGEgUlVUQSIKKworI34gbXNnaWQgIiVkIgorI34gbXNnc3RyICIlZCIKKworI34gbXNnaWQgInVzZSBvZiAna2lsbCAtLXBpZCcgb3B0aW9uIGFzIGNvbW1hbmQgbmFtZSBpcyBkZXByZWNhdGVkIgorI34gbXNnc3RyICJlbCB1c28gZGUgbGEgb3BjacOzbiAna2lsbCAtLXBpZCcgY29tbyB1biBub21icmUgZGUgb3JkZW4gZXN0w6Egb2Jzb2xldG8iCisKKyN+IG1zZ2lkICIlNGQtJS4yZC0lLjJkICUwMmQ6JTAyZDolMDJkLiUwNmxkJSswMmQ6JTAyZFxuIgorI34gbXNnc3RyICIlNGQtJS4yZC0lLjJkICUwMmQ6JTAyZDolMDJkLiUwNmxkJSswMmQ6JTAyZFxuIgorCisjfiBtc2dpZCAiYmFkIHRpbWVvdXQgdmFsdWU6ICVzIgorI34gbXNnc3RyICJob3JhIGRlIGV4cGlyYWNpw7NuIGluY29ycmVjdGE6ICVzIgorCisjfiBtc2dpZCAiZXhwZWN0ZWQgYSBudW1iZXIsIGJ1dCBnb3QgJyVzJyIKKyN+IG1zZ3N0ciAic2UgZXNwZXJhYmEgdW4gbsO6bWVybywgcGVybyBzZSBvYnR1dm8gJyVzJyIKKworI34gbXNnaWQgImRpdmlzb3IgJyVzJyIKKyN+IG1zZ3N0ciAiZGl2aXNvciAnJXMnIgorCisjfiBtc2dpZCAiYXJndW1lbnQgZXJyb3I6ICVzIgorI34gbXNnc3RyICJlcnJvciBlbiBlbCBhcmd1bWVudG86ICVzIgorCisjfiBtc2dpZCAidHR5IHBhdGggJXMgdG9vIGxvbmciCisjfiBtc2dzdHIgInJ1dGEgZGVsIHRlcm1pbmFsICVzIGRlbWFzaWFkbyBsYXJnYSIKKworI34gbXNnaWQgImNhbm5vdCBhY2Nlc3MgZmlsZSAlcyIKKyN+IG1zZ3N0ciAibm8gc2UgcHVlZGUgYWNjZWRlciBhbCBmaWNoZXJvICVzIgorCisjfiBtc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgc3BlY2lhbCBkZXZpY2UiCisjfiBtc2dzdHIgIiVzIG5vIGVzIHVuIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZXMiCisKKyN+IG1zZ2lkICIlczogZGV2aWNlIGlzIG1pc2FsaWduZWQiCisjfiBtc2dzdHIgIiVzOiBlbCBkaXNwb3NpdGl2byBlc3TDoSBkZXNhbGluZWFkbyIKKworI34gbXNnaWQgIk9TLzIgaGlkZGVuIEM6IGRyaXZlIgorI34gbXNnc3RyICJVbmlkYWQgQzogb2N1bHRhIGRlIE9TLzIiCisKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCIKKyN+IG1zZ3N0ciAiJXM6IGVycm9yIGRlIGFuw6FsaXNpcyBlbiBsYSBsw61uZWEgJWQiCisKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGdldCBkZXZpY2UgcGF0aCIKKyN+IG1zZ3N0ciAiJXM6IGZhbGxvIGFsIG9idGVuZXIgbGEgcnV0YSBkZWwgZGlzcG9zaXRpdm8iCisKKyN+IG1zZ2lkICIlczogdW5rbm93biBkZXZpY2UgbmFtZSIKKyN+IG1zZ3N0ciAiJXM6IG5vbWJyZSBkZSBkaXNwb3NpdGl2byBkZXNjb25vY2lkbyIKKworI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRtIG5hbWUiCisjfiBtc2dzdHIgIiVzOiBmYWxsbyBhbCBvYnRlbmVyIGVsIG5vbWJyZSBkbSIKKworI34gbXNnaWQgInRoZSBzb3J0IGNvbHVtbiBoYXMgdG8gYmUgYW1vbmcgdGhlIG91dHB1dCBjb2x1bW5zIgorI34gbXNnc3RyICJsYSBjb2x1bW5hIHBhcmEgbGEgb3JkZW5hY2nDs24gdGllbmUgcXVlIHNlciB1bmEgZGUgbGFzIGNvbHVtbmFzIHF1ZSBzZSB2YW4gYSBtb3N0cmFyIGVuIGxhIHNhbGlkYSIKKworI34gbXNnaWQgIiIKKyN+ICIgLXAsIC0tcGlkIDxwYXRoPiAgICAgICAgcGF0aCB0byBwaWQgZmlsZVxuIgorI34gIiAtcywgLS1zb2NrZXQgPHBhdGg+ICAgICBwYXRoIHRvIHNvY2tldFxuIgorI34gIiAtVCwgLS10aW1lb3V0IDxzZWM+ICAgICBzcGVjaWZ5IGluYWN0aXZpdHkgdGltZW91dFxuIgorI34gIiAtaywgLS1raWxsICAgICAgICAgICAgICBraWxsIHJ1bm5pbmcgZGFlbW9uXG4iCisjfiAiIC1yLCAtLXJhbmRvbSAgICAgICAgICAgIHRlc3QgcmFuZG9tLWJhc2VkIGdlbmVyYXRpb25cbiIKKyN+ICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgdGVzdCB0aW1lLWJhc2VkIGdlbmVyYXRpb25cbiIKKyN+ICIgLW4sIC0tdXVpZHMgPG51bT4gICAgICAgcmVxdWVzdCBudW1iZXIgb2YgdXVpZHNcbiIKKyN+ICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgZG8gbm90IGNyZWF0ZSBwaWQgZmlsZVxuIgorI34gIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkbyBub3QgZGFlbW9uaXplIHVzaW5nIGRvdWJsZS1mb3JrXG4iCisjfiAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIGRvIG5vdCBjcmVhdGUgbGlzdGVuaW5nIHNvY2tldFxuIgorI34gIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBydW4gaW4gZGVidWdnaW5nIG1vZGVcbiIKKyN+ICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgdHVybiBvbiBxdWlldCBtb2RlXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXAsIC0tcGlkIDxydXRhPiAgICAgICAgcnV0YSBhbCBmaWNoZXJvIGRlIHBpZFxuIgorI34gIiAtcywgLS1zb2NrZXQgPHJ1dGE+ICAgICBydXRhIGFsIMKrc29ja2V0wrtcbiIKKyN+ICIgLVQsIC0tdGltZW91dCA8c2VnPiAgICAgZXNwZWNpZmljYSBlbCB0aWVtcG8gbcOheGltbyBkZSBpbmFjdGl2aWRhZFxuIgorI34gIiAtaywgLS1raWxsICAgICAgICAgICAgICBtYXRhIGVsIGRlbW9uaW8gZW4gZWplY3VjacOzblxuIgorI34gIiAtciwgLS1yYW5kb20gICAgICAgICAgICBwcnVlYmEgbGEgZ2VuZXJhY2nDs24gYWxlYXRvcmlhXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHBydWViYSBsYSBnZW5lcmFjacOzbiB0ZW1wb3JpemFkYVxuIgorI34gIiAtbiwgLS11dWlkcyA8bnVtPiAgICAgICBzb2xpY2l0YSBlbCBuw7ptZXJvIGRlIHV1aWRzXG4iCisjfiAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIG5vIGNyZWEgZmljaGVybyBkZSBwaWRcbiIKKyN+ICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgbm8gY29udmllcnRlIGVuIGRlbW9uaW8gdXRpbGl6YW5kbyBkb2JsZSDCq2ZvcmvCu1xuIgorI34gIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBubyBjcmVhIMKrc29ja2V0wrsgZGUgZXNjdWNoYVxuIgorI34gIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBjb3JyZSBlbiBtb2RvIGRlIGRlcHVyYWNpw7NuXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIGNhbWJpYSBhIG1vZG8gc2lsZW5jaW9zb1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBzYWNhIGxhIGluZm9ybWFjacOzbiBkZSB2ZXJzacOzbiB5IHNhbGVcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgbXVlc3RyYSBlc3RhIGF5dWRhIHkgc2FsZVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAidW5rbm93biBzY2hlZHVsaW5nIHBvbGljeSIKKyN+IG1zZ3N0ciAicG9sw610aWNhIGRlIHBsYW5pZmljYWNpw7NuIGRlc2Nvbm9jaWRhIgorCisjfiBtc2dpZCAiIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKKyN+ICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKKyN+ICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgYWxpZ25lZCBsZW5ndGggYW5kIG9mZnNldFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAgZGVzcGxhemFtaWVudG8gZW4gYnl0ZXMgZGVzZGUgZWwgcXVlIGRlc2NhcnRhclxuIgorI34gIiAtbCwgLS1sZW5ndGggPG51bT4gIGxvbmdpdHVkIGVuIGJ5dGVzIHF1ZSBkZXNjYXJ0YXIgZGVzZGUgZWwgZGVzcGxhemFtaWVudG9cbiIKKyN+ICIgLXAsIC0tc3RlcCA8bnVtPiAgICB0YW1hw7FvIGRlIGxhcyBpdGVyYWNpb25lcyBkZSBkZXNjYXJ0ZSBkZW50cm8gZGVsIGRlc3BsYXphbWllbnRvXG4iCisjfiAiIC1zLCAtLXNlY3VyZSAgICAgICAgcmVhbGl6YXIgZGVzY2FydGUgc2VndXJvXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgaW1wcmltaXIgbG9uZ2l0dWQgeSBkZXNwbGF6YW1pZW50byBhbGluZWFkb3NcbiIKKworI34gbXNnaWQgIiVzICAuJTA2ZCBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVzICAwLCUwNmQgc2VndW5kb3NcbiIKKworI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvcjogaWdub3JlIGVudHJ5IGF0IGxpbmUgJWQuIgorI34gbXNnc3RyICIlczogZXJyb3IgZGUgYW7DoWxpc2lzOiBzZSBkZXNlc3RpbWEgbGEgZW50cmFkYSBlbiBsYSBsw61uZWEgJWQuIgorCisjfiBtc2dpZCAicGFnZXMiCisjfiBtc2dzdHIgInDDoWdpbmFzIgorCisjfiBtc2dpZCAiZGlmZmVyZW50IgorI34gbXNnc3RyICJkaWZlcmVudGUiCisKKyN+IG1zZ2lkICJzYW1lIgorI34gbXNnc3RyICJpZ3VhbCIKKworI34gbXNnaWQgIkRldmljZSBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIKKyN+IG1zZ3N0ciAiRWwgZGlzcG9zaXRpdm8gZXN0w6EgYWJpZXJ0byBlbiBtb2RvIGRlIHPDs2xvIGxlY3R1cmEuIgorCisjfiBtc2dpZCAiIC12ICBiZSB2ZXJib3NlXG4iCisjfiBtc2dzdHIgIiAtdiAgZXhwcmVzaXZvXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVmVyeSBsb25nICglenUgYnl0ZXMpIGZpbGVuYW1lIGAlcycgZm91bmQuXG4iCisjfiAiIFBsZWFzZSBpbmNyZWFzZSBNQVhfSU5QVVRfTkFNRUxFTiBpbiBta2NyYW1mcy5jIGFuZCByZWNvbXBpbGUuICBFeGl0aW5nLiIKKyN+IG1zZ3N0ciAiIgorI34gIlNlIGVuY29udHLDsyB1biBub21icmUgZGUgZmljaGVybyBkZW1hc2lhZG8gbGFyZ28gKCV6dSBieXRlcykgYCVzJy5cbiIKKyN+ICIgUG9yIGZhdm9yLCBpbmNyZW1lbnRlIE1BWF9JTlBVVF9OQU1FTEVOIGVuIG1rY3JhbWZzLmMgeSByZWNvbXBpbGUuIFNhbGllbmRvLiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWMgfCAtbCBmaWxlbmFtZV0gWy1uWFhdIFstaVhYXSAvZGV2L25hbWUgW2Jsb2Nrc10iCisjfiBtc2dzdHIgIk1vZG8gZGUgZW1wbGVvOiAlcyBbLWMgfCAtbCBub21icmVmaWNoZXJvXSBbLW5YWF0gWy1pWFhdIC9kZXYvbm9tYnJlIFtibG9xdWVzXSIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorI34gbXNnc3RyICIlczogbm8gc2UgcHVlZGUgYXNpZ25hciB1biBiw7pmZXIgcGFyYSBlbCBzdXBlcmJsb3F1ZSIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVycyBmb3IgbWFwcyIKKyN+IG1zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlIGFzaWduYXIgYsO6ZmVyZXMgcGFyYSBtYXBhcyIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCisjfiBtc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBhc2lnbmFyIGLDumZlciBwYXJhIGxvcyBub2Rvcy1pIgorCisjfiBtc2dpZCAiJXM6IGJhZCBpbm9kZSBzaXplIgorI34gbXNnc3RyICIlczogdGFtYcOxbyBkZSBub2RvLWkgaW5jb3JyZWN0byIKKworI34gbXNnaWQgIndpbGwgbm90IHRyeSB0byBtYWtlIGZpbGVzeXN0ZW0gb24gJyVzJyIKKyN+IG1zZ3N0ciAiTm8gc2UgaW50ZW50YXLDoSBjcmVhciBlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zIGVuICclcyciCisKKyN+IG1zZ2lkICJ0eXBlOiAlZCIKKyN+IG1zZ3N0ciAidGlwbzogJWQiCisKKyN+IG1zZ2lkICJkaXNrOiAlLipzIgorI34gbXNnc3RyICJkaXNjbzogJS4qcyIKKworI34gbXNnaWQgImxhYmVsOiAlLipzIgorI34gbXNnc3RyICJldGlxdWV0YTogJS4qcyIKKworI34gbXNnaWQgImZsYWdzOiAlcyIKKyN+IG1zZ3N0ciAiaW5kaWNhZG9yZXM6ICVzIgorCisjfiBtc2dpZCAiYnl0ZXMvc2VjdG9yOiAlbGQiCisjfiBtc2dzdHIgImJ5dGVzIHBvciBzZWN0b3I6ICVsZCIKKworI34gbXNnaWQgInNlY3RvcnMvdHJhY2s6ICVsZCIKKyN+IG1zZ3N0ciAic2VjdG9yZXMgcG9yIHBpc3RhOiAlbGQiCisKKyN+IG1zZ2lkICJ0cmFja3MvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAicGlzdGFzIHBvciBjaWxpbmRybzogJWxkIgorCisjfiBtc2dpZCAic2VjdG9ycy9jeWxpbmRlcjogJWxkIgorI34gbXNnc3RyICJzZWN0b3JlcyBwb3IgY2lsaW5kcm86ICVsZCIKKworI34gbXNnaWQgImN5bGluZGVyczogJWxkIgorI34gbXNnc3RyICJjaWxpbmRyb3M6ICVsZCIKKworI34gbXNnaWQgInJwbTogJWQiCisjfiBtc2dzdHIgInIucC5tLjogJWQiCisKKyN+IG1zZ2lkICJpbnRlcmxlYXZlOiAlZCIKKyN+IG1zZ3N0ciAiaW50ZXJsZWF2ZTogJWQiCisKKyN+IG1zZ2lkICJ0cmFja3NrZXc6ICVkIgorI34gbXNnc3RyICJ0cmFja3NrZXc6ICVkIgorCisjfiBtc2dpZCAiY3lsaW5kZXJza2V3OiAlZCIKKyN+IG1zZ3N0ciAiY3lsaW5kZXJza2V3OiAlZCIKKworI34gbXNnaWQgImhlYWRzd2l0Y2g6ICVsZCAobWlsbGlzZWNvbmRzKSIKKyN+IG1zZ3N0ciAiaGVhZHN3aXRjaDogJWxkIChtaWxpc2VndW5kb3MpIgorCisjfiBtc2dpZCAidHJhY2stdG8tdHJhY2sgc2VlazogJWxkIChtaWxsaXNlY29uZHMpIgorI34gbXNnc3RyICJiw7pzcXVlZGEgcGlzdGEgYSBwaXN0YTogJWxkIChtaWxpc2VndW5kb3MpIgorCisjfiBtc2dpZCAicGFydGl0aW9uczogJWQiCisjfiBtc2dzdHIgInBhcnRpY2lvbmVzOiAlZCIKKworI34gbXNnaWQgIllvdSBjYW5ub3QgY2hhbmdlIGEgcGFydGl0aW9uIGludG8gYW4gZXh0ZW5kZWQgb25lIG9yIHZpY2UgdmVyc2EuIERlbGV0ZSBpdCBmaXJzdC4iCisjfiBtc2dzdHIgIk5vIHB1ZWRlIGNvbnZlcnRpciB1bmEgcGFydGljacOzbiBlbiBleHRlbmRpZGEgbmkgdmljZXZlcnNhLiBQcmltZXJvIGRlYmUgc3VwcmltaXJsYS4iCisKKyN+IG1zZ2lkICIiCisjfiAiTGFiZWwgZ2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnNcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWxsdSBjeWxpbmRlcnMsICVkIHBoeXNpY2FsIGN5bGluZGVyc1xuIgorI34gIiAgICAgICAgICAgICAgICAlZCBleHRyYSBzZWN0cy9jeWwsIGludGVybGVhdmUgJWQ6MVxuIgorI34gbXNnc3RyICIiCisjfiAiR2VvbWV0csOtYSBkZSBsYSBldGlxdWV0YTogJWQgY2FiZXphcywgJWxsdSBzZWN0b3Jlc1xuIgorI34gIiAgICAgICAgICAgICAgICAlbGx1IGNpbGluZHJvcywgJWQgY2lsaW5kcm9zIGbDrXNpY29zXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIHNlY3RvcmVzL2NpbC4gZXh0cmEsIGludGVyY2FsYWRvICVkOjFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJMYWJlbCBnZW9tZXRyeTogJWQgcnBtLCAlZCBhbHRlcm5hdGUgYW5kICVkIHBoeXNpY2FsIGN5bGluZGVycyxcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWQgZXh0cmEgc2VjdHMvY3lsLCBpbnRlcmxlYXZlICVkOjEiCisjfiBtc2dzdHIgIiIKKyN+ICJHZW9tZXRyw61hIGRlIGxhIGV0aXF1ZXRhOiAlZCBycG0sICVkIGNpbGluZHJvcyBhbHRlcm5hZG9zIHkgJWQgZsOtc2ljb3MsXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAlZCBzZWN0b3Jlcy9jaWwuIGFkaWNpb25hbGVzLCBlbnRyZWxhemFkbyAlZDoxIgorCisjIE1hc2N1bGlubywgcG9ycXVlIHNlIHJlZmllcmUgYSAiSW5kaWNhZG9yZXMiCisjfiBtc2dpZCAiPG5vbmU+IgorI34gbXNnc3RyICI8bmluZ3Vubz4iCisKKyN+IG1zZ2lkICJnZXR0aW1lb2ZkYXkgZmFpbGVkIgorI34gbXNnc3RyICJnZXR0aW1lb2ZkYXkgaGEgZmFsbGFkbyIKKworI34gbXNnaWQgInN5c2luZm8gZmFpbGVkIgorI34gbXNnc3RyICJzeXNpbmZvIGhhIGZhbGxhZG8iCisKKyN+IG1zZ2lkICJ1c2FnZTogbGFzdCBbLSNdIFstZiBmaWxlXSBbLXQgdHR5XSBbLWggaG9zdG5hbWVdIFt1c2VyIC4uLl1cbiIKKyN+IG1zZ3N0ciAibW9kbyBkZSBlbXBsZW86IGxhc3QgWy0jXSBbLWYgZmljaGVyb10gWy10IHR0eV0gWy1oIG5vbWJyZWhvc3RdIFt1c3VhcmlvIC4uLl1cbiIKKworI34gbXNnaWQgIiVzOiBtbWFwIGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IG1tYXAgaGEgZmFsbGFkbyIKKworI34gbXNnaWQgIiAgc3RpbGwgbG9nZ2VkIGluIgorI34gbXNnc3RyICIgIHRvZGF2w61hIHRpZW5lIGluaWNpYWRhIGxhIHNlc2nDs24iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAid3RtcCBiZWdpbnMgJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJ3dG1wIGVtcGllemEgJXMiCisKKyN+IG1zZ2lkICJnZXRob3N0bmFtZSBmYWlsZWQiCisjfiBtc2dzdHIgImdldGhvc3RuYW1lIGhhIGZhbGxhZG8iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiaW50ZXJydXB0ZWQgJTEwLjEwcyAlNS41cyBcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gImludGVycnVtcGlkbyAlMTAuMTBzICU1LjVzIFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHByb2Nlc3MgaWRcbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCisjfiAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgaWQgZGVsIHByb2Nlc29cbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDxsaXN0YT4gICBkZWZpbmUgbGFzIGNvbHVtbmFzIHF1ZSBzZSBtb3N0cmFyw6FuIGVuIGxhIHNhbGlkYVxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIG5vIGltcHJpbWUgbG9zIGVuY2FiZXphZG9zXG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXRpbGl6YSBlbCBmb3JtYXQgZGUgc2FsaWRhIGVuIGJydXRvXG4iCisjfiAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgbm8gdHJ1bmNhIGVsIHRleHRvIGVuIGxhcyBjb2x1bW5hc1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIG11ZXN0cmEgZXN0YSBheXVkYSB5IHNhbGVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBzYWNhIGxhIGluZm9ybWFjacOzbiBkZSB2ZXJzacOzbiB5IHNhbGVcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJTY2hlZHVsaW5nIHBvbGljaWVzOlxuIgorI34gIiAgLWIgfCAtLWJhdGNoICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorI34gIiAgLWYgfCAtLWZpZm8gICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9GSUZPXG4iCisjfiAiICAtaSB8IC0taWRsZSAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKKyN+ICIgIC1vIHwgLS1vdGhlciAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIKKyN+ICIgIC1yIHwgLS1yciAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQb2zDrXRpY2FzIGRlIHBsYW5pZmljYWNpw7NuOlxuIgorI34gIiAgLWIgfCAtLWJhdGNoICAgICAgICAgZXN0YWJsZWNlIGxhIHBvbMOtdGljYSBTQ0hFRF9CQVRDSFxuIgorI34gIiAgLWYgfCAtLWZpZm8gICAgICAgICAgZXN0YWJsZWNlIGxhIHBvbMOtdGljYSBTQ0hFRF9GSUZPXG4iCisjfiAiICAtaSB8IC0taWRsZSAgICAgICAgICBlc3RhYmxlY2UgbGEgcG9sw610aWNhIFNDSEVEX0lETEVcbiIKKyN+ICIgIC1vIHwgLS1vdGhlciAgICAgICAgIGVzdGFibGVjZSBsYSBwb2zDrXRpY2EgU0NIRURfT1RIRVJcbiIKKyN+ICIgIC1yIHwgLS1yciAgICAgICAgICAgIGVzdGFibGVjZSBsYSBwb2zDrXRpY2EgU0NIRURfUlIgKHByZWRldGVybWluYWRhKVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiICAtYSB8IC0tYWxsLXRhc2tzICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorI34gIiAgLWggfCAtLWhlbHAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHBcbiIKKyN+ICIgIC1tIHwgLS1tYXggICAgICAgICAgIHNob3cgbWluIGFuZCBtYXggdmFsaWQgcHJpb3JpdGllc1xuIgorI34gIiAgLXAgfCAtLXBpZCAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKKyN+ICIgIC12IHwgLS12ZXJib3NlICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCisjfiAiICAtViB8IC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvblxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiT3BjaW9uZXM6XG4iCisjfiAiICAtYSB8IC0tYWxsLXRhc2tzICAgICBhY3TDumEgc29icmUgdG9kYXMgbGFzIHRhcmVhcyAoaGlsb3MpIGRlIHVuIGRldGVybWluYWRvIHBpZFxuIgorI34gIiAgLWggfCAtLWhlbHAgICAgICAgICAgbXVlc3RyYSBlc3RhIGF5dWRhXG4iCisjfiAiICAtbSB8IC0tbWF4ICAgICAgICAgICBtdWVzdHJhIGxhcyBwcmlvcmlkYWRlcyB2w6FsaWRhcyBtw61uaW1hIHkgbcOheGltYVxuIgorI34gIiAgLXAgfCAtLXBpZCAgICAgICAgICAgYWN0w7phIHNvYnJlIHVuIGRldGVybWluYWRvIHBpZCBleGlzdGVudGVcbiIKKyN+ICIgIC12IHwgLS12ZXJib3NlICAgICAgIG11ZXN0cmEgaW5mb3JtYWNpw7NuIHNvYnJlIGVsIGVzdGFkb1xuIgorI34gIiAgLVYgfCAtLXZlcnNpb24gICAgICAgc2FjYSBsYSBpbmZvcm1hY2nDs24gZGUgdmVyc2nDs25cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1tYW51YWxlamVjdC8taSBvcHRpb24iCisjfiBtc2dzdHIgImFyZ3VtZW50byBubyB2w6FsaWRvIHBhcmEgbGEgb3BjacOzbiAtLW1hbnVhbGVqZWN0Ly1pIgorCisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gY2hhbmdlIHRoZSBTeXN0ZW0gQ2xvY2suIgorI34gbXNnc3RyICLDmm5pY2FtZW50ZSBlbCBzdXBlcnVzdWFyaW8gcHVlZGUgY2FtYmlhciBlbCByZWxvaiBkZWwgc2lzdGVtYS4iCisKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiBjaGFuZ2UgdGhlIEhhcmR3YXJlIENsb2NrIGVwb2NoIGluIHRoZSBrZXJuZWwuIgorI34gbXNnc3RyICJTw7NsbyBlbCBzdXBlcnVzdWFyaW8gcHVlZGUgY2FtYmlhciBlbCB2YWxvciBkZSDDqXBvY2EgZGVsIHJlbG9qIGRlIGhhcmR3YXJlIGRlbCBuw7pjbGVvLiIKKworI34gbXNnaWQgInJlYWQoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKKyN+IG1zZ3N0ciAiRXJyb3IgZGUgcmVhZCgpIGRlICVzIGFsIGVzcGVyYXIgc2XDsWFsIGRlIHJlbG9qIgorCisjfiBtc2dpZCAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCisjfiAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIGxpc3RzIGFsbCBtb3VudHMgd2l0aCBMQUJFTHNcbiIKKyN+ICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgbXVlc3RyYSBlc3RlIHRleHRvIGRlIGF5dWRhIHkgdGVybWluYVxuIgorI34gIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBubyBsbGFtYSBhIGxvcyBhdXhpbGlhcmVzIG1vdW50Ljx0aXBvPlxuIgorI34gIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBlbnVtZXJhIHRvZG9zIGxvcyBtb250YWplcyBjb24gRVRJUVVFVEFzXG4iCisjfiAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIG5vIGVzY3JpYmUgZW4gL2V0Yy9tdGFiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHNheSB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtd3JpdGUgKGRlZmF1bHQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgY3VlbnRhIGxvIHF1ZSBzZSBlc3TDoSBoYWNpZW5kb1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBtdWVzdHJhIGxhIGluZm9ybWFjacOzbiBkZSB2ZXJzacOzbiB5IHRlcm1pbmFcbiIKKyN+ICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgbW9udGEgZWwgc2lzdGVtYSBkZSBmaWNoZXJvcyBwYXJhIGxlY3R1cmEgeSBlc2NyaXR1cmEgKG9wY2nDs24gcHJlZGVmaW5pZGEpXG4iCisKKyN+IG1zZ2lkICJzZXQgcnRjIGFsYXJtIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZmFsbG8gYWwgcG9uZXIgbGEgYWxhcm1hIHJ0YyIKKworI34gbXNnaWQgImVuYWJsZSBydGMgYWxhcm0gZmFpbGVkIgorI34gbXNnc3RyICJmYWxsbyBhbCBhY3RpdmFyIGxhIGFsYXJtYSBydGMiCisKKyN+IG1zZ2lkICJzdXNwZW5kIHRvIFwiJXNcIiB1bmF2YWlsYWJsZSIKKyN+IG1zZ3N0ciAic3VzcGVuc2nDs24gYSBcIiVzXCIgbm8gZGlzcG9uaWJsZSIKKworI34gbXNnaWQgImJhZCB2YWx1ZSIKKyN+IG1zZ3N0ciAidmFsb3IgaW5jb3JyZWN0byIKKworI34gbXNnaWQgIiAtbSwgLS1tb3VudCAgICAgICAgICAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgLW0sIC0tbW91bnQgICAgICAgICAgICAgICBkZWphciBkZSBjb21wYXJ0aXIgZWwgZXNwYWNpbyBkZSBub21icmVzIGRlIG1vbnRhamVzXG4iCisKKyN+IG1zZ2lkICIgLXUsIC0tdXRzICAgICAgICAgICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKKyN+IG1zZ3N0ciAiIC11LCAtLXV0cyAgICAgICAgICAgICAgICAgZGVqYXIgZGUgY29tcGFydGlyIGVsIGVzcGFjaW8gZGUgbm9tYnJlcyBVVFMgKG5vbWJyZSBkZSBtw6FxdWluYSwgZXRjLilcbiIKKworI34gbXNnaWQgIiAtaSwgLS1pcGMgICAgICAgICAgICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgLWksIC0taXBjICAgICAgICAgICAgICAgICBkZWphciBkZSBjb21wYXJ0aXIgZWwgZXNwYWNpbyBkZSBub21icmVzIGRlIElQQyBTeXN0ZW0gVlxuIgorCisjfiBtc2dpZCAiIC1uLCAtLW5ldCAgICAgICAgICAgICAgICAgdW5zaGFyZSBuZXR3b3JrIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgLW4sIC0tbmV0ICAgICAgICAgICAgICAgICBkZWphciBkZSBjb21wYXJ0aXIgZWwgZXNwYWNpbyBkZSBub21icmVzIGRlIHJlZFxuIgorCisjfiBtc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICAgICAgICAgIGRlamFyIGRlIGNvbXBhcnRpciBlbCBlc3BhY2lvIGRlIG5vbXJiZXMgZGUgcGlkXG4iCisKKyN+IG1zZ2lkICIgLVUsIC0tdXNlciAgICAgICAgICAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtVSwgLS11c2VyICAgICAgICAgICAgICAgIGRlamFyIGRlIGNvbXBhcnRpciBlbCBlc3BhY2lvIGRlIG5vbWJyZXMgZGUgdXN1YXJpb1xuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVtIgorI34gbXNnc3RyICJubyBzZSBwdWVkZSBhYnJpciAlczogJW0iCisKKyN+IG1zZ2lkICJmcmVhZCBmYWlsZWQiCisjfiBtc2dzdHIgImZyZWFkIGhhIGZhbGxhZG8iCisKKyN+IG1zZ2lkICJNaW5pbWFsIHNpemUgaXMgJWp1IgorI34gbXNnc3RyICJFbCB0YW1hw7FvIG3DrW5pbW8gZXMgJWp1IgorCisjfiBtc2dpZCAiSGVscCBTY3JlZW4gZm9yIGNmZGlzayIKKyN+IG1zZ3N0ciAiUGFudGFsbGEgZGUgYXl1ZGEgcGFyYSBjZmRpc2siCisKKyN+IG1zZ2lkICJkaXNrIGRyaXZlLiIKKyN+IG1zZ3N0ciAiZGUgZGlzY28gZHVyby4iCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMTQgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+ICIKKyN+IG1zZ3N0ciAiQ29weXJpZ2h0IChDKSAyMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPiAiCisKKyN+IG1zZ2lkICJCYXNlZCBvbiB0aGUgb3JpZ2luYWwgY2ZkaXNrIGZyb20gS2V2aW4gRS4gTWFydGluICYgYWViLiIKKyN+IG1zZ3N0ciAiQmFzYWRvIGVuIGVsIGNmZGlzayBvcmlnaW5hbCBkZSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGBubyciCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBgbm8nIgorCisjfiBtc2dpZCAiVG9vIHNtYWxsIHBhcnRpdGlvbiBzaXplIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIkVsIHRhbWHDsW8gZXNwZWNpZmljYWRvIHBhcmEgbGEgcGFydGljacOzbiBlcyBkZW1hc2lhZG8gcGVxdWXDsW8uIgorCisjfiBtc2dpZCAiRGV2aWNlIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUiCisjfiBtc2dzdHIgIkVsIGRpc3Bvc2l0aXZvIGVzdMOhIGFiaWVydG8gZW4gbW9kbyBkZSBzw7NsbyBsZWN0dXJhIgorCisjfiBtc2dpZCAic3RhdCBmYWlsZWQgJXMiCisjfiBtc2dzdHIgImZhbGxvIGRlICdzdGF0JzogJXMpIgorCisjfiBtc2dpZCAiZmFpbGQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCisjfiBtc2dzdHIgImZhbGxvIGFsIHJlc2VydmFyIGl0ZXJhZG9yIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW46ICVzIgorI34gbXNnc3RyICJubyBzZSBwdWVkZSBhYnJpcjogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgPHN0YXJ0PiAgYmVnaW4gb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLiBUaGUgZGVmYXVsdCBpcyB0aGUgZmlyc3RcbiIKKyN+ICIgICAgICAgICAgICBmcmVlIHNwYWNlLlxuIgorI34gbXNnc3RyICIiCisjfiAiICAgPGNvbWllbnpvPiBjb21pZW56byBkZSBsYSBwYXJ0aWNpw7NuIGVuIHNlY3RvcmVzLiBMbyBwcmVkZXRlcm1pbmFkbyBlcyBlbFxuIgorI34gIiAgICAgICAgICAgIHByaW1lciBlc3BhY2lvIGxpYnJlLlxuIgorCisjfiBtc2dpZCAiJXM6IHN0YXQgZmFpbGVkIgorI34gbXNnc3RyICIlczogZmFsbG8gYWwgb2J0ZW5lciBlbCBlc3RhZG8iCisKKyN+IG1zZ2lkICIgICAgIC0tcmZjNTQyNFs9PG5vdGltZSxub3RxLG5vaG9zdD5dXG4iCisjfiBtc2dzdHIgIiAgICAgLS1yZmM1NDI0Wz08bm90aW1lLG5vdHEsbm9ob3N0Pl1cbiIKKworI34gbXNnaWQgIiVzOiBsc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiBsc3RhdCBoYSBmYWxsYWRvIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlNldHMgb3IgZ2V0cyB0aGUgSU8gc2NoZWR1bGluZyBjbGFzcyBhbmQgcHJpb3JpdHkgb2YgcHJvY2Vzc2VzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRXN0YWJsZWNlIHUgb2J0aWVuZSBsYSBjbGFzZSBkZSBwbGFuaWZpY2FjacOzbiBFL1MgeSBsYSBwcmlvcmlkYWQgZGUgbG9zIHByb2Nlc29zLlxuIgorCisjfiBtc2dpZCAiUGxlYXNlLCBzZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBkaXNrIGxhYmVsLiIKKyN+IG1zZ3N0ciAiUG9yIGZhdm9yLCBzZWxlY2Npb25lIHVuIHRpcG8gcGFyYSBjcmVhciB1bmEgbnVldmEgZXRpcXVldGEgZGUgZGlzY28uIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiTW9kbyBkZSBlbXBsZW86ICVzIFtvcGNpb25lc10gZGlzcG9zaXRpdm9cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtbiwgLS1uby12ZXJpZnkgIGRpc2FibGUgdGhlIHZlcmlmaWNhdGlvbiBhZnRlciB0aGUgZm9ybWF0XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiT3BjaW9uZXM6XG4iCisjfiAiIC1uLCAtLW5vLXZlcmlmeSAgZGVzYWN0aXZhciBsYSB2ZXJpZmljYWNpw7NuIGRlc3B1w6lzIGRlbCBmb3JtYXRvXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgbW9zdHJhciBsYSBpbmZvcm1hY2nDs24gZGUgdmVyc2nDs24geSBzYWxpclxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIG1vc3RyYXIgZXN0YSBheXVkYSB5IHNhbGlyXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG1rZnMoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQYXJhIG3DoXMgaW5mb3JtYWNpw7NuIHbDqWFzZSBta2ZzKDgpLlxuIgorCisjfiBtc2dpZCAiJXMgKCVzKVxuIgorI34gbXNnc3RyICIlcyAoJXMpXG4iCisKKyN+IG1zZ2lkICJCYWQgc3dhcCBoZWFkZXIgc2l6ZSwgbm8gbGFiZWwgd3JpdHRlbi4iCisjfiBtc2dzdHIgIlRhbWHDsW8gZGUgY2FiZWNlcmEgZGUgaW50ZXJjYW1iaW8gaW5jb3JyZWN0bzsgbm8gc2UgaGEgZXNjcml0byBldGlxdWV0YS4iCisKKyN+IG1zZ2lkICJzZWVrIGVycm9yIG9uICVzIC0gY2Fubm90IHNlZWsgdG8gJWx1IgorI34gbXNnc3RyICJFcnJvciBkZSBiw7pzcXVlZGEgZW4gJXM7IG5vIHNlIHB1ZWRlIGJ1c2NhciBlbiAlbHUiCisKKyN+IG1zZ2lkICJzZWVrIGVycm9yOiB3YW50ZWQgMHglMDh4JTA4eCwgZ290IDB4JTA4eCUwOHgiCisjfiBtc2dzdHIgIkVycm9yIGRlIGLDunNxdWVkYTogc2UgZXNwZXJhYmEgMHglMDh4JTA4eCwgc2UgaGEgb2J0ZW5pZG8gMHglMDh4JTA4eCIKKworI34gbXNnaWQgInJlYWQgZXJyb3Igb24gJXMgLSBjYW5ub3QgcmVhZCBzZWN0b3IgJWxsdSIKKyN+IG1zZ3N0ciAiRXJyb3IgZGUgbGVjdHVyYSBlbiAlczsgbm8gc2UgcHVlZGUgbGVlciBlbCBzZWN0b3IgJWxsdSIKKworI34gbXNnaWQgIndyaXRlIGVycm9yIG9uICVzIC0gY2Fubm90IHdyaXRlIHNlY3RvciAlbGx1IgorI34gbXNnc3RyICJFcnJvciBkZSBlc2NyaXR1cmEgZW4gJXM7IG5vIHNlIHB1ZWRlIGVzY3JpYmlyIGVsIHNlY3RvciAlbGx1IgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHNlY3RvciBzYXZlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAiTm8gc2UgcHVlZGUgYWJyaXIgZWwgZmljaGVybyBkZSBndWFyZGFyIHNlY3RvciBkZSBwYXJ0aWNpw7NuICglcykiCisKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyIKKyN+IG1zZ3N0ciAiRXJyb3IgZGUgZXNjcml0dXJhIGVuICVzIgorCisjfiBtc2dpZCAiY2Fubm90IHN0YXQgcGFydGl0aW9uIHJlc3RvcmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJObyBzZSBwdWVkZSBlamVjdXRhciBzdGF0IHBhcmEgZmljaGVybyBkZSByZXN0YXVyYXIgcGFydGljacOzbiAoJXMpIgorCisjfiBtc2dpZCAicGFydGl0aW9uIHJlc3RvcmUgZmlsZSBoYXMgd3Jvbmcgc2l6ZSAtIG5vdCByZXN0b3JpbmciCisjfiBtc2dzdHIgIlRhbWHDsW8gaW5jb3JyZWN0byBkZSBmaWNoZXJvIGRlIHJlc3RhdXJhciBwYXJ0aWNpw7NuOyBubyBzZSBlZmVjdMO6YSByZXN0YXVyYWNpw7NuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHJlc3RvcmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJObyBzZSBwdWVkZSBhYnJpciBmaWNoZXJvIGRlIHJlc3RhdXJhciBwYXJ0aWNpw7NuICglcykiCisKKyN+IG1zZ2lkICJlcnJvciByZWFkaW5nICVzIgorI34gbXNnc3RyICJFcnJvciBhbCBsZWVyICVzIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gZGV2aWNlICVzIGZvciB3cml0aW5nIgorI34gbXNnc3RyICJObyBzZSBwdWVkZSBhYnJpciBlbCBkaXNwb3NpdGl2byAlcyBwYXJhIGVzY3JpYmlyIgorCisjfiBtc2dpZCAiZXJyb3Igd3JpdGluZyBzZWN0b3IgJWx1IG9uICVzIgorI34gbXNnc3RyICJFcnJvciBhbCBlc2NyaWJpciBlbCBzZWN0b3IgJWx1IGVuICVzIgorCisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiRGlzY28gJXM6IG5vIHNlIHB1ZWRlIG9idGVuZXIgbGEgZ2VvbWV0csOtYSIKKworI34gbXNnaWQgIkRpc2sgJXM6IGNhbm5vdCBnZXQgc2l6ZSIKKyN+IG1zZ3N0ciAiRGlzY28gJXM6IG5vIHNlIHB1ZWRlIG9idGVuZXIgZWwgdGFtYcOxbyIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzdGFydD0lbHUgLSB0aGlzIGxvb2tzIGxpa2UgYSBwYXJ0aXRpb24gcmF0aGVyIHRoYW5cbiIKKyN+ICJ0aGUgZW50aXJlIGRpc2suIFVzaW5nIGZkaXNrIG9uIGl0IGlzIHByb2JhYmx5IG1lYW5pbmdsZXNzLlxuIgorI34gIltVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIGlmIHlvdSByZWFsbHkgd2FudCB0aGlzXSIKKyN+IG1zZ3N0ciAiIgorI34gIkF0ZW5jacOzbjogcHJpbmNpcGlvPSVsdSAtIHBhcmVjZSBzZXIgdW5hIHBhcnRpY2nDs24geSBubyB1blxuIgorI34gImRpc2NvIGVudGVyby4gVXNhciBmZGlzayBjb24gZWxsYSBwcm9iYWJsZW1lbnRlIG5vIHRpZW5lIHNlbnRpZG8uXG4iCisjfiAiW1VzZSBsYSBvcGNpw7NuIC0tZm9yY2Ugc2kgcmVhbG1lbnRlIGRlc2VhIHJlYWxpemFyIGVzdGEgb3BlcmFjacOzbi5dIgorCisjfiBtc2dpZCAiV2FybmluZzogSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgaGVhZHMiCisjfiBtc2dzdHIgIkF0ZW5jacOzbjogSERJT19HRVRHRU8gaW5kaWNhIHF1ZSBoYXkgJWx1IGNhYmV6YXMiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBIRElPX0dFVEdFTyBzYXlzIHRoYXQgdGhlcmUgYXJlICVsdSBzZWN0b3JzIgorI34gbXNnc3RyICJBdGVuY2nDs246IEhESU9fR0VUR0VPIGluZGljYSBxdWUgaGF5ICVsdSBzZWN0b3JlcyIKKworI34gbXNnaWQgIldhcm5pbmc6IEJMS0dFVFNJWkUvSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgY3lsaW5kZXJzIgorI34gbXNnc3RyICJBdGVuY2nDs246IEhESU9fR0VUR0VPIGluZGljYSBxdWUgaGF5ICVsdSBjaWxpbmRyb3MiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogdW5saWtlbHkgbnVtYmVyIG9mIHNlY3RvcnMgKCVsdSkgLSB1c3VhbGx5IGF0IG1vc3QgNjNcbiIKKyN+ICJUaGlzIHdpbGwgZ2l2ZSBwcm9ibGVtcyB3aXRoIGFsbCBzb2Z0d2FyZSB0aGF0IHVzZXMgQy9IL1MgYWRkcmVzc2luZy4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdGVuY2nDs246IG7Dum1lcm8gaW1wcm9iYWJsZSBkZSBzZWN0b3JlcyAoJWx1KTsgbm9ybWFsbWVudGUgNjMgY29tbyBtw6F4aW1vXG4iCisjfiAiRXN0byBjYXVzYXLDoSBwcm9ibGVtYXMgY29uIGVsIHNvZnR3YXJlIHF1ZSBkaXJlY2Npb25lIGNvbiBDaWwuL0NhYi4vU2VjdG9yIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsdSBjeWxpbmRlcnMsICVsdSBoZWFkcywgJWx1IHNlY3RvcnMvdHJhY2tcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2NvICVzOiAlbHUgY2lsaW5kcm9zLCAlbHUgY2FiZXphcywgJWx1IHNlY3RvcmVzL3Bpc3RhXG4iCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIGhlYWQ6ICVsdSAoc2hvdWxkIGJlIGluIDAtJWx1KSIKKyN+IG1zZ3N0ciAiIgorI34gIiVzIGRlIHBhcnRpY2nDs24gJXMgdGllbmUgdW4gdmFsb3IgaW1wb3NpYmxlIHBhcmEgY2FiZXphOiAlbHVcbiIKKyN+ICIoZGViZSBlc3RhciBlbnRyZSAwIHkgJWx1KSIKKworI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3Igc2VjdG9yOiAlbHUgKHNob3VsZCBiZSBpbiAxLSVsdSkiCisjfiBtc2dzdHIgIiIKKyN+ICIlcyBkZSBwYXJ0aWNpw7NuICVzIHRpZW5lIHVuIHZhbG9yIGltcG9zaWJsZSBwYXJhIHNlY3RvcjogJWx1XG4iCisjfiAiKGRlYmUgZXN0YXIgZW50cmUgMSB5ICVsdSkiCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIGN5bGluZGVyczogJWx1IChzaG91bGQgYmUgaW4gMC0lbHUpIgorI34gbXNnc3RyICIiCisjfiAiJXMgZGUgcGFydGljacOzbiAlcyB0aWVuZSB1biB2YWxvciBpbXBvc2libGUgcGFyYSBjaWxpbmRyb3M6ICVsdVxuIgorI34gIihkZWJlIGVzdGFyIGVudHJlIDAgeSAlbHUpIgorCisjfiBtc2dpZCAiUmUtcmVhZGluZyB0aGUgcGFydGl0aW9uIHRhYmxlIC4uLlxuIgorI34gbXNnc3RyICJWb2x2aWVuZG8gYSBsZWVyIGxhIHRhYmxhIGRlIHBhcnRpY2lvbmVzLi4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGNvbW1hbmQgdG8gcmUtcmVhZCB0aGUgcGFydGl0aW9uIHRhYmxlIGZhaWxlZC5cbiIKKyN+ICJSdW4gcGFydHByb2JlKDgpLCBrcGFydHgoOCkgb3IgcmVib290IHlvdXIgc3lzdGVtIG5vdyxcbiIKKyN+ICJiZWZvcmUgdXNpbmcgbWtmcyIKKyN+IG1zZ3N0ciAiIgorI34gIkxhIG9yZGVuIHBhcmEgdm9sdmVyIGEgbGVlciBsYSB0YWJsYSBkZSBwYXJ0aWNpb25lcyBoYSBmYWxsYWRvLlxuIgorI34gIkVqZWN1dGUgcGFydHByb2JlKDgpLCBrcGFydHgoOCkgbyByZWluaWNpZSBlbCBzaXN0ZW1hIGFob3JhLFxuIgorI34gImFudGVzIGRlIHV0aWxpemFyIG1rZnMiCisKKyN+IG1zZ2lkICJFcnJvciBjbG9zaW5nICVzIgorI34gbXNnc3RyICJFcnJvciBhbCBjZXJyYXIgJXMiCisKKyN+IG1zZ2lkICIlczogbm8gc3VjaCBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiJXM6IGVzdGEgcGFydGljacOzbiBubyBleGlzdGVcbiIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBmb3JtYXQgLSB1c2luZyBzZWN0b3JzIgorI34gbXNnc3RyICJGb3JtYXRvIG5vIHJlY29ub2NpZG87IHV0aWxpemFuZG8gc2VjdG9yZXMiCisKKyN+IG1zZ2lkICJ1bmltcGxlbWVudGVkIGZvcm1hdCAtIHVzaW5nICVzIgorI34gbXNnc3RyICJmb3JtYXRvIG5vIGltcGxlbWVudGFkbzsgdXRpbGl6YW5kbyAlcyIKKworI34gbXNnaWQgInNlY3RvcnMiCisjfiBtc2dzdHIgInNlY3RvcmVzIgorCisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiBjeWxpbmRlcnMgb2YgJWx1IGJ5dGVzLCBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiVW5pZGFkZXM6IGNpbGluZHJvcyBkZSAlbHUgYnl0ZXMsIGJsb3F1ZXMgZGUgMTAyNCBieXRlcywgY29udGFuZG8gZGVzZGUgJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290IFN0YXJ0ICAgICBFbmQgICAjY3lscyAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBEaXNwLiAgSW5pYy4gUHJpbmMuICAgRmluICAgTsK6Y2lsICAgIE7CumJsb3EuICAgSWQgIFNpc3RlbWFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVbml0czogc2VjdG9ycyBvZiA1MTIgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVuaWRhZGVzOiBzZWN0b3JlcyBkZSA1MTIgYnl0ZXMsIGNvbnRhbmRvIGRlc2RlICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgICBTdGFydCAgICAgICBFbmQgICAjc2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBEaXNwLiAgSW5pY2lvICBQcmluY2lwaW8gICBGaW4gICBOwrogc2VjdC4gIElkICBTaXN0ZW1hXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVbmlkYWRlczogYmxvcXVlcyBkZSAxMDI0IGJ5dGVzLCBjb250YW5kbyBkZXNkZSAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgICBTdGFydCAgICAgICBFbmQgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAgRGlzcC4gIEluaWMuICBQcmluY2lwaW8gICBGaW4gICAgTsK6YmxvcXVlcyBJZCAgU2lzdGVtYVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiAxTWlCID0gMTAyNCoxMDI0IGJ5dGVzLCBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiVW5pZGFkZXM6IDFNaUIgPSAxMDI0KjEwMjQgYnl0ZXMsIGJsb3F1ZXMgZGUgMTAyNCBieXRlcywgY29udGFuZG8gZGVzZGUgJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290IFN0YXJ0ICAgRW5kICAgIE1pQiAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBEaXNwLiAgSW5pYyBQcmluYy4gIEZpbiAgICBNaUIgICAgTsK6YmxvcXVlcyBJZCAgU2lzdGVtYVxuIgorCisjfiBtc2dpZCAiXHRcdHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICJcdFx0cHJpbmNpcGlvOiAoY2lsLixjYWIuLHNlY3QuKSBlc3BlcmFkbyAoJWxkLCVsZCwlbGQpIGRldGVjdGFkbyAoJWxkLCVsZCwlbGQpXG4iCisKKyN+IG1zZ2lkICJcdFx0ZW5kOiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICJcdFx0ZmluOiAoY2lsLixjYWIuLHNlY3QuKSBlc3BlcmFkbyAoJWxkLCVsZCwlbGQpIGRldGVjdGFkbyAoJWxkLCVsZCwlbGQpXG4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gZW5kcyBvbiBjeWxpbmRlciAlbGQsIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBkaXNrXG4iCisjfiBtc2dzdHIgIkxhIHBhcnRpY2nDs24gdGVybWluYSBlbiBlbCBjaWxpbmRybyAlbGQsIG3DoXMgYWxsw6EgZGVsIGZpbmFsIGRlbCBkaXNjb1xuIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IFRoZSBwYXJ0aXRpb24gdGFibGUgbG9va3MgbGlrZSBpdCB3YXMgbWFkZVxuIgorI34gIiAgZm9yIEMvSC9TPSovJWxkLyVsZCAoaW5zdGVhZCBvZiAlbGQvJWxkLyVsZCkuXG4iCisjfiAiRm9yIHRoaXMgbGlzdGluZyBJJ2xsIGFzc3VtZSB0aGF0IGdlb21ldHJ5LiIKKyN+IG1zZ3N0ciAiIgorI34gIkF0ZW5jacOzbjogTGEgdGFibGEgZGUgcGFydGljaW9uZXMgcGFyZWNlIGhhYmVyc2UgY3JlYWRvXG4iCisjfiAiICBwYXJhIENpbC4vQ2FiLi9TZWN0Lj0qLyVsZC8lbGQgKGVuIGx1Z2FyIGRlICVsZC8lbGQvJWxkKS5cbiIKKyN+ICJQYXJhIGVzdGUgbGlzdGFkbyBzZSBwcmVzdXBvbmRyw6EgZXN0YSBnZW9tZXRyw61hLiIKKworI34gbXNnaWQgIm5vIHBhcnRpdGlvbiB0YWJsZSBwcmVzZW50IgorI34gbXNnc3RyICJubyBleGlzdGUgbmluZ3VuYSB0YWJsYSBkZSBwYXJ0aWNpb25lcyIKKworI34gbXNnaWQgInN0cmFuZ2UsIG9ubHkgJWQgcGFydGl0aW9uIGRlZmluZWQiCisjfiBtc2dpZF9wbHVyYWwgInN0cmFuZ2UsIG9ubHkgJWQgcGFydGl0aW9ucyBkZWZpbmVkIgorI34gbXNnc3RyWzBdICJFeHRyYcOxYW1lbnRlIHPDs2xvIGhheSAlZCBwYXJ0aWNpw7NuIGRlZmluaWRhIgorI34gbXNnc3RyWzFdICJFeHRyYcOxYW1lbnRlIHPDs2xvIGhheSAlZCBwYXJ0aWNpb25lcyBkZWZpbmlkYXMiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBidXQgaXMgbm90IG1hcmtlZCBFbXB0eSIKKyN+IG1zZ3N0ciAiQXRlbmNpw7NuOiBsYSBwYXJ0aWNpw7NuICVzIHRpZW5lIHRhbWHDsW8gMCBwZXJvIG5vIGVzdMOhIG1hcmNhZGEgY29tbyB2YWPDrWEiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBhbmQgaXMgYm9vdGFibGUiCisjfiBtc2dzdHIgIkF0ZW5jacOzbjogbGEgcGFydGljacOzbiAlcyB0aWVuZSB0YW1hw7FvIDAgeSBlcyBpbmljaWFibGUiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBhbmQgbm9uemVybyBzdGFydCIKKyN+IG1zZ3N0ciAiQXRlbmNpw7NuOiBsYSBwYXJ0aWNpw7NuICVzIHRpZW5lIHRhbWHDsW8gMCB5IHByaW5jaXBpbyBkaXN0aW50byBkZSBjZXJvIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGlzIG5vdCBjb250YWluZWQgaW4gcGFydGl0aW9uICVzIgorI34gbXNnc3RyICJBdGVuY2nDs246IGxhIHBhcnRpY2nDs24gJXMgbm8gZXN0w6EgY29udGVuaWRhIGVuIGxhIHBhcnRpY2nDs24gJXMiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb25zICVzIGFuZCAlcyBvdmVybGFwIgorI34gbXNnc3RyICJBdGVuY2nDs246IGxhcyBwYXJ0aWNpb25lcyAlcyB5ICVzIHNlIHNvbGFwYW4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogcGFydGl0aW9uICVzIGNvbnRhaW5zIHBhcnQgb2YgdGhlIHBhcnRpdGlvbiB0YWJsZSAoc2VjdG9yICVsbHUpLFxuIgorI34gImFuZCB3aWxsIGRlc3Ryb3kgaXQgd2hlbiBmaWxsZWQiCisjfiBtc2dzdHIgIiIKKyN+ICJBdGVuY2nDs246IGxhIHBhcnRpY2nDs24gJXMgY29udGllbmUgcGFydGUgZGUgbGEgdGFibGEgZGUgcGFydGljaW9uZXNcbiIKKyN+ICIoc2VjdG9yICVsbHUpLCB5IGxhIGRlc3RydWlyw6EgY3VhbmRvIHNlIGxsZW5lIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIHN0YXJ0cyBhdCBzZWN0b3IgMCIKKyN+IG1zZ3N0ciAiQXRlbmNpw7NuOiBsYSBwYXJ0aWNpw7NuICVzIGVtcGllemEgZW4gZWwgc2VjdG9yIDAiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZXh0ZW5kcyBwYXN0IGVuZCBvZiBkaXNrIgorI34gbXNnc3RyICJBdGVuY2nDs246IGxhIHBhcnRpY2nDs24gJXMgZmluYWxpemEgbcOhcyBhbGzDoSBkZWwgZmluYWwgZGVsIGRpc2NvIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAlZC4lZCBUQiAoJWxsdSBieXRlcyksXG4iCisjfiAid2hpY2ggaXMgbGFyZ2VyIHRoYW4gdGhlICVsbHUgYnl0ZXMgbGltaXQgaW1wb3NlZFxuIgorI34gImJ5IHRoZSBET1MgcGFydGl0aW9uIHRhYmxlIGZvciAlZC1ieXRlIHNlY3RvcnMiCisjfiBtc2dzdHIgIiIKKyN+ICJBdGVuY2nDs246IGxhIHBhcnRpY2nDs24gJXMgdGllbmUgdW4gdGFtYcOxbyBkZSAlZC4lZCBUQiAoJWxsdSBieXRlcyksXG4iCisjfiAiZWwgY3VhbCBlcyBtYXlvciBxdWUgZWwgbMOtbWl0ZSBkZSAlbGx1IGJ5dGVzIGltcHVlc3RvXG4iCisjfiAicG9yIGxhIHRhYmxhIGRlIHBhcnRpY2lvbmVzIERPUyBwYXJhIHNlY3RvcmVzIGRlICVkIGJ5dGVzIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yICVsbHUgKCVkLiVkIFRCIGZvciAlZC1ieXRlIHNlY3RvcnMpLFxuIgorI34gIndoaWNoIGV4Y2VlZHMgdGhlIERPUyBwYXJ0aXRpb24gdGFibGUgbGltaXQgb2YgJWxsdSBzZWN0b3JzIgorI34gbXNnc3RyICIiCisjfiAiQXRlbmNpw7NuOiBsYSBwYXJ0aWNpw7NuICVzIGNvbWllbnphIGVuIGVsIHNlY3RvciAlbGx1ICglZCwlZCBUQiBwYXJhIHNlY3RvcmVzIGRlICVkIGJ5dGVzKSxcbiIKKyN+ICJsbyBjdWFsIGV4Y2VkZSBlbCBsw61taXRlIGRlICVsbHUgc2VjdG9yZXMgZGUgbGFzIHRhYmxhcyBkZSBwYXJ0aWNpb25lcyBET1MiCisKKyN+IG1zZ2lkICIiCisjfiAiQW1vbmcgdGhlIHByaW1hcnkgcGFydGl0aW9ucywgYXQgbW9zdCBvbmUgY2FuIGJlIGV4dGVuZGVkXG4iCisjfiAiIChhbHRob3VnaCB0aGlzIGlzIG5vdCBhIHByb2JsZW0gdW5kZXIgTGludXgpIgorI34gbXNnc3RyICIiCisjfiAiQ29tbyBtw6F4aW1vIHVuYSBkZSBsYXMgcGFydGljaW9uZXMgcHJpbWFyaWFzIHB1ZWRlIHNlciBleHRlbmRpZGFcbiIKKyN+ICIgKGF1bnF1ZSBlc3RvIG5vIGVzIHVuIHByb2JsZW1hIGJham8gTGludXgpIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGRvZXMgbm90IHN0YXJ0IGF0IGEgY3lsaW5kZXIgYm91bmRhcnkiCisjfiBtc2dzdHIgIkF0ZW5jacOzbjogbGEgcGFydGljacOzbiAlcyBubyBlbXBpZXphIGVuIHVuIGzDrW1pdGUgZGUgY2lsaW5kcm8iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZG9lcyBub3QgZW5kIGF0IGEgY3lsaW5kZXIgYm91bmRhcnkiCisjfiBtc2dzdHIgIkF0ZW5jacOzbjogbGEgcGFydGljacOzbiAlcyBubyB0ZXJtaW5hIGVuIHVuIGzDrW1pdGUgZGUgY2lsaW5kcm8iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogbW9yZSB0aGFuIG9uZSBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLiIKKyN+IG1zZ3N0ciAiIgorI34gIkF0ZW5jacOzbjogaGF5IG3DoXMgZGUgdW5hIHBhcnRpY2nDs24gcHJpbWFyaWEgbWFyY2FkYSBjb21vIGluaWNpYWJsZSAoYWN0aXZhKVxuIgorI34gIkVzdG8gbm8gZXMgcG9ibGVtYSBwYXJhIExJTE8sIHBlcm8gZWwgTUJSIGRlIERPUyBubyBzZSBpbmljaWFyw6EgY29uIGVzdGUgZGlzY28uIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHVzdWFsbHkgb25lIGNhbiBib290IGZyb20gcHJpbWFyeSBwYXJ0aXRpb25zIG9ubHlcbiIKKyN+ICJMSUxPIGRpc3JlZ2FyZHMgdGhlIGBib290YWJsZScgZmxhZy4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdGVuY2nDs246IG5vcm1hbG1lbnRlIHPDs2xvIGVzIHBvc2libGUgaW5pY2lhciBkZXNkZSBwYXJ0aWNpb25lcyBwcmltYXJpYXMuXG4iCisjfiAiTElMTyBubyB0aWVuZSBlbiBjdWVudGEgZWwgaW5kaWNhZG9yIGRlIGluaWNpYWJsZS4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogbm8gcHJpbWFyeSBwYXJ0aXRpb24gaXMgbWFya2VkIGJvb3RhYmxlIChhY3RpdmUpXG4iCisjfiAiVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sIGJ1dCB0aGUgRE9TIE1CUiB3aWxsIG5vdCBib290IHRoaXMgZGlzay4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdGVuY2nDs246IG5vIGhheSBuaW5ndW5hIHBhcnRpY2nDs24gcHJpbWFyaWEgbWFyY2FkYSBjb21vIGluaWNpYWJsZSAoYWN0aXZhKS5cbiIKKyN+ICJFc3RvIG5vIGVzIHByb2JsZW1hIHBhcmEgTElMTywgcGVybyBlbCBNQlIgZGUgRE9TIG5vIGluaWNpYXLDoSBjb24gZXN0ZSBkaXNjby4iCisKKyN+IG1zZ2lkICJzdGFydCIKKyN+IG1zZ3N0ciAiY29taWVuem8iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKSIKKyN+IG1zZ3N0ciAiUGFydGljacOzbiAlczogcHJpbmNpcGlvOiAoY2lsLixjYWIuLHNlY3QuKSBlc3BlcmFkbyAoJWxkLCVsZCwlbGQpIGRldGVjdGFkbyAoJWxkLCVsZCwlbGQpIgorCisjfiBtc2dpZCAiZW5kIgorI34gbXNnc3RyICJmaW5hbCIKKworI34gbXNnaWQgInBhcnRpdGlvbiAlczogZW5kOiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKSIKKyN+IG1zZ3N0ciAiUGFydGljacOzbiAlczogZmluOiAoY2lsLixjYWIuLHNlY3QuKSBlc3BlcmFkbyAoJWxkLCVsZCwlbGQpIGRldGVjdGFkbyAoJWxkLCVsZCwlbGQpIgorCisjfiBtc2dpZCAicGFydGl0aW9uICVzIGVuZHMgb24gY3lsaW5kZXIgJWxkLCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZGlzayIKKyN+IG1zZ3N0ciAiTGEgcGFydGljacOzbiAlcyB0ZXJtaW5hIGVuIGVsIGNpbGluZHJvICVsZCwgbcOhcyBhbGzDoSBkZWwgZmluYWwgZGVsIGRpc2NvIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHNoaWZ0ZWQgc3RhcnQgb2YgdGhlIGV4dGQgcGFydGl0aW9uIGZyb20gJWxsZCB0byAlbGxkXG4iCisjfiAiKEZvciBsaXN0aW5nIHB1cnBvc2VzIG9ubHkuIERvIG5vdCBjaGFuZ2UgaXRzIGNvbnRlbnRzLikiCisjfiBtc2dzdHIgIiIKKyN+ICJBdGVuY2nDs246IHNlIGRlc3BsYXphIGVsIGNvbWllbnpvIGRlIGxhIHBhcnRpY2nDs24gZXh0ZCBkZSAlbGxkIGEgJWxsZFxuIgorI34gIihTb2xhbWVudGUgcGFyYSB2aXN1YWxpemFybG8uIE5vIHNlIGNhbWJpYSBzdSBjb250ZW5pZG8uKSIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBleHRlbmRlZCBwYXJ0aXRpb24gZG9lcyBub3Qgc3RhcnQgYXQgYSBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+ICJET1MgYW5kIExpbnV4IHdpbGwgaW50ZXJwcmV0IHRoZSBjb250ZW50cyBkaWZmZXJlbnRseS4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdGVuY2nDs246IGxhIHBhcnRpY2nDs24gZXh0ZW5kaWRhIG5vIGVtcGllemEgZW4gdW4gbMOtbWl0ZSBkZSBjaWxpbmRyby5cbiIKKyN+ICJET1MgeSBMaW51eCBpbnRlcnByZXRhcsOhbiBlbCBjb250ZW5pZG8gZGUgZm9ybWEgZGlmZXJlbnRlLiIKKworI34gbXNnaWQgIkVSUk9SOiBzZWN0b3IgJWxsdSBkb2VzIG5vdCBoYXZlIGFuIG1zZG9zIHNpZ25hdHVyZSIKKyN+IG1zZ3N0ciAiRVJST1I6IGVsIHNlY3RvciAlbGx1IG5vIHRpZW5lIHVuYSBmaXJtYSBtc2RvcyIKKworI34gbXNnaWQgInRvbyBtYW55IHBhcnRpdGlvbnMgLSBpZ25vcmluZyB0aG9zZSBwYXN0IG5yICglenUpIgorI34gbXNnc3RyICJkZW1hc2lhZGFzIHBhcnRpY2lvbmVzIC0gc2UgaWdub3JhbiBsYXMgcG9zdGVyaW9yZXMgYWwgbsK6ICglenUpIgorCisjfiBtc2dpZCAidHJlZSBvZiBwYXJ0aXRpb25zPyIKKyN+IG1zZ3N0ciAiwr/DoXJib2wgZGUgcGFydGljaW9uZXM/IgorCisjfiBtc2dpZCAiZGV0ZWN0ZWQgRGlzayBNYW5hZ2VyIC0gdW5hYmxlIHRvIGhhbmRsZSB0aGF0IgorI34gbXNnc3RyICJBZG1pbmlzdHJhZG9yIGRlIGRpc2NvIGRldGVjdGFkbzsgbm8gc2UgcHVlZGUgdHJhdGFyIGVzdG8iCisKKyN+IG1zZ2lkICJETTYgc2lnbmF0dXJlIGZvdW5kIC0gZ2l2aW5nIHVwIgorI34gbXNnc3RyICJEZXRlY3RhZGEgZmlybWEgRE02IC0gYWJhbmRvbmFuZG8iCisKKyN+IG1zZ2lkICJzdHJhbmdlLi4uLCBhbiBleHRlbmRlZCBwYXJ0aXRpb24gb2Ygc2l6ZSAwPyIKKyN+IG1zZ3N0ciAiU2l0dWFjacOzbiBhbsOzbWFsYTogwr9wYXJ0aWNpw7NuIGV4dGVuZGlkYSBkZSB0YW1hw7FvIDA/IgorCisjfiBtc2dpZCAic3RyYW5nZS4uLiwgYSBCU0QgcGFydGl0aW9uIG9mIHNpemUgMD8iCisjfiBtc2dzdHIgIlNpdHVhY2nDs24gYW7Ds21hbGE6IMK/cGFydGljacOzbiBCU0QgZGUgdGFtYcOxbyAwPyIKKworI34gbXNnaWQgIi1uIGZsYWcgd2FzIGdpdmVuOiBOb3RoaW5nIGNoYW5nZWQiCisjfiBtc2dzdHIgIlNlIGhhIGVzcGVjaWZpY2FkbyBlbCBpbmRpY2Fkb3IgLW46IG5vIHNlIGhhIHByb2R1Y2lkbyBuaW5nw7puIGNhbWJpbyIKKworI34gbXNnaWQgIkZhaWxlZCBzYXZpbmcgdGhlIG9sZCBzZWN0b3JzIC0gYWJvcnRpbmdcbiIKKyN+IG1zZ3N0ciAiRXJyb3IgYWwgZ3VhcmRhciBsb3Mgc2VjdG9yZXMgYW50aWd1b3M7IGFudWxhbmRvIGxhIG9wZXJhY2nDs25cbiIKKworI34gbXNnaWQgIkZhaWxlZCB3cml0aW5nIHRoZSBwYXJ0aXRpb24gb24gJXMiCisjfiBtc2dzdHIgIkVycm9yIGFsIGVzY3JpYmlyIGxhIHBhcnRpY2nDs24gZW4gJXMiCisKKyN+IG1zZ2lkICJsb25nIG9yIGluY29tcGxldGUgaW5wdXQgbGluZSAtIHF1aXR0aW5nIgorI34gbXNnc3RyICJMw61uZWEgZGUgZW50cmFkYSBsYXJnYSBvIGluY29tcGxldGE7IHNlIGFiYW5kb25hIGxhIG9wZXJhY2nDs24iCisKKyN+IG1zZ2lkICJpbnB1dCBlcnJvcjogYD0nIGV4cGVjdGVkIGFmdGVyICVzIGZpZWxkIgorI34gbXNnc3RyICJFcnJvciBkZSBlbnRyYWRhOiBzZSBlc3BlcmFiYSBgPScgZGVzcHXDqXMgZGVsIGNhbXBvICVzIgorCisjfiBtc2dpZCAiaW5wdXQgZXJyb3I6IHVuZXhwZWN0ZWQgY2hhcmFjdGVyICVjIGFmdGVyICVzIGZpZWxkIgorI34gbXNnc3RyICJFcnJvciBkZSBlbnRyYWRhOiBjYXLDoWN0ZXIgaW5lc3BlcmFkbyAlYyB0cmFzIGNhbXBvICVzIgorCisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGlucHV0OiAlcyIKKyN+IG1zZ3N0ciAiRW50cmFkYSBubyByZWNvbm9jaWRhOiAlcyIKKworI34gbXNnaWQgIm51bWJlciB0b28gYmlnIgorI34gbXNnc3RyICJOw7ptZXJvIGRlbWFzaWFkbyBlbGV2YWRvIgorCisjfiBtc2dpZCAidHJhaWxpbmcganVuayBhZnRlciBudW1iZXIiCisjfiBtc2dzdHIgIkRhdG9zIGV4dHJhw7FvcyB0cmFzIGVsIG7Dum1lcm8iCisKKyN+IG1zZ2lkICJubyByb29tIGZvciBwYXJ0aXRpb24gZGVzY3JpcHRvciIKKyN+IG1zZ3N0ciAiTm8gaGF5IGVzcGFjaW8gcGFyYSBkZXNjcmlwdG9yIGRlIHBhcnRpY2nDs24iCisKKyN+IG1zZ2lkICJjYW5ub3QgYnVpbGQgc3Vycm91bmRpbmcgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICJObyBzZSBwdWVkZSBjcmVhciBwYXJ0aWNpw7NuIGV4dGVuZGlkYSBhZHlhY2VudGUiCisKKyN+IG1zZ2lkICJ0b28gbWFueSBpbnB1dCBmaWVsZHMiCisjfiBtc2dzdHIgIkRlbWFzaWFkb3MgY2FtcG9zIGRlIGVudHJhZGEiCisKKyN+IG1zZ2lkICJObyByb29tIGZvciBtb3JlIgorI34gbXNnc3RyICJObyBxdWVkYSBtw6FzIGVzcGFjaW8iCisKKyN+IG1zZ2lkICJJbGxlZ2FsIHR5cGUiCisjfiBtc2dzdHIgIlRpcG8gbm8gcGVybWl0aWRvIgorCisjfiBtc2dpZCAiV2FybmluZzogZ2l2ZW4gc2l6ZSAoJWxsdSkgZXhjZWVkcyBtYXggYWxsb3dhYmxlIHNpemUgKCVsbHUpIgorI34gbXNnc3RyICJBdGVuY2nDs246IGVsIHRhbWHDsW8gZGFkbyAoJWxsdSkgc3VwZXJhIGVsIHRhbWHDsW8gbcOheGltbyBwZXJtaXRpZG8gKCVsbHUpIgorCisjfiBtc2dpZCAiV2FybmluZzogZW1wdHkgcGFydGl0aW9uIgorI34gbXNnc3RyICJBdGVuY2nDs246IHBhcnRpY2nDs24gdmFjw61hIgorCisjfiBtc2dpZCAiV2FybmluZzogYmFkIHBhcnRpdGlvbiBzdGFydCAoZWFybGllc3QgJWxsdSkiCisjfiBtc2dzdHIgIkF0ZW5jacOzbjogcHJpbmNpcGlvIGRlIHBhcnRpY2nDs24gaW5jb3JyZWN0byAoYW50ZXMgJWxsdSkiCisKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgYm9vdGFibGUgZmxhZyAtIGNob29zZSAtIG9yICoiCisjfiBtc2dzdHIgIkluZGljYWRvciBkZSBpbmljaWFibGUgbm8gcmVjb25vY2lkbzsgZWxpamEgLSBvICoiCisKKyN+IG1zZ2lkICJwYXJ0aWFsIGMsaCxzIHNwZWNpZmljYXRpb24/IgorI34gbXNnc3RyICLCv0VzcGVjaWZpY2FjacOzbiBwYXJjaWFsIGRlIGNpbCxjYWIsc2VjdD8iCisKKyN+IG1zZ2lkICJiYWQgaW5wdXQiCisjfiBtc2dzdHIgIkVudHJhZGEgaW5jb3JyZWN0YSIKKworI34gbXNnaWQgIiIKKyN+ICJJbnB1dCBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDsgYWJzZW50IGZpZWxkcyBnZXQgYSBkZWZhdWx0IHZhbHVlLlxuIgorI34gIjxzdGFydD4gPHNpemU+IDx0eXBlIFtFLFMsTCxYLGhleF0+IDxib290YWJsZSBbLSwqXT4gPGMsaCxzPiA8YyxoLHM+XG4iCisjfiAiVXN1YWxseSB5b3Ugb25seSBuZWVkIHRvIHNwZWNpZnkgPHN0YXJ0PiBhbmQgPHNpemU+IChhbmQgcGVyaGFwcyA8dHlwZT4pLiIKKyN+IG1zZ3N0ciAiIgorI34gIkVudHJhZGEgY29uIGVsIGZvcm1hdG8gc2lndWllbnRlOyBsb3MgY2FtcG9zIGF1c2VudGVzIHV0aWxpemFuIGVsIHZhbG9yIHByZWRldGVybWluYWRvLlxuIgorI34gIjxwcmluY2lwaW8+IDx0YW1hw7FvPiA8dGlwbyBbRSxTLEwsWCxoZXhdPiA8aW5pY2lhYmxlIFstLCpdPiA8Y2lsLGNhYixzZWM+IDxjaWwsY2FiLHNlYz5cbiIKKyN+ICJOb3JtYWxtZW50ZSBzw7NsbyBkZWJlIGVzcGVjaWZpY2FyIDxwcmluY2lwaW8+IHkgPHRhbWHDsW8+ICh5IHF1aXrDoXMgPHRpcG8+KS4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+Li4uXG4iCisjfiBtc2dzdHIgIjogJXMgW29wY2lvbmVzXSA8ZGlzcG9zaXRpdm8+Li4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1zLCAtLXNob3ctc2l6ZSAgICAgICAgICAgbGlzdCBzaXplIG9mIGEgcGFydGl0aW9uXG4iCisjfiAiIC1jLCAtLWlkICAgICAgICAgICAgICAgICAgY2hhbmdlIG9yIHByaW50IHBhcnRpdGlvbiBJZFxuIgorI34gIiAgICAgLS1jaGFuZ2UtaWQgICAgICAgICAgIGNoYW5nZSBJZFxuIgorI34gIiAgICAgLS1wcmludC1pZCAgICAgICAgICAgIHByaW50IElkXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXMsIC0tc2hvdy1zaXplICAgICAgICAgICBtdWVzdHJhIGVsIHRhbWHDsW8gZGUgdW5hIHBhcnRpY2nDs25cbiIKKyN+ICIgLWMsIC0taWQgICAgICAgICAgICAgICAgICBjYW1iaWEgbyBpbXByaW1lIGVsIElkIGRlIHVuYSBwYXJ0aWNpw7NuXG4iCisjfiAiICAgICAtLWNoYW5nZS1pZCAgICAgICAgICAgY2FtYmlhIGVsIElkXG4iCisjfiAiICAgICAtLXByaW50LWlkICAgICAgICAgICAgaW1wcmltZSBlbCBJZFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgIGxpc3QgcGFydGl0aW9ucyBvZiBlYWNoIGRldmljZVxuIgorI34gIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgIGlkZW0sIGJ1dCBpbiBhIGZvcm1hdCBzdWl0YWJsZSBmb3IgbGF0ZXIgaW5wdXRcbiIKKyN+ICIgLWksIC0taW5jcmVtZW50ICAgICAgICAgICBudW1iZXIgY3lsaW5kZXJzIGV0Yy4gZnJvbSAxIGluc3RlYWQgb2YgZnJvbSAwXG4iCisjfiAiIC11LCAtLXVuaXQgPGxldHRlcj4gICAgICAgdW5pdHMgdG8gYmUgdXNlZDsgPGxldHRlcj4gY2FuIGJlIG9uZSBvZlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUyAoc2VjdG9ycyksIEMgKGN5bGluZGVycyksIEIgKGJsb2NrcyksIG9yIE0gKE1CKVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgbXVlc3RyYSBsYSBsaXN0YSBkZSBwYXJ0aWNpb25lcyBkZSBjYWRhIGRpc3Bvc2l0aXZvXG4iCisjfiAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICAgaWRlbSwgcGVybyBlbiBmb3JtYXRvIGFkZWN1YWRvIHBhcmEgc2VyIHV0aWxpemFkbyBtw6FzIGFkZWxhbnRlIGNvbW8gZW50cmFkYVxuIgorI34gIiAtaSwgLS1pbmNyZW1lbnQgICAgICAgICAgIG7Dum1lcm8gZGUgY2lsaW5kcm9zLCBldGMuLCBkZXNkZSAxIGVuIGx1Z2FyIGRlIGRlc2RlIDBcbiIKKyN+ICIgLXUsIC0tdW5pdCA8bGV0dGVyPiAgICAgICB1bmlkYWRlcyBxdWUgc2UgdmFuIGEgdXRpbGl6YXI7IDxsZXRyYT4gcHVlZGUgc2VyXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTIChzZWN0b3JlcyksIEMgKGNpbGluZHJvcyksIEIgKGJsb3F1ZXMpLCBvIE0gKE1CKVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtMSwgLS1vbmUtb25seSAgICAgICAgICAgIHJlc2VydmVkIG9wdGlvbiB0aGF0IGRvZXMgbm90aGluZyBjdXJyZW50bHlcbiIKKyN+ICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICBsaXN0IHRoZSBrbm93biBwYXJ0aXRpb24gdHlwZXNcbiIKKyN+ICIgLUQsIC0tRE9TICAgICAgICAgICAgICAgICBmb3IgRE9TLWNvbXBhdGliaWxpdHk6IHdhc3RlIGEgbGl0dGxlIHNwYWNlXG4iCisjfiAiIC1FLCAtLURPUy1leHRlbmRlZCAgICAgICAgRE9TIGV4dGVuZGVkIHBhcnRpdGlvbiBjb21wYXRpYmlsaXR5XG4iCisjfiAiIC1SLCAtLXJlLXJlYWQgICAgICAgICAgICAgbWFrZSB0aGUga2VybmVsIHJlcmVhZCB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLTEsIC0tb25lLW9ubHkgICAgICAgICAgICBvcGNpw7NuIHJlc2VydmFkYSBxdWUgYWN0dWFsbWV0bmUgbm8gaGFjZSBuYWRhXG4iCisjfiAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgbXVlc3RyYSBsYSBsaXN0YSBkZSB0aXBvcyBkZSBwYXJ0aWNpb25lcyBjb25vY2lkb3NcbiIKKyN+ICIgLUQsIC0tRE9TICAgICAgICAgICAgICAgICBwYXJhIGNvbXBhdGliaWxpZGFkIGNvbiBET1M6IGdhc3RhIHVuYSBwZXF1ZcOxYSBjYW50aWRhZCBkZSBlc3BhY2lvXG4iCisjfiAiIC1FLCAtLURPUy1leHRlbmRlZCAgICAgICAgY29tcGF0aWJpbGlkYWQgY29uIHBhcnRpY2lvbmVzIGV4dGVuZGlkYXMgRE9TXG4iCisjfiAiIC1SLCAtLXJlLXJlYWQgICAgICAgICAgICAgcHJvdm9jYSBxdWUgZWwgbsO6Y2xlbyB2dWVsdmEgYSBsZWVyIGxhIHRhYmxhIGRlIHBhcnRpY2lvbmVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1OIDxudW1iZXI+ICAgICAgICAgICAgICAgY2hhbmdlIG9ubHkgdGhlIHBhcnRpdGlvbiB3aXRoIHRoaXMgPG51bWJlcj5cbiIKKyN+ICIgLW4gICAgICAgICAgICAgICAgICAgICAgICBkbyBub3QgYWN0dWFsbHkgd3JpdGUgdG8gZGlza1xuIgorI34gIiAtTyA8ZmlsZT4gICAgICAgICAgICAgICAgIHNhdmUgdGhlIHNlY3RvcnMgdGhhdCB3aWxsIGJlIG92ZXJ3cml0dGVuIHRvIDxmaWxlPlxuIgorI34gIiAtSSA8ZmlsZT4gICAgICAgICAgICAgICAgIHJlc3RvcmUgc2VjdG9ycyBmcm9tIDxmaWxlPlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1OIDxuw7ptZXJvPiAgICAgICAgICAgICAgIGNhbWJpYSBzb2xhbWVudGUgbGEgcGFydGljacOzbiBxdWUgdGllbmUgZXN0ZSA8bsO6bWVybz5cbiIKKyN+ICIgLW4gICAgICAgICAgICAgICAgICAgICAgICBubyBlc2NyaWJlIGVuIGVsIGRpc2NvIGRlIHZlcmRhZFxuIgorI34gIiAtTyA8ZmljaGVybz4gICAgICAgICAgICAgIGd1YXJkYSBsb3Mgc2VjdG9yZXMgcXVlIHNlIHZhbiBhIHNvYnJlZXNjcmliaXIgZW4gPGZpY2hlcm8+XG4iCisjfiAiIC1JIDxmaWNoZXJvPiAgICAgICAgICAgICAgcmVzdGF1cmEgbG9zIHNlY3RvcmVzIGRlc2RlIDxmaWNoZXJvPlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtViwgLS12ZXJpZnkgICAgICAgICAgICAgIGNoZWNrIHRoYXQgdGhlIGxpc3RlZCBwYXJ0aXRpb25zIGFyZSByZWFzb25hYmxlXG4iCisjfiAiIC12LCAtLXZlcnNpb24gICAgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1WLCAtLXZlcmlmeSAgICAgICAgICAgICAgY29tcHJ1ZWJhIHF1ZSBsYXMgcGFydGljaW9uZXMgZW51bWVyYWRhcyBzb24gcmF6b25hYmxlc1xuIgorI34gIiAtdiwgLS12ZXJzaW9uICAgICAgICAgICAgIG11ZXN0cmEgbGEgaW5mb3JtYWNpw7NuIGRlIHZlcnNpw7NuIHkgc2FsZVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIG11ZXN0cmEgZXN0ZSB0ZXh0byBkZSBheXVkYSB5IHNhbGVcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEYW5nZXJvdXMgb3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk9wY2lvbmVzIHBlbGlncm9zYXM6XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIKKyN+ICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgcGFydGl0aW9uIGlzIGluIHVzZVxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIHdhcm5pbmcgbWVzc2FnZXNcbiIKKyN+ICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkbyBub3QgY29tcGxhaW4gYWJvdXQgdGhpbmdzIGlycmVsZXZhbnQgZm9yIExpbnV4XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkZXNhY3RpdmEgbGFzIGNvbXByb2JhY2lvbmVzIGRlIGNvbnNpc3RlbmNpYVxuIgorI34gIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIG5vIGNvbXJwdWViYSBzaSBsYSBwYXJ0aWNpw7NuIGVzdMOhIGVuIHVzb1xuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHJpbWUgbG9zIG1lbnNhamVzIGRlIGF2aXNvXG4iCisjfiAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgbm8gc2UgcXVlamEgZGUgY29zYXMgaXJyZWxldmFudGVzIHBhcmEgTGludXhcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWcsIC0tc2hvdy1nZW9tZXRyeSAgICAgICBwcmludCB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgZ2VvbWV0cnlcbiIKKyN+ICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBwcmludCBnZW9tZXRyeSBndWVzc2VkIGZyb20gdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1nICAtLXNob3ctZ2VvbWV0cnkgICAgICAgaW1wcmltZSBsYSBpZGVhIGRlbCBuw7pjbGVvIHNvYnJlIGxhIGdlb21ldHLDrWFcbiIKKyN+ICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBpbXByaW1lIGxhIGdlb21ldHLDrWEgcXVlIGFwYXJlbnRlbWVudGUgc2UgaW5maWVyZSBkZSBsYSB0YWJsYSBkZSBwYXJ0aWNpb25lc1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAtQSwgLS1hY3RpdmF0ZVs9PGRldmljZT5dIGFjdGl2YXRlIHRoZSBib290YWJsZSBmbGFnXG4iCisjfiAiIC1VLCAtLXVuaGlkZVs9PGRldmljZT5dICAgc2V0IHBhcnRpdGlvbiBhcyB1bmhpZGRlblxuIgorI34gIiAteCwgLS1zaG93LWV4dGVuZGVkICAgICAgIGFsc28gbGlzdCBleHRlbmRlZCBwYXJ0aXRpb25zIGluIHRoZSBvdXRwdXQsXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBleHBlY3QgZGVzY3JpcHRvcnMgZm9yIHRoZW0gaW4gdGhlIGlucHV0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLUEsIC0tYWN0aXZhdGVbPTxkaXNwby4+XSBhY3RpdmEgZWwgaW5kaWNhZG9yIGRlIGFycmFuY2FibGVcbiIKKyN+ICIgLVUsIC0tdW5oaWRlWz08ZGlzcG8uPl0gICBjb25maWd1cmEgbGEgcGFydGljacOzbiBjb21vIG9jdWx0YVxuIgorI34gIiAteCwgLS1zaG93LWV4dGVuZGVkICAgICAgIG11ZXN0cmEgdGFtYmnDqW4gbGEgbGlzdGEgZGUgcGFydGljaW9uZXMgZXh0ZW5kaWRhcyBlbiBsYSBzYWxpZGEsXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvIGVzcGVyYSBzdXMgZGVzY3JpcHRvcmVzIHJlc3BlY3Rpdm9zIGVuIGxhIGVudHJhZGFcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tbGVhdmUtbGFzdCAgICAgICAgICBkbyBub3QgYWxsb2NhdGUgdGhlIGxhc3QgY3lsaW5kZXJcbiIKKyN+ICIgICAgIC0tSUJNICAgICAgICAgICAgICAgICBzYW1lIGFzIC0tbGVhdmUtbGFzdFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLWxlYXZlLWxhc3QgICAgICAgICAgbm8gYXNpZ25hIGVsIMO6bHRpbW8gY2lsaW5kcm9cbiIKKyN+ICIgICAgIC0tSUJNICAgICAgICAgICAgICAgICBsbyBtaXNtbyBxdWUgLS1sZWF2ZS1sYXN0XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLWluLW9yZGVyICAgICAgICAgICAgcGFydGl0aW9ucyBhcmUgaW4gb3JkZXJcbiIKKyN+ICIgICAgIC0tbm90LWluLW9yZGVyICAgICAgICBwYXJ0aXRpb25zIGFyZSBub3QgaW4gb3JkZXJcbiIKKyN+ICIgICAgIC0taW5zaWRlLW91dGVyICAgICAgICBhbGwgbG9naWNhbHMgaW5zaWRlIG91dGVybW9zdCBleHRlbmRlZFxuIgorI34gIiAgICAgLS1ub3QtaW5zaWRlLW91dGVyICAgIG5vdCBhbGwgbG9naWNhbHMgaW5zaWRlIG91dGVybW9zdCBleHRlbmRlZFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLWluLW9yZGVyICAgICAgICAgICAgbGFzIHBhcnRpY2lvbmVzIGVzdMOhbiBlbiBvcmRlblxuIgorI34gIiAgICAgLS1ub3QtaW4tb3JkZXIgICAgICAgIGxhcyBwYXJ0aWNpb25lcyBubyBlc3TDoW4gZW4gb3JkZW5cbiIKKyN+ICIgICAgIC0taW5zaWRlLW91dGVyICAgICAgICB0b2RvcyBsb3MgbMOzZ2ljb3MgZGVudHJvIGRlbCBleHRlbmRpZG8gbcOhcyBleHRlcmlvclxuIgorI34gIiAgICAgLS1ub3QtaW5zaWRlLW91dGVyICAgIG5vIHRvZG9zIGxvcyBsw7NnaWNvcyBkZW50cm8gZGVsIGV4dGVuZGlkbyBtw6FzIGV4dGVyaW9yXG4iCisKKyMgVE9ETyBBU0sgLS1uZXN0ZWQgeSAtLW9uZXNlY3RvciBwYXJlY2VuIGRlZmluaWRhcyBkZWwgbWlzbW8gbW9kby4KKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLW5lc3RlZCAgICAgICAgICAgICAgZXZlcnkgcGFydGl0aW9uIGlzIGRpc2pvaW50IGZyb20gYWxsIG90aGVyc1xuIgorI34gIiAgICAgLS1jaGFpbmVkICAgICAgICAgICAgIGxpa2UgbmVzdGVkLCBidXQgZXh0ZW5kZWQgcGFydGl0aW9ucyBtYXkgbGllIG91dHNpZGVcbiIKKyN+ICIgICAgIC0tb25lc2VjdG9yICAgICAgICAgICBwYXJ0aXRpb25zIGFyZSBtdXR1YWxseSBkaXNqb2ludFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLW5lc3RlZCAgICAgICAgICAgICAgbGFzIHBhcnRpY2lvbmVzIHNvbiBkaXNqdW50YXMgZG9zIGEgZG9zXG4iCisjfiAiICAgICAtLWNoYWluZWQgICAgICAgICAgICAgY29tbyAtLW5lc3RlZCwgc2Fsdm8gcXVlIGxhcyBwYXJ0aWNpb25lcyBleHRlbmRpZGFzIHB1ZWRlbiBzYWxpcnNlIGZ1ZXJhXG4iCisjfiAiICAgICAtLW9uZXNlY3RvciAgICAgICAgICAgbGFzIHBhcnRpY2lvbmVzIHNvbiBtdXR1YW1lbnRlIGRpc2p1bnRhc1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk92ZXJyaWRlIHRoZSBkZXRlY3RlZCBnZW9tZXRyeSB1c2luZzpcbiIKKyN+ICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICBzZXQgdGhlIG51bWJlciBvZiBjeWxpbmRlcnMgdG8gdXNlXG4iCisjfiAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgc2V0IHRoZSBudW1iZXIgb2YgaGVhZHMgdG8gdXNlXG4iCisjfiAiIC1TLCAtLXNlY3RvcnMgPG51bWJlcj4gICAgc2V0IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyB0byB1c2VcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIklnbm9yYSBsYSBnZW9tZXRyw61hIGRldGVjdGFkYSwgdXRpbGl6YW5kbyBlbiBjYW1iaW86XG4iCisjfiAiIC1DLCAtLWN5bGluZGVycyA8bsO6bWVybz4gIGVzdGFibGVjZSBlbCBuw7ptZXJvIGRlIGNpbGluZHJvcyBxdWUgc2UgdmFuIGEgdXRpbGl6YXJcbiIKKyN+ICIgLUgsIC0taGVhZHMgPG7Dum1lcm8+ICAgICAgZXN0YWJsZWNlIGVsIG7Dum1lcm8gZGUgY2FiZXphcyBxdWUgc2UgdmFuIGEgdXRpbGl6YXJcbiIKKyN+ICIgLVMsIC0tc2VjdG9ycyA8bsO6bWVybz4gICAgZXN0YWJsZWNlIGVsIG7Dum1lcm8gZGUgc2VjdG9yZXMgcXVlIHNlIHZhbiBhIHV0aWxpemFyXG4iCisKKyN+IG1zZ2lkICIgJXMlc2RldmljZSAgICAgICAgICAgIGxpc3QgYWN0aXZlIHBhcnRpdGlvbnMgb24gZGV2aWNlXG4iCisjfiBtc2dzdHIgIiAlcyAlc2Rpc3Bvc2l0aXZvICAgICBlbnVtZXJhIGxhcyBwYXJ0aWNpb25lcyBhY3RpdmFzIGRlbCBkaXNwb3NpdGl2b1xuIgorCisjfiBtc2dpZCAiICVzJXNkZXZpY2UgbjEgbjIgLi4uICBhY3RpdmF0ZSBwYXJ0aXRpb25zIG4xIC4uLiwgaW5hY3RpdmF0ZSB0aGUgcmVzdFxuIgorI34gbXNnc3RyICIgJXMlc2Rpc3Bvc2l0aXZvIG4xIG4yIC4uLiBhY3RpdmEgbGFzIHBhcnRpY2lvbmVzIG4xIC4uLiwgZGVzYWN0aXZhIGVsIHJlc3RvXG4iCisKKyN+IG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiBwYXJ0aXRpb25zIGFyZ3VtZW50IgorI34gbXNnc3RyICJuw7ptZXJvIG5vIHbDoWxpZG8gZGUgcGFydGljaW9uZXMiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlc1xuIgorI34gbXNnc3RyICJObyBzZSBwdWVkZSBhYnJpciAlc1xuIgorCisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLXByaW50LWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyIgorI34gbXNnc3RyICJ1c286IHNmZGlzayAtLXByaW50LWlkIGRpc3Bvc2l0aXZvIG7Dum1lcm8tcGFydGljacOzbiIKKworI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1jaGFuZ2UtaWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIgSWQiCisjfiBtc2dzdHIgInVzbzogc2ZkaXNrIC0tY2hhbmdlLWlkIGRpc3Bvc2l0aXZvIG7Dum1lcm8tcGFydGljacOzbiBJZCIKKworI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciBbSWRdIgorI34gbXNnc3RyICJ1c286IHNmZGlzayAtLWlkIGRpc3Bvc2l0aXZvIG7Dum1lcm8tcGFydGljacOzbiBbSWRdIgorCisjfiBtc2dpZCAiY2FuIHNwZWNpZnkgb25seSBvbmUgZGV2aWNlIChleGNlcHQgd2l0aCAtbCBvciAtcykiCisjfiBtc2dzdHIgInB1ZWRlIGVzcGVjaWZpY2FyIHPDs2xvIHVuIGRpc3Bvc2l0aXZvIChzYWx2byBjb24gLWwgbyAtcykiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyByZWFkLXdyaXRlIgorI34gbXNnc3RyICJObyBzZSBwdWVkZSBhYnJpciAlcyBwYXJhIGxlY3R1cmEtZXNjcml0dXJhIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgZm9yIHJlYWRpbmciCisjfiBtc2dzdHIgIk5vIHNlIHB1ZWRlIGFicmlyICVzIHBhcmEgbGVjdHVyYSIKKworI34gbXNnaWQgIiVzOiBPSyIKKyN+IG1zZ3N0ciAiJXM6IENvcnJlY3RvIgorCisjfiBtc2dpZCAiJXM6ICVsZCBjeWxpbmRlcnMsICVsZCBoZWFkcywgJWxkIHNlY3RvcnMvdHJhY2tcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCBjaWxpbmRyb3MsICVsZCBjYWJlemFzLCAlbGQgc2VjdG9yZXMgcG9yIHBpc3RhXG4iCisKKyN+IG1zZ2lkICJiYWQgYWN0aXZlIGJ5dGU6IDB4JXggaW5zdGVhZCBvZiAweDgwIgorI34gbXNnc3RyICJieXRlIGFjdGl2byBpbmNvcnJlY3RvOiAweCV4IGVuIGx1Z2FyIGRlIDB4ODAiCisKKyN+IG1zZ2lkICJEb25lIgorI34gbXNnc3RyICJGaW4iCisKKyN+IG1zZ2lkICIiCisjfiAiWW91IGhhdmUgJWQgYWN0aXZlIHByaW1hcnkgcGFydGl0aW9ucy4gVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sXG4iCisjfiAiYnV0IHRoZSBET1MgTUJSIHdpbGwgb25seSBib290IGEgZGlzayB3aXRoIDEgYWN0aXZlIHBhcnRpdGlvbi4iCisjfiBtc2dzdHIgIiIKKyN+ICJUaWVuZSAlZCBwYXJ0aWNpb25lcyBwcmltYXJpYXMgYWN0aXZhcy4gTm8gdGllbmUgaW1wb3J0YW5jaWEgcGFyYSBMSUxPLFxuIgorI34gInBlcm8gZWwgTUJSIGRlIERPUyBzw7NsbyBwdWVkZSBpbmljaWFyIGRpc2NvcyBjb24gdW5hIHBhcnRpY2nDs24gYWN0aXZhLiIKKworI34gbXNnaWQgInBhcnRpdGlvbiAlcyBoYXMgaWQgJXggYW5kIGlzIG5vdCBoaWRkZW4iCisjfiBtc2dzdHIgImxhIHBhcnRpY2nDs24gJXMgdGllbmUgZWwgaWRlbnRpZmljYWRvciAleCB5IG5vIGVzdMOhIG9jdWx0YSIKKworI34gbXNnaWQgIkJhZCBJZCAlbHgiCisjfiBtc2dzdHIgIklkZW50aWZpY2Fkb3IgJWx4IGluY29ycmVjdG8iCisKKyN+IG1zZ2lkICJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZS4iCisjfiBtc2dzdHIgIkFjdHVhbG1lbnRlIGVzdGUgZGlzY28gZXN0w6EgZW4gdXNvLiIKKworI34gbXNnaWQgIkZhdGFsIGVycm9yOiBjYW5ub3QgZmluZCAlcyIKKyN+IG1zZ3N0ciAiRXJyb3IgbXV5IGdyYXZlOiBubyBzZSBwdWVkZSBlbmNvbnRyYXIgJXMiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIkF0ZW5jacOzbjogJXMgbm8gZXMgdW4gZGlzcG9zaXRpdm8gZGUgYmxvcXVlcyIKKworI34gbXNnaWQgIk9LIgorI34gbXNnc3RyICJDb3JyZWN0byIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBleGlzdCwgY2Fubm90IGNoYW5nZSBpdCIKKyN+IG1zZ3N0ciAiTGEgcGFydGljacOzbiAlZCBubyBleGlzdGU7IG5vIHNlIHB1ZWRlIGNhbWJpYXIiCisKKyN+IG1zZ2lkICIiCisjfiAiSSBkb24ndCBsaWtlIHRoZXNlIHBhcnRpdGlvbnMgLSBub3RoaW5nIGNoYW5nZWQuXG4iCisjfiAiKElmIHlvdSByZWFsbHkgd2FudCB0aGlzLCB1c2UgdGhlIC0tZm9yY2Ugb3B0aW9uLikiCisjfiBtc2dzdHIgIiIKKyN+ICJFbCBzaXN0ZW1hIG5vIGVuY3VlbnRyYSBhZGVjdWFkYXMgZXN0YXMgcGFydGljaW9uZXM7IG5vIHNlIGhhIGNhbWJpYWRvIG5hZGEuXG4iCisjfiAiKFNpIHJlYWxtZW50ZSBkZXNlYSByZWFsaXphciBlc3RhIG9wZXJhY2nDs24sIHVzZSBsYSBvcGNpw7NuIC0tZm9yY2UuKSIKKworI34gbXNnaWQgIkkgZG9uJ3QgbGlrZSB0aGlzIC0gcHJvYmFibHkgeW91IHNob3VsZCBhbnN3ZXIgTm8iCisjfiBtc2dzdHIgIkVsIHNpc3RlbWEgbm8gZW5jdWVudHJhIGFkZWN1YWRhIGVzdGEgb3BlcmFjacOzbjsgcHJvYmFibGVtZW50ZSBkZWJhIHJlc3BvbmRlciBObyIKKworI34gbXNnaWQgIkFyZSB5b3Ugc2F0aXNmaWVkIHdpdGggdGhpcz8gW3lucV0gIgorI34gbXNnc3RyICLCv0VzdMOhIHNhdGlzZmVjaG8gY29uIGVzdGEgb3BlcmFjacOzbj8gW3lucV0gIgorCisjfiBtc2dpZCAiUXVpdHRpbmcgLSBub3RoaW5nIGNoYW5nZWQiCisjfiBtc2dzdHIgIlNlIGVzdMOhIHNhbGllbmRvOyBubyBzZSBoYSBjYW1iaWFkbyBuYWRhIgorCisjfiBtc2dpZCAiUGxlYXNlIGFuc3dlciBvbmUgb2YgeSxuLHFcbiIKKyN+IG1zZ3N0ciAiUmVzcG9uZGEgY29uIHVuYSBkZSBsYXMgZW50cmFkYXMgc2lndWllbnRlczogeSxuLHFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJTdWNjZXNzZnVsbHkgd3JvdGUgdGhlIG5ldyBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkxhIG51ZXZhIHRhYmxhIGRlIHBhcnRpY2lvbmVzIHNlIGhhIGVzY3JpdG8gY29ycmVjdGFtZW50ZVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIklmIHlvdSBjcmVhdGVkIG9yIGNoYW5nZWQgYSBET1MgcGFydGl0aW9uLCAvZGV2L2ZvbzcsIHNheSwgdGhlbiB1c2UgZGQoMSlcbiIKKyN+ICJ0byB6ZXJvIHRoZSBmaXJzdCA1MTIgYnl0ZXM6ICBkZCBpZj0vZGV2L3plcm8gb2Y9L2Rldi9mb283IGJzPTUxMiBjb3VudD0xXG4iCisjfiAiKFNlZSBmZGlzayg4KS4pIgorI34gbXNnc3RyICIiCisjfiAiU2kgaGEgY3JlYWRvIG8gbW9kaWZpY2FkbyB1bmEgcGFydGljacOzbiBET1MsIGNvbW8gL2Rldi9mb283LCB1dGlsaWNlIGRkKDEpXG4iCisjfiAicGFyYSBwb25lciBhIGNlcm8gbG9zIDUxMiBwcmltZXJvcyBieXRlczogZGQgaWY9L2Rldi96ZXJvIG9mPS9kZXYvZm9vNyBicz01MTIgY291bnQ9MVxuIgorI34gIihWw6lhc2UgZmRpc2soOCkuKSIKKworI34gbXNnaWQgIklmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55IERPUyA2LnggcGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgZmRpc2sgZG9jdW1lbnRhdGlvbiBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi4iCisjfiBtc2dzdHIgIlNpIGhhIGNyZWFkbyBvIG1vZGlmaWNhZG8gYWxndW5hIHBhcnRpY2nDs24gRE9TIDYueCwgY29uc3VsdGUgbGEgZG9jdW1lbnRhY2nDs24gZGUgZmRpc2sgcGFyYSBvYnRlbmVyIG3DoXMgaW5mb3JtYWNpw7NuLiIKKworI34gbXNnaWQgImZpZWxkIGlzIHRvbyBsb25nIgorI34gbXNnc3RyICJjYW1wbyBkZW1hc2lhZG8gbGFyZ28iCisKKyN+IG1zZ2lkICIlczogJyVjJyBpcyBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJXM6ICclYycgbm8gZXN0w6EgcGVybWl0aWRvIgorCisjfiBtc2dpZCAiJyVjJyBpcyBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJyVjJyBubyBlc3TDoSBwZXJtaXRpZG8iCisKKyN+IG1zZ2lkICIlczogY29udHJvbCBjaGFyYWN0ZXJzIGFyZSBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJXM6IGxvcyBjYXJhY3RlcmVzIGRlIGNvbnRyb2wgbm8gZXN0w6FuIHBlcm1pdGlkb3MiCisKKyN+IG1zZ2lkICJjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICJsb3MgY2FyYWN0ZXJlcyBkZSBjb250cm9sIG5vIGVzdMOhbiBwZXJtaXRpZG9zIgorCisjfiBtc2dpZCAiIC1tLCAtLXN1cHAtZ3JvdXBzICAgICAgICBkaXNwbGF5IHN1cHBsZW1lbnRhcnkgZ3JvdXBzIGFzIHdlbGxcbiIKKyN+IG1zZ3N0ciAiIC1tLCAtLXN1cHAtZ3JvdXBzICAgICAgICBtdWVzdHJhIHRhbWJpw6luIGxvcyBncnVwb3Mgc3VwbGVtZW50YXJpb3NcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBkZXRhaWxzIHNlZSBsc2xvZ2lucygxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBhcmEgbcOhcyBpbmZvcm1hY2nDs24sIHbDqWFzZSBsc2xvZ2lucygxKS5cbiIKKworI34gbXNnaWQgImNyeXB0KCkgZmFpbGVkIgorI34gbXNnc3RyICJjcnlwdCgpIGhhIGZhbGxhZG8iCisKKyN+IG1zZ2lkICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUaGlzIHNtYWxsIHVzYWdlIGd1aWRlXG4iCisjfiBtc2dzdHIgIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEVzdGEgcGVxdWXDsWEgZ3XDrWEgZGUgdXNvXG4iCisKKyN+IG1zZ2lkICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBPdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvblxuIgorI34gbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNdWVzdHJhIGluZm9ybWFjacOzbiBkZSB2ZXJzacOzblxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgIHVzZSBhbHRlcm5hdGl2ZSBkaWN0aW9uYXJ5XG4iCisjfiAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgY29tcGFyZSBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzXG4iCisjfiAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIKKyN+ICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiBkZWZpbmUgc3RyaW5nIHRlcm1pbmF0aW9uIGNoYXJhY3RlclxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgIHV0aWxpemEgZGljY2lvbmFyaW8gYWx0ZXJuYXRpdm9cbiIKKyN+ICIgLWQsIC0tYWxwaGFudW0gICAgICAgICBjb21wYXJhIHNvbG8gY2FyYWN0ZXJlcyBhbGZhbnVtw6lyaWNvc1xuIgorI34gIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgIGlnbm9yYSBsYXMgZGlmZXJlbmNpYXMgZW50cmUgbWF5w7pzY3VsYXMgeSBtaW7DunNjdWxhcyBhbCBjb21wYXJhclxuIgorI34gIiAtdCwgLS10ZXJtaW5hdGUgPGNhci4+IGRlZmluZSBlbCBjYXLDoWN0ZXIgZGUgZmluYWwgZGUgY2FkZW5hXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgc2FjYSBpbmZvcm1hY2nDs24gZGUgdmVyc2nDs24geSBzYWxlXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgbXVlc3RyYSBlc3RhIGF5dWRhIHkgc2FsZVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBuYW1laSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBhcmEgbcOhcyBpbmZvcm1hY2nDs24gdsOpYXNlIG5hbWVpKDIpLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB3aXBlZnMoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQYXJhIG3DoXMgaW5mb3JtYWNpw7NuLCB2w6lhc2Ugd2lwZWZzKDgpLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB0YXNrc2V0KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGFyYSBtw6FzIGluZm9ybWFjacOzbiwgdsOpYXNlIHRhc2tzZXQoMSkuXG4iCisKKyN+IG1zZ2lkICIlczogaXMgcmVtb3ZhYmxlIGRldmljZSIKKyN+IG1zZ3N0ciAiJXM6IGVzIHVuIGRpc3Bvc2l0aXZvIGRlc21vbnRhYmxlIgorCisjfiBtc2dpZCAiJXM6IGNvbm5lY3RlZCBieSBob3RwbHVnIHN1YnN5c3RlbTogJXMiCisjfiBtc2dzdHIgIiVzOiBjb25lY3RhZG8gcG9yIGVsIHN1YnNpc3RlbWEgZGUgwqtob3RwbHVnwrs6ICVzIgorCisjfiBtc2dpZCAidGltZW91dCBjYW5ub3QgYmUgemVybyIKKyN+IG1zZ3N0ciAiZWwgdGllbXBvIGRlIHZlbmNpbWllbnRvIG5vIHB1ZWRlIGVzciBjZXJvIgorCisjfiBtc2dpZCAiTmVlZCB0byBpbnNlcnQgJWQgc2Vjb25kIGFuZCByZWZlciB0aW1lIGJhY2sgJS42ZiBzZWNvbmRzIGFnb1xuIgorI34gbXNnaWRfcGx1cmFsICJOZWVkIHRvIGluc2VydCAlZCBzZWNvbmRzIGFuZCByZWZlciB0aW1lIGJhY2sgJS42ZiBzZWNvbmRzIGFnb1xuIgorI34gbXNnc3RyWzBdICJFcyBwcmVjaXNvIGluc2VydGFyICVkIHNlZ3VuZG8geSBlc3RhYmxlY2VyIGNvbW8gcmVmZXJlbmNpYSBsYSBob3JhICUuNmYgc2VndW5kb3MgaGFjaWEgYXRyw6FzXG4iCisjfiBtc2dzdHJbMV0gIkVzIHByZWNpc28gaW5zZXJ0YXIgJWQgc2VndW5kb3MgeSBlc3RhYmxlY2VyIGNvbW8gcmVmZXJlbmNpYSBsYSBob3JhICUuNmYgc2VndW5kb3MgaGFjaWEgYXRyw6FzXG4iCisKKyN+IG1zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSBLREdIV0NMSyB0byBjaGFuZ2VcbiIKKyN+IG1zZ3N0ciAiRXNwZXJhbmRvIGVuIGJ1Y2xlIHF1ZSBjYW1iaWUgbGEgaG9yYSBkZSBLREdIV0NMS1xuIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgdG8gcmVhZCB0aW1lIGZhaWxlZCIKKyN+IG1zZ3N0ciAiRXJyb3IgZGUgaW9jdGwgS0RHSFdDTEsgYWwgbGVlciBsYSBob3JhIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgdG8gcmVhZCB0aW1lIGZhaWxlZCBpbiBsb29wIgorI34gbXNnc3RyICJFcnJvciBlbiBidWNsZSBkZSBpb2N0bCBLREdIV0NMSyBhbCBsZWVyIGxhIGhvcmEiCisKKyN+IG1zZ2lkICJpb2N0bCgpIGZhaWxlZCB0byByZWFkIHRpbWUgZnJvbSAlcyIKKyN+IG1zZ3N0ciAiaW9jdGwoKSBubyBoYSBwb2RpZG8gbGVlciBsYSBob3JhIGRlICVzIgorCisjfiBtc2dpZCAiaW9jdGwgS0RTSFdDTEsgZmFpbGVkIgorI34gbXNnc3RyICJFcnJvciBkZSBpb2N0bCBLREdIV0NMSyIKKworI34gbXNnaWQgIlVzaW5nIHRoZSBLREdIV0NMSyBpbnRlcmZhY2UgdG8gbTY4ayBjbG9jay4iCisjfiBtc2dzdHIgIlNlIHV0aWxpemEgbGEgaW50ZXJmYXogS0RHSFdDTEsgYWwgcmVsb2ogbTY4ayIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gL2Rldi90dHkxIG9yIC9kZXYvdmMvMSIKKyN+IG1zZ3N0ciAiTm8gc2UgcHVlZGUgYWJyaXIgL2Rldi90dHkxIG8gL2Rldi92Yy8xIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgZmFpbGVkIgorI34gbXNnc3RyICJFcnJvciBkZSBpb2N0bCBLREdIV0NMSyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBkZXRhaWxzIHNlZSBsc2NwdSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBhcmEgbcOhcyBkZXRhbGxlcywgdsOpYXNlIGxzY3B1KDEpLlxuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3MuLi5dXG4iCisjfiBtc2dzdHIgIiAlcyBbb3BjaW9uZXNdIDxwcm9ncmFtYT4gW2FyZ3MuLi5dXG4iCisKKyMgVE9ETyByZXZpZXcgbmljZQorI34gbXNnaWQgIiIKKyN+ICIgLWcsIC0tcGdycCA8aWQ+ICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBncm91cCBJRFxuIgorI34gIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIHNwZWNpZnkgdGhlIG5pY2UgaW5jcmVtZW50IHZhbHVlXG4iCisjfiAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgSUQgKGRlZmF1bHQpXG4iCisjfiAiIC11LCAtLXVzZXIgPG5hbWV8aWQ+ICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHVzZXJuYW1lIG9yIHVzZXIgSURcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0YSBlbCBhcmd1bWVudG8gY29tbyBlbCBJRCBkZSBncnVwbyBkZSB1biBwcm9jZXNvXG4iCisjfiAiIC1uLCAtLXByaW9yaXR5IDxudW0+ICAgZXNwZWNpZmljYSBlbCB2YWxvciBkZSBpbmNyZW1lbnRvIGRlc2VhYmxlXG4iCisjfiAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAgaW50ZXJwcmV0YSBlbCBhcmd1bWVudG8gY29tbyBlbCBkZSB1biBwcm9jZXNvIChvcGNpw7NuIHByZWRlZmluaWRhKVxuIgorI34gIiAtdSwgLS11c2VyIDxub21icmV8aWQ+IGludGVycHJldGEgZWwgYXJndW1lbnRvIGNvbW8gbm9tYnJlIG8gSUQgZGUgdXN1YXJpb1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIG11ZXN0cmEgZWwgdGV4dG8gZGUgYXl1ZGEgeSB0ZXJtaW5hXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgbXVlc3RyYSBsYSBpbmZvcm1hY2nDs24gc29icmUgbGEgdmVyc2nDs24geSB0ZXJtaW5hXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHJlbmljZSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBhcmEgbcOhcyBpbmZvcm1hY2nDs24gdsOpYXNlIHJlbmljZSgxKS5cbiIKKworI34gbXNnaWQgIiAlcyVzIFtvcHRpb25zXSBbcHJvZ3JhbSBbcHJvZ3JhbSBhcmd1bWVudHNdXVxuIgorI34gbXNnc3RyICIgJXMlcyBbb3BjaW9uZXNdIFtwcm9ncmFtYSBbcHJvZ3JhbWEgYXJndW1lbnRvc11dXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1WLCAtLXZlcnNpb24gICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1WLCAtLXZlcnNpb24gICAgc2FjYSBsYSBpbmZvcm1hY2nDs24gc29icmUgbGEgdmVyc2nDs24geSB0ZXJtaW5hXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgbXVlc3RyYSBlc3RhIGF5dWRhIHkgdGVybWluYVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTW9kbyBkZSBlbXBsZW86XG4iCisjfiAiICVzIFtvcGNpb25lc10gW2ZpY2hlcm8gLi4uXVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtLCAgLS1uby11bmRlcmxpbmluZyAgc3VwcHJlc3MgYWxsIHVuZGVybGluaW5nXG4iCisjfiAiIC0yLCAtLWhhbGYtbGluZXMgICAgICBwcmludCBhbGwgaGFsZi1saW5lc1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgIHN1cHJpbWUgdG9kb3MgbG9zIHN1YnJheWFkb3NcbiIKKyN+ICIgLTIsIC0taGFsZi1saW5lcyAgICAgIGltcHJpbWUgdG9kYXMgbGFzIG1lZGlhcyBsw61uZWFzXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICBzYWNhIGxhIGluZm9ybWFjacOzbiBzb2JyZSBsYSB2ZXJzacOzbiB5IHRlcm1pbmFcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgIG11ZXN0cmEgZXN0YSBheXVkYSB5IHRlcm1pbmFcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJPcGNpb25lczpcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgIHNhY2EgbGEgaW5mb3JtYWNpw7NuIHNvYnJlIGxhIHZlcnNpw7NuIHkgdGVybWluYVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgbXVlc3RyYSBlc3RhIGF5dWRhIHkgdGVybWluYVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiY2FsbGluZyBoZXhkdW1wIGFzIG9kIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgR05VIGNvcmV1dGlscyBvZCIKKyN+IG1zZ3N0ciAibGxhbWFyIGEgaGV4ZHVtcCBjb21vIGEgb2QgZXN0w6Egb2Jzb2xldG8gZW4gZmF2b3IgZGVsIG9kIGRlIEdOVSBjb3JldXRpbHMiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiT3BjaW9uZXM6XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICBzYWNhIGxhIGluZm9ybWFjacOzbiBzb2JyZSBsYSB2ZXJzacOzbiB5IHRlcm1pbmFcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgIG11ZXN0cmEgZXN0YSBheXVkYSB5IHRlcm1pbmFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcmV2KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGFyYSBtw6FzIGluZm9ybWFjacOzbiB2w6lhc2UgcmV2KDEpLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uXSBmaWxlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJNb2RvIGRlIGVtcGxlbzpcbiIKKyN+ICIgJXMgW29wY2lvbmVzXSBmaWNoZXJvXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLW4sIC0tbGluZXMgTlVNQkVSICBvdXRwdXQgdGhlIGxhc3QgTlVNQkVSIGxpbmVzXG4iCisjfiAiIC1OVU1CRVIgICAgICAgICAgICAgc2FtZSBhcyBgLW4gTlVNQkVSJ1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk9wY2lvbmVzOlxuIgorI34gIiAtbiwgLS1saW5lcyBOw5pNRVJPICBzYWNhIGxhcyDDumx0aW1hcyBOw5pNRVJPIGzDrW5lYXNcbiIKKyN+ICIgLU7Dmk1FUk8gICAgICAgICAgICAgaWd1YWwgcXVlIGAtbiBOw5pNRVJPJ1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgc2FjYSBsYSBpbmZvcm1hY2nDs24gc29icmUgbGEgdmVyc2nDs24geSB0ZXJtaW5hXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICBtdWVzdHJhIGVzdGEgYXl1ZGEgeSB0ZXJtaW5hXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJUeXBlIG9mIHRoZSBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCisjfiBtc2dzdHIgIkVsIHRpcG8gZGUgbGEgcGFydGljacOzbiAlenUgcGVybWFuZWNlIHNpbiBjYW1iaW9zLiIKKworI358IG1zZ2lkICIlczogY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXM7IHVzZSB5cCVzIGluc3RlYWQuXG4iCisjfiBtc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMuIgorI34gbXNnc3RyICIlczogc8OzbG8gc2UgcHVlZGVuIG1vZGlmaWNhciBlbnRyYWRhcyBsb2NhbGVzOyB1dGlsaWNlIHlwJXMgZW4gc3UgbHVnYXIuXG4iCisKKyN+IG1zZ2lkICJDT01NQU5EIG5vdCBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJObyBzZSBoYSBlc3BlY2lmaWNhZG8gbGEgb3BjacOzbiAtLWRhdGUuXG4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIHBhdGhuYW1lIFtwYXRobmFtZSAuLi5dXG4iCisjfiBtc2dzdHIgInVzbzogbmFtZWkgWy1teF0gbm9tYnJlcnV0YSBbbm9tYnJlcnV0YSAuLi5dXG4iCisKKyN+IG1zZ2lkICJubyBmaWxlbmFtZSBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJObyBzZSBoYSBlc3BlY2lmaWNhZG8gbGEgb3BjacOzbiAtLWRhdGUuXG4iCisKKyN+IG1zZ2lkICIuLi5iYWNrIDEgcGFnZSIKKyN+IG1zZ3N0ciAiLi4ucmV0cm9jZWRlciAxIHDDoWdpbmEiCisKKyN+IG1zZ2lkICIuLi5za2lwcGluZyBvbmUgbGluZSIKKyN+IG1zZ3N0ciAiLi4ub21pdGllbmRvIHVuYSBsw61uZWEiCmRpZmYgLS1naXQgYS9wby9ldC5wbyBiL3BvL2V0LnBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjMGVjNzYKLS0tIC9kZXYvbnVsbAorKysgYi9wby9ldC5wbwpAQCAtMCwwICsxLDIyNzc2IEBACisjIEVzdG9uaWFuIHRyYW5zbGF0aW9ucyBmb3IgdXRpbC1saW51eAorIyBDb3B5cmlnaHQgKEMpIDIwMDIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIENvcHlyaWdodCAoQykgMjAwMiBNZWVsaXMgUm9vcyA8bXJvb3NAbGludXguZWU+CisjIE1lZWxpcyBSb29zIDxtcm9vc0BsaW51eC5lZT4sIDIwMDIKKyMKKyMgUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGZyZWVseSBjb3B5IGFuZCBkaXN0cmlidXRlCisjIHRoaXMgZmlsZSBhbmQgbW9kaWZpZWQgdmVyc2lvbnMsIHByb3ZpZGVkIHRoYXQgdGhpcworIyBoZWFkZXIgaXMgbm90IHJlbW92ZWQgYW5kIG1vZGlmaWVkIHZlcnNpb25zIGFyZSBtYXJrZWQKKyMgYXMgc3VjaC4KKyMKK21zZ2lkICIiCittc2dzdHIgIiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IHV0aWwtbGludXggMi4xMXJcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogdXRpbC1saW51eEB2Z2VyLmtlcm5lbC5vcmdcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNy0wMi0yMiAxMjozMiswMTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAwMi0wNS0xOSAyMDowNEdNVCswMzAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBNZWVsaXMgUm9vcyA8bXJvb3NAbGludXguZWU+XG4iCisiTGFuZ3VhZ2UtVGVhbTogRXN0b25pYW4gPGV0QGxpLm9yZz5cbiIKKyJMYW5ndWFnZTogZXRcbiIKKyJNSU1FLVZlcnNpb246IDEuMFxuIgorIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0xNVxuIgorIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxzdGFydD4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxOAorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgZXhpc3RlbmNlIG9mIGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1NiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mjc2IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0MjAKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NDYgZGlzay11dGlscy9jZmRpc2suYzoyNjM0IGRpc2stdXRpbHMvZGVscGFydC5jOjU3CisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI3IGRpc2stdXRpbHMvZmRpc2suYzo3MTggZGlzay11dGlscy9mZGlzay5jOjk5NAorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzAxIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM0MQorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzYwIGRpc2stdXRpbHMvZnNjay5jOjE0NDgKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTUgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxMAorIzogZGlzay11dGlscy9pc29zaXplLmM6MTM0IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODkKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNzMgZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2MQorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4OCBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTkKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjE1IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ0IGRpc2stdXRpbHMvcGFydHguYzo5OTQKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwMSBkaXNrLXV0aWxzL3NmZGlzay5jOjY0NyBkaXNrLXV0aWxzL3NmZGlzay5jOjcwMworIzogZGlzay11dGlscy9zZmRpc2suYzo3NTcgZGlzay11dGlscy9zZmRpc2suYzo4MTYgZGlzay11dGlscy9zZmRpc2suYzo4ODAKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTIxIGRpc2stdXRpbHMvc2ZkaXNrLmM6OTUxIGRpc2stdXRpbHMvc2ZkaXNrLmM6OTg4CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MzcgZGlzay11dGlscy9zd2FwbGFiZWwuYzo2MCBsaWJmZGlzay9zcmMvYnNkLmM6NjQxCisjOiBsaWIvcGF0aC5jOjcwIGxpYi9wYXRoLmM6ODIgbG9naW4tdXRpbHMvaXNsb2NhbC5jOjg3IGxvZ2luLXV0aWxzL2xhc3QuYzo2NzIKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NDYgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ4MworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzYgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNTkKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzgxIGxvZ2luLXV0aWxzL3ZpcHcuYzoyNTggbG9naW4tdXRpbHMvdmlwdy5jOjI3NgorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5NyBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODggbWlzYy11dGlscy9tY29va2llLmM6MTE1CisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjA3IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTgzIHN5cy11dGlscy9kbWVzZy5jOjUyMgorIzogc3lzLXV0aWxzL2VqZWN0LmM6NTAwIHN5cy11dGlscy9lamVjdC5jOjcwMCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzc0CisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjggc3lzLXV0aWxzL2ZzdHJpbS5jOjcyIHN5cy11dGlscy9od2Nsb2NrLmM6MjgyCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjM4IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE2MgorIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjU2IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQwMQorIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDIyIHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ2OQorIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzg4IHN5cy11dGlscy9uc2VudGVyLmM6MTI4IHN5cy11dGlscy9ydGN3YWtlLmM6MTM2CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI3MCBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzMCBzeXMtdXRpbHMvc2V0cHJpdi5jOjUyOQorIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NTIgc3lzLXV0aWxzL3N3YXBvbi5jOjM3MSBzeXMtdXRpbHMvc3dhcG9uLmM6NTE0CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjMgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMDYgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjEKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMyMSBzeXMtdXRpbHMvd2RjdGwuYzozNzcgdGVybS11dGlscy9hZ2V0dHkuYzoyNjE4CisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMjcgdGVybS11dGlscy9zY3JpcHQuYzo0MjUgdGVybS11dGlscy9zY3JpcHQuYzo0MzEKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDMzIHRlcm0tdXRpbHMvc2NyaXB0LmM6NTIyCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE5NyB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIwMAorIzogdGVybS11dGlscy93YWxsLmM6MzMxIHRleHQtdXRpbHMvY29sY3J0LmM6MjgyIHRleHQtdXRpbHMvbW9yZS5jOjUxMworIzogdGV4dC11dGlscy9yZXYuYzoxNDEgdGV4dC11dGlscy90YWlsZi5jOjY4IHRleHQtdXRpbHMvdGFpbGYuYzoxMDAKKyM6IHRleHQtdXRpbHMvdWwuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXMiCittc2dzdHIgImVpIHN1dWRhIGF2YWRhIHNlYWRldCAlcyIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTkgZGlzay11dGlscy9kZWxwYXJ0LmM6NjAgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6OTgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwYXJ0aXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICJ2aWdhbmUgaWRlbnRpZmlrYWF0b3IiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc3RhcnQgYXJndW1lbnQiCittc2dzdHIgInZpZ2FuZSBpZGVudGlmaWthYXRvciIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjEgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbGVuZ3RoIGFyZ3VtZW50IgorbXNnc3RyICJ2aWdhbmUgaWRlbnRpZmlrYWF0b3IiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhZGQgcGFydGl0aW9uIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NjMKK21zZ2lkICJzZXQgcmVhZC1vbmx5IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3MAorbXNnaWQgInNldCByZWFkLXdyaXRlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3NgorbXNnaWQgImdldCByZWFkLW9ubHkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjgyCittc2dpZCAiZ2V0IGRpc2NhcmQgemVyb2VzIHN1cHBvcnQgc3RhdHVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4OAorbXNnaWQgImdldCBsb2dpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjk0Cittc2dpZCAiZ2V0IHBoeXNpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwMAorbXNnaWQgImdldCBtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDYKK21zZ2lkICJnZXQgb3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTEyCisjLCBmdXp6eQorbXNnaWQgImdldCBhbGlnbm1lbnQgb2Zmc2V0IGluIGJ5dGVzIgorbXNnc3RyICJ2aWdhbmUgaS1raXJqZSBzdXVydXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTgKKyMsIGZ1enp5Cittc2dpZCAiZ2V0IG1heCBzZWN0b3JzIHBlciByZXF1ZXN0IgorbXNnc3RyICJMaXNhc2VrdG9yZWlkIHNpbGluZHJpbCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEyNAorbXNnaWQgImdldCBibG9ja3NpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzMQorbXNnaWQgInNldCBibG9ja3NpemUgb24gZmlsZSBkZXNjcmlwdG9yIG9wZW5pbmcgdGhlIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTM3Cittc2dpZCAiZ2V0IDMyLWJpdCBzZWN0b3IgY291bnQgKGRlcHJlY2F0ZWQsIHVzZSAtLWdldHN6KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTQzCittc2dpZCAiZ2V0IHNpemUgaW4gYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1MAorbXNnaWQgInNldCByZWFkYWhlYWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1NgorbXNnaWQgImdldCByZWFkYWhlYWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2MworbXNnaWQgInNldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTY5Cittc2dpZCAiZ2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzMKK21zZ2lkICJmbHVzaCBidWZmZXJzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzcKK21zZ2lkICJyZXJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlMSRzIC1WXG4iCisiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisiXG4iCisiQXZhaWxhYmxlIGNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICUtMjVzIGdldCBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzExCisjLCBmdXp6eQorbXNnaWQgImNvdWxkIG5vdCBnZXQgZGV2aWNlIHNpemUiCittc2dzdHIgIkVpIHN1dWRhIGtpbmRsYWtzIHRlaGEga2V0dGEgbWFodHUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gY29tbWFuZDogJXMiCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgInb1dGkgYCVzJyB2YWphYiBhcmd1bWVudGlcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM2OCBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiS2lyanV0YW1pc2UgdmlnYSBzZWFkbWVsICVzXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZC5cbiIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgc3lzZnMgaGFuZGxlciIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHN0YXJ0IGZyb20gc3lzZnMiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk8gICAgUkEgICBTU1ogICBCU1ogICBTdGFydFNlYyAgICAgICAgICAgIFNpemUgICBEZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3OQorbXNnaWQgIkJvb3RhYmxlIgorbXNnc3RyICJCdXV0aXYiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTc5Cittc2dpZCAiVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJWYWhldGFkYSBidXVkaXRhdnVzZSBsaXBwdSBqb29rc3ZhbCBwYXJ0aXRzaW9vbmlsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MAorbXNnaWQgIkRlbGV0ZSIKK21zZ3N0ciAia3VzdHV0YURhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MAorbXNnaWQgIkRlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIkt1c3R1dGFkYSBqb29rc2V2IHBhcnRpdHNpb29uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MQorbXNnaWQgIk5ldyIKK21zZ3N0ciAidXVzIChOKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODEKK21zZ2lkICJDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIkx1dWEgdXVzIHBhcnRpdHNpb29uIHZhYmEgcnV1bWkgc2lzc2UiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgyCittc2dpZCAiUXVpdCIKK21zZ3N0ciAiVuRsamEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgyCisjLCBmdXp6eQorbXNnaWQgIlF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgY2hhbmdlcyIKK21zZ3N0ciAiVuRsanVkYSBwcm9ncmFtbWlzdCBpbGFtIG11dXR1c2kgc2FsdmVzdGFtYXRhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MyBsaWJmZGlzay9zcmMvYnNkLmM6NDM5IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIwCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNiBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MAorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMTYKK21zZ2lkICJUeXBlIgorbXNnc3RyICJU/PxwIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MworIywgZnV6enkKK21zZ2lkICJDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgICB0ICAgbXV1dGEgcGFydGl0c2lvb25pIHT8/HBpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NAorbXNnaWQgIkhlbHAiCittc2dzdHIgIkhlbHAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0Cittc2dpZCAiUHJpbnQgaGVscCBzY3JlZW4iCittc2dzdHIgIk7kaWRhdGEgYWJpaW5mb3QiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1Cittc2dpZCAiU29ydCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NQorIywgZnV6enkKK21zZ2lkICJGaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAiICAgZiAgIHBhcmFuZGFkYSBwYXJ0aXRzaW9vbmlkZSBq5HJqZWtvcmQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiV3JpdGUiCittc2dzdHIgInNhbHZlc3RhIChXKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAodGhpcyBtaWdodCBkZXN0cm95IGRhdGEpIgorbXNnc3RyICJLaXJqdXRhZGEgcGFydGl0c2lvb25pdGFiZWwga2V0dGFsZSAodvVpYiBo5HZpdGFkYSBhbmRtZWQpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworbXNnaWQgIkR1bXAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiRHVtcCBwYXJ0aXRpb24gdGFibGUgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIlbkbGphc3RhZGEgcGFydGl0c2lvb25pdGFiZWwgZWtyYWFuaWxlIHb1aSBmYWlsaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzo2MjAgZGlzay11dGlscy9mZGlzay5jOjQxNQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlhbG9nIHR5cGUgJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAobW91bnRlZCkiCittc2dzdHIgIiVzOiBzaXNlbmRpIPxsZXTkaXR1bWluZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjc0CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBuYW1lOiIKK21zZ3N0ciAiUGFydGl0c2lvb25pIG51bWJlciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjgxCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBVVUlEOiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpdHNpb29uaTpcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjkzCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0eXBlOiIKK21zZ3N0ciAiUGFydGl0c2lvb25pIG51bWJlciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzAwCittc2dpZCAiQXR0cmlidXRlczoiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzI0CisjLCBmdXp6eQorbXNnaWQgIkZpbGVzeXN0ZW0gVVVJRDoiCittc2dzdHIgIlNpc2VzdGFnZSBmYWlsaXP8c3RlZW1pIHT8/GJpIG51bWJlcjogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMzEKKyMsIGZ1enp5Cittc2dpZCAiRmlsZXN5c3RlbSBMQUJFTDoiCittc2dzdHIgIlNpc2VzdGFnZSBmYWlsaXP8c3RlZW1pIHT8/GJpIG51bWJlcjogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMzcKKyMsIGZ1enp5Cittc2dpZCAiRmlsZXN5c3RlbToiCittc2dzdHIgIlNpc2VzdGFnZSBmYWlsaXP8c3RlZW1pIHT8/GJpIG51bWJlcjogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNDIKKyMsIGZ1enp5Cittc2dpZCAiTW91bnRwb2ludDoiCittc2dzdHIgIiVzIG9uIG1vbnRlZXJpdHVkLiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzazogJXMiCittc2dzdHIgImtldGFzOiAlLipzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2l6ZTogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIiIKKyJcbiIKKyJLZXRhcyAlczogJWx1IHNpbGluZHJpdCwgJWx1IHBlYWQsICVsdSBzZWt0b3JpdCByYWphbFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcywgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIktldHRhc2VhZGU6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcyIKK21zZ3N0ciAibeRyZ2VuZDogJS4qc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NDYKK21zZ2lkICJNYXkgYmUgZm9sbG93ZWQgYnkgTSBmb3IgTWlCLCBHIGZvciBHaUIsIFQgZm9yIFRpQiwgb3IgUyBmb3Igc2VjdG9ycy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODUyCisjLCBmdXp6eQorbXNnaWQgIlBsZWFzZSwgc3BlY2lmeSBzaXplLiIKK21zZ3N0ciAiLS1kYXRlIHBhcmFtZWV0ZXIgb24gcHV1ZHVcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODc0CisjLCBjLWZvcm1hdAorbXNnaWQgIk1pbmltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg4MworIywgYy1mb3JtYXQKK21zZ2lkICJNYXhpbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OTAKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNpemUuIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NDgKKyMsIGZ1enp5Cittc2dpZCAiU2VsZWN0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJJZ25vcmVlcmluIGxpc2EtZXh0ZW5kZWQgcGFydGlzdHNpb29uaSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5OTQgZGlzay11dGlscy9jZmRpc2suYzoyMDI0CisjLCBmdXp6eQorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWU6ICIKK21zZ3N0ciAic3RhdCglcykgZWkg9W5uZXN0dW51ZCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTk1CisjLCBmdXp6eQorbXNnaWQgIlRoZSBzY3JpcHQgZmlsZSB3aWxsIGJlIGFwcGxpZWQgdG8gaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIlBhcnRpdHNpb29uaXRhYmVsaXQgZWkgc2FhIHNhbHZlc3RhZGFcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDA0IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA0NgorIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDY1IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gJXMiCittc2dzdHIgIkVpIHN1dWRhIGF2YWRhIHNlYWRtZWZhaWxpICVzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwNiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAiaW9jdGwoKSBhYmlsIGtlbGxhIGx1Z2VtaW5lICVzIGthdWR1IGVpIPVubmVzdHVudWQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwOCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgJXMiCittc2dzdHIgImlvY3RsKCkgYWJpbCBrZWxsYSBsdWdlbWluZSAlcyBrYXVkdSBlaSD1bm5lc3R1bnVkIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjUKK21zZ2lkICJUaGUgY3VycmVudCBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlIHdpbGwgYmUgZHVtcGVkIHRvIHRoZSBmaWxlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzMgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDkxCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzkKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZGlzayBsYXlvdXQgaW50byBzY3JpcHQuIgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA1MworbXNnaWQgIkRpc2sgbGF5b3V0IHN1Y2Nlc3NmdWxseSBkdW1wZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA1NiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBzY3JpcHQgJXMiCittc2dzdHIgImlvY3RsKCkgYWJpbCBrZWxsYSBsdWdlbWluZSAlcyBrYXVkdSBlaSD1bm5lc3R1bnVkIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwOTIKKyMsIGZ1enp5Cittc2dpZCAiU2VsZWN0IGxhYmVsIHR5cGUiCittc2dzdHIgIlZhbGUga2xhaHYiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA5NSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxNworIywgZnV6enkKK21zZ2lkICJEZXZpY2UgZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiU2VhZGUgJXMgZWkgc2lzYWxkYSDkcmF0dW50YXZhdCBwYXJ0aXRzaW9vbml0YWJlbGl0XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjEwMQorbXNnaWQgIlNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGxhYmVsIG9yIHByZXNzICdMJyB0byBsb2FkIHNjcmlwdCBmaWxlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDYKKyMsIGZ1enp5Cittc2dpZCAiVGhpcyBpcyBjZmRpc2ssIGEgY3Vyc2VzLWJhc2VkIGRpc2sgcGFydGl0aW9uaW5nIHByb2dyYW0uIgorbXNnc3RyICJTZWUgb24gY2ZkaXNrLCBjdXJzZXMnaWwgYmFzZWVydXYga2V0dGEgcGFydGl0c2lvbmVlcmltaXNlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDcKKyMsIGZ1enp5Cittc2dpZCAiSXQgbGV0cyB5b3UgY3JlYXRlLCBkZWxldGUsIGFuZCBtb2RpZnkgcGFydGl0aW9ucyBvbiBhIGJsb2NrIGRldmljZS4iCittc2dzdHIgInByb2dyYW1tLCBtaXMgbHViYWIgbHV1YSwga3VzdHV0YWRhIGphIG11dXRhIHBhcnRpdHNpb29uZSBUZWllIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDkKK21zZ2lkICJDb21tYW5kICAgICAgTWVhbmluZyIKK21zZ3N0ciAiS+RzayAgICAgICAgVORoZW5kdXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MAorbXNnaWQgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorbXNnc3RyICItLS0tLS0tICAgICAgLS0tLS0tLSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUxCittc2dpZCAiICBiICAgICAgICAgIFRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBiICAgICAgICAgIFZhaGV0YWRhIGJ1dWRpdGF2dXNlIGxpcHB1IGpvb2tzdmFsIHBhcnRpdHNpb29uaWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MgorbXNnaWQgIiAgZCAgICAgICAgICBEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGQgICAgICAgICAgS3VzdHV0YWRhIGpvb2tzZXYgcGFydGl0c2lvb24iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MworbXNnaWQgIiAgaCAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKK21zZ3N0ciAiICBoICAgICAgICAgIE7kaWRhdGEgc2VkYXNhbWEgZWtyYWFuaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU0Cittc2dpZCAiICBuICAgICAgICAgIENyZWF0ZSBuZXcgcGFydGl0aW9uIGZyb20gZnJlZSBzcGFjZSIKK21zZ3N0ciAiICBuICAgICAgICAgIEx1dWEgdXVzIHBhcnRpdHNpb29uIHZhYmEgcnV1bWkgc2lzc2UiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NQorbXNnaWQgIiAgcSAgICAgICAgICBRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICBxICAgICAgICAgIFbkbGp1ZGEgcHJvZ3JhbW1pc3QgaWxhbSBtdXV0dXNpIHNhbHZlc3RhbWF0YSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU2CisjLCBmdXp6eQorbXNnaWQgIiAgcyAgICAgICAgICBGaXggcGFydGl0aW9ucyBvcmRlciAob25seSB3aGVuIGluIGRpc2FycmF5KSIKK21zZ3N0ciAiICBkICAgICAgICAgIEt1c3R1dGFkYSBqb29rc2V2IHBhcnRpdHNpb29uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTcKKyMsIGZ1enp5Cittc2dpZCAiICB0ICAgICAgICAgIENoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgdCAgICAgICAgICBNdXV0YSBqb29rc3ZhIHBhcnRpdHNpb29uaSBmYWlsaXP8c3RlZW1pIHT8/HBpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTgKK21zZ2lkICIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTkKKyMsIGZ1enp5Cittc2dpZCAiICBXICAgICAgICAgIFdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh5b3UgbXVzdCBlbnRlciB1cHBlcmNhc2UgVyk7IgorbXNnc3RyICIgIFcgICAgICAgICAgS2lyanV0YWRhIHBhcnRpdHNpb29uaXRhYmVsIGtldHRhbGUgKGphaCwgc3V1cnTkaHQpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAgICAgICAgICAgc2luY2UgdGhpcyBtaWdodCBkZXN0cm95IGRhdGEgb24gdGhlIGRpc2ssIHlvdSBtdXN0IGVpdGhlciIKK21zZ3N0ciAiICAgICAgICAgICAgIEt1bmEgc2VlIHb1aWIga2V0dGFsdCBhbmRtZWlkIGjkdml0YWRhLCBr/HNpdGFrc2UiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MQorIywgZnV6enkKK21zZ2lkICIgICAgICAgICAgICAgICBjb25maXJtIG9yIGRlbnkgdGhlIHdyaXRlIGJ5IGVudGVyaW5nICd5ZXMnIG9yICdubyciCittc2dzdHIgIiAgICAgICAgICAgICBlbm5lIGtpcmp1dGFtaXN0IGtpbm5pdHVzdC4gVmFzdGF0YSB0dWxlYiBlZXN0aWtlZWxzZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYyCisjLCBmdXp6eQorbXNnaWQgIiAgeCAgICAgICAgICBEaXNwbGF5L2hpZGUgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIiAgICAgICAgICAgIEVzaW1lbmUgIFZpaW1hbmVcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYzCittc2dpZCAiVXAgQXJyb3cgICAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBwYXJ0aXRpb24iCittc2dzdHIgIk5vb2wg/GxlcyAgICBWaWlhIGt1cnNvciBlZWxtaXNlbGUgcmVhbGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2NAorbXNnaWQgIkRvd24gQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBwYXJ0aXRpb24iCittc2dzdHIgIk5vb2wgYWxsYSAgICBWaWlhIGt1cnNvciBq5HJnbWlzZWxlIHJlYWxlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjUKKyMsIGZ1enp5Cittc2dpZCAiTGVmdCBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBtZW51IGl0ZW0iCittc2dzdHIgIk5vb2wg/GxlcyAgICBWaWlhIGt1cnNvciBlZWxtaXNlbGUgcmVhbGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2NgorIywgZnV6enkKK21zZ2lkICJSaWdodCBBcnJvdyAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgbWVudSBpdGVtIgorbXNnc3RyICJOb29sIGFsbGEgICAgVmlpYSBrdXJzb3IgauRyZ21pc2VsZSByZWFsZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY4Cittc2dpZCAiTm90ZTogQWxsIG9mIHRoZSBjb21tYW5kcyBjYW4gYmUgZW50ZXJlZCB3aXRoIGVpdGhlciB1cHBlciBvciBsb3dlciIKK21zZ3N0ciAiTeRya3VzOiBr9WlraSBuZWlkIGvkc2tlIHNhYWIgc2lzZXN0YWRhIG5paSBzdXVyLSBrdWkgduRpa2V05Gh0ZWRlbmEsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjkKKyMsIGZ1enp5Cittc2dpZCAiY2FzZSBsZXR0ZXJzIChleGNlcHQgZm9yIFdyaXRlKS4iCittc2dzdHIgInbkbGphIGFydmF0dWQgc3V1ciBXLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTcxCittc2dpZCAiVXNlIGxzYmxrKDgpIG9yIHBhcnR4KDgpIHRvIHNlZSBtb3JlIGRldGFpbHMgYWJvdXQgdGhlIGRldmljZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzNworIywgZnV6enkKK21zZ2lkICJQcmVzcyBhIGtleSB0byBjb250aW51ZS4iCittc2dzdHIgIlZhanV0YSBt9W5kYSBrbGFodmkgauR0a2FtaXNla3MiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI2MAorIywgZnV6enkKK21zZ2lkICJDb3VsZCBub3QgdG9nZ2xlIHRoZSBmbGFnLiIKK21zZ3N0ciAiRWkgc3V1dG51ZCBhdmFkYSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIklnbm9yZWVyaW4gbGlzYS1leHRlbmRlZCBwYXJ0aXN0c2lvb25pICVkXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI3MiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaGFzIGJlZW4gZGVsZXRlZC4iCittc2dzdHIgIlBhcnRpdHNpb29uaWwgJWQgcG9sZSBhbmRtZXRlbGUgcnV1bWkgZXJhbGRhdHVkXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI5MworIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gc2l6ZTogIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGl0c2lvb25pOlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiUGFydGl0c2lvb25pICVkIHT8/HAgb24gbvz8ZCAleCAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIHR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJQYXJ0aXRzaW9vbmkgJWQgdPz8cCBvbiBu/PxkICV4ICglcylcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzUzIGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ2NiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTkxCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzAKK21zZ2lkICJEZXZpY2UgaXMgb3BlbiBpbiByZWFkLW9ubHkgbW9kZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzU4CisjLCBmdXp6eQorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAiT2xldGUga2luZGVsLCBldCBzb292aXRlIHNhbHZlc3RhZGEgcGFydGl0c2lvb25pdGFiZWxpdD8gKGphaCB29WkgZWkpOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzYwCittc2dpZCAiVHlwZSBcInllc1wiIG9yIFwibm9cIiwgb3IgcHJlc3MgRVNDIHRvIGxlYXZlIHRoaXMgZGlhbG9nLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjUgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDkgc3lzLXV0aWxzL2xzY3B1LmM6MTU0MAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTU1MAorbXNnaWQgInllcyIKK21zZ3N0ciAiamFoIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjYKKyMsIGZ1enp5Cittc2dpZCAiRGlkIG5vdCB3cml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4iCittc2dzdHIgIkVpIGtpcmp1dGFudWQgcGFydGl0c2lvb25pdGFiZWxpdCBrZXR0YWxlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzEKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbC4iCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCB0YWJlbGl0ZSBraXJqdXRhbWlzZWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3NCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzgKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiIgorIlBhcnRpdHNpb29uaXRhYmVsaXQgb24gbXV1ZGV0dWQhXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM5NyBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NjgKKyMsIGZ1enp5Cittc2dpZCAiTm90ZSB0aGF0IHBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlciBub3cuIgorbXNnc3RyICIiCisiXG4iCisiUGFydGl0c2lvb25pdGFiZWxpIGtpcmplZCBvbiBm/PxzaWxpc2VzdCBlcmluZXZhcyBq5HJqZWtvcnJhc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmU7IGl0IHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGRpc2tsYWJlbCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIHRhYmVsaXRlIGtpcmp1dGFtaXNlbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDUzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICUxJHMgW29wdGlvbnNdIDxkaXNrPlxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDkgZGlzay11dGlscy9mZGlzay5jOjczNiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTAKKyMsIGZ1enp5Cittc2dpZCAiRGlzcGxheSBvciBtYW5pcHVsYXRlIGEgZGlzayBwYXJ0aXRpb24gdGFibGUuXG4iCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU1MgorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTU1CisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgc3RhcnQgd2l0aCB6ZXJvZWQgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1OTQgZGlzay11dGlscy9mZGlzay5jOjg4MiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzcKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzkwIHN5cy11dGlscy9kbWVzZy5jOjEzMzMgdGV4dC11dGlscy9oZXhkdW1wLmM6MTE0CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIGNvbG9yIG1vZGUiCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjEyIGRpc2stdXRpbHMvZmRpc2suYzo4MTggZGlzay11dGlscy9zZmRpc2suYzoyMjMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPlxuIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQgdGFiZWxpdGUga2lyanV0YW1pc2VsIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxOAorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCB0byBmb3JnZXQgYWJvdXQgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjYxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9ybWF0dGluZyAuLi4gIgorbXNnc3RyICJGb3JtYWFkaW4gLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjY4IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG9uZVxuIgorbXNnc3RyICJ2YWxtaXNcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlZlcmlmeWluZyAuLi4gIgorbXNnc3RyICJLb250cm9sbGluIC4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMDgKK21zZ2lkICJSZWFkOiAiCittc2dzdHIgInJlYWQ6ICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjExMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUHJvYmxlbSByZWFkaW5nIHRyYWNrL2hlYWQgJXUvJXUsIGV4cGVjdGVkICVkLCByZWFkICVkXG4iCittc2dzdHIgIlByb2JsZWVtIHNpbGluZHJpbHQgJWQgbHVnZW1pc2VsLCBsb290c2luICVkLCBzYWluICVkXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJiYWQgZGF0YSBpbiB0cmFjay9oZWFkICV1LyV1XG4iCisiQ29udGludWluZyAuLi4gIgorbXNnc3RyICIiCisiSGFsdmFkIGFuZG1lZCBzaWxpbmRyaWwgJWRcbiIKKyJK5HRrYW4gLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODIKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTE3IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU2IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODQKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ4Cittc2dpZCAiRG8gYSBsb3ctbGV2ZWwgZm9ybWF0dGluZyBvZiBhIGZsb3BweSBkaXNrLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTEKK21zZ2lkICIgLWYsIC0tZnJvbSA8Tj4gICAgc3RhcnQgYXQgdGhlIHRyYWNrIE4gKGRlZmF1bHQgMClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUyCittc2dpZCAiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgYXQgdGhlIHRyYWNrIE5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUzCittc2dpZCAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICB0cnkgdG8gcmVwYWlyIHRyYWNrcyBmYWlsZWQgZHVyaW5nXG4iCisiICAgICAgICAgICAgICAgICAgICAgdGhlIHZlcmlmaWNhdGlvbiAobWF4IE4gcmV0cmllcylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU1Cittc2dpZCAiIC1uLCAtLW5vLXZlcmlmeSAgIGRpc2FibGUgdGhlIHZlcmlmaWNhdGlvbiBhZnRlciB0aGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gZnJvbSIKK21zZ3N0ciAidmlnYW5lIGtpaXJ1czogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHRvIgorbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIwMQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gcmVwYWlyIgorbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyMSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTUxCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg1IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMzgKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4NQorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE2IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQxIGRpc2stdXRpbHMvcGFydHguYzo5MzMKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo2ODYgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzkgbWlzYy11dGlscy9uYW1laS5jOjEzNQorIzogbWlzYy11dGlscy9yZW5hbWUuYzo2MyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4NiBzeXMtdXRpbHMvZG1lc2cuYzo1MjQKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxOTggc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTMxIHN5cy11dGlscy9mc3RyaW0uYzo3NworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjUxOSBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo5MworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTMzIHRlcm0tdXRpbHMvbWVzZy5jOjEyOSB0ZXh0LXV0aWxzL21vcmUuYzo1MDQKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxMDMgdGV4dC11dGlscy90YWlsZi5jOjI4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3RhdCBvZiAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjQgZGlzay11dGlscy9wYXJ0eC5jOjk5MSBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ4NQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODggc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzIHBvbGUgZmxvcGlzZWFkZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI5CisjLCBmdXp6eQorbXNnaWQgImNvdWxkIG5vdCBkZXRlcm1pbmUgY3VycmVudCBmb3JtYXQgdHlwZSIKK21zZ3N0ciAiRWkgc3V1ZGEga2luZGxha3MgdGVoYSBmb3JtYWF0aW1pc2UgcGFyYW1lZXRyZWlkIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzLXNpZGVkLCAlZCB0cmFja3MsICVkIHNlYy90cmFjay4gVG90YWwgY2FwYWNpdHkgJWQga0IuXG4iCittc2dzdHIgIiVzcG9vbG5lLCAlZCByYWRhLCAlZCBzZWt0b3JpdCByYWphbC4gS29ndW1haHQgJWQga0JcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMgorbXNnaWQgIkRvdWJsZSIKK21zZ3N0ciAiS2FoZSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMgorbXNnaWQgIlNpbmdsZSIKK21zZ3N0ciAi3GhlIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM5Cittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDEKK21zZ2lkICJ1c2VyIGRlZmluZWQgZW5kIHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDMKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgdXNlciBkZWZpbmVkIGVuZCB0cmFjayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjUxIG1pc2MtdXRpbHMvbG9nZ2VyLmM6OTg3CisjLCBmdXp6eQorbXNnaWQgImNsb3NlIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTUgZGlzay11dGlscy9mZGlzay5jOjExMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkRvIHlvdSByZWFsbHkgd2FudCB0byBxdWl0PyAiCittc2dzdHIgIkthcyBUZSBzb292aXRlIHT1ZXN0aSBq5HRrYXRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3QgKGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglZC0lZCwgdmFpa2ltaXNpICVkKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2luZyBkZWZhdWx0IHJlc3BvbnNlICVjLiIKK21zZ3N0ciAiS2FzdXRhbiB2YWlraW1pc2kgduTkcnR1c3QgJWRcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjE3NiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjUwIGRpc2stdXRpbHMvZmRpc2suYzozMjUKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTg5IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjc3CisjLCBmdXp6eQorbXNnaWQgIlZhbHVlIG91dCBvZiByYW5nZS4iCittc2dzdHIgIlbk5HJ0dXMgb24gcGlpcmlkZXN0IHbkbGphc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglZC0lZCwgdmFpa2ltaXNpICVkKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA4IGRpc2stdXRpbHMvZmRpc2suYzoyNzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglZC0lZCwgdmFpa2ltaXNpICVkKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglZC0lZCwgdmFpa2ltaXNpICVkKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjE3IGRpc2stdXRpbHMvZmRpc2suYzoyNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+LCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCVkLSVkLCB2YWlraW1pc2kgJWQpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYyk6ICIKK21zZ3N0ciAiJXM6ICVzICglcylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMyBkaXNrLXV0aWxzL2ZkaXNrLmM6MjgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXM6ICVzICglcylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjM5MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NworbXNnaWQgIiBbWV1lcy9bTl1vOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQzMworIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSAodHlwZSBMIHRvIGxpc3QgYWxsIHR5cGVzKTogIgorbXNnc3RyICJLdXVldGVpc3Rr/G1uZW5kc/xzdGVlbWlzIGtvb2QgKEwgbuRpdGFiIGtvb2RpZGUgbmltZWtpcmphKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDM0CisjLCBmdXp6eQorbXNnaWQgIkhleCBjb2RlICh0eXBlIEwgdG8gbGlzdCBhbGwgY29kZXMpOiAiCittc2dzdHIgIkt1dWV0ZWlzdGv8bW5lbmRz/HN0ZWVtaXMga29vZCAoTCBu5Gl0YWIga29vZGlkZSBuaW1la2lyamEpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1MzYKKyMsIGZ1enp5Cittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBzZXQgKERFUFJFQ0FURUQhKSIKK21zZ3N0ciAiRE9TaWdhIPxoaWxkdXZ1c2UgbGlwcCBvbiBw/HN0aVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTM3CisjLCBmdXp6eQorbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgbm90IHNldCIKK21zZ3N0ciAiRE9TaWdhIPxoaWxkdXZ1c2UgbGlwcCBwb2xlIHD8c3RpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NTggZGlzay11dGlscy9mZGlzay5jOjU5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBleGlzdCB5ZXQhIgorbXNnc3RyICJQYXJ0aXRzaW9vbmkgJWQgcG9sZSB2ZWVsIG9sZW1hcyFcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU2MyBkaXNrLXV0aWxzL2ZkaXNrLmM6NTcyIGxpYmZkaXNrL3NyYy9hc2suYzo5OTUKK21zZ2lkICJVbmtub3duIgorbXNnc3RyICJUdW5kbWF0dSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAnJXMnIHRvICclcycuIgorbXNnc3RyICJQYXJ0aXRzaW9vbmkgJWQgdPz8cCBvbiBu/PxkICV4ICglcylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZDogJXMuIgorbXNnc3RyICJQYXJ0aXRzaW9vbmkgJWQgdPz8cCBvbiBu/PxkICV4ICglcylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJTE1czogJXMiCittc2dzdHIgImtldGFzOiAlLipzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzOiBvZmZzZXQgPSAlPFBSSXU2ND4sIHNpemUgPSAlenUgYnl0ZXMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2NzcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNlZWsiCittc2dzdHIgImZvcmsgZWkg9W5uZXN0dW51ZCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY4MgorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgcmVhZCIKK21zZ3N0ciAiJXM6IGVpIHN1dWRhIGx1Z2VkYSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Njk1IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTkgbGliZmRpc2svc3JjL2Rvcy5jOjkzMworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMTAKKyMsIGZ1enp5Cittc2dpZCAiRmlyc3Qgc2VjdG9yIgorbXNnc3RyICJFc2ltZW5lICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcyIKK21zZ3N0ciAiQkxLR0VUU0laRSBpb2N0bCBlaSD1bm5lc3R1bnVkIHNlYWRtZWwgJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICAgIGNoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyIgJTEkcyBbb3B0aW9uc10gLWwgWzxkaXNrPl0gbGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzM5CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8c2l6ZT4gICAgICBwaHlzaWNhbCBhbmQgbG9naWNhbCBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MAorbXNnaWQgIiAtQiwgLS1wcm90ZWN0LWJvb3QgICAgICAgICAgICBkb24ndCBlcmFzZSBib290Yml0cyB3aGVuIGNyZWF0aW5nIGEgbmV3IGxhYmVsXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MQorbXNnaWQgIiAtYywgLS1jb21wYXRpYmlsaXR5Wz08bW9kZT5dICBtb2RlIGlzICdkb3MnIG9yICdub25kb3MnIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDIKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0NQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBwYXJ0aXRpb25zIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ2CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgICAgICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgVuRsamFzdGFkYSBwYXJ0aXRzaW9vbml0YWJlbCBla3JhYW5pbGUgdvVpIGZhaWxpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ3CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICAgICAgICAgICByZWNvZ25pemUgc3BlY2lmaWVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIG9ubHlcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDgKK21zZ2lkICIgLXUsIC0tdW5pdHNbPTx1bml0Pl0gICAgICAgICAgZGlzcGxheSB1bml0czogJ2N5bGluZGVycycgb3IgJ3NlY3RvcnMnIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDkKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLWdldHN6ICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgZGV2aWNlIHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9ycyBbREVQUkVDQVRFRF1cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzUxCisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTIgZGlzay11dGlscy9zZmRpc2suYzoxODUzCisjLCBmdXp6eQorbXNnaWQgIiAtVywgLS13aXBlLXBhcnRpdGlvbnMgPG1vZGU+ICB3aXBlIHNpZ25hdHVyZXMgZnJvbSBuZXcgcGFydGl0aW9ucyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1NQorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorbXNnc3RyICJTaXNlc3RhZ2Ugc2lsaW5kcml0ZSBhcnY6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1NgorIywgZnV6enkKK21zZ2lkICIgLUgsIC0taGVhZHMgPG51bWJlcj4gICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGhlYWRzXG4iCittc2dzdHIgIlNpc2V0YWdlIHBlYWRlIGFydjogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU3CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKK21zZ3N0ciAiU2lzZXN0YWdlIHNla3Rvcml0ZSBhcnYgcmFqYWw6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNlY3RvciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJ2aWdhbmUgaWRlbnRpZmlrYWF0b3IiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NDAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjeWxpbmRlcnMgYXJndW1lbnQiCittc2dzdHIgInZpZ2FuZSBpZGVudGlmaWthYXRvciIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg1MgorIywgZnV6enkKK21zZ2lkICJub3QgZm91bmQgRE9TIGxhYmVsIGRyaXZlciIKK21zZ3N0ciAic3RhdCglcykgZWkg9W5uZXN0dW51ZCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb21wYXRpYmlsaXR5IG1vZGUgJyVzJyIKK21zZ3N0ciAiS2F0YWxvb2dpICVzIHBvbGUhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NjcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBoZWFkcyBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODczCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc2VjdG9ycyBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNrbGFiZWw6ICVzIgorbXNnc3RyICIlczogVHVuZG1hdHUgYXJndW1lbnQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MTYgZGlzay11dGlscy9mZGlzay5jOjkyMSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0NgorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB3aXBlIG1vZGUiCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkzNAorIywgZnV6enkKK21zZ2lkICJUaGUgZGV2aWNlIHByb3BlcnRpZXMgKHNlY3RvciBzaXplIGFuZCBnZW9tZXRyeSkgc2hvdWxkIGJlIHVzZWQgd2l0aCBvbmUgc3BlY2lmaWVkIGRldmljZSBvbmx5LiIKK21zZ3N0ciAiSG9pYXR1czogLWIgdvV0aXQgKHNla3Rvcmkgc3V1cnVzZSBzZWFkbWluZSkgdHVsZWtzIGthc3V0YWRhIGFpbnVsdCD8aGUgdORwc2VsdCBt5ORyYXR1ZCBzZWFkbWVnYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIldlbGNvbWUgdG8gZmRpc2sgKCVzKS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk4NCBkaXNrLXV0aWxzL3NmZGlzay5jOjE1ODgKKyMsIGZ1enp5Cittc2dpZCAiIgorIkNoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS5cbiIKKyJCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC5cbiIKK21zZ3N0ciAiIgorIktvb3N0YW4gdXVlIFN1bmkgcGFydGl0c2lvb25pdGFiZWxpLiBNdXV0dXNlZCBq5OR2YWQgYWludWx0IG3kbGx1LFxuIgorImt1bmkgVGUgaXNlIG90c3VzdGF0ZSBuZWVkIGtldHRhbGUga2lyanV0YWRhLiBQ5HJhc3Qgc2VkYSBwb2xlIHZhbmEgc2lzdVxuIgorImxvb211bGlrdWx0IGVuYW0gdGFhc3RhdGF2LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAwMSBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICVzIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDEwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU0MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0ODQKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyMgorbXNnaWQgIlRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMTMgZGlzay11dGlscy9zZmRpc2suYzoxNjI1Cittc2dpZCAiSXQgaXMgc3Ryb25nbHkgcmVjb21tZW5kZWQgdG8gd2lwZSB0aGUgZGV2aWNlIHdpdGggd2lwZWZzKDgpLCBpbiBvcmRlciB0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAyMgorbXNnaWQgIkEgaHlicmlkIEdQVCB3YXMgZGV0ZWN0ZWQuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIGh5YnJpZCBNQlIgbWFudWFsbHkgKGV4cGVydCBjb21tYW5kICdNJykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiIgorIlxuIgorIktldGFzICVzOiAlbHUgc2lsaW5kcml0LCAlbHUgcGVhZCwgJWx1IHNla3Rvcml0IHJhamFsXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycy90cmFjaywgJWxsdSBjeWxpbmRlcnMiCittc2dzdHIgIiIKKyJcbiIKKyJLZXRhcyAlczogJWQgcGVhZCwgJWQgc2VrdG9yaXQgcmFqYWwsICVkIHNpbGluZHJpdFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo1OSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVuaXRzOiAlcyBvZiAlZCAqICVsZCA9ICVsZCBieXRlcyIKK21zZ3N0ciAiIgorIlxuIgorIktldGFzICVzOiAlZCBwZWFkLCAlZCBzZWt0b3JpdCByYWphbCwgJWQgc2lsaW5kcml0XG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY1IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2OAorIywgYy1mb3JtYXQKK21zZ2lkICJJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJBbGlnbm1lbnQgb2Zmc2V0OiAlbHUgYnl0ZXMiCittc2dzdHIgInZpZ2FuZSBpLWtpcmplIHN1dXJ1cyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB0eXBlOiAlcyIKK21zZ3N0ciAiS2V0dGFzZWFkZTogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIktldHRhc2VhZGU6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMDkgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjE5CisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjQ0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBpdGVyYXRvciIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMTUgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTU2IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI0OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiCittc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4iCittc2dzdHIgIlBhcnRpdHNpb29uICVpIGVpIGFsZ2Egc2lsaW5kcmkgcGlpcmlsdDpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTkyCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4iCittc2dzdHIgIiIKKyJcbiIKKyJQYXJ0aXRzaW9vbml0YWJlbGkga2lyamVkIG9uIGb8/HNpbGlzZXN0IGVyaW5ldmFzIGrkcmpla29ycmFzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNSBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMAorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTIgbGliZmRpc2svc3JjL3NnaS5jOjExNTQgbGliZmRpc2svc3JjL3N1bi5jOjExMTAKK21zZ2lkICJTdGFydCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTYgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDEKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTEzIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU1IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTExCittc2dpZCAiRW5kIgorbXNnc3RyICJFbmQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNyBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMgorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTQgbGliZmRpc2svc3JjL3NnaS5jOjExNTYgbGliZmRpc2svc3JjL3N1bi5jOjExMTIKK21zZ2lkICJTZWN0b3JzIgorbXNnc3RyICJTZWt0b3JpZCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE5IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzA0CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1OCBsaWJmZGlzay9zcmMvc3VuLmM6MTExNAorbXNnaWQgIlNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbnBhcnRpdGlvbmVkIHNwYWNlICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiIgorIlxuIgorIktldGFzICVzOiAlbHUgc2lsaW5kcml0LCAlbHUgcGVhZCwgJWx1IHNla3Rvcml0IHJhamFsXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQxMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtbyk6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTUKK21zZ2lkICJHZW5lcmljIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk2CisjLCBmdXp6eQorbXNnaWQgImRlbGV0ZSBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgZCAgIGt1c3R1dGFkYSBwYXJ0aXRzaW9vbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTcKKyMsIGZ1enp5Cittc2dpZCAibGlzdCBmcmVlIHVucGFydGl0aW9uZWQgc3BhY2UiCittc2dzdHIgIiAgIGUgICBu5GlkYXRhIGV4dGVuZGVkLXBhcnRpdHNpb29uaWRlIG5pbWVraXJqYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTgKKyMsIGZ1enp5Cittc2dpZCAibGlzdCBrbm93biBwYXJ0aXRpb24gdHlwZXMiCittc2dzdHIgIiAgIGwgICBhbmRhIG5pbWVraXJpIHR1bnR1ZCBwYXJ0aXRzaW9vbml0/PxwaWRlc3QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5CisjLCBmdXp6eQorbXNnaWQgImFkZCBhIG5ldyBwYXJ0aXRpb24iCittc2dzdHIgIiAgIG4gICBsaXNhZGEgdXVzIHBhcnRpdHNpb29uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiVHL8a2tpZGEgbGlodHNhbHQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgYSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiICAgdCAgIG11dXRhIHBhcnRpdHNpb29uaSB0/PxwaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAyCisjLCBmdXp6eQorbXNnaWQgInZlcmlmeSB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgICB2ICAga29udHJvbGxpZGEgcGFydGl0c2lvb25pdGFiZWxpdCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzCisjLCBmdXp6eQorbXNnaWQgInByaW50IGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICIlcyBwb2xlIGZsb3Bpc2VhZGVcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1CisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAiICAgZCAgIG7kaWRhdGEgcGFydGl0c2lvb25pdGFiZWxpdCBiYWlkaWthdXBhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDYKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBkaXNrbGFiZWwgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICIgICBkICAgbuRpZGF0YSBwYXJ0aXRzaW9vbml0YWJlbGl0IGJhaWRpa2F1cGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNworIywgZnV6enkKK21zZ2lkICJmaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAiICAgZiAgIHBhcmFuZGFkYSBwYXJ0aXRzaW9vbmlkZSBq5HJqZWtvcmQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwOQorbXNnaWQgIk1pc2MiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEwCisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoaXMgbWVudSIKK21zZ3N0ciAiICAgbSAgIG7kaWRhdGEgc2VkYXNhbWEgbWVu/PxkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTEKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpc3BsYXkvZW50cnkgdW5pdHMiCittc2dzdHIgIiAgIHUgICBtdXV0YSBzaXNlc3RhbWlzZSBqYSB0YWJlbGkgbuRpdGFtaXNlIPxoaWt1aWQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMgorIywgZnV6enkKK21zZ2lkICJleHRyYSBmdW5jdGlvbmFsaXR5IChleHBlcnRzIG9ubHkpIgorbXNnc3RyICIgICB4ICAgbGlzYWZ1bmt0c2lvbmFhbHN1cyAoYWludWx0IGVrc3BlcnRpZGVsZSkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNAorbXNnaWQgIlNjcmlwdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTUKK21zZ2lkICJsb2FkIGRpc2sgbGF5b3V0IGZyb20gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNgorbXNnaWQgImR1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOAorbXNnaWQgIlNhdmUgJiBFeGl0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOQorIywgZnV6enkKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0IgorbXNnc3RyICIgICB3ICAga2lyanV0YWRhIHRhYmVsIGtldHRhbGUgamEgduRsanVkYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIwCisjLCBmdXp6eQorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2siCittc2dzdHIgIiAgIHcgICBraXJqdXRhZGEgdGFiZWwga2V0dGFsZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIxCisjLCBmdXp6eQorbXNnaWQgInF1aXQgd2l0aG91dCBzYXZpbmcgY2hhbmdlcyIKK21zZ3N0ciAiICAgcSAgIHbkbGp1ZGEgc2FsdmV0c2FtYXRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAicmV0dXJuIHRvIG1haW4gbWVudSIKK21zZ3N0ciAiICAgciAgIHRhZ2FzaSBwZWFtZW78/HNzZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTI0Cittc2dpZCAicmV0dXJuIGZyb20gQlNEIHRvIERPUyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzUKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlIGEgbmV3IGxhYmVsIgorbXNnc3RyICIgICBzICAgbHV1YSB1dXMgdPxoaSBTdW4naSBwYXJ0aXRzaW9vbml0YWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM2CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBHUFQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgICBvICAgbHV1YSB1dXMgdPxoaSBET1NpIHBhcnRpdHNpb29uaXRhYmVsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFNHSSAoSVJJWCkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgICBvICAgbHV1YSB1dXMgdPxoaSBET1NpIHBhcnRpdHNpb29uaXRhYmVsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIG8gICBsdXVhIHV1cyB0/GhpIERPU2kgcGFydGl0c2lvb25pdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOQorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU3VuIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgbyAgIGx1dWEgdXVzIHT8aGkgRE9TaSBwYXJ0aXRzaW9vbml0YWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQzCisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhbiBJUklYIChTR0kpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgZyAgIGx1dWEgSVJJWGkgKFNHSSkgcGFydGl0c2lvb25pdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1MgorbXNnaWQgIkdlb21ldHJ5IgorbXNnc3RyICJHZW9tZWV0cmlhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTMKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgIiAgIGMgICBtdXV0YSBzaWxpbmRyaXRlIGFydnUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICIgICBoICAgbXV1dGEgcGVhZGUgYXJ2dSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU1CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2Ygc2VjdG9ycy90cmFjayIKK21zZ3N0ciAiICAgcyAgIG11dXRhIHNla3Rvcml0ZSBhcnZ1IHJhamFsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjQgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTUKKyMsIGZ1enp5Cittc2dpZCAiR1BUIgorbXNnc3RyICJFRkkgR1BUIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjUKK21zZ2lkICJjaGFuZ2UgZGlzayBHVUlEIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NgorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIlBhcnRpdHNpb29uaSBudW1iZXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXRzaW9vbmk6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgdGFibGUgbGVuZ3RoIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjkKK21zZ2lkICJlbnRlciBwcm90ZWN0aXZlL2h5YnJpZCBNQlIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTcyCisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgbGVnYWN5IEJJT1MgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiICAgYSAgIGz8bGl0YWRhIGJ1dWRpdGF2dXNlIGxpcHAgc2lzc2UvduRsamEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MworIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIG5vIGJsb2NrIElPIHByb3RvY29sIGZsYWciCittc2dzdHIgIiAgIGMgICBs/GxpdGFkYSBET1NpZ2Eg/GhpbGR1dnVzZSByZXpoaWltIHNpc3NlL3bkbGphIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzQKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSByZXF1aXJlZCBwYXJ0aXRpb24gZmxhZyIKK21zZ3N0ciAiICAgYSAgIGz8bGl0YWRhIGtpcmp1dHVza2FpdHNlIGxpcHAgc2lzc2UvduRsamEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NQorbXNnaWQgInRvZ2dsZSB0aGUgR1VJRCBzcGVjaWZpYyBiaXRzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NQorbXNnaWQgIlN1biIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSByZWFkLW9ubHkgZmxhZyIKK21zZ3N0ciAiICAgYSAgIGz8bGl0YWRhIGtpcmp1dHVza2FpdHNlIGxpcHAgc2lzc2UvduRsamEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NworIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIG1vdW50YWJsZSBmbGFnIgorbXNnc3RyICIgICBjICAgbPxsaXRhZGEgbW9udGVlcml0YXZ1c2UgbGlwcCBzaXNzZS925GxqYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg5CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiICAgYSAgIG11dXRhIGFsdGVybmF0aWl2c2V0ZSBzaWxpbmRyaXRlIGFydnUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICIgICBlICAgbXV1dGEgbGlzYXNla3Rvcml0ZSBhcnZ1IHNpbGluZHJpbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkxCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBpbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiICAgaSAgIG11dXRhIGludGVybGVhdmUtdGVndXJpdCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkyCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSByb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAiICAgbyAgIG11dXRhIHD29nJsZW1pc2Uga2lpcnVzdCAocnBtKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICIgICB5ICAgbXV1dGEgZvz8c2lsaXN0ZSBzaWxpbmRyaXRlIGFydnUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwMgorIywgZnV6enkKK21zZ2lkICJTR0kiCittc2dzdHIgIlNHSSByYXciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwMworIywgZnV6enkKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICIgICBhICAgdmFsaWRhIGJ1dXRpdiBwYXJ0aXRzaW9vbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA0CisjLCBmdXp6eQorbXNnaWQgImVkaXQgYm9vdGZpbGUgZW50cnkiCittc2dzdHIgIiAgIGIgICByZWRpZ2VlcmlkYSBidXV0ZmFpbGkga2lyamV0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDUKKyMsIGZ1enp5Cittc2dpZCAic2VsZWN0IHNnaSBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgYyAgIHZhbGlkYSBTR0kgc2FhbGltaXNwYXJ0aXRzaW9vbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA2Cittc2dpZCAiY3JlYXRlIFNHSSBpbmZvIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNQorIywgZnV6enkKK21zZ2lkICJET1MgKE1CUikiCittc2dzdHIgIkRPUyBSL08iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNgorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgYSBib290YWJsZSBmbGFnIgorbXNnc3RyICIgICBhICAgbPxsaXRhZGEgYnV1ZGl0YXZ1c2UgbGlwcCBzaXNzZS925GxqYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE3CisjLCBmdXp6eQorbXNnaWQgImVkaXQgbmVzdGVkIEJTRCBkaXNrbGFiZWwiCittc2dzdHIgIiAgIGIgcmVkaWdlZXJpZGEgTlNEIHBhcnRpdHNpb29uaXRhYmVsaXQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxOAorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIGRvcyBjb21wYXRpYmlsaXR5IGZsYWciCittc2dzdHIgIiAgIGMgICBs/GxpdGFkYSBET1NpZ2Eg/GhpbGR1dnVzZSByZXpoaWltIHNpc3NlL3bkbGphIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAibW92ZSBiZWdpbm5pbmcgb2YgZGF0YSBpbiBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgYiAgIGxpaWd1dGFkYSBhbmRtZXRlIGFsZ3VzdCBwYXJ0aXRzaW9vbmlzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjEKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHRoZSBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIiAgIHUgICBtdXV0YSBzaXNlc3RhbWlzZSBqYSB0YWJlbGkgbuRpdGFtaXNlIPxoaWt1aWQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMworbXNnaWQgInJldHVybiBmcm9tIHByb3RlY3RpdmUvaHlicmlkIE1CUiB0byBHUFQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjMzCisjLCBmdXp6eQorbXNnaWQgIkJTRCIKK21zZ3N0ciAiQlNEL09TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzQKKyMsIGZ1enp5Cittc2dpZCAiZWRpdCBkcml2ZSBkYXRhIgorbXNnc3RyICIgICBlICAgcmVkaWdlZXJpZGEgc2VkYW1lIGFuZG1laWQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNQorIywgZnV6enkKK21zZ2lkICJpbnN0YWxsIGJvb3RzdHJhcCIKK21zZ3N0ciAiICAgaSAgIGluc3RhbGxlZXJpZGEgYm9vdHN0cmFwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzYKKyMsIGZ1enp5Cittc2dpZCAic2hvdyBjb21wbGV0ZSBkaXNrbGFiZWwiCittc2dzdHIgIiAgIHMgICBu5GlkYXRhIHTkaWVsaWtrdSBwYXJ0aXRzaW9vbml0YWJlbGl0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAibGluayBCU0QgcGFydGl0aW9uIHRvIG5vbi1CU0QgcGFydGl0aW9uIgorbXNnc3RyICIgICB4ICAgc2lkdWRhIEJTRCBwYXJ0aXRzaW9vbiBtaXR0ZS1CU0QgcGFydGl0c2lvb25pZ2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscCAoZXhwZXJ0IGNvbW1hbmRzKTpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzEgZGlzay11dGlscy9zZmRpc2suYzoxMjY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscDpcbiIKK21zZ3N0ciAiSGVscCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzkxCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSdyZSBlZGl0aW5nIG5lc3RlZCAnJXMnIHBhcnRpdGlvbiB0YWJsZSwgcHJpbWFyeSBwYXJ0aXRpb24gdGFibGUgaXMgJyVzJy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDIxCittc2dpZCAiRXhwZXJ0IGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIkVrc3BlcmRpIGvkc2sgKG0gYW5uYWIgYWJpaW5mb3QpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMworbXNnaWQgIkNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIkvkc2sgKG0gYW5uYWIgYWJpaW5mb3QpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWM6IHVua25vd24gY29tbWFuZCIKK21zZ3N0ciAiJWM6IHR1bmRtYXR1IGvkc2tcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDU4IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4NQorIywgZnV6enkKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lIgorbXNnc3RyICJzdGF0KCVzKSBlaSD1bm5lc3R1bnVkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NzEKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IGFwcGxpZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ5NworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNmb3JtIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0IgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxMQorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgc2F2ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzNCBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiSG9pYXR1czogcGFydGl0c2lvb24gJWQgc2lzYWxkYWIgc2VrdG9yaXQgMFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzcgZGlzay11dGlscy9zZmRpc2suYzoxNDc5CisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgc2lnbmF0dXJlPyIKK21zZ3N0ciAiS2FzIHNvb3ZpdGUgbHV1YSBwYXJ0aXRzaW9vbml0YWJlbGl0PyAoeS9uKSAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU3NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQgdGFiZWxpdGUga2lyanV0YW1pc2VsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MTMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGZpeCBwYXJ0aXRpb25zIG9yZGVyLiIKK21zZ3N0ciAiICAgZiAgIHBhcmFuZGFkYSBwYXJ0aXRzaW9vbmlkZSBq5HJqZWtvcmQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYxNQorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb25zIG9yZGVyIGZpeGVkLiIKK21zZ3N0ciAi3Gh0ZWdpIHBhcnRpdHNpb29uaSBwb2xlIGRlZmluZWVyaXR1ZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiSWdub3JlZXJpbiBsaXNhLWV4dGVuZGVkIHBhcnRpc3RzaW9vbmkgJWRcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjYwCisjLCBmdXp6eQorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gY3lsaW5kZXJzIChERVBSRUNBVEVEISkuIgorbXNnc3RyICJTaXNlc3RhbWlzZWwgamEgbuRpdGFtaXNlbCBvbiBu/PxkIPxoaWt1dGVrcyAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjIKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBzZWN0b3JzLiIKK21zZ3N0ciAiU2lzZXN0YW1pc2VsIGphIG7kaXRhbWlzZWwgb24gbvz8ZCD8aGlrdXRla3MgJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjcyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjg0MgorIywgZnV6enkKK21zZ2lkICJMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuIgorbXNnc3RyICIgICBiIHJlZGlnZWVyaWRhIE5TRCBwYXJ0aXRzaW9vbml0YWJlbGl0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MDkKK21zZ2lkICJOZXcgbWF4aW11bSBlbnRyaWVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjcxOQorIywgZnV6enkKK21zZ2lkICJFbnRlcmluZyBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgZGlza2xhYmVsLiIKK21zZ3N0ciAiICAgYiByZWRpZ2VlcmlkYSBOU0QgcGFydGl0c2lvb25pdGFiZWxpdCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzM1Cittc2dpZCAiTmV3IFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NTAKKyMsIGZ1enp5Cittc2dpZCAiTmV3IG5hbWUiCittc2dzdHIgIlZpZ2FuZSBrYXN1dGFqYW5pbWkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjgxMworIywgZnV6enkKK21zZ2lkICJFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIiAgIGIgcmVkaWdlZXJpZGEgTlNEIHBhcnRpdHNpb29uaXRhYmVsaXQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5OAorbXNnaWQgIk51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgIlNpc2VzdGFnZSBzaWxpbmRyaXRlIGFydiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAwMgorbXNnaWQgIk51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAiU2lzZXRhZ2UgcGVhZGUgYXJ2IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDA2Cittc2dpZCAiTnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIlNpc2V0YWdlIHNla3Rvcml0ZSBhcnYiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZFxuIgorbXNnc3RyICIlcyBvbiBtb250ZWVyaXR1ZC4gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudGVkXG4iCittc2dzdHIgIiVzOiBzaXNlbmRpIPxsZXTkaXR1bWluZSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMxIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzQKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1MyBkaXNrLXV0aWxzL3NmZGlzay5jOjI5NyBsaWJmZGlzay9zcmMvYnNkLmM6NjQ2CisjOiBsaWIvcGF0aC5jOjExMCBsaWIvcGF0aC5jOjEzMSBsaWIvcGF0aC5jOjE1MiBsaWIvcGF0aC5jOjIwMAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIxMyBsb2dpbi11dGlscy9sYXN0LmM6MjUwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo2NjQKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjM5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjcxNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkICVzIgorbXNnc3RyICIlczogZWkgc3V1ZGEgbHVnZWRhICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMyBsaWIvcGF0aC5jOjEzMyBsaWIvcGF0aC5jOjE1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicGFyc2UgZXJyb3I6ICVzIgorbXNnc3RyICJwb3NpdHNpb25lZXJpbWlzZSB2aWdhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJpb2N0bCgpIGFiaWwga2VsbGEgbHVnZW1pbmUgJXMga2F1ZHUgZWkg9W5uZXN0dW51ZCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMb2NraW5nIGRpc2sgYnkgJXMgLi4uICIKK21zZ3N0ciAiS2lyanV0YW4gcHVodnJlaWQga2V0dGFsZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiKHdhaXRpbmcpICIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlc2UgYXJlIGZvbGxvd3VwcyB0byAiTG9ja2luZyBkaXNrLi4uIi4KKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5NAorbXNnaWQgInN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5sb2NraW5nICVzLlxuIgorbXNnc3RyICJLYXN1dGFuICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGRlc2NyaXB0aW9uIGZvciAlcyIKK21zZ3N0ciAiaW9jdGwoKSBhYmlsIGtlbGxhIGx1Z2VtaW5lICVzIGthdWR1IGVpIPVubmVzdHVudWQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ3NCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3ODIgbWlzYy11dGlscy9sc2Jsay5jOjQzMworIzogc3lzLXV0aWxzL21vdW50LmM6MTAyIHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6MTkgc3lzLXV0aWxzL3Vtb3VudC5jOjQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCAtLSBpZ25vcmVkIgorbXNnc3RyICJwb3NpdHNpb25lZXJpbWlzZSB2aWdhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo1MDYgZGlzay11dGlscy9mc2NrLmM6NTA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIGZzdGFiIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2NzkgbG9naW4tdXRpbHMvbG9naW4uYzo5NjggbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMzQKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMDQgc3lzLXV0aWxzL2Zsb2NrLmM6MzQ1IHN5cy11dGlscy9uc2VudGVyLmM6MTUzCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzE2IHN5cy11dGlscy91bnNoYXJlLmM6MjE5IHN5cy11dGlscy91bnNoYXJlLmM6NDIwCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc4MAorIywgZnV6enkKK21zZ2lkICJmb3JrIGZhaWxlZCIKK21zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGUgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc3NAorbXNnaWQgIndhaXQ6IG5vIG1vcmUgY2hpbGQgcHJvY2Vzcz8hPyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3Nzcgc3lzLXV0aWxzL2Zsb2NrLmM6MzYzIHN5cy11dGlscy9zd2Fwb24uYzozNDgKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDA0IHN5cy11dGlscy91bnNoYXJlLmM6NDI1CisjLCBmdXp6eQorbXNnaWQgIndhaXRwaWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBlaSD1bm5lc3R1bnVkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZy4uLiAlcyBmb3IgZGV2aWNlICVzIGV4aXRlZCB3aXRoIHNpZ25hbCAlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzOiBzdGF0dXMgaXMgJXgsIHNob3VsZCBuZXZlciBoYXBwZW4uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjg0NworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5pc2hlZCB3aXRoICVzIChleGl0IHN0YXR1cyAlZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5MjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yICVkICglbSkgd2hpbGUgZXhlY3V0aW5nIGZzY2suJXMgZm9yICVzIgorbXNnc3RyICJWaWdhIHNla3RvcmkgJWx1IGtpcmp1dGFtaXNlbCBzZWFkbWVsZSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5OTEKK21zZ2lkICIiCisiRWl0aGVyIGFsbCBvciBub25lIG9mIHRoZSBmaWxlc3lzdGVtIHR5cGVzIHBhc3NlZCB0byAtdCBtdXN0IGJlIHByZWZpeGVkXG4iCisid2l0aCAnbm8nIG9yICchJy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgYmFkIGxpbmUgaW4gL2V0Yy9mc3RhYjogYmluZCBtb3VudCB3aXRoIG5vbnplcm8gZnNjayBwYXNzIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBub25leGlzdGVudCBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub25leGlzdGVudCBkZXZpY2UgKFwibm9mYWlsXCIgZnN0YWIgb3B0aW9uIG1heSBiZSB1c2VkIHRvIHNraXAgdGhpcyBkZXZpY2UpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIHVua25vd24gZmlsZXN5c3RlbSB0eXBlXG4iCittc2dzdHIgIiAgIGwgICBhbmRhIG5pbWVraXJpIHR1bnR1ZCBmYWlsaXP8c3RlZW1pZGUgdPz8cGlkZXN0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGVjayAlczogZnNjay4lcyBub3QgZm91bmQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTI1OQorIywgZnV6enkKK21zZ2lkICJDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLlxuIgorbXNnc3RyICJQZWFsZXN1bm5pdHVkIGtvbnRyb2xsIGZhaWxpc/xzdGVlbWlsICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS13YWl0aW5nLS0gKHBhc3MgJWQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAtLSBbZnMtb3B0aW9uc10gWzxmaWxlc3lzdGVtPiAuLi5dXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNzkKKyMsIGZ1enp5Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlBlYWxlc3Vubml0dWQga29udHJvbGwgZmFpbGlz/HN0ZWVtaWwgJXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4MgorIywgZnV6enkKK21zZ2lkICIgLUEgICAgICAgICBjaGVjayBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiUGVhbGVzdW5uaXR1ZCBrb250cm9sbCBmYWlsaXP8c3RlZW1pbCAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzgzCittc2dpZCAiIC1DIFs8ZmQ+XSAgZGlzcGxheSBwcm9ncmVzcyBiYXI7IGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODQKK21zZ2lkICIgLWwgICAgICAgICBsb2NrIHRoZSBkZXZpY2UgdG8gZ3VhcmFudGVlIGV4Y2x1c2l2ZSBhY2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg1CisjLCBmdXp6eQorbXNnaWQgIiAtTSAgICAgICAgIGRvIG5vdCBjaGVjayBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBNdXV0YSBqb29rc3ZhIHBhcnRpdHNpb29uaSBmYWlsaXP8c3RlZW1pIHT8/HBpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg2Cittc2dpZCAiIC1OICAgICAgICAgZG8gbm90IGV4ZWN1dGUsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGJlIGRvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg3Cittc2dpZCAiIC1QICAgICAgICAgY2hlY2sgZmlsZXN5c3RlbXMgaW4gcGFyYWxsZWwsIGluY2x1ZGluZyByb290XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4OAorbXNnaWQgIiAtUiAgICAgICAgIHNraXAgcm9vdCBmaWxlc3lzdGVtOyB1c2VmdWwgb25seSB3aXRoICctQSdcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg5Cittc2dpZCAiIgorIiAtciBbPGZkPl0gIHJlcG9ydCBzdGF0aXN0aWNzIGZvciBlYWNoIGRldmljZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTEKKyMsIGZ1enp5Cittc2dpZCAiIC1zICAgICAgICAgc2VyaWFsaXplIHRoZSBjaGVja2luZyBvcGVyYXRpb25zXG4iCittc2dzdHIgIiAgZCAgICAgICAgICBLdXN0dXRhZGEgam9va3NldiBwYXJ0aXRzaW9vbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MgorIywgZnV6enkKK21zZ2lkICIgLVQgICAgICAgICBkbyBub3Qgc2hvdyB0aGUgdGl0bGUgb24gc3RhcnR1cFxuIgorbXNnc3RyICIgIHAgICAgICAgICAgVuRsamFzdGFkYSBwYXJ0aXRzaW9vbml0YWJlbCBla3JhYW5pbGUgdvVpIGZhaWxpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkzCittc2dpZCAiIgorIiAtdCA8dHlwZT4gIHNwZWNpZnkgZmlsZXN5c3RlbSB0eXBlcyB0byBiZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIDx0eXBlPiBpcyBhbGxvd2VkIHRvIGJlIGEgY29tbWEtc2VwYXJhdGVkIGxpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk1Cittc2dpZCAiIC1WICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk2Cittc2dpZCAiIC0/ICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk5Cittc2dpZCAiU2VlIHRoZSBzcGVjaWZpYyBmc2NrLiogY29tbWFuZHMgZm9yIGF2YWlsYWJsZSBmcy1vcHRpb25zLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDM4CisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IGRldmljZXMiCittc2dzdHIgIiVzIHBvbGUgZmxvcGlzZWFkZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDUwCisjLCBmdXp6eQorbXNnaWQgIklzIC9wcm9jIG1vdW50ZWQ/IgorbXNnc3RyICIlcyBvbiBtb250ZWVyaXR1ZC4gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHJvb3QgdG8gc2NhbiBmb3IgbWF0Y2hpbmcgZmlsZXN5c3RlbXM6ICVzIgorbXNnc3RyICJNb250ZWVyaW4gbGFodGkga/VpayBhbGxlc2rk5G51ZCBmYWlsaXP8c3RlZW1pZCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgZmluZCBtYXRjaGluZyBmaWxlc3lzdGVtOiAlcyIKK21zZ3N0ciAiTW9udGVlcmluIGxhaHRpIGv1aWsgYWxsZXNq5ORudWQgZmFpbGlz/HN0ZWVtaWQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NzAgZGlzay11dGlscy9mc2NrLmM6MTU2NSBtaXNjLXV0aWxzL2tpbGwuYzozNjMKKyM6IHN5cy11dGlscy9lamVjdC5jOjI3OQorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTUyNSBkaXNrLXV0aWxzL2ZzY2suYzoxNTI4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXIiCittc2dzdHIgInZpZ2FuZSBraWlydXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yOiAlZCIKK21zZ3N0ciAidmlnYW5lIGtpaXJ1czogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2MTgKK21zZ2lkICJ0aGUgLWwgb3B0aW9uIGNhbiBiZSB1c2VkIHdpdGggb25lIGRldmljZSBvbmx5IC0tIGlnbm9yZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPlxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE2Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIGNvbXByZXNzZWQgUk9NIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOQorbXNnaWQgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjAKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjEKK21zZ2lkICIgLXkgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIyCittc2dpZCAiIC1iLCAtLWJsb2Nrc2l6ZSA8c2l6ZT4gICB1c2UgdGhpcyBibG9ja3NpemUsIGRlZmF1bHRzIHRvIHBhZ2Ugc2l6ZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjMKK21zZ2lkICIgICAgIC0tZXh0cmFjdFs9PGRpcj5dICAgIHRlc3QgdW5jb21wcmVzc2lvbiwgb3B0aW9uYWxseSBleHRyYWN0IGludG8gPGRpcj5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGZhaWxlZDogdW5hYmxlIHRvIGRldGVybWluZSBkZXZpY2Ugc2l6ZTogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IGEgYmxvY2sgZGV2aWNlIG9yIGZpbGU6ICVzIgorbXNnc3RyICIlcyBwb2xlIGZsb3Bpc2VhZGVcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3MCBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA2Cittc2dpZCAiZmlsZSBsZW5ndGggdG9vIHNob3J0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzkgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzMworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI0OSBsaWJmZGlzay9zcmMvYnNkLmM6NzE4IGxpYmZkaXNrL3NyYy9ic2QuYzo4OTAKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMDggbG9naW4tdXRpbHMvbGFzdC5jOjI0MiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZWVrIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODcKK21zZ2lkICJzdXBlcmJsb2NrIG1hZ2ljIG5vdCBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImNyYW1mcyBlbmRpYW5uZXNzIGlzICVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MQorbXNnaWQgImJpZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkxCittc2dpZCAibGl0dGxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTUKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgZmlsZXN5c3RlbSBmZWF0dXJlcyIKK21zZ3N0ciAiU2lzZXN0YWdlIGZhaWxpc/xzdGVlbWkgdPz8YmkgbnVtYmVyOiAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInN1cGVyYmxvY2sgc2l6ZSAoJWQpIHRvbyBzbWFsbCIKK21zZ3N0ciAiU2lzZXRhZ2Ugc2VrdG9yaXRlIGFydiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNAorbXNnaWQgInplcm8gZmlsZSBjb3VudCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA4CisjLCBmdXp6eQorbXNnaWQgImZpbGUgZXh0ZW5kcyBwYXN0IGVuZCBvZiBmaWxlc3lzdGVtIgorbXNnc3RyICJIb2lhdHVzOiBwYXJ0aXRzaW9vbiAlcyBz9WlkYWIg/GxlIGtldHRhIG90c2FcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxMAorbXNnaWQgIm9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMTkKK21zZ2lkICJ1bmFibGUgdG8gdGVzdCBDUkM6IG9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNzIKKyMsIGZ1enp5Cittc2dpZCAiY3JjIGVycm9yIgorbXNnc3RyICJwb3NpdHNpb25lZXJpbWlzZSB2aWdhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzAyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU1NAorbXNnaWQgInNlZWsgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDYKKyMsIGZ1enp5Cittc2dpZCAicmVhZCByb21mcyBmYWlsZWQiCittc2dzdHIgInZpZ2FuZSBraWlydXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzM4CisjLCBmdXp6eQorbXNnaWQgInJvb3QgaW5vZGUgaXMgbm90IGRpcmVjdG9yeSIKK21zZ3N0ciAianV1cmthdGFsb29naSBpLWtpcmplIGVpIGtpcmplbGRhIGthdGFsb29naSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM0MgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgcm9vdCBvZmZzZXQgKCVsdSkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2MAorbXNnaWQgImRhdGEgYmxvY2sgdG9vIGxhcmdlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRlY29tcHJlc3Npb24gZXJyb3I6ICVzIgorbXNnc3RyICJwb3NpdHNpb25lZXJpbWlzZSB2aWdhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgIGhvbGUgYXQgJWx1ICglenUpXG4iCittc2dzdHIgInBlYWtzIG9sZW1hICglZCwgJWQsICVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Mzk3IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICB1bmNvbXByZXNzaW5nIGJsb2NrIGF0ICVsdSB0byAlbHUgKCVsdSlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1ibG9jayAoJWxkKSBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1zaXplICglbGQgdnMgJWxkKSBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDEzIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTYKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTA0IG1pc2MtdXRpbHMvdXVpZGQuYzozNzUgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4MgorIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzUgc3lzLXV0aWxzL3NldHByaXYuYzo1NTggc3lzLXV0aWxzL3N3YXBvbi5jOjM4OQorIzogdGVybS11dGlscy90dHltc2cuYzoxNzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZDogJXMiCittc2dzdHIgIiVzIGF2YW1pbmUgZWkg9W5uZXN0dW51ZCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibGNob3duIGZhaWxlZDogJXMiCittc2dzdHIgImxvZ2luOiBWaWdhIGZvcmsnaW1pc2VsOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAiY2hkaXIgKCkga2F0YWxvb2dpIC9kZXYgZWkg9W5uZXN0dW51ZDogJW0iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInV0aW1lIGZhaWxlZDogJXMiCittc2dzdHIgInZpZ2FuZSB0YWltYWRpIHbk5HJ0dXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1rZGlyIGZhaWxlZDogJXMiCittc2dzdHIgImNoZGlyICgpIGthdGFsb29naSAvZGV2IGVpIPVubmVzdHVudWQ6ICVtIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc2Cittc2dpZCAiZmlsZW5hbWUgbGVuZ3RoIGlzIHplcm8iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3OAorbXNnaWQgImJhZCBmaWxlbmFtZSBsZW5ndGgiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4NAorIywgZnV6enkKK21zZ2lkICJiYWQgaW5vZGUgb2Zmc2V0IgorbXNnc3RyICJ2aWdhbmUgaS1raXJqZSBzdXVydXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0OTkKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTAyCittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBzaXplIGFuZCBub24temVybyBvZmZzZXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMQorbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gb2Zmc2V0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzMKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2l6ZSBlcnJvciBpbiBzeW1saW5rOiAlcyIKK21zZ3N0ciAiS2lyanV0YW1pc2UgdmlnYSBzZWFkbWVsICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInN5bWxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAiZnN5bmMgZWkg9W5uZXN0dW51ZCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU2OQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGZpbGUgaGFzIG5vbi16ZXJvIG9mZnNldDogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU3OQorIywgYy1mb3JtYXQKK21zZ2lkICJmaWZvIGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU4OAorIywgYy1mb3JtYXQKK21zZ2lkICJib2d1cyBtb2RlOiAlcyAoJW8pIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1rbm9kIGZhaWxlZDogJXMiCittc2dzdHIgIk3kbHUgc2FpIG90c2EiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGRhdGEgc3RhcnQgKCVsdSkgPCBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikgKyBzdGFydCAoJXp1KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIGVuZCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzNworbXNnaWQgImludmFsaWQgZmlsZSBkYXRhIG9mZnNldCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Njg0IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MjYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBibG9ja3NpemUgYXJndW1lbnQiCittc2dzdHIgIiVzIHBvbGUgZmxvcGlzZWFkZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBPS1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NAorIywgZnV6enkKK21zZ2lkICJDaGVjayB0aGUgY29uc2lzdGVuY3kgb2YgYSBNaW5peCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJQZWFsZXN1bm5pdHVkIGtvbnRyb2xsIGZhaWxpc/xzdGVlbWlsICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICBsaXN0IGFsbCBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NworbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgIGF1dG9tYXRpYyByZXBhaXJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODgKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlcGFpciAgICAgaW50ZXJhY3RpdmUgcmVwYWlyXG4iCittc2dzdHIgImludGVyYWt0aWl2c2VrcyBwYXJhbmRhbWlzZWtzIG9uIHZhamEgdGVybWluYWxpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgYmUgdmVyYm9zZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkwCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zdXBlciAgICAgIG91dHB1dCBzdXBlci1ibG9jayBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkxCittc2dpZCAiIC1tLCAtLXVuY2xlYXJlZCAgYWN0aXZhdGUgbW9kZSBub3QgY2xlYXJlZCB3YXJuaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICBmb3JjZSBjaGVja1xuIgorbXNnc3RyICIgIHQgICAgICAgICAgTXV1dGEgam9va3N2YSBwYXJ0aXRzaW9vbmkgZmFpbGlz/HN0ZWVtaSB0/PxwaSIKKworIy4gVFJBTlNMQVRPUlM6IHRoZXNlIHllcyBubyBxdWVzdGlvbnMgdXNlcyBycG1hdGNoKCksIGFuZCBzaG91bGQgYmUKKyMuICogdHJhbnNsYXRlZC4KKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoeS9uKT8gIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAobi95KT8gIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ5XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZC5cdCAiCittc2dzdHIgIiVzIG9uIG1vbnRlZXJpdHVkLiAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4OQorbXNnaWQgIkRvIHlvdSByZWFsbHkgd2FudCB0byBjb250aW51ZSIKK21zZ3N0ciAiS2FzIFRlIHNvb3ZpdGUgdPVlc3RpIGrkdGthdGEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJjaGVjayBhYm9ydGVkLlxuIgorbXNnc3RyICJrYXRrZXN0YW4ga29udHJvbGxpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMxOSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA8IEZJUlNUWk9ORSBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJUc29vbmkgbnIuIDwgRklSU1RaT05FIGZhaWxpcyBgJXMnIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPj0gWk9ORVMgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiVHNvb25pIG5yLiA+PSBaT05FUyBmYWlsaXMgYCVzJyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzI2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0NworbXNnaWQgIlJlbW92ZSBibG9jayIKK21zZ3N0ciAiS2FzIGVlbWFsZGFkYSBwbG9rayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IHVuYWJsZSB0byBzZWVrIHRvIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJWaWdhIGx1Z2VtaXNlbDogZWkgc3V1ZGEgc2Vla2lkYSBwbG9raWxlIGZhaWxpcyBgJXMnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIlZpZ2EgbHVnZW1pc2VsOiB2aWdhbmUgcGxva2sgZmFpbGlzIGAlcydcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJbnRlcm5hbCBlcnJvcjogdHJ5aW5nIHRvIHdyaXRlIGJhZCBibG9ja1xuIgorIldyaXRlIHJlcXVlc3QgaWdub3JlZFxuIgorbXNnc3RyICIiCisiU2lzZW1pbmUgdmlnYToga2F0c2Uga2lyanV0YWRhIHZpZ2FzZXNzZSBwbG9ra2lcbiIKKyJLaXJqdXRhbWlzZSBrYXRzZXQgaWdub3JlZXJpdGlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mzg3Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCBwbG9raSBraXJqdXRhbWlzZWwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJXcml0ZSBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJWaWdhIGtpcmp1dGFtaXNlbDogdmlnYW5lIHBsb2trIGZhaWxpcyBgJXMnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUwNQorbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX3N1cGVyX2Jsb2NrIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQgc3VwZXJwbG9raSBraXJqdXRhbWlzZWwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUwNworbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAiZWkgc3V1ZGEga2lyanV0YWRhIHN1cGVycGxva2tpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjAKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICJlaSBzdXVkYSBraXJqdXRhZGEgaS1raXJqZXRlIGthYXJ0aSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTIzCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICJlaSBzdXVkYSBraXJqdXRhZGEgdHNvb25pZGUga2FhcnRpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjYKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICJlaSBzdXVkYSBraXJqdXRhZGEgaS1raXJqZWlkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NTgKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGFsbG9jIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjEKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBzdXBlciBibG9jayIKK21zZ3N0ciAiZWkgc3V1ZGEgbHVnZWRhIHN1cGVycGxva2tpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODMKK21zZ2lkICJiYWQgbWFnaWMgbnVtYmVyIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJ2aWdhbmUgbWFhZ2lsaW5lIG51bWJlciBzdXBlcnBsb2tpcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg1Cittc2dpZCAiT25seSAxayBibG9ja3Mvem9uZXMgc3VwcG9ydGVkIgorbXNnc3RyICJBaW51bHQgMWsgcGxva2lkIGphIHRzb29uaWQgb24gdG9ldGF0dWQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4NworIywgZnV6enkKK21zZ2lkICJiYWQgc19uaW5vZGVzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJ2aWdhbmUgc19pbWFwX2Jsb2NrcyB25GxpIHN1cGVycGxva2lzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODkKK21zZ2lkICJiYWQgc19pbWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAidmlnYW5lIHNfaW1hcF9ibG9ja3MgduRsaSBzdXBlcnBsb2tpcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkxCisjLCBmdXp6eQorbXNnaWQgImJhZCBzX2ZpcnN0ZGF0YXpvbmUgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInZpZ2FuZSBzX2ltYXBfYmxvY2tzIHbkbGkgc3VwZXJwbG9raXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5NAorbXNnaWQgImJhZCBzX3ptYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJ2aWdhbmUgc196bWFwX2Jsb2NrcyB25GxpIHN1cGVycGxva2lzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTAKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBtYXAiCittc2dzdHIgImVpIGrkdGt1IG3kbHUgaS1raXJqZXRlIGthYXJkaWxlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTMKKyMsIGZ1enp5Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBtYXAiCittc2dzdHIgImVpIGrkdGt1IG3kbHUgaS1raXJqZXRlIGthYXJkaWxlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTYKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCittc2dzdHIgImVpIGrkdGt1IG3kbHUgaS1raXJqZXRlIHB1aHZyaWxlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTkKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBjb3VudCIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSBpLWtpcmpldGUgbG9lbmR1cmlsZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjIyCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBjb3VudCIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSB0c29vbmlkZSBsb2VuZHVyaWxlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjYKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZSBtYXAiCittc2dzdHIgImVpIHN1dWRhIGx1Z2VkYSBpLWtpcmpldGUga2FhcnRpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzAKK21zZ2lkICJVbmFibGUgdG8gcmVhZCB6b25lIG1hcCIKK21zZ3N0ciAiZWkgc3V1ZGEgbHVnZWRhIHRzb29uaWRlIGthYXJ0aSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM0Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGVzIgorbXNnc3RyICJlaSBzdXVkYSBsdWdlZGEgaS1raXJqZWlkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCittc2dzdHIgIkhvaWF0dXM6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGlub2Rlc1xuIgorbXNnc3RyICIlbGQgaS1raXJqZXRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBibG9ja3NcbiIKK21zZ3N0ciAiJWxkIHBsb2traVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGaXJzdGRhdGF6b25lPSVqZCAoJWpkKVxuIgorbXNnc3RyICJFc2ltZW5lIGFuZG1ldGUgdHNvb249JWxkICglbGQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0NQorIywgYy1mb3JtYXQKK21zZ2lkICJab25lc2l6ZT0lZFxuIgorbXNnc3RyICJUc29vbmkgc3V1cnVzPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWF4c2l6ZT0lenVcbiIKK21zZ3N0ciAiTWF4LiBzdXVydXM9JWxkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIHN0YXRlPSVkXG4iCittc2dzdHIgIkZhaWxpc/xzdGVlbWkgb2xlaz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJuYW1lbGVuPSV6ZFxuIgorIlxuIgorbXNnc3RyICIiCisibmltZSBwaWtrdXM9JWRcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjY0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcxNAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlZCBtYXJrZWQgdW51c2VkLCBidXQgdXNlZCBmb3IgZmlsZSAnJXMnXG4iCittc2dzdHIgIkkta2lyamUgJWQgb24gbeRyZ2l0dWQgbWl0dGVrYXN1dGF0dWtzLCBhZ2Ega2FzdXRhdHVkIGZhaWxpcyBgJXMnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY2NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MTcKK21zZ2lkICJNYXJrIGluIHVzZSIKK21zZ3N0ciAiTeRya2lkYSBrYXN1dGF0dWtzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2ODkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaWxlIGAlcycgaGFzIG1vZGUgJTA1b1xuIgorbXNnc3RyICJGYWlsIGAlcycgb24gbW9vZGlnYSAlMDVvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY5NiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogaW5vZGUgY291bnQgdG9vIGJpZy5cbiIKK21zZ3N0ciAiSG9pYXR1czogaS1raXJqZXRlIGFydiBvbiBsaWlnYSBzdXVyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc1NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NjMKK21zZ2lkICJyb290IGlub2RlIGlzbid0IGEgZGlyZWN0b3J5IgorbXNnc3RyICJqdXVya2F0YWxvb2dpIGkta2lyamUgZWkga2lyamVsZGEga2F0YWxvb2dpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NzUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrIGhhcyBiZWVuIHVzZWQgYmVmb3JlLiBOb3cgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiUGxva2sgb24ganViYSBrYXN1dGF0dWQsIGt1aWQgbGVpZHVzIHV1ZXN0aSBmYWlsaXMgYCVzJy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MDgKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1MgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA4Cittc2dpZCAiQ2xlYXIiCittc2dzdHIgIkthcyBwdWhhc3RhZGEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgJWQgaW4gZmlsZSBgJXMnIGlzIG1hcmtlZCBub3QgaW4gdXNlLiIKK21zZ3N0ciAiUGxva2sgJWQgZmFpbGlzIGAlcycgb24gbeRyZ2l0dWQgbWl0dGVrYXN1dGF0dWtzLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzg5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgyMAorbXNnaWQgIkNvcnJlY3QiCittc2dzdHIgIkthcyBwYXJhbmRhZGEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk1OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkaXJlY3RvcnkgJyVzJyBjb250YWlucyBhIGJhZCBpbm9kZSBudW1iZXIgZm9yIGZpbGUgJyUuKnMnLiIKK21zZ3N0ciAiS2F0YWxvb2cgYCVzJyBzaXNhbGRhYiB2aWdhc3QgaS1raXJqZSBudW1icml0IGZhaWxpbGUgYCUuKnMnIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzNQorbXNnaWQgIiBSZW1vdmUiCittc2dzdHIgIiBLYXMgZWVtYWxkYWRhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4nIGlzbid0IGZpcnN0XG4iCittc2dzdHIgImAlcyc6IHZpZ2FuZSBrYXRhbG9vZzogYC4nIHBvbGUgZXNpbWVuZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5ODYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4uJyBpc24ndCBzZWNvbmRcbiIKK21zZ3N0ciAiYCVzJzogdmlnYW5lIGthdGFsb29nOiBgLi4nIHBvbGUgdGVpbmVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA5NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTE3Cittc2dpZCAiaW50ZXJuYWwgZXJyb3IiCittc2dzdHIgInNpc2VtaW5lIHZpZ2EiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwOTcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogc2l6ZSA8IDMyIgorbXNnc3RyICJgJXMnOiB2aWdhbmUga2F0YWxvb2c6IHN1dXJ1cyA8IDMyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogaW52YWxpZCBpX3pvbmUsIHVzZSAtLXJlcGFpciB0byBmaXhcbiIKK21zZ3N0ciAiYCVzJzogdmlnYW5lIGthdGFsb29nOiBgLicgcG9sZSBlc2ltZW5lXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMzIKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBiYWRfem9uZSIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIGZ1bmt0c2lvb25pcyBiYWRfem9uZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbW9kZSBub3QgY2xlYXJlZC4iCittc2dzdHIgIkkta2lyamUgJWQgbW9vZGkgZWkgcHVoYXN0YXR1ZC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG5vdCB1c2VkLCBtYXJrZWQgdXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiSS1raXJqZSAlZCBwb2xlIGthc3V0dXNlbCwgbeRyZ2l0dWQga2FzdXRhdHVrcyBiaXRtYXBpcy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IHVzZWQsIG1hcmtlZCB1bnVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIkkta2lyamUgJWQgb24ga2FzdXR1c2VsLCBt5HJnaXR1ZCBtaXR0ZWthc3V0YXR1a3MgYml0bWFwaXMuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTQKK21zZ2lkICJTZXQiCittc2dzdHIgIlNlYWRhIGJpdHQgYml0bWFwaXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IChtb2RlID0gJTA3byksIGlfbmxpbmtzPSVkLCBjb3VudGVkPSVkLiIKK21zZ3N0ciAiSS1raXJqZSAlZCAobW9vZCA9ICUwN28pLCBpX25saW5rcz0lZCwgbG9lbmRhdHVkPSVkLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjIxCittc2dpZCAiU2V0IGlfbmxpbmtzIHRvIGNvdW50IgorbXNnc3RyICJTZWFkYSBpX25saW5rcyBsb2VuZGF0dWQgYXJ2dWtzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTc3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBtYXJrZWQgaW4gdXNlLCBubyBmaWxlIHVzZXMgaXQuIgorbXNnc3RyICJUc29vbiAlZDsgbeRyZ2l0dWQga2FzdXRhdHVrcywga3VpZCD8a3NraSBmYWlsIGVpIGthc3V0YSBzZWRhLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE3OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjM1Cittc2dpZCAiVW5tYXJrIgorbXNnc3RyICJN5HJraWRhIG1pdHRla2FzdXRhdHVrcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogaW4gdXNlLCBjb3VudGVkPSVkXG4iCittc2dzdHIgIlRzb29uICVkOiBrYXN1dHVzZWwsIGxvZW5kYXR1ZD0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTg3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBub3QgaW4gdXNlLCBjb3VudGVkPSVkXG4iCittc2dzdHIgIlRzb29uICVkOiBrYXN1dHVzZWwsIGxvZW5kYXR1ZD0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjkxCittc2dpZCAiYmFkIGlub2RlIHNpemUiCittc2dzdHIgInZpZ2FuZSBpLWtpcmplIHN1dXJ1cyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5MworbXNnaWQgImJhZCB2MiBpbm9kZSBzaXplIgorbXNnc3RyICJ2aWdhbmUgdjIgaS1raXJqZSBzdXVydXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzMzcKK21zZ2lkICJuZWVkIHRlcm1pbmFsIGZvciBpbnRlcmFjdGl2ZSByZXBhaXJzIgorbXNnc3RyICJpbnRlcmFrdGlpdnNla3MgcGFyYW5kYW1pc2VrcyBvbiB2YWphIHRlcm1pbmFsaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICJlaSBzdXVkYSBhdmFkYSBzZWFkZXQgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgY2xlYW4sIG5vIGNoZWNrLlxuIgorbXNnc3RyICIlcyBvbiBwdWhhcyBlZ2EgdmFqYSBrb250cm9sbGlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGb3JjaW5nIGZpbGVzeXN0ZW0gY2hlY2sgb24gJXMuXG4iCittc2dzdHIgIlBlYWxlc3Vubml0dWQga29udHJvbGwgZmFpbGlz/HN0ZWVtaWwgJXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1NworIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIG9uICVzIGlzIGRpcnR5LCBuZWVkcyBjaGVja2luZy5cbiIKK21zZ3N0ciAiRmFpbGlz/HN0ZWVtICVzIG9uIFwibXVzdFwiIGphIHZhamFiIGtvbnRyb2xsaVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmxkIGlub2RlcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2bGQgaS1raXJqZXQga2FzdXR1c2VsICglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlNmxkIHpvbmVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICIlNmxkIHRzb29uaSBrYXN1dHVzZWwgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmQgcmVndWxhciBmaWxlc1xuIgorIiU2ZCBkaXJlY3Rvcmllc1xuIgorIiU2ZCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGJsb2NrIGRldmljZSBmaWxlc1xuIgorIiU2ZCBsaW5rc1xuIgorIiU2ZCBzeW1ib2xpYyBsaW5rc1xuIgorIi0tLS0tLVxuIgorIiU2ZCBmaWxlc1xuIgorbXNnc3RyICIiCisiXG4iCisiJTZkIHRhdmFsaXN0IGZhaWxpXG4iCisiJTZkIGthdGFsb29naVxuIgorIiU2ZCBz/G1ib2xzZWFkZXRcbiIKKyIlNmQgcGxva2tzZWFkZXRcbiIKKyIlNmQgdmlpZGV0XG4iCisiJTZkIG5pbWV2aWlkZXRcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmFpbGlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQxMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIkZJTEUgU1lTVEVNIEhBUyBCRUVOIENIQU5HRURcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIkZBSUxJU9xTVEVFTUkgU0FJIE1VVURFVFVEXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MzMKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTM5IGRpc2stdXRpbHMvcGFydHguYzoxMDM1IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMgorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTggc3lzLXV0aWxzL2RtZXNnLmM6NjU5IHN5cy11dGlscy93ZGN0bC5jOjM0NgorIzogc3lzLXV0aWxzL3dkY3RsLmM6NDExIHRlcm0tdXRpbHMvc2NyaXB0LmM6MjcyIHRlcm0tdXRpbHMvc2NyaXB0LmM6MzQ5CisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI0OAorIywgZnV6enkKK21zZ2lkICJ3cml0ZSBmYWlsZWQiCittc2dzdHIgIiVzIGF2YW1pbmUgZWkg9W5uZXN0dW51ZCIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtaWdodCBub3QgYmUgYW4gSVNPIGZpbGVzeXN0ZW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZWVrIGVycm9yIG9uICVzIgorbXNnc3RyICIlczogc2Vla2ltaXNlIHZpZ2EgZmFpbGlzICVzXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVhZCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiJXM6IGx1Z2VtaXNlIHZpZ2EgZmFpbGlzICVzXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZWN0b3IgY291bnQ6ICVkLCBzZWN0b3Igc2l6ZTogJWRcbiIKK21zZ3N0ciAic2VrdG9yaXRlIGFydjogJWQsIHNla3Rvcmkgc3V1cnVzOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGlzbzk2NjBfaW1hZ2VfZmlsZT5cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTc0Cittc2dpZCAiU2hvdyB0aGUgbGVuZ3RoIG9mIGFuIElTTy05NjYwIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTc3Cittc2dpZCAiIC1kLCAtLWRpdmlzb3I9PG51bWJlcj4gIGRpdmlkZSB0aGUgYW1vdW50IG9mIGJ5dGVzIGJ5IDxudW1iZXI+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTc4CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBzaG93IHNlY3RvciBjb3VudCBhbmQgc2l6ZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MjEwCittc2dpZCAiaW52YWxpZCBkaXZpc29yIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzcKK21zZ2lkICJNYWtlIGFuIFNDTyBiZnMgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1OLCAtLWlub2Rlcz1OVU0gICAgc3BlY2lmeSBkZXNpcmVkIG51bWJlciBvZiBpbm9kZXNcbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICBzcGVjaWZ5IHZvbHVtZSBuYW1lXG4iCisiIC1GLCAtLWZuYW1lPU5BTUUgICAgc3BlY2lmeSBmaWxlIHN5c3RlbSBuYW1lXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyIgLWMgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1sICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiICAgICAgICAgICAgICAgICAgICAgLVYgYXMgdmVyc2lvbiBtdXN0IGJlIG9ubHkgb3B0aW9uXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTQ0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAidmlnYW5lIGFydjogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1MAorbXNnaWQgInZvbHVtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICJr9ml0ZSBuaW1pIG9uIGxpaWdhIHBpa2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTcKK21zZ2lkICJmc25hbWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAiZnMtbmltaSBvbiBsaWlnYSBwaWtrIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTkzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYmxvY2stY291bnQiCittc2dzdHIgInZpZ2FuZSBpZGVudGlmaWthYXRvciIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgImVpIHN1dWRhIGtpbmRsYWtzIHRlaGEgc2VhZG1lICVzIG1haHR1IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJibG9ja3MgYXJndW1lbnQgdG9vIGxhcmdlLCBtYXggaXMgJWxsdSIKK21zZ3N0ciAicGxva2tpZGUgYXJ2dSBhcmd1bWVudCBvbiBsaWlnYSBzdXVyLCBtYWtzaW11bSBvbiAlbHUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMTkKK21zZ2lkICJ0b28gbWFueSBpbm9kZXMgLSBtYXggaXMgNTEyIgorbXNnc3RyICJsaWlnYSBwYWxqdSBpLWtpcmplaWQgLSBtYWtzaW11bSBvbiA1MTIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UsIG5lZWQgYXQgbGVhc3QgJWxsdSBibG9ja3MiCittc2dzdHIgInBvbGUgcGlpc2F2YWx0IHZhYmEgcnV1bWksIHZhamEgb2xla3MgduRoZW1hbHQgJWx1IHBsb2traSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2U6ICVzXG4iCittc2dzdHIgIlNlYWRlOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIlZvbHVtZTogPCUtNnM+XG4iCittc2dzdHIgIkv2aWRlOiA8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJGU25hbWU6IDwlLTZzPlxuIgorbXNnc3RyICJGU25pbWk6IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrU2l6ZTogJWRcbiIKK21zZ3N0ciAiUGxva2kgc3V1cnVzOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gMSBibG9jaylcbiIKK21zZ3N0ciAiSS1raXJqZWlkOiAlZCAoMSBwbG9raXMpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAlbGx1IGJsb2NrcylcbiIKK21zZ3N0ciAiSS1raXJqZWlkOiAlZCAoJWxkIHBsb2tpcylcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tzOiAlbGx1XG4iCittc2dzdHIgIlBsb2trZTogJWxkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgZW5kOiAlZCwgRGF0YSBlbmQ6ICVkXG4iCittc2dzdHIgIkkta2lyamV0ZSBs9XBwOiAlZCwgYW5kbWV0ZSBs9XBwOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU3Cittc2dpZCAiZXJyb3Igd3JpdGluZyBzdXBlcmJsb2NrIgorbXNnc3RyICJ2aWdhIHN1cGVycGxva2kga2lyanV0YW1pc2VsIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjc4Cittc2dpZCAiZXJyb3Igd3JpdGluZyByb290IGlub2RlIgorbXNnc3RyICJ2aWdhIHRpcG1pc2UgaS1raXJqZSBraXJqdXRhbWlzZWwiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODMKK21zZ2lkICJlcnJvciB3cml0aW5nIGlub2RlIgorbXNnc3RyICJ2aWdhIGkta2lyamUga2lyanV0YW1pc2VsIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjg2Cittc2dpZCAic2VlayBlcnJvciIKK21zZ3N0ciAicG9zaXRzaW9uZWVyaW1pc2UgdmlnYSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5MgorbXNnaWQgImVycm9yIHdyaXRpbmcgLiBlbnRyeSIKK21zZ3N0ciAidmlnYSAuIGtpcmplIGtpcmp1dGFtaXNlbCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5NgorbXNnaWQgImVycm9yIHdyaXRpbmcgLi4gZW50cnkiCittc2dzdHIgInZpZ2EgLi4ga2lyamUga2lyanV0YW1pc2VsIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNsb3NpbmcgJXMiCittc2dzdHIgInZpZ2EgJXMgc3VsZ2VtaXNlbCIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy10IDx0eXBlPl0gW2ZzLW9wdGlvbnNdIDxkZXZpY2U+IFs8c2l6ZT5dXG4iCittc2dzdHIgIkthc3V0YW1pbmU6IG1rZnMgWy1WXSBbLXQgZnN0/PxwXSBbZnMtdvV0bWVkXSBzZWFkZSBbc3V1cnVzXVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0OAorIywgZnV6enkKK21zZ2lkICJNYWtlIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiU2lzZXN0YWdlIGZhaWxpc/xzdGVlbWkgdPz8YmkgbnVtYmVyOiAiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdCwgLS10eXBlPTx0eXBlPiAgZmlsZXN5c3RlbSB0eXBlOyB3aGVuIHVuc3BlY2lmaWVkLCBleHQyIGlzIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIGZzLW9wdGlvbnMgICAgIHBhcmFtZXRlcnMgZm9yIHRoZSByZWFsIGZpbGVzeXN0ZW0gYnVpbGRlclxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxzaXplPiAgICAgICAgIG51bWJlciBvZiBibG9ja3MgdG8gYmUgdXNlZCBvbiB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJib3NlICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmU7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnlpbmcgLVYgbW9yZSB0aGFuIG9uY2Ugd2lsbCBjYXVzZSBhIGRyeS1ydW5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcnNpb24gICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQ7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIC1WIGFzIC0tdmVyc2lvbiBtdXN0IGJlIHRoZSBvbmx5IG9wdGlvblxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjEzOSBsaWIvZXhlY19zaGVsbC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjIzMworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjU3IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk5MgorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwMCBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODA0IHNjaGVkdXRpbHMvY2hydC5jOjU1OAorIzogc2NoZWR1dGlscy9pb25pY2UuYzoyNjAgc2NoZWR1dGlscy90YXNrc2V0LmM6MjM5IHN5cy11dGlscy9mbG9jay5jOjEyMgorIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MzAgc3lzLXV0aWxzL3BybGltaXQuYzo2NDQgc3lzLXV0aWxzL3J0Y3dha2UuYzo1NzcKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzI0IHN5cy11dGlscy9zZXRhcmNoLmM6NDAzIHN5cy11dGlscy9zZXRzaWQuYzoxMTUKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozNDAgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjQyIHN5cy11dGlscy91bnNoYXJlLmM6NDYxCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU4MSB0ZXh0LXV0aWxzL3BnLmM6MTM3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGV4ZWN1dGUgJXMiCittc2dzdHIgImlvY3RsKCkgYWJpbCBrZWxsYSBsdWdlbWluZSAlcyBrYXVkdSBlaSD1bm5lc3R1bnVkIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1c2FnZTogJXMgWy1oXSBbLXZdIFstYiBibGtzaXplXSBbLWUgZWRpdGlvbl0gWy1OIGVuZGlhbl0gWy1pIGZpbGVdIFstbiBuYW1lXSBkaXJuYW1lIG91dGZpbGVcbiIKKyIgLWggICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyIgLXYgICAgICAgICBiZSB2ZXJib3NlXG4iCisiIC1FICAgICAgICAgbWFrZSBhbGwgd2FybmluZ3MgZXJyb3JzIChub24temVybyBleGl0IHN0YXR1cylcbiIKKyIgLWIgYmxrc2l6ZSB1c2UgdGhpcyBibG9ja3NpemUsIG11c3QgZXF1YWwgcGFnZSBzaXplXG4iCisiIC1lIGVkaXRpb24gc2V0IGVkaXRpb24gbnVtYmVyIChwYXJ0IG9mIGZzaWQpXG4iCisiIC1OIGVuZGlhbiAgc2V0IGNyYW1mcyBlbmRpYW5uZXNzIChiaWd8bGl0dGxlfGhvc3QpLCBkZWZhdWx0IGhvc3RcbiIKKyIgLWkgZmlsZSAgICBpbnNlcnQgYSBmaWxlIGltYWdlIGludG8gdGhlIGZpbGVzeXN0ZW0gKHJlcXVpcmVzID49IDIuNC4wKVxuIgorIiAtbiBuYW1lICAgIHNldCBuYW1lIG9mIGNyYW1mcyBmaWxlc3lzdGVtXG4iCisiIC1wICAgICAgICAgcGFkIGJ5ICVkIGJ5dGVzIGZvciBib290IGNvZGVcbiIKKyIgLXMgICAgICAgICBzb3J0IGRpcmVjdG9yeSBlbnRyaWVzIChvbGQgb3B0aW9uLCBpZ25vcmVkKVxuIgorIiAteiAgICAgICAgIG1ha2UgZXhwbGljaXQgaG9sZXMgKHJlcXVpcmVzID49IDIuMy4zOSlcbiIKKyIgZGlybmFtZSAgICByb290IG9mIHRoZSBmaWxlc3lzdGVtIHRvIGJlIGNvbXByZXNzZWRcbiIKKyIgb3V0ZmlsZSAgICBvdXRwdXQgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlYWRsaW5rIGZhaWxlZDogJXMiCittc2dzdHIgInZpZ2FuZSBraWlydXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBkaXJlY3RvcnkgJXMiCittc2dzdHIgImp1dXJrYXRhbG9vZ2kgaS1raXJqZSBlaSBraXJqZWxkYSBrYXRhbG9vZ2kiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo0NDMKK21zZ2lkICJmaWxlc3lzdGVtIHRvbyBiaWcuICBFeGl0aW5nLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkFJRUVFOiBibG9jayBcImNvbXByZXNzZWRcIiB0byA+IDIqYmxvY2tsZW5ndGggKCVsZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiU2LjJmJSUgKCUrbGQgYnl0ZXMpXHQlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjbG9zZSBmaWxlICVzIgorbXNnc3RyICJFaSBzdXVkYSBhdmFkYSBmYWlsaSBgJXMnIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzMyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZWRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgInZpZ2FuZSBpZGVudGlmaWthYXRvciIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc0MgorbXNnaWQgImludmFsaWQgZW5kaWFubmVzcyBnaXZlbjsgbXVzdCBiZSAnYmlnJywgJ2xpdHRsZScsIG9yICdob3N0JyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGd1ZXN0aW1hdGUgb2YgcmVxdWlyZWQgc2l6ZSAodXBwZXIgYm91bmQpIGlzICVsbGRNQiwgYnV0IG1heGltdW0gaW1hZ2Ugc2l6ZSBpcyAldU1CLiAgV2UgbWlnaHQgZGllIHByZW1hdHVyZWx5LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODMwCittc2dpZCAiUk9NIGltYWdlIG1hcCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbmNsdWRpbmc6ICVzXG4iCittc2dzdHIgIlZpZ2FuZSBhcnY6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlyZWN0b3J5IGRhdGE6ICV6ZCBieXRlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXZlcnl0aGluZzogJXpkIGtpbG9ieXRlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwZXIgYmxvY2s6ICV6ZCBieXRlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1JDOiAleFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSBhbGxvY2F0ZWQgZm9yIFJPTSBpbWFnZSAoJWxsZCBhbGxvY2F0ZWQsICV6dSB1c2VkKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODc5CisjLCBjLWZvcm1hdAorbXNnaWQgIlJPTSBpbWFnZSB3cml0ZSBmYWlsZWQgKCV6ZCAlemQpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODIKK21zZ2lkICJST00gaW1hZ2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZW5hbWVzIHRydW5jYXRlZCB0byAldSBieXRlcy4iCittc2dzdHIgIkhvaWF0dXM6IGkta2lyamV0ZSBhcnYgb24gbGlpZ2Egc3V1clxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODkzCittc2dpZCAid2FybmluZzogZmlsZXMgd2VyZSBza2lwcGVkIGR1ZSB0byBlcnJvcnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGUgc2l6ZXMgdHJ1bmNhdGVkIHRvICVsdU1CIChtaW51cyAxIGJ5dGUpLiIKK21zZ3N0ciAiSG9pYXR1czogaS1raXJqZXRlIGFydiBvbiBsaWlnYSBzdXVyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdWlkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGdpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogZGV2aWNlIG51bWJlcnMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICBUaGlzIGFsbW9zdCBjZXJ0YWlubHkgbWVhbnNcbiIKKyJ0aGF0IHNvbWUgZGV2aWNlIGZpbGVzIHdpbGwgYmUgd3JvbmcuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgIiAtMSAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAxXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiIC0yLCAtdiAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDJcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOQorIywgZnV6enkKK21zZ2lkICIgLTMgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gM1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQwCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uYW1lbGVuZ3RoIDxudW0+ICBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQxCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pbm9kZXMgPG51bT4gICAgICBudW1iZXIgb2YgaW5vZGVzIGZvciB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICJTaXNlc3RhZ2Ugc2lsaW5kcml0ZSBhcnY6ICIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQyCisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jaGVjayAgICAgICAgICAgICBjaGVjayB0aGUgZGV2aWNlIGZvciBiYWQgYmxvY2tzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDMKK21zZ2lkICIgLWwsIC0tYmFkYmxvY2tzIDxmaWxlPiAgbGlzdCBvZiBiYWQgYmxvY2tzIGZyb20gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgdG8gYm9vdCBibG9jayBmYWlsZWQgIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAiYm9vdC1wbG9ra2kgc2Vla2ltaW5lIHRhYmVsaXRlIGtpcmp1dGFtaXNlbCBlaSD1bm5lc3R1bnVkIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gY2xlYXIgYm9vdCBzZWN0b3IiCittc2dzdHIgImVpIHN1dWRhIHB1aGFzdGFkYSBib290LXNla3Rvcml0IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCB0YWJlbGl0ZSBraXJqdXRhbWlzZWwiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAiZWkgc3V1ZGEga2lyanV0YWRhIHN1cGVycGxva2tpIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICJlaSBzdXVkYSBraXJqdXRhZGEgaS1raXJqZXRlIGthYXJ0aSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICJlaSBzdXVkYSBraXJqdXRhZGEgdHNvb25pZGUga2FhcnRpIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICJlaSBzdXVkYSBraXJqdXRhZGEgaS1raXJqZWlkIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIHBsb2tpIGtpcmp1dGFtaXNlbCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICJwbG9raSBraXJqdXRhbWluZSBlaSD1bm5lc3R1bnVkIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMjEgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Mjk2CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzozNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbWFueSBiYWQgYmxvY2tzIgorbXNnc3RyICJsaWlnYSBwYWxqdSB2aWdhc2VpZCBwbG9ra2UiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBlbm91Z2ggZ29vZCBibG9ja3MiCittc2dzdHIgImxpaWdhIHbkaGUga29ycmFzIHBsb2trZSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJGaXJzdCBkYXRhIGJsb2NrIGF0ICVqZCwgd2hpY2ggaXMgdG9vIGZhciAobWF4ICVkKS5cbiIKKyJUcnkgc3BlY2lmeWluZyBmZXdlciBpbm9kZXMgYnkgcGFzc2luZyAtLWlub2RlcyA8bnVtPiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIiVsZCBpLWtpcmpldFxuIgorbXNnc3RyWzFdICIlbGQgaS1raXJqZXRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlbGQgcGxva2tpXG4iCittc2dzdHJbMV0gIiVsZCBwbG9ra2lcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJab25lc2l6ZT0lenVcbiIKK21zZ3N0ciAiVHNvb25pIHN1dXJ1cz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJNYXhzaXplPSV6dVxuIgorIlxuIgorbXNnc3RyICIiCisiTWF4LiBzdXVydXM9JWxkXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGR1cmluZyB0ZXN0aW5nIG9mIGJsb2NrcyIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIHBsb2traWRlIHRlc3RpbWlzZWwiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJXZWlyZCB2YWx1ZXMgaW4gZG9fY2hlY2s6IHByb2JhYmx5IGJ1Z3NcbiIKK21zZ3N0ciAiSW1lbGlrdWQgduTkcnR1c2VkIGZ1bmt0c2lvb25pcyBkb19jaGVjayAtIGlsbXNlbHQgYnVnaWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQgcGxva2tpZGUga29udHJvbGxpbWlzZWwiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBibG9ja3MgYmVmb3JlIGRhdGEtYXJlYTogY2Fubm90IG1ha2UgZnMiCittc2dzdHIgInZpZ2FzZWQgcGxva2lkIGVubmUgYW5kbWVwaWlya29uZGEgLSBlaSBzdXVkYSBmYWlsaXP8c3RlZW1pIHRla2l0YWRhIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MzkgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCBiYWQgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWQgYmFkIGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlZCB2aWdhc3QgcGxva2tpXG4iCittc2dzdHJbMV0gIiVkIHZpZ2FzdCBwbG9ra2lcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgb3BlbiBmaWxlIG9mIGJhZCBibG9ja3MiCittc2dzdHIgImVpIHN1dWRhIHZpZ2FzdGUgcGxva2tpZGUgZmFpbGkgYXZhZGEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1MworIywgYy1mb3JtYXQKK21zZ2lkICJiYWRibG9jayBudW1iZXIgaW5wdXQgZXJyb3Igb24gbGluZSAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGJhZGJsb2NrcyBmaWxlIgorbXNnc3RyICJFaSBzdXVkYSBrZXR0YWx0IGx1Z2VkYSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk0CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIHNpemUgc21hbGxlciB0aGFuIHBoeXNpY2FsIHNlY3RvciBzaXplIG9mICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBzaXplIG9mICVzIgorbXNnc3RyICJlaSBzdXVkYSBraW5kbGFrcyB0ZWhhIHNlYWRtZSAlcyBtYWh0dSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZXF1ZXN0ZWQgYmxvY2tzICglbGx1KSBleGNlZWRzIGF2YWlsYWJsZSAoJWxsdSkgYmxvY2tzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbnVtYmVyIG9mIGJsb2NrcyB0b28gc21hbGwiCittc2dzdHIgIlNpc2V0YWdlIHNla3Rvcml0ZSBhcnYiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG5hbWUgbGVuZ3RoOiAlZCIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG1pbml4IGZpbGUgc3lzdGVtIHZlcnNpb246ICVkIgorbXNnc3RyICJTaXNlc3RhZ2UgZmFpbGlz/HN0ZWVtaSB0/PxiaSBudW1iZXI6ICIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzY3Cittc2dpZCAiLXYgaXMgYW1iaWd1b3VzLCB1c2UgJy0yJyBpbnN0ZWFkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc3OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBpbm9kZXMiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgwNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGJsb2NrcyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2UgYSBmaWxlc3lzdGVtIGhlcmUhIgorbXNnc3RyICIlcyBvbiBtb250ZWVyaXR1ZCAtIHNpaWEgZmFpbGlz/HN0ZWVtaSBlaSB0ZWUhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCYWQgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICV1IgorbXNnc3RyICJWaWdhbmUga2FzdXRhamEgcG9vbHQgbeTkcmF0dWQgbGVoZWv8bGplIHN1dXJ1cyAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2luZyB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJWQsIGluc3RlYWQgb2YgdGhlIHN5c3RlbSB2YWx1ZSAlZCIKK21zZ3N0ciAiS2FzdXRhbiBldHRlYW50dWQgbGVoZWv8bGplIHN1dXJ1c3QgJWQsIG1pdHRlIHP8c3RlZW1zZWlkICVkLyVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTI0Cittc2dpZCAiTGFiZWwgd2FzIHRydW5jYXRlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbGFiZWwsICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyB1dWlkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdIGRldmljZSBbc2l6ZV1cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTIKK21zZ2lkICJTZXQgdXAgYSBMaW51eCBzd2FwIGFyZWEuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1jLCAtLWNoZWNrICAgICAgICAgICAgICAgY2hlY2sgYmFkIGJsb2NrcyBiZWZvcmUgY3JlYXRpbmcgdGhlIHN3YXAgYXJlYVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGFsbG93IHN3YXAgc2l6ZSBhcmVhIGJlIGxhcmdlciB0aGFuIGRldmljZVxuIgorIiAtcCwgLS1wYWdlc2l6ZSBTSVpFICAgICAgIHNwZWNpZnkgcGFnZSBzaXplIGluIGJ5dGVzXG4iCisiIC1MLCAtLWxhYmVsIExBQkVMICAgICAgICAgc3BlY2lmeSBsYWJlbFxuIgorIiAtdiwgLS1zd2FwdmVyc2lvbiBOVU0gICAgIHNwZWNpZnkgc3dhcC1zcGFjZSB2ZXJzaW9uIG51bWJlclxuIgorIiAtVSwgLS11dWlkIFVVSUQgICAgICAgICAgIHNwZWNpZnkgdGhlIHV1aWQgdG8gdXNlXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBiYWQgcGFnZXM6ICVsdSIKK21zZ3N0ciAibGlpZ2EgcGFsanUgdmlnYXNlaWQgbGVoZWv8bGdpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE5NQorbXNnaWQgInNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIHBsb2traWRlIGtvbnRyb2xsaW1pc2VsIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJhZCBwYWdlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBiYWQgcGFnZXNcbiIKK21zZ3N0clswXSAiJWQgdmlnYXN0IGxlaGVr/GxnZVxuIgorbXNnc3RyWzFdICIlZCB2aWdhc3QgbGVoZWv8bGdlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjI4CisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBuZXcgbGliYmxraWQgcHJvYmUiCittc2dzdHIgImVpIGrkdGt1IG3kbHUgaS1raXJqZXRlIHB1aHZyaWxlIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIzMAorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gYXNzaWduIGRldmljZSB0byBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSBpLWtpcmpldGUgcHVodnJpbGUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNoZWNraW5nIGJhZCBibG9ja3MgZnJvbSBzd2FwIGZpbGUgaXMgbm90IHN1cHBvcnRlZDogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNjEgZGlzay11dGlscy9ta3N3YXAuYzoyODcgZGlzay11dGlscy9ta3N3YXAuYzozMzQKK21zZ2lkICJ1bmFibGUgdG8gcmV3aW5kIHN3YXAtZGV2aWNlIgorbXNnc3RyICJlaSBzdXVkYSB0YWdhc2kga2VyaWRhIHNhYWxpbWlzc2VhZGV0IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI5MAorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAiZWkgc3V1ZGEgcHVoYXN0YWRhIGJvb3Qtc2VrdG9yaXQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiB3aXBpbmcgb2xkICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiBkb24ndCBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICJlaSBzdXVkYSBwdWhhc3RhZGEgYm9vdC1zZWt0b3JpdCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKCVzIHBhcnRpdGlvbiB0YWJsZSBkZXRlY3RlZCkuICIKK21zZ3N0ciAiICAgcCAgIG7kaWRhdGEgQlNEIHBhcnRpdHNpb29uaXRhYmVsaXQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgIChjb21waWxlZCB3aXRob3V0IGxpYmJsa2lkKS4gIgorbXNnc3RyICIgICBzICAgbuRpZGF0YSB05GllbGlra3UgcGFydGl0c2lvb25pdGFiZWxpdCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzZSAtZiB0byBmb3JjZS5cbiIKK21zZ3N0ciAiS2FzdXRhZ2UgJXMgLWwgbHViYXR1ZCBzaGVsbGlkZSBuaW1la2lyamEgdmFhdGFtaXNla3NcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc2lnbmF0dXJlIHBhZ2UiCittc2dzdHIgImVpIHN1dWRhIGtpcmp1dGFkYSBzaWduYXR1dXJpZ2EgbGVoZWv8bGdlIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4MAorIywgZnV6enkKK21zZ2lkICJwYXJzaW5nIHBhZ2Ugc2l6ZSBmYWlsZWQiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODYKKyMsIGZ1enp5Cittc2dpZCAicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiCittc2dzdHIgIlZpZ2EgJXMgc3VsZ2VtaXNlbFxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwc3BhY2UgdmVyc2lvbiAlZCBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGlnbm9yaW5nIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQgYnkgJXMpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDE0Cittc2dpZCAib25seSBvbmUgZGV2aWNlIGFyZ3VtZW50IGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MjEKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3I6IHBhcnNpbmcgVVVJRCBmYWlsZWQiCittc2dzdHIgIlZpZ2EgJXMgc3VsZ2VtaXNlbFxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzMAorIywgZnV6enkKK21zZ2lkICJlcnJvcjogTm93aGVyZSB0byBzZXQgdXAgc3dhcCBvbj8iCittc2dzdHIgIiVzOiBWaWdhIC0gZWkgb2xlIPZlbGR1ZCwga3VodSBzYWFsaW1pc2FsYSB0ZWtpdGFkYVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzNgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGJsb2NrIGNvdW50IGFyZ3VtZW50IgorbXNnc3RyICJ2aWdhbmUgaWRlbnRpZmlrYWF0b3IiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc2l6ZSAlbGx1IEtpQiBpcyBsYXJnZXIgdGhhbiBkZXZpY2Ugc2l6ZSAlPFBSSXU2ND4gS2lCIgorbXNnc3RyICIlczogVmlnYSAtIHN1dXJ1cyAlbGQgb24gc3V1cmVtIGt1aSBzZWFkbWUgbWFodCAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHN3YXAgYXJlYSBuZWVkcyB0byBiZSBhdCBsZWFzdCAlbGQgS2lCIgorbXNnc3RyICIlczogVmlnYSAtIHNhYWxpbWlzYWxhIHBlYWIgb2xlbWEgduRoZW1hbHQgJWxka0JcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHRydW5jYXRpbmcgc3dhcCBhcmVhIHRvICVsbHUgS2lCIgorbXNnc3RyICIlczogSG9pYXR1cyAtIHBpaXJhbiBzYWFsaW1pc2FsYSAlbGQga0ItZ2FcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIHN3YXBzcGFjZSIKK21zZ3N0ciAiJXMgb24gbW9udGVlcml0dWQgLSBzaWlhIGZhaWxpc/xzdGVlbWkgZWkgdGVlISIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0Njggc3lzLXV0aWxzL3N3YXBvbi5jOjUyNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgcGVybWlzc2lvbnMgJTA0bywgJTA0byBzdWdnZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDcyIHN5cy11dGlscy9zd2Fwb24uYzo1MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIGZpbGUgb3duZXIgJWQsIDAgKHJvb3QpIHN1Z2dlc3RlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0ODcKK21zZ2lkICJVbmFibGUgdG8gc2V0IHVwIHN3YXAtc3BhY2U6IHVucmVhZGFibGUiCittc2dzdHIgIkVpIHN1dWRhIHNhYWxpbWlzYWxhIHRla2l0YWRhOiBzZWFkZSBwb2xlIGxvZXRhdiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgdXAgc3dhcHNwYWNlIHZlcnNpb24gJWQsIHNpemUgPSAlcyAoJTxQUkl1NjQ+IGJ5dGVzKVxuIgorbXNnc3RyICJUZWtpdGFuIHNhYWxpbWlzYWxhIHZlcnNpb29uaWdhICVkLCBzdXVydXMgPSAlbHUgS2lCXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIG9idGFpbiBzZWxpbnV4IGZpbGUgbGFiZWwiCittc2dzdHIgImVpIHN1dWRhIHRhZ2FzaSBrZXJpZGEgc2FhbGltaXNzZWFkZXQiCisKKyMgWFhYIHN0YXQnaWRhCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxNQorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gbWF0Y2hwYXRoY29uKCkiCittc2dzdHIgImVpIHN1dWRhIHN0YXQnaWRhIHNlYWRldCAlcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTgKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBuZXcgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJlaSBzdXVkYSBraXJqdXRhZGEgaS1raXJqZWlkIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMAorbXNnaWQgImNvdWxkbid0IGNvbXB1dGUgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVsYWJlbCAlcyB0byAlcyIKK21zZ3N0ciAiJXM6ICVzIPxtYmVyIG5pbWV0YW1pbmUgJXMgLWtzIGVpIPVubmVzdG51ZDogJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg2CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIlBhcnRpdHNpb29uaSBudW1iZXIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NworIywgZnV6enkKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgIlRy/GtraWRhIGxpaHRzYWx0IHRhYmVsIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODgKKyMsIGZ1enp5Cittc2dpZCAiZW5kIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIKK21zZ3N0ciAiRWkga2lyanV0YW51ZCBwYXJ0aXRzaW9vbml0YWJlbGl0IGtldHRhbGUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OQorIywgZnV6enkKK21zZ2lkICJudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAiU2lzZXRhZ2Ugc2VrdG9yaXRlIGFydiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkwCittc2dpZCAiaHVtYW4gcmVhZGFibGUgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTEKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIG5hbWUiCittc2dzdHIgIlBhcnRpdHNpb29uaSBudW1iZXIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDggbWlzYy11dGlscy9sc2Jsay5jOjE2OAorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpdHNpb29uaTpcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkzCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiB0YWJsZSB0eXBlIChkb3MsIGdwdCwgLi4uKSIKK21zZ3N0ciAiS2lyanV0YW4gcGFydGl0c2lvb25pdGFiZWxpdCBrZXR0YWxlLi4uIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQgbWlzYy11dGlscy9sc2Jsay5jOjE2OQorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gZmxhZ3MiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXRzaW9vbmk6XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIChhIHN0cmluZywgYSBVVUlELCBvciBoZXgpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDggc3lzLXV0aWxzL2xvc2V0dXAuYzo2MTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGN4dCIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlcyBwb2xlIGZsb3Bpc2VhZGVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvIHVzZSAnJXMnIGZvciB0aGUgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiSG9pYXR1czogJXMgcG9sZSBwbG9ra3NlYWRlXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEzMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjU1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UiCittc2dzdHIgImVpIHN1dWRhIHRhZ2FzaSBrZXJpZGEgc2FhbGltaXNzZWFkZXQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxNjEgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozMDcgbWlzYy11dGlscy9maW5kbW50LmM6Mzc2CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MzU0IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM0MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEwNworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzcyIHN5cy11dGlscy9sc2lwYy5jOjIzMiBzeXMtdXRpbHMvbHNucy5jOjE4OQorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyNzcgc3lzLXV0aWxzL3N3YXBvbi5jOjE0NyBzeXMtdXRpbHMvd2RjdGwuYzoxNTEKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6MTQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjIwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIHRhYmVsaXRlIGtpcmp1dGFtaXNlbCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI4NiBkaXNrLXV0aWxzL3BhcnR4LmM6MzI0IGRpc2stdXRpbHMvcGFydHguYzo0NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lmaWVkIHJhbmdlIDwlZDolZD4gZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MjkwCisjLCBjLWZvcm1hdAorbXNnaWQgInJhbmdlIHJlY291bnQ6IG1heCBwYXJ0bm89JWQsIGxvd2VyPSVkLCB1cHBlcj0lZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIkhvaWF0dXM6IGt1c3R1dGFuIHBhcnRpdHNpb29uaWQgcORyYXN0ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICJIb2lhdHVzOiBrdXN0dXRhbiBwYXJ0aXRzaW9vbmlkIHDkcmFzdCAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZW1vdmVkXG4iCittc2dzdHIgItxodGVnaSBwYXJ0aXRzaW9vbmkgcG9sZSBkZWZpbmVlcml0dWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgZG9lc24ndCBleGlzdFxuIgorbXNnc3RyICJTZWUgcGFydGl0c2lvb24gb24ganViYSBvbGVtYXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRlbGV0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICJJZ25vcmVlcmluIGxpc2EtZXh0ZW5kZWQgcGFydGlzdHNpb29uaSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiZWkgc2lzYWxkdSBwYXJ0aXRzaW9vbmlzICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiSG9pYXR1czogcGFydGl0c2lvb25pZCAlcyAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MDUgZGlzay11dGlscy9wYXJ0eC5jOjUxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIKK21zZ3N0ciAi3Gh0ZWdpIHBhcnRpdHNpb29uaSBwb2xlIGRlZmluZWVyaXR1ZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYWRkaW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIkhvaWF0dXM6IGt1c3R1dGFuIHBhcnRpdHNpb29uaWQgcORyYXN0ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICJIb2lhdHVzOiBrdXN0dXRhbiBwYXJ0aXRzaW9vbmlkIHDkcmFzdCAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uICMlZCIKK21zZ3N0ciAi3Gh0ZWdpIHBhcnRpdHNpb29uaSBwb2xlIGRlZmluZWVyaXR1ZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZXNpemVkXG4iCittc2dzdHIgItxodGVnaSBwYXJ0aXRzaW9vbmkgcG9sZSBkZWZpbmVlcml0dWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVwZGF0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICJJZ25vcmVlcmluIGxpc2EtZXh0ZW5kZWQgcGFydGlzdHNpb29uaSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWN0b3IsICU2anUgTUIpXG4iCittc2dpZF9wbHVyYWwgIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWN0b3JzLCAlNmp1IE1CKVxuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU4MSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2ODggbWlzYy11dGlscy9maW5kbW50LmM6NzA1CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozOTEgc3lzLXV0aWxzL2xzbnMuYzo0NTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBsaW5lIHRvIG91dHB1dCIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjQ0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhZGQgZGF0YSB0byBvdXRwdXQgdGFibGUiCittc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY2NyBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjkyMiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTg1CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg3NCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NTEgc3lzLXV0aWxzL2xvc2V0dXAuYzozMTAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MTMgc3lzLXV0aWxzL2xzaXBjLmM6MzM4IHN5cy11dGlscy9sc25zLmM6NTExCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI5NyBzeXMtdXRpbHMvc3dhcG9uLmM6MjgwIHN5cy11dGlscy93ZGN0bC5jOjI1OQorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo0ODQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NzggbWlzYy11dGlscy9maW5kbW50LmM6MTYxMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5NgorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDY1IHN5cy11dGlscy9sb3NldHVwLmM6MzIyIHN5cy11dGlscy9sb3NldHVwLmM6MzU4CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzE4IHN5cy11dGlscy9sc25zLmM6NTMyIHN5cy11dGlscy9wcmxpbWl0LmM6MzA2CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjg5IHN5cy11dGlscy93ZGN0bC5jOjI3MCBzeXMtdXRpbHMvenJhbWN0bC5jOjQ5MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIGZpbHRlciBmb3IgJyVzJyIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHR5cGUgJyVzJyBkZXRlY3RlZFxuIgorbXNnc3RyICIgICBwICAgbuRpZGF0YSBCU0QgcGFydGl0c2lvb25pdGFiZWxpdCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB3aXRoIG5vIHBhcnRpdGlvbnMiCittc2dzdHIgIlNlYWRlICVzIGVpIHNpc2FsZGEg5HJhdHVudGF2YXQgcGFydGl0c2lvb25pdGFiZWxpdFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLWF8LWR8LXN8LXVdIFstLW5yIDxuOm0+IHwgPHBhcnRpdGlvbj5dIDxkaXNrPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTYKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIHByZXNlbmNlIGFuZCBudW1iZXJpbmcgb2YgcGFydGl0aW9ucy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzU5Cittc2dpZCAiIC1hLCAtLWFkZCAgICAgICAgICAgIGFkZCBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjAKK21zZ2lkICIgLWQsIC0tZGVsZXRlICAgICAgICAgZGVsZXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MQorbXNnaWQgIiAtdSwgLS11cGRhdGUgICAgICAgICB1cGRhdGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYyCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLXMsIC0tc2hvdyAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zXG4iCisiXG4iCittc2dzdHIgIiAgZCAgICAgICAgICBLdXN0dXRhZGEgam9va3NldiBwYXJ0aXRzaW9vbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MyBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyMworbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjQKK21zZ2lkICIgLWcsIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tc2hvd1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjUKK21zZ2lkICIgLW4sIC0tbnIgPG46bT4gICAgICAgc3BlY2lmeSB0aGUgcmFuZ2Ugb2YgcGFydGl0aW9ucyAoZS5nLiAtLW5yIDI6NClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY2Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY3IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM3Cittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY4IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM4CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjkKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgc3BlY2lmeSB0aGUgcGFydGl0aW9uIHR5cGUgKGRvcywgYnNkLCBzb2xhcmlzLCBldGMuKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzAgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzYKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3csIC0tcmF3IG9yIC0tcGFpcnMpOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NDkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tbnIgPE0tTj4gcmFuZ2UiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MjQKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIGFuZCBkaXNrIG5hbWUgZG8gbm90IG1hdGNoIgorbXNnc3RyICIiCisiUGFydGl0c2lvb25pdGFiZWxpdCBvbiBtdXVkZXR1ZCFcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1MgorbXNnaWQgIi0tbnIgYW5kIDxwYXJ0aXRpb24+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk3MQorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJ0aXRpb246ICVzLCBkaXNrOiAlcywgbG93ZXI6ICVkLCB1cHBlcjogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRlbGV0ZSBwYXJ0aXRpb25zIgorbXNnc3RyICJU/GhqYSBwYXJ0aXRzaW9vbmkgZWkgc2FhIGt1c3R1dGFkYSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgcHJvYmVyIgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzICUyJHNyYXdOIDxtYWpvcj4gPG1pbm9yPlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPGJsb2NrZGV2aWNlPlxuIgorIiAlMSRzIC1xICUyJHNyYXdOXG4iCisiICUxJHMgLXFhXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo1OAorbXNnaWQgIkJpbmQgYSByYXcgY2hhcmFjdGVyIGRldmljZSB0byBhIGJsb2NrIGRldmljZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYxCittc2dpZCAiIC1xLCAtLXF1ZXJ5ICAgIHNldCBxdWVyeSBtb2RlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICBxdWVyeSBhbGwgcmF3IGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyB0aGUgY29udHJvbCByYXcgZGV2aWNlICh1c2UgcmF3PE4+IHdoZXJlIDxOPiBpcyBncmVhdGVyIHRoYW4gemVybykiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoxODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgYmxvY2sgZGV2aWNlICclcyciCittc2dzdHIgIiVzIHBvbGUgZmxvcGlzZWFkZVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJIb2lhdHVzOiAlcyBwb2xlIHBsb2trc2VhZGVcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoxOTMgZGlzay11dGlscy9yYXcuYzoxOTYgc3lzLXV0aWxzL2lwY3JtLmM6MzUxCisjOiBzeXMtdXRpbHMvaXBjcm0uYzozNjQgc3lzLXV0aWxzL2lwY3JtLmM6Mzc3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBhcmd1bWVudCIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuIG1hc3RlciByYXcgZGV2aWNlICclcyciCittc2dzdHIgInN0YXQoJXMpIGVpIPVubmVzdHVudWQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAic3RhdCglcykgZWkg9W5uZXN0dW51ZCIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJhdyBkZXZpY2UgJyVzJyBpcyBub3QgYSBjaGFyYWN0ZXIgZGV2IgorbXNnc3RyICIvZGV2LyVzIHBvbGUgc/xtYm9sc2VhZGUiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSByYXcgZGV2IgorbXNnc3RyICIlcyBwb2xlIHBsb2trc2VhZGUiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjQ1CisjLCBmdXp6eQorbXNnaWQgIkVycm9yIHF1ZXJ5aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgInZpZ2EgdGVlbnVzZSBwZWF0YW1pc2VsOiAlcyIKKworIzogZGlzay11dGlscy9yYXcuYzoyNTQgZGlzay11dGlscy9yYXcuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNyYXclZDogIGJvdW5kIHRvIG1ham9yICVkLCBtaW5vciAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjY4CisjLCBmdXp6eQorbXNnaWQgIkVycm9yIHNldHRpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAidmlnYSB0ZWVudXNlIHBlYXRhbWlzZWw6ICVzIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxsZW5ndGg+XG4iCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCB0YWJlbGl0ZSBraXJqdXRhbWlzZWwiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjIzCittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBuZXcgc2l6ZSBvZiBhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gbnVtYmVyICVzIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQgdGFiZWxpdGUga2lyanV0YW1pc2VsIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24iCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjMxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBuZXN0ZWQgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjI5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNlZWsgJXMiCittc2dzdHIgImZvcmsgZWkg9W5uZXN0dW51ZCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDIgbGliZmRpc2svc3JjL2JzZC5jOjcyMyBsaWJmZGlzay9zcmMvYnNkLmM6ODk0CisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE2MyBzeXMtdXRpbHMvaHdjbG9jay5jOjE2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlICVzIgorbXNnc3RyICJlaSBzdXVkYSBhdmFkYSBzZWFkZXQgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiUxMnMgKG9mZnNldCAlNWp1LCBzaXplICU1anUpOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAiCittc2dzdHIgImVpIHN1dWRhIGtpcmp1dGFkYSBzaWduYXR1dXJpZ2EgbGVoZWv8bGdlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMyOAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIGZpbGUsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAiZWkgc3V1ZGEga2lyanV0YWRhIHNpZ25hdHV1cmlnYSBsZWhla/xsZ2UiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzU0Cittc2dpZCAiQmFja3VwIGZpbGVzOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM3OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBuZXcgcGFydGl0aW9uIGZyb20gZGV2aWNlOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIHRhYmVsaXRlIGtpcmp1dGFtaXNlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCB0YWJlbGl0ZSBraXJqdXRhbWlzZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCB0YWJlbGl0ZSBraXJqdXRhbWlzZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQgdGFiZWxpdGUga2lyanV0YW1pc2VsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4OQorIywgZnV6enkKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGhhcyBub3QgYmVlbiBtb3ZlZDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCB0YWJlbGl0ZSBraXJqdXRhbWlzZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkxCittc2dpZCAibmV3IHBhcnRpdGlvbiBpcyBzbWFsbGVyIHRoYW4gb3JpZ2luYWw7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQxCittc2dpZCAiRGF0YSBtb3ZlOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIHR5cGVzY3JpcHQgZmlsZTogJXMiCittc2dzdHIgIkVpIHN1dWRhIGF2YWRhIGZhaWxpIGAlcyciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiBvbGQgc3RhcnQ6ICVqdSwgbmV3IHN0YXJ0OiAlanUgKG1vdmUgJWp1IHNlY3RvcnMpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTEKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gbW92ZSBwYXJ0aXRpb24gZGF0YT8iCittc2dzdHIgIkthcyBzb292aXRlIGx1dWEgcGFydGl0c2lvb25pdGFiZWxpdD8gKHkvbikgIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1MyBkaXNrLXV0aWxzL3NmZGlzay5jOjE3ODMKK21zZ2lkICJMZWF2aW5nLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjUyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBtb3ZlIGRhdGEiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQxCisjLCBmdXp6eQorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaXMgdW5jaGFuZ2VkICgtLW5vLWFjdCkuIgorbXNnc3RyICIiCisiUGFydGl0c2lvb25pdGFiZWxpdCBvbiBtdXVkZXR1ZCFcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDcKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIiIKKyJQYXJ0aXRzaW9vbml0YWJlbGl0IG9uIG11dWRldHVkIVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbGFiZWwgJyVzJyIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYyNgorbXNnaWQgIiIKKyJJZCAgTmFtZVxuIgorIlxuIgorbXNnc3RyICIiCisiSUQgIE5pbWlcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2NTYKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorbXNnc3RyICJQYXJ0aXRzaW9vbml0YWJlbGl0IGVpIG9sZVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjcwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICJlaSBzdXVkYSBraW5kbGFrcyB0ZWhhIHNlYWRtZSAlcyBtYWh0dSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRvdGFsOiAlanUgYmxvY2tzXG4iCittc2dzdHIgImtva2t1OiAlZCBwbG9ra2lcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MDggZGlzay11dGlscy9zZmRpc2suYzo4NzYgZGlzay11dGlscy9zZmRpc2suYzo5MTcKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTQ3IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxNCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNzgKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzMyBkaXNrLXV0aWxzL3NmZGlzay5jOjExODkgZGlzay11dGlscy9zZmRpc2suYzoxNTMzCisjLCBmdXp6eQorbXNnaWQgIm5vIGRpc2sgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAiLS1kYXRlIHBhcmFtZWV0ZXIgb24gcHV1ZHVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MTkKK21zZ2lkICJ0b2dnbGUgYm9vdCBmbGFncyBpcyBzdXBwb3J0ZWQgZm9yIE1CUiBvbmx5IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODUwIGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxOQorIzogZGlzay11dGlscy9zZmRpc2suYzoxMDgzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzOCBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTQKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUzMSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCB0YWJlbGl0ZSBraXJqdXRhbWlzZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJWQ6IGZhaWxlZCB0byB0b2dnbGUgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg5MSBkaXNrLXV0aWxzL3NmZGlzay5jOjg5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBkZWxldGUiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCB0YWJlbGl0ZSBraXJqdXRhbWlzZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJTZWFkZSAlcyBlaSBzaXNhbGRhIORyYXR1bnRhdmF0IHBhcnRpdHNpb29uaXRhYmVsaXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NTgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGR1bXAgc3RydWN0IgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGR1bXAgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiB0YWJsZSBmb3VuZCIKK21zZ3N0ciAiUGFydGl0c2lvb25pdGFiZWxpdCBlaSBvbGVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiU2VhZGUgJXMgZWkgc2lzYWxkYSDkcmF0dW50YXZhdCBwYXJ0aXRzaW9vbml0YWJlbGl0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIGlzIHVudXNlZCIKK21zZ3N0ciAiSG9pYXR1czogcGFydGl0c2lvb24gJWQga2F0dHViIHBhcnRpdHNpb29uaWdhICVkXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxOCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODIgZGlzay11dGlscy9zZmRpc2suYzoxMTM3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTMKKyMsIGZ1enp5Cittc2dpZCAibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiCittc2dzdHIgIi0tZGF0ZSBwYXJhbWVldGVyIG9uIHB1dWR1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAyNCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODggZGlzay11dGlscy9zZmRpc2suYzoxMTQzCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTkKKyMsIGZ1enp5Cittc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudHMiCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIHRhYmVsaXRlIGtpcmp1dGFtaXNlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgcGFydGl0aW9uIHR5cGUgJyVzJyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiU2VhZGUgJXMgZWkgc2lzYWxkYSDkcmF0dW50YXZhdCBwYXJ0aXRzaW9vbml0YWJlbGl0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIlNlYWRlICVzIGVpIHNpc2FsZGEg5HJhdHVudGF2YXQgcGFydGl0c2lvb25pdGFiZWxpdFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMTMgZGlzay11dGlscy9zZmRpc2suYzoxMTY4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIyMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG9iamVjdCIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJTZWFkZSAlcyBlaSBzaXNhbGRhIORyYXR1bnRhdmF0IHBhcnRpdHNpb29uaXRhYmVsaXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIHRhYmVsaXRlIGtpcmp1dGFtaXNlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIHRhYmVsaXRlIGtpcmp1dGFtaXNlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gYXR0cmlidXRlcyIKK21zZ3N0ciAiU2VhZGUgJXMgZWkgc2lzYWxkYSDkcmF0dW50YXZhdCBwYXJ0aXRzaW9vbml0YWJlbGl0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI2OQorIywgZnV6enkKK21zZ2lkICIgQ29tbWFuZHM6XG4iCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjcxCisjLCBmdXp6eQorbXNnaWQgIiAgIHdyaXRlICAgIHdyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgdyAgIGtpcmp1dGFkYSB0YWJlbCBrZXR0YWxlIGphIHbkbGp1ZGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3MgorbXNnaWQgIiAgIHF1aXQgICAgIHNob3cgbmV3IHNpdHVhdGlvbiBhbmQgd2FpdCBmb3IgdXNlcidzIGZlZWRiYWNrIGJlZm9yZSB3cml0ZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3MworbXNnaWQgIiAgIGFib3J0ICAgIGV4aXQgc2ZkaXNrIHNoZWxsXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjc0CisjLCBmdXp6eQorbXNnaWQgIiAgIHByaW50ICAgIGRpc3BsYXkgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgICBwICAgbuRpZGF0YSBCU0QgcGFydGl0c2lvb25pdGFiZWxpdCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjc1CisjLCBmdXp6eQorbXNnaWQgIiAgIGhlbHAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3NworbXNnaWQgIiAgIEN0cmwtRCAgIHRoZSBzYW1lIGFzICdxdWl0J1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MQorbXNnaWQgIiBJbnB1dCBmb3JtYXQ6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjgzCittc2dpZCAiICAgPHN0YXJ0PiwgPHNpemU+LCA8dHlwZT4sIDxib290YWJsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODYKK21zZ2lkICIiCisiICAgPHN0YXJ0PiAgQmVnaW5uaW5nIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIHRoZSBmaXJzdCBmcmVlIHNwYWNlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MQorbXNnaWQgIiIKKyIgICA8c2l6ZT4gICBTaXplIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIGFsbCBhdmFpbGFibGUgc3BhY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk2Cittc2dpZCAiICAgPHR5cGU+ICAgVGhlIHBhcnRpdGlvbiB0eXBlLiAgRGVmYXVsdCBpcyBhIExpbnV4IGRhdGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NworbXNnaWQgIiAgICAgICAgICAgIE1CUjogaGV4IG9yIEwsUyxFLFggc2hvcnRjdXRzLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5OAorbXNnaWQgIiAgICAgICAgICAgIEdQVDogVVVJRCBvciBMLFMsSCBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzAxCisjLCBmdXp6eQorbXNnaWQgIiAgIDxib290YWJsZT4gIFVzZSAnKicgdG8gbWFyayBhbiBNQlIgcGFydGl0aW9uIGFzIGJvb3RhYmxlLlxuIgorbXNnc3RyICJQYXJ0aXRzaW9vbml0YWJlbGl0IGVpIHNhYSBzYWx2ZXN0YWRhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNQorbXNnaWQgIiBFeGFtcGxlOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNworIywgZnV6enkKK21zZ2lkICIgICAsIDRHICAgICBDcmVhdGVzIGEgNEdpQiBwYXJ0aXRpb24gYXQgZGVmYXVsdCBzdGFydCBvZmZzZXQuXG4iCittc2dzdHIgIiAgbiAgICAgICAgICBMdXVhIHV1cyBwYXJ0aXRzaW9vbiB2YWJhIHJ1dW1pIHNpc3NlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMzkgc3lzLXV0aWxzL2RtZXNnLmM6MTQ1NQorbXNnaWQgInVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICIlczogVHVuZG1hdHUgYXJndW1lbnQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUwMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU0MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IG5vIHBhcnRpdGlvbiB0YWJsZSB3YXMgZm91bmQiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiU2VhZGUgJXMgZWkgc2lzYWxkYSDkcmF0dW50YXZhdCBwYXJ0aXRzaW9vbml0YWJlbGl0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXM6IHBhcnRpdGlvbiAlZCBpcyBub3QgZGVmaW5lZCB5ZXQiCittc2dzdHIgItxodGVnaSBwYXJ0aXRzaW9vbmkgcG9sZSBkZWZpbmVlcml0dWRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJXZWxjb21lIHRvIHNmZGlzayAoJXMpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTQKK21zZ2lkICJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTcKK21zZ2lkICIiCisiIEZBSUxFRFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwMAorbXNnaWQgIiIKKyJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZSAtIHJlcGFydGl0aW9uaW5nIGlzIHByb2JhYmx5IGEgYmFkIGlkZWEuXG4iCisiVW1vdW50IGFsbCBmaWxlIHN5c3RlbXMsIGFuZCBzd2Fwb2ZmIGFsbCBzd2FwIHBhcnRpdGlvbnMgb24gdGhpcyBkaXNrLlxuIgorIlVzZSB0aGUgLS1uby1yZXJlYWQgZmxhZyB0byBzdXBwcmVzcyB0aGlzIGNoZWNrLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNworbXNnaWQgIiIKKyIgT0tcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzYKK21zZ2lkICIiCisiXG4iCisiT2xkIHNpdHVhdGlvbjoiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKyJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY1NworbXNnaWQgIiIKKyJcbiIKKyJUeXBlICdoZWxwJyB0byBnZXQgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NzUKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgdXNlZC4iCittc2dzdHIgIkVpIGxlaWRudWQg/Gh0ZWdpIHBhcnRpdHNpb29uaVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MDMKKyMsIGZ1enp5Cittc2dpZCAiRG9uZS5cbiIKK21zZ3N0ciAiIgorIlZhbG1pc1xuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MTUKKyMsIGZ1enp5Cittc2dpZCAiSWdub3JpbmcgcGFydGl0aW9uLiIKK21zZ3N0ciAixHJhIGxvbyBwYXJ0aXRzaW9vbmkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcyNAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0IGhlYWRlcnMsIGRpc2sgbGFiZWwgbm90IGNyZWF0ZWQuIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQgdGFiZWxpdGUga2lyanV0YW1pc2VsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhZGQgIyVkIHBhcnRpdGlvbiIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzYzCittc2dpZCAiU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzcyCittc2dpZCAiIgorIlxuIgorIk5ldyBzaXR1YXRpb246IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc4MQorIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byB3cml0ZSB0aGlzIHRvIGRpc2s/IgorbXNnc3RyICJLYXMgc29vdml0ZSBsdXVhIHBhcnRpdHNpb29uaXRhYmVsaXQ/ICh5L24pICIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzkzCittc2dpZCAiTGVhdmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEyCittc2dpZCAiIgorIlxuIgorIkNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMworbXNnaWQgIiAtQSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gbGlzdCBvciBzZXQgYm9vdGFibGUgTUJSIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSAodXNhYmxlIGZvciBsYXRlciBpbnB1dClcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlIGluIEpTT04gZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTYKK21zZ2lkICIgLWcsIC0tc2hvdy1nZW9tZXRyeSBbPGRldj4gLi4uXSAgIGxpc3QgZ2VvbWV0cnkgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE3CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0IFs8ZGV2PiAuLi5dICAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTgKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLWxpc3QtZnJlZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHVucGFydGl0aW9uZWQgZnJlZSBhcmVhcyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE5CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZW9yZGVyIDxkZXY+ICAgICAgICAgICAgICAgZml4IHBhcnRpdGlvbnMgb3JkZXIgKGJ5IHN0YXJ0IG9mZnNldClcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hvdy1zaXplIFs8ZGV2PiAuLi5dICAgICAgIGxpc3Qgc2l6ZXMgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjEKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmVjb2duaXplZCB0eXBlcyAoc2VlIC1YKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIyCisjLCBmdXp6eQorbXNnaWQgIiAtViwgLS12ZXJpZnkgWzxkZXY+IC4uLl0gICAgICAgICAgdGVzdCB3aGV0aGVyIHBhcnRpdGlvbnMgc2VlbSBjb3JyZWN0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjMKK21zZ2lkICIgICAgIC0tZGVsZXRlIDxkZXY+IFs8cGFydD4gLi4uXSAgIGRlbGV0ZSBhbGwgb3Igc3BlY2lmaWVkIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjYKK21zZ2lkICIgLS1wYXJ0LWxhYmVsIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gbGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjcKK21zZ2lkICIgLS1wYXJ0LXR5cGUgPGRldj4gPHBhcnQ+IFs8dHlwZT5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdHlwZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyOAorbXNnaWQgIiAtLXBhcnQtdXVpZCA8ZGV2PiA8cGFydD4gWzx1dWlkPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB1dWlkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI5Cittc2dpZCAiIC0tcGFydC1hdHRycyA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGF0dHJpYnV0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzIKKyMsIGZ1enp5Cittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgZGV2aWNlICh1c3VhbGx5IGRpc2spIHBhdGhcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzMworIywgZnV6enkKK21zZ2lkICIgPHBhcnQ+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzQKK21zZ2lkICIgPHR5cGU+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gdHlwZSwgR1VJRCBmb3IgR1BULCBoZXggZm9yIE1CUlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzNworIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICBhcHBlbmQgcGFydGl0aW9ucyB0byBleGlzdGluZyBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzOAorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmFja3VwICAgICAgICAgICAgICBiYWNrdXAgcGFydGl0aW9uIHRhYmxlIHNlY3RvcnMgKHNlZSAtTylcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzOQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQwCittc2dpZCAiICAgICAtLW1vdmUtZGF0YVs9PHR5cGVzY3JpcHQ+XSBtb3ZlIHBhcnRpdGlvbiBkYXRhIGFmdGVyIHJlbG9jYXRpb24gKHJlcXVpcmVzIC1OKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZ1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ1CisjLCBmdXp6eQorbXNnaWQgIiAtTiwgLS1wYXJ0bm8gPG51bT4gICAgICAgIHNwZWNpZnkgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICJTaXNldGFnZSBwZWFkZSBhcnY6ICIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ2CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHdyaXRlIHRvIGRldmljZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBkZXZpY2UgaXMgaW4gdXNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDgKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgZG8gbm90IHRlbGwga2VybmVsIGFib3V0IGNoYW5nZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgRXNpbWVuZSAgVmlpbWFuZVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDkKK21zZ2lkICIgLU8sIC0tYmFja3VwLWZpbGUgPHBhdGg+ICBvdmVycmlkZSBkZWZhdWx0IGJhY2t1cCBmaWxlIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTAKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFbkbGphc3RhZGEgcGFydGl0c2lvb25pdGFiZWwgZWtyYWFuaWxlIHb1aSBmYWlsaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUxCisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIGV4dHJhIGluZm8gbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MgorIywgZnV6enkKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NAorbXNnaWQgIiAtWCwgLS1sYWJlbCA8bmFtZT4gICAgICAgIHNwZWNpZnkgbGFiZWwgdHlwZSAoZG9zLCBncHQsIC4uLilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTUKK21zZ2lkICIgLVksIC0tbGFiZWwtbmVzdGVkIDxuYW1lPiBzcGVjaWZ5IG5lc3RlZCBsYWJlbCB0eXBlIChkb3MsIGJzZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTcKK21zZ2lkICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBkZXByZWNhdGVkLCBhbGlhcyB0byAtLXNob3ctZ2VvbWV0cnlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTgKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgZGVwcmVjYXRlZCwgb25seSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU5CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bml0IFMgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgc2VjdG9yIHVuaXQgaXMgc3VwcG9ydGVkXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjMgbG9naW4tdXRpbHMvY2hmbi5jOjEwMiBsb2dpbi11dGlscy9jaHNoLmM6NzkKK21zZ2lkICIgLXYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxOTczCittc2dpZCAiLS1pZCBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5ODkKK21zZ2lkICItLXNob3ctcHQtZ2VvbWV0cnkgaXMgbm8gbW9yZSBpbXBsZW1lbnRlZC4gVXNpbmcgLS1zaG93LWdlb21ldHJ5LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMDAKK21zZ2lkICItLUxpbnV4IG9wdGlvbiBpcyB1bm5lY2Vzc2FyeSBhbmQgZGVwcmVjYXRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHVuaXQgJyVjJyIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMzIgaW5jbHVkZS9jLmg6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXNcbiIKK21zZ3N0ciAiJXMgcGFrZXRpc3QgJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMTA5Cittc2dpZCAiLS1tb3ZlZGF0YSByZXF1aXJlcyAtTiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgVVVJRDogJXMiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIFVVSUQiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgVVVJRCIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgbGFiZWwgIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgImxhYmVsIGlzIHRvbyBsb25nLiBUcnVuY2F0aW5nIGl0IHRvICclcyciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBsYWJlbCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIHRhYmVsaXRlIGtpcmp1dGFtaXNlbCIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjEKK21zZ2lkICJEaXNwbGF5IG9yIGNoYW5nZSB0aGUgbGFiZWwgb3IgVVVJRCBvZiBhIHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyNAorbXNnaWQgIiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiBzcGVjaWZ5IGEgbmV3IGxhYmVsXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgc3BlY2lmeSBhIG5ldyB1dWlkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxNjcKK21zZ2lkICJpZ25vcmUgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jLmg6Mjk5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKK21zZ3N0ciAia2FzdXRhbWluZTpcbiIKKworIzogaW5jbHVkZS9jLmg6MzAwCisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGl0c2lvb25pOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMDIKK21zZ2lkICIgLWgsIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2MuaDozMDMKK21zZ2lkICIgLVYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2MuaDozMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJGb3IgbW9yZSBkZXRhaWxzIHNlZSAlcy5cbiIKK21zZ3N0ciAiS2FzdXRhamEgaW5mb3JtYXRzaW9vbiBvbiBtdXVkZXR1ZFxuIgorCisjOiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDYgaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzMKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTIgc3lzLXV0aWxzL3J0Y3dha2UuYzoyODAgdGVybS11dGlscy9zZXR0ZXJtLmM6ODA1CisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE1NworIywgZnV6enkKK21zZ2lkICJ3cml0ZSBlcnJvciIKK21zZ3N0ciAiS2lyanV0YW1pc2UgdmlnYSBzZWFkbWVsICVzXG4iCisKKyM6IGluY2x1ZGUvY29sb3JzLmg6MjcKKyMsIGZ1enp5Cittc2dpZCAiY29sb3JzIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgIlNpc3NlbG9naW1pc2VzdCBsaWluaWwgJXMgbWFzaW5hc3QgJXMga2VlbGR1dGFrc2UgdmFpa2VyZWVnbGkgdPV0dHVcbiIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyOQorIywgZnV6enkKK21zZ2lkICJjb2xvcnMgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgIlNpc3NlbG9naW1pc2VzdCBsaWluaWwgJXMgbWFzaW5hc3QgJXMga2VlbGR1dGFrc2UgdmFpa2VyZWVnbGkgdPV0dHVcbiIKKworIzogaW5jbHVkZS9lbnYuaDoxOCBsaWIvcGFnZXIuYzoxNTEgbG9naW4tdXRpbHMvbG9naW4uYzoxMDUyCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwNTYgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTI5CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBpbmNsdWRlL29wdHV0aWxzLmg6ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGVzZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmU6IgorbXNnc3RyICIlczogVvV0bWVkIC0tYWRqdXN0IGphIC0tbm9hZGpmaWxlIG9uIHZhc3Rhc3Rpa2t1IHbkbGlzdGF2YWRcbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MQorbXNnaWQgIkVtcHR5IgorbXNnc3RyICJU/GhpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyCittc2dpZCAiRkFUMTIiCittc2dzdHIgIkZBVDEyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozCittc2dpZCAiWEVOSVggcm9vdCIKK21zZ3N0ciAiWEVOSVggcm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NAorbXNnaWQgIlhFTklYIHVzciIKK21zZ3N0ciAiWEVOSVggdXNyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1Cittc2dpZCAiRkFUMTYgPDMyTSIKK21zZ3N0ciAiRkFUMTYgPDMyTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NgorbXNnaWQgIkV4dGVuZGVkIgorbXNnc3RyICJFeHRlbmRlZCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NworbXNnaWQgIkZBVDE2IgorbXNnc3RyICJGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OAorIywgZnV6enkKK21zZ2lkICJIUEZTL05URlMvZXhGQVQiCittc2dzdHIgIkhQRlMvTlRGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OQorbXNnaWQgIkFJWCIKK21zZ3N0ciAiQUlYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMAorbXNnaWQgIkFJWCBib290YWJsZSIKK21zZ3N0ciAiQUlYIGJ1dXRpdiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTEKK21zZ2lkICJPUy8yIEJvb3QgTWFuYWdlciIKK21zZ3N0ciAiT1MvMiBCb290IE1hbmFnZXIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEyCisjLCBmdXp6eQorbXNnaWQgIlc5NSBGQVQzMiIKK21zZ3N0ciAiV2luOTUgRkFUMzIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEzCisjLCBmdXp6eQorbXNnaWQgIlc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiV2luOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE0CisjLCBmdXp6eQorbXNnaWQgIlc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiV2luOTUgRkFUMTYgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE1CisjLCBmdXp6eQorbXNnaWQgIlc5NSBFeHQnZCAoTEJBKSIKK21zZ3N0ciAiV2luOTUgRXh0J2QgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE2Cittc2dpZCAiT1BVUyIKK21zZ3N0ciAiT1BVUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTcKK21zZ2lkICJIaWRkZW4gRkFUMTIiCittc2dzdHIgIlBlaWRldHVkIEZBVDEyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOAorbXNnaWQgIkNvbXBhcSBkaWFnbm9zdGljcyIKK21zZ3N0ciAiQ29tcGFxIGRpYWdub3N0aWthIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOQorbXNnaWQgIkhpZGRlbiBGQVQxNiA8MzJNIgorbXNnc3RyICJQZWlkZXR1ZCBGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMAorbXNnaWQgIkhpZGRlbiBGQVQxNiIKK21zZ3N0ciAiUGVpZGV0dWQgRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIxCittc2dpZCAiSGlkZGVuIEhQRlMvTlRGUyIKK21zZ3N0ciAiUGVpZGV0dWQgSFBGUy9OVEZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMgorbXNnaWQgIkFTVCBTbWFydFNsZWVwIgorbXNnc3RyICJBU1QgU21hcnRTbGVlcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjMKKyMsIGZ1enp5Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiIKK21zZ3N0ciAiUGVpZGV0dWQgV2luOTUgRkFUMzIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI0CisjLCBmdXp6eQorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIlBlaWRldHVkIFdpbjk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNQorIywgZnV6enkKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICJQZWlkZXR1ZCBXaW45NSBGQVQxNiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjYKK21zZ2lkICJORUMgRE9TIgorbXNnc3RyICJORUMgRE9TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNworIywgZnV6enkKK21zZ2lkICJIaWRkZW4gTlRGUyBXaW5SRSIKK21zZ3N0ciAiUGVpZGV0dWQgSFBGUy9OVEZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOAorbXNnaWQgIlBsYW4gOSIKK21zZ3N0ciAiUGxhbiA5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOQorbXNnaWQgIlBhcnRpdGlvbk1hZ2ljIHJlY292ZXJ5IgorbXNnc3RyICJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzAKK21zZ2lkICJWZW5peCA4MDI4NiIKK21zZ3N0ciAiVmVuaXggODAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMxCittc2dpZCAiUFBDIFBSZVAgQm9vdCIKK21zZ3N0ciAiUFBDIFByZVAgQm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzIKK21zZ2lkICJTRlMiCittc2dzdHIgIlNGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzMKK21zZ2lkICJRTlg0LngiCittc2dzdHIgIlFOWDQueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzQKK21zZ2lkICJRTlg0LnggMm5kIHBhcnQiCittc2dzdHIgIlFOWDQueCAyLiBwYXJ0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNQorbXNnaWQgIlFOWDQueCAzcmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IDMuIHBhcnQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM2Cittc2dpZCAiT25UcmFjayBETSIKK21zZ3N0ciAiT25UcmFjayBETSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzcKK21zZ2lkICJPblRyYWNrIERNNiBBdXgxIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgxIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOAorbXNnaWQgIkNQL00iCittc2dzdHIgIkNQL00iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM5Cittc2dpZCAiT25UcmFjayBETTYgQXV4MyIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDAKK21zZ2lkICJPblRyYWNrRE02IgorbXNnc3RyICJPblRyYWNrIERNNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDEKK21zZ2lkICJFWi1Ecml2ZSIKK21zZ3N0ciAiRVotRHJpdmUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQyCittc2dpZCAiR29sZGVuIEJvdyIKK21zZ3N0ciAiR29sZGVuIEJvdyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDMKK21zZ2lkICJQcmlhbSBFZGlzayIKK21zZ3N0ciAiUHJpYW0gRWRpc2siCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkxCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OQorbXNnaWQgIlNwZWVkU3RvciIKK21zZ3N0ciAiU3BlZWRTdG9yIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NQorbXNnaWQgIkdOVSBIVVJEIG9yIFN5c1YiCittc2dzdHIgIkdOVSBIVVJEIHb1aSBTeXNWIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NgorbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDI4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NworbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDM4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMzg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OAorbXNnaWQgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKK21zZ3N0ciAiRGlzY1NlY3VyZSBNdWx0aS1Cb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OQorbXNnaWQgIlBDL0lYIgorbXNnc3RyICJQQy9JWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTAKK21zZ2lkICJPbGQgTWluaXgiCittc2dzdHIgIlZhbmEgTWluaXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUxCittc2dpZCAiTWluaXggLyBvbGQgTGludXgiCittc2dzdHIgIk1pbml4IC8gdmFuYSBMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTIKKyMsIGZ1enp5Cittc2dpZCAiTGludXggc3dhcCAvIFNvbGFyaXMiCittc2dzdHIgIkxpbnV4aSBzd2FwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MworbXNnaWQgIkxpbnV4IgorbXNnc3RyICJMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTQKK21zZ2lkICJPUy8yIGhpZGRlbiBvciBJbnRlbCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NworbXNnaWQgIkxpbnV4IGV4dGVuZGVkIgorbXNnc3RyICJMaW51eCBleHRlbmRlZCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTkKK21zZ2lkICJOVEZTIHZvbHVtZSBzZXQiCittc2dzdHIgIk5URlMgdm9sdW1lIHNldCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjAKKyMsIGZ1enp5Cittc2dpZCAiTGludXggcGxhaW50ZXh0IgorbXNnc3RyICJMaW51eCBleHQzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjA1IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MworIzogbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggTFZNIgorbXNnc3RyICJMaW51eCBMVk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYyCittc2dpZCAiQW1vZWJhIgorbXNnc3RyICJBbW9lYmEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYzCittc2dpZCAiQW1vZWJhIEJCVCIKK21zZ3N0ciAiQW1vZWJhIEJCVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjQKK21zZ2lkICJCU0QvT1MiCittc2dzdHIgIkJTRC9PUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjUKK21zZ2lkICJJQk0gVGhpbmtwYWQgaGliZXJuYXRpb24iCittc2dzdHIgIklCTSBUaGlua3BhZCBoaWJlcm5hdHNpb29uIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NgorbXNnaWQgIkZyZWVCU0QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY3Cittc2dpZCAiT3BlbkJTRCIKK21zZ3N0ciAiT3BlbkJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjgKK21zZ2lkICJOZVhUU1RFUCIKK21zZ3N0ciAiTmVYVFNURVAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY5Cittc2dpZCAiRGFyd2luIFVGUyIKK21zZ3N0ciAiRGFyd2luIFVGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzAKK21zZ2lkICJOZXRCU0QiCittc2dzdHIgIk5ldEJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzEKK21zZ2lkICJEYXJ3aW4gYm9vdCIKK21zZ3N0ciAiRGFyd2luIGJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcyCisjLCBmdXp6eQorbXNnaWQgIkhGUyAvIEhGUysiCittc2dzdHIgIk9TLzIgSFBGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzMKK21zZ2lkICJCU0RJIGZzIgorbXNnc3RyICJCU0RJIGZzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NAorbXNnaWQgIkJTREkgc3dhcCIKK21zZ3N0ciAiQlNESSBzd2FwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NQorbXNnaWQgIkJvb3QgV2l6YXJkIGhpZGRlbiIKK21zZ3N0ciAiQm9vdCBXaXphcmQgcGVpZGV0dWQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc2CisjLCBmdXp6eQorbXNnaWQgIkFjcm9uaXMgRkFUMzIgTEJBIgorbXNnc3RyICJXaW45NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzcgbGliZmRpc2svc3JjL2dwdC5jOjIzMAorbXNnaWQgIlNvbGFyaXMgYm9vdCIKK21zZ3N0ciAiU29sYXJpcyBib290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OAorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIgorbXNnc3RyICJTb2xhcmlzIGJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc5Cittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTIpIgorbXNnc3RyICJEUkRPUyBzZWt1bmQuIChGQVQtMTIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MAorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKK21zZ3N0ciAiRFJET1Mgc2VrdW5kLiAoRkFULTE2IDwgMzJNKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODEKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNikiCittc2dzdHIgIkRSRE9TIHNla3VuZC4gKEZBVC0xNikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgyCittc2dpZCAiU3lyaW54IgorbXNnc3RyICJTeXJpbngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgzCittc2dpZCAiTm9uLUZTIGRhdGEiCittc2dzdHIgIk1pdHRlLUZTIGFuZG1lZCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiQ1AvTSAvIENUT1MgLyAuLi4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg2Cittc2dpZCAiRGVsbCBVdGlsaXR5IgorbXNnc3RyICJEZWxsIFV0aWxpdHkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg3Cittc2dpZCAiQm9vdEl0IgorbXNnc3RyICJCb290SXQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg4Cittc2dpZCAiRE9TIGFjY2VzcyIKK21zZ3N0ciAiRE9TIGFjY2VzcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTAKK21zZ2lkICJET1MgUi9PIgorbXNnc3RyICJET1MgUi9PIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MworIywgZnV6enkKK21zZ2lkICJSdWZ1cyBhbGlnbm1lbnQiCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTQKK21zZ2lkICJCZU9TIGZzIgorbXNnc3RyICJCZU9TIGZzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NgorbXNnaWQgIkVGSSAoRkFULTEyLzE2LzMyKSIKK21zZ3N0ciAiRUZJIChGQVQtMTIvRkFULTE2KSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTcKK21zZ2lkICJMaW51eC9QQS1SSVNDIGJvb3QiCittc2dzdHIgIkxpbnV4L1BBLVJJU0MgYm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAwCittc2dpZCAiRE9TIHNlY29uZGFyeSIKK21zZ3N0ciAiRE9TIHNla3VuZGFhcm5lIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDEKK21zZ2lkICJWTXdhcmUgVk1GUyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDIKK21zZ2lkICJWTXdhcmUgVk1LQ09SRSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDMgbGliZmRpc2svc3JjL3N1bi5jOjU1Cittc2dpZCAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorbXNnc3RyICJMaW51eGkgaXNlYXZhc3R1diByYWlkIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDYKK21zZ2lkICJMQU5zdGVwIgorbXNnc3RyICJMQU5zdGVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDcKK21zZ2lkICJCQlQiCittc2dzdHIgIkJCVCIKKworIzogbGliL2Jsa2Rldi5jOjI4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXMgaXMgbWlzYWxpZ25lZCIKK21zZ3N0ciAiSG9pYXR1czogJXMgcG9sZSBwbG9ra3NlYWRlXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2NzIKKyMsIGZ1enp5Cittc2dpZCAiQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiS2FzdXRhbiBpb2N0bCgpIHBhcnRpdHNpb29uaXRhYmVsaSB1dWVzdGkgbHVnZW1pc2Vrc1xuIgorCisjOiBsaWJmZGlzay9zcmMvYWxpZ25tZW50LmM6NjgxCisjLCBmdXp6eQorbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuIgorbXNnc3RyICJMb2VuIHV1ZXN0aSBwYXJ0aXRzaW9vbml0YWJlbGl0Li4uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2ODMKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgdGFibGUuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdCBvciBhZnRlciB5b3UgcnVuIHBhcnRwcm9iZSg4KSBvciBrcGFydHgoOCkuIgorbXNnc3RyICIiCisiXG4iCisiSE9JQVRVUzogUGFydGl0c2lvb25pdGFiZWxpIHV1ZXN0aSBsdWdlbWluZSBlaSD1bm5lc3R1bnVkLFxuIgorInR1bGkgdmlnYSAlZDogJXNcbiIKKyJUdXVtIGthc3V0YWIgZW5kaXNlbHQgdmFuYSB0YWJlbGl0LFxuIgorInV1cyB0YWJlbCBoYWtrYWIga2VodGltYSBq5HJnbWlzZXN0IGJ1dWRpc3QgYWxhdGVzLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDcyIGxpYmZkaXNrL3NyYy9hc2suYzo0ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdGVkIHBhcnRpdGlvbiAlanUiCittc2dzdHIgIklnbm9yZWVyaW4gbGlzYS1leHRlbmRlZCBwYXJ0aXN0c2lvb25pICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0NzUKKyMsIGZ1enp5Cittc2dpZCAiTm8gcGFydGl0aW9uIGlzIGRlZmluZWQgeWV0ISIKK21zZ3N0ciAi3Gh0ZWdpIHBhcnRpdHNpb29uaSBwb2xlIGRlZmluZWVyaXR1ZFxuIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDg3CisjLCBmdXp6eQorbXNnaWQgIk5vIGZyZWUgcGFydGl0aW9uIGF2YWlsYWJsZSEiCittc2dzdHIgIlZhYmFkIHNla3RvcmlkIG9uIG90c2FzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0OTcKK21zZ2lkICJQYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJQYXJ0aXRzaW9vbmkgbnVtYmVyIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6OTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IHBhcnRpdGlvbiAlZCBvZiB0eXBlICclcycgYW5kIG9mIHNpemUgJXMuIgorbXNnc3RyICJQYXJ0aXRzaW9vbmkgJWQgcG9sZSB2ZWVsIG9sZW1hcyFcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICJQYXJ0aXRzaW9vbiAlcyBzaXNhbGRhYiB2aWdhc3QgYWxnc2VrdG9yaXQgMFxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGVyZSBpcyBubyAqQlNEIHBhcnRpdGlvbiBvbiAlcy4iCittc2dzdHIgIlNlYWRtZWwgJXMgZWkgb2xlIEJTRCBwYXJ0aXRzaW9vbmlcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI1OSBsaWJmZGlzay9zcmMvZG9zLmM6OTMzCisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IGN5bGluZGVyIgorbXNnc3RyICJzaWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5MiBsaWJmZGlzay9zcmMvZG9zLmM6MTE2MQorIywgZnV6enkKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIlZpaW1hbmUgJXMgdvVpICtzdXVydXMgdvVpICtzdXVydXNNIHb1aSArc3V1cnVzSyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5NyBsaWJmZGlzay9zcmMvZG9zLmM6MTE2NiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1NQorIywgZnV6enkKK21zZ2lkICJMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiVmlpbWFuZSAlcyB29WkgK3N1dXJ1cyB29WkgK3N1dXJ1c00gdvVpICtzdXVydXNLIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGV2aWNlICVzIGRvZXMgbm90IGNvbnRhaW4gQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIiVzIGVpIHNpc2FsZGEgcGFydGl0c2lvb25pdGFiZWxpdFxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgzCisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIGNyZWF0ZSBhIEJTRCBkaXNrbGFiZWw/IgorbXNnc3RyICJLYXMgc29vdml0ZSBsdXVhIHBhcnRpdHNpb29uaXRhYmVsaXQ/ICh5L24pICIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ0OQorIywgZnV6enkKK21zZ2lkICJEaXNrIgorbXNnc3RyICJrZXRhczogJS4qc1xuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDU2Cittc2dpZCAiUGFja25hbWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MyBsaWJmZGlzay9zcmMvc3VuLmM6MTExNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICJMaXB1ZCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NgorbXNnaWQgIiByZW1vdmFibGUiCittc2dzdHIgIiBlZW1hbGRhdGF2IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY3Cittc2dpZCAiIGVjYyIKK21zZ3N0ciAiIGVjYyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2OAorbXNnaWQgIiBiYWRzZWN0IgorbXNnc3RyICIgYmFkc2VjdCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ3NgorIywgZnV6enkKK21zZ2lkICJCeXRlcy9TZWN0b3IiCittc2dzdHIgImJhaXRpIHNla3RvcmlzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDgxCisjLCBmdXp6eQorbXNnaWQgIlRyYWNrcy9DeWxpbmRlciIKK21zZ3N0ciAicmFkYSBzaWxpbmRyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODYKKyMsIGZ1enp5Cittc2dpZCAiU2VjdG9ycy9DeWxpbmRlciIKK21zZ3N0ciAic2VrdG9yaXQgc2lsaW5kcmlzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDkxIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE4IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAzCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NyBsaWJmZGlzay9zcmMvc3VuLmM6MTk2IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTEzCittc2dpZCAiQ3lsaW5kZXJzIgorbXNnc3RyICJzaWxpbmRyaWQgKEMpIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDk2IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjAKKyMsIGZ1enp5Cittc2dpZCAiUnBtIgorbXNnc3RyICJycG0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDEgbGliZmRpc2svc3JjL3NnaS5jOjI5MiBsaWJmZGlzay9zcmMvc3VuLmM6NzgwCisjLCBmdXp6eQorbXNnaWQgIkludGVybGVhdmUiCittc2dzdHIgImludGVybGVhdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDYKKyMsIGZ1enp5Cittc2dpZCAiVHJhY2tza2V3IgorbXNnc3RyICJ0cmFja3NrZXciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTEKKyMsIGZ1enp5Cittc2dpZCAiQ3lsaW5kZXJza2V3IgorbXNnc3RyICJjeWxpbmRlcnNrZXciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTYKKyMsIGZ1enp5Cittc2dpZCAiSGVhZHN3aXRjaCIKK21zZ3N0ciAiaGVhZHN3aXRjaCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUyMQorIywgZnV6enkKK21zZ2lkICJUcmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICJyYWphbHQgcmFqYWxlIHNlZWsiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTEKK21zZ2lkICJieXRlcy9zZWN0b3IiCittc2dzdHIgImJhaXRpIHNla3RvcmlzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE0Cittc2dpZCAic2VjdG9ycy90cmFjayIKK21zZ3N0ciAic2VrdG9yaXQgcmFqYWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTUKK21zZ2lkICJ0cmFja3MvY3lsaW5kZXIiCittc2dzdHIgInJhZGEgc2lsaW5kcmlzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE2Cittc2dpZCAiY3lsaW5kZXJzIgorbXNnc3RyICJzaWxpbmRyaXQiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjAKK21zZ2lkICJzZWN0b3JzL2N5bGluZGVyIgorbXNnc3RyICJzZWt0b3JpdCBzaWxpbmRyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjMKK21zZ2lkICJycG0iCittc2dzdHIgInJwbSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNAorbXNnaWQgImludGVybGVhdmUiCittc2dzdHIgImludGVybGVhdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjUKK21zZ2lkICJ0cmFja3NrZXciCittc2dzdHIgInRyYWNrc2tldyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNgorbXNnaWQgImN5bGluZGVyc2tldyIKK21zZ3N0ciAiY3lsaW5kZXJza2V3IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI4Cittc2dpZCAiaGVhZHN3aXRjaCIKK21zZ3N0ciAiaGVhZHN3aXRjaCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOQorbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgInJhamFsdCByYWphbGUgc2VlayIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdHN0cmFwIGZpbGUgJXMgc3VjY2Vzc2Z1bGx5IGxvYWRlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwOiAlMSRzYm9vdCAtPiBib290JTEkcyAoZGVmYXVsdCAlMSRzKSIKK21zZ3N0ciAiQm9vdHN0cmFwOiAlc2Jvb3QgLT4gYm9vdCVzICglcyk6ICIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcwNAorIywgZnV6enkKK21zZ2lkICJCb290c3RyYXAgb3ZlcmxhcHMgd2l0aCBkaXNrbGFiZWwhIgorbXNnc3RyICJCb290c3RyYXAga2F0dHViIHBhcnRpdHNpb29uaXRhYmVsaWdhIVxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXAgaW5zdGFsbGVkIG9uICVzLiIKK21zZ3N0ciAiQm9vdHN0cmFwIHNhaSBpbnN0YWxsaXR1ZCBzZWFkbWVsZSAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiAgKERvbid0IGZvcmdldCB0byB3cml0ZSB0aGUgJXMgZGlza2xhYmVsIHRvby4pIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiIKK21zZ3N0ciAiS2V0dGFzZWFkZTogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwOSBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY2NgorIywgZnV6enkKK21zZ2lkICJTeW5jaW5nIGRpc2tzLiIKK21zZ3N0ciAiS2lyanV0YW4gcHVodnJlaWQga2V0dGFsZVxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTUwCittc2dpZCAiQlNEIGxhYmVsIGlzIG5vdCBuZXN0ZWQgd2l0aGluIGEgRE9TIHBhcnRpdGlvbi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQlNEIHBhcnRpdGlvbiAnJWMnIGxpbmtlZCB0byBET1MgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIiAgIHggICBzaWR1ZGEgQlNEIHBhcnRpdHNpb29uIG1pdHRlLUJTRCBwYXJ0aXRzaW9vbmlnYSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMTQKK21zZ2lkICJTbGljZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMQorbXNnaWQgIkZzaXplIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIyCittc2dpZCAiQnNpemUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjMKK21zZ2lkICJDcGciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo2NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zZSBkZXZpY2UgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODI3CisjLCBmdXp6eQorbXNnaWQgImN5bGluZGVyIgorbXNnaWRfcGx1cmFsICJjeWxpbmRlcnMiCittc2dzdHJbMF0gInNpbGluZGVyIgorbXNnc3RyWzFdICJzaWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4MjgKKyMsIGZ1enp5Cittc2dpZCAic2VjdG9yIgorbXNnaWRfcGx1cmFsICJzZWN0b3JzIgorbXNnc3RyWzBdICJzZWt0b3IiCittc2dzdHJbMV0gInNla3RvciIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMTMxCittc2dpZCAiSW5jb21wbGV0ZSBnZW9tZXRyeSBzZXR0aW5nLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE0CisjLCBmdXp6eQorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgaGF2ZSBiZWVuIGRlZmluZWQgYWxyZWFkeS4iCittc2dzdHIgIkxvb2dpbGlzZWQgcGFydGl0c2lvb25pZCBvbiBm/PxzaWxpc2VzdCBlcmluZXZhcyBq5HJqZXN0dXNlcyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZXh0ZW5kZWQgcGFydGl0aW9uIHRhYmxlIChvZmZzZXQ9JWp1KSIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjMyOAorIywgZnV6enkKK21zZ2lkICJZb3UgY2FuIHNldCBnZW9tZXRyeSBmcm9tIHRoZSBleHRyYSBmdW5jdGlvbnMgbWVudS4iCittc2dzdHIgIiIKKyIlcyVzLlxuIgorIlRlIHNhYXRlIHNlZGEgdGVoYSBsaXNhZnVua3RzaW9uYWFsc3VzZSBtZW78/HN0LlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzMxCittc2dpZCAiRE9TLWNvbXBhdGlibGUgbW9kZSBpcyBkZXByZWNhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzM1Cittc2dpZCAiVGhlIGRldmljZSBwcmVzZW50cyBhIGxvZ2ljYWwgc2VjdG9yIHNpemUgdGhhdCBpcyBzbWFsbGVyIHRoYW4gdGhlIHBoeXNpY2FsIHNlY3RvciBzaXplLiBBbGlnbmluZyB0byBhIHBoeXNpY2FsIHNlY3RvciAob3Igb3B0aW1hbCBJL08pIHNpemUgYm91bmRhcnkgaXMgcmVjb21tZW5kZWQsIG9yIHBlcmZvcm1hbmNlIG1heSBiZSBpbXBhY3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MQorbXNnaWQgIkN5bGluZGVycyBhcyBkaXNwbGF5IHVuaXRzIGFyZSBkZXByZWNhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBzaXplIG9mIHRoaXMgZGlzayBpcyAlcyAoJWp1IGJ5dGVzKS4gRE9TIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgY2FuIG5vdCBiZSB1c2VkIG9uIGRyaXZlcyBmb3Igdm9sdW1lcyBsYXJnZXIgdGhhbiAlbHUgYnl0ZXMgZm9yICVsdS1ieXRlIHNlY3RvcnMuIFVzZSBHVUlEIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgKEdQVCkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MDMKKyMsIGZ1enp5Cittc2dpZCAiQmFkIG9mZnNldCBpbiBwcmltYXJ5IGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIlZpZ2FuZSBvZmZzZXQgcHJpbWFhcnNlcyBleHRlbmRlZC1wYXJ0aXRzaW9vbmlzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiT21pdHRpbmcgcGFydGl0aW9ucyBhZnRlciAjJXp1LiBUaGV5IHdpbGwgYmUgZGVsZXRlZCBpZiB5b3Ugc2F2ZSB0aGlzIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRXh0cmEgbGluayBwb2ludGVyIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJIb2lhdHVzOiD8bGVsaWlnbmUgJ2xpbmsgcG9pbnRlcicgcGFydGl0c2lvb25pdGFiZWxpcyAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBkYXRhIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJIb2lhdHVzOiBpZ25vcmVlcmluIPxsZWxpaWdzZWlkIGFuZG1laWQgcGFydGl0c2lvb25pdGFiZWxpcyAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbWl0dGluZyBlbXB0eSBwYXJ0aXRpb24gKCV6dSkiCittc2dzdHIgIkhvaWF0dXM6IHT8aGkgcGFydGl0c2lvb25cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC4iCittc2dzdHIgIiAgIHMgICBsdXVhIHV1cyB0/GhpIFN1bidpIHBhcnRpdHNpb29uaXRhYmVsIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6Njg1CisjLCBmdXp6eQorbXNnaWQgIkVudGVyIHRoZSBuZXcgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICIgICB1ICAgbXV1dGEgc2lzZXN0YW1pc2UgamEgdGFiZWxpIG7kaXRhbWlzZSD8aGlrdWlkIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjkyCisjLCBmdXp6eQorbXNnaWQgIkluY29ycmVjdCB2YWx1ZS4iCittc2dzdHIgIlZpZ2FuZSBzZWt0b3JpdGUgYXJ2IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gMHglMDh4IHRvIDB4JTA4eC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjc5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZXh0ZW5kZWQgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiSWdub3JlZXJpbiBsaXNhLWV4dGVuZGVkIHBhcnRpc3RzaW9vbmkgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjgwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBmbGFnIDB4JTAyeCUwMnggb2YgRUJSIChmb3IgcGFydGl0aW9uICV6dSkgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIiIKKyJIb2lhdHVzOiB2aWdhbmUgbGlwcCAweCUwNHggKHBhcnRpdHNpb29uaXRhYmVsaXMgJWQpIHBhcmFuZGF0YWtzZVxuIgorImtpcmp1dGFtaXNlbCAodykg5HJhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo5MjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN0YXJ0IHNlY3RvciAlanUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiVuTkcnR1cyBvbiBwaWlyaWRlc3QgduRsamFzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMDI2IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTM2IGxpYmZkaXNrL3NyYy9zZ2kuYzo4MzkKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorbXNnc3RyICJQYXJ0aXRzaW9vbiAlZCBvbiBqdWJhIG9sZW1hcy4gS3VzdHV0YWdlIHNlZSBlbm5lIHV1ZXN0aSBsaXNhbWlzdFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTA5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVsbHUgaXMgYWxyZWFkeSBhbGxvY2F0ZWQuIgorbXNnc3RyICJTZWt0b3IlZCBvbiBqdWJhIGthc3V0dXNlbFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTEzMyBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0NgorIywgZnV6enkKK21zZ2lkICJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlLiIKK21zZ3N0ciAiVmFiYWQgc2VrdG9yaWQgb24gb3RzYXNcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEyODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkFkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIlZpZ2FuZSBsb29naWxpbmUgcGFydGl0c2lvb24iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjb250YWlucyBzZWN0b3IgMCIKK21zZ3N0ciAiSG9pYXR1czogcGFydGl0c2lvb24gJWQgc2lzYWxkYWIgc2VrdG9yaXQgMFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaGVhZCAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlZCIKK21zZ3N0ciAiUGFydGl0c2lvb24gJWQ6IHBlYSAlZCBvbiBzdXVyZW0ga3VpIHBlYWRlIGFydiAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogc2VjdG9yICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIlBhcnRpdHNpb29uICVkOiBzZWt0b3IgJWQgb24gc3V1cmVtIGt1aSBzZWt0cm9pdGUgYXJ2IHJhamFsICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjeWxpbmRlciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICJQYXJ0aXRzaW9vbiAlZDogc2lsaW5kZXIgJWQgb24gc3V1cmVtIGt1aSBzaWxpbmRyaXRlIGFydiAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogcHJldmlvdXMgc2VjdG9ycyAldSBkaXNhZ3JlZXMgd2l0aCB0b3RhbCAldSIKK21zZ3N0ciAiUGFydGl0c2lvb24gJWQ6IGVlbG5ldmF0ZSBzZWt0b3JpdGUgYXJ2ICVkIGVpIGtsYXBpIHN1bW1hcnNlZ2EgKCVkKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgYmVnaW5uaW5ncyAobm9uLUxpbnV4Pyk6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiIgorIlBhcnRpdHNpb29uaSAlZCBm/PxzaWxpbmUgamEgbG9vZ2lsaW5lIGFsZ3VzIGVpIGxhbmdlIGtva2t1OlxuIgorIihQb2xlIExpbnV4aSBvbWE/KVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgZW5kaW5nczogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICJQYXJ0aXRzaW9vbmkgJWQgZvz8c2lsaW5lIGphIGxvb2dpbGluZSBs9XBwIGVpIGxhbmdlIGtva2t1OlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiUGFydGl0c2lvb24gJWQgZWkgbPVwcGUgc2lsaW5kcmkgcGlpcmlsXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBiYWQgc3RhcnQtb2YtZGF0YS4iCittc2dzdHIgIlBhcnRpdHNpb29uaWwgJWQgcG9sZSBhbmRtZXRlbGUgcnV1bWkgZXJhbGRhdHVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBvdmVybGFwcyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiSG9pYXR1czogcGFydGl0c2lvb24gJWQga2F0dHViIHBhcnRpdHNpb29uaWdhICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBlbXB0eS4iCittc2dzdHIgIkhvaWF0dXM6IHBhcnRpdHNpb29uICVkIG9uIHT8aGlcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxvZ2ljYWwgcGFydGl0aW9uICV6dTogbm90IGVudGlyZWx5IGluIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJMb29naWxpbmUgcGFydGl0c2lvb24gJWQgcG9sZSD8bGVuaSBwYXJ0aXRzaW9vbmlzICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUb3RhbCBhbGxvY2F0ZWQgc2VjdG9ycyAlbGx1IGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSAlbGx1LiIKK21zZ3N0ciAiS29ndSBrYXN1dGF0YXVkIHNla3Rvcml0ZSBhcnYgJWQgb24gc3V1cmVtIGt1aSBzZWt0b3JpdGUga29ndWFydiAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUmVtYWluaW5nICVsbGQgdW5hbGxvY2F0ZWQgJWxkLWJ5dGUgc2VjdG9ycy4iCittc2dzdHIgIiVkIHZhYmEgc2VrdG9yaXRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1MzIgbGliZmRpc2svc3JjL2Rvcy5jOjE5NTQKKyMsIGZ1enp5Cittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGFscmVhZHkgZXhpc3RzLiIKK21zZ3N0ciAiU2VlIHBhcnRpdHNpb29uIG9uIGp1YmEgb2xlbWFzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTc1CisjLCBmdXp6eQorbXNnaWQgIlRoZSBtYXhpbXVtIG51bWJlciBvZiBwYXJ0aXRpb25zIGhhcyBiZWVuIGNyZWF0ZWQuIgorbXNnc3RyICJNYWtzaW1hYWxuZSBhcnYgcGFydGl0c2lvb25lIG9uIGp1YmEgbG9vZHVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTg3CisjLCBmdXp6eQorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4iCittc2dzdHIgIkxvb2dpbGlzZWQgcGFydGl0c2lvb25pZCBvbiBm/PxzaWxpc2VzdCBlcmluZXZhcyBq5HJqZXN0dXNlcyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1ODkgbGliZmRpc2svc3JjL2Rvcy5jOjE2MDAKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHNwYWNlIGZvciBwcmltYXJ5IHBhcnRpdGlvbnMgaXMgaW4gdXNlLiIKK21zZ3N0ciAiTG9vZ2lsaXNlZCBwYXJ0aXRzaW9vbmlkIG9uIGb8/HNpbGlzZXN0IGVyaW5ldmFzIGrkcmplc3R1c2VzIgorCisjLiBUUkFOU0xBVE9SUzogVHJ5IHRvIGtlZXAgdGhpcyB3aXRoaW4gODAgY2hhcmFjdGVycy4KKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjAzCisjLCBmdXp6eQorbXNnaWQgIlRvIGNyZWF0ZSBtb3JlIHBhcnRpdGlvbnMsIGZpcnN0IHJlcGxhY2UgYSBwcmltYXJ5IHdpdGggYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiIgorIlRlIHBlYXRlIGv1aWdlcGVhbHQgbfVuZSBwYXJ0aXRzaW9vbmkga3VzdHV0YW1hIGphIGFzZW1lbGVcbiIKKyJleHRlbmRlZCBwYXJ0aXRzaW9vbmkgdGVnZW1hXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjA4CisjLCBmdXp6eQorbXNnaWQgIkFsbCBsb2dpY2FsIHBhcnRpdGlvbnMgYXJlIGluIHVzZS4gQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb24uIgorbXNnc3RyICJMb29naWxpc2VkIHBhcnRpdHNpb29uaWQgb24gZvz8c2lsaXNlc3QgZXJpbmV2YXMgauRyamVzdHVzZXMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjMwCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJQYXJ0aXRzaW9vbmkgbnVtYmVyIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlenUgcHJpbWFyeSwgJWQgZXh0ZW5kZWQsICV6dSBmcmVlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjM5CisjLCBmdXp6eQorbXNnaWQgInByaW1hcnkiCittc2dzdHIgIlByaW1hYXJuZSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDEKKyMsIGZ1enp5Cittc2dpZCAiZXh0ZW5kZWQiCittc2dzdHIgIkV4dGVuZGVkIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MQorIywgZnV6enkKK21zZ2lkICJjb250YWluZXIgZm9yIGxvZ2ljYWwgcGFydGl0aW9ucyIKK21zZ3N0ciAiVmlnYW5lIGxvb2dpbGluZSBwYXJ0aXRzaW9vbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDMKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCIKK21zZ3N0ciAiTG9vZ2lsaW5lIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MworIywgZnV6enkKK21zZ2lkICJudW1iZXJlZCBmcm9tIDUiCittc2dzdHIgImwgICBsb29naWxpc2UgcGFydGl0c2lvb25pICg1LS4uLikgbG9vbWluZSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIHR5cGUgYCVjJy4iCittc2dzdHIgIlZpZ2FuZSBwYXJ0aXRzaW9vbmkgbnVtYmVyIHT8/GJpbGUgYCVjJ1xuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlIHNlY3RvciAlamQ6IHNlZWsgZmFpbGVkIgorbXNnc3RyICJzdGF0KCVzKSBlaSD1bm5lc3R1bnVkIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTg1MiBsaWJmZGlzay9zcmMvZ3B0LmM6MTA5NgorIywgZnV6enkKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIktldHRhc2VhZGU6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1OQorIywgZnV6enkKK21zZ2lkICJUeXBlIDAgbWVhbnMgZnJlZSBzcGFjZSB0byBtYW55IHN5c3RlbXMuIEhhdmluZyBwYXJ0aXRpb25zIG9mIHR5cGUgMCBpcyBwcm9iYWJseSB1bndpc2UuIgorbXNnc3RyICIiCisiVPz8cCAwIHTkaGVuZGFiIHBhbGp1ZGVsZSBz/HN0ZWVtaWRlbGUgdmFiYVxuIgorInJ1dW1pIChhZ2EgbWl0dGUgTGludXhpbGUpLiBJbG1zZWx0IGVpIG9sZSBt9WlzdGxpa1xuIgorInRla2l0YWRhIHT8/HBpIDAgcGFydGl0c2lvb25lLiBUZSBzYWF0ZSBwYXJ0aXRzaW9vbmlcbiIKKyJrdXN0dXRhZGEga+RzdWdhICdkJy5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE5NjQKK21zZ2lkICJDYW5ub3QgY2hhbmdlIHR5cGUgb2YgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiB3aGljaCBpcyBhbHJlYWR5IHVzZWQgYnkgbG9naWNhbCBwYXJ0aXRpb25zLiBEZWxldGUgbG9naWNhbCBwYXJ0aXRpb25zIGZpcnN0LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE0MyBsaWJmZGlzay9zcmMvZ3B0LmM6MjgyMQorIywgZnV6enkKK21zZ2lkICJOb3RoaW5nIHRvIGRvLiBPcmRlcmluZyBpcyBjb3JyZWN0IGFscmVhZHkuIgorbXNnc3RyICIiCisiTWlkYWdpIHBvbGUgdmFqYSB0ZWhhLCBq5HJqZXN0dXMgb24ganViYSD1aWdlXG4iCisiXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBubyBkYXRhIGFyZWEuIgorbXNnc3RyICJQYXJ0aXRzaW9vbmlsICVkIHBvbGUgYW5kbWV0ZWxlIHJ1dW1pIGVyYWxkYXR1ZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjIyMgorbXNnaWQgIk5ldyBiZWdpbm5pbmcgb2YgZGF0YSIKK21zZ3N0ciAiQW5kbWV0ZSB1dXMgYWxndXMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBpcyBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJIb2lhdHVzOiBwYXJ0aXRzaW9vbiAlZCBvbiBleHRlbmRlZC1wYXJ0aXRzaW9vblxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIlBhcnRpdHNpb29uaSAlZCB0/PxwIG9uIG78/GQgJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJQYXJ0aXRzaW9vbmkgJWQgdPz8cCBvbiBu/PxkICV4ICglcylcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyOTggbGliZmRpc2svc3JjL2dwdC5jOjI5MTEgbGliZmRpc2svc3JjL3NnaS5jOjExNTMKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTA5Cittc2dpZCAiRGV2aWNlIgorbXNnc3RyICJTZWFkZSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyOTkgbGliZmRpc2svc3JjL3N1bi5jOjQxCittc2dpZCAiQm9vdCIKK21zZ3N0ciAiQnV1dGl2IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1OSBsaWJmZGlzay9zcmMvc3VuLmM6MTExNQorbXNnaWQgIklkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzA5Cittc2dpZCAiU3RhcnQtQy9IL1MiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTAKK21zZ2lkICJFbmQtQy9IL1MiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTEgbGliZmRpc2svc3JjL2dwdC5jOjI5MjEgbGliZmRpc2svc3JjL3NnaS5jOjExNjEKK21zZ2lkICJBdHRycyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYwCittc2dpZCAiRUZJIFN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYyCisjLCBmdXp6eQorbXNnaWQgIk1CUiBwYXJ0aXRpb24gc2NoZW1lIgorbXNnc3RyICJQYXJ0aXRzaW9vbmkgbnVtYmVyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzCittc2dpZCAiSW50ZWwgRmFzdCBGbGFzaCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY2CisjLCBmdXp6eQorbXNnaWQgIkJJT1MgYm9vdCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OQorIywgZnV6enkKK21zZ2lkICJTb255IGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICIgICBhICAgdmFsaWRhIGJ1dXRpdiBwYXJ0aXRzaW9vbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MAorIywgZnV6enkKK21zZ2lkICJMZW5vdm8gYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGEgICB2YWxpZGEgYnV1dGl2IHBhcnRpdHNpb29uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczCisjLCBmdXp6eQorbXNnaWQgIlBvd2VyUEMgUFJlUCBib290IgorbXNnc3RyICJQUEMgUHJlUCBCb290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc2CisjLCBmdXp6eQorbXNnaWQgIk9OSUUgYm9vdCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NworbXNnaWQgIk9OSUUgY29uZmlnIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAKK21zZ2lkICJNaWNyb3NvZnQgcmVzZXJ2ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MQorbXNnaWQgIk1pY3Jvc29mdCBiYXNpYyBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODIKK21zZ2lkICJNaWNyb3NvZnQgTERNIG1ldGFkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODMKK21zZ2lkICJNaWNyb3NvZnQgTERNIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NAorbXNnaWQgIldpbmRvd3MgcmVjb3ZlcnkgZW52aXJvbm1lbnQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NQorbXNnaWQgIklCTSBHZW5lcmFsIFBhcmFsbGVsIEZzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODYKK21zZ2lkICJNaWNyb3NvZnQgU3RvcmFnZSBTcGFjZXMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4OQorIywgZnV6enkKK21zZ2lkICJIUC1VWCBkYXRhIgorbXNnc3RyICIgICBkICAga3VzdHV0YWRhIHBhcnRpdHNpb29uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkwCisjLCBmdXp6eQorbXNnaWQgIkhQLVVYIHNlcnZpY2UiCittc2dzdHIgIlJvaGtlbSBwYXJ0aXRzaW9vbmUgZWkgb2xlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2MSBsaWJmZGlzay9zcmMvc3VuLmM6NTIKK21zZ2lkICJMaW51eCBzd2FwIgorbXNnc3RyICJMaW51eGkgc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NAorIywgZnV6enkKK21zZ2lkICJMaW51eCBmaWxlc3lzdGVtIgorbXNnc3RyICJTaXNlc3RhZ2UgZmFpbGlz/HN0ZWVtaSB0/PxiaSBudW1iZXI6ICIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NQorIywgZnV6enkKK21zZ2lkICJMaW51eCBzZXJ2ZXIgZGF0YSIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk2Cittc2dpZCAiTGludXggcm9vdCAoeDg2KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3Cittc2dpZCAiTGludXggcm9vdCAoQVJNKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4Cittc2dpZCAiTGludXggcm9vdCAoeDg2LTY0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5Cittc2dpZCAiTGludXggcm9vdCAoQVJNLTY0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwCittc2dpZCAiTGludXggcm9vdFx0KElBLTY0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAxCisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IHJlc2VydmVkIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDIKKyMsIGZ1enp5Cittc2dpZCAiTGludXggaG9tZSIKK21zZ3N0ciAiTGludXhpIG9tYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMyBsaWJmZGlzay9zcmMvc2dpLmM6NjQKK21zZ2lkICJMaW51eCBSQUlEIgorbXNnc3RyICJMaW51eCBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0CisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IGV4dGVuZGVkIGJvb3QiCittc2dzdHIgIkxpbnV4IGV4dGVuZGVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEyCisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgZGF0YSIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMworIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIGJvb3QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBzd2FwIgorbXNnc3RyICJCU0RJIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBVRlMiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTYKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBaRlMiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTcKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBWaW51bSIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMAorIywgZnV6enkKK21zZ2lkICJBcHBsZSBIRlMvSEZTKyIKK21zZ3N0ciAiT1MvMiBIUEZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxCittc2dpZCAiQXBwbGUgVUZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjIKK21zZ2lkICJBcHBsZSBSQUlEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjMKK21zZ2lkICJBcHBsZSBSQUlEIG9mZmxpbmUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNAorbXNnaWQgIkFwcGxlIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNQorbXNnaWQgIkFwcGxlIGxhYmVsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjYKK21zZ2lkICJBcHBsZSBUViByZWNvdmVyeSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI3Cittc2dpZCAiQXBwbGUgQ29yZSBzdG9yYWdlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByb290IgorbXNnc3RyICJTb2xhcmlzIGJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMKK21zZ2lkICJTb2xhcmlzIC91c3IgJiBBcHBsZSBaRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNAorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHN3YXAiCittc2dzdHIgIlNvbGFyaXMgYm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNQorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIGJhY2t1cCIKK21zZ3N0ciAiU29sYXJpcyBib290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM2CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgL3ZhciIKK21zZ3N0ciAiU29sYXJpcyBib290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM3CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgL2hvbWUiCittc2dzdHIgIlNvbGFyaXMgYm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOAorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIGFsdGVybmF0ZSBzZWN0b3IiCittc2dzdHIgImxpaWdhIHBhbGp1IGFsdGVybmF0aWl2c2VpZCBraWlydXNpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM5CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMSIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQwCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMiIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMyIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNCIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQzCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNSIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2CisjLCBmdXp6eQorbXNnaWQgIk5ldEJTRCBzd2FwIgorbXNnc3RyICJCU0RJIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDcKKyMsIGZ1enp5Cittc2dpZCAiTmV0QlNEIEZGUyIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4CisjLCBmdXp6eQorbXNnaWQgIk5ldEJTRCBMRlMiCittc2dzdHIgIk5ldEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OQorbXNnaWQgIk5ldEJTRCBjb25jYXRlbmF0ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MAorbXNnaWQgIk5ldEJTRCBlbmNyeXB0ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MQorIywgZnV6enkKK21zZ2lkICJOZXRCU0QgUkFJRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0Cittc2dpZCAiQ2hyb21lT1Mga2VybmVsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTUKK21zZ2lkICJDaHJvbWVPUyByb290IGZzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTYKKyMsIGZ1enp5Cittc2dpZCAiQ2hyb21lT1MgcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OQorbXNnaWQgIk1pZG5pZ2h0QlNEIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MAorbXNnaWQgIk1pZG5pZ2h0QlNEIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MQorIywgZnV6enkKK21zZ2lkICJNaWRuaWdodEJTRCBzd2FwIgorbXNnc3RyICJCU0RJIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjIKK21zZ2lkICJNaWRuaWdodEJTRCBVRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MworbXNnaWQgIk1pZG5pZ2h0QlNEIFpGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY0Cittc2dpZCAiTWlkbmlnaHRCU0QgVmludW0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NworbXNnaWQgIkNlcGggSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4Cittc2dpZCAiQ2VwaCBFbmNyeXB0ZWQgSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5Cittc2dpZCAiQ2VwaCBPU0QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MAorbXNnaWQgIkNlcGggY3J5cHQgT1NEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzEKK21zZ2lkICJDZXBoIGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MgorbXNnaWQgIkNlcGggY3J5cHQgZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1CisjLCBmdXp6eQorbXNnaWQgIk9wZW5CU0QgZGF0YSIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3OAorIywgZnV6enkKK21zZ2lkICJRTlg2IGZpbGUgc3lzdGVtIgorbXNnc3RyICJTaXNlc3RhZ2UgZmFpbGlz/HN0ZWVtaSB0/PxiaSBudW1iZXI6ICIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4MQorIywgZnV6enkKK21zZ2lkICJQbGFuIDkgcGFydGl0aW9uIgorbXNnc3RyICIgICBkICAga3VzdHV0YWRhIHBhcnRpdHNpb29uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NTQ3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHUFQgaGVhZGVyIgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo2MzAKK21zZ2lkICJGaXJzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo2NDIKK21zZ2lkICJMYXN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjc3NQorIywgYy1mb3JtYXQKK21zZ2lkICJHUFQgUE1CUiBzaXplIG1pc21hdGNoICglPFBSSXU2ND4gIT0gJTxQUkl1NjQ+KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NzkyCisjLCBmdXp6eQorbXNnaWQgImdwdDogc3RhdCgpIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6ODAyCisjLCBjLWZvcm1hdAorbXNnaWQgImdwdDogY2Fubm90IGhhbmRsZSBmaWxlcyB3aXRoIG1vZGUgJW8iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEwNjQKK21zZ2lkICJHUFQgSGVhZGVyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMDY5Cittc2dpZCAiR1BUIEVudHJpZXMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExMDMKKyMsIGZ1enp5Cittc2dpZCAiRmlyc3QgTEJBIgorbXNnc3RyICJFc2ltZW5lICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEwOAorIywgZnV6enkKK21zZ2lkICJMYXN0IExCQSIKK21zZ3N0ciAiVmlpbWFuZSAlcyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBMQkEgKExvZ2ljYWwgQmxvY2sgQWRkcmVzcykgb2YgdGhlIGJhY2t1cCBHUFQgaGVhZGVyLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjExMTQKK21zZ2lkICJBbHRlcm5hdGl2ZSBMQkEiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFydCBvZiB0aGUgYXJyYXkgb2YgcGFydGl0aW9uIGVudHJpZXMuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEyMAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gZW50cmllcyBMQkEiCittc2dzdHIgIklnbm9yZWVyaW4gbGlzYS1leHRlbmRlZCBwYXJ0aXN0c2lvb25pICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTI1CisjLCBmdXp6eQorbXNnaWQgIkFsbG9jYXRlZCBwYXJ0aXRpb24gZW50cmllcyIKK21zZ3N0ciAiSWdub3JlZXJpbiBsaXNhLWV4dGVuZGVkIHBhcnRpc3RzaW9vbmkgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE0NDAKK21zZ2lkICJUaGUgYmFja3VwIEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIHByaW1hcnkgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNDQ5Cittc2dpZCAiVGhlIHByaW1hcnkgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgYmFja3VwIGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgR1BUIGF0dHJpYnV0ZSBiaXQgJyVzJyIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIEdQVCBhdHRyaWJ1dGUgc3RyaW5nICclcyciCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gVVVJRCBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICJpb2N0bCgpIGFiaWwga2VsbGEgbHVnZW1pbmUgJXMga2F1ZHUgZWkg9W5uZXN0dW51ZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lIGNoYW5nZWQgZnJvbSAnJXMnIHRvICclLipzJy4iCittc2dzdHIgImlvY3RsKCkgYWJpbCBrZWxsYSBsdWdlbWluZSAlcyBrYXVkdSBlaSD1bm5lc3R1bnVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc2OAorIywgZnV6enkKK21zZ2lkICJUaGUgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiB1bmRlcnN0ZXBzIEZpcnN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiIgorIlxuIgorIkJ1dXRwYXJ0aXRzaW9vbmkgZWkgZWtzaXN0ZWVyaVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc3NQorIywgZnV6enkKK21zZ2lkICJUaGUgZW5kIG9mIHRoZSBwYXJ0aXRpb24gb3ZlcnN0ZXBzIExhc3RVc2FibGVMQkEuIgorbXNnc3RyICJFaSBraXJqdXRhbnVkIHBhcnRpdHNpb29uaXRhYmVsaXQga2V0dGFsZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MzQKK21zZ2lkICJUaGUgZGV2aWNlIGNvbnRhaW5zIGh5YnJpZCBNQlIgLS0gd3JpdGluZyBHUFQgb25seS4gWW91IGhhdmUgdG8gc3luYyB0aGUgTUJSIG1hbnVhbGx5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3MQorIywgZnV6enkKK21zZ2lkICJEaXNrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiU2VhZGUgJXMgZWkgc2lzYWxkYSDkcmF0dW50YXZhdCBwYXJ0aXRzaW9vbml0YWJlbGl0XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTc2Cittc2dpZCAiSW52YWxpZCBwcmltYXJ5IGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTgwCittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5ODUKKyMsIGZ1enp5Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gZW50cnkgY2hlY2tzdW0uIgorbXNnc3RyICJWaWdhbmUgcGFydGl0c2lvb25pIG51bWJlciB0/PxiaWxlIGAlYydcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OTAKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5NAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OTkKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgcHJpbWFyeSBoZWFkZXIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAzCittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDA4Cittc2dpZCAiRGlzayBpcyB0b28gc21hbGwgdG8gaG9sZCBhbGwgZGF0YS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMTgKK21zZ2lkICJQcmltYXJ5IGFuZCBiYWNrdXAgaGVhZGVyIG1pc21hdGNoLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggcGFydGl0aW9uICV1LiIKK21zZ3N0ciAiSG9pYXR1czogcGFydGl0c2lvb24gJWQga2F0dHViIHBhcnRpdHNpb29uaWdhICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgaXMgdG9vIGJpZyBmb3IgdGhlIGRpc2suIgorbXNnc3RyICJLZXR0YWwgb24gcGFydGl0c2lvb25pZGUga2F0dHVtaW5lLiBQYXJhbmRhZ2Ugc2VlIGv1aWdlcGVhbHQhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZW5kcyBiZWZvcmUgaXQgc3RhcnRzLiIKK21zZ3N0ciAiUGFydGl0c2lvb24gbPVwcGViIGVubmUgc2VrdG9yaXQgMCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDcKK21zZ2lkICJObyBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJIZWFkZXIgdmVyc2lvbjogJXMiCittc2dzdHIgInBvc2l0c2lvbmVlcmltaXNlIHZpZ2EiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2luZyAldSBvdXQgb2YgJWQgcGFydGl0aW9ucy4iCittc2dzdHIgIkltZWxpaywgYWludWx0ICAlZCBwYXJ0aXRzaW9vbmkgb24gZGVmaW5lZXJpdWRcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudC4iCittc2dpZF9wbHVyYWwgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudHMgKHRoZSBsYXJnZXN0IGlzICVzKS4iCittc2dzdHJbMF0gIlZhYmFkIHNla3RvcmlkIG9uIG90c2FzXG4iCittc2dzdHJbMV0gIlZhYmFkIHNla3RvcmlkIG9uIG90c2FzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGVycm9yIGRldGVjdGVkLiIKK21zZ2lkX3BsdXJhbCAiJWQgZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQyCisjLCBmdXp6eQorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIGFyZSBhbHJlYWR5IGluIHVzZS4iCittc2dzdHIgIlNlZSBwYXJ0aXRzaW9vbiBvbiBqdWJhIG9sZW1hcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOTcgbGliZmRpc2svc3JjL2dwdC5jOjIyMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlanUgYWxyZWFkeSB1c2VkLiIKK21zZ3N0ciAiU2VrdG9yJWQgb24ganViYSBrYXN1dHVzZWxcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAixHJhIGxvbyBwYXJ0aXRzaW9vbmkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBsYXN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaXJzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBHUFQgZGlza2xhYmVsIChHVUlEOiAlcykuIgorbXNnc3RyICIgICBzICAgbHV1YSB1dXMgdPxoaSBTdW4naSBwYXJ0aXRzaW9vbml0YWJlbCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NDcKK21zZ2lkICJFbnRlciBuZXcgZGlzayBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NTQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHlvdXIgVVVJRC4iCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiaW9jdGwoKSBhYmlsIGtlbGxhIGx1Z2VtaW5lICVzIGthdWR1IGVpIPVubmVzdHVudWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDg4CisjLCBmdXp6eQorbXNnaWQgIk5vdCBlbm91Z2ggc3BhY2UgZm9yIG5ldyBwYXJ0aXRpb24gdGFibGUhIgorbXNnc3RyICJWYWJhZCBzZWt0b3JpZCBvbiBvdHNhc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5NworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV1IG91dCBvZiByYW5nZSAobWluaW1hbCBzdGFydCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMldSBvdXQgb2YgcmFuZ2UgKG1heGltYWwgZW5kIGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIG51bWJlciBvZiB0aGUgcGFydGl0aW9uIGhhcyBiZSBzbWFsbGVyIHRoYW4gJXp1LiIKK21zZ3N0ciAiTWFrc2ltYWFsbmUgYXJ2IHBhcnRpdHNpb29uZSBvbiBqdWJhIGxvb2R1ZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU2MworIywgZnV6enkKK21zZ2lkICJDYW5ub3QgYWxsb2NhdGUgbWVtb3J5ISIKK21zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGxlbmd0aCBjaGFuZ2VkIGZyb20gJTxQUkl1MzI+IHRvICU8UFJJdTY0Pi4iCittc2dzdHIgImlvY3RsKCkgYWJpbCBrZWxsYSBsdWdlbWluZSAlcyBrYXVkdSBlaSD1bm5lc3R1bnVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGF0dHJpYnV0ZXMgb24gcGFydGl0aW9uICV6dSBjaGFuZ2VkIHRvIDB4JTAxNjxQUkl4NjQ+LiIKK21zZ3N0ciAiUGFydGl0c2lvb25pICVkIHT8/HAgb24gbvz8ZCAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzQyCittc2dpZCAiRW50ZXIgR1VJRCBzcGVjaWZpYyBiaXQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB0b2dnbGUgdW5zdXBwb3J0ZWQgYml0ICVsdSIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiUGFydGl0c2lvb25pICVkIHT8/HAgb24gbvz8ZCAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzcxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJQYXJ0aXRzaW9vbmkgJWQgdPz8cCBvbiBu/PxkICV4ICglcylcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiUGFydGl0c2lvb25pICVkIHT8/HAgb24gbvz8ZCAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE4CisjLCBmdXp6eQorbXNnaWQgIlR5cGUtVVVJRCIKK21zZ3N0ciAiVPz8cCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTkKK21zZ2lkICJVVUlEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTIwIGxvZ2luLXV0aWxzL2NoZm4uYzoxNTAgbG9naW4tdXRpbHMvY2hmbi5jOjE1MgorIzogbG9naW4tdXRpbHMvY2hmbi5jOjMwNworbXNnaWQgIk5hbWUiCittc2dzdHIgIk5pbWkiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzo4NDAKKyMsIGZ1enp5Cittc2dpZCAiRnJlZSBzcGFjZSIKK21zZ3N0ciAiVmFiYSBydXVtIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6MTIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24gIyV6dS4iCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0dHlwZS5jOjI1OSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTUgc2NoZWR1dGlscy9jaHJ0LmM6MjA2CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc5IHN5cy11dGlscy9od2Nsb2NrLmM6MzM0Cittc2dpZCAidW5rbm93biIKK21zZ3N0ciAidHVuZG1hdHUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NworbXNnaWQgIlNHSSB2b2xoZHIiCittc2dzdHIgIlNHSSB2b2xoZHIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OAorbXNnaWQgIlNHSSB0cmtyZXBsIgorbXNnc3RyICJTR0kgdHJrcmVwbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ5Cittc2dpZCAiU0dJIHNlY3JlcGwiCittc2dzdHIgIlNHSSBzZWNyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTAKK21zZ2lkICJTR0kgcmF3IgorbXNnc3RyICJTR0kgcmF3IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTEKK21zZ2lkICJTR0kgYnNkIgorbXNnc3RyICJTR0kgYnNkIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTIKK21zZ2lkICJTR0kgc3lzdiIKK21zZ3N0ciAiU0dJIHN5c3YiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MworbXNnaWQgIlNHSSB2b2x1bWUiCittc2dzdHIgIlNHSSB2b2x1bWUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NAorbXNnaWQgIlNHSSBlZnMiCittc2dzdHIgIlNHSSBlZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NQorbXNnaWQgIlNHSSBsdm9sIgorbXNnc3RyICJTR0kgbHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU2Cittc2dpZCAiU0dJIHJsdm9sIgorbXNnc3RyICJTR0kgcnZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU3Cittc2dpZCAiU0dJIHhmcyIKK21zZ3N0ciAiU0dJIHhmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU4Cittc2dpZCAiU0dJIHhmc2xvZyIKK21zZ3N0ciAiU0dJIHhmc2xvZyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5Cittc2dpZCAiU0dJIHhsdiIKK21zZ3N0ciAiU0dJIHhsdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYwCittc2dpZCAiU0dJIHh2bSIKK21zZ3N0ciAiU0dJIHh2bSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyIGxpYmZkaXNrL3NyYy9zdW4uYzo1MworbXNnaWQgIkxpbnV4IG5hdGl2ZSIKK21zZ3N0ciAiTGludXhpIGFuZG1lZCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjE1OQorbXNnaWQgIlNHSSBpbmZvIGNyZWF0ZWQgb24gc2Vjb25kIHNlY3Rvci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI1OQorIywgZnV6enkKK21zZ2lkICJEZXRlY3RlZCBhbiBTR0kgZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIgorbXNnc3RyICJMZWlkc2luIHZhbGUga29udHJvbGxzdW1tYWdhIFNHSSBwYXJ0aXRzaW9vbml0YWJlbGlcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4MiBsaWJmZGlzay9zcmMvc3VuLmM6NzcwCittc2dpZCAiUGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJG/PxzaWxpc2kgc2lsaW5kcmVpZCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4NyBsaWJmZGlzay9zcmMvc3VuLmM6Nzc1CisjLCBmdXp6eQorbXNnaWQgIkV4dHJhIHNlY3RzL2N5bCIKK21zZ3N0ciAiTGlzYXNla3RvcmVpZCBzaWxpbmRyaWwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyOTcKKyMsIGZ1enp5Cittc2dpZCAiQm9vdGZpbGUiCittc2dzdHIgIkVpIHN1dWRhIGF2YWRhIGZhaWxpIGAlcyciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzozOTUKKyMsIGZ1enp5Cittc2dpZCAiSW52YWxpZCBib290ZmlsZSEgIFRoZSBib290ZmlsZSBtdXN0IGJlIGFuIGFic29sdXRlIG5vbi16ZXJvIHBhdGhuYW1lLCBlLmcuIFwiL3VuaXhcIiBvciBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIiIKKyJcbiIKKyJWaWdhbmUgYnV1dGZhaWwhXG4iCisiXHRCdXV0ZmFpbCBwZWFiIG9sZW1hIGFic29sdXV0c2UgdGVlZ2EgbWl0dGV0/GhpIHN0cmluZyxcbiIKKyJcdG7kaXRla3MgXCIvdW5peFwiIHb1aSBcIi91bml4LnNhdmVcIlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZSBtYXhpbXVtLiIKK21zZ2lkX3BsdXJhbCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGVzIG1heGltdW0uIgorbXNnc3RyWzBdICIiCisiXG4iCisiXHRCdXV0ZmFpbGkgbmltaSBvbiBsaWlnYSBwaWtrOiAxNiBiYWl0aSBvbiBtYWtzaW11bVxuIgorbXNnc3RyWzFdICIiCisiXG4iCisiXHRCdXV0ZmFpbGkgbmltaSBvbiBsaWlnYSBwaWtrOiAxNiBiYWl0aSBvbiBtYWtzaW11bVxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDA4CisjLCBmdXp6eQorbXNnaWQgIkJvb3RmaWxlIG11c3QgaGF2ZSBhIGZ1bGx5IHF1YWxpZmllZCBwYXRobmFtZS4iCittc2dzdHIgIiIKKyJcbiIKKyJcdEJ1dXRmYWlsIHR1bGViIGFuZGEgdORpc3RlZWdhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAiQmUgYXdhcmUgdGhhdCB0aGUgYm9vdGZpbGUgaXMgbm90IGNoZWNrZWQgZm9yIGV4aXN0ZW5jZS4gIFNHSSdzIGRlZmF1bHQgaXMgXCIvdW5peFwiLCBhbmQgZm9yIGJhY2t1cCBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIiIKKyJcbiIKKyJcdEV0dGV2YWF0dXN0LCBidXV0ZmFpbGkgb2xlbWFzb2x1IGVpIGtvbnRyb2xsaXRhLlxuIgorIlx0U0dJIHZhaWtlduTkcnR1cyBvbiBcIi91bml4XCIgamEgdmFydXbk5HJ0dXMgXCIvdW5peC5zYXZlXCJcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGN1cnJlbnQgYm9vdCBmaWxlIGlzOiAlcyIKK21zZ3N0ciAiIgorIlxuIgorIkFrdGlpdm5lIGJ1dXRmYWlsIG9uICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDEKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXIgb2YgdGhlIG5ldyBib290IGZpbGUiCittc2dzdHIgIlBhbHVuIHNpc2VzdGFnZSB1dWUgYnV1dGZhaWxpIG5pbWk6ICIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0NgorIywgZnV6enkKK21zZ2lkICJCb290IGZpbGUgaXMgdW5jaGFuZ2VkLiIKK21zZ3N0ciAiQnV1dGZhaWwgauRpIHNhbWFrc1xuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCb290ZmlsZSBoYXMgYmVlbiBjaGFuZ2VkIHRvIFwiJXNcIi4iCittc2dzdHIgIiIKKyJcbiIKKyJcdFV1ZWtzIGJ1dXRmYWlsaWtzIG9uIFwiJXNcIlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTk2CisjLCBmdXp6eQorbXNnaWQgIk1vcmUgdGhhbiBvbmUgZW50aXJlIGRpc2sgZW50cnkgcHJlc2VudC4iCittc2dzdHIgIlRhYmVsaXMgb24gcm9oZWttIGt1aSD8a3MgdGVydmUga2V0dGEga2lyamVcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYwMyBsaWJmZGlzay9zcmMvc3VuLmM6NDU4CisjLCBmdXp6eQorbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZC4iCittc2dzdHIgItxodGVnaSBwYXJ0aXRzaW9vbmkgcG9sZSBkZWZpbmVlcml0dWRcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxMworIywgZnV6enkKK21zZ2lkICJJUklYIGxpa2VzIGl0IHdoZW4gcGFydGl0aW9uIDExIGNvdmVycyB0aGUgZW50aXJlIGRpc2suIgorbXNnc3RyICJJUklYaWxlIG1lZWxkaWIsIGV0IHBhcnRpdHNpb29uIDExIGthdGFiIGtvZ3Uga2V0dGFcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIHBhcnRpdGlvbiBzaG91bGQgc3RhcnQgYXQgYmxvY2sgMCwgbm90IGF0IGJsb2NrICVkLiIKK21zZ3N0ciAiVGVydmV0IGtldGFzdCBrYXR0ZXYgcGFydGl0c2lvb24gcGVhYiBhbGdhbWEga2V0dGFwbG9raXN0IDAsIG1pdHRlICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MjgKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIDExIHNob3VsZCBjb3ZlciB0aGUgZW50aXJlIGRpc2suIgorbXNnc3RyICJNaW5naSBwYXJ0aXRzaW9vbiAoc29vdml0YXZhbHQgbnVtYmVyIDExKSBwZWFiIGthdG1hIGtvZ3Uga2V0dGFcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3IuIgorbXNnaWRfcGx1cmFsICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3RvcnMuIgorbXNnc3RyWzBdICJQYXJ0aXRzaW9vbmlkICVkIGphICVkIGthdHR1dmFkICVkIHNla3RvcmkgdWxhdHVzZXNcbiIKK21zZ3N0clsxXSAiUGFydGl0c2lvb25pZCAlZCBqYSAlZCBrYXR0dXZhZCAlZCBzZWt0b3JpIHVsYXR1c2VzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NjMgbGliZmRpc2svc3JjL3NnaS5jOjY4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yOiBzZWN0b3IgJTh1IgorbXNnaWRfcGx1cmFsICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3JzOiBzZWN0b3JzICU4dS0ldSIKK21zZ3N0clswXSAiS2FzdXRhbWF0YSBhdWsgJThkIHNla3RvcmlzdCAtIHNla3RvcmlkICU4ZC0lZFxuIgorbXNnc3RyWzFdICJLYXN1dGFtYXRhIGF1ayAlOGQgc2VrdG9yaXN0IC0gc2VrdG9yaWQgJThkLSVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2OTgKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGJvb3QgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiIgorIlxuIgorIkJ1dXRwYXJ0aXRzaW9vbmkgZWkgZWtzaXN0ZWVyaVxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzAyCisjLCBmdXp6eQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIiIKKyJcbiIKKyJTYWFsaW1pc3BhcnRpdHNpb29uaSBlaSBla3Npc3RlZXJpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDYKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGhhcyBubyBzd2FwIHR5cGUuIgorbXNnc3RyICIiCisiXG4iCisiU2FhbGltaXNwYXJ0aXRzaW9vbmlsIHBvbGUgc2FhbGltaXNwYXJ0aXRzaW9vbmkgdPz8cFxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA5CisjLCBmdXp6eQorbXNnaWQgIllvdSBoYXZlIGNob3NlbiBhbiB1bnVzdWFsIGJvb3RmaWxlIG5hbWUuIgorbXNnc3RyICJcdFRlIG9sZXRlIHZhbGludWQgZWJhaGFyaWxpa3UgYnV1dGZhaWxpIG5pbWVcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjc1OQorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4iCittc2dzdHIgIktldHRhbCBvbiBwYXJ0aXRzaW9vbmlkZSBrYXR0dW1pbmUuIFBhcmFuZGFnZSBzZWUga/VpZ2VwZWFsdCFcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0NAorIywgZnV6enkKK21zZ2lkICJBdHRlbXB0aW5nIHRvIGdlbmVyYXRlIGVudGlyZSBkaXNrIGVudHJ5IGF1dG9tYXRpY2FsbHkuIgorbXNnc3RyICLccml0YW4gZ2VuZXJlZXJpZGEgdGVydmUga2V0dGEga2lyamV0IGF1dG9tYWF0c2VsdFxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQ5CisjLCBmdXp6eQorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBpcyBhbHJlYWR5IGNvdmVyZWQgd2l0aCBwYXJ0aXRpb25zLiIKK21zZ3N0ciAiVGVydmUga2V0YXMgb24ganViYSBwYXJ0aXRzaW9vbmlkZWdhIGthZXR1ZFxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODUzCisjLCBmdXp6eQorbXNnaWQgIllvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKK21zZ3N0ciAiS2V0dGFsIG9uIHBhcnRpdHNpb29uaWRlIGthdHR1bWluZS4gUGFyYW5kYWdlIHNlZSBr9WlnZXBlYWx0IVxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODc1IGxpYmZkaXNrL3NyYy9zdW4uYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3QgJXMiCittc2dzdHIgIkVzaW1lbmUgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4OTkgbGliZmRpc2svc3JjL3NnaS5jOjk0OQorIywgZnV6enkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgZWxldmVudGggcGFydGl0aW9uIGNvdmVycyB0aGUgZW50aXJlIGRpc2sgYW5kIGlzIG9mIHR5cGUgJ1NHSSB2b2x1bWUnLiIKK21zZ3N0ciAiIgorIk9uIPxsaW1hbHQgc29vdml0YXYsIGV0IDExLiBwYXJ0aXRzaW9vbiBrYXRha3Mga29ndSBrZXR0YVxuIgorImphIG9sZWtzIHT8/HBpIFwiU0dJIHZvbHVtZVwiXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5MTQgbGliZmRpc2svc3JjL3N1bi5jOjYzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTGFzdCAlcyBvciArJXMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiVmlpbWFuZSAlcyB29WkgK3N1dXJ1cyB29WkgK3N1dXJ1c00gdvVpICtzdXVydXNLIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTg1IGxpYmZkaXNrL3NyYy9zdW4uYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuIFRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDUxCisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU0dJIGRpc2tsYWJlbC4iCittc2dzdHIgIiAgIHMgICBsdXVhIHV1cyB0/GhpIFN1bidpIHBhcnRpdHNpb29uaXRhYmVsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3MAorIywgZnV6enkKK21zZ2lkICJTb3JyeSwgb25seSBmb3Igbm9uLWVtcHR5IHBhcnRpdGlvbnMgeW91IGNhbiBjaGFuZ2UgdGhlIHRhZy4iCittc2dzdHIgIkthaGp1a3Mgc2FiYSBhaW51bHQgcm9vdCBz/HN0ZWVtaWtlbGFsIGtlZXJhdGFcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNzYKKyMsIGZ1enp5Cittc2dpZCAiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gOSBhcyB2b2x1bWUgaGVhZGVyICgwKSwgYW5kIHBhcnRpdGlvbiAxMSBhcyBlbnRpcmUgdm9sdW1lICg2KSwgYXMgSVJJWCBleHBlY3RzIGl0LiIKK21zZ3N0ciAiIgorIkthYWx1Z2UgcGFydGl0c2lvb25pIDkgauR0bWlzdCBr9ml0ZSBw5GlzZWtzICgwKSBqYVxuIgorInBhcnRpdHNpb29uaSAxMSBq5HRtaXN0IHRlcnZla3Mga2V0dGFrcyAoNikgbmFndSBJUklYIHNlZGEgZWVsZGFiXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDg1CisjLCBmdXp6eQorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDAgaXMgb2YgdHlwZSBcIlNHSSB2b2xoZHJcIiwgdGhlIElSSVggc3lzdGVtIHdpbGwgcmVseSBvbiBpdCB0byByZXRyaWV2ZSBmcm9tIGl0cyBkaXJlY3Rvcnkgc3RhbmRhbG9uZSB0b29scyBsaWtlIHNhc2ggYW5kIGZ4LiBPbmx5IHRoZSBcIlNHSSB2b2x1bWVcIiBlbnRpcmUgZGlzayBzZWN0aW9uIG1heSB2aW9sYXRlIHRoaXMuIEFyZSB5b3Ugc3VyZSBhYm91dCB0YWdnaW5nIHRoaXMgcGFydGl0aW9uIGRpZmZlcmVudGx5PyIKK21zZ3N0ciAiIgorIk9uIPxsaW1hbHQgc29vdml0YXYsIGV0IHBhcnRpdHNpb29uIGFsYXRlcyBwbG9raXN0IDAgb2xla3NcbiIKKyJ0/PxwaSBcIlNHSSB2b2xoZHJcIiwgc2VzdCBJUklYaWwgc/VsdHViIHNlbGxlc3Qgb21hIGJ1dXRpbWlzYWVnc2V0ZVxuIgorInV0aWxpaXRpZGUgKHNhc2gsIGZ4LCBpZGUpIGvkdHRlIHNhYW1pbmUuIEFpbnVsdCBcIlNHSSB2b2x1bWVcIiB0/PxwaVxuIgorInRlcnZlIGtldHRhIGtpcmplIHRvaGliIHNlZGEgcmVlZ2xpdCByaWtrdWRhLlxuIgorIkt1aSBvbGV0ZSBraW5kZWwsIGV0IHNvb3ZpdGUgc2VkYSB0/PxwaSBtdXV0YSwga2lyanV0YWdlIFlFU1xuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDAKK21zZ2lkICJVbmFzc2lnbmVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MgorbXNnaWQgIlN1bk9TIHJvb3QiCittc2dzdHIgIlN1bk9TIHJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MworbXNnaWQgIlN1bk9TIHN3YXAiCittc2dzdHIgIlN1bk9TIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NAorbXNnaWQgIlN1bk9TIHVzciIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDUKK21zZ2lkICJXaG9sZSBkaXNrIgorbXNnc3RyICJUZXJ2ZSBrZXRhcyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2Cittc2dpZCAiU3VuT1Mgc3RhbmQiCittc2dzdHIgIlN1bk9TIHN0YW5kIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyB2YXIiCittc2dzdHIgIlN1bk9TIHZhciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ4Cittc2dpZCAiU3VuT1MgaG9tZSIKK21zZ3N0ciAiU3VuT1MgaG9tZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ5CisjLCBmdXp6eQorbXNnaWQgIlN1bk9TIGFsdCBzZWN0b3JzIgorbXNnc3RyICIlZCB2YWJhIHNla3Rvcml0XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MAorIywgZnV6enkKK21zZ2lkICJTdW5PUyBjYWNoZWZzIgorbXNnc3RyICJTdW5PUyBob21lIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTEKKyMsIGZ1enp5Cittc2dpZCAiU3VuT1MgcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEzNworIywgZnV6enkKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIFByb2JhYmx5IHlvdSdsbCBoYXZlIHRvIHNldCBhbGwgdGhlIHZhbHVlcywgZS5nLiBoZWFkcywgc2VjdG9ycywgY3lsaW5kZXJzIGFuZCBwYXJ0aXRpb25zIG9yIGZvcmNlIGEgZnJlc2ggbGFiZWwgKHMgY29tbWFuZCBpbiBtYWluIG1lbnUpIgorbXNnc3RyICIiCisiTGVpZHNpbiB2YWxlIGtvbnRyb2xsc3VtbWFnYSBTdW5pIHBhcnRpdHNpb29uaXRhYmVsaS5cbiIKKyJU9WVu5G9saXNlbHQgdHVsZWIgVGVpbCBzZWFkYSBr9WlrIHbk5HJ0dXNlZCwgcy50LlxuIgorInBlYWRlLCBzZWt0b3JpdGUgamEgc2lsaW5kcml0ZSBhcnYgbmluZyBwYXJ0aXRzaW9vbmlkXG4iCisidvVpIGx1dWEgdXVzIHRhYmVsIChr5HN1Z2EgcyBw9WhpbWVu/PxzdCkuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2ZXJzaW9uIFslZF0uIgorbXNnc3RyICJMZWlkc2luIHZhbGUga29udHJvbGxzdW1tYWdhIFNHSSBwYXJ0aXRzaW9vbml0YWJlbGlcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2Muc2FuaXR5IFsweCUwOHhdLiIKK21zZ3N0ciAiTGVpZHNpbiB2YWxlIGtvbnRyb2xsc3VtbWFnYSBTR0kgcGFydGl0c2lvb25pdGFiZWxpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLm5wYXJ0cyBbJXVdLiIKK21zZ3N0ciAiTGVpZHNpbiB2YWxlIGtvbnRyb2xsc3VtbWFnYSBTR0kgcGFydGl0c2lvb25pdGFiZWxpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiV2FybmluZzogV3JvbmcgdmFsdWVzIG5lZWQgdG8gYmUgZml4ZWQgdXAgYW5kIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkiCittc2dzdHIgIiIKKyJIb2lhdHVzOiB2aWdhbmUgbGlwcCAweCUwNHggKHBhcnRpdHNpb29uaXRhYmVsaXMgJWQpIHBhcmFuZGF0YWtzZVxuIgorImtpcmp1dGFtaXNlbCAodykg5HJhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTIKK21zZ2lkICJIZWFkcyIKK21zZ3N0ciAicGVhZCAoSCkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTQKK21zZ2lkICJTZWN0b3JzL3RyYWNrIgorbXNnc3RyICJTZWt0b3JlaWQgcmFqYWwiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoyOTcKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTdW4gZGlza2xhYmVsLiIKK21zZ3N0ciAiICAgcyAgIGx1dWEgdXVzIHT8aGkgU3VuJ2kgcGFydGl0c2lvb25pdGFiZWwiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBkb2Vzbid0IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIlBhcnRpdHNpb29uICVkIGVpIGz1cHBlIHNpbGluZHJpIHBpaXJpbFxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBvdGhlcnMgaW4gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIlBhcnRpdHNpb29uICVkIGthdHR1YiB0ZWlzdGVnYSBzZWt0b3JpdGVzICVkLSVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzIDAtJXUuIgorbXNnc3RyICJLYXN1dGFtYXRhIHZhaGVtaWsgLSBzZWt0b3JpZCAwLSVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjUgbGliZmRpc2svc3JjL3N1bi5jOjQ3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICJLYXN1dGFtYXRhIHZhaGVtaWsgLSBzZWt0b3JpZCAlZC0lZFxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTI4CisjLCBmdXp6eQorbXNnaWQgIk90aGVyIHBhcnRpdGlvbnMgYWxyZWFkeSBjb3ZlciB0aGUgd2hvbGUgZGlzay4gRGVsZXRlIHNvbWUvc2hyaW5rIHRoZW0gYmVmb3JlIHJldHJ5LiIKK21zZ3N0ciAiIgorIlRlaXNlZCBwYXJ0aXRzaW9vbmlkIGthdGF2YWQganViYSBrb2d1IGtldHRhLlxuIgorIkt1c3R1dGFnZSB29WkgduRoZW5kYWdlIG5laXN0IG31bmRhIGphIHByb292aWdlIHV1ZXN0aVxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWQgaXMgYWxyZWFkeSBhbGxvY2F0ZWQiCittc2dzdHIgIlNla3RvciVkIG9uIGp1YmEga2FzdXR1c2VsXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2MDAKKyMsIGZ1enp5Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHRoaXJkIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIHdob2xlIGRpc2sgYW5kIGlzIG9mIHR5cGUgYFdob2xlIGRpc2snIgorbXNnc3RyICIiCisiT24g/GxpbWFsdCBzb292aXRhdiwgZXQgMTEuIHBhcnRpdHNpb29uIGthdGFrcyBrb2d1IGtldHRhXG4iCisiamEgb2xla3MgdPz8cGkgXCJTR0kgdm9sdW1lXCJcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYxMAorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbmluZyB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gJXUgdG8gJXUgdG8gYmUgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZW4ndCBjb3ZlcmVkIHRoZSB3aG9sZSBkaXNrIHdpdGggdGhlIDNyZCBwYXJ0aXRpb24sIGJ1dCB5b3VyIHZhbHVlXG4iCisiJWx1ICVzIGNvdmVycyBzb21lIG90aGVyIHBhcnRpdGlvbi4gWW91ciBlbnRyeSBoYXMgYmVlbiBjaGFuZ2VkXG4iCisidG8gJWx1ICVzIgorbXNnc3RyICIiCisiS29sbWFzIHBhcnRpdHNpb29uIGVpIGthdGEga29ndSBrZXRhc3QsIGFnYSBzaXNlc2F0dWQgduTkcnR1cyAlZCAlc1xuIgorImthdGFiIG1pbmdpIG11dSBwYXJ0aXRzaW9vbmkuIFNpc2VzdGF0dWQga2lyamUgdXVla3MgduTkcnR1c2VrcyBvbiAlZCAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJZiB5b3Ugd2FudCB0byBtYWludGFpbiBTdW5PUy9Tb2xhcmlzIGNvbXBhdGliaWxpdHksIGNvbnNpZGVyIGxlYXZpbmcgdGhpcyBwYXJ0aXRpb24gYXMgV2hvbGUgZGlzayAoNSksIHN0YXJ0aW5nIGF0IDAsIHdpdGggJXUgc2VjdG9ycyIKK21zZ3N0ciAiIgorIkt1aSBzb292aXRlIGhvaWRhIPxoaWxkdXZ1c3QgU3VuT1MnaS9Tb2xhcmlzZWdhLCBq5HRrZSBzZWUgcGFydGl0c2lvb25cbiIKKyJrb2d1IGtldGFzdCBrYXRtYSAoNSksIGFsZ3VzZWtzIDAsIHBpa2t1c2VrcyAldSBzZWt0b3JpdFxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzUwCisjLCBmdXp6eQorbXNnaWQgIkxhYmVsIElEIgorbXNnc3RyICJt5HJnZW5kOiAlLipzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NTUKKyMsIGZ1enp5Cittc2dpZCAiVm9sdW1lIElEIgorbXNnc3RyICJL9mlkZTogPCUtNnM+XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjUKK21zZ2lkICJBbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJBbHRlcm5hdGlpdnNlaWQgc2lsaW5kcmVpZCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg3MQorbXNnaWQgIk51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJBbHRlcm5hdGlpdnNldGUgc2lsaW5kcml0ZSBhcnYiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo4OTYKK21zZ2lkICJFeHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAiTGlzYXNla3RvcmVpZCBzaWxpbmRyaWwiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MjAKK21zZ2lkICJJbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiVmFoZWxlauR0dSB0ZWd1ciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk0NAorbXNnaWQgIlJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICJQ9vZybGVtaXNraWlydXMgKHJwbSkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5NjgKK21zZ2lkICJOdW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJG/PxzaWxpc3RlIHNpbGluZHJpdGUgYXJ2IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTAzNworIywgZnV6enkKK21zZ2lkICIiCisiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gMyBhcyBXaG9sZSBkaXNrICg1KSxcbiIKKyJhcyBTdW5PUy9Tb2xhcmlzIGV4cGVjdHMgaXQgYW5kIGV2ZW4gTGludXggbGlrZXMgaXQuXG4iCittc2dzdHIgIiIKKyJTb292aXRhdiBvbiBq5HR0YSBwYXJ0aXRzaW9vbiAzIHRlcnZla3Mga2V0dGFrcyAoNSksXG4iCisic2VzdCBTdW5Pcy9Tb2xhcmlzIGVlbGRhYiBzZWRhIGphIHNlZSBtZWVsZGliIGlzZWdpIExpbnV4aWxlLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA0OAorIywgZnV6enkKK21zZ2lkICIiCisiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMFxuIgorImlzIFVGUywgRVhUMkZTIGZpbGVzeXN0ZW0gb3IgU3VuT1Mgc3dhcC4gUHV0dGluZyBMaW51eCBzd2FwXG4iCisidGhlcmUgbWF5IGRlc3Ryb3kgeW91ciBwYXJ0aXRpb24gdGFibGUgYW5kIGJvb3RibG9jay5cbiIKKyJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdGFnIHRoZSBwYXJ0aXRpb24gYXMgTGludXggc3dhcD8iCittc2dzdHIgIiIKKyJPbiD8bGltYWx0IHNvb3ZpdGF2LCBldCBwYXJ0aXRzaW9vbiwgbWlzIGFsZ2FiIDAuIHNla3RvcmlzdFxuIgorIm9sZWtzIFVGUywgRVhUMkZTIHb1aSBTdW5PU2kgc2FhbGltaXNhbGEuIExpbnV4aSBzYWFsaW1pc2FsYVxuIgorInNpbm5hIGtpcmp1dGFtaW5lIHb1aWIgaOR2aXRhZGEgcGFydGl0c2lvb25pdGFiZWxpIGphIGFsZ2xhYWRlcGxva2kuXG4iCisic2lzZXN0YWdlIFlFUywga3VpIG9sZXRlIHT1ZGVzdGkga2luZGxhZCwgZXQgdGFoYXRlIHBhcnRpdHNpb29uaSB0/PxiaWtzXG4iCisicGFubmEgODIgKExpbnV4aSBzYWFsaW1pc2FsYSk6IgorCisjOiBsaWIvcGFnZXIuYzoxMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhaXRwaWQgZmFpbGVkICglcykiCittc2dzdHIgInNldHVpZCgpIGVpIPVubmVzdHVudWQiCisKKyM6IGxpYi9wYXRoLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE4MTgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNhbGxvY2F0ZSBjcHUgc2V0IgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyM6IGxpYi9wYXRoLmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3QgJXMiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGxpYi9wYXRoLmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2sgJXMiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzIKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG5vdCBvcGVuIFVOSVggc29ja2V0IgorbXNnc3RyICJlaSBzdXVkYSBhdmFkYSBzZWFkZXQgJXMiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzgKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG5vdCBzZXQgb3B0aW9uIGZvciBVTklYIHNvY2tldCIKK21zZ3N0ciAiZWkgc3V1ZGEga2luZGxha3MgdGVoYSBzZWFkbWUgJXMgbWFodHUiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG5vdCBjb25uZWN0IG9uIFVOSVggc29ja2V0IgorbXNnc3RyICJlaSBzdXVkYSBhdmFkYSBzZWFkZXQgJXMiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBwbHltb3V0aCByZXF1ZXN0ICVjIGlzIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWIvcmFuZHV0aWxzLmM6MTM2Cittc2dpZCAibGliYyBwc2V1ZG8tcmFuZG9tIGZ1bmN0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjE3IGxpYi9zd2FwcHJvYmVyLmM6MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gcHJvYmUgZGV2aWNlIgorbXNnc3RyICJlaSBzdXVkYSB0YWdhc2kga2VyaWRhIHNhYWxpbWlzc2VhZGV0IgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcHJvYmluZyByZXN1bHQ7IHVzZSB3aXBlZnMoOCkiCittc2dzdHIgIiIKKworIzogbGliL3N3YXBwcm9iZXIuYzozNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHZhbGlkIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICIlczogc2VsbGlzdCBwYXJ0aXRzaW9vbmkgZWkgb2xlXG4iCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6NDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bnN1cHBvcnRlZCBzd2FwIHZlcnNpb24gJyVzJyIKK21zZ3N0ciAiJXM6IFZpZ2EgLSB0dW5kbWF0dSB2ZXJzaW9vbiAlZFxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTAgbG9naW4tdXRpbHMvY2hzaC5jOjY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+XVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHlvdXIgZmluZ2VyIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJNdXVkYW4ga2FzdXRhamEgJXMga29odGEga+RpdmF0IGluZm9ybWF0c2lvb25pXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5NgorbXNnaWQgIiAtZiwgLS1mdWxsLW5hbWUgPGZ1bGwtbmFtZT4gIHJlYWwgbmFtZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5NworbXNnaWQgIiAtbywgLS1vZmZpY2UgPG9mZmljZT4gICAgICAgIG9mZmljZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTgKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLW9mZmljZS1waG9uZSA8cGhvbmU+ICAgb2ZmaWNlIHBob25lIG51bWJlclxuIgorbXNnc3RyICIiCisiWyAtcCB09vZ0ZWxlZm9uXVxuIgorIlx0WyAtaCBrb2R1bmUgdGVsZWZvbl0gIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTkKK21zZ2lkICIgLWgsIC0taG9tZS1waG9uZSA8cGhvbmU+ICAgICBob21lIHBob25lIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDEgbG9naW4tdXRpbHMvY2hzaC5jOjc4Cittc2dpZCAiIC11LCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjExNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmllbGQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgInbkbGkgb24gbGlpZ2EgcGlra1xuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTIxIGxvZ2luLXV0aWxzL2Noc2guYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGhhcyBpbGxlZ2FsIGNoYXJhY3RlcnMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1MCBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW4uZGVmcyBmb3JiaWRzIHNldHRpbmcgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTU4IGxvZ2luLXV0aWxzL2NoZm4uYzozMDkKK21zZ2lkICJPZmZpY2UiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2MiBsb2dpbi11dGlscy9jaGZuLmM6MTY0IGxvZ2luLXV0aWxzL2NoZm4uYzozMTEKK21zZ2lkICJPZmZpY2UgUGhvbmUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2OCBsb2dpbi11dGlscy9jaGZuLmM6MTcwIGxvZ2luLXV0aWxzL2NoZm4uYzozMTMKK21zZ2lkICJIb21lIFBob25lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyMzMKKyMsIGZ1enp5Cittc2dpZCAiQWJvcnRlZC4iCittc2dzdHIgIiIKKyJcbiIKKyJLYXRrZXN0YXR1ZFxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGhhcyB1bmV4cGVjdGVkIHZhbHVlOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGRvZXMgbm90IGFsbG93IGFueSBjaGFuZ2VzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuXG4iCittc2dzdHIgIkthc3V0YWphIGluZm9ybWF0c2lvb25pIGVpIG11dWRldHVkLiBQcm9vdmlnZSBoaWxqZW0gdXVlc3RpXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIGNoYW5nZWQuXG4iCittc2dzdHIgIkthc3V0YWphIGluZm9ybWF0c2lvb24gb24gbXV1ZGV0dWRcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQwOCBsb2dpbi11dGlscy9jaHNoLmM6MjQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ5b3UgKHVzZXIgJWQpIGRvbid0IGV4aXN0LiIKK21zZ3N0ciAiJXM6IFRlaWQgKGthc3V0YWphdCAlZCkgcG9sZSBvbGVtYXNcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQxNCBsb2dpbi11dGlscy9jaHNoLmM6MjQ4IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXNlciBcIiVzXCIgZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICIlczogS2FzdXRhamF0IFwiJXNcIiBwb2xlIG9sZW1hc1xuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDIwIGxvZ2luLXV0aWxzL2Noc2guYzoyNTQKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMiCittc2dzdHIgIiVzOiBhaW51bHQgbG9rYWFsc2VpZCBraXJqZWlkIHNhYWIgbXV1dGEgLSBrYXN1dGFnZSBwcm9ncmFtbWkgeXAlc1xuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIGZpbmdlciBpbmZvIG9mICVzIgorbXNnc3RyICIlczogXCIlc1wiIHBvbGUga2lyamFzIGZhaWxpcyAvZXRjL3NoZWxsc1xuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDM1IGxvZ2luLXV0aWxzL2Noc2guYzoyNzAKK21zZ2lkICJVbmtub3duIHVzZXIgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDQxIGxvZ2luLXV0aWxzL2Noc2guYzoyNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHNldCBkZWZhdWx0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICJlaSBzdXVkYSBraW5kbGFrcyB0ZWhhIHNlYWRtZSAlcyBtYWh0dSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MgorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBmaW5nZXIgaW5mb3JtYXRpb24gZm9yICVzLlxuIgorbXNnc3RyICJNdXVkYW4ga2FzdXRhamEgJXMga29odGEga+RpdmF0IGluZm9ybWF0c2lvb25pXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIG5vdCBjaGFuZ2VkLlxuIgorbXNnc3RyICJLYXN1dGFqYSBpbmZvcm1hdHNpb29uIGVpIG11dXR1bnVkXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3MgorIywgZnV6enkKK21zZ2lkICJDaGFuZ2UgeW91ciBsb2dpbiBzaGVsbC5cbiIKK21zZ3N0ciAiTXV1ZGFtZSBrYXN1dGFqYSAlcyBzaGVsbGlcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc1Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gIHNwZWNpZnkgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6NzYKK21zZ2lkICIgLWwsIC0tbGlzdC1zaGVsbHMgICAgcHJpbnQgbGlzdCBvZiBzaGVsbHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MTAwCisjLCBmdXp6eQorbXNnaWQgIk5vIGtub3duIHNoZWxscy4iCittc2dzdHIgIkVpIGxlaWR1IPxodGVnaSBsdWJhdHVkIHNoZWxsaVxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjAwCisjLCBmdXp6eQorbXNnaWQgInNoZWxsIG11c3QgYmUgYSBmdWxsIHBhdGggbmFtZSIKK21zZ3N0ciAiJXM6IHNoZWxsaSBwZWFiIGFuZG1hIGtvb3MgdORpZWxpa3UgdGVlZ2FcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIlczogXCIlc1wiIGVpIGVrc2lzdGVlcmlcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGlzIG5vdCBleGVjdXRhYmxlIgorbXNnc3RyICIlczogXCIlc1wiIGVpIG9sZSB05GlkZXRhdlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy4iCittc2dzdHIgIkhvaWF0dXM6IFwiJXNcIiBwb2xlIGtpcmphcyBmYWlsaXMgL2V0Yy9zaGVsbHNcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIxNCBsb2dpbi11dGlscy9jaHNoLmM6MjE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuXG4iCisiVXNlICVzIC1sIHRvIHNlZSBsaXN0LiIKK21zZ3N0ciAiJXM6IFwiJXNcIiBwb2xlIGtpcmphcyBmYWlsaXMgL2V0Yy9zaGVsbHNcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBzaGVsbCBvZiAlcyIKK21zZ3N0ciAiJXM6IFwiJXNcIiBwb2xlIGtpcmphcyBmYWlsaXMgL2V0Yy9zaGVsbHNcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI5NQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAieW91ciBzaGVsbCBpcyBub3QgaW4gJXMsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiVzOiBUZWllIHNoZWxsIHBvbGUga2lyamFzIGZhaWxpcyAvZXRjL3NoZWxscywgc2hlbGxpIGVpIG11dWRhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgc2hlbGwgZm9yICVzLlxuIgorbXNnc3RyICJNdXVkYW1lIGthc3V0YWphICVzIHNoZWxsaVxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzEyCittc2dpZCAiTmV3IHNoZWxsIgorbXNnc3RyICJVdXMgc2hlbGwiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjAKKyMsIGZ1enp5Cittc2dpZCAiU2hlbGwgbm90IGNoYW5nZWQuIgorbXNnc3RyICJTaGVsbCBq5Gkgc2FtYWtzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjUKKyMsIGZ1enp5Cittc2dpZCAiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIlNoZWxsaSBlaSBtdXVkZXR1ZCwgcHJvb3ZpZ2UgaGlsamVtIHV1ZXN0aVxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzI5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJzZXRwd25hbSBmYWlsZWRcbiIKKyJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiU2hlbGxpIGVpIG11dWRldHVkLCBwcm9vdmlnZSBoaWxqZW0gdXVlc3RpXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hlbGwgY2hhbmdlZC5cbiIKK21zZ3N0ciAiU2hlbGwgb24gbXV1ZGV0dWRcbiIKKworIzogbG9naW4tdXRpbHMvaXNsb2NhbC5jOjk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgPHBhc3N3b3JkZmlsZT4gPHVzZXJuYW1lPi4uLlxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbZmFpbF1cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjE3NCBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjAgc3lzLXV0aWxzL2RtZXNnLmM6MTE5MworIzogc3lzLXV0aWxzL2xzaXBjLmM6MjY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHRpbWUgZm9ybWF0OiAlcyIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjgxIGxvZ2luLXV0aWxzL2xhc3QuYzoyODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludGVycnVwdGVkICVzIgorbXNnc3RyICIiCisiXG4iCisia2F0a2VzdGF0dWQgJTEwLjEwcyAlNS41cyBcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjQzOSBsb2dpbi11dGlscy9sYXN0LmM6NDUwCittc2dpZCAicHJlYWxsb2NhdGlvbiBzaXplIGV4Y2VlZGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT4uLi5dIFs8dHR5Pi4uLl1cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3MgorbXNnaWQgIlNob3cgYSBsaXN0aW5nIG9mIGxhc3QgbG9nZ2VkIGluIHVzZXJzLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzUKK21zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzYKK21zZ2lkICIgLWEsIC0taG9zdGxhc3QgICAgICAgZGlzcGxheSBob3N0bmFtZXMgaW4gdGhlIGxhc3QgY29sdW1uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NworbXNnaWQgIiAtZCwgLS1kbnMgICAgICAgICAgICB0cmFuc2xhdGUgdGhlIElQIG51bWJlciBiYWNrIGludG8gYSBob3N0bmFtZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgIHVzZSBhIHNwZWNpZmljIGZpbGUgaW5zdGVhZCBvZiAlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODAKK21zZ2lkICIgLUYsIC0tZnVsbHRpbWVzICAgICAgcHJpbnQgZnVsbCBsb2dpbiBhbmQgbG9nb3V0IHRpbWVzIGFuZCBkYXRlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODEKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlwICAgICAgICAgICAgIGRpc3BsYXkgSVAgbnVtYmVycyBpbiBudW1iZXJzLWFuZC1kb3RzIG5vdGF0aW9uXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgyCittc2dpZCAiIC1uLCAtLWxpbWl0IDxudW1iZXI+IGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgzCisjLCBmdXp6eQorbXNnaWQgIiAtUiwgLS1ub2hvc3RuYW1lICAgICBkb24ndCBkaXNwbGF5IHRoZSBob3N0bmFtZSBmaWVsZFxuIgorbXNnc3RyICIgIHAgICAgICAgICAgVuRsamFzdGFkYSBwYXJ0aXRzaW9vbml0YWJlbCBla3JhYW5pbGUgdvVpIGZhaWxpIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg0Cittc2dpZCAiIC1zLCAtLXNpbmNlIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHNpbmNlIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODUKK21zZ2lkICIgLXQsIC0tdW50aWwgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgdW50aWwgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NgorbXNnaWQgIiAtcCwgLS1wcmVzZW50IDx0aW1lPiBkaXNwbGF5IHdobyB3ZXJlIHByZXNlbnQgYXQgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NworIywgZnV6enkKK21zZ2lkICIgLXcsIC0tZnVsbG5hbWVzICAgICAgZGlzcGxheSBmdWxsIHVzZXIgYW5kIGRvbWFpbiBuYW1lc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OAorbXNnaWQgIiAteCwgLS1zeXN0ZW0gICAgICAgICBkaXNwbGF5IHN5c3RlbSBzaHV0ZG93biBlbnRyaWVzIGFuZCBydW4gbGV2ZWwgY2hhbmdlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODkKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcHMgaW4gdGhlIHNwZWNpZmllZCA8Zm9ybWF0PjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjg4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzIGJlZ2lucyAlcyIKK21zZ3N0ciAiIgorIlxuIgorInd0bXAgYWxnYWIgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NTYgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2NAorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTc3IGxvZ2luLXV0aWxzL2xhc3QuYzo5ODIgbG9naW4tdXRpbHMvbGFzdC5jOjk4NworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZSB2YWx1ZSBcIiVzXCIiCittc2dzdHIgInZpZ2FuZSBpZGVudGlmaWthYXRvciIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjI5IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzozMQorbXNnaWQgIkNvdWxkbid0IGRyb3AgZ3JvdXAgcHJpdmlsZWdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxpYnVzZXIgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlcy4iCittc2dzdHIgIlZpZ2EgJXMgc3VsZ2VtaXNlbFxuIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTIKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdpbmcgdXNlciBhdHRyaWJ1dGUgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo2NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIGF0dHJpYnV0ZSBub3QgY2hhbmdlZDogJXMiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJXUgaXMgNjAuCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjE4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltZWQgb3V0IGFmdGVyICV1IHNlY29uZHMiCittc2dzdHIgIkxvZ2luIHRpbWVkIG91dCBhZnRlciAlZCBzZWNvbmRzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogY2FuJ3QgcmVvcGVuIHR0eTogJW0iCittc2dzdHIgIlNhYXR1c2xpayB2aWdhOiBlaSBzdXVkYSB0YWFzYXZhZGEgdGVybWluYWxpOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlcyBpcyBub3QgYSB0ZXJtaW5hbCIKK21zZ3N0ciAiJXMgcG9sZSBwbG9ra3NlYWRlIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gKCVzLCAlbHUsICVsdSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2hkaXIgKCkga2F0YWxvb2dpIC9kZXYgZWkg9W5uZXN0dW51ZDogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaG1vZCAoJXMsICV1KSBmYWlsZWQ6ICVtIgorbXNnc3RyICJjaGRpciAoKSBrYXRhbG9vZ2kgL2RldiBlaSD1bm5lc3R1bnVkOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozNzUKK21zZ2lkICJGQVRBTDogYmFkIHR0eSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXM6IGNoYW5nZSBwZXJtaXNzaW9ucyBmYWlsZWQ6ICVtIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgbG9naW46ICUuKnMgIgorbXNnc3RyICJWaWltYXRpIGxvZ2ludWQ6ICUuKnMgIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUzMQorIywgYy1mb3JtYXQKK21zZ2lkICJmcm9tICUuKnNcbiIKK21zZ3N0ciAibWFzaW5hc3QgJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUzNAorIywgYy1mb3JtYXQKK21zZ2lkICJvbiAlLipzXG4iCittc2dzdHIgInRlcm1pbmFsaWwgJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjU1MgorIywgZnV6enkKK21zZ2lkICJ3cml0ZSBsYXN0bG9nIGZhaWxlZCIKK21zZ3N0ciAiJXMgYXZhbWluZSBlaSD1bm5lc3R1bnVkIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJESUFMVVAgQVQgJXMgQlkgJXMiCittc2dzdHIgIkRJQUxVUCBBVCAlcyBCWSAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyBGUk9NICVzIgorbXNnc3RyICJST09UIExPR0lOIE9OICVzIEZST00gJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMiCittc2dzdHIgIlJPT1QgTE9HSU4gT04gJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIEZST00gJXMiCittc2dzdHIgIkxPR0lOIE9OICVzIEJZICVzIEZST00gJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIgorbXNnc3RyICJMT0dJTiBPTiAlcyBCWSAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3MTkKK21zZ2lkICJsb2dpbjogIgorbXNnc3RyICJsb2dpbjogIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUEFNIGZhaWx1cmUsIGFib3J0aW5nOiAlcyIKK21zZ3N0ciAibG9naW46IFBBTSB2aWdhLCBrYXRrZXN0YW46ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkbid0IGluaXRpYWxpemUgUEFNOiAlcyIKK21zZ3N0ciAiRWkgc3V1dG51ZCBpbml0c2lhbGlzZWVyaWRhIFBBTSdpOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiAldSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIkZBSUxFRCBMT0dJTiAlZCBGUk9NICVzIEZPUiAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODI1IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkxvZ2luIGluY29ycmVjdFxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVE9PIE1BTlkgTE9HSU4gVFJJRVMgKCV1KSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIlRPTyBNQU5ZIExPR0lOIFRSSUVTICglZCkgRlJPTSAlcyBGT1IgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg0NgorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gU0VTU0lPTiBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIkZBSUxFRCBMT0dJTiBTRVNTSU9OIEZST00gJXMgRk9SICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxvZ2luIGluY29ycmVjdFxuIgorbXNnc3RyICIiCisiXG4iCisiTG9naW4gaW5jb3JyZWN0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODgyIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTIzMiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNTUKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiBzZXR1cCBwcm9ibGVtLCBhYm9ydC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVMTCB1c2VyIG5hbWUgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVElPQ1NDVFRZIGZhaWxlZDogJW0iCittc2dzdHIgIlRJT0NTQ1RUWSBlaSD1bm5lc3R1bnVkOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJsb2dpbjogLWggaXMgZm9yIHN1cGVydXNlciBvbmx5XG4iCittc2dzdHIgImxvZ2luOiAtaCBvbiBhaW51bHQgc3VwZXJrYXN1dGFqYWxlXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6IGxvZ2luIFstcF0gWy1oIDxob3N0Pl0gWy1IXSBbWy1mXSA8dXNlcm5hbWU+XVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiBbLSNdIFstZiBmYWlsXSBbLXQgdHR5XSBbLWggaG9zdGluaW1pXSBba2FzdXRhamEgLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExOTEKK21zZ2lkICJCZWdpbiBhIHNlc3Npb24gb24gdGhlIHN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB1c2VyIG5hbWUgXCIlc1wiIGluICVzOiVkLiBBYm9ydC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJncm91cHMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiVmlnYSAlcyBzdWxnZW1pc2VsXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI3OQorIywgZnV6enkKK21zZ2lkICJzZXRnaWQoKSBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGVpIPVubmVzdHVudWQiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMwOQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBuZXcgbWFpbC5cbiIKK21zZ3N0ciAiVGVpbGUgb24gdXVzaSBraXJqdVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbWFpbC5cbiIKK21zZ3N0ciAiVGVpbGUgb24ga2lyanVcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzI1Cittc2dpZCAic2V0dWlkKCkgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBlaSD1bm5lc3R1bnVkIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzEgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNoYW5nZSBkaXJlY3RvcnkgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzOCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2dpbmcgaW4gd2l0aCBob21lID0gXCIvXCIuXG4iCittc2dzdHIgIkxvZ2luIHNpc3NlIGtvZHVrYXRhbG9vZ2lnYSBcIi9cIlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNjcKKyMsIGZ1enp5Cittc2dpZCAiY291bGRuJ3QgZXhlYyBzaGVsbCBzY3JpcHQiCittc2dzdHIgImxvZ2luOiBFaSBzdXV0bnVkIGvkaXZpdGFkYSBzaGVsbCBza3JpcHRpOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNjkKKyMsIGZ1enp5Cittc2dpZCAibm8gc2hlbGwiCittc2dzdHIgIlBvbGUgc2hlbGxpIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGNvbnRhaW5zIGludmFsaWQgbnVtZXJpY2FsIHZhbHVlOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzozNzUKK21zZ2lkICJodXNoIGxvZ2luIHN0YXR1czogcmVzdG9yZSBvcmlnaW5hbCBJRHMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA4IHN5cy11dGlscy9sc2NwdS5jOjE1NDAgc3lzLXV0aWxzL2xzY3B1LmM6MTU1MAorbXNnaWQgIm5vIgorbXNnc3RyICJlaSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcgbWlzYy11dGlscy9sc2Jsay5jOjE4MQorIywgZnV6enkKK21zZ2lkICJ1c2VyIG5hbWUiCittc2dzdHIgIlZpZ2FuZSBrYXN1dGFqYW5pbWkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3CisjLCBmdXp6eQorbXNnaWQgIlVzZXJuYW1lIgorbXNnc3RyICJWaWdhbmUga2FzdXRhamFuaW1pIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOCBzeXMtdXRpbHMvcmVuaWNlLmM6NTQKKyMsIGZ1enp5Cittc2dpZCAidXNlciBJRCIKK21zZ3N0ciAia2FzdXRhamEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE5CisjLCBmdXp6eQorbXNnaWQgInBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAiRWkgbXV1dG51ZCBwYXJvb2xpLiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKKyMsIGZ1enp5Cittc2dpZCAiUGFzc3dvcmQgbm90IHJlcXVpcmVkIgorbXNnc3RyICJFaSBtdXV0bnVkIHBhcm9vbGkuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorbXNnaWQgImxvZ2luIGJ5IHBhc3N3b3JkIGRpc2FibGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAiTG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKKyMsIGZ1enp5Cittc2dpZCAicGFzc3dvcmQgZGVmaW5lZCwgYnV0IGxvY2tlZCIKK21zZ3N0ciAibXV1ZGV0aSBrYXN1dGFqYSAlcyBwYXJvb2wiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIGlzIGxvY2tlZCIKK21zZ3N0ciAiRWkgbXV1dG51ZCBwYXJvb2xpLiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJsb2cgaW4gZGlzYWJsZWQgYnkgbm9sb2dpbig4KSBvciBwYW1fbm9sb2dpbig4KSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorIywgZnV6enkKK21zZ2lkICJObyBsb2dpbiIKK21zZ3N0ciAibG9naW46ICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJwcmltYXJ5IGdyb3VwIG5hbWUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKKyMsIGZ1enp5Cittc2dpZCAiUHJpbWFyeSBncm91cCIKK21zZ3N0ciAiUHJpbWFhcm5lIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNAorbXNnaWQgInByaW1hcnkgZ3JvdXAgSUQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIG5hbWVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3CisjLCBmdXp6eQorbXNnaWQgImhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICJLYXRhbG9vZ2kgJXMgcG9sZSFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKKyMsIGZ1enp5Cittc2dpZCAiSG9tZSBkaXJlY3RvcnkiCittc2dzdHIgIkthdGFsb29naSAlcyBwb2xlIVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorIywgZnV6enkKK21zZ2lkICJsb2dpbiBzaGVsbCIKK21zZ3N0ciAiUG9sZSBzaGVsbGkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4CisjLCBmdXp6eQorbXNnaWQgIlNoZWxsIgorbXNnc3RyICJQb2xlIHNoZWxsaSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKKyMsIGZ1enp5Cittc2dpZCAiZnVsbCB1c2VyIG5hbWUiCittc2dzdHIgIlZpZ2FuZSBrYXN1dGFqYW5pbWkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiR2Vjb3MgZmllbGQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKK21zZ2lkICJkYXRlIG9mIGxhc3QgbG9naW4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBsb2dpbiIKK21zZ3N0ciAiVmlpbWF0aSBsb2dpbnVkOiAlLipzICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJsYXN0IHR0eSB1c2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCisjLCBmdXp6eQorbXNnaWQgIkxhc3QgdGVybWluYWwiCittc2dzdHIgIiVzIHBvbGUgcGxva2tzZWFkZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJob3N0bmFtZSBkdXJpbmcgdGhlIGxhc3Qgc2Vzc2lvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorIywgZnV6enkKK21zZ2lkICJMYXN0IGhvc3RuYW1lIgorbXNnc3RyICJsYXN0OiBnZXRob3N0bmFtZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKKyMsIGZ1enp5Cittc2dpZCAiZGF0ZSBvZiBsYXN0IGZhaWxlZCBsb2dpbiIKK21zZ3N0ciAia2F0YWxvb2dpIGxzdGF0KCkgZWkg9W5uZXN0dW51ZFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworbXNnaWQgIkZhaWxlZCBsb2dpbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorIywgZnV6enkKK21zZ2lkICJ3aGVyZSBkaWQgdGhlIGxvZ2luIGZhaWw/IgorbXNnc3RyICIlcyBhdmFtaW5lIGVpIPVubmVzdHVudWQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCBsb2dpbiB0ZXJtaW5hbCIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJ1c2VyJ3MgaHVzaCBzZXR0aW5ncyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgIkh1c2hlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgImRheXMgdXNlciBpcyB3YXJuZWQgb2YgcGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24gd2FybiBpbnRlcnZhbCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgInBhc3N3b3JkIGV4cGlyYXRpb24gZGF0ZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworIywgZnV6enkKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICJNaXNraSBlaSBrbGFwaSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiZGF0ZSBvZiBsYXN0IHBhc3N3b3JkIGNoYW5nZSIKK21zZ3N0ciAiVmFuYSBwYXJvb2w6ICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiUGFzc3dvcmQgY2hhbmdlZCIKK21zZ3N0ciAiUGFyb29sIG9uIG78/GQgbXV1ZGV0dWRcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzkKK21zZ2lkICJudW1iZXIgb2YgZGF5cyByZXF1aXJlZCBiZXR3ZWVuIGNoYW5nZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzkKKyMsIGZ1enp5Cittc2dpZCAiTWluaW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZGF5cyBhIHBhc3N3b3JkIG1heSByZW1haW4gdW5jaGFuZ2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCisjLCBmdXp6eQorbXNnaWQgIk1heGltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJ0aGUgdXNlcidzIHNlY3VyaXR5IGNvbnRleHQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKKyMsIGZ1enp5Cittc2dpZCAiU2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJMaW51eCBleHQzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorIywgZnV6enkKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIHJ1biBieSB0aGUgdXNlciIKK21zZ3N0ciAiU2lzZXRhZ2Ugc2VrdG9yaXRlIGFydiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAiUnVubmluZyBwcm9jZXNzZXMiCittc2dzdHIgIiVzOiBlaSBsZWlhIHByb3RzZXNzaSBcIiVzXCJcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyODggbWlzYy11dGlscy9maW5kbW50LmM6MTM2IG1pc2MtdXRpbHMvbHNibGsuYzoyMzEKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBjb2x1bW5zIHNwZWNpZmllZCwgdGhlIGxpbWl0IGlzICV6dSBjb2x1bW5zIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQzIHN5cy11dGlscy9sc2lwYy5jOjQ1NgorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB0aW1lIHR5cGUiCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNvbXBvc2UgdGltZSBzdHJpbmciCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6NjQ4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA3MQorIywgZnV6enkKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5rbm93biBjb2x1bW4iCittc2dzdHIgInNpc2VtaW5lIHZpZ2EiCisKKyMgWFhYIHN0YXQnaWRhCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzUgc3lzLXV0aWxzL2xzaXBjLmM6NTAzIHN5cy11dGlscy9sc2lwYy5jOjYyNQorIzogc3lzLXV0aWxzL2xzaXBjLmM6NjgwIHN5cy11dGlscy9sc2lwYy5jOjgzOCBzeXMtdXRpbHMvbHNpcGMuYzoxMDM2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgZGF0YSIKK21zZ3N0ciAiZWkgc3V1ZGEgc3RhdCdpZGEgc2VhZGV0ICVzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjExNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMYXN0IGxvZ3M6XG4iCittc2dzdHIgIlZpaW1hdGkgbG9naW51ZDogJS4qcyAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyOCBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMSBtaXNjLXV0aWxzL21jb29raWUuYzo4MiBtaXNjLXV0aWxzL3V1aWRkLmM6NzAKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI1IHN5cy11dGlscy9kbWVzZy5jOjI2NCBzeXMtdXRpbHMvaXBjbWsuYzo2NgorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2MCBzeXMtdXRpbHMvbHNpcGMuYzoyNzcgc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA0CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjk1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MCB0ZXh0LXV0aWxzL2xpbmUuYzozMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzEKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM0Cittc2dpZCAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBkaXNwbGF5IGluZm8gYWJvdXQgcGFzc3dvcmRzIGV4cGlyYXRpb25cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzUKK21zZ2lkICIgLWMsIC0tY29sb24tc2VwYXJhdGUgICAgIGRpc3BsYXkgZGF0YSBpbiBhIGZvcm1hdCBzaW1pbGFyIHRvIC9ldGMvcGFzc3dkXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM2IHN5cy11dGlscy9sc2lwYy5jOjI5NgorIywgZnV6enkKK21zZ2lkICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGRpc3BsYXkgaW4gYW4gZXhwb3J0LWFibGUgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM3CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAgZGlzcGxheSBkYXRhIGFib3V0IHRoZSB1c2VycycgbGFzdCBmYWlsZWQgbG9naW5zXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzgKKyMsIGZ1enp5Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGdyb3Vwc1xuIgorbXNnc3RyICIgICAgICAgICAgICBFc2ltZW5lICBWaWltYW5lXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOQorbXNnaWQgIiAtZywgLS1ncm91cHM9PGdyb3Vwcz4gICAgZGlzcGxheSB1c2VycyBiZWxvbmdpbmcgdG8gYSBncm91cCBpbiA8Z3JvdXBzPlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIHNob3cgaW5mbyBhYm91dCB0aGUgdXNlcnMnIGxhc3QgbG9naW4gc2Vzc2lvbnNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9naW5zPTxsb2dpbnM+ICAgIGRpc3BsYXkgb25seSB1c2VycyBmcm9tIDxsb2dpbnM+XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDIgc3lzLXV0aWxzL2xzaXBjLmM6Mjk4CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uZXdsaW5lICAgICAgICAgICAgZGlzcGxheSBlYWNoIHBpZWNlIG9mIGluZm9ybWF0aW9uIG9uIGEgbmV3IGxpbmVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFbkbGphc3RhZGEgcGFydGl0c2lvb25pdGFiZWwgZWtyYWFuaWxlIHb1aSBmYWlsaSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQzIHN5cy11dGlscy9sc2lwYy5jOjI5MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDQgc3lzLXV0aWxzL2xzaXBjLmM6MjkyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub3RydW5jYXRlICAgICAgICAgZG9uJ3QgdHJ1bmNhdGUgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgICAgICAgIEVzaW1lbmUgIFZpaW1hbmVcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMAorbXNnaWQgIiAtbywgLS1vdXRwdXRbPTxsaXN0Pl0gICAgZGVmaW5lIHRoZSBjb2x1bW5zIHRvIG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NgorbXNnaWQgIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGxvZ2luIGJ5IHBhc3N3b3JkLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NyBzeXMtdXRpbHMvbHNpcGMuYzozMDIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICBkaXNwbGF5IGluIHJhdyBtb2RlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDgKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICBkaXNwbGF5IHN5c3RlbSBhY2NvdW50c1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ5IHN5cy11dGlscy9sc2lwYy5jOjI5MworbXNnaWQgIiAgICAgLS10aW1lLWZvcm1hdD08dHlwZT4gZGlzcGxheSBkYXRlcyBpbiBzaG9ydCwgZnVsbCBvciBpc28gZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUwCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2VyLWFjY3MgICAgICAgICAgZGlzcGxheSB1c2VyIGFjY291bnRzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTEKKyMsIGZ1enp5Cittc2dpZCAiIC1aLCAtLWNvbnRleHQgICAgICAgICAgICBkaXNwbGF5IFNFTGludXggY29udGV4dHNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MgorIywgZnV6enkKK21zZ2lkICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgIGRlbGltaXQgdXNlciBlbnRyaWVzIHdpdGggYSBudWwgY2hhcmFjdGVyXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTMKK21zZ2lkICIgICAgIC0td3RtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3Igd3RtcFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1NAorbXNnaWQgIiAgICAgLS1idG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciBidG1wXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjU5IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDcgc3lzLXV0aWxzL2xzY3B1LmM6MTk3OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDQyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZXF1ZXN0IHNlbGludXggc3RhdGUiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ1NiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NjAKK21zZ2lkICJPbmx5IG9uZSB1c2VyIG1heSBiZSBzcGVjaWZpZWQuIFVzZSAtbCBmb3IgbXVsdGlwbGUgdXNlcnMuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjU1CisjLCBmdXp6eQorbXNnaWQgImNvdWxkIG5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAiZWkgc3V1ZGEga2luZGxha3MgdGVoYSBzZWFkbWUgJXMgbWFodHUiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjU3CisjLCBmdXp6eQorbXNnaWQgImdldGxpbmUoKSBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGVpIPVubmVzdHVudWQiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE0OAorbXNnaWQgIlBhc3N3b3JkOiAiCittc2dzdHIgIlBhcm9vbDogIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNTQgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMDUKKyMsIGZ1enp5Cittc2dpZCAiY3J5cHQgZmFpbGVkIgorbXNnc3RyICJN5Gx1IHNhaSBvdHNhIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Z3JvdXA+XG4iCittc2dzdHIgIm5ld2dycDogU2VsbGlzdCBncnVwcGkgcG9sZSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTY5Cittc2dpZCAiTG9nIGluIHRvIGEgbmV3IGdyb3VwLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIwNworIywgZnV6enkKK21zZ2lkICJ3aG8gYXJlIHlvdT8iCittc2dzdHIgIm5ld2dycDogS2VzIFRlIG5paXN1Z3VuZSBvbGV0ZT8iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxMSBsb2dpbi11dGlscy9uZXdncnAuYzoyMjMgc3lzLXV0aWxzL25zZW50ZXIuYzo0MjMKKyMsIGZ1enp5Cittc2dpZCAic2V0Z2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgZWkg9W5uZXN0dW51ZCIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjE2IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxOAorIywgZnV6enkKK21zZ2lkICJubyBzdWNoIGdyb3VwIgorbXNnc3RyICJuZXdncnA6IFNlbGxpc3QgZ3J1cHBpIHBvbGUiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyMSBzeXMtdXRpbHMvbW91bnQuYzo0OTEKKyMsIGZ1enp5Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQiCittc2dzdHIgImlkZW50aWZpa2FhdG9yaWxlIHBvbGUg9WlndXNpIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjcgc3lzLXV0aWxzL25zZW50ZXIuYzo0MjUKKyMsIGZ1enp5Cittc2dpZCAic2V0dWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgZWkg9W5uZXN0dW51ZCIKKworIzogbG9naW4tdXRpbHMvbm9sb2dpbi5jOjI5Cittc2dpZCAiUG9saXRlbHkgcmVmdXNlIGEgbG9naW4uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbm9sb2dpbi5jOjc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGlzIGFjY291bnQgaXMgY3VycmVudGx5IG5vdCBhdmFpbGFibGUuXG4iCittc2dzdHIgIlNlZSBwYXJ0aXRzaW9vbiBvbiBqdWJhIG9sZW1hcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBzZXNzaW9uOiAlcyIKK21zZ3N0ciAiZWkgc3V1ZGEgYXZhZGEgc2VhZGV0ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMDQKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBjaGlsZCBwcm9jZXNzIgorbXNnc3RyICJzdGF0KCVzKSBlaSD1bm5lc3R1bnVkIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJpb2N0bCgpIGFiaWwga2VsbGEgbHVnZW1pbmUgJXMga2F1ZHUgZWkg9W5uZXN0dW51ZCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzIxCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBibG9jayBzaWduYWxzIgorbXNnc3RyICJFaSBzdXVkYSBhdmFkYSBmYWlsaSBgJXMnIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMzUgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzQzCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNDkgbWlzYy11dGlscy91dWlkZC5jOjQwNyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc3MQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJFaSBzdXVkYSBrZXR0YWwgc2Vla2lkYSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Mzc0Cittc2dpZCAiIChjb3JlIGR1bXBlZCkiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQsIGtpbGxpbmcgc2hlbGwuLi4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NDA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLi4ua2lsbGVkLlxuIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQ4NgorbXNnaWQgIm1heSBub3QgYmUgdXNlZCBieSBub24tcm9vdCB1c2VycyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MTQKKyMsIGZ1enp5Cittc2dpZCAiaW5jb3JyZWN0IHBhc3N3b3JkIgorbXNnc3RyICJWYWxlIHBhcm9vbCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTk4CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXBzIgorbXNnc3RyICJmb3JrIGVpIPVubmVzdHVudWQiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjYxMyBzeXMtdXRpbHMvZWplY3QuYzo2NjUKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBncm91cCBpZCIKK21zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2MTUgc3lzLXV0aWxzL2VqZWN0LmM6NjY4CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgdXNlciBpZCIKK21zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njg5IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLV0gWzx1c2VyPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY5MAorbXNnaWQgIiIKKyJcbiIKKyJSdW4gPGNvbW1hbmQ+IHdpdGggdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCBvZiA8dXNlcj4uICBJZiAtdSBpc1xuIgorIm5vdCBnaXZlbiwgZmFsbCBiYWNrIHRvIHN1KDEpLWNvbXBhdGlibGUgc2VtYW50aWNzIGFuZCBleGVjdXRlIHN0YW5kYXJkIHNoZWxsLlxuIgorIlRoZSBvcHRpb25zIC1jLCAtZiwgLWwsIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLXUuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njk3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2VyIDx1c2VyPiAgICAgICAgICAgICB1c2VybmFtZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzAyCittc2dpZCAiIgorIlxuIgorIkNoYW5nZSB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIHRvIHRoYXQgb2YgPHVzZXI+LlxuIgorIkEgbWVyZSAtIGltcGxpZXMgLWwuICBJZiA8dXNlcj4gaXMgbm90IGdpdmVuLCByb290IGlzIGFzc3VtZWQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzA5Cittc2dpZCAiIC1tLCAtcCwgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCAgZG8gbm90IHJlc2V0IGVudmlyb25tZW50IHZhcmlhYmxlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMAorbXNnaWQgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICAgICAgICAgIHNwZWNpZnkgdGhlIHByaW1hcnkgZ3JvdXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTEKK21zZ2lkICIiCisiIC1HLCAtLXN1cHAtZ3JvdXAgPGdyb3VwPiAgICAgICAgc3BlY2lmeSBhIHN1cHBsZW1lbnRhbCBncm91cFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMworbXNnaWQgIiAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgICAgIG1ha2UgdGhlIHNoZWxsIGEgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTQKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTUKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtLXNlc3Npb24tY29tbWFuZCA8Y29tbWFuZD4gICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvblxuIgorbXNnc3RyICIgICAgICAgICAgICBFc2ltZW5lICBWaWltYW5lXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxNworIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICBwYXNzIC1mIHRvIHRoZSBzaGVsbCAoZm9yIGNzaCBvciB0Y3NoKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE4Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgICAgcnVuIDxzaGVsbD4gaWYgL2V0Yy9zaGVsbHMgYWxsb3dzIGl0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzYyCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cCBpcyBub3QgcG9zc2libGUiCittc2dpZF9wbHVyYWwgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cHMgaXMgbm90IHBvc3NpYmxlIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJncm91cCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiJXM6IEthc3V0YWphdCBcIiVzXCIgcG9sZSBvbGVtYXNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODg2Cittc2dpZCAiaWdub3JpbmcgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg5NworbXNnaWQgIm9wdGlvbnMgLS17c2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbn0gYW5kIC0tdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkwMQorIywgZnV6enkKK21zZ2lkICJubyBjb21tYW5kIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgIi0tZGF0ZSBwYXJhbWVldGVyIG9uIHB1dWR1XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkxNQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gc3BlY2lmeSBhbHRlcm5hdGl2ZSBncm91cHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2VyICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIlczogS2FzdXRhamF0IFwiJXNcIiBwb2xlIG9sZW1hc1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgcmVzdHJpY3RlZCBzaGVsbCAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJpb2N0bCgpIGFiaWwga2VsbGEgbHVnZW1pbmUgJXMga2F1ZHUgZWkg9W5uZXN0dW51ZCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEzMAorIywgZnV6enkKK21zZ2lkICJ0Y2dldGF0dHIgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoyMDcKKyMsIGZ1enp5Cittc2dpZCAidGNzZXRhdHRyIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiJXMgcG9sZSBhdmF0dWQgbHVnZW1pc2VrcyBfamFfIGtpcmp1dGFtaXNla3MiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdCIKK21zZ3N0ciAiJXMgcG9sZSBhdmF0dWQgbHVnZW1pc2VrcyBfamFfIGtpcmp1dGFtaXNla3MiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJvb3QgcGFzc3dvcmQgZ2FyYmxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJDYW5ub3Qgb3BlbiBhY2Nlc3MgdG8gY29uc29sZSwgdGhlIHJvb3QgYWNjb3VudCBpcyBsb2NrZWQuXG4iCisiU2VlIHN1bG9naW4oOCkgbWFuIHBhZ2UgZm9yIG1vcmUgZGV0YWlscy5cbiIKKyJcbiIKKyJQcmVzcyBFbnRlciB0byBjb250aW51ZS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbG9naW46ICIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBsb2dpbjogIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiKG9yIHByZXNzIENvbnRyb2wtRCB0byBjb250aW51ZSk6ICIKK21zZ3N0ciAiS2FzIFRlIHNvb3ZpdGUgdPVlc3RpIGrkdGthdGEiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3NDIKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSB0byBzeXN0ZW0gcm9vdCBmYWlsZWQiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc5MQorIywgZnV6enkKK21zZ2lkICJzZXRleGVjY29uIGZhaWxlZCIKK21zZ3N0ciAiZXhlYyBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3R0eSBkZXZpY2VdXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MTQKK21zZ2lkICJTaW5nbGUtdXNlciBsb2dpbi5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODE3Cittc2dpZCAiIgorIiAtcCwgLS1sb2dpbi1zaGVsbCAgICAgICAgc3RhcnQgYSBsb2dpbiBzaGVsbFxuIgorIiAtdCwgLS10aW1lb3V0IDxzZWNvbmRzPiAgbWF4IHRpbWUgdG8gd2FpdCBmb3IgYSBwYXNzd29yZCAoZGVmYXVsdDogbm8gbGltaXQpXG4iCisiIC1lLCAtLWZvcmNlICAgICAgICAgICAgICBleGFtaW5lIHBhc3N3b3JkIGZpbGVzIGRpcmVjdGx5IGlmIGdldHB3bmFtKDMpIGZhaWxzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg3MSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDYzIHN5cy11dGlscy93ZGN0bC5jOjUyMworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3NTAgdGVybS11dGlscy93YWxsLmM6MTM1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODkzCisjLCBmdXp6eQorbXNnaWQgIm9ubHkgc3VwZXJ1c2VyIGNhbiBydW4gdGhpcyBwcm9ncmFtIgorbXNnc3RyICIlczogQWludWx0IHJvb3Qgc2FhYiBz/HN0ZWVtaSBzZWlzYXRhXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5MzYKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gY29uc29sZSIKK21zZ3N0ciAiZWkgc3V1ZGEgYXZhZGEgc2VhZGV0ICVzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTQzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIHBhc3N3b3JkIGRhdGFiYXNlIgorbXNnc3RyICJmb3JrIGVpIPVubmVzdHVudWQiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2FuIG5vdCBleGVjdXRlIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIkVpIHN1dWRhIGvkaXZpdGFkYSBwcm9ncmFtbWkgJXM6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDI3Cittc2dpZCAiIgorIlRpbWVkIG91dFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDU5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJDYW4gbm90IHdhaXQgb24gc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiRWkgc3V1ZGEga+Rpdml0YWRhIHByb2dyYW1taSAlczogJXNcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxNzYgdGV4dC11dGlscy90YWlsZi5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE4NSB0ZXh0LXV0aWxzL3RhaWxmLmM6MTczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgaW5vdGlmeSBldmVudHMiCittc2dzdHIgIiVzOiBFaSBzdXVkYSBhdmFkYSBmYWlsaSAlc1xuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI0NiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI1MQorbXNnaWQgIkV4dHJhbmVvdXMgbmV3bGluZSBpbiBmaWxlLiBFeGl0aW5nLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZW5hbWVdXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzEyCittc2dpZCAiRHVtcCBVVE1QIGFuZCBXVE1QIGZpbGVzIGluIHJhdyBmb3JtYXQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTUKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvbGxvdyAgICAgICAgIG91dHB1dCBhcHBlbmRlZCBkYXRhIGFzIHRoZSBmaWxlIGdyb3dzXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBW5GxqYXN0YWRhIHBhcnRpdHNpb29uaXRhYmVsIGVrcmFhbmlsZSB29WkgZmFpbGkiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE2Cittc2dpZCAiIC1yLCAtLXJldmVyc2UgICAgICAgIHdyaXRlIGJhY2sgZHVtcGVkIGRhdGEgaW50byB1dG1wIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxNworbXNnaWQgIiAtbywgLS1vdXRwdXQgPGZpbGU+ICB3cml0ZSB0byBmaWxlIGluc3RlYWQgb2Ygc3RhbmRhcmQgb3V0cHV0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODQKK21zZ2lkICJmb2xsb3dpbmcgc3RhbmRhcmQgaW5wdXQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCB1bmR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIGR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTQxCisjLCBmdXp6eQorbXNnaWQgImNhbid0IG9wZW4gdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIiVzOiBlaSBzdXVkYSBhdmFkYSBhanV0aXN0IGZhaWxpXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjcmVhdGUgYSBsaW5rIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6ICVzIPxtYmVyIG5pbWV0YW1pbmUgJXMgLWtzIGVpIPVubmVzdG51ZDogJXNcbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3QgZ2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICJlaSBzdXVkYSBraW5kbGFrcyB0ZWhhIHNlYWRtZSAlcyBtYWh0dSIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE3MAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBzZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjIzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5jaGFuZ2VkIgorbXNnc3RyICJCdXV0ZmFpbCBq5Gkgc2FtYWtzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNTQKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGdldCBsb2NrIgorbXNnc3RyICJmb3JrIGVpIPVubmVzdHVudWQiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyODEKKyMsIGZ1enp5Cittc2dpZCAibm8gY2hhbmdlcyBtYWRlIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNobW9kIGZpbGUiCittc2dzdHIgIkVpIHN1dWRhIGF2YWRhIGZhaWxpIGAlcyciCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozMDQKK21zZ2lkICJFZGl0IHRoZSBwYXNzd29yZCBvciBncm91cCBmaWxlLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTAKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBncm91cHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM1MQorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IHBhc3N3b3JkcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogdGhpcyBwcm9ncmFtIHVzZXMgZm9yIHkgYW5kIG4gcnBtYXRjaCgzKSwKKyMuICogd2hpY2ggbWVhbnMgdGhleSBjYW4gYmUgdHJhbnNsYXRlZC4KKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV291bGQgeW91IGxpa2UgdG8gZWRpdCAlcyBub3cgW3kvbl0/ICIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjM3MgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG1vbnRoIGFyZ3VtZW50IgorbXNnc3RyICJ2aWdhbmUgaWRlbnRpZmlrYWF0b3IiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzgwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgd2VlayBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjM4MgorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHVzZSAxLTU0IgorbXNnc3RyICJWaWdhbmUgYWFzdGEgbnVtYmVyLCBsdWJhdHVkIG9uIDEtOTk5OSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB0aW1lc3RhbXAgb3IgdW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MzEKKyMsIGZ1enp5Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWUiCittc2dzdHIgIlZpZ2FuZSBwZWFkZSBhcnYiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDMzIG1pc2MtdXRpbHMvY2FsLmM6NDU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZTogdXNlIDEtJWQiCittc2dzdHIgIlZpZ2FuZSBhYXN0YSBudW1iZXIsIGx1YmF0dWQgb24gMS05OTk5IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQzNyBtaXNjLXV0aWxzL2NhbC5jOjQ0NQorbXNnaWQgImlsbGVnYWwgbW9udGggdmFsdWU6IHVzZSAxLTEyIgorbXNnc3RyICJWaWdhbmUga3V1IG51bWJlciwgbHViYXR1ZCBvbiAxLTEyIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAibG9nZ2VyOiB0dW5kbWF0dSBwcmlvcml0ZWVkaSBuaW1pOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ0OCBtaXNjLXV0aWxzL2NhbC5jOjQ1MgorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWUiCittc2dzdHIgIlZpZ2FuZSBwZWFkZSBhcnYiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDUwCisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZTogdXNlIHBvc2l0aXZlIGludGVnZXIiCittc2dzdHIgIlZpZ2FuZSBhYXN0YSBudW1iZXIsIGx1YmF0dWQgb24gMS05OTk5IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4MiBtaXNjLXV0aWxzL2NhbC5jOjQ5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB5ZWFyICVkIGRvZXNuJ3QgaGF2ZSB3ZWVrICVkIgorbXNnc3RyICJWaWdhbmUgYWFzdGEgbnVtYmVyLCBsdWJhdHVkIG9uIDEtOTk5OSIKKworIzogbWlzYy11dGlscy9jYWwuYzo2NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTA0ZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgJTA0ZCIKK21zZ3N0ciAiJXMgJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtbW2RheV0gbW9udGhdIHllYXJdXG4iCittc2dzdHIgIkthc3V0YW1pbmU6IGNhbCBbLTEzc21qeVZdIFtba3V1XSBhYXN0YV1cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHRpbWVzdGFtcHxtb250aG5hbWU+XG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk3Cittc2dpZCAiRGlzcGxheSBhIGNhbGVuZGFyLCBvciBzb21lIHBhcnQgb2YgaXQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTgKK21zZ2lkICJXaXRob3V0IGFueSBhcmd1bWVudHMsIGRpc3BsYXkgdGhlIGN1cnJlbnQgbW9udGguXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDAxCisjLCBmdXp6eQorbXNnaWQgIiAtMSwgLS1vbmUgICAgICAgICAgICAgc2hvdyBvbmx5IGEgc2luZ2xlIG1vbnRoIChkZWZhdWx0KVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDAyCisjLCBmdXp6eQorbXNnaWQgIiAtMywgLS10aHJlZSAgICAgICAgICAgc2hvdyB0aHJlZSBtb250aHMgc3Bhbm5pbmcgdGhlIGRhdGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbW9udGhzIDxudW0+ICAgIHNob3cgbnVtIG1vbnRocyBzdGFydGluZyB3aXRoIGRhdGUncyBtb250aFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA0CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zcGFuICAgICAgICAgICAgc3BhbiB0aGUgZGF0ZSB3aGVuIGRpc3BsYXlpbmcgbXVsdGlwbGUgbW9udGhzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDUKK21zZ2lkICIgLXMsIC0tc3VuZGF5ICAgICAgICAgIFN1bmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNgorbXNnaWQgIiAtbSwgLS1tb25kYXkgICAgICAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA3CisjLCBmdXp6eQorbXNnaWQgIiAtaiwgLS1qdWxpYW4gICAgICAgICAgb3V0cHV0IEp1bGlhbiBkYXRlc1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgVuRsamFzdGFkYSBwYXJ0aXRzaW9vbml0YWJlbCBla3JhYW5pbGUgdvVpIGZhaWxpIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDgKKyMsIGZ1enp5Cittc2dpZCAiIC15LCAtLXllYXIgICAgICAgICAgICBzaG93IHRoZSB3aG9sZSB5ZWFyXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDkKKyMsIGZ1enp5Cittc2dpZCAiIC1ZLCAtLXR3ZWx2ZSAgICAgICAgICBzaG93IHRoZSBuZXh0IHR3ZWx2ZSBtb250aHNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAxMAorbXNnaWQgIiAtdywgLS13ZWVrWz08bnVtPl0gICAgc2hvdyBVUyBvciBJU08tODYwMSB3ZWVrIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMTEKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbHVlPlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MzIKKyMsIGZ1enp5Cittc2dpZCAiRmluZCBhIGZpbGVzeXN0ZW0gYnkgbGFiZWwgb3IgVVVJRC5cbiIKK21zZ3N0ciAiUGVhbGVzdW5uaXR1ZCBrb250cm9sbCBmYWlsaXP8c3RlZW1pbCAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICJlaSBzdXVkYSBhdmFkYSBzZWFkZXQgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjk5CisjLCBmdXp6eQorbXNnaWQgInNvdXJjZSBkZXZpY2UiCittc2dzdHIgIiBlZW1hbGRhdGF2IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDAKK21zZ2lkICJtb3VudHBvaW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxCisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAiU2lzZXN0YWdlIGZhaWxpc/xzdGVlbWkgdPz8YmkgbnVtYmVyOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMgorIywgZnV6enkKK21zZ2lkICJhbGwgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAzCittc2dpZCAiVkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA0Cittc2dpZCAiRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDUKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSBsYWJlbCIKK21zZ3N0ciAiU2lzZXN0YWdlIGZhaWxpc/xzdGVlbWkgdPz8YmkgbnVtYmVyOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0Cittc2dpZCAiZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNworIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gbGFiZWwiCittc2dzdHIgIlBhcnRpdHNpb29uaSBudW1iZXIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOSBtaXNjLXV0aWxzL2xzYmxrLmM6MTYwCittc2dpZCAibWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTAKK21zZ2lkICJhY3Rpb24gZGV0ZWN0ZWQgYnkgLS1wb2xsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMQorbXNnaWQgIm9sZCBtb3VudCBvcHRpb25zIHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTIKK21zZ2lkICJvbGQgbW91bnRwb2ludCBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEzCisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSIKK21zZ3N0ciAiU2lzZXN0YWdlIGZhaWxpc/xzdGVlbWkgdPz8YmkgbnVtYmVyOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNAorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgYXZhaWxhYmxlIgorbXNnc3RyICJTaXNlc3RhZ2UgZmFpbGlz/HN0ZWVtaSB0/PxiaSBudW1iZXI6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE1CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSB1c2VkIgorbXNnc3RyICJTaXNlc3RhZ2UgZmFpbGlz/HN0ZWVtaSB0/PxiaSBudW1iZXI6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE2CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIlNpc2VzdGFnZSBmYWlsaXP8c3RlZW1pIHT8/GJpIG51bWJlcjogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSByb290IgorbXNnc3RyICJTaXNlc3RhZ2UgZmFpbGlz/HN0ZWVtaSB0/PxiaSBudW1iZXI6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE4Cittc2dpZCAidGFzayBJRCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkKKyMsIGZ1enp5Cittc2dpZCAibW91bnQgSUQiCittc2dzdHIgImx1Z2VzaW4gJWNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwCittc2dpZCAib3B0aW9uYWwgbW91bnQgZmllbGRzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMQorIywgZnV6enkKK21zZ2lkICJWRlMgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXRzaW9vbmk6XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMgorbXNnaWQgImR1bXAoOCkgcGVyaW9kIGluIGRheXMgW2ZzdGFiIG9ubHldIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMworbXNnaWQgInBhc3MgbnVtYmVyIG9uIHBhcmFsbGVsIGZzY2soOCkgW2ZzdGFiIG9ubHldIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhY3Rpb246ICVzIgorbXNnc3RyICIlczogVHVuZG1hdHUgYXJndW1lbnQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0MworbXNnaWQgIm1vdW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0NgorbXNnaWQgInVtb3VudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDkKKyMsIGZ1enp5Cittc2dpZCAicmVtb3VudCIKK21zZ3N0ciAibHVnZXNpbiAlY1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTIKKyMsIGZ1enp5Cittc2dpZCAibW92ZSIKK21zZ3N0ciAiIEthcyBlZW1hbGRhZGEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjgxMiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDc1IHN5cy11dGlscy9lamVjdC5jOjcxOQorIzogc3lzLXV0aWxzL21vdW50LmM6NjY5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmxlIgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjgzOSB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCAlcyIKK21zZ3N0ciAiJXM6IGVpIHN1dWRhIGx1Z2VkYSAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDE1IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODEKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo5NCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDgyCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTg3IHN5cy11dGlscy9tb3VudC5jOjEzNCBzeXMtdXRpbHMvbW91bnQuYzoxODIKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6NTYgc3lzLXV0aWxzL3N3YXBvZmYuYzoxNTUgc3lzLXV0aWxzL3N3YXBvbi5jOjI0NAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI3NCBzeXMtdXRpbHMvc3dhcG9uLmM6NzMzIHN5cy11dGlscy91bW91bnQuYzoyNzQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgaXRlcmF0b3IiCittc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA4NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJkaWZmIgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMTUKKyMsIGZ1enp5Cittc2dpZCAicG9sbCgpIGZhaWxlZCIKK21zZ3N0ciAiTeRsdSBzYWkgb3RzYSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IHwgPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2UgPGRldmljZT5dIFstLXRhcmdldCA8cGF0aD4gfCAtLW1vdW50cG9pbnQgPGRpcj5dXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5NgorIywgZnV6enkKK21zZ2lkICJGaW5kIGEgKG1vdW50ZWQpIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlNpc2VzdGFnZSBmYWlsaXP8c3RlZW1pIHT8/GJpIG51bWJlcjogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk5CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1mc3RhYiAgICAgICAgICAgIHNlYXJjaCBpbiBzdGF0aWMgdGFibGUgb2YgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFbkbGphc3RhZGEgcGFydGl0c2lvb25pdGFiZWwgZWtyYWFuaWxlIHb1aSBmYWlsaSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMAorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzZWFyY2ggaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgVuRsamFzdGFkYSBwYXJ0aXRzaW9vbml0YWJlbCBla3JhYW5pbGUgdvVpIGZhaWxpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAxCittc2dpZCAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIHNlYXJjaCBpbiBrZXJuZWwgdGFibGUgb2YgbW91bnRlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXN5c3RlbXMgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcG9sbFs9PGxpc3Q+XSAgICBtb25pdG9yIGNoYW5nZXMgaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgICBsICAgYW5kYSBuaW1la2lyaSB0dW50dWQgZmFpbGlz/HN0ZWVtaWRlIHT8/HBpZGVzdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNQorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxudW0+ICAgIHVwcGVyIGxpbWl0IGluIG1pbGxpc2Vjb25kcyB0aGF0IC0tcG9sbCB3aWxsIGJsb2NrXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOAorIywgZnV6enkKK21zZ2lkICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFbkbGphc3RhZGEgcGFydGl0c2lvb25pdGFiZWwgZWtyYWFuaWxlIHb1aSBmYWlsaSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOQorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgQVNDSUkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMAorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTEKK21zZ2lkICIgLUMsIC0tbm9jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgd2hlbiBjb21wYXJpbmcgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEyCittc2dpZCAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEzCisjLCBmdXp6eQorbXNnaWQgIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRhdGUgdGhlIG91dHB1dCBvZiBkZigxKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNAorbXNnaWQgIiAtZCwgLS1kaXJlY3Rpb24gPHdvcmQ+IGRpcmVjdGlvbiBvZiBzZWFyY2gsICdmb3J3YXJkJyBvciAnYmFja3dhcmQnXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNQorbXNnaWQgIiIKKyIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBjb252ZXJ0IHRhZ3MgKExBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMKSBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGRldmljZSBuYW1lc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTcKK21zZ2lkICIgLUYsIC0tdGFiLWZpbGUgPHBhdGg+ICBhbHRlcm5hdGl2ZSBmaWxlIGZvciAtcywgLW0gb3IgLWsgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTgKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIgorbXNnc3RyICIgICBsICAgYW5kYSBuaW1la2lyaSB0dW50dWQgZmFpbGlz/HN0ZWVtaWRlIHT8/HBpZGVzdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnQgdGhlIHNlbnNlIG9mIG1hdGNoaW5nXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIwIG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNyBzeXMtdXRpbHMvbHNucy5jOjYxOQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIxIHN5cy11dGlscy9sc25zLmM6NjIwCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjIKK21zZ2lkICIgLU4sIC0tdGFzayA8dGlkPiAgICAgICB1c2UgYWx0ZXJuYXRpdmUgbmFtZXNwYWNlICgvcHJvYy88dGlkPi9tb3VudGluZm8gZmlsZSlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGNvbHVtbiBoZWFkaW5nc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNAorbXNnaWQgIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjUKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICB0aGUgb3V0cHV0IGNvbHVtbnMgdG8gYmUgc2hvd25cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI2CisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjcKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgcHJpbnQgYWxsIHN1Ym1vdW50cyBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBW5GxqYXN0YWRhIHBhcnRpdHNpb29uaXRhYmVsIGVrcmFhbmlsZSB29WkgZmFpbGkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjgKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5Cittc2dpZCAiIgorIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzEKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRhcmdldCA8cGF0aD4gICAgdGhlIHBhdGggdG8gdGhlIGZpbGVzeXN0ZW0gdG8gdXNlXG4iCittc2dzdHIgIiAgIGwgICBhbmRhIG5pbWVraXJpIHR1bnR1ZCBmYWlsaXP8c3RlZW1pZGUgdPz8cGlkZXN0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMyCisjLCBmdXp6eQorbXNnaWQgIiAtTSwgLS1tb3VudHBvaW50IDxkaXI+IHRoZSBtb3VudHBvaW50IGRpcmVjdG9yeVxuIgorbXNnc3RyICJqdXVya2F0YWxvb2dpIGkta2lyamUgZWkga2lyamVsZGEga2F0YWxvb2dpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMzCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgRlMgdHlwZXNcbiIKK21zZ3N0ciAiICAgbCAgIGFuZGEgbmltZWtpcmkgdHVudHVkIGZhaWxpc/xzdGVlbWlkZSB0/PxwaWRlc3QiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzQKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVuaXEgICAgICAgICAgICAgaWdub3JlIGZpbGVzeXN0ZW1zIHdpdGggZHVwbGljYXRlIHRhcmdldFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNSBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTMgc3lzLXV0aWxzL2xzbnMuYzo2MjUKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBW5GxqYXN0YWRhIHBhcnRpdHNpb29uaXRhYmVsIGVrcmFhbmlsZSB29WkgZmFpbGkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzYKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgVuRsamFzdGFkYSBwYXJ0aXRzaW9vbml0YWJlbCBla3JhYW5pbGUgdvVpIGZhaWxpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM5CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS12ZXJpZnkgICAgICAgICAgIHZlcmlmeSBtb3VudCB0YWJsZSBjb250ZW50IChkZWZhdWx0IGlzIGZzdGFiKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0MAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZGlyZWN0aW9uICclcyciCittc2dzdHIgIkthdGFsb29naSAlcyBwb2xlIVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDQwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgVElEIGFyZ3VtZW50IgorbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUwOQorbXNnaWQgIi0tcG9sbCBhY2NlcHRzIG9ubHkgb25lIGZpbGUsIGJ1dCBtb3JlIHNwZWNpZmllZCBieSAtLXRhYi1maWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MTMKK21zZ2lkICJvcHRpb25zIC0tdGFyZ2V0IGFuZCAtLXNvdXJjZSBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggY29tbWFuZCBsaW5lIGVsZW1lbnQgdGhhdCBpcyBub3QgYW4gb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1NjIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgY2FjaGUiCittc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTYwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjb2x1bW4gaXMgcmVxdWVzdGVkLCBidXQgLS1wb2xsIGlzIG5vdCBlbmFibGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTYKKyMsIGZ1enp5Cittc2dpZCAidGFyZ2V0IHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAiVGUgYW5kaXN0ZSBzdXVyZW1hIHNpbGluZHJpdGUgYXJ2dSBrdWkga2V0dGFsZSBtYWh1YiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBvcmRlcjogJXMgc3BlY2lmaWVkIGJlZm9yZSAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTMzCittc2dpZCAidW5kZWZpbmVkIHRhcmdldCAoZnNfZmlsZSkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tY2Fub25pY2FsIHRhcmdldCBwYXRoIChyZWFsOiAlcykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHRhcmdldDogJW0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgdGFyZ2V0OiAlbSIKK21zZ3N0ciAiRWkgc3V1ZGEgbHVnZWRhIHNlYWRldCAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTUxCisjLCBmdXp6eQorbXNnaWQgInRhcmdldCBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImp1dXJrYXRhbG9vZ2kgaS1raXJqZSBlaSBraXJqZWxkYSBrYXRhbG9vZ2kiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTMKK21zZ2lkICJ0YXJnZXQgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCBzb3VyY2U6ICVzPSVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlOiAlcz0lcyIKK21zZ3N0ciAidmlnYW5lIGtpaXJ1czogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzPSVzIHRyYW5zbGF0ZWQgdG8gJXMiCittc2dzdHIgIlNla3RvciVkIG9uIGp1YmEga2FzdXR1c2VsXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxOTAKK21zZ2lkICJ1bmRlZmluZWQgc291cmNlIChmc19zcGVjKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzb3VyY2UgdGFnOiAlcyIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBzb3VyY2UgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHNvdXJjZTogJXM6ICVtIgorbXNnc3RyICJlaSBzdXVkYSBhdmFkYSBzZWFkZXQgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJpbmQgbW91bnQgc291cmNlICVzIGlzIGEgZGlyZWN0b3J5IG9yIHJlZ3VsYXIgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlcyBwb2xlIGZsb3Bpc2VhZGVcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic291cmNlICVzIGV4aXN0cyIKK21zZ3N0ciAiIGVlbWFsZGF0YXYiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlZGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRlMgb3B0aW9uczogJXMiCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzZXJzcGFjZSBvcHRpb25zOiAlcyIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc3dhcGFyZWEgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICIlczogVHVuZG1hdHUgYXJndW1lbnQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNjAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN3YXBhcmVhIHByaW9yaXR5IG9wdGlvbiIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgRlMgdHlwZSAocHNldWRvL25ldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQwNgorbXNnaWQgIlwibm9uZVwiIEZTIHR5cGUgaXMgcmVjb21tZW5kZWQgZm9yIGJpbmQgb3IgbW92ZSBvcHJhdGlvbnMgb25seSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIwIG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGRldGVjdCBvbi1kaXNrIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAiICAgbCAgIGFuZGEgbmltZWtpcmkgdHVudHVkIGZhaWxpc/xzdGVlbWlkZSB0/PxwaWRlc3QiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgbWF0Y2ggd2l0aCBvbi1kaXNrICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAib24tZGlzayAlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRlMgdHlwZSBpcyAlcyIKK21zZ3N0ciAidPz8cDogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWNvbW1lbmRlZCByb290IEZTIHBhc3NubyBpcyAxIChjdXJyZW50IGlzICVkKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCBwYXJzZSBlcnJvciIKK21zZ2lkX3BsdXJhbCAiJWQgcGFyc2UgZXJyb3JzIgorbXNnc3RyWzBdICJwb3NpdHNpb25lZXJpbWlzZSB2aWdhIgorbXNnc3RyWzFdICJwb3NpdHNpb25lZXJpbWlzZSB2aWdhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsICVkIGVycm9yIgorbXNnaWRfcGx1cmFsICIsICVkIGVycm9ycyIKK21zZ3N0clswXSAicG9zaXRzaW9uZWVyaW1pc2UgdmlnYSIKK21zZ3N0clsxXSAicG9zaXRzaW9uZWVyaW1pc2UgdmlnYSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxNAorIywgYy1mb3JtYXQKK21zZ2lkICIsICVkIHdhcm5pbmciCittc2dpZF9wbHVyYWwgIiwgJWQgd2FybmluZ3MiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3MsIG5vIGVycm9ycyBvciB3YXJuaW5ncyBkZXRlY3RlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMwNAorbXNnaWQgImVtcHR5IGxvbmcgb3B0aW9uIGFmdGVyIC1sIG9yIC0tbG9uZyBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMyNQorbXNnaWQgInVua25vd24gc2hlbGwgYWZ0ZXIgLXMgb3IgLS1zaGVsbCBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLV0gPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIC1vfC0tb3B0aW9ucyA8b3B0c3RyaW5nPiBbb3B0aW9uc10gWy0tXSA8cGFyYW1ldGVycz5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzOAorIywgZnV6enkKK21zZ2lkICJQYXJzZSBjb21tYW5kIG9wdGlvbnMuXG4iCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQxCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgICBhbGxvdyBsb25nIG9wdGlvbnMgc3RhcnRpbmcgd2l0aCBzaW5nbGUgLVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDIKK21zZ2lkICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiAgdGhlIGxvbmcgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDMKK21zZ2lkICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICAgdGhlIG5hbWUgdW5kZXIgd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ0Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAgIHRoZSBzaG9ydCBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NQorIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBlcnJvciByZXBvcnRpbmcgYnkgZ2V0b3B0KDMpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NgorIywgZnV6enkKK21zZ2lkICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgbm8gbm9ybWFsIG91dHB1dFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDcKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgc2V0IHF1b3RpbmcgY29udmVudGlvbnMgdG8gdGhvc2Ugb2YgPHNoZWxsPlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ4CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICB0ZXN0IGZvciBnZXRvcHQoMSkgdmVyc2lvblxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDkKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVucXVvdGVkICAgICAgICAgICAgICAgIGRvIG5vdCBxdW90ZSB0aGUgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM5OSBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1OQorbXNnaWQgIm1pc3Npbmcgb3B0c3RyaW5nIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDU0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3IsIGNvbnRhY3QgdGhlIGF1dGhvci4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbCAlczsgdmFsaWQgc2lnbmFsczoiCittc2dzdHIgIiVzOiB0dW5kbWF0dSBzaWduYWFsICVzLCB0dW50dWQgc2lnbmFhbGlkOlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBpZD58PG5hbWU+Li4uXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwNQorbXNnaWQgIkZvcmNpYmx5IHRlcm1pbmF0ZSBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzA4Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRvIG5vdCByZXN0cmljdCB0aGUgbmFtZS10by1waWQgY29udmVyc2lvbiB0byBwcm9jZXNzZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggdGhlIHNhbWUgdWlkIGFzIHRoZSBwcmVzZW50IHByb2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTAKK21zZ2lkICIgLXMsIC0tc2lnbmFsIDxzaWduYWw+ICBzZW5kIHRoaXMgPHNpZ25hbD4gaW5zdGVhZCBvZiBTSUdURVJNXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzEyCittc2dpZCAiIC1xLCAtLXF1ZXVlIDx2YWx1ZT4gICAgdXNlIHNpZ3F1ZXVlKDIpLCBub3Qga2lsbCgyKSwgYW5kIHBhc3MgPHZhbHVlPiBhcyBkYXRhXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE0Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgcHJpbnQgcGlkcyB3aXRob3V0IHNpZ25hbGluZyB0aGVtXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE1Cittc2dpZCAiIC1sLCAtLWxpc3RbPTxzaWduYWw+XSAgbGlzdCBzaWduYWwgbmFtZXMsIG9yIGNvbnZlcnQgYSBzaWduYWwgbnVtYmVyIHRvIGEgbmFtZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNgorbXNnaWQgIiAtTCwgLS10YWJsZSAgICAgICAgICAgIGxpc3Qgc2lnbmFsIG5hbWVzIGFuZCBudW1iZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IHBpZHMgdGhhdCB3aWxsIGJlIHNpZ25hbGVkXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozNjcgbWlzYy11dGlscy9raWxsLmM6Mzc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbDogJXMiCittc2dzdHIgIiVzOiB0dW5kbWF0dSBzaWduYWFsICVzXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM4NyBtaXNjLXV0aWxzL2tpbGwuYzozOTAgbWlzYy11dGlscy9raWxsLmM6Mzk5CisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MTEgbWlzYy11dGlscy9raWxsLmM6NDM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiJXM6IFb1dG1lZCAtLWFkanVzdCBqYSAtLW5vYWRqZmlsZSBvbiB2YXN0YXN0aWtrdSB25Gxpc3RhdmFkXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM5NiBtaXNjLXV0aWxzL2tpbGwuYzo0MzggbWlzYy11dGlscy9yZW5hbWUuYzoxNzQKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc4OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc5OAorIywgZnV6enkKK21zZ2lkICJub3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAiTGlpZ2EgcGFsanUgYXJndW1lbnRlXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uICclcycgcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgInb1dGkgYCVzJyB2YWphYiBhcmd1bWVudGlcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDE0IHN5cy11dGlscy9lamVjdC5jOjIwNSBzeXMtdXRpbHMvZWplY3QuYzoyMzAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Njg5IHN5cy11dGlscy90dW5lbHAuYzoxNjEgc3lzLXV0aWxzL3R1bmVscC5jOjE2OAorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE3NSBzeXMtdXRpbHMvdHVuZWxwLmM6MTgyIHN5cy11dGlscy90dW5lbHAuYzoxODkKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxOTUgc3lzLXV0aWxzL3R1bmVscC5jOjE5OSBzeXMtdXRpbHMvdHVuZWxwLmM6MjA2CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjMxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxMyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzcgdGVybS11dGlscy9zZXR0ZXJtLmM6MjcyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzQgdGVybS11dGlscy9zZXR0ZXJtLmM6MjkxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5OAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzAwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxMiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyMyB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMzEgdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ2CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDggdGVybS11dGlscy9zZXR0ZXJtLmM6MzYwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjM2MgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzczIHRlcm0tdXRpbHMvc2V0dGVybS5jOjUzNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDAKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NTAgdGVybS11dGlscy9zZXR0ZXJtLmM6NTc0CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NzkgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4OQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTk0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MDcKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjY0MAorIywgZnV6enkKK21zZ2lkICJhcmd1bWVudCBlcnJvciIKK21zZ3N0ciAiS2lyanV0YW1pc2UgdmlnYSBzZWFkbWVsICVzXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzaWduYWwgbmFtZSBvciBudW1iZXI6ICVzIgorbXNnc3RyICJ2aWdhbmUgaWRlbnRpZmlrYWF0b3IiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQ0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgJWQgdG8gcGlkICVkXG4iCittc2dzdHIgIiVzOiAlcyD8bWJlciBuaW1ldGFtaW5lICVzIC1rcyBlaSD1bm5lc3RudWQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQ2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogJXMg/G1iZXIgbmltZXRhbWluZSAlcyAta3MgZWkg9W5uZXN0bnVkOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHByb2Nlc3MgXCIlc1wiIgorbXNnc3RyICIlczogZWkgbGVpYSBwcm90c2Vzc2kgXCIlc1wiXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5IG5hbWU6ICVzIgorbXNnc3RyICJsb2dnZXI6IHR1bmRtYXR1IGthdGVnb29yaWEgbmltaTogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpb3JpdHkgbmFtZTogJXMiCittc2dzdHIgImxvZ2dlcjogdHVuZG1hdHUgcHJpb3JpdGVlZGkgbmltaTogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wZW5sb2cgJXM6IHBhdGhuYW1lIHRvbyBsb25nIgorbXNnc3RyICJLYXN1dGFqYW5pbWkgb24gbGlpZ2EgcGlra1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic29ja2V0ICVzIgorbXNnc3RyICJQbG9raSBzdXVydXM6ICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBuYW1lICVzIHBvcnQgJXM6ICVzIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNvbm5lY3QgdG8gJXMgcG9ydCAlcyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4aW11bSBpbnB1dCBsaW5lcyAoJWQpIGV4Y2VlZGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NDg3CisjLCBmdXp6eQorbXNnaWQgInNlbmQgbWVzc2FnZSBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGVpIPVubmVzdHVudWQiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTU4CisjLCBjLWZvcm1hdAorbXNnaWQgInN0cnVjdHVyZWQgZGF0YSBJRCAnJXMnIGlzIG5vdCB1bmlxdWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1zZC1pZCB3YXMgbm90IHNwZWNpZmllZCBmb3IgLS1zZC1wYXJhbSAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc1NAorIywgZnV6enkKK21zZ2lkICJsb2NhbHRpbWUoKSBmYWlsZWQiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImhvc3RuYW1lICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgInbkbGkgb24gbGlpZ2EgcGlra1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGFnICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgInbkbGkgb24gbGlpZ2EgcGlra1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjgzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdW5rbm93biBvcHRpb24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICIlczogVHVuZG1hdHUgYXJndW1lbnQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlczogdXNpbmcgYXV0b21hdGljIGVycm9ycyIKK21zZ3N0ciAidmlnYW5lIGtpaXJ1czogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6OTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bWVzc2FnZT5dXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6OTk3CisjLCBmdXp6eQorbXNnaWQgIkVudGVyIG1lc3NhZ2VzIGludG8gdGhlIHN5c3RlbSBsb2cuXG4iCittc2dzdHIgIlP8c3RlZW1pa2VsbGEgc2VhZG1pbmUgZWkg9W5uZXN0dW51ZFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1pICAgICAgICAgICAgICAgICAgICAgICBsb2cgdGhlIGxvZ2dlciBjb21tYW5kJ3MgUElEXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDEKK21zZ2lkICIgICAgIC0taWRbPTxpZD5dICAgICAgICAgIGxvZyB0aGUgZ2l2ZW4gPGlkPiwgb3Igb3RoZXJ3aXNlIHRoZSBQSURcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDIKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICAgICBsb2cgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAzCittc2dpZCAiIC1lLCAtLXNraXAtZW1wdHkgICAgICAgICBkbyBub3QgbG9nIGVtcHR5IGxpbmVzIHdoZW4gcHJvY2Vzc2luZyBmaWxlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm8tYWN0ICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSB3cml0ZSB0aGUgbG9nXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDUKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIG1hcmsgZ2l2ZW4gbWVzc2FnZSB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDYKK21zZ2lkICIgICAgIC0tb2N0ZXQtY291bnQgICAgICAgIHVzZSByZmM2NTg3IG9jdGV0IGNvdW50aW5nXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA3Cittc2dpZCAiICAgICAtLXByaW8tcHJlZml4ICAgICAgICBsb29rIGZvciBhIHByZWZpeCBvbiBldmVyeSBsaW5lIHJlYWQgZnJvbSBzdGRpblxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwOAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIG91dHB1dCBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yIGFzIHdlbGxcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwOQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgIG1heGltdW0gc2l6ZSBmb3IgYSBzaW5nbGUgbWVzc2FnZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEwCittc2dpZCAiIC10LCAtLXRhZyA8dGFnPiAgICAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMQorbXNnaWQgIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMgorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcG9ydCA8cG9ydD4gICAgICAgIHVzZSB0aGlzIHBvcnQgZm9yIFVEUCBvciBUQ1AgY29ubmVjdGlvblxuIgorbXNnc3RyICJTaXNldGFnZSBwZWFkZSBhcnY6ICIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEzCisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgdXNlIFRDUCBvbmx5XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTQKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLXVkcCAgICAgICAgICAgICAgICB1c2UgVURQIG9ubHlcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIHVzZSB0aGUgb2Jzb2xldGUgQlNEIHN5c2xvZyBwcm90b2NvbFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE2Cittc2dpZCAiIgorIiAgICAgLS1yZmM1NDI0Wz08c25pcD5dICAgdXNlIHRoZSBzeXNsb2cgcHJvdG9jb2wgKHRoZSBkZWZhdWx0IGZvciByZW1vdGUpO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c25pcD4gY2FuIGJlIG5vdGltZSwgb3Igbm90cSwgYW5kL29yIG5vaG9zdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxOAorbXNnaWQgIiAgICAgLS1zZC1pZCA8aWQ+ICAgICAgICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgSURcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTkKK21zZ2lkICIgICAgIC0tc2QtcGFyYW0gPGRhdGE+ICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIG5hbWU9dmFsdWVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjAKK21zZ2lkICIgICAgIC0tbXNnaWQgPG1zZ2lkPiAgICAgIHNldCByZmM1NDI0IG1lc3NhZ2UgaWQgZmllbGRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjEKK21zZ2lkICIgLXUsIC0tc29ja2V0IDxzb2NrZXQ+ICAgIHdyaXRlIHRvIHRoaXMgVW5peCBzb2NrZXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjIKK21zZ2lkICIiCisiICAgICAtLXNvY2tldC1lcnJvcnNbPTxvbnxvZmZ8YXV0bz5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludCBjb25uZWN0aW9uIGVycm9ycyB3aGVuIHVzaW5nIFVuaXggc29ja2V0c1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyNQorbXNnaWQgIiAgICAgLS1qb3VybmFsZFs9PGZpbGU+XSAgd3JpdGUgam91cm5hbGQgZW50cnlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZSAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExMjcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGlkIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1lc3NhZ2Ugc2l6ZSIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTgwCittc2dpZCAiLS1tc2dpZCBjYW5ub3QgY29udGFpbiBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc3RydWN0dXJlZCBkYXRhIElEOiAnJXMnIgorbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBwYXJhbWV0ZXI6ICclcyciCittc2dzdHIgInZpZ2FuZSB0YWltYWRpIHbk5HJ0dXM6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMTgKK21zZ2lkICItLWZpbGUgPGZpbGU+IGFuZCA8bWVzc2FnZT4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSwgbWVzc2FnZSBpcyBpZ25vcmVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIyNQorbXNnaWQgImpvdXJuYWxkIGVudHJ5IGNvdWxkIG5vdCBiZSB3cml0dGVuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8c3RyaW5nPiBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNTgKK21zZ2lkICJEaXNwbGF5IGxpbmVzIGJlZ2lubmluZyB3aXRoIGEgc3BlY2lmaWVkIHN0cmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjEKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgIHVzZSB0aGUgYWx0ZXJuYXRpdmUgZGljdGlvbmFyeVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MgorbXNnaWQgIiAtZCwgLS1hbHBoYW51bSAgICAgICAgICAgY29tcGFyZSBvbmx5IGJsYW5rcyBhbmQgYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjMKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY0Cittc2dpZCAiIC10LCAtLXRlcm1pbmF0ZSA8Y2hhcj4gICBkZWZpbmUgdGhlIHN0cmluZy10ZXJtaW5hdGlvbiBjaGFyYWN0ZXJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU3Cittc2dpZCAiZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OAorbXNnaWQgImludGVybmFsIGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU5Cittc2dpZCAiaW50ZXJuYWwgcGFyZW50IGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyIHN5cy11dGlscy96cmFtY3RsLmM6ODQKK21zZ2lkICJ3aGVyZSB0aGUgZGV2aWNlIGlzIG1vdW50ZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MworbXNnaWQgImZpbGVzeXN0ZW0gTEFCRUwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NgorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSBVVUlEIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGl0c2lvb25pOlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY3CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBMQUJFTCIKK21zZ3N0ciAiUGFydGl0c2lvb25pIG51bWJlciIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MQorIywgZnV6enkKK21zZ2lkICJyZWFkLWFoZWFkIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgImthdGFsb29naSBzdGF0KCkgZWkg9W5uZXN0dW51ZFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcyIHN5cy11dGlscy9sb3NldHVwLmM6NzUKK21zZ2lkICJyZWFkLW9ubHkgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAicmVtb3ZhYmxlIGRldmljZSIKK21zZ3N0ciAiIGVlbWFsZGF0YXYiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzQKK21zZ2lkICJyZW1vdmFibGUgb3IgaG90cGx1ZyBkZXZpY2UgKHVzYiwgcGNtY2lhLCAuLi4pIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzUKK21zZ2lkICJyb3RhdGlvbmFsIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc2Cittc2dpZCAiYWRkcyByYW5kb21uZXNzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzcKK21zZ2lkICJkZXZpY2UgaWRlbnRpZmllciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc4Cittc2dpZCAiZGlzayBzZXJpYWwgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzkKK21zZ2lkICJzaXplIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MAorIywgZnV6enkKK21zZ2lkICJzdGF0ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJrYXRhbG9vZ2kgc3RhdCgpIGVpIPVubmVzdHVudWRcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MgorbXNnaWQgImdyb3VwIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MworbXNnaWQgImRldmljZSBub2RlIHBlcm1pc3Npb25zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODQKKyMsIGZ1enp5Cittc2dpZCAiYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAidmlnYW5lIGkta2lyamUgc3V1cnVzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg1Cittc2dpZCAibWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg2Cittc2dpZCAib3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg3Cittc2dpZCAicGh5c2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OAorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJWaWdhbmUgc2VrdG9yaXRlIGFydiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OQorbXNnaWQgIkkvTyBzY2hlZHVsZXIgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwCittc2dpZCAicmVxdWVzdCBxdWV1ZSBzaXplIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTEKK21zZ2lkICJkZXZpY2UgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkyCisjLCBmdXp6eQorbXNnaWQgImRpc2NhcmQgYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAidmlnYW5lIGkta2lyamUgc3V1cnVzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkzCittc2dpZCAiZGlzY2FyZCBncmFudWxhcml0eSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk0Cittc2dpZCAiZGlzY2FyZCBtYXggYnl0ZXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NQorbXNnaWQgImRpc2NhcmQgemVyb2VzIGRhdGEiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NgorbXNnaWQgIndyaXRlIHNhbWUgbWF4IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTcKKyMsIGZ1enp5Cittc2dpZCAidW5pcXVlIHN0b3JhZ2UgaWRlbnRpZmllciIKK21zZ3N0ciAiICAgdSAgIG11dXRhIHNpc2VzdGFtaXNlIGphIHRhYmVsaSBu5Gl0YW1pc2Ug/Ghpa3VpZCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OAorbXNnaWQgIkhvc3Q6Q2hhbm5lbDpUYXJnZXQ6THVuIGZvciBTQ1NJIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTkKK21zZ2lkICJkZXZpY2UgdHJhbnNwb3J0IHR5cGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMAorbXNnaWQgImRlLWR1cGxpY2F0ZWQgY2hhaW4gb2Ygc3Vic3lzdGVtcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAxCisjLCBmdXp6eQorbXNnaWQgImRldmljZSByZXZpc2lvbiIKK21zZ3N0ciAiU2VhZGU6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDIKK21zZ2lkICJkZXZpY2UgdmVuZG9yIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxMjc2Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGV2aWNlIGRpcmVjdG9yeSBpbiBzeXNmcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjb21wb3NlIHN5c2ZzIHBhdGgiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgbGluayIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN5c2ZzIG5hbWUiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB3aG9sZS1kaXNrIGRldmljZSBudW1iZXIiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTUxIG1pc2MtdXRpbHMvbHNibGsuYzoxNTUzIG1pc2MtdXRpbHMvbHNibGsuYzoxNTc4CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxpc3QgJyVzJyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgZXhjbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTg1CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGluY2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxNiBzeXMtdXRpbHMvd2RjdGwuYzoxNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MTkKKyMsIGZ1enp5Cittc2dpZCAiTGlzdCBpbmZvcm1hdGlvbiBhYm91dCBibG9jayBkZXZpY2VzLlxuIgorbXNnc3RyICIlcyBwb2xlIGZsb3Bpc2VhZGVcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjIKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgcHJpbnQgYWxsIGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNAorbXNnaWQgIiAtZCwgLS1ub2RlcHMgICAgICAgICBkb24ndCBwcmludCBzbGF2ZXMgb3IgaG9sZGVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI1Cittc2dpZCAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHByaW50IGRpc2NhcmQgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjYKK21zZ2lkICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI3CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgVuRsamFzdGFkYSBwYXJ0aXRzaW9vbml0YWJlbCBla3JhYW5pbGUgdvVpIGZhaWxpIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyOAorbXNnaWQgIiAtaSwgLS1hc2NpaSAgICAgICAgICB1c2UgYXNjaWkgY2hhcmFjdGVycyBvbmx5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjkKK21zZ2lkICIgLUksIC0taW5jbHVkZSA8bGlzdD4gc2hvdyBvbmx5IGRldmljZXMgd2l0aCBzcGVjaWZpZWQgbWFqb3IgbnVtYmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMwCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzIKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLXBlcm1zICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMworbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM0Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzUKK21zZ2lkICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgb3V0cHV0IGFsbCBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzYKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBhdGhzICAgICAgICAgIHByaW50IGNvbXBsZXRlIGRldmljZSBwYXRoXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzOQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQwCittc2dpZCAiIC1TLCAtLXNjc2kgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IFNDU0kgZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQxCittc2dpZCAiIC10LCAtLXRvcG9sb2d5ICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHRvcG9sb2d5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDIKK21zZ2lkICIgLXgsIC0tc29ydCA8Y29sdW1uPiAgc29ydCBvdXRwdXQgYnkgPGNvbHVtbj5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NyBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTkgc3lzLXV0aWxzL2xzbnMuYzo2MzIKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTk2IHN5cy11dGlscy96cmFtY3RsLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tb3V0cHV0KTpcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFjY2VzcyBzeXNmcyBkaXJlY3Rvcnk6ICVzIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3MworbXNnaWQgImNvbW1hbmQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NAorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc1Cittc2dpZCAia2luZCBvZiBsb2NrOiBGTF9GTE9DSyBvciBGTF9QT1NJWC4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBvZiB0aGUgbG9jayIKK21zZ3N0ciAia2F0YWxvb2dpIHN0YXQoKSBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc3CisjLCBmdXp6eQorbXNnaWQgImxvY2sgYWNjZXNzIG1vZGUiCittc2dzdHIgImVpIHN1dWRhIGtpbmRsYWtzIHRlaGEgc2VhZG1lICVzIG1haHR1IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OAorbXNnaWQgIm1hbmRhdG9yeSBzdGF0ZSBvZiB0aGUgbG9jazogMCAobm9uZSksIDEgKHNldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzkKK21zZ2lkICJyZWxhdGl2ZSBieXRlIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MAorbXNnaWQgImVuZGluZyBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAicGF0aCBvZiB0aGUgbG9ja2VkIGZpbGUiCittc2dzdHIgIkVpIHN1dWRhIGF2YWRhIGZhaWxpIGAlcyciCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgyCittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGJsb2NraW5nIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI1OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSUQiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4MSBzeXMtdXRpbHMvbnNlbnRlci5jOjIzMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGlkIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODQKKyMsIGZ1enp5Cittc2dpZCAiKHVua25vd24pIgorbXNnc3RyICJ0dW5kbWF0dSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjkzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGFydCIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzAwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbmQiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNAorIywgZnV6enkKK21zZ2lkICJMaXN0IGxvY2FsIHN5c3RlbSBsb2Nrcy5cbiIKK21zZ3N0ciAiU/xzdGVlbWlrZWxsYSBzZWFkbWluZSBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwOAorbXNnaWQgIiAtaSwgLS1ub2luYWNjZXNzaWJsZSAgIGlnbm9yZSBsb2NrcyB3aXRob3V0IHJlYWQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDkgc3lzLXV0aWxzL2xzbnMuYzo2MjEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMCBzeXMtdXRpbHMvbHNucy5jOjYyMgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBW5GxqYXN0YWRhIHBhcnRpdHNpb29uaXRhYmVsIGVrcmFhbmlsZSB29WkgZmFpbGkiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMQorbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIGRpc3BsYXkgb25seSBsb2NrcyBoZWxkIGJ5IHRoaXMgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMiBzeXMtdXRpbHMvbHNucy5jOjYyNAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1NzAgc2NoZWR1dGlscy9jaHJ0LmM6NDc4IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc3CisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxNjMgc3lzLXV0aWxzL2xzbnMuYzo2OTkgc3lzLXV0aWxzL3BybGltaXQuYzo1ODYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBQSUQgYXJndW1lbnQiCittc2dzdHIgInZpZ2FuZSBraWlydXM6ICVzIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4NQorbXNnaWQgIkdlbmVyYXRlIG1hZ2ljIGNvb2tpZXMgZm9yIHhhdXRoLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg4Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICB1c2UgZmlsZSBhcyBhIGNvb2tpZSBzZWVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODkKK21zZ2lkICIgLW0sIC0tbWF4LXNpemUgPG51bT4gIGxpbWl0IGhvdyBtdWNoIGlzIHJlYWQgZnJvbSBzZWVkIGZpbGVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6OTAKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHb3QgJXp1IGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJXp1IGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAiU2FpbiAlZCBiYWl0aSAlcyBzZWVzdFxuIgorbXNnc3RyWzFdICJTYWluICVkIGJhaXRpICVzIHNlZXN0XG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2xvc2luZyAlcyBmYWlsZWQiCittc2dzdHIgImV4ZWMgZWkg9W5uZXN0dW51ZFxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNjQgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNDYgc3lzLXV0aWxzL2ZzdHJpbS5jOjMwOAorIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZW5ndGgiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE3NworbXNnaWQgIi0tbWF4LXNpemUgaWdub3JlZCB3aGVuIHVzZWQgd2l0aG91dCAtLWZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHb3QgJWQgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlZCBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIlNhaW4gJWQgYmFpdGkgJXMgc2Vlc3RcbiIKK21zZ3N0clsxXSAiU2FpbiAlZCBiYWl0aSAlcyBzZWVzdFxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHN5bWxpbms6ICVzIgorbXNnc3RyICJpb2N0bCgpIGFiaWwga2VsbGEgbHVnZW1pbmUgJXMga2F1ZHUgZWkg9W5uZXN0dW51ZCIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjI4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgLSBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5XG4iCittc2dzdHIgImp1dXJrYXRhbG9vZ2kgaS1raXJqZSBlaSBraXJqZWxkYSBrYXRhbG9vZ2kiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBhdGhuYW1lPi4uLlxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzM2Cittc2dpZCAiRm9sbG93IGEgcGF0aG5hbWUgdW50aWwgYSB0ZXJtaW5hbCBwb2ludCBpcyBmb3VuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzM5Cittc2dpZCAiIgorIiAtaCwgLS1oZWxwICAgICAgICAgIGRpc3BsYXlzIHRoaXMgaGVscCB0ZXh0XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICBzaG93IG1vdW50IHBvaW50IGRpcmVjdG9yaWVzIHdpdGggYSAnRCdcbiIKKyIgLW0sIC0tbW9kZXMgICAgICAgICBzaG93IHRoZSBtb2RlIGJpdHMgb2YgZWFjaCBmaWxlXG4iCisiIC1vLCAtLW93bmVycyAgICAgICAgc2hvdyBvd25lciBhbmQgZ3JvdXAgbmFtZSBvZiBlYWNoIGZpbGVcbiIKKyIgLWwsIC0tbG9uZyAgICAgICAgICB1c2UgYSBsb25nIGxpc3RpbmcgZm9ybWF0ICgtbSAtbyAtdikgXG4iCisiIC1uLCAtLW5vc3ltbGlua3MgICAgZG9uJ3QgZm9sbG93IHN5bWxpbmtzXG4iCisiIC12LCAtLXZlcnRpY2FsICAgICAgdmVydGljYWwgYWxpZ24gb2YgbW9kZXMgYW5kIG93bmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MDgKKyMsIGZ1enp5Cittc2dpZCAicGF0aG5hbWUgYXJndW1lbnQgaXMgbWlzc2luZyIKK21zZ3N0ciAiLS1kYXRlIGFyZ3VtZW50IG9uIGxpaWdhIHBpa2tcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNCBzeXMtdXRpbHMvbHNucy5jOjc2NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgVUlEIGNhY2hlIgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdJRCBjYWNoZSIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGNlZWRlZCBsaW1pdCBvZiBzeW1saW5rcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAiJXMgcG9sZSBmbG9waXNlYWRlXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkbGluayBmYWlsZWQiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubGluayBmYWlsZWQiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN5bWxpbmtpbmcgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogJXMg/G1iZXIgbmltZXRhbWluZSAlcyAta3MgZWkg9W5uZXN0bnVkOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlbmFtZSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiAlcyD8bWJlciBuaW1ldGFtaW5lICVzIC1rcyBlaSD1bm5lc3RudWQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxleHByZXNzaW9uPiA8cmVwbGFjZW1lbnQ+IDxmaWxlPi4uLlxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyMgorIywgZnV6enkKK21zZ2lkICJSZW5hbWUgZmlsZXMuXG4iCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTI2Cittc2dpZCAiIC1zLCAtLXN5bWxpbmsgICAgYWN0IG9uIHRoZSB0YXJnZXQgb2Ygc3ltbGlua3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzIKK21zZ2lkICJBIGRhZW1vbiBmb3IgZ2VuZXJhdGluZyBVVUlEcy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKK21zZ3N0ciAiICAgbCAgIGFuZGEgbmltZWtpcmkgdHVudHVkIGZhaWxpc/xzdGVlbWlkZSB0/PxwaWRlc3QiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKK21zZ3N0ciAiICAgbCAgIGFuZGEgbmltZWtpcmkgdHVudHVkIGZhaWxpc/xzdGVlbWlkZSB0/PxwaWRlc3QiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NgorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKK21zZ3N0ciAiU2lzZXRhZ2UgcGVhZGUgYXJ2OiAiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NworIywgZnV6enkKK21zZ2lkICIgLWssIC0ta2lsbCAgICAgICAgICAgICAga2lsbCBydW5uaW5nIGRhZW1vblxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc4CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODAKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCittc2dzdHIgIlNpc2V0YWdlIHBlYWRlIGFydjogIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFbkbGphc3RhZGEgcGFydGl0c2lvb25pdGFiZWwgZWtyYWFuaWxlIHb1aSBmYWlsaSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgyCisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkbyBub3QgZGFlbW9uaXplIHVzaW5nIGRvdWJsZS1mb3JrXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODMKK21zZ2lkICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjg0CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBydW4gaW4gZGVidWdnaW5nIG1vZGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4NQorIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgdHVybiBvbiBxdWlldCBtb2RlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTE4CisjLCBmdXp6eQorbXNnaWQgImJhZCBhcmd1bWVudHMiCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEyNQorIywgZnV6enkKK21zZ2lkICJzb2NrZXQiCittc2dzdHIgIlBsb2tpIHN1dXJ1czogJWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEzNgorbXNnaWQgImNvbm5lY3QiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE1NgorIywgZnV6enkKK21zZ2lkICJ3cml0ZSIKK21zZ3N0ciAic2FsdmVzdGEgKFcpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTY0CisjLCBmdXp6eQorbXNnaWQgInJlYWQgY291bnQiCittc2dzdHIgImx1Z2VzaW4gJWNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE3MAorbXNnaWQgImJhZCByZXNwb25zZSBsZW5ndGgiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGxvY2sgJXMiCittc2dzdHIgImVpIHN1dWRhIGF2YWRhIHNlYWRldCAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI0NgorIywgZnV6enkKK21zZ2lkICJjb3VsZG4ndCBjcmVhdGUgdW5peCBzdHJlYW0gc29ja2V0IgorbXNnc3RyICJFaSBzdXV0bnVkIGF2YWRhICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyNzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGJpbmQgdW5peCBzb2NrZXQgJXMiCittc2dzdHIgIkVpIHN1dXRudWQgYXZhZGEgJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI5OAorIywgZnV6enkKK21zZ2lkICJyZWNlaXZpbmcgc2lnbmFsIGZhaWxlZCIKK21zZ3N0ciAiJXM6ICVzIPxtYmVyIG5pbWV0YW1pbmUgJXMgLWtzIGVpIPVubmVzdG51ZDogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjMxMQorbXNnaWQgInRpbWVkIG91dCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzQ1IHN5cy11dGlscy9mbG9jay5jOjI3MQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHVwIHRpbWVyIgorbXNnc3RyICJmb3JrIGVpIPVubmVzdHVudWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidXVpZGQgZGFlbW9uIGlzIGFscmVhZHkgcnVubmluZyBhdCBwaWQgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgbGlzdGVuIG9uIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICJFaSBzdXV0bnVkIGF2YWRhICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB0cnVuY2F0ZSBmaWxlOiAlcyIKK21zZ3N0ciAic3RhdCglcykgZWkg9W5uZXN0dW51ZCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4NgorIywgZnV6enkKK21zZ2lkICJzZF9saXN0ZW5fZmRzKCkgZmFpbGVkIgorbXNnc3RyICJzZXR0aW1lb2ZkYXkoKSBlaSD1bm5lc3R1bnVkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzg5Cittc2dpZCAibm8gZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgc3lzdGVtY3RsIHN0YXR1cyB1dWlkZC5zb2NrZXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM5MgorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayB1dWlkZC5zb2NrZXQiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQyMCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ1NQorIywgZnV6enkKK21zZ2lkICJwb2xsIGZhaWxlZCIKK21zZ3N0ciAiTeRsdSBzYWkgb3RzYSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltZW91dCBbJWQgc2VjXVxuIgorbXNnc3RyICJMb2dpbiB0aW1lZCBvdXQgYWZ0ZXIgJWQgc2Vjb25kc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQzIHRleHQtdXRpbHMvY29sdW1uLmM6NDE0CisjLCBmdXp6eQorbXNnaWQgInJlYWQgZmFpbGVkIgorbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciByZWFkaW5nIGZyb20gY2xpZW50LCBsZW4gPSAlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZCwgaW5jb21pbmcgbnVtID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQ6ICVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgcmFuZG9tIFVVSUQ6ICVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCAlZCBVVUlEOlxuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgJWQgVVVJRHM6XG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIG9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICJ2aWdhbmUgaWRlbnRpZmlrYWF0b3IiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCByZXBseSBsZW5ndGggZnJvbSBzZXJ2ZXIgJWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYwMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS11dWlkcyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYxNworbXNnaWQgInV1aWRkIGhhcyBiZWVuIGJ1aWx0IHdpdGhvdXQgc3VwcG9ydCBmb3Igc29ja2V0IGFjdGl2YXRpb24iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYzNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10aW1lb3V0IgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjUzCittc2dpZCAiQm90aCAtLXNvY2tldC1hY3RpdmF0aW9uIGFuZCAtLXNvY2tldCBzcGVjaWZpZWQuIElnbm9yaW5nIC0tc29ja2V0LiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYwIG1pc2MtdXRpbHMvdXVpZGQuYzo2ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2FsbGluZyB1dWlkZCBkYWVtb24gKCVzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYxIG1pc2MtdXRpbHMvdXVpZGQuYzo2ODkKKyMsIGZ1enp5Cittc2dpZCAidW5leHBlY3RlZCBlcnJvciIKK21zZ3N0ciAicG9zaXRzaW9uZWVyaW1pc2UgdmlnYSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEXG4iCittc2dpZF9wbHVyYWwgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURzXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjczCisjLCBjLWZvcm1hdAorbXNnaWQgIkxpc3Qgb2YgVVVJRHM6XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3Qga2lsbCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZCIKK21zZ3N0ciAiRWkgc3V1dG51ZCBhdmFkYSAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJLaWxsZWQgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQuXG4iCittc2dzdHIgIkVpIHN1dXRudWQgYXZhZGEgJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjgKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlIGEgbmV3IFVVSUQgdmFsdWUuXG4iCittc2dzdHIgIiAgIHMgICBsdXVhIHV1cyB0/GhpIFN1bidpIHBhcnRpdHNpb29uaXRhYmVsIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozMQorbXNnaWQgIiIKKyIgLXIsIC0tcmFuZG9tICAgICBnZW5lcmF0ZSByYW5kb20tYmFzZWQgdXVpZFxuIgorIiAtdCwgLS10aW1lICAgICAgIGdlbmVyYXRlIHRpbWUtYmFzZWQgdXVpZFxuIgorIiAtViwgLS12ZXJzaW9uICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1CTVMgPGRpcj4uLi4gLWZdIDxuYW1lPlxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTIKK21zZ2lkICJMb2NhdGUgdGhlIGJpbmFyeSwgc291cmNlLCBhbmQgbWFudWFsLXBhZ2UgZmlsZXMgZm9yIGEgY29tbWFuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTUKK21zZ2lkICIgLWIgICAgICAgICBzZWFyY2ggb25seSBmb3IgYmluYXJpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTYKK21zZ2lkICIgLUIgPGRpcnM+ICBkZWZpbmUgYmluYXJpZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTcKKyMsIGZ1enp5Cittc2dpZCAiIC1tICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIG1hbnVhbHMgYW5kIGluZm9zXG4iCittc2dzdHIgIiAgICAgICAgICAgIEVzaW1lbmUgIFZpaW1hbmVcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk4Cittc2dpZCAiIC1NIDxkaXJzPiAgZGVmaW5lIG1hbiBhbmQgaW5mbyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5OQorbXNnaWQgIiAtcyAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBzb3VyY2VzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAwCittc2dpZCAiIC1TIDxkaXJzPiAgZGVmaW5lIHNvdXJjZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDEKK21zZ2lkICIgLWYgICAgICAgICB0ZXJtaW5hdGUgPGRpcnM+IGFyZ3VtZW50IGxpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDIKK21zZ2lkICIgLXUgICAgICAgICBzZWFyY2ggZm9yIHVudXN1YWwgZW50cmllc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMworbXNnaWQgIiAtbCAgICAgICAgIG91dHB1dCBlZmZlY3RpdmUgbG9va3VwIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NjE5CisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbiAtZiBpcyBtaXNzaW5nIgorbXNnc3RyICItLWRhdGUgYXJndW1lbnQgb24gbGlpZ2EgcGlra1xuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjE5NgorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIlBhcnRpdHNpb29uaSBudW1iZXIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IHByb2JpbmcgaW5pdGlhbGl6YXRpb24gZmFpbGVkIgorbXNnc3RyICJWaWdhICVzIHN1bGdlbWlzZWxcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZXJhc2UgJXMgbWFnaWMgc3RyaW5nIGF0IG9mZnNldCAweCUwOGp4IgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICV6ZCBieXRlIHdhcyBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnaWRfcGx1cmFsICIlczogJXpkIGJ5dGVzIHdlcmUgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIKK21zZ3N0clswXSAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKK21zZ3N0clsxXSAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCIKK21zZ3N0ciAiZWkgc3V1ZGEga2lyanV0YWRhIHNpZ25hdHV1cmlnYSBsZWhla/xsZ2UiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FsbGluZyBpb2N0bCB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZTogJW1cbiIKK21zZ3N0ciAiS2FzdXRhbiBpb2N0bCgpIHBhcnRpdHNpb29uaXRhYmVsaSB1dWVzdGkgbHVnZW1pc2Vrc1xuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjM4NQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlnbm9yaW5nIG5lc3RlZCBcIiVzXCIgcGFydGl0aW9uIHRhYmxlIG9uIG5vbi13aG9sZSBkaXNrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAweCVqeCBub3QgZm91bmQiCittc2dzdHIgIiVzOiBzaXNlbmRpIPxsZXTkaXR1bWluZSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MzUKK21zZ2lkICJVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIHRvIGZvcmNlIGVyYXNlLiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1OQorbXNnaWQgIldpcGUgc2lnbmF0dXJlcyBmcm9tIGEgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDYyCittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgIHdpcGUgYWxsIG1hZ2ljIHN0cmluZ3MgKEJFIENBUkVGVUwhKVxuIgorIiAtYiwgLS1iYWNrdXAgICAgICAgIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAgaW4gJEhPTUVcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICBmb3JjZSBlcmFzdXJlXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorIiAtbiwgLS1uby1hY3QgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBhY3R1YWwgd3JpdGUoKSBjYWxsXG4iCisiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IHRvIGVyYXNlLCBpbiBieXRlc1xuIgorIiAtcCwgLS1wYXJzYWJsZSAgICAgIHByaW50IG91dCBpbiBwYXJzYWJsZSBpbnN0ZWFkIG9mIHByaW50YWJsZSBmb3JtYXRcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICBzdXBwcmVzcyBvdXRwdXQgbWVzc2FnZXNcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0sIFJBSURzIG9yIHBhcnRpdGlvbiB0YWJsZXNcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTMzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgb2Zmc2V0IGFyZ3VtZW50IgorbXNnc3RyICJ2aWdhbmUgaWRlbnRpZmlrYWF0b3IiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTU4Cittc2dpZCAiVGhlIC0tYmFja3VwIG9wdGlvbiBpcyBtZWFuaW5nbGVzcyBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM1Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlYWwtdGltZSBzY2hlZHVsaW5nIGF0dHJpYnV0ZXMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNworbXNnaWQgIiIKKyJTZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSA8cHJpb3JpdHk+IDxjb21tYW5kPiBbPGFyZz4uLi5dXG4iCisiIGNocnQgW29wdGlvbnNdIC0tcGlkIDxwcmlvcml0eT4gPHBpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDEKK21zZ2lkICIiCisiR2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gLXAgPHBpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDUKKyMsIGZ1enp5Cittc2dpZCAiUG9saWN5IG9wdGlvbnM6XG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NgorbXNnaWQgIiAtYiwgLS1iYXRjaCAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0JBVENIXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ3CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kZWFkbGluZSAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0RFQURMSU5FXG4iCittc2dzdHIgIiAgZCAgICAgICAgICBLdXN0dXRhZGEgam9va3NldiBwYXJ0aXRzaW9vbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ4CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maWZvICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKK21zZ3N0ciAiICBkICAgICAgICAgIEt1c3R1dGFkYSBqb29rc2V2IHBhcnRpdHNpb29uIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDkKK21zZ2lkICIgLWksIC0taWRsZSAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9JRExFXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUwCittc2dpZCAiIC1vLCAtLW90aGVyICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTEKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJyICAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTQKKyMsIGZ1enp5Cittc2dpZCAiU2NoZWR1bGluZyBvcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGl0c2lvb25pOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTUKK21zZ2lkICIgLVIsIC0tcmVzZXQtb24tZm9yayAgICAgICBzZXQgU0NIRURfUkVTRVRfT05fRk9SSyBmb3IgRklGTyBvciBSUlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NgorbXNnaWQgIiAtVCwgLS1zY2hlZC1ydW50aW1lIDxucz4gIHJ1bnRpbWUgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NworbXNnaWQgIiAtUCwgLS1zY2hlZC1wZXJpb2QgPG5zPiAgIHBlcmlvZCBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU4Cittc2dpZCAiIC1ELCAtLXNjaGVkLWRlYWRsaW5lIDxucz4gZGVhZGxpbmUgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MQorIywgZnV6enkKK21zZ2lkICJPdGhlciBvcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGl0c2lvb25pOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjIKK21zZ2lkICIgLWEsIC0tYWxsLXRhc2tzICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjMKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1heCAgICAgICAgICAgIHNob3cgbWluIGFuZCBtYXggdmFsaWQgcHJpb3JpdGllc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICBkaXNwbGF5IHN0YXR1cyBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjMyIHNjaGVkdXRpbHMvY2hydC5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhdHRyaWJ1dGVzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2NworIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcHJpb3JpdHk6ICVkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMDAgc2NoZWR1dGlscy9jaHJ0LmM6Mzk2CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvYnRhaW4gdGhlIGxpc3Qgb2YgdGFza3MiCittc2dzdHIgInN0YXQoJXMpIGVpIPVubmVzdHVudWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBtaW4vbWF4IHByaW9yaXR5XHQ6ICVkLyVkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3Qgc3VwcG9ydGVkP1xuIgorbXNnc3RyICIlczogc2lzZW5kaSD8bGV05Gl0dW1pbmUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aWQgJWQncyBwb2xpY3kiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBydW50aW1lIGFyZ3VtZW50IgorbXNnc3RyICJ2aWdhbmUgaWRlbnRpZmlrYWF0b3IiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ5MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBlcmlvZCBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBkZWFkbGluZSBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MTcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwcmlvcml0eSBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MjEKK21zZ2lkICItLXJlc2V0LW9uLWZvcmsgb3B0aW9uIGlzIHN1cHBvcnRlZCBmb3IgU0NIRURfRklGTyBhbmQgU0NIRURfUlIgcG9saWNpZXMgb25seSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MjYKK21zZ2lkICItLXNjaGVkLXtydW50aW1lLGRlYWRsaW5lLHBlcmlvZH0gb3B0aW9ucyBhcmUgc3VwcG9ydGVkIGZvciBTQ0hFRF9ERUFETElORSBvbmx5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0MQorbXNnaWQgIlNDSEVEX0RFQURMSU5FIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcmlvcml0eSB2YWx1ZSBmb3IgdGhlIHBvbGljeTogJWQ6IHNlZSAtLW1heCBmb3IgdmFsaWQgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo3NgorIywgZnV6enkKK21zZ2lkICJpb3ByaW9fZ2V0IGZhaWxlZCIKK21zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwcmlvICVsdVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjk4CisjLCBmdXp6eQorbXNnaWQgImlvcHJpb19zZXQgZmFpbGVkIgorbXNnc3RyICLcaHRlZ2kgcGFydGl0c2lvb25pIHBvbGUgZGVmaW5lZXJpdHVkXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXAgPHBpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC11IDx1aWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTEwCittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIEkvTy1zY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTMKK21zZ2lkICIiCisiIC1jLCAtLWNsYXNzIDxjbGFzcz4gICAgbmFtZSBvciBudW1iZXIgb2Ygc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IG5vbmUsIDE6IHJlYWx0aW1lLCAyOiBiZXN0LWVmZm9ydCwgMzogaWRsZVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE1Cittc2dpZCAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPG51bT4gIHByaW9yaXR5ICgwLi43KSBpbiB0aGUgc3BlY2lmaWVkIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IGZvciB0aGUgcmVhbHRpbWUgYW5kIGJlc3QtZWZmb3J0IGNsYXNzZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNworbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4uLi4gICAgIGFjdCBvbiB0aGVzZSBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTgKK21zZ2lkICIgLVAsIC0tcGdpZCA8cGdycD4uLi4gICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBpbiB0aGVzZSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0taWdub3JlICAgICAgICAgICBpZ25vcmUgZmFpbHVyZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTIwCittc2dpZCAiIC11LCAtLXVpZCA8dWlkPi4uLiAgICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgb3duZWQgYnkgdGhlc2UgdXNlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE1NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGNsYXNzIGRhdGEgYXJndW1lbnQiCittc2dzdHIgInZpZ2FuZSBpZGVudGlmaWthYXRvciIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjbGFzcyBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGtpaXJ1czogJXMiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNjaGVkdWxpbmcgY2xhc3M6ICclcyciCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNzYgc2NoZWR1dGlscy9pb25pY2UuYzoxODQgc2NoZWR1dGlscy9pb25pY2UuYzoxOTIKK21zZ2lkICJjYW4gaGFuZGxlIG9ubHkgb25lIG9mIHBpZCwgcGdpZCBvciB1aWQgYXQgb25jZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFBHSUQgYXJndW1lbnQiCittc2dzdHIgInZpZ2FuZSBraWlydXM6ICVzIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFVJRCBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGtpaXJ1czogJXMiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjEyCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3Igbm9uZSBjbGFzcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyMAorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIGlkbGUgY2xhc3MiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpbyBjbGFzcyAlZCIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlVzYWdlOiAlcyBbb3B0aW9uc10gW21hc2sgfCBjcHUtbGlzdF0gW3BpZHxjbWQgW2FyZ3MuLi5dXVxuIgorIlxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1NQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBDUFUgYWZmaW5pdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJPcHRpb25zOlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICBkaXNwbGF5IGFuZCBzcGVjaWZ5IGNwdXMgaW4gbGlzdCBmb3JtYXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHBcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gcnVuIGEgbmV3IGNvbW1hbmQ6XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisiWW91IGNhbiByZXRyaWV2ZSB0aGUgbWFzayBvZiBhbiBleGlzdGluZyB0YXNrOlxuIgorIiAgICAlMSRzIC1wIDcwMFxuIgorIk9yIHNldCBpdDpcbiIKKyIgICAgJTEkcyAtcCAwMyA3MDBcbiIKKyJMaXN0IGZvcm1hdCB1c2VzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QgaW5zdGVhZCBvZiBhIG1hc2s6XG4iCisiICAgICUxJHMgLXBjIDAsMyw3LTExIDcwMFxuIgorIlJhbmdlcyBpbiBsaXN0IGZvcm1hdCBjYW4gdGFrZSBhIHN0cmlkZSBhcmd1bWVudDpcbiIKKyIgICAgZS5nLiAwLTMxOjIgaXMgZXF1aXZhbGVudCB0byBtYXNrIDB4NTU1NTU1NTVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk5CisjLCBmdXp6eQorbXNnaWQgImludGVybmFsIGVycm9yOiBjb252ZXJzaW9uIGZyb20gY3B1c2V0IHRvIHN0cmluZyBmYWlsZWQiCittc2dzdHIgIlZpZ2EgJXMgc3VsZ2VtaXNlbFxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMDkgc2NoZWR1dGlscy90YXNrc2V0LmM6MTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE4NiBzeXMtdXRpbHMvY2hjcHUuYzoyODkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBOUl9DUFVTOyBhYm9ydGluZyIKK21zZ3N0ciAiZWkgc3V1ZGEga2luZGxha3MgdGVoYSBzZWFkbWUgJXMgbWFodHUiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE5NSBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMDggc3lzLXV0aWxzL2NoY3B1LmM6Mjk1CisjLCBmdXp6eQorbXNnaWQgImNwdXNldF9hbGxvYyBmYWlsZWQiCittc2dzdHIgIk3kbHUgc2FpIG90c2EiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxNSBzeXMtdXRpbHMvY2hjcHUuYzoyMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdDogJXMiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrOiAlcyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogWmVyby1maWxsZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBEaXNjYXJkZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg3Cittc2dpZCAiRGlzY2FyZCB0aGUgY29udGVudCBvZiBzZWN0b3JzIG9uIGEgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTAKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorbXNnc3RyICJTaXNlc3RhZ2Ugc2lsaW5kcml0ZSBhcnY6ICIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiU2lzZXN0YWdlIHNpbGluZHJpdGUgYXJ2OiAiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXN0ZXAgPG51bT4gICAgc2l6ZSBvZiB0aGUgZGlzY2FyZCBpdGVyYXRpb25zIHdpdGhpbiB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkzCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zZWN1cmUgICAgICAgIHBlcmZvcm0gc2VjdXJlIGRpc2NhcmRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTQKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXplcm9vdXQgICAgICAgemVyby1maWxsIHJhdGhlciB0aGFuIGRpc2NhcmRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgYWxpZ25lZCBsZW5ndGggYW5kIG9mZnNldFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTAgc3lzLXV0aWxzL2ZzdHJpbS5jOjMxMiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY3MworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTI0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBvZmZzZXQiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTU0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGVwIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3MiBzeXMtdXRpbHMvenJhbWN0bC5jOjY4MiBzeXMtdXRpbHMvenJhbWN0bC5jOjcwOAorIywgZnV6enkKK21zZ2lkICJubyBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICItLWRhdGUgcGFyYW1lZXRlciBvbiBwdXVkdVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3NyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzUxCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjIgc3lzLXV0aWxzL2ZzdHJpbS5jOjMzNAorbXNnaWQgInVuZXhwZWN0ZWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0dFVFNJWkU2NCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIkJMS0dFVFNJWkUgaW9jdGwgZWkg9W5uZXN0dW51ZCBzZWFkbWVsICVzXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU1NaR0VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0ICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCBpcyBncmVhdGVyIHRoYW4gZGV2aWNlIHNpemUiCittc2dzdHIgIkVpIHN1dWRhIGtpbmRsYWtzIHRlaGEga2V0dGEgbWFodHUiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsZW5ndGggJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLWkVST09VVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTRUNESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjg3IHN5cy11dGlscy9jaGNwdS5jOjE3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIlczogXCIlc1wiIGVpIGVrc2lzdGVlcmlcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgaG90IHBsdWdnYWJsZSIKK21zZ3N0ciAiJXM6IFwiJXNcIiBlaSBvbGUgdORpZGV0YXZcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGVuYWJsZWRcbiIKK21zZ3N0ciAiU2VrdG9yJWQgb24ganViYSBrYXN1dHVzZWxcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBkaXNhYmxlZFxuIgorbXNnc3RyICJTZWt0b3IlZCBvbiBqdWJhIGthc3V0dXNlbFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIChDUFUgaXMgZGVjb25maWd1cmVkKSIKK21zZ3N0ciAiU2VrdG9yJWQgb24ganViYSBrYXN1dHVzZWxcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCIKK21zZ3N0ciAiQXV0b21hYXRuZSBrb25maWd1cmVlcmltaW5lIGVpIPVubmVzdHVudWRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlZFxuIgorbXNnc3RyICJBdXRvbWFhdG5lIGtvbmZpZ3VyZWVyaW1pbmUgZWkg9W5uZXN0dW51ZFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCAobGFzdCBlbmFibGVkIENQVSkiCittc2dzdHIgIlNla3RvciVkIG9uIGp1YmEga2FzdXR1c2VsXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICJTZWt0b3IlZCBvbiBqdWJhIGthc3V0dXNlbFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlZFxuIgorbXNnc3RyICJTZWt0b3IlZCBvbiBqdWJhIGthc3V0dXNlbFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHJlc2Nhbm5pbmcgb2YgQ1BVcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDMKK21zZ2lkICJGYWlsZWQgdG8gdHJpZ2dlciByZXNjYW4gb2YgQ1BVcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJpZ2dlcmVkIHJlc2NhbiBvZiBDUFVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTUxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBzZXR0aW5nIHRoZSBkaXNwYXRjaGluZyBtb2RlIG9mIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU1CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1OQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHZlcnRpY2FsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCB2ZXJ0aWNhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBjb25maWd1cmFibGUiCittc2dzdHIgIiVzOiBcIiVzXCIgZWkgb2xlIHTkaWRldGF2XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgY29uZmlndXJlZFxuIgorbXNnc3RyICJTZWt0b3IlZCBvbiBqdWJhIGthc3V0dXNlbFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJTZWt0b3IlZCBvbiBqdWJhIGthc3V0dXNlbFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiQXV0b21hYXRuZSBrb25maWd1cmVlcmltaW5lIGVpIPVubmVzdHVudWRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiQXV0b21hYXRuZSBrb25maWd1cmVlcmltaW5lIGVpIPVubmVzdHVudWRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlZFxuIgorbXNnc3RyICJBdXRvbWFhdG5lIGtvbmZpZ3VyZWVyaW1pbmUgZWkg9W5uZXN0dW51ZFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIkF1dG9tYWF0bmUga29uZmlndXJlZXJpbWluZSBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJBdXRvbWFhdG5lIGtvbmZpZ3VyZWVyaW1pbmUgZWkg9W5uZXN0dW51ZFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgQ1BVIG51bWJlciBpbiBDUFUgbGlzdDogJXMiCittc2dzdHIgInZpZ2FuZSBhcnY6ICVzXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzOCB0ZXh0LXV0aWxzL2NvbC5jOjEzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQyCittc2dpZCAiQ29uZmlndXJlIENQVXMgaW4gYSBtdWx0aS1wcm9jZXNzb3Igc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0NAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhpcyBoZWxwXG4iCisiICAtZSwgLS1lbmFibGUgPGNwdS1saXN0PiAgICAgICBlbmFibGUgY3B1c1xuIgorIiAgLWQsIC0tZGlzYWJsZSA8Y3B1LWxpc3Q+ICAgICAgZGlzYWJsZSBjcHVzXG4iCisiICAtYywgLS1jb25maWd1cmUgPGNwdS1saXN0PiAgICBjb25maWd1cmUgY3B1c1xuIgorIiAgLWcsIC0tZGVjb25maWd1cmUgPGNwdS1saXN0PiAgZGVjb25maWd1cmUgY3B1c1xuIgorIiAgLXAsIC0tZGlzcGF0Y2ggPG1vZGU+ICAgICAgICAgc2V0IGRpc3BhdGNoaW5nIG1vZGVcbiIKKyIgIC1yLCAtLXJlc2NhbiAgICAgICAgICAgICAgICAgIHRyaWdnZXIgcmVzY2FuIG9mIGNwdXNcbiIKKyIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MzI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBhcmd1bWVudDogJXMiCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzoyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIGhhcmR8c29mdFxuIgorbXNnc3RyICJrYXN1dGFtaW5lOlxuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldCB0aGUgZnVuY3Rpb24gb2YgdGhlIEN0cmwtQWx0LURlbCBjb21iaW5hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUxCittc2dpZCAiaW1wbGljaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB2YWx1ZSBpbiAlczogJWp1IgorbXNnc3RyICIlczogVHVuZG1hdHUgYXJndW1lbnQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NjMKK21zZ2lkICJZb3UgbXVzdCBiZSByb290IHRvIHNldCB0aGUgQ3RybC1BbHQtRGVsIGJlaGF2aW9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NzEgc3lzLXV0aWxzL2lwY3JtLmM6MzkyIHN5cy11dGlscy9pcGNybS5jOjQxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhcmd1bWVudDogJXMiCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEwCisjLCBmdXp6eQorbXNnaWQgInN5c3RlbSBpcyB1bnVzYWJsZSIKK21zZ3N0ciAiU2VlIHBhcnRpdHNpb29uIHBvbGUga2FzdXRhdGF2IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTEKK21zZ2lkICJhY3Rpb24gbXVzdCBiZSB0YWtlbiBpbW1lZGlhdGVseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTIKK21zZ2lkICJjcml0aWNhbCBjb25kaXRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMworIywgZnV6enkKK21zZ2lkICJlcnJvciBjb25kaXRpb25zIgorbXNnc3RyICJ2aWdhICVzIHN1bGdlbWlzZWwiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNAorIywgZnV6enkKK21zZ2lkICJ3YXJuaW5nIGNvbmRpdGlvbnMiCittc2dzdHIgIkhvaWF0dXM6IHBhcnRpdHNpb29uICVzICIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE1Cittc2dpZCAibm9ybWFsIGJ1dCBzaWduaWZpY2FudCBjb25kaXRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE2Cittc2dpZCAiaW5mb3JtYXRpb25hbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTcKK21zZ2lkICJkZWJ1Zy1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzEKK21zZ2lkICJrZXJuZWwgbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMyCittc2dpZCAicmFuZG9tIHVzZXItbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMzCisjLCBmdXp6eQorbXNnaWQgIm1haWwgc3lzdGVtIgorbXNnc3RyICJTaXNlc3RhZ2UgZmFpbGlz/HN0ZWVtaSB0/PxiaSBudW1iZXI6ICIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM0Cittc2dpZCAic3lzdGVtIGRhZW1vbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1Cittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzYKK21zZ2lkICJtZXNzYWdlcyBnZW5lcmF0ZWQgaW50ZXJuYWxseSBieSBzeXNsb2dkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNworbXNnaWQgImxpbmUgcHJpbnRlciBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM4Cittc2dpZCAibmV0d29yayBuZXdzIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzkKK21zZ2lkICJVVUNQIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDAKKyMsIGZ1enp5Cittc2dpZCAiY2xvY2sgZGFlbW9uIgorbXNnc3RyICJlaSBzdXVkYSBraW5kbGFrcyB0ZWhhIHNlYWRtZSAlcyBtYWh0dSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQxCittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyAocHJpdmF0ZSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQyCisjLCBmdXp6eQorbXNnaWQgIkZUUCBkYWVtb24iCittc2dzdHIgImVpIHN1dWRhIGtpbmRsYWtzIHRlaGEgc2VhZG1lICVzIG1haHR1IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNjcKK21zZ2lkICJEaXNwbGF5IG9yIGNvbnRyb2wgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlci5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzAKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICBjbGVhciB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzEKK21zZ2lkICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIHJlYWQgYW5kIGNsZWFyIGFsbCBtZXNzYWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MgorbXNnaWQgIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAgZGlzYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjczCittc2dpZCAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBlbmFibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NAorbXNnaWQgIiAtRiwgLS1maWxlIDxmaWxlPiAgICAgICAgICAgdXNlIHRoZSBmaWxlIGluc3RlYWQgb2YgdGhlIGtlcm5lbCBsb2cgYnVmZmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc1Cittc2dpZCAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0PiAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBmYWNpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc2CisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAgaHVtYW4gcmVhZGFibGUgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzcKKyMsIGZ1enp5Cittc2dpZCAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICBkaXNwbGF5IGtlcm5lbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc4CisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MQorbXNnaWQgIiAtbCwgLS1sZXZlbCA8bGlzdD4gICAgICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgbGV2ZWxzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgyCittc2dpZCAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPGxldmVsPiBzZXQgbGV2ZWwgb2YgbWVzc2FnZXMgcHJpbnRlZCB0byBjb25zb2xlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgzCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1ub3BhZ2VyICAgICAgICAgICAgICAgZG8gbm90IHBpcGUgb3V0cHV0IGludG8gYSBwYWdlclxuIgorbXNnc3RyICIgIHAgICAgICAgICAgVuRsamFzdGFkYSBwYXJ0aXRzaW9vbml0YWJlbCBla3JhYW5pbGUgdvVpIGZhaWxpIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODQKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODUKK21zZ2lkICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIGZvcmNlIHRvIHVzZSBzeXNsb2coMikgcmF0aGVyIHRoYW4gL2Rldi9rbXNnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg2Cittc2dpZCAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgZGlzcGxheSB1c2Vyc3BhY2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OAorIywgZnV6enkKK21zZ2lkICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg5Cittc2dpZCAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBkZWNvZGUgZmFjaWxpdHkgYW5kIGxldmVsIHRvIHJlYWRhYmxlIHN0cmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MAorbXNnaWQgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgc2hvdyB0aW1lIGRlbHRhIGJldHdlZW4gcHJpbnRlZCBtZXNzYWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MQorbXNnaWQgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgc2hvdyBsb2NhbCB0aW1lIGFuZCB0aW1lIGRlbHRhIGluIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MgorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHNob3cgaHVtYW4tcmVhZGFibGUgdGltZXN0YW1wIChtYXkgYmUgaW5hY2N1cmF0ZSEpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBkb24ndCBzaG93IGFueSB0aW1lc3RhbXAgd2l0aCBtZXNzYWdlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk0Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXAgdXNpbmcgdGhlIGdpdmVuIGZvcm1hdDpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyJTdXNwZW5kaW5nL3Jlc3VtZSB3aWxsIG1ha2UgY3RpbWUgYW5kIGlzbyB0aW1lc3RhbXBzIGluYWNjdXJhdGUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzAwCittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgZmFjaWxpdGllczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDYKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBsZXZlbHMgKHByaW9yaXRpZXMpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxldmVsICclcyciCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBsZXZlbCAnJXMnIgorbXNnc3RyICIlczogVHVuZG1hdHUgYXJndW1lbnQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGZhY2lsaXR5ICclcyciCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjQwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSAnJXMnIgorbXNnc3RyICJLYXRhbG9vZ2kgJXMgcG9sZSFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW1hcDogJXMiCittc2dzdHIgImVpIHN1dWRhIGF2YWRhIHNlYWRldCAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1NgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGJ1ZmZlciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJ2aWdhbmUgaWRlbnRpZmlrYWF0b3IiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MDkKK21zZ2lkICItLXNob3ctZGVsdGEgaXMgaWdub3JlZCB3aGVuIHVzZWQgdG9nZXRoZXIgd2l0aCBpc284NjAxIHRpbWUgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MzIKK21zZ2lkICItLXJhdyBjYW4gYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tbGV2ZWwgb3IgLS1mYWNpbGl0eSBvbmx5IHdoZW4gcmVhZGluZyBtZXNzYWdlcyBmcm9tIC9kZXYva21zZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDQyCisjLCBmdXp6eQorbXNnaWQgInJlYWQga2VybmVsIGJ1ZmZlciBmYWlsZWQiCittc2dzdHIgInNldHRpbWVvZmRheSgpIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0NjEKKyMsIGZ1enp5Cittc2dpZCAia2xvZ2N0bCBmYWlsZWQiCittc2dzdHIgImZzeW5jIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT58PG1vdW50cG9pbnQ+XVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiRWplY3QgcmVtb3ZhYmxlIG1lZGlhLlxuIgorbXNnc3RyICIgZWVtYWxkYXRhdiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTQwCittc2dpZCAiIgorIiAtYSwgLS1hdXRvIDxvbnxvZmY+ICAgICAgICAgdHVybiBhdXRvLWVqZWN0IGZlYXR1cmUgb24gb3Igb2ZmXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxzbG90PiAgICBzd2l0Y2ggZGlzY3Mgb24gYSBDRC1ST00gY2hhbmdlclxuIgorIiAtZCwgLS1kZWZhdWx0ICAgICAgICAgICAgICAgZGlzcGxheSBkZWZhdWx0IGRldmljZVxuIgorIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAgZWplY3QgZmxvcHB5XG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBkb24ndCBjYXJlIGFib3V0IGRldmljZSB0eXBlXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICB0b2dnbGUgbWFudWFsIGVqZWN0IHByb3RlY3Rpb24gb24vb2ZmXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBkbyBub3QgdW5tb3VudCBkZXZpY2UgZXZlbiBpZiBpdCBpcyBtb3VudGVkXG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBkbyBub3QgdW5tb3VudCBhbm90aGVyIHBhcnRpdGlvbnNcbiIKKyIgLW4sIC0tbm9vcCAgICAgICAgICAgICAgICAgIGRvbid0IGVqZWN0LCBqdXN0IHNob3cgZGV2aWNlIGZvdW5kXG4iCisiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICB1c2UgL3Byb2MvbW91bnRzIGluc3RlYWQgb2YgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICBlamVjdCB0YXBlXG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICBlamVjdCBDRC1ST01cbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIGVqZWN0IFNDU0kgZGV2aWNlXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICBjbG9zZSB0cmF5XG4iCisiIC1ULCAtLXRyYXl0b2dnbGUgICAgICAgICAgICB0b2dnbGUgdHJheVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgZW5hYmxlIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC14LCAtLWNkc3BlZWQgPHNwZWVkPiAgICAgICBzZXQgQ0QtUk9NIG1heCBzcGVlZFxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAgbGlzdCBDRC1ST00gYXZhaWxhYmxlIHNwZWVkc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjE2NAorbXNnaWQgIiIKKyJcbiIKKyJCeSBkZWZhdWx0IHRyaWVzIC1yLCAtcywgLWYsIGFuZCAtcSBpbiBvcmRlciB1bnRpbCBzdWNjZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxMAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jaGFuZ2Vyc2xvdC8tYyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjE0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jZHNwZWVkLy14IG9wdGlvbiIKK21zZ3N0ciAidmlnYW5lIGtpaXJ1czogJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjMyNgorbXNnaWQgIkNELVJPTSBhdXRvLWVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MAorIywgZnV6enkKK21zZ2lkICJDRC1ST00gZG9vciBsb2NrIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIkFpbnVsdCAxayBwbG9raWQgamEgdHNvb25pZCBvbiB0b2V0YXR1ZCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQyCittc2dpZCAib3RoZXIgdXNlcnMgaGF2ZSB0aGUgZHJpdmUgb3BlbiBhbmQgbm90IENBUF9TWVNfQURNSU4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQ0Cittc2dpZCAiQ0QtUk9NIGxvY2sgZG9vciBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDkKK21zZ2lkICJDRC1Ecml2ZSBtYXkgTk9UIGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM1MQorbXNnaWQgIkNELURyaXZlIG1heSBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjIKK21zZ2lkICJDRC1ST00gc2VsZWN0IGRpc2MgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY2Cittc2dpZCAiQ0QtUk9NIGxvYWQgZnJvbSBzbG90IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2OAorbXNnaWQgIklERS9BVEFQSSBDRC1ST00gY2hhbmdlciBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg2Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg4Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDA1Cittc2dpZCAiQ0QtUk9NIGVqZWN0IHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzMyBzeXMtdXRpbHMvZWplY3QuYzo0NTYgc3lzLXV0aWxzL2VqZWN0LmM6MTAxMQorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzYKK21zZ2lkICJubyBDRC1ST00gaW5mb3JtYXRpb24gYXZhaWxhYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzOQorbXNnaWQgIkNELVJPTSBkcml2ZSBpcyBub3QgcmVhZHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgyCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODQgc3lzLXV0aWxzL2VqZWN0LmM6NTcwCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmRpbmcgQ0QtUk9NIG5hbWUiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjIFhYWCBzdGF0J2lkYQorIzogc3lzLXV0aWxzL2VqZWN0LmM6NTQ0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICJlaSBzdXVkYSBzdGF0J2lkYSBzZWFkZXQgJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU4OAorIywgZnV6enkKK21zZ2lkICJub3QgYW4gc2cgZGV2aWNlLCBvciBvbGQgc2cgZHJpdmVyIgorbXNnc3RyICIlcyBwb2xlIGZsb3Bpc2VhZGVcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5tb3VudGluZyIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBleGVjIC9iaW4vdW1vdW50IG9mIGAlcyciCittc2dzdHIgImlvY3RsKCkgYWJpbCBrZWxsYSBsdWdlbWluZSAlcyBrYXVkdSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzgKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGZvcmsiCittc2dzdHIgImVpIHN1dWRhIGF2YWRhIHNlYWRldCAlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICIlczogXCIlc1wiIGVpIGVrc2lzdGVlcmlcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZmFpbGVkXG4iCittc2dzdHIgIiVzOiAlcyD8bWJlciBuaW1ldGFtaW5lICVzIC1rcyBlaSD1bm5lc3RudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjczMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgdGFibGUiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjc5MSBzeXMtdXRpbHMvZWplY3QuYzo4OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudGVkIG9uICVzIgorbXNnc3RyICIlczogc2lzZW5kaSD8bGV05Gl0dW1pbmUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzMworbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvIGF1dG8iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODM1CisjLCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvICVsZFgiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODYxCisjLCBjLWZvcm1hdAorbXNnaWQgImRlZmF1bHQgZGV2aWNlOiBgJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgZGVmYXVsdCBkZXZpY2UgYCVzJyIKK21zZ3N0ciAiS2FzdXRhbiB2YWlraW1pc2kgduTkcnR1c3QgJWRcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg2IHN5cy11dGlscy9ydGN3YWtlLmM6Mzc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGZpbmQgZGV2aWNlIgorbXNnc3RyICJlaSBzdXVkYSB0YWdhc2kga2VyaWRhIHNhYWxpbWlzc2VhZGV0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBuYW1lIGlzIGAlcyciCittc2dzdHIgIlNlYWRlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4OTQgc3lzLXV0aWxzL3Vtb3VudC5jOjIwNiBzeXMtdXRpbHMvdW1vdW50LmM6MjM1CisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NDA5IHN5cy11dGlscy91bW91bnQuYzo0MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgbW91bnRlZCIKK21zZ3N0ciAiJXM6IHNpc2VuZGkg/GxldORpdHVtaW5lIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2MgZGV2aWNlOiAlcyAoZGlzayBkZXZpY2Ugd2lsbCBiZSB1c2VkIGZvciBlamVjdCkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQgbW91bnRwb2ludCBvciBkZXZpY2Ugd2l0aCB0aGUgZ2l2ZW4gbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyB3aG9sZS1kaXNrIGRldmljZSIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGhvdC1wbHVnZ2FibGUgZGV2aWNlIgorbXNnc3RyICIlcyBwb2xlIGZsb3Bpc2VhZGVcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgaXMgYCVzJyIKK21zZ3N0ciAiU2VhZGU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxOAorbXNnaWQgImV4aXRpbmcgZHVlIHRvIC1uLy0tbm9vcCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlbmFibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNhYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2luZyB0cmF5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9nZ2xpbmcgdHJheSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxpc3RpbmcgQ0QtUk9NIHNwZWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk4NgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IGRldmljZSBpbiB1c2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWxlY3RpbmcgQ0QtUk9NIGRpc2MgIyVsZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgQ0QtUk9NIGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMAorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgU0NTSSBjb21tYW5kcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE3Cittc2dpZCAiU0NTSSBlamVjdCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxOAorIywgZnV6enkKK21zZ2lkICJTQ1NJIGVqZWN0IGZhaWxlZCIKK21zZ3N0ciAiZXhlYyBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBmbG9wcHkgZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI0Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjUKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIHRhcGUgb2ZmbGluZSBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzEKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMgorIywgZnV6enkKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgImthdGFsb29naSBhdmFtaW5lIGVpIPVubmVzdHVudWRcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzNgorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZWplY3QiCittc2dzdHIgImlvY3RsKCkgYWJpbCBrZWxsYSBsdWdlbWluZSAlcyBrYXVkdSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGVuYW1lPlxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODEKK21zZ2lkICJQcmVhbGxvY2F0ZSBzcGFjZSB0bywgb3IgZGVhbGxvY2F0ZSBzcGFjZSBmcm9tIGEgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODQKK21zZ2lkICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgcmVtb3ZlIGEgcmFuZ2UgZnJvbSB0aGUgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NQorbXNnaWQgIiAtZCwgLS1kaWctaG9sZXMgICAgICBkZXRlY3QgemVyb2VzIGFuZCByZXBsYWNlIHdpdGggaG9sZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODYKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgIGxlbmd0aCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiU2lzZXN0YWdlIHNpbGluZHJpdGUgYXJ2OiAiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NworIywgZnV6enkKK21zZ2lkICIgLW4sIC0ta2VlcC1zaXplICAgICAgbWFpbnRhaW4gdGhlIGFwcGFyZW50IHNpemUgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFbkbGphc3RhZGEgcGFydGl0c2lvb25pdGFiZWwgZWtyYWFuaWxlIHb1aSBmYWlsaSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg4Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgIG9mZnNldCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODkKK21zZ2lkICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVwbGFjZSBhIHJhbmdlIHdpdGggYSBob2xlIChpbXBsaWVzIC1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MAorbXNnaWQgIiAteiwgLS16ZXJvLXJhbmdlICAgICB6ZXJvIGFuZCBlbnN1cmUgYWxsb2NhdGlvbiBvZiBhIHJhbmdlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEyNgorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQ6IGtlZXAgc2l6ZSBtb2RlIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMjcKKyMsIGZ1enp5Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBmYWlsZWQiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjI2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCVqdSBieXRlcykgY29udmVydGVkIHRvIHNwYXJzZSBob2xlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzQ2IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExOAorIywgZnV6enkKK21zZ2lkICJubyBmaWxlbmFtZSBzcGVjaWZpZWQiCittc2dzdHIgIi0tZGF0ZSBwYXJhbWVldGVyIG9uIHB1dWR1XG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTggc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2NAorbXNnaWQgImludmFsaWQgbGVuZ3RoIHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzYyCisjLCBmdXp6eQorbXNnaWQgIm5vIGxlbmd0aCBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgIkxpaWdhIHBhbGp1IGFyZ3VtZW50ZVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzY3Cittc2dpZCAiaW52YWxpZCBvZmZzZXQgdmFsdWUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IDxjb21tYW5kPiBbPGFyZ3VtZW50Pi4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IC1jIDxjb21tYW5kPlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZSBkZXNjcmlwdG9yIG51bWJlcj5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo1OQorIywgZnV6enkKK21zZ2lkICJNYW5hZ2UgZmlsZSBsb2NrcyBmcm9tIHNoZWxsIHNjcmlwdHMuXG4iCittc2dzdHIgImxvZ2luOiBFaSBq5HRrdSBt5Gx1IHNoZWxsLXNrcmlwdGlsZVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hhcmVkICAgICAgICAgICAgIGdldCBhIHNoYXJlZCBsb2NrXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MworIywgZnV6enkKK21zZ2lkICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIGdldCBhbiBleGNsdXNpdmUgbG9jayAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY0CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAgcmVtb3ZlIGEgbG9ja1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjUKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICBmYWlsIHJhdGhlciB0aGFuIHdhaXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY2Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPHNlY3M+ICAgICB3YWl0IGZvciBhIGxpbWl0ZWQgYW1vdW50IG9mIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NworbXNnaWQgIiAtRSwgLS1jb25mbGljdC1leGl0LWNvZGUgPG51bWJlcj4gIGV4aXQgY29kZSBhZnRlciBjb25mbGljdCBvciB0aW1lb3V0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjgKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBjbG9zZSBmaWxlIGRlc2NyaXB0b3IgYmVmb3JlIHJ1bm5pbmcgY29tbWFuZFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjkKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gIHJ1biBhIHNpbmdsZSBjb21tYW5kIHN0cmluZyB0aHJvdWdoIHRoZSBzaGVsbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcwCisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAgZXhlY3V0ZSBjb21tYW5kIHdpdGhvdXQgZm9ya2luZ1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICBpbmNyZWFzZSB2ZXJib3NpdHlcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjEwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gbG9jayBmaWxlICVzIgorbXNnc3RyICJFaSBzdXVkYSBhdmFkYSBmYWlsaSBgJXMnIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IHZhbHVlIgorbXNnc3RyICJ2aWdhbmUgaWRlbnRpZmlrYWF0b3IiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIwOQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGV4aXQgY29kZSIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMjgKK21zZ2lkICJ0aGUgLS1uby1mb3JrIGFuZCAtLWNsb3NlIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGNvbW1hbmQgYXJndW1lbnQiCittc2dzdHIgInb1dGkgYCVzJyB2YWphYiBhcmd1bWVudGlcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjU0CisjLCBmdXp6eQorbXNnaWQgImJhZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiBlZW1hbGRhdGF2IgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTcKKyMsIGZ1enp5Cittc2dpZCAicmVxdWlyZXMgZmlsZSBkZXNjcmlwdG9yLCBmaWxlIG9yIGRpcmVjdG9yeSIKK21zZ3N0ciAianV1cmthdGFsb29naSBpLWtpcmplIGVpIGtpcmplbGRhIGthdGFsb29naSIKKworIyBYWFggc3RhdCdpZGEKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGxvY2siCittc2dzdHIgImVpIHN1dWRhIHN0YXQnaWRhIHNlYWRldCAlcyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6Mjg4Cittc2dpZCAidGltZW91dCB3aGlsZSB3YWl0aW5nIHRvIGdldCBsb2NrIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjMyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldHRpbmcgbG9jayB0b29rICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiVzICAlLjZmIHNla3VuZGl0XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjM0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICJWaWdhICVzIHTkaXRtaXNlbFxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnRwb2ludD5cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTMKK21zZ2lkICJTdXNwZW5kIGFjY2VzcyB0byBhIGZpbGVzeXN0ZW0gKGV4dDMvNCwgUmVpc2VyRlMsIEpGUywgWEZTKS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1NgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZnJlZXplICAgICAgZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBNdXV0YSBqb29rc3ZhIHBhcnRpdHNpb29uaSBmYWlsaXP8c3RlZW1pIHT8/HBpIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1NworbXNnaWQgIiAtdSwgLS11bmZyZWV6ZSAgICB1bmZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExNgorbXNnaWQgIm5laXRoZXIgLS1mcmVlemUgb3IgLS11bmZyZWV6ZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJqdXVya2F0YWxvb2dpIGkta2lyamUgZWkga2lyamVsZGEga2F0YWxvb2dpIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmcmVlemUgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjE0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImp1dXJrYXRhbG9vZ2kgaS1raXJqZSBlaSBraXJqZWxkYSBrYXRhbG9vZ2kiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEZJVFJJTSBpb2N0bCBmYWlsZWQiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBoZXJlIGlzIGEgdmVyeSBsYXJnZSBudW1iZXIuCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJTxQUkl1NjQ+IGJ5dGVzKSB0cmltbWVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE5MSBzeXMtdXRpbHMvc3dhcG9uLmM6NzI5IHN5cy11dGlscy91bW91bnQuYzozMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnQgcG9pbnQ+XG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTQKK21zZ2lkICJEaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NworIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB0cmltIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIHRoYXQgYXJlIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgIHQgICAgICAgICAgTXV1dGEgam9va3N2YSBwYXJ0aXRzaW9vbmkgZmFpbGlz/HN0ZWVtaSB0/PxwaSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1OAorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIHRoZSBvZmZzZXQgaW4gYnl0ZXMgdG8gc3RhcnQgZGlzY2FyZGluZyBmcm9tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1OQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiU2lzZXN0YWdlIHNpbGluZHJpdGUgYXJ2OiAiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjAKK21zZ2lkICIgLW0sIC0tbWluaW11bSA8bnVtPiB0aGUgbWluaW11bSBleHRlbnQgbGVuZ3RoIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IG51bWJlciBvZiBkaXNjYXJkZWQgYnl0ZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCIKK21zZ3N0ciAiaW9jdGwoKSBhYmlsIGtlbGxhIGx1Z2VtaW5lICVzIGthdWR1IGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMjkKKyMsIGZ1enp5Cittc2dpZCAibm8gbW91bnRwb2ludCBzcGVjaWZpZWQiCittc2dzdHIgIi0tZGF0ZSBwYXJhbWVldGVyIG9uIHB1dWR1XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZSBkaXNjYXJkIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkFzc3VtaW5nIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gJXMgdGltZS5cbiIKK21zZ3N0ciAiRWVsZGFuLCBldCByaWlzdGF2YWxpc2VzIGtlbGxhcyBvbiBrYXN1dHVzZWwgJXMgYWVnXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ3IHN5cy11dGlscy9od2Nsb2NrLmM6MzM0Cittc2dpZCAiVVRDIgorbXNnc3RyICJVVEMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ3IHN5cy11dGlscy9od2Nsb2NrLmM6MzMzCittc2dpZCAibG9jYWwiCittc2dzdHIgImtvaGFsaWsiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzE4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJXYXJuaW5nOiB1bnJlY29nbml6ZWQgdGhpcmQgbGluZSBpbiBhZGp0aW1lIGZpbGVcbiIKKyIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pIgorbXNnc3RyICIlczogSG9pYXR1czogYXJ1c2FhbWF0dSBrb2xtYXMgcmlkYSBhZGp0aW1lIGZhaWxpc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMyNworIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGRyaWZ0IGFkanVzdG1lbnQgZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIlZpaW1hbmUgdWp1bWlzZSB2YXN0YW5lIHBhcmFuZHVzIHRlaHRpICVsZCBzZWt1bmRpdCBw5HJhc3QgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGNhbGlicmF0aW9uIGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICJWaWltYW5lIGthbGlicmVlcmltaW5lIHRlaHRpICVsZCBzZWt1bmRpdCBw5HJhc3QgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMzMQorIywgYy1mb3JtYXQKK21zZ2lkICJIYXJkd2FyZSBjbG9jayBpcyBvbiAlcyB0aW1lXG4iCittc2dzdHIgIlJpaXN0dmFyYWxpc2VzIGtlbGxhcyBvbiBrYXN1dHVzZWwgJXMgYWVnXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzU4CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgZm9yIGNsb2NrIHRpY2suLi5cbiIKK21zZ3N0ciAiT290YW4ga2VsbGEgdGlrc3UuLi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc3luY2hyb25pemF0aW9uIGZhaWxlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmdvdCBjbG9jayB0aWNrXG4iCittc2dzdHIgIi4uLnNhaW4gdGlrc3VcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZXMgaW4gaGFyZHdhcmUgY2xvY2s6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKK21zZ3N0ciAiVmlnYXNlZCB25ORydHVzZWQgcmlpc3R2YXJhbGlzZXMga2VsbGFzOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkh3IGNsb2NrIHRpbWUgOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICJSaWlzdHZhcmFsaXNlIGtlbGxhIGFlZzogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWt1bmRpdCBw5HJhc3QgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ2NQorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHJlYWQgZnJvbSBIYXJkd2FyZSBDbG9jazogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorbXNnc3RyICJSaWlzdHZhcmFsaXNlc3Qga2VsbGFzdCBsb2V0dWQgYWVnOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgSGFyZHdhcmUgQ2xvY2sgdG8gJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIlNlYW4gcmlpc3RhdmFyYWxpc2Uga2VsbGEgbuRpZHVrcyAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWt1bmRpdCBw5HJhc3QgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICJDbG9jayBub3QgY2hhbmdlZCAtIHRlc3Rpbmcgb25seS5cbiIKK21zZ3N0ciAiRWkgbXV1dG51ZCBrZWxsYSAtIHRlc3RpbWUgYWludWx0XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjAzCisjLCBjLWZvcm1hdAorbXNnaWQgInNsZWVwaW5nIH4lZCB1c2VjXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBqdW1wZWQgYmFja3dhcmQgJS42ZiBzZWNvbmRzIHRvICVsZC4lMDZsZCAtIHJldGFyZ2V0aW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkLiUwNmxkIDwgJWxkLiUwNmxkICglLjZmKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NlZCBpdCAtICVsZC4lMDZsZCBpcyB0b28gZmFyIHBhc3QgJWxkLiUwNmxkICglLjZmID4gJS42ZilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJWxkLiUwNmxkIGlzIGNsb3NlIGVub3VnaCB0byAlbGQuJTA2bGQgKCUuNmYgPCAlLjZmKVxuIgorIlNldCBSVEMgdG8gJWxkICglbGQgKyAlZDsgcmVmc3lzdGltZSA9ICVsZC4lMDZsZClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY4OAorIywgZnV6enkKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgcmVnaXN0ZXJzIGNvbnRhaW4gdmFsdWVzIHRoYXQgYXJlIGVpdGhlciBpbnZhbGlkIChlLmcuIDUwdGggZGF5IG9mIG1vbnRoKSBvciBiZXlvbmQgdGhlIHJhbmdlIHdlIGNhbiBoYW5kbGUgKGUuZy4gWWVhciAyMDk1KS4iCittc2dzdHIgIlJpaXN0dmFyYWxpc2Uga2VsbGEgcmVnaXN0cml0ZXMgb24ga2FzIHZpZ2FzZWQgduTkcnR1c2VkIChu5Gl0ZWtzIDUwLiBrdXVw5GV2KSB29Wkgb24gbmFkIHbkbGphc3Bvb2wgbWVpZSBwb29sdCBrYXN1dGF0YXZhdCBhamF2YWhlbWlra3UgKG7kaXRla3MgYWFzdGEgMjAwNSlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MjgKKyMsIGZ1enp5Cittc2dpZCAiTm8gLS1kYXRlIG9wdGlvbiBzcGVjaWZpZWQuIgorbXNnc3RyICItLWRhdGUgcGFyYW1lZXRlciBvbiBwdXVkdVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjczNAorIywgZnV6enkKK21zZ2lkICItLWRhdGUgYXJndW1lbnQgdG9vIGxvbmciCittc2dzdHIgIi0tZGF0ZSBhcmd1bWVudCBvbiBsaWlnYSBwaWtrXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzQxCisjLCBmdXp6eQorbXNnaWQgIiIKKyJUaGUgdmFsdWUgb2YgdGhlIC0tZGF0ZSBvcHRpb24gaXMgbm90IGEgdmFsaWQgZGF0ZS5cbiIKKyJJbiBwYXJ0aWN1bGFyLCBpdCBjb250YWlucyBxdW90YXRpb24gbWFya3MuIgorbXNnc3RyICIiCisiLS1kYXRlIHN1dmFuZGlnYSBhbnR1ZCBrZWxsYWFlZyBvbiB2aWdhbmUuXG4iCisiVORwc2VtYWx0IPZlbGRlcyBzaXNhbGRhYiB0YSBqdXR1beRya2UuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIklzc3VpbmcgZGF0ZSBjb21tYW5kOiAlc1xuIgorbXNnc3RyICJBbm5hbiBgZGF0ZScga+RzdTogJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NTMKK21zZ2lkICJVbmFibGUgdG8gcnVuICdkYXRlJyBwcm9ncmFtIGluIC9iaW4vc2ggc2hlbGwuIHBvcGVuKCkgZmFpbGVkIgorbXNnc3RyICJFaSBzdXVkYSBr5Gl2YXRhZGEgJ2RhdGUnIHByb2dyYW1taSAvYmluL3NoIHNoZWxsaWdhIC0gcG9wZW4oKSBzYWkgdmVhIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc2MQorIywgYy1mb3JtYXQKK21zZ2lkICJyZXNwb25zZSBmcm9tIGRhdGUgY29tbWFuZCA9ICVzXG4iCittc2dzdHIgImRhdGUta+RzdSB0dWxlbXVzID0gJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCB1bmV4cGVjdGVkIHJlc3VsdHMuXG4iCisiVGhlIGNvbW1hbmQgd2FzOlxuIgorIiAgJXNcbiIKKyJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorIiAgJXMiCittc2dzdHIgIiIKKyIlcyBwb29sdCBr5Gl2aXRhdHVkIGRhdGUta+RzayBhbmRpcyBvb3RhbWF0dSB0dWxlbXVzZS5cbiIKKyJL5HNrIG9saTpcbiIKKyIgICVzXG4iCisiVmFzdHVzIG9saTpcbiIKKyIgICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhbiBpbnRlZ2VyIHdoZXJlIHRoZSBjb252ZXJ0ZWQgdGltZSB2YWx1ZSB3YXMgZXhwZWN0ZWQuXG4iCisiVGhlIGNvbW1hbmQgd2FzOlxuIgorIiAgJXNcbiIKKyJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorIiAlc1xuIgorbXNnc3RyICIiCisiJXMgcG9vbHQga+Rpdml0YXR1ZCBkYXRlLWvkc2sgdGFnYXN0YXMgduRsamFzdGF1ZCBhamEgc2VlcyBtaWRhZ2ksIG1pcyBlaSBvbGUgdORpc2Fydi5cbiIKKyJL5HNrIG9saTpcbiIKKyIgICVzXG4iCisiVmFzdHVzIG9saTpcbiIKKyIgICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzg2CisjLCBjLWZvcm1hdAorbXNnaWQgImRhdGUgc3RyaW5nICVzIGVxdWF0ZXMgdG8gJWxkIHNlY29uZHMgc2luY2UgMTk2OS5cbiIKK21zZ3N0ciAia3V1cORldmFzdHJpbmcgJXMgdvVyZHViICVsZCBzZWt1bmRpZ2EgcORyYXN0IDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4MjQKKyMsIGZ1enp5Cittc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3Qgc2V0IHRoZSBTeXN0ZW0gVGltZSBmcm9tIGl0LiIKK21zZ3N0ciAiUmlpc3RhdmFsaW5lIGtlbGwgZWkgc2lzYWxkYSBrb3JyZWt0c2V0IGFlZ2EsIHNlZWdhIG1lIGVpIHNhYSBzZWFkYSBz/HN0ZWVtaWtlbGxhIHNlbGxlIGrkcmdpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQzIHN5cy11dGlscy9od2Nsb2NrLmM6OTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5OlxuIgorbXNnc3RyICJrdXRzdW4gduRsamEgc2V0dGltZW9mZGF5OlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg0NCBzeXMtdXRpbHMvaHdjbG9jay5jOjkzMgorIywgYy1mb3JtYXQKK21zZ2lkICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorbXNnc3RyICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg0NiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzNAorIywgYy1mb3JtYXQKK21zZ2lkICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKK21zZ3N0ciAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODUwIHN5cy11dGlscy9od2Nsb2NrLmM6OTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIHN5c3RlbSBjbG9jayBiZWNhdXNlIHJ1bm5pbmcgaW4gdGVzdCBtb2RlLlxuIgorbXNnc3RyICJFaSBzZWEgc/xzdGVlbWlrZWxsYSwgc2VzdCB0ZWd1IG9uIHRlc3RpbWlzZWdhXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODY2IHN5cy11dGlscy9od2Nsb2NrLmM6OTYyCisjLCBmdXp6eQorbXNnaWQgIk11c3QgYmUgc3VwZXJ1c2VyIHRvIHNldCBzeXN0ZW0gY2xvY2suIgorbXNnc3RyICJLZWxsYSBzZWFkbWlzZWtzIHBlYWIgb2xlbWEgcm9vdFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg2OSBzeXMtdXRpbHMvaHdjbG9jay5jOjk2NQorbXNnaWQgInNldHRpbWVvZmRheSgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dGltZW9mZGF5KCkgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3VycmVudCBzeXN0ZW0gdGltZTogJWxkID0gJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzMQorIywgYy1mb3JtYXQKK21zZ2lkICJcdFVUQzogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgLS11cGRhdGUtZHJpZnQgb3B0aW9uIHdhcyBub3QgdXNlZC5cbiIKK21zZ3N0ciAiRWkgcGFyYW5kYSBrb3JyaWdlZXJpbWlzdGVndXJpdCwga3VuYSByaWlzdHZhcmFsaW5lIGtlbGwgc2lzYWxkYXMgc29kaVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgSGFyZHdhcmUgQ2xvY2sgcHJldmlvdXNseSBjb250YWluZWQgZ2FyYmFnZS5cbiIKK21zZ3N0ciAiRWkgcGFyYW5kYSBrb3JyaWdlZXJpbWlzdGVndXJpdCwga3VuYSByaWlzdHZhcmFsaW5lIGtlbGwgc2lzYWxkYXMgc29kaVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGxhc3QgY2FsaWJyYXRpb24gdGltZSBpcyB6ZXJvLFxuIgorInNvIGhpc3RvcnkgaXMgYmFkIGFuZCBjYWxpYnJhdGlvbiBzdGFydG92ZXIgaXMgbmVjZXNzYXJ5LlxuIgorbXNnc3RyICJFaSBwYXJhbmRhIGtvcnJpZ2VlcmltaXN0ZWd1cml0LCBrdW5hIHZpaW1hbmUga2FsaWJyZWVyaW1pbmUgdG9pbXVzIHbkaGVtIGt1aSD29nDkZXYgdGFnYXNpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBpdCBoYXMgYmVlbiBsZXNzIHRoYW4gZm91ciBob3VycyBzaW5jZSB0aGUgbGFzdCBjYWxpYnJhdGlvbi5cbiIKK21zZ3N0ciAiRWkgcGFyYW5kYSBrb3JyaWdlZXJpbWlzdGVndXJpdCwga3VuYSB2aWltYW5lIGthbGlicmVlcmltaW5lIHRvaW11cyB25GhlbSBrdWkg9vZw5GV2IHRhZ2FzaVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0IGZhY3RvciB3YXMgY2FsY3VsYXRlZCBhcyAlZiBzZWNvbmRzL2RheS5cbiIKKyJJdCBpcyBmYXIgdG9vIG11Y2guIFJlc2V0dGluZyB0byB6ZXJvLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0ZWQgJWYgc2Vjb25kcyBpbiB0aGUgcGFzdCAlZiBzZWNvbmRzXG4iCisiaW4gc3BpdGUgb2YgYSBkcmlmdCBmYWN0b3Igb2YgJWYgc2Vjb25kcy9kYXkuXG4iCisiQWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBieSAlZiBzZWNvbmRzL2RheVxuIgorbXNnc3RyICIiCisiS2VsbCBvbiB1anVudWQgJWQgc2VrdW5kaXQgdmlpbWFzZSAlZCBzZWt1bmRpIGpvb2tzdWwgdmFhdGFtYXRhIGtvcnJpZ2VlcmltaXN0ZWd1cmlsZSAlZiBzZWt1bmRpdCBw5GV2YXMuXG4iCisiUGFyYW5lbiBrb3JyaWdlZXJpbWlzZmFrdG9yaWtzICVmIHNla3VuZGl0IHDkZXZhcy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlZCBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWQgc2Vjb25kc1xuIgorbXNnc3RyWzBdICJWaWltYXNlc3Qga2VsbGFhamEga29ycmlnZWVybWlzZXN0IG9uIG329mR1bnVkICVkIHNla3VuZGl0XG4iCittc2dzdHJbMV0gIlZpaW1hc2VzdCBrZWxsYWFqYSBrb3JyaWdlZXJtaXNlc3Qgb24gbfb2ZHVudWQgJWQgc2VrdW5kaXRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYWxjdWxhdGVkIEhhcmR3YXJlIENsb2NrIGRyaWZ0IGlzICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiVzICAlLjZmIHNla3VuZGl0XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEzMworIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgdXBkYXRpbmcgYWRqdGltZSBmaWxlIGJlY2F1c2Ugb2YgdGVzdGluZyBtb2RlLlxuIgorbXNnc3RyICJFaSB1dWVuZGEgYWRqdGltZSBmYWlsaSwgc2VzdCB0ZWd1IG9uIHRlc3RpbWlzZWdhXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEzNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV291bGQgaGF2ZSB3cml0dGVuIHRoZSBmb2xsb3dpbmcgdG8gJXM6XG4iCisiJXMiCittc2dzdHIgIiIKKyJPbGVrcyBraXJqdXRhbnVkIGZhaWxpICVzIGrkcmdtaXN0OlxuIgorIiVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgaW4gaXQgKCVzKSBmb3Igd3JpdGluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNDkgc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCB1cGRhdGUgZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgKCVzKSBpbiBpdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNjQKKyMsIGZ1enp5Cittc2dpZCAiRHJpZnQgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIG5vdCB1cGRhdGVkLiIKK21zZ3N0ciAiVWp1bWlzZSBrb21wZW5zZWVyaW1pc2UgcGFyYW1lZXRyZWlkIGVpIHV1ZW5kYXR1ZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMDAKKyMsIGZ1enp5Cittc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3QgYWRqdXN0IGl0LiIKK21zZ3N0ciAiUmlpc3R2YXJhbGluZSBrZWxsIGVpIHNpc2FsZGEga29ycmVrdHNldCBhZWdhLCBzZWVnYSBtZSBlaSBzYWEgc2lubmEgcGFyYW5kdXN0IGxpc2FkYVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgbGFzdCBhZGp1c3RtZW50IHRpbWUgaXMgemVybywgc28gaGlzdG9yeSBpcyBiYWQuXG4iCittc2dzdHIgIkVpIHBhcmFuZGEga29ycmlnZWVyaW1pc3RlZ3VyaXQsIGt1bmEgdmlpbWFuZSBrYWxpYnJlZXJpbWluZSB0b2ltdXMgduRoZW0ga3VpIPb2cORldiB0YWdhc2lcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGRyaWZ0IGZhY3RvciAlZiBpcyBmYXIgdG9vIGhpZ2guXG4iCittc2dzdHIgIkVpIHBhcmFuZGEga29ycmlnZWVyaW1pc3RlZ3VyaXQsIGt1bmEgdmlpbWFuZSBrYWxpYnJlZXJpbWluZSB0b2ltdXMgduRoZW0ga3VpIPb2cORldiB0YWdhc2lcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHVzYWJsZSBjbG9jayBpbnRlcmZhY2UgZm91bmQuXG4iCittc2dzdHIgIkVpIGxlaWRudWQga2FzdXRhdGF2YXQga2VsbGFsaWlkZXN0XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJOZWVkZWQgYWRqdXN0bWVudCBpcyBsZXNzIHRoYW4gb25lIHNlY29uZCwgc28gbm90IHNldHRpbmcgY2xvY2suXG4iCittc2dzdHIgIlZhamFsaWsgcGFyYW5kdXMgb24gYWxsYSBzZWt1bmRpLCBzZWVnYSBrZWxsYSBlaSBzZWFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzg4IHN5cy11dGlscy9od2Nsb2NrLmM6MTM5NAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gc2V0IHN5c3RlbSBjbG9jay5cbiIKK21zZ3N0ciAiU/xzdGVlbWlrZWxsYSBzZWFkbWluZSBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQwMgorIywgYy1mb3JtYXQKK21zZ2lkICJBdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LCBSVEMgaXMgcHJlZGljdGVkIHRvIHJlYWQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0MzEKKyMsIGZ1enp5Cittc2dpZCAiIgorIlRoZSBrZXJuZWwga2VlcHMgYW4gZXBvY2ggdmFsdWUgZm9yIHRoZSBIYXJkd2FyZSBDbG9jayBvbmx5IG9uIGFuIEFscGhhIG1hY2hpbmUuXG4iCisiVGhpcyBjb3B5IG9mIGh3Y2xvY2sgd2FzIGJ1aWx0IGZvciBhIG1hY2hpbmUgb3RoZXIgdGhhbiBBbHBoYVxuIgorIihhbmQgdGh1cyBpcyBwcmVzdW1hYmx5IG5vdCBydW5uaW5nIG9uIGFuIEFscGhhIG5vdykuICBObyBhY3Rpb24gdGFrZW4uIgorbXNnc3RyICIiCisiVHV1bSBob2lhYiBlcG9oaGkgduTkcnR1c3Qgcmlpc3R2YXJhbGlzZXMga2VsbGFzIGFpbnVsdCBBbHBoYSBtYXNpbmF0ZWwuXG4iCisiU2VlIGtvb3BpYSBod2Nsb2NrJ2lzdCBvbiBrb21waWxlZXJpdHVkIHT29nRhbWEgbXV1bCBtYXNpbmFsIChqYSBzZWVnYVxuIgorImlsbXNlbHQgZWkgdPb2dGEgaGV0a2VsIEFscGhhIHBlYWwpLiBFaSB29XRhIG1pZGFnaSBldHRlLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NDgKKyMsIGZ1enp5Cittc2dpZCAiVW5hYmxlIHRvIGdldCB0aGUgZXBvY2ggdmFsdWUgZnJvbSB0aGUga2VybmVsLiIKK21zZ3N0ciAiRWkgc2FhbnVkIHR1dW1hbHQgZXBvaGhpIHbk5HJ0dXN0IGvkdHRlXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgaXMgYXNzdW1pbmcgYW4gZXBvY2ggdmFsdWUgb2YgJWx1XG4iCittc2dzdHIgIlR1dW0ga2FzdXRhYiBlcG9oaGkgduTkcnR1c3QgJWx1XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ1NQorIywgZnV6enkKK21zZ2lkICJUbyBzZXQgdGhlIGVwb2NoIHZhbHVlLCB5b3UgbXVzdCB1c2UgdGhlICdlcG9jaCcgb3B0aW9uIHRvIHRlbGwgdG8gd2hhdCB2YWx1ZSB0byBzZXQgaXQuIgorbXNnc3RyICJFcG9oaGkgduTkcnR1c2Ugc2VhZG1pc2VrcyBwZWF0ZSBrYXN1dGFtYSBgZXBvY2gnIHb1dGl0IHV1ZSB25ORydHVzZSBhbmRtaXNla3NcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyB0aGUgZXBvY2ggdG8gJWx1IC0gdGVzdGluZyBvbmx5LlxuIgorbXNnc3RyICJFaSBwYW5udWQgZXBvaGhpa3MgJWQgLSB0ZXN0aW1lIGFpbnVsdFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIHNldCB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbC5cbiIKK21zZ3N0ciAiRXBvaGhpIHbk5HJ0dXNlIHNlYWRtaW5lIGVpIPVubmVzdHVudWRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTU2Cittc2dpZCAiIGh3Y2xvY2sgW2Z1bmN0aW9uXSBbb3B0aW9uLi4uXVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU1OQorbXNnaWQgIlF1ZXJ5IG9yIHNldCB0aGUgaGFyZHdhcmUgY2xvY2suXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTYxCisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJGdW5jdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXRzaW9vbmk6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2MgorbXNnaWQgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorIiAtciwgLS1zaG93ICAgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCByZXN1bHRcbiIKKyIgICAgIC0tZ2V0ICAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgZHJpZnQgY29ycmVjdGVkIHJlc3VsdFxuIgorIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2NgorbXNnaWQgIiIKKyIgLXMsIC0taGN0b3N5cyAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorIiAtdywgLS1zeXN0b2hjICAgICAgICBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIGZyb20gdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWVcbiIKKyIgICAgIC0tc3lzdHogICAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBiYXNlZCBvbiB0aGUgY3VycmVudCB0aW1lem9uZVxuIgorIiAgICAgLS1hZGp1c3QgICAgICAgICBhZGp1c3QgdGhlIFJUQyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IHNpbmNlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNsb2NrIHdhcyBsYXN0IHNldCBvciBhZGp1c3RlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU3MQorbXNnaWQgIiAtYywgLS1jb21wYXJlICAgICAgICBwZXJpb2RpY2FsbHkgY29tcGFyZSB0aGUgc3lzdGVtIGNsb2NrIHdpdGggdGhlIENNT1MgY2xvY2tcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NzMKK21zZ2lkICIiCisiICAgICAtLWdldGVwb2NoICAgICAgIHByaW50IG91dCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWVcbiIKKyIgICAgIC0tc2V0ZXBvY2ggICAgICAgc2V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZSB0byB0aGUgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgZ2l2ZW4gd2l0aCAtLWVwb2NoXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTc3Cittc2dpZCAiIgorIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IFJUQyByZWFkaW5nIGF0IHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTgxCittc2dpZCAiIgorIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyIgICAgIC0tbG9jYWx0aW1lICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4NAorbXNnaWQgIiAtZiwgLS1ydGMgPGZpbGU+ICAgICBzcGVjaWFsIC9kZXYvLi4uIGZpbGUgdG8gdXNlIGluc3RlYWQgb2YgZGVmYXVsdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLWRpcmVjdGlzYSAgICAgIGFjY2VzcyB0aGUgSVNBIGJ1cyBkaXJlY3RseSBpbnN0ZWFkIG9mICVzXG4iCisiICAgICAtLWJhZHllYXIgICAgICAgIGlnbm9yZSBSVEMncyB5ZWFyIGJlY2F1c2UgdGhlIEJJT1MgaXMgYnJva2VuXG4iCisiICAgICAtLWRhdGUgPHRpbWU+ICAgIHNwZWNpZmllcyB0aGUgdGltZSB0byB3aGljaCB0byBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisiICAgICAtLWVwb2NoIDx5ZWFyPiAgIHNwZWNpZmllcyB0aGUgeWVhciB3aGljaCBpcyB0aGUgYmVnaW5uaW5nIG9mIHRoZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIGNsb2NrJ3MgZXBvY2ggdmFsdWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS11cGRhdGUtZHJpZnQgICB1cGRhdGUgZHJpZnQgZmFjdG9yIGluICUxJHMgKHJlcXVpcmVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgLS1zZXQgb3IgLS1zeXN0b2hjKVxuIgorIiAgICAgLS1ub2FkamZpbGUgICAgICBkbyBub3QgYWNjZXNzICUxJHM7IHRoaXMgcmVxdWlyZXMgdGhlIHVzZSBvZlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZVxuIgorIiAgICAgLS1hZGpmaWxlIDxmaWxlPiBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICUxJHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1OTkKK21zZ2lkICIiCisiICAgICAtLXRlc3QgICAgICAgICAgIGRvIG5vdCB1cGRhdGUgYW55dGhpbmcsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGhhcHBlblxuIgorIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBkZWJ1Z2dpbmcgbW9kZVxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTYwMgorIywgZnV6enkKK21zZ2lkICIiCisiIC1KfC0tamVuc2VuLCAtQXwtLWFyYywgLVN8LS1zcm0sIC1GfC0tZnVua3ktdG95XG4iCisiICAgICAgdGVsbCBod2Nsb2NrIHRoZSB0eXBlIG9mIEFscGhhIHlvdSBoYXZlIChzZWUgaHdjbG9jayg4KSlcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAgLS1qZW5zZW4sIC0tYXJjLCAtLXNybSwgLS1mdW5reS10b3lcbiIKKyIgICAgICAgICAgICAgICAg/HRsZWIgaHdjbG9jaydpbGUsIG1pcyB0/PxwaSBBbHBoYWdhIG9uIHRlZ2VtaXN0XG4iCisiICAgICAgICAgICAgICAgIFZ0LiBod2Nsb2NrKDgpIGzkaGVtYSBpbmZvIGphb2tzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTcyOAorIywgZnV6enkKK21zZ2lkICJVbmFibGUgdG8gY29ubmVjdCB0byBhdWRpdCBzeXN0ZW0iCittc2dzdHIgIlP8c3RlZW1pa2VsbGEgc2VhZG1pbmUgZWkg9W5uZXN0dW51ZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4MjYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBlcG9jaCBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdGFrZXMgbm8gbm9uLW9wdGlvbiBhcmd1bWVudHMuICBZb3Ugc3VwcGxpZWQgJWQuXG4iCittc2dzdHIgIiVzIGVpIHRhaGEgbWl0dGUtdvV0bWVsaXNpIGFyZ3VtZW50ZS4gJWQgb24g/GxlbGlpZ25lXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTg4MAorIywgZnV6enkKK21zZ2lkICJXaXRoIC0tbm9hZGpmaWxlLCB5b3UgbXVzdCBzcGVjaWZ5IGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZSIKK21zZ3N0ciAiJXM6IEtvb3MgdvV0bWVnYSAtLW5vYWRqZmlsZSB0dWxlYiBhbmRhIGthIGthcyAtLXV0YyB29WkgLS1sb2NhbHRpbWUgdvV0aVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4OTMKKyMsIGZ1enp5Cittc2dpZCAiTm8gdXNhYmxlIHNldC10byB0aW1lLiAgQ2Fubm90IHNldCBjbG9jay4iCittc2dzdHIgIkVpIHNhYW51ZCBrYXN1dGF0YXZhdCBhZWdhLCBlaSBrZWVyYSBrZWxsYVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE5MTcKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGFjY2VzcyB0aGUgSGFyZHdhcmUgQ2xvY2sgdmlhIGFueSBrbm93biBtZXRob2QuIgorbXNnc3RyICJFaSBzdXVkYSD8aGVnaSB0dW50dWQgbWVldG9kaWdhIHJpaXN0dmFyYWxpc3Qga2VsbGEga+R0dGUgc2FhZGFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxOTIwCisjLCBmdXp6eQorbXNnaWQgIlVzZSB0aGUgLS1kZWJ1ZyBvcHRpb24gdG8gc2VlIHRoZSBkZXRhaWxzIG9mIG91ciBzZWFyY2ggZm9yIGFuIGFjY2VzcyBtZXRob2QuIgorbXNnc3RyICJLYXN1dGFnZSAtLWRlYnVnIHb1dGl0LCBldCBu5GhhIG90c2luZ3UgZGV0YWlsZSBqdXVyZGVw5ORzdSBvdHNpbWlzZWxcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjIyMworIywgYy1mb3JtYXQKK21zZ2lkICJib290ZWQgZnJvbSBNSUxPXG4iCittc2dzdHIgImJ1dWRpdHVkIE1JTE8nc3RcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJSdWZmaWFuIEJDRCBjbG9ja1xuIgorbXNnc3RyICJSdWZmaWFuaSBCQ0Qga2VsbFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb2NrcG9ydCBhZGp1c3RlZCB0byAweCV4XG4iCittc2dzdHIgImtlbGxhIHBvcnQgcGFyYW5kYXR1ZCBhYWRyZXNzaWtzIDB4JXhcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJmdW5reSBUT1khXG4iCittc2dzdHIgIlZpbmdlIG1hc2luIVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mjk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJhdG9taWMgJXMgZmFpbGVkIGZvciAxMDAwIGl0ZXJhdGlvbnMhIgorbXNnc3RyICIlczogYXRvbWFhcm5lICclcycgZWkg9W5uZXN0dW51ZCAxMDAwIGthdHNlIGpvb2tzdWwhIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3NfcmVhZCgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc19yZWFkKCk6IHJlYWQgZnJvbSBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NDUKKyMsIGZ1enp5Cittc2dpZCAiSSBmYWlsZWQgdG8gZ2V0IHBlcm1pc3Npb24gYmVjYXVzZSBJIGRpZG4ndCB0cnkuIgorbXNnc3RyICJFaSBzYWFudWQgbHViYSwgc2VzdCBlaSBr/HNpbnVka2lcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY0OAorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZ2V0IEkvTyBwb3J0IGFjY2VzczogIHRoZSBpb3BsKDMpIGNhbGwgZmFpbGVkLiIKK21zZ3N0ciAiJXMgZWkgc2FhbnVkIEkvTyBwb3J0aWRlbGUgbGlnaTogaW9wbCgzKSBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NTEKK21zZ2lkICJQcm9iYWJseSB5b3UgbmVlZCByb290IHByaXZpbGVnZXMuXG4iCittc2dzdHIgIklsbXNlbHQgb24gdmFqYSByb29kdSD1aWd1c2lcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY1OAorbXNnaWQgIlVzaW5nIGRpcmVjdCBJL08gaW5zdHJ1Y3Rpb25zIHRvIElTQSBjbG9jay4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gcmVhZCB0aGUgdGltZSBmYWlsZWQiCittc2dzdHIgImlvY3RsKCkgYWJpbCBrZWxsYSBsdWdlbWluZSAlcyBrYXVkdSBlaSD1bm5lc3RudWRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tICVzIHRvIGNoYW5nZVxuIgorbXNnc3RyICJPb3RhbiB0c/xraWxzLCBrdW5pICVzIGthdWR1IHNhYWR1ZCBhZWcgZWRhc2kgbORoZWJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjM2CisjLCBmdXp6eQorbXNnaWQgIlRpbWVkIG91dCB3YWl0aW5nIGZvciB0aW1lIGNoYW5nZS4iCittc2dzdHIgIlRhaW1hdXQgb29kYXRlcyBrZWxsYWFqYSBtdXV0dW1pc3RcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRvZXMgbm90IGhhdmUgaW50ZXJydXB0IGZ1bmN0aW9ucy4gIgorbXNnc3RyICIlcyBlaSBwYWt1IGthdGtlc3R1c2Z1bmt0c2lvb25lLiAiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCittc2dzdHIgIiVzIGx1Z2VtaW5lIGtlbGxhIHRpa3N1IG9vdGFtaXNlbCBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgdGltZWQgb3V0IgorbXNnc3RyICIlcyBsdWdlbWluZSBrZWxsYSB0aWtzdSBvb3RhbWlzZWwgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvZmYgdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIgorbXNnc3RyICIlcyBpb2N0bCgpIGFiaWwgZWkg9W5uZXN0dW51ZCB25GxqYSBs/GxpdGFkYSBrZWxsYSBrYXRrZXN0dXNpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9uIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCB1bmV4cGVjdGVkbHkiCittc2dzdHIgIiVzIGlvY3RsKCkgYWJpbCBlaSD1bm5lc3R1bnVkIHNpc3NlIGz8bGl0YWRhIGtlbGxhIGthdGtlc3R1c2kiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHNldCB0aGUgdGltZSBmYWlsZWQuIgorbXNnc3RyICJpb2N0bCgpICVzIGthdWR1IGtlbGxhIHNlYWRtaXNla3MgZWkg9W5uZXN0dW51ZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHdhcyBzdWNjZXNzZnVsLlxuIgorbXNnc3RyICJpb2N0bCglcykg9W5uZXN0dXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mzg3Cittc2dpZCAiVXNpbmcgdGhlIC9kZXYgaW50ZXJmYWNlIHRvIHRoZSBjbG9jay4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDE3IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVG8gbWFuaXB1bGF0ZSB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbCwgd2UgbXVzdCBhY2Nlc3MgdGhlIExpbnV4ICdydGMnIGRldmljZSBkcml2ZXIgdmlhIHRoZSBkZXZpY2Ugc3BlY2lhbCBmaWxlICVzLiAgVGhpcyBmaWxlIGRvZXMgbm90IGV4aXN0IG9uIHRoaXMgc3lzdGVtLiIKK21zZ3N0ciAiRXBvaGhpIHbk5HJ0dXNlIG1hbmlwdWxlZXJpbWlzZWtzIHR1bGViIGthc3V0YWRhICdydGMnIGRyYWl2ZXJpdCBzZWFkbWVmYWlsaSAlcyBrYXVkdS4gQW50dWQgc/xzdGVlbWlzIHNlZGEgZmFpbGkgZWkgbGVpZHVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDI5CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzIGlvY3RsKFJUQ19FUE9DSF9SRUFEKSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndlIGhhdmUgcmVhZCBlcG9jaCAlbHUgZnJvbSAlcyB3aXRoIFJUQ19FUE9DSF9SRUFEIGlvY3RsLlxuIgorbXNnc3RyICJsdWdlc2ltZSBlcG9oaGkgJWxkICVzIGthdWR1IFJUQ19FUE9DSF9SRUFEIGlvY3RsIGFiaWxcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgZXBvY2ggdmFsdWUgbWF5IG5vdCBiZSBsZXNzIHRoYW4gMTkwMC4gIFlvdSByZXF1ZXN0ZWQgJWxkIgorbXNnc3RyICJFcG9oaGkgduTkcnR1cyBlaSB0b2hpIG9sbGEgYWxsYSAxOTAwLiBUZWllIGFuZHNpdGUgJWxkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBlcG9jaCB0byAlbHUgd2l0aCBSVENfRVBPQ0hfU0VUIGlvY3RsIHRvICVzLlxuIgorbXNnc3RyICJzZWFuIGVwb2hoaWtzICVsZCAlcyBSVENfRVBPQ0hfU0VUIGlvY3RsIGFiaWxcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUga2VybmVsIGRldmljZSBkcml2ZXIgZm9yICVzIGRvZXMgbm90IGhhdmUgdGhlIFJUQ19FUE9DSF9TRVQgaW9jdGwuIgorbXNnc3RyICJUdXVtYSBkcmFpdmVyICVzIGphb2tzIGVpIHRvZXRhIFJUQ19FUE9DSF9TRVQgaW9jdGwnaVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoUlRDX0VQT0NIX1NFVCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlcyBpb2N0bChSVENfRVBPQ0hfU0VUKSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo2OQorbXNnaWQgIkNyZWF0ZSB2YXJpb3VzIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzIKK21zZ2lkICIgLU0sIC0tc2htZW0gPHNpemU+ICAgICAgIGNyZWF0ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgb2Ygc2l6ZSA8c2l6ZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MworbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUgPG51bWJlcj4gY3JlYXRlIHNlbWFwaG9yZSBhcnJheSB3aXRoIDxudW1iZXI+IGVsZW1lbnRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzQKK21zZ2lkICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIGNyZWF0ZSBtZXNzYWdlIHF1ZXVlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzUKK21zZ2lkICIgLXAsIC0tbW9kZSA8bW9kZT4gICAgICAgIHBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZSAoZGVmYXVsdCBpcyAwNjQ0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExMCBzeXMtdXRpbHMvbG9zZXR1cC5jOjY5NyBzeXMtdXRpbHMvenJhbWN0bC5jOjYyMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbGVtZW50cyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQxCittc2dpZCAiY3JlYXRlIHNoYXJlIG1lbW9yeSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoYXJlZCBtZW1vcnkgaWQ6ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQ5Cittc2dpZCAiY3JlYXRlIG1lc3NhZ2UgcXVldWUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIHF1ZXVlIGlkOiAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1NworbXNnaWQgImNyZWF0ZSBzZW1hcGhvcmUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZW1hcGhvcmUgaWQ6ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBzaG18bXNnfHNlbSA8aWQ+Li4uXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU0Cittc2dpZCAiUmVtb3ZlIGNlcnRhaW4gSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1NworbXNnaWQgIiAtbSwgLS1zaG1lbS1pZCA8aWQ+ICAgICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTgKK21zZ2lkICIgLU0sIC0tc2htZW0ta2V5IDxrZXk+ICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBrZXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OQorbXNnaWQgIiAtcSwgLS1xdWV1ZS1pZCA8aWQ+ICAgICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYwCittc2dpZCAiIC1RLCAtLXF1ZXVlLWtleSA8a2V5PiAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGtleVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYxCittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8aWQ+ICAgIHJlbW92ZSBzZW1hcGhvcmUgYnkgaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MgorbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUta2V5IDxrZXk+ICByZW1vdmUgc2VtYXBob3JlIGJ5IGtleVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYzCittc2dpZCAiIC1hLCAtLWFsbFs9c2htfG1zZ3xzZW1dICAgIHJlbW92ZSBhbGwgKGluIHRoZSBzcGVjaWZpZWQgY2F0ZWdvcnkpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgaWQgYCVkJ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIG1lc3NhZ2UgcXVldWUgaWQgYCVkJ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNlbWFwaG9yZSBpZCBgJWQnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4IHN5cy11dGlscy9pcGNybS5jOjIyMgorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBrZXkiCittc2dzdHIgInb1dG1lbGUgcG9sZSD1aWd1c2kiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOAorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBpZCIKK21zZ3N0ciAiaWRlbnRpZmlrYWF0b3JpbGUgcG9sZSD1aWd1c2kiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMSBzeXMtdXRpbHMvaXBjcm0uYzoyMjgKK21zZ2lkICJpbnZhbGlkIGtleSIKK21zZ3N0ciAidmlnYW5lIHb1dGkiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMQorbXNnaWQgImludmFsaWQgaWQiCittc2dzdHIgInZpZ2FuZSBpZGVudGlmaWthYXRvciIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0IHN5cy11dGlscy9pcGNybS5jOjIyNQorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBrZXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNyBzeXMtdXRpbHMvaXBjcm0uYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAia2V5IGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiaWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWQ6ICVzIgorbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgInJlc291cmNlKHMpIGRlbGV0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwga2V5ICglcykiCittc2dzdHIgIiVzOiB2aWdhbmUgdvV0aSAoJXMpXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI1NgorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNjkKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjkwCittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbcmVzb3VyY2Utb3B0aW9uLi4uXSBbb3V0cHV0LW9wdGlvbl1cbiIKKyIgJTEkcyAtbXwtcXwtcyAtaSA8aWQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NiBzeXMtdXRpbHMvbHNpcGMuYzoyODAKK21zZ2lkICJTaG93IGluZm9ybWF0aW9uIG9uIElQQyBmYWNpbGl0aWVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0IHN5cy11dGlscy9sc2lwYy5jOjI4MworIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBvcHRpb25zOlxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1IHN5cy11dGlscy9sc2lwYy5jOjI4NAorbXNnaWQgIiAtbSwgLS1zaG1lbXMgICAgICBzaGFyZWQgbWVtb3J5IHNlZ21lbnRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NiBzeXMtdXRpbHMvbHNpcGMuYzoyODUKK21zZ2lkICIgLXEsIC0tcXVldWVzICAgICAgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY3IHN5cy11dGlscy9sc2lwYy5jOjI4NgorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hcGhvcmVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2OAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICBhbGwgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MQorIywgZnV6enkKK21zZ2lkICJPdXRwdXQgb3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpdHNpb29uaTpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MgorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjczCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICBzaG93IFBJRHMgb2YgY3JlYXRvciBhbmQgbGFzdCBvcGVyYXRvclxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NAorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NQorbXNnaWQgIiAtbCwgLS1saW1pdHMgICAgICBzaG93IHJlc291cmNlIGxpbWl0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKK21zZ2lkICIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWh1bWFuICAgICAgIHNob3cgc2l6ZXMgaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc4Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgIHNob3cgc2l6ZXMgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjE2NAorbXNnaWQgIndoZW4gdXNpbmcgYW4gSUQsIGEgc2luZ2xlIHJlc291cmNlIG11c3QgYmUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2hhcmVkIG1lbW9yeSBsaW1pdHNcbiIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBzZWdtZW50cyA9ICVqdVxuIgorbXNnc3RyICJTaXNldGFnZSBzZWt0b3JpdGUgYXJ2IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwOQorIywgZnV6enkKK21zZ2lkICJtYXggc2VnIHNpemUiCittc2dzdHIgInZpZ2FuZSBpLWtpcmplIHN1dXJ1cyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTEKKyMsIGZ1enp5Cittc2dpZCAibWF4IHRvdGFsIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTQKKyMsIGZ1enp5Cittc2dpZCAibWluIHNlZyBzaXplIgorbXNnc3RyICJ2aWdhbmUgaS1raXJqZSBzdXVydXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjI2CisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGlzIG91dHB1dCBmb3JtYXQgaXMgbWFpbnRhaW5lZCBmb3IgYmFja3dhcmQKKyMuIGNvbXBhdGliaWxpdHkgYXMgaXBjcyBpcyB1c2VkIGluIHNjcmlwdHMuIEZvciBjb25zaXN0ZW5jeQorIy4gd2l0aCB0aGUgcmVzdCwgdGhlIHRyYW5zbGF0ZWQgZm9ybSBjYW4gZm9sbG93IHRoaXMgbW9kZWw6CisjLiAqCisjLiAic2VnbWVudHMgYWxsb2NhdGVkID0gJWRcbiIKKyMuICJwYWdlcyBhbGxvY2F0ZWQgPSAlbGRcbiIKKyMuICJwYWdlcyByZXNpZGVudCA9ICVsZFxuIgorIy4gInBhZ2VzIHN3YXBwZWQgPSAlbGRcbiIKKyMuICJzd2FwIHBlcmZvcm1hbmNlID0gJWxkIGF0dGVtcHRzLCAlbGQgc3VjY2Vzc2VzXG4iCisjLgorIzogc3lzLXV0aWxzL2lwY3MuYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInNlZ21lbnRzIGFsbG9jYXRlZCAlZFxuIgorInBhZ2VzIGFsbG9jYXRlZCAlbGRcbiIKKyJwYWdlcyByZXNpZGVudCAgJWxkXG4iCisicGFnZXMgc3dhcHBlZCAgICVsZFxuIgorIlN3YXAgcGVyZm9ybWFuY2U6ICVsZCBhdHRlbXB0c1x0ICVsZCBzdWNjZXNzZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI1OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50IENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjc0CisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgInNobWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6MjgwIHN5cy11dGlscy9pcGNzLmM6Mzg2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwMSBzeXMtdXRpbHMvaXBjcy5jOjQ4OSBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgInBlcm1zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiY3VpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgImNnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJ1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQXR0YWNoL0RldGFjaC9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI3NCBzeXMtdXRpbHMvaXBjcy5jOjI4MAorIzogc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo0OTUKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxIHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAib3duZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcKK21zZ2lkICJhdHRhY2hlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NworbXNnaWQgImRldGFjaGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY4Cittc2dpZCAiY2hhbmdlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBDcmVhdG9yL0xhc3Qtb3AgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc0Cittc2dpZCAiY3BpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3NAorbXNnaWQgImxwaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MCBzeXMtdXRpbHMvaXBjcy5jOjQwMSBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgImtleSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MSBzeXMtdXRpbHMvaXBjcy5jOjUwOAorbXNnaWQgInNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODEgc3lzLXV0aWxzL3BybGltaXQuYzo3NSBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4IHN5cy11dGlscy9wcmxpbWl0LmM6Nzkgc3lzLXV0aWxzL3BybGltaXQuYzo4MQorIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJieXRlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MgorbXNnaWQgIm5hdHRjaCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MgorbXNnaWQgInN0YXR1cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMwNiBzeXMtdXRpbHMvaXBjcy5jOjMwOCBzeXMtdXRpbHMvaXBjcy5jOjMxMAorIzogc3lzLXV0aWxzL2lwY3MuYzo0MjQgc3lzLXV0aWxzL2lwY3MuYzo0MjYgc3lzLXV0aWxzL2lwY3MuYzo1MzIKKyM6IHN5cy11dGlscy9pcGNzLmM6NTM0IHN5cy11dGlscy9pcGNzLmM6NTM2IHN5cy11dGlscy9pcGNzLmM6NTkwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MiBzeXMtdXRpbHMvaXBjcy5jOjYyMSBzeXMtdXRpbHMvaXBjcy5jOjYyMworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjUgc3lzLXV0aWxzL2lwY3MuYzo2NDkKK21zZ2lkICJOb3Qgc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzM2IHN5cy11dGlscy9sc2lwYy5jOjk3NiBzeXMtdXRpbHMvbHNpcGMuYzo5ODIKK21zZ2lkICJkZXN0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzM3IHN5cy11dGlscy9sc2lwYy5jOjk3NyBzeXMtdXRpbHMvbHNpcGMuYzo5OTAKK21zZ2lkICJsb2NrZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzZW1hcGhvcmUgbGltaXRzXG4iCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBhcnJheXMgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHBlciBhcnJheSA9ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBvcHMgcGVyIHNlbW9wIGNhbGwgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY1CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbWFwaG9yZSBtYXggdmFsdWUgPSAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc0CisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3Jlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBhcnJheXMgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBzZW1hcGhvcmVzID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQwMQorbXNnaWQgInNlbWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgT3BlcmF0aW9uL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyCittc2dpZCAibGFzdC1vcCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorbXNnaWQgImxhc3QtY2hhbmdlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDAxCittc2dpZCAibnNlbXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBtZXNzYWdlIGxpbWl0c1xuIgorbXNnc3RyICJTaXNldGFnZSBwZWFkZSBhcnYiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggcXVldWVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2NQorIywgZnV6enkKK21zZ2lkICJtYXggc2l6ZSBvZiBtZXNzYWdlIgorbXNnc3RyICJTaXNldGFnZSBzZWt0b3JpdGUgYXJ2IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2NworbXNnaWQgImRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3OQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgcXVldWVzID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGhlYWRlcnMgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgyCisjLCBmdXp6eQorbXNnaWQgInVzZWQgc3BhY2UiCittc2dzdHIgIlZhYmEgcnV1bSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODMKK21zZ2lkICIgYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODkgc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MDEKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibXNxaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFNlbmQvUmVjdi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgInNlbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJyZWN2IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiY2hhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJsc3BpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImxycGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA4Cittc2dpZCAidXNlZC1ieXRlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwOQorbXNnaWQgIm1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc0IHN5cy11dGlscy9pcGNzLmM6NjA0IHN5cy11dGlscy9pcGNzLmM6NjM3CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo1MzYgc3lzLXV0aWxzL2xzaXBjLmM6NzIyIHN5cy11dGlscy9sc2lwYy5jOjg3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWQgJWQgbm90IGZvdW5kIgorbXNnc3RyICIlczogc2lzZW5kaSD8bGV05Gl0dW1pbmUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQgbWVtb3J5IFNlZ21lbnQgc2htaWQ9JWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvXHRhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODQKK21zZ2lkICJzaXplPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorbXNnaWQgImJ5dGVzPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NgorIywgYy1mb3JtYXQKK21zZ2lkICJscGlkPSV1XHRjcGlkPSV1XHRuYXR0Y2g9JWpkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXR0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MQorIywgYy1mb3JtYXQKK21zZ2lkICJkZXRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkzIHN5cy11dGlscy9pcGNzLmM6NjI0CisjLCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZV90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UgUXVldWUgbXNxaWQ9JWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVx0bW9kZT0lI29cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxMworbXNnaWQgImNzaXplPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxMworbXNnaWQgImNieXRlcz0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKK21zZ2lkICJxc2l6ZT0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKK21zZ2lkICJxYnl0ZXM9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIwCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgInJjdl90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBBcnJheSBzZW1pZD0lZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0IGdpZD0ldVx0IGN1aWQ9JXVcdCBjZ2lkPSV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0NworIywgYy1mb3JtYXQKK21zZ2lkICJuc2VtcyA9ICVqdVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIm90aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJjdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJzZW1udW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJ2YWx1ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgIm5jb3VudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInpjb3VudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInBpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzAgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM0IHN5cy11dGlscy9pcGN1dGlscy5jOjIzOAorIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChieXRlcykgPSAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChrYnl0ZXMpID0gIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE4MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGlmbGFnIgorbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxsZGlzYz4gPGRldmljZT5cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTk5Cittc2dpZCAiQXR0YWNoIGEgbGluZSBkaXNjaXBsaW5lIHRvIGEgc2VyaWFsIGxpbmUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAyCittc2dpZCAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgbWVzc2FnZXMgdG8gc3RkZXJyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAzCittc2dpZCAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIHNldCBzZXJpYWwgbGluZSBzcGVlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNAorbXNnaWQgIiAtYywgLS1pbnRyby1jb21tYW5kIDxzdHJpbmc+IGludHJvIHNlbnQgYmVmb3JlIGxkYXR0YWNoXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA1Cittc2dpZCAiIC1wLCAtLXBhdXNlIDxzZWNvbmRzPiAgIHBhdXNlIGJldHdlZW4gaW50cm8gYW5kIGxkYXR0YWNoXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA2Cittc2dpZCAiIC03LCAtLXNldmVuYml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA3IGJpdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDcKK21zZ2lkICIgLTgsIC0tZWlnaHRiaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDggYml0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOAorbXNnaWQgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICBzZXQgcGFyaXR5IHRvIG5vbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDkKK21zZ2lkICIgLWUsIC0tZXZlbnBhcml0eSAgICAgICAgc2V0IHBhcml0eSB0byBldmVuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEwCittc2dpZCAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIHNldCBwYXJpdHkgdG8gb2RkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjExCittc2dpZCAiIC0xLCAtLW9uZXN0b3BiaXQgICAgICAgIHNldCBzdG9wIGJpdHMgdG8gb25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEyCittc2dpZCAiIC0yLCAtLXR3b3N0b3BiaXRzICAgICAgIHNldCBzdG9wIGJpdHMgdG8gdHdvXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEzCittc2dpZCAiIC1pLCAtLWlmbGFnIFstXTxpZmxhZz4gIHNldCBpbnB1dCBtb2RlIGZsYWdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTkKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGxkaXNjPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMjMKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGlmbGFnPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzcGVlZCBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwYXVzZSBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNTkKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBvcHRpb24iCittc2dzdHIgInZpZ2FuZSBpZGVudGlmaWthYXRvciIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzcwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbGluZSBkaXNjaXBsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJ2aWdhbmUgYXJ2OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHNlcmlhbCBsaW5lIgorbXNnc3RyICIlcyBwb2xlIHBsb2trc2VhZGUiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAiZWkgc3V1ZGEga2luZGxha3MgdGVoYSBzZWFkbWUgJXMgbWFodHUiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVlZCAlZCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgImVpIHN1dWRhIGtpbmRsYWtzIHRlaGEgc2VhZG1lICVzIG1haHR1IgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSBpbnRybyBjb21tYW5kIHRvICVzIgorbXNnc3RyICJpb2N0bCgpIGFiaWwga2VsbGEgbHVnZW1pbmUgJXMga2F1ZHUgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDY5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgbGluZSBkaXNjaXBsaW5lIgorbXNnc3RyICJFaSBzdXVkYSBrZXR0YWwgc2Vla2lkYSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDc5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBkYWVtb25pemUiCittc2dzdHIgImVpIHN1dWRhIGtpbmRsYWtzIHRlaGEgc2VhZG1lICVzIG1haHR1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY4Cittc2dpZCAiYXV0b2NsZWFyIGZsYWcgc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjkKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MAorbXNnaWQgImJhY2tpbmcgZmlsZSBpbm9kZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MQorbXNnaWQgImJhY2tpbmcgZmlsZSBtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzIKKyMsIGZ1enp5Cittc2dpZCAibG9vcCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiJXM6IHR1bmRtYXR1IHNpZ25hYWwgJXNcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MworbXNnaWQgIm9mZnNldCBmcm9tIHRoZSBiZWdpbm5pbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NAorIywgZnV6enkKK21zZ2lkICJwYXJ0c2NhbiBmbGFnIHNldCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpdHNpb29uaTpcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NgorIywgZnV6enkKK21zZ2lkICJzaXplIGxpbWl0IG9mIHRoZSBmaWxlIGluIGJ5dGVzIgorbXNnc3RyICJ2aWdhbmUgaS1raXJqZSBzdXVydXMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzcKK21zZ2lkICJsb29wIGRldmljZSBtYWpvcjptaW5vciBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3OAorbXNnaWQgImFjY2VzcyBiYWNraW5nIGZpbGUgd2l0aCBkaXJlY3QtaW8iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxMzUgc3lzLXV0aWxzL2xvc2V0dXAuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvZmZzZXQgJWp1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM4IHN5cy11dGlscy9sb3NldHVwLmM6MTUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsIHNpemVsaW1pdCAlanUiCittc2dzdHIgIk1heC4gc3V1cnVzPSVsZFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1OAorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVuY3J5cHRpb24gJXMgKHR5cGUgJXUpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZGV0YWNoIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjMyOSBzeXMtdXRpbHMvbHNjcHUuYzoxNzM1IHN5cy11dGlscy9wcmxpbWl0LmM6MjI5CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTc2IHN5cy11dGlscy93ZGN0bC5jOjIxNSBzeXMtdXRpbHMvenJhbWN0bC5jOjQwNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgbGluZSIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIFs8bG9vcGRldj5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGxvb3BkZXY+IDxmaWxlPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzg2Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIGxvb3AgZGV2aWNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM4OQorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgbGlzdCBhbGwgdXNlZCBkZXZpY2VzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2Pi4uLiAgICAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkxCisjLCBmdXp6eQorbXNnaWQgIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTIKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTMKK21zZ2lkICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5NAorbXNnaWQgIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5NQorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICAgICAgYXZvaWQgcG9zc2libGUgY29uZmxpY3QgYmV0d2VlbiBkZXZpY2VzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5OQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBzdGFydCBhdCBvZmZzZXQgPG51bT4gaW50byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDAKK21zZ2lkICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZGV2aWNlIGlzIGxpbWl0ZWQgdG8gPG51bT4gYnl0ZXMgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMQorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgY3JlYXRlIGEgcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBzZXQgdXAgYSByZWFkLW9ubHkgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAzCittc2dpZCAiICAgICAtLWRpcmVjdC1pb1s9PG9ufG9mZj5dICAgIG9wZW4gYmFja2luZyBmaWxlIHdpdGggT19ESVJFQ1RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNAorbXNnaWQgIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSBhZnRlciBzZXR1cCAod2l0aCAtZilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwOQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgbGlzdCBpbmZvIGFib3V0IGFsbCBvciBzcGVjaWZpZWQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMAorbXNnaWQgIiAtTywgLS1vdXRwdXQgPGNvbHM+ICAgICAgICAgICBzcGVjaWZ5IGNvbHVtbnMgdG8gb3V0cHV0IGZvciAtLWxpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tbGlzdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1c2UgcmF3IC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMworIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE5Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSAtLWxpc3QgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBpcyBzbWFsbGVyIHRoYW4gNTEyIGJ5dGVzOyB0aGUgbG9vcCBkZXZpY2UgbWF5IGJlIHVzZWxlc3Mgb3IgaW52aXNpYmxlIGZvciBzeXN0ZW0gdG9vbHMuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGRvZXMgbm90IGZpdCBpbnRvIGEgNTEyLWJ5dGUgc2VjdG9yOyB0aGUgZW5kIG9mIHRoZSBmaWxlIHdpbGwgYmUgaWdub3JlZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NjQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MTYgc3lzLXV0aWxzL21vdW50LmM6NDU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlcyBwb2xlIGZsb3Bpc2VhZGVcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIHJlYWQtb25seSBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGVuY3J5cHRlZCBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmUtdXNlIGxvb3AgZGV2aWNlIgorbXNnc3RyICJlaSBzdXVkYSB0YWdhc2kga2VyaWRhIHNhYWxpbWlzc2VhZGV0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ5NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5zcGVjdCBsb29wIGRldmljZXMiCittc2dzdHIgImVpIHN1dWRhIHRhZ2FzaSBrZXJpZGEgc2FhbGltaXNzZWFkZXQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNoZWNrIGZvciBjb25mbGljdGluZyBsb29wIGRldmljZXMiCittc2dzdHIgImVpIHN1dWRhIHRhZ2FzaSBrZXJpZGEgc2FhbGltaXNzZWFkZXQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTI5IHN5cy11dGlscy9sb3NldHVwLmM6ODI2CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmaW5kIGFuIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAic3RhdCglcykgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2MzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDEgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NTMKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzY3IHN5cy11dGlscy9sb3NldHVwLmM6ODA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBkZXZpY2UiCittc2dzdHIgImVpIHN1dWRhIHRhZ2FzaSBrZXJpZGEgc2FhbGltaXNzZWFkZXQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzY0CisjLCBmdXp6eQorbXNnaWQgIm5vIGxvb3AgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAiLS1kYXRlIHBhcmFtZWV0ZXIgb24gcHV1ZHVcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NzIKKyMsIGZ1enp5Cittc2dpZCAibm8gZmlsZSBzcGVjaWZpZWQiCittc2dzdHIgIi0tZGF0ZSBwYXJhbWVldGVyIG9uIHB1dWR1XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzc5CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBvcHRpb25zICVzIGFyZSBhbGxvd2VkIGR1cmluZyBsb29wIGRldmljZSBzZXR1cCBvbmx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzg0Cittc2dpZCAidGhlIG9wdGlvbiAtLW9mZnNldCBpcyBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgY2FwYWNpdHkgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGRpcmVjdCBpbyBmYWlsZWQiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTA4CisjLCBmdXp6eQorbXNnaWQgIm5vbmUiCittc2dzdHIgInZhbG1pcyAoRCkiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjEwOQorbXNnaWQgInBhcmEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTEwCittc2dpZCAiZnVsbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMTEKK21zZ2lkICJjb250YWluZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTczCittc2dpZCAiaG9yaXpvbnRhbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQKK21zZ2lkICJ2ZXJ0aWNhbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDYKK21zZ2lkICJsb2dpY2FsIENQVSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgY29yZSBudW1iZXIiCittc2dzdHIgIlZpZ2FuZSBzZWt0b3JpdGUgYXJ2IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDgKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBzb2NrZXQgbnVtYmVyIgorbXNnc3RyICJWaWdhbmUgc2VrdG9yaXRlIGFydiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ5Cittc2dpZCAibG9naWNhbCBOVU1BIG5vZGUgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MAorbXNnaWQgImxvZ2ljYWwgYm9vayBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUxCisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgZHJhd2VyIG51bWJlciIKK21zZ3N0ciAiVmlnYW5lIHNla3Rvcml0ZSBhcnYiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MgorbXNnaWQgInNob3dzIGhvdyBjYWNoZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUzCittc2dpZCAiQ1BVIGRpc3BhdGNoaW5nIG1vZGUgb24gdmlydHVhbCBoYXJkd2FyZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTQKK21zZ2lkICJwaHlzaWNhbCBhZGRyZXNzIG9mIGEgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NQorbXNnaWQgInNob3dzIGlmIHRoZSBoeXBlcnZpc29yIGhhcyBhbGxvY2F0ZWQgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTYKK21zZ2lkICJzaG93cyBpZiBMaW51eCBjdXJyZW50bHkgbWFrZXMgdXNlIG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU3Cittc2dpZCAic2hvd3MgdGhlIG1heGltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU4Cittc2dpZCAic2hvd3MgdGhlIG1pbmltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NTUwCisjLCBmdXp6eQorbXNnaWQgImVycm9yOiB1bmFtZSBmYWlsZWQiCittc2dzdHIgIlZpZ2EgJXMgc3VsZ2VtaXNlbFxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo2MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZXRlcm1pbmUgbnVtYmVyIG9mIENQVXM6ICVzIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo4OTEKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3I6IGNhbiBub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJFaSBzdXVkYSBrZXR0YWwgc2Vla2lkYSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6ODk2CisjLCBmdXp6eQorbXNnaWQgImVycm9yOiBjYW4gbm90IHJlc3RvcmUgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgIkVpIHN1dWRhIGtldHRhbCBzZWVraWRhIgorCisjIFhYWCBzdGF0J2lkYQorIzogc3lzLXV0aWxzL2xzY3B1LmM6OTU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBmcm9tOiAlcyIKK21zZ3N0ciAiZWkgc3V1ZGEgc3RhdCdpZGEgc2VhZGV0ICVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDEwCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBleHRyYWN0IHRoZSBub2RlIG51bWJlciIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIHRhYmVsaXRlIGtpcmp1dGFtaXNlbCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTUzNyBzeXMtdXRpbHMvbHNjcHUuYzoxNTQ3Cittc2dpZCAiWSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTM3IHN5cy11dGlscy9sc2NwdS5jOjE1NDcKKyMsIGZ1enp5Cittc2dpZCAiTiIKK21zZ3N0ciAiTkMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyXG4iCisiIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRFxuIgorIiMgc3RhcnRpbmcgZnJvbSB6ZXJvLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3ODEKK21zZ2lkICJBcmNoaXRlY3R1cmU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3OTUKK21zZ2lkICJDUFUgb3AtbW9kZShzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc5OCBzeXMtdXRpbHMvbHNjcHUuYzoxODAwCittc2dpZCAiQnl0ZSBPcmRlcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwMgorbXNnaWQgIkNQVShzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwNQorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDYKK21zZ2lkICJPbi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI1Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjYKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2MgorbXNnaWQgIlRocmVhZChzKSBwZXIgY29yZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2NAorbXNnaWQgIkNvcmUocykgcGVyIHNvY2tldDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2NworbXNnaWQgIlNvY2tldChzKSBwZXIgYm9vazoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3MAorbXNnaWQgIkJvb2socykgcGVyIGRyYXdlcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3MgorbXNnaWQgIkRyYXdlcihzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3NAorbXNnaWQgIkJvb2socyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzcKKyMsIGZ1enp5Cittc2dpZCAiU29ja2V0KHMpOiIKK21zZ3N0ciAiUGxva2kgc3V1cnVzOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgxCittc2dpZCAiTlVNQSBub2RlKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgzCittc2dpZCAiVmVuZG9yIElEOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg1CisjLCBmdXp6eQorbXNnaWQgIk1hY2hpbmUgdHlwZToiCittc2dzdHIgIlBhcnRpdHNpb29uaSBudW1iZXIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODcKK21zZ2lkICJDUFUgZmFtaWx5OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg5Cittc2dpZCAiTW9kZWw6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTEKKyMsIGZ1enp5Cittc2dpZCAiTW9kZWwgbmFtZToiCittc2dzdHIgIlZpZ2FuZSBrYXN1dGFqYW5pbWkiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTMKK21zZ2lkICJTdGVwcGluZzoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5NQorbXNnaWQgIkNQVSBNSHo6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTcKK21zZ2lkICJDUFUgZHluYW1pYyBNSHo6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTkKK21zZ2lkICJDUFUgc3RhdGljIE1IejoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMQorbXNnaWQgIkNQVSBtYXggTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAzCittc2dpZCAiQ1BVIG1pbiBNSHo6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDUKK21zZ2lkICJCb2dvTUlQUzoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwOCBzeXMtdXRpbHMvbHNjcHUuYzoxOTEwCittc2dpZCAiVmlydHVhbGl6YXRpb246IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTMKK21zZ2lkICJIeXBlcnZpc29yOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE1Cittc2dpZCAiSHlwZXJ2aXNvciB2ZW5kb3I6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTYKK21zZ2lkICJWaXJ0dWFsaXphdGlvbiB0eXBlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE5Cittc2dpZCAiRGlzcGF0Y2hpbmcgbW9kZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkyNSBzeXMtdXRpbHMvbHNjcHUuYzoxOTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNhY2hlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTUEgbm9kZSVkIENQVShzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0NgorIywgZnV6enkKK21zZ2lkICJGbGFnczoiCittc2dzdHIgIkxpcHVkIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQ5CisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIHNvY2tldHM6IgorbXNnc3RyICJG/PxzaWxpc2kgc2lsaW5kcmVpZCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk1MAorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBjaGlwczoiCittc2dzdHIgIkb8/HNpbGlzaSBzaWxpbmRyZWlkIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTUxCisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIGNvcmVzL2NoaXA6IgorbXNnc3RyICJG/PxzaWxpc2kgc2lsaW5kcmVpZCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2MworbXNnaWQgIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIENQVSBhcmNoaXRlY3R1cmUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2NgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBwcmludCBib3RoIG9ubGluZSBhbmQgb2ZmbGluZSBDUFVzIChkZWZhdWx0IGZvciAtZSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY3Cittc2dpZCAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIHByaW50IG9ubGluZSBDUFVzIG9ubHkgKGRlZmF1bHQgZm9yIC1wKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjgKK21zZ2lkICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAgcHJpbnQgb2ZmbGluZSBDUFVzIG9ubHlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY5Cittc2dpZCAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcwCittc2dpZCAiIC1wLCAtLXBhcnNlWz08bGlzdD5dICAgIHByaW50IG91dCBhIHBhcnNhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzEKK21zZ2lkICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAgdXNlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcyCittc2dpZCAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHByaW50IGhleGFkZWNpbWFsIG1hc2tzIHJhdGhlciB0aGFuIGxpc3RzIG9mIENQVXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTczCisjLCBmdXp6eQorbXNnaWQgIiAteSwgLS1waHlzaWNhbCAgICAgICAgICBwcmludCBwaHlzaWNhbCBpbnN0ZWFkIG9mIGxvZ2ljYWwgSURzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvcHRpb25zIC0tYWxsLCAtLW9ubGluZSBhbmQgLS1vZmZsaW5lIG1heSBvbmx5IGJlIHVzZWQgd2l0aCBvcHRpb25zIC0tZXh0ZW5kZWQgb3IgLS1wYXJzZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNDkKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2Uga2V5IgorbXNnc3RyICJWaWdhbmUga2FzdXRhamFuaW1pIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNDkKK21zZ2lkICJLZXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIElEIgorbXNnc3RyICJWaWdhbmUga2FzdXRhamFuaW1pIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKK21zZ2lkICJPd25lcidzIHVzZXJuYW1lIG9yIFVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKK21zZ2lkICJPd25lciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTIKKyMsIGZ1enp5Cittc2dpZCAiUGVybWlzc2lvbnMiCittc2dzdHIgImlkZW50aWZpa2FhdG9yaWxlIHBvbGUg9WlndXNpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTMKK21zZ2lkICJDcmVhdG9yIFVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTQKK21zZ2lkICJDcmVhdG9yIHVzZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU1Cittc2dpZCAiQ3JlYXRvciBHSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU2CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgZ3JvdXAiCittc2dzdHIgIlByaW1hYXJuZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgIlVzZXIgSUQiCittc2dzdHIgImthc3V0YWphIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKK21zZ2lkICJVSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU4CisjLCBmdXp6eQorbXNnaWQgIlVzZXIgbmFtZSIKK21zZ3N0ciAiVmlnYW5lIGthc3V0YWphbmltaSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR3JvdXAgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5CisjLCBmdXp6eQorbXNnaWQgIkdJRCIKK21zZ3N0ciAiU0dJIHJhdyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYwCisjLCBmdXp6eQorbXNnaWQgIkdyb3VwIG5hbWUiCittc2dzdHIgIlZpZ2FuZSBrYXN1dGFqYW5pbWkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorIywgZnV6enkKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIKK21zZ3N0ciAia2F0YWxvb2dpIHN0YXQoKSBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorIywgZnV6enkKK21zZ2lkICJMYXN0IGNoYW5nZSIKK21zZ3N0ciAiQnV1dGZhaWwgauRpIHNhbWFrc1xuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjQKKyMsIGZ1enp5Cittc2dpZCAiQnl0ZXMgdXNlZCIKK21zZ3N0ciAiTeRya2lkYSBrYXN1dGF0dWtzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2VzIgorbXNnc3RyICJTaXNldGFnZSBwZWFkZSBhcnYiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorbXNnaWQgIk1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgc2VudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKK21zZ2lkICJNc2cgc2VudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHJlY2VpdmVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIk1zZyByZWNlaXZlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjgKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHNlbmRlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjgKK21zZ2lkICJNc2cgc2VuZGVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgcmVjZWl2ZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiTXNnIHJlY2VpdmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MgorbXNnaWQgIlNlZ21lbnQgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIGF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAiU2lzZXRhZ2Ugc2VrdG9yaXRlIGFydiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCittc2dpZCAiQXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NAorbXNnaWQgIlN0YXR1cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzUKK21zZ2lkICJBdHRhY2ggdGltZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzYKK21zZ2lkICJEZXRhY2ggdGltZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRvciBjb21tYW5kIGxpbmUiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQiCittc2dzdHIgIlZpZ2FuZSBr5HNrIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJQSUQgb2YgdGhlIGNyZWF0b3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiQ3JlYXRvciBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiUElEIG9mIGxhc3QgdXNlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCB1c2VyIFBJRCIKK21zZ3N0ciAia2FzdXRhamEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAiU2lzZXRhZ2Ugc2VrdG9yaXRlIGFydiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgyCittc2dpZCAiU2VtYXBob3JlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODMKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODMKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBvcGVyYXRpb24iCittc2dzdHIgInZpZ2FuZSBpZGVudGlmaWthYXRvciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIG5hbWUiCittc2dzdHIgIlZpZ2FuZSBrYXN1dGFqYW5pbWkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NgorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSIKK21zZ3N0ciAiVmlnYW5lIGthc3V0YWphbmltaSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICIgZWVtYWxkYXRhdiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIkRlc2NyaXB0aW9uIgorbXNnc3RyICIgZWVtYWxkYXRhdiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiQ3VycmVudGx5IHVzZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiVXNlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiQ3VycmVudGx5IHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICJTaXNlc3RhZ2UgZmFpbGlz/HN0ZWVtaSB0/PxiaSBudW1iZXI6ICIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIlVzZSIKK21zZ3N0ciAia2FzdXRhbWluZToiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIlN5c3RlbS13aWRlIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIkxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb2x1bW4gJXMgZG9lcyBub3QgYXBwbHkgdG8gdGhlIHNwZWNpZmllZCBJUEMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg3Cittc2dpZCAiIC1nLCAtLWdsb2JhbCAgICAgIGluZm8gYWJvdXQgc3lzdGVtLXdpZGUgdXNhZ2UgKG1heSBiZSB1c2VkIHdpdGggLW0sIC1xIGFuZCAtcylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODgKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgICAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTQKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk1CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICAgICAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk3CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgdXNlIHRoZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5OQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgIGZvcmNlIGxpc3Qgb3V0cHV0IGZvcm1hdCAoZm9yIGV4YW1wbGUgd2l0aCAtLWlkKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAxCittc2dpZCAiIC1QLCAtLW51bWVyaWMtcGVybXMgICAgICBwcmludCBudW1lcmljIHBlcm1pc3Npb25zIChQRVJNUyBjb2x1bW4pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAzCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmljIGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXRzaW9vbmk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkLW1lbW9yeSBjb2x1bW5zICgtLXNobWVtcyk6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlLXF1ZXVlIGNvbHVtbnMgKC0tcXVldWVzKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBjb2x1bW5zICgtLXNlbWFwaG9yZXMpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU3VtbWFyeSBjb2x1bW5zICgtLWdsb2JhbCk6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJFbGVtZW50czpcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDUKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZSBpZGVudGlmaWVycyIKK21zZ3N0ciAiU2lzZXRhZ2Ugc2VrdG9yaXRlIGFydiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA2CisjLCBmdXp6eQorbXNnaWQgIlRvdGFsIG51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJTaXNldGFnZSBzZWt0b3JpdGUgYXJ2IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDcKK21zZ2lkICJNYXggc2VtYXBob3JlcyBwZXIgc2VtYXBob3JlIHNldC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA4CisjLCBmdXp6eQorbXNnaWQgIk1heCBudW1iZXIgb2Ygb3BlcmF0aW9ucyBwZXIgc2Vtb3AoMikiCittc2dzdHIgIkVpIHN1dWRhIGF2YWRhIGZhaWxpIGAlcyciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwOQorbXNnaWQgIlNlbWFwaG9yZSBtYXggdmFsdWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODYzCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiU2lzZXRhZ2UgcGVhZGUgYXJ2IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjQKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNpemUgb2YgbWVzc2FnZSAoYnl0ZXMpIgorbXNnc3RyICJTaXNldGFnZSBzZWt0b3JpdGUgYXJ2IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjUKK21zZ2lkICJEZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIChieXRlcykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTc4IHN5cy11dGlscy9sc2lwYy5jOjk5NworbXNnaWQgImh1Z2V0bGIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTc5IHN5cy11dGlscy9sc2lwYy5jOjEwMDQKKyMsIGZ1enp5Cittc2dpZCAibm9yZXNlcnZlIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjEKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjIKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHBhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjMKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIlNpc2V0YWdlIHNla3Rvcml0ZSBhcnYiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjQKKyMsIGZ1enp5Cittc2dpZCAiTWluIHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIlNpc2V0YWdlIHNla3Rvcml0ZSBhcnYiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjExMzUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElQQyBpZGVudGlmaWVyIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMjI5CisjLCBmdXp6eQorbXNnaWQgIi0tZ2xvYmFsIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tY3JlYXRvciwgLS1pZCBhbmQgLS10aW1lIgorbXNnc3RyICIlczogVvV0bWVkIC0tYWRqdXN0IGphIC0tbm9hZGpmaWxlIG9uIHZhc3Rhc3Rpa2t1IHbkbGlzdGF2YWRcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4MworbXNnaWQgIm5hbWVzcGFjZSBpZGVudGlmaWVyIChpbm9kZSBudW1iZXIpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODQKK21zZ2lkICJraW5kIG9mIG5hbWVzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg1CisjLCBmdXp6eQorbXNnaWQgInBhdGggdG8gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAia2F0YWxvb2dpIHN0YXQoKSBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODYKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJTaXNldGFnZSBzZWt0b3JpdGUgYXJ2IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg3Cittc2dpZCAibG93ZXN0IFBJRCBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODgKK21zZ2lkICJQUElEIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OQorbXNnaWQgImNvbW1hbmQgbGluZSBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTAKK21zZ2lkICJVSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkxCittc2dpZCAidXNlcm5hbWUgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG5hbWVzcGFjZT5dXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjE2CisjLCBmdXp6eQorbXNnaWQgIkxpc3Qgc3lzdGVtIG5hbWVzcGFjZXMuXG4iCittc2dzdHIgIlP8c3RlZW1pa2VsbGEgc2VhZG1pbmUgZWkg9W5uZXN0dW51ZFxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYyMworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tdGFzayA8cGlkPiAgICAgICBwcmludCBwcm9jZXNzIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjI2Cittc2dpZCAiIC10LCAtLXR5cGUgPG5hbWU+ICAgICAgbmFtZXNwYWNlIHR5cGUgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzLCBjZ3JvdXApXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbmFtZXNwYWNlIHR5cGU6ICVzIgorbXNnc3RyICIgICBsICAgYW5kYSBuaW1la2lyaSB0dW50dWQgZmFpbGlz/HN0ZWVtaWRlIHT8/HBpZGVzdCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MzUKKyMsIGZ1enp5Cittc2dpZCAiLS10YXNrIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxuYW1lc3BhY2U+IgorbXNnc3RyICIlczogVvV0bWVkIC0tYWRqdXN0IGphIC0tbm9hZGpmaWxlIG9uIHZhc3Rhc3Rpa2t1IHbkbGlzdGF2YWRcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MzYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBuYW1lc3BhY2UgYXJndW1lbnQiCittc2dzdHIgInZpZ2FuZSBpZGVudGlmaWthYXRvciIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGZvdW5kIG5hbWVzcGFjZTogJWp1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY2IHN5cy11dGlscy91bW91bnQuYzoxMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2OSBzeXMtdXRpbHMvdW1vdW50LmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzMgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIgorbXNnc3RyICIlczogQWludWx0IHJvb3Qgc2FhYiBz/HN0ZWVtaSBzZWlzYXRhXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0IHN5cy11dGlscy91bW91bnQuYzoxMjUKKyMsIGZ1enp5Cittc2dpZCAib25seSByb290IGNhbiBkbyB0aGF0IgorbXNnc3RyICIlczogQWludWx0IHJvb3Qgc2FhYiBz/HN0ZWVtaSBzZWlzYXRhXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjg1IHN5cy11dGlscy91bW91bnQuYzo1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAobGlibW91bnQgJXMiCittc2dzdHIgIiVzIHBha2V0aXN0ICVzXG4iCisKKyMgWFhYIHN0YXQnaWRhCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMzAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbXRhYiIKK21zZ3N0ciAiZWkgc3V1ZGEgc3RhdCdpZGEgc2VhZGV0ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTIgc3lzLXV0aWxzL3Vtb3VudC5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGFscmVhZHkgbW91bnRlZFxuIgorbXNnc3RyICJLZXRhc3Qgc2FpIG11dWRldHVkXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdmVkIHRvICVzLlxuIgorbXNnc3RyICIlczogc2lzZW5kaSD8bGV05Gl0dW1pbmUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGJvdW5kIG9uICVzLlxuIgorbXNnc3RyICIlczogc2lzZW5kaSD8bGV05Gl0dW1pbmUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1NCBzeXMtdXRpbHMvbW91bnQuYzoyNTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3VudGVkIG9uICVzLlxuIgorbXNnc3RyICIlczogc2lzZW5kaSD8bGV05Gl0dW1pbmUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgcHJvcGFnYXRpb24gZmxhZ3MgY2hhbmdlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm1vdW50OiAlcyBkb2VzIG5vdCBjb250YWluIFNFTGludXggbGFiZWxzLlxuIgorIiAgICAgICBZb3UganVzdCBtb3VudGVkIGFuIGZpbGUgc3lzdGVtIHRoYXQgc3VwcG9ydHMgbGFiZWxzIHdoaWNoIGRvZXMgbm90XG4iCisiICAgICAgIGNvbnRhaW4gbGFiZWxzLCBvbnRvIGFuIFNFTGludXggYm94LiBJdCBpcyBsaWtlbHkgdGhhdCBjb25maW5lZFxuIgorIiAgICAgICBhcHBsaWNhdGlvbnMgd2lsbCBnZW5lcmF0ZSBBVkMgbWVzc2FnZXMgYW5kIG5vdCBiZSBhbGxvd2VkIGFjY2VzcyB0b1xuIgorIiAgICAgICB0aGlzIGZpbGUgc3lzdGVtLiAgRm9yIG1vcmUgZGV0YWlscyBzZWUgcmVzdG9yZWNvbig4KSBhbmQgbW91bnQoOCkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Mzc4CisjLCBmdXp6eQorbXNnaWQgIldBUk5JTkc6IGZhaWxlZCB0byBhcHBseSBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIG1vdW50ICVzIG9uICVzIgorbXNnc3RyICIlczogQWludWx0IHJvb3Qgc2FhYiBz/HN0ZWVtaSBzZWlzYXRhXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYWxyZWFkeSBtb3VudGVkIgorbXNnc3RyICJLZXRhc3Qgc2FpIG11dWRldHVkXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB1c2VkIGFzIHJlYWQgb25seSBsb29wLCBtb3VudGluZyByZWFkLW9ubHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kICVzIGluICVzIgorbXNnc3RyICIlczogZWkgbGVpYSBwcm90c2Vzc2kgXCIlc1wiXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudHBvaW50ICVzIGluICVzIgorbXNnc3RyICIlczogZWkgbGVpYSBwcm90c2Vzc2kgXCIlc1wiXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBzb3VyY2UgJXMgaW4gJXMiCittc2dzdHIgIiVzOiBlaSBsZWlhIHByb3RzZXNzaSBcIiVzXCJcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlczogbW9yZSBmaWxlc3lzdGVtcyBkZXRlY3RlZC4gVGhpcyBzaG91bGQgbm90IGhhcHBlbixcbiIKKyIgICAgICAgdXNlIC10IDx0eXBlPiB0byBleHBsaWNpdGx5IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSBvclxuIgorIiAgICAgICB1c2Ugd2lwZWZzKDgpIHRvIGNsZWFuIHVwIHRoZSBkZXZpY2UuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzNgorbXNnaWQgIkkgY291bGQgbm90IGRldGVybWluZSB0aGUgZmlsZXN5c3RlbSB0eXBlLCBhbmQgbm9uZSB3YXMgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzOQorIywgZnV6enkKK21zZ2lkICJ5b3UgbXVzdCBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIiAgdCAgICAgICAgICBNdXV0YSBqb29rc3ZhIHBhcnRpdHNpb29uaSBmYWlsaXP8c3RlZW1pIHT8/HBpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMiCittc2dzdHIgIiVzOiBlaSBzdXVkYSBsdWdlZGEgJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ3CisjLCBmdXp6eQorbXNnaWQgIm1vdW50IHNvdXJjZSBub3QgZGVmaW5lZCIKK21zZ3N0ciAiJXM6ICVzIPxtYmVyIG5pbWV0YW1pbmUgJXMgLWtzIGVpIPVubmVzdG51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDUxIHN5cy11dGlscy9tb3VudC5jOjQ1MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIgorbXNnc3RyICJlaSBzdXVkYSB0YWdhc2kga2VyaWRhIHNhYWxpbWlzc2VhZGV0IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudCBmYWlsZWQiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlc3lzdGVtIG1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDg5IHN5cy11dGlscy9tb3VudC5jOjU0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgJXMgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJqdXVya2F0YWxvb2dpIGkta2lyamUgZWkga2lyamVsZGEga2F0YWxvb2dpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0OTMKKyMsIGZ1enp5Cittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorbXNnc3RyICJLZWxsYSBzZWFkbWlzZWtzIHBlYWIgb2xlbWEgcm9vdFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYnVzeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCBvciAlcyBidXN5IgorbXNnc3RyICJLZXRhc3Qgc2FpIG11dWRldHVkXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorbXNnc3RyICJLZXRhc3Qgc2FpIG11dWRldHVkXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiVzOiBcIiVzXCIgZWkgZWtzaXN0ZWVyaVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgJXMgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiJXM6IEthc3V0YWphdCBcIiVzXCIgcG9sZSBvbGVtYXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTM2IHN5cy11dGlscy9tb3VudC5jOjUzOCBzeXMtdXRpbHMvbW91bnQuYzo1NDAKKyM6IHN5cy11dGlscy9tb3VudC5jOjU1NQorIywgZnV6enkKK21zZ2lkICJtb3VudCgyKSBmYWlsZWQiCittc2dzdHIgIk3kbHUgc2FpIG90c2EiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU1MQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IG1vdW50ZWQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudHBvaW50IG9yIGJhZCBvcHRpb24iCittc2dzdHIgImZvcmsgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTY1Cittc2dpZCAiIgorImJhZCBvcHRpb24uIE5vdGUgdGhhdCBtb3ZpbmcgYSBtb3VudCByZXNpZGluZyB1bmRlciBhIHNoYXJlZFxuIgorIiAgICAgICBtb3VudCBpcyB1bnN1cHBvcnRlZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ3cm9uZyBmcyB0eXBlLCBiYWQgb3B0aW9uLCBiYWQgc3VwZXJibG9jayBvbiAlcyxcbiIKKyIgICAgICAgbWlzc2luZyBjb2RlcGFnZSBvciBoZWxwZXIgcHJvZ3JhbSwgb3Igb3RoZXIgZXJyb3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgICAgKGZvciBzZXZlcmFsIGZpbGVzeXN0ZW1zIChlLmcuIG5mcywgY2lmcykgeW91IG1pZ2h0XG4iCisiICAgICAgIG5lZWQgYSAvc2Jpbi9tb3VudC48dHlwZT4gaGVscGVyIHByb2dyYW0pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIgICAgICAgSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBpcyBmb3VuZCBpbiBzeXNsb2cgLSB0cnlcbiIKKyIgICAgICAgZG1lc2cgfCB0YWlsIG9yIHNvLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU4MworbXNnaWQgIm1vdW50IHRhYmxlIGZ1bGwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIgorbXNnc3RyICIlczogZWkgc3V1ZGEgbHVnZWRhICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKK21zZ3N0ciAiICAgbCAgIGFuZGEgbmltZWtpcmkgdHVudHVkIGZhaWxpc/xzdGVlbWlkZSB0/PxwaWRlc3QiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU5NAorIywgZnV6enkKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAiICAgbCAgIGFuZGEgbmltZWtpcmkgdHVudHVkIGZhaWxpc/xzdGVlbWlkZSB0/PxwaWRlc3QiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCgyKSBmYWlscz8iCittc2dzdHIgIiVzIHBvbGUgZmxvcGlzZWFkZVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInRoZSBrZXJuZWwgZG9lcyBub3QgcmVjb2duaXplICVzIGFzIGEgYmxvY2sgZGV2aWNlXG4iCisiICAgICAgIChtYXliZSBgbW9kcHJvYmUgZHJpdmVyJz8pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIChtYXliZSB0cnkgYC1vIGxvb3AnPykiCittc2dzdHIgIiVzIHBvbGUgZmxvcGlzZWFkZVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzIHBvbGUgZmxvcGlzZWFkZVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXMgcG9sZSBmbG9waXNlYWRlXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50ICVzIHJlYWQtb25seSIKK21zZ3N0ciAiZWkgc3V1ZGEgYXZhZGEgc2VhZGV0ICVzIGx1Z2VtaXNla3MgamEga2lyanV0YW1pc2Vrc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCBgLXcnIGZsYWcgZ2l2ZW4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVtb3VudCAlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCittc2dzdHIgIm1vdW50OiBlaSBzdXVkYSBhdmFkYSBzZWFkZXQgJXMga2lpcnVzZSBzZWFkbWlzZWtzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MzEgc3lzLXV0aWxzL21vdW50LmM6NjU0IHN5cy11dGlscy91bnNoYXJlLmM6MTg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBvbiAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiAlcyD8bWJlciBuaW1ldGFtaW5lICVzIC1rcyBlaSD1bm5lc3RudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50aW5nIHJlYWQtb25seSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKK21zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3B0aW9uIGZvcm1hdDogJXMiCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYXBwZW5kIG9wdGlvbiAnJXMnIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbGhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2VdIDxzb3VyY2U+IHwgWy0tdGFyZ2V0XSA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIDxvcGVyYXRpb24+IDxtb3VudHBvaW50PiBbPHRhcmdldD5dXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzQ0CisjLCBmdXp6eQorbXNnaWQgIk1vdW50IGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiUGVhbGVzdW5uaXR1ZCBrb250cm9sbCBmYWlsaXP8c3RlZW1pbCAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBtb3VudCBhbGwgZmlsZXN5c3RlbXMgbWVudGlvbmVkIGluIGZzdGFiXG4iCisiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSBtb3VudCgyKSBzeXNjYWxsXG4iCisiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIGZvcmsgb2ZmIGZvciBlYWNoIGRldmljZSAodXNlIHdpdGggLWEpXG4iCisiIC1ULCAtLWZzdGFiIDxwYXRoPiAgICAgIGFsdGVybmF0aXZlIGZpbGUgdG8gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgbW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBzaG93IGFsc28gZmlsZXN5c3RlbSBsYWJlbHNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1OCBzeXMtdXRpbHMvdW1vdW50LmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIGRvbid0IHdyaXRlIHRvIC9ldGMvbXRhYlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc2MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIG1vdW50IG9wdGlvbnNcbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtb25seSAoc2FtZSBhcyAtbyBybylcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tc291cmNlIDxzcmM+ICAgICAgZXhwbGljaXRseSBzcGVjaWZpZXMgc291cmNlIChwYXRoLCBsYWJlbCwgdXVpZClcbiIKKyIgICAgIC0tdGFyZ2V0IDx0YXJnZXQ+ICAgZXhwbGljaXRseSBzcGVjaWZpZXMgbW91bnRwb2ludFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc2OCBzeXMtdXRpbHMvdW1vdW50LmM6OTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBzYXkgd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtd3JpdGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTb3VyY2U6XG4iCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc5MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3BlcmF0aW9uczpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIHNvbWV3aGVyZSBlbHNlIChzYW1lIGFzIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG1vdmUgYSBzdWJ0cmVlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjgwMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4ODcgc3lzLXV0aWxzL3Vtb3VudC5jOjU0OAorbXNnaWQgImxpYm1vdW50IGNvbnRleHQgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6OTQ0IHN5cy11dGlscy91bW91bnQuYzo2MDEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCBvcHRpb25zIHBhdHRlcm4iCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEwOTcKKyMsIGZ1enp5Cittc2dpZCAic291cmNlIHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAiVGUgYW5kaXN0ZSBzdXVyZW1hIHNpbGluZHJpdGUgYXJ2dSBrdWkga2V0dGFsZSBtYWh1YiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstcWRdIC9wYXRoL3RvL2RpcmVjdG9yeVxuIgorIiAlMSRzIC14IC9kZXYvZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjIKK21zZ2lkICJDaGVjayB3aGV0aGVyIGEgZGlyZWN0b3J5IG9yIGZpbGUgaXMgYSBtb3VudHBvaW50LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTI1Cittc2dpZCAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgcXVpZXQgbW9kZSAtIGRvbid0IHByaW50IGFueXRoaW5nXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgYmxvY2sgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAianV1cmthdGFsb29naSBpLWtpcmplIGVpIGtpcmplbGRhIGthdGFsb29naSIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoyMDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyBvbiBtb250ZWVyaXR1ZC4gIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjcyIHN5cy11dGlscy9zZXRwcml2LmM6OTMgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjc2Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIG5hbWVzcGFjZXMgb2Ygb3RoZXIgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzkKK21zZ2lkICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICB0YXJnZXQgcHJvY2VzcyB0byBnZXQgbmFtZXNwYWNlcyBmcm9tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MAorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICBlbnRlciBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgZW50ZXIgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MgorIywgZnV6enkKK21zZ2lkICIgLWksIC0taXBjWz08ZmlsZT5dICAgICBlbnRlciBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgIGVudGVyIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgIGVudGVyIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODUKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgZW50ZXIgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NgorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICBlbnRlciB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NworIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2V0dWlkIDx1aWQ+ICAgICBzZXQgdWlkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg4CisjLCBmdXp6eQorbXNnaWQgIiAtRywgLS1zZXRnaWQgPGdpZD4gICAgIHNldCBnaWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODkKK21zZ2lkICIgICAgIC0tcHJlc2VydmUtY3JlZGVudGlhbHMgZG8gbm90IHRvdWNoIHVpZHMgb3IgZ2lkc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTAKK21zZ2lkICIgLXIsIC0tcm9vdFs9PGRpcj5dICAgICBzZXQgdGhlIHJvb3QgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MQorbXNnaWQgIiAtdywgLS13ZFs9PGRpcj5dICAgICAgIHNldCB0aGUgd29ya2luZyBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkyCittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgZG8gbm90IGZvcmsgYmVmb3JlIGV4ZWMnaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTQKK21zZ2lkICIgLVosIC0tZm9sbG93LWNvbnRleHQgICBzZXQgU0VMaW51eCBjb250ZXh0IGFjY29yZGluZyB0byAtLXRhcmdldCBQSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJuZWl0aGVyIGZpbGVuYW1lIG5vciB0YXJnZXQgcGlkIHN1cHBsaWVkIGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjI3NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdWlkIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjI4MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZ2lkIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMxNworbXNnaWQgIm5vIHRhcmdldCBQSUQgc3BlY2lmaWVkIGZvciAtLWZvbGxvdy1jb250ZXh0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0ICVkIFNFTGludXggY29udGV4dCIKK21zZ3N0ciAiZWkgc3V1ZGEga2lyanV0YWRhIGkta2lyamVpZCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgZXhlYyBjb250ZXh0IHRvICclcyciCittc2dzdHIgImlvY3RsKCkgYWJpbCBrZWxsYSBsdWdlbWluZSAlcyBrYXVkdSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVhc3NvY2lhdGUgdG8gbmFtZXNwYWNlICclcycgZmFpbGVkIgorbXNnc3RyICJpb2N0bCgpIGFiaWwga2VsbGEgbHVnZW1pbmUgJXMga2F1ZHUgZWkg9W5uZXN0bnVkXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzkwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIlZpZ2Egc2VrdG9yaSAlbHUga2lyanV0YW1pc2VsIHNlYWRtZWxlICVzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mzk3CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgcm9vdCBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDAwCisjLCBmdXp6eQorbXNnaWQgImNocm9vdCBmYWlsZWQiCittc2dzdHIgIiVzIGF2YW1pbmUgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MTAKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSB3b3JraW5nIGRpcmVjdG9yeSBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDIxIHN5cy11dGlscy9zZXRwcml2LmM6ODE1IHN5cy11dGlscy9zZXRwcml2LmM6ODE5CisjLCBmdXp6eQorbXNnaWQgInNldGdyb3VwcyBmYWlsZWQiCittc2dzdHIgIiVzIGF2YW1pbmUgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBuZXdfcm9vdCBwdXRfb2xkXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzcKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHRoZSByb290IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlBlYWxlc3Vubml0dWQga29udHJvbGwgZmFpbGlz/HN0ZWVtaWwgJXNcbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzo3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IGZyb20gYCVzJyB0byBgJXMnIgorbXNnc3RyICJpb2N0bCgpIGFiaWwga2VsbGEgbHVnZW1pbmUgJXMga2F1ZHUgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NQorbXNnaWQgImFkZHJlc3Mgc3BhY2UgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIywgZnV6enkKK21zZ2lkICJtYXggY29yZSBmaWxlIHNpemUiCittc2dzdHIgIkVpIHN1dWRhIGF2YWRhIGZhaWxpIGAlcyciCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJDUFUgdGltZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3CisjLCBmdXp6eQorbXNnaWQgInNlY29uZHMiCittc2dzdHIgIkRPUyBzZWt1bmRhYXJuZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OAorbXNnaWQgIm1heCBkYXRhIHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OQorIywgZnV6enkKK21zZ2lkICJtYXggZmlsZSBzaXplIgorbXNnc3RyICJ2aWdhbmUgaS1raXJqZSBzdXVydXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKKyMsIGZ1enp5Cittc2dpZCAibWF4IG51bWJlciBvZiBmaWxlIGxvY2tzIGhlbGQiCittc2dzdHIgIlNpc2V0YWdlIHNla3Rvcml0ZSBhcnYiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKKyMsIGZ1enp5Cittc2dpZCAibG9ja3MiCittc2dzdHIgIiVsZCBwbG9ra2lcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MQorbXNnaWQgIm1heCBsb2NrZWQtaW4tbWVtb3J5IGFkZHJlc3Mgc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MgorbXNnaWQgIm1heCBieXRlcyBpbiBQT1NJWCBtcXVldWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODMKK21zZ2lkICJtYXggbmljZSBwcmlvIGFsbG93ZWQgdG8gcmFpc2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIG9wZW4gZmlsZXMiCittc2dzdHIgIkVpIHN1dWRhIGF2YWRhIGZhaWxpIGAlcyciCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXMiCittc2dzdHIgIkVpIHN1dWRhIGF2YWRhIGZhaWxpIGAlcyciCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKKyMsIGZ1enp5Cittc2dpZCAibWF4IG51bWJlciBvZiBwcm9jZXNzZXMiCittc2dzdHIgIlNpc2V0YWdlIHNla3Rvcml0ZSBhcnYiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKKyMsIGZ1enp5Cittc2dpZCAicHJvY2Vzc2VzIgorbXNnc3RyICIlczogZWkgbGVpYSBwcm90c2Vzc2kgXCIlc1wiXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODYKK21zZ2lkICJtYXggcmVzaWRlbnQgc2V0IHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NworbXNnaWQgIm1heCByZWFsLXRpbWUgcHJpb3JpdHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgInRpbWVvdXQgZm9yIHJlYWwtdGltZSB0YXNrcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAibWljcm9zZWNzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJtYXggbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAic2lnbmFscyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAibWF4IHN0YWNrIHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjMKKyMsIGZ1enp5Cittc2dpZCAicmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAiVmlnYW5lIGthc3V0YWphbmltaSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAicmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgIiBlZW1hbGRhdGF2IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNQorbXNnaWQgInNvZnQgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjYKK21zZ2lkICJoYXJkIGxpbWl0IChjZWlsaW5nKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNworIywgZnV6enkKK21zZ2lkICJ1bml0cyIKK21zZ3N0ciAiVWhpa3VkIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXAgUElEXVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBDT01NQU5EXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY2Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlc291cmNlIGxpbWl0cyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjgKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkdlbmVyYWwgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpdHNpb29uaTpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjkKK21zZ2lkICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG91dHB1dFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3NworIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiUmVzb3VyY2VzIE9wdGlvbnM6XG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc4Cittc2dpZCAiIgorIiAtYywgLS1jb3JlICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBjb3JlIGZpbGVzIGNyZWF0ZWRcbiIKKyIgLWQsIC0tZGF0YSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgYSBwcm9jZXNzJ3MgZGF0YSBzZWdtZW50XG4iCisiIC1lLCAtLW5pY2UgICAgICAgICAgICAgbWF4aW11bSBuaWNlIHByaW9yaXR5IGFsbG93ZWQgdG8gcmFpc2VcbiIKKyIgLWYsIC0tZnNpemUgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgZmlsZXMgd3JpdHRlbiBieSB0aGUgcHJvY2Vzc1xuIgorIiAtaSwgLS1zaWdwZW5kaW5nICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFsc1xuIgorIiAtbCwgLS1tZW1sb2NrICAgICAgICAgIG1heGltdW0gc2l6ZSBhIHByb2Nlc3MgbWF5IGxvY2sgaW50byBtZW1vcnlcbiIKKyIgLW0sIC0tcnNzICAgICAgICAgICAgICBtYXhpbXVtIHJlc2lkZW50IHNldCBzaXplXG4iCisiIC1uLCAtLW5vZmlsZSAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2Ygb3BlbiBmaWxlc1xuIgorIiAtcSwgLS1tc2dxdWV1ZSAgICAgICAgIG1heGltdW0gYnl0ZXMgaW4gUE9TSVggbWVzc2FnZSBxdWV1ZXNcbiIKKyIgLXIsIC0tcnRwcmlvICAgICAgICAgICBtYXhpbXVtIHJlYWwtdGltZSBzY2hlZHVsaW5nIHByaW9yaXR5XG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAgbWF4aW11bSBzdGFjayBzaXplXG4iCisiIC10LCAtLWNwdSAgICAgICAgICAgICAgbWF4aW11bSBhbW91bnQgb2YgQ1BVIHRpbWUgaW4gc2Vjb25kc1xuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHVzZXIgcHJvY2Vzc2VzXG4iCisiIC12LCAtLWFzICAgICAgICAgICAgICAgc2l6ZSBvZiB2aXJ0dWFsIG1lbW9yeVxuIgorIiAteCwgLS1sb2NrcyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIGZpbGUgbG9ja3NcbiIKKyIgLXksIC0tcnR0aW1lICAgICAgICAgICBDUFUgdGltZSBpbiBtaWNyb3NlY29uZHMgYSBwcm9jZXNzIHNjaGVkdWxlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVyIHJlYWwtdGltZSBzY2hlZHVsaW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoyNDMgc3lzLXV0aWxzL3BybGltaXQuYzoyNDkgc3lzLXV0aWxzL3BybGltaXQuYzozNjYKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzcxCittc2dpZCAidW5saW1pdGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IG9sZCAlcyBsaW1pdCIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHNvZnQgbGltaXQgJXMgY2Fubm90IGV4Y2VlZCB0aGUgaGFyZCBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJOZXcgJXMgbGltaXQgZm9yIHBpZCAlZDogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mzc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjQ1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIGxpbWl0IgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NQorbXNnaWQgIm9wdGlvbiAtLXBpZCBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjYxNgorIywgZnV6enkKK21zZ2lkICJvcHRpb25zIC0tcGlkIGFuZCBDT01NQU5EIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiVzOiBW9XRtZWQgLS1hZGp1c3QgamEgLS1ub2FkamZpbGUgb24gdmFzdGFzdGlra3UgduRsaXN0YXZhZFxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDcKK21zZ2lkICJEaXNwbGF5IGtlcm5lbCBwcm9maWxpbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbSwgLS1tYXBmaWxlIDxtYXBmaWxlPiAgIChkZWZhdWx0czogXCIlc1wiIGFuZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiVzXCIpXG4iCittc2dzdHIgIiAgICAgICAgICAgIEVzaW1lbmUgIFZpaW1hbmVcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtcCwgLS1wcm9maWxlIDxwcm8tZmlsZT4gIChkZWZhdWx0OiAgXCIlc1wiKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNgorbXNnaWQgIiAtTSwgLS1tdWx0aXBsaWVyIDxtdWx0PiAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE3Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgcHJpbnQgb25seSBpbmZvIGFib3V0IHRoZSBzYW1wbGluZyBzdGVwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE4Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBkYXRhXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMAorbXNnaWQgIiAtYiwgLS1oaXN0YmluICAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgaGlzdG9ncmFtLWJpbiBjb3VudHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjEKK21zZ2lkICIgLXMsIC0tY291bnRlcnMgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGNvdW50ZXJzIHdpdGhpbiBmdW5jdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjIKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIzCittc2dpZCAiIC1uLCAtLW5vLWF1dG8gICAgICAgICAgICAgZGlzYWJsZSBieXRlIG9yZGVyIGF1dG8tZGV0ZWN0aW9uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvciB3cml0aW5nICVzIgorbXNnc3RyICJ2aWdhIGkta2lyamUga2lyanV0YW1pc2VsIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyNzEKK21zZ2lkICJBc3N1bWluZyByZXZlcnNlZCBieXRlIG9yZGVyLiBVc2UgLW4gdG8gZm9yY2UgbmF0aXZlIGJ5dGUgb3JkZXIuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI4NgorIywgYy1mb3JtYXQKK21zZ2lkICJTYW1wbGluZ19zdGVwOiAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMwMiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMoJWkpOiB3cm9uZyBtYXAgbGluZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgXCJfc3RleHRcIiBpbiAlcyIKK21zZ3N0ciAic3RhdCglcykgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzQ2Cittc2dpZCAicHJvZmlsZSBhZGRyZXNzIG91dCBvZiByYW5nZS4gV3JvbmcgbWFwIGZpbGU/IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjQwNAorbXNnaWQgInRvdGFsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MgorbXNnaWQgInByb2Nlc3MgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUzCittc2dpZCAicHJvY2VzcyBncm91cCBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiBbLXB8LS1waWRdIDxwaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtZ3wtLXBncnAgPHBnaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtdXwtLXVzZXIgPHVzZXI+Li4uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjY3Cittc2dpZCAiQWx0ZXIgdGhlIHByaW9yaXR5IG9mIHJ1bm5pbmcgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorbXNnc3RyICJTaXNlc3RhZ2Ugc2lsaW5kcml0ZSBhcnY6ICIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcxCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcyCittc2dpZCAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzMKK21zZ2lkICIgLXUsIC0tdXNlciA8bmFtZT58PGlkPiBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiaW9jdGwoKSBhYmlsIGtlbGxhIGx1Z2VtaW5lICVzIGthdWR1IGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiaW9jdGwoKSBhYmlsIGtlbGxhIGx1Z2VtaW5lICVzIGthdWR1IGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgKCVzKSBvbGQgcHJpb3JpdHkgJWQsIG5ldyBwcmlvcml0eSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdXNlciAlcyIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIG9uZSBvZiB0aGUgYWJvdmUKKyMuICogdGhyZWUgSUQgbmFtZXMuIFJlYWQ6ICJiYWQgdmFsdWUgZm9yICVzOiAlcyIKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCAlcyB2YWx1ZTogJXMiCittc2dzdHIgInZpZ2FuZSB0YWltYWRpIHbk5HJ0dXM6ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjk4Cittc2dpZCAiRW50ZXIgYSBzeXN0ZW0gc2xlZXAgc3RhdGUgdW50aWwgYSBzcGVjaWZpZWQgd2FrZXVwIHRpbWUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDEKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICAgICAgICAgIHJlYWRzIHRoZSBjbG9jayBtb2RlIGZyb20gYWRqdXN0IGZpbGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtQSwgLS1hZGpmaWxlIDxmaWxlPiAgICAgc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA1Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICBkYXRlIHRpbWUgb2YgdGltZXN0YW1wIHRvIHdha2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNgorbXNnaWQgIiAtZCwgLS1kZXZpY2UgPGRldmljZT4gICAgc2VsZWN0IHJ0YyBkZXZpY2UgKHJ0YzB8cnRjMXwuLi4pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDcKK21zZ2lkICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGRvZXMgZXZlcnl0aGluZywgYnV0IHN1c3BlbmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOAorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOQorbXNnaWQgIiAgICAgLS1saXN0LW1vZGVzICAgICAgICAgbGlzdCBhdmFpbGFibGUgbW9kZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMAorbXNnaWQgIiAtbSwgLS1tb2RlIDxtb2RlPiAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMQorbXNnaWQgIiAtcywgLS1zZWNvbmRzIDxzZWNvbmRzPiAgc2Vjb25kcyB0byBzbGVlcFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEyCittc2dpZCAiIC10LCAtLXRpbWUgPHRpbWVfdD4gICAgICB0aW1lIHRvIHdha2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMworIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2VzIFVUQ1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE2NworIywgZnV6enkKK21zZ2lkICJyZWFkIHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAic2V0dGltZW9mZGF5KCkgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBzeXN0ZW0gdGltZSBmYWlsZWQiCittc2dzdHIgImlvY3RsKCkgYWJpbCBrZWxsYSBsdWdlbWluZSAlcyBrYXVkdSBlaSD1bm5lc3RudWRcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiY29udmVydCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgIlZpZ2EgJXMgc3VsZ2VtaXNlbFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjIzNworbXNnaWQgInNldCBydGMgd2FrZSBhbGFybSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB0aGlyZCBsaW5lIGluOiAlczogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjAgc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjQKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBydGMgYWxhcm0gZmFpbGVkIgorbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9mZlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzM4CisjLCBmdXp6eQorbXNnaWQgImNvbnZlcnQgdGltZSBmYWlsZWQiCittc2dzdHIgInNldHRpbWVvZmRheSgpIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvbiAgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkOiAlcyIKK21zZ3N0ciAiRWkgc3V1dG51ZCBhdmFkYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHN1c3BlbmQgc3RhdGUgJyVzJyIKK21zZ3N0ciAiUGFydGl0c2lvb25pdGFiZWxpdCBlaSBvbGVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0NzUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzZWNvbmRzIGFyZ3VtZW50IgorbXNnc3RyICJ2aWdhbmUgaWRlbnRpZmlrYWF0b3IiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDc5CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgdGltZSBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYXNzdW1pbmcgUlRDIHVzZXMgVVRDIC4uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTExCisjLCBmdXp6eQorbXNnaWQgIlVzaW5nIFVUQyB0aW1lLlxuIgorbXNnc3RyICJLYXN1dGFuICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTEyCisjLCBmdXp6eQorbXNnaWQgIlVzaW5nIGxvY2FsIHRpbWUuXG4iCittc2dzdHIgIkthc3V0YW4gJXNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTUKK21zZ2lkICJtdXN0IHByb3ZpZGUgd2FrZSB0aW1lIChzZWUgLS1zZWNvbmRzLCAtLXRpbWUgYW5kIC0tZGF0ZSBvcHRpb25zKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGVuYWJsZWQgZm9yIHdha2V1cCBldmVudHMiCittc2dzdHIgIiVzIHBvbGUgZmxvcGlzZWFkZVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyOAorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybSAlbGQsIHN5c190aW1lICVsZCwgcnRjX3RpbWUgJWxkLCBzZWNvbmRzICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBkb2Vzbid0IGdvIGJhY2t3YXJkIHRvICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICJUZWFkZSBrYXN1dGFqYWx0ICVzQCVzIHRlcm1pbmFsaWwgJXMga2VsbCAlcy4uLiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgZnJvbSBcIiVzXCIgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIlRlYWRlIGthc3V0YWphbHQgJXNAJXMgdGVybWluYWxpbCAlcyBrZWxsICVzLi4uIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU1OQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG5vOyBsZWF2aW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvZmY7IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogb247IHJlYWRpbmcgcnRjXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1OTIKKyMsIGZ1enp5Cittc2dpZCAicnRjIHJlYWQgZmFpbGVkIgorbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBkaXNhYmxlOyBkaXNhYmxpbmcgYWxhcm1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYxNQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6ICVzOyBzdXNwZW5kaW5nIHN5c3RlbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjI5Cittc2dpZCAiZGlzYWJsZSBydGMgYWxhcm0gaW50ZXJydXB0IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlN3aXRjaGluZyBvbiAlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGFyY2g+IFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5NgorbXNnaWQgIkNoYW5nZSB0aGUgcmVwb3J0ZWQgYXJjaGl0ZWN0dXJlIGFuZCBzZXQgcGVyc29uYWxpdHkgZmxhZ3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5OQorbXNnaWQgIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgdHVybnMgb24gQUREUl9MSU1JVF8zMkJJVFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAwCittc2dpZCAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAxCittc2dpZCAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICB0dXJucyBvbiBTSE9SVF9JTk9ERVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAyCittc2dpZCAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCBjaGFuZ2VzIHRoZSB3YXkgdmlydHVhbCBtZW1vcnkgaXMgYWxsb2NhdGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDMKK21zZ2lkICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIGRpc2FibGVzIHJhbmRvbWl6YXRpb24gb2YgdGhlIHZpcnR1YWwgYWRkcmVzcyBzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA0Cittc2dpZCAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICB0dXJucyBvbiBXSE9MRV9TRUNPTkRTXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDUKK21zZ2lkICIgLVQsIC0tc3RpY2t5LXRpbWVvdXRzICAgIHR1cm5zIG9uIFNUSUNLWV9USU1FT1VUU1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA2Cittc2dpZCAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICB0dXJucyBvbiBSRUFEX0lNUExJRVNfRVhFQ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA3Cittc2dpZCAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICB0dXJucyBvbiBNTUFQX1BBR0VfWkVST1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA4Cittc2dpZCAiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBsaW1pdHMgdGhlIHVzZWQgYWRkcmVzcyBzcGFjZSB0byBhIG1heGltdW0gb2YgMyBHQlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA5Cittc2dpZCAiICAgICAtLTRnYiAgICAgICAgICAgICAgICBpZ25vcmVkIChmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBvbmx5KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTEwCittc2dpZCAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICB0dXJucyBvbiBVTkFNRTI2XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBzYXkgd2hhdCBvcHRpb25zIGFyZSBiZWluZyBzd2l0Y2hlZCBvblxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTQKK21zZ2lkICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3Qgc2V0dGFibGUgYXJjaGl0ZWN0dXJlcywgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXNcbiIKKyJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBVbnJlY29nbml6ZWQgYXJjaGl0ZWN0dXJlIgorbXNnc3RyICJQYXJ0aXRzaW9vbml0YWJlbGl0IGVpIG9sZVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiS2VybmVsIGNhbm5vdCBzZXQgYXJjaGl0ZWN0dXJlIHRvICVzIgorbXNnc3RyICJlaSBzdXVkYSBraW5kbGFrcyB0ZWhhIHNlYWRtZSAlcyBtYWh0dSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozMDUKKyMsIGZ1enp5Cittc2dpZCAiTm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIkxpaWdhIHBhbGp1IGFyZ3VtZW50ZVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjMyMgorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc5CisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJy0tbGlzdCciCittc2dzdHIgInR1bmRtYXR1IHb1dGkgYC0lYydcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozODcKKyMsIGZ1enp5Cittc2dpZCAibm8gYXJjaGl0ZWN0dXJlIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAiTGlpZ2EgcGFsanUgYXJndW1lbnRlXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICJpb2N0bCgpIGFiaWwga2VsbGEgbHVnZW1pbmUgJXMga2F1ZHUgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGUgY29tbWFuZCBgJXMnLlxuIgorbXNnc3RyICJBbm5hbiBgZGF0ZScga+RzdTogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NworbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBkaWZmZXJlbnQgcHJpdmlsZWdlIHNldHRpbmdzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTAwCittc2dpZCAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICBzaG93IGN1cnJlbnQgc3RhdGUgKGFuZCBkbyBub3QgZXhlYyBhbnl0aGluZylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMQorbXNnaWQgIiAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAgZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMgorbXNnaWQgIiAtLWluaC1jYXBzIDxjYXBzLC4uLj4gICAgc2V0IGluaGVyaXRhYmxlIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTAzCittc2dpZCAiIC0tYm91bmRpbmctc2V0IDxjYXBzPiAgICBzZXQgY2FwYWJpbGl0eSBib3VuZGluZyBzZXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNAorbXNnaWQgIiAtLXJ1aWQgPHVpZD4gICAgICAgICAgICAgc2V0IHJlYWwgdWlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDUKK21zZ2lkICIgLS1ldWlkIDx1aWQ+ICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDYKK21zZ2lkICIgLS1yZ2lkIDxnaWQ+ICAgICAgICAgICAgIHNldCByZWFsIGdpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA3Cittc2dpZCAiIC0tZWdpZCA8Z2lkPiAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA4Cittc2dpZCAiIC0tcmV1aWQgPHVpZD4gICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA5Cittc2dpZCAiIC0tcmVnaWQgPGdpZD4gICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEwCittc2dpZCAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICBjbGVhciBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTExCittc2dpZCAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICBrZWVwIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTIKK21zZ2lkICIgLS1ncm91cHMgPGdyb3VwLC4uLj4gICAgIHNldCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEzCittc2dpZCAiIC0tc2VjdXJlYml0cyA8Yml0cz4gICAgICBzZXQgc2VjdXJlYml0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE0Cittc2dpZCAiIC0tc2VsaW51eC1sYWJlbCA8bGFiZWw+ICBzZXQgU0VMaW51eCBsYWJlbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE1Cittc2dpZCAiIC0tYXBwYXJtb3ItcHJvZmlsZSA8cHI+ICBzZXQgQXBwQXJtb3IgcHJvZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIxCittc2dpZCAiIFRoaXMgdG9vbCBjYW4gYmUgZGFuZ2Vyb3VzLiAgUmVhZCB0aGUgbWFucGFnZSwgYW5kIGJlIGNhcmVmdWwuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxOTMgc3lzLXV0aWxzL3NldHByaXYuYzo0NjcKK21zZ2lkICJnZXR0aW5nIHByb2Nlc3Mgc2VjdXJlIGJpdHMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3VyZWJpdHM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdXG4iCittc2dzdHIgInZhbG1pcyAoRCkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIGxvbmciCittc2dzdHIgImv2aXRlIG5pbWkgb24gbGlpZ2EgcGlrayIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3MyBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyMSBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyNgorIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzIgc3lzLXV0aWxzL3NldHByaXYuYzozMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIltub25lXSIKK21zZ3N0ciAidmFsbWlzIChEKSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkOiAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImV1aWQ6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VpZDogJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5OSBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5MQorIywgZnV6enkKK21zZ2lkICJnZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMwOCBzeXMtdXRpbHMvc2V0cHJpdi5jOjQwNgorIywgZnV6enkKK21zZ2lkICJnZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICJFZmZlY3RpdmUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGVybWl0dGVkIGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkluaGVyaXRhYmxlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzM1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhcGFiaWxpdHkgYm91bmRpbmcgc2V0OiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDMKKyMsIGZ1enp5Cittc2dpZCAiU0VMaW51eCBsYWJlbCIKK21zZ3N0ciAiTGludXggZXh0MyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDYKK21zZ2lkICJBcHBBcm1vciBwcm9maWxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzU5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhcCAlZDogbGliY2FwLW5nIGlzIGJyb2tlbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4MgorbXNnaWQgIkludmFsaWQgc3VwcGxlbWVudGFyeSBncm91cCBpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5OQorIywgZnV6enkKK21zZ2lkICJzZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQxNAorIywgZnV6enkKK21zZ2lkICJzZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQzNQorbXNnaWQgImJhZCBjYXBhYmlsaXR5IHN0cmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ0MworbXNnaWQgImxpYmNhcC1uZyBpcyB0b28gb2xkIGZvciBcImFsbFwiIGNhcHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY2FwYWJpbGl0eSBcIiVzXCIiCittc2dzdHIgIkthdGFsb29naSAlcyBwb2xlIVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ3NgorIywgZnV6enkKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IHNldCAtLSByZWZ1c2luZyB0byBhZGp1c3QiCittc2dzdHIgIlR1bmRtYXR1IGZvcm1hYXQgLSBrYXN1dGFuIHNla3RvcmVpZFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ4MAorbXNnaWQgImJhZCBzZWN1cmViaXRzIHN0cmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ4NworIywgZnV6enkKK21zZ2lkICIrYWxsIHNlY3VyZWJpdHMgaXMgbm90IGFsbG93ZWQiCittc2dzdHIgIiclYycgZWkgb2xlIGx1YmF0dWRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDAKK21zZ2lkICJhZGp1c3Rpbmcga2VlcF9jYXBzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDQKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAidHVuZG1hdHUgdvV0aSBgJXMnXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTI0Cittc2dpZCAiU0VMaW51eCBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2xvc2UgZmFpbGVkOiAlcyIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU0NworbXNnaWQgIkFwcEFybW9yIGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjU4Cittc2dpZCAiZHVwbGljYXRlIC0tbm8tbmV3LXByaXZzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY2MworbXNnaWQgImR1cGxpY2F0ZSBydWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjY1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBydWlkIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY2OQorbXNnaWQgImR1cGxpY2F0ZSBldWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjcxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBldWlkIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY3NQorbXNnaWQgImR1cGxpY2F0ZSBydWlkIG9yIGV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJldWlkIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4MQorbXNnaWQgImR1cGxpY2F0ZSByZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjgzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZ2lkIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4NworbXNnaWQgImR1cGxpY2F0ZSBlZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njg5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlZ2lkIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY5MworbXNnaWQgImR1cGxpY2F0ZSByZ2lkIG9yIGVnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2OTUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJlZ2lkIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcwMAorbXNnaWQgImR1cGxpY2F0ZSAtLWNsZWFyLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MDYKK21zZ2lkICJkdXBsaWNhdGUgLS1rZWVwLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MTIKK21zZ2lkICJkdXBsaWNhdGUgLS1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzIxCittc2dpZCAiZHVwbGljYXRlIC0taW5oLWNhcHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzI3Cittc2dpZCAiZHVwbGljYXRlIC0tYm91bmRpbmctc2V0IG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjczMworbXNnaWQgImR1cGxpY2F0ZSAtLXNlY3VyZWJpdHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzM5Cittc2dpZCAiZHVwbGljYXRlIC0tc2VsaW51eC1sYWJlbCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NDUKK21zZ2lkICJkdXBsaWNhdGUgLS1hcHBhcm1vci1wcm9maWxlIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnJWMnIgorbXNnc3RyICJ0dW5kbWF0dSB29XRpIGAtJWMnXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzYzCittc2dpZCAiLS1kdW1wIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzcxCittc2dpZCAiLS1saXN0LWNhcHMgbXVzdCBiZSBzcGVjaWZpZWQgYWxvbmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzcKKyMsIGZ1enp5Cittc2dpZCAiTm8gcHJvZ3JhbSBzcGVjaWZpZWQiCittc2dzdHIgIi0tZGF0ZSBwYXJhbWVldGVyIG9uIHB1dWR1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgyCittc2dpZCAiLS1bcmVdZ2lkIHJlcXVpcmVzIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCBvciAtLWdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4NQorbXNnaWQgImRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MworbXNnaWQgImtlZXAgcHJvY2VzcyBjYXBhYmlsaXRpZXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODAxCittc2dpZCAiYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA3Cittc2dpZCAicmVhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjMKKyMsIGZ1enp5Cittc2dpZCAic2V0IHByb2Nlc3Mgc2VjdXJlYml0cyBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODI5Cittc2dpZCAiYXBwbHkgYm91bmRpbmcgc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODM1Cittc2dpZCAiYXBwbHkgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZXhlY3V0ZTogJXMiCittc2dzdHIgInN0YXQoJXMpIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3VtZW50cyAuLi5dXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozNgorbXNnaWQgIlJ1biBhIHByb2dyYW0gaW4gYSBuZXcgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzkKK21zZ2lkICIgLWMsIC0tY3R0eSAgICAgc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCB0byB0aGUgY3VycmVudCBvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDAKK21zZ2lkICIgLXcsIC0td2FpdCAgICAgd2FpdCBwcm9ncmFtIHRvIGV4aXQsIGFuZCB1c2UgdGhlIHNhbWUgcmV0dXJuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjkzCisjLCBmdXp6eQorbXNnaWQgImZvcmsiCittc2dzdHIgImZvcms6ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaGlsZCAlZCBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgIiVzOiBcIiVzXCIgZWkgZWtzaXN0ZWVyaVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEwCisjLCBmdXp6eQorbXNnaWQgInNldHNpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcG9mZiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA1Cittc2dpZCAiTm90IHN1cGVydXNlci4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb2ZmIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyMiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8c3BlYz5dXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI1Cittc2dpZCAiRGlzYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyOAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBzd2FwcyBmcm9tIC9wcm9jL3N3YXBzXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMzUKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkzCisjLCBmdXp6eQorbXNnaWQgImRldmljZSBmaWxlIG9yIHBhcnRpdGlvbiBwYXRoIgorbXNnc3RyICIgICBkICAga3VzdHV0YWRhIHBhcnRpdHNpb29uIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTQKKyMsIGZ1enp5Cittc2dpZCAidHlwZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJrYXRhbG9vZ2kgc3RhdCgpIGVpIPVubmVzdHVudWRcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk1CisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIHN3YXAgYXJlYSIKK21zZ3N0ciAia2F0YWxvb2dpIHN0YXQoKSBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NgorIywgZnV6enkKK21zZ2lkICJieXRlcyBpbiB1c2UiCittc2dzdHIgIk3kcmtpZGEga2FzdXRhdHVrcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk3Cittc2dpZCAic3dhcCBwcmlvcml0eSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTgKK21zZ2lkICJzd2FwIHV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk5Cittc2dpZCAic3dhcCBsYWJlbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzXHRcdFx0XHRUeXBlXHRcdFNpemVcdFVzZWRcdFByaW9yaXR5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI0NgorbXNnaWQgIkZpbGVuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlaW5pdGlhbGl6aW5nIHRoZSBzd2FwLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mzc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbHNlZWsgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBzaWduYXR1cmUgZmFpbGVkIgorbXNnc3RyICIlcyBhdmFtaW5lIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIC0gaXQgYXBwZWFycyB0byBoYXZlIGhvbGVzLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0IHNpemUgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgc3dhcCBoZWFkZXIgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZvdW5kIHNpZ25hdHVyZSBbcGFnZXNpemU9JWQsIHNpZ25hdHVyZT0lc10iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFnZXNpemU9JWQsIHN3YXBzaXplPSVsbHUsIGRldnNpemU9JWxsdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsYXN0X3BhZ2UgMHglMDhsbHggaXMgbGFyZ2VyIHRoYW4gYWN0dWFsIHNpemUgb2Ygc3dhcHNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4gKFVzZSAtLWZpeHBnc3ogdG8gcmVpbml0aWFsaXplIGl0LikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc29mdHdhcmUgc3VzcGVuZCBkYXRhIGRldGVjdGVkLiBSZXdyaXRpbmcgdGhlIHN3YXAgc2lnbmF0dXJlLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb24gJXNcbiIKK21zZ3N0ciAidGVybWluYWxpbCAlLipzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb24gZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub2F1dG8gb3B0aW9uIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiB0dW5kbWF0dSBzaWduYWFsICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbHJlYWR5IGFjdGl2ZSAtLSBpZ25vcmVkIgorbXNnc3RyICJwb3NpdHNpb25lZXJpbWlzZSB2aWdhIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaW5hY2Nlc3NpYmxlIC0tIGlnbm9yZWQiCittc2dzdHIgImVpIHN1dWRhIGtpcmp1dGFkYSBpLWtpcmplaWQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTEKK21zZ2lkICJFbmFibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk1Cittc2dpZCAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTYKK21zZ2lkICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHNpbGVudGx5IHNraXAgZGV2aWNlcyB0aGF0IGRvIG5vdCBleGlzdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTcKK21zZ2lkICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHJlaW5pdGlhbGl6ZSB0aGUgc3dhcCBzcGFjZSBpZiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk4Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBzd2FwIG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk5Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBzcGVjaWZ5IHRoZSBwcmlvcml0eSBvZiB0aGUgc3dhcCBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAwCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgZGlzcGxheSBzdW1tYXJ5IGFib3V0IHVzZWQgc3dhcCBkZXZpY2VzIChERVBSRUNBVEVEKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMQorbXNnaWQgIiAgICAgLS1zaG93Wz08Y29sdW1ucz5dICAgZGlzcGxheSBzdW1tYXJ5IGluIGRlZmluYWJsZSB0YWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCB0YWJsZSBoZWFkaW5nICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDMKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0ICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDQKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgc2l6ZSBpbiBieXRlcyBpbiAtLXNob3cgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODExCittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MjEKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGRpc2NhcmQgcG9saWN5IHR5cGVzIChmb3IgLS1kaXNjYXJkKTpcbiIKKyIgb25jZSAgICA6IG9ubHkgc2luZ2xlLXRpbWUgYXJlYSBkaXNjYXJkcyBhcmUgaXNzdWVkXG4iCisiIHBhZ2VzICAgOiBmcmVlZCBwYWdlcyBhcmUgZGlzY2FyZGVkIGJlZm9yZSB0aGV5IGFyZSByZXVzZWRcbiIKKyJJZiBubyBwb2xpY3kgaXMgc2VsZWN0ZWQsIGJvdGggZGlzY2FyZCB0eXBlcyBhcmUgZW5hYmxlZCAoZGVmYXVsdCkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgyNgorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdyk6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkwNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcHJpb3JpdHkiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCB0aGUgZGV2aWNlIGZvciAlcyIKK21zZ3N0ciAic3RhdCglcykgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NTkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGlyZWN0b3J5IgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2NworIywgZnV6enkKK21zZ2lkICJzdGF0IGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo3OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBkaXJlY3RvcnkiCittc2dzdHIgImp1dXJrYXRhbG9vZ2kgaS1raXJqZSBlaSBraXJqZWxkYSBrYXRhbG9vZ2kiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjExMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVubGluayAlcyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvICVzIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZvcmNpbmcgdW5tb3VudCBvZiAlcyIKK21zZ3N0ciAic2h1dGRvd246IEVpIHN1dWRhIGxhaHRpIG1vbnRlZXJpZGEga2F0YWxvb2dpICVzOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJpb2N0bCgpIGFiaWwga2VsbGEgbHVnZW1pbmUgJXMga2F1ZHUgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvIC8iCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QiCittc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTg4Cittc2dpZCAib2xkIHJvb3QgZmlsZXN5c3RlbSBpcyBub3QgYW4gaW5pdHJhbWZzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bmV3cm9vdGRpcj4gPGluaXQ+IDxhcmdzIHRvIGluaXQ+XG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwNAorbXNnaWQgIlN3aXRjaCB0byBhbm90aGVyIGZpbGVzeXN0ZW0gYXMgdGhlIHJvb3Qgb2YgdGhlIG1vdW50IHRyZWUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjM2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZC4gU29ycnkuIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGFjY2VzcyAlcyIKK21zZ3N0ciAiRWkgc3V1ZGEgYXZhZGEgZmFpbGkgYCVzJyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk0Cittc2dpZCAiU2V0IHZhcmlvdXMgcGFyYW1ldGVycyBmb3IgdGhlIGxpbmUgcHJpbnRlci5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTcKK21zZ2lkICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICBzcGVjaWZ5IHBhcmFsbGVsIHBvcnQgaXJxXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk4Cittc2dpZCAiIC10LCAtLXRpbWUgPG1zPiAgICAgICAgICAgICAgZHJpdmVyIHdhaXQgdGltZSBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTkKK21zZ2lkICIgLWMsIC0tY2hhcnMgPG51bT4gICAgICAgICAgICBudW1iZXIgb2Ygb3V0cHV0IGNoYXJhY3RlcnMgYmVmb3JlIHNsZWVwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMAorbXNnaWQgIiAtdywgLS13YWl0IDx1cz4gICAgICAgICAgICAgIHN0cm9iZSB3YWl0IGluIG1pY3JvIHNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSA8b258b2ZmPiBhcmd1bWVudHMuIFRoZQorIy4gYXJndW1lbnQgcmVhZGVyIGRvZXMgbm90IHJlY29nbml6ZSBsb2NhbGUsIHVubGVzcyBgb24nIGlzCisjLiBleGFjdGx5IHRoYXQgdmVyeSBzYW1lIHN0cmluZy4KKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDQKK21zZ2lkICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhYm9ydCBvbiBlcnJvclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDUKK21zZ2lkICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBjaGVjayBwcmludGVyIHN0YXR1cyBiZWZvcmUgcHJpbnRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA2Cittc2dpZCAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAgZXh0cmEgY2hlY2tpbmcgdG8gc3RhdHVzIGNoZWNrXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNworbXNnaWQgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIHF1ZXJ5IHByaW50ZXIgc3RhdHVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOAorbXNnaWQgIiAtVCwgLS10cnVzdC1pcnEgPG9ufG9mZj4gICAgIG1ha2UgZHJpdmVyIHRvIHRydXN0IGlycVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDkKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcmVzZXQgdGhlIHBvcnRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTAKK21zZ2lkICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICBkaXNwbGF5IGN1cnJlbnQgaXJxIHNldHRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgYW4gbHAgZGV2aWNlIgorbXNnc3RyICIlcyBwb2xlIGZsb3Bpc2VhZGVcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4MAorbXNnaWQgIkxQR0VUU1RBVFVTIGVycm9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3RhdHVzIGlzICVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBidXN5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCByZWFkeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb3V0IG9mIHBhcGVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvbi1saW5lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBlcnJvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzAwCisjLCBmdXp6eQorbXNnaWQgImlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiZnN5bmMgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxMAorbXNnaWQgIkxQR0VUSVJRIGVycm9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgSVJRICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBwb2xsaW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiB8IDxkaXJlY3Rvcnk+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjgxCisjLCBmdXp6eQorbXNnaWQgIlVubW91bnQgZmlsZXN5c3RlbXMuXG4iCittc2dzdHIgIlNpc2VzdGFnZSBmYWlsaXP8c3RlZW1pIHT8/GJpIG51bWJlcjogIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODQKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgdW5tb3VudCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODUKK21zZ2lkICIiCisiIC1BLCAtLWFsbC10YXJnZXRzICAgICAgIHVubW91bnQgYWxsIG1vdW50cG9pbnRzIGZvciB0aGUgZ2l2ZW4gZGV2aWNlIGluIHRoZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg3Cittc2dpZCAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OAorbXNnaWQgIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICBpZiBtb3VudGVkIGxvb3AgZGV2aWNlLCBhbHNvIGZyZWUgdGhpcyBsb29wIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OQorbXNnaWQgIiAgICAgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSB1bW91bnQoMikgc3lzY2FsbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MAorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBmb3JjZSB1bm1vdW50IChpbiBjYXNlIG9mIGFuIHVucmVhY2hhYmxlIE5GUyBzeXN0ZW0pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkxCittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIHVtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgZGV0YWNoIHRoZSBmaWxlc3lzdGVtIG5vdywgY2xlYW4gdXAgdGhpbmdzIGxhdGVyXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTQKK21zZ2lkICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk1Cittc2dpZCAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IHVubW91bnQgYSB0YXJnZXQgd2l0aCBhbGwgaXRzIGNoaWxkcmVuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk2CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBpbiBjYXNlIHVubW91bnRpbmcgZmFpbHMsIHRyeSB0byByZW1vdW50IHJlYWQtb25seVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk3CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiICAgbCAgIGFuZGEgbmltZWtpcmkgdHVudHVkIGZhaWxpc/xzdGVlbWlkZSB0/PxwaWRlc3QiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglcykgdW5tb3VudGVkIgorbXNnc3RyICIlcyBvbiBtb250ZWVyaXR1ZC4gIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyB1bm1vdW50ZWQiCittc2dzdHIgIiVzOiBzaXNlbmRpIPxsZXTkaXR1bWluZSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVtb3VudCBmYWlsZWQiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXMgcG9sZSBmbG9waXNlYWRlXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorbXNnc3RyICIlczogZWkgc3V1ZGEgbHVnZWRhICVzXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzOiB0YXJnZXQgaXMgYnVzeVxuIgorIiAgICAgICAgKEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gYWJvdXQgcHJvY2Vzc2VzIHRoYXRcbiIKKyIgICAgICAgICB1c2UgdGhlIGRldmljZSBpcyBmb3VuZCBieSBsc29mKDgpIG9yIGZ1c2VyKDEpLikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50cG9pbnQgbm90IGZvdW5kIgorbXNnc3RyICIlczogc2lzZW5kaSD8bGV05Gl0dW1pbmUiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNTAKKyMsIGZ1enp5Cittc2dpZCAidW5kZWZpbmVkIG1vdW50cG9pbnQiCittc2dzdHIgIiVzOiBlaSBsZWlhIHByb3RzZXNzaSBcIiVzXCJcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVubW91bnQiCittc2dzdHIgIktlbGxhIHNlYWRtaXNla3MgcGVhYiBvbGVtYSByb290XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJsb2NrIGRldmljZXMgYXJlIG5vdCBwZXJtaXR0ZWQgb24gZmlsZXN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzA3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgdW1vdW50IHRhcmdldCIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMyMworIywgZnV6enkKK21zZ2lkICJsaWJtb3VudCB0YWJsZSBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAiJXM6ICVzIPxtYmVyIG5pbWV0YW1pbmUgJXMgLWtzIGVpIPVubmVzdG51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjM2NiBzeXMtdXRpbHMvdW1vdW50LmM6NDQ2CisjLCBmdXp6eQorbXNnaWQgImxpYm1vdW50IGl0ZXJhdG9yIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJN5Gx1IHNhaSBvdHNhIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGNoaWxkIGZzIG9mICVzIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NDEwIHN5cy11dGlscy91bW91bnQuYzo0MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQiCittc2dzdHIgIiVzOiBzaXNlbmRpIPxsZXTkaXR1bWluZSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQ0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRldGVybWluZSBzb3VyY2UgKC0tYWxsLXRhcmdldHMgaXMgdW5zdXBwb3J0ZWQgb24gc3lzdGVtcyB3aXRoIHJlZ3VsYXIgbXRhYiBmaWxlKS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zZXRncm91cHMgYXJndW1lbnQgJyVzJyIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjExMCBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkICVzIgorbXNnc3RyICIlcyBhdmFtaW5lIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcm9wYWdhdGlvbiBtb2RlOiAlcyIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1NworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY2hhbmdlIHJvb3QgZmlsZXN5c3RlbSBwcm9wYWdhdGlvbiIKK21zZ3N0ciAiUGVhbGVzdW5uaXR1ZCBrb250cm9sbCBmYWlsaXP8c3RlZW1pbCAlc1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHN0YXQgJXMiCittc2dzdHIgInN0YXQoJXMpIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjEzCisjLCBmdXp6eQorbXNnaWQgInBpcGUgZmFpbGVkIgorbXNnc3RyICJFaSBzdXVkYSBhdmFkYSBmYWlsaSBgJXMnIgorCisjIFhYWCBzdGF0J2lkYQorIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGlwZSIKK21zZ3N0ciAiZWkgc3V1ZGEgc3RhdCdpZGEgc2VhZGV0ICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1MAorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBzb21lIG5hbWVzcGFjZXMgdW5zaGFyZWQgZnJvbSB0aGUgcGFyZW50LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUzCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTQKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taXBjWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU2CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU3CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTgKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgICAgdW5zaGFyZSBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICBmb3JrIGJlZm9yZSBsYXVuY2hpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MQorbXNnaWQgIiAgICAgLS1tb3VudC1wcm9jWz08ZGlyPl0gIG1vdW50IHByb2MgZmlsZXN5c3RlbSBmaXJzdCAoaW1wbGllcyAtLW1vdW50KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYyCittc2dpZCAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbWFwIGN1cnJlbnQgdXNlciB0byByb290IChpbXBsaWVzIC0tdXNlcilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MworbXNnaWQgIiIKKyIgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZ5IG1vdW50IHByb3BhZ2F0aW9uIGluIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY1CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zZXRncm91cHMgYWxsb3d8ZGVueSAgY29udHJvbCB0aGUgc2V0Z3JvdXBzIHN5c2NhbGwgaW4gdXNlciBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjM4NgorIywgZnV6enkKK21zZ2lkICJ1bnNoYXJlIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzMAorIywgZnV6enkKK21zZ2lkICJjaGlsZCBleGl0IGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzcKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9ucyAtLXNldGdyb3Vwcz1hbGxvdyBhbmQgLS1tYXAtcm9vdC11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiVzOiBW9XRtZWQgLS1hZGp1c3QgamEgLS1ub2FkamZpbGUgb24gdmFzdGFzdGlra3UgduRsaXN0YXZhZFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgZmFpbGVkIgorbXNnc3RyICIlczogJXMg/G1iZXIgbmltZXRhbWluZSAlcyAta3MgZWkg9W5uZXN0bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3MworbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc0Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NQorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAiRmFuIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NworbXNnaWQgIktlZXAgYWxpdmUgcGluZyByZXBseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OAorbXNnaWQgIlN1cHBvcnRzIG1hZ2ljIGNsb3NlIGNoYXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzkKK21zZ2lkICJSZXNldCBkdWUgdG8gQ1BVIG92ZXJoZWF0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgwCittc2dpZCAiUG93ZXIgb3ZlciB2b2x0YWdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgxCittc2dpZCAiUG93ZXIgYmFkL3Bvd2VyIGZhdWx0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgyCisjLCBmdXp6eQorbXNnaWQgIlByZXRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJMb2dpbiB0aW1lZCBvdXQgYWZ0ZXIgJWQgc2Vjb25kc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MworIywgZnV6enkKK21zZ2lkICJTZXQgdGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIkxvZ2luIHRpbWVkIG91dCBhZnRlciAlZCBzZWNvbmRzXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjg0Cittc2dpZCAiTm90IHRyaWdnZXIgcmVib290IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMAorbXNnaWQgImZsYWcgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiIGVlbWFsZGF0YXYiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMgorbXNnaWQgImZsYWcgc3RhdHVzIgorbXNnc3RyICIiCisKKyMgWFhYIHN0YXQnaWRhCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBib290IHN0YXR1cyIKK21zZ3N0ciAiZWkgc3V1ZGEgc3RhdCdpZGEgc2VhZGV0ICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAid2F0Y2hkb2cgZGV2aWNlIG5hbWUiCittc2dzdHIgIiVzOiB0dW5kbWF0dSBzaWduYWFsICVzXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmbGFnOiAlcyIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxNzcKK21zZ2lkICJTaG93IHRoZSBzdGF0dXMgb2YgdGhlIGhhcmR3YXJlIHdhdGNoZG9nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE4MAorbXNnaWQgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICBwcmludCBzZWxlY3RlZCBmbGFncyBvbmx5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciBmbGFncyB0YWJsZVxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdCBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgcHJpbnQgb25seSBmbGFncyB0YWJsZSAoc2FtZSBhcyAtSSAtVClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZWZhdWx0IGRldmljZSBpcyAlcy5cbiIKK21zZ3N0ciAiU2VhZGU6ICVzXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE5OQorbXNnaWQgIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjI4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZmxhZ3MgMHgleFxuIgorbXNnc3RyICIlczogdHVuZG1hdHUgc2lnbmFhbCAlc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMTkgc3lzLXV0aWxzL3dkY3RsLmM6Mzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXRjaGRvZyBhbHJlYWR5IGluIHVzZSwgdGVybWluYXRpbmcuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMzMyBzeXMtdXRpbHMvd2RjdGwuYzo0MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGlzYXJtIHdhdGNoZG9nIgorbXNnc3RyICJlaSBzdXVkYSB0YWdhc2kga2VyaWRhIHNhYWxpbWlzc2VhZGV0IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGltZW91dCBmb3IgJXMiCittc2dzdHIgImVpIHN1dWRhIGtpbmRsYWtzIHRlaGEgc2VhZG1lICVzIG1haHR1IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZC5cbiIKK21zZ2lkX3BsdXJhbCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kcy5cbiIKK21zZ3N0clswXSAiVmlpbWFzZXN0IGtlbGxhYWphIGtvcnJpZ2Vlcm1pc2VzdCBvbiBt9vZkdW51ZCAlZCBzZWt1bmRpdFxuIgorbXNnc3RyWzFdICJWaWltYXNlc3Qga2VsbGFhamEga29ycmlnZWVybWlzZXN0IG9uIG329mR1bnVkICVkIHNla3VuZGl0XG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgd2F0Y2hkb2ciCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCB0YWJlbGl0ZSBraXJqdXRhbWlzZWwiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NCBzeXMtdXRpbHMvd2RjdGwuYzo0Njcgc3lzLXV0aWxzL3dkY3RsLmM6NDcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlLTE0cyAlMmkgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIiUtMTRzICUyaSBzZWNvbmRzXG4iCittc2dzdHJbMF0gIiVzICAlLjZmIHNla3VuZGl0XG4iCittc2dzdHJbMV0gIiVzICAlLjZmIHNla3VuZGl0XG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NQorbXNnaWQgIlRpbWVvdXQ6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2OAorbXNnaWQgIlByZS10aW1lb3V0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NzEKK21zZ2lkICJUaW1lbGVmdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA1CisjLCBmdXp6eQorbXNnaWQgIkRldmljZToiCittc2dzdHIgIlNlYWRlIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDcKK21zZ2lkICJJZGVudGl0eToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA5Cittc2dpZCAidmVyc2lvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjczCisjLCBmdXp6eQorbXNnaWQgInpyYW0gZGV2aWNlIG5hbWUiCittc2dzdHIgIiVzOiB0dW5kbWF0dSBzaWduYWFsICVzXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzQKK21zZ2lkICJsaW1pdCBvbiB0aGUgdW5jb21wcmVzc2VkIGFtb3VudCBvZiBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzUKK21zZ2lkICJ1bmNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc2Cittc2dpZCAiY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzcKK21zZ2lkICJ0aGUgc2VsZWN0ZWQgY29tcHJlc3Npb24gYWxnb3JpdGhtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzgKK21zZ2lkICJudW1iZXIgb2YgY29uY3VycmVudCBjb21wcmVzcyBvcGVyYXRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiZW1wdHkgcGFnZXMgd2l0aCBubyBhbGxvY2F0ZWQgbWVtb3J5IgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODAKK21zZ2lkICJhbGwgbWVtb3J5IGluY2x1ZGluZyBhbGxvY2F0b3IgZnJhZ21lbnRhdGlvbiBhbmQgbWV0YWRhdGEgb3ZlcmhlYWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MQorbXNnaWQgIm1lbW9yeSBsaW1pdCB1c2VkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgyCittc2dpZCAibWVtb3J5IHpyYW0gaGF2ZSBiZWVuIGNvbnN1bWVkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgzCittc2dpZCAibnVtYmVyIG9mIG9iamVjdHMgbWlncmF0ZWQgYnkgY29tcGFjdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjM2MyBzeXMtdXRpbHMvenJhbWN0bC5jOjM3NAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgbW1fc3RhdCIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyIgJTEkcyAtciA8ZGV2aWNlPiBbLi4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxkZXZpY2U+IC1zIDxzaXplPlxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiBta2ZzIFstVl0gWy10IGZzdPz8cF0gW2ZzLXb1dG1lZF0gc2VhZGUgW3N1dXJ1c11cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MjcKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgenJhbSBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMwCittc2dpZCAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0ICAgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIHVzZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMxCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzIKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgZmluZCBhIGZyZWUgZGV2aWNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzQKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM1CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIHVzZSByYXcgc3RhdHVzIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM2CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzcKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNpemUgPHNpemU+ICAgICAgICAgZGV2aWNlIHNpemVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM4CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS1zdHJlYW1zIDxudW1iZXI+ICAgIG51bWJlciBvZiBjb21wcmVzc2lvbiBzdHJlYW1zXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYWxnb3JpdGhtOiAlcyIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYyNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RyZWFtcyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NDgKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9uIC0tZmluZCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8ZGV2aWNlPiIKK21zZ3N0ciAiJXM6IFb1dG1lZCAtLWFkanVzdCBqYSAtLW5vYWRqZmlsZSBvbiB2YXN0YXN0aWtrdSB25Gxpc3RhdmFkXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjU0Cittc2dpZCAib25seSBvbmUgPGRldmljZT4gYXQgYSB0aW1lIGlzIGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NTcKK21zZ2lkICJvcHRpb25zIC0tYWxnb3JpdGhtIGFuZCAtLXN0cmVhbXMgbXVzdCBiZSBjb21iaW5lZCB3aXRoIC0tc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY4NyBzeXMtdXRpbHMvenJhbWN0bC5jOjcxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZXNldCIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2OTggc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDYKK21zZ2lkICJubyBmcmVlIHpyYW0gZGV2aWNlIGZvdW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBudW1iZXIgb2Ygc3RyZWFtcyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGFsZ29yaXRobSIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGRpc2tzaXplICglanUgYnl0ZXMpIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjQ1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzIChhdXRvbWF0aWMgbG9naW4pXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugcm9vdCBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczogZWkgc3V1ZGEga+Rpdml0YWRhIHByb2dyYW1taSAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHdvcmtpbmcgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiVmlnYSBzZWt0b3JpICVsdSBraXJqdXRhbWlzZWwgc2VhZG1lbGUgJXNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2UgcHJvY2VzcyBwcmlvcml0eTogJW0iCittc2dzdHIgIiVzOiBlaSBsZWlhIHByb3RzZXNzaSBcIiVzXCJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGV4ZWMgJXM6ICVtIgorbXNnc3RyICIlczogZWkgc3V1ZGEga+Rpdml0YWRhIHByb2dyYW1taSAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTU1IHRlcm0tdXRpbHMvYWdldHR5LmM6ODQxIHRlcm0tdXRpbHMvYWdldHR5LmM6ODUzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MTUgdGVybS11dGlscy9hZ2V0dHkuYzoxNDMzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NjkgdGVybS11dGlscy9hZ2V0dHkuYzoxNDc5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTUxNgorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTc4IHRlcm0tdXRpbHMvYWdldHR5LmM6MjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeTogJW0iCittc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo2ODAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBkZWxheSBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjcxOQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC0tbG9jYWwtbGluZSIKK21zZ3N0ciAidmlnYW5lIGtpaXJ1czogJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzM4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbmljZSBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3BlZWQ6ICVzIgorbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzcKK21zZ2lkICJ0b28gbWFueSBhbHRlcm5hdGUgc3BlZWRzIgorbXNnc3RyICJsaWlnYSBwYWxqdSBhbHRlcm5hdGlpdnNlaWQga2lpcnVzaSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDA2IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAxMCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IG9wZW4gYXMgc3RhbmRhcmQgaW5wdXQ6ICVtIgorbXNnc3RyICJlaSBzYWFudWQgYXZhZGEgL2Rldi8lcyBzdGFuZGFyZHNpc2VuZGluYTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAyOQorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSBjaGFyYWN0ZXIgZGV2aWNlIgorbXNnc3RyICIvZGV2LyVzIHBvbGUgc/xtYm9sc2VhZGUiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgdHR5IgorbXNnc3RyICJqdXVya2F0YWxvb2dpIGkta2lyamUgZWkga2lyamVsZGEga2F0YWxvb2dpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzUgdGVybS11dGlscy9hZ2V0dHkuYzoxMDY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3QgZ2V0IGNvbnRyb2xsaW5nIHR0eTogJW0iCittc2dzdHIgImVpIHNhYW51ZCBhdmFkYSAvZGV2LyVzIHN0YW5kYXJkc2lzZW5kaW5hOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiB2aGFuZ3VwKCkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG9wZW4gZm9yIHJlYWQvd3JpdGUiCittc2dzdHIgIiVzIHBvbGUgYXZhdHVkIGx1Z2VtaXNla3MgX2phXyBraXJqdXRhbWlzZWtzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBzZXQgcHJvY2VzcyBncm91cDogJW0iCittc2dzdHIgIiVzOiBlaSBsZWlhIHByb3RzZXNzaSBcIiVzXCJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkdXAgcHJvYmxlbTogJW0iCittc2dzdHIgInByb2JsZWVtICVzIGR1YmxlZXJpbWlzZWw6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICJlaSBzdXVkYSBraW5kbGFrcyB0ZWhhIHNlYWRtZSAlcyBtYWh0dSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMzIxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZhaWxlZDogJW0iCittc2dzdHIgImVpIHN1dWRhIGtpbmRsYWtzIHRlaGEgc2VhZG1lICVzIG1haHR1IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NTkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gb3MtcmVsZWFzZSBmaWxlIgorbXNnc3RyICJFaSBzdXVkYSBhdmFkYSBmYWlsaSBgJXMnIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE2MzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcmVsb2FkIGZpbGU6ICVzOiAlbSIKK21zZ3N0ciAiaW9jdGwoKSBhYmlsIGtlbGxhIGx1Z2VtaW5lICVzIGthdWR1IGVpIPVubmVzdHVudWQiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTczNgorbXNnaWQgIltwcmVzcyBFTlRFUiB0byBsb2dpbl0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzYwCittc2dpZCAiTnVtIExvY2sgb2ZmIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2MworbXNnaWQgIk51bSBMb2NrIG9uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2NgorbXNnaWQgIkNhcHMgTG9jayBvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjkKK21zZ2lkICJTY3JvbGwgTG9jayBvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJIaW50OiAlc1xuIgorIlxuIgorbXNnc3RyICJ0/PxwOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQ6ICVtIgorbXNnc3RyICIlczogcmVhZDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk1OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5wdXQgb3ZlcnJ1biIKK21zZ3N0ciAiJXM6IHNpc2VuZGkg/GxldORpdHVtaW5lIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NzQgdGVybS11dGlscy9hZ2V0dHkuYzoxOTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciBjb252ZXJzaW9uIGZvciBsb2dpbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgMHgleCBpbiBsb2dpbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgImVpIHN1dWRhIGtpbmRsYWtzIHRlaGEgc2VhZG1lICVzIG1haHR1IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8bGluZT4gWzxiYXVkX3JhdGU+LC4uLl0gWzx0ZXJtdHlwZT5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxiYXVkX3JhdGU+LC4uLiA8bGluZT4gWzx0ZXJtdHlwZT5dXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTEzCittc2dpZCAiT3BlbiBhIHRlcm1pbmFsIGFuZCBzZXQgaXRzIG1vZGUuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE2CisjLCBmdXp6eQorbXNnaWQgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBhc3N1bWUgOC1iaXQgdHR5XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTcKK21zZ2lkICIgLWEsIC0tYXV0b2xvZ2luIDx1c2VyPiAgICAgbG9naW4gdGhlIHNwZWNpZmllZCB1c2VyIGF1dG9tYXRpY2FsbHlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTgKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGRvIG5vdCByZXNldCBjb250cm9sIG1vZGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExOQorIywgZnV6enkKK21zZ2lkICIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAgdXNlIC1yIDxob3N0bmFtZT4gZm9yIGxvZ2luKDEpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjAKK21zZ2lkICIgLWYsIC0taXNzdWUtZmlsZSA8ZmlsZT4gICAgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIxCittc2dpZCAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIGVuYWJsZSBoYXJkd2FyZSBmbG93IGNvbnRyb2xcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjIKK21zZ2lkICIgLUgsIC0taG9zdCA8aG9zdG5hbWU+ICAgICAgc3BlY2lmeSBsb2dpbiBob3N0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIzCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICBkbyBub3QgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBW5GxqYXN0YWRhIHBhcnRpdHNpb29uaXRhYmVsIGVrcmFhbmlsZSB29WkgZmFpbGkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNAorbXNnaWQgIiAtSSwgLS1pbml0LXN0cmluZyA8c3RyaW5nPiBzZXQgaW5pdCBzdHJpbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjUKKyMsIGZ1enp5Cittc2dpZCAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIGRvIG5vdCBjbGVhciB0aGUgc2NyZWVuIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNgorbXNnaWQgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBzcGVjaWZ5IGxvZ2luIHByb2dyYW1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjcKK21zZ2lkICIgLUwsIC0tbG9jYWwtbGluZVs9PG1vZGU+XSAgY29udHJvbCB0aGUgbG9jYWwgbGluZSBmbGFnXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI4Cittc2dpZCAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI5Cittc2dpZCAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGRvIG5vdCBwcm9tcHQgZm9yIGxvZ2luXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMwCisjLCBmdXp6eQorbXNnaWQgIiAtTiAgLS1ub25ld2xpbmUgICAgICAgICAgICBkbyBub3QgcHJpbnQgYSBuZXdsaW5lIGJlZm9yZSBpc3N1ZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgVuRsamFzdGFkYSBwYXJ0aXRzaW9vbml0YWJlbCBla3JhYW5pbGUgdvVpIGZhaWxpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzEKK21zZ2lkICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8b3B0cz4gb3B0aW9ucyB0aGF0IGFyZSBwYXNzZWQgdG8gbG9naW5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzIKK21zZ2lkICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMzCittc2dpZCAiIC1yLCAtLWNocm9vdCA8ZGlyPiAgICAgICAgIGNoYW5nZSByb290IHRvIHRoZSBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzQKK21zZ2lkICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgZG8gdmlydHVhbGx5IGhhbmd1cCBvbiB0aGUgdHR5XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM1Cittc2dpZCAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIHRyeSB0byBrZWVwIGJhdWQgcmF0ZSBhZnRlciBicmVha1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNgorbXNnaWQgIiAtdCwgLS10aW1lb3V0IDxudW1iZXI+ICAgICBsb2dpbiBwcm9jZXNzIHRpbWVvdXRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzcKK21zZ2lkICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgZGV0ZWN0IHVwcGVyY2FzZSB0ZXJtaW5hbFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzOAorbXNnaWQgIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICB3YWl0IGNhcnJpYWdlLXJldHVyblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzOQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAgZG8gbm90IHByaW50IGhpbnRzXG4iCittc2dzdHIgIiAgICAgICAgICAgIEVzaW1lbmUgIFZpaW1hbmVcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub2hvc3RuYW1lICAgICAgICAgICBubyBob3N0bmFtZSBhdCBhbGwgd2lsbCBiZSBzaG93blxuIgorbXNnc3RyICIgIHAgICAgICAgICAgVuRsamFzdGFkYSBwYXJ0aXRzaW9vbml0YWJlbCBla3JhYW5pbGUgdvVpIGZhaWxpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDEKK21zZ2lkICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgc2hvdyBmdWxsIHF1YWxpZmllZCBob3N0bmFtZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MgorbXNnaWQgIiAgICAgLS1lcmFzZS1jaGFycyA8c3RyaW5nPiBhZGRpdGlvbmFsIGJhY2tzcGFjZSBjaGFyc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MworbXNnaWQgIiAgICAgLS1raWxsLWNoYXJzIDxzdHJpbmc+ICBhZGRpdGlvbmFsIGtpbGwgY2hhcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDQKK21zZ2lkICIgICAgIC0tY2hkaXIgPGRpcmVjdG9yeT4gICAgY2hkaXIgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NQorbXNnaWQgIiAgICAgLS1kZWxheSA8bnVtYmVyPiAgICAgICBzbGVlcCBzZWNvbmRzIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDYKK21zZ2lkICIgICAgIC0tbmljZSA8bnVtYmVyPiAgICAgICAgcnVuIGxvZ2luIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NworIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgcmVsb2FkIHByb21wdHMgb24gcnVubmluZyBhZ2V0dHkgaW5zdGFuY2VzXG4iCittc2dzdHIgIiAgICAgICAgICAgIEVzaW1lbmUgIFZpaW1hbmVcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ4CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1oZWxwICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ5CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgICAgICAgICBFc2ltZW5lICBWaWltYW5lXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjQ4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgdXNlciIKK21zZ2lkX3BsdXJhbCAiJWQgdXNlcnMiCittc2dzdHJbMF0gImthc3V0YWphIgorbXNnc3RyWzFdICJrYXN1dGFqYSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaGVja25hbWUgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2hkaXIgKCkga2F0YWxvb2dpIC9kZXYgZWkg9W5uZXN0dW51ZDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHRvdWNoIGZpbGUgJXMiCittc2dzdHIgIkVpIHN1dWRhIGF2YWRhIGZhaWxpIGAlcyciCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYyNQorbXNnaWQgIi0tcmVsb2FkIGlzIHVuc3VwcG9ydGVkIG9uIHlvdXIgc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFt5IHwgbl1cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6NzgKK21zZ2lkICJDb250cm9sIHdyaXRlIGFjY2VzcyBvZiBvdGhlciB1c2VycyB0byB5b3VyIHRlcm1pbmFsLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjgxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTI1CisjLCBmdXp6eQorbXNnaWQgInR0eW5hbWUgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNAorIywgZnV6enkKK21zZ2lkICJpcyB5IgorbXNnc3RyICJvbiBzaXNzZSBs/GxpdGF0dWQgKHkpXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNworIywgZnV6enkKK21zZ2lkICJpcyBuIgorbXNnc3RyICJvbiB25GxqYSBs/GxpdGF0dWQgKG4pXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE0OCB0ZXJtLXV0aWxzL21lc2cuYzoxNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZSAlcyBtb2RlIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNTAKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBhbGxvd2VkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1NworbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGRlbmllZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVdXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTYyCittc2dpZCAiTWFrZSBhIHR5cGVzY3JpcHQgb2YgYSB0ZXJtaW5hbCBzZXNzaW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTY1Cittc2dpZCAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICBhcHBlbmQgdGhlIG91dHB1dFxuIgorIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiBydW4gY29tbWFuZCByYXRoZXIgdGhhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgorIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICByZXR1cm4gZXhpdCBjb2RlIG9mIHRoZSBjaGlsZCBwcm9jZXNzXG4iCisiIC1mLCAtLWZsdXNoICAgICAgICAgICAgIHJ1biBmbHVzaCBhZnRlciBlYWNoIHdyaXRlXG4iCisiICAgICAtLWZvcmNlICAgICAgICAgICAgIHVzZSBvdXRwdXQgZmlsZSBldmVuIHdoZW4gaXQgaXMgYSBsaW5rXG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIGJlIHF1aWV0XG4iCisiIC10LCAtLXRpbWluZ1s9PGZpbGU+XSAgIG91dHB1dCB0aW1pbmcgZGF0YSB0byBzdGRlcnIgKG9yIHRvIEZJTEUpXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm91dHB1dCBmaWxlIGAlcycgaXMgYSBsaW5rXG4iCisiVXNlIC0tZm9yY2UgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC5cbiIKKyJQcm9ncmFtIG5vdCBzdGFydGVkLiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgZG9uZSwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MjYyCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCB3cml0ZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAic3RhdCglcykgZWkg9W5uZXN0dW51ZCIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQzOAorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgc3RhcnRlZCBvbiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2NyaXB0IGRvbmUgb24gJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2MDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJlaSBzdXVkYSBraW5kbGFrcyB0ZWhhIHNlYWRtZSAlcyBtYWh0dSIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2MTQKKyMsIGZ1enp5Cittc2dpZCAib3BlbnB0eSBmYWlsZWQiCittc2dzdHIgIkVpIHN1dWRhIGF2YWRhIGZhaWxpIGAlcyciCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjUyCisjLCBmdXp6eQorbXNnaWQgIm91dCBvZiBwdHkncyIKK21zZ3N0ciAiTeRsdSBzYWkgb3RzYSIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo3NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLXRdIHRpbWluZ2ZpbGUgW3R5cGVzY3JpcHRdIFtkaXZpc29yXVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDcKK21zZ2lkICJQbGF5IGJhY2sgdGVybWluYWwgdHlwZXNjcmlwdHMsIHVzaW5nIHRpbWluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjUwCittc2dpZCAiIgorIiAtdCwgLS10aW1pbmcgPGZpbGU+ICAgICBzY3JpcHQgdGltaW5nIG91dHB1dCBmaWxlXG4iCisiIC1zLCAtLXR5cGVzY3JpcHQgPGZpbGU+IHNjcmlwdCB0ZXJtaW5hbCBzZXNzaW9uIG91dHB1dCBmaWxlXG4iCisiIC1kLCAtLWRpdmlzb3IgPG51bT4gICAgIHNwZWVkIHVwIG9yIHNsb3cgZG93biBleGVjdXRpb24gd2l0aCB0aW1lIGRpdmlzb3JcbiIKKyIgLW0sIC0tbWF4ZGVsYXkgPG51bT4gICAgd2FpdCBhdCBtb3N0IHRoaXMgbWFueSBzZWNvbmRzIGJldHdlZW4gdXBkYXRlc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTEyCisjLCBmdXp6eQorbXNnaWQgIndyaXRlIHRvIHN0ZG91dCBmYWlsZWQiCittc2dzdHIgIiVzIGF2YW1pbmUgZWkg9W5uZXN0dW51ZCIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSBvbiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjEyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdHlwZXNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJpb2N0bCgpIGFiaWwga2VsbGEgbHVnZW1pbmUgJXMga2F1ZHUgZWkg9W5uZXN0dW51ZCIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxODQKKyMsIGZ1enp5Cittc2dpZCAid3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAiTGlpZ2EgcGFsanUgYXJndW1lbnRlXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aW1pbmcgZmlsZSAlcyIKK21zZ3N0ciAiaW9jdGwoKSBhYmlsIGtlbGxhIGx1Z2VtaW5lICVzIGthdWR1IGVpIPVubmVzdHVudWQiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWluZyBmaWxlICVzOiBsaW5lICVsdTogdW5leHBlY3RlZCBmb3JtYXQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgImFyZ3VtZW50IGVycm9yOiBicmlnaHQgJXMgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjgKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgdGFicyIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODMKK21zZ2lkICJTZXQgdGhlIGF0dHJpYnV0ZXMgb2YgYSB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODYKK21zZ2lkICIgLS10ZXJtICAgICAgICAgIDx0ZXJtaW5hbF9uYW1lPiAgIG92ZXJyaWRlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODcKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCB0byBwb3dlci1vbiBzdGF0ZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg4CisjLCBmdXp6eQorbXNnaWQgIiAtLWluaXRpYWxpemUgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBpbml0IHN0cmluZywgYW5kIHVzZSBkZWZhdWx0IHNldHRpbmdzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODkKKyMsIGZ1enp5Cittc2dpZCAiIC0tZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgZGVmYXVsdCB0ZXJtaW5hbCBzZXR0aW5nc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkwCittc2dpZCAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgdGVybWluYWwgc2V0dGluZ3MgYXMgZGVmYXVsdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MQorIywgZnV6enkKK21zZ2lkICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGRpc3BsYXkgY3Vyc29yXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTIKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVwZWF0ICAgICAgICBbb258b2ZmXSAgICAgICAgICBrZXlib2FyZCByZXBlYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MworbXNnaWQgIiAtLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gICAgICAgICAgY3Vyc29yIGtleSBhcHBsaWNhdGlvbiBtb2RlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk0Cittc2dpZCAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBjb250aW51ZSBvbiBhIG5ldyBsaW5lIHdoZW4gYSBsaW5lIGlzIGZ1bGxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTUKK21zZ2lkICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIHN3YXAgY29sb3JzIGZvciB0aGUgd2hvbGUgc2NyZWVuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk2Cittc2dpZCAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgZm9yZWdyb3VuZCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NworbXNnaWQgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGJhY2tncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTgKK21zZ2lkICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCB1bmRlcmxpbmVkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTkKK21zZ2lkICIgLS1oYmNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCBib2xkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDAKK21zZ2lkICIgICAgICAgICAgICAgICAgIDxjb2xvcj46IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMQorIywgZnV6enkKK21zZ2lkICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJvbGRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMgorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAzCittc2dpZCAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlua1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNAorIywgZnV6enkKK21zZ2lkICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHVuZGVybGluZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA1Cittc2dpZCAiIC0tcmV2ZXJzZSAgICAgICBbb258b2ZmXSAgICAgICAgICBzd2FwIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQgY29sb3JzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA2CisjLCBmdXp6eQorbXNnaWQgIiAtLWNsZWFyICAgICAgICAgW2FsbHxyZXN0XSAgICAgICAgY2xlYXIgc2NyZWVuIGFuZCBzZXQgY3Vyc29yIHBvc2l0aW9uXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDcKKyMsIGZ1enp5Cittc2dpZCAiIC0tdGFicyAgICAgICAgICBbPG51bWJlcj4uLi5dICAgICBzZXQgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBzaG93IHRoZW1cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOAorIywgZnV6enkKK21zZ2lkICIgLS1jbHJ0YWJzICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIGNsZWFyIHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3IgYWxsXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDkKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICBzZXQgYSByZWd1bGFyIHRhYiBzdG9wIGludGVydmFsXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTAKK21zZ2lkICIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIHNldCB0aW1lIG9mIGluYWN0aXZpdHkgYmVmb3JlIHNjcmVlbiBibGFua3NcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTEKK21zZ2lkICIgLS1kdW1wICAgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIHdyaXRlIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMgorbXNnaWQgIiAtLWFwcGVuZCAgICAgICAgWzxudW1iZXI+XSAgICAgICAgYXBwZW5kIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMworbXNnaWQgIiAtLWZpbGUgICAgICAgICAgPGZpbGVuYW1lPiAgICAgICAgbmFtZSBvZiB0aGUgZHVtcCBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE0CisjLCBmdXp6eQorbXNnaWQgIiAtLW1zZyAgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgc2VuZCBrZXJuZWwgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE1CisjLCBmdXp6eQorbXNnaWQgIiAtLW1zZ2xldmVsICAgICAgMC04ICAgICAgICAgICAgICAga2VybmVsIGNvbnNvbGUgbG9nIGxldmVsXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTYKK21zZ2lkICIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNworIywgZnV6enkKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCB2ZXNhIHBvd2Vyc2F2aW5nIGZlYXR1cmVzXG4iCittc2dzdHIgIiAgICAgICAgICAgIEVzaW1lbmUgIFZpaW1hbmVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE4Cittc2dpZCAiIC0tcG93ZXJkb3duICAgICBbMC02MF0gICAgICAgICAgICBzZXQgdmVzYSBwb3dlcmRvd24gaW50ZXJ2YWwgaW4gbWludXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxOQorbXNnaWQgIiAtLWJsZW5ndGggICAgICAgWzAtMjAwMF0gICAgICAgICAgZHVyYXRpb24gb2YgdGhlIGJlbGwgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIwCittc2dpZCAiIC0tYmZyZXEgICAgICAgICA8bnVtYmVyPiAgICAgICAgICBiZWxsIGZyZXF1ZW5jeSBpbiBIZXJ0elxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMQorIywgZnV6enkKK21zZ2lkICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIHNob3cgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgICAgICAgICBFc2ltZW5lICBWaWltYW5lXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMgorIywgZnV6enkKK21zZ2lkICIgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MzAKK21zZ2lkICJkdXBsaWNhdGUgdXNlIG9mIGFuIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MzQKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGZvcmNlIGJsYW5rIgorbXNnc3RyICJmb3JrIGVpIPVubmVzdHVudWQiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjczOQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZm9yY2UgdW5ibGFuayIKK21zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NDUKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGdldCBibGFuayBzdGF0dXMiCittc2dzdHIgIkVpIHN1dWRhIGF2YWRhIGZhaWxpICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuIG5vdCBvcGVuIGR1bXAgZmlsZSAlcyBmb3Igb3V0cHV0IgorbXNnc3RyICJlaSBzdXVkYSBhdmFkYSBzZWFkZXQgJXMga2lyanV0YW1pc2Vrc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsICVzIGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgIiVzOiBLYXN1dGFqYXQgXCIlc1wiIHBvbGUgb2xlbWFzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjk4OAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgKHVuKXNldCBwb3dlcnNhdmUgbW9kZSIKK21zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDA3IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwMTYKKyMsIGZ1enp5Cittc2dpZCAia2xvZ2N0bCBlcnJvciIKK21zZ3N0ciAiRmF0YWFsbmUgdmlnYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDM3Cittc2dpZCAiJFRFUk0gaXMgbm90IGRlZmluZWQuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDQKK21zZ2lkICJ0ZXJtaW5mbyBkYXRhYmFzZSBjYW5ub3QgYmUgZm91bmQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gdGVybWluYWwgdHlwZSIKK21zZ3N0ciAiJXM6IHR1bmRtYXR1IHNpZ25hYWwgJXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0OAorbXNnaWQgInRlcm1pbmFsIGlzIGhhcmRjb3B5IgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB0b28gbWFueSBpb3YncyIKK21zZ3N0ciAic2lzZW1pbmUgdmlnYSIKKworIzogdGVybS11dGlscy90dHltc2cuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICJleGNlc3NpdmVseSBsb25nIGxpbmUgYXJnIgorbXNnc3RyICJ25GdhIHBpa2sgYXJndW1lbnQiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVuIGZhaWxlZCIKK21zZ3N0ciAiRWkgc3V1ZGEgYXZhZGEgZmFpbGkgYCVzJyIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZvcms6ICVtIgorbXNnc3RyICJmb3JrOiAlcyIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZvcmsiCittc2dzdHIgImZvcmsgZWkg9W5uZXN0dW51ZCIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJBRCBFUlJPUiwgbWVzc2FnZSBpcyBmYXIgdG9vIGxvbmciCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiB8IDxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODYKK21zZ2lkICJXcml0ZSBhIG1lc3NhZ2UgdG8gYWxsIHVzZXJzLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg5CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBkbyBub3QgcHJpbnQgYmFubmVyLCB3b3JrcyBvbmx5IGZvciByb290XG4iCittc2dzdHIgIiAgcCAgICAgICAgICBW5GxqYXN0YWRhIHBhcnRpdHNpb29uaXRhYmVsIGVrcmFhbmlsZSB29WkgZmFpbGkiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjkwCittc2dpZCAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEzMgorbXNnaWQgIi0tbm9iYW5uZXIgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIHJvb3QiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6MTM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJ2aWdhbmUgdGFpbWFkaSB25ORydHVzOiAlcyIKKworIzogdGVybS11dGlscy93YWxsLmM6MjY5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgcGFzc3dkIHVpZCIKK21zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyNzQKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGdldCB0dHkgbmFtZSIKK21zZ3N0ciAiRWkgc3V1ZGEga2luZGxha3MgdGVoYSBrZXR0YSBtYWh0dSIKKworIzogdGVybS11dGlscy93YWxsLmM6Mjk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCcm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzQCVzICglcykgKCVzKToiCittc2dzdHIgIlRlYWRlIGv1aWdpbGUga2FzdXRhamFsdCAlc0AlcyIKKworIzogdGVybS11dGlscy93YWxsLmM6MzI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3aWxsIG5vdCByZWFkICVzIC0gdXNlIHN0ZGluLiIKK21zZ3N0ciAiJXM6IGVpIGhha2thICVzIGx1Z2VtYSwga2FzdXRhIHN0YW5kYXJkc2lzZW5kaXRcbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1c2VyPiBbPHR0eW5hbWU+XVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6OTAKK21zZ2lkICJTZW5kIGEgbWVzc2FnZSB0byBhbm90aGVyIHVzZXIuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICJlZmZlY3RpdmUgZ2lkIGRvZXMgbm90IG1hdGNoIGdyb3VwIG9mICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4iCittc2dzdHIgIndyaXRlOiAlcyBwb2xlIHNpc3NlIGxvZ2l0dWRcbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwNworIywgZnV6enkKK21zZ2lkICJjYW4ndCBmaW5kIHlvdXIgdHR5J3MgbmFtZSIKK21zZ3N0ciAid3JpdGU6IGVpIGxlaWEgU2ludSB0ZXJtaW5hbGlzZWFkbWUgbmltZVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQiCittc2dzdHIgIndyaXRlOiAlcyBrZWVsZHViIHRlYWRldGVzdFxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBsb2dnZWQgaW4gbW9yZSB0aGFuIG9uY2U7IHdyaXRpbmcgdG8gJXMiCittc2dzdHIgIndyaXRlOiAlcyBvbiBzaXNzZSBsb2dpdHVkIHJvaGtlbSBrdWkg/Ghlc3Qga29oYXN0LCBrYXN1dGFuIHRlbWEgdGVybWluYWxpICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiY2FyZWZ1bHB1dGMgZmFpbGVkIgorbXNnc3RyICJN5Gx1IHNhaSBvdHNhIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgKGFzICVzKSBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICJUZWFkZSBrYXN1dGFqYWx0ICVzQCVzICglcykgdGVybWluYWxpbCAlcyBrZWxsICVzLi4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6Mjg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiVGVhZGUga2FzdXRhamFsdCAlc0AlcyB0ZXJtaW5hbGlsICVzIGtlbGwgJXMuLi4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozMzEKKyMsIGZ1enp5Cittc2dpZCAieW91IGhhdmUgd3JpdGUgcGVybWlzc2lvbiB0dXJuZWQgb2ZmIgorbXNnc3RyICJ3cml0ZTogU3VsIG9uIGtpcmp1dGFtaXP1aWd1cyB25GxqYSBs/GxpdGF0dWRcbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiBvbiAlcyIKK21zZ3N0ciAid3JpdGU6ICVzIHBvbGUgdGVybWluYWxpbHQgJXMgc2lzc2UgbG9naXR1ZFxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQgb24gJXMiCittc2dzdHIgIndyaXRlOiAlcyBrZWVsZHViIHRlYWRldGVzdCB0ZXJtaW5hbGlsICVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM0Cittc2dpZCAiRmlsdGVyIG91dCByZXZlcnNlIGxpbmUgZmVlZHMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAgZG8gbm90IG91dHB1dCBiYWNrc3BhY2VzXG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAgcGVybWl0IGZvcndhcmQgaGFsZiBsaW5lIGZlZWRzXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAgcGFzcyB1bmtub3duIGNvbnRyb2wgc2VxdWVuY2VzXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgY29udmVydCBzcGFjZXMgdG8gdGFic1xuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIGNvbnZlcnQgdGFicyB0byBzcGFjZXNcbiIKKyIgLWwsIC0tbGluZXMgTlVNICAgICAgICBidWZmZXIgYXQgbGVhc3QgTlVNIGxpbmVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLUgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTQ4IHRleHQtdXRpbHMvY29scm0uYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXMgcmVhZHMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MjEyCisjLCBmdXp6eQorbXNnaWQgImJhZCAtbCBhcmd1bWVudCIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW4ndCBiYWNrIHVwICVzLiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjMzNworbXNnaWQgInBhc3QgZmlyc3QgbGluZSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjMzNworbXNnaWQgIi0tIGxpbmUgYWxyZWFkeSBmbHVzaGVkIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODEgdGV4dC11dGlscy9jb2x1bW4uYzoxMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NAorbXNnaWQgIkZpbHRlciBucm9mZiBvdXRwdXQgZm9yIENSVCBwcmV2aWV3aW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODcKK21zZ2lkICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgICAgc3VwcHJlc3MgYWxsIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OAorIywgZnV6enkKK21zZ2lkICIgLTIsIC0taGFsZi1saW5lcyAgICAgICAgcHJpbnQgYWxsIGhhbGYtbGluZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbc3RhcnRjb2wgW2VuZGNvbF1dXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo2NAorbXNnaWQgIkZpbHRlciBvdXQgdGhlIHNwZWNpZmllZCBjb2x1bW5zLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiZmlyc3QgYXJndW1lbnQiCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NworIywgZnV6enkKK21zZ2lkICJzZWNvbmQgYXJndW1lbnQiCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjAKK21zZ2lkICJDb2x1bW5hdGUgbGlzdHMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjMKK21zZ2lkICIgLWMsIC0tY29sdW1ucyA8d2lkdGg+ICAgIHdpZHRoIG9mIG91dHB1dCBpbiBudW1iZXIgb2YgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI0CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10YWJsZSAgICAgICAgICAgICAgY3JlYXRlIGEgdGFibGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI1Cittc2dpZCAiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiBwb3NzaWJsZSB0YWJsZSBkZWxpbWl0ZXJzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjYKK21zZ2lkICIiCisiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0cmluZz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnMgc2VwYXJhdG9yIGZvciB0YWJsZSBvdXRwdXQ7IGRlZmF1bHQgaXMgdHdvIHNwYWNlc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI4CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1maWxscm93cyAgICAgICAgICAgZmlsbCByb3dzIGJlZm9yZSBjb2x1bW5zXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjE4MgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGNvbHVtbnMgYXJndW1lbnQiCittc2dzdHIgInZpZ2FuZSBpZGVudGlmaWthYXRvciIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlZCBpcyB0b28gbG9uZywgb3V0cHV0IHdpbGwgYmUgdHJ1bmNhdGVkIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1NSB0ZXh0LXV0aWxzL21vcmUuYzoyMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+Li4uXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1OAorbXNnaWQgIkRpc3BsYXkgZmlsZSBjb250ZW50cyBpbiBoZXhhZGVjaW1hbCwgZGVjaW1hbCwgb2N0YWwsIG9yIGFzY2lpLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MQorbXNnaWQgIiAtYiwgLS1vbmUtYnl0ZS1vY3RhbCAgICAgIG9uZS1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjIKK21zZ2lkICIgLWMsIC0tb25lLWJ5dGUtY2hhciAgICAgICBvbmUtYnl0ZSBjaGFyYWN0ZXIgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MworbXNnaWQgIiAtQywgLS1jYW5vbmljYWwgICAgICAgICAgIGNhbm9uaWNhbCBoZXgrQVNDSUkgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NAorbXNnaWQgIiAtZCwgLS10d28tYnl0ZXMtZGVjaW1hbCAgIHR3by1ieXRlIGRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NQorbXNnaWQgIiAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIHR3by1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjYKK21zZ2lkICIgLXgsIC0tdHdvLWJ5dGVzLWhleCAgICAgICB0d28tYnl0ZSBoZXhhZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY3Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08bW9kZT5dICAgICAgaW50ZXJwcmV0IGNvbG9yIGZvcm1hdHRpbmcgc3BlY2lmaWVyc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MAorbXNnaWQgIiAtZSwgLS1mb3JtYXQgPGZvcm1hdD4gICAgIGZvcm1hdCBzdHJpbmcgdG8gYmUgdXNlZCBmb3IgZGlzcGxheWluZyBkYXRhXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcxCittc2dpZCAiIC1mLCAtLWZvcm1hdC1maWxlIDxmaWxlPiAgZmlsZSB0aGF0IGNvbnRhaW5zIGZvcm1hdCBzdHJpbmdzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcyCittc2dpZCAiIC1uLCAtLWxlbmd0aCA8bGVuZ3RoPiAgICAgaW50ZXJwcmV0IG9ubHkgbGVuZ3RoIGJ5dGVzIG9mIGlucHV0XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTczCittc2dpZCAiIC1zLCAtLXNraXAgPG9mZnNldD4gICAgICAgc2tpcCBvZmZzZXQgYnl0ZXMgZnJvbSB0aGUgYmVnaW5uaW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTc0Cittc2dpZCAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgb3V0cHV0IGlkZW50aWNhbCBsaW5lc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1kaXNwbGF5LmM6MzY1CisjLCBmdXp6eQorbXNnaWQgImFsbCBpbnB1dCBmaWxlIGFyZ3VtZW50cyBmYWlsZWQiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGJ5dGUgY291bnQgZm9yIGNvbnZlcnNpb24gY2hhcmFjdGVyICVzIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUlcyByZXF1aXJlcyBhIHByZWNpc2lvbiBvciBhIGJ5dGUgY291bnQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGZvcm1hdCB7JXN9IgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjcwCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb252ZXJzaW9uIGNoYXJhY3RlciAlJSVzIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjQzNgorbXNnaWQgImJ5dGUgY291bnQgd2l0aCBtdWx0aXBsZSBjb252ZXJzaW9uIGNoYXJhY3RlcnMiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9saW5lLmM6MzMKK21zZ2lkICJSZWFkIG9uZSBsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIyOAorbXNnaWQgIkEgZmlsZSBwZXJ1c2FsIGZpbHRlciBmb3IgQ1JUIHZpZXdpbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjMxCisjLCBmdXp6eQorbXNnaWQgIiAtZCAgICAgICAgICBkaXNwbGF5IGhlbHAgaW5zdGVhZCBvZiByaW5naW5nIGJlbGxcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMgorbXNnaWQgIiAtZiAgICAgICAgICBjb3VudCBsb2dpY2FsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMworIywgZnV6enkKK21zZ2lkICIgLWwgICAgICAgICAgc3VwcHJlc3MgcGF1c2UgYWZ0ZXIgZm9ybSBmZWVkXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBW5GxqYXN0YWRhIHBhcnRpdHNpb29uaXRhYmVsIGVrcmFhbmlsZSB29WkgZmFpbGkiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNAorIywgZnV6enkKK21zZ2lkICIgLWMgICAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFbkbGphc3RhZGEgcGFydGl0c2lvb25pdGFiZWwgZWtyYWFuaWxlIHb1aSBmYWlsaSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM1CisjLCBmdXp6eQorbXNnaWQgIiAtcCAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBjbGVhbiBzY3JlZW4gYW5kIGRpc3BsYXkgdGV4dFxuIgorbXNnc3RyICIgIHAgICAgICAgICAgVuRsamFzdGFkYSBwYXJ0aXRzaW9vbml0YWJlbCBla3JhYW5pbGUgdvVpIGZhaWxpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzYKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNworbXNnaWQgIiAtdSAgICAgICAgICBzdXBwcmVzcyB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOAorIywgZnV6enkKK21zZ2lkICIgLTxudW1iZXI+ICAgdGhlIG51bWJlciBvZiBsaW5lcyBwZXIgc2NyZWVuZnVsXG4iCittc2dzdHIgIlNpc2VzdGFnZSBzaWxpbmRyaXRlIGFydjogIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzkKK21zZ2lkICIgKzxudW1iZXI+ICAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIGxpbmUgbnVtYmVyXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQwCittc2dpZCAiICsvPHN0cmluZz4gIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBzZWFyY2ggc3RyaW5nIG1hdGNoXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQxCisjLCBmdXp6eQorbXNnaWQgIiAtViAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgRXNpbWVuZSAgVmlpbWFuZVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo0ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIC0lcyIKK21zZ3N0ciAiJXM6IHR1bmRtYXR1IHNpZ25hYWwgJXNcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKiogJXM6IGRpcmVjdG9yeSAqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKioqKioqICVzOiBOb3QgYSB0ZXh0IGZpbGUgKioqKioqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1VzZSBxIG9yIFEgdG8gcXVpdF0iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tTW9yZS0tIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjcyNgorIywgYy1mb3JtYXQKK21zZ2lkICIoTmV4dCBmaWxlOiAlcykiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyBzcGFjZSB0byBjb250aW51ZSwgJ3EnIHRvIHF1aXQuXSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmJhY2sgJWQgcGFnZSIKK21zZ2lkX3BsdXJhbCAiLi4uYmFjayAlZCBwYWdlcyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc2tpcHBpbmcgJWQgbGluZSIKK21zZ2lkX3BsdXJhbCAiLi4uc2tpcHBpbmcgJWQgbGluZXMiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjQ4Cittc2dpZCAiIgorIlxuIgorIioqKkJhY2sqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjYzCisjLCBmdXp6eQorbXNnaWQgIk5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKK21zZ3N0ciAi3Gh0ZWdpIHBhcnRpdHNpb29uaSBwb2xlIGRlZmluZWVyaXR1ZFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjkzCittc2dpZCAiIgorIlxuIgorIk1vc3QgY29tbWFuZHMgb3B0aW9uYWxseSBwcmVjZWRlZCBieSBpbnRlZ2VyIGFyZ3VtZW50IGsuICBEZWZhdWx0cyBpbiBicmFja2V0cy5cbiIKKyJTdGFyICgqKSBpbmRpY2F0ZXMgYXJndW1lbnQgYmVjb21lcyBuZXcgZGVmYXVsdC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzAwCittc2dpZCAiIgorIjxzcGFjZT4gICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbMV0qXG4iCisiZCBvciBjdHJsLUQgICAgICAgICAgICAgU2Nyb2xsIGsgbGluZXMgW2N1cnJlbnQgc2Nyb2xsIHNpemUsIGluaXRpYWxseSAxMV0qXG4iCisicSBvciBRIG9yIDxpbnRlcnJ1cHQ+ICAgRXhpdCBmcm9tIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBsaW5lcyBvZiB0ZXh0IFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyJiIG9yIGN0cmwtQiAgICAgICAgICAgICBTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBHbyB0byBwbGFjZSB3aGVyZSBwcmV2aW91cyBzZWFyY2ggc3RhcnRlZFxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBsaW5lIG51bWJlclxuIgorIi88cmVndWxhciBleHByZXNzaW9uPiAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgcmVndWxhciBleHByZXNzaW9uIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByLmUgWzFdXG4iCisiITxjbWQ+IG9yIDohPGNtZD4gICAgICAgRXhlY3V0ZSA8Y21kPiBpbiBhIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgdXAgL3Vzci9iaW4vdmkgYXQgY3VycmVudCBsaW5lXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkcmF3IHNjcmVlblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBuZXh0IGZpbGUgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIHByZXZpb3VzIGZpbGUgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXJcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBSZXBlYXQgcHJldmlvdXMgY29tbWFuZFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzNzMgdGV4dC11dGlscy9tb3JlLmM6MTM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3MgJ2gnIGZvciBpbnN0cnVjdGlvbnMuXSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBsaW5lICVkIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiW05vdCBhIGZpbGVdIGxpbmUgJWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQ5NAorbXNnaWQgIiAgT3ZlcmZsb3dcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTQzCittc2dpZCAiLi4uc2tpcHBpbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTc3Cittc2dpZCAiIgorIlxuIgorIlBhdHRlcm4gbm90IGZvdW5kXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU4MyB0ZXh0LXV0aWxzL3BnLmM6MTAyNyB0ZXh0LXV0aWxzL3BnLmM6MTE3MworbXNnaWQgIlBhdHRlcm4gbm90IGZvdW5kIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2MjkKK21zZ2lkICJleGVjIGZhaWxlZFxuIgorbXNnc3RyICJleGVjIGVpIPVubmVzdHVudWRcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY0MworbXNnaWQgImNhbid0IGZvcmtcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjc3Cittc2dpZCAiIgorIlxuIgorIi4uLlNraXBwaW5nICIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjgxCittc2dpZCAiLi4uU2tpcHBpbmcgdG8gZmlsZSAiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY4MworbXNnaWQgIi4uLlNraXBwaW5nIGJhY2sgdG8gZmlsZSAiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTk3MworbXNnaWQgIkxpbmUgdG9vIGxvbmciCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjAxMAorbXNnaWQgIk5vIHByZXZpb3VzIGNvbW1hbmQgdG8gc3Vic3RpdHV0ZSBmb3IiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjE0NAorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBoICAgICAgICAgICAgICAgICAgICAgICB0aGlzIHNjcmVlblxuIgorIiAgcSBvciBRICAgICAgICAgICAgICAgICAgcXVpdCBwcm9ncmFtXG4iCisiICA8bmV3bGluZT4gICAgICAgICAgICAgICBuZXh0IHBhZ2VcbiIKKyIgIGYgICAgICAgICAgICAgICAgICAgICAgIHNraXAgYSBwYWdlIGZvcndhcmRcbiIKKyIgIGQgb3IgXkQgICAgICAgICAgICAgICAgIG5leHQgaGFsZnBhZ2VcbiIKKyIgIGwgICAgICAgICAgICAgICAgICAgICAgIG5leHQgbGluZVxuIgorIiAgJCAgICAgICAgICAgICAgICAgICAgICAgbGFzdCBwYWdlXG4iCisiICAvcmVnZXgvICAgICAgICAgICAgICAgICBzZWFyY2ggZm9yd2FyZCBmb3IgcmVnZXhcbiIKKyIgID9yZWdleD8gb3IgXnJlZ2V4XiAgICAgIHNlYXJjaCBiYWNrd2FyZCBmb3IgcmVnZXhcbiIKKyIgIC4gb3IgXkwgICAgICAgICAgICAgICAgIHJlZHJhdyBzY3JlZW5cbiIKKyIgIHcgb3IgeiAgICAgICAgICAgICAgICAgIHNldCBwYWdlIHNpemUgYW5kIGdvIHRvIG5leHQgcGFnZVxuIgorIiAgcyBmaWxlbmFtZSAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IGZpbGUgdG8gZmlsZW5hbWVcbiIKKyIgICFjb21tYW5kICAgICAgICAgICAgICAgIHNoZWxsIGVzY2FwZVxuIgorIiAgcCAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gcHJldmlvdXMgZmlsZVxuIgorIiAgbiAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gbmV4dCBmaWxlXG4iCisiXG4iCisiTWFueSBjb21tYW5kcyBhY2NlcHQgcHJlY2VkaW5nIG51bWJlcnMsIGZvciBleGFtcGxlOlxuIgorIisxPG5ld2xpbmU+IChuZXh0IHBhZ2UpOyAtMTxuZXdsaW5lPiAocHJldmlvdXMgcGFnZSk7IDE8bmV3bGluZT4gKGZpcnN0IHBhZ2UpLlxuIgorIlxuIgorIlNlZSBwZygxKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMjYKK21zZ2lkICJCcm93c2UgcGFnZXdpc2UgdGhyb3VnaCB0ZXh0IGZpbGVzLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMjkKK21zZ2lkICIgLW51bWJlciAgICAgIGxpbmVzIHBlciBwYWdlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMAorbXNnaWQgIiAtYyAgICAgICAgICAgY2xlYXIgc2NyZWVuIGJlZm9yZSBkaXNwbGF5aW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMQorIywgZnV6enkKK21zZ2lkICIgLWUgICAgICAgICAgIGRvIG5vdCBwYXVzZSBhdCBlbmQgb2YgYSBmaWxlXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBW5GxqYXN0YWRhIHBhcnRpdHNpb29uaXRhYmVsIGVrcmFhbmlsZSB29WkgZmFpbGkiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzIKK21zZ2lkICIgLWYgICAgICAgICAgIGRvIG5vdCBzcGxpdCBsb25nIGxpbmVzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMworbXNnaWQgIiAtbiAgICAgICAgICAgdGVybWluYXRlIGNvbW1hbmQgd2l0aCBuZXcgbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzQKK21zZ2lkICIgLXAgPHByb21wdD4gIHNwZWNpZnkgcHJvbXB0XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNQorbXNnaWQgIiAtciAgICAgICAgICAgZGlzYWxsb3cgc2hlbGwgZXNjYXBlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNgorbXNnaWQgIiAtcyAgICAgICAgICAgcHJpbnQgbWVzc2FnZXMgdG8gc3Rkb3V0XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNworbXNnaWQgIiArbnVtYmVyICAgICAgc3RhcnQgYXQgdGhlIGdpdmVuIGxpbmVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM4Cittc2dpZCAiICsvcGF0dGVybi8gICBzdGFydCBhdCB0aGUgbGluZSBjb250YWluaW5nIHBhdHRlcm5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gJXMiCittc2dzdHIgInb1dGkgYCVzJyB2YWphYiBhcmd1bWVudGlcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBvcHRpb24gLS0gJXMiCittc2dzdHIgIiVzOiB2aWdhbmUgdvV0aSAoJXMpXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNTkKK21zZ2lkICIuLi5za2lwcGluZyBmb3J3YXJkXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjM2MQorbXNnaWQgIi4uLnNraXBwaW5nIGJhY2t3YXJkXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjM3NworbXNnaWQgIk5vIG5leHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzgxCisjLCBmdXp6eQorbXNnaWQgIk5vIHByZXZpb3VzIGZpbGUiCittc2dzdHIgItxodGVnaSBwYXJ0aXRzaW9vbmkgcG9sZSBkZWZpbmVlcml0dWRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjg4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvciBmcm9tICVzIGZpbGUiCittc2dzdHIgIiVzOiBsdWdlbWlzZSB2aWdhIGZhaWxpcyAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIEVPRiBpbiAlcyBmaWxlIgorbXNnc3RyICJleGVjIGVpIPVubmVzdHVudWRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjg4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBlcnJvciBpbiAlcyBmaWxlIgorbXNnc3RyICIlczogc2Vla2ltaXNlIHZpZ2EgZmFpbGlzICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NDEKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiJXM6IGVpIHN1dWRhIGx1Z2VkYSBhanV0aXN0IGZhaWxpXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NTAgdGV4dC11dGlscy9wZy5jOjExMTQgdGV4dC11dGlscy9wZy5jOjExNDAKKyMsIGZ1enp5Cittc2dpZCAiUkUgZXJyb3I6ICIKK21zZ3N0ciAicG9zaXRzaW9uZWVyaW1pc2UgdmlnYSIKKworIzogdGV4dC11dGlscy9wZy5jOjEwOTcKK21zZ2lkICIoRU9GKSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTEyMiB0ZXh0LXV0aWxzL3BnLmM6MTE0OAorbXNnaWQgIk5vIHJlbWVtYmVyZWQgc2VhcmNoIHN0cmluZyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTIwMworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiAiCittc2dzdHIgImVpIHN1dWRhIGF2YWRhIHNlYWRldCAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjEyNTUKK21zZ2lkICJzYXZlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM0NQorbXNnaWQgIjogIWNvbW1hbmQgbm90IGFsbG93ZWQgaW4gcmZsYWcgbW9kZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM4MAorIywgZnV6enkKK21zZ2lkICJmb3JrKCkgZmFpbGVkLCB0cnkgYWdhaW4gbGF0ZXJcbiIKK21zZ3N0ciAiUGFyb29saSBFSSBtdXVkZXR1ZCAtIHByb292aWdlIGhpbGplbSB1dWVzdGlcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjE0NjgKK21zZ2lkICIoTmV4dCBmaWxlOiAiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjE1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXMgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU4NyB0ZXh0LXV0aWxzL3BnLmM6MTY2MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGxpbmVzIHBlciBwYWdlIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogdGV4dC11dGlscy9yZXYuYzo4MAorbXNnaWQgIlJldmVyc2UgbGluZXMgY2hhcmFjdGVyd2lzZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgImluY29tcGxldGUgd3JpdGUgdG8gXCIlc1wiICh3cml0dGVuICV6ZCwgZXhwZWN0ZWQgJXpkKVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaCAobGltaXQgb2YgaW5vdGlmeSB3YXRjaGVzIHdhcyByZWFjaGVkKS4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjE5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25dIDxmaWxlPlxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjAwCittc2dpZCAiRm9sbG93IHRoZSBncm93dGggb2YgYSBsb2cgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjAzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1saW5lcyA8bnVtYmVyPiAgIG91dHB1dCB0aGUgbGFzdCA8bnVtYmVyPiBsaW5lc1xuIgorbXNnc3RyICJTaXNlc3RhZ2Ugc2lsaW5kcml0ZSBhcnY6ICIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwNAorIywgZnV6enkKK21zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgICBzYW1lIGFzICctbiA8bnVtYmVyPidcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMTAKK21zZ2lkICJXYXJuaW5nOiB1c2Ugb2YgJ3RhaWxmJyBpcyBkZXByZWNhdGVkLCB1c2UgJ3RhaWwgLWYnIGluc3RlYWQuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIyMyB0ZXh0LXV0aWxzL3RhaWxmLmM6MjYzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyNzUKKyMsIGZ1enp5Cittc2dpZCAibm8gaW5wdXQgZmlsZSBzcGVjaWZpZWQiCittc2dzdHIgIi0tZGF0ZSBwYXJhbWVldGVyIG9uIHB1dWR1XG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBmaWxlIgorbXNnc3RyICJqdXVya2F0YWxvb2dpIGkta2lyamUgZWkga2lyamVsZGEga2F0YWxvb2dpIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gLi4uXVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTM5Cittc2dpZCAiRG8gdW5kZXJsaW5pbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjE0MgorbXNnaWQgIiAtdCwgLVQsIC0tdGVybWluYWwgVEVSTUlOQUwgIG92ZXJyaWRlIHRoZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjE0MworbXNnaWQgIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICAgIHVuZGVybGluaW5nIGlzIGluZGljYXRlZCB2aWEgYSBzZXBhcmF0ZSBsaW5lXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjIwNAorbXNnaWQgInRyb3VibGUgcmVhZGluZyB0ZXJtaW5mbyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsIGAlcycgaXMgbm90IGtub3duLCBkZWZhdWx0aW5nIHRvIGBkdW1iJyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZXNjYXBlIHNlcXVlbmNlIGluIGlucHV0OiAlbywgJW8iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjYyNAorIywgZnV6enkKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAia/ZpdGUgbmltaSBvbiBsaWlnYSBwaWtrIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIHVzZSB0aGUgSGFyZHdhcmUgQ2xvY2suIgorI34gbXNnc3RyICJLYWhqdWtzIHNhYWIgYWludWx0IHJvb3Qgcmlpc3R2YXJhbGlzdCBrZWxsYSBrZWVyYXRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgc2VjY29tcCBjb250ZXh0IgorI34gbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyMgWFhYIHN0YXQnaWRhCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBhZGQgc2VjY29tcCBydWxlIgorI34gbXNnc3RyICJlaSBzdXVkYSBzdGF0J2lkYSBzZWFkZXQgJXMiCisKKyMgWFhYIHN0YXQnaWRhCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBsb2FkIHNlY2NvbXAgcnVsZSIKKyN+IG1zZ3N0ciAiZWkgc3V1ZGEgc3RhdCdpZGEgc2VhZGV0ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZpbGVzeXN0ZW0gbGFiZWw6IgorI34gbXNnc3RyICJTaXNlc3RhZ2UgZmFpbGlz/HN0ZWVtaSB0/PxiaSBudW1iZXI6ICIKKworIyBYWFggc3RhdCdpZGEKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHNldCBQQVRIIgorI34gbXNnc3RyICJlaSBzdXVkYSBzdGF0J2lkYSBzZWFkZXQgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYXJndW1lbnQgZXJyb3I6ICVzIgorI34gbXNnc3RyICJLaXJqdXRhbWlzZSB2aWdhIHNlYWRtZWwgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0dHkgcGF0aCAlcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAia/ZpdGUgbmltaSBvbiBsaWlnYSBwaWtrIgorCisjfiBtc2dpZCAiYmFkIHRpbWVvdXQgdmFsdWU6ICVzIgorI34gbXNnc3RyICJ2aWdhbmUgdGFpbWFkaSB25ORydHVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCIKKyN+IG1zZ3N0ciAicG9zaXRzaW9uZWVyaW1pc2UgdmlnYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3I6IGlnbm9yZSBlbnRyeSBhdCBsaW5lICVkLiIKKyN+IG1zZ3N0ciAicG9zaXRzaW9uZWVyaW1pc2UgdmlnYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgbm90IHNldHVwIHRpbWVyIgorI34gbXNnc3RyICJmb3JrIGVpIPVubmVzdHVudWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2FtZSIKKyN+IG1zZ3N0ciAiTmltaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgYWNjZXNzIGZpbGUgJXMiCisjfiBtc2dzdHIgIkVpIHN1dWRhIGF2YWRhIGZhaWxpIGAlcyciCisKKyN+IG1zZ2lkICIlcyBpcyBub3QgYSBibG9jayBzcGVjaWFsIGRldmljZSIKKyN+IG1zZ3N0ciAiJXMgcG9sZSBwbG9ra3NlYWRlIgorCisjfiBtc2dpZCAiT1MvMiBoaWRkZW4gQzogZHJpdmUiCisjfiBtc2dzdHIgIk9TLzIgcGVpZGV0dWQgQzoga2V0YXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgZGV2aWNlIHBhdGgiCisjfiBtc2dzdHIgImVpIHN1dWRhIHRhZ2FzaSBrZXJpZGEgc2FhbGltaXNzZWFkZXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVua25vd24gZGV2aWNlIG5hbWUiCisjfiBtc2dzdHIgIiVzOiB0dW5kbWF0dSBzaWduYWFsICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgZG0gbmFtZSIKKyN+IG1zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyAgLiUwNmQgc2Vjb25kc1xuIgorI34gbXNnc3RyICIlcyAgJS42ZiBzZWt1bmRpdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorI34gbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzIGZvciBtYXBzIgorI34gbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKKyN+IG1zZ3N0ciAiZWkgauR0a3UgbeRsdSBpLWtpcmpldGUgcHVodnJpbGUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTnVtYmVyIG9mIFNlbWFwaG9yZSBJRHMiCisjfiBtc2dzdHIgIlNpc2V0YWdlIHNla3Rvcml0ZSBhcnYiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstYyB8IC1sIGZpbGVuYW1lXSBbLW5YWF0gWy1pWFhdIC9kZXYvbmFtZSBbYmxvY2tzXSIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTogJXMgWy1jIHwgLWwgZmFpbGluaW1pXSBbLW5YWF0gWy1pWFhdIC9kZXYvbmltaSBbcGxva2tlXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBiYWQgaW5vZGUgc2l6ZSIKKyN+IG1zZ3N0ciAidmlnYW5lIGkta2lyamUgc3V1cnVzIgorCisjfiBtc2dpZCAid2lsbCBub3QgdHJ5IHRvIG1ha2UgZmlsZXN5c3RlbSBvbiAnJXMnIgorI34gbXNnc3RyICJlaSD8cml0YSBsdXVhIGZhaWxpc/xzdGVlbWkgc2VhZG1lbGUgYCVzJyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0eXBlOiAlZCIKKyN+IG1zZ3N0ciAidPz8cDogJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJkaXNrOiAlLipzIgorI34gbXNnc3RyICJrZXRhczogJS4qc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxhYmVsOiAlLipzIgorI34gbXNnc3RyICJt5HJnZW5kOiAlLipzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmxhZ3M6ICVzIgorI34gbXNnc3RyICJsaXB1ZDoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYnl0ZXMvc2VjdG9yOiAlbGQiCisjfiBtc2dzdHIgImJhaXRlIHNla3RvcmlzOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWN0b3JzL3RyYWNrOiAlbGQiCisjfiBtc2dzdHIgInNla3RvcmVpZCByYWphbDogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHJhY2tzL2N5bGluZGVyOiAlbGQiCisjfiBtc2dzdHIgInJhZHUgc2lsaW5kcmlzOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWN0b3JzL2N5bGluZGVyOiAlbGQiCisjfiBtc2dzdHIgInNla3RvcmVpZCBzaWxpbmRyaXM6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImN5bGluZGVyczogJWxkIgorI34gbXNnc3RyICJzaWxpbmRyZWlkOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJycG06ICVkIgorI34gbXNnc3RyICJycG06ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW50ZXJsZWF2ZTogJWQiCisjfiBtc2dzdHIgImludGVybGVhdmU6ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHJhY2tza2V3OiAlZCIKKyN+IG1zZ3N0ciAidHJhY2tza2V3OiAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImN5bGluZGVyc2tldzogJWQiCisjfiBtc2dzdHIgImN5bGluZGVyc2tldzogJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJoZWFkc3dpdGNoOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgInBlYWRlIHZhaGV0dXM6ICVsZFx0XHQjIG1pbGxpc2VrdW5kaXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmFjay10by10cmFjayBzZWVrOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgIiIKKyN+ICJyYWphbHQgcmFqYWxlIHNlZWs6ICVsZFxuIgorI34gIiMgbWlsbGlzZWt1bmRpdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbnM6ICVkIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiJWQgcGFydGl0c2lvb25pOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIllvdSBjYW5ub3QgY2hhbmdlIGEgcGFydGl0aW9uIGludG8gYW4gZXh0ZW5kZWQgb25lIG9yIHZpY2UgdmVyc2EuIERlbGV0ZSBpdCBmaXJzdC4iCisjfiBtc2dzdHIgIiIKKyN+ICJQYXJ0aXRzaW9vbmkgZWkgc2FhIG11dXRhIGV4dGVuZGVkJ2lrcyBlZ2EgZXh0ZW5kZWRpc3QgaGFyaWxpa3Vrcy5cbiIKKyN+ICJTZWxsZSBhc2VtZWwgdHVsZWIgcGFydGl0c2lvb24ga3VzdHV0YWRhIGphIHV1cyBsdXVhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJMYWJlbCBnZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9yc1xuIgorI34gIiAgICAgICAgICAgICAgICAlbGx1IGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJLZXRhcyAlcyAoU0dJIHBhcnRpdHNpb29uaXRhYmVsKTogJWQgcGVhZCwgJWQgc2VrdG9yaXRcbiIKKyN+ICIlZCBzaWxpbmRyaXQsICVkIGb8/HNpbGlzdCBzaWxpbmRyaXRcbiIKKyN+ICIlZCBsaXNhc2VrdG9yaXQgcmFqYWwsIGludGVybGVhdmUgJWQ6MVxuIgorI34gIiVzXG4iCisjfiAi3Ghpa3VkID0gJXMgc3V1cnVzZWdhICVkICogNTEyIGJhaXRpXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiPG5vbmU+IgorI34gbXNnc3RyICJ2YWxtaXMgKEQpIgorCisjLCBmdXp6eQorI34gbXNnaWQgInN5c2luZm8gZmFpbGVkIgorI34gbXNnc3RyICJmc3luYyBlaSD1bm5lc3R1bnVkIgorCisjfiBtc2dpZCAidXNhZ2U6IGxhc3QgWy0jXSBbLWYgZmlsZV0gWy10IHR0eV0gWy1oIGhvc3RuYW1lXSBbdXNlciAuLi5dXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6IFstI10gWy1mIGZhaWxdIFstdCB0dHldIFstaCBob3N0aW5pbWldIFtrYXN1dGFqYSAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IG1tYXAgZmFpbGVkIgorI34gbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyN+IG1zZ2lkICIgIHN0aWxsIGxvZ2dlZCBpbiIKKyN+IG1zZ3N0ciAiICB2ZWVsIG1hc2luYXMiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAid3RtcCBiZWdpbnMgJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJ3dG1wIGFsZ2FiICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImdldGhvc3RuYW1lIGZhaWxlZCIKKyN+IG1zZ3N0ciAiVmlnYSAlcyBzdWxnZW1pc2VsXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiaW50ZXJydXB0ZWQgJTEwLjEwcyAlNS41cyBcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gImthdGtlc3RhdHVkICUxMC4xMHMgJTUuNXMgXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWF1dG8vLWEgb3B0aW9uIgorI34gbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiBjaGFuZ2UgdGhlIFN5c3RlbSBDbG9jay4iCisjfiBtc2dzdHIgIkthaGp1a3Mgc2FiYSBhaW51bHQgcm9vdCBz/HN0ZWVtaWtlbGFsIGtlZXJhdGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiBjaGFuZ2UgdGhlIEhhcmR3YXJlIENsb2NrIGVwb2NoIGluIHRoZSBrZXJuZWwuIgorI34gbXNnc3RyICJLYWhqdWtzIHNhYWIgYWludWx0IHJvb3Qgcmlpc3R2YXJhbGlzZSBrZWxsYSBlcG9oaGkgc2VhZGFcbiIKKworI34gbXNnaWQgInJlYWQoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXMgbHVnZW1pbmUga2VsbGEgdGlrc3Ugb290YW1pc2VsIGVpIPVubmVzdHVudWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2V0IHJ0YyBhbGFybSBmYWlsZWQiCisjfiBtc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJiYWQgdmFsdWUiCisjfiBtc2dzdHIgInZpZ2FuZSB0YWltYWRpIHbk5HJ0dXM6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbSwgLS1tb3VudCAgICAgICAgICAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXUsIC0tdXRzICAgICAgICAgICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1pLCAtLWlwYyAgICAgICAgICAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbiwgLS1uZXQgICAgICAgICAgICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtVSwgLS11c2VyICAgICAgICAgICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVtIgorI34gbXNnc3RyICJlaSBzdXVkYSBhdmFkYSBzZWFkZXQgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZnJlYWQgZmFpbGVkIgorI34gbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworI34gbXNnaWQgIkhlbHAgU2NyZWVuIGZvciBjZmRpc2siCisjfiBtc2dzdHIgImNmZGlza2kgYWJpaW5mbyBla3JhYW4iCisKKyN+IG1zZ2lkICJkaXNrIGRyaXZlLiIKKyN+IG1zZ3N0ciAiYXJ2dXRpIGv1dmFrZXR0YWwuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGBubyciCisjfiBtc2dzdHIgIiAgICAgICAgICAgICB05Glzc/VuYWdhIChgamFoJyB29WkgYGVpJykuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRvbyBzbWFsbCBwYXJ0aXRpb24gc2l6ZSBzcGVjaWZpZWQuIgorI34gbXNnc3RyICLcaHRlZ2kgcGFydGl0c2lvb25pIHBvbGUgZGVmaW5lZXJpdHVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3RhdCBmYWlsZWQgJXMiCisjfiBtc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCisjfiBtc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbjogJXMiCisjfiBtc2dzdHIgImVpIHN1dWRhIGF2YWRhIHNlYWRldCAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogbHN0YXQgZmFpbGVkIgorI34gbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGxlYXNlLCBzZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBkaXNrIGxhYmVsLiIKKyN+IG1zZ3N0ciAiS2FzIHNvb3ZpdGUgbHV1YSBwYXJ0aXRzaW9vbml0YWJlbGl0PyAoeS9uKSAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVHlwZSBvZiB0aGUgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorI34gbXNnc3RyICJQYXJ0aXRzaW9vbmkgJWQgdPz8cCBvbiBu/PxkICV4ICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZmlsZVxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOlxuIgorI34gbXNnc3RyICJrYXN1dGFtaW5lOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbWtmcyg4KS5cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhamEgaW5mb3JtYXRzaW9vbiBvbiBtdXVkZXR1ZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzICglcylcbiIKKyN+IG1zZ3N0ciAiJXM6ICVzICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGVycm9yIG9uICVzIC0gY2Fubm90IHNlZWsgdG8gJWx1IgorI34gbXNnc3RyICJQb3N0aXNpb25lZXJpbWlzZSB2aWdhIHNlYWRtZWwgJXMgLSBlaSBzYWEgbWlubmEgcG9zaXRzaW9vbmlsZSAlbHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGVycm9yOiB3YW50ZWQgMHglMDh4JTA4eCwgZ290IDB4JTA4eCUwOHgiCisjfiBtc2dzdHIgIlBvc2l0c2lvbmVlcmltaXNlIHZpZ2E6IHRhaHRzaW4gMHglMDh4JTA4eCwgc2FpbiAweCUwOHglMDh4XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVhZCBlcnJvciBvbiAlcyAtIGNhbm5vdCByZWFkIHNlY3RvciAlbGx1IgorI34gbXNnc3RyICJMdWdlbWlzdmlnYSBzZWFkbWVsICVzIC0gZWkgc2FhIGx1Z2VkYSBzZWt0b3JpdCAlbHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyAtIGNhbm5vdCB3cml0ZSBzZWN0b3IgJWxsdSIKKyN+IG1zZ3N0ciAiS2lyanV0YW1pc3ZpZ2Egc2VhZG1lbCAlcyAtIGVpIHNhYSBraXJqdXRhZGEgc2VrdG9yaXQgJWx1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHNlY3RvciBzYXZlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAiRWkgc3V1ZGEgYXZhZGEgcGFydGl0c2lvb25pdGFiZWxpIHNhbHZlc3R1c2ZhaWxpICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyIKKyN+IG1zZ3N0ciAiS2lyanV0YW1pc2UgdmlnYSBzZWFkbWVsICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHN0YXQgcGFydGl0aW9uIHJlc3RvcmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJFaSBzYWEgbHVnZWRhIHBhcnRpdHNpb29uaXRhYmVsaSBzYWx2ZXN0dXNmYWlsaSBzdGFhdHVzdCAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uIHJlc3RvcmUgZmlsZSBoYXMgd3Jvbmcgc2l6ZSAtIG5vdCByZXN0b3JpbmciCisjfiBtc2dzdHIgIlBhcnRpdHNpb29uaXRhYmVsaSBzYWx2ZXN0dXNmYWlsIG9uIHZhbGUgcGlra3VzZWdhIC0gZWkgdGFhc3RhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHJlc3RvcmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJFaSBzYWEgYXZhZGEgcGFydGl0c2lvb25pdGFiZWxpIHNhbHZlc3R1c2ZhaWxpICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciByZWFkaW5nICVzIgorI34gbXNnc3RyICJWaWdhICVzIGx1Z2VtaXNlbFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuIGRldmljZSAlcyBmb3Igd3JpdGluZyIKKyN+IG1zZ3N0ciAiZWkgc3V1ZGEgYXZhZGEgc2VhZGV0ICVzIGtpcmp1dGFtaXNla3NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciB3cml0aW5nIHNlY3RvciAlbHUgb24gJXMiCisjfiBtc2dzdHIgIlZpZ2Egc2VrdG9yaSAlbHUga2lyanV0YW1pc2VsIHNlYWRtZWxlICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiS2V0YXMgJXM6IGVpIHN1dWRhIGdlb21lZXRyaWF0IGtpbmRsYWtzIHRlaGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJEaXNrICVzOiBjYW5ub3QgZ2V0IHNpemUiCisjfiBtc2dzdHIgIktldGFzICVzOiBlaSBzdXVkYSBtYWh0dSBraW5kbGFrcyB0ZWhhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHN0YXJ0PSVsdSAtIHRoaXMgbG9va3MgbGlrZSBhIHBhcnRpdGlvbiByYXRoZXIgdGhhblxuIgorI34gInRoZSBlbnRpcmUgZGlzay4gVXNpbmcgZmRpc2sgb24gaXQgaXMgcHJvYmFibHkgbWVhbmluZ2xlc3MuXG4iCisjfiAiW1VzZSB0aGUgLS1mb3JjZSBvcHRpb24gaWYgeW91IHJlYWxseSB3YW50IHRoaXNdIgorI34gbXNnc3RyICIiCisjfiAiSG9pYXR1czogc3RhcnQ9JWx1IC0gc2VlIHBhaXN0YWIgb2xldmF0IHBpZ2VtIHBhcnRpdHNpb29uIGt1aVxuIgorI34gInRlcnZlIGtldGFzLiBmZGlza2kga2FzdXRhbWluZSBvbiBpbG1zZWx0IG31dHRldHUuXG4iCisjfiAiS2FzdXRhZ2UgLS1mb3JjZSB29XRpdCwga3VpIHT1ZXN0aSB0YWhhdGUgc2VkYSB0ZWhhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGhlYWRzIgorI34gbXNnc3RyICJIb2lhdHVzOiBIRElPX0dFVEdFTyD8dGxlcywgZXQgc2VhZG1lbCBvbiAlbHUgcGVhZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IHNlY3RvcnMiCisjfiBtc2dzdHIgIkhvaWF0dXM6IEhESU9fR0VUR0VPIPx0bGVzLCBldCBzZWFkbWVsIG9uICVsdSBzZWt0b3JpdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IEJMS0dFVFNJWkUvSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgY3lsaW5kZXJzIgorI34gbXNnc3RyICJIb2lhdHVzOiBCTEtHRVRTSVpFL0hESU9fR0VUR0VPIPx0bGVzLCBldCBzZWFkbWVsIG9uICVsdSBzaWxpbmRyaXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogdW5saWtlbHkgbnVtYmVyIG9mIHNlY3RvcnMgKCVsdSkgLSB1c3VhbGx5IGF0IG1vc3QgNjNcbiIKKyN+ICJUaGlzIHdpbGwgZ2l2ZSBwcm9ibGVtcyB3aXRoIGFsbCBzb2Z0d2FyZSB0aGF0IHVzZXMgQy9IL1MgYWRkcmVzc2luZy4iCisjfiBtc2dzdHIgIiIKKyN+ICJIb2lhdHVzOiBlYmF09WVu5G9saW5lIHNla3Rvcml0ZSBhcnYgcmFqYWwgKCVsdSkgLSBoYXJpbGlrdWx0IGt1bmkgNjNcbiIKKyN+ICJTZWUgdGVraXRhYiBwcm9ibGVlbWUga/VpZ2kgcHJvZ3JhbW1pZGVnYSwgbWlzIPxyaXRhdmFkIGthc3V0YWRhXG4iCisjfiAiQy9IL1MgKHNpbGluZGVyL3BlYS9zZWt0b3IpIGFkcmVzc2VlcmltaXN0LlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsdSBjeWxpbmRlcnMsICVsdSBoZWFkcywgJWx1IHNlY3RvcnMvdHJhY2tcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIktldGFzICVzOiAlbHUgc2lsaW5kcml0LCAlbHUgcGVhZCwgJWx1IHNla3Rvcml0IHJhamFsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBoZWFkOiAlbHUgKHNob3VsZCBiZSBpbiAwLSVsdSkiCisjfiBtc2dzdHIgIiVzIHBhcnRpdHNpb29uaWwgJXMgc2lzYWxkYWIgdmlnYXN0IHBlYWQgbnVtYnJpdDogJWx1IChwZWFrcyBvbGVtYSAwLSVsdSlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIHNlY3RvcjogJWx1IChzaG91bGQgYmUgaW4gMS0lbHUpIgorI34gbXNnc3RyICIlcyBwYXJ0aXRzaW9vbmlsICVzIHNpc2FsZGFiIHZpZ2FzdCBzZWt0b3JpIHbk5HJ0dXN0OiAlbHUgKHBlYWtzIG9sZW1hIDEtJWx1KVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3IgY3lsaW5kZXJzOiAlbHUgKHNob3VsZCBiZSBpbiAwLSVsdSkiCisjfiBtc2dzdHIgIiVzIHBhcnRpdHNpb29uaWwgJXMgc2lzYWxkYWIgdmlnYXN0IHNpbGluZHJpIHbk5HJ0dXN0OiAlbHUgKHBlYWtzIG9sZW1hIDAtJWx1KVxuIgorCisjfiBtc2dpZCAiUmUtcmVhZGluZyB0aGUgcGFydGl0aW9uIHRhYmxlIC4uLlxuIgorI34gbXNnc3RyICJMb2VuIHV1ZXN0aSBwYXJ0aXRzaW9vbml0YWJlbGl0Li4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlRoZSBjb21tYW5kIHRvIHJlLXJlYWQgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuXG4iCisjfiAiUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB5b3VyIHN5c3RlbSBub3csXG4iCisjfiAiYmVmb3JlIHVzaW5nIG1rZnMiCisjfiBtc2dzdHIgIiIKKyN+ICJQYXJ0aXRzaW9vbml0YWJlbGkg/GxlbHVnZW1pbmUgZWkg9W5uZXN0dW51ZFxuIgorI34gIlRlaGtlIGFydnV0aWxlIGtvaGUgYWxnbGFhZGltaW5lLCBlbm5lIG1rZnMga2FzdXRhbWlzdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkVycm9yIGNsb3NpbmcgJXMiCisjfiBtc2dzdHIgIlZpZ2EgJXMgc3VsZ2VtaXNlbFxuIgorCisjfiBtc2dpZCAiJXM6IG5vIHN1Y2ggcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiVzOiBzZWxsaXN0IHBhcnRpdHNpb29uaSBlaSBvbGVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgZm9ybWF0IC0gdXNpbmcgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiVHVuZG1hdHUgZm9ybWFhdCAtIGthc3V0YW4gc2VrdG9yZWlkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5pbXBsZW1lbnRlZCBmb3JtYXQgLSB1c2luZyAlcyIKKyN+IG1zZ3N0ciAiU2VkYSBmb3JtYWF0aSBwb2xlIHZlZWwgcmVhbGlzZWVyaXR1ZCAtIGthc3V0YW4gJXNcbiIKKworI34gbXNnaWQgInNlY3RvcnMiCisjfiBtc2dzdHIgInNla3Rvcml0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVbml0czogY3lsaW5kZXJzIG9mICVsdSBieXRlcywgYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gItxoaWt1ZCA9IHNpbGluZHJpZCAlbHUgYmFpZGlnYSwgcGxva2lkIDEwMjQgYmFpZGlnYSwgbG9lbmRhbiBhbGF0ZXMgJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290IFN0YXJ0ICAgICBFbmQgICAjY3lscyAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBTZWFkZSAgQnV1dCBBbGd1cyAgICAgTPVwcCAgICNzaWwgICAgICNwbG9ra2UgICBJRCAgU/xzdGVlbVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVbml0czogc2VjdG9ycyBvZiA1MTIgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gItxoaWt1ZCA9IHNla3RvcmlkIDUxMiBiYWlkaWdhLCBsb2VuZGFuIGFsYXRlcyAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgICAgU3RhcnQgICAgICAgRW5kICAgI3NlY3RvcnMgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAgU2VhZGUgIEJ1dXQgICAgQWxndXMgICAgICBM9XBwICAgI3Nla3RvcnMgIElEICBT/HN0ZWVtXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAi3Ghpa3VkID0gMTAyNC1iYWlkaXNlZCBwbG9raWQsIGxvZW5kYW4gYWxhdGVzICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgIFN0YXJ0ICAgICAgIEVuZCAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBTZWFkZSAgQnV1dCAgIEFsZ3VzICAgICAgTPVwcCAgICAjcGxva2tlICAgSUQgIFP8c3RlZW1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IDFNaUIgPSAxMDI0KjEwMjQgYnl0ZXMsIGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLcaGlrdWQgPSBtZWdhYmFpZGlkICgxMDQ4NTc2IGJhaXRpKSwgcGxva2lkICgxMDI0IGJhaXRpKSwgbG9lbmRhbiBhbGF0ZXMgJWRcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCBTdGFydCAgIEVuZCAgICBNaUIgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAgU2VhZGUgIEJ1dXQgQWxndXMgICBM9XBwICAgIE1CICAgICNwbG9ra2UgICBJRCAgU/xzdGVlbVxuIgorCisjfiBtc2dpZCAiXHRcdHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICJcdFx0YWxndXM6IChjLGgscykgb290YXNpbiAoJWxkLCVsZCwlbGQpLCBzYWluICglbGQsJWxkLCVsZClcbiIKKworI34gbXNnaWQgIlx0XHRlbmQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpXG4iCisjfiBtc2dzdHIgIlx0XHRs9XBwOiAoYyxoLHMpIG9vdGFzaW4gKCVsZCwlbGQsJWxkKSwgc2FpbiAoJWxkLCVsZCwlbGQpXG4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gZW5kcyBvbiBjeWxpbmRlciAlbGQsIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBkaXNrXG4iCisjfiBtc2dzdHIgIlBhcnRpdHNpb29uIGz1cGViIHNpbGluZHJpbCAlbGQsIHRhZ2Fwb29sIGtldHRhIGz1cHB1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IFRoZSBwYXJ0aXRpb24gdGFibGUgbG9va3MgbGlrZSBpdCB3YXMgbWFkZVxuIgorI34gIiAgZm9yIEMvSC9TPSovJWxkLyVsZCAoaW5zdGVhZCBvZiAlbGQvJWxkLyVsZCkuXG4iCisjfiAiRm9yIHRoaXMgbGlzdGluZyBJJ2xsIGFzc3VtZSB0aGF0IGdlb21ldHJ5LiIKKyN+IG1zZ3N0ciAiIgorI34gIkhvaWF0dXM6IHR1bmR1YiwgZXQgc2VlIHBhcnRpdHNpb29uaXRhYmVsIHRlaHRpIGdlb21lZXRyaWFcbiIKKyN+ICJDL0gvUz0qLyVsZC8lbGQgamFva3MgKG1pdHRlICVsZC8lbGQvJWxkKS5cbiIKKyN+ICJFZWxkYW4gc2VkYSBnZW9tZWV0cmlhdCBuaW1la2lyamEgbuRpdGFtaXNlbC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJubyBwYXJ0aXRpb24gdGFibGUgcHJlc2VudC4iCisjfiBtc2dzdHIgIlBhcnRpdHNpb29uaXRhYmVsaXQgZWkgb2xlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3RyYW5nZSwgb25seSAlZCBwYXJ0aXRpb25zIGRlZmluZWQuIgorI34gbXNnc3RyICJJbWVsaWssIGFpbnVsdCAgJWQgcGFydGl0c2lvb25pIG9uIGRlZmluZWVyaXVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYnV0IGlzIG5vdCBtYXJrZWQgRW1wdHkiCisjfiBtc2dzdHIgIkhvaWF0dXM6IHBhcnRpdHNpb29uICVzIG9uIHN1dXJ1c2VnYSAwLCBhZ2EgcG9sZSBt5HJnaXR1ZCB0/GhqYWtzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIGlzIGJvb3RhYmxlIgorI34gbXNnc3RyICJIb2lhdHVzOiBwYXJ0aXRzaW9vbiAlcyBvbiBzdXVydXNlZ2EgMCwga3VpZCBvbiBt5HJnaXR1ZCBidXV0aXZha3NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBhbmQgbm9uemVybyBzdGFydCIKKyN+IG1zZ3N0ciAiSG9pYXR1czogcGFydGl0c2lvb24gJXMgb24gc3V1cnVzZWdhIDAsIGt1aWQgYWxndXMgcG9sZSAwXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGlzIG5vdCBjb250YWluZWQgaW4gcGFydGl0aW9uICVzIgorI34gbXNnc3RyICJlaSBzaXNhbGR1IHBhcnRpdHNpb29uaXMgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb25zICVzIGFuZCAlcyBvdmVybGFwIgorI34gbXNnc3RyICJIb2lhdHVzOiBwYXJ0aXRzaW9vbiAlZCBvbiB0/GhpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBjb250YWlucyBwYXJ0IG9mIHRoZSBwYXJ0aXRpb24gdGFibGUgKHNlY3RvciAlbGx1KSxcbiIKKyN+ICJhbmQgd2lsbCBkZXN0cm95IGl0IHdoZW4gZmlsbGVkIgorI34gbXNnc3RyICIiCisjfiAiSG9pYXR1czogcGFydGl0c2lvb24gJXMgc2lzYWxkYWIgb3NhIHBhcnRpdHNpb29uaXRhYmVsaXN0IChzZWt0b3IgJWx1KVxuIgorI34gImphIGjkdml0YWIgc2VsbGUsIGt1aSB0YSBhbmRtZXRlZ2EgdORpZGV0YWtzZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yIDAiCisjfiBtc2dzdHIgIkhvaWF0dXM6IHBhcnRpdHNpb29uICVzIGFsZ2FiIHNla3RvcmlsdCAwXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGV4dGVuZHMgcGFzdCBlbmQgb2YgZGlzayIKKyN+IG1zZ3N0ciAiSG9pYXR1czogcGFydGl0c2lvb24gJXMgc/VpZGFiIPxsZSBrZXR0YSBvdHNhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkFtb25nIHRoZSBwcmltYXJ5IHBhcnRpdGlvbnMsIGF0IG1vc3Qgb25lIGNhbiBiZSBleHRlbmRlZFxuIgorI34gIiAoYWx0aG91Z2ggdGhpcyBpcyBub3QgYSBwcm9ibGVtIHVuZGVyIExpbnV4KSIKKyN+IG1zZ3N0ciAiIgorI34gIkFpbnVsdCD8a3MgcHJpbWFhcnNldGVzdCBwYXJ0aXRzaW9vbmlkZXN0IHRvaGliIG9sbGEgZXh0ZW5kZWRcbiIKKyN+ICIoa3VpZ2kgc2VlIHBvbGUgTGludXhpcyBwcm9ibGVlbWlrcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZG9lcyBub3Qgc3RhcnQgYXQgYSBjeWxpbmRlciBib3VuZGFyeSIKKyN+IG1zZ3N0ciAiSG9pYXR1czogcGFydGl0c2lvb24gJXMgZWkgYWxnYSBzaWxpbmRyaSBwaWlyaWx0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGRvZXMgbm90IGVuZCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5IgorI34gbXNnc3RyICJIb2lhdHVzOiBwYXJ0aXRzaW9vbiAlcyBlaSBs9XBwZSBzaWxpbmRyaSBwaWlyaWxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogbW9yZSB0aGFuIG9uZSBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLiIKKyN+IG1zZ3N0ciAiIgorI34gIkhvaWF0dXM6IHJvaGtlbSBrdWkg/GtzIHByaW1hYXJuZSBwYXJ0aXRzaW9vbiBvbiBt5HJnaXR1ZCBidXV0aXZha3MgKGFrdGlpdnNla3MpLlxuIgorI34gIkxJTE8gamFva3MgcG9sZSBzZWUgb2x1bGluZSwgYWdhIERPUy1pIE1CUiB29WliIGJ1dXRpbWlzZWwgcmFza3VzdGVzc2Ugc2F0dHVkYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogdXN1YWxseSBvbmUgY2FuIGJvb3QgZnJvbSBwcmltYXJ5IHBhcnRpdGlvbnMgb25seVxuIgorI34gIkxJTE8gZGlzcmVnYXJkcyB0aGUgYGJvb3RhYmxlJyBmbGFnLiIKKyN+IG1zZ3N0ciAiIgorI34gIkhvaWF0dXM6IGhhcmlsaWt1bHQgc2FhYiBidXV0aWRhIGFpbnVsdCBwcmltYWFyc2V0ZWx0IHBhcnRpdHNpb29uaWRlbHQsXG4iCisjfiAiYWludWx0IExJTE8gaWdub3JlZXJpYiBidXVkaXRhdnVzZSBsaXBwdS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogbm8gcHJpbWFyeSBwYXJ0aXRpb24gaXMgbWFya2VkIGJvb3RhYmxlIChhY3RpdmUpXG4iCisjfiAiVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sIGJ1dCB0aGUgRE9TIE1CUiB3aWxsIG5vdCBib290IHRoaXMgZGlzay4iCisjfiBtc2dzdHIgIiIKKyN+ICJIb2lhdHVzOiD8a3NraSBwcmltYWFybmUgcGFydGl0c2lvb24gcG9sZSBt5HJnaXR1ZCBidXV0aXZha3MgKGFrdGlpdnNla3MpLlxuIgorI34gIlNlZSBwb2xlIExJTE8gamFva3Mgb2x1bGluZSwgYWdhIERPUy1pIE1CUiBlaSBzdXVkYSBzaWl0IGtldHRhbHQgYnV1dGlkYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKSIKKyN+IG1zZ3N0ciAiXHRcdGFsZ3VzOiAoYyxoLHMpIG9vdGFzaW4gKCVsZCwlbGQsJWxkKSwgc2FpbiAoJWxkLCVsZCwlbGQpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZW5kIgorI34gbXNnc3RyICJFbmQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uICVzOiBlbmQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpIgorI34gbXNnc3RyICJcdFx0bPVwcDogKGMsaCxzKSBvb3Rhc2luICglbGQsJWxkLCVsZCksIHNhaW4gKCVsZCwlbGQsJWxkKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiAlcyBlbmRzIG9uIGN5bGluZGVyICVsZCwgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGRpc2siCisjfiBtc2dzdHIgIlBhcnRpdHNpb29uIGz1cGViIHNpbGluZHJpbCAlbGQsIHRhZ2Fwb29sIGtldHRhIGz1cHB1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IGV4dGVuZGVkIHBhcnRpdGlvbiBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gIkRPUyBhbmQgTGludXggd2lsbCBpbnRlcnByZXQgdGhlIGNvbnRlbnRzIGRpZmZlcmVudGx5LiIKKyN+IG1zZ3N0ciAiIgorI34gIkhvaWF0dXM6IGV4dGVuZGVkIHBhcnRpdHNpb29uIGVpIGFsZ2Egc2lsaW5kcmkgcGlpcmlsdC5cbiIKKyN+ICJET1MgamEgTGludXggaW50ZXJwcmV0ZWVyaXZhZCBzZWxsZSBzaXN1IGVyaW5ldmFsdC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJFUlJPUjogc2VjdG9yICVsbHUgZG9lcyBub3QgaGF2ZSBhbiBtc2RvcyBzaWduYXR1cmUiCisjfiBtc2dzdHIgIlZJR0E6IHNla3RvciAlbHUgZWkgc2lzYWxkYSBtc2RvcydpIHNpZ25hdHV1cmlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmVlIG9mIHBhcnRpdGlvbnM/IgorI34gbXNnc3RyICJSb2hrZW0gcGFydGl0c2lvb25lIGVpIG9sZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdHJhbmdlLi4uLCBhbiBleHRlbmRlZCBwYXJ0aXRpb24gb2Ygc2l6ZSAwPyIKKyN+IG1zZ3N0ciAiSW1lbGlrLCBhaW51bHQgICVkIHBhcnRpdHNpb29uaSBvbiBkZWZpbmVlcml1ZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInN0cmFuZ2UuLi4sIGEgQlNEIHBhcnRpdGlvbiBvZiBzaXplIDA/IgorI34gbXNnc3RyICJJbWVsaWssIGFpbnVsdCAgJWQgcGFydGl0c2lvb25pIG9uIGRlZmluZWVyaXVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLW4gZmxhZyB3YXMgZ2l2ZW46IE5vdGhpbmcgY2hhbmdlZCIKKyN+IG1zZ3N0ciAiS2FzdXRhamEgaW5mb3JtYXRzaW9vbiBvbiBtdXVkZXR1ZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB3cml0aW5nIHRoZSBwYXJ0aXRpb24gb24gJXMiCisjfiBtc2dzdHIgIkVpIGtpcmp1dGFudWQgcGFydGl0c2lvb25pdGFiZWxpdCBrZXR0YWxlIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVucmVjb2duaXplZCBpbnB1dDogJXMiCisjfiBtc2dzdHIgInR1bmRtYXR1IHb1dGkgYCVzJ1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5vIHJvb20gZm9yIHBhcnRpdGlvbiBkZXNjcmlwdG9yIgorI34gbXNnc3RyICJSb2hrZW0gcGFydGl0c2lvb25lIGVpIG9sZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgYnVpbGQgc3Vycm91bmRpbmcgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICJWaWdhbmUgb2Zmc2V0IHByaW1hYXJzZXMgZXh0ZW5kZWQtcGFydGl0c2lvb25pc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRvbyBtYW55IGlucHV0IGZpZWxkcyIKKyN+IG1zZ3N0ciAiTGlpZ2EgcGFsanUgdPxoamUgcmlkdVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIklsbGVnYWwgdHlwZSIKKyN+IG1zZ3N0ciAiVmFsZSBrbGFodiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIkhvaWF0dXM6IHT8aGkgcGFydGl0c2lvb25cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBiYWQgcGFydGl0aW9uIHN0YXJ0IChlYXJsaWVzdCAlbGx1KSIKKyN+IG1zZ3N0ciAiSG9pYXR1czogcGFydGl0c2lvb24gJXMgYWxnYWIgc2VrdG9yaWx0IDBcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gbm90IHdoZXJlIGV4cGVjdGVkIgorI34gbXNnc3RyICJMdXVhIHV1cyBwYXJ0aXRzaW9vbiB2YWJhIHJ1dW1pIHNpc3NlIgorCisjLCBmdXp6eQorI34gbXNnaWQgImJhZCBpbnB1dCIKKyN+IG1zZ3N0ciAidmlnYW5lIHRhaW1hZGkgduTkcnR1czogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidG9vIG1hbnkgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiTGlpZ2EgcGFsanUgcGFydGl0c2lvb25lXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8ZGV2aWNlPi4uLlxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEYW5nZXJvdXMgb3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMlc2RldmljZSAgICAgICAgICAgIGxpc3QgYWN0aXZlIHBhcnRpdGlvbnMgb24gZGV2aWNlXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHBhcnRpdGlvbnMgYXJndW1lbnQiCisjfiBtc2dzdHIgInZpZ2FuZSBhcnY6ICVzXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlc1xuIgorI34gbXNnc3RyICJFaSBzdXVkYSBhdmFkYSBmYWlsaSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1wcmludC1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciIKKyN+IG1zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIHRhYmVsaXRlIGtpcmp1dGFtaXNlbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyByZWFkLXdyaXRlIgorI34gbXNnc3RyICJlaSBzdXVkYSBhdmFkYSBzZWFkZXQgJXMgbHVnZW1pc2VrcyBqYSBraXJqdXRhbWlzZWtzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgZm9yIHJlYWRpbmciCisjfiBtc2dzdHIgImVpIHN1dWRhIGF2YWRhIHNlYWRldCAlcyBsdWdlbWlzZWtzXG4iCisKKyN+IG1zZ2lkICJEb25lIgorI34gbXNnc3RyICJ2YWxtaXMgKEQpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJZb3UgaGF2ZSAlZCBhY3RpdmUgcHJpbWFyeSBwYXJ0aXRpb25zLiBUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTyxcbiIKKyN+ICJidXQgdGhlIERPUyBNQlIgd2lsbCBvbmx5IGJvb3QgYSBkaXNrIHdpdGggMSBhY3RpdmUgcGFydGl0aW9uLiIKKyN+IG1zZ3N0ciAiIgorI34gIkhvaWF0dXM6IHJvaGtlbSBrdWkg/GtzIHByaW1hYXJuZSBwYXJ0aXRzaW9vbiBvbiBt5HJnaXR1ZCBidXV0aXZha3MgKGFrdGlpdnNla3MpLlxuIgorI34gIkxJTE8gamFva3MgcG9sZSBzZWUgb2x1bGluZSwgYWdhIERPUy1pIE1CUiB29WliIGJ1dXRpbWlzZWwgcmFza3VzdGVzc2Ugc2F0dHVkYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgaGFzIGlkICV4IGFuZCBpcyBub3QgaGlkZGVuIgorI34gbXNnc3RyICJIb2lhdHVzOiBwYXJ0aXRzaW9vbiAlcyBvbiBzdXVydXNlZ2EgMCwga3VpZCBvbiBt5HJnaXR1ZCBidXV0aXZha3NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZS4iCisjfiBtc2dzdHIgIlNlZSBwYXJ0aXRzaW9vbiBvbiBqdWJhIG9sZW1hcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYXRhbCBlcnJvcjogY2Fubm90IGZpbmQgJXMiCisjfiBtc2dzdHIgIkZhdGFhbG5lIHZpZ2E6IGVpIHN1dWRhIGxlaWRhICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJIb2lhdHVzOiAlcyBwb2xlIHBsb2trc2VhZGVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3QgZXhpc3QsIGNhbm5vdCBjaGFuZ2UgaXQiCisjfiBtc2dzdHIgIlBhcnRpdHNpb29uaSAlZCBwb2xlIHZlZWwgb2xlbWFzIVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlF1aXR0aW5nIC0gbm90aGluZyBjaGFuZ2VkIgorI34gbXNnc3RyICJLYXN1dGFqYSBpbmZvcm1hdHNpb29uIG9uIG11dWRldHVkXG4iCisKKyN+IG1zZ2lkICJQbGVhc2UgYW5zd2VyIG9uZSBvZiB5LG4scVxuIgorI34gbXNnc3RyICJQYWx1biBzaXNlc3RhZ2UgeSwgbiB29WkgcVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgorI34gbXNnc3RyICIlczogVvV0bWVkIC0tYWRqdXN0IGphIC0tbm9hZGpmaWxlIG9uIHZhc3Rhc3Rpa2t1IHbkbGlzdGF2YWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueSBET1MgNi54IHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGZkaXNrIGRvY3VtZW50YXRpb24gZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiSE9JQVRVUzogS3VpIFRlIHRla2l0YXNpdGUgdvVpIG11dXRzaXRlIERPUyA2LnhcbiIKKyN+ICJwYXJ0aXRzaW9vbmUsIGx1Z2VnZSBwYWx1biBjZmRpc2snaSBtYW51YWxpXG4iCisjfiAibGlzYWluZm9ybWF0c2lvb25pIGhhbmtpbWlzZWtzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZpZWxkIGlzIHRvbyBsb25nIgorI34gbXNnc3RyICJ25GxpIG9uIGxpaWdhIHBpa2tcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogJyVjJyBpcyBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJXM6ICclYycgZWkgb2xlIGx1YmF0dWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICInJWMnIGlzIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICInJWMnIGVpIG9sZSBsdWJhdHVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNvbnRyb2wgY2hhcmFjdGVycyBhcmUgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIiVzOiBKdWh0c/xtYm9saWQgZWkgb2xlIGx1YmF0dWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICJKdXR0c/xtYm9saWQgZWkgb2xlIGx1YmF0dWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcy4iCisjfiBtc2dzdHIgIiVzOiBhaW51bHQgbG9rYWFsc2VpZCBraXJqZWlkIHNhYWIgbXV1dGEgLSBrYXN1dGFnZSBwcm9ncmFtbWkgeXAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm90aW1lfHNob3J0fGZ1bGx8aXNvXVxuIgorI34gbXNnc3RyICIgICAgICAgICAgICBFc2ltZW5lICBWaWltYW5lXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGRldGFpbHMgc2VlIGxzbG9naW5zKDEpLlxuIgorI34gbXNnc3RyICJLYXN1dGFqYSBpbmZvcm1hdHNpb29uIG9uIG11dWRldHVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3J5cHQoKSBmYWlsZWQiCisjfiBtc2dzdHIgIk3kbHUgc2FpIG90c2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ09NTUFORCBub3Qgc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAiLS1kYXRlIHBhcmFtZWV0ZXIgb24gcHV1ZHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIHBhdGhuYW1lIFtwYXRobmFtZSAuLi5dXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB3aXBlZnMoOCkuXG4iCisjfiBtc2dzdHIgIkthc3V0YWphIGluZm9ybWF0c2lvb24gb24gbXV1ZGV0dWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHRhc2tzZXQoMSkuXG4iCisjfiBtc2dzdHIgIkthc3V0YWphIGluZm9ybWF0c2lvb24gb24gbXV1ZGV0dWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogaXMgcmVtb3ZhYmxlIGRldmljZSIKKyN+IG1zZ3N0ciAiIGVlbWFsZGF0YXYiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibm8gZmlsZW5hbWUgc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAiLS1kYXRlIHBhcmFtZWV0ZXIgb24gcHV1ZHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0aW1lb3V0IGNhbm5vdCBiZSB6ZXJvIgorI34gbXNnc3RyICJmb3JrIGVpIPVubmVzdHVudWQiCisKKyN+IG1zZ2lkICJOZWVkIHRvIGluc2VydCAlZCBzZWNvbmRzIGFuZCByZWZlciB0aW1lIGJhY2sgJS42ZiBzZWNvbmRzIGFnb1xuIgorI34gbXNnc3RyICJWYWphIG9iIHZhaGVsZSBsaXNhZGEgJWQgc2VrdW5kaXQgbmluZyB2aWlkYXRhIGFqYWxlICUuNmYgc2VrdW5kaXQgdGFnYXNpXG4iCisKKyN+IG1zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSBLREdIV0NMSyB0byBjaGFuZ2VcbiIKKyN+IG1zZ3N0ciAiT290YW4gdHP8a2lscywga3VuaSBLREdIV0NMSyBhYmlsIHNhYWR1ZCBhZWcgZWRhc2kgbORoZWJcbiIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIHRvIHJlYWQgdGltZSBmYWlsZWQiCisjfiBtc2dzdHIgIktER0hXQ0xLIGlvY3RsIGtlbGxhIGx1Z2VtaXNla3MgZWkg9W5uZXN0dW51ZCIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIHRvIHJlYWQgdGltZSBmYWlsZWQgaW4gbG9vcCIKKyN+IG1zZ3N0ciAiS0RHSFdDTEsgaW9jdGwga2VsbGEgbHVnZW1pc2VrcyBlaSD1bm5lc3R1bnVkIHRz/GtpbHMiCisKKyN+IG1zZ2lkICJpb2N0bCgpIGZhaWxlZCB0byByZWFkIHRpbWUgZnJvbSAlcyIKKyN+IG1zZ3N0ciAiaW9jdGwoKSBhYmlsIGtlbGxhIGx1Z2VtaW5lICVzIGthdWR1IGVpIPVubmVzdHVudWQiCisKKyN+IG1zZ2lkICJpb2N0bCBLRFNIV0NMSyBmYWlsZWQiCisjfiBtc2dzdHIgIktEU0hXQ0xLIGlvY3RsIGVpIPVubmVzdHVudWQiCisKKyN+IG1zZ2lkICJDYW4ndCBvcGVuIC9kZXYvdHR5MSBvciAvZGV2L3ZjLzEiCisjfiBtc2dzdHIgIkVpIHN1dWRhIGF2YWRhIHNlYWRldCAvZGV2L3R0eTEgdvVpIC9kZXYvdmMvMSIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAiS0RHSFdDTEsgaW9jdGwgZWkg9W5uZXN0dW51ZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgZGV0YWlscyBzZWUgbHNjcHUoMSkuXG4iCisjfiBtc2dzdHIgIkthc3V0YWphIGluZm9ybWF0c2lvb24gb24gbXV1ZGV0dWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJncy4uLl1cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHJlbmljZSgxKS5cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhamEgaW5mb3JtYXRzaW9vbiBvbiBtdXVkZXR1ZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyVzIFtvcHRpb25zXSBbcHJvZ3JhbSBbcHJvZ3JhbSBhcmd1bWVudHNdXVxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHJldigxKS5cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhamEgaW5mb3JtYXRzaW9vbiBvbiBtdXVkZXR1ZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbl0gZmlsZVxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbiwgLS1uby1hcmd1bWVudCAgICAgICBvcHRpb24gZG9lcyBub3QgdXNlIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtciwgLS1yZXF1aXJlZCA8YXJnPiAgICBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAidvV0aSBgJXMnIHZhamFiIGFyZ3VtZW50aVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgLS14eXp6eSAgICAgICAgICAgICBhIGxvbmcgb3B0aW9uIG9ubHlcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgRXNpbWVuZSAgVmlpbWFuZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNlY3V0aXZlIGxpbmVzIGFyZSBpbnRlbmRlZCBieSB0d28gc3BhY2VzXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZiwgLS1mb29iYXIgICAgICAgICAgICBuZXh0IG9wdGlvbiBkZXNjcmlwdGlvbiByZXNldHMgaW5kZW50XG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtLXZlcnNpb25cbiIKKyN+IG1zZ3N0ciAiWyAtLWhlbHAgXSBbIC0tdmVyc2lvbiBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY29tcGlsZWQgd2l0aG91dCAteCBzdXBwb3J0IgorI34gbXNnc3RyICIlcyBwb2xlIGtvbXBpbGVlcml0dWQgbWluaXggdjIgdG9lZ2FcbiIKKworI34gbXNnaWQgIiVzOiBPdXQgb2YgbWVtb3J5IVxuIgorI34gbXNnc3RyICIlczogTeRsdSBzYWkgb3RzYVxuIgorCisjfiBtc2dpZCAiVW51c2FibGUiCisjfiBtc2dzdHIgIkthc3V0YW1hdHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZmFpbGVkXG4iCisjfiBtc2dzdHIgIiVzIGF2YW1pbmUgZWkg9W5uZXN0dW51ZCIKKworI34gbXNnaWQgIkRpc2sgaGFzIGJlZW4gY2hhbmdlZC5cbiIKKyN+IG1zZ3N0ciAiS2V0YXN0IHNhaSBtdXVkZXR1ZFxuIgorCisjfiBtc2dpZCAiUmVib290IHRoZSBzeXN0ZW0gdG8gZW5zdXJlIHRoZSBwYXJ0aXRpb24gdGFibGUgaXMgY29ycmVjdGx5IHVwZGF0ZWQuXG4iCisjfiBtc2dzdHIgIlRlaGtlIGFsZ2vkaXZpdHVzLCBldCB1dWVuZHVzZWQgbfVqdW1hIGhha2tha3NpZFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IElmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55XG4iCisjfiAiRE9TIDYueCBwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBjZmRpc2sgbWFudWFsXG4iCisjfiAicGFnZSBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkhPSUFUVVM6IEt1aSBUZSB0ZWtpdGFzaXRlIHb1aSBtdXV0c2l0ZSBET1MgNi54XG4iCisjfiAicGFydGl0c2lvb25lLCBsdWdlZ2UgcGFsdW4gY2ZkaXNrJ2kgbWFudWFsaVxuIgorI34gImxpc2FpbmZvcm1hdHNpb29uaSBoYW5raW1pc2Vrcy5cbiIKKworI34gbXNnaWQgIkZBVEFMIEVSUk9SIgorI34gbXNnc3RyICJGQVRBQUxORSBWSUdBIgorCisjfiBtc2dpZCAiUHJlc3MgYW55IGtleSB0byBleGl0IGNmZGlzayIKKyN+IG1zZ3N0ciAiVmFqdXRhIG31bmRhIGtsYWh2aSBjZmRpc2tpc3QgduRsanVtaXNla3MiCisKKyN+IG1zZ2lkICJDYW5ub3Qgc2VlayBvbiBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJFaSBzdXVkYSBrZXR0YWwgc2Vla2lkYSIKKworI34gbXNnaWQgIkNhbm5vdCByZWFkIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIkVpIHN1dWRhIGtldHRhbHQgbHVnZWRhIgorCisjfiBtc2dpZCAiQ2Fubm90IHdyaXRlIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIkVpIHN1dWRhIGtldHRhbGUga2lyanV0YWRhIgorCisjfiBtc2dpZCAiVG9vIG1hbnkgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiTGlpZ2EgcGFsanUgcGFydGl0c2lvb25lIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGJlZ2lucyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIlBhcnRpdHNpb29uIGFsZ2FiIGVubmUgc2VrdG9yaXQgMCIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGJlZm9yZSBzZWN0b3IgMCIKKyN+IG1zZ3N0ciAiUGFydGl0c2lvb24gbPVwcGViIGVubmUgc2VrdG9yaXQgMCIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBiZWdpbnMgYWZ0ZXIgZW5kLW9mLWRpc2siCisjfiBtc2dzdHIgIlBhcnRpdHNpb29uIGFsZ2FiIHDkcmFzdCBrZXR0YSBs9XBwdSIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICJQYXJ0aXRzaW9vbiBs9XBwZWIgcORyYXN0IGtldHRhIGz1cHB1IgorCisjfiBtc2dpZCAibG9naWNhbCBwYXJ0aXRpb25zIG5vdCBpbiBkaXNrIG9yZGVyIgorI34gbXNnc3RyICJMb29naWxpc2VkIHBhcnRpdHNpb29uaWQgb24gZvz8c2lsaXNlc3QgZXJpbmV2YXMgauRyamVzdHVzZXMiCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAiTG9vZ2lsaXNlZCBwYXJ0aXRzaW9vbmlkIGthdHR1dmFkIgorCisjfiBtc2dpZCAiZW5sYXJnZWQgbG9naWNhbCBwYXJ0aXRpb25zIG92ZXJsYXAiCisjfiBtc2dzdHIgIlN1dXJlbmRhdHVkIGxvb2dpbGlzZWQgcGFydGl0c2lvb25pZCBrYXR0dXZhZCIKKworI34gbXNnaWQgIiEhISEgSW50ZXJuYWwgZXJyb3IgY3JlYXRpbmcgbG9naWNhbCBkcml2ZSB3aXRoIG5vIGV4dGVuZGVkIHBhcnRpdGlvbiAhISEhIgorI34gbXNnc3RyICJTaXNlbWluZSB2aWdhOiBsb29naWxpc2UgcGFydGl0c2lvb25pIGxvb21pc2VsIHB1dWR1YiBleHRlbmRlZC1wYXJ0aXRzaW9vbiIKKworI34gbXNnaWQgIkNhbm5vdCBjcmVhdGUgbG9naWNhbCBkcml2ZSBoZXJlIC0tIHdvdWxkIGNyZWF0ZSB0d28gZXh0ZW5kZWQgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiU2lpYSBlaSBzYWEgbG9vZ2lsaXN0IHBhcnRpdHNpb29uaSBsdXVhIC0gc2VlIHRla2l0YWtzZSB0ZWlzZSBleHRlbmRlZCdpIgorCisjfiBtc2dpZCAiTWVudSBpdGVtIHRvbyBsb25nLiBNZW51IG1heSBsb29rIG9kZC4iCisjfiBtc2dzdHIgIk1lbvz8a2lyamUgb24gbGlpZ2EgcGlray4gTWVu/PwgdvVpYiBuYWxqYWthcyB25GxqYSBu5GhhLiIKKworI34gbXNnaWQgIklsbGVnYWwga2V5IgorI34gbXNnc3RyICJWYWxlIGtsYWh2IgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICJMb28gdXVzIHByaW1hYXJuZSBwYXJ0aXRzaW9vbiIKKworI34gbXNnaWQgIkNyZWF0ZSBhIG5ldyBsb2dpY2FsIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiTG9vIHV1cyBsb29naWxpbmUgcGFydGl0c2lvb24iCisKKyN+IG1zZ2lkICJDYW5jZWwiCisjfiBtc2dzdHIgIlT8aGlzdGEiCisKKyN+IG1zZ2lkICJEb24ndCBjcmVhdGUgYSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIsRyYSBsb28gcGFydGl0c2lvb25pIgorCisjfiBtc2dpZCAiISEhIEludGVybmFsIGVycm9yICEhISIKKyN+IG1zZ3N0ciAiISEhIFNpc2VtaW5lIHZpZ2EgISEhIgorCisjfiBtc2dpZCAiU2l6ZSAoaW4gTUIpOiAiCisjfiBtc2dzdHIgIlN1dXJ1cyAoTUIpOiAiCisKKyN+IG1zZ2lkICJCZWdpbm5pbmciCisjfiBtc2dzdHIgIkJlZ2lubmluZyIKKworI34gbXNnaWQgIkFkZCBwYXJ0aXRpb24gYXQgYmVnaW5uaW5nIG9mIGZyZWUgc3BhY2UiCisjfiBtc2dzdHIgIkxpc2FkYSBwYXJ0aXRzaW9vbiB2YWJhIHJ1dW1pIGFsZ3Vzc2UiCisKKyN+IG1zZ2lkICJBZGQgcGFydGl0aW9uIGF0IGVuZCBvZiBmcmVlIHNwYWNlIgorI34gbXNnc3RyICJMaXNhZGEgcGFydGl0c2lvb24gdmFiYSBydXVtaSBs9XBwdSIKKworI34gbXNnaWQgIk5vIHJvb20gdG8gY3JlYXRlIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlBvbGUgcnV1bWkgZXh0ZW5kZWQtcGFydGl0c2lvb25pIHRlZ2VtaXNla3MiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm8gcGFydGl0aW9uIHRhYmxlLiBTdGFydGluZyB3aXRoIHplcm8gdGFibGUuIgorI34gbXNnc3RyICJQdXVkdXYgcGFydGl0c2lvb25pdGFiZWwgdvVpIHZhbGUgc2lnbmF0dXVyIHBhcnRpdHNpb29uaXRhYmVsaXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQmFkIHNpZ25hdHVyZSBvbiBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIlRy/GtraWRhIGxpaHRzYWx0IHRhYmVsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVua25vd24gcGFydGl0aW9uIHRhYmxlIHR5cGUiCisjfiBtc2dzdHIgIlBhcnRpdHNpb29uaXRhYmVsaXQgZWkgb2xlXG4iCisKKyN+IG1zZ2lkICJEbyB5b3Ugd2lzaCB0byBzdGFydCB3aXRoIGEgemVybyB0YWJsZSBbeS9OXSA/IgorI34gbXNnc3RyICJLYXMgc29vdml0ZSBhbHVzdGFkYSB0/GhqYSB0YWJlbGlnYSBbeS9OXSA/IgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiRWkgc3V1ZGEgYXZhZGEga2V0dGFzZWFkZXQiCisKKyN+IG1zZ2lkICJPcGVuZWQgZGlzayByZWFkLW9ubHkgLSB5b3UgaGF2ZSBubyBwZXJtaXNzaW9uIHRvIHdyaXRlIgorI34gbXNnc3RyICJBdmFzaW4ga2V0dGEgYWludWx0IGx1Z2VtaXNla3MgLSBraXJqdXRhbWlzZWtzIHBvbGUg9WlndXN0IgorCisjfiBtc2dpZCAiQ2Fubm90IGdldCBkaXNrIHNpemUiCisjfiBtc2dzdHIgIkVpIHN1dWRhIGtpbmRsYWtzIHRlaGEga2V0dGEgbWFodHUiCisKKyN+IG1zZ2lkICJCYWQgcHJpbWFyeSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlZpZ2FuZSBwcmltYWFybmUgcGFydGl0c2lvb24iCisKKyN+IG1zZ2lkICJXYXJuaW5nISEgIFRoaXMgbWF5IGRlc3Ryb3kgZGF0YSBvbiB5b3VyIGRpc2shIgorI34gbXNnc3RyICJIb2lhdHVzISEgIFNlZSB29WliIFRlaWUga2V0dGFsIGFuZG1laWQgaOR2aXRhZGEhIgorCisjfiBtc2dpZCAiUGxlYXNlIGVudGVyIGB5ZXMnIG9yIGBubyciCisjfiBtc2dzdHIgIlBhbHVuIHNpc2VzdGFnZSBgamFoJyB29WkgYGVpJyIKKworI34gbXNnaWQgIldyaXRpbmcgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2suLi4iCisjfiBtc2dzdHIgIktpcmp1dGFuIHBhcnRpdHNpb29uaXRhYmVsaXQga2V0dGFsZS4uLiIKKworI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrIgorI34gbXNnc3RyICJLaXJqdXRhc2luIHBhcnRpdHNpb29uaXRhYmVsaSBrZXR0YWxlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSwgYnV0IHJlLXJlYWQgdGFibGUgZmFpbGVkLiAgUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB0byB1cGRhdGUgdGFibGUuIgorI34gbXNnc3RyICJLaXJqdXRhc2luIHBhcnRpdHNpb29uaXRhYmVsaSwgYWdhIHRhZ2FzaSBsdWdlbWluZSBlYmH1bm5lc3R1cy4gUmVib290IGFiaWtzLiIKKworI34gbXNnaWQgIk5vIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgbWFya2VkIGJvb3RhYmxlLiBET1MgTUJSIGNhbm5vdCBib290IHRoaXMuIgorI34gbXNnc3RyICLca3NraSBwcmltYWFybmUgcGFydGl0c2lvb24gcG9sZSBt5HJnaXR1ZCBidXV0aXZha3MuIERPU2kgTUJSIGVpIHN1dWRhIHNpaXQgYnV1dGlkYS4iCisKKyN+IG1zZ2lkICJNb3JlIHRoYW4gb25lIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZS4gRE9TIE1CUiBjYW5ub3QgYm9vdCB0aGlzLiIKKyN+IG1zZ3N0ciAiUm9oa2VtIGt1aSD8a3MgcHJpbWFhcm5lIHBhcnRpdHNpb29uIG9uIG3kcmdpdHVkIGJ1dXRpdmFrcy4gRE9TaSBNQlIgZWkgc3V1ZGEgc2lpdCBidXV0aWRhLiIKKworI34gbXNnaWQgIkVudGVyIGZpbGVuYW1lIG9yIHByZXNzIFJFVFVSTiB0byBkaXNwbGF5IG9uIHNjcmVlbjogIgorI34gbXNnc3RyICJTaXNldGEgZmFpbGluaW1pIHb1aSB2YWp1dGEgUkVUVVJOIGVrcmFhbmlsIG7kaXRhbWlzZWtzOiAiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlc1xuIgorI34gbXNnc3RyICJLZXR0YXNlYWRlOiAlc1xuIgorCisjfiBtc2dpZCAiU2VjdG9yIDA6XG4iCisjfiBtc2dzdHIgIlNla3RvciAwOlxuIgorCisjfiBtc2dpZCAiU2VjdG9yICVkOlxuIgorI34gbXNnc3RyICJTZWt0b3IgJWQ6XG4iCisKKyN+IG1zZ2lkICIgICBOb25lICAgIgorI34gbXNnc3RyICIgICBWYWJhICAgIgorCisjfiBtc2dpZCAiICAgUHJpL0xvZyIKKyN+IG1zZ3N0ciAiICAgUHJpL0xvZyIKKworI34gbXNnaWQgIiAgIFByaW1hcnkiCisjfiBtc2dzdHIgIiBQcmltYWFybmUiCisKKyN+IG1zZ2lkICIgICBMb2dpY2FsIgorI34gbXNnc3RyICIgTG9vZ2lsaW5lIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiglMDJYKSIKKyN+IG1zZ3N0ciAiVHVuZG1hdHUgKCUwMlgpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vbmUiCisjfiBtc2dzdHIgInZhbG1pcyAoRCkiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gVGFibGUgZm9yICVzXG4iCisjfiBtc2dzdHIgIlBhcnRpdHNpb29uaXRhYmVsIGtldHRhbCAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAgICAgICAgIEZpcnN0ICAgICAgIExhc3RcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgRXNpbWVuZSAgVmlpbWFuZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAjIFR5cGUgICAgICAgU2VjdG9yICAgICAgU2VjdG9yICAgT2Zmc2V0ICAgIExlbmd0aCAgIEZpbGVzeXN0ZW0gVHlwZSAoSUQpIEZsYWdcbiIKKyN+IG1zZ3N0ciAiICMgVPz8cCAgICAgU2VrdG9yICAgU2VrdG9yICAgT2Zmc2V0ICBQaWtrdXMgICBGYWlsaXP8c3QuIHT8/HAgKElEKSAgIExpcHVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLVxuIgorI34gbXNnc3RyICItLSAtLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICAgLS0tU3RhcnRpbmctLS0tICAgICAgLS0tLUVuZGluZy0tLS0tICAgIFN0YXJ0ICAgICBOdW1iZXIgb2ZcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgLS0tLUFsZ3VzLS0tLS0gICAgICAtLS0tLUz1cHAtLS0tLSAgRXNpbWVuZSBTZWt0b3JpdGVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgIyBGbGFncyBIZWFkIFNlY3QgIEN5bCAgIElEICBIZWFkIFNlY3QgIEN5bCAgICAgU2VjdG9yICAgIFNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiICMgTGlwdWQgUGVhICBTZWt0IFNpbCAgIElEICBQZWEgIFNla3QgU2lsICAgIHNla3RvciAgICBhcnZcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICItLSAtLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS1cbiIKKyN+IG1zZ3N0ciAiLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tLS0tLSAtLS0tLS0tLS1cbiIKKworI34gbXNnaWQgIlJhdyIKKyN+IG1zZ3N0ciAidG9vUmVzIgorCisjfiBtc2dpZCAiUHJpbnQgdGhlIHRhYmxlIHVzaW5nIHJhdyBkYXRhIGZvcm1hdCIKKyN+IG1zZ3N0ciAiVHL8a2tpZGEgdGFiZWwgdG9vcmVzIGZvcm1hYWRpcyAoYmFpdGhhYXZhbCkiCisKKyN+IG1zZ2lkICJQcmludCB0aGUgdGFibGUgb3JkZXJlZCBieSBzZWN0b3JzIgorI34gbXNnc3RyICJUcvxra2lkYSB0YWJlbCBq5HJqZXN0YXR1bmEgc2VrdG9yaXRlIGrkcmdpIgorCisjfiBtc2dpZCAiVGFibGUiCisjfiBtc2dzdHIgIlRhYmVsIgorCisjfiBtc2dpZCAiSnVzdCBwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJUcvxra2lkYSBsaWh0c2FsdCB0YWJlbCIKKworI34gbXNnaWQgIkRvbid0IHByaW50IHRoZSB0YWJsZSIKKyN+IG1zZ3N0ciAiRWkgdHL8a2kgbWlkYWdpIgorCisjfiBtc2dpZCAiQ29weXJpZ2h0IChDKSAxOTk0LTE5OTkgS2V2aW4gRS4gTWFydGluICYgYWViIgorI34gbXNnc3RyICJDb3B5cmlnaHQgKEMpIDE5OTQtMTk5OSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIiCisKKyN+IG1zZ2lkICIgIGcgICAgICAgICAgQ2hhbmdlIGN5bGluZGVycywgaGVhZHMsIHNlY3RvcnMtcGVyLXRyYWNrIHBhcmFtZXRlcnMiCisjfiBtc2dzdHIgIiAgZyAgICAgICAgICBNdXV0YSBzaWxpbmRyaXRlLCBwZWFkZSBqYSByYWphbCBvbGV2YXRlIHNla3Rvcml0ZSBhcnZ1IgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFdBUk5JTkc6IFRoaXMgb3B0aW9uIHNob3VsZCBvbmx5IGJlIHVzZWQgYnkgcGVvcGxlIHdobyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIEhPSUFUVVM6IFNlZSBr5HNrIG9uIGFpbnVsdCBuZWlsZSwga2VzIHRlYXZhZCwgbWlkYSAiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAga25vdyB3aGF0IHRoZXkgYXJlIGRvaW5nLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIG5hZCB0ZWV2YWQuIgorCisjfiBtc2dpZCAiICBtICAgICAgICAgIE1heGltaXplIGRpc2sgdXNhZ2Ugb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorI34gbXNnc3RyICIgIG0gICAgICAgICAgTWFrc2ltaXNlZXJpZGEgam9va3N2YSBwYXJ0aXRzaW9vbmkga2V0dGFrYXN1dHVzIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIE5vdGU6IFRoaXMgbWF5IG1ha2UgdGhlIHBhcnRpdGlvbiBpbmNvbXBhdGlibGUgd2l0aCIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIE3kcmt1czogc2VlIHb1aWIgdGVoYSBrZXR0YSBtaXR0ZfxoaWxkdXZha3MgRE9TaSwiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgRE9TLCBPUy8yLCAuLi4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBPUy8yIGphIG11dWRlIG9wZXJhdHNpb29uaXP8dGVlbWlkZWdhLiIKKworI34gbXNnaWQgIiAgcCAgICAgICAgICBQcmludCBwYXJ0aXRpb24gdGFibGUgdG8gdGhlIHNjcmVlbiBvciB0byBhIGZpbGUiCisjfiBtc2dzdHIgIiAgcCAgICAgICAgICBW5GxqYXN0YWRhIHBhcnRpdHNpb29uaXRhYmVsIGVrcmFhbmlsZSB29WkgZmFpbGkiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgVGhlcmUgYXJlIHNldmVyYWwgZGlmZmVyZW50IGZvcm1hdHMgZm9yIHRoZSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBW5GxqYXN0YW1pc2VsIHb1aXRlIHZhbGlkYSBtaXRtZSBmb3JtYWFkaSB2YWhlbDoiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgdGhhdCB5b3UgY2FuIGNob29zZSBmcm9tOiIKKyN+IG1zZ3N0ciAiICIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICByIC0gUmF3IGRhdGEgKGV4YWN0bHkgd2hhdCB3b3VsZCBiZSB3cml0dGVuIHRvIGRpc2spIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgciAtIHRvb1JlcyAtIHNlZSBiYWlkaWphZGEsIG1pcyBrZXR0YWxlIGtpcmp1dGF0YWtzIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHMgLSBUYWJsZSBvcmRlcmVkIGJ5IHNlY3RvcnMiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHQgLSBUYWJsZSBpbiByYXcgZm9ybWF0IgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgdCAtIFRhYmVsIHRla3N0aSBrdWp1bCAodW1iZXMgbmFndSBwZWFla3JhYW5pbCkiCisKKyN+IG1zZ2lkICIgIHUgICAgICAgICAgQ2hhbmdlIHVuaXRzIG9mIHRoZSBwYXJ0aXRpb24gc2l6ZSBkaXNwbGF5IgorI34gbXNnc3RyICIgIHUgICAgICAgICAgTXV1dGEgcGFydGl0c2lvb25pZGUgc3V1cnVzZSBqYSBhc3Vrb2hhIPxoaWt1aWQiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgUm90YXRlcyB0aHJvdWdoIE1CLCBzZWN0b3JzIGFuZCBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBWYXJpYW5kaWQgb24gTUIsIHNla3RvcmlkIGphIHNpbGluZHJpZCIKKworI34gbXNnaWQgIkNUUkwtTCAgICAgICBSZWRyYXdzIHRoZSBzY3JlZW4iCisjfiBtc2dzdHIgIkNUUkwtTCAgICAgICBKb29uaXN0YWRhIGVrcmFhbiD8bGUiCisKKyN+IG1zZ2lkICIgID8gICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCisjfiBtc2dzdHIgIiAgPyAgICAgICAgICBO5GlkYXRhIHNlZGFzYW1hIGVrcmFhbmkiCisKKyN+IG1zZ2lkICJDaGFuZ2UgY3lsaW5kZXIgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIk11dXRhIHNpbGluZHJpdGUgYXJ2dSBnZW9tZWV0cmlhcyIKKworI34gbXNnaWQgIkNoYW5nZSBoZWFkIGdlb21ldHJ5IgorI34gbXNnc3RyICJNdXV0YSBwZWFkZSBhcnZ1IGdlb21lZXRyaWFzIgorCisjfiBtc2dpZCAiQ2hhbmdlIHNlY3RvciBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiTXV1dGEgc2VrdG9yaXRlIGFydnUgZ2VvbWVldHJpYXMiCisKKyN+IG1zZ2lkICJEb25lIHdpdGggY2hhbmdpbmcgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIk11dXR1c2VkIGdlb21lZXRyaWFzIG9uIHRlaHR1ZCIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzOiAiCisjfiBtc2dzdHIgIlNpc2VzdGFnZSBzaWxpbmRyaXRlIGFydjogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBjeWxpbmRlcnMgdmFsdWUiCisjfiBtc2dzdHIgIlZpZ2FuZSBzaWxpbmRyaXRlIGFydiIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2YgaGVhZHM6ICIKKyN+IG1zZ3N0ciAiU2lzZXRhZ2UgcGVhZGUgYXJ2OiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGhlYWRzIHZhbHVlIgorI34gbXNnc3RyICJWaWdhbmUgcGVhZGUgYXJ2IgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFjazogIgorI34gbXNnc3RyICJTaXNlc3RhZ2Ugc2VrdG9yaXRlIGFydiByYWphbDogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBzZWN0b3JzIHZhbHVlIgorI34gbXNnc3RyICJWaWdhbmUgc2VrdG9yaXRlIGFydiIKKworI34gbXNnaWQgIkVudGVyIGZpbGVzeXN0ZW0gdHlwZTogIgorI34gbXNnc3RyICJTaXNlc3RhZ2UgZmFpbGlz/HN0ZWVtaSB0/PxiaSBudW1iZXI6ICIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgRlMgVHlwZSB0byBlbXB0eSIKKyN+IG1zZ3N0ciAiRmFpbGlz/HN0ZWVtaSB0/PxwaSBlaSBzYWEgbXV1dGEgdPxoamFrcyIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgRlMgVHlwZSB0byBleHRlbmRlZCIKKyN+IG1zZ3N0ciAiRmFpbGlz/HN0ZWVtaSB0/PxwaSBlaSBzYWEgbXV1dGEgZXh0ZW5kZWQnaWtzIgorCisjfiBtc2dpZCAiVW5rKCUwMlgpIgorI34gbXNnc3RyICJUdW5kbWF0dSAoJTAyWCkiCisKKyN+IG1zZ2lkICIsIE5DIgorI34gbXNnc3RyICIsIE5DIgorCisjfiBtc2dpZCAiTkMiCisjfiBtc2dzdHIgIk5DIgorCisjfiBtc2dpZCAiUHJpL0xvZyIKKyN+IG1zZ3N0ciAiUHJpL0xvZyIKKworI34gbXNnaWQgIlVua25vd24gKCUwMlgpIgorI34gbXNnc3RyICJUdW5kbWF0dSAoJTAyWCkiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlcyIKKyN+IG1zZ3N0ciAiS2V0dGFzZWFkZTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU2l6ZTogJWxsZCBieXRlcywgJWxsZCBNQiIKKyN+IG1zZ3N0ciAiTWFodDogJWxsZCBiYWl0aSwgJWxkIE1CIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNpemU6ICVsbGQgYnl0ZXMsICVsbGQuJWxsZCBHQiIKKyN+IG1zZ3N0ciAiTWFodDogJWxsZCBiYWl0aSwgJWxkLiVsZCBHQiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJIZWFkczogJWQgICBTZWN0b3JzIHBlciBUcmFjazogJWQgICBDeWxpbmRlcnM6ICVsbGQiCisjfiBtc2dzdHIgIlDkaWQ6ICVkICAgIFNla3RvcmVpZCByYWphbDogJWQgICAgU2lsaW5kcmVpZDogJWQiCisKKyN+IG1zZ2lkICJQYXJ0IFR5cGUiCisjfiBtc2dzdHIgIlT8/HAiCisKKyN+IG1zZ2lkICJGUyBUeXBlIgorI34gbXNnc3RyICJGUyB0/PxwIgorCisjfiBtc2dpZCAiW0xhYmVsXSIKKyN+IG1zZ3N0ciAiW0xhYmVsXSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgU2VjdG9ycyIKKyN+IG1zZ3N0ciAiU2VrdG9yZWlkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgQ3lsaW5kZXJzIgorI34gbXNnc3RyICJzaWxpbmRyaWQgKEMpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgU2l6ZSAoTUIpIgorI34gbXNnc3RyICJNYWh0IChNQikiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICBTaXplIChHQikiCisjfiBtc2dzdHIgIk1haHQgKEdCKSIKKworI34gbXNnaWQgIk5vIG1vcmUgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiUm9oa2VtIHBhcnRpdHNpb29uZSBlaSBvbGUiCisKKyN+IG1zZ2lkICJDaGFuZ2UgZGlzayBnZW9tZXRyeSAoZXhwZXJ0cyBvbmx5KSIKKyN+IG1zZ3N0ciAiTXV1dGEga2V0dGEgZ2VvbWVldHJpYXQgKGFpbnVsdCBla3NwZXJ0aWRlbGUpIgorCisjfiBtc2dpZCAiTWF4aW1pemUiCisjfiBtc2dzdHIgIk1ha3NpbWlzZWVyaWRhIgorCisjfiBtc2dpZCAiTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24gKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIk1ha3NpbWlzZWVyaWRhIGpvb2tzdmEgcGFydGl0c2lvb25pIGtldHRha2FzdXR1cyAoYWludWx0IGVrc3BlcnRpZGVsZSkiCisKKyN+IG1zZ2lkICJQcmludCIKKyN+IG1zZ3N0ciAiUHJpbmRpIgorCisjfiBtc2dpZCAiQ2hhbmdlIHRoZSBmaWxlc3lzdGVtIHR5cGUgKERPUywgTGludXgsIE9TLzIgYW5kIHNvIG9uKSIKKyN+IG1zZ3N0ciAiTXV1dGEgZmFpbGlz/HN0ZWVtaSB0/PxwaSAoRE9TLCBMaW51eCwgT1MvMiBqbmUpIgorCisjfiBtc2dpZCAiVW5pdHMiCisjfiBtc2dzdHIgIlVoaWt1ZCIKKworI34gbXNnaWQgIkNoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSAoTUIsIHNlY3QsIGN5bCkiCisjfiBtc2dzdHIgIk11dXRhIHBhcnRpdHNpb29uaWRlIHN1dXJ1c2UgbuRpdGFtaXNlIPxoaWt1aWQgKE1CLCBzZWt0b3JpZCwgc2lsaW5kcmlkKSIKKworI34gbXNnaWQgIkNhbm5vdCBtYWtlIHRoaXMgcGFydGl0aW9uIGJvb3RhYmxlIgorI34gbXNnc3RyICJTZWRhIHBhcnRpdHNpb29uaSBlaSBzYWEgYnV1dGl2YWtzIHRlaGEiCisKKyN+IG1zZ2lkICJDYW5ub3QgZGVsZXRlIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiVPxoamEgcGFydGl0c2lvb25pIGVpIHNhYSBrdXN0dXRhZGEiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWF4aW1pemUgdGhpcyBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlNlZGEgcGFydGl0c2lvb25pIGVpIHNhYSBtYWtzaW1pc2VlcmlkYSIKKworI34gbXNnaWQgIlRoaXMgcGFydGl0aW9uIGlzIHVudXNhYmxlIgorI34gbXNnc3RyICJTZWUgcGFydGl0c2lvb24gcG9sZSBrYXN1dGF0YXYiCisKKyN+IG1zZ2lkICJUaGlzIHBhcnRpdGlvbiBpcyBhbHJlYWR5IGluIHVzZSIKKyN+IG1zZ3N0ciAiU2VlIHBhcnRpdHNpb29uIG9uIGp1YmEgb2xlbWFzIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSB0aGUgdHlwZSBvZiBhbiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlT8aGphIHBhcnRpdHNpb29uaSB0/PxwaSBlaSBzYWEgbXV1dGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ29weXJpZ2h0IChDKSAxOTk0LTIwMDIgS2V2aW4gRS4gTWFydGluICYgYWViXG4iCisjfiBtc2dzdHIgIkNvcHlyaWdodCAoQykgMTk5NC0yMDAwIEtldmluIEUuIE1hcnRpbiAmIGFlYlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZywgLS1ndWVzcyAgICAgICAgICAgICAgIGd1ZXNzIGEgZ2VvbWV0cnkgZnJvbSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1QLCAtLXByaW50IDxyfHN8dD4gICAgICAgcHJpbnQgcGFydGl0aW9uIHRhYmxlIGluIHNwZWNpZmllZCBmb3JtYXRcbiIKKyN+IG1zZ3N0ciAiICBwICAgICAgICAgIFbkbGphc3RhZGEgcGFydGl0c2lvb25pdGFiZWwgZWtyYWFuaWxlIHb1aSBmYWlsaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWEsIC0tYXJyb3cgICAgICAgICAgICAgICB1c2UgYXJyb3cgZm9yIGhpZ2hsaWdodGluZyB0aGUgY3VycmVudCBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiICBkICAgICAgICAgIEt1c3R1dGFkYSBqb29rc2V2IHBhcnRpdHNpb29uIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorI34gbXNnc3RyICIgICBjICAgbXV1dGEgc2lsaW5kcml0ZSBhcnZ1IgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2YgaGVhZHMiCisjfiBtc2dzdHIgImVpIHN1dWRhIGF2YWRhIHNlYWRldCAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgbnVtYmVyIG9mIHNlY3RvcnMiCisjfiBtc2dzdHIgImVpIHN1dWRhIGF2YWRhIHNlYWRldCAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICBlICAgZXh0ZW5kZWQiCisjfiBtc2dzdHIgImUgICBleHRlbmRlZCBwYXJ0aXRzaW9vbmkgbG9vbWluZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJOciIKKyN+IG1zZ3N0ciAiTkMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU2VjIgorI34gbXNnc3RyICJTZWFkYSBiaXR0IGJpdG1hcGlzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJsb2NrcyAiCisjfiBtc2dzdHIgIiVsZCBwbG9ra2lcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTZWN0b3IiCisjfiBtc2dzdHIgIlNla3RvcmlkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIllvdSB3aWxsIGdldCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiBGaXggaXQgZmlyc3QhIgorI34gbXNnc3RyICJUZSBhamFrc2l0ZSBwYXJ0aXRzaW9vbmlkIGthdHR1bWEhIFBhcmFuZGFnZSBzZWUga/VpZ2VwZWFsdCDkcmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGbGFnIgorI34gbXNnc3RyICJMaXB1ZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2Fubm90IGZmbHVzaCBjaGFuZ2VzOiAlcyIKKyN+IG1zZ3N0ciAiJXM6IEVpIHN1dWRhIGF2YWRhIGZhaWxpICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVtIgorI34gbXNnc3RyICJmb3JrIGVpIPVubmVzdHVudWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgdXNlciBpZDogJW0iCisjfiBtc2dzdHIgImZvcmsgZWkg9W5uZXN0dW51ZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGRldiBjb250ZXh0IgorI34gbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byB1c2UgJXMgZGV2aWNlIgorI34gbXNnc3RyICJlaSBzdXVkYSB0YWdhc2kga2VyaWRhIHNhYWxpbWlzc2VhZGV0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gZm91bmQgZnJlZSBsb29wIGRldmljZSIKKyN+IG1zZ3N0ciAiJXMgcG9sZSBmbG9waXNlYWRlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgdG8gc2V0IGxvb3BkZXYgYXR0cmlidXRlcyIKKyN+IG1zZ3N0ciAiZWkgc3V1ZGEgdGFnYXNpIGtlcmlkYSBzYWFsaW1pc3NlYWRldCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogJXM6IGZhaWxlZCBzZXR0aW5nIHVwIGxvb3AgZGV2aWNlOiAlbSIKKyN+IG1zZ3N0ciAiZWkgc3V1ZGEgdGFnYXNpIGtlcmlkYSBzYWFsaW1pc3NlYWRldCIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgb3BlbiAlcyBmb3Igc2V0dGluZyBzcGVlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGVpIHN1dWRhIGF2YWRhIHNlYWRldCAlcyBraWlydXNlIHNlYWRtaXNla3MiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgc3BlZWQ6ICVtIgorI34gbXNnc3RyICJmb3JrIGVpIPVubmVzdHVudWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6ICVzIG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCisjfiBtc2dzdHIgImZvcmsgZWkg9W5uZXN0dW51ZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogdW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKKyN+IG1zZ3N0ciAiICAgbCAgIGFuZGEgbmltZWtpcmkgdHVudHVkIGZhaWxpc/xzdGVlbWlkZSB0/PxwaWRlc3QiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCByZW1vdW50ICVzJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorI34gbXNnc3RyICJtb3VudDogZWkgc3V1ZGEgYXZhZGEgc2VhZGV0ICVzIGtpaXJ1c2Ugc2VhZG1pc2VrcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogbm8gbWVkaXVtIGZvdW5kIG9uICVzIgorI34gbXNnc3RyICJmb3JrIGVpIPVubmVzdHVudWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3Qgc2V0IGdyb3VwIGlkOiAlbSIKKyN+IG1zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogY2Fubm90IHNldCB1c2VyIGlkOiAlbSIKKyN+IG1zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogY2Fubm90IGZvcms6ICVzIgorI34gbXNnc3RyICJmb3JrIGVpIPVubmVzdHVudWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gY2hkaXIgdG8gJXM6ICVtIgorI34gbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogZmFpbGVkIHRvIG9idGFpbiBjdXJyZW50IGRpcmVjdG9yeTogJW0iCisjfiBtc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgaGFzIGJlZW4gdW5tb3VudGVkXG4iCisjfiBtc2dzdHIgIktldGFzdCBzYWkgbXV1ZGV0dWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJ29mZnNldD0lcycgb3B0aW9uc1xuIgorI34gbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImRldmljZSAlcyBpcyBhc3NvY2lhdGVkIHdpdGggJXNcbiIKKyN+IG1zZ3N0ciAiU2VrdG9yJWQgb24ganViYSBrYXN1dHVzZWxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJkZXZpY2UgJXMgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICJTZWt0b3IlZCBvbiBqdWJhIGthc3V0dXNlbFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNhbm5vdCB1bm1vdW50IFwiXCJcbiIKKyN+IG1zZ3N0ciAiRWkgc3V1ZGEgYXZhZGEgc2VhZG1lZmFpbGkgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUcnlpbmcgdG8gdW5tb3VudCAlc1xuIgorI34gbXNnc3RyICJzaHV0ZG93bjogRWkgc3V1ZGEgbGFodGkgbW9udGVlcmlkYSBrYXRhbG9vZ2kgJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8dHR5PiBbLi4uXVxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBnZXQgdGhyZXNob2xkIGZvciAlcyIKKyN+IG1zZ3N0ciAiZWkgc3V1ZGEga2luZGxha3MgdGVoYSBzZWFkbWUgJXMgbWFodHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGdldCB0aW1lb3V0IGZvciAlcyIKKyN+IG1zZ3N0ciAiZWkgc3V1ZGEga2luZGxha3MgdGVoYSBzZWFkbWUgJXMgbWFodHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBpbnRlcnZhbCB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmlnYW5lIHNpbGluZHJpdGUgYXJ2IgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgaW50ZXJ2YWwgdmFsdWU6ICVkIgorI34gbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmlnYW5lIHNla3Rvcml0ZSBhcnYiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdmFsdWU6ICVkIgorI34gbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdmFsdWUiCisjfiBtc2dzdHIgIkthc3V0YW4gdmFpa2ltaXNpIHbk5HJ0dXN0ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiS2FzdXRhbiB2YWlraW1pc2kgduTkcnR1c3QgJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgc2V0IHRpbWUgdmFsdWU6ICVkIgorI34gbXNnc3RyICJ2aWdhbmUgdGFpbWFkaSB25ORydHVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdGltZSB2YWx1ZSIKKyN+IG1zZ3N0ciAiS2FzdXRhbiB2YWlraW1pc2kgduTkcnR1c3QgJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdGltZSB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIkthc3V0YW4gdmFpa2ltaXNpIHbk5HJ0dXN0ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHNldCAlcyB0byB0aHJlc2hvbGQgJWQiCisjfiBtc2dzdHIgImZvcmsgZWkg9W5uZXN0dW51ZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgc2V0ICVzIHRvIHRpbWUgdGhyZXNob2xkICVkIgorI34gbXNnc3RyICJlaSBzdXVkYSBraW5kbGFrcyB0ZWhhIHNlYWRtZSAlcyBtYWh0dSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGltZSBlbGFwc2VkIHNpbmNlIHJlZmVyZW5jZSB0aW1lIGhhcyBiZWVuICUuNmYgc2Vjb25kcy5cbiIKKyN+ICJEZWxheWluZyBmdXJ0aGVyIHRvIHJlYWNoIHRoZSBuZXcgdGltZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlNlYXRhdmFzdCBrZWxsYWFqYXN0IG9uIG329mRhcyAlLjZmIHNla3VuZGl0LlxuIgorI34gIk9vdGFuIGVkYXNpIHTkaXNzZWt1bmRpbmkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlIgorI34gbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkVycm9yIHdyaXRpbmcgc2NyZWVuZHVtcCIKKyN+IG1zZ3N0ciAidmlnYSBpLWtpcmplIGtpcmp1dGFtaXNlbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDb3VsZG4ndCByZWFkIG5laXRoZXIgL2Rldi92Y3NhMCBub3IgL2Rldi92Y3NhIgorI34gbXNnc3RyICJFaSBzdXVkYSBhdmFkYSBzZWFkZXQgL2Rldi90dHkxIHb1aSAvZGV2L3ZjLzEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gIlxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxpbmUgdG9vIGxvbmciCisjfiBtc2dzdHIgImv2aXRlIG5pbWkgb24gbGlpZ2EgcGlrayIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YWlkcGlkIGZhaWxlZCIKKyN+IG1zZ3N0ciAic2V0dWlkKCkgZWkg9W5uZXN0dW51ZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorI34gbXNnc3RyICJQYXJ0aXRzaW9vbiAlZCBvbiBqdWJhIG9sZW1hcy4gS3VzdHV0YWdlIHNlZSBlbm5lIHV1ZXN0aSBsaXNhbWlzdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAlemQgaXMgYWxyZWFkeSBkZWZpbmVkLiBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCisjfiBtc2dzdHIgIlBhcnRpdHNpb29uICVkIG9uIGp1YmEgb2xlbWFzLiBLdXN0dXRhZ2Ugc2VlIGVubmUgdXVlc3RpIGxpc2FtaXN0XG4iCisKKyN+IG1zZ2lkICJvbmUgYmFkIGJsb2NrXG4iCisjfiBtc2dzdHIgIvxrcyB2aWdhbmUgcGxva2tcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gdHlwZSBoZXggb3IgdXVpZCIKKyN+IG1zZ3N0ciAiIyAlcyBwYXJ0aXRzaW9vbml0YWJlbFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVhZCBmYWlsZWQgJXMiCisjfiBtc2dzdHIgInZpZ2FuZSBraWlydXM6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlZWsgZmFpbGVkICVzIgorI34gbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBmYWlsZWQ6ICVkIgorI34gbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZmFpbGVkOiAlZCIKKyN+IG1zZ3N0ciAiJXMgYXZhbWluZSBlaSD1bm5lc3R1bnVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZCIKKyN+IG1zZ3N0ciAi3Gh0ZWdpIHBhcnRpdHNpb29uaSBwb2xlIGRlZmluZWVyaXR1ZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlLCBvZmZzZXQgaXMgbm90IDUxMi1ieXRlIGFsaWduZWQuIgorI34gbXNnc3RyICJlaSBzdXVkYSB0YWdhc2kga2VyaWRhIHNhYWxpbWlzc2VhZGV0IgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuc3N1cG9ydGVkIC0tbG9jYWwtbGluZSBtb2RlIGFyZ3VtZW50IgorI34gbXNnc3RyICIlczogVHVuZG1hdHUgYXJndW1lbnQ6ICVzXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTpcbiIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlZGl0aW9uIG51bWJlciBhcmd1bWVudCBmYWlsZWQiCisjfiBtc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworI34gbXNnaWQgImZzeW5jIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZnN5bmMgZWkg9W5uZXN0dW51ZCIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICJQcmludCB2ZXJzaW9uOlxuIgorI34gIiAgICAgICAgJXMgLXZcbiIKKyN+ICJQcmludCBwYXJ0aXRpb24gdGFibGU6XG4iCisjfiAiICAgICAgICAlcyAtUCB7cnxzfHR9IFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+ICJJbnRlcmFjdGl2ZSB1c2U6XG4iCisjfiAiICAgICAgICAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICItYTogVXNlIGFycm93IGluc3RlYWQgb2YgaGlnaGxpZ2h0aW5nO1xuIgorI34gIi16OiBTdGFydCB3aXRoIGEgemVybyBwYXJ0aXRpb24gdGFibGUsIGluc3RlYWQgb2YgcmVhZGluZyB0aGUgcHQgZnJvbSBkaXNrO1xuIgorI34gIi1jIEMgLWggSCAtcyBTOiBPdmVycmlkZSB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgbnVtYmVyIG9mIGN5bGluZGVycyxcbiIKKyN+ICIgICAgICAgICAgICAgICAgdGhlIG51bWJlciBvZiBoZWFkcyBhbmQgdGhlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiS2FzdXRhbWluZTpcbiIKKyN+ICJWZXJzaW9vbmkgdHL8a2tpbWluZTpcbiIKKyN+ICIgICAgICAgICVzIC12IFxuIgorI34gIlBhcnRpdHNpb29uaXRhYmVsaSB0cvxra2ltaW5lOlxuIgorI34gIiAgICAgICAgJXMgLVAge3J8c3x0fSBbdvV0bWVkXSBzZWFkZVxuIgorI34gIkludGVyYWt0aWl2bmUga2FzdXRhbWluZTpcbiIKKyN+ICIgICAgICAgICVzIFt29XRtZWRdIHNlYWRlXG4iCisjfiAiXG4iCisjfiAiVvV0bWVkOlxuIgorI34gIi1hOiBLYXN1dGFkYSBub29sdCBpbnZlcnRlZXJpdHVkIHRla3N0aSBhc2VtZWxcbiIKKyN+ICItejogQWx1c3RhZGEgdPxoamEgcGFydGl0c2lvb25pdGFiZWxpZ2EsIGFydmVzdGFtYXRhIHRhYmVsaSB2YW5hIHNpc3VcbiIKKyN+ICItYyBDIC1oIEggLXMgUzogQW5kYSBr5HNpdHNpIGV0dGUgc2lsaW5kcml0ZSwgcGVhZGUgamEgcmFqYWwgb2xldmF0ZVxuIgorI34gIiAgICAgICAgICAgICAgICBzZWt0b3JpdGUgYXJ2dWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIldyaXRpbmcgZGlza2xhYmVsIHRvICVzLlxuIgorI34gbXNnc3RyICJLaXJqdXRhbiBwYXJ0aXRzaW9vbml0YWJlbGl0IHNlYWRtZWxlICVzXG4iCisKKyN+IG1zZ2lkICJMYXN0ICVzIG9yICtzaXplIG9yICtzaXplTSBvciArc2l6ZUsiCisjfiBtc2dzdHIgIlZpaW1hbmUgJXMgdvVpICtzdXVydXMgdvVpICtzdXVydXNNIHb1aSArc3V1cnVzSyIKKworI34gbXNnaWQgIlJlYWRpbmcgZGlza2xhYmVsIG9mICVzIGF0IHNlY3RvciAlZC5cbiIKKyN+IG1zZ3N0ciAiTG9lbiBwYXJ0aXRzaW9vbml0YWJlbGl0IHNlYWRtZWx0ICVzIHNla3RvcmlzdCAlZFxuIgorCisjfiBtc2dpZCAiQlNEIGRpc2tsYWJlbCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorI34gbXNnc3RyICJCU0QgcGFydGl0c2lvb25pdGFiZWxpIGvkc2sgKG0gYW5uYWIgYWJpaW5mb3QpOiAiCisKKyN+IG1zZ2lkICJkcml2ZWRhdGE6ICIKKyN+IG1zZ3N0ciAic2VhZG1lIGFuZG1lZDogIgorCisjfiBtc2dpZCAiIyAgICAgICBzdGFydCAgICAgICBlbmQgICAgICBzaXplICAgICBmc3R5cGUgICBbZnNpemUgYnNpemUgICBjcGddXG4iCisjfiBtc2dzdHIgIiMgICAgICAgYWxndXMgICAgICAgbPVwcCAgICAgbWFodCAgICAgZnN0/PxwICAgW2ZtYWh0IGJtYWh0ICAgY3BnXVxuIgorCisjfiBtc2dpZCAiTXVzdCBiZSA8PSBzZWN0b3JzL3RyYWNrICogdHJhY2tzL2N5bGluZGVyIChkZWZhdWx0KS5cbiIKKyN+IG1zZ3N0ciAiUGVhYiBvbGVtYSA8PSBzZWt0b3JpdGVzdCByYWphbCAqIHJhZGFkZXN0IHNpbGluZHJpbCAodmFpa2ltaXNpKVxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIChhLSVjKTogIgorI34gbXNnc3RyICJQYXJ0aXRzaW9vbiAoYS0lYyk6ICIKKworI34gbXNnaWQgIldhcm5pbmc6IHRvbyBtYW55IHBhcnRpdGlvbnMgKCVkLCBtYXhpbXVtIGlzICVkKS5cbiIKKyN+IG1zZ3N0ciAiSG9pYXR1czogbGlpZ2EgcGFsanUgcGFydGl0c2lvb25lICglZCwgbWFrc2ltdW0gb24gJWQpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiU3luY2luZyBkaXNrcy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIktpcmp1dGFuIHB1aHZyZWlkIGtldHRhbGVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gc2VlayBvbiAlcyIKKyN+IG1zZ3N0ciAiRWkgc3V1ZGEgc2Vla2lkYSBzZWFkbWVsICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgorI34gbXNnc3RyICJFaSBzdXVkYSBraXJqdXRhZGEgc2VhZG1lbGUgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYXRhbCBlcnJvciIKKyN+IG1zZ3N0ciAiRmF0YWFsbmUgdmlnYVxuIgorCisjfiBtc2dpZCAiQ29tbWFuZCBhY3Rpb24iCisjfiBtc2dzdHIgIkvkc2sgICAgVORoZW5kdXMiCisKKyN+IG1zZ2lkICJZb3UgbXVzdCBzZXQiCisjfiBtc2dzdHIgIlRlIHBlYXRlIG3k5HJhbWEsIGV0IGVrc2lzdGVlcmliIG5paS1qYS1uaWktbWl0dSIKKworI34gbXNnaWQgImhlYWRzIgorI34gbXNnc3RyICJwZWFkIgorCisjfiBtc2dpZCAiIGFuZCAiCisjfiBtc2dzdHIgIiBqYSAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNpbmcgZGVmYXVsdCB2YWx1ZSAldVxuIgorI34gbXNnc3RyICJLYXN1dGFuIHZhaWtpbWlzaSB25ORydHVzdCAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbGQgTUIsICVsbGQgYnl0ZXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJLZXRhcyAlczogJWQgcGVhZCwgJWQgc2VrdG9yaXQgcmFqYWwsICVkIHNpbGluZHJpdFxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbGQuJWxkIEdCLCAlbGx1IGJ5dGVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiS2V0YXMgJXM6ICVkIHBlYWQsICVkIHNla3Rvcml0IHJhamFsLCAlZCBzaWxpbmRyaXRcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIsICVsbHUgc2VjdG9yc1xuIgorI34gbXNnc3RyICIlZCB2YWJhIHNla3Rvcml0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHdyaXRlIGRpc2sgbGFiZWwiCisjfiBtc2dzdHIgIkVpIHN1dWRhIGtldHRhbGUga2lyanV0YWRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJFcnJvciBjbG9zaW5nIGZpbGVcbiIKKyN+IG1zZ3N0ciAiVmlnYSAlcyBzdWxnZW1pc2VsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogc2V0dGluZyBzZWN0b3Igb2Zmc2V0IGZvciBET1MgY29tcGF0aWJpbGl0eVxuIgorI34gbXNnc3RyICJIb2lhdHVzOiBzZWFuIHNla3Rvcml0ZSBvZmZzZXRpIERPU2lnYSD8aGlsZHV2dXNlIGphb2tzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRGV0ZWN0ZWQgYW4gT1NGLzEgZGlza2xhYmVsIG9uICVzLCBlbnRlcmluZyBkaXNrbGFiZWwgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkxlaWRpc24gc2VhZG1lbHQgJXMgT1NGLzEgcGFydGl0c2lvb25pdGFiZWxpLCBs5GhlbiBPU0YvMSByZXpoaWltaS5cbiIKKyN+ICJET1NpIHBhcnRpdHNpb29uaXRhYmVsaSByZXpoaWltaSBuYWFzbWlzZWtzIGthc3V0YWdlIGvkc2t1IGByJy5cbiIKKworI34gbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGVcbiIKKyN+IG1zZ3N0ciAiVmFiYWQgc2VrdG9yaWQgb24gb3RzYXNcbiIKKworI34gbXNnaWQgIiAgICAgcGh5cz0oJWQsICVkLCAlZCkgIgorI34gbXNnc3RyICIgICAgIGb8/HM9KCVkLCAlZCwgJWQpICIKKworI34gbXNnaWQgImxvZ2ljYWw9KCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgImxvb2dpbGluZT0oJWQsICVkLCAlZClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBiYWQgc3RhcnQtb2YtZGF0YSBpbiBwYXJ0aXRpb24gJXpkXG4iCisjfiBtc2dzdHIgIkhvaWF0dXM6IHBhcnRpdHNpb29uaXMgJWQgb24gYW5kbWV0ZSBhbGd1cyB2aWdhbmVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvblxuIgorI34gbXNnc3RyICJWaWdhbmUgcHJpbWFhcm5lIHBhcnRpdHNpb29uIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueSBET1MgNi54cGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgZmRpc2sgbWFudWFsIHBhZ2UgZm9yIGFkZGl0aW9uYWxpbmZvcm1hdGlvbi5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkhPSUFUVVM6IEt1aSBUZSB0ZWtpdGFzaXRlIHb1aSBtdXV0c2l0ZSBET1MgNi54XG4iCisjfiAicGFydGl0c2lvb25lLCBsdWdlZ2UgcGFsdW4gZmRpc2snaSBtYW51YWxpXG4iCisjfiAibGlzYWluZm9ybWF0c2lvb25pIGphb2tzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUqcyBCb290ICAgICAgU3RhcnQgICAgICAgICBFbmQgICAgICBCbG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiUqcyBCb290ICAgIEFsZ3VzICAgICAgIEz1cHAgICBQbG9ra2UgICBJZCAgU/xzdGVlbVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiS2V0YXMgJXM6ICVkIHBlYWQsICVkIHNla3Rvcml0IHJhamFsLCAlZCBzaWxpbmRyaXRcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJOciBBRiAgSGQgU2VjICBDeWwgIEhkIFNlYyAgQ3lsICAgICBTdGFydCAgICAgIFNpemUgSURcbiIKKyN+IG1zZ3N0ciAiTnIgQUYgIFDkIFNlayAgU2lsICBQ5CBTZWsgIFNpbCAgICBBbGd1cyAgICAgTWFodCBJRFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJcdFRoZXJlIGlzIGEgdmFsaWQgTWFjIGxhYmVsIG9uIHRoaXMgZGlzay5cbiIKKyN+ICJcdFVuZm9ydHVuYXRlbHkgZmRpc2soMSkgY2Fubm90IGhhbmRsZSB0aGVzZSBkaXNrcy5cbiIKKyN+ICJcdFVzZSBlaXRoZXIgcGRpc2sgb3IgcGFydGVkIHRvIG1vZGlmeSB0aGUgcGFydGl0aW9uIHRhYmxlLlxuIgorI34gIlx0TmV2ZXJ0aGVsZXNzIHNvbWUgYWR2aWNlOlxuIgorI34gIlx0MS4gZmRpc2sgd2lsbCBkZXN0cm95IGl0cyBjb250ZW50cyBvbiB3cml0ZS5cbiIKKyN+ICJcdDIuIEJlIHN1cmUgdGhhdCB0aGlzIGRpc2sgaXMgTk9UIGEgc3RpbGwgdml0YWxcbiIKKyN+ICJcdCAgIHBhcnQgb2YgYSB2b2x1bWUgZ3JvdXAuIChPdGhlcndpc2UgeW91IG1heVxuIgorI34gIlx0ICAgZXJhc2UgdGhlIG90aGVyIGRpc2tzIGFzIHdlbGwsIGlmIHVubWlycm9yZWQuKVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHRTZWxsZWwgc2VhZG1lbCBvbiBBSVggcGFydGl0c2lvb25pdGFiZWwuXG4iCisjfiAiXHRLYWhqdWtzIGVpIHN1dWRhIExpbnV4IHNlZGEgaGV0a2VsIHRvZXRhZGEuXG4iCisjfiAiXHRTZWxsZWdpcG9vbGVzdCwgbmF0dWtlIG71dWFuZGVpZDpcbiIKKyN+ICJcdDEuIGZkaXNrIGjkdml0YWIga2lyanV0YW1pc2VsIHNlbGxlIHRhYmVsaVxuIgorI34gIlx0Mi4gT2xnZSBlbm5lIGtpbmRsYWQsIGV0IHNlZSBrZXRhcyBlaSBvbGVrcyBvc2FcbiIKKyN+ICJcdCAgIG31bmVzdCBr9mlkZXRlICh2b2x1bWUpIGdydXBpc3QgLSB2YXN0YXNlbCBqdWh1bFxuIgorI34gIlx0ICAgdvVpdGUga2Ega/ZpdGUgdGVpc2VkIG9zYWQga3VzdHV0YWRhLFxuIgorI34gIlx0ICAga3VpIG5hZCBqdXN0IHBlZWdlbGRhdHVkIHBvbGUuXHQzLiBFbm5lIGb8/HNpbGlzZSBrZXR0YSBrdXN0dXRhbWlzdCBrdXN0dXRhZ2VcbiIKKyN+ICJcdCAgIGtldGFzIGxvb2dpbGlzZWx0IG9tYSBBSVggbWFzaW5hc3RcbiIKKyN+ICJcdCAgIChtdWlkdSBzYWFiIFRlaXN0IEFJWHBlcnQpLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXHRTb3JyeSAtIHRoaXMgZmRpc2sgY2Fubm90IGhhbmRsZSBNYWMgZGlzayBsYWJlbHMuXG4iCisjfiAiXHRJZiB5b3Ugd2FudCB0byBhZGQgRE9TLXR5cGUgcGFydGl0aW9ucywgY3JlYXRlXG4iCisjfiAiXHRhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIGZpcnN0LiAoVXNlIG8uKVxuIgorI34gIlx0V0FSTklORzogVGhpcyB3aWxsIGRlc3Ryb3kgdGhlIHByZXNlbnQgZGlzayBjb250ZW50cy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlx0VmFiYW5kdXN0IC0gc2VlIGZkaXNraSB2ZXJzaW9vbiBlaSBzYWEgaGFra2FtYSBBSVhpXG4iCisjfiAiXHRwYXJ0aXRzaW9vbml0YWJlbGlnYS4gS3VpIFRlIHNvb3ZpdGUgbGlzYWRhIERPU2kgdPz8cGlcbiIKKyN+ICJcdHBhcnRpdHNpb29uZSwgbG9vZ2Uga/VpZ2VwZWFsdCB1dXMgRE9TaSBwYXJ0aXRzaW9vbml0YWJlbFxuIgorI34gIlx0KGvkc3VnYSBvKS5cbiIKKyN+ICJcdEhPSUFUVVM6IHNlZSBo5HZpdGFiIGtldHRhIHByYWVndXNlIHNpc3UhXG4iCisKKyN+IG1zZ2lkICJBY2NvcmRpbmcgdG8gTUlQUyBDb21wdXRlciBTeXN0ZW1zLCBJbmMgdGhlIExhYmVsIG11c3Qgbm90IGNvbnRhaW4gbW9yZSB0aGFuIDUxMiBieXRlc1xuIgorI34gbXNnc3RyICIiCisjfiAiVmFzdGF2YWx0IE1JUFMgQ29tcHV0ZXIgU3lzdGVtcywgSW5jIHNwZXRzaWZpa2F0c2lvb25pZGVsZSBlaSB0b2hpXG4iCisjfiAicGFydGl0c2lvb25pdGFiZWwgb2xsYSBzdXVyZW0ga3VpIDUxMiBiYWl0aVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTR0kgZGlzayBsYWJlbCk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMsICVsbHUgY3lsaW5kZXJzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqICVsZCBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiS2V0YXMgJXMgKFNHSSBwYXJ0aXRzaW9vbml0YWJlbCk6ICVkIHBlYWQsICVkIHNla3Rvcml0LCAlZCBzaWxpbmRyaXRcbiIKKyN+ICLcaGlrdWQgPSAlcyBzdXVydXNlZ2EgJWQgKiA1MTIgYmFpdGlcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICItLS0tLSBwYXJ0aXRpb25zIC0tLS0tXG4iCisjfiAiUHQjICUqcyAgSW5mbyAgICAgU3RhcnQgICAgICAgRW5kICAgU2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIiCisjfiAiLS0tLS0gcGFydGl0c2lvb25pZCAtLS0tLVxuIgorI34gIk5yIyAlKnMgIEluZm8gICAgIEFsZ3VzICAgICAgIEz1cHAgU2VrdG9yZWlkIElkICBT/HN0ZWVtXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiLS0tLS0gQm9vdGluZm8gLS0tLS1cbiIKKyN+ICJCb290ZmlsZTogJXNcbiIKKyN+ICItLS0tLSBEaXJlY3RvcnkgRW50cmllcyAtLS0tLVxuIgorI34gbXNnc3RyICIiCisjfiAiLS0tLS0gQnV1dGluZm8gLS0tLS1cbiIKKyN+ICJCdXV0ZmFpbDogJXNcbiIKKyN+ICItLS0tLSBLYXRhbG9vZ2lraXJqZWQgLS0tLS1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlMnpkOiAlLTEwcyBzZWN0b3IlNXUgc2l6ZSU4dVxuIgorI34gbXNnc3RyICIlMmQ6ICUtMTBzIHNla3RvciAlNXUgcGlra3VzICU4dVxuIgorCisjfiBtc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkXG4iCisjfiBtc2dzdHIgItxodGVnaSBwYXJ0aXRzaW9vbmkgcG9sZSBkZWZpbmVlcml0dWRcbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIGlzIG9ubHkgJWQgZGlza2Jsb2NrIGxhcmdlLFxuIgorI34gImJ1dCB0aGUgZGlzayBpcyAlZCBkaXNrYmxvY2tzIGxvbmcuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJUZXJ2ZXQga2V0YXN0IGthdHRldiBwYXJ0aXRzaW9vbiBvbiBhaW51bHQgJWQgcGxva2tpIHBpa2ssXG4iCisjfiAiYWdhIGtldGFzIGlzZSBvbiAlZCBwbG9ra2kgcGlra1xuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGRvZXMgbm90IHN0YXJ0IG9uIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gbXNnc3RyICJQYXJ0aXRzaW9vbiAlZCBlaSBhbGdhIHNpbGluZHJpIHBpaXJpbHRcbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIlBhcnRpdHNpb29uICVkIGVpIGz1cHBlIHNpbGluZHJpIHBpaXJpbFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAlemQgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuXG4iCisjfiBtc2dzdHIgIlBhcnRpdHNpb29uICVkIG9uIGp1YmEgb2xlbWFzLiBLdXN0dXRhZ2Ugc2VlIGVubmUgdXVlc3RpIGxpc2FtaXN0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSERJT19HRVRHRU8gaW9jdGwgZmFpbGVkIG9uICVzIgorI34gbXNnc3RyICJCTEtHRVRTSVpFIGlvY3RsIGVpIPVubmVzdHVudWQgc2VhZG1lbCAlc1xuIgorCisjfiBtc2dpZCAiSUQ9JTAyeFx0U1RBUlQ9JWRcdExFTkdUSD0lZFxuIgorI34gbXNnc3RyICJJRD0lMDJ4XHRTVEFSVD0lZFx0TEVOR1RIPSVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVHJ5aW5nIHRvIGtlZXAgcGFyYW1ldGVycyBvZiBwYXJ0aXRpb25zIGFscmVhZHkgc2V0LlxuIgorI34gbXNnc3RyICLccml0YW4gc+RpbGl0YWRhIHBhcnRpdHNpb29uaSAlZCBwYXJhbWVldHJpZFxuIgorCisjfiBtc2dpZCAiWUVTXG4iCisjfiBtc2dzdHIgIllFU1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJ1aWxkaW5nIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorI34gbXNnc3RyICIlcyBlaSBzaXNhbGRhIHBhcnRpdHNpb29uaXRhYmVsaXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgbGFiZWwpOiAldSBoZWFkcywgJWxsdSBzZWN0b3JzLCAlZCBycG1cbiIKKyN+ICIlbGx1IGN5bGluZGVycywgJWQgYWx0ZXJuYXRlIGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiJWQgZXh0cmEgc2VjdHMvY3lsLCBpbnRlcmxlYXZlICVkOjFcbiIKKyN+ICJMYWJlbCBJRDogJXNcbiIKKyN+ICJWb2x1bWUgSUQ6ICVzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqIDUxMiBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiS2V0YXMgJXMgKFN1bmkgcGFydGl0c2lvb25pdGFiZWwpOiAlZCBwZWFkLCAlZCBzZWt0b3JpdCwgJWQgcnBtXG4iCisjfiAiJWQgc2lsaW5kcml0LCAlZCBhbHRlcm5hdGlpdnNldCBzaWxpbmRyaXQsICVkIGb8/HNpbGlzdCBzaWxpbmRyaXRcbiIKKyN+ICIlZCBsaXNhc2VrdG9yaXQgc2lsaW5kcmlsLCB2YWhlbGVq5HR0ICVkOjFcbiIKKyN+ICIlc1xuIgorI34gItxoaWt1ZCA9ICVzIHN1dXJ1c2VnYSAlZCAqIDUxMiBiYWl0aVxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTdW4gZGlzayBsYWJlbCk6ICV1IGhlYWRzLCAlbGx1IHNlY3RvcnMsICVsbHUgY3lsaW5kZXJzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqIDUxMiBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiS2V0YXMgJXMgKFN1bmkgcGFydGl0c2lvb25pdGFiZWwpOiAlZCBwZWFkLCAlZCBzZWt0b3JpdCwgJWQgc2lsaW5kcml0XG4iCisjfiAi3Ghpa3VkID0gJXMgc3V1cnVzZWdhICVkICogNTEyIGJhaXRpXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIlKnMgRmxhZyAgICBTdGFydCAgICAgICBFbmQgICAgQmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIlKnMgTGlwcCAgICBBbGd1cyAgICAgICBM9XBwICAgUGxva2tlICAgSUQgIFP8c3RlZW1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJEb25lXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJWYWxtaXNcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDcmVhdGVkIHBhcnRpdGlvbiAlemRcbiIKKyN+IG1zZ3N0ciAiSWdub3JlZXJpbiBsaXNhLWV4dGVuZGVkIHBhcnRpc3RzaW9vbmkgJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIC11IDxVU0VSPiBDT01NQU5EXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBbLV0gW1VTRVIgW2FyZ10uLi5dXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3J5cHQgZmFpbGVkOiAlbVxuIgorI34gbXNnc3RyICIlcyBhdmFtaW5lIGVpIPVubmVzdHVudWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2FuIG5vdCBmb3JrOiAlbVxuIgorI34gbXNnc3RyICIlczogRWkgc3V1ZGEgYXZhZGEgZmFpbGkgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYWlsZWQgdG8gb3Blbi9jcmVhdGUgJXM6ICVtXG4iCisjfiBtc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyMgWFhYIHN0YXQnaWRhCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB0byBsb2NrICVzOiAlbVxuIgorI34gbXNnc3RyICJlaSBzdXVkYSBzdGF0J2lkYSBzZWFkZXQgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQmFkIG51bWJlcjogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGx1Z2VtaXNlIHZpZ2EgZmFpbGlzICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmluZCB1bnVzZWQgbG9vcCBkZXZpY2UgZmFpbGVkIgorI34gbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlLi4uXVxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1rZnMgKCVzKVxuIgorI34gbXNnc3RyICJta2ZzIHZlcnNpb29uICVzICglcylcbiIKKworI34gbXNnaWQgInN0cnRvbCBlcnJvcjogbnVtYmVyIG9mIGJsb2NrcyBub3Qgc3BlY2lmaWVkIgorI34gbXNnc3RyICJzdHJ0b2wgdmlnYTogcGxva2tpZGUgYXJ2dSBwb2xlIGFudHVkIgorCisjfiBtc2dpZCAib25lIGJhZCBwYWdlXG4iCisjfiBtc2dzdHIgIvxrcyB2aWdhbmUgbGVoZWv8bGdcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgIG9uIHdob2xlIGRpc2suICIKKyN+IG1zZ3N0ciAiICAgcyAgIG7kaWRhdGEgdORpZWxpa2t1IHBhcnRpdHNpb29uaXRhYmVsaXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZG9lcyBub3Qgc3VwcG9ydCBzd2Fwc3BhY2UgdmVyc2lvbiAlZC4iCisjfiBtc2dzdHIgIiVzOiBWaWdhIC0gdHVuZG1hdHUgdmVyc2lvb24gJWRcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJcdFRoZXJlIGlzIGEgdmFsaWQgQUlYIGxhYmVsIG9uIHRoaXMgZGlzay5cbiIKKyN+ICJcdFVuZm9ydHVuYXRlbHkgTGludXggY2Fubm90IGhhbmRsZSB0aGVzZVxuIgorI34gIlx0ZGlza3MgYXQgdGhlIG1vbWVudC4gIE5ldmVydGhlbGVzcyBzb21lXG4iCisjfiAiXHRhZHZpY2U6XG4iCisjfiAiXHQxLiBmZGlzayB3aWxsIGRlc3Ryb3kgaXRzIGNvbnRlbnRzIG9uIHdyaXRlLlxuIgorI34gIlx0Mi4gQmUgc3VyZSB0aGF0IHRoaXMgZGlzayBpcyBOT1QgYSBzdGlsbCB2aXRhbFxuIgorI34gIlx0ICAgcGFydCBvZiBhIHZvbHVtZSBncm91cC4gKE90aGVyd2lzZSB5b3UgbWF5XG4iCisjfiAiXHQgICBlcmFzZSB0aGUgb3RoZXIgZGlza3MgYXMgd2VsbCwgaWYgdW5taXJyb3JlZC4pXG4iCisjfiAiXHQzLiBCZWZvcmUgZGVsZXRpbmcgdGhpcyBwaHlzaWNhbCB2b2x1bWUgYmUgc3VyZVxuIgorI34gIlx0ICAgdG8gcmVtb3ZlIHRoZSBkaXNrIGxvZ2ljYWxseSBmcm9tIHlvdXIgQUlYXG4iCisjfiAiXHQgICBtYWNoaW5lLiAgKE90aGVyd2lzZSB5b3UgYmVjb21lIGFuIEFJWHBlcnQpLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0U2VsbGVsIHNlYWRtZWwgb24gQUlYIHBhcnRpdHNpb29uaXRhYmVsLlxuIgorI34gIlx0S2FoanVrcyBlaSBzdXVkYSBMaW51eCBzZWRhIGhldGtlbCB0b2V0YWRhLlxuIgorI34gIlx0U2VsbGVnaXBvb2xlc3QsIG5hdHVrZSBu9XVhbmRlaWQ6XG4iCisjfiAiXHQxLiBmZGlzayBo5HZpdGFiIGtpcmp1dGFtaXNlbCBzZWxsZSB0YWJlbGlcbiIKKyN+ICJcdDIuIE9sZ2UgZW5uZSBraW5kbGFkLCBldCBzZWUga2V0YXMgZWkgb2xla3Mgb3NhXG4iCisjfiAiXHQgICBt9W5lc3Qga/ZpZGV0ZSAodm9sdW1lKSBncnVwaXN0IC0gdmFzdGFzZWwganVodWxcbiIKKyN+ICJcdCAgIHb1aXRlIGthIGv2aXRlIHRlaXNlZCBvc2FkIGt1c3R1dGFkYSxcbiIKKyN+ICJcdCAgIGt1aSBuYWQganVzdCBwZWVnZWxkYXR1ZCBwb2xlLlx0My4gRW5uZSBm/PxzaWxpc2Uga2V0dGEga3VzdHV0YW1pc3Qga3VzdHV0YWdlXG4iCisjfiAiXHQgICBrZXRhcyBsb29naWxpc2VsdCBvbWEgQUlYIG1hc2luYXN0XG4iCisjfiAiXHQgICAobXVpZHUgc2FhYiBUZWlzdCBBSVhwZXJ0KS4iCisKKyN+IG1zZ2lkICIiCisjfiAiXHRTb3JyeSAtIHRoaXMgZmRpc2sgY2Fubm90IGhhbmRsZSBBSVggZGlzayBsYWJlbHMuXG4iCisjfiAiXHRJZiB5b3Ugd2FudCB0byBhZGQgRE9TLXR5cGUgcGFydGl0aW9ucywgY3JlYXRlXG4iCisjfiAiXHRhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIGZpcnN0LiAoVXNlIG8uKVxuIgorI34gIlx0V0FSTklORzogVGhpcyB3aWxsIGRlc3Ryb3kgdGhlIHByZXNlbnQgZGlzayBjb250ZW50cy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlx0VmFiYW5kdXN0IC0gc2VlIGZkaXNraSB2ZXJzaW9vbiBlaSBzYWEgaGFra2FtYSBBSVhpXG4iCisjfiAiXHRwYXJ0aXRzaW9vbml0YWJlbGlnYS4gS3VpIFRlIHNvb3ZpdGUgbGlzYWRhIERPU2kgdPz8cGlcbiIKKyN+ICJcdHBhcnRpdHNpb29uZSwgbG9vZ2Uga/VpZ2VwZWFsdCB1dXMgRE9TaSBwYXJ0aXRzaW9vbml0YWJlbFxuIgorI34gIlx0KGvkc3VnYSBvKS5cbiIKKyN+ICJcdEhPSUFUVVM6IHNlZSBo5HZpdGFiIGtldHRhIHByYWVndXNlIHNpc3UhXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQlNEIGxhYmVsIGZvciBkZXZpY2U6ICVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJCU0QgcGFydGl0c2lvb25pdGFiZWwgc2VhZG1lbCAlc1xuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVkIGhhcyBlbXB0eSB0eXBlXG4iCisjfiBtc2dzdHIgIkhvaWF0dXM6IHBhcnRpdHNpb29uaWwgJWQgb24gdPxoaSB0/PxwXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGFydGl0aW9uICVpIGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiUGFydGl0c2lvb24gJWQgZWkgbPVwcGUgc2lsaW5kcmkgcGlpcmlsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm90ZTogc2VjdG9yIHNpemUgaXMgJWxkIChub3QgJWQpXG4iCisjfiBtc2dzdHIgIk3kcmt1czogc2VrdG9yaSBzdXVydXMgb24gJWQgKG1pdHRlICVkKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImV4ZWMgJXMgZmFpbGVkIgorI34gbXNnc3RyICJleGVjIGVpIPVubmVzdHVudWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZXhlYyBmYWlsZWQiCisjfiBtc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUSU9DU0NUVFk6IGlvY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAiVElPQ1NDVFRZIGVpIPVubmVzdHVudWQ6ICVtIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsrZm9ybWF0XSBbZGF5IG1vbnRoIHllYXJdXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6ICVzWytmb3JtYWF0XSBba3V1cORldiBrdXUgYWFzdGFdXG4iCisKKyN+IG1zZ2lkICJTdC4gVGliJ3MgRGF5IgorI34gbXNnc3RyICJQ/GhhIFRpYidpIHDkZXYiCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtcyBzaWduYWwgfCAtcCBdIFsgLWEgXSBwaWQgLi4uXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgLXMgc2lnbmFhbCB8IC1wIF0gWyAtYSBdIHBpZCAuLi5cbiIKKworI34gbXNnaWQgIiAgICAgICAlcyAtbCBbIHNpZ25hbCBdXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAlcyAtbCBbIHNpZ25hYWwgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgcG9ydCBudW1iZXIgYXJndW1lbnQiCisjfiBtc2dzdHIgInZpZ2FuZSBpZGVudGlmaWthYXRvciIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjb3VsZG4ndCBsb2NrIGludG8gbWVtb3J5IgorI34gbXNnc3RyICJN5Gx1IHNhaSBvdHNhIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVqZWN0OiBjYW5ub3Qgc2V0IHVzZXIgaWQiCisjfiBtc2dzdHIgImZvcmsgZWkg9W5uZXN0dW51ZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZzZnJlZXplKDgpLlxuIgorI34gbXNnc3RyICJLYXN1dGFqYSBpbmZvcm1hdHNpb29uIG9uIG11dWRldHVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2htY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZnN5bmMgZWkg9W5uZXN0dW51ZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtc2djdGwgZmFpbGVkIgorI34gbXNnc3RyICJmc3luYyBlaSD1bm5lc3R1bnVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlbWN0bCBmYWlsZWQiCisjfiBtc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyBmYWlsZWQgdG8gdXNlIGRldmljZSIKKyN+IG1zZ3N0ciAiZWkgc3V1ZGEgdGFnYXNpIGtlcmlkYSBzYWFsaW1pc3NlYWRldCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjb3VsZG4ndCBsb2NrIGludG8gbWVtb3J5IgorI34gbXNnc3RyICJN5Gx1IHNhaSBvdHNhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0dXAgbG9vcCBkZXZpY2UgKHByb2JhYmx5IHVua25vd24gZW5jcnlwdGlvbiB0eXBlKSIKKyN+IG1zZ3N0ciAiZWkgc3V1ZGEgdGFnYXNpIGtlcmlkYSBzYWFsaW1pc3NlYWRldCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZW5pY2UgZnJvbSAlc1xuIgorI34gbXNnc3RyICIlcyBwYWtldGlzdCAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBleGVjdXRlICVzIgorI34gbXNnc3RyICJpb2N0bCgpIGFiaWwga2VsbGEgbHVnZW1pbmUgJXMga2F1ZHUgZWkg9W5uZXN0dW51ZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleGVjdnAgZmFpbGVkIgorI34gbXNnc3RyICJleGVjIGVpIPVubmVzdHVudWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleGVjdiBmYWlsZWQiCisjfiBtc2dzdHIgImV4ZWMgZWkg9W5uZXN0dW51ZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUtMTVzJXMgW3ZlcnNpb24gJXhdXG4iCisjfiBtc2dzdHIgIiVzIHBha2V0aXN0ICVzXG4iCisKKyN+IG1zZ2lkICJ1c2VycyIKKyN+IG1zZ3N0ciAia2FzdXRhamF0IgorCisjfiBtc2dpZCAidG9vIG1hbnkgaW92J3MgKGNoYW5nZSBjb2RlIGluIHdhbGwvdHR5bXNnLmMpIgorI34gbXNnc3RyICJsaWlnYSBwYWxqdSBpb3Ync2lkIChtdXV0a2UgZmFpbGkgbG9naW4tdXRpbHMvdHR5bXNnLmMpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGVycm9yLiIKKyN+IG1zZ3N0ciAiS2lyanV0YW1pc2UgdmlnYSBzZWFkbWVsICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgY29sdW1uKDEpLlxuIgorI34gbXNnc3RyICJLYXN1dGFqYSBpbmZvcm1hdHNpb29uIG9uIG11dWRldHVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW9yZSAoJXMpXG4iCisjfiBtc2dzdHIgIm1rZnMgdmVyc2lvb24gJXMgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzdGF0IGZpbGUgJXMiCisjfiBtc2dzdHIgInN0YXQoJXMpIGVpIPVubmVzdHVudWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY291bGRuJ3Qgb3BlbiAlcyIKKyN+IG1zZ3N0ciAiRWkgc3V1dG51ZCBhdmFkYSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBvcGVuICVzIgorI34gbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjfiBtc2dpZCAiY2Fubm90IHN0YXQgZGV2aWNlICVzIgorI34gbXNnc3RyICJzdGF0KCVzKSBlaSD1bm5lc3R1bnVkIgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gZmlsZSAnJXMnIgorI34gbXNnc3RyICJFaSBzdXVkYSBhdmFkYSBmYWlsaSBgJXMnIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXMiCisjfiBtc2dzdHIgImVpIHN1dWRhIGF2YWRhIHNlYWRldCAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogY2Fubm90IG9wZW4gJXMiCisjfiBtc2dzdHIgIiVzOiBFaSBzdXVkYSBhdmFkYSBmYWlsaSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzIGZvciByZWFkaW5nLCBleGl0aW5nLiIKKyN+IG1zZ3N0ciAiZWkgc3V1ZGEgYXZhZGEgZmFpbGkgJXMgbHVnZW1pc2VrcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZnN0YXQgZmFpbGVkIgorI34gbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gL2Rldi9wb3J0IgorI34gbXNnc3RyICJFaSBzdXVkYSBhdmFkYSBzZWFkZXQgL2Rldi9wb3J0OiAlcyIKKworI34gbXNnaWQgIm9wZW4oKSBvZiAlcyBmYWlsZWQiCisjfiBtc2dzdHIgIiVzIGF2YW1pbmUgZWkg9W5uZXN0dW51ZCIKKworI34gbXNnaWQgIk9wZW4gb2YgJXMgZmFpbGVkIgorI34gbXNnc3RyICIlcyBhdmFtaW5lIGVpIPVubmVzdHVudWQiCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gb3BlbiAlcyIKKyN+IG1zZ3N0ciAiRWkgc3V1ZGEgYXZhZGEgc2VhZGV0ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzb3VyY2UgYnVmZmVyIgorI34gbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyMgWFhYIHN0YXQnaWRhCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBzdGF0IGRpcmVjdG9yeSIKKyN+IG1zZ3N0ciAiZWkgc3V1ZGEgc3RhdCdpZGEgc2VhZGV0ICVzIgorCisjIFhYWCBzdGF0J2lkYQorIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc3RhdCBkaXJlY3RvcnkgJXMiCisjfiBtc2dzdHIgImVpIHN1dWRhIHN0YXQnaWRhIHNlYWRldCAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiB0aW1pbmcgZmlsZSAlcyIKKyN+IG1zZ3N0ciAiRWkgc3V1ZGEgYXZhZGEgZmFpbGkgYCVzJyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiAiCisjfiBtc2dzdHIgIkVpIHN1dWRhIGF2YWRhIHNlYWRtZWZhaWxpICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gXCIlc1wiIGZvciByZWFkIgorI34gbXNnc3RyICJlaSBzdXVkYSBhdmFkYSBzZWFkZXQgJXMgbHVnZW1pc2Vrc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzdGF0IFwiJXNcIiIKKyN+IG1zZ3N0ciAic3RhdCglcykgZWkg9W5uZXN0dW51ZCIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWxhcnZzbWZdIC9kZXYvbmFtZVxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbLWxhcnZzbWZdIC9kZXYvc2VhZGVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYmxvY2tzaXplIGFyZ3VtZW50IgorI34gbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yOiB3aWxsIG5vdCB0cnkgdG8gbWFrZSBzd2FwZGV2aWNlIG9uICclcyciCisjfiBtc2dzdHIgImVpIPxyaXRhIGx1dWEgc2FhbGltaXNhbGEgc2VhZG1lbGUgYCVzJyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnICglcylcbiIKKyN+IG1zZ3N0ciAic3RhdCglcykgZWkg9W5uZXN0dW51ZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBzd2FwbGFiZWwoOCkuXG4iCisjfiBtc2dzdHIgIkthc3V0YWphIGluZm9ybWF0c2lvb24gb24gbXV1ZGV0dWRcbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlaSBkb2VzIG5vdCBzdGFydCBvbiBjeWxpbmRlciBib3VuZGFyeTpcbiIKKyN+IG1zZ3N0ciAiUGFydGl0c2lvb24gJWkgZWkgYWxnYSBzaWxpbmRyaSBwaWlyaWx0OlxuIgorCisjfiBtc2dpZCAic2hvdWxkIGJlICglZCwgJWQsIDEpXG4iCisjfiBtc2dzdHIgInBlYWtzIG9sZW1hICglZCwgJWQsIDEpXG4iCisKKyN+IG1zZ2lkICJzaG91bGQgYmUgKCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgInBlYWtzIG9sZW1hICglZCwgJWQsICVkKVxuIgorCisjfiBtc2dpZCAiVGhpcyBrZXJuZWwgZmluZHMgdGhlIHNlY3RvciBzaXplIGl0c2VsZiAtIC1iIG9wdGlvbiBpZ25vcmVkXG4iCisjfiBtc2dzdHIgIkthc3V0YXRhdiB0dXVtIGxlaWFiIHNla3Rvcmkgc3V1cnVzZSBpc2UgLSBpZ25vcmVlcmluIC1iIHb1dGl0XG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5P1xuIgorI34gbXNnc3RyICJN5Gx1IHNhaSBvdHNhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV0FSTklORzogY291bGRuJ3Qgb3BlbiAlcyIKKyN+IG1zZ3N0ciAic2h1dGRvd246IEVpIHN1dWRhIGxhaHRpIG1vbnRlZXJpZGEga2F0YWxvb2dpICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlcG9jaCIKKyN+IG1zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiWW91IGhhdmUgc3BlY2lmaWVkIG11bHRpcGxlIGZ1bmN0aW9ucy5cbiIKKyN+ICJZb3UgY2FuIG9ubHkgcGVyZm9ybSBvbmUgZnVuY3Rpb24gYXQgYSB0aW1lLiIKKyN+IG1zZ3N0ciAiS29ycmFnYSBzYWFiIGthc3V0YWRhIGFpbnVsdCD8aHRlIGZ1bmt0c2lvb25pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIC0tdXRjIGFuZCAtLWxvY2FsdGltZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuICBZb3Ugc3BlY2lmaWVkIGJvdGguIgorI34gbXNnc3RyICIlczogLS11dGMgamEgLS1sb2NhbHRpbWUgdvV0bWVkIG9uIHRlaW5ldGVpc3QgduRsaXN0YXZhZC4gVGVpZSBrYXN1dGFzaXRlIG31bGVtYXQga29ycmFnYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSAtLWFkanVzdCBhbmQgLS1ub2FkamZpbGUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiAgWW91IHNwZWNpZmllZCBib3RoLiIKKyN+IG1zZ3N0ciAiJXM6IFb1dG1lZCAtLWFkanVzdCBqYSAtLW5vYWRqZmlsZSBvbiB2YXN0YXN0aWtrdSB25Gxpc3RhdmFkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIC0tYWRqZmlsZSBhbmQgLS1ub2FkamZpbGUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiAgWW91IHNwZWNpZmllZCBib3RoLiIKKyN+IG1zZ3N0ciAiJXM6IFb1dG1lZCAtLWFkanVzdCBqYSAtLW5vYWRqZmlsZSBvbiB2YXN0YXN0aWtrdSB25Gxpc3RhdmFkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGxvY2sgZ3JvdXAgZmlsZSIKKyN+IG1zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgZmluZG1udCgxKS5cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhamEgaW5mb3JtYXRzaW9vbiBvbiBtdXVkZXR1ZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaWd2YWwiCisjfiBtc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicG9ydCBgJWxkJyBvdXQgb2YgcmFuZ2UiCisjfiBtc2dzdHIgImFydiBgJXMnIHb1dG1lbGUgYCVzJyBvbiB25GxqYXNwb29sIGx1YmF0dWQgdmFoZW1pa2t1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBsc2Jsayg4KS5cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhamEgaW5mb3JtYXRzaW9vbiBvbiBtdXVkZXR1ZFxuIgorCisjIFhYWCBzdGF0J2lkYQorIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiBmYWlsZWQgdG8gcmVhZCBtdGFiIgorI34gbXNnc3RyICJlaSBzdXVkYSBzdGF0J2lkYSBzZWFkZXQgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNsYXNzIGRhdGEiCisjfiBtc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNsYXNzIgorI34gbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBidWZmZXIgc2l6ZSIKKyN+IG1zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZzdHJpbSg4KS5cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhamEgaW5mb3JtYXRzaW9vbiBvbiBtdXVkZXR1ZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgc3BlZWQiCisjfiBtc2dzdHIgInZpZ2FuZSBraWlydXM6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgc2l6ZSAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiLS1kYXRlIHBhcmFtZWV0ZXIgb24gcHV1ZHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG1vdW50cG9pbnQoMSkuXG4iCisjfiBtc2dzdHIgIkthc3V0YWphIGluZm9ybWF0c2lvb24gb24gbXV1ZGV0dWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgUElEIgorI34gbXNnc3RyICJlaSBzdXVkYSBhdmFkYSBzZWFkZXQgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNlY29uZHMgdmFsdWUiCisjfiBtc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHRpbWVfdCB2YWx1ZSIKKyN+IG1zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGxzYmxrKDEpLlxuIgorI34gbXNnc3RyICJLYXN1dGFqYSBpbmZvcm1hdHNpb29uIG9uIG11dWRldHVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYXJndW1lbnQgJWx1IGlzIHRvbyBsYXJnZSIKKyN+IG1zZ3N0ciAiLS1kYXRlIGFyZ3VtZW50IG9uIGxpaWdhIHBpa2tcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJiYWQgbGVuZ3RoIHZhbHVlIgorI34gbXNnc3RyICJ2aWdhbmUgdGFpbWFkaSB25ORydHVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJiYWQgc2tpcCB2YWx1ZSIKKyN+IG1zZ3N0ciAidmlnYW5lIHRhaW1hZGkgduTkcnR1czogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6ICVkOiBwYXJzZSBlcnJvciAtLSBsaW5lIGlnbm9yZWQuXG4iCisjfiBtc2dzdHIgInBvc2l0c2lvbmVlcmltaXNlIHZpZ2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2FybmluZzogZmFpbGVkIHRvIHBhcnNlICVzIgorI34gbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUtMjVzOiBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgImZvcmsgZWkg9W5uZXN0dW51ZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUtMjVzOiBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjfiBtc2dpZCAiICAgZCAgIGRlbGV0ZSBhIEJTRCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgIGQgICBrdXN0dXRhZGEgQlNEIHBhcnRpdHNpb29uIgorCisjfiBtc2dpZCAiICAgbiAgIGFkZCBhIG5ldyBCU0QgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICBuICAgbGlzYWRhIHV1cyBCU0QgcGFydGl0c2lvb24iCisKKyN+IG1zZ2lkICIgICB0ICAgY2hhbmdlIGEgcGFydGl0aW9uJ3MgZmlsZXN5c3RlbSBpZCIKKyN+IG1zZ3N0ciAiICAgdCAgIG11dXRhIHBhcnRpdHNpb29uaSBmYWlsaXP8c3RlZW1pIHT8/HBpIgorCisjfiBtc2dpZCAiICAgdSAgIGNoYW5nZSB1bml0cyAoY3lsaW5kZXJzL3NlY3RvcnMpIgorI34gbXNnc3RyICIgICB1ICAgbXV1dGEg/Ghpa3VpZCAoc2lsaW5kcmlkL3Nla3RvcmlkKSIKKworI34gbXNnaWQgIiAgIHAgICBwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICIgICBwICAgbuRpZGF0YSBwYXJ0aXRzaW9vbml0YWJlbGl0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJCdWlsZGluZyBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC5cbiIKKyN+ICJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisjfiAiQWZ0ZXIgdGhhdCwgb2YgY291cnNlLCB0aGUgcHJldmlvdXMgY29udGVudCB3b24ndCBiZSByZWNvdmVyYWJsZS5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIktvb3N0YW4gdXVlIERPU2kgcGFydGl0c2lvb25pdGFiZWxpLiBNdXV0dXNlZCBq5OR2YWQgYWludWx0IG3kbGx1LFxuIgorI34gImt1bmkgVGUgaXNlIG90c3VzdGF0ZSBuZWVkIGtldHRhbGUga2lyanV0YWRhLiBQ5HJhc3Qgc2VkYSBwb2xlIHZhbmEgc2lzdVxuIgorI34gImxvb211bGlrdWx0IGVuYW0gdGFhc3RhdGF2LlxuIgorCisjfiBtc2dpZCAiRGV2aWNlIGNvbnRhaW5zIG5laXRoZXIgYSB2YWxpZCBET1MgcGFydGl0aW9uIHRhYmxlLCBub3IgU3VuLCBTR0kgb3IgT1NGIGRpc2tsYWJlbFxuIgorI34gbXNnc3RyICJTZWFkZSBlaSBzaXNhbGRhIGVpIERPU2ksIFN1bmksIFNHSSBlZ2EgT0RGIHBhcnRpdHNpb29uaXRhYmVsaXRcbiIKKworI34gbXNnaWQgIkludGVybmFsIGVycm9yXG4iCisjfiBtc2dzdHIgIlNpc2VtaW5lIHZpZ2FcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJcdFNvcnJ5LCBubyBleHBlcnRzIG1lbnUgZm9yIFNHSSBwYXJ0aXRpb24gdGFibGVzIGF2YWlsYWJsZS5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0VmFiYW5kdXN0LCBTR0kgcGFydGl0c2lvb25pdGFiZWxpIGphb2tzIHBvbGUgZWtzcGVydG1lbvz8ZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiRG8gWW91IGtub3csIFlvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzaz9cbiIKKyN+IG1zZ3N0ciAiS2FzIHRlYXRlLCBldCBt9W5lZCBwYXJ0aXRzaW9vbmlkIGthdHR1dmFkIG9tYXZhaGVsP1xuIgorCisjfiBtc2dpZCAiIgorI34gIkJ1aWxkaW5nIGEgbmV3IFNHSSBkaXNrbGFiZWwuIENoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksXG4iCisjfiAidW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLiBBZnRlciB0aGF0LCBvZiBjb3Vyc2UsIHRoZSBwcmV2aW91c1xuIgorI34gImNvbnRlbnQgd2lsbCBiZSB1bnJlY292ZXJhYmx5IGxvc3QuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJLb29zdGFuIHV1ZSBTR0kgcGFydGl0c2lvb25pdGFiZWxpLiBNdXV0dXNlZCBq5OR2YWQgYWludWx0IG3kbGx1LFxuIgorI34gImt1bmkgVGUgaXNlIG90c3VzdGF0ZSBuZWVkIGtldHRhbGUga2lyanV0YWRhLiBQ5HJhc3Qgc2VkYSBwb2xlIHZhbmEgc2lzdVxuIgorI34gImxvb211bGlrdWx0IGVuYW0gdGFhc3RhdGF2LlxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeSAtIGdpdmluZyB1cFxuIgorI34gbXNnc3RyICJN5Gx1IHNhaSBvdHNhIC0gYW5uYW4gYWxsYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbW91bnQoOCkuXG4iCisjfiBtc2dzdHIgIkthc3V0YWphIGluZm9ybWF0c2lvb24gb24gbXV1ZGV0dWRcbiIKKworI34gbXNnaWQgImxvZ2luOiBtZW1vcnkgbG93LCBsb2dpbiBtYXkgZmFpbFxuIgorI34gbXNnc3RyICJsb2dpbjogbeRsdSBvbiB25GhlLCBzaXNzZSBsb2dpbWluZSBlaSB0YXJ2aXRzZSD1bm5lc3R1ZGFcbiIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBmb3IgdHR5Y2xhc3MiCisjfiBtc2dzdHIgImVpIGrkdGt1IG3kbHUgdHR5Y2xhc3MnaWxlIgorCisjfiBtc2dpZCAiY2FuJ3QgbWFsbG9jIGZvciBncnBsaXN0IgorI34gbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGdycGxpc3QnaWxlIgorCisjfiBtc2dpZCAiTG9naW4gb24gJXMgZnJvbSAlcyBkZW5pZWQuXG4iCisjfiBtc2dzdHIgIlNpc3NlbG9naW1pc2VzdCBsaWluaWwgJXMgbWFzaW5hc3QgJXMga2VlbGR1dGFrc2VcbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbIC1mIGZ1bGwtbmFtZSBdIFsgLW8gb2ZmaWNlIF0gIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIC1mIHDkcmlzbmltaSBdIFsgLW8ga29udG9yXSAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IFBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCisjfiBtc2dzdHIgImxvZ2luOiBQQU0gdmlnYSwga2F0a2VzdGFuOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJTEkcyBbLXMgc2hlbGxdIFt1c2VybmFtZV1cbiIKKyN+ICIgICBvcjogJTEkcyAoLS1saXN0LXNoZWxscyB8IC0taGVscCB8IC0tdmVyc2lvbilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkthc3V0YW1pbmU6ICVzIFsgLS1saXN0LXNoZWxscyBdIFsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorI34gIiAgICAgICBbIGthc3V0YWphbmltaSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzLiIKKyN+IG1zZ3N0ciAiJXM6IGFpbnVsdCBsb2thYWxzZWlkIGtpcmplaWQgc2FhYiBtdXV0YSAtIGthc3V0YWdlIHByb2dyYW1taSB5cCVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2V0cHduYW0gZmFpbGVkIgorI34gbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IFVzZSAtbCBvcHRpb24gdG8gc2VlIGxpc3QuXG4iCisjfiBtc2dzdHIgIiVzOiBrYXN1dGFnZSAtbCBsdWJhdHVkIHNoZWxsaWRlIG5pbWVraXJqYSB2YWF0YW1pc2Vrc1xuIgorCisjfiBtc2dpZCAidXNhZ2U6IGxvZ2luIFstZnBdIFt1c2VybmFtZV1cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTogbG9naW4gWy1mcF0gW2thc3V0YWphbmltaV1cbiIKKworI34gbXNnaWQgIklsbGVnYWwgdXNlcm5hbWUiCisjfiBtc2dzdHIgIlZpZ2FuZSBrYXN1dGFqYW5pbWkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgbG9naW4gcmVmdXNlZCBvbiB0aGlzIHRlcm1pbmFsLiIKKyN+IG1zZ3N0ciAiS2FzdXRhamEgJXMgZWkgdG9oaSBzZWxsZWx0IHRlcm1pbmFsaWx0c2lzc2UgbG9naWRhXG4iCisKKyN+IG1zZ2lkICJMT0dJTiAlcyBSRUZVU0VEIEZST00gJXMgT04gVFRZICVzIgorI34gbXNnc3RyICJMT0dJTiAlcyBSRUZVU0VEIEZST00gJXMgT04gVFRZICVzIgorCisjfiBtc2dpZCAiTE9HSU4gJXMgUkVGVVNFRCBPTiBUVFkgJXMiCisjfiBtc2dzdHIgIkxPR0lOICVzIFJFRlVTRUQgT04gVFRZICVzIgorCisjfiBtc2dpZCAiTG9naW4gaW5jb3JyZWN0XG4iCisjfiBtc2dzdHIgIkxvZ2luIGluY29ycmVjdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWx1cmUgZm9ya2luZyIKKyN+IG1zZ3N0ciAibG9naW46IFZpZ2EgZm9yaydpbWlzZWw6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIiVzIGxvZ2luOiAiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlcyBsb2dpbjogIgorCisjfiBtc2dpZCAiTkFNRSB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiTmltaSBvbiBsaWlnYSBwaWtrIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxvZ2luIG5hbWUgbXVjaCB0b28gbG9uZy4iCisjfiBtc2dzdHIgIkthc3V0YWphbmltaSBvbiBsaWlnYSBwaWtrXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9naW4gbmFtZXMgbWF5IG5vdCBzdGFydCB3aXRoICctJy4iCisjfiBtc2dzdHIgIkthc3V0YWphbmltZWQgZWkgdG9oaSBhbGF0YSBtaWludXNlZ2FcbiIKKworI34gbXNnaWQgIkVYQ0VTU0lWRSBsaW5lZmVlZHMiCisjfiBtc2dzdHIgIlRPSFVUVUxUIHJlYXZhaGV0dXNpIgorCisjfiBtc2dpZCAiTE9HSU4gRkFJTFVSRSBGUk9NICVzLCAlcyIKKyN+IG1zZ3N0ciAiTE9HSU4gRkFJTFVSRSBGUk9NICVzLCAlcyIKKworI34gbXNnaWQgIkxPR0lOIEZBSUxVUkUgT04gJXMsICVzIgorI34gbXNnc3RyICJMT0dJTiBGQUlMVVJFIE9OICVzLCAlcyIKKworI34gbXNnaWQgIiVkIExPR0lOIEZBSUxVUkVTIEZST00gJXMsICVzIgorI34gbXNnc3RyICIlZCBMT0dJTiBGQUlMVVJFUyBGUk9NICVzLCAlcyIKKworI34gbXNnaWQgIiVkIExPR0lOIEZBSUxVUkVTIE9OICVzLCAlcyIKKyN+IG1zZ3N0ciAiJWQgTE9HSU4gRkFJTFVSRVMgT04gJXMsICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgIk3kbHUgc2FpIG90c2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV0FSTklORzogJXM6IGFwcGVhcnMgdG8gY29udGFpbiAnJXMnIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiU2VhZGUgJXMgZWkgc2lzYWxkYSDkcmF0dW50YXZhdCBwYXJ0aXRzaW9vbml0YWJlbGl0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCIKKyN+IG1zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiAvZGV2IGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdC4iCisjfiBtc2dzdHIgIiVzOiBLYXN1dGFqYXQgXCIlc1wiIHBvbGUgb2xlbWFzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9vcDogY2FuJ3Qgc2V0IGNhcGFjaXR5IG9uIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAic3RhdCglcykgZWkg9W5uZXN0dW51ZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiAlcyBpcyBhbHJlYWR5IGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICJTZWt0b3IlZCBvbiBqdWJhIGthc3V0dXNlbFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcGFydHgoOCkuXG4iCisjfiBtc2dzdHIgIkthc3V0YWphIGluZm9ybWF0c2lvb24gb24gbXV1ZGV0dWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2Fubm90IG9wZW4gbG9jayBmaWxlICVzOiAlc1xuIgorI34gbXNnc3RyICIlczogRWkgc3V1ZGEgYXZhZGEgZmFpbGkgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogYmFkIG51bWJlcjogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGx1Z2VtaXNlIHZpZ2EgZmFpbGlzICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZvcmsgZmFpbGVkOiAlc1xuIgorI34gbXNnc3RyICJmb3JrIGVpIPVubmVzdHVudWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGlwY21rKDEpLlxuIgorI34gbXNnc3RyICJLYXN1dGFqYSBpbmZvcm1hdHNpb29uIG9uIG11dWRldHVkXG4iCisKKyN+IG1zZ2lkICIlczogJXMgKCVzKVxuIgorI34gbXNnc3RyICIlczogJXMgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxkYXR0YWNoIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAiJXMgcGFrZXRpc3QgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHJ0Y3dha2UoOCkuXG4iCisjfiBtc2dzdHIgIkthc3V0YWphIGluZm9ybWF0c2lvb24gb24gbXV1ZGV0dWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHVuc2hhcmUoMSkuXG4iCisjfiBtc2dzdHIgIkthc3V0YWphIGluZm9ybWF0c2lvb24gb24gbXV1ZGV0dWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjbG9zaW5nIGZpbGUgJXMiCisjfiBtc2dzdHIgIlZpZ2EgJXMgc3VsZ2VtaXNlbFxuIgorCisjfiBtc2dpZCAiU29ycnkgWW91IG1heSBjaGFuZ2UgdGhlIFRhZyBvZiBub24tZW1wdHkgcGFydGl0aW9ucy5cbiIKKyN+IG1zZ3N0ciAiVPz8cGkgc2FhYiBtdXV0YSBhaW51bHQgbWl0dGV0/GhqYWRlbCBwYXJ0aXRzaW9vbmlkZWxcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyAiCisjfiBtc2dzdHIgIkhvaWF0dXM6IHBhcnRpdHNpb29uICVzICIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbnMgJXMgIgorI34gbXNnc3RyICJIb2lhdHVzOiBwYXJ0aXRzaW9vbmlkICVzICIKKworI34gbXNnaWQgImFuZCAlcyBvdmVybGFwXG4iCisjfiBtc2dzdHIgImphICVzIGthdHR1dmFkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAgJXMgW29wdGlvbnNdIGRldmljZSBbLi4uXVxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIDxmaWxlbmFtZT5cbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc11cbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgJXMgLVZcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICVzIC1sIFsgc2lnbmFhbCBdXG4iCisKKyN+IG1zZ2lkICIlczogY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IEVpIHN1dWRhIGF2YWRhIGZhaWxpICVzXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtbiBdIGRldmljZVxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIC1uIF0gc2VhZGVcbiIKKworI34gbXNnaWQgIm1hbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgIk3kbHUgc2FpIG90c2EiCisKKyN+IG1zZ2lkICIlczogb3B0aW9uIHBhcnNlIGVycm9yXG4iCisjfiBtc2dzdHIgIiVzOiB2aWdhIHb1dG1ldGUgYW5hbPz8c2ltaXNlbFxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsteF0gWy1kIDxudW0+XSBpc285NjYwLWltYWdlXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsteF0gWy1kIDxudW0+XSBpc285NjYwLWltYWdlXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFstdl0gWy1OIG5yLW9mLWlub2Rlc10gWy1WIHZvbHVtZS1uYW1lXVxuIgorI34gIiAgICAgICBbLUYgZnNuYW1lXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorI34gbXNnc3RyICIiCisjfiAiS2FzdXRhbWluZTogJXMgWy12XSBbLU4gaS1raXJqZXRlLWFydl0gWy1WIGv2aXRlLW5pbWldXG4iCisjfiAiICAgICAgIFstRiBmc25pbWldIHNlYWRlIFtwbG9ra2lkZS1hcnZdXG4iCisKKyMgWFhYIHN0YXQnaWRhCisjfiBtc2dpZCAidW5hYmxlIHRvIHN0YXQgJXMiCisjfiBtc2dzdHIgImVpIHN1dWRhIHN0YXQnaWRhIHNlYWRldCAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNlY3RvciBzaXplIGZvciAlcyIKKyN+IG1zZ3N0ciAiZWkgc3V1ZGEga2luZGxha3MgdGVoYSBzZWFkbWUgJXMgbWFodHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstY10gWy1wUEFHRVNaXSBbLUwgbGFiZWxdIFstVSBVVUlEXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTogJXMgWy1jXSBbLXYwfC12MV0gWy1wTEtTVVVSVVNdIC9kZXYvbmltaSBbcGxva2tlXVxuIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSIKKyN+IG1zZ3N0ciAiTeRsdSBzYWkgb3RzYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6XG4iCisjfiAiICAlcyAiCisjfiBtc2dzdHIgImthc3V0YW1pbmU6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTWVudSB3aXRob3V0IGRpcmVjdGlvbi4gRGVmYXVsdGluZyB0byBob3Jpem9udGFsLiIKKyN+IG1zZ3N0ciAiTWVu/PwgaWxtYSBzdXVuYXRhLCBlZWxkYW4gaG9yaXNvbnRhYWxzZXQiCisKKyN+IG1zZ2lkICIiCisjfiAiQ29tbWFuZCBhY3Rpb25cbiIKKyN+ICIgICAlc1xuIgorI34gIiAgIHAgICBwcmltYXJ5IHBhcnRpdGlvbiAoMS00KVxuIgorI34gbXNnc3RyICIiCisjfiAiS+RzayB0ZWdldnVzXG4iCisjfiAiICAgJXNcbiIKKyN+ICIgICBwICAgcHJpbWFhcnNlIHBhcnRpdHNpb29uaSAoMS00KSBsb29taW5lXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6IGZzY2sgWy1BTU5QUlRWXSBbIC1DIFsgZmQgXSBdIFstdCBmc3R5cGVdIFtmcy1vcHRpb25zXSBbZmlsZXN5cyAuLi5dXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6IG1rZnMgWy1WXSBbLXQgZnN0/PxwXSBbZnMtdvV0bWVkXSBzZWFkZSBbc3V1cnVzXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNvdWxkbid0IG9wZW4gJXM6ICVzXG4iCisjfiBtc2dzdHIgIkVpIHN1dXRudWQgYXZhZGEgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmc2NrIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAiJXMgcGFrZXRpc3QgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogVW5hYmxlIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgZnNja19wYXRoXG4iCisjfiBtc2dzdHIgImVpIGrkdGt1IG3kbHUgaS1raXJqZXRlIHB1aHZyaWxlIgorCisjfiBtc2dpZCAiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKVxuIgorI34gbXNnc3RyICIoT290YXNpbjogYFVUQycgdvVpIGBMT0NBTCcgdvVpIG1pdHRlIG1pZGFnaSlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiaHdjbG9jayAtIHF1ZXJ5IGFuZCBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIChSVEMpXG4iCisjfiAiXG4iCisjfiAiVXNhZ2U6IGh3Y2xvY2sgW2Z1bmN0aW9uXSBbb3B0aW9ucy4uLl1cbiIKKyN+ICJcbiIKKyN+ICJGdW5jdGlvbnM6XG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgIHNob3cgdGhpcyBoZWxwXG4iCisjfiAiICAtciB8IC0tc2hvdyAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IHJlc3VsdFxuIgorI34gIiAgICAgICAtLXNldCAgICAgICAgICBzZXQgdGhlIHJ0YyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gIiAgLXMgfCAtLWhjdG9zeXMgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiICAtdyB8IC0tc3lzdG9oYyAgICAgIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgdG8gdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWVcbiIKKyN+ICIgICAgICAgLS1zeXN0eiAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBiYXNlZCBvbiB0aGUgY3VycmVudCB0aW1lem9uZVxuIgorI34gIiAgICAgICAtLWFkanVzdCAgICAgICBhZGp1c3QgdGhlIHJ0YyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IHNpbmNlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIHRoZSBjbG9jayB3YXMgbGFzdCBzZXQgb3IgYWRqdXN0ZWRcbiIKKyN+ICIgICAgICAgLS1nZXRlcG9jaCAgICAgcHJpbnQgb3V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZVxuIgorI34gIiAgICAgICAtLXNldGVwb2NoICAgICBzZXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlIHRvIHRoZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgZ2l2ZW4gd2l0aCAtLWVwb2NoXG4iCisjfiAiICAgICAgIC0tcHJlZGljdCAgICAgIHByZWRpY3QgcnRjIHJlYWRpbmcgYXQgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gIiAgLXYgfCAtLXZlcnNpb24gICAgICBwcmludCBvdXQgdGhlIHZlcnNpb24gb2YgaHdjbG9jayB0byBzdGRvdXRcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOiBcbiIKKyN+ICIgIC11IHwgLS11dGMgICAgICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gVVRDXG4iCisjfiAiICAgICAgIC0tbG9jYWx0aW1lICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIGxvY2FsIHRpbWVcbiIKKyN+ICIgIC1mIHwgLS1ydGM9cGF0aCAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIKKyN+ICIgICAgICAgLS1kaXJlY3Rpc2EgICAgYWNjZXNzIHRoZSBJU0EgYnVzIGRpcmVjdGx5IGluc3RlYWQgb2YgJXNcbiIKKyN+ICIgICAgICAgLS1iYWR5ZWFyICAgICAgaWdub3JlIHJ0YydzIHllYXIgYmVjYXVzZSB0aGUgYmlvcyBpcyBicm9rZW5cbiIKKyN+ICIgICAgICAgLS1kYXRlICAgICAgICAgc3BlY2lmaWVzIHRoZSB0aW1lIHRvIHdoaWNoIHRvIHNldCB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgICAgICAgLS1lcG9jaD15ZWFyICAgc3BlY2lmaWVzIHRoZSB5ZWFyIHdoaWNoIGlzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBoYXJkd2FyZSBjbG9jaydzIGVwb2NoIHZhbHVlXG4iCisjfiAiICAgICAgIC0tbm9hZGpmaWxlICAgIGRvIG5vdCBhY2Nlc3MgL2V0Yy9hZGp0aW1lLiBSZXF1aXJlcyB0aGUgdXNlIG9mXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZVxuIgorI34gIiAgICAgICAtLWFkamZpbGU9cGF0aCBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlIChkZWZhdWx0IGlzXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIC9ldGMvYWRqdGltZSlcbiIKKyN+ICIgICAgICAgLS10ZXN0ICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgYWN0dWFsbHkgdXBkYXRpbmcgdGhlIGhhcmR3YXJlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGNsb2NrIG9yIGFueXRoaW5nIGVsc2VcbiIKKyN+ICIgIC1EIHwgLS1kZWJ1ZyAgICAgICAgZGVidWcgbW9kZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiaHdjbG9jayAtLSByaWlzdHZhcmFsaXNlIGtlbGxhIChSVEMpIHbk5HJ0dXNlIHZhYXRhbWlzZWtzIGphIHNlYWRtaXNla3NcbiIKKyN+ICJcbiIKKyN+ICJLYXN1dGFtaW5lOiBod2Nsb2NrIFtmdW5rdHNpb29uXSBbdvV0bWVkLi4uXVxuIgorI34gIlxuIgorI34gIkZ1bmt0c2lvb25pZDpcbiIKKyN+ICIgIC0taGVscCAgICAgICAgbuRpZGF0YSBzZWRhIHRla3N0aVxuIgorI34gIiAgLS1zaG93ICAgICAgICBsdWdlZGEgamEgduRsamFzdGFkYSByaWlzdHZhcmFsaXNlIGtlbGxhIG7kaXRcbiIKKyN+ICIgIC0tc2V0ICAgICAgICAgc2VhZGEgcmlpc3R2YXJhbGlzZSBrZWxsYSBu5GlkdWtzIC0tZGF0ZSB29XRtZSB25ORydHVzXG4iCisjfiAiICAtLWhjdG9zeXMgICAgIHNlYWRhIHP8c3RlZW1pIGFlZyBzYW1ha3MsIG1pcyByaWlzdHZhcmFsaXNlbCBrZWxsYWxcbiIKKyN+ICIgIC0tc3lzdG9oYyAgICAgc2VhZGEgcmlpc3R2YXJhbGluZSBrZWxsIHNhbWFrcywgbWlzIHP8c3RlZW1pIGFlZ1xuIgorI34gIiAgLS1hZGp1c3QgICAgICBrb3JyaWdlZXJpZGEgcmlpc3R2YXJhbGlzZSBrZWxsYSBu5Gl0dSwgZXQgYXJ2ZXN0YWRhXG4iCisjfiAiICAgICAgICAgICAgICAgIHP8c3RlbWFhdGxpc3QgbmloZXQgYWxhdGVzIHZpaW1hc2VzdCBrb3JyaWdlZXJpbWlzZXN0XG4iCisjfiAiICAtLWdldGVwb2NoICAgIHbkbGphc3RhZGEgcmlpc3R2YXJhbGlzZSBrZWxsYSBlcG9oaGkgduTkcnR1c1xuIgorI34gIiAgLS1zZXRlcG9jaCAgICBzZWFkYSByaWlzdHZhcmFsaXNlIGtlbGxhIGVwb2hoaSB25ORydHVzZWtzIC0tZXBvY2hcbiIKKyN+ICIgICAgICAgICAgICAgICAgdvV0bWVnYSBhbnR1ZCB25ORydHVzXG4iCisjfiAiICAtLXZlcnNpb24gICAgIHbkbGphc3RhZGEgaHdjbG9jaydpIHZlcnNpb29uXG4iCisjfiAiXG4iCisjfiAiVvV0bWVkOlxuIgorI34gIiAgLS11dGMgICAgICAgICByaWlzdHZhcmFsaXN0IGtlbGxhIGhvaXRha3NlIEdyZWVud2ljaGkgYWphc1xuIgorI34gIiAgLS1sb2NhbHRpbWUgICByaWlzdHZhcmFsaXN0IGtlbGxhIGhvaXRha3NlIGtvaGFsaWt1cyBhamFzXG4iCisjfiAiICAtLWRpcmVjdGlzYSAgIHD29nJkdWRhIElTQSBzaWluaSBwb29sZSBvdHNlICglcyBhc2VtZWwpXG4iCisjfiAiICAtLWJhZHllYXIgICAgIGlnbm9yZWVyaWRhIFJUQyBhYXN0YW51bWJyaXQsIGt1bmEgQklPUyBvbiBrYXRraW5lXG4iCisjfiAiICAtLWRhdGUgICAgICAgIGFubmFiIGFqYSwgbWlzIHJpaXN0dmFyYWxpc2Uga2VsbGEgduTkcnR1c2VrcyBwYW5uYVxuIgorI34gIiAgLS1lcG9jaD1hYXN0YSBhbm5hYiBhYXN0YSwgbWlkYSBoYWthdGEgbHVnZW1hIHJpaXN0dmFyYWxpc2Uga2VsbGFcbiIKKyN+ICIgICAgICAgICAgICAgICAgZXBvaGhpIGFsZ3VzZWtzXG4iCisjfiAiICAtLW5vYWRqZmlsZSAgIG1pdHRlIGthc3V0YWRhIGZhaWxpIC9ldGMvYWRqdGltZS4gVmFqYWIga2FzIC0tdXRjIHb1aVxuIgorI34gIiAgICAgICAgICAgICAgICAtLWxvY2FsdGltZSB29XRpdFxuIgorCisjfiBtc2dpZCAiY2FuJ3QgbWFsbG9jIGluaXRzdHJpbmciCisjfiBtc2dzdHIgImluaXQtc3RyaW5naSBqYW9rcyBlaSBq5HRrdSBt5Gx1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgWy04aGlMbXNVd10gWy1sIGxvZ2luX3Byb2dyYW1dIFstdCB0aW1lb3V0XSBbLUkgaW5pdHN0cmluZ10gWy1IIGxvZ2luX2hvc3RdIGJhdWRfcmF0ZSwuLi4gbGluZSBbdGVybXR5cGVdXG4iCisjfiAib3JcdFstaGlMbXddIFstbCBsb2dpbl9wcm9ncmFtXSBbLXQgdGltZW91dF0gWy1JIGluaXRzdHJpbmddIFstSCBsb2dpbl9ob3N0XSBsaW5lIGJhdWRfcmF0ZSwuLi4gW3Rlcm10eXBlXVxuIgorI34gbXNnc3RyICIiCisjfiAiS2FzdXRhbWluZTpcbiIKKyN+ICIlcyBbLWhpTG13XSBbLWwgbG9naW5fcHJvZ3JhbW1dIFstdCB0YWltYXV0XSBbLUkgaW5pdC1zdHJpbmddIFstSCBsb2dpbl9ob3N0XSBiYXVkX3JhdGUsLi4uIHNlYWRlIFt0ZXJtaW5hbGlfdPz8cF1cbiIKKyN+ICJ29WlcbiIKKyN+ICIgICAgICAgWy1oaUxtd10gWy1sIGxvZ2luX3Byb2dyYW1tXSBbLXQgdGFpbWF1dF0gWy1JIGluaXQtc3RyaW5nXSBbLUggbG9naW5faG9zdF0gc2VhZGUgYmF1ZF9yYXRlLC4uLiBbdGVybWluYWxpdPz8cF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgW3kgfCBuXSIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTogbWVzZyBbeSB8IG5dXG4iCisKKyN+IG1zZ2lkICIlczogQkFEIEVSUk9SIgorI34gbXNnc3RyICIlczogVmlnYW5lIHZlYWtvb2QiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6ICVzIFstbl0gW2ZpbGVdXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6ICVzIFtmYWlsXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbid0IHJlYWQ6ICVzIgorI34gbXNnc3RyICIlczogZWkgc3V1ZGEgbHVnZWRhICVzXG4iCisKKyN+IG1zZ2lkICJsb2dnZXI6ICVzOiAlcy5cbiIKKyN+IG1zZ3N0ciAibG9nZ2VyOiAlczogJXNcbiIKKworI34gbXNnaWQgInVzYWdlOiBsb2dnZXIgWy1pc10gWy1mIGZpbGVdIFstcCBwcmldIFstdCB0YWddIFstdSBzb2NrZXRdIFsgbWVzc2FnZSAuLi4gXVxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiBsb2dnZXIgWy1pc10gWy1mIGZhaWxdIFstcCBwcmldIFstdCBuaW1pXSBbLXUgc29ra2VsXSBbIHRlYWRlIC4uLiBdXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogbG9vayBbLWRmYV0gWy10IGNoYXJdIHN0cmluZyBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTogbG9vayBbLWRmYV0gWy10IG3kcmtdIHN0cmluZyBbZmFpbF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5PyIKKyN+IG1zZ3N0ciAiTeRsdSBzYWkgb3RzYVxuIgorCisjfiBtc2dpZCAiY2FsbDogJXMgZnJvbSB0byBmaWxlcy4uLlxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBrdXN0IGt1aHUgZmFpbGlkLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHNjcmlwdCBbLWFdIFstZV0gWy1mXSBbLXFdIFstdF0gW2ZpbGVdXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6IHNjcmlwdCBbLWFdIFstZl0gWy1xXSBbLXRdIFtmYWlsXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB3cml0ZSBlcnJvciAlZDogJXNcbiIKKyN+IG1zZ3N0ciAiS2lyanV0YW1pc2UgdmlnYSBzZWFkbWVsICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHdyaXRlIGVycm9yOiAlc1xuIgorI34gbXNnc3RyICJLaXJqdXRhbWlzZSB2aWdhIHNlYWRtZWwgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1kXSBbLXAgcGlkZmlsZV0gWy1zIHNvY2tldHBhdGhdIFstVCB0aW1lb3V0XVxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiBbLSNdIFstZiBmYWlsXSBbLXQgdHR5XSBbLWggaG9zdGluaW1pXSBba2FzdXRhamEgLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAlcyAta1xuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgJXMgLWwgWyBzaWduYWFsIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1yXSBbLXRdXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyN+IG1zZ2lkICJ3aGVyZWlzIFsgLXNibXUgXSBbIC1TQk0gZGlyIC4uLiAtZiBdIG5hbWUuLi5cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTogd2hlcmVpcyBbIC1zYm11IF0gWyAtU0JNIGthdGFsb29nIC4uLiAtZiBdIG5pbWkuLi5cbiIKKworI34gbXNnaWQgInVzYWdlOiB3cml0ZSB1c2VyIFt0dHldXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6IHdyaXRlIGthc3V0YWphIFt0dHldXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5rbm93blxuIgorI34gbXNnc3RyICJ0dW5kbWF0dSIKKworI34gbXNnaWQgIlVzYWdlOiBzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fGhoOnNzfCttaW5zXVxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiBzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fHR0Om1tfCttaW5dXG4iCisKKyN+IG1zZ2lkICJTaHV0ZG93biBwcm9jZXNzIGFib3J0ZWQiCisjfiBtc2dzdHIgIlNlaXNrYW1pc2UgcHJvdHNlc3Mga2F0a2VzdGF0aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJvbmx5IHJvb3QgY2FuIHNodXQgYSBzeXN0ZW0gZG93bi4iCisjfiBtc2dzdHIgIiVzOiBBaW51bHQgcm9vdCBzYWFiIHP8c3RlZW1pIHNlaXNhdGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0aGF0IG11c3QgYmUgdG9tb3Jyb3csIGNhbid0IHlvdSB3YWl0IHRpbGwgdGhlbj8iCisjfiBtc2dzdHIgIlNlZSBwYWlzdGFiIG9sZXZhdCBob21tZSwga2VzIHT1ZXN0aSBlaSBzYWEgbmlpa2F1YSBvb2RhdGE/XG4iCisKKyN+IG1zZ2lkICJmb3IgbWFpbnRlbmFuY2U7IGJvdW5jZSwgYm91bmNlIgorI34gbXNnc3RyICJob29sZHVzZSBqYW9rcyAobmFndSBpa2thKSIKKworI34gbXNnaWQgIlRoZSBzeXN0ZW0gaXMgYmVpbmcgc2h1dCBkb3duIHdpdGhpbiA1IG1pbnV0ZXMiCisjfiBtc2dzdHIgIlP8c3RlZW0gbORoZWIgbWFoYSA1IG1pbnV0aSBw5HJhc3QiCisKKyN+IG1zZ2lkICJMb2dpbiBpcyB0aGVyZWZvcmUgcHJvaGliaXRlZC4iCisjfiBtc2dzdHIgIlNpc3NlIGxvZ2ltaW5lIG9uIHNlZXT1dHR1IGtlZWxhdHVkIgorCisjfiBtc2dpZCAicmVib290ZWQgYnkgJXM6ICVzIgorI34gbXNnc3RyICJidXV0aXMgJXM6ICVzIgorCisjfiBtc2dpZCAiaGFsdGVkIGJ5ICVzOiAlcyIKKyN+IG1zZ3N0ciAic2Vpc2thcyAlczogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV2h5IGFtIEkgc3RpbGwgYWxpdmUgYWZ0ZXIgcmVib290PyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk1pa3MgbWEgcORyYXN0IHJlYm9vdGkgdmVlbCBlbHVzIG9sZW4/IgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk5vdyB5b3UgY2FuIHR1cm4gb2ZmIHRoZSBwb3dlci4uLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk78/GQgdvVpYiB2b29sdSB25GxqYSBs/GxpdGFkYS4uLiIKKworI34gbXNnaWQgIkNhbGxpbmcga2VybmVsIHBvd2VyLW9mZiBmYWNpbGl0eS4uLlxuIgorI34gbXNnc3RyICJLdXRzdW4gduRsamEgdHV1bWEgduRsamFs/GxpdGFtaXNlIG1lZXRvZGkuLi5cbiIKKworI34gbXNnaWQgIkVycm9yIHBvd2VyaW5nIG9mZlx0JXNcbiIKKyN+IG1zZ3N0ciAiVmlnYSB25GxqYSBs/GxpdGFtaXNlbFx0JXNcbiIKKworI34gbXNnaWQgIkV4ZWN1dGluZyB0aGUgcHJvZ3JhbSBcIiVzXCIgLi4uXG4iCisjfiBtc2dzdHIgIlTkaWRhbiBwcm9ncmFtbWkgXCIlc1wiIC4uLlxuIgorCisjfiBtc2dpZCAiVVJHRU5UOiBicm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzOiIKKyN+IG1zZ3N0ciAiS0lJUkU6IHRlYWRlIGv1aWdpbGUga2FzdXRhamFsdCAlczoiCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAlZCBob3VycyAlZCBtaW51dGVzIgorI34gbXNnc3RyICJT/HN0ZWVtIGzkaGViIG1haGEgJWQgdHVubmkgamEgJWQgbWludXRpIHDkcmFzdCIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluIDEgaG91ciAlZCBtaW51dGVzIgorI34gbXNnc3RyICJT/HN0ZWVtIGzkaGViIG1haGEgMSB0dW5uaSBqYSAlZCBtaW51dGkgcORyYXN0IgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gJWQgbWludXRlc1xuIgorI34gbXNnc3RyICJT/HN0ZWVtIGzkaGViIG1haGEgJWQgbWludXRpIHDkcmFzdFxuIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gMSBtaW51dGVcbiIKKyN+IG1zZ3N0ciAiU/xzdGVlbSBs5GhlYiBtYWhhIDEgbWludXRpIHDkcmFzdFxuIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gSU1NRURJQVRFTFkhXG4iCisjfiBtc2dzdHIgInP8c3RlZW0gbORoZWIgbWFoYSBPVFNFS09IRSFcbiIKKworI34gbXNnaWQgIlx0Li4uICVzIC4uLlxuIgorI34gbXNnc3RyICJcdC4uLiAlcyAuLi5cbiIKKworI34gbXNnaWQgIkNhbm5vdCBmb3JrIGZvciBzd2Fwb2ZmLiBTaHJ1ZyEiCisjfiBtc2dzdHIgIkVpIHNhYSB0ZWhhIHV1dCBwcm90c2Vzc2kgc2FhbGltaXNlIHbkbGphIGz8bGl0YW1pc2Vrcy4gT2VoISIKKworI34gbXNnaWQgIkNhbm5vdCBleGVjIHN3YXBvZmYsIGhvcGluZyB1bW91bnQgd2lsbCBkbyB0aGUgdHJpY2suIgorI34gbXNnc3RyICJFaSBzYWEga+Rpdml0YWRhIHN3YXBvZmYnaSwgZWhrIHVtb3VudCB0ZWViIHNlbGxlIORyYSIKKworI34gbXNnaWQgIkNhbm5vdCBmb3JrIGZvciB1bW91bnQsIHRyeWluZyBtYW51YWxseS4iCisjfiBtc2dzdHIgIkVpIHNhYSBmb3JraWRhIHVtb3VudGkga+Rpdml0YW1pc2VrcywgcHJvb3ZpbiBr5HNpdHNpIgorCisjfiBtc2dpZCAiQ2Fubm90IGV4ZWMgJXMsIHRyeWluZyB1bW91bnQuXG4iCisjfiBtc2dzdHIgIkVpIHN1dWRhIGvkaXZpdGFkYSBwcm9ncmFtbWkgJXMsIHByb292aW4gdW1vdW50J2lcbiIKKworI34gbXNnaWQgIkNhbm5vdCBleGVjIHVtb3VudCwgZ2l2aW5nIHVwIG9uIHVtb3VudC4iCisjfiBtc2dzdHIgIkVpIHN1dWRhIGvkaXZpdGFkYSB1bW91bnQnaSwgYW5uYW4gYWxsYSB1bW91bnQnaWdhIHRlZ2VsZW1pc2VsIgorCisjfiBtc2dpZCAiVW5tb3VudGluZyBhbnkgcmVtYWluaW5nIGZpbGVzeXN0ZW1zLi4uIgorI34gbXNnc3RyICJNb250ZWVyaW4gbGFodGkga/VpayBhbGxlc2rk5G51ZCBmYWlsaXP8c3RlZW1pZCIKKworI34gbXNnaWQgInNodXRkb3duOiBDb3VsZG4ndCB1bW91bnQgJXM6ICVzXG4iCisjfiBtc2dzdHIgInNodXRkb3duOiBFaSBzdXVkYSBsYWh0aSBtb250ZWVyaWRhIGthdGFsb29naSAlczogJXNcbiIKKworI34gbXNnaWQgIkJvb3RpbmcgdG8gc2luZ2xlIHVzZXIgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiQnV1ZGluIPxoZWthc3V0YWphcmV6aGlpbWlcbiIKKworI34gbXNnaWQgImV4ZWMgb2Ygc2luZ2xlIHVzZXIgc2hlbGwgZmFpbGVkXG4iCisjfiBtc2dzdHIgItxoZWthc3V0YWphcmV6aGlpbWkgc2hlbGxpIGVpIPVubmVzdHVudWQga+Rpdml0YWRhXG4iCisKKyN+IG1zZ2lkICJmb3JrIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICLcaGVrYXN1dGFqYXJlemhpaW1pIHNoZWxsaSBqYW9rcyBlaSD1bm5lc3R1bnVkIGZvcmsnaWRhXG4iCisKKyN+IG1zZ2lkICJlcnJvciBvcGVuaW5nIGZpZm9cbiIKKyN+IG1zZ3N0ciAidmlnYSBGSUZPIGF2YW1pc2VsXG4iCisKKyN+IG1zZ2lkICJlcnJvciBydW5uaW5nIGZpbmFscHJvZ1xuIgorI34gbXNnc3RyICJ2aWdhIGZpbmFscHJvZydpIGvkaXZpdGFtaXNlbFxuIgorCisjfiBtc2dpZCAiZXJyb3IgZm9ya2luZyBmaW5hbHByb2dcbiIKKyN+IG1zZ3N0ciAidmlnYSBmaW5hbHByb2cnaSBr5Gl2aXRhbWlzZWxcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXcm9uZyBwYXNzd29yZC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlZhbGUgcGFyb29sXG4iCisKKyN+IG1zZ2lkICJmb3JrIGZhaWxlZFxuIgorI34gbXNnc3RyICJmb3JrIGVpIPVubmVzdHVudWRcbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIGluaXR0YWJcbiIKKyN+IG1zZ3N0ciAiRWkgc3V1ZGEgYXZhZGEgaW5pdHRhYidpXG4iCisKKyN+IG1zZ2lkICJubyBURVJNIG9yIGNhbm5vdCBzdGF0IHR0eVxuIgorI34gbXNnc3RyICJURVJNIHBvbGUgc2VhdHVkIHb1aSBzdGF0ICh0dHkpIGVpIPVubmVzdG51ZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIGF0IHN0b3BwaW5nIHNlcnZpY2UgXCIlc1wiXG4iCisjfiBtc2dzdHIgInZpZ2EgdGVlbnVzZSBwZWF0YW1pc2VsOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTdG9wcGVkIHNlcnZpY2U6ICVzXG4iCisjfiBtc2dzdHIgInZpZ2EgdGVlbnVzZSBwZWF0YW1pc2VsOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciBhdCBzdGFydGluZyBzZXJ2aWNlIFwiJXNcIlxuIgorI34gbXNnc3RyICJ2aWdhIHRlZW51c2UgcGVhdGFtaXNlbDogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstY10gWy1uIGxldmVsXSBbLXJdIFstcyBidWZzaXplXVxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiBzY3JpcHQgWy1hXSBbLWZdIFstcV0gWy10XSBbZmFpbF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogc3RyZHVwIGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXMgYXZhbWluZSBlaSD1bm5lc3R1bnVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiAlcyBbLWJmcHhdIFstbCBubGluZV0iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6IGNvbCBbLWJmcHhdIFstbCByaWRhZGVhcnZdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGluZSBidWZmZXJcbiIKKyN+IG1zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJlYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJN5Gx1IHNhaSBvdHNhIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiB0YWlsZiBbLW4gTiB8IC1OXSBsb2dmaWxlIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbZmFpbF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWyAtaSBdIFsgLXRUZXJtIF0gZmlsZS4uLlxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiRWkgc3V1ZGEgYXZhZGEgc2VhZGV0ICVzXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYW55IG1vcmUgbWVtb3J5XG4iCisjfiBtc2dzdHIgIk3kbHUgc2FpIG90c2FcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJnb3QgRU9GIHRocmljZSAtIGV4aXRpbmcuLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiU2FpbiBFT0YtaSBrb2xtIGtvcmRhIGrkcmplc3QgLSBhaXRhYlxuIgorCisjfiBtc2dpZCAibGFzdDogbWFsbG9jIGZhaWx1cmUuXG4iCisjfiBtc2dzdHIgImxhc3Q6IE3kbHUgc2FpIG90c2FcbiIKKworI34gbXNnaWQgImxvZ2luOiBPdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgImxvZ2luOiBN5Gx1IHNhaSBvdHNhXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogbm8gc2hlbGw6ICVzLlxuIgorI34gbXNnc3RyICJsb2dpbjogc2hlbGxpIHBvbGU6ICVzXG4iCisKKyN+IG1zZ2lkICJuZXdncnA6IHNldGdpZCIKKyN+IG1zZ3N0ciAibmV3Z3JwOiBzZXRnaWQiCisKKyN+IG1zZ2lkICJuZXdncnA6IFBlcm1pc3Npb24gZGVuaWVkIgorI34gbXNnc3RyICJuZXdncnA6IFBvbGUg9WlndXNpIgorCisjfiBtc2dpZCAibmV3Z3JwOiBzZXR1aWQiCisjfiBtc2dzdHIgIm5ld2dycDogc2V0dWlkIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHN0YXQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVzOiBlaSBzdXVkYSBsdWdlZGEgYWp1dGlzZSBmYWlsaSBzdGFhdHVzdFxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHJlYWQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVzOiBlaSBzdXVkYSBsdWdlZGEgYWp1dGlzdCBmYWlsaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvcjogJXMiCisjfiBtc2dzdHIgIktpcmp1dGFtaXNlIHZpZ2Egc2VhZG1lbCAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnNlIGVycm9yIGF0IGxpbmVzOiAiCisjfiBtc2dzdHIgInBvc2l0c2lvbmVlcmltaXNlIHZpZ2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIGFuZCAlZC4iCisjfiBtc2dzdHIgIiBqYSAiCisKKyN+IG1zZ2lkICIlczogb3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICIlczogTeRsdSBzYWkgb3RzYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBpbGxlZ2FsIGludGVydmFsICVzIHNlY29uZHNcbiIKKyN+IG1zZ3N0ciAiJXM6IHZpZ2FuZSB29XRpICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogaWxsZWdhbCB0aW1lX3QgdmFsdWUgJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IHZpZ2FuZSB29XRpICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGV4ZWN1dGUgJXM6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiAlcyD8bWJlciBuaW1ldGFtaW5lICVzIC1rcyBlaSD1bm5lc3RudWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICJN5Gx1IHNhaSBvdHNhIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzcGFjZSIKKyN+IG1zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHJ1bm5pbmcgcHJvZ3JhbW1lOiBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAidmlnYSBmaW5hbHByb2cnaSBr5Gl2aXRhbWlzZWxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJuZXciCisjfiBtc2dzdHIgInV1cyAoTikiCisKKyN+IG1zZ2lkICJMaW51eCBleHQyIgorI34gbXNnc3RyICJMaW51eCBleHQyIgorCisjfiBtc2dpZCAiTGludXggZXh0MyIKKyN+IG1zZ3N0ciAiTGludXggZXh0MyIKKworI34gbXNnaWQgIkxpbnV4IFhGUyIKKyN+IG1zZ3N0ciAiTGludXggWEZTIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkxpbnV4IEpGUyIKKyN+IG1zZ3N0ciAiTGludXggWEZTIgorCisjfiBtc2dpZCAiTGludXggUmVpc2VyRlMiCisjfiBtc2dzdHIgIkxpbnV4IFJlaXNlckZTIgorCisjfiBtc2dpZCAiT1MvMiBIUEZTIgorI34gbXNnc3RyICJPUy8yIEhQRlMiCisKKyN+IG1zZ2lkICJPUy8yIElGUyIKKyN+IG1zZ3N0ciAiT1MvMiBJRlMiCisKKyN+IG1zZ2lkICJOVEZTIgorI34gbXNnc3RyICJOVEZTIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiBmZGlzayBbLWIgU1NaXSBbLXVdIERJU0sgICAgIENoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICIgICAgICAgZmRpc2sgLWwgWy1iIFNTWl0gWy11XSBESVNLICBMaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorI34gIiAgICAgICBmZGlzayAtcyBQQVJUSVRJT04gICAgICAgICAgIEdpdmUgcGFydGl0aW9uIHNpemUocykgaW4gYmxvY2tzXG4iCisjfiAiICAgICAgIGZkaXNrIC12ICAgICAgICAgICAgICAgICAgICAgR2l2ZSBmZGlzayB2ZXJzaW9uXG4iCisjfiAiSGVyZSBESVNLIGlzIHNvbWV0aGluZyBsaWtlIC9kZXYvaGRiIG9yIC9kZXYvc2RhXG4iCisjfiAiYW5kIFBBUlRJVElPTiBpcyBzb21ldGhpbmcgbGlrZSAvZGV2L2hkYTdcbiIKKyN+ICItdTogZ2l2ZSBTdGFydCBhbmQgRW5kIGluIHNlY3RvciAoaW5zdGVhZCBvZiBjeWxpbmRlcikgdW5pdHNcbiIKKyN+ICItYiAyMDQ4OiAoZm9yIGNlcnRhaW4gTU8gZGlza3MpIHVzZSAyMDQ4LWJ5dGUgc2VjdG9yc1xuIgorI34gbXNnc3RyICIiCisjfiAiS2FzdXRhbWluZTogZmRpc2sgWy1iIFNTWl0gWy11XSBESVNLICAgICAgTXV1dGEgcGFydGl0c2lvb25pdGFiZWxpdFxuIgorI34gIiAgICAgICAgICAgIGZkaXNrIC1sIFstYiBTU1pdIFstdV0gRElTSyAgIE7kaWRhdGEgcGFydGl0c2lvb25pdGFiZWxpIHNpc3VcbiIKKyN+ICIgICAgICAgICAgICBmZGlzayAtcyBQQVJUSVRTSU9PTiAgICAgICAgICBO5GlkYXRhIHBhcnRpdHNpb29uaSBtYWh0dSBwbG9ra2lkZXNcbiIKKyN+ICIgICAgICAgICAgICBmZGlzayAtdiAgICAgICAgICAgICAgICAgICAgICBO5GlkYXRhIGZkaXNraSB2ZXJzaW9vbmlcbiIKKyN+ICJTaWluIERJU0sgb24gc2VhZG1lZmFpbCAobuRpdGVrcyAvZGV2L2hkYSB29WkgL2Rldi9zZGEpXG4iCisjfiAiamEgUEFSVElUU0lPT04gb24gbWlkYWdpIHN0aWlsaXMgL2Rldi9oZGE3XG4iCisjfiAiLXU6IG7kaWRhdGEgcGFydGl0c2lvb25pZGUgYWxndXN0IGphIGz1cHB1IHNpbGluZHJpdGUgYXNlbWVsIHNla3Rvcml0ZXNcbiIKKyN+ICItYiAyMDQ4OiBrYXN1dGFkYSAyMDQ4LWJhaWRpc2VpZCBzZWt0b3JlaWQgKHZhamFsaWsgbuRpdGVrcyBt9W5lbCBNTyBzZWFkbWVsKVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiBmZGlzayBbLWxdIFstYiBTU1pdIFstdV0gZGV2aWNlXG4iCisjfiAiRS5nLjogZmRpc2sgL2Rldi9oZGEgIChmb3IgdGhlIGZpcnN0IElERSBkaXNrKVxuIgorI34gIiAgb3I6IGZkaXNrIC9kZXYvc2RjICAoZm9yIHRoZSB0aGlyZCBTQ1NJIGRpc2spXG4iCisjfiAiICBvcjogZmRpc2sgL2Rldi9lZGEgIChmb3IgdGhlIGZpcnN0IFBTLzIgRVNESSBkcml2ZSlcbiIKKyN+ICIgIG9yOiBmZGlzayAvZGV2L3JkL2MwZDAgIG9yOiBmZGlzayAvZGV2L2lkYS9jMGQwICAoZm9yIFJBSUQgZGV2aWNlcylcbiIKKyN+ICIgIC4uLlxuIgorI34gbXNnc3RyICIiCisjfiAiS2FzdXRhbWluZTogZmRpc2sgWy1sXSBbLWIgU1NaXSBbLXVdIHNlYWRlXG4iCisjfiAiTuRpdGVrczogICAgZmRpc2sgL2Rldi9oZGEgIChlc2ltZXNlIElERSBrZXR0YSBqYW9rcylcbiIKKyN+ICIgICAgICAgICAgICBmZGlzayAvZGV2L3NkYyAgKGtvbG1hbmRhIFNDU0kga2V0dGEgamFva3MpXG4iCisjfiAiICAgICAgICAgICAgZmRpc2sgL2Rldi9lZGEgIChlc2ltZXNlIFBTLzIgRVNESSBrZXR0YSBqYW9rcylcbiIKKyN+ICIgICAgICAgICAgICBmZGlzayAvZGV2L3JkL2MwZDAgdvVpIGZkaXNrIC9kZXYvaWRhL2MwZDAgKFJBSUQgc2VhZG1ldGUgamFva3MpXG4iCisjfiAiICAgICAgICAgICAgLi4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVGhlIG51bWJlciBvZiBjeWxpbmRlcnMgZm9yIHRoaXMgZGlzayBpcyBzZXQgdG8gJWQuXG4iCisjfiAiVGhlcmUgaXMgbm90aGluZyB3cm9uZyB3aXRoIHRoYXQsIGJ1dCB0aGlzIGlzIGxhcmdlciB0aGFuIDEwMjQsXG4iCisjfiAiYW5kIGNvdWxkIGluIGNlcnRhaW4gc2V0dXBzIGNhdXNlIHByb2JsZW1zIHdpdGg6XG4iCisjfiAiMSkgc29mdHdhcmUgdGhhdCBydW5zIGF0IGJvb3QgdGltZSAoZS5nLiwgb2xkIHZlcnNpb25zIG9mIExJTE8pXG4iCisjfiAiMikgYm9vdGluZyBhbmQgcGFydGl0aW9uaW5nIHNvZnR3YXJlIGZyb20gb3RoZXIgT1NzXG4iCisjfiAiICAgKGUuZy4sIERPUyBGRElTSywgT1MvMiBGRElTSylcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIktldHRhIHNpbGluZHJpdGUgYXJ2dWtzIG9uIHNlYXR1ZCAlZC4gU2VsbGVzIGVpIG9sZSBpc2VlbmVzZXN0XG4iCisjfiAibWlkYWdpIGhhbGJhLCBhZ2Egc2VlIG9uIHN1dXJlbSBrdWkgMTAyNCBuaW5nIHb1aWIgc2VlZ2EgcPVoanVzdGFkYVxuIgorI34gInRlYXR1ZCBzaXR1YXRzaW9vbmlkZXMgcHJvYmxlZW1lOlxuIgorI34gIjEpIHRhcmt2YXJhZ2EsIG1pcyBr5Gl2aXR1YiBidXV0aW1pc2UgYWphbCAobuRpdGVrcyB2YW5hIHZlcnNpb29uIExJTE9zdClcbiIKKyN+ICIyKSBtdXVkZSBvcGVyYXRzaW9vbmlz/HN0ZWVtaWRlIGJ1dXRpbWlzZSBqYSBwYXJ0aXRzaW9uZWVyaW1pc2VcbiIKKyN+ICJ0YXJrdmFyYWdhIChu5Gl0ZWtzIERPU2kgRkRJU0ssIE9TLzIgRkRJU0spXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6ICVzIgorI34gbXNnc3RyICJwb3NpdHNpb25lZXJpbWlzZSB2aWdhIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHBhcnNlOiAlcyIKKyN+IG1zZ3N0ciAiVmlnYSAlcyBsdWdlbWlzZWxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJvdXQgaWYgbWVtb3J5IgorI34gbXNnc3RyICJN5Gx1IHNhaSBvdHNhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiwgYm9vdGFibGUiCisjfiBtc2dzdHIgIkFJWCBidXV0aXYiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2xvY2sgaW4gVVRDLCBub3QgY2hhbmdlZC5cbiIKKyN+IG1zZ3N0ciAiU2hlbGwgauRpIHNhbWFrc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBlcnJvcjogbGFiZWwgb25seSB3aXRoIHYxIHN3YXAgYXJlYVxuIgorI34gbXNnc3RyICIlczogVmlnYSAtIGVpIG9sZSD2ZWxkdWQsIGt1aHUgc2FhbGltaXNhbGEgdGVraXRhZGFcbiIKKworI34gbXNnaWQgImZhdGFsOiBmaXJzdCBwYWdlIHVucmVhZGFibGUiCisjfiBtc2dzdHIgImZhdGFhbG5lIHZpZ2E6IGVzaW1lbmUgbGVoa/xsZyBwb2xlIGvkdHRlc2FhZGF2IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIlczogRGV2aWNlICclcycgY29udGFpbnMgYSB2YWxpZCBTdW4gZGlza2xhYmVsLlxuIgorI34gIlRoaXMgcHJvYmFibHkgbWVhbnMgY3JlYXRpbmcgdjAgc3dhcCB3b3VsZCBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlLlxuIgorI34gIk5vIHN3YXAgd2FzIGNyZWF0ZWQuIElmIHlvdSByZWFsbHkgd2FudCB0byBjcmVhdGUgdjAgc3dhcCBvbiB0aGF0IGRldmljZSxcbiIKKyN+ICJ1c2UgdGhlIC1mIG9wdGlvbiB0byBmb3JjZSBpdC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBTZWFkZSBgJXMnIHNpc2FsZGFiIHBlYWx0buRoYSBrb3JyYWxpa2t1IFN1bidpIHBhcnRpdHNpb29uaXRhYmVsaXQuXG4iCisjfiAiU2VlIHTkaGVuZGFiIGlsbXNlbHQsIGV0IHYwIHNhYWxpbWlzYWxhIHRlZ2VtaW5lIGjkdml0YWtzIHBhcnRpdHNpb29uaXRhYmVsaS5cbiIKKyN+ICJTYWFsaW1pc2FsYSBlaSB0ZWtpdGF0YXVkLiBLdWkgVGUgdPVlc3RpIHNvb3ZpdGUgc2VsbGVsZSBzZWFkbWVsZVxuIgorI34gInYwIHNhYWxpbWlzYWxhIHRla2l0YWRhLCBrYXN1dGFnZSAtZiB29XRpdCBzZWxsZSBzdW5kaW1pc2Vrcy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogd2FpdHBpZDogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjaGZuOiBQQU0gRmFpbHVyZSwgYWJvcnRpbmc6ICVzXG4iCisjfiBtc2dzdHIgImxvZ2luOiBQQU0gdmlnYSwga2F0a2VzdGFuOiAlc1xuIgorCisjfiBtc2dpZCAiQ2FuJ3QgcmVhZCAlcywgZXhpdGluZy4iCisjfiBtc2dzdHIgIkVpIHN1dWRhIGx1Z2VkYSBmYWlsaSAlcywga2F0a2VzdGFuIgorCisjfiBtc2dpZCAibG9naW46IFBBTSBGYWlsdXJlLCBhYm9ydGluZzogJXNcbiIKKyN+IG1zZ3N0ciAibG9naW46IFBBTSB2aWdhLCBrYXRrZXN0YW46ICVzXG4iCisKKyN+IG1zZ2lkICJgJXMnOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIKKyN+IG1zZ3N0ciAiYCVzJzogdmlnYW5lIGthdGFsb29nOiBgLicgcG9sZSBlc2ltZW5lXG4iCisKKyN+IG1zZ2lkICJgJXMnOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIgorI34gbXNnc3RyICJgJXMnOiB2aWdhbmUga2F0YWxvb2c6IGAuLicgcG9sZSB0ZWluZVxuIgorCisjfiBtc2dpZCAiY2FsbGluZyBvcGVuX3R0eVxuIgorI34gbXNnc3RyICJrdXRzdW4gduRsamEgZnVua3RzaW9vbmkgb3Blbl90dHlcbiIKKworI34gbXNnaWQgImNhbGxpbmcgdGVybWlvX2luaXRcbiIKKyN+IG1zZ3N0ciAia3V0c3VuIHbkbGphIGZ1bmt0c2lvb25pIHRlcm1pb19pbml0XG4iCisKKyN+IG1zZ2lkICJ3cml0aW5nIGluaXQgc3RyaW5nXG4iCisjfiBtc2dzdHIgImtpcmp1dGFuIGluaXQtc3RyaW5naVxuIgorCisjfiBtc2dpZCAiYmVmb3JlIGF1dG9iYXVkXG4iCisjfiBtc2dzdHIgImVubmUgYXV0b2JhdWRpbWlzdFxuIgorCisjfiBtc2dpZCAid2FpdGluZyBmb3IgY3ItbGZcbiIKKyN+IG1zZ3N0ciAib290YW4gcmVhdmFoZXR1c3QgKENSK0xGKVxuIgorCisjfiBtc2dpZCAicmVhZGluZyBsb2dpbiBuYW1lXG4iCisjfiBtc2dzdHIgImxvZW4ga2FzdXRhamFuaW1lXG4iCisKKyN+IG1zZ2lkICJhZnRlciBnZXRvcHQgbG9vcFxuIgorI34gbXNnc3RyICJw5HJhc3QgZ2V0b3B0LXRz/GtsaXRcbiIKKworI34gbXNnaWQgImV4aXRpbmcgcGFyc2VhcmdzXG4iCisjfiBtc2dzdHIgInbkbGp1biBmdW5rdHNpb29uaXN0IHBhcnNlYXJnc1xuIgorCisjfiBtc2dpZCAiZW50ZXJlZCBwYXJzZV9zcGVlZHNcbiIKKyN+IG1zZ3N0ciAic2lzZW5lc2luIGZ1bmt0c2lvb25pIHBhcnNlX3NwZWVkc1xuIgorCisjfiBtc2dpZCAiZXhpdGluZyBwYXJzZXNwZWVkc1xuIgorI34gbXNnc3RyICJ25GxqdW4gZnVua3RzaW9vbmlzdCBwYXJzZXNwZWVkXG4iCisKKyN+IG1zZ2lkICJvcGVuKDIpXG4iCisjfiBtc2dzdHIgIm9wZW4oMilcbiIKKworI34gbXNnaWQgImR1cGluZ1xuIgorI34gbXNnc3RyICJkdWJsZWVyaW4gc29rbGVpZFxuIgorCisjfiBtc2dpZCAidGVybV9pbyAyXG4iCisjfiBtc2dzdHIgInRlcm1faW8gMlxuIgorCisjfiBtc2dpZCAiV2FybmluZzogXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gL2V0Yy9zaGVsbHNcbiIKKyN+IG1zZ3N0ciAiSG9pYXR1czogXCIlc1wiIHBvbGUga2lyamFzIGZhaWxpcyAvZXRjL3NoZWxsc1xuIgorCisjfiBtc2dpZCAidGltZW91dCA9ICVkLCBxdWlldCA9ICVkLCByZWJvb3QgPSAlZFxuIgorI34gbXNnc3RyICJ0aW1lb3V0ID0gJWQsIHF1aWV0ID0gJWQsIHJlYm9vdCA9ICVkXG4iCisKKyN+IG1zZ2lkICJBc3N1bWluZyBwYWdlcyBvZiBzaXplICVkIChub3QgJWQpXG4iCisjfiBtc2dzdHIgIkVlbGRhbiBsZWhla/xsamUgc3V1cnVzZWtzICVkIChtaXR0ZSAlZClcbiIKKworI34gbXNnaWQgIkF1dG9jb25maWd1cmUgZm91bmQgYSAlcyVzJXNcbiIKKyN+IG1zZ3N0ciAiQXV0b21hYXRuZSBrb25maWd1cmVlcmltaW5lIGxlaWRpcyAlcyVzJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJEcml2ZSB0eXBlXG4iCisjfiAiICAgPyAgIGF1dG8gY29uZmlndXJlXG4iCisjfiAiICAgMCAgIGN1c3RvbSAod2l0aCBoYXJkd2FyZSBkZXRlY3RlZCBkZWZhdWx0cykiCisjfiBtc2dzdHIgIiIKKyN+ICJLZXR0YXNlYWRtZSB0/PxwXG4iCisjfiAiICAgPyAgIGF1dG9tYWF0bmUga29uZmlndXJlZXJpbWluZVxuIgorI34gIiAgIDAgICBrb2hhbmRhdHVkICh2YWlrZXbk5HJ0dXN0ZWdhIHJpaXN0YXZhcmx0KSIKKworI34gbXNnaWQgIlNlbGVjdCB0eXBlICg/IGZvciBhdXRvLCAwIGZvciBjdXN0b20pOiAiCisjfiBtc2dzdHIgIlZhbGlnZSB0/PxwICg/IHTkaGVuZGFiIGF1dG9tYWF0c2V0LCAwIGtvaGFuZGF0dXQpOiAiCisKKyN+IG1zZ2lkICJZb3UgbWF5IGNoYW5nZSBhbGwgdGhlIGRpc2sgcGFyYW1zIGZyb20gdGhlIHggbWVudSIKKyN+IG1zZ3N0ciAiS/Vpa2kga2V0dGFzZWFkbWUgcGFyYW1lZXRyZWlkIHNhYWIgbXV1dGEgeCBtZW78/HN0IgorCisjfiBtc2dpZCAiMyw1XCIgZmxvcHB5IgorI34gbXNnc3RyICIzLDVcIiBmbG9wcGkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgZnJvbSB1dGlsLWxpbnV4LSVzXG4iCisjfiBtc2dzdHIgIiVzIHBha2V0aXN0ICVzXG4iCisKKyN+IG1zZ2lkICJTeW50YXggZXJyb3I6ICclcydcbiIKKyN+IG1zZ3N0ciAiU/xudGFrc2l2aWdhOiBgJXO0XG4iCisKKyN+IG1zZ2lkICJObyBzdWNoIHBhcmFtZXRlciBzZXQ6ICclcydcbiIKKyN+IG1zZ3N0ciAiRWkgdHVubmUgcGFyYW1lZXRyaXRlIGtvbXBsZWt0aSBgJXMnXG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1wIF0gZGV2IG5hbWVcbiIKKyN+IG1zZ3N0ciAiJXMgWyAtcCBdIHNlYWRlIG5pbWlcbiIKKworI34gbXNnaWQgIiAgICVzIFsgLXAgXSBkZXYgc2l6ZSBzZWN0IGhlYWRzIHRyYWNrcyBzdHJldGNoIGdhcCByYXRlIHNwZWMxIGZtdF9nYXBcbiIKKyN+IG1zZ3N0ciAiJXMgWyAtcCBdIHNlYWRlIG1haHQgc2VrdCBw5GlkIHJhZHUgc3RyZXRjaCBnYXAgcmF0ZSBzcGVjMSBmbXRfZ2FwXG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1jIHwgLXkgfCAtbiB8IC1kIF0gZGV2XG4iCisjfiBtc2dzdHIgIiVzIFsgLWMgfCAteSB8IC1uIHwgLWQgXSBzZWFkZVxuIgorCisjfiBtc2dpZCAiICAgJXMgWyAtYyB8IC15IHwgLW4gXSBkZXZcbiIKKyN+IG1zZ3N0ciAiJXMgWyAtYyB8IC15IHwgLW4gXSBzZWFkZVxuIgorCisjfiBtc2dpZCAiQm9vdCAoJTAyWCkiCisjfiBtc2dzdHIgIkJ1dXRpdiAoJTAyWCkiCisKKyN+IG1zZ2lkICJOb25lICglMDJYKSIKKyN+IG1zZ3N0ciAiUG9sZSAoJTAyWCkiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWkgZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5OlxuIgorI34gbXNnc3RyICJQYXJ0aXRzaW9vbiAlaSBlaSBs9XBwZSBzaWxpbmRyaSBwaWlyaWw6XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWQgaGVhZHMsICVkIHNlY3RvcnMsICVkIGN5bGluZGVyc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiAlZCBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiS2V0YXMgJXM6ICVkIHBlYWQsICVkIHNla3Rvcml0IHJhamFsLCAlZCBzaWxpbmRyaXRcbiIKKyN+ICLcaGlrdWQgPSAlcyBzdXVydXNlZ2EgJWQgKiAlZCBiYWl0aVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAib3B0aW9uIGAlcycgZG9lc24ndCBhbGxvdyBhbiBhcmd1bWVudFxuIgorI34gbXNnc3RyICJ29XRpIGAlcycgZWkgbHViYSBhcmd1bWVudGVcbiIKKworI34gbXNnaWQgImNvdWxkbid0IG9wZW4gL2Rldi91cmFuZG9tIgorI34gbXNnc3RyICJlaSBzdXVkYSBhdmFkYSBsdWdlbWlzZWtzIHNlYWRldCAvZGV2L3VyYW5kb20iCisKKyN+IG1zZ2lkICJjb3VsZG4ndCByZWFkIHJhbmRvbSBkYXRhIGZyb20gL2Rldi91cmFuZG9tIgorI34gbXNnc3RyICJlaSBzdXVkYSBsdWdlZGEganVodXN0IHNlYWRtZWx0IC9kZXYvdXJhbmRvbSIKKworI34gbXNnaWQgImNhbid0IHN0YXQoJXMpIgorI34gbXNnc3RyICJzdGF0KCVzKSBlaSD1bm5lc3R1bnVkIgorCisjfiBtc2dpZCAiJXMgZG9lc24ndCBoYXZlIHRoZSBjb3JyZWN0IGZpbGVtb2RlcyIKKyN+IG1zZ3N0ciAiZmFpbGlsICVzIG9uIHZhbGVkIGp1dXJkZXDk5HN19WlndXNlZCIKKworI34gbXNnaWQgImNhbid0IHJlYWQgZGF0YSBmcm9tICVzIgorI34gbXNnc3RyICJlaSBzdXVkYSBsdWdlZGEgZmFpbGkgJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiVG9vIG1hbnkgdXNlcnMgbG9nZ2VkIG9uIGFscmVhZHkuXG4iCisjfiAiVHJ5IGFnYWluIGxhdGVyLlxuIgorI34gbXNnc3RyICIiCisjfiAiTGlpZ2EgcGFsanUga2FzdXRhamFpZCBvbiBqdWJhIHNpc3NlIGxvZ2ludWQuXG4iCisjfiAiUHJvb3ZpZ2UgaGlsamVtIHV1ZXN0aS5cbiIKKworI34gbXNnaWQgIllvdSBoYXZlIHRvbyBtYW55IHByb2Nlc3NlcyBydW5uaW5nLlxuIgorI34gbXNnc3RyICJUZWlsIG9uIGxpaWdhIHBhbGp1IHByb3RzZXNzZSB09vZ0YW1hc1xuIgorCisjfiBtc2dpZCAiVGhlIHBhc3N3b3JkIG11c3QgaGF2ZSBhdCBsZWFzdCA2IGNoYXJhY3RlcnMsIHRyeSBhZ2Fpbi5cbiIKKyN+IG1zZ3N0ciAiUGFyb29sIHBlYWIgb2xlbWEgduRoZW1hbHQgNiBz/G1ib2xpdC4gUHJvb3ZpZ2UgdXVlc3RpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIHBhc3N3b3JkIG11c3QgY29udGFpbiBjaGFyYWN0ZXJzIG91dCBvZiB0d28gb2YgdGhlIGZvbGxvd2luZ1xuIgorI34gImNsYXNzZXM6ICB1cHBlciBhbmQgbG93ZXIgY2FzZSBsZXR0ZXJzLCBkaWdpdHMgYW5kIG5vbiBhbHBoYW51bWVyaWNcbiIKKyN+ICJjaGFyYWN0ZXJzLiBTZWUgcGFzc3dkKDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiUGFyb29sIHBlYWIgc2lzYWxkYW1hIG3kcmtlIHbkaGVtYWx0IGthaGVzdCBq5HJnbmV2YXN0IGtsYXNzaXN0OlxuIgorI34gInN1dXItIGphIHbkaWtldORoZWQsIG51bWJyaWQgamEgbXV1ZCBz/G1ib2xpZC4gVmFhZGFrZSBwYXNzd2QoMSkgbGlzYWluZm9rc1xuIgorCisjfiBtc2dpZCAiWW91IGNhbm5vdCByZXVzZSB0aGUgb2xkIHBhc3N3b3JkLlxuIgorI34gbXNnc3RyICJWYW5hIHBhcm9vbGkgZWkgc2FhIHV1ZXN0aSBrYXN1dGFkYVxuIgorCisjfiBtc2dpZCAiUGxlYXNlIGRvbid0IHVzZSBzb21ldGhpbmcgbGlrZSB5b3VyIHVzZXJuYW1lIGFzIHBhc3N3b3JkIVxuIgorI34gbXNnc3RyICLEcmdlIHBhbHVuIHBhbmdlIHBhcm9vbGlrcyBtaWRhZ2ksIG1pcyBzYXJuYW5lYiBUZWllIGthc3V0YWphbmltZWdhIVxuIgorCisjfiBtc2dpZCAiUGxlYXNlIGRvbid0IHVzZSBzb21ldGhpbmcgbGlrZSB5b3VyIHJlYWxuYW1lIGFzIHBhc3N3b3JkIVxuIgorI34gbXNnc3RyICLEcmdlIHBhbHVuIHBhbmdlIHBhcm9vbGlrcyBtaWRhZ2ksIG1pcyBzYXJuYW5lYiBUZWllIHDkcmlzbmltZWdhIVxuIgorCisjfiBtc2dpZCAiVXNhZ2U6IHBhc3N3ZCBbdXNlcm5hbWUgW3Bhc3N3b3JkXV1cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTogcGFzc3dkIFtrYXN1dGFqYW5pbWkgW3Bhcm9vbF1dXG4iCisKKyN+IG1zZ2lkICJPbmx5IHJvb3QgbWF5IHVzZSB0aGUgb25lIGFuZCB0d28gYXJndW1lbnQgZm9ybXMuXG4iCisjfiBtc2dzdHIgIkFpbnVsdCBzdXBlcmthc3V0YWphIHRvaGliIGthIGFyZ3VtZW50ZSBrYXN1dGFkYVxuIgorCisjfiBtc2dpZCAiVXNhZ2U6IHBhc3N3ZCBbLWZvcXN2Vl0gW3VzZXIgW3Bhc3N3b3JkXV1cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTogcGFzc3dkIFstZm9xc3ZWXSBba2FzdXRhamFuaW1pIFtwYXJvb2xdXVxuIgorCisjfiBtc2dpZCAiQ2Fubm90IGZpbmQgbG9naW4gbmFtZSIKKyN+IG1zZ3N0ciAiRWkgc3V1ZGEga2luZGxha3MgdGVoYSBUZWllIGthc3V0YWphbmltZSIKKworI34gbXNnaWQgIk9ubHkgcm9vdCBjYW4gY2hhbmdlIHRoZSBwYXNzd29yZCBmb3Igb3RoZXJzLlxuIgorI34gbXNnc3RyICJBaW51bHQgc3VwZXJrYXN1dGFqYSB0b2hpYiB0ZWlzdGUgcGFyb29sZSBtdXV0YVxuIgorCisjfiBtc2dpZCAiQ2FuJ3QgZmluZCB1c2VybmFtZSBhbnl3aGVyZS4gSXMgYCVzJyByZWFsbHkgYSB1c2VyPyIKKyN+IG1zZ3N0ciAiRWkgc3V1ZGEgbGVpZGEgc2VsbGlzdCBrYXN1dGFqYXQuIEthcyBgJXMnIG9uIGlra2Ega2FzdXRhamE/IgorCisjfiBtc2dpZCAiU29ycnksIEkgY2FuIG9ubHkgY2hhbmdlIGxvY2FsIHBhc3N3b3Jkcy4gVXNlIHlwcGFzc3dkIGluc3RlYWQuIgorI34gbXNnc3RyICIiCisjfiAiU2VsbGUgcHJvZ3JhbW1pZ2Egc2FhYiBtdXV0YSBhaW51bHQgbG9rYWFsc2VpZCBwYXJvb2xlLlxuIgorI34gIkVoayBhaXRhYiBwcm9ncmFtbWkgeXBwYXNzd2Qga2FzdXRhbWluZS4iCisKKyN+IG1zZ2lkICJVSUQgYW5kIHVzZXJuYW1lIGRvZXMgbm90IG1hdGNoLCBpbXBvc3RlciEiCisjfiBtc2dzdHIgIlVJRCBqYSBrYXN1dGFqYW5pbWkgZWkgbGFuZ2Uga29ra3UgLSBwZXRpcyBuaWlzdWd1bmUhIgorCisjfiBtc2dpZCAiQ2hhbmdpbmcgcGFzc3dvcmQgZm9yICVzXG4iCisjfiBtc2dzdHIgIk11dWRhbWUga2FzdXRhamEgJXMgcGFyb29saVxuIgorCisjfiBtc2dpZCAiSWxsZWdhbCBwYXNzd29yZCwgaW1wb3N0ZXIuIgorI34gbXNnc3RyICJWYWxlIHBhcm9vbCIKKworI34gbXNnaWQgIkVudGVyIG5ldyBwYXNzd29yZDogIgorI34gbXNnc3RyICJVdXMgcGFyb29sOiAiCisKKyN+IG1zZ2lkICJSZS10eXBlIG5ldyBwYXNzd29yZDogIgorI34gbXNnc3RyICJVdXMgcGFyb29sIHV1ZXN0aTogIgorCisjfiBtc2dpZCAiWW91IG1pc3NwZWxsZWQgaXQuIFBhc3N3b3JkIG5vdCBjaGFuZ2VkLiIKKyN+IG1zZ3N0ciAiUGFyb29saWQgZWkga2xhcGkgLSB0aXBwaXNpdGUgaWxtc2VsdCB2YWxlc3RpLiBQYXJvb2wgauRpIG11dXRtYXRhLiIKKworI34gbXNnaWQgIlJPT1QgUEFTU1dPUkQgQ0hBTkdFRCIKKyN+IG1zZ3N0ciAiUk9PRFUgUEFST09MIE1VVURFVEkiCisKKyN+IG1zZ2lkICJwYXNzd29yZCBjaGFuZ2VkIGJ5IHJvb3QsIHVzZXIgJXMiCisjfiBtc2dzdHIgImthc3V0YWphICVzIG11dXRpcyByb29kdSBwYXJvb2xpIgorCisjfiBtc2dpZCAiY2FsbGluZyBzZXRwd25hbSB0byBzZXQgcGFzc3dvcmQuXG4iCisjfiBtc2dzdHIgImt1dHN1biB25GxqYSBmdW5rdHNpb29uaSBzZXRwd25hbSBwYXJvb2xpIHNlYWRtaXNla3NcbiIKZGlmZiAtLWdpdCBhL3BvL2V1LnBvIGIvcG8vZXUucG8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmU1N2FlNAotLS0gL2Rldi9udWxsCisrKyBiL3BvL2V1LnBvCkBAIC0wLDAgKzEsMjE2ODEgQEAKKyMgQmFzcXVlIHRyYW5zbGF0aW9uIG9mIHV0aWwtbGludXgtbmcuCisjIENvcHlyaWdodCAoQykgMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIHV0aWwtbGludXggcGFja2FnZS4KKyMgTWlrZWwgT2xhc2FnYXN0aSBVcmFuZ2EgPGhleV9uZWtlbkBtdW5kdXJhdC5uZXQ+LCAyMDA1LCAyMDA5LCAyMDEwLgorIyAsIGZ1enp5CisjCisjCittc2dpZCAiIgorbXNnc3RyICIiCisiUHJvamVjdC1JZC1WZXJzaW9uOiB1dGlsLWxpbnV4LW5nIDIuMTcuMS1yYzFcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogdXRpbC1saW51eEB2Z2VyLmtlcm5lbC5vcmdcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNy0wMi0yMiAxMjozMiswMTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxMC0wMi0xNiAxOTo1OCswMTAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBNaWtlbCBPbGFzYWdhc3RpIFVyYW5nYSA8aGV5X25la2VuQG11bmR1cmF0Lm5ldD5cbiIKKyJMYW5ndWFnZS1UZWFtOiBCYXNxdWUgPHRyYW5zbGF0aW9uLXRlYW0tZXVAbGlzdHMuc291cmNlZm9yZ2UubmV0PlxuIgorIkxhbmd1YWdlOiBldVxuIgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PWlzby04ODU5LTFcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8c3RhcnQ+IDxsZW5ndGg+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTgKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIGV4aXN0ZW5jZSBvZiBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTYgZGlzay11dGlscy9ibG9ja2Rldi5jOjI3NiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDIwCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDQ2IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzNCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1NworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNyBkaXNrLXV0aWxzL2ZkaXNrLmM6NzE4IGRpc2stdXRpbHMvZmRpc2suYzo5OTQKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjMwMSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNDEKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM2MCBkaXNrLXV0aWxzL2ZzY2suYzoxNDQ4CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTU1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTAKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEzNCBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg5CisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTczIGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjEKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODggZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE5CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIxNSBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NCBkaXNrLXV0aWxzL3BhcnR4LmM6OTk0CisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDEgZGlzay11dGlscy9zZmRpc2suYzo2NDcgZGlzay11dGlscy9zZmRpc2suYzo3MDMKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzU3IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODE2IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODgwCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkyMSBkaXNrLXV0aWxzL3NmZGlzay5jOjk1MSBkaXNrLXV0aWxzL3NmZGlzay5jOjk4OAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTM3IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjAgbGliZmRpc2svc3JjL2JzZC5jOjY0MQorIzogbGliL3BhdGguYzo3MCBsaWIvcGF0aC5jOjgyIGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo4NyBsb2dpbi11dGlscy9sYXN0LmM6NjcyCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDQ2IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0ODMKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzU5CisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4MSBsb2dpbi11dGlscy92aXB3LmM6MjU4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzYKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOTcgbWlzYy11dGlscy9sb2dnZXIuYzoxMTg4IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjExNQorIzogbWlzYy11dGlscy91dWlkZC5jOjIwNyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4MyBzeXMtdXRpbHMvZG1lc2cuYzo1MjIKKyM6IHN5cy11dGlscy9lamVjdC5jOjUwMCBzeXMtdXRpbHMvZWplY3QuYzo3MDAgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM3NAorIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTI4IHN5cy11dGlscy9mc3RyaW0uYzo3MiBzeXMtdXRpbHMvaHdjbG9jay5jOjI4MgorIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjYzOCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxNjIKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI1NiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDEKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQyMiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NjkKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM4OCBzeXMtdXRpbHMvbnNlbnRlci5jOjEyOCBzeXMtdXRpbHMvcnRjd2FrZS5jOjEzNgorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyNzAgc3lzLXV0aWxzL3NldHByaXYuYzoyMzAgc3lzLXV0aWxzL3NldHByaXYuYzo1MjkKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTUyIHN5cy11dGlscy9zd2Fwb24uYzozNzEgc3lzLXV0aWxzL3N3YXBvbi5jOjUxNAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTYzIHN5cy11dGlscy91bnNoYXJlLmM6MTA2IHN5cy11dGlscy91bnNoYXJlLmM6MTIxCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjEgc3lzLXV0aWxzL3dkY3RsLmM6Mzc3IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYxOAorIzogdGVybS11dGlscy9tZXNnLmM6MTI3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDI1IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDMxCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQzMyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjUyMgorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxOTcgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMDAKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjMzMSB0ZXh0LXV0aWxzL2NvbGNydC5jOjI4MiB0ZXh0LXV0aWxzL21vcmUuYzo1MTMKKyM6IHRleHQtdXRpbHMvcmV2LmM6MTQxIHRleHQtdXRpbHMvdGFpbGYuYzo2OCB0ZXh0LXV0aWxzL3RhaWxmLmM6MTAwCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJlemluIGRhICVzIGlyZWtpIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1OSBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MCBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzo5OAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBhcnRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzdGFydCBhcmd1bWVudCIKK21zZ3N0ciAiYmFsaW9nYWJla28gYXVrZXJhIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MSBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBsZW5ndGggYXJndW1lbnQiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24iCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NjMKK21zZ2lkICJzZXQgcmVhZC1vbmx5IgorbXNnc3RyICJlemFycmkgaXJha3VydHpla28gc29pbGlrIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzAKK21zZ2lkICJzZXQgcmVhZC13cml0ZSIKK21zZ3N0ciAiZXphcnJpIGlyYWt1cmtldGEtaWRhemtldGFyYWtvIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzYKK21zZ2lkICJnZXQgcmVhZC1vbmx5IgorbXNnc3RyICJsb3J0dSBpcmFrdXJrZXRhIHNvaWxpayIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjgyCittc2dpZCAiZ2V0IGRpc2NhcmQgemVyb2VzIHN1cHBvcnQgc3RhdHVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4OAorbXNnaWQgImdldCBsb2dpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgImxvcnR1IGJsb2tlIGxvZ2lrb2FyZW4gKHNla3RvcmVhKSB0YW1haW51YSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjk0Cittc2dpZCAiZ2V0IHBoeXNpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgImxvcnR1IGJsb2tlIGZpc2lrb2FyZW4gKHNla3RvcmVhKSB0YW1haW51YSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwMAorIywgZnV6enkKK21zZ2lkICJnZXQgbWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwNgorIywgZnV6enkKK21zZ2lkICJnZXQgb3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExMgorIywgZnV6enkKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAibG9ydHUgaXJha3Vya2V0YSBzb2lsaWsiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTgKK21zZ2lkICJnZXQgbWF4IHNlY3RvcnMgcGVyIHJlcXVlc3QiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEyNAorbXNnaWQgImdldCBibG9ja3NpemUiCittc2dzdHIgImxvcnR1IGJsb2tlLXRhbWFpbnVhIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTMxCittc2dpZCAic2V0IGJsb2Nrc2l6ZSBvbiBmaWxlIGRlc2NyaXB0b3Igb3BlbmluZyB0aGUgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiZ2V0IDMyLWJpdCBzZWN0b3IgY291bnQgKGRlcHJlY2F0ZWQsIHVzZSAtLWdldHN6KSIKK21zZ3N0ciAibG9ydHUgMzIgYml0LWVrbyBzZWt0b3JlIGtvcHVydWEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNDMKK21zZ2lkICJnZXQgc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAibG9ydHUgdGFtYWludWEgYnl0ZS10YW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTAKK21zZ2lkICJzZXQgcmVhZGFoZWFkIgorbXNnc3RyICJlemFycmkgcmVhZGFoZWFkIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTU2Cittc2dpZCAiZ2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAibG9ydHUgcmVhZGFoZWFkIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTYzCittc2dpZCAic2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICJlemFycmkgYHJlYWRhaGVhZCcgZml0eGF0ZWdpIHNpc3RlbWFyaSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2OQorbXNnaWQgImdldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAibG9ydHUgZml0eGF0ZWdpIHNpc3RlbWFyZW4gYHJlYWRhaGVhZCctYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3MworbXNnaWQgImZsdXNoIGJ1ZmZlcnMiCittc2dzdHIgImh1c3R1IGJ1ZmZlcnJhayIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3NworbXNnaWQgInJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJTEkcyAtVlxuIgorIiAlMSRzIC0tcmVwb3J0IFtkZXZpY2VzXVxuIgorIiAlMSRzIFstdnwtcV0gY29tbWFuZHMgZGV2aWNlc1xuIgorIlxuIgorIkF2YWlsYWJsZSBjb21tYW5kczpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJS0yNXMgZ2V0IHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9yc1xuIgorbXNnc3RyICJsb3J0dSB0YW1haW51YSA1MTIgYnl0ZS1la28gc2VrdG9yZWV0YW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMTEKKyMsIGZ1enp5Cittc2dpZCAiY291bGQgbm90IGdldCBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAiRXppbiBkYSBkaXNrb2FyZW4gdGFtYWludWEgbG9ydHUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gY29tbWFuZDogJXMiCittc2dzdHIgIiVzOiBLb21hbmRvIGV6ZXphZ3VuYTogJXNcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgImNvbDogLWwgYmFsaW9nYWJla28gYXJndW1lbnR1YSAlcy5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM2OCBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiICAgICAgICBkaXNrbyBndXp0aWFuLiAiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkLlxuIgorbXNnc3RyICIlcy0oZSlrIGh1dHMgZWdpbiBkdS5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIHN5c2ZzIGhhbmRsZXIiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHN0YXJ0IGZyb20gc3lzZnMiCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU3RhcnRTZWMgICAgICAgICAgICBTaXplICAgRGV2aWNlXG4iCittc2dzdHIgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU3RhcnRTZWMgICAgICAgICAgICBTaXplICAgRGV2aWNlXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTc5Cittc2dpZCAiQm9vdGFibGUiCittc2dzdHIgIkFiaW9nYXJyaWEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTc5Cittc2dpZCAiVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJVbmVrbyBwYXJ0aXppb2FyZW4gYWJpYXJhemdhcnJpIGFkaWVyYXpsZWEgYWxkYXR1IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MAorbXNnaWQgIkRlbGV0ZSIKK21zZ3N0ciAiRXphYmF0dSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODAKK21zZ2lkICJEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJFemFiYXR1IHVuZWtvIHBhcnRpemlvYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODEKK21zZ2lkICJOZXciCittc2dzdHIgIkJlcnJpYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODEKK21zZ2lkICJDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIlNvcnR1IHBhcnRpemlvIGJlcnJpYSBsaWJyZSBkYWdvZW4gZXNwYXppb3RpayIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODIKK21zZ2lkICJRdWl0IgorbXNnc3RyICJJcnRlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODIKKyMsIGZ1enp5Cittc2dpZCAiUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBjaGFuZ2VzIgorbXNnc3RyICJJcnRlbiBwcm9ncmFtYXRpayBwYXJ0aXppbyB0YXVsYSBpZGF0emkgZ2FiZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODMgbGliZmRpc2svc3JjL2JzZC5jOjQzOSBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMAorIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDYgbGliZmRpc2svc3JjL2dwdC5jOjI5MTYgbGliZmRpc2svc3JjL3NnaS5jOjExNjAKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE2Cittc2dpZCAiVHlwZSIKK21zZ3N0ciAiTW9ldGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgzCisjLCBmdXp6eQorbXNnaWQgIkNoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgIHQgICBhbGRhdHUgcGFyaXR6aW9hcmVuIGZpdHhhdGVnaSBzaXN0ZW1hIElEYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQKK21zZ2lkICJIZWxwIgorbXNnc3RyICJMYWd1bnR6YSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQKK21zZ2lkICJQcmludCBoZWxwIHNjcmVlbiIKK21zZ3N0ciAiSW5wcmltYXR1IGxhZ3VudHphIHBhbnRhaWxhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NQorbXNnaWQgIlNvcnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiRml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIldyaXRlIgorbXNnc3RyICJJZGF0emkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhKSIKK21zZ3N0ciAiSWRhdHppIHBhcnRpemlvIHRhdWxhIGRpc2tvcmEgKGRhdHUgZ3V6dGlhayBzdW50c2l0dSBkaXR6YXprZSkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRHVtcCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworIywgZnV6enkKK21zZ2lkICJEdW1wIHBhcnRpdGlvbiB0YWJsZSB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzo2MjAgZGlzay11dGlscy9mZGlzay5jOjQxNQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlhbG9nIHR5cGUgJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAobW91bnRlZCkiCittc2dzdHIgImZzY2s6ICVzOiBleiBkYSBhdXJraXR1XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI3NAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gbmFtZToiCittc2dzdHIgIlBhcnRpemlvIHplbmJha2lhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyODEKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIFVVSUQ6IgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGl6aW86XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI5MworIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gdHlwZToiCittc2dzdHIgIlBhcnRpemlvIHplbmJha2lhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMDAKK21zZ2lkICJBdHRyaWJ1dGVzOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMjQKKyMsIGZ1enp5Cittc2dpZCAiRmlsZXN5c3RlbSBVVUlEOiIKK21zZ3N0ciAiU2FydHUgZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGE6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzMxCisjLCBmdXp6eQorbXNnaWQgIkZpbGVzeXN0ZW0gTEFCRUw6IgorbXNnc3RyICJTYXJ0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YTogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMzcKKyMsIGZ1enp5Cittc2dpZCAiRmlsZXN5c3RlbToiCittc2dzdHIgIlNhcnR1IGZpdHhhdGVnaSBzaXN0ZW1hIG1vZXRhOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM0MgorIywgZnV6enkKK21zZ2lkICJNb3VudHBvaW50OiIKK21zZ3N0ciAiJXMgbW9udGF0dWEgZGFnby5cdCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrOiAlcyIKK21zZ3N0ciAiZGlza29hOiAlLipzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2l6ZTogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIkJ1cnVhazogJWQgICBTZWt0b3JlYWsgcGlzdGFrbzogJWQgICBaaWxpbmRyb2FrOiAlbGxkIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcywgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIkRpc2tvIGlkZW50aWZpa2F0emFpbGVhOiAweCUwOHhcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMiCittc2dzdHIgImV0aWtldGE6ICUuKnNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQ2Cittc2dpZCAiTWF5IGJlIGZvbGxvd2VkIGJ5IE0gZm9yIE1pQiwgRyBmb3IgR2lCLCBUIGZvciBUaUIsIG9yIFMgZm9yIHNlY3RvcnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1MgorIywgZnV6enkKK21zZ2lkICJQbGVhc2UsIHNwZWNpZnkgc2l6ZS4iCittc2dzdHIgIkV6IGRhIC0tZGF0ZSBhdWtlcmFyaWsgemVoYXp0dS5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNaW5pbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAibG9ydHUgdGFtYWludWEgYnl0ZS10YW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWF4aW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgImxvcnR1IHRhbWFpbnVhIGJ5dGUtdGFuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OTAKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNpemUuIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQ4CisjLCBmdXp6eQorbXNnaWQgIlNlbGVjdCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk5NCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjQKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZTogIgorbXNnc3RyICJlemluIGRhICVzIGB0eXBlc2NyaXB0JyBmaXR4YXRlZ2lhIGlyZWtpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5OTUKK21zZ2lkICJUaGUgc2NyaXB0IGZpbGUgd2lsbCBiZSBhcHBsaWVkIHRvIGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwNCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNDYKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2NSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJFemluIGRhICVzIGlyZWtpXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwNiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwOCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjUKK21zZ2lkICJUaGUgY3VycmVudCBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlIHdpbGwgYmUgZHVtcGVkIHRvIHRoZSBmaWxlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzMgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDkxCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzOQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBkaXNrIGxheW91dCBpbnRvIHNjcmlwdC4iCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNTMKK21zZ2lkICJEaXNrIGxheW91dCBzdWNjZXNzZnVsbHkgZHVtcGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNTYgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgc2NyaXB0ICVzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDkyCisjLCBmdXp6eQorbXNnaWQgIlNlbGVjdCBsYWJlbCB0eXBlIgorbXNnc3RyICJCYWxpb2dhYmVrbyBtb2V0YVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwOTUgZGlzay11dGlscy9mZGlzay5jOjEwMTcKKyMsIGZ1enp5Cittc2dpZCAiRGV2aWNlIGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIiVzIGRpc2thayBleiBkYXVrYSBwYXJ0aXppbyB0YXVsYSB6dXplbmFcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTAxCittc2dpZCAiU2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgbGFiZWwgb3IgcHJlc3MgJ0wnIHRvIGxvYWQgc2NyaXB0IGZpbGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE0NgorIywgZnV6enkKK21zZ2lkICJUaGlzIGlzIGNmZGlzaywgYSBjdXJzZXMtYmFzZWQgZGlzayBwYXJ0aXRpb25pbmcgcHJvZ3JhbS4iCittc2dzdHIgIkhhdSBjZmRpc2sgZGEsIGN1cnNlcy1lbiBvaW5hcnJpdHV0YWtvIGRpc2tvIHBhcnRpemlvbmF0emUgcHJvZ3JhbWEsIG5vbiBob25layIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ3CisjLCBmdXp6eQorbXNnaWQgIkl0IGxldHMgeW91IGNyZWF0ZSwgZGVsZXRlLCBhbmQgbW9kaWZ5IHBhcnRpdGlvbnMgb24gYSBibG9jayBkZXZpY2UuIgorbXNnc3RyICJ6dXJlIGRpc2tvZXRhbiBwYXJ0aXppb2FrIHNvcnR1LCBlemFiYXR1IGV0YSBtb2RpZmlrYXR6ZWtvIGF1a2VyYSBlbWF0ZW4gZGl6dSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ5Cittc2dpZCAiQ29tbWFuZCAgICAgIE1lYW5pbmciCittc2dzdHIgIktvbWFuZG9hayAgICAgRXNhbmFoaWEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MAorbXNnaWQgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorbXNnc3RyICItLS0tLS0tICAgICAgLS0tLS0tLSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUxCittc2dpZCAiICBiICAgICAgICAgIFRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBiICAgICAgICAgIFVuZWtvIHBhcnRpemlvYXJpIGFiaWFyYXpnYXJyaSBhZGllcmF6bGVhIGphcnJpIGVkbyBrZW5kdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUyCittc2dpZCAiICBkICAgICAgICAgIERlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgZCAgICAgICAgICBVbmVrbyBwYXJ0aXppb2EgZXphYmF0dSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUzCittc2dpZCAiICBoICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorbXNnc3RyICIgIGggICAgICAgICAgUGFudGFpbGEgaGF1IGVyYWt1dHNpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTQKK21zZ2lkICIgIG4gICAgICAgICAgQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICIgIG4gICAgICAgICAgU29ydHUgcGFydGl6aW8gYmVycmlhIGxpYnJlIGRhZ29lbiBlc3BhemlvdGlrIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTUKK21zZ2lkICIgIHEgICAgICAgICAgUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgcSAgICAgICAgICBJcnRlbiBhcGxpa2F6aW90aWsgcGFydGl6aW8gdGF1bGEgaWRhdHppIGdhYmUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NgorIywgZnV6enkKK21zZ2lkICIgIHMgICAgICAgICAgRml4IHBhcnRpdGlvbnMgb3JkZXIgKG9ubHkgd2hlbiBpbiBkaXNhcnJheSkiCittc2dzdHIgIiAgZCAgICAgICAgICBVbmVrbyBwYXJ0aXppb2EgZXphYmF0dSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU3CisjLCBmdXp6eQorbXNnaWQgIiAgdCAgICAgICAgICBDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgIHQgICAgICAgICAgQWxkYXR1IGZpdHhhdGVnaSBzaXN0ZW1hIG1vZXRhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTgKK21zZ2lkICIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTkKKyMsIGZ1enp5Cittc2dpZCAiICBXICAgICAgICAgIFdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh5b3UgbXVzdCBlbnRlciB1cHBlcmNhc2UgVyk7IgorbXNnc3RyICIgIFcgICAgICAgICAgUGFydGl6aW8gdGF1bGEgZGlza29hbiBpZGF0emkgKFcgbGV0cmEgbGFycml6KSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgICAgIHNpbmNlIHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhIG9uIHRoZSBkaXNrLCB5b3UgbXVzdCBlaXRoZXIiCittc2dzdHIgIiAgICAgICAgICAgICBIb25layBkaXNrb2FyZW4gZGF0dSBndXp0aWFrIHN1bnRzaXR1IGRpdHphemtlZW5leiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgICAgIGNvbmZpcm0gb3IgZGVueSB0aGUgd3JpdGUgYnkgZW50ZXJpbmcgJ3llcycgb3IgJ25vJyIKK21zZ3N0ciAiICAgICAgICAgICAgIGtvbmZpcm1hemlvIGJhdCBlc2thdHVrbyBkYSBoYXVldGFrbyBhdWtlcmEgYmF0IGVyYWJpbGlhejogYHllcycgZWRvIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjIKKyMsIGZ1enp5Cittc2dpZCAiICB4ICAgICAgICAgIERpc3BsYXkvaGlkZSBleHRyYSBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgTGVoZW5hICAgICBBemtlbmFcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYzCittc2dpZCAiVXAgQXJyb3cgICAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBwYXJ0aXRpb24iCittc2dzdHIgIkdvcmEgZ2V6aWEgICAgTXVnaXR1IGt1cnRzb3JlYSBhdXJyZWtvIHBhcnRpemlvcmEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2NAorbXNnaWQgIkRvd24gQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBwYXJ0aXRpb24iCittc2dzdHIgIkJlaGVyYSBnZXppYSAgTXVnaXR1IGt1cnRzb3JlYSBodXJyZW5nbyBwYXJ0aXppb3JhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjUKKyMsIGZ1enp5Cittc2dpZCAiTGVmdCBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBtZW51IGl0ZW0iCittc2dzdHIgIkdvcmEgZ2V6aWEgICAgTXVnaXR1IGt1cnRzb3JlYSBhdXJyZWtvIHBhcnRpemlvcmEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2NgorIywgZnV6enkKK21zZ2lkICJSaWdodCBBcnJvdyAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgbWVudSBpdGVtIgorbXNnc3RyICJCZWhlcmEgZ2V6aWEgIE11Z2l0dSBrdXJ0c29yZWEgaHVycmVuZ28gcGFydGl6aW9yYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY4Cittc2dpZCAiTm90ZTogQWxsIG9mIHRoZSBjb21tYW5kcyBjYW4gYmUgZW50ZXJlZCB3aXRoIGVpdGhlciB1cHBlciBvciBsb3dlciIKK21zZ3N0ciAiT2hhcnJhOiBrb21hbmRvIGd1enRpYWsgbGV0cmEgaGFuZGl6IGVkbyB0eGlraXogc2FydHUgZGFpdGV6a2UiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2OQorIywgZnV6enkKK21zZ2lkICJjYXNlIGxldHRlcnMgKGV4Y2VwdCBmb3IgV3JpdGUpLiIKK21zZ3N0ciAibGV0cmEgeGVoZWFrIChpZGF6a2V0ZXRhcmFrbyBlemlrKS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3MQorbXNnaWQgIlVzZSBsc2Jsayg4KSBvciBwYXJ0eCg4KSB0byBzZWUgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBkZXZpY2UuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3OCBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzcKKyMsIGZ1enp5Cittc2dpZCAiUHJlc3MgYSBrZXkgdG8gY29udGludWUuIgorbXNnc3RyICJTYWthdHUgZWRvemVpbiB0ZWtsYSBqYXJyYWl0emVrbyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjYwCisjLCBmdXp6eQorbXNnaWQgIkNvdWxkIG5vdCB0b2dnbGUgdGhlIGZsYWcuIgorbXNnc3RyICJFemluIGRhICclcycgZml0eGF0ZWdpYSBpcmVraSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJiZXJpcmFrdXJyaSBwYXJ0aXppbyB0YXVsYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjcyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBoYXMgYmVlbiBkZWxldGVkLiIKK21zZ3N0ciAiIgorIlxuIgorIlN3YXAgcGFydGl6aW9hayBleiBkYSBzd2FwIG1vZXRha29hLlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyOTMKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHNpemU6ICIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpemlvOlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiICAgdCAgIGFsZGF0dSBwYXJpdHppb2FyZW4gZml0eGF0ZWdpIHNpc3RlbWEgSURhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSB0eXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkLiIKK21zZ3N0ciAiUGFydGl6aW8gdGF1bGEgZGlza29hbiBpZGF6dGVuLi4uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNTMgZGlzay11dGlscy9jZmRpc2suYzoyNDY2IGRpc2stdXRpbHMvZmRpc2suYzo5OTEKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU3MAorbXNnaWQgIkRldmljZSBpcyBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNTgKKyMsIGZ1enp5Cittc2dpZCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHdyaXRlIHRoZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzaz8gIgorbXNnc3RyICIgIFcgICAgICAgICAgUGFydGl6aW8gdGF1bGEgZGlza29hbiBpZGF0emkgKFcgbGV0cmEgbGFycml6KSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzYwCittc2dpZCAiVHlwZSBcInllc1wiIG9yIFwibm9cIiwgb3IgcHJlc3MgRVNDIHRvIGxlYXZlIHRoaXMgZGlhbG9nLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjUgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDkgc3lzLXV0aWxzL2xzY3B1LmM6MTU0MAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTU1MAorbXNnaWQgInllcyIKK21zZ3N0ciAiYmFpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjYKKyMsIGZ1enp5Cittc2dpZCAiRGlkIG5vdCB3cml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4iCittc2dzdHIgIiAgVyAgICAgICAgICBQYXJ0aXppbyB0YXVsYSBkaXNrb2FuIGlkYXR6aSAoVyBsZXRyYSBsYXJyaXopIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzEKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbC4iCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzQgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTc4CisjLCBmdXp6eQorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIlBhcnRpemlvIHRhdWxhIG1vZXRhIGV6ZXphZ3VuYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzk3IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ2OAorIywgZnV6enkKK21zZ2lkICJOb3RlIHRoYXQgcGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyIG5vdy4iCittc2dzdHIgInBhcnRpemlvIGxvZ2lrb2FrIGV6IGRhdWRlIGRpc2tvIG9yZGVuZWFuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmU7IGl0IHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGRpc2tsYWJlbCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ1MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb25zIgorbXNnc3RyICJiZXJpcmFrdXJyaSBwYXJ0aXppbyB0YXVsYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJTEkcyBbb3B0aW9uc10gPGRpc2s+XG4iCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTQ5IGRpc2stdXRpbHMvZmRpc2suYzo3MzYgZGlzay11dGlscy9zZmRpc2suYzoxODEwCisjLCBmdXp6eQorbXNnaWQgIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSBhIGRpc2sgcGFydGl0aW9uIHRhYmxlLlxuIgorbXNnc3RyICJiZXJpcmFrdXJyaSBwYXJ0aXppbyB0YXVsYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTUyCisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTU1CisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgc3RhcnQgd2l0aCB6ZXJvZWQgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTk0IGRpc2stdXRpbHMvZmRpc2suYzo4ODIgZGlzay11dGlscy9zZmRpc2suYzoyMDc3CisjOiBtaXNjLXV0aWxzL2NhbC5jOjM5MCBzeXMtdXRpbHMvZG1lc2cuYzoxMzMzIHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNAorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb2xvciBtb2RlIgorbXNnc3RyICIlczogS29tYW5kbyBlemV6YWd1bmE6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYxMiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjIzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPlxuIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTgKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgdG8gZm9yZ2V0IGFib3V0IGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlIHBhcnRpdGlvbiIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICJGb3JtYXR0aW5nIC4uLiAiCittc2dzdHIgIkZvcm1hdGVhdHplbiAuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NjggZGlzay11dGlscy9mZGZvcm1hdC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJkb25lXG4iCittc2dzdHIgImVnaW5kYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmVyaWZ5aW5nIC4uLiAiCittc2dzdHIgIkVnaWF6dGF0emVuIC4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMDgKK21zZ2lkICJSZWFkOiAiCittc2dzdHIgIklyYWt1cnJpOiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJQcm9ibGVtIHJlYWRpbmcgdHJhY2svaGVhZCAldS8ldSwgZXhwZWN0ZWQgJWQsIHJlYWQgJWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJiYWQgZGF0YSBpbiB0cmFjay9oZWFkICV1LyV1XG4iCisiQ29udGludWluZyAuLi4gIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTgyCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjExNyBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1NiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg0CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ4Cittc2dpZCAiRG8gYSBsb3ctbGV2ZWwgZm9ybWF0dGluZyBvZiBhIGZsb3BweSBkaXNrLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTEKK21zZ2lkICIgLWYsIC0tZnJvbSA8Tj4gICAgc3RhcnQgYXQgdGhlIHRyYWNrIE4gKGRlZmF1bHQgMClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUyCittc2dpZCAiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgYXQgdGhlIHRyYWNrIE5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUzCittc2dpZCAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICB0cnkgdG8gcmVwYWlyIHRyYWNrcyBmYWlsZWQgZHVyaW5nXG4iCisiICAgICAgICAgICAgICAgICAgICAgdGhlIHZlcmlmaWNhdGlvbiAobWF4IE4gcmV0cmllcylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU1Cittc2dpZCAiIC1uLCAtLW5vLXZlcmlmeSAgIGRpc2FibGUgdGhlIHZlcmlmaWNhdGlvbiBhZnRlciB0aGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gZnJvbSIKK21zZ3N0ciAiYmFsaW9nYWJla28gaWQtYTogJXNcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5OAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gdG8iCittc2dzdHIgImJhbGlvZ2FiZWtvIGlkLWE6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMDEKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHJlcGFpciIKK21zZ3N0ciAiYmFsaW9nYWJla28gaWQtYTogJXNcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyMSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTUxCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg1IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMzgKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4NQorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE2IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQxIGRpc2stdXRpbHMvcGFydHguYzo5MzMKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo2ODYgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzkgbWlzYy11dGlscy9uYW1laS5jOjEzNQorIzogbWlzYy11dGlscy9yZW5hbWUuYzo2MyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4NiBzeXMtdXRpbHMvZG1lc2cuYzo1MjQKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxOTggc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTMxIHN5cy11dGlscy9mc3RyaW0uYzo3NworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjUxOSBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo5MworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTMzIHRlcm0tdXRpbHMvbWVzZy5jOjEyOSB0ZXh0LXV0aWxzL21vcmUuYzo1MDQKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxMDMgdGV4dC11dGlscy90YWlsZi5jOjI4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3RhdCBvZiAlcyBmYWlsZWQiCittc2dzdHIgInN0YXQtZWsgaHV0cyBlZ2luIGR1OiAlcyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNCBkaXNrLXV0aWxzL3BhcnR4LmM6OTkxIG1pc2MtdXRpbHMvbHNibGsuYzoxNDg1CisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4OCBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI5Cittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMtc2lkZWQsICVkIHRyYWNrcywgJWQgc2VjL3RyYWNrLiBUb3RhbCBjYXBhY2l0eSAlZCBrQi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMyCittc2dpZCAiRG91YmxlIgorbXNnc3RyICJCaWtvaXR6YSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMgorbXNnaWQgIlNpbmdsZSIKK21zZ3N0ciAiQmFrYXJyYSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzOQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQxCittc2dpZCAidXNlciBkZWZpbmVkIGVuZCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQzCittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIHVzZXIgZGVmaW5lZCBlbmQgdHJhY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI1MSBtaXNjLXV0aWxzL2xvZ2dlci5jOjk4NworIywgZnV6enkKK21zZ2lkICJjbG9zZSBmYWlsZWQiCittc2dzdHIgInNlZWstZWsgaHV0cyBlZ2luIGR1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTUgZGlzay11dGlscy9mZGlzay5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRG8geW91IHJlYWxseSB3YW50IHRvIHF1aXQ/ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdCAoZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2luZyBkZWZhdWx0IHJlc3BvbnNlICVjLiIKK21zZ3N0ciAiQmFsaW9nYWJla28gemlsaW5kcm8gYmFsb3JlYWsiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxNzYgZGlzay11dGlscy9mZGlzay5jOjI1MCBkaXNrLXV0aWxzL2ZkaXNrLmM6MzI1CisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTE4OSBsaWJmZGlzay9zcmMvZ3B0LmM6MjI3NworIywgZnV6enkKK21zZ2lkICJWYWx1ZSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJtZW1vcmlhdGlrIGthbnBvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA4IGRpc2stdXRpbHMvZmRpc2suYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjE3IGRpc2stdXRpbHMvZmRpc2suYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYyk6ICIKK21zZ3N0ciAiJXMgKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjIzIGRpc2stdXRpbHMvZmRpc2suYzoyODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzozOTIgZGlzay11dGlscy9zZmRpc2suYzoxOTcKK21zZ2lkICIgW1ldZXMvW05dbzogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0MzMKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHR5cGUgKHR5cGUgTCB0byBsaXN0IGFsbCB0eXBlcyk6ICIKK21zZ3N0ciAiS29kZSBoZXhhZGV6aW1hbGEgKHNha2F0dSBMIGtvZGVhayB6ZXJyZW5kYXR6ZWtvKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDM0CisjLCBmdXp6eQorbXNnaWQgIkhleCBjb2RlICh0eXBlIEwgdG8gbGlzdCBhbGwgY29kZXMpOiAiCittc2dzdHIgIktvZGUgaGV4YWRlemltYWxhIChzYWthdHUgTCBrb2RlYWsgemVycmVuZGF0emVrbyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjUzNgorIywgZnV6enkKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIHNldCAoREVQUkVDQVRFRCEpIgorbXNnc3RyICJET1MgYmF0ZXJhZ2Fycml0YXN1biBtYXJrYSBlemFycml0YSBkYWdvXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1MzcKKyMsIGZ1enp5Cittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBub3Qgc2V0IgorbXNnc3RyICJET1MgYmF0ZXJhZ2Fycml0YXN1biBtYXJrYSBleiBkYWdvIGV6YXJyaXRhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NTggZGlzay11dGlscy9mZGlzay5jOjU5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBleGlzdCB5ZXQhIgorbXNnc3RyICIiCisiXG4iCisiRXogZGEgc3dhcCBwYXJ0aXppb3JpayBleGlzdGl0emVuLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTYzIGRpc2stdXRpbHMvZmRpc2suYzo1NzIgbGliZmRpc2svc3JjL2Fzay5jOjk5NQorbXNnaWQgIlVua25vd24iCittc2dzdHIgIkV6ZXphZ3VuYSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAnJXMnIHRvICclcycuIgorbXNnc3RyICIgICB0ICAgYWxkYXR1IHBhcml0emlvYXJlbiBmaXR4YXRlZ2kgc2lzdGVtYSBJRGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZDogJXMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiUxNXM6ICVzIgorbXNnc3RyICJkaXNrb2E6ICUuKnNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXM6IG9mZnNldCA9ICU8UFJJdTY0Piwgc2l6ZSA9ICV6dSBieXRlcy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY3NworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2VlayIKK21zZ3N0ciAiZXppbiBkYSBmb3JrIGVnaW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2ODIKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgImhleGR1bXA6IGV6aW4gZGEgJXMgIGlyYWt1cnJpLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Njk1IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTkgbGliZmRpc2svc3JjL2Rvcy5jOjkzMworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMTAKKyMsIGZ1enp5Cittc2dpZCAiRmlyc3Qgc2VjdG9yIgorbXNnc3RyICJMZWhlbmVuZ28gJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzIgorbXNnc3RyICJLREdIV0NMSyBpb2N0bC1layBodXRzIGVnaW4gZHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz4gICAgICBjaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisiICUxJHMgW29wdGlvbnNdIC1sIFs8ZGlzaz5dIGxpc3QgcGFydGl0aW9uIHRhYmxlKHMpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjczOQorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tc2VjdG9yLXNpemUgPHNpemU+ICAgICAgcGh5c2ljYWwgYW5kIGxvZ2ljYWwgc2VjdG9yIHNpemVcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQwCittc2dpZCAiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIGRvbid0IGVyYXNlIGJvb3RiaXRzIHdoZW4gY3JlYXRpbmcgYSBuZXcgbGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQxCittc2dpZCAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2RlPl0gIG1vZGUgaXMgJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MgorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0NQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBwYXJ0aXRpb25zIGFuZCBleGl0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0NgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEVyYWt1dHNpIHBhcnRpemlvIHRhdWxhIHBhbnRhaWxhbiBlZG8gaWRhdHppIGZpdHhhdGVnaXJlbiBiYXRlYW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDcKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgICAgICAgICAgIHJlY29nbml6ZSBzcGVjaWZpZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUgb25seVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDgKK21zZ2lkICIgLXUsIC0tdW5pdHNbPTx1bml0Pl0gICAgICAgICAgZGlzcGxheSB1bml0czogJ2N5bGluZGVycycgb3IgJ3NlY3RvcnMnIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDkKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLWdldHN6ICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgZGV2aWNlIHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9ycyBbREVQUkVDQVRFRF1cbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzUwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTEKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTIgZGlzay11dGlscy9zZmRpc2suYzoxODUzCisjLCBmdXp6eQorbXNnaWQgIiAtVywgLS13aXBlLXBhcnRpdGlvbnMgPG1vZGU+ICB3aXBlIHNpZ25hdHVyZXMgZnJvbSBuZXcgcGFydGl0aW9ucyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTUKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWN5bGluZGVycyA8bnVtYmVyPiAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBjeWxpbmRlcnNcbiIKK21zZ3N0ciAiU2FydHUgemlsaW5kcm8ga29wdXJ1YToiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTYKKyMsIGZ1enp5Cittc2dpZCAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBoZWFkc1xuIgorbXNnc3RyICJTYXJ0dSBidXJ1IGtvcHVydWE6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU3CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKK21zZ3N0ciAiU2FydHUgcGlzdGFrbyB6ZW5iYXQgc2VrdG9yZSBrb3B1cnVhOiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNlY3RvciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJiYWxpb2dhYmVrbyBhdWtlcmEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NDAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjeWxpbmRlcnMgYXJndW1lbnQiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg1MgorIywgZnV6enkKK21zZ2lkICJub3QgZm91bmQgRE9TIGxhYmVsIGRyaXZlciIKK21zZ3N0ciAiIgorIlxuIgorIkJTRCBldGlrZXRhIGdhaWx1YXJlbnR6YXQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29tcGF0aWJpbGl0eSBtb2RlICclcyciCittc2dzdHIgIjxpPiAoZXogZGFnbyBpcmFkb2tpenVuaWspIDwvaT4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NjcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBoZWFkcyBhcmd1bWVudCIKK21zZ3N0ciAiYmFsaW9nYWJla28gYXVrZXJhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODczCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc2VjdG9ycyBhcmd1bWVudCIKK21zZ3N0ciAiYmFsaW9nYWJla28gYXVrZXJhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNrbGFiZWw6ICVzIgorbXNnc3RyICIlczogS29tYW5kbyBlemV6YWd1bmE6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MTYgZGlzay11dGlscy9mZGlzay5jOjkyMSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0NgorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB3aXBlIG1vZGUiCittc2dzdHIgIiVzOiBLb21hbmRvIGV6ZXphZ3VuYTogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkzNAorbXNnaWQgIlRoZSBkZXZpY2UgcHJvcGVydGllcyAoc2VjdG9yIHNpemUgYW5kIGdlb21ldHJ5KSBzaG91bGQgYmUgdXNlZCB3aXRoIG9uZSBzcGVjaWZpZWQgZGV2aWNlIG9ubHkuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VsY29tZSB0byBmZGlzayAoJXMpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4OAorbXNnaWQgIiIKKyJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisiQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMDEgZGlzay11dGlscy9zZmRpc2suYzoxNjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAlcyBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxMCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NDIgZGlzay11dGlscy9zZmRpc2suYzoxNDg0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjIKK21zZ2lkICJUaGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDEzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyNQorbXNnaWQgIkl0IGlzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSwgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMjIKK21zZ2lkICJBIGh5YnJpZCBHUFQgd2FzIGRldGVjdGVkLiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBoeWJyaWQgTUJSIG1hbnVhbGx5IChleHBlcnQgY29tbWFuZCAnTScpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzayAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIkJ1cnVhazogJWQgICBTZWt0b3JlYWsgcGlzdGFrbzogJWQgICBaaWxpbmRyb2FrOiAlbGxkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMvdHJhY2ssICVsbHUgY3lsaW5kZXJzIgorbXNnc3RyICIlZCBidXJ1LCAlbGx1IHNla3RvcmUgcGlzdGFrbywgJWQgemlsaW5kcm8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjU5IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5pdHM6ICVzIG9mICVkICogJWxkID0gJWxkIGJ5dGVzIgorbXNnc3RyICJVbml0YXRlYWs6ICVzICVkLShlKXRpayAqICVkID0gJWQgYnl0ZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2NSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25tZW50IG9mZnNldDogJWx1IGJ5dGVzIgorbXNnc3RyICJsb3J0dSBpcmFrdXJrZXRhIHNvaWxpayIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB0eXBlOiAlcyIKK21zZ3N0ciAiRGlza28gdW5pdGF0ZWE6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJEaXNrbyBpZGVudGlmaWthdHphaWxlYTogMHglMDh4XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjEwOSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTkKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNDQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTE1IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTU2IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI0OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3Qgc3RhcnQgb24gcGh5c2ljYWwgc2VjdG9yIGJvdW5kYXJ5LiIKK21zZ3N0ciAiJXMgcGFydGl6aW9hayBoYXNpZXJha28gMCBzZWt0b3JlIGJhbGlvZ2FiZWEgZGF1a2EuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE5MgorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuIgorbXNnc3RyICJwYXJ0aXppbyBsb2dpa29hayBleiBkYXVkZSBkaXNrbyBvcmRlbmVhbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE1IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAwCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxMiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NCBsaWJmZGlzay9zcmMvc3VuLmM6MTExMAorIywgZnV6enkKK21zZ2lkICJTdGFydCIKK21zZ3N0ciAiaGFzaWVyYSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE2IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAxCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxMyBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NSBsaWJmZGlzay9zcmMvc3VuLmM6MTExMQorbXNnaWQgIkVuZCIKK21zZ3N0ciAiQW1haWVyYSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE3IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAyCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NiBsaWJmZGlzay9zcmMvc3VuLmM6MTExMgorbXNnaWQgIlNlY3RvcnMiCittc2dzdHIgIlNla3RvcmVhayIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE5IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzA0CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1OCBsaWJmZGlzay9zcmMvc3VuLmM6MTExNAorbXNnaWQgIlNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbnBhcnRpdGlvbmVkIHNwYWNlICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiQnVydWFrOiAlZCAgIFNla3RvcmVhayBwaXN0YWtvOiAlZCAgIFppbGluZHJvYWs6ICVsbGQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLW8pOlxuIgorbXNnc3RyICJFcmFiaWxnYXJyaSBkYXVkZW4ga29tYW5kb2FrOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NQorbXNnaWQgIkdlbmVyaWMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTYKKyMsIGZ1enp5Cittc2dpZCAiZGVsZXRlIGEgcGFydGl0aW9uIgorbXNnc3RyICIgIGQgICAgICAgICAgVW5la28gcGFydGl6aW9hIGV6YWJhdHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk3CisjLCBmdXp6eQorbXNnaWQgImxpc3QgZnJlZSB1bnBhcnRpdGlvbmVkIHNwYWNlIgorbXNnc3RyICJQYXJ0aXppbyBnZWhpZWdpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OAorIywgZnV6enkKK21zZ2lkICJsaXN0IGtub3duIHBhcnRpdGlvbiB0eXBlcyIKK21zZ3N0ciAiICAgbCAgIHplcnJlbmRhdHUgZXphZ3V0emVuIGRpcmVuIGZpdHhhdGVnaSBzaXN0ZW1hIG1vZXRhayIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiYWRkIGEgbmV3IHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgbiAgIEJTRCBwYXJ0aXppbyBiZXJyaSBiYXQgZ2VoaXR1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiU29pbGlrIHBhcnRpemlvIHRhdWxhIGlucHJpbWF0dSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAxCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBhIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgICB0ICAgYWxkYXR1IHBhcml0emlvYXJlbiBmaXR4YXRlZ2kgc2lzdGVtYSBJRGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMgorIywgZnV6enkKK21zZ2lkICJ2ZXJpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMworIywgZnV6enkKK21zZ2lkICJwcmludCBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgcmF3IGRhdHUgZm9ybWF0dWEgZXJhYmlsaXoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNgorIywgZnV6enkKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGRpc2tsYWJlbCBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSByYXcgZGF0dSBmb3JtYXR1YSBlcmFiaWxpeiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA3CisjLCBmdXp6eQorbXNnaWQgImZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICJiZXJpcmFrdXJyaSBwYXJ0aXppbyB0YXVsYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA5Cittc2dpZCAiTWlzYyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTAKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgdGhpcyBtZW51IgorbXNnc3RyICIgICBtICAgbWVudSBoYXUgZXJha3V0c2kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgZGlzcGxheS9lbnRyeSB1bml0cyIKK21zZ3N0ciAiICB1ICAgICAgICAgIEFsZGF0dSBlcmFrdXN0ZW4gZGVuIHBhcnRpemlvYXJlbiB0YW1haW51IHVuaXRhdGVhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTIKKyMsIGZ1enp5Cittc2dpZCAiZXh0cmEgZnVuY3Rpb25hbGl0eSAoZXhwZXJ0cyBvbmx5KSIKK21zZ3N0ciAiQWxkYXR1IGRpc2tvYXJlbiBnZW9tZXRyaWEgKGVyYWJpbHR6YWlsZSBhdXJyZXJhdHVhayBzb2lsaWspIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTQKK21zZ2lkICJTY3JpcHQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE1Cittc2dpZCAibG9hZCBkaXNrIGxheW91dCBmcm9tIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTYKK21zZ2lkICJkdW1wIGRpc2sgbGF5b3V0IHRvIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTgKK21zZ2lkICJTYXZlICYgRXhpdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTkKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMAorIywgZnV6enkKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIgorbXNnc3RyICIgICB3ICAgaWRhdHppIGRpc2tvYXJlbiBldGlrZXRhIGRpc2tvYW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMQorIywgZnV6enkKK21zZ2lkICJxdWl0IHdpdGhvdXQgc2F2aW5nIGNoYW5nZXMiCittc2dzdHIgIiAgIHEgICBpcnRlbiBhbGRha2V0YWsgZ29yZGUgZ2FiZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIyCisjLCBmdXp6eQorbXNnaWQgInJldHVybiB0byBtYWluIG1lbnUiCittc2dzdHIgIiAgIHIgICBtZW51IG5hZ3VzaXJhIGl0enVsaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTI0Cittc2dpZCAicmV0dXJuIGZyb20gQlNEIHRvIERPUyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzUKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlIGEgbmV3IGxhYmVsIgorbXNnc3RyICJTb3J0dSBwYXJ0aXppbyBsb2dpa28gYmVycmkgYmF0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzYKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IEdQVCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIlNvcnR1IHBhcnRpemlvIHByaW1hcmlvIGJlcnJpIGJhdCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTR0kgKElSSVgpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiU29ydHUgcGFydGl6aW8gcHJpbWFyaW8gYmVycmkgYmF0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIlNvcnR1IHBhcnRpemlvIHByaW1hcmlvIGJlcnJpIGJhdCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM5CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTdW4gcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJTb3J0dSBwYXJ0aXppbyBwcmltYXJpbyBiZXJyaSBiYXQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0MworIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYW4gSVJJWCAoU0dJKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTIKK21zZ2lkICJHZW9tZXRyeSIKK21zZ3N0ciAiR2VvbWV0cmlhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTMKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgIlNhcnR1IHppbGluZHJvIGtvcHVydWE6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTQKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAiU2FydHUgYnVydSBrb3B1cnVhOiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU1CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2Ygc2VjdG9ycy90cmFjayIKK21zZ3N0ciAiU2FydHUgcGlzdGFrbyB6ZW5iYXQgc2VrdG9yZSBrb3B1cnVhOiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk1Cittc2dpZCAiR1BUIgorbXNnc3RyICJHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgZGlzayBHVUlEIgorbXNnc3RyICJhbGRhdHV0YSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY2CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiUGFydGl6aW8gemVuYmFraWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXppbzpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY4CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSB0YWJsZSBsZW5ndGgiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjkKK21zZ2lkICJlbnRlciBwcm90ZWN0aXZlL2h5YnJpZCBNQlIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTcyCisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgbGVnYWN5IEJJT1MgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiICBiICAgICAgICAgIFVuZWtvIHBhcnRpemlvYXJpIGFiaWFyYXpnYXJyaSBhZGllcmF6bGVhIGphcnJpIGVkbyBrZW5kdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTczCisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgbm8gYmxvY2sgSU8gcHJvdG9jb2wgZmxhZyIKK21zZ3N0ciAiICBiICAgICAgICAgIFVuZWtvIHBhcnRpemlvYXJpIGFiaWFyYXpnYXJyaSBhZGllcmF6bGVhIGphcnJpIGVkbyBrZW5kdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc0CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgcmVxdWlyZWQgcGFydGl0aW9uIGZsYWciCittc2dzdHIgIiAgYiAgICAgICAgICBVbmVrbyBwYXJ0aXppb2FyaSBhYmlhcmF6Z2FycmkgYWRpZXJhemxlYSBqYXJyaSBlZG8ga2VuZHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NQorbXNnaWQgInRvZ2dsZSB0aGUgR1VJRCBzcGVjaWZpYyBiaXRzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NQorbXNnaWQgIlN1biIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSByZWFkLW9ubHkgZmxhZyIKK21zZ3N0ciAiICBiICAgICAgICAgIFVuZWtvIHBhcnRpemlvYXJpIGFiaWFyYXpnYXJyaSBhZGllcmF6bGVhIGphcnJpIGVkbyBrZW5kdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg3CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgbW91bnRhYmxlIGZsYWciCittc2dzdHIgIiAgYiAgICAgICAgICBVbmVrbyBwYXJ0aXppb2FyaSBhYmlhcmF6Z2FycmkgYWRpZXJhemxlYSBqYXJyaSBlZG8ga2VuZHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIiAgIHUgICBhbGRhdHUgdW5pdGF0ZWFrICh6aWxpbmRyb2FrL3Nla3RvcmVhaykiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJTYXJ0dSBwaXN0YWtvIHplbmJhdCBzZWt0b3JlIGtvcHVydWE6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTEKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICIgIHQgICAgICAgICAgQWxkYXR1IGZpdHhhdGVnaSBzaXN0ZW1hIG1vZXRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTIKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICJCaXJhIG1pbnV0dWtvIChycG0pIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIiAgIHUgICBhbGRhdHUgdW5pdGF0ZWFrICh6aWxpbmRyb2FrL3Nla3RvcmVhaykiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwMgorIywgZnV6enkKK21zZ2lkICJTR0kiCittc2dzdHIgIlNHSSByYXciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwMworIywgZnV6enkKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICIgIGIgICAgICAgICAgVW5la28gcGFydGl6aW9hcmkgYWJpYXJhemdhcnJpIGFkaWVyYXpsZWEgamFycmkgZWRvIGtlbmR1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDQKKyMsIGZ1enp5Cittc2dpZCAiZWRpdCBib290ZmlsZSBlbnRyeSIKK21zZ3N0ciAiICAgZSAgIGRpc2tvYXJlbiBkYXRhIGVkaXRhdHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNQorIywgZnV6enkKK21zZ2lkICJzZWxlY3Qgc2dpIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICIiCisiXG4iCisiRXogZGEgc3dhcCBwYXJ0aXppb3JpayBleGlzdGl0emVuLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDYKK21zZ2lkICJjcmVhdGUgU0dJIGluZm8iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE1CisjLCBmdXp6eQorbXNnaWQgIkRPUyAoTUJSKSIKK21zZ3N0ciAiRE9TIFIvTyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE2CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSBhIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiAgYiAgICAgICAgICBVbmVrbyBwYXJ0aXppb2FyaSBhYmlhcmF6Z2FycmkgYWRpZXJhemxlYSBqYXJyaSBlZG8ga2VuZHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNworIywgZnV6enkKK21zZ2lkICJlZGl0IG5lc3RlZCBCU0QgZGlza2xhYmVsIgorbXNnc3RyICJCU0QgZGlza28gZXRpa2V0YSBrb21hbmRvYSAobSBsYWd1bnR6YSBlcmFrdXN0ZWtvKToiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxOAorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIGRvcyBjb21wYXRpYmlsaXR5IGZsYWciCittc2dzdHIgIiAgYiAgICAgICAgICBVbmVrbyBwYXJ0aXppb2FyaSBhYmlhcmF6Z2FycmkgYWRpZXJhemxlYSBqYXJyaSBlZG8ga2VuZHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMAorIywgZnV6enkKK21zZ2lkICJtb3ZlIGJlZ2lubmluZyBvZiBkYXRhIGluIGEgcGFydGl0aW9uIgorbXNnc3RyICIgICBlICAgZGlza29hcmVuIGRhdGEgZWRpdGF0dSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIxCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSB0aGUgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJBbGRhdHUgZGlza29hcmVuIGdlb21ldHJpYSAoZXJhYmlsdHphaWxlIGF1cnJlcmF0dWFrIHNvaWxpaykiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMworbXNnaWQgInJldHVybiBmcm9tIHByb3RlY3RpdmUvaHlicmlkIE1CUiB0byBHUFQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjMzCisjLCBmdXp6eQorbXNnaWQgIkJTRCIKK21zZ3N0ciAiQlNEL09TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzQKKyMsIGZ1enp5Cittc2dpZCAiZWRpdCBkcml2ZSBkYXRhIgorbXNnc3RyICIgICBlICAgZGlza29hcmVuIGRhdGEgZWRpdGF0dSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM1CisjLCBmdXp6eQorbXNnaWQgImluc3RhbGwgYm9vdHN0cmFwIgorbXNnc3RyICIgICBpICAgaW5zdGFsYXR1IGhhc2llcmFrbyBzZWt1ZW50emlhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzYKKyMsIGZ1enp5Cittc2dpZCAic2hvdyBjb21wbGV0ZSBkaXNrbGFiZWwiCittc2dzdHIgIiAgIHMgICBlcmFrdXRzaSBkaXNrb2FyZW4gZXRpa2V0YSBndXp0aWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNworIywgZnV6enkKK21zZ2lkICJsaW5rIEJTRCBwYXJ0aXRpb24gdG8gbm9uLUJTRCBwYXJ0aXRpb24iCittc2dzdHIgIiAgIHggICBlc3Rla2F0dSBCU0QgcGFydGl6aW9hIEJTRCBleiBkZW4gcGFydGl6aW8gYmF0aSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwIChleHBlcnQgY29tbWFuZHMpOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM3MSBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwOlxuIgorbXNnc3RyICJMYWd1bnR6YSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzkxCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSdyZSBlZGl0aW5nIG5lc3RlZCAnJXMnIHBhcnRpdGlvbiB0YWJsZSwgcHJpbWFyeSBwYXJ0aXRpb24gdGFibGUgaXMgJyVzJy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDIxCisjLCBmdXp6eQorbXNnaWQgIkV4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJCU0QgZGlza28gZXRpa2V0YSBrb21hbmRvYSAobSBsYWd1bnR6YSBlcmFrdXN0ZWtvKToiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMworbXNnaWQgIkNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIktvbWFuZG9hIChtIGxhZ3VudHphIGVyYWt1c3Rla28pIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVjOiB1bmtub3duIGNvbW1hbmQiCittc2dzdHIgIiVzOiBLb21hbmRvIGV6ZXphZ3VuYTogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDU4IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4NQorIywgZnV6enkKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lIgorbXNnc3RyICJlemluIGRhICVzIGB0eXBlc2NyaXB0JyBmaXR4YXRlZ2lhIGlyZWtpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NzEKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IGFwcGxpZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ5NworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNmb3JtIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0IgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTExCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBzYXZlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTM0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMlenUgY29udGFpbnMgYSAlcyBzaWduYXR1cmUuIgorbXNnc3RyICJQYXJ0aXppb2EgMCBzZWt0b3JlYSBiYWluYSBsZWhlbmFnbyBoYXN0ZW4gZGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzNyBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzkKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gcmVtb3ZlIHRoZSBzaWduYXR1cmU/IgorbXNnc3RyICIgIFcgICAgICAgICAgUGFydGl6aW8gdGF1bGEgZGlza29hbiBpZGF0emkgKFcgbGV0cmEgbGFycml6KSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTc1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MTMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGZpeCBwYXJ0aXRpb25zIG9yZGVyLiIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYxNQorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb25zIG9yZGVyIGZpeGVkLiIKK21zZ3N0ciAiRXogZGEgcGFydGl6aW9yaWsgZGVmaW5pdHVcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjAKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBjeWxpbmRlcnMgKERFUFJFQ0FURUQhKS4iCittc2dzdHIgIiAgdSAgICAgICAgICBBbGRhdHUgZXJha3VzdGVuIGRlbiBwYXJ0aXppb2FyZW4gdGFtYWludSB1bml0YXRlYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjYyCisjLCBmdXp6eQorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gc2VjdG9ycy4iCittc2dzdHIgIiAgdSAgICAgICAgICBBbGRhdHUgZXJha3VzdGVuIGRlbiBwYXJ0aXppb2FyZW4gdGFtYWludSB1bml0YXRlYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjcyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjg0MgorIywgZnV6enkKK21zZ2lkICJMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuIgorbXNnc3RyICJCU0QgZGlza28gZXRpa2V0YSBrb21hbmRvYSAobSBsYWd1bnR6YSBlcmFrdXN0ZWtvKToiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjcwOQorbXNnaWQgIk5ldyBtYXhpbXVtIGVudHJpZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzE5CisjLCBmdXp6eQorbXNnaWQgIkVudGVyaW5nIHByb3RlY3RpdmUvaHlicmlkIE1CUiBkaXNrbGFiZWwuIgorbXNnc3RyICJCU0QgZGlza28gZXRpa2V0YSBrb21hbmRvYSAobSBsYWd1bnR6YSBlcmFrdXN0ZWtvKToiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjczNQorbXNnaWQgIk5ldyBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzUwCisjLCBmdXp6eQorbXNnaWQgIk5ldyBuYW1lIgorbXNnc3RyICJCYWxpb2dhYmVrbyB0ZWtsYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6ODEzCisjLCBmdXp6eQorbXNnaWQgIkVudGVyaW5nIG5lc3RlZCBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAiQlNEIGRpc2tvIGV0aWtldGEga29tYW5kb2EgKG0gbGFndW50emEgZXJha3VzdGVrbyk6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OTgKK21zZ2lkICJOdW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICJaaWxpbmRybyBrb3B1cnVhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAyCittc2dpZCAiTnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICJCdXJ1IGtvcHVydWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMDYKK21zZ2lkICJOdW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAiU2VrdG9yZSBrb3B1cnVhIHBpc3Rha28iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZFxuIgorbXNnc3RyICIlcyBtb250YXR1YSBkYWdvLlx0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudGVkXG4iCittc2dzdHIgImZzY2s6ICVzOiBleiBkYSBhdXJraXR1XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc0CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTgxIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzUKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNTMgZGlzay11dGlscy9zZmRpc2suYzoyOTcgbGliZmRpc2svc3JjL2JzZC5jOjY0NgorIzogbGliL3BhdGguYzoxMTAgbGliL3BhdGguYzoxMzEgbGliL3BhdGguYzoxNTIgbGliL3BhdGguYzoyMDAKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMTMgbG9naW4tdXRpbHMvbGFzdC5jOjI1MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NjY0CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzOSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MTcgdGVybS11dGlscy9zZXR0ZXJtLmM6Nzc0CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzggdGVybS11dGlscy9zZXR0ZXJtLmM6Nzg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCAlcyIKK21zZ3N0ciAiaGV4ZHVtcDogZXppbiBkYSAlcyAgaXJha3VycmkuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMyBsaWIvcGF0aC5jOjEzMyBsaWIvcGF0aC5jOjE1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicGFyc2UgZXJyb3I6ICVzIgorbXNnc3RyICJjcmMgZXJyb3JlYSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTG9ja2luZyBkaXNrIGJ5ICVzIC4uLiAiCittc2dzdHIgIkRpc2thayBzaW5rcm9uaXphdHplbi5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgIih3YWl0aW5nKSAiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZXNlIGFyZSBmb2xsb3d1cHMgdG8gIkxvY2tpbmcgZGlzay4uLiIuCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTQKK21zZ2lkICJzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Mzk0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCIKK21zZ3N0ciAiJXMtKGUpayBodXRzIGVnaW4gZHUuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5sb2NraW5nICVzLlxuIgorbXNnc3RyICIlcyBlcmFiaWx0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGRlc2NyaXB0aW9uIGZvciAlcyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ3NCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3ODIgbWlzYy11dGlscy9sc2Jsay5jOjQzMworIzogc3lzLXV0aWxzL21vdW50LmM6MTAyIHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6MTkgc3lzLXV0aWxzL3Vtb3VudC5jOjQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCAtLSBpZ25vcmVkIgorbXNnc3RyICJjcmMgZXJyb3JlYSIKKworIzogZGlzay11dGlscy9mc2NrLmM6NTA2IGRpc2stdXRpbHMvZnNjay5jOjUwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSBmc3RhYiIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY3OSBsb2dpbi11dGlscy9sb2dpbi5jOjk2OCBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAzNAorIzogbG9naW4tdXRpbHMvdmlwdy5jOjIwNCBzeXMtdXRpbHMvZmxvY2suYzozNDUgc3lzLXV0aWxzL25zZW50ZXIuYzoxNTMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTYgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTkgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MjAKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzgwCittc2dpZCAiZm9yayBmYWlsZWQiCittc2dzdHIgImZvcmstZWsgaHV0cyBlZ2luIGR1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRlIGZhaWxlZCIKK21zZ3N0ciAiICVzOiB3cml0ZS1rIGh1dHMgZWdpbiBkdSIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzc0Cittc2dpZCAid2FpdDogbm8gbW9yZSBjaGlsZCBwcm9jZXNzPyE/IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc3NyBzeXMtdXRpbHMvZmxvY2suYzozNjMgc3lzLXV0aWxzL3N3YXBvbi5jOjM0OAorIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MDQgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MjUKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCIKK21zZ3N0ciAid2FpdHBpZC1layBodXRzIGVnaW4gZHUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc5NQorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nLi4uICVzIGZvciBkZXZpY2UgJXMgZXhpdGVkIHdpdGggc2lnbmFsICVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXM6IHN0YXR1cyBpcyAleCwgc2hvdWxkIG5ldmVyIGhhcHBlbi4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmlzaGVkIHdpdGggJXMgKGV4aXQgc3RhdHVzICVkKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjkyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgJWQgKCVtKSB3aGlsZSBleGVjdXRpbmcgZnNjay4lcyBmb3IgJXMiCittc2dzdHIgImNyYyBlcnJvcmVhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5OTEKK21zZ2lkICIiCisiRWl0aGVyIGFsbCBvciBub25lIG9mIHRoZSBmaWxlc3lzdGVtIHR5cGVzIHBhc3NlZCB0byAtdCBtdXN0IGJlIHByZWZpeGVkXG4iCisid2l0aCAnbm8nIG9yICchJy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgYmFkIGxpbmUgaW4gL2V0Yy9mc3RhYjogYmluZCBtb3VudCB3aXRoIG5vbnplcm8gZnNjayBwYXNzIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgbm9uZXhpc3RlbnQgZGV2aWNlXG4iCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9uZXhpc3RlbnQgZGV2aWNlIChcIm5vZmFpbFwiIGZzdGFiIG9wdGlvbiBtYXkgYmUgdXNlZCB0byBza2lwIHRoaXMgZGV2aWNlKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZVxuIgorbXNnc3RyICJQYXJ0aXppbyB0YXVsYSBtb2V0YSBlemV6YWd1bmEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoZWNrICVzOiBmc2NrLiVzIG5vdCBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjU5Cittc2dpZCAiQ2hlY2tpbmcgYWxsIGZpbGUgc3lzdGVtcy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICItLXdhaXRpbmctLSAocGFzcyAlZClcbiIKK21zZ3N0ciAiT3JkdWxhcmlhcmVuIHRpY2stYXJpIGl0eGFyb3RlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC0tIFtmcy1vcHRpb25zXSBbPGZpbGVzeXN0ZW0+IC4uLl1cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzc5CisjLCBmdXp6eQorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJTYXJ0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YTogIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzgyCisjLCBmdXp6eQorbXNnaWQgIiAtQSAgICAgICAgIGNoZWNrIGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIHQgICAgICAgICAgQWxkYXR1IGZpdHhhdGVnaSBzaXN0ZW1hIG1vZXRhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzgzCittc2dpZCAiIC1DIFs8ZmQ+XSAgZGlzcGxheSBwcm9ncmVzcyBiYXI7IGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODQKK21zZ2lkICIgLWwgICAgICAgICBsb2NrIHRoZSBkZXZpY2UgdG8gZ3VhcmFudGVlIGV4Y2x1c2l2ZSBhY2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg1CisjLCBmdXp6eQorbXNnaWQgIiAtTSAgICAgICAgIGRvIG5vdCBjaGVjayBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBBbGRhdHUgZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODYKK21zZ2lkICIgLU4gICAgICAgICBkbyBub3QgZXhlY3V0ZSwganVzdCBzaG93IHdoYXQgd291bGQgYmUgZG9uZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODcKK21zZ2lkICIgLVAgICAgICAgICBjaGVjayBmaWxlc3lzdGVtcyBpbiBwYXJhbGxlbCwgaW5jbHVkaW5nIHJvb3RcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg4Cittc2dpZCAiIC1SICAgICAgICAgc2tpcCByb290IGZpbGVzeXN0ZW07IHVzZWZ1bCBvbmx5IHdpdGggJy1BJ1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODkKK21zZ2lkICIiCisiIC1yIFs8ZmQ+XSAgcmVwb3J0IHN0YXRpc3RpY3MgZm9yIGVhY2ggZGV2aWNlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MQorIywgZnV6enkKK21zZ2lkICIgLXMgICAgICAgICBzZXJpYWxpemUgdGhlIGNoZWNraW5nIG9wZXJhdGlvbnNcbiIKK21zZ3N0ciAiICBkICAgICAgICAgIFVuZWtvIHBhcnRpemlvYSBlemFiYXR1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkyCisjLCBmdXp6eQorbXNnaWQgIiAtVCAgICAgICAgIGRvIG5vdCBzaG93IHRoZSB0aXRsZSBvbiBzdGFydHVwXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBFcmFrdXRzaSBwYXJ0aXppbyB0YXVsYSBwYW50YWlsYW4gZWRvIGlkYXR6aSBmaXR4YXRlZ2lyZW4gYmF0ZWFuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkzCittc2dpZCAiIgorIiAtdCA8dHlwZT4gIHNwZWNpZnkgZmlsZXN5c3RlbSB0eXBlcyB0byBiZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIDx0eXBlPiBpcyBhbGxvd2VkIHRvIGJlIGEgY29tbWEtc2VwYXJhdGVkIGxpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk1Cittc2dpZCAiIC1WICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk2Cittc2dpZCAiIC0/ICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk5Cittc2dpZCAiU2VlIHRoZSBzcGVjaWZpYyBmc2NrLiogY29tbWFuZHMgZm9yIGF2YWlsYWJsZSBmcy1vcHRpb25zLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDM4CisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IGRldmljZXMiCittc2dzdHIgIiVzOiBnYWlsdSBnZWhpZWdpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NTAKKyMsIGZ1enp5Cittc2dpZCAiSXMgL3Byb2MgbW91bnRlZD8iCittc2dzdHIgIi9wcm9jIG1vbnRhdHVhIGRhZ28/XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSByb290IHRvIHNjYW4gZm9yIG1hdGNoaW5nIGZpbGVzeXN0ZW1zOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDYyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGZpbmQgbWF0Y2hpbmcgZmlsZXN5c3RlbTogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ3MCBkaXNrLXV0aWxzL2ZzY2suYzoxNTY1IG1pc2MtdXRpbHMva2lsbC5jOjM2MworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mjc5CisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50dSBnZWhpZWdpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1MjUgZGlzay11dGlscy9mc2NrLmM6MTUyOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yIgorbXNnc3RyICJiYWxpb2dhYmVrbyBpZC1hOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yOiAlZCIKK21zZ3N0ciAiYmFsaW9nYWJla28gaWQtYTogJXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTYxOAorbXNnaWQgInRoZSAtbCBvcHRpb24gY2FuIGJlIHVzZWQgd2l0aCBvbmUgZGV2aWNlIG9ubHkgLS0gaWdub3JlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+XG4iCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExNgorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBjb21wcmVzc2VkIFJPTSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTkKK21zZ2lkICIgLWEgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIwCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgYmUgbW9yZSB2ZXJib3NlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMQorbXNnaWQgIiAteSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjIKK21zZ2lkICIgLWIsIC0tYmxvY2tzaXplIDxzaXplPiAgIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgZGVmYXVsdHMgdG8gcGFnZSBzaXplXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMworbXNnaWQgIiAgICAgLS1leHRyYWN0Wz08ZGlyPl0gICAgdGVzdCB1bmNvbXByZXNzaW9uLCBvcHRpb25hbGx5IGV4dHJhY3QgaW50byA8ZGlyPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZmFpbGVkOiB1bmFibGUgdG8gZGV0ZXJtaW5lIGRldmljZSBzaXplOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGJsb2NrIGRldmljZSBvciBmaWxlOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTcwIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDYKK21zZ2lkICJmaWxlIGxlbmd0aCB0b28gc2hvcnQiCittc2dzdHIgImZpdHhhdGVnaSBsdXplZXJhIG1vdHhlZ2lhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzMKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNDkgbGliZmRpc2svc3JjL2JzZC5jOjcxOCBsaWJmZGlzay9zcmMvYnNkLmM6ODkwCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjA4IGxvZ2luLXV0aWxzL2xhc3QuYzoyNDIgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VlayBvbiAlcyBmYWlsZWQiCittc2dzdHIgInNlZWstZWsgaHV0cyBlZ2luIGR1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODcKK21zZ2lkICJzdXBlcmJsb2NrIG1hZ2ljIG5vdCBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImNyYW1mcyBlbmRpYW5uZXNzIGlzICVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MQorbXNnaWQgImJpZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkxCittc2dpZCAibGl0dGxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTUKK21zZ2lkICJ1bnN1cHBvcnRlZCBmaWxlc3lzdGVtIGZlYXR1cmVzIgorbXNnc3RyICJmaXR4YXRlZ2kgc2lzdGVtYXJlbiBldXNrYXJyaXJpayBnYWJla28gZXphdWdhcnJpYWsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VwZXJibG9jayBzaXplICglZCkgdG9vIHNtYWxsIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDQKKyMsIGZ1enp5Cittc2dpZCAiemVybyBmaWxlIGNvdW50IgorbXNnc3RyICJFemluIGRhICclcycgZml0eGF0ZWdpYSBpcmVraSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwOAorbXNnaWQgImZpbGUgZXh0ZW5kcyBwYXN0IGVuZCBvZiBmaWxlc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMTAKK21zZ2lkICJvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjE5Cittc2dpZCAidW5hYmxlIHRvIHRlc3QgQ1JDOiBvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjcyCittc2dpZCAiY3JjIGVycm9yIgorbXNnc3RyICJjcmMgZXJyb3JlYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NTQKK21zZ2lkICJzZWVrIGZhaWxlZCIKK21zZ3N0ciAic2Vlay1layBodXRzIGVnaW4gZHUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDYKKyMsIGZ1enp5Cittc2dpZCAicmVhZCByb21mcyBmYWlsZWQiCittc2dzdHIgInJlYWQtZWsgaHV0cyBlZ2luIGR1OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMzOAorbXNnaWQgInJvb3QgaW5vZGUgaXMgbm90IGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByb290IG9mZnNldCAoJWx1KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzYwCittc2dpZCAiZGF0YSBibG9jayB0b28gbGFyZ2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGVjb21wcmVzc2lvbiBlcnJvcjogJXMiCittc2dzdHIgImNyYyBlcnJvcmVhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgaG9sZSBhdCAlbHUgKCV6dSlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Mzk3IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICB1bmNvbXByZXNzaW5nIGJsb2NrIGF0ICVsdSB0byAlbHUgKCVsdSlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub24tYmxvY2sgKCVsZCkgYnl0ZXMiCittc2dzdHIgIlN1cGVyIGJsb2tlYTogJXpkIGJ5dGVcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwOAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tc2l6ZSAoJWxkIHZzICVsZCkgYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxMyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE2CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwNCBtaXNjLXV0aWxzL3V1aWRkLmM6Mzc1IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODIKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM1IHN5cy11dGlscy9zZXRwcml2LmM6NTU4IHN5cy11dGlscy9zd2Fwb24uYzozODkKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZDogJXMiCittc2dzdHIgIndyaXRlLWsgaHV0cyBlZ2luIGR1OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyNAorIywgYy1mb3JtYXQKK21zZ2lkICJsY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAibGNob3duLShlKWsgaHV0cyBlZ2luIGR1OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyOAorIywgYy1mb3JtYXQKK21zZ2lkICJjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJjaG93bi0oZSlrIGh1dHMgZWdpbiBkdTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidXRpbWUgZmFpbGVkOiAlcyIKK21zZ3N0ciAidXRpbWUtKGUpayBodXRzIGVnaW4gZHU6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtkaXIgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWtkaXItKGUpayBodXRzIGVnaW4gZHU6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc2Cittc2dpZCAiZmlsZW5hbWUgbGVuZ3RoIGlzIHplcm8iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3OAorbXNnaWQgImJhZCBmaWxlbmFtZSBsZW5ndGgiCittc2dzdHIgImZpdHhhdGVnaSBsdXplZXJhIG9rZXJyYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4NAorIywgZnV6enkKK21zZ2lkICJiYWQgaW5vZGUgb2Zmc2V0IgorbXNnc3RyICJmaXR4YXRlZ2kgbHV6ZWVyYSBva2VycmEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0OTkKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTAyCittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBzaXplIGFuZCBub24temVybyBvZmZzZXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMQorbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gb2Zmc2V0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzMKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2l6ZSBlcnJvciBpbiBzeW1saW5rOiAlcyIKK21zZ3N0ciAibG9ydHUgdGFtYWludWEgYnl0ZS10YW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3ltbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICJzeW1saW5rLWVrIGh1dHMgZWdpbiBkdTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBmaWxlIGhhcyBub24temVybyBvZmZzZXQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlmbyBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU4NQorIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJvZ3VzIG1vZGU6ICVzICglbykiCittc2dzdHIgImAlcycgZml0eGF0ZWdpYWsgJTA1byBtb2R1YSBkYXVrYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1rbm9kIGZhaWxlZDogJXMiCittc2dzdHIgIm1rbm9kLShlKWsgaHV0cyBlZ2luIGR1OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYyOQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBzdGFydCAoJWx1KSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIHN0YXJ0ICglenUpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGRhdGEgZW5kICglbHUpICE9IGZpbGUgZGF0YSBzdGFydCAoJWx1KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjM3Cittc2dpZCAiaW52YWxpZCBmaWxlIGRhdGEgb2Zmc2V0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2ODQgZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjcyNgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGJsb2Nrc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBPS1xuIgorbXNnc3RyICIlczogT0tcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg0Cittc2dpZCAiQ2hlY2sgdGhlIGNvbnNpc3RlbmN5IG9mIGEgTWluaXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODYKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgbGlzdCBhbGwgZmlsZW5hbWVzXG4iCittc2dzdHIgIihIdXJyZW5nbyBmaXR4YXRlZ2lhOiAlcykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NworbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgIGF1dG9tYXRpYyByZXBhaXJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODgKK21zZ2lkICIgLXIsIC0tcmVwYWlyICAgICBpbnRlcmFjdGl2ZSByZXBhaXJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgYmUgdmVyYm9zZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3VwZXIgICAgICBvdXRwdXQgc3VwZXItYmxvY2sgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTEKK21zZ2lkICIgLW0sIC0tdW5jbGVhcmVkICBhY3RpdmF0ZSBtb2RlIG5vdCBjbGVhcmVkIHdhcm5pbmdzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgIGZvcmNlIGNoZWNrXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBBbGRhdHUgZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGEiCisKKyMuIFRSQU5TTEFUT1JTOiB0aGVzZSB5ZXMgbm8gcXVlc3Rpb25zIHVzZXMgcnBtYXRjaCgpLCBhbmQgc2hvdWxkIGJlCisjLiAqIHRyYW5zbGF0ZWQuCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKHkvbik/ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG4veSk/ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAieVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQuXHQgIgorbXNnc3RyICIlcyBtb250YXR1YSBkYWdvLlx0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODkKK21zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gY29udGludWUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNrIGFib3J0ZWQuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzE5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yIDwgRklSU1RaT05FIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzIyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yID49IFpPTkVTIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzI2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0NworIywgZnV6enkKK21zZ2lkICJSZW1vdmUgYmxvY2siCittc2dzdHIgImV6aW4gZGEgJXMgaWQtYSBlemFiYXR1ICglcylcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IHVuYWJsZSB0byBzZWVrIHRvIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJbnRlcm5hbCBlcnJvcjogdHJ5aW5nIHRvIHdyaXRlIGJhZCBibG9ja1xuIgorIldyaXRlIHJlcXVlc3QgaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4NworbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJXcml0ZSBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUwNQorbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX3N1cGVyX2Jsb2NrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUwNworbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjAKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyMworbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjYKKyMsIGZ1enp5Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiICAgdyAgIGlkYXR6aSBkaXNrb2FyZW4gZXRpa2V0YSBkaXNrb2FuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NTgKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2MQorbXNnaWQgInVuYWJsZSB0byByZWFkIHN1cGVyIGJsb2NrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4MworbXNnaWQgImJhZCBtYWdpYyBudW1iZXIgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg1Cittc2dpZCAiT25seSAxayBibG9ja3Mvem9uZXMgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4NworbXNnaWQgImJhZCBzX25pbm9kZXMgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg5Cittc2dpZCAiYmFkIHNfaW1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkxCittc2dpZCAiYmFkIHNfZmlyc3RkYXRhem9uZSBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTQKK21zZ2lkICJiYWQgc196bWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTAKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBtYXAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjEzCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBtYXAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE2Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxOQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIGNvdW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyMgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgY291bnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI2Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGUgbWFwIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzMAorbXNnaWQgIlVuYWJsZSB0byByZWFkIHpvbmUgbWFwIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzNAorIywgZnV6enkKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZXMiCittc2dzdHIgImV6aW4gZGlyYSBib290Yml0IHNla3RvcmVhayBlemFiYXR1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorbXNnc3RyICJPaGFycmE6IGlub2RvIGtvcHVydWEgaGFuZGllZ2lhLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGlub2Rlc1xuIgorbXNnc3RyICIlbGQgaW5vZG9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBibG9ja3NcbiIKK21zZ3N0ciAiJWxkIGJsb2tlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ZGF0YXpvbmU9JWpkICglamQpXG4iCittc2dzdHIgIkxlaGVuIGRhdGEgem9uYT0lbGQgKCVsZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSVkXG4iCittc2dzdHIgIlpvbmFyZW4gdGFtYWludWE9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNYXhzaXplPSV6dVxuIgorbXNnc3RyICJHZWhpZW5lemtvIHRhbWFpbnVhPSVsZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBzdGF0ZT0lZFxuIgorbXNnc3RyICJGaXR4YXRlZ2kgc2lzdGVtYXJlbiBlZ29lcmE9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisibmFtZWxlbj0lemRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIml6ZW4gbHV6ZWVyYT0lZFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NjQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVkIG1hcmtlZCB1bnVzZWQsIGJ1dCB1c2VkIGZvciBmaWxlICclcydcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NjcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzE3Cittc2dpZCAiTWFyayBpbiB1c2UiCittc2dzdHIgIk1hcmthdHUgZXJhYmlsaWEgZGFnb2VsYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Njg5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjczNworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlsZSBgJXMnIGhhcyBtb2RlICUwNW9cbiIKK21zZ3N0ciAiYCVzJyBmaXR4YXRlZ2lhayAlMDVvIG1vZHVhIGRhdWthXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY5NiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogaW5vZGUgY291bnQgdG9vIGJpZy5cbiIKK21zZ3N0ciAiT2hhcnJhOiBpbm9kbyBrb3B1cnVhIGhhbmRpZWdpYS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzU1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2MworbXNnaWQgInJvb3QgaW5vZGUgaXNuJ3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImVycm8gaW5vZG9hIGV6IGRhIGRpcmVrdG9yaW9hIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NzUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrIGhhcyBiZWVuIHVzZWQgYmVmb3JlLiBOb3cgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODA4CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTIKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwOAorbXNnaWQgIkNsZWFyIgorbXNnc3RyICJHYXJiaWEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgJWQgaW4gZmlsZSBgJXMnIGlzIG1hcmtlZCBub3QgaW4gdXNlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODIwCittc2dpZCAiQ29ycmVjdCIKK21zZ3N0ciAiWnV6ZW5hIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzMworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGlyZWN0b3J5ICclcycgY29udGFpbnMgYSBiYWQgaW5vZGUgbnVtYmVyIGZvciBmaWxlICclLipzJy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTYxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwMzUKK21zZ2lkICIgUmVtb3ZlIgorbXNnc3RyICIgRXphYmF0dSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTc3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIKK21zZ3N0ciAiZXJybyBpbm9kb2EgZXogZGEgZGlyZWt0b3Jpb2EiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk4NiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4uJyBpc24ndCBzZWNvbmRcbiIKK21zZ3N0ciAiZXJybyBpbm9kb2EgZXogZGEgZGlyZWt0b3Jpb2EiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwOTQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTExNworbXNnaWQgImludGVybmFsIGVycm9yIgorbXNnc3RyICJiYXJuZSBlcnJvcmVhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDk3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IHNpemUgPCAzMiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogaW52YWxpZCBpX3pvbmUsIHVzZSAtLXJlcGFpciB0byBmaXhcbiIKK21zZ3N0ciAiZXJybyBpbm9kb2EgZXogZGEgZGlyZWt0b3Jpb2EiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMzIKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBiYWRfem9uZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG1vZGUgbm90IGNsZWFyZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbm90IHVzZWQsIG1hcmtlZCB1c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxMworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgdXNlZCwgbWFya2VkIHVudXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTQKK21zZ2lkICJTZXQiCittc2dzdHIgIkV6YXJyaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE4CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSAobW9kZSA9ICUwN28pLCBpX25saW5rcz0lZCwgY291bnRlZD0lZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjIxCittc2dpZCAiU2V0IGlfbmxpbmtzIHRvIGNvdW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIzMworIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbWFya2VkIGluIHVzZSwgbm8gZmlsZSB1c2VzIGl0LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTc5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzUKK21zZ2lkICJVbm1hcmsiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogaW4gdXNlLCBjb3VudGVkPSVkXG4iCittc2dzdHIgIlBhcnRpemlvIGhhdSBkYWdvZW5la28gZXJhYmlsaXRhIGRhZ28iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiUGFydGl6aW8gaGF1IGRhZ29lbmVrbyBlcmFiaWxpdGEgZGFnbyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5MQorIywgZnV6enkKK21zZ2lkICJiYWQgaW5vZGUgc2l6ZSIKK21zZ3N0ciAiVGFtYWludWEgKE1CdGFuKTogIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjkzCittc2dpZCAiYmFkIHYyIGlub2RlIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTMzNworbXNnaWQgIm5lZWQgdGVybWluYWwgZm9yIGludGVyYWN0aXZlIHJlcGFpcnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICJlemluIGRhICVzIGlyZWtpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBjbGVhbiwgbm8gY2hlY2suXG4iCittc2dzdHIgIkV6IGRhZ28gKkJTRCBwYXJ0aXppb3JpayAlcy0oZSluLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiAlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzU3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gb24gJXMgaXMgZGlydHksIG5lZWRzIGNoZWNraW5nLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmxkIGlub2RlcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiJTZsZCB6b25hIGVyYWJpbGl0YSAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTZsZCB6b25lcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiJTZsZCB6b25hIGVyYWJpbGl0YSAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2ZCByZWd1bGFyIGZpbGVzXG4iCisiJTZkIGRpcmVjdG9yaWVzXG4iCisiJTZkIGNoYXJhY3RlciBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgYmxvY2sgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGxpbmtzXG4iCisiJTZkIHN5bWJvbGljIGxpbmtzXG4iCisiLS0tLS0tXG4iCisiJTZkIGZpbGVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQxMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIkZJTEUgU1lTVEVNIEhBUyBCRUVOIENIQU5HRURcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiRklUWEFURUdJIFNJU1RFTUEgQUxEQVRVIERBXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDIzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgzMworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MzkgZGlzay11dGlscy9wYXJ0eC5jOjEwMzUgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTEyCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5OCBzeXMtdXRpbHMvZG1lc2cuYzo2NTkgc3lzLXV0aWxzL3dkY3RsLmM6MzQ2CisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0MTEgdGVybS11dGlscy9zY3JpcHQuYzoyNzIgdGVybS11dGlscy9zY3JpcHQuYzozNDkKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjQ4CisjLCBmdXp6eQorbXNnaWQgIndyaXRlIGZhaWxlZCIKK21zZ3N0ciAid3JpdGUtayBodXRzIGVnaW4gZHU6ICVzIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1pZ2h0IG5vdCBiZSBhbiBJU08gZmlsZXN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlZWsgZXJyb3Igb24gJXMiCittc2dzdHIgIkV6aW4gZGEgYmlsYXR1IGRpc2tvIHVuaXRhdGVhbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZWFkIGVycm9yIG9uICVzIgorbXNnc3RyICIgICAgICAgIGRpc2tvIGd1enRpYW4uICIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZWN0b3IgY291bnQ6ICVkLCBzZWN0b3Igc2l6ZTogJWRcbiIKK21zZ3N0ciAibG9ydHUgYmxva2UgbG9naWtvYXJlbiAoc2VrdG9yZWEpIHRhbWFpbnVhIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGlzbzk2NjBfaW1hZ2VfZmlsZT5cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzQKK21zZ2lkICJTaG93IHRoZSBsZW5ndGggb2YgYW4gSVNPLTk2NjAgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzcKK21zZ2lkICIgLWQsIC0tZGl2aXNvcj08bnVtYmVyPiAgZGl2aWRlIHRoZSBhbW91bnQgb2YgYnl0ZXMgYnkgPG51bWJlcj5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzgKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHNob3cgc2VjdG9yIGNvdW50IGFuZCBzaXplXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MjEwCittc2dpZCAiaW52YWxpZCBkaXZpc29yIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3NworbXNnaWQgIk1ha2UgYW4gU0NPIGJmcyBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLU4sIC0taW5vZGVzPU5VTSAgICBzcGVjaWZ5IGRlc2lyZWQgbnVtYmVyIG9mIGlub2Rlc1xuIgorIiAtViwgLS12bmFtZT1OQU1FICAgIHNwZWNpZnkgdm9sdW1lIG5hbWVcbiIKKyIgLUYsIC0tZm5hbWU9TkFNRSAgICBzcGVjaWZ5IGZpbGUgc3lzdGVtIG5hbWVcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorIiAtYyAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKKyIgLWwgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAtViBhcyB2ZXJzaW9uIG11c3QgYmUgb25seSBvcHRpb25cbiIKKyIgLWgsIC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNDQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICJiYWxpb2dhYmVrbyBsZXJybyBrb3B1cnVhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTUwCisjLCBmdXp6eQorbXNnaWQgInZvbHVtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICItLWRhdGUgYXJndW1lbnR1YSBsdXplZWdpYSBkYVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImZzbmFtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICItLWRhdGUgYXJndW1lbnR1YSBsdXplZWdpYSBkYVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTkzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYmxvY2stY291bnQiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICJFemluIGRhIGRpc2tvYXJlbiB0YW1haW51YSBsb3J0dSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJibG9ja3MgYXJndW1lbnQgdG9vIGxhcmdlLCBtYXggaXMgJWxsdSIKK21zZ3N0ciAiYmxva2UgYXJndW1lbnR1IGx1emVlZ2lhLCBnZWhpZW5lemtvYSAlbGx1IGRhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjE5Cittc2dpZCAidG9vIG1hbnkgaW5vZGVzIC0gbWF4IGlzIDUxMiIKK21zZ3N0ciAiaW5vZG8gZ2VoaWVnaSAtIGdlaGllbmV6a29hIDUxMiBkYSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlLCBuZWVkIGF0IGxlYXN0ICVsbHUgYmxvY2tzIgorbXNnc3RyICJleiBkYWdvIG5haGlrb2EgbGVrdSwgJWxsdSBibG9rZSBiZWhhciBkaXJhIGd1dHhpZW5leiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2U6ICVzXG4iCittc2dzdHIgIkdhaWx1YTogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJWb2x1bWU6IDwlLTZzPlxuIgorbXNnc3RyICJCb2x1bWVuYTogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlNuYW1lOiA8JS02cz5cbiIKK21zZ3N0ciAiRlNpemVuYTogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tTaXplOiAlZFxuIgorbXNnc3RyICJCbG9rZSB0YW1haW5hOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gMSBibG9jaylcbiIKK21zZ3N0ciAiTWFya2F0dSBlcmFiaWxpYSBkYWdvZWxhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gJWxsdSBibG9ja3MpXG4iCittc2dzdHIgIklub2RvYWs6ICVkICglbGxkIGJsb2tlZXRhbilcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tzOiAlbGx1XG4iCittc2dzdHIgIkJsb2tlYWs6ICVsbGRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgZW5kOiAlZCwgRGF0YSBlbmQ6ICVkXG4iCittc2dzdHIgIiAgIGUgICBkaXNrb2FyZW4gZGF0YSBlZGl0YXR1IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU3Cittc2dpZCAiZXJyb3Igd3JpdGluZyBzdXBlcmJsb2NrIgorbXNnc3RyICJlcnJvcmVhIHN1cGVyYmxva2VhIGlkYXp0ZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNzgKK21zZ2lkICJlcnJvciB3cml0aW5nIHJvb3QgaW5vZGUiCittc2dzdHIgImVycm9yZWEgZXJybyBpbm9kb2EgaWRhenRlbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4MworIywgZnV6enkKK21zZ2lkICJlcnJvciB3cml0aW5nIGlub2RlIgorbXNnc3RyICJEaXNrbyBldGlrZXRhIGlkYXp0ZW4gJXMtKGUpcmkuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODYKKyMsIGZ1enp5Cittc2dpZCAic2VlayBlcnJvciIKK21zZ3N0ciAiY3JjIGVycm9yZWEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTIKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3Igd3JpdGluZyAuIGVudHJ5IgorbXNnc3RyICJEaXNrbyBldGlrZXRhIGlkYXp0ZW4gJXMtKGUpcmkuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTYKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3Igd3JpdGluZyAuLiBlbnRyeSIKK21zZ3N0ciAiRGlza28gZXRpa2V0YSBpZGF6dGVuICVzLShlKXJpLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNsb3NpbmcgJXMiCittc2dzdHIgImVycm9yZWEgJXMgaXR4aXR6ZXJha29hbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy10IDx0eXBlPl0gW2ZzLW9wdGlvbnNdIDxkZXZpY2U+IFs8c2l6ZT5dXG4iCittc2dzdHIgIkVyYWJpbGVyYTogbWtmcyBbLVZdIFstdCBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YV0gW2ZpdHhhdGVnaSBzaXN0ZW1hcmVuIGF1a2VyYWtdIGdhaWx1YSBbdGFtYWludWFdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ4CisjLCBmdXp6eQorbXNnaWQgIk1ha2UgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJTYXJ0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YTogIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICIgLXQsIC0tdHlwZT08dHlwZT4gIGZpbGVzeXN0ZW0gdHlwZTsgd2hlbiB1bnNwZWNpZmllZCwgZXh0MiBpcyB1c2VkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICBmcy1vcHRpb25zICAgICBwYXJhbWV0ZXJzIGZvciB0aGUgcmVhbCBmaWxlc3lzdGVtIGJ1aWxkZXJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxkZXZpY2U+ICAgICAgIHBhdGggdG8gdGhlIGRldmljZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8c2l6ZT4gICAgICAgICBudW1iZXIgb2YgYmxvY2tzIHRvIGJlIHVzZWQgb24gdGhlIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5aW5nIC1WIG1vcmUgdGhhbiBvbmNlIHdpbGwgY2F1c2UgYSBkcnktcnVuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJzaW9uICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0O1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAtViBhcyAtLXZlcnNpb24gbXVzdCBiZSB0aGUgb25seSBvcHRpb25cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICIgLWgsIC0taGVscCAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzoxMzkgbGliL2V4ZWNfc2hlbGwuYzo0OSBsb2dpbi11dGlscy9uZXdncnAuYzoyMzMKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY1NyBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5OTIKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwNCBzY2hlZHV0aWxzL2NocnQuYzo1NTgKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjYwIHNjaGVkdXRpbHMvdGFza3NldC5jOjIzOSBzeXMtdXRpbHMvZmxvY2suYzoxMjIKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDMwIHN5cy11dGlscy9wcmxpbWl0LmM6NjQ0IHN5cy11dGlscy9ydGN3YWtlLmM6NTc3CisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjMyNCBzeXMtdXRpbHMvc2V0YXJjaC5jOjQwMyBzeXMtdXRpbHMvc2V0c2lkLmM6MTE1CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzQwIHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI0MiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ2MQorIzogdGVybS11dGlscy9zY3JpcHQuYzo1ODEgdGV4dC11dGlscy9wZy5jOjEzNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGV4ZWN1dGUgJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSAlcyBleGVrdXRhdHplbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidXNhZ2U6ICVzIFstaF0gWy12XSBbLWIgYmxrc2l6ZV0gWy1lIGVkaXRpb25dIFstTiBlbmRpYW5dIFstaSBmaWxlXSBbLW4gbmFtZV0gZGlybmFtZSBvdXRmaWxlXG4iCisiIC1oICAgICAgICAgcHJpbnQgdGhpcyBoZWxwXG4iCisiIC12ICAgICAgICAgYmUgdmVyYm9zZVxuIgorIiAtRSAgICAgICAgIG1ha2UgYWxsIHdhcm5pbmdzIGVycm9ycyAobm9uLXplcm8gZXhpdCBzdGF0dXMpXG4iCisiIC1iIGJsa3NpemUgdXNlIHRoaXMgYmxvY2tzaXplLCBtdXN0IGVxdWFsIHBhZ2Ugc2l6ZVxuIgorIiAtZSBlZGl0aW9uIHNldCBlZGl0aW9uIG51bWJlciAocGFydCBvZiBmc2lkKVxuIgorIiAtTiBlbmRpYW4gIHNldCBjcmFtZnMgZW5kaWFubmVzcyAoYmlnfGxpdHRsZXxob3N0KSwgZGVmYXVsdCBob3N0XG4iCisiIC1pIGZpbGUgICAgaW5zZXJ0IGEgZmlsZSBpbWFnZSBpbnRvIHRoZSBmaWxlc3lzdGVtIChyZXF1aXJlcyA+PSAyLjQuMClcbiIKKyIgLW4gbmFtZSAgICBzZXQgbmFtZSBvZiBjcmFtZnMgZmlsZXN5c3RlbVxuIgorIiAtcCAgICAgICAgIHBhZCBieSAlZCBieXRlcyBmb3IgYm9vdCBjb2RlXG4iCisiIC1zICAgICAgICAgc29ydCBkaXJlY3RvcnkgZW50cmllcyAob2xkIG9wdGlvbiwgaWdub3JlZClcbiIKKyIgLXogICAgICAgICBtYWtlIGV4cGxpY2l0IGhvbGVzIChyZXF1aXJlcyA+PSAyLjMuMzkpXG4iCisiIGRpcm5hbWUgICAgcm9vdCBvZiB0aGUgZmlsZXN5c3RlbSB0byBiZSBjb21wcmVzc2VkXG4iCisiIG91dGZpbGUgICAgb3V0cHV0IGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZWFkbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICJyZWFkLWVrIGh1dHMgZWdpbiBkdTogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAiZXJybyBpbm9kb2EgZXogZGEgZGlyZWt0b3Jpb2EiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo0NDMKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSB0b28gYmlnLiAgRXhpdGluZy4iCittc2dzdHIgImZpdHhhdGVnaSBzaXN0ZW1hIGhhbmRpZWdpYS4gSXJ0ZXRlbi5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYwMgorIywgYy1mb3JtYXQKK21zZ2lkICJBSUVFRTogYmxvY2sgXCJjb21wcmVzc2VkXCIgdG8gPiAyKmJsb2NrbGVuZ3RoICglbGQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZCBieXRlcylcdCVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjbG9zZSBmaWxlICVzIgorbXNnc3RyICJFemluIGRhICclcycgZml0eGF0ZWdpYSBpcmVraSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjczMgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICJiYWxpb2dhYmVrbyBhdWtlcmEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBndWVzdGltYXRlIG9mIHJlcXVpcmVkIHNpemUgKHVwcGVyIGJvdW5kKSBpcyAlbGxkTUIsIGJ1dCBtYXhpbXVtIGltYWdlIHNpemUgaXMgJXVNQi4gIFdlIG1pZ2h0IGRpZSBwcmVtYXR1cmVseS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgzMAorbXNnaWQgIlJPTSBpbWFnZSBtYXAiCittc2dzdHIgIlJPTSBpcnVkaSBtYXBhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkluY2x1ZGluZzogJXNcbiIKK21zZ3N0ciAiQmFybmUgaGFydHplbjogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg0OAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgZGF0YTogJXpkIGJ5dGVzXG4iCittc2dzdHIgIkRpcmVrdG9yaW9hcmVuIGRhdGE6ICV6ZCBieXRlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXZlcnl0aGluZzogJXpkIGtpbG9ieXRlc1xuIgorbXNnc3RyICJHdXp0aWFrOiAlemQga2lsb2J5dGVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2MQorIywgYy1mb3JtYXQKK21zZ2lkICJTdXBlciBibG9jazogJXpkIGJ5dGVzXG4iCittc2dzdHIgIlN1cGVyIGJsb2tlYTogJXpkIGJ5dGVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICJDUkM6ICV4XG4iCittc2dzdHIgIkNSQzogJXhcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3MworIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlIGFsbG9jYXRlZCBmb3IgUk9NIGltYWdlICglbGxkIGFsbG9jYXRlZCwgJXp1IHVzZWQpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJPTSBpbWFnZSB3cml0ZSBmYWlsZWQgKCV6ZCAlemQpIgorbXNnc3RyICJST00gaXJ1ZGlhIGlkYXp0ZWFrIGh1dHMgZWdpbiBkdSAoJXpkICV6ZClcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg4MgorbXNnaWQgIlJPTSBpbWFnZSIKK21zZ3N0ciAiUk9NIGlydWRpYSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZW5hbWVzIHRydW5jYXRlZCB0byAldSBieXRlcy4iCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODkzCittc2dpZCAid2FybmluZzogZmlsZXMgd2VyZSBza2lwcGVkIGR1ZSB0byBlcnJvcnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZSBzaXplcyB0cnVuY2F0ZWQgdG8gJWx1TUIgKG1pbnVzIDEgYnl0ZSkuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdWlkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGdpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogZGV2aWNlIG51bWJlcnMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICBUaGlzIGFsbW9zdCBjZXJ0YWlubHkgbWVhbnNcbiIKKyJ0aGF0IHNvbWUgZGV2aWNlIGZpbGVzIHdpbGwgYmUgd3JvbmcuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiIC0xICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDFcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiIC0yLCAtdiAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDJcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzkKKyMsIGZ1enp5Cittc2dpZCAiIC0zICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5hbWVsZW5ndGggPG51bT4gIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lc1xuIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQxCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pbm9kZXMgPG51bT4gICAgICBudW1iZXIgb2YgaW5vZGVzIGZvciB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICJTYXJ0dSB6aWxpbmRybyBrb3B1cnVhOiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQyCisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jaGVjayAgICAgICAgICAgICBjaGVjayB0aGUgZGV2aWNlIGZvciBiYWQgYmxvY2tzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQzCittc2dpZCAiIC1sLCAtLWJhZGJsb2NrcyA8ZmlsZT4gIGxpc3Qgb2YgYmFkIGJsb2NrcyBmcm9tIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgdG8gYm9vdCBibG9jayBmYWlsZWQgIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gY2xlYXIgYm9vdCBzZWN0b3IiCittc2dzdHIgImV6aW4gZGlyYSBib290Yml0IHNla3RvcmVhayBlemFiYXR1IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgIiAgIHcgICBpZGF0emkgZGlza29hcmVuIGV0aWtldGEgZGlza29hbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAiICAgdyAgIGlkYXR6aSBkaXNrb2FyZW4gZXRpa2V0YSBkaXNrb2FuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgem9uZSBtYXAiCittc2dzdHIgIiAgIHcgICBpZGF0emkgZGlza29hcmVuIGV0aWtldGEgZGlza29hbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiICAgdyAgIGlkYXR6aSBkaXNrb2FyZW4gZXRpa2V0YSBkaXNrb2FuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiICVzOiB3cml0ZS1rIGh1dHMgZWdpbiBkdSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjIxIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjI5NgorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MzQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIG1hbnkgYmFkIGJsb2NrcyIKK21zZ3N0ciAiYmxva2Ugb2tlciBnZWhlaWdpIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBlbm91Z2ggZ29vZCBibG9ja3MiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJGaXJzdCBkYXRhIGJsb2NrIGF0ICVqZCwgd2hpY2ggaXMgdG9vIGZhciAobWF4ICVkKS5cbiIKKyJUcnkgc3BlY2lmeWluZyBmZXdlciBpbm9kZXMgYnkgcGFzc2luZyAtLWlub2RlcyA8bnVtPiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIiVsZCBpbm9kb1xuIgorbXNnc3RyWzFdICIlbGQgaW5vZG9cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlbGQgYmxva2VcbiIKK21zZ3N0clsxXSAiJWxkIGJsb2tlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JXp1XG4iCittc2dzdHIgIlpvbmFyZW4gdGFtYWludWE9JWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiTWF4c2l6ZT0lenVcbiIKKyJcbiIKK21zZ3N0ciAiR2VoaWVuZXprbyB0YW1haW51YT0lbGRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBkdXJpbmcgdGVzdGluZyBvZiBibG9ja3MiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIldlaXJkIHZhbHVlcyBpbiBkb19jaGVjazogcHJvYmFibHkgYnVnc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAiJXM6IGxzZWVrLWVrIGh1dHMgZWdpbiBkdSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgYmxvY2tzIGJlZm9yZSBkYXRhLWFyZWE6IGNhbm5vdCBtYWtlIGZzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzOSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIGJhZCBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlZCBiYWQgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVsZCBibG9rZVxuIgorbXNnc3RyWzFdICIlbGQgYmxva2VcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgb3BlbiBmaWxlIG9mIGJhZCBibG9ja3MiCittc2dzdHIgIiVzOiBlemluIGRhICVzIGJsb2tlbyBmaXR4YXRlZ2lhIGlyZWtpOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkYmxvY2sgbnVtYmVyIGlucHV0IGVycm9yIG9uIGxpbmUgJWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBiYWRibG9ja3MgZmlsZSIKK21zZ3N0ciAiZXppbiBkYSBiYWRibG9ja3MgZml0eGF0ZWdpYSBpcmFrdXJyaSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk0CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIHNpemUgc21hbGxlciB0aGFuIHBoeXNpY2FsIHNlY3RvciBzaXplIG9mICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBzaXplIG9mICVzIgorbXNnc3RyICJFemluIGRhIGRpc2tvYXJlbiB0YW1haW51YSBsb3J0dSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZXF1ZXN0ZWQgYmxvY2tzICglbGx1KSBleGNlZWRzIGF2YWlsYWJsZSAoJWxsdSkgYmxvY2tzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MjMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBuYW1lIGxlbmd0aDogJWQiCittc2dzdHIgIiVzOiBLb21hbmRvIGV6ZXphZ3VuYTogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBtaW5peCBmaWxlIHN5c3RlbSB2ZXJzaW9uOiAlZCIKK21zZ3N0ciAiZml0eGF0ZWdpIHNpc3RlbWFyZW4gZXVza2FycmlyaWsgZ2FiZWtvIGV6YXVnYXJyaWFrIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NjcKK21zZ2lkICItdiBpcyBhbWJpZ3VvdXMsIHVzZSAnLTInIGluc3RlYWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Nzc4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBpbm9kZXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MDYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBibG9ja3MiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBhIGZpbGVzeXN0ZW0gaGVyZSEiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICV1IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICVkLCBpbnN0ZWFkIG9mIHRoZSBzeXN0ZW0gdmFsdWUgJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAiTGFiZWwgd2FzIHRydW5jYXRlZC4iCittc2dzdHIgIiIKKyJcbiIKKyJCU0QgZXRpa2V0YSBnYWlsdWFyZW50emF0OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBsYWJlbCwgIgorbXNnc3RyICJldGlrZXRhIGdhYmVhLCAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHV1aWRcbiIKK21zZ3N0ciAidXVpZC1yaWsgZXpcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdIGRldmljZSBbc2l6ZV1cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1MgorbXNnaWQgIlNldCB1cCBhIExpbnV4IHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICBjaGVjayBiYWQgYmxvY2tzIGJlZm9yZSBjcmVhdGluZyB0aGUgc3dhcCBhcmVhXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgYWxsb3cgc3dhcCBzaXplIGFyZWEgYmUgbGFyZ2VyIHRoYW4gZGV2aWNlXG4iCisiIC1wLCAtLXBhZ2VzaXplIFNJWkUgICAgICAgc3BlY2lmeSBwYWdlIHNpemUgaW4gYnl0ZXNcbiIKKyIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICBzcGVjaWZ5IGxhYmVsXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAgc3BlY2lmeSBzd2FwLXNwYWNlIHZlcnNpb24gbnVtYmVyXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgc3BlY2lmeSB0aGUgdXVpZCB0byB1c2VcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGJhZCBwYWdlczogJWx1IgorbXNnc3RyICJvcnJpIHR4YXIgZ2VoaWVnaSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxOTUKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVsdSBiYWQgcGFnZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgYmFkIHBhZ2VzXG4iCittc2dzdHJbMF0gIiVsdSBvcnJpIG9rZXJcbiIKK21zZ3N0clsxXSAiJWx1IG9ycmkgb2tlclxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIyOAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBuZXcgbGliYmxraWQgcHJvYmUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMzAKK21zZ2lkICJ1bmFibGUgdG8gYXNzaWduIGRldmljZSB0byBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjaGVja2luZyBiYWQgYmxvY2tzIGZyb20gc3dhcCBmaWxlIGlzIG5vdCBzdXBwb3J0ZWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjYxIGRpc2stdXRpbHMvbWtzd2FwLmM6Mjg3IGRpc2stdXRpbHMvbWtzd2FwLmM6MzM0Cittc2dpZCAidW5hYmxlIHRvIHJld2luZCBzd2FwLWRldmljZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI5MAorbXNnaWQgInVuYWJsZSB0byBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICJlemluIGRpcmEgYm9vdGJpdCBzZWt0b3JlYWsgZXphYmF0dSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IHdpcGluZyBvbGQgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IGRvbid0IGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgImV6aW4gZGlyYSBib290Yml0IHNla3RvcmVhayBlemFiYXR1IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICglcyBwYXJ0aXRpb24gdGFibGUgZGV0ZWN0ZWQpLiAiCittc2dzdHIgIiAgICAgICAgKCVzIHBhcnRpemlvIHRhYmxhIGF0emVtYW4gZGEpLiAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKGNvbXBpbGVkIHdpdGhvdXQgbGliYmxraWQpLiAiCittc2dzdHIgIiAgICAgICAgKGxpYmJsa2lkIGdhYmUga29ucGlsYXR1YSkuICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNlIC1mIHRvIGZvcmNlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHNpZ25hdHVyZSBwYWdlIgorbXNnc3RyICIlczogZ2V0IHNpemUgZWdpdGVyYWtvYW4gaHV0cyBlZ2luIGRhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4MAorIywgZnV6enkKK21zZ2lkICJwYXJzaW5nIHBhZ2Ugc2l6ZSBmYWlsZWQiCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg2CisjLCBmdXp6eQorbXNnaWQgInBhcnNpbmcgdmVyc2lvbiBudW1iZXIgZmFpbGVkIgorbXNnc3RyICIlczogZ2V0IHNpemUgZWdpdGVyYWtvYW4gaHV0cyBlZ2luIGRhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3dhcHNwYWNlIHZlcnNpb24gJWQgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiJWQgYWJpYWR1cmFrIGV6IGR1IGV1c2thcnJpcmlrIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBpZ25vcmluZyAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkIGJ5ICVzKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQxNAorbXNnaWQgIm9ubHkgb25lIGRldmljZSBhcmd1bWVudCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDIxCisjLCBmdXp6eQorbXNnaWQgImVycm9yOiBwYXJzaW5nIFVVSUQgZmFpbGVkIgorbXNnc3RyICJlcnJvcmVhOiBVVUlEYSBpcmFrdXJ0emVhbiBodXRzIGVnaW4gZGEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDMwCittc2dpZCAiZXJyb3I6IE5vd2hlcmUgdG8gc2V0IHVwIHN3YXAgb24/IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDM2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYmxvY2sgY291bnQgYXJndW1lbnQiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHNpemUgJWxsdSBLaUIgaXMgbGFyZ2VyIHRoYW4gZGV2aWNlIHNpemUgJTxQUkl1NjQ+IEtpQiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1MQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc3dhcCBhcmVhIG5lZWRzIHRvIGJlIGF0IGxlYXN0ICVsZCBLaUIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdHJ1bmNhdGluZyBzd2FwIGFyZWEgdG8gJWxsdSBLaUIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2Ugc3dhcHNwYWNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDY4IHN5cy11dGlscy9zd2Fwb24uYzo1MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIHBlcm1pc3Npb25zICUwNG8sICUwNG8gc3VnZ2VzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ3MiBzeXMtdXRpbHMvc3dhcG9uLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBmaWxlIG93bmVyICVkLCAwIChyb290KSBzdWdnZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDg3Cittc2dpZCAiVW5hYmxlIHRvIHNldCB1cCBzd2FwLXNwYWNlOiB1bnJlYWRhYmxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIHVwIHN3YXBzcGFjZSB2ZXJzaW9uICVkLCBzaXplID0gJXMgKCU8UFJJdTY0PiBieXRlcylcbiIKK21zZ3N0ciAiJWQgYWJpYWR1cmFrIGV6IGR1IGV1c2thcnJpcmlrIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBvYnRhaW4gc2VsaW51eCBmaWxlIGxhYmVsIgorbXNnc3RyICJlemluIGRpcmEgYm9vdGJpdCBzZWt0b3JlYWsgZXphYmF0dSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTUKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIG1hdGNocGF0aGNvbigpIgorbXNnc3RyICJlemluIGRpcmEgYm9vdGJpdCBzZWt0b3JlYWsgZXphYmF0dSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTgKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIG5ldyBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjAKK21zZ2lkICJjb3VsZG4ndCBjb21wdXRlIHNlbGludXggY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlbGFiZWwgJXMgdG8gJXMiCittc2dzdHIgImV6aW4gZGlyYSBib290Yml0IHNla3RvcmVhayBlemFiYXR1IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODYKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiUGFydGl6aW8gemVuYmFraWEiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NworIywgZnV6enkKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgIlNvaWxpayBwYXJ0aXppbyB0YXVsYSBpbnByaW1hdHUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OAorIywgZnV6enkKK21zZ2lkICJlbmQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICJQYXJ0aXppbyB0YXVsYSBkaXNrb2FuIGlkYXp0ZW4uLi4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OQorIywgZnV6enkKK21zZ2lkICJudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAiU2VrdG9yZSBrb3B1cnVhIHBpc3Rha28iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MAorbXNnaWQgImh1bWFuIHJlYWRhYmxlIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkxCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJQYXJ0aXppbyB6ZW5iYWtpYSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkyIG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY4CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGl6aW86XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MworIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUgdHlwZSAoZG9zLCBncHQsIC4uLikiCittc2dzdHIgIlBhcnRpemlvIHRhdWxhIGRpc2tvYW4gaWRhenRlbi4uLiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk0IG1pc2MtdXRpbHMvbHNibGsuYzoxNjkKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIGZsYWdzIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGl6aW86XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIChhIHN0cmluZywgYSBVVUlELCBvciBoZXgpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDggc3lzLXV0aWxzL2xvc2V0dXAuYzo2MTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGN4dCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZCB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgImV6aW4gZGlyYSBib290Yml0IHNla3RvcmVhayBlemFiYXR1IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTIyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeWluZyB0byB1c2UgJyVzJyBmb3IgdGhlIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYmFja2luZyBmaWxlIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEzMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjU1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UiCittc2dzdHIgImV6aW4gZGlyYSBib290Yml0IHNla3RvcmVhayBlemFiYXR1IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTYxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzA3IG1pc2MtdXRpbHMvZmluZG1udC5jOjM3NgorIzogbWlzYy11dGlscy9sc2Jsay5jOjM1NCBtaXNjLXV0aWxzL2xzbG9ja3MuYzozNDIgc3lzLXV0aWxzL2xvc2V0dXAuYzoxMDcKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM3MiBzeXMtdXRpbHMvbHNpcGMuYzoyMzIgc3lzLXV0aWxzL2xzbnMuYzoxODkKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjc3IHN5cy11dGlscy9zd2Fwb24uYzoxNDcgc3lzLXV0aWxzL3dkY3RsLmM6MTUxCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjE0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICIlczogS29tYW5kbyBlemV6YWd1bmE6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjg2IGRpc2stdXRpbHMvcGFydHguYzozMjQgZGlzay11dGlscy9wYXJ0eC5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZpZWQgcmFuZ2UgPCVkOiVkPiBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmFuZ2UgcmVjb3VudDogbWF4IHBhcnRubz0lZCwgbG93ZXI9JWQsIHVwcGVyPSVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVtb3ZlZFxuIgorbXNnc3RyICJFeiBkYSBwYXJ0aXppb3JpayBkZWZpbml0dVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBkb2Vzbid0IGV4aXN0XG4iCittc2dzdHIgIlBhcnRpemlvIGhhdSBkYWdvZW5la28gZXJhYmlsaXRhIGRhZ28iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZWxldGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICJQYXJ0aXppbyBoYXUgZGFnb2VuZWtvIGVyYWJpbGl0YSBkYWdvIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIlBhcnRpemlvIGdlaGllZ2kiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MDUgZGlzay11dGlscy9wYXJ0eC5jOjUxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIKK21zZ3N0ciAiRXogZGEgcGFydGl6aW9yaWsgZGVmaW5pdHVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFkZGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN3YXBvbi1layBodXRzIGVnaW4gZHUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiUGFydGl6aW8gZ2VoaWVnaSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiAjJWQiCittc2dzdHIgIkV6IGRhIHBhcnRpemlvcmlrIGRlZmluaXR1XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlc2l6ZWRcbiIKK21zZ3N0ciAiRXogZGEgcGFydGl6aW9yaWsgZGVmaW5pdHVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVwZGF0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICJiZXJpcmFrdXJyaSBwYXJ0aXppbyB0YXVsYSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9yLCAlNmp1IE1CKVxuIgorbXNnaWRfcGx1cmFsICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9ycywgJTZqdSBNQilcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1ODEgbWlzYy11dGlscy9maW5kbW50LmM6Njg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjcwNQorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzkxIHN5cy11dGlscy9sc25zLmM6NDU2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhZGQgbGluZSB0byBvdXRwdXQiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjQ0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhZGQgZGF0YSB0byBvdXRwdXQgdGFibGUiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjY3IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTIyIG1pc2MtdXRpbHMvZmluZG1udC5jOjE1ODUKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODc0IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ1MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjMxMAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTcxMyBzeXMtdXRpbHMvbHNpcGMuYzozMzggc3lzLXV0aWxzL2xzbnMuYzo1MTEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjk3IHN5cy11dGlscy9zd2Fwb24uYzoyODAgc3lzLXV0aWxzL3dkY3RsLmM6MjU5CisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjQ4NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Njc4IG1pc2MtdXRpbHMvZmluZG1udC5jOjE2MTEgbWlzYy11dGlscy9sc2Jsay5jOjE4OTYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ2NSBzeXMtdXRpbHMvbG9zZXR1cC5jOjMyMiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM1OAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTcxOCBzeXMtdXRpbHMvbHNucy5jOjUzMiBzeXMtdXRpbHMvcHJsaW1pdC5jOjMwNgorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI4OSBzeXMtdXRpbHMvd2RjdGwuYzoyNzAgc3lzLXV0aWxzL3pyYW1jdGwuYzo0OTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIGZpbHRlciBmb3IgJyVzJyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHR5cGUgJyVzJyBkZXRlY3RlZFxuIgorbXNnc3RyICIgICAgICAgICglcyBwYXJ0aXppbyB0YWJsYSBhdHplbWFuIGRhKS4gIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHdpdGggbm8gcGFydGl0aW9ucyIKK21zZ3N0ciAiJXMgZGlza2FrIGV6IGRhdWthIHBhcnRpemlvIHRhdWxhIHp1emVuYVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLWF8LWR8LXN8LXVdIFstLW5yIDxuOm0+IHwgPHBhcnRpdGlvbj5dIDxkaXNrPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTYKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIHByZXNlbmNlIGFuZCBudW1iZXJpbmcgb2YgcGFydGl0aW9ucy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzU5Cittc2dpZCAiIC1hLCAtLWFkZCAgICAgICAgICAgIGFkZCBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjAKK21zZ2lkICIgLWQsIC0tZGVsZXRlICAgICAgICAgZGVsZXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MQorbXNnaWQgIiAtdSwgLS11cGRhdGUgICAgICAgICB1cGRhdGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYyCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLXMsIC0tc2hvdyAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zXG4iCisiXG4iCittc2dzdHIgIiAgZCAgICAgICAgICBVbmVrbyBwYXJ0aXppb2EgZXphYmF0dSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MyBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyMworbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjQKK21zZ2lkICIgLWcsIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tc2hvd1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjUKK21zZ2lkICIgLW4sIC0tbnIgPG46bT4gICAgICAgc3BlY2lmeSB0aGUgcmFuZ2Ugb2YgcGFydGl0aW9ucyAoZS5nLiAtLW5yIDI6NClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY2Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY3IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM3Cittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY4IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM4CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY5Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgIHNwZWNpZnkgdGhlIHBhcnRpdGlvbiB0eXBlIChkb3MsIGJzZCwgc29sYXJpcywgZXRjLilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzcwIHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3NgorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3csIC0tcmF3IG9yIC0tcGFpcnMpOlxuIgorbXNnc3RyICJFcmFiaWxnYXJyaSBkYXVkZW4ga29tYW5kb2FrOlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODQ5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLW5yIDxNLU4+IHJhbmdlIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkyNAorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gYW5kIGRpc2sgbmFtZSBkbyBub3QgbWF0Y2giCittc2dzdHIgIlBhcnRpemlvIHRhdWxhIG1vZXRhIGV6ZXphZ3VuYSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1MgorbXNnaWQgIi0tbnIgYW5kIDxwYXJ0aXRpb24+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk3MQorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJ0aXRpb246ICVzLCBkaXNrOiAlcywgbG93ZXI6ICVkLCB1cHBlcjogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRlbGV0ZSBwYXJ0aXRpb25zIgorbXNnc3RyICJFemluIGRhIHBhcnRpenUgaHV0cyBiYXQgZXphYmF0dSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiJWQgYWJpYWR1cmFrIGV6IGR1IGV1c2thcnJpcmlrIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIHByb2JlciIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzICUyJHNyYXdOIDxtYWpvcj4gPG1pbm9yPlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPGJsb2NrZGV2aWNlPlxuIgorIiAlMSRzIC1xICUyJHNyYXdOXG4iCisiICUxJHMgLXFhXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo1OAorbXNnaWQgIkJpbmQgYSByYXcgY2hhcmFjdGVyIGRldmljZSB0byBhIGJsb2NrIGRldmljZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYxCittc2dpZCAiIC1xLCAtLXF1ZXJ5ICAgIHNldCBxdWVyeSBtb2RlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICBxdWVyeSBhbGwgcmF3IGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyB0aGUgY29udHJvbCByYXcgZGV2aWNlICh1c2UgcmF3PE4+IHdoZXJlIDxOPiBpcyBncmVhdGVyIHRoYW4gemVybykiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoxODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgYmxvY2sgZGV2aWNlICclcyciCittc2dzdHIgIkV6aW4gZGEgJyVzJyAoJXMpIHJhdyBtb2V0YWtvIGdhaWx1YSBhdXJraXR1XG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogZGlzay11dGlscy9yYXcuYzoxOTMgZGlzay11dGlscy9yYXcuYzoxOTYgc3lzLXV0aWxzL2lwY3JtLmM6MzUxCisjOiBzeXMtdXRpbHMvaXBjcm0uYzozNjQgc3lzLXV0aWxzL2lwY3JtLmM6Mzc3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBhcmd1bWVudCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICJFemluIGRhICByYXcgZ2FpbHUgbmFndXNpYSBpcmVraSAnIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSByYXcgZGV2aWNlICclcyciCittc2dzdHIgIkV6aW4gZGEgJyVzJyAoJXMpIHJhdyBtb2V0YWtvIGdhaWx1YSBhdXJraXR1XG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJSYXcgZGV2aWNlICclcycgaXMgbm90IGEgY2hhcmFjdGVyIGRldiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgcmF3IGRldiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI0NQorIywgZnV6enkKK21zZ2lkICJFcnJvciBxdWVyeWluZyByYXcgZGV2aWNlIgorbXNnc3RyICJFemluIGRhICclcycgKCVzKSByYXcgbW9ldGFrbyBnYWlsdWEgYXVya2l0dVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI1NCBkaXNrLXV0aWxzL3Jhdy5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlc3JhdyVkOiAgYm91bmQgdG8gbWFqb3IgJWQsIG1pbm9yICVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNjgKKyMsIGZ1enp5Cittc2dpZCAiRXJyb3Igc2V0dGluZyByYXcgZGV2aWNlIgorbXNnc3RyICJFemluIGRhICclcycgKCVzKSByYXcgbW9ldGFrbyBnYWlsdWEgYXVya2l0dVxuIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxsZW5ndGg+XG4iCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoyMworbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgbmV3IHNpemUgb2YgYSBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgcGFydGl0aW9uIG51bWJlciAlcyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjMxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBuZXN0ZWQgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2VlayAlcyIKK21zZ3N0ciAiZXppbiBkYSBmb3JrIGVnaW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzAyIGxpYmZkaXNrL3NyYy9ic2QuYzo3MjMgbGliZmRpc2svc3JjL2JzZC5jOjg5NAorIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNjMgc3lzLXV0aWxzL2h3Y2xvY2suYzoxNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSAlcyIKK21zZ3N0ciAiZXppbiBkYSAlcyBpcmVraSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTEycyAob2Zmc2V0ICU1anUsIHNpemUgJTVqdSk6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMjgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCBmaWxlLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzU0Cittc2dpZCAiQmFja3VwIGZpbGVzOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM3OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBuZXcgcGFydGl0aW9uIGZyb20gZGV2aWNlOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg5CisjLCBmdXp6eQorbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaGFzIG5vdCBiZWVuIG1vdmVkOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkxCittc2dpZCAibmV3IHBhcnRpdGlvbiBpcyBzbWFsbGVyIHRoYW4gb3JpZ2luYWw7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQxCittc2dpZCAiRGF0YSBtb3ZlOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIHR5cGVzY3JpcHQgZmlsZTogJXMiCittc2dzdHIgImV6aW4gZGEgJXMgYHR5cGVzY3JpcHQnIGZpdHhhdGVnaWEgaXJla2kiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiBvbGQgc3RhcnQ6ICVqdSwgbmV3IHN0YXJ0OiAlanUgKG1vdmUgJWp1IHNlY3RvcnMpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTEKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gbW92ZSBwYXJ0aXRpb24gZGF0YT8iCittc2dzdHIgIiAgVyAgICAgICAgICBQYXJ0aXppbyB0YXVsYSBkaXNrb2FuIGlkYXR6aSAoVyBsZXRyYSBsYXJyaXopIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1MyBkaXNrLXV0aWxzL3NmZGlzay5jOjE3ODMKK21zZ2lkICJMZWF2aW5nLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjUyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBtb3ZlIGRhdGEiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0MQorIywgZnV6enkKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGlzIHVuY2hhbmdlZCAoLS1uby1hY3QpLiIKK21zZ3N0ciAiUGFydGl6aW8gdGF1bGEgbW9ldGEgZXplemFndW5hIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0NworIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiUGFydGl6aW8gdGF1bGEgbW9ldGEgZXplemFndW5hIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbGFiZWwgJyVzJyIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYyNgorbXNnaWQgIiIKKyJJZCAgTmFtZVxuIgorIlxuIgorbXNnc3RyICIiCisiSWQgIEl6ZW5hXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjU2CisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUgdHlwZSIKK21zZ3N0ciAiUGFydGl6aW8gdGF1bGEgbW9ldGEgZXplemFndW5hIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjcwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICJFemluIGRhIGRpc2tvYXJlbiB0YW1haW51YSBsb3J0dSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRvdGFsOiAlanUgYmxvY2tzXG4iCittc2dzdHIgImd1enRpcmE6ICVsbHUgYmxva2VcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MDggZGlzay11dGlscy9zZmRpc2suYzo4NzYgZGlzay11dGlscy9zZmRpc2suYzo5MTcKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTQ3IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxNCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNzgKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzMyBkaXNrLXV0aWxzL3NmZGlzay5jOjExODkgZGlzay11dGlscy9zZmRpc2suYzoxNTMzCisjLCBmdXp6eQorbXNnaWQgIm5vIGRpc2sgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAiRXogZGEgLS1kYXRlIGF1a2VyYXJpayB6ZWhhenR1LlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgxOQorbXNnaWQgInRvZ2dsZSBib290IGZsYWdzIGlzIHN1cHBvcnRlZCBmb3IgTUJSIG9ubHkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NTAgZGlzay11dGlscy9zZmRpc2suYzo4OTYgZGlzay11dGlscy9zZmRpc2suYzoxMDE5CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODMgZGlzay11dGlscy9zZmRpc2suYzoxMTM4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5NAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTMxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJWQ6IGZhaWxlZCB0byB0b2dnbGUgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg5MSBkaXNrLXV0aWxzL3NmZGlzay5jOjg5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBkZWxldGUiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiJXMgZGlza2FrIGV6IGRhdWthIHBhcnRpemlvIHRhdWxhIHp1emVuYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk1OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgZHVtcCBzdHJ1Y3QiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkdW1wIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uIHRhYmxlIGZvdW5kIgorbXNnc3RyICJFeiBkYWdvIHBhcnRpemlvIHRhdWxhcmlrLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlcyBkaXNrYWsgZXogZGF1a2EgcGFydGl6aW8gdGF1bGEgenV6ZW5hXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIGlzIHVudXNlZCIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxOCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODIgZGlzay11dGlscy9zZmRpc2suYzoxMTM3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTMKKyMsIGZ1enp5Cittc2dpZCAibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiCittc2dzdHIgIkV6IGRhIC0tZGF0ZSBhdWtlcmFyaWsgemVoYXp0dS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4OCBkaXNrLXV0aWxzL3NmZGlzay5jOjExNDMKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5OQorIywgZnV6enkKK21zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50cyIKK21zZ3N0ciAiRXppbiBkYSAnJXMnIGZpdHhhdGVnaWEgaXJla2kiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBwYXJ0aXRpb24gdHlwZSAnJXMnIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiJXMgZGlza2FrIGV6IGRhdWthIHBhcnRpemlvIHRhdWxhIHp1emVuYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIlcyBkaXNrYWsgZXogZGF1a2EgcGFydGl6aW8gdGF1bGEgenV6ZW5hXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTExMyBkaXNrLXV0aWxzL3NmZGlzay5jOjExNjggZGlzay11dGlscy9zZmRpc2suYzoxMjIyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gb2JqZWN0IgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiJXMgZGlza2FrIGV6IGRhdWthIHBhcnRpemlvIHRhdWxhIHp1emVuYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIGF0dHJpYnV0ZXMiCittc2dzdHIgIiVzIGRpc2thayBleiBkYXVrYSBwYXJ0aXppbyB0YXVsYSB6dXplbmFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjY5CisjLCBmdXp6eQorbXNnaWQgIiBDb21tYW5kczpcbiIKK21zZ3N0ciAiRXJhYmlsZ2FycmkgZGF1ZGVuIGtvbWFuZG9hazpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjcxCisjLCBmdXp6eQorbXNnaWQgIiAgIHdyaXRlICAgIHdyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICBXICAgICAgICAgIFBhcnRpemlvIHRhdWxhIGRpc2tvYW4gaWRhdHppIChXIGxldHJhIGxhcnJpeikiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3MgorbXNnaWQgIiAgIHF1aXQgICAgIHNob3cgbmV3IHNpdHVhdGlvbiBhbmQgd2FpdCBmb3IgdXNlcidzIGZlZWRiYWNrIGJlZm9yZSB3cml0ZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3MworbXNnaWQgIiAgIGFib3J0ICAgIGV4aXQgc2ZkaXNrIHNoZWxsXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjc0CisjLCBmdXp6eQorbXNnaWQgIiAgIHByaW50ICAgIGRpc3BsYXkgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgICBwICAgQlNEIHBhcnRpemlvIHRhdWxhIGVyYWt1dHNpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzUKKyMsIGZ1enp5Cittc2dpZCAiICAgaGVscCAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3NworbXNnaWQgIiAgIEN0cmwtRCAgIHRoZSBzYW1lIGFzICdxdWl0J1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MQorbXNnaWQgIiBJbnB1dCBmb3JtYXQ6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjgzCittc2dpZCAiICAgPHN0YXJ0PiwgPHNpemU+LCA8dHlwZT4sIDxib290YWJsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODYKK21zZ2lkICIiCisiICAgPHN0YXJ0PiAgQmVnaW5uaW5nIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIHRoZSBmaXJzdCBmcmVlIHNwYWNlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MQorbXNnaWQgIiIKKyIgICA8c2l6ZT4gICBTaXplIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIGFsbCBhdmFpbGFibGUgc3BhY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk2Cittc2dpZCAiICAgPHR5cGU+ICAgVGhlIHBhcnRpdGlvbiB0eXBlLiAgRGVmYXVsdCBpcyBhIExpbnV4IGRhdGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NworbXNnaWQgIiAgICAgICAgICAgIE1CUjogaGV4IG9yIEwsUyxFLFggc2hvcnRjdXRzLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5OAorbXNnaWQgIiAgICAgICAgICAgIEdQVDogVVVJRCBvciBMLFMsSCBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzAxCittc2dpZCAiICAgPGJvb3RhYmxlPiAgVXNlICcqJyB0byBtYXJrIGFuIE1CUiBwYXJ0aXRpb24gYXMgYm9vdGFibGUuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzA1Cittc2dpZCAiIEV4YW1wbGU6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzA3CisjLCBmdXp6eQorbXNnaWQgIiAgICwgNEcgICAgIENyZWF0ZXMgYSA0R2lCIHBhcnRpdGlvbiBhdCBkZWZhdWx0IHN0YXJ0IG9mZnNldC5cbiIKK21zZ3N0ciAiICBuICAgICAgICAgIFNvcnR1IHBhcnRpemlvIGJlcnJpYSBsaWJyZSBkYWdvZW4gZXNwYXppb3RpayIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzM5IHN5cy11dGlscy9kbWVzZy5jOjE0NTUKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzNDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQ6IHVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgIiVzOiBLb21hbmRvIGV6ZXphZ3VuYTogJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTAwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU0MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogbm8gcGFydGl0aW9uIHRhYmxlIHdhcyBmb3VuZCIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXMgZGlza2FrIGV6IGRhdWthIHBhcnRpemlvIHRhdWxhIHp1emVuYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzOiBwYXJ0aXRpb24gJWQgaXMgbm90IGRlZmluZWQgeWV0IgorbXNnc3RyICJFeiBkYWdvICpCU0QgcGFydGl6aW9yaWsgJXMtKGUpbi5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJXZWxjb21lIHRvIHNmZGlzayAoJXMpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTQKK21zZ2lkICJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTcKK21zZ2lkICIiCisiIEZBSUxFRFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwMAorbXNnaWQgIiIKKyJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZSAtIHJlcGFydGl0aW9uaW5nIGlzIHByb2JhYmx5IGEgYmFkIGlkZWEuXG4iCisiVW1vdW50IGFsbCBmaWxlIHN5c3RlbXMsIGFuZCBzd2Fwb2ZmIGFsbCBzd2FwIHBhcnRpdGlvbnMgb24gdGhpcyBkaXNrLlxuIgorIlVzZSB0aGUgLS1uby1yZXJlYWQgZmxhZyB0byBzdXBwcmVzcyB0aGlzIGNoZWNrLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNworIywgZnV6enkKK21zZ2lkICIiCisiIE9LXG4iCisiXG4iCittc2dzdHIgIiVzOiBPS1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzYKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIk9sZCBzaXR1YXRpb246IgorbXNnc3RyICJFZ29lcmEgemFoYXJyYTpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKyJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY1NworbXNnaWQgIiIKKyJcbiIKKyJUeXBlICdoZWxwJyB0byBnZXQgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NzUKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgdXNlZC4iCittc2dzdHIgIkV6IGRhZ28gcGFydGl6aW8gZ2VoaWFnbyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzAzCisjLCBmdXp6eQorbXNnaWQgIkRvbmUuXG4iCittc2dzdHIgIkVnaW5kYS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzE1CisjLCBmdXp6eQorbXNnaWQgIklnbm9yaW5nIHBhcnRpdGlvbi4iCittc2dzdHIgIkV6IHNvcnR1IHBhcnRpemlvIGJhdCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzI0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgaGVhZGVycywgZGlzayBsYWJlbCBub3QgY3JlYXRlZC4iCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhZGQgIyVkIHBhcnRpdGlvbiIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc2MworbXNnaWQgIlNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc3MgorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiTmV3IHNpdHVhdGlvbjoiCittc2dzdHIgIkVnb2VyYSBiZXJyaWE6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc4MQorIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byB3cml0ZSB0aGlzIHRvIGRpc2s/IgorbXNnc3RyICIgIFcgICAgICAgICAgUGFydGl6aW8gdGF1bGEgZGlza29hbiBpZGF0emkgKFcgbGV0cmEgbGFycml6KSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzkzCittc2dpZCAiTGVhdmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBMQUJFTD08ZXRpa2V0YT58VVVJRD08dXVpZD5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEyCittc2dpZCAiIgorIlxuIgorIkNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMworbXNnaWQgIiAtQSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gbGlzdCBvciBzZXQgYm9vdGFibGUgTUJSIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSAodXNhYmxlIGZvciBsYXRlciBpbnB1dClcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTUKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSBpbiBKU09OIGZvcm1hdFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNgorbXNnaWQgIiAtZywgLS1zaG93LWdlb21ldHJ5IFs8ZGV2PiAuLi5dICAgbGlzdCBnZW9tZXRyeSBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTcKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgWzxkZXY+IC4uLl0gICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTgKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLWxpc3QtZnJlZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHVucGFydGl0aW9uZWQgZnJlZSBhcmVhcyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxOQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVvcmRlciA8ZGV2PiAgICAgICAgICAgICAgIGZpeCBwYXJ0aXRpb25zIG9yZGVyIChieSBzdGFydCBvZmZzZXQpXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIwCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaG93LXNpemUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCBzaXplcyBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjEKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmVjb2duaXplZCB0eXBlcyAoc2VlIC1YKVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMgorIywgZnV6enkKK21zZ2lkICIgLVYsIC0tdmVyaWZ5IFs8ZGV2PiAuLi5dICAgICAgICAgIHRlc3Qgd2hldGhlciBwYXJ0aXRpb25zIHNlZW0gY29ycmVjdFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMworbXNnaWQgIiAgICAgLS1kZWxldGUgPGRldj4gWzxwYXJ0PiAuLi5dICAgZGVsZXRlIGFsbCBvciBzcGVjaWZpZWQgcGFydGl0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNgorbXNnaWQgIiAtLXBhcnQtbGFiZWwgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBsYWJlbFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNworbXNnaWQgIiAtLXBhcnQtdHlwZSA8ZGV2PiA8cGFydD4gWzx0eXBlPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI4CisjLCBmdXp6eQorbXNnaWQgIiAtLXBhcnQtdXVpZCA8ZGV2PiA8cGFydD4gWzx1dWlkPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB1dWlkXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBFcmFrdXRzaSBwYXJ0aXppbyB0YXVsYSBwYW50YWlsYW4gZWRvIGlkYXR6aSBmaXR4YXRlZ2lyZW4gYmF0ZWFuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjkKK21zZ2lkICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gYXR0cmlidXRlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzMgorIywgZnV6enkKK21zZ2lkICIgPGRldj4gICAgICAgICAgICAgICAgICAgICBkZXZpY2UgKHVzdWFsbHkgZGlzaykgcGF0aFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzMworIywgZnV6enkKK21zZ2lkICIgPHBhcnQ+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM0Cittc2dpZCAiIDx0eXBlPiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIHR5cGUsIEdVSUQgZm9yIEdQVCwgaGV4IGZvciBNQlJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzcKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgYXBwZW5kIHBhcnRpdGlvbnMgdG8gZXhpc3RpbmcgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM4CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1iYWNrdXAgICAgICAgICAgICAgIGJhY2t1cCBwYXJ0aXRpb24gdGFibGUgc2VjdG9ycyAoc2VlIC1PKVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzOQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MAorbXNnaWQgIiAgICAgLS1tb3ZlLWRhdGFbPTx0eXBlc2NyaXB0Pl0gbW92ZSBwYXJ0aXRpb24gZGF0YSBhZnRlciByZWxvY2F0aW9uIChyZXF1aXJlcyAtTilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDEKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ1CisjLCBmdXp6eQorbXNnaWQgIiAtTiwgLS1wYXJ0bm8gPG51bT4gICAgICAgIHNwZWNpZnkgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICJTYXJ0dSBidXJ1IGtvcHVydWE6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDYKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgd3JpdGUgdG8gZGV2aWNlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBkZXZpY2UgaXMgaW4gdXNlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ4CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIGRvIG5vdCB0ZWxsIGtlcm5lbCBhYm91dCBjaGFuZ2VzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgIExlaGVuYSAgICAgQXprZW5hXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OQorbXNnaWQgIiAtTywgLS1iYWNrdXAtZmlsZSA8cGF0aD4gIG92ZXJyaWRlIGRlZmF1bHQgYmFja3VwIGZpbGUgbmFtZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUxCisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIGV4dHJhIGluZm8gbWVzc2FnZXNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTIKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU0Cittc2dpZCAiIC1YLCAtLWxhYmVsIDxuYW1lPiAgICAgICAgc3BlY2lmeSBsYWJlbCB0eXBlIChkb3MsIGdwdCwgLi4uKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NQorbXNnaWQgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPG5hbWU+IHNwZWNpZnkgbmVzdGVkIGxhYmVsIHR5cGUgKGRvcywgYnNkKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NworbXNnaWQgIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIGRlcHJlY2F0ZWQsIGFsaWFzIHRvIC0tc2hvdy1nZW9tZXRyeVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU5CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bml0IFMgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgc2VjdG9yIHVuaXQgaXMgc3VwcG9ydGVkXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYzIGxvZ2luLXV0aWxzL2NoZm4uYzoxMDIgbG9naW4tdXRpbHMvY2hzaC5jOjc5Cittc2dpZCAiIC12LCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxOTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk3MworbXNnaWQgIi0taWQgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxOTg5Cittc2dpZCAiLS1zaG93LXB0LWdlb21ldHJ5IGlzIG5vIG1vcmUgaW1wbGVtZW50ZWQuIFVzaW5nIC0tc2hvdy1nZW9tZXRyeS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDAwCittc2dpZCAiLS1MaW51eCBvcHRpb24gaXMgdW5uZWNlc3NhcnkgYW5kIGRlcHJlY2F0ZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0ICclYyciCittc2dzdHIgIiVzOiBLb21hbmRvIGV6ZXphZ3VuYTogJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDMyIGluY2x1ZGUvYy5oOjMwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlc1xuIgorbXNnc3RyICIlcy0oZSl0aWsgcmVuaWNlLWVhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjEwOQorbXNnaWQgIi0tbW92ZWRhdGEgcmVxdWlyZXMgLU4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIFVVSUQ6ICVzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgVVVJRCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgVVVJRCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIGxhYmVsICIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAibGFiZWwgaXMgdG9vIGxvbmcuIFRydW5jYXRpbmcgaXQgdG8gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIGxhYmVsIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjEKK21zZ2lkICJEaXNwbGF5IG9yIGNoYW5nZSB0aGUgbGFiZWwgb3IgVVVJRCBvZiBhIHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyNAorbXNnaWQgIiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiBzcGVjaWZ5IGEgbmV3IGxhYmVsXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgc3BlY2lmeSBhIG5ldyB1dWlkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxNjcKK21zZ2lkICJpZ25vcmUgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jLmg6Mjk5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKK21zZ3N0ciAiRXJhYmlsZXJhOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMDAKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2MuaDozMDIKK21zZ2lkICIgLWgsIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2MuaDozMDMKK21zZ2lkICIgLVYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2MuaDozMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJGb3IgbW9yZSBkZXRhaWxzIHNlZSAlcy5cbiIKK21zZ3N0ciAiSXJ0ZXRlbiAtIGV6IGRhIGV6ZXIgYWxkYXR1XG4iCisKKyM6IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0NiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDggbG9naW4tdXRpbHMvdmlwdy5jOjI3MworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5MiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI4MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MDUKKyM6IHRleHQtdXRpbHMvY29sLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgIndyaXRlIGVycm9yIgorbXNnc3RyICJjb2w6IGlkYXprZXRhIGVycm9yZWEuXG4iCisKKyM6IGluY2x1ZGUvY29sb3JzLmg6MjcKK21zZ2lkICJjb2xvcnMgYXJlIGVuYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI5Cittc2dpZCAiY29sb3JzIGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvZW52Lmg6MTggbGliL3BhZ2VyLmM6MTUxIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTA1MgorIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMDU2IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjUyOQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyBlbnZpcm9ubWVudCB2YXJpYWJsZSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGluY2x1ZGUvb3B0dXRpbHMuaDo4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdGhlc2Ugb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlOiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxCittc2dpZCAiRW1wdHkiCittc2dzdHIgIkh1dHNpayIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MgorbXNnaWQgIkZBVDEyIgorbXNnc3RyICJGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MworbXNnaWQgIlhFTklYIHJvb3QiCittc2dzdHIgIlhFTklYIHJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQKK21zZ2lkICJYRU5JWCB1c3IiCittc2dzdHIgIlhFTklYIHVzciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NQorbXNnaWQgIkZBVDE2IDwzMk0iCittc2dzdHIgIkZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYKK21zZ2lkICJFeHRlbmRlZCIKK21zZ3N0ciAiRXh0ZW5kZWQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcKK21zZ2lkICJGQVQxNiIKK21zZ3N0ciAiRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgKKyMsIGZ1enp5Cittc2dpZCAiSFBGUy9OVEZTL2V4RkFUIgorbXNnc3RyICJIUEZTL05URlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkKK21zZ2lkICJBSVgiCittc2dzdHIgIkFJWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAKK21zZ2lkICJBSVggYm9vdGFibGUiCittc2dzdHIgIkFJWCBib290YWJsZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTEKK21zZ2lkICJPUy8yIEJvb3QgTWFuYWdlciIKK21zZ3N0ciAiT1MvMiBCb290IE1hbmFnZXIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEyCittc2dpZCAiVzk1IEZBVDMyIgorbXNnc3RyICJXOTUgRkFUMzIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEzCittc2dpZCAiVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICJXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE0Cittc2dpZCAiVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICJXOTUgRkFUMTYgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE1Cittc2dpZCAiVzk1IEV4dCdkIChMQkEpIgorbXNnc3RyICJXOTUgRXh0J2QgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE2Cittc2dpZCAiT1BVUyIKK21zZ3N0ciAiT1BVUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTcKK21zZ2lkICJIaWRkZW4gRkFUMTIiCittc2dzdHIgIkhpZGRlbiBGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTgKK21zZ2lkICJDb21wYXEgZGlhZ25vc3RpY3MiCittc2dzdHIgIkNvbXBhcSBkaWFnbm9zdGljcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTkKK21zZ2lkICJIaWRkZW4gRkFUMTYgPDMyTSIKK21zZ3N0ciAiSGlkZGVuIEZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIwCittc2dpZCAiSGlkZGVuIEZBVDE2IgorbXNnc3RyICJIaWRkZW4gRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIxCittc2dpZCAiSGlkZGVuIEhQRlMvTlRGUyIKK21zZ3N0ciAiSGlkZGVuIEhQRlMvTlRGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjIKK21zZ2lkICJBU1QgU21hcnRTbGVlcCIKK21zZ3N0ciAiQVNUIFNtYXJ0U2xlZXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIzCittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiIKK21zZ3N0ciAiSGlkZGVuIFc5NSBGQVQzMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjQKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICJIaWRkZW4gVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNQorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIkhpZGRlbiBXOTUgRkFUMTYgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI2Cittc2dpZCAiTkVDIERPUyIKK21zZ3N0ciAiTkVDIERPUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjcKKyMsIGZ1enp5Cittc2dpZCAiSGlkZGVuIE5URlMgV2luUkUiCittc2dzdHIgIkhpZGRlbiBIUEZTL05URlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI4Cittc2dpZCAiUGxhbiA5IgorbXNnc3RyICJQbGFuIDkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI5Cittc2dpZCAiUGFydGl0aW9uTWFnaWMgcmVjb3ZlcnkiCittc2dzdHIgIlBhcnRpdGlvbk1hZ2ljIHJlY292ZXJ5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMAorbXNnaWQgIlZlbml4IDgwMjg2IgorbXNnc3RyICJWZW5peCA4MDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzEKK21zZ2lkICJQUEMgUFJlUCBCb290IgorbXNnc3RyICJQUEMgUFJlUCBCb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMgorbXNnaWQgIlNGUyIKK21zZ3N0ciAiU0ZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMworbXNnaWQgIlFOWDQueCIKK21zZ3N0ciAiUU5YNC54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNAorbXNnaWQgIlFOWDQueCAybmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IDJuZCBwYXJ0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNQorbXNnaWQgIlFOWDQueCAzcmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IDNyZCBwYXJ0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNgorbXNnaWQgIk9uVHJhY2sgRE0iCittc2dzdHIgIk9uVHJhY2sgRE0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM3Cittc2dpZCAiT25UcmFjayBETTYgQXV4MSIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzgKK21zZ2lkICJDUC9NIgorbXNnc3RyICJDUC9NIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOQorbXNnaWQgIk9uVHJhY2sgRE02IEF1eDMiCittc2dzdHIgIk9uVHJhY2sgRE02IEF1eDMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQwCittc2dpZCAiT25UcmFja0RNNiIKK21zZ3N0ciAiT25UcmFja0RNNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDEKK21zZ2lkICJFWi1Ecml2ZSIKK21zZ3N0ciAiRVotRHJpdmUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQyCittc2dpZCAiR29sZGVuIEJvdyIKK21zZ3N0ciAiR29sZGVuIEJvdyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDMKK21zZ2lkICJQcmlhbSBFZGlzayIKK21zZ3N0ciAiUHJpYW0gRWRpc2siCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkxCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OQorbXNnaWQgIlNwZWVkU3RvciIKK21zZ3N0ciAiU3BlZWRTdG9yIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NQorbXNnaWQgIkdOVSBIVVJEIG9yIFN5c1YiCittc2dzdHIgIkdOVSBIVVJEIG9yIFN5c1YiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ2Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMjg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ3Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMzg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAzODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ4Cittc2dpZCAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorbXNnc3RyICJEaXNrU2VjdXJlIE11bHRpLUJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ5Cittc2dpZCAiUEMvSVgiCittc2dzdHIgIlBDL0lYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MAorbXNnaWQgIk9sZCBNaW5peCIKK21zZ3N0ciAiT2xkIE1pbml4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MQorbXNnaWQgIk1pbml4IC8gb2xkIExpbnV4IgorbXNnc3RyICJNaW5peCAvIG9sZCBMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTIKK21zZ2lkICJMaW51eCBzd2FwIC8gU29sYXJpcyIKK21zZ3N0ciAiTGludXggc3dhcCAvIFNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUzCittc2dpZCAiTGludXgiCittc2dzdHIgIkxpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NAorbXNnaWQgIk9TLzIgaGlkZGVuIG9yIEludGVsIGhpYmVybmF0aW9uIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU3Cittc2dpZCAiTGludXggZXh0ZW5kZWQiCittc2dzdHIgIkxpbnV4IGV4dGVuZGVkIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OQorbXNnaWQgIk5URlMgdm9sdW1lIHNldCIKK21zZ3N0ciAiTlRGUyB2b2x1bWUgc2V0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MAorbXNnaWQgIkxpbnV4IHBsYWludGV4dCIKK21zZ3N0ciAiTGludXggcGxhaW50ZXh0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjA1IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MworIzogbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggTFZNIgorbXNnc3RyICJMaW51eCBMVk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYyCittc2dpZCAiQW1vZWJhIgorbXNnc3RyICJBbW9lYmEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYzCittc2dpZCAiQW1vZWJhIEJCVCIKK21zZ3N0ciAiQW1vZWJhIEJCVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjQKK21zZ2lkICJCU0QvT1MiCittc2dzdHIgIkJTRC9PUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjUKK21zZ2lkICJJQk0gVGhpbmtwYWQgaGliZXJuYXRpb24iCittc2dzdHIgIklCTSBUaGlua3BhZCBoaWJlcm5hdGlvbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjYKK21zZ2lkICJGcmVlQlNEIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NworbXNnaWQgIk9wZW5CU0QiCittc2dzdHIgIk9wZW5CU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY4Cittc2dpZCAiTmVYVFNURVAiCittc2dzdHIgIk5lWFRTVEVQIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OQorbXNnaWQgIkRhcndpbiBVRlMiCittc2dzdHIgIkRhcndpbiBVRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcwCittc2dpZCAiTmV0QlNEIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcxCittc2dpZCAiRGFyd2luIGJvb3QiCittc2dzdHIgIkRhcndpbiBib290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MgorbXNnaWQgIkhGUyAvIEhGUysiCittc2dzdHIgIkhGUyAvIEhGUysiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjczCittc2dpZCAiQlNESSBmcyIKK21zZ3N0ciAiQlNESSBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzQKK21zZ2lkICJCU0RJIHN3YXAiCittc2dzdHIgIkJTREkgc3dhcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzUKK21zZ2lkICJCb290IFdpemFyZCBoaWRkZW4iCittc2dzdHIgIkJvb3QgV2l6YXJkIGV6a3V0dWEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc2CisjLCBmdXp6eQorbXNnaWQgIkFjcm9uaXMgRkFUMzIgTEJBIgorbXNnc3RyICJXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc3IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzAKK21zZ2lkICJTb2xhcmlzIGJvb3QiCittc2dzdHIgIlNvbGFyaXMgYm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzgKK21zZ2lkICJTb2xhcmlzIgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTEyKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MAorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2KSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTYpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MgorbXNnaWQgIlN5cmlueCIKK21zZ3N0ciAiU3lyaW54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MworbXNnaWQgIk5vbi1GUyBkYXRhIgorbXNnc3RyICJOb24tRlMgZGF0YSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiQ1AvTSAvIENUT1MgLyAuLi4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg2Cittc2dpZCAiRGVsbCBVdGlsaXR5IgorbXNnc3RyICJEZWxsIFV0aWxpdHkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg3Cittc2dpZCAiQm9vdEl0IgorbXNnc3RyICJCb290SXQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg4Cittc2dpZCAiRE9TIGFjY2VzcyIKK21zZ3N0ciAiRE9TIGFjY2VzcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTAKK21zZ2lkICJET1MgUi9PIgorbXNnc3RyICJET1MgUi9PIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MworIywgZnV6enkKK21zZ2lkICJSdWZ1cyBhbGlnbm1lbnQiCittc2dzdHIgInNhcnJlcmEgb2tlcnJhXG4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk0Cittc2dpZCAiQmVPUyBmcyIKK21zZ3N0ciAiQmVPUyBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTYKK21zZ2lkICJFRkkgKEZBVC0xMi8xNi8zMikiCittc2dzdHIgIkVGSSAoRkFULTEyLzE2LzMyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTcKK21zZ2lkICJMaW51eC9QQS1SSVNDIGJvb3QiCittc2dzdHIgIkxpbnV4L1BBLVJJU0MgYm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAwCittc2dpZCAiRE9TIHNlY29uZGFyeSIKK21zZ3N0ciAiRE9TIHNlY29uZGFyeSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAxCittc2dpZCAiVk13YXJlIFZNRlMiCittc2dzdHIgIlZNd2FyZSBWTUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDIKK21zZ2lkICJWTXdhcmUgVk1LQ09SRSIKK21zZ3N0ciAiVk13YXJlIFZNS0NPUkUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMyBsaWJmZGlzay9zcmMvc3VuLmM6NTUKK21zZ2lkICJMaW51eCByYWlkIGF1dG9kZXRlY3QiCittc2dzdHIgIkF1dG9tYXRpa29raSBhdHplbWFuIExpbnV4IHJhaWQtYWsiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwNgorbXNnaWQgIkxBTnN0ZXAiCittc2dzdHIgIkxBTnN0ZXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwNworbXNnaWQgIkJCVCIKK21zZ3N0ciAiQkJUIgorCisjOiBsaWIvYmxrZGV2LmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzIGlzIG1pc2FsaWduZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2FsaWdubWVudC5jOjY3MgorIywgZnV6enkKK21zZ2lkICJDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJiZXJpcmFrdXJyaSBwYXJ0aXppbyB0YXVsYSIKKworIzogbGliZmRpc2svc3JjL2FsaWdubWVudC5jOjY4MQorIywgZnV6enkKK21zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLiIKK21zZ3N0ciAiUGFydGl6aW8gdGF1bGEgYmVycml6IGlyYWt1cnR6ZW4gLi4uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2ODMKK21zZ2lkICJUaGUga2VybmVsIHN0aWxsIHVzZXMgdGhlIG9sZCB0YWJsZS4gVGhlIG5ldyB0YWJsZSB3aWxsIGJlIHVzZWQgYXQgdGhlIG5leHQgcmVib290IG9yIGFmdGVyIHlvdSBydW4gcGFydHByb2JlKDgpIG9yIGtwYXJ0eCg4KS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ3MiBsaWJmZGlzay9zcmMvYXNrLmM6NDg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3RlZCBwYXJ0aXRpb24gJWp1IgorbXNnc3RyICJiZXJpcmFrdXJyaSBwYXJ0aXppbyB0YXVsYSIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ3NQorIywgZnV6enkKK21zZ2lkICJObyBwYXJ0aXRpb24gaXMgZGVmaW5lZCB5ZXQhIgorbXNnc3RyICJFeiBkYWdvICpCU0QgcGFydGl6aW9yaWsgJXMtKGUpbi5cbiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ4NworIywgZnV6enkKK21zZ2lkICJObyBmcmVlIHBhcnRpdGlvbiBhdmFpbGFibGUhIgorbXNnc3RyICJiZXJpcmFrdXJyaSBwYXJ0aXppbyB0YXVsYSIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ5NworbXNnaWQgIlBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIlBhcnRpemlvIHplbmJha2lhIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6OTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IHBhcnRpdGlvbiAlZCBvZiB0eXBlICclcycgYW5kIG9mIHNpemUgJXMuIgorbXNnc3RyICIiCisiXG4iCisiRXogZGEgc3dhcCBwYXJ0aXppb3JpayBleGlzdGl0emVuLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXpkOiBoYXMgaW52YWxpZCBzdGFydGluZyBzZWN0b3IgMC4iCittc2dzdHIgIiVzIHBhcnRpemlvYWsgaGFzaWVyYWtvIDAgc2VrdG9yZSBiYWxpb2dhYmVhIGRhdWthLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGVyZSBpcyBubyAqQlNEIHBhcnRpdGlvbiBvbiAlcy4iCittc2dzdHIgIkV6IGRhZ28gKkJTRCBwYXJ0aXppb3JpayAlcy0oZSluLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MjU5IGxpYmZkaXNrL3NyYy9kb3MuYzo5MzMKKyMsIGZ1enp5Cittc2dpZCAiRmlyc3QgY3lsaW5kZXIiCittc2dzdHIgInppbGluZHJvYSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5MiBsaWJmZGlzay9zcmMvZG9zLmM6MTE2MQorIywgZnV6enkKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIkF6a2VuICVzLShlKWEgZWRvICt0YW1haW51YSBlZG8gK3RhbWFpbnVhTSBlZG8gK3RhbWFpbnVhSyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5NyBsaWJmZGlzay9zcmMvZG9zLmM6MTE2NiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1NQorIywgZnV6enkKK21zZ2lkICJMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiQXprZW4gJXMtKGUpYSBlZG8gK3RhbWFpbnVhIGVkbyArdGFtYWludWFNIGVkbyArdGFtYWludWFLIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGV2aWNlICVzIGRvZXMgbm90IGNvbnRhaW4gQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIiVzIGNvbnRhaW5zIG5vIGRpc2tsYWJlbC5cbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MworbXNnaWQgIkRvIHlvdSB3YW50IHRvIGNyZWF0ZSBhIEJTRCBkaXNrbGFiZWw/IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NDkKKyMsIGZ1enp5Cittc2dpZCAiRGlzayIKK21zZ3N0ciAiZGlza29hOiAlLipzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NTYKK21zZ2lkICJQYWNrbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDYzIGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE3Cittc2dpZCAiRmxhZ3MiCittc2dzdHIgIkJhbmRlcmFrIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY2Cittc2dpZCAiIHJlbW92YWJsZSIKK21zZ3N0ciAiIGtlbmdhcnJpYSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NworbXNnaWQgIiBlY2MiCittc2dzdHIgIiBlY2MiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjgKK21zZ2lkICIgYmFkc2VjdCIKK21zZ3N0ciAiIGJhZHNlY3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NzYKKyMsIGZ1enp5Cittc2dpZCAiQnl0ZXMvU2VjdG9yIgorbXNnc3RyICJieXRlIGtvcHVydWEgc2VrdG9yZWtvIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDgxCisjLCBmdXp6eQorbXNnaWQgIlRyYWNrcy9DeWxpbmRlciIKK21zZ3N0ciAicGlzdGFrIHppbGluZHJva28iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODYKKyMsIGZ1enp5Cittc2dpZCAiU2VjdG9ycy9DeWxpbmRlciIKK21zZ3N0ciAic2VrdG9yZWFrIHppbGluZHJva28iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTggbGliZmRpc2svc3JjL2Rvcy5jOjIzMDMKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU3IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTYgbGliZmRpc2svc3JjL3N1bi5jOjExMTMKK21zZ2lkICJDeWxpbmRlcnMiCittc2dzdHIgIlppbGluZHJvYWsiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTYgbGliZmRpc2svc3JjL3N1bi5jOjc2MAorIywgZnV6enkKK21zZ2lkICJScG0iCittc2dzdHIgInJwbSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMSBsaWJmZGlzay9zcmMvc2dpLmM6MjkyIGxpYmZkaXNrL3NyYy9zdW4uYzo3ODAKKyMsIGZ1enp5Cittc2dpZCAiSW50ZXJsZWF2ZSIKK21zZ3N0ciAidGFydGVrYXR6ZWE6ICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDYKKyMsIGZ1enp5Cittc2dpZCAiVHJhY2tza2V3IgorbXNnc3RyICJwaXN0YSBza2V3LWVhOiAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTExCisjLCBmdXp6eQorbXNnaWQgIkN5bGluZGVyc2tldyIKK21zZ3N0ciAiemlsaW5kcm8gc2tldy1lYTogJWRcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxNgorIywgZnV6enkKK21zZ2lkICJIZWFkc3dpdGNoIgorbXNnc3RyICJoZWFkc3dpdGNoOiAlbGRcdFx0IyBtaWxpc2VndW5kdVxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTIxCisjLCBmdXp6eQorbXNnaWQgIlRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgInBpc3RhdGlrIHBpc3RhcmEgYmlsYWtldGE6ICVsZFx0IyBtaWxpc2VndW5kdVxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjExCittc2dpZCAiYnl0ZXMvc2VjdG9yIgorbXNnc3RyICJieXRlIGtvcHVydWEgc2VrdG9yZWtvIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE0Cittc2dpZCAic2VjdG9ycy90cmFjayIKK21zZ3N0ciAic2VrdG9yZWFrIHBpc3Rha28iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTUKK21zZ2lkICJ0cmFja3MvY3lsaW5kZXIiCittc2dzdHIgInBpc3RhayB6aWxpbmRyb2tvIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE2Cittc2dpZCAiY3lsaW5kZXJzIgorbXNnc3RyICJ6aWxpbmRyb2FrIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIwCittc2dpZCAic2VjdG9ycy9jeWxpbmRlciIKK21zZ3N0ciAic2VrdG9yZWFrIHppbGluZHJva28iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjMKK21zZ2lkICJycG0iCittc2dzdHIgInJwbSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNAorIywgZnV6enkKK21zZ2lkICJpbnRlcmxlYXZlIgorbXNnc3RyICJ0YXJ0ZWthdHplYTogJWRcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNQorIywgZnV6enkKK21zZ2lkICJ0cmFja3NrZXciCittc2dzdHIgInBpc3RhIHNrZXctZWE6ICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjYKKyMsIGZ1enp5Cittc2dpZCAiY3lsaW5kZXJza2V3IgorbXNnc3RyICJ6aWxpbmRybyBza2V3LWVhOiAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI4CisjLCBmdXp6eQorbXNnaWQgImhlYWRzd2l0Y2giCittc2dzdHIgImhlYWRzd2l0Y2g6ICVsZFx0XHQjIG1pbGlzZWd1bmR1XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjkKKyMsIGZ1enp5Cittc2dpZCAidHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAicGlzdGF0aWsgcGlzdGFyYSBiaWxha2V0YTogJWxkXHQjIG1pbGlzZWd1bmR1XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RzdHJhcCBmaWxlICVzIHN1Y2Nlc3NmdWxseSBsb2FkZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcDogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKGRlZmF1bHQgJTEkcykiCittc2dzdHIgIk9TLzIgQm9vdCBNYW5hZ2VyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzA0Cittc2dpZCAiQm9vdHN0cmFwIG92ZXJsYXBzIHdpdGggZGlza2xhYmVsISIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXAgaW5zdGFsbGVkIG9uICVzLiIKK21zZ3N0ciAiICAgICAgICBkaXNrbyBndXp0aWFuLiAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuICAoRG9uJ3QgZm9yZ2V0IHRvIHdyaXRlIHRoZSAlcyBkaXNrbGFiZWwgdG9vLikiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuIgorbXNnc3RyICJEaXNrbyB1bml0YXRlYTogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwOSBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY2NgorIywgZnV6enkKK21zZ2lkICJTeW5jaW5nIGRpc2tzLiIKK21zZ3N0ciAiRGlza2FrIHNpbmtyb25pemF0emVuLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTUwCittc2dpZCAiQlNEIGxhYmVsIGlzIG5vdCBuZXN0ZWQgd2l0aGluIGEgRE9TIHBhcnRpdGlvbi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQlNEIHBhcnRpdGlvbiAnJWMnIGxpbmtlZCB0byBET1MgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIiAgIHggICBlc3Rla2F0dSBCU0QgcGFydGl6aW9hIEJTRCBleiBkZW4gcGFydGl6aW8gYmF0aSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMTQKK21zZ2lkICJTbGljZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMQorbXNnaWQgIkZzaXplIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIyCittc2dpZCAiQnNpemUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjMKK21zZ2lkICJDcGciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo2NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zZSBkZXZpY2UgZmFpbGVkIgorbXNnc3RyICIlczogbHNlZWstZWsgaHV0cyBlZ2luIGR1IgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjgyNworIywgZnV6enkKK21zZ2lkICJjeWxpbmRlciIKK21zZ2lkX3BsdXJhbCAiY3lsaW5kZXJzIgorbXNnc3RyWzBdICJ6aWxpbmRyb2EiCittc2dzdHJbMV0gInppbGluZHJvYSIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4MjgKKyMsIGZ1enp5Cittc2dpZCAic2VjdG9yIgorbXNnaWRfcGx1cmFsICJzZWN0b3JzIgorbXNnc3RyWzBdICJzZWt0b3JlYSIKK21zZ3N0clsxXSAic2VrdG9yZWEiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6MTEzMQorbXNnaWQgIkluY29tcGxldGUgZ2VvbWV0cnkgc2V0dGluZy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxNAorIywgZnV6enkKK21zZ2lkICJBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGhhdmUgYmVlbiBkZWZpbmVkIGFscmVhZHkuIgorbXNnc3RyICJQYXJ0aXppbyBoYXUgZGFnb2VuZWtvIGVyYWJpbGl0YSBkYWdvIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBleHRlbmRlZCBwYXJ0aXRpb24gdGFibGUgKG9mZnNldD0lanUpIgorbXNnc3RyICJiZXJpcmFrdXJyaSBwYXJ0aXppbyB0YXVsYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjMyOAorbXNnaWQgIllvdSBjYW4gc2V0IGdlb21ldHJ5IGZyb20gdGhlIGV4dHJhIGZ1bmN0aW9ucyBtZW51LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzMxCittc2dpZCAiRE9TLWNvbXBhdGlibGUgbW9kZSBpcyBkZXByZWNhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzM1Cittc2dpZCAiVGhlIGRldmljZSBwcmVzZW50cyBhIGxvZ2ljYWwgc2VjdG9yIHNpemUgdGhhdCBpcyBzbWFsbGVyIHRoYW4gdGhlIHBoeXNpY2FsIHNlY3RvciBzaXplLiBBbGlnbmluZyB0byBhIHBoeXNpY2FsIHNlY3RvciAob3Igb3B0aW1hbCBJL08pIHNpemUgYm91bmRhcnkgaXMgcmVjb21tZW5kZWQsIG9yIHBlcmZvcm1hbmNlIG1heSBiZSBpbXBhY3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MQorbXNnaWQgIkN5bGluZGVycyBhcyBkaXNwbGF5IHVuaXRzIGFyZSBkZXByZWNhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBzaXplIG9mIHRoaXMgZGlzayBpcyAlcyAoJWp1IGJ5dGVzKS4gRE9TIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgY2FuIG5vdCBiZSB1c2VkIG9uIGRyaXZlcyBmb3Igdm9sdW1lcyBsYXJnZXIgdGhhbiAlbHUgYnl0ZXMgZm9yICVsdS1ieXRlIHNlY3RvcnMuIFVzZSBHVUlEIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgKEdQVCkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MDMKKyMsIGZ1enp5Cittc2dpZCAiQmFkIG9mZnNldCBpbiBwcmltYXJ5IGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIlBhcnRpemlvIHByaW1hcmlvIHR4YXJyYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjUxOQorIywgYy1mb3JtYXQKK21zZ2lkICJPbWl0dGluZyBwYXJ0aXRpb25zIGFmdGVyICMlenUuIFRoZXkgd2lsbCBiZSBkZWxldGVkIGlmIHlvdSBzYXZlIHRoaXMgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJFeHRyYSBsaW5rIHBvaW50ZXIgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIlBhcnRpemlvIGhhdSBkYWdvZW5la28gZXJhYmlsaXRhIGRhZ28iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGRhdGEgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSByYXcgZGF0dSBmb3JtYXR1YSBlcmFiaWxpeiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjYwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib21pdHRpbmcgZW1wdHkgcGFydGl0aW9uICglenUpIgorbXNnc3RyICJFemluIGRhIHBhcnRpenUgaHV0cyBiYXQgZXphYmF0dSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC4iCittc2dzdHIgIiVzIGNvbnRhaW5zIG5vIGRpc2tsYWJlbC5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY4NQorIywgZnV6enkKK21zZ2lkICJFbnRlciB0aGUgbmV3IGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiQWxkYXR1IGRpc2tvYXJlbiBnZW9tZXRyaWEgKGVyYWJpbHR6YWlsZSBhdXJyZXJhdHVhayBzb2lsaWspIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjkyCisjLCBmdXp6eQorbXNnaWQgIkluY29ycmVjdCB2YWx1ZS4iCittc2dzdHIgIkJhbGlvZ2FiZWtvIHppbGluZHJvIGJhbG9yZWFrIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tIDB4JTA4eCB0byAweCUwOHguIgorbXNnc3RyICJEaXNrbyBpZGVudGlmaWthdHphaWxlYTogMHglMDh4XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGV4dGVuZGVkIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIlBhcnRpemlvIGdlaGllZ2kiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBmbGFnIDB4JTAyeCUwMnggb2YgRUJSIChmb3IgcGFydGl0aW9uICV6dSkgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjkyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgc2VjdG9yICVqdSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJtZW1vcmlhdGlrIGthbnBvIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTAyNiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzNiBsaWJmZGlzay9zcmMvc2dpLmM6ODM5CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMDk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWxsdSBpcyBhbHJlYWR5IGFsbG9jYXRlZC4iCittc2dzdHIgIlBhcnRpemlvIGhhdSBkYWdvZW5la28gZXJhYmlsaXRhIGRhZ28iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTMzIGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQ2CisjLCBmdXp6eQorbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGUuIgorbXNnc3RyICJTYXJ0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YTogIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTI4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQWRkaW5nIGxvZ2ljYWwgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiUGFydGl6aW8gbG9naWtvIHR4YXJyYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGNvbnRhaW5zIHNlY3RvciAwIgorbXNnc3RyICJQYXJ0aXppb2EgMCBzZWt0b3JlYSBiYWluYSBsZWhlbmFnbyBoYXN0ZW4gZGEiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGhlYWQgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogc2VjdG9yICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY3lsaW5kZXIgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMzMAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBwcmV2aW91cyBzZWN0b3JzICV1IGRpc2FncmVlcyB3aXRoIHRvdGFsICV1IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGJlZ2lubmluZ3MgKG5vbi1MaW51eD8pOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgZW5kaW5nczogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICIlcyBwYXJ0aXppb2FrIGhhc2llcmFrbyAwIHNla3RvcmUgYmFsaW9nYWJlYSBkYXVrYS5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGJhZCBzdGFydC1vZi1kYXRhLiIKK21zZ3N0ciAiIgorIlxuIgorIlN3YXAgcGFydGl6aW9hayBleiBkYSBzd2FwIG1vZXRha29hLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogb3ZlcmxhcHMgcGFydGl0aW9uICV6dS4iCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZW1wdHkuIgorbXNnc3RyICJFemluIGRhIHBhcnRpenUgaHV0cyBiYXQgZXphYmF0dSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxvZ2ljYWwgcGFydGl0aW9uICV6dTogbm90IGVudGlyZWx5IGluIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJwYXJ0aXppbyBsb2dpa29hayBleiBkYXVkZSBkaXNrbyBvcmRlbmVhbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVG90YWwgYWxsb2NhdGVkIHNlY3RvcnMgJWxsdSBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gJWxsdS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVtYWluaW5nICVsbGQgdW5hbGxvY2F0ZWQgJWxkLWJ5dGUgc2VjdG9ycy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1MzIgbGliZmRpc2svc3JjL2Rvcy5jOjE5NTQKKyMsIGZ1enp5Cittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGFscmVhZHkgZXhpc3RzLiIKK21zZ3N0ciAiUGFydGl6aW8gaGF1IGRhZ29lbmVrbyBlcmFiaWxpdGEgZGFnbyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1NzUKKyMsIGZ1enp5Cittc2dpZCAiVGhlIG1heGltdW0gbnVtYmVyIG9mIHBhcnRpdGlvbnMgaGFzIGJlZW4gY3JlYXRlZC4iCittc2dzdHIgIkdlaGllbmV6a28gcGFydGl6aW8ga29wdXJ1YSBzb3J0dSBkYVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU4NworIywgZnV6enkKK21zZ2lkICJBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIgorbXNnc3RyICJQYXJ0aXppbyBoYXUgZGFnb2VuZWtvIGVyYWJpbGl0YSBkYWdvIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU4OSBsaWJmZGlzay9zcmMvZG9zLmM6MTYwMAorIywgZnV6enkKK21zZ2lkICJBbGwgc3BhY2UgZm9yIHByaW1hcnkgcGFydGl0aW9ucyBpcyBpbiB1c2UuIgorbXNnc3RyICJQYXJ0aXppbyBoYXUgZGFnb2VuZWtvIGVyYWJpbGl0YSBkYWdvIgorCisjLiBUUkFOU0xBVE9SUzogVHJ5IHRvIGtlZXAgdGhpcyB3aXRoaW4gODAgY2hhcmFjdGVycy4KKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjAzCittc2dpZCAiVG8gY3JlYXRlIG1vcmUgcGFydGl0aW9ucywgZmlyc3QgcmVwbGFjZSBhIHByaW1hcnkgd2l0aCBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjA4CisjLCBmdXp6eQorbXNnaWQgIkFsbCBsb2dpY2FsIHBhcnRpdGlvbnMgYXJlIGluIHVzZS4gQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb24uIgorbXNnc3RyICJwYXJ0aXppbyBsb2dpa29hayBleiBkYXVkZSBkaXNrbyBvcmRlbmVhbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzAKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHR5cGUiCittc2dzdHIgIlBhcnRpemlvIHplbmJha2lhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlenUgcHJpbWFyeSwgJWQgZXh0ZW5kZWQsICV6dSBmcmVlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjM5CisjLCBmdXp6eQorbXNnaWQgInByaW1hcnkiCittc2dzdHIgIlByaW1hcmlvYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDEKKyMsIGZ1enp5Cittc2dpZCAiZXh0ZW5kZWQiCittc2dzdHIgIkV4dGVuZGVkIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MQorIywgZnV6enkKK21zZ2lkICJjb250YWluZXIgZm9yIGxvZ2ljYWwgcGFydGl0aW9ucyIKK21zZ3N0ciAiUGFydGl6aW8gbG9naWtvIHR4YXJyYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDMKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCIKK21zZ3N0ciAiTG9naWtvYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDMKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyZWQgZnJvbSA1IgorbXNnc3RyICJwYXJ0aXppbyBsb2dpa29lbiB0ZWlsYWthcGVuYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIHR5cGUgYCVjJy4iCittc2dzdHIgIiVkIGJhbGlvZ2FiZWtvIGVraW50emFcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB3cml0ZSBzZWN0b3IgJWpkOiBzZWVrIGZhaWxlZCIKK21zZ3N0ciAiZXppbiBkYSAlcyBgdHlwZXNjcmlwdCcgZml0eGF0ZWdpYSBpcmVraSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE4NTIgbGliZmRpc2svc3JjL2dwdC5jOjEwOTYKKyMsIGZ1enp5Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJEaXNrbyBpZGVudGlmaWthdHphaWxlYTogMHglMDh4XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU5Cittc2dpZCAiVHlwZSAwIG1lYW5zIGZyZWUgc3BhY2UgdG8gbWFueSBzeXN0ZW1zLiBIYXZpbmcgcGFydGl0aW9ucyBvZiB0eXBlIDAgaXMgcHJvYmFibHkgdW53aXNlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk2NAorbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdHlwZSBvZiB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIHdoaWNoIGlzIGFscmVhZHkgdXNlZCBieSBsb2dpY2FsIHBhcnRpdGlvbnMuIERlbGV0ZSBsb2dpY2FsIHBhcnRpdGlvbnMgZmlyc3QuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTQzIGxpYmZkaXNrL3NyYy9ncHQuYzoyODIxCittc2dpZCAiTm90aGluZyB0byBkby4gT3JkZXJpbmcgaXMgY29ycmVjdCBhbHJlYWR5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogbm8gZGF0YSBhcmVhLiIKK21zZ3N0ciAiIgorIlxuIgorIlN3YXAgcGFydGl6aW9hayBleiBkYSBzd2FwIG1vZXRha29hLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjIyMgorIywgZnV6enkKK21zZ2lkICJOZXcgYmVnaW5uaW5nIG9mIGRhdGEiCittc2dzdHIgIiAgIGUgICBkaXNrb2FyZW4gZGF0YSBlZGl0YXR1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaXMgYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiUGFydGl6aW8gaGF1IGV6aW4gZGEgZXJhYmlsaSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJVbmVrbyBwYXJ0aXppb2FyZW4gYWJpYXJhemdhcnJpIGFkaWVyYXpsZWEgYWxkYXR1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJVbmVrbyBwYXJ0aXppb2FyZW4gYWJpYXJhemdhcnJpIGFkaWVyYXpsZWEgYWxkYXR1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI5OCBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxMSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1MworIzogbGliZmRpc2svc3JjL3N1bi5jOjExMDkKK21zZ2lkICJEZXZpY2UiCittc2dzdHIgIkdhaWx1YSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyOTkgbGliZmRpc2svc3JjL3N1bi5jOjQxCittc2dpZCAiQm9vdCIKK21zZ3N0ciAiQWJpbyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDUgbGliZmRpc2svc3JjL3NnaS5jOjExNTkgbGliZmRpc2svc3JjL3N1bi5jOjExMTUKK21zZ2lkICJJZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwOQorIywgZnV6enkKK21zZ2lkICJTdGFydC1DL0gvUyIKK21zZ3N0ciAiaGFzaWVyYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTAKK21zZ2lkICJFbmQtQy9IL1MiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTEgbGliZmRpc2svc3JjL2dwdC5jOjI5MjEgbGliZmRpc2svc3JjL3NnaS5jOjExNjEKK21zZ2lkICJBdHRycyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYwCittc2dpZCAiRUZJIFN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYyCisjLCBmdXp6eQorbXNnaWQgIk1CUiBwYXJ0aXRpb24gc2NoZW1lIgorbXNnc3RyICJQYXJ0aXppbyB6ZW5iYWtpYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MworbXNnaWQgIkludGVsIEZhc3QgRmxhc2giCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2NgorIywgZnV6enkKK21zZ2lkICJCSU9TIGJvb3QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjkKKyMsIGZ1enp5Cittc2dpZCAiU29ueSBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBiICAgICAgICAgIFVuZWtvIHBhcnRpemlvYXJpIGFiaWFyYXpnYXJyaSBhZGllcmF6bGVhIGphcnJpIGVkbyBrZW5kdSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MAorIywgZnV6enkKK21zZ2lkICJMZW5vdm8gYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIiAgYiAgICAgICAgICBVbmVrbyBwYXJ0aXppb2FyaSBhYmlhcmF6Z2FycmkgYWRpZXJhemxlYSBqYXJyaSBlZG8ga2VuZHUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAiUG93ZXJQQyBQUmVQIGJvb3QiCittc2dzdHIgIlBQQyBQUmVQIEJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzYKKyMsIGZ1enp5Cittc2dpZCAiT05JRSBib290IgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc3Cittc2dpZCAiT05JRSBjb25maWciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MAorbXNnaWQgIk1pY3Jvc29mdCByZXNlcnZlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgxCittc2dpZCAiTWljcm9zb2Z0IGJhc2ljIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MgorbXNnaWQgIk1pY3Jvc29mdCBMRE0gbWV0YWRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MworbXNnaWQgIk1pY3Jvc29mdCBMRE0gZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg0Cittc2dpZCAiV2luZG93cyByZWNvdmVyeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg1Cittc2dpZCAiSUJNIEdlbmVyYWwgUGFyYWxsZWwgRnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NgorbXNnaWQgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIkhQLVVYIGRhdGEiCittc2dzdHIgIiAgZCAgICAgICAgICBVbmVrbyBwYXJ0aXppb2EgZXphYmF0dSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MAorIywgZnV6enkKK21zZ2lkICJIUC1VWCBzZXJ2aWNlIgorbXNnc3RyICJFeiBkYWdvIHBhcnRpemlvIGdlaGlhZ28iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTMgbGliZmRpc2svc3JjL3NnaS5jOjYxIGxpYmZkaXNrL3NyYy9zdW4uYzo1MgorbXNnaWQgIkxpbnV4IHN3YXAiCittc2dzdHIgIkxpbnV4IHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTQKKyMsIGZ1enp5Cittc2dpZCAiTGludXggZmlsZXN5c3RlbSIKK21zZ3N0ciAiU2FydHUgZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGE6ICIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NQorIywgZnV6enkKK21zZ2lkICJMaW51eCBzZXJ2ZXIgZGF0YSIKK21zZ3N0ciAiU3VuT1MgcmVzZXJ2ZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTYKK21zZ2lkICJMaW51eCByb290ICh4ODYpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcKK21zZ2lkICJMaW51eCByb290IChBUk0pIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTgKK21zZ2lkICJMaW51eCByb290ICh4ODYtNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTkKK21zZ2lkICJMaW51eCByb290IChBUk0tNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAKK21zZ2lkICJMaW51eCByb290XHQoSUEtNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDEKKyMsIGZ1enp5Cittc2dpZCAiTGludXggcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIHJlc2VydmVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAyCisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IGhvbWUiCittc2dzdHIgIkxpbnV4IGV4dDIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMgbGliZmRpc2svc3JjL3NnaS5jOjY0Cittc2dpZCAiTGludXggUkFJRCIKK21zZ3N0ciAiTGludXggUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNAorIywgZnV6enkKK21zZ2lkICJMaW51eCBleHRlbmRlZCBib290IgorbXNnc3RyICJMaW51eCBleHRlbmRlZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMgorIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIGRhdGEiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTMKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBib290IgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0Qgc3dhcCIKK21zZ3N0ciAiQlNESSBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgVUZTIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgWkZTIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgVmludW0iCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAiQXBwbGUgSEZTL0hGUysiCittc2dzdHIgIkhGUyAvIEhGUysiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEKK21zZ2lkICJBcHBsZSBVRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMgorbXNnaWQgIkFwcGxlIFJBSUQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMworbXNnaWQgIkFwcGxlIFJBSUQgb2ZmbGluZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0Cittc2dpZCAiQXBwbGUgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1Cittc2dpZCAiQXBwbGUgbGFiZWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNgorbXNnaWQgIkFwcGxlIFRWIHJlY292ZXJ5IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjcKK21zZ2lkICJBcHBsZSBDb3JlIHN0b3JhZ2UiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMQorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJvb3QiCittc2dzdHIgIlNvbGFyaXMgYm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMworbXNnaWQgIlNvbGFyaXMgL3VzciAmIEFwcGxlIFpGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgc3dhcCIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNQorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIGJhY2t1cCIKK21zZ3N0ciAiU29sYXJpcyBib290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM2CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgL3ZhciIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNworIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIC9ob21lIgorbXNnc3RyICJTb2xhcmlzIGJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyBhbHRlcm5hdGUgc2VjdG9yIgorbXNnc3RyICJvcnJpIHR4YXIgZ2VoaWVnaSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOQorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDEiCittc2dzdHIgIlN1bk9TIHJlc2VydmVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQwCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMiIKK21zZ3N0ciAiU3VuT1MgcmVzZXJ2ZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDEKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAzIgorbXNnc3RyICJTdW5PUyByZXNlcnZlZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MgorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDQiCittc2dzdHIgIlN1bk9TIHJlc2VydmVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQzCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNSIKK21zZ3N0ciAiU3VuT1MgcmVzZXJ2ZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDYKKyMsIGZ1enp5Cittc2dpZCAiTmV0QlNEIHN3YXAiCittc2dzdHIgIkJTREkgc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NworIywgZnV6enkKK21zZ2lkICJOZXRCU0QgRkZTIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgKKyMsIGZ1enp5Cittc2dpZCAiTmV0QlNEIExGUyIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5Cittc2dpZCAiTmV0QlNEIGNvbmNhdGVuYXRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwCittc2dpZCAiTmV0QlNEIGVuY3J5cHRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUxCisjLCBmdXp6eQorbXNnaWQgIk5ldEJTRCBSQUlEIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTQKK21zZ2lkICJDaHJvbWVPUyBrZXJuZWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NQorbXNnaWQgIkNocm9tZU9TIHJvb3QgZnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NgorIywgZnV6enkKK21zZ2lkICJDaHJvbWVPUyByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgcmVzZXJ2ZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTkKK21zZ2lkICJNaWRuaWdodEJTRCBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjAKK21zZ2lkICJNaWRuaWdodEJTRCBib290IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjEKKyMsIGZ1enp5Cittc2dpZCAiTWlkbmlnaHRCU0Qgc3dhcCIKK21zZ3N0ciAiQlNESSBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyCittc2dpZCAiTWlkbmlnaHRCU0QgVUZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjMKK21zZ2lkICJNaWRuaWdodEJTRCBaRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NAorbXNnaWQgIk1pZG5pZ2h0QlNEIFZpbnVtIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjcKK21zZ2lkICJDZXBoIEpvdXJuYWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OAorbXNnaWQgIkNlcGggRW5jcnlwdGVkIEpvdXJuYWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OQorbXNnaWQgIkNlcGggT1NEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAKK21zZ2lkICJDZXBoIGNyeXB0IE9TRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcxCittc2dpZCAiQ2VwaCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzIKK21zZ2lkICJDZXBoIGNyeXB0IGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NQorIywgZnV6enkKK21zZ2lkICJPcGVuQlNEIGRhdGEiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzgKKyMsIGZ1enp5Cittc2dpZCAiUU5YNiBmaWxlIHN5c3RlbSIKK21zZ3N0ciAiU2FydHUgZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGE6ICIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4MQorIywgZnV6enkKK21zZ2lkICJQbGFuIDkgcGFydGl0aW9uIgorbXNnc3RyICIgIGQgICAgICAgICAgVW5la28gcGFydGl6aW9hIGV6YWJhdHUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo1NDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdQVCBoZWFkZXIiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NjMwCittc2dpZCAiRmlyc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NjQyCittc2dpZCAiTGFzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR1BUIFBNQlIgc2l6ZSBtaXNtYXRjaCAoJTxQUkl1NjQ+ICE9ICU8UFJJdTY0Pikgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjc5MgorIywgZnV6enkKK21zZ2lkICJncHQ6IHN0YXQoKSBmYWlsZWQiCittc2dzdHIgIiVzOiBzdGF0LWVrIGh1dHMgZWdpbiBkdSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjgwMgorIywgYy1mb3JtYXQKK21zZ2lkICJncHQ6IGNhbm5vdCBoYW5kbGUgZmlsZXMgd2l0aCBtb2RlICVvIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMDY0Cittc2dpZCAiR1BUIEhlYWRlciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTA2OQorbXNnaWQgIkdQVCBFbnRyaWVzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTAzCisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IExCQSIKK21zZ3N0ciAiTGVoZW5lbmdvICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEwOAorIywgZnV6enkKK21zZ2lkICJMYXN0IExCQSIKK21zZ3N0ciAiIEF6a2VuICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIExCQSAoTG9naWNhbCBCbG9jayBBZGRyZXNzKSBvZiB0aGUgYmFja3VwIEdQVCBoZWFkZXIuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTExNAorbXNnaWQgIkFsdGVybmF0aXZlIExCQSIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YXJ0IG9mIHRoZSBhcnJheSBvZiBwYXJ0aXRpb24gZW50cmllcy4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTIwCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBlbnRyaWVzIExCQSIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTI1CisjLCBmdXp6eQorbXNnaWQgIkFsbG9jYXRlZCBwYXJ0aXRpb24gZW50cmllcyIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNDQwCittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBwcmltYXJ5IGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTQ0OQorbXNnaWQgIlRoZSBwcmltYXJ5IEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIGJhY2t1cCBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIEdQVCBhdHRyaWJ1dGUgYml0ICclcyciCittc2dzdHIgIiVzOiBLb21hbmRvIGV6ZXphZ3VuYTogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBHUFQgYXR0cmlidXRlIHN0cmluZyAnJXMnIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBVVUlEIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIG5hbWUgY2hhbmdlZCBmcm9tICclcycgdG8gJyUuKnMnLiIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzY4CisjLCBmdXp6eQorbXNnaWQgIlRoZSBzdGFydCBvZiB0aGUgcGFydGl0aW9uIHVuZGVyc3RlcHMgRmlyc3RVc2FibGVMQkEuIgorbXNnc3RyICIiCisiXG4iCisiRXogZGEgc3dhcCBwYXJ0aXppb3JpayBleGlzdGl0emVuLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc3NQorIywgZnV6enkKK21zZ2lkICJUaGUgZW5kIG9mIHRoZSBwYXJ0aXRpb24gb3ZlcnN0ZXBzIExhc3RVc2FibGVMQkEuIgorbXNnc3RyICJQYXJ0aXppbyB0YXVsYSBkaXNrb2FuIGlkYXp0ZW4uLi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTM0Cittc2dpZCAiVGhlIGRldmljZSBjb250YWlucyBoeWJyaWQgTUJSIC0tIHdyaXRpbmcgR1BUIG9ubHkuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIE1CUiBtYW51YWxseS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NzEKKyMsIGZ1enp5Cittc2dpZCAiRGlzayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIiVzIGRpc2thayBleiBkYXVrYSBwYXJ0aXppbyB0YXVsYSB6dXplbmFcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NzYKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5ODAKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4NQorIywgZnV6enkKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiBlbnRyeSBjaGVja3N1bS4iCittc2dzdHIgIiVkIGJhbGlvZ2FiZWtvIGVraW50emFcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OTAKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5NAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OTkKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgcHJpbWFyeSBoZWFkZXIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAzCittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDA4Cittc2dpZCAiRGlzayBpcyB0b28gc21hbGwgdG8gaG9sZCBhbGwgZGF0YS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMTgKK21zZ2lkICJQcmltYXJ5IGFuZCBiYWNrdXAgaGVhZGVyIG1pc21hdGNoLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggcGFydGl0aW9uICV1LiIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgaXMgdG9vIGJpZyBmb3IgdGhlIGRpc2suIgorbXNnc3RyICJQYXJ0aXppb2EgZGlza28tYW1haWVyYSBiYWluYSBsZWhlbmFnbyBhbWFpdHplbiBkYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBlbmRzIGJlZm9yZSBpdCBzdGFydHMuIgorbXNnc3RyICJQYXJ0aXppb2EgMCBzZWt0b3JlYXJlbiBvbmRvcmVuIGFtYWl0emVuIGRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0NworbXNnaWQgIk5vIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkhlYWRlciB2ZXJzaW9uOiAlcyIKK21zZ3N0ciAiY3JjIGVycm9yZWEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2luZyAldSBvdXQgb2YgJWQgcGFydGl0aW9ucy4iCittc2dzdHIgIkV6IGRhIHBhcnRpemlvcmlrIGRlZmluaXR1XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnQuIgorbXNnaWRfcGx1cmFsICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnRzICh0aGUgbGFyZ2VzdCBpcyAlcykuIgorbXNnc3RyWzBdICJTYXJ0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YTogIgorbXNnc3RyWzFdICJTYXJ0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YTogIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBlcnJvciBkZXRlY3RlZC4iCittc2dpZF9wbHVyYWwgIiVkIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0MgorIywgZnV6enkKK21zZ2lkICJBbGwgcGFydGl0aW9ucyBhcmUgYWxyZWFkeSBpbiB1c2UuIgorbXNnc3RyICJQYXJ0aXppbyBoYXUgZGFnb2VuZWtvIGVyYWJpbGl0YSBkYWdvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5NyBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVqdSBhbHJlYWR5IHVzZWQuIgorbXNnc3RyICJQYXJ0aXppbyBoYXUgZGFnb2VuZWtvIGVyYWJpbGl0YSBkYWdvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJFeiBzb3J0dSBwYXJ0aXppbyBiYXQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBsYXN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaXJzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBHUFQgZGlza2xhYmVsIChHVUlEOiAlcykuIgorbXNnc3RyICIlcyBjb250YWlucyBubyBkaXNrbGFiZWwuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDQ3Cittc2dpZCAiRW50ZXIgbmV3IGRpc2sgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDU0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSB5b3VyIFVVSUQuIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0ODgKKyMsIGZ1enp5Cittc2dpZCAiTm90IGVub3VnaCBzcGFjZSBmb3IgbmV3IHBhcnRpdGlvbiB0YWJsZSEiCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5NworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV1IG91dCBvZiByYW5nZSAobWluaW1hbCBzdGFydCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMldSBvdXQgb2YgcmFuZ2UgKG1heGltYWwgZW5kIGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIG51bWJlciBvZiB0aGUgcGFydGl0aW9uIGhhcyBiZSBzbWFsbGVyIHRoYW4gJXp1LiIKK21zZ3N0ciAiR2VoaWVuZXprbyBwYXJ0aXppbyBrb3B1cnVhIHNvcnR1IGRhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTYzCisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBhbGxvY2F0ZSBtZW1vcnkhIgorbXNnc3RyICJlemluIGRhIGZvcmsgZWdpbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBsZW5ndGggY2hhbmdlZCBmcm9tICU8UFJJdTMyPiB0byAlPFBSSXU2ND4uIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBhdHRyaWJ1dGVzIG9uIHBhcnRpdGlvbiAlenUgY2hhbmdlZCB0byAweCUwMTY8UFJJeDY0Pi4iCittc2dzdHIgIlBhcnRpemlvIHRhdWxhIGRpc2tvYW4gaWRhenRlbi4uLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NDIKK21zZ2lkICJFbnRlciBHVUlEIHNwZWNpZmljIGJpdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHRvZ2dsZSB1bnN1cHBvcnRlZCBiaXQgJWx1IgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzcxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJQYXJ0aXppbyBoYXUgZXppbiBkYSBlcmFiaWxpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJQYXJ0aXppbyBoYXUgZXppbiBkYSBlcmFiaWxpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxOAorIywgZnV6enkKK21zZ2lkICJUeXBlLVVVSUQiCittc2dzdHIgIk1vZXRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxOQorbXNnaWQgIlVVSUQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MjAgbG9naW4tdXRpbHMvY2hmbi5jOjE1MCBsb2dpbi11dGlscy9jaGZuLmM6MTUyCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzA3Cittc2dpZCAiTmFtZSIKK21zZ3N0ciAiSXplbmEiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzo4NDAKKyMsIGZ1enp5Cittc2dpZCAiRnJlZSBzcGFjZSIKK21zZ3N0ciAiTGVrdSBsaWJyZWEiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzoxMjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiAjJXp1LiIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0dHlwZS5jOjI1OSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTUgc2NoZWR1dGlscy9jaHJ0LmM6MjA2CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc5IHN5cy11dGlscy9od2Nsb2NrLmM6MzM0Cittc2dpZCAidW5rbm93biIKK21zZ3N0ciAiZXplemFndW5hIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDcKK21zZ2lkICJTR0kgdm9saGRyIgorbXNnc3RyICJTR0kgdm9saGRyIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDgKK21zZ2lkICJTR0kgdHJrcmVwbCIKK21zZ3N0ciAiU0dJIHRya3JlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OQorbXNnaWQgIlNHSSBzZWNyZXBsIgorbXNnc3RyICJTR0kgc2VjcmVwbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUwCittc2dpZCAiU0dJIHJhdyIKK21zZ3N0ciAiU0dJIHJhdyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUxCittc2dpZCAiU0dJIGJzZCIKK21zZ3N0ciAiU0dJIGJzZCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUyCittc2dpZCAiU0dJIHN5c3YiCittc2dzdHIgIlNHSSBzeXN2IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTMKK21zZ2lkICJTR0kgdm9sdW1lIgorbXNnc3RyICJTR0kgdm9sdW1lIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTQKK21zZ2lkICJTR0kgZWZzIgorbXNnc3RyICJTR0kgZWZzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTUKK21zZ2lkICJTR0kgbHZvbCIKK21zZ3N0ciAiU0dJIGx2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NgorbXNnaWQgIlNHSSBybHZvbCIKK21zZ3N0ciAiU0dJIHJsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTcKK21zZ2lkICJTR0kgeGZzIgorbXNnc3RyICJTR0kgeGZzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTgKK21zZ2lkICJTR0kgeGZzbG9nIgorbXNnc3RyICJTR0kgeGZzbG9nIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTkKK21zZ2lkICJTR0kgeGx2IgorbXNnc3RyICJTR0kgeGx2IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAKK21zZ2lkICJTR0kgeHZtIgorbXNnc3RyICJTR0kgeHZtIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjIgbGliZmRpc2svc3JjL3N1bi5jOjUzCisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IG5hdGl2ZSIKK21zZ3N0ciAiTGludXggZXh0MiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjE1OQorbXNnaWQgIlNHSSBpbmZvIGNyZWF0ZWQgb24gc2Vjb25kIHNlY3Rvci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI1OQorbXNnaWQgIkRldGVjdGVkIGFuIFNHSSBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4MiBsaWJmZGlzay9zcmMvc3VuLmM6NzcwCisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiU2FydHUgemlsaW5kcm8ga29wdXJ1YToiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODcgbGliZmRpc2svc3JjL3N1bi5jOjc3NQorIywgZnV6enkKK21zZ2lkICJFeHRyYSBzZWN0cy9jeWwiCittc2dzdHIgIlNhcnR1IHBpc3Rha28gemVuYmF0IHNla3RvcmUga29wdXJ1YToiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyOTcKKyMsIGZ1enp5Cittc2dpZCAiQm9vdGZpbGUiCittc2dzdHIgIihIdXJyZW5nbyBmaXR4YXRlZ2lhOiAlcykiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzozOTUKK21zZ2lkICJJbnZhbGlkIGJvb3RmaWxlISAgVGhlIGJvb3RmaWxlIG11c3QgYmUgYW4gYWJzb2x1dGUgbm9uLXplcm8gcGF0aG5hbWUsIGUuZy4gXCIvdW5peFwiIG9yIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDAxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlIG1heGltdW0uIgorbXNnaWRfcGx1cmFsICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZXMgbWF4aW11bS4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDA4Cittc2dpZCAiQm9vdGZpbGUgbXVzdCBoYXZlIGEgZnVsbHkgcXVhbGlmaWVkIHBhdGhuYW1lLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDE0Cittc2dpZCAiQmUgYXdhcmUgdGhhdCB0aGUgYm9vdGZpbGUgaXMgbm90IGNoZWNrZWQgZm9yIGV4aXN0ZW5jZS4gIFNHSSdzIGRlZmF1bHQgaXMgXCIvdW5peFwiLCBhbmQgZm9yIGJhY2t1cCBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGN1cnJlbnQgYm9vdCBmaWxlIGlzOiAlcyIKK21zZ3N0ciAiIgorIlxuIgorIlVuZWtvIGFiaW8gZml0eGF0ZWdpYTogJXNcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0MQorIywgZnV6enkKK21zZ2lkICJFbnRlciBvZiB0aGUgbmV3IGJvb3QgZmlsZSIKK21zZ3N0ciAiTWVzZWRleiBzYXJ0dSBhYmlvIGZpdHhhdGVnaSBiZXJyaWFyZW4gaXplbmE6IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQ2CisjLCBmdXp6eQorbXNnaWQgIkJvb3QgZmlsZSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJFemluIGRhICclcycgZml0eGF0ZWdpYSBpcmVraSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQm9vdGZpbGUgaGFzIGJlZW4gY2hhbmdlZCB0byBcIiVzXCIuIgorbXNnc3RyICIiCisiXG4iCisiXHRBYmlvIGZpdHhhdGVnaWEgXCIlc1wiLShlKXJhIGFsZGF0dSBkYS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5NgorbXNnaWQgIk1vcmUgdGhhbiBvbmUgZW50aXJlIGRpc2sgZW50cnkgcHJlc2VudC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYwMyBsaWJmZGlzay9zcmMvc3VuLmM6NDU4CisjLCBmdXp6eQorbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZC4iCittc2dzdHIgIkV6IGRhIHBhcnRpemlvcmlrIGRlZmluaXR1XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTMKKyMsIGZ1enp5Cittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiUGFydGl6aW9hIGRpc2tvLWFtYWllcmEgYmFpbmEgbGVoZW5hZ28gYW1haXR6ZW4gZGEiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIHBhcnRpdGlvbiBzaG91bGQgc3RhcnQgYXQgYmxvY2sgMCwgbm90IGF0IGJsb2NrICVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjI4CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiAxMSBzaG91bGQgY292ZXIgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiUGFydGl6aW9hIGRpc2tvLWFtYWllcmEgYmFpbmEgbGVoZW5hZ28gYW1haXR6ZW4gZGEiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9yLiIKK21zZ2lkX3BsdXJhbCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3JzLiIKK21zZ3N0clswXSAiUGFydGl6aW9hIGRpc2tvLWFtYWllcmEgYmFpbmEgbGVoZW5hZ28gYW1haXR6ZW4gZGEiCittc2dzdHJbMV0gIlBhcnRpemlvYSBkaXNrby1hbWFpZXJhIGJhaW5hIGxlaGVuYWdvIGFtYWl0emVuIGRhIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjYzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3Rvcjogc2VjdG9yICU4dSIKK21zZ2lkX3BsdXJhbCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yczogc2VjdG9ycyAlOHUtJXUiCittc2dzdHJbMF0gIkJhbGlvZ2FiZWtvIHNla3RvcmUgYmFsb3JlYWsiCittc2dzdHJbMV0gIkJhbGlvZ2FiZWtvIHNla3RvcmUgYmFsb3JlYWsiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2OTgKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGJvb3QgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiIgorIlxuIgorIkV6IGRhIHN3YXAgcGFydGl6aW9yaWsgZXhpc3RpdHplbi5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwMgorIywgZnV6enkKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICIiCisiXG4iCisiRXogZGEgc3dhcCBwYXJ0aXppb3JpayBleGlzdGl0emVuLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA2CisjLCBmdXp6eQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBoYXMgbm8gc3dhcCB0eXBlLiIKK21zZ3N0ciAiIgorIlxuIgorIlN3YXAgcGFydGl6aW9hayBleiBkYSBzd2FwIG1vZXRha29hLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA5CisjLCBmdXp6eQorbXNnaWQgIllvdSBoYXZlIGNob3NlbiBhbiB1bnVzdWFsIGJvb3RmaWxlIG5hbWUuIgorbXNnc3RyICJcdE9oaXoga2FucG9rbyBhYmlvIGZpdHhhdGVnaSBpemVuYSBhdWtlcmF0dSBkdXp1LlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzU5CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiIKK21zZ3N0ciAiUGFydGl6aW9hIGRpc2tvLWFtYWllcmEgYmFpbmEgbGVoZW5hZ28gYW1haXR6ZW4gZGEiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDQKK21zZ2lkICJBdHRlbXB0aW5nIHRvIGdlbmVyYXRlIGVudGlyZSBkaXNrIGVudHJ5IGF1dG9tYXRpY2FsbHkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDkKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgaXMgYWxyZWFkeSBjb3ZlcmVkIHdpdGggcGFydGl0aW9ucy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg1MworIywgZnV6enkKK21zZ2lkICJZb3UgZ290IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCEiCittc2dzdHIgIlBhcnRpemlvYSBkaXNrby1hbWFpZXJhIGJhaW5hIGxlaGVuYWdvIGFtYWl0emVuIGRhIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODc1IGxpYmZkaXNrL3NyYy9zdW4uYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3QgJXMiCittc2dzdHIgIkxlaGVuZW5nbyAlcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg5OSBsaWJmZGlzay9zcmMvc2dpLmM6OTQ5Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIGVsZXZlbnRoIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrIGFuZCBpcyBvZiB0eXBlICdTR0kgdm9sdW1lJy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjkxNCBsaWJmZGlzay9zcmMvc3VuLmM6NjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMYXN0ICVzIG9yICslcyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICJBemtlbiAlcy0oZSlhIGVkbyArdGFtYWludWEgZWRvICt0YW1haW51YU0gZWRvICt0YW1haW51YUsiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5ODUgbGliZmRpc2svc3JjL3N1bi5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNTEKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTR0kgZGlza2xhYmVsLiIKK21zZ3N0ciAiJXMgY29udGFpbnMgbm8gZGlza2xhYmVsLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3MAorbXNnaWQgIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3NgorbXNnaWQgIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDkgYXMgdm9sdW1lIGhlYWRlciAoMCksIGFuZCBwYXJ0aXRpb24gMTEgYXMgZW50aXJlIHZvbHVtZSAoNiksIGFzIElSSVggZXhwZWN0cyBpdC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwODUKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwIGlzIG9mIHR5cGUgXCJTR0kgdm9saGRyXCIsIHRoZSBJUklYIHN5c3RlbSB3aWxsIHJlbHkgb24gaXQgdG8gcmV0cmlldmUgZnJvbSBpdHMgZGlyZWN0b3J5IHN0YW5kYWxvbmUgdG9vbHMgbGlrZSBzYXNoIGFuZCBmeC4gT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiBBcmUgeW91IHN1cmUgYWJvdXQgdGFnZ2luZyB0aGlzIHBhcnRpdGlvbiBkaWZmZXJlbnRseT8iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQwCittc2dpZCAiVW5hc3NpZ25lZCIKK21zZ3N0ciAiRXphcnJpIGdhYmVhIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDIKK21zZ2lkICJTdW5PUyByb290IgorbXNnc3RyICJTdW5PUyByb290IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDMKK21zZ2lkICJTdW5PUyBzd2FwIgorbXNnc3RyICJTdW5PUyBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDQKK21zZ2lkICJTdW5PUyB1c3IiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ1Cittc2dpZCAiV2hvbGUgZGlzayIKK21zZ3N0ciAiRGlza28gb3NvYSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2Cittc2dpZCAiU3VuT1Mgc3RhbmQiCittc2dzdHIgIlN1bk9TIHN0YW5kIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyB2YXIiCittc2dzdHIgIlN1bk9TIHZhciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ4Cittc2dpZCAiU3VuT1MgaG9tZSIKK21zZ3N0ciAiU3VuT1MgaG9tZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ5Cittc2dpZCAiU3VuT1MgYWx0IHNlY3RvcnMiCittc2dzdHIgIlN1bk9TIGFsdCBzZWN0b3JzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTAKK21zZ2lkICJTdW5PUyBjYWNoZWZzIgorbXNnc3RyICJTdW5PUyBjYWNoZWZzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTEKK21zZ2lkICJTdW5PUyByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgcmVzZXJ2ZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMzcKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIFByb2JhYmx5IHlvdSdsbCBoYXZlIHRvIHNldCBhbGwgdGhlIHZhbHVlcywgZS5nLiBoZWFkcywgc2VjdG9ycywgY3lsaW5kZXJzIGFuZCBwYXJ0aXRpb25zIG9yIGZvcmNlIGEgZnJlc2ggbGFiZWwgKHMgY29tbWFuZCBpbiBtYWluIG1lbnUpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZlcnNpb24gWyVkXS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5zYW5pdHkgWzB4JTA4eF0uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2MubnBhcnRzIFsldV0uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNjUKK21zZ2lkICJXYXJuaW5nOiBXcm9uZyB2YWx1ZXMgbmVlZCB0byBiZSBmaXhlZCB1cCBhbmQgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTkyCittc2dpZCAiSGVhZHMiCittc2dzdHIgIkJ1cnVhayIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE5NAorbXNnaWQgIlNlY3RvcnMvdHJhY2siCittc2dzdHIgIlNla3RvcmVhayBwaXN0YWtvIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Mjk3CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU3VuIGRpc2tsYWJlbC4iCittc2dzdHIgIiVzIGNvbnRhaW5zIG5vIGRpc2tsYWJlbC5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGRvZXNuJ3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiJXMgcGFydGl6aW9hayBoYXNpZXJha28gMCBzZWt0b3JlIGJhbGlvZ2FiZWEgZGF1a2EuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIG90aGVycyBpbiBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiUGFydGl6aW9hIGRpc2tvLWFtYWllcmEgYmFpbmEgbGVoZW5hZ28gYW1haXR6ZW4gZGEiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzIDAtJXUuIgorbXNnc3RyICJCYWxpb2dhYmVrbyBzZWt0b3JlIGJhbG9yZWFrIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDY1IGxpYmZkaXNrL3NyYy9zdW4uYzo0NzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiQmFsaW9nYWJla28gc2VrdG9yZSBiYWxvcmVhayIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUyOAorbXNnaWQgIk90aGVyIHBhcnRpdGlvbnMgYWxyZWFkeSBjb3ZlciB0aGUgd2hvbGUgZGlzay4gRGVsZXRlIHNvbWUvc2hyaW5rIHRoZW0gYmVmb3JlIHJldHJ5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWQgaXMgYWxyZWFkeSBhbGxvY2F0ZWQiCittc2dzdHIgIlBhcnRpemlvIGhhdSBkYWdvZW5la28gZXJhYmlsaXRhIGRhZ28iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2MDAKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgdGhpcmQgcGFydGl0aW9uIGNvdmVycyB0aGUgd2hvbGUgZGlzayBhbmQgaXMgb2YgdHlwZSBgV2hvbGUgZGlzayciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYxMAorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbmluZyB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gJXUgdG8gJXUgdG8gYmUgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBoYXZlbid0IGNvdmVyZWQgdGhlIHdob2xlIGRpc2sgd2l0aCB0aGUgM3JkIHBhcnRpdGlvbiwgYnV0IHlvdXIgdmFsdWVcbiIKKyIlbHUgJXMgY292ZXJzIHNvbWUgb3RoZXIgcGFydGl0aW9uLiBZb3VyIGVudHJ5IGhhcyBiZWVuIGNoYW5nZWRcbiIKKyJ0byAlbHUgJXMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjcyNgorIywgYy1mb3JtYXQKK21zZ2lkICJJZiB5b3Ugd2FudCB0byBtYWludGFpbiBTdW5PUy9Tb2xhcmlzIGNvbXBhdGliaWxpdHksIGNvbnNpZGVyIGxlYXZpbmcgdGhpcyBwYXJ0aXRpb24gYXMgV2hvbGUgZGlzayAoNSksIHN0YXJ0aW5nIGF0IDAsIHdpdGggJXUgc2VjdG9ycyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzUwCisjLCBmdXp6eQorbXNnaWQgIkxhYmVsIElEIgorbXNnc3RyICJldGlrZXRhOiAlLipzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NTUKKyMsIGZ1enp5Cittc2dpZCAiVm9sdW1lIElEIgorbXNnc3RyICJCb2x1bWVuYTogPCUtNnM+XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjUKKyMsIGZ1enp5Cittc2dpZCAiQWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiU2FydHUgemlsaW5kcm8ga29wdXJ1YToiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo4NzEKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIlNhcnR1IHppbGluZHJvIGtvcHVydWE6IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6ODk2CisjLCBmdXp6eQorbXNnaWQgIkV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJTYXJ0dSBwaXN0YWtvIHplbmJhdCBzZWt0b3JlIGtvcHVydWE6IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTIwCittc2dpZCAiSW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk0NAorbXNnaWQgIlJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICJCaXJhIG1pbnV0dWtvIChycG0pIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTY4CisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIlNhcnR1IHppbGluZHJvIGtvcHVydWE6IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTAzNworbXNnaWQgIiIKKyJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiAzIGFzIFdob2xlIGRpc2sgKDUpLFxuIgorImFzIFN1bk9TL1NvbGFyaXMgZXhwZWN0cyBpdCBhbmQgZXZlbiBMaW51eCBsaWtlcyBpdC5cbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA0OAorbXNnaWQgIiIKKyJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwXG4iCisiaXMgVUZTLCBFWFQyRlMgZmlsZXN5c3RlbSBvciBTdW5PUyBzd2FwLiBQdXR0aW5nIExpbnV4IHN3YXBcbiIKKyJ0aGVyZSBtYXkgZGVzdHJveSB5b3VyIHBhcnRpdGlvbiB0YWJsZSBhbmQgYm9vdGJsb2NrLlxuIgorIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB0YWcgdGhlIHBhcnRpdGlvbiBhcyBMaW51eCBzd2FwPyIKK21zZ3N0ciAiIgorCisjOiBsaWIvcGFnZXIuYzoxMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhaXRwaWQgZmFpbGVkICglcykiCittc2dzdHIgIndhaXRwaWQtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBsaWIvcGF0aC5jOjIwOSBzeXMtdXRpbHMvbHNjcHUuYzoxODE4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjYWxsb2NhdGUgY3B1IHNldCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGxpYi9wYXRoLmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3QgJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBsaWIvcGF0aC5jOjIxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrICVzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MgorIywgZnV6enkKK21zZ2lkICJjYW4gbm90IG9wZW4gVU5JWCBzb2NrZXQiCittc2dzdHIgImV6aW4gZGEgJXMgaXJla2kiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzgKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG5vdCBzZXQgb3B0aW9uIGZvciBVTklYIHNvY2tldCIKK21zZ3N0ciAiRXppbiBkYSBkaXNrb2FyZW4gdGFtYWludWEgbG9ydHUiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG5vdCBjb25uZWN0IG9uIFVOSVggc29ja2V0IgorbXNnc3RyICJlemluIGRhICVzIGlyZWtpIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGx5bW91dGggcmVxdWVzdCAlYyBpcyBub3QgaW1wbGVtZW50ZWQiCittc2dzdHIgIiIKKworIzogbGliL3JhbmR1dGlscy5jOjEzNgorbXNnaWQgImxpYmMgcHNldWRvLXJhbmRvbSBmdW5jdGlvbnMiCittc2dzdHIgIiIKKworIzogbGliL3N3YXBwcm9iZXIuYzoxNyBsaWIvc3dhcHByb2Jlci5jOjMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHByb2JlIGRldmljZSIKK21zZ3N0ciAiZXppbiBkaXJhIGJvb3RiaXQgc2VrdG9yZWFrIGV6YWJhdHUiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYmlndW91cyBwcm9iaW5nIHJlc3VsdDsgdXNlIHdpcGVmcyg4KSIKK21zZ3N0ciAiIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgdmFsaWQgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIiVzOiBleiBkYWdvIGhvcnJlbGFrbyBwYXJ0aXppb3Jpa1xuIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5zdXBwb3J0ZWQgc3dhcCB2ZXJzaW9uICclcyciCittc2dzdHIgImZpdHhhdGVnaSBzaXN0ZW1hcmVuIGV1c2thcnJpcmlrIGdhYmVrbyBlemF1Z2FycmlhayIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjkwIGxvZ2luLXV0aWxzL2Noc2guYzo2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHlvdXIgZmluZ2VyIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJJcnRldGVuIC0gZXogZGEgZXplciBhbGRhdHVcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk2Cittc2dpZCAiIC1mLCAtLWZ1bGwtbmFtZSA8ZnVsbC1uYW1lPiAgcmVhbCBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk3Cittc2dpZCAiIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICAgb2ZmaWNlIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OAorbXNnaWQgIiAtcCwgLS1vZmZpY2UtcGhvbmUgPHBob25lPiAgIG9mZmljZSBwaG9uZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTkKK21zZ2lkICIgLWgsIC0taG9tZS1waG9uZSA8cGhvbmU+ICAgICBob21lIHBob25lIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDEgbG9naW4tdXRpbHMvY2hzaC5jOjc4Cittc2dpZCAiIC11LCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjExNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmllbGQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgImVyZW11YSBsdXplZWdpYSBkYS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyMSBsb2dpbi11dGlscy9jaHNoLmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBoYXMgaWxsZWdhbCBjaGFyYWN0ZXJzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTAgbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTYyCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luLmRlZnMgZm9yYmlkcyBzZXR0aW5nICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE1OCBsb2dpbi11dGlscy9jaGZuLmM6MzA5Cittc2dpZCAiT2ZmaWNlIgorbXNnc3RyICJCdWxlZ29hIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjQgbG9naW4tdXRpbHMvY2hmbi5jOjMxMQorbXNnaWQgIk9mZmljZSBQaG9uZSIKK21zZ3N0ciAiQnVsZWdva28gdGVsZWZvbm8gemVuYmFraWEiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjggbG9naW4tdXRpbHMvY2hmbi5jOjE3MCBsb2dpbi11dGlscy9jaGZuLmM6MzEzCittc2dpZCAiSG9tZSBQaG9uZSIKK21zZ3N0ciAiRXR4ZWtvIHRlbGVmb25vIHplbmJha2lhIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MjMzCisjLCBmdXp6eQorbXNnaWQgIkFib3J0ZWQuIgorbXNnc3RyICIiCisiXG4iCisiQWJvcnRhdHVhLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGhhcyB1bmV4cGVjdGVkIHZhbHVlOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGRvZXMgbm90IGFsbG93IGFueSBjaGFuZ2VzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIGNoYW5nZWQuXG4iCittc2dzdHIgIklydGV0ZW4gLSBleiBkYSBlemVyIGFsZGF0dVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDA4IGxvZ2luLXV0aWxzL2Noc2guYzoyNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInlvdSAodXNlciAlZCkgZG9uJ3QgZXhpc3QuIgorbXNnc3RyICIiCisiXG4iCisiRXogZGEgc3dhcCBwYXJ0aXppb3JpayBleGlzdGl0emVuLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDE0IGxvZ2luLXV0aWxzL2Noc2guYzoyNDggbG9naW4tdXRpbHMvbGlidXNlci5jOjU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIFwiJXNcIiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIiIKKyJcbiIKKyJFeiBkYSBzd2FwIHBhcnRpemlvcmlrIGV4aXN0aXR6ZW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MjAgbG9naW4tdXRpbHMvY2hzaC5jOjI1NAorIywgZnV6enkKK21zZ2lkICJjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcyIKK21zZ3N0ciAiRXogZGFnbyBwYXJ0aXppbyB0YXVsYXJpay5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIGZpbmdlciBpbmZvIG9mICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzUgbG9naW4tdXRpbHMvY2hzaC5jOjI3MAorIywgZnV6enkKK21zZ2lkICJVbmtub3duIHVzZXIgY29udGV4dCIKK21zZ3N0ciAicmVuaWNlOiAlczogZXJhYmlsdHphaWxlIGV6ZXphZ3VuYVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDQxIGxvZ2luLXV0aWxzL2Noc2guYzoyNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHNldCBkZWZhdWx0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICJFemluIGRhIGRpc2tvYXJlbiB0YW1haW51YSBsb3J0dSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MgorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBmaW5nZXIgaW5mb3JtYXRpb24gZm9yICVzLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIG5vdCBjaGFuZ2VkLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3MgorIywgZnV6enkKK21zZ2lkICJDaGFuZ2UgeW91ciBsb2dpbiBzaGVsbC5cbiIKK21zZ3N0ciAiJXMtKHIpZW4gcGFydGl6aW8gdGF1bGFcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc1Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gIHNwZWNpZnkgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6NzYKK21zZ2lkICIgLWwsIC0tbGlzdC1zaGVsbHMgICAgcHJpbnQgbGlzdCBvZiBzaGVsbHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MTAwCisjLCBmdXp6eQorbXNnaWQgIk5vIGtub3duIHNoZWxscy4iCittc2dzdHIgIkV6IGRhZ28gcGFydGl6aW8gdGF1bGFyaWsuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDAKK21zZ2lkICJzaGVsbCBtdXN0IGJlIGEgZnVsbCBwYXRoIG5hbWUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJmc2NrOiAlczogZXogZGEgYXVya2l0dVxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgaXMgbm90IGV4ZWN1dGFibGUiCittc2dzdHIgIiclYycgZXogZGFnbyBvbmFydHV0YS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuIgorbXNnc3RyICJQYXJ0aXppbyBoYXUgZGFnb2VuZWtvIGVyYWJpbGl0YSBkYWdvIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjE0IGxvZ2luLXV0aWxzL2Noc2guYzoyMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy5cbiIKKyJVc2UgJXMgLWwgdG8gc2VlIGxpc3QuIgorbXNnc3RyICJbRXJhYmlsaSBxIGVkbyBRIGlydGV0ZWtvXSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIHNoZWxsIG9mICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyOTUKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ciBzaGVsbCBpcyBub3QgaW4gJXMsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgc2hlbGwgZm9yICVzLlxuIgorbXNnc3RyICIlcy0ocillbiBwYXJ0aXppbyB0YXVsYVxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzEyCisjLCBmdXp6eQorbXNnaWQgIk5ldyBzaGVsbCIKK21zZ3N0ciAiRWdvZXJhIGJlcnJpYTpcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyMAorIywgZnV6enkKK21zZ2lkICJTaGVsbCBub3QgY2hhbmdlZC4iCittc2dzdHIgIklydGV0ZW4gLSBleiBkYSBlemVyIGFsZGF0dVxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzI1Cittc2dpZCAiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyOQorbXNnaWQgIiIKKyJzZXRwd25hbSBmYWlsZWRcbiIKKyJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTaGVsbCBjaGFuZ2VkLlxuIgorbXNnc3RyICJJcnRldGVuIC0gZXogZGEgZXplciBhbGRhdHVcbiIKKworIzogbG9naW4tdXRpbHMvaXNsb2NhbC5jOjk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgPHBhc3N3b3JkZmlsZT4gPHVzZXJuYW1lPi4uLlxuIgorbXNnc3RyICJlcmFiaWxlcmE6ICVzIFtmaXR4YXRlZ2lhXVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MTc0IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyMCBzeXMtdXRpbHMvZG1lc2cuYzoxMTkzCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdGltZSBmb3JtYXQ6ICVzIgorbXNnc3RyICIlczogS29tYW5kbyBlemV6YWd1bmE6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyODEgbG9naW4tdXRpbHMvbGFzdC5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcnJ1cHRlZCAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NDM5IGxvZ2luLXV0aWxzL2xhc3QuYzo0NTAKK21zZ2lkICJwcmVhbGxvY2F0aW9uIHNpemUgZXhjZWVkZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPi4uLl0gWzx0dHk+Li4uXVxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzIKK21zZ2lkICJTaG93IGEgbGlzdGluZyBvZiBsYXN0IGxvZ2dlZCBpbiB1c2Vycy5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc1Cittc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgIGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc2Cittc2dpZCAiIC1hLCAtLWhvc3RsYXN0ICAgICAgIGRpc3BsYXkgaG9zdG5hbWVzIGluIHRoZSBsYXN0IGNvbHVtblxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzcKK21zZ2lkICIgLWQsIC0tZG5zICAgICAgICAgICAgdHJhbnNsYXRlIHRoZSBJUCBudW1iZXIgYmFjayBpbnRvIGEgaG9zdG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICB1c2UgYSBzcGVjaWZpYyBmaWxlIGluc3RlYWQgb2YgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgwCittc2dpZCAiIC1GLCAtLWZ1bGx0aW1lcyAgICAgIHByaW50IGZ1bGwgbG9naW4gYW5kIGxvZ291dCB0aW1lcyBhbmQgZGF0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgxCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pcCAgICAgICAgICAgICBkaXNwbGF5IElQIG51bWJlcnMgaW4gbnVtYmVycy1hbmQtZG90cyBub3RhdGlvblxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODIKK21zZ2lkICIgLW4sIC0tbGltaXQgPG51bWJlcj4gaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODMKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIGRvbid0IGRpc3BsYXkgdGhlIGhvc3RuYW1lIGZpZWxkXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBFcmFrdXRzaSBwYXJ0aXppbyB0YXVsYSBwYW50YWlsYW4gZWRvIGlkYXR6aSBmaXR4YXRlZ2lyZW4gYmF0ZWFuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg0Cittc2dpZCAiIC1zLCAtLXNpbmNlIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHNpbmNlIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODUKK21zZ2lkICIgLXQsIC0tdW50aWwgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgdW50aWwgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NgorbXNnaWQgIiAtcCwgLS1wcmVzZW50IDx0aW1lPiBkaXNwbGF5IHdobyB3ZXJlIHByZXNlbnQgYXQgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NworIywgZnV6enkKK21zZ2lkICIgLXcsIC0tZnVsbG5hbWVzICAgICAgZGlzcGxheSBmdWxsIHVzZXIgYW5kIGRvbWFpbiBuYW1lc1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODgKK21zZ2lkICIgLXgsIC0tc3lzdGVtICAgICAgICAgZGlzcGxheSBzeXN0ZW0gc2h1dGRvd24gZW50cmllcyBhbmQgcnVuIGxldmVsIGNoYW5nZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg5Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXBzIGluIHRoZSBzcGVjaWZpZWQgPGZvcm1hdD46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGltZXxzaG9ydHxmdWxsfGlzb1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo4ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlcyBiZWdpbnMgJXMiCittc2dzdHIgIlBhcnRpemlvYSAwIHNla3RvcmVhIGJhaW5hIGxlaGVuYWdvIGhhc3RlbiBkYSIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk1NiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY0CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTc3IGxvZ2luLXV0aWxzL2xhc3QuYzo5ODIgbG9naW4tdXRpbHMvbGFzdC5jOjk4NworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZSB2YWx1ZSBcIiVzXCIiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjI5IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzozMQorbXNnaWQgIkNvdWxkbid0IGRyb3AgZ3JvdXAgcHJpdmlsZWdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxpYnVzZXIgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlcy4iCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1MgorIywgZnV6enkKK21zZ2lkICJjaGFuZ2luZyB1c2VyIGF0dHJpYnV0ZSBmYWlsZWQiCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo2NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIGF0dHJpYnV0ZSBub3QgY2hhbmdlZDogJXMiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJXUgaXMgNjAuCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjE4MAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lZCBvdXQgYWZ0ZXIgJXUgc2Vjb25kcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6IGNhbid0IHJlb3BlbiB0dHk6ICVtIgorbXNnc3RyICJtb3VudDogZXppbiBkYSAlcyBpcmVraTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlcyBpcyBub3QgYSB0ZXJtaW5hbCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gKCVzLCAlbHUsICVsdSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2hvd24tKGUpayBodXRzIGVnaW4gZHU6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2htb2QgKCVzLCAldSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiL2RldjogY2hkaXIoKS1layBodXRzIGVnaW4gZHU6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM3NQorIywgZnV6enkKK21zZ2lkICJGQVRBTDogYmFkIHR0eSIKK21zZ3N0ciAiZml0eGF0ZWdpIGx1emVlcmEgb2tlcnJhIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXM6IGNoYW5nZSBwZXJtaXNzaW9ucyBmYWlsZWQ6ICVtIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGxvZ2luOiAlLipzICIKK21zZ3N0ciAiICAgICAgICAgICAgICAgTGVoZW5hICAgICBBemtlbmFcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZyb20gJS4qc1xuIgorbXNnc3RyICIlcy0oZSl0aWsgcmVuaWNlLWVhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbiAlLipzXG4iCittc2dzdHIgIiAgICAgICAgZGlza28gZ3V6dGlhbi4gIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjU1MgorIywgZnV6enkKK21zZ2lkICJ3cml0ZSBsYXN0bG9nIGZhaWxlZCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIHN0ZG91dC1lcmEgaWRhenRlbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRJQUxVUCBBVCAlcyBCWSAlcyIKK21zZ3N0ciAiJXMtKHIpZW4gZGlza28gZXRpa2V0YSBpcmFrdXJ0emVuICVkIHNla3RvcmVhbi5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyBGUk9NICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIgorbXNnc3RyICIgICAgICAgIGRpc2tvIGd1enRpYW4uICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTE9HSU4gT04gJXMgQlkgJXMgRlJPTSAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTE9HSU4gT04gJXMgQlkgJXMiCittc2dzdHIgIiAgICAgICAgZGlza28gZ3V6dGlhbi4gIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjcxOQorbXNnaWQgImxvZ2luOiAiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUEFNIGZhaWx1cmUsIGFib3J0aW5nOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ291bGRuJ3QgaW5pdGlhbGl6ZSBQQU06ICVzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOICV1IEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgyNSBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIkxvZ2luIGluY29ycmVjdFxuIgorIlxuIgorbXNnc3RyICJQYXNhaGl0eiBva2VycmEuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg0MAorIywgYy1mb3JtYXQKK21zZ2lkICJUT08gTUFOWSBMT0dJTiBUUklFUyAoJXUpIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg0NgorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gU0VTU0lPTiBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKK21zZ3N0ciAiUGFzYWhpdHogb2tlcnJhLiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4ODIgbG9naW4tdXRpbHMvbG9naW4uYzoxMjMyIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI1NQorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHNldHVwIHByb2JsZW0sIGFib3J0LiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICJOVUxMIHVzZXIgbmFtZSBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVElPQ1NDVFRZIGZhaWxlZDogJW0iCittc2dzdHIgInN0YXQtZWsgaHV0cyBlZ2luIGR1OiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTc0CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luOiAtaCBpcyBmb3Igc3VwZXJ1c2VyIG9ubHlcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6IGxvZ2luIFstcF0gWy1oIDxob3N0Pl0gWy1IXSBbWy1mXSA8dXNlcm5hbWU+XVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE5MQorbXNnaWQgIkJlZ2luIGEgc2Vzc2lvbiBvbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTIzMworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHVzZXIgbmFtZSBcIiVzXCIgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImdyb3VwcyBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICIlczogZ2V0IHNpemUgZWdpdGVyYWtvYW4gaHV0cyBlZ2luIGRhIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNzkKKyMsIGZ1enp5Cittc2dpZCAic2V0Z2lkKCkgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKS1rIGh1dHMgZWdpbiBkdSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG5ldyBtYWlsLlxuIgorbXNnc3RyICJQb3N0YSBlbGVrdHJvbmlrbyBiZXJyaWEgZHV6dS5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzExCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG1haWwuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzI1Cittc2dpZCAic2V0dWlkKCkgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKS1rIGh1dHMgZWdpbiBkdSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzMxIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjaGFuZ2UgZGlyZWN0b3J5IGZhaWxlZCIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzM4IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9nZ2luZyBpbiB3aXRoIGhvbWUgPSBcIi9cIi5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNjcKK21zZ2lkICJjb3VsZG4ndCBleGVjIHNoZWxsIHNjcmlwdCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNjkKKyMsIGZ1enp5Cittc2dpZCAibm8gc2hlbGwiCittc2dzdHIgIjxpPiAoZXogZGFnbyBpcmFkb2tpenVuaWspIDwvaT4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjIwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGNvbnRhaW5zIGludmFsaWQgbnVtZXJpY2FsIHZhbHVlOiAlcyIKK21zZ3N0ciAiQmFsaW9nYWJla28gemlsaW5kcm8gYmFsb3JlYWsiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjM3NQorbXNnaWQgImh1c2ggbG9naW4gc3RhdHVzOiByZXN0b3JlIG9yaWdpbmFsIElEcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDggc3lzLXV0aWxzL2xzY3B1LmM6MTU0MCBzeXMtdXRpbHMvbHNjcHUuYzoxNTUwCittc2dpZCAibm8iCittc2dzdHIgImV6IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNyBtaXNjLXV0aWxzL2xzYmxrLmM6MTgxCisjLCBmdXp6eQorbXNnaWQgInVzZXIgbmFtZSIKK21zZ3N0ciAiQmFsaW9nYWJla28gdGVrbGEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3CisjLCBmdXp6eQorbXNnaWQgIlVzZXJuYW1lIgorbXNnc3RyICJCYWxpb2dhYmVrbyB0ZWtsYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTggc3lzLXV0aWxzL3JlbmljZS5jOjU0CisjLCBmdXp6eQorbXNnaWQgInVzZXIgSUQiCittc2dzdHIgImVyYWJpbHR6YWlsZWEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE5CisjLCBmdXp6eQorbXNnaWQgInBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAiUGFzYWhpdHogZXJyb3JlYS4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE5CisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAiUGFzYWhpdHogZXJyb3JlYS4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAibG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKK21zZ2lkICJMb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgInBhc3N3b3JkIGRlZmluZWQsIGJ1dCBsb2NrZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKKyMsIGZ1enp5Cittc2dpZCAiUGFzc3dvcmQgaXMgbG9ja2VkIgorbXNnc3RyICJQYXNhaGl0emE6ICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJsb2cgaW4gZGlzYWJsZWQgYnkgbm9sb2dpbig4KSBvciBwYW1fbm9sb2dpbig4KSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorbXNnaWQgIk5vIGxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCittc2dpZCAicHJpbWFyeSBncm91cCBuYW1lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCisjLCBmdXp6eQorbXNnaWQgIlByaW1hcnkgZ3JvdXAiCittc2dzdHIgIlByaW1hcmlvYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjQKK21zZ2lkICJwcmltYXJ5IGdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworIywgZnV6enkKK21zZ2lkICJob21lIGRpcmVjdG9yeSIKK21zZ3N0ciAiPGk+IChleiBkYWdvIGlyYWRva2l6dW5paykgPC9pPiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKKyMsIGZ1enp5Cittc2dpZCAiSG9tZSBkaXJlY3RvcnkiCittc2dzdHIgIjxpPiAoZXogZGFnbyBpcmFkb2tpenVuaWspIDwvaT4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4CisjLCBmdXp6eQorbXNnaWQgImxvZ2luIHNoZWxsIgorbXNnc3RyICI8aT4gKGV6IGRhZ28gaXJhZG9raXp1bmlrKSA8L2k+IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorIywgZnV6enkKK21zZ2lkICJTaGVsbCIKK21zZ3N0ciAiPGk+IChleiBkYWdvIGlyYWRva2l6dW5paykgPC9pPiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKKyMsIGZ1enp5Cittc2dpZCAiZnVsbCB1c2VyIG5hbWUiCittc2dzdHIgIkJhbGlvZ2FiZWtvIHRla2xhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgIkdlY29zIGZpZWxkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCisjLCBmdXp6eQorbXNnaWQgImRhdGUgb2YgbGFzdCBsb2dpbiIKK21zZ3N0ciAibGVoZW4gbGVycm9hcmVuIG9uZG9yZW4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCisjLCBmdXp6eQorbXNnaWQgIkxhc3QgbG9naW4iCittc2dzdHIgIiAgICAgICAgICAgICAgIExlaGVuYSAgICAgQXprZW5hXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCittc2dpZCAibGFzdCB0dHkgdXNlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgIkxhc3QgdGVybWluYWwiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJob3N0bmFtZSBkdXJpbmcgdGhlIGxhc3Qgc2Vzc2lvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorIywgZnV6enkKK21zZ2lkICJMYXN0IGhvc3RuYW1lIgorbXNnc3RyICIgICAgICAgICAgICAgICBMZWhlbmEgICAgIEF6a2VuYVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworIywgZnV6enkKK21zZ2lkICJkYXRlIG9mIGxhc3QgZmFpbGVkIGxvZ2luIgorbXNnc3RyICIlczogZ2V0IHNpemUgZWdpdGVyYWtvYW4gaHV0cyBlZ2luIGRhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworbXNnaWQgIkZhaWxlZCBsb2dpbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorIywgZnV6enkKK21zZ2lkICJ3aGVyZSBkaWQgdGhlIGxvZ2luIGZhaWw/IgorbXNnc3RyICJodXRzIGVnaW4gZGEgc3Rkb3V0LWVyYSBpZGF6dGVuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgbG9naW4gdGVybWluYWwiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgInVzZXIncyBodXNoIHNldHRpbmdzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAiSHVzaGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiZGF5cyB1c2VyIGlzIHdhcm5lZCBvZiBwYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiB3YXJuIGludGVydmFsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAicGFzc3dvcmQgZXhwaXJhdGlvbiBkYXRlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIlBhc2FoaXR6IGVycm9yZWEuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorbXNnaWQgImRhdGUgb2YgbGFzdCBwYXNzd29yZCBjaGFuZ2UiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiUGFzc3dvcmQgY2hhbmdlZCIKK21zZ3N0ciAiUGFzYWhpdHphOiAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAibnVtYmVyIG9mIGRheXMgcmVxdWlyZWQgYmV0d2VlbiBjaGFuZ2VzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5CisjLCBmdXp6eQorbXNnaWQgIk1pbmltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIkV6IGRhZ28gcGFydGl6aW8gdGF1bGFyaWsuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAibWF4IG51bWJlciBvZiBkYXlzIGEgcGFzc3dvcmQgbWF5IHJlbWFpbiB1bmNoYW5nZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKKyMsIGZ1enp5Cittc2dpZCAiTWF4aW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCittc2dpZCAidGhlIHVzZXIncyBzZWN1cml0eSBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCisjLCBmdXp6eQorbXNnaWQgIlNlbGludXggY29udGV4dCIKK21zZ3N0ciAiTGludXggcGxhaW50ZXh0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorIywgZnV6enkKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIHJ1biBieSB0aGUgdXNlciIKK21zZ3N0ciAiU2FydHUgemlsaW5kcm8ga29wdXJ1YToiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCisjLCBmdXp6eQorbXNnaWQgIlJ1bm5pbmcgcHJvY2Vzc2VzIgorbXNnc3RyICIlczogZXppbiBkYSBcIiVzXCIgcHJvemVzdWEgYXVya2l0dVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzYgbWlzYy11dGlscy9sc2Jsay5jOjIzMQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGNvbHVtbnMgc3BlY2lmaWVkLCB0aGUgbGltaXQgaXMgJXp1IGNvbHVtbnMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDMgc3lzLXV0aWxzL2xzaXBjLmM6NDU2CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIHRpbWUgdHlwZSIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY29tcG9zZSB0aW1lIHN0cmluZyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6NjQ4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzEKKyMsIGZ1enp5Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVua25vd24gY29sdW1uIgorbXNnc3RyICJiYXJuZSBlcnJvcmVhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzUgc3lzLXV0aWxzL2xzaXBjLmM6NTAzIHN5cy11dGlscy9sc2lwYy5jOjYyNQorIzogc3lzLXV0aWxzL2xzaXBjLmM6NjgwIHN5cy11dGlscy9sc2lwYy5jOjgzOCBzeXMtdXRpbHMvbHNpcGMuYzoxMDM2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgZGF0YSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTE2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxhc3QgbG9nczpcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgTGVoZW5hICAgICBBemtlbmFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjI4IGxvZ2luLXV0aWxzL25vbG9naW4uYzoyNgorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTAxIG1pc2MtdXRpbHMvbWNvb2tpZS5jOjgyIG1pc2MtdXRpbHMvdXVpZGQuYzo3MAorIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjUgc3lzLXV0aWxzL2RtZXNnLmM6MjY0IHN5cy11dGlscy9pcGNtay5jOjY2CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTYwIHN5cy11dGlscy9sc2lwYy5jOjI3NyBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDQKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6OTUgdGVybS11dGlscy9zZXR0ZXJtLmM6MzgwIHRleHQtdXRpbHMvbGluZS5jOjMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYV1cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMxCittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBrbm93biB1c2VycyBpbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNAorbXNnaWQgIiAtYSwgLS1hY2MtZXhwaXJhdGlvbiAgICAgZGlzcGxheSBpbmZvIGFib3V0IHBhc3N3b3JkcyBleHBpcmF0aW9uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM1Cittc2dpZCAiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICBkaXNwbGF5IGRhdGEgaW4gYSBmb3JtYXQgc2ltaWxhciB0byAvZXRjL3Bhc3N3ZFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNiBzeXMtdXRpbHMvbHNpcGMuYzoyOTYKKyMsIGZ1enp5Cittc2dpZCAiIC1lLCAtLWV4cG9ydCAgICAgICAgICAgICBkaXNwbGF5IGluIGFuIGV4cG9ydC1hYmxlIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzcKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZhaWxlZCAgICAgICAgICAgICBkaXNwbGF5IGRhdGEgYWJvdXQgdGhlIHVzZXJzJyBsYXN0IGZhaWxlZCBsb2dpbnNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzgKKyMsIGZ1enp5Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGdyb3Vwc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICBMZWhlbmEgICAgIEF6a2VuYVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzkKK21zZ2lkICIgLWcsIC0tZ3JvdXBzPTxncm91cHM+ICAgIGRpc3BsYXkgdXNlcnMgYmVsb25naW5nIHRvIGEgZ3JvdXAgaW4gPGdyb3Vwcz5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWxhc3QgICAgICAgICAgICAgICBzaG93IGluZm8gYWJvdXQgdGhlIHVzZXJzJyBsYXN0IGxvZ2luIHNlc3Npb25zXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQxCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb2dpbnM9PGxvZ2lucz4gICAgZGlzcGxheSBvbmx5IHVzZXJzIGZyb20gPGxvZ2lucz5cbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDIgc3lzLXV0aWxzL2xzaXBjLmM6Mjk4CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uZXdsaW5lICAgICAgICAgICAgZGlzcGxheSBlYWNoIHBpZWNlIG9mIGluZm9ybWF0aW9uIG9uIGEgbmV3IGxpbmVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEVyYWt1dHNpIHBhcnRpemlvIHRhdWxhIHBhbnRhaWxhbiBlZG8gaWRhdHppIGZpdHhhdGVnaXJlbiBiYXRlYW4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MyBzeXMtdXRpbHMvbHNpcGMuYzoyOTEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NCBzeXMtdXRpbHMvbHNpcGMuYzoyOTIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBkb24ndCB0cnVuY2F0ZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgTGVoZW5hICAgICBBemtlbmFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMAorbXNnaWQgIiAtbywgLS1vdXRwdXRbPTxsaXN0Pl0gICAgZGVmaW5lIHRoZSBjb2x1bW5zIHRvIG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NgorbXNnaWQgIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGxvZ2luIGJ5IHBhc3N3b3JkLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NyBzeXMtdXRpbHMvbHNpcGMuYzozMDIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICBkaXNwbGF5IGluIHJhdyBtb2RlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ4CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAgZGlzcGxheSBzeXN0ZW0gYWNjb3VudHNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDkgc3lzLXV0aWxzL2xzaXBjLmM6MjkzCittc2dpZCAiICAgICAtLXRpbWUtZm9ybWF0PTx0eXBlPiBkaXNwbGF5IGRhdGVzIGluIHNob3J0LCBmdWxsIG9yIGlzbyBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTAKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzZXItYWNjcyAgICAgICAgICBkaXNwbGF5IHVzZXIgYWNjb3VudHNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTEKKyMsIGZ1enp5Cittc2dpZCAiIC1aLCAtLWNvbnRleHQgICAgICAgICAgICBkaXNwbGF5IFNFTGludXggY29udGV4dHNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTIKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0IHVzZXIgZW50cmllcyB3aXRoIGEgbnVsIGNoYXJhY3RlclxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MworbXNnaWQgIiAgICAgLS13dG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciB3dG1wXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjU0Cittc2dpZCAiICAgICAtLWJ0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIGJ0bXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTkgbWlzYy11dGlscy9maW5kbW50LmM6MTI0NyBzeXMtdXRpbHMvbHNjcHUuYzoxOTc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnM6XG4iCittc2dzdHIgIkVyYWJpbGdhcnJpIGRhdWRlbiBrb21hbmRvYWs6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ0MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVxdWVzdCBzZWxpbnV4IHN0YXRlIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDU2IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ2MAorbXNnaWQgIk9ubHkgb25lIHVzZXIgbWF5IGJlIHNwZWNpZmllZC4gVXNlIC1sIGZvciBtdWx0aXBsZSB1c2Vycy4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NDkgbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTUKKyMsIGZ1enp5Cittc2dpZCAiY291bGQgbm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJlemluIGRpcmEgYm9vdGJpdCBzZWt0b3JlYWsgZXphYmF0dSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTcKKyMsIGZ1enp5Cittc2dpZCAiZ2V0bGluZSgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCktayBodXRzIGVnaW4gZHUiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE0OAorbXNnaWQgIlBhc3N3b3JkOiAiCittc2dzdHIgIlBhc2FoaXR6YTogIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNTQgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMDUKKyMsIGZ1enp5Cittc2dpZCAiY3J5cHQgZmFpbGVkIgorbXNnc3RyICJtYWxsb2MoKS1layBodXRzIGVnaW4gZHUiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxncm91cD5cbiIKK21zZ3N0ciAiZXppbiBkYSAlcyBpcmVraSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTY5Cittc2dpZCAiTG9nIGluIHRvIGEgbmV3IGdyb3VwLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIwNworbXNnaWQgIndobyBhcmUgeW91PyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTEgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjIzIHN5cy11dGlscy9uc2VudGVyLmM6NDIzCisjLCBmdXp6eQorbXNnaWQgInNldGdpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpLWsgaHV0cyBlZ2luIGR1IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTYgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjE4CisjLCBmdXp6eQorbXNnaWQgIm5vIHN1Y2ggZ3JvdXAiCittc2dzdHIgImV6aW4gZGEgJXMgaXJla2kiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyMSBzeXMtdXRpbHMvbW91bnQuYzo0OTEKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjcgc3lzLXV0aWxzL25zZW50ZXIuYzo0MjUKKyMsIGZ1enp5Cittc2dpZCAic2V0dWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCktayBodXRzIGVnaW4gZHUiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzoyOQorbXNnaWQgIlBvbGl0ZWx5IHJlZnVzZSBhIGxvZ2luLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzo3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhpcyBhY2NvdW50IGlzIGN1cnJlbnRseSBub3QgYXZhaWxhYmxlLlxuIgorbXNnc3RyICJQYXJ0aXppbyBoYXUgZGFnb2VuZWtvIGVyYWJpbGl0YSBkYWdvIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoyOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIHNlc3Npb246ICVzIgorbXNnc3RyICJlemluIGRhICVzIGlyZWtpIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMDQKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBjaGlsZCBwcm9jZXNzIgorbXNnc3RyICJlemluIGRhICVzIGlkLWEgZXphYmF0dSAoJXMpXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMjEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGJsb2NrIHNpZ25hbHMiCittc2dzdHIgIkV6aW4gZGEgJyVzJyBmaXR4YXRlZ2lhIGlyZWtpIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMzUgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzQzCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNDkgbWlzYy11dGlscy91dWlkZC5jOjQwNyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc3MQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJlemluIGRhIGxlcnJvYXJlbiBkaXN6aXBsaW5hIGV6YXJyaSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Mzc0Cittc2dpZCAiIChjb3JlIGR1bXBlZCkiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQsIGtpbGxpbmcgc2hlbGwuLi4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NDA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLi4ua2lsbGVkLlxuIgorbXNnc3RyICIlcy0oZSlrIGh1dHMgZWdpbiBkdS5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NDg2Cittc2dpZCAibWF5IG5vdCBiZSB1c2VkIGJ5IG5vbi1yb290IHVzZXJzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjUxNAorIywgZnV6enkKK21zZ2lkICJpbmNvcnJlY3QgcGFzc3dvcmQiCittc2dzdHIgIlBhc2FoaXR6IG9rZXJyYS4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjU5OAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwcyIKK21zZ3N0ciAiZXppbiBkYSAlcyBpcmVraSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjEzIHN5cy11dGlscy9lamVjdC5jOjY2NQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwIGlkIgorbXNnc3RyICJlemluIGRhICVzIGlyZWtpIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2MTUgc3lzLXV0aWxzL2VqZWN0LmM6NjY4CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgdXNlciBpZCIKK21zZ3N0ciAiRXppbiBkYSBkaXNrb2FyZW4gdGFtYWludWEgbG9ydHUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAtdSA8dXNlcj4gW1stLV0gPGNvbW1hbmQ+XVxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY4OSBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJlcmFiaWxlcmE6ICVzIGFwbGlrYXppb2EgW2FyZ3VtZW50dWEgLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2OTAKK21zZ2lkICIiCisiXG4iCisiUnVuIDxjb21tYW5kPiB3aXRoIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgb2YgPHVzZXI+LiAgSWYgLXUgaXNcbiIKKyJub3QgZ2l2ZW4sIGZhbGwgYmFjayB0byBzdSgxKS1jb21wYXRpYmxlIHNlbWFudGljcyBhbmQgZXhlY3V0ZSBzdGFuZGFyZCBzaGVsbC5cbiIKKyJUaGUgb3B0aW9ucyAtYywgLWYsIC1sLCBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC11LlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY5NworIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNlciA8dXNlcj4gICAgICAgICAgICAgdXNlcm5hbWVcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDIKK21zZ2lkICIiCisiXG4iCisiQ2hhbmdlIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgdG8gdGhhdCBvZiA8dXNlcj4uXG4iCisiQSBtZXJlIC0gaW1wbGllcyAtbC4gIElmIDx1c2VyPiBpcyBub3QgZ2l2ZW4sIHJvb3QgaXMgYXNzdW1lZC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDkKK21zZ2lkICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBkbyBub3QgcmVzZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzEwCittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgICAgICAgICAgc3BlY2lmeSB0aGUgcHJpbWFyeSBncm91cFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMQorbXNnaWQgIiIKKyIgLUcsIC0tc3VwcC1ncm91cCA8Z3JvdXA+ICAgICAgICBzcGVjaWZ5IGEgc3VwcGxlbWVudGFsIGdyb3VwXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzEzCittc2dpZCAiIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgICAgbWFrZSB0aGUgc2hlbGwgYSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxNAorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgICAgICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxNQorIywgZnV6enkKK21zZ2lkICIiCisiIC0tc2Vzc2lvbi1jb21tYW5kIDxjb21tYW5kPiAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZG8gbm90IGNyZWF0ZSBhIG5ldyBzZXNzaW9uXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgIExlaGVuYSAgICAgQXprZW5hXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxNworIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICBwYXNzIC1mIHRvIHRoZSBzaGVsbCAoZm9yIGNzaCBvciB0Y3NoKVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxOAorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHJ1biA8c2hlbGw+IGlmIC9ldGMvc2hlbGxzIGFsbG93cyBpdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc2MgorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXAgaXMgbm90IHBvc3NpYmxlIgorbXNnaWRfcGx1cmFsICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXBzIGlzIG5vdCBwb3NzaWJsZSIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXAgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiIKKyJcbiIKKyJFeiBkYSBzd2FwIHBhcnRpemlvcmlrIGV4aXN0aXR6ZW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg4NgorbXNnaWQgImlnbm9yaW5nIC0tcHJlc2VydmUtZW52aXJvbm1lbnQsIGl0J3MgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1sb2dpbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4OTcKK21zZ2lkICJvcHRpb25zIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IGFuZCAtLXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5MDEKKyMsIGZ1enp5Cittc2dpZCAibm8gY29tbWFuZCB3YXMgc3BlY2lmaWVkIgorbXNnc3RyICJFeiBkYSAtLWRhdGUgYXVrZXJhcmlrIHplaGF6dHUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkxNQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gc3BlY2lmeSBhbHRlcm5hdGl2ZSBncm91cHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2VyICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIiCisiXG4iCisiRXogZGEgc3dhcCBwYXJ0aXppb3JpayBleGlzdGl0emVuLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgcmVzdHJpY3RlZCBzaGVsbCAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEzMAorIywgZnV6enkKK21zZ2lkICJ0Y2dldGF0dHIgZmFpbGVkIgorbXNnc3RyICIlczogc3RhdC1layBodXRzIGVnaW4gZHUiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoyMDcKKyMsIGZ1enp5Cittc2dpZCAidGNzZXRhdHRyIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN0YXQtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiJXM6IGV6aW4gZGEgZm9yayBlZ2luXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJvb3QgcGFzc3dvcmQgZ2FyYmxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJDYW5ub3Qgb3BlbiBhY2Nlc3MgdG8gY29uc29sZSwgdGhlIHJvb3QgYWNjb3VudCBpcyBsb2NrZWQuXG4iCisiU2VlIHN1bG9naW4oOCkgbWFuIHBhZ2UgZm9yIG1vcmUgZGV0YWlscy5cbiIKKyJcbiIKKyJQcmVzcyBFbnRlciB0byBjb250aW51ZS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbG9naW46ICIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBsb2dpbjogIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIob3IgcHJlc3MgQ29udHJvbC1EIHRvIGNvbnRpbnVlKTogIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3NDIKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSB0byBzeXN0ZW0gcm9vdCBmYWlsZWQiCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTEKKyMsIGZ1enp5Cittc2dpZCAic2V0ZXhlY2NvbiBmYWlsZWQiCittc2dzdHIgImV4ZWN2LWVrIGh1dHMgZWdpbiBkdSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbdHR5IGRldmljZV1cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODE0Cittc2dpZCAiU2luZ2xlLXVzZXIgbG9naW4uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxNworbXNnaWQgIiIKKyIgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgIHN0YXJ0IGEgbG9naW4gc2hlbGxcbiIKKyIgLXQsIC0tdGltZW91dCA8c2Vjb25kcz4gIG1heCB0aW1lIHRvIHdhaXQgZm9yIGEgcGFzc3dvcmQgKGRlZmF1bHQ6IG5vIGxpbWl0KVxuIgorIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAgZXhhbWluZSBwYXNzd29yZCBmaWxlcyBkaXJlY3RseSBpZiBnZXRwd25hbSgzKSBmYWlsc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4NzEgbWlzYy11dGlscy9maW5kbW50LmM6MTQ2MyBzeXMtdXRpbHMvd2RjdGwuYzo1MjMKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzUwIHRlcm0tdXRpbHMvd2FsbC5jOjEzNQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg5MworIywgZnV6enkKK21zZ2lkICJvbmx5IHN1cGVydXNlciBjYW4gcnVuIHRoaXMgcHJvZ3JhbSIKK21zZ3N0ciAibW91bnQ6IGV6aW4gZGEgJXMgaXJla2k6ICVzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTM2CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIGNvbnNvbGUiCittc2dzdHIgImV6aW4gZGEgJXMgaXJla2kiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5NDMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gcGFzc3dvcmQgZGF0YWJhc2UiCittc2dzdHIgIkV6aW4gZGEgZGlza29hcmVuIHRhbWFpbnVhIGxvcnR1IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIkNhbiBub3QgZXhlY3V0ZSBzdSBzaGVsbFxuIgorIlxuIgorbXNnc3RyICJFemluIGRhIGRpc2tvYXJlbiB0YW1haW51YSBsb3J0dSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjcKKyMsIGZ1enp5Cittc2dpZCAiIgorIlRpbWVkIG91dFxuIgorIlxuIgorbXNnc3RyICIlczogTWVtb3JpYXoga2FucG8hXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDU5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJDYW4gbm90IHdhaXQgb24gc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiRXppbiBkYSBkaXNrb2FyZW4gdGFtYWludWEgbG9ydHUiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTc2IHRleHQtdXRpbHMvdGFpbGYuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxODUgdGV4dC11dGlscy90YWlsZi5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgaW5vdGlmeSBldmVudHMiCittc2dzdHIgIiVzOiBlemluIGRpcmEgaW5vdGlmeSBnZXJ0YWVyYWsgaXJha3VycmkiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjQ2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjUxCittc2dpZCAiRXh0cmFuZW91cyBuZXdsaW5lIGluIGZpbGUuIEV4aXRpbmcuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlbmFtZV1cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMgorbXNnaWQgIkR1bXAgVVRNUCBhbmQgV1RNUCBmaWxlcyBpbiByYXcgZm9ybWF0LlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE1CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb2xsb3cgICAgICAgICBvdXRwdXQgYXBwZW5kZWQgZGF0YSBhcyB0aGUgZmlsZSBncm93c1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTYKK21zZ2lkICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgd3JpdGUgYmFjayBkdW1wZWQgZGF0YSBpbnRvIHV0bXAgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8ZmlsZT4gIHdyaXRlIHRvIGZpbGUgaW5zdGVhZCBvZiBzdGFuZGFyZCBvdXRwdXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4NAorbXNnaWQgImZvbGxvd2luZyBzdGFuZGFyZCBpbnB1dCBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIHVuZHVtcCBvZiAlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgZHVtcCBvZiAlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiY2FuJ3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiZXppbiBkYSAlcyBgdGltaW5nJyBmaXR4YXRlZ2lhIGlyZWtpIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY3JlYXRlIGEgbGluayB0byAlcyBmYWlsZWQiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBnZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIkV6aW4gZGEgZGlza29hcmVuIHRhbWFpbnVhIGxvcnR1IgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IHNldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmNoYW5nZWQiCittc2dzdHIgImFsZGF0dXRhIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjU0CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgbG9jayIKK21zZ3N0ciAiZXppbiBkYSBmb3JrIGVnaW4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyODEKKyMsIGZ1enp5Cittc2dpZCAibm8gY2hhbmdlcyBtYWRlIgorbXNnc3RyICJFeiBkYWdvIHBhcnRpemlvIHRhdWxhcmlrLlxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjkwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjaG1vZCBmaWxlIgorbXNnc3RyICJFemluIGRhICclcycgZml0eGF0ZWdpYSBpcmVraSIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjMwNAorbXNnaWQgIkVkaXQgdGhlIHBhc3N3b3JkIG9yIGdyb3VwIGZpbGUuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM1MAorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IGdyb3VwcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzUxCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgcGFzc3dvcmRzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiB0aGlzIHByb2dyYW0gdXNlcyBmb3IgeSBhbmQgbiBycG1hdGNoKDMpLAorIy4gKiB3aGljaCBtZWFucyB0aGV5IGNhbiBiZSB0cmFuc2xhdGVkLgorIzogbG9naW4tdXRpbHMvdmlwdy5jOjM1NQorIywgYy1mb3JtYXQKK21zZ2lkICJXb3VsZCB5b3UgbGlrZSB0byBlZGl0ICVzIG5vdyBbeS9uXT8gIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzcyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbW9udGggYXJndW1lbnQiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogbWlzYy11dGlscy9jYWwuYzozODAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB3ZWVrIGFyZ3VtZW50IgorbXNnc3RyICJiYWxpb2dhYmVrbyBhdWtlcmEiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzgyCisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogdXNlIDEtNTQiCittc2dzdHIgImJhbGlvZ2FiZWtvIGVndW4gYmFsb3JlYTogZXJhYmlsaSAxLSVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHRpbWVzdGFtcCBvciB1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MzEKKyMsIGZ1enp5Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWUiCittc2dzdHIgIkJhbGlvZ2FiZW9rIGJ1cnUgYmFsb3JlYWsiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDMzIG1pc2MtdXRpbHMvY2FsLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlOiB1c2UgMS0lZCIKK21zZ3N0ciAiYmFsaW9nYWJla28gZWd1biBiYWxvcmVhOiBlcmFiaWxpIDEtJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDM3IG1pc2MtdXRpbHMvY2FsLmM6NDQ1Cittc2dpZCAiaWxsZWdhbCBtb250aCB2YWx1ZTogdXNlIDEtMTIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgIlBhcnRpemlvIHRhdWxhIG1vZXRhIGV6ZXphZ3VuYSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NDggbWlzYy11dGlscy9jYWwuYzo0NTIKKyMsIGZ1enp5Cittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlIgorbXNnc3RyICJCYWxpb2dhYmVvayBidXJ1IGJhbG9yZWFrIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ1MAorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWU6IHVzZSBwb3NpdGl2ZSBpbnRlZ2VyIgorbXNnc3RyICJiYWxpb2dhYmVrbyBlZ3VuIGJhbG9yZWE6IGVyYWJpbGkgMS0lZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0ODIgbWlzYy11dGlscy9jYWwuYzo0OTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogeWVhciAlZCBkb2Vzbid0IGhhdmUgd2VlayAlZCIKK21zZ3N0ciAiYmFsaW9nYWJla28gZWd1biBiYWxvcmVhOiBlcmFiaWxpIDEtJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6Njc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6Njg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiUwNGQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo2OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJTA0ZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbW1tkYXldIG1vbnRoXSB5ZWFyXVxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx0aW1lc3RhbXB8bW9udGhuYW1lPlxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk3Cittc2dpZCAiRGlzcGxheSBhIGNhbGVuZGFyLCBvciBzb21lIHBhcnQgb2YgaXQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTgKK21zZ2lkICJXaXRob3V0IGFueSBhcmd1bWVudHMsIGRpc3BsYXkgdGhlIGN1cnJlbnQgbW9udGguXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDAxCisjLCBmdXp6eQorbXNnaWQgIiAtMSwgLS1vbmUgICAgICAgICAgICAgc2hvdyBvbmx5IGEgc2luZ2xlIG1vbnRoIChkZWZhdWx0KVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMgorIywgZnV6enkKK21zZ2lkICIgLTMsIC0tdGhyZWUgICAgICAgICAgIHNob3cgdGhyZWUgbW9udGhzIHNwYW5uaW5nIHRoZSBkYXRlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDAzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1tb250aHMgPG51bT4gICAgc2hvdyBudW0gbW9udGhzIHN0YXJ0aW5nIHdpdGggZGF0ZSdzIG1vbnRoXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA0CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zcGFuICAgICAgICAgICAgc3BhbiB0aGUgZGF0ZSB3aGVuIGRpc3BsYXlpbmcgbXVsdGlwbGUgbW9udGhzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA1Cittc2dpZCAiIC1zLCAtLXN1bmRheSAgICAgICAgICBTdW5kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDYKK21zZ2lkICIgLW0sIC0tbW9uZGF5ICAgICAgICAgIE1vbmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNworIywgZnV6enkKK21zZ2lkICIgLWosIC0tanVsaWFuICAgICAgICAgIG91dHB1dCBKdWxpYW4gZGF0ZXNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEVyYWt1dHNpIHBhcnRpemlvIHRhdWxhIHBhbnRhaWxhbiBlZG8gaWRhdHppIGZpdHhhdGVnaXJlbiBiYXRlYW4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwOAorIywgZnV6enkKK21zZ2lkICIgLXksIC0teWVhciAgICAgICAgICAgIHNob3cgdGhlIHdob2xlIHllYXJcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDkKKyMsIGZ1enp5Cittc2dpZCAiIC1ZLCAtLXR3ZWx2ZSAgICAgICAgICBzaG93IHRoZSBuZXh0IHR3ZWx2ZSBtb250aHNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMTAKK21zZ2lkICIgLXcsIC0td2Vla1s9PG51bT5dICAgIHNob3cgVVMgb3IgSVNPLTg2MDEgd2VlayBudW1iZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDExCittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSB7TEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUx9PTx2YWx1ZT5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjMyCisjLCBmdXp6eQorbXNnaWQgIkZpbmQgYSBmaWxlc3lzdGVtIGJ5IGxhYmVsIG9yIFVVSUQuXG4iCittc2dzdHIgIlNhcnR1IGZpdHhhdGVnaSBzaXN0ZW1hIG1vZXRhOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZXNvbHZlICclcyciCittc2dzdHIgImV6aW4gZGlyYSBib290Yml0IHNla3RvcmVhayBlemFiYXR1IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo5OQorIywgZnV6enkKK21zZ2lkICJzb3VyY2UgZGV2aWNlIgorbXNnc3RyICJibG9rZSBnYWlsdWEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMAorbXNnaWQgIm1vdW50cG9pbnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxIG1pc2MtdXRpbHMvbHNibGsuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJTYXJ0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YTogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAiYWxsIG1vdW50IG9wdGlvbnMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDMKK21zZ2lkICJWRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAiRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiYXVrZXJhIGJhbGlvZ2FycmlhazoiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNQorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIGxhYmVsIgorbXNnc3RyICJTYXJ0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YTogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDYgbWlzYy11dGlscy9sc2Jsay5jOjE2NAorbXNnaWQgImZpbGVzeXN0ZW0gVVVJRCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIGxhYmVsIgorbXNnc3RyICJQYXJ0aXppbyB6ZW5iYWtpYSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5IG1pc2MtdXRpbHMvbHNibGsuYzoxNjAKK21zZ2lkICJtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMAorbXNnaWQgImFjdGlvbiBkZXRlY3RlZCBieSAtLXBvbGwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExCittc2dpZCAib2xkIG1vdW50IG9wdGlvbnMgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMgorbXNnaWQgIm9sZCBtb3VudHBvaW50IHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTMKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIgorbXNnc3RyICJTYXJ0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YTogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIGF2YWlsYWJsZSIKK21zZ3N0ciAiU2FydHUgZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGE6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE1CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSB1c2VkIgorbXNnc3RyICJTYXJ0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YTogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTYKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAiU2FydHUgZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGE6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE3CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gcm9vdCIKK21zZ3N0ciAiU2FydHUgZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGE6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE4Cittc2dpZCAidGFzayBJRCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkKKyMsIGZ1enp5Cittc2dpZCAibW91bnQgSUQiCittc2dzdHIgInJlYWQtZWsgaHV0cyBlZ2luIGR1OiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwCisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbmFsIG1vdW50IGZpZWxkcyIKK21zZ3N0ciAibW91bnQ6IG1vdW50LWVrIGh1dHMgZWdpbiBkdSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxCisjLCBmdXp6eQorbXNnaWQgIlZGUyBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpemlvOlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIKK21zZ2lkICJkdW1wKDgpIHBlcmlvZCBpbiBkYXlzIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMKK21zZ2lkICJwYXNzIG51bWJlciBvbiBwYXJhbGxlbCBmc2NrKDgpIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYWN0aW9uOiAlcyIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDMKK21zZ2lkICJtb3VudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDYKK21zZ2lkICJ1bW91bnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ5CisjLCBmdXp6eQorbXNnaWQgInJlbW91bnQiCittc2dzdHIgInJlYWQtZWsgaHV0cyBlZ2luIGR1OiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjUyCisjLCBmdXp6eQorbXNnaWQgIm1vdmUiCittc2dzdHIgIiBFemFiYXR1IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA3NSBzeXMtdXRpbHMvZWplY3QuYzo3MTkKKyM6IHN5cy11dGlscy9tb3VudC5jOjY2OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJsZSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjgzOSB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCAlcyIKK21zZ3N0ciAiaGV4ZHVtcDogZXppbiBkYSAlcyAgaXJha3VycmkuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMTUgbWlzYy11dGlscy9maW5kbW50LmM6MTA4MQorIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjk0IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0ODIKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxODcgc3lzLXV0aWxzL21vdW50LmM6MTM0IHN5cy11dGlscy9tb3VudC5jOjE4MgorIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo1NiBzeXMtdXRpbHMvc3dhcG9mZi5jOjE1NSBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ0CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjc0IHN5cy11dGlscy9zd2Fwb24uYzo3MzMgc3lzLXV0aWxzL3Vtb3VudC5jOjI3NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFiZGlmZiIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMTUKKyMsIGZ1enp5Cittc2dpZCAicG9sbCgpIGZhaWxlZCIKK21zZ3N0ciAibWFsbG9jKCktZWsgaHV0cyBlZ2luIGR1IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gfCA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZSA8ZGV2aWNlPl0gWy0tdGFyZ2V0IDxwYXRoPiB8IC0tbW91bnRwb2ludCA8ZGlyPl1cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk2CisjLCBmdXp6eQorbXNnaWQgIkZpbmQgYSAobW91bnRlZCkgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiU2FydHUgZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGE6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5OQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBFcmFrdXRzaSBwYXJ0aXppbyB0YXVsYSBwYW50YWlsYW4gZWRvIGlkYXR6aSBmaXR4YXRlZ2lyZW4gYmF0ZWFuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAwCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tdGFiICAgICAgICAgICAgIHNlYXJjaCBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBFcmFrdXRzaSBwYXJ0aXppbyB0YXVsYSBwYW50YWlsYW4gZWRvIGlkYXR6aSBmaXR4YXRlZ2lyZW4gYmF0ZWFuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAxCittc2dpZCAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIHNlYXJjaCBpbiBrZXJuZWwgdGFibGUgb2YgbW91bnRlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXN5c3RlbXMgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcG9sbFs9PGxpc3Q+XSAgICBtb25pdG9yIGNoYW5nZXMgaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgICBsICAgemVycmVuZGF0dSBlemFndXR6ZW4gZGlyZW4gZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGFrIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA1Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPG51bT4gICAgdXBwZXIgbGltaXQgaW4gbWlsbGlzZWNvbmRzIHRoYXQgLS1wb2xsIHdpbGwgYmxvY2tcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA4CisjLCBmdXp6eQorbXNnaWQgIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGJ1aWx0LWluIGZpbHRlcnMsIHByaW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOQorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgQVNDSUkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTAKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMQorbXNnaWQgIiAtQywgLS1ub2Nhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSB3aGVuIGNvbXBhcmluZyBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTIKK21zZ2lkICIgLWMsIC0tY2Fub25pY2FsaXplICAgICBjYW5vbmljYWxpemUgcHJpbnRlZCBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTMKKyMsIGZ1enp5Cittc2dpZCAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGF0ZSB0aGUgb3V0cHV0IG9mIGRmKDEpXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNAorbXNnaWQgIiAtZCwgLS1kaXJlY3Rpb24gPHdvcmQ+IGRpcmVjdGlvbiBvZiBzZWFyY2gsICdmb3J3YXJkJyBvciAnYmFja3dhcmQnXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNQorbXNnaWQgIiIKKyIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBjb252ZXJ0IHRhZ3MgKExBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMKSBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGRldmljZSBuYW1lc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTcKK21zZ2lkICIgLUYsIC0tdGFiLWZpbGUgPHBhdGg+ICBhbHRlcm5hdGl2ZSBmaWxlIGZvciAtcywgLW0gb3IgLWsgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTgKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIgorbXNnc3RyICIgICBsICAgemVycmVuZGF0dSBlemFndXR6ZW4gZGlyZW4gZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGFrIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE5CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVydCB0aGUgc2Vuc2Ugb2YgbWF0Y2hpbmdcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIwIG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNyBzeXMtdXRpbHMvbHNucy5jOjYxOQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMSBzeXMtdXRpbHMvbHNucy5jOjYyMAorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMgorbXNnaWQgIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIHVzZSBhbHRlcm5hdGl2ZSBuYW1lc3BhY2UgKC9wcm9jLzx0aWQ+L21vdW50aW5mbyBmaWxlKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgY29sdW1uIGhlYWRpbmdzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNAorbXNnaWQgIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjUKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICB0aGUgb3V0cHV0IGNvbHVtbnMgdG8gYmUgc2hvd25cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI2CisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI3CisjLCBmdXp6eQorbXNnaWQgIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIHByaW50IGFsbCBzdWJtb3VudHMgZm9yIHRoZSBtYXRjaGluZyBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5Cittc2dpZCAiIgorIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzEKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRhcmdldCA8cGF0aD4gICAgdGhlIHBhdGggdG8gdGhlIGZpbGVzeXN0ZW0gdG8gdXNlXG4iCittc2dzdHIgIiAgIGwgICB6ZXJyZW5kYXR1IGV6YWd1dHplbiBkaXJlbiBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YWsiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzIKKyMsIGZ1enp5Cittc2dpZCAiIC1NLCAtLW1vdW50cG9pbnQgPGRpcj4gdGhlIG1vdW50cG9pbnQgZGlyZWN0b3J5XG4iCittc2dzdHIgImVycm8gaW5vZG9hIGV6IGRhIGRpcmVrdG9yaW9hIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMzCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgRlMgdHlwZXNcbiIKK21zZ3N0ciAiICAgbCAgIHplcnJlbmRhdHUgZXphZ3V0emVuIGRpcmVuIGZpdHhhdGVnaSBzaXN0ZW1hIG1vZXRhayIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNAorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdW5pcSAgICAgICAgICAgICBpZ25vcmUgZmlsZXN5c3RlbXMgd2l0aCBkdXBsaWNhdGUgdGFyZ2V0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNSBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTMgc3lzLXV0aWxzL2xzbnMuYzo2MjUKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBFcmFrdXRzaSBwYXJ0aXppbyB0YXVsYSBwYW50YWlsYW4gZWRvIGlkYXR6aSBmaXR4YXRlZ2lyZW4gYmF0ZWFuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM2CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIGRvbid0IHByaW50IFsvZGlyXSBmb3IgYmluZCBvciBidHJmcyBtb3VudHNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEVyYWt1dHNpIHBhcnRpemlvIHRhdWxhIHBhbnRhaWxhbiBlZG8gaWRhdHppIGZpdHhhdGVnaXJlbiBiYXRlYW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzkKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXZlcmlmeSAgICAgICAgICAgdmVyaWZ5IG1vdW50IHRhYmxlIGNvbnRlbnQgKGRlZmF1bHQgaXMgZnN0YWIpXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0MAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGRpcmVjdGlvbiAnJXMnIgorbXNnc3RyICI8aT4gKGV6IGRhZ28gaXJhZG9raXp1bmlrKSA8L2k+IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDQwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgVElEIGFyZ3VtZW50IgorbXNnc3RyICJiYWxpb2dhYmVrbyBpZC1hOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTA5Cittc2dpZCAiLS1wb2xsIGFjY2VwdHMgb25seSBvbmUgZmlsZSwgYnV0IG1vcmUgc3BlY2lmaWVkIGJ5IC0tdGFiLWZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUxMworbXNnaWQgIm9wdGlvbnMgLS10YXJnZXQgYW5kIC0tc291cmNlIGNhbid0IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBjb21tYW5kIGxpbmUgZWxlbWVudCB0aGF0IGlzIG5vdCBhbiBvcHRpb24iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU2MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBjYWNoZSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE2MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY29sdW1uIGlzIHJlcXVlc3RlZCwgYnV0IC0tcG9sbCBpcyBub3QgZW5hYmxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE2Cittc2dpZCAidGFyZ2V0IHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIG9yZGVyOiAlcyBzcGVjaWZpZWQgYmVmb3JlICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMzMKK21zZ2lkICJ1bmRlZmluZWQgdGFyZ2V0IChmc19maWxlKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1jYW5vbmljYWwgdGFyZ2V0IHBhdGggKHJlYWw6ICVzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgdGFyZ2V0OiAlbSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSB0YXJnZXQ6ICVtIgorbXNnc3RyICJlemluIGRpcmEgYm9vdGJpdCBzZWt0b3JlYWsgZXphYmF0dSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MQorIywgZnV6enkKK21zZ2lkICJ0YXJnZXQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJlcnJvIGlub2RvYSBleiBkYSBkaXJla3RvcmlvYSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MworbXNnaWQgInRhcmdldCBleGlzdHMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHNvdXJjZTogJXM9JXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGU6ICVzPSVzIgorbXNnc3RyICJyZWFkLWVrIGh1dHMgZWdpbiBkdTogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzPSVzIHRyYW5zbGF0ZWQgdG8gJXMiCittc2dzdHIgImZzY2s6ICVzOiBleiBkYSBhdXJraXR1XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxOTAKK21zZ2lkICJ1bmRlZmluZWQgc291cmNlIChmc19zcGVjKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzb3VyY2UgdGFnOiAlcyIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBzb3VyY2UgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHNvdXJjZTogJXM6ICVtIgorbXNnc3RyICJlemluIGRpcmEgYm9vdGJpdCBzZWt0b3JlYWsgZXphYmF0dSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmluZCBtb3VudCBzb3VyY2UgJXMgaXMgYSBkaXJlY3Rvcnkgb3IgcmVndWxhciBmaWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic291cmNlICVzIGV4aXN0cyIKK21zZ3N0ciAiYmxva2UgZ2FpbHVhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJWRlMgb3B0aW9uczogJXMiCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYV1cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRlMgb3B0aW9uczogJXMiCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYV1cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXNlcnNwYWNlIG9wdGlvbnM6ICVzIgorbXNnc3RyICJhdWtlcmEgYmFsaW9nYXJyaWFrOiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc3dhcGFyZWEgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICIlczogS29tYW5kbyBlemV6YWd1bmE6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNjAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN3YXBhcmVhIHByaW9yaXR5IG9wdGlvbiIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIEZTIHR5cGUgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MDYKK21zZ2lkICJcIm5vbmVcIiBGUyB0eXBlIGlzIHJlY29tbWVuZGVkIGZvciBiaW5kIG9yIG1vdmUgb3ByYXRpb25zIG9ubHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyMCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIxCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBkZXRlY3Qgb24tZGlzayBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIlBhcnRpemlvIHRhdWxhIG1vZXRhIGV6ZXphZ3VuYSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBtYXRjaCB3aXRoIG9uLWRpc2sgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJvbi1kaXNrICVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyB0eXBlIGlzICVzIgorbXNnc3RyICJtb2V0YTogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWNvbW1lbmRlZCByb290IEZTIHBhc3NubyBpcyAxIChjdXJyZW50IGlzICVkKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCBwYXJzZSBlcnJvciIKK21zZ2lkX3BsdXJhbCAiJWQgcGFyc2UgZXJyb3JzIgorbXNnc3RyWzBdICJjcmMgZXJyb3JlYSIKK21zZ3N0clsxXSAiY3JjIGVycm9yZWEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgZXJyb3IiCittc2dpZF9wbHVyYWwgIiwgJWQgZXJyb3JzIgorbXNnc3RyWzBdICIsIGVycm9yZWEiCittc2dzdHJbMV0gIiwgZXJyb3JlYSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxNAorIywgYy1mb3JtYXQKK21zZ2lkICIsICVkIHdhcm5pbmciCittc2dpZF9wbHVyYWwgIiwgJWQgd2FybmluZ3MiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3MsIG5vIGVycm9ycyBvciB3YXJuaW5ncyBkZXRlY3RlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMwNAorbXNnaWQgImVtcHR5IGxvbmcgb3B0aW9uIGFmdGVyIC1sIG9yIC0tbG9uZyBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMyNQorbXNnaWQgInVua25vd24gc2hlbGwgYWZ0ZXIgLXMgb3IgLS1zaGVsbCBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1dIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSAtb3wtLW9wdGlvbnMgPG9wdHN0cmluZz4gW29wdGlvbnNdIFstLV0gPHBhcmFtZXRlcnM+XG4iCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzgKKyMsIGZ1enp5Cittc2dpZCAiUGFyc2UgY29tbWFuZCBvcHRpb25zLlxuIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIGFsbG93IGxvbmcgb3B0aW9ucyBzdGFydGluZyB3aXRoIHNpbmdsZSAtXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDIKK21zZ2lkICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiAgdGhlIGxvbmcgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDMKK21zZ2lkICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICAgdGhlIG5hbWUgdW5kZXIgd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ0Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAgIHRoZSBzaG9ydCBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NQorIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBlcnJvciByZXBvcnRpbmcgYnkgZ2V0b3B0KDMpXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDYKKyMsIGZ1enp5Cittc2dpZCAiIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgIG5vIG5vcm1hbCBvdXRwdXRcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NworbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICBzZXQgcXVvdGluZyBjb252ZW50aW9ucyB0byB0aG9zZSBvZiA8c2hlbGw+XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDgKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIHRlc3QgZm9yIGdldG9wdCgxKSB2ZXJzaW9uXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDkKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVucXVvdGVkICAgICAgICAgICAgICAgIGRvIG5vdCBxdW90ZSB0aGUgb3V0cHV0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozOTkgbWlzYy11dGlscy9nZXRvcHQuYzo0NTkKKyMsIGZ1enp5Cittc2dpZCAibWlzc2luZyBvcHRzdHJpbmcgYXJndW1lbnQiCittc2dzdHIgImNvbDogLWwgYmFsaW9nYWJla28gYXJndW1lbnR1YSAlcy5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzo0NTQKK21zZ2lkICJpbnRlcm5hbCBlcnJvciwgY29udGFjdCB0aGUgYXV0aG9yLiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsICVzOyB2YWxpZCBzaWduYWxzOiIKK21zZ3N0ciAiJXM6ICVzIHNlaW5hbGUgZXplemFndW5hXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGlkPnw8bmFtZT4uLi5cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDUKK21zZ2lkICJGb3JjaWJseSB0ZXJtaW5hdGUgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwOAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkbyBub3QgcmVzdHJpY3QgdGhlIG5hbWUtdG8tcGlkIGNvbnZlcnNpb24gdG8gcHJvY2Vzc2VzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIHRoZSBzYW1lIHVpZCBhcyB0aGUgcHJlc2VudCBwcm9jZXNzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzEwCittc2dpZCAiIC1zLCAtLXNpZ25hbCA8c2lnbmFsPiAgc2VuZCB0aGlzIDxzaWduYWw+IGluc3RlYWQgb2YgU0lHVEVSTVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMgorbXNnaWQgIiAtcSwgLS1xdWV1ZSA8dmFsdWU+ICAgIHVzZSBzaWdxdWV1ZSgyKSwgbm90IGtpbGwoMiksIGFuZCBwYXNzIDx2YWx1ZT4gYXMgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNAorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICAgIHByaW50IHBpZHMgd2l0aG91dCBzaWduYWxpbmcgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNQorbXNnaWQgIiAtbCwgLS1saXN0Wz08c2lnbmFsPl0gIGxpc3Qgc2lnbmFsIG5hbWVzLCBvciBjb252ZXJ0IGEgc2lnbmFsIG51bWJlciB0byBhIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTYKK21zZ2lkICIgLUwsIC0tdGFibGUgICAgICAgICAgICBsaXN0IHNpZ25hbCBuYW1lcyBhbmQgbnVtYmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNworIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBwaWRzIHRoYXQgd2lsbCBiZSBzaWduYWxlZFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM2NyBtaXNjLXV0aWxzL2tpbGwuYzozNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsOiAlcyIKK21zZ3N0ciAiJXM6ICVzIHNlaW5hbGUgZXplemFndW5hXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM4NyBtaXNjLXV0aWxzL2tpbGwuYzozOTAgbWlzYy11dGlscy9raWxsLmM6Mzk5CisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MTEgbWlzYy11dGlscy9raWxsLmM6NDM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM5NiBtaXNjLXV0aWxzL2tpbGwuYzo0MzggbWlzYy11dGlscy9yZW5hbWUuYzoxNzQKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc4OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc5OAorIywgZnV6enkKK21zZ2lkICJub3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50dSBnZWhpZWdpXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uICclcycgcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgImNvbDogLWwgYmFsaW9nYWJla28gYXJndW1lbnR1YSAlcy5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDE0IHN5cy11dGlscy9lamVjdC5jOjIwNSBzeXMtdXRpbHMvZWplY3QuYzoyMzAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Njg5IHN5cy11dGlscy90dW5lbHAuYzoxNjEgc3lzLXV0aWxzL3R1bmVscC5jOjE2OAorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE3NSBzeXMtdXRpbHMvdHVuZWxwLmM6MTgyIHN5cy11dGlscy90dW5lbHAuYzoxODkKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxOTUgc3lzLXV0aWxzL3R1bmVscC5jOjE5OSBzeXMtdXRpbHMvdHVuZWxwLmM6MjA2CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjMxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxMyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzcgdGVybS11dGlscy9zZXR0ZXJtLmM6MjcyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzQgdGVybS11dGlscy9zZXR0ZXJtLmM6MjkxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5OAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzAwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxMiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyMyB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMzEgdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ2CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDggdGVybS11dGlscy9zZXR0ZXJtLmM6MzYwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjM2MgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzczIHRlcm0tdXRpbHMvc2V0dGVybS5jOjUzNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDAKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NTAgdGVybS11dGlscy9zZXR0ZXJtLmM6NTc0CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NzkgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4OQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTk0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MDcKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjY0MAorIywgZnV6enkKK21zZ2lkICJhcmd1bWVudCBlcnJvciIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2lnbmFsIG5hbWUgb3IgbnVtYmVyOiAlcyIKK21zZ3N0ciAiYmFsaW9nYWJla28gYXVrZXJhIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsICVkIHRvIHBpZCAlZFxuIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCB0byAlcyBmYWlsZWQiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHByb2Nlc3MgXCIlc1wiIgorbXNnc3RyICIlczogZXppbiBkYSBcIiVzXCIgcHJvemVzdWEgYXVya2l0dVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSBuYW1lOiAlcyIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAiUGFydGl6aW8gdGF1bGEgbW9ldGEgZXplemFndW5hIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3BlbmxvZyAlczogcGF0aG5hbWUgdG9vIGxvbmciCittc2dzdHIgIi0tZGF0ZSBhcmd1bWVudHVhIGx1emVlZ2lhIGRhXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgJXMiCittc2dzdHIgInNvY2tldDogJXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBuYW1lICVzIHBvcnQgJXM6ICVzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjb25uZWN0IHRvICVzIHBvcnQgJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjM1MgorIywgYy1mb3JtYXQKK21zZ2lkICJtYXhpbXVtIGlucHV0IGxpbmVzICglZCkgZXhjZWVkZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAic2VuZCBtZXNzYWdlIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCktayBodXRzIGVnaW4gZHUiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTU4CisjLCBjLWZvcm1hdAorbXNnaWQgInN0cnVjdHVyZWQgZGF0YSBJRCAnJXMnIGlzIG5vdCB1bmlxdWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1zZC1pZCB3YXMgbm90IHNwZWNpZmllZCBmb3IgLS1zZC1wYXJhbSAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc1NAorIywgZnV6enkKK21zZ2lkICJsb2NhbHRpbWUoKSBmYWlsZWQiCittc2dzdHIgIiVzOiBmYWxsb2NhdGUtayBodXRzIGVnaW4gZHUiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJob3N0bmFtZSAnJXMnIGlzIHRvbyBsb25nIgorbXNnc3RyICJlcmVtdWEgbHV6ZWVnaWEgZGEuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0YWcgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiZXJlbXVhIGx1emVlZ2lhIGRhLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjgzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdW5rbm93biBvcHRpb24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICIlczogS29tYW5kbyBlemV6YWd1bmE6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlczogdXNpbmcgYXV0b21hdGljIGVycm9ycyIKK21zZ3N0ciAiYmFsaW9nYWJla28gaWQtYTogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo5OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiYXVrZXJhIGJhbGlvZ2FycmlhazoiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6OTk3Cittc2dpZCAiRW50ZXIgbWVzc2FnZXMgaW50byB0aGUgc3lzdGVtIGxvZy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1pICAgICAgICAgICAgICAgICAgICAgICBsb2cgdGhlIGxvZ2dlciBjb21tYW5kJ3MgUElEXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAxCittc2dpZCAiICAgICAtLWlkWz08aWQ+XSAgICAgICAgICBsb2cgdGhlIGdpdmVuIDxpZD4sIG9yIG90aGVyd2lzZSB0aGUgUElEXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgICAgbG9nIHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGVcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDMKK21zZ2lkICIgLWUsIC0tc2tpcC1lbXB0eSAgICAgICAgIGRvIG5vdCBsb2cgZW1wdHkgbGluZXMgd2hlbiBwcm9jZXNzaW5nIGZpbGVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA0CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby1hY3QgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIHdyaXRlIHRoZSBsb2dcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDUKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIG1hcmsgZ2l2ZW4gbWVzc2FnZSB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDYKK21zZ2lkICIgICAgIC0tb2N0ZXQtY291bnQgICAgICAgIHVzZSByZmM2NTg3IG9jdGV0IGNvdW50aW5nXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA3Cittc2dpZCAiICAgICAtLXByaW8tcHJlZml4ICAgICAgICBsb29rIGZvciBhIHByZWZpeCBvbiBldmVyeSBsaW5lIHJlYWQgZnJvbSBzdGRpblxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwOAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIG91dHB1dCBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yIGFzIHdlbGxcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDkKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICBtYXhpbXVtIHNpemUgZm9yIGEgc2luZ2xlIG1lc3NhZ2VcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTAKK21zZ2lkICIgLXQsIC0tdGFnIDx0YWc+ICAgICAgICAgIG1hcmsgZXZlcnkgbGluZSB3aXRoIHRoaXMgdGFnXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDExCittc2dpZCAiIC1uLCAtLXNlcnZlciA8bmFtZT4gICAgICB3cml0ZSB0byB0aGlzIHJlbW90ZSBzeXNsb2cgc2VydmVyXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEyCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wb3J0IDxwb3J0PiAgICAgICAgdXNlIHRoaXMgcG9ydCBmb3IgVURQIG9yIFRDUCBjb25uZWN0aW9uXG4iCittc2dzdHIgIlNhcnR1IGJ1cnUga29wdXJ1YToiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMworIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGNwICAgICAgICAgICAgICAgIHVzZSBUQ1Agb25seVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tdWRwICAgICAgICAgICAgICAgIHVzZSBVRFAgb25seVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIHVzZSB0aGUgb2Jzb2xldGUgQlNEIHN5c2xvZyBwcm90b2NvbFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNgorbXNnaWQgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIHVzZSB0aGUgc3lzbG9nIHByb3RvY29sICh0aGUgZGVmYXVsdCBmb3IgcmVtb3RlKTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNuaXA+IGNhbiBiZSBub3RpbWUsIG9yIG5vdHEsIGFuZC9vciBub2hvc3RcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTgKK21zZ2lkICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIElEXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE5Cittc2dpZCAiICAgICAtLXNkLXBhcmFtIDxkYXRhPiAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBuYW1lPXZhbHVlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDIwCittc2dpZCAiICAgICAtLW1zZ2lkIDxtc2dpZD4gICAgICBzZXQgcmZjNTQyNCBtZXNzYWdlIGlkIGZpZWxkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDIxCittc2dpZCAiIC11LCAtLXNvY2tldCA8c29ja2V0PiAgICB3cml0ZSB0byB0aGlzIFVuaXggc29ja2V0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDIyCittc2dpZCAiIgorIiAgICAgLS1zb2NrZXQtZXJyb3JzWz08b258b2ZmfGF1dG8+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQgY29ubmVjdGlvbiBlcnJvcnMgd2hlbiB1c2luZyBVbml4IHNvY2tldHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjUKK21zZ2lkICIgICAgIC0tam91cm5hbGRbPTxmaWxlPl0gIHdyaXRlIGpvdXJuYWxkIGVudHJ5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmaWxlICVzIgorbXNnc3RyICIoSHVycmVuZ28gZml0eGF0ZWdpYTogJXMpIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExMjcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGlkIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTQ1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtZXNzYWdlIHNpemUiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODAKK21zZ2lkICItLW1zZ2lkIGNhbm5vdCBjb250YWluIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgSUQ6ICclcyciCittc2dzdHIgImJhbGlvZ2FiZWtvIGlkLWE6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICJyZW5pY2U6ICVzOiBiYWxpbyBva2VycmFcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjE4Cittc2dpZCAiLS1maWxlIDxmaWxlPiBhbmQgPG1lc3NhZ2U+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIG1lc3NhZ2UgaXMgaWdub3JlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMjUKK21zZ2lkICJqb3VybmFsZCBlbnRyeSBjb3VsZCBub3QgYmUgd3JpdHRlbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHN0cmluZz4gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNTgKK21zZ2lkICJEaXNwbGF5IGxpbmVzIGJlZ2lubmluZyB3aXRoIGEgc3BlY2lmaWVkIHN0cmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjEKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgIHVzZSB0aGUgYWx0ZXJuYXRpdmUgZGljdGlvbmFyeVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MgorbXNnaWQgIiAtZCwgLS1hbHBoYW51bSAgICAgICAgICAgY29tcGFyZSBvbmx5IGJsYW5rcyBhbmQgYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjMKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2NAorbXNnaWQgIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgZGVmaW5lIHRoZSBzdHJpbmctdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NworbXNnaWQgImRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTgKK21zZ2lkICJpbnRlcm5hbCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OQorbXNnaWQgImludGVybmFsIHBhcmVudCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MiBzeXMtdXRpbHMvenJhbWN0bC5jOjg0Cittc2dpZCAid2hlcmUgdGhlIGRldmljZSBpcyBtb3VudGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMKK21zZ2lkICJmaWxlc3lzdGVtIExBQkVMIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIHR5cGUgVVVJRCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpemlvOlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY3CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBMQUJFTCIKK21zZ3N0ciAiUGFydGl6aW8gemVuYmFraWEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzEKKyMsIGZ1enp5Cittc2dpZCAicmVhZC1haGVhZCBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICIlczogZ2V0IHNpemUgZWdpdGVyYWtvYW4gaHV0cyBlZ2luIGRhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcyIHN5cy11dGlscy9sb3NldHVwLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAiZXphcnJpIGlyYWt1cnR6ZWtvIHNvaWxpayIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MworIywgZnV6enkKK21zZ2lkICJyZW1vdmFibGUgZGV2aWNlIgorbXNnc3RyICIga2VuZ2FycmlhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc0Cittc2dpZCAicmVtb3ZhYmxlIG9yIGhvdHBsdWcgZGV2aWNlICh1c2IsIHBjbWNpYSwgLi4uKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc1Cittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NgorbXNnaWQgImFkZHMgcmFuZG9tbmVzcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc3Cittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OAorbXNnaWQgImRpc2sgc2VyaWFsIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc5Cittc2dpZCAic2l6ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODAKKyMsIGZ1enp5Cittc2dpZCAic3RhdGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MgorbXNnaWQgImdyb3VwIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MworbXNnaWQgImRldmljZSBub2RlIHBlcm1pc3Npb25zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODQKKyMsIGZ1enp5Cittc2dpZCAiYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAibG9ydHUgaXJha3Vya2V0YSBzb2lsaWsiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODUKKyMsIGZ1enp5Cittc2dpZCAibWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NgorIywgZnV6enkKK21zZ2lkICJvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICIlczogZ2V0IHNpemUgZWdpdGVyYWtvYW4gaHV0cyBlZ2luIGRhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgInBoeXNpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJsb3J0dSBibG9rZSBmaXNpa29hcmVuIChzZWt0b3JlYSkgdGFtYWludWEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODgKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAibG9ydHUgYmxva2UgbG9naWtvYXJlbiAoc2VrdG9yZWEpIHRhbWFpbnVhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5Cittc2dpZCAiSS9PIHNjaGVkdWxlciBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTAKK21zZ2lkICJyZXF1ZXN0IHF1ZXVlIHNpemUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MQorbXNnaWQgImRldmljZSB0eXBlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTIKKyMsIGZ1enp5Cittc2dpZCAiZGlzY2FyZCBhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICJsb3J0dSBpcmFrdXJrZXRhIHNvaWxpayIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MworbXNnaWQgImRpc2NhcmQgZ3JhbnVsYXJpdHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NAorbXNnaWQgImRpc2NhcmQgbWF4IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTUKK21zZ2lkICJkaXNjYXJkIHplcm9lcyBkYXRhIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTYKK21zZ2lkICJ3cml0ZSBzYW1lIG1heCBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk3CisjLCBmdXp6eQorbXNnaWQgInVuaXF1ZSBzdG9yYWdlIGlkZW50aWZpZXIiCittc2dzdHIgIkFsZGF0dSBkaXNrb2FyZW4gZ2VvbWV0cmlhIChlcmFiaWx0emFpbGUgYXVycmVyYXR1YWsgc29pbGlrKSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OAorbXNnaWQgIkhvc3Q6Q2hhbm5lbDpUYXJnZXQ6THVuIGZvciBTQ1NJIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTkKK21zZ2lkICJkZXZpY2UgdHJhbnNwb3J0IHR5cGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMAorbXNnaWQgImRlLWR1cGxpY2F0ZWQgY2hhaW4gb2Ygc3Vic3lzdGVtcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAxCisjLCBmdXp6eQorbXNnaWQgImRldmljZSByZXZpc2lvbiIKK21zZ3N0ciAiTG9vcCBnYWlsdWEgJXMgZGFcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMgorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgdmVuZG9yIgorbXNnc3RyICJIeXBlcnZpc29yLWVhcmVuIGZhYnJpa2F0emFpbGVhOiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjEyNzYKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkZXZpY2UgZGlyZWN0b3J5IGluIHN5c2ZzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNvbXBvc2Ugc3lzZnMgcGF0aCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgbGluayIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHdob2xlLWRpc2sgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTUxIG1pc2MtdXRpbHMvbHNibGsuYzoxNTUzIG1pc2MtdXRpbHMvbHNibGsuYzoxNTc4CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxpc3QgJyVzJyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTU4CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGV4Y2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBpbmNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MTYgc3lzLXV0aWxzL3dkY3RsLmM6MTc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MTkKKyMsIGZ1enp5Cittc2dpZCAiTGlzdCBpbmZvcm1hdGlvbiBhYm91dCBibG9jayBkZXZpY2VzLlxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIyCittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjQKK21zZ2lkICIgLWQsIC0tbm9kZXBzICAgICAgICAgZG9uJ3QgcHJpbnQgc2xhdmVzIG9yIGhvbGRlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNQorbXNnaWQgIiAtRCwgLS1kaXNjYXJkICAgICAgICBwcmludCBkaXNjYXJkIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI2Cittc2dpZCAiIC1lLCAtLWV4Y2x1ZGUgPGxpc3Q+IGV4Y2x1ZGUgZGV2aWNlcyBieSBtYWpvciBudW1iZXIgKGRlZmF1bHQ6IFJBTSBkaXNrcylcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNworIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZnMgICAgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEVyYWt1dHNpIHBhcnRpemlvIHRhdWxhIHBhbnRhaWxhbiBlZG8gaWRhdHppIGZpdHhhdGVnaXJlbiBiYXRlYW4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI4Cittc2dpZCAiIC1pLCAtLWFzY2lpICAgICAgICAgIHVzZSBhc2NpaSBjaGFyYWN0ZXJzIG9ubHlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyOQorbXNnaWQgIiAtSSwgLS1pbmNsdWRlIDxsaXN0PiBzaG93IG9ubHkgZGV2aWNlcyB3aXRoIHNwZWNpZmllZCBtYWpvciBudW1iZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzAKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMyCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1wZXJtcyAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMzCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzQKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNQorbXNnaWQgIiAtTywgLS1vdXRwdXQtYWxsICAgICBvdXRwdXQgYWxsIGNvbHVtbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGF0aHMgICAgICAgICAgcHJpbnQgY29tcGxldGUgZGV2aWNlIHBhdGhcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzOQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MAorbXNnaWQgIiAtUywgLS1zY3NpICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBTQ1NJIGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MQorbXNnaWQgIiAtdCwgLS10b3BvbG9neSAgICAgICBvdXRwdXQgaW5mbyBhYm91dCB0b3BvbG9neVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQyCittc2dpZCAiIC14LCAtLXNvcnQgPGNvbHVtbj4gIHNvcnQgb3V0cHV0IGJ5IDxjb2x1bW4+XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDcgbWlzYy11dGlscy9sc2xvY2tzLmM6NTE5IHN5cy11dGlscy9sc25zLmM6NjMyCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE5NiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1vdXRwdXQpOlxuIgorbXNnc3RyICJFcmFiaWxnYXJyaSBkYXVkZW4ga29tYW5kb2FrOlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFjY2VzcyBzeXNmcyBkaXJlY3Rvcnk6ICVzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzMKK21zZ2lkICJjb21tYW5kIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzQKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NQorbXNnaWQgImtpbmQgb2YgbG9jazogRkxfRkxPQ0sgb3IgRkxfUE9TSVguIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc2CisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIGxvY2siCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc3CisjLCBmdXp6eQorbXNnaWQgImxvY2sgYWNjZXNzIG1vZGUiCittc2dzdHIgIkV6aW4gZGEgaXJla2kiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc4Cittc2dpZCAibWFuZGF0b3J5IHN0YXRlIG9mIHRoZSBsb2NrOiAwIChub25lKSwgMSAoc2V0KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OQorbXNnaWQgInJlbGF0aXZlIGJ5dGUgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgwCittc2dpZCAiZW5kaW5nIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MQorIywgZnV6enkKK21zZ2lkICJwYXRoIG9mIHRoZSBsb2NrZWQgZmlsZSIKK21zZ3N0ciAiRXppbiBkYSAnJXMnIGZpdHhhdGVnaWEgaXJla2kiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgyCittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGJsb2NraW5nIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI1OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSUQiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODEgc3lzLXV0aWxzL25zZW50ZXIuYzoyMzIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBpZCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4NAorIywgZnV6enkKK21zZ2lkICIodW5rbm93bikiCittc2dzdHIgImV6ZXphZ3VuYSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjkzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGFydCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjMwMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA0Cittc2dpZCAiTGlzdCBsb2NhbCBzeXN0ZW0gbG9ja3MuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA4Cittc2dpZCAiIC1pLCAtLW5vaW5hY2Nlc3NpYmxlICAgaWdub3JlIGxvY2tzIHdpdGhvdXQgcmVhZCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwOSBzeXMtdXRpbHMvbHNucy5jOjYyMQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMCBzeXMtdXRpbHMvbHNucy5jOjYyMgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBFcmFrdXRzaSBwYXJ0aXppbyB0YXVsYSBwYW50YWlsYW4gZWRvIGlkYXR6aSBmaXR4YXRlZ2lyZW4gYmF0ZWFuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTEKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBkaXNwbGF5IG9ubHkgbG9ja3MgaGVsZCBieSB0aGlzIHByb2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTIgc3lzLXV0aWxzL2xzbnMuYzo2MjQKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjU3MCBzY2hlZHV0aWxzL2NocnQuYzo0Nzggc2NoZWR1dGlscy9pb25pY2UuYzoxNzcKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE2MyBzeXMtdXRpbHMvbHNucy5jOjY5OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFBJRCBhcmd1bWVudCIKK21zZ3N0ciAiYmFsaW9nYWJla28gaWQtYTogJXNcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODUKK21zZ2lkICJHZW5lcmF0ZSBtYWdpYyBjb29raWVzIGZvciB4YXV0aC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgdXNlIGZpbGUgYXMgYSBjb29raWUgc2VlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg5Cittc2dpZCAiIC1tLCAtLW1heC1zaXplIDxudW0+ICBsaW1pdCBob3cgbXVjaCBpcyByZWFkIGZyb20gc2VlZCBmaWxlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkwCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlenUgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlenUgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0clsxXSAiJTYuMmYlJSAoJStsZCBieXRlcylcdCVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2xvc2luZyAlcyBmYWlsZWQiCittc2dzdHIgImV4ZWMgJXMtKGUpayBodXRzIGVnaW4gZHUiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE2NCBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE0NiBzeXMtdXRpbHMvZnN0cmltLmM6MzA4CisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxlbmd0aCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE3NworbXNnaWQgIi0tbWF4LXNpemUgaWdub3JlZCB3aGVuIHVzZWQgd2l0aG91dCAtLWZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHb3QgJWQgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlZCBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIiU2LjJmJSUgKCUrbGQgYnl0ZXMpXHQlc1xuIgorbXNnc3RyWzFdICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzeW1saW5rOiAlcyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzoyODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIC0gTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeVxuIgorbXNnc3RyICJlcnJvIGlub2RvYSBleiBkYSBkaXJla3RvcmlvYSIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGF0aG5hbWU+Li4uXG4iCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzNgorbXNnaWQgIkZvbGxvdyBhIHBhdGhuYW1lIHVudGlsIGEgdGVybWluYWwgcG9pbnQgaXMgZm91bmQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzOQorbXNnaWQgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICBkaXNwbGF5cyB0aGlzIGhlbHAgdGV4dFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC14LCAtLW1vdW50cG9pbnRzICAgc2hvdyBtb3VudCBwb2ludCBkaXJlY3RvcmllcyB3aXRoIGEgJ0QnXG4iCisiIC1tLCAtLW1vZGVzICAgICAgICAgc2hvdyB0aGUgbW9kZSBiaXRzIG9mIGVhY2ggZmlsZVxuIgorIiAtbywgLS1vd25lcnMgICAgICAgIHNob3cgb3duZXIgYW5kIGdyb3VwIG5hbWUgb2YgZWFjaCBmaWxlXG4iCisiIC1sLCAtLWxvbmcgICAgICAgICAgdXNlIGEgbG9uZyBsaXN0aW5nIGZvcm1hdCAoLW0gLW8gLXYpIFxuIgorIiAtbiwgLS1ub3N5bWxpbmtzICAgIGRvbid0IGZvbGxvdyBzeW1saW5rc1xuIgorIiAtdiwgLS12ZXJ0aWNhbCAgICAgIHZlcnRpY2FsIGFsaWduIG9mIG1vZGVzIGFuZCBvd25lcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDA4CisjLCBmdXp6eQorbXNnaWQgInBhdGhuYW1lIGFyZ3VtZW50IGlzIG1pc3NpbmciCittc2dzdHIgIi0tZGF0ZSBhcmd1bWVudHVhIGx1emVlZ2lhIGRhXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTQgc3lzLXV0aWxzL2xzbnMuYzo3NjQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIFVJRCBjYWNoZSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdJRCBjYWNoZSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4Y2VlZGVkIGxpbWl0IG9mIHN5bWxpbmtzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkbGluayBmYWlsZWQiCittc2dzdHIgIiVzOiBvcGVuLWVrIGh1dHMgZWdpbiBkdSIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubGluayBmYWlsZWQiCittc2dzdHIgIiVzOiBsc2Vlay1layBodXRzIGVnaW4gZHUiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzeW1saW5raW5nIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVuYW1lIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxleHByZXNzaW9uPiA8cmVwbGFjZW1lbnQ+IDxmaWxlPi4uLlxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTIyCisjLCBmdXp6eQorbXNnaWQgIlJlbmFtZSBmaWxlcy5cbiIKK21zZ3N0ciAidW5zaGFyZWQtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyNQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTI2Cittc2dpZCAiIC1zLCAtLXN5bWxpbmsgICAgYWN0IG9uIHRoZSB0YXJnZXQgb2Ygc3ltbGlua3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzIKK21zZ2lkICJBIGRhZW1vbiBmb3IgZ2VuZXJhdGluZyBVVUlEcy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKK21zZ3N0ciAiICAgbCAgIHplcnJlbmRhdHUgZXphZ3V0emVuIGRpcmVuIGZpdHhhdGVnaSBzaXN0ZW1hIG1vZXRhayIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc1CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zb2NrZXQgPHBhdGg+ICAgICBwYXRoIHRvIHNvY2tldFxuIgorbXNnc3RyICIgICBsICAgemVycmVuZGF0dSBlemFndXR6ZW4gZGlyZW4gZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGFrIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRpbWVvdXQgPHNlYz4gICAgIHNwZWNpZnkgaW5hY3Rpdml0eSB0aW1lb3V0XG4iCittc2dzdHIgIlNhcnR1IGJ1cnUga29wdXJ1YToiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NworIywgZnV6enkKK21zZ2lkICIgLWssIC0ta2lsbCAgICAgICAgICAgICAga2lsbCBydW5uaW5nIGRhZW1vblxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3OAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdCByYW5kb20tYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3OQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgdGVzdCB0aW1lLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODAKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCittc2dzdHIgIlNhcnR1IGJ1cnUga29wdXJ1YToiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MQorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgZG8gbm90IGNyZWF0ZSBwaWQgZmlsZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgyCisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkbyBub3QgZGFlbW9uaXplIHVzaW5nIGRvdWJsZS1mb3JrXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgzCittc2dpZCAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIGRvIG5vdCBjcmVhdGUgbGlzdGVuaW5nIHNvY2tldFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4NAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjg1CisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0dXJuIG9uIHF1aWV0IG1vZGVcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTE4CisjLCBmdXp6eQorbXNnaWQgImJhZCBhcmd1bWVudHMiCittc2dzdHIgInNhcnJlcmEgb2tlcnJhXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMjUKK21zZ2lkICJzb2NrZXQiCittc2dzdHIgInNvY2tldCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEzNgorbXNnaWQgImNvbm5lY3QiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE1NgorbXNnaWQgIndyaXRlIgorbXNnc3RyICJpZGF0emkiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNjQKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBjb3VudCIKK21zZ3N0ciAicmVhZC1layBodXRzIGVnaW4gZHU6ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTcwCisjLCBmdXp6eQorbXNnaWQgImJhZCByZXNwb25zZSBsZW5ndGgiCittc2dzdHIgImZpdHhhdGVnaSBsdXplZXJhIG9rZXJyYSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGxvY2sgJXMiCittc2dzdHIgImV6aW4gZGEgJXMgaXJla2kiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyNDYKKyMsIGZ1enp5Cittc2dpZCAiY291bGRuJ3QgY3JlYXRlIHVuaXggc3RyZWFtIHNvY2tldCIKK21zZ3N0ciAiRXppbiBkYSAlcyBpcmVraTogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgYmluZCB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAiRXppbiBkYSAlcyBpcmVraTogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI5OAorIywgZnV6enkKK21zZ2lkICJyZWNlaXZpbmcgc2lnbmFsIGZhaWxlZCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozMTEKKyMsIGZ1enp5Cittc2dpZCAidGltZWQgb3V0IgorbXNnc3RyICIlczogTWVtb3JpYXoga2FucG8hXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNDUgc3lzLXV0aWxzL2Zsb2NrLmM6MjcxCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgdXAgdGltZXIiCittc2dzdHIgImV6aW4gZGEgJXMgaXJla2kiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidXVpZGQgZGFlbW9uIGlzIGFscmVhZHkgcnVubmluZyBhdCBwaWQgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgbGlzdGVuIG9uIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICJFemluIGRhICVzIGlyZWtpOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgdHJ1bmNhdGUgZmlsZTogJXMiCittc2dzdHIgImZzY2s6ICVzOiBleiBkYSBhdXJraXR1XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODYKKyMsIGZ1enp5Cittc2dpZCAic2RfbGlzdGVuX2ZkcygpIGZhaWxlZCIKK21zZ3N0ciAic2V0dGltZW9mZGF5KCktZWsgaHV0cyBlZ2luIGR1IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzg5Cittc2dpZCAibm8gZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgc3lzdGVtY3RsIHN0YXR1cyB1dWlkZC5zb2NrZXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM5MgorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayB1dWlkZC5zb2NrZXQiCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MjAgdGVybS11dGlscy9zY3JpcHQuYzo0NTUKKyMsIGZ1enp5Cittc2dpZCAicG9sbCBmYWlsZWQiCittc2dzdHIgIm1hbGxvYygpLWVrIGh1dHMgZWdpbiBkdSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lb3V0IFslZCBzZWNdXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0MyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQxNAorIywgZnV6enkKK21zZ2lkICJyZWFkIGZhaWxlZCIKK21zZ3N0ciAicmVhZC1layBodXRzIGVnaW4gZHU6ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHJlYWRpbmcgZnJvbSBjbGllbnQsIGxlbiA9ICVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkLCBpbmNvbWluZyBudW0gPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICIlZCBiYWxpb2dhYmVrbyBla2ludHphXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQ6ICVzXG4iCittc2dzdHIgIiVzOiBiYWxpb2dhYmVrbyAlcyB0aW1lX3QgYmFsb3JlYVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgcmFuZG9tIFVVSUQ6ICVzXG4iCittc2dzdHIgImVycm9yZWE6IFVVSURhIGlyYWt1cnR6ZWFuIGh1dHMgZWdpbiBkYSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgJWQgVVVJRDpcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkICVkIFVVSURzOlxuIgorbXNnc3RyWzBdICJ1dWlkLXJpayBlelxuIgorbXNnc3RyWzFdICJ1dWlkLXJpayBlelxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgb3BlcmF0aW9uICVkXG4iCittc2dzdHIgIiVkIGJhbGlvZ2FiZWtvIGVraW50emFcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUzOQorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIHJlcGx5IGxlbmd0aCBmcm9tIHNlcnZlciAlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjAwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXV1aWRzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYxNworbXNnaWQgInV1aWRkIGhhcyBiZWVuIGJ1aWx0IHdpdGhvdXQgc3VwcG9ydCBmb3Igc29ja2V0IGFjdGl2YXRpb24iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYzNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10aW1lb3V0IgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1MworbXNnaWQgIkJvdGggLS1zb2NrZXQtYWN0aXZhdGlvbiBhbmQgLS1zb2NrZXQgc3BlY2lmaWVkLiBJZ25vcmluZyAtLXNvY2tldC4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2MCBtaXNjLXV0aWxzL3V1aWRkLmM6Njg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjYWxsaW5nIHV1aWRkIGRhZW1vbiAoJXMpIgorbXNnc3RyICJlcnJvcmVhOiBtYWxsb2MtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYxIG1pc2MtdXRpbHMvdXVpZGQuYzo2ODkKKyMsIGZ1enp5Cittc2dpZCAidW5leHBlY3RlZCBlcnJvciIKK21zZ3N0ciAiRXppbiBkYSAnJXMnIGZpdHhhdGVnaWEgaXJla2kiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURcbiIKK21zZ2lkX3BsdXJhbCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRHNcbiIKK21zZ3N0clswXSAiZXJyb3JlYTogVVVJRGEgaXJha3VydHplYW4gaHV0cyBlZ2luIGRhIgorbXNnc3RyWzFdICJlcnJvcmVhOiBVVUlEYSBpcmFrdXJ0emVhbiBodXRzIGVnaW4gZGEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxpc3Qgb2YgVVVJRHM6XG4iCittc2dzdHIgIlVVSUQgemVycmVuZGE6XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3Qga2lsbCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIktpbGxlZCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyOAorIywgZnV6enkKK21zZ2lkICJDcmVhdGUgYSBuZXcgVVVJRCB2YWx1ZS5cbiIKK21zZ3N0ciAiU29ydHUgcGFydGl6aW8gbG9naWtvIGJlcnJpIGJhdCIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzEKK21zZ2lkICIiCisiIC1yLCAtLXJhbmRvbSAgICAgZ2VuZXJhdGUgcmFuZG9tLWJhc2VkIHV1aWRcbiIKKyIgLXQsIC0tdGltZSAgICAgICBnZW5lcmF0ZSB0aW1lLWJhc2VkIHV1aWRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstQk1TIDxkaXI+Li4uIC1mXSA8bmFtZT5cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTIKK21zZ2lkICJMb2NhdGUgdGhlIGJpbmFyeSwgc291cmNlLCBhbmQgbWFudWFsLXBhZ2UgZmlsZXMgZm9yIGEgY29tbWFuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTUKK21zZ2lkICIgLWIgICAgICAgICBzZWFyY2ggb25seSBmb3IgYmluYXJpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTYKK21zZ2lkICIgLUIgPGRpcnM+ICBkZWZpbmUgYmluYXJpZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTcKKyMsIGZ1enp5Cittc2dpZCAiIC1tICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIG1hbnVhbHMgYW5kIGluZm9zXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgIExlaGVuYSAgICAgQXprZW5hXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5OAorbXNnaWQgIiAtTSA8ZGlycz4gIGRlZmluZSBtYW4gYW5kIGluZm8gbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTkKK21zZ2lkICIgLXMgICAgICAgICBzZWFyY2ggb25seSBmb3Igc291cmNlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMAorbXNnaWQgIiAtUyA8ZGlycz4gIGRlZmluZSBzb3VyY2VzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAxCittc2dpZCAiIC1mICAgICAgICAgdGVybWluYXRlIDxkaXJzPiBhcmd1bWVudCBsaXN0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAyCittc2dpZCAiIC11ICAgICAgICAgc2VhcmNoIGZvciB1bnVzdWFsIGVudHJpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDMKK21zZ2lkICIgLWwgICAgICAgICBvdXRwdXQgZWZmZWN0aXZlIGxvb2t1cCBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjYxOQorIywgZnV6enkKK21zZ2lkICJvcHRpb24gLWYgaXMgbWlzc2luZyIKK21zZ3N0ciAiLS1kYXRlIGFyZ3VtZW50dWEgbHV6ZWVnaWEgZGFcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxOTYKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJQYXJ0aXppbyB6ZW5iYWtpYSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoyNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogcHJvYmluZyBpbml0aWFsaXphdGlvbiBmYWlsZWQiCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGVyYXNlICVzIG1hZ2ljIHN0cmluZyBhdCBvZmZzZXQgMHglMDhqeCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dpZF9wbHVyYWwgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzBdICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKK21zZ3N0clsxXSAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAiCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FsbGluZyBpb2N0bCB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZTogJW1cbiIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6Mzg1Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaWdub3JpbmcgbmVzdGVkIFwiJXNcIiBwYXJ0aXRpb24gdGFibGUgb24gbm9uLXdob2xlIGRpc2sgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0IDB4JWp4IG5vdCBmb3VuZCIKK21zZ3N0ciAidW1vdW50OiBleiBkYSAlcyBhdXJraXR1IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQzNQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBvcHRpb24gdG8gZm9yY2UgZXJhc2UuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU5Cittc2dpZCAiV2lwZSBzaWduYXR1cmVzIGZyb20gYSBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0NjIKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpXG4iCisiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgIGZvcmNlIGVyYXN1cmVcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCisiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGxcbiIKKyIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgdG8gZXJhc2UsIGluIGJ5dGVzXG4iCisiIC1wLCAtLXBhcnNhYmxlICAgICAgcHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdFxuIgorIiAtcSwgLS1xdWlldCAgICAgICAgIHN1cHByZXNzIG91dHB1dCBtZXNzYWdlc1xuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSwgUkFJRHMgb3IgcGFydGl0aW9uIHRhYmxlc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MzMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBvZmZzZXQgYXJndW1lbnQiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1NTgKK21zZ2lkICJUaGUgLS1iYWNrdXAgb3B0aW9uIGlzIG1lYW5pbmdsZXNzIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzUKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVhbC10aW1lIHNjaGVkdWxpbmcgYXR0cmlidXRlcyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM3Cittc2dpZCAiIgorIlNldCBwb2xpY3k6XG4iCisiIGNocnQgW29wdGlvbnNdIDxwcmlvcml0eT4gPGNvbW1hbmQ+IFs8YXJnPi4uLl1cbiIKKyIgY2hydCBbb3B0aW9uc10gLS1waWQgPHByaW9yaXR5PiA8cGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0MQorbXNnaWQgIiIKKyJHZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSAtcCA8cGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NQorIywgZnV6enkKK21zZ2lkICJQb2xpY3kgb3B0aW9uczpcbiIKK21zZ3N0ciAiYXVrZXJhIGJhbGlvZ2FycmlhazoiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NgorbXNnaWQgIiAtYiwgLS1iYXRjaCAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0JBVENIXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ3CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kZWFkbGluZSAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0RFQURMSU5FXG4iCittc2dzdHIgIiAgZCAgICAgICAgICBVbmVrbyBwYXJ0aXppb2EgZXphYmF0dSIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ4CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maWZvICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKK21zZ3N0ciAiICBkICAgICAgICAgIFVuZWtvIHBhcnRpemlvYSBlemFiYXR1IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDkKK21zZ2lkICIgLWksIC0taWRsZSAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9JRExFXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUwCittc2dpZCAiIC1vLCAtLW90aGVyICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTEKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJyICAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU0CisjLCBmdXp6eQorbXNnaWQgIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAiYXVrZXJhIGJhbGlvZ2FycmlhazoiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NQorbXNnaWQgIiAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgIHNldCBTQ0hFRF9SRVNFVF9PTl9GT1JLIGZvciBGSUZPIG9yIFJSXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU2Cittc2dpZCAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAgcnVudGltZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU3Cittc2dpZCAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTgKK21zZ2lkICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYxCisjLCBmdXp6eQorbXNnaWQgIk90aGVyIG9wdGlvbnM6XG4iCittc2dzdHIgImF1a2VyYSBiYWxpb2dhcnJpYWs6IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjIKK21zZ2lkICIgLWEsIC0tYWxsLXRhc2tzICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjMKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1heCAgICAgICAgICAgIHNob3cgbWluIGFuZCBtYXggdmFsaWQgcHJpb3JpdGllc1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjMyIHNjaGVkdXRpbHMvY2hydC5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhdHRyaWJ1dGVzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2NworIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcHJpb3JpdHk6ICVkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMDAgc2NoZWR1dGlscy9jaHJ0LmM6Mzk2CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvYnRhaW4gdGhlIGxpc3Qgb2YgdGFza3MiCittc2dzdHIgIiIKKyJcbiIKKyJCU0QgZXRpa2V0YSBnYWlsdWFyZW50emF0OiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbWluL21heCBwcmlvcml0eVx0OiAlZC8lZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IHN1cHBvcnRlZD9cbiIKK21zZ3N0ciAiZnNjazogJXM6IGV6IGRhIGF1cmtpdHVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBydW50aW1lIGFyZ3VtZW50IgorbXNnc3RyICJiYWxpb2dhYmVrbyBhdWtlcmEiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ5MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBlcmlvZCBhcmd1bWVudCIKK21zZ3N0ciAiYmFsaW9nYWJla28gYXVrZXJhIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBkZWFkbGluZSBhcmd1bWVudCIKK21zZ3N0ciAiYmFsaW9nYWJla28gYXVrZXJhIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MTcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwcmlvcml0eSBhcmd1bWVudCIKK21zZ3N0ciAiYmFsaW9nYWJla28gYXVrZXJhIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MjEKK21zZ2lkICItLXJlc2V0LW9uLWZvcmsgb3B0aW9uIGlzIHN1cHBvcnRlZCBmb3IgU0NIRURfRklGTyBhbmQgU0NIRURfUlIgcG9saWNpZXMgb25seSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MjYKK21zZ2lkICItLXNjaGVkLXtydW50aW1lLGRlYWRsaW5lLHBlcmlvZH0gb3B0aW9ucyBhcmUgc3VwcG9ydGVkIGZvciBTQ0hFRF9ERUFETElORSBvbmx5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0MQorIywgZnV6enkKK21zZ2lkICJTQ0hFRF9ERUFETElORSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiZnNjazogJXM6IGV6IGRhIGF1cmtpdHVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByaW9yaXR5IHZhbHVlIGZvciB0aGUgcG9saWN5OiAlZDogc2VlIC0tbWF4IGZvciB2YWxpZCByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc2Cittc2dpZCAiaW9wcmlvX2dldCBmYWlsZWQiCittc2dzdHIgImlvcHJpby1nZXQtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcHJpbyAlbHVcbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJhXVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjk4Cittc2dpZCAiaW9wcmlvX3NldCBmYWlsZWQiCittc2dzdHIgImlvcHJpby1zZXQtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEwNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIC1wIDxwaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC1QIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtdSA8dWlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExMAorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBJL08tc2NoZWR1bGluZyBjbGFzcyBhbmQgcHJpb3JpdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTEzCittc2dpZCAiIgorIiAtYywgLS1jbGFzcyA8Y2xhc3M+ICAgIG5hbWUgb3IgbnVtYmVyIG9mIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNQorbXNnaWQgIiIKKyIgLW4sIC0tY2xhc3NkYXRhIDxudW0+ICBwcmlvcml0eSAoMC4uNykgaW4gdGhlIHNwZWNpZmllZCBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgb25seSBmb3IgdGhlIHJlYWx0aW1lIGFuZCBiZXN0LWVmZm9ydCBjbGFzc2VzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTcKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+Li4uICAgICBhY3Qgb24gdGhlc2UgYWxyZWFkeSBydW5uaW5nIHByb2Nlc3Nlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE4Cittc2dpZCAiIC1QLCAtLXBnaWQgPHBncnA+Li4uICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgaW4gdGhlc2UgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTkKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLWlnbm9yZSAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMjAKK21zZ2lkICIgLXUsIC0tdWlkIDx1aWQ+Li4uICAgICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBvd25lZCBieSB0aGVzZSB1c2Vyc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY2xhc3MgZGF0YSBhcmd1bWVudCIKK21zZ3N0ciAiYmFsaW9nYWJla28gYXVrZXJhIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGNsYXNzIGFyZ3VtZW50IgorbXNnc3RyICJiYWxpb2dhYmVrbyBpZC1hOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzY2hlZHVsaW5nIGNsYXNzOiAnJXMnIgorbXNnc3RyICIlczogS29tYW5kbyBlemV6YWd1bmE6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc2IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg0IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkyCittc2dpZCAiY2FuIGhhbmRsZSBvbmx5IG9uZSBvZiBwaWQsIHBnaWQgb3IgdWlkIGF0IG9uY2UiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBQR0lEIGFyZ3VtZW50IgorbXNnc3RyICJiYWxpb2dhYmVrbyBpZC1hOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFVJRCBhcmd1bWVudCIKK21zZ3N0ciAiYmFsaW9nYWJla28gaWQtYTogJXNcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMTIKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBub25lIGNsYXNzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjIwCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3IgaWRsZSBjbGFzcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvIGNsYXNzICVkIgorbXNnc3RyICJmaXR4YXRlZ2kgbHV6ZWVyYSBva2VycmEiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiVXNhZ2U6ICVzIFtvcHRpb25zXSBbbWFzayB8IGNwdS1saXN0XSBbcGlkfGNtZCBbYXJncy4uLl1dXG4iCisiXG4iCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTUKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgQ1BVIGFmZmluaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiT3B0aW9uczpcbiIKKyIgLWEsIC0tYWxsLXRhc2tzICAgICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKKyIgLXAsIC0tcGlkICAgICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKKyIgLWMsIC0tY3B1LWxpc3QgICAgICAgICAgZGlzcGxheSBhbmQgc3BlY2lmeSBjcHVzIGluIGxpc3QgZm9ybWF0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIHJ1biBhIG5ldyBjb21tYW5kOlxuIgorIiAgICAlMSRzIDAzIHNzaGQgLWIgMTAyNFxuIgorIllvdSBjYW4gcmV0cmlldmUgdGhlIG1hc2sgb2YgYW4gZXhpc3RpbmcgdGFzazpcbiIKKyIgICAgJTEkcyAtcCA3MDBcbiIKKyJPciBzZXQgaXQ6XG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisiTGlzdCBmb3JtYXQgdXNlcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IGluc3RlYWQgb2YgYSBtYXNrOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJSYW5nZXMgaW4gbGlzdCBmb3JtYXQgY2FuIHRha2UgYSBzdHJpZGUgYXJndW1lbnQ6XG4iCisiICAgIGUuZy4gMC0zMToyIGlzIGVxdWl2YWxlbnQgdG8gbWFzayAweDU1NTU1NTU1XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5OQorIywgZnV6enkKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogY29udmVyc2lvbiBmcm9tIGNwdXNldCB0byBzdHJpbmcgZmFpbGVkIgorbXNnc3RyICIlczogYmFsaW9nYWJla28gJXMgdGltZV90IGJhbG9yZWFcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTA5IHNjaGVkdXRpbHMvdGFza3NldC5jOjEyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjExOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE4NiBzeXMtdXRpbHMvY2hjcHUuYzoyODkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBOUl9DUFVTOyBhYm9ydGluZyIKK21zZ3N0ciAiRXppbiBkYSBkaXNrb2FyZW4gdGFtYWludWEgbG9ydHUiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE5NSBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMDggc3lzLXV0aWxzL2NoY3B1LmM6Mjk1CisjLCBmdXp6eQorbXNnaWQgImNwdXNldF9hbGxvYyBmYWlsZWQiCittc2dzdHIgImNhbGxvYy1layBodXRzIGVnaW4gZHUiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxNSBzeXMtdXRpbHMvY2hjcHUuYzoyMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdDogJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzazogJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBaZXJvLWZpbGxlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IERpc2NhcmRlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODcKK21zZ2lkICJEaXNjYXJkIHRoZSBjb250ZW50IG9mIHNlY3RvcnMgb24gYSBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iCittc2dzdHIgIlNhcnR1IHppbGluZHJvIGtvcHVydWE6IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkxCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorbXNnc3RyICJTYXJ0dSB6aWxpbmRybyBrb3B1cnVhOiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkzCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zZWN1cmUgICAgICAgIHBlcmZvcm0gc2VjdXJlIGRpc2NhcmRcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk0CisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS16ZXJvb3V0ICAgICAgIHplcm8tZmlsbCByYXRoZXIgdGhhbiBkaXNjYXJkXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTAgc3lzLXV0aWxzL2ZzdHJpbS5jOjMxMiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY3MworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTI0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBvZmZzZXQiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RlcCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTcyIHN5cy11dGlscy96cmFtY3RsLmM6NjgyIHN5cy11dGlscy96cmFtY3RsLmM6NzA4CisjLCBmdXp6eQorbXNnaWQgIm5vIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIkV6IGRhIC0tZGF0ZSBhdWtlcmFyaWsgemVoYXp0dS5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzcgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM1MQorIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTIyIHN5cy11dGlscy9mc3RyaW0uYzozMzQKKyMsIGZ1enp5Cittc2dpZCAidW5leHBlY3RlZCBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJFemluIGRhICclcycgZml0eGF0ZWdpYSBpcmVraSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJLREdIV0NMSyBpb2N0bC1layBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU1NaR0VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiICVzOiB3cml0ZS1rIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgaXMgZ3JlYXRlciB0aGFuIGRldmljZSBzaXplIgorbXNnc3RyICJFemluIGRhIGRpc2tvYXJlbiB0YW1haW51YSBsb3J0dSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxlbmd0aCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtaRVJPT1VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiICVzOiB3cml0ZS1rIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTRUNESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiICVzOiB3cml0ZS1rIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiICVzOiB3cml0ZS1rIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6ODcgc3lzLXV0aWxzL2NoY3B1LmM6MTc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgImZzY2s6ICVzOiBleiBkYSBhdXJraXR1XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGhvdCBwbHVnZ2FibGUiCittc2dzdHIgIiclYycgZXogZGFnbyBvbmFydHV0YS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGVuYWJsZWRcbiIKK21zZ3N0ciAiUGFydGl6aW8gaGF1IGRhZ29lbmVrbyBlcmFiaWxpdGEgZGFnbyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBkaXNhYmxlZFxuIgorbXNnc3RyICJQYXJ0aXppbyBoYXUgZGFnb2VuZWtvIGVyYWJpbGl0YSBkYWdvIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIChDUFUgaXMgZGVjb25maWd1cmVkKSIKK21zZ3N0ciAiUGFydGl6aW8gaGF1IGRhZ29lbmVrbyBlcmFiaWxpdGEgZGFnbyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCIKK21zZ3N0ciAiUGFydGl6aW8gaGF1IGRhZ29lbmVrbyBlcmFiaWxpdGEgZGFnbyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlZFxuIgorbXNnc3RyICJQYXJ0aXppbyBoYXUgZGFnb2VuZWtvIGVyYWJpbGl0YSBkYWdvIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCAobGFzdCBlbmFibGVkIENQVSkiCittc2dzdHIgIlBhcnRpemlvIGhhdSBkYWdvZW5la28gZXJhYmlsaXRhIGRhZ28iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICJQYXJ0aXppbyBoYXUgZGFnb2VuZWtvIGVyYWJpbGl0YSBkYWdvIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlZFxuIgorbXNnc3RyICJQYXJ0aXppbyBoYXUgZGFnb2VuZWtvIGVyYWJpbGl0YSBkYWdvIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHJlc2Nhbm5pbmcgb2YgQ1BVcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHRyaWdnZXIgcmVzY2FuIG9mIENQVXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJpZ2dlcmVkIHJlc2NhbiBvZiBDUFVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTUxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBzZXR0aW5nIHRoZSBkaXNwYXRjaGluZyBtb2RlIG9mIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU1CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IGhvcml6b250YWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU5CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBzZXQgdmVydGljYWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCB2ZXJ0aWNhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgY29uZmlndXJhYmxlIgorbXNnc3RyICInJWMnIGV6IGRhZ28gb25hcnR1dGEuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgY29uZmlndXJlZFxuIgorbXNnc3RyICJQYXJ0aXppbyBoYXUgZGFnb2VuZWtvIGVyYWJpbGl0YSBkYWdvIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJQYXJ0aXppbyBoYXUgZGFnb2VuZWtvIGVyYWJpbGl0YSBkYWdvIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiJyVjJyBleiBkYWdvIG9uYXJ0dXRhLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICInJWMnIGV6IGRhZ28gb25hcnR1dGEuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiJyVjJyBleiBkYWdvIG9uYXJ0dXRhLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIiclYycgZXogZGFnbyBvbmFydHV0YS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIiclYycgZXogZGFnbyBvbmFydHV0YS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIENQVSBudW1iZXIgaW4gQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICJiYWxpb2dhYmVrbyBsZXJybyBrb3B1cnVhIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzggdGV4dC11dGlscy9jb2wuYzoxMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgImF1a2VyYSBiYWxpb2dhcnJpYWs6IgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDIKK21zZ2lkICJDb25maWd1cmUgQ1BVcyBpbiBhIG11bHRpLXByb2Nlc3NvciBzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQ0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyIgIC1lLCAtLWVuYWJsZSA8Y3B1LWxpc3Q+ICAgICAgIGVuYWJsZSBjcHVzXG4iCisiICAtZCwgLS1kaXNhYmxlIDxjcHUtbGlzdD4gICAgICBkaXNhYmxlIGNwdXNcbiIKKyIgIC1jLCAtLWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICAgIGNvbmZpZ3VyZSBjcHVzXG4iCisiICAtZywgLS1kZWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICBkZWNvbmZpZ3VyZSBjcHVzXG4iCisiICAtcCwgLS1kaXNwYXRjaCA8bW9kZT4gICAgICAgICBzZXQgZGlzcGF0Y2hpbmcgbW9kZVxuIgorIiAgLXIsIC0tcmVzY2FuICAgICAgICAgICAgICAgICAgdHJpZ2dlciByZXNjYW4gb2YgY3B1c1xuIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzozMjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgaGFyZHxzb2Z0XG4iCittc2dzdHIgIiIKKyJFcmFiaWxlcmE6XG4iCisiICAlcyIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICJTZXQgdGhlIGZ1bmN0aW9uIG9mIHRoZSBDdHJsLUFsdC1EZWwgY29tYmluYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MQorbXNnaWQgImltcGxpY2l0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdmFsdWUgaW4gJXM6ICVqdSIKK21zZ3N0ciAiRXppbiBkYSAnJXMnIGZpdHhhdGVnaWEgaXJla2kiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NjMKK21zZ2lkICJZb3UgbXVzdCBiZSByb290IHRvIHNldCB0aGUgQ3RybC1BbHQtRGVsIGJlaGF2aW9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NzEgc3lzLXV0aWxzL2lwY3JtLmM6MzkyIHN5cy11dGlscy9pcGNybS5jOjQxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhcmd1bWVudDogJXMiCittc2dzdHIgIiVzOiBLb21hbmRvIGV6ZXphZ3VuYTogJXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEwCisjLCBmdXp6eQorbXNnaWQgInN5c3RlbSBpcyB1bnVzYWJsZSIKK21zZ3N0ciAiUGFydGl6aW8gaGF1IGV6aW4gZGEgZXJhYmlsaSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTExCittc2dpZCAiYWN0aW9uIG11c3QgYmUgdGFrZW4gaW1tZWRpYXRlbHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEyCittc2dpZCAiY3JpdGljYWwgY29uZGl0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTMKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3IgY29uZGl0aW9ucyIKK21zZ3N0ciAiZXJyb3JlYSAlcyBpdHhpdHplcmFrb2FuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAid2FybmluZyBjb25kaXRpb25zIgorbXNnc3RyICJiZXJpcmFrdXJyaSBwYXJ0aXppbyB0YXVsYSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE1Cittc2dpZCAibm9ybWFsIGJ1dCBzaWduaWZpY2FudCBjb25kaXRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE2Cittc2dpZCAiaW5mb3JtYXRpb25hbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTcKK21zZ2lkICJkZWJ1Zy1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzEKK21zZ2lkICJrZXJuZWwgbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMyCittc2dpZCAicmFuZG9tIHVzZXItbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMzCisjLCBmdXp6eQorbXNnaWQgIm1haWwgc3lzdGVtIgorbXNnc3RyICJTYXJ0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YTogIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzQKK21zZ2lkICJzeXN0ZW0gZGFlbW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzUKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNgorbXNnaWQgIm1lc3NhZ2VzIGdlbmVyYXRlZCBpbnRlcm5hbGx5IGJ5IHN5c2xvZ2QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM3Cittc2dpZCAibGluZSBwcmludGVyIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzgKK21zZ2lkICJuZXR3b3JrIG5ld3Mgc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOQorbXNnaWQgIlVVQ1Agc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MAorIywgZnV6enkKK21zZ2lkICJjbG9jayBkYWVtb24iCittc2dzdHIgIkV6aW4gZGEgaXJla2kiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MQorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMgKHByaXZhdGUpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MgorIywgZnV6enkKK21zZ2lkICJGVFAgZGFlbW9uIgorbXNnc3RyICJFemluIGRhIGlyZWtpIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNjcKK21zZ2lkICJEaXNwbGF5IG9yIGNvbnRyb2wgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlci5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzAKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICBjbGVhciB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjcxCittc2dpZCAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICByZWFkIGFuZCBjbGVhciBhbGwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzIKK21zZ2lkICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIGRpc2FibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MworbXNnaWQgIiAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAgZW5hYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzQKK21zZ2lkICIgLUYsIC0tZmlsZSA8ZmlsZT4gICAgICAgICAgIHVzZSB0aGUgZmlsZSBpbnN0ZWFkIG9mIHRoZSBrZXJuZWwgbG9nIGJ1ZmZlclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NQorbXNnaWQgIiAtZiwgLS1mYWNpbGl0eSA8bGlzdD4gICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgZmFjaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NgorIywgZnV6enkKK21zZ2lkICIgLUgsIC0taHVtYW4gICAgICAgICAgICAgICAgIGh1bWFuIHJlYWRhYmxlIG91dHB1dFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NworIywgZnV6enkKK21zZ2lkICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIGRpc3BsYXkga2VybmVsIG1lc3NhZ2VzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc4CisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODEKK21zZ2lkICIgLWwsIC0tbGV2ZWwgPGxpc3Q+ICAgICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGxldmVsc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MgorbXNnaWQgIiAtbiwgLS1jb25zb2xlLWxldmVsIDxsZXZlbD4gc2V0IGxldmVsIG9mIG1lc3NhZ2VzIHByaW50ZWQgdG8gY29uc29sZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MworIywgZnV6enkKK21zZ2lkICIgLVAsIC0tbm9wYWdlciAgICAgICAgICAgICAgIGRvIG5vdCBwaXBlIG91dHB1dCBpbnRvIGEgcGFnZXJcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEVyYWt1dHNpIHBhcnRpemlvIHRhdWxhIHBhbnRhaWxhbiBlZG8gaWRhdHppIGZpdHhhdGVnaXJlbiBiYXRlYW4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByYXcgbWVzc2FnZSBidWZmZXJcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODUKK21zZ2lkICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIGZvcmNlIHRvIHVzZSBzeXNsb2coMikgcmF0aGVyIHRoYW4gL2Rldi9rbXNnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg2Cittc2dpZCAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgZGlzcGxheSB1c2Vyc3BhY2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODgKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICB3YWl0IGZvciBuZXcgbWVzc2FnZXNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODkKK21zZ2lkICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIGRlY29kZSBmYWNpbGl0eSBhbmQgbGV2ZWwgdG8gcmVhZGFibGUgc3RyaW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkwCittc2dpZCAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICBzaG93IHRpbWUgZGVsdGEgYmV0d2VlbiBwcmludGVkIG1lc3NhZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkxCittc2dpZCAiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBzaG93IGxvY2FsIHRpbWUgYW5kIHRpbWUgZGVsdGEgaW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkyCisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbi1yZWFkYWJsZSB0aW1lc3RhbXAgKG1heSBiZSBpbmFjY3VyYXRlISlcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBkb24ndCBzaG93IGFueSB0aW1lc3RhbXAgd2l0aCBtZXNzYWdlc1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NAorbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wIHVzaW5nIHRoZSBnaXZlbiBmb3JtYXQ6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisiU3VzcGVuZGluZy9yZXN1bWUgd2lsbCBtYWtlIGN0aW1lIGFuZCBpc28gdGltZXN0YW1wcyBpbmFjY3VyYXRlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwMAorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGZhY2lsaXRpZXM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzA2Cittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgbGV2ZWxzIChwcmlvcml0aWVzKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZXZlbCAnJXMnIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGxldmVsICclcyciCittc2dzdHIgIiVzOiBLb21hbmRvIGV6ZXphZ3VuYTogJXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mzk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjQwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSAnJXMnIgorbXNnc3RyICI8aT4gKGV6IGRhZ28gaXJhZG9raXp1bmlrKSA8L2k+IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtbWFwOiAlcyIKK21zZ3N0ciAiZXppbiBkYSAlcyBpcmVraSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1NgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGJ1ZmZlciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJiYWxpb2dhYmVrbyBhdWtlcmEiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MDkKK21zZ2lkICItLXNob3ctZGVsdGEgaXMgaWdub3JlZCB3aGVuIHVzZWQgdG9nZXRoZXIgd2l0aCBpc284NjAxIHRpbWUgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MzIKK21zZ2lkICItLXJhdyBjYW4gYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tbGV2ZWwgb3IgLS1mYWNpbGl0eSBvbmx5IHdoZW4gcmVhZGluZyBtZXNzYWdlcyBmcm9tIC9kZXYva21zZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDQyCisjLCBmdXp6eQorbXNnaWQgInJlYWQga2VybmVsIGJ1ZmZlciBmYWlsZWQiCittc2dzdHIgImlyYWt1cnJpIHJ0YyBvcmR1YSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQ2MQorIywgZnV6enkKK21zZ2lkICJrbG9nY3RsIGZhaWxlZCIKK21zZ3N0ciAibXNnY3RsLWVrIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPnw8bW91bnRwb2ludD5dXG4iCittc2dzdHIgIiIKKyJFcmFiaWxlcmE6ICVzJXMgW2F1a2VyYWtdIFthcGxpa2F6aW9hIFthcGxpa2F6aW9hIGFyZ3VtZW50dWFrXV1cbiIKKyJcbiIKKyJBdWtlcmFrOlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiRWplY3QgcmVtb3ZhYmxlIG1lZGlhLlxuIgorbXNnc3RyICIga2VuZ2FycmlhIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNDAKK21zZ2lkICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICB0dXJuIGF1dG8tZWplY3QgZmVhdHVyZSBvbiBvciBvZmZcbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHNsb3Q+ICAgIHN3aXRjaCBkaXNjcyBvbiBhIENELVJPTSBjaGFuZ2VyXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBkaXNwbGF5IGRlZmF1bHQgZGV2aWNlXG4iCisiIC1mLCAtLWZsb3BweSAgICAgICAgICAgICAgICBlamVjdCBmbG9wcHlcbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIGRvbid0IGNhcmUgYWJvdXQgZGV2aWNlIHR5cGVcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIHRvZ2dsZSBtYW51YWwgZWplY3QgcHJvdGVjdGlvbiBvbi9vZmZcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIGRvIG5vdCB1bm1vdW50IGRldmljZSBldmVuIGlmIGl0IGlzIG1vdW50ZWRcbiIKKyIgLU0sIC0tbm8tcGFydGl0aW9ucy11bm1vdW50IGRvIG5vdCB1bm1vdW50IGFub3RoZXIgcGFydGl0aW9uc1xuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgZG9uJ3QgZWplY3QsIGp1c3Qgc2hvdyBkZXZpY2UgZm91bmRcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIHVzZSAvcHJvYy9tb3VudHMgaW5zdGVhZCBvZiAvZXRjL210YWJcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIGVqZWN0IHRhcGVcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIGVqZWN0IENELVJPTVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgZWplY3QgU0NTSSBkZXZpY2VcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIGNsb3NlIHRyYXlcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIHRvZ2dsZSB0cmF5XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICBlbmFibGUgdmVyYm9zZSBvdXRwdXRcbiIKKyIgLXgsIC0tY2RzcGVlZCA8c3BlZWQ+ICAgICAgIHNldCBDRC1ST00gbWF4IHNwZWVkXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICBsaXN0IENELVJPTSBhdmFpbGFibGUgc3BlZWRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTY0Cittc2dpZCAiIgorIlxuIgorIkJ5IGRlZmF1bHQgdHJpZXMgLXIsIC1zLCAtZiwgYW5kIC1xIGluIG9yZGVyIHVudGlsIHN1Y2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjEwCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNoYW5nZXJzbG90Ly1jIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNkc3BlZWQvLXggb3B0aW9uIgorbXNnc3RyICJiYWxpb2dhYmVrbyBpZC1hOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMjYKK21zZ2lkICJDRC1ST00gYXV0by1lamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDAKKyMsIGZ1enp5Cittc2dpZCAiQ0QtUk9NIGRvb3IgbG9jayBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIlZCBhYmlhZHVyYWsgZXogZHUgZXVza2FycmlyaWsiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MgorbXNnaWQgIm90aGVyIHVzZXJzIGhhdmUgdGhlIGRyaXZlIG9wZW4gYW5kIG5vdCBDQVBfU1lTX0FETUlOIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0NAorbXNnaWQgIkNELVJPTSBsb2NrIGRvb3IgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQ5Cittc2dpZCAiQ0QtRHJpdmUgbWF5IE5PVCBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNTEKK21zZ2lkICJDRC1Ecml2ZSBtYXkgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzYyCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBkaXNjIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NgorbXNnaWQgIkNELVJPTSBsb2FkIGZyb20gc2xvdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjgKK21zZ2lkICJJREUvQVRBUEkgQ0QtUk9NIGNoYW5nZXIgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NgorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4OAorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQwNQorIywgZnV6enkKK21zZ2lkICJDRC1ST00gZWplY3QgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiVkIGFiaWFkdXJhayBleiBkdSBldXNrYXJyaXJpayIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDMzIHN5cy11dGlscy9lamVjdC5jOjQ1NiBzeXMtdXRpbHMvZWplY3QuYzoxMDExCittc2dpZCAiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzNgorbXNnaWQgIm5vIENELVJPTSBpbmZvcm1hdGlvbiBhdmFpbGFibGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM5Cittc2dpZCAiQ0QtUk9NIGRyaXZlIGlzIG5vdCByZWFkeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODIKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4NCBzeXMtdXRpbHMvZWplY3QuYzo1NzAKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZGluZyBDRC1ST00gbmFtZSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTQ0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTg4CisjLCBmdXp6eQorbXNnaWQgIm5vdCBhbiBzZyBkZXZpY2UsIG9yIG9sZCBzZyBkcml2ZXIiCittc2dzdHIgIkV6aW4gZGEgYmlsYXR1IGRpc2tvIHVuaXRhdGVhbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5tb3VudGluZyIKK21zZ3N0ciAibW91bnQtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBleGVjIC9iaW4vdW1vdW50IG9mIGAlcyciCittc2dzdHIgImh1dHMgZWdpbiBkYSAlcyBleGVrdXRhdHplbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njc4CisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBmb3JrIgorbXNnc3RyICJlemluIGRhICVzIGlyZWtpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgIm1vdW50OiAlcyBtdW50YXUgcHVudHVhIGV6IGRhIGV4aXN0aXR6ZW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGZhaWxlZFxuIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzMwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjc5MSBzeXMtdXRpbHMvZWplY3QuYzo4OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudGVkIG9uICVzIgorbXNnc3RyICJmc2NrOiAlczogZXogZGEgYXVya2l0dVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MzMKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byBhdXRvIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzNQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byAlbGRYIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg2MQorIywgYy1mb3JtYXQKK21zZ2lkICJkZWZhdWx0IGRldmljZTogYCVzJyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIGRlZmF1bHQgZGV2aWNlIGAlcyciCittc2dzdHIgIkJhbGlvZ2FiZWtvIHppbGluZHJvIGJhbG9yZWFrIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODYgc3lzLXV0aWxzL3J0Y3dha2UuYzozNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gZmluZCBkZXZpY2UiCittc2dzdHIgImV6aW4gZGlyYSBib290Yml0IHNla3RvcmVhayBlemFiYXR1IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBuYW1lIGlzIGAlcyciCittc2dzdHIgIkxvb3AgZ2FpbHVhICVzIGRhXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg5NCBzeXMtdXRpbHMvdW1vdW50LmM6MjA2IHN5cy11dGlscy91bW91bnQuYzoyMzUKKyM6IHN5cy11dGlscy91bW91bnQuYzo0MDkgc3lzLXV0aWxzL3Vtb3VudC5jOjQzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBtb3VudGVkIgorbXNnc3RyICJmc2NrOiAlczogZXogZGEgYXVya2l0dVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2MgZGV2aWNlOiAlcyAoZGlzayBkZXZpY2Ugd2lsbCBiZSB1c2VkIGZvciBlamVjdCkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQgbW91bnRwb2ludCBvciBkZXZpY2Ugd2l0aCB0aGUgZ2l2ZW4gbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyB3aG9sZS1kaXNrIGRldmljZSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBob3QtcGx1Z2dhYmxlIGRldmljZSIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBpcyBgJXMnIgorbXNnc3RyICJMb29wIGdhaWx1YSAlcyBkYVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTgKK21zZ2lkICJleGl0aW5nIGR1ZSB0byAtbi8tLW5vb3Agb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZW5hYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NpbmcgdHJheSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsaXN0aW5nIENELVJPTSBzcGVlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogZGV2aWNlIGluIHVzZSIKK21zZ3N0ciAiJXM6ICVzOiBnYWlsdWEgb2t1cGF0dWEgZGFnbyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWxlY3RpbmcgQ0QtUk9NIGRpc2MgIyVsZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgQ0QtUk9NIGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMAorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgU0NTSSBjb21tYW5kcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE3Cittc2dpZCAiU0NTSSBlamVjdCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxOAorIywgZnV6enkKK21zZ2lkICJTQ1NJIGVqZWN0IGZhaWxlZCIKK21zZ3N0ciAiZXhlY3YtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgZmxvcHB5IGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNAorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI1Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyB0YXBlIG9mZmxpbmUgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDMxCittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzIKKyMsIGZ1enp5Cittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIlczogZ2V0IHNpemUgZWdpdGVyYWtvYW4gaHV0cyBlZ2luIGRhIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDM2CisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBlamVjdCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhICVzIGV4ZWt1dGF0emVuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGVuYW1lPlxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4MQorbXNnaWQgIlByZWFsbG9jYXRlIHNwYWNlIHRvLCBvciBkZWFsbG9jYXRlIHNwYWNlIGZyb20gYSBmaWxlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NAorbXNnaWQgIiAtYywgLS1jb2xsYXBzZS1yYW5nZSByZW1vdmUgYSByYW5nZSBmcm9tIHRoZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg1Cittc2dpZCAiIC1kLCAtLWRpZy1ob2xlcyAgICAgIGRldGVjdCB6ZXJvZXMgYW5kIHJlcGxhY2Ugd2l0aCBob2xlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICAgbGVuZ3RoIGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICJTYXJ0dSB6aWxpbmRybyBrb3B1cnVhOiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg3CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1rZWVwLXNpemUgICAgICBtYWludGFpbiB0aGUgYXBwYXJlbnQgc2l6ZSBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg4Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgIG9mZnNldCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODkKK21zZ2lkICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVwbGFjZSBhIHJhbmdlIHdpdGggYSBob2xlIChpbXBsaWVzIC1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MAorbXNnaWQgIiAteiwgLS16ZXJvLXJhbmdlICAgICB6ZXJvIGFuZCBlbnN1cmUgYWxsb2NhdGlvbiBvZiBhIHJhbmdlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEyNgorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQ6IGtlZXAgc2l6ZSBtb2RlIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMjcKKyMsIGZ1enp5Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZhbGxvY2F0ZS1rIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgZmFpbGVkIgorbXNnc3RyICIlczogb3Blbi1layBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglanUgYnl0ZXMpIGNvbnZlcnRlZCB0byBzcGFyc2UgaG9sZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM0NiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTgKKyMsIGZ1enp5Cittc2dpZCAibm8gZmlsZW5hbWUgc3BlY2lmaWVkIgorbXNnc3RyICJFeiBkYSAtLWRhdGUgYXVrZXJhcmlrIHplaGF6dHUuXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTggc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2NAorbXNnaWQgImludmFsaWQgbGVuZ3RoIHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzYyCisjLCBmdXp6eQorbXNnaWQgIm5vIGxlbmd0aCBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgIkV6IGRhIC0tZGF0ZSBhdWtlcmFyaWsgemVoYXp0dS5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2NworbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxmaWxlPnw8ZGlyZWN0b3J5PiA8Y29tbWFuZD4gWzxhcmd1bWVudD4uLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlPnw8ZGlyZWN0b3J5PiAtYyA8Y29tbWFuZD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGUgZGVzY3JpcHRvciBudW1iZXI+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTkKK21zZ2lkICJNYW5hZ2UgZmlsZSBsb2NrcyBmcm9tIHNoZWxsIHNjcmlwdHMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjIKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBnZXQgYSBzaGFyZWQgbG9ja1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYzCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAgZ2V0IGFuIGV4Y2x1c2l2ZSBsb2NrIChkZWZhdWx0KVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY0CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAgcmVtb3ZlIGEgbG9ja1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY1CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub25ibG9jayAgICAgICAgICAgZmFpbCByYXRoZXIgdGhhbiB3YWl0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjYKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8c2Vjcz4gICAgIHdhaXQgZm9yIGEgbGltaXRlZCBhbW91bnQgb2YgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY3Cittc2dpZCAiIC1FLCAtLWNvbmZsaWN0LWV4aXQtY29kZSA8bnVtYmVyPiAgZXhpdCBjb2RlIGFmdGVyIGNvbmZsaWN0IG9yIHRpbWVvdXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tY2xvc2UgICAgICAgICAgICAgIGNsb3NlIGZpbGUgZGVzY3JpcHRvciBiZWZvcmUgcnVubmluZyBjb21tYW5kXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjkKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gIHJ1biBhIHNpbmdsZSBjb21tYW5kIHN0cmluZyB0aHJvdWdoIHRoZSBzaGVsbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcwCisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAgZXhlY3V0ZSBjb21tYW5kIHdpdGhvdXQgZm9ya2luZ1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgaW5jcmVhc2UgdmVyYm9zaXR5XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBsb2NrIGZpbGUgJXMiCittc2dzdHIgIkV6aW4gZGEgJyVzJyBmaXR4YXRlZ2lhIGlyZWtpIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IHZhbHVlIgorbXNnc3RyICJiYWxpb2dhYmVrbyBhdWtlcmEiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIwOQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGV4aXQgY29kZSIKK21zZ3N0ciAiYmFsaW9nYWJla28gaWQtYSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjI4Cittc2dpZCAidGhlIC0tbm8tZm9yayBhbmQgLS1jbG9zZSBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBleGFjdGx5IG9uZSBjb21tYW5kIGFyZ3VtZW50IgorbXNnc3RyICJjb2w6IC1sIGJhbGlvZ2FiZWtvIGFyZ3VtZW50dWEgJXMuXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NAorIywgZnV6enkKK21zZ2lkICJiYWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICJibG9rZSBnYWlsdWEiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NworIywgZnV6enkKK21zZ2lkICJyZXF1aXJlcyBmaWxlIGRlc2NyaXB0b3IsIGZpbGUgb3IgZGlyZWN0b3J5IgorbXNnc3RyICJlcnJvIGlub2RvYSBleiBkYSBkaXJla3RvcmlvYSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjgxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgbG9jayIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4OAorbXNnaWQgInRpbWVvdXQgd2hpbGUgd2FpdGluZyB0byBnZXQgbG9jayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXR0aW5nIGxvY2sgdG9vayAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICIlcyAgJS42ZiBzZWd1bmR1XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjM0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICJjcmMgZXJyb3JlYSIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50cG9pbnQ+XG4iCittc2dzdHIgIiIKKyJFcmFiaWxlcmE6ICVzJXMgW2F1a2VyYWtdIFthcGxpa2F6aW9hIFthcGxpa2F6aW9hIGFyZ3VtZW50dWFrXV1cbiIKKyJcbiIKKyJBdWtlcmFrOlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1MworbXNnaWQgIlN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbSAoZXh0My80LCBSZWlzZXJGUywgSkZTLCBYRlMpLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjU2CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mcmVlemUgICAgICBmcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiICB0ICAgICAgICAgIEFsZGF0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YSIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTcKK21zZ2lkICIgLXUsIC0tdW5mcmVlemUgICAgdW5mcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTYKK21zZ2lkICJuZWl0aGVyIC0tZnJlZXplIG9yIC0tdW5mcmVlemUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiZXJybyBpbm9kb2EgZXogZGEgZGlyZWt0b3Jpb2EiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjE0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIiAlczogd3JpdGUtayBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjE0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiICVzOiB3cml0ZS1rIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJlcnJvIGlub2RvYSBleiBkYSBkaXJla3RvcmlvYSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogRklUUklNIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiICVzOiB3cml0ZS1rIGh1dHMgZWdpbiBkdSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBoZXJlIGlzIGEgdmVyeSBsYXJnZSBudW1iZXIuCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJTxQUkl1NjQ+IGJ5dGVzKSB0cmltbWVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE5MSBzeXMtdXRpbHMvc3dhcG9uLmM6NzI5IHN5cy11dGlscy91bW91bnQuYzozMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50IHBvaW50PlxuIgorbXNnc3RyICIiCisiRXJhYmlsZXJhOiAlcyVzIFthdWtlcmFrXSBbYXBsaWthemlvYSBbYXBsaWthemlvYSBhcmd1bWVudHVha11dXG4iCisiXG4iCisiQXVrZXJhazpcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NAorbXNnaWQgIkRpc2NhcmQgdW51c2VkIGJsb2NrcyBvbiBhIG1vdW50ZWQgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU3CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgIHRyaW0gYWxsIG1vdW50ZWQgZmlsZXN5c3RlbXMgdGhhdCBhcmUgc3VwcG9ydGVkXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBBbGRhdHUgZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGEiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTgKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICB0aGUgb2Zmc2V0IGluIGJ5dGVzIHRvIHN0YXJ0IGRpc2NhcmRpbmcgZnJvbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgdGhlIG51bWJlciBvZiBieXRlcyB0byBkaXNjYXJkXG4iCittc2dzdHIgIlNhcnR1IHppbGluZHJvIGtvcHVydWE6IgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYwCittc2dpZCAiIC1tLCAtLW1pbmltdW0gPG51bT4gdGhlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCB0byBkaXNjYXJkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBudW1iZXIgb2YgZGlzY2FyZGVkIGJ5dGVzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMxNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWluaW11bSBleHRlbnQgbGVuZ3RoIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMyOQorIywgZnV6enkKK21zZ2lkICJubyBtb3VudHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAiRXogZGEgLS1kYXRlIGF1a2VyYXJpayB6ZWhhenR1LlxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdGhlIGRpc2NhcmQgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIiVkIGFiaWFkdXJhayBleiBkdSBldXNrYXJyaXJpayIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXNzdW1pbmcgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiAlcyB0aW1lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ3IHN5cy11dGlscy9od2Nsb2NrLmM6MzM0Cittc2dpZCAiVVRDIgorbXNnc3RyICJVVEMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ3IHN5cy11dGlscy9od2Nsb2NrLmM6MzMzCittc2dpZCAibG9jYWwiCittc2dzdHIgImxva2FsYSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMTgKK21zZ2lkICIiCisiV2FybmluZzogdW5yZWNvZ25pemVkIHRoaXJkIGxpbmUgaW4gYWRqdGltZSBmaWxlXG4iCisiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMyNworIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGRyaWZ0IGFkanVzdG1lbnQgZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBjYWxpYnJhdGlvbiBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMzMQorIywgYy1mb3JtYXQKK21zZ2lkICJIYXJkd2FyZSBjbG9jayBpcyBvbiAlcyB0aW1lXG4iCittc2dzdHIgIkhhcmR3YXJlYXJlbiBvcmR1bGFyaWFrICVzIGRhdGEgZGF1a2FcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBmb3IgY2xvY2sgdGljay4uLlxuIgorbXNnc3RyICJPcmR1bGFyaWFyZW4gdGljay1hcmkgaXR4YXJvdGVuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnN5bmNocm9uaXphdGlvbiBmYWlsZWRcbiIKK21zZ3N0ciAiLi4uc2lua3Jvbml6YXppb2FrIGh1dHMgZWdpbiBkdVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLi4uZ290IGNsb2NrIHRpY2tcbiIKK21zZ3N0ciAiT3JkdWxhcmlhcmVuIHRpY2stYXJpIGl0eGFyb3RlblxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQyMgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHZhbHVlcyBpbiBoYXJkd2FyZSBjbG9jazogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkh3IGNsb2NrIHRpbWUgOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDY1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgcmVhZCBmcm9tIEhhcmR3YXJlIENsb2NrOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyBIYXJkd2FyZSBDbG9jayB0byAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICJDbG9jayBub3QgY2hhbmdlZCAtIHRlc3Rpbmcgb25seS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYwMworIywgYy1mb3JtYXQKK21zZ2lkICJzbGVlcGluZyB+JWQgdXNlY1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjE0CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUganVtcGVkIGJhY2t3YXJkICUuNmYgc2Vjb25kcyB0byAlbGQuJTA2bGQgLSByZXRhcmdldGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZC4lMDZsZCA8ICVsZC4lMDZsZCAoJS42ZilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciBwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVsZC4lMDZsZCBpcyBjbG9zZSBlbm91Z2ggdG8gJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyJTZXQgUlRDIHRvICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2bGQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODgKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgcmVnaXN0ZXJzIGNvbnRhaW4gdmFsdWVzIHRoYXQgYXJlIGVpdGhlciBpbnZhbGlkIChlLmcuIDUwdGggZGF5IG9mIG1vbnRoKSBvciBiZXlvbmQgdGhlIHJhbmdlIHdlIGNhbiBoYW5kbGUgKGUuZy4gWWVhciAyMDk1KS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MjgKKyMsIGZ1enp5Cittc2dpZCAiTm8gLS1kYXRlIG9wdGlvbiBzcGVjaWZpZWQuIgorbXNnc3RyICJFeiBkYSAtLWRhdGUgYXVrZXJhcmlrIHplaGF6dHUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzM0CisjLCBmdXp6eQorbXNnaWQgIi0tZGF0ZSBhcmd1bWVudCB0b28gbG9uZyIKK21zZ3N0ciAiLS1kYXRlIGFyZ3VtZW50dWEgbHV6ZWVnaWEgZGFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NDEKK21zZ2lkICIiCisiVGhlIHZhbHVlIG9mIHRoZSAtLWRhdGUgb3B0aW9uIGlzIG5vdCBhIHZhbGlkIGRhdGUuXG4iCisiSW4gcGFydGljdWxhciwgaXQgY29udGFpbnMgcXVvdGF0aW9uIG1hcmtzLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSXNzdWluZyBkYXRlIGNvbW1hbmQ6ICVzXG4iCittc2dzdHIgIkV6IGRhIC0tZGF0ZSBhdWtlcmFyaWsgemVoYXp0dS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NTMKK21zZ2lkICJVbmFibGUgdG8gcnVuICdkYXRlJyBwcm9ncmFtIGluIC9iaW4vc2ggc2hlbGwuIHBvcGVuKCkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzYxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlc3BvbnNlIGZyb20gZGF0ZSBjb21tYW5kID0gJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc2MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgdW5leHBlY3RlZCByZXN1bHRzLlxuIgorIlRoZSBjb21tYW5kIHdhczpcbiIKKyIgICVzXG4iCisiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyIgICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhbiBpbnRlZ2VyIHdoZXJlIHRoZSBjb252ZXJ0ZWQgdGltZSB2YWx1ZSB3YXMgZXhwZWN0ZWQuXG4iCisiVGhlIGNvbW1hbmQgd2FzOlxuIgorIiAgJXNcbiIKKyJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorIiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzg2CisjLCBjLWZvcm1hdAorbXNnaWQgImRhdGUgc3RyaW5nICVzIGVxdWF0ZXMgdG8gJWxkIHNlY29uZHMgc2luY2UgMTk2OS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgyNAorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IHNldCB0aGUgU3lzdGVtIFRpbWUgZnJvbSBpdC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NDMgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5OlxuIgorbXNnc3RyICJzZXR0aW1lb2ZkYXkoKS1layBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQ0IHN5cy11dGlscy9od2Nsb2NrLmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NDYgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTAgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgc3lzdGVtIGNsb2NrIGJlY2F1c2UgcnVubmluZyBpbiB0ZXN0IG1vZGUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NjYgc3lzLXV0aWxzL2h3Y2xvY2suYzo5NjIKK21zZ2lkICJNdXN0IGJlIHN1cGVydXNlciB0byBzZXQgc3lzdGVtIGNsb2NrLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg2OSBzeXMtdXRpbHMvaHdjbG9jay5jOjk2NQorbXNnaWQgInNldHRpbWVvZmRheSgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dGltZW9mZGF5KCktZWsgaHV0cyBlZ2luIGR1IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkwNQorIywgYy1mb3JtYXQKK21zZ2lkICJDdXJyZW50IHN5c3RlbSB0aW1lOiAlbGQgPSAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlx0VVRDOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIC0tdXBkYXRlLWRyaWZ0IG9wdGlvbiB3YXMgbm90IHVzZWQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIEhhcmR3YXJlIENsb2NrIHByZXZpb3VzbHkgY29udGFpbmVkIGdhcmJhZ2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGxhc3QgY2FsaWJyYXRpb24gdGltZSBpcyB6ZXJvLFxuIgorInNvIGhpc3RvcnkgaXMgYmFkIGFuZCBjYWxpYnJhdGlvbiBzdGFydG92ZXIgaXMgbmVjZXNzYXJ5LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAxMQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGl0IGhhcyBiZWVuIGxlc3MgdGhhbiBmb3VyIGhvdXJzIHNpbmNlIHRoZSBsYXN0IGNhbGlicmF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnQgZmFjdG9yIHdhcyBjYWxjdWxhdGVkIGFzICVmIHNlY29uZHMvZGF5LlxuIgorIkl0IGlzIGZhciB0b28gbXVjaC4gUmVzZXR0aW5nIHRvIHplcm8uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdGVkICVmIHNlY29uZHMgaW4gdGhlIHBhc3QgJWYgc2Vjb25kc1xuIgorImluIHNwaXRlIG9mIGEgZHJpZnQgZmFjdG9yIG9mICVmIHNlY29uZHMvZGF5LlxuIgorIkFkanVzdGluZyBkcmlmdCBmYWN0b3IgYnkgJWYgc2Vjb25kcy9kYXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWQgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVkIHNlY29uZHNcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2FsY3VsYXRlZCBIYXJkd2FyZSBDbG9jayBkcmlmdCBpcyAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICIlcyAgJS42ZiBzZWd1bmR1XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEzMworIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgdXBkYXRpbmcgYWRqdGltZSBmaWxlIGJlY2F1c2Ugb2YgdGVzdGluZyBtb2RlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEzNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV291bGQgaGF2ZSB3cml0dGVuIHRoZSBmb2xsb3dpbmcgdG8gJXM6XG4iCisiJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIGluIGl0ICglcykgZm9yIHdyaXRpbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTQ5IHN5cy11dGlscy9od2Nsb2NrLmM6MTE1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgdXBkYXRlIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzICglcykgaW4gaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTY0Cittc2dpZCAiRHJpZnQgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIG5vdCB1cGRhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMDAKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBhZGp1c3QgaXQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIwOAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGxhc3QgYWRqdXN0bWVudCB0aW1lIGlzIHplcm8sIHNvIGhpc3RvcnkgaXMgYmFkLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGRyaWZ0IGZhY3RvciAlZiBpcyBmYXIgdG9vIGhpZ2guXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHVzYWJsZSBjbG9jayBpbnRlcmZhY2UgZm91bmQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5lZWRlZCBhZGp1c3RtZW50IGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kLCBzbyBub3Qgc2V0dGluZyBjbG9jay5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzODggc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBzZXQgc3lzdGVtIGNsb2NrLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQwMgorIywgYy1mb3JtYXQKK21zZ2lkICJBdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LCBSVEMgaXMgcHJlZGljdGVkIHRvIHJlYWQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0MzEKK21zZ2lkICIiCisiVGhlIGtlcm5lbCBrZWVwcyBhbiBlcG9jaCB2YWx1ZSBmb3IgdGhlIEhhcmR3YXJlIENsb2NrIG9ubHkgb24gYW4gQWxwaGEgbWFjaGluZS5cbiIKKyJUaGlzIGNvcHkgb2YgaHdjbG9jayB3YXMgYnVpbHQgZm9yIGEgbWFjaGluZSBvdGhlciB0aGFuIEFscGhhXG4iCisiKGFuZCB0aHVzIGlzIHByZXN1bWFibHkgbm90IHJ1bm5pbmcgb24gYW4gQWxwaGEgbm93KS4gIE5vIGFjdGlvbiB0YWtlbi4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDQ4Cittc2dpZCAiVW5hYmxlIHRvIGdldCB0aGUgZXBvY2ggdmFsdWUgZnJvbSB0aGUga2VybmVsLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiS2VybmVsIGlzIGFzc3VtaW5nIGFuIGVwb2NoIHZhbHVlIG9mICVsdVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ1NQorbXNnaWQgIlRvIHNldCB0aGUgZXBvY2ggdmFsdWUsIHlvdSBtdXN0IHVzZSB0aGUgJ2Vwb2NoJyBvcHRpb24gdG8gdGVsbCB0byB3aGF0IHZhbHVlIHRvIHNldCBpdC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDU5CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIHRoZSBlcG9jaCB0byAlbHUgLSB0ZXN0aW5nIG9ubHkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBzZXQgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTU2Cittc2dpZCAiIGh3Y2xvY2sgW2Z1bmN0aW9uXSBbb3B0aW9uLi4uXVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU1OQorbXNnaWQgIlF1ZXJ5IG9yIHNldCB0aGUgaGFyZHdhcmUgY2xvY2suXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTYxCittc2dpZCAiIgorIlxuIgorIkZ1bmN0aW9uczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjIKK21zZ2lkICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgIHNob3cgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyIgLXIsIC0tc2hvdyAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisiICAgICAtLWdldCAgICAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IGRyaWZ0IGNvcnJlY3RlZCByZXN1bHRcbiIKKyIgICAgIC0tc2V0ICAgICAgICAgICAgc2V0IHRoZSBSVEMgdG8gdGhlIHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjYKK21zZ2lkICIiCisiIC1zLCAtLWhjdG9zeXMgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyIgLXcsIC0tc3lzdG9oYyAgICAgICAgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayBmcm9tIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lXG4iCisiICAgICAtLXN5c3R6ICAgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgYmFzZWQgb24gdGhlIGN1cnJlbnQgdGltZXpvbmVcbiIKKyIgICAgIC0tYWRqdXN0ICAgICAgICAgYWRqdXN0IHRoZSBSVEMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCBzaW5jZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjbG9jayB3YXMgbGFzdCBzZXQgb3IgYWRqdXN0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NzEKK21zZ2lkICIgLWMsIC0tY29tcGFyZSAgICAgICAgcGVyaW9kaWNhbGx5IGNvbXBhcmUgdGhlIHN5c3RlbSBjbG9jayB3aXRoIHRoZSBDTU9TIGNsb2NrXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTczCittc2dpZCAiIgorIiAgICAgLS1nZXRlcG9jaCAgICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisiICAgICAtLXNldGVwb2NoICAgICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGdpdmVuIHdpdGggLS1lcG9jaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU3NworbXNnaWQgIiIKKyIgICAgIC0tcHJlZGljdCAgICAgICAgcHJlZGljdCBSVEMgcmVhZGluZyBhdCB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4MQorbXNnaWQgIiIKKyIgLXUsIC0tdXRjICAgICAgICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gVVRDXG4iCisiICAgICAtLWxvY2FsdGltZSAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIGxvY2FsIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODQKK21zZ2lkICIgLWYsIC0tcnRjIDxmaWxlPiAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1kaXJlY3Rpc2EgICAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorIiAgICAgLS1iYWR5ZWFyICAgICAgICBpZ25vcmUgUlRDJ3MgeWVhciBiZWNhdXNlIHRoZSBCSU9TIGlzIGJyb2tlblxuIgorIiAgICAgLS1kYXRlIDx0aW1lPiAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorIiAgICAgLS1lcG9jaCA8eWVhcj4gICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBoYXJkd2FyZSBjbG9jaydzIGVwb2NoIHZhbHVlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIGRyaWZ0IGZhY3RvciBpbiAlMSRzIChyZXF1aXJlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIC0tc2V0IG9yIC0tc3lzdG9oYylcbiIKKyIgICAgIC0tbm9hZGpmaWxlICAgICAgZG8gbm90IGFjY2VzcyAlMSRzOyB0aGlzIHJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWVcbiIKKyIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlMSRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTk5Cittc2dpZCAiIgorIiAgICAgLS10ZXN0ICAgICAgICAgICBkbyBub3QgdXBkYXRlIGFueXRoaW5nLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBoYXBwZW5cbiIKKyIgLUQsIC0tZGVidWcgICAgICAgICAgZGVidWdnaW5nIG1vZGVcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE2MDIKK21zZ2lkICIiCisiIC1KfC0tamVuc2VuLCAtQXwtLWFyYywgLVN8LS1zcm0sIC1GfC0tZnVua3ktdG95XG4iCisiICAgICAgdGVsbCBod2Nsb2NrIHRoZSB0eXBlIG9mIEFscGhhIHlvdSBoYXZlIChzZWUgaHdjbG9jayg4KSlcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE3MjgKK21zZ2lkICJVbmFibGUgdG8gY29ubmVjdCB0byBhdWRpdCBzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODI2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZXBvY2ggYXJndW1lbnQiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHRha2VzIG5vIG5vbi1vcHRpb24gYXJndW1lbnRzLiAgWW91IHN1cHBsaWVkICVkLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTg4MAorbXNnaWQgIldpdGggLS1ub2FkamZpbGUsIHlvdSBtdXN0IHNwZWNpZnkgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTg5MworbXNnaWQgIk5vIHVzYWJsZSBzZXQtdG8gdGltZS4gIENhbm5vdCBzZXQgY2xvY2suIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTkxNworbXNnaWQgIkNhbm5vdCBhY2Nlc3MgdGhlIEhhcmR3YXJlIENsb2NrIHZpYSBhbnkga25vd24gbWV0aG9kLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE5MjAKK21zZ2lkICJVc2UgdGhlIC0tZGVidWcgb3B0aW9uIHRvIHNlZSB0aGUgZGV0YWlscyBvZiBvdXIgc2VhcmNoIGZvciBhbiBhY2Nlc3MgbWV0aG9kLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgImJvb3RlZCBmcm9tIE1JTE9cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIlJ1ZmZpYW4gQkNEIGNsb2NrXG4iCittc2dzdHIgIlJ1ZmZpYW4gQkNEIGVybG9qdWFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9ja3BvcnQgYWRqdXN0ZWQgdG8gMHgleFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnVua3kgVE9ZIVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXRvbWljICVzIGZhaWxlZCBmb3IgMTAwMCBpdGVyYXRpb25zISIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3NfcmVhZCgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc19yZWFkKCk6IHJlYWQgZnJvbSBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NDUKKyMsIGZ1enp5Cittc2dpZCAiSSBmYWlsZWQgdG8gZ2V0IHBlcm1pc3Npb24gYmVjYXVzZSBJIGRpZG4ndCB0cnkuIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY0OAorbXNnaWQgInVuYWJsZSB0byBnZXQgSS9PIHBvcnQgYWNjZXNzOiAgdGhlIGlvcGwoMykgY2FsbCBmYWlsZWQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NTEKK21zZ2lkICJQcm9iYWJseSB5b3UgbmVlZCByb290IHByaXZpbGVnZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY1OAorbXNnaWQgIlVzaW5nIGRpcmVjdCBJL08gaW5zdHJ1Y3Rpb25zIHRvIElTQSBjbG9jay4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gcmVhZCB0aGUgdGltZSBmYWlsZWQiCittc2dzdHIgImlyYWt1cnJpIHNpc3RlbWFyZW4gb3JkdWEiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSAlcyB0byBjaGFuZ2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMzYKK21zZ2lkICJUaW1lZCBvdXQgd2FpdGluZyBmb3IgdGltZSBjaGFuZ2UuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgaGF2ZSBpbnRlcnJ1cHQgZnVuY3Rpb25zLiAiCittc2dzdHIgIiIKKyJcbiIKKyJFeiBkYSBzd2FwIHBhcnRpemlvcmlrIGV4aXN0aXR6ZW4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMwMgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayB0aW1lZCBvdXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvZmYgdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb24gdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIHVuZXhwZWN0ZWRseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHNldCB0aGUgdGltZSBmYWlsZWQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgd2FzIHN1Y2Nlc3NmdWwuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mzg3Cittc2dpZCAiVXNpbmcgdGhlIC9kZXYgaW50ZXJmYWNlIHRvIHRoZSBjbG9jay4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDE3IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ2NAorIywgYy1mb3JtYXQKK21zZ2lkICJUbyBtYW5pcHVsYXRlIHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLCB3ZSBtdXN0IGFjY2VzcyB0aGUgTGludXggJ3J0YycgZGV2aWNlIGRyaXZlciB2aWEgdGhlIGRldmljZSBzcGVjaWFsIGZpbGUgJXMuICBUaGlzIGZpbGUgZG9lcyBub3QgZXhpc3Qgb24gdGhpcyBzeXN0ZW0uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQyOQorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bChSVENfRVBPQ0hfUkVBRCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQzNQorIywgYy1mb3JtYXQKK21zZ2lkICJ3ZSBoYXZlIHJlYWQgZXBvY2ggJWx1IGZyb20gJXMgd2l0aCBSVENfRVBPQ0hfUkVBRCBpb2N0bC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGVwb2NoIHZhbHVlIG1heSBub3QgYmUgbGVzcyB0aGFuIDE5MDAuICBZb3UgcmVxdWVzdGVkICVsZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBlcG9jaCB0byAlbHUgd2l0aCBSVENfRVBPQ0hfU0VUIGlvY3RsIHRvICVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUga2VybmVsIGRldmljZSBkcml2ZXIgZm9yICVzIGRvZXMgbm90IGhhdmUgdGhlIFJUQ19FUE9DSF9TRVQgaW9jdGwuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bChSVENfRVBPQ0hfU0VUKSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NjkKK21zZ2lkICJDcmVhdGUgdmFyaW91cyBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjcyCittc2dpZCAiIC1NLCAtLXNobWVtIDxzaXplPiAgICAgICBjcmVhdGUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IG9mIHNpemUgPHNpemU+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzMKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlIDxudW1iZXI+IGNyZWF0ZSBzZW1hcGhvcmUgYXJyYXkgd2l0aCA8bnVtYmVyPiBlbGVtZW50c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc0Cittc2dpZCAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICBjcmVhdGUgbWVzc2FnZSBxdWV1ZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc1Cittc2dpZCAiIC1wLCAtLW1vZGUgPG1vZGU+ICAgICAgICBwZXJtaXNzaW9uIGZvciB0aGUgcmVzb3VyY2UgKGRlZmF1bHQgaXMgMDY0NClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTAgc3lzLXV0aWxzL2xvc2V0dXAuYzo2OTcgc3lzLXV0aWxzL3pyYW1jdGwuYzo2MjIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNpemUiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVsZW1lbnRzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQxCittc2dpZCAiY3JlYXRlIHNoYXJlIG1lbW9yeSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTaGFyZWQgbWVtb3J5IGlkOiAlZFxuIgorbXNnc3RyICJlemluIGRhICVzIGlkLWEgZXphYmF0dSAoJXMpXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0OQorbXNnaWQgImNyZWF0ZSBtZXNzYWdlIHF1ZXVlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgcXVldWUgaWQ6ICVkXG4iCittc2dzdHIgImV6aW4gZGEgJXMgaWQtYSBlemFiYXR1ICglcylcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBzZW1hcGhvcmUgZmFpbGVkIgorbXNnc3RyICIlczogZ2V0IHNpemUgZWdpdGVyYWtvYW4gaHV0cyBlZ2luIGRhIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VtYXBob3JlIGlkOiAlZFxuIgorbXNnc3RyICJTZW1hZm9ybyBpZC1hOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIHNobXxtc2d8c2VtIDxpZD4uLi5cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1NAorbXNnaWQgIlJlbW92ZSBjZXJ0YWluIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTcKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLXNobWVtLWlkIDxpZD4gICAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkgaWRcbiIKK21zZ3N0ciAiZXppbiBkYSAlcyBpZC1hIGV6YWJhdHUgKCVzKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OAorbXNnaWQgIiAtTSwgLS1zaG1lbS1rZXkgPGtleT4gICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGtleVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU5Cittc2dpZCAiIC1xLCAtLXF1ZXVlLWlkIDxpZD4gICAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjAKK21zZ2lkICIgLVEsIC0tcXVldWUta2V5IDxrZXk+ICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkga2V5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjEKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlLWlkIDxpZD4gICAgcmVtb3ZlIHNlbWFwaG9yZSBieSBpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYyCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGtleT4gIHJlbW92ZSBzZW1hcGhvcmUgYnkga2V5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjMKK21zZ2lkICIgLWEsIC0tYWxsWz1zaG18bXNnfHNlbV0gICAgcmVtb3ZlIGFsbCAoaW4gdGhlIHNwZWNpZmllZCBjYXRlZ29yeSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgaWQgYCVkJ1xuIgorbXNnc3RyICJlemluIGRhICVzIGlkLWEgZXphYmF0dSAoJXMpXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBtZXNzYWdlIHF1ZXVlIGlkIGAlZCdcbiIKK21zZ3N0ciAiZXppbiBkYSAlcyBpZC1hIGV6YWJhdHUgKCVzKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVtb3Zpbmcgc2VtYXBob3JlIGlkIGAlZCdcbiIKK21zZ3N0ciAiU2VtYWZvcm8gaWQtYTogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4IHN5cy11dGlscy9pcGNybS5jOjIyMgorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBrZXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMSBzeXMtdXRpbHMvaXBjcm0uYzoyMjgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBrZXkiCittc2dzdHIgIkJhbGlvZ2FiZWtvIHRla2xhIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEKK21zZ2lkICJpbnZhbGlkIGlkIgorbXNnc3RyICJiYWxpb2dhYmVrbyBpZC1hIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQgc3lzLXV0aWxzL2lwY3JtLmM6MjI1CisjLCBmdXp6eQorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBrZXkiCittc2dzdHIgIlNha2F0dSBlZG96ZWluIHRla2xhIGphcnJhaXR6ZWtvIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGlkIgorbXNnc3RyICJlemluIGRhICVzIGlkLWEgZXphYmF0dSAoJXMpXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNyBzeXMtdXRpbHMvaXBjcm0uYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAia2V5IGZhaWxlZCIKK21zZ3N0ciAic2Vlay1layBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNworIywgZnV6enkKK21zZ2lkICJpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpLWsgaHV0cyBlZ2luIGR1IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWQ6ICVzIgorbXNnc3RyICJiYWxpb2dhYmVrbyBpZC1hOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzb3VyY2UocykgZGVsZXRlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjIwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBrZXkgKCVzKSIKK21zZ3N0ciAiQmFsaW9nYWJla28gdGVrbGEiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI1NgorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNjkKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjkwCittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbcmVzb3VyY2Utb3B0aW9uLi4uXSBbb3V0cHV0LW9wdGlvbl1cbiIKKyIgJTEkcyAtbXwtcXwtcyAtaSA8aWQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NiBzeXMtdXRpbHMvbHNpcGMuYzoyODAKK21zZ2lkICJTaG93IGluZm9ybWF0aW9uIG9uIElQQyBmYWNpbGl0aWVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0IHN5cy11dGlscy9sc2lwYy5jOjI4MworIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBvcHRpb25zOlxuIgorbXNnc3RyICJhdWtlcmEgYmFsaW9nYXJyaWFrOiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NSBzeXMtdXRpbHMvbHNpcGMuYzoyODQKK21zZ2lkICIgLW0sIC0tc2htZW1zICAgICAgc2hhcmVkIG1lbW9yeSBzZWdtZW50c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjYgc3lzLXV0aWxzL2xzaXBjLmM6Mjg1Cittc2dpZCAiIC1xLCAtLXF1ZXVlcyAgICAgIG1lc3NhZ2UgcXVldWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NyBzeXMtdXRpbHMvbHNpcGMuYzoyODYKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlcyAgc2VtYXBob3Jlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjgKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgYWxsIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiT3V0cHV0IG9wdGlvbnM6XG4iCittc2dzdHIgImF1a2VyYSBiYWxpb2dhcnJpYWs6IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcyCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgIHNob3cgUElEcyBvZiBjcmVhdG9yIGFuZCBsYXN0IG9wZXJhdG9yXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NAorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NQorbXNnaWQgIiAtbCwgLS1saW1pdHMgICAgICBzaG93IHJlc291cmNlIGxpbWl0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKK21zZ2lkICIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWh1bWFuICAgICAgIHNob3cgc2l6ZXMgaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3OAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICBzaG93IHNpemVzIGluIGJ5dGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoxNjQKK21zZ2lkICJ3aGVuIHVzaW5nIGFuIElELCBhIHNpbmdsZSByZXNvdXJjZSBtdXN0IGJlIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNoYXJlZCBtZW1vcnkgbGltaXRzXG4iCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIm1lbW9yaWF0aWsga2FucG8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIHNlZ21lbnRzID0gJWp1XG4iCittc2dzdHIgIlNhcnR1IHppbGluZHJvIGtvcHVydWE6IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwOQorIywgZnV6enkKK21zZ2lkICJtYXggc2VnIHNpemUiCittc2dzdHIgIlRhbWFpbnVhIChNQnRhbik6ICIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTEKKyMsIGZ1enp5Cittc2dpZCAibWF4IHRvdGFsIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxNAorIywgZnV6enkKK21zZ2lkICJtaW4gc2VnIHNpemUiCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjI2CisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAibWVtb3JpYXRpayBrYW5wbyIKKworIy4gVFJBTlNMQVRPUlM6IFRoaXMgb3V0cHV0IGZvcm1hdCBpcyBtYWludGFpbmVkIGZvciBiYWNrd2FyZAorIy4gY29tcGF0aWJpbGl0eSBhcyBpcGNzIGlzIHVzZWQgaW4gc2NyaXB0cy4gRm9yIGNvbnNpc3RlbmN5CisjLiB3aXRoIHRoZSByZXN0LCB0aGUgdHJhbnNsYXRlZCBmb3JtIGNhbiBmb2xsb3cgdGhpcyBtb2RlbDoKKyMuICoKKyMuICJzZWdtZW50cyBhbGxvY2F0ZWQgPSAlZFxuIgorIy4gInBhZ2VzIGFsbG9jYXRlZCA9ICVsZFxuIgorIy4gInBhZ2VzIHJlc2lkZW50ID0gJWxkXG4iCisjLiAicGFnZXMgc3dhcHBlZCA9ICVsZFxuIgorIy4gInN3YXAgcGVyZm9ybWFuY2UgPSAlbGQgYXR0ZW1wdHMsICVsZCBzdWNjZXNzZXNcbiIKKyMuCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisic2VnbWVudHMgYWxsb2NhdGVkICVkXG4iCisicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorInBhZ2VzIHJlc2lkZW50ICAlbGRcbiIKKyJwYWdlcyBzd2FwcGVkICAgJWxkXG4iCisiU3dhcCBwZXJmb3JtYW5jZTogJWxkIGF0dGVtcHRzXHQgJWxkIHN1Y2Nlc3Nlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnQgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyNzQKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwCittc2dpZCAic2htaWQiCittc2dzdHIgInNobWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjI4MCBzeXMtdXRpbHMvaXBjcy5jOjM4NgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo0ODkgc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJwZXJtcyIKK21zZ3N0ciAicGVybXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiY3VpZCIKK21zZ3N0ciAiY3VpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJjZ2lkIgorbXNnc3RyICJjZ2lkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgInVpZCIKK21zZ3N0ciAidWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgImdpZCIKK21zZ3N0ciAiZ2lkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBBdHRhY2gvRGV0YWNoL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjc0IHN5cy11dGlscy9pcGNzLmM6MjgwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQwMSBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEgc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJvd25lciIKK21zZ3N0ciAiamFiZWEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3Cittc2dpZCAiYXR0YWNoZWQiCittc2dzdHIgImtvbmVrdGF0dXRhIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NworbXNnaWQgImRldGFjaGVkIgorbXNnc3RyICJkZXNrb25la3RhdHV0YSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjgKK21zZ2lkICJjaGFuZ2VkIgorbXNnc3RyICJhbGRhdHV0YSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IENyZWF0b3IvTGFzdC1vcCBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIm1lbW9yaWF0aWsga2FucG8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc0Cittc2dpZCAiY3BpZCIKK21zZ3N0ciAiY3BpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzQKK21zZ2lkICJscGlkIgorbXNnc3RyICJscGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAibWVtb3JpYXRpayBrYW5wbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo1MDcKKyMsIGZ1enp5Cittc2dpZCAia2V5IgorbXNnc3RyICJCYWxpb2dhYmVrbyB0ZWtsYSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODEgc3lzLXV0aWxzL2lwY3MuYzo1MDgKK21zZ2lkICJzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgxIHN5cy11dGlscy9wcmxpbWl0LmM6NzUgc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OCBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIgc3lzLXV0aWxzL3BybGltaXQuYzo4NiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCisjLCBmdXp6eQorbXNnaWQgImJ5dGVzIgorbXNnc3RyICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODIKK21zZ2lkICJuYXR0Y2giCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODIKK21zZ2lkICJzdGF0dXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMDYgc3lzLXV0aWxzL2lwY3MuYzozMDggc3lzLXV0aWxzL2lwY3MuYzozMTAKKyM6IHN5cy11dGlscy9pcGNzLmM6NDI0IHN5cy11dGlscy9pcGNzLmM6NDI2IHN5cy11dGlscy9pcGNzLmM6NTMyCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUzNCBzeXMtdXRpbHMvaXBjcy5jOjUzNiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorIzogc3lzLXV0aWxzL2lwY3MuYzo1OTIgc3lzLXV0aWxzL2lwY3MuYzo2MjEgc3lzLXV0aWxzL2lwY3MuYzo2MjMKKyM6IHN5cy11dGlscy9pcGNzLmM6NjI1IHN5cy11dGlscy9pcGNzLmM6NjQ5Cittc2dpZCAiTm90IHNldCIKK21zZ3N0ciAiRXphcnJpZ2FiZWEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzM2IHN5cy11dGlscy9sc2lwYy5jOjk3NiBzeXMtdXRpbHMvbHNpcGMuYzo5ODIKK21zZ2lkICJkZXN0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzM3IHN5cy11dGlscy9sc2lwYy5jOjk3NyBzeXMtdXRpbHMvbHNpcGMuYzo5OTAKK21zZ2lkICJsb2NrZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzZW1hcGhvcmUgbGltaXRzXG4iCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIGFycmF5cyA9ICVkXG4iCittc2dzdHIgIlNhcnR1IHppbGluZHJvIGtvcHVydWE6IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBwZXIgYXJyYXkgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggb3BzIHBlciBzZW1vcCBjYWxsID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VtYXBob3JlIG1heCB2YWx1ZSA9ICV1XG4iCittc2dzdHIgIkJhbGlvZ2FiZWtvIHppbGluZHJvIGJhbG9yZWFrIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGFycmF5cyA9ICVkXG4iCittc2dzdHIgIiU2bGQgem9uYSBlcmFiaWxpdGEgKCVsZCUlKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgc2VtYXBob3JlcyA9ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0MDEKK21zZ2lkICJzZW1pZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIE9wZXJhdGlvbi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorIywgZnV6enkKK21zZ2lkICJsYXN0LW9wIgorbXNnc3RyICIgICAgICAgICAgICAgICBMZWhlbmEgICAgIEF6a2VuYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorIywgZnV6enkKK21zZ2lkICJsYXN0LWNoYW5nZWQiCittc2dzdHIgIiAgICAgICAgICAgICAgIExlaGVuYSAgICAgQXprZW5hXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0MDEKK21zZ2lkICJuc2VtcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIG1lc3NhZ2UgbGltaXRzXG4iCittc2dzdHIgIkJ1cnUga29wdXJ1YSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAibWVtb3JpYXRpayBrYW5wbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHF1ZXVlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjUKKyMsIGZ1enp5Cittc2dpZCAibWF4IHNpemUgb2YgbWVzc2FnZSIKK21zZ3N0ciAibG9ydHUgdGFtYWludWEgYnl0ZS10YW4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY3Cittc2dpZCAiZGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAibWVtb3JpYXRpayBrYW5wbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHF1ZXVlcyA9ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzZWQgaGVhZGVycyA9ICVkXG4iCittc2dzdHIgIiU2bGQgem9uYSBlcmFiaWxpdGEgKCVsZCUlKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MgorIywgZnV6enkKK21zZ2lkICJ1c2VkIHNwYWNlIgorbXNnc3RyICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODMKKyMsIGZ1enp5Cittc2dpZCAiIGJ5dGVzXG4iCittc2dzdHIgIiU2LjJmJSUgKCUrbGQgYnl0ZXMpXHQlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODkgc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MDEKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibXNxaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFNlbmQvUmVjdi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgInNlbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJyZWN2IgorbXNnc3RyICJyZWN2IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImNoYW5nZSIKK21zZ3N0ciAiYWxkYXR1IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAibHNwaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJscnBpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwOAorIywgZnV6enkKK21zZ2lkICJ1c2VkLWJ5dGVzIgorbXNnc3RyICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDkKK21zZ2lkICJtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU3NCBzeXMtdXRpbHMvaXBjcy5jOjYwNCBzeXMtdXRpbHMvaXBjcy5jOjYzNworIzogc3lzLXV0aWxzL2xzaXBjLmM6NTM2IHN5cy11dGlscy9sc2lwYy5jOjcyMiBzeXMtdXRpbHMvbHNpcGMuYzo4NzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlkICVkIG5vdCBmb3VuZCIKK21zZ3N0ciAiZnNjazogJXM6IGV6IGRhIGF1cmtpdHVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZCBtZW1vcnkgU2VnbWVudCBzaG1pZD0lZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvXHRhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgImAlcycgZml0eGF0ZWdpYWsgJTA1byBtb2R1YSBkYXVrYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorbXNnaWQgInNpemU9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg0CisjLCBmdXp6eQorbXNnaWQgImJ5dGVzPSIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZCBieXRlcylcdCVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg2CisjLCBjLWZvcm1hdAorbXNnaWQgImxwaWQ9JXVcdGNwaWQ9JXVcdG5hdHRjaD0lamRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJhdHRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgImRldF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTMgc3lzLXV0aWxzL2lwY3MuYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZSBRdWV1ZSBtc3FpZD0lZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjA5CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHRtb2RlPSUjb1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjEzCittc2dpZCAiY3NpemU9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjEzCisjLCBmdXp6eQorbXNnaWQgImNieXRlcz0iCittc2dzdHIgIiU2LjJmJSUgKCUrbGQgYnl0ZXMpXHQlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxNQorbXNnaWQgInFzaXplPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxNQorIywgZnV6enkKK21zZ2lkICJxYnl0ZXM9IgorbXNnc3RyICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAicmN2X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIEFycmF5IHNlbWlkPSVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAiYCVzJyBmaXR4YXRlZ2lhayAlMDVvIG1vZHVhIGRhdWthXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJuc2VtcyA9ICVqdVxuIgorbXNnc3RyICIlbGQgaW5vZG9cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAib3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgImN0aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInNlbW51bSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInZhbHVlIgorbXNnc3RyICJiYWxpb2EiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAibmNvdW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAiemNvdW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAicGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjIzMCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzQgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM4CisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiJXMtKGUpayBodXRzIGVnaW4gZHUuXG4iCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKGJ5dGVzKSA9ICIKK21zZ3N0ciAiJXpkIGJ5dGUgWyIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoa2J5dGVzKSA9ICIKK21zZ3N0ciAiJXpkIGJ5dGUgWyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTgwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgaWZsYWciCittc2dzdHIgImJhbGlvZ2FiZWtvIGlkLWE6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bGRpc2M+IDxkZXZpY2U+XG4iCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTk5Cittc2dpZCAiQXR0YWNoIGEgbGluZSBkaXNjaXBsaW5lIHRvIGEgc2VyaWFsIGxpbmUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAyCittc2dpZCAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgbWVzc2FnZXMgdG8gc3RkZXJyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAzCittc2dpZCAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIHNldCBzZXJpYWwgbGluZSBzcGVlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNAorbXNnaWQgIiAtYywgLS1pbnRyby1jb21tYW5kIDxzdHJpbmc+IGludHJvIHNlbnQgYmVmb3JlIGxkYXR0YWNoXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA1Cittc2dpZCAiIC1wLCAtLXBhdXNlIDxzZWNvbmRzPiAgIHBhdXNlIGJldHdlZW4gaW50cm8gYW5kIGxkYXR0YWNoXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA2Cittc2dpZCAiIC03LCAtLXNldmVuYml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA3IGJpdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDcKK21zZ2lkICIgLTgsIC0tZWlnaHRiaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDggYml0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOAorbXNnaWQgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICBzZXQgcGFyaXR5IHRvIG5vbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDkKK21zZ2lkICIgLWUsIC0tZXZlbnBhcml0eSAgICAgICAgc2V0IHBhcml0eSB0byBldmVuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEwCittc2dpZCAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIHNldCBwYXJpdHkgdG8gb2RkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjExCittc2dpZCAiIC0xLCAtLW9uZXN0b3BiaXQgICAgICAgIHNldCBzdG9wIGJpdHMgdG8gb25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEyCittc2dpZCAiIC0yLCAtLXR3b3N0b3BiaXRzICAgICAgIHNldCBzdG9wIGJpdHMgdG8gdHdvXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEzCittc2dpZCAiIC1pLCAtLWlmbGFnIFstXTxpZmxhZz4gIHNldCBpbnB1dCBtb2RlIGZsYWdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTkKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGxkaXNjPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMjMKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGlmbGFnPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzcGVlZCBhcmd1bWVudCIKK21zZ3N0ciAiYmFsaW9nYWJla28gYXVrZXJhIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwYXVzZSBhcmd1bWVudCIKK21zZ3N0ciAiYmFsaW9nYWJla28gYXVrZXJhIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNTkKK21zZ2lkICJpbnZhbGlkIG9wdGlvbiIKK21zZ3N0ciAiYmFsaW9nYWJla28gYXVrZXJhIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNzAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBsaW5lIGRpc2NpcGxpbmUgYXJndW1lbnQiCittc2dzdHIgImV6aW4gZGEgbGVycm9hcmVuIGRpc3ppcGxpbmEgZXphcnJpIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgc2VyaWFsIGxpbmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzk3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWVkICVkIHVuc3VwcG9ydGVkIgorbXNnc3RyICIlZCBhYmlhZHVyYWsgZXogZHUgZXVza2FycmlyaWsiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlIGludHJvIGNvbW1hbmQgdG8gJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NjkKK21zZ2lkICJjYW5ub3Qgc2V0IGxpbmUgZGlzY2lwbGluZSIKK21zZ3N0ciAiZXppbiBkYSBsZXJyb2FyZW4gZGlzemlwbGluYSBlemFycmkiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ3OQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZGFlbW9uaXplIgorbXNnc3RyICJFemluIGRhIGlyZWtpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY4Cittc2dpZCAiYXV0b2NsZWFyIGZsYWcgc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjkKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzAKK21zZ2lkICJiYWNraW5nIGZpbGUgaW5vZGUgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzEKK21zZ2lkICJiYWNraW5nIGZpbGUgbWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcyCisjLCBmdXp6eQorbXNnaWQgImxvb3AgZGV2aWNlIG5hbWUiCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MworbXNnaWQgIm9mZnNldCBmcm9tIHRoZSBiZWdpbm5pbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NAorIywgZnV6enkKK21zZ2lkICJwYXJ0c2NhbiBmbGFnIHNldCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpemlvOlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2CisjLCBmdXp6eQorbXNnaWQgInNpemUgbGltaXQgb2YgdGhlIGZpbGUgaW4gYnl0ZXMiCittc2dzdHIgImxvcnR1IGlyYWt1cmtldGEgc29pbGlrIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3Cittc2dpZCAibG9vcCBkZXZpY2UgbWFqb3I6bWlub3IgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzgKK21zZ2lkICJhY2Nlc3MgYmFja2luZyBmaWxlIHdpdGggZGlyZWN0LWlvIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM1IHN5cy11dGlscy9sb3NldHVwLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb2Zmc2V0ICVqdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1MAorIywgYy1mb3JtYXQKK21zZ2lkICIsIHNpemVsaW1pdCAlanUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiwgZW5jcnlwdGlvbiAlcyAodHlwZSAldSkiCittc2dzdHIgIiAgdCAgICAgICAgICBBbGRhdHUgZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGEiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZGV0YWNoIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN0YXQtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjMyOSBzeXMtdXRpbHMvbHNjcHUuYzoxNzM1IHN5cy11dGlscy9wcmxpbWl0LmM6MjI5CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTc2IHN5cy11dGlscy93ZGN0bC5jOjIxNSBzeXMtdXRpbHMvenJhbWN0bC5jOjQwNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgbGluZSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gWzxsb29wZGV2Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8bG9vcGRldj4gPGZpbGU+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODYKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgbG9vcCBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzg5CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2Pi4uLiAgICAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MQorIywgZnV6enkKK21zZ2lkICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZmluZCBmaXJzdCB1bnVzZWQgZGV2aWNlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTMKK21zZ2lkICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5NAorbXNnaWQgIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5NQorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICAgICAgYXZvaWQgcG9zc2libGUgY29uZmxpY3QgYmV0d2VlbiBkZXZpY2VzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAwCittc2dpZCAiICAgICAtLXNpemVsaW1pdCA8bnVtPiAgICAgICAgIGRldmljZSBpcyBsaW1pdGVkIHRvIDxudW0+IGJ5dGVzIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDEKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgICAgIHNldCB1cCBhIHJlYWQtb25seSBsb29wIGRldmljZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAzCittc2dpZCAiICAgICAtLWRpcmVjdC1pb1s9PG9ufG9mZj5dICAgIG9wZW4gYmFja2luZyBmaWxlIHdpdGggT19ESVJFQ1RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNAorbXNnaWQgIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSBhZnRlciBzZXR1cCAod2l0aCAtZilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDkKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGxpc3QgaW5mbyBhYm91dCBhbGwgb3Igc3BlY2lmaWVkIChkZWZhdWx0KVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEwCittc2dpZCAiIC1PLCAtLW91dHB1dCA8Y29scz4gICAgICAgICAgIHNwZWNpZnkgY29sdW1ucyB0byBvdXRwdXQgZm9yIC0tbGlzdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDExCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1saXN0IG91dHB1dFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1c2UgcmF3IC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTMKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgIHVzZSBKU09OIC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTkKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSAtLWxpc3QgY29sdW1uczpcbiIKK21zZ3N0ciAiRXJhYmlsZ2FycmkgZGF1ZGVuIGtvbWFuZG9hazpcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFdhcm5pbmc6IGZpbGUgaXMgc21hbGxlciB0aGFuIDUxMiBieXRlczsgdGhlIGxvb3AgZGV2aWNlIG1heSBiZSB1c2VsZXNzIG9yIGludmlzaWJsZSBmb3Igc3lzdGVtIHRvb2xzLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBkb2VzIG5vdCBmaXQgaW50byBhIDUxMi1ieXRlIHNlY3RvcjsgdGhlIGVuZCBvZiB0aGUgZmlsZSB3aWxsIGJlIGlnbm9yZWQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDY0IHN5cy11dGlscy9sb3NldHVwLmM6NTE2IHN5cy11dGlscy9tb3VudC5jOjQ1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiJXM6ICVzIGV6IGRhIGxwIGdhaWx1YS5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIHJlYWQtb25seSBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGVuY3J5cHRlZCBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmUtdXNlIGxvb3AgZGV2aWNlIgorbXNnc3RyICJlemluIGRpcmEgYm9vdGJpdCBzZWt0b3JlYWsgZXphYmF0dSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0OTQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluc3BlY3QgbG9vcCBkZXZpY2VzIgorbXNnc3RyICJlemluIGRpcmEgYm9vdGJpdCBzZWt0b3JlYWsgZXphYmF0dSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY2hlY2sgZm9yIGNvbmZsaWN0aW5nIGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAiZXppbiBkaXJhIGJvb3RiaXQgc2VrdG9yZWFrIGV6YWJhdHUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTI5IHN5cy11dGlscy9sb3NldHVwLmM6ODI2CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmaW5kIGFuIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiIgorIlxuIgorIkJTRCBldGlrZXRhIGdhaWx1YXJlbnR6YXQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBiYWNraW5nIGZpbGUiCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjYzMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjY0MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1MworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3Njcgc3lzLXV0aWxzL2xvc2V0dXAuYzo4MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGRldmljZSIKK21zZ3N0ciAiZXppbiBkaXJhIGJvb3RiaXQgc2VrdG9yZWFrIGV6YWJhdHUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzY0CisjLCBmdXp6eQorbXNnaWQgIm5vIGxvb3AgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAiRXogZGEgLS1kYXRlIGF1a2VyYXJpayB6ZWhhenR1LlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3MgorIywgZnV6enkKK21zZ2lkICJubyBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAiRXogZGEgLS1kYXRlIGF1a2VyYXJpayB6ZWhhenR1LlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgb3B0aW9ucyAlcyBhcmUgYWxsb3dlZCBkdXJpbmcgbG9vcCBkZXZpY2Ugc2V0dXAgb25seSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4NAorbXNnaWQgInRoZSBvcHRpb24gLS1vZmZzZXQgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGNhcGFjaXR5IGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN0YXQtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBkaXJlY3QgaW8gZmFpbGVkIgorbXNnc3RyICIlczogZ2V0IHNpemUgZWdpdGVyYWtvYW4gaHV0cyBlZ2luIGRhIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMDgKK21zZ2lkICJub25lIgorbXNnc3RyICJleiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTA5Cittc2dpZCAicGFyYSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMTAKK21zZ2lkICJmdWxsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjExMQorbXNnaWQgImNvbnRhaW5lciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzMKK21zZ2lkICJob3Jpem9udGFsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NAorbXNnaWQgInZlcnRpY2FsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0NgorbXNnaWQgImxvZ2ljYWwgQ1BVIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDcKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBjb3JlIG51bWJlciIKK21zZ3N0ciAibG9ydHUgYmxva2UgbG9naWtvYXJlbiAoc2VrdG9yZWEpIHRhbWFpbnVhIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDgKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBzb2NrZXQgbnVtYmVyIgorbXNnc3RyICJsb3J0dSBibG9rZSBsb2dpa29hcmVuIChzZWt0b3JlYSkgdGFtYWludWEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0OQorbXNnaWQgImxvZ2ljYWwgTlVNQSBub2RlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTAKK21zZ2lkICJsb2dpY2FsIGJvb2sgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MQorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIGRyYXdlciBudW1iZXIiCittc2dzdHIgImxvcnR1IGJsb2tlIGxvZ2lrb2FyZW4gKHNla3RvcmVhKSB0YW1haW51YSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUyCittc2dpZCAic2hvd3MgaG93IGNhY2hlcyBhcmUgc2hhcmVkIGJldHdlZW4gQ1BVcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTMKK21zZ2lkICJDUFUgZGlzcGF0Y2hpbmcgbW9kZSBvbiB2aXJ0dWFsIGhhcmR3YXJlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NAorbXNnaWQgInBoeXNpY2FsIGFkZHJlc3Mgb2YgYSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU1Cittc2dpZCAic2hvd3MgaWYgdGhlIGh5cGVydmlzb3IgaGFzIGFsbG9jYXRlZCB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NgorbXNnaWQgInNob3dzIGlmIExpbnV4IGN1cnJlbnRseSBtYWtlcyB1c2Ugb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTcKK21zZ2lkICJzaG93cyB0aGUgbWF4aW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTgKK21zZ2lkICJzaG93cyB0aGUgbWluaW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo1NTAKK21zZ2lkICJlcnJvcjogdW5hbWUgZmFpbGVkIgorbXNnc3RyICJlcnJvcmVhOiB1bmFtZS1rIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGV0ZXJtaW5lIG51bWJlciBvZiBDUFVzOiAlcyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjg5MQorIywgZnV6enkKK21zZ2lkICJlcnJvcjogY2FuIG5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgImV6aW4gZGEgbGVycm9hcmVuIGRpc3ppcGxpbmEgZXphcnJpIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo4OTYKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3I6IGNhbiBub3QgcmVzdG9yZSBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiZXppbiBkYSBsZXJyb2FyZW4gZGlzemlwbGluYSBlemFycmkiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgZnJvbTogJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDEwCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBleHRyYWN0IHRoZSBub2RlIG51bWJlciIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1Mzcgc3lzLXV0aWxzL2xzY3B1LmM6MTU0NworbXNnaWQgIlkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTUzNyBzeXMtdXRpbHMvbHNjcHUuYzoxNTQ3CisjLCBmdXp6eQorbXNnaWQgIk4iCittc2dzdHIgIk5DIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlclxuIgorIiMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSURcbiIKKyIjIHN0YXJ0aW5nIGZyb20gemVyby5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzgxCittc2dpZCAiQXJjaGl0ZWN0dXJlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzk1Cittc2dpZCAiQ1BVIG9wLW1vZGUocyk6IgorbXNnc3RyICJDUFVhcmVuIG9wLW1vZHVhKGspOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc5OCBzeXMtdXRpbHMvbHNjcHUuYzoxODAwCittc2dpZCAiQnl0ZSBPcmRlcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwMgorIywgZnV6enkKK21zZ2lkICJDUFUocyk6IgorbXNnc3RyICJDUFUgc29ja2V0YWs6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA1Cittc2dpZCAiT24tbGluZSBDUFUocykgbWFzazoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwNgorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjUKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbWFzazoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNgorbXNnaWQgIk9mZi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODYyCittc2dpZCAiVGhyZWFkKHMpIHBlciBjb3JlOiIKK21zZ3N0ciAiQ29yZSBiYWtvaXR6ZWtvIGhhcmkga29wdXJ1YToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjQKK21zZ2lkICJDb3JlKHMpIHBlciBzb2NrZXQ6IgorbXNnc3RyICJTb2NrZXQgYmFrb2l0emVrbyBjb3JlIGtvcHVydWE6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODY3CisjLCBmdXp6eQorbXNnaWQgIlNvY2tldChzKSBwZXIgYm9vazoiCittc2dzdHIgIlNvY2tldCBiYWtvaXR6ZWtvIGNvcmUga29wdXJ1YToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzAKK21zZ2lkICJCb29rKHMpIHBlciBkcmF3ZXI6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzIKK21zZ2lkICJEcmF3ZXIocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzQKK21zZ2lkICJCb29rKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODc3CisjLCBmdXp6eQorbXNnaWQgIlNvY2tldChzKToiCittc2dzdHIgIkNQVSBzb2NrZXRhazoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODEKK21zZ2lkICJOVU1BIG5vZGUocyk6IgorbXNnc3RyICJOVU1BIG5vZHVhazoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODMKK21zZ2lkICJWZW5kb3IgSUQ6IgorbXNnc3RyICJGYWJyaWthdHphaWxlYXJlbiBJRGE6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg1CisjLCBmdXp6eQorbXNnaWQgIk1hY2hpbmUgdHlwZToiCittc2dzdHIgIlBhcnRpemlvIHplbmJha2lhIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg3Cittc2dpZCAiQ1BVIGZhbWlseToiCittc2dzdHIgIkNQVSBmYW1pbGlhOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4OQorbXNnaWQgIk1vZGVsOiIKK21zZ3N0ciAiTW9kZWxvYToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTEKKyMsIGZ1enp5Cittc2dpZCAiTW9kZWwgbmFtZToiCittc2dzdHIgIk1vZGVsb2E6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODkzCittc2dpZCAiU3RlcHBpbmc6IgorbXNnc3RyICJTdGVwcGluZy1hOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5NQorbXNnaWQgIkNQVSBNSHo6IgorbXNnc3RyICJDUFUgTUh6OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5NworIywgZnV6enkKK21zZ2lkICJDUFUgZHluYW1pYyBNSHo6IgorbXNnc3RyICJDUFUgTUh6OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5OQorIywgZnV6enkKK21zZ2lkICJDUFUgc3RhdGljIE1IejoiCittc2dzdHIgIkNQVSBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAxCisjLCBmdXp6eQorbXNnaWQgIkNQVSBtYXggTUh6OiIKK21zZ3N0ciAiQ1BVIE1IejoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDMKKyMsIGZ1enp5Cittc2dpZCAiQ1BVIG1pbiBNSHo6IgorbXNnc3RyICJDUFUgTUh6OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNQorbXNnaWQgIkJvZ29NSVBTOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA4IHN5cy11dGlscy9sc2NwdS5jOjE5MTAKK21zZ2lkICJWaXJ0dWFsaXphdGlvbjoiCittc2dzdHIgIkJpcnR1YWxpemF6aW9hOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMworIywgZnV6enkKK21zZ2lkICJIeXBlcnZpc29yOiIKK21zZ3N0ciAiSHlwZXJ2aXNvci1lYXJlbiBmYWJyaWthdHphaWxlYToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTUKK21zZ2lkICJIeXBlcnZpc29yIHZlbmRvcjoiCittc2dzdHIgIkh5cGVydmlzb3ItZWFyZW4gZmFicmlrYXR6YWlsZWE6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE2Cittc2dpZCAiVmlydHVhbGl6YXRpb24gdHlwZToiCittc2dzdHIgIkJpcnR1YWxpemF6aW8gbW9ldGE6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE5Cittc2dpZCAiRGlzcGF0Y2hpbmcgbW9kZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkyNSBzeXMtdXRpbHMvbHNjcHUuYzoxOTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNhY2hlOiIKK21zZ3N0ciAiJXMgY2FjaGVhOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTlVNQSBub2RlJWQgQ1BVKHMpOiIKK21zZ3N0ciAiTlVNQSBub2R1YWs6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQ2CisjLCBmdXp6eQorbXNnaWQgIkZsYWdzOiIKK21zZ3N0ciAiQmFuZGVyYWsiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NDkKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgc29ja2V0czoiCittc2dzdHIgIlNhcnR1IHppbGluZHJvIGtvcHVydWE6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTUwCisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIGNoaXBzOiIKK21zZ3N0ciAiU2FydHUgemlsaW5kcm8ga29wdXJ1YToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NTEKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY29yZXMvY2hpcDoiCittc2dzdHIgImxvcnR1IGJsb2tlIGZpc2lrb2FyZW4gKHNla3RvcmVhKSB0YW1haW51YSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2MworbXNnaWQgIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIENQVSBhcmNoaXRlY3R1cmUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2NgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBwcmludCBib3RoIG9ubGluZSBhbmQgb2ZmbGluZSBDUFVzIChkZWZhdWx0IGZvciAtZSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY3Cittc2dpZCAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIHByaW50IG9ubGluZSBDUFVzIG9ubHkgKGRlZmF1bHQgZm9yIC1wKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjgKK21zZ2lkICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAgcHJpbnQgb2ZmbGluZSBDUFVzIG9ubHlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY5Cittc2dpZCAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcwCittc2dpZCAiIC1wLCAtLXBhcnNlWz08bGlzdD5dICAgIHByaW50IG91dCBhIHBhcnNhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzEKK21zZ2lkICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAgdXNlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcyCittc2dpZCAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHByaW50IGhleGFkZWNpbWFsIG1hc2tzIHJhdGhlciB0aGFuIGxpc3RzIG9mIENQVXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTczCisjLCBmdXp6eQorbXNnaWQgIiAteSwgLS1waHlzaWNhbCAgICAgICAgICBwcmludCBwaHlzaWNhbCBpbnN0ZWFkIG9mIGxvZ2ljYWwgSURzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3B0aW9ucyAtLWFsbCwgLS1vbmxpbmUgYW5kIC0tb2ZmbGluZSBtYXkgb25seSBiZSB1c2VkIHdpdGggb3B0aW9ucyAtLWV4dGVuZGVkIG9yIC0tcGFyc2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIGtleSIKK21zZ3N0ciAiQmFsaW9nYWJla28gdGVrbGEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorIywgZnV6enkKK21zZ2lkICJLZXkiCittc2dzdHIgIkJhbGlvZ2FiZWtvIHRla2xhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgSUQiCittc2dzdHIgIkJhbGlvZ2FiZWtvIHRla2xhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKK21zZ2lkICJPd25lcidzIHVzZXJuYW1lIG9yIFVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKKyMsIGZ1enp5Cittc2dpZCAiT3duZXIiCittc2dzdHIgImphYmVhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTIKK21zZ2lkICJQZXJtaXNzaW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTMKK21zZ2lkICJDcmVhdG9yIFVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTQKK21zZ2lkICJDcmVhdG9yIHVzZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU1Cittc2dpZCAiQ3JlYXRvciBHSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU2CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgZ3JvdXAiCittc2dzdHIgIlByaW1hcmlvYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgIlVzZXIgSUQiCittc2dzdHIgImVyYWJpbHR6YWlsZWEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworbXNnaWQgIlVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTgKKyMsIGZ1enp5Cittc2dpZCAiVXNlciBuYW1lIgorbXNnc3RyICJCYWxpb2dhYmVrbyB0ZWtsYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR3JvdXAgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5CisjLCBmdXp6eQorbXNnaWQgIkdJRCIKK21zZ3N0ciAiU0dJIHJhdyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYwCisjLCBmdXp6eQorbXNnaWQgIkdyb3VwIG5hbWUiCittc2dzdHIgIkJhbGlvZ2FiZWtvIHRla2xhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBjaGFuZ2UiCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorIywgZnV6enkKK21zZ2lkICJMYXN0IGNoYW5nZSIKK21zZ3N0ciAiICAgICAgICAgICAgICAgTGVoZW5hICAgICBBemtlbmFcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY0CisjLCBmdXp6eQorbXNnaWQgIkJ5dGVzIHVzZWQiCittc2dzdHIgIk1hcmthdHUgZXJhYmlsaWEgZGFnb2VsYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlcyIKK21zZ3N0ciAiQnVydSBrb3B1cnVhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKK21zZ2lkICJNZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKKyMsIGZ1enp5Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyBzZW50IgorbXNnc3RyICJsZWhlbiBsZXJyb2FyZW4gb25kb3JlbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiTXNnIHNlbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyByZWNlaXZlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJNc2cgcmVjZWl2ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyBzZW5kZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiTXNnIHNlbmRlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHJlY2VpdmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIk1zZyByZWNlaXZlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzIKKyMsIGZ1enp5Cittc2dpZCAiU2VnbWVudCBzaXplIgorbXNnc3RyICJsb3J0dSBibG9rZS10YW1haW51YSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBhdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIlNhcnR1IHppbGluZHJvIGtvcHVydWE6IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJBdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc0Cittc2dpZCAiU3RhdHVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NQorIywgZnV6enkKK21zZ2lkICJBdHRhY2ggdGltZSIKK21zZ3N0ciAia29uZWt0YXR1dGEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NgorIywgZnV6enkKK21zZ2lkICJEZXRhY2ggdGltZSIKK21zZ3N0ciAiZGVza29uZWt0YXR1dGEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQiCittc2dzdHIgIiVzOiBLb21hbmRvIGV6ZXphZ3VuYTogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiUElEIG9mIHRoZSBjcmVhdG9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIkNyZWF0b3IgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OQorbXNnaWQgIlBJRCBvZiBsYXN0IHVzZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5CisjLCBmdXp6eQorbXNnaWQgIkxhc3QgdXNlciBQSUQiCittc2dzdHIgImVyYWJpbHR6YWlsZWEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAiU2VrdG9yZSBrb3B1cnVhIHBpc3Rha28iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorIywgZnV6enkKK21zZ2lkICJTZW1hcGhvcmVzIgorbXNnc3RyICJTZW1hZm9ybyBpZC1hOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODMKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODMKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBvcGVyYXRpb24iCittc2dzdHIgIiVkIGJhbGlvZ2FiZWtvIGVraW50emFcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIG5hbWUiCittc2dzdHIgIkJhbGlvZ2FiZWtvIHRla2xhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UiCittc2dzdHIgIkJhbGlvZ2FiZWtvIHRla2xhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgImJsb2tlIGdhaWx1YSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIkRlc2NyaXB0aW9uIgorbXNnc3RyICJibG9rZSBnYWlsdWEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIkN1cnJlbnRseSB1c2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIlVzZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIkN1cnJlbnRseSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAiU2FydHUgZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGE6ICIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIlVzZSIKK21zZ3N0ciAiRXJhYmlsZXJhOiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiU3lzdGVtLXdpZGUgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiTGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbHVtbiAlcyBkb2VzIG5vdCBhcHBseSB0byB0aGUgc3BlY2lmaWVkIElQQyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODcKK21zZ2lkICIgLWcsIC0tZ2xvYmFsICAgICAgaW5mbyBhYm91dCBzeXN0ZW0td2lkZSB1c2FnZSAobWF5IGJlIHVzZWQgd2l0aCAtbSwgLXEgYW5kIC1zKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OAorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICAgICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NAorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk1CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICAgICAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NworIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIHVzZSB0aGUgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk5CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yY2UgbGlzdCBvdXRwdXQgZm9ybWF0IChmb3IgZXhhbXBsZSB3aXRoIC0taWQpXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAxCittc2dpZCAiIC1QLCAtLW51bWVyaWMtcGVybXMgICAgICBwcmludCBudW1lcmljIHBlcm1pc3Npb25zIChQRVJNUyBjb2x1bW4pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAzCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiR2VuZXJpYyBjb2x1bW5zOlxuIgorbXNnc3RyICJhdWtlcmEgYmFsaW9nYXJyaWFrOiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkLW1lbW9yeSBjb2x1bW5zICgtLXNobWVtcyk6XG4iCittc2dzdHIgIkVyYWJpbGdhcnJpIGRhdWRlbiBrb21hbmRvYWs6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UtcXVldWUgY29sdW1ucyAoLS1xdWV1ZXMpOlxuIgorbXNnc3RyICJFcmFiaWxnYXJyaSBkYXVkZW4ga29tYW5kb2FrOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgY29sdW1ucyAoLS1zZW1hcGhvcmVzKTpcbiIKK21zZ3N0ciAiRXJhYmlsZ2FycmkgZGF1ZGVuIGtvbWFuZG9hazpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTdW1tYXJ5IGNvbHVtbnMgKC0tZ2xvYmFsKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkVsZW1lbnRzOlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwNQorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlIGlkZW50aWZpZXJzIgorbXNnc3RyICJTZWt0b3JlIGtvcHVydWEgcGlzdGFrbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA2CisjLCBmdXp6eQorbXNnaWQgIlRvdGFsIG51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJTZWt0b3JlIGtvcHVydWEgcGlzdGFrbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA3CisjLCBmdXp6eQorbXNnaWQgIk1heCBzZW1hcGhvcmVzIHBlciBzZW1hcGhvcmUgc2V0LiIKK21zZ3N0ciAiRXJhYmlsZ2FycmkgZGF1ZGVuIGtvbWFuZG9hazpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA4CisjLCBmdXp6eQorbXNnaWQgIk1heCBudW1iZXIgb2Ygb3BlcmF0aW9ucyBwZXIgc2Vtb3AoMikiCittc2dzdHIgIkV6aW4gZGEgJyVzJyBmaXR4YXRlZ2lhIGlyZWtpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDkKKyMsIGZ1enp5Cittc2dpZCAiU2VtYXBob3JlIG1heCB2YWx1ZSIKK21zZ3N0ciAiQmFsaW9nYWJla28gemlsaW5kcm8gYmFsb3JlYWsiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg2MworIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgIkJ1cnUga29wdXJ1YSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODY0CisjLCBmdXp6eQorbXNnaWQgIk1heCBzaXplIG9mIG1lc3NhZ2UgKGJ5dGVzKSIKK21zZ3N0ciAibG9ydHUgdGFtYWludWEgYnl0ZS10YW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg2NQorbXNnaWQgIkRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUgKGJ5dGVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5Nzggc3lzLXV0aWxzL2xzaXBjLmM6OTk3Cittc2dpZCAiaHVnZXRsYiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5Nzkgc3lzLXV0aWxzL2xzaXBjLmM6MTAwNAorIywgZnV6enkKK21zZ2lkICJub3Jlc2VydmUiCittc2dzdHIgIlN1bk9TIHJlc2VydmVkIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDYxCisjLCBmdXp6eQorbXNnaWQgIlNoYXJlZCBtZW1vcnkgc2VnbWVudHMiCittc2dzdHIgImV6aW4gZGEgJXMgaWQtYSBlemFiYXR1ICglcylcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MgorIywgZnV6enkKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHBhZ2VzIgorbXNnc3RyICJlemluIGRhICVzIGlkLWEgZXphYmF0dSAoJXMpXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjMKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgImxvcnR1IHRhbWFpbnVhIGJ5dGUtdGFuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDY0CisjLCBmdXp6eQorbXNnaWQgIk1pbiBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICJsb3J0dSB0YW1haW51YSBieXRlLXRhbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTEzNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSVBDIGlkZW50aWZpZXIiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMjI5Cittc2dpZCAiLS1nbG9iYWwgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1jcmVhdG9yLCAtLWlkIGFuZCAtLXRpbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4MworbXNnaWQgIm5hbWVzcGFjZSBpZGVudGlmaWVyIChpbm9kZSBudW1iZXIpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODQKK21zZ2lkICJraW5kIG9mIG5hbWVzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg1CisjLCBmdXp6eQorbXNnaWQgInBhdGggdG8gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NgorIywgZnV6enkKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIGluIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgIlNhcnR1IHppbGluZHJvIGtvcHVydWE6IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg3Cittc2dpZCAibG93ZXN0IFBJRCBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODgKK21zZ2lkICJQUElEIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OQorbXNnaWQgImNvbW1hbmQgbGluZSBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTAKK21zZ2lkICJVSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkxCittc2dpZCAidXNlcm5hbWUgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG5hbWVzcGFjZT5dXG4iCittc2dzdHIgImF1a2VyYSBiYWxpb2dhcnJpYWs6IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYxNgorbXNnaWQgIkxpc3Qgc3lzdGVtIG5hbWVzcGFjZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo2MjMKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXRhc2sgPHBpZD4gICAgICAgcHJpbnQgcHJvY2VzcyBuYW1lc3BhY2VzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo2MjYKK21zZ2lkICIgLXQsIC0tdHlwZSA8bmFtZT4gICAgICBuYW1lc3BhY2UgdHlwZSAobW50LCBuZXQsIGlwYywgdXNlciwgcGlkLCB1dHMsIGNncm91cClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjcxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBuYW1lc3BhY2UgdHlwZTogJXMiCittc2dzdHIgIlBhcnRpemlvIHRhdWxhIG1vZXRhIGV6ZXphZ3VuYSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MzUKK21zZ2lkICItLXRhc2sgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPG5hbWVzcGFjZT4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MzYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBuYW1lc3BhY2UgYXJndW1lbnQiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGZvdW5kIG5hbWVzcGFjZTogJWp1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY2IHN5cy11dGlscy91bW91bnQuYzoxMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2OSBzeXMtdXRpbHMvdW1vdW50LmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzMgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzQgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4NSBzeXMtdXRpbHMvdW1vdW50LmM6NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgKGxpYm1vdW50ICVzIgorbXNnc3RyICIlcy0oZSl0aWsgcmVuaWNlLWVhXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEzMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBtdGFiIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkyIHN5cy11dGlscy91bW91bnQuYzoyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBhbHJlYWR5IG1vdW50ZWRcbiIKK21zZ3N0ciAiRGlza29hIGFsZGF0dSBlZ2luIGRhLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3ZlZCB0byAlcy5cbiIKK21zZ3N0ciAiZnNjazogJXM6IGV6IGRhIGF1cmtpdHVcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgYm91bmQgb24gJXMuXG4iCittc2dzdHIgImZzY2s6ICVzOiBleiBkYSBhdXJraXR1XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1NCBzeXMtdXRpbHMvbW91bnQuYzoyNTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3VudGVkIG9uICVzLlxuIgorbXNnc3RyICJmc2NrOiAlczogZXogZGEgYXVya2l0dVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIHByb3BhZ2F0aW9uIGZsYWdzIGNoYW5nZWQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJtb3VudDogJXMgZG9lcyBub3QgY29udGFpbiBTRUxpbnV4IGxhYmVscy5cbiIKKyIgICAgICAgWW91IGp1c3QgbW91bnRlZCBhbiBmaWxlIHN5c3RlbSB0aGF0IHN1cHBvcnRzIGxhYmVscyB3aGljaCBkb2VzIG5vdFxuIgorIiAgICAgICBjb250YWluIGxhYmVscywgb250byBhbiBTRUxpbnV4IGJveC4gSXQgaXMgbGlrZWx5IHRoYXQgY29uZmluZWRcbiIKKyIgICAgICAgYXBwbGljYXRpb25zIHdpbGwgZ2VuZXJhdGUgQVZDIG1lc3NhZ2VzIGFuZCBub3QgYmUgYWxsb3dlZCBhY2Nlc3MgdG9cbiIKKyIgICAgICAgdGhpcyBmaWxlIHN5c3RlbS4gIEZvciBtb3JlIGRldGFpbHMgc2VlIHJlc3RvcmVjb24oOCkgYW5kIG1vdW50KDgpLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3OAorIywgZnV6enkKK21zZ2lkICJXQVJOSU5HOiBmYWlsZWQgdG8gYXBwbHkgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCittc2dzdHIgIm1vdW50OiBlemluIGRhICVzIGlyZWtpOiAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQiCittc2dzdHIgIkRpc2tvYSBhbGRhdHUgZWdpbiBkYS5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHVzZWQgYXMgcmVhZCBvbmx5IGxvb3AsIG1vdW50aW5nIHJlYWQtb25seSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMgaW4gJXMiCittc2dzdHIgIiVzOiBlemluIGRhICVzIGVzdGVrYXR1OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnRwb2ludCAlcyBpbiAlcyIKK21zZ3N0ciAiJXM6IGV6aW4gZGEgJXMgZXN0ZWthdHU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBzb3VyY2UgJXMgaW4gJXMiCittc2dzdHIgIiVzOiBlemluIGRhICVzIGVzdGVrYXR1OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzOiBtb3JlIGZpbGVzeXN0ZW1zIGRldGVjdGVkLiBUaGlzIHNob3VsZCBub3QgaGFwcGVuLFxuIgorIiAgICAgICB1c2UgLXQgPHR5cGU+IHRvIGV4cGxpY2l0bHkgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIG9yXG4iCisiICAgICAgIHVzZSB3aXBlZnMoOCkgdG8gY2xlYW4gdXAgdGhlIGRldmljZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDM2Cittc2dpZCAiSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDM5CisjLCBmdXp6eQorbXNnaWQgInlvdSBtdXN0IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAiICB0ICAgICAgICAgIEFsZGF0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kICVzIgorbXNnc3RyICIlczogZXppbiBkYSAlcyBlc3Rla2F0dTogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ3CisjLCBmdXp6eQorbXNnaWQgIm1vdW50IHNvdXJjZSBub3QgZGVmaW5lZCIKK21zZ3N0ciAibW91bnQ6IG1vdW50LWVrIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDUxIHN5cy11dGlscy9tb3VudC5jOjQ1MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSIKK21zZ3N0ciAiZXppbiBkaXJhIGJvb3RiaXQgc2VrdG9yZWFrIGV6YWJhdHUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50IGZhaWxlZCIKK21zZ3N0ciAibW91bnQtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlc3lzdGVtIG1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCittc2dzdHIgIm1vdW50OiBtb3VudC1layBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ4OSBzeXMtdXRpbHMvbW91bnQuYzo1NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50ICVzIGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiZXJybyBpbm9kb2EgZXogZGEgZGlyZWt0b3Jpb2EiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ5MworbXNnaWQgIm11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGJ1c3kiCittc2dzdHIgIm1vdW50OiAlcyBva3VwYXR1YSBkYWdvIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCBvciAlcyBidXN5IgorbXNnc3RyICJEaXNrb2EgYWxkYXR1IGVnaW4gZGEuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorbXNnc3RyICJEaXNrb2EgYWxkYXR1IGVnaW4gZGEuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIm1vdW50OiAlcyBtdW50YXUgcHVudHVhIGV6IGRhIGV4aXN0aXR6ZW4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBpcyBhIHN5bWJvbGljIGxpbmsgdG8gbm93aGVyZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIiCisiXG4iCisiRXogZGEgc3dhcCBwYXJ0aXppb3JpayBleGlzdGl0emVuLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MzYgc3lzLXV0aWxzL21vdW50LmM6NTM4IHN5cy11dGlscy9tb3VudC5jOjU0MAorIzogc3lzLXV0aWxzL21vdW50LmM6NTU1CisjLCBmdXp6eQorbXNnaWQgIm1vdW50KDIpIGZhaWxlZCIKK21zZ3N0ciAibW91bnQtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCittc2dzdHIgInVtb3VudDogJXM6IGV6IGRhZ28gbW9udGF0dXRhIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudHBvaW50IG9yIGJhZCBvcHRpb24iCittc2dzdHIgInVtb3VudDogJXM6IGV6IGRhZ28gbW9udGF0dXRhIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjUKK21zZ2lkICIiCisiYmFkIG9wdGlvbi4gTm90ZSB0aGF0IG1vdmluZyBhIG1vdW50IHJlc2lkaW5nIHVuZGVyIGEgc2hhcmVkXG4iCisiICAgICAgIG1vdW50IGlzIHVuc3VwcG9ydGVkLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIndyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLFxuIgorIiAgICAgICBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgICAoZm9yIHNldmVyYWwgZmlsZXN5c3RlbXMgKGUuZy4gbmZzLCBjaWZzKSB5b3UgbWlnaHRcbiIKKyIgICAgICAgbmVlZCBhIC9zYmluL21vdW50Ljx0eXBlPiBoZWxwZXIgcHJvZ3JhbSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiAgICAgICBJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGlzIGZvdW5kIGluIHN5c2xvZyAtIHRyeVxuIgorIiAgICAgICBkbWVzZyB8IHRhaWwgb3Igc28uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTgzCittc2dpZCAibW91bnQgdGFibGUgZnVsbCIKK21zZ3N0ciAibXVudGFpIHRhdWxhIGJldGV0YSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIgorbXNnc3RyICJoZXhkdW1wOiBlemluIGRhICVzICBpcmFrdXJyaS5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSAnJXMnIgorbXNnc3RyICJQYXJ0aXppbyB0YXVsYSBtb2V0YSBlemV6YWd1bmEiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU5NAorIywgZnV6enkKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAiUGFydGl6aW8gdGF1bGEgbW9ldGEgZXplemFndW5hIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQoMikgZmFpbHM/IgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2VcbiIKKyIgICAgICAgKG1heWJlIGBtb2Rwcm9iZSBkcml2ZXInPykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UgKG1heWJlIHRyeSBgLW8gbG9vcCc/KSIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQgJXMgcmVhZC1vbmx5IgorbXNnc3RyICJlemluIGRhIGJhZGJsb2NrcyBmaXR4YXRlZ2lhIGlyYWt1cnJpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCBgLXcnIGZsYWcgZ2l2ZW4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVtb3VudCAlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCittc2dzdHIgImV6aW4gZGEgXCIlc1wiIGlyZWtpIGlyYWt1cmtldGFyYWtvIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MzEgc3lzLXV0aWxzL21vdW50LmM6NjU0IHN5cy11dGlscy91bnNoYXJlLmM6MTg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBvbiAlcyBmYWlsZWQiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkLCBtb3VudGluZyByZWFkLW9ubHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG9wdGlvbiBmb3JtYXQ6ICVzIgorbXNnc3RyICIlczogS29tYW5kbyBlemV6YWd1bmE6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFwcGVuZCBvcHRpb24gJyVzJyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjczNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZV0gPHNvdXJjZT4gfCBbLS10YXJnZXRdIDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgPG9wZXJhdGlvbj4gPG1vdW50cG9pbnQ+IFs8dGFyZ2V0Pl1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NDQKKyMsIGZ1enp5Cittc2dpZCAiTW91bnQgYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJTYXJ0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YTogIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBtb3VudCBhbGwgZmlsZXN5c3RlbXMgbWVudGlvbmVkIGluIGZzdGFiXG4iCisiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSBtb3VudCgyKSBzeXNjYWxsXG4iCisiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIGZvcmsgb2ZmIGZvciBlYWNoIGRldmljZSAodXNlIHdpdGggLWEpXG4iCisiIC1ULCAtLWZzdGFiIDxwYXRoPiAgICAgIGFsdGVybmF0aXZlIGZpbGUgdG8gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgbW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBzaG93IGFsc28gZmlsZXN5c3RlbSBsYWJlbHNcbiIKK21zZ3N0ciAiKEh1cnJlbmdvIGZpdHhhdGVnaWE6ICVzKSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU4IHN5cy11dGlscy91bW91bnQuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbW91bnQgb3B0aW9uc1xuIgorIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC1vbmx5IChzYW1lIGFzIC1vIHJvKVxuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1zb3VyY2UgPHNyYz4gICAgICBleHBsaWNpdGx5IHNwZWNpZmllcyBzb3VyY2UgKHBhdGgsIGxhYmVsLCB1dWlkKVxuIgorIiAgICAgLS10YXJnZXQgPHRhcmdldD4gICBleHBsaWNpdGx5IHNwZWNpZmllcyBtb3VudHBvaW50XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzY4IHN5cy11dGlscy91bW91bnQuYzo5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHNheSB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtd3JpdGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTb3VyY2U6XG4iCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc5MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3BlcmF0aW9uczpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIHNvbWV3aGVyZSBlbHNlIChzYW1lIGFzIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG1vdmUgYSBzdWJ0cmVlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjgwMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4ODcgc3lzLXV0aWxzL3Vtb3VudC5jOjU0OAorIywgZnV6enkKK21zZ2lkICJsaWJtb3VudCBjb250ZXh0IGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJtb3VudDogbW91bnQtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo5NDQgc3lzLXV0aWxzL3Vtb3VudC5jOjYwMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IG9wdGlvbnMgcGF0dGVybiIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEwOTcKK21zZ2lkICJzb3VyY2Ugc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLXFkXSAvcGF0aC90by9kaXJlY3RvcnlcbiIKKyIgJTEkcyAteCAvZGV2L2RldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTIyCittc2dpZCAiQ2hlY2sgd2hldGhlciBhIGRpcmVjdG9yeSBvciBmaWxlIGlzIGEgbW91bnRwb2ludC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEyNQorbXNnaWQgIiIKKyIgLXEsIC0tcXVpZXQgICAgICAgIHF1aWV0IG1vZGUgLSBkb24ndCBwcmludCBhbnl0aGluZ1xuIgorIiAtZCwgLS1mcy1kZXZubyAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBmaWxlc3lzdGVtXG4iCisiIC14LCAtLWRldm5vICAgICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGJsb2NrIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBtb3VudHBvaW50XG4iCittc2dzdHIgImVycm8gaW5vZG9hIGV6IGRhIGRpcmVrdG9yaW9hIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjIwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzIG1vbnRhdHVhIGRhZ28uXHQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzIgc3lzLXV0aWxzL3NldHByaXYuYzo5MyBzeXMtdXRpbHMvdW5zaGFyZS5jOjI0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXG4iCittc2dzdHIgImVyYWJpbGVyYTogJXMgYXBsaWthemlvYSBbYXJndW1lbnR1YSAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzYKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggbmFtZXNwYWNlcyBvZiBvdGhlciBwcm9jZXNzZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3OQorbXNnaWQgIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgIHRhcmdldCBwcm9jZXNzIHRvIGdldCBuYW1lc3BhY2VzIGZyb21cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgwCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgIGVudGVyIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgZW50ZXIgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODIKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgZW50ZXIgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgZW50ZXIgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgIGVudGVyIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg1CisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gIGVudGVyIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg2CisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgIGVudGVyIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NworIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2V0dWlkIDx1aWQ+ICAgICBzZXQgdWlkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OQorbXNnaWQgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyBkbyBub3QgdG91Y2ggdWlkcyBvciBnaWRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MAorbXNnaWQgIiAtciwgLS1yb290Wz08ZGlyPl0gICAgIHNldCB0aGUgcm9vdCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkxCittc2dpZCAiIC13LCAtLXdkWz08ZGlyPl0gICAgICAgc2V0IHRoZSB3b3JraW5nIGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTIKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICBkbyBub3QgZm9yayBiZWZvcmUgZXhlYydpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NAorbXNnaWQgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgIHNldCBTRUxpbnV4IGNvbnRleHQgYWNjb3JkaW5nIHRvIC0tdGFyZ2V0IFBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5laXRoZXIgZmlsZW5hbWUgbm9yIHRhcmdldCBwaWQgc3VwcGxpZWQgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mjc3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB1aWQiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjI4MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZ2lkIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMTcKK21zZ2lkICJubyB0YXJnZXQgUElEIHNwZWNpZmllZCBmb3IgLS1mb2xsb3ctY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCAlZCBTRUxpbnV4IGNvbnRleHQiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBleGVjIGNvbnRleHQgdG8gJyVzJyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mzc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZWFzc29jaWF0ZSB0byBuYW1lc3BhY2UgJyVzJyBmYWlsZWQiCittc2dzdHIgImlyYWt1cnJpIHNpc3RlbWFyZW4gb3JkdWEiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzkwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBlemluIGRhICVzLShyKWVuZ2FuIGV4ZWMgZWdpbjogJW0iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mzk3CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgcm9vdCBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICIlczogZ2V0IHNpemUgZWdpdGVyYWtvYW4gaHV0cyBlZ2luIGRhIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQwMAorIywgZnV6enkKK21zZ2lkICJjaHJvb3QgZmFpbGVkIgorbXNnc3RyICJtb3VudC1layBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDEwCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgd29ya2luZyBkaXJlY3RvcnkgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MjEgc3lzLXV0aWxzL3NldHByaXYuYzo4MTUgc3lzLXV0aWxzL3NldHByaXYuYzo4MTkKKyMsIGZ1enp5Cittc2dpZCAic2V0Z3JvdXBzIGZhaWxlZCIKK21zZ3N0ciAic3RyZHVwLWVrIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBuZXdfcm9vdCBwdXRfb2xkXG4iCittc2dzdHIgIiIKKyJFcmFiaWxlcmE6ICVzJXMgW2F1a2VyYWtdIFthcGxpa2F6aW9hIFthcGxpa2F6aW9hIGFyZ3VtZW50dWFrXV1cbiIKKyJcbiIKKyJBdWtlcmFrOlxuIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjM3CisjLCBmdXp6eQorbXNnaWQgIkNoYW5nZSB0aGUgcm9vdCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIgICB0ICAgYWxkYXR1IHBhcml0emlvYXJlbiBmaXR4YXRlZ2kgc2lzdGVtYSBJRGEiCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCBmcm9tIGAlcycgdG8gYCVzJyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzUKK21zZ2lkICJhZGRyZXNzIHNwYWNlIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKKyMsIGZ1enp5Cittc2dpZCAibWF4IGNvcmUgZmlsZSBzaXplIgorbXNnc3RyICJFemluIGRhICclcycgZml0eGF0ZWdpYSBpcmVraSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworbXNnaWQgIkNQVSB0aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKKyMsIGZ1enp5Cittc2dpZCAic2Vjb25kcyIKK21zZ3N0ciAiRE9TIHNlY29uZGFyeSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OAorbXNnaWQgIm1heCBkYXRhIHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OQorIywgZnV6enkKK21zZ2lkICJtYXggZmlsZSBzaXplIgorbXNnc3RyICJUYW1haW51YSAoTUJ0YW4pOiAiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKKyMsIGZ1enp5Cittc2dpZCAibWF4IG51bWJlciBvZiBmaWxlIGxvY2tzIGhlbGQiCittc2dzdHIgIlNhcnR1IHppbGluZHJvIGtvcHVydWE6IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCisjLCBmdXp6eQorbXNnaWQgImxvY2tzIgorbXNnc3RyICIlbGQgYmxva2VcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MQorbXNnaWQgIm1heCBsb2NrZWQtaW4tbWVtb3J5IGFkZHJlc3Mgc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MgorbXNnaWQgIm1heCBieXRlcyBpbiBQT1NJWCBtcXVldWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODMKK21zZ2lkICJtYXggbmljZSBwcmlvIGFsbG93ZWQgdG8gcmFpc2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIG9wZW4gZmlsZXMiCittc2dzdHIgIkV6aW4gZGEgJyVzJyBmaXR4YXRlZ2lhIGlyZWtpIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0CisjLCBmdXp6eQorbXNnaWQgImZpbGVzIgorbXNnc3RyICIoSHVycmVuZ28gZml0eGF0ZWdpYTogJXMpIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1CisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2YgcHJvY2Vzc2VzIgorbXNnc3RyICJTYXJ0dSB6aWxpbmRybyBrb3B1cnVhOiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorIywgZnV6enkKK21zZ2lkICJwcm9jZXNzZXMiCittc2dzdHIgIiVzOiBlemluIGRhIFwiJXNcIiBwcm96ZXN1YSBhdXJraXR1XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODYKK21zZ2lkICJtYXggcmVzaWRlbnQgc2V0IHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NworIywgZnV6enkKK21zZ2lkICJtYXggcmVhbC10aW1lIHByaW9yaXR5IgorbXNnc3RyICJnZXRwcmlvcml0eSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgInRpbWVvdXQgZm9yIHJlYWwtdGltZSB0YXNrcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAibWljcm9zZWNzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJtYXggbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAic2lnbmFscyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAibWF4IHN0YWNrIHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjMKKyMsIGZ1enp5Cittc2dpZCAicmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAiQmFsaW9nYWJla28gdGVrbGEiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI0CisjLCBmdXp6eQorbXNnaWQgInJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJibG9rZSBnYWlsdWEiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI1Cittc2dpZCAic29mdCBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNgorbXNnaWQgImhhcmQgbGltaXQgKGNlaWxpbmcpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI3CisjLCBmdXp6eQorbXNnaWQgInVuaXRzIgorbXNnc3RyICJVbml0YXRlYWsiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstcCBQSURdXG4iCittc2dzdHIgImF1a2VyYSBiYWxpb2dhcnJpYWs6IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBDT01NQU5EXG4iCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYV1cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjYKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVzb3VyY2UgbGltaXRzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiR2VuZXJhbCBPcHRpb25zOlxuIgorbXNnc3RyICJhdWtlcmEgYmFsaW9nYXJyaWFrOiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjkKK21zZ2lkICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG91dHB1dFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3NworIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiUmVzb3VyY2VzIE9wdGlvbnM6XG4iCittc2dzdHIgImF1a2VyYSBiYWxpb2dhcnJpYWs6IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OAorbXNnaWQgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgY29yZSBmaWxlcyBjcmVhdGVkXG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcydzIGRhdGEgc2VnbWVudFxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIG1heGltdW0gbmljZSBwcmlvcml0eSBhbGxvd2VkIHRvIHJhaXNlXG4iCisiIC1mLCAtLWZzaXplICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlIHByb2Nlc3NcbiIKKyIgLWksIC0tc2lncGVuZGluZyAgICAgICBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHNcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICBtYXhpbXVtIHNpemUgYSBwcm9jZXNzIG1heSBsb2NrIGludG8gbWVtb3J5XG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZVxuIgorIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIG9wZW4gZmlsZXNcbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBtYXhpbXVtIGJ5dGVzIGluIFBPU0lYIG1lc3NhZ2UgcXVldWVzXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eVxuIgorIiAtcywgLS1zdGFjayAgICAgICAgICAgIG1heGltdW0gc3RhY2sgc2l6ZVxuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIG1heGltdW0gYW1vdW50IG9mIENQVSB0aW1lIGluIHNlY29uZHNcbiIKKyIgLXUsIC0tbnByb2MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiB1c2VyIHByb2Nlc3Nlc1xuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIHNpemUgb2YgdmlydHVhbCBtZW1vcnlcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBmaWxlIGxvY2tzXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAgQ1BVIHRpbWUgaW4gbWljcm9zZWNvbmRzIGEgcHJvY2VzcyBzY2hlZHVsZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1bmRlciByZWFsLXRpbWUgc2NoZWR1bGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MjQzIHN5cy11dGlscy9wcmxpbWl0LmM6MjQ5IHN5cy11dGlscy9wcmxpbWl0LmM6MzY2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3MQorbXNnaWQgInVubGltaXRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjMzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBvbGQgJXMgbGltaXQiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM1NgorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgc29mdCBsaW1pdCAlcyBjYW5ub3QgZXhjZWVkIHRoZSBoYXJkIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5ldyAlcyBsaW1pdCBmb3IgcGlkICVkOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo0NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBsaW1pdCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NTg1Cittc2dpZCAib3B0aW9uIC0tcGlkIG1heSBiZSBzcGVjaWZpZWQgb25seSBvbmNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NjE2Cittc2dpZCAib3B0aW9ucyAtLXBpZCBhbmQgQ09NTUFORCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNworbXNnaWQgIkRpc3BsYXkga2VybmVsIHByb2ZpbGluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1tLCAtLW1hcGZpbGUgPG1hcGZpbGU+ICAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJXNcIilcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgTGVoZW5hICAgICBBemtlbmFcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtcCwgLS1wcm9maWxlIDxwcm8tZmlsZT4gIChkZWZhdWx0OiAgXCIlc1wiKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNgorbXNnaWQgIiAtTSwgLS1tdWx0aXBsaWVyIDxtdWx0PiAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE3Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgcHJpbnQgb25seSBpbmZvIGFib3V0IHRoZSBzYW1wbGluZyBzdGVwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE4Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBkYXRhXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMAorbXNnaWQgIiAtYiwgLS1oaXN0YmluICAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgaGlzdG9ncmFtLWJpbiBjb3VudHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjEKK21zZ2lkICIgLXMsIC0tY291bnRlcnMgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGNvdW50ZXJzIHdpdGhpbiBmdW5jdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjIKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIzCittc2dpZCAiIC1uLCAtLW5vLWF1dG8gICAgICAgICAgICAgZGlzYWJsZSBieXRlIG9yZGVyIGF1dG8tZGV0ZWN0aW9uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvciB3cml0aW5nICVzIgorbXNnc3RyICJjcmMgZXJyb3JlYSIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjcxCittc2dpZCAiQXNzdW1pbmcgcmV2ZXJzZWQgYnl0ZSBvcmRlci4gVXNlIC1uIHRvIGZvcmNlIG5hdGl2ZSBieXRlIG9yZGVyLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2FtcGxpbmdfc3RlcDogJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMDIgc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyglaSk6IHdyb25nIG1hcCBsaW5lIgorbXNnc3RyICJsZXJybyBsdXplZWdpYSIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIFwiX3N0ZXh0XCIgaW4gJXMiCittc2dzdHIgIiIKKyJcbiIKKyJCU0QgZXRpa2V0YSBnYWlsdWFyZW50emF0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozNDYKK21zZ2lkICJwcm9maWxlIGFkZHJlc3Mgb3V0IG9mIHJhbmdlLiBXcm9uZyBtYXAgZmlsZT8iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6NDA0Cittc2dpZCAidG90YWwiCittc2dzdHIgImd1enRpcmEiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MgorbXNnaWQgInByb2Nlc3MgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUzCittc2dpZCAicHJvY2VzcyBncm91cCBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiBbLXB8LS1waWRdIDxwaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtZ3wtLXBncnAgPHBnaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtdXwtLXVzZXIgPHVzZXI+Li4uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjY3Cittc2dpZCAiQWx0ZXIgdGhlIHByaW9yaXR5IG9mIHJ1bm5pbmcgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorbXNnc3RyICJTYXJ0dSB6aWxpbmRybyBrb3B1cnVhOiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcxCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MgorbXNnaWQgIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIGdyb3VwIElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjczCittc2dpZCAiIC11LCAtLXVzZXIgPG5hbWU+fDxpZD4gaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHVzZXJuYW1lIG9yIHVzZXIgSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCAoJXMpIG9sZCBwcmlvcml0eSAlZCwgbmV3IHByaW9yaXR5ICVkXG4iCittc2dzdHIgIiVkOiAlZCBwcmlvcml0YXRlIHphaGFycmEsICVkIHByaW9yaXRhdGUgYmVycmlhXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdXNlciAlcyIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIG9uZSBvZiB0aGUgYWJvdmUKKyMuICogdGhyZWUgSUQgbmFtZXMuIFJlYWQ6ICJiYWQgdmFsdWUgZm9yICVzOiAlcyIKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCAlcyB2YWx1ZTogJXMiCittc2dzdHIgInJlbmljZTogJXM6IGJhbGlvIG9rZXJyYVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjk4Cittc2dpZCAiRW50ZXIgYSBzeXN0ZW0gc2xlZXAgc3RhdGUgdW50aWwgYSBzcGVjaWZpZWQgd2FrZXVwIHRpbWUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDEKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICAgICAgICAgIHJlYWRzIHRoZSBjbG9jayBtb2RlIGZyb20gYWRqdXN0IGZpbGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtQSwgLS1hZGpmaWxlIDxmaWxlPiAgICAgc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA1Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICBkYXRlIHRpbWUgb2YgdGltZXN0YW1wIHRvIHdha2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNgorbXNnaWQgIiAtZCwgLS1kZXZpY2UgPGRldmljZT4gICAgc2VsZWN0IHJ0YyBkZXZpY2UgKHJ0YzB8cnRjMXwuLi4pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDcKK21zZ2lkICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGRvZXMgZXZlcnl0aGluZywgYnV0IHN1c3BlbmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOAorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDkKK21zZ2lkICIgICAgIC0tbGlzdC1tb2RlcyAgICAgICAgIGxpc3QgYXZhaWxhYmxlIG1vZGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTAKK21zZ2lkICIgLW0sIC0tbW9kZSA8bW9kZT4gICAgICAgIHN0YW5kYnl8bWVtfC4uLiBzbGVlcCBtb2RlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTEKK21zZ2lkICIgLXMsIC0tc2Vjb25kcyA8c2Vjb25kcz4gIHNlY29uZHMgdG8gc2xlZXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMgorbXNnaWQgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTMKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBSVEMgdXNlcyBVVENcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE2NworIywgZnV6enkKK21zZ2lkICJyZWFkIHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiaXJha3VycmkgcnRjIG9yZHVhIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE3MworIywgZnV6enkKK21zZ2lkICJyZWFkIHN5c3RlbSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiaXJha3Vycmkgc2lzdGVtYXJlbiBvcmR1YSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiY29udmVydCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgIiVzOiBiYWxpb2dhYmVrbyAlcyB0aW1lX3QgYmFsb3JlYVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjIzNworIywgZnV6enkKK21zZ2lkICJzZXQgcnRjIHdha2UgYWxhcm0gZmFpbGVkIgorbXNnc3RyICJlemFycmkgcnRjIGFsYXJtYSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB0aGlyZCBsaW5lIGluOiAlczogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjAgc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjQKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBydGMgYWxhcm0gZmFpbGVkIgorbXNnc3RyICJlemFycmkgcnRjIGFsYXJtYSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9mZlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzM4CisjLCBmdXp6eQorbXNnaWQgImNvbnZlcnQgdGltZSBmYWlsZWQiCittc2dzdHIgIiVzOiBiYWxpb2dhYmVrbyAlcyB0aW1lX3QgYmFsb3JlYVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb24gICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mzg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZDogJXMiCittc2dzdHIgInJlYWQtZWsgaHV0cyBlZ2luIGR1OiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdXNwZW5kIHN0YXRlICclcyciCittc2dzdHIgInNhcnJlcmEgb2tlcnJhXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDc1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc2Vjb25kcyBhcmd1bWVudCIKK21zZ3N0ciAiYmFsaW9nYWJla28gYXVrZXJhIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ3OQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHRpbWUgYXJndW1lbnQiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxMQorbXNnaWQgIlVzaW5nIFVUQyB0aW1lLlxuIgorbXNnc3RyICJVVEMgb3JkdWEgZXJhYmlsdHplbi5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTIKK21zZ2lkICJVc2luZyBsb2NhbCB0aW1lLlxuIgorbXNnc3RyICJPcmR1IGxva2FsYSBlcmFiaWx0emVuLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxNQorbXNnaWQgIm11c3QgcHJvdmlkZSB3YWtlIHRpbWUgKHNlZSAtLXNlY29uZHMsIC0tdGltZSBhbmQgLS1kYXRlIG9wdGlvbnMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgZW5hYmxlZCBmb3Igd2FrZXVwIGV2ZW50cyIKK21zZ3N0ciAiJXM6IGV6aW4gZGlyYSBpbm90aWZ5IGdlcnRhZXJhayBpcmFrdXJyaSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm0gJWxkLCBzeXNfdGltZSAlbGQsIHJ0Y190aW1lICVsZCwgc2Vjb25kcyAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTM1CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUgZG9lc24ndCBnbyBiYWNrd2FyZCB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgZnJvbSBcIiVzXCIgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBubzsgbGVhdmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogb2ZmOyBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9uOyByZWFkaW5nIHJ0Y1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTkyCisjLCBmdXp6eQorbXNnaWQgInJ0YyByZWFkIGZhaWxlZCIKK21zZ3N0ciAicmVhZC1layBodXRzIGVnaW4gZHU6ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwNAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IGRpc2FibGU7IGRpc2FibGluZyBhbGFybVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjA4CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogc2hvdzsgcHJpbnRpbmcgYWxhcm0gaW5mb1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjE1CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogJXM7IHN1c3BlbmRpbmcgc3lzdGVtXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjkKK21zZ2lkICJkaXNhYmxlIHJ0YyBhbGFybSBpbnRlcnJ1cHQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN3aXRjaGluZyBvbiAlcy5cbiIKK21zZ3N0ciAiICAgICAgICBkaXNrbyBndXp0aWFuLiAiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8YXJjaD4gW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJlcmFiaWxlcmE6ICVzIGFwbGlrYXppb2EgW2FyZ3VtZW50dWEgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJlcmFiaWxlcmE6ICVzIGFwbGlrYXppb2EgW2FyZ3VtZW50dWEgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk2Cittc2dpZCAiQ2hhbmdlIHRoZSByZXBvcnRlZCBhcmNoaXRlY3R1cmUgYW5kIHNldCBwZXJzb25hbGl0eSBmbGFncy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk5Cittc2dpZCAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB0dXJucyBvbiBBRERSX0xJTUlUXzMyQklUXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDAKK21zZ2lkICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIG1ha2VzIGZ1bmN0aW9uIHBvaW50ZXJzIHBvaW50IHRvIGRlc2NyaXB0b3JzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDEKK21zZ2lkICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIHR1cm5zIG9uIFNIT1JUX0lOT0RFXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDIKK21zZ2lkICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMworbXNnaWQgIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgZGlzYWJsZXMgcmFuZG9taXphdGlvbiBvZiB0aGUgdmlydHVhbCBhZGRyZXNzIHNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDQKK21zZ2lkICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHR1cm5zIG9uIFdIT0xFX1NFQ09ORFNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNQorbXNnaWQgIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgdHVybnMgb24gU1RJQ0tZX1RJTUVPVVRTXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDYKK21zZ2lkICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDcKK21zZ2lkICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHR1cm5zIG9uIE1NQVBfUEFHRV9aRVJPXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDgKK21zZ2lkICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDkKK21zZ2lkICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGlnbm9yZWQgKGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IG9ubHkpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTAKK21zZ2lkICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHR1cm5zIG9uIFVOQU1FMjZcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheSB3aGF0IG9wdGlvbnMgYXJlIGJlaW5nIHN3aXRjaGVkIG9uXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTQKK21zZ2lkICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3Qgc2V0dGFibGUgYXJjaGl0ZWN0dXJlcywgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXNcbiIKKyJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFVucmVjb2duaXplZCBhcmNoaXRlY3R1cmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyNTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIktlcm5lbCBjYW5ub3Qgc2V0IGFyY2hpdGVjdHVyZSB0byAlcyIKK21zZ3N0ciAiRXppbiBkYSBkaXNrb2FyZW4gdGFtYWludWEgbG9ydHUiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzA1CisjLCBmdXp6eQorbXNnaWQgIk5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICIlczogYXJndW1lbnR1IGdlaGllZ2lcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM3OQorIywgZnV6enkKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICctLWxpc3QnIgorbXNnc3RyICJzYXJyZXJhIG9rZXJyYVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM4NworIywgZnV6enkKK21zZ2lkICJubyBhcmNoaXRlY3R1cmUgYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJFeiBkYSAtLWRhdGUgYXVrZXJhcmlrIHplaGF6dHUuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGUgY29tbWFuZCBgJXMnLlxuIgorbXNnc3RyICJFeiBkYSAtLWRhdGUgYXVrZXJhcmlrIHplaGF6dHUuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggZGlmZmVyZW50IHByaXZpbGVnZSBzZXR0aW5ncy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMAorbXNnaWQgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgc2hvdyBjdXJyZW50IHN0YXRlIChhbmQgZG8gbm90IGV4ZWMgYW55dGhpbmcpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDEKK21zZ2lkICIgLS1ubnAsIC0tbm8tbmV3LXByaXZzICAgIGRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDIKK21zZ2lkICIgLS1pbmgtY2FwcyA8Y2FwcywuLi4+ICAgIHNldCBpbmhlcml0YWJsZSBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMworbXNnaWQgIiAtLWJvdW5kaW5nLXNldCA8Y2Fwcz4gICAgc2V0IGNhcGFiaWxpdHkgYm91bmRpbmcgc2V0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDQKK21zZ2lkICIgLS1ydWlkIDx1aWQ+ICAgICAgICAgICAgIHNldCByZWFsIHVpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA1Cittc2dpZCAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA2Cittc2dpZCAiIC0tcmdpZCA8Z2lkPiAgICAgICAgICAgICBzZXQgcmVhbCBnaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNworbXNnaWQgIiAtLWVnaWQgPGdpZD4gICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwOAorbXNnaWQgIiAtLXJldWlkIDx1aWQ+ICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwOQorbXNnaWQgIiAtLXJlZ2lkIDxnaWQ+ICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMAorbXNnaWQgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgY2xlYXIgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMQorbXNnaWQgIiAtLWtlZXAtZ3JvdXBzICAgICAgICAgICAga2VlcCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEyCittc2dpZCAiIC0tZ3JvdXBzIDxncm91cCwuLi4+ICAgICBzZXQgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMworbXNnaWQgIiAtLXNlY3VyZWJpdHMgPGJpdHM+ICAgICAgc2V0IHNlY3VyZWJpdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNAorbXNnaWQgIiAtLXNlbGludXgtbGFiZWwgPGxhYmVsPiAgc2V0IFNFTGludXggbGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNQorbXNnaWQgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgc2V0IEFwcEFybW9yIHByb2ZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyMQorbXNnaWQgIiBUaGlzIHRvb2wgY2FuIGJlIGRhbmdlcm91cy4gIFJlYWQgdGhlIG1hbnBhZ2UsIGFuZCBiZSBjYXJlZnVsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTkzIHN5cy11dGlscy9zZXRwcml2LmM6NDY3Cittc2dpZCAiZ2V0dGluZyBwcm9jZXNzIHNlY3VyZSBiaXRzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN1cmViaXRzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIltub25lXVxuIgorbXNnc3RyICJleiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbG9uZyIKK21zZ3N0ciAiTGVycm9hIGx1emVlZ2lhIGRhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjczIHN5cy11dGlscy9zZXRwcml2LmM6MzIxIHN5cy11dGlscy9zZXRwcml2LmM6MzI2CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzMiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdIgorbXNnc3RyICJleiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkOiAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImV1aWQ6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VpZDogJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5OSBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5MQorIywgZnV6enkKK21zZ2lkICJnZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKS1rIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMDggc3lzLXV0aWxzL3NldHByaXYuYzo0MDYKKyMsIGZ1enp5Cittc2dpZCAiZ2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCktayBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIkVmZmVjdGl2ZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyNAorIywgYy1mb3JtYXQKK21zZ2lkICJQZXJtaXR0ZWQgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FwYWJpbGl0eSBib3VuZGluZyBzZXQ6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MworIywgZnV6enkKK21zZ2lkICJTRUxpbnV4IGxhYmVsIgorbXNnc3RyICJMaW51eCBwbGFpbnRleHQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQ2Cittc2dpZCAiQXBwQXJtb3IgcHJvZmlsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYXAgJWQ6IGxpYmNhcC1uZyBpcyBicm9rZW4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODIKK21zZ2lkICJJbnZhbGlkIHN1cHBsZW1lbnRhcnkgZ3JvdXAgaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozOTkKKyMsIGZ1enp5Cittc2dpZCAic2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCktayBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDE0CisjLCBmdXp6eQorbXNnaWQgInNldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpLWsgaHV0cyBlZ2luIGR1IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQzNQorbXNnaWQgImJhZCBjYXBhYmlsaXR5IHN0cmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ0MworbXNnaWQgImxpYmNhcC1uZyBpcyB0b28gb2xkIGZvciBcImFsbFwiIGNhcHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY2FwYWJpbGl0eSBcIiVzXCIiCittc2dzdHIgIjxpPiAoZXogZGFnbyBpcmFkb2tpenVuaWspIDwvaT4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDc2CisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQgc2V0IC0tIHJlZnVzaW5nIHRvIGFkanVzdCIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHJhdyBkYXR1IGZvcm1hdHVhIGVyYWJpbGl6IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ4MAorbXNnaWQgImJhZCBzZWN1cmViaXRzIHN0cmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ4NworIywgZnV6enkKK21zZ2lkICIrYWxsIHNlY3VyZWJpdHMgaXMgbm90IGFsbG93ZWQiCittc2dzdHIgIiclYycgZXogZGFnbyBvbmFydHV0YS5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDAKK21zZ2lkICJhZGp1c3Rpbmcga2VlcF9jYXBzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDQKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAic2FycmVyYSBva2VycmFcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MjQKK21zZ2lkICJTRUxpbnV4IGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjbG9zZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJzZWVrLWVrIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NDcKK21zZ2lkICJBcHBBcm1vciBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY1OAorbXNnaWQgImR1cGxpY2F0ZSAtLW5vLW5ldy1wcml2cyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NjMKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY2NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcnVpZCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjY5Cittc2dpZCAiZHVwbGljYXRlIGV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGV1aWQiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY3NQorbXNnaWQgImR1cGxpY2F0ZSBydWlkIG9yIGV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJldWlkIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODEKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmdpZCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njg3Cittc2dpZCAiZHVwbGljYXRlIGVnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVnaWQiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY5MworbXNnaWQgImR1cGxpY2F0ZSByZ2lkIG9yIGVnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2OTUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJlZ2lkIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MDAKK21zZ2lkICJkdXBsaWNhdGUgLS1jbGVhci1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzA2Cittc2dpZCAiZHVwbGljYXRlIC0ta2VlcC1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzEyCittc2dpZCAiZHVwbGljYXRlIC0tZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcyMQorbXNnaWQgImR1cGxpY2F0ZSAtLWluaC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcyNworbXNnaWQgImR1cGxpY2F0ZSAtLWJvdW5kaW5nLXNldCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MzMKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWN1cmViaXRzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjczOQorbXNnaWQgImR1cGxpY2F0ZSAtLXNlbGludXgtbGFiZWwgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzQ1Cittc2dpZCAiZHVwbGljYXRlIC0tYXBwYXJtb3ItcHJvZmlsZSBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJyVjJyIKK21zZ3N0ciAic2FycmVyYSBva2VycmFcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NjMKK21zZ2lkICItLWR1bXAgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzEKK21zZ2lkICItLWxpc3QtY2FwcyBtdXN0IGJlIHNwZWNpZmllZCBhbG9uZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3NworIywgZnV6enkKK21zZ2lkICJObyBwcm9ncmFtIHNwZWNpZmllZCIKK21zZ3N0ciAiRXogZGEgLS1kYXRlIGF1a2VyYXJpayB6ZWhhenR1LlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4MgorbXNnaWQgIi0tW3JlXWdpZCByZXF1aXJlcyAtLWtlZXAtZ3JvdXBzLCAtLWNsZWFyLWdyb3Vwcywgb3IgLS1ncm91cHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODUKK21zZ2lkICJkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTMKK21zZ2lkICJrZWVwIHByb2Nlc3MgY2FwYWJpbGl0aWVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwMQorbXNnaWQgImFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwNworbXNnaWQgInJlYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODIzCisjLCBmdXp6eQorbXNnaWQgInNldCBwcm9jZXNzIHNlY3VyZWJpdHMgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKS1rIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjkKK21zZ2lkICJhcHBseSBib3VuZGluZyBzZXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzUKK21zZ2lkICJhcHBseSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBleGVjdXRlOiAlcyIKK21zZ3N0ciAiZXppbiBkYSBgc3RhdCcgZWdpbiBcIiVzXCItKHIpZW5nYW4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3VtZW50cyAuLi5dXG4iCittc2dzdHIgImVyYWJpbGVyYTogJXMgYXBsaWthemlvYSBbYXJndW1lbnR1YSAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozNgorbXNnaWQgIlJ1biBhIHByb2dyYW0gaW4gYSBuZXcgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzkKK21zZ2lkICIgLWMsIC0tY3R0eSAgICAgc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCB0byB0aGUgY3VycmVudCBvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDAKK21zZ2lkICIgLXcsIC0td2FpdCAgICAgd2FpdCBwcm9ncmFtIHRvIGV4aXQsIGFuZCB1c2UgdGhlIHNhbWUgcmV0dXJuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjkzCisjLCBmdXp6eQorbXNnaWQgImZvcmsiCittc2dzdHIgImZvcms6ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaGlsZCAlZCBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgIm1vdW50OiAlcyBtdW50YXUgcHVudHVhIGV6IGRhIGV4aXN0aXR6ZW4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTAKKyMsIGZ1enp5Cittc2dpZCAic2V0c2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCktayBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb2ZmICVzXG4iCittc2dzdHIgIiVzICVzLShlKS1uXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA1Cittc2dpZCAiTm90IHN1cGVydXNlci4iCittc2dzdHIgIkV6IHphcmEgc3VwZXItZXJhYmlsdHphaWxlYSIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvZmYgZmFpbGVkIgorbXNnc3RyICIlczogc3dhcG9mZi1layBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTIyIHN5cy11dGlscy9zd2Fwb24uYzo3ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxzcGVjPl1cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyNQorbXNnaWQgIkRpc2FibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjgKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgc3dhcHMgZnJvbSAvcHJvYy9zd2Fwc1xuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTM1Cittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MworIywgZnV6enkKK21zZ2lkICJkZXZpY2UgZmlsZSBvciBwYXJ0aXRpb24gcGF0aCIKK21zZ3N0ciAiICBkICAgICAgICAgIFVuZWtvIHBhcnRpemlvYSBlemFiYXR1IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTQKKyMsIGZ1enp5Cittc2dpZCAidHlwZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICIlczogZ2V0IHNpemUgZWdpdGVyYWtvYW4gaHV0cyBlZ2luIGRhIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTUKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBvZiB0aGUgc3dhcCBhcmVhIgorbXNnc3RyICIlczogZ2V0IHNpemUgZWdpdGVyYWtvYW4gaHV0cyBlZ2luIGRhIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTYKKyMsIGZ1enp5Cittc2dpZCAiYnl0ZXMgaW4gdXNlIgorbXNnc3RyICJNYXJrYXR1IGVyYWJpbGlhIGRhZ29lbGEiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NworIywgZnV6enkKK21zZ2lkICJzd2FwIHByaW9yaXR5IgorbXNnc3RyICJzZXRwcmlvcml0eSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk4Cittc2dpZCAic3dhcCB1dWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OQorIywgZnV6enkKK21zZ2lkICJzd2FwIGxhYmVsIgorbXNnc3RyICJldGlrZXRhIGdhYmVhLCAiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNcdFx0XHRcdFR5cGVcdFx0U2l6ZVx0VXNlZFx0UHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ2Cittc2dpZCAiRmlsZW5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlaW5pdGlhbGl6aW5nIHRoZSBzd2FwLiIKK21zZ3N0ciAiTGludXggc3dhcCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbHNlZWsgZmFpbGVkIgorbXNnc3RyICIlczogbHNlZWstZWsgaHV0cyBlZ2luIGR1IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgc2lnbmF0dXJlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjUzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgLSBpdCBhcHBlYXJzIHRvIGhhdmUgaG9sZXMuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldCBzaXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBzd2FwIGhlYWRlciBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZm91bmQgc2lnbmF0dXJlIFtwYWdlc2l6ZT0lZCwgc2lnbmF0dXJlPSVzXSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYWdlc2l6ZT0lZCwgc3dhcHNpemU9JWxsdSwgZGV2c2l6ZT0lbGx1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxhc3RfcGFnZSAweCUwOGxseCBpcyBsYXJnZXIgdGhhbiBhY3R1YWwgc2l6ZSBvZiBzd2Fwc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiAoVXNlIC0tZml4cGdzeiB0byByZWluaXRpYWxpemUgaXQuKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzb2Z0d2FyZSBzdXNwZW5kIGRhdGEgZGV0ZWN0ZWQuIFJld3JpdGluZyB0aGUgc3dhcCBzaWduYXR1cmUuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInN3YXBvbiAlc1xuIgorbXNnc3RyICIlcyAlcy0oZSktblxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb24gZmFpbGVkIgorbXNnc3RyICIlczogc3dhcG9uLWVrIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vYXV0byBvcHRpb24gLS0gaWdub3JlZCIKK21zZ3N0ciAiY3JjIGVycm9yZWEiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbHJlYWR5IGFjdGl2ZSAtLSBpZ25vcmVkIgorbXNnc3RyICJjcmMgZXJyb3JlYSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluYWNjZXNzaWJsZSAtLSBpZ25vcmVkIgorbXNnc3RyICIgICB3ICAgaWRhdHppIGRpc2tvYXJlbiBldGlrZXRhIGRpc2tvYW4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTEKK21zZ2lkICJFbmFibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NQorbXNnaWQgIiAtZCwgLS1kaXNjYXJkWz08cG9saWN5Pl0gZW5hYmxlIHN3YXAgZGlzY2FyZHMsIGlmIHN1cHBvcnRlZCBieSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk2Cittc2dpZCAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBzaWxlbnRseSBza2lwIGRldmljZXMgdGhhdCBkbyBub3QgZXhpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk3Cittc2dpZCAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICByZWluaXRpYWxpemUgdGhlIHN3YXAgc3BhY2UgaWYgbmVjZXNzYXJ5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5OAorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2Ygc3dhcCBvcHRpb25zXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5OQorbXNnaWQgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgc3BlY2lmeSB0aGUgcHJpb3JpdHkgb2YgdGhlIHN3YXAgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIGRpc3BsYXkgc3VtbWFyeSBhYm91dCB1c2VkIHN3YXAgZGV2aWNlcyAoREVQUkVDQVRFRClcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAxCittc2dpZCAiICAgICAtLXNob3dbPTxjb2x1bW5zPl0gICBkaXNwbGF5IHN1bW1hcnkgaW4gZGVmaW5hYmxlIHRhYmxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IHRhYmxlIGhlYWRpbmcgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDMKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0ICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA0CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHNpemUgaW4gYnl0ZXMgaW4gLS1zaG93IG91dHB1dFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODExCittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MjEKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGRpc2NhcmQgcG9saWN5IHR5cGVzIChmb3IgLS1kaXNjYXJkKTpcbiIKKyIgb25jZSAgICA6IG9ubHkgc2luZ2xlLXRpbWUgYXJlYSBkaXNjYXJkcyBhcmUgaXNzdWVkXG4iCisiIHBhZ2VzICAgOiBmcmVlZCBwYWdlcyBhcmUgZGlzY2FyZGVkIGJlZm9yZSB0aGV5IGFyZSByZXVzZWRcbiIKKyJJZiBubyBwb2xpY3kgaXMgc2VsZWN0ZWQsIGJvdGggZGlzY2FyZCB0eXBlcyBhcmUgZW5hYmxlZCAoZGVmYXVsdCkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgyNgorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3cpOlxuIgorbXNnc3RyICJFcmFiaWxnYXJyaSBkYXVkZW4ga29tYW5kb2FrOlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTA0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwcmlvcml0eSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCB0aGUgZGV2aWNlIGZvciAlcyIKK21zZ3N0ciAiIgorIlxuIgorIkJTRCBldGlrZXRhIGdhaWx1YXJlbnR6YXQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjU5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRpcmVjdG9yeSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjY3CisjLCBmdXp6eQorbXNnaWQgInN0YXQgZmFpbGVkIgorbXNnc3RyICIlczogc3RhdC1layBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjc4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIGRpcmVjdG9yeSIKK21zZ3N0ciAiZXJybyBpbm9kb2EgZXogZGEgZGlyZWt0b3Jpb2EiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjExMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVubGluayAlcyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAlcyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZm9yY2luZyB1bm1vdW50IG9mICVzIgorbXNnc3RyICIlcyBkZXNtdW50YXR6ZW4gc2FpYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAvIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTc1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE4OAorbXNnaWQgIm9sZCByb290IGZpbGVzeXN0ZW0gaXMgbm90IGFuIGluaXRyYW1mcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG5ld3Jvb3RkaXI+IDxpbml0PiA8YXJncyB0byBpbml0PlxuIgorbXNnc3RyICIiCisiRXJhYmlsZXJhOiAlcyVzIFthdWtlcmFrXSBbYXBsaWthemlvYSBbYXBsaWthemlvYSBhcmd1bWVudHVha11dXG4iCisiXG4iCisiQXVrZXJhazpcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA0Cittc2dpZCAiU3dpdGNoIHRvIGFub3RoZXIgZmlsZXN5c3RlbSBhcyB0aGUgcm9vdCBvZiB0aGUgbW91bnQgdHJlZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMzYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkLiBTb3JyeS4iCittc2dzdHIgIiVzLShlKWsgaHV0cyBlZ2luIGR1LlxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBhY2Nlc3MgJXMiCittc2dzdHIgIkV6aW4gZGEgJyVzJyBmaXR4YXRlZ2lhIGlyZWtpIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTQKK21zZ2lkICJTZXQgdmFyaW91cyBwYXJhbWV0ZXJzIGZvciB0aGUgbGluZSBwcmludGVyLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5NworbXNnaWQgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIHNwZWNpZnkgcGFyYWxsZWwgcG9ydCBpcnFcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTgKK21zZ2lkICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICBkcml2ZXIgd2FpdCB0aW1lIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5OQorbXNnaWQgIiAtYywgLS1jaGFycyA8bnVtPiAgICAgICAgICAgIG51bWJlciBvZiBvdXRwdXQgY2hhcmFjdGVycyBiZWZvcmUgc2xlZXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAwCittc2dpZCAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgc3Ryb2JlIHdhaXQgaW4gbWljcm8gc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBkbyBub3QgdHJhbnNsYXRlIDxvbnxvZmY+IGFyZ3VtZW50cy4gVGhlCisjLiBhcmd1bWVudCByZWFkZXIgZG9lcyBub3QgcmVjb2duaXplIGxvY2FsZSwgdW5sZXNzIGBvbicgaXMKKyMuIGV4YWN0bHkgdGhhdCB2ZXJ5IHNhbWUgc3RyaW5nLgorIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNAorbXNnaWQgIiAtYSwgLS1hYm9ydCA8b258b2ZmPiAgICAgICAgIGFib3J0IG9uIGVycm9yXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNQorbXNnaWQgIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gIGNoZWNrIHByaW50ZXIgc3RhdHVzIGJlZm9yZSBwcmludGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDYKK21zZ2lkICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICBleHRyYSBjaGVja2luZyB0byBzdGF0dXMgY2hlY2tcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA3Cittc2dpZCAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAgcXVlcnkgcHJpbnRlciBzdGF0dXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA4Cittc2dpZCAiIC1ULCAtLXRydXN0LWlycSA8b258b2ZmPiAgICAgbWFrZSBkcml2ZXIgdG8gdHJ1c3QgaXJxXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICByZXNldCB0aGUgcG9ydFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTAKK21zZ2lkICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICBkaXNwbGF5IGN1cnJlbnQgaXJxIHNldHRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgYW4gbHAgZGV2aWNlIgorbXNnc3RyICIlczogJXMgZXogZGEgbHAgZ2FpbHVhLlxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjgwCisjLCBmdXp6eQorbXNnaWQgIkxQR0VUU1RBVFVTIGVycm9yIgorbXNnc3RyICJMUEdFVElSUSBlcnJvcmVhIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN0YXR1cyBpcyAlZCIKK21zZ3N0ciAiJXMtKHIpZW4gZWdvZXJhICVkIGRhLiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIsIGJ1c3kiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICIsIHJlYWR5IgorbXNnc3RyICIsIHByZXN0IgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb3V0IG9mIHBhcGVyIgorbXNnc3RyICIsIHBhcGVyaWsgZ2FiZSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICIsIG9uLWxpbmUiCittc2dzdHIgIiwgbGluZWFuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZXJyb3IiCittc2dzdHIgIiwgZXJyb3JlYSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMwMAorIywgZnV6enkKK21zZ2lkICJpb2N0bCBmYWlsZWQiCittc2dzdHIgIm1zZ2N0bC1layBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTAKK21zZ2lkICJMUEdFVElSUSBlcnJvciIKK21zZ3N0ciAiTFBHRVRJUlEgZXJyb3JlYSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBJUlEgJWRcbiIKK21zZ3N0ciAiJXMgJWQgSVJRLWEgZXJhYmlsdHplblxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIHBvbGxpbmdcbiIKK21zZ3N0ciAiJXMgYXp0ZXJrZXRhIGVyYWJpbHR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiB8IDxkaXJlY3Rvcnk+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjgxCisjLCBmdXp6eQorbXNnaWQgIlVubW91bnQgZmlsZXN5c3RlbXMuXG4iCittc2dzdHIgIlNhcnR1IGZpdHhhdGVnaSBzaXN0ZW1hIG1vZXRhOiAiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICB1bm1vdW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NQorbXNnaWQgIiIKKyIgLUEsIC0tYWxsLXRhcmdldHMgICAgICAgdW5tb3VudCBhbGwgbW91bnRwb2ludHMgZm9yIHRoZSBnaXZlbiBkZXZpY2UgaW4gdGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODcKK21zZ2lkICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg4Cittc2dpZCAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGlmIG1vdW50ZWQgbG9vcCBkZXZpY2UsIGFsc28gZnJlZSB0aGlzIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg5Cittc2dpZCAiICAgICAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIHVtb3VudCgyKSBzeXNjYWxsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkwCittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIGZvcmNlIHVubW91bnQgKGluIGNhc2Ugb2YgYW4gdW5yZWFjaGFibGUgTkZTIHN5c3RlbSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTEKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgdW1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkzCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICBkZXRhY2ggdGhlIGZpbGVzeXN0ZW0gbm93LCBjbGVhbiB1cCB0aGluZ3MgbGF0ZXJcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTQKK21zZ2lkICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk1Cittc2dpZCAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IHVubW91bnQgYSB0YXJnZXQgd2l0aCBhbGwgaXRzIGNoaWxkcmVuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk2CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBpbiBjYXNlIHVubW91bnRpbmcgZmFpbHMsIHRyeSB0byByZW1vdW50IHJlYWQtb25seVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NworIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiAgIGwgICB6ZXJyZW5kYXR1IGV6YWd1dHplbiBkaXJlbiBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YWsiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglcykgdW5tb3VudGVkIgorbXNnc3RyICIlcyBtb250YXR1YSBkYWdvLlx0IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyB1bm1vdW50ZWQiCittc2dzdHIgImZzY2s6ICVzOiBleiBkYSBhdXJraXR1XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bW91bnQgZmFpbGVkIgorbXNnc3RyICJtb3VudC1layBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCittc2dzdHIgIm1vdW50OiBtb3VudC1layBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKK21zZ3N0ciAiaGV4ZHVtcDogZXppbiBkYSAlcyAgaXJha3VycmkuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzOiB0YXJnZXQgaXMgYnVzeVxuIgorIiAgICAgICAgKEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gYWJvdXQgcHJvY2Vzc2VzIHRoYXRcbiIKKyIgICAgICAgICB1c2UgdGhlIGRldmljZSBpcyBmb3VuZCBieSBsc29mKDgpIG9yIGZ1c2VyKDEpLikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50cG9pbnQgbm90IGZvdW5kIgorbXNnc3RyICJmc2NrOiAlczogZXogZGEgYXVya2l0dVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjUwCisjLCBmdXp6eQorbXNnaWQgInVuZGVmaW5lZCBtb3VudHBvaW50IgorbXNnc3RyICIlczogZXppbiBkYSAlcyBlc3Rla2F0dTogJXNcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdW5tb3VudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBibG9jayBkZXZpY2VzIGFyZSBub3QgcGVybWl0dGVkIG9uIGZpbGVzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMwNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHVtb3VudCB0YXJnZXQiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzIzCisjLCBmdXp6eQorbXNnaWQgImxpYm1vdW50IHRhYmxlIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJtb3VudDogbW91bnQtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzY2IHN5cy11dGlscy91bW91bnQuYzo0NDYKKyMsIGZ1enp5Cittc2dpZCAibGlibW91bnQgaXRlcmF0b3IgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIm1vdW50OiBtb3VudC1layBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgY2hpbGQgZnMgb2YgJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NDEwIHN5cy11dGlscy91bW91bnQuYzo0MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQiCittc2dzdHIgImZzY2s6ICVzOiBleiBkYSBhdXJraXR1XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo0NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlICgtLWFsbC10YXJnZXRzIGlzIHVuc3VwcG9ydGVkIG9uIHN5c3RlbXMgd2l0aCByZWd1bGFyIG10YWIgZmlsZSkuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIC0tc2V0Z3JvdXBzIGFyZ3VtZW50ICclcyciCittc2dzdHIgIiVzOiBLb21hbmRvIGV6ZXphZ3VuYTogJXNcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMTAgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZCAlcyIKK21zZ3N0ciAid3JpdGUtayBodXRzIGVnaW4gZHU6ICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJvcGFnYXRpb24gbW9kZTogJXMiCittc2dzdHIgIiVzOiBLb21hbmRvIGV6ZXphZ3VuYTogJXNcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNoYW5nZSByb290IGZpbGVzeXN0ZW0gcHJvcGFnYXRpb24iCittc2dzdHIgIiAgIHQgICBhbGRhdHUgcGFyaXR6aW9hcmVuIGZpdHhhdGVnaSBzaXN0ZW1hIElEYSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzdGF0ICVzIgorbXNnc3RyICJlemluIGRhIGBzdGF0JyBlZ2luIFwiJXNcIi0ocillbmdhbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTMKKyMsIGZ1enp5Cittc2dpZCAicGlwZSBmYWlsZWQiCittc2dzdHIgIm9wZW4tZWsgaHV0cyBlZ2luIGR1OiAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGlwZSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUwCittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIHNvbWUgbmFtZXNwYWNlcyB1bnNoYXJlZCBmcm9tIHRoZSBwYXJlbnQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTMKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTQKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTUKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTYKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBuZXR3b3JrIG5hbWVzcGFjZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU3CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU4CisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OQorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICAgICB1bnNoYXJlIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICBmb3JrIGJlZm9yZSBsYXVuY2hpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjEKK21zZ2lkICIgICAgIC0tbW91bnQtcHJvY1s9PGRpcj5dICBtb3VudCBwcm9jIGZpbGVzeXN0ZW0gZmlyc3QgKGltcGxpZXMgLS1tb3VudClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MgorbXNnaWQgIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIG1hcCBjdXJyZW50IHVzZXIgdG8gcm9vdCAoaW1wbGllcyAtLXVzZXIpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjMKK21zZ2lkICIiCisiICAgICAtLXByb3BhZ2F0aW9uIHNsYXZlfHNoYXJlZHxwcml2YXRlfHVuY2hhbmdlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmeSBtb3VudCBwcm9wYWdhdGlvbiBpbiBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIGNvbnRyb2wgdGhlIHNldGdyb3VwcyBzeXNjYWxsIGluIHVzZXIgbmFtZXNwYWNlc1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6Mzg2Cittc2dpZCAidW5zaGFyZSBmYWlsZWQiCittc2dzdHIgInVuc2hhcmVkLWVrIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzAKKyMsIGZ1enp5Cittc2dpZCAiY2hpbGQgZXhpdCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpLWsgaHV0cyBlZ2luIGR1IgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzNworbXNnaWQgIm9wdGlvbnMgLS1zZXRncm91cHM9YWxsb3cgYW5kIC0tbWFwLXJvb3QtdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBmYWlsZWQiCittc2dzdHIgIm1vdW50LWVrIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzMKK21zZ2lkICJDYXJkIHByZXZpb3VzbHkgcmVzZXQgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NAorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzUKK21zZ2lkICJFeHRlcm5hbCByZWxheSAyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc2CisjLCBmdXp6eQorbXNnaWQgIkZhbiBmYWlsZWQiCittc2dzdHIgIiVzLShlKWsgaHV0cyBlZ2luIGR1LlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NworbXNnaWQgIktlZXAgYWxpdmUgcGluZyByZXBseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OAorbXNnaWQgIlN1cHBvcnRzIG1hZ2ljIGNsb3NlIGNoYXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzkKK21zZ2lkICJSZXNldCBkdWUgdG8gQ1BVIG92ZXJoZWF0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgwCittc2dpZCAiUG93ZXIgb3ZlciB2b2x0YWdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgxCittc2dpZCAiUG93ZXIgYmFkL3Bvd2VyIGZhdWx0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgyCittc2dpZCAiUHJldGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODMKK21zZ2lkICJTZXQgdGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODQKK21zZ2lkICJOb3QgdHJpZ2dlciByZWJvb3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAwCittc2dpZCAiZmxhZyBuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMQorIywgZnV6enkKK21zZ2lkICJmbGFnIGRlc2NyaXB0aW9uIgorbXNnc3RyICJibG9rZSBnYWlsdWEiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMgorbXNnaWQgImZsYWcgc3RhdHVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMworIywgZnV6enkKK21zZ2lkICJmbGFnIGJvb3Qgc3RhdHVzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTA0CisjLCBmdXp6eQorbXNnaWQgIndhdGNoZG9nIGRldmljZSBuYW1lIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmbGFnOiAlcyIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxNzcKK21zZ2lkICJTaG93IHRoZSBzdGF0dXMgb2YgdGhlIGhhcmR3YXJlIHdhdGNoZG9nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE4MAorbXNnaWQgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICBwcmludCBzZWxlY3RlZCBmbGFncyBvbmx5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciBmbGFncyB0YWJsZVxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdCBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgcHJpbnQgb25seSBmbGFncyB0YWJsZSAoc2FtZSBhcyAtSSAtVClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZWZhdWx0IGRldmljZSBpcyAlcy5cbiIKK21zZ3N0ciAiTG9vcCBnYWlsdWEgJXMgZGFcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk5CisjLCBmdXp6eQorbXNnaWQgIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorbXNnc3RyICJFcmFiaWxnYXJyaSBkYXVkZW4ga29tYW5kb2FrOlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIGZsYWdzIDB4JXhcbiIKK21zZ3N0ciAiJXM6ICVzIHNlaW5hbGUgZXplemFndW5hXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMxOSBzeXMtdXRpbHMvd2RjdGwuYzozNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhdGNoZG9nIGFscmVhZHkgaW4gdXNlLCB0ZXJtaW5hdGluZy4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzMzIHN5cy11dGlscy93ZGN0bC5jOjQwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkaXNhcm0gd2F0Y2hkb2ciCittc2dzdHIgImV6aW4gZGlyYSBib290Yml0IHNla3RvcmVhayBlemFiYXR1IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGltZW91dCBmb3IgJXMiCittc2dzdHIgIkV6aW4gZGEgZGlza29hcmVuIHRhbWFpbnVhIGxvcnR1IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kLlxuIgorbXNnaWRfcGx1cmFsICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmRzLlxuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB3YXRjaGRvZyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NCBzeXMtdXRpbHMvd2RjdGwuYzo0Njcgc3lzLXV0aWxzL3dkY3RsLmM6NDcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlLTE0cyAlMmkgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIiUtMTRzICUyaSBzZWNvbmRzXG4iCittc2dzdHJbMF0gIiVzICAlLjZmIHNlZ3VuZHVcbiIKK21zZ3N0clsxXSAiJXMgICUuNmYgc2VndW5kdVxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjUKK21zZ2lkICJUaW1lb3V0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjgKKyMsIGZ1enp5Cittc2dpZCAiUHJlLXRpbWVvdXQ6IgorbXNnc3RyICIlczogTWVtb3JpYXoga2FucG8hXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ3MQorbXNnaWQgIlRpbWVsZWZ0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDUKKyMsIGZ1enp5Cittc2dpZCAiRGV2aWNlOiIKK21zZ3N0ciAiR2FpbHVhIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDcKK21zZ2lkICJJZGVudGl0eToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA5Cittc2dpZCAidmVyc2lvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjczCisjLCBmdXp6eQorbXNnaWQgInpyYW0gZGV2aWNlIG5hbWUiCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NAorbXNnaWQgImxpbWl0IG9uIHRoZSB1bmNvbXByZXNzZWQgYW1vdW50IG9mIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NQorbXNnaWQgInVuY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzYKK21zZ2lkICJjb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NworbXNnaWQgInRoZSBzZWxlY3RlZCBjb21wcmVzc2lvbiBhbGdvcml0aG0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OAorbXNnaWQgIm51bWJlciBvZiBjb25jdXJyZW50IGNvbXByZXNzIG9wZXJhdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OQorIywgZnV6enkKK21zZ2lkICJlbXB0eSBwYWdlcyB3aXRoIG5vIGFsbG9jYXRlZCBtZW1vcnkiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgwCittc2dpZCAiYWxsIG1lbW9yeSBpbmNsdWRpbmcgYWxsb2NhdG9yIGZyYWdtZW50YXRpb24gYW5kIG1ldGFkYXRhIG92ZXJoZWFkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODEKK21zZ2lkICJtZW1vcnkgbGltaXQgdXNlZCB0byBzdG9yZSBjb21wcmVzc2VkIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MgorbXNnaWQgIm1lbW9yeSB6cmFtIGhhdmUgYmVlbiBjb25zdW1lZCB0byBzdG9yZSBjb21wcmVzc2VkIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MworbXNnaWQgIm51bWJlciBvZiBvYmplY3RzIG1pZ3JhdGVkIGJ5IGNvbXBhY3Rpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzozNjMgc3lzLXV0aWxzL3pyYW1jdGwuYzozNzQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIG1tX3N0YXQiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorIiAlMSRzIC1yIDxkZXZpY2U+IFsuLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGRldmljZT4gLXMgPHNpemU+XG4iCittc2dzdHIgIkVyYWJpbGVyYTogbWtmcyBbLVZdIFstdCBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YV0gW2ZpdHhhdGVnaSBzaXN0ZW1hcmVuIGF1a2VyYWtdIGdhaWx1YSBbdGFtYWludWFdXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTI3Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIHpyYW0gZGV2aWNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMAorbXNnaWQgIiAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NCAgIGNvbXByZXNzaW9uIGFsZ29yaXRobSB0byB1c2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMQorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICBmaW5kIGEgZnJlZSBkZXZpY2VcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM0CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIGNvbHVtbnMgdG8gdXNlIGZvciBzdGF0dXMgb3V0cHV0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgdXNlIHJhdyBzdGF0dXMgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM2CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM3CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaXplIDxzaXplPiAgICAgICAgIGRldmljZSBzaXplXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzgKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXN0cmVhbXMgPG51bWJlcj4gICAgbnVtYmVyIG9mIGNvbXByZXNzaW9uIHN0cmVhbXNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYWxnb3JpdGhtOiAlcyIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYyNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RyZWFtcyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjQ4Cittc2dpZCAib3B0aW9uIC0tZmluZCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8ZGV2aWNlPiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NAorbXNnaWQgIm9ubHkgb25lIDxkZXZpY2U+IGF0IGEgdGltZSBpcyBhbGxvd2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjU3Cittc2dpZCAib3B0aW9ucyAtLWFsZ29yaXRobSBhbmQgLS1zdHJlYW1zIG11c3QgYmUgY29tYmluZWQgd2l0aCAtLXNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODcgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVzZXQiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY5OCBzeXMtdXRpbHMvenJhbWN0bC5jOjcwNgorbXNnaWQgIm5vIGZyZWUgenJhbSBkZXZpY2UgZm91bmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IG51bWJlciBvZiBzdHJlYW1zIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGFsZ29yaXRobSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBkaXNrc2l6ZSAoJWp1IGJ5dGVzKSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzJXMgKGF1dG9tYXRpYyBsb2dpbilcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSByb290IGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVzOiBlemluIGRhICVzLShyKWVuZ2FuIGV4ZWMgZWdpbjogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHdvcmtpbmcgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiJXM6IGV6aW4gZGEgJXMtKHIpZW5nYW4gZXhlYyBlZ2luOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2UgcHJvY2VzcyBwcmlvcml0eTogJW0iCittc2dzdHIgIiVzOiBlemluIGRhIFwiJXNcIiBwcm96ZXN1YSBhdXJraXR1XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBleGVjICVzOiAlbSIKK21zZ3N0ciAiJXM6IGV6aW4gZGEgJXMtKHIpZW5nYW4gZXhlYyBlZ2luOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1NTUgdGVybS11dGlscy9hZ2V0dHkuYzo4NDEgdGVybS11dGlscy9hZ2V0dHkuYzo4NTMKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODcwIHRlcm0tdXRpbHMvYWdldHR5LmM6MTQxNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MzMKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ2OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NzkgdGVybS11dGlscy9hZ2V0dHkuYzoxNTE2CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NzggdGVybS11dGlscy9hZ2V0dHkuYzoyNTIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5OiAlbSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NjgwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZGVsYXkgYXJndW1lbnQiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3MTkKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtLWxvY2FsLWxpbmUiCittc2dzdHIgImJhbGlvZ2FiZWtvIGlkLWE6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzM4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbmljZSBhcmd1bWVudCIKK21zZ3N0ciAiYmFsaW9nYWJla28gYXVrZXJhIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3BlZWQ6ICVzIgorbXNnc3RyICJhYmlhZHVyYSBva2VycmE6ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3NworIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBhbHRlcm5hdGUgc3BlZWRzIgorbXNnc3RyICJvcnJpIHR4YXIgZ2VoaWVnaSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDA2IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAxMCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IG9wZW4gYXMgc3RhbmRhcmQgaW5wdXQ6ICVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAyOQorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSBjaGFyYWN0ZXIgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgdHR5IgorbXNnc3RyICJlcnJvIGlub2RvYSBleiBkYSBkaXJla3RvcmlvYSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDM1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IGdldCBjb250cm9sbGluZyB0dHk6ICVtIgorbXNnc3RyICIlczogZXppbiBkYSAlcy0ocillbmdhbiBleGVjIGVnaW46ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IHZoYW5ndXAoKSBmYWlsZWQ6ICVtIgorbXNnc3RyICIlczogZm9yay1layBodXRzIGVnaW4gZHU6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG9wZW4gZm9yIHJlYWQvd3JpdGUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgc2V0IHByb2Nlc3MgZ3JvdXA6ICVtIgorbXNnc3RyICIlczogZXppbiBkYSBcIiVzXCIgcHJvemVzdWEgYXVya2l0dVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGR1cCBwcm9ibGVtOiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICJlemluIGRpcmEgYm9vdGJpdCBzZWt0b3JlYWsgZXphYmF0dSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMzIxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZhaWxlZDogJW0iCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ1OQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBvcy1yZWxlYXNlIGZpbGUiCittc2dzdHIgIkV6aW4gZGEgJyVzJyBmaXR4YXRlZ2lhIGlyZWtpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE2MzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcmVsb2FkIGZpbGU6ICVzOiAlbSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTczNgorbXNnaWQgIltwcmVzcyBFTlRFUiB0byBsb2dpbl0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzYwCittc2dpZCAiTnVtIExvY2sgb2ZmIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2MworbXNnaWQgIk51bSBMb2NrIG9uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2NgorbXNnaWQgIkNhcHMgTG9jayBvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjkKK21zZ2lkICJTY3JvbGwgTG9jayBvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJIaW50OiAlc1xuIgorIlxuIgorbXNnc3RyICJtb2V0YTogJXNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkOiAlbSIKK21zZ3N0ciAiJXM6IGlyYWt1cnJpOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaW5wdXQgb3ZlcnJ1biIKK21zZ3N0ciAic2FycmVyYSBva2VycmFcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTc0IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgY29udmVyc2lvbiBmb3IgbG9naW4gbmFtZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgY2hhcmFjdGVyIDB4JXggaW4gbG9naW4gbmFtZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICJlemluIGRpcmEgYm9vdGJpdCBzZWt0b3JlYWsgZXphYmF0dSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGxpbmU+IFs8YmF1ZF9yYXRlPiwuLi5dIFs8dGVybXR5cGU+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8YmF1ZF9yYXRlPiwuLi4gPGxpbmU+IFs8dGVybXR5cGU+XVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExMworbXNnaWQgIk9wZW4gYSB0ZXJtaW5hbCBhbmQgc2V0IGl0cyBtb2RlLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExNgorIywgZnV6enkKK21zZ2lkICIgLTgsIC0tOGJpdHMgICAgICAgICAgICAgICAgYXNzdW1lIDgtYml0IHR0eVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExNworbXNnaWQgIiAtYSwgLS1hdXRvbG9naW4gPHVzZXI+ICAgICBsb2dpbiB0aGUgc3BlY2lmaWVkIHVzZXIgYXV0b21hdGljYWxseVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExOAorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAgZG8gbm90IHJlc2V0IGNvbnRyb2wgbW9kZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExOQorIywgZnV6enkKK21zZ2lkICIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAgdXNlIC1yIDxob3N0bmFtZT4gZm9yIGxvZ2luKDEpXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIwCittc2dpZCAiIC1mLCAtLWlzc3VlLWZpbGUgPGZpbGU+ICAgIGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMQorbXNnaWQgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBlbmFibGUgaGFyZHdhcmUgZmxvdyBjb250cm9sXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIyCittc2dpZCAiIC1ILCAtLWhvc3QgPGhvc3RuYW1lPiAgICAgIHNwZWNpZnkgbG9naW4gaG9zdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMworIywgZnV6enkKK21zZ2lkICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgZG8gbm90IGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI0Cittc2dpZCAiIC1JLCAtLWluaXQtc3RyaW5nIDxzdHJpbmc+IHNldCBpbml0IHN0cmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNQorIywgZnV6enkKK21zZ2lkICIgLUogIC0tbm9jbGVhciAgICAgICAgICAgICAgZG8gbm90IGNsZWFyIHRoZSBzY3JlZW4gYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNgorbXNnaWQgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBzcGVjaWZ5IGxvZ2luIHByb2dyYW1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjcKK21zZ2lkICIgLUwsIC0tbG9jYWwtbGluZVs9PG1vZGU+XSAgY29udHJvbCB0aGUgbG9jYWwgbGluZSBmbGFnXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI4Cittc2dpZCAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI5Cittc2dpZCAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGRvIG5vdCBwcm9tcHQgZm9yIGxvZ2luXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMwCisjLCBmdXp6eQorbXNnaWQgIiAtTiAgLS1ub25ld2xpbmUgICAgICAgICAgICBkbyBub3QgcHJpbnQgYSBuZXdsaW5lIGJlZm9yZSBpc3N1ZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMxCittc2dpZCAiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPG9wdHM+IG9wdGlvbnMgdGhhdCBhcmUgcGFzc2VkIHRvIGxvZ2luXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMyCittc2dpZCAiIC1wLCAtLWxvZ2luLXBhdXNlICAgICAgICAgIHdhaXQgZm9yIGFueSBrZXkgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMworbXNnaWQgIiAtciwgLS1jaHJvb3QgPGRpcj4gICAgICAgICBjaGFuZ2Ugcm9vdCB0byB0aGUgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM0Cittc2dpZCAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgIGRvIHZpcnR1YWxseSBoYW5ndXAgb24gdGhlIHR0eVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNQorbXNnaWQgIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICB0cnkgdG8ga2VlcCBiYXVkIHJhdGUgYWZ0ZXIgYnJlYWtcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzYKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8bnVtYmVyPiAgICAgbG9naW4gcHJvY2VzcyB0aW1lb3V0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM3Cittc2dpZCAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzgKK21zZ2lkICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgd2FpdCBjYXJyaWFnZS1yZXR1cm5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzkKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIGRvIG5vdCBwcmludCBoaW50c1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICBMZWhlbmEgICAgIEF6a2VuYVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgIG5vIGhvc3RuYW1lIGF0IGFsbCB3aWxsIGJlIHNob3duXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBFcmFrdXRzaSBwYXJ0aXppbyB0YXVsYSBwYW50YWlsYW4gZWRvIGlkYXR6aSBmaXR4YXRlZ2lyZW4gYmF0ZWFuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDEKK21zZ2lkICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgc2hvdyBmdWxsIHF1YWxpZmllZCBob3N0bmFtZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MgorbXNnaWQgIiAgICAgLS1lcmFzZS1jaGFycyA8c3RyaW5nPiBhZGRpdGlvbmFsIGJhY2tzcGFjZSBjaGFyc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MworbXNnaWQgIiAgICAgLS1raWxsLWNoYXJzIDxzdHJpbmc+ICBhZGRpdGlvbmFsIGtpbGwgY2hhcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDQKK21zZ2lkICIgICAgIC0tY2hkaXIgPGRpcmVjdG9yeT4gICAgY2hkaXIgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NQorbXNnaWQgIiAgICAgLS1kZWxheSA8bnVtYmVyPiAgICAgICBzbGVlcCBzZWNvbmRzIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDYKK21zZ2lkICIgICAgIC0tbmljZSA8bnVtYmVyPiAgICAgICAgcnVuIGxvZ2luIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NworIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgcmVsb2FkIHByb21wdHMgb24gcnVubmluZyBhZ2V0dHkgaW5zdGFuY2VzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgIExlaGVuYSAgICAgQXprZW5hXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0OAorIywgZnV6enkKK21zZ2lkICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDkKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcnNpb24gICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgIExlaGVuYSAgICAgQXprZW5hXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjQ4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgdXNlciIKK21zZ2lkX3BsdXJhbCAiJWQgdXNlcnMiCittc2dzdHJbMF0gImVyYWJpbHR6YWlsZWEiCittc2dzdHJbMV0gImVyYWJpbHR6YWlsZWEiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hlY2tuYW1lIGZhaWxlZDogJW0iCittc2dzdHIgImNob3duLShlKWsgaHV0cyBlZ2luIGR1OiAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdG91Y2ggZmlsZSAlcyIKK21zZ3N0ciAiRXppbiBkYSAnJXMnIGZpdHhhdGVnaWEgaXJla2kiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYyNQorbXNnaWQgIi0tcmVsb2FkIGlzIHVuc3VwcG9ydGVkIG9uIHlvdXIgc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFt5IHwgbl1cbiIKK21zZ3N0ciAiYXVrZXJhIGJhbGlvZ2FycmlhazoiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc4Cittc2dpZCAiQ29udHJvbCB3cml0ZSBhY2Nlc3Mgb2Ygb3RoZXIgdXNlcnMgdG8geW91ciB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo4MQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMjUKKyMsIGZ1enp5Cittc2dpZCAidHR5bmFtZSBmYWlsZWQiCittc2dzdHIgInVuc2hhcmVkLWVrIGh1dHMgZWdpbiBkdSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM0CisjLCBmdXp6eQorbXNnaWQgImlzIHkiCittc2dzdHIgIiVzIG1vbnRhdHVhIGRhZ28uXHQiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNworIywgZnV6enkKK21zZ2lkICJpcyBuIgorbXNnc3RyICIlcyBtb250YXR1YSBkYWdvLlx0IgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNDggdGVybS11dGlscy9tZXNnLmM6MTU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2UgJXMgbW9kZSBmYWlsZWQiCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTU3Cittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgZGVuaWVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXMiCittc2dzdHIgImJhbGlvZ2FiZWtvIGlkLWE6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTYyCittc2dpZCAiTWFrZSBhIHR5cGVzY3JpcHQgb2YgYSB0ZXJtaW5hbCBzZXNzaW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTY1Cittc2dpZCAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICBhcHBlbmQgdGhlIG91dHB1dFxuIgorIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiBydW4gY29tbWFuZCByYXRoZXIgdGhhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgorIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICByZXR1cm4gZXhpdCBjb2RlIG9mIHRoZSBjaGlsZCBwcm9jZXNzXG4iCisiIC1mLCAtLWZsdXNoICAgICAgICAgICAgIHJ1biBmbHVzaCBhZnRlciBlYWNoIHdyaXRlXG4iCisiICAgICAtLWZvcmNlICAgICAgICAgICAgIHVzZSBvdXRwdXQgZmlsZSBldmVuIHdoZW4gaXQgaXMgYSBsaW5rXG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIGJlIHF1aWV0XG4iCisiIC10LCAtLXRpbWluZ1s9PGZpbGU+XSAgIG91dHB1dCB0aW1pbmcgZGF0YSB0byBzdGRlcnIgKG9yIHRvIEZJTEUpXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm91dHB1dCBmaWxlIGAlcycgaXMgYSBsaW5rXG4iCisiVXNlIC0tZm9yY2UgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC5cbiIKKyJQcm9ncmFtIG5vdCBzdGFydGVkLiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgZG9uZSwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MjYyCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCB3cml0ZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiZXppbiBkYSAlcyBgdHlwZXNjcmlwdCcgZml0eGF0ZWdpYSBpcmVraSIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXMiCittc2dzdHIgIiAgICAgICAgZGlza28gZ3V6dGlhbi4gIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjUxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNjcmlwdCBkb25lIG9uICVzIgorbXNnc3RyICIgICAgICAgIGRpc2tvIGd1enRpYW4uICIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2MDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJlemluIGRpcmEgYm9vdGJpdCBzZWt0b3JlYWsgZXphYmF0dSIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2MTQKKyMsIGZ1enp5Cittc2dpZCAib3BlbnB0eSBmYWlsZWQiCittc2dzdHIgInN0YXQtZWsgaHV0cyBlZ2luIGR1OiAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2NTIKKyMsIGZ1enp5Cittc2dpZCAib3V0IG9mIHB0eSdzIgorbXNnc3RyICIlczogTWVtb3JpYXoga2FucG8hXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFstdF0gdGltaW5nZmlsZSBbdHlwZXNjcmlwdF0gW2Rpdmlzb3JdXG4iCittc2dzdHIgImV6aW4gZGEgJXMgYHR5cGVzY3JpcHQnIGZpdHhhdGVnaWEgaXJla2kiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDcKK21zZ2lkICJQbGF5IGJhY2sgdGVybWluYWwgdHlwZXNjcmlwdHMsIHVzaW5nIHRpbWluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjUwCittc2dpZCAiIgorIiAtdCwgLS10aW1pbmcgPGZpbGU+ICAgICBzY3JpcHQgdGltaW5nIG91dHB1dCBmaWxlXG4iCisiIC1zLCAtLXR5cGVzY3JpcHQgPGZpbGU+IHNjcmlwdCB0ZXJtaW5hbCBzZXNzaW9uIG91dHB1dCBmaWxlXG4iCisiIC1kLCAtLWRpdmlzb3IgPG51bT4gICAgIHNwZWVkIHVwIG9yIHNsb3cgZG93biBleGVjdXRpb24gd2l0aCB0aW1lIGRpdmlzb3JcbiIKKyIgLW0sIC0tbWF4ZGVsYXkgPG51bT4gICAgd2FpdCBhdCBtb3N0IHRoaXMgbWFueSBzZWNvbmRzIGJldHdlZW4gdXBkYXRlc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTEyCittc2dpZCAid3JpdGUgdG8gc3Rkb3V0IGZhaWxlZCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIHN0ZG91dC1lcmEgaWRhenRlbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSBvbiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0eXBlc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxODQKKyMsIGZ1enp5Cittc2dpZCAid3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAiRXppbiBkYSAnJXMnIGZpdHhhdGVnaWEgaXJla2kiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHRpbWluZyBmaWxlICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWluZyBmaWxlICVzOiBsaW5lICVsdTogdW5leHBlY3RlZCBmb3JtYXQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJhcmd1bWVudCBlcnJvcjogYnJpZ2h0ICVzIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIiVkIGFiaWFkdXJhayBleiBkdSBldXNrYXJyaXJpayIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI4CisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IHRhYnMiCittc2dzdHIgIiVzOiBhcmd1bWVudHUgZ2VoaWVnaVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODMKK21zZ2lkICJTZXQgdGhlIGF0dHJpYnV0ZXMgb2YgYSB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODYKK21zZ2lkICIgLS10ZXJtICAgICAgICAgIDx0ZXJtaW5hbF9uYW1lPiAgIG92ZXJyaWRlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODcKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCB0byBwb3dlci1vbiBzdGF0ZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OAorIywgZnV6enkKK21zZ2lkICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5pdCBzdHJpbmcsIGFuZCB1c2UgZGVmYXVsdCBzZXR0aW5nc1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OQorIywgZnV6enkKK21zZ2lkICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBkZWZhdWx0IHRlcm1pbmFsIHNldHRpbmdzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkwCittc2dpZCAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgdGVybWluYWwgc2V0dGluZ3MgYXMgZGVmYXVsdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MQorIywgZnV6enkKK21zZ2lkICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGRpc3BsYXkgY3Vyc29yXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkyCisjLCBmdXp6eQorbXNnaWQgIiAtLXJlcGVhdCAgICAgICAgW29ufG9mZl0gICAgICAgICAga2V5Ym9hcmQgcmVwZWF0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkzCittc2dpZCAiIC0tYXBwY3Vyc29ya2V5cyBbb258b2ZmXSAgICAgICAgICBjdXJzb3Iga2V5IGFwcGxpY2F0aW9uIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTQKK21zZ2lkICIgLS1saW5ld3JhcCAgICAgIFtvbnxvZmZdICAgICAgICAgIGNvbnRpbnVlIG9uIGEgbmV3IGxpbmUgd2hlbiBhIGxpbmUgaXMgZnVsbFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NQorbXNnaWQgIiAtLWludmVyc2VzY3JlZW4gW29ufG9mZl0gICAgICAgICAgc3dhcCBjb2xvcnMgZm9yIHRoZSB3aG9sZSBzY3JlZW5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTYKK21zZ2lkICIgLS1mb3JlZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBmb3JlZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk3Cittc2dpZCAiIC0tYmFja2dyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgYmFja2dyb3VuZCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OAorbXNnaWQgIiAtLXVsY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IHVuZGVybGluZWQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OQorbXNnaWQgIiAtLWhiY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IGJvbGQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMAorbXNnaWQgIiAgICAgICAgICAgICAgICAgPGNvbG9yPjogYmxhY2sgYmx1ZSBjeWFuIGdyZWVuIGdyZXkgbWFnZW50YSByZWQgd2hpdGUgeWVsbG93XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAxCisjLCBmdXp6eQorbXNnaWQgIiAtLWJvbGQgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYm9sZFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMgorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAzCittc2dpZCAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlua1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNAorIywgZnV6enkKK21zZ2lkICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHVuZGVybGluZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNQorbXNnaWQgIiAtLXJldmVyc2UgICAgICAgW29ufG9mZl0gICAgICAgICAgc3dhcCBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9yc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNgorIywgZnV6enkKK21zZ2lkICIgLS1jbGVhciAgICAgICAgIFthbGx8cmVzdF0gICAgICAgIGNsZWFyIHNjcmVlbiBhbmQgc2V0IGN1cnNvciBwb3NpdGlvblxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNworIywgZnV6enkKK21zZ2lkICIgLS10YWJzICAgICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIHNldCB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIHNob3cgdGhlbVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOAorIywgZnV6enkKK21zZ2lkICIgLS1jbHJ0YWJzICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIGNsZWFyIHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3IgYWxsXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA5CisjLCBmdXp6eQorbXNnaWQgIiAtLXJlZ3RhYnMgICAgICAgWzEtMTYwXSAgICAgICAgICAgc2V0IGEgcmVndWxhciB0YWIgc3RvcCBpbnRlcnZhbFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMAorbXNnaWQgIiAtLWJsYW5rICAgICAgICAgWzAtNjB8Zm9yY2V8cG9rZV0gc2V0IHRpbWUgb2YgaW5hY3Rpdml0eSBiZWZvcmUgc2NyZWVuIGJsYW5rc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMQorbXNnaWQgIiAtLWR1bXAgICAgICAgICAgWzxudW1iZXI+XSAgICAgICAgd3JpdGUgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEyCittc2dpZCAiIC0tYXBwZW5kICAgICAgICBbPG51bWJlcj5dICAgICAgICBhcHBlbmQgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEzCittc2dpZCAiIC0tZmlsZSAgICAgICAgICA8ZmlsZW5hbWU+ICAgICAgICBuYW1lIG9mIHRoZSBkdW1wIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBzZW5kIGtlcm5lbCBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE1CisjLCBmdXp6eQorbXNnaWQgIiAtLW1zZ2xldmVsICAgICAgMC04ICAgICAgICAgICAgICAga2VybmVsIGNvbnNvbGUgbG9nIGxldmVsXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE2Cittc2dpZCAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQgdmVzYSBwb3dlcnNhdmluZyBmZWF0dXJlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICBMZWhlbmEgICAgIEF6a2VuYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTgKK21zZ2lkICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIHNldCB2ZXNhIHBvd2VyZG93biBpbnRlcnZhbCBpbiBtaW51dGVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE5Cittc2dpZCAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICBkdXJhdGlvbiBvZiB0aGUgYmVsbCBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjAKK21zZ2lkICIgLS1iZnJlcSAgICAgICAgIDxudW1iZXI+ICAgICAgICAgIGJlbGwgZnJlcXVlbmN5IGluIEhlcnR6XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIxCisjLCBmdXp6eQorbXNnaWQgIiAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAgc2hvdyB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgIExlaGVuYSAgICAgQXprZW5hXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMgorIywgZnV6enkKK21zZ2lkICIgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDMwCittc2dpZCAiZHVwbGljYXRlIHVzZSBvZiBhbiBvcHRpb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzM0CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmb3JjZSBibGFuayIKK21zZ3N0ciAiRXppbiBkYSAnJXMnIGZpdHhhdGVnaWEgaXJla2kiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjczOQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZm9yY2UgdW5ibGFuayIKK21zZ3N0ciAiRXppbiBkYSAnJXMnIGZpdHhhdGVnaWEgaXJla2kiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0NQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IGJsYW5rIHN0YXR1cyIKK21zZ3N0ciAiRXppbiBkYSBkaXNrb2FyZW4gdGFtYWludWEgbG9ydHUiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuIG5vdCBvcGVuIGR1bXAgZmlsZSAlcyBmb3Igb3V0cHV0IgorbXNnc3RyICJFemluIGRhICByYXcgZ2FpbHUgbmFndXNpYSBpcmVraSAnIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsICVzIGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgIiIKKyJcbiIKKyJFeiBkYSBzd2FwIHBhcnRpemlvcmlrIGV4aXN0aXR6ZW4uXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjk4OAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgKHVuKXNldCBwb3dlcnNhdmUgbW9kZSIKK21zZ3N0ciAiRXppbiBkYSBkaXNrb2FyZW4gdGFtYWludWEgbG9ydHUiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwMDcgdGVybS11dGlscy9zZXR0ZXJtLmM6MTAxNgorIywgZnV6enkKK21zZ2lkICJrbG9nY3RsIGVycm9yIgorbXNnc3RyICJjcmMgZXJyb3JlYSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTAzNworbXNnaWQgIiRURVJNIGlzIG5vdCBkZWZpbmVkLiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDQ0Cittc2dpZCAidGVybWluZm8gZGF0YWJhc2UgY2Fubm90IGJlIGZvdW5kIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIHRlcm1pbmFsIHR5cGUiCittc2dzdHIgIiVzOiAlcyBzZWluYWxlIGV6ZXphZ3VuYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDQ4Cittc2dpZCAidGVybWluYWwgaXMgaGFyZGNvcHkiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy90dHltc2cuYzo4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHRvbyBtYW55IGlvdidzIgorbXNnc3RyICJiYXJuZSBlcnJvcmVhIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJleGNlc3NpdmVseSBsb25nIGxpbmUgYXJnIgorbXNnc3RyICJoZXhkdW1wOiBsZXJyb2EgbHV6ZWVnaWEgZGEuXG4iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVuIGZhaWxlZCIKK21zZ3N0ciAib3Blbi1layBodXRzIGVnaW4gZHU6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZm9yazogJW0iCittc2dzdHIgImZvcms6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZm9yayIKK21zZ3N0ciAiZXppbiBkYSBmb3JrIGVnaW4iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCQUQgRVJST1IsIG1lc3NhZ2UgaXMgZmFyIHRvbyBsb25nIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gfCA8bWVzc2FnZT5dXG4iCittc2dzdHIgImF1a2VyYSBiYWxpb2dhcnJpYWs6IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4NgorbXNnaWQgIldyaXRlIGEgbWVzc2FnZSB0byBhbGwgdXNlcnMuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODkKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIGRvIG5vdCBwcmludCBiYW5uZXIsIHdvcmtzIG9ubHkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEVyYWt1dHNpIHBhcnRpemlvIHRhdWxhIHBhbnRhaWxhbiBlZG8gaWRhdHppIGZpdHhhdGVnaXJlbiBiYXRlYW4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjkwCittc2dpZCAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEzMgorbXNnaWQgIi0tbm9iYW5uZXIgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIHJvb3QiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6MTM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJyZW5pY2U6ICVzOiBiYWxpbyBva2VycmFcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6MjY5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgcGFzc3dkIHVpZCIKK21zZ3N0ciAiRXppbiBkYSBkaXNrb2FyZW4gdGFtYWludWEgbG9ydHUiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjI3NAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IHR0eSBuYW1lIgorbXNnc3RyICJFemluIGRhIGRpc2tvYXJlbiB0YW1haW51YSBsb3J0dSIKKworIzogdGVybS11dGlscy93YWxsLmM6Mjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXNAJXMgKCVzKSAoJXMpOiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgcmVhZCAlcyAtIHVzZSBzdGRpbi4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1c2VyPiBbPHR0eW5hbWU+XVxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo5MAorbXNnaWQgIlNlbmQgYSBtZXNzYWdlIHRvIGFub3RoZXIgdXNlci5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgImVmZmVjdGl2ZSBnaWQgZG9lcyBub3QgbWF0Y2ggZ3JvdXAgb2YgJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiIKK21zZ3N0ciAiTWFya2F0dSBlcmFiaWxpYSBkYWdvZWxhIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjA3Cittc2dpZCAiY2FuJ3QgZmluZCB5b3VyIHR0eSdzIG5hbWUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBsb2dnZWQgaW4gbW9yZSB0aGFuIG9uY2U7IHdyaXRpbmcgdG8gJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIzOAorIywgZnV6enkKK21zZ2lkICJjYXJlZnVscHV0YyBmYWlsZWQiCittc2dzdHIgImNhbGxvYy1layBodXRzIGVnaW4gZHUiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIChhcyAlcykgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozMzEKK21zZ2lkICJ5b3UgaGF2ZSB3cml0ZSBwZXJtaXNzaW9uIHR1cm5lZCBvZmYiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiBvbiAlcyIKK21zZ3N0ciAiUGFydGl6aW8gaGF1IGRhZ29lbmVrbyBlcmFiaWxpdGEgZGFnbyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQgb24gJXMiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzQKK21zZ2lkICJGaWx0ZXIgb3V0IHJldmVyc2UgbGluZSBmZWVkcy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWIsIC0tbm8tYmFja3NwYWNlcyAgICBkbyBub3Qgb3V0cHV0IGJhY2tzcGFjZXNcbiIKKyIgLWYsIC0tZmluZSAgICAgICAgICAgICBwZXJtaXQgZm9yd2FyZCBoYWxmIGxpbmUgZmVlZHNcbiIKKyIgLXAsIC0tcGFzcyAgICAgICAgICAgICBwYXNzIHVua25vd24gY29udHJvbCBzZXF1ZW5jZXNcbiIKKyIgLWgsIC0tdGFicyAgICAgICAgICAgICBjb252ZXJ0IHNwYWNlcyB0byB0YWJzXG4iCisiIC14LCAtLXNwYWNlcyAgICAgICAgICAgY29udmVydCB0YWJzIHRvIHNwYWNlc1xuIgorIiAtbCwgLS1saW5lcyBOVU0gICAgICAgIGJ1ZmZlciBhdCBsZWFzdCBOVU0gbGluZXNcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtSCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxNDggdGV4dC11dGlscy9jb2xybS5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlcyByZWFkcyBmcm9tIHN0YW5kYXJkIGlucHV0IGFuZCB3cml0ZXMgdG8gc3RhbmRhcmQgb3V0cHV0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2wuYzoyMTIKKyMsIGZ1enp5Cittc2dpZCAiYmFkIC1sIGFyZ3VtZW50IgorbXNnc3RyICJjb2w6IC1sIGJhbGlvZ2FiZWtvIGFyZ3VtZW50dWEgJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW4ndCBiYWNrIHVwICVzLiIKK21zZ3N0ciAiRXppbiBkYSAnJXMnIGZpdHhhdGVnaWEgaXJla2kiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM3Cittc2dpZCAicGFzdCBmaXJzdCBsaW5lIgorbXNnc3RyICJsZWhlbiBsZXJyb2FyZW4gb25kb3JlbiIKKworIzogdGV4dC11dGlscy9jb2wuYzozMzcKK21zZ2lkICItLSBsaW5lIGFscmVhZHkgZmx1c2hlZCIKK21zZ3N0ciAiLS0gbGVycm9hIGRhZ29lbmVrbyBnYXJiaXR1dGEiCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODEgdGV4dC11dGlscy9jb2x1bW4uYzoxMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg0Cittc2dpZCAiRmlsdGVyIG5yb2ZmIG91dHB1dCBmb3IgQ1JUIHByZXZpZXdpbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NworbXNnaWQgIiAtLCAgLS1uby11bmRlcmxpbmluZyAgICBzdXBwcmVzcyBhbGwgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg4CisjLCBmdXp6eQorbXNnaWQgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBwcmludCBhbGwgaGFsZi1saW5lc1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbc3RhcnRjb2wgW2VuZGNvbF1dXG4iCittc2dzdHIgImF1a2VyYSBiYWxpb2dhcnJpYWs6IgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjQKK21zZ2lkICJGaWx0ZXIgb3V0IHRoZSBzcGVjaWZpZWQgY29sdW1ucy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg1CisjLCBmdXp6eQorbXNnaWQgImZpcnN0IGFyZ3VtZW50IgorbXNnc3RyICJzYXJyZXJhIG9rZXJyYVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgInNlY29uZCBhcmd1bWVudCIKK21zZ3N0ciAic2FycmVyYSBva2VycmFcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjAKK21zZ2lkICJDb2x1bW5hdGUgbGlzdHMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjMKK21zZ2lkICIgLWMsIC0tY29sdW1ucyA8d2lkdGg+ICAgIHdpZHRoIG9mIG91dHB1dCBpbiBudW1iZXIgb2YgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI0CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10YWJsZSAgICAgICAgICAgICAgY3JlYXRlIGEgdGFibGVcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyNQorbXNnaWQgIiAtcywgLS1zZXBhcmF0b3IgPHN0cmluZz4gcG9zc2libGUgdGFibGUgZGVsaW1pdGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI2Cittc2dpZCAiIgorIiAtbywgLS1vdXRwdXQtc2VwYXJhdG9yIDxzdHJpbmc+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zIHNlcGFyYXRvciBmb3IgdGFibGUgb3V0cHV0OyBkZWZhdWx0IGlzIHR3byBzcGFjZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyOAorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgIGZpbGwgcm93cyBiZWZvcmUgY29sdW1uc1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTgyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY29sdW1ucyBhcmd1bWVudCIKK21zZ3N0ciAiYmFsaW9nYWJla28gYXVrZXJhIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQyMgorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkIGlzIHRvbyBsb25nLCBvdXRwdXQgd2lsbCBiZSB0cnVuY2F0ZWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU1IHRleHQtdXRpbHMvbW9yZS5jOjIyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTgKK21zZ2lkICJEaXNwbGF5IGZpbGUgY29udGVudHMgaW4gaGV4YWRlY2ltYWwsIGRlY2ltYWwsIG9jdGFsLCBvciBhc2NpaS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjEKK21zZ2lkICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYyCittc2dpZCAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgb25lLWJ5dGUgY2hhcmFjdGVyIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjMKK21zZ2lkICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjQKK21zZ2lkICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjUKK21zZ2lkICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICB0d28tYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY2Cittc2dpZCAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NworbXNnaWQgIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHJldCBjb2xvciBmb3JtYXR0aW5nIHNwZWNpZmllcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzAKK21zZ2lkICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MQorbXNnaWQgIiAtZiwgLS1mb3JtYXQtZmlsZSA8ZmlsZT4gIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MgorbXNnaWQgIiAtbiwgLS1sZW5ndGggPGxlbmd0aD4gICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MworbXNnaWQgIiAtcywgLS1za2lwIDxvZmZzZXQ+ICAgICAgIHNraXAgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NAorbXNnaWQgIiAtdiwgLS1uby1zcXVlZXppbmcgICAgICAgIG91dHB1dCBpZGVudGljYWwgbGluZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtZGlzcGxheS5jOjM2NQorIywgZnV6enkKK21zZ2lkICJhbGwgaW5wdXQgZmlsZSBhcmd1bWVudHMgZmFpbGVkIgorbXNnc3RyICJlemFycmkgcnRjIGFsYXJtYSIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGJ5dGUgY291bnQgZm9yIGNvbnZlcnNpb24gY2hhcmFjdGVyICVzIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUlcyByZXF1aXJlcyBhIHByZWNpc2lvbiBvciBhIGJ5dGUgY291bnQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCBmb3JtYXQgeyVzfSIKK21zZ3N0ciAiaGV4ZHVtcDogeyVzfSBmb3JtYXR1IG9rZXJyYVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo3MAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29udmVyc2lvbiBjaGFyYWN0ZXIgJSUlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo0MzYKK21zZ2lkICJieXRlIGNvdW50IHdpdGggbXVsdGlwbGUgY29udmVyc2lvbiBjaGFyYWN0ZXJzIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbGluZS5jOjMzCittc2dpZCAiUmVhZCBvbmUgbGluZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMjgKK21zZ2lkICJBIGZpbGUgcGVydXNhbCBmaWx0ZXIgZm9yIENSVCB2aWV3aW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMQorIywgZnV6enkKK21zZ2lkICIgLWQgICAgICAgICAgZGlzcGxheSBoZWxwIGluc3RlYWQgb2YgcmluZ2luZyBiZWxsXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjMyCittc2dpZCAiIC1mICAgICAgICAgIGNvdW50IGxvZ2ljYWwgcmF0aGVyIHRoYW4gc2NyZWVuIGxpbmVzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjMzCisjLCBmdXp6eQorbXNnaWQgIiAtbCAgICAgICAgICBzdXBwcmVzcyBwYXVzZSBhZnRlciBmb3JtIGZlZWRcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEVyYWt1dHNpIHBhcnRpemlvIHRhdWxhIHBhbnRhaWxhbiBlZG8gaWRhdHppIGZpdHhhdGVnaXJlbiBiYXRlYW4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNAorIywgZnV6enkKK21zZ2lkICIgLWMgICAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEVyYWt1dHNpIHBhcnRpemlvIHRhdWxhIHBhbnRhaWxhbiBlZG8gaWRhdHppIGZpdHhhdGVnaXJlbiBiYXRlYW4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNQorIywgZnV6enkKK21zZ2lkICIgLXAgICAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEVyYWt1dHNpIHBhcnRpemlvIHRhdWxhIHBhbnRhaWxhbiBlZG8gaWRhdHppIGZpdHhhdGVnaXJlbiBiYXRlYW4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNgorbXNnaWQgIiAtcyAgICAgICAgICBzcXVlZXplIG11bHRpcGxlIGJsYW5rIGxpbmVzIGludG8gb25lXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM3Cittc2dpZCAiIC11ICAgICAgICAgIHN1cHByZXNzIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM4CisjLCBmdXp6eQorbXNnaWQgIiAtPG51bWJlcj4gICB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKK21zZ3N0ciAiU2FydHUgemlsaW5kcm8ga29wdXJ1YToiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOQorbXNnaWQgIiArPG51bWJlcj4gICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gbGluZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDAKK21zZ2lkICIgKy88c3RyaW5nPiAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIHNlYXJjaCBzdHJpbmcgbWF0Y2hcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1WICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICBMZWhlbmEgICAgIEF6a2VuYVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo0ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIC0lcyIKK21zZ3N0ciAiJXM6IFwiLSVjXCIgYXVrZXJhIGV6ZXphZ3VuYVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKiAlczogZGlyZWN0b3J5ICoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqICVzOiBkaXJla3RvcmlvYSAqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKioqKioqKiAlczogTm90IGEgdGV4dCBmaWxlICoqKioqKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKioqKioqKiAlczogRXogZGEgdGVzdHUgZml0eGF0ZWdpYSAqKioqKioqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1VzZSBxIG9yIFEgdG8gcXVpdF0iCittc2dzdHIgIltFcmFiaWxpIHEgZWRvIFEgaXJ0ZXRla29dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1Nb3JlLS0iCittc2dzdHIgIi0tR2VoaWFnby0tIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiKE5leHQgZmlsZTogJXMpIgorbXNnc3RyICIoSHVycmVuZ28gZml0eGF0ZWdpYTogJXMpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzIHNwYWNlIHRvIGNvbnRpbnVlLCAncScgdG8gcXVpdC5dIgorbXNnc3RyICJbU2FrYXR1IHp1cml1bmUtYmFycmEgamFycmFpdHpla28sICdxJyBpcnRldGVrby5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMTYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIuLi5iYWNrICVkIHBhZ2UiCittc2dpZF9wbHVyYWwgIi4uLmJhY2sgJWQgcGFnZXMiCittc2dzdHJbMF0gIi4uLiAlZCBvcnJpIGF0emVyYSIKK21zZ3N0clsxXSAiLi4uICVkIG9ycmkgYXR6ZXJhIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIuLi5za2lwcGluZyAlZCBsaW5lIgorbXNnaWRfcGx1cmFsICIuLi5za2lwcGluZyAlZCBsaW5lcyIKK21zZ3N0clswXSAiLi4uc2FsdGF0dSAlZCBsZXJybyIKK21zZ3N0clsxXSAiLi4uc2FsdGF0dSAlZCBsZXJybyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI0OAorbXNnaWQgIiIKKyJcbiIKKyIqKipCYWNrKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKipBdHplcmEqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI2MworIywgZnV6enkKK21zZ2lkICJObyBwcmV2aW91cyByZWd1bGFyIGV4cHJlc3Npb24iCittc2dzdHIgIkV6IGRhZ28gYXVycmVrbyBmaXR4YXRlZ2lyaWsiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyOTMKK21zZ2lkICIiCisiXG4iCisiTW9zdCBjb21tYW5kcyBvcHRpb25hbGx5IHByZWNlZGVkIGJ5IGludGVnZXIgYXJndW1lbnQgay4gIERlZmF1bHRzIGluIGJyYWNrZXRzLlxuIgorIlN0YXIgKCopIGluZGljYXRlcyBhcmd1bWVudCBiZWNvbWVzIG5ldyBkZWZhdWx0LlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzMDAKK21zZ2lkICIiCisiPHNwYWNlPiAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXSpcbiIKKyI8cmV0dXJuPiAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFsxXSpcbiIKKyJkIG9yIGN0cmwtRCAgICAgICAgICAgICBTY3JvbGwgayBsaW5lcyBbY3VycmVudCBzY3JvbGwgc2l6ZSwgaW5pdGlhbGx5IDExXSpcbiIKKyJxIG9yIFEgb3IgPGludGVycnVwdD4gICBFeGl0IGZyb20gbW9yZVxuIgorInMgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIGxpbmVzIG9mIHRleHQgWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorImIgb3IgY3RybC1CICAgICAgICAgICAgIFNraXAgYmFja3dhcmRzIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIHBsYWNlIHdoZXJlIHByZXZpb3VzIHNlYXJjaCBzdGFydGVkXG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGxpbmUgbnVtYmVyXG4iCisiLzxyZWd1bGFyIGV4cHJlc3Npb24+ICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiByZWd1bGFyIGV4cHJlc3Npb24gWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiBsYXN0IHIuZSBbMV1cbiIKKyIhPGNtZD4gb3IgOiE8Y21kPiAgICAgICBFeGVjdXRlIDxjbWQ+IGluIGEgc3Vic2hlbGxcbiIKKyJ2ICAgICAgICAgICAgICAgICAgICAgICBTdGFydCB1cCAvdXNyL2Jpbi92aSBhdCBjdXJyZW50IGxpbmVcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICBSZWRyYXcgc2NyZWVuXG4iCisiOm4gICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIG5leHQgZmlsZSBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggcHJldmlvdXMgZmlsZSBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlclxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIFJlcGVhdCBwcmV2aW91cyBjb21tYW5kXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTM3MyB0ZXh0LXV0aWxzL21vcmUuYzoxMzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyAnaCcgZm9yIGluc3RydWN0aW9ucy5dIgorbXNnc3RyICJbU2FrYXR1ICdoJyBhcmdpYmlkZWVudHphdC5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBsaW5lICVkIgorbXNnc3RyICJcIiVzXCIgJWQgbGVycm9hIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDEyCisjLCBjLWZvcm1hdAorbXNnaWQgIltOb3QgYSBmaWxlXSBsaW5lICVkIgorbXNnc3RyICJbRXogZGEgZml0eGF0ZWdpYV0gJWQgbGVycm9hIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDk0Cittc2dpZCAiICBPdmVyZmxvd1xuIgorbXNnc3RyICIgR2FpbmV6a2F0emVhXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1NDMKK21zZ2lkICIuLi5za2lwcGluZ1xuIgorbXNnc3RyICIuLi5zYWx0byBlZ2l0ZW5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU3NworbXNnaWQgIiIKKyJcbiIKKyJQYXR0ZXJuIG5vdCBmb3VuZFxuIgorbXNnc3RyICIiCisiXG4iCisiUGF0cm9pYSBleiBkYSBhdXJraXR1XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1ODMgdGV4dC11dGlscy9wZy5jOjEwMjcgdGV4dC11dGlscy9wZy5jOjExNzMKK21zZ2lkICJQYXR0ZXJuIG5vdCBmb3VuZCIKK21zZ3N0ciAiUGF0cm9pYSBleiBkYSBhdXJraXR1IgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjI5Cittc2dpZCAiZXhlYyBmYWlsZWRcbiIKK21zZ3N0ciAiZXhlYy1layBodXRzIGVnaW4gZHVcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY0MworbXNnaWQgImNhbid0IGZvcmtcbiIKK21zZ3N0ciAiZXppbiBkYSBmb3JrIGVnaW5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY3NworbXNnaWQgIiIKKyJcbiIKKyIuLi5Ta2lwcGluZyAiCittc2dzdHIgIiIKKyJcbiIKKyIuLi5zYWx0byBlZ2l0ZW4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2ODEKK21zZ2lkICIuLi5Ta2lwcGluZyB0byBmaWxlICIKK21zZ3N0ciAiLi4uZml0eGF0ZWdpcmEgc2FsdG8gZWdpdGVuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjgzCittc2dpZCAiLi4uU2tpcHBpbmcgYmFjayB0byBmaWxlICIKK21zZ3N0ciAiLi4uYXR6ZXJhIGZpdHhhdGVnaXJhIHNhbHRvIGVnaXRlbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTk3MworbXNnaWQgIkxpbmUgdG9vIGxvbmciCittc2dzdHIgIkxlcnJvYSBsdXplZWdpYSBkYSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjAxMAorbXNnaWQgIk5vIHByZXZpb3VzIGNvbW1hbmQgdG8gc3Vic3RpdHV0ZSBmb3IiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjE0NAorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBoICAgICAgICAgICAgICAgICAgICAgICB0aGlzIHNjcmVlblxuIgorIiAgcSBvciBRICAgICAgICAgICAgICAgICAgcXVpdCBwcm9ncmFtXG4iCisiICA8bmV3bGluZT4gICAgICAgICAgICAgICBuZXh0IHBhZ2VcbiIKKyIgIGYgICAgICAgICAgICAgICAgICAgICAgIHNraXAgYSBwYWdlIGZvcndhcmRcbiIKKyIgIGQgb3IgXkQgICAgICAgICAgICAgICAgIG5leHQgaGFsZnBhZ2VcbiIKKyIgIGwgICAgICAgICAgICAgICAgICAgICAgIG5leHQgbGluZVxuIgorIiAgJCAgICAgICAgICAgICAgICAgICAgICAgbGFzdCBwYWdlXG4iCisiICAvcmVnZXgvICAgICAgICAgICAgICAgICBzZWFyY2ggZm9yd2FyZCBmb3IgcmVnZXhcbiIKKyIgID9yZWdleD8gb3IgXnJlZ2V4XiAgICAgIHNlYXJjaCBiYWNrd2FyZCBmb3IgcmVnZXhcbiIKKyIgIC4gb3IgXkwgICAgICAgICAgICAgICAgIHJlZHJhdyBzY3JlZW5cbiIKKyIgIHcgb3IgeiAgICAgICAgICAgICAgICAgIHNldCBwYWdlIHNpemUgYW5kIGdvIHRvIG5leHQgcGFnZVxuIgorIiAgcyBmaWxlbmFtZSAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IGZpbGUgdG8gZmlsZW5hbWVcbiIKKyIgICFjb21tYW5kICAgICAgICAgICAgICAgIHNoZWxsIGVzY2FwZVxuIgorIiAgcCAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gcHJldmlvdXMgZmlsZVxuIgorIiAgbiAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gbmV4dCBmaWxlXG4iCisiXG4iCisiTWFueSBjb21tYW5kcyBhY2NlcHQgcHJlY2VkaW5nIG51bWJlcnMsIGZvciBleGFtcGxlOlxuIgorIisxPG5ld2xpbmU+IChuZXh0IHBhZ2UpOyAtMTxuZXdsaW5lPiAocHJldmlvdXMgcGFnZSk7IDE8bmV3bGluZT4gKGZpcnN0IHBhZ2UpLlxuIgorIlxuIgorIlNlZSBwZygxKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyNgorbXNnaWQgIkJyb3dzZSBwYWdld2lzZSB0aHJvdWdoIHRleHQgZmlsZXMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyOQorbXNnaWQgIiAtbnVtYmVyICAgICAgbGluZXMgcGVyIHBhZ2VcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMwCittc2dpZCAiIC1jICAgICAgICAgICBjbGVhciBzY3JlZW4gYmVmb3JlIGRpc3BsYXlpbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMxCisjLCBmdXp6eQorbXNnaWQgIiAtZSAgICAgICAgICAgZG8gbm90IHBhdXNlIGF0IGVuZCBvZiBhIGZpbGVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEVyYWt1dHNpIHBhcnRpemlvIHRhdWxhIHBhbnRhaWxhbiBlZG8gaWRhdHppIGZpdHhhdGVnaXJlbiBiYXRlYW4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzIKK21zZ2lkICIgLWYgICAgICAgICAgIGRvIG5vdCBzcGxpdCBsb25nIGxpbmVzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMworbXNnaWQgIiAtbiAgICAgICAgICAgdGVybWluYXRlIGNvbW1hbmQgd2l0aCBuZXcgbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzQKK21zZ2lkICIgLXAgPHByb21wdD4gIHNwZWNpZnkgcHJvbXB0XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNQorbXNnaWQgIiAtciAgICAgICAgICAgZGlzYWxsb3cgc2hlbGwgZXNjYXBlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNgorbXNnaWQgIiAtcyAgICAgICAgICAgcHJpbnQgbWVzc2FnZXMgdG8gc3Rkb3V0XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNworbXNnaWQgIiArbnVtYmVyICAgICAgc3RhcnQgYXQgdGhlIGdpdmVuIGxpbmVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM4Cittc2dpZCAiICsvcGF0dGVybi8gICBzdGFydCBhdCB0aGUgbGluZSBjb250YWluaW5nIHBhdHRlcm5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gJXMiCittc2dzdHIgIiVzOiBhdWtlcmFrIGFyZ3VtZW50dWEgYmVoYXIgZHUgLS0gJXNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBvcHRpb24gLS0gJXMiCittc2dzdHIgIiVzOiBiYWltZW5payBnYWJla28gYXVrZXJhIC0tICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNTkKK21zZ2lkICIuLi5za2lwcGluZyBmb3J3YXJkXG4iCittc2dzdHIgIi4uLmF1cnJlcmEgc2FsdGF0emVuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjEKK21zZ2lkICIuLi5za2lwcGluZyBiYWNrd2FyZFxuIgorbXNnc3RyICIuLi5hdHplcmEgc2FsdGF0emVuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNzcKK21zZ2lkICJObyBuZXh0IGZpbGUiCittc2dzdHIgIkV6IGRhIHRlc3R1IGZpdHhhdGVnaWEiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODEKK21zZ2lkICJObyBwcmV2aW91cyBmaWxlIgorbXNnc3RyICJFeiBkYWdvIGF1cnJla28gZml0eGF0ZWdpcmlrIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yIGZyb20gJXMgZmlsZSIKK21zZ3N0ciAiJXM6IEVycm9yZWEgJXMgZml0eGF0ZWdpYSBpcmFrdXJ0emVuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgRU9GIGluICVzIGZpbGUiCittc2dzdHIgImV4ZWMgJXMtKGUpayBodXRzIGVnaW4gZHUiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gZXJyb3IgaW4gJXMgZmlsZSIKK21zZ3N0ciAiJXM6IFwiLSVjXCIgYXVrZXJhIGV6ZXphZ3VuYVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTQxCisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIiVzOiBFemluIGRhIGFsZGkgYmF0ZXJha28gZml0eGF0ZWdpYSBzb3J0dVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTUwIHRleHQtdXRpbHMvcGcuYzoxMTE0IHRleHQtdXRpbHMvcGcuYzoxMTQwCittc2dpZCAiUkUgZXJyb3I6ICIKK21zZ3N0ciAiUkUgZXJyb3JlYTogIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTA5NworbXNnaWQgIihFT0YpIgorbXNnc3RyICIoRU9GKSIKKworIzogdGV4dC11dGlscy9wZy5jOjExMjIgdGV4dC11dGlscy9wZy5jOjExNDgKK21zZ2lkICJObyByZW1lbWJlcmVkIHNlYXJjaCBzdHJpbmciCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjEyMDMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gIgorbXNnc3RyICJlemluIGRhICVzIGlyZWtpIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI1NQorbXNnaWQgInNhdmVkIgorbXNnc3RyICJnb3JkZXRhIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM0NQorbXNnaWQgIjogIWNvbW1hbmQgbm90IGFsbG93ZWQgaW4gcmZsYWcgbW9kZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM4MAorbXNnaWQgImZvcmsoKSBmYWlsZWQsIHRyeSBhZ2FpbiBsYXRlclxuIgorbXNnc3RyICJmb3JrKCktZWsgaHV0cyBlZ2luIGR1LCBzYWlhdHUgYmVyYW5kdWFnb1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTQ2OAorbXNnaWQgIihOZXh0IGZpbGU6ICIKK21zZ3N0ciAiKEh1cnJlbmdvIGZpdHhhdGVnaWE6ICIKKworIzogdGV4dC11dGlscy9wZy5jOjE1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXMgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU4NyB0ZXh0LXV0aWxzL3BnLmM6MTY2MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGxpbmVzIHBlciBwYWdlIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogdGV4dC11dGlscy9yZXYuYzo3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogdGV4dC11dGlscy9yZXYuYzo4MAorbXNnaWQgIlJldmVyc2UgbGluZXMgY2hhcmFjdGVyd2lzZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgImluY29tcGxldGUgd3JpdGUgdG8gXCIlc1wiICh3cml0dGVuICV6ZCwgZXhwZWN0ZWQgJXpkKVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaCAobGltaXQgb2YgaW5vdGlmeSB3YXRjaGVzIHdhcyByZWFjaGVkKS4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjE5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25dIDxmaWxlPlxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMDAKK21zZ2lkICJGb2xsb3cgdGhlIGdyb3d0aCBvZiBhIGxvZyBmaWxlLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLWxpbmVzIDxudW1iZXI+ICAgb3V0cHV0IHRoZSBsYXN0IDxudW1iZXI+IGxpbmVzXG4iCittc2dzdHIgIlNhcnR1IHppbGluZHJvIGtvcHVydWE6IgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjA0CisjLCBmdXp6eQorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICAgIHNhbWUgYXMgJy1uIDxudW1iZXI+J1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMTAKK21zZ2lkICJXYXJuaW5nOiB1c2Ugb2YgJ3RhaWxmJyBpcyBkZXByZWNhdGVkLCB1c2UgJ3RhaWwgLWYnIGluc3RlYWQuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIyMyB0ZXh0LXV0aWxzL3RhaWxmLmM6MjYzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6Mjc1CisjLCBmdXp6eQorbXNnaWQgIm5vIGlucHV0IGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICJFeiBkYSAtLWRhdGUgYXVrZXJhcmlrIHplaGF6dHUuXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBmaWxlIgorbXNnc3RyICJlcnJvIGlub2RvYSBleiBkYSBkaXJla3RvcmlvYSIKKworIzogdGV4dC11dGlscy91bC5jOjEzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IC4uLl1cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTM5Cittc2dpZCAiRG8gdW5kZXJsaW5pbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjE0MgorbXNnaWQgIiAtdCwgLVQsIC0tdGVybWluYWwgVEVSTUlOQUwgIG92ZXJyaWRlIHRoZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjE0MworbXNnaWQgIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICAgIHVuZGVybGluaW5nIGlzIGluZGljYXRlZCB2aWEgYSBzZXBhcmF0ZSBsaW5lXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjIwNAorbXNnaWQgInRyb3VibGUgcmVhZGluZyB0ZXJtaW5mbyIKK21zZ3N0ciAiYXJhem9hIHRlcm1pbmZvIGlyYWt1cnR6ZW4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgYCVzJyBpcyBub3Qga25vd24sIGRlZmF1bHRpbmcgdG8gYGR1bWInIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBlc2NhcGUgc2VxdWVuY2UgaW4gaW5wdXQ6ICVvLCAlbyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6NjI0CisjLCBmdXp6eQorbXNnaWQgIklucHV0IGxpbmUgdG9vIGxvbmcuIgorbXNnc3RyICJTYXJyZXJhIGxlcnJvIGx1emVlZ2lhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIHNlY2NvbXAgY29udGV4dCIKKyN+IG1zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGFkZCBzZWNjb21wIHJ1bGUiCisjfiBtc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBsb2FkIHNlY2NvbXAgcnVsZSIKKyN+IG1zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmlsZXN5c3RlbSBsYWJlbDoiCisjfiBtc2dzdHIgIlNhcnR1IGZpdHhhdGVnaSBzaXN0ZW1hIG1vZXRhOiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHNldCBQQVRIIgorI34gbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJhcmd1bWVudCBlcnJvcjogJXMiCisjfiBtc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0dHkgcGF0aCAlcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiU2FycmVyYSBsZXJybyBsdXplZWdpYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJiYWQgdGltZW91dCB2YWx1ZTogJXMiCisjfiBtc2dzdHIgInJlbmljZTogJXM6IGJhbGlvIG9rZXJyYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIgorI34gbXNnc3RyICJjcmMgZXJyb3JlYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3I6IGlnbm9yZSBlbnRyeSBhdCBsaW5lICVkLiIKKyN+IG1zZ3N0ciAiY3JjIGVycm9yZWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG5vdCBzZXR1cCB0aW1lciIKKyN+IG1zZ3N0ciAiZXppbiBkYSAlcyBpcmVraSIKKworI34gbXNnaWQgInNhbWUiCisjfiBtc2dzdHIgImJlcmRpbmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGFjY2VzcyBmaWxlICVzIgorI34gbXNnc3RyICJFemluIGRhICclcycgZml0eGF0ZWdpYSBpcmVraSIKKworI34gbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIHNwZWNpYWwgZGV2aWNlIgorI34gbXNnc3RyICIlcyBleiBkYSBibG9rZSBnYWlsdSBiZXJlemlhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBkZXZpY2UgaXMgbWlzYWxpZ25lZCIKKyN+IG1zZ3N0ciAiJXM6ICVzOiBnYWlsdWEgb2t1cGF0dWEgZGFnbyIKKworI34gbXNnaWQgIk9TLzIgaGlkZGVuIEM6IGRyaXZlIgorI34gbXNnc3RyICJPUy8yIGhpZGRlbiBDOiBkcml2ZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGdldCBkZXZpY2UgcGF0aCIKKyN+IG1zZ3N0ciAiZXppbiBkaXJhIGJvb3RiaXQgc2VrdG9yZWFrIGV6YWJhdHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVua25vd24gZGV2aWNlIG5hbWUiCisjfiBtc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGdldCBkbSBuYW1lIgorI34gbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyAgLiUwNmQgc2Vjb25kc1xuIgorI34gbXNnc3RyICIlcyAgJS42ZiBzZWd1bmR1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgImV6aW4gaXphbiBkYSBuYWhpa29hIGJ1ZmZlciBtZW1vcmlhIGVzbGVpdHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzIGZvciBtYXBzIgorI34gbXNnc3RyICJlemluIGl6YW4gZGEgbmFoaWtvYSBidWZmZXIgbWVtb3JpYSBlc2xlaXR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCisjfiBtc2dzdHIgImV6aW4gaXphbiBkYSBuYWhpa29hIGJ1ZmZlciBtZW1vcmlhIGVzbGVpdHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTnVtYmVyIG9mIFNlbWFwaG9yZSBJRHMiCisjfiBtc2dzdHIgIlNla3RvcmUga29wdXJ1YSBwaXN0YWtvIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLWMgfCAtbCBmaWxlbmFtZV0gWy1uWFhdIFstaVhYXSAvZGV2L25hbWUgW2Jsb2Nrc10iCisjfiBtc2dzdHIgIkVyYWJpbGVyYTogJXMgWy1jIHwgLWwgZml0eGF0ZWdpLWl6ZW5hXSBbLW5YWF0gWy1pWFhdIC9kZXYvaXplbmEgW2Jsb2tlYWtdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGJhZCBpbm9kZSBzaXplIgorI34gbXNnc3RyICJUYW1haW51YSAoTUJ0YW4pOiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHlwZTogJWQiCisjfiBtc2dzdHIgIm1vZXRhOiAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImRpc2s6ICUuKnMiCisjfiBtc2dzdHIgImRpc2tvYTogJS4qc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxhYmVsOiAlLipzIgorI34gbXNnc3RyICJldGlrZXRhOiAlLipzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmxhZ3M6ICVzIgorI34gbXNnc3RyICJhZGllcmF6Z2FycmlhazoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYnl0ZXMvc2VjdG9yOiAlbGQiCisjfiBtc2dzdHIgImJ5dGUtYWsgc2VrdG9yZWtvOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWN0b3JzL3RyYWNrOiAlbGQiCisjfiBtc2dzdHIgInNla3RvcmVhayBwaXN0YWtvOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmFja3MvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAicGlzdGFrIHppbGluZHJva286ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlY3RvcnMvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAic2VrdG9yZWFrL3ppbGluZHJvYTogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3lsaW5kZXJzOiAlbGQiCisjfiBtc2dzdHIgInppbGluZHJvYWs6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJwbTogJWQiCisjfiBtc2dzdHIgInJwbTogJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnRlcmxlYXZlOiAlZCIKKyN+IG1zZ3N0ciAidGFydGVrYXR6ZWE6ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHJhY2tza2V3OiAlZCIKKyN+IG1zZ3N0ciAicGlzdGEgc2tldy1lYTogJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjeWxpbmRlcnNrZXc6ICVkIgorI34gbXNnc3RyICJ6aWxpbmRybyBza2V3LWVhOiAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImhlYWRzd2l0Y2g6ICVsZCAobWlsbGlzZWNvbmRzKSIKKyN+IG1zZ3N0ciAiaGVhZHN3aXRjaDogJWxkXHRcdCMgbWlsaXNlZ3VuZHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmFjay10by10cmFjayBzZWVrOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgInBpc3RhdGlrIHBpc3RhcmEgYmlsYWtldGE6ICVsZFx0IyBtaWxpc2VndW5kdVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbnM6ICVkIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiJWQgcGFydGl6aW86XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkxhYmVsIGdlb21ldHJ5OiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzXG4iCisjfiAiICAgICAgICAgICAgICAgICVsbHUgY3lsaW5kZXJzLCAlZCBwaHlzaWNhbCBjeWxpbmRlcnNcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWQgZXh0cmEgc2VjdHMvY3lsLCBpbnRlcmxlYXZlICVkOjFcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIiVzIGRpc2tvYTogJWQgYnVydSwgJWxsdSBzZWt0b3JlLCAlZCB6aWxpbmRyb1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIjxub25lPiIKKyN+IG1zZ3N0ciAiZXoiCisKKyN+IG1zZ2lkICJnZXR0aW1lb2ZkYXkgZmFpbGVkIgorI34gbXNnc3RyICJnZXR0aW1lb2ZkYXktZWsgaHV0cyBlZ2luIGR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgInN5c2luZm8gZmFpbGVkIgorI34gbXNnc3RyICJmc3luYy1layBodXRzIGVnaW4gZHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IG1tYXAgZmFpbGVkIgorI34gbXNnc3RyICIlczogc3dhcG9uLWVrIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgIHN0aWxsIGxvZ2dlZCBpbiIKKyN+IG1zZ3N0ciAiTWFya2F0dSBlcmFiaWxpYSBkYWdvZWxhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJ3dG1wIGJlZ2lucyAlcyIKKyN+IG1zZ3N0ciAiUGFydGl6aW9hIDAgc2VrdG9yZWEgYmFpbmEgbGVoZW5hZ28gaGFzdGVuIGRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgImdldGhvc3RuYW1lIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZXJyb3JlYTogdW5hbWUtayBodXRzIGVnaW4gZHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWF1dG8vLWEgb3B0aW9uIgorI34gbXNnc3RyICJiYWxpb2dhYmVrbyBpZC1hOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNldCBydGMgYWxhcm0gZmFpbGVkIgorI34gbXNnc3RyICJlemFycmkgcnRjIGFsYXJtYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlbmFibGUgcnRjIGFsYXJtIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZXphcnJpIHJ0YyBhbGFybWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIHZhbHVlIgorI34gbXNnc3RyICJyZW5pY2U6ICVzOiBiYWxpbyBva2VycmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW0sIC0tbW91bnQgICAgICAgICAgICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdSwgLS11dHMgICAgICAgICAgICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorI34gbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1pLCAtLWlwYyAgICAgICAgICAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW4sIC0tbmV0ICAgICAgICAgICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgICAgICB1bnNoYXJlIHBpZCBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtVSwgLS11c2VyICAgICAgICAgICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlbSIKKyN+IG1zZ3N0ciAiZXppbiBkYSAlcyBpcmVraSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmcmVhZCBmYWlsZWQiCisjfiBtc2dzdHIgInJlYWQtZWsgaHV0cyBlZ2luIGR1OiAlcyIKKworI34gbXNnaWQgIkhlbHAgU2NyZWVuIGZvciBjZmRpc2siCisjfiBtc2dzdHIgImNmZGlzay1lbnR6YXQgbGFndW50emEgcGFudGFpbGEiCisKKyN+IG1zZ2lkICJkaXNrIGRyaXZlLiIKKyN+IG1zZ3N0ciAiZGlza28gdW5pdGF0ZWV0YW4uIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGBubyciCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBgZXonIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRvbyBzbWFsbCBwYXJ0aXRpb24gc2l6ZSBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJFeiBkYSBwYXJ0aXppb3JpayBkZWZpbml0dVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInN0YXQgZmFpbGVkICVzIgorI34gbXNnc3RyICJzdGF0LWVrIGh1dHMgZWdpbiBkdTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCisjfiBtc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuOiAlcyIKKyN+IG1zZ3N0ciAiZXppbiBkYSAlcyBpcmVraSIKKworI34gbXNnaWQgIiVzOiBzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IHN0YXQtZWsgaHV0cyBlZ2luIGR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBsc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiBzdGF0LWVrIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBmaWxlXG4iCisjfiBtc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTpcbiIKKyN+IG1zZ3N0ciAiRXJhYmlsZXJhOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbWtmcyg4KS5cbiIKKyN+IG1zZ3N0ciAiSXJ0ZXRlbiAtIGV6IGRhIGV6ZXIgYWxkYXR1XG4iCisKKyN+IG1zZ2lkICIlcyAoJXMpXG4iCisjfiBtc2dzdHIgIiVzICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGVycm9yIG9uICVzIC0gY2Fubm90IHNlZWsgdG8gJWx1IgorI34gbXNnc3RyICJFemluIGRhIGJpbGF0dSBkaXNrbyB1bml0YXRlYW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHNlY3RvciBzYXZlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAiZXppbiBkYSAlcyBgdGltaW5nJyBmaXR4YXRlZ2lhIGlyZWtpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGVycm9yIG9uICVzIgorI34gbXNnc3RyICJpZGF6a2V0YSBlcnJvcmVhICVzLShlKW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcykiCisjfiBtc2dzdHIgIkV6aW4gZGEgJyVzJyAoJXMpIHJhdyBtb2V0YWtvIGdhaWx1YSBhdXJraXR1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHJlc3RvcmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJlemluIGRhICVzIGB0aW1pbmcnIGZpdHhhdGVnaWEgaXJla2kiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgcmVhZGluZyAlcyIKKyN+IG1zZ3N0ciAiaXJha3Vya2V0YSBlcnJvcmVhICVzLShlKW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBkZXZpY2UgJXMgZm9yIHdyaXRpbmciCisjfiBtc2dzdHIgIkV6aW4gZGEgIHJhdyBnYWlsdSBuYWd1c2lhIGlyZWtpICciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3Igd3JpdGluZyBzZWN0b3IgJWx1IG9uICVzIgorI34gbXNnc3RyICJjcmMgZXJyb3JlYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJEaXNrICVzOiBjYW5ub3QgZ2V0IGdlb21ldHJ5IgorI34gbXNnc3RyICJFemluIGRhIGRpc2tvYXJlbiB0YW1haW51YSBsb3J0dSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJEaXNrICVzOiBjYW5ub3QgZ2V0IHNpemUiCisjfiBtc2dzdHIgIkV6aW4gZGEgZGlza29hcmVuIHRhbWFpbnVhIGxvcnR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbHUgY3lsaW5kZXJzLCAlbHUgaGVhZHMsICVsdSBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIkJ1cnVhazogJWQgICBTZWt0b3JlYWsgcGlzdGFrbzogJWQgICBaaWxpbmRyb2FrOiAlbGxkIgorCisjfiBtc2dpZCAiUmUtcmVhZGluZyB0aGUgcGFydGl0aW9uIHRhYmxlIC4uLlxuIgorI34gbXNnc3RyICJQYXJ0aXppbyB0YXVsYSBiZXJyaXogaXJha3VydHplbiAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGNvbW1hbmQgdG8gcmUtcmVhZCB0aGUgcGFydGl0aW9uIHRhYmxlIGZhaWxlZC5cbiIKKyN+ICJSdW4gcGFydHByb2JlKDgpLCBrcGFydHgoOCkgb3IgcmVib290IHlvdXIgc3lzdGVtIG5vdyxcbiIKKyN+ICJiZWZvcmUgdXNpbmcgbWtmcyIKKyN+IG1zZ3N0ciAiUGFydGl6aW8gdGF1bGEgaWRhdHppIGRhLCBiYWluYSB0YXVsYXJlbiBiZXJpcmFrdXJrZXRhayBodXRzIGVnaW4gZHUuIFNhaWF0dSBwYXJ0cHJvYmUoOCkgZWRvIGtwYXJ0eCg4KS1yZWtpbiBlZG8gYmVycmFiaWFyYXppIHNpc3RlbWEgdGF1bGEgYmVycml0emVrby4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXJyb3IgY2xvc2luZyAlcyIKKyN+IG1zZ3N0ciAiRXJyb3JlYSAlcyBpdHhpdHplcmFrb2FuXG4iCisKKyN+IG1zZ2lkICIlczogbm8gc3VjaCBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiJXM6IGV6IGRhZ28gaG9ycmVsYWtvIHBhcnRpemlvcmlrXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGZvcm1hdCAtIHVzaW5nIHNlY3RvcnMiCisjfiBtc2dzdHIgIklucHJpbWF0dSB0YXVsYSByYXcgZGF0dSBmb3JtYXR1YSBlcmFiaWxpeiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmltcGxlbWVudGVkIGZvcm1hdCAtIHVzaW5nICVzIgorI34gbXNnc3RyICJVVEMgb3JkdWEgZXJhYmlsdHplbi5cbiIKKworI34gbXNnaWQgInNlY3RvcnMiCisjfiBtc2dzdHIgInNla3RvcmVhayIKKworIywgZnV6enkKKyN+IG1zZ2lkICJubyBwYXJ0aXRpb24gdGFibGUgcHJlc2VudC4iCisjfiBtc2dzdHIgIlBhcnRpemlvIHRhdWxhIG1vZXRhIGV6ZXphZ3VuYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdHJhbmdlLCBvbmx5ICVkIHBhcnRpdGlvbnMgZGVmaW5lZC4iCisjfiBtc2dzdHIgIkV6IGRhIHBhcnRpemlvcmlrIGRlZmluaXR1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYnV0IGlzIG5vdCBtYXJrZWQgRW1wdHkiCisjfiBtc2dzdHIgIkV6aW4gZGEgcGFydGl6dSBodXRzIGJhdCBlemFiYXR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGFuZCBpcyBib290YWJsZSIKKyN+IG1zZ3N0ciAiRXppbiBkYSBwYXJ0aXp1IGh1dHMgYmF0IGV6YWJhdHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIG5vbnplcm8gc3RhcnQiCisjfiBtc2dzdHIgIkV6aW4gZGEgcGFydGl6dSBodXRzIGJhdCBlemFiYXR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBpcyBub3QgY29udGFpbmVkIGluIHBhcnRpdGlvbiAlcyIKKyN+IG1zZ3N0ciAiUGFydGl6aW8gaGF1IGRhZ29lbmVrbyBlcmFiaWxpdGEgZGFnbyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb25zICVzIGFuZCAlcyBvdmVybGFwIgorI34gbXNnc3RyICJFemluIGRhIHBhcnRpenUgaHV0cyBiYXQgZXphYmF0dSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgc3RhcnRzIGF0IHNlY3RvciAwIgorI34gbXNnc3RyICJQYXJ0aXppb2EgMCBzZWt0b3JlYSBiYWluYSBsZWhlbmFnbyBoYXN0ZW4gZGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGV4dGVuZHMgcGFzdCBlbmQgb2YgZGlzayIKKyN+IG1zZ3N0ciAiUGFydGl6aW9hIDAgc2VrdG9yZWEgYmFpbmEgbGVoZW5hZ28gaGFzdGVuIGRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5IgorI34gbXNnc3RyICIlcyBwYXJ0aXppb2FrIGhhc2llcmFrbyAwIHNla3RvcmUgYmFsaW9nYWJlYSBkYXVrYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZG9lcyBub3QgZW5kIGF0IGEgY3lsaW5kZXIgYm91bmRhcnkiCisjfiBtc2dzdHIgIiVzIHBhcnRpemlvYWsgaGFzaWVyYWtvIDAgc2VrdG9yZSBiYWxpb2dhYmVhIGRhdWthLlxuIgorCisjfiBtc2dpZCAic3RhcnQiCisjfiBtc2dzdHIgImhhc2llcmEiCisKKyN+IG1zZ2lkICJlbmQiCisjfiBtc2dzdHIgImFtYWllcmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uICVzIGVuZHMgb24gY3lsaW5kZXIgJWxkLCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZGlzayIKKyN+IG1zZ3N0ciAiJXMgcGFydGl6aW9hayBoYXNpZXJha28gMCBzZWt0b3JlIGJhbGlvZ2FiZWEgZGF1a2EuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHJlZSBvZiBwYXJ0aXRpb25zPyIKKyN+IG1zZ3N0ciAiUGFydGl6aW8gZ2VoaWVnaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdHJhbmdlLi4uLCBhbiBleHRlbmRlZCBwYXJ0aXRpb24gb2Ygc2l6ZSAwPyIKKyN+IG1zZ3N0ciAiICB1ICAgICAgICAgIEFsZGF0dSBlcmFrdXN0ZW4gZGVuIHBhcnRpemlvYXJlbiB0YW1haW51IHVuaXRhdGVhIgorCisjLCBmdXp6eQorI34gbXNnaWQgInN0cmFuZ2UuLi4sIGEgQlNEIHBhcnRpdGlvbiBvZiBzaXplIDA/IgorI34gbXNnc3RyICIgICBuICAgQlNEIHBhcnRpemlvIGJlcnJpIGJhdCBnZWhpdHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLW4gZmxhZyB3YXMgZ2l2ZW46IE5vdGhpbmcgY2hhbmdlZCIKKyN+IG1zZ3N0ciAiSXJ0ZXRlbiAtIGV6IGRhIGV6ZXIgYWxkYXR1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmFpbGVkIHdyaXRpbmcgdGhlIHBhcnRpdGlvbiBvbiAlcyIKKyN+IG1zZ3N0ciAiUGFydGl6aW8gdGF1bGEgZGlza29hbiBpZGF6dGVuLi4uIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVucmVjb2duaXplZCBpbnB1dDogJXMiCisjfiBtc2dzdHIgInNhcnJlcmEgb2tlcnJhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibnVtYmVyIHRvbyBiaWciCisjfiBtc2dzdHIgInplbmJha2kgaGFuZGllZ2lhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibm8gcm9vbSBmb3IgcGFydGl0aW9uIGRlc2NyaXB0b3IiCisjfiBtc2dzdHIgIkV6IGRhZ28gcGFydGl6aW8gZ2VoaWFnbyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgYnVpbGQgc3Vycm91bmRpbmcgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICJQYXJ0aXppbyBnZWhpZWdpIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRvbyBtYW55IGlucHV0IGZpZWxkcyIKKyN+IG1zZ3N0ciAib3JyaSB0eGFyIGdlaGllZ2kiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSWxsZWdhbCB0eXBlIgorI34gbXNnc3RyICJCYWxpb2dhYmVrbyBtb2V0YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiRXppbiBkYSBwYXJ0aXp1IGh1dHMgYmF0IGV6YWJhdHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogYmFkIHBhcnRpdGlvbiBzdGFydCAoZWFybGllc3QgJWxsdSkiCisjfiBtc2dzdHIgIlBhcnRpemlvIGdlaGllZ2kiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIG5vdCB3aGVyZSBleHBlY3RlZCIKKyN+IG1zZ3N0ciAiU29ydHUgcGFydGl6aW8gYmVycmlhIGxpYnJlIGRhZ29lbiBlc3BhemlvdGlrIgorCisjLCBmdXp6eQorI34gbXNnaWQgImJhZCBpbnB1dCIKKyN+IG1zZ3N0ciAic2FycmVyYSBva2VycmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0b28gbWFueSBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJwYXJ0aXppbyBnZWhpZWdpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8ZGV2aWNlPi4uLlxuIgorI34gbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRhbmdlcm91cyBvcHRpb25zOlxuIgorI34gbXNnc3RyICJhdWtlcmEgYmFsaW9nYXJyaWFrOiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMlc2RldmljZSAgICAgICAgICAgIGxpc3QgYWN0aXZlIHBhcnRpdGlvbnMgb24gZGV2aWNlXG4iCisjfiBtc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiBwYXJ0aXRpb25zIGFyZ3VtZW50IgorI34gbXNnc3RyICJiYWxpb2dhYmVrbyBsZXJybyBrb3B1cnVhIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiZXppbiBkYSAlcyBpcmVraVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1wcmludC1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciIKKyN+IG1zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgcmVhZC13cml0ZSIKKyN+IG1zZ3N0ciAiZXppbiBkYSBcIiVzXCIgaXJla2kgaXJha3Vya2V0YXJha28iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgZm9yIHJlYWRpbmciCisjfiBtc2dzdHIgImV6aW4gZGEgXCIlc1wiIGlyZWtpIGlyYWt1cmtldGFyYWtvIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBPSyIKKyN+IG1zZ3N0ciAiJXM6IE9LXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6ICVsZCBjeWxpbmRlcnMsICVsZCBoZWFkcywgJWxkIHNlY3RvcnMvdHJhY2tcbiIKKyN+IG1zZ3N0ciAiJWQgYnVydSwgJWxsdSBzZWt0b3JlIHBpc3Rha28sICVkIHppbGluZHJvIgorCisjfiBtc2dpZCAiRG9uZSIKKyN+IG1zZ3N0ciAiRWdpbmRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJhZCBJZCAlbHgiCisjfiBtc2dzdHIgImV6aW4gZGEgJXMgaWQtYSBlemFiYXR1ICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZS4iCisjfiBtc2dzdHIgIlBhcnRpemlvIGhhdSBkYWdvZW5la28gZXJhYmlsaXRhIGRhZ28iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmF0YWwgZXJyb3I6IGNhbm5vdCBmaW5kICVzIgorI34gbXNnc3RyICJFemluIGRhIGlyZWtpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk9LIgorI34gbXNnc3RyICJPS1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBleGlzdCwgY2Fubm90IGNoYW5nZSBpdCIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkV6IGRhIHN3YXAgcGFydGl6aW9yaWsgZXhpc3RpdHplbi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJRdWl0dGluZyAtIG5vdGhpbmcgY2hhbmdlZCIKKyN+IG1zZ3N0ciAiSXJ0ZXRlbiAtIGV6IGRhIGV6ZXIgYWxkYXR1XG4iCisKKyN+IG1zZ2lkICJQbGVhc2UgYW5zd2VyIG9uZSBvZiB5LG4scVxuIgorI34gbXNnc3RyICJNZXNlZGV6IGVyYW50enVuIHksbiBlZG8gcVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJTdWNjZXNzZnVsbHkgd3JvdGUgdGhlIG5ldyBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiUGFydGl6aW8gdGF1bGEgZGlza29hbiBpZGF0emkgZGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnkgRE9TIDYueCBwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBmZGlzayBkb2N1bWVudGF0aW9uIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk9IQVJSQTogRE9TIDYueCBwYXJ0aXppb3JlbiBiYXQgc29ydHUgZWRvIG1vZmlkaWthdHUgYmFkdXp1LFxuIgorI34gIm1lc2VkZXogaWt1c2kgY2ZkaXNrLWVuIGVza3VsaWJ1cnVhXG4iCisjfiAiaW5mb3JtYXppbyBnZWhpYWdvcmFrLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZpZWxkIGlzIHRvbyBsb25nIgorI34gbXNnc3RyICJlcmVtdWEgbHV6ZWVnaWEgZGEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6ICclYycgaXMgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIiclYycgZXogZGFnbyBvbmFydHV0YS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICInJWMnIGlzIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICInJWMnIGV6IGRhZ28gb25hcnR1dGEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNvbnRyb2wgY2hhcmFjdGVycyBhcmUgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIiclYycgZXogZGFnbyBvbmFydHV0YS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcy4iCisjfiBtc2dzdHIgIkV6IGRhZ28gcGFydGl6aW8gdGF1bGFyaWsuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub3RpbWV8c2hvcnR8ZnVsbHxpc29dXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgIExlaGVuYSAgICAgQXprZW5hXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGRldGFpbHMgc2VlIGxzbG9naW5zKDEpLlxuIgorI34gbXNnc3RyICJJcnRldGVuIC0gZXogZGEgZXplciBhbGRhdHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjcnlwdCgpIGZhaWxlZCIKKyN+IG1zZ3N0ciAibWFsbG9jKCktZWsgaHV0cyBlZ2luIGR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNPTU1BTkQgbm90IHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIkV6IGRhIC0tZGF0ZSBhdWtlcmFyaWsgemVoYXp0dS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIHBhdGhuYW1lIFtwYXRobmFtZSAuLi5dXG4iCisjfiBtc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogaXMgcmVtb3ZhYmxlIGRldmljZSIKKyN+IG1zZ3N0ciAiIGtlbmdhcnJpYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJubyBmaWxlbmFtZSBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJFeiBkYSAtLWRhdGUgYXVrZXJhcmlrIHplaGF6dHUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidGltZW91dCBjYW5ub3QgYmUgemVybyIKKyN+IG1zZ3N0ciAiZXppbiBkYSBsZXJyb2FyZW4gZGlzemlwbGluYSBlemFycmkiCisKKyN+IG1zZ2lkICJpb2N0bCBLRFNIV0NMSyBmYWlsZWQiCisjfiBtc2dzdHIgImlvY3RsIEtEU0hXQ0xLLWVrIGh1dHMgZWdpbiBkdSIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAiS0RHSFdDTEsgaW9jdGwtZWsgaHV0cyBlZ2luIGR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBkZXRhaWxzIHNlZSBsc2NwdSgxKS5cbiIKKyN+IG1zZ3N0ciAiSXJ0ZXRlbiAtIGV6IGRhIGV6ZXIgYWxkYXR1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3MuLi5dXG4iCisjfiBtc2dzdHIgImVyYWJpbGVyYTogJXMgYXBsaWthemlvYSBbYXJndW1lbnR1YSAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSByZW5pY2UoMSkuXG4iCisjfiBtc2dzdHIgIklydGV0ZW4gLSBleiBkYSBlemVyIGFsZGF0dVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyVzIFtvcHRpb25zXSBbcHJvZ3JhbSBbcHJvZ3JhbSBhcmd1bWVudHNdXVxuIgorI34gbXNnc3RyICIiCisjfiAiRXJhYmlsZXJhOiAlcyVzIFthdWtlcmFrXSBbYXBsaWthemlvYSBbYXBsaWthemlvYSBhcmd1bWVudHVha11dXG4iCisjfiAiXG4iCisjfiAiQXVrZXJhazpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworI34gbXNnaWQgIi4uLmJhY2sgMSBwYWdlIgorI34gbXNnc3RyICIuLi5vcnJpIGJhdCBhdHplcmEiCisKKyN+IG1zZ2lkICIuLi5za2lwcGluZyBvbmUgbGluZSIKKyN+IG1zZ3N0ciAiLi4uc2FsdGF0dSBsZXJybyBiYXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uXSBmaWxlXG4iCisjfiBtc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKKyN+IG1zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbiwgLS1uby1hcmd1bWVudCAgICAgICBvcHRpb24gZG9lcyBub3QgdXNlIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXIsIC0tcmVxdWlyZWQgPGFyZz4gICAgb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIiVzOiBhdWtlcmFrIGFyZ3VtZW50dWEgYmVoYXIgZHUgLS0gJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgIC0teHl6enkgICAgICAgICAgICAgYSBsb25nIG9wdGlvbiBvbmx5XG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgIExlaGVuYSAgICAgQXprZW5hXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc2VjdXRpdmUgbGluZXMgYXJlIGludGVuZGVkIGJ5IHR3byBzcGFjZXNcbiIKKyN+IG1zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZiwgLS1mb29iYXIgICAgICAgICAgICBuZXh0IG9wdGlvbiBkZXNjcmlwdGlvbiByZXNldHMgaW5kZW50XG4iCisjfiBtc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLS12ZXJzaW9uXG4iCisjfiBtc2dzdHIgIlsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvbXBpbGVkIHdpdGhvdXQgLXggc3VwcG9ydCIKKyN+IG1zZ3N0ciAiICAgICAgICAobGliYmxraWQgZ2FiZSBrb25waWxhdHVhKS4gIgorCisjfiBtc2dpZCAiJXM6IE91dCBvZiBtZW1vcnkhXG4iCisjfiBtc2dzdHIgIiVzOiBNZW1vcmlheiBrYW5wbyFcbiIKKworI34gbXNnaWQgIlVudXNhYmxlIgorI34gbXNnc3RyICJFemluIGVyYWJpbGkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZmFpbGVkXG4iCisjfiBtc2dzdHIgIndyaXRlLWsgaHV0cyBlZ2luIGR1OiAlcyIKKworI34gbXNnaWQgIkRpc2sgaGFzIGJlZW4gY2hhbmdlZC5cbiIKKyN+IG1zZ3N0ciAiRGlza29hIGFsZGF0dSBlZ2luIGRhLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IElmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55XG4iCisjfiAiRE9TIDYueCBwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBjZmRpc2sgbWFudWFsXG4iCisjfiAicGFnZSBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk9IQVJSQTogRE9TIDYueCBwYXJ0aXppb3JlbiBiYXQgc29ydHUgZWRvIG1vZmlkaWthdHUgYmFkdXp1LFxuIgorI34gIm1lc2VkZXogaWt1c2kgY2ZkaXNrLWVuIGVza3VsaWJ1cnVhXG4iCisjfiAiaW5mb3JtYXppbyBnZWhpYWdvcmFrLlxuIgorCisjfiBtc2dpZCAiRkFUQUwgRVJST1IiCisjfiBtc2dzdHIgIkVSUk9SRSBMQVJSSUEiCisKKyN+IG1zZ2lkICJQcmVzcyBhbnkga2V5IHRvIGV4aXQgY2ZkaXNrIgorI34gbXNnc3RyICJTYWthdHUgdGVrbGEgYmF0IGNmZGlzay1ldGlrIGlydGV0ZWtvIgorCisjfiBtc2dpZCAiQ2Fubm90IHNlZWsgb24gZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiRXppbiBkYSBiaWxhdHUgZGlza28gdW5pdGF0ZWFuIgorCisjfiBtc2dpZCAiQ2Fubm90IHJlYWQgZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiRXppbiBkYSBkaXNrbyB1bml0YXRlYSBpcmFrdXJyaSIKKworI34gbXNnaWQgIkNhbm5vdCB3cml0ZSBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJFemluIGRhIGRpc2tvIHVuaXRhdGVhbiBpZGF0emkiCisKKyN+IG1zZ2lkICJUb28gbWFueSBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJQYXJ0aXppbyBnZWhpZWdpIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGJlZ2lucyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIlBhcnRpemlvYSAwIHNla3RvcmVhIGJhaW5hIGxlaGVuYWdvIGhhc3RlbiBkYSIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGJlZm9yZSBzZWN0b3IgMCIKKyN+IG1zZ3N0ciAiUGFydGl6aW9hIDAgc2VrdG9yZWFyZW4gb25kb3JlbiBhbWFpdHplbiBkYSIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBiZWdpbnMgYWZ0ZXIgZW5kLW9mLWRpc2siCisjfiBtc2dzdHIgIlBhcnRpemlvYSBkaXNrby1hbWFpZXJhIGJhaW5hIGxlaGVuYWdvIGhhc3RlbiBkYSIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICJQYXJ0aXppb2EgZGlza28tYW1haWVyYSBiYWluYSBsZWhlbmFnbyBhbWFpdHplbiBkYSIKKworI34gbXNnaWQgImxvZ2ljYWwgcGFydGl0aW9ucyBub3QgaW4gZGlzayBvcmRlciIKKyN+IG1zZ3N0ciAicGFydGl6aW8gbG9naWtvYWsgZXogZGF1ZGUgZGlza28gb3JkZW5lYW4iCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAicGFydGl6aW8gbG9naWtvZW4gdGVpbGFrYXBlbmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZW5sYXJnZWQgbG9naWNhbCBwYXJ0aXRpb25zIG92ZXJsYXAiCisjfiBtc2dzdHIgInBhcnRpemlvIGxvZ2lrb2FrIGV6IGRhdWRlIGRpc2tvIG9yZGVuZWFuIgorCisjfiBtc2dpZCAiTWVudSBpdGVtIHRvbyBsb25nLiBNZW51IG1heSBsb29rIG9kZC4iCisjfiBtc2dzdHIgIk1lbnUgZWxlbWVudHUgbHV6ZWVnaWEuIE1lbnVhayBhcnJhcm9hIGVtYW4gZGV6YWtlLiIKKworI34gbXNnaWQgIklsbGVnYWwga2V5IgorI34gbXNnc3RyICJCYWxpb2dhYmVrbyB0ZWtsYSIKKworI34gbXNnaWQgIkNyZWF0ZSBhIG5ldyBwcmltYXJ5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiU29ydHUgcGFydGl6aW8gcHJpbWFyaW8gYmVycmkgYmF0IgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IGxvZ2ljYWwgcGFydGl0aW9uIgorI34gbXNnc3RyICJTb3J0dSBwYXJ0aXppbyBsb2dpa28gYmVycmkgYmF0IgorCisjfiBtc2dpZCAiQ2FuY2VsIgorI34gbXNnc3RyICJVdHppIgorCisjfiBtc2dpZCAiRG9uJ3QgY3JlYXRlIGEgcGFydGl0aW9uIgorI34gbXNnc3RyICJFeiBzb3J0dSBwYXJ0aXppbyBiYXQiCisKKyN+IG1zZ2lkICIhISEgSW50ZXJuYWwgZXJyb3IgISEhIgorI34gbXNnc3RyICJCYXJuZSBlcnJvcmVhICEhISIKKworI34gbXNnaWQgIlNpemUgKGluIE1CKTogIgorI34gbXNnc3RyICJUYW1haW51YSAoTUJ0YW4pOiAiCisKKyN+IG1zZ2lkICJCZWdpbm5pbmciCisjfiBtc2dzdHIgIkhhc2llcmFuIgorCisjfiBtc2dpZCAiQWRkIHBhcnRpdGlvbiBhdCBiZWdpbm5pbmcgb2YgZnJlZSBzcGFjZSIKKyN+IG1zZ3N0ciAiR2VoaXR1IHBhcnRpemlvYSBsZWt1IGxpYnJlYXJlbiBoYXNpZXJhbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJBZGQgcGFydGl0aW9uIGF0IGVuZCBvZiBmcmVlIHNwYWNlIgorI34gbXNnc3RyICJHZWhpdHUgcGFydGl6aW9hIGxla3UgbGlicmVhcmVuIGhhc2llcmFuIgorCisjfiBtc2dpZCAiVW5rbm93biBwYXJ0aXRpb24gdGFibGUgdHlwZSIKKyN+IG1zZ3N0ciAiUGFydGl6aW8gdGF1bGEgbW9ldGEgZXplemFndW5hIgorCisjfiBtc2dpZCAiRG8geW91IHdpc2ggdG8gc3RhcnQgd2l0aCBhIHplcm8gdGFibGUgW3kvTl0gPyIKKyN+IG1zZ3N0ciAiWmVybyB0YXVsYSBiYXRla2luIGhhc2kgbmFoaSBkdXp1IFtiL0VdID8iCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJFemluIGRhIGRpc2tvIHVuaXRhdGVhIGlyZWtpIgorCisjfiBtc2dpZCAiQ2Fubm90IGdldCBkaXNrIHNpemUiCisjfiBtc2dzdHIgIkV6aW4gZGEgZGlza29hcmVuIHRhbWFpbnVhIGxvcnR1IgorCisjfiBtc2dpZCAiQmFkIHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICJQYXJ0aXppbyBwcmltYXJpbyB0eGFycmEiCisKKyN+IG1zZ2lkICJQbGVhc2UgZW50ZXIgYHllcycgb3IgYG5vJyIKKyN+IG1zZ3N0ciAiTWVzZWRleiBzYXJ0dSBgYmFpJyBlZG8gYGV6JyIKKworI34gbXNnaWQgIldyaXRpbmcgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2suLi4iCisjfiBtc2dzdHIgIlBhcnRpemlvIHRhdWxhIGRpc2tvYW4gaWRhenRlbi4uLiIKKworI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrIgorI34gbXNnc3RyICJQYXJ0aXppbyB0YXVsYSBkaXNrb2FuIGlkYXR6aSBkYSIKKworI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSwgYnV0IHJlLXJlYWQgdGFibGUgZmFpbGVkLiAgUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB0byB1cGRhdGUgdGFibGUuIgorI34gbXNnc3RyICJQYXJ0aXppbyB0YXVsYSBpZGF0emkgZGEsIGJhaW5hIHRhdWxhcmVuIGJlcmlyYWt1cmtldGFrIGh1dHMgZWdpbiBkdS4gU2FpYXR1IHBhcnRwcm9iZSg4KSBlZG8ga3BhcnR4KDgpLXJla2luIGVkbyBiZXJyYWJpYXJhemkgc2lzdGVtYSB0YXVsYSBiZXJyaXR6ZWtvLiIKKworI34gbXNnaWQgIkVudGVyIGZpbGVuYW1lIG9yIHByZXNzIFJFVFVSTiB0byBkaXNwbGF5IG9uIHNjcmVlbjogIgorI34gbXNnc3RyICJTYXJ0dSBmaXR4YXRlZ2kgaXplbmEgZWRvIHNha2F0dSBJTlRSTyBwYW50YWlsYW4gZXJha3VzdGVrbzoiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlc1xuIgorI34gbXNnc3RyICJEaXNrbyB1bml0YXRlYTogJXNcbiIKKworI34gbXNnaWQgIlNlY3RvciAwOlxuIgorI34gbXNnc3RyICIwIHNla3RvcmVhOlxuIgorCisjfiBtc2dpZCAiU2VjdG9yICVkOlxuIgorI34gbXNnc3RyICIlZCBzZWt0b3JlYTpcbiIKKworI34gbXNnaWQgIiAgIE5vbmUgICAiCisjfiBtc2dzdHIgIiAgIEV6ZXIgICAiCisKKyN+IG1zZ2lkICIgICBQcmkvTG9nIgorI34gbXNnc3RyICIgICBQcmkvTG9nIgorCisjfiBtc2dpZCAiICAgUHJpbWFyeSIKKyN+IG1zZ3N0ciAiICAgUHJpbWFyaW9hIgorCisjfiBtc2dpZCAiICAgTG9naWNhbCIKKyN+IG1zZ3N0ciAiICAgTG9naWtvYSIKKworI34gbXNnaWQgIiglMDJYKSIKKyN+IG1zZ3N0ciAiKCUwMlgpIgorCisjfiBtc2dpZCAiTm9uZSIKKyN+IG1zZ3N0ciAiRXplciIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBUYWJsZSBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAiJXMtKHIpZW4gcGFydGl6aW8gdGF1bGFcbiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgIEZpcnN0ICAgICAgIExhc3RcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgTGVoZW5hICAgICBBemtlbmFcbiIKKworI34gbXNnaWQgIiAjIFR5cGUgICAgICAgU2VjdG9yICAgICAgU2VjdG9yICAgT2Zmc2V0ICAgIExlbmd0aCAgIEZpbGVzeXN0ZW0gVHlwZSAoSUQpIEZsYWdcbiIKKyN+IG1zZ3N0ciAiICMgTW9ldGEgICAgIFNla3RvLiAgICAgIFNla3RvLiAgIE9mZnNldC1hIEx1emVlcmEgICBGaXR4LiBTaXN0LiBNb2V0YShJRCkgQWRpZXJhemxlYVxuIgorCisjfiBtc2dpZCAiLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLVxuIgorI34gbXNnc3RyICItLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tXG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAtLS1TdGFydGluZy0tLS0gICAgICAtLS0tRW5kaW5nLS0tLS0gICAgU3RhcnQgICAgIE51bWJlciBvZlxuIgorI34gbXNnc3RyICIgICAgICAgICAtLS0tSGFzaWVyYS0tLS0gICAgICAtLS0tQW1haWVyYS0tLS0gICAgSGFzaSAgICAgIEtvcHVydWFcbiIKKworI34gbXNnaWQgIiAjIEZsYWdzIEhlYWQgU2VjdCAgQ3lsICAgSUQgIEhlYWQgU2VjdCAgQ3lsICAgICBTZWN0b3IgICAgU2VjdG9yc1xuIgorI34gbXNnc3RyICIgIyBGbGFncyBIZWFkIFNlY3QgIEN5bCAgIElEICBIZWFkIFNlY3QgIEN5bCAgICAgU2VrdG9yZWEgIFNla3RvcmVha1xuIgorCisjfiBtc2dpZCAiLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tXG4iCisjfiBtc2dzdHIgIi0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLVxuIgorCisjfiBtc2dpZCAiUmF3IgorI34gbXNnc3RyICJSYXciCisKKyN+IG1zZ2lkICJQcmludCB0aGUgdGFibGUgdXNpbmcgcmF3IGRhdGEgZm9ybWF0IgorI34gbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgcmF3IGRhdHUgZm9ybWF0dWEgZXJhYmlsaXoiCisKKyN+IG1zZ2lkICJQcmludCB0aGUgdGFibGUgb3JkZXJlZCBieSBzZWN0b3JzIgorI34gbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyN+IG1zZ2lkICJUYWJsZSIKKyN+IG1zZ3N0ciAiVGF1bGEiCisKKyN+IG1zZ2lkICJKdXN0IHByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIlNvaWxpayBwYXJ0aXppbyB0YXVsYSBpbnByaW1hdHUiCisKKyN+IG1zZ2lkICJEb24ndCBwcmludCB0aGUgdGFibGUiCisjfiBtc2dzdHIgIkV6IGlucHJpbWF0dSB0YXVsYSIKKworI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMTk5NC0xOTk5IEtldmluIEUuIE1hcnRpbiAmIGFlYiIKKyN+IG1zZ3N0ciAiQ29weXJpZ2h0IChDKSAxOTk0LTE5OTkgS2V2aW4gRS4gTWFydGluICYgYWViIgorCisjfiBtc2dpZCAiICBnICAgICAgICAgIENoYW5nZSBjeWxpbmRlcnMsIGhlYWRzLCBzZWN0b3JzLXBlci10cmFjayBwYXJhbWV0ZXJzIgorI34gbXNnc3RyICIgIGcgICAgICAgICAgQWxkYXR1LCB6aWxpbmRybywgYnVydSBldGEgc2VrdG9yZWFrLXBpc3Rha28gcGFyYW1ldHJvYWsiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgV0FSTklORzogVGhpcyBvcHRpb24gc2hvdWxkIG9ubHkgYmUgdXNlZCBieSBwZW9wbGUgd2hvIgorI34gbXNnc3RyICIgICAgICAgICAgICAgQUJJU1VBOiBBdWtlcmEgaGF1IGFsZGFrZXRhayB6ZXIgZWthciBkZXpha2VlbiBkYWtpdGVuZWsiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAga25vdyB3aGF0IHRoZXkgYXJlIGRvaW5nLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIGVyYWJpbGkgYmVoYXJrbyBsdWtldGUgc29pbGlrLiIKKworI34gbXNnaWQgIiAgbSAgICAgICAgICBNYXhpbWl6ZSBkaXNrIHVzYWdlIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICBtICAgICAgICAgIFVuZWtvIHBhcnRpemlvYXJlbiBkaXNrbyBlcmFiaWxlcmEgbWF4aW1vcmEgaGFuZGl0dSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBOb3RlOiBUaGlzIG1heSBtYWtlIHRoZSBwYXJ0aXRpb24gaW5jb21wYXRpYmxlIHdpdGgiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBPaGFycmE6IEhvbmVrIERPUywgT1MvMiBldGEgYmVzdGUgcGFydGl6aW8gbW9ldGEgYmF0enVla2luIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIERPUywgT1MvMiwgLi4uIgorI34gbXNnc3RyICIgICAgICAgICAgICAgYmF0ZXJhZ2Fycml0YXN1bmEga2VuZHUgZGV6YWtlIgorCisjfiBtc2dpZCAiICBwICAgICAgICAgIFByaW50IHBhcnRpdGlvbiB0YWJsZSB0byB0aGUgc2NyZWVuIG9yIHRvIGEgZmlsZSIKKyN+IG1zZ3N0ciAiICBwICAgICAgICAgIEVyYWt1dHNpIHBhcnRpemlvIHRhdWxhIHBhbnRhaWxhbiBlZG8gaWRhdHppIGZpdHhhdGVnaXJlbiBiYXRlYW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHMgLSBUYWJsZSBvcmRlcmVkIGJ5IHNlY3RvcnMiCisjfiBtc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgdCAtIFRhYmxlIGluIHJhdyBmb3JtYXQiCisjfiBtc2dzdHIgIklucHJpbWF0dSB0YXVsYSByYXcgZGF0dSBmb3JtYXR1YSBlcmFiaWxpeiIKKworI34gbXNnaWQgIiAgdSAgICAgICAgICBDaGFuZ2UgdW5pdHMgb2YgdGhlIHBhcnRpdGlvbiBzaXplIGRpc3BsYXkiCisjfiBtc2dzdHIgIiAgdSAgICAgICAgICBBbGRhdHUgZXJha3VzdGVuIGRlbiBwYXJ0aXppb2FyZW4gdGFtYWludSB1bml0YXRlYSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBSb3RhdGVzIHRocm91Z2ggTUIsIHNlY3RvcnMgYW5kIGN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIE1CLCBzZWt0b3JlIGV0YSB6aWxpbmRybyBhdWtlcmFrIGVyYWt1dHNpa28gZGl0dSIKKworI34gbXNnaWQgIkNUUkwtTCAgICAgICBSZWRyYXdzIHRoZSBzY3JlZW4iCisjfiBtc2dzdHIgIkNUUkwtTCAgICAgICBQYW50YWlsYSBmcmVza2F0dSIKKworI34gbXNnaWQgIiAgPyAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKKyN+IG1zZ3N0ciAiICA/ICAgICAgICAgIFBhbnRhaWxhIGhhdSBpbnByaW1hdHUiCisKKyN+IG1zZ2lkICJDaGFuZ2UgY3lsaW5kZXIgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIkFsZGF0dSB6aWxpbmRybyBnZW9tZXRyaWEiCisKKyN+IG1zZ2lkICJDaGFuZ2UgaGVhZCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiQWxkYXR1IGJ1cnUgZ2VvbWV0cmlhIgorCisjfiBtc2dpZCAiQ2hhbmdlIHNlY3RvciBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiQWxkYXR1IHNla3RvcmUgZ2VvbWV0cmlhIgorCisjfiBtc2dpZCAiRG9uZSB3aXRoIGNoYW5naW5nIGdlb21ldHJ5IgorI34gbXNnc3RyICJHZW9tZXRyaWEgYWxkYWtldGEgZWdpbmEiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIGN5bGluZGVyczogIgorI34gbXNnc3RyICJTYXJ0dSB6aWxpbmRybyBrb3B1cnVhOiIKKworI34gbXNnaWQgIklsbGVnYWwgY3lsaW5kZXJzIHZhbHVlIgorI34gbXNnc3RyICJCYWxpb2dhYmVrbyB6aWxpbmRybyBiYWxvcmVhayIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2YgaGVhZHM6ICIKKyN+IG1zZ3N0ciAiU2FydHUgYnVydSBrb3B1cnVhOiIKKworI34gbXNnaWQgIklsbGVnYWwgaGVhZHMgdmFsdWUiCisjfiBtc2dzdHIgIkJhbGlvZ2FiZW9rIGJ1cnUgYmFsb3JlYWsiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrOiAiCisjfiBtc2dzdHIgIlNhcnR1IHBpc3Rha28gemVuYmF0IHNla3RvcmUga29wdXJ1YToiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIHNlY3RvcnMgdmFsdWUiCisjfiBtc2dzdHIgIkJhbGlvZ2FiZWtvIHNla3RvcmUgYmFsb3JlYWsiCisKKyN+IG1zZ2lkICJFbnRlciBmaWxlc3lzdGVtIHR5cGU6ICIKKyN+IG1zZ3N0ciAiU2FydHUgZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGE6ICIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgRlMgVHlwZSB0byBlbXB0eSIKKyN+IG1zZ3N0ciAiRXppbiBkYSBGLlMuIG1vZXRhIGFsZGF0dSBlemVycmVyYSIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgRlMgVHlwZSB0byBleHRlbmRlZCIKKyN+IG1zZ3N0ciAiRXppbiBkYSBGLlMuIG1vZXRhIGFsZGF0dSB6YWJhbGR1cmEiCisKKyN+IG1zZ2lkICJVbmsoJTAyWCkiCisjfiBtc2dzdHIgIkV6ZXphZ3VuYSglMDJYKSIKKworI34gbXNnaWQgIiwgTkMiCisjfiBtc2dzdHIgIiwgTkMiCisKKyN+IG1zZ2lkICJOQyIKKyN+IG1zZ3N0ciAiTkMiCisKKyN+IG1zZ2lkICJQcmkvTG9nIgorI34gbXNnc3RyICJQcmkvTG9nIgorCisjfiBtc2dpZCAiVW5rbm93biAoJTAyWCkiCisjfiBtc2dzdHIgIkV6ZXphZ3VuYSAoJTAyWCkiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlcyIKKyN+IG1zZ3N0ciAiRGlza28gdW5pdGF0ZWE6ICVzIgorCisjfiBtc2dpZCAiU2l6ZTogJWxsZCBieXRlcywgJWxsZCBNQiIKKyN+IG1zZ3N0ciAiVGFtYWludWE6ICVsbGQgYnl0ZSwgJWxsZCBNQiIKKworI34gbXNnaWQgIlNpemU6ICVsbGQgYnl0ZXMsICVsbGQuJWxsZCBHQiIKKyN+IG1zZ3N0ciAiVGFtYWludWE6ICVsbGQgYnl0ZSwgJWxsZC4lbGxkIEdCIgorCisjfiBtc2dpZCAiSGVhZHM6ICVkICAgU2VjdG9ycyBwZXIgVHJhY2s6ICVkICAgQ3lsaW5kZXJzOiAlbGxkIgorI34gbXNnc3RyICJCdXJ1YWs6ICVkICAgU2VrdG9yZWFrIHBpc3Rha286ICVkICAgWmlsaW5kcm9hazogJWxsZCIKKworI34gbXNnaWQgIlBhcnQgVHlwZSIKKyN+IG1zZ3N0ciAiUGFydGl6aW8gbW9ldGEiCisKKyN+IG1zZ2lkICJGUyBUeXBlIgorI34gbXNnc3RyICJTLkUuIG1vZXRhIgorCisjfiBtc2dpZCAiW0xhYmVsXSIKKyN+IG1zZ3N0ciAiW0V0aWtldGFdIgorCisjfiBtc2dpZCAiICAgIFNlY3RvcnMiCisjfiBtc2dzdHIgIiAgICBTZWt0b3JlYWsiCisKKyN+IG1zZ2lkICIgIEN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICBaaWxpbmRyb2FrIgorCisjfiBtc2dpZCAiICBTaXplIChNQikiCisjfiBtc2dzdHIgIiAgVGFtYWludWEgKE1CKSIKKworI34gbXNnaWQgIiAgU2l6ZSAoR0IpIgorI34gbXNnc3RyICIgIFRhbWFpbnVhIChHQikiCisKKyN+IG1zZ2lkICJObyBtb3JlIHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIkV6IGRhZ28gcGFydGl6aW8gZ2VoaWFnbyIKKworI34gbXNnaWQgIkNoYW5nZSBkaXNrIGdlb21ldHJ5IChleHBlcnRzIG9ubHkpIgorI34gbXNnc3RyICJBbGRhdHUgZGlza29hcmVuIGdlb21ldHJpYSAoZXJhYmlsdHphaWxlIGF1cnJlcmF0dWFrIHNvaWxpaykiCisKKyN+IG1zZ2lkICJNYXhpbWl6ZSIKKyN+IG1zZ3N0ciAiTWF4aW1pemF0dSIKKworI34gbXNnaWQgIk1heGltaXplIGRpc2sgdXNhZ2Ugb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIChleHBlcnRzIG9ubHkpIgorI34gbXNnc3RyICJVbmVrbyBwYXJ0aXppb2FyZW4gZGlza28gZXJhYmlsZXJhIG1heGltb3JhIGhhbmRpdHUgKGVyYWJpbHR6YWlsZSBhdXJyZXJhdHVhayBzb2lsaWspIgorCisjfiBtc2dpZCAiUHJpbnQiCisjfiBtc2dzdHIgIklucHJpbWF0dSIKKworI34gbXNnaWQgIkNoYW5nZSB0aGUgZmlsZXN5c3RlbSB0eXBlIChET1MsIExpbnV4LCBPUy8yIGFuZCBzbyBvbikiCisjfiBtc2dzdHIgIkFsZGF0dSBmaXR4YXRlZ2ktc2lzdGVtYSBtb2V0YSAoRE9TLCBMaW51eCwgT1MvMiBldGEgYWJhcikiCisKKyN+IG1zZ2lkICJVbml0cyIKKyN+IG1zZ3N0ciAiVW5pdGF0ZWFrIgorCisjfiBtc2dpZCAiQ2hhbmdlIHVuaXRzIG9mIHRoZSBwYXJ0aXRpb24gc2l6ZSBkaXNwbGF5IChNQiwgc2VjdCwgY3lsKSIKKyN+IG1zZ3N0ciAiQWxkYXR1IHBhcnRpemlvYXJlbiB0YW1haW51IHVuaXRhdGVhayAoTUIsIHNla3RvcmVhaywgemlsaW5kcm9haykiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWFrZSB0aGlzIHBhcnRpdGlvbiBib290YWJsZSIKKyN+IG1zZ3N0ciAiRXppbiBkYSBwYXJ0aXppbyBoYXUgYWJpYWdhcnJpYSBlZ2luIgorCisjfiBtc2dpZCAiQ2Fubm90IGRlbGV0ZSBhbiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIkV6aW4gZGEgcGFydGl6dSBodXRzIGJhdCBlemFiYXR1IgorCisjfiBtc2dpZCAiQ2Fubm90IG1heGltaXplIHRoaXMgcGFydGl0aW9uIgorI34gbXNnc3RyICJFemluIGRhIHBhcnRpemlvIGhhdSBtYXhpbWl6YXR1IgorCisjfiBtc2dpZCAiVGhpcyBwYXJ0aXRpb24gaXMgYWxyZWFkeSBpbiB1c2UiCisjfiBtc2dzdHIgIlBhcnRpemlvIGhhdSBkYWdvZW5la28gZXJhYmlsaXRhIGRhZ28iCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIHRoZSB0eXBlIG9mIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiRXppbiBkYSBodXRzaWsgZGFnb2VuIHBhcnRpemlvIGJhdGVuIG1vZXRhIGFsZGF0dSIKKworI34gbXNnaWQgIklsbGVnYWwgY29tbWFuZCIKKyN+IG1zZ3N0ciAiS29tYW5kbyBiYWxpb2dhYmVhIgorCisjfiBtc2dpZCAiQ29weXJpZ2h0IChDKSAxOTk0LTIwMDIgS2V2aW4gRS4gTWFydGluICYgYWViXG4iCisjfiBtc2dzdHIgIkNvcHlyaWdodCAoQykgMTk5NC0yMDAyIEtldmluIEUuIE1hcnRpbiAmIGFlYlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZywgLS1ndWVzcyAgICAgICAgICAgICAgIGd1ZXNzIGEgZ2VvbWV0cnkgZnJvbSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+IG1zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtUCwgLS1wcmludCA8cnxzfHQ+ICAgICAgIHByaW50IHBhcnRpdGlvbiB0YWJsZSBpbiBzcGVjaWZpZWQgZm9ybWF0XG4iCisjfiBtc2dzdHIgIiAgcCAgICAgICAgICBFcmFrdXRzaSBwYXJ0aXppbyB0YXVsYSBwYW50YWlsYW4gZWRvIGlkYXR6aSBmaXR4YXRlZ2lyZW4gYmF0ZWFuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYSwgLS1hcnJvdyAgICAgICAgICAgICAgIHVzZSBhcnJvdyBmb3IgaGlnaGxpZ2h0aW5nIHRoZSBjdXJyZW50IHBhcnRpdGlvblxuIgorI34gbXNnc3RyICIgIGQgICAgICAgICAgVW5la28gcGFydGl6aW9hIGV6YWJhdHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIlNhcnR1IHppbGluZHJvIGtvcHVydWE6IgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2YgaGVhZHMiCisjfiBtc2dzdHIgIkV6aW4gZGEgJyVzJyB6ZW5iYWtpYSBpcmFrdXJyaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgbnVtYmVyIG9mIHNlY3RvcnMiCisjfiBtc2dzdHIgIkV6aW4gZGEgJyVzJyB6ZW5iYWtpYSBpcmFrdXJyaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICBlICAgZXh0ZW5kZWQiCisjfiBtc2dzdHIgIkxpbnV4IGV4dGVuZGVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5yIgorI34gbXNnc3RyICJOQyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTZWMiCisjfiBtc2dzdHIgIkV6YXJyaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCbG9ja3MgIgorI34gbXNnc3RyICIlbGQgYmxva2VcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTZWN0b3IiCisjfiBtc2dzdHIgIlNla3RvcmVhayIKKworIywgZnV6enkKKyN+IG1zZ2lkICJZb3Ugd2lsbCBnZXQgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKKyN+IG1zZ3N0ciAiUGFydGl6aW9hIGRpc2tvLWFtYWllcmEgYmFpbmEgbGVoZW5hZ28gYW1haXR6ZW4gZGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmxhZyIKKyN+IG1zZ3N0ciAiQmFuZGVyYWsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2FybmluZzogZXJyb3IgcmVhZGluZyAlczogJXMiCisjfiBtc2dzdHIgImVycm9yZWE6IG1hbGxvYy1layBodXRzIGVnaW4gZHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2FybmluZzogY2FuJ3Qgb3BlbiAlczogJXMiCisjfiBtc2dzdHIgIkV6aW4gZGEgJyVzJyBmaXR4YXRlZ2lhIGlyZWtpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNhbid0IGxvY2sgbG9jayBmaWxlICVzOiAlc1xuIgorI34gbXNnc3RyICIlczogZXppbiBkYSAlcyBibG9rZW8gZml0eGF0ZWdpYSBpcmVraTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXMiCisjfiBtc2dzdHIgIiVzOiBlemluIGRhICVzIGJsb2tlbyBmaXR4YXRlZ2lhIGlyZWtpOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHdyaXRpbmcgJXM6ICVzIgorI34gbXNnc3RyICJjcmMgZXJyb3JlYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2Fubm90IGZmbHVzaCBjaGFuZ2VzOiAlcyIKKyN+IG1zZ3N0ciAiJXM6IGV6aW4gZGEgJXMgZXN0ZWthdHU6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgY2hhbmdpbmcgbW9kZSBvZiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiZXJyb3JlYTogbWFsbG9jLWVrIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciBjaGFuZ2luZyBvd25lciBvZiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiZXJyb3JlYTogbWFsbG9jLWVrIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW4ndCByZW5hbWUgJXMgdG8gJXM6ICVzXG4iCisjfiBtc2dzdHIgIkdlaGl0dSBcIiVzXCIgaGl6dGVnaWFyaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogdHJhbnNsYXRlZCAlcyAnJXMnIHRvICclcydcbiIKKyN+IG1zZ3N0ciAiR2VoaXR1IFwiJXNcIiBoaXp0ZWdpYXJpIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIHdyaXRpbmcgJXM6ICVzIgorI34gbXNnc3RyICJtb3VudDogZXJyb3JlYSAlcyBpZGF6dGVuOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCBncm91cCBpZDogJW0iCisjfiBtc2dzdHIgImV6aW4gZGEgbGVycm9hcmVuIGRpc3ppcGxpbmEgZXphcnJpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHVzZXIgaWQ6ICVtIgorI34gbXNnc3RyICJlemluIGRhIGxlcnJvYXJlbiBkaXN6aXBsaW5hIGV6YXJyaSIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgZm9yazogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBlemluIGRhIGZvcmsgZWdpbjogJXMiCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSB0eXBlICVzXG4iCisjfiBtc2dzdHIgIiAgICAgICAlcyBtb2V0YXJla2luIHNhaWF0dWtvIGRhXG4iCisKKyN+IG1zZ2lkICJtb3VudCBmYWlsZWQiCisjfiBtc2dzdHIgIm1vdW50LWVrIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGRldiBjb250ZXh0IgorI34gbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIHVzZSAlcyBkZXZpY2UiCisjfiBtc2dzdHIgImV6aW4gZGlyYSBib290Yml0IHNla3RvcmVhayBlemFiYXR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gZm91bmQgZnJlZSBsb29wIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IGVycm9yZWEgJXMgaWRhenRlbjogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgdG8gc2V0IGxvb3BkZXYgYXR0cmlidXRlcyIKKyN+IG1zZ3N0ciAiZXppbiBkaXJhIGJvb3RiaXQgc2VrdG9yZWFrIGV6YWJhdHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgc2V0dGluZyB1cCBsb29wIGRldmljZTogJW0iCisjfiBtc2dzdHIgImV6aW4gZGlyYSBib290Yml0IHNla3RvcmVhayBlemFiYXR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBzdG9sZW4gbG9vcD0lcyIKKyN+IG1zZ3N0ciAiTG9vcCBnYWlsdWEgJXMgZGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCBzcGVlZDogJW0iCisjfiBtc2dzdHIgImV6aW4gZGEgbGVycm9hcmVuIGRpc3ppcGxpbmEgZXphcnJpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtb25seS5cbiIKKyN+IG1zZ3N0ciAiZXppbiBkYSBiYWRibG9ja3MgZml0eGF0ZWdpYSBpcmFrdXJyaSIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBmYWlsZWQiCisjfiBtc2dzdHIgIm1vdW50OiBtb3VudC1layBodXRzIGVnaW4gZHUiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgYnVzeSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIG9rdXBhdHVhIGRhZ28iCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgZG9lcyBub3QgZXhpc3QiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBtdW50YXUgcHVudHVhIGV6IGRhIGV4aXN0aXR6ZW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6ICVzIG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCisjfiBtc2dzdHIgInVtb3VudDogJXM6IGV6IGRhZ28gbW9udGF0dXRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiAlczogdW5rbm93biBkZXZpY2UiCisjfiBtc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogdW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKKyN+IG1zZ3N0ciAiUGFydGl6aW8gdGF1bGEgbW9ldGEgZXplemFndW5hIgorCisjfiBtc2dpZCAiYmxvY2sgZGV2aWNlICIKKyN+IG1zZ3N0ciAiYmxva2UgZ2FpbHVhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgbW91bnQgJXMlcyByZWFkLW9ubHkiCisjfiBtc2dzdHIgImV6aW4gZGEgYmFkYmxvY2tzIGZpdHhhdGVnaWEgaXJha3VycmkiCisKKyN+IG1zZ2lkICJub3RoaW5nIHdhcyBtb3VudGVkIgorI34gbXNnc3RyICJleiBkYSBlemVyIG11bnRhdHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiOyByZXN0IG9mIGZpbGUgaWdub3JlZCIKKyN+IG1zZ3N0ciAiRXppbiBkYSAnJXMnIGZpdHhhdGVnaWEgaXJla2kiCisKKyN+IG1zZ2lkICJub3QgZW5vdWdoIG1lbW9yeSIKKyN+IG1zZ3N0ciAiZXogZGFnbyBuYWhpa29hIG1lbW9yaWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3Qgc2V0IGdyb3VwIGlkOiAlbSIKKyN+IG1zZ3N0ciAiZXppbiBkYSBsZXJyb2FyZW4gZGlzemlwbGluYSBlemFycmkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3Qgc2V0IHVzZXIgaWQ6ICVtIgorI34gbXNnc3RyICJlemluIGRhIGxlcnJvYXJlbiBkaXN6aXBsaW5hIGV6YXJyaSIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IGZvcms6ICVzIgorI34gbXNnc3RyICJ1bW91bnQ6IGV6aW4gZGEgZm9yayBlZ2luOiAlcyIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG5vdCBtb3VudGVkIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBleiBkYWdvIG1vbnRhdHV0YSIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG5vdCBmb3VuZCIKKyN+IG1zZ3N0ciAidW1vdW50OiBleiBkYSAlcyBhdXJraXR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogZmFpbGVkIHRvIGNoZGlyIHRvICVzOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IGVycm9yZWEgJXMgaWRhenRlbjogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gb2J0YWluIGN1cnJlbnQgZGlyZWN0b3J5OiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IGVycm9yZWEgJXMgaWRhenRlbjogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBtb3VudHBvaW50IG1vdmVkICglcyAtPiAlcykiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBtdW50YXUgcHVudHVhIGV6IGRhIGV4aXN0aXR6ZW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgaGFzIGJlZW4gdW5tb3VudGVkXG4iCisjfiBtc2dzdHIgIkRpc2tvYSBhbGRhdHUgZWdpbiBkYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJ29mZnNldD0lcycgb3B0aW9uc1xuIgorI34gbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDYW5ub3QgdW5tb3VudCBcIlwiXG4iCisjfiBtc2dzdHIgIkV6aW4gZGEgXCJcIiBkZXNtb250YXR1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVHJ5aW5nIHRvIHVubW91bnQgJXNcbiIKKyN+IG1zZ3N0ciAiJXMgZGVzbXVudGF0emVuIHNhaWF0emVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8dHR5PiBbLi4uXVxuIgorI34gbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGdldCB0aHJlc2hvbGQgZm9yICVzIgorI34gbXNnc3RyICJFemluIGRhIGRpc2tvYXJlbiB0YW1haW51YSBsb3J0dSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRpbWVvdXQgZm9yICVzIgorI34gbXNnc3RyICJFemluIGRhIGRpc2tvYXJlbiB0YW1haW51YSBsb3J0dSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGludGVydmFsIHZhbHVlIgorI34gbXNnc3RyICJCYWxpb2dhYmVrbyB6aWxpbmRybyBiYWxvcmVhayIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGludGVydmFsIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiQmFsaW9nYWJla28gemlsaW5kcm8gYmFsb3JlYWsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdmFsdWUiCisjfiBtc2dzdHIgIkJhbGlvZ2FiZWtvIHppbGluZHJvIGJhbG9yZWFrIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgc2V0IHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiQmFsaW9nYWJla28gemlsaW5kcm8gYmFsb3JlYWsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHZhbHVlIgorI34gbXNnc3RyICJCYWxpb2dhYmVrbyB6aWxpbmRybyBiYWxvcmVhayIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdmFsdWU6ICVkIgorI34gbXNnc3RyICJCYWxpb2dhYmVrbyB6aWxpbmRybyBiYWxvcmVhayIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICJCYWxpb2dhYmVrbyB6aWxpbmRybyBiYWxvcmVhayIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiQmFsaW9nYWJla28gemlsaW5kcm8gYmFsb3JlYWsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHRpbWUgdmFsdWUiCisjfiBtc2dzdHIgIkJhbGlvZ2FiZWtvIHppbGluZHJvIGJhbG9yZWFrIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB0aW1lIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiQmFsaW9nYWJla28gemlsaW5kcm8gYmFsb3JlYWsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHNldCAlcyB0byB0aHJlc2hvbGQgJWQiCisjfiBtc2dzdHIgIkV6aW4gZGEgZGlza29hcmVuIHRhbWFpbnVhIGxvcnR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzZXQgJXMgdG8gdGltZSB0aHJlc2hvbGQgJWQiCisjfiBtc2dzdHIgIkV6aW4gZGEgZGlza29hcmVuIHRhbWFpbnVhIGxvcnR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGV0ZXJtaW5lIHNvdXJjZSIKKyN+IG1zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1jdXJzb3IgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICAgICAgICBkaXNrbyBndXp0aWFuLiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yZXBlYXQgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICAgICAgICBkaXNrbyBndXp0aWFuLiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1hcHBjdXJzb3JrZXlzIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgICAgICAgZGlza28gZ3V6dGlhbi4gIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbGluZXdyYXAgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICAgICAgICBkaXNrbyBndXp0aWFuLiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1pbnZlcnNlc2NyZWVuIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgICAgICAgZGlza28gZ3V6dGlhbi4gIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYm9sZCA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgICAgICAgIGRpc2tvIGd1enRpYW4uICIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWJsaW5rIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgICAgICAgZGlza28gZ3V6dGlhbi4gIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtcmV2ZXJzZSA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgICAgICAgIGRpc2tvIGd1enRpYW4uICIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXVuZGVybGluZSA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgICAgICAgIGRpc2tvIGd1enRpYW4uICIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWZpbGUgZHVtcGZpbGVuYW1lXG4iCisjfiBtc2dzdHIgIihIdXJyZW5nbyBmaXR4YXRlZ2lhOiAlcykiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1tc2cgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICAgICAgICBkaXNrbyBndXp0aWFuLiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXJyb3Igd3JpdGluZyBzY3JlZW5kdW1wIgorI34gbXNnc3RyICJEaXNrbyBldGlrZXRhIGlkYXp0ZW4gJXMtKGUpcmkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gIlxuIgorI34gbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibGluZSB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiTGVycm9hIGx1emVlZ2lhIGRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhaWRwaWQgZmFpbGVkIgorI34gbXNnc3RyICJ3YWl0cGlkLWVrIGh1dHMgZWdpbiBkdSIKKworI34gbXNnaWQgInNldCBibG9ja3NpemUiCisjfiBtc2dzdHIgImV6YXJyaSBibG9rZS10YW1haW51YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJvbmUgYmFkIGJsb2NrXG4iCisjfiBtc2dzdHIgIm9ycmkgb2tlciBiYXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVhZCBmYWlsZWQgJXMiCisjfiBtc2dzdHIgInJlYWQtZWsgaHV0cyBlZ2luIGR1OiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAic2Vlay1layBodXRzIGVnaW4gZHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBmYWlsZWQ6ICVkIgorI34gbXNnc3RyICJzZWVrLWVrIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBmYWlsZWQ6ICVkIgorI34gbXNnc3RyICJ3cml0ZS1rIGh1dHMgZWdpbiBkdTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkIgorI34gbXNnc3RyICJFeiBkYSBwYXJ0aXppb3JpayBkZWZpbml0dVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlLCBvZmZzZXQgaXMgbm90IDUxMi1ieXRlIGFsaWduZWQuIgorI34gbXNnc3RyICJlemluIGRpcmEgYm9vdGJpdCBzZWt0b3JlYWsgZXphYmF0dSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnNzdXBvcnRlZCAtLWxvY2FsLWxpbmUgbW9kZSBhcmd1bWVudCIKKyN+IG1zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjfiBtc2dpZCAidXNhZ2U6XG4iCisjfiBtc2dzdHIgImVyYWJpbGVyYTpcbiIKKworI34gbXNnaWQgIlx0Tk9URTogZWx2dHVuZSBvbmx5IHdvcmtzIHdpdGggMi40IGtlcm5lbHNcbiIKKyN+IG1zZ3N0ciAiXHRPSEFSUkE6IGVsdnR1bmUtayAyLjQga2VybmVsLWVraW4gYmFrYXJyaWsgZnVudHppb25hdHplbiBkdVxuIgorCisjfiBtc2dpZCAibWlzc2luZyBibG9ja2RldmljZSwgdXNlIC1oIGZvciBoZWxwXG4iCisjfiBtc2dzdHIgImJsb2tlLWdhaWx1YSBmYWx0YSBkYSwgZXJhYmlsaSAtaCBsYWd1bnR6YXJha29cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlZGl0aW9uIG51bWJlciBhcmd1bWVudCBmYWlsZWQiCisjfiBtc2dzdHIgImV6YXJyaSBydGMgYWxhcm1hIgorCisjfiBtc2dpZCAiZnN5bmMgZmFpbGVkIgorI34gbXNnc3RyICJmc3luYy1layBodXRzIGVnaW4gZHUiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiUHJpbnQgdmVyc2lvbjpcbiIKKyN+ICIgICAgICAgICVzIC12XG4iCisjfiAiUHJpbnQgcGFydGl0aW9uIHRhYmxlOlxuIgorI34gIiAgICAgICAgJXMgLVAge3J8c3x0fSBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiAiSW50ZXJhY3RpdmUgdXNlOlxuIgorI34gIiAgICAgICAgJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiLWE6IFVzZSBhcnJvdyBpbnN0ZWFkIG9mIGhpZ2hsaWdodGluZztcbiIKKyN+ICItejogU3RhcnQgd2l0aCBhIHplcm8gcGFydGl0aW9uIHRhYmxlLCBpbnN0ZWFkIG9mIHJlYWRpbmcgdGhlIHB0IGZyb20gZGlzaztcbiIKKyN+ICItYyBDIC1oIEggLXMgUzogT3ZlcnJpZGUgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIG51bWJlciBvZiBjeWxpbmRlcnMsXG4iCisjfiAiICAgICAgICAgICAgICAgIHRoZSBudW1iZXIgb2YgaGVhZHMgYW5kIHRoZSBudW1iZXIgb2Ygc2VjdG9ycy90cmFjay5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkVyYWJpbGVyYTpcbiIKKyN+ICJFcmFrdXRzaSBiZXJ0c2lvYTpcbiIKKyN+ICIgICAgICAgICVzIC12XG4iCisjfiAiRXJha3V0c2kgcGFydGl6aW8gdGF1bGE6XG4iCisjfiAiICAgICAgICAlcyAtUCB7cnxzfHR9IFthdWtlcmFrXSBnYWlsdWFcbiIKKyN+ICJFcmFiaWxlcmEgaW50ZXJha3RpYm9hOlxuIgorI34gIiAgICAgICAgJXMgW2F1a2VyYWtdIGdhaWx1YVxuIgorI34gIlxuIgorI34gIkF1a2VyYWs6XG4iCisjfiAiLWE6IEdlemlhIGVyYWJpbGkgbmFiYXJtZW5kdSBiZWhhcnJlYW47XG4iCisjfiAiLXo6IFBhcnRpemlvIHRhdWxhIGh1dHMgYmF0ZWtpbiBoYXNpLCBwYXJ0aXppbyB0YXVsYSBpcmFrdXJyaSBiZWhhcmVyYW47XG4iCisjfiAiLWMgQyAtaCBIIC1zIFM6IEV6IGVnaW4gamFyYW1vbmlrIGtlcm5lbC1hayBlc2F0ZW4gZHVlbiB6aWxpbmRybyBrb3B1cnUsXG4iCisjfiAiICAgICAgICAgICAgICAgIGJ1cnUga29wdXJ1IGV0YSBzZWt0b3JlL3Bpc3RhIGtvcHVydWFyaSBidXJ1ei5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIldyaXRpbmcgZGlza2xhYmVsIHRvICVzLlxuIgorI34gbXNnc3RyICJEaXNrbyBldGlrZXRhIGlkYXp0ZW4gJXMtKGUpcmkuXG4iCisKKyN+IG1zZ2lkICJMYXN0ICVzIG9yICtzaXplIG9yICtzaXplTSBvciArc2l6ZUsiCisjfiBtc2dzdHIgIkF6a2VuICVzLShlKWEgZWRvICt0YW1haW51YSBlZG8gK3RhbWFpbnVhTSBlZG8gK3RhbWFpbnVhSyIKKworI34gbXNnaWQgIlJlYWRpbmcgZGlza2xhYmVsIG9mICVzIGF0IHNlY3RvciAlZC5cbiIKKyN+IG1zZ3N0ciAiJXMtKHIpZW4gZGlza28gZXRpa2V0YSBpcmFrdXJ0emVuICVkIHNla3RvcmVhbi5cbiIKKworI34gbXNnaWQgIkJTRCBkaXNrbGFiZWwgY29tbWFuZCAobSBmb3IgaGVscCk6ICIKKyN+IG1zZ3N0ciAiQlNEIGRpc2tvIGV0aWtldGEga29tYW5kb2EgKG0gbGFndW50emEgZXJha3VzdGVrbyk6IgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAoYS0lYyk6ICIKKyN+IG1zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiB0b28gbWFueSBwYXJ0aXRpb25zICglZCwgbWF4aW11bSBpcyAlZCkuXG4iCisjfiBtc2dzdHIgIkFiaXN1YTogcGFydGl6aW8gZ2VoaWVnaSAoJWQsIGdlaGllbmV6a29hICVkIGRhKS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJTeW5jaW5nIGRpc2tzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlza2FrIHNpbmtyb25pemF0emVuLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBzZWVrIG9uICVzIgorI34gbXNnc3RyICJFemluIGRhIGJpbGF0dSBkaXNrbyB1bml0YXRlYW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgorI34gbXNnc3RyICIgICB3ICAgaWRhdHppIGRpc2tvYXJlbiBldGlrZXRhIGRpc2tvYW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmF0YWwgZXJyb3IiCisjfiBtc2dzdHIgIkVycm9yZSBsYXJyaWFcbiIKKworI34gbXNnaWQgIkNvbW1hbmQgYWN0aW9uIgorI34gbXNnc3RyICJLb21hbmRvYXJlbiBla2ludHphIgorCisjfiBtc2dpZCAiWW91IG11c3Qgc2V0IgorI34gbXNnc3RyICJFemFycmkgZWdpbiBiZWhhciBkdXp1IgorCisjfiBtc2dpZCAiaGVhZHMiCisjfiBtc2dzdHIgImJ1cnVhayIKKworI34gbXNnaWQgIiBhbmQgIgorI34gbXNnc3RyICIgZXRhICIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVbnN1cHBvcnRlZCBzdWZmaXg6ICclcycuXG4iCisjfiBtc2dzdHIgImZpdHhhdGVnaSBzaXN0ZW1hcmVuIGV1c2thcnJpcmlrIGdhYmVrbyBlemF1Z2FycmlhayIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2luZyBkZWZhdWx0IHZhbHVlICV1XG4iCisjfiBtc2dzdHIgIkJhbGlvZ2FiZWtvIHppbGluZHJvIGJhbG9yZWFrIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbGQgTUIsICVsbGQgYnl0ZXMiCisjfiBtc2dzdHIgIlVuaXRhdGVhazogJXMgJWQtKGUpdGlrICogJWQgPSAlZCBieXRlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZC4lbGQgR0IsICVsbHUgYnl0ZXMiCisjfiBtc2dzdHIgIlVuaXRhdGVhazogJXMgJWQtKGUpdGlrICogJWQgPSAlZCBieXRlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLCAlbGx1IHNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiLCBndXp0aXJhICVsbHUgc2VrdG9yZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgd3JpdGUgZGlzayBsYWJlbCIKKyN+IG1zZ3N0ciAiRXppbiBkYSBkaXNrbyB1bml0YXRlYW4gaWRhdHppIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJFcnJvciBjbG9zaW5nIGZpbGVcbiIKKyN+IG1zZ3N0ciAiRXppbiBkYSAnJXMnIGZpdHhhdGVnaWEgaXJla2kiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTGFzdCAlMSRzLCArJTIkcyBvciArc2l6ZXtLLE0sR30iCisjfiBtc2dzdHIgIkF6a2VuICVzLShlKWEgZWRvICt0YW1haW51YSBlZG8gK3RhbWFpbnVhTSBlZG8gK3RhbWFpbnVhSyIKKworI34gbXNnaWQgIiAgICAgcGh5cz0oJWQsICVkLCAlZCkgIgorI34gbXNnc3RyICIgICAgIHBoeXM9KCVkLCAlZCwgJWQpICIKKworI34gbXNnaWQgImxvZ2ljYWw9KCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgImxvZ2lrb2E9KCVkLCAlZCwgJWQpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogYmFkIHN0YXJ0LW9mLWRhdGEgaW4gcGFydGl0aW9uICV6ZFxuIgorI34gbXNnc3RyICJiZXJpcmFrdXJyaSBwYXJ0aXppbyB0YXVsYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvblxuIgorI34gbXNnc3RyICJQYXJ0aXppbyBwcmltYXJpbyB0eGFycmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IElmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55IERPUyA2LnhwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBmZGlzayBtYW51YWwgcGFnZSBmb3IgYWRkaXRpb25hbGluZm9ybWF0aW9uLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiT0hBUlJBOiBET1MgNi54IHBhcnRpemlvcmVuIGJhdCBzb3J0dSBlZG8gbW9maWRpa2F0dSBiYWR1enUsXG4iCisjfiAibWVzZWRleiBpa3VzaSBjZmRpc2stZW4gZXNrdWxpYnVydWFcbiIKKyN+ICJpbmZvcm1hemlvIGdlaGlhZ29yYWsuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMsICVsbHUgY3lsaW5kZXJzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlcyBkaXNrb2E6ICVkIGJ1cnUsICVsbHUgc2VrdG9yZSwgJWQgemlsaW5kcm9cbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU0dJIGRpc2sgbGFiZWwpOiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiAlbGQgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIiVzIGRpc2tvYTogJWQgYnVydSwgJWxsdSBzZWt0b3JlLCAlZCB6aWxpbmRyb1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUyemQ6ICUtMTBzIHNlY3RvciU1dSBzaXplJTh1XG4iCisjfiBtc2dzdHIgIiUyZDogJS0xMHMgc2VrdG9yZSU1dSB0YW1haW51YSU4dVxuIgorCisjfiBtc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkXG4iCisjfiBtc2dzdHIgIkV6IGRhIHBhcnRpemlvcmlrIGRlZmluaXR1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSERJT19HRVRHRU8gaW9jdGwgZmFpbGVkIG9uICVzIgorI34gbXNnc3RyICJLREdIV0NMSyBpb2N0bC1layBodXRzIGVnaW4gZHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVHJ5aW5nIHRvIGtlZXAgcGFyYW1ldGVycyBvZiBwYXJ0aXRpb25zIGFscmVhZHkgc2V0LlxuIgorI34gbXNnc3RyICJQYXJ0aXppbyBoYXUgZGFnb2VuZWtvIGVyYWJpbGl0YSBkYWdvIgorCisjfiBtc2dpZCAiWUVTXG4iCisjfiBtc2dzdHIgIkJBSVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTdW4gZGlzayBsYWJlbCk6ICV1IGhlYWRzLCAlbGx1IHNlY3RvcnMsICVkIHJwbVxuIgorI34gIiVsbHUgY3lsaW5kZXJzLCAlZCBhbHRlcm5hdGUgY3lsaW5kZXJzLCAlZCBwaHlzaWNhbCBjeWxpbmRlcnNcbiIKKyN+ICIlZCBleHRyYSBzZWN0cy9jeWwsIGludGVybGVhdmUgJWQ6MVxuIgorI34gIkxhYmVsIElEOiAlc1xuIgorI34gIlZvbHVtZSBJRDogJXNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogNTEyIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlcyBkaXNrb2E6ICVkIGJ1cnUsICVsbHUgc2VrdG9yZSwgJWQgemlsaW5kcm9cbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgbGFiZWwpOiAldSBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiA1MTIgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIiVzIGRpc2tvYTogJWQgYnVydSwgJWxsdSBzZWt0b3JlLCAlZCB6aWxpbmRyb1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIkRvbmVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkVnaW5kYVxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNyZWF0ZWQgcGFydGl0aW9uICV6ZFxuIgorI34gbXNnc3RyICJiZXJpcmFrdXJyaSBwYXJ0aXppbyB0YXVsYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIC11IDxVU0VSPiBDT01NQU5EXG4iCisjfiBtc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYV1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbVVNFUiBbYXJnXS4uLl1cbiIKKyN+IG1zZ3N0ciAiZXJhYmlsZXJhOiAlcyBhcGxpa2F6aW9hIFthcmd1bWVudHVhIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjcnlwdCBmYWlsZWQ6ICVtXG4iCisjfiBtc2dzdHIgIndyaXRlLWsgaHV0cyBlZ2luIGR1OiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDYW4gbm90IGZvcms6ICVtXG4iCisjfiBtc2dzdHIgImV6aW4gZGEgZm9yayBlZ2luIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB0byBsb2NrICVzOiAlbVxuIgorI34gbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCYWQgbnVtYmVyOiAlc1xuIgorI34gbXNnc3RyICJzYXJyZXJhIG9rZXJyYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIGZhaWxlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IG1vdW50LWVrIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCisjfiBtc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbZmlsZS4uLl1cbiIKKyN+IG1zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjfiBtc2dpZCAibWtmcyAoJXMpXG4iCisjfiBtc2dzdHIgIm1rZnMgKCVzKVxuIgorCisjfiBtc2dpZCAib25lIGJhZCBwYWdlXG4iCisjfiBtc2dzdHIgIm9ycmkgb2tlciBiYXRcbiIKKworI34gbXNnaWQgIiAgICAgICAgb24gd2hvbGUgZGlzay4gIgorI34gbXNnc3RyICIgICAgICAgIGRpc2tvIGd1enRpYW4uICIKKworIywgZnV6enkKKyN+IG1zZ2lkICJkb2VzIG5vdCBzdXBwb3J0IHN3YXBzcGFjZSB2ZXJzaW9uICVkLiIKKyN+IG1zZ3N0ciAiZml0eGF0ZWdpIHNpc3RlbWFyZW4gZXVza2FycmlyaWsgZ2FiZWtvIGV6YXVnYXJyaWFrIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkJTRCBsYWJlbCBmb3IgZGV2aWNlOiAlc1xuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQlNEIGV0aWtldGEgZ2FpbHVhcmVudHphdDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJWQgaGFzIGVtcHR5IHR5cGVcbiIKKyN+IG1zZ3N0ciAiRXppbiBkYSBodXRzaWsgZGFnb2VuIHBhcnRpemlvIGJhdGVuIG1vZXRhIGFsZGF0dSIKKworI34gbXNnaWQgImV4ZWMgJXMgZmFpbGVkIgorI34gbXNnc3RyICJleGVjICVzLShlKWsgaHV0cyBlZ2luIGR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBleGVjIGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IGxzZWVrLWVrIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUSU9DU0NUVFk6IGlvY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAic3RhdC1layBodXRzIGVnaW4gZHU6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlN0LiBUaWIncyBEYXkiCisjfiBtc2dzdHIgImJhbGlvZ2FiZWtvIGVndW4gYmFsb3JlYTogZXJhYmlsaSAxLSVkIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLXMgc2lnbmFsIHwgLXAgXSBbIC1hIF0gcGlkIC4uLlxuIgorI34gbXNnc3RyICJlcmFiaWxlcmE6ICVzIFsgLXMgc2VpbmFsZWEgfCAtcCBdIFsgLWEgXSBwaWQgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBwb3J0IG51bWJlciBhcmd1bWVudCIKKyN+IG1zZ3N0ciAiYmFsaW9nYWJla28gYXVrZXJhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCisjfiBtc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogY291bGRuJ3QgbG9jayBpbnRvIG1lbW9yeSIKKyN+IG1zZ3N0ciAibWVtb3JpYXJpayBleiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlamVjdDogY2Fubm90IHNldCB1c2VyIGlkIgorI34gbXNnc3RyICJFemluIGRhIGRpc2tvYXJlbiB0YW1haW51YSBsb3J0dSIKKworI34gbXNnaWQgInNobWN0bCBmYWlsZWQiCisjfiBtc2dzdHIgInNobWN0bC1layBodXRzIGVnaW4gZHUiCisKKyN+IG1zZ2lkICJtc2djdGwgZmFpbGVkIgorI34gbXNnc3RyICJtc2djdGwtZWsgaHV0cyBlZ2luIGR1IgorCisjfiBtc2dpZCAic2VtY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAic2VtY3RsLWVrIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyBmYWlsZWQgdG8gdXNlIGRldmljZSIKKyN+IG1zZ3N0ciAiZXppbiBkaXJhIGJvb3RiaXQgc2VrdG9yZWFrIGV6YWJhdHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY291bGRuJ3QgbG9jayBpbnRvIG1lbW9yeSIKKyN+IG1zZ3N0ciAibWVtb3JpYXJpayBleiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIChwcm9iYWJseSB1bmtub3duIGVuY3J5cHRpb24gdHlwZSkiCisjfiBtc2dzdHIgImV6aW4gZGlyYSBib290Yml0IHNla3RvcmVhayBlemFiYXR1IgorCisjfiBtc2dpZCAicmVuaWNlIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAiJXMtKGUpdGlrIHJlbmljZS1lYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBleGVjdXRlICVzIgorI34gbXNnc3RyICJodXRzIGVnaW4gZGEgJXMgZXhla3V0YXR6ZW4iCisKKyN+IG1zZ2lkICJleGVjdnAgZmFpbGVkIgorI34gbXNnc3RyICJleGVjdnAtZWsgaHV0cyBlZ2luIGR1IgorCisjfiBtc2dpZCAiZXhlY3YgZmFpbGVkIgorI34gbXNnc3RyICJleGVjdi1layBodXRzIGVnaW4gZHUiCisKKyN+IG1zZ2lkICJ1c2VycyIKKyN+IG1zZ3N0ciAiZXJhYmlsdHphaWxlYWsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZXJyb3IuIgorI34gbXNnc3RyICJjb2w6IGlkYXprZXRhIGVycm9yZWEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW9yZSAoJXMpXG4iCisjfiBtc2dzdHIgIm1rZnMgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvdWxkbid0IG9wZW4gJXMiCisjfiBtc2dzdHIgIkV6aW4gZGEgJyVzJyBmaXR4YXRlZ2lhIGlyZWtpIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBvcGVuICVzIgorI34gbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBkZXZpY2UgJXMiCisjfiBtc2dzdHIgIkV6aW4gZGEgJyVzJyAoJXMpIHJhdyBtb2V0YWtvIGdhaWx1YSBhdXJraXR1XG4iCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiBmaWxlICclcyciCisjfiBtc2dzdHIgIkV6aW4gZGEgJyVzJyBmaXR4YXRlZ2lhIGlyZWtpIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXMiCisjfiBtc2dzdHIgImV6aW4gZGEgJXMgaXJla2kiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6IGNhbm5vdCBvcGVuICVzIgorI34gbXNnc3RyICJFemluIGRhIGlyZWtpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiBzdGF0LWVrIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiAvZGV2L3BvcnQiCisjfiBtc2dzdHIgIkV6aW4gZGEgL2Rldi9wb3J0IGlyZWtpOiAlcyIKKworI34gbXNnaWQgIm9wZW4oKSBvZiAlcyBmYWlsZWQiCisjfiBtc2dzdHIgIiVzLShyKWVuZ2FuIG9wZW4oKSBlZ2l0ZWFrIGh1dHMgZWdpbiBkdSIKKworI34gbXNnaWQgIk9wZW4gb2YgJXMgZmFpbGVkIgorI34gbXNnc3RyICIlcy0oZSlyZW4gaXJla2llcmFrIGh1dHMgZWdpbiBkdSIKKworI34gbXNnaWQgIlVuYWJsZSB0byBvcGVuICVzIgorI34gbXNnc3RyICJFemluIGRhICVzIGlyZWtpIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzb3VyY2UgYnVmZmVyIgorI34gbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc3RhdCBkaXJlY3RvcnkiCisjfiBtc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBzdGF0IGRpcmVjdG9yeSAlcyIKKyN+IG1zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiAiCisjfiBtc2dzdHIgIkV6aW4gZGEgaXJla2kiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBcIiVzXCIgZm9yIHJlYWQiCisjfiBtc2dzdHIgImV6aW4gZGEgXCIlc1wiIGlyZWtpIGlyYWt1cmtldGFyYWtvIgorCisjfiBtc2dpZCAiY2Fubm90IHN0YXQgXCIlc1wiIgorI34gbXNnc3RyICJlemluIGRhIGBzdGF0JyBlZ2luIFwiJXNcIi0ocillbmdhbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWxhcnZzbWZdIC9kZXYvbmFtZVxuIgorI34gbXNnc3RyICJFcmFiaWxlcmE6ICVzIFstbGFydnNtZl0gL2Rldi9pemVuYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBibG9ja3NpemUgYXJndW1lbnQiCisjfiBtc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNhbm5vdCBvcGVuIG1hc3RlciByYXcgZGV2aWNlICclcycgKCVzKVxuIgorI34gbXNnc3RyICJFemluIGRhICclcycgKCVzKSByYXcgbW9ldGFrbyBnYWlsdWEgYXVya2l0dVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeT9cbiIKKyN+IG1zZ3N0ciAibWVtb3JpYXJpayBlej9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXQVJOSU5HOiBjb3VsZG4ndCBvcGVuICVzIgorI34gbXNnc3RyICJFemluIGRhICclcycgZml0eGF0ZWdpYSBpcmVraSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXBvY2giCisjfiBtc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBsb2NrIGdyb3VwIGZpbGUiCisjfiBtc2dzdHIgImV6aW4gZGEgJXMgaXJla2kiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNpZ3ZhbCIKKyN+IG1zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicG9ydCBgJWxkJyBvdXQgb2YgcmFuZ2UiCisjfiBtc2dzdHIgIm1lbW9yaWF0aWsga2FucG8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBvZmZzZXQgdmFsdWUgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIkJhbGlvZ2FiZWtvIHppbGluZHJvIGJhbG9yZWFrIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhcm5pbmc6IGZhaWxlZCB0byByZWFkIG10YWIiCisjfiBtc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjbGFzcyBkYXRhIgorI34gbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY2xhc3MiCisjfiBtc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBidWZmZXIgc2l6ZSIKKyN+IG1zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmc3RyaW0oOCkuXG4iCisjfiBtc2dzdHIgIklydGV0ZW4gLSBleiBkYSBlemVyIGFsZGF0dVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgc3BlZWQiCisjfiBtc2dzdHIgImJhbGlvZ2FiZWtvIGFiaWFkdXJhOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIG9mZnNldCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiQmFsaW9nYWJla28gemlsaW5kcm8gYmFsb3JlYWsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBzaXplICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICJCYWxpb2dhYmVrbyB6aWxpbmRybyBiYWxvcmVhayIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG1vdW50cG9pbnQoMSkuXG4iCisjfiBtc2dzdHIgIklydGV0ZW4gLSBleiBkYSBlemVyIGFsZGF0dVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBQSUQiCisjfiBtc2dzdHIgImV6aW4gZGEgJXMgaXJla2kiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNlY29uZHMgdmFsdWUiCisjfiBtc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSB0aW1lX3QgdmFsdWUiCisjfiBtc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbHNibGsoMSkuXG4iCisjfiBtc2dzdHIgIklydGV0ZW4gLSBleiBkYSBlemVyIGFsZGF0dVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImFyZ3VtZW50ICVsdSBpcyB0b28gbGFyZ2UiCisjfiBtc2dzdHIgIi0tZGF0ZSBhcmd1bWVudHVhIGx1emVlZ2lhIGRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidGVybWluYWwgZW52aXJvbm1lbnQgQ09MVU1OUyBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIGxlbmd0aCB2YWx1ZSIKKyN+IG1zZ3N0ciAicmVuaWNlOiAlczogYmFsaW8gb2tlcnJhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIHNraXAgdmFsdWUiCisjfiBtc2dzdHIgInJlbmljZTogJXM6IGJhbGlvIG9rZXJyYVxuIgorCisjfiBtc2dpZCAiJXM6IFVzYWdlOiAlcyBbLW51bWJlcl0gWy1wIHN0cmluZ10gWy1jZWZucnNdIFsrbGluZV0gWysvcGF0dGVybi9dIFtmaWxlc11cbiIKKyN+IG1zZ3N0ciAiJXM6IEVyYWJpbGVyYTogJXMgWy16ZW5iYWtpYV0gWy1wIGthdGVhXSBbLWNlZm5yc10gWytsZXJyb2FdIFsrL3BhdHJvaWEvXSBbZml0eGF0ZWdpYWtdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6ICVkOiBwYXJzZSBlcnJvciAtLSBsaW5lIGlnbm9yZWQuXG4iCisjfiBtc2dzdHIgImNyYyBlcnJvcmVhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhcm5pbmc6IGZhaWxlZCB0byBwYXJzZSAlcyIKKyN+IG1zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJS0yNXM6IGZhaWxlZDogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGZvcmstZWsgaHV0cyBlZ2luIGR1OiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUtMjVzOiBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAiJXMtKGUpayBodXRzIGVnaW4gZHUuXG4iCisKKyN+IG1zZ2lkICIgICBkICAgZGVsZXRlIGEgQlNEIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgZCAgIEJTRCBwYXJ0aXppbyBiYXQgZXphYmF0dSIKKworI34gbXNnaWQgIiAgIG4gICBhZGQgYSBuZXcgQlNEIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgbiAgIEJTRCBwYXJ0aXppbyBiZXJyaSBiYXQgZ2VoaXR1IgorCisjfiBtc2dpZCAiICAgdCAgIGNoYW5nZSBhIHBhcnRpdGlvbidzIGZpbGVzeXN0ZW0gaWQiCisjfiBtc2dzdHIgIiAgIHQgICBhbGRhdHUgcGFyaXR6aW9hcmVuIGZpdHhhdGVnaSBzaXN0ZW1hIElEYSIKKworI34gbXNnaWQgIiAgIHUgICBjaGFuZ2UgdW5pdHMgKGN5bGluZGVycy9zZWN0b3JzKSIKKyN+IG1zZ3N0ciAiICAgdSAgIGFsZGF0dSB1bml0YXRlYWsgKHppbGluZHJvYWsvc2VrdG9yZWFrKSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICBwICAgcHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiU29pbGlrIHBhcnRpemlvIHRhdWxhIGlucHJpbWF0dSIKKworI34gbXNnaWQgIkludGVybmFsIGVycm9yXG4iCisjfiBtc2dzdHIgIkJhcm5lIGVycm9yZWFcbiIKKworI34gbXNnaWQgIm91dCBvZiBtZW1vcnkgLSBnaXZpbmcgdXBcbiIKKyN+IG1zZ3N0ciAibWVtb3JpYXJpayBleiAtIHV6dGVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBtb3VudCg4KS5cbiIKKyN+IG1zZ3N0ciAiSXJ0ZXRlbiAtIGV6IGRhIGV6ZXIgYWxkYXR1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IFBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCisjfiBtc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcy4iCisjfiBtc2dzdHIgIkV6IGRhZ28gcGFydGl6aW8gdGF1bGFyaWsuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2V0cHduYW0gZmFpbGVkIgorI34gbXNnc3RyICJzZW1jdGwtZWsgaHV0cyBlZ2luIGR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIklsbGVnYWwgdXNlcm5hbWUiCisjfiBtc2dzdHIgIkJhbGlvZ2FiZWtvIHRla2xhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkxvZ2luIGluY29ycmVjdFxuIgorI34gbXNnc3RyICJQYXNhaGl0eiBva2VycmEuIgorCisjfiBtc2dpZCAiTkFNRSB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiSVpFTkEgbHV6ZWVnaWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9naW4gbmFtZSBtdWNoIHRvbyBsb25nLiIKKyN+IG1zZ3N0ciAibGVycm8gbHV6ZWVnaWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidG9vIG1hbnkgYmFyZSBsaW5lZmVlZHMuIgorI34gbXNnc3RyICJvcnJpIHR4YXIgZ2VoaWVnaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJMT0dJTiBGQUlMVVJFIE9OICVzLCAlcyIKKyN+IG1zZ3N0ciAiICAgICAgICBkaXNrbyBndXp0aWFuLiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJWQgTE9HSU4gRkFJTFVSRVMgT04gJXMsICVzIgorI34gbXNnc3RyICIgICAgICAgIGRpc2tvIGd1enRpYW4uICIKKworI34gbXNnaWQgImNhbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgImNhbGxvYy1layBodXRzIGVnaW4gZHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV0FSTklORzogJXM6IGFwcGVhcnMgdG8gY29udGFpbiAnJXMnIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiJXMgZGlza2FrIGV6IGRhdWthIHBhcnRpemlvIHRhdWxhIHp1emVuYVxuIgorCisjfiBtc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCIKKyN+IG1zZ3N0ciAiICVzOiB3cml0ZS1rIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogL2RldiBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRXogZGEgc3dhcCBwYXJ0aXppb3JpayBleGlzdGl0emVuLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiwgZW5jcnlwdGlvbiB0eXBlICVkXG4iCisjfiBtc2dzdHIgIlBhcnRpemlvIG1vZXRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxvb3A6IGNhbid0IG9wZW4gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJFemluIGRhICByYXcgZ2FpbHUgbmFndXNpYSBpcmVraSAnIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSB3aGlsZSByZWFkaW5nIHBhc3NwaHJhc2UiCisjfiBtc2dzdHIgIk1lbW9yaWF6IGthbnBvIHBhc2FoaXR6YSBpcmFrdXJ0emVuIHplbiBiaXRhcnRlYW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZGVsX2xvb3AoJXMpOiBzdWNjZXNzXG4iCisjfiBtc2dzdHIgIkxvb3AgZ2FpbHVhICVzIGRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBwYXJ0eCg4KS5cbiIKKyN+IG1zZ3N0ciAiSXJ0ZXRlbiAtIGV6IGRhIGV6ZXIgYWxkYXR1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstcSBbLWkgaW50ZXJ2YWxdXSAoWy1zIHZhbHVlXXxbLVMgdmFsdWVdKSAoWy10IHZhbHVlXXxbLVQgdmFsdWVdKSBbLWd8LUddIGZpbGUgW2ZpbGUuLi5dXG4iCisjfiBtc2dzdHIgImVyYWJpbGVyYTogenV0YWJlYSBbLXR4XSBbLWMgenV0YWJlYWtdIFtmaXR4YXRlZ2lhIC4uLl1cbiIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gJXM6ICVzXG4iCisjfiBtc2dzdHIgIkV6aW4gZGEgJXMgaXJla2k6ICVzXG4iCisKKyN+IG1zZ2lkICIlczogY2Fubm90IG9wZW4gbG9jayBmaWxlICVzOiAlc1xuIgorI34gbXNnc3RyICIlczogZXppbiBkYSAlcyBibG9rZW8gZml0eGF0ZWdpYSBpcmVraTogJXNcbiIKKworI34gbXNnaWQgIiVzOiBiYWQgbnVtYmVyOiAlc1xuIgorI34gbXNnc3RyICIlczogemVuYmFraSBva2VycmE6ICVzXG4iCisKKyN+IG1zZ2lkICIlczogZm9yayBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBmb3JrLWVrIGh1dHMgZWdpbiBkdTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGlwY21rKDEpLlxuIgorI34gbXNnc3RyICJJcnRldGVuIC0gZXogZGEgZXplciBhbGRhdHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsZGF0dGFjaCBmcm9tICVzXG4iCisjfiBtc2dzdHIgIiVzLShlKXRpayByZW5pY2UtZWFcbiIKKworI34gbXNnaWQgInJlYWRwcm9maWxlOiBlcnJvciB3cml0aW5nICVzOiAlc1xuIgorI34gbXNnc3RyICJyZWFkcHJvZmlsZTogZXJyb3JlYSAlcyBpZGF6dGVuOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcnRjd2FrZSg4KS5cbiIKKyN+IG1zZ3N0ciAiSXJ0ZXRlbiAtIGV6IGRhIGV6ZXIgYWxkYXR1XG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgcHJvZ3JhbSBbYXJnIC4uLl1cbiIKKyN+IG1zZ3N0ciAiZXJhYmlsZXJhOiAlcyBhcGxpa2F6aW9hIFthcmd1bWVudHVhIC4uLl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgPGRldmljZT4gWyAtaSA8SVJRPiB8IC10IDxUSU1FPiB8IC1jIDxDSEFSUz4gfCAtdyA8V0FJVD4gfCBcbiIKKyN+ICIgICAgICAgICAgLWEgW29ufG9mZl0gfCAtbyBbb258b2ZmXSB8IC1DIFtvbnxvZmZdIHwgLXEgW29ufG9mZl0gfCAtcyB8IFxuIgorI34gIiAgICAgICAgICAtVCBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFcmFiaWxlcmE6ICVzIDxnYWlsdWE+IFsgLWkgPElSUWE+IHwgLXQgPERFTkJPUkE+IHwgLWMgPEtBUkFLVEVSRUFLPiB8IC13IDxJVFhBUk9URSBERU5CT1JBPiB8IFxuIgorI34gIiAgICAgICAgICAtYSBbb258b2ZmXSB8IC1vIFtvbnxvZmZdIHwgLUMgW29ufG9mZl0gfCAtcSBbb258b2ZmXSB8IC1zIHwgXG4iCisjfiAiICAgICAgICAgIC1UIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiVzOiBiYWQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAiJXM6IGJhbGlvIG9rZXJyYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNsb3NpbmcgZmlsZSAlcyIKKyN+IG1zZ3N0ciAiRXppbiBkYSAnJXMnIGZpdHhhdGVnaWEgaXJla2kiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzICIKKyN+IG1zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYW5kICVzIG92ZXJsYXBcbiIKKyN+IG1zZ3N0ciAicGFydGl6aW8gbG9naWtvZW4gdGVpbGFrYXBlbmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAgJXMgW29wdGlvbnNdIGRldmljZSBbLi4uXVxuIgorI34gbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRGV2aWNlIGlzIHNvbWV0aGluZyBsaWtlIC9kZXYvaGRhIG9yIC9kZXYvc2RhXG4iCisjfiBtc2dzdHIgImdhaWx1YTogL2Rldi9oZGEgZWRvIC9kZXYvc2RhIG1vZHVrbyB6ZXJiYWl0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgImF1a2VyYSBiYWxpb2dhcnJpYWs6IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorI34gbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyN+IG1zZ2lkICIgICVzIC0tcmVwb3J0IFtkZXZpY2VzXVxuIgorI34gbXNnc3RyICIgICVzIC0tcmVwb3J0IFtnYWlsdWFrXVxuIgorCisjfiBtc2dpZCAiICAlcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyN+IG1zZ3N0ciAiICAlcyBbLXZ8LXFdIGtvbWFuZG9hayBnYWlsdWFrXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuICVzXG4iCisjfiBtc2dzdHIgIkV6aW4gZGEgaXJla2kiCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtbiBdIGRldmljZVxuIgorI34gbXNnc3RyICJlcmFiaWxlcmE6ICVzIFsgLW5dIGdhaWx1YVxuIgorCisjfiBtc2dpZCAibWFsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAibWFsbG9jLWVrIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogb3B0aW9uIHBhcnNlIGVycm9yXG4iCisjfiBtc2dzdHIgImVycm9yZWE6IG1hbGxvYy1layBodXRzIGVnaW4gZHUiCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy14XSBbLWQgPG51bT5dIGlzbzk2NjAtaW1hZ2VcbiIKKyN+IG1zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbLXhdIFstZCA8emVuYmFraWE+XSBpc285NjYwLWlydWRpYVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbLXZdIFstTiBuci1vZi1pbm9kZXNdIFstViB2b2x1bWUtbmFtZV1cbiIKKyN+ICIgICAgICAgWy1GIGZzbmFtZV0gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkVyYWJpbGVyYTogJXMgWy12XSBbLU4gaW5vZG8ta29wdXJ1YV0gWy1WIGJvbHVtZW4taXplbmFdXG4iCisjfiAiICAgICAgIFstRiBmcy1pemVuYV0gZ2FpbHVhIFtibG9rZS1rb3B1cnVhXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBzdGF0ICVzIgorI34gbXNnc3RyICJlemluIGRpcmEgYm9vdGJpdCBzZWt0b3JlYWsgZXphYmF0dSIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWNdIFstcFBBR0VTWl0gWy1MIGxhYmVsXSBbLVUgVVVJRF0gL2Rldi9uYW1lIFtibG9ja3NdXG4iCisjfiBtc2dzdHIgIkVyYWJpbGVyYTogJXMgWy1jXSBbLXBPUlJJVEFNQUlOVUFdIFstTCBldGlrZXRhXSBbLVUgVVVJRF0gL2Rldi9pemVuYSBbYmxva2Vha11cbiIKKworI34gbXNnaWQgIk91dCBvZiBtZW1vcnkiCisjfiBtc2dzdHIgIk1lbW9yaWFyaWsgZXoiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6XG4iCisjfiAiICAlcyAiCisjfiBtc2dzdHIgIiIKKyN+ICJFcmFiaWxlcmE6XG4iCisjfiAiICAlcyIKKworI34gbXNnaWQgIk1lbnUgd2l0aG91dCBkaXJlY3Rpb24uIERlZmF1bHRpbmcgdG8gaG9yaXpvbnRhbC4iCisjfiBtc2dzdHIgIk5vcmFiaWRlIGdhYmVrbyBtZW51YS4gSG9yaXpvbnRhbGEgbGVoZW5ldHNpa28gZGEuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJDb21tYW5kIGFjdGlvblxuIgorI34gIiAgICVzXG4iCisjfiAiICAgcCAgIHByaW1hcnkgcGFydGl0aW9uICgxLTQpXG4iCisjfiBtc2dzdHIgIlNvcnR1IHBhcnRpemlvIHByaW1hcmlvIGJlcnJpIGJhdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgLXYgW29yIC0tdmVyc2lvbl06ICAgcHJpbnQgdmVyc2lvbiIKKyN+IG1zZ3N0ciAiRXogaW5wcmltYXR1IHRhdWxhIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZzY2sgZnJvbSAlc1xuIgorI34gbXNnc3RyICIlcy0oZSl0aWsgcmVuaWNlLWVhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2FuJ3QgbWFsbG9jIGluaXRzdHJpbmciCisjfiBtc2dzdHIgImVycm9yZWE6IG1hbGxvYy1layBodXRzIGVnaW4gZHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFt5IHwgbl0iCisjfiBtc2dzdHIgImVyYWJpbGVyYTogJXMgWyAtbl0gZ2FpbHVhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IEJBRCBFUlJPUiIKKyN+IG1zZ3N0ciAiY3JjIGVycm9yZWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6ICVzIFstbl0gW2ZpbGVdXG4iCisjfiBtc2dzdHIgImVyYWJpbGVyYTogJXMgW2ZpdHhhdGVnaWFdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2FuJ3QgcmVhZDogJXMiCisjfiBtc2dzdHIgImhleGR1bXA6IGV6aW4gZGEgJXMgIGlyYWt1cnJpLlxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeT8iCisjfiBtc2dzdHIgIm1lbW9yaWF0aWsga2FucG8/IgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiBzY3JpcHQgWy1hXSBbLWVdIFstZl0gWy1xXSBbLXRdIFtmaWxlXVxuIgorI34gbXNnc3RyICJlcmFiaWxlcmE6IHNjcmlwdC1hIFstYV0gWy1mXSBbLXFdIFstdF0gW2ZpdHhhdGVnaWFdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHdyaXRlIGVycm9yICVkOiAlc1xuIgorI34gbXNnc3RyICJjcmMgZXJyb3JlYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogd3JpdGUgZXJyb3I6ICVzXG4iCisjfiBtc2dzdHIgImNyYyBlcnJvcmVhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgWyAtc25vdyBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiAgICAgICAgZGlza28gZ3V6dGlhbi4gIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgWyAtc29mdHNjcm9sbCBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiAgICAgICAgZGlza28gZ3V6dGlhbi4gIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstcl0gWy10XVxuIgorI34gbXNnc3RyICJFcmFiaWxlcmE6ICVzIFstcl0gWy10XVxuIgorCisjfiBtc2dpZCAidW5rbm93blxuIgorI34gbXNnc3RyICJlemV6YWd1bmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmb3IgbWFpbnRlbmFuY2U7IGJvdW5jZSwgYm91bmNlIgorI34gbXNnc3RyICIlcy0ocillbiBwYXJ0aXppbyB0YXVsYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkVycm9yIHBvd2VyaW5nIG9mZlx0JXNcbiIKKyN+IG1zZ3N0ciAiZXJyb3JlYTogbWFsbG9jLWVrIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciBvcGVuaW5nIGZpZm9cbiIKKyN+IG1zZ3N0ciAiZXJyb3JlYTogbWFsbG9jLWVrIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciBydW5uaW5nIGZpbmFscHJvZ1xuIgorI34gbXNnc3RyICJlcnJvcmVhOiBtYWxsb2MtZWsgaHV0cyBlZ2luIGR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIGZvcmtpbmcgZmluYWxwcm9nXG4iCisjfiBtc2dzdHIgImVycm9yZWE6IG1hbGxvYy1layBodXRzIGVnaW4gZHUiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV3JvbmcgcGFzc3dvcmQuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQYXNhaGl0eiBva2VycmEuXG4iCisKKyN+IG1zZ2lkICJmb3JrIGZhaWxlZFxuIgorI34gbXNnc3RyICJmb3JrLWVrIGh1dHMgZWdpbiBkdVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuIGluaXR0YWJcbiIKKyN+IG1zZ3N0ciAiRXppbiBkYSAnJXMnIGZpdHhhdGVnaWEgaXJla2kiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgYXQgc3RvcHBpbmcgc2VydmljZSBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAiZXJyb3JlYTogbWFsbG9jLWVrIGh1dHMgZWdpbiBkdSIKKworI34gbXNnaWQgIlN0b3BwZWQgc2VydmljZTogJXNcbiIKKyN+IG1zZ3N0ciAiR2VsZGl0dXRha28gZ2FpbHVhOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIGF0IHN0YXJ0aW5nIHNlcnZpY2UgXCIlc1wiXG4iCisjfiBtc2dzdHIgImVycm9yZWE6IG1hbGxvYy1layBodXRzIGVnaW4gZHUiCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1jXSBbLW4gbGV2ZWxdIFstcl0gWy1zIGJ1ZnNpemVdXG4iCisjfiBtc2dzdHIgIkVyYWJpbGVyYTogJXMgWy1jXSBbLW4gbWFpbGFdIFstcl0gWy1zIGJ1ZmZlci1hcmVuIHRhbWFpbnVhXVxuIgorCisjfiBtc2dpZCAiZXJyb3I6IHN0cmR1cCBmYWlsZWQiCisjfiBtc2dzdHIgImVycm9yZWE6IHN0cmR1cC1layBodXRzIGVnaW4gZHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6IGNhbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgImVycm9yZWE6IG1hbGxvYy1layBodXRzIGVnaW4gZHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6ICVzIFstYmZweF0gWy1sIG5saW5lXSIKKyN+IG1zZ3N0ciAidXNhZ2U6IHp1dGFiZWEgWy1iZnB4XSBbLWwgbGVycm8gemVuYmFraWFdXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtIF0gWyAtMiBdIFsgZmlsZSAuLi4gXVxuIgorI34gbXNnc3RyICJlcmFiaWxlcmE6ICVzIFsgLSBdIFsgLTIgXSBbIGZpdHhhdGVnaWEgLi4uIF1cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbLWRmbHBjc3VdIFsrbGluZW51bSB8ICsvcGF0dGVybl0gbmFtZTEgbmFtZTIgLi4uXG4iCisjfiBtc2dzdHIgImVyYWJpbGVyYTogJXMgWy1kZmxwY3N1XSBbK2xlcnJvemVuYmFraWEgfCArL3BhdHJvaWFdIGl6ZW5hMSBpemVuYTIgLi4uXG4iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaW5lIGJ1ZmZlclxuIgorI34gbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworI34gbXNnaWQgImhleGR1bXA6IGNhbid0IHJlYWQgJXMuXG4iCisjfiBtc2dzdHIgImhleGR1bXA6IGV6aW4gZGEgJXMgIGlyYWt1cnJpLlxuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogbGluZSB0b28gbG9uZy5cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogbGVycm9hIGx1emVlZ2lhIGRhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJlYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJtYWxsb2MtZWsgaHV0cyBlZ2luIGR1IgorCisjfiBtc2dpZCAidXNhZ2U6IHRhaWxmIFstbiBOIHwgLU5dIGxvZ2ZpbGUiCisjfiBtc2dzdHIgImVyYWJpbGVyYTogdGFpbGYgWy1uIE4gfCAtTl0gZml0eGF0ZWdpYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWyAtaSBdIFsgLXRUZXJtIF0gZmlsZS4uLlxuIgorI34gbXNnc3RyICJlcmFiaWxlcmE6ICVzIFsgLWkgXSBbIC10VGVybSBdIGZpdHhhdGVnaWEuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVbmFibGUgdG8gb3BlbiAlc1xuIgorI34gbXNnc3RyICJlemluIGRpcmEgYm9vdGJpdCBzZWt0b3JlYWsgZXphYmF0dSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsYXN0OiBtYWxsb2MgZmFpbHVyZS5cbiIKKyN+IG1zZ3N0ciAiZXJyb3JlYTogbWFsbG9jLWVrIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsb2dpbjogT3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICJtZW1vcmlhdGlrIGthbnBvIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxvZ2luOiBubyBzaGVsbDogJXMuXG4iCisjfiBtc2dzdHIgIkV6IGRhZ28gcGFydGl6aW8gdGF1bGFyaWsuXG4iCisKKyN+IG1zZ2lkICJuZXdncnA6IHNldHVpZCIKKyN+IG1zZ3N0ciAibmV3Z3JwOiBzZXR1aWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNhbid0IHJlYWQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgImV6aW4gZGEgYmFkYmxvY2tzIGZpdHhhdGVnaWEgaXJha3VycmkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yOiAlcyIKKyN+IG1zZ3N0ciAiY3JjIGVycm9yZWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFyc2UgZXJyb3IgYXQgbGluZXM6ICIKKyN+IG1zZ3N0ciAiY3JjIGVycm9yZWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIGFuZCAlZC4iCisjfiBtc2dzdHIgIiBldGEgIgorCisjfiBtc2dpZCAicmVuaWNlOiAlczogdW5rbm93biB1c2VyXG4iCisjfiBtc2dzdHIgInJlbmljZTogJXM6IGVyYWJpbHR6YWlsZSBlemV6YWd1bmFcbiIKKworI34gbXNnaWQgInJlbmljZTogJXM6IGJhZCB2YWx1ZVxuIgorI34gbXNnc3RyICJyZW5pY2U6ICVzOiBiYWxpbyBva2VycmFcbiIKKworI34gbXNnaWQgIjsgc2VlIHN0cmluZ3MoMSkuIgorI34gbXNnc3RyICI7IGlrdXNpIHN0cmluZ3MoMSkuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGVuZHMgaW4gdGhlIGZpbmFsIHBhcnRpYWwgY3lsaW5kZXIiCisjfiBtc2dzdHIgIlBhcnRpemlvYSBhemtlbiBwYXJ0aXppbyB6aWxpbmRyb2FuIGFtYWl0emVuIGRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBvdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgIiVzOiBNZW1vcmlheiBrYW5wbyFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogaWxsZWdhbCBpbnRlcnZhbCAlcyBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIkJhbGlvZ2FiZWtvIHppbGluZHJvIGJhbG9yZWFrIgorCisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgdGltZV90IHZhbHVlICVzXG4iCisjfiBtc2dzdHIgIiVzOiBiYWxpb2dhYmVrbyAlcyB0aW1lX3QgYmFsb3JlYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gZXhlY3V0ZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiZXppbiBkaXJhIGJvb3RiaXQgc2VrdG9yZWFrIGV6YWJhdHUiCisKKyN+IG1zZ2lkICJydGMgcmVhZCIKKyN+IG1zZ3N0ciAicnRjIGlyYWt1cnJpdGEiCisKKyN+IG1zZ2lkICJtYWxsb2MgZXJyb3IiCisjfiBtc2dzdHIgImVycm9yZWEgbWVtb3JpYSBlc2xlaXR6ZW4iCisKKyN+IG1zZ2lkICJ1c2FnZTogY29sdW1uIFstdHhdIFstYyBjb2x1bW5zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgImVyYWJpbGVyYTogenV0YWJlYSBbLXR4XSBbLWMgenV0YWJlYWtdIFtmaXR4YXRlZ2lhIC4uLl1cbiIKKworI34gbXNnaWQgIk91dCBvZiBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAiTWVtb3JpYXRpayBrYW5wb1xuIgorCisjfiBtc2dpZCAidXNhZ2U6IHJldiBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgImVyYWJpbGVyYTogcmV2IFtmaXR4YXRlZ2lhIC4uLl1cbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIuXG4iCisjfiBtc2dzdHIgIkh1dHMgZWdpbiBkYSBidWZmZXItYSBoYXNpZXJhdHplbi5cbiIKKworI34gbXNnaWQgIk91dCBvZiBtZW1vcnkgd2hlbiBncm93aW5nIGJ1ZmZlci5cbiIKKyN+IG1zZ3N0ciAiTWVtb3JpYXJpayBleiBidWZmZXItYSBoYXp0ZXJha29hbi5cbiIKKworI34gbXNnaWQgIiVzOiBpbGxlZ2FsIG9wdGlvbiAtLSAlY1xuIgorI34gbXNnc3RyICIlczogYmFsaW9nYWJla28gYXVrZXJhIC0tICVjXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorI34gbXNnc3RyICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYWdlcyByZXNpZGVudCAgJWxkXG4iCisjfiBtc2dzdHIgIiU2LjJmJSUgKCUrbGQgYnl0ZXMpXHQlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhZ2VzIHN3YXBwZWQgICAlbGRcbiIKKyN+IG1zZ3N0ciAiJTYuMmYlJSAoJStsZCBieXRlcylcdCVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgcnVubmluZyBwcm9ncmFtbWU6IFwiJXNcIlxuIgorI34gbXNnc3RyICJlcnJvcmVhOiBtYWxsb2MtZWsgaHV0cyBlZ2luIGR1IgorCisjfiBtc2dpZCAiY3VycmVudCIKKyN+IG1zZ3N0ciAidW5la29hIgorCisjfiBtc2dpZCAibmV3IgorI34gbXNnc3RyICJiZXJyaWEiCisKKyN+IG1zZ2lkICJMaW51eCBleHQzIgorI34gbXNnc3RyICJMaW51eCBleHQzIgorCisjfiBtc2dpZCAiTGludXggWEZTIgorI34gbXNnc3RyICJMaW51eCBYRlMiCisKKyN+IG1zZ2lkICJMaW51eCBKRlMiCisjfiBtc2dzdHIgIkxpbnV4IEpGUyIKKworI34gbXNnaWQgIkxpbnV4IFJlaXNlckZTIgorI34gbXNnc3RyICJMaW51eCBSZWlzZXJGUyIKKworI34gbXNnaWQgIk9TLzIgSFBGUyIKKyN+IG1zZ3N0ciAiT1MvMiBIUEZTIgorCisjfiBtc2dpZCAiT1MvMiBJRlMiCisjfiBtc2dzdHIgIk9TLzIgSUZTIgorCisjfiBtc2dpZCAiTlRGUyIKKyN+IG1zZ3N0ciAiTlRGUyIKKworI34gbXNnaWQgInVzYWdlIDogJXMgLWFzbXEgLXRjbHVwIFxuIgorI34gbXNnc3RyICJlcmFiaWxlcmEgOiAlcyAtYXNtcSAtdGNsdXAgXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiXHQlcyBbLXMgLW0gLXFdIC1pIGlkXG4iCisjfiBtc2dzdHIgImJhbGlvZ2FiZWtvIGlkLWE6ICVzXG4iCisKKyN+IG1zZ2lkICJcdCVzIC1oIGZvciBoZWxwLlxuIgorI34gbXNnc3RyICJcdCVzIC1oIGxhZ3VudHphcmFrby5cbiIKKworI34gbXNnaWQgImVycm9yOiAlcyIKKyN+IG1zZ3N0ciAiZXJyb3JlYTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgcGFyc2U6ICVzIgorI34gbXNnc3RyICJjcmMgZXJyb3JlYSIKKworI34gbXNnaWQgIm1pc3NpbmcgY29tbWEiCisjfiBtc2dzdHIgImtvbWEgZmFsdGEgZGEiCisKKyN+IG1zZ2lkICJvdXQgaWYgbWVtb3J5IgorI34gbXNnc3RyICJtZW1vcmlhdGlrIGthbnBvIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnNcbiIKKworI34gbXNnaWQgIiUtOHMgJS0xMHMgJS0yNi4yNHMgJS0yNi4yNHNcbiIKKyN+IG1zZ3N0ciAiJS04cyAlLTEwcyAlLTI2LjI0cyAlLTI2LjI0c1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKworI34gbXNnaWQgIiUtOHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKyN+IG1zZ3N0ciAiJS04cyAlLTEwcyAlLTIwcyAlLTIwcyAlLTIwc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnMgJS0xMnNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnMgJS0xMnNcbiIKKworI34gbXNnaWQgIjMsNVwiIGZsb3BweSIKKyN+IG1zZ3N0ciAiMyw1XCIgZGlza2V0ZWEiCmRpZmYgLS1naXQgYS9wby9maS5wbyBiL3BvL2ZpLnBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0MzBhOGQKLS0tIC9kZXYvbnVsbAorKysgYi9wby9maS5wbwpAQCAtMCwwICsxLDI0NTQ2IEBACisjIEZpbm5pc2ggbWVzc2FnZXMgZm9yIHV0aWwtbGludXgKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIHV0aWwtbGludXggcGFja2FnZS4KKyMgQ29weXJpZ2h0IMKpIDIwMDItMjAwMywgMjAwNSwgMjAwNy0yMDA5LCAyMDEzLTIwMTQgTGF1cmkgTnVybWkgPGxhbnVybWlAaWtpLmZpPgorIyBMYXVyaSBOdXJtaSA8bGFudXJtaUBpa2kuZmk+LCAyMDAyLTIwMDMsIDIwMDUsIDIwMDctMjAwOSwgMjAxMy0yMDE0LgorIworIyBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gZnJlZWx5IGNvcHkgYW5kIGRpc3RyaWJ1dGUKKyMgdGhpcyBmaWxlIGFuZCBtb2RpZmllZCB2ZXJzaW9ucywgcHJvdmlkZWQsIHRoYXQgdGhpcworIyBoZWFkZXIgaXMgbm90IHJlbW92ZWQgYW5kIG1vZGlmaWVkIHZlcnNpb25zIGFyZSBtYXJrZWQKKyMgYXMgc3VjaC4KKyMKKyMgVMOkdMOkIHRpZWRvc3RvYSBqYSBtdXV0ZXR0dWphIHZlcnNpb2l0YSBzYWEga29waW9pZGEKKyMgamEgbGV2aXR0w6TDpCB2YXBhYXN0aSBlZGVsbHl0dMOkZW4sIGV0dMOkIHTDpHTDpCBvdHNpa2tvYQorIyBlaSBwb2lzdGV0YSwgamEgbXV1dGV0dXQgdmVyc2lvdCBtZXJraXTDpMOkbiBtdXV0ZXR1aWtzaS4KKyMKKyMgKioqCisjICJzaWduYXR1cmUiIHRhcnZpdHNlZSBwYXJlbW1hbiBzdW9tZW5ub2tzZW4ga3VpbiAiYWxsZWtpcmpvaXR1cyIuCisjICoqKgorbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdXRpbC1saW51eCAyLjI2LXJjMlxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiB1dGlsLWxpbnV4QHZnZXIua2VybmVsLm9yZ1xuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE3LTAyLTIyIDEyOjMyKzAxMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE1LTA4LTAyIDE3OjUzKzAzMDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IExhdXJpIE51cm1pIDxsYW51cm1pQGlraS5maT5cbiIKKyJMYW5ndWFnZS1UZWFtOiBGaW5uaXNoIDx0cmFuc2xhdGlvbi10ZWFtLWZpQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD5cbiIKKyJMYW5ndWFnZTogZmlcbiIKKyJNSU1FLVZlcnNpb246IDEuMFxuIgorIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgorIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKyJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiAhPSAxKTtcbiIKKyJYLVBvZWRpdC1Cb29rbWFya3M6IC0xLC0xLDU1MSwtMSwtMSwtMSwtMSwtMSwtMSwtMVxuIgorIlgtR2VuZXJhdG9yOiBQb2VkaXQgMS44LjNcbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxzdGFydD4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiICVzIDxsZXZ5bGFpdGU+IDxvc2lvbnVtZXJvPiA8YWxrdT4gPHBpdHV1cz5cbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTgKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIGV4aXN0ZW5jZSBvZiBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTYgZGlzay11dGlscy9ibG9ja2Rldi5jOjI3NiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDIwCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDQ2IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzNCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1NworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNyBkaXNrLXV0aWxzL2ZkaXNrLmM6NzE4IGRpc2stdXRpbHMvZmRpc2suYzo5OTQKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjMwMSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNDEKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM2MCBkaXNrLXV0aWxzL2ZzY2suYzoxNDQ4CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTU1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTAKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEzNCBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg5CisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTczIGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjEKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODggZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE5CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIxNSBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NCBkaXNrLXV0aWxzL3BhcnR4LmM6OTk0CisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDEgZGlzay11dGlscy9zZmRpc2suYzo2NDcgZGlzay11dGlscy9zZmRpc2suYzo3MDMKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzU3IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODE2IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODgwCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkyMSBkaXNrLXV0aWxzL3NmZGlzay5jOjk1MSBkaXNrLXV0aWxzL3NmZGlzay5jOjk4OAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTM3IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjAgbGliZmRpc2svc3JjL2JzZC5jOjY0MQorIzogbGliL3BhdGguYzo3MCBsaWIvcGF0aC5jOjgyIGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo4NyBsb2dpbi11dGlscy9sYXN0LmM6NjcyCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDQ2IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0ODMKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzU5CisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4MSBsb2dpbi11dGlscy92aXB3LmM6MjU4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzYKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOTcgbWlzYy11dGlscy9sb2dnZXIuYzoxMTg4IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjExNQorIzogbWlzYy11dGlscy91dWlkZC5jOjIwNyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4MyBzeXMtdXRpbHMvZG1lc2cuYzo1MjIKKyM6IHN5cy11dGlscy9lamVjdC5jOjUwMCBzeXMtdXRpbHMvZWplY3QuYzo3MDAgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM3NAorIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTI4IHN5cy11dGlscy9mc3RyaW0uYzo3MiBzeXMtdXRpbHMvaHdjbG9jay5jOjI4MgorIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjYzOCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxNjIKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI1NiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDEKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQyMiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NjkKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM4OCBzeXMtdXRpbHMvbnNlbnRlci5jOjEyOCBzeXMtdXRpbHMvcnRjd2FrZS5jOjEzNgorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyNzAgc3lzLXV0aWxzL3NldHByaXYuYzoyMzAgc3lzLXV0aWxzL3NldHByaXYuYzo1MjkKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTUyIHN5cy11dGlscy9zd2Fwb24uYzozNzEgc3lzLXV0aWxzL3N3YXBvbi5jOjUxNAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTYzIHN5cy11dGlscy91bnNoYXJlLmM6MTA2IHN5cy11dGlscy91bnNoYXJlLmM6MTIxCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjEgc3lzLXV0aWxzL3dkY3RsLmM6Mzc3IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYxOAorIzogdGVybS11dGlscy9tZXNnLmM6MTI3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDI1IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDMxCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQzMyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjUyMgorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxOTcgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMDAKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjMzMSB0ZXh0LXV0aWxzL2NvbGNydC5jOjI4MiB0ZXh0LXV0aWxzL21vcmUuYzo1MTMKKyM6IHRleHQtdXRpbHMvcmV2LmM6MTQxIHRleHQtdXRpbHMvdGFpbGYuYzo2OCB0ZXh0LXV0aWxzL3RhaWxmLmM6MTAwCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJsYWl0ZXR0YSAlcyBlaSB2b2kgYXZhdGEiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjU5IGRpc2stdXRpbHMvZGVscGFydC5jOjYwIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjk4Cittc2dpZCAiaW52YWxpZCBwYXJ0aXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICJ2aXJoZWVsbGluZW4gb3Npb251bWVyb2FyZ3VtZW50dGkiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYwCittc2dpZCAiaW52YWxpZCBzdGFydCBhcmd1bWVudCIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIGFsb2l0dXNhcmd1bWVudHRpIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MSBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDgKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIHBpdHV1c2FyZ3VtZW50dGkiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYyCittc2dpZCAiZmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24iCittc2dzdHIgIm9zaW9uIGxpc8Okw6RtaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo2MworbXNnaWQgInNldCByZWFkLW9ubHkiCittc2dzdHIgImFzZXRhIHZhaW4gbHVrdSAtdGlsYWFuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzAKK21zZ2lkICJzZXQgcmVhZC13cml0ZSIKK21zZ3N0ciAiYXNldGEgbHVrdS1raXJqb2l0dXMtdGlsYWFuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzYKK21zZ2lkICJnZXQgcmVhZC1vbmx5IgorbXNnc3RyICJoYWUgdmFpbiBsdWt1IC10aWxhIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODIKK21zZ2lkICJnZXQgZGlzY2FyZCB6ZXJvZXMgc3VwcG9ydCBzdGF0dXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjg4Cittc2dpZCAiZ2V0IGxvZ2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAiaGFlIGxvb2dpc2VuIGxvaGtvbiAoc2VrdG9yaW4pIGtva28iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo5NAorbXNnaWQgImdldCBwaHlzaWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICJoYWUgZnl5c2lzZW4gbG9oa29uIChzZWt0b3Jpbikga29rbyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwMAorbXNnaWQgImdldCBtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICJoYWUgdsOkaGltbcOkaXMtSS9PLWtva28iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDYKK21zZ2lkICJnZXQgb3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAiaGFlIHBhcmFzIEkvTy1rb2tvIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTEyCittc2dpZCAiZ2V0IGFsaWdubWVudCBvZmZzZXQgaW4gYnl0ZXMiCittc2dzdHIgImhhZSB0YXNhdXNzaWlydHltw6QgdGF2dWluYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExOAorIywgZnV6enkKK21zZ2lkICJnZXQgbWF4IHNlY3RvcnMgcGVyIHJlcXVlc3QiCittc2dzdHIgIllsaW3DpMOkcsOkaXNpw6Qgc2VrdG9yZWl0YSBzeWxpbnRlcmlsbMOkIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTI0Cittc2dpZCAiZ2V0IGJsb2Nrc2l6ZSIKK21zZ3N0ciAiaGFlIGxvaGtva29rbyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzMQorbXNnaWQgInNldCBibG9ja3NpemUgb24gZmlsZSBkZXNjcmlwdG9yIG9wZW5pbmcgdGhlIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgImdldCAzMi1iaXQgc2VjdG9yIGNvdW50IChkZXByZWNhdGVkLCB1c2UgLS1nZXRzeikiCittc2dzdHIgImhhZSAzMi1iaXR0aW5lbiBzZWt0b3JpbcOkw6Ryw6QiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNDMKK21zZ2lkICJnZXQgc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAiaGFlIGtva28gdGF2dWluYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1MAorbXNnaWQgInNldCByZWFkYWhlYWQiCittc2dzdHIgImFzZXRhIGx1a3Vlbm5ha2tvIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTU2Cittc2dpZCAiZ2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAiaGFlIGx1a3Vlbm5ha2tvIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTYzCittc2dpZCAic2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICJhc2V0YSB0aWVkb3N0b2rDpHJqZXN0ZWxtw6RuIGx1a3Vlbm5ha2tvIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTY5Cittc2dpZCAiZ2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICJoYWUgdGllZG9zdG9qw6RyamVzdGVsbcOkbiBsdWt1ZW5uYWtrbyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3MworbXNnaWQgImZsdXNoIGJ1ZmZlcnMiCittc2dzdHIgInR5aGplbm7DpCBwdXNrdXJpdCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3NworbXNnaWQgInJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgImx1ZSBvc2lvdGF1bHUgdXVkZWxsZWVuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJTEkcyAtVlxuIgorIiAlMSRzIC0tcmVwb3J0IFtkZXZpY2VzXVxuIgorIiAlMSRzIFstdnwtcV0gY29tbWFuZHMgZGV2aWNlc1xuIgorIlxuIgorIkF2YWlsYWJsZSBjb21tYW5kczpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJS0yNXMgZ2V0IHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9yc1xuIgorbXNnc3RyICJoYWUga29rbyA1MTItdGF2dWlzaW5hIHNla3RvcmVpbmEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMTEKKyMsIGZ1enp5Cittc2dpZCAiY291bGQgbm90IGdldCBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAiTGV2eW4ga29rb2EgZWkgdm9pIGhha2VhIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gY29tbWFuZDogJXMiCittc2dzdHIgIlR1bnRlbWF0b24ga29tZW50bzogJXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICIlcyB2YWF0aWkgYXJndW1lbnRpblxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzY4IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGVycm9yIG9uICVzIgorbXNnc3RyICJ0aWVkb3N0b2xsZSAlcyBlaSB2b2kga8OkeXR0w6TDpCBpb2N0bDrDpMOkIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZC5cbiIKK21zZ3N0ciAiJXMgZXDDpG9ubmlzdHVpLlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiJXMgb25uaXN0dWkuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzeXNmcyBoYW5kbGVyIgorbXNnc3RyICJQdXNrdXJpYSBlaSB2b2kgdmFyYXRhLlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHN0YXJ0IGZyb20gc3lzZnMiCittc2dzdHIgImx1ZSBvc2lvdGF1bHUgdXVkZWxsZWVuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU3RhcnRTZWMgICAgICAgICAgICBTaXplICAgRGV2aWNlXG4iCittc2dzdHIgIlJPICAgIFJBICAgU1NaICAgQlNaICAgQWxrdVNla3QgICAgICAgICAgICBLb2tvICAgTGFpdGVcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzkKK21zZ2lkICJCb290YWJsZSIKK21zZ3N0ciAiS8OkeW5uaXN0ZXR0w6R2w6QiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTc5Cittc2dpZCAiVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJBc2V0YSBueWt5aXNlbiBvc2lvbiBrw6R5bm5pc3RldHTDpHZ5eXNsaXBwdSBww6TDpGxsZS9wb2lzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MAorbXNnaWQgIkRlbGV0ZSIKK21zZ3N0ciAiUG9pc3RhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MAorbXNnaWQgIkRlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIlBvaXN0YSBueWt5aW5lbiBvc2lvIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MQorbXNnaWQgIk5ldyIKK21zZ3N0ciAiVXVzaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODEKK21zZ2lkICJDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIkx1byB1dXNpIG9zaW8gdHloasOkc3TDpCB0aWxhc3RhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MgorbXNnaWQgIlF1aXQiCittc2dzdHIgIkxvcGV0YSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODIKKyMsIGZ1enp5Cittc2dpZCAiUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBjaGFuZ2VzIgorbXNnc3RyICJMb3BldGEgb2hqZWxtYSBraXJqb2l0dGFtYXR0YSBvc2lvdGF1bHVhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MyBsaWJmZGlzay9zcmMvYnNkLmM6NDM5IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIwCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNiBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MAorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMTYKK21zZ2lkICJUeXBlIgorbXNnc3RyICJUeXlwcGkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgzCittc2dpZCAiQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiTXV1dGEgb3Npb24gdHl5cHBpw6QiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0Cittc2dpZCAiSGVscCIKK21zZ3N0ciAiT2hqZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQKK21zZ2lkICJQcmludCBoZWxwIHNjcmVlbiIKK21zZ3N0ciAiTsOkeXTDpCBvaGplcnV1dHUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1CisjLCBmdXp6eQorbXNnaWQgIlNvcnQiCittc2dzdHIgIiIKKyIgIC1TICAgICAgICAgICAgICAgICAgICAgICAgIGxhaml0dGVsZSB0aWVkb3N0b24ga29vbiBtdWthYW5cbiIKKyIgICAgICAtLXNvcnQ9U0FOQSAgICAgICAgICAgIGxhaml0dGVsZSBTQU5BbiBwZXJ1c3RlZWxsYSwgZWkgbmltZW4gbXVrYWFuOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uZSAtVSwgZXh0ZW5zaW9uIC1YLCBzaXplIC1TLCB0aW1lIC10LFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbiAtdlxuIgorIiAgICAgIC0tdGltZT1TQU5BICAgICAgICAgICAga3VuIC1sIGFubmV0dHUsIG7DpHl0w6QgbXV1dG9zYWphbiBzaWphYW4gU0FOQW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11a2FpbmVuIGFpa2E6IGF0aW1lIC11LCBhY2Nlc3MgLXUsIHVzZSAtdSxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0aW1lIC1jIHRhaSBzdGF0dXMgLWM7IGFubmV0dHVhIGFpa2FhIGvDpHl0ZXTDpMOkblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFqaXR0ZWx1dW4sIGpvcyAtLXNvcnQ9dGltZVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NQorbXNnaWQgIkZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICJLb3JqYWEgb3Npb2lkZW4gasOkcmplc3R5cyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJXcml0ZSIKK21zZ3N0ciAiS2lyam9pdGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhKSIKK21zZ3N0ciAiS2lyam9pdGEgb3Npb3RhdWx1IGxldnlsbGUgKHTDpG3DpCBzYWF0dGFhIHR1aG90YSBkYXRhYSkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRHVtcCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworIywgZnV6enkKK21zZ2lkICJEdW1wIHBhcnRpdGlvbiB0YWJsZSB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiVHVsb3N0YSBvc2lvdGF1bHUgcnV1ZHVsbGUgdGFpIHRpZWRvc3Rvb24iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6NjIwIGRpc2stdXRpbHMvZmRpc2suYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVuc3VwcG9ydGVkIGRpYWxvZyB0eXBlICVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKG1vdW50ZWQpIgorbXNnc3RyICIlcyBpcnJvdGV0dHUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI3NAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gbmFtZToiCittc2dzdHIgIm9zaW9uIG5pbWkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI4MQorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gVVVJRDoiCittc2dzdHIgIm9zaW9uIFVVSUQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI5MworIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gdHlwZToiCittc2dzdHIgIk9zaW9uIHR5eXBwaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzAwCittc2dpZCAiQXR0cmlidXRlczoiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzI0CisjLCBmdXp6eQorbXNnaWQgIkZpbGVzeXN0ZW0gVVVJRDoiCittc2dzdHIgIlVVSUQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMzMQorIywgZnV6enkKK21zZ2lkICJGaWxlc3lzdGVtIExBQkVMOiIKK21zZ3N0ciAibmltacO2ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzM3CisjLCBmdXp6eQorbXNnaWQgIkZpbGVzeXN0ZW06IgorbXNnc3RyICJTaW51bGxlIG9uIHBvc3RpYS5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzQyCisjLCBmdXp6eQorbXNnaWQgIk1vdW50cG9pbnQ6IgorbXNnc3RyICIlcyBlaSBvbGUgbGlpdG9zcGlzdGUgdGFpIHZpcmhlZWxsaW5lbiB2YWxpdHNpbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2s6ICVzIgorbXNnc3RyICJMZXZ5OiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlNpemU6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICJLb2tvOiAlcywgJWp1IHRhdnVhLCAlanUgc2VrdG9yaWEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzLCBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiTmltacO2OiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcyIKK21zZ3N0ciAiTmltacO2OiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQ2Cittc2dpZCAiTWF5IGJlIGZvbGxvd2VkIGJ5IE0gZm9yIE1pQiwgRyBmb3IgR2lCLCBUIGZvciBUaUIsIG9yIFMgZm9yIHNlY3RvcnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1MgorIywgZnV6enkKK21zZ2lkICJQbGVhc2UsIHNwZWNpZnkgc2l6ZS4iCittc2dzdHIgIktva28iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3NAorIywgYy1mb3JtYXQKK21zZ2lkICJNaW5pbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAiVsOkaGltbcOkaXNrb2tvIG9uICVqdSB0YXZ1YS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg4MworIywgYy1mb3JtYXQKK21zZ2lkICJNYXhpbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAiRW5pbW3DpGlza29rbyBvbiAlanUgdGF2dWEuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OTAKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNpemUuIgorbXNnc3RyICJKw6RzZW5ueXN2aXJoZTogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0OAorbXNnaWQgIlNlbGVjdCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiVmFsaXRzZSBvc2lvbiB0eXlwcGkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk5NCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjQKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lOiAiCittc2dzdHIgIkFubmEgc2tyaXB0aXRpZWRvc3RvbiBuaW1pOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk5NQorIywgZnV6enkKK21zZ2lkICJUaGUgc2NyaXB0IGZpbGUgd2lsbCBiZSBhcHBsaWVkIHRvIGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJFdCBweXN0eSBraXJqb2l0dGFtYWFuIG9zaW90YXVsdWEuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwNCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNDYKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2NSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJMYWl0ZXR0YSAlcyBlaSB2b2kgYXZhdGFcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDA2IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJmdHNfcmVhZCBlcMOkb25uaXN0dWk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMDggZGlzay11dGlscy9mZGlzay1tZW51LmM6NDY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0ICVzIgorbXNnc3RyICJmdHNfcmVhZCBlcMOkb25uaXN0dWk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjUKK21zZ2lkICJUaGUgY3VycmVudCBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlIHdpbGwgYmUgZHVtcGVkIHRvIHRoZSBmaWxlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzMgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDkxCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiR1BULW90c2FrZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDM5CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byByZWFkIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0LiIKK21zZ3N0ciAiUHVza3VyaWEgZWkgdm9pIHZhcmF0YS5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDUzCittc2dpZCAiRGlzayBsYXlvdXQgc3VjY2Vzc2Z1bGx5IGR1bXBlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDU2IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIHNjcmlwdCAlcyIKK21zZ3N0ciAiZnRzX3JlYWQgZXDDpG9ubmlzdHVpOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDkyCisjLCBmdXp6eQorbXNnaWQgIlNlbGVjdCBsYWJlbCB0eXBlIgorbXNnc3RyICJWaXJoZWVsbGluZW4gdHl5cHBpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwOTUgZGlzay11dGlscy9mZGlzay5jOjEwMTcKKyMsIGZ1enp5Cittc2dpZCAiRGV2aWNlIGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIkxldnkgJXMgZWkgc2lzw6RsbMOkIGtlbHZvbGxpc3RhIG9zaW90YXVsdWFcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTAxCittc2dpZCAiU2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgbGFiZWwgb3IgcHJlc3MgJ0wnIHRvIGxvYWQgc2NyaXB0IGZpbGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE0NgorIywgZnV6enkKK21zZ2lkICJUaGlzIGlzIGNmZGlzaywgYSBjdXJzZXMtYmFzZWQgZGlzayBwYXJ0aXRpb25pbmcgcHJvZ3JhbS4iCittc2dzdHIgIlTDpG3DpCBvbiBjZmRpc2ssIGN1cnNlcy1wb2hqYWluZW4gbGV2eW5vc2lvaW50aW9oamVsbWEsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDcKKyMsIGZ1enp5Cittc2dpZCAiSXQgbGV0cyB5b3UgY3JlYXRlLCBkZWxldGUsIGFuZCBtb2RpZnkgcGFydGl0aW9ucyBvbiBhIGJsb2NrIGRldmljZS4iCittc2dzdHIgImpvbGxhIHZvaSBsdW9kYSwgcG9pc3RhYSBqYSBtdXV0dGFhIGtpaW50b2xldnlsbMOkIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDkKK21zZ2lkICJDb21tYW5kICAgICAgTWVhbmluZyIKK21zZ3N0ciAiS29tZW50byAgICAgIE1lcmtpdHlzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTAKK21zZ2lkICItLS0tLS0tICAgICAgLS0tLS0tLSIKK21zZ3N0ciAiLS0tLS0tLSAgICAgIC0tLS0tLS0tIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTEKK21zZ2lkICIgIGIgICAgICAgICAgVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGIgICAgICAgICAgQXNldGEgbnlreWlzZW4gb3Npb24ga8OkeW5uaXN0ZXR0w6R2eXlzbGlwcHUgcMOkw6RsbGUvcG9pcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUyCittc2dpZCAiICBkICAgICAgICAgIERlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgZCAgICAgICAgICBQb2lzdGEgbnlreWluZW4gb3NpbyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUzCittc2dpZCAiICBoICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorbXNnc3RyICIgIGggICAgICAgICAgTsOkeXTDpCB0w6Rtw6Qgb2hqZXJ1dXR1IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTQKK21zZ2lkICIgIG4gICAgICAgICAgQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICIgIG4gICAgICAgICAgTHVvIHV1c2kgb3NpbyB0eWhqw6RzdMOkIHRpbGFzdGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NQorbXNnaWQgIiAgcSAgICAgICAgICBRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICBxICAgICAgICAgIExvcGV0YSBvaGplbG1hIGtpcmpvaXR0YW1hdHRhIG9zaW90YXVsdWEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NgorIywgZnV6enkKK21zZ2lkICIgIHMgICAgICAgICAgRml4IHBhcnRpdGlvbnMgb3JkZXIgKG9ubHkgd2hlbiBpbiBkaXNhcnJheSkiCittc2dzdHIgIiAgcyAgICAgICAgICBLb3JqYWEgb3Npb2lkZW4gasOkcmplc3R5cyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU3Cittc2dpZCAiICB0ICAgICAgICAgIENoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgdCAgICAgICAgICBNdXV0YSBvc2lvbiB0eXlwcGnDpCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU4Cittc2dpZCAiICB1ICAgICAgICAgIER1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU5CisjLCBmdXp6eQorbXNnaWQgIiAgVyAgICAgICAgICBXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAoeW91IG11c3QgZW50ZXIgdXBwZXJjYXNlIFcpOyIKK21zZ3N0ciAiICBXICAgICAgICAgIEtpcmpvaXRhIG9zaW90YXVsdSBsZXZ5bGxlIChvbiBhbm5ldHRhdmEgaXNvIGtpcmphaW4gVykiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MAorIywgZnV6enkKK21zZ2lkICIgICAgICAgICAgICAgICBzaW5jZSB0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSBvbiB0aGUgZGlzaywgeW91IG11c3QgZWl0aGVyIgorbXNnc3RyICIgICAgICAgICAgICAgS29za2EgdMOkbcOkIHNhYXR0YWEgdHVob3RhIGxldnlsbMOkIG9sZXZhYSBkYXRhYSwga2lyam9pdHVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAgICAgICAgICAgY29uZmlybSBvciBkZW55IHRoZSB3cml0ZSBieSBlbnRlcmluZyAneWVzJyBvciAnbm8nIgorbXNnc3RyICIgICAgICAgICAgICAgb24gam9rbyB2YXJtaXN0ZXR0YXZhIHRhaSBwZXJ1dHRhdmEga2lyam9pdHRhbWFsbGEg4oCdamFh4oCdIHRhaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYyCisjLCBmdXp6eQorbXNnaWQgIiAgeCAgICAgICAgICBEaXNwbGF5L2hpZGUgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIiAgLXYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb251bWVybyBqYSBwb2lzdHVcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYzCittc2dpZCAiVXAgQXJyb3cgICAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBwYXJ0aXRpb24iCittc2dzdHIgIk51b2xpIHlsw7ZzICAgU2lpcnLDpCBvc29pdGluIGVkZWxsaXNlZW4gb3Npb29uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjQKK21zZ2lkICJEb3duIEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgcGFydGl0aW9uIgorbXNnc3RyICJOdW9saSBhbGFzICAgU2lpcnLDpCBvc29pdGluIHNldXJhYXZhYW4gb3Npb29uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjUKKyMsIGZ1enp5Cittc2dpZCAiTGVmdCBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBtZW51IGl0ZW0iCittc2dzdHIgIk51b2xpIHlsw7ZzICAgU2lpcnLDpCBvc29pdGluIGVkZWxsaXNlZW4gb3Npb29uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjYKKyMsIGZ1enp5Cittc2dpZCAiUmlnaHQgQXJyb3cgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IG1lbnUgaXRlbSIKK21zZ3N0ciAiTnVvbGkgYWxhcyAgIFNpaXJyw6Qgb3NvaXRpbiBzZXVyYWF2YWFuIG9zaW9vbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY4Cittc2dpZCAiTm90ZTogQWxsIG9mIHRoZSBjb21tYW5kcyBjYW4gYmUgZW50ZXJlZCB3aXRoIGVpdGhlciB1cHBlciBvciBsb3dlciIKK21zZ3N0ciAiSHVvbTogS2Fpa2tpIGtvbWVubm90IHZvaSBhbnRhYSBqb2tvIGlzb2lsbGEgdGFpIHBpZW5pbGzDpCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY5CisjLCBmdXp6eQorbXNnaWQgImNhc2UgbGV0dGVycyAoZXhjZXB0IGZvciBXcml0ZSkuIgorbXNnc3RyICJraXJqYWltaWxsYSAocGFpdHNpIHRhdWx1biBraXJqb2l0dXMgKFcpICkuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzEKK21zZ2lkICJVc2UgbHNibGsoOCkgb3IgcGFydHgoOCkgdG8gc2VlIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgZGV2aWNlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzggZGlzay11dGlscy9jZmRpc2suYzoyNDM3Cittc2dpZCAiUHJlc3MgYSBrZXkgdG8gY29udGludWUuIgorbXNnc3RyICJQYWluYSBuw6RwcMOkaW50w6QgamF0a2Fha3Nlc2kuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNjAKKyMsIGZ1enp5Cittc2dpZCAiQ291bGQgbm90IHRvZ2dsZSB0aGUgZmxhZy4iCittc2dzdHIgIkFzZXRhIG55a3lpc2VuIG9zaW9uIGvDpHlubmlzdGV0dMOkdnl5c2xpcHB1IHDDpMOkbGxlL3BvaXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAicG9pc3RhIG9zaW8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI3MiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBoYXMgYmVlbiBkZWxldGVkLiIKK21zZ3N0ciAiT3NpbyAlenUgb24gcG9pc3RldHR1LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjkzCittc2dpZCAiUGFydGl0aW9uIHNpemU6ICIKK21zZ3N0ciAiT3Npb24ga29rbzogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiTGlzw6R0w6TDpG4gbG9vZ2luZW4gb3NpbyAlenUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIHR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJPc2lvbiAlZCBqw6RyamVzdGVsbcOkdHl5cHBpbsOkIHPDpGlseWkgJXggKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNTMgZGlzay11dGlscy9jZmRpc2suYzoyNDY2IGRpc2stdXRpbHMvZmRpc2suYzo5OTEKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU3MAorbXNnaWQgIkRldmljZSBpcyBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNTgKKyMsIGZ1enp5Cittc2dpZCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHdyaXRlIHRoZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzaz8gIgorbXNnc3RyICJIYWx1YXRrbyB2YXJtYXN0aSBraXJqb2l0dGFhIG9zaW90YXVsdW4gbGV2eWxsZT8gKGphYSB0YWkgZWkpOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzYwCittc2dpZCAiVHlwZSBcInllc1wiIG9yIFwibm9cIiwgb3IgcHJlc3MgRVNDIHRvIGxlYXZlIHRoaXMgZGlhbG9nLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjUgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDkgc3lzLXV0aWxzL2xzY3B1LmM6MTU0MAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTU1MAorbXNnaWQgInllcyIKK21zZ3N0ciAiamFhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjYKKyMsIGZ1enp5Cittc2dpZCAiRGlkIG5vdCB3cml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4iCittc2dzdHIgIk9zaW90YXVsdWEgZWkga2lyam9pdGV0dHUgbGV2eWxsZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzcxCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwuIgorbXNnc3RyICJMZXZ5bmltacO2biBraXJqb2l0dXMgZXDDpG9ubmlzdHVpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzQgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTc4Cittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiT3Npb3RhdWx1YSBvbiBtdXV0ZXR0dS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM5NyBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NjgKK21zZ2lkICJOb3RlIHRoYXQgcGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyIG5vdy4iCittc2dzdHIgIkh1b21hYSwgZXR0w6Qgb3Npb3RhdWx1biBtZXJraW5uw6R0IGVpdsOkdCBueXQgb2xlIGxldnlqw6RyamVzdHlrc2Vzc8OkLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlOyBpdCB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIG5ldyBkaXNrbGFiZWwiCittc2dzdHIgInV1ZGVuIG1hYS1hc2V0dXN0b2Fya2lzdG9uIGx1b21pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDUzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIHBhcnRpdGlvbnMiCittc2dzdHIgImx1a2VtaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJTEkcyBbb3B0aW9uc10gPGRpc2s+XG4iCittc2dzdHIgIiAlMSRzIFt2YWxpdHNpbWV0XSA8bGV2eT5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTQ5IGRpc2stdXRpbHMvZmRpc2suYzo3MzYgZGlzay11dGlscy9zZmRpc2suYzoxODEwCisjLCBmdXp6eQorbXNnaWQgIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSBhIGRpc2sgcGFydGl0aW9uIHRhYmxlLlxuIgorbXNnc3RyICJsdWUgb3Npb3RhdWx1IHV1ZGVsbGVlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTUyCisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PG1pbGxvaW4+XSAgICAgdsOkcml0w6QgdHVsb3N0ZSAoYXV0bywgYWx3YXlzIHRhaSBuZXZlcilcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTU1CisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgc3RhcnQgd2l0aCB6ZXJvZWQgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBFaSBub3JtYWFsaWEgdHVsb3N0ZXR0YVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1OTQgZGlzay11dGlscy9mZGlzay5jOjg4MiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzcKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzkwIHN5cy11dGlscy9kbWVzZy5jOjEzMzMgdGV4dC11dGlscy9oZXhkdW1wLmM6MTE0Cittc2dpZCAidW5zdXBwb3J0ZWQgY29sb3IgbW9kZSIKK21zZ3N0ciAidHVudGVtYXRvbiB2w6RyaW1vb2RpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MTIgZGlzay11dGlscy9mZGlzay5jOjgxOCBkaXNrLXV0aWxzL3NmZGlzay5jOjIyMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAiUHVza3VyaWEgZWkgdm9pIHZhcmF0YS5cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+XG4iCittc2dzdHIgIiAlcyA8bGV2eWxhaXRlPiA8b3Npb251bWVybz5cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTgKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgdG8gZm9yZ2V0IGFib3V0IGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlIHBhcnRpdGlvbiIKK21zZ3N0ciAiaGFrZW1pc3RvbiAlcyBwb2lzdGFtaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICJGb3JtYXR0aW5nIC4uLiAiCittc2dzdHIgIkFsdXN0ZXRhYW4uLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NjggZGlzay11dGlscy9mZGZvcm1hdC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJkb25lXG4iCittc2dzdHIgInZhbG1pc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmVyaWZ5aW5nIC4uLiAiCittc2dzdHIgIlZhcm1pc3RldGFhbi4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMDgKK21zZ2lkICJSZWFkOiAiCittc2dzdHIgIkx1a3U6ICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjExMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUHJvYmxlbSByZWFkaW5nIHRyYWNrL2hlYWQgJXUvJXUsIGV4cGVjdGVkICVkLCByZWFkICVkXG4iCittc2dzdHIgIk9uZ2VsbWEgbHVldHRhZXNzYSBzeWxpbnRlcmnDpCAlZCwgb2RvdGV0dGlpbiAlZCwgbHVldHRpaW4gJWRcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorImJhZCBkYXRhIGluIHRyYWNrL2hlYWQgJXUvJXVcbiIKKyJDb250aW51aW5nIC4uLiAiCittc2dzdHIgIiIKKyJ2aWFsbGlzdGEgZGF0YWEgc3lsaW50ZXJpc3PDpCAlZFxuIgorIkphdGtldGFhbi4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTgyCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjExNyBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1NiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg0CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorbXNnc3RyICIlcyBbdmFsaXRzaW1ldF0gPGxhaXRlPlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ4Cittc2dpZCAiRG8gYSBsb3ctbGV2ZWwgZm9ybWF0dGluZyBvZiBhIGZsb3BweSBkaXNrLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTEKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZyb20gPE4+ICAgIHN0YXJ0IGF0IHRoZSB0cmFjayBOIChkZWZhdWx0IDApXG4iCittc2dzdHIgIiAtY2xlYXIgPGFsbHxyZXN0PlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUyCittc2dpZCAiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgYXQgdGhlIHRyYWNrIE5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUzCittc2dpZCAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICB0cnkgdG8gcmVwYWlyIHRyYWNrcyBmYWlsZWQgZHVyaW5nXG4iCisiICAgICAgICAgICAgICAgICAgICAgdGhlIHZlcmlmaWNhdGlvbiAobWF4IE4gcmV0cmllcylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU1Cittc2dpZCAiIC1uLCAtLW5vLXZlcmlmeSAgIGRpc2FibGUgdGhlIHZlcmlmaWNhdGlvbiBhZnRlciB0aGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gZnJvbSIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIGFyZ3VtZW50dGkgJXMgJXM6bGxlIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSB0byIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIGFyZ3VtZW50dGkgJXMgJXM6bGxlIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjAxCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSByZXBhaXIiCittc2dzdHIgInZpcmhlZWxsaW5lbiBhcmd1bWVudHRpICVzICVzOmxsZSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyMSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTUxCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg1IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMzgKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4NQorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE2IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQxIGRpc2stdXRpbHMvcGFydHguYzo5MzMKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo2ODYgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzkgbWlzYy11dGlscy9uYW1laS5jOjEzNQorIzogbWlzYy11dGlscy9yZW5hbWUuYzo2MyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4NiBzeXMtdXRpbHMvZG1lc2cuYzo1MjQKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxOTggc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTMxIHN5cy11dGlscy9mc3RyaW0uYzo3NworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjUxOSBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo5MworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTMzIHRlcm0tdXRpbHMvbWVzZy5jOjEyOSB0ZXh0LXV0aWxzL21vcmUuYzo1MDQKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxMDMgdGV4dC11dGlscy90YWlsZi5jOjI4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3RhdCBvZiAlcyBmYWlsZWQiCittc2dzdHIgInN0YXQgZXDDpG9ubmlzdHVpOiAlcyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNCBkaXNrLXV0aWxzL3BhcnR4LmM6OTkxIG1pc2MtdXRpbHMvbHNibGsuYzoxNDg1CisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4OCBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAidW1vdW50OiAlczogdmlyaGVlbGxpbmVuIGxvaGtvbGFpdGUiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjkKKyMsIGZ1enp5Cittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICJOeWt5aXN0w6QgYWx1c3R1c3R5eXBwacOkIGVpIHZvaSBtw6TDpHJpdHTDpMOkIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzLXNpZGVkLCAlZCB0cmFja3MsICVkIHNlYy90cmFjay4gVG90YWwgY2FwYWNpdHkgJWQga0IuXG4iCittc2dzdHIgIiVzcHVvbGVpbmVuLCAlZCB1cmFhLCAlZCBzZWt0b3JpYS91cmEuIEtva29uYWlzdGlsYSAlZCBrdC5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMgorbXNnaWQgIkRvdWJsZSIKK21zZ3N0ciAiS2Frc2kiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzIKK21zZ2lkICJTaW5nbGUiCittc2dzdHIgIllrc2kiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzkKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MQorbXNnaWQgInVzZXIgZGVmaW5lZCBlbmQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MworbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSB1c2VyIGRlZmluZWQgZW5kIHRyYWNrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNTEgbWlzYy11dGlscy9sb2dnZXIuYzo5ODcKK21zZ2lkICJjbG9zZSBmYWlsZWQiCittc2dzdHIgImNsb3NlIGVww6Rvbm5pc3R1aSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk1IGRpc2stdXRpbHMvZmRpc2suYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkRvIHlvdSByZWFsbHkgd2FudCB0byBxdWl0PyAiCittc2dzdHIgIiIKKyJcbiIKKyJIYWx1YXRrbyB2YXJtYXN0aSBsb3BldHRhYT8gIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdCAoZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiVmFsaXRzZSAob2xldHVzICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIGRlZmF1bHQgcmVzcG9uc2UgJWMuIgorbXNnc3RyICJLw6R5dGV0w6TDpG4gb2xldHVzdmFzdGF1c3RhICVjLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjE3NiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjUwIGRpc2stdXRpbHMvZmRpc2suYzozMjUKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTg5IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjc3Cittc2dpZCAiVmFsdWUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiQXJ2byBzYWxsaXR1biB2w6RsaW4gdWxrb3B1b2xlbGxhLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglcywgb2xldHVzICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA4IGRpc2stdXRpbHMvZmRpc2suYzoyNzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglcywgb2xldHVzICVqdSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJWMtJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMTcgZGlzay11dGlscy9mZGlzay5jOjI3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJWp1LSVqdSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMpOiAiCittc2dzdHIgIiVzICglYy0lYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMyBkaXNrLXV0aWxzL2ZkaXNrLmM6MjgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCVqdS0lanUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzozOTIgZGlzay11dGlscy9zZmRpc2suYzoxOTcKKyMsIGZ1enp5Cittc2dpZCAiIFtZXWVzL1tOXW86ICIKK21zZ3N0ciAia1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDMzCittc2dpZCAiUGFydGl0aW9uIHR5cGUgKHR5cGUgTCB0byBsaXN0IGFsbCB0eXBlcyk6ICIKK21zZ3N0ciAiT3Npb24gdHl5cHBpIChMIGxpc3RhYSBrYWlra2kgdHl5cGl0KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDM0Cittc2dpZCAiSGV4IGNvZGUgKHR5cGUgTCB0byBsaXN0IGFsbCBjb2Rlcyk6ICIKK21zZ3N0ciAiSGVrc2Frb29kaSAoTCBsaXN0YWEga2Fpa2tpIGtvb2RpdCk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjUzNgorIywgZnV6enkKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIHNldCAoREVQUkVDQVRFRCEpIgorbXNnc3RyICJET1MteWh0ZWVuc29waXZ1dXNsaXBwdSBvbiBhc2V0ZXR0dVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTM3Cittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBub3Qgc2V0IgorbXNnc3RyICJET1MteWh0ZWVuc29waXZ1dXNsaXBwdWEgZWkgb2xlIGFzZXRldHR1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTU4IGRpc2stdXRpbHMvZmRpc2suYzo1OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBleGlzdCB5ZXQhIgorbXNnc3RyICJPc2lvdGEgJXp1IGVpIG9sZSB2aWVsw6Qgb2xlbWFzc2EhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTYzIGRpc2stdXRpbHMvZmRpc2suYzo1NzIgbGliZmRpc2svc3JjL2Fzay5jOjk5NQorbXNnaWQgIlVua25vd24iCittc2dzdHIgIlR1bnRlbWF0b24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJyVzJyB0byAnJXMnLiIKK21zZ3N0ciAiTGFpdHRlZW4gJXMgb3Npb3RhdWx1XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQ6ICVzLiIKK21zZ3N0ciAiT3Npb24gJWQgasOkcmplc3RlbG3DpHR5eXBwaW7DpCBzw6RpbHlpICV4ICglcylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJTE1czogJXMiCittc2dzdHIgIkxldnk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlczogb2Zmc2V0ID0gJTxQUkl1NjQ+LCBzaXplID0gJXp1IGJ5dGVzLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Njc3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZWVrIgorbXNnc3RyICJMZXZ5YXNlbWFsbGEgZWkgdm9pIHNpaXJ0ecOkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjgyCittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgImVpIHZvaWRhIGx1a2VhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Njk1IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTkgbGliZmRpc2svc3JjL2Rvcy5jOjkzMworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMTAKK21zZ2lkICJGaXJzdCBzZWN0b3IiCittc2dzdHIgIkVuc2ltbcOkaW5lbiBzZWt0b3JpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcyIKK21zZ3N0ciAiaW9jdGwoKSBlaSBvbm5pc3R1bnV0IGx1a2VtYWFuIGFpa2FhIGtvaHRlZXN0YSAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICAgIGNoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyIgJTEkcyBbb3B0aW9uc10gLWwgWzxkaXNrPl0gbGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzM5CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8c2l6ZT4gICAgICBwaHlzaWNhbCBhbmQgbG9naWNhbCBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MAorbXNnaWQgIiAtQiwgLS1wcm90ZWN0LWJvb3QgICAgICAgICAgICBkb24ndCBlcmFzZSBib290Yml0cyB3aGVuIGNyZWF0aW5nIGEgbmV3IGxhYmVsXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MQorbXNnaWQgIiAtYywgLS1jb21wYXRpYmlsaXR5Wz08bW9kZT5dICBtb2RlIGlzICdkb3MnIG9yICdub25kb3MnIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDIKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxtaWxsb2luPl0gICAgIHbDpHJpdMOkIHR1bG9zdGUgKGF1dG8sIGFsd2F5cyB0YWkgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDUKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgcGFydGl0aW9ucyBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgICAtLWhlbHAgICAgIG7DpHl0w6QgdMOkbcOkIG9oamUgamEgcG9pc3R1XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDYKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz12YWxpdHNpbWV0ICAgICBMeWh5ZXQgdHVubmlzdGV0dGF2YXQgdmFsaXRzaW1ldFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ3CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICAgICAgICAgICByZWNvZ25pemUgc3BlY2lmaWVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIG9ubHlcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDgKK21zZ2lkICIgLXUsIC0tdW5pdHNbPTx1bml0Pl0gICAgICAgICAgZGlzcGxheSB1bml0czogJ2N5bGluZGVycycgb3IgJ3NlY3RvcnMnIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDkKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLWdldHN6ICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgZGV2aWNlIHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9ycyBbREVQUkVDQVRFRF1cbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFTDpG3DpCBwaWVuaSBrw6R5dHTDtm9wYXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1MAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTEKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxtaWxsb2luPl0gICAgIHbDpHJpdMOkIHR1bG9zdGUgKGF1dG8sIGFsd2F5cyB0YWkgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTIgZGlzay11dGlscy9zZmRpc2suYzoxODUzCisjLCBmdXp6eQorbXNnaWQgIiAtVywgLS13aXBlLXBhcnRpdGlvbnMgPG1vZGU+ICB3aXBlIHNpZ25hdHVyZXMgZnJvbSBuZXcgcGFydGl0aW9ucyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxtaWxsb2luPl0gICAgIHbDpHJpdMOkIHR1bG9zdGUgKGF1dG8sIGFsd2F5cyB0YWkgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTUKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWN5bGluZGVycyA8bnVtYmVyPiAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBjeWxpbmRlcnNcbiIKK21zZ3N0ciAiQW5uYSBzeWxpbnRlcmllbiBtw6TDpHLDpDogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU2CisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgaGVhZHNcbiIKK21zZ3N0ciAiICAgIC1oIyBbdGFpIC0taGVhZHMgI106ICAgIGFzZXRhIGvDpHl0ZXR0w6R2w6QgcMOkaWRlbiBtw6TDpHLDpCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1NworIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2VjdG9ycyA8bnVtYmVyPiAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrXG4iCittc2dzdHIgIkFubmEgc2VrdG9yaWVuIG3DpMOkcsOkIHVyYWEga29oZGVuOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzZWN0b3Igc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiVmlyaGVlbGxpbmVuIGFyZ3VtZW50dGkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NDAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjeWxpbmRlcnMgYXJndW1lbnQiCittc2dzdHIgIlZpcmhlZWxsaW5lbiBhcmd1bWVudHRpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODUyCisjLCBmdXp6eQorbXNnaWQgIm5vdCBmb3VuZCBET1MgbGFiZWwgZHJpdmVyIgorbXNnc3RyICIlczogdGllZG9zdG9sbGUgJXMgZWkgbMO2eWR5IGxhaXRldHRhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29tcGF0aWJpbGl0eSBtb2RlICclcyciCittc2dzdHIgInlodGVlbnNvcGl2dXVzdGlsYSB0dWtlZSBrb3JrZWludGFhbiB5aHTDpCB0aWVkb3N0b2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NjcKK21zZ2lkICJpbnZhbGlkIGhlYWRzIGFyZ3VtZW50IgorbXNnc3RyICJ2aXJoZWVsbGluZW4gcMOkw6Rhcmd1bWVudHRpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODczCittc2dpZCAiaW52YWxpZCBzZWN0b3JzIGFyZ3VtZW50IgorbXNnc3RyICJ2aXJoZWVsbGluZW4gc2VrdG9yaWFyZ3VtZW50dGkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2tsYWJlbDogJXMiCittc2dzdHIgIiVzOiB0dW50ZW1hdG9uIGFyZ3VtZW50dGk6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MTYgZGlzay11dGlscy9mZGlzay5jOjkyMSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0NgorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB3aXBlIG1vZGUiCittc2dzdHIgInR1bnRlbWF0b24gdsOkcmltb29kaSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkzNAorIywgZnV6enkKK21zZ2lkICJUaGUgZGV2aWNlIHByb3BlcnRpZXMgKHNlY3RvciBzaXplIGFuZCBnZW9tZXRyeSkgc2hvdWxkIGJlIHVzZWQgd2l0aCBvbmUgc3BlY2lmaWVkIGRldmljZSBvbmx5LiIKK21zZ3N0ciAiVmFyb2l0dXM6IHZhbGl0c2ludGEgLWIgKHNla3Rvcmlrb29uIGFzZXR1cykgdHVsZWUga8OkeXR0w6TDpCB5aGRlbiBhbm5ldHVuIGxhaXR0ZWVuIGthbnNzYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIldlbGNvbWUgdG8gZmRpc2sgKCVzKS4iCittc2dzdHIgIlRlcnZldHVsb2EgZmRpc2tpaW4gKCVzKS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5ODQgZGlzay11dGlscy9zZmRpc2suYzoxNTg4Cittc2dpZCAiIgorIkNoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS5cbiIKKyJCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC5cbiIKK21zZ3N0ciAiIgorIk11dXRva3NldCB0ZWhkw6TDpG4gdmFpbiBrw6R5dHTDtm11aXN0aWluLCBrdW5uZXMgcMOkw6R0w6R0IGtpcmpvaXR0YWEgbmUgbGV2eWxsZS5cbiIKKyJPbGUgdmFyb3ZhaW5lbiBraXJqb2l0dXNrb21lbm5vbiBrw6R5dMO2c3PDpC5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMDEgZGlzay11dGlscy9zZmRpc2suYzoxNjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAlcyBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxMCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NDIgZGlzay11dGlscy9zZmRpc2suYzoxNDg0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjIKK21zZ2lkICJUaGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDEzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyNQorbXNnaWQgIkl0IGlzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSwgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMjIKK21zZ2lkICJBIGh5YnJpZCBHUFQgd2FzIGRldGVjdGVkLiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBoeWJyaWQgTUJSIG1hbnVhbGx5IChleHBlcnQgY29tbWFuZCAnTScpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzayAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIktva286ICVzLCAlanUgdGF2dWEsICVqdSBzZWt0b3JpYSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdlb21ldHJ5OiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzL3RyYWNrLCAlbGx1IGN5bGluZGVycyIKK21zZ3N0ciAiJWQgcMOkw6R0w6QsICVsbHUgc2VrdG9yaWEvdXJhLCAlZCBzeWxpbnRlcmnDpCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NTkgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbml0czogJXMgb2YgJWQgKiAlbGQgPSAlbGQgYnl0ZXMiCittc2dzdHIgIiU2LjJmJSUgKCUrbGQgdGF2dWEpXHQlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2NSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25tZW50IG9mZnNldDogJWx1IGJ5dGVzIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gaS1zb2xtdW4ga29rbyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB0eXBlOiAlcyIKK21zZ3N0ciAiTGV2eWFzZW1hOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiVHVubmlzdGUgcG9pc3RldHR1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMDkgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjE5CisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjQ0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBpdGVyYXRvciIKK21zZ3N0ciAicmlpcHB1dnV1c2xpc3RhbGxlIGVpIHZvaSB2YXJhdGEgbXVpc3RpYSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTE1IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJPc2lvdGF1bHVuIHV1ZGVsbGVlbmx1a3UgZXDDpG9ubmlzdHVpLiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTU2IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI0OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiCittc2dzdHIgImNhY2hlX3NldCB1aHJpbiB2YXJhdXMgZXDDpG9ubmlzdHVpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3Qgc3RhcnQgb24gcGh5c2ljYWwgc2VjdG9yIGJvdW5kYXJ5LiIKK21zZ3N0ciAiT3Npb24gJWkgYWxrdSBlaSBvbGUgZnl5c2lzZW4gc2VrdG9yaW4gcmFqYWxsYS5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTkyCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4iCittc2dzdHIgIkh1b21hYSwgZXR0w6Qgb3Npb3RhdWx1biBtZXJraW5uw6R0IGVpdsOkdCBueXQgb2xlIGxldnlqw6RyamVzdHlrc2Vzc8OkLiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE1IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAwCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxMiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NCBsaWJmZGlzay9zcmMvc3VuLmM6MTExMAorbXNnaWQgIlN0YXJ0IgorbXNnc3RyICJBbGt1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTYgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDEKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTEzIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU1IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTExCittc2dpZCAiRW5kIgorbXNnc3RyICJMb3BwdSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE3IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAyCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NiBsaWJmZGlzay9zcmMvc3VuLmM6MTExMgorbXNnaWQgIlNlY3RvcnMiCittc2dzdHIgIlNla3Rvcml0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTkgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDQKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE1IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU4IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE0Cittc2dpZCAiU2l6ZSIKK21zZ3N0ciAiS29rbyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbnBhcnRpdGlvbmVkIHNwYWNlICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiS29rbzogJXMsICVqdSB0YXZ1YSwgJWp1IHNla3RvcmlhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC1vKTpcbiIKK21zZ3N0ciAiU2FyYWtrZWl0YSAgICAgICAgICA6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQ1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICJ0dW50ZW1hdG9uIGvDpHl0dMOkasOkLUlEOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTUKKyMsIGZ1enp5Cittc2dpZCAiR2VuZXJpYyIKK21zZ3N0ciAiWWxlaW5lbiBqw6RyamVzdGVsbcOkdmlyaGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk2Cittc2dpZCAiZGVsZXRlIGEgcGFydGl0aW9uIgorbXNnc3RyICJwb2lzdGEgb3NpbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTcKKyMsIGZ1enp5Cittc2dpZCAibGlzdCBmcmVlIHVucGFydGl0aW9uZWQgc3BhY2UiCittc2dzdHIgIiAgIGUgICAgbGlzdGFhIGxhYWplbm5ldHV0IG9zaW90IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OAorIywgZnV6enkKK21zZ2lkICJsaXN0IGtub3duIHBhcnRpdGlvbiB0eXBlcyIKK21zZ3N0ciAibHVldHRlbGUga2Fpa2tpIHR1bm5ldHV0IGtvb2RhdHV0IG1lcmtpc3TDtnQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5Cittc2dpZCAiYWRkIGEgbmV3IHBhcnRpdGlvbiIKK21zZ3N0ciAibGlzw6TDpCB1dXNpIG9zaW8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMAorIywgZnV6enkKK21zZ2lkICJwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJUdWxvc3RhIG9zaW90YXVsdSBydXVkdWxsZSB0YWkgdGllZG9zdG9vbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAxCittc2dpZCAiY2hhbmdlIGEgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIm11dXRhIG9zaW9uIHR5eXBwacOkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAidmVyaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIm9zaW90YXVsdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzCisjLCBmdXp6eQorbXNnaWQgInByaW50IGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICIlczogZWkgb2xlIGxvaGtvbGFpdGVcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1CisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAiICAgZCAgICBuw6R5dMOkIG9zaW90YXVsdW4gcmFha2EgZGF0YSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA2CisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZGlza2xhYmVsIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAiICAgZCAgICBuw6R5dMOkIG9zaW90YXVsdW4gcmFha2EgZGF0YSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA3Cittc2dpZCAiZml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgImtvcmphYSBvc2lvaWRlbiBqw6RyamVzdHlzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDkKK21zZ2lkICJNaXNjIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMAorbXNnaWQgInByaW50IHRoaXMgbWVudSIKK21zZ3N0ciAibsOkeXTDpCB0w6Rtw6QgdmFsaWtrbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTExCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXNwbGF5L2VudHJ5IHVuaXRzIgorbXNnc3RyICIgIHUgICAgICAgICAgTXV1dGEgb3Npb2tva29uw6RreW3DpG4geWtzaWvDtml0w6QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMgorIywgZnV6enkKK21zZ2lkICJleHRyYSBmdW5jdGlvbmFsaXR5IChleHBlcnRzIG9ubHkpIgorbXNnc3RyICJNdXV0YSBsZXZ5biBnZW9tZXRyaWFhICh2YWluIGFzaWFudHVudGlqb2lsbGUpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTQKK21zZ2lkICJTY3JpcHQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE1Cittc2dpZCAibG9hZCBkaXNrIGxheW91dCBmcm9tIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTYKK21zZ2lkICJkdW1wIGRpc2sgbGF5b3V0IHRvIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTgKK21zZ2lkICJTYXZlICYgRXhpdCIKK21zZ3N0ciAiVGFsbGVubmEgJiBsb3BldGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOQorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXQiCittc2dzdHIgImtpcmpvaXRhIHRhdWx1IGxldnlsbGUgamEgbG9wZXRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjAKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIgorbXNnc3RyICJraXJqb2l0YSB0YXVsdSBsZXZ5bGxlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjEKKyMsIGZ1enp5Cittc2dpZCAicXVpdCB3aXRob3V0IHNhdmluZyBjaGFuZ2VzIgorbXNnc3RyICJMb3BldGEgb2hqZWxtYSBraXJqb2l0dGFtYXR0YSBvc2lvdGF1bHVhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjIKK21zZ2lkICJyZXR1cm4gdG8gbWFpbiBtZW51IgorbXNnc3RyICJwYWxhYSBww6TDpHZhbGlra29vbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTI0CisjLCBmdXp6eQorbXNnaWQgInJldHVybiBmcm9tIEJTRCB0byBET1MiCittc2dzdHIgInBhbGF1dHVzIHlodGVlbnNvcGltYXR0b21hc3RhIG9zb2l0aW50eXlwaXN0w6QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNQorIywgZnV6enkKK21zZ2lkICJDcmVhdGUgYSBuZXcgbGFiZWwiCittc2dzdHIgIkx1byB1dXNpIGVuc2nDtm9zaW8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNgorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgR1BUIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgbyAgICBsdW8gdXVzaSB0eWhqw6QgRE9TLW9zaW90YXVsdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTR0kgKElSSVgpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgbyAgICBsdW8gdXVzaSB0eWhqw6QgRE9TLW9zaW90YXVsdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM4CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgICBvICAgIGx1byB1dXNpIHR5aGrDpCBET1Mtb3Npb3RhdWx1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzkKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFN1biBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIG8gICAgbHVvIHV1c2kgdHloasOkIERPUy1vc2lvdGF1bHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0MworIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYW4gSVJJWCAoU0dJKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIGcgICAgbHVvIElSSVggKFNHSSkgLW9zaW90YXVsdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTUyCittc2dpZCAiR2VvbWV0cnkiCittc2dzdHIgIkdlb21ldHJpYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTUzCittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgIm11dXRhIHN5bGludGVyaWVuIG3DpMOkcsOkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTQKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICJtdXV0YSBww6RpZGVuIG3DpMOkcsOkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTUKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2siCittc2dzdHIgIm11dXRhIHNla3RvcmllbiBtw6TDpHLDpCB1cmFhIGtvaGRlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk1Cittc2dpZCAiR1BUIgorbXNnc3RyICJHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NQorbXNnaWQgImNoYW5nZSBkaXNrIEdVSUQiCittc2dzdHIgIm11dXRhIGxldnluIEdVSUQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NgorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAibXV1dGEgb3Npb24gbmltaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY3Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJtdXV0YSBvc2lvbiBVVUlEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjgKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHRhYmxlIGxlbmd0aCIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjkKK21zZ2lkICJlbnRlciBwcm90ZWN0aXZlL2h5YnJpZCBNQlIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTcyCisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgbGVnYWN5IEJJT1MgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiQXNldGEgbnlreWlzZW4gb3Npb24ga8OkeW5uaXN0ZXR0w6R2eXlzbGlwcHUgcMOkw6RsbGUvcG9pcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTczCisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgbm8gYmxvY2sgSU8gcHJvdG9jb2wgZmxhZyIKK21zZ3N0ciAiQXNldGEgbnlreWlzZW4gb3Npb24ga8OkeW5uaXN0ZXR0w6R2eXlzbGlwcHUgcMOkw6RsbGUvcG9pcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc0CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgcmVxdWlyZWQgcGFydGl0aW9uIGZsYWciCittc2dzdHIgIkFzZXRhIG55a3lpc2VuIG9zaW9uIGvDpHlubmlzdGV0dMOkdnl5c2xpcHB1IHDDpMOkbGxlL3BvaXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NQorbXNnaWQgInRvZ2dsZSB0aGUgR1VJRCBzcGVjaWZpYyBiaXRzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NQorbXNnaWQgIlN1biIKK21zZ3N0ciAiU3VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSByZWFkLW9ubHkgZmxhZyIKK21zZ3N0ciAiQXNldGEgbnlreWlzZW4gb3Npb24ga8OkeW5uaXN0ZXR0w6R2eXlzbGlwcHUgcMOkw6RsbGUvcG9pcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg3CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgbW91bnRhYmxlIGZsYWciCittc2dzdHIgIkFzZXRhIG55a3lpc2VuIG9zaW9uIGvDpHlubmlzdGV0dMOkdnl5c2xpcHB1IHDDpMOkbGxlL3BvaXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIlZhaWh0b2VodG9pc3RlbiBzeWxpbnRlcmllbiBtw6TDpHLDpCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkwCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgZXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgIllsaW3DpMOkcsOkaXNpw6Qgc2VrdG9yZWl0YSBzeWxpbnRlcmlsbMOkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTEKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICJMb21pdHVza2Vycm9pbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkyCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSByb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAiUHnDtnJpbWlzbm9wZXVzIChycG0pIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIkZ5eXNpc3RlbiBzeWxpbnRlcmllbiBtw6TDpHLDpCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjAyCittc2dpZCAiU0dJIgorbXNnc3RyICJTR0kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwMworIywgZnV6enkKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICJUw6RzdMOkIG9zaW9zdGEgZWkgdm9pIHRlaGTDpCBrw6R5bm5pc3RldHTDpHbDpMOkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDQKKyMsIGZ1enp5Cittc2dpZCAiZWRpdCBib290ZmlsZSBlbnRyeSIKK21zZ3N0ciAiS8OkeW5uaXN0eXN0aWVkb3N0b2tzaSBtdXV0ZXR0aWluIOKAnSVz4oCdLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA1CisjLCBmdXp6eQorbXNnaWQgInNlbGVjdCBzZ2kgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIlNpdnV0dXNvc2lvbGxhIGVpIG9sZSBzaXZ1dHVzdHl5cHBpw6QuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDYKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIFNHSSBpbmZvIgorbXNnc3RyICJTR0kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNQorIywgZnV6enkKK21zZ2lkICJET1MgKE1CUikiCittc2dzdHIgIllodMOkw6RuIGVuc2nDtm9zaW90YSBlaSBvbGUgbWVya2l0dHkga8OkeW5uaXN0ZXR0w6R2w6Rrc2kuIERPUyBNQlIgZWkga8OkeW5uaXN0w6QgdMOkdMOkLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE2CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSBhIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIkFzZXRhIG55a3lpc2VuIG9zaW9uIGvDpHlubmlzdGV0dMOkdnl5c2xpcHB1IHDDpMOkbGxlL3BvaXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNworIywgZnV6enkKK21zZ2lkICJlZGl0IG5lc3RlZCBCU0QgZGlza2xhYmVsIgorbXNnc3RyICJMYWl0dGVlbGxhICVzIGVpIG9sZSBCU0QtbGV2eW5pbWnDtnTDpC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxOAorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIGRvcyBjb21wYXRpYmlsaXR5IGZsYWciCittc2dzdHIgIkFzZXRhIG55a3lpc2VuIG9zaW9uIGvDpHlubmlzdGV0dMOkdnl5c2xpcHB1IHDDpMOkbGxlL3BvaXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMAorIywgZnV6enkKK21zZ2lkICJtb3ZlIGJlZ2lubmluZyBvZiBkYXRhIGluIGEgcGFydGl0aW9uIgorbXNnc3RyICJVdXNpIGRhdGFuIGFsa3UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgdGhlIGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiVHVubmlzdGUgcG9pc3RldHR1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjMKK21zZ2lkICJyZXR1cm4gZnJvbSBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgdG8gR1BUIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzMworIywgZnV6enkKK21zZ2lkICJCU0QiCittc2dzdHIgIkJTRC9PUyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM0CisjLCBmdXp6eQorbXNnaWQgImVkaXQgZHJpdmUgZGF0YSIKK21zZ3N0ciAib2xldmlhIG9zaW9pdGEuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzUKKyMsIGZ1enp5Cittc2dpZCAiaW5zdGFsbCBib290c3RyYXAiCittc2dzdHIgIkVzaWxhdGF1c29oamVsbWEgb24gcMOkw6RsbGVra8OkaW5lbiBsZXZ5bmltacO2biBrYW5zc2EhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzYKKyMsIGZ1enp5Cittc2dpZCAic2hvdyBjb21wbGV0ZSBkaXNrbGFiZWwiCittc2dzdHIgIkVzaWxhdGF1c29oamVsbWEgb24gcMOkw6RsbGVra8OkaW5lbiBsZXZ5bmltacO2biBrYW5zc2EhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAibGluayBCU0QgcGFydGl0aW9uIHRvIG5vbi1CU0QgcGFydGl0aW9uIgorbXNnc3RyICIgICB4ICAgIGxpbmtpdMOkIEJTRC1vc2lvIGVpLUJTRC1vc2lvb24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHAgKGV4cGVydCBjb21tYW5kcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJPaGplOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzEgZGlzay11dGlscy9zZmRpc2suYzoxMjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwOlxuIgorbXNnc3RyICIiCisiXG4iCisiT2hqZTpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzkxCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSdyZSBlZGl0aW5nIG5lc3RlZCAnJXMnIHBhcnRpdGlvbiB0YWJsZSwgcHJpbWFyeSBwYXJ0aXRpb24gdGFibGUgaXMgJyVzJy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDIxCittc2dpZCAiRXhwZXJ0IGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIkFzaWFudHVudGlqYWtvbWVudG8gKG0gYW50YWEgb2hqZWVuKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjMKK21zZ2lkICJDb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJLb21lbnRvIChtIGFudGFhIG9oamVlbik6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlYzogdW5rbm93biBjb21tYW5kIgorbXNnc3RyICJ0dW50ZW1hdG9uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NTggZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg1CisjLCBmdXp6eQorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWUiCittc2dzdHIgIlNrcmlwdGkga8OkeW5uaXN0ZXR0eSwgdGllZG9zdG8gb24gJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDcxCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBhcHBsaWVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0OTcKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNmb3JtIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxMQorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgc2F2ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzNCBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiT3NpbyAlenU6IHNpc8OkbHTDpMOkIHNla3RvcmluIDAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzNyBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzkKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gcmVtb3ZlIHRoZSBzaWduYXR1cmU/IgorbXNnc3RyICJIYWx1YXRrbyBraXJqb2l0dGFhIHTDpG3DpG4gbGV2eWxsZT8gW3lucV0gIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAia2lyam9pdHVzIGVww6Rvbm5pc3R1aSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjEzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBmaXggcGFydGl0aW9ucyBvcmRlci4iCittc2dzdHIgImtvcmphYSBvc2lvaWRlbiBqw6RyamVzdHlzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MTUKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9ucyBvcmRlciBmaXhlZC4iCittc2dzdHIgIk9zaW9pdGEgZWkgb2xlIG3DpMOkcml0ZWx0eS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJwb2lzdGEgb3NpbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjYwCisjLCBmdXp6eQorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gY3lsaW5kZXJzIChERVBSRUNBVEVEISkuIgorbXNnc3RyICJWYWloZGV0YWFuIG7DpGt5bcOkL3N5w7Z0ZXlrc2lrw7Zpa3NpICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY2MgorIywgZnV6enkKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIHNlY3RvcnMuIgorbXNnc3RyICJWYWloZGV0YWFuIG7DpGt5bcOkL3N5w7Z0ZXlrc2lrw7Zpa3NpICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY3MiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4NDIKKyMsIGZ1enp5Cittc2dpZCAiTGVhdmluZyBuZXN0ZWQgZGlza2xhYmVsLiIKK21zZ3N0ciAiJXFEIGVzaXRlbHR5IGV4dGVybi1hdmFpbnNhbmFsbGEgc2lzw6Rra8OkaW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjcwOQorbXNnaWQgIk5ldyBtYXhpbXVtIGVudHJpZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzE5CisjLCBmdXp6eQorbXNnaWQgIkVudGVyaW5nIHByb3RlY3RpdmUvaHlicmlkIE1CUiBkaXNrbGFiZWwuIgorbXNnc3RyICJMYWl0dGVlbGxhICVzIGVpIG9sZSBCU0QtbGV2eW5pbWnDtnTDpC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjczNQorIywgZnV6enkKK21zZ2lkICJOZXcgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICJLw6R5dGV0dMOkdsOkIG11b3RvOiDigJ1uZXfigJ0sIOKAnW9sZOKAnSB0YWkg4oCdY29tcGF04oCdIChvbGV0dXMpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NTAKK21zZ2lkICJOZXcgbmFtZSIKK21zZ3N0ciAiVXVzaSBuaW1pIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4MTMKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXJpbmcgbmVzdGVkIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICJMYWl0dGVlbGxhICVzIGVpIG9sZSBCU0QtbGV2eW5pbWnDtnTDpC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5OAorbXNnaWQgIk51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgIlN5bGludGVyaWVuIG3DpMOkcsOkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAyCittc2dpZCAiTnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICJQw6RpZGVuIG3DpMOkcsOkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDA2Cittc2dpZCAiTnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIlNla3RvcmllbiBtw6TDpHLDpCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkXG4iCittc2dzdHIgIiVzIG9uIGxpaXRldHR5Llx0ICIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbW91bnRlZFxuIgorbXNnc3RyICJmc2NrOiAlczogZWkgbMO2eXR5bnl0XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc0CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTgxIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzUKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNTMgZGlzay11dGlscy9zZmRpc2suYzoyOTcgbGliZmRpc2svc3JjL2JzZC5jOjY0NgorIzogbGliL3BhdGguYzoxMTAgbGliL3BhdGguYzoxMzEgbGliL3BhdGguYzoxNTIgbGliL3BhdGguYzoyMDAKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMTMgbG9naW4tdXRpbHMvbGFzdC5jOjI1MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NjY0CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzOSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MTcgdGVybS11dGlscy9zZXR0ZXJtLmM6Nzc0CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzggdGVybS11dGlscy9zZXR0ZXJtLmM6Nzg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCAlcyIKK21zZ3N0ciAiaGFrZW1pc3RvYSAlcyBlaSB2b2kgbHVrZWEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMyBsaWIvcGF0aC5jOjEzMyBsaWIvcGF0aC5jOjE1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicGFyc2UgZXJyb3I6ICVzIgorbXNnc3RyICJKw6RzZW5ueXN2aXJoZTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgJXMiCittc2dzdHIgImhha2VtaXN0b24gJXMgbHVvbWluZW4gZWkgb25uaXN0dSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMb2NraW5nIGRpc2sgYnkgJXMgLi4uICIKK21zZ3N0ciAiVW1waWt1amEgdGllZG9zdG9uIGx1a2lubmFzc2EgLXZpcmhlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiKHdhaXRpbmcpICIKK21zZ3N0ciAiKG9kb3RldGFhbikgIgorCisjLiBUUkFOU0xBVE9SUzogVGhlc2UgYXJlIGZvbGxvd3VwcyB0byAiTG9ja2luZyBkaXNrLi4uIi4KKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5NAorbXNnaWQgInN1Y2NlZWRlZCIKK21zZ3N0ciAib25uaXN0dWkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5NAorbXNnaWQgImZhaWxlZCIKK21zZ3N0ciAiZXDDpG9ubmlzdHVpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVubG9ja2luZyAlcy5cbiIKK21zZ3N0ciAiJXMgJXMlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXR1cCBkZXNjcmlwdGlvbiBmb3IgJXMiCittc2dzdHIgIiVzOiB0eWhqw6TDpCBrYXRlZ29yaWFrdXZhdXN0YSBlaSBzYWxsaXRhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NzQgbWlzYy11dGlscy9maW5kbW50LmM6NzgyIG1pc2MtdXRpbHMvbHNibGsuYzo0MzMKKyM6IHN5cy11dGlscy9tb3VudC5jOjEwMiBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjE5IHN5cy11dGlscy91bW91bnQuYzo0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQgLS0gaWdub3JlZCIKK21zZ3N0ciAic2lpcnR5bWlzdmlyaGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjUwNiBkaXNrLXV0aWxzL2ZzY2suYzo1MDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UgZnN0YWIiCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njc5IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTY4IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDM0CisjOiBsb2dpbi11dGlscy92aXB3LmM6MjA0IHN5cy11dGlscy9mbG9jay5jOjM0NSBzeXMtdXRpbHMvbnNlbnRlci5jOjE1MworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxNiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIxOSBzeXMtdXRpbHMvdW5zaGFyZS5jOjQyMAorIzogdGVybS11dGlscy9zY3JpcHQuYzo3ODAKKyMsIGZ1enp5Cittc2dpZCAiZm9yayBmYWlsZWQiCittc2dzdHIgImZvcmsoKSBlcMOkb25uaXN0dWksIHlyaXTDpCBtecO2aGVtbWluIHV1ZGVsbGVlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRlIGZhaWxlZCIKK21zZ3N0ciAiJXMgZXDDpG9ubmlzdHVpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3NzQKKyMsIGZ1enp5Cittc2dpZCAid2FpdDogbm8gbW9yZSBjaGlsZCBwcm9jZXNzPyE/IgorbXNnc3RyICJvZG90ZXRhYW4gbGFwc2lwcm9zZXNzaWEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc3NyBzeXMtdXRpbHMvZmxvY2suYzozNjMgc3lzLXV0aWxzL3N3YXBvbi5jOjM0OAorIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MDQgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MjUKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCIKK21zZ3N0ciAid2FpdHBpZCBlcMOkb25uaXN0dWkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc5NQorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nLi4uICVzIGZvciBkZXZpY2UgJXMgZXhpdGVkIHdpdGggc2lnbmFsICVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXM6IHN0YXR1cyBpcyAleCwgc2hvdWxkIG5ldmVyIGhhcHBlbi4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGaW5pc2hlZCB3aXRoICVzIChleGl0IHN0YXR1cyAlZClcbiIKK21zZ3N0ciAiJXM6IEMtZXNpa8Okw6RudMOkasOkIGVww6Rvbm5pc3R1aSBwYWx1dWFydm9sbGEgJWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6OTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yICVkICglbSkgd2hpbGUgZXhlY3V0aW5nIGZzY2suJXMgZm9yICVzIgorbXNnc3RyICJ2aXJoZSAlZCAoJW0pIGvDpHlubmlzdGV0dMOkZXNzw6QgZnNjay4lczp0YSBsYWl0dGVlbGxlICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5OTEKK21zZ2lkICIiCisiRWl0aGVyIGFsbCBvciBub25lIG9mIHRoZSBmaWxlc3lzdGVtIHR5cGVzIHBhc3NlZCB0byAtdCBtdXN0IGJlIHByZWZpeGVkXG4iCisid2l0aCAnbm8nIG9yICchJy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgYmFkIGxpbmUgaW4gL2V0Yy9mc3RhYjogYmluZCBtb3VudCB3aXRoIG5vbnplcm8gZnNjayBwYXNzIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgbm9uZXhpc3RlbnQgZGV2aWNlXG4iCittc2dzdHIgImrDpHRldMOkw6RuIHB1dXR0dXZhIGhha2VtaXN0byDigJ0lc+KAnSBodW9taW90dGFcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9uZXhpc3RlbnQgZGV2aWNlIChcIm5vZmFpbFwiIGZzdGFiIG9wdGlvbiBtYXkgYmUgdXNlZCB0byBza2lwIHRoaXMgZGV2aWNlKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZVxuIgorbXNnc3RyICJ0dW50ZW1hdG9uIHRpZWRvc3RvasOkcmplc3RlbG3DpG4gdHl5cHBpIOKAnSVz4oCdIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGVjayAlczogZnNjay4lcyBub3QgZm91bmQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTI1OQorbXNnaWQgIkNoZWNraW5nIGFsbCBmaWxlIHN5c3RlbXMuXG4iCittc2dzdHIgIlRhcmtpc3RldGFhbiBrYWlra2kgdGllZG9zdG9qw6RyamVzdGVsbcOkdC5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS13YWl0aW5nLS0gKHBhc3MgJWQpXG4iCittc2dzdHIgIiAgLVhwcmVwcm9jZXNzb3IgPGFyZz4gICAgIFbDpGxpdMOkIDxhcmc+IGVzaWvDpMOkbnTDpGrDpGxsZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC0tIFtmcy1vcHRpb25zXSBbPGZpbGVzeXN0ZW0+IC4uLl1cbiIKK21zZ3N0ciAiJXMgW3ZhbGl0c2ltZXRdIFs8dGllZG9zdG8+IC4uLl1cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM3OQorIywgZnV6enkKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiVGFya2lzdGV0YWFuIGthaWtraSB0aWVkb3N0b2rDpHJqZXN0ZWxtw6R0LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzgyCisjLCBmdXp6eQorbXNnaWQgIiAtQSAgICAgICAgIGNoZWNrIGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICJ0YXJraXN0dXMga2Vza2V5dGV0dHkuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODMKK21zZ2lkICIgLUMgWzxmZD5dICBkaXNwbGF5IHByb2dyZXNzIGJhcjsgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NAorbXNnaWQgIiAtbCAgICAgICAgIGxvY2sgdGhlIGRldmljZSB0byBndWFyYW50ZWUgZXhjbHVzaXZlIGFjY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODUKKyMsIGZ1enp5Cittc2dpZCAiIC1NICAgICAgICAgZG8gbm90IGNoZWNrIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICB0ICAgICAgICAgIE11dXRhIHRpZWRvc3RvasOkcmplc3RlbG3DpG4gdHl5cHBpw6QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODYKK21zZ2lkICIgLU4gICAgICAgICBkbyBub3QgZXhlY3V0ZSwganVzdCBzaG93IHdoYXQgd291bGQgYmUgZG9uZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODcKK21zZ2lkICIgLVAgICAgICAgICBjaGVjayBmaWxlc3lzdGVtcyBpbiBwYXJhbGxlbCwgaW5jbHVkaW5nIHJvb3RcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg4Cittc2dpZCAiIC1SICAgICAgICAgc2tpcCByb290IGZpbGVzeXN0ZW07IHVzZWZ1bCBvbmx5IHdpdGggJy1BJ1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODkKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtciBbPGZkPl0gIHJlcG9ydCBzdGF0aXN0aWNzIGZvciBlYWNoIGRldmljZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIgICAgLWwgW3RhaSAtLWxpc3RdOiAgICAgbGlzdGFhIGthaWtraWVuIGxhaXR0ZWlkZW4gb3Npb3QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTEKKyMsIGZ1enp5Cittc2dpZCAiIC1zICAgICAgICAgc2VyaWFsaXplIHRoZSBjaGVja2luZyBvcGVyYXRpb25zXG4iCittc2dzdHIgIlRpZWRvc3RvasOkcmplc3RlbG3DpCBsYWl0dGVlbGxhICVzIG9uIGxpa2FpbmVuLCB2YWF0aWkgdGFya2lzdHVrc2VuLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkyCisjLCBmdXp6eQorbXNnaWQgIiAtVCAgICAgICAgIGRvIG5vdCBzaG93IHRoZSB0aXRsZSBvbiBzdGFydHVwXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICDDpGzDpCBraXJqb2l0YSBsZXZ5bGxlIG9pa2Vhc3RpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkzCittc2dpZCAiIgorIiAtdCA8dHlwZT4gIHNwZWNpZnkgZmlsZXN5c3RlbSB0eXBlcyB0byBiZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIDx0eXBlPiBpcyBhbGxvd2VkIHRvIGJlIGEgY29tbWEtc2VwYXJhdGVkIGxpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk1CisjLCBmdXp6eQorbXNnaWQgIiAtViAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk2CisjLCBmdXp6eQorbXNnaWQgIiAtPyAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgIC0taGVscCAgICAgbsOkeXTDpCB0w6Rtw6Qgb2hqZSBqYSBwb2lzdHVcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OQorbXNnaWQgIlNlZSB0aGUgc3BlY2lmaWMgZnNjay4qIGNvbW1hbmRzIGZvciBhdmFpbGFibGUgZnMtb3B0aW9ucy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQzOAorbXNnaWQgInRvbyBtYW55IGRldmljZXMiCittc2dzdHIgImxpaWFuIG1vbnRhIGxhaXRldHRhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDUwCittc2dpZCAiSXMgL3Byb2MgbW91bnRlZD8iCittc2dzdHIgIk9ua28gL3Byb2MgbGlpdGV0dHk/IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHJvb3QgdG8gc2NhbiBmb3IgbWF0Y2hpbmcgZmlsZXN5c3RlbXM6ICVzIgorbXNnc3RyICJJcnJvdGV0YWFuIGrDpGxqZWxsw6Qgb2xldmF0IHRpZWRvc3RvasOkcmplc3RlbG3DpHQuLi4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGZpbmQgbWF0Y2hpbmcgZmlsZXN5c3RlbTogJXMiCittc2dzdHIgIklycm90ZXRhYW4gasOkbGplbGzDpCBvbGV2YXQgdGllZG9zdG9qw6RyamVzdGVsbcOkdC4uLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ3MCBkaXNrLXV0aWxzL2ZzY2suYzoxNTY1IG1pc2MtdXRpbHMva2lsbC5jOjM2MworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mjc5Cittc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgorbXNnc3RyICJsaWlhbiBtb250YSBhcmd1bWVudHRpYSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTUyNSBkaXNrLXV0aWxzL2ZzY2suYzoxNTI4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXIiCittc2dzdHIgInZpcmhlZWxsaW5lbiBhcmd1bWVudHRpICVzICVzOmxsZSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtcjogJWQiCittc2dzdHIgInZpcmhlZWxsaW5lbiBhcmd1bWVudHRpOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTYxOAorbXNnaWQgInRoZSAtbCBvcHRpb24gY2FuIGJlIHVzZWQgd2l0aCBvbmUgZGV2aWNlIG9ubHkgLS0gaWdub3JlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+XG4iCittc2dzdHIgIkvDpHl0dMO2OiAlcyBbdmFsaXRzaW1ldF0gbGFpdGUgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTYKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgY29tcHJlc3NlZCBST00gZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE5Cittc2dpZCAiIC1hICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMQorbXNnaWQgIiAteSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjIKK21zZ2lkICIgLWIsIC0tYmxvY2tzaXplIDxzaXplPiAgIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgZGVmYXVsdHMgdG8gcGFnZSBzaXplXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMworbXNnaWQgIiAgICAgLS1leHRyYWN0Wz08ZGlyPl0gICAgdGVzdCB1bmNvbXByZXNzaW9uLCBvcHRpb25hbGx5IGV4dHJhY3QgaW50byA8ZGlyPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGZhaWxlZDogdW5hYmxlIHRvIGRldGVybWluZSBkZXZpY2Ugc2l6ZTogJXMiCittc2dzdHIgIiVzOiB2YXJvaXR1cy0tdGllZG9zdG9qw6RyamVzdGVsbcOkbiBrb2tvYSBlaSB2b2kgbcOkw6RyaXR0w6TDpCBcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSBibG9jayBkZXZpY2Ugb3IgZmlsZTogJXMiCittc2dzdHIgImVpIG9sZSBsb2hrb2xhaXRlIGVpa8OkIHRpZWRvc3RvOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3MCBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA2Cittc2dpZCAiZmlsZSBsZW5ndGggdG9vIHNob3J0IgorbXNnc3RyICJ0aWVkb3N0byBvbiBsaWlhbiBseWh5dCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3OSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjMzCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjQ5IGxpYmZkaXNrL3NyYy9ic2QuYzo3MTggbGliZmRpc2svc3JjL2JzZC5jOjg5MAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwOCBsb2dpbi11dGlscy9sYXN0LmM6MjQyIHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlZWsgb24gJXMgZmFpbGVkIgorbXNnc3RyICIlczogc2lpcnR5bWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODcKK21zZ2lkICJzdXBlcmJsb2NrIG1hZ2ljIG5vdCBmb3VuZCIKK21zZ3N0ciAic3VwZXJsb2hrb24gdGFpa2FsdWt1YSBlaSBsw7Z5dHlueXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3JhbWZzIGVuZGlhbm5lc3MgaXMgJXNcbiIKK21zZ3N0ciAiY3JhbWZzOm4gdGF2dWrDpHJqZXN0eXMgb24gJXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MQorbXNnaWQgImJpZyIKK21zZ3N0ciAiYmlnLWVuZGlhbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MQorbXNnaWQgImxpdHRsZSIKK21zZ3N0ciAibGl0dGxlLWVuZGlhbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5NQorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCBmaWxlc3lzdGVtIGZlYXR1cmVzIgorbXNnc3RyICJUaWVkb3N0b2rDpHJqZXN0ZWxtw6QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VwZXJibG9jayBzaXplICglZCkgdG9vIHNtYWxsIgorbXNnc3RyICJzdXBlcmxvaGtvbiBrb2tvICglZCkgb24gbGlpYW4gcGllbmkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDQKKyMsIGZ1enp5Cittc2dpZCAiemVybyBmaWxlIGNvdW50IgorbXNnc3RyICJ2aXJoZWVsbGluZW4gdHloasOkIHRpZWRvc3RvbmltaSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwOAorIywgZnV6enkKK21zZ2lkICJmaWxlIGV4dGVuZHMgcGFzdCBlbmQgb2YgZmlsZXN5c3RlbSIKK21zZ3N0ciAidmFyb2l0dXM6IHRpZWRvc3RvIGphdGt1dSB0aWVkb3N0b2rDpHJqZXN0ZWxtw6RuIGxvcHVuIHlsaVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjEwCittc2dpZCAib2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxOQorbXNnaWQgInVuYWJsZSB0byB0ZXN0IENSQzogb2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI3MgorbXNnaWQgImNyYyBlcnJvciIKK21zZ3N0ciAiY3JjLXZpcmhlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzAyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU1NAorbXNnaWQgInNlZWsgZmFpbGVkIgorbXNnc3RyICJzaWlydHltaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDYKKyMsIGZ1enp5Cittc2dpZCAicmVhZCByb21mcyBmYWlsZWQiCittc2dzdHIgImx1a2VtaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMzgKK21zZ2lkICJyb290IGlub2RlIGlzIG5vdCBkaXJlY3RvcnkiCittc2dzdHIgImp1dXJlbiBpLXNvbG11IGVpIG9sZSBoYWtlbWlzdG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCByb290IG9mZnNldCAoJWx1KSIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIGktc29sbXVuIHNpaXJ0eW3DpCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2MAorIywgZnV6enkKK21zZ2lkICJkYXRhIGJsb2NrIHRvbyBsYXJnZSIKK21zZ3N0ciAiQXJ2byBvbiBsaWlhbiBzdXVyaSBhbm5ldHVsbGUgdGlldG90eXlwaWxsZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGVjb21wcmVzc2lvbiBlcnJvcjogJXMiCittc2dzdHIgInZpcmhlIGtpcmpvaXRldHRhZXNzYSAlczogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgaG9sZSBhdCAlbHUgKCV6dSlcbiIKK21zZ3N0ciAiICByZWlrw6Qga29oZGFzc2EgJWxkICglemQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTcgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICB1bmNvbXByZXNzaW5nIGJsb2NrIGF0ICVsdSB0byAlbHUgKCVsdSlcbiIKK21zZ3N0ciAiICBwdXJldGFhbiBwYWlra2FhbiAlMiRsZCBsb2hrb2EgJTEkbGQgKCUzJGxkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1ibG9jayAoJWxkKSBieXRlcyIKK21zZ3N0ciAiZWktbG9oa28gKCVsZCkgdGF2dWEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLXNpemUgKCVsZCB2cyAlbGQpIGJ5dGVzIgorbXNnc3RyICJlaS1rb2tvICglbGQgdnMgJWxkKSB0YXZ1YSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxMyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE2CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwNCBtaXNjLXV0aWxzL3V1aWRkLmM6Mzc1IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODIKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM1IHN5cy11dGlscy9zZXRwcml2LmM6NTU4IHN5cy11dGlscy9zd2Fwb24uYzozODkKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZDogJXMiCittc2dzdHIgImtpcmpvaXR0YW1pbmVuIGVww6Rvbm5pc3R1aTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAibGNob3duIGZhaWxlZDogJXMiCittc2dzdHIgImxjaG93biBlcMOkb25uaXN0dWk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI4CisjLCBjLWZvcm1hdAorbXNnaWQgImNob3duIGZhaWxlZDogJXMiCittc2dzdHIgImNob3duIGVww6Rvbm5pc3R1aTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidXRpbWUgZmFpbGVkOiAlcyIKK21zZ3N0ciAidXRpbWUgZXDDpG9ubmlzdHVpOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgInRpZWRvc3RvbiBpLXNvbG11biBzaWlydHltw6Qgb24gbm9sbGEgbXV0dGEga29rbyBlaSBvbGUgbm9sbGEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtkaXIgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWtkaXIgZXDDpG9ubmlzdHVpOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3NgorbXNnaWQgImZpbGVuYW1lIGxlbmd0aCBpcyB6ZXJvIgorbXNnc3RyICJ0aWVkb3N0b25pbWVuIHBpdHV1cyBvbiBub2xsYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3OAorbXNnaWQgImJhZCBmaWxlbmFtZSBsZW5ndGgiCittc2dzdHIgInZpcmhlZWxsaW5lbiB0aWVkb3N0b25pbWVuIHBpdHV1cyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4NAorbXNnaWQgImJhZCBpbm9kZSBvZmZzZXQiCittc2dzdHIgInZpcmhlZWxsaW5lbiBpLXNvbG11biBzaWlydHltw6QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0OTkKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZSIKK21zZ3N0ciAidGllZG9zdG9uIGktc29sbXVuIHNpaXJ0eW3DpCBvbiBub2xsYSBtdXR0YSBrb2tvIGVpIG9sZSBub2xsYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUwMgorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gc2l6ZSBhbmQgbm9uLXplcm8gb2Zmc2V0IgorbXNnc3RyICJ0aWVkb3N0b24gaS1zb2xtdW4ga29rbyBvbiBub2xsYSBtdXR0YSBzaWlydHltw6QgZWkgb2xlIG5vbGxhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTMxCittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBvZmZzZXQiCittc2dzdHIgInN5bWJvbGlzZW4gbGlua2luIHNpaXJ0eW3DpCBvbiBub2xsYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMworbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gc2l6ZSIKK21zZ3N0ciAic3ltYm9saXNlbiBsaW5raW4ga29rbyBvbiBub2xsYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU0MgorIywgYy1mb3JtYXQKK21zZ2lkICJzaXplIGVycm9yIGluIHN5bWxpbms6ICVzIgorbXNnc3RyICJrb2tvdmlyaGUgc3ltbGlua2lzc8OkOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3ltbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICJrb2tvdmlyaGUgc3ltbGlua2lzc8OkOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBmaWxlIGhhcyBub24temVybyBvZmZzZXQ6ICVzIgorbXNnc3RyICJ0aWVkb3N0b24gaS1zb2xtdW4gc2lpcnR5bcOkIG9uIG5vbGxhIG11dHRhIGtva28gZWkgb2xlIG5vbGxhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmaWZvIGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAicGlzdG9ra2VlbiBrb2tvIGVpIG9sZSBub2xsYTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAicGlzdG9ra2VlbiBrb2tvIGVpIG9sZSBub2xsYTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYm9ndXMgbW9kZTogJXMgKCVvKSIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIHRpbGE6ICVzICglbykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtub2QgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWtub2QgZXDDpG9ubmlzdHVpOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGRhdGEgc3RhcnQgKCVsdSkgPCBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikgKyBzdGFydCAoJXp1KSIKK21zZ3N0ciAiJXM6IHZpcmhlZWxsaW5lbiBjcmFtZnMtLWhha2VtaXN0b2RhdGFuIGxvcHB1ICglbGQpICE9IHRpZWRvc3RvZGF0YW4gYWxrdSAoJWxkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBlbmQgKCVsdSkgIT0gZmlsZSBkYXRhIHN0YXJ0ICglbHUpIgorbXNnc3RyICIlczogdmlyaGVlbGxpbmVuIGNyYW1mcy0taGFrZW1pc3RvZGF0YW4gbG9wcHUgKCVsZCkgIT0gdGllZG9zdG9kYXRhbiBhbGt1ICglbGQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBmaWxlIGRhdGEgb2Zmc2V0IgorbXNnc3RyICJ2aXJoZWVsbGluZW4gVVRDLXNpaXJ0eW3DpCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY4NCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzI2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYmxvY2tzaXplIGFyZ3VtZW50IgorbXNnc3RyICJWaXJoZWVsbGluZW4gYXJndW1lbnR0aSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogT0tcbiIKK21zZ3N0ciAiJXM6IE9LXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NAorIywgZnV6enkKK21zZ2lkICJDaGVjayB0aGUgY29uc2lzdGVuY3kgb2YgYSBNaW5peCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJUYXJraXN0ZXRhYW4ga2Fpa2tpIHRpZWRvc3RvasOkcmplc3RlbG3DpHQuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICBsaXN0IGFsbCBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiICAtZyAgICAgICAgICAgICAgICAgICAgICAgICBrdXRlbiAtbCwgbXV0dGEgw6Rsw6QgbsOkeXTDpCBvbWlzdGFqaWFcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgIGF1dG9tYXRpYyByZXBhaXJcbiIKK21zZ3N0ciAiYXV0b21hYXR0aW11dXR0dWphICVxRSBlaSB2b2kgb2xsYSAlPHRocmVhZHByaXZhdGUlPiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg4CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXBhaXIgICAgIGludGVyYWN0aXZlIHJlcGFpclxuIgorbXNnc3RyICJ2dW9yb3ZhaWt1dHRlaXNpaW4ga29yamF1a3NpaW4gdGFydml0YWFuIHDDpMOkdGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBiZSB2ZXJib3NlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTAKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN1cGVyICAgICAgb3V0cHV0IHN1cGVyLWJsb2NrIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTEKK21zZ2lkICIgLW0sIC0tdW5jbGVhcmVkICBhY3RpdmF0ZSBtb2RlIG5vdCBjbGVhcmVkIHdhcm5pbmdzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgIGZvcmNlIGNoZWNrXG4iCittc2dzdHIgIiAtYmxhbmsgPDAtNjB8Zm9yY2V8cG9rZT5cbiIKKworIy4gVFJBTlNMQVRPUlM6IHRoZXNlIHllcyBubyBxdWVzdGlvbnMgdXNlcyBycG1hdGNoKCksIGFuZCBzaG91bGQgYmUKKyMuICogdHJhbnNsYXRlZC4KKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoeS9uKT8gIgorbXNnc3RyICIlcyAoay9lKT8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG4veSk/ICIKK21zZ3N0ciAiJXMgKGUvayk/ICIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInlcbiIKK21zZ3N0ciAia1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiblxuIgorbXNnc3RyICJlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkLlx0ICIKK21zZ3N0ciAiJXMgb24gbGlpdGV0dHkuXHQgIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODkKK21zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gY29udGludWUiCittc2dzdHIgIkhhbHVhdGtvIHZhcm1hc3RpIGphdGthYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNrIGFib3J0ZWQuXG4iCittc2dzdHIgInRhcmtpc3R1cyBrZXNrZXl0ZXR0eS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzE5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yIDwgRklSU1RaT05FIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIlZ5w7ZoeWtlbnVtZXJvIDwgRklSU1RaT05FIHRpZWRvc3Rvc3NhIOKAnSVz4oCdLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzIyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yID49IFpPTkVTIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIlZ5w7ZoeWtlbnVtZXJvIOKJpSBaT05FUyB0aWVkb3N0b3NzYSDigJ0lc+KAnS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyNiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDcKK21zZ2lkICJSZW1vdmUgYmxvY2siCittc2dzdHIgIlBvaXN0YSBsb2hrbyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IHVuYWJsZSB0byBzZWVrIHRvIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJMdWt1dmlyaGU6IHNpaXJ0eW1pbmVuIGxvaGtvb24gZWkgb25uaXN0dSB0aWVkb3N0b3NzYSDigJ0lc+KAnVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJMdWt1dmlyaGU6IHZpYWxsaW5lbiBsb2hrbyB0aWVkb3N0b3NzYSDigJ0lc+KAnVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkludGVybmFsIGVycm9yOiB0cnlpbmcgdG8gd3JpdGUgYmFkIGJsb2NrXG4iCisiV3JpdGUgcmVxdWVzdCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKyJTaXPDpGluZW4gdmlyaGU6IHlyaXRldMOkw6RuIGtpcmpvaXR0YWEgdmlhbGxpc3RhIGxvaGtvYVxuIgorIktpcmpvaXR1c3B5eW50w7bDpCBlaSBodW9taW9pZGFcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mzg3Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgInNpaXJ0eW1pbmVuIGVww6Rvbm5pc3R1aSBmdW5rdGlvc3NhIHdyaXRlX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGUgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiS2lyam9pdHVzdmlyaGU6IHZpYWxsaW5lbiBsb2hrbyB0aWVkb3N0b3NzYSDigJ0lc+KAnVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MDUKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9zdXBlcl9ibG9jayIKK21zZ3N0ciAic2lpcnR5bWluZW4gZXDDpG9ubmlzdHVpIGZ1bmt0aW9zc2Egd3JpdGVfc3VwZXJfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUwNworbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAic3VwZXJsb2hrb24ga2lyam9pdHVzIGVpIG9ubmlzdHUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyMAorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIkktc29sbXVrYXJ0dGFhIGVpIHZvaSBraXJqb2l0dGFhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjMKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgem9uZSBtYXAiCittc2dzdHIgIlZ5w7ZoeWtla2FydGFuIGtpcmpvaXR1cyBlaSBvbm5pc3R1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjYKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICJJLXNvbG11amEgZWkgdm9pIGtpcmpvaXR0YWEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU1OAorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorbXNnc3RyICJtdWlzdGluIHZhcmFhbWluZW4gc3nDtnRlcHVza3VyaWxsZSBlaSBvbm5pc3R1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjEKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBzdXBlciBibG9jayIKK21zZ3N0ciAic3VwZXJsb2hrb2EgZWkgdm9pIGx1a2VhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODMKK21zZ2lkICJiYWQgbWFnaWMgbnVtYmVyIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gdGFpa2FsdWt1IHN1cGVybG9oa29zc2EiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4NQorbXNnaWQgIk9ubHkgMWsgYmxvY2tzL3pvbmVzIHN1cHBvcnRlZCIKK21zZ3N0ciAiVmFpbiAxay1sb2hrb3QvdnnDtmh5a2tlZXQgb3ZhdCB0dWV0dHVqYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg3CisjLCBmdXp6eQorbXNnaWQgImJhZCBzX25pbm9kZXMgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInZpcmhlZWxsaW5lbiBzX2ltYXBfYmxvY2tzLWtlbnR0w6Qgc3VwZXJsb2hrb3NzYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg5Cittc2dpZCAiYmFkIHNfaW1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInZpcmhlZWxsaW5lbiBzX2ltYXBfYmxvY2tzLWtlbnR0w6Qgc3VwZXJsb2hrb3NzYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkxCisjLCBmdXp6eQorbXNnaWQgImJhZCBzX2ZpcnN0ZGF0YXpvbmUgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInZpcmhlZWxsaW5lbiBzX2ltYXBfYmxvY2tzLWtlbnR0w6Qgc3VwZXJsb2hrb3NzYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk0Cittc2dpZCAiYmFkIHNfem1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInZpcmhlZWxsaW5lbiBzX3ptYXBfYmxvY2tzLWtlbnR0w6Qgc3VwZXJsb2hrb3NzYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjEwCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgbWFwIgorbXNnc3RyICJJLXNvbG11a2FydGFsbGUgZWkgdm9pIHZhcmF0YSBwdXNrdXJpYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjEzCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBtYXAiCittc2dzdHIgIlZ5w7ZoeWtla2FydGFsbGUgZWkgdm9pIHZhcmF0YSBwdXNrdXJpYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE2Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorbXNnc3RyICJJLXNvbG11aWxsZSBlaSB2b2kgdmFyYXRhIHB1c2t1cmlhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTkKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBjb3VudCIKK21zZ3N0ciAiSS1zb2xtdWplbiBsYXNrZW1pc2VlbiBlaSB2b2kgdmFyYXRhIHB1c2t1cmlhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjIKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIGNvdW50IgorbXNnc3RyICJWecO2aHlra2VlbiBsYXNrZW1pc2VlbiBlaSB2b2kgdmFyYXRhIHB1c2t1cmlhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjYKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZSBtYXAiCittc2dzdHIgIkktc29sbXVrYXJ0dGFhIGVpIHZvaSBsdWtlYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjMwCittc2dpZCAiVW5hYmxlIHRvIHJlYWQgem9uZSBtYXAiCittc2dzdHIgIlZ5w7ZoeWtla2FydHRhYSBlaSB2b2kgbHVrZWEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzNAorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlcyIKK21zZ3N0ciAiSS1zb2xtdWphIGVpIHZvaSBsdWtlYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorbXNnc3RyICJWYXJvaXR1czogRW5zaW1tw6RpbmVudnnDtmh5a2UgIT0gTm9ybV9lbnNpbW3DpGluZW52ecO2aHlrZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGlub2Rlc1xuIgorbXNnc3RyICIlbGQgaS1zb2xtdWFcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBibG9ja3NcbiIKK21zZ3N0ciAiJWxkIGxvaGtvYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGaXJzdGRhdGF6b25lPSVqZCAoJWpkKVxuIgorbXNnc3RyICJFbnNpbW3DpGluZW5kYXRhdnnDtmh5a2U9JWxkICglbGQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0NQorIywgYy1mb3JtYXQKK21zZ2lkICJab25lc2l6ZT0lZFxuIgorbXNnc3RyICJWecO2aHlrZWtva289JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIk1heHNpemU9JXp1XG4iCittc2dzdHIgIk1heGtva289JXp1XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIHN0YXRlPSVkXG4iCittc2dzdHIgIlRpZWQuasOkcmouIHRpbGE9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJuYW1lbGVuPSV6ZFxuIgorIlxuIgorbXNnc3RyICIiCisibmFtZWxlbj0lemRcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjY0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcxNAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlZCBtYXJrZWQgdW51c2VkLCBidXQgdXNlZCBmb3IgZmlsZSAnJXMnXG4iCittc2dzdHIgIkvDpHl0dMOkbcOkdHTDtm3DpGtzaSBtZXJraXR0ecOkIGktc29sbXVhICVkIGvDpHl0ZXTDpMOkbiB0aWVkb3N0b29uIOKAnSVz4oCdXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY2NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MTcKK21zZ2lkICJNYXJrIGluIHVzZSIKK21zZ3N0ciAiTWVya2l0c2Uga8OkeXR0w7bDtm4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY4OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpbGUgYCVzJyBoYXMgbW9kZSAlMDVvXG4iCittc2dzdHIgIlRpZWRvc3RvbGxhIOKAnSVz4oCdIG9uIHRpbGEgJTA1b1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2OTYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IGlub2RlIGNvdW50IHRvbyBiaWcuXG4iCittc2dzdHIgIlZhcm9pdHVzIGktc29sbXVqZW4gbcOkw6Ryw6Qgb24gbGlpYW4gc3V1cmkuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc1NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NjMKK21zZ2lkICJyb290IGlub2RlIGlzbid0IGEgZGlyZWN0b3J5IgorbXNnc3RyICJqdXVyZW4gaS1zb2xtdSBlaSBvbGUgaGFrZW1pc3RvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NzUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrIGhhcyBiZWVuIHVzZWQgYmVmb3JlLiBOb3cgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiTG9oa29hIG9uIGvDpHl0ZXR0eSBhaWthaXNlbW1pbi4gTnl0IHRpZWRvc3Rvc3NhIOKAnSVz4oCdLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzc3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgwOAorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTUyCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTk5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDgKK21zZ2lkICJDbGVhciIKK21zZ3N0ciAiVHloamVubsOkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrICVkIGluIGZpbGUgYCVzJyBpcyBtYXJrZWQgbm90IGluIHVzZS4iCittc2dzdHIgIkxvaGtvICVkIHRpZWRvc3Rvc3NhIOKAnSVz4oCdIG9uIG1lcmtpdHR5IGvDpHl0dMOkbcOkdHTDtm3DpGtzaS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MjAKK21zZ2lkICJDb3JyZWN0IgorbXNnc3RyICJLb3JqYWEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk1OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkaXJlY3RvcnkgJyVzJyBjb250YWlucyBhIGJhZCBpbm9kZSBudW1iZXIgZm9yIGZpbGUgJyUuKnMnLiIKK21zZ3N0ciAiSGFrZW1pc3RvIOKAnSVz4oCdIHNpc8OkbHTDpMOkIHZpcmhlZWxsaXNlbiBpLXNvbG11bnVtZXJvbiB0aWVkb3N0b2xsZSDigJ0lLipz4oCdLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTYxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwMzUKK21zZ2lkICIgUmVtb3ZlIgorbXNnc3RyICIgUG9pc3RhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4nIGlzbid0IGZpcnN0XG4iCittc2dzdHIgIiVzOiB2aWFsbGluZW4gaGFrZW1pc3RvOiDigJ0u4oCdIGVpIG9sZSBlbnNpbW3DpGlzZW7DpFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5ODYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4uJyBpc24ndCBzZWNvbmRcbiIKK21zZ3N0ciAiJXM6IHZpYWxsaW5lbiBoYWtlbWlzdG86IOKAnS4u4oCdIGVpIG9sZSB0b2lzZW5hXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwOTQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTExNworbXNnaWQgImludGVybmFsIGVycm9yIgorbXNnc3RyICJzaXPDpGluZW4gdmlyaGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwOTcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogc2l6ZSA8IDMyIgorbXNnc3RyICIlczogdmlhbGxpbmVuIGhha2VtaXN0bzoga29rbyA8IDMyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogaW52YWxpZCBpX3pvbmUsIHVzZSAtLXJlcGFpciB0byBmaXhcbiIKK21zZ3N0ciAiJXM6IHZpYWxsaW5lbiBoYWtlbWlzdG86IOKAnS7igJ0gZWkgb2xlIGVuc2ltbcOkaXNlbsOkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMzIKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBiYWRfem9uZSIKK21zZ3N0ciAic2lpcnR5bWluZW4gZXDDpG9ubmlzdHVpIGZ1bmt0aW9zc2EgYmFkX3pvbmUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG1vZGUgbm90IGNsZWFyZWQuIgorbXNnc3RyICJJLXNvbG11biAlZCB0aWxhIGVpIG9sZSB0eWhqZW5uZXR0eS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG5vdCB1c2VkLCBtYXJrZWQgdXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiS8OkeXR0w6Rtw6R0dMO2bcOka3NpIG1lcmtpdHR5w6QgaS1zb2xtdWEgJWQga8OkeXRldMOkw6RuIHRpZWRvc3Rvb24g4oCdJXPigJ1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgdXNlZCwgbWFya2VkIHVudXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiS8OkeXR0w6Rtw6R0dMO2bcOka3NpIG1lcmtpdHR5w6QgaS1zb2xtdWEgJWQga8OkeXRldMOkw6RuIHRpZWRvc3Rvb24g4oCdJXPigJ1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1OCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE0Cittc2dpZCAiU2V0IgorbXNnc3RyICJBc2V0YSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgKG1vZGUgPSAlMDdvKSwgaV9ubGlua3M9JWQsIGNvdW50ZWQ9JWQuIgorbXNnc3RyICJJLXNvbG11ICVkICh0aWxhID0gJTA3byksIGlfbGlua2tpbcOkw6Ryw6Q9JWQsIGxhc2tldHR1PSVkLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjIxCittc2dpZCAiU2V0IGlfbmxpbmtzIHRvIGNvdW50IgorbXNnc3RyICJBc2V0YSBpX2xpbmtraW3DpMOkcsOkIGxhc2tldHVuIG11a2Fpc2Vrc2kiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIzMworIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbWFya2VkIGluIHVzZSwgbm8gZmlsZSB1c2VzIGl0LiIKK21zZ3N0ciAiVnnDtmh5a2UgJWx1OiBtZXJraXR0eSBrw6R5dHTDtsO2biwgbWlrw6TDpG4gdGllZG9zdG8gZWkga8OkeXTDpCBzaXTDpC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIzNQorbXNnaWQgIlVubWFyayIKK21zZ3N0ciAiUG9pc3RhIG1lcmtpbnTDpCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiVnnDtmh5a2UgJWx1OiBrw6R5dMO2c3PDpCwgbGFza2V0dHU9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBub3QgaW4gdXNlLCBjb3VudGVkPSVkXG4iCittc2dzdHIgIlZ5w7ZoeWtlICVsdTogZWkga8OkeXTDtnNzw6QsIGxhc2tldHR1PSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyOTEKK21zZ2lkICJiYWQgaW5vZGUgc2l6ZSIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIGktc29sbXVuIGtva28iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyOTMKK21zZ2lkICJiYWQgdjIgaW5vZGUgc2l6ZSIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIHYyIGktc29sbXVuIGtva28iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzMzcKK21zZ2lkICJuZWVkIHRlcm1pbmFsIGZvciBpbnRlcmFjdGl2ZSByZXBhaXJzIgorbXNnc3RyICJ2dW9yb3ZhaWt1dHRlaXNpaW4ga29yamF1a3NpaW4gdGFydml0YWFuIHDDpMOkdGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlcyIKK21zZ3N0ciAiaGFrZW1pc3RvYSAlcyBlaSB2b2kgYXZhdGEgKCVzKSDigJMgbXRhYmktdGllZG9zdG9hIGVpIHDDpGl2aXRldHR5IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGNsZWFuLCBubyBjaGVjay5cbiIKK21zZ3N0ciAiJXMgb24gcHVoZGFzLCBlaSB0YXJraXN0dXN0YS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGb3JjaW5nIGZpbGVzeXN0ZW0gY2hlY2sgb24gJXMuXG4iCittc2dzdHIgIlBha290ZXRhYW4gdGllZG9zdG9qw6RyamVzdGVsbcOkbiB0YXJraXN0dXMgbGFpdHRlZWxsYSAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1NworIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIG9uICVzIGlzIGRpcnR5LCBuZWVkcyBjaGVja2luZy5cbiIKK21zZ3N0ciAiVGllZG9zdG9qw6RyamVzdGVsbcOkIGxhaXR0ZWVsbGEgJXMgb24gbGlrYWluZW4sIHZhYXRpaSB0YXJraXN0dWtzZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2bGQgaW5vZGVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICIiCisiXG4iCisiJTZsZCBpLXNvbG11YSBrw6R5dGV0dHkgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiU2bGQgem9uZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiU2bGQgdnnDtmh5a2V0dMOkIGvDpHl0ZXR0eSAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2ZCByZWd1bGFyIGZpbGVzXG4iCisiJTZkIGRpcmVjdG9yaWVzXG4iCisiJTZkIGNoYXJhY3RlciBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgYmxvY2sgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGxpbmtzXG4iCisiJTZkIHN5bWJvbGljIGxpbmtzXG4iCisiLS0tLS0tXG4iCisiJTZkIGZpbGVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlNmQgdGF2YWxsaXN0YSB0aWVkb3N0b2FcbiIKKyIlNmQgaGFrZW1pc3RvYVxuIgorIiU2ZCBtZXJra2lsYWl0ZXRpZWRvc3RvYVxuIgorIiU2ZCBsb2hrb2xhaXRldGllZG9zdG9hXG4iCisiJTZkIGxpbmtracOkXG4iCisiJTZkIHN5bWJvbGlzdGEgbGlua2tpw6RcbiIKKyItLS0tLS1cbiIKKyIlNmQgdGllZG9zdG9hXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyJGSUxFIFNZU1RFTSBIQVMgQkVFTiBDSEFOR0VEXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyJUSUVET1NUT0rDhFJKRVNURUxNw4TDhCBPTiBNVVVURVRUVVxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MjMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODMzCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUzOSBkaXNrLXV0aWxzL3BhcnR4LmM6MTAzNSBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTIKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzk4IHN5cy11dGlscy9kbWVzZy5jOjY1OSBzeXMtdXRpbHMvd2RjdGwuYzozNDYKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQxMSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI3MiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjM0OQorIzogdGV4dC11dGlscy9wZy5jOjEyNDgKK21zZ2lkICJ3cml0ZSBmYWlsZWQiCittc2dzdHIgImtpcmpvaXR1cyBlcMOkb25uaXN0dWkiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1pZ2h0IG5vdCBiZSBhbiBJU08gZmlsZXN5c3RlbSIKK21zZ3N0ciAiZWkgeXJpdGV0w6QgbHVvZGEgdGllZG9zdG9qw6RyamVzdGVsbcOkw6Qga29odGVlc2VlbiDigJ0lc+KAnSIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZWVrIGVycm9yIG9uICVzIgorbXNnc3RyICJzaWlydHltaXN2aXJoZSIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZWFkIGVycm9yIG9uICVzIgorbXNnc3RyICIlczogbHVrdXZpcmhlIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VjdG9yIGNvdW50OiAlZCwgc2VjdG9yIHNpemU6ICVkXG4iCittc2dzdHIgInNla3Rvcmltw6TDpHLDpDogJWQsIHNla3Rvcmlrb2tvOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGlzbzk2NjBfaW1hZ2VfZmlsZT5cbiIKK21zZ3N0ciAiJXMgW3ZhbGl0c2ltZXRdIFs8dGllZG9zdG8+IC4uLl1cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTc0CisjLCBmdXp6eQorbXNnaWQgIlNob3cgdGhlIGxlbmd0aCBvZiBhbiBJU08tOTY2MCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJlaSB5cml0ZXTDpCBsdW9kYSB0aWVkb3N0b2rDpHJqZXN0ZWxtw6TDpCBrb2h0ZWVzZWVuIOKAnSVz4oCdIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzcKK21zZ2lkICIgLWQsIC0tZGl2aXNvcj08bnVtYmVyPiAgZGl2aWRlIHRoZSBhbW91bnQgb2YgYnl0ZXMgYnkgPG51bWJlcj5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzgKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHNob3cgc2VjdG9yIGNvdW50IGFuZCBzaXplXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoyMTAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBkaXZpc29yIGFyZ3VtZW50IgorbXNnc3RyICJWaXJoZWVsbGluZW4gYXJndW1lbnR0aSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZSBbYmxvY2stY291bnRdXG4iCittc2dzdHIgIkvDpHl0dMO2OiAlcyBbdmFsaXRzaW1ldF0gbGFpdGUgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3NworbXNnaWQgIk1ha2UgYW4gU0NPIGJmcyBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLU4sIC0taW5vZGVzPU5VTSAgICBzcGVjaWZ5IGRlc2lyZWQgbnVtYmVyIG9mIGlub2Rlc1xuIgorIiAtViwgLS12bmFtZT1OQU1FICAgIHNwZWNpZnkgdm9sdW1lIG5hbWVcbiIKKyIgLUYsIC0tZm5hbWU9TkFNRSAgICBzcGVjaWZ5IGZpbGUgc3lzdGVtIG5hbWVcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorIiAtYyAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKKyIgLWwgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAtViBhcyB2ZXJzaW9uIG11c3QgYmUgb25seSBvcHRpb25cbiIKKyIgLWgsIC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNDQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICIlczogdmlyaGVlbGxpbmVuIGx1a3UiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTAKK21zZ2lkICJ2b2x1bWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAib3Npb25pbWkgb24gbGlpYW4gcGl0a8OkIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU3Cittc2dpZCAiZnNuYW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgInRpZWRvc3RvasOkcmplc3RlbG3DpG4gbmltaSBvbiBsaWlhbiBwaXRrw6QiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBibG9jay1jb3VudCIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIHJpdmltw6TDpHLDpCAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgImxhaXR0ZWVuICVzIGtva29hIGVpIHZvaSBoYWtlYSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJibG9ja3MgYXJndW1lbnQgdG9vIGxhcmdlLCBtYXggaXMgJWxsdSIKK21zZ3N0ciAiYmxvY2tzLWFyZ3VtZW50dGkgb24gbGlpYW4gc3V1cmksIG1ha3NpbWkgb24gJWxsdSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIxOQorbXNnaWQgInRvbyBtYW55IGlub2RlcyAtIG1heCBpcyA1MTIiCittc2dzdHIgImxpaWFuIG1vbnRhIGktc29sbXVhIOKAkyBtYWtzaW1pIG9uIDUxMiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlLCBuZWVkIGF0IGxlYXN0ICVsbHUgYmxvY2tzIgorbXNnc3RyICJ0aWxhIGVpIHJpaXTDpCwgdmFhZGl0YWFuIHbDpGhpbnTDpMOkbiAlbGx1IGxvaGtvYSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2U6ICVzXG4iCittc2dzdHIgIkxhaXRlOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIlZvbHVtZTogPCUtNnM+XG4iCittc2dzdHIgIk9zaW86IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZTbmFtZTogPCUtNnM+XG4iCittc2dzdHIgIlRpZWRqw6Ryai5uaW1pOiA8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NAorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9ja1NpemU6ICVkXG4iCittc2dzdHIgIkxvaGtvS29rbzogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluIDEgYmxvY2spXG4iCittc2dzdHIgIkktc29sbXVqYTogJWx1ICgxIGxvaGtvc3NhKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gJWxsdSBibG9ja3MpXG4iCittc2dzdHIgIkktc29sbXVqYTogJWx1ICglbGx1IGxvaGtvc3NhKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCbG9ja3M6ICVsbHVcbiIKK21zZ3N0ciAiTG9oa290OiAlbGxkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgZW5kOiAlZCwgRGF0YSBlbmQ6ICVkXG4iCittc2dzdHIgIkktc29sbXVuIGxvcHB1OiAlZCwgRGF0YW4gbG9wcHU6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTcKK21zZ2lkICJlcnJvciB3cml0aW5nIHN1cGVyYmxvY2siCittc2dzdHIgInZpcmhlIGtpcmpvaXRldHRhZXNzYSBzdXBlcmxvaGtvYSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI3OAorbXNnaWQgImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIKK21zZ3N0ciAidmlyaGUga2lyam9pdGV0dGFlc3NhIGp1dXJlbiBpLXNvbG11YSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4MworbXNnaWQgImVycm9yIHdyaXRpbmcgaW5vZGUiCittc2dzdHIgInZpcmhlIGtpcmpvaXRldHRhZXNzYSBpLXNvbG11YSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4NgorbXNnaWQgInNlZWsgZXJyb3IiCittc2dzdHIgInNpaXJ0eW1pc3ZpcmhlIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjkyCittc2dpZCAiZXJyb3Igd3JpdGluZyAuIGVudHJ5IgorbXNnc3RyICJ2aXJoZSBraXJqb2l0ZXR0YWVzc2Eg4oCdLuKAnS1tZXJraW50w6TDpCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5NgorbXNnaWQgImVycm9yIHdyaXRpbmcgLi4gZW50cnkiCittc2dzdHIgInZpcmhlIGtpcmpvaXRldHRhZXNzYSDigJ0uLuKAnS1tZXJraW50w6TDpCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjbG9zaW5nICVzIgorbXNnc3RyICJ2aXJoZSBzdWxqZXR0YWVzc2EgbGFpdGV0dGEgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstdCA8dHlwZT5dIFtmcy1vcHRpb25zXSA8ZGV2aWNlPiBbPHNpemU+XVxuIgorbXNnc3RyICJLw6R5dHTDtjogbWtmcyBbLVZdIFstdCB0aWVkLmrDpHJqLiB0eXlwcGldIFt0aWVkLmrDpHJqLnZhbGl0c2ltZXRdIGxhaXRlIFtrb2tvXVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0OAorIywgZnV6enkKK21zZ2lkICJNYWtlIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiQW5uYSB0aWVkb3N0b2rDpHJqZXN0ZWxtw6RuIHR5eXBwaTogIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICIgLXQsIC0tdHlwZT08dHlwZT4gIGZpbGVzeXN0ZW0gdHlwZTsgd2hlbiB1bnNwZWNpZmllZCwgZXh0MiBpcyB1c2VkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICBmcy1vcHRpb25zICAgICBwYXJhbWV0ZXJzIGZvciB0aGUgcmVhbCBmaWxlc3lzdGVtIGJ1aWxkZXJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxkZXZpY2U+ICAgICAgIHBhdGggdG8gdGhlIGRldmljZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8c2l6ZT4gICAgICAgICBudW1iZXIgb2YgYmxvY2tzIHRvIGJlIHVzZWQgb24gdGhlIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5aW5nIC1WIG1vcmUgdGhhbiBvbmNlIHdpbGwgY2F1c2UgYSBkcnktcnVuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJzaW9uICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0O1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAtViBhcyAtLXZlcnNpb24gbXVzdCBiZSB0aGUgb25seSBvcHRpb25cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1oLCAtLWhlbHAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgIC0taGVscCAgICAgbsOkeXTDpCB0w6Rtw6Qgb2hqZSBqYSBwb2lzdHVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6MTM5IGxpYi9leGVjX3NoZWxsLmM6NDkgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjMzCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2NTcgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTkyCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODAwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDQgc2NoZWR1dGlscy9jaHJ0LmM6NTU4CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjI2MCBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMzkgc3lzLXV0aWxzL2Zsb2NrLmM6MTIyCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQzMCBzeXMtdXRpbHMvcHJsaW1pdC5jOjY0NCBzeXMtdXRpbHMvcnRjd2FrZS5jOjU3NworIzogc3lzLXV0aWxzL3NldGFyY2guYzozMjQgc3lzLXV0aWxzL3NldGFyY2guYzo0MDMgc3lzLXV0aWxzL3NldHNpZC5jOjExNQorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM0MCBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNDIgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NjEKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTgxIHRleHQtdXRpbHMvcGcuYzoxMzc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIKK21zZ3N0ciAiJXMgZXDDpG9ubmlzdHVpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1c2FnZTogJXMgWy1oXSBbLXZdIFstYiBibGtzaXplXSBbLWUgZWRpdGlvbl0gWy1OIGVuZGlhbl0gWy1pIGZpbGVdIFstbiBuYW1lXSBkaXJuYW1lIG91dGZpbGVcbiIKKyIgLWggICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyIgLXYgICAgICAgICBiZSB2ZXJib3NlXG4iCisiIC1FICAgICAgICAgbWFrZSBhbGwgd2FybmluZ3MgZXJyb3JzIChub24temVybyBleGl0IHN0YXR1cylcbiIKKyIgLWIgYmxrc2l6ZSB1c2UgdGhpcyBibG9ja3NpemUsIG11c3QgZXF1YWwgcGFnZSBzaXplXG4iCisiIC1lIGVkaXRpb24gc2V0IGVkaXRpb24gbnVtYmVyIChwYXJ0IG9mIGZzaWQpXG4iCisiIC1OIGVuZGlhbiAgc2V0IGNyYW1mcyBlbmRpYW5uZXNzIChiaWd8bGl0dGxlfGhvc3QpLCBkZWZhdWx0IGhvc3RcbiIKKyIgLWkgZmlsZSAgICBpbnNlcnQgYSBmaWxlIGltYWdlIGludG8gdGhlIGZpbGVzeXN0ZW0gKHJlcXVpcmVzID49IDIuNC4wKVxuIgorIiAtbiBuYW1lICAgIHNldCBuYW1lIG9mIGNyYW1mcyBmaWxlc3lzdGVtXG4iCisiIC1wICAgICAgICAgcGFkIGJ5ICVkIGJ5dGVzIGZvciBib290IGNvZGVcbiIKKyIgLXMgICAgICAgICBzb3J0IGRpcmVjdG9yeSBlbnRyaWVzIChvbGQgb3B0aW9uLCBpZ25vcmVkKVxuIgorIiAteiAgICAgICAgIG1ha2UgZXhwbGljaXQgaG9sZXMgKHJlcXVpcmVzID49IDIuMy4zOSlcbiIKKyIgZGlybmFtZSAgICByb290IG9mIHRoZSBmaWxlc3lzdGVtIHRvIGJlIGNvbXByZXNzZWRcbiIKKyIgb3V0ZmlsZSAgICBvdXRwdXQgZmlsZVxuIgorbXNnc3RyICIiCisia8OkeXR0w7Y6ICVzIFstaF0gWy12XSBbLWIgbGtva29dIFstZSBsYWl0b3NdIFstTiB0YXZ1asOkcmpdIFstaSB0aWVkXSBbLW4gbmltaV0gaGFrbmltaSB0dWxvc3RpZWRcbiIKKyIgLWggICAgICAgICAgbsOkeXTDpCB0w6Rtw6Qgb2hqZVxuIgorIiAtdiAgICAgICAgICBtb25pc2FuYWlzdXVzXG4iCisiIC1FICAgICAgICAgIGvDpHNpdHRlbGUgdmFyb2l0dWtzZXQgdmlyaGVpbsOkIChub2xsYXN0YSBwb2lra2VhdmEgcGFsdXVhcnZvKVxuIgorIiAtYiBsa29rbyAgICBrw6R5dMOkIHTDpHTDpCBsb2hrb2tva29hLCBvbiBvbHRhdmEgc2FtYSBrdWluIHNpdnVrb2tvXG4iCisiIC1lIGxhaXRvcyAgIGFzZXRhIGxhaXRvc251bWVybyAob3NhIHRpZWQuasOkcmotaWQ6dMOkKVxuIgorIiAtTiB0YXZ1asOkcmogYXNldGEgY3JhbWZzOm4gdGF2dWrDpHJqZXN0eXMgKGJpZ3xsaXR0bGV8aG9zdCksIG9sZXR1cyBob3N0XG4iCisiIC1pIHRpZWQgICAgIHNpc8OkbGx5dMOkIHRpZWRvc3RvdmVkb3MgdGllZG9zdG9qw6RyamVzdGVsbcOkw6RuICh2YWF0aWkg4omlIDIuNC4wOm4pXG4iCisiIC1uIG5pbWkgICAgIGFzZXRhIGNyYW1mcy10aWVkb3N0b2rDpHJqZXN0ZWxtw6RuIG5pbWlcbiIKKyIgLXAgICAgICAgICAgdGFzYWEgJWQgdGF2dWxsYSBrw6R5bm5pc3R5c2tvb2RpYSB2YXJ0ZW5cbiIKKyIgLXMgICAgICAgICAgbGFqaXR0ZWxlIGhha2VtaXN0b21lcmtpbm7DpHQgKHZhbmhhIHZhbGl0c2luLCBlaSBodW9taW9pZGEpXG4iCisiIC16ICAgICAgICAgIHRlZSByZWlracOkICh2YWF0aWkg4omlIDIuMy4zOTpuKVxuIgorIiBoYWtuaW1pICAgICB0aWl2aXN0ZXR0w6R2w6RuIHRpZWRvc3RvasOkcmplc3RlbG3DpG4ganV1cmlcbiIKKyIgdHVsb3N0aWVkICAgdHVsb3N0aWVkb3N0b1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWRsaW5rIGZhaWxlZDogJXMiCittc2dzdHIgInJlYWRsaW5rIGVww6Rvbm5pc3R1aTogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJoYWtlbWlzdG9hICVzIGVpIHZvaSBsdWtlYSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjQ0MworbXNnaWQgImZpbGVzeXN0ZW0gdG9vIGJpZy4gIEV4aXRpbmcuIgorbXNnc3RyICJ0aWVkb3N0b2rDpHJqZXN0ZWxtw6Qgb24gbGlpYW4gc3V1cmkuIExvcGV0ZXRhYW4uIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkFJRUVFOiBibG9jayBcImNvbXByZXNzZWRcIiB0byA+IDIqYmxvY2tsZW5ndGggKCVsZClcbiIKK21zZ3N0ciAiQUlFRUU6IOKAnXRpaXZpc3RldHlu4oCdIGxvaGtvbiBrb2tvID4gMipsb2hrb2tva28gKCVsZClcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZCB0YXZ1YSlcdCVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNsb3NlIGZpbGUgJXMiCittc2dzdHIgInRpZWRvc3RvYSAlcyBlaSB2b2kgc3Vsa2VhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzMyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZWRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgInZpcmhlZWxsaW5lbiB2YWxpdHNpbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc0MgorbXNnaWQgImludmFsaWQgZW5kaWFubmVzcyBnaXZlbjsgbXVzdCBiZSAnYmlnJywgJ2xpdHRsZScsIG9yICdob3N0JyIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIHRhdnVqw6RyamVzdHlzIGFubmV0dHU7IG9sdGF2YSBqb2tvIOKAnWJpZ+KAnSwg4oCdbGl0dGxl4oCdIHRhaSDigJ1ob3N04oCdIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGd1ZXN0aW1hdGUgb2YgcmVxdWlyZWQgc2l6ZSAodXBwZXIgYm91bmQpIGlzICVsbGRNQiwgYnV0IG1heGltdW0gaW1hZ2Ugc2l6ZSBpcyAldU1CLiAgV2UgbWlnaHQgZGllIHByZW1hdHVyZWx5LiIKK21zZ3N0ciAidmFyb2l0dXM6IGFydmlva29rbyAoeWzDpHJhamEpIG9uICVsbGQgTXQsIG11dHRhIHZlZG9rc2VuIGVuaW1tw6Rpc2tva28gb24gJXUgTXQuIFByb3Nlc3NpIHNhYXR0YWEgcMOkw6R0dHnDpCBlbm5lbmFpa2Fpc2VzdGkuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODMwCisjLCBmdXp6eQorbXNnaWQgIlJPTSBpbWFnZSBtYXAiCittc2dzdHIgIkF2YWludGEgZWkgb2xlIGthcnRhc3NhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkluY2x1ZGluZzogJXNcbiIKK21zZ3N0ciAiU2lzw6RsbHl0ZXTDpMOkbjogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg0OAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgZGF0YTogJXpkIGJ5dGVzXG4iCittc2dzdHIgIkhha2VtaXN0b2RhdGE6ICV6ZCB0YXZ1YVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkV2ZXJ5dGhpbmc6ICV6ZCBraWxvYnl0ZXNcbiIKK21zZ3N0ciAiS2Fpa2tpOiAlemQga2lsb3RhdnVhXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwZXIgYmxvY2s6ICV6ZCBieXRlc1xuIgorbXNnc3RyICJTdXBlcmxvaGtvOiAlemQgdGF2dWFcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICJDUkM6ICV4XG4iCittc2dzdHIgIkNSQzogJXhcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSBhbGxvY2F0ZWQgZm9yIFJPTSBpbWFnZSAoJWxsZCBhbGxvY2F0ZWQsICV6dSB1c2VkKSIKK21zZ3N0ciAiUk9NLXZlZG9rc2VsbGUgZWkgb2xlIHZhcmF0dHUgcmlpdHTDpHbDpHN0aSB0aWxhYSAoJWxsZCB2YXJhdHR1LCAlenUga8OkeXRldHR5KVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODc5CisjLCBjLWZvcm1hdAorbXNnaWQgIlJPTSBpbWFnZSB3cml0ZSBmYWlsZWQgKCV6ZCAlemQpIgorbXNnc3RyICJST00tdmVkb2tzZW4ga2lyam9pdHVzIGVww6Rvbm5pc3R1aSAoJXpkICV6ZCkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODIKK21zZ2lkICJST00gaW1hZ2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZW5hbWVzIHRydW5jYXRlZCB0byAldSBieXRlcy4iCittc2dzdHIgInZhcm9pdHVzOiB0aWVkb3N0b25pbWV0IHR5cGlzdGV0w6TDpG4gMjU1IHRhdnV1bi4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTMKK21zZ2lkICJ3YXJuaW5nOiBmaWxlcyB3ZXJlIHNraXBwZWQgZHVlIHRvIGVycm9ycy4iCittc2dzdHIgInZhcm9pdHVzOiB0aWVkb3N0b2phIG9oaXRldHRpaW4gdmlyaGVpZGVuIHRha2lhLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlIHNpemVzIHRydW5jYXRlZCB0byAlbHVNQiAobWludXMgMSBieXRlKS4iCittc2dzdHIgInZhcm9pdHVzOiB0aWVkb3N0b2plbiBrb290IHR5cGlzdGV0dHkgJWx1IG1lZ2F0YXZ1dW4gKG1paW51cyAxIHRhdnUpLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5OQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJ2YXJvaXR1czogdWlkOnQgdHlwaXN0ZXR0eSAldSBiaXR0aWluLiAoVMOkbcOkIHZvaSBvbGxhIHR1cnZhb25nZWxtYS4pIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGdpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgInZhcm9pdHVzOiBnaWQ6dCB0eXBpc3RldHR5ICV1IGJpdHRpaW4uIChUw6Rtw6Qgdm9pIG9sbGEgdHVydmFvbmdlbG1hLikiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldBUk5JTkc6IGRldmljZSBudW1iZXJzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgVGhpcyBhbG1vc3QgY2VydGFpbmx5IG1lYW5zXG4iCisidGhhdCBzb21lIGRldmljZSBmaWxlcyB3aWxsIGJlIHdyb25nLiIKK21zZ3N0ciAiIgorIlZBUk9JVFVTOiBsYWl0ZW51bWVyb3QgdHlwaXN0ZXR0eSAldSBiaXR0aWluLiBUw6Rtw6QgdGFya29pdHRhYSBsw6RoZXNcbiIKKyJ2YXJtYXN0aSwgZXR0w6Qgam90a3V0IGxhaXRldGllZG9zdG90IG92YXQgdsOkw6RyaW4uIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gL2Rldi9uYW1lIFtibG9ja3NdXG4iCittc2dzdHIgIkvDpHl0dMO2OiAlcyBbdmFsaXRzaW1ldF0gbGFpdGUgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzNworIywgZnV6enkKK21zZ2lkICIgLTEgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMVxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICBUZXN0YWEgZ2V0b3B0KDEpOm4gdmVyc2lvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOAorIywgZnV6enkKK21zZ2lkICIgLTIsIC12ICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMlxuIgorbXNnc3RyICIgIC12LCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW9udW1lcm8gamEgcG9pc3R1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOQorIywgZnV6enkKK21zZ2lkICIgLTMgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gM1xuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICBUZXN0YWEgZ2V0b3B0KDEpOm4gdmVyc2lvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmFtZWxlbmd0aCA8bnVtPiAgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzXG4iCittc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlub2RlcyA8bnVtPiAgICAgIG51bWJlciBvZiBpbm9kZXMgZm9yIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIkFubmEgc3lsaW50ZXJpZW4gbcOkw6Ryw6Q6ICIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQyCisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jaGVjayAgICAgICAgICAgICBjaGVjayB0aGUgZGV2aWNlIGZvciBiYWQgYmxvY2tzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICB0IOKAkyBUYXVsdSByYWEnYXNzYSBtdW9kb3NzYSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQzCittc2dpZCAiIC1sLCAtLWJhZGJsb2NrcyA8ZmlsZT4gIGxpc3Qgb2YgYmFkIGJsb2NrcyBmcm9tIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgdG8gYm9vdCBibG9jayBmYWlsZWQgIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAiJXM6IHNpaXJ0eW1pbmVuIGvDpHlubmlzdHlzbG9oa29vbiBlcMOkb25uaXN0dWkgZnVua3Rpb3NzYSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGNsZWFyIGJvb3Qgc2VjdG9yIgorbXNnc3RyICIlczoga8OkeW5uaXN0eXNzZWt0b3JpbiB0eWhqZW50w6RtaW5lbiBlaSBvbm5pc3R1IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAiJXM6IHNpaXJ0eW1pbmVuIGVww6Rvbm5pc3R1aSBmdW5rdGlvc3NhIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgIiVzOiBzdXBlcmxvaGtvbiBraXJqb2l0dXMgZWkgb25uaXN0dSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICIlczogaS1zb2xtdWthcnR0YWEgZWkgdm9pIGtpcmpvaXR0YWEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICIlczogdnnDtmh5a2VrYXJ0YW4ga2lyam9pdHVzIGVpIG9ubmlzdHUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiJXM6IGktc29sbXVqYSBlaSB2b2kga2lyam9pdHRhYSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgInNpaXJ0eW1pbmVuIGVww6Rvbm5pc3R1aSBmdW5rdGlvc3NhIHdyaXRlX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIiVzOiBzaWlydHltaW5lbiBrw6R5bm5pc3R5c2xvaGtvb24gZXDDpG9ubmlzdHVpIGZ1bmt0aW9zc2Egd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMjEgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Mjk2CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzozNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBtYW55IGJhZCBibG9ja3MiCittc2dzdHIgIiVzOiBsaWlhbiBtb250YSB2aWFsbGlzdGEgbG9oa29hIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBlbm91Z2ggZ29vZCBibG9ja3MiCittc2dzdHIgIiVzOiBlaSByaWl0dMOkdsOkc3RpIGVoamnDpCBsb2hrb2phIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkZpcnN0IGRhdGEgYmxvY2sgYXQgJWpkLCB3aGljaCBpcyB0b28gZmFyIChtYXggJWQpLlxuIgorIlRyeSBzcGVjaWZ5aW5nIGZld2VyIGlub2RlcyBieSBwYXNzaW5nIC0taW5vZGVzIDxudW0+IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgaW5vZGVcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGlub2Rlc1xuIgorbXNnc3RyWzBdICIlbHUgaS1zb2xtdVxuIgorbXNnc3RyWzFdICIlbHUgaS1zb2xtdWFcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlbHUgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVsdSBsb2hrb2FcbiIKK21zZ3N0clsxXSAiJWx1IGxvaGtvYVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSV6dVxuIgorbXNnc3RyICJWecO2aHlrZWtva289JWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiTWF4c2l6ZT0lenVcbiIKKyJcbiIKK21zZ3N0ciAiTWF4a29rbz0lenVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgZHVyaW5nIHRlc3Rpbmcgb2YgYmxvY2tzIgorbXNnc3RyICJzaWlydHltaW5lbiBlcMOkb25uaXN0dWkgbG9oa29qZW4gdGVzdGF1a3NlbiBhaWthbmEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJXZWlyZCB2YWx1ZXMgaW4gZG9fY2hlY2s6IHByb2JhYmx5IGJ1Z3NcbiIKK21zZ3N0ciAiT3V0b2phIGFydm9qYSBmdW5rdGlvc3NhIGRvX2NoZWNrOiB0b2Rlbm7DpGvDtmlzZXN0aSBvaGplbG1pc3Rvdmlrb2phXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAic2lpcnR5bWluZW4gZXDDpG9ubmlzdHVpIGZ1bmt0aW9zc2EgY2hlY2tfYmxvY2tzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgYmxvY2tzIGJlZm9yZSBkYXRhLWFyZWE6IGNhbm5vdCBtYWtlIGZzIgorbXNnc3RyICJ2aXJoZWVsbGlzacOkIGxvaGtvamEgZW5uZW4gZGF0YS1hbHVldHRhOiB0aWVkb3N0b2rDpHJqZXN0ZWxtw6TDpCBlaSB2b2kgbHVvZGEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzOSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgYmFkIGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVkIGJhZCBibG9ja3NcbiIKK21zZ3N0clswXSAiJWQgdmlhbGxpbmVuIGxvaGtvXG4iCittc2dzdHJbMV0gIiVkIHZpYWxsaXN0YSBsb2hrb2FcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgb3BlbiBmaWxlIG9mIGJhZCBibG9ja3MiCittc2dzdHIgImVpIHZvaSBhdmF0YSBzecO2dGV0aWVkb3N0b2E6ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkYmxvY2sgbnVtYmVyIGlucHV0IGVycm9yIG9uIGxpbmUgJWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBiYWRibG9ja3MgZmlsZSIKK21zZ3N0ciAidGllZG9zdG9qw6RyamVzdGVsbcOkbiB0aWV0b2plbiBsdWtlbWluZW4gdGllZG9zdG9sbGUgJXMgZWkgb25uaXN0dSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk0CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIHNpemUgc21hbGxlciB0aGFuIHBoeXNpY2FsIHNlY3RvciBzaXplIG9mICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBzaXplIG9mICVzIgorbXNnc3RyICJoYWtlbWlzdG9uICVzIGxhaXRldHRhIGphIGktc29sbXVhIGVpIHZvaWRhIG3DpMOkcml0dMOkw6QiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVxdWVzdGVkIGJsb2NrcyAoJWxsdSkgZXhjZWVkcyBhdmFpbGFibGUgKCVsbHUpIGJsb2Nrc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG51bWJlciBvZiBibG9ja3MgdG9vIHNtYWxsIgorbXNnc3RyICJUaWVkb3N0byAlcyBvbiBsaWlhbiBwaWVuaSwgZWkgdGFya2FzdGV0dHUuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MjMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBuYW1lIGxlbmd0aDogJWQiCittc2dzdHIgImVpLXR1ZXR0dSBhcmd1bWVudHRpIGZ1bmt0aW9sbGUgJTxfX2J1aWx0aW5fZnJhbWVfYWRkcmVzcyU+IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG1pbml4IGZpbGUgc3lzdGVtIHZlcnNpb246ICVkIgorbXNnc3RyICJUaWVkb3N0b2rDpHJqZXN0ZWxtw6QiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc2NworbXNnaWQgIi12IGlzIGFtYmlndW91cywgdXNlICctMicgaW5zdGVhZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NzgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lcyIKK21zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc4MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgwNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGJsb2NrcyIKK21zZ3N0ciAic2lpcnR5bWluZW4gZXDDpG9ubmlzdHVpIGZ1bmt0aW9zc2EgY2hlY2tfYmxvY2tzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBhIGZpbGVzeXN0ZW0gaGVyZSEiCittc2dzdHIgIiVzIG9uIGxpaXRldHR5OyBlaSB0ZWhkw6QgdGllZG9zdG9qw6RyamVzdGVsbcOkw6QgdMOkaMOkbiEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIHVzZXItc3BlY2lmaWVkIHBhZ2Ugc2l6ZSAldSIKK21zZ3N0ciAiS8OkeXR0w6Rqw6RuIGFudGFtYSBzaXZ1a29rbyAldSBvbiB2aXJoZWVsbGluZW4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICVkLCBpbnN0ZWFkIG9mIHRoZSBzeXN0ZW0gdmFsdWUgJWQiCittc2dzdHIgIkvDpHl0ZXTDpMOkbiBrw6R5dHTDpGrDpG4gYW50YW1hYSBzaXZ1a29rb2EgJWQgasOkcmplc3RlbG3DpG4gYXJ2b24gJWQgc2lqYWFuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEyNAorbXNnaWQgIkxhYmVsIHdhcyB0cnVuY2F0ZWQuIgorbXNnc3RyICJOaW1pw7YgdHlwaXN0ZXR0aWluLiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbGFiZWwsICIKK21zZ3N0ciAiZWkgbmltacO2dMOkLCAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHV1aWRcbiIKK21zZ3N0ciAiZWkgdXVpZDp0w6RcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc10gZGV2aWNlIFtzaXplXVxuIgorbXNnc3RyICIiCisiXG4iCisiS8OkeXR0w7Y6XG4iCisiICVzIFt2YWxpdHNpbWV0XSBsYWl0ZSBba29rb11cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTIKK21zZ2lkICJTZXQgdXAgYSBMaW51eCBzd2FwIGFyZWEuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1jLCAtLWNoZWNrICAgICAgICAgICAgICAgY2hlY2sgYmFkIGJsb2NrcyBiZWZvcmUgY3JlYXRpbmcgdGhlIHN3YXAgYXJlYVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGFsbG93IHN3YXAgc2l6ZSBhcmVhIGJlIGxhcmdlciB0aGFuIGRldmljZVxuIgorIiAtcCwgLS1wYWdlc2l6ZSBTSVpFICAgICAgIHNwZWNpZnkgcGFnZSBzaXplIGluIGJ5dGVzXG4iCisiIC1MLCAtLWxhYmVsIExBQkVMICAgICAgICAgc3BlY2lmeSBsYWJlbFxuIgorIiAtdiwgLS1zd2FwdmVyc2lvbiBOVU0gICAgIHNwZWNpZnkgc3dhcC1zcGFjZSB2ZXJzaW9uIG51bWJlclxuIgorIiAtVSwgLS11dWlkIFVVSUQgICAgICAgICAgIHNwZWNpZnkgdGhlIHV1aWQgdG8gdXNlXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBiYWQgcGFnZXM6ICVsdSIKK21zZ3N0ciAibGlpYW4gbW9udGEgdmlhbGxpc3RhIHNpdnVhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE5NQorbXNnaWQgInNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAic2lpcnR5bWluZW4gZXDDpG9ubmlzdHVpIGZ1bmt0aW9zc2EgY2hlY2tfYmxvY2tzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmFkIHBhZ2VcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJhZCBwYWdlc1xuIgorbXNnc3RyWzBdICIlbHUgdmlhbGxpbmVuIHNpdnVcbiIKK21zZ3N0clsxXSAiJWx1IHZpYWxsaXN0YSBzaXZ1YVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIyOAorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgbmV3IGxpYmJsa2lkIHByb2JlIgorbXNnc3RyICJpLXNvbG11aWxsZSBlaSB2b2kgdmFyYXRhIHB1c2t1cmVpdGEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMwCisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBhc3NpZ24gZGV2aWNlIHRvIGxpYmJsa2lkIHByb2JlIgorbXNnc3RyICJpLXNvbG11aWxsZSBlaSB2b2kgdmFyYXRhIHB1c2t1cmVpdGEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjaGVja2luZyBiYWQgYmxvY2tzIGZyb20gc3dhcCBmaWxlIGlzIG5vdCBzdXBwb3J0ZWQ6ICVzIgorbXNnc3RyICJWYXJvaXR1czogdmFsaXRzaW50YSBub2xvY2sgZWkgdHVldGEuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjYxIGRpc2stdXRpbHMvbWtzd2FwLmM6Mjg3IGRpc2stdXRpbHMvbWtzd2FwLmM6MzM0Cittc2dpZCAidW5hYmxlIHRvIHJld2luZCBzd2FwLWRldmljZSIKK21zZ3N0ciAic2l2dXR1c2xhaXR0ZWVsbGEgZWkgdm9pIHNpaXJ0ecOkIHRhYWtzZXDDpGluIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI5MAorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAia8OkeW5uaXN0eXNzZWt0b3JpbiB0eWhqZW50w6RtaW5lbiBlaSBvbm5pc3R1IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogd2lwaW5nIG9sZCAlcyBzaWduYXR1cmUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogZG9uJ3QgZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAia8OkeW5uaXN0eXNzZWt0b3JpbiB0eWhqZW50w6RtaW5lbiBlaSBvbm5pc3R1IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoJXMgcGFydGl0aW9uIHRhYmxlIGRldGVjdGVkKS4gIgorbXNnc3RyICJMYWl0dGVlbiAlcyBvc2lvdGF1bHVcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKGNvbXBpbGVkIHdpdGhvdXQgbGliYmxraWQpLiAiCittc2dzdHIgImvDpMOkbm5ldHR5IGlsbWFuIC14LXR1a2VhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNlIC1mIHRvIGZvcmNlLlxuIgorbXNnc3RyICIgLWJsYW5rIDwwLTYwfGZvcmNlfHBva2U+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc2lnbmF0dXJlIHBhZ2UiCittc2dzdHIgIiVzOiBhbGxla2lyam9pdHVzc2l2dWEgZWkgdm9pIGtpcmpvaXR0YWEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzgwCisjLCBmdXp6eQorbXNnaWQgInBhcnNpbmcgcGFnZSBzaXplIGZhaWxlZCIKK21zZ3N0ciAiS8OkeXR0w6Rqw6RuIGFudGFtYSBzaXZ1a29rbyAldSBvbiB2aXJoZWVsbGluZW4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg2CisjLCBmdXp6eQorbXNnaWQgInBhcnNpbmcgdmVyc2lvbiBudW1iZXIgZmFpbGVkIgorbXNnc3RyICJ2YXJhdHR1amEgc2VtYWZvcmVqYSA9ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzd2Fwc3BhY2UgdmVyc2lvbiAlZCBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJkd2FyZmluIHZlcnNpbyAlZCBlaSBvbGUgdHVldHR1IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBpZ25vcmluZyAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkIGJ5ICVzKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQxNAorbXNnaWQgIm9ubHkgb25lIGRldmljZSBhcmd1bWVudCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDIxCittc2dpZCAiZXJyb3I6IHBhcnNpbmcgVVVJRCBmYWlsZWQiCittc2dzdHIgInZpcmhlOiBVVUlEOm4gasOkc2VubnlzIGVww6Rvbm5pc3R1aSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzAKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3I6IE5vd2hlcmUgdG8gc2V0IHVwIHN3YXAgb24/IgorbXNnc3RyICJTaXZ1dHVzdGlsYWEgZWkgdm9pIGx1b2RhOiBlaSBsdWV0dGF2aXNzYSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzYKK21zZ2lkICJpbnZhbGlkIGJsb2NrIGNvdW50IGFyZ3VtZW50IgorbXNnc3RyICJ2aXJoZWVsbGluZW4gbG9oa29tw6TDpHLDpGFyZ3VtZW50dGkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc2l6ZSAlbGx1IEtpQiBpcyBsYXJnZXIgdGhhbiBkZXZpY2Ugc2l6ZSAlPFBSSXU2ND4gS2lCIgorbXNnc3RyICJ2aXJoZToga29rbyAlbGx1IEtpQiBvbiBzdXVyZW1waSBrdWluIGxhaXR0ZWVuIGtva28gJWxsdSBLaUIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDUxCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzd2FwIGFyZWEgbmVlZHMgdG8gYmUgYXQgbGVhc3QgJWxkIEtpQiIKK21zZ3N0ciAidmlyaGU6IHNpdnV0dXNhbHVlZW4gb24gb2x0YXZhIHbDpGhpbnTDpMOkbiAlbGQgS2lCOm4ga29rb2luZW4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHRydW5jYXRpbmcgc3dhcCBhcmVhIHRvICVsbHUgS2lCIgorbXNnc3RyICJ2YXJvaXR1czogdHlwaXN0ZXTDpMOkbiBzaXZ1dHVzYWx1ZSBrb2tvb24gJWxsdSBLaUIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBzd2Fwc3BhY2UiCittc2dzdHIgIiVzIHZhaWt1dHRhYSBvbGV2YW4gc2l2dXR1c3RpbGFhIOKAkyBlaSBsaWl0ZXTDpCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0Njggc3lzLXV0aWxzL3N3YXBvbi5jOjUyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIHBlcm1pc3Npb25zICUwNG8sICUwNG8gc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IHZhcm9pdHVzOiB0aWVkb3N0b2xsYSAlcyBvbiB0dXJ2YXR0b21hdCBvaWtldWRldCAlMDRvLCBzdW9zaXRlbGxhYW4gJTA0b1xuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ3MiBzeXMtdXRpbHMvc3dhcG9uLmM6NTMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgZmlsZSBvd25lciAlZCwgMCAocm9vdCkgc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IHZhcm9pdHVzOiB0aWVkb3N0b2xsYSAlcyBvbiB0dXJ2YXR0b21hdCBvaWtldWRldCAlMDRvLCBzdW9zaXRlbGxhYW4gJTA0b1xuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ4NworbXNnaWQgIlVuYWJsZSB0byBzZXQgdXAgc3dhcC1zcGFjZTogdW5yZWFkYWJsZSIKK21zZ3N0ciAiU2l2dXR1c3RpbGFhIGVpIHZvaSBsdW9kYTogZWkgbHVldHRhdmlzc2EiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIHVwIHN3YXBzcGFjZSB2ZXJzaW9uICVkLCBzaXplID0gJXMgKCU8UFJJdTY0PiBieXRlcylcbiIKK21zZ3N0ciAiQXNldGV0YWFuIHNpdnV0dXN0aWxhLCB2ZXJzaW8gJWQsIGtva28gPSAlbGx1IEtpQlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBvYnRhaW4gc2VsaW51eCBmaWxlIGxhYmVsIgorbXNnc3RyICIlczogJXM6IHNlbGludXgtdGllZG9zdG9uaW1pw7ZuIGhha2VtaW5lbiBlaSBvbm5pc3R1OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxNQorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gbWF0Y2hwYXRoY29uKCkiCittc2dzdHIgIm11aXN0aW4gdmFyYWFtaW5lbiBzecO2dGVwdXNrdXJpbGxlIGVpIG9ubmlzdHUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE4Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBuZXcgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJ1dWRlbiBzZWxpbnV4LWtvbnRla3N0aW4gbHVvbWluZW4gZWkgb25uaXN0dSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjAKK21zZ2lkICJjb3VsZG4ndCBjb21wdXRlIHNlbGludXggY29udGV4dCIKK21zZ3N0ciAic2VsaW51eC1rb250ZWtzdGluIGxhc2tlbWluZW4gZWkgb25uaXN0dW51dCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZWxhYmVsICVzIHRvICVzIgorbXNnc3RyICJlaSB2b2lkYSBhdmF0YSBkeW5hYW1pc3RhIHJpaXBwdXZ1dXR0YSDigJ0lc+KAnSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg2Cittc2dpZCAicGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAib3Npb251bWVybyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg3Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICJvc2lvbiBhbGt1IHNla3RvcmVpbmEiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OAorbXNnaWQgImVuZCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgIm9zaW9uIGxvcHB1IHNla3RvcmVpbmEiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OQorbXNnaWQgIm51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJzZWt0b3JpZW4gbcOkw6Ryw6QiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MAorbXNnaWQgImh1bWFuIHJlYWRhYmxlIHNpemUiCittc2dzdHIgImhlbHBwb2x1a3VpbmVuIGtva28iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MQorbXNnaWQgInBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJvc2lvbiBuaW1pIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA4IG1pc2MtdXRpbHMvbHNibGsuYzoxNjgKK21zZ2lkICJwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAib3Npb24gVVVJRCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkzCittc2dpZCAicGFydGl0aW9uIHRhYmxlIHR5cGUgKGRvcywgZ3B0LCAuLi4pIgorbXNnc3RyICJvc2lvdGF1bHVuIHR5eXBwaSAoZG9zLCBncHQsIC4uLikiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY5Cittc2dpZCAicGFydGl0aW9uIGZsYWdzIgorbXNnc3RyICJvc2lvbiBsaXB1dCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1Cittc2dpZCAicGFydGl0aW9uIHR5cGUgKGEgc3RyaW5nLCBhIFVVSUQsIG9yIGhleCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUwOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjYxNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wY3h0IgorbXNnc3RyICIgLWluaXRpYWxpemVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IGVpIGzDtnl0eW55dCB5aHTDpMOkbiB2YXBhYXRhIGxvb3AtbGFpdGV0dGEiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRyeWluZyB0byB1c2UgJyVzJyBmb3IgdGhlIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIm1vdW50OiBhaW90YWFuIGvDpHl0dMOkw6QgbG9vcC1sYWl0ZXR0YSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBiYWNraW5nIGZpbGUiCittc2dzdHIgInRpZWRvc3RvYSAlcyBlaSBsw7Z5dHlueXQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo1NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlIgorbXNnc3RyICJzaXZ1dHVzbGFpdHRlZWxsYSBlaSB2b2kgc2lpcnR5w6QgdGFha3NlcMOkaW4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxNjEgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozMDcgbWlzYy11dGlscy9maW5kbW50LmM6Mzc2CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MzU0IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM0MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEwNworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzcyIHN5cy11dGlscy9sc2lwYy5jOjIzMiBzeXMtdXRpbHMvbHNucy5jOjE4OQorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyNzcgc3lzLXV0aWxzL3N3YXBvbi5jOjE0NyBzeXMtdXRpbHMvd2RjdGwuYzoxNTEKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6MTQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgInR1bnRlbWF0b24ga8OkeXR0w6Rqw6QtSUQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJ0aWVkb3N0b24gJXMgb21pbmFpc3V1a3NpZW4gaGFrZW1pbmVuIGVpIG9ubmlzdHUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyODYgZGlzay11dGlscy9wYXJ0eC5jOjMyNCBkaXNrLXV0aWxzL3BhcnR4LmM6NDc3CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZmllZCByYW5nZSA8JWQ6JWQ+IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICJyYW5nZSByZWNvdW50OiBtYXggcGFydG5vPSVkLCBsb3dlcj0lZCwgdXBwZXI9JWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICJWYWxpdHRpaW4gb3NpbyAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXM6ICVzOyBzeXkgPSAodHVudGVtYXRvbiB0b2Rlbm51c3ZpcmhlIC0gJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlbW92ZWRcbiIKK21zZ3N0ciAicG9pc3RldHRpaW4gdGllZG9zdG8gJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgZG9lc24ndCBleGlzdFxuIgorbXNnc3RyICJUw6Rtw6Qgb3NpbyBvbiBqbyBvbGVtYXNzYS5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRlbGV0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlczogQy1lc2lrw6TDpG50w6Rqw6QgZXDDpG9ubmlzdHVpIHNpZ25hYWxpbGxhICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICJlaSBzaXPDpGxseSBvc2lvb24gJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczogJXM7IHN5eSA9ICh0dW50ZW1hdG9uIHRvZGVubnVzdmlyaGUgLSAlZClcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQwNSBkaXNrLXV0aWxzL3BhcnR4LmM6NTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBhZGRlZFxuIgorbXNnc3RyICJMYWl0dGVlbiAlcyBvc2lvdGF1bHVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFkZGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEMtZXNpa8Okw6RudMOkasOkIGVww6Rvbm5pc3R1aSBzaWduYWFsaWxsYSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICJWYWxpdHRpaW4gb3NpbyAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXM6ICVzOyBzeXkgPSAodHVudGVtYXRvbiB0b2Rlbm51c3ZpcmhlIC0gJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBwYXJ0aXRpb24gIyVkIgorbXNnc3RyICJWYWxpdHRpaW4gb3NpbyAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVzaXplZFxuIgorbXNnc3RyICJMYWl0dGVlbiAlcyBvc2lvdGF1bHVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVwZGF0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlczogQy1lc2lrw6TDpG50w6Rqw6QgZXDDpG9ubmlzdHVpIHNpZ25hYWxpbGxhICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvciwgJTZqdSBNQilcbiIKK21zZ2lkX3BsdXJhbCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvcnMsICU2anUgTUIpXG4iCittc2dzdHJbMF0gIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWt0b3JpLCAlNmp1IE1CKVxuIgorbXNnc3RyWzFdICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9yaWEsICU2anUgTUIpXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1ODEgbWlzYy11dGlscy9maW5kbW50LmM6Njg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjcwNQorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzkxIHN5cy11dGlscy9sc25zLmM6NDU2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhZGQgbGluZSB0byBvdXRwdXQiCittc2dzdHIgIlB1c2t1cmlhIGVpIHZvaSB2YXJhdGEuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NDQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBkYXRhIHRvIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAiUHVza3VyaWEgZWkgdm9pIHZhcmF0YS5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY2NyBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjkyMiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTg1CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg3NCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NTEgc3lzLXV0aWxzL2xvc2V0dXAuYzozMTAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MTMgc3lzLXV0aWxzL2xzaXBjLmM6MzM4IHN5cy11dGlscy9sc25zLmM6NTExCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI5NyBzeXMtdXRpbHMvc3dhcG9uLmM6MjgwIHN5cy11dGlscy93ZGN0bC5jOjI1OQorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo0ODQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJPc2lvdGF1bHVuIHV1ZGVsbGVlbmx1a3UgZXDDpG9ubmlzdHVpLiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY3OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjExIG1pc2MtdXRpbHMvbHNibGsuYzoxODk2CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NjUgc3lzLXV0aWxzL2xvc2V0dXAuYzozMjIgc3lzLXV0aWxzL2xvc2V0dXAuYzozNTgKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MTggc3lzLXV0aWxzL2xzbnMuYzo1MzIgc3lzLXV0aWxzL3BybGltaXQuYzozMDYKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyODkgc3lzLXV0aWxzL3dkY3RsLmM6MjcwIHN5cy11dGlscy96cmFtY3RsLmM6NDkzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iCittc2dzdHIgIlB1c2t1cmlhIGVpIHZvaSB2YXJhdGEuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIGZpbHRlciBmb3IgJyVzJyIKK21zZ3N0ciAiUHVza3VyaWEgZWkgdm9pIHZhcmF0YS5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAibHVlIG9zaW90YXVsdSB1dWRlbGxlZW4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgdHlwZSAnJXMnIGRldGVjdGVkXG4iCittc2dzdHIgIiAgIHAgICAgbsOkeXTDpCBCU0Qtb3Npb3RhdWx1IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHdpdGggbm8gcGFydGl0aW9ucyIKK21zZ3N0ciAiTGFpdHRlZW4gJXMgb3Npb3RhdWx1XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8cGFydGl0aW9uPl0gPGRpc2s+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1NgorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgcHJlc2VuY2UgYW5kIG51bWJlcmluZyBvZiBwYXJ0aXRpb25zLlxuIgorbXNnc3RyICJLZXJybyB5dGltZWxsZSBvc2lvaWRlbiBvbGVtYXNzYW9sb3N0YSBqYSBudW1lcm9pbm5pc3RhLlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzU5Cittc2dpZCAiIC1hLCAtLWFkZCAgICAgICAgICAgIGFkZCBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjAKK21zZ2lkICIgLWQsIC0tZGVsZXRlICAgICAgICAgZGVsZXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MQorbXNnaWQgIiAtdSwgLS11cGRhdGUgICAgICAgICB1cGRhdGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYyCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLXMsIC0tc2hvdyAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zXG4iCisiXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgcGFyYW1ldHJpdFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYzIG1pc2MtdXRpbHMvbHNibGsuYzoxNjIzCittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NAorbXNnaWQgIiAtZywgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1zaG93XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NQorbXNnaWQgIiAtbiwgLS1uciA8bjptPiAgICAgICBzcGVjaWZ5IHRoZSByYW5nZSBvZiBwYXJ0aXRpb25zIChlLmcuIC0tbnIgMjo0KVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjYKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPXZhbGl0c2ltZXQgICAgIEx5aHlldCB0dW5uaXN0ZXR0YXZhdCB2YWxpdHNpbWV0XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjcgbWlzYy11dGlscy9sc2Jsay5jOjE2MzcKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjggbWlzYy11dGlscy9sc2Jsay5jOjE2MzgKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICBzcGVjaWZ5IHRoZSBwYXJ0aXRpb24gdHlwZSAoZG9zLCBic2QsIHNvbGFyaXMsIGV0Yy4pXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3NgorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3csIC0tcmF3IG9yIC0tcGFpcnMpOlxuIgorbXNnc3RyICJLw6R5dGV0dMOkdmlzc8OkIG9sZXZhdCBrb21lbm5vdDpcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg0OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS1uciA8TS1OPiByYW5nZSIKK21zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MjQKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIGFuZCBkaXNrIG5hbWUgZG8gbm90IG1hdGNoIgorbXNnc3RyICJMaXPDpHTDpMOkbiBsb29naW5lbiBvc2lvICV6dSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1MgorIywgZnV6enkKK21zZ2lkICItLW5yIGFuZCA8cGFydGl0aW9uPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICJvdmF0IHRvaXNlbnNhIHBvaXNzdWxrZXZpYS4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFydGl0aW9uOiAlcywgZGlzazogJXMsIGxvd2VyOiAlZCwgdXBwZXI6ICVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBkZWxldGUgcGFydGl0aW9ucyIKK21zZ3N0ciAiVHloasOkw6Qgb3Npb3RhIGVpIHZvaSBwb2lzdGFhIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb25lZCBsb29wIGRldmljZXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBibGtpZCBwcm9iZXIiCittc2dzdHIgIlB1c2t1cmlhIGVpIHZvaSB2YXJhdGEuXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzICUyJHNyYXdOIDxtYWpvcj4gPG1pbm9yPlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPGJsb2NrZGV2aWNlPlxuIgorIiAlMSRzIC1xICUyJHNyYXdOXG4iCisiICUxJHMgLXFhXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo1OAorbXNnaWQgIkJpbmQgYSByYXcgY2hhcmFjdGVyIGRldmljZSB0byBhIGJsb2NrIGRldmljZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYxCittc2dpZCAiIC1xLCAtLXF1ZXJ5ICAgIHNldCBxdWVyeSBtb2RlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICBxdWVyeSBhbGwgcmF3IGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyB0aGUgY29udHJvbCByYXcgZGV2aWNlICh1c2UgcmF3PE4+IHdoZXJlIDxOPiBpcyBncmVhdGVyIHRoYW4gemVybykiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoxODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgYmxvY2sgZGV2aWNlICclcyciCittc2dzdHIgIm1vdW50OiAlcyBlaSBvbGUgbG9oa29sYWl0ZSIKKworIzogZGlzay11dGlscy9yYXcuYzoxODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAibW91bnQ6ICVzIGVpIG9sZSBsb2hrb2xhaXRlIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE5MyBkaXNrLXV0aWxzL3Jhdy5jOjE5NiBzeXMtdXRpbHMvaXBjcm0uYzozNTEKKyM6IHN5cy11dGlscy9pcGNybS5jOjM2NCBzeXMtdXRpbHMvaXBjcm0uYzozNzcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGFyZ3VtZW50IgorbXNnc3RyICJKw6RzZW5ueXN2aXJoZTogJXMiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICJsYWl0dGVlbiAlcyB0aWxhYSBlaSB2b2kgbHVrZWEiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiaGFrZW1pc3RvbiAlcyBsYWl0ZXR0YSBqYSBpLXNvbG11YSBlaSB2b2lkYSBtw6TDpHJpdHTDpMOkIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUmF3IGRldmljZSAnJXMnIGlzIG5vdCBhIGNoYXJhY3RlciBkZXYiCittc2dzdHIgIi9kZXYvJXM6IGVpIG9sZSBtZXJra2lsYWl0ZSIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIHJhdyBkZXYiCittc2dzdHIgIi9kZXYvJXM6IGVpIG9sZSBtZXJra2lsYWl0ZSIKKworIzogZGlzay11dGlscy9yYXcuYzoyNDUKKyMsIGZ1enp5Cittc2dpZCAiRXJyb3IgcXVlcnlpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAidmlyaGU6ICVzOiBsYWl0ZSBvbiBrw6R5dMO2c3PDpCIKKworIzogZGlzay11dGlscy9yYXcuYzoyNTQgZGlzay11dGlscy9yYXcuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNyYXclZDogIGJvdW5kIHRvIG1ham9yICVkLCBtaW5vciAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjY4CisjLCBmdXp6eQorbXNnaWQgIkVycm9yIHNldHRpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAidmlyaGU6ICVzOiBsYWl0ZSBvbiBrw6R5dMO2c3PDpCIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxsZW5ndGg+XG4iCittc2dzdHIgIiAlcyA8bGV2eWxhaXRlPiA8b3Npb251bWVybz4gPHBpdHV1cz5cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjMKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBudW1iZXIgJXMiCittc2dzdHIgIiAlcyA8bGV2eWxhaXRlPiA8b3Npb251bWVybz4gPGFsa3U+IDxwaXR1dXM+XG4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwOQorbXNnaWQgImZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uIgorbXNnc3RyICJvc2lvbiBrb29uIG11dXR0YW1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG5lc3RlZCBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICJQdXNrdXJpYSBlaSB2b2kgdmFyYXRhLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjI5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNlZWsgJXMiCittc2dzdHIgIkxldnlhc2VtYWxsYSBlaSB2b2kgc2lpcnR5w6QiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzAyIGxpYmZkaXNrL3NyYy9ic2QuYzo3MjMgbGliZmRpc2svc3JjL2JzZC5jOjg5NAorIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNjMgc3lzLXV0aWxzL2h3Y2xvY2suYzoxNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSAlcyIKK21zZ3N0ciAidHVsb3N0YSBlaSB2b2kga2lyam9pdHRhYTogJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiUxMnMgKG9mZnNldCAlNWp1LCBzaXplICU1anUpOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAiCittc2dzdHIgImtvdmFuIGxpbmtpbiAlcyBsdW9taW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzI4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAgZmlsZSwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICJrb3ZhbiBsaW5raW4gJXMgbHVvbWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM1NAorbXNnaWQgIkJhY2t1cCBmaWxlczoiCittc2dzdHIgIlZhcm11dXNrb3Bpb3RpZWRvc3RvdDoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzc5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIG5ldyBwYXJ0aXRpb24gZnJvbSBkZXZpY2U7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJsdWUgb3Npb3RhdWx1IHV1ZGVsbGVlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiICVzIDxsZXZ5bGFpdGU+IDxvc2lvbnVtZXJvPiA8YWxrdT4gPHBpdHV1cz5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiAlcyA8bGV2eWxhaXRlPiA8b3Npb251bWVybz4gPGFsa3U+IDxwaXR1dXM+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiAlcyA8bGV2eWxhaXRlPiA8b3Npb251bWVybz4gPGFsa3U+IDxwaXR1dXM+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIgJXMgPGxldnlsYWl0ZT4gPG9zaW9udW1lcm8+IDxhbGt1PiA8cGl0dXVzPlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4OQorIywgZnV6enkKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGhhcyBub3QgYmVlbiBtb3ZlZDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiAlcyA8bGV2eWxhaXRlPiA8b3Npb251bWVybz4gPGFsa3U+IDxwaXR1dXM+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkxCittc2dpZCAibmV3IHBhcnRpdGlvbiBpcyBzbWFsbGVyIHRoYW4gb3JpZ2luYWw7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQxCittc2dpZCAiRGF0YSBtb3ZlOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIHR5cGVzY3JpcHQgZmlsZTogJXMiCittc2dzdHIgIlRpZWRvc3RvYSDigJ0lc+KAnSBlaSB2b2kgYXZhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiBvbGQgc3RhcnQ6ICVqdSwgbmV3IHN0YXJ0OiAlanUgKG1vdmUgJWp1IHNlY3RvcnMpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTEKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gbW92ZSBwYXJ0aXRpb24gZGF0YT8iCittc2dzdHIgIkhhbHVhdGtvIGtpcmpvaXR0YWEgdMOkbcOkbiBsZXZ5bGxlPyBbeW5xXSAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc4MworbXNnaWQgIkxlYXZpbmcuIgorbXNnc3RyICJQb2lzdHV0YWFuLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1MjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gbW92ZSBkYXRhIgorbXNnc3RyICIlczogYXZhYW1pbmVuIGVww6Rvbm5pc3R1aTogJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDEKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBpcyB1bmNoYW5nZWQgKC0tbm8tYWN0KS4iCittc2dzdHIgIkxpc8OkdMOkw6RuIGxvb2dpbmVuIG9zaW8gJXp1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0NworIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiT3Npb3RhdWx1YSBvbiBtdXV0ZXR0dS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBsYWJlbCAnJXMnIgorbXNnc3RyICIlczogdHVudGVtYXRvbiBhcmd1bWVudHRpOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYyNgorbXNnaWQgIiIKKyJJZCAgTmFtZVxuIgorIlxuIgorbXNnc3RyICIiCisiSWQgIE5pbWlcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2NTYKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorbXNnc3RyICJUdW50ZW1hdG9uIG9zaW90YXVsdW4gdHl5cHBpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjcwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICJsYWl0dGVlbiAlcyBrb2tvYSBlaSB2b2kgaGFrZWEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0b3RhbDogJWp1IGJsb2Nrc1xuIgorbXNnc3RyICJ5aHRlZW5zw6Q6ICVsbHUgbG9oa29hXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODA4IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODc2IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk0NyBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTQgZGlzay11dGlscy9zZmRpc2suYzoxMDc4CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzMgZGlzay11dGlscy9zZmRpc2suYzoxMTg5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUzMworIywgZnV6enkKK21zZ2lkICJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIm1vdW50OiBsb29wLWxhaXRlIGFubmV0dHUga2FoZGVzdGkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODE5Cittc2dpZCAidG9nZ2xlIGJvb3QgZmxhZ3MgaXMgc3VwcG9ydGVkIGZvciBNQlIgb25seSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg1MCBkaXNrLXV0aWxzL3NmZGlzay5jOjg5NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTkKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4MyBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzggZGlzay11dGlscy9zZmRpc2suYzoxMTk0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MzEgZGlzay11dGlscy9zZmRpc2suYzoyMDEzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJ0aWVkb3N0b24gJXMgb21pbmFpc3V1a3NpZW4gaGFrZW1pbmVuIGVpIG9ubmlzdHUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJWQ6IGZhaWxlZCB0byB0b2dnbGUgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg5MSBkaXNrLXV0aWxzL3NmZGlzay5jOjg5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBkZWxldGUiCittc2dzdHIgInRpZWRvc3RvbiAlcyBvbWluYWlzdXVrc2llbiBoYWtlbWluZW4gZWkgb25uaXN0dSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIkxldnkgJXMgZWkgc2lzw6RsbMOkIGtlbHZvbGxpc3RhIG9zaW90YXVsdWFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NTgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGR1bXAgc3RydWN0IgorbXNnc3RyICJjYWNoZV9zZXQgdWhyaW4gdmFyYXVzIGVww6Rvbm5pc3R1aSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZHVtcCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgImx1ZSBvc2lvdGF1bHUgdXVkZWxsZWVuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiB0YWJsZSBmb3VuZCIKK21zZ3N0ciAiRWkgb3Npb3RhdWx1YS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiTGFpdHRlZW4gJXMgb3Npb3RhdWx1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIGlzIHVudXNlZCIKK21zZ3N0ciAiTGlzw6R0w6TDpG4gbG9vZ2luZW4gb3NpbyAlenUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxOCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODIgZGlzay11dGlscy9zZmRpc2suYzoxMTM3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTMKKyMsIGZ1enp5Cittc2dpZCAibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiCittc2dzdHIgIk9zaW9udW1lcm8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAyNCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODggZGlzay11dGlscy9zZmRpc2suYzoxMTQzCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTkKKyMsIGZ1enp5Cittc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudHMiCittc2dzdHIgInbDpMOkcsOkIG3DpMOkcsOkIGFyZ3VtZW50dGVqYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAidGllZG9zdG9uICVzIG9taW5haXN1dWtzaWVuIGhha2VtaW5lbiBlaSBvbm5pc3R1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBwYXJ0aXRpb24gdHlwZSAnJXMnIgorbXNnc3RyICJKw6RzZW5ueXN2aXJoZTogJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIkxhaXR0ZWVuICVzIG9zaW90YXVsdVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJMYWl0dGVlbiAlcyBvc2lvdGF1bHVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTEzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE2OCBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMjIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBvYmplY3QiCittc2dzdHIgInJpaXBwdXZ1dXNsaXN0YWxsZSBlaSB2b2kgdmFyYXRhIG11aXN0aWEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTExNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIkxhaXR0ZWVuICVzIG9zaW90YXVsdVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJ0aWVkb3N0b24gJXMgb21pbmFpc3V1a3NpZW4gaGFrZW1pbmVuIGVpIG9ubmlzdHUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgInRpZWRvc3RvbiAlcyBvbWluYWlzdXVrc2llbiBoYWtlbWluZW4gZWkgb25uaXN0dSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gYXR0cmlidXRlcyIKK21zZ3N0ciAiTGFpdHRlZW4gJXMgb3Npb3RhdWx1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI2OQorbXNnaWQgIiBDb21tYW5kczpcbiIKK21zZ3N0ciAiIEtvbWVubm90OlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzEKK21zZ2lkICIgICB3cml0ZSAgICB3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0XG4iCittc2dzdHIgIiAgIHdyaXRlICAgICAga2lyam9pdGEgdGF1bHUgbGV2eWxsZSBqYSBsb3BldGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjcyCittc2dpZCAiICAgcXVpdCAgICAgc2hvdyBuZXcgc2l0dWF0aW9uIGFuZCB3YWl0IGZvciB1c2VyJ3MgZmVlZGJhY2sgYmVmb3JlIHdyaXRlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjczCittc2dpZCAiICAgYWJvcnQgICAgZXhpdCBzZmRpc2sgc2hlbGxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzQKKyMsIGZ1enp5Cittc2dpZCAiICAgcHJpbnQgICAgZGlzcGxheSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgIHAgICAgbsOkeXTDpCBCU0Qtb3Npb3RhdWx1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzUKKyMsIGZ1enp5Cittc2dpZCAiICAgaGVscCAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorbXNnc3RyICIgICAgICAtLWhlbHAgICAgIG7DpHl0w6QgdMOkbcOkIG9oamUgamEgcG9pc3R1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3NworbXNnaWQgIiAgIEN0cmwtRCAgIHRoZSBzYW1lIGFzICdxdWl0J1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MQorIywgZnV6enkKK21zZ2lkICIgSW5wdXQgZm9ybWF0OlxuIgorbXNnc3RyICJTecO2dGUvdHVsb3N0ZW11b2RvbiBtw6TDpHJpdHRlbHk6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODMKK21zZ2lkICIgICA8c3RhcnQ+LCA8c2l6ZT4sIDx0eXBlPiwgPGJvb3RhYmxlPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4NgorbXNnaWQgIiIKKyIgICA8c3RhcnQ+ICBCZWdpbm5pbmcgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgdGhlIGZpcnN0IGZyZWUgc3BhY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkxCittc2dpZCAiIgorIiAgIDxzaXplPiAgIFNpemUgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgYWxsIGF2YWlsYWJsZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTYKK21zZ2lkICIgICA8dHlwZT4gICBUaGUgcGFydGl0aW9uIHR5cGUuICBEZWZhdWx0IGlzIGEgTGludXggZGF0YSBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk3Cittc2dpZCAiICAgICAgICAgICAgTUJSOiBoZXggb3IgTCxTLEUsWCBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk4Cittc2dpZCAiICAgICAgICAgICAgR1BUOiBVVUlEIG9yIEwsUyxIIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDEKKyMsIGZ1enp5Cittc2dpZCAiICAgPGJvb3RhYmxlPiAgVXNlICcqJyB0byBtYXJrIGFuIE1CUiBwYXJ0aXRpb24gYXMgYm9vdGFibGUuXG4iCittc2dzdHIgIkV0IHB5c3R5IGtpcmpvaXR0YW1hYW4gb3Npb3RhdWx1YS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzA1Cittc2dpZCAiIEV4YW1wbGU6XG4iCittc2dzdHIgIiBFc2ltZXJra2k6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNworIywgZnV6enkKK21zZ2lkICIgICAsIDRHICAgICBDcmVhdGVzIGEgNEdpQiBwYXJ0aXRpb24gYXQgZGVmYXVsdCBzdGFydCBvZmZzZXQuXG4iCittc2dzdHIgIiAgbiAgICAgICAgICBMdW8gdXVzaSBvc2lvIHR5aGrDpHN0w6QgdGlsYXN0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzM5IHN5cy11dGlscy9kbWVzZy5jOjE0NTUKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAidHVudGVtYXRvbiB2w6RyaW1vb2RpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzNDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQ6IHVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgInR1bnRlbWF0b24gdsOkcmltb29kaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTAwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAib3Npb24gbGlzw6TDpG1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTQxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiR1BULW90c2FrZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogbm8gcGFydGl0aW9uIHRhYmxlIHdhcyBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogcGFydGl0aW9uIHRhYmxlIGNvbnRhaW5zIG9ubHkgJXp1IHBhcnRpdGlvbnMiCittc2dzdHIgIlZhcm9pdHVzOiBvc2lvbiAlcyBrb2tvIG9uIDAgamEgc2Ugb24gbWVya2l0dHkga8OkeW5uaXN0ZXR0w6R2w6Rrc2kiCisKKyMKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXM6IHBhcnRpdGlvbiAlZCBpcyBub3QgZGVmaW5lZCB5ZXQiCittc2dzdHIgIk9zaW9pdGEgZWkgb2xlIHZpZWzDpCBtw6TDpHJpdGVsdHkhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIldlbGNvbWUgdG8gc2ZkaXNrICglcykuIgorbXNnc3RyICIiCisiXG4iCisiVGVydmV0dWxvYSBzZmRpc2tpaW4gKCVzKS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NAorbXNnaWQgIkNoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIgorbXNnc3RyICJUYXJrYXN0ZXRhYW4sIGV0dGVpIGt1a2FhbiBrw6R5dMOkIGxldnnDpCBqdXVyaSBueXQuLi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NworbXNnaWQgIiIKKyIgRkFJTEVEXG4iCisiXG4iCittc2dzdHIgIiIKKyIgRVDDhE9OTklTVFVJXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwMAorIywgZnV6enkKK21zZ2lkICIiCisiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UgLSByZXBhcnRpdGlvbmluZyBpcyBwcm9iYWJseSBhIGJhZCBpZGVhLlxuIgorIlVtb3VudCBhbGwgZmlsZSBzeXN0ZW1zLCBhbmQgc3dhcG9mZiBhbGwgc3dhcCBwYXJ0aXRpb25zIG9uIHRoaXMgZGlzay5cbiIKKyJVc2UgdGhlIC0tbm8tcmVyZWFkIGZsYWcgdG8gc3VwcHJlc3MgdGhpcyBjaGVjay5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlTDpG3DpCBsZXZ5IG9uIHTDpGxsw6QgaGV0a2VsbMOkIGvDpHl0w7Zzc8OkIOKAkyBzZW4gdXVkZWxsZWVub3Npb2ludGkgb25cbiIKKyJ0b2Rlbm7DpGvDtmlzZXN0aSBodW9ubyBhamF0dXMuIElycm90YSBrYWlra2kgbGV2eW4gdGllZG9zdG9qw6RyamVzdGVsbcOkdFxuIgorIihrb21lbnRvIHVtb3VudCkgamEga2Fpa2tpIGxldnlsbMOkIG9sZXZhdCBzaXZ1dHVzb3Npb3QgKGtvbWVudG8gc3dhcG9mZikuXG4iCisiS8OkeXTDpCB2YWxpdHNpbnRhIC0tbm8tcmVyZWFkIHTDpG3DpG4gdGVzdGluIG9oaXR0YW1pc2Vlbi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIgorbXNnc3RyICJLw6R5dMOkIC0tZm9yY2UgLXZhbGl0c2ludGEga2Fpa2tpZW4gdGFya2lzdHVzdGVuIG9oaXR0YW1pc2Vlbi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNworIywgZnV6enkKK21zZ2lkICIiCisiIE9LXG4iCisiXG4iCittc2dzdHIgIiVzOiBPS1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzYKK21zZ2lkICIiCisiXG4iCisiT2xkIHNpdHVhdGlvbjoiCittc2dzdHIgIiIKKyJcbiIKKyJWYW5oYSB0aWxhbm5lOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKyJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY1NworIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiVHlwZSAnaGVscCcgdG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIktva2VpbGUg4oCdJXMgLS1oZWxw4oCdIHRhaSDigJ0lcyAtLXVzYWdl4oCdIHNhYWRha3Nlc2kgbGlzw6TDpCB0aWV0b2EuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY3NQorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIHVzZWQuIgorbXNnc3RyICJLYWlra2kgb3Npb2l0IGvDpHl0ZXR0eS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcwMworIywgZnV6enkKK21zZ2lkICJEb25lLlxuIgorbXNnc3RyICJWYWxtaXMuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MTUKKyMsIGZ1enp5Cittc2dpZCAiSWdub3JpbmcgcGFydGl0aW9uLiIKK21zZ3N0ciAiSsOkdGV0w6TDpG4gaHVvbWlvdHRhIG9zaW8gJXp1LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzI0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgaGVhZGVycywgZGlzayBsYWJlbCBub3QgY3JlYXRlZC4iCittc2dzdHIgIkxldnluaW1pw7ZuIGtpcmpvaXR1cyBlcMOkb25uaXN0dWkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCAjJWQgcGFydGl0aW9uIgorbXNnc3RyICJvc2lvbiBsaXPDpMOkbWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NjMKK21zZ2lkICJTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NzIKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIk5ldyBzaXR1YXRpb246IgorbXNnc3RyICJVdXNpIHRpbGFubmU6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc4MQorIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byB3cml0ZSB0aGlzIHRvIGRpc2s/IgorbXNnc3RyICJIYWx1YXRrbyBraXJqb2l0dGFhIHTDpG3DpG4gbGV2eWxsZT8gW3lucV0gIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3OTMKK21zZ2lkICJMZWF2aW5nLlxuIgorbXNnc3RyICJQb2lzdHV0YWFuLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkvDpHl0dMO2OiAlcyBbdmFsaXRzaW1ldF0gcG9sa3UgW3BvbGt1IC4uLl1cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEyCittc2dpZCAiIgorIlxuIgorIkNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisiXG4iCisiS29tZW5ub3Q6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMworbXNnaWQgIiAtQSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gbGlzdCBvciBzZXQgYm9vdGFibGUgTUJSIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSAodXNhYmxlIGZvciBsYXRlciBpbnB1dClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlIGluIEpTT04gZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTYKK21zZ2lkICIgLWcsIC0tc2hvdy1nZW9tZXRyeSBbPGRldj4gLi4uXSAgIGxpc3QgZ2VvbWV0cnkgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE3CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0IFs8ZGV2PiAuLi5dICAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAgICAgIC0taGVscCAgICAgbsOkeXTDpCB0w6Rtw6Qgb2hqZSBqYSBwb2lzdHVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE4CisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1saXN0LWZyZWUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCB1bnBhcnRpdGlvbmVkIGZyZWUgYXJlYXMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiICAgICAgLS1oZWxwICAgICBuw6R5dMOkIHTDpG3DpCBvaGplIGphIHBvaXN0dVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTkKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlb3JkZXIgPGRldj4gICAgICAgICAgICAgICBmaXggcGFydGl0aW9ucyBvcmRlciAoYnkgc3RhcnQgb2Zmc2V0KVxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIwCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaG93LXNpemUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCBzaXplcyBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgVGVzdGFhIGdldG9wdCgxKTpuIHZlcnNpb1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjEKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmVjb2duaXplZCB0eXBlcyAoc2VlIC1YKVxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIyCisjLCBmdXp6eQorbXNnaWQgIiAtViwgLS12ZXJpZnkgWzxkZXY+IC4uLl0gICAgICAgICAgdGVzdCB3aGV0aGVyIHBhcnRpdGlvbnMgc2VlbSBjb3JyZWN0XG4iCittc2dzdHIgIiAgICAgIC0taGVscCAgICAgbsOkeXTDpCB0w6Rtw6Qgb2hqZSBqYSBwb2lzdHVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIzCittc2dpZCAiICAgICAtLWRlbGV0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gICBkZWxldGUgYWxsIG9yIHNwZWNpZmllZCBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI2Cittc2dpZCAiIC0tcGFydC1sYWJlbCA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGxhYmVsXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI3Cittc2dpZCAiIC0tcGFydC10eXBlIDxkZXY+IDxwYXJ0PiBbPHR5cGU+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjgKKyMsIGZ1enp5Cittc2dpZCAiIC0tcGFydC11dWlkIDxkZXY+IDxwYXJ0PiBbPHV1aWQ+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHV1aWRcbiIKK21zZ3N0ciAiICAgIC1jIFt0YWkgLS1pZDogICAgICAgIG7DpHl0w6QgdGFpIG11dXRhIG9zaW8taWQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyOQorbXNnaWQgIiAtLXBhcnQtYXR0cnMgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBhdHRyaWJ1dGVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODMyCisjLCBmdXp6eQorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgIGRldmljZSAodXN1YWxseSBkaXNrKSBwYXRoXG4iCittc2dzdHIgIiAgICAgIC0taGVscCAgICAgICAgICAgICAgICBuw6R5dMOkIHTDpG3DpCBvaGplIGphIHBvaXN0dVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzMKKyMsIGZ1enp5Cittc2dpZCAiIDxwYXJ0PiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgICAgLU4jIDogICAgICAgICAgICAgICAgbXV1dGEgdmFpbiBvc2lvdGEgbnVtZXJvICMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzNAorbXNnaWQgIiA8dHlwZT4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiB0eXBlLCBHVUlEIGZvciBHUFQsIGhleCBmb3IgTUJSXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM3CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgIGFwcGVuZCBwYXJ0aXRpb25zIHRvIGV4aXN0aW5nIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM4CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1iYWNrdXAgICAgICAgICAgICAgIGJhY2t1cCBwYXJ0aXRpb24gdGFibGUgc2VjdG9ycyAoc2VlIC1PKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM5CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDAKK21zZ2lkICIgICAgIC0tbW92ZS1kYXRhWz08dHlwZXNjcmlwdD5dIG1vdmUgcGFydGl0aW9uIGRhdGEgYWZ0ZXIgcmVsb2NhdGlvbiAocmVxdWlyZXMgLU4pXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQxCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGNvbnNpc3RlbmN5IGNoZWNraW5nXG4iCittc2dzdHIgIkthaWtraSB0YXJraXN0dWtzZXQgdm9pIG9oaXR0YWEgdmFsaXRzaW1lbGxhOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxtaWxsb2luPl0gICAgIHbDpHJpdMOkIHR1bG9zdGUgKGF1dG8sIGFsd2F5cyB0YWkgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NQorIywgZnV6enkKK21zZ2lkICIgLU4sIC0tcGFydG5vIDxudW0+ICAgICAgICBzcGVjaWZ5IHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiICAgIC1oIyBbdGFpIC0taGVhZHMgI106ICAgIGFzZXRhIGvDpHl0ZXR0w6R2w6QgcMOkaWRlbiBtw6TDpHLDpCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ2CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHdyaXRlIHRvIGRldmljZVxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBkZXZpY2UgaXMgaW4gdXNlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDgKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgZG8gbm90IHRlbGwga2VybmVsIGFib3V0IGNoYW5nZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIMOkbMOkIGtpcmpvaXRhIGxldnlsbGUgb2lrZWFzdGkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OQorbXNnaWQgIiAtTywgLS1iYWNrdXAtZmlsZSA8cGF0aD4gIG92ZXJyaWRlIGRlZmF1bHQgYmFja3VwIGZpbGUgbmFtZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9dmFsaXRzaW1ldCAgICAgTHloeWV0IHR1bm5pc3RldHRhdmF0IHZhbGl0c2ltZXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUxCisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIGV4dHJhIGluZm8gbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAgIC1xICBbdGFpIC0tcXVpZXRdOiAgICAgdmFpZW5uYSB2YXJvaXR1c3ZpZXN0aXQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MgorIywgZnV6enkKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08bWlsbG9pbj5dICAgICB2w6RyaXTDpCB0dWxvc3RlIChhdXRvLCBhbHdheXMgdGFpIG5ldmVyKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTQKKyMsIGZ1enp5Cittc2dpZCAiIC1YLCAtLWxhYmVsIDxuYW1lPiAgICAgICAgc3BlY2lmeSBsYWJlbCB0eXBlIChkb3MsIGdwdCwgLi4uKVxuIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsPWt1b3JpICAgICAgICAgICAgQXNldGEga3VvcmVuIGxhaW5hdXNrw6R5dMOkbm7DtnRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU1Cittc2dpZCAiIC1ZLCAtLWxhYmVsLW5lc3RlZCA8bmFtZT4gc3BlY2lmeSBuZXN0ZWQgbGFiZWwgdHlwZSAoZG9zLCBic2QpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU3Cittc2dpZCAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgZGVwcmVjYXRlZCwgYWxpYXMgdG8gLS1zaG93LWdlb21ldHJ5XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU4CisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OQorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IHNlY3RvciB1bml0IGlzIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYzIGxvZ2luLXV0aWxzL2NoZm4uYzoxMDIgbG9naW4tdXRpbHMvY2hzaC5jOjc5CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgICAtLXZlcnNpb24gIHR1bG9zdGEgdmVyc2lvdGllZG90IGphIHBvaXN0dVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxOTczCittc2dpZCAiLS1pZCBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5ODkKK21zZ2lkICItLXNob3ctcHQtZ2VvbWV0cnkgaXMgbm8gbW9yZSBpbXBsZW1lbnRlZC4gVXNpbmcgLS1zaG93LWdlb21ldHJ5LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMDAKK21zZ2lkICItLUxpbnV4IG9wdGlvbiBpcyB1bm5lY2Vzc2FyeSBhbmQgZGVwcmVjYXRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHVuaXQgJyVjJyIKK21zZ3N0ciAiZWktdHVldHR1IGFyZ3VtZW50dGkgZnVua3Rpb2xsZSAlPF9fYnVpbHRpbl9mcmFtZV9hZGRyZXNzJT4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAzMiBpbmNsdWRlL2MuaDozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlc1xuIgorbXNnc3RyICIlcyDigJMgJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMTA5Cittc2dpZCAiLS1tb3ZlZGF0YSByZXF1aXJlcyAtTiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgVVVJRDogJXMiCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgVVVJRCIKK21zZ3N0ciAiJXM6IHNpaXJ0eW1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBVVUlEIgorbXNnc3RyICJraXJqb2l0dGFtaW5lbiBlcMOkb25uaXN0dWk6ICVzIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBsYWJlbCAiCittc2dzdHIgIiVzOiBzaWlydHltaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6OTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxhYmVsIGlzIHRvbyBsb25nLiBUcnVuY2F0aW5nIGl0IHRvICclcyciCittc2dzdHIgIiVzOiBsaWlhbiBwaXRrw6QgdGllZG9zdG8iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6OTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgbGFiZWwiCittc2dzdHIgImtpcmpvaXR0YW1pbmVuIGVww6Rvbm5pc3R1aTogJXMiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTIxCittc2dpZCAiRGlzcGxheSBvciBjaGFuZ2UgdGhlIGxhYmVsIG9yIFVVSUQgb2YgYSBzd2FwIGFyZWEuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjQKK21zZ2lkICIiCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gc3BlY2lmeSBhIG5ldyBsYWJlbFxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgIHNwZWNpZnkgYSBuZXcgdXVpZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTY3Cittc2dpZCAiaWdub3JlIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQpIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjI5OQorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkvDpHl0dMO2OlxuIgorCisjOiBpbmNsdWRlL2MuaDozMDAKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlZhbGl0c2ltZXQ6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwMgorIywgZnV6enkKK21zZ2lkICIgLWgsIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAgLS1oZWxwICAgICBuw6R5dMOkIHTDpG3DpCBvaGplIGphIHBvaXN0dVxuIgorCisjOiBpbmNsdWRlL2MuaDozMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1WLCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgIC0tdmVyc2lvbiAgdHVsb3N0YSB2ZXJzaW90aWVkb3QgamEgcG9pc3R1XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkZvciBtb3JlIGRldGFpbHMgc2VlICVzLlxuIgorbXNnc3RyICIiCisiXG4iCisiTGlzw6R0aWV0b2phIG1hbnVhYWxpc2l2dWxsYSBuYW1laSgxKS5cbiIKKworIzogaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ2IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0OCBsb2dpbi11dGlscy92aXB3LmM6MjczCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjkyIHN5cy11dGlscy9ydGN3YWtlLmM6MjgwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjgwNQorIzogdGV4dC11dGlscy9jb2wuYzoxNTcKK21zZ2lkICJ3cml0ZSBlcnJvciIKK21zZ3N0ciAia2lyam9pdHVzdmlyaGUiCisKKyM6IGluY2x1ZGUvY29sb3JzLmg6MjcKKyMsIGZ1enp5Cittc2dpZCAiY29sb3JzIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgIktpcmphdXR1bWluZW4gcMOkw6R0dGVlbGxlICVzIG9zb2l0dGVlc3RhICVzIGV2w6R0dHkgb2xldHVrc2VuYS5cbiIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyOQorIywgZnV6enkKK21zZ2lkICJjb2xvcnMgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgIktpcmphdXR1bWluZW4gcMOkw6R0dGVlbGxlICVzIG9zb2l0dGVlc3RhICVzIGV2w6R0dHkgb2xldHVrc2VuYS5cbiIKKworIzogaW5jbHVkZS9lbnYuaDoxOCBsaWIvcGFnZXIuYzoxNTEgbG9naW4tdXRpbHMvbG9naW4uYzoxMDUyCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwNTYgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTI5CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfU0VUKSBsYWl0dGVlbGxlICVzIGVww6Rvbm5pc3R1aSIKKworIzogaW5jbHVkZS9vcHR1dGlscy5oOjgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdGhlc2Ugb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlOiIKK21zZ3N0ciAiJXMgamEgJXMgb3ZhdCB0b2lzZW5zYSBwb2lzc3Vsa2V2YXQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEKK21zZ2lkICJFbXB0eSIKK21zZ3N0ciAiVHloasOkIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyCittc2dpZCAiRkFUMTIiCittc2dzdHIgIkZBVDEyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozCittc2dpZCAiWEVOSVggcm9vdCIKK21zZ3N0ciAiWEVOSVggcm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NAorbXNnaWQgIlhFTklYIHVzciIKK21zZ3N0ciAiWEVOSVggdXNyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1Cittc2dpZCAiRkFUMTYgPDMyTSIKK21zZ3N0ciAiRkFUMTYgPDMyTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NgorbXNnaWQgIkV4dGVuZGVkIgorbXNnc3RyICJMYWFqZW5uZXR0dSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NworbXNnaWQgIkZBVDE2IgorbXNnc3RyICJGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OAorbXNnaWQgIkhQRlMvTlRGUy9leEZBVCIKK21zZ3N0ciAiSFBGUy9OVEZTL2V4RkFUIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5Cittc2dpZCAiQUlYIgorbXNnc3RyICJBSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwCittc2dpZCAiQUlYIGJvb3RhYmxlIgorbXNnc3RyICJBSVgga8OkeW5uaXN0ZXR0w6R2w6QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjExCittc2dpZCAiT1MvMiBCb290IE1hbmFnZXIiCittc2dzdHIgIk9TLzIgQWxrdWxhdGF1a3NlbiBoYWxsaW50YSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTIKK21zZ2lkICJXOTUgRkFUMzIiCittc2dzdHIgIlc5NSBGQVQzMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTMKK21zZ2lkICJXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIlc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTQKK21zZ2lkICJXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIlc5NSBGQVQxNiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTUKK21zZ2lkICJXOTUgRXh0J2QgKExCQSkiCittc2dzdHIgIlc5NSBMYWFqIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNgorbXNnaWQgIk9QVVMiCittc2dzdHIgIk9QVVMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE3Cittc2dpZCAiSGlkZGVuIEZBVDEyIgorbXNnc3RyICJLw6R0a2V0dHkgRkFUMTIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE4Cittc2dpZCAiQ29tcGFxIGRpYWdub3N0aWNzIgorbXNnc3RyICJDb21wYXEtZGlhZ25vc3RpaWtrYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTkKK21zZ2lkICJIaWRkZW4gRkFUMTYgPDMyTSIKK21zZ3N0ciAiS8OkdGtldHR5IEZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIwCittc2dpZCAiSGlkZGVuIEZBVDE2IgorbXNnc3RyICJLw6R0a2V0dHkgRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIxCittc2dpZCAiSGlkZGVuIEhQRlMvTlRGUyIKK21zZ3N0ciAiS8OkdGtldHR5IEhQRlMvTlRGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjIKK21zZ2lkICJBU1QgU21hcnRTbGVlcCIKK21zZ3N0ciAiQVNUIFNtYXJ0U2xlZXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIzCittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiIKK21zZ3N0ciAiS8OkdGtldHR5IFc5NSBGQVQzMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjQKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICJLw6R0a2V0dHkgVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNQorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIkvDpHRrZXR0eSBXOTUgRkFUMTYgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI2Cittc2dpZCAiTkVDIERPUyIKK21zZ3N0ciAiTkVDIERPUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjcKKyMsIGZ1enp5Cittc2dpZCAiSGlkZGVuIE5URlMgV2luUkUiCittc2dzdHIgIkvDpHRrZXR0eSBIUEZTL05URlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI4Cittc2dpZCAiUGxhbiA5IgorbXNnc3RyICJQbGFuIDkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI5Cittc2dpZCAiUGFydGl0aW9uTWFnaWMgcmVjb3ZlcnkiCittc2dzdHIgIlBhcnRpdGlvbk1hZ2ljLXBhbGF1dHVzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMAorbXNnaWQgIlZlbml4IDgwMjg2IgorbXNnc3RyICJWZW5peCA4MDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzEKK21zZ2lkICJQUEMgUFJlUCBCb290IgorbXNnc3RyICJQUEMgUFJlUCBCb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMgorbXNnaWQgIlNGUyIKK21zZ3N0ciAiU0ZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMworbXNnaWQgIlFOWDQueCIKK21zZ3N0ciAiUU5YNC54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNAorbXNnaWQgIlFOWDQueCAybmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IDI6cyBvc2lvIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNQorbXNnaWQgIlFOWDQueCAzcmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IDM6cyBvc2lvIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNgorbXNnaWQgIk9uVHJhY2sgRE0iCittc2dzdHIgIk9uVHJhY2sgRE0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM3Cittc2dpZCAiT25UcmFjayBETTYgQXV4MSIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzgKK21zZ2lkICJDUC9NIgorbXNnc3RyICJDUC9NIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOQorbXNnaWQgIk9uVHJhY2sgRE02IEF1eDMiCittc2dzdHIgIk9uVHJhY2sgRE02IEF1eDMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQwCittc2dpZCAiT25UcmFja0RNNiIKK21zZ3N0ciAiT25UcmFja0RNNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDEKK21zZ2lkICJFWi1Ecml2ZSIKK21zZ3N0ciAiRVotRHJpdmUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQyCittc2dpZCAiR29sZGVuIEJvdyIKK21zZ3N0ciAiR29sZGVuIEJvdyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDMKK21zZ2lkICJQcmlhbSBFZGlzayIKK21zZ3N0ciAiUHJpYW0gRWRpc2siCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkxCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OQorbXNnaWQgIlNwZWVkU3RvciIKK21zZ3N0ciAiU3BlZWRTdG9yIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NQorbXNnaWQgIkdOVSBIVVJEIG9yIFN5c1YiCittc2dzdHIgIkdOVSBIVVJEIHRhaSBTeXNWIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NgorbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDI4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NworbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDM4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMzg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OAorbXNnaWQgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKK21zZ3N0ciAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OQorbXNnaWQgIlBDL0lYIgorbXNnc3RyICJQQy9JWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTAKK21zZ2lkICJPbGQgTWluaXgiCittc2dzdHIgIlZhbmhhIE1pbml4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MQorbXNnaWQgIk1pbml4IC8gb2xkIExpbnV4IgorbXNnc3RyICJNaW5peC92YW5oYSBMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTIKK21zZ2lkICJMaW51eCBzd2FwIC8gU29sYXJpcyIKK21zZ3N0ciAiTGludXgtc2l2dXR1cyAvIFNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUzCittc2dpZCAiTGludXgiCittc2dzdHIgIkxpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NAorbXNnaWQgIk9TLzIgaGlkZGVuIG9yIEludGVsIGhpYmVybmF0aW9uIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU3Cittc2dpZCAiTGludXggZXh0ZW5kZWQiCittc2dzdHIgIkxpbnV4IGxhYWplbm5ldHR1IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OQorbXNnaWQgIk5URlMgdm9sdW1lIHNldCIKK21zZ3N0ciAiTlRGUy1vc2lvcnlobcOkIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MAorbXNnaWQgIkxpbnV4IHBsYWludGV4dCIKK21zZ3N0ciAiTGludXggdGVrc3RpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjA1IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MworIzogbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggTFZNIgorbXNnc3RyICJMaW51eCBMVk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYyCittc2dpZCAiQW1vZWJhIgorbXNnc3RyICJBbW9lYmEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYzCittc2dpZCAiQW1vZWJhIEJCVCIKK21zZ3N0ciAiQW1vZWJhIEJCVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjQKK21zZ2lkICJCU0QvT1MiCittc2dzdHIgIkJTRC9PUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjUKK21zZ2lkICJJQk0gVGhpbmtwYWQgaGliZXJuYXRpb24iCittc2dzdHIgIklCTSBUaGlua3BhZCAtdmFsbWl1c3RpbGEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY2Cittc2dpZCAiRnJlZUJTRCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjcKK21zZ2lkICJPcGVuQlNEIgorbXNnc3RyICJPcGVuQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OAorbXNnaWQgIk5lWFRTVEVQIgorbXNnc3RyICJOZVhUU1RFUCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjkKK21zZ2lkICJEYXJ3aW4gVUZTIgorbXNnc3RyICJEYXJ3aW4gVUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MAorbXNnaWQgIk5ldEJTRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MQorbXNnaWQgIkRhcndpbiBib290IgorbXNnc3RyICJEYXJ3aW4gYm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzIKK21zZ2lkICJIRlMgLyBIRlMrIgorbXNnc3RyICJIRlMgLyBIRlMrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MworbXNnaWQgIkJTREkgZnMiCittc2dzdHIgIkJTREktZnMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc0Cittc2dpZCAiQlNESSBzd2FwIgorbXNnc3RyICJCU0RJLXNpdnV0dXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc1Cittc2dpZCAiQm9vdCBXaXphcmQgaGlkZGVuIgorbXNnc3RyICJLw6R0a2V0dHkgQm9vdCBXaXphcmQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc2CisjLCBmdXp6eQorbXNnaWQgIkFjcm9uaXMgRkFUMzIgTEJBIgorbXNnc3RyICJXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc3IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzAKK21zZ2lkICJTb2xhcmlzIGJvb3QiCittc2dzdHIgIlNvbGFyaXMgYm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzgKK21zZ2lkICJTb2xhcmlzIgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTEyKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MAorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2KSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTYpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MgorbXNnaWQgIlN5cmlueCIKK21zZ3N0ciAiU3lyaW54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MworbXNnaWQgIk5vbi1GUyBkYXRhIgorbXNnc3RyICJlaS10aWVkLmrDpHJqLiBkYXRhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NAorbXNnaWQgIkNQL00gLyBDVE9TIC8gLi4uIgorbXNnc3RyICJDUC9NIC8gQ1RPUyAvIC4uLiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODYKK21zZ2lkICJEZWxsIFV0aWxpdHkiCittc2dzdHIgIkRlbGwgVXRpbGl0eSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODcKK21zZ2lkICJCb290SXQiCittc2dzdHIgIkJvb3RJdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODgKK21zZ2lkICJET1MgYWNjZXNzIgorbXNnc3RyICJET1MgYWNjZXNzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MAorbXNnaWQgIkRPUyBSL08iCittc2dzdHIgIkRPUyB2YWluIGx1a3UiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkzCisjLCBmdXp6eQorbXNnaWQgIlJ1ZnVzIGFsaWdubWVudCIKK21zZ3N0ciAiZW5zaW1tw6RpbmVuIGFyZ3VtZW50dGkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk0Cittc2dpZCAiQmVPUyBmcyIKK21zZ3N0ciAiQmVPUy10aWVkLmrDpHJqLiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTYKK21zZ2lkICJFRkkgKEZBVC0xMi8xNi8zMikiCittc2dzdHIgIkVGSSAoRkFULTEyLzE2LzMyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTcKK21zZ2lkICJMaW51eC9QQS1SSVNDIGJvb3QiCittc2dzdHIgIkxpbnV4L1BBLVJJU0MgYm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAwCittc2dpZCAiRE9TIHNlY29uZGFyeSIKK21zZ3N0ciAiRE9TLXRvaXNpbyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAxCittc2dpZCAiVk13YXJlIFZNRlMiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAyCittc2dpZCAiVk13YXJlIFZNS0NPUkUiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAzIGxpYmZkaXNrL3NyYy9zdW4uYzo1NQorbXNnaWQgIkxpbnV4IHJhaWQgYXV0b2RldGVjdCIKK21zZ3N0ciAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDYKK21zZ2lkICJMQU5zdGVwIgorbXNnc3RyICJMQU5zdGVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDcKK21zZ2lkICJCQlQiCittc2dzdHIgIkJCVCIKKworIzogbGliL2Jsa2Rldi5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlcyBpcyBtaXNhbGlnbmVkIgorbXNnc3RyICJ2YXJvaXR1czogJXMgb24gdsOkw6RyaW4ga29oZGlzdGV0dHUiCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2NzIKK21zZ2lkICJDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJLdXRzdXRhYW4gb3Npb3RhdWx1biB1dWRlbGxlZW4gbHVrZXZhIGlvY3RsKCkuIgorCisjOiBsaWJmZGlzay9zcmMvYWxpZ25tZW50LmM6NjgxCittc2dpZCAiUmUtcmVhZGluZyB0aGUgcGFydGl0aW9uIHRhYmxlIGZhaWxlZC4iCittc2dzdHIgIk9zaW90YXVsdW4gdXVkZWxsZWVubHVrdSBlcMOkb25uaXN0dWkuIgorCisjOiBsaWJmZGlzay9zcmMvYWxpZ25tZW50LmM6NjgzCittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgdGFibGUuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdCBvciBhZnRlciB5b3UgcnVuIHBhcnRwcm9iZSg4KSBvciBrcGFydHgoOCkuIgorbXNnc3RyICJZZGluIGvDpHl0dMOkw6QgZWRlbGxlZW4gdmFuaGFhIHRhdWx1YS4gVXVzaSB0YXVsdSB0dWxlZSBrw6R5dHTDtsO2biBzZXVyYWF2YXNzYSBrw6R5bm5pc3R5a3Nlc3PDpCB0YWkgYWphbWFsbGEgcGFydHByb2JlKDgpIHRhaSBrcGFydHgoOCkuIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDcyIGxpYmZkaXNrL3NyYy9hc2suYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0ZWQgcGFydGl0aW9uICVqdSIKK21zZ3N0ciAiVmFsaXR0aWluIG9zaW8gJWp1IgorCisjCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDc1Cittc2dpZCAiTm8gcGFydGl0aW9uIGlzIGRlZmluZWQgeWV0ISIKK21zZ3N0ciAiT3Npb2l0YSBlaSBvbGUgdmllbMOkIG3DpMOkcml0ZWx0eSEiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODcKK21zZ2lkICJObyBmcmVlIHBhcnRpdGlvbiBhdmFpbGFibGUhIgorbXNnc3RyICJFaSB2YXBhaXRhIG9zaW9pdGEga8OkeXRldHTDpHZpc3PDpCEiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0OTcKK21zZ2lkICJQYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJPc2lvbnVtZXJvIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6OTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IHBhcnRpdGlvbiAlZCBvZiB0eXBlICclcycgYW5kIG9mIHNpemUgJXMuIgorbXNnc3RyICJPc2lvdGEgJWQgZWkgb2xlIHZpZWzDpCBvbGVtYXNzYSFcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICJPc2lvbGxhICVzIG9uIHZpcmhlZWxsaW5lbiBhbGt1c2VrdG9yaSAwLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZXJlIGlzIG5vICpCU0QgcGFydGl0aW9uIG9uICVzLiIKK21zZ3N0ciAiTGFpdHRlZWxsYSAlcyBlaSBvbGUgKkJTRC1vc2lvdGEuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MjU5IGxpYmZkaXNrL3NyYy9kb3MuYzo5MzMKK21zZ2lkICJGaXJzdCBjeWxpbmRlciIKK21zZ3N0ciAiRW5zaW1tw6RpbmVuIHN5bGludGVyaSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5MiBsaWJmZGlzay9zcmMvZG9zLmM6MTE2MQorbXNnaWQgIkxhc3QgY3lsaW5kZXIsICtjeWxpbmRlcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiVmlpbWVpbmVuIHN5bGludGVyaSwgK3N5bGludGVyaW3DpMOkcsOkIHRhaSAra29rb3tLLE0sR30iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTcgbGliZmRpc2svc3JjL2Rvcy5jOjExNjYgbGliZmRpc2svc3JjL2dwdC5jOjIyNTUKK21zZ2lkICJMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiVmlpbWVpbmVuIHNla3RvcmksICtzZWt0b3JpbcOkw6Ryw6QgdGFpICtrb2tve0ssTSxHfSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGV2aWNlICVzIGRvZXMgbm90IGNvbnRhaW4gQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIkxhaXR0ZWVsbGEgJXMgZWkgb2xlIEJTRC1sZXZ5bmltacO2dMOkLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MworbXNnaWQgIkRvIHlvdSB3YW50IHRvIGNyZWF0ZSBhIEJTRCBkaXNrbGFiZWw/IgorbXNnc3RyICJMdW9kYWFua28gQlNELWxldnluaW1pw7Y/IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDQ5CisjLCBmdXp6eQorbXNnaWQgIkRpc2siCittc2dzdHIgIkxldnk6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDU2Cittc2dpZCAiUGFja25hbWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MyBsaWJmZGlzay9zcmMvc3VuLmM6MTExNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICJMaXB1dCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NgorbXNnaWQgIiByZW1vdmFibGUiCittc2dzdHIgIiBzaWlycmV0dMOkdsOkIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY3Cittc2dpZCAiIGVjYyIKK21zZ3N0ciAiIGVjYyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2OAorbXNnaWQgIiBiYWRzZWN0IgorbXNnc3RyICIgYmFkc2VjdCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ3NgorIywgZnV6enkKK21zZ2lkICJCeXRlcy9TZWN0b3IiCittc2dzdHIgInRhdnVhL3Nla3RvcmkiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODEKKyMsIGZ1enp5Cittc2dpZCAiVHJhY2tzL0N5bGluZGVyIgorbXNnc3RyICJ1cmFhL3N5bGludGVyaSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4NgorIywgZnV6enkKK21zZ2lkICJTZWN0b3JzL0N5bGluZGVyIgorbXNnc3RyICJzZWt0b3JpYS9zeWxpbnRlcmkiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTggbGliZmRpc2svc3JjL2Rvcy5jOjIzMDMKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU3IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTYgbGliZmRpc2svc3JjL3N1bi5jOjExMTMKK21zZ2lkICJDeWxpbmRlcnMiCittc2dzdHIgIlN5bGludGVyaXQiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTYgbGliZmRpc2svc3JjL3N1bi5jOjc2MAorIywgZnV6enkKK21zZ2lkICJScG0iCittc2dzdHIgInJwbSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMSBsaWJmZGlzay9zcmMvc2dpLmM6MjkyIGxpYmZkaXNrL3NyYy9zdW4uYzo3ODAKKyMsIGZ1enp5Cittc2dpZCAiSW50ZXJsZWF2ZSIKK21zZ3N0ciAibG9taXR1cyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwNgorIywgZnV6enkKK21zZ2lkICJUcmFja3NrZXciCittc2dzdHIgInVyYXbDpMOkcmlzdHltw6QiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTEKKyMsIGZ1enp5Cittc2dpZCAiQ3lsaW5kZXJza2V3IgorbXNnc3RyICJzeWxpbnRlcml2w6TDpHJpc3R5bcOkIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTE2CisjLCBmdXp6eQorbXNnaWQgIkhlYWRzd2l0Y2giCittc2dzdHIgInDDpMOkbnZhaWh0byIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUyMQorIywgZnV6enkKK21zZ2lkICJUcmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICJyYWlkYWx0YSByYWlkYWxsZSBzaWlydHltaW5lbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMQorbXNnaWQgImJ5dGVzL3NlY3RvciIKK21zZ3N0ciAidGF2dWEvc2VrdG9yaSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNAorbXNnaWQgInNlY3RvcnMvdHJhY2siCittc2dzdHIgInNla3RvcmlhL3VyYSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNQorbXNnaWQgInRyYWNrcy9jeWxpbmRlciIKK21zZ3N0ciAidXJhYS9zeWxpbnRlcmkiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTYKK21zZ2lkICJjeWxpbmRlcnMiCittc2dzdHIgInN5bGludGVyaXQiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjAKK21zZ2lkICJzZWN0b3JzL2N5bGluZGVyIgorbXNnc3RyICJzZWt0b3JpYS9zeWxpbnRlcmkiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjMKK21zZ2lkICJycG0iCittc2dzdHIgInJwbSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNAorbXNnaWQgImludGVybGVhdmUiCittc2dzdHIgImxvbWl0dXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjUKK21zZ2lkICJ0cmFja3NrZXciCittc2dzdHIgInVyYXbDpMOkcmlzdHltw6QiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjYKK21zZ2lkICJjeWxpbmRlcnNrZXciCittc2dzdHIgInN5bGludGVyaXbDpMOkcmlzdHltw6QiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjgKK21zZ2lkICJoZWFkc3dpdGNoIgorbXNnc3RyICJww6TDpG52YWlodG8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjkKK21zZ2lkICJ0cmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICJyYWlkYWx0YSByYWlkYWxsZSBzaWlydHltaW5lbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdHN0cmFwIGZpbGUgJXMgc3VjY2Vzc2Z1bGx5IGxvYWRlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwOiAlMSRzYm9vdCAtPiBib290JTEkcyAoZGVmYXVsdCAlMSRzKSIKK21zZ3N0ciAiRXNpbGF0YXVzb2hqZWxtYTogJXNib290IOKGkiBib290JXMgKCVzKTogIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzA0Cittc2dpZCAiQm9vdHN0cmFwIG92ZXJsYXBzIHdpdGggZGlza2xhYmVsISIKK21zZ3N0ciAiRXNpbGF0YXVzb2hqZWxtYSBvbiBww6TDpGxsZWtrw6RpbmVuIGxldnluaW1pw7ZuIGthbnNzYSEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcCBpbnN0YWxsZWQgb24gJXMuIgorbXNnc3RyICJQYWtldHRpYSBlaSBvbGUgYXNlbm5ldHR1IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiAgKERvbid0IGZvcmdldCB0byB3cml0ZSB0aGUgJXMgZGlza2xhYmVsIHRvby4pIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiIKK21zZ3N0ciAiS2lyam9pdHRhbmVldCAlcyBqYSAlcy5cbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwOSBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY2NgorbXNnaWQgIlN5bmNpbmcgZGlza3MuIgorbXNnc3RyICJTeW5rcm9ub2lkYWFuIGxldnl0LiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk1MAorbXNnaWQgIkJTRCBsYWJlbCBpcyBub3QgbmVzdGVkIHdpdGhpbiBhIERPUyBwYXJ0aXRpb24uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJTRCBwYXJ0aXRpb24gJyVjJyBsaW5rZWQgdG8gRE9TIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICIgICB4ICAgIGxpbmtpdMOkIEJTRC1vc2lvIGVpLUJTRC1vc2lvb24iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE0Cittc2dpZCAiU2xpY2UiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjEKK21zZ2lkICJGc2l6ZSIKK21zZ3N0ciAiRm9rbyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjIKK21zZ2lkICJCc2l6ZSIKK21zZ3N0ciAiQmtva28iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIzCittc2dpZCAiQ3BnIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zZSBkZXZpY2UgZmFpbGVkIgorbXNnc3RyICIlczogbGFpdHRlZW4gc3Vsa2VtaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODI3Cittc2dpZCAiY3lsaW5kZXIiCittc2dpZF9wbHVyYWwgImN5bGluZGVycyIKK21zZ3N0clswXSAic3lsaW50ZXJpIgorbXNnc3RyWzFdICJzeWxpbnRlcmnDpCIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4MjgKK21zZ2lkICJzZWN0b3IiCittc2dpZF9wbHVyYWwgInNlY3RvcnMiCittc2dzdHJbMF0gInNla3RvcmkiCittc2dzdHJbMV0gInNla3Rvcml0IgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjExMzEKKyMsIGZ1enp5Cittc2dpZCAiSW5jb21wbGV0ZSBnZW9tZXRyeSBzZXR0aW5nLiIKK21zZ3N0ciAiR2VvbWV0cmlhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE0Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBhbHJlYWR5LiIKK21zZ3N0ciAiS2Fpa2tpIGVuc2nDtm9zaW90IG9uIGpvIG3DpMOkcml0ZWx0eS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkIGV4dGVuZGVkIHBhcnRpdGlvbiB0YWJsZSAob2Zmc2V0PSVqdSkiCittc2dzdHIgImx1ZSBvc2lvdGF1bHUgdXVkZWxsZWVuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzI4CisjLCBmdXp6eQorbXNnaWQgIllvdSBjYW4gc2V0IGdlb21ldHJ5IGZyb20gdGhlIGV4dHJhIGZ1bmN0aW9ucyBtZW51LiIKK21zZ3N0ciAiIgorIiVzJXMuXG4iCisiVMOkbcOkbiB2b2kgdGVoZMOkIGxpc8OkdG9pbWludG92YWxpa29zdGEuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMzEKK21zZ2lkICJET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMzUKK21zZ2lkICJUaGUgZGV2aWNlIHByZXNlbnRzIGEgbG9naWNhbCBzZWN0b3Igc2l6ZSB0aGF0IGlzIHNtYWxsZXIgdGhhbiB0aGUgcGh5c2ljYWwgc2VjdG9yIHNpemUuIEFsaWduaW5nIHRvIGEgcGh5c2ljYWwgc2VjdG9yIChvciBvcHRpbWFsIEkvTykgc2l6ZSBib3VuZGFyeSBpcyByZWNvbW1lbmRlZCwgb3IgcGVyZm9ybWFuY2UgbWF5IGJlIGltcGFjdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQxCisjLCBmdXp6eQorbXNnaWQgIkN5bGluZGVycyBhcyBkaXNwbGF5IHVuaXRzIGFyZSBkZXByZWNhdGVkLiIKK21zZ3N0ciAiICB1ICAgICAgICAgIE11dXRhIG9zaW9rb2tvbsOka3ltw6RuIHlrc2lrw7ZpdMOkIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBzaXplIG9mIHRoaXMgZGlzayBpcyAlcyAoJWp1IGJ5dGVzKS4gRE9TIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgY2FuIG5vdCBiZSB1c2VkIG9uIGRyaXZlcyBmb3Igdm9sdW1lcyBsYXJnZXIgdGhhbiAlbHUgYnl0ZXMgZm9yICVsdS1ieXRlIHNlY3RvcnMuIFVzZSBHVUlEIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgKEdQVCkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MDMKKyMsIGZ1enp5Cittc2dpZCAiQmFkIG9mZnNldCBpbiBwcmltYXJ5IGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIlZpYWxsaW5lbiBlbnNpw7Zvc2lvIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJPbWl0dGluZyBwYXJ0aXRpb25zIGFmdGVyICMlenUuIFRoZXkgd2lsbCBiZSBkZWxldGVkIGlmIHlvdSBzYXZlIHRoaXMgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiIgorIlZhcm9pdHVzOiBlaSBodW9taW9pZGEgIyVkOm4gasOkbGtlaXNpw6Qgb3Npb2l0YS5cbiIKKyJOZSB0dWhvdGFhbiBqb3MgdMOkbcOkIG9zaW90YXVsdSB0YWxsZW5uZXRhYW4uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXh0cmEgbGluayBwb2ludGVyIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJZbGltw6TDpHLDpGluZW4gbGlua2tpb3NvaXRpbiBvc2lvdGF1bHVzc2EgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZGF0YSBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiWWxpbcOkw6Ryw6Rpc3TDpCBsYWFqZW5uZXR0dWEgb3Npb3RhICVkIGVpIGh1b21pb2lkYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjYwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib21pdHRpbmcgZW1wdHkgcGFydGl0aW9uICglenUpIgorbXNnc3RyICJPc2lvICV6dTogdHloasOkLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC4iCittc2dzdHIgIkx1b3RpaW4gdXVzaSBTR0ktbGV2eW5pbWnDti4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2ODUKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXIgdGhlIG5ldyBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIiAgIGkgICAgbXV1dGEgbGV2eW4gdHVubmlzdGV0dGEiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2OTIKK21zZ2lkICJJbmNvcnJlY3QgdmFsdWUuIgorbXNnc3RyICJWaXJoZWVsbGluZW4gYXJ2by4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gMHglMDh4IHRvIDB4JTA4eC4iCittc2dzdHIgIkxldnluIHR1bm5pc3RlOiAweCUwOHhcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjc5MworIywgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBleHRlbmRlZCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJZbGltw6TDpHLDpGlzdMOkIGxhYWplbm5ldHR1YSBvc2lvdGEgJXp1IGVpIGh1b21pb2lkYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjgwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBmbGFnIDB4JTAyeCUwMnggb2YgRUJSIChmb3IgcGFydGl0aW9uICV6dSkgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIlZhcm9pdHVzOiBvc2lvdGF1bHVuICUyJGQgdmlyaGVlbGxpbmVuIGxpcHB1IDB4JTEkMDR4IGtvcmphdGFhbiBraXJqb2l0ZXR0YWVzc2EgKHcpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo5MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgc2VjdG9yICVqdSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJBbGt1c2VrdG9yaSAlanUgc2FsbGl0dW4gdsOkbGluIHVsa29wdW9sZWxsYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwMjYgbGliZmRpc2svc3JjL2dwdC5jOjIxMzYgbGliZmRpc2svc3JjL3NnaS5jOjgzOQorIzogbGliZmRpc2svc3JjL3N1bi5jOjUxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCittc2dzdHIgIk9zaW8gJXpkIG9uIGpvIG3DpMOkcml0ZWx0eS4gUG9pc3RhIHNlIGVubmVuIHV1ZGVsbGVlbiBsaXPDpMOkbWlzdMOkLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVsbHUgaXMgYWxyZWFkeSBhbGxvY2F0ZWQuIgorbXNnc3RyICJTZWt0b3JpICVsbHUgb24gam8gdmFyYXR0dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTMzIGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQ2Cittc2dpZCAiTm8gZnJlZSBzZWN0b3JzIGF2YWlsYWJsZS4iCittc2dzdHIgIkVpIHZhcGFpdGEgc2VrdG9yZWl0YSBrw6R5dGV0dMOkdmlzc8OkLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWRkaW5nIGxvZ2ljYWwgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiTGlzw6R0w6TDpG4gbG9vZ2luZW4gb3NpbyAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGNvbnRhaW5zIHNlY3RvciAwIgorbXNnc3RyICJPc2lvICV6dTogc2lzw6RsdMOkw6Qgc2VrdG9yaW4gMCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaGVhZCAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlZCIKK21zZ3N0ciAiT3NpbyAlenU6IHDDpMOkICVkIG9uIHN1dXJlbXBpIGt1aW4gbWFrc2ltaSAlZCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogc2VjdG9yICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIk9zaW8gJXp1OiBzZWt0b3JpICVkIG9uIHN1dXJlbXBpIGt1aW4gbWFrc2ltaSAlbGx1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMyNAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjeWxpbmRlciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICJPc2lvICV6dTogc3lsaW50ZXJpICVkIG9uIHN1dXJlbXBpIGt1aW4gbWFrc2ltaSAlbGx1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMzMAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBwcmV2aW91cyBzZWN0b3JzICV1IGRpc2FncmVlcyB3aXRoIHRvdGFsICV1IgorbXNnc3RyICJPc2lvICV6dTogZWRlbGxpbmVuIHNla3Rvcmltw6TDpHLDpCAldSBvbiByaXN0aXJpaWRhc3NhIGtva29uYWlzbcOkw6Ryw6RuICV1IGthbnNzYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGJlZ2lubmluZ3MgKG5vbi1MaW51eD8pOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIk9zaW9sbGEgJWQgb24gZXJpIGZ5eXNpc2V0L2xvb2dpc2V0IGFsa3Vrb2hkYXQgKGVpLUxpbnV4Pyk6XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBlbmRpbmdzOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIk9zaW9sbGEgJWQgb24gZXJpIGZ5eXNpc2V0L2xvb2dpc2V0IGxvcHB1a29oZGF0OlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiVmFyb2l0dXM6IG9zaW8gJXMgZWkgcMOkw6R0eSBzeWxpbnRlcmluIHJhamFsbGUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBiYWQgc3RhcnQtb2YtZGF0YS4iCittc2dzdHIgIlZhcm9pdHVzOiB2aXJoZWVsbGluZW4gb3Npb24gYWxrdSAoYWlrYWlzaW4gJWxsdSkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBvdmVybGFwcyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiTGlzw6R0w6TDpG4gbG9vZ2luZW4gb3NpbyAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGVtcHR5LiIKK21zZ3N0ciAiT3NpbyAlenU6IHR5aGrDpC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMb2dpY2FsIHBhcnRpdGlvbiAlenU6IG5vdCBlbnRpcmVseSBpbiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiTGlzw6R0w6TDpG4gbG9vZ2luZW4gb3NpbyAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUb3RhbCBhbGxvY2F0ZWQgc2VjdG9ycyAlbGx1IGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSAlbGx1LiIKK21zZ3N0ciAiVmFyYXR0dWplbiBzZWt0b3JlaWRlbiBrb2tvbmFpc23DpMOkcsOkICVsbHUgb24gc3V1cmVtcGkga3VpbiBtYWtzaW1pICVsbHVcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJlbWFpbmluZyAlbGxkIHVuYWxsb2NhdGVkICVsZC1ieXRlIHNlY3RvcnMuIgorbXNnc3RyICIlbGxkIHZhcmFhbWF0b250YSAlZC10YXZ1aXN0YSBzZWt0b3JpYVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUzMiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1NAorIywgZnV6enkKK21zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gYWxyZWFkeSBleGlzdHMuIgorbXNnc3RyICJUw6Rtw6Qgb3NpbyBvbiBqbyBvbGVtYXNzYS5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1NzUKKyMsIGZ1enp5Cittc2dpZCAiVGhlIG1heGltdW0gbnVtYmVyIG9mIHBhcnRpdGlvbnMgaGFzIGJlZW4gY3JlYXRlZC4iCittc2dzdHIgIk1ha3NpbWltw6TDpHLDpCBvc2lvaXRhIG9uIGx1b3R1XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTg3Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiIKK21zZ3N0ciAiS2Fpa2tpIGVuc2nDtm9zaW90IG92YXQga8OkeXTDtnNzw6QuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU4OSBsaWJmZGlzay9zcmMvZG9zLmM6MTYwMAorIywgZnV6enkKK21zZ2lkICJBbGwgc3BhY2UgZm9yIHByaW1hcnkgcGFydGl0aW9ucyBpcyBpbiB1c2UuIgorbXNnc3RyICJLYWlra2kgZW5zacO2b3Npb3Qgb3ZhdCBrw6R5dMO2c3PDpC4iCisKKyMuIFRSQU5TTEFUT1JTOiBUcnkgdG8ga2VlcCB0aGlzIHdpdGhpbiA4MCBjaGFyYWN0ZXJzLgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDMKKyMsIGZ1enp5Cittc2dpZCAiVG8gY3JlYXRlIG1vcmUgcGFydGl0aW9ucywgZmlyc3QgcmVwbGFjZSBhIHByaW1hcnkgd2l0aCBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJKb2tpbiBvc2lvIG9uIHBvaXN0ZXR0YXZhIGphIGxpc8OkdHTDpHbDpCBsYWFqZW5uZXR0dSBvc2lvIGVuc2luXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjA4Cittc2dpZCAiQWxsIGxvZ2ljYWwgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiBBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvbi4iCittc2dzdHIgIkthaWtraSBsb29naXNldCBvc2lvdCBvdmF0IGvDpHl0w7Zzc8OkLiBMaXPDpHTDpMOkbiBlbnNpw7Zvc2lvLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzAKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiT3Npb24gdHl5cHBpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlenUgcHJpbWFyeSwgJWQgZXh0ZW5kZWQsICV6dSBmcmVlIgorbXNnc3RyICIlenUgZW5zacO2LCAlZCBsYWFqZW5uZXR0dSwgJXp1IHZhcGFhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzOQorbXNnaWQgInByaW1hcnkiCittc2dzdHIgImVuc2nDtiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDEKK21zZ2lkICJleHRlbmRlZCIKK21zZ3N0ciAibGFhamVubmV0dHUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQxCittc2dpZCAiY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMiCittc2dzdHIgInPDpGlsacO2IGxvb2dpc2lsbGUgb3Npb2lsbGUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQzCittc2dpZCAibG9naWNhbCIKK21zZ3N0ciAibG9vZ2luZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQzCittc2dpZCAibnVtYmVyZWQgZnJvbSA1IgorbXNnc3RyICJudW1lcm9pdHUgNTpzdMOkIGFsa2FlbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gdHlwZSBgJWMnLiIKK21zZ3N0ciAiVmlyaGVlbGxpbmVuIG9zaW90eXlwcGkg4oCdJWPigJ0uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlIHNlY3RvciAlamQ6IHNlZWsgZmFpbGVkIgorbXNnc3RyICIlczogdGllZG9zdG9sbGUgJXMgZWkgbMO2eWR5IGxhaXRldHRhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxODUyIGxpYmZkaXNrL3NyYy9ncHQuYzoxMDk2CisjLCBmdXp6eQorbXNnaWQgIkRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiVHVubmlzdGUgcG9pc3RldHR1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1OQorbXNnaWQgIlR5cGUgMCBtZWFucyBmcmVlIHNwYWNlIHRvIG1hbnkgc3lzdGVtcy4gSGF2aW5nIHBhcnRpdGlvbnMgb2YgdHlwZSAwIGlzIHByb2JhYmx5IHVud2lzZS4iCittc2dzdHIgIlR5eXBwaSAwIG1lcmtpdHNlZSB0eWhqw6TDpCB0aWxhYSB1c2Vpc3NhIGrDpHJqZXN0ZWxtaXNzw6QuIFR5eXBwacOkIDAgb2xldmllbiBvc2lvaWRlbiBwaXTDpG1pbmVuIGVpIHRvZGVubsOka8O2aXNlc3RpIG9sZSB2aWlzYXN0YS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxOTY0Cittc2dpZCAiQ2Fubm90IGNoYW5nZSB0eXBlIG9mIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24gd2hpY2ggaXMgYWxyZWFkeSB1c2VkIGJ5IGxvZ2ljYWwgcGFydGl0aW9ucy4gRGVsZXRlIGxvZ2ljYWwgcGFydGl0aW9ucyBmaXJzdC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxNDMgbGliZmRpc2svc3JjL2dwdC5jOjI4MjEKK21zZ2lkICJOb3RoaW5nIHRvIGRvLiBPcmRlcmluZyBpcyBjb3JyZWN0IGFscmVhZHkuIgorbXNnc3RyICJFaSBtaXTDpMOkbiB0ZWh0w6R2w6TDpC4gSsOkcmplc3R5cyBvbiBqbyBvaWtlYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBubyBkYXRhIGFyZWEuIgorbXNnc3RyICJMaXPDpHTDpMOkbiBsb29naW5lbiBvc2lvICV6dSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyMjIKK21zZ2lkICJOZXcgYmVnaW5uaW5nIG9mIGRhdGEiCittc2dzdHIgIlV1c2kgZGF0YW4gYWxrdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyNzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGlzIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIllsaW3DpMOkcsOkaXN0w6QgbGFhamVubmV0dHVhIG9zaW90YSAlenUgZWkgaHVvbWlvaWRhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIk9zaW9uICVkIGrDpHJqZXN0ZWxtw6R0eXlwcGluw6Qgc8OkaWx5aSAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIk9zaW9uICVkIGrDpHJqZXN0ZWxtw6R0eXlwcGluw6Qgc8OkaWx5aSAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjk4IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTExIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTUzCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTEwOQorbXNnaWQgIkRldmljZSIKK21zZ3N0ciAiTGFpdGUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjk5IGxpYmZkaXNrL3NyYy9zdW4uYzo0MQorbXNnaWQgIkJvb3QiCittc2dzdHIgIkvDpHlubmlzdGV0dMOkdsOkIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1OSBsaWJmZGlzay9zcmMvc3VuLmM6MTExNQorbXNnaWQgIklkIgorbXNnc3RyICJJZCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDkKK21zZ2lkICJTdGFydC1DL0gvUyIKK21zZ3N0ciAiQWxrdS1DL0gvUyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTAKKyMsIGZ1enp5Cittc2dpZCAiRW5kLUMvSC9TIgorbXNnc3RyICJBbGt1LUMvSC9TIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMxMSBsaWJmZGlzay9zcmMvZ3B0LmM6MjkyMSBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MQorbXNnaWQgIkF0dHJzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjAKKyMsIGZ1enp5Cittc2dpZCAiRUZJIFN5c3RlbSIKK21zZ3N0ciAiRUZJIChGQVQtMTIvMTYvMzIpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYyCisjLCBmdXp6eQorbXNnaWQgIk1CUiBwYXJ0aXRpb24gc2NoZW1lIgorbXNnc3RyICJPc2lvbnVtZXJvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzCittc2dpZCAiSW50ZWwgRmFzdCBGbGFzaCIKK21zZ3N0ciAiSW50ZWwgRmFzdCBGbGFzaCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2NgorIywgZnV6enkKK21zZ2lkICJCSU9TIGJvb3QiCittc2dzdHIgIkvDpHlubmlzdGV0dMOkdsOkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY5CisjLCBmdXp6eQorbXNnaWQgIlNvbnkgYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIkvDpHlubmlzdGV0dMOkdsOkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTcwCisjLCBmdXp6eQorbXNnaWQgIkxlbm92byBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiS8OkeW5uaXN0ZXR0w6R2w6QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAiUG93ZXJQQyBQUmVQIGJvb3QiCittc2dzdHIgIlBQQyBQUmVQIEJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzYKKyMsIGZ1enp5Cittc2dpZCAiT05JRSBib290IgorbXNnc3RyICJLw6R5bm5pc3RldHTDpHbDpCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NworbXNnaWQgIk9OSUUgY29uZmlnIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAKKyMsIGZ1enp5Cittc2dpZCAiTWljcm9zb2Z0IHJlc2VydmVkIgorbXNnc3RyICJTdW5PUyByZXNlcnZlZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MQorbXNnaWQgIk1pY3Jvc29mdCBiYXNpYyBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODIKK21zZ2lkICJNaWNyb3NvZnQgTERNIG1ldGFkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODMKK21zZ2lkICJNaWNyb3NvZnQgTERNIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NAorIywgZnV6enkKK21zZ2lkICJXaW5kb3dzIHJlY292ZXJ5IGVudmlyb25tZW50IgorbXNnc3RyICJQYXJ0aXRpb25NYWdpYy1wYWxhdXR1cyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NQorbXNnaWQgIklCTSBHZW5lcmFsIFBhcmFsbGVsIEZzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAiTWljcm9zb2Z0IFN0b3JhZ2UgU3BhY2VzIgorbXNnc3RyICJTdW5PUyByZXNlcnZlZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4OQorIywgZnV6enkKK21zZ2lkICJIUC1VWCBkYXRhIgorbXNnc3RyICJEYXRhYSBlaSBvbGUga8OkeXRldHTDpHZpc3PDpCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MAorIywgZnV6enkKK21zZ2lkICJIUC1VWCBzZXJ2aWNlIgorbXNnc3RyICJOaW1pIHRhaSBwYWx2ZWx1IG9uIHR1bnRlbWF0b24iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTMgbGliZmRpc2svc3JjL3NnaS5jOjYxIGxpYmZkaXNrL3NyYy9zdW4uYzo1MgorbXNnaWQgIkxpbnV4IHN3YXAiCittc2dzdHIgIkxpbnV4LXNpdnV0dXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTQKKyMsIGZ1enp5Cittc2dpZCAiTGludXggZmlsZXN5c3RlbSIKK21zZ3N0ciAiQW5uYSB0aWVkb3N0b2rDpHJqZXN0ZWxtw6RuIHR5eXBwaTogIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk1CisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IHNlcnZlciBkYXRhIgorbXNnc3RyICJMaW51eCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NgorIywgZnV6enkKK21zZ2lkICJMaW51eCByb290ICh4ODYpIgorbXNnc3RyICJMaW51eCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NworIywgZnV6enkKK21zZ2lkICJMaW51eCByb290IChBUk0pIgorbXNnc3RyICJMaW51eCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OAorIywgZnV6enkKK21zZ2lkICJMaW51eCByb290ICh4ODYtNjQpIgorbXNnc3RyICJUdW90YSA2NC1iaXR0aXN0w6QgeDg2LTY0LWtvb2RpYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OQorIywgZnV6enkKK21zZ2lkICJMaW51eCByb290IChBUk0tNjQpIgorbXNnc3RyICJUdW90YSA2NC1iaXR0aXN0w6QgeDg2LTY0LWtvb2RpYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMAorIywgZnV6enkKK21zZ2lkICJMaW51eCByb290XHQoSUEtNjQpIgorbXNnc3RyICJUdW90YSA2NC1iaXR0aXN0w6QgeDg2LTY0LWtvb2RpYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMQorIywgZnV6enkKK21zZ2lkICJMaW51eCByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgcmVzZXJ2ZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDIKKyMsIGZ1enp5Cittc2dpZCAiTGludXggaG9tZSIKK21zZ3N0ciAiTGludXgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMgbGliZmRpc2svc3JjL3NnaS5jOjY0Cittc2dpZCAiTGludXggUkFJRCIKK21zZ3N0ciAiTGludXggUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNAorIywgZnV6enkKK21zZ2lkICJMaW51eCBleHRlbmRlZCBib290IgorbXNnc3RyICJMaW51eCBsYWFqZW5uZXR0dSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMgorbXNnaWQgIkZyZWVCU0QgZGF0YSIKK21zZ3N0ciAiRnJlZUJTRC1kYXRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzCittc2dpZCAiRnJlZUJTRCBib290IgorbXNnc3RyICJGcmVlQlNELWvDpHlubmlzdHlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0Cittc2dpZCAiRnJlZUJTRCBzd2FwIgorbXNnc3RyICJGcmVlQlNELXNpdnV0dXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUKK21zZ2lkICJGcmVlQlNEIFVGUyIKK21zZ3N0ciAiRnJlZUJTRC1VRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTYKK21zZ2lkICJGcmVlQlNEIFpGUyIKK21zZ3N0ciAiRnJlZUJTRC1aRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTcKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBWaW51bSIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMAorIywgZnV6enkKK21zZ2lkICJBcHBsZSBIRlMvSEZTKyIKK21zZ3N0ciAiSEZTIC8gSEZTKyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMQorIywgZnV6enkKK21zZ2lkICJBcHBsZSBVRlMiCittc2dzdHIgIkRhcndpbiBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjIKKyMsIGZ1enp5Cittc2dpZCAiQXBwbGUgUkFJRCIKK21zZ3N0ciAiTGludXggUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMworIywgZnV6enkKK21zZ2lkICJBcHBsZSBSQUlEIG9mZmxpbmUiCittc2dzdHIgIkxpbnV4IFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjQKKyMsIGZ1enp5Cittc2dpZCAiQXBwbGUgYm9vdCIKK21zZ3N0ciAiS8OkeW5uaXN0ZXR0w6R2w6QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjUKKyMsIGZ1enp5Cittc2dpZCAiQXBwbGUgbGFiZWwiCittc2dzdHIgIm5pbWnDtiAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjYKKyMsIGZ1enp5Cittc2dpZCAiQXBwbGUgVFYgcmVjb3ZlcnkiCittc2dzdHIgIlBhcnRpdGlvbk1hZ2ljLXBhbGF1dHVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI3CisjLCBmdXp6eQorbXNnaWQgIkFwcGxlIENvcmUgc3RvcmFnZSIKK21zZ3N0ciAidGFsbGVubnVzbHVva2thIGFubmV0dHUgdHlwZW5hbWVsbGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByb290IgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMzCittc2dpZCAiU29sYXJpcyAvdXNyICYgQXBwbGUgWkZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzQKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyBzd2FwIgorbXNnc3RyICJMaW51eC1zaXZ1dHVzIC8gU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNQorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIGJhY2t1cCIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNgorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIC92YXIiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyAvaG9tZSIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOAorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIGFsdGVybmF0ZSBzZWN0b3IiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzkKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAxIgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQwCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMiIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MQorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDMiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA0IgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQzCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNSIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NgorbXNnaWQgIk5ldEJTRCBzd2FwIgorbXNnc3RyICJOZXRCU0Qtc2l2dXR1cyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NworbXNnaWQgIk5ldEJTRCBGRlMiCittc2dzdHIgIk5ldEJTRCBGRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgKK21zZ2lkICJOZXRCU0QgTEZTIgorbXNnc3RyICJOZXRCU0QgTEZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5CisjLCBmdXp6eQorbXNnaWQgIk5ldEJTRCBjb25jYXRlbmF0ZWQiCittc2dzdHIgIk5ldEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MAorIywgZnV6enkKK21zZ2lkICJOZXRCU0QgZW5jcnlwdGVkIgorbXNnc3RyICJTYWxhdHR1YSBkYXRhYVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUxCittc2dpZCAiTmV0QlNEIFJBSUQiCittc2dzdHIgIk5ldEJTRCBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0Cittc2dpZCAiQ2hyb21lT1Mga2VybmVsIgorbXNnc3RyICJDaHJvbWVPUy15ZGluIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU1CisjLCBmdXp6eQorbXNnaWQgIkNocm9tZU9TIHJvb3QgZnMiCittc2dzdHIgIkNocm9tZU9TLXlkaW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTYKKyMsIGZ1enp5Cittc2dpZCAiQ2hyb21lT1MgcmVzZXJ2ZWQiCittc2dzdHIgIkNocm9tZU9TLXlkaW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiTWlkbmlnaHRCU0QgZGF0YSIKK21zZ3N0ciAiRGF0YWEgZWkgb2xlIGvDpHl0ZXR0w6R2aXNzw6QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjAKKyMsIGZ1enp5Cittc2dpZCAiTWlkbmlnaHRCU0QgYm9vdCIKK21zZ3N0ciAiS8OkeW5uaXN0ZXR0w6R2w6QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjEKKyMsIGZ1enp5Cittc2dpZCAiTWlkbmlnaHRCU0Qgc3dhcCIKK21zZ3N0ciAiQlNESSBzaXZ1dHVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyCisjLCBmdXp6eQorbXNnaWQgIk1pZG5pZ2h0QlNEIFVGUyIKK21zZ3N0ciAiRGFyd2luIFVGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MworIywgZnV6enkKK21zZ2lkICJNaWRuaWdodEJTRCBaRlMiCittc2dzdHIgIkZyZWVCU0QtWkZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY0Cittc2dpZCAiTWlkbmlnaHRCU0QgVmludW0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NworbXNnaWQgIkNlcGggSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4Cittc2dpZCAiQ2VwaCBFbmNyeXB0ZWQgSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5Cittc2dpZCAiQ2VwaCBPU0QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MAorbXNnaWQgIkNlcGggY3J5cHQgT1NEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzEKK21zZ2lkICJDZXBoIGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MgorbXNnaWQgIkNlcGggY3J5cHQgZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1CisjLCBmdXp6eQorbXNnaWQgIk9wZW5CU0QgZGF0YSIKK21zZ3N0ciAiRnJlZUJTRC1kYXRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc4CisjLCBmdXp6eQorbXNnaWQgIlFOWDYgZmlsZSBzeXN0ZW0iCittc2dzdHIgIkFubmEgdGllZG9zdG9qw6RyamVzdGVsbcOkbiB0eXlwcGk6ICIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4MQorIywgZnV6enkKK21zZ2lkICJQbGFuIDkgcGFydGl0aW9uIgorbXNnc3RyICJwb2lzdGEgb3NpbyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjU0NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR1BUIGhlYWRlciIKK21zZ3N0ciAiR1BULW90c2FrZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjYzMAorbXNnaWQgIkZpcnN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjY0MgorbXNnaWQgIkxhc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Nzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIkdQVCBQTUJSIHNpemUgbWlzbWF0Y2ggKCU8UFJJdTY0PiAhPSAlPFBSSXU2ND4pIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3OTIKKyMsIGZ1enp5Cittc2dpZCAiZ3B0OiBzdGF0KCkgZmFpbGVkIgorbXNnc3RyICJ0aWVkb3N0b24gdGlsYW4gbHVrZW1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjgwMgorIywgYy1mb3JtYXQKK21zZ2lkICJncHQ6IGNhbm5vdCBoYW5kbGUgZmlsZXMgd2l0aCBtb2RlICVvIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMDY0Cittc2dpZCAiR1BUIEhlYWRlciIKK21zZ3N0ciAiR1BULW90c2FrZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEwNjkKK21zZ2lkICJHUFQgRW50cmllcyIKK21zZ3N0ciAiR1BULW1lcmtpbm7DpHQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTAzCisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IExCQSIKK21zZ3N0ciAiRW5zaW1tw6RpbmVuIExCQTogJWp1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEwOAorIywgZnV6enkKK21zZ2lkICJMYXN0IExCQSIKK21zZ3N0ciAiVmlpbWVpbmVuIExCQTogJWp1IgorCisjLiBUUkFOU0xBVE9SUzogVGhlIExCQSAoTG9naWNhbCBCbG9jayBBZGRyZXNzKSBvZiB0aGUgYmFja3VwIEdQVCBoZWFkZXIuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTExNAorIywgZnV6enkKK21zZ2lkICJBbHRlcm5hdGl2ZSBMQkEiCittc2dzdHIgIlZhaWh0b2VodG9pbmVuIExCQTogJWp1IgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YXJ0IG9mIHRoZSBhcnJheSBvZiBwYXJ0aXRpb24gZW50cmllcy4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTIwCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBlbnRyaWVzIExCQSIKK21zZ3N0ciAiRW5zaW1tw6RpbmVuIExCQTogJWp1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEyNQorIywgZnV6enkKK21zZ2lkICJBbGxvY2F0ZWQgcGFydGl0aW9uIGVudHJpZXMiCittc2dzdHIgIiAgdSAgICAgICAgICBNdXV0YSBvc2lva29rb27DpGt5bcOkbiB5a3Npa8O2aXTDpCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE0NDAKK21zZ2lkICJUaGUgYmFja3VwIEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIHByaW1hcnkgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNDQ5Cittc2dpZCAiVGhlIHByaW1hcnkgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgYmFja3VwIGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgR1BUIGF0dHJpYnV0ZSBiaXQgJyVzJyIKK21zZ3N0ciAiZWktdHVldHR1IGFyZ3VtZW50dGkgZnVua3Rpb2xsZSAlPF9fYnVpbHRpbl9mcmFtZV9hZGRyZXNzJT4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgR1BUIGF0dHJpYnV0ZSBzdHJpbmcgJyVzJyIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiT3Npb24ga2lyam9pdHVzIGVww6Rvbm5pc3R1aSBsYWl0dGVlbGxlICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIG5hbWUgY2hhbmdlZCBmcm9tICclcycgdG8gJyUuKnMnLiIKK21zZ3N0ciAiT3Npb24ga2lyam9pdHVzIGVww6Rvbm5pc3R1aSBsYWl0dGVlbGxlICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc2OAorIywgZnV6enkKK21zZ2lkICJUaGUgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiB1bmRlcnN0ZXBzIEZpcnN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiS8OkeW5uaXN0eXNvc2lvdGEgZWkgb2xlIG9sZW1hc3NhLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NzUKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGVuZCBvZiB0aGUgcGFydGl0aW9uIG92ZXJzdGVwcyBMYXN0VXNhYmxlTEJBLiIKK21zZ3N0ciAib3Npb24gbG9wcHUgc2VrdG9yZWluYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MzQKK21zZ2lkICJUaGUgZGV2aWNlIGNvbnRhaW5zIGh5YnJpZCBNQlIgLS0gd3JpdGluZyBHUFQgb25seS4gWW91IGhhdmUgdG8gc3luYyB0aGUgTUJSIG1hbnVhbGx5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3MQorIywgZnV6enkKK21zZ2lkICJEaXNrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiTGV2eSAlcyBlaSBzaXPDpGxsw6Qga2Vsdm9sbGlzdGEgb3Npb3RhdWx1YVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3NgorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4MAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTg1Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gZW50cnkgY2hlY2tzdW0uIgorbXNnc3RyICJWaXJoZWVsbGluZW4gb3Npb21lcmtpbm7DpG4gdGFya2lzdHVzc3VtbWEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5MAorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTk0Cittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5OQorbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBwcmltYXJ5IGhlYWRlci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMDMKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMDgKK21zZ2lkICJEaXNrIGlzIHRvbyBzbWFsbCB0byBob2xkIGFsbCBkYXRhLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAxOAorbXNnaWQgIlByaW1hcnkgYW5kIGJhY2t1cCBoZWFkZXIgbWlzbWF0Y2guIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDI0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIHBhcnRpdGlvbiAldS4iCittc2dzdHIgIk9zaW8gJXUgb24gcMOkw6RsbGVra8OkaW5lbiBvc2lvbiAldSBrYW5zc2EuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGlzIHRvbyBiaWcgZm9yIHRoZSBkaXNrLiIKK21zZ3N0ciAiTGV2eWxsw6Qgb24gcMOkw6RsbGVra8OkaXNpw6Qgb3Npb2l0YS4gVMOkbcOkIG9uIGtvcmphdHRhdmEgZW5zaW4hXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZW5kcyBiZWZvcmUgaXQgc3RhcnRzLiIKK21zZ3N0ciAiT3Npb24gbG9wcHUgb24gZW5uZW4gc2VrdG9yaWEgMCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDcKK21zZ2lkICJObyBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyICJWaXJoZWl0w6QgZWkgaGF2YWl0dHUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0OAorIywgYy1mb3JtYXQKK21zZ2lkICJIZWFkZXIgdmVyc2lvbjogJXMiCittc2dzdHIgIk90c2Fra2VlbiB2ZXJzaW86ICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgJXUgb3V0IG9mICVkIHBhcnRpdGlvbnMuIgorbXNnc3RyICJvdXRvYSwgdmFpbiAlZCBvc2lvdGEgbcOkw6RyaXRlbHR5LlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50LiIKK21zZ2lkX3BsdXJhbCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50cyAodGhlIGxhcmdlc3QgaXMgJXMpLiIKK21zZ3N0clswXSAiRWkgdmFwYWl0YSBzZWt0b3JlaXRhIGvDpHl0ZXR0w6R2aXNzw6RcbiIKK21zZ3N0clsxXSAiRWkgdmFwYWl0YSBzZWt0b3JlaXRhIGvDpHl0ZXR0w6R2aXNzw6RcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgZXJyb3IgZGV0ZWN0ZWQuIgorbXNnaWRfcGx1cmFsICIlZCBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyWzBdICJZa3NpIHZpcmhlIGhhdmFpdHR1LiIKK21zZ3N0clsxXSAiJWQgdmlyaGV0dMOkIGhhdmFpdHR1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNDIKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgYXJlIGFscmVhZHkgaW4gdXNlLiIKK21zZ3N0ciAiS2Fpa2tpIGVuc2nDtm9zaW90IG92YXQga8OkeXTDtnNzw6QuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5NyBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyMgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWp1IGFscmVhZHkgdXNlZC4iCittc2dzdHIgIlNla3RvcmkgJWp1IG9uIGpvIGvDpHl0ZXR0eS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIkxva2l0aWVkb3N0b2EgZWkgdm9pdHUgbHVvZGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBsYXN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaXJzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBHUFQgZGlza2xhYmVsIChHVUlEOiAlcykuIgorbXNnc3RyICIgICBzICAgIGx1byB1dXNpIHR5aGrDpCBTdW4tbGV2eW5pbWnDtiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NDcKK21zZ2lkICJFbnRlciBuZXcgZGlzayBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NTQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHlvdXIgVVVJRC4iCittc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIk9zaW9uIGtpcmpvaXR1cyBlcMOkb25uaXN0dWkgbGFpdHRlZWxsZSAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0ODgKKyMsIGZ1enp5Cittc2dpZCAiTm90IGVub3VnaCBzcGFjZSBmb3IgbmV3IHBhcnRpdGlvbiB0YWJsZSEiCittc2dzdHIgIkVpIHZhcGFpdGEgb3Npb2l0YSBrw6R5dGV0dMOkdmlzc8OkISIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMldSBvdXQgb2YgcmFuZ2UgKG1pbmltYWwgc3RhcnQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXUgb3V0IG9mIHJhbmdlIChtYXhpbWFsIGVuZCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBudW1iZXIgb2YgdGhlIHBhcnRpdGlvbiBoYXMgYmUgc21hbGxlciB0aGFuICV6dS4iCittc2dzdHIgIk1ha3NpbWltw6TDpHLDpCBvc2lvaXRhIG9uIGx1b3R1XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTYzCisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBhbGxvY2F0ZSBtZW1vcnkhIgorbXNnc3RyICJoYWFyYXV0dGFtaW5lbiBlaSBvbm5pc3R1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGxlbmd0aCBjaGFuZ2VkIGZyb20gJTxQUkl1MzI+IHRvICU8UFJJdTY0Pi4iCittc2dzdHIgIk9zaW9uIGtpcmpvaXR1cyBlcMOkb25uaXN0dWkgbGFpdHRlZWxsZSAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBhdHRyaWJ1dGVzIG9uIHBhcnRpdGlvbiAlenUgY2hhbmdlZCB0byAweCUwMTY8UFJJeDY0Pi4iCittc2dzdHIgIk9zaW9uICVkIGrDpHJqZXN0ZWxtw6R0eXlwcGluw6Qgc8OkaWx5aSAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzQyCittc2dpZCAiRW50ZXIgR1VJRCBzcGVjaWZpYyBiaXQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB0b2dnbGUgdW5zdXBwb3J0ZWQgYml0ICVsdSIKK21zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIk9zaW9uICVkIGrDpHJqZXN0ZWxtw6R0eXlwcGluw6Qgc8OkaWx5aSAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzcxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJPc2lvbiAlZCBqw6RyamVzdGVsbcOkdHl5cHBpbsOkIHPDpGlseWkgJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJPc2lvbiAlZCBqw6RyamVzdGVsbcOkdHl5cHBpbsOkIHPDpGlseWkgJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxOAorIywgZnV6enkKK21zZ2lkICJUeXBlLVVVSUQiCittc2dzdHIgIlVVSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE5Cittc2dpZCAiVVVJRCIKK21zZ3N0ciAiVVVJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MjAgbG9naW4tdXRpbHMvY2hmbi5jOjE1MCBsb2dpbi11dGlscy9jaGZuLmM6MTUyCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzA3Cittc2dpZCAiTmFtZSIKK21zZ3N0ciAiTmltaSIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjg0MAorbXNnaWQgIkZyZWUgc3BhY2UiCittc2dzdHIgIlZhcGFhIHRpbGEiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzoxMjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiAjJXp1LiIKK21zZ3N0ciAib3Npb24ga29vbiBtdXV0dGFtaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0dHlwZS5jOjI1OSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTUgc2NoZWR1dGlscy9jaHJ0LmM6MjA2CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc5IHN5cy11dGlscy9od2Nsb2NrLmM6MzM0Cittc2dpZCAidW5rbm93biIKK21zZ3N0ciAidHVudGVtYXR0b21hc3NhICIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ3Cittc2dpZCAiU0dJIHZvbGhkciIKK21zZ3N0ciAiU0dJIHZvbGhkciIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ4Cittc2dpZCAiU0dJIHRya3JlcGwiCittc2dzdHIgIlNHSSB0cmtyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDkKK21zZ2lkICJTR0kgc2VjcmVwbCIKK21zZ3N0ciAiU0dJIHNlY3JlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MAorbXNnaWQgIlNHSSByYXciCittc2dzdHIgIlNHSSByYXciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MQorbXNnaWQgIlNHSSBic2QiCittc2dzdHIgIlNHSSBic2QiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MgorbXNnaWQgIlNHSSBzeXN2IgorbXNnc3RyICJTR0kgc3lzdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUzCittc2dpZCAiU0dJIHZvbHVtZSIKK21zZ3N0ciAiU0dJIHZvbHVtZSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU0Cittc2dpZCAiU0dJIGVmcyIKK21zZ3N0ciAiU0dJIGVmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU1Cittc2dpZCAiU0dJIGx2b2wiCittc2dzdHIgIlNHSSBsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTYKK21zZ2lkICJTR0kgcmx2b2wiCittc2dzdHIgIlNHSSBybHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU3Cittc2dpZCAiU0dJIHhmcyIKK21zZ3N0ciAiU0dJIHhmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU4Cittc2dpZCAiU0dJIHhmc2xvZyIKK21zZ3N0ciAiU0dJIHhmc2xvZyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5Cittc2dpZCAiU0dJIHhsdiIKK21zZ3N0ciAiU0dJIHhsdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYwCittc2dpZCAiU0dJIHh2bSIKK21zZ3N0ciAiU0dJIHh2bSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyIGxpYmZkaXNrL3NyYy9zdW4uYzo1MworbXNnaWQgIkxpbnV4IG5hdGl2ZSIKK21zZ3N0ciAiTGludXhtYWluZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxNTkKK21zZ2lkICJTR0kgaW5mbyBjcmVhdGVkIG9uIHNlY29uZCBzZWN0b3IuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyNTkKK21zZ2lkICJEZXRlY3RlZCBhbiBTR0kgZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIgorbXNnc3RyICJIYXZhaXR0aWluIFNHSS1sZXZ5bmltacO2LCBqb2xsYSBvbiB2w6TDpHLDpCB0YXJraXN0dXNzdW1tYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODIgbGliZmRpc2svc3JjL3N1bi5jOjc3MAorbXNnaWQgIlBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiRnl5c2lzZXQgc3lsaW50ZXJpdCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4NyBsaWJmZGlzay9zcmMvc3VuLmM6Nzc1CisjLCBmdXp6eQorbXNnaWQgIkV4dHJhIHNlY3RzL2N5bCIKK21zZ3N0ciAiWWxpbcOkw6Ryw6Rpc2nDpCBzZWt0b3JlaXRhIHN5bGludGVyaWxsw6QiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyOTcKKyMsIGZ1enp5Cittc2dpZCAiQm9vdGZpbGUiCittc2dzdHIgIkvDpHlubmlzdHlzdGllZG9zdG86ICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mzk1Cittc2dpZCAiSW52YWxpZCBib290ZmlsZSEgIFRoZSBib290ZmlsZSBtdXN0IGJlIGFuIGFic29sdXRlIG5vbi16ZXJvIHBhdGhuYW1lLCBlLmcuIFwiL3VuaXhcIiBvciBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIlZpcmhlZWxsaW5lbiBrw6R5bm5pc3R5c3RpZWRvc3RvISBLw6R5bm5pc3R5c3RpZWRvc3RvbiBvbiBvbHRhdmEgYWJzb2x1dXR0aW5lbiwgZWktdHloasOkIHBvbGt1LCBlc2ltLiDigJ0vdW5peOKAnSB0YWkg4oCdL3VuaXguc2F2ZeKAnS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGUgbWF4aW11bS4iCittc2dpZF9wbHVyYWwgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlcyBtYXhpbXVtLiIKK21zZ3N0clswXSAiS8OkeW5uaXN0eXN0aWVkb3N0b24gbmltaSBvbiBsaWlhbiBwaXRrw6Q6IG1ha3NpbWkgJXp1IHRhdnUuIgorbXNnc3RyWzFdICJLw6R5bm5pc3R5c3RpZWRvc3RvbiBuaW1pIG9uIGxpaWFuIHBpdGvDpDogbWFrc2ltaSAlenUgdGF2dWEuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDA4Cittc2dpZCAiQm9vdGZpbGUgbXVzdCBoYXZlIGEgZnVsbHkgcXVhbGlmaWVkIHBhdGhuYW1lLiIKK21zZ3N0ciAiS8OkeW5uaXN0eXN0aWVkb3N0b24gcG9sdW4gb24gb2x0YXZhIHTDpHlkZWxsaW5lbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAiQmUgYXdhcmUgdGhhdCB0aGUgYm9vdGZpbGUgaXMgbm90IGNoZWNrZWQgZm9yIGV4aXN0ZW5jZS4gIFNHSSdzIGRlZmF1bHQgaXMgXCIvdW5peFwiLCBhbmQgZm9yIGJhY2t1cCBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIiIKKyJcbiIKKyJcdEh1b21hYSwgZXR0w6Qga8OkeW5uaXN0eXN0aWVkb3N0b24gb2xlbWFzc2FvbG9hIGVpIHRhcmtpc3RldGEuXG4iCisiXHRTR0k6biBvbGV0dXMgb24g4oCdL3VuaXjigJ0sIGphIHZhcm11dXNrb3Bpb2xsZSDigJ0vdW5peC5zYXZl4oCdLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgY3VycmVudCBib290IGZpbGUgaXM6ICVzIgorbXNnc3RyICJLw6R5bm5pc3R5c3RpZWRvc3RvYSBlaSBtdXV0ZXR0dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDEKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXIgb2YgdGhlIG5ldyBib290IGZpbGUiCittc2dzdHIgIkvDpHlubmlzdHlzdGllZG9zdG9hIGVpIG11dXRldHR1LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0NgorbXNnaWQgIkJvb3QgZmlsZSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJLw6R5bm5pc3R5c3RpZWRvc3RvYSBlaSBtdXV0ZXR0dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdGZpbGUgaGFzIGJlZW4gY2hhbmdlZCB0byBcIiVzXCIuIgorbXNnc3RyICJLw6R5bm5pc3R5c3RpZWRvc3Rva3NpIG11dXRldHRpaW4g4oCdJXPigJ0uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTk2Cittc2dpZCAiTW9yZSB0aGFuIG9uZSBlbnRpcmUgZGlzayBlbnRyeSBwcmVzZW50LiIKK21zZ3N0ciAiTGV2eWxsw6Qgb24gdXNlYW1waSBrdWluIHlrc2kga29rb2xldnltZXJraW50w6QuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAzIGxpYmZkaXNrL3NyYy9zdW4uYzo0NTgKK21zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQuIgorbXNnc3RyICJPc2lvaXRhIGVpIG9sZSBtw6TDpHJpdGVsdHkuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEzCittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiSVJJWCBwaXTDpMOkIHNpaXTDpCwgZXR0w6Qgb3NpbyAxMSB0w6R5dHTDpMOkIGtva28gbGV2eW4uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gc2hvdWxkIHN0YXJ0IGF0IGJsb2NrIDAsIG5vdCBhdCBibG9jayAlZC4iCittc2dzdHIgIktva28gbGV2eW4gb3Npb24gdHVsZWUgYWxrYWEgbG9oa29zdGEgMCwgZWkgbG9oa29zdGEgJWQuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjI4Cittc2dpZCAiUGFydGl0aW9uIDExIHNob3VsZCBjb3ZlciB0aGUgZW50aXJlIGRpc2suIgorbXNnc3RyICJPc2lvbiAxMSB0dWxpc2kgdMOkeXR0w6TDpCBrb2tvIGxldnluLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3Rvci4iCittc2dpZF9wbHVyYWwgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9ycy4iCittc2dzdHJbMF0gIk9zaW90ICVkIGphICVkIG92YXQgcMOkw6RsbGVra8OkaXNldCAlZCBzZWt0b3JpbiB2ZXJyYW4uIgorbXNnc3RyWzFdICJPc2lvdCAlZCBqYSAlZCBvdmF0IHDDpMOkbGxla2vDpGlzZXQgJWQgc2VrdG9yaW4gdmVycmFuLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY2MyBsaWJmZGlzay9zcmMvc2dpLmM6Njg1CisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3Rvcjogc2VjdG9yICU4dSIKK21zZ2lkX3BsdXJhbCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yczogc2VjdG9ycyAlOHUtJXUiCittc2dzdHJbMF0gIkvDpHl0dMOkbcOkdMO2biAlOHUgc2VrdG9yaW4gYWx1ZTogc2VrdG9yaXQgJTh14oCTJXUiCittc2dzdHJbMV0gIkvDpHl0dMOkbcOkdMO2biAlOHUgc2VrdG9yaW4gYWx1ZTogc2VrdG9yaXQgJTh14oCTJXUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2OTgKK21zZ2lkICJUaGUgYm9vdCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICJLw6R5bm5pc3R5c29zaW90YSBlaSBvbGUgb2xlbWFzc2EuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzAyCittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiU2l2dXR1c29zaW90YSBlaSBvbGUgb2xlbWFzc2EuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA2Cittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGhhcyBubyBzd2FwIHR5cGUuIgorbXNnc3RyICJTaXZ1dHVzb3Npb2xsYSBlaSBvbGUgc2l2dXR1c3R5eXBwacOkLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwOQorbXNnaWQgIllvdSBoYXZlIGNob3NlbiBhbiB1bnVzdWFsIGJvb3RmaWxlIG5hbWUuIgorbXNnc3RyICJWYWxpdHR1IGvDpHlubmlzdHlzdGllZG9zdG9uIG5pbWkgb24gZXDDpHRhdmFsbGluZW4uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzU5Cittc2dpZCAiUGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIgorbXNnc3RyICJMZXZ5bGzDpCBvbiBww6TDpGxsZWtrw6Rpc2nDpCBvc2lvaXRhLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0NAorbXNnaWQgIkF0dGVtcHRpbmcgdG8gZ2VuZXJhdGUgZW50aXJlIGRpc2sgZW50cnkgYXV0b21hdGljYWxseS4iCittc2dzdHIgIllyaXRldMOkw6RuIGx1b2RhIGtva29sZXZ5bWVya2ludMOkIGF1dG9tYWF0dGlzZXN0aS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDkKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgaXMgYWxyZWFkeSBjb3ZlcmVkIHdpdGggcGFydGl0aW9ucy4iCittc2dzdHIgIktva28gbGV2eSBvbiBqbyBvc2lvaWRlbiBrw6R5dMO2c3PDpC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NTMKK21zZ2lkICJZb3UgZ290IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCEiCittc2dzdHIgIkxldnlsbMOkIG9uIHDDpMOkbGxla2vDpGlzacOkIG9zaW9pdGEuIFDDpMOkbGxla2vDpGlzeXlzIG9uIGtvcmphdHRhdmEgZW5zaW4hIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODc1IGxpYmZkaXNrL3NyYy9zdW4uYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3QgJXMiCittc2dzdHIgIkVuc2ltbcOkaW5lbiAlcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg5OSBsaWJmZGlzay9zcmMvc2dpLmM6OTQ5Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIGVsZXZlbnRoIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrIGFuZCBpcyBvZiB0eXBlICdTR0kgdm9sdW1lJy4iCittc2dzdHIgIk9uIGVyaXR0w6RpbiBzdW9zaXRlbHRhdmFhLCBldHTDpCB5aGRlc3RvaXN0YSBvc2lvIGthdHRhYSBrb2tvIGxldnluIGphIG9uIHR5eXBwacOkIOKAnVNHSSB2b2x1bWXigJ0uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTE0IGxpYmZkaXNrL3NyYy9zdW4uYzo2MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgJXMgb3IgKyVzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIlZpaW1laW5lbiBzeWxpbnRlcmksICtzeWxpbnRlcmltw6TDpHLDpCB0YWkgK2tva297SyxNLEd9IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTg1IGxpYmZkaXNrL3NyYy9zdW4uYzoyNDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LiBUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLiIKK21zZ3N0ciAiIgorIlZhcm9pdHVzOiBCTEtHRVRTSVpFLWlvY3RsIGVww6Rvbm5pc3R1aSBsYWl0dGVlbGxlICVzLiBLw6R5dGV0w6TDpG4gZ2VvbWV0cmlhblxuIgorInN5bGludGVyaWFydm9hICVkLiBUw6Rtw6QgYXJ2byB2b2kgdHlwaXN0ecOkIGxhaXR0ZWlsbGEsIGpvdGthIG92YXQgc3V1cmVtcGlhXG4iCisia3VpbiAzMyw4IEd0LlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA1MQorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU0dJIGRpc2tsYWJlbC4iCittc2dzdHIgIkx1b3RpaW4gdXVzaSBTR0ktbGV2eW5pbWnDti4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDcwCisjLCBmdXp6eQorbXNnaWQgIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIKK21zZ3N0ciAiVmFsaXRldHRhdmFzdGkgdmFpbiBww6TDpGvDpHl0dMOkasOkIHZvaSBzw6TDpHTDpMOkIGrDpHJqZXN0ZWxtw6RrZWxsb2EuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDc2Cittc2dpZCAiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gOSBhcyB2b2x1bWUgaGVhZGVyICgwKSwgYW5kIHBhcnRpdGlvbiAxMSBhcyBlbnRpcmUgdm9sdW1lICg2KSwgYXMgSVJJWCBleHBlY3RzIGl0LiIKK21zZ3N0ciAiT3Npb24gOSB0eXlwaWtzaSBvbiBzeXl0w6QgasOkdHTDpMOkIG9zaW8tb3RzaWtrbyAoMCksIGphIG9zaW9uIDExIHR5eXBpa3NpIGtva28gb3NpbyAoNiksIGtvc2thIElSSVggb2RvdHRhYSBuw6RpbiBvbGV2YW4uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA4NQorIywgZnV6enkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwIGlzIG9mIHR5cGUgXCJTR0kgdm9saGRyXCIsIHRoZSBJUklYIHN5c3RlbSB3aWxsIHJlbHkgb24gaXQgdG8gcmV0cmlldmUgZnJvbSBpdHMgZGlyZWN0b3J5IHN0YW5kYWxvbmUgdG9vbHMgbGlrZSBzYXNoIGFuZCBmeC4gT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiBBcmUgeW91IHN1cmUgYWJvdXQgdGFnZ2luZyB0aGlzIHBhcnRpdGlvbiBkaWZmZXJlbnRseT8iCittc2dzdHIgIiIKKyJPbiBlcml0dMOkaW4gc3Vvc2l0ZWx0YXZhYSwgZXR0w6Qgb3Npb2xsYSBzaWlydHltw6RuIDAga29oZGFsbGFcbiIKKyJvbiB0eXlwcGkg4oCdU0dJIHZvbGhkcuKAnS4gSVJJWC1qw6RyamVzdGVsbcOkIG9sZXR0YWEsIGV0dMOkXG4iCisiZXJpbGxpc3R5w7ZrYWx1dCwga3V0ZW4gc2FzaCBqYSBmeCwgdm9pZGFhbiBoYWtlYSBzZW4gaGFrZW1pc3Rvc3RhLlxuIgorIlZhaW4g4oCdU0dJIHZvbHVtZeKAnSAta29rb2xldnlvc3V1cyB2b2kgcmlra29hIHTDpHTDpCBzw6TDpG50w7bDpC5cbiIKKyJLaXJqb2l0YSBKQUEsIGpvcyBvbGV0IHZhcm1hIHTDpG3DpG4gb3Npb24gbWVya2l0c2VtaXNlc3TDpCB0b2lzaW4uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MAorbXNnaWQgIlVuYXNzaWduZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQyCittc2dpZCAiU3VuT1Mgcm9vdCIKK21zZ3N0ciAiU3VuT1Mgcm9vdCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzCittc2dpZCAiU3VuT1Mgc3dhcCIKK21zZ3N0ciAiU3VuT1Mgc3dhcCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ0Cittc2dpZCAiU3VuT1MgdXNyIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NQorbXNnaWQgIldob2xlIGRpc2siCittc2dzdHIgIktva28gbGV2eSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2Cittc2dpZCAiU3VuT1Mgc3RhbmQiCittc2dzdHIgIlN1bk9TIHN0YW5kIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyB2YXIiCittc2dzdHIgIlN1bk9TIHZhciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ4Cittc2dpZCAiU3VuT1MgaG9tZSIKK21zZ3N0ciAiU3VuT1MgaG9tZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ5Cittc2dpZCAiU3VuT1MgYWx0IHNlY3RvcnMiCittc2dzdHIgIlN1bk9TIGFsdCBzZWN0b3JzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTAKK21zZ2lkICJTdW5PUyBjYWNoZWZzIgorbXNnc3RyICJTdW5PUyBjYWNoZWZzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTEKK21zZ2lkICJTdW5PUyByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgcmVzZXJ2ZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiBQcm9iYWJseSB5b3UnbGwgaGF2ZSB0byBzZXQgYWxsIHRoZSB2YWx1ZXMsIGUuZy4gaGVhZHMsIHNlY3RvcnMsIGN5bGluZGVycyBhbmQgcGFydGl0aW9ucyBvciBmb3JjZSBhIGZyZXNoIGxhYmVsIChzIGNvbW1hbmQgaW4gbWFpbiBtZW51KSIKK21zZ3N0ciAiIgorIkhhdmFpdHRpaW4gU3VuLWxldnluaW1pw7YsIGpvbGxhIG9uIHbDpMOkcsOkXG4iCisidGFya2lzdHVzc3VtbWEuIEpvdWR1dCB0b2Rlbm7DpGvDtmlzZXN0aSBhc2V0dGFtYWFuXG4iCisia2Fpa2tpIGFydm90LCBlc2ltLiBww6TDpHQsIHNla3Rvcml0LCBzeWxpbnRlcml0IGphXG4iCisib3Npb3QgdGFpIHBha290dGFtYWFuIHR1b3JlZW4gbmltacO2biBcbiIKKyIocy1rb21lbnRvIHDDpMOkdmFsaWtvc3NhKVxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2ZXJzaW9uIFslZF0uIgorbXNnc3RyICJIYXZhaXR0aWluIHN1bi1sZXZ5bmltacO2LCBqb2xsYSBvbiB2w6TDpHLDpCB2ZXJzaW8gWyVkXS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2Muc2FuaXR5IFsweCUwOHhdLiIKK21zZ3N0ciAiSGF2YWl0dGlpbiBzdW4tbGV2eW5pbWnDtiwgam9sbGEgb24gdsOkw6Ryw6QgdnRvYy5zYW5pdHktYXJ2byBbMHglMDh4XS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2MubnBhcnRzIFsldV0uIgorbXNnc3RyICJIYXZhaXR0aWluIHN1bi1sZXZ5bmltacO2LCBqb2xsYSBvbiB2w6TDpHLDpCB2dG9jLm5wYXJ0cy1hcnZvIFsldV0uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTY1Cittc2dpZCAiV2FybmluZzogV3JvbmcgdmFsdWVzIG5lZWQgdG8gYmUgZml4ZWQgdXAgYW5kIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkiCittc2dzdHIgIlZhcm9pdHVzOiBWw6TDpHLDpHQgYXJ2b3Qga29yamF0YWFuIGtpcmpvaXRldHRhZXNzYSAodykiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTIKK21zZ2lkICJIZWFkcyIKK21zZ3N0ciAiUMOkw6R0IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTk0Cittc2dpZCAiU2VjdG9ycy90cmFjayIKK21zZ3N0ciAiU2VrdG9yZWl0YS91cmEiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoyOTcKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorbXNnc3RyICJMdW90aWluIHV1c2kgU3VuLWxldnluaW1pw7YuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZG9lc24ndCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJWYXJvaXR1czogb3NpbyAlcyBlaSBww6TDpHR5IHN5bGludGVyaW4gcmFqYWxsZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggb3RoZXJzIGluIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICJPc2lvICV6dTogZWRlbGxpbmVuIHNla3Rvcmltw6TDpHLDpCAldSBvbiByaXN0aXJpaWRhc3NhIGtva29uYWlzbcOkw6Ryw6RuICV1IGthbnNzYSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAwLSV1LiIKK21zZ3N0ciAiS8OkeXR0w6Rtw6R0w7ZudMOkIHRpbGFhIOKAkyBzZWt0b3JpdCAw4oCTJXUuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDY1IGxpYmZkaXNrL3NyYy9zdW4uYzo0NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICJLw6R5dHTDpG3DpHTDtm50w6QgdGlsYWEg4oCTIHNla3Rvcml0ICV14oCTJXUuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTI4Cittc2dpZCAiT3RoZXIgcGFydGl0aW9ucyBhbHJlYWR5IGNvdmVyIHRoZSB3aG9sZSBkaXNrLiBEZWxldGUgc29tZS9zaHJpbmsgdGhlbSBiZWZvcmUgcmV0cnkuIgorbXNnc3RyICJNdXV0IG9zaW90IGvDpHl0dMOkdsOkdCBqbyBrb2tvIGxldnluLiBQb2lzdGEva3V0aXN0YSBuaWl0w6QgZW5uZW4gdXV0dGEgeXJpdHlzdMOkLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU5MworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWQgaXMgYWxyZWFkeSBhbGxvY2F0ZWQiCittc2dzdHIgIlNla3RvcmkgJWQgb24gam8gdmFyYXR0dSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYwMAorIywgZnV6enkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgdGhpcmQgcGFydGl0aW9uIGNvdmVycyB0aGUgd2hvbGUgZGlzayBhbmQgaXMgb2YgdHlwZSBgV2hvbGUgZGlzayciCittc2dzdHIgIiIKKyJPbiBlcml0dMOkaW4gc3Vvc2l0ZWx0YXZhYSwgZXR0w6Qga29sbWFzIG9zaW8ga2F0dGFhIGtva28gbGV2eW4gamFcbiIKKyJvbiB0eXlwcGnDpCDigJ1Lb2tvIGxldnnigJ1cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYxMAorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbmluZyB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gJXUgdG8gJXUgdG8gYmUgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZW4ndCBjb3ZlcmVkIHRoZSB3aG9sZSBkaXNrIHdpdGggdGhlIDNyZCBwYXJ0aXRpb24sIGJ1dCB5b3VyIHZhbHVlXG4iCisiJWx1ICVzIGNvdmVycyBzb21lIG90aGVyIHBhcnRpdGlvbi4gWW91ciBlbnRyeSBoYXMgYmVlbiBjaGFuZ2VkXG4iCisidG8gJWx1ICVzIgorbXNnc3RyICIiCisiS29sbWFzIG9zaW8gZWkga2F0YSBrb2tvIGxldnnDpCwgbXV0dGEgYXJ2byAlZCAlcyBrYXR0YWEgam9ua2luIHRvaXNlblxuIgorIm9zaW9uLiBNZXJraW50w6Qgb24gbXV1dGV0dHUgYXJ2b29uICVkICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3MjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklmIHlvdSB3YW50IHRvIG1haW50YWluIFN1bk9TL1NvbGFyaXMgY29tcGF0aWJpbGl0eSwgY29uc2lkZXIgbGVhdmluZyB0aGlzIHBhcnRpdGlvbiBhcyBXaG9sZSBkaXNrICg1KSwgc3RhcnRpbmcgYXQgMCwgd2l0aCAldSBzZWN0b3JzIgorbXNnc3RyICIiCisiSm9zIGhhbHV0YWFuIHPDpGlseXR0w6TDpCBTdW5PUy9Tb2xhcmlzLXlodGVlbnNvcGl2dXVzLCB0w6Rtw6RuIG9zaW9uIHR5eXBwaW7DpFxuIgorIm9uIHN5eXTDpCBzw6RpbHl0dMOkw6QgS29rbyBsZXZ5ICg1KSwgYWxrYWVuIGtvaGRhc3RhIDAsICV1IHNla3RvcmlhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NTAKKyMsIGZ1enp5Cittc2dpZCAiTGFiZWwgSUQiCittc2dzdHIgIk5pbWnDtjogJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NTUKKyMsIGZ1enp5Cittc2dpZCAiVm9sdW1lIElEIgorbXNnc3RyICIlczogdmlyaGVlbGxpbmVuIHByb3Nlc3NpLUlEIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzY1Cittc2dpZCAiQWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiVmFpaHRvZWh0b2lzZXQgc3lsaW50ZXJpdCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg3MQorbXNnaWQgIk51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJWYWlodG9laHRvaXN0ZW4gc3lsaW50ZXJpZW4gbcOkw6Ryw6QiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo4OTYKK21zZ2lkICJFeHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAiWWxpbcOkw6Ryw6Rpc2nDpCBzZWt0b3JlaXRhIHN5bGludGVyaWxsw6QiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MjAKK21zZ2lkICJJbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiTG9taXR1c2tlcnJvaW4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5NDQKK21zZ2lkICJSb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAiUHnDtnJpbWlzbm9wZXVzIChycG0pIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTY4Cittc2dpZCAiTnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiRnl5c2lzdGVuIHN5bGludGVyaWVuIG3DpMOkcsOkIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTAzNworIywgZnV6enkKK21zZ2lkICIiCisiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gMyBhcyBXaG9sZSBkaXNrICg1KSxcbiIKKyJhcyBTdW5PUy9Tb2xhcmlzIGV4cGVjdHMgaXQgYW5kIGV2ZW4gTGludXggbGlrZXMgaXQuXG4iCittc2dzdHIgIiIKKyJPc2lvbiAzIHR5eXBpa3NpIG9uIHN5eXTDpCBqw6R0dMOkw6QgS29rbyBsZXZ5ICg1KSxcbiIKKyJrb3NrYSBTdW5PUy9Tb2xhcmlzIG9kb3R0YWEgc2l0w6QsIGphIGpvcGEgTGludXggcGl0w6TDpCBzaWl0w6QuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDQ4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwXG4iCisiaXMgVUZTLCBFWFQyRlMgZmlsZXN5c3RlbSBvciBTdW5PUyBzd2FwLiBQdXR0aW5nIExpbnV4IHN3YXBcbiIKKyJ0aGVyZSBtYXkgZGVzdHJveSB5b3VyIHBhcnRpdGlvbiB0YWJsZSBhbmQgYm9vdGJsb2NrLlxuIgorIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB0YWcgdGhlIHBhcnRpdGlvbiBhcyBMaW51eCBzd2FwPyIKK21zZ3N0ciAiIgorIk9uIGVyaXR0w6RpbiBzdW9zaXRlbHRhdmFhLCBldHTDpCBvc2lvIHNpaXJ0eW3DpG4gMCBrb2hkYWxsYVxuIgorIm9uIHR5eXBpbHTDpMOkbiBVRlMsIEVYVDJGUyB0YWkg4oCdU3VuT1Mgc3dhcOKAnS4gTGludXhpbiBzaXZ1dHVzb3Npb25cbiIKKyJzaWpvaXR0YW1pbmVuIHNpbm5lIHNhYXR0YWEgdHVob3RhIG9zaW90YXVsdW4gamEga8OkeW5uaXN0eXNsb2hrb24uXG4iCisiS2lyam9pdGEgSkFBLCBqb3Mgb2xldCBlcml0dMOkaW4gdmFybWEsIGV0dMOkIGhhbHVhdCBvc2lvbiB0eXlwaWtzaVxuIgorIm1lcmtpdHTDpHbDpG4gODIgKExpbnV4LXNpdnV0dXMpOiAiCisKKyM6IGxpYi9wYWdlci5jOjExMgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCAoJXMpIgorbXNnc3RyICJ3YWl0cGlkIGVww6Rvbm5pc3R1aSAoJXMpIgorCisjOiBsaWIvcGF0aC5jOjIwOSBzeXMtdXRpbHMvbHNjcHUuYzoxODE4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjYWxsb2NhdGUgY3B1IHNldCIKK21zZ3N0ciAiY2FjaGVfc2V0IHVocmluIHZhcmF1cyBlcMOkb25uaXN0dWkiCisKKyM6IGxpYi9wYXRoLmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3QgJXMiCittc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjOiBsaWIvcGF0aC5jOjIxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrICVzIgorbXNnc3RyICIlczogYXZhYW1pbmVuIGVww6Rvbm5pc3R1aTogJXNcbiIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MgorIywgZnV6enkKK21zZ2lkICJjYW4gbm90IG9wZW4gVU5JWCBzb2NrZXQiCittc2dzdHIgImVpIHZvaSBhdmF0YSIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3OAorIywgZnV6enkKK21zZ2lkICJjYW4gbm90IHNldCBvcHRpb24gZm9yIFVOSVggc29ja2V0IgorbXNnc3RyICJrb25lbmltZW4gJXMgYXNldHRhbWluZW4gasOkcmplc3RlbG3DpGxsZSBlaSBvbm5pc3R1IgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjkxCisjLCBmdXp6eQorbXNnaWQgImNhbiBub3QgY29ubmVjdCBvbiBVTklYIHNvY2tldCIKK21zZ3N0ciAiZWkgdm9pIGF2YXRhIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGx5bW91dGggcmVxdWVzdCAlYyBpcyBub3QgaW1wbGVtZW50ZWQiCittc2dzdHIgIiIKKworIzogbGliL3JhbmR1dGlscy5jOjEzNgorbXNnaWQgImxpYmMgcHNldWRvLXJhbmRvbSBmdW5jdGlvbnMiCittc2dzdHIgIiIKKworIzogbGliL3N3YXBwcm9iZXIuYzoxNyBsaWIvc3dhcHByb2Jlci5jOjMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHByb2JlIGRldmljZSIKK21zZ3N0ciAic2l2dXR1c2xhaXR0ZWVsbGEgZWkgdm9pIHNpaXJ0ecOkIHRhYWtzZXDDpGluIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcHJvYmluZyByZXN1bHQ7IHVzZSB3aXBlZnMoOCkiCittc2dzdHIgIiIKKworIzogbGliL3N3YXBwcm9iZXIuYzozNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHZhbGlkIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICJTaXZ1dHVzb3Npb2xsYSBlaSBvbGUgc2l2dXR1c3R5eXBwacOkLiIKKworIzogbGliL3N3YXBwcm9iZXIuYzo0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuc3VwcG9ydGVkIHN3YXAgdmVyc2lvbiAnJXMnIgorbXNnc3RyICIlczogdmlyaGU6IHR1bnRlbWF0b24gdmVyc2lvICVkXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5MCBsb2dpbi11dGlscy9jaHNoLmM6NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT5dXG4iCittc2dzdHIgIiAlcyBbdmFsaXRzaW1ldF0gW2vDpHl0dMOkasOkbmltaV1cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjkzCittc2dpZCAiQ2hhbmdlIHlvdXIgZmluZ2VyIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJNdXV0YSBvbWF0IGZpbmdlci10aWV0b3NpLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTYKK21zZ2lkICIgLWYsIC0tZnVsbC1uYW1lIDxmdWxsLW5hbWU+ICByZWFsIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTcKK21zZ2lkICIgLW8sIC0tb2ZmaWNlIDxvZmZpY2U+ICAgICAgICBvZmZpY2UgbnVtYmVyXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk4CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1vZmZpY2UtcGhvbmUgPHBob25lPiAgIG9mZmljZSBwaG9uZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorIlsgLXAgdG9pbWlzdG9wdWhlbGluIF1cbiIKKyJcdFsgLWgga290aXB1aGVsaW4gXSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk5Cittc2dpZCAiIC1oLCAtLWhvbWUtcGhvbmUgPHBob25lPiAgICAgaG9tZSBwaG9uZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAxIGxvZ2luLXV0aWxzL2Noc2guYzo3OAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAgLS1oZWxwICAgICBuw6R5dMOkIHTDpG3DpCBvaGplIGphIHBvaXN0dVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgImZpZWxkICVzIGlzIHRvbyBsb25nIgorbXNnc3RyICJrZW50dMOkICVzIG9uIGxpaWFuIHBpdGvDpCIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyMSBsb2dpbi11dGlscy9jaHNoLmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBoYXMgaWxsZWdhbCBjaGFyYWN0ZXJzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTAgbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTYyCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luLmRlZnMgZm9yYmlkcyBzZXR0aW5nICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE1OCBsb2dpbi11dGlscy9jaGZuLmM6MzA5Cittc2dpZCAiT2ZmaWNlIgorbXNnc3RyICJUb2ltaXN0byIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2MiBsb2dpbi11dGlscy9jaGZuLmM6MTY0IGxvZ2luLXV0aWxzL2NoZm4uYzozMTEKK21zZ2lkICJPZmZpY2UgUGhvbmUiCittc2dzdHIgIlRvaW1pc3RvcHVoZWxpbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2OCBsb2dpbi11dGlscy9jaGZuLmM6MTcwIGxvZ2luLXV0aWxzL2NoZm4uYzozMTMKK21zZ2lkICJIb21lIFBob25lIgorbXNnc3RyICJLb3RpcHVoZWxpbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjIzMworbXNnaWQgIkFib3J0ZWQuIgorbXNnc3RyICJLZXNrZXl0ZXR0eS4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgaGFzIHVuZXhwZWN0ZWQgdmFsdWU6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgZG9lcyBub3QgYWxsb3cgYW55IGNoYW5nZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci5cbiIKK21zZ3N0ciAiRmluZ2VyLXRpZXRvamEgKkVJKiBtdXV0ZXR0dS4gWXJpdMOkIG15w7ZoZW1taW4gdXVkZWxsZWVuLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBjaGFuZ2VkLlxuIgorbXNnc3RyICJGaW5nZXItdGlldG9qYSBtdXV0ZXR0aWluLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDA4IGxvZ2luLXV0aWxzL2Noc2guYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ICh1c2VyICVkKSBkb24ndCBleGlzdC4iCittc2dzdHIgInNpbnVhIChrw6R5dHTDpGrDpCAlZCkgZWkgb2xlIG9sZW1hc3NhLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQxNCBsb2dpbi11dGlscy9jaHNoLmM6MjQ4IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIFwiJXNcIiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgImvDpHl0dMOkasOkw6Qg4oCdJXPigJ0gZWkgb2xlIG9sZW1hc3NhLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQyMCBsb2dpbi11dGlscy9jaHNoLmM6MjU0CisjLCBmdXp6eQorbXNnaWQgImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzIgorbXNnc3RyICJWYWxpdGV0dGF2YXN0aSB2YWluIHDDpMOka8OkeXR0w6Rqw6Qgdm9pIHPDpMOkdMOkw6QgbGFpdHRlaXN0b2tlbGxvYS4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgZmluZ2VyIGluZm8gb2YgJXMiCittc2dzdHIgIiVzOiBrw6R5dHTDpGrDpGxsw6QgJXMgZWkgb2xlIHZhbHR1dXR1c3RhIG11dXR0YWEga8OkeXR0w6Rqw6RuICVzIGZpbmdlci10aWV0b2phXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzUgbG9naW4tdXRpbHMvY2hzaC5jOjI3MAorbXNnaWQgIlVua25vd24gdXNlciBjb250ZXh0IgorbXNnc3RyICJUdW50ZW1hdG9uIGvDpHl0dMOkasOkeW1ww6RyaXN0w7YiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NDEgbG9naW4tdXRpbHMvY2hzaC5jOjI3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgc2V0IGRlZmF1bHQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIiVzOiBUaWVkb3N0b24gL2V0Yy9wYXNzd2Qgb2xldHVzeW1ww6RyaXN0w7bDpCBlaSB2b2kgYXNldHRhYSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MgorIywgZnV6enkKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICIlczogVmFsbGl0c2V2YSBVSUQgZWkgdMOkc23DpMOkIG11dXRldHRhdmFuIGvDpHl0dMOkasOkbiBVSUQ6aGVuLCBrdW9yZW4gdmFpaHRvIGVzdGV0dHlcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBmaW5nZXIgaW5mb3JtYXRpb24gZm9yICVzLlxuIgorbXNnc3RyICJWYWloZGV0YWFuIGvDpHl0dMOkasOkbiAlcyBmaW5nZXItdGllZG90LlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBub3QgY2hhbmdlZC5cbiIKK21zZ3N0ciAiRmluZ2VyLXRpZXRvamEgZWkgbXV1dGV0dHUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3MgorIywgZnV6enkKK21zZ2lkICJDaGFuZ2UgeW91ciBsb2dpbiBzaGVsbC5cbiIKK21zZ3N0ciAiVmFpaGRldGFhbiBrw6R5dHTDpGrDpG4gJXMga3VvcmkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBzcGVjaWZ5IGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAgLXMsIC0tc2hlbGwgPGt1b3JpPiAgICAgICAgICAgIG3DpMOkcml0dGVsZSBraXJqYXV0dW1pc2t1b3JpXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NgorbXNnaWQgIiAtbCwgLS1saXN0LXNoZWxscyAgICBwcmludCBsaXN0IG9mIHNoZWxscyBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoxMDAKK21zZ2lkICJObyBrbm93biBzaGVsbHMuIgorbXNnc3RyICJFaSB0dW5uZXR0dWphIGt1b3JpYS4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDAKK21zZ2lkICJzaGVsbCBtdXN0IGJlIGEgZnVsbCBwYXRoIG5hbWUiCittc2dzdHIgImt1b3JpIG9uIGFubmV0dGF2YSBwb2xrdWluZWVuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi4oCdJXPigJ0gZWkgb2xlIG9sZW1hc3NhIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBpcyBub3QgZXhlY3V0YWJsZSIKK21zZ3N0ciAi4oCdJXPigJ0gZWkgb2xlIGvDpHlubmlzdGV0dMOkdsOkIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy4iCittc2dzdHIgIiVzOiBlaSBsdWV0ZWxsYSBqbyBsdWV0ZWx0dWEgaGFrZW1pc3RvYSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIxNCBsb2dpbi11dGlscy9jaHNoLmM6MjE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuXG4iCisiVXNlICVzIC1sIHRvIHNlZSBsaXN0LiIKK21zZ3N0ciAiJXM6IOKAnSVz4oCdIGVpIG9sZSBsaXN0YXR0dW5hIHRpZWRvc3Rvc3NhIC9ldGMvc2hlbGxzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIHNoZWxsIG9mICVzIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsIDxrdW9yaT4gICAgICAgICAgICBtw6TDpHJpdHRlbGUga2lyamF1dHVtaXNrdW9yaVxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6Mjk1CisjLCBmdXp6eQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiVzOiBWYWxsaXRzZXZhIFVJRCBlaSB0w6RzbcOkw6QgbXV1dGV0dGF2YW4ga8OkeXR0w6Rqw6RuIFVJRDpoZW4sIGt1b3JlbiB2YWlodG8gZXN0ZXR0eVxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzAwCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdXIgc2hlbGwgaXMgbm90IGluICVzLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICJrdW9yaSBlaSBvbGUgdGllZG9zdG9zc2EgJXMsIGt1b3JlbiB2YWlodG8gZXbDpHR0eSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBzaGVsbCBmb3IgJXMuXG4iCittc2dzdHIgIlZhaWhkZXRhYW4ga8OkeXR0w6Rqw6RuICVzIGt1b3JpLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzEyCittc2dpZCAiTmV3IHNoZWxsIgorbXNnc3RyICJVdXNpIGt1b3JpIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzIwCittc2dpZCAiU2hlbGwgbm90IGNoYW5nZWQuIgorbXNnc3RyICJLdW9ydGEgZWkgdmFpaGRldHR1LiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyNQorbXNnaWQgIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICJLdW9ydGEgKkVJKiB2YWloZGV0dHUuIFlyaXTDpCBtecO2aGVtbWluIHV1ZGVsbGVlbi4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjkKK21zZ2lkICIiCisic2V0cHduYW0gZmFpbGVkXG4iCisiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIiIKKyJzZXRwd25hbSBlcMOkb25uaXN0dWlcbiIKKyJLdW9ydGEgKkVJKiB2YWloZGV0dHUuIFlyaXTDpCBtecO2aGVtbWluIHV1ZGVsbGVlbi4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hlbGwgY2hhbmdlZC5cbiIKK21zZ3N0ciAiS3VvcmkgdmFpaGRldHR1LlxuIgorCisjOiBsb2dpbi11dGlscy9pc2xvY2FsLmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIDxwYXNzd29yZGZpbGU+IDx1c2VybmFtZT4uLi5cbiIKK21zZ3N0ciAiS8OkeXR0w7Y6ICVzIDxzYWxhc2FuYXRpZWRvc3RvPiA8a8OkeXR0w6Rqw6RuaW1pPi4uLlxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MTc0IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyMCBzeXMtdXRpbHMvZG1lc2cuYzoxMTkzCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdGltZSBmb3JtYXQ6ICVzIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gYWphbiBtdW90byAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjI4MSBsb2dpbi11dGlscy9sYXN0LmM6Mjg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnRlcnJ1cHRlZCAlcyIKK21zZ3N0ciAiU2lnbmFhbGluIGtlc2tleXR0w6Rtw6QiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo0MzkgbG9naW4tdXRpbHMvbGFzdC5jOjQ1MAorIywgZnV6enkKK21zZ2lkICJwcmVhbGxvY2F0aW9uIHNpemUgZXhjZWVkZWQiCittc2dzdHIgIlRpZWRvc3RvbiBrb2tvcmFqYSB5bGl0ZXR0eSIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPi4uLl0gWzx0dHk+Li4uXVxuIgorbXNnc3RyICIgJXMgW3ZhbGl0c2ltZXRdIFtrw6R5dHTDpGrDpG5pbWldXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzIKK21zZ2lkICJTaG93IGEgbGlzdGluZyBvZiBsYXN0IGxvZ2dlZCBpbiB1c2Vycy5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc1Cittc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgIGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc2Cittc2dpZCAiIC1hLCAtLWhvc3RsYXN0ICAgICAgIGRpc3BsYXkgaG9zdG5hbWVzIGluIHRoZSBsYXN0IGNvbHVtblxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzcKK21zZ2lkICIgLWQsIC0tZG5zICAgICAgICAgICAgdHJhbnNsYXRlIHRoZSBJUCBudW1iZXIgYmFjayBpbnRvIGEgaG9zdG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICB1c2UgYSBzcGVjaWZpYyBmaWxlIGluc3RlYWQgb2YgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgwCittc2dpZCAiIC1GLCAtLWZ1bGx0aW1lcyAgICAgIHByaW50IGZ1bGwgbG9naW4gYW5kIGxvZ291dCB0aW1lcyBhbmQgZGF0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgxCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pcCAgICAgICAgICAgICBkaXNwbGF5IElQIG51bWJlcnMgaW4gbnVtYmVycy1hbmQtZG90cyBub3RhdGlvblxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MgorbXNnaWQgIiAtbiwgLS1saW1pdCA8bnVtYmVyPiBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MworIywgZnV6enkKK21zZ2lkICIgLVIsIC0tbm9ob3N0bmFtZSAgICAgZG9uJ3QgZGlzcGxheSB0aGUgaG9zdG5hbWUgZmllbGRcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFR1bG9zdGEgb3Npb3RhdWx1IHJ1dWR1bGxlIHRhaSB0aWVkb3N0b29uIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg0Cittc2dpZCAiIC1zLCAtLXNpbmNlIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHNpbmNlIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODUKK21zZ2lkICIgLXQsIC0tdW50aWwgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgdW50aWwgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NgorbXNnaWQgIiAtcCwgLS1wcmVzZW50IDx0aW1lPiBkaXNwbGF5IHdobyB3ZXJlIHByZXNlbnQgYXQgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NworIywgZnV6enkKK21zZ2lkICIgLXcsIC0tZnVsbG5hbWVzICAgICAgZGlzcGxheSBmdWxsIHVzZXIgYW5kIGRvbWFpbiBuYW1lc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OAorbXNnaWQgIiAteCwgLS1zeXN0ZW0gICAgICAgICBkaXNwbGF5IHN5c3RlbSBzaHV0ZG93biBlbnRyaWVzIGFuZCBydW4gbGV2ZWwgY2hhbmdlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODkKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcHMgaW4gdGhlIHNwZWNpZmllZCA8Zm9ybWF0PjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjg4MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXMgYmVnaW5zICVzIgorbXNnc3RyICIiCisiXG4iCisiJXMgYWxrYWEgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NTYgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2NAorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIgorbXNnc3RyICJKw6RzZW5ueXN2aXJoZTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NzcgbG9naW4tdXRpbHMvbGFzdC5jOjk4MiBsb2dpbi11dGlscy9sYXN0LmM6OTg3CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lIHZhbHVlIFwiJXNcIiIKK21zZ3N0ciAiYWphbmpha3NvIGVpIGtlbHBhYTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzoyOSBsb2dpbi11dGlscy9saWJ1c2VyLmM6MzEKK21zZ2lkICJDb3VsZG4ndCBkcm9wIGdyb3VwIHByaXZpbGVnZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJsaWJ1c2VyIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJXMuIgorbXNnc3RyICIlcyBlcMOkb25uaXN0dWkiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1MgorIywgZnV6enkKK21zZ2lkICJjaGFuZ2luZyB1c2VyIGF0dHJpYnV0ZSBmYWlsZWQiCittc2dzdHIgIlRpZWRvc3RvbiAlcyBvaWtldWtzaWVuIG11dXRvcyBhcnZvb24gJSNvIGVww6Rvbm5pc3R1aSIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIGF0dHJpYnV0ZSBub3QgY2hhbmdlZDogJXMiCittc2dzdHIgIiVzOiBrw6R5dHTDpGrDpMOkIGVpIG9sZSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJXUgaXMgNjAuCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjE4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltZWQgb3V0IGFmdGVyICV1IHNlY29uZHMiCittc2dzdHIgIktpcmphdXR1bWluZW4gYWlrYWthdGthaXN0aWluICVkIHNla3VubmluIGrDpGxrZWVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogY2FuJ3QgcmVvcGVuIHR0eTogJW0iCittc2dzdHIgIlZBS0FWQUE6IHDDpMOkdGV0dMOkIGVpIHZvaSBhdmF0YSB1dWRlbGxlZW46ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzIGlzIG5vdCBhIHRlcm1pbmFsIgorbXNnc3RyICJ2YWthdmEgdmlyaGU6ICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNob3duICglcywgJWx1LCAlbHUpIGZhaWxlZDogJW0iCittc2dzdHIgImNob3duIGVww6Rvbm5pc3R1aTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzE0CisjLCBjLWZvcm1hdAorbXNnaWQgImNobW9kICglcywgJXUpIGZhaWxlZDogJW0iCittc2dzdHIgImNobW9kICglcywgJXUpIGVww6Rvbm5pc3R1aTogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mzc1Cittc2dpZCAiRkFUQUw6IGJhZCB0dHkiCittc2dzdHIgIlZBS0FWQUE6IHZpcmhlZWxsaW5lbiBww6TDpHRlIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXM6IGNoYW5nZSBwZXJtaXNzaW9ucyBmYWlsZWQ6ICVtIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgbG9naW46ICUuKnMgIgorbXNnc3RyICJFZGVsbGluZW4ga2lyamF1dHVtaW5lbjogJS4qcyAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTMxCisjLCBjLWZvcm1hdAorbXNnaWQgImZyb20gJS4qc1xuIgorbXNnc3RyICJvc29pdHRlZXN0YSAlLipzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9uICUuKnNcbiIKK21zZ3N0ciAicMOkw6R0dGVlbHTDpCAlLipzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTUyCisjLCBmdXp6eQorbXNnaWQgIndyaXRlIGxhc3Rsb2cgZmFpbGVkIgorbXNnc3RyICJraXJqb2l0dXMgZXDDpG9ubmlzdHVpIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJESUFMVVAgQVQgJXMgQlkgJXMiCittc2dzdHIgIkvDhFlUVMOESsOETiAlMiRzIE1PREVFTUlZSFRFWVMgUMOEw4RUVEVFTEzDhCAlMSRzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1NworIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIEZST00gJXMiCittc2dzdHIgIlDDhMOES8OEWVRUw4RKw4ROIEtJUkpBVVRVTUlORU4gUMOEw4RUVEVFTEzDhCAlcyBPU09JVFRFRVNUQSAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyIKK21zZ3N0ciAiUMOEw4RLw4RZVFTDhErDhE4gS0lSSkFVVFVNSU5FTiBQw4TDhFRURUVMTMOEICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorbXNnc3RyICJLw4RZVFTDhErDhE4gJTIkcyBLSVJKQVVUVU1JTkVOIFDDhMOEVFRFRUxMw4QgJTEkcyBPU09JVFRFRVNUQSAlMyRzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyIKK21zZ3N0ciAiS8OEWVRUw4RKw4ROICUyJHMgS0lSSkFVVFVNSU5FTiBQw4TDhFRURUVMTMOEICUxJHMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE5Cittc2dpZCAibG9naW46ICIKK21zZ3N0ciAidHVubnVzOiAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorbXNnc3RyICJQQU1pYSBlaSB2b2l0dSBhbHVzdGFhOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGRuJ3QgaW5pdGlhbGl6ZSBQQU06ICVzIgorbXNnc3RyICJQQU1pYSBlaSB2b2l0dSBhbHVzdGFhOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiAldSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIkVQw4RPTk5JU1RVTlVUIEvDhFlUVMOESsOETiAlMiRzIElTVFVOVE8gT1NPSVRURUVTVEEgJTEkcywgJTMkcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MjUgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxvZ2luIGluY29ycmVjdFxuIgorIlxuIgorbXNnc3RyICIiCisiS2lyamF1dHVtaW5lbiBlcMOkb25uaXN0dWlcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRPTyBNQU5ZIExPR0lOIFRSSUVTICgldSkgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJMSUlBTiBNT05UQSAoJTEkZCkgS8OEWVRUw4RKw4ROICUzJHMgS0lSSkFVVFVNSVNZUklUWVNUw4QgT1NPSVRURUVTVEEgJTIkcywgJTQkcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOIFNFU1NJT04gRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJFUMOET05OSVNUVU5VVCBLw4RZVFTDhErDhE4gJTIkcyBJU1RVTlRPIE9TT0lUVEVFU1RBICUxJHMsICUzJHMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKK21zZ3N0ciAiIgorIlxuIgorIktpcmphdXR1bWluZW4gZXDDpG9ubmlzdHVpXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODgyIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTIzMiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNTUKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gc2V0dXAgcHJvYmxlbSwgYWJvcnQuIgorbXNnc3RyICIiCisiXG4iCisiSXN0dW5ub24gYWxvaXR1c29uZ2VsbWEsIGtlc2tleXR5cy5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVMTCB1c2VyIG5hbWUgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiS8OkeXR0w6Rqw6RuaW1pIG9uIE5VTEwgZnVua3Rpb3NzYSAlcywgcml2aWxsw6QgJWQuIEtlc2tleXR5cy4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAyMAorIywgYy1mb3JtYXQKK21zZ2lkICJUSU9DU0NUVFkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiVElPQ1NDVFRZIGVww6Rvbm5pc3R1aTogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbjogLWggaXMgZm9yIHN1cGVydXNlciBvbmx5XG4iCittc2dzdHIgImxvZ2luOiAtaCBvbiB2YWluIHDDpMOka8OkeXR0w6Rqw6RsbGVcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogbG9naW4gWy1wXSBbLWggPGhvc3Q+XSBbLUhdIFtbLWZdIDx1c2VybmFtZT5dXG4iCittc2dzdHIgImvDpHl0dMO2OiBsYXN0IFstI10gWy1mIHRpZWRvc3RvXSBbLXQgdHR5XSBbLWgga29uZW5pbWldIFtrw6R5dHTDpGrDpCAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE5MQorIywgZnV6enkKK21zZ2lkICJCZWdpbiBhIHNlc3Npb24gb24gdGhlIHN5c3RlbS5cbiIKK21zZ3N0ciAiVMOkc3PDpCBqw6RyamVzdGVsbcOkc3PDpCBrw6R5dGV0w6TDpG4gdmFyam9zYWxhc2Fub2phLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB1c2VyIG5hbWUgXCIlc1wiIGluICVzOiVkLiBBYm9ydC4iCittc2dzdHIgIlZpcmhlZWxsaW5lbiBrw6R5dHTDpGrDpG5pbWkg4oCdJXPigJ0gZnVua3Rpb3NzYSAlcywgcml2aWxsw6QgJWQuIEtlc2tleXR5cy4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXBzIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgIlRJT0NTQ1RUWSBlcMOkb25uaXN0dWk6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNzkKK21zZ2lkICJzZXRnaWQoKSBmYWlsZWQiCittc2dzdHIgInNldGdpZCgpIGVww6Rvbm5pc3R1aSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG5ldyBtYWlsLlxuIgorbXNnc3RyICJTaW51bGxlIG9uIHV1dHRhIHBvc3RpYS5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzExCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG1haWwuXG4iCittc2dzdHIgIlNpbnVsbGUgb24gcG9zdGlhLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMjUKK21zZ2lkICJzZXR1aWQoKSBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGVww6Rvbm5pc3R1aSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzMxIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjaGFuZ2UgZGlyZWN0b3J5IGZhaWxlZCIKK21zZ3N0ciAiaGFrZW1pc3Rvb24gJXMgZWkgdm9pIHNpaXJ0ecOkIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzggbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczOQorIywgYy1mb3JtYXQKK21zZ2lkICJMb2dnaW5nIGluIHdpdGggaG9tZSA9IFwiL1wiLlxuIgorbXNnc3RyICJLaXJqYXVkdXRhYW4ga8OkeXR0w6RlbiBrb3RpaGFrZW1pc3RvbmEg4oCdL+KAnS5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzY3CisjLCBmdXp6eQorbXNnaWQgImNvdWxkbid0IGV4ZWMgc2hlbGwgc2NyaXB0IgorbXNnc3RyICJsb2dpbjoga3Vvcmlza3JpcHRpw6QgZWkgdm9pdHUga8OkeW5uaXN0w6TDpDogJXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM2OQorIywgZnV6enkKK21zZ2lkICJubyBzaGVsbCIKK21zZ3N0ciAiS3Vvcmk6ICIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgY29udGFpbnMgaW52YWxpZCBudW1lcmljYWwgdmFsdWU6ICVzIgorbXNnc3RyICJzYXJrYWlua29rbyBzaXPDpGx0w6TDpCB2aXJoZWVsbGlzZW4gbWVya2luKC9tZXJra2Vqw6QpOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6Mzc1Cittc2dpZCAiaHVzaCBsb2dpbiBzdGF0dXM6IHJlc3RvcmUgb3JpZ2luYWwgSURzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOCBzeXMtdXRpbHMvbHNjcHUuYzoxNTQwIHN5cy11dGlscy9sc2NwdS5jOjE1NTAKK21zZ2lkICJubyIKK21zZ3N0ciAiZWkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3IG1pc2MtdXRpbHMvbHNibGsuYzoxODEKKyMsIGZ1enp5Cittc2dpZCAidXNlciBuYW1lIgorbXNnc3RyICJQYWx2ZWxpbmvDpHl0dMOkasOkLXZhbGl0c2ltZWxsZSBvbiBhbm5ldHRhdmEga8OkeXR0w6Rqw6RuaW1pIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNworIywgZnV6enkKK21zZ2lkICJVc2VybmFtZSIKK21zZ3N0ciAiICVzIFt2YWxpdHNpbWV0XSBba8OkeXR0w6Rqw6RuaW1pXVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOCBzeXMtdXRpbHMvcmVuaWNlLmM6NTQKK21zZ2lkICJ1c2VyIElEIgorbXNnc3RyICJrw6R5dHTDpGrDpC1JRCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKKyMsIGZ1enp5Cittc2dpZCAicGFzc3dvcmQgbm90IHJlcXVpcmVkIgorbXNnc3RyICJTYWxhc2FuYTogIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorIywgZnV6enkKK21zZ2lkICJQYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIlNhbGFzYW5hOiAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCisjLCBmdXp6eQorbXNnaWQgImxvZ2luIGJ5IHBhc3N3b3JkIGRpc2FibGVkIgorbXNnc3RyICJbZWkga8OkeXTDtnNzw6RdIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorIywgZnV6enkKK21zZ2lkICJMb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAiW2VpIGvDpHl0w7Zzc8OkXSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKKyMsIGZ1enp5Cittc2dpZCAicGFzc3dvcmQgZGVmaW5lZCwgYnV0IGxvY2tlZCIKK21zZ3N0ciAiU2FsYXNhbmEgb24gbHVraXR0dSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKK21zZ2lkICJQYXNzd29yZCBpcyBsb2NrZWQiCittc2dzdHIgIlNhbGFzYW5hIG9uIGx1a2l0dHUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAibG9nIGluIGRpc2FibGVkIGJ5IG5vbG9naW4oOCkgb3IgcGFtX25vbG9naW4oOCkiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKKyMsIGZ1enp5Cittc2dpZCAiTm8gbG9naW4iCittc2dzdHIgIlR1bm51cyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKKyMsIGZ1enp5Cittc2dpZCAicHJpbWFyeSBncm91cCBuYW1lIgorbXNnc3RyICIgcnlobcOkdD0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCisjLCBmdXp6eQorbXNnaWQgIlByaW1hcnkgZ3JvdXAiCittc2dzdHIgIkVuc2nDtiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjQKKyMsIGZ1enp5Cittc2dpZCAicHJpbWFyeSBncm91cCBJRCIKK21zZ3N0ciAiJXM6IHZpcmhlZWxsaW5lbiBwcm9zZXNzaS1JRCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKKyMsIGZ1enp5Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBuYW1lcyIKK21zZ3N0ciAiIHJ5aG3DpHQ9IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorIywgZnV6enkKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiIHJ5aG3DpHQ9IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorIywgZnV6enkKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIHJ5aG3DpCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKKyMsIGZ1enp5Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgInZpcmhlZWxsaW5lbiByeWhtw6QiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3Cittc2dpZCAiaG9tZSBkaXJlY3RvcnkiCittc2dzdHIgImtvdGloYWtlbWlzdG8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3Cittc2dpZCAiSG9tZSBkaXJlY3RvcnkiCittc2dzdHIgIktvdGloYWtlbWlzdG8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4CisjLCBmdXp6eQorbXNnaWQgImxvZ2luIHNoZWxsIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsIDxrdW9yaT4gICAgICAgICAgICBtw6TDpHJpdHRlbGUga2lyamF1dHVtaXNrdW9yaVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorbXNnaWQgIlNoZWxsIgorbXNnc3RyICJLdW9yaSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKKyMsIGZ1enp5Cittc2dpZCAiZnVsbCB1c2VyIG5hbWUiCittc2dzdHIgIlBhbHZlbGlua8OkeXR0w6Rqw6QtdmFsaXRzaW1lbGxlIG9uIGFubmV0dGF2YSBrw6R5dHTDpGrDpG5pbWkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiR2Vjb3MgZmllbGQiCittc2dzdHIgIkdlY29zLWtlbnR0w6QiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiZGF0ZSBvZiBsYXN0IGxvZ2luIgorbXNnc3RyICJlZGVsbGluZW4ga2lyamF1dHVtaXNlbiBww6RpdsOkbcOkw6Ryw6QiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiTGFzdCBsb2dpbiIKK21zZ3N0ciAiRWRlbGxpbmVuIGtpcmphdXR1bWluZW4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCisjLCBmdXp6eQorbXNnaWQgImxhc3QgdHR5IHVzZWQiCittc2dzdHIgIiBUVFkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCisjLCBmdXp6eQorbXNnaWQgIkxhc3QgdGVybWluYWwiCittc2dzdHIgIiAtdGVybSBww6TDpHR0ZWVuX25pbWlcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJob3N0bmFtZSBkdXJpbmcgdGhlIGxhc3Qgc2Vzc2lvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorIywgZnV6enkKK21zZ2lkICJMYXN0IGhvc3RuYW1lIgorbXNnc3RyICJsYXN0OiBnZXRob3N0bmFtZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKKyMsIGZ1enp5Cittc2dpZCAiZGF0ZSBvZiBsYXN0IGZhaWxlZCBsb2dpbiIKK21zZ3N0ciAiZWRlbGxpbmVuIGtpcmphdXR1bWlzZW4gcMOkaXbDpG3DpMOkcsOkIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgbG9naW4iCittc2dzdHIgIkVQw4RPTk5JU1RVTlVUIEvDhFlUVMOESsOETiAlMiRzIElTVFVOVE8gT1NPSVRURUVTVEEgJTEkcywgJTMkcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKKyMsIGZ1enp5Cittc2dpZCAid2hlcmUgZGlkIHRoZSBsb2dpbiBmYWlsPyIKK21zZ3N0ciAia2lyam9pdHVzIGVww6Rvbm5pc3R1aSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIGxvZ2luIHRlcm1pbmFsIgorbXNnc3RyICJjYWNoZV9zZXQgdWhyaW4gdmFyYXVzIGVww6Rvbm5pc3R1aSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKKyMsIGZ1enp5Cittc2dpZCAidXNlcidzIGh1c2ggc2V0dGluZ3MiCittc2dzdHIgInZpcmhlZWxsaW5lbiBrw6R5dHTDpGrDpCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJIdXNoZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzYKK21zZ2lkICJkYXlzIHVzZXIgaXMgd2FybmVkIG9mIHBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzYKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIHdhcm4gaW50ZXJ2YWwiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAicGFzc3dvcmQgZXhwaXJhdGlvbiBkYXRlIgorbXNnc3RyICJTYWxhc2FuYTogIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIlNhbGFzYW5hbiB2YW5oZW5lbWluZW4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4Cittc2dpZCAiZGF0ZSBvZiBsYXN0IHBhc3N3b3JkIGNoYW5nZSIKK21zZ3N0ciAiZWRlbGxpbmVuIHNhbGFzYW5hbiB2YWloZG9uIHDDpGl2w6Rtw6TDpHLDpCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJQYXNzd29yZCBjaGFuZ2VkIgorbXNnc3RyICJTYWxhc2FuYSBtdXV0ZXR0dSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzkKK21zZ2lkICJudW1iZXIgb2YgZGF5cyByZXF1aXJlZCBiZXR3ZWVuIGNoYW5nZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzkKKyMsIGZ1enp5Cittc2dpZCAiTWluaW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKK21zZ2lkICJtYXggbnVtYmVyIG9mIGRheXMgYSBwYXNzd29yZCBtYXkgcmVtYWluIHVuY2hhbmdlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorIywgZnV6enkKK21zZ2lkICJNYXhpbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICJjaGFuZ2VfdGltZT0lLTI2LjI0c1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorIywgZnV6enkKK21zZ2lkICJ0aGUgdXNlcidzIHNlY3VyaXR5IGNvbnRleHQiCittc2dzdHIgIlR1bnRlbWF0b24ga8OkeXR0w6Rqw6R5bXDDpHJpc3TDtiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKKyMsIGZ1enp5Cittc2dpZCAiU2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJzZWxpbnV4LWtvbnRla3N0aW4gbGFza2VtaW5lbiBlaSBvbm5pc3R1bnV0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorIywgZnV6enkKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIHJ1biBieSB0aGUgdXNlciIKK21zZ3N0ciAiT2hqZWxtYW4gbnNjZCBhamFtaW5lbiBrw6R5dHTDpGrDpG4g4oCdJXPigJ0gb2lrZXVrc2lsbGEgZXDDpG9ubmlzdHVpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorIywgZnV6enkKK21zZ2lkICJSdW5uaW5nIHByb2Nlc3NlcyIKK21zZ3N0ciAiRWkgbGFwc2lwcm9zZXNzZWphIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzYgbWlzYy11dGlscy9sc2Jsay5jOjIzMQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGNvbHVtbnMgc3BlY2lmaWVkLCB0aGUgbGltaXQgaXMgJXp1IGNvbHVtbnMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDMgc3lzLXV0aWxzL2xzaXBjLmM6NDU2CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIHRpbWUgdHlwZSIKK21zZ3N0ciAiQUlLQSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNvbXBvc2UgdGltZSBzdHJpbmciCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo2NDgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAidGllZG9zdG9uICVzIG9taW5haXN1dWtzaWVuIGhha2VtaW5lbiBlaSBvbm5pc3R1IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzEKKyMsIGZ1enp5Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVua25vd24gY29sdW1uIgorbXNnc3RyICIhISEgU2lzw6RpbmVuIHZpcmhlICEhISIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDc1IHN5cy11dGlscy9sc2lwYy5jOjUwMyBzeXMtdXRpbHMvbHNpcGMuYzo2MjUKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY4MCBzeXMtdXRpbHMvbHNpcGMuYzo4Mzggc3lzLXV0aWxzL2xzaXBjLmM6MTAzNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGRhdGEiCittc2dzdHIgIlbDpGxpbXVpc3RpZGF0YW4ga2lyam9pdHVzIGVww6Rvbm5pc3R1aSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMTY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTGFzdCBsb2dzOlxuIgorbXNnc3RyICI/Pz9cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjI4IGxvZ2luLXV0aWxzL25vbG9naW4uYzoyNgorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTAxIG1pc2MtdXRpbHMvbWNvb2tpZS5jOjgyIG1pc2MtdXRpbHMvdXVpZGQuYzo3MAorIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjUgc3lzLXV0aWxzL2RtZXNnLmM6MjY0IHN5cy11dGlscy9pcGNtay5jOjY2CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTYwIHN5cy11dGlscy9sc2lwYy5jOjI3NyBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDQKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6OTUgdGVybS11dGlscy9zZXR0ZXJtLmM6MzgwIHRleHQtdXRpbHMvbGluZS5jOjMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIiVzIFt2YWxpdHNpbWV0XSBbPHRpZWRvc3RvPiAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzMQorbXNnaWQgIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQga25vd24gdXNlcnMgaW4gdGhlIHN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzQKK21zZ2lkICIgLWEsIC0tYWNjLWV4cGlyYXRpb24gICAgIGRpc3BsYXkgaW5mbyBhYm91dCBwYXNzd29yZHMgZXhwaXJhdGlvblxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNQorbXNnaWQgIiAtYywgLS1jb2xvbi1zZXBhcmF0ZSAgICAgZGlzcGxheSBkYXRhIGluIGEgZm9ybWF0IHNpbWlsYXIgdG8gL2V0Yy9wYXNzd2RcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzYgc3lzLXV0aWxzL2xzaXBjLmM6Mjk2CisjLCBmdXp6eQorbXNnaWQgIiAtZSwgLS1leHBvcnQgICAgICAgICAgICAgZGlzcGxheSBpbiBhbiBleHBvcnQtYWJsZSBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzcKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZhaWxlZCAgICAgICAgICAgICBkaXNwbGF5IGRhdGEgYWJvdXQgdGhlIHVzZXJzJyBsYXN0IGZhaWxlZCBsb2dpbnNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgZ3JvdXBzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzkKK21zZ2lkICIgLWcsIC0tZ3JvdXBzPTxncm91cHM+ICAgIGRpc3BsYXkgdXNlcnMgYmVsb25naW5nIHRvIGEgZ3JvdXAgaW4gPGdyb3Vwcz5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWxhc3QgICAgICAgICAgICAgICBzaG93IGluZm8gYWJvdXQgdGhlIHVzZXJzJyBsYXN0IGxvZ2luIHNlc3Npb25zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxvZ2lucz08bG9naW5zPiAgICBkaXNwbGF5IG9ubHkgdXNlcnMgZnJvbSA8bG9naW5zPlxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQyIHN5cy11dGlscy9sc2lwYy5jOjI5OAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGRpc3BsYXkgZWFjaCBwaWVjZSBvZiBpbmZvcm1hdGlvbiBvbiBhIG5ldyBsaW5lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDMgc3lzLXV0aWxzL2xzaXBjLmM6MjkxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NCBzeXMtdXRpbHMvbHNpcGMuYzoyOTIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBkb24ndCB0cnVuY2F0ZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIMOkbMOkIGtpcmpvaXRhIGxldnlsbGUgb2lrZWFzdGkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NSBzeXMtdXRpbHMvbHNpcGMuYzozMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dFs9PGxpc3Q+XSAgICBkZWZpbmUgdGhlIGNvbHVtbnMgdG8gb3V0cHV0XG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz12YWxpdHNpbWV0ICAgICBMeWh5ZXQgdHVubmlzdGV0dGF2YXQgdmFsaXRzaW1ldFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDYKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gbG9naW4gYnkgcGFzc3dvcmQuXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDcgc3lzLXV0aWxzL2xzaXBjLmM6MzAyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgZGlzcGxheSBpbiByYXcgbW9kZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ4CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAgZGlzcGxheSBzeXN0ZW0gYWNjb3VudHNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OSBzeXMtdXRpbHMvbHNpcGMuYzoyOTMKK21zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQ9PHR5cGU+IGRpc3BsYXkgZGF0ZXMgaW4gc2hvcnQsIGZ1bGwgb3IgaXNvIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIGRpc3BsYXkgdXNlciBhY2NvdW50c1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUxCisjLCBmdXp6eQorbXNnaWQgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgZGlzcGxheSBTRUxpbnV4IGNvbnRleHRzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBFaSBub3JtYWFsaWEgdHVsb3N0ZXR0YVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTIKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0IHVzZXIgZW50cmllcyB3aXRoIGEgbnVsIGNoYXJhY3RlclxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUzCittc2dpZCAiICAgICAtLXd0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIHd0bXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTQKK21zZ2lkICIgICAgIC0tYnRtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3IgYnRtcFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1OSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ3IHN5cy11dGlscy9sc2NwdS5jOjE5NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1uczpcbiIKK21zZ3N0ciAiU2FyYWtrZWl0YSAgICAgICAgICA6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ0MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVxdWVzdCBzZWxpbnV4IHN0YXRlIgorbXNnc3RyICJtdXVubm9rc2VuIGFsb2l0dGFtaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ1NiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NjAKK21zZ2lkICJPbmx5IG9uZSB1c2VyIG1heSBiZSBzcGVjaWZpZWQuIFVzZSAtbCBmb3IgbXVsdGlwbGUgdXNlcnMuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjU1CisjLCBmdXp6eQorbXNnaWQgImNvdWxkIG5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAidGllZG9zdG9uICVzIG9taW5haXN1dWtzaWVuIGhha2VtaW5lbiBlaSBvbm5pc3R1IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo1NworbXNnaWQgImdldGxpbmUoKSBmYWlsZWQiCittc2dzdHIgImdldGxpbmUoKSBlcMOkb25uaXN0dWkiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE0OAorbXNnaWQgIlBhc3N3b3JkOiAiCittc2dzdHIgIlNhbGFzYW5hOiAiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE1NCBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAwNQorbXNnaWQgImNyeXB0IGZhaWxlZCIKK21zZ3N0ciAiY3J5cHQgZXDDpG9ubmlzdHVpIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Z3JvdXA+XG4iCittc2dzdHIgIlJ5aG3DpG1lcmtpbnTDpCByeWhtw6RsbGUg4oCdJXMuJXPigJ06XG4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE2OQorbXNnaWQgIkxvZyBpbiB0byBhIG5ldyBncm91cC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMDcKK21zZ2lkICJ3aG8gYXJlIHlvdT8iCittc2dzdHIgImt1a2Egc2luw6Qgb2xldD8iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxMSBsb2dpbi11dGlscy9uZXdncnAuYzoyMjMgc3lzLXV0aWxzL25zZW50ZXIuYzo0MjMKK21zZ2lkICJzZXRnaWQgZmFpbGVkIgorbXNnc3RyICJzZXRnaWQgZXDDpG9ubmlzdHVpIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTYgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjE4CisjLCBmdXp6eQorbXNnaWQgIm5vIHN1Y2ggZ3JvdXAiCittc2dzdHIgInZpcmhlZWxsaW5lbiByeWhtw6QiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyMSBzeXMtdXRpbHMvbW91bnQuYzo0OTEKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCIKK21zZ3N0ciAibHVwYSBldsOkdHR5IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjcgc3lzLXV0aWxzL25zZW50ZXIuYzo0MjUKK21zZ2lkICJzZXR1aWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQgZXDDpG9ubmlzdHVpIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjkKK21zZ2lkICJQb2xpdGVseSByZWZ1c2UgYSBsb2dpbi5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoaXMgYWNjb3VudCBpcyBjdXJyZW50bHkgbm90IGF2YWlsYWJsZS5cbiIKK21zZ3N0ciAib2hqZWxtYSAlbHUgZWkgb2xlIGvDpHl0ZXR0w6R2aXNzw6RcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBzZXNzaW9uOiAlcyIKK21zZ3N0ciAiZWkgdm9pIGF2YXRhIGxhaXRldHRhICVzIGx1a3V0aWxhYW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMwNAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGNoaWxkIHByb2Nlc3MiCittc2dzdHIgIm9kb3RldGFhbiBsYXBzaXByb3Nlc3NpYSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAiaGFrZW1pc3Rvb24gJXMgZWkgdm9pIHNpaXJ0ecOkIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMjEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGJsb2NrIHNpZ25hbHMiCittc2dzdHIgIiVzOiB1c2VpdGEgc2lnbmFhbGVqYSBhbm5ldHR1IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMzUgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzQzCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNDkgbWlzYy11dGlscy91dWlkZC5jOjQwNyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc3MQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJzaWduYWFsaW4geWhkaXN0w6RtaW5lbiB2YWxpdHNpbWVuIC1sIHRhaSAtdCBrYW5zc2EgZWkgb25uaXN0dSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Mzc0CisjLCBmdXp6eQorbXNnaWQgIiAoY29yZSBkdW1wZWQpIgorbXNnc3RyICIlcyAlcyVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLCBraWxsaW5nIHNoZWxsLi4uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICIgLi4ua2lsbGVkLlxuIgorbXNnc3RyICIgLi4udGFwZXR0dS5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NDg2Cittc2dpZCAibWF5IG5vdCBiZSB1c2VkIGJ5IG5vbi1yb290IHVzZXJzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjUxNAorbXNnaWQgImluY29ycmVjdCBwYXNzd29yZCIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIHNhbGFzYW5hIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1OTgKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBncm91cHMiCittc2dzdHIgIiByeWhtw6R0PSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjEzIHN5cy11dGlscy9lamVjdC5jOjY2NQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwIGlkIgorbXNnc3RyICJyeWhtw6QtSUQ6dMOkICVsdSB2YXN0YWF2YWEgbmltZcOkIGVpIGzDtnlkeSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjE1IHN5cy11dGlscy9lamVjdC5jOjY2OAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHVzZXIgaWQiCittc2dzdHIgImvDpHl0dMOkasOkLUlEIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKK21zZ3N0ciAiIgorIlxuIgorIkvDpHl0dMO2OiAlcyBbdmFsaXRzaW1ldF0gcG9sa3UgW3BvbGt1IC4uLl1cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njg5IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLV0gWzx1c2VyPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIiVzIFt2YWxpdHNpbWV0XSBbPHRpZWRvc3RvPiAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY5MAorbXNnaWQgIiIKKyJcbiIKKyJSdW4gPGNvbW1hbmQ+IHdpdGggdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCBvZiA8dXNlcj4uICBJZiAtdSBpc1xuIgorIm5vdCBnaXZlbiwgZmFsbCBiYWNrIHRvIHN1KDEpLWNvbXBhdGlibGUgc2VtYW50aWNzIGFuZCBleGVjdXRlIHN0YW5kYXJkIHNoZWxsLlxuIgorIlRoZSBvcHRpb25zIC1jLCAtZiwgLWwsIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLXUuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njk3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2VyIDx1c2VyPiAgICAgICAgICAgICB1c2VybmFtZVxuIgorbXNnc3RyICJLw6R5dHTDpGrDpG4gYW50YW1hIHNpdnVrb2tvICV1IG9uIHZpcmhlZWxsaW5lbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzAyCittc2dpZCAiIgorIlxuIgorIkNoYW5nZSB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIHRvIHRoYXQgb2YgPHVzZXI+LlxuIgorIkEgbWVyZSAtIGltcGxpZXMgLWwuICBJZiA8dXNlcj4gaXMgbm90IGdpdmVuLCByb290IGlzIGFzc3VtZWQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzA5Cittc2dpZCAiIC1tLCAtcCwgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCAgZG8gbm90IHJlc2V0IGVudmlyb25tZW50IHZhcmlhYmxlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMAorbXNnaWQgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICAgICAgICAgIHNwZWNpZnkgdGhlIHByaW1hcnkgZ3JvdXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTEKK21zZ2lkICIiCisiIC1HLCAtLXN1cHAtZ3JvdXAgPGdyb3VwPiAgICAgICAgc3BlY2lmeSBhIHN1cHBsZW1lbnRhbCBncm91cFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMworIywgZnV6enkKK21zZ2lkICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAgLXMsIC0tc2hlbGwgPGt1b3JpPiAgICAgICAgICAgIG3DpMOkcml0dGVsZSBraXJqYXV0dW1pc2t1b3JpXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxNAorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgICAgICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxNQorIywgZnV6enkKK21zZ2lkICIiCisiIC0tc2Vzc2lvbi1jb21tYW5kIDxjb21tYW5kPiAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZG8gbm90IGNyZWF0ZSBhIG5ldyBzZXNzaW9uXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgIEFsa3UtICAgICAgTG9wcHUtXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxNworIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICBwYXNzIC1mIHRvIHRoZSBzaGVsbCAoZm9yIGNzaCBvciB0Y3NoKVxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE4CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHJ1biA8c2hlbGw+IGlmIC9ldGMvc2hlbGxzIGFsbG93cyBpdFxuIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsPWt1b3JpICAgICAgICAgICAgQXNldGEga3VvcmVuIGxhaW5hdXNrw6R5dMOkbm7DtnRcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzYyCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cCBpcyBub3QgcG9zc2libGUiCittc2dpZF9wbHVyYWwgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cHMgaXMgbm90IHBvc3NpYmxlIgorbXNnc3RyWzBdICJ5bGkgJWQgbGlzw6RyeWhtw6RuIG3DpMOkcml0dGVsZW1pbmVuIGVpIG9sZSBtYWhkb2xsaXN0YSIKK21zZ3N0clsxXSAieWxpICVkIGxpc8OkcnlobcOkbiBtw6TDpHJpdHRlbGVtaW5lbiBlaSBvbGUgbWFoZG9sbGlzdGEiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc2OAorIywgYy1mb3JtYXQKK21zZ2lkICJncm91cCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAicnlobcOkw6QgJXMgZWkgb2xlIG9sZW1hc3NhIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4ODYKK21zZ2lkICJpZ25vcmluZyAtLXByZXNlcnZlLWVudmlyb25tZW50LCBpdCdzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tbG9naW4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODk3Cittc2dpZCAib3B0aW9ucyAtLXtzaGVsbCxmYXN0LGNvbW1hbmQsc2Vzc2lvbi1jb21tYW5kLGxvZ2lufSBhbmQgLS11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTAxCisjLCBmdXp6eQorbXNnaWQgIm5vIGNvbW1hbmQgd2FzIHNwZWNpZmllZCIKK21zZ3N0ciAiVmFsaXRzaW50YSAtLWRhdGUgZWkgb2xlIGFubmV0dHUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkxNQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gc3BlY2lmeSBhbHRlcm5hdGl2ZSBncm91cHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTIyCisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgImvDpHl0dMOkasOkw6QgJXMgZWkgb2xlIG9sZW1hc3NhIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIHJlc3RyaWN0ZWQgc2hlbGwgJXMiCittc2dzdHIgInR1bnRlbWF0b24ga3VvcmkgYXJndW1lbnRpbiAtcyB0YWkgLS1zaGVsbCBqw6Rsa2VlbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAiaGFrZW1pc3Rvb24gJXMgZWkgdm9pIHNpaXJ0ecOkIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTMwCittc2dpZCAidGNnZXRhdHRyIGZhaWxlZCIKK21zZ3N0ciAidGNnZXRhdHRyIGVww6Rvbm5pc3R1aSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjIwNworbXNnaWQgInRjc2V0YXR0ciBmYWlsZWQiCittc2dzdHIgInRjc2V0YXR0ciBlcMOkb25uaXN0dWkiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdFxuIgorbXNnc3RyICJSeWhtw6RtZXJraW50w6QgcnlobcOkbGxlIOKAnSVzLiVz4oCdOlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3QiCittc2dzdHIgIlDDhMOES8OEWVRUw4RKw4ROIEtJUkpBVVRVTUlORU4gUMOEw4RUVEVFTEzDhCAlcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJvb3QgcGFzc3dvcmQgZ2FyYmxlZCIKK21zZ3N0ciAi4oCdJXPigJ0gZWkgbMO2eXR5bnl0IHNhbGFzYW5hdsOkbGltdWlzdGlzdGEhIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJDYW5ub3Qgb3BlbiBhY2Nlc3MgdG8gY29uc29sZSwgdGhlIHJvb3QgYWNjb3VudCBpcyBsb2NrZWQuXG4iCisiU2VlIHN1bG9naW4oOCkgbWFuIHBhZ2UgZm9yIG1vcmUgZGV0YWlscy5cbiIKKyJcbiIKKyJQcmVzcyBFbnRlciB0byBjb250aW51ZS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIGxvZ2luOiAiCittc2dzdHIgIlDDhMOES8OEWVRUw4RKw4ROIEtJUkpBVVRVTUlORU4gUMOEw4RUVEVFTEzDhCAlcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIGxvZ2luOiAiCittc2dzdHIgIiVzOiBzYWxhc2FuYXRpZWRvc3RvIG9uIHZhcmF0dHUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICIlczogc2FsYXNhbmF0aWVkb3N0byBvbiB2YXJhdHR1LlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIob3IgcHJlc3MgQ29udHJvbC1EIHRvIGNvbnRpbnVlKTogIgorbXNnc3RyICJQYWluYSBuw6RwcMOkaW50w6QgamF0a2Fha3Nlc2kiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3NDIKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSB0byBzeXN0ZW0gcm9vdCBmYWlsZWQiCittc2dzdHIgIlNpaXJyeSBqYSBrw6R5dMOkIFJPT1RpYSBqdXVyaWhha2VtaXN0b25hIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzkxCittc2dpZCAic2V0ZXhlY2NvbiBmYWlsZWQiCittc2dzdHIgInNldGV4ZWNjb24gZXDDpG9ubmlzdHVpIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFt0dHkgZGV2aWNlXVxuIgorbXNnc3RyICIlcyBbdmFsaXRzaW1ldF0gWzxsYWl0ZT4gLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODE0Cittc2dpZCAiU2luZ2xlLXVzZXIgbG9naW4uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxNworbXNnaWQgIiIKKyIgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgIHN0YXJ0IGEgbG9naW4gc2hlbGxcbiIKKyIgLXQsIC0tdGltZW91dCA8c2Vjb25kcz4gIG1heCB0aW1lIHRvIHdhaXQgZm9yIGEgcGFzc3dvcmQgKGRlZmF1bHQ6IG5vIGxpbWl0KVxuIgorIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAgZXhhbWluZSBwYXNzd29yZCBmaWxlcyBkaXJlY3RseSBpZiBnZXRwd25hbSgzKSBmYWlsc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4NzEgbWlzYy11dGlscy9maW5kbW50LmM6MTQ2MyBzeXMtdXRpbHMvd2RjdGwuYzo1MjMKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzUwIHRlcm0tdXRpbHMvd2FsbC5jOjEzNQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQiCittc2dzdHIgIlZpcmhlZWxsaW5lbiBhcmd1bWVudHRpIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODkzCisjLCBmdXp6eQorbXNnaWQgIm9ubHkgc3VwZXJ1c2VyIGNhbiBydW4gdGhpcyBwcm9ncmFtIgorbXNnc3RyICJ2YWluIHJvb3Qgdm9pIGFqYWEgdMOkbcOkbiBvaGplbG1hbi4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5MzYKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gY29uc29sZSIKK21zZ3N0ciAiZWkgdm9pIGF2YXRhIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTQzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIHBhc3N3b3JkIGRhdGFiYXNlIgorbXNnc3RyICJzYWxhc2FuYXRpZXRva2FudGFhIGVpIHZvaSBhdmF0YS4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2FuIG5vdCBleGVjdXRlIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIk9oamVsbWFhICVzIGVpIHZvaSBrw6R5bm5pc3TDpMOkOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyNworIywgZnV6enkKK21zZ2lkICIiCisiVGltZWQgb3V0XG4iCisiXG4iCittc2dzdHIgImFpa2FrYXRrYWlzdHUiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDU5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJDYW4gbm90IHdhaXQgb24gc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiT2hqZWxtYWEgJXMgZWkgdm9pIGvDpHlubmlzdMOkw6Q6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTc2IHRleHQtdXRpbHMvdGFpbGYuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxODUgdGV4dC11dGlscy90YWlsZi5jOjE3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGlub3RpZnkgZXZlbnRzIgorbXNnc3RyICJoYWtlbWlzdG9hICVzIGVpIHZvaSBsdWtlYSIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDYgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNTEKK21zZ2lkICJFeHRyYW5lb3VzIG5ld2xpbmUgaW4gZmlsZS4gRXhpdGluZy4iCittc2dzdHIgIllsaW3DpMOkcsOkaW5lbiByaXZpbnZhaWh0byB0aWVkb3N0b3NzYS4gUG9pc3R1dGFhbi4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlbmFtZV1cbiIKK21zZ3N0ciAiJXMgW3ZhbGl0c2ltZXRdIFs8dGllZG9zdG8+IC4uLl1cbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTIKK21zZ2lkICJEdW1wIFVUTVAgYW5kIFdUTVAgZmlsZXMgaW4gcmF3IGZvcm1hdC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxNQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9sbG93ICAgICAgICAgb3V0cHV0IGFwcGVuZGVkIGRhdGEgYXMgdGhlIGZpbGUgZ3Jvd3NcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE2Cittc2dpZCAiIC1yLCAtLXJldmVyc2UgICAgICAgIHdyaXRlIGJhY2sgZHVtcGVkIGRhdGEgaW50byB1dG1wIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxNworbXNnaWQgIiAtbywgLS1vdXRwdXQgPGZpbGU+ICB3cml0ZSB0byBmaWxlIGluc3RlYWQgb2Ygc3RhbmRhcmQgb3V0cHV0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODQKKyMsIGZ1enp5Cittc2dpZCAiZm9sbG93aW5nIHN0YW5kYXJkIGlucHV0IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJ2YXJvaXR1czogdmFraW9zecO2dHRlZW4gc2V1cmFhbWluZW4gaWt1aXNlc3RpIG9uIHRlaG90b250YSIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgdW5kdW1wIG9mICVzXG4iCittc2dzdHIgIiVzICVzJXNcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgZHVtcCBvZiAlc1xuIgorbXNnc3RyICIgLWR1bXAgICA8MS1LT05TT0xJRU5fTcOEw4RSw4Q+XG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiY2FuJ3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiVGlsYXDDpGlzdMOkIHbDpGxpbXVpc3RpdGllZG9zdG9hICVzIGVpIHZvaSBsdW9kYSIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNyZWF0ZSBhIGxpbmsgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJrb3ZhbiBsaW5raW4gJXMgbHVvbWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBnZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgInZpcmhlZWxsaW5lbiBrb250ZWtzdGk6ICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBzZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgInZpcmhlZWxsaW5lbiBrb250ZWtzdGk6ICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmNoYW5nZWQiCittc2dzdHIgIiVzOiAlcyBtdXV0dHVtYXRvblxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjU0CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgbG9jayIKK21zZ3N0ciAidXV0dGEgYXJraXN0b2EgZWkgdm9pIGx1a2l0YSIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI4MQorIywgZnV6enkKK21zZ2lkICJubyBjaGFuZ2VzIG1hZGUiCittc2dzdHIgInVuaW9uaXN0YSBlaSB2b2kgdGVoZMOkIGzDpHBpbsOka3l2w6TDpCIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5MAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY2htb2QgZmlsZSIKK21zZ3N0ciAic3nDtnRldGllZG9zdG9hIGVpIHZvaSBhdmF0YSIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjMwNAorbXNnaWQgIkVkaXQgdGhlIHBhc3N3b3JkIG9yIGdyb3VwIGZpbGUuXG4iCittc2dzdHIgIk11b2trYWEgc2FsYXNhbmEtIHRhaSByeWhtw6R0aWVkb3N0b2EuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTAKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBncm91cHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIlTDpHNzw6QgasOkcmplc3RlbG3DpHNzw6Qga8OkeXRldMOkw6RuIHZhcmpvcnlobWnDpC5cbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM1MQorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IHBhc3N3b3JkcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAiVMOkc3PDpCBqw6RyamVzdGVsbcOkc3PDpCBrw6R5dGV0w6TDpG4gdmFyam9zYWxhc2Fub2phLlxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhpcyBwcm9ncmFtIHVzZXMgZm9yIHkgYW5kIG4gcnBtYXRjaCgzKSwKKyMuICogd2hpY2ggbWVhbnMgdGhleSBjYW4gYmUgdHJhbnNsYXRlZC4KKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV291bGQgeW91IGxpa2UgdG8gZWRpdCAlcyBub3cgW3kvbl0/ICIKK21zZ3N0ciAiSGFsdWF0a28gbXVva2F0YSB0aWVkb3N0b2EgJXMgbnl0IFt5L25dPyAiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzcyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbW9udGggYXJndW1lbnQiCittc2dzdHIgInZpcmhlZWxsaW5lbiBwaXR1dXNhcmd1bWVudHRpIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjM4MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHdlZWsgYXJndW1lbnQiCittc2dzdHIgIlZpcmhlZWxsaW5lbiBhcmd1bWVudHRpIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjM4MgorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHVzZSAxLTU0IgorbXNnc3RyICJ2aXJoZWVsbGluZW4gdmlpa29uIGFydm86IGvDpHl0w6QgMS01MyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB0aW1lc3RhbXAgb3IgdW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQzMQorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gcMOkaXbDpG4gYXJ2byIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MzMgbWlzYy11dGlscy9jYWwuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWU6IHVzZSAxLSVkIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gcMOkaXbDpG4gYXJ2bzoga8OkeXTDpCAxLSVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQzNyBtaXNjLXV0aWxzL2NhbC5jOjQ0NQorbXNnaWQgImlsbGVnYWwgbW9udGggdmFsdWU6IHVzZSAxLTEyIgorbXNnc3RyICJ2aXJoZWVsbGluZW4ga3V1a2F1ZGVuIGFydm86IGvDpHl0w6QgMS0xMiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgInR1bnRlbWF0b24gbmltaSDigJ0lc+KAnSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NDggbWlzYy11dGlscy9jYWwuYzo0NTIKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWUiCittc2dzdHIgIlZpcmhlZWxsaW5lbiB2dW9kZW4gYXJ2byIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NTAKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWU6IHVzZSBwb3NpdGl2ZSBpbnRlZ2VyIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gdnVvZGVuIGFydm86IGvDpHl0w6QgcG9zaXRpaXZpc3RhIGtva29uYWlzbHVrdWEiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDgyIG1pc2MtdXRpbHMvY2FsLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogeWVhciAlZCBkb2Vzbid0IGhhdmUgd2VlayAlZCIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIHZpaWtvbiBhcnZvOiB2dW9ubmEgJWQgZWkgb2xlIHZpaWtrb2EgJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6Njc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIgorbXNnc3RyICIlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTA0ZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgJTA0ZCIKK21zZ3N0ciAiJXMgJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW1tbZGF5XSBtb250aF0geWVhcl1cbiIKK21zZ3N0ciAiICVzIFt2YWxpdHNpbWV0XSBbW1tww6RpdsOkXSBrdXVrYXVzaV0gdnVvc2ldXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx0aW1lc3RhbXB8bW9udGhuYW1lPlxuIgorbXNnc3RyICIlcyBbdmFsaXRzaW1ldF0gPHRpZWRvc3RvPlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5NworbXNnaWQgIkRpc3BsYXkgYSBjYWxlbmRhciwgb3Igc29tZSBwYXJ0IG9mIGl0LlxuIgorbXNnc3RyICJOw6R5dMOkIGthbGVudGVyaSB0YWkgb3NhIHNpaXTDpC5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTgKK21zZ2lkICJXaXRob3V0IGFueSBhcmd1bWVudHMsIGRpc3BsYXkgdGhlIGN1cnJlbnQgbW9udGguXG4iCittc2dzdHIgIklsbWFuIGFyZ3VtZW50dGVqYSBuw6R5dGV0w6TDpG4ga3VsdXZhIGt1dWthdXNpLlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDEKKyMsIGZ1enp5Cittc2dpZCAiIC0xLCAtLW9uZSAgICAgICAgICAgICBzaG93IG9ubHkgYSBzaW5nbGUgbW9udGggKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDIKKyMsIGZ1enp5Cittc2dpZCAiIC0zLCAtLXRocmVlICAgICAgICAgICBzaG93IHRocmVlIG1vbnRocyBzcGFubmluZyB0aGUgZGF0ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDAzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1tb250aHMgPG51bT4gICAgc2hvdyBudW0gbW9udGhzIHN0YXJ0aW5nIHdpdGggZGF0ZSdzIG1vbnRoXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDQKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNwYW4gICAgICAgICAgICBzcGFuIHRoZSBkYXRlIHdoZW4gZGlzcGxheWluZyBtdWx0aXBsZSBtb250aHNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNQorbXNnaWQgIiAtcywgLS1zdW5kYXkgICAgICAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtcywgLS1zdW5yYXkgICAgICAgICAgU3VubnVudGFpIHZpaWtvbiBhbGt1cMOkaXbDpG7DpFxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDYKK21zZ2lkICIgLW0sIC0tbW9uZGF5ICAgICAgICAgIE1vbmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIgLW0sIC0tbW9uZGF5ICAgICAgICAgIE1hYW5hbnRhaSB2aWlrb24gYWxrdXDDpGl2w6Ruw6RcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA3Cittc2dpZCAiIC1qLCAtLWp1bGlhbiAgICAgICAgICBvdXRwdXQgSnVsaWFuIGRhdGVzXG4iCittc2dzdHIgIiAtaiwgLS1qdWxpYW4gICAgICAgICAgdHVsb3N0YSBww6RpdsOkbcOkw6Ryw6R0IGp1bGlhYW5pc2luYVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDgKKyMsIGZ1enp5Cittc2dpZCAiIC15LCAtLXllYXIgICAgICAgICAgICBzaG93IHRoZSB3aG9sZSB5ZWFyXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDkKKyMsIGZ1enp5Cittc2dpZCAiIC1ZLCAtLXR3ZWx2ZSAgICAgICAgICBzaG93IHRoZSBuZXh0IHR3ZWx2ZSBtb250aHNcbiIKK21zZ3N0ciAiIC0zLCAtLXRocmVlICAgICAgICAgICBuw6R5dMOkIGVkZWxsaW5lbiwgbnlreWluZW4gamEgc2V1cmFhdmEga3V1a2F1c2lcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDEwCisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS13ZWVrWz08bnVtPl0gICAgc2hvdyBVUyBvciBJU08tODYwMSB3ZWVrIG51bWJlcnNcbiIKK21zZ3N0ciAiIC13LCAtLXdlZWsgICAgICAgICAgICBuw6R5dMOkIFVTLSB0YWkgSVNPLTg2MDEtdmlpa2tvbnVtZXJvdCAoa3MuIG15w7ZzIC1tKVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMTEKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAgLS1jb2xvcls9PG1pbGxvaW4+XSAgdsOkcml0w6QgdHVsb3N0ZSAoYXV0bywgYWx3YXlzIHRhaSBuZXZlcilcbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbHVlPlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MzIKKyMsIGZ1enp5Cittc2dpZCAiRmluZCBhIGZpbGVzeXN0ZW0gYnkgbGFiZWwgb3IgVVVJRC5cbiIKK21zZ3N0ciAiUGFrb3RldGFhbiB0aWVkb3N0b2rDpHJqZXN0ZWxtw6RuIHRhcmtpc3R1cyBsYWl0dGVlbGxhICVzLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICJlaSB2b2lkYSBhdmF0YSBkeW5hYW1pc3RhIHJpaXBwdXZ1dXR0YSDigJ0lc+KAnSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6OTkKKyMsIGZ1enp5Cittc2dpZCAic291cmNlIGRldmljZSIKK21zZ3N0ciAiTGFpdGV0dGEgZWkgb2xlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAibW91bnRwb2ludCIKK21zZ3N0ciAiJXMgZWkgb2xlIGxpaXRvc3Bpc3RlIHRhaSB2aXJoZWVsbGluZW4gdmFsaXRzaW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxCisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAiICB0ICAgICAgICAgIE11dXRhIHRpZWRvc3RvasOkcmplc3RlbG3DpG4gdHl5cHBpw6QiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMgorIywgZnV6enkKK21zZ2lkICJhbGwgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMworbXNnaWQgIlZGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNAorIywgZnV6enkKK21zZ2lkICJGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICJoecO2ZHlsbGlzZXQgdmFsaXRzaW1ldDoiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNQorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIGxhYmVsIgorbXNnc3RyICJuaW1pw7YgIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDYgbWlzYy11dGlscy9sc2Jsay5jOjE2NAorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIFVVSUQiCittc2dzdHIgIlVVSUQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNworIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gbGFiZWwiCittc2dzdHIgIm5pbWnDtiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOSBtaXNjLXV0aWxzL2xzYmxrLmM6MTYwCittc2dpZCAibWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTAKKyMsIGZ1enp5Cittc2dpZCAiYWN0aW9uIGRldGVjdGVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiWWxlaXNsw6RoZXR5c2tpZXJ0b2t5c2VseW9uZ2VsbWEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMQorbXNnaWQgIm9sZCBtb3VudCBvcHRpb25zIHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTIKK21zZ2lkICJvbGQgbW91bnRwb2ludCBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEzCisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSIKK21zZ3N0ciAiVGllZG9zdG9qw6RyamVzdGVsbcOkIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIGF2YWlsYWJsZSIKK21zZ3N0ciAiVmFwYWFuYSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE1CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSB1c2VkIgorbXNnc3RyICJUaWVkb3N0b2rDpHJqZXN0ZWxtw6QiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNgorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICJUaWVkb3N0b2rDpHJqZXN0ZWxtw6QiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNworIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHJvb3QiCittc2dzdHIgIlRpZWRvc3RvasOkcmplc3RlbG3DpCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE4CisjLCBmdXp6eQorbXNnaWQgInRhc2sgSUQiCittc2dzdHIgImlkPSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5CisjLCBmdXp6eQorbXNnaWQgIm1vdW50IElEIgorbXNnc3RyICJpZD0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMAorIywgZnV6enkKK21zZ2lkICJvcHRpb25hbCBtb3VudCBmaWVsZHMiCittc2dzdHIgIlZhbGlubmFpbmVuIHR1bG9zdGllZG9zdG9uIHDDpMOkdGUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMQorIywgZnV6enkKK21zZ2lkICJWRlMgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgIkxpcHV0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIKK21zZ2lkICJkdW1wKDgpIHBlcmlvZCBpbiBkYXlzIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMKK21zZ2lkICJwYXNzIG51bWJlciBvbiBwYXJhbGxlbCBmc2NrKDgpIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYWN0aW9uOiAlcyIKK21zZ3N0ciAidHVudGVtYXRvbiBrw6R5dHTDpGrDpC1JRDogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0MworIywgZnV6enkKK21zZ2lkICJtb3VudCIKK21zZ3N0ciAibW91bnQ6IGxpaXRvcyBlcMOkb25uaXN0dWkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0NgorIywgZnV6enkKK21zZ2lkICJ1bW91bnQiCittc2dzdHIgInVtb3VudDogJXM6IHZhYWRpdGFhbiBww6TDpGvDpHl0dMOkasOkbiBvaWtldWRldCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ5CisjLCBmdXp6eQorbXNnaWQgInJlbW91bnQiCittc2dzdHIgInVtb3VudDoga29odGVlbiAlcyB1dWRlbGxlZW5saWl0dMOkbWluZW4gdmFpbiBsdWt1IC10aWxhc3NhIGVww6Rvbm5pc3R1aVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTIKKyMsIGZ1enp5Cittc2dpZCAibW92ZSIKK21zZ3N0ciAidGllZG9zdG9hICVzIGVpIHZvaSBzaWlydMOkw6Qga29odGVlc2VlbiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODEyIG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNzUgc3lzLXV0aWxzL2VqZWN0LmM6NzE5CisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NjkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFibGUiCittc2dzdHIgIk9zaW90YXVsdW4gdXVkZWxsZWVubHVrdSBlcMOkb25uaXN0dWkuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MzkgdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgJXMiCittc2dzdHIgIiVzOiBzdXBlcmxvaGtvYSBlaSB2b2kgbHVrZWEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMTUgbWlzYy11dGlscy9maW5kbW50LmM6MTA4MQorIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjk0IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0ODIKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxODcgc3lzLXV0aWxzL21vdW50LmM6MTM0IHN5cy11dGlscy9tb3VudC5jOjE4MgorIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo1NiBzeXMtdXRpbHMvc3dhcG9mZi5jOjE1NSBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ0CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjc0IHN5cy11dGlscy9zd2Fwb24uYzo3MzMgc3lzLXV0aWxzL3Vtb3VudC5jOjI3NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIKK21zZ3N0ciAiUHVza3VyaWEgZWkgdm9pIHZhcmF0YS5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA4NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJkaWZmIgorbXNnc3RyICJQdXNrdXJpYSBlaSB2b2kgdmFyYXRhLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTE1CisjLCBmdXp6eQorbXNnaWQgInBvbGwoKSBmYWlsZWQiCittc2dzdHIgInN2Y19ydW46IC0ga2llcnRva3lzZWx5IGVww6Rvbm5pc3R1aSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IHwgPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2UgPGRldmljZT5dIFstLXRhcmdldCA8cGF0aD4gfCAtLW1vdW50cG9pbnQgPGRpcj5dXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5NgorIywgZnV6enkKK21zZ2lkICJGaW5kIGEgKG1vdW50ZWQpIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkFubmEgdGllZG9zdG9qw6RyamVzdGVsbcOkbiB0eXlwcGk6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5OQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAwCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tdGFiICAgICAgICAgICAgIHNlYXJjaCBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtY2xlYXIgPGFsbHxyZXN0PlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAxCittc2dpZCAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIHNlYXJjaCBpbiBrZXJuZWwgdGFibGUgb2YgbW91bnRlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXN5c3RlbXMgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcG9sbFs9PGxpc3Q+XSAgICBtb25pdG9yIGNoYW5nZXMgaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgICBsICAgIGxpc3RhYSB0dW5uZXR1dCB0aWVkb3N0b2rDpHJqZXN0ZWxtw6R0eXlwaXQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDUKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8bnVtPiAgICB1cHBlciBsaW1pdCBpbiBtaWxsaXNlY29uZHMgdGhhdCAtLXBvbGwgd2lsbCBibG9ja1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDgKKyMsIGZ1enp5Cittc2dpZCAiIC1BLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgYnVpbHQtaW4gZmlsdGVycywgcHJpbnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtY2xlYXIgPGFsbHxyZXN0PlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA5CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBBU0NJSSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEwCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMQorbXNnaWQgIiAtQywgLS1ub2Nhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSB3aGVuIGNvbXBhcmluZyBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTIKK21zZ2lkICIgLWMsIC0tY2Fub25pY2FsaXplICAgICBjYW5vbmljYWxpemUgcHJpbnRlZCBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTMKK21zZ2lkICIgLUQsIC0tZGYgICAgICAgICAgICAgICBpbWl0YXRlIHRoZSBvdXRwdXQgb2YgZGYoMSlcbiIKK21zZ3N0ciAiIC1ELCAtLWRmICAgICAgICAgICAgICAgasOkbGppdHRlbGUgZGYoMSk6biB0dWxvc3RldHRhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTQKK21zZ2lkICIgLWQsIC0tZGlyZWN0aW9uIDx3b3JkPiBkaXJlY3Rpb24gb2Ygc2VhcmNoLCAnZm9yd2FyZCcgb3IgJ2JhY2t3YXJkJ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTUKK21zZ2lkICIiCisiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgY29udmVydCB0YWdzIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkZXZpY2UgbmFtZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE3Cittc2dpZCAiIC1GLCAtLXRhYi1maWxlIDxwYXRoPiAgYWx0ZXJuYXRpdmUgZmlsZSBmb3IgLXMsIC1tIG9yIC1rIG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE4CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIHByaW50IHRoZSBmaXJzdCBmb3VuZCBmaWxlc3lzdGVtIG9ubHlcbiIKK21zZ3N0ciAiICAgbCAgICBsaXN0YWEgdHVubmV0dXQgdGllZG9zdG9qw6RyamVzdGVsbcOkdHl5cGl0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE5CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVydCB0aGUgc2Vuc2Ugb2YgbWF0Y2hpbmdcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjAgbWlzYy11dGlscy9sc2xvY2tzLmM6NTA3IHN5cy11dGlscy9sc25zLmM6NjE5CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjEgc3lzLXV0aWxzL2xzbnMuYzo2MjAKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMgorbXNnaWQgIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIHVzZSBhbHRlcm5hdGl2ZSBuYW1lc3BhY2UgKC9wcm9jLzx0aWQ+L21vdW50aW5mbyBmaWxlKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgY29sdW1uIGhlYWRpbmdzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI0Cittc2dpZCAiIC1PLCAtLW9wdGlvbnMgPGxpc3Q+ICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBtb3VudCBvcHRpb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNQorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICB0aGUgb3V0cHV0IGNvbHVtbnMgdG8gYmUgc2hvd25cbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPXZhbGl0c2ltZXQgICAgIEx5aHlldCB0dW5uaXN0ZXR0YXZhdCB2YWxpdHNpbWV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjYKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNworIywgZnV6enkKK21zZ2lkICIgLVIsIC0tc3VibW91bnRzICAgICAgICBwcmludCBhbGwgc3VibW91bnRzIGZvciB0aGUgbWF0Y2hpbmcgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjgKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5Cittc2dpZCAiIgorIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzEKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRhcmdldCA8cGF0aD4gICAgdGhlIHBhdGggdG8gdGhlIGZpbGVzeXN0ZW0gdG8gdXNlXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz12YWxpdHNpbWV0ICAgICBMeWh5ZXQgdHVubmlzdGV0dGF2YXQgdmFsaXRzaW1ldFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMyCisjLCBmdXp6eQorbXNnaWQgIiAtTSwgLS1tb3VudHBvaW50IDxkaXI+IHRoZSBtb3VudHBvaW50IGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisiQWphIEtPTUVOVE8gc2l0ZW4sIGV0dMOkIFVVU0lKVVVSSSBvbiBhc2V0ZXR0dW5hIGp1dXJpaGFrZW1pc3Rva3NpLlxuIgorIlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMzCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgRlMgdHlwZXNcbiIKK21zZ3N0ciAiICAgbCAgICBsaXN0YWEgdHVubmV0dXQgdGllZG9zdG9qw6RyamVzdGVsbcOkdHl5cGl0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM0CisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11bmlxICAgICAgICAgICAgIGlnbm9yZSBmaWxlc3lzdGVtcyB3aXRoIGR1cGxpY2F0ZSB0YXJnZXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzUgbWlzYy11dGlscy9sc2xvY2tzLmM6NTEzIHN5cy11dGlscy9sc25zLmM6NjI1CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGRvbid0IHRydW5jYXRlIHRleHQgaW4gY29sdW1uc1xuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNgorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM5CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS12ZXJpZnkgICAgICAgICAgIHZlcmlmeSBtb3VudCB0YWJsZSBjb250ZW50IChkZWZhdWx0IGlzIGZzdGFiKVxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0MAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBkaXJlY3Rpb24gJyVzJyIKK21zZ3N0ciAidHVudGVtYXRvbiBzdXVudGEg4oCdJXPigJ0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NDAKK21zZ2lkICJpbnZhbGlkIFRJRCBhcmd1bWVudCIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIFRJRC1hcmd1bWVudHRpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTA5Cittc2dpZCAiLS1wb2xsIGFjY2VwdHMgb25seSBvbmUgZmlsZSwgYnV0IG1vcmUgc3BlY2lmaWVkIGJ5IC0tdGFiLWZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUxMworbXNnaWQgIm9wdGlvbnMgLS10YXJnZXQgYW5kIC0tc291cmNlIGNhbid0IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBjb21tYW5kIGxpbmUgZWxlbWVudCB0aGF0IGlzIG5vdCBhbiBvcHRpb24iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU2MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBjYWNoZSIKK21zZ3N0ciAiVsOkbGltdWlzdGlkYXRhbiBraXJqb2l0dXMgZXDDpG9ubmlzdHVpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNvbHVtbiBpcyByZXF1ZXN0ZWQsIGJ1dCAtLXBvbGwgaXMgbm90IGVuYWJsZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExNgorIywgZnV6enkKK21zZ2lkICJ0YXJnZXQgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJBbm5ldHR1IHN5bGludGVyaW3DpMOkcsOkIGVpIG1haGR1IGxldnlsbGUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgb3JkZXI6ICVzIHNwZWNpZmllZCBiZWZvcmUgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzMworbXNnaWQgInVuZGVmaW5lZCB0YXJnZXQgKGZzX2ZpbGUpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWNhbm9uaWNhbCB0YXJnZXQgcGF0aCAocmVhbDogJXMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCB0YXJnZXQ6ICVtIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHRhcmdldDogJW0iCittc2dzdHIgIkxhaXRldHRhICVzIGVpIHZvaSBsdWtlYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTUxCisjLCBmdXp6eQorbXNnaWQgInRhcmdldCBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBlaSBvbGUgaGFrZW1pc3RvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTUzCittc2dpZCAidGFyZ2V0IGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY1CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgc291cmNlOiAlcz0lcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZTogJXM9JXMiCittc2dzdHIgImx1a2VtaW5lbiBlcMOkb25uaXN0dWk6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcz0lcyB0cmFuc2xhdGVkIHRvICVzIgorbXNnc3RyICIlcyAlcyVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxOTAKK21zZ2lkICJ1bmRlZmluZWQgc291cmNlIChmc19zcGVjKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzb3VyY2UgdGFnOiAlcyIKK21zZ3N0ciAiZWktdHVldHR1IGFyZ3VtZW50dGkgZnVua3Rpb2xsZSAlPF9fYnVpbHRpbl9mcmFtZV9hZGRyZXNzJT4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIHNvdXJjZSAocHNldWRvL25ldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgc291cmNlOiAlczogJW0iCittc2dzdHIgImxhaXRldHRhIOKAnSVz4oCdIGVpIHZvaSBhdmF0YTogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJpbmQgbW91bnQgc291cmNlICVzIGlzIGEgZGlyZWN0b3J5IG9yIHJlZ3VsYXIgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIgJXMgZWkgb2xlIGxvaGtvbGFpdGUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBleGlzdHMiCittc2dzdHIgIkxhaXRldHRhIGVpIG9sZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICIlcyB2YWxpdHNpbWV0ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRlMgb3B0aW9uczogJXMiCittc2dzdHIgIiVzIHZhbGl0c2ltZXQgIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2Vyc3BhY2Ugb3B0aW9uczogJXMiCittc2dzdHIgInJlc3Vyc3NpKHQpIHBvaXN0ZXR0dVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzd2FwYXJlYSBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIiVzOiB0dW50ZW1hdG9uIGFyZ3VtZW50dGk6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNjAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN3YXBhcmVhIHByaW9yaXR5IG9wdGlvbiIKK21zZ3N0ciAic2l2dXR1a3NlbiBwcmlvcml0ZWV0dGkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIEZTIHR5cGUgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MDYKK21zZ2lkICJcIm5vbmVcIiBGUyB0eXBlIGlzIHJlY29tbWVuZGVkIGZvciBiaW5kIG9yIG1vdmUgb3ByYXRpb25zIG9ubHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICJtb3VudDogeWRpbiBlaSB0dWUgdGllZG9zdG9qw6RyamVzdGVsbcOkdHl5cHBpw6QgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjAgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyMQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZGV0ZWN0IG9uLWRpc2sgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJ0dW50ZW1hdG9uIHRpZWRvc3RvasOkcmplc3RlbG3DpG4gdHl5cHBpIOKAnSVz4oCdIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRvZXMgbm90IG1hdGNoIHdpdGggb24tZGlzayAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbi1kaXNrICVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAibW91bnQ6IHlkaW4gZWkgdHVlIHRpZWRvc3RvasOkcmplc3RlbG3DpHR5eXBwacOkICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyB0eXBlIGlzICVzIgorbXNnc3RyICJ0eXlwcGk6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY29tbWVuZGVkIHJvb3QgRlMgcGFzc25vIGlzIDEgKGN1cnJlbnQgaXMgJWQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIHBhcnNlIGVycm9yIgorbXNnaWRfcGx1cmFsICIlZCBwYXJzZSBlcnJvcnMiCittc2dzdHJbMF0gInNpaXJ0eW1pc3ZpcmhlIgorbXNnc3RyWzFdICJzaWlydHltaXN2aXJoZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCAlZCBlcnJvciIKK21zZ2lkX3BsdXJhbCAiLCAlZCBlcnJvcnMiCittc2dzdHJbMF0gIiwgdmlyaGUiCittc2dzdHJbMV0gIiwgdmlyaGUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCAlZCB3YXJuaW5nIgorbXNnaWRfcGx1cmFsICIsICVkIHdhcm5pbmdzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxNworIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzLCBubyBlcnJvcnMgb3Igd2FybmluZ3MgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjI0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJLb2tlaWxlIOKAnSVzIC0taGVscOKAnSB0YWkg4oCdJXMgLS11c2FnZeKAnSBzYWFkYWtzZXNpIGxpc8Okw6QgdGlldG9hLlxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMwNAorbXNnaWQgImVtcHR5IGxvbmcgb3B0aW9uIGFmdGVyIC1sIG9yIC0tbG9uZyBhcmd1bWVudCIKK21zZ3N0ciAidHloasOkIHBpdGvDpCB2YWxpdHNpbiBhcmd1bWVudGluIC1sIHRhaSAtLWxvbmcgasOkbGtlZW4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzI1Cittc2dpZCAidW5rbm93biBzaGVsbCBhZnRlciAtcyBvciAtLXNoZWxsIGFyZ3VtZW50IgorbXNnc3RyICJ0dW50ZW1hdG9uIGt1b3JpIGFyZ3VtZW50aW4gLXMgdGFpIC0tc2hlbGwgasOkbGtlZW4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLV0gPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIC1vfC0tb3B0aW9ucyA8b3B0c3RyaW5nPiBbb3B0aW9uc10gWy0tXSA8cGFyYW1ldGVycz5cbiIKK21zZ3N0ciAiICAgICAgIGdldG9wdCBbdmFsaXRzaW1ldF0gLW98LS1vcHRpb25zIHZhbGl0c2lubWVya2tpam9ubyBbdmFsaXRzaW1ldF0gWy0tXVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzOAorIywgZnV6enkKK21zZ2lkICJQYXJzZSBjb21tYW5kIG9wdGlvbnMuXG4iCittc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MQorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAgYWxsb3cgbG9uZyBvcHRpb25zIHN0YXJ0aW5nIHdpdGggc2luZ2xlIC1cbiIKK21zZ3N0ciAiICAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgIFNhbGxpIHBpdGtpZW4gdmFsaXRzaW1pZW4gYWxrYW1pbmVuIHloZGVsbMOkIC06bGxhXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQyCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb25nb3B0aW9ucyA8bG9uZ29wdHM+ICB0aGUgbG9uZyBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIKK21zZ3N0ciAiICAtbCwgLS1sb25nb3B0aW9ucz12YWxpdHNpbWV0IFBpdGvDpHQgdHVubmlzdGV0dGF2YXQgdmFsaXRzaW1ldFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICAgdGhlIG5hbWUgdW5kZXIgd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZFxuIgorbXNnc3RyICIgIC1uLCAtLW5hbWU9b2hqZWxtYW5pbWkgICAgICAgTmltaSwgam9rYSBpbG1vaXRldGFhbiB2aXJoZWlkZW4geWh0ZXlkZXNzw6RcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDQKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAgIHRoZSBzaG9ydCBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPXZhbGl0c2ltZXQgICAgIEx5aHlldCB0dW5uaXN0ZXR0YXZhdCB2YWxpdHNpbWV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ1CisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBkaXNhYmxlIGVycm9yIHJlcG9ydGluZyBieSBnZXRvcHQoMylcbiIKK21zZ3N0ciAiICAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgIFZhaWVubmEgZ2V0b3B0KDMpOm4gdmlyaGVpbG1vaXR1a3NldFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NgorIywgZnV6enkKK21zZ2lkICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgbm8gbm9ybWFsIG91dHB1dFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDcKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgIHNldCBxdW90aW5nIGNvbnZlbnRpb25zIHRvIHRob3NlIG9mIDxzaGVsbD5cbiIKK21zZ3N0ciAiICAtcywgLS1zaGVsbD1rdW9yaSAgICAgICAgICAgIEFzZXRhIGt1b3JlbiBsYWluYXVza8OkeXTDpG5uw7Z0XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ4CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICB0ZXN0IGZvciBnZXRvcHQoMSkgdmVyc2lvblxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICBUZXN0YWEgZ2V0b3B0KDEpOm4gdmVyc2lvXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ5CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICBkbyBub3QgcXVvdGUgdGhlIG91dHB1dFxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozOTkgbWlzYy11dGlscy9nZXRvcHQuYzo0NTkKK21zZ2lkICJtaXNzaW5nIG9wdHN0cmluZyBhcmd1bWVudCIKK21zZ3N0ciAicHV1dHR1dmEgdmFsaXRzaW5tZXJra2lqb25vbiBhcmd1bWVudHRpIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1NAorbXNnaWQgImludGVybmFsIGVycm9yLCBjb250YWN0IHRoZSBhdXRob3IuIgorbXNnc3RyICJzaXPDpGluZW4gdmlyaGUsIG90YSB5aHRleXR0w6QgdGVraWrDpMOkbi4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjIzNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbCAlczsgdmFsaWQgc2lnbmFsczoiCittc2dzdHIgInR1bnRlbWF0b24gc2lnbmFhbGkgJXM7IGtlbHZvbGxpc2V0IHNpZ25hYWxpdDoiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGlkPnw8bmFtZT4uLi5cbiIKK21zZ3N0ciAiJXMgW3ZhbGl0c2ltZXRdIFs8dGllZG9zdG8+IC4uLl1cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzA1Cittc2dpZCAiRm9yY2libHkgdGVybWluYXRlIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDgKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IHRoZSBuYW1lLXRvLXBpZCBjb252ZXJzaW9uIHRvIHByb2Nlc3Nlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgc2FtZSB1aWQgYXMgdGhlIHByZXNlbnQgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMAorbXNnaWQgIiAtcywgLS1zaWduYWwgPHNpZ25hbD4gIHNlbmQgdGhpcyA8c2lnbmFsPiBpbnN0ZWFkIG9mIFNJR1RFUk1cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTIKK21zZ2lkICIgLXEsIC0tcXVldWUgPHZhbHVlPiAgICB1c2Ugc2lncXVldWUoMiksIG5vdCBraWxsKDIpLCBhbmQgcGFzcyA8dmFsdWU+IGFzIGRhdGFcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgcHJpbnQgcGlkcyB3aXRob3V0IHNpZ25hbGluZyB0aGVtXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTUKK21zZ2lkICIgLWwsIC0tbGlzdFs9PHNpZ25hbD5dICBsaXN0IHNpZ25hbCBuYW1lcywgb3IgY29udmVydCBhIHNpZ25hbCBudW1iZXIgdG8gYSBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE2Cittc2dpZCAiIC1MLCAtLXRhYmxlICAgICAgICAgICAgbGlzdCBzaWduYWwgbmFtZXMgYW5kIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgcGlkcyB0aGF0IHdpbGwgYmUgc2lnbmFsZWRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM2NyBtaXNjLXV0aWxzL2tpbGwuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWw6ICVzIgorbXNnc3RyICJ0dW50ZW1hdG9uIHNpZ25hYWxpOiAlcyIKKworIzogbWlzYy11dGlscy9raWxsLmM6Mzg3IG1pc2MtdXRpbHMva2lsbC5jOjM5MCBtaXNjLXV0aWxzL2tpbGwuYzozOTkKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQxMSBtaXNjLXV0aWxzL2tpbGwuYzo0MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiVzIGphICVzIG92YXQgdG9pc2Vuc2EgcG9pc3N1bGtldmF0IgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozOTYgbWlzYy11dGlscy9raWxsLmM6NDM4IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTc0CisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjAgdGVybS11dGlscy9hZ2V0dHkuYzo3ODkgdGVybS11dGlscy9hZ2V0dHkuYzo3OTgKK21zZ2lkICJub3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAibGlpYW4gdsOkaMOkbiBhcmd1bWVudHRlamEiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQwOQorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAidmFsaXRzaW4g4oCdJXMg4oCdIHZhYXRpaSBhcmd1bWVudGluIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MTQgc3lzLXV0aWxzL2VqZWN0LmM6MjA1IHN5cy11dGlscy9lamVjdC5jOjIzMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2ODkgc3lzLXV0aWxzL3R1bmVscC5jOjE2MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTY4CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTc1IHN5cy11dGlscy90dW5lbHAuYzoxODIgc3lzLXV0aWxzL3R1bmVscC5jOjE4OQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE5NSBzeXMtdXRpbHMvdHVuZWxwLmM6MTk5IHN5cy11dGlscy90dW5lbHAuYzoyMDYKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyMzEgdGVybS11dGlscy9zZXR0ZXJtLmM6MjEzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxNgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTEgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk4CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMDAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzEyIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxNAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzIzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMzMSB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzYyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNzMgdGVybS11dGlscy9zZXR0ZXJtLmM6NTM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0MAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTQ1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NzQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU3OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODQgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg5CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTQgdGVybS11dGlscy9zZXR0ZXJtLmM6NTk5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwNworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NjQwCisjLCBmdXp6eQorbXNnaWQgImFyZ3VtZW50IGVycm9yIgorbXNnc3RyICJ2aXJoZTogIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2lnbmFsIG5hbWUgb3IgbnVtYmVyOiAlcyIKK21zZ3N0ciAiVmlyaGVlbGxpbmVuIGFyZ3VtZW50dGkiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQ0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgJWQgdG8gcGlkICVkXG4iCittc2dzdHIgIlR1bnRlbWF0b24gc2lnbmFhbGkgJWRcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiB1dWRlbGxlZW5uaW1lw6RtaW5lbiAlcyDihpIgJXMgZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHByb2Nlc3MgXCIlc1wiIgorbXNnc3RyICIlczogdmlyaGVlbGxpbmVuIHByb3Nlc3NpLUlEIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSBuYW1lOiAlcyIKK21zZ3N0ciAidHVudGVtYXRvbiBuaW1pIOKAnSVz4oCdIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAidHVudGVtYXRvbiBuaW1pIOKAnSVz4oCdIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3BlbmxvZyAlczogcGF0aG5hbWUgdG9vIGxvbmciCittc2dzdHIgIiVzOiBsaWlhbiBwaXRrw6QgdGllZG9zdG8iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgJXMiCittc2dzdHIgInBpc3Rva2V0dGEgZWkgdm9pIGF2YXRhOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIG5hbWUgJXMgcG9ydCAlczogJXMiCittc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNvbm5lY3QgdG8gJXMgcG9ydCAlcyIKK21zZ3N0ciAieWhkaXN0w6Qgb3NvaXR0ZWVzZWVuICVzOiAiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heGltdW0gaW5wdXQgbGluZXMgKCVkKSBleGNlZWRlZCIKK21zZ3N0ciAic3nDtnRlcml2aWVuIGVuaW1tw6Rpc23DpMOkcsOkICglZCkgeWxpdGV0dGlpbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAic2VuZCBtZXNzYWdlIGZhaWxlZCIKK21zZ3N0ciAidmllc3Rpam9ubyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RydWN0dXJlZCBkYXRhIElEICclcycgaXMgbm90IHVuaXF1ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU3MgorIywgYy1mb3JtYXQKK21zZ2lkICItLXNkLWlkIHdhcyBub3Qgc3BlY2lmaWVkIGZvciAtLXNkLXBhcmFtICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzU0Cittc2dpZCAibG9jYWx0aW1lKCkgZmFpbGVkIgorbXNnc3RyICJsb2NhbHRpbWUoKSBlcMOkb25uaXN0dWkiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzY0CisjLCBjLWZvcm1hdAorbXNnaWQgImhvc3RuYW1lICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgImtvbmVuaW1pIOKAnSVz4oCdIG9uIGxpaWFuIHBpdGvDpCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRhZyAnJXMnIGlzIHRvbyBsb25nIgorbXNnc3RyICJrZW50dMOkICVzIG9uIGxpaWFuIHBpdGvDpCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIHVua25vd24gb3B0aW9uIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiJXM6IHR1bnRlbWF0b24gYXJndW1lbnR0aTogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzOiB1c2luZyBhdXRvbWF0aWMgZXJyb3JzIgorbXNnc3RyICJWaXJoZWVsbGluZW4gYXJndW1lbnR0aSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo5OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiJXMgW3ZhbGl0c2ltZXRdIFs8dGllZG9zdG8+IC4uLl1cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo5OTcKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXIgbWVzc2FnZXMgaW50byB0aGUgc3lzdGVtIGxvZy5cbiIKK21zZ3N0ciAiSsOkcmplc3RlbG3DpGtlbGxvbiBhc2V0dXMgZWkgb25uaXN0dS5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAwCisjLCBmdXp6eQorbXNnaWQgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgbG9nIHRoZSBsb2dnZXIgY29tbWFuZCdzIFBJRFxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICBUZXN0YWEgZ2V0b3B0KDEpOm4gdmVyc2lvXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMQorIywgZnV6enkKK21zZ2lkICIgICAgIC0taWRbPTxpZD5dICAgICAgICAgIGxvZyB0aGUgZ2l2ZW4gPGlkPiwgb3Igb3RoZXJ3aXNlIHRoZSBQSURcbiIKK21zZ3N0ciAiIC1jbGVhciA8YWxsfHJlc3Q+XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgICAgIGxvZyB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlXG4iCittc2dzdHIgIiIKKyJOw6R5dMOkIGNsYXNzLXRpZWRvc3RvbiBzaXPDpGx0w7YgbHVldHRhdmFzc2EgbXVvZG9zc2EuXG4iCisiXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMworIywgZnV6enkKK21zZ2lkICIgLWUsIC0tc2tpcC1lbXB0eSAgICAgICAgIGRvIG5vdCBsb2cgZW1wdHkgbGluZXMgd2hlbiBwcm9jZXNzaW5nIGZpbGVzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICDDpGzDpCBraXJqb2l0YSBsZXZ5bGxlIG9pa2Vhc3RpIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDQKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgd3JpdGUgdGhlIGxvZ1xuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA1Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBtYXJrIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA2Cittc2dpZCAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICB1c2UgcmZjNjU4NyBvY3RldCBjb3VudGluZ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNworbXNnaWQgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAgbG9vayBmb3IgYSBwcmVmaXggb24gZXZlcnkgbGluZSByZWFkIGZyb20gc3RkaW5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDgKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICBvdXRwdXQgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvciBhcyB3ZWxsXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDkKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICBtYXhpbXVtIHNpemUgZm9yIGEgc2luZ2xlIG1lc3NhZ2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMAorbXNnaWQgIiAtdCwgLS10YWcgPHRhZz4gICAgICAgICAgbWFyayBldmVyeSBsaW5lIHdpdGggdGhpcyB0YWdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTEKK21zZ2lkICIgLW4sIC0tc2VydmVyIDxuYW1lPiAgICAgIHdyaXRlIHRvIHRoaXMgcmVtb3RlIHN5c2xvZyBzZXJ2ZXJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTIKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBvcnQgPHBvcnQ+ICAgICAgICB1c2UgdGhpcyBwb3J0IGZvciBVRFAgb3IgVENQIGNvbm5lY3Rpb25cbiIKK21zZ3N0ciAiICAgIC1TIyBbdGFpIC0tc2VjdG9ycyAjXTogIGFzZXRhIGvDpHl0ZXR0w6R2w6Qgc2VrdG9yaWVuIG3DpMOkcsOkIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTMKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICB1c2UgVENQIG9ubHlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tdWRwICAgICAgICAgICAgICAgIHVzZSBVRFAgb25seVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE1Cittc2dpZCAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICB1c2UgdGhlIG9ic29sZXRlIEJTRCBzeXNsb2cgcHJvdG9jb2xcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTYKK21zZ2lkICIiCisiICAgICAtLXJmYzU0MjRbPTxzbmlwPl0gICB1c2UgdGhlIHN5c2xvZyBwcm90b2NvbCAodGhlIGRlZmF1bHQgZm9yIHJlbW90ZSk7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiBjYW4gYmUgbm90aW1lLCBvciBub3RxLCBhbmQvb3Igbm9ob3N0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE4Cittc2dpZCAiICAgICAtLXNkLWlkIDxpZD4gICAgICAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBJRFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxOQorbXNnaWQgIiAgICAgLS1zZC1wYXJhbSA8ZGF0YT4gICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgbmFtZT12YWx1ZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMAorbXNnaWQgIiAgICAgLS1tc2dpZCA8bXNnaWQ+ICAgICAgc2V0IHJmYzU0MjQgbWVzc2FnZSBpZCBmaWVsZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMQorbXNnaWQgIiAtdSwgLS1zb2NrZXQgPHNvY2tldD4gICAgd3JpdGUgdG8gdGhpcyBVbml4IHNvY2tldFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMgorbXNnaWQgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50IGNvbm5lY3Rpb24gZXJyb3JzIHdoZW4gdXNpbmcgVW5peCBzb2NrZXRzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDI1Cittc2dpZCAiICAgICAtLWpvdXJuYWxkWz08ZmlsZT5dICB3cml0ZSBqb3VybmFsZCBlbnRyeVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTExMgorIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlICVzIgorbXNnc3RyICJ0aWVkb3N0byAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTI3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBpZCIKK21zZ3N0ciAiUElEIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1lc3NhZ2Ugc2l6ZSIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODAKK21zZ2lkICItLW1zZ2lkIGNhbm5vdCBjb250YWluIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgSUQ6ICclcyciCittc2dzdHIgInZpcmhlZWxsaW5lbiBhcmd1bWVudHRpOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBwYXJhbWV0ZXI6ICclcyciCittc2dzdHIgInZpcmhlZWxsaW5lbiBhcmd1bWVudHRpICVzICVzOmxsZSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjE4Cittc2dpZCAiLS1maWxlIDxmaWxlPiBhbmQgPG1lc3NhZ2U+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIG1lc3NhZ2UgaXMgaWdub3JlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMjUKK21zZ2lkICJqb3VybmFsZCBlbnRyeSBjb3VsZCBub3QgYmUgd3JpdHRlbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHN0cmluZz4gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiJXMgW3ZhbGl0c2ltZXRdIFs8dGllZG9zdG8+IC4uLl1cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzU4Cittc2dpZCAiRGlzcGxheSBsaW5lcyBiZWdpbm5pbmcgd2l0aCBhIHNwZWNpZmllZCBzdHJpbmcuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYxCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgdXNlIHRoZSBhbHRlcm5hdGl2ZSBkaWN0aW9uYXJ5XG4iCittc2dzdHIgIiAgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICBTYWxsaSBwaXRraWVuIHZhbGl0c2ltaWVuIGFsa2FtaW5lbiB5aGRlbGzDpCAtOmxsYVxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjIKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBjb21wYXJlIG9ubHkgYmxhbmtzIGFuZCBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgVMOkbcOkIHBpZW5pIGvDpHl0dMO2b3Bhc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjMKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY0Cittc2dpZCAiIC10LCAtLXRlcm1pbmF0ZSA8Y2hhcj4gICBkZWZpbmUgdGhlIHN0cmluZy10ZXJtaW5hdGlvbiBjaGFyYWN0ZXJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImRldmljZSBuYW1lIgorbXNnc3RyICJ5dGltZW4gc2lzw6RpbmVuIGxhaXRlbmltaSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OAorbXNnaWQgImludGVybmFsIGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAieXRpbWVuIHNpc8OkaW5lbiBsYWl0ZW5pbWkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTkKKyMsIGZ1enp5Cittc2dpZCAiaW50ZXJuYWwgcGFyZW50IGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAieXRpbWVuIHNpc8OkaW5lbiBsYWl0ZW5pbWkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIgc3lzLXV0aWxzL3pyYW1jdGwuYzo4NAorIywgZnV6enkKK21zZ2lkICJ3aGVyZSB0aGUgZGV2aWNlIGlzIG1vdW50ZWQiCittc2dzdHIgIk1pc3PDpCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MworIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIExBQkVMIgorbXNnc3RyICJuaW1pw7YgIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIFVVSUQiCittc2dzdHIgIlVVSUQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjcKK21zZ2lkICJwYXJ0aXRpb24gTEFCRUwiCittc2dzdHIgIm9zaW9uIE5JTUnDliIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MQorIywgZnV6enkKK21zZ2lkICJyZWFkLWFoZWFkIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgIiIKKyJcbiIKKyJKYXRrZXRhYW5rbz8gKHkgdGFpIG4pICIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1CisjLCBmdXp6eQorbXNnaWQgInJlYWQtb25seSBkZXZpY2UiCittc2dzdHIgIktpcmpvaXR1c3N1b2phdHR1IHRpZWRvc3RvasOkcmplc3RlbG3DpCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MworbXNnaWQgInJlbW92YWJsZSBkZXZpY2UiCittc2dzdHIgInNpaXJyZXR0w6R2w6QgbGFpdGUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzQKK21zZ2lkICJyZW1vdmFibGUgb3IgaG90cGx1ZyBkZXZpY2UgKHVzYiwgcGNtY2lhLCAuLi4pIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzUKKyMsIGZ1enp5Cittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgIkxhaXRldHRhIGVpIG9sZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NgorbXNnaWQgImFkZHMgcmFuZG9tbmVzcyIKK21zZ3N0ciAibGlzw6TDpCBzYXR1bm5haXN1dXR0YSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NworIywgZnV6enkKK21zZ2lkICJkZXZpY2UgaWRlbnRpZmllciIKK21zZ3N0ciAiVHVubmlzdGUgcG9pc3RldHR1IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc4Cittc2dpZCAiZGlzayBzZXJpYWwgbnVtYmVyIgorbXNnc3RyICJsZXZ5biBzYXJqYW51bWVybyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OQorbXNnaWQgInNpemUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAibGFpdHRlZW4ga29rbyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MAorbXNnaWQgInN0YXRlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgImxhaXR0ZWVuIHRpbGEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODIKK21zZ2lkICJncm91cCBuYW1lIgorbXNnc3RyICJyeWhtw6RuaW1pIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgzCisjLCBmdXp6eQorbXNnaWQgImRldmljZSBub2RlIHBlcm1pc3Npb25zIgorbXNnc3RyICJzw6RpbHl0ZXR0w6Rlc3PDpCB0aWVkb3N0b24gJXMgb2lrZXVrc2lhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg0Cittc2dpZCAiYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAidGFzYXVzc2lpcnR5bcOkIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg1Cittc2dpZCAibWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAidsOkaGltbcOkaXMtSS9PLWtva28iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODYKK21zZ2lkICJvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICJwYXJhcyBJL08ta29rbyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NworbXNnaWQgInBoeXNpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJzZWt0b3Jpa29rbyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OAorbXNnaWQgImxvZ2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgInNla3Rvcmlrb2tvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIkkvTyBzY2hlZHVsZXIgbmFtZSIKK21zZ3N0ciAiSS9PLXZpcmhlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwCisjLCBmdXp6eQorbXNnaWQgInJlcXVlc3QgcXVldWUgc2l6ZSIKK21zZ3N0ciAidmllc3Rpam9ubyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MQorbXNnaWQgImRldmljZSB0eXBlIgorbXNnc3RyICJsYWl0ZXR5eXBwaSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MgorIywgZnV6enkKK21zZ2lkICJkaXNjYXJkIGFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgInB5eWRldHR5IHRhc2F1cyBlaSBvbGUga2FoZGVuIHBvdGVuc3NpIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkzCittc2dpZCAiZGlzY2FyZCBncmFudWxhcml0eSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk0CisjLCBmdXp6eQorbXNnaWQgImRpc2NhcmQgbWF4IGJ5dGVzIgorbXNnc3RyICJ0YXZ1dCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NQorIywgZnV6enkKK21zZ2lkICJkaXNjYXJkIHplcm9lcyBkYXRhIgorbXNnc3RyICJEYXRhYSBlaSBvbGUga8OkeXRldHTDpHZpc3PDpCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NgorbXNnaWQgIndyaXRlIHNhbWUgbWF4IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTcKKyMsIGZ1enp5Cittc2dpZCAidW5pcXVlIHN0b3JhZ2UgaWRlbnRpZmllciIKK21zZ3N0ciAiVHVubmlzdGUgcG9pc3RldHR1IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk4Cittc2dpZCAiSG9zdDpDaGFubmVsOlRhcmdldDpMdW4gZm9yIFNDU0kiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OQorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgdHJhbnNwb3J0IHR5cGUiCittc2dzdHIgInZpcmhlZWxsaW5lbiBsYWl0ZXR5eXBwaSAlcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMAorbXNnaWQgImRlLWR1cGxpY2F0ZWQgY2hhaW4gb2Ygc3Vic3lzdGVtcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAxCisjLCBmdXp6eQorbXNnaWQgImRldmljZSByZXZpc2lvbiIKK21zZ3N0ciAiTGFpdGV0dGEgZWkgb2xlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAyCisjLCBmdXp6eQorbXNnaWQgImRldmljZSB2ZW5kb3IiCittc2dzdHIgIkxhaXRldHRhIGVpIG9sZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjEyNzYKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkZXZpY2UgZGlyZWN0b3J5IGluIHN5c2ZzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNvbXBvc2Ugc3lzZnMgcGF0aCIKK21zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgbGluayIKK21zZ3N0ciAic3ltYm9saXN0YSBsaW5ra2nDpCAlcyBlaSB2b2kgbHVrZWEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIgorbXNnc3RyICJ0aWVkb3N0b24gJXMgb21pbmFpc3V1a3NpZW4gaGFrZW1pbmVuIGVpIG9ubmlzdHUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB3aG9sZS1kaXNrIGRldmljZSBudW1iZXIiCittc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1MSBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1MyBtaXNjLXV0aWxzL2xzYmxrLmM6MTU3OAorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsaXN0ICclcyciCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgZXhjbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTg1CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGluY2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxNiBzeXMtdXRpbHMvd2RjdGwuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIgorbXNnc3RyICIgJXMgW3ZhbGl0c2ltZXRdIFs8bGFpdGU+IC4uLl1cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MTkKKyMsIGZ1enp5Cittc2dpZCAiTGlzdCBpbmZvcm1hdGlvbiBhYm91dCBibG9jayBkZXZpY2VzLlxuIgorbXNnc3RyICIlczogZWkgb2xlIGxvaGtvbGFpdGVcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjIKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUw6Rtw6QgcGllbmkga8OkeXR0w7ZvcGFzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI0CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1ub2RlcHMgICAgICAgICBkb24ndCBwcmludCBzbGF2ZXMgb3IgaG9sZGVyc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgw6Rsw6Qga2lyam9pdGEgbGV2eWxsZSBvaWtlYXN0aSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjUKK21zZ2lkICIgLUQsIC0tZGlzY2FyZCAgICAgICAgcHJpbnQgZGlzY2FyZCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNgorbXNnaWQgIiAtZSwgLS1leGNsdWRlIDxsaXN0PiBleGNsdWRlIGRldmljZXMgYnkgbWFqb3IgbnVtYmVyIChkZWZhdWx0OiBSQU0gZGlza3MpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjcKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZzICAgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyOAorIywgZnV6enkKK21zZ2lkICIgLWksIC0tYXNjaWkgICAgICAgICAgdXNlIGFzY2lpIGNoYXJhY3RlcnMgb25seVxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICBUZXN0YWEgZ2V0b3B0KDEpOm4gdmVyc2lvXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI5Cittc2dpZCAiIC1JLCAtLWluY2x1ZGUgPGxpc3Q+IHNob3cgb25seSBkZXZpY2VzIHdpdGggc3BlY2lmaWVkIG1ham9yIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMAorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzEKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMyCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1wZXJtcyAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNAorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM1CisjLCBmdXp6eQorbXNnaWQgIiAtTywgLS1vdXRwdXQtYWxsICAgICBvdXRwdXQgYWxsIGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPXZhbGl0c2ltZXQgICAgIEx5aHlldCB0dW5uaXN0ZXR0YXZhdCB2YWxpdHNpbWV0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM2CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wYXRocyAgICAgICAgICBwcmludCBjb21wbGV0ZSBkZXZpY2UgcGF0aFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgVMOkbcOkIHBpZW5pIGvDpHl0dMO2b3Bhc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzOQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQwCisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zY3NpICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBTQ1NJIGRldmljZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQxCittc2dpZCAiIC10LCAtLXRvcG9sb2d5ICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHRvcG9sb2d5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDIKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXNvcnQgPGNvbHVtbj4gIHNvcnQgb3V0cHV0IGJ5IDxjb2x1bW4+XG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz12YWxpdHNpbWV0ICAgICBMeWh5ZXQgdHVubmlzdGV0dGF2YXQgdmFsaXRzaW1ldFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NyBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTkgc3lzLXV0aWxzL2xzbnMuYzo2MzIKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTk2IHN5cy11dGlscy96cmFtY3RsLmM6NTQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLW91dHB1dCk6XG4iCittc2dzdHIgIlNhcmFra2VpdGEgICAgICAgICAgOlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFjY2VzcyBzeXNmcyBkaXJlY3Rvcnk6ICVzIgorbXNnc3RyICJUaWVkb3N0b24gJXMgb2lrZXVrc2llbiBtdXV0b3MgYXJ2b29uICUjbyBlcMOkb25uaXN0dWkiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjczCittc2dpZCAiY29tbWFuZCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc0Cittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzUKK21zZ2lkICJraW5kIG9mIGxvY2s6IEZMX0ZMT0NLIG9yIEZMX1BPU0lYLiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NgorIywgZnV6enkKK21zZ2lkICJzaXplIG9mIHRoZSBsb2NrIgorbXNnc3RyICJwb2x1biB0aWxhbiBsdWtlbWluZW4gZXDDpG9ubmlzdHVpXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc3CisjLCBmdXp6eQorbXNnaWQgImxvY2sgYWNjZXNzIG1vZGUiCittc2dzdHIgImxhaXRldHRhICVzIGVpIHZvaSBhdmF0YSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzgKK21zZ2lkICJtYW5kYXRvcnkgc3RhdGUgb2YgdGhlIGxvY2s6IDAgKG5vbmUpLCAxIChzZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc5CisjLCBmdXp6eQorbXNnaWQgInJlbGF0aXZlIGJ5dGUgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICIlczogc2lpcnR5bWluZW4gc3VodGVlbGxpc2VlbiBzaWlydHltw6TDpG4gJXMgZWkgb25uaXN0dSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODAKKyMsIGZ1enp5Cittc2dpZCAiZW5kaW5nIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIHDDpMOkdHR5bWlzdnVvc2kiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgxCisjLCBmdXp6eQorbXNnaWQgInBhdGggb2YgdGhlIGxvY2tlZCBmaWxlIgorbXNnc3RyICJsdWtpdHR1IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MgorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBibG9ja2luZyB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElEIgorbXNnc3RyICJKw6RzZW5ueXN2aXJoZTogJXMiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4MSBzeXMtdXRpbHMvbnNlbnRlci5jOjIzMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGlkIgorbXNnc3RyICJQSUQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4NAorbXNnaWQgIih1bmtub3duKSIKK21zZ3N0ciAiKHR1bnRlbWF0b24pIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICJKw6RzZW5ueXN2aXJoZTogJXMiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjMwMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICJKw6RzZW5ueXN2aXJoZTogJXMiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNAorIywgZnV6enkKK21zZ2lkICJMaXN0IGxvY2FsIHN5c3RlbSBsb2Nrcy5cbiIKK21zZ3N0ciAiSsOkcmplc3RlbG3DpGtlbGxvbiBhc2V0dXMgZWkgb25uaXN0dS5cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA4Cittc2dpZCAiIC1pLCAtLW5vaW5hY2Nlc3NpYmxlICAgaWdub3JlIGxvY2tzIHdpdGhvdXQgcmVhZCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwOSBzeXMtdXRpbHMvbHNucy5jOjYyMQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTEwIHN5cy11dGlscy9sc25zLmM6NjIyCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPXZhbGl0c2ltZXQgICAgIEx5aHlldCB0dW5uaXN0ZXR0YXZhdCB2YWxpdHNpbWV0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMQorbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIGRpc3BsYXkgb25seSBsb2NrcyBoZWxkIGJ5IHRoaXMgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMiBzeXMtdXRpbHMvbHNucy5jOjYyNAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1NzAgc2NoZWR1dGlscy9jaHJ0LmM6NDc4IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc3CisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxNjMgc3lzLXV0aWxzL2xzbnMuYzo2OTkgc3lzLXV0aWxzL3BybGltaXQuYzo1ODYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBQSUQgYXJndW1lbnQiCittc2dzdHIgIiVzOiB2aXJoZWVsbGluZW4gUElEIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4NQorbXNnaWQgIkdlbmVyYXRlIG1hZ2ljIGNvb2tpZXMgZm9yIHhhdXRoLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg4CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgdXNlIGZpbGUgYXMgYSBjb29raWUgc2VlZFxuIgorbXNnc3RyICIiCisiTsOkeXTDpCBjbGFzcy10aWVkb3N0b24gc2lzw6RsdMO2IGx1ZXR0YXZhc3NhIG11b2Rvc3NhLlxuIgorIlxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OQorbXNnaWQgIiAtbSwgLS1tYXgtc2l6ZSA8bnVtPiAgbGltaXQgaG93IG11Y2ggaXMgcmVhZCBmcm9tIHNlZWQgZmlsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo5MAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiIKKyIgIC11LCAtLXVwZGF0ZSAgICAgICAgICAgICAgICAga29waW9pIHZhaW4gam9zIEzDhEhERXRpZWRvc3RvIG9uIHV1ZGVtcGkga3VpblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtvaGRlLCB0YWkgam9zIGtvaGRldGllZG9zdG8gcHV1dHR1dVxuIgorIiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICBzZWxpdMOkIG1pdMOkIHRhcGFodHV1XG4iCisiICAteCwgLS1vbmUtZmlsZS1zeXN0ZW0gICAgICAgIHB5c3kgdMOkc3PDpCB0aWVkb3N0b2rDpHJqZXN0ZWxtw6Rzc8OkXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJHb3QgJXp1IGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJXp1IGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAiVGllZG9zdG9zdGEgJTIkcyBzYWF0aWluICUxJHp1IHRhdnVhXG4iCittc2dzdHJbMV0gIlRpZWRvc3Rvc3RhICUyJHMgc2FhdGlpbiAlMSR6dSB0YXZ1YVxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNsb3NpbmcgJXMgZmFpbGVkIgorbXNnc3RyICJzdWxqZXRhYW4gc3nDtnRldGllZG9zdG8gJXMiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE2NCBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE0NiBzeXMtdXRpbHMvZnN0cmltLmM6MzA4CisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxlbmd0aCIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNzcKK21zZ2lkICItLW1heC1zaXplIGlnbm9yZWQgd2hlbiB1c2VkIHdpdGhvdXQgLS1maWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR290ICVkIGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJWQgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICJUaWVkb3N0b3N0YSAlMiRzIHNhYXRpaW4gJTEkZCB0YXZ1YVxuIgorbXNnc3RyWzFdICJUaWVkb3N0b3N0YSAlMiRzIHNhYXRpaW4gJTEkZCB0YXZ1YVxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHN5bWxpbms6ICVzIgorbXNnc3RyICJmdHNfcmVhZCBlcMOkb25uaXN0dWk6ICVzIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAtIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnlcbiIKK21zZ3N0ciAianV1cmVuIGktc29sbXUgZWkgb2xlIGhha2VtaXN0byIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGF0aG5hbWU+Li4uXG4iCittc2dzdHIgIiVzIFt2YWxpdHNpbWV0XSBbPHRpZWRvc3RvPiAuLi5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzYKK21zZ2lkICJGb2xsb3cgYSBwYXRobmFtZSB1bnRpbCBhIHRlcm1pbmFsIHBvaW50IGlzIGZvdW5kLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzkKK21zZ2lkICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheXMgdGhpcyBoZWxwIHRleHRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAteCwgLS1tb3VudHBvaW50cyAgIHNob3cgbW91bnQgcG9pbnQgZGlyZWN0b3JpZXMgd2l0aCBhICdEJ1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIHNob3cgdGhlIG1vZGUgYml0cyBvZiBlYWNoIGZpbGVcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBzaG93IG93bmVyIGFuZCBncm91cCBuYW1lIG9mIGVhY2ggZmlsZVxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIHVzZSBhIGxvbmcgbGlzdGluZyBmb3JtYXQgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICBkb24ndCBmb2xsb3cgc3ltbGlua3NcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICB2ZXJ0aWNhbCBhbGlnbiBvZiBtb2RlcyBhbmQgb3duZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQwOAorIywgZnV6enkKK21zZ2lkICJwYXRobmFtZSBhcmd1bWVudCBpcyBtaXNzaW5nIgorbXNnc3RyICIlcyB2YWF0aWkgYXJndW1lbnRpbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNCBzeXMtdXRpbHMvbHNucy5jOjc2NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgVUlEIGNhY2hlIgorbXNnc3RyICJHUFQtb3RzYWtlIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHSUQgY2FjaGUiCittc2dzdHIgIkdQVC1vdHNha2UiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGNlZWRlZCBsaW1pdCBvZiBzeW1saW5rcyIKK21zZ3N0ciAiU3Vvcml0aW5haWthcmFqYSB5bGl0dHlueXQiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHN5bWJvbGljIGxpbmsiCittc2dzdHIgIiVzOiBlaSBvbGUgc3ltYm9saW5lbiBsaW5ra2kiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWRsaW5rIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHJlYWRsaW5rIGVww6Rvbm5pc3R1aSIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5saW5rIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHVubGluayBlcMOkb25uaXN0dWkiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzeW1saW5raW5nIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXMgZXDDpG9ubmlzdHVpIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlbmFtZSB0byAlcyBmYWlsZWQiCittc2dzdHIgIm5pbWXDpG1pbmVuICVzIOKGkiAlcyBlaSBvbm5pc3R1OiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjExOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZXhwcmVzc2lvbj4gPHJlcGxhY2VtZW50PiA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiJXMgW3ZhbGl0c2ltZXRdIFs8dGllZG9zdG8+IC4uLl1cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAiUmVuYW1lIGZpbGVzLlxuIgorbXNnc3RyICJzaWlydHltaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTI1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiIKKyIgIC11LCAtLXVwZGF0ZSAgICAgICAgICAgICAgICAga29waW9pIHZhaW4gam9zIEzDhEhERXRpZWRvc3RvIG9uIHV1ZGVtcGkga3VpblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtvaGRlLCB0YWkgam9zIGtvaGRldGllZG9zdG8gcHV1dHR1dVxuIgorIiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICBzZWxpdMOkIG1pdMOkIHRhcGFodHV1XG4iCisiICAteCwgLS1vbmUtZmlsZS1zeXN0ZW0gICAgICAgIHB5c3kgdMOkc3PDpCB0aWVkb3N0b2rDpHJqZXN0ZWxtw6Rzc8OkXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTI2Cittc2dpZCAiIC1zLCAtLXN5bWxpbmsgICAgYWN0IG9uIHRoZSB0YXJnZXQgb2Ygc3ltbGlua3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzIKK21zZ2lkICJBIGRhZW1vbiBmb3IgZ2VuZXJhdGluZyBVVUlEcy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPXZhbGl0c2ltZXQgICAgIEx5aHlldCB0dW5uaXN0ZXR0YXZhdCB2YWxpdHNpbWV0XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPXZhbGl0c2ltZXQgICAgIEx5aHlldCB0dW5uaXN0ZXR0YXZhdCB2YWxpdHNpbWV0XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NgorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKK21zZ3N0ciAiICAtcywgLS1zaGVsbD1rdW9yaSAgICAgICAgICAgIEFzZXRhIGt1b3JlbiBsYWluYXVza8OkeXTDpG5uw7Z0XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NworIywgZnV6enkKK21zZ2lkICIgLWssIC0ta2lsbCAgICAgICAgICAgICAga2lsbCBydW5uaW5nIGRhZW1vblxuIgorbXNnc3RyICIgLWNsZWFyIDxhbGx8cmVzdD5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc4CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgIFRlc3RhYSBnZXRvcHQoMSk6biB2ZXJzaW9cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgwCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS11dWlkcyA8bnVtPiAgICAgICByZXF1ZXN0IG51bWJlciBvZiB1dWlkc1xuIgorbXNnc3RyICIgICAgLWgjIFt0YWkgLS1oZWFkcyAjXTogICAgYXNldGEga8OkeXRldHTDpHbDpCBww6RpZGVuIG3DpMOkcsOkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFR1bG9zdGEgb3Npb3RhdWx1IHJ1dWR1bGxlIHRhaSB0aWVkb3N0b29uIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODIKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIGRvIG5vdCBkYWVtb25pemUgdXNpbmcgZG91YmxlLWZvcmtcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHQg4oCTIFRhdWx1IHJhYSdhc3NhIG11b2Rvc3NhIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODMKK21zZ2lkICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjg0CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBydW4gaW4gZGVidWdnaW5nIG1vZGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4NQorIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgdHVybiBvbiBxdWlldCBtb2RlXG4iCittc2dzdHIgIiAgICAtcSAgW3RhaSAtLXF1aWV0XTogICAgIHZhaWVubmEgdmFyb2l0dXN2aWVzdGl0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTE4Cittc2dpZCAiYmFkIGFyZ3VtZW50cyIKK21zZ3N0ciAidmlyaGVlbGxpc2V0IGFyZ3VtZW50aXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMjUKK21zZ2lkICJzb2NrZXQiCittc2dzdHIgInBpc3Rva2UiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMzYKK21zZ2lkICJjb25uZWN0IgorbXNnc3RyICJ5aGRpc3TDpG1pbmVuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTU2Cittc2dpZCAid3JpdGUiCittc2dzdHIgImtpcmpvaXR1cyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE2NAorIywgZnV6enkKK21zZ2lkICJyZWFkIGNvdW50IgorbXNnc3RyICJMdWt1OiAiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNzAKKyMsIGZ1enp5Cittc2dpZCAiYmFkIHJlc3BvbnNlIGxlbmd0aCIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIHRpZWRvc3RvbmltZW4gcGl0dXVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbG9jayAlcyIKK21zZ3N0ciAibWFhLWFzZXR1c3RvYXJraXN0b2Eg4oCdJXPigJ0gZWkgdm9pIGx1a2l0YSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI0NgorIywgZnV6enkKK21zZ2lkICJjb3VsZG4ndCBjcmVhdGUgdW5peCBzdHJlYW0gc29ja2V0IgorbXNnc3RyICJMYWl0ZXR0YSAlcyBlaSB2b2kgYXZhdGE6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyNzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGJpbmQgdW5peCBzb2NrZXQgJXMiCittc2dzdHIgIkxhaXRldHRhICVzIGVpIHZvaSBhdmF0YTogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI5OAorIywgZnV6enkKK21zZ2lkICJyZWNlaXZpbmcgc2lnbmFsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHV1ZGVsbGVlbm5pbWXDpG1pbmVuICVzIOKGkiAlcyBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozMTEKK21zZ2lkICJ0aW1lZCBvdXQiCittc2dzdHIgImFpa2FrYXRrYWlzdHUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNDUgc3lzLXV0aWxzL2Zsb2NrLmM6MjcxCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgdXAgdGltZXIiCittc2dzdHIgInJ5aG3DpC1JRDp0w6QgJWx1IHZhc3RhYXZhYSBuaW1lw6QgZWkgbMO2eWR5IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgInV1aWRkIGRhZW1vbiBpcyBhbHJlYWR5IHJ1bm5pbmcgYXQgcGlkICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGxpc3RlbiBvbiB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAiTGFpdGV0dGEgJXMgZWkgdm9pIGF2YXRhOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgdHJ1bmNhdGUgZmlsZTogJXMiCittc2dzdHIgIkxva2l0aWVkb3N0b2EgZWkgdm9pdHUgbHVvZGEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODYKKyMsIGZ1enp5Cittc2dpZCAic2RfbGlzdGVuX2ZkcygpIGZhaWxlZCIKK21zZ3N0ciAic2V0dGltZW9mZGF5KCkgZXDDpG9ubmlzdHVpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzg5Cittc2dpZCAibm8gZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgc3lzdGVtY3RsIHN0YXR1cyB1dWlkZC5zb2NrZXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM5MgorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayB1dWlkZC5zb2NrZXQiCittc2dzdHIgInNpaXJ0eW1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQyMCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ1NQorIywgZnV6enkKK21zZ2lkICJwb2xsIGZhaWxlZCIKK21zZ3N0ciAic3ZjX3J1bjogLSBraWVydG9reXNlbHkgZXDDpG9ubmlzdHVpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aW1lb3V0IFslZCBzZWNdXG4iCittc2dzdHIgIktpcmphdXR1bWluZW4gYWlrYWthdGthaXN0aWluICVkIHNla3VubmluIGrDpGxrZWVuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDMgdGV4dC11dGlscy9jb2x1bW4uYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBmYWlsZWQiCittc2dzdHIgImx1a2VtaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHJlYWRpbmcgZnJvbSBjbGllbnQsIGxlbiA9ICVkIgorbXNnc3RyICJWaXJoZSBsdWV0dGFlc3NhICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkLCBpbmNvbWluZyBudW0gPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkXG4iCittc2dzdHIgIm9wZXJhYXRpbyAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEOiAlc1xuIgorbXNnc3RyICJMYWl0dGVpc3Rva2VsbG8gb24gJXNhamFzc2FcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgcmFuZG9tIFVVSUQ6ICVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCAlZCBVVUlEOlxuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgJWQgVVVJRHM6XG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIG9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICJWaXJoZWVsbGluZW4gb2JqZWt0aSBvcGVyYWF0aW9sbGUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCByZXBseSBsZW5ndGggZnJvbSBzZXJ2ZXIgJWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYwMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS11dWlkcyIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjE3Cittc2dpZCAidXVpZGQgaGFzIGJlZW4gYnVpbHQgd2l0aG91dCBzdXBwb3J0IGZvciBzb2NrZXQgYWN0aXZhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjM2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRpbWVvdXQiCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1MworbXNnaWQgIkJvdGggLS1zb2NrZXQtYWN0aXZhdGlvbiBhbmQgLS1zb2NrZXQgc3BlY2lmaWVkLiBJZ25vcmluZyAtLXNvY2tldC4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2MCBtaXNjLXV0aWxzL3V1aWRkLmM6Njg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjYWxsaW5nIHV1aWRkIGRhZW1vbiAoJXMpIgorbXNnc3RyICJ2aXJoZSBtdXV0ZXR0YWVzc2EgdGllZG9zdG9uICVzIHRpbGFhOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYxIG1pc2MtdXRpbHMvdXVpZGQuYzo2ODkKK21zZ2lkICJ1bmV4cGVjdGVkIGVycm9yIgorbXNnc3RyICJvZG90dGFtYXRvbiB2aXJoZSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEXG4iCittc2dpZF9wbHVyYWwgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURzXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMaXN0IG9mIFVVSURzOlxuIgorbXNnc3RyICJIYWt1bGlzdGFuIGxvcHB1LlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBraWxsIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkIgorbXNnc3RyICJMYWl0ZXR0YSAlcyBlaSB2b2kgYXZhdGE6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIktpbGxlZCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZC5cbiIKK21zZ3N0ciAiTGFpdGV0dGEgJXMgZWkgdm9pIGF2YXRhOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyOAorIywgZnV6enkKK21zZ2lkICJDcmVhdGUgYSBuZXcgVVVJRCB2YWx1ZS5cbiIKK21zZ3N0ciAiTHVvIHV1c2kgZW5zacO2b3NpbyIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzEKK21zZ2lkICIiCisiIC1yLCAtLXJhbmRvbSAgICAgZ2VuZXJhdGUgcmFuZG9tLWJhc2VkIHV1aWRcbiIKKyIgLXQsIC0tdGltZSAgICAgICBnZW5lcmF0ZSB0aW1lLWJhc2VkIHV1aWRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstQk1TIDxkaXI+Li4uIC1mXSA8bmFtZT5cbiIKK21zZ3N0ciAiJXMgW3ZhbGl0c2ltZXRdIFs8dGllZG9zdG8+IC4uLl1cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTkyCittc2dpZCAiTG9jYXRlIHRoZSBiaW5hcnksIHNvdXJjZSwgYW5kIG1hbnVhbC1wYWdlIGZpbGVzIGZvciBhIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk1CisjLCBmdXp6eQorbXNnaWQgIiAtYiAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBiaW5hcmllc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgw6Rsw6Qga2lyam9pdGEgbGV2eWxsZSBvaWtlYXN0aSIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk2Cittc2dpZCAiIC1CIDxkaXJzPiAgZGVmaW5lIGJpbmFyaWVzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk3CisjLCBmdXp6eQorbXNnaWQgIiAtbSAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBtYW51YWxzIGFuZCBpbmZvc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgw6Rsw6Qga2lyam9pdGEgbGV2eWxsZSBvaWtlYXN0aSIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk4Cittc2dpZCAiIC1NIDxkaXJzPiAgZGVmaW5lIG1hbiBhbmQgaW5mbyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5OQorIywgZnV6enkKK21zZ2lkICIgLXMgICAgICAgICBzZWFyY2ggb25seSBmb3Igc291cmNlc1xuIgorbXNnc3RyICJIYWt1cG9sa3UgICAgICAgICAgIDogJXNcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAwCittc2dpZCAiIC1TIDxkaXJzPiAgZGVmaW5lIHNvdXJjZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDEKKyMsIGZ1enp5Cittc2dpZCAiIC1mICAgICAgICAgdGVybWluYXRlIDxkaXJzPiBhcmd1bWVudCBsaXN0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDIKK21zZ2lkICIgLXUgICAgICAgICBzZWFyY2ggZm9yIHVudXN1YWwgZW50cmllc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMworbXNnaWQgIiAtbCAgICAgICAgIG91dHB1dCBlZmZlY3RpdmUgbG9va3VwIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NjE5CisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbiAtZiBpcyBtaXNzaW5nIgorbXNnc3RyICIlcyB2YWF0aWkgYXJndW1lbnRpbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxOTYKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIm9zaW90YXVsdSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoyNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogcHJvYmluZyBpbml0aWFsaXphdGlvbiBmYWlsZWQiCittc2dzdHIgInZpcmhlOiBVVUlEOm4gasOkc2VubnlzIGVww6Rvbm5pc3R1aSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZXJhc2UgJXMgbWFnaWMgc3RyaW5nIGF0IG9mZnNldCAweCUwOGp4IgorbXNnc3RyICIlczogYXZhYW1pbmVuIGVww6Rvbm5pc3R1aTogJXNcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlemQgYnl0ZSB3YXMgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIKK21zZ2lkX3BsdXJhbCAiJXM6ICV6ZCBieXRlcyB3ZXJlIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dzdHJbMF0gIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorbXNnc3RyWzFdICIlczogYXZhYW1pbmVuIGVww6Rvbm5pc3R1aTogJXNcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCIKK21zZ3N0ciAia292YW4gbGlua2luICVzIGx1b21pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYWxsaW5nIGlvY3RsIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlOiAlbVxuIgorbXNnc3RyICIlczoga3V0c3V0YWFuIG9zaW90YXVsdW4gdXVkZWxsZWVuIGx1a2V2YSBpb2N0bDogJW1cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozODUKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpZ25vcmluZyBuZXN0ZWQgXCIlc1wiIHBhcnRpdGlvbiB0YWJsZSBvbiBub24td2hvbGUgZGlzayBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgMHglanggbm90IGZvdW5kIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBlaSBsw7Z5ZHkiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDM1CisjLCBmdXp6eQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBvcHRpb24gdG8gZm9yY2UgZXJhc2UuIgorbXNnc3RyICJLw6R5dMOkIC0tZm9yY2UgLXZhbGl0c2ludGEgb2hpdHRhYWtzZXNpIGthaWtraSB0YXJraXN0dWtzZXQuXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU5Cittc2dpZCAiV2lwZSBzaWduYXR1cmVzIGZyb20gYSBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0NjIKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpXG4iCisiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgIGZvcmNlIGVyYXN1cmVcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCisiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGxcbiIKKyIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgdG8gZXJhc2UsIGluIGJ5dGVzXG4iCisiIC1wLCAtLXBhcnNhYmxlICAgICAgcHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdFxuIgorIiAtcSwgLS1xdWlldCAgICAgICAgIHN1cHByZXNzIG91dHB1dCBtZXNzYWdlc1xuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSwgUkFJRHMgb3IgcGFydGl0aW9uIHRhYmxlc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MzMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBvZmZzZXQgYXJndW1lbnQiCittc2dzdHIgIlZpcmhlZWxsaW5lbiBhcmd1bWVudHRpIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU1OAorbXNnaWQgIlRoZSAtLWJhY2t1cCBvcHRpb24gaXMgbWVhbmluZ2xlc3MgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZWFsLXRpbWUgc2NoZWR1bGluZyBhdHRyaWJ1dGVzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzcKK21zZ2lkICIiCisiU2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gPHByaW9yaXR5PiA8Y29tbWFuZD4gWzxhcmc+Li4uXVxuIgorIiBjaHJ0IFtvcHRpb25zXSAtLXBpZCA8cHJpb3JpdHk+IDxwaWQ+XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQxCittc2dpZCAiIgorIkdldCBwb2xpY3k6XG4iCisiIGNocnQgW29wdGlvbnNdIC1wIDxwaWQ+XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgIlBvbGljeSBvcHRpb25zOlxuIgorbXNnc3RyICJyZXN1cnNzaSh0KSBwb2lzdGV0dHVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ2Cittc2dpZCAiIC1iLCAtLWJhdGNoICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfQkFUQ0hcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDcKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRlYWRsaW5lICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfREVBRExJTkVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICBwYXJhbWV0cml0XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlmbyAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9GSUZPXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgcGFyYW1ldHJpdFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDkKK21zZ2lkICIgLWksIC0taWRsZSAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9JRExFXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUwCittc2dpZCAiIC1vLCAtLW90aGVyICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTEKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJyICAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtMSwgLS1vbmUgICAgICAgICAgICAgbsOkeXTDpCB2YWluIG55a3lpbmVuIGt1dWthdXNpIChvbGV0dXMpXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NAorIywgZnV6enkKK21zZ2lkICJTY2hlZHVsaW5nIG9wdGlvbnM6XG4iCittc2dzdHIgIlN5w7Z0ZS90dWxvc3RlbXVvZG9uIG3DpMOkcml0dGVseToiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NQorbXNnaWQgIiAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgIHNldCBTQ0hFRF9SRVNFVF9PTl9GT1JLIGZvciBGSUZPIG9yIFJSXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU2Cittc2dpZCAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAgcnVudGltZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU3Cittc2dpZCAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTgKK21zZ2lkICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYxCisjLCBmdXp6eQorbXNnaWQgIk90aGVyIG9wdGlvbnM6XG4iCittc2dzdHIgIlN5w7Z0ZS90dWxvc3RlbXVvZG9uIG3DpMOkcml0dGVseToiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MgorbXNnaWQgIiAtYSwgLS1hbGwtdGFza3MgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MworIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbWF4ICAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBFaSBub3JtYWFsaWEgdHVsb3N0ZXR0YVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyMzIgc2NoZWR1dGlscy9jaHJ0LmM6MjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiT3Npb24ga2lyam9pdHVzIGVww6Rvbm5pc3R1aSBsYWl0dGVlbGxlICVzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYXR0cmlidXRlcyIKK21zZ3N0ciAidGllZG9zdG9uICVzIG9taW5haXN1dWtzaWVuIGhha2VtaW5lbiBlaSBvbm5pc3R1IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgInR1bnRlbWF0b24iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgInR1bnRlbWF0b24iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMwMCBzY2hlZHV0aWxzL2NocnQuYzozOTYKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9idGFpbiB0aGUgbGlzdCBvZiB0YXNrcyIKK21zZ3N0ciAiYWx1ZWxpc3RhYSBlaSB2b2kgbHVvZGEiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBtaW4vbWF4IHByaW9yaXR5XHQ6ICVkLyVkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3Qgc3VwcG9ydGVkP1xuIgorbXNnc3RyICIlcyBlaSB0dWUgbHVldHRlbGVtaXN0YVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0MDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJPc2lvbiBraXJqb2l0dXMgZXDDpG9ubmlzdHVpIGxhaXR0ZWVsbGUgJXMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgIk9zaW9uIGtpcmpvaXR1cyBlcMOkb25uaXN0dWkgbGFpdHRlZWxsZSAlcyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDg3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcnVudGltZSBhcmd1bWVudCIKK21zZ3N0ciAiVmlyaGVlbGxpbmVuIGFyZ3VtZW50dGkiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ5MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBlcmlvZCBhcmd1bWVudCIKK21zZ3N0ciAiVmlyaGVlbGxpbmVuIGFyZ3VtZW50dGkiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ5MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGRlYWRsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJ2aXJoZWVsbGluZW4gcMOkw6Rhcmd1bWVudHRpIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MTcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwcmlvcml0eSBhcmd1bWVudCIKK21zZ3N0ciAiVmlyaGVlbGxpbmVuIGFyZ3VtZW50dGkiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyMQorbXNnaWQgIi0tcmVzZXQtb24tZm9yayBvcHRpb24gaXMgc3VwcG9ydGVkIGZvciBTQ0hFRF9GSUZPIGFuZCBTQ0hFRF9SUiBwb2xpY2llcyBvbmx5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyNgorbXNnaWQgIi0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgZm9yIFNDSEVEX0RFQURMSU5FIG9ubHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQxCisjLCBmdXp6eQorbXNnaWQgIlNDSEVEX0RFQURMSU5FIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIlcyBlaSB0dWUgbHVldHRlbGVtaXN0YVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJpb3JpdHkgdmFsdWUgZm9yIHRoZSBwb2xpY3k6ICVkOiBzZWUgLS1tYXggZm9yIHZhbGlkIHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6NzYKK21zZ2lkICJpb3ByaW9fZ2V0IGZhaWxlZCIKK21zZ3N0ciAiaW9wcmlvX2dldCBlcMOkb25uaXN0dWkiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHByaW8gJWx1XG4iCittc2dzdHIgIiVzOiBwcmlvICVsdVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjk4CisjLCBmdXp6eQorbXNnaWQgImlvcHJpb19zZXQgZmFpbGVkIgorbXNnc3RyICJpb3ByaW9fZ2V0IGVww6Rvbm5pc3R1aSIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSAtcCA8cGlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtUCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTAKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgSS9PLXNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExMworbXNnaWQgIiIKKyIgLWMsIC0tY2xhc3MgPGNsYXNzPiAgICBuYW1lIG9yIG51bWJlciBvZiBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTUKK21zZ2lkICIiCisiIC1uLCAtLWNsYXNzZGF0YSA8bnVtPiAgcHJpb3JpdHkgKDAuLjcpIGluIHRoZSBzcGVjaWZpZWQgc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHkgZm9yIHRoZSByZWFsdGltZSBhbmQgYmVzdC1lZmZvcnQgY2xhc3Nlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE3Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPi4uLiAgICAgYWN0IG9uIHRoZXNlIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOAorbXNnaWQgIiAtUCwgLS1wZ2lkIDxwZ3JwPi4uLiAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIGluIHRoZXNlIGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE5CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIGlnbm9yZSBmYWlsdXJlc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMjAKK21zZ2lkICIgLXUsIC0tdWlkIDx1aWQ+Li4uICAgICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBvd25lZCBieSB0aGVzZSB1c2Vyc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY2xhc3MgZGF0YSBhcmd1bWVudCIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIG1lcmtraWx1b2trYSAlcyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjbGFzcyBhcmd1bWVudCIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIG1lcmtraWx1b2trYSAlcyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2NoZWR1bGluZyBjbGFzczogJyVzJyIKK21zZ3N0ciAiJXM6IFR1bnRlbWF0b24ga29tZW50bzogJXNcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNzYgc2NoZWR1dGlscy9pb25pY2UuYzoxODQgc2NoZWR1dGlscy9pb25pY2UuYzoxOTIKK21zZ2lkICJjYW4gaGFuZGxlIG9ubHkgb25lIG9mIHBpZCwgcGdpZCBvciB1aWQgYXQgb25jZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFBHSUQgYXJndW1lbnQiCittc2dzdHIgIlZpcmhlZWxsaW5lbiBhcmd1bWVudHRpIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFVJRCBhcmd1bWVudCIKK21zZ3N0ciAiVmlyaGVlbGxpbmVuIG51bWVlcmluZW4gdWlkIOKAnSVz4oCdISIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMTIKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBub25lIGNsYXNzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjIwCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3IgaWRsZSBjbGFzcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvIGNsYXNzICVkIgorbXNnc3RyICJ0dW50ZW1hdG9uIGljb252KCktdmlyaGUgJWQiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiVXNhZ2U6ICVzIFtvcHRpb25zXSBbbWFzayB8IGNwdS1saXN0XSBbcGlkfGNtZCBbYXJncy4uLl1dXG4iCisiXG4iCittc2dzdHIgIkvDpHl0dMO2OiAlcyBbdmFsaXRzaW1ldF0gPG9oamVsbWE+IFthcmcuLi5dXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU1Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIENQVSBhZmZpbml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk9wdGlvbnM6XG4iCisiIC1hLCAtLWFsbC10YXNrcyAgICAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisiIC1wLCAtLXBpZCAgICAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCisiIC1jLCAtLWNwdS1saXN0ICAgICAgICAgIGRpc3BsYXkgYW5kIHNwZWNpZnkgY3B1cyBpbiBsaXN0IGZvcm1hdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvblxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBydW4gYSBuZXcgY29tbWFuZDpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyJZb3UgY2FuIHJldHJpZXZlIHRoZSBtYXNrIG9mIGFuIGV4aXN0aW5nIHRhc2s6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiT3Igc2V0IGl0OlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorIkxpc3QgZm9ybWF0IHVzZXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBpbnN0ZWFkIG9mIGEgbWFzazpcbiIKKyIgICAgJTEkcyAtcGMgMCwzLDctMTEgNzAwXG4iCisiUmFuZ2VzIGluIGxpc3QgZm9ybWF0IGNhbiB0YWtlIGEgc3RyaWRlIGFyZ3VtZW50OlxuIgorIiAgICBlLmcuIDAtMzE6MiBpcyBlcXVpdmFsZW50IHRvIG1hc2sgMHg1NTU1NTU1NVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkwCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IGNvbnZlcnNpb24gZnJvbSBjcHVzZXQgdG8gc3RyaW5nIGZhaWxlZCIKK21zZ3N0ciAidmlyaGU6IFVVSUQ6biBqw6RzZW5ueXMgZXDDpG9ubmlzdHVpIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMDkgc2NoZWR1dGlscy90YXNrc2V0LmM6MTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICJPc2lvbiBraXJqb2l0dXMgZXDDpG9ubmlzdHVpIGxhaXR0ZWVsbGUgJXMiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjExOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAiT3Npb24ga2lyam9pdHVzIGVww6Rvbm5pc3R1aSBsYWl0dGVlbGxlICVzIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxODYgc3lzLXV0aWxzL2NoY3B1LmM6Mjg5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgTlJfQ1BVUzsgYWJvcnRpbmciCittc2dzdHIgImxhaXR0ZWVuICVzIGtva29hIGVpIHZvaSBoYWtlYSIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTk1IHNjaGVkdXRpbHMvdGFza3NldC5jOjIwOCBzeXMtdXRpbHMvY2hjcHUuYzoyOTUKK21zZ2lkICJjcHVzZXRfYWxsb2MgZmFpbGVkIgorbXNnc3RyICJjcHVzZXRfYWxsb2MgZXDDpG9ubmlzdHVpIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMTUgc3lzLXV0aWxzL2NoY3B1LmM6MjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICIlczogYXZhYW1pbmVuIGVww6Rvbm5pc3R1aTogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2s6ICVzIgorbXNnc3RyICIlczogYXZhYW1pbmVuIGVww6Rvbm5pc3R1aTogJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogWmVyby1maWxsZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBEaXNjYXJkZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg3Cittc2dpZCAiRGlzY2FyZCB0aGUgY29udGVudCBvZiBzZWN0b3JzIG9uIGEgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTAKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorbXNnc3RyICIgICAgLUMjIFt0YWkgLS1jeWxpbmRlcnMgI106YXNldGEga8OkeXRldHTDpHbDpCBzeWxpbnRlcmllbiBtw6TDpHLDpCIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiICAgIC1DIyBbdGFpIC0tY3lsaW5kZXJzICNdOmFzZXRhIGvDpHl0ZXR0w6R2w6Qgc3lsaW50ZXJpZW4gbcOkw6Ryw6QiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXN0ZXAgPG51bT4gICAgc2l6ZSBvZiB0aGUgZGlzY2FyZCBpdGVyYXRpb25zIHdpdGhpbiB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkzCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zZWN1cmUgICAgICAgIHBlcmZvcm0gc2VjdXJlIGRpc2NhcmRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTQKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXplcm9vdXQgICAgICAgemVyby1maWxsIHJhdGhlciB0aGFuIGRpc2NhcmRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHQg4oCTIFRhdWx1IHJhYSdhc3NhIG11b2Rvc3NhIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IGFsaWduZWQgbGVuZ3RoIGFuZCBvZmZzZXRcbiIKK21zZ3N0ciAiIgorIiAgLXUsIC0tdXBkYXRlICAgICAgICAgICAgICAgICBrb3Bpb2kgdmFpbiBqb3MgTMOESERFdGllZG9zdG8gb24gdXVkZW1waSBrdWluXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga29oZGUsIHRhaSBqb3Mga29oZGV0aWVkb3N0byBwdXV0dHV1XG4iCisiICAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgIHNlbGl0w6QgbWl0w6QgdGFwYWh0dXVcbiIKKyIgIC14LCAtLW9uZS1maWxlLXN5c3RlbSAgICAgICAgcHlzeSB0w6Rzc8OkIHRpZWRvc3RvasOkcmplc3RlbG3DpHNzw6RcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTAgc3lzLXV0aWxzL2ZzdHJpbS5jOjMxMiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY3MworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTI0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBvZmZzZXQiCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0ZXAiCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzIgc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODIgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDgKK21zZ2lkICJubyBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJtaXTDpMOkbiBsYWl0ZXR0YSBlaSBhbm5ldHR1IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3NyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzUxCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjIgc3lzLXV0aWxzL2ZzdHJpbS5jOjMzNAorIywgZnV6enkKK21zZ2lkICJ1bmV4cGVjdGVkIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgInbDpMOkcsOkIG3DpMOkcsOkIGFyZ3VtZW50dGVqYSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJpb2N0bCgpIGVpIG9ubmlzdHVudXQgbHVrZW1hYW4gYWlrYWEga29odGVlc3RhICVzIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NTWkdFVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgImlvY3RsKCkgZWkgb25uaXN0dW51dCBsdWtlbWFhbiBhaWthYSBrb2h0ZWVzdGEgJXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0IGlzIGdyZWF0ZXIgdGhhbiBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAiTGV2eW4ga29rb2EgZWkgdm9pIGhha2VhIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGVuZ3RoICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1pFUk9PVVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJpb2N0bCgpIGVpIG9ubmlzdHVudXQgbHVrZW1hYW4gYWlrYWEga29odGVlc3RhICVzIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NFQ0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJpb2N0bCgpIGVpIG9ubmlzdHVudXQgbHVrZW1hYW4gYWlrYWEga29odGVlc3RhICVzIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJpb2N0bCgpIGVpIG9ubmlzdHVudXQgbHVrZW1hYW4gYWlrYWEga29odGVlc3RhICVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo4NyBzeXMtdXRpbHMvY2hjcHUuYzoxNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiT3Npb3RhICVkIGVpIG9sZSBvbGVtYXNzYSwgc2l0w6QgZWkgdm9pIG11dXR0YWEiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGhvdCBwbHVnZ2FibGUiCittc2dzdHIgIkVpIGtvaGRldHRhIHJpdmlsbMOkICVkXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIlNla3RvcmkgJWQgb24gam8gdmFyYXR0dVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIlNla3RvcmkgJWQgb24gam8gdmFyYXR0dVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIChDUFUgaXMgZGVjb25maWd1cmVkKSIKK21zZ3N0ciAiU2VrdG9yaSAlZCBvbiBqbyB2YXJhdHR1XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIkF1dG9tYWF0dGluZW4ga29uZmlndXJvaW50aSBlcMOkb25uaXN0dWkuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZWRcbiIKK21zZ3N0ciAiRWkga29oZGV0dGEgcml2aWxsw6QgJWRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQgKGxhc3QgZW5hYmxlZCBDUFUpIgorbXNnc3RyICJTZWt0b3JpICVkIG9uIGpvIHZhcmF0dHVcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQiCittc2dzdHIgIlNla3RvcmkgJWQgb24gam8gdmFyYXR0dVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlZFxuIgorbXNnc3RyICJFaSBrb2hkZXR0YSByaXZpbGzDpCAlZFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHJlc2Nhbm5pbmcgb2YgQ1BVcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHRyaWdnZXIgcmVzY2FuIG9mIENQVXMiCittc2dzdHIgIk9zaW9uIGtpcmpvaXR1cyBlcMOkb25uaXN0dWkgbGFpdHRlZWxsZSAlcyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyaWdnZXJlZCByZXNjYW4gb2YgQ1BVc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgc2V0dGluZyB0aGUgZGlzcGF0Y2hpbmcgbW9kZSBvZiBDUFVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gc2V0IGhvcml6b250YWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiT3Npb24ga2lyam9pdHVzIGVww6Rvbm5pc3R1aSBsYWl0dGVlbGxlICVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIk9zaW9uIGtpcmpvaXR1cyBlcMOkb25uaXN0dWkgbGFpdHRlZWxsZSAlcyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU5CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBzZXQgdmVydGljYWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiT3Npb24ga2lyam9pdHVzIGVww6Rvbm5pc3R1aSBsYWl0dGVlbGxlICVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgdmVydGljYWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICJPc2lvbiBraXJqb2l0dXMgZXDDpG9ubmlzdHVpIGxhaXR0ZWVsbGUgJXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBjb25maWd1cmFibGUiCittc2dzdHIgIlN1b3JpdGluYWlrYXJhamEgeWxpdHR5bnl0IgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiU2VrdG9yaSAlZCBvbiBqbyB2YXJhdHR1XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIlNla3RvcmkgJWQgb24gam8gdmFyYXR0dVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiQXV0b21hYXR0aW5lbiBrb25maWd1cm9pbnRpIGVww6Rvbm5pc3R1aS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiQXV0b21hYXR0aW5lbiBrb25maWd1cm9pbnRpIGVww6Rvbm5pc3R1aS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlZFxuIgorbXNnc3RyICJFaSBrb2hkZXR0YSByaXZpbGzDpCAlZFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIkF1dG9tYWF0dGluZW4ga29uZmlndXJvaW50aSBlcMOkb25uaXN0dWkuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJFaSBrb2hkZXR0YSByaXZpbGzDpCAlZFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgQ1BVIG51bWJlciBpbiBDUFUgbGlzdDogJXMiCittc2dzdHIgInZpcmhlZWxsaW5lbiByaXZpZW4gbcOkw6Ryw6QiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzOCB0ZXh0LXV0aWxzL2NvbC5jOjEzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiJXMgW3ZhbGl0c2ltZXRdIFs8dGllZG9zdG8+IC4uLl1cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQyCittc2dpZCAiQ29uZmlndXJlIENQVXMgaW4gYSBtdWx0aS1wcm9jZXNzb3Igc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0NAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhpcyBoZWxwXG4iCisiICAtZSwgLS1lbmFibGUgPGNwdS1saXN0PiAgICAgICBlbmFibGUgY3B1c1xuIgorIiAgLWQsIC0tZGlzYWJsZSA8Y3B1LWxpc3Q+ICAgICAgZGlzYWJsZSBjcHVzXG4iCisiICAtYywgLS1jb25maWd1cmUgPGNwdS1saXN0PiAgICBjb25maWd1cmUgY3B1c1xuIgorIiAgLWcsIC0tZGVjb25maWd1cmUgPGNwdS1saXN0PiAgZGVjb25maWd1cmUgY3B1c1xuIgorIiAgLXAsIC0tZGlzcGF0Y2ggPG1vZGU+ICAgICAgICAgc2V0IGRpc3BhdGNoaW5nIG1vZGVcbiIKKyIgIC1yLCAtLXJlc2NhbiAgICAgICAgICAgICAgICAgIHRyaWdnZXIgcmVzY2FuIG9mIGNwdXNcbiIKKyIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MzI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBhcmd1bWVudDogJXMiCittc2dzdHIgImVpLXR1ZXR0dSBhcmd1bWVudHRpIGZ1bmt0aW9sbGUgJTxfX2J1aWx0aW5fZnJhbWVfYWRkcmVzcyU+IgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgaGFyZHxzb2Z0XG4iCittc2dzdHIgIiVzOiBrb3ZhIGxpbmtraSBlaSBvbGUgc2FsbGl0dHUgaGFrZW1pc3RvbGxlIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldCB0aGUgZnVuY3Rpb24gb2YgdGhlIEN0cmwtQWx0LURlbCBjb21iaW5hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUxCittc2dpZCAiaW1wbGljaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB2YWx1ZSBpbiAlczogJWp1IgorbXNnc3RyICIlczogdGllZG9zdG9uIGxvcHB1IgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjYzCittc2dpZCAiWW91IG11c3QgYmUgcm9vdCB0byBzZXQgdGhlIEN0cmwtQWx0LURlbCBiZWhhdmlvciIKK21zZ3N0ciAiVmFpbiByb290IHZvaSBtw6TDpHJpdGVsbMOkIEN0cmwtQWx0LURlbDpuIHZhaWt1dHVrc2VuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjcxIHN5cy11dGlscy9pcGNybS5jOjM5MiBzeXMtdXRpbHMvaXBjcm0uYzo0MTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICIlczogdHVudGVtYXRvbiBhcmd1bWVudHRpOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTAKKyMsIGZ1enp5Cittc2dpZCAic3lzdGVtIGlzIHVudXNhYmxlIgorbXNnc3RyICJFaSBrw6R5dGV0dMOkdmlzc8OkIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTEKK21zZ2lkICJhY3Rpb24gbXVzdCBiZSB0YWtlbiBpbW1lZGlhdGVseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTIKK21zZ2lkICJjcml0aWNhbCBjb25kaXRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMworIywgZnV6enkKK21zZ2lkICJlcnJvciBjb25kaXRpb25zIgorbXNnc3RyICJ2aXJoZTogIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAid2FybmluZyBjb25kaXRpb25zIgorbXNnc3RyICJWYXJvaXR1czogIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTUKKyMsIGZ1enp5Cittc2dpZCAibm9ybWFsIGJ1dCBzaWduaWZpY2FudCBjb25kaXRpb24iCittc2dzdHIgIktpaXJlZWxsaW5lbiBJL08tZWh0byIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE2CisjLCBmdXp6eQorbXNnaWQgImluZm9ybWF0aW9uYWwiCittc2dzdHIgIiIKKyJLw6R5dHTDtjogbW91bnQgLVYgICAgICAgICAgICAgICAgIDogbsOkeXTDpCB2ZXJzaW9cbiIKKyIgICAgICAgIG1vdW50IC1oICAgICAgICAgICAgICAgICA6IG7DpHl0w6QgdMOkbcOkIG9oamVcbiIKKyIgICAgICAgIG1vdW50ICAgICAgICAgICAgICAgICAgICA6IG7DpHl0w6QgbGlpdGV0eXQgdGllZG9zdG9qw6RyamVzdGVsbcOkdFxuIgorIiAgICAgICAgbW91bnQgLWwgICAgICAgICAgICAgICAgIDogc2FtYSBrdWluIGVkZWxsw6QsIGxpc8Oka3NpIG5pbWnDtnRcbiIKKyJTaWluw6QgaW5mb3JtYXRpaXZpbmVuIG9zdXVzLiBTZXVyYWF2YWtzaSBsaWl0dMOkbWluZW4uXG4iCisiS29tZW50byBrdXVsdXUg4oCdbW91bnQgWy10IHRpZWQuasOkcmoudHl5cHBpXSBqb3Rha2luIGpvbm5la2lu4oCdLlxuIgorIlRpZWRvc3Rvc3NhIC9ldGMvZnN0YWIgb2xldmF0IHlrc2l0eWlza29oZGF0IHZvaSBqw6R0dMOkw6QgcG9pcy5cbiIKKyIgICAgICAgIG1vdW50IC1hIFstdHwtT10gLi4uICAgICA6IGxpaXTDpCBrYWlra2kgdGllZG9zdG9zdGEgL2V0Yy9mc3RhYlxuIgorIiAgICAgICAgbW91bnQgbGFpdGUgICAgICAgICAgICAgIDogbGlpdMOkIGxhaXRlIHR1bm5ldHR1dW4gcGFpa2thYW5cbiIKKyIgICAgICAgIG1vdW50IGhha2VtaXN0byAgICAgICAgICA6IGxpaXTDpCB0dW5uZXR0dSBsYWl0ZSB0w6RubmVcbiIKKyIgICAgICAgIG1vdW50IC10IHR5eXBwaSBsYWl0ZSBoYWs6IG5vcm1hYWxpIGxpaXRvc2tvbWVudG9cbiIKKyJIdW9tYWEsIGV0dMOkIG9pa2Vhc3RpIGVpIGxpaXRldMOkIGxhaXRldHRhLCB2YWFuIGxhaXR0ZWVsbGEgb2xldmFcbiIKKyIoYW5uZXR1biB0eXlwaW4gbXVrYWluZW4pIHRpZWRvc3RvasOkcmplc3RlbG3DpC5cbiIKKyJWb2lkYWFuIG15w7ZzIGxpaXR0w6TDpCBqbyBuw6RreXZpc3PDpCBvbGV2YSBoYWtlbWlzdG9wdXUgbXV1YWxsZTpcbiIKKyIgICAgICAgIG1vdW50IC0tYmluZCB2YW5oYV9oYWsgdXVzaV9oYWtcbiIKKyJ0YWkgc2lpcnTDpMOkIGFsaXB1dTpcbiIKKyIgICAgICAgIG1vdW50IC0tbW92ZSB2YW5oYV9oYWsgdXVzaV9oYWtcbiIKKyJIYWtlbWlzdG9uIGhhayBzaXPDpGx0w6R2w6RuIGxpaXRva3NlbiB0eXlwcGnDpCB2b2kgbXV1dHRhYTpcbiIKKyIgICAgICAgbW91bnQgLS1tYWtlLXNoYXJlZCBoYWtcbiIKKyIgICAgICAgbW91bnQgLS1tYWtlLXNsYXZlIGhha1xuIgorIiAgICAgICBtb3VudCAtLW1ha2UtcHJpdmF0ZSBoYWtcbiIKKyIgICAgICAgbW91bnQgLS1tYWtlLXVuYmluZGFibGUgaGFrXG4iCisiS2Fpa2tpZW4gbGlpdG9rc2VuIGFsaXB1dXNzYSBvbGV2aWVuIGhha2VtaXN0b24gaGFrIHNpc8OkbHTDpHZpZW5cbiIKKyJsaWl0b3N0ZW4gdHl5cHBpw6Qgdm9pIG11dXR0YWE6XG4iCisiICAgICAgIG1vdW50IC0tbWFrZS1yc2hhcmVkIGhha1xuIgorIiAgICAgICBtb3VudCAtLW1ha2UtcnNsYXZlIGhha1xuIgorIiAgICAgICBtb3VudCAtLW1ha2UtcnByaXZhdGUgaGFrXG4iCisiICAgICAgIG1vdW50IC0tbWFrZS1ydW5iaW5kYWJsZSBoYWtcbiIKKyJMYWl0ZSB2b2lkYWFuIGFudGFhIG5pbWVsbMOkLCBlc2ltLiAvZGV2L2hkYTEgdGFpIC9kZXYvY2Ryb20sXG4iCisidGFpIG5pbWnDtmxsw6QsIGvDpHl0dMOkZW4gIC1MIG5pbWnDtiAgdGFpIHV1aWQ6bGxhLCBrw6R5dHTDpGVuICAtVSB1dWlkIC5cbiIKKyJNdXV0IHZhbGl0c2ltZXQ6IFstbmZGcnN2d10gWy1vIHZhbGl0c2ltZXRdIFstcCBrYWh2YV0uXG4iCisiUGFsam9uIGxpc8OkdGlldG9qYSBrb21lbm5vbGxhOiAgbWFuIDggbW91bnQgLlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTcKK21zZ2lkICJkZWJ1Zy1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzEKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIG1lc3NhZ2VzIgorbXNnc3RyICJ2aWVzdGl0IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzIKK21zZ2lkICJyYW5kb20gdXNlci1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzMKKyMsIGZ1enp5Cittc2dpZCAibWFpbCBzeXN0ZW0iCittc2dzdHIgIlNpbnVsbGUgb24gcG9zdGlhLlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzQKKyMsIGZ1enp5Cittc2dpZCAic3lzdGVtIGRhZW1vbnMiCittc2dzdHIgIlRpZXRvYSBqw6RyamVzdGVsbcOkc3TDpDoiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNQorIywgZnV6enkKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIgorbXNnc3RyICJ2aWVzdGl0IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzYKK21zZ2lkICJtZXNzYWdlcyBnZW5lcmF0ZWQgaW50ZXJuYWxseSBieSBzeXNsb2dkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNworIywgZnV6enkKK21zZ2lkICJsaW5lIHByaW50ZXIgc3Vic3lzdGVtIgorbXNnc3RyICJWaXJoZSBSUEMtYWxpasOkcmplc3RlbG3DpHNzw6QiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOAorIywgZnV6enkKK21zZ2lkICJuZXR3b3JrIG5ld3Mgc3Vic3lzdGVtIgorbXNnc3RyICJWaXJoZSBSUEMtYWxpasOkcmplc3RlbG3DpHNzw6QiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOQorbXNnaWQgIlVVQ1Agc3Vic3lzdGVtIgorbXNnc3RyICJVVUNQLWFsaWrDpHJqZXN0ZWxtw6QiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MAorbXNnaWQgImNsb2NrIGRhZW1vbiIKK21zZ3N0ciAia2VsbG9kZW1vbmkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MQorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMgKHByaXZhdGUpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MgorbXNnaWQgIkZUUCBkYWVtb24iCittc2dzdHIgIkZUUC1kZW1vbmkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI2NworbXNnaWQgIkRpc3BsYXkgb3IgY29udHJvbCB0aGUga2VybmVsIHJpbmcgYnVmZmVyLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MAorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGNsZWFyIHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIHJlYWQgYW5kIGNsZWFyIGFsbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjcyCisjLCBmdXp6eQorbXNnaWQgIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAgZGlzYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzMKKyMsIGZ1enp5Cittc2dpZCAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBlbmFibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc0Cittc2dpZCAiIC1GLCAtLWZpbGUgPGZpbGU+ICAgICAgICAgICB1c2UgdGhlIGZpbGUgaW5zdGVhZCBvZiB0aGUga2VybmVsIGxvZyBidWZmZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzUKK21zZ2lkICIgLWYsIC0tZmFjaWxpdHkgPGxpc3Q+ICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGZhY2lsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzYKKyMsIGZ1enp5Cittc2dpZCAiIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICBodW1hbiByZWFkYWJsZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NworIywgZnV6enkKK21zZ2lkICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIGRpc3BsYXkga2VybmVsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBFaSBub3JtYWFsaWEgdHVsb3N0ZXR0YVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzgKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PG1pbGxvaW4+XSAgICAgdsOkcml0w6QgdHVsb3N0ZSAoYXV0bywgYWx3YXlzIHRhaSBuZXZlcilcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgxCittc2dpZCAiIC1sLCAtLWxldmVsIDxsaXN0PiAgICAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBsZXZlbHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODIKK21zZ2lkICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bGV2ZWw+IHNldCBsZXZlbCBvZiBtZXNzYWdlcyBwcmludGVkIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODMKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICBkbyBub3QgcGlwZSBvdXRwdXQgaW50byBhIHBhZ2VyXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODQKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODUKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICBmb3JjZSB0byB1c2Ugc3lzbG9nKDIpIHJhdGhlciB0aGFuIC9kZXYva21zZ1xuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg2Cittc2dpZCAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgZGlzcGxheSB1c2Vyc3BhY2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OAorIywgZnV6enkKK21zZ2lkICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg5Cittc2dpZCAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBkZWNvZGUgZmFjaWxpdHkgYW5kIGxldmVsIHRvIHJlYWRhYmxlIHN0cmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIHNob3cgdGltZSBkZWx0YSBiZXR3ZWVuIHByaW50ZWQgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MQorbXNnaWQgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgc2hvdyBsb2NhbCB0aW1lIGFuZCB0aW1lIGRlbHRhIGluIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MgorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHNob3cgaHVtYW4tcmVhZGFibGUgdGltZXN0YW1wIChtYXkgYmUgaW5hY2N1cmF0ZSEpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBkb24ndCBzaG93IGFueSB0aW1lc3RhbXAgd2l0aCBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk0Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXAgdXNpbmcgdGhlIGdpdmVuIGZvcm1hdDpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyJTdXNwZW5kaW5nL3Jlc3VtZSB3aWxsIG1ha2UgY3RpbWUgYW5kIGlzbyB0aW1lc3RhbXBzIGluYWNjdXJhdGUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzAwCittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgZmFjaWxpdGllczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDYKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBsZXZlbHMgKHByaW9yaXRpZXMpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxldmVsICclcyciCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGxldmVsICclcyciCittc2dzdHIgIiVzOiBUdW50ZW1hdG9uIGtvbWVudG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGZhY2lsaXR5ICclcyciCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5ICclcyciCittc2dzdHIgInR1bnRlbWF0b24ga8OkeXR0w6Rqw6QtSUQ6ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtbWFwOiAlcyIKK21zZ3N0ciAiVGllZG9zdG9uICVzIG11aXN0aWthcnRvaXR1cyBlcMOkb25uaXN0dWkuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNTYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBidWZmZXIgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiVmlyaGVlbGxpbmVuIGFyZ3VtZW50dGkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MDkKK21zZ2lkICItLXNob3ctZGVsdGEgaXMgaWdub3JlZCB3aGVuIHVzZWQgdG9nZXRoZXIgd2l0aCBpc284NjAxIHRpbWUgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MzIKK21zZ2lkICItLXJhdyBjYW4gYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tbGV2ZWwgb3IgLS1mYWNpbGl0eSBvbmx5IHdoZW4gcmVhZGluZyBtZXNzYWdlcyBmcm9tIC9kZXYva21zZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDQyCisjLCBmdXp6eQorbXNnaWQgInJlYWQga2VybmVsIGJ1ZmZlciBmYWlsZWQiCittc2dzdHIgImx1a2VtaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0NjEKKyMsIGZ1enp5Cittc2dpZCAia2xvZ2N0bCBmYWlsZWQiCittc2dzdHIgImtsb2djdGwtdmlyaGUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT58PG1vdW50cG9pbnQ+XVxuIgorbXNnc3RyICIlcyBbdmFsaXRzaW1ldF0gWzxsYWl0ZT4gLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiRWplY3QgcmVtb3ZhYmxlIG1lZGlhLlxuIgorbXNnc3RyICJzaWlycmV0dMOkdsOkIGxhaXRlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNDAKK21zZ2lkICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICB0dXJuIGF1dG8tZWplY3QgZmVhdHVyZSBvbiBvciBvZmZcbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHNsb3Q+ICAgIHN3aXRjaCBkaXNjcyBvbiBhIENELVJPTSBjaGFuZ2VyXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBkaXNwbGF5IGRlZmF1bHQgZGV2aWNlXG4iCisiIC1mLCAtLWZsb3BweSAgICAgICAgICAgICAgICBlamVjdCBmbG9wcHlcbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIGRvbid0IGNhcmUgYWJvdXQgZGV2aWNlIHR5cGVcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIHRvZ2dsZSBtYW51YWwgZWplY3QgcHJvdGVjdGlvbiBvbi9vZmZcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIGRvIG5vdCB1bm1vdW50IGRldmljZSBldmVuIGlmIGl0IGlzIG1vdW50ZWRcbiIKKyIgLU0sIC0tbm8tcGFydGl0aW9ucy11bm1vdW50IGRvIG5vdCB1bm1vdW50IGFub3RoZXIgcGFydGl0aW9uc1xuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgZG9uJ3QgZWplY3QsIGp1c3Qgc2hvdyBkZXZpY2UgZm91bmRcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIHVzZSAvcHJvYy9tb3VudHMgaW5zdGVhZCBvZiAvZXRjL210YWJcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIGVqZWN0IHRhcGVcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIGVqZWN0IENELVJPTVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgZWplY3QgU0NTSSBkZXZpY2VcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIGNsb3NlIHRyYXlcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIHRvZ2dsZSB0cmF5XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICBlbmFibGUgdmVyYm9zZSBvdXRwdXRcbiIKKyIgLXgsIC0tY2RzcGVlZCA8c3BlZWQ+ICAgICAgIHNldCBDRC1ST00gbWF4IHNwZWVkXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICBsaXN0IENELVJPTSBhdmFpbGFibGUgc3BlZWRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTY0Cittc2dpZCAiIgorIlxuIgorIkJ5IGRlZmF1bHQgdHJpZXMgLXIsIC1zLCAtZiwgYW5kIC1xIGluIG9yZGVyIHVudGlsIHN1Y2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjEwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jaGFuZ2Vyc2xvdC8tYyBvcHRpb24iCittc2dzdHIgInZpcmhlZWxsaW5lbiB2YWxpdHNpbiDigJMgJWMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxNAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2RzcGVlZC8teCBvcHRpb24iCittc2dzdHIgInZpcmhlZWxsaW5lbiBpZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzI2Cittc2dpZCAiQ0QtUk9NIGF1dG8tZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQwCisjLCBmdXp6eQorbXNnaWQgIkNELVJPTSBkb29yIGxvY2sgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiVmFyb2l0dXM6IHZhbGl0c2ludGEgbm9sb2NrIGVpIHR1ZXRhLlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDIKK21zZ2lkICJvdGhlciB1c2VycyBoYXZlIHRoZSBkcml2ZSBvcGVuIGFuZCBub3QgQ0FQX1NZU19BRE1JTiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDQKK21zZ2lkICJDRC1ST00gbG9jayBkb29yIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0OQorbXNnaWQgIkNELURyaXZlIG1heSBOT1QgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzUxCittc2dpZCAiQ0QtRHJpdmUgbWF5IGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2MgorbXNnaWQgIkNELVJPTSBzZWxlY3QgZGlzYyBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjYKK21zZ2lkICJDRC1ST00gbG9hZCBmcm9tIHNsb3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY4Cittc2dpZCAiSURFL0FUQVBJIENELVJPTSBjaGFuZ2VyIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODYKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODgKKyMsIGZ1enp5Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIm1vdW50OiB5ZGluIGVpIHR1ZSB0aWVkb3N0b2rDpHJqZXN0ZWxtw6R0eXlwcGnDpCAlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDA1Cittc2dpZCAiQ0QtUk9NIGVqZWN0IHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzMyBzeXMtdXRpbHMvZWplY3QuYzo0NTYgc3lzLXV0aWxzL2VqZWN0LmM6MTAxMQorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzYKK21zZ2lkICJubyBDRC1ST00gaW5mb3JtYXRpb24gYXZhaWxhYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzOQorbXNnaWQgIkNELVJPTSBkcml2ZSBpcyBub3QgcmVhZHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgyCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODQgc3lzLXV0aWxzL2VqZWN0LmM6NTcwCisjLCBmdXp6eQorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsIgorbXNnc3RyICJtb3VudDogeWRpbiBlaSB0dWUgdGllZG9zdG9qw6RyamVzdGVsbcOkdHl5cHBpw6QgJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kaW5nIENELVJPTSBuYW1lIgorbXNnc3RyICIlczogYXZhYW1pbmVuIGVww6Rvbm5pc3R1aTogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgImZ0c19yZWFkIGVww6Rvbm5pc3R1aTogJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU0NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAibHVrZW1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTg4CisjLCBmdXp6eQorbXNnaWQgIm5vdCBhbiBzZyBkZXZpY2UsIG9yIG9sZCBzZyBkcml2ZXIiCittc2dzdHIgImVpIG9sZSBsb2hrb2xhaXRlIGVpa8OkIHRpZWRvc3RvOiAlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bm1vdW50aW5nIgorbXNnc3RyICIlczogaXJyb3RldGFhbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZXhlYyAvYmluL3Vtb3VudCBvZiBgJXMnIgorbXNnc3RyICJpb2N0bCgpIGVpIG9ubmlzdHVudXQgbHVrZW1hYW4gYWlrYWEga29odGVlc3RhICVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzgKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGZvcmsiCittc2dzdHIgImZvcms6ICVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgIm1vdW50OiBsaWl0b3NwaXN0ZSAlcyBlaSBvbGUgb2xlbWFzc2EiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGZhaWxlZFxuIgorbXNnc3RyICIlcyBlcMOkb25uaXN0dWkuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjczMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgdGFibGUiCittc2dzdHIgIm1vdW50OiBsaWl0b3MgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3OTEgc3lzLXV0aWxzL2VqZWN0LmM6ODkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAidW1vdW50OiAlczogZWkgb2xlIGxpaXRldHR5bsOkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MzMKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byBhdXRvIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzNQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byAlbGRYIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGVmYXVsdCBkZXZpY2U6IGAlcyciCittc2dzdHIgIiVzOiBrYWtzaW5rZXJ0YWluZW4g4oCdZGVmYXVsdF9taXNzaW5n4oCdLW3DpMOkcml0dGVseSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyBkZWZhdWx0IGRldmljZSBgJXMnIgorbXNnc3RyICJLw6R5dGV0w6TDpG4gb2xldHVzdmFzdGF1c3RhICVjLiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg2IHN5cy11dGlscy9ydGN3YWtlLmM6Mzc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGZpbmQgZGV2aWNlIgorbXNnc3RyICJzaXZ1dHVzbGFpdHRlZWxsYSBlaSB2b2kgc2lpcnR5w6QgdGFha3NlcMOkaW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIG5hbWUgaXMgYCVzJyIKK21zZ3N0ciAieXRpbWVuIHNpc8OkaW5lbiBsYWl0ZW5pbWkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg5NCBzeXMtdXRpbHMvdW1vdW50LmM6MjA2IHN5cy11dGlscy91bW91bnQuYzoyMzUKKyM6IHN5cy11dGlscy91bW91bnQuYzo0MDkgc3lzLXV0aWxzL3Vtb3VudC5jOjQzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBtb3VudGVkIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBlaSBvbGUgbGlpdGV0dHluw6QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg5OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYyBkZXZpY2U6ICVzIChkaXNrIGRldmljZSB3aWxsIGJlIHVzZWQgZm9yIGVqZWN0KSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBmb3VuZCBtb3VudHBvaW50IG9yIGRldmljZSB3aXRoIHRoZSBnaXZlbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIHdob2xlLWRpc2sgZGV2aWNlIgorbXNnc3RyICJLb2tvIGxldnkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBob3QtcGx1Z2dhYmxlIGRldmljZSIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIGxhaXRlICVzICVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBpcyBgJXMnIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gbGFpdGUgJXMgJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxOAorbXNnaWQgImV4aXRpbmcgZHVlIHRvIC1uLy0tbm9vcCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlbmFibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNhYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NpbmcgdHJheSIKK21zZ3N0ciAic3VsamV0YWFuIHN5w7Z0ZXRpZWRvc3RvICVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b2dnbGluZyB0cmF5IgorbXNnc3RyICIgICAgICAgICAgJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGlzdGluZyBDRC1ST00gc3BlZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTg2CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogZGV2aWNlIGluIHVzZSIKK21zZ3N0ciAidmlyaGU6ICVzOiBsYWl0ZSBvbiBrw6R5dMO2c3PDpCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWxlY3RpbmcgQ0QtUk9NIGRpc2MgIyVsZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgQ0QtUk9NIGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMAorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgU0NTSSBjb21tYW5kcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE3CisjLCBmdXp6eQorbXNnaWQgIlNDU0kgZWplY3Qgc3VjY2VlZGVkIgorbXNnc3RyICIlcyBvbm5pc3R1aS5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxOAorIywgZnV6enkKK21zZ2lkICJTQ1NJIGVqZWN0IGZhaWxlZCIKK21zZ3N0ciAiRUkgVMOEU03DhMOEIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgZmxvcHB5IGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNAorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAibGV2eWtrZWVuIHBvaXN0b2tvbWVudG8gb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjUKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgImxldnlra2VlbiBwb2lzdG9rb21lbnRvIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIHRhcGUgb2ZmbGluZSBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzEKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMgorIywgZnV6enkKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgImhha2VtaXN0b24gYXZhYW1pbmVuIGVww6Rvbm5pc3R1aVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDM2CisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBlamVjdCIKK21zZ3N0ciAibXVpc3RpbiB2YXJhYW1pbmVuIHN5w7Z0ZXB1c2t1cmlsbGUgZWkgb25uaXN0dSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGVuYW1lPlxuIgorbXNnc3RyICIlcyBbdmFsaXRzaW1ldF0gPHRpZWRvc3RvPlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODEKK21zZ2lkICJQcmVhbGxvY2F0ZSBzcGFjZSB0bywgb3IgZGVhbGxvY2F0ZSBzcGFjZSBmcm9tIGEgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODQKK21zZ2lkICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgcmVtb3ZlIGEgcmFuZ2UgZnJvbSB0aGUgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NQorbXNnaWQgIiAtZCwgLS1kaWctaG9sZXMgICAgICBkZXRlY3QgemVyb2VzIGFuZCByZXBsYWNlIHdpdGggaG9sZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODYKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICAgbGVuZ3RoIGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NworIywgZnV6enkKK21zZ2lkICIgLW4sIC0ta2VlcC1zaXplICAgICAgbWFpbnRhaW4gdGhlIGFwcGFyZW50IHNpemUgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIgorIk7DpHl0w6QgY2xhc3MtdGllZG9zdG9uIHNpc8OkbHTDtiBsdWV0dGF2YXNzYSBtdW9kb3NzYS5cbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg4Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgIG9mZnNldCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODkKK21zZ2lkICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVwbGFjZSBhIHJhbmdlIHdpdGggYSBob2xlIChpbXBsaWVzIC1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MAorbXNnaWQgIiAteiwgLS16ZXJvLXJhbmdlICAgICB6ZXJvIGFuZCBlbnN1cmUgYWxsb2NhdGlvbiBvZiBhIHJhbmdlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEyNgorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQ6IGtlZXAgc2l6ZSBtb2RlIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMjcKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkIgorbXNnc3RyICJmYWxsb2NhdGUgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBmYWlsZWQiCittc2dzdHIgImZ0c19yZWFkIGVww6Rvbm5pc3R1aTogJXMiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglanUgYnl0ZXMpIGNvbnZlcnRlZCB0byBzcGFyc2UgaG9sZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM0NiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTgKKyMsIGZ1enp5Cittc2dpZCAibm8gZmlsZW5hbWUgc3BlY2lmaWVkIgorbXNnc3RyICJ0dWxvc3RpZWRvc3RvIGFubmV0dHUga2FoZGVzdGkiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTggc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgIiVzOiB2aXJoZWVsbGluZW4gasOkbGtpbGlpdHRlZW4gcGl0dXVzIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzYyCisjLCBmdXp6eQorbXNnaWQgIm5vIGxlbmd0aCBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgIkxpaWFuIHbDpGjDpG4gYXJndW1lbnR0ZWphIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzY3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIFVUQy1zaWlydHltw6QiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IDxjb21tYW5kPiBbPGFyZ3VtZW50Pi4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IC1jIDxjb21tYW5kPlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZSBkZXNjcmlwdG9yIG51bWJlcj5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo1OQorIywgZnV6enkKK21zZ2lkICJNYW5hZ2UgZmlsZSBsb2NrcyBmcm9tIHNoZWxsIHNjcmlwdHMuXG4iCittc2dzdHIgImxvZ2luOiBlaSBtdWlzdGlhIGt1b3Jpc2tyaXB0aWxsZS5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjIKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBnZXQgYSBzaGFyZWQgbG9ja1xuIgorbXNnc3RyICIlcyBlaSBvbGUgamFldHR1IG9iamVrdGl0aWVkb3N0byAoVHl5cHBpOiAlZCkuXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYzCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAgZ2V0IGFuIGV4Y2x1c2l2ZSBsb2NrIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWNsZWFyIDxhbGx8cmVzdD5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjQKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVubG9jayAgICAgICAgICAgICByZW1vdmUgYSBsb2NrXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICB0IOKAkyBUYXVsdSByYWEnYXNzYSBtdW9kb3NzYSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjUKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICBmYWlsIHJhdGhlciB0aGFuIHdhaXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHQg4oCTIFRhdWx1IHJhYSdhc3NhIG11b2Rvc3NhIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NgorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjcKK21zZ2lkICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxudW1iZXI+ICBleGl0IGNvZGUgYWZ0ZXIgY29uZmxpY3Qgb3IgdGltZW91dFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY4CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1jbG9zZSAgICAgICAgICAgICAgY2xvc2UgZmlsZSBkZXNjcmlwdG9yIGJlZm9yZSBydW5uaW5nIGNvbW1hbmRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY5Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICBydW4gYSBzaW5nbGUgY29tbWFuZCBzdHJpbmcgdGhyb3VnaCB0aGUgc2hlbGxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MAorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgIGV4ZWN1dGUgY29tbWFuZCB3aXRob3V0IGZvcmtpbmdcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHQg4oCTIFRhdWx1IHJhYSdhc3NhIG11b2Rvc3NhIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICAgIGluY3JlYXNlIHZlcmJvc2l0eVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBsb2NrIGZpbGUgJXMiCittc2dzdHIgIlRpZWRvc3RvYSDigJ0lc+KAnSBlaSB2b2kgYXZhdGEiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIwNQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgdmFsdWUiCittc2dzdHIgInZpcmhlZWxsaW5lbiBhaWtha2F0a2Fpc3VhcnZvOiAlcyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjA5CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZXhpdCBjb2RlIgorbXNnc3RyICJWaXJoZWVsbGluZW4gcHl5bnTDtmtvb2RpIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMjgKK21zZ2lkICJ0aGUgLS1uby1mb3JrIGFuZCAtLWNsb3NlIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGNvbW1hbmQgYXJndW1lbnQiCittc2dzdHIgIiVzIHZhYXRpaSBhcmd1bWVudGluXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NAorIywgZnV6enkKK21zZ2lkICJiYWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICJsb2hrb2xhaXRlICIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjU3CisjLCBmdXp6eQorbXNnaWQgInJlcXVpcmVzIGZpbGUgZGVzY3JpcHRvciwgZmlsZSBvciBkaXJlY3RvcnkiCittc2dzdHIgIlZpcmhlZWxsaW5lbiB0aWVkb3N0b2thaHZhIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBsb2NrIgorbXNnc3RyICJWw6RsaW11aXN0aWRhdGFuIGtpcmpvaXR1cyBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4OAorbXNnaWQgInRpbWVvdXQgd2hpbGUgd2FpdGluZyB0byBnZXQgbG9jayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXR0aW5nIGxvY2sgdG9vayAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICIlcyAgJS42ZiBzZWt1bnRpYVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAiVmlyaGUga8OkeW5uaXN0ZXR0w6Rlc3PDpFx0JXNcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50cG9pbnQ+XG4iCittc2dzdHIgIiVzIFt2YWxpdHNpbWV0XSBbPHRpZWRvc3RvPiAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjUzCittc2dpZCAiU3VzcGVuZCBhY2Nlc3MgdG8gYSBmaWxlc3lzdGVtIChleHQzLzQsIFJlaXNlckZTLCBKRlMsIFhGUykuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTYKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZyZWV6ZSAgICAgIGZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgIHQgICAgICAgICAgTXV1dGEgdGllZG9zdG9qw6RyamVzdGVsbcOkbiB0eXlwcGnDpCIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTcKK21zZ2lkICIgLXUsIC0tdW5mcmVlemUgICAgdW5mcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTYKK21zZ2lkICJuZWl0aGVyIC0tZnJlZXplIG9yIC0tdW5mcmVlemUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIlczogZWkgb2xlIGhha2VtaXN0byIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiJXMgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIiVzIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIiCisiXG4iCisiKioqICVzOiBoYWtlbWlzdG8gKioqXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEZJVFJJTSBpb2N0bCBmYWlsZWQiCittc2dzdHIgImlvY3RsKCkgZWkgb25uaXN0dW51dCBsdWtlbWFhbiBhaWthYSBrb2h0ZWVzdGEgJXMiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgaGVyZSBpcyBhIHZlcnkgbGFyZ2UgbnVtYmVyLgorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjEwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglPFBSSXU2ND4gYnl0ZXMpIHRyaW1tZWRcbiIKK21zZ3N0ciAiJXM6IHRhdWx1a2tvIGx1b2thbGxlIOKAnSVz4oCdOiAlbHUgdGF2dWFcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE5MSBzeXMtdXRpbHMvc3dhcG9uLmM6NzI5IHN5cy11dGlscy91bW91bnQuYzozMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxtb3VudCBwb2ludD5cbiIKK21zZ3N0ciAibW91bnQ6IGxpaXRvc3Bpc3RlICVzIGVpIG9sZSBoYWtlbWlzdG8iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTQKK21zZ2lkICJEaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NworIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB0cmltIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIHRoYXQgYXJlIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLWNsZWFyIDxhbGx8cmVzdD5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1OAorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIHRoZSBvZmZzZXQgaW4gYnl0ZXMgdG8gc3RhcnQgZGlzY2FyZGluZyBmcm9tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1OQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiICAgIC1DIyBbdGFpIC0tY3lsaW5kZXJzICNdOmFzZXRhIGvDpHl0ZXR0w6R2w6Qgc3lsaW50ZXJpZW4gbcOkw6Ryw6QiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjAKK21zZ2lkICIgLW0sIC0tbWluaW11bSA8bnVtPiB0aGUgbWluaW11bSBleHRlbnQgbGVuZ3RoIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IG51bWJlciBvZiBkaXNjYXJkZWQgYnl0ZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCIKK21zZ3N0ciAiaW9jdGwoKSBlaSBvbm5pc3R1bnV0IGx1a2VtYWFuIGFpa2FhIGtvaHRlZXN0YSAlcyIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMyOQorIywgZnV6enkKK21zZ2lkICJubyBtb3VudHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAiJXMgZWkgb2xlIGxpaXRvc3Bpc3RlIHRhaSB2aXJoZWVsbGluZW4gdmFsaXRzaW4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGUgZGlzY2FyZCBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiVG9pbWludG8gZWkgb2xlIHR1ZXR0dSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXNzdW1pbmcgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiAlcyB0aW1lLlxuIgorbXNnc3RyICJPbGV0ZXRhYW4gbGFpdHRlaXN0b2tlbGxvbiBvbGV2YW4gJXNhamFzc2EuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ3IHN5cy11dGlscy9od2Nsb2NrLmM6MzM0Cittc2dpZCAiVVRDIgorbXNnc3RyICJVVEMtIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI0NyBzeXMtdXRpbHMvaHdjbG9jay5jOjMzMworbXNnaWQgImxvY2FsIgorbXNnc3RyICJwYWlrYWxsaXNlc3NhICIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMTgKKyMsIGZ1enp5Cittc2dpZCAiIgorIldhcm5pbmc6IHVucmVjb2duaXplZCB0aGlyZCBsaW5lIGluIGFkanRpbWUgZmlsZVxuIgorIihFeHBlY3RlZDogYFVUQycgb3IgYExPQ0FMJyBvciBub3RoaW5nLikiCittc2dzdHIgIiVzOiBWYXJvaXR1czogdHVubmlzdGFtYXRvbiBrb2xtYXMgcml2aSBhZGp0aW1lLXRpZWRvc3Rvc3NhXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgZHJpZnQgYWRqdXN0bWVudCBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiVmlpbWVpbmVuIHNpaXJ0eW3DpHPDpMOkdMO2IHRlaHR5ICVsZCBzZWt1bnRpYSB2dW9kZW4gMTk2OSBqw6Rsa2VlblxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGNhbGlicmF0aW9uIGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICJWaWltZWluZW4ga2FsaWJyb2ludGkgdGVodHkgJWxkIHNla3VudGlhIHZ1b2RlbiAxOTY5IGrDpGxrZWVuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkhhcmR3YXJlIGNsb2NrIGlzIG9uICVzIHRpbWVcbiIKK21zZ3N0ciAiTGFpdHRlaXN0b2tlbGxvIG9uICVzYWphc3NhXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzU4CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgZm9yIGNsb2NrIHRpY2suLi5cbiIKK21zZ3N0ciAiT2RvdGV0YWFuIGtlbGxvbiB0aWtpdHlzdMOkLi4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnN5bmNocm9uaXphdGlvbiBmYWlsZWRcbiIKK21zZ3N0ciAiLi4uc3lua3Jvbm9pbnRpIGVww6Rvbm5pc3R1aVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5nb3QgY2xvY2sgdGlja1xuIgorbXNnc3RyICIuLi5zYWF0aWluIHRpa2l0eXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZXMgaW4gaGFyZHdhcmUgY2xvY2s6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKK21zZ3N0ciAiVmlyaGVlbGxpc2nDpCBhcnZvamEgbGFpdHRlaXN0b2tlbGxvc3NhOiAlMyQuMmQuJTIkLjJkLiUxJDRkICU0JC4yZDolNSQuMmQ6JTYkLjJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkh3IGNsb2NrIHRpbWUgOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICJMYWl0dGVpc3Rva2VsbG9uIGFpa2E6ICUzJC4yZC4lMiQuMmQuJTEkNGQgJTQkLjJkOiU1JC4yZDolNiQuMmQgPSAlNyRsZCBzZWt1bnRpYSB2dW9kZXN0YSAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDY1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgcmVhZCBmcm9tIEhhcmR3YXJlIENsb2NrOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCittc2dzdHIgIkxhaXR0ZWlzdG9rZWxsb3N0YSBsdWV0dHUgYWlrYTogJTMkLjJkLiUyJC4yZC4lMSQ0ZCAlNCQwMmQ6JTUkMDJkOiU2JDAyZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIEhhcmR3YXJlIENsb2NrIHRvICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICJBc2V0ZXRhYW4gbGFpdHRlaXN0b2tlbGxvIGFpa2FhbiAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWt1bnRpYSB2dW9kZXN0YSAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNsb2NrIG5vdCBjaGFuZ2VkIC0gdGVzdGluZyBvbmx5LlxuIgorbXNnc3RyICJLZWxsb25haWthYSBlaSBtdXV0ZXR0dSDigJMgcGVsa2vDpCB0ZXN0aS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAic2xlZXBpbmcgfiVkIHVzZWNcbiIKK21zZ3N0ciAibnVrdXRhYW4gfiVkIMK1c1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGp1bXBlZCBiYWNrd2FyZCAlLjZmIHNlY29uZHMgdG8gJWxkLiUwNmxkIC0gcmV0YXJnZXRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQuJTA2bGQgPCAlbGQuJTA2bGQgKCUuNmYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2VkIGl0IC0gJWxkLiUwNmxkIGlzIHRvbyBmYXIgcGFzdCAlbGQuJTA2bGQgKCUuNmYgPiAlLjZmKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlbGQuJTA2bGQgaXMgY2xvc2UgZW5vdWdoIHRvICVsZC4lMDZsZCAoJS42ZiA8ICUuNmYpXG4iCisiU2V0IFJUQyB0byAlbGQgKCVsZCArICVkOyByZWZzeXN0aW1lID0gJWxkLiUwNmxkKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Njg4CisjLCBmdXp6eQorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayByZWdpc3RlcnMgY29udGFpbiB2YWx1ZXMgdGhhdCBhcmUgZWl0aGVyIGludmFsaWQgKGUuZy4gNTB0aCBkYXkgb2YgbW9udGgpIG9yIGJleW9uZCB0aGUgcmFuZ2Ugd2UgY2FuIGhhbmRsZSAoZS5nLiBZZWFyIDIwOTUpLiIKK21zZ3N0ciAiTGFpdHRlaXN0b2tlbGxvbiByZWtpc3RlcmVpc3PDpCBvbiBhcnZvamEsIGpvdGthIG92YXQgam9rbyBrZWx2b3R0b21pYSAoZXNpbS4ga3V1a2F1ZGVuIDUwOnMgcMOkaXbDpCkgdGFpIHN1dXJlbXBpYSBrdWluIHB5c3R5bW1lIGvDpHNpdHRlbGVtw6TDpG4gKGVzaW0uIHZ1b3NpIDIwOTUpLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjcyOAorIywgZnV6enkKK21zZ2lkICJObyAtLWRhdGUgb3B0aW9uIHNwZWNpZmllZC4iCittc2dzdHIgIlZhbGl0c2ludGEgLS1kYXRlIGVpIG9sZSBhbm5ldHR1LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjczNAorIywgZnV6enkKK21zZ2lkICItLWRhdGUgYXJndW1lbnQgdG9vIGxvbmciCittc2dzdHIgIkFyZ3VtZW50dGlsaXN0YSBvbiBsaWlhbiBwaXRrw6QiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzQxCittc2dpZCAiIgorIlRoZSB2YWx1ZSBvZiB0aGUgLS1kYXRlIG9wdGlvbiBpcyBub3QgYSB2YWxpZCBkYXRlLlxuIgorIkluIHBhcnRpY3VsYXIsIGl0IGNvbnRhaW5zIHF1b3RhdGlvbiBtYXJrcy4iCittc2dzdHIgIiIKKyJWYWxpdHNpbWVsbGUgLS1kYXRlIGFubmV0dHUgYXJ2byBlaSBvbGUga2Vsdm9sbGluZW4gcMOkaXbDpHlzLlxuIgorIkV0ZW5raW4sIGtvc2thIHNlIHNpc8OkbHTDpMOkIGxhaW5hdXNtZXJra2Vqw6QuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJJc3N1aW5nIGRhdGUgY29tbWFuZDogJXNcbiIKK21zZ3N0ciAiS8OkeW5uaXN0ZXTDpMOkbiDigJ1kYXRl4oCdLWtvbWVudG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzUzCittc2dpZCAiVW5hYmxlIHRvIHJ1biAnZGF0ZScgcHJvZ3JhbSBpbiAvYmluL3NoIHNoZWxsLiBwb3BlbigpIGZhaWxlZCIKK21zZ3N0ciAiS29tZW50b2Eg4oCdZGF0ZeKAnSBlaSB2b2l0dSBhamFhIC9iaW4vc2gta3VvcmVzc2EuIHBvcGVuKCkgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc2MQorIywgYy1mb3JtYXQKK21zZ2lkICJyZXNwb25zZSBmcm9tIGRhdGUgY29tbWFuZCA9ICVzXG4iCittc2dzdHIgImRhdGUta29tZW5ub24gdmFzdGF1cyA9ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgdW5leHBlY3RlZCByZXN1bHRzLlxuIgorIlRoZSBjb21tYW5kIHdhczpcbiIKKyIgICVzXG4iCisiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyIgICVzIgorbXNnc3RyICIiCisiJXNpbiBrw6R5bm5pc3TDpG3DpCDigJ1kYXRl4oCdLWtvbWVudG8gcGFsYXV0dGkgb2RvdHRhbWF0dG9taWEgdHVsb2tzaWEuXG4iCisiS29tZW50byBvbGk6XG4iCisiICAlc1xuIgorIlZhc3RhdXMgb2xpOlxuIgorIiAgJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkYXRlIGNvbW1hbmQgaXNzdWVkIGJ5ICVzIHJldHVybmVkIHNvbWV0aGluZyBvdGhlciB0aGFuIGFuIGludGVnZXIgd2hlcmUgdGhlIGNvbnZlcnRlZCB0aW1lIHZhbHVlIHdhcyBleHBlY3RlZC5cbiIKKyJUaGUgY29tbWFuZCB3YXM6XG4iCisiICAlc1xuIgorIlRoZSByZXNwb25zZSB3YXM6XG4iCisiICVzXG4iCittc2dzdHIgIiIKKyIlc2luIGvDpHlubmlzdMOkbcOkIOKAnWRhdGXigJ0ta29tZW50byBwYWxhdXR0aSBtdXV0YSBrdWluIGtva29uYWlzbHV2dW4gb2RvdGV0dW4gbXV1bm5ldHVuIGFpa2EtYXJ2b24gcGFpa2FsbGEuXG4iCisiS29tZW50byBvbGk6XG4iCisiICAlc1xuIgorIlZhc3RhdXMgb2xpOlxuIgorIiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc4NgorIywgYy1mb3JtYXQKK21zZ2lkICJkYXRlIHN0cmluZyAlcyBlcXVhdGVzIHRvICVsZCBzZWNvbmRzIHNpbmNlIDE5NjkuXG4iCittc2dzdHIgInDDpGl2w6R5c21lcmtraWpvbm8gJXMgdmFzdGFhICVsZCBzZWt1bnRpYSB2dW9kZXN0YSAxOTY5LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgyNAorIywgZnV6enkKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBzZXQgdGhlIFN5c3RlbSBUaW1lIGZyb20gaXQuIgorbXNnc3RyICJMYWl0dGVpc3Rva2VsbG9uIGFpa2EgZWkgb2xlIGtlbHZvbGxpbmVuLCBqb3RlbiBqw6RyamVzdGVsbcOkbiBhaWthYSBlaSB2b2lkYSBhc2V0dGFhIHNlbiBwZXJ1c3RlZWxsYS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NDMgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXk6XG4iCittc2dzdHIgIkt1dHN1dGFhbiBzZXR0aW1lb2ZkYXk6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQ0IHN5cy11dGlscy9od2Nsb2NrLmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCittc2dzdHIgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQ2IHN5cy11dGlscy9od2Nsb2NrLmM6OTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorbXNnc3RyICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTAgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgc3lzdGVtIGNsb2NrIGJlY2F1c2UgcnVubmluZyBpbiB0ZXN0IG1vZGUuXG4iCittc2dzdHIgIkrDpHJqZXN0ZWxtw6RrZWxsb2EgZWkgYXNldGV0YSwga29za2Ega8OkeXRldMOkw6RuIHRlc3RpdGlsYWEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODY2IHN5cy11dGlscy9od2Nsb2NrLmM6OTYyCittc2dpZCAiTXVzdCBiZSBzdXBlcnVzZXIgdG8gc2V0IHN5c3RlbSBjbG9jay4iCittc2dzdHIgIlZhaW4gcMOkw6Rrw6R5dHTDpGrDpCB2b2kgYXNldHRhYW4gasOkcmplc3RlbG3DpGtlbGxvbi4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODY5IHN5cy11dGlscy9od2Nsb2NrLmM6OTY1Cittc2dpZCAic2V0dGltZW9mZGF5KCkgZmFpbGVkIgorbXNnc3RyICJzZXR0aW1lb2ZkYXkoKSBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDdXJyZW50IHN5c3RlbSB0aW1lOiAlbGQgPSAlc1xuIgorbXNnc3RyICIlczogJWxkIG55a3lpbmVuIGt5bm55cyBqYSAlbGQgbnlreWluZW4gYWlrYWthdGthaXN1XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlx0VVRDOiAlc1xuIgorbXNnc3RyICJcdFVUQzogJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIC0tdXBkYXRlLWRyaWZ0IG9wdGlvbiB3YXMgbm90IHVzZWQuXG4iCittc2dzdHIgIkVpIHPDpMOkZGV0w6Qgc2lpcnR5bcOka2Vycm9pbnRhLCBrb3NrYSBsYWl0dGVpc3Rva2VsbG9zc2Egb2xpIGVkZWxsaXNlbGzDpCBrZXJyYWxsYSByb3NrYWEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAwMAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSBIYXJkd2FyZSBDbG9jayBwcmV2aW91c2x5IGNvbnRhaW5lZCBnYXJiYWdlLlxuIgorbXNnc3RyICJFaSBzw6TDpGRldMOkIHNpaXJ0eW3DpGtlcnJvaW50YSwga29za2EgbGFpdHRlaXN0b2tlbGxvc3NhIG9saSBlZGVsbGlzZWxsw6Qga2VycmFsbGEgcm9za2FhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgbGFzdCBjYWxpYnJhdGlvbiB0aW1lIGlzIHplcm8sXG4iCisic28gaGlzdG9yeSBpcyBiYWQgYW5kIGNhbGlicmF0aW9uIHN0YXJ0b3ZlciBpcyBuZWNlc3NhcnkuXG4iCittc2dzdHIgIiIKKyJFaSBzw6TDpGRldMOkIHNpaXJ0eW3DpGtlcnJvaW50YSwga29za2EgZWRlbGxpbmVuIGthbGlicm9pbnRpYWlrYSBvbiBub2xsYSxcbiIKKyJqb3RlbiBoaXN0b3JpYSBvbiB2aXJoZWVsbGluZW4gamEga2FsaWJyb2lubmluIHV1ZGVsbGVlbiBhbG9pdHVzIG9uXG4iCisidGFycGVlbGxpc3RhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgaXQgaGFzIGJlZW4gbGVzcyB0aGFuIGZvdXIgaG91cnMgc2luY2UgdGhlIGxhc3QgY2FsaWJyYXRpb24uXG4iCittc2dzdHIgIkVpIHPDpMOkZGV0w6Qgc2lpcnR5bcOka2Vycm9pbnRhLCBrb3NrYSBlZGVsbGlzZXN0w6Qga2FsaWJyb2lubmlzdGEgb24gYWxsZSB2dW9yb2thdXNpLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0IGZhY3RvciB3YXMgY2FsY3VsYXRlZCBhcyAlZiBzZWNvbmRzL2RheS5cbiIKKyJJdCBpcyBmYXIgdG9vIG11Y2guIFJlc2V0dGluZyB0byB6ZXJvLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0ZWQgJWYgc2Vjb25kcyBpbiB0aGUgcGFzdCAlZiBzZWNvbmRzXG4iCisiaW4gc3BpdGUgb2YgYSBkcmlmdCBmYWN0b3Igb2YgJWYgc2Vjb25kcy9kYXkuXG4iCisiQWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBieSAlZiBzZWNvbmRzL2RheVxuIgorbXNnc3RyICIiCisiS2VsbG9uIHNpaXJ0eW3DpCBvbGkgJS4xZiBzZWt1bnRpYSB2aWltZWlzdGVuICVkIHNla3VubmluIGFpa2FuYSwgJWYgc2VrdW50aWEvdnJrIC1zaWlydHltw6RrZXJ0b2ltZXN0YVxuIgorImh1b2xpbWF0dGEuIFPDpMOkZGV0w6TDpG4gc2lpcnR5bcOka2Vycm9pbnRhICVmIHNla3VubmlsbGEvdnJrXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWQgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVkIHNlY29uZHNcbiIKK21zZ3N0clswXSAiQWlrYWEgZWRlbGxpc2VzdMOkIHPDpMOkZMO2c3TDpCBvbiBrdWx1bnV0ICVkIHNla3VudGlhXG4iCittc2dzdHJbMV0gIkFpa2FhIGVkZWxsaXNlc3TDpCBzw6TDpGTDtnN0w6Qgb24ga3VsdW51dCAlZCBzZWt1bnRpYVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbGN1bGF0ZWQgSGFyZHdhcmUgQ2xvY2sgZHJpZnQgaXMgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXMgICUuNmYgc2VrdW50aWFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTMzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCB1cGRhdGluZyBhZGp0aW1lIGZpbGUgYmVjYXVzZSBvZiB0ZXN0aW5nIG1vZGUuXG4iCittc2dzdHIgIkVpIHDDpGl2aXRldMOkIGFkanRpbWUtdGllZG9zdG9hLCBrb3NrYSBrw6R5dGV0w6TDpG4gdGVzdGF1c3RpbGFhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldvdWxkIGhhdmUgd3JpdHRlbiB0aGUgZm9sbG93aW5nIHRvICVzOlxuIgorIiVzIgorbXNnc3RyICIiCisiVGllZG9zdG9vbiAlcyBvbGlzaSBraXJqb2l0ZXR0dSBzZXVyYWF2YWE6XG4iCisiJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE0MworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgb3BlbiBmaWxlIHdpdGggdGhlIGNsb2NrIGFkanVzdG1lbnQgcGFyYW1ldGVycyBpbiBpdCAoJXMpIGZvciB3cml0aW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE0OSBzeXMtdXRpbHMvaHdjbG9jay5jOjExNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHVwZGF0ZSBmaWxlIHdpdGggdGhlIGNsb2NrIGFkanVzdG1lbnQgcGFyYW1ldGVycyAoJXMpIGluIGl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE2NAorbXNnaWQgIkRyaWZ0IGFkanVzdG1lbnQgcGFyYW1ldGVycyBub3QgdXBkYXRlZC4iCittc2dzdHIgIlNpaXJ0eW3DpG5zw6TDpHTDtnBhcmFtZXRyZWphIGVpIHDDpGl2aXRldHR5LiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjAwCittc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3QgYWRqdXN0IGl0LiIKK21zZ3N0ciAiTGFpdHRlaXN0b2tlbGxvbiBhaWthIGVpIG9sZSBrZWx2b2xsaW5lbiwgam90ZW4ga2VsbG9hIGVpIHZvaSBzw6TDpHTDpMOkLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgbGFzdCBhZGp1c3RtZW50IHRpbWUgaXMgemVybywgc28gaGlzdG9yeSBpcyBiYWQuXG4iCittc2dzdHIgIkVpIGFzZXRldGEga2VsbG9hLCBrb3NrYSBlZGVsbGluZW4gc8Okw6R0w7ZhaWthIG9uIG5vbGxhLCBqb3RlbiBoaXN0b3JpYSBvbiB2aXJoZWVsbGluZW4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGRyaWZ0IGZhY3RvciAlZiBpcyBmYXIgdG9vIGhpZ2guXG4iCittc2dzdHIgIkVpIGFzZXRldGEga2VsbG9hLCBrb3NrYSBzaWlydHltw6RrZXJyb2luICVmIG9uIGFpdmFuIGxpaWFuIHN1dXJpLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gdXNhYmxlIGNsb2NrIGludGVyZmFjZSBmb3VuZC5cbiIKK21zZ3N0ciAiS8OkeXR0w7ZrZWxwb2lzdGEga2VsbG9yYWphcGludGFhIGVpIGzDtnl0eW55dC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5lZWRlZCBhZGp1c3RtZW50IGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kLCBzbyBub3Qgc2V0dGluZyBjbG9jay5cbiIKK21zZ3N0ciAiVGFydml0dGF2YSBtdXV0b3Mgb24gYWxsZSBzZWt1bnRpLCBqb3RlbiBlaSBhc2V0ZXRhIGtlbGxvYS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzg4IHN5cy11dGlscy9od2Nsb2NrLmM6MTM5NAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gc2V0IHN5c3RlbSBjbG9jay5cbiIKK21zZ3N0ciAiSsOkcmplc3RlbG3DpGtlbGxvbiBhc2V0dXMgZWkgb25uaXN0dS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjksIFJUQyBpcyBwcmVkaWN0ZWQgdG8gcmVhZCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQzMQorbXNnaWQgIiIKKyJUaGUga2VybmVsIGtlZXBzIGFuIGVwb2NoIHZhbHVlIGZvciB0aGUgSGFyZHdhcmUgQ2xvY2sgb25seSBvbiBhbiBBbHBoYSBtYWNoaW5lLlxuIgorIlRoaXMgY29weSBvZiBod2Nsb2NrIHdhcyBidWlsdCBmb3IgYSBtYWNoaW5lIG90aGVyIHRoYW4gQWxwaGFcbiIKKyIoYW5kIHRodXMgaXMgcHJlc3VtYWJseSBub3QgcnVubmluZyBvbiBhbiBBbHBoYSBub3cpLiAgTm8gYWN0aW9uIHRha2VuLiIKK21zZ3N0ciAiIgorIllkaW4gc8OkaWx5dHTDpMOkIGxhaXR0ZWlzdG9rZWxsb24gZXBvY2gtYXJ2b2EgdmFpbiBBbHBoYS1rb25laWxsYS5cbiIKKyJUw6Rtw6QgaHdjbG9jayBvbiBrw6TDpG5uZXR0eSBtdXVsbGUga29uZWVsbGUga3VpbiBBbHBoYWxsZVxuIgorIihqYSB0b2Rlbm7DpGvDtmlzZXN0aSBzaXTDpCBlaSBhamV0YSBBbHBoYXNzYSBueXQpLiBUb2ltaW50b2EgZWkgc3Vvcml0ZXR0dS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ0OAorIywgZnV6enkKK21zZ2lkICJVbmFibGUgdG8gZ2V0IHRoZSBlcG9jaCB2YWx1ZSBmcm9tIHRoZSBrZXJuZWwuIgorbXNnc3RyICJZdGltZW4gZXBvY2gtYXJ2b2EgZWkgdm9pIGFzZXR0YWEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgaXMgYXNzdW1pbmcgYW4gZXBvY2ggdmFsdWUgb2YgJWx1XG4iCittc2dzdHIgIllkaW4gb2xldHRhYSBlcG9jaC1hcnZva3NpICVsdVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NTUKKyMsIGZ1enp5Cittc2dpZCAiVG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSwgeW91IG11c3QgdXNlIHRoZSAnZXBvY2gnIG9wdGlvbiB0byB0ZWxsIHRvIHdoYXQgdmFsdWUgdG8gc2V0IGl0LiIKK21zZ3N0ciAiRXBvY2gtYXJ2b24gYXNldHRhbWlzZWtzaSBvbiBrw6R5dGV0dMOkdsOkIOKAnWVwb2No4oCdLXZhbGl0c2ludGEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgdGhlIGVwb2NoIHRvICVsdSAtIHRlc3Rpbmcgb25seS5cbiIKK21zZ3N0ciAiRWkgYXNldGV0YSBlcG9jaC1hcnZva3NpICVkIOKAkyB2YWluIGtva2VpbHUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLlxuIgorbXNnc3RyICJZdGltZW4gZXBvY2gtYXJ2b2EgZWkgdm9pIGFzZXR0YWEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU1NgorbXNnaWQgIiBod2Nsb2NrIFtmdW5jdGlvbl0gW29wdGlvbi4uLl1cbiIKK21zZ3N0ciAiIGh3Y2xvY2sgW3RvaW1pbnRvXSBbdmFsaXRzaW4uLi5dXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU1OQorbXNnaWQgIlF1ZXJ5IG9yIHNldCB0aGUgaGFyZHdhcmUgY2xvY2suXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTYxCisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJGdW5jdGlvbnM6XG4iCittc2dzdHIgIj8/P1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjIKK21zZ2lkICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgIHNob3cgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyIgLXIsIC0tc2hvdyAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisiICAgICAtLWdldCAgICAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IGRyaWZ0IGNvcnJlY3RlZCByZXN1bHRcbiIKKyIgICAgIC0tc2V0ICAgICAgICAgICAgc2V0IHRoZSBSVEMgdG8gdGhlIHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjYKK21zZ2lkICIiCisiIC1zLCAtLWhjdG9zeXMgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyIgLXcsIC0tc3lzdG9oYyAgICAgICAgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayBmcm9tIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lXG4iCisiICAgICAtLXN5c3R6ICAgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgYmFzZWQgb24gdGhlIGN1cnJlbnQgdGltZXpvbmVcbiIKKyIgICAgIC0tYWRqdXN0ICAgICAgICAgYWRqdXN0IHRoZSBSVEMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCBzaW5jZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjbG9jayB3YXMgbGFzdCBzZXQgb3IgYWRqdXN0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NzEKK21zZ2lkICIgLWMsIC0tY29tcGFyZSAgICAgICAgcGVyaW9kaWNhbGx5IGNvbXBhcmUgdGhlIHN5c3RlbSBjbG9jayB3aXRoIHRoZSBDTU9TIGNsb2NrXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTczCittc2dpZCAiIgorIiAgICAgLS1nZXRlcG9jaCAgICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisiICAgICAtLXNldGVwb2NoICAgICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGdpdmVuIHdpdGggLS1lcG9jaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU3NworbXNnaWQgIiIKKyIgICAgIC0tcHJlZGljdCAgICAgICAgcHJlZGljdCBSVEMgcmVhZGluZyBhdCB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4MQorbXNnaWQgIiIKKyIgLXUsIC0tdXRjICAgICAgICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gVVRDXG4iCisiICAgICAtLWxvY2FsdGltZSAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIGxvY2FsIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODQKK21zZ2lkICIgLWYsIC0tcnRjIDxmaWxlPiAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1kaXJlY3Rpc2EgICAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorIiAgICAgLS1iYWR5ZWFyICAgICAgICBpZ25vcmUgUlRDJ3MgeWVhciBiZWNhdXNlIHRoZSBCSU9TIGlzIGJyb2tlblxuIgorIiAgICAgLS1kYXRlIDx0aW1lPiAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorIiAgICAgLS1lcG9jaCA8eWVhcj4gICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBoYXJkd2FyZSBjbG9jaydzIGVwb2NoIHZhbHVlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIGRyaWZ0IGZhY3RvciBpbiAlMSRzIChyZXF1aXJlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIC0tc2V0IG9yIC0tc3lzdG9oYylcbiIKKyIgICAgIC0tbm9hZGpmaWxlICAgICAgZG8gbm90IGFjY2VzcyAlMSRzOyB0aGlzIHJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWVcbiIKKyIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlMSRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTk5Cittc2dpZCAiIgorIiAgICAgLS10ZXN0ICAgICAgICAgICBkbyBub3QgdXBkYXRlIGFueXRoaW5nLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBoYXBwZW5cbiIKKyIgLUQsIC0tZGVidWcgICAgICAgICAgZGVidWdnaW5nIG1vZGVcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE2MDIKK21zZ2lkICIiCisiIC1KfC0tamVuc2VuLCAtQXwtLWFyYywgLVN8LS1zcm0sIC1GfC0tZnVua3ktdG95XG4iCisiICAgICAgdGVsbCBod2Nsb2NrIHRoZSB0eXBlIG9mIEFscGhhIHlvdSBoYXZlIChzZWUgaHdjbG9jayg4KSlcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtSnwtLWplbnNlbiwgLUF8LS1hcmMsIC1TfC0tc3JtLCAtRnwtLWZ1bmt5LXRveVxuIgorIiAgICAgIGtlcnRvbyBod2Nsb2NraWxsZSBBbHBoYW4gdHl5cGluIChrcy4gaHdjbG9jayg4KSlcbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNzI4CisjLCBmdXp6eQorbXNnaWQgIlVuYWJsZSB0byBjb25uZWN0IHRvIGF1ZGl0IHN5c3RlbSIKK21zZ3N0ciAiSsOkcmplc3RlbG3DpGtlbGxvbiBhc2V0dXMgZWkgb25uaXN0dS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODI2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZXBvY2ggYXJndW1lbnQiCittc2dzdHIgIlZpcmhlZWxsaW5lbiBhcmd1bWVudHRpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdGFrZXMgbm8gbm9uLW9wdGlvbiBhcmd1bWVudHMuICBZb3Ugc3VwcGxpZWQgJWQuXG4iCittc2dzdHIgIiVzIG90dGFhIHZhaW4gdmFsaXRzaW1pYSBhcmd1bWVudHRlaW5hLiBBbm5vaXQgJWQgbXV1dGEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTg4MAorIywgZnV6enkKK21zZ2lkICJXaXRoIC0tbm9hZGpmaWxlLCB5b3UgbXVzdCBzcGVjaWZ5IGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZSIKK21zZ3N0ciAiJXM6IFZhbGl0c2ltZW4gLS1ub2FkamZpbGUga2Fuc3NhIG9uIGvDpHl0ZXR0w6R2w6Qgam9rbyB2YWxpdHNpbnRhIC0tdXRjIHRhaSAtLWxvY2FsdGltZVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4OTMKKyMsIGZ1enp5Cittc2dpZCAiTm8gdXNhYmxlIHNldC10byB0aW1lLiAgQ2Fubm90IHNldCBjbG9jay4iCittc2dzdHIgInRpZWRvc3RvbiAlcyBhaWthbGVpbW9qZW4gYXNldHRhbWluZW4gZWkgb25uaXN0dSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxOTE3Cittc2dpZCAiQ2Fubm90IGFjY2VzcyB0aGUgSGFyZHdhcmUgQ2xvY2sgdmlhIGFueSBrbm93biBtZXRob2QuIgorbXNnc3RyICJMYWl0dGVpc3Rva2VsbG9hIGVpIHB5c3R5dMOkIGvDpHl0dMOkbcOkw6RuIG1pbGzDpMOkbiB0dW5uZXR1bGxhIHRhdmFsbGEuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE5MjAKK21zZ2lkICJVc2UgdGhlIC0tZGVidWcgb3B0aW9uIHRvIHNlZSB0aGUgZGV0YWlscyBvZiBvdXIgc2VhcmNoIGZvciBhbiBhY2Nlc3MgbWV0aG9kLiIKK21zZ3N0ciAiS8OkeXTDpCAtLWRlYnVnIC12YWxpdHNpbnRhIG7DpGhkw6Rrc2VzaSB5a3NpdHlpc2tvaGRhdCBrw6R5dHTDtnRhdmFuIGV0c2lubsOkc3TDpC4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYm9vdGVkIGZyb20gTUlMT1xuIgorbXNnc3RyICJrw6R5bm5pc3RldHR5IE1JTE9zdGFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJSdWZmaWFuIEJDRCBjbG9ja1xuIgorbXNnc3RyICJSdWZmaWFuIEJDRCAta2VsbG9cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9ja3BvcnQgYWRqdXN0ZWQgdG8gMHgleFxuIgorbXNnc3RyICJrZWxsb3BvcnRpa3NpIGFzZXRldHR1IDB4JXhcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJmdW5reSBUT1khXG4iCittc2dzdHIgImZ1bmt5IFRPWSFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjI5OAorIywgYy1mb3JtYXQKK21zZ2lkICJhdG9taWMgJXMgZmFpbGVkIGZvciAxMDAwIGl0ZXJhdGlvbnMhIgorbXNnc3RyICJhdG9taW5lbiAlcyBlcMOkb25uaXN0dWkgdHVoYW5uZW4gaXRlcmFhdGlvbiBhamFuISIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjMyNAorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3JlYWQoKTogd3JpdGUgdG8gY29udHJvbCBhZGRyZXNzICVYIGZhaWxlZCIKK21zZ3N0ciAiY21vc19yZWFkKCk6IGtpcmpvaXR1cyBvaGphdXNvc29pdHRlZXNlZW4gJVggZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzI4CisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3NfcmVhZCgpOiByZWFkIGZyb20gZGF0YSBhZGRyZXNzICVYIGZhaWxlZCIKK21zZ3N0ciAiY21vc19yZWFkKCk6IGx1a3UgZGF0YW9zb2l0dGVlc3RhICVYIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3dyaXRlKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgImNtb3Nfd3JpdGUoKToga2lyam9pdHVzIG9oamF1c29zb2l0dGVlc2VlbiAlWCBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICJjbW9zX3JlYWQoKToga2lyam9pdHVzIGRhdGFvc29pdHRlZXNlZW4gJVggZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjQ1Cittc2dpZCAiSSBmYWlsZWQgdG8gZ2V0IHBlcm1pc3Npb24gYmVjYXVzZSBJIGRpZG4ndCB0cnkuIgorbXNnc3RyICJFbiBzYWFudXQga8OkeXR0w7ZvaWtldXR0YSwga29za2EgZW4geXJpdHTDpG55dC4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NDgKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGdldCBJL08gcG9ydCBhY2Nlc3M6ICB0aGUgaW9wbCgzKSBjYWxsIGZhaWxlZC4iCittc2dzdHIgIiVzIGVpIHNhYSBrw6R5dHTDtm9pa2V1dHRhIEkvTy1wb3J0dGlpbjogIGlvcGwoMykta3V0c3UgZXDDpG9ubmlzdHVpLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjUxCittc2dpZCAiUHJvYmFibHkgeW91IG5lZWQgcm9vdCBwcml2aWxlZ2VzLlxuIgorbXNnc3RyICJUYXJ2aXRzZXQgdG9kZW5uw6Rrw7Zpc2VzdGkgcMOkw6Rrw6R5dHTDpGrDpG4gb2lrZXVkZXQuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NTgKK21zZ2lkICJVc2luZyBkaXJlY3QgSS9PIGluc3RydWN0aW9ucyB0byBJU0EgY2xvY2suIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHJlYWQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICJpb2N0bCgpIGVpIG9ubmlzdHVudXQgbHVrZW1hYW4gYWlrYWEga29odGVlc3RhICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gJXMgdG8gY2hhbmdlXG4iCittc2dzdHIgIk9kb3RldGFhbiBzaWxtdWthc3NhIGxhaXR0ZWVuICVzIGFqYW4gbXV1dHR1bWlzdGFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjM2Cittc2dpZCAiVGltZWQgb3V0IHdhaXRpbmcgZm9yIHRpbWUgY2hhbmdlLiIKK21zZ3N0ciAiQWlrYWthdGthaXN1IG9kb3RldHRhZXNzYSBhamFuIG11dXRvc3RhLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRvZXMgbm90IGhhdmUgaW50ZXJydXB0IGZ1bmN0aW9ucy4gIgorbXNnc3RyICJsYWl0dGVlbGxhICVzIGVpIG9sZSBrZXNrZXl0eXNmdW5rdGlvaXRhLiAiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMwMgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKK21zZ3N0ciAia2VsbG9uIHRpa2l0eXN0w6Qgb2RvdHRhdmEgc2VsZWN0KCkta3V0c3UgbGFpdHRlZWxsZSAlcyBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayB0aW1lZCBvdXQiCittc2dzdHIgImtlbGxvbiB0aWtpdHlzdMOkIG9kb3R0YXZhIHNlbGVjdCgpLWt1dHN1IGxhaXR0ZWVsbGUgJXMgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9mZiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQiCittc2dzdHIgInDDpGl2aXR5c2tlc2tleXR5a3NldCBsb3BldHRhdmEgaW9jdGwoKSBsYWl0dGVlbGxlICVzIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvbiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQgdW5leHBlY3RlZGx5IgorbXNnc3RyICJww6Rpdml0eXNrZXNrZXl0eWtzZXQgYWxvaXR0YXZhIGlvY3RsKCkgbGFpdHRlZWxsZSAlcyBlcMOkb25uaXN0dWkgb2RvdHRhbWF0dG9tYXN0aSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gc2V0IHRoZSB0aW1lIGZhaWxlZC4iCittc2dzdHIgImlvY3RsKCkgZWkgb25uaXN0dW51dCBsdWtlbWFhbiBhaWthYSBrb2h0ZWVzdGEgJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgd2FzIHN1Y2Nlc3NmdWwuXG4iCittc2dzdHIgImlvY3RsKCVzKSBvbm5pc3R1aS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mzg3CisjLCBmdXp6eQorbXNnaWQgIlVzaW5nIHRoZSAvZGV2IGludGVyZmFjZSB0byB0aGUgY2xvY2suIgorbXNnc3RyICJLw6R5dHTDtmtlbHBvaXN0YSBrZWxsb3JhamFwaW50YWEgZWkgbMO2eXR5bnl0LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MTcgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUbyBtYW5pcHVsYXRlIHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLCB3ZSBtdXN0IGFjY2VzcyB0aGUgTGludXggJ3J0YycgZGV2aWNlIGRyaXZlciB2aWEgdGhlIGRldmljZSBzcGVjaWFsIGZpbGUgJXMuICBUaGlzIGZpbGUgZG9lcyBub3QgZXhpc3Qgb24gdGhpcyBzeXN0ZW0uIgorbXNnc3RyICJZdGltZW4gZXBvY2gtYXJ2b24gbXV1dHRhbWlzZWtzaSBvbiBrw6R5dGV0dMOkdsOkIExpbnV4aW4g4oCdcnRj4oCdLWxhaXRlYWp1cmlhIGxhaXRldGllZG9zdG9uICVzIGthdXR0YS4gVMOkc3PDpCBqw6RyamVzdGVsbcOkc3PDpCBlaSBvbGUga3lzZWlzdMOkIHRpZWRvc3RvYS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDI5CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSB0byAlcyBmYWlsZWQiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSBsYWl0dGVlbGxlICVzIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3ZSBoYXZlIHJlYWQgZXBvY2ggJWx1IGZyb20gJXMgd2l0aCBSVENfRVBPQ0hfUkVBRCBpb2N0bC5cbiIKK21zZ3N0ciAibHVpbW1lIGVwb2NoLWFydm9uICVsZCBsYWl0dGVlbHRhICVzIGlvY3RsOmxsw6QgUlRDX0VQT0NIX1JFQUQuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ1NQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZXBvY2ggdmFsdWUgbWF5IG5vdCBiZSBsZXNzIHRoYW4gMTkwMC4gIFlvdSByZXF1ZXN0ZWQgJWxkIgorbXNnc3RyICJFcG9jaC1hcnZvIGVpIHZvaSBvbGxhIHBpZW5lbXBpIGt1aW4gMTkwMC4gUHl5bnTDtiBvbGkgJWxkIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgZXBvY2ggdG8gJWx1IHdpdGggUlRDX0VQT0NIX1NFVCBpb2N0bCB0byAlcy5cbiIKK21zZ3N0ciAiYXNldGV0YWFuIGVwb2NoLWFydm9rc2kgJWxkLCBpb2N0bCBSVENfRVBPQ0hfU0VUIGxhaXR0ZWVsbGUgJXMuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUga2VybmVsIGRldmljZSBkcml2ZXIgZm9yICVzIGRvZXMgbm90IGhhdmUgdGhlIFJUQ19FUE9DSF9TRVQgaW9jdGwuIgorbXNnc3RyICJZdGltZW4gbGFpdGVhanVyaXNzYSBsYWl0dGVlbGxlICVzIGVpIG9sZSBpb2N0bDrDpMOkIFJUQ19FUE9DSF9TRVQuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoUlRDX0VQT0NIX1NFVCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfU0VUKSBsYWl0dGVlbGxlICVzIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NjkKK21zZ2lkICJDcmVhdGUgdmFyaW91cyBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjcyCittc2dpZCAiIC1NLCAtLXNobWVtIDxzaXplPiAgICAgICBjcmVhdGUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IG9mIHNpemUgPHNpemU+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzMKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlIDxudW1iZXI+IGNyZWF0ZSBzZW1hcGhvcmUgYXJyYXkgd2l0aCA8bnVtYmVyPiBlbGVtZW50c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc0CisjLCBmdXp6eQorbXNnaWQgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgY3JlYXRlIG1lc3NhZ2UgcXVldWVcbiIKK21zZ3N0ciAiVmllc3Rpam9ub24gaWQ6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc1Cittc2dpZCAiIC1wLCAtLW1vZGUgPG1vZGU+ICAgICAgICBwZXJtaXNzaW9uIGZvciB0aGUgcmVzb3VyY2UgKGRlZmF1bHQgaXMgMDY0NClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTAgc3lzLXV0aWxzL2xvc2V0dXAuYzo2OTcgc3lzLXV0aWxzL3pyYW1jdGwuYzo2MjIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNpemUiCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbGVtZW50cyIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIHNoYXJlIG1lbW9yeSBmYWlsZWQiCittc2dzdHIgImtvdmFuIGxpbmtpbiAlcyBsdW9taW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBpZDogJWRcbiIKK21zZ3N0ciAiLS0tLS0tIEphZXR1biBtdWlzdGluIHJhamF0IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0OQorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgbWVzc2FnZSBxdWV1ZSBmYWlsZWQiCittc2dzdHIgInZpZXN0aWpvbm8iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIHF1ZXVlIGlkOiAlZFxuIgorbXNnc3RyICJWaWVzdGlqb25vbiBpZDogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBzZW1hcGhvcmUgZmFpbGVkIgorbXNnc3RyICJrb3ZhbiBsaW5raW4gJXMgbHVvbWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VtYXBob3JlIGlkOiAlZFxuIgorbXNnc3RyICJTZW1hZm9yaW4gaWQ6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPGlkPi4uLlxuIgorbXNnc3RyICIgJXMgW3ZhbGl0c2ltZXRdIDx0aWVkb3N0bz4uLi5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTQKK21zZ2lkICJSZW1vdmUgY2VydGFpbiBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU3CisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1zaG1lbS1pZCA8aWQ+ICAgICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGlkXG4iCittc2dzdHIgIi0tLS0tLSBKYWV0dW4gbXVpc3RpbiBzZWdtZW50aXQgLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU4Cittc2dpZCAiIC1NLCAtLXNobWVtLWtleSA8a2V5PiAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkga2V5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTkKK21zZ2lkICIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkgaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MAorbXNnaWQgIiAtUSwgLS1xdWV1ZS1rZXkgPGtleT4gICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBrZXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MQorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmUtaWQgPGlkPiAgICByZW1vdmUgc2VtYXBob3JlIGJ5IGlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjIKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlLWtleSA8a2V5PiAgcmVtb3ZlIHNlbWFwaG9yZSBieSBrZXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MworbXNnaWQgIiAtYSwgLS1hbGxbPXNobXxtc2d8c2VtXSAgICByZW1vdmUgYWxsIChpbiB0aGUgc3BlY2lmaWVkIGNhdGVnb3J5KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjY0CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIiCisiICAtdSwgLS11cGRhdGUgICAgICAgICAgICAgICAgIGtvcGlvaSB2YWluIGpvcyBMw4RIREV0aWVkb3N0byBvbiB1dWRlbXBpIGt1aW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrb2hkZSwgdGFpIGpvcyBrb2hkZXRpZWRvc3RvIHB1dXR0dXVcbiIKKyIgIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgc2VsaXTDpCBtaXTDpCB0YXBhaHR1dVxuIgorIiAgLXgsIC0tb25lLWZpbGUtc3lzdGVtICAgICAgICBweXN5IHTDpHNzw6QgdGllZG9zdG9qw6RyamVzdGVsbcOkc3PDpFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVtb3Zpbmcgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGlkIGAlZCdcbiIKK21zZ3N0ciAiIgorIlxuIgorIkphZXR1biBtdWlzdGluIHNlZ21lbnR0aSBqbXVpc3RpLWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBtZXNzYWdlIHF1ZXVlIGlkIGAlZCdcbiIKK21zZ3N0ciAiVmllc3Rpam9ub24gaWQ6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzZW1hcGhvcmUgaWQgYCVkJ1xuIgorbXNnc3RyICJTZW1hZm9yaW4gaWQ6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOCBzeXMtdXRpbHMvaXBjcm0uYzoyMjIKKyMsIGZ1enp5Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGtleSIKK21zZ3N0ciAiTHVwYSBldsOkdHR5IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDgKKyMsIGZ1enp5Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGlkIgorbXNnc3RyICJMdXBhIGV2w6R0dHkiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMSBzeXMtdXRpbHMvaXBjcm0uYzoyMjgKK21zZ2lkICJpbnZhbGlkIGtleSIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIGF2YWluIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEKK21zZ2lkICJpbnZhbGlkIGlkIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gaWQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNCBzeXMtdXRpbHMvaXBjcm0uYzoyMjUKKyMsIGZ1enp5Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGtleSIKK21zZ3N0ciAiYXZhaW4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNAorIywgZnV6enkKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQgaWQiCittc2dzdHIgIiVzOiBwb2lzdGV0dHUiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNyBzeXMtdXRpbHMvaXBjcm0uYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAia2V5IGZhaWxlZCIKK21zZ3N0ciAiYXZhaW4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNworIywgZnV6enkKK21zZ2lkICJpZCBmYWlsZWQiCittc2dzdHIgImlkPSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkOiAlcyIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIHByb3Nlc3NpLUlEIOKAnSVz4oCdIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzb3VyY2UocykgZGVsZXRlZFxuIgorbXNnc3RyICJyZXN1cnNzaSh0KSBwb2lzdGV0dHVcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGtleSAoJXMpIgorbXNnc3RyICJWw6TDpHLDpCBuw6RwcMOkaW4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI1NgorIywgZnV6enkKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgImphZXR0dSBtdWlzdGlvYmpla3RpIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNjkKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzIgorbXNnc3RyICJlaSBrb25maWd1cm9pdHUgc3lzcm9vdC1vdHNha2tlaWRlbiBsb3BwdWxpaXR0ZWVsbMOkIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyOTAKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiLS0tLS0tLSBWaWVzdGlqb25vdDogUElEaXQgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW3Jlc291cmNlLW9wdGlvbi4uLl0gW291dHB1dC1vcHRpb25dXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTYgc3lzLXV0aWxzL2xzaXBjLmM6MjgwCittc2dpZCAiU2hvdyBpbmZvcm1hdGlvbiBvbiBJUEMgZmFjaWxpdGllcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NCBzeXMtdXRpbHMvbHNpcGMuYzoyODMKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2Ugb3B0aW9uczpcbiIKK21zZ3N0ciAicmVzdXJzc2kodCkgcG9pc3RldHR1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUgc3lzLXV0aWxzL2xzaXBjLmM6Mjg0CisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1zaG1lbXMgICAgICBzaGFyZWQgbWVtb3J5IHNlZ21lbnRzXG4iCittc2dzdHIgIi0tLS0tLSBKYWV0dW4gbXVpc3RpbiBzZWdtZW50aXQgLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjYgc3lzLXV0aWxzL2xzaXBjLmM6Mjg1CisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWV1ZXMgICAgICBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICItLS0tLS0tIFZpZXN0aWpvbm90OiBQSURpdCAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY3IHN5cy11dGlscy9sc2lwYy5jOjI4NgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlcyAgc2VtYXBob3Jlc1xuIgorbXNnc3RyICJ2YXJhdHR1amEgc2VtYWZvcmVqYSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjgKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgIGFsbCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1jbGVhciA8YWxsfHJlc3Q+XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiT3V0cHV0IG9wdGlvbnM6XG4iCittc2dzdHIgIlN5w7Z0ZS90dWxvc3RlbXVvZG9uIG3DpMOkcml0dGVseToiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzIKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgc2hvdyBQSURzIG9mIGNyZWF0b3IgYW5kIGxhc3Qgb3BlcmF0b3JcbiIKK21zZ3N0ciAiIC15LCAtLXllYXIgICAgICAgICAgICBuw6R5dMOkIGtva28gbnlreWluZW4gdnVvc2lcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NAorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NQorbXNnaWQgIiAtbCwgLS1saW1pdHMgICAgICBzaG93IHJlc291cmNlIGxpbWl0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKK21zZ2lkICIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWh1bWFuICAgICAgIHNob3cgc2l6ZXMgaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc4Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgIHNob3cgc2l6ZXMgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjE2NAorbXNnaWQgIndoZW4gdXNpbmcgYW4gSUQsIGEgc2luZ2xlIHJlc291cmNlIG11c3QgYmUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2hhcmVkIG1lbW9yeSBsaW1pdHNcbiIKK21zZ3N0ciAiamFldHR1IG11aXN0aW9iamVrdGkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gSmFldHVuIG11aXN0aW4gcmFqYXQgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2Ygc2VnbWVudHMgPSAlanVcbiIKK21zZ3N0ciAidGF1bHVra29qYSBlbmludMOkw6RuID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDkKKyMsIGZ1enp5Cittc2dpZCAibWF4IHNlZyBzaXplIgorbXNnc3RyICJLb2tvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxMQorIywgZnV6enkKK21zZ2lkICJtYXggdG90YWwgc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAiamFldHR1IG11aXN0aW9iamVrdGkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjE0CisjLCBmdXp6eQorbXNnaWQgIm1pbiBzZWcgc2l6ZSIKK21zZ3N0ciAiS29rbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeVxuIgorbXNnc3RyICItLS0tLS0gSmFldHVuIG11aXN0aW4gcmFqYXQgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBKYWV0dW4gbXVpc3RpbiB0aWxhIC0tLS0tLS0tLVxuIgorCisjLiBUUkFOU0xBVE9SUzogVGhpcyBvdXRwdXQgZm9ybWF0IGlzIG1haW50YWluZWQgZm9yIGJhY2t3YXJkCisjLiBjb21wYXRpYmlsaXR5IGFzIGlwY3MgaXMgdXNlZCBpbiBzY3JpcHRzLiBGb3IgY29uc2lzdGVuY3kKKyMuIHdpdGggdGhlIHJlc3QsIHRoZSB0cmFuc2xhdGVkIGZvcm0gY2FuIGZvbGxvdyB0aGlzIG1vZGVsOgorIy4gKgorIy4gInNlZ21lbnRzIGFsbG9jYXRlZCA9ICVkXG4iCisjLiAicGFnZXMgYWxsb2NhdGVkID0gJWxkXG4iCisjLiAicGFnZXMgcmVzaWRlbnQgPSAlbGRcbiIKKyMuICJwYWdlcyBzd2FwcGVkID0gJWxkXG4iCisjLiAic3dhcCBwZXJmb3JtYW5jZSA9ICVsZCBhdHRlbXB0cywgJWxkIHN1Y2Nlc3Nlc1xuIgorIy4KKyM6IHN5cy11dGlscy9pcGNzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyJwYWdlcyBhbGxvY2F0ZWQgJWxkXG4iCisicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorInBhZ2VzIHN3YXBwZWQgICAlbGRcbiIKKyJTd2FwIHBlcmZvcm1hbmNlOiAlbGQgYXR0ZW1wdHNcdCAlbGQgc3VjY2Vzc2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI3NAorIzogc3lzLXV0aWxzL2lwY3MuYzoyODAKK21zZ2lkICJzaG1pZCIKK21zZ3N0ciAiam11aXN0aS1pZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzozODYKKyM6IHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NDg5IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAicGVybXMiCittc2dzdHIgIm9pa2V1ZGV0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgImN1aWQiCittc2dzdHIgImN1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiY2dpZCIKK21zZ3N0ciAiY2dpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJ1aWQiCittc2dzdHIgInVpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJnaWQiCittc2dzdHIgImdpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQXR0YWNoL0RldGFjaC9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI3NCBzeXMtdXRpbHMvaXBjcy5jOjI4MAorIzogc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo0OTUKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxIHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAib3duZXIiCittc2dzdHIgIm9taXN0YWphIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NworIywgZnV6enkKK21zZ2lkICJhdHRhY2hlZCIKK21zZ3N0ciAiUHJvdG9rb2xsYS1hanVyaSBlaSBvbGUga3l0a2V0dHkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3Cittc2dpZCAiZGV0YWNoZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjgKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlZCIKK21zZ3N0ciAiIChtdXV0ZXR0dSlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IENyZWF0b3IvTGFzdC1vcCBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBKYWV0dW4gbXVpc3RpbiB0aWxhIC0tLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3NAorbXNnaWQgImNwaWQiCittc2dzdHIgImNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc0Cittc2dpZCAibHBpZCIKK21zZ3N0ciAibHBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEphZXR1biBtdWlzdGluIHNlZ21lbnRpdCAtLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJrZXkiCittc2dzdHIgImF2YWluIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MSBzeXMtdXRpbHMvaXBjcy5jOjUwOAorbXNnaWQgInNpemUiCittc2dzdHIgImtva28iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgxIHN5cy11dGlscy9wcmxpbWl0LmM6NzUgc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OCBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIgc3lzLXV0aWxzL3BybGltaXQuYzo4NiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAiYnl0ZXMiCittc2dzdHIgInRhdnV0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MgorbXNnaWQgIm5hdHRjaCIKK21zZ3N0ciAibGlpdC1tw6TDpHLDpCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODIKK21zZ2lkICJzdGF0dXMiCittc2dzdHIgInN0YXR1cyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMDYgc3lzLXV0aWxzL2lwY3MuYzozMDggc3lzLXV0aWxzL2lwY3MuYzozMTAKKyM6IHN5cy11dGlscy9pcGNzLmM6NDI0IHN5cy11dGlscy9pcGNzLmM6NDI2IHN5cy11dGlscy9pcGNzLmM6NTMyCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUzNCBzeXMtdXRpbHMvaXBjcy5jOjUzNiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorIzogc3lzLXV0aWxzL2lwY3MuYzo1OTIgc3lzLXV0aWxzL2lwY3MuYzo2MjEgc3lzLXV0aWxzL2lwY3MuYzo2MjMKKyM6IHN5cy11dGlscy9pcGNzLmM6NjI1IHN5cy11dGlscy9pcGNzLmM6NjQ5Cittc2dpZCAiTm90IHNldCIKK21zZ3N0ciAiRWkgYXNldGV0dHUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzM2IHN5cy11dGlscy9sc2lwYy5jOjk3NiBzeXMtdXRpbHMvbHNpcGMuYzo5ODIKK21zZ2lkICJkZXN0IgorbXNnc3RyICJrb2hkZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMzcgc3lzLXV0aWxzL2xzaXBjLmM6OTc3IHN5cy11dGlscy9sc2lwYy5jOjk5MAorbXNnaWQgImxvY2tlZCIKK21zZ3N0ciAibHVraXR0dSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzZW1hcGhvcmUgbGltaXRzXG4iCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9TRVQpIGxhaXR0ZWVsbGUgJXMgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tIFNlbWFmb3JpZW4gcmFqYXQgLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MQorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIGFycmF5cyA9ICVkXG4iCittc2dzdHIgInRhdWx1a2tvamEgZW5pbnTDpMOkbiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHBlciBhcnJheSA9ICVkXG4iCittc2dzdHIgInNlbWFmb3JlamEgdGF1bHVrb3NzYSBlbmludMOkw6RuID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICJzZW1hZm9yZWphIGrDpHJqZXN0ZWxtw6Rzc8OkIGVuaW50w6TDpG4gPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggb3BzIHBlciBzZW1vcCBjYWxsID0gJWRcbiIKK21zZ3N0ciAib3BlcmFhdGlvaXRhIHNlbW9wLWt1dHN1YSBrb2hkZW4gZW5pbnTDpMOkbiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZW1hcGhvcmUgbWF4IHZhbHVlID0gJXVcbiIKK21zZ3N0ciAic2VtYWZvcmluIGFydm8gZW5pbnTDpMOkbiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAidmFyYXR0dWphIHNlbWFmb3JlamEgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tIFNlbWFmb3JpZW4gdGlsYSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGFycmF5cyA9ICVkXG4iCittc2dzdHIgImvDpHl0ZXR0eWrDpCB0YXVsdWtvaXRhID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHNlbWFwaG9yZXMgPSAlZFxuIgorbXNnc3RyICJ2YXJhdHR1amEgc2VtYWZvcmVqYSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLSBTZW1hZm9yaXRhdWx1a29pZGVuIEx1b2phdC9PbWlzdGFqYXQgLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0MDEKK21zZ2lkICJzZW1pZCIKK21zZ3N0ciAic2VtaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgT3BlcmF0aW9uL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU2VtYWZvcmllbiBPcGVyYWF0aW8tL011dXRvc2FqYXQgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIKK21zZ2lkICJsYXN0LW9wIgorbXNnc3RyICJsYXN0LW9wIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorbXNnaWQgImxhc3QtY2hhbmdlZCIKK21zZ3N0ciAibGFzdC1jaGFuZ2VkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU2VtYWZvcml0YXVsdWtvdCAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwMQorbXNnaWQgIm5zZW1zIgorbXNnc3RyICJuc2VtcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBtZXNzYWdlIGxpbWl0c1xuIgorbXNnc3RyICJQw6RpZGVuIG3DpMOkcsOkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gSmFldHVuIG11aXN0aW4gcmFqYXQgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHF1ZXVlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgImpvbm9qYSBqw6RyamVzdGVsbcOkc3PDpCBlbmludMOkw6RuID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjUKKyMsIGZ1enp5Cittc2dpZCAibWF4IHNpemUgb2YgbWVzc2FnZSIKK21zZ3N0ciAiS29rbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjcKKyMsIGZ1enp5Cittc2dpZCAiZGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSIKK21zZ3N0ciAiam9ub24gb2xldHVzZW5pbW3DpGlza29rbyAodGF2dWEpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiLS0tLS0tLSBWaWVzdGlqb25vdDogUElEaXQgLS0tLS0tLS1cbiIKKworIyBJbG1hbiBrYWtzb2lzcGlzdGV0dMOkIFN0YXR1cy1vdHNpa29pZGVuIHlodGVuw6Rpc3l5ZGVuIHZ1b2tzaQorIzogc3lzLXV0aWxzL2lwY3MuYzo0NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiVGlsYSAgICAgICAgICAgICAgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3OQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgcXVldWVzID0gJWRcbiIKK21zZ3N0ciAidmFyYXR0dWphIGpvbm9qYSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgaGVhZGVycyA9ICVkXG4iCittc2dzdHIgImvDpHl0ZXR0eWrDpCBvdHNha2tlaXRhID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODIKKyMsIGZ1enp5Cittc2dpZCAidXNlZCBzcGFjZSIKK21zZ3N0ciAiS8OkeXQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgzCisjLCBmdXp6eQorbXNnaWQgIiBieXRlc1xuIgorbXNnc3RyICJIYWtlbWlzdG9kYXRhOiAlemQgdGF2dWFcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0gU2VtYWZvcml0YXVsdWtvaWRlbiBMdW9qYXQvT21pc3RhamF0IC0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg5IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTAxCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgIm1zcWlkIgorbXNnc3RyICJ2c3Rqbm8taWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBTZW5kL1JlY3YvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tIFZpZXN0aWpvbm90OiBMw6RoLi0vVmFzdC5vdHRvLS9NdXV0b3NhamF0IC0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgInNlbmQiCittc2dzdHIgInNlbmQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAicmVjdiIKK21zZ3N0ciAicmVjdiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIgorbXNnc3RyICJrZWxsb24gc2lpcnRvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tIFZpZXN0aWpvbm90OiBQSURpdCAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImxzcGlkIgorbXNnc3RyICJsc3BpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJscnBpZCIKK21zZ3N0ciAibHJwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tLSBWaWVzdGlqb25vdCAtLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDgKK21zZ2lkICJ1c2VkLWJ5dGVzIgorbXNnc3RyICJrw6R5dC10YXZ1dCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDkKK21zZ2lkICJtZXNzYWdlcyIKK21zZ3N0ciAidmllc3RpdCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzQgc3lzLXV0aWxzL2lwY3MuYzo2MDQgc3lzLXV0aWxzL2lwY3MuYzo2MzcKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUzNiBzeXMtdXRpbHMvbHNpcGMuYzo3MjIgc3lzLXV0aWxzL2xzaXBjLmM6ODc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpZCAlZCBub3QgZm91bmQiCittc2dzdHIgIlNlbWFmb3JpbiBpZDogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZCBtZW1vcnkgU2VnbWVudCBzaG1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisiSmFldHVuIG11aXN0aW4gc2VnbWVudHRpIGptdWlzdGktaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCittc2dzdHIgInVpZD0lZFx0Z2lkPSVkXHRjdWlkPSVkXHRjZ2lkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjb1x0YWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICJtb2RlPSUjbywgYWNjZXNzX3Blcm1zPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorbXNnaWQgInNpemU9IgorbXNnc3RyICJzaXplPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODQKK21zZ2lkICJieXRlcz0iCittc2dzdHIgImJ5dGVzPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAibHBpZD0ldVx0Y3BpZD0ldVx0bmF0dGNoPSVqZFxuIgorbXNnc3RyICJscGlkPSV1XHRjcGlkPSV1XHRuYXR0Y2g9JWpkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgImF0dF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImF0dF90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgImRldF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImRldF90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkzIHN5cy11dGlscy9pcGNzLmM6NjI0CisjLCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZV90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImNoYW5nZV90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlIFF1ZXVlIG1zcWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJWaWVzdGlqb25vbiBtc3FpZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVx0bW9kZT0lI29cbiIKK21zZ3N0ciAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG1vZGU9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjEzCittc2dpZCAiY3NpemU9IgorbXNnc3RyICJjc2l6ZT0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjEzCittc2dpZCAiY2J5dGVzPSIKK21zZ3N0ciAiY2J5dGVzPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKK21zZ2lkICJxc2l6ZT0iCittc2dzdHIgInFzaXplPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKK21zZ2lkICJxYnl0ZXM9IgorbXNnc3RyICJxYnl0ZXM9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAic2VuZF90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgInJjdl90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgInJjdl90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIEFycmF5IHNlbWlkPSVkXG4iCittc2dzdHIgInNlbWFmb3JlamEgdGF1bHVrb3NzYSBlbmludMOkw6RuID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0IGdpZD0ldVx0IGN1aWQ9JXVcdCBjZ2lkPSV1XG4iCittc2dzdHIgInVpZD0lZFx0IGdpZD0lZFx0IGN1aWQ9JWRcdCBjZ2lkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvLCBhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgIm1vZGU9JSNvLCBhY2Nlc3NfcGVybXM9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJuc2VtcyA9ICVqdVxuIgorbXNnc3RyICIlcyAoJWp1LSVqdSk6ICIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAib3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICJvdGltZSA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgImN0aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAiY3RpbWUgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInNlbW51bSIKK21zZ3N0ciAic2VtbnVtIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInZhbHVlIgorbXNnc3RyICJ2YWx1ZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJuY291bnQiCittc2dzdHIgIm5jb3VudCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJ6Y291bnQiCittc2dzdHIgInpjb3VudCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJwaWQiCittc2dzdHIgInBpZCIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjMwIHN5cy11dGlscy9pcGN1dGlscy5jOjIzNCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzgKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQiCittc2dzdHIgIiVzIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoYnl0ZXMpID0gIgorbXNnc3RyICIlczogdGF1bHVra28gbHVva2FsbGUg4oCdJXPigJ06ICVsdSB0YXZ1YVxuIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIChrYnl0ZXMpID0gIgorbXNnc3RyICIgICAgICAgICAgJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE4MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGlmbGFnIgorbXNnc3RyICJ2aXJoZWVsbGluZW4ga8OkeXR0w6Rqw6QiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bGRpc2M+IDxkZXZpY2U+XG4iCittc2dzdHIgIiAlcyBbdmFsaXRzaW1ldF0gWzxsYWl0ZT4gLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxOTkKK21zZ2lkICJBdHRhY2ggYSBsaW5lIGRpc2NpcGxpbmUgdG8gYSBzZXJpYWwgbGluZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDIKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBtZXNzYWdlcyB0byBzdGRlcnJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDMKK21zZ2lkICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAgc2V0IHNlcmlhbCBsaW5lIHNwZWVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA0Cittc2dpZCAiIC1jLCAtLWludHJvLWNvbW1hbmQgPHN0cmluZz4gaW50cm8gc2VudCBiZWZvcmUgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDUKK21zZ2lkICIgLXAsIC0tcGF1c2UgPHNlY29uZHM+ICAgcGF1c2UgYmV0d2VlbiBpbnRybyBhbmQgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDYKK21zZ2lkICIgLTcsIC0tc2V2ZW5iaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDcgYml0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNworbXNnaWQgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gOCBiaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA4Cittc2dpZCAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIHNldCBwYXJpdHkgdG8gbm9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOQorbXNnaWQgIiAtZSwgLS1ldmVucGFyaXR5ICAgICAgICBzZXQgcGFyaXR5IHRvIGV2ZW5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTAKK21zZ2lkICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAgc2V0IHBhcml0eSB0byBvZGRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTEKK21zZ2lkICIgLTEsIC0tb25lc3RvcGJpdCAgICAgICAgc2V0IHN0b3AgYml0cyB0byBvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTIKK21zZ2lkICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAgc2V0IHN0b3AgYml0cyB0byB0d29cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTMKK21zZ2lkICIgLWksIC0taWZsYWcgWy1dPGlmbGFnPiAgc2V0IGlucHV0IG1vZGUgZmxhZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxOQorbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8bGRpc2M+IG5hbWVzOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIyMworbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8aWZsYWc+IG5hbWVzOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNwZWVkIGFyZ3VtZW50IgorbXNnc3RyICJWaXJoZWVsbGluZW4gYXJndW1lbnR0aSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcGF1c2UgYXJndW1lbnQiCittc2dzdHIgInZpcmhlZWxsaW5lbiBww6TDpGFyZ3VtZW50dGkiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM1OQorbXNnaWQgImludmFsaWQgb3B0aW9uIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gdmFsaXRzaW4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM3MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGxpbmUgZGlzY2lwbGluZSBhcmd1bWVudCIKK21zZ3N0ciAiVmlyaGVlbGxpbmVuIGFyZ3VtZW50dGkiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgc2VyaWFsIGxpbmUiCittc2dzdHIgIiVzIGVpIG9sZSBsb2hrb2xhaXRlIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgInRpZWRvc3RvbiAlcyBvbWluYWlzdXVrc2llbiBoYWtlbWluZW4gZWkgb25uaXN0dSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzcGVlZCAlZCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAidHVudGVtYXRvbiB2w6RyaW1vb2RpIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgImtvbmVuaW1lbiAlcyBhc2V0dGFtaW5lbiBqw6RyamVzdGVsbcOkbGxlIGVpIG9ubmlzdHUiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlIGludHJvIGNvbW1hbmQgdG8gJXMiCittc2dzdHIgImhha2VtaXN0b24gJXMgbHVvbWluZW4gZWkgb25uaXN0dSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDY5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgbGluZSBkaXNjaXBsaW5lIgorbXNnc3RyICJMZXZ5YXNlbWFsbGEgZWkgdm9pIHNpaXJ0ecOkIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NzkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGRhZW1vbml6ZSIKK21zZ3N0ciAiZWkgdm9pZGEgbHVrZWEiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjgKKyMsIGZ1enp5Cittc2dpZCAiYXV0b2NsZWFyIGZsYWcgc2V0IgorbXNnc3RyICLigJ0g4oCdLWxpcHB1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY5CisjLCBmdXp6eQorbXNnaWQgImRldmljZSBiYWNraW5nIGZpbGUiCittc2dzdHIgImVpIG9sZSBsb2hrb2xhaXRlIGVpa8OkIHRpZWRvc3RvOiAlcyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MAorbXNnaWQgImJhY2tpbmcgZmlsZSBpbm9kZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MQorbXNnaWQgImJhY2tpbmcgZmlsZSBtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzIKKyMsIGZ1enp5Cittc2dpZCAibG9vcCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibW91bnQ6IGxvb3AtbGFpdGUgYW5uZXR0dSBrYWhkZXN0aSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MworIywgZnV6enkKK21zZ2lkICJvZmZzZXQgZnJvbSB0aGUgYmVnaW5uaW5nIgorbXNnc3RyICJBbGt1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc0CisjLCBmdXp6eQorbXNnaWQgInBhcnRzY2FuIGZsYWcgc2V0IgorbXNnc3RyICLigJ0g4oCdLWxpcHB1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2CisjLCBmdXp6eQorbXNnaWQgInNpemUgbGltaXQgb2YgdGhlIGZpbGUgaW4gYnl0ZXMiCittc2dzdHIgIlRpZWRvc3RvbiBrb2tvcmFqYSB5bGl0ZXR0eSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NworIywgZnV6enkKK21zZ2lkICJsb29wIGRldmljZSBtYWpvcjptaW5vciBudW1iZXIiCittc2dzdHIgIiIKKyJNYWpvci0gamEgbWlub3ItbGFpdGVhcnZvdCBvbiBhbm5ldHRhdmEgbHVvdGFlc3NhXG4iCisiZXJpa29pc3RpZWRvc3RvamEiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzgKK21zZ2lkICJhY2Nlc3MgYmFja2luZyBmaWxlIHdpdGggZGlyZWN0LWlvIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM1IHN5cy11dGlscy9sb3NldHVwLmM6MTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsIG9mZnNldCAlanUiCittc2dzdHIgIiVzICglanUtJWp1KTogIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCBzaXplbGltaXQgJWp1IgorbXNnc3RyICIlcyAoJWp1LSVqdSk6ICIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiwgZW5jcnlwdGlvbiAlcyAodHlwZSAldSkiCittc2dzdHIgIiwgc2FsYXVzICVzICh0eXlwcGkgJTxQUkl1MzI+KSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZXRhY2ggZmFpbGVkIgorbXNnc3RyICIlcyBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzI5IHN5cy11dGlscy9sc2NwdS5jOjE3MzUgc3lzLXV0aWxzL3BybGltaXQuYzoyMjkKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxNzYgc3lzLXV0aWxzL3dkY3RsLmM6MjE1IHN5cy11dGlscy96cmFtY3RsLmM6NDA1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBsaW5lIgorbXNnc3RyICJPc2lvdGF1bHVuIHV1ZGVsbGVlbmx1a3UgZXDDpG9ubmlzdHVpLiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSBbPGxvb3BkZXY+XVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxsb29wZGV2PiA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM4NgorbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCBsb29wIGRldmljZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODkKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgVMOkbcOkIHBpZW5pIGvDpHl0dMO2b3Bhc1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2Pi4uLiAgICAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFTDpG3DpCBwaWVuaSBrw6R5dHTDtm9wYXNcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTEKKyMsIGZ1enp5Cittc2dpZCAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIGRldGFjaCBhbGwgdXNlZCBkZXZpY2VzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUw6Rtw6QgcGllbmkga8OkeXR0w7ZvcGFzXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICBmaW5kIGZpcnN0IHVudXNlZCBkZXZpY2VcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkzCittc2dpZCAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcGRldj4gIHJlc2l6ZSB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTQKK21zZ2lkICIgLWosIC0tYXNzb2NpYXRlZCA8ZmlsZT4gICAgICAgbGlzdCBhbGwgZGV2aWNlcyBhc3NvY2lhdGVkIHdpdGggPGZpbGU+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTUKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLW5vb3ZlcmxhcCAgICAgICAgICAgICAgIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0IGJldHdlZW4gZGV2aWNlc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAwCittc2dpZCAiICAgICAtLXNpemVsaW1pdCA8bnVtPiAgICAgICAgIGRldmljZSBpcyBsaW1pdGVkIHRvIDxudW0+IGJ5dGVzIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDEKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0IHVwIGEgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMworbXNnaWQgIiAgICAgLS1kaXJlY3QtaW9bPTxvbnxvZmY+XSAgICBvcGVuIGJhY2tpbmcgZmlsZSB3aXRoIE9fRElSRUNUXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDQKK21zZ2lkICIgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICAgcHJpbnQgZGV2aWNlIG5hbWUgYWZ0ZXIgc2V0dXAgKHdpdGggLWYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDkKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGxpc3QgaW5mbyBhYm91dCBhbGwgb3Igc3BlY2lmaWVkIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICBUZXN0YWEgZ2V0b3B0KDEpOm4gdmVyc2lvXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEwCittc2dpZCAiIC1PLCAtLW91dHB1dCA8Y29scz4gICAgICAgICAgIHNwZWNpZnkgY29sdW1ucyB0byBvdXRwdXQgZm9yIC0tbGlzdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDExCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1saXN0IG91dHB1dFxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgICAgIHVzZSByYXcgLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEzCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTkKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSAtLWxpc3QgY29sdW1uczpcbiIKK21zZ3N0ciAiU2FyYWtrZWl0YSAgICAgICAgICA6XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGlzIHNtYWxsZXIgdGhhbiA1MTIgYnl0ZXM7IHRoZSBsb29wIGRldmljZSBtYXkgYmUgdXNlbGVzcyBvciBpbnZpc2libGUgZm9yIHN5c3RlbSB0b29scy4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFdhcm5pbmc6IGZpbGUgZG9lcyBub3QgZml0IGludG8gYSA1MTItYnl0ZSBzZWN0b3I7IHRoZSBlbmQgb2YgdGhlIGZpbGUgd2lsbCBiZSBpZ25vcmVkLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ2NCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUxNiBzeXMtdXRpbHMvbW91bnQuYzo0NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzIGVpIG9sZSBscC1sYWl0ZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIHJlYWQtb25seSBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGVuY3J5cHRlZCBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmUtdXNlIGxvb3AgZGV2aWNlIgorbXNnc3RyICJtb3VudDogb2hpdGV0YWFuIGxvb3AtbGFpdHRlZW4gYXNldHRhbWluZW5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0OTQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluc3BlY3QgbG9vcCBkZXZpY2VzIgorbXNnc3RyICJtb3VudDogbG9vcC1sYWl0dGVlbiBhc2V0dGFtaW5lbiBlcMOkb25uaXN0dWlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY2hlY2sgZm9yIGNvbmZsaWN0aW5nIGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAibW91bnQ6IG9oaXRldGFhbiBsb29wLWxhaXR0ZWVuIGFzZXR0YW1pbmVuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTI5IHN5cy11dGlscy9sb3NldHVwLmM6ODI2CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmaW5kIGFuIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IHRpZWRvc3RvbGxlICVzIGVpIGzDtnlkeSBsYWl0ZXR0YVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgYmFja2luZyBmaWxlIgorbXNnc3RyICJ0aWVkb3N0b2EgJXMgZWkgbMO2eXR5bnl0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjYzMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjY0MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1MworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3Njcgc3lzLXV0aWxzL2xvc2V0dXAuYzo4MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGRldmljZSIKK21zZ3N0ciAidmlyaGU6ICVzOiBsYWl0ZSBvbiBrw6R5dMO2c3PDpCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NjQKKyMsIGZ1enp5Cittc2dpZCAibm8gbG9vcCBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJtb3VudDogbG9vcC1sYWl0ZSBhbm5ldHR1IGthaGRlc3RpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3MgorbXNnaWQgIm5vIGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICJ0aWVkb3N0b2EgZWkgb2xlIGFubmV0dHUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzc5CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBvcHRpb25zICVzIGFyZSBhbGxvd2VkIGR1cmluZyBsb29wIGRldmljZSBzZXR1cCBvbmx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzg0CisjLCBmdXp6eQorbXNnaWQgInRoZSBvcHRpb24gLS1vZmZzZXQgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICJWYWluIHJvb3Qta8OkeXR0w6Rqw6Qgdm9pIGvDpHl0dMOkw6QgdMOkdMOkIHZhbGl0c2ludGEhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBjYXBhY2l0eSBmYWlsZWQiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9TRVQpIGxhaXR0ZWVsbGUgJXMgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBkaXJlY3QgaW8gZmFpbGVkIgorbXNnc3RyICJoYWtlbWlzdG9vbiAlcyBlaSB2b2kgc2lpcnR5w6QiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjEwOAorbXNnaWQgIm5vbmUiCittc2dzdHIgImVpIG1pdMOkw6RuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMDkKK21zZ2lkICJwYXJhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjExMAorbXNnaWQgImZ1bGwiCittc2dzdHIgInTDpHlzaSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTExCittc2dpZCAiY29udGFpbmVyIgorbXNnc3RyICJzw6RpbGnDtiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTczCisjLCBmdXp6eQorbXNnaWQgImhvcml6b250YWwiCittc2dzdHIgIiIKKyIgKiBbLV1vbm9jciAgICAgIGVpIHR1bG9zdGV0YSB2YXVudW5wYWxhdXR1a3NpYSBlbnNpbW3DpGlzZWVuIHNhcmFra2Vlc2VlblxuIgorIiAgIFstXW9wb3N0ICAgICAgasOkbGtpa8Okc2l0dGVsZSB0dWxvc3RlXG4iCisiICogdGFiTiAgICAgICAgICB2YWFrYXNhcmthaW1lbiB2aWl2ZXR5eWxpLCBOIHbDpGxpbGzDpCBbMC4uM11cbiIKKyIgKiB0YWJzICAgICAgICAgIHNhbWEga3VpbiB0YWIwXG4iCisiICogLXRhYnMgICAgICAgICBzYW1hIGt1aW4gdGFiM1xuIgorIiAqIHZ0TiAgICAgICAgICAgcHlzdHlzYXJrYWltZW4gdmlpdmV0eXlsaSwgTiB2w6RsaWxsw6QgWzAuLjFdXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NAorIywgZnV6enkKK21zZ2lkICJ2ZXJ0aWNhbCIKK21zZ3N0ciAiIgorIiAqIFstXW9ub2NyICAgICAgZWkgdHVsb3N0ZXRhIHZhdW51bnBhbGF1dHVrc2lhIGVuc2ltbcOkaXNlZW4gc2FyYWtrZWVzZWVuXG4iCisiICAgWy1db3Bvc3QgICAgICBqw6Rsa2lrw6RzaXR0ZWxlIHR1bG9zdGVcbiIKKyIgKiB0YWJOICAgICAgICAgIHZhYWthc2Fya2FpbWVuIHZpaXZldHl5bGksIE4gdsOkbGlsbMOkIFswLi4zXVxuIgorIiAqIHRhYnMgICAgICAgICAgc2FtYSBrdWluIHRhYjBcbiIKKyIgKiAtdGFicyAgICAgICAgIHNhbWEga3VpbiB0YWIzXG4iCisiICogdnROICAgICAgICAgICBweXN0eXNhcmthaW1lbiB2aWl2ZXR5eWxpLCBOIHbDpGxpbGzDpCBbMC4uMV1cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ2CisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgQ1BVIG51bWJlciIKK21zZ3N0ciAiU3Vvcml0aW5haWthcmFqYSB5bGl0dHlueXQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0NworIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIGNvcmUgbnVtYmVyIgorbXNnc3RyICJMb29naW5lbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ4CisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgc29ja2V0IG51bWJlciIKK21zZ3N0ciAicGlzdG9rZSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ5Cittc2dpZCAibG9naWNhbCBOVU1BIG5vZGUgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MAorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIGJvb2sgbnVtYmVyIgorbXNnc3RyICJMb29naW5lbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUxCisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgZHJhd2VyIG51bWJlciIKK21zZ3N0ciAiTG9vZ2luZW4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MgorbXNnaWQgInNob3dzIGhvdyBjYWNoZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUzCittc2dpZCAiQ1BVIGRpc3BhdGNoaW5nIG1vZGUgb24gdmlydHVhbCBoYXJkd2FyZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTQKKyMsIGZ1enp5Cittc2dpZCAicGh5c2ljYWwgYWRkcmVzcyBvZiBhIENQVSIKK21zZ3N0ciAiU3Vvcml0aW5haWthcmFqYSB5bGl0dHlueXQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NQorbXNnaWQgInNob3dzIGlmIHRoZSBoeXBlcnZpc29yIGhhcyBhbGxvY2F0ZWQgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTYKK21zZ2lkICJzaG93cyBpZiBMaW51eCBjdXJyZW50bHkgbWFrZXMgdXNlIG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU3Cittc2dpZCAic2hvd3MgdGhlIG1heGltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU4Cittc2dpZCAic2hvd3MgdGhlIG1pbmltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NTUwCisjLCBmdXp6eQorbXNnaWQgImVycm9yOiB1bmFtZSBmYWlsZWQiCittc2dzdHIgInZha2lvdmlyaGV0dWxvc3RlZW4gdXVkZWxsZWVub2hqYXVzIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGV0ZXJtaW5lIG51bWJlciBvZiBDUFVzOiAlcyIKK21zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjg5MQorIywgZnV6enkKK21zZ2lkICJlcnJvcjogY2FuIG5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgInNpZ25hYWxpbiB5aGRpc3TDpG1pbmVuIHZhbGl0c2ltZW4gLWwgdGFpIC10IGthbnNzYSBlaSBvbm5pc3R1IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo4OTYKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3I6IGNhbiBub3QgcmVzdG9yZSBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAic2lnbmFhbGluIHloZGlzdMOkbWluZW4gdmFsaXRzaW1lbiAtbCB0YWkgLXQga2Fuc3NhIGVpIG9ubmlzdHUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgZnJvbTogJXMiCittc2dzdHIgInRpZWRvc3RvbiAlcyB0aWxhYSBlaSB2b2kgbHVrZWEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MTAKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGV4dHJhY3QgdGhlIG5vZGUgbnVtYmVyIgorbXNnc3RyICJ0aWVkb3N0b24gJXMgb21pbmFpc3V1a3NpZW4gaGFrZW1pbmVuIGVpIG9ubmlzdHUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1Mzcgc3lzLXV0aWxzL2xzY3B1LmM6MTU0NworbXNnaWQgIlkiCittc2dzdHIgIksiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1Mzcgc3lzLXV0aWxzL2xzY3B1LmM6MTU0NworbXNnaWQgIk4iCittc2dzdHIgIkUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyXG4iCisiIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRFxuIgorIiMgc3RhcnRpbmcgZnJvbSB6ZXJvLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3ODEKKyMsIGZ1enp5Cittc2dpZCAiQXJjaGl0ZWN0dXJlOiIKK21zZ3N0ciAiICVzOiBUdW5uaXN0YW1hdG9uIGFya2tpdGVodHV1cmkiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3OTUKKyMsIGZ1enp5Cittc2dpZCAiQ1BVIG9wLW1vZGUocyk6IgorbXNnc3RyICJ2aXJoZWVsbGlzZXQgb2lrZXVkZXQ6ICVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzk4IHN5cy11dGlscy9sc2NwdS5jOjE4MDAKK21zZ2lkICJCeXRlIE9yZGVyOiIKK21zZ3N0ciAiVGF2dWrDpHJqZXN0eXM6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODAyCisjLCBmdXp6eQorbXNnaWQgIkNQVShzKToiCittc2dzdHIgIlN1b3JpdGluYWlrYXJhamEgeWxpdHR5bnl0IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA1CisjLCBmdXp6eQorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICLigJ0lc+KAnSwgcml2aSAlZDogJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDYKK21zZ2lkICJPbi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI1Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjYKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2MgorIywgZnV6enkKK21zZ2lkICJUaHJlYWQocykgcGVyIGNvcmU6IgorbXNnc3RyICJTw6RpZW1hbGxpOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODY0CisjLCBmdXp6eQorbXNnaWQgIkNvcmUocykgcGVyIHNvY2tldDoiCittc2dzdHIgInBpc3Rva2V0dGEgZWkgdm9pIGF2YXRhOiAlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2NworIywgZnV6enkKK21zZ2lkICJTb2NrZXQocykgcGVyIGJvb2s6IgorbXNnc3RyICJwaXN0b2tldHRhIGVpIHZvaSBhdmF0YTogJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzAKK21zZ2lkICJCb29rKHMpIHBlciBkcmF3ZXI6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzIKK21zZ2lkICJEcmF3ZXIocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzQKKyMsIGZ1enp5Cittc2dpZCAiQm9vayhzKToiCittc2dzdHIgIiAgICAgICAgICAlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3NworIywgZnV6enkKK21zZ2lkICJTb2NrZXQocyk6IgorbXNnc3RyICJwaXN0b2tldHRhIGVpIHZvaSBhdmF0YTogJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODEKK21zZ2lkICJOVU1BIG5vZGUocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODMKKyMsIGZ1enp5Cittc2dpZCAiVmVuZG9yIElEOiIKK21zZ3N0ciAiaWQ9IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg1CisjLCBmdXp6eQorbXNnaWQgIk1hY2hpbmUgdHlwZToiCittc2dzdHIgIk9zaW9uIHR5eXBwaSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4NworIywgZnV6enkKK21zZ2lkICJDUFUgZmFtaWx5OiIKK21zZ3N0ciAiU3Vvcml0aW5haWthcmFqYSB5bGl0dHlueXQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODkKK21zZ2lkICJNb2RlbDoiCittc2dzdHIgIk1hbGxpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5MQorbXNnaWQgIk1vZGVsIG5hbWU6IgorbXNnc3RyICJNYWxsaW5pbWk6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODkzCittc2dpZCAiU3RlcHBpbmc6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTUKKyMsIGZ1enp5Cittc2dpZCAiQ1BVIE1IejoiCittc2dzdHIgIlN1b3JpdGluYWlrYXJhamEgeWxpdHR5bnl0IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk3CisjLCBmdXp6eQorbXNnaWQgIkNQVSBkeW5hbWljIE1IejoiCittc2dzdHIgIlN1b3JpdGluYWlrYXJhamEgeWxpdHR5bnl0IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk5CisjLCBmdXp6eQorbXNnaWQgIkNQVSBzdGF0aWMgTUh6OiIKK21zZ3N0ciAiU3Vvcml0aW5haWthcmFqYSB5bGl0dHlueXQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDEKKyMsIGZ1enp5Cittc2dpZCAiQ1BVIG1heCBNSHo6IgorbXNnc3RyICJTdW9yaXRpbmFpa2FyYWphIHlsaXR0eW55dCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMworIywgZnV6enkKK21zZ2lkICJDUFUgbWluIE1IejoiCittc2dzdHIgIlN1b3JpdGluYWlrYXJhamEgeWxpdHR5bnl0IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA1Cittc2dpZCAiQm9nb01JUFM6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDggc3lzLXV0aWxzL2xzY3B1LmM6MTkxMAorbXNnaWQgIlZpcnR1YWxpemF0aW9uOiIKK21zZ3N0ciAiVmlydHVhbGlzb2ludGk6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEzCittc2dpZCAiSHlwZXJ2aXNvcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxNQorbXNnaWQgIkh5cGVydmlzb3IgdmVuZG9yOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE2CisjLCBmdXp6eQorbXNnaWQgIlZpcnR1YWxpemF0aW9uIHR5cGU6IgorbXNnc3RyICJWaXJ0dWFsaXNvaW50aToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTkKKyMsIGZ1enp5Cittc2dpZCAiRGlzcGF0Y2hpbmcgbW9kZToiCittc2dzdHIgInZpcmhlZWxsaXNldCBvaWtldWRldCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkyNSBzeXMtdXRpbHMvbHNjcHUuYzoxOTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNhY2hlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTUEgbm9kZSVkIENQVShzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0NgorIywgZnV6enkKK21zZ2lkICJGbGFnczoiCittc2dzdHIgIkxpcHV0IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQ5CisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIHNvY2tldHM6IgorbXNnc3RyICJGeXlzaXNldCBzeWxpbnRlcml0IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTUwCisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIGNoaXBzOiIKK21zZ3N0ciAiRnl5c2lzZXQgc3lsaW50ZXJpdCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk1MQorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBjb3Jlcy9jaGlwOiIKK21zZ3N0ciAic2VrdG9yaWtva28iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjMKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBDUFUgYXJjaGl0ZWN0dXJlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjYKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IGJvdGggb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgVMOkbcOkIHBpZW5pIGvDpHl0dMO2b3Bhc1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY3CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBwcmludCBvbmxpbmUgQ1BVcyBvbmx5IChkZWZhdWx0IGZvciAtcClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjgKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY5Cittc2dpZCAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcwCittc2dpZCAiIC1wLCAtLXBhcnNlWz08bGlzdD5dICAgIHByaW50IG91dCBhIHBhcnNhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzEKK21zZ2lkICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAgdXNlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcyCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1oZXggICAgICAgICAgICAgICBwcmludCBoZXhhZGVjaW1hbCBtYXNrcyByYXRoZXIgdGhhbiBsaXN0cyBvZiBDUFVzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUw6Rtw6QgcGllbmkga8OkeXR0w7ZvcGFzXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzMKKyMsIGZ1enp5Cittc2dpZCAiIC15LCAtLXBoeXNpY2FsICAgICAgICAgIHByaW50IHBoeXNpY2FsIGluc3RlYWQgb2YgbG9naWNhbCBJRHNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFTDpG3DpCBwaWVuaSBrw6R5dHTDtm9wYXNcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3B0aW9ucyAtLWFsbCwgLS1vbmxpbmUgYW5kIC0tb2ZmbGluZSBtYXkgb25seSBiZSB1c2VkIHdpdGggb3B0aW9ucyAtLWV4dGVuZGVkIG9yIC0tcGFyc2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIGtleSIKK21zZ3N0ciAicmVzdXJzc2luIG5pbWkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorIywgZnV6enkKK21zZ2lkICJLZXkiCittc2dzdHIgImF2YWluIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgSUQiCittc2dzdHIgInJlc3Vyc3NpbiBuaW1pIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAiSUQiCittc2dzdHIgIlVVSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyJ3MgdXNlcm5hbWUgb3IgVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorIywgZnV6enkKK21zZ2lkICJPd25lciIKK21zZ3N0ciAib21pc3RhamEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MgorIywgZnV6enkKK21zZ2lkICJQZXJtaXNzaW9ucyIKK21zZ3N0ciAidmVyc2lvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTMKK21zZ2lkICJDcmVhdG9yIFVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTQKK21zZ2lkICJDcmVhdG9yIHVzZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU1Cittc2dpZCAiQ3JlYXRvciBHSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU2CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgZ3JvdXAiCittc2dzdHIgIkVuc2nDtiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgIlVzZXIgSUQiCittc2dzdHIgImvDpHl0dMOkasOkLUlEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiVUlEIgorbXNnc3RyICJVVUlEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTgKKyMsIGZ1enp5Cittc2dpZCAiVXNlciBuYW1lIgorbXNnc3RyICIgJXMgW3ZhbGl0c2ltZXRdIFtrw6R5dHTDpGrDpG5pbWldXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorbXNnaWQgIkdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorIywgZnV6enkKK21zZ2lkICJHSUQiCittc2dzdHIgIlNHSSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYwCisjLCBmdXp6eQorbXNnaWQgIkdyb3VwIG5hbWUiCittc2dzdHIgInJ5aG3DpG5pbWkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorIywgZnV6enkKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIKK21zZ3N0ciAiQlNESSBzaXZ1dHVzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBjaGFuZ2UiCittc2dzdHIgImxhc3QtY2hhbmdlZCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY0CisjLCBmdXp6eQorbXNnaWQgIkJ5dGVzIHVzZWQiCittc2dzdHIgInRhdnVhIGvDpHl0w7Zzc8OkIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2VzIgorbXNnc3RyICJQw6RpZGVuIG3DpMOkcsOkIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiTWVzc2FnZXMiCittc2dzdHIgInZpZXN0aXQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorIywgZnV6enkKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHNlbnQiCittc2dzdHIgImVkZWxsaW5lbiBraXJqYXV0dW1pc2VuIHDDpGl2w6Rtw6TDpHLDpCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiTXNnIHNlbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyByZWNlaXZlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJNc2cgcmVjZWl2ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyBzZW5kZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiTXNnIHNlbmRlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHJlY2VpdmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIk1zZyByZWNlaXZlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzIKKyMsIGZ1enp5Cittc2dpZCAiU2VnbWVudCBzaXplIgorbXNnc3RyICJoYWUgbG9oa29rb2tvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIGF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAidGF1bHVra29qYSBlbmludMOkw6RuID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCittc2dpZCAiQXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NAorIywgZnV6enkKK21zZ2lkICJTdGF0dXMiCittc2dzdHIgInN0YXR1cyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc1CisjLCBmdXp6eQorbXNnaWQgIkF0dGFjaCB0aW1lIgorbXNnc3RyICJQcm90b2tvbGxhLWFqdXJpIGVpIG9sZSBreXRrZXR0eSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc2Cittc2dpZCAiRGV0YWNoIHRpbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgY29tbWFuZCBsaW5lIgorbXNnc3RyICIlczogYXZhYW1pbmVuIGVww6Rvbm5pc3R1aTogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgY29tbWFuZCIKK21zZ3N0ciAiZWkga29tZW50b2E/IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJQSUQgb2YgdGhlIGNyZWF0b3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiQ3JlYXRvciBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiUElEIG9mIGxhc3QgdXNlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCB1c2VyIFBJRCIKK21zZ3N0ciAia8OkeXR0w6Rqw6QtSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAiU2VrdG9yaWVuIG3DpMOkcsOkIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODIKKyMsIGZ1enp5Cittc2dpZCAiU2VtYXBob3JlcyIKK21zZ3N0ciAiU2VtYWZvcmluIGlkOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODMKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODMKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBvcGVyYXRpb24iCittc2dzdHIgIm9wZXJhYXRpbyAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAicmVzdXJzc2luIG5pbWkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NgorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSIKK21zZ3N0ciAicmVzdXJzc2luIG5pbWkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAicmVzdXJzc2luIGt1dmF1cyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIkRlc2NyaXB0aW9uIgorbXNnc3RyICJsb2hrb2xhaXRlICIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiQ3VycmVudGx5IHVzZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiVXNlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiQ3VycmVudGx5IHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICJUaWVkb3N0b2rDpHJqZXN0ZWxtw6QiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorIywgZnV6enkKK21zZ2lkICJVc2UiCittc2dzdHIgIkvDpHl0dMO2OiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiU3lzdGVtLXdpZGUgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiTGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbHVtbiAlcyBkb2VzIG5vdCBhcHBseSB0byB0aGUgc3BlY2lmaWVkIElQQyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODcKK21zZ2lkICIgLWcsIC0tZ2xvYmFsICAgICAgaW5mbyBhYm91dCBzeXN0ZW0td2lkZSB1c2FnZSAobWF5IGJlIHVzZWQgd2l0aCAtbSwgLXEgYW5kIC1zKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OAorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICAgICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NAorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTUKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgICAgICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTcKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICB1c2UgdGhlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk5CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yY2UgbGlzdCBvdXRwdXQgZm9ybWF0IChmb3IgZXhhbXBsZSB3aXRoIC0taWQpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBFaSBub3JtYWFsaWEgdHVsb3N0ZXR0YVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDEKK21zZ2lkICIgLVAsIC0tbnVtZXJpYy1wZXJtcyAgICAgIHByaW50IG51bWVyaWMgcGVybWlzc2lvbnMgKFBFUk1TIGNvbHVtbilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDMKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkdlbmVyaWMgY29sdW1uczpcbiIKK21zZ3N0ciAiVmFsaXRzaW1ldDpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkLW1lbW9yeSBjb2x1bW5zICgtLXNobWVtcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJKYWV0dW4gbXVpc3RpbiBzZWdtZW50dGkgam11aXN0aS1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UtcXVldWUgY29sdW1ucyAoLS1xdWV1ZXMpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBjb2x1bW5zICgtLXNlbWFwaG9yZXMpOlxuIgorbXNnc3RyICJ2YXJhdHR1amEgc2VtYWZvcmVqYSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU3VtbWFyeSBjb2x1bW5zICgtLWdsb2JhbCk6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJFbGVtZW50czpcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDUKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZSBpZGVudGlmaWVycyIKK21zZ3N0ciAiVHVubmlzdGUgcG9pc3RldHR1IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDYKKyMsIGZ1enp5Cittc2dpZCAiVG90YWwgbnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgInNla3RvcmllbiBtw6TDpHLDpCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA3CisjLCBmdXp6eQorbXNnaWQgIk1heCBzZW1hcGhvcmVzIHBlciBzZW1hcGhvcmUgc2V0LiIKK21zZ3N0ciAidmFyYXR0dWphIHNlbWFmb3JlamEgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDgKKyMsIGZ1enp5Cittc2dpZCAiTWF4IG51bWJlciBvZiBvcGVyYXRpb25zIHBlciBzZW1vcCgyKSIKK21zZ3N0ciAiTGlpYW4gbW9udGEgYXZvaW50YSB0aWVkb3N0b2EiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwOQorIywgZnV6enkKK21zZ2lkICJTZW1hcGhvcmUgbWF4IHZhbHVlIgorbXNnc3RyICJzZW1hZm9yaW4gYXJ2byBlbmludMOkw6RuID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODYzCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiUMOkaWRlbiBtw6TDpHLDpCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODY0CisjLCBmdXp6eQorbXNnaWQgIk1heCBzaXplIG9mIG1lc3NhZ2UgKGJ5dGVzKSIKK21zZ3N0ciAiS29rbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODY1CisjLCBmdXp6eQorbXNnaWQgIkRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUgKGJ5dGVzKSIKK21zZ3N0ciAiam9ub24gb2xldHVzZW5pbW3DpGlza29rbyAodGF2dWEpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTc4IHN5cy11dGlscy9sc2lwYy5jOjk5NworbXNnaWQgImh1Z2V0bGIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTc5IHN5cy11dGlscy9sc2lwYy5jOjEwMDQKKyMsIGZ1enp5Cittc2dpZCAibm9yZXNlcnZlIgorbXNnc3RyICJTdW5PUyByZXNlcnZlZCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MQorIywgZnV6enkKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIgorbXNnc3RyICIiCisiXG4iCisiSmFldHVuIG11aXN0aW4gc2VnbWVudHRpIGptdWlzdGktaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MgorIywgZnV6enkKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHBhZ2VzIgorbXNnc3RyICItLS0tLS0gSmFldHVuIG11aXN0aW4gcmFqYXQgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MworIywgZnV6enkKK21zZ2lkICJNYXggc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAiLS0tLS0tIEphZXR1biBtdWlzdGluIHNlZ21lbnRpdCAtLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2NAorIywgZnV6enkKK21zZ2lkICJNaW4gc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAiLS0tLS0tIEphZXR1biBtdWlzdGluIHNlZ21lbnRpdCAtLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTEzNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSVBDIGlkZW50aWZpZXIiCittc2dzdHIgIlBJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTIyOQorbXNnaWQgIi0tZ2xvYmFsIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tY3JlYXRvciwgLS1pZCBhbmQgLS10aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODMKK21zZ2lkICJuYW1lc3BhY2UgaWRlbnRpZmllciAoaW5vZGUgbnVtYmVyKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg0Cittc2dpZCAia2luZCBvZiBuYW1lc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NQorIywgZnV6enkKK21zZ2lkICJwYXRoIHRvIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgImxhaXR0ZWVuIHRpbGEiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODYKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJPaGplbG1hbiBuc2NkIGFqYW1pbmVuIGvDpHl0dMOkasOkbiDigJ0lc+KAnSBvaWtldWtzaWxsYSBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODcKK21zZ2lkICJsb3dlc3QgUElEIGluIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OAorbXNnaWQgIlBQSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5Cittc2dpZCAiY29tbWFuZCBsaW5lIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MAorbXNnaWQgIlVJRCBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTEKK21zZ2lkICJ1c2VybmFtZSBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bmFtZXNwYWNlPl1cbiIKK21zZ3N0ciAiJXMgW3ZhbGl0c2ltZXRdIFs8dGllZG9zdG8+IC4uLl1cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo2MTYKKyMsIGZ1enp5Cittc2dpZCAiTGlzdCBzeXN0ZW0gbmFtZXNwYWNlcy5cbiIKK21zZ3N0ciAiSsOkcmplc3RlbG3DpGtlbGxvbiBhc2V0dXMgZWkgb25uaXN0dS5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo2MjMKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXRhc2sgPHBpZD4gICAgICAgcHJpbnQgcHJvY2VzcyBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYyNgorbXNnaWQgIiAtdCwgLS10eXBlIDxuYW1lPiAgICAgIG5hbWVzcGFjZSB0eXBlIChtbnQsIG5ldCwgaXBjLCB1c2VyLCBwaWQsIHV0cywgY2dyb3VwKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG5hbWVzcGFjZSB0eXBlOiAlcyIKK21zZ3N0ciAidHVudGVtYXRvbiByZXN1cnNzaXR5eXBwaTogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MzUKKyMsIGZ1enp5Cittc2dpZCAiLS10YXNrIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxuYW1lc3BhY2U+IgorbXNnc3RyICJww6RpdsOkeWtzZW4gdHVsb3N0dXN0YSBtw6TDpHLDpMOkdsOkdCB2YWxpdHNpbWV0IG92YXQgdG9pc2Vuc2EgcG9pc3N1bGtldmlhIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjczNgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG5hbWVzcGFjZSBhcmd1bWVudCIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIHDDpMOkYXJndW1lbnR0aSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGZvdW5kIG5hbWVzcGFjZTogJWp1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY2IHN5cy11dGlscy91bW91bnQuYzoxMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIm1vdW50OiB2YWluIHJvb3Qgdm9pIHRlaGTDpCB0dW9uIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2OSBzeXMtdXRpbHMvdW1vdW50LmM6MTIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICJtb3VudDogdmFpbiByb290IHZvaSB0ZWhkw6QgdHVvbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzMgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIgorbXNnc3RyICJWYWluIHJvb3QgamEgJXMgdm9pdmF0IGvDpHl0dMOkw6QgdMOkdMOkIHZhbGl0c2ludGEhIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NCBzeXMtdXRpbHMvdW1vdW50LmM6MTI1CisjLCBmdXp6eQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKK21zZ3N0ciAibW91bnQ6IHZhaW4gcm9vdCB2b2kgdGVoZMOkIHR1b24iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjg1IHN5cy11dGlscy91bW91bnQuYzo1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAobGlibW91bnQgJXMiCittc2dzdHIgIlZpZXN0aSAlNCRzOmxsZSBraXJqYXV0dW5lZWx0YSBrw6R5dHTDpGrDpGx0w6QgJTEkc0AlMiRzICglMyRzKSwga2VsbG8gJTUkcy4uLiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTMwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIG10YWIiCittc2dzdHIgImx1a2VtaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MiBzeXMtdXRpbHMvdW1vdW50LmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogYWxyZWFkeSBtb3VudGVkXG4iCittc2dzdHIgIm1vdW50OiAlcyBvbiBqbyBsaWl0ZXR0eSBwYWlra2FhbiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3ZlZCB0byAlcy5cbiIKK21zZ3N0ciAiZnNjazogJXM6IGVpIGzDtnl0eW55dFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBib3VuZCBvbiAlcy5cbiIKK21zZ3N0ciAiJXMgJXMlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTQgc3lzLXV0aWxzL21vdW50LmM6MjU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW91bnRlZCBvbiAlcy5cbiIKK21zZ3N0ciAibW91bnQ6ICVzIG9uIGpvIGxpaXRldHR5IHBhaWtrYWFuICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgcHJvcGFnYXRpb24gZmxhZ3MgY2hhbmdlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm1vdW50OiAlcyBkb2VzIG5vdCBjb250YWluIFNFTGludXggbGFiZWxzLlxuIgorIiAgICAgICBZb3UganVzdCBtb3VudGVkIGFuIGZpbGUgc3lzdGVtIHRoYXQgc3VwcG9ydHMgbGFiZWxzIHdoaWNoIGRvZXMgbm90XG4iCisiICAgICAgIGNvbnRhaW4gbGFiZWxzLCBvbnRvIGFuIFNFTGludXggYm94LiBJdCBpcyBsaWtlbHkgdGhhdCBjb25maW5lZFxuIgorIiAgICAgICBhcHBsaWNhdGlvbnMgd2lsbCBnZW5lcmF0ZSBBVkMgbWVzc2FnZXMgYW5kIG5vdCBiZSBhbGxvd2VkIGFjY2VzcyB0b1xuIgorIiAgICAgICB0aGlzIGZpbGUgc3lzdGVtLiAgRm9yIG1vcmUgZGV0YWlscyBzZWUgcmVzdG9yZWNvbig4KSBhbmQgbW91bnQoOCkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Mzc4CisjLCBmdXp6eQorbXNnaWQgIldBUk5JTkc6IGZhaWxlZCB0byBhcHBseSBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKK21zZ3N0ciAibW91bnQ6IHZhaW4gcm9vdCB2b2kgbGlpdHTDpMOkICVzIHBpc3RlZXNlZW4gJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQiCittc2dzdHIgIiVzIG9uIGpvIGxpaXRldHR5IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHVzZWQgYXMgcmVhZCBvbmx5IGxvb3AsIG1vdW50aW5nIHJlYWQtb25seSIKK21zZ3N0ciAibW91bnQ6ICVzJXMgb24ga2lyam9pdHVzc3VvamF0dHUsIGxpaXRldMOkw6RuIHZhaW4gbHVrdSAtdGlsYXNzYSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kICVzIGluICVzIgorbXNnc3RyICJtb3VudDogJXMgZWkgbMO2eWR5IHRpZWRvc3Rvc3RhICVzLCBlaWvDpCAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50cG9pbnQgJXMgaW4gJXMiCittc2dzdHIgIiVzIGVpIGzDtnlkeSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50IHNvdXJjZSAlcyBpbiAlcyIKK21zZ3N0ciAibW91bnQ6ICVzIGVpIGzDtnlkeSB0aWVkb3N0b3N0YSAlcywgZWlrw6QgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXM6IG1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQuIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sXG4iCisiICAgICAgIHVzZSAtdCA8dHlwZT4gdG8gZXhwbGljaXRseSBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUgb3JcbiIKKyIgICAgICAgdXNlIHdpcGVmcyg4KSB0byBjbGVhbiB1cCB0aGUgZGV2aWNlLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzYKKyMsIGZ1enp5Cittc2dpZCAiSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgIm1vdW50OiBUaWVkb3N0b2rDpHJqZXN0ZWxtw6RuIHR5eXBwacOkIGVpIHZvaXR1IG3DpMOkcml0dMOkw6QsIGVpa8OkIHR5eXBwacOkIG9sZSBhbm5ldHR1IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzkKKyMsIGZ1enp5Cittc2dpZCAieW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJtb3VudDogdGllZG9zdG9qw6RyamVzdGVsbcOkbiB0eXlwcGkgb24gYW5uZXR0YXZhIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMiCittc2dzdHIgIiVzIGVpIGzDtnlkeSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ3CisjLCBmdXp6eQorbXNnaWQgIm1vdW50IHNvdXJjZSBub3QgZGVmaW5lZCIKK21zZ3N0ciAiT3Npb2l0YSBlaSBvbGUgbcOkw6RyaXRlbHR5LiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDUxIHN5cy11dGlscy9tb3VudC5jOjQ1MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAibW91bnQ6IGxpaXRvcyBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSIKK21zZ3N0ciAibW91bnQ6IG9oaXRldGFhbiBsb29wLWxhaXR0ZWVuIGFzZXR0YW1pbmVuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnQgZmFpbGVkIgorbXNnc3RyICIlczogbGlpdHTDpG1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmlsZXN5c3RlbSBtb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorbXNnc3RyICJtb3VudDogbGlpdG9zIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDg5IHN5cy11dGlscy9tb3VudC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImxpaXRvc3Bpc3RlICVzIGVpIG9sZSBoYWtlbWlzdG8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ5MworbXNnaWQgIm11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKK21zZ3N0ciAibW91bnRpbiBrw6R5dHTDtsO2biB2YWFkaXRhYW4gcMOkw6Rrw6R5dHTDpGrDpG4gb2lrZXVkZXQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBidXN5IgorbXNnc3RyICIlcyBvbiB2YXJhdHR1IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9yICVzIGJ1c3kiCittc2dzdHIgIiVzIG9uIGpvIGxpaXRldHR5IHRhaSAlcyBvbiB2YXJhdHR1IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKK21zZ3N0ciAibW91bnQ6ICVzIG9uIGpvIGxpaXRldHR5IHBhaWtrYWFuICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUyNQorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAibGlpdG9zcGlzdGUgJXMgZWkgb2xlIG9sZW1hc3NhIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgJXMgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCittc2dzdHIgImxpaXRvc3Bpc3RlICVzIG9uIHN5bWJvbGluZW4gbGlua2tpIG9sZW1hdHRvbWFhbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJlcmlrb2lzbGFpdGUgJXMgZWkgb2xlIG9sZW1hc3NhIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MzYgc3lzLXV0aWxzL21vdW50LmM6NTM4IHN5cy11dGlscy9tb3VudC5jOjU0MAorIzogc3lzLXV0aWxzL21vdW50LmM6NTU1CisjLCBmdXp6eQorbXNnaWQgIm1vdW50KDIpIGZhaWxlZCIKK21zZ3N0ciAibW91bnQ6IGxpaXRvcyBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KSIKK21zZ3N0ciAiIgorIm1vdW50OiBlcmlrb2lzbGFpdGUgJXMgZWkgb2xlIG9sZW1hc3NhXG4iCisiICAgICAgIChwb2x1biBldHVsaWl0ZSBlaSBvbGUgaGFrZW1pc3RvKVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IG1vdW50ZWQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAiJXMgZWkgb2xlIHZpZWzDpCBsaWl0ZXR0eSB0YWkgdmlyaGVlbGxpbmVuIHZhbGl0c2luIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50cG9pbnQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAiJXMgZWkgb2xlIGxpaXRvc3Bpc3RlIHRhaSB2aXJoZWVsbGluZW4gdmFsaXRzaW4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2NQorbXNnaWQgIiIKKyJiYWQgb3B0aW9uLiBOb3RlIHRoYXQgbW92aW5nIGEgbW91bnQgcmVzaWRpbmcgdW5kZXIgYSBzaGFyZWRcbiIKKyIgICAgICAgbW91bnQgaXMgdW5zdXBwb3J0ZWQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIndyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLFxuIgorIiAgICAgICBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKK21zZ3N0ciAiIgorIm1vdW50OiB2w6TDpHLDpCB0aWVkb3N0b2rDpHJqZXN0ZWxtw6RuIHR5eXBwaSwgdmlyaGVlbGxpbmVuIHZhbGl0c2luLCB2aWFsbGluZW4gXG4iCisiICAgICAgIHN1cGVybG9oa28gbGFpdHRlZWxsYSAlcywgcHV1dHR1dmEga29vZGlzaXZ1IHRhaSBhcHVvaGplbG1hLCB0YWkgbXV1IHZpcmhlIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgICAoZm9yIHNldmVyYWwgZmlsZXN5c3RlbXMgKGUuZy4gbmZzLCBjaWZzKSB5b3UgbWlnaHRcbiIKKyIgICAgICAgbmVlZCBhIC9zYmluL21vdW50Ljx0eXBlPiBoZWxwZXIgcHJvZ3JhbSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIgICAgICAgSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBpcyBmb3VuZCBpbiBzeXNsb2cgLSB0cnlcbiIKKyIgICAgICAgZG1lc2cgfCB0YWlsIG9yIHNvLlxuIgorbXNnc3RyICIiCisiICAgICAgIEpvaXNzYWtpbiB0YXBhdWtzaXNzYSBqw6RyamVzdGVsbcOkbG9raXN0YSBsw7Z5dHl5IGh5w7ZkeWxsaXN0w6RcbiIKKyIgICAgICAgdGlldG9hIOKAkyBrb2tlaWxlIGVzaW0uIGtvbWVudG9hIOKAnWRtZXNnIHwgdGFpbOKAnS5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTgzCittc2dpZCAibW91bnQgdGFibGUgZnVsbCIKK21zZ3N0ciAibGlpdG9zdGF1bHVra28gdMOkeW5uw6QiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIgorbXNnc3RyICIlczogc3VwZXJsb2hrb2EgZWkgdm9pIGx1a2VhIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKK21zZ3N0ciAidHVudGVtYXRvbiB0aWVkb3N0b2rDpHJqZXN0ZWxtw6RuIHR5eXBwaSDigJ0lc+KAnSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTk0CisjLCBmdXp6eQorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJ0dW50ZW1hdG9uIHRpZWRvc3RvasOkcmplc3RlbG3DpG4gdHl5cHBpIOKAnSVz4oCdIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQoMikgZmFpbHM/IgorbXNnc3RyICJtb3VudDogJXMgZWkgb2xlIGxvaGtvbGFpdGUsIGphIHRpbGFuIGx1a3UgZXDDpG9ubmlzdHV1PyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisidGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2VcbiIKKyIgICAgICAgKG1heWJlIGBtb2Rwcm9iZSBkcml2ZXInPykiCittc2dzdHIgIiIKKyJtb3VudDogeWRpbiBlaSB0dW5uaXN0YSB0aWVkb3N0b2EgJXMgbG9oa29sYWl0dGVla3NpXG4iCisiICAgICAgIChlaGvDpCDigJ1pbnNtb2QgYWp1cmnigJ0gYXV0dGFhPykiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UgKG1heWJlIHRyeSBgLW8gbG9vcCc/KSIKK21zZ3N0ciAiJXMgZWkgb2xlIGxvaGtvbGFpdGUgKHlyaXTDpCDigJ0tbyBsb29w4oCdPykiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIgJXMgZWkgb2xlIGxvaGtvbGFpdGUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzIGVpIG9sZSBrZWx2b2xsaW5lbiBsb2hrb2xhaXRlIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50ICVzIHJlYWQtb25seSIKK21zZ3N0ciAiZWkgdm9pIGxpaXR0w6TDpCBsYWl0ZXR0YSAlcyB2YWluIGx1a3UgLXRpbGFhbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IGAtdycgZmxhZyBnaXZlbiIKK21zZ3N0ciAibW91bnQ6ICVzJXMgb24ga2lyam9pdHVzc3VvamF0dHUsIG11dHRhIOKAnS134oCdIC1saXBwdSBvbiBhbm5ldHR1IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZW1vdW50ICVzIHJlYWQtd3JpdGUsIGlzIHdyaXRlLXByb3RlY3RlZCIKK21zZ3N0ciAibW91bnQ6ICVzJXMgb24ga2lyam9pdHVzc3VvamF0dHUsIGxpaXRldMOkw6RuIHZhaW4gbHVrdSAtdGlsYXNzYSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjMxIHN5cy11dGlscy9tb3VudC5jOjY1NCBzeXMtdXRpbHMvdW5zaGFyZS5jOjE4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgb24gJXMgZmFpbGVkIgorbXNnc3RyICIlczogbGlpdHTDpG1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50aW5nIHJlYWQtb25seSIKK21zZ3N0ciAibW91bnQ6ICVzJXMgb24ga2lyam9pdHVzc3VvamF0dHUsIGxpaXRldMOkw6RuIHZhaW4gbHVrdSAtdGlsYXNzYSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJubyBtZWRpdW0gZm91bmQgb24gJXMiCittc2dzdHIgIk1lZGlhYSBlaSBsw7Z5ZHkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG9wdGlvbiBmb3JtYXQ6ICVzIgorbXNnc3RyICIlczogdHVudGVtYXRvbiBhcmd1bWVudHRpOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhcHBlbmQgb3B0aW9uICclcyciCittc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbGhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2VdIDxzb3VyY2U+IHwgWy0tdGFyZ2V0XSA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIDxvcGVyYXRpb24+IDxtb3VudHBvaW50PiBbPHRhcmdldD5dXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzQ0CisjLCBmdXp6eQorbXNnaWQgIk1vdW50IGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiVGFya2lzdGV0YWFuIGthaWtraSB0aWVkb3N0b2rDpHJqZXN0ZWxtw6R0LlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBtb3VudCBhbGwgZmlsZXN5c3RlbXMgbWVudGlvbmVkIGluIGZzdGFiXG4iCisiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSBtb3VudCgyKSBzeXNjYWxsXG4iCisiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIGZvcmsgb2ZmIGZvciBlYWNoIGRldmljZSAodXNlIHdpdGggLWEpXG4iCisiIC1ULCAtLWZzdGFiIDxwYXRoPiAgICAgIGFsdGVybmF0aXZlIGZpbGUgdG8gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgbW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBzaG93IGFsc28gZmlsZXN5c3RlbSBsYWJlbHNcbiIKK21zZ3N0ciAiIC1jbGVhciA8YWxsfHJlc3Q+XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1OCBzeXMtdXRpbHMvdW1vdW50LmM6OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc2MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIG1vdW50IG9wdGlvbnNcbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtb25seSAoc2FtZSBhcyAtbyBybylcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tc291cmNlIDxzcmM+ICAgICAgZXhwbGljaXRseSBzcGVjaWZpZXMgc291cmNlIChwYXRoLCBsYWJlbCwgdXVpZClcbiIKKyIgICAgIC0tdGFyZ2V0IDx0YXJnZXQ+ICAgZXhwbGljaXRseSBzcGVjaWZpZXMgbW91bnRwb2ludFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc2OCBzeXMtdXRpbHMvdW1vdW50LmM6OTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBzYXkgd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtd3JpdGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTb3VyY2U6XG4iCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc5MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3BlcmF0aW9uczpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIHNvbWV3aGVyZSBlbHNlIChzYW1lIGFzIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG1vdmUgYSBzdWJ0cmVlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjgwMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4ODcgc3lzLXV0aWxzL3Vtb3VudC5jOjU0OAorIywgZnV6enkKK21zZ2lkICJsaWJtb3VudCBjb250ZXh0IGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJtb3VudDogbGlpdG9zIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6OTQ0IHN5cy11dGlscy91bW91bnQuYzo2MDEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCBvcHRpb25zIHBhdHRlcm4iCittc2dzdHIgIk9zaW9uIGtpcmpvaXR1cyBlcMOkb25uaXN0dWkgbGFpdHRlZWxsZSAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTA5NworIywgZnV6enkKK21zZ2lkICJzb3VyY2Ugc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJBbm5ldHR1IHN5bGludGVyaW3DpMOkcsOkIGVpIG1haGR1IGxldnlsbGUiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLXFkXSAvcGF0aC90by9kaXJlY3RvcnlcbiIKKyIgJTEkcyAteCAvZGV2L2RldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTIyCittc2dpZCAiQ2hlY2sgd2hldGhlciBhIGRpcmVjdG9yeSBvciBmaWxlIGlzIGEgbW91bnRwb2ludC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEyNQorbXNnaWQgIiIKKyIgLXEsIC0tcXVpZXQgICAgICAgIHF1aWV0IG1vZGUgLSBkb24ndCBwcmludCBhbnl0aGluZ1xuIgorIiAtZCwgLS1mcy1kZXZubyAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBmaWxlc3lzdGVtXG4iCisiIC14LCAtLWRldm5vICAgICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGJsb2NrIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzIGVpIG9sZSBsaWl0b3NwaXN0ZSB0YWkgdmlyaGVlbGxpbmVuIHZhbGl0c2luIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjIwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzIGVpIG9sZSBsaWl0b3NwaXN0ZSB0YWkgdmlyaGVlbGxpbmVuIHZhbGl0c2luIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjcyIHN5cy11dGlscy9zZXRwcml2LmM6OTMgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXVxuIgorbXNnc3RyICJLw6R5dHTDtjogJXMgW3ZhbGl0c2ltZXRdIDxvaGplbG1hPiBbYXJnLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjc2Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIG5hbWVzcGFjZXMgb2Ygb3RoZXIgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzkKK21zZ2lkICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICB0YXJnZXQgcHJvY2VzcyB0byBnZXQgbmFtZXNwYWNlcyBmcm9tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MAorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICBlbnRlciBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFTDpG3DpCBwaWVuaSBrw6R5dHTDtm9wYXNcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MQorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICBlbnRlciBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgyCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgIGVudGVyIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgZW50ZXIgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgZW50ZXIgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NQorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICBlbnRlciBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUw6Rtw6QgcGllbmkga8OkeXR0w7ZvcGFzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODYKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgZW50ZXIgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODcKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgc2V0IHVpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg5Cittc2dpZCAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzIGRvIG5vdCB0b3VjaCB1aWRzIG9yIGdpZHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkwCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yb290Wz08ZGlyPl0gICAgIHNldCB0aGUgcm9vdCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorIkFqYSBLT01FTlRPIHNpdGVuLCBldHTDpCBVVVNJSlVVUkkgb24gYXNldGV0dHVuYSBqdXVyaWhha2VtaXN0b2tzaS5cbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MQorIywgZnV6enkKK21zZ2lkICIgLXcsIC0td2RbPTxkaXI+XSAgICAgICBzZXQgdGhlIHdvcmtpbmcgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKyJBamEgS09NRU5UTyBzaXRlbiwgZXR0w6QgVVVTSUpVVVJJIG9uIGFzZXRldHR1bmEganV1cmloYWtlbWlzdG9rc2kuXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTIKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICBkbyBub3QgZm9yayBiZWZvcmUgZXhlYydpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NAorbXNnaWQgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgIHNldCBTRUxpbnV4IGNvbnRleHQgYWNjb3JkaW5nIHRvIC0tdGFyZ2V0IFBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5laXRoZXIgZmlsZW5hbWUgbm9yIHRhcmdldCBwaWQgc3VwcGxpZWQgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mjc3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB1aWQiCittc2dzdHIgInVpZCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoyODEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGdpZCIKK21zZ3N0ciAiZ2lkIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMxNworbXNnaWQgIm5vIHRhcmdldCBQSUQgc3BlY2lmaWVkIGZvciAtLWZvbGxvdy1jb250ZXh0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0ICVkIFNFTGludXggY29udGV4dCIKK21zZ3N0ciAidXVkZW4gc2VsaW51eC1rb250ZWtzdGluIGx1b21pbmVuIGVpIG9ubmlzdHUiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGV4ZWMgY29udGV4dCB0byAnJXMnIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfU0VUKSBsYWl0dGVlbGxlICVzIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlYXNzb2NpYXRlIHRvIG5hbWVzcGFjZSAnJXMnIGZhaWxlZCIKK21zZ3N0ciAiJXMgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM5MAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICJ2aXJoZTogdmFpaGRhIHR5w7ZoYWtlbWlzdG9rc2kgJXMuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM5NworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHJvb3QgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAic2lpcnR5bWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQwMAorbXNnaWQgImNocm9vdCBmYWlsZWQiCittc2dzdHIgImNocm9vdCBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDEwCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgd29ya2luZyBkaXJlY3RvcnkgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAic2lpcnR5bWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQyMSBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxNSBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxOQorIywgZnV6enkKK21zZ2lkICJzZXRncm91cHMgZmFpbGVkIgorbXNnc3RyICJzZXRncm91cHMgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIG5ld19yb290IHB1dF9vbGRcbiIKK21zZ3N0ciAiIgorIkvDpHl0dMO2OiAlcyBbdmFsaXRzaW1ldF0gPHRpZWRvc3RvbmltaT5cbiIKKyJcbiIKKyJWYWxpdHNpbWV0OlxuIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjM3CisjLCBmdXp6eQorbXNnaWQgIkNoYW5nZSB0aGUgcm9vdCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJUYXJraXN0ZXRhYW4ga2Fpa2tpIHRpZWRvc3RvasOkcmplc3RlbG3DpHQuXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCBmcm9tIGAlcycgdG8gYCVzJyIKK21zZ3N0ciAiaGFrZW1pc3RvbiAlcyBhc2V0dGFtaW5lbiBqdXVyaWhha2VtaXN0b2tzaSBlaSBvbm5pc3R1IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1Cittc2dpZCAiYWRkcmVzcyBzcGFjZSBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2CisjLCBmdXp6eQorbXNnaWQgIm1heCBjb3JlIGZpbGUgc2l6ZSIKK21zZ3N0ciAiJXM6IHZpcmhlZWxsaW5lbiB0aWVkb3N0b2tva28iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiQ1BVIHRpbWUiCittc2dzdHIgIlN1b3JpdGluYWlrYXJhamEgeWxpdHR5bnl0IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAic2Vjb25kcyIKK21zZ3N0ciAic2VrdW50aWEiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzgKKyMsIGZ1enp5Cittc2dpZCAibWF4IGRhdGEgc2l6ZSIKK21zZ3N0ciAiS29rbyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OQorIywgZnV6enkKK21zZ2lkICJtYXggZmlsZSBzaXplIgorbXNnc3RyICIlczogdmlyaGVlbGxpbmVuIHRpZWRvc3Rva29rbyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIGZpbGUgbG9ja3MgaGVsZCIKK21zZ3N0ciAic2VnbWVudHRlasOkIGVuaW50w6TDpG4gPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorIywgZnV6enkKK21zZ2lkICJsb2NrcyIKK21zZ3N0ciAibG9oa290IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCittc2dpZCAibWF4IGxvY2tlZC1pbi1tZW1vcnkgYWRkcmVzcyBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyCittc2dpZCAibWF4IGJ5dGVzIGluIFBPU0lYIG1xdWV1ZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MworbXNnaWQgIm1heCBuaWNlIHByaW8gYWxsb3dlZCB0byByYWlzZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0CisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2Ygb3BlbiBmaWxlcyIKK21zZ3N0ciAiTGlpYW4gbW9udGEgYXZvaW50YSB0aWVkb3N0b2EiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXMiCittc2dzdHIgInRpZWRvc3RvICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1CisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2YgcHJvY2Vzc2VzIgorbXNnc3RyICJ0YXVsdWtrb2phIGVuaW50w6TDpG4gPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1CisjLCBmdXp6eQorbXNnaWQgInByb2Nlc3NlcyIKK21zZ3N0ciAiJXM6IHZpcmhlZWxsaW5lbiBwcm9zZXNzaS1JRCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NgorbXNnaWQgIm1heCByZXNpZGVudCBzZXQgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg3CisjLCBmdXp6eQorbXNnaWQgIm1heCByZWFsLXRpbWUgcHJpb3JpdHkiCittc2dzdHIgIlJlYWFsaWFpa2FzaWduYWFsaSAlZCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorIywgZnV6enkKK21zZ2lkICJ0aW1lb3V0IGZvciByZWFsLXRpbWUgdGFza3MiCittc2dzdHIgIlJlYWFsaWFpa2FzaWduYWFsaSAlZCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgIm1pY3Jvc2VjcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5CisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzIgorbXNnc3RyICJ0YXVsdWtrb2phIGVuaW50w6TDpG4gPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAic2lnbmFscyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCisjLCBmdXp6eQorbXNnaWQgIm1heCBzdGFjayBzaXplIgorbXNnc3RyICJQaW5vdmlyaGUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTIzCittc2dpZCAicmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAicmVzdXJzc2luIG5pbWkiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI0Cittc2dpZCAicmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgInJlc3Vyc3NpbiBrdXZhdXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI1Cittc2dpZCAic29mdCBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNgorbXNnaWQgImhhcmQgbGltaXQgKGNlaWxpbmcpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI3Cittc2dpZCAidW5pdHMiCittc2dzdHIgInlrc2lrw7Z0IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXAgUElEXVxuIgorbXNnc3RyICIlcyBbdmFsaXRzaW1ldF0gWzx0aWVkb3N0bz4gLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBDT01NQU5EXG4iCittc2dzdHIgIiAlcyBbdmFsaXRzaW1ldF0gWzx0aWVkb3N0bz4gLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2NgorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZXNvdXJjZSBsaW1pdHMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmFsIE9wdGlvbnM6XG4iCittc2dzdHIgIlZhbGl0c2ltZXQ6XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY5Cittc2dpZCAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHByb2Nlc3MgaWRcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCisiICAgICAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyIgICAgIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCisiICAgICAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBvdXRwdXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzcKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlJlc291cmNlcyBPcHRpb25zOlxuIgorbXNnc3RyICJWYWxpdHNpbWV0OlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OAorbXNnaWQgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgY29yZSBmaWxlcyBjcmVhdGVkXG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcydzIGRhdGEgc2VnbWVudFxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIG1heGltdW0gbmljZSBwcmlvcml0eSBhbGxvd2VkIHRvIHJhaXNlXG4iCisiIC1mLCAtLWZzaXplICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlIHByb2Nlc3NcbiIKKyIgLWksIC0tc2lncGVuZGluZyAgICAgICBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHNcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICBtYXhpbXVtIHNpemUgYSBwcm9jZXNzIG1heSBsb2NrIGludG8gbWVtb3J5XG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZVxuIgorIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIG9wZW4gZmlsZXNcbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBtYXhpbXVtIGJ5dGVzIGluIFBPU0lYIG1lc3NhZ2UgcXVldWVzXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eVxuIgorIiAtcywgLS1zdGFjayAgICAgICAgICAgIG1heGltdW0gc3RhY2sgc2l6ZVxuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIG1heGltdW0gYW1vdW50IG9mIENQVSB0aW1lIGluIHNlY29uZHNcbiIKKyIgLXUsIC0tbnByb2MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiB1c2VyIHByb2Nlc3Nlc1xuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIHNpemUgb2YgdmlydHVhbCBtZW1vcnlcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBmaWxlIGxvY2tzXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAgQ1BVIHRpbWUgaW4gbWljcm9zZWNvbmRzIGEgcHJvY2VzcyBzY2hlZHVsZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1bmRlciByZWFsLXRpbWUgc2NoZWR1bGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MjQzIHN5cy11dGlscy9wcmxpbWl0LmM6MjQ5IHN5cy11dGlscy9wcmxpbWl0LmM6MzY2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3MQorbXNnaWQgInVubGltaXRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjMzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBvbGQgJXMgbGltaXQiCittc2dzdHIgInRpZWRvc3RvbiAlcyBvbWluYWlzdXVrc2llbiBoYWtlbWluZW4gZWkgb25uaXN0dSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHNvZnQgbGltaXQgJXMgY2Fubm90IGV4Y2VlZCB0aGUgaGFyZCBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTmV3ICVzIGxpbWl0IGZvciBwaWQgJWQ6ICIKK21zZ3N0ciAiaGFldHRhZXNzYSB0aWVkb3N0b24gJXMgdXVzaWEgb21pbmFpc3V1a3NpYSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfU0VUKSBsYWl0dGVlbGxlICVzIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICJ0aWVkb3N0b24gJXMgb21pbmFpc3V1a3NpZW4gaGFrZW1pbmVuIGVpIG9ubmlzdHUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NDU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgbGltaXQiCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo1ODUKK21zZ2lkICJvcHRpb24gLS1waWQgbWF5IGJlIHNwZWNpZmllZCBvbmx5IG9uY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo2MTYKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9ucyAtLXBpZCBhbmQgQ09NTUFORCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICJww6RpdsOkeWtzZW4gdHVsb3N0dXN0YSBtw6TDpHLDpMOkdsOkdCB2YWxpdHNpbWV0IG92YXQgdG9pc2Vuc2EgcG9pc3N1bGtldmlhIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDcKK21zZ2lkICJEaXNwbGF5IGtlcm5lbCBwcm9maWxpbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbSwgLS1tYXBmaWxlIDxtYXBmaWxlPiAgIChkZWZhdWx0czogXCIlc1wiIGFuZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiVzXCIpXG4iCittc2dzdHIgIiVzXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICIgLXAsIC0tcHJvZmlsZSA8cHJvLWZpbGU+ICAoZGVmYXVsdDogIFwiJXNcIilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTYKK21zZ2lkICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNworIywgZnV6enkKK21zZ2lkICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBwcmludCB2ZXJib3NlIGRhdGFcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOQorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICBwcmludCBhbGwgc3ltYm9scywgZXZlbiBpZiBjb3VudCBpcyAwXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUw6Rtw6QgcGllbmkga8OkeXR0w7ZvcGFzXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMAorbXNnaWQgIiAtYiwgLS1oaXN0YmluICAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgaGlzdG9ncmFtLWJpbiBjb3VudHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjEKK21zZ2lkICIgLXMsIC0tY291bnRlcnMgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGNvdW50ZXJzIHdpdGhpbiBmdW5jdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICBUZXN0YWEgZ2V0b3B0KDEpOm4gdmVyc2lvXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMworbXNnaWQgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3Igd3JpdGluZyAlcyIKK21zZ3N0ciAidmlyaGUga2lyam9pdGV0dGFlc3NhIHRpZWRvc3RvYSAlcyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjcxCittc2dpZCAiQXNzdW1pbmcgcmV2ZXJzZWQgYnl0ZSBvcmRlci4gVXNlIC1uIHRvIGZvcmNlIG5hdGl2ZSBieXRlIG9yZGVyLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNhbXBsaW5nX3N0ZXA6ICV1XG4iCittc2dzdHIgIlNhbXBsaW5nX3N0ZXA6ICVpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMwMiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzKCVpKTogd3JvbmcgbWFwIGxpbmUiCittc2dzdHIgIiVzOiAlcyglaSk6IHbDpMOkcsOkIGthcnRhbiByaXZpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBcIl9zdGV4dFwiIGluICVzIgorbXNnc3RyICIlcyBlaSBsw7Z5ZHkiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjM0NgorIywgZnV6enkKK21zZ2lkICJwcm9maWxlIGFkZHJlc3Mgb3V0IG9mIHJhbmdlLiBXcm9uZyBtYXAgZmlsZT8iCittc2dzdHIgIiVzOiBwcm9maWlsaW9zb2l0ZSBzYWxsaXR1biB2w6RsaW4gdWxrb3B1b2xlbGxhLiBWw6TDpHLDpCBrYXJ0dGF0aWVkb3N0bz9cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6NDA0Cittc2dpZCAidG90YWwiCittc2dzdHIgInlodGVlbnPDpCIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUyCisjLCBmdXp6eQorbXNnaWQgInByb2Nlc3MgSUQiCittc2dzdHIgIiVzOiB2aXJoZWVsbGluZW4gcHJvc2Vzc2ktSUQiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MworIywgZnV6enkKK21zZ2lkICJwcm9jZXNzIGdyb3VwIElEIgorbXNnc3RyICIlczogdmlyaGVlbGxpbmVuIHByb3Nlc3NpLUlEIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gWy1wfC0tcGlkXSA8cGlkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLWd8LS1wZ3JwIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLXV8LS11c2VyIDx1c2VyPi4uLlxuIgorbXNnc3RyICIiCisiXG4iCisiS8OkeXR0w7Y6XG4iCisiIHJlbmljZSBbLW5dIHByaW9yaXRlZXR0aSBbLXB8LS1waWRdIHBpZCBbLi4uIHBpZF1cbiIKKyIgcmVuaWNlIFstbl0gcHJpb3JpdGVldHRpICAtZ3wtLXBncnAgcHJ5aG3DpCBbLi4uIHByeWhtw6RdXG4iCisiIHJlbmljZSBbLW5dIHByaW9yaXRlZXR0aSAgLXV8LS11c2VyIGvDpHl0dMOkasOkIFsuLi4ga8OkeXR0w6Rqw6RdXG4iCisiIHJlbmljZSAtaCB8IC0taGVscFxuIgorIiByZW5pY2UgLXYgfCAtLXZlcnNpb25cbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjY3Cittc2dpZCAiQWx0ZXIgdGhlIHByaW9yaXR5IG9mIHJ1bm5pbmcgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorbXNnc3RyICJBbm5hIHN5bGludGVyaWVuIG3DpMOkcsOkOiAiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MQorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBJRCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MgorbXNnaWQgIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIGdyb3VwIElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjczCittc2dpZCAiIC11LCAtLXVzZXIgPG5hbWU+fDxpZD4gaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHVzZXJuYW1lIG9yIHVzZXIgSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgInRpZWRvc3RvbiAlcyBvbWluYWlzdXVrc2llbiBoYWtlbWluZW4gZWkgb25uaXN0dSIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfU0VUKSBsYWl0dGVlbGxlICVzIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjEwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgKCVzKSBvbGQgcHJpb3JpdHkgJWQsIG5ldyBwcmlvcml0eSAlZFxuIgorbXNnc3RyICIlZDogdmFuaGEgcHJpb3JpdGVldHRpICVkLCB1dXNpIHByaW9yaXRlZXR0aSAlZFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHVzZXIgJXMiCittc2dzdHIgInR1bnRlbWF0b24ga8OkeXR0w6Rqw6QtSUQ6ICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIG9uZSBvZiB0aGUgYWJvdmUKKyMuICogdGhyZWUgSUQgbmFtZXMuIFJlYWQ6ICJiYWQgdmFsdWUgZm9yICVzOiAlcyIKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCAlcyB2YWx1ZTogJXMiCittc2dzdHIgInZpcmhlZWxsaW5lbiBhaWtha2F0a2Fpc3VhcnZvOiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo5OAorbXNnaWQgIkVudGVyIGEgc3lzdGVtIHNsZWVwIHN0YXRlIHVudGlsIGEgc3BlY2lmaWVkIHdha2V1cCB0aW1lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgcmVhZHMgdGhlIGNsb2NrIG1vZGUgZnJvbSBhZGp1c3QgZmlsZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFTDpG3DpCBwaWVuaSBrw6R5dHTDtm9wYXNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtQSwgLS1hZGpmaWxlIDxmaWxlPiAgICAgc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA1Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICBkYXRlIHRpbWUgb2YgdGltZXN0YW1wIHRvIHdha2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNgorbXNnaWQgIiAtZCwgLS1kZXZpY2UgPGRldmljZT4gICAgc2VsZWN0IHJ0YyBkZXZpY2UgKHJ0YzB8cnRjMXwuLi4pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDcKK21zZ2lkICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGRvZXMgZXZlcnl0aGluZywgYnV0IHN1c3BlbmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOAorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUw6Rtw6QgcGllbmkga8OkeXR0w7ZvcGFzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA5Cittc2dpZCAiICAgICAtLWxpc3QtbW9kZXMgICAgICAgICBsaXN0IGF2YWlsYWJsZSBtb2Rlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEwCittc2dpZCAiIC1tLCAtLW1vZGUgPG1vZGU+ICAgICAgICBzdGFuZGJ5fG1lbXwuLi4gc2xlZXAgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTExCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zZWNvbmRzIDxzZWNvbmRzPiAgc2Vjb25kcyB0byBzbGVlcFxuIgorbXNnc3RyICIlcyAgJS42ZiBzZWt1bnRpYVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMgorbXNnaWQgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTMKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBSVEMgdXNlcyBVVENcbiIKK21zZ3N0ciAiJXM6IG9sZXRldGFhbiBSVEM6biBrw6R5dHTDpHbDpG4gVVRDOnTDpC4uLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiTHVvIG1vbmlzYW5haXNldCB2aWVzdGl0IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE2NworIywgZnV6enkKK21zZ2lkICJyZWFkIHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoUlRDX0VQT0NIX1JFQUQpIGxhaXR0ZWVsbGUgJXMgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE3MworIywgZnV6enkKK21zZ2lkICJyZWFkIHN5c3RlbSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiYWphbiBsdWtldmEgS0RHSFdDTEstaW9jdGwgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE4OQorIywgZnV6enkKK21zZ2lkICJjb252ZXJ0IHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoUlRDX0VQT0NIX1JFQUQpIGxhaXR0ZWVsbGUgJXMgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjIzNworIywgZnV6enkKK21zZ2lkICJzZXQgcnRjIHdha2UgYWxhcm0gZmFpbGVkIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfU0VUKSBsYWl0dGVlbGxlICVzIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdGhpcmQgbGluZSBpbjogJXM6ICVzIgorbXNnc3RyICIlczogdGllZG9zdG9uIGxvcHB1IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMyMCBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyNAorIywgZnV6enkKK21zZ2lkICJyZWFkIHJ0YyBhbGFybSBmYWlsZWQiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSBsYWl0dGVlbGxlICVzIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvZmZcbiIKK21zZ3N0ciAiSGVyw6R0eXNrZWxsbyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMzgKKyMsIGZ1enp5Cittc2dpZCAiY29udmVydCB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiYWphbiBsdWtldmEgS0RHSFdDTEstaW9jdGwgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9uICAlcyIKK21zZ3N0ciAiSGVyw6R0eXNrZWxsbyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkOiAlcyIKK21zZ3N0ciAiUEFNaWEgZWkgdm9pdHUgYWx1c3RhYTogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgc3VzcGVuZCBzdGF0ZSAnJXMnIgorbXNnc3RyICIlczogdmlyaGUgdGlsYWtvbmVlc3NhIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ3NQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNlY29uZHMgYXJndW1lbnQiCittc2dzdHIgIlZpcmhlZWxsaW5lbiBhcmd1bWVudHRpIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ3OQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHRpbWUgYXJndW1lbnQiCittc2dzdHIgIlZpcmhlZWxsaW5lbiBhcmd1bWVudHRpIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYXNzdW1pbmcgUlRDIHVzZXMgVVRDIC4uLlxuIgorbXNnc3RyICIlczogb2xldGV0YWFuIFJUQzpuIGvDpHl0dMOkdsOkbiBVVEM6dMOkLi4uXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTExCittc2dpZCAiVXNpbmcgVVRDIHRpbWUuXG4iCittc2dzdHIgIkvDpHl0ZXTDpMOkbiBVVEMtYWlrYWEuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTEyCittc2dpZCAiVXNpbmcgbG9jYWwgdGltZS5cbiIKK21zZ3N0ciAiS8OkeXRldMOkw6RuIHBhaWthbGxpc3RhIGFpa2FhLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxNQorIywgZnV6enkKK21zZ2lkICJtdXN0IHByb3ZpZGUgd2FrZSB0aW1lIChzZWUgLS1zZWNvbmRzLCAtLXRpbWUgYW5kIC0tZGF0ZSBvcHRpb25zKSIKK21zZ3N0ciAiJXM6IGhlcsOkdHlzYWlrYSBvbiBhbm5ldHRhdmFcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBlbmFibGVkIGZvciB3YWtldXAgZXZlbnRzIgorbXNnc3RyICIlczogJXMgZWkgb2xlIGxwLWxhaXRlLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyOAorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybSAlbGQsIHN5c190aW1lICVsZCwgcnRjX3RpbWUgJWxkLCBzZWNvbmRzICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBkb2Vzbid0IGdvIGJhY2t3YXJkIHRvICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICJLw6R5dGV0w6TDpG4gcmFqYXBpbnRhYSAlcy5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgZnJvbSBcIiVzXCIgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIlZpZXN0aSAlMyRzOmxsZSBraXJqYXV0dW5lZWx0YSBrw6R5dHTDpGrDpGx0w6QgJTEkc0AlMiRzLCBrZWxsbyAlNCRzLi4uIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBubzsgbGVhdmluZ1xuIgorbXNnc3RyICI6ICEta29tZW50byBlaSBvbGUgc2FsbGl0dHUgcmFqb2l0ZXR1c3NhIHRpbGFzc2EuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogb2ZmOyBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9uOyByZWFkaW5nIHJ0Y1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTkyCisjLCBmdXp6eQorbXNnaWQgInJ0YyByZWFkIGZhaWxlZCIKK21zZ3N0ciAibHVrZW1pbmVuIGVww6Rvbm5pc3R1aTogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjA0CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogZGlzYWJsZTsgZGlzYWJsaW5nIGFsYXJtXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBzaG93OyBwcmludGluZyBhbGFybSBpbmZvXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiAlczsgc3VzcGVuZGluZyBzeXN0ZW1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyOQorbXNnaWQgImRpc2FibGUgcnRjIGFsYXJtIGludGVycnVwdCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU3dpdGNoaW5nIG9uICVzLlxuIgorbXNnc3RyICIlcyAlcyVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8YXJjaD4gW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJLw6R5dHTDtjogJXMgW3ZhbGl0c2ltZXRdIDxvaGplbG1hPiBbYXJnLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJLw6R5dHTDtjogJXMgW3ZhbGl0c2ltZXRdIDxvaGplbG1hPiBbYXJnLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk2Cittc2dpZCAiQ2hhbmdlIHRoZSByZXBvcnRlZCBhcmNoaXRlY3R1cmUgYW5kIHNldCBwZXJzb25hbGl0eSBmbGFncy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk5Cittc2dpZCAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB0dXJucyBvbiBBRERSX0xJTUlUXzMyQklUXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDAKK21zZ2lkICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIG1ha2VzIGZ1bmN0aW9uIHBvaW50ZXJzIHBvaW50IHRvIGRlc2NyaXB0b3JzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDEKK21zZ2lkICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIHR1cm5zIG9uIFNIT1JUX0lOT0RFXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDIKK21zZ2lkICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMworbXNnaWQgIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgZGlzYWJsZXMgcmFuZG9taXphdGlvbiBvZiB0aGUgdmlydHVhbCBhZGRyZXNzIHNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDQKK21zZ2lkICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHR1cm5zIG9uIFdIT0xFX1NFQ09ORFNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNQorbXNnaWQgIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgdHVybnMgb24gU1RJQ0tZX1RJTUVPVVRTXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDYKK21zZ2lkICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDcKK21zZ2lkICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHR1cm5zIG9uIE1NQVBfUEFHRV9aRVJPXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDgKK21zZ2lkICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDkKK21zZ2lkICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGlnbm9yZWQgKGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IG9ubHkpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTAKK21zZ2lkICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHR1cm5zIG9uIFVOQU1FMjZcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheSB3aGF0IG9wdGlvbnMgYXJlIGJlaW5nIHN3aXRjaGVkIG9uXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExNAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3Qgc2V0dGFibGUgYXJjaGl0ZWN0dXJlcywgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiJXNcbiIKKyJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorbXNnc3RyICJLb2tlaWxlIOKAnSVzIC0taGVscOKAnSB0YWkg4oCdJXMgLS11c2FnZeKAnSBzYWFkYWtzZXNpIGxpc8Okw6QgdGlldG9hLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKK21zZ3N0ciAiS29tZW50byDigJ1sZGQgLS1oZWxw4oCdIGFudGFhIGxpc8Okw6QgdGlldG9hLiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFVucmVjb2duaXplZCBhcmNoaXRlY3R1cmUiCittc2dzdHIgIiVzOiBUdW5uaXN0YW1hdG9uIGFya2tpdGVodHV1cmkiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgY2Fubm90IHNldCBhcmNoaXRlY3R1cmUgdG8gJXMiCittc2dzdHIgImtvbmVuaW1lbiAlcyBhc2V0dGFtaW5lbiBqw6RyamVzdGVsbcOkbGxlIGVpIG9ubmlzdHUiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzA1Cittc2dpZCAiTm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIkxpaWFuIHbDpGjDpG4gYXJndW1lbnR0ZWphIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjMyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAiaW9jdGwoUlRDX0VQT0NIX1NFVCkgbGFpdHRlZWxsZSAlcyBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc5CisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJy0tbGlzdCciCittc2dzdHIgIiVzOiB0dW5uaXN0YW1hdG9uIHZhbGl0c2luIOKAnSVjJXPigJ1cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozODcKKyMsIGZ1enp5Cittc2dpZCAibm8gYXJjaGl0ZWN0dXJlIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAiTGlpYW4gdsOkaMOkbiBhcmd1bWVudHRlamEiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfU0VUKSBsYWl0dGVlbGxlICVzIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGUgY29tbWFuZCBgJXMnLlxuIgorbXNnc3RyICJLw6R5bm5pc3RldMOkw6RuIOKAnWRhdGXigJ0ta29tZW50bzogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NworbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBkaWZmZXJlbnQgcHJpdmlsZWdlIHNldHRpbmdzLlxuIgorbXNnc3RyICJBamFhIG9oamVsbWFuIGVyaWxhaXNpbGxhIG9pa2V1a3NpbGxhLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMAorbXNnaWQgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgc2hvdyBjdXJyZW50IHN0YXRlIChhbmQgZG8gbm90IGV4ZWMgYW55dGhpbmcpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDEKK21zZ2lkICIgLS1ubnAsIC0tbm8tbmV3LXByaXZzICAgIGRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDIKK21zZ2lkICIgLS1pbmgtY2FwcyA8Y2FwcywuLi4+ICAgIHNldCBpbmhlcml0YWJsZSBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMworbXNnaWQgIiAtLWJvdW5kaW5nLXNldCA8Y2Fwcz4gICAgc2V0IGNhcGFiaWxpdHkgYm91bmRpbmcgc2V0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAiIC0tcnVpZCA8dWlkPiAgICAgICAgICAgICBzZXQgcmVhbCB1aWRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA1Cittc2dpZCAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA2Cittc2dpZCAiIC0tcmdpZCA8Z2lkPiAgICAgICAgICAgICBzZXQgcmVhbCBnaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNworbXNnaWQgIiAtLWVnaWQgPGdpZD4gICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwOAorbXNnaWQgIiAtLXJldWlkIDx1aWQ+ICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwOQorbXNnaWQgIiAtLXJlZ2lkIDxnaWQ+ICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMAorbXNnaWQgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgY2xlYXIgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMQorbXNnaWQgIiAtLWtlZXAtZ3JvdXBzICAgICAgICAgICAga2VlcCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEyCittc2dpZCAiIC0tZ3JvdXBzIDxncm91cCwuLi4+ICAgICBzZXQgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMworbXNnaWQgIiAtLXNlY3VyZWJpdHMgPGJpdHM+ICAgICAgc2V0IHNlY3VyZWJpdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNAorbXNnaWQgIiAtLXNlbGludXgtbGFiZWwgPGxhYmVsPiAgc2V0IFNFTGludXggbGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNQorbXNnaWQgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgc2V0IEFwcEFybW9yIHByb2ZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyMQorbXNnaWQgIiBUaGlzIHRvb2wgY2FuIGJlIGRhbmdlcm91cy4gIFJlYWQgdGhlIG1hbnBhZ2UsIGFuZCBiZSBjYXJlZnVsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTkzIHN5cy11dGlscy9zZXRwcml2LmM6NDY3Cittc2dpZCAiZ2V0dGluZyBwcm9jZXNzIHNlY3VyZSBiaXRzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN1cmViaXRzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIltub25lXVxuIgorbXNnc3RyICJFaSBtaXTDpMOkbi5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBsb25nIgorbXNnc3RyICIlczogbGlpYW4gcGl0a8OkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHM6ICIKK21zZ3N0ciAiIHJ5aG3DpHQ9IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3MyBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyMSBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyNgorIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzIgc3lzLXV0aWxzL3NldHByaXYuYzozMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIltub25lXSIKK21zZ3N0ciAiICAgRWkgbWl0w6TDpG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgInVpZDogJXVcbiIKK21zZ3N0ciAidWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICJldWlkOiAldVxuIgorbXNnc3RyICJldWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJzdWlkOiAldVxuIgorbXNnc3RyICJzdWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5OSBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5MQorIywgZnV6enkKK21zZ2lkICJnZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJFSSBUw4RTTcOEw4QiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzA4IHN5cy11dGlscy9zZXRwcml2LmM6NDA2CisjLCBmdXp6eQorbXNnaWQgImdldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgIkVJIFTDhFNNw4TDhCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRWZmZWN0aXZlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQZXJtaXR0ZWQgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIlRvaW1pbnRvIGVpIG9sZSBzYWxsaXR0dSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhcGFiaWxpdHkgYm91bmRpbmcgc2V0OiAiCittc2dzdHIgImt5a3lsaXN0YWEgZWkgdm9pIGx1b2RhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MworIywgZnV6enkKK21zZ2lkICJTRUxpbnV4IGxhYmVsIgorbXNnc3RyICJuaW1pw7YgIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0NgorbXNnaWQgIkFwcEFybW9yIHByb2ZpbGUiCittc2dzdHIgIkFwcEFybW9yLXByb2ZpaWxpIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYXAgJWQ6IGxpYmNhcC1uZyBpcyBicm9rZW4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODIKKyMsIGZ1enp5Cittc2dpZCAiSW52YWxpZCBzdXBwbGVtZW50YXJ5IGdyb3VwIGlkIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gcnlobcOkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5OQorIywgZnV6enkKK21zZ2lkICJzZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJFSSBUw4RTTcOEw4QiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDE0CisjLCBmdXp6eQorbXNnaWQgInNldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgIkVJIFTDhFNNw4TDhCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MzUKKyMsIGZ1enp5Cittc2dpZCAiYmFkIGNhcGFiaWxpdHkgc3RyaW5nIgorbXNnc3RyICJreWt5bGlzdGFhIGVpIHZvaSBsdW9kYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NDMKK21zZ2lkICJsaWJjYXAtbmcgaXMgdG9vIG9sZCBmb3IgXCJhbGxcIiBjYXBzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNhcGFiaWxpdHkgXCIlc1wiIgorbXNnc3RyICJreWt5bGlzdGFhIGVpIHZvaSBsdW9kYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NzYKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCBzZXQgLS0gcmVmdXNpbmcgdG8gYWRqdXN0IgorbXNnc3RyICJ0dW5uaXN0YW1hdG9uIG11b3RvIOKAkyBrw6R5dGV0w6TDpG4gc2VrdG9yZWl0YVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ4MAorIywgZnV6enkKK21zZ2lkICJiYWQgc2VjdXJlYml0cyBzdHJpbmciCittc2dzdHIgInDDpMOkdHTDpG3DpHTDtm4gbWVya2tpam9ubyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAiK2FsbCBzZWN1cmViaXRzIGlzIG5vdCBhbGxvd2VkIgorbXNnc3RyICJtZXJra2kg4oCdJWPigJ0gZWkgb2xlIHNhbGxpdHR1IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUwMAorbXNnaWQgImFkanVzdGluZyBrZWVwX2NhcHMgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUwNAorIywgZnV6enkKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IgorbXNnc3RyICJ0dW5uaXN0YW1hdG9uIHZhbGl0c2luIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUyNAorIywgZnV6enkKK21zZ2lkICJTRUxpbnV4IGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICJvbiBqbyBrw6R5bm5pc3PDpCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNsb3NlIGZhaWxlZDogJXMiCittc2dzdHIgIiVzOiBzdWxrZW1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NDcKKyMsIGZ1enp5Cittc2dpZCAiQXBwQXJtb3IgaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIm9uIGpvIGvDpHlubmlzc8OkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY1OAorbXNnaWQgImR1cGxpY2F0ZSAtLW5vLW5ldy1wcml2cyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NjMKKyMsIGZ1enp5Cittc2dpZCAiZHVwbGljYXRlIHJ1aWQiCittc2dzdHIgInlsaW3DpMOkcsOkaW5lbiAlPGNvbnN0JT4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjY1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBydWlkIgorbXNnc3RyICJKw6RzZW5ueXN2aXJoZTogJXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjY5CisjLCBmdXp6eQorbXNnaWQgImR1cGxpY2F0ZSBldWlkIgorbXNnc3RyICIgZXVpZD0lcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGV1aWQiCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzUKKyMsIGZ1enp5Cittc2dpZCAiZHVwbGljYXRlIHJ1aWQgb3IgZXVpZCIKK21zZ3N0ciAiIGV1aWQ9JXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njc3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZXVpZCIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4MQorIywgZnV6enkKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCIKK21zZ3N0ciAieWxpbcOkw6Ryw6RpbmVuICU8Y29uc3QlPiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJnaWQiCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODcKKyMsIGZ1enp5Cittc2dpZCAiZHVwbGljYXRlIGVnaWQiCittc2dzdHIgIiBlZ2lkPSVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWdpZCIKK21zZ3N0ciAiIGVnaWQ9JXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjkzCisjLCBmdXp6eQorbXNnaWQgImR1cGxpY2F0ZSByZ2lkIG9yIGVnaWQiCittc2dzdHIgIiBlZ2lkPSVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY5NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmVnaWQiCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MDAKK21zZ2lkICJkdXBsaWNhdGUgLS1jbGVhci1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzA2Cittc2dpZCAiZHVwbGljYXRlIC0ta2VlcC1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzEyCisjLCBmdXp6eQorbXNnaWQgImR1cGxpY2F0ZSAtLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiByeWhtw6R0PSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MjEKK21zZ2lkICJkdXBsaWNhdGUgLS1pbmgtY2FwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MjcKKyMsIGZ1enp5Cittc2dpZCAiZHVwbGljYXRlIC0tYm91bmRpbmctc2V0IG9wdGlvbiIKK21zZ3N0ciAia2Frc2lua2VydGFpbmVuIGpvdWtvbiBtw6TDpHJpdHRlbHkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzMzCisjLCBmdXp6eQorbXNnaWQgImR1cGxpY2F0ZSAtLXNlY3VyZWJpdHMgb3B0aW9uIgorbXNnc3RyICJ5bGltw6TDpHLDpGluZW4gJTxjb25zdCU+IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjczOQorbXNnaWQgImR1cGxpY2F0ZSAtLXNlbGludXgtbGFiZWwgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzQ1Cittc2dpZCAiZHVwbGljYXRlIC0tYXBwYXJtb3ItcHJvZmlsZSBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJyVjJyIKK21zZ3N0ciAiJXM6IHR1bm5pc3RhbWF0b24gdmFsaXRzaW4g4oCdJWMlc+KAnVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc2MworbXNnaWQgIi0tZHVtcCBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgb3B0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3MQorbXNnaWQgIi0tbGlzdC1jYXBzIG11c3QgYmUgc3BlY2lmaWVkIGFsb25lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzc3CisjLCBmdXp6eQorbXNnaWQgIk5vIHByb2dyYW0gc3BlY2lmaWVkIgorbXNnc3RyICJvZG90dGFtYXRvbiAlPEAlPiBvaGplbG1hc3NhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4MgorbXNnaWQgIi0tW3JlXWdpZCByZXF1aXJlcyAtLWtlZXAtZ3JvdXBzLCAtLWNsZWFyLWdyb3Vwcywgb3IgLS1ncm91cHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODUKK21zZ2lkICJkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTMKK21zZ2lkICJrZWVwIHByb2Nlc3MgY2FwYWJpbGl0aWVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwMQorbXNnaWQgImFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwNworbXNnaWQgInJlYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODIzCisjLCBmdXp6eQorbXNnaWQgInNldCBwcm9jZXNzIHNlY3VyZWJpdHMgZmFpbGVkIgorbXNnc3RyICJjYWNoZV9zZXQgdWhyaW4gdmFyYXVzIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjkKKyMsIGZ1enp5Cittc2dpZCAiYXBwbHkgYm91bmRpbmcgc2V0IgorbXNnc3RyICJBc2V0YSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzUKK21zZ2lkICJhcHBseSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBleGVjdXRlOiAlcyIKK21zZ3N0ciAidGllZG9zdG9hICVzIGVpIHZvaSBzaWlydMOkw6Qga29odGVlc2VlbiAlcyIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJndW1lbnRzIC4uLl1cbiIKK21zZ3N0ciAiS8OkeXR0w7Y6ICVzIFt2YWxpdHNpbWV0XSA8b2hqZWxtYT4gW2FyZy4uLl1cbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjM2Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSBpbiBhIG5ldyBzZXNzaW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozOQorbXNnaWQgIiAtYywgLS1jdHR5ICAgICBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIHRvIHRoZSBjdXJyZW50IG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MAorbXNnaWQgIiAtdywgLS13YWl0ICAgICB3YWl0IHByb2dyYW0gdG8gZXhpdCwgYW5kIHVzZSB0aGUgc2FtZSByZXR1cm5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiZm9yayIKK21zZ3N0ciAiZm9yazogJXMiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNoaWxkICVkIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAibW91bnQ6IGxpaXRvc3Bpc3RlICVzIGVpIG9sZSBvbGVtYXNzYSIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExMAorIywgZnV6enkKK21zZ2lkICJzZXRzaWQgZmFpbGVkIgorbXNnc3RyICJFSSBUw4RTTcOEw4QiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwiCittc2dzdHIgImNhY2hlX3NldCB1aHJpbiB2YXJhdXMgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBvZmYgJXNcbiIKK21zZ3N0ciAic3dhcG9mZiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNQorIywgZnV6enkKK21zZ2lkICJOb3Qgc3VwZXJ1c2VyLiIKK21zZ3N0ciAibW91bnRpbiBrw6R5dHTDtsO2biB2YWFkaXRhYW4gcMOkw6Rrw6R5dHTDpGrDpG4gb2lrZXVkZXQiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb2ZmIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN3YXBvZmYgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyMiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8c3BlYz5dXG4iCittc2dzdHIgIiVzIFt2YWxpdHNpbWV0XSBbPHRpZWRvc3RvPiAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI1Cittc2dpZCAiRGlzYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyOAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBzd2FwcyBmcm9tIC9wcm9jL3N3YXBzXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMzUKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkzCisjLCBmdXp6eQorbXNnaWQgImRldmljZSBmaWxlIG9yIHBhcnRpdGlvbiBwYXRoIgorbXNnc3RyICJlaSBvbGUgbG9oa29sYWl0ZSBlaWvDpCB0aWVkb3N0bzogJXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NAorbXNnaWQgInR5cGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAibGFpdHRlZW4gdHl5cHBpIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTUKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBvZiB0aGUgc3dhcCBhcmVhIgorbXNnc3RyICJCU0RJIHNpdnV0dXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NgorbXNnaWQgImJ5dGVzIGluIHVzZSIKK21zZ3N0ciAidGF2dWEga8OkeXTDtnNzw6QiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NworbXNnaWQgInN3YXAgcHJpb3JpdHkiCittc2dzdHIgInNpdnV0dWtzZW4gcHJpb3JpdGVldHRpIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTgKK21zZ2lkICJzd2FwIHV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk5CisjLCBmdXp6eQorbXNnaWQgInN3YXAgbGFiZWwiCittc2dzdHIgIm5pbWnDtiAiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNcdFx0XHRcdFR5cGVcdFx0U2l6ZVx0VXNlZFx0UHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ2Cittc2dpZCAiRmlsZW5hbWUiCittc2dzdHIgIlRpZWRvc3RvbmltaSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlaW5pdGlhbGl6aW5nIHRoZSBzd2FwLiIKK21zZ3N0ciAiQlNESSBzaXZ1dHVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mzc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbHNlZWsgZmFpbGVkIgorbXNnc3RyICIlczogbHNlZWsgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgc2lnbmF0dXJlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGFsbGVraXJqb2l0dXNzaXZ1YSBlaSB2b2kga2lyam9pdHRhYSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjUzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIC0gaXQgYXBwZWFycyB0byBoYXZlIGhvbGVzLiIKK21zZ3N0ciAiJXM6IE9oaXRldGFhbiB0aWVkb3N0byAlcyDigJMgc2lpbsOkIHZhaWt1dHRhYSBvbGV2YW4gcmVpa2nDpC5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldCBzaXplIGZhaWxlZCIKK21zZ3N0ciAibGFpdHRlZW4gJXMga29rb2EgZWkgdm9pIGhha2VhIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBzd2FwIGhlYWRlciBmYWlsZWQiCittc2dzdHIgInRpZWRvc3RvbiDigJ0lc+KAnSBvdHNha2V0dGEgZWkgdm9pIGx1a2VhIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmb3VuZCBzaWduYXR1cmUgW3BhZ2VzaXplPSVkLCBzaWduYXR1cmU9JXNdIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhZ2VzaXplPSVkLCBzd2Fwc2l6ZT0lbGx1LCBkZXZzaXplPSVsbHUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGFzdF9wYWdlIDB4JTA4bGx4IGlzIGxhcmdlciB0aGFuIGFjdHVhbCBzaXplIG9mIHN3YXBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIChVc2UgLS1maXhwZ3N6IHRvIHJlaW5pdGlhbGl6ZSBpdC4pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNvZnR3YXJlIHN1c3BlbmQgZGF0YSBkZXRlY3RlZC4gUmV3cml0aW5nIHRoZSBzd2FwIHNpZ25hdHVyZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb24gJXNcbiIKK21zZ3N0ciAic3dhcG9uICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvbiBmYWlsZWQiCittc2dzdHIgIiVzOiBzd2Fwb24gZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm9hdXRvIG9wdGlvbiAtLSBpZ25vcmVkIgorbXNnc3RyICJUdW50ZW1hdG9uIHZhbGl0c2luIOKAnSVj4oCdIGrDpHRldHR5IGh1b21pb3R0YSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgYWN0aXZlIC0tIGlnbm9yZWQiCittc2dzdHIgInNpaXJ0eW1pc3ZpcmhlIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaW5hY2Nlc3NpYmxlIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiBpLXNvbG11amEgZWkgdm9pIGtpcmpvaXR0YWEiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTEKK21zZ2lkICJFbmFibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUw6Rtw6QgcGllbmkga8OkeXR0w7ZvcGFzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTUKK21zZ2lkICIgLWQsIC0tZGlzY2FyZFs9PHBvbGljeT5dIGVuYWJsZSBzd2FwIGRpc2NhcmRzLCBpZiBzdXBwb3J0ZWQgYnkgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NgorbXNnaWQgIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgc2lsZW50bHkgc2tpcCBkZXZpY2VzIHRoYXQgZG8gbm90IGV4aXN0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NworbXNnaWQgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTgKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHN3YXAgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTkKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDAKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBkaXNwbGF5IHN1bW1hcnkgYWJvdXQgdXNlZCBzd2FwIGRldmljZXMgKERFUFJFQ0FURUQpXG4iCittc2dzdHIgIiAgICAtbCBbdGFpIC0tbGlzdF06ICAgICBsaXN0YWEga2Fpa2tpZW4gbGFpdHRlaWRlbiBvc2lvdCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMQorbXNnaWQgIiAgICAgLS1zaG93Wz08Y29sdW1ucz5dICAgZGlzcGxheSBzdW1tYXJ5IGluIGRlZmluYWJsZSB0YWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCB0YWJsZSBoZWFkaW5nICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDMKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0ICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDQKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgc2l6ZSBpbiBieXRlcyBpbiAtLXNob3cgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgIC0taGVscCAgICAgICAgICAgICAgICBuw6R5dMOkIHTDpG3DpCBvaGplIGphIHBvaXN0dVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODExCittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MjEKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGRpc2NhcmQgcG9saWN5IHR5cGVzIChmb3IgLS1kaXNjYXJkKTpcbiIKKyIgb25jZSAgICA6IG9ubHkgc2luZ2xlLXRpbWUgYXJlYSBkaXNjYXJkcyBhcmUgaXNzdWVkXG4iCisiIHBhZ2VzICAgOiBmcmVlZCBwYWdlcyBhcmUgZGlzY2FyZGVkIGJlZm9yZSB0aGV5IGFyZSByZXVzZWRcbiIKKyJJZiBubyBwb2xpY3kgaXMgc2VsZWN0ZWQsIGJvdGggZGlzY2FyZCB0eXBlcyBhcmUgZW5hYmxlZCAoZGVmYXVsdCkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgyNgorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3cpOlxuIgorbXNnc3RyICJTYXJha2tlaXRhICAgICAgICAgIDpcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkwNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcHJpb3JpdHkiCittc2dzdHIgInNpdnV0dWtzZW4gcHJpb3JpdGVldHRpIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIiVzOiB0dW50ZW1hdG9uIGFyZ3VtZW50dGk6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHRoZSBkZXZpY2UgZm9yICVzIgorbXNnc3RyICJoYWtlbWlzdG9uICVzIGxhaXRldHRhIGphIGktc29sbXVhIGVpIHZvaWRhIG3DpMOkcml0dMOkw6QiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjU5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRpcmVjdG9yeSIKK21zZ3N0ciAiYXZhYW1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjcKK21zZ2lkICJzdGF0IGZhaWxlZCIKK21zZ3N0ciAic3RhdCBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjc4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIGRpcmVjdG9yeSIKK21zZ3N0ciAibHVrZW1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdW5saW5rICVzIgorbXNnc3RyICIlczogdW5saW5rIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvICVzIgorbXNnc3RyICIlczogbGlpdHTDpG1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmb3JjaW5nIHVubW91bnQgb2YgJXMiCittc2dzdHIgIlBha290ZXRhYW4gdGllZG9zdG9qw6RyamVzdGVsbcOkbiB0YXJraXN0dXMgbGFpdHRlZWxsYSAlcy5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAiaGFrZW1pc3Rvb24gJXMgZWkgdm9pIHNpaXJ0ecOkIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gLyIKK21zZ3N0ciAiJXM6IGxpaXR0w6RtaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QiCittc2dzdHIgIlNpaXJyeSBqYSBrw6R5dMOkIFJPT1RpYSBqdXVyaWhha2VtaXN0b25hIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxODgKK21zZ2lkICJvbGQgcm9vdCBmaWxlc3lzdGVtIGlzIG5vdCBhbiBpbml0cmFtZnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxuZXdyb290ZGlyPiA8aW5pdD4gPGFyZ3MgdG8gaW5pdD5cbiIKK21zZ3N0ciAiIgorIkvDpHl0dMO2OiAlcyBbdmFsaXRzaW1ldF0gPHRpZWRvc3RvbmltaT5cbiIKKyJcbiIKKyJWYWxpdHNpbWV0OlxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDQKK21zZ2lkICJTd2l0Y2ggdG8gYW5vdGhlciBmaWxlc3lzdGVtIGFzIHRoZSByb290IG9mIHRoZSBtb3VudCB0cmVlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIzNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQuIFNvcnJ5LiIKK21zZ3N0ciAiVmFsaXRldHRhdmFzdGkgZXQgb2xlIHJvb3RcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgYWNjZXNzICVzIgorbXNnc3RyICJ0aWVkb3N0b2EgJXMgZWkgdm9pIGvDpHNpdGVsbMOkIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTQKK21zZ2lkICJTZXQgdmFyaW91cyBwYXJhbWV0ZXJzIGZvciB0aGUgbGluZSBwcmludGVyLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5NworbXNnaWQgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIHNwZWNpZnkgcGFyYWxsZWwgcG9ydCBpcnFcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTgKK21zZ2lkICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICBkcml2ZXIgd2FpdCB0aW1lIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5OQorbXNnaWQgIiAtYywgLS1jaGFycyA8bnVtPiAgICAgICAgICAgIG51bWJlciBvZiBvdXRwdXQgY2hhcmFjdGVycyBiZWZvcmUgc2xlZXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAwCittc2dpZCAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgc3Ryb2JlIHdhaXQgaW4gbWljcm8gc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBkbyBub3QgdHJhbnNsYXRlIDxvbnxvZmY+IGFyZ3VtZW50cy4gVGhlCisjLiBhcmd1bWVudCByZWFkZXIgZG9lcyBub3QgcmVjb2duaXplIGxvY2FsZSwgdW5sZXNzIGBvbicgaXMKKyMuIGV4YWN0bHkgdGhhdCB2ZXJ5IHNhbWUgc3RyaW5nLgorIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNAorbXNnaWQgIiAtYSwgLS1hYm9ydCA8b258b2ZmPiAgICAgICAgIGFib3J0IG9uIGVycm9yXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNQorbXNnaWQgIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gIGNoZWNrIHByaW50ZXIgc3RhdHVzIGJlZm9yZSBwcmludGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDYKK21zZ2lkICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICBleHRyYSBjaGVja2luZyB0byBzdGF0dXMgY2hlY2tcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA3CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIHF1ZXJ5IHByaW50ZXIgc3RhdHVzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA4Cittc2dpZCAiIC1ULCAtLXRydXN0LWlycSA8b258b2ZmPiAgICAgbWFrZSBkcml2ZXIgdG8gdHJ1c3QgaXJxXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICByZXNldCB0aGUgcG9ydFxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMAorbXNnaWQgIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgIGRpc3BsYXkgY3VycmVudCBpcnEgc2V0dGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGFuIGxwIGRldmljZSIKK21zZ3N0ciAiJXMgZWkgb2xlIGxwLWxhaXRlIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjgwCittc2dpZCAiTFBHRVRTVEFUVVMgZXJyb3IiCittc2dzdHIgIkxQR0VUU1RBVFVTLXZpcmhlIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN0YXR1cyBpcyAlZCIKK21zZ3N0ciAiJXM6biB0aWxhIG9uICVkIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgYnVzeSIKK21zZ3N0ciAiLCB2YXJhdHR1IgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgcmVhZHkiCittc2dzdHIgIiwgdmFsbWlzIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb3V0IG9mIHBhcGVyIgorbXNnc3RyICIsIHBhcGVyaSBsb3B1c3NhIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb24tbGluZSIKK21zZ3N0ciAiLCBvbi1saW5lIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZXJyb3IiCittc2dzdHIgIiwgdmlyaGUiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMDAKK21zZ2lkICJpb2N0bCBmYWlsZWQiCittc2dzdHIgImlvY3RsIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxMAorbXNnaWQgIkxQR0VUSVJRIGVycm9yIgorbXNnc3RyICJMUEdFVElSUS12aXJoZSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBJUlEgJWRcbiIKK21zZ3N0ciAiJXMga8OkeXR0w6TDpCBJUlE6dGEgJWRcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBwb2xsaW5nXG4iCittc2dzdHIgIiVzIGvDpHl0dMOkw6Qga2llcnRva3lzZWx5w6RcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiB8IDxkaXJlY3Rvcnk+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjgxCisjLCBmdXp6eQorbXNnaWQgIlVubW91bnQgZmlsZXN5c3RlbXMuXG4iCittc2dzdHIgIkFubmEgdGllZG9zdG9qw6RyamVzdGVsbcOkbiB0eXlwcGk6ICIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg0CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICB1bm1vdW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLWNsZWFyIDxhbGx8cmVzdD5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg1Cittc2dpZCAiIgorIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICB1bm1vdW50IGFsbCBtb3VudHBvaW50cyBmb3IgdGhlIGdpdmVuIGRldmljZSBpbiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NworbXNnaWQgIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODgKK21zZ2lkICIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAgaWYgbW91bnRlZCBsb29wIGRldmljZSwgYWxzbyBmcmVlIHRoaXMgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODkKK21zZ2lkICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgdW1vdW50KDIpIHN5c2NhbGxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTAKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgZm9yY2UgdW5tb3VudCAoaW4gY2FzZSBvZiBhbiB1bnJlYWNoYWJsZSBORlMgc3lzdGVtKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MQorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSB1bW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGRldGFjaCB0aGUgZmlsZXN5c3RlbSBub3csIGNsZWFuIHVwIHRoaW5ncyBsYXRlclxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk0Cittc2dpZCAiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NQorbXNnaWQgIiAtUiwgLS1yZWN1cnNpdmUgICAgICAgICByZWN1cnNpdmVseSB1bm1vdW50IGEgdGFyZ2V0IHdpdGggYWxsIGl0cyBjaGlsZHJlblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgaW4gY2FzZSB1bm1vdW50aW5nIGZhaWxzLCB0cnkgdG8gcmVtb3VudCByZWFkLW9ubHlcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NworIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiAgIGwgICAgbGlzdGFhIHR1bm5ldHV0IHRpZWRvc3RvasOkcmplc3RlbG3DpHR5eXBpdCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzKSB1bm1vdW50ZWQiCittc2dzdHIgIiAgICAgICAgICAlcyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bm1vdW50ZWQiCittc2dzdHIgIiVzIGlycm90ZXR0dSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW1vdW50IGZhaWxlZCIKK21zZ3N0ciAiJXM6IGlycm90dXMgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorbXNnc3RyICJtb3VudDogbGlpdG9zIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJ1bW91bnQ6ICVzOiB2aXJoZWVsbGluZW4gbG9oa29sYWl0ZSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IHdyaXRlIHN1cGVyYmxvY2siCittc2dzdHIgInVtb3VudDogJXM6IHN1cGVybG9oa29hIGVpIHZvaSBraXJqb2l0dGFhIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlczogdGFyZ2V0IGlzIGJ1c3lcbiIKKyIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0XG4iCisiICAgICAgICAgdXNlIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKS4pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50cG9pbnQgbm90IGZvdW5kIgorbXNnc3RyICIlczogbGlpdG9za29odGFhIGVpIGzDtnlkeSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1MAorbXNnaWQgInVuZGVmaW5lZCBtb3VudHBvaW50IgorbXNnc3RyICJtw6TDpHJpdHRlbGVtw6R0w7ZuIGxpaXRvc2tvaHRhIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtdXN0IGJlIHN1cGVydXNlciB0byB1bm1vdW50IgorbXNnc3RyICIlczogaXJyb3R0YW1pc2VlbiB2YWFkaXRhYW4gcMOkw6Rrw6R5dHTDpGrDpG4gb2lrZXVkZXQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBibG9jayBkZXZpY2VzIGFyZSBub3QgcGVybWl0dGVkIG9uIGZpbGVzeXN0ZW0iCittc2dzdHIgInVtb3VudDogJXM6IGxvaGtvbGFpdHRlaXRhIGVpIHNhbGxpdGEgdGllZG9zdG9qw6RyamVzdGVsbcOkc3PDpCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMwNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHVtb3VudCB0YXJnZXQiCittc2dzdHIgImNhY2hlX3NldCB1aHJpbiB2YXJhdXMgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzIzCisjLCBmdXp6eQorbXNnaWQgImxpYm1vdW50IHRhYmxlIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJPc2lvdGF1bHVuIHV1ZGVsbGVlbmx1a3UgZXDDpG9ubmlzdHVpLiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjM2NiBzeXMtdXRpbHMvdW1vdW50LmM6NDQ2CisjLCBmdXp6eQorbXNnaWQgImxpYm1vdW50IGl0ZXJhdG9yIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJtb3VudDogbGlpdG9zIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjM3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBjaGlsZCBmcyBvZiAlcyIKK21zZ3N0ciAidGllZG9zdG9uICVzIG9taW5haXN1dWtzaWVuIGhha2VtaW5lbiBlaSBvbm5pc3R1IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NDEwIHN5cy11dGlscy91bW91bnQuYzo0MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQiCittc2dzdHIgIm1vdW50OiBlaSBsw7Z5dHlueXQgJXMg4oCTIGx1b2RhYW4gc2UuLlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NDQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGV0ZXJtaW5lIHNvdXJjZSAoLS1hbGwtdGFyZ2V0cyBpcyB1bnN1cHBvcnRlZCBvbiBzeXN0ZW1zIHdpdGggcmVndWxhciBtdGFiIGZpbGUpLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCAtLXNldGdyb3VwcyBhcmd1bWVudCAnJXMnIgorbXNnc3RyICJlaS10dWV0dHUgYXJndW1lbnR0aSBmdW5rdGlvbGxlICU8X19idWlsdGluX2ZyYW1lX2FkZHJlc3MlPiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMTAgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZCAlcyIKK21zZ3N0ciAia2lyam9pdHRhbWluZW4gZXDDpG9ubmlzdHVpOiAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByb3BhZ2F0aW9uIG1vZGU6ICVzIgorbXNnc3RyICIlczogdHVudGVtYXRvbiBhcmd1bWVudHRpOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1NworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY2hhbmdlIHJvb3QgZmlsZXN5c3RlbSBwcm9wYWdhdGlvbiIKK21zZ3N0ciAiVGFya2lzdGV0YWFuIGthaWtraSB0aWVkb3N0b2rDpHJqZXN0ZWxtw6R0LlxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHN0YXQgJXMiCittc2dzdHIgImxhaXR0ZWVuICVzIHRpbGFhIGVpIHZvaSBsdWtlYSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTMKKyMsIGZ1enp5Cittc2dpZCAicGlwZSBmYWlsZWQiCittc2dzdHIgIm9wZW4gZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIyNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwaXBlIgorbXNnc3RyICJsdWtlbWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1MAorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBzb21lIG5hbWVzcGFjZXMgdW5zaGFyZWQgZnJvbSB0aGUgcGFyZW50LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUzCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgVMOkbcOkIHBpZW5pIGvDpHl0dMO2b3Bhc1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU1CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTYKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBuZXR3b3JrIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTcKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBFaSBub3JtYWFsaWEgdHVsb3N0ZXR0YVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OAorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OQorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICAgICB1bnNoYXJlIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFTDpG3DpCBwaWVuaSBrw6R5dHTDtm9wYXNcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjAKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmsgICAgICAgICAgICAgICAgZm9yayBiZWZvcmUgbGF1bmNoaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjEKK21zZ2lkICIgICAgIC0tbW91bnQtcHJvY1s9PGRpcj5dICBtb3VudCBwcm9jIGZpbGVzeXN0ZW0gZmlyc3QgKGltcGxpZXMgLS1tb3VudClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MgorbXNnaWQgIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIG1hcCBjdXJyZW50IHVzZXIgdG8gcm9vdCAoaW1wbGllcyAtLXVzZXIpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjMKK21zZ2lkICIiCisiICAgICAtLXByb3BhZ2F0aW9uIHNsYXZlfHNoYXJlZHxwcml2YXRlfHVuY2hhbmdlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmeSBtb3VudCBwcm9wYWdhdGlvbiBpbiBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIGNvbnRyb2wgdGhlIHNldGdyb3VwcyBzeXNjYWxsIGluIHVzZXIgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzozODYKK21zZ2lkICJ1bnNoYXJlIGZhaWxlZCIKK21zZ3N0ciAidW5zaGFyZSBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDMwCisjLCBmdXp6eQorbXNnaWQgImNoaWxkIGV4aXQgZmFpbGVkIgorbXNnc3RyICJMYXBzaSBsb3BldHRpIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzNworIywgZnV6enkKK21zZ2lkICJvcHRpb25zIC0tc2V0Z3JvdXBzPWFsbG93IGFuZCAtLW1hcC1yb290LXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAicMOkaXbDpHlrc2VuIHR1bG9zdHVzdGEgbcOkw6Ryw6TDpHbDpHQgdmFsaXRzaW1ldCBvdmF0IHRvaXNlbnNhIHBvaXNzdWxrZXZpYSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGxpaXR0w6RtaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjczCittc2dpZCAiQ2FyZCBwcmV2aW91c2x5IHJlc2V0IHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzQKKyMsIGZ1enp5Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMSIKK21zZ3N0ciAiZWhkb2thcyAxOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMiIKK21zZ3N0ciAiZWhkb2thcyAyOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAiRmFuIGZhaWxlZCIKK21zZ3N0ciAiRUkgVMOEU03DhMOEIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NworbXNnaWQgIktlZXAgYWxpdmUgcGluZyByZXBseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OAorbXNnaWQgIlN1cHBvcnRzIG1hZ2ljIGNsb3NlIGNoYXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzkKK21zZ2lkICJSZXNldCBkdWUgdG8gQ1BVIG92ZXJoZWF0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgwCisjLCBmdXp6eQorbXNnaWQgIlBvd2VyIG92ZXIgdm9sdGFnZSIKK21zZ3N0ciAiU8OkaGvDtmthdGtvIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MQorIywgZnV6enkKK21zZ2lkICJQb3dlciBiYWQvcG93ZXIgZmF1bHQiCittc2dzdHIgIlPDpGhrw7ZrYXRrbyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODIKKyMsIGZ1enp5Cittc2dpZCAiUHJldGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgInNla3VudGlhIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MworIywgZnV6enkKK21zZ2lkICJTZXQgdGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgInNla3VudGlhIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4NAorbXNnaWQgIk5vdCB0cmlnZ2VyIHJlYm9vdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBuYW1lIgorbXNnc3RyICLigJ0g4oCdLWxpcHB1IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAibG9oa29sYWl0ZSAiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMgorIywgZnV6enkKK21zZ2lkICJmbGFnIHN0YXR1cyIKK21zZ3N0ciAic3RhdHVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBib290IHN0YXR1cyIKK21zZ3N0ciAic3RhdHVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAid2F0Y2hkb2cgZGV2aWNlIG5hbWUiCittc2dzdHIgInl0aW1lbiBzaXPDpGluZW4gbGFpdGVuaW1pIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmxhZzogJXMiCittc2dzdHIgInR1bnRlbWF0b24ga8OkeXR0w6Rqw6QtSUQ6ICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxNzcKK21zZ2lkICJTaG93IHRoZSBzdGF0dXMgb2YgdGhlIGhhcmR3YXJlIHdhdGNoZG9nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE4MAorbXNnaWQgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICBwcmludCBzZWxlY3RlZCBmbGFncyBvbmx5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciBmbGFncyB0YWJsZVxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdCBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgcHJpbnQgb25seSBmbGFncyB0YWJsZSAoc2FtZSBhcyAtSSAtVClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZWZhdWx0IGRldmljZSBpcyAlcy5cbiIKK21zZ3N0ciAiTGFpdGU6ICVzXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE5OQorIywgZnV6enkKK21zZ2lkICJBdmFpbGFibGUgY29sdW1uczpcbiIKK21zZ3N0ciAiU2FyYWtrZWl0YSAgICAgICAgICA6XG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjI4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZmxhZ3MgMHgleFxuIgorbXNnc3RyICIlczogdHVudGVtYXRvbiBzaWduYWFsaSAlc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMTkgc3lzLXV0aWxzL3dkY3RsLmM6Mzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXRjaGRvZyBhbHJlYWR5IGluIHVzZSwgdGVybWluYXRpbmcuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMzMyBzeXMtdXRpbHMvd2RjdGwuYzo0MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGlzYXJtIHdhdGNoZG9nIgorbXNnc3RyICIlcyBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0aW1lb3V0IGZvciAlcyIKK21zZ3N0ciAia29uZW5pbWVuICVzIGFzZXR0YW1pbmVuIGrDpHJqZXN0ZWxtw6RsbGUgZWkgb25uaXN0dSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmQuXG4iCittc2dpZF9wbHVyYWwgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZHMuXG4iCittc2dzdHJbMF0gIkFpa2FhIGVkZWxsaXNlc3TDpCBzw6TDpGTDtnN0w6Qgb24ga3VsdW51dCAlZCBzZWt1bnRpYVxuIgorbXNnc3RyWzFdICJBaWthYSBlZGVsbGlzZXN0w6Qgc8Okw6Rkw7ZzdMOkIG9uIGt1bHVudXQgJWQgc2VrdW50aWFcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB3YXRjaGRvZyIKK21zZ3N0ciAic2lpcnR5bWluZW4gZXDDpG9ubmlzdHVpIGZ1bmt0aW9zc2Egd3JpdGVfdGFibGVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjQgc3lzLXV0aWxzL3dkY3RsLmM6NDY3IHN5cy11dGlscy93ZGN0bC5jOjQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlLTE0cyAlMmkgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIiUtMTRzICUyaSBzZWNvbmRzXG4iCittc2dzdHJbMF0gIiUtMTRzICUyaSBzZWt1bnRpXG4iCittc2dzdHJbMV0gIiUtMTRzICUyaSBzZWt1bnRpYVxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjUKKyMsIGZ1enp5Cittc2dpZCAiVGltZW91dDoiCittc2dzdHIgInZpcmhlZWxsaW5lbiBhaWtha2F0a2Fpc3VhcnZvOiAlcyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY4CisjLCBmdXp6eQorbXNnaWQgIlByZS10aW1lb3V0OiIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIGFpa2FrYXRrYWlzdWFydm86ICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NzEKK21zZ2lkICJUaW1lbGVmdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA1Cittc2dpZCAiRGV2aWNlOiIKK21zZ3N0ciAiTGFpdGU6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDcKK21zZ2lkICJJZGVudGl0eToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA5Cittc2dpZCAidmVyc2lvbiIKK21zZ3N0ciAidmVyc2lvIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjczCisjLCBmdXp6eQorbXNnaWQgInpyYW0gZGV2aWNlIG5hbWUiCittc2dzdHIgInl0aW1lbiBzaXPDpGluZW4gbGFpdGVuaW1pIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc0Cittc2dpZCAibGltaXQgb24gdGhlIHVuY29tcHJlc3NlZCBhbW91bnQgb2YgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc1Cittc2dpZCAidW5jb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NgorbXNnaWQgImNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc3Cittc2dpZCAidGhlIHNlbGVjdGVkIGNvbXByZXNzaW9uIGFsZ29yaXRobSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc4Cittc2dpZCAibnVtYmVyIG9mIGNvbmN1cnJlbnQgY29tcHJlc3Mgb3BlcmF0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc5CisjLCBmdXp6eQorbXNnaWQgImVtcHR5IHBhZ2VzIHdpdGggbm8gYWxsb2NhdGVkIG1lbW9yeSIKK21zZ3N0ciAiUHVza3VyaWEgZWkgdm9pIHZhcmF0YS5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MAorbXNnaWQgImFsbCBtZW1vcnkgaW5jbHVkaW5nIGFsbG9jYXRvciBmcmFnbWVudGF0aW9uIGFuZCBtZXRhZGF0YSBvdmVyaGVhZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgxCittc2dpZCAibWVtb3J5IGxpbWl0IHVzZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODIKK21zZ2lkICJtZW1vcnkgenJhbSBoYXZlIGJlZW4gY29uc3VtZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODMKK21zZ2lkICJudW1iZXIgb2Ygb2JqZWN0cyBtaWdyYXRlZCBieSBjb21wYWN0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6MzYzIHN5cy11dGlscy96cmFtY3RsLmM6Mzc0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICJKw6RzZW5ueXN2aXJoZTogJXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCisiICUxJHMgLXIgPGRldmljZT4gWy4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8ZGV2aWNlPiAtcyA8c2l6ZT5cbiIKK21zZ3N0ciAiS8OkeXR0w7Y6IG1rZnMgWy1WXSBbLXQgdGllZC5qw6Ryai4gdHl5cHBpXSBbdGllZC5qw6Ryai52YWxpdHNpbWV0XSBsYWl0ZSBba29rb11cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MjcKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgenJhbSBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMwCittc2dpZCAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0ICAgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIHVzZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMxCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzIKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgZmluZCBhIGZyZWUgZGV2aWNlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBFaSBub3JtYWFsaWEgdHVsb3N0ZXR0YVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzQKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPXZhbGl0c2ltZXQgICAgIEx5aHlldCB0dW5uaXN0ZXR0YXZhdCB2YWxpdHNpbWV0XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM1CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIHVzZSByYXcgc3RhdHVzIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM2CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgVMOkbcOkIHBpZW5pIGvDpHl0dMO2b3Bhc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzNworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzgKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXN0cmVhbXMgPG51bWJlcj4gICAgbnVtYmVyIG9mIGNvbXByZXNzaW9uIHN0cmVhbXNcbiIKK21zZ3N0ciAiICAgIC1TIyBbdGFpIC0tc2VjdG9ycyAjXTogIGFzZXRhIGvDpHl0ZXR0w6R2w6Qgc2VrdG9yaWVuIG3DpMOkcsOkIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYWxnb3JpdGhtOiAlcyIKK21zZ3N0ciAiZWktdHVldHR1IGFyZ3VtZW50dGkgZnVua3Rpb2xsZSAlPF9fYnVpbHRpbl9mcmFtZV9hZGRyZXNzJT4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjI2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdHJlYW1zIgorbXNnc3RyICJKw6RzZW5ueXN2aXJoZTogJXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjQ4CisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbiAtLWZpbmQgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPGRldmljZT4iCittc2dzdHIgInDDpGl2w6R5a3NlbiB0dWxvc3R1c3RhIG3DpMOkcsOkw6R2w6R0IHZhbGl0c2ltZXQgb3ZhdCB0b2lzZW5zYSBwb2lzc3Vsa2V2aWEiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjU0Cittc2dpZCAib25seSBvbmUgPGRldmljZT4gYXQgYSB0aW1lIGlzIGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NTcKK21zZ2lkICJvcHRpb25zIC0tYWxnb3JpdGhtIGFuZCAtLXN0cmVhbXMgbXVzdCBiZSBjb21iaW5lZCB3aXRoIC0tc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY4NyBzeXMtdXRpbHMvenJhbWN0bC5jOjcxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZXNldCIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY5OCBzeXMtdXRpbHMvenJhbWN0bC5jOjcwNgorbXNnaWQgIm5vIGZyZWUgenJhbSBkZXZpY2UgZm91bmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IG51bWJlciBvZiBzdHJlYW1zIgorbXNnc3RyICJyaXZpbcOkw6Ryw6QiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBhbGdvcml0aG0iCittc2dzdHIgInRpZWRvc3RvYSAlcyBlaSBsw7Z5dHlueXQiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBkaXNrc2l6ZSAoJWp1IGJ5dGVzKSIKK21zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NDU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyVzIChhdXRvbWF0aWMgbG9naW4pXG4iCittc2dzdHIgIiAgLXMsIC0tc2hlbGwgPGt1b3JpPiAgICAgICAgICAgIG3DpMOkcml0dGVsZSBraXJqYXV0dW1pc2t1b3JpXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHJvb3QgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiaGFrZW1pc3RvbiAlcyBhc2V0dGFtaW5lbiBqdXVyaWhha2VtaXN0b2tzaSBlaSBvbm5pc3R1IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSB3b3JraW5nIGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgInZpcmhlOiB2YWloZGEgdHnDtmhha2VtaXN0b2tzaSAlcy4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHByb2Nlc3MgcHJpb3JpdHk6ICVtIgorbXNnc3RyICIlczogcHJvc2Vzc2lhIOKAnSVz4oCdIGVpIGzDtnlkeVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgZXhlYyAlczogJW0iCittc2dzdHIgIiVzOiBvaGplbG1hYSAlcyBlaSB2b2kga8OkeW5uaXN0w6TDpDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTU1IHRlcm0tdXRpbHMvYWdldHR5LmM6ODQxIHRlcm0tdXRpbHMvYWdldHR5LmM6ODUzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MTUgdGVybS11dGlscy9hZ2V0dHkuYzoxNDMzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NjkgdGVybS11dGlscy9hZ2V0dHkuYzoxNDc5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTUxNgorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTc4IHRlcm0tdXRpbHMvYWdldHR5LmM6MjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeTogJW0iCittc2dzdHIgIk11aXN0aW4gdmFyYWFtaW5lbiBlaSBvbm5pc3R1IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjY4MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGRlbGF5IGFyZ3VtZW50IgorbXNnc3RyICJ2aXJoZWVsbGluZW4gcMOkw6Rhcmd1bWVudHRpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjcxOQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC0tbG9jYWwtbGluZSIKK21zZ3N0ciAiVmlyaGVlbGxpbmVuIGFyZ3VtZW50dGkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzM4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbmljZSBhcmd1bWVudCIKK21zZ3N0ciAiVmlyaGVlbGxpbmVuIGFyZ3VtZW50dGkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODc1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzcGVlZDogJXMiCittc2dzdHIgInZpcmhlZWxsaW5lbiBub3BldXM6ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3NworbXNnaWQgInRvbyBtYW55IGFsdGVybmF0ZSBzcGVlZHMiCittc2dzdHIgImxpaWFuIG1vbnRhIHZhaWh0b2VodG9pc3RhIG5vcGV1dHRhIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMDYgdGVybS11dGlscy9hZ2V0dHkuYzoxMDEwIHRlcm0tdXRpbHMvYWdldHR5LmM6MTA2MworIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgb3BlbiBhcyBzdGFuZGFyZCBpbnB1dDogJW0iCittc2dzdHIgIi9kZXYvJXM6IGVpIHZvaSBhdmF0YSB2YWtpb3N5w7Z0dGVlbsOkOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIGNoYXJhY3RlciBkZXZpY2UiCittc2dzdHIgIi9kZXYvJXM6IGVpIG9sZSBtZXJra2lsYWl0ZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSB0dHkiCittc2dzdHIgIi9kZXYvJXM6IGVpIG9sZSBtZXJra2lsYWl0ZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDM1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IGdldCBjb250cm9sbGluZyB0dHk6ICVtIgorbXNnc3RyICIvZGV2LyVzOiBlaSB2b2kgYXZhdGEgdmFraW9zecO2dHRlZW7DpDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogdmhhbmd1cCgpIGZhaWxlZDogJW0iCittc2dzdHIgIi9kZXYvJXM6IGVpIHZvaSBhdmF0YSB2YWtpb3N5w7Z0dGVlbsOkOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3Qgb3BlbiBmb3IgcmVhZC93cml0ZSIKK21zZ3N0ciAiJXM6IGVpIG9sZSBhdm9pbiBsdWt1YS9raXJqb2l0dXN0YSB2YXJ0ZW4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IHNldCBwcm9jZXNzIGdyb3VwOiAlbSIKK21zZ3N0ciAiJXM6IHByb3Nlc3NpYSDigJ0lc+KAnSBlaSBsw7Z5ZHlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkdXAgcHJvYmxlbTogJW0iCittc2dzdHIgIiVzOiBvbmdlbG1hIHRpZWRvc3Rva2FodmFuIGtvcGlvaW5uaXNzYTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTExNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgInRpZWRvc3RvbiAlcyBvbWluYWlzdXVrc2llbiBoYWtlbWluZW4gZWkgb25uaXN0dSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMzIxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZhaWxlZDogJW0iCittc2dzdHIgImxhaXR0ZWVuICVzIGtva29hIGVpIHZvaSBoYWtlYSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDU5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIG9zLXJlbGVhc2UgZmlsZSIKK21zZ3N0ciAiVGllZG9zdG9hIOKAnSVz4oCdIGVpIHZvaSBhdmF0YSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNjM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHJlbG9hZCBmaWxlOiAlczogJW0iCittc2dzdHIgImZ0c19yZWFkIGVww6Rvbm5pc3R1aTogJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTczNgorbXNnaWQgIltwcmVzcyBFTlRFUiB0byBsb2dpbl0iCittc2dzdHIgIltraXJqYXV0dW1pbmVuIEVOVEVSLW7DpHBww6RpbWVsbMOkXSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzYwCittc2dpZCAiTnVtIExvY2sgb2ZmIgorbXNnc3RyICJOdW0gTG9jayBwb2lzIHDDpMOkbHTDpCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzYzCittc2dpZCAiTnVtIExvY2sgb24iCittc2dzdHIgIk51bSBMb2NrIHDDpMOkbGzDpCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzY2Cittc2dpZCAiQ2FwcyBMb2NrIG9uIgorbXNnc3RyICJDYXBzIExvY2sgcMOkw6RsbMOkIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjkKK21zZ2lkICJTY3JvbGwgTG9jayBvbiIKK21zZ3N0ciAiU2Nyb2xsIExvY2sgcMOkw6RsbMOkIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJIaW50OiAlc1xuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqICVzOiBoYWtlbWlzdG8gKioqXG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZDogJW0iCittc2dzdHIgIiVzOiBsdWt1OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnB1dCBvdmVycnVuIgorbXNnc3RyICIlczogc3nDtnR0ZWVuIHlsaXZ1b3RvIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NzQgdGVybS11dGlscy9hZ2V0dHkuYzoxOTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciBjb252ZXJzaW9uIGZvciBsb2dpbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgMHgleCBpbiBsb2dpbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIm1vdW50OiBsb29wLWxhaXR0ZWVuIGFzZXR0YW1pbmVuIGVww6Rvbm5pc3R1aVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8bGluZT4gWzxiYXVkX3JhdGU+LC4uLl0gWzx0ZXJtdHlwZT5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxiYXVkX3JhdGU+LC4uLiA8bGluZT4gWzx0ZXJtdHlwZT5dXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTEzCittc2dpZCAiT3BlbiBhIHRlcm1pbmFsIGFuZCBzZXQgaXRzIG1vZGUuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE2CisjLCBmdXp6eQorbXNnaWQgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBhc3N1bWUgOC1iaXQgdHR5XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTcKK21zZ2lkICIgLWEsIC0tYXV0b2xvZ2luIDx1c2VyPiAgICAgbG9naW4gdGhlIHNwZWNpZmllZCB1c2VyIGF1dG9tYXRpY2FsbHlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTgKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGRvIG5vdCByZXNldCBjb250cm9sIG1vZGVcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExOQorIywgZnV6enkKK21zZ2lkICIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAgdXNlIC1yIDxob3N0bmFtZT4gZm9yIGxvZ2luKDEpXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjAKK21zZ2lkICIgLWYsIC0taXNzdWUtZmlsZSA8ZmlsZT4gICAgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIxCittc2dpZCAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIGVuYWJsZSBoYXJkd2FyZSBmbG93IGNvbnRyb2xcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjIKKyMsIGZ1enp5Cittc2dpZCAiIC1ILCAtLWhvc3QgPGhvc3RuYW1lPiAgICAgIHNwZWNpZnkgbG9naW4gaG9zdFxuIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsPWt1b3JpICAgICAgICAgICAgQXNldGEga3VvcmVuIGxhaW5hdXNrw6R5dMOkbm7DtnRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIzCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICBkbyBub3QgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBUdWxvc3RhIG9zaW90YXVsdSBydXVkdWxsZSB0YWkgdGllZG9zdG9vbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI0Cittc2dpZCAiIC1JLCAtLWluaXQtc3RyaW5nIDxzdHJpbmc+IHNldCBpbml0IHN0cmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNQorIywgZnV6enkKK21zZ2lkICIgLUogIC0tbm9jbGVhciAgICAgICAgICAgICAgZG8gbm90IGNsZWFyIHRoZSBzY3JlZW4gYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI2Cittc2dpZCAiIC1sLCAtLWxvZ2luLXByb2dyYW0gPGZpbGU+IHNwZWNpZnkgbG9naW4gcHJvZ3JhbVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNworbXNnaWQgIiAtTCwgLS1sb2NhbC1saW5lWz08bW9kZT5dICBjb250cm9sIHRoZSBsb2NhbCBsaW5lIGZsYWdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjgKK21zZ2lkICIgLW0sIC0tZXh0cmFjdC1iYXVkICAgICAgICAgZXh0cmFjdCBiYXVkIHJhdGUgZHVyaW5nIGNvbm5lY3RcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjkKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGRvIG5vdCBwcm9tcHQgZm9yIGxvZ2luXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICDDpGzDpCBraXJqb2l0YSBsZXZ5bGxlIG9pa2Vhc3RpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzAKKyMsIGZ1enp5Cittc2dpZCAiIC1OICAtLW5vbmV3bGluZSAgICAgICAgICAgIGRvIG5vdCBwcmludCBhIG5ld2xpbmUgYmVmb3JlIGlzc3VlXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBUdWxvc3RhIG9zaW90YXVsdSBydXVkdWxsZSB0YWkgdGllZG9zdG9vbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMxCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1sb2dpbi1vcHRpb25zIDxvcHRzPiBvcHRpb25zIHRoYXQgYXJlIHBhc3NlZCB0byBsb2dpblxuIgorbXNnc3RyICIgIC1sLCAtLWxvbmdvcHRpb25zPXZhbGl0c2ltZXQgUGl0a8OkdCB0dW5uaXN0ZXR0YXZhdCB2YWxpdHNpbWV0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICDDpGzDpCBraXJqb2l0YSBsZXZ5bGxlIG9pa2Vhc3RpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzMKK21zZ2lkICIgLXIsIC0tY2hyb290IDxkaXI+ICAgICAgICAgY2hhbmdlIHJvb3QgdG8gdGhlIGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNAorIywgZnV6enkKK21zZ2lkICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgZG8gdmlydHVhbGx5IGhhbmd1cCBvbiB0aGUgdHR5XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzUKK21zZ2lkICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgdHJ5IHRvIGtlZXAgYmF1ZCByYXRlIGFmdGVyIGJyZWFrXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM2Cittc2dpZCAiIC10LCAtLXRpbWVvdXQgPG51bWJlcj4gICAgIGxvZ2luIHByb2Nlc3MgdGltZW91dFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNworbXNnaWQgIiAtVSwgLS1kZXRlY3QtY2FzZSAgICAgICAgICBkZXRlY3QgdXBwZXJjYXNlIHRlcm1pbmFsXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM4CisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICB3YWl0IGNhcnJpYWdlLXJldHVyblxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM5CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBkbyBub3QgcHJpbnQgaGludHNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIMOkbMOkIGtpcmpvaXRhIGxldnlsbGUgb2lrZWFzdGkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAgbm8gaG9zdG5hbWUgYXQgYWxsIHdpbGwgYmUgc2hvd25cbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFR1bG9zdGEgb3Npb3RhdWx1IHJ1dWR1bGxlIHRhaSB0aWVkb3N0b29uIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDEKK21zZ2lkICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgc2hvdyBmdWxsIHF1YWxpZmllZCBob3N0bmFtZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MgorbXNnaWQgIiAgICAgLS1lcmFzZS1jaGFycyA8c3RyaW5nPiBhZGRpdGlvbmFsIGJhY2tzcGFjZSBjaGFyc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MworbXNnaWQgIiAgICAgLS1raWxsLWNoYXJzIDxzdHJpbmc+ICBhZGRpdGlvbmFsIGtpbGwgY2hhcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDQKK21zZ2lkICIgICAgIC0tY2hkaXIgPGRpcmVjdG9yeT4gICAgY2hkaXIgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tZGVsYXkgPG51bWJlcj4gICAgICAgc2xlZXAgc2Vjb25kcyBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDYKK21zZ2lkICIgICAgIC0tbmljZSA8bnVtYmVyPiAgICAgICAgcnVuIGxvZ2luIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NworIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgcmVsb2FkIHByb21wdHMgb24gcnVubmluZyBhZ2V0dHkgaW5zdGFuY2VzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICDDpGzDpCBraXJqb2l0YSBsZXZ5bGxlIG9pa2Vhc3RpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDgKK21zZ2lkICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAgLS1oZWxwICAgICAgICAgICAgICAgIG7DpHl0w6QgdMOkbcOkIG9oamUgamEgcG9pc3R1XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0OQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAgLS12ZXJzaW9uICB0dWxvc3RhIHZlcnNpb3RpZWRvdCBqYSBwb2lzdHVcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNDgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIHVzZXIiCittc2dpZF9wbHVyYWwgIiVkIHVzZXJzIgorbXNnc3RyWzBdICIlZCBrw6R5dHTDpGrDpCIKK21zZ3N0clsxXSAiJWQga8OkeXR0w6Rqw6TDpCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaGVja25hbWUgZmFpbGVkOiAlbSIKK21zZ3N0ciAiVElPQ1NDVFRZIGVww6Rvbm5pc3R1aTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHRvdWNoIGZpbGUgJXMiCittc2dzdHIgIlRpZWRvc3RvYSDigJ0lc+KAnSBlaSB2b2kgYXZhdGEiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYyNQorbXNnaWQgIi0tcmVsb2FkIGlzIHVuc3VwcG9ydGVkIG9uIHlvdXIgc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3kgfCBuXVxuIgorbXNnc3RyICIlcyBbdmFsaXRzaW1ldF0gW3kgfCBuXVxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3OAorbXNnaWQgIkNvbnRyb2wgd3JpdGUgYWNjZXNzIG9mIG90aGVyIHVzZXJzIHRvIHlvdXIgdGVybWluYWwuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiIKKyIgIC11LCAtLXVwZGF0ZSAgICAgICAgICAgICAgICAga29waW9pIHZhaW4gam9zIEzDhEhERXRpZWRvc3RvIG9uIHV1ZGVtcGkga3VpblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtvaGRlLCB0YWkgam9zIGtvaGRldGllZG9zdG8gcHV1dHR1dVxuIgorIiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICBzZWxpdMOkIG1pdMOkIHRhcGFodHV1XG4iCisiICAteCwgLS1vbmUtZmlsZS1zeXN0ZW0gICAgICAgIHB5c3kgdMOkc3PDpCB0aWVkb3N0b2rDpHJqZXN0ZWxtw6Rzc8OkXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEyNQorbXNnaWQgInR0eW5hbWUgZmFpbGVkIgorbXNnc3RyICJ0dHluYW1lIGVww6Rvbm5pc3R1aSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM0Cittc2dpZCAiaXMgeSIKK21zZ3N0ciAib24geSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM3Cittc2dpZCAiaXMgbiIKK21zZ3N0ciAib24gbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTQ4IHRlcm0tdXRpbHMvbWVzZy5jOjE1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlICVzIG1vZGUgZmFpbGVkIgorbXNnc3RyICIlczogZWktZXN0w6R2w6RuIHRpbGFuIG11dXR0YW1pbmVuIGVpIG9ubmlzdHUiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTU3Cittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgZGVuaWVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIGFyZ3VtZW50dGk6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZV1cbiIKK21zZ3N0ciAiJXMgW3ZhbGl0c2ltZXRdIFs8dGllZG9zdG8+IC4uLl1cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjIKK21zZ2lkICJNYWtlIGEgdHlwZXNjcmlwdCBvZiBhIHRlcm1pbmFsIHNlc3Npb24uXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjUKK21zZ2lkICIiCisiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgIGFwcGVuZCB0aGUgb3V0cHV0XG4iCisiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+IHJ1biBjb21tYW5kIHJhdGhlciB0aGFuIGludGVyYWN0aXZlIHNoZWxsXG4iCisiIC1lLCAtLXJldHVybiAgICAgICAgICAgIHJldHVybiBleGl0IGNvZGUgb2YgdGhlIGNoaWxkIHByb2Nlc3NcbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAgcnVuIGZsdXNoIGFmdGVyIGVhY2ggd3JpdGVcbiIKKyIgICAgIC0tZm9yY2UgICAgICAgICAgICAgdXNlIG91dHB1dCBmaWxlIGV2ZW4gd2hlbiBpdCBpcyBhIGxpbmtcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgYmUgcXVpZXRcbiIKKyIgLXQsIC0tdGltaW5nWz08ZmlsZT5dICAgb3V0cHV0IHRpbWluZyBkYXRhIHRvIHN0ZGVyciAob3IgdG8gRklMRSlcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIm91dHB1dCBmaWxlIGAlcycgaXMgYSBsaW5rXG4iCisiVXNlIC0tZm9yY2UgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC5cbiIKKyJQcm9ncmFtIG5vdCBzdGFydGVkLiIKK21zZ3N0ciAiIgorIlZhcm9pdHVzOiDigJ0lc+KAnSBvbiBsaW5ra2kuXG4iCisiS8OkeXTDpCDigJ0lcyBbdmFsaXRzaW1ldF0gJXPigJ0gam9zIHRvZGVsbGEgaGFsdWF0IGvDpHl0dMOkw6Qgc2l0w6QuXG4iCisiU2tyaXB0acOkIGVpIGvDpHlubmlzdGV0dHkuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBkb25lLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIlNrcmlwdGkgc3Vvcml0ZXR0dSwgdGllZG9zdG8gb24gJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyNjIKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHdyaXRlIHNjcmlwdCBmaWxlIgorbXNnc3RyICJTa3JpcHRpIGvDpHlubmlzdGV0dHksIHRpZWRvc3RvIG9uICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXMiCittc2dzdHIgIlNrcmlwdGkga8OkeW5uaXN0ZXR0eSAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNjcmlwdCBkb25lIG9uICVzIgorbXNnc3RyICIiCisiXG4iCisiU2tyaXB0aSBzdW9yaXRldHR1ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYwNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiCittc2dzdHIgInRpZWRvc3RvbiAlcyBvbWluYWlzdXVrc2llbiBoYWtlbWluZW4gZWkgb25uaXN0dSIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2MTQKK21zZ2lkICJvcGVucHR5IGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBlcMOkb25uaXN0dWkiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjUyCisjLCBmdXp6eQorbXNnaWQgIm91dCBvZiBwdHkncyIKK21zZ3N0ciAibXVpc3RpIGxvcHVzc2EiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIlNrcmlwdGkga8OkeW5uaXN0ZXR0eSwgdGllZG9zdG8gb24gJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy10XSB0aW1pbmdmaWxlIFt0eXBlc2NyaXB0XSBbZGl2aXNvcl1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQ3Cittc2dpZCAiUGxheSBiYWNrIHRlcm1pbmFsIHR5cGVzY3JpcHRzLCB1c2luZyB0aW1pbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo1MAorbXNnaWQgIiIKKyIgLXQsIC0tdGltaW5nIDxmaWxlPiAgICAgc2NyaXB0IHRpbWluZyBvdXRwdXQgZmlsZVxuIgorIiAtcywgLS10eXBlc2NyaXB0IDxmaWxlPiBzY3JpcHQgdGVybWluYWwgc2Vzc2lvbiBvdXRwdXQgZmlsZVxuIgorIiAtZCwgLS1kaXZpc29yIDxudW0+ICAgICBzcGVlZCB1cCBvciBzbG93IGRvd24gZXhlY3V0aW9uIHdpdGggdGltZSBkaXZpc29yXG4iCisiIC1tLCAtLW1heGRlbGF5IDxudW0+ICAgIHdhaXQgYXQgbW9zdCB0aGlzIG1hbnkgc2Vjb25kcyBiZXR3ZWVuIHVwZGF0ZXNcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExMgorbXNnaWQgIndyaXRlIHRvIHN0ZG91dCBmYWlsZWQiCittc2dzdHIgImtpcmpvaXR0YW1pbmVuIHZha2lvdHVsb3N0ZWVzZWVuIGVww6Rvbm5pc3R1aSIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUgb24gJXMiCittc2dzdHIgIiVzOiB0aWVkb3N0b24gbG9wcHUiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0eXBlc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgImZ0c19yZWFkIGVww6Rvbm5pc3R1aTogJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTg0CisjLCBmdXp6eQorbXNnaWQgIndyb25nIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgInbDpMOkcsOkIG3DpMOkcsOkIGFyZ3VtZW50dGVqYSIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHRpbWluZyBmaWxlICVzIgorbXNnc3RyICJmdHNfcmVhZCBlcMOkb25uaXN0dWk6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltaW5nIGZpbGUgJXM6IGxpbmUgJWx1OiB1bmV4cGVjdGVkIGZvcm1hdCIKK21zZ3N0ciAiJXM6ICVzOiBvZG90dGFtYXRvbiB0aWVkb3N0b211b3RvXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJhcmd1bWVudCBlcnJvcjogYnJpZ2h0ICVzIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgImFyZ3VtZW50dGl2aXJoZToga2lya2thdXMgJXMgZWkgb2xlIHR1ZXR0dSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI4Cittc2dpZCAidG9vIG1hbnkgdGFicyIKK21zZ3N0ciAibGlpYW4gbW9udGEgc2Fya2FpbnRhIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODMKK21zZ2lkICJTZXQgdGhlIGF0dHJpYnV0ZXMgb2YgYSB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODYKK21zZ2lkICIgLS10ZXJtICAgICAgICAgIDx0ZXJtaW5hbF9uYW1lPiAgIG92ZXJyaWRlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODcKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCB0byBwb3dlci1vbiBzdGF0ZVxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg4CisjLCBmdXp6eQorbXNnaWQgIiAtLWluaXRpYWxpemUgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBpbml0IHN0cmluZywgYW5kIHVzZSBkZWZhdWx0IHNldHRpbmdzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUw6Rtw6QgcGllbmkga8OkeXR0w7ZvcGFzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OQorIywgZnV6enkKK21zZ2lkICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBkZWZhdWx0IHRlcm1pbmFsIHNldHRpbmdzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUw6Rtw6QgcGllbmkga8OkeXR0w7ZvcGFzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MAorbXNnaWQgIiAtLXN0b3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IHRlcm1pbmFsIHNldHRpbmdzIGFzIGRlZmF1bHRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTEKKyMsIGZ1enp5Cittc2dpZCAiIC0tY3Vyc29yICAgICAgICBbb258b2ZmXSAgICAgICAgICBkaXNwbGF5IGN1cnNvclxuIgorbXNnc3RyICIgLWN1cnNvciA8b258b2ZmPlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTIKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVwZWF0ICAgICAgICBbb258b2ZmXSAgICAgICAgICBrZXlib2FyZCByZXBlYXRcbiIKK21zZ3N0ciAiIC1yZXBlYXQgPG9ufG9mZj5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkzCittc2dpZCAiIC0tYXBwY3Vyc29ya2V5cyBbb258b2ZmXSAgICAgICAgICBjdXJzb3Iga2V5IGFwcGxpY2F0aW9uIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTQKKyMsIGZ1enp5Cittc2dpZCAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBjb250aW51ZSBvbiBhIG5ldyBsaW5lIHdoZW4gYSBsaW5lIGlzIGZ1bGxcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFTDpG3DpCBwaWVuaSBrw6R5dHTDtm9wYXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk1Cittc2dpZCAiIC0taW52ZXJzZXNjcmVlbiBbb258b2ZmXSAgICAgICAgICBzd2FwIGNvbG9ycyBmb3IgdGhlIHdob2xlIHNjcmVlblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NgorbXNnaWQgIiAtLWZvcmVncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGZvcmVncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTcKK21zZ2lkICIgLS1iYWNrZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBiYWNrZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk4Cittc2dpZCAiIC0tdWxjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgdW5kZXJsaW5lZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk5Cittc2dpZCAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgYm9sZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAwCittc2dpZCAiICAgICAgICAgICAgICAgICA8Y29sb3I+OiBibGFjayBibHVlIGN5YW4gZ3JlZW4gZ3JleSBtYWdlbnRhIHJlZCB3aGl0ZSB5ZWxsb3dcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDEKKyMsIGZ1enp5Cittc2dpZCAiIC0tYm9sZCAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBib2xkXG4iCittc2dzdHIgIiAtYm9sZCA8b258b2ZmPlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDIKKyMsIGZ1enp5Cittc2dpZCAiIC0taGFsZi1icmlnaHQgICBbb258b2ZmXSAgICAgICAgICBkaW1cbiIKK21zZ3N0ciAiIC1oYWxmLWJyaWdodCA8b258b2ZmPlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDMKKyMsIGZ1enp5Cittc2dpZCAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlua1xuIgorbXNnc3RyICIgLWJsaW5rIDxvbnxvZmY+XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNAorIywgZnV6enkKK21zZ2lkICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHVuZGVybGluZVxuIgorbXNnc3RyICIgLXVuZGVybGluZSA8b258b2ZmPlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDUKK21zZ2lkICIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgIHN3YXAgZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBjb2xvcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDYKKyMsIGZ1enp5Cittc2dpZCAiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICBjbGVhciBzY3JlZW4gYW5kIHNldCBjdXJzb3IgcG9zaXRpb25cbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNworbXNnaWQgIiAtLXRhYnMgICAgICAgICAgWzxudW1iZXI+Li4uXSAgICAgc2V0IHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3Igc2hvdyB0aGVtXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA4Cittc2dpZCAiIC0tY2xydGFicyAgICAgICBbPG51bWJlcj4uLi5dICAgICBjbGVhciB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIGFsbFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOQorbXNnaWQgIiAtLXJlZ3RhYnMgICAgICAgWzEtMTYwXSAgICAgICAgICAgc2V0IGEgcmVndWxhciB0YWIgc3RvcCBpbnRlcnZhbFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMAorbXNnaWQgIiAtLWJsYW5rICAgICAgICAgWzAtNjB8Zm9yY2V8cG9rZV0gc2V0IHRpbWUgb2YgaW5hY3Rpdml0eSBiZWZvcmUgc2NyZWVuIGJsYW5rc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMQorbXNnaWQgIiAtLWR1bXAgICAgICAgICAgWzxudW1iZXI+XSAgICAgICAgd3JpdGUgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEyCittc2dpZCAiIC0tYXBwZW5kICAgICAgICBbPG51bWJlcj5dICAgICAgICBhcHBlbmQgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEzCisjLCBmdXp6eQorbXNnaWQgIiAtLWZpbGUgICAgICAgICAgPGZpbGVuYW1lPiAgICAgICAgbmFtZSBvZiB0aGUgZHVtcCBmaWxlXG4iCittc2dzdHIgIiIKKyJOw6R5dMOkIGNsYXNzLXRpZWRvc3RvbiBzaXPDpGx0w7YgbHVldHRhdmFzc2EgbXVvZG9zc2EuXG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNAorIywgZnV6enkKK21zZ2lkICIgLS1tc2cgICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHNlbmQga2VybmVsIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNQorIywgZnV6enkKK21zZ2lkICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIGtlcm5lbCBjb25zb2xlIGxvZyBsZXZlbFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgVMOkbcOkIHBpZW5pIGvDpHl0dMO2b3Bhc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTYKKyMsIGZ1enp5Cittc2dpZCAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKK21zZ3N0ciAiIC1wb3dlcnNhdmUgPG9ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmY+XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNworIywgZnV6enkKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCB2ZXNhIHBvd2Vyc2F2aW5nIGZlYXR1cmVzXG4iCittc2dzdHIgIiVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxOAorbXNnaWQgIiAtLXBvd2VyZG93biAgICAgWzAtNjBdICAgICAgICAgICAgc2V0IHZlc2EgcG93ZXJkb3duIGludGVydmFsIGluIG1pbnV0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTkKK21zZ2lkICIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIGR1cmF0aW9uIG9mIHRoZSBiZWxsIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMAorbXNnaWQgIiAtLWJmcmVxICAgICAgICAgPG51bWJlcj4gICAgICAgICAgYmVsbCBmcmVxdWVuY3kgaW4gSGVydHpcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjEKK21zZ2lkICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIHNob3cgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIHR1bG9zdGEgdmVyc2lvdGllZG90IGphIHBvaXN0dVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjIKK21zZ2lkICIgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbsOkeXTDpCB0w6Rtw6Qgb2hqZSBqYSBwb2lzdHVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDMwCisjLCBmdXp6eQorbXNnaWQgImR1cGxpY2F0ZSB1c2Ugb2YgYW4gb3B0aW9uIgorbXNnc3RyICJWYWluIHJvb3Qta8OkeXR0w6Rqw6Qgdm9pIGvDpHl0dMOkw6QgdMOkdMOkIHZhbGl0c2ludGEhIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MzQKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGZvcmNlIGJsYW5rIgorbXNnc3RyICIgLWJsYW5rIDwwLTYwfGZvcmNlfHBva2U+XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjczOQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZm9yY2UgdW5ibGFuayIKK21zZ3N0ciAidmFsaXRzaW1pYSAtZm9yY2VfZmxhdF9uYW1lc3BhY2UgamEgLWR5bmFtaWNsaWIgZWkgdm9pIGvDpHl0dMOkw6QgeWhkZXNzw6QiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0NQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IGJsYW5rIHN0YXR1cyIKK21zZ3N0ciAidHnDtmhha2VtaXN0b24gc2Vsdml0dMOkbWluZW4gZWkgb25uaXN0dSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4gbm90IG9wZW4gZHVtcCBmaWxlICVzIGZvciBvdXRwdXQiCittc2dzdHIgInR1bG9zdGllZG9zdG9hIOKAnSVz4oCdIGVpIHZvaSBhdmF0YSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCAlcyBkb2VzIG5vdCBzdXBwb3J0ICVzIgorbXNnc3RyICIlcyBlaSB0dWUgbXVvdG9pbHVhICU8JSUlcyVjJT4gJXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjk4OAorbXNnaWQgImNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlIgorbXNnc3RyICJ2aXJyYW5zw6TDpHN0w7Z0aWxhYSBlaSB2b2kgYXNldHRhYSAocG9pcykiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwMDcgdGVybS11dGlscy9zZXR0ZXJtLmM6MTAxNgorbXNnaWQgImtsb2djdGwgZXJyb3IiCittc2dzdHIgImtsb2djdGwtdmlyaGUiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwMzcKK21zZ2lkICIkVEVSTSBpcyBub3QgZGVmaW5lZC4iCittc2dzdHIgIiRURVJNIG9uIG3DpMOkcml0dGVsZW3DpHR0w6QuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDQ0Cittc2dpZCAidGVybWluZm8gZGF0YWJhc2UgY2Fubm90IGJlIGZvdW5kIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIHRlcm1pbmFsIHR5cGUiCittc2dzdHIgInR1bnRlbWF0b24gdGllZG9zdG9qw6RyamVzdGVsbcOkbiB0eXlwcGkg4oCdJXPigJ0iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDgKKyMsIGZ1enp5Cittc2dpZCAidGVybWluYWwgaXMgaGFyZGNvcHkiCittc2dzdHIgIiAtdGVybSBww6TDpHR0ZWVuX25pbWlcbiIKKworIzogdGVybS11dGlscy90dHltc2cuYzo4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHRvbyBtYW55IGlvdidzIgorbXNnc3RyICJzaXPDpGluZW4gdmlyaGUiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhjZXNzaXZlbHkgbG9uZyBsaW5lIGFyZyIKK21zZ3N0ciAibGlpYW4gcGl0a8OkIHJpdmlhcmd1bWVudHRpIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVuIGZhaWxlZCIKK21zZ3N0ciAib3BlbiBlcMOkb25uaXN0dWkiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcms6ICVtIgorbXNnc3RyICJmb3JrOiAlbSIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZvcmsiCittc2dzdHIgImhhYXJhdXR0YW1pbmVuIGVpIG9ubmlzdHUiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCQUQgRVJST1IsIG1lc3NhZ2UgaXMgZmFyIHRvbyBsb25nIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gfCA8bWVzc2FnZT5dXG4iCittc2dzdHIgIiVzIFt2YWxpdHNpbWV0XSBbPHRpZWRvc3RvPiAuLi5dXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg2Cittc2dpZCAiV3JpdGUgYSBtZXNzYWdlIHRvIGFsbCB1c2Vycy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4OQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAgZG8gbm90IHByaW50IGJhbm5lciwgd29ya3Mgb25seSBmb3Igcm9vdFxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTAKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8dGltZW91dD4gd3JpdGUgdGltZW91dCBpbiBzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6MTMyCisjLCBmdXp6eQorbXNnaWQgIi0tbm9iYW5uZXIgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIHJvb3QiCittc2dzdHIgIlZhaW4gcm9vdC1rw6R5dHTDpGrDpCB2b2kga8OkeXR0w6TDpCB0w6R0w6QgdmFsaXRzaW50YSEiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIGFyZ3VtZW50dGkgJXMgJXM6bGxlIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyNjkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGdldCBwYXNzd2QgdWlkIgorbXNnc3RyICJ0ecO2aGFrZW1pc3RvbiBzZWx2aXR0w6RtaW5lbiBlaSBvbm5pc3R1IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyNzQKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGdldCB0dHkgbmFtZSIKK21zZ3N0ciAiasOkcmplc3RlbG3DpG4gbmltZW4gaGFrdSBlaSBvbm5pc3R1IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnJvYWRjYXN0IG1lc3NhZ2UgZnJvbSAlc0AlcyAoJXMpICglcyk6IgorbXNnc3RyICJWaWVzdGkga8OkeXR0w6Rqw6RsdMOkICVzQCVzICglcykgKCVzKToiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjMyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgcmVhZCAlcyAtIHVzZSBzdGRpbi4iCittc2dzdHIgImhha2VtaXN0b2EgJXMgZWkgdm9pIGx1a2VhIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHVzZXI+IFs8dHR5bmFtZT5dXG4iCittc2dzdHIgIiVzIFt2YWxpdHNpbWV0XSBbPHRpZWRvc3RvPiAuLi5dXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo5MAorbXNnaWQgIlNlbmQgYSBtZXNzYWdlIHRvIGFub3RoZXIgdXNlci5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgImVmZmVjdGl2ZSBnaWQgZG9lcyBub3QgbWF0Y2ggZ3JvdXAgb2YgJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIgorbXNnc3RyICIlcyBlaSBvbGUga2lyamF1dHVuZWVuYSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwNworbXNnaWQgImNhbid0IGZpbmQgeW91ciB0dHkncyBuYW1lIgorbXNnc3RyICJ3cml0ZTogdHR5Om4gbmltZcOkIGVpIGzDtnlkeSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQiCittc2dzdHIgIiVzIG9uIGVzdMOkbnl0IHZpZXN0aXQiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGxvZ2dlZCBpbiBtb3JlIHRoYW4gb25jZTsgd3JpdGluZyB0byAlcyIKK21zZ3N0ciAiJXM6IGtlbnR0w6Qg4oCdJXPigJ0gbcOkw6RyaXRlbHR5IHVzZWFtbWluIGt1aW4ga2VycmFuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjM4Cittc2dpZCAiY2FyZWZ1bHB1dGMgZmFpbGVkIgorbXNnc3RyICJjYXJlZnVscHV0YyBlcMOkb25uaXN0dWkiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyAoYXMgJXMpIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIlZpZXN0aSAlNCRzOmxsZSBraXJqYXV0dW5lZWx0YSBrw6R5dHTDpGrDpGx0w6QgJTEkc0AlMiRzICglMyRzKSwga2VsbG8gJTUkcy4uLiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIlZpZXN0aSAlMyRzOmxsZSBraXJqYXV0dW5lZWx0YSBrw6R5dHTDpGrDpGx0w6QgJTEkc0AlMiRzLCBrZWxsbyAlNCRzLi4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzMxCisjLCBmdXp6eQorbXNnaWQgInlvdSBoYXZlIHdyaXRlIHBlcm1pc3Npb24gdHVybmVkIG9mZiIKK21zZ3N0ciAiTGV2eSBhdmF0dGlpbiB2YWluIGx1a3UgLXRpbGFzc2Eg4oCTIHNpbnVsbGEgZWkgb2xlIGtpcmpvaXR1c29pa2V1dHRhIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4gb24gJXMiCittc2dzdHIgIiVzIGVpIG9sZSBraXJqYXV0dW5lZW5hIHDDpMOkdHRlZWxsw6QgJXMiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIG9uICVzIgorbXNnc3RyICIlcyBvbiBlc3TDpG55dCB2aWVzdGl0IHDDpMOkdHRlZWxsw6QgJXMiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM0Cittc2dpZCAiRmlsdGVyIG91dCByZXZlcnNlIGxpbmUgZmVlZHMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAgZG8gbm90IG91dHB1dCBiYWNrc3BhY2VzXG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAgcGVybWl0IGZvcndhcmQgaGFsZiBsaW5lIGZlZWRzXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAgcGFzcyB1bmtub3duIGNvbnRyb2wgc2VxdWVuY2VzXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgY29udmVydCBzcGFjZXMgdG8gdGFic1xuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIGNvbnZlcnQgdGFicyB0byBzcGFjZXNcbiIKKyIgLWwsIC0tbGluZXMgTlVNICAgICAgICBidWZmZXIgYXQgbGVhc3QgTlVNIGxpbmVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLUgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTQ4IHRleHQtdXRpbHMvY29scm0uYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXMgcmVhZHMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MjEyCisjLCBmdXp6eQorbXNnaWQgImJhZCAtbCBhcmd1bWVudCIKK21zZ3N0ciAiVmlyaGVlbGxpbmVuIHByb3NlZHV1cmlhcmd1bWVudHRpIGtvaGRhc3NhICVMIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjMzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2FuJ3QgYmFjayB1cCAlcy4iCittc2dzdHIgInZpcmhlOiB0aWVkb3N0b2EgJXMgZWkgdm9pIGF2YXRhOiAlcyIKKworIzogdGV4dC11dGlscy9jb2wuYzozMzcKK21zZ2lkICJwYXN0IGZpcnN0IGxpbmUiCittc2dzdHIgImVuc2ltbcOkaXNlc3TDpCByaXZpc3TDpCBldGVlbnDDpGluIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjMzNworbXNnaWQgIi0tIGxpbmUgYWxyZWFkeSBmbHVzaGVkIgorbXNnc3RyICItLSByaXZpcHVza3VyaSBvbiBqbyB0eWhqZW5uZXR0eSIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4MSB0ZXh0LXV0aWxzL2NvbHVtbi5jOjExNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICIlcyBbdmFsaXRzaW1ldF0gWzx0aWVkb3N0bz4gLi4uXVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg0Cittc2dpZCAiRmlsdGVyIG5yb2ZmIG91dHB1dCBmb3IgQ1JUIHByZXZpZXdpbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NworIywgZnV6enkKK21zZ2lkICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgICAgc3VwcHJlc3MgYWxsIHVuZGVybGluaW5nXG4iCittc2dzdHIgIlx0WWxlaXNldCBvc29pdHRlZXQgKCV1KVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg4CisjLCBmdXp6eQorbXNnaWQgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBwcmludCBhbGwgaGFsZi1saW5lc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgVMOkbcOkIHBpZW5pIGvDpHl0dMO2b3Bhc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW3N0YXJ0Y29sIFtlbmRjb2xdXVxuIgorbXNnc3RyICIiCisiXG4iCisiS8OkeXR0w7Y6ICVzIFt2YWxpdHNpbWV0XVxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjQKK21zZ2lkICJGaWx0ZXIgb3V0IHRoZSBzcGVjaWZpZWQgY29sdW1ucy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg1Cittc2dpZCAiZmlyc3QgYXJndW1lbnQiCittc2dzdHIgImVuc2ltbcOkaW5lbiBhcmd1bWVudHRpIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg3Cittc2dpZCAic2Vjb25kIGFyZ3VtZW50IgorbXNnc3RyICJ0b2luZW4gYXJndW1lbnR0aSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjAKK21zZ2lkICJDb2x1bW5hdGUgbGlzdHMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjMKK21zZ2lkICIgLWMsIC0tY29sdW1ucyA8d2lkdGg+ICAgIHdpZHRoIG9mIG91dHB1dCBpbiBudW1iZXIgb2YgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI0CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10YWJsZSAgICAgICAgICAgICAgY3JlYXRlIGEgdGFibGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHQg4oCTIFRhdWx1IHJhYSdhc3NhIG11b2Rvc3NhIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyNQorbXNnaWQgIiAtcywgLS1zZXBhcmF0b3IgPHN0cmluZz4gcG9zc2libGUgdGFibGUgZGVsaW1pdGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI2Cittc2dpZCAiIgorIiAtbywgLS1vdXRwdXQtc2VwYXJhdG9yIDxzdHJpbmc+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zIHNlcGFyYXRvciBmb3IgdGFibGUgb3V0cHV0OyBkZWZhdWx0IGlzIHR3byBzcGFjZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyOAorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgIGZpbGwgcm93cyBiZWZvcmUgY29sdW1uc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxODIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjb2x1bW5zIGFyZ3VtZW50IgorbXNnc3RyICJ2aXJoZWVsbGluZW4gc2FyYWtlbcOkw6Ryw6Q6ICVzIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQyMgorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkIGlzIHRvbyBsb25nLCBvdXRwdXQgd2lsbCBiZSB0cnVuY2F0ZWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU1IHRleHQtdXRpbHMvbW9yZS5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPi4uLlxuIgorbXNnc3RyICIgJXMgW3ZhbGl0c2ltZXRdIDx0aWVkb3N0bz4uLi5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU4Cittc2dpZCAiRGlzcGxheSBmaWxlIGNvbnRlbnRzIGluIGhleGFkZWNpbWFsLCBkZWNpbWFsLCBvY3RhbCwgb3IgYXNjaWkuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYxCittc2dpZCAiIC1iLCAtLW9uZS1ieXRlLW9jdGFsICAgICAgb25lLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MgorbXNnaWQgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgIG9uZS1ieXRlIGNoYXJhY3RlciBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYzCittc2dpZCAiIC1DLCAtLWNhbm9uaWNhbCAgICAgICAgICAgY2Fub25pY2FsIGhleCtBU0NJSSBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY0Cittc2dpZCAiIC1kLCAtLXR3by1ieXRlcy1kZWNpbWFsICAgdHdvLWJ5dGUgZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY1Cittc2dpZCAiIC1vLCAtLXR3by1ieXRlcy1vY3RhbCAgICAgdHdvLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NgorbXNnaWQgIiAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjcKK21zZ2lkICIgLUwsIC0tY29sb3JbPTxtb2RlPl0gICAgICBpbnRlcnByZXQgY29sb3IgZm9ybWF0dGluZyBzcGVjaWZpZXJzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcwCittc2dpZCAiIC1lLCAtLWZvcm1hdCA8Zm9ybWF0PiAgICAgZm9ybWF0IHN0cmluZyB0byBiZSB1c2VkIGZvciBkaXNwbGF5aW5nIGRhdGFcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzEKK21zZ2lkICIgLWYsIC0tZm9ybWF0LWZpbGUgPGZpbGU+ICBmaWxlIHRoYXQgY29udGFpbnMgZm9ybWF0IHN0cmluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzIKK21zZ2lkICIgLW4sIC0tbGVuZ3RoIDxsZW5ndGg+ICAgICBpbnRlcnByZXQgb25seSBsZW5ndGggYnl0ZXMgb2YgaW5wdXRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzMKK21zZ2lkICIgLXMsIC0tc2tpcCA8b2Zmc2V0PiAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgb3V0cHV0IGlkZW50aWNhbCBsaW5lc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLWRpc3BsYXkuYzozNjUKKyMsIGZ1enp5Cittc2dpZCAiYWxsIGlucHV0IGZpbGUgYXJndW1lbnRzIGZhaWxlZCIKK21zZ3N0ciAic2VnbWVudHRlasOkIGVuaW50w6TDpG4gPSAlbHVcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCBieXRlIGNvdW50IGZvciBjb252ZXJzaW9uIGNoYXJhY3RlciAlcyIKK21zZ3N0ciAiaGV4ZHVtcDogdmlyaGVlbGxpbmVuIHRhdnVtw6TDpHLDpCBtdXVubm9zbWVya2lsbGUgJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlJXMgcmVxdWlyZXMgYSBwcmVjaXNpb24gb3IgYSBieXRlIGNvdW50IgorbXNnc3RyICJoZXhkdW1wOiAlJXMgdmFhdGlpIHRhcmtrdXVkZW4gdGFpIHRhdnVtw6TDpHLDpG4uXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgZm9ybWF0IHslc30iCittc2dzdHIgIlZpcmhlZWxsaW5lbiBraXJqYXNpbnRpZWRvc3RvbiBtdW90byIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbnZlcnNpb24gY2hhcmFjdGVyICUlJXMiCittc2dzdHIgInZpcmhlZWxsaW5lbiBtdXVubm9zbWVya2tpICUlJXMiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjQzNgorIywgZnV6enkKK21zZ2lkICJieXRlIGNvdW50IHdpdGggbXVsdGlwbGUgY29udmVyc2lvbiBjaGFyYWN0ZXJzIgorbXNnc3RyICJoZXhkdW1wOiB0YXZ1bcOkw6Ryw6QgdXNlaWRlbiBtdXVubm9zbWVya2tpZW4ga2Fuc3NhLlxuIgorCisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozMworbXNnaWQgIlJlYWQgb25lIGxpbmUuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjI4Cittc2dpZCAiQSBmaWxlIHBlcnVzYWwgZmlsdGVyIGZvciBDUlQgdmlld2luZy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAiIC1kICAgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmdpbmcgYmVsbFxuIgorbXNnc3RyICIgICAgICAtLWhlbHAgICAgIG7DpHl0w6QgdMOkbcOkIG9oamUgamEgcG9pc3R1XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMgorIywgZnV6enkKK21zZ2lkICIgLWYgICAgICAgICAgY291bnQgbG9naWNhbCByYXRoZXIgdGhhbiBzY3JlZW4gbGluZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIMOkbMOkIGtpcmpvaXRhIGxldnlsbGUgb2lrZWFzdGkiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMworIywgZnV6enkKK21zZ2lkICIgLWwgICAgICAgICAgc3VwcHJlc3MgcGF1c2UgYWZ0ZXIgZm9ybSBmZWVkXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBUdWxvc3RhIG9zaW90YXVsdSBydXVkdWxsZSB0YWkgdGllZG9zdG9vbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIiAtYyAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBkaXNwbGF5IHRleHQgYW5kIGNsZWFuIGxpbmUgZW5kc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgw6Rsw6Qga2lyam9pdGEgbGV2eWxsZSBvaWtlYXN0aSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM1CisjLCBmdXp6eQorbXNnaWQgIiAtcCAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBjbGVhbiBzY3JlZW4gYW5kIGRpc3BsYXkgdGV4dFxuIgorbXNnc3RyICIgIHAgICAgICAgICAgVHVsb3N0YSBvc2lvdGF1bHUgcnV1ZHVsbGUgdGFpIHRpZWRvc3Rvb24iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNgorIywgZnV6enkKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgIiAtdSAgICAgICAgICBzdXBwcmVzcyB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICJcdFlsZWlzZXQgb3NvaXR0ZWV0ICgldSlcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM4CisjLCBmdXp6eQorbXNnaWQgIiAtPG51bWJlcj4gICB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKK21zZ3N0ciAiQW5uYSBzeWxpbnRlcmllbiBtw6TDpHLDpDogIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzkKK21zZ2lkICIgKzxudW1iZXI+ICAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIGxpbmUgbnVtYmVyXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQwCittc2dpZCAiICsvPHN0cmluZz4gIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBzZWFyY2ggc3RyaW5nIG1hdGNoXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQxCisjLCBmdXp6eQorbXNnaWQgIiAtViAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtdiwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvbnVtZXJvIGphIHBvaXN0dVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcHRpb24gLSVzIgorbXNnc3RyICJ0dW50ZW1hdG9uIHZhbGl0c2luIC0lcyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKiogJXM6IGRpcmVjdG9yeSAqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKiAlczogaGFrZW1pc3RvICoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKioqKioqICVzOiBOb3QgYSB0ZXh0IGZpbGUgKioqKioqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKioqICVzOiBFaSBvbGUgdGVrc3RpdGllZG9zdG8gKioqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIltVc2UgcSBvciBRIHRvIHF1aXRdIgorbXNnc3RyICJbS8OkeXTDpCBxIHRhaSBRIGxvcGV0dGFha3Nlc2ldIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1Nb3JlLS0iCittc2dzdHIgIi0tTGlzw6TDpC0tIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiKE5leHQgZmlsZTogJXMpIgorbXNnc3RyICIoU2V1cmFhdmEgdGllZG9zdG86ICVzKSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyBzcGFjZSB0byBjb250aW51ZSwgJ3EnIHRvIHF1aXQuXSIKK21zZ3N0ciAiW1bDpGxpbHnDtm50aSBqYXRrYWEsIOKAnXHigJ0gbG9wZXR0YWEuXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTE2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLi4uYmFjayAlZCBwYWdlIgorbXNnaWRfcGx1cmFsICIuLi5iYWNrICVkIHBhZ2VzIgorbXNnc3RyWzBdICIuLi4lZCBzaXZ1YSB0YWFrc2Vww6RpbiIKK21zZ3N0clsxXSAiLi4uJWQgc2l2dWEgdGFha3NlcMOkaW4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi4uLnNraXBwaW5nICVkIGxpbmUiCittc2dpZF9wbHVyYWwgIi4uLnNraXBwaW5nICVkIGxpbmVzIgorbXNnc3RyWzBdICIuLi5vaGl0ZXRhYW4gJWQgcml2acOkIgorbXNnc3RyWzFdICIuLi5vaGl0ZXRhYW4gJWQgcml2acOkIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjQ4Cittc2dpZCAiIgorIlxuIgorIioqKkJhY2sqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKlRha2Fpc2luKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNjMKKyMsIGZ1enp5Cittc2dpZCAiTm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICJFaSBhaWVtcGFhIHPDpMOkbm7DtmxsaXN0w6QgbGF1c2VrZXR0YSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI5MworbXNnaWQgIiIKKyJcbiIKKyJNb3N0IGNvbW1hbmRzIG9wdGlvbmFsbHkgcHJlY2VkZWQgYnkgaW50ZWdlciBhcmd1bWVudCBrLiAgRGVmYXVsdHMgaW4gYnJhY2tldHMuXG4iCisiU3RhciAoKikgaW5kaWNhdGVzIGFyZ3VtZW50IGJlY29tZXMgbmV3IGRlZmF1bHQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJVc2VpbXBpYSBrb21lbnRvamEgdm9pIGVkZWx0w6TDpCB2YWxpbm5haW5lbiBrb2tvbmFpc2x1a3Vhcmd1bWVudHRpIGsuXG4iCisiT2xldHVzYXNldHVrc2V0IGhha2FzdWxrZWlzc2EuXG4iCisiQXN0ZXJpc2tpbGxhICgqKSBtZXJraXR5aXNzw6Qga29tZW5ub2lzc2EgYXJndW1lbnRpc3RhIHR1bGVlIHV1c2kgb2xldHVzYXJ2by5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTMwMAorbXNnaWQgIiIKKyI8c3BhY2U+ICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXVxuIgorInogICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdKlxuIgorIjxyZXR1cm4+ICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgWzFdKlxuIgorImQgb3IgY3RybC1EICAgICAgICAgICAgIFNjcm9sbCBrIGxpbmVzIFtjdXJyZW50IHNjcm9sbCBzaXplLCBpbml0aWFsbHkgMTFdKlxuIgorInEgb3IgUSBvciA8aW50ZXJydXB0PiAgIEV4aXQgZnJvbSBtb3JlXG4iCisicyAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgbGluZXMgb2YgdGV4dCBbMV1cbiIKKyJmICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBzY3JlZW5mdWxzIG9mIHRleHQgWzFdXG4iCisiYiBvciBjdHJsLUIgICAgICAgICAgICAgU2tpcCBiYWNrd2FyZHMgayBzY3JlZW5mdWxzIG9mIHRleHQgWzFdXG4iCisiJyAgICAgICAgICAgICAgICAgICAgICAgR28gdG8gcGxhY2Ugd2hlcmUgcHJldmlvdXMgc2VhcmNoIHN0YXJ0ZWRcbiIKKyI9ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgbGluZSBudW1iZXJcbiIKKyIvPHJlZ3VsYXIgZXhwcmVzc2lvbj4gICBTZWFyY2ggZm9yIGt0aCBvY2N1cnJlbmNlIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbiBbMV1cbiIKKyJuICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggZm9yIGt0aCBvY2N1cnJlbmNlIG9mIGxhc3Qgci5lIFsxXVxuIgorIiE8Y21kPiBvciA6ITxjbWQ+ICAgICAgIEV4ZWN1dGUgPGNtZD4gaW4gYSBzdWJzaGVsbFxuIgorInYgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0IHVwIC91c3IvYmluL3ZpIGF0IGN1cnJlbnQgbGluZVxuIgorImN0cmwtTCAgICAgICAgICAgICAgICAgIFJlZHJhdyBzY3JlZW5cbiIKKyI6biAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggbmV4dCBmaWxlIFsxXVxuIgorIjpwICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBwcmV2aW91cyBmaWxlIFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBmaWxlIG5hbWUgYW5kIGxpbmUgbnVtYmVyXG4iCisiLiAgICAgICAgICAgICAgICAgICAgICAgUmVwZWF0IHByZXZpb3VzIGNvbW1hbmRcbiIKK21zZ3N0ciAiIgorIjx2w6RsaT4gICAgICAgICAgICAgICAgICBOw6R5dMOkIHNldXJhYXZhdCBrIHJpdmnDpCB0ZWtzdGnDpCBbbnlreWluZW4gcnV1ZHVuIHJpdmltw6TDpHLDpF1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICBOw6R5dMOkIHNldXJhYXZhdCBrIHJpdmnDpCB0ZWtzdGnDpCBbbnlreWluZW4gcnV1ZHVuIHJpdmltw6TDpHLDpF0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAgTsOkeXTDpCBzZXVyYWF2YXQgayByaXZpw6QgdGVrc3Rpw6QgWzFdKlxuIgorImQgdGFpIGN0cmwtRCAgICAgICAgICAgIFZpZXJpdMOkIGsgcml2acOkIFtueWt5aW5lbiB2aWVyaXR5c23DpMOkcsOkLCBhbGt1YXJ2byAxMV0qXG4iCisicSB0YWkgUSBvciA8a2Vza2V5dHlzPiAgUG9pc3R1IG1vcmVzdGFcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBPaGl0YSBrIHJpdmnDpCBqYSBzaWlycnkgZXRlZW5ww6RpbiBbMV1cbiIKKyJmICAgICAgICAgICAgICAgICAgICAgICBPaGl0YSBrIHJ1dXR1YSB0ZWtzdGnDpCBqYSBzaWlycnkgZXRlZW5ww6RpbiBbMV1cbiIKKyJiIHRhaSBjdHJsLUIgICAgICAgICAgICBPaGl0YSBrIHJ1dXR1YSB0ZWtzdGnDpCBqYSBzaWlycnkgdGFha3NlcMOkaW4gWzFdXG4iCisiJyAgICAgICAgICAgICAgICAgICAgICAgUGFsYWEga29odGFhbiwgam9zdGEgZWRlbGxpbmVuIGhha3UgYWxrb2lcbiIKKyI9ICAgICAgICAgICAgICAgICAgICAgICBOw6R5dMOkIG55a3lpbmVuIHJpdmludW1lcm9cbiIKKyIvPHPDpMOkbm7DtmxsaW5lbiBsYXVzZWtlPiBFdHNpIHPDpMOkbm7DtmxsaXNlbiBsYXVzZWtrZWVuIGs6cyBlc2lpbnR5bcOkIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIEV0c2kgZWRlbGxpc2VuIHPDpMOkbm7DtmxsaXNlbiBsYXVzZWtrZWVuIGs6cyBlc2lpbnR5bcOkIFsxXVxuIgorIiE8a29tPiB0YWkgOiE8a29tPiAgICAgIEvDpHlubmlzdMOkIDxrb20+IGFsaWt1b3Jlc3NhXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgS8OkeW5uaXN0w6QgL3Vzci9iaW4vdmkgbnlreWlzZWxsZSByaXZpbGxlXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUGlpcnLDpCBydXV0dSB1dWRlbGxlZW5cbiIKKyI6biAgICAgICAgICAgICAgICAgICAgICBTaWlycnkgazpudGVlbiBzZXVyYWF2YWFuIHRpZWRvc3Rvb24gWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgU2lpcnJ5IGs6bnRlZW4gZWRlbGxpc2VlbiB0aWVkb3N0b29uIFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgICAgIE7DpHl0w6QgbnlreWluZW4gdGllZG9zdG9uaW1pIGphIHJpdmludW1lcm9cbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBUb2lzdGEgZWRlbGxpbmVuIGtvbWVudG9cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTM3MyB0ZXh0LXV0aWxzL21vcmUuYzoxMzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyAnaCcgZm9yIGluc3RydWN0aW9ucy5dIgorbXNnc3RyICJbTsOkcHDDpGluIOKAnWjigJ0gbsOkeXR0w6TDpCBvaGplaXRhLl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGxpbmUgJWQiCittc2dzdHIgIuKAnSVz4oCdIHJpdmkgJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiW05vdCBhIGZpbGVdIGxpbmUgJWQiCittc2dzdHIgIltFaSB0aWVkb3N0b10gcml2aSAlZCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQ5NAorbXNnaWQgIiAgT3ZlcmZsb3dcbiIKK21zZ3N0ciAiICBZbGl2dW90b1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTQzCittc2dpZCAiLi4uc2tpcHBpbmdcbiIKK21zZ3N0ciAiLi4ub2hpdGV0YWFuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1NzcKK21zZ2lkICIiCisiXG4iCisiUGF0dGVybiBub3QgZm91bmRcbiIKK21zZ3N0ciAiIgorIlxuIgorIkhhaG1vYSBlaSBsw7Z5ZHlcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU4MyB0ZXh0LXV0aWxzL3BnLmM6MTAyNyB0ZXh0LXV0aWxzL3BnLmM6MTE3MworbXNnaWQgIlBhdHRlcm4gbm90IGZvdW5kIgorbXNnc3RyICJIYWhtb2EgZWkgbMO2eWR5IgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjI5Cittc2dpZCAiZXhlYyBmYWlsZWRcbiIKK21zZ3N0ciAia8OkeW5uaXN0eXMgZXDDpG9ubmlzdHVpXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NDMKK21zZ2lkICJjYW4ndCBmb3JrXG4iCittc2dzdHIgImhhYXJhdXR0YW1pbmVuIGVpIG9ubmlzdHVcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY3NworbXNnaWQgIiIKKyJcbiIKKyIuLi5Ta2lwcGluZyAiCittc2dzdHIgIiIKKyJcbiIKKyIuLi5PaGl0ZXRhYW4gIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjgxCittc2dpZCAiLi4uU2tpcHBpbmcgdG8gZmlsZSAiCittc2dzdHIgIi4uLlZhaWhkZXRhYW4gdGllZG9zdG9vbiAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2ODMKK21zZ2lkICIuLi5Ta2lwcGluZyBiYWNrIHRvIGZpbGUgIgorbXNnc3RyICIuLi5QYWxhdGFhbiB0aWVkb3N0b29uICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTk3MworbXNnaWQgIkxpbmUgdG9vIGxvbmciCittc2dzdHIgIkxpaWFuIHBpdGvDpCByaXZpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMDEwCittc2dpZCAiTm8gcHJldmlvdXMgY29tbWFuZCB0byBzdWJzdGl0dXRlIGZvciIKK21zZ3N0ciAiRWkgZWRlbGxpc3TDpCBrb21lbnRvYSBrb3J2YXR0YXZha3NpIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTQ0Cittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyIgIGggICAgICAgICAgICAgICAgICAgICAgIHRoaXMgc2NyZWVuXG4iCisiICBxIG9yIFEgICAgICAgICAgICAgICAgICBxdWl0IHByb2dyYW1cbiIKKyIgIDxuZXdsaW5lPiAgICAgICAgICAgICAgIG5leHQgcGFnZVxuIgorIiAgZiAgICAgICAgICAgICAgICAgICAgICAgc2tpcCBhIHBhZ2UgZm9yd2FyZFxuIgorIiAgZCBvciBeRCAgICAgICAgICAgICAgICAgbmV4dCBoYWxmcGFnZVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgbmV4dCBsaW5lXG4iCisiICAkICAgICAgICAgICAgICAgICAgICAgICBsYXN0IHBhZ2VcbiIKKyIgIC9yZWdleC8gICAgICAgICAgICAgICAgIHNlYXJjaCBmb3J3YXJkIGZvciByZWdleFxuIgorIiAgP3JlZ2V4PyBvciBecmVnZXheICAgICAgc2VhcmNoIGJhY2t3YXJkIGZvciByZWdleFxuIgorIiAgLiBvciBeTCAgICAgICAgICAgICAgICAgcmVkcmF3IHNjcmVlblxuIgorIiAgdyBvciB6ICAgICAgICAgICAgICAgICAgc2V0IHBhZ2Ugc2l6ZSBhbmQgZ28gdG8gbmV4dCBwYWdlXG4iCisiICBzIGZpbGVuYW1lICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgZmlsZSB0byBmaWxlbmFtZVxuIgorIiAgIWNvbW1hbmQgICAgICAgICAgICAgICAgc2hlbGwgZXNjYXBlXG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBwcmV2aW91cyBmaWxlXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBuZXh0IGZpbGVcbiIKKyJcbiIKKyJNYW55IGNvbW1hbmRzIGFjY2VwdCBwcmVjZWRpbmcgbnVtYmVycywgZm9yIGV4YW1wbGU6XG4iCisiKzE8bmV3bGluZT4gKG5leHQgcGFnZSk7IC0xPG5ld2xpbmU+IChwcmV2aW91cyBwYWdlKTsgMTxuZXdsaW5lPiAoZmlyc3QgcGFnZSkuXG4iCisiXG4iCisiU2VlIHBnKDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFsrbGluZV0gWysvcGF0dGVybi9dIFtmaWxlc11cbiIKK21zZ3N0ciAiS8OkeXR0w7Y6ICVzIFt2YWxpdHNpbWV0XSBsYWl0ZSAuLi5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyNgorbXNnaWQgIkJyb3dzZSBwYWdld2lzZSB0aHJvdWdoIHRleHQgZmlsZXMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyOQorbXNnaWQgIiAtbnVtYmVyICAgICAgbGluZXMgcGVyIHBhZ2VcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMwCittc2dpZCAiIC1jICAgICAgICAgICBjbGVhciBzY3JlZW4gYmVmb3JlIGRpc3BsYXlpbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMxCisjLCBmdXp6eQorbXNnaWQgIiAtZSAgICAgICAgICAgZG8gbm90IHBhdXNlIGF0IGVuZCBvZiBhIGZpbGVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFR1bG9zdGEgb3Npb3RhdWx1IHJ1dWR1bGxlIHRhaSB0aWVkb3N0b29uIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMyCisjLCBmdXp6eQorbXNnaWQgIiAtZiAgICAgICAgICAgZG8gbm90IHNwbGl0IGxvbmcgbGluZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIMOkbMOkIGtpcmpvaXRhIGxldnlsbGUgb2lrZWFzdGkiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzMKKyMsIGZ1enp5Cittc2dpZCAiIC1uICAgICAgICAgICB0ZXJtaW5hdGUgY29tbWFuZCB3aXRoIG5ldyBsaW5lXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgIE7DpHl0w6QgdGlldHluIHR5eXBwaXNldCB2YWxpdHNpbWV0XG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzQKK21zZ2lkICIgLXAgPHByb21wdD4gIHNwZWNpZnkgcHJvbXB0XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNQorbXNnaWQgIiAtciAgICAgICAgICAgZGlzYWxsb3cgc2hlbGwgZXNjYXBlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNgorIywgZnV6enkKK21zZ2lkICIgLXMgICAgICAgICAgIHByaW50IG1lc3NhZ2VzIHRvIHN0ZG91dFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNworIywgZnV6enkKK21zZ2lkICIgK251bWJlciAgICAgIHN0YXJ0IGF0IHRoZSBnaXZlbiBsaW5lXG4iCittc2dzdHIgIiAgICAgICAgICAtLS0tQWxrdS0tLS0gICAgICAgICAtLS0tTG9wcHUtLS0tICAgICBBbGt1LSAgICAgU2VrdG9yaWVuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzgKK21zZ2lkICIgKy9wYXR0ZXJuLyAgIHN0YXJ0IGF0IHRoZSBsaW5lIGNvbnRhaW5pbmcgcGF0dGVyblxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICVzIgorbXNnc3RyICJ2YWxpdHNpbiB2YWF0aWkgYXJndW1lbnRpbiAtLSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIG9wdGlvbiAtLSAlcyIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIHZhbGl0c2luIOKAkyAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjM1OQorbXNnaWQgIi4uLnNraXBwaW5nIGZvcndhcmRcbiIKK21zZ3N0ciAiLi4ub2hpdGV0YWFuIGV0ZWVucMOkaW5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM2MQorbXNnaWQgIi4uLnNraXBwaW5nIGJhY2t3YXJkXG4iCittc2dzdHIgIi4uLm9oaXRldGFhbiB0YWFrc2Vww6RpblxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzc3Cittc2dpZCAiTm8gbmV4dCBmaWxlIgorbXNnc3RyICJFaSBzZXVyYWF2YWEgdGllZG9zdG9hIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzgxCittc2dpZCAiTm8gcHJldmlvdXMgZmlsZSIKK21zZ3N0ciAiRWkgZWRlbGxpc3TDpCB0aWVkb3N0b2EiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3IgZnJvbSAlcyBmaWxlIgorbXNnc3RyICJMdWt1dmlyaGU6IHZpYWxsaW5lbiBsb2hrbyB0aWVkb3N0b3NzYSDigJ0lc+KAnVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIEVPRiBpbiAlcyBmaWxlIgorbXNnc3RyICIlczogT2RvdHRhbWF0b24gdGllZG9zdG9uIGxvcHB1IChFT0YpIHRpZWRvc3Rvc3NhICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gZXJyb3IgaW4gJXMgZmlsZSIKK21zZ3N0ciAidGllZG9zdG9sbGEgJXMgb24gdHVudGVtYXRvbiB0aWVkb3N0b3R5eXBwaSIKKworIzogdGV4dC11dGlscy9wZy5jOjk0MQorIywgZnV6enkKK21zZ2lkICJDYW5ub3QgY3JlYXRlIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICJWw6RsaWFpa2Fpc3RpZWRvc3RvbiBsdW9taW5lbiBlaSBvbm5pc3R1IgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTUwIHRleHQtdXRpbHMvcGcuYzoxMTE0IHRleHQtdXRpbHMvcGcuYzoxMTQwCittc2dpZCAiUkUgZXJyb3I6ICIKK21zZ3N0ciAiVmlyaGUgc8Okw6RubsO2bGxpc2Vzc8OkIGxhdXNla2tlZXNzYTogIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTA5NworbXNnaWQgIihFT0YpIgorbXNnc3RyICIodGllZG9zdG9uIGxvcHB1KSIKKworIzogdGV4dC11dGlscy9wZy5jOjExMjIgdGV4dC11dGlscy9wZy5jOjExNDgKK21zZ2lkICJObyByZW1lbWJlcmVkIHNlYXJjaCBzdHJpbmciCittc2dzdHIgIkVpIG11aXN0ZXR0dWEgaGFrdW1lcmtraWpvbm9hIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTIwMworbXNnaWQgImNhbm5vdCBvcGVuICIKK21zZ3N0ciAiZWkgdm9pIGF2YXRhICIKKworIzogdGV4dC11dGlscy9wZy5jOjEyNTUKK21zZ2lkICJzYXZlZCIKK21zZ3N0ciAidGFsbGVubmV0dHUiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzQ1Cittc2dpZCAiOiAhY29tbWFuZCBub3QgYWxsb3dlZCBpbiByZmxhZyBtb2RlLlxuIgorbXNnc3RyICI6ICEta29tZW50byBlaSBvbGUgc2FsbGl0dHUgcmFqb2l0ZXR1c3NhIHRpbGFzc2EuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzgwCittc2dpZCAiZm9yaygpIGZhaWxlZCwgdHJ5IGFnYWluIGxhdGVyXG4iCittc2dzdHIgImZvcmsoKSBlcMOkb25uaXN0dWksIHlyaXTDpCBtecO2aGVtbWluIHV1ZGVsbGVlblxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTQ2OAorbXNnaWQgIihOZXh0IGZpbGU6ICIKK21zZ3N0ciAiKFNldXJhYXZhIHRpZWRvc3RvOiAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzIENvcHlyaWdodCAoYykgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjE1ODcgdGV4dC11dGlscy9wZy5jOjE2NjAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyBwZXIgcGFnZSIKK21zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorbXNnc3RyICJLw6R5dHTDtjogJXMgW3ZhbGl0c2ltZXRdIHRpZWRvc3RvLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6ODAKK21zZ2lkICJSZXZlcnNlIGxpbmVzIGNoYXJhY3Rlcndpc2UuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJpbmNvbXBsZXRlIHdyaXRlIHRvIFwiJXNcIiAod3JpdHRlbiAlemQsIGV4cGVjdGVkICV6ZClcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2ggKGxpbWl0IG9mIGlub3RpZnkgd2F0Y2hlcyB3YXMgcmVhY2hlZCkuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxOTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uXSA8ZmlsZT5cbiIKK21zZ3N0ciAiS8OkeXR0w7Y6ICVzIFt2YWxpdHNpbWV0XSBsYWl0ZSAuLi5cbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwMAorbXNnaWQgIkZvbGxvdyB0aGUgZ3Jvd3RoIG9mIGEgbG9nIGZpbGUuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbGluZXMgPG51bWJlcj4gICBvdXRwdXQgdGhlIGxhc3QgPG51bWJlcj4gbGluZXNcbiIKK21zZ3N0ciAiQW5uYSBzeWxpbnRlcmllbiBtw6TDpHLDpDogIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjA0CisjLCBmdXp6eQorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICAgIHNhbWUgYXMgJy1uIDxudW1iZXI+J1xuIgorbXNnc3RyICJLw6R5dHTDpGrDpG4gYW50YW1hIHNpdnVrb2tvICV1IG9uIHZpcmhlZWxsaW5lbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIxMAorbXNnaWQgIldhcm5pbmc6IHVzZSBvZiAndGFpbGYnIGlzIGRlcHJlY2F0ZWQsIHVzZSAndGFpbCAtZicgaW5zdGVhZC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjIzIHRleHQtdXRpbHMvdGFpbGYuYzoyNjMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGxpbmVzIgorbXNnc3RyICJyaXZpbcOkw6Ryw6RuIGrDpHNlbnTDpG1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjI3NQorbXNnaWQgIm5vIGlucHV0IGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICJzecO2dGV0aWVkb3N0b2EgZWkgb2xlIGFubmV0dHUiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBmaWxlIgorbXNnc3RyICIlczogZWkgb2xlIGhha2VtaXN0byIKKworIzogdGV4dC11dGlscy91bC5jOjEzNgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gLi4uXVxuIgorbXNnc3RyICIgJXMgW3ZhbGl0c2ltZXRdIFs8dGllZG9zdG8+IC4uLl1cbiIKKworIzogdGV4dC11dGlscy91bC5jOjEzOQorbXNnaWQgIkRvIHVuZGVybGluaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDIKK21zZ2lkICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDMKK21zZ2lkICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMDQKK21zZ2lkICJ0cm91YmxlIHJlYWRpbmcgdGVybWluZm8iCittc2dzdHIgIm9uZ2VsbWEgbHVldHRhZXNzYSB0ZXJtaW5mb2EiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgYCVzJyBpcyBub3Qga25vd24sIGRlZmF1bHRpbmcgdG8gYGR1bWInIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBlc2NhcGUgc2VxdWVuY2UgaW4gaW5wdXQ6ICVvLCAlbyIKK21zZ3N0ciAidHVudGVtYXRvbiBvaGphdXNzYXJqYSBzecO2dHRlZXNzw6Q6ICVvLCAlbyIKKworIzogdGV4dC11dGlscy91bC5jOjYyNAorbXNnaWQgIklucHV0IGxpbmUgdG9vIGxvbmcuIgorbXNnc3RyICJTecO2dGVyaXZpIG9uIGxpaWFuIHBpdGvDpC4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gdXNlIHRoZSBIYXJkd2FyZSBDbG9jay4iCisjfiBtc2dzdHIgIlZhbGl0ZXR0YXZhc3RpIHZhaW4gcMOkw6Rrw6R5dHTDpGrDpCB2b2kgc8Okw6R0w6TDpCBsYWl0dGVpc3Rva2VsbG9hLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzZWNjb21wIGNvbnRleHQiCisjfiBtc2dzdHIgIiAtaW5pdGlhbGl6ZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBhZGQgc2VjY29tcCBydWxlIgorI34gbXNnc3RyICJsdWtlbWluZW4gZXDDpG9ubmlzdHVpIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBsb2FkIHNlY2NvbXAgcnVsZSIKKyN+IG1zZ3N0ciAibHVrZW1pbmVuIGVww6Rvbm5pc3R1aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGaWxlc3lzdGVtIGxhYmVsOiIKKyN+IG1zZ3N0ciAibmltacO2ICIKKworI34gbXNnaWQgImZhaWxlZCB0byBzZXQgUEFUSCIKKyN+IG1zZ3N0ciAiUEFUSGluIGFzZXR1cyBlcMOkb25uaXN0dWkiCisKKyN+IG1zZ2lkICIlZCIKKyN+IG1zZ3N0ciAiJWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXhwZWN0ZWQgYSBudW1iZXIsIGJ1dCBnb3QgJyVzJyIKKyN+IG1zZ3N0ciAiICBvZG90ZXR0aWluIHR5eXBwacOkLCBzYWF0aWluICVxRSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJkaXZpc29yICclcyciCisjfiBtc2dzdHIgIiAgICAgICAgICAlcyIKKworI34gbXNnaWQgImFyZ3VtZW50IGVycm9yOiAlcyIKKyN+IG1zZ3N0ciAiYXJndW1lbnR0aXZpcmhlOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0dHkgcGF0aCAlcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiJXM6IGxpaWFuIHBpdGvDpCB0aWVkb3N0byIKKworI34gbXNnaWQgImJhZCB0aW1lb3V0IHZhbHVlOiAlcyIKKyN+IG1zZ3N0ciAidmlyaGVlbGxpbmVuIGFpa2FrYXRrYWlzdWFydm86ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIgorI34gbXNnc3RyICJKw6RzZW5ueXN2aXJoZTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yOiBpZ25vcmUgZW50cnkgYXQgbGluZSAlZC4iCisjfiBtc2dzdHIgInNpaXJ0eW1pc3ZpcmhlIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBub3Qgc2V0dXAgdGltZXIiCisjfiBtc2dzdHIgInJ5aG3DpC1JRDp0w6QgJWx1IHZhc3RhYXZhYSBuaW1lw6QgZWkgbMO2eWR5IgorCisjfiBtc2dpZCAiZGlmZmVyZW50IgorI34gbXNnc3RyICJlcmkiCisKKyN+IG1zZ2lkICJzYW1lIgorI34gbXNnc3RyICJzYW1hIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBhY2Nlc3MgZmlsZSAlcyIKKyN+IG1zZ3N0ciAidGllZG9zdG9hICVzIGVpIHZvaSBrw6RzaXRlbGzDpCIKKworI34gbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIHNwZWNpYWwgZGV2aWNlIgorI34gbXNnc3RyICIlcyBlaSBvbGUgbG9oa29sYWl0ZSIKKworI34gbXNnaWQgIiVzOiBkZXZpY2UgaXMgbWlzYWxpZ25lZCIKKyN+IG1zZ3N0ciAiJXM6IGxhaXRlIG9uIHbDpMOkcmluIGtvaGRpc3RldHR1IgorCisjfiBtc2dpZCAiT1MvMiBoaWRkZW4gQzogZHJpdmUiCisjfiBtc2dzdHIgIk9TLzIga8OkdGtldHR5IEM6LWFzZW1hIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRldmljZSBwYXRoIgorI34gbXNnc3RyICJ0aWVkb3N0b24gJXMgb21pbmFpc3V1a3NpZW4gaGFrZW1pbmVuIGVpIG9ubmlzdHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVua25vd24gZGV2aWNlIG5hbWUiCisjfiBtc2dzdHIgIm1vdW50OiAlczogdHVudGVtYXRvbiBsYWl0ZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGdldCBkbSBuYW1lIgorI34gbXNnc3RyICJ0aWVkb3N0b24gJXMgb21pbmFpc3V1a3NpZW4gaGFrZW1pbmVuIGVpIG9ubmlzdHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgIC4lMDZkIHNlY29uZHNcbiIKKyN+IG1zZ3N0ciAiJXMgICUuNmYgc2VrdW50aWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYWdlcyIKKyN+IG1zZ3N0ciAibGlpYW4gbW9udGEgdmlhbGxpc3RhIHNpdnVhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdiAgYmUgdmVyYm9zZVxuIgorI34gbXNnc3RyICIiCisjfiAia8OkeXR0w7Y6ICVzIFstaF0gWy12XSBbLWIgbGtva29dIFstZSBsYWl0b3NdIFstTiB0YXZ1asOkcmpdIFstaSB0aWVkXSBbLW4gbmltaV0gaGFrbmltaSB0dWxvc3RpZWRcbiIKKyN+ICIgLWggICAgICAgICAgbsOkeXTDpCB0w6Rtw6Qgb2hqZVxuIgorI34gIiAtdiAgICAgICAgICBtb25pc2FuYWlzdXVzXG4iCisjfiAiIC1FICAgICAgICAgIGvDpHNpdHRlbGUgdmFyb2l0dWtzZXQgdmlyaGVpbsOkIChub2xsYXN0YSBwb2lra2VhdmEgcGFsdXVhcnZvKVxuIgorI34gIiAtYiBsa29rbyAgICBrw6R5dMOkIHTDpHTDpCBsb2hrb2tva29hLCBvbiBvbHRhdmEgc2FtYSBrdWluIHNpdnVrb2tvXG4iCisjfiAiIC1lIGxhaXRvcyAgIGFzZXRhIGxhaXRvc251bWVybyAob3NhIHRpZWQuasOkcmotaWQ6dMOkKVxuIgorI34gIiAtTiB0YXZ1asOkcmogYXNldGEgY3JhbWZzOm4gdGF2dWrDpHJqZXN0eXMgKGJpZ3xsaXR0bGV8aG9zdCksIG9sZXR1cyBob3N0XG4iCisjfiAiIC1pIHRpZWQgICAgIHNpc8OkbGx5dMOkIHRpZWRvc3RvdmVkb3MgdGllZG9zdG9qw6RyamVzdGVsbcOkw6RuICh2YWF0aWkg4omlIDIuNC4wOm4pXG4iCisjfiAiIC1uIG5pbWkgICAgIGFzZXRhIGNyYW1mcy10aWVkb3N0b2rDpHJqZXN0ZWxtw6RuIG5pbWlcbiIKKyN+ICIgLXAgICAgICAgICAgdGFzYWEgJWQgdGF2dWxsYSBrw6R5bm5pc3R5c2tvb2RpYSB2YXJ0ZW5cbiIKKyN+ICIgLXMgICAgICAgICAgbGFqaXR0ZWxlIGhha2VtaXN0b21lcmtpbm7DpHQgKHZhbmhhIHZhbGl0c2luLCBlaSBodW9taW9pZGEpXG4iCisjfiAiIC16ICAgICAgICAgIHRlZSByZWlracOkICh2YWF0aWkg4omlIDIuMy4zOTpuKVxuIgorI34gIiBoYWtuaW1pICAgICB0aWl2aXN0ZXR0w6R2w6RuIHRpZWRvc3RvasOkcmplc3RlbG3DpG4ganV1cmlcbiIKKyN+ICIgdHVsb3N0aWVkICAgdHVsb3N0aWVkb3N0b1xuIgorCisjfiBtc2dpZCAiIgorI34gIlZlcnkgbG9uZyAoJXp1IGJ5dGVzKSBmaWxlbmFtZSBgJXMnIGZvdW5kLlxuIgorI34gIiBQbGVhc2UgaW5jcmVhc2UgTUFYX0lOUFVUX05BTUVMRU4gaW4gbWtjcmFtZnMuYyBhbmQgcmVjb21waWxlLiAgRXhpdGluZy4iCisjfiBtc2dzdHIgIiIKKyN+ICJMw7Z5dHlpIGh5dmluIHBpdGvDpCB0aWVkb3N0b25pbWkg4oCdJTIkc+KAnSAoJTEkenUgdGF2dWEpLlxuIgorI34gIiBLYXN2YXRhIE1BWF9JTlBVVF9OQU1FTEVOLWFydm9hIHRpZWRvc3Rvc3NhIG1rY3JhbWZzLmMgamEga8Okw6RubsOkIHV1ZGVsbGVlbi4gUG9pc3R1dGFhbi4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1jIHwgLWwgZmlsZW5hbWVdIFstblhYXSBbLWlYWF0gL2Rldi9uYW1lIFtibG9ja3NdIgorI34gbXNnc3RyICJLw6R5dHTDtjogJXMgWy1jIHwgLWwgdGllZG9zdG9uaW1pXSBbLW5YWF0gWy1pWFhdIC9kZXYvbmltaSBbbG9oa290XSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAibXVpc3RpbiB2YXJhYW1pbmVuIHN5w7Z0ZXB1c2t1cmlsbGUgZWkgb25uaXN0dSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlcnMgZm9yIG1hcHMiCisjfiBtc2dzdHIgImthcnRvaWxsZSBlaSB2b2kgdmFyYXRhIHB1c2t1cmVpdGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKKyN+IG1zZ3N0ciAiSS1zb2xtdWlsbGUgZWkgdm9pIHZhcmF0YSBwdXNrdXJpYSIKKworI34gbXNnaWQgIiVzOiBiYWQgaW5vZGUgc2l6ZSIKKyN+IG1zZ3N0ciAiJXM6IHZpcmhlZWxsaW5lbiBpLXNvbG11biBrb2tvIgorCisjfiBtc2dpZCAid2lsbCBub3QgdHJ5IHRvIG1ha2UgZmlsZXN5c3RlbSBvbiAnJXMnIgorI34gbXNnc3RyICJlaSB5cml0ZXTDpCBsdW9kYSB0aWVkb3N0b2rDpHJqZXN0ZWxtw6TDpCBrb2h0ZWVzZWVuIOKAnSVz4oCdIgorCisjfiBtc2dpZCAidHlwZTogJWQiCisjfiBtc2dzdHIgInR5eXBwaTogJWQiCisKKyN+IG1zZ2lkICJkaXNrOiAlLipzIgorI34gbXNnc3RyICJsZXZ5OiAlLipzIgorCisjfiBtc2dpZCAibGFiZWw6ICUuKnMiCisjfiBtc2dzdHIgIm5pbWnDtjogJS4qcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmbGFnczogJXMiCisjfiBtc2dzdHIgIkxpcHV0IgorCisjfiBtc2dpZCAiYnl0ZXMvc2VjdG9yOiAlbGQiCisjfiBtc2dzdHIgInRhdnVhL3Nla3Rvcmk6ICVsZCIKKworI34gbXNnaWQgInNlY3RvcnMvdHJhY2s6ICVsZCIKKyN+IG1zZ3N0ciAic2VrdG9yZWl0YS91cmE6ICVsZCIKKworI34gbXNnaWQgInRyYWNrcy9jeWxpbmRlcjogJWxkIgorI34gbXNnc3RyICJ1cmFhL3N5bGludGVyaTogJWxkIgorCisjfiBtc2dpZCAic2VjdG9ycy9jeWxpbmRlcjogJWxkIgorI34gbXNnc3RyICJzZWt0b3JpYS9zeWxpbnRlcmk6ICVsZCIKKworI34gbXNnaWQgImN5bGluZGVyczogJWxkIgorI34gbXNnc3RyICJzeWxpbnRlcmVpdMOkOiAlbGQiCisKKyN+IG1zZ2lkICJycG06ICVkIgorI34gbXNnc3RyICJycG06ICVkIgorCisjfiBtc2dpZCAiaW50ZXJsZWF2ZTogJWQiCisjfiBtc2dzdHIgImxvbWl0dXM6ICVkIgorCisjfiBtc2dpZCAidHJhY2tza2V3OiAlZCIKKyN+IG1zZ3N0ciAidXJhdsOkw6RyaXN0eW3DpDogJWQiCisKKyN+IG1zZ2lkICJjeWxpbmRlcnNrZXc6ICVkIgorI34gbXNnc3RyICJzeWxpbnRlcml2w6TDpHJpc3R5bcOkOiAlZCIKKworI34gbXNnaWQgImhlYWRzd2l0Y2g6ICVsZCAobWlsbGlzZWNvbmRzKSIKKyN+IG1zZ3N0ciAicMOkw6RudmFpaHRvOiAlbGQgKG1pbGxpc2VrdW50aWEpIgorCisjfiBtc2dpZCAidHJhY2stdG8tdHJhY2sgc2VlazogJWxkIChtaWxsaXNlY29uZHMpIgorI34gbXNnc3RyICJyYWlkYWx0YSByYWlkYWxsZSBzaWlydHltaW5lbjogJWxkIChtaWxsaXNla3VudGlhKSIKKworI34gbXNnaWQgInBhcnRpdGlvbnM6ICVkIgorI34gbXNnc3RyICJvc2lvaXRhOiAlZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJZb3UgY2Fubm90IGNoYW5nZSBhIHBhcnRpdGlvbiBpbnRvIGFuIGV4dGVuZGVkIG9uZSBvciB2aWNlIHZlcnNhLiBEZWxldGUgaXQgZmlyc3QuIgorI34gbXNnc3RyICIiCisjfiAiT3Npb3RhIGVpIHZvaSBtdXV0dGFhIGxhYWplbm5ldHVrc2kgb3Npb2tzaSwgZWlrw6QgcMOkaW52YXN0b2luLlxuIgorI34gIlNlIG9uIHBvaXN0ZXR0YXZhIGVuc2luLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJMYWJlbCBnZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9yc1xuIgorI34gIiAgICAgICAgICAgICAgICAlbGx1IGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJMZXZ5ICUxJHMgKFNHSS1sZXZ5bmltacO2KTogJTIkZCBww6TDpHTDpCwgJTMkbGx1IHNla3RvcmlhXG4iCisjfiAiJTQkZCBzeWxpbnRlcmnDpCwgJTUkZCBmeXlzaXN0w6Qgc3lsaW50ZXJpw6RcbiIKKyN+ICIlNiRkIHlsaW3DpMOkcsOkaXN0w6Qgc2VrdC9zeWwsIGxvbWl0dXMgJTckZDoxXG4iCisjfiAiJTgkc1xuIgorI34gIllrc2lrw7Z0ID0gJTEwJGQgKiAlMTEkZCAtdGF2dWlzZXQgJTkkc1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiPG5vbmU+IgorI34gbXNnc3RyICI8ZWkgbWl0w6TDpG4+IgorCisjfiBtc2dpZCAiZ2V0dGltZW9mZGF5IGZhaWxlZCIKKyN+IG1zZ3N0ciAiZ2V0dGltZW9mZGF5IGVww6Rvbm5pc3R1aSIKKworI34gbXNnaWQgInN5c2luZm8gZmFpbGVkIgorI34gbXNnc3RyICJzeXNpbmZvIGVww6Rvbm5pc3R1aSIKKworI34gbXNnaWQgInVzYWdlOiBsYXN0IFstI10gWy1mIGZpbGVdIFstdCB0dHldIFstaCBob3N0bmFtZV0gW3VzZXIgLi4uXVxuIgorI34gbXNnc3RyICJrw6R5dHTDtjogbGFzdCBbLSNdIFstZiB0aWVkb3N0b10gWy10IHR0eV0gWy1oIGtvbmVuaW1pXSBba8OkeXR0w6Rqw6QgLi4uXVxuIgorCisjfiBtc2dpZCAiJXM6IG1tYXAgZmFpbGVkIgorI34gbXNnc3RyICIlczogbW1hcCBlcMOkb25uaXN0dWkiCisKKyN+IG1zZ2lkICIgIHN0aWxsIGxvZ2dlZCBpbiIKKyN+IG1zZ3N0ciAiICBlZGVsbGVlbiBraXJqYXV0dW5lZW5hIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gInd0bXAgYmVnaW5zICVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAid3RtcCBhbGthYSAlcyIKKworI34gbXNnaWQgImdldGhvc3RuYW1lIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZ2V0aG9zdG5hbWUgZXDDpG9ubmlzdHVpIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImludGVycnVwdGVkICUxMC4xMHMgJTUuNXMgXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJrZXNrZXl0ZXR0eSAlMTAuMTBzICU1LjVzIFxuIgorCisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gY2hhbmdlIHRoZSBTeXN0ZW0gQ2xvY2suIgorI34gbXNnc3RyICJWYWxpdGV0dGF2YXN0aSB2YWluIHDDpMOka8OkeXR0w6Rqw6Qgdm9pIHPDpMOkdMOkw6QgasOkcmplc3RlbG3DpGtlbGxvYS4iCisKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiBjaGFuZ2UgdGhlIEhhcmR3YXJlIENsb2NrIGVwb2NoIGluIHRoZSBrZXJuZWwuIgorI34gbXNnc3RyICJWYWxpdGV0dGF2YXN0aSB2YWluIHDDpMOka8OkeXR0w6Rqw6Qgdm9pIHPDpMOkdMOkw6QgbGFpdHRlaXN0b2tlbGxvbiBlcG9jaC1hcnZvYSB5dGltZXNzw6QuIgorCisjfiBtc2dpZCAicmVhZCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgZmFpbGVkIgorI34gbXNnc3RyICJrZWxsb24gdGlraXR5c3TDpCBvZG90dGF2YSByZWFkKCkta3V0c3UgbGFpdHRlZWxsZSAlcyBlcMOkb25uaXN0dWkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2V0IHJ0YyBhbGFybSBmYWlsZWQiCisjfiBtc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9TRVQpIGxhaXR0ZWVsbGUgJXMgZXDDpG9ubmlzdHVpIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVuYWJsZSBydGMgYWxhcm0gZmFpbGVkIgorI34gbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfUkVBRCkgbGFpdHRlZWxsZSAlcyBlcMOkb25uaXN0dWkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3VzcGVuZCB0byBcIiVzXCIgdW5hdmFpbGFibGUiCisjfiBtc2dzdHIgIk5JUystcGFsdmVsdSBlaSBvbGUga8OkeXRldHTDpHZpc3PDpCB0YWkgYXNlbm5ldHR1IgorCisjfiBtc2dpZCAiYmFkIHZhbHVlIgorI34gbXNnc3RyICJ2aXJoZWVsbGluZW4gYXJ2byIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW0sIC0tbW91bnQgICAgICAgICAgICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFTDpG3DpCBwaWVuaSBrw6R5dHTDtm9wYXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXUsIC0tdXRzICAgICAgICAgICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1pLCAtLWlwYyAgICAgICAgICAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbiwgLS1uZXQgICAgICAgICAgICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBFaSBub3JtYWFsaWEgdHVsb3N0ZXR0YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtVSwgLS11c2VyICAgICAgICAgICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVtIgorI34gbXNnc3RyICJsYWl0ZXR0YSAlcyBlaSB2b2kgYXZhdGEiCisKKyN+IG1zZ2lkICJmcmVhZCBmYWlsZWQiCisjfiBtc2dzdHIgImZyZWFkIGVww6Rvbm5pc3R1aSIKKworI34gbXNnaWQgIk1pbmltYWwgc2l6ZSBpcyAlanUiCisjfiBtc2dzdHIgIlbDpGhpbW3DpGlza29rbyBvbiAlanUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGxlYXNlLCBzZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBkaXNrIGxhYmVsLiIKKyN+IG1zZ3N0ciAiTHVvZGFhbmtvIEJTRC1sZXZ5bmltacO2PyIKKworI34gbXNnaWQgIkhlbHAgU2NyZWVuIGZvciBjZmRpc2siCisjfiBtc2dzdHIgIkNmZGlza2luIG9oamVydXV0dSIKKworI34gbXNnaWQgImRpc2sgZHJpdmUuIgorI34gbXNnc3RyICJvbGV2aWEgb3Npb2l0YS4iCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMTQgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+ICIKKyN+IG1zZ3N0ciAiQ29weXJpZ2h0IMKpIDIwMTQgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+ICIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBgbm8nIgorI34gbXNnc3RyICIgICAgICAgICAgICAg4oCdZWnigJ0iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gbXNnc3RyICJLw6R5dHTDtjogJXMgW3ZhbGl0c2ltZXRdIGxhaXRlXG4iCisKKyN+IG1zZ2lkICJzdGF0IGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAic3RhdCBlcMOkb25uaXN0dWk6ICVzIgorCisjfiBtc2dpZCAiVXNhZ2U6XG4iCisjfiBtc2dzdHIgIkvDpHl0dMO2OlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbWtmcyg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkxpc8OkdGlldG9qYSBtYW51YWFsaXNpdnVsbGEgd2lwZWZzKDgpLlxuIgorCisjfiBtc2dpZCAiJXMgKCVzKVxuIgorI34gbXNnc3RyICIlcyAoJXMpXG4iCisKKyN+IG1zZ2lkICJCYWQgc3dhcCBoZWFkZXIgc2l6ZSwgbm8gbGFiZWwgd3JpdHRlbi4iCisjfiBtc2dzdHIgIlZpcmhlZWxsaW5lbiBzaXZ1dHVzb3RzYWtrZWVuIGtva28sIG5pbWnDtnTDpCBlaSBraXJqb2l0ZXR0dS4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyAtIGNhbm5vdCBzZWVrIHRvICVsdSIKKyN+IG1zZ3N0ciAiJXM6IHNpaXJ0eW1pbmVuIGtvaHRhYW4gJXMgZWkgb25uaXN0dSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGVycm9yOiB3YW50ZWQgMHglMDh4JTA4eCwgZ290IDB4JTA4eCUwOHgiCisjfiBtc2dzdHIgInNpaXJ0eW1pc3ZpcmhlOiBoYWx1dHRpaW4gMHglMDh4JTA4eCwgc2FhdGlpbiAweCUwOHglMDh4XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVhZCBlcnJvciBvbiAlcyAtIGNhbm5vdCByZWFkIHNlY3RvciAlbGx1IgorI34gbXNnc3RyICJ2aXJoZSBsdWV0dGFlc3NhIGxhaXRldHRhICVzIOKAkyBzZWt0b3JpYSAlbHUgZWkgdm9pIGx1a2VhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZXJyb3Igb24gJXMgLSBjYW5ub3Qgd3JpdGUgc2VjdG9yICVsbHUiCisjfiBtc2dzdHIgInZpcmhlIGtpcmpvaXRldHRhZXNzYSBsYWl0dGVlbGxlICVzIOKAkyBzZWt0b3JpYSAlbHUgZWkgdm9pIGtpcmpvaXR0YWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBwYXJ0aXRpb24gc2VjdG9yIHNhdmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJvc2lvbiBzZWt0b3JlaWRlbiB0YWxsZW5udXN0aWVkb3N0b2EgKCVzKSBlaSB2b2kgYXZhdGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyIKKyN+IG1zZ3N0ciAidmlyaGUga2lyam9pdGV0dGFlc3NhIHRpZWRvc3RvYSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcykiCisjfiBtc2dzdHIgInRpZWRvc3RvbiDigJ0lc+KAnSB0aWxhYSBlaSB2b2kgbHVrZWE6ICVzIgorCisjfiBtc2dpZCAicGFydGl0aW9uIHJlc3RvcmUgZmlsZSBoYXMgd3Jvbmcgc2l6ZSAtIG5vdCByZXN0b3JpbmciCisjfiBtc2dzdHIgIm9zaW9uIHBhbGF1dHVzdGllZG9zdG9uIGtva28gb24gdsOkw6Ryw6Qg4oCTIGVpIHBhbGF1dGV0YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcykiCisjfiBtc2dzdHIgInN5w7Z0ZXRpZWRvc3RvYSDigJ0lc+KAnSBlaSB2b2kgYXZhdGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgcmVhZGluZyAlcyIKKyN+IG1zZ3N0ciAidmlyaGUgbHVldHRhZXNzYSB0aWVkb3N0b2EgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gZGV2aWNlICVzIGZvciB3cml0aW5nIgorI34gbXNnc3RyICJ0aWVkb3N0b2EgJXMgZWkgdm9pIGF2YXRhIGtpcmpvaXR1c3RhIHZhcnRlbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciB3cml0aW5nIHNlY3RvciAlbHUgb24gJXMiCisjfiBtc2dzdHIgInZpcmhlIGtpcmpvaXRldHRhZXNzYSAlczogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiTGV2eW4ga29rb2EgZWkgdm9pIGhha2VhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkRpc2sgJXM6IGNhbm5vdCBnZXQgc2l6ZSIKKyN+IG1zZ3N0ciAiTGV2eW4ga29rb2EgZWkgdm9pIGhha2VhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzdGFydD0lbHUgLSB0aGlzIGxvb2tzIGxpa2UgYSBwYXJ0aXRpb24gcmF0aGVyIHRoYW5cbiIKKyN+ICJ0aGUgZW50aXJlIGRpc2suIFVzaW5nIGZkaXNrIG9uIGl0IGlzIHByb2JhYmx5IG1lYW5pbmdsZXNzLlxuIgorI34gIltVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIGlmIHlvdSByZWFsbHkgd2FudCB0aGlzXSIKKyN+IG1zZ3N0ciAiIgorI34gIlZhcm9pdHVzOiBhbGt1PSVsdSDigJMgdMOkbcOkIG7DpHl0dMOkw6QgZW5lbW3DpG4gb3Npb2x0YSBrdWluIGtva29uYWlzZWx0YVxuIgorI34gImxldnlsdMOkLiBTZW4gbXVva2thYW1pbmVuIGZkaXNraWxsw6Qgb24gdG9kZW5uw6Rrw7Zpc2VzdGkgdHVyaGFhLlxuIgorI34gIltLw6R5dMOkIC0tZm9yY2UgLXZhbGl0c2ludGEgam9zIHRvZGVsbGEgaGFsdWF0IHRlaGTDpCBuaWluXVxuIgorCisjfiBtc2dpZCAiV2FybmluZzogSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgaGVhZHMiCisjfiBtc2dzdHIgIlZhcm9pdHVzOiBIRElPX0dFVEdFTyBrZXJ0b28sIGV0dMOkIHDDpGl0w6Qgb24gJWx1IgorCisjfiBtc2dpZCAiV2FybmluZzogSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiVmFyb2l0dXM6IEhESU9fR0VUR0VPIGtlcnRvbywgZXR0w6Qgc2VrdG9yZWl0YSBvbiAlbHUiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBCTEtHRVRTSVpFL0hESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGN5bGluZGVycyIKKyN+IG1zZ3N0ciAiVmFyb2l0dXM6IEJMS0dFVFNJWkUvSERJT19HRVRHRU8ga2VydG9vLCBldHTDpCBzeWxpbnRlcmVpdMOkIG9uICVsdSIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiB1bmxpa2VseSBudW1iZXIgb2Ygc2VjdG9ycyAoJWx1KSAtIHVzdWFsbHkgYXQgbW9zdCA2M1xuIgorI34gIlRoaXMgd2lsbCBnaXZlIHByb2JsZW1zIHdpdGggYWxsIHNvZnR3YXJlIHRoYXQgdXNlcyBDL0gvUyBhZGRyZXNzaW5nLiIKKyN+IG1zZ3N0ciAiIgorI34gIlZhcm9pdHVzOiBlcMOkdG9kZW5uw6Rrw7ZpbmVuIHNla3Rvcmltw6TDpHLDpCAoJWx1KSDigJMgeWxlZW5zw6Qga29ya2VpbnRhYW4gNjNcbiIKKyN+ICJUw6RzdMOkIGFpaGV1dHV1IG9uZ2VsbWlhIGthaWtraWVuIEMvSC9TLW9zb2l0dXN0YSBrw6R5dHTDpHZpZW4gb2hqZWxtaWVuIGthbnNzYS4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWx1IGN5bGluZGVycywgJWx1IGhlYWRzLCAlbHUgc2VjdG9ycy90cmFja1xuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGV2eSAlczogJWx1IHN5bGludGVyacOkLCAlbHUgcMOkw6R0w6QsICVsdSBzZWt0b3JpYS91cmFcbiIKKworI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3IgaGVhZDogJWx1IChzaG91bGQgYmUgaW4gMC0lbHUpIgorI34gbXNnc3RyICJvc2lvbiAlMiRzICUxJHMgcMOkw6RhcnZvIG9uIG1haGRvdG9uOiAlMyRsdSAodHVsZWUgb2xsYSAwLSU0JGx1KSIKKworI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3Igc2VjdG9yOiAlbHUgKHNob3VsZCBiZSBpbiAxLSVsdSkiCisjfiBtc2dzdHIgIm9zaW9uICUyJHMgJTEkcyBzZWt0b3JpYXJ2byBvbiBtYWhkb3RvbjogJTMkbHUgKHR1bGVlIG9sbGEgMS0lNCRsdSkiCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIGN5bGluZGVyczogJWx1IChzaG91bGQgYmUgaW4gMC0lbHUpIgorI34gbXNnc3RyICJvc2lvbiAlMiRzICUxJHMgc3lsaW50ZXJpYXJ2byBvbiBtYWhkb3RvbjogJTMkbHUgKHR1bGVlIG9sbGEgMC0lNCRsdSkiCisKKyN+IG1zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgLi4uXG4iCisjfiBtc2dzdHIgIkx1ZXRhYW4gb3Npb3RhdWx1IHV1ZGVsbGVlbi4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJUaGUgY29tbWFuZCB0byByZS1yZWFkIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLlxuIgorI34gIlJ1biBwYXJ0cHJvYmUoOCksIGtwYXJ0eCg4KSBvciByZWJvb3QgeW91ciBzeXN0ZW0gbm93LFxuIgorI34gImJlZm9yZSB1c2luZyBta2ZzIgorI34gbXNnc3RyICIiCisjfiAiT3Npb3RhdWx1biB1dWRlbGxlZW5sdWt1a29tZW50byBlcMOkb25uaXN0dWlcbiIKKyN+ICJBamEgcGFydHByb2JlKDgpLCBrcGFydHgoOCkgdGFpIGvDpHlubmlzdMOkIGrDpHJqZXN0ZWxtw6RcbiIKKyN+ICJ1dWRlbGxlZW4gbnl0LCBlbm5lbiBta2ZzOm4ga8OkeXR0w7bDpFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkVycm9yIGNsb3NpbmcgJXMiCisjfiBtc2dzdHIgInZpcmhlIHN1bGpldHRhZXNzYSBsYWl0ZXR0YSAlcyIKKworI34gbXNnaWQgIiVzOiBubyBzdWNoIHBhcnRpdGlvblxuIgorI34gbXNnc3RyICIlczogb3Npb3RhIGVpIG9sZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVucmVjb2duaXplZCBmb3JtYXQgLSB1c2luZyBzZWN0b3JzIgorI34gbXNnc3RyICJ0dW5uaXN0YW1hdG9uIG11b3RvbcOkw6RyaXRlIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuaW1wbGVtZW50ZWQgZm9ybWF0IC0gdXNpbmcgJXMiCisjfiBtc2dzdHIgIk7DpHl0w6QgdGF1bHUgcmFhJ2Fzc2EgZGF0YW11b2Rvc3NhIgorCisjfiBtc2dpZCAic2VjdG9ycyIKKyN+IG1zZ3N0ciAic2VrdG9yaXQiCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IGN5bGluZGVycyBvZiAlbHUgYnl0ZXMsIGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJZa3Npa8O2dDogc3lsaW50ZXJpdCAlbHUtdGF2dWlzaWEsIGxvaGtvdCAxMDI0LXRhdnVpc2lhLCBhbGthZW4ga29oZGFzdGEgJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290IFN0YXJ0ICAgICBFbmQgICAjY3lscyAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBMYWl0ZSBLw6R5bm4gQWxrdSAgICAgIExvcHB1ICNzeWwgICAgICNsb2hrb3QgICBJZCAgSsOkcmplc3RlbG3DpFxuIgorCisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiBzZWN0b3JzIG9mIDUxMiBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiWWtzaWvDtnQ6IDUxMi10YXZ1aXNldCBzZWt0b3JpdCwgYWxrYWVuIGtvaGRhc3RhICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgICBTdGFydCAgICAgICBFbmQgICAjc2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBMYWl0ZSAgS8OkeW5uICAgQWxrdSAgICAgICAgTG9wcHUgI3Nla3Rvcml0IElkICBKw6RyamVzdGVsbcOkXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJZa3Npa8O2dDogMTAyNC10YXZ1aXNldCBsb2hrb3QsIGFsa2FlbiBrb2hkYXN0YSAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgICBTdGFydCAgICAgICBFbmQgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAgTGFpdGUgIEvDpHlubiAgQWxrdSAgICAgICAgTG9wcHUgICNsb2hrb3QgICBJZCAgSsOkcmplc3RlbG3DpFxuIgorCisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiAxTWlCID0gMTAyNCoxMDI0IGJ5dGVzLCBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiWWtzaWvDtnQ6IDEgTWlCID0gMTAyNCoxMDI0IHRhdnVhLCAxMDI0LXRhdnVpc2V0IGxvaGtvdCwgYWxrYWVuIGtvaGRhc3RhICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCBTdGFydCAgIEVuZCAgICBNaUIgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAgTGFpdGUgS8OkeW5uIEFsa3UgICAgTG9wcHUgIE1pQiAgICAjbG9oa290ICAgSWQgIErDpHJqZXN0ZWxtw6RcbiIKKworI34gbXNnaWQgIlx0XHRzdGFydDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiXHRcdGFsa3U6IChjLGgscykgb2RvdGV0dGlpbiAoJWxkLCVsZCwlbGQpIGzDtnl0eWkgKCVsZCwlbGQsJWxkKVxuIgorCisjfiBtc2dpZCAiXHRcdGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiXHRcdGxvcHB1OiAoYyxoLHMpIG9kb3RldHRpaW4gKCVsZCwlbGQsJWxkKSBsw7Z5dHlpICglbGQsJWxkLCVsZClcbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiBlbmRzIG9uIGN5bGluZGVyICVsZCwgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGRpc2tcbiIKKyN+IG1zZ3N0ciAib3NpbyBsb3BwdXUgc3lsaW50ZXJpbGzDpCAlbGQsIGpva2Egb24gbGV2eW4gbG9wdW4gasOkbGtlZW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogVGhlIHBhcnRpdGlvbiB0YWJsZSBsb29rcyBsaWtlIGl0IHdhcyBtYWRlXG4iCisjfiAiICBmb3IgQy9IL1M9Ki8lbGQvJWxkIChpbnN0ZWFkIG9mICVsZC8lbGQvJWxkKS5cbiIKKyN+ICJGb3IgdGhpcyBsaXN0aW5nIEknbGwgYXNzdW1lIHRoYXQgZ2VvbWV0cnkuIgorI34gbXNnc3RyICIiCisjfiAiVmFyb2l0dXM6IE9zaW90YXVsdSBuw6R5dHTDpMOkIHNpbHTDpCwgZXR0w6Qgc2Ugb24gdGVodHlcbiIKKyN+ICIgIGFydm9pbGxlIEMvSC9TPSovJWxkLyVsZCAoZWlrw6QgJWxkLyVsZC8lbGQpLlxuIgorI34gIlTDpHNzw6QgbGlzdGF1a3Nlc3NhIGvDpHl0ZXTDpMOkbiB0dW90YSBnZW9tZXRyaWFhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5vIHBhcnRpdGlvbiB0YWJsZSBwcmVzZW50IgorI34gbXNnc3RyICJvc2lvdGF1bHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3RyYW5nZSwgb25seSAlZCBwYXJ0aXRpb24gZGVmaW5lZCIKKyN+IG1zZ2lkX3BsdXJhbCAic3RyYW5nZSwgb25seSAlZCBwYXJ0aXRpb25zIGRlZmluZWQiCisjfiBtc2dzdHJbMF0gIm91dG9hLCB2YWluICVkIG9zaW90YSBtw6TDpHJpdGVsdHkuIgorI34gbXNnc3RyWzFdICJvdXRvYSwgdmFpbiAlZCBvc2lvdGEgbcOkw6RyaXRlbHR5LiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBidXQgaXMgbm90IG1hcmtlZCBFbXB0eSIKKyN+IG1zZ3N0ciAiVmFyb2l0dXM6IG9zaW9uICVzIGtva28gb24gMCBqYSBzZSBvbiBtZXJraXR0eSBrw6R5bm5pc3RldHTDpHbDpGtzaSIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGFuZCBpcyBib290YWJsZSIKKyN+IG1zZ3N0ciAiVmFyb2l0dXM6IG9zaW9uICVzIGtva28gb24gMCBqYSBzZSBvbiBtZXJraXR0eSBrw6R5bm5pc3RldHTDpHbDpGtzaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBhbmQgbm9uemVybyBzdGFydCIKKyN+IG1zZ3N0ciAiVmFyb2l0dXM6IG9zaW9uICVzIGtva28gb24gMCBqYSBzZSBvbiBtZXJraXR0eSBrw6R5bm5pc3RldHTDpHbDpGtzaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb25zICVzIGFuZCAlcyBvdmVybGFwIgorI34gbXNnc3RyICIgIHMgICAgICAgICAgS29yamFhIG9zaW9pZGVuIGrDpHJqZXN0eXMgIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgY29udGFpbnMgcGFydCBvZiB0aGUgcGFydGl0aW9uIHRhYmxlIChzZWN0b3IgJWxsdSksXG4iCisjfiAiYW5kIHdpbGwgZGVzdHJveSBpdCB3aGVuIGZpbGxlZCIKKyN+IG1zZ3N0ciAiIgorI34gIlZhcm9pdHVzOiBvc2lvICVzIHNpc8OkbHTDpMOkIG9zYW4gb3Npb3RhdWx1c3RhIChzZWt0b3JpICVsdSksIGphIHNlIHR1bGVlXG4iCisjfiAidHVob3V0dW1hYW4ga3VuIG9zaW90YSBrw6R5dGV0w6TDpG5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgc3RhcnRzIGF0IHNlY3RvciAwIgorI34gbXNnc3RyICJWYXJvaXR1czogb3Npb24gJXMga29rbyBvbiAwIGphIHNlIG9uIG1lcmtpdHR5IGvDpHlubmlzdGV0dMOkdsOka3NpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBleHRlbmRzIHBhc3QgZW5kIG9mIGRpc2siCisjfiBtc2dzdHIgIlZhcm9pdHVzOiBvc2lvICVzIGphdGt1dSBsZXZ5biBsb3B1biB5bGlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiQW1vbmcgdGhlIHByaW1hcnkgcGFydGl0aW9ucywgYXQgbW9zdCBvbmUgY2FuIGJlIGV4dGVuZGVkXG4iCisjfiAiIChhbHRob3VnaCB0aGlzIGlzIG5vdCBhIHByb2JsZW0gdW5kZXIgTGludXgpIgorI34gbXNnc3RyICIiCisjfiAiVmFpbiB5a3NpIGVuc2nDtm9zaW8gdm9pIG9sbGEgbGFhamVubmV0dHVcbiIKKyN+ICIgKHTDpG3DpCBlaSB0b3NpbiBvbGUgb25nZWxtYSBMaW51eGlzc2EpXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZG9lcyBub3Qgc3RhcnQgYXQgYSBjeWxpbmRlciBib3VuZGFyeSIKKyN+IG1zZ3N0ciAiVmFyb2l0dXM6IG9zaW8gJXMgZWkgYWxhIHN5bGludGVyaW4gcmFqYWx0YSIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBlbmQgYXQgYSBjeWxpbmRlciBib3VuZGFyeSIKKyN+IG1zZ3N0ciAiVmFyb2l0dXM6IG9zaW8gJXMgZWkgcMOkw6R0eSBzeWxpbnRlcmluIHJhamFsbGUiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogbW9yZSB0aGFuIG9uZSBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLiIKKyN+IG1zZ3N0ciAiIgorI34gIlZhcm9pdHVzOiB1c2VhbXBpIGt1aW4geWtzaSBlbnNpw7Zvc2lvIG9uIG1lcmtpdHR5IGvDpHlubmlzdGV0dMOkdsOka3NpIChha3RpaXZpc2Vrc2kpXG4iCisjfiAiU2UgZWkgaGFpdHRhYSBMSUxPYSwgbXV0dGEgRE9TIE1CUiBlaSBrw6R5bm5pc3TDpCB0w6RsdMOkIGxldnlsdMOkLiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiB1c3VhbGx5IG9uZSBjYW4gYm9vdCBmcm9tIHByaW1hcnkgcGFydGl0aW9ucyBvbmx5XG4iCisjfiAiTElMTyBkaXNyZWdhcmRzIHRoZSBgYm9vdGFibGUnIGZsYWcuIgorI34gbXNnc3RyICIiCisjfiAiVmFyb2l0dXM6IHlsZWVuc8OkIHZhaW4gZW5zacO2b3Npb2x0YSB2b2kga8OkeW5uaXN0w6TDpFxuIgorI34gIkxJTE8gZWkgdsOkbGl0w6Qg4oCda8OkeW5uaXN0ZXR0w6R2w6TigJ0tbGlwdXN0YS4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogbm8gcHJpbWFyeSBwYXJ0aXRpb24gaXMgbWFya2VkIGJvb3RhYmxlIChhY3RpdmUpXG4iCisjfiAiVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sIGJ1dCB0aGUgRE9TIE1CUiB3aWxsIG5vdCBib290IHRoaXMgZGlzay4iCisjfiBtc2dzdHIgIiIKKyN+ICJWYXJvaXR1czogeWh0w6TDpG4gZW5zacO2b3Npb3RhIGVpIG9sZSBtZXJraXR0eSBrw6R5bm5pc3RldHTDpHbDpGtzaVxuIgorI34gIihha3RpaXZpc2Vrc2kpLiBTZSBlaSBoYWl0dGFhIExJTE9hLCBtdXR0YSBET1MgTUJSIGVpIGvDpHlubmlzdMOkIHTDpGx0w6QgbGV2eWx0w6QuIgorCisjfiBtc2dpZCAic3RhcnQiCisjfiBtc2dzdHIgImFsdW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uICVzOiBzdGFydDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgIlx0XHRhbGt1OiAoYyxoLHMpIG9kb3RldHRpaW4gKCVsZCwlbGQsJWxkKSBsw7Z5dHlpICglbGQsJWxkLCVsZClcbiIKKworI34gbXNnaWQgImVuZCIKKyN+IG1zZ3N0ciAibG9wdW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uICVzOiBlbmQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpIgorI34gbXNnc3RyICJcdFx0YWxrdTogKGMsaCxzKSBvZG90ZXR0aWluICglbGQsJWxkLCVsZCkgbMO2eXR5aSAoJWxkLCVsZCwlbGQpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uICVzIGVuZHMgb24gY3lsaW5kZXIgJWxkLCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZGlzayIKKyN+IG1zZ3N0ciAib3NpbyBsb3BwdXUgc3lsaW50ZXJpbGzDpCAlbGQsIGpva2Egb24gbGV2eW4gbG9wdW4gasOkbGtlZW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogc2hpZnRlZCBzdGFydCBvZiB0aGUgZXh0ZCBwYXJ0aXRpb24gZnJvbSAlbGxkIHRvICVsbGRcbiIKKyN+ICIoRm9yIGxpc3RpbmcgcHVycG9zZXMgb25seS4gRG8gbm90IGNoYW5nZSBpdHMgY29udGVudHMuKSIKKyN+IG1zZ3N0ciAiIgorI34gIlZhcm9pdHVzOiBsYWFqZW5uZXR1biBvc2lvbiBhbGt1YSBzaWlycmV0dHkga29oZGFzdGEgJWxkIGtvaHRhYW4gJWxkXG4iCisjfiAiKFZhaW4gbGlzdGF1c3RhcmtvaXR1a3NpaW4uIMOEbMOkIG11dXRhIHNlbiBzaXPDpGx0w7bDpC4pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IGV4dGVuZGVkIHBhcnRpdGlvbiBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gIkRPUyBhbmQgTGludXggd2lsbCBpbnRlcnByZXQgdGhlIGNvbnRlbnRzIGRpZmZlcmVudGx5LiIKKyN+IG1zZ3N0ciAiIgorI34gIlZhcm9pdHVzOiBsYWFqZW5uZXR1biBvc2lvbiBhbGt1IGVpIG9sZSBzeWxpbnRlcmluIHJhamFsbGEuXG4iCisjfiAiRE9TIGphIExpbnV4IHR1bGtpdHNldmF0IHNpc8OkbGzDtm4gZXJpIHRhdm9pbi5cbiIKKworI34gbXNnaWQgIkVSUk9SOiBzZWN0b3IgJWxsdSBkb2VzIG5vdCBoYXZlIGFuIG1zZG9zIHNpZ25hdHVyZSIKKyN+IG1zZ3N0ciAiVklSSEU6IHNla3RvcmlsbGEgJWxsdSBlaSBvbGUgbXNkb3MtYWxsZWtpcmpvaXR1c3RhIgorCisjfiBtc2dpZCAidG9vIG1hbnkgcGFydGl0aW9ucyAtIGlnbm9yaW5nIHRob3NlIHBhc3QgbnIgKCV6dSkiCisjfiBtc2dzdHIgImxpaWFuIG1vbnRhIG9zaW90YSDigJMgZWkgaHVvbWlvaWRhIG51bWVyb24gKCV6dSkgasOkbGtlaXNpw6QiCisKKyN+IG1zZ2lkICJ0cmVlIG9mIHBhcnRpdGlvbnM/IgorI34gbXNnc3RyICJvc2lvcHV1PyIKKworI34gbXNnaWQgImRldGVjdGVkIERpc2sgTWFuYWdlciAtIHVuYWJsZSB0byBoYW5kbGUgdGhhdCIKKyN+IG1zZ3N0ciAiaGF2YWl0dGlpbiBsZXZ5bWFuYWdlcmkg4oCTIHRpbGFudGVlc3RhIGVpIHNlbHZpdMOkIgorCisjfiBtc2dpZCAiRE02IHNpZ25hdHVyZSBmb3VuZCAtIGdpdmluZyB1cCIKKyN+IG1zZ3N0ciAiRE02LWFsbGVraXJqb2l0dXMgbMO2eXR5aSDigJMgbHVvdnV0ZXRhYW4iCisKKyN+IG1zZ2lkICJzdHJhbmdlLi4uLCBhbiBleHRlbmRlZCBwYXJ0aXRpb24gb2Ygc2l6ZSAwPyIKKyN+IG1zZ3N0ciAib3V0b2EuLi4sIGxhYWplbm5ldHR1IG9zaW8sIGpvbmthIGtva28gb24gMD8iCisKKyN+IG1zZ2lkICJzdHJhbmdlLi4uLCBhIEJTRCBwYXJ0aXRpb24gb2Ygc2l6ZSAwPyIKKyN+IG1zZ3N0ciAib3V0b2EuLi4sIEJTRC1vc2lvLCBqb25rYSBrb2tvIG9uIDA/IgorCisjfiBtc2dpZCAiLW4gZmxhZyB3YXMgZ2l2ZW46IE5vdGhpbmcgY2hhbmdlZCIKKyN+IG1zZ3N0ciAidmFsaXRzaW4gLW4gb2xpIGFubmV0dHU6IE1pdMOkw6RuIGVpIG11dXRldHR1IgorCisjfiBtc2dpZCAiRmFpbGVkIHNhdmluZyB0aGUgb2xkIHNlY3RvcnMgLSBhYm9ydGluZ1xuIgorI34gbXNnc3RyICJWYW5ob2plbiBzZWt0b3JlaWRlbiB0YWxsZW5udXMgZXDDpG9ubmlzdHVpIOKAkyBrZXNrZXl0ZXTDpMOkblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB3cml0aW5nIHRoZSBwYXJ0aXRpb24gb24gJXMiCisjfiBtc2dzdHIgIiVzOiBhdmFhbWluZW4ga2lyam9pdHVzdGlsYXNzYSBlcMOkb25uaXN0dWkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9uZyBvciBpbmNvbXBsZXRlIGlucHV0IGxpbmUgLSBxdWl0dGluZyIKKyN+IG1zZ3N0ciAic3nDtnRlcml2aSBvbiBsaWlhbiBwaXRrw6QiCisKKyN+IG1zZ2lkICJpbnB1dCBlcnJvcjogYD0nIGV4cGVjdGVkIGFmdGVyICVzIGZpZWxkIgorI34gbXNnc3RyICJzecO2dGV2aXJoZToga2VudMOkbiAlcyBqw6Rsa2VlbiBvZG90ZXRhYW4gbMO2eXR5dsOkbiDigJ094oCdIgorCisjfiBtc2dpZCAiaW5wdXQgZXJyb3I6IHVuZXhwZWN0ZWQgY2hhcmFjdGVyICVjIGFmdGVyICVzIGZpZWxkIgorI34gbXNnc3RyICJzecO2dGV2aXJoZTogb2RvdHRhbWF0b24gbWVya2tpICVjIGtlbnTDpG4gJXMgasOkbGtlZW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGlucHV0OiAlcyIKKyN+IG1zZ3N0ciAidHVubmlzdGFtYXRvbiBvcGVyYW5kaSAlcyIKKworI34gbXNnaWQgIm51bWJlciB0b28gYmlnIgorI34gbXNnc3RyICJsaWlhbiBzdXVyaSBsdWt1IgorCisjfiBtc2dpZCAidHJhaWxpbmcganVuayBhZnRlciBudW1iZXIiCisjfiBtc2dzdHIgInJvc2thYSBudW1lcm9uIHBlcsOkc3PDpCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJubyByb29tIGZvciBwYXJ0aXRpb24gZGVzY3JpcHRvciIKKyN+IG1zZ3N0ciAiTGFhamVubmV0dW4gb3Npb24gbHVvbWlzZWVuIGVpIG9sZSB0aWxhYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgYnVpbGQgc3Vycm91bmRpbmcgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICJ5bXDDpHLDtml2w6TDpCBsYWFqZW5uZXR0dWEgb3Npb3RhIGVpIHZvaSByYWtlbnRhYVxuIgorCisjfiBtc2dpZCAidG9vIG1hbnkgaW5wdXQgZmllbGRzIgorI34gbXNnc3RyICJsaWlhbiBtb250YSBzecO2dGVrZW50dMOkw6QiCisKKyN+IG1zZ2lkICJObyByb29tIGZvciBtb3JlIgorI34gbXNnc3RyICJFaSBlbmVtcMOkw6QgdGlsYWEiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIHR5cGUiCisjfiBtc2dzdHIgIlZpcmhlZWxsaW5lbiB0eXlwcGkiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBnaXZlbiBzaXplICglbGx1KSBleGNlZWRzIG1heCBhbGxvd2FibGUgc2l6ZSAoJWxsdSkiCisjfiBtc2dzdHIgIlZhcm9pdHVzOiBhbm5ldHR1IGtva28gKCVsbHUpIHlsaXR0w6TDpCBzdXVyaW1tYW4gc2FsbGl0dW4ga29vbiAoJWxsdSkiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlZhcm9pdHVzOiB0eWhqw6Qgb3NpbyIKKworI34gbXNnaWQgIldhcm5pbmc6IGJhZCBwYXJ0aXRpb24gc3RhcnQgKGVhcmxpZXN0ICVsbHUpIgorI34gbXNnc3RyICJWYXJvaXR1czogdmlyaGVlbGxpbmVuIG9zaW9uIGFsa3UgKGFpa2Fpc2luICVsbHUpIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVucmVjb2duaXplZCBib290YWJsZSBmbGFnIC0gY2hvb3NlIC0gb3IgKiIKKyN+IG1zZ3N0ciAiQXNldGEgbnlreWlzZW4gb3Npb24ga8OkeW5uaXN0ZXR0w6R2eXlzbGlwcHUgcMOkw6RsbGUvcG9pcyIKKworI34gbXNnaWQgInBhcnRpYWwgYyxoLHMgc3BlY2lmaWNhdGlvbj8iCisjfiBtc2dzdHIgIm9zaXR0YWluZW4gYyxoLHMtbcOkw6RyaXR5cz8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIG5vdCB3aGVyZSBleHBlY3RlZCIKKyN+IG1zZ3N0ciAiTGFhamVubmV0dW4gb3Npb24gbHVvbWlzZWVuIGVpIG9sZSB0aWxhYSIKKworI34gbXNnaWQgImJhZCBpbnB1dCIKKyN+IG1zZ3N0ciAidmlyaGVlbGxpbmVuIHN5w7Z0ZSIKKworI34gbXNnaWQgInRvbyBtYW55IHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgImxpaWFuIG1vbnRhIG9zaW90YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiSW5wdXQgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ7IGFic2VudCBmaWVsZHMgZ2V0IGEgZGVmYXVsdCB2YWx1ZS5cbiIKKyN+ICI8c3RhcnQ+IDxzaXplPiA8dHlwZSBbRSxTLEwsWCxoZXhdPiA8Ym9vdGFibGUgWy0sKl0+IDxjLGgscz4gPGMsaCxzPlxuIgorI34gIlVzdWFsbHkgeW91IG9ubHkgbmVlZCB0byBzcGVjaWZ5IDxzdGFydD4gYW5kIDxzaXplPiAoYW5kIHBlcmhhcHMgPHR5cGU+KS4iCisjfiBtc2dzdHIgIiIKKyN+ICJTecO2dGUgc2V1cmFhdmFzc2EgbXVvZG9zc2E6IHB1dXR0dXZhdCBrZW50w6R0IHNhYXZhdCBvbGV0dXNhcnZvbi5cbiIKKyN+ICI8YWxrdT4gPGtva28+IDx0eXlwcGkgW0UsUyxMLFgsaGV4XT4gPGvDpHlubmlzdGV0dMOkdsOkIFstLCpdPiA8YyxoLHM+IDxjLGgscz5cbiIKKyN+ICJZbGVlbnPDpCByaWl0dMOkw6QgPGFsa3U+IGphIDxrb2tvPiAoamEgZWhrw6QgPHR5eXBwaT4pLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT4uLi5cbiIKKyN+IG1zZ3N0ciAiJXMgW3ZhbGl0c2ltZXRdIFs8bGFpdGU+IC4uLl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEYW5nZXJvdXMgb3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlZhYXJhbGxpc2V0IHZhbGl0c2ltZXQ6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtZywgLS1zaG93LWdlb21ldHJ5ICAgICAgIHByaW50IHRoZSBrZXJuZWwncyBpZGVhIG9mIHRoZSBnZW9tZXRyeVxuIgorI34gIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIHByaW50IGdlb21ldHJ5IGd1ZXNzZWQgZnJvbSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCisjfiBtc2dzdHIgIiAgICAtRyBbdGFpIC0tc2hvdy1wdC1nZW9tZXRyeV06IG7DpHl0w6Qgb3Npb3RhdXN0YSBww6TDpHRlbHR5IGdlb21ldHJpYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1BLCAtLWFjdGl2YXRlWz08ZGV2aWNlPl0gYWN0aXZhdGUgdGhlIGJvb3RhYmxlIGZsYWdcbiIKKyN+ICIgLVUsIC0tdW5oaWRlWz08ZGV2aWNlPl0gICBzZXQgcGFydGl0aW9uIGFzIHVuaGlkZGVuXG4iCisjfiAiIC14LCAtLXNob3ctZXh0ZW5kZWQgICAgICAgYWxzbyBsaXN0IGV4dGVuZGVkIHBhcnRpdGlvbnMgaW4gdGhlIG91dHB1dCxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIGV4cGVjdCBkZXNjcmlwdG9ycyBmb3IgdGhlbSBpbiB0aGUgaW5wdXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAteCBbdGFpIC0tc2hvdy1leHRlbmRlZF06IGxpc3RhYSBtecO2cyBsYWFqZW5uZXR1dCBvc2lvdCB0dWxvc3RlZXNzYVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFpIG9kb3RhIHN5w7Z0dGVlc3TDpCBuaWlkZW4ga2Fodm9qYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMlc2RldmljZSAgICAgICAgICAgIGxpc3QgYWN0aXZlIHBhcnRpdGlvbnMgb24gZGV2aWNlXG4iCisjfiBtc2dzdHIgIiVzIGxhaXRlXHRcdCBsaXN0YWEgbGFpdHRlZWxsYSBvbGV2YXQgYWt0aWl2aXNldCBvc2lvdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyVzZGV2aWNlIG4xIG4yIC4uLiAgYWN0aXZhdGUgcGFydGl0aW9ucyBuMSAuLi4sIGluYWN0aXZhdGUgdGhlIHJlc3RcbiIKKyN+IG1zZ3N0ciAiJXMgbGFpdGUgbjEgbjIgLi4uIGFrdGl2b2kgb3Npb3QgbjEgLi4uLCBpbmFrdGl2b2kgbG9wdXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiBwYXJ0aXRpb25zIGFyZ3VtZW50IgorI34gbXNnc3RyICJ2aXJoZWVsbGluZW4gcml2aWVuIG3DpMOkcsOkIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAibGFpdGV0dGEgJXMgZWkgdm9pIGF2YXRhXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0tcHJpbnQtaWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIiCisjfiBtc2dzdHIgImvDpHl0dMO2OiBzZmRpc2sgLS1wcmludC1pZCBsYWl0ZSBvc2lvbnVtZXJvIgorCisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLWNoYW5nZS1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciBJZCIKKyN+IG1zZ3N0ciAia8OkeXR0w7Y6IHNmZGlzayAtLWNoYW5nZS1pZCBsYWl0ZSBvc2lvbnVtZXJvIElkIgorCisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyIFtJZF0iCisjfiBtc2dzdHIgImvDpHl0dMO2OiBzZmRpc2sgLS1pZCBsYWl0ZSBvc2lvbnVtZXJvIFtJZF0iCisKKyN+IG1zZ2lkICJjYW4gc3BlY2lmeSBvbmx5IG9uZSBkZXZpY2UgKGV4Y2VwdCB3aXRoIC1sIG9yIC1zKSIKKyN+IG1zZ3N0ciAidmFpbiB5aGRlbiBsYWl0dGVlbiB2b2kgYW50YWEgKHBhaXRzaSB2YWxpdHNpbWVsbGEgLWwgdGFpIC1zKSIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzIHJlYWQtd3JpdGUiCisjfiBtc2dzdHIgImVpIHZvaSBhdmF0YSBsYWl0ZXR0YSAlcyBsdWt1LSBqYSBraXJqb2l0dXN0aWxhYW4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyBmb3IgcmVhZGluZyIKKyN+IG1zZ3N0ciAiZWkgdm9pIGF2YXRhIGxhaXRldHRhICVzIGx1a3V0aWxhYW4iCisKKyN+IG1zZ2lkICIlczogT0siCisjfiBtc2dzdHIgIiVzOiBPSyIKKworI34gbXNnaWQgIiVzOiAlbGQgY3lsaW5kZXJzLCAlbGQgaGVhZHMsICVsZCBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIiVzOiAlbGQgc3lsaW50ZXJpw6QsICVsZCBww6TDpHTDpCwgJWxkIHNla3RvcmlhL3VyYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImJhZCBhY3RpdmUgYnl0ZTogMHgleCBpbnN0ZWFkIG9mIDB4ODAiCisjfiBtc2dzdHIgInZpcmhlZWxsaW5lbiBha3RpaXZpbmVuIHRhdnU6IDB4ODA6biBhc2VtZXN0YSAweCV4XG4iCisKKyN+IG1zZ2lkICJEb25lIgorI34gbXNnc3RyICJWYWxtaXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIllvdSBoYXZlICVkIGFjdGl2ZSBwcmltYXJ5IHBhcnRpdGlvbnMuIFRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLFxuIgorI34gImJ1dCB0aGUgRE9TIE1CUiB3aWxsIG9ubHkgYm9vdCBhIGRpc2sgd2l0aCAxIGFjdGl2ZSBwYXJ0aXRpb24uIgorI34gbXNnc3RyICIiCisjfiAiQWt0aWl2aXNpYSBlbnNpw7Zvc2lvaXRhIG9uICVkIGthcHBhbGV0dGEuIFTDpG3DpCBlaSBoYWl0dGFhIExJTE9hLCBtdXR0YVxuIgorI34gIkRPUyBNQlIga8OkeW5uaXN0w6TDpCB2YWluIGxldnlsdMOkLCBqb2xsYSBvbiB0YXNhbiB5a3NpIGFrdGlpdmluZW4gb3Npby5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgaGFzIGlkICV4IGFuZCBpcyBub3QgaGlkZGVuIgorI34gbXNnc3RyICJvc2lvbGxhICVzIGlkIG9uICV4IGVpa8OkIG9zaW90YSBvbGUga8OkdGtldHR5XG4iCisKKyN+IG1zZ2lkICJCYWQgSWQgJWx4IgorI34gbXNnc3RyICJWaXJoZWVsbGluZW4gSWQgJWx4IgorCisjfiBtc2dpZCAiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UuIgorI34gbXNnc3RyICJMZXZ5IG9uIHTDpGxsw6QgaGV0a2VsbMOkIGvDpHl0w7Zzc8OkLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYXRhbCBlcnJvcjogY2Fubm90IGZpbmQgJXMiCisjfiBtc2dzdHIgIkMtZXNpa8Okw6RudMOkasOkw6QgZWkgbMO2eWR5OiAlc1xuIgorCisjfiBtc2dpZCAiV2FybmluZzogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJWYXJvaXR1czogJXMgZWkgb2xlIGxvaGtvbGFpdGUiCisKKyN+IG1zZ2lkICJPSyIKKyN+IG1zZ3N0ciAiT0siCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3QgZXhpc3QsIGNhbm5vdCBjaGFuZ2UgaXQiCisjfiBtc2dzdHIgIk9zaW90YSAlZCBlaSBvbGUgb2xlbWFzc2EsIHNpdMOkIGVpIHZvaSBtdXV0dGFhIgorCisjfiBtc2dpZCAiIgorI34gIkkgZG9uJ3QgbGlrZSB0aGVzZSBwYXJ0aXRpb25zIC0gbm90aGluZyBjaGFuZ2VkLlxuIgorI34gIihJZiB5b3UgcmVhbGx5IHdhbnQgdGhpcywgdXNlIHRoZSAtLWZvcmNlIG9wdGlvbi4pIgorI34gbXNnc3RyICIiCisjfiAiRW4gcGlkw6QgbsOkaXN0w6Qgb3Npb2lzdGEg4oCTIG1pdMOkw6RuIGVpIG11dXRldHR1LlxuIgorI34gIihKb3MgdG9kZWxsYSBoYWx1YXQgdMOkdMOkLCBrw6R5dMOkIHZhbGl0c2ludGEgLS1mb3JjZS4pIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkkgZG9uJ3QgbGlrZSB0aGlzIC0gcHJvYmFibHkgeW91IHNob3VsZCBhbnN3ZXIgTm8iCisjfiBtc2dzdHIgIkVuIHBpZMOkIHTDpHN0w6Qg4oCTIGthbm5hdHRhYSB0b2Rlbm7DpGvDtmlzZXN0aSB2YXN0YXRhIOKAnU5v4oCdXG4iCisKKyN+IG1zZ2lkICJBcmUgeW91IHNhdGlzZmllZCB3aXRoIHRoaXM/IFt5bnFdICIKKyN+IG1zZ3N0ciAiT2xldGtvIHR5eXR5dsOkaW5lbiB0w6Row6RuPyBbeW5xXSAiCisKKyN+IG1zZ2lkICJRdWl0dGluZyAtIG5vdGhpbmcgY2hhbmdlZCIKKyN+IG1zZ3N0ciAiTG9wZXRldGFhbiDigJMgbWlrw6TDpG4gZWkgbXV1dHR1bnV0IgorCisjfiBtc2dpZCAiUGxlYXNlIGFuc3dlciBvbmUgb2YgeSxuLHFcbiIKKyN+IG1zZ3N0ciAiVmFzdGFhIGpva28geSwgbiB0YWkgcVxuIgorCisjfiBtc2dpZCAiIgorI34gIlN1Y2Nlc3NmdWxseSB3cm90ZSB0aGUgbmV3IHBhcnRpdGlvbiB0YWJsZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiVXVzaSBvc2lvdGF1bHUga2lyam9pdGV0dGlpbiBvbm5pc3R1bmVlc3RpXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIklmIHlvdSBjcmVhdGVkIG9yIGNoYW5nZWQgYSBET1MgcGFydGl0aW9uLCAvZGV2L2ZvbzcsIHNheSwgdGhlbiB1c2UgZGQoMSlcbiIKKyN+ICJ0byB6ZXJvIHRoZSBmaXJzdCA1MTIgYnl0ZXM6ICBkZCBpZj0vZGV2L3plcm8gb2Y9L2Rldi9mb283IGJzPTUxMiBjb3VudD0xXG4iCisjfiAiKFNlZSBmZGlzayg4KS4pIgorI34gbXNnc3RyICIiCisjfiAiSm9zIERPUy1vc2lvLCBlc2ltLiAvZGV2L2ZvbzcsIGx1b3RpaW4gdGFpIHNpdMOkIG11dXRldHRpaW4sIGvDpHl0w6QgZGQoMSk6dMOkXG4iCisjfiAibm9sbGF0YWtzZXNpIGVuc2ltbcOkaXNldCA1MTIgdGF2dWE6XG4iCisjfiAiZGQgaWY9L2Rldi96ZXJvIG9mPS9kZXYvZm9vNyBicz01MTIgY291bnQ9MVxuIgorI34gIihLYXRzbyBmZGlzayg4KS4pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnkgRE9TIDYueCBwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBmZGlzayBkb2N1bWVudGF0aW9uIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlZBUk9JVFVTOiBKb3MgRE9TIDYueCAtb3Npb2l0YSBsdW90aWluIHRhaSBtdXV0ZXR0aWluLFxuIgorI34gImthdHNvIGxpc8OkdGlldG9qYSBjZmRpc2tpbiBtYW51YWFsaXNpdnVsdGEuXG4iCisKKyN+IG1zZ2lkICJmaWVsZCBpcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAia2VudHTDpCBvbiBsaWlhbiBwaXRrw6QiCisKKyN+IG1zZ2lkICIlczogJyVjJyBpcyBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJXM6IG1lcmtraSDigJ0lY+KAnSBlaSBvbGUgc2FsbGl0dHUiCisKKyN+IG1zZ2lkICInJWMnIGlzIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICJtZXJra2kg4oCdJWPigJ0gZWkgb2xlIHNhbGxpdHR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICIlczogbWVya2tpIOKAnSVj4oCdIGVpIG9sZSBzYWxsaXR0dS4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY29udHJvbCBjaGFyYWN0ZXJzIGFyZSBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiVHVsb3N0ZWVuIGhhbGxpbnRhOiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgZGV0YWlscyBzZWUgbHNsb2dpbnMoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJMaXPDpHRpZXRvamEgbWFudWFhbGlzaXZ1bGxhIG5hbWVpKDEpLlxuIgorCisjfiBtc2dpZCAiY3J5cHQoKSBmYWlsZWQiCisjfiBtc2dzdHIgImNyeXB0KCkgZXDDpG9ubmlzdHVpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAidGllZG9zdG9uIOKAnSVz4oCdIHRpbGFuIGx1a2VtaW5lbiBlcMOkb25uaXN0dWk6ICVzOiBlaSBodW9taW9pZGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgVGhpcyBzbWFsbCB1c2FnZSBndWlkZVxuIgorI34gbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgVMOkbcOkIHBpZW5pIGvDpHl0dMO2b3Bhc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisjfiBtc2dzdHIgIiAgICAgIC0tdmVyc2lvbiAgdHVsb3N0YSB2ZXJzaW90aWVkb3QgamEgcG9pc3R1XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG5hbWVpKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGlzw6R0aWV0b2phIG1hbnVhYWxpc2l2dWxsYSBuYW1laSgxKS5cbiIKKworI34gbXNnaWQgIiVzOiBsc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiBsc3RhdCBlcMOkb25uaXN0dWkiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHdpcGVmcyg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkxpc8OkdGlldG9qYSBtYW51YWFsaXNpdnVsbGEgd2lwZWZzKDgpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgdGFza3NldCgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkxpc8OkdGlldG9qYSBtYW51YWFsaXNpdnVsbGEgbmFtZWkoMSkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGlzIHJlbW92YWJsZSBkZXZpY2UiCisjfiBtc2dzdHIgIiBzaWlycmV0dMOkdsOkIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRpbWVvdXQgY2Fubm90IGJlIHplcm8iCisjfiBtc2dzdHIgIm5vbGxhdMOkeXR0w7ZsYWl0ZXR0YSBlaSB2b2kgYXZhdGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTmVlZCB0byBpbnNlcnQgJWQgc2Vjb25kIGFuZCByZWZlciB0aW1lIGJhY2sgJS42ZiBzZWNvbmRzIGFnb1xuIgorI34gbXNnaWRfcGx1cmFsICJOZWVkIHRvIGluc2VydCAlZCBzZWNvbmRzIGFuZCByZWZlciB0aW1lIGJhY2sgJS42ZiBzZWNvbmRzIGFnb1xuIgorI34gbXNnc3RyWzBdICJPbiBsaXPDpHR0w6R2w6QgJWQgc2VrdW50aWEgamEgdmlpdGF0dGF2YSBhaWthYW4gJS42ZiBzZWt1bnRpYSBzaXR0ZW5cbiIKKyN+IG1zZ3N0clsxXSAiT24gbGlzw6R0dMOkdsOkICVkIHNla3VudGlhIGphIHZpaXRhdHRhdmEgYWlrYWFuICUuNmYgc2VrdW50aWEgc2l0dGVuXG4iCisKKyN+IG1zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSBLREdIV0NMSyB0byBjaGFuZ2VcbiIKKyN+IG1zZ3N0ciAiT2RvdGV0YWFuIHNpbG11a2Fzc2EgS0RHSFdDTEstYWphbiBtdXV0dHVtaXN0YVxuIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgdG8gcmVhZCB0aW1lIGZhaWxlZCIKKyN+IG1zZ3N0ciAiYWphbiBsdWtldmEgS0RHSFdDTEstaW9jdGwgZXDDpG9ubmlzdHVpIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgdG8gcmVhZCB0aW1lIGZhaWxlZCBpbiBsb29wIgorI34gbXNnc3RyICJhamFuIGx1a2V2YSBLREdIV0NMSy1pb2N0bCBlcMOkb25uaXN0dWkgc2lsbXVrYXNzYSIKKworI34gbXNnaWQgImlvY3RsKCkgZmFpbGVkIHRvIHJlYWQgdGltZSBmcm9tICVzIgorI34gbXNnc3RyICJpb2N0bCgpIGVpIG9ubmlzdHVudXQgbHVrZW1hYW4gYWlrYWEga29odGVlc3RhICVzIgorCisjfiBtc2dpZCAiaW9jdGwgS0RTSFdDTEsgZmFpbGVkIgorI34gbXNnc3RyICJpb2N0bCBLRFNIV0NMSyBlcMOkb25uaXN0dWkiCisKKyN+IG1zZ2lkICJDYW4ndCBvcGVuIC9kZXYvdHR5MSBvciAvZGV2L3ZjLzEiCisjfiBtc2dzdHIgIkxhaXRldHRhIC9kZXYvdHR5MSB0YWkgL2Rldi92Yy8xIGVpIHZvaSBhdmF0YSIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAiS0RHSFdDTEstaW9jdGwgZXDDpG9ubmlzdHVpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBkZXRhaWxzIHNlZSBsc2NwdSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkxpc8OkdGlldG9qYSBtYW51YWFsaXNpdnVsbGEgbmFtZWkoMSkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3MuLi5dXG4iCisjfiBtc2dzdHIgIiVzIFt2YWxpdHNpbWV0XSBbPHRpZWRvc3RvPiAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSByZW5pY2UoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJMaXPDpHRpZXRvamEgbWFudWFhbGlzaXZ1bGxhIG5hbWVpKDEpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyVzIFtvcHRpb25zXSBbcHJvZ3JhbSBbcHJvZ3JhbSBhcmd1bWVudHNdXVxuIgorI34gbXNnc3RyICIiCisjfiAiS8OkeXR0w7Y6ICVzJXMgW3ZhbGl0c2ltZXRdIFtvaGplbG1hIFtvaGplbG1hbiBhcmd1bWVudGl0XV1cbiIKKyN+ICJcbiIKKyN+ICJWYWxpdHNpbWV0OlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiS8OkeXR0w7Y6XG4iCisjfiAiICVzIFt2YWxpdHNpbWV0XSBbdGllZG9zdG8gLi4uXVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSByZXYoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJMaXPDpHRpZXRvamEgbWFudWFhbGlzaXZ1bGxhIHJldigxKS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbl0gZmlsZVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiS8OkeXR0w7Y6XG4iCisjfiAiICVzIFt2YWxpdHNpbl0gdGllZG9zdG9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGZpbGVcbiIKKyN+IG1zZ3N0ciAiJXMgW3ZhbGl0c2ltZXRdIFs8dGllZG9zdG8+IC4uLl1cbiIKKworI34gbXNnaWQgImFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgorI34gbXNnc3RyICJvdmF0IHRvaXNlbnNhIHBvaXNzdWxrZXZpYS4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMuIgorI34gbXNnc3RyICJWYWxpdGV0dGF2YXN0aSB2YWluIHDDpMOka8OkeXR0w6Rqw6Qgdm9pIHPDpMOkdMOkw6QgbGFpdHRlaXN0b2tlbGxvYS4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub3RpbWV8c2hvcnR8ZnVsbHxpc29dXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgIEFsa3UtICAgICAgTG9wcHUtXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ09NTUFORCBub3Qgc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAiVmFsaXRzaW50YSAtLWRhdGUgZWkgb2xlIGFubmV0dHUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBwYXRobmFtZSBbcGF0aG5hbWUgLi4uXVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiS8OkeXR0w7Y6ICVzIFt2YWxpdHNpbWV0XSBwb2xrdSBbcG9sa3UgLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgInR1bG9zdGllZG9zdG8gYW5uZXR0dSBrYWhkZXN0aSIKKworI34gbXNnaWQgIi4uLmJhY2sgMSBwYWdlIgorI34gbXNnc3RyICIuLi4xIHNpdnUgdGFha3NlcMOkaW4iCisKKyN+IG1zZ2lkICIuLi5za2lwcGluZyBvbmUgbGluZSIKKyN+IG1zZ3N0ciAiLi4ub2hpdGV0YWFuIHlrc2kgcml2aSIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gbXNnc3RyICIgJXMgW3ZhbGl0c2ltZXRdIHRpZWRvc3RvLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1uLCAtLW5vLWFyZ3VtZW50ICAgICAgIG9wdGlvbiBkb2VzIG5vdCB1c2UgYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAiJXM6IHZhbGl0c2luIOKAnS0tJXPigJ0gZWkgc2FsbGkgYXJndW1lbnR0aWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXIsIC0tcmVxdWlyZWQgPGFyZz4gICAgb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIiVzOiB2YWxpdHNpbiB2YWF0aWkgYXJndW1lbnRpbiAtLSDigJ0lY+KAnVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgLS14eXp6eSAgICAgICAgICAgICBhIGxvbmcgb3B0aW9uIG9ubHlcbiIKKyN+IG1zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIMOkbMOkIGtpcmpvaXRhIGxldnlsbGUgb2lrZWFzdGkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc2VjdXRpdmUgbGluZXMgYXJlIGludGVuZGVkIGJ5IHR3byBzcGFjZXNcbiIKKyN+IG1zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1mLCAtLWZvb2JhciAgICAgICAgICAgIG5leHQgb3B0aW9uIGRlc2NyaXB0aW9uIHJlc2V0cyBpbmRlbnRcbiIKKyN+IG1zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2FpZHBpZCBmYWlsZWQiCisjfiBtc2dzdHIgIkVJIFTDhFNNw4TDhCIKKworI34gbXNnaWQgImNvbXBpbGVkIHdpdGhvdXQgLXggc3VwcG9ydCIKKyN+IG1zZ3N0ciAia8Okw6RubmV0dHkgaWxtYW4gLXgtdHVrZWEiCisKKyN+IG1zZ2lkICIlczogT3V0IG9mIG1lbW9yeSFcbiIKKyN+IG1zZ3N0ciAiJXM6IE11aXN0aSBsb3B1c3NhIVxuIgorCisjfiBtc2dpZCAiVW51c2FibGUiCisjfiBtc2dzdHIgIkVpIGvDpHl0ZXR0w6R2aXNzw6QiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZmFpbGVkXG4iCisjfiBtc2dzdHIgImtpcmpvaXR1cyBlcMOkb25uaXN0dWkiCisKKyN+IG1zZ2lkICJEaXNrIGhhcyBiZWVuIGNoYW5nZWQuXG4iCisjfiBtc2dzdHIgIkxldnkgb24gdmFpaGRldHR1LlxuIgorCisjfiBtc2dpZCAiUmVib290IHRoZSBzeXN0ZW0gdG8gZW5zdXJlIHRoZSBwYXJ0aXRpb24gdGFibGUgaXMgY29ycmVjdGx5IHVwZGF0ZWQuXG4iCisjfiBtc2dzdHIgIkrDpHJqZXN0ZWxtw6Qgb24gc3l5dMOkIGvDpHlubmlzdMOkw6QgdXVkZWxsZWVuIG9zaW90YXVsdW4gcMOkaXZpdHR5bWlzZW4gdmFybWlzdGFtaXNla3NpLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IElmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55XG4iCisjfiAiRE9TIDYueCBwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBjZmRpc2sgbWFudWFsXG4iCisjfiAicGFnZSBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlZBUk9JVFVTOiBKb3MgRE9TIDYueCAtb3Npb2l0YSBsdW90aWluIHRhaSBtdXV0ZXR0aWluLFxuIgorI34gImthdHNvIGxpc8OkdGlldG9qYSBjZmRpc2tpbiBtYW51YWFsaXNpdnVsdGEuXG4iCisKKyN+IG1zZ2lkICJGQVRBTCBFUlJPUiIKKyN+IG1zZ3N0ciAiVkFLQVZBIFZJUkhFIgorCisjfiBtc2dpZCAiUHJlc3MgYW55IGtleSB0byBleGl0IGNmZGlzayIKKyN+IG1zZ3N0ciAiUGFpbmEgbWl0w6QgdGFoYW5zYSBuw6RwcMOkaW50w6QgcG9pc3R1YWtzZXNpIGNmZGlza2lzdMOkIgorCisjfiBtc2dpZCAiQ2Fubm90IHNlZWsgb24gZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiTGV2eWFzZW1hbGxhIGVpIHZvaSBzaWlydHnDpCIKKworI34gbXNnaWQgIkNhbm5vdCByZWFkIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIkxldnlhc2VtYWEgZWkgdm9pIGx1a2VhIgorCisjfiBtc2dpZCAiQ2Fubm90IHdyaXRlIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIkxldnlhc2VtYWxsZSBlaSB2b2kga2lyam9pdHRhYSIKKworI34gbXNnaWQgIlRvbyBtYW55IHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIkxpaWFuIG1vbnRhIG9zaW90YSIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBiZWdpbnMgYmVmb3JlIHNlY3RvciAwIgorI34gbXNnc3RyICJPc2lvbiBhbGt1IG9uIGVubmVuIHNla3RvcmlhIDAiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIk9zaW9uIGxvcHB1IG9uIGVubmVuIHNla3RvcmlhIDAiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gYmVnaW5zIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICJPc2lvbiBhbGt1IG9uIGxldnluIGxvcHVuIGrDpGxrZWVuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGVuZHMgYWZ0ZXIgZW5kLW9mLWRpc2siCisjfiBtc2dzdHIgIk9zaW9uIGxvcHB1IG9uIGxldnluIGxvcHVuIGrDpGxrZWVuIgorCisjfiBtc2dpZCAibG9naWNhbCBwYXJ0aXRpb25zIG5vdCBpbiBkaXNrIG9yZGVyIgorI34gbXNnc3RyICJsb29naXNldCBvc2lvdCBlaXbDpHQgb2xlIGxldnlqw6RyamVzdHlrc2Vzc8OkIgorCisjfiBtc2dpZCAibG9naWNhbCBwYXJ0aXRpb25zIG92ZXJsYXAiCisjfiBtc2dzdHIgImxvb2dpc2V0IG9zaW90IG92YXQgcMOkw6RsbGVra8OkaXNldCIKKworI34gbXNnaWQgImVubGFyZ2VkIGxvZ2ljYWwgcGFydGl0aW9ucyBvdmVybGFwIgorI34gbXNnc3RyICJzdXVyZW5uZXR1dCBsb29naXNldCBvc2lvdCBvdmF0IHDDpMOkbGxla2vDpGlzZXQiCisKKyN+IG1zZ2lkICIhISEhIEludGVybmFsIGVycm9yIGNyZWF0aW5nIGxvZ2ljYWwgZHJpdmUgd2l0aCBubyBleHRlbmRlZCBwYXJ0aXRpb24gISEhISIKKyN+IG1zZ3N0ciAiISEhISBTaXPDpGluZW4gdmlyaGUgbHVvdGFlc3NhIGxvb2dpc3RhIGFzZW1hYSBpbG1hbiBsYWFqZW5uZXR0dWEgb3Npb3RhICEhISEiCisKKyN+IG1zZ2lkICJDYW5ub3QgY3JlYXRlIGxvZ2ljYWwgZHJpdmUgaGVyZSAtLSB3b3VsZCBjcmVhdGUgdHdvIGV4dGVuZGVkIHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIlTDpGjDpG4gZWkgdm9pIGx1b2RhIGxvb2dpc3RhIGFzZW1hYSDigJMgbHVvdGFpc2lpbiBrYWtzaSBsYWFqZW5uZXR0dWEgb3Npb3RhIgorCisjfiBtc2dpZCAiTWVudSBpdGVtIHRvbyBsb25nLiBNZW51IG1heSBsb29rIG9kZC4iCisjfiBtc2dzdHIgIkxpaWFuIHBpdGvDpCB2YWxpa29uIGtvaHRhLiBWYWxpa2tvIHZvaSBuw6R5dHTDpMOkIG91ZG9sdGEuIgorCisjfiBtc2dpZCAiSWxsZWdhbCBrZXkiCisjfiBtc2dzdHIgIlbDpMOkcsOkIG7DpHBww6RpbiIKKworI34gbXNnaWQgIkNyZWF0ZSBhIG5ldyBwcmltYXJ5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiTHVvIHV1c2kgZW5zacO2b3NpbyIKKworI34gbXNnaWQgIkNyZWF0ZSBhIG5ldyBsb2dpY2FsIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiTHVvIHV1c2kgbG9vZ2luZW4gb3NpbyIKKworI34gbXNnaWQgIkNhbmNlbCIKKyN+IG1zZ3N0ciAiUGVydXV0YSIKKworI34gbXNnaWQgIkRvbid0IGNyZWF0ZSBhIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiw4Rsw6QgbHVvIG9zaW90YSIKKworI34gbXNnaWQgIiEhISBJbnRlcm5hbCBlcnJvciAhISEiCisjfiBtc2dzdHIgIiEhISBTaXPDpGluZW4gdmlyaGUgISEhIgorCisjfiBtc2dpZCAiU2l6ZSAoaW4gTUIpOiAiCisjfiBtc2dzdHIgIktva28gKE10KTogIgorCisjfiBtc2dpZCAiQmVnaW5uaW5nIgorI34gbXNnc3RyICJBbGt1IgorCisjfiBtc2dpZCAiQWRkIHBhcnRpdGlvbiBhdCBiZWdpbm5pbmcgb2YgZnJlZSBzcGFjZSIKKyN+IG1zZ3N0ciAiTGlzw6TDpCBvc2lvIHR5aGrDpG4gdGlsYW4gYWxrdXVuIgorCisjfiBtc2dpZCAiQWRkIHBhcnRpdGlvbiBhdCBlbmQgb2YgZnJlZSBzcGFjZSIKKyN+IG1zZ3N0ciAiTGlzw6TDpCBvc2lvIHR5aGrDpG4gdGlsYW4gbG9wcHV1biIKKworI34gbXNnaWQgIk5vIHJvb20gdG8gY3JlYXRlIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIkxhYWplbm5ldHVuIG9zaW9uIGx1b21pc2VlbiBlaSBvbGUgdGlsYWEiCisKKyN+IG1zZ2lkICJObyBwYXJ0aXRpb24gdGFibGUuIFN0YXJ0aW5nIHdpdGggemVybyB0YWJsZS4iCisjfiBtc2dzdHIgIkVpIG9zaW90YXVsdWEuIEFsb2l0ZXRhYW4gdHloasOkbGzDpCB0YXVsdWxsYS4iCisKKyN+IG1zZ2lkICJCYWQgc2lnbmF0dXJlIG9uIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiT3Npb3RhdWx1biBhbGxla2lyam9pdHVzIG9uIHZpcmhlZWxsaW5lbiIKKworI34gbXNnaWQgIlVua25vd24gcGFydGl0aW9uIHRhYmxlIHR5cGUiCisjfiBtc2dzdHIgIlR1bnRlbWF0b24gb3Npb3RhdWx1biB0eXlwcGkiCisKKyN+IG1zZ2lkICJEbyB5b3Ugd2lzaCB0byBzdGFydCB3aXRoIGEgemVybyB0YWJsZSBbeS9OXSA/IgorI34gbXNnc3RyICJIYWx1YXRrbyBhbG9pdHRhYSB0eWhqw6RsbMOkIG9zaW90YXVsdWxsYSBbeS9OXT8iCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJMZXZ5YXNlbWFhIGVpIHZvaSBhdmF0YSIKKworI34gbXNnaWQgIk9wZW5lZCBkaXNrIHJlYWQtb25seSAtIHlvdSBoYXZlIG5vIHBlcm1pc3Npb24gdG8gd3JpdGUiCisjfiBtc2dzdHIgIkxldnkgYXZhdHRpaW4gdmFpbiBsdWt1IC10aWxhc3NhIOKAkyBzaW51bGxhIGVpIG9sZSBraXJqb2l0dXNvaWtldXR0YSIKKworI34gbXNnaWQgIkNhbm5vdCBnZXQgZGlzayBzaXplIgorI34gbXNnc3RyICJMZXZ5biBrb2tvYSBlaSB2b2kgaGFrZWEiCisKKyN+IG1zZ2lkICJCYWQgcHJpbWFyeSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlZpYWxsaW5lbiBlbnNpw7Zvc2lvIgorCisjfiBtc2dpZCAiV2FybmluZyEhICBUaGlzIG1heSBkZXN0cm95IGRhdGEgb24geW91ciBkaXNrISIKKyN+IG1zZ3N0ciAiVmFyb2l0dXMhISBUw6Rtw6Qgdm9pIHR1aG90YSBkYXRhYSBsZXZ5bHTDpCEiCisKKyN+IG1zZ2lkICJQbGVhc2UgZW50ZXIgYHllcycgb3IgYG5vJyIKKyN+IG1zZ3N0ciAiS2lyam9pdGEg4oCdamFh4oCdIHRhaSDigJ1laeKAnSIKKworI34gbXNnaWQgIldyaXRpbmcgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2suLi4iCisjfiBtc2dzdHIgIktpcmpvaXRldGFhbiBvc2lvdGF1bHVhIGxldnlsbGUuLi4iCisKKyN+IG1zZ2lkICJXcm90ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayIKKyN+IG1zZ3N0ciAiT3Npb3RhdWx1IGtpcmpvaXRldHRpaW4gbGV2eWxsZSIKKworI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSwgYnV0IHJlLXJlYWQgdGFibGUgZmFpbGVkLiAgUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB0byB1cGRhdGUgdGFibGUuIgorI34gbXNnc3RyICJPc2lvdGF1bHUga2lyam9pdGV0dGlpbiwgbXV0dGEgdXVkZWxsZWVubHVrdSBlcMOkb25uaXN0dWkuIEFqYSBwYXJ0cHJvYmUoOCksIGtwYXJ0eCg4KSB0YWkga8OkeW5uaXN0w6QgdGlldG9rb25lIHV1ZGVsbGVlbiwgam90dGEgdGF1bHUgcMOkaXZpdHR5eS4iCisKKyN+IG1zZ2lkICJObyBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIG1hcmtlZCBib290YWJsZS4gRE9TIE1CUiBjYW5ub3QgYm9vdCB0aGlzLiIKKyN+IG1zZ3N0ciAiWWh0w6TDpG4gZW5zacO2b3Npb3RhIGVpIG9sZSBtZXJraXR0eSBrw6R5bm5pc3RldHTDpHbDpGtzaS4gRE9TIE1CUiBlaSBrw6R5bm5pc3TDpCB0w6R0w6QuIgorCisjfiBtc2dpZCAiTW9yZSB0aGFuIG9uZSBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUuIERPUyBNQlIgY2Fubm90IGJvb3QgdGhpcy4iCisjfiBtc2dzdHIgIlVzZWFtcGkga3VpbiB5a3NpIGVuc2nDtm9zaW8gb24gbWVya2l0dHkga8OkeW5uaXN0ZXR0w6R2w6Rrc2kuIERPUyBNQlIgZWkga8OkeW5uaXN0w6QgdMOkdMOkLiIKKworI34gbXNnaWQgIkVudGVyIGZpbGVuYW1lIG9yIHByZXNzIFJFVFVSTiB0byBkaXNwbGF5IG9uIHNjcmVlbjogIgorI34gbXNnc3RyICJTecO2dMOkIHRpZWRvc3RvbmltaSB0YWkgcGFpbmEgUkVUVVJOIHNhYWRha3Nlc2kgbsOkeXTDtmxsZTogIgorCisjfiBtc2dpZCAiRGlzayBEcml2ZTogJXNcbiIKKyN+IG1zZ3N0ciAiTGV2eWFzZW1hOiAlc1xuIgorCisjfiBtc2dpZCAiU2VjdG9yIDA6XG4iCisjfiBtc2dzdHIgIlNla3RvcmkgMDpcbiIKKworI34gbXNnaWQgIlNlY3RvciAlZDpcbiIKKyN+IG1zZ3N0ciAiU2VrdG9yaSAlZDpcbiIKKworI34gbXNnaWQgIiAgIE5vbmUgICAiCisjfiBtc2dzdHIgIiAgIEVpIG1pdMOkw6RuIgorCisjfiBtc2dpZCAiICAgUHJpL0xvZyIKKyN+IG1zZ3N0ciAiICAgRW5zL0xvb2ciCisKKyN+IG1zZ2lkICIgICBQcmltYXJ5IgorI34gbXNnc3RyICIgICBFbnNpw7YiCisKKyN+IG1zZ2lkICIgICBMb2dpY2FsIgorI34gbXNnc3RyICIgICBMb29naW5lbiIKKworI34gbXNnaWQgIiglMDJYKSIKKyN+IG1zZ3N0ciAiKCUwMlgpIgorCisjfiBtc2dpZCAiTm9uZSIKKyN+IG1zZ3N0ciAiRWkgbWl0w6TDpG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gVGFibGUgZm9yICVzXG4iCisjfiBtc2dzdHIgIkxhaXR0ZWVuICVzIG9zaW90YXVsdVxuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgRmlyc3QgICAgICAgTGFzdFxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICBBbGt1LSAgICAgIExvcHB1LVxuIgorCisjfiBtc2dpZCAiICMgVHlwZSAgICAgICBTZWN0b3IgICAgICBTZWN0b3IgICBPZmZzZXQgICAgTGVuZ3RoICAgRmlsZXN5c3RlbSBUeXBlIChJRCkgRmxhZ1xuIgorI34gbXNnc3RyICIgIyBUeXlwcGkgICAgc2VrdG9yaSAgICAgc2VrdG9yaSAgIFNpaXJ0LiAgICBQaXR1dXMgICBUaWVkLmrDpHJqLiB0eXlwcGkgKElEKSBMaXB1dFxuIgorCisjfiBtc2dpZCAiLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLVxuIgorI34gbXNnc3RyICItLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tXG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAtLS1TdGFydGluZy0tLS0gICAgICAtLS0tRW5kaW5nLS0tLS0gICAgU3RhcnQgICAgIE51bWJlciBvZlxuIgorI34gbXNnc3RyICIgICAgICAgICAgLS0tLUFsa3UtLS0tICAgICAgICAgLS0tLUxvcHB1LS0tLSAgICAgQWxrdS0gICAgIFNla3RvcmllblxuIgorCisjfiBtc2dpZCAiICMgRmxhZ3MgSGVhZCBTZWN0ICBDeWwgICBJRCAgSGVhZCBTZWN0ICBDeWwgICAgIFNlY3RvciAgICBTZWN0b3JzXG4iCisjfiBtc2dzdHIgIiAjIExpcHV0IFDDpMOkdCBTZWt0ICBTeWwgICBJRCAgUMOkw6R0IFNla3QgIFN5bCAgICAgc2VrdG9yaSAgIG3DpMOkcsOkXG4iCisKKyN+IG1zZ2lkICItLSAtLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS1cbiIKKyN+IG1zZ3N0ciAiLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLVxuIgorCisjfiBtc2dpZCAiUmF3IgorI34gbXNnc3RyICJSYWFrYSIKKworI34gbXNnaWQgIlByaW50IHRoZSB0YWJsZSB1c2luZyByYXcgZGF0YSBmb3JtYXQiCisjfiBtc2dzdHIgIk7DpHl0w6QgdGF1bHUgcmFhJ2Fzc2EgZGF0YW11b2Rvc3NhIgorCisjfiBtc2dpZCAiUHJpbnQgdGhlIHRhYmxlIG9yZGVyZWQgYnkgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiTsOkeXTDpCB0YXVsdSBqw6RyamVzdGV0dHluw6Qgc2VrdG9yZWlkZW4gbXVrYWFuIgorCisjfiBtc2dpZCAiVGFibGUiCisjfiBtc2dzdHIgIlRhdWx1IgorCisjfiBtc2dpZCAiSnVzdCBwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJOw6R5dMOkIG9zaW90YXVsdSIKKworI34gbXNnaWQgIkRvbid0IHByaW50IHRoZSB0YWJsZSIKKyN+IG1zZ3N0ciAiw4Rsw6QgbsOkeXTDpCB0YXVsdWEiCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMTk5OSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIiCisjfiBtc2dzdHIgIkNvcHlyaWdodCDCqSAxOTk0LTE5OTkgS2V2aW4gRS4gTWFydGluICYgYWViIgorCisjfiBtc2dpZCAiICBnICAgICAgICAgIENoYW5nZSBjeWxpbmRlcnMsIGhlYWRzLCBzZWN0b3JzLXBlci10cmFjayBwYXJhbWV0ZXJzIgorI34gbXNnc3RyICIgIGcgICAgICAgICAgTXV1dGEgc3lsaW50ZXJpLSwgcMOkw6QtIGphIHNla3RvcmlwYXJhbWV0cmVqYSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBXQVJOSU5HOiBUaGlzIG9wdGlvbiBzaG91bGQgb25seSBiZSB1c2VkIGJ5IHBlb3BsZSB3aG8iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBWQVJPSVRVUzogVMOkdMOkIHZhbGl0c2ludGEgdHVsZWUga8OkeXR0w6TDpCB2YWluIG5paWRlbiwiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAga25vdyB3aGF0IHRoZXkgYXJlIGRvaW5nLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIGpvdGthIHRpZXTDpHbDpHQgbWl0w6Qgb3ZhdCB0ZWtlbcOkc3PDpC4iCisKKyN+IG1zZ2lkICIgIG0gICAgICAgICAgTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgbSAgICAgICAgICBNYWtzaW1vaSBueWt5aXNlbiBvc2lvbiBsZXZ5bmvDpHl0dMO2IgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIE5vdGU6IFRoaXMgbWF5IG1ha2UgdGhlIHBhcnRpdGlvbiBpbmNvbXBhdGlibGUgd2l0aCIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIEh1b206IFTDpG3DpCBzYWF0dGFhIHRlaGTDpCBvc2lvc3RhIGVww6R5aHRlZW5zb3BpdmFuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIERPUywgT1MvMiwgLi4uIgorI34gbXNnc3RyICIgICAgICAgICAgICAgbW0uIERPU2luIGphIE9TLzI6biBrYW5zc2EuIgorCisjfiBtc2dpZCAiICBwICAgICAgICAgIFByaW50IHBhcnRpdGlvbiB0YWJsZSB0byB0aGUgc2NyZWVuIG9yIHRvIGEgZmlsZSIKKyN+IG1zZ3N0ciAiICBwICAgICAgICAgIFR1bG9zdGEgb3Npb3RhdWx1IHJ1dWR1bGxlIHRhaSB0aWVkb3N0b29uIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFRoZXJlIGFyZSBzZXZlcmFsIGRpZmZlcmVudCBmb3JtYXRzIGZvciB0aGUgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICAgICAgICAgICAgT3Npb2lsbGUgb24gdXNlaXRhIGVyaWxhaXNpYSBtdW90b2phLCIKKworI34gbXNnaWQgIiAgICAgICAgICAgICB0aGF0IHlvdSBjYW4gY2hvb3NlIGZyb206IgorI34gbXNnc3RyICIgICAgICAgICAgICAgam9pc3RhIHZvaXQgdmFsaXRhOiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICByIC0gUmF3IGRhdGEgKGV4YWN0bHkgd2hhdCB3b3VsZCBiZSB3cml0dGVuIHRvIGRpc2spIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgciDigJMgUmFha2EgZGF0YSAodGFzYW4gc2UsIG1pdMOkIGxldnlsbGUga2lyam9pdGV0dGFpc2lpbikiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgcyAtIFRhYmxlIG9yZGVyZWQgYnkgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMg4oCTIFNla3RvcmVpdHRhaW4gasOkcmplc3RldHR5IHRhdWx1IgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHQgLSBUYWJsZSBpbiByYXcgZm9ybWF0IgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgdCDigJMgVGF1bHUgcmFhJ2Fzc2EgbXVvZG9zc2EiCisKKyN+IG1zZ2lkICIgIHUgICAgICAgICAgQ2hhbmdlIHVuaXRzIG9mIHRoZSBwYXJ0aXRpb24gc2l6ZSBkaXNwbGF5IgorI34gbXNnc3RyICIgIHUgICAgICAgICAgTXV1dGEgb3Npb2tva29uw6RreW3DpG4geWtzaWvDtml0w6QiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgUm90YXRlcyB0aHJvdWdoIE1CLCBzZWN0b3JzIGFuZCBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBWYWlodGFhIG1lZ2F0YXZ1amVuLCBzZWt0b3JlaWRlbiBqYSBzeWxpbnRlcmllbiB2w6RsaWxsw6QiCisKKyN+IG1zZ2lkICJDVFJMLUwgICAgICAgUmVkcmF3cyB0aGUgc2NyZWVuIgorI34gbXNnc3RyICJDdHJsLUwgICAgICAgUGlpcnTDpMOkIHJ1dWR1biB1dWRlbGxlZW4iCisKKyN+IG1zZ2lkICIgID8gICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCisjfiBtc2dzdHIgIiAgPyAgICAgICAgICBOw6R5dMOkIHTDpG3DpCBvaGplcnV1dHUiCisKKyN+IG1zZ2lkICJDaGFuZ2UgY3lsaW5kZXIgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIk11dXRhIHN5bGludGVyaWdlb21ldHJpYWEiCisKKyN+IG1zZ2lkICJDaGFuZ2UgaGVhZCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiVmFpaGRhIHDDpMOkZ2VvbWV0cmlhYSIKKworI34gbXNnaWQgIkNoYW5nZSBzZWN0b3IgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIlZhaWhkYSBzZWt0b3JpZ2VvbWV0cmlhYSIKKworI34gbXNnaWQgIkRvbmUgd2l0aCBjaGFuZ2luZyBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiR2VvbWV0cmlhbiBtdXV0b3MgdmFsbWlzIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBjeWxpbmRlcnM6ICIKKyN+IG1zZ3N0ciAiQW5uYSBzeWxpbnRlcmllbiBtw6TDpHLDpDogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBjeWxpbmRlcnMgdmFsdWUiCisjfiBtc2dzdHIgIlZpcmhlZWxsaW5lbiBzeWxpbnRlcmlhcnZvIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBoZWFkczogIgorI34gbXNnc3RyICJBbm5hIHDDpGlkZW4gbcOkw6Ryw6Q6ICIKKworI34gbXNnaWQgIklsbGVnYWwgaGVhZHMgdmFsdWUiCisjfiBtc2dzdHIgIlZpcmhlZWxsaW5lbiBww6TDpGFydm8iCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrOiAiCisjfiBtc2dzdHIgIkFubmEgc2VrdG9yaWVuIG3DpMOkcsOkIHVyYWEga29oZGVuOiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIHNlY3RvcnMgdmFsdWUiCisjfiBtc2dzdHIgIlZpcmhlZWxsaW5lbiBzZWt0b3JpbcOkw6Ryw6QiCisKKyN+IG1zZ2lkICJFbnRlciBmaWxlc3lzdGVtIHR5cGU6ICIKKyN+IG1zZ3N0ciAiQW5uYSB0aWVkb3N0b2rDpHJqZXN0ZWxtw6RuIHR5eXBwaTogIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSBGUyBUeXBlIHRvIGVtcHR5IgorI34gbXNnc3RyICJUaWVkb3N0b2rDpHJqZXN0ZWxtw6RuIHR5eXBwacOkIGVpIHZvaSBtdXV0dGFhIHR5aGrDpGtzaSIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgRlMgVHlwZSB0byBleHRlbmRlZCIKKyN+IG1zZ3N0ciAiVGllZG9zdG9qw6RyamVzdGVsbcOkbiB0eXlwcGnDpCBlaSB2b2kgbXV1dHRhYSBsYWFqZW5uZXR1a3NpIgorCisjfiBtc2dpZCAiVW5rKCUwMlgpIgorI34gbXNnc3RyICJUdW50KCUwMlgpIgorCisjfiBtc2dpZCAiLCBOQyIKKyN+IG1zZ3N0ciAiLCBOQyIKKworI34gbXNnaWQgIk5DIgorI34gbXNnc3RyICJOQyIKKworI34gbXNnaWQgIlByaS9Mb2ciCisjfiBtc2dzdHIgIkVucy9Mb29nIgorCisjfiBtc2dpZCAiVW5rbm93biAoJTAyWCkiCisjfiBtc2dzdHIgIlR1bnRlbWF0b24gKCUwMlgpIgorCisjfiBtc2dpZCAiRGlzayBEcml2ZTogJXMiCisjfiBtc2dzdHIgIkxldnlhc2VtYTogJXMiCisKKyN+IG1zZ2lkICJTaXplOiAlbGxkIGJ5dGVzLCAlbGxkIE1CIgorI34gbXNnc3RyICJLb2tvOiAlbGxkIHRhdnVhLCAlbGxkIE10IgorCisjfiBtc2dpZCAiU2l6ZTogJWxsZCBieXRlcywgJWxsZC4lbGxkIEdCIgorI34gbXNnc3RyICJLb2tvOiAlbGxkIHRhdnVhLCAlbGxkLiVsbGQgR3QiCisKKyN+IG1zZ2lkICJIZWFkczogJWQgICBTZWN0b3JzIHBlciBUcmFjazogJWQgICBDeWxpbmRlcnM6ICVsbGQiCisjfiBtc2dzdHIgIlDDpMOkdDogJWQgICBTZWt0b3JpdC91cmE6ICVkICAgU3lsaW50ZXJpdDogJWxsZCIKKworI34gbXNnaWQgIlBhcnQgVHlwZSIKKyN+IG1zZ3N0ciAiT3Npb3R5eXBwaSIKKworI34gbXNnaWQgIkZTIFR5cGUiCisjfiBtc2dzdHIgIlRpZWQuasOkcmoudHl5cHBpIgorCisjfiBtc2dpZCAiW0xhYmVsXSIKKyN+IG1zZ3N0ciAiW05pbWnDtl0iCisKKyN+IG1zZ2lkICIgICAgU2VjdG9ycyIKKyN+IG1zZ3N0ciAiICAgU2VrdG9yaXQiCisKKyN+IG1zZ2lkICIgIEN5bGluZGVycyIKKyN+IG1zZ3N0ciAiIFN5bGludGVyaXQiCisKKyN+IG1zZ2lkICIgIFNpemUgKE1CKSIKKyN+IG1zZ3N0ciAiIEtva28gKE10KSIKKworI34gbXNnaWQgIiAgU2l6ZSAoR0IpIgorI34gbXNnc3RyICIgS29rbyAoR3QpIgorCisjfiBtc2dpZCAiTm8gbW9yZSBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJFaSBlbmVtcMOkw6Qgb3Npb2l0YSIKKworI34gbXNnaWQgIkNoYW5nZSBkaXNrIGdlb21ldHJ5IChleHBlcnRzIG9ubHkpIgorI34gbXNnc3RyICJNdXV0YSBsZXZ5biBnZW9tZXRyaWFhICh2YWluIGFzaWFudHVudGlqb2lsbGUpIgorCisjfiBtc2dpZCAiTWF4aW1pemUiCisjfiBtc2dzdHIgIk1ha3NpbW9pIgorCisjfiBtc2dpZCAiTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24gKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIk1ha3NpbW9pIG55a3lpc2VuIG9zaW9uIHRpbGFua8OkeXR0w7YgKHZhaW4gYXNpYW50dW50aWpvaWxsZSkiCisKKyN+IG1zZ2lkICJQcmludCIKKyN+IG1zZ3N0ciAiTsOkeXTDpCIKKworI34gbXNnaWQgIkNoYW5nZSB0aGUgZmlsZXN5c3RlbSB0eXBlIChET1MsIExpbnV4LCBPUy8yIGFuZCBzbyBvbikiCisjfiBtc2dzdHIgIlZhaWhkYSB0aWVkb3N0b2rDpHJqZXN0ZWxtw6RuIHR5eXBwaSAoRE9TLCBMaW51eCwgT1MvMiwgam5lKSIKKworI34gbXNnaWQgIlVuaXRzIgorI34gbXNnc3RyICJZa3Npa8O2dCIKKworI34gbXNnaWQgIkNoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSAoTUIsIHNlY3QsIGN5bCkiCisjfiBtc2dzdHIgIlZhaWhkYSBvc2lva29rb27DpHl0w7ZuIHlrc2lrw7Z0IChNdCwgc2VrdCwgc3lsKSIKKworI34gbXNnaWQgIkNhbm5vdCBtYWtlIHRoaXMgcGFydGl0aW9uIGJvb3RhYmxlIgorI34gbXNnc3RyICJUw6RzdMOkIG9zaW9zdGEgZWkgdm9pIHRlaGTDpCBrw6R5bm5pc3RldHTDpHbDpMOkIgorCisjfiBtc2dpZCAiQ2Fubm90IGRlbGV0ZSBhbiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlR5aGrDpMOkIG9zaW90YSBlaSB2b2kgcG9pc3RhYSIKKworI34gbXNnaWQgIkNhbm5vdCBtYXhpbWl6ZSB0aGlzIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiVMOkdMOkIG9zaW90YSBlaSB2b2kgbWFrc2ltb2lkYSIKKworI34gbXNnaWQgIlRoaXMgcGFydGl0aW9uIGlzIHVudXNhYmxlIgorI34gbXNnc3RyICJUw6Rtw6Qgb3NpbyBvbiBlaSBvbGUga8OkeXRldHTDpHZpc3PDpCIKKworI34gbXNnaWQgIlRoaXMgcGFydGl0aW9uIGlzIGFscmVhZHkgaW4gdXNlIgorI34gbXNnc3RyICJUw6Rtw6Qgb3NpbyBvbiBqbyBrw6R5dMO2c3PDpCIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdGhlIHR5cGUgb2YgYW4gZW1wdHkgcGFydGl0aW9uIgorI34gbXNnc3RyICJUeWhqw6RuIG9zaW9uIHR5eXBwacOkIGVpIHZvaSB2YWlodGFhIgorCisjfiBtc2dpZCAiSWxsZWdhbCBjb21tYW5kIgorI34gbXNnc3RyICJWaXJoZWVsbGluZW4ga29tZW50byIKKworI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMTk5NC0yMDAyIEtldmluIEUuIE1hcnRpbiAmIGFlYlxuIgorI34gbXNnc3RyICJDb3B5cmlnaHQgwqkgMTk5NC0yMDAyIEtldmluIEUuIE1hcnRpbiAmIGFlYlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgIHNldCB0aGUgbnVtYmVyIG9mIGhlYWRzIHRvIHVzZVxuIgorI34gbXNnc3RyICIgICAgLWgjIFt0YWkgLS1oZWFkcyAjXTogICAgYXNldGEga8OkeXRldHTDpHbDpCBww6RpZGVuIG3DpMOkcsOkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZywgLS1ndWVzcyAgICAgICAgICAgICAgIGd1ZXNzIGEgZ2VvbWV0cnkgZnJvbSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+IG1zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1QLCAtLXByaW50IDxyfHN8dD4gICAgICAgcHJpbnQgcGFydGl0aW9uIHRhYmxlIGluIHNwZWNpZmllZCBmb3JtYXRcbiIKKyN+IG1zZ3N0ciAiICBwICAgICAgICAgIFR1bG9zdGEgb3Npb3RhdWx1IHJ1dWR1bGxlIHRhaSB0aWVkb3N0b29uIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYSwgLS1hcnJvdyAgICAgICAgICAgICAgIHVzZSBhcnJvdyBmb3IgaGlnaGxpZ2h0aW5nIHRoZSBjdXJyZW50IHBhcnRpdGlvblxuIgorI34gbXNnc3RyICIgIGQgICAgICAgICAgUG9pc3RhIG55a3lpbmVuIG9zaW8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIlN5bGludGVyaWVuIG3DpMOkcsOkIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2YgaGVhZHMiCisjfiBtc2dzdHIgIlDDpGlkZW4gbcOkw6Ryw6QiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBzZWN0b3JzIgorI34gbXNnc3RyICJTZWt0b3JpZW4gbcOkw6Ryw6QiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1oICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscCB0ZXh0XG4iCisjfiBtc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICBOw6R5dMOkIHTDpG3DpCBvaGplIGphIHBvaXN0dVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlxuIgorI34gbXNnc3RyICI/Pz9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmc2l6ZSIKKyN+IG1zZ3N0ciAiTWF4a29rbz0lbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJic2l6ZSIKKyN+IG1zZ3N0ciAiTWF4a29rbz0lbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorI34gbXNnc3RyICJPc2lvICV6ZCBvbiBqbyBtw6TDpHJpdGVsdHkuIFBvaXN0YSBzZSBlbm5lbiB1dWRlbGxlZW4gbGlzw6TDpG1pc3TDpC4iCisKKyN+IG1zZ2lkICIgICBlICAgZXh0ZW5kZWQiCisjfiBtc2dzdHIgIiAgIGUgICAgbGFhamVubmV0dHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTnIiCisjfiBtc2dzdHIgIlZ5w7ZoeWtlbnVtZXJvIDwgRklSU1RaT05FIHRpZWRvc3Rvc3NhIOKAnSVz4oCdLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJBRiIKKyN+IG1zZ3N0ciAic3ZjX3VuaXguYyAtIG9uZ2VsbWEgQUZfVU5JWC1waXN0b2trZWVuIGx1b21pc2Vzc2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU2VjIgorI34gbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xMikiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ3lsIgorI34gbXNnc3RyICIiCisjfiAidmlhbGxpc3RhIGRhdGFhIHN5bGludGVyaXNzw6QgJWRcbiIKKyN+ICJKYXRrZXRhYW4uLi4gIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoaXMgZG9lc24ndCBsb29rIGxpa2UgYSBwYXJ0aXRpb24gdGFibGUuIFByb2JhYmx5IHlvdSBzZWxlY3RlZCB0aGUgd3JvbmcgZGV2aWNlLiIKKyN+IG1zZ3N0ciAiIgorI34gIlTDpG3DpCBlaSBuw6R5dMOkIG9zaW90YXVsdWx0YVxuIgorI34gIlZhbGl0dHVuYSBvbiB0b2Rlbm7DpGvDtmlzZXN0aSB2w6TDpHLDpCBsYWl0ZS5cbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCbG9ja3MgIgorI34gbXNnc3RyICJsb2hrb3QiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU3lzdGVtIgorI34gbXNnc3RyICJUaWV0b2EgasOkcmplc3RlbG3DpHN0w6Q6IgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAlemQgaXMgYWxyZWFkeSBkZWZpbmVkLiBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCisjfiBtc2dzdHIgIk9zaW8gJXpkIG9uIGpvIG3DpMOkcml0ZWx0eS4gUG9pc3RhIHNlIGVubmVuIHV1ZGVsbGVlbiBsaXPDpMOkbWlzdMOkLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbmZvIgorI34gbXNnc3RyICJ2ZXJpZnlfZmxvd19pbmZvIGVww6Rvbm5pc3R1aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTZWN0b3IiCisjfiBtc2dzdHIgInRhdnVhL3Nla3RvcmkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiWW91IHdpbGwgZ2V0IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCEiCisjfiBtc2dzdHIgIkxldnlsbMOkIHR1bGVlIG9sZW1hYW4gcMOkw6RsbGVra8OkaXNpw6Qgb3Npb2l0YS4gVMOkbcOkIG9uIGtvcmphdHRhdmEgZW5zaW4hXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogIEJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LiBUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLiIKKyN+IG1zZ3N0ciAiIgorI34gIlZhcm9pdHVzOiBCTEtHRVRTSVpFLWlvY3RsIGVww6Rvbm5pc3R1aSBsYWl0dGVlbGxlICVzLiBLw6R5dGV0w6TDpG4gZ2VvbWV0cmlhblxuIgorI34gInN5bGludGVyaWFydm9hICVkLiBUw6Rtw6QgYXJ2byB2b2kgdHlwaXN0ecOkIGxhaXR0ZWlsbGEsIGpvdGthIG92YXQgc3V1cmVtcGlhXG4iCisjfiAia3VpbiAzMyw4IEd0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZsYWciCisjfiBtc2dzdHIgIuKAnSDigJ0tbGlwcHUiCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiBlcnJvciByZWFkaW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAidmFyb2l0dXM6IHZpcmhlIGx1ZXR0YWVzc2EgJXM6ICVzIgorCisjfiBtc2dpZCAid2FybmluZzogY2FuJ3Qgb3BlbiAlczogJXMiCisjfiBtc2dzdHIgInZpcmhlOiB0aWVkb3N0b2EgJXMgZWkgdm9pIGF2YXRhOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjb3VsZCBub3Qgb3BlbiAlcyAtIHVzaW5nICVzIGluc3RlYWRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpZWRvc3RvYSAlcyBlaSB2b2l0dSBhdmF0YSDigJMga8OkeXRldMOkw6RuIHRpZWRvc3RvYSAlcyBzZW4gc2lqYWFuXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBjcmVhdGUgbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICJsdWtrb3RpZWRvc3RvYSAlcyBlaSB2b2kgbHVvZGE6ICVzIChrw6R5dMOkIGxpcHB1YSAtbiBvaGl0dGFha3Nlc2kpIgorCisjfiBtc2dpZCAiY2FuJ3QgbGluayBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgImx1a2tvdGllZG9zdG9hICVzIGVpIHZvaSBsaW5raXR0w6TDpDogJXMgKGvDpHl0w6QgbGlwcHVhIC1uIG9oaXR0YWFrc2VzaSkiCisKKyN+IG1zZ2lkICJjYW4ndCBvcGVuIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAibHVra290aWVkb3N0b2EgJXMgZWkgdm9pIGF2YXRhOiAlcyAoa8OkeXTDpCBsaXBwdWEgLW4gb2hpdHRhYWtzZXNpKSIKKworI34gbXNnaWQgIkNhbid0IGxvY2sgbG9jayBmaWxlICVzOiAlc1xuIgorI34gbXNnc3RyICJMdWtrb3RpZWRvc3RvYSAlcyBlaSB2b2kgbHVraXRhOiAlc1xuIgorCisjfiBtc2dpZCAiY2FuJ3QgbG9jayBsb2NrIGZpbGUgJXM6ICVzIgorI34gbXNnc3RyICJsdWtrb3RpZWRvc3RvYSAlcyBlaSB2b2kgbHVraXRhOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJDYW5ub3QgY3JlYXRlIGxpbmsgJXNcbiIKKyN+ICJQZXJoYXBzIHRoZXJlIGlzIGEgc3RhbGUgbG9jayBmaWxlP1xuIgorI34gbXNnc3RyICIiCisjfiAiTGlua2tpw6QgJXMgZWkgdm9pIGx1b2RhXG4iCisjfiAiRWhrw6Qgam9zc2FraW4gb24gdmFuaGVudHVudXQgbHVra290aWVkb3N0bz9cbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzICglcykgLSBtdGFiIG5vdCB1cGRhdGVkIgorI34gbXNnc3RyICJoYWtlbWlzdG9hICVzIGVpIHZvaSBhdmF0YSAoJXMpIOKAkyBtdGFiaS10aWVkb3N0b2EgZWkgcMOkaXZpdGV0dHkiCisKKyN+IG1zZ2lkICJlcnJvciB3cml0aW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAidmlyaGUga2lyam9pdGV0dGFlc3NhICVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2Fubm90IGZmbHVzaCBjaGFuZ2VzOiAlcyIKKyN+IG1zZ3N0ciAidGllZG9zdG9hICVzIGVpIHZvaSBzaWlydMOkw6Qga29odGVlc2VlbiAlcyIKKworI34gbXNnaWQgImVycm9yIGNoYW5naW5nIG1vZGUgb2YgJXM6ICVzXG4iCisjfiBtc2dzdHIgInZpcmhlIG11dXRldHRhZXNzYSB0aWVkb3N0b24gJXMgdGlsYWE6ICVzXG4iCisKKyN+IG1zZ2lkICJlcnJvciBjaGFuZ2luZyBvd25lciBvZiAlczogJXNcbiIKKyN+IG1zZ3N0ciAidmlyaGUgbXV1dGV0dGFlc3NhIHRpZWRvc3RvbiAlcyBvbWlzdGFqYWE6ICVzXG4iCisKKyN+IG1zZ2lkICJjYW4ndCByZW5hbWUgJXMgdG8gJXM6ICVzXG4iCisjfiBtc2dzdHIgIm5pbWXDpG1pbmVuICVzIOKGkiAlcyBlaSBvbm5pc3R1OiAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGltcHJvcGVybHkgcXVvdGVkIG9wdGlvbiBzdHJpbmcgJyVzJyIKKyN+IG1zZ3N0ciAibW91bnQ6IHbDpMOkcmluIHN1b2phdHR1IHZhbGl0c2lubWVya2tpam9ubyDigJ0lc+KAnSIKKworI34gbXNnaWQgIm1vdW50OiB0cmFuc2xhdGVkICVzICclcycgdG8gJyVzJ1xuIgorI34gbXNnc3RyICJtb3VudDogbXV1bm5ldHRpaW4gJXMg4oCdJXPigJ0gYXJ2b29uIOKAnSVz4oCdXG4iCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IG10YWItdGllZG9zdG9uIG11a2FhbiAlcyBvbiBqbyBsaWl0ZXR0eSBwaXN0ZWVzZWVuICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBtb3VudGVkIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogbXRhYi10aWVkb3N0b24gbXVrYWFuICVzIG9uIGxpaXRldHR5IHBpc3RlZXNlZW4gJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3Qgb3BlbiAlcyBmb3Igd3JpdGluZzogJXMiCisjfiBtc2dzdHIgIm1vdW50OiB0aWVkb3N0b2EgJXMgZWkgdm9pIGF2YXRhIGtpcmpvaXR0YW1pc3RhIHZhcnRlbjogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogZXJyb3Igd3JpdGluZyAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiB2aXJoZSBraXJqb2l0ZXR0YWVzc2EgJXM6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIGNoYW5naW5nIG1vZGUgb2YgJXM6ICVzIgorI34gbXNnc3RyICJtb3VudDogdmlyaGUgbXV1dGV0dGFlc3NhIHRpZWRvc3RvbiAlcyB0aWxhYTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDogcnlobcOkLWlkOnTDpCB2b2kgYXNldHRhYTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgdXNlciBpZDogJW0iCisjfiBtc2dzdHIgIm1vdW50OiBrw6R5dHTDpGrDpC1pZDp0w6QgZWkgdm9pIGFzZXR0YWE6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBmb3JrOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGhhYXJhdXR0YW1pbmVuIGVpIG9ubmlzdHU6ICVzIgorCisjfiBtc2dpZCAiVHJ5aW5nICVzXG4iCisjfiBtc2dzdHIgIktva2VpbGxhYW4gJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiB5b3UgZGlkbid0IHNwZWNpZnkgYSBmaWxlc3lzdGVtIHR5cGUgZm9yICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBldCBhbnRhbnV0IHR5eXBwacOkIHRpZWRvc3RvasOkcmplc3RlbG3DpGxsZSAlc1xuIgorCisjfiBtc2dpZCAiICAgICAgIEkgd2lsbCB0cnkgYWxsIHR5cGVzIG1lbnRpb25lZCBpbiAlcyBvciAlc1xuIgorI34gbXNnc3RyICIgICAgICAgS29rZWlsbGFhbiBrYWlra2lhIHRpZWRvc3RvaXNzYSAlcyBqYSAlcyBtYWluaXR0dWphIHR5eXBwZWrDpFxuIgorCisjfiBtc2dpZCAiICAgICAgIGFuZCBpdCBsb29rcyBsaWtlIHRoaXMgaXMgc3dhcHNwYWNlXG4iCisjfiBtc2dzdHIgIiAgICAgICBqYSB0w6Rtw6QgbsOkeXR0w6TDpCBvbGV2YW4gc2l2dXR1c3RpbGFhXG4iCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSB0eXBlICVzXG4iCisjfiBtc2dzdHIgIiAgICAgICBLb2tlaWxsYWFuIHR5eXBwacOkICVzXG4iCisKKyN+IG1zZ2lkICIlcyBsb29rcyBsaWtlIHN3YXBzcGFjZSAtIG5vdCBtb3VudGVkIgorI34gbXNnc3RyICIlcyB2YWlrdXR0YWEgb2xldmFuIHNpdnV0dXN0aWxhYSDigJMgZWkgbGlpdGV0w6QiCisKKyN+IG1zZ2lkICJtb3VudCBmYWlsZWQiCisjfiBtc2dzdHIgImxpaXR0w6RtaW5lbiBlcMOkb25uaXN0dWkiCisKKyN+IG1zZ2lkICJtb3VudDogb25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IHZhaW4gcm9vdCB2b2kgbGlpdHTDpMOkICVzIHBpc3RlZXNlZW4gJXMiCisKKyN+IG1zZ2lkICJtb3VudDogbG9vcCBkZXZpY2Ugc3BlY2lmaWVkIHR3aWNlIgorI34gbXNnc3RyICJtb3VudDogbG9vcC1sYWl0ZSBhbm5ldHR1IGthaGRlc3RpIgorCisjfiBtc2dpZCAibW91bnQ6IHR5cGUgc3BlY2lmaWVkIHR3aWNlIgorI34gbXNnc3RyICJtb3VudDogdHl5cHBpIGFubmV0dHUga2FoZGVzdGkiCisKKyN+IG1zZ2lkICJtb3VudDogc2tpcHBpbmcgdGhlIHNldHVwIG9mIGEgbG9vcCBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG9oaXRldGFhbiBsb29wLWxhaXR0ZWVuIGFzZXR0YW1pbmVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGVuYWJsaW5nIGF1dG9jbGVhciBsb29wZGV2IGZsYWdcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGFpb3RhYW4ga8OkeXR0w6TDpCBsb29wLWxhaXRldHRhICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGludmFsaWQgb2Zmc2V0ICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICJWaXJoZWVsbGluZW4gYXNldGV0dHUgYXJ2bzogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogaW52YWxpZCBzaXplbGltaXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIlZpcmhlZWxsaW5lbiBhc2V0ZXR0dSBhcnZvOiAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlcyBhcyBsb29wIgorI34gbXNnc3RyICJtb3VudDogbXRhYi10aWVkb3N0b24gbXVrYWFuICVzIG9uIGpvIGxpaXRldHR5IHBpc3RlZXNlZW4gJXMgbG9vcC1sYWl0dGVlbmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BkZXYgY29udGV4dCIKKyN+IG1zZ3N0ciAiUHVza3VyaWEgZWkgdm9pIHZhcmF0YS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIHVzZSAlcyBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiBhaW90YWFuIGvDpHl0dMOkw6QgbG9vcC1sYWl0ZXR0YSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gZm91bmQgZnJlZSBsb29wIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IGxvb3AtbGFpdHRlZW4gYXNldHRhbWluZW4gZXDDpG9ubmlzdHVpXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ29pbmcgdG8gdXNlIHRoZSBsb29wIGRldmljZSAlc1xuIgorI34gbXNnc3RyICJtb3VudDogYWlvdGFhbiBrw6R5dHTDpMOkIGxvb3AtbGFpdGV0dGEgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogJXM6IGZhaWxlZCB0byBzZXQgbG9vcGRldiBhdHRyaWJ1dGVzIgorI34gbXNnc3RyICJtb3VudDogbG9vcC1sYWl0dGVlbiBhc2V0dGFtaW5lbiBlcMOkb25uaXN0dWlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogJXM6IGZhaWxlZCBzZXR0aW5nIHVwIGxvb3AgZGV2aWNlOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IGxvb3AtbGFpdHRlZW4gYXNldHRhbWluZW4gZXDDpG9ubmlzdHVpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IHN0b2xlbiBsb29wPSVzIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBzZXR1cCBsb29wIGRldmljZSBzdWNjZXNzZnVsbHlcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGxvb3AtbGFpdGUgYXNldGV0dGlpbiBvbm5pc3R1bmVlc3RpXG4iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gJXMgZm91bmQgLSBjcmVhdGluZyBpdC4uXG4iCisjfiBtc2dzdHIgIm1vdW50OiBlaSBsw7Z5dHlueXQgJXMg4oCTIGx1b2RhYW4gc2UuLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBvcGVuICVzIGZvciBzZXR0aW5nIHNwZWVkIgorI34gbXNnc3RyICJtb3VudDogdGllZG9zdG9hICVzIGVpIHZvaSBhdmF0YSBub3BldWRlbiBhc2V0dXN0YSB2YXJ0ZW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgc3BlZWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDogdGllZG9zdG9hICVzIGVpIHZvaSBhdmF0YSBub3BldWRlbiBhc2V0dXN0YSB2YXJ0ZW4iCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorI34gbXNnc3RyICJtb3VudDogbXRhYmluIG11a2FhbiAlcyBvbiBqbyBsaWl0ZXR0eSBwaXN0ZWVzZWVuICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IHdhcm5pbmc6ICVzIHNlZW1zIHRvIGJlIG1vdW50ZWQgcmVhZC13cml0ZS5cbiIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBvbiB2YXJhdHR1IOKAkyB1dWRlbGxlZW5saWl0ZXR0aWluIHZhaW4gbHVrdSAtdGlsYXNzYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtb25seS5cbiIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBvbiB2YXJhdHR1IOKAkyB1dWRlbGxlZW5saWl0ZXR0aWluIHZhaW4gbHVrdSAtdGlsYXNzYVxuIgorCisjfiBtc2dpZCAibW91bnQ6IEkgY291bGQgbm90IGRldGVybWluZSB0aGUgZmlsZXN5c3RlbSB0eXBlLCBhbmQgbm9uZSB3YXMgc3BlY2lmaWVkIgorI34gbXNnc3RyICJtb3VudDogVGllZG9zdG9qw6RyamVzdGVsbcOkbiB0eXlwcGnDpCBlaSB2b2l0dSBtw6TDpHJpdHTDpMOkLCBlaWvDpCB0eXlwcGnDpCBvbGUgYW5uZXR0dSIKKworI34gbXNnaWQgIm1vdW50OiB5b3UgbXVzdCBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUiCisjfiBtc2dzdHIgIm1vdW50OiB0aWVkb3N0b2rDpHJqZXN0ZWxtw6RuIHR5eXBwaSBvbiBhbm5ldHRhdmEiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgZmFpbGVkIgorI34gbXNnc3RyICJtb3VudDogbGlpdG9zIGVww6Rvbm5pc3R1aSIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBwb2ludCAlcyBpcyBub3QgYSBkaXJlY3RvcnkiCisjfiBtc2dzdHIgIm1vdW50OiBsaWl0b3NwaXN0ZSAlcyBlaSBvbGUgaGFrZW1pc3RvIgorCisjfiBtc2dpZCAibW91bnQ6IHBlcm1pc3Npb24gZGVuaWVkIgorI34gbXNnc3RyICJtb3VudDogbHVwYSBldsOkdHR5IgorCisjfiBtc2dpZCAibW91bnQ6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKKyN+IG1zZ3N0ciAibW91bnQ6IG1vdW50aW4ga8OkeXR0w7bDtm4gdmFhZGl0YWFuIHDDpMOka8OkeXR0w6Rqw6RuIG9pa2V1ZGV0IgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIGJ1c3kiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBvbiB2YXJhdHR1IgorCisjfiBtc2dpZCAibW91bnQ6IHByb2MgYWxyZWFkeSBtb3VudGVkIgorI34gbXNnc3RyICJtb3VudDogcHJvYyBvbiBqbyBsaWl0ZXR0eSIKKworI34gbXNnaWQgIm1vdW50OiAlcyBhbHJlYWR5IG1vdW50ZWQgb3IgJXMgYnVzeSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIG9uIGpvIGxpaXRldHR5IHRhaSAlcyBvbiB2YXJhdHR1IgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGRvZXMgbm90IGV4aXN0IgorI34gbXNnc3RyICJtb3VudDogbGlpdG9zcGlzdGUgJXMgZWkgb2xlIG9sZW1hc3NhIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIgorI34gbXNnc3RyICJtb3VudDogbGlpdG9zcGlzdGUgJXMgb24gc3ltbGlua2tpIG9sZW1hdHRvbWFhbiIKKworI34gbXNnaWQgIm1vdW50OiBzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKKyN+IG1zZ3N0ciAibW91bnQ6IGVyaWtvaXNsYWl0ZSAlcyBlaSBvbGUgb2xlbWFzc2EiCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0XG4iCisjfiAiICAgICAgIChhIHBhdGggcHJlZml4IGlzIG5vdCBhIGRpcmVjdG9yeSlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiBlcmlrb2lzbGFpdGUgJXMgZWkgb2xlIG9sZW1hc3NhXG4iCisjfiAiICAgICAgIChwb2x1biBldHVsaWl0ZSBlaSBvbGUgaGFrZW1pc3RvKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiAlcyBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorI34gbXNnc3RyICJtb3VudDogJXMgZWkgb2xlIHZpZWzDpCBsaWl0ZXR0eSwgdGFpIHZpcmhlZWxsaW5lbiB2YWxpdHNpbiIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogd3JvbmcgZnMgdHlwZSwgYmFkIG9wdGlvbiwgYmFkIHN1cGVyYmxvY2sgb24gJXMsXG4iCisjfiAiICAgICAgIG1pc3NpbmcgY29kZXBhZ2Ugb3IgaGVscGVyIHByb2dyYW0sIG9yIG90aGVyIGVycm9yIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IHbDpMOkcsOkIHRpZWRvc3RvasOkcmplc3RlbG3DpG4gdHl5cHBpLCB2aXJoZWVsbGluZW4gdmFsaXRzaW4sIHZpYWxsaW5lbiBcbiIKKyN+ICIgICAgICAgc3VwZXJsb2hrbyBsYWl0dGVlbGxhICVzLCBwdXV0dHV2YSBrb29kaXNpdnUgdGFpIGFwdW9oamVsbWEsIHRhaSBtdXUgdmlyaGUiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIChjb3VsZCB0aGlzIGJlIHRoZSBJREUgZGV2aWNlIHdoZXJlIHlvdSBpbiBmYWN0IHVzZVxuIgorI34gIiAgICAgICBpZGUtc2NzaSBzbyB0aGF0IHNyMCBvciBzZGEgb3Igc28gaXMgbmVlZGVkPykiCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAgKHZvaXNpa28gdMOkbcOkIG9sbGEgSURFLWxhaXRlLCBqb2thIGvDpHl0dMOkw6QgaWRlLXNjc2ktYWp1cmlhLFxuIgorI34gIiAgICAgICBqb2xsb2luIGvDpHl0ZXTDpMOkbiBzcjA6YWEgdGFpIHNkYTp0YT8pIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoYXJlbid0IHlvdSB0cnlpbmcgdG8gbW91bnQgYW4gZXh0ZW5kZWQgcGFydGl0aW9uLFxuIgorI34gIiAgICAgICBpbnN0ZWFkIG9mIHNvbWUgbG9naWNhbCBwYXJ0aXRpb24gaW5zaWRlPykiCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAgKGV0a8O2IHlyaXTDpGtpbiBsaWl0dMOkw6QgbGFhamVubmV0dHVhIG9zaW90YSwgZXRrw6RcbiIKKyN+ICIgICAgICAgc2VuIHNpc8OkbHTDpG3DpMOkIGxvb2dpc3RhIG9zaW90YT8pIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICBJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGlzIGZvdW5kIGluIHN5c2xvZyAtIHRyeVxuIgorI34gIiAgICAgICBkbWVzZyB8IHRhaWwgIG9yIHNvXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAgSm9pc3Nha2luIHRhcGF1a3Npc3NhIGrDpHJqZXN0ZWxtw6Rsb2tpc3RhIGzDtnl0eXkgaHnDtmR5bGxpc3TDpFxuIgorI34gIiAgICAgICB0aWV0b2Eg4oCTIGtva2VpbGUgZXNpbS4ga29tZW50b2Eg4oCdZG1lc2cgfCB0YWls4oCdLlxuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiBjYW4ndCByZWFkIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgIm1vdW50OiAlczogc3VwZXJsb2hrb2EgZWkgdm9pIGx1a2VhIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiB1bmtub3duIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzOiB0dW50ZW1hdG9uIGxhaXRlIgorCisjfiBtc2dpZCAibW91bnQ6IHVua25vd24gZmlsZXN5c3RlbSB0eXBlICclcyciCisjfiBtc2dzdHIgIm1vdW50OiB0dW50ZW1hdG9uIHRpZWRvc3RvasOkcmplc3RlbG3DpG4gdHl5cHBpIOKAnSVz4oCdIgorCisjfiBtc2dpZCAibW91bnQ6IHByb2JhYmx5IHlvdSBtZWFudCAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IHRhcmtvaXRhdCB0b2Rlbm7DpGvDtmlzZXN0aSAlcyIKKworI34gbXNnaWQgIm1vdW50OiBtYXliZSB5b3UgbWVhbnQgJ2lzbzk2NjAnPyIKKyN+IG1zZ3N0ciAibW91bnQ6IGVoa8OkIHRhcmtvaXRpdCDigJ1pc285NjYw4oCdPyIKKworI34gbXNnaWQgIm1vdW50OiBtYXliZSB5b3UgbWVhbnQgJ3ZmYXQnPyIKKyN+IG1zZ3N0ciAibW91bnQ6IGVoa8OkIHRhcmtvaXRpdCDigJ12ZmF04oCdPyIKKworI34gbXNnaWQgIm1vdW50OiAlcyBoYXMgd3JvbmcgZGV2aWNlIG51bWJlciBvciBmcyB0eXBlICVzIG5vdCBzdXBwb3J0ZWQiCisjfiBtc2dzdHIgIm1vdW50OiB0aWVkb3N0b24gJXMgbGFpdGVudW1lcm8gb24gdsOkw6Ryw6QgdGFpIHRpZWRvc3RvasOkcmplc3RlbG3DpHR5eXBwaSAlcyBlaSBvbGUgdHVldHR1IgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQgZmFpbHM/IgorI34gbXNnc3RyICJtb3VudDogJXMgZWkgb2xlIGxvaGtvbGFpdGUsIGphIHRpbGFuIGx1a3UgZXDDpG9ubmlzdHV1PyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHRoZSBrZXJuZWwgZG9lcyBub3QgcmVjb2duaXplICVzIGFzIGEgYmxvY2sgZGV2aWNlXG4iCisjfiAiICAgICAgIChtYXliZSBgbW9kcHJvYmUgZHJpdmVyJz8pIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IHlkaW4gZWkgdHVubmlzdGEgdGllZG9zdG9hICVzIGxvaGtvbGFpdHRlZWtzaVxuIgorI34gIiAgICAgICAoZWhrw6Qg4oCdaW5zbW9kIGFqdXJp4oCdIGF1dHRhYT8pIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSAobWF5YmUgdHJ5IGAtbyBsb29wJz8pIgorI34gbXNnc3RyICJtb3VudDogJXMgZWkgb2xlIGxvaGtvbGFpdGUgKHlyaXTDpCDigJ0tbyBsb29w4oCdPykiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudDogJXMgZWkgb2xlIGxvaGtvbGFpdGUiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgdmFsaWQgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudDogJXMgZWkgb2xlIGtlbHZvbGxpbmVuIGxvaGtvbGFpdGUiCisKKyN+IG1zZ2lkICJibG9jayBkZXZpY2UgIgorI34gbXNnc3RyICJsb2hrb2xhaXRlICIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgbW91bnQgJXMlcyByZWFkLW9ubHkiCisjfiBtc2dzdHIgIm1vdW50OiBlaSB2b2kgbGlpdHTDpMOkICVzJXMgdmFpbiBsdWt1IC10aWxhc3NhIgorCisjfiBtc2dpZCAibW91bnQ6ICVzJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCBgLXcnIGZsYWcgZ2l2ZW4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyVzIG9uIGtpcmpvaXR1c3N1b2phdHR1LCBtdXR0YSDigJ0td+KAnSAtbGlwcHUgb24gYW5uZXR0dSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHJlbW91bnQgJXMlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCisjfiBtc2dzdHIgIm1vdW50OiAlcyVzIG9uIGtpcmpvaXR1c3N1b2phdHR1LCBsaWl0ZXTDpMOkbiB2YWluIGx1a3UgLXRpbGFzc2EiCisKKyN+IG1zZ2lkICJtb3VudDogJXMlcyBpcyB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50aW5nIHJlYWQtb25seSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzJXMgb24ga2lyam9pdHVzc3VvamF0dHUsIGxpaXRldMOkw6RuIHZhaW4gbHVrdSAtdGlsYXNzYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogbm8gbWVkaXVtIGZvdW5kIG9uICVzIgorI34gbXNnc3RyICJNZWRpYWEgZWkgbMO2eWR5IgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHR5cGUgd2FzIGdpdmVuIC0gSSdsbCBhc3N1bWUgbmZzIGJlY2F1c2Ugb2YgdGhlIGNvbG9uXG4iCisjfiBtc2dzdHIgIm1vdW50OiB0eXlwcGnDpCBlaSBhbm5ldHR1IOKAkyBrYWtzb2lzcGlzdGVlbiBwZXJ1c3RlZWxsYSBzZW4gb2xldGV0YWFuIG9sZXZhbiBuZnNcbiIKKworI34gbXNnaWQgIm1vdW50OiBubyB0eXBlIHdhcyBnaXZlbiAtIEknbGwgYXNzdW1lIGNpZnMgYmVjYXVzZSBvZiB0aGUgLy8gcHJlZml4XG4iCisjfiBtc2dzdHIgIm1vdW50OiB0eXlwcGnDpCBlaSBhbm5ldHR1IOKAkyAvLy1hbGt1bGlpdHRlZW4gcGVydXN0ZWVsbGEgc2VuIG9sZXRldGFhbiBvbGV2YW4gY2lmc1xuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorI34gbXNnc3RyICJtb3VudDogJXMgb24gam8gbGlpdGV0dHkgcGFpa2thYW4gJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogbW91bnQgLVYgICAgICAgICAgICAgICAgIDogcHJpbnQgdmVyc2lvblxuIgorI34gIiAgICAgICBtb3VudCAtaCAgICAgICAgICAgICAgICAgOiBwcmludCB0aGlzIGhlbHBcbiIKKyN+ICIgICAgICAgbW91bnQgICAgICAgICAgICAgICAgICAgIDogbGlzdCBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisjfiAiICAgICAgIG1vdW50IC1sICAgICAgICAgICAgICAgICA6IGlkZW0sIGluY2x1ZGluZyB2b2x1bWUgbGFiZWxzXG4iCisjfiAiU28gZmFyIHRoZSBpbmZvcm1hdGlvbmFsIHBhcnQuIE5leHQgdGhlIG1vdW50aW5nLlxuIgorI34gIlRoZSBjb21tYW5kIGlzIGBtb3VudCBbLXQgZnN0eXBlXSBzb21ldGhpbmcgc29tZXdoZXJlJy5cbiIKKyN+ICJEZXRhaWxzIGZvdW5kIGluIC9ldGMvZnN0YWIgbWF5IGJlIG9taXR0ZWQuXG4iCisjfiAiICAgICAgIG1vdW50IC1hIFstdHwtT10gLi4uICAgICA6IG1vdW50IGFsbCBzdHVmZiBmcm9tIC9ldGMvZnN0YWJcbiIKKyN+ICIgICAgICAgbW91bnQgZGV2aWNlICAgICAgICAgICAgIDogbW91bnQgZGV2aWNlIGF0IHRoZSBrbm93biBwbGFjZVxuIgorI34gIiAgICAgICBtb3VudCBkaXJlY3RvcnkgICAgICAgICAgOiBtb3VudCBrbm93biBkZXZpY2UgaGVyZVxuIgorI34gIiAgICAgICBtb3VudCAtdCB0eXBlIGRldiBkaXIgICAgOiBvcmRpbmFyeSBtb3VudCBjb21tYW5kXG4iCisjfiAiTm90ZSB0aGF0IG9uZSBkb2VzIG5vdCByZWFsbHkgbW91bnQgYSBkZXZpY2UsIG9uZSBtb3VudHNcbiIKKyN+ICJhIGZpbGVzeXN0ZW0gKG9mIHRoZSBnaXZlbiB0eXBlKSBmb3VuZCBvbiB0aGUgZGV2aWNlLlxuIgorI34gIk9uZSBjYW4gYWxzbyBtb3VudCBhbiBhbHJlYWR5IHZpc2libGUgZGlyZWN0b3J5IHRyZWUgZWxzZXdoZXJlOlxuIgorI34gIiAgICAgICBtb3VudCAtLWJpbmQgb2xkZGlyIG5ld2RpclxuIgorI34gIm9yIG1vdmUgYSBzdWJ0cmVlOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1vdmUgb2xkZGlyIG5ld2RpclxuIgorI34gIk9uZSBjYW4gY2hhbmdlIHRoZSB0eXBlIG9mIG1vdW50IGNvbnRhaW5pbmcgdGhlIGRpcmVjdG9yeSBkaXI6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1zaGFyZWQgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1zbGF2ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXByaXZhdGUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS11bmJpbmRhYmxlIGRpclxuIgorI34gIk9uZSBjYW4gY2hhbmdlIHRoZSB0eXBlIG9mIGFsbCB0aGUgbW91bnRzIGluIGEgbW91bnQgc3VidHJlZVxuIgorI34gImNvbnRhaW5pbmcgdGhlIGRpcmVjdG9yeSBkaXI6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1yc2hhcmVkIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNsYXZlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnByaXZhdGUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ydW5iaW5kYWJsZSBkaXJcbiIKKyN+ICJBIGRldmljZSBjYW4gYmUgZ2l2ZW4gYnkgbmFtZSwgc2F5IC9kZXYvaGRhMSBvciAvZGV2L2Nkcm9tLFxuIgorI34gIm9yIGJ5IGxhYmVsLCB1c2luZyAgLUwgbGFiZWwgIG9yIGJ5IHV1aWQsIHVzaW5nICAtVSB1dWlkIC5cbiIKKyN+ICJPdGhlciBvcHRpb25zOiBbLW5mRnJzdnddIFstbyBvcHRpb25zXSBbLXAgcGFzc3dkZmRdLlxuIgorI34gIkZvciBtYW55IG1vcmUgZGV0YWlscywgc2F5ICBtYW4gOCBtb3VudCAuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJLw6R5dHTDtjogbW91bnQgLVYgICAgICAgICAgICAgICAgIDogbsOkeXTDpCB2ZXJzaW9cbiIKKyN+ICIgICAgICAgIG1vdW50IC1oICAgICAgICAgICAgICAgICA6IG7DpHl0w6QgdMOkbcOkIG9oamVcbiIKKyN+ICIgICAgICAgIG1vdW50ICAgICAgICAgICAgICAgICAgICA6IG7DpHl0w6QgbGlpdGV0eXQgdGllZG9zdG9qw6RyamVzdGVsbcOkdFxuIgorI34gIiAgICAgICAgbW91bnQgLWwgICAgICAgICAgICAgICAgIDogc2FtYSBrdWluIGVkZWxsw6QsIGxpc8Oka3NpIG5pbWnDtnRcbiIKKyN+ICJTaWluw6QgaW5mb3JtYXRpaXZpbmVuIG9zdXVzLiBTZXVyYWF2YWtzaSBsaWl0dMOkbWluZW4uXG4iCisjfiAiS29tZW50byBrdXVsdXUg4oCdbW91bnQgWy10IHRpZWQuasOkcmoudHl5cHBpXSBqb3Rha2luIGpvbm5la2lu4oCdLlxuIgorI34gIlRpZWRvc3Rvc3NhIC9ldGMvZnN0YWIgb2xldmF0IHlrc2l0eWlza29oZGF0IHZvaSBqw6R0dMOkw6QgcG9pcy5cbiIKKyN+ICIgICAgICAgIG1vdW50IC1hIFstdHwtT10gLi4uICAgICA6IGxpaXTDpCBrYWlra2kgdGllZG9zdG9zdGEgL2V0Yy9mc3RhYlxuIgorI34gIiAgICAgICAgbW91bnQgbGFpdGUgICAgICAgICAgICAgIDogbGlpdMOkIGxhaXRlIHR1bm5ldHR1dW4gcGFpa2thYW5cbiIKKyN+ICIgICAgICAgIG1vdW50IGhha2VtaXN0byAgICAgICAgICA6IGxpaXTDpCB0dW5uZXR0dSBsYWl0ZSB0w6RubmVcbiIKKyN+ICIgICAgICAgIG1vdW50IC10IHR5eXBwaSBsYWl0ZSBoYWs6IG5vcm1hYWxpIGxpaXRvc2tvbWVudG9cbiIKKyN+ICJIdW9tYWEsIGV0dMOkIG9pa2Vhc3RpIGVpIGxpaXRldMOkIGxhaXRldHRhLCB2YWFuIGxhaXR0ZWVsbGEgb2xldmFcbiIKKyN+ICIoYW5uZXR1biB0eXlwaW4gbXVrYWluZW4pIHRpZWRvc3RvasOkcmplc3RlbG3DpC5cbiIKKyN+ICJWb2lkYWFuIG15w7ZzIGxpaXR0w6TDpCBqbyBuw6RreXZpc3PDpCBvbGV2YSBoYWtlbWlzdG9wdXUgbXV1YWxsZTpcbiIKKyN+ICIgICAgICAgIG1vdW50IC0tYmluZCB2YW5oYV9oYWsgdXVzaV9oYWtcbiIKKyN+ICJ0YWkgc2lpcnTDpMOkIGFsaXB1dTpcbiIKKyN+ICIgICAgICAgIG1vdW50IC0tbW92ZSB2YW5oYV9oYWsgdXVzaV9oYWtcbiIKKyN+ICJIYWtlbWlzdG9uIGhhayBzaXPDpGx0w6R2w6RuIGxpaXRva3NlbiB0eXlwcGnDpCB2b2kgbXV1dHRhYTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNoYXJlZCBoYWtcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNsYXZlIGhha1xuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcHJpdmF0ZSBoYWtcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXVuYmluZGFibGUgaGFrXG4iCisjfiAiS2Fpa2tpZW4gbGlpdG9rc2VuIGFsaXB1dXNzYSBvbGV2aWVuIGhha2VtaXN0b24gaGFrIHNpc8OkbHTDpHZpZW5cbiIKKyN+ICJsaWl0b3N0ZW4gdHl5cHBpw6Qgdm9pIG11dXR0YWE6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1yc2hhcmVkIGhha1xuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNsYXZlIGhha1xuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnByaXZhdGUgaGFrXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ydW5iaW5kYWJsZSBoYWtcbiIKKyN+ICJMYWl0ZSB2b2lkYWFuIGFudGFhIG5pbWVsbMOkLCBlc2ltLiAvZGV2L2hkYTEgdGFpIC9kZXYvY2Ryb20sXG4iCisjfiAidGFpIG5pbWnDtmxsw6QsIGvDpHl0dMOkZW4gIC1MIG5pbWnDtiAgdGFpIHV1aWQ6bGxhLCBrw6R5dHTDpGVuICAtVSB1dWlkIC5cbiIKKyN+ICJNdXV0IHZhbGl0c2ltZXQ6IFstbmZGcnN2d10gWy1vIHZhbGl0c2ltZXRdIFstcCBrYWh2YV0uXG4iCisjfiAiUGFsam9uIGxpc8OkdGlldG9qYSBrb21lbm5vbGxhOiAgbWFuIDggbW91bnQgLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIi0tcGFzcy1mZCBpcyBubyBsb25nZXIgc3VwcG9ydGVkIgorI34gbXNnc3RyICJ2YWxpdHNpbiAlcXMgZWkgb2xlIGVuw6TDpCB0dWV0dHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCisjfiBtc2dzdHIgIm1vdW50OiB2YWluIHJvb3Qgdm9pIHRlaGTDpCB0dW9uIgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKKyN+IG1zZ3N0ciAibW91bnQ6IHZhaW4gcm9vdCB2b2kgdGVoZMOkIHR1b24iCisKKyN+IG1zZ2lkICJub3RoaW5nIHdhcyBtb3VudGVkIgorI34gbXNnc3RyICJtaXTDpMOkbiBlaSBsaWl0ZXR0eSIKKworI34gbXNnaWQgIm1vdW50OiBubyBzdWNoIHBhcnRpdGlvbiBmb3VuZCIKKyN+IG1zZ3N0ciAibW91bnQ6IG9zaW90YSBlaSBsw7Z5ZHkiCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3QgZmluZCAlcyBpbiAlcyBvciAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGVpIGzDtnlkeSB0aWVkb3N0b3N0YSAlcywgZWlrw6QgJXMiCisKKyN+IG1zZ2lkICJbbW50ZW50XTogd2FybmluZzogbm8gZmluYWwgbmV3bGluZSBhdCB0aGUgZW5kIG9mICVzXG4iCisjfiBtc2dzdHIgIlttbnRlbnRdOiB2YXJvaXR1czogdGllZG9zdG9uICVzIGxvcHVzc2EgZWkgb2xlIHJpdmludmFpaHRvYVxuIgorCisjfiBtc2dpZCAiW21udGVudF06IGxpbmUgJWQgaW4gJXMgaXMgYmFkJXNcbiIKKyN+IG1zZ3N0ciAiW21udGVudF06IHJpdmkgJWQgdGllZG9zdG9zc2EgJXMgb24gdmlyaGVlbGxpbmVuJXNcbiIKKworI34gbXNnaWQgIjsgcmVzdCBvZiBmaWxlIGlnbm9yZWQiCisjfiBtc2dzdHIgIjsgbG9wdXQgdGllZG9zdG9zdGEgasOkdGV0w6TDpG4gaHVvbWlvaW1hdHRhIgorCisjfiBtc2dpZCAibm90IGVub3VnaCBtZW1vcnkiCisjfiBtc2dzdHIgIm11aXN0aSBlaSByaWl0w6QiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNvbXBpbGVkIHdpdGhvdXQgc3VwcG9ydCBmb3IgLWZcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiBrw6TDpG5uZXR0eSBpbG1hbiB0dWtlYSB2YWxpdHNpbWVsbGUgLWZcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVtIgorI34gbXNnc3RyICJ1bW91bnQ6IHJ5aG3DpC1pZDp0w6QgZWkgdm9pIGFzZXR0YWE6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogY2Fubm90IHNldCB1c2VyIGlkOiAlbSIKKyN+IG1zZ3N0ciAidW1vdW50OiBrw6R5dHTDpGrDpC1pZDp0w6QgZWkgdm9pIGFzZXR0YWE6ICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgZm9yazogJXMiCisjfiBtc2dzdHIgInVtb3VudDogaGFhcmF1dHRhbWluZW4gZWkgb25uaXN0dTogJXMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBpbnZhbGlkIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogdmlyaGVlbGxpbmVuIGxvaGtvbGFpdGUiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBub3QgbW91bnRlZCIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogZWkgb2xlIGxpaXRldHR5bsOkIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogc3VwZXJsb2hrb2EgZWkgdm9pIGtpcmpvaXR0YWEiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBub3QgZm91bmQiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IGVpIGzDtnlkeSIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVtb3VudCIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogdmFhZGl0YWFuIHDDpMOka8OkeXR0w6Rqw6RuIG9pa2V1ZGV0IgorCisjfiBtc2dpZCAidW1vdW50OiAlczogYmxvY2sgZGV2aWNlcyBub3QgcGVybWl0dGVkIG9uIGZzIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBsb2hrb2xhaXR0ZWl0YSBlaSBzYWxsaXRhIHRpZWRvc3RvasOkcmplc3RlbG3DpHNzw6QiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiAlcyIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gY2hkaXIgdG8gJXM6ICVtIgorI34gbXNnc3RyICJzaWlydHltaW5lbiBoYWtlbWlzdG9vbiAlcyBlcMOkb25uaXN0dWkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gb2J0YWluIGN1cnJlbnQgZGlyZWN0b3J5OiAlbSIKKyN+IG1zZ3N0ciAibmFtZWk6IG55a3lpc3TDpCBoYWtlbWlzdG9hIGVpIHZvaWRhIGhha2VhIOKAkyAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogbW91bnRwb2ludCBtb3ZlZCAoJXMgLT4gJXMpIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiB2YWFkaXRhYW4gcMOkw6Rrw6R5dHTDpGrDpG4gb2lrZXVkZXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3VycmVudCBkaXJlY3RvcnkgbW92ZWQgdG8gJXNcbiIKKyN+IG1zZ3N0ciAibnlreWlzZW4gaGFrZW1pc3RvbiAoJXMpIHRpbGFhIGVpIHZvaSBsdWtlYSIKKworI34gbXNnaWQgIm5vIHVtb3VudDIsIHRyeWluZyB1bW91bnQuLi5cbiIKKyN+IG1zZ3N0ciAib2hqZWxtYWEgdW1vdW50MiBlaSBvbGUsIGtva2VpbGxhYW4gb2hqZWxtYWEgdW1vdW50Li4uXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGJ1c3kgLSByZW1vdW50ZWQgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgb24gdmFyYXR0dSDigJMgdXVkZWxsZWVubGlpdGV0dGlpbiB2YWluIGx1a3UgLXRpbGFzc2FcbiIKKworI34gbXNnaWQgInVtb3VudDogY291bGQgbm90IHJlbW91bnQgJXMgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDoga29odGVlbiAlcyB1dWRlbGxlZW5saWl0dMOkbWluZW4gdmFpbiBsdWt1IC10aWxhc3NhIGVww6Rvbm5pc3R1aVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIGhhcyBiZWVuIHVubW91bnRlZFxuIgorI34gbXNnc3RyICIlcyBpcnJvdGV0dHVcbiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IGZpbmQgbGlzdCBvZiBmaWxlc3lzdGVtcyB0byB1bm1vdW50IgorI34gbXNnc3RyICJ1bW91bnQ6IGlycm90ZXR0YXZpZW4gdGllZG9zdG9qw6RyamVzdGVsbWllbiBsaXN0YWEgZWkgbMO2eWR5IgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiB1bW91bnQgLWggfCAtVlxuIgorI34gIiAgICAgICB1bW91bnQgLWEgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIFstdCB2ZnN0eXBlc10gWy1PIG9wdHNdXG4iCisjfiAiICAgICAgIHVtb3VudCBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gc3BlY2lhbCB8IG5vZGUuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkvDpHl0dMO2OiB1bW91bnQgLWggfCAtVlxuIgorI34gIiAgICAgICAgdW1vdW50IC1hIFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBbLXQgdnRpZWQuasOkcmoudHl5cGl0XSBbLU8gdmFsaXRzaW1ldF1cbiIKKyN+ICIgICAgICAgIHVtb3VudCBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gZXJpa29pc3RpZWQgfCBzb2xtdS4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSAnb2Zmc2V0PSVzJyBvcHRpb25zXG4iCisjfiBtc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImRldmljZSAlcyBpcyBhc3NvY2lhdGVkIHdpdGggJXNcbiIKKyN+IG1zZ3N0ciAiTGFpdGU6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZGV2aWNlICVzIGlzIG5vdCBhc3NvY2lhdGVkIHdpdGggJXNcbiIKKyN+IG1zZ3N0ciAiTGFpdGU6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2Fubm90IHVubW91bnQgXCJcIlxuIgorI34gbXNnc3RyICJLb2hkZXR0YSDigJ3igJ0gZWkgdm9pIGlycm90dGFhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVHJ5aW5nIHRvIHVubW91bnQgJXNcbiIKKyN+IG1zZ3N0ciAiWXJpdGV0w6TDpG4gJXMuLi5cbiIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBmaW5kICVzIGluIG10YWJcbiIKKyN+IG1zZ3N0ciAiJXMgZWkgbMO2eXR5bnl0IHRpZWRvc3Rvc3RhIG10YWJcbiIKKworI34gbXNnaWQgInVtb3VudDogJXMgaXMgbm90IG1vdW50ZWQgKGFjY29yZGluZyB0byBtdGFiKSIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBlaSBvbGUgbGlpdGV0dHkgKG10YWItdGllZG9zdG9uIG11a2FhbikiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGl0IHNlZW1zICVzIGlzIG1vdW50ZWQgbXVsdGlwbGUgdGltZXMiCisjfiBtc2dzdHIgInVtb3VudDogJXMgdmFpa3V0dGFhIG9sZXZhbiBsaWl0ZXR0eW7DpCB1c2VpdGEga2VydG9qYSIKKworI34gbXNnaWQgInVtb3VudDogJXMgaXMgbm90IGluIHRoZSBmc3RhYiAoYW5kIHlvdSBhcmUgbm90IHJvb3QpIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIGVpIG9sZSB0aWVkb3N0b3NzYSBmc3RhYiAoZXRrw6Qgb2xlIHJvb3QpIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBtb3VudCBkaXNhZ3JlZXMgd2l0aCB0aGUgZnN0YWIiCisjfiBtc2dzdHIgInVtb3VudDogJXMgb24gcmlzdGlyaWlkYXNzYSB0aWVkb3N0b24gZnN0YWIga2Fuc3NhIgorCisjfiBtc2dpZCAidW1vdW50OiBvbmx5ICVzIGNhbiB1bm1vdW50ICVzIGZyb20gJXMiCisjfiBtc2dzdHIgInVtb3VudDogdmFpbiAlcyB2b2kgaXJyb3R0YWEgbGFpdHRlZW4gJXMgcGFpa2FzdGEgJXMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKKyN+IG1zZ3N0ciAidW1vdW50OiB2YWluIHJvb3Qgdm9pIHRlaGTDpCB0w6Rtw6RuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPHR0eT4gWy4uLl1cbiIKKyN+IG1zZ3N0ciAiICVzIFt2YWxpdHNpbWV0XSBba8OkeXR0w6Rqw6RuaW1pXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtUywgLS1zZXQtZGVmYXVsdC10aHJlc2hvbGQgPG51bT4gIHNldCBkZWZhdWx0IHRocmVzaG9sZCB2YWx1ZVxuIgorI34gbXNnc3RyICIlczogJWxkIG9sZXR1c2t5bm55cyBqYSAlbGQgb2xldHVzYWlrYWthdGthaXN1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkZpbGUgJXMsIEZvciB0aHJlc2hvbGQgdmFsdWUgJWx1LCBNYXhpbXVtIGNoYXJhY3RlcnMgaW4gZmlmbyB3ZXJlICVkLFxuIgorI34gImFuZCB0aGUgbWF4aW11bSB0cmFuc2ZlciByYXRlIGluIGNoYXJhY3RlcnMvc2Vjb25kIHdhcyAlZiIKKyN+IG1zZ3N0ciAiIgorI34gIlRpZWRvc3RvICVzLCBreW5ueXNhcnZvbGxlICVsdSwgc3V1cmluIG1lcmtraW3DpMOkcsOkIGZpZm9zc2Egb2xpICVkLFxuIgorI34gImphIHN1dXJpbiBzaWlydG9ub3BldXMgKG1lcmtracOkL3Nla3VudGkpIG9saSAlZlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJGaWxlICVzLCBGb3IgdGhyZXNob2xkIHZhbHVlICVsdSBhbmQgdGltZW91dCB2YWx1ZSAlbHUsIE1heGltdW0gY2hhcmFjdGVycyBpbiBmaWZvIHdlcmUgJWQsXG4iCisjfiAiYW5kIHRoZSBtYXhpbXVtIHRyYW5zZmVyIHJhdGUgaW4gY2hhcmFjdGVycy9zZWNvbmQgd2FzICVmIgorI34gbXNnc3RyICIiCisjfiAiVGllZG9zdG8gJXMsIGt5bm55c2Fydm9sbGUgJWx1IGphIGFpa2FrYXRrYWlzdWFydm9sbGUgJWx1LCBzdXVyaW4gbWVya2tpbcOkw6Ryw6QgZmlmb3NzYSBvbGkgJWQsXG4iCisjfiAiamEgc3V1cmluIHNpaXJ0b25vcGV1cyAobWVya2tpw6Qvc2VrdW50aSkgb2xpICVmXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGlzc3VlIENZR0VUTU9OIG9uICVzIgorI34gbXNnc3RyICJ0aWVkb3N0b2EgJXMgZWkgdm9pIHNpaXJ0w6TDpCBrb2h0ZWVzZWVuICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBnZXQgdGhyZXNob2xkIGZvciAlcyIKKyN+IG1zZ3N0ciAibGFpdHRlZW4gJXMga29rb2EgZWkgdm9pIGhha2VhIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBnZXQgdGltZW91dCBmb3IgJXMiCisjfiBtc2dzdHIgImxhaXR0ZWVuICVzIGtva29hIGVpIHZvaSBoYWtlYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGludGVydmFsIHZhbHVlIgorI34gbXNnc3RyICJhamFuamFrc28gZWkga2VscGFhOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGludGVydmFsIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiYWphbmpha3NvIGVpIGtlbHBhYTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdmFsdWUiCisjfiBtc2dzdHIgIlZpcmhlZWxsaW5lbiBhc2V0ZXR0dSBhcnZvOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgc2V0IHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAidmlyaGVlbGxpbmVuICUlRC1hcnZvIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB2YWx1ZSIKKyN+IG1zZ3N0ciAidmlyaGVlbGxpbmVuICUlSC1hcnZvIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgInZpcmhlZWxsaW5lbiAlJUQtYXJ2byIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICJ0aWVkb3N0b24gJXMgYWlrYWxlaW1vamVuIGFzZXR0YW1pbmVuIGVpIG9ubmlzdHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdGltZSB2YWx1ZTogJWQiCisjfiBtc2dzdHIgInZpcmhlZWxsaW5lbiAlJUQtYXJ2byIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdGltZSB2YWx1ZSIKKyN+IG1zZ3N0ciAiYWphbmpha3NvIGVpIGtlbHBhYTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHRpbWUgdmFsdWU6ICVkIgorI34gbXNnc3RyICJ2aXJoZWVsbGluZW4gJSVELWFydm8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHNldCAlcyB0byB0aHJlc2hvbGQgJWQiCisjfiBtc2dzdHIgImtvbmVuaW1lbiAlcyBhc2V0dGFtaW5lbiBqw6RyamVzdGVsbcOkbGxlIGVpIG9ubmlzdHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHNldCAlcyB0byB0aW1lIHRocmVzaG9sZCAlZCIKKyN+IG1zZ3N0ciAidGllZG9zdG9uICVzIGFpa2FsZWltb2plbiBhc2V0dGFtaW5lbiBlaSBvbm5pc3R1IgorCisjfiBtc2dpZCAiJXM6ICVsZCBjdXJyZW50IHRocmVzaG9sZCBhbmQgJWxkIGN1cnJlbnQgdGltZW91dFxuIgorI34gbXNnc3RyICIlczogJWxkIG55a3lpbmVuIGt5bm55cyBqYSAlbGQgbnlreWluZW4gYWlrYWthdGthaXN1XG4iCisKKyN+IG1zZ2lkICIlczogJWxkIGRlZmF1bHQgdGhyZXNob2xkIGFuZCAlbGQgZGVmYXVsdCB0aW1lb3V0XG4iCisjfiBtc2dzdHIgIiVzOiAlbGQgb2xldHVza3lubnlzIGphICVsZCBvbGV0dXNhaWtha2F0a2Fpc3VcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGltZSBlbGFwc2VkIHNpbmNlIHJlZmVyZW5jZSB0aW1lIGhhcyBiZWVuICUuNmYgc2Vjb25kcy5cbiIKKyN+ICJEZWxheWluZyBmdXJ0aGVyIHRvIHJlYWNoIHRoZSBuZXcgdGltZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlZpaXRlYWphbmtvaGRhc3RhIG9uIGt1bHVudXQgJS42ZiBzZWt1bnRpYS5cbiIKKyN+ICJPZG90ZXRhYW4gc2V1cmFhdmFhIHTDpHl0dMOkIHNla3VudGlhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGV0ZXJtaW5lIHNvdXJjZSIKKyN+IG1zZ3N0ciAiaGFrZW1pc3RvbiAlcyBsYWl0ZXR0YSBqYSBpLXNvbG11YSBlaSB2b2lkYSBtw6TDpHJpdHTDpMOkIgorCisjfiBtc2dpZCAiIC10ZXJtIHRlcm1pbmFsX25hbWVcbiIKKyN+IG1zZ3N0ciAiIC10ZXJtIHDDpMOkdHRlZW5fbmltaVxuIgorCisjfiBtc2dpZCAiIC1yZXNldFxuIgorI34gbXNnc3RyICIgLXJlc2V0XG4iCisKKyN+IG1zZ2lkICIgLWluaXRpYWxpemVcbiIKKyN+IG1zZ3N0ciAiIC1pbml0aWFsaXplXG4iCisKKyN+IG1zZ2lkICIgLWN1cnNvciA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLWN1cnNvciA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1yZXBlYXQgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1yZXBlYXQgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtYXBwY3Vyc29ya2V5cyA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLWFwcGN1cnNvcmtleXMgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtbGluZXdyYXAgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1saW5ld3JhcCA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1kZWZhdWx0XG4iCisjfiBtc2dzdHIgIiAtZGVmYXVsdFxuIgorCisjfiBtc2dpZCAiIC1pbnZlcnNlc2NyZWVuIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtaW52ZXJzZXNjcmVlbiA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1ib2xkIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtYm9sZCA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1ibGluayA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLWJsaW5rIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLXJldmVyc2UgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1yZXZlcnNlIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLXVuZGVybGluZSA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLXVuZGVybGluZSA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1zdG9yZVxuIgorI34gbXNnc3RyICIgLXN0b3JlXG4iCisKKyN+IG1zZ2lkICIgLWNsZWFyIDxhbGx8cmVzdD5cbiIKKyN+IG1zZ3N0ciAiIC1jbGVhciA8YWxsfHJlc3Q+XG4iCisKKyN+IG1zZ2lkICIgLXRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICAgICAodGFibiA9IDEtMTYwKVxuIgorI34gbXNnc3RyICIgLXRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICAgICh0YWJuID0gMS0xNjApXG4iCisKKyN+IG1zZ2lkICIgLWNscnRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICAodGFibiA9IDEtMTYwKVxuIgorI34gbXNnc3RyICIgLWNscnRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICh0YWJuID0gMS0xNjApXG4iCisKKyN+IG1zZ2lkICIgLXJlZ3RhYnMgPDEtMTYwPlxuIgorI34gbXNnc3RyICIgLXJlZ3RhYnMgWzEtMTYwXVxuIgorCisjfiBtc2dpZCAiIC1ibGFuayA8MC02MHxmb3JjZXxwb2tlPlxuIgorI34gbXNnc3RyICIgLWJsYW5rIDwwLTYwfGZvcmNlfHBva2U+XG4iCisKKyN+IG1zZ2lkICIgLWR1bXAgICA8MS1OUl9DT05TT0xFUz5cbiIKKyN+IG1zZ3N0ciAiIC1kdW1wICAgPDEtS09OU09MSUVOX03DhMOEUsOEPlxuIgorCisjfiBtc2dpZCAiIC1hcHBlbmQgPDEtTlJfQ09OU09MRVM+XG4iCisjfiBtc2dzdHIgIiAtYXBwZW5kIDwxLUtPTlNPTElFTl9Nw4TDhFLDhD5cbiIKKworI34gbXNnaWQgIiAtZmlsZSBkdW1wZmlsZW5hbWVcbiIKKyN+IG1zZ3N0ciAiIC1maWxlIHZlZG9zdGllZG9zdG9uaW1pXG4iCisKKyN+IG1zZ2lkICIgLW1zZyA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLW1zZyA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1tc2dsZXZlbCA8MC04PlxuIgorI34gbXNnc3RyICIgLW1zZ2xldmVsIDwwLTg+XG4iCisKKyN+IG1zZ2lkICIgLXBvd2VyZG93biA8MC02MD5cbiIKKyN+IG1zZ3N0ciAiIC1wb3dlcmRvd24gPDAtNjA+XG4iCisKKyN+IG1zZ2lkICIgLWJsZW5ndGggPDAtMjAwMD5cbiIKKyN+IG1zZ3N0ciAiIC1ibGVuZ3RoIDwwLTIwMDA+XG4iCisKKyN+IG1zZ2lkICIgLWJmcmVxIGZyZXFudW1iZXJcbiIKKyN+IG1zZ3N0ciAiIC1iZnJlcSB0YWFqdXVzXG4iCisKKyN+IG1zZ2lkICIgLXZlcnNpb25cbiIKKyN+IG1zZ3N0ciAiIC12ZXJzaW9uXG4iCisKKyN+IG1zZ2lkICIgLWhlbHBcbiIKKyN+IG1zZ3N0ciAiIC1oZWxwXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXJyb3Igd3JpdGluZyBzY3JlZW5kdW1wIgorI34gbXNnc3RyICJ2aXJoZSBraXJqb2l0ZXR0YWVzc2EgdGllZG9zdG9hICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNvdWxkbid0IHJlYWQgbmVpdGhlciAvZGV2L3Zjc2EwIG5vciAvZGV2L3Zjc2EiCisjfiBtc2dzdHIgIkxhaXRldHRhIC9kZXYvdHR5MSB0YWkgL2Rldi92Yy8xIGVpIHZvaSBhdmF0YSIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkvDpHl0dMO2OiAlcyBbdmFsaXRzaW1ldF0gbGFpdGUgLi4uXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJsaW5lIHRvbyBsb25nIgorI34gbXNnc3RyICJsaWlhbiBwaXRrw6Qgcml2aSIKKworI34gbXNnaWQgInNldCBibG9ja3NpemUiCisjfiBtc2dzdHIgImFzZXRhIGxvaGtva29rbyIKKworI34gbXNnaWQgIm9uZSBiYWQgYmxvY2tcbiIKKyN+IG1zZ3N0ciAieWtzaSB2aWFsbGluZW4gbG9oa29cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gdHlwZSBoZXggb3IgdXVpZCIKKyN+IG1zZ3N0ciAiIyAlczpuIG9zaW90YXVsdVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiBtc2dzdHIgIkvDpHl0dMO2OiAlcyBbdmFsaXRzaW1ldF0gbGFpdGUgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVhZCBmYWlsZWQgJXMiCisjfiBtc2dzdHIgImx1a2VtaW5lbiBlcMOkb25uaXN0dWk6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlZWsgZmFpbGVkICVzIgorI34gbXNnc3RyICJzaWlydHltaW5lbiBlcMOkb25uaXN0dWkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBmYWlsZWQ6ICVkIgorI34gbXNnc3RyICJzaWlydHltaW5lbiBlcMOkb25uaXN0dWkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZmFpbGVkOiAlZCIKKyN+IG1zZ3N0ciAia2lyam9pdHRhbWluZW4gZXDDpG9ubmlzdHVpOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQiCisjfiBtc2dzdHIgIkVpIG3DpMOkcml0ZWx0eWrDpCBvc2lvaXRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkIGRldmljZXNcbiIKKyN+ICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2PiBbLi4uXSAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKKyN+ICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKKyN+ICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZmluZCBmaXJzdCB1bnVzZWQgZGV2aWNlXG4iCisjfiAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcGRldj4gIHJlc2l6ZSBkZXZpY2VcbiIKKyN+ICIgLWosIC0tYXNzb2NpYXRlZCA8ZmlsZT4gICAgICAgbGlzdCBhbGwgZGV2aWNlcyBhc3NvY2lhdGVkIHdpdGggPGZpbGU+XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJrw6R5dHTDtjpcbiIKKyN+ICIgICVzIGxvb3AtbGFpdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBuw6R5dMOkIHRpZXRvamFcbiIKKyN+ICIgICVzIC1kIGxvb3AtbGFpdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBwb2lzdGFcbiIKKyN+ICIgICVzIC1mICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBldHNpIHZhcGFhXG4iCisjfiAiICAlcyBbIC1lIHNhbGF1cyBdIFsgLW8gc2lpcnR5bcOkIF0gbG9vcC1sYWl0ZSB0aWVkb3N0byAjIGFzZXRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UsIG9mZnNldCBpcyBub3QgNTEyLWJ5dGUgYWxpZ25lZC4iCisjfiBtc2dzdHIgInNpdnV0dXNsYWl0dGVlbGxhIGVpIHZvaSBzaWlydHnDpCB0YWFrc2Vww6RpbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnNzdXBvcnRlZCAtLWxvY2FsLWxpbmUgbW9kZSBhcmd1bWVudCIKKyN+IG1zZ3N0ciAiJXM6IHR1bnRlbWF0b24gYXJndW1lbnR0aTogJXNcbiIKKworI34gbXNnaWQgInVzYWdlOlxuIgorI34gbXNnc3RyICJrw6R5dHTDtjpcbiIKKworI34gbXNnaWQgIlx0Tk9URTogZWx2dHVuZSBvbmx5IHdvcmtzIHdpdGggMi40IGtlcm5lbHNcbiIKKyN+IG1zZ3N0ciAiXHROT1RFOiBlbHZ0dW5lIHRvaW1paSB2YWluIDIuNC1zYXJqYW4geXRpbWlsbMOkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibWlzc2luZyBibG9ja2RldmljZSwgdXNlIC1oIGZvciBoZWxwXG4iCisjfiBtc2dzdHIgIiVzIGVpIG9sZSBsb2hrb2xhaXRlIGVpa8OkIHRpZWRvc3RvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZWRpdGlvbiBudW1iZXIgYXJndW1lbnQgZmFpbGVkIgorI34gbXNnc3RyICJzZWdtZW50dGVqw6QgZW5pbnTDpMOkbiA9ICVsdVxuIgorCisjfiBtc2dpZCAiZnN5bmMgZmFpbGVkIgorI34gbXNnc3RyICJmc3luYyBlcMOkb25uaXN0dWkiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiUHJpbnQgdmVyc2lvbjpcbiIKKyN+ICIgICAgICAgICVzIC12XG4iCisjfiAiUHJpbnQgcGFydGl0aW9uIHRhYmxlOlxuIgorI34gIiAgICAgICAgJXMgLVAge3J8c3x0fSBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiAiSW50ZXJhY3RpdmUgdXNlOlxuIgorI34gIiAgICAgICAgJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiLWE6IFVzZSBhcnJvdyBpbnN0ZWFkIG9mIGhpZ2hsaWdodGluZztcbiIKKyN+ICItejogU3RhcnQgd2l0aCBhIHplcm8gcGFydGl0aW9uIHRhYmxlLCBpbnN0ZWFkIG9mIHJlYWRpbmcgdGhlIHB0IGZyb20gZGlzaztcbiIKKyN+ICItYyBDIC1oIEggLXMgUzogT3ZlcnJpZGUgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIG51bWJlciBvZiBjeWxpbmRlcnMsXG4iCisjfiAiICAgICAgICAgICAgICAgIHRoZSBudW1iZXIgb2YgaGVhZHMgYW5kIHRoZSBudW1iZXIgb2Ygc2VjdG9ycy90cmFjay5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkvDpHl0dMO2OlxuIgorI34gIk7DpHl0w6QgdmVyc2lvOlxuIgorI34gIiAgICAgICAgJXMgLXZcbiIKKyN+ICJOw6R5dMOkIG9zaW90YXVsdTpcbiIKKyN+ICIgICAgICAgICVzIC1QIHtyfHN8dH0gW3ZhbGl0c2ltZXRdIGxhaXRlXG4iCisjfiAiVnVvcm92YWlrdXR0ZWluZW4ga8OkeXR0w7Y6XG4iCisjfiAiICAgICAgICAlcyBbdmFsaXRzaW1ldF0gbGFpdGVcbiIKKyN+ICJcbiIKKyN+ICJWYWxpdHNpbWV0OlxuIgorI34gIi1hOiBLw6R5dMOkIG51b2x0YSBrb3Jvc3R1a3NlbiBhc2VtZXN0YTtcbiIKKyN+ICItejogQWxvaXRhIHR5aGrDpGxsw6Qgb3Npb3RhdWx1bGxhLCBvc2lvdGF1bHVhIGVpIGx1ZXRhIGxldnlsdMOkO1xuIgorI34gIi1jIEMgLWggSCAtcyBTOiBPaGl0YSB5dGltZW4gbWllbGlwaWRlIHN5bGludGVyaWVuIGphIHDDpGlkZW4gbcOkw6Ryw6RzdMOkLFxuIgorI34gIiAgICAgICAgICAgICAgICBzZWvDpCBzZWt0b3JlaXRhL3VyYS1tw6TDpHLDpHN0w6QuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJXcml0aW5nIGRpc2tsYWJlbCB0byAlcy5cbiIKKyN+IG1zZ3N0ciAiS2lyam9pdGV0YWFuIGxldnluaW1pw7Z0w6QgbGFpdHRlZWxsZSAlcy5cbiIKKworI34gbXNnaWQgIkxhc3QgJXMgb3IgK3NpemUgb3IgK3NpemVNIG9yICtzaXplSyIKKyN+IG1zZ3N0ciAiVmlpbWVpbmVuICVzIHRhaSAra29rbyB0YWkgK2tva29NIHRhaSAra29rb0siCisKKyN+IG1zZ2lkICJSZWFkaW5nIGRpc2tsYWJlbCBvZiAlcyBhdCBzZWN0b3IgJWQuXG4iCisjfiBtc2dzdHIgIkx1ZXRhYW4gbGFpdHRlZW4gJXMgbGV2eW5pbWnDtnTDpCBzZWt0b3JpbHRhICVkLlxuIgorCisjfiBtc2dpZCAiQlNEIGRpc2tsYWJlbCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorI34gbXNnc3RyICJCU0QtbGV2eW5pbWnDtmtvbWVudG8gKG0gYW50YWEgb2hqZWVuKTogIgorCisjfiBtc2dpZCAiZHJpdmVkYXRhOiAiCisjfiBtc2dzdHIgImFzZW1hZGF0YTogIgorCisjfiBtc2dpZCAiIyAgICAgICBzdGFydCAgICAgICBlbmQgICAgICBzaXplICAgICBmc3R5cGUgICBbZnNpemUgYnNpemUgICBjcGddXG4iCisjfiBtc2dzdHIgIiMgICAgICAgYWxrdSAgICAgICAgbG9wcHUgICAga29rbyAgICAgdHl5cHBpICAgW2Zrb2tvIGJrb2tvICAgY3BnXVxuIgorCisjfiBtc2dpZCAiTXVzdCBiZSA8PSBzZWN0b3JzL3RyYWNrICogdHJhY2tzL2N5bGluZGVyIChkZWZhdWx0KS5cbiIKKyN+IG1zZ3N0ciAiT24gb2x0YXZhIOKJpCBzZWt0b3JpYS91cmEgKiB1cmFhL3N5bGludGVyaSAob2xldHVzKS5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAoYS0lYyk6ICIKKyN+IG1zZ3N0ciAiT3NpbyAoYS0lYyk6ICIKKworI34gbXNnaWQgIldhcm5pbmc6IHRvbyBtYW55IHBhcnRpdGlvbnMgKCVkLCBtYXhpbXVtIGlzICVkKS5cbiIKKyN+IG1zZ3N0ciAiVmFyb2l0dXM6IGxpaWFuIG1vbnRhIG9zaW90YSAoJWQsIG1ha3NpbWkgb24gJWQpLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlN5bmNpbmcgZGlza3MuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJTeW5rcm9ub2lkYWFuIGxldnl0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBzZWVrIG9uICVzIgorI34gbXNnc3RyICJMYWl0dGVlbGxhICVzIGVpIHZvaSBzaWlydHnDpFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byB3cml0ZSAlcyIKKyN+IG1zZ3N0ciAiTGFpdHRlZWxsZSAlcyBlaSB2b2kga2lyam9pdHRhYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhdGFsIGVycm9yIgorI34gbXNnc3RyICJWYWthdmEgdmlyaGVcbiIKKworI34gbXNnaWQgIkNvbW1hbmQgYWN0aW9uIgorI34gbXNnc3RyICJLb21lbnRvICBtZXJraXR5cyIKKworI34gbXNnaWQgIllvdSBtdXN0IHNldCIKKyN+IG1zZ3N0ciAiT24gYXNldGV0dGF2YSIKKworI34gbXNnaWQgImhlYWRzIgorI34gbXNnc3RyICJww6TDpHQiCisKKyN+IG1zZ2lkICIgYW5kICIKKyN+IG1zZ3N0ciAiIGphICIKKworI34gbXNnaWQgIlVuc3VwcG9ydGVkIHN1ZmZpeDogJyVzJy5cbiIKKyN+IG1zZ3N0ciAiVHVudGVtYXRvbiBqw6Rsa2lsaWl0ZTog4oCdJXPigJ0uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiU3VwcG9ydGVkOiAxMF5OOiBLQiAoS2lsb0J5dGUpLCBNQiAoTWVnYUJ5dGUpLCBHQiAoR2lnYUJ5dGUpXG4iCisjfiAiICAgICAgICAgICAgMl5OOiBLICAoS2liaUJ5dGUpLCBNICAoTWViaUJ5dGUpLCBHICAoR2liaUJ5dGUpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJUdW5uZXR1dDogIDEwXk46IEtCIChraWxvdGF2dSksIE1CIChtZWdhdGF2dSksIEdCIChnaWdhdGF2dSlcbiIKKyN+ICIgICAgICAgICAgICAyXk46IEsgIChraWJpdGF2dSksIE0gIChtZWJpdGF2dSksIEcgIChnaWJpdGF2dSlcbiIKKworI34gbXNnaWQgIlVzaW5nIGRlZmF1bHQgdmFsdWUgJXVcbiIKKyN+IG1zZ3N0ciAiS8OkeXRldMOkw6RuIG9sZXR1c2Fydm9hICV1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZCBNQiwgJWxsZCBieXRlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkxldnkgJXM6ICVsZCBNdCwgJWxsZCB0YXZ1YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbGQuJWxkIEdCLCAlbGx1IGJ5dGVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGV2eSAlczogJWxkLiVsZCBHdCwgJWxsZCB0YXZ1YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiwgJWxsdSBzZWN0b3JzXG4iCisjfiBtc2dzdHIgIiwgeWh0ZWVuc8OkICVsbHUgc2VrdG9yaWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHdyaXRlIGRpc2sgbGFiZWwiCisjfiBtc2dzdHIgIkxldnlhc2VtYWxsZSBlaSB2b2kga2lyam9pdHRhYSIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJFcnJvciBjbG9zaW5nIGZpbGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlZpcmhlIHN1bGpldHRhZXNzYSB0aWVkb3N0b2FcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBzZXR0aW5nIHNlY3RvciBvZmZzZXQgZm9yIERPUyBjb21wYXRpYmlsaXR5XG4iCisjfiBtc2dzdHIgIlZhcm9pdHVzOiBhc2V0ZXRhYW4gc2VrdG9yaXNpaXJ0eW3DpCBET1MteWh0ZWVuc29waXZ1dXR0YSB2YXJ0ZW5cbiIKKworI34gbXNnaWQgIkRldGVjdGVkIGFuIE9TRi8xIGRpc2tsYWJlbCBvbiAlcywgZW50ZXJpbmcgZGlza2xhYmVsIG1vZGUuXG4iCisjfiBtc2dzdHIgIkhhdmFpdHRpaW4gT1NGLzEtbGV2eW5pbWnDtiBsYWl0dGVlbGxhICVzLCBzaWlycnl0w6TDpG4gbGV2eW5pbWnDtnRpbGFhbi5cbiIKKworI34gbXNnaWQgIk5ldyBkaXNrIGlkZW50aWZpZXIgKGN1cnJlbnQgMHglMDh4KTogIgorI34gbXNnc3RyICJMZXZ5biB1dXNpIHR1bm5pc3RlIChueWt5aW5lbiAweCUwOHgpOiAiCisKKyN+IG1zZ2lkICJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlXG4iCisjfiBtc2dzdHIgIkVpIHZhcGFpdGEgc2VrdG9yZWl0YSBrw6R5dGV0dMOkdmlzc8OkXG4iCisKKyN+IG1zZ2lkICJMYXN0ICUxJHMsICslMiRzIG9yICtzaXple0ssTSxHfSIKKyN+IG1zZ3N0ciAiVmlpbWVpbmVuICUxJHMsICslMiRzIHRhaSAra29rb3tLLE0sR30iCisKKyN+IG1zZ2lkICIgICAgIHBoeXM9KCVkLCAlZCwgJWQpICIKKyN+IG1zZ3N0ciAiICAgICBmeXlzaW5lbj0oJWQsICVkLCAlZCkgIgorCisjfiBtc2dpZCAibG9naWNhbD0oJWQsICVkLCAlZClcbiIKKyN+IG1zZ3N0ciAibG9vZ2luZW49KCVkLCAlZCwgJWQpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogYmFkIHN0YXJ0LW9mLWRhdGEgaW4gcGFydGl0aW9uICV6ZFxuIgorI34gbXNnc3RyICJWYXJvaXR1czogdmlyaGVlbGxpbmVuIGRhdGFuIGFsa3Vrb2h0YSBvc2lvc3NhICVkXG4iCisKKyN+IG1zZ2lkICJBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvblxuIgorI34gbXNnc3RyICJMaXPDpHTDpMOkbiBlbnNpw7Zvc2lvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IElmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55IERPUyA2LnhwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBmZGlzayBtYW51YWwgcGFnZSBmb3IgYWRkaXRpb25hbGluZm9ybWF0aW9uLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVkFST0lUVVM6IEpvcyBET1MgNi54IC1vc2lvaXRhIGx1b3RpaW4gdGFpIG11dXRldHRpaW4sXG4iCisjfiAia2F0c28gbGlzw6R0aWV0b2phIGZkaXNraW4gbWFudWFhbGlzaXZ1bHRhLlxuIgorCisjfiBtc2dpZCAiJSpzIEJvb3QgICAgICBTdGFydCAgICAgICAgIEVuZCAgICAgIEJsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiJSpzIEvDpHlubiAgICAgQWxrdSAgICAgICAgICBMb3BwdSAgICBMb2hrb3QgICBJZCAgSsOkcmplc3RlbG3DpFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGV2eSAlczogJWQgcMOkw6R0w6QsICVsbHUgc2VrdG9yaWEsICVkIHN5bGludGVyacOkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJOciBBRiAgSGQgU2VjICBDeWwgIEhkIFNlYyAgQ3lsICAgICBTdGFydCAgICAgIFNpemUgSURcbiIKKyN+IG1zZ3N0ciAiTm8gQUYgUMOkw6QgU2VrdCBTeWwgUMOkw6QgU2VrdCBTeWwgICAgIEFsa3UgICAgICAgS29rbyBJRFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0VGhlcmUgaXMgYSB2YWxpZCBNYWMgbGFiZWwgb24gdGhpcyBkaXNrLlxuIgorI34gIlx0VW5mb3J0dW5hdGVseSBmZGlzaygxKSBjYW5ub3QgaGFuZGxlIHRoZXNlIGRpc2tzLlxuIgorI34gIlx0VXNlIGVpdGhlciBwZGlzayBvciBwYXJ0ZWQgdG8gbW9kaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUuXG4iCisjfiAiXHROZXZlcnRoZWxlc3Mgc29tZSBhZHZpY2U6XG4iCisjfiAiXHQxLiBmZGlzayB3aWxsIGRlc3Ryb3kgaXRzIGNvbnRlbnRzIG9uIHdyaXRlLlxuIgorI34gIlx0Mi4gQmUgc3VyZSB0aGF0IHRoaXMgZGlzayBpcyBOT1QgYSBzdGlsbCB2aXRhbFxuIgorI34gIlx0ICAgcGFydCBvZiBhIHZvbHVtZSBncm91cC4gKE90aGVyd2lzZSB5b3UgbWF5XG4iCisjfiAiXHQgICBlcmFzZSB0aGUgb3RoZXIgZGlza3MgYXMgd2VsbCwgaWYgdW5taXJyb3JlZC4pXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJcdFTDpGxsw6QgbGV2eWxsw6Qgb24ga2Vsdm9sbGluZW4gTWFjLW5pbWnDti5cbiIKKyN+ICJcdFZhbGl0ZXR0YXZhc3RpIGZkaXNrKDEpIGVpIG9zYWEga8Okc2l0ZWxsw6QgdMOkbGxhaXNpYVxuIgorI34gIlx0bGV2eWrDpC4gS8OkeXTDpCBqb2tvIHBkaXNracOkIHRhaSBwYXJ0ZWRpYSBvc2lvdGF1bHVuXG4iCisjfiAiXHRtdXV0dGFtaXNlZW4uXG4iCisjfiAiXHRKb2l0YWtpbiBuZXV2b2phOlxuIgorI34gIlx0MS4gZmRpc2sgdHVob2FhIGxldnluIHRpZWRvdCBraXJqb2l0ZXR0YWVzc2EuXG4iCisjfiAiXHQyLiBWYXJtaXN0YSwgZXR0w6QgdMOkbcOkIGxldnkgRUkgb2xlIGVuw6TDpCBlbGludMOkcmtlw6RcbiIKKyN+ICJcdCAgIG9zYSBvc2lvcnlobcOkw6QuIChKb3Mgb24sIG11dXRraW4gbGV2eXQgc2FhdHRhdmF0XG4iCisjfiAiXHQgICB0eWhqZW50ecOkLCBlbGxlaSBuaWl0w6Qgb2xlIHBlaWxhdHR1LilcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdFNvcnJ5IC0gdGhpcyBmZGlzayBjYW5ub3QgaGFuZGxlIE1hYyBkaXNrIGxhYmVscy5cbiIKKyN+ICJcdElmIHlvdSB3YW50IHRvIGFkZCBET1MtdHlwZSBwYXJ0aXRpb25zLCBjcmVhdGVcbiIKKyN+ICJcdGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUgZmlyc3QuIChVc2Ugby4pXG4iCisjfiAiXHRXQVJOSU5HOiBUaGlzIHdpbGwgZGVzdHJveSB0aGUgcHJlc2VudCBkaXNrIGNvbnRlbnRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXHRWYWxpdGV0dGF2YXN0aSB0w6Rtw6QgZmRpc2sgZWkgb3NhYSBrw6RzaXRlbGzDpCBNYWMtbGV2eW5pbWnDtml0w6QuXG4iCisjfiAiXHRKb3MgaGFsdWF0IGxpc8OkdMOkIERPUy10eXlwcGlzacOkIG9zaW9pdGEsIGx1byBlbnNpblxuIgorI34gIlx0dXVzaSBET1Mtb3Npb3RhdWx1LiAoS29tZW50byBvLilcbiIKKyN+ICJcdFZBUk9JVFVTOiBVdWRlbiBvc2lvdGF1bHVuIGx1b21pbmVuIHR1aG9hYSBsZXZ5biBueWt5aXNlbiBzaXPDpGxsw7ZuLlxuIgorCisjfiBtc2dpZCAiQWNjb3JkaW5nIHRvIE1JUFMgQ29tcHV0ZXIgU3lzdGVtcywgSW5jIHRoZSBMYWJlbCBtdXN0IG5vdCBjb250YWluIG1vcmUgdGhhbiA1MTIgYnl0ZXNcbiIKKyN+IG1zZ3N0ciAiTUlQUyBDb21wdXRlciBTeXN0ZW1zLCBJbmM6aW4gbXVrYWFuIG5pbWnDtnNzw6Qgc2FhIG9sbGEga29ya2VpbnRhYW4gNTEyIHRhdnVhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFNHSSBkaXNrIGxhYmVsKTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogJWxkIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJMZXZ5ICUxJHMgKFNHSS1sZXZ5bmltacO2KTogJTIkZCBww6TDpHTDpCwgJTMkbGx1IHNla3RvcmlhLCAlNCRkIHN5bGludGVyacOkXG4iCisjfiAiWWtzaWvDtnQgPSAlNiRkICogJTckZCAtdGF2dWlzZXQgJTUkc1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIi0tLS0tIHBhcnRpdGlvbnMgLS0tLS1cbiIKKyN+ICJQdCMgJSpzICBJbmZvICAgICBTdGFydCAgICAgICBFbmQgICBTZWN0b3JzICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLS0tLSBvc2lvdCAtLS0tLVxuIgorI34gIk9zIyAlKnMgIEluZm8gICAgIEFsa3UgICAgICAgIExvcHB1IFNla3Rvcml0IElkICBKw6RyamVzdGVsbcOkXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiLS0tLS0gQm9vdGluZm8gLS0tLS1cbiIKKyN+ICJCb290ZmlsZTogJXNcbiIKKyN+ICItLS0tLSBEaXJlY3RvcnkgRW50cmllcyAtLS0tLVxuIgorI34gbXNnc3RyICIiCisjfiAiLS0tLS0gS8OkeW5uaXN0eXNpbmZvIC0tLS0tXG4iCisjfiAiS8OkeW5uaXN0eXN0aWVkb3N0bzogJXNcbiIKKyN+ICItLS0tLSBIYWtlbWlzdG9tZXJraW5uw6R0IC0tLS0tXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJTJ6ZDogJS0xMHMgc2VjdG9yJTV1IHNpemUlOHVcbiIKKyN+IG1zZ3N0ciAiJTJkOiAlLTEwcyBzZWt0b3JpJTV1IGtva28lOHVcbiIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZFxuIgorI34gbXNnc3RyICJFaSBtw6TDpHJpdGVsdHlqw6Qgb3Npb2l0YVxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gaXMgb25seSAlZCBkaXNrYmxvY2sgbGFyZ2UsXG4iCisjfiAiYnV0IHRoZSBkaXNrIGlzICVkIGRpc2tibG9ja3MgbG9uZy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIktva28gbGV2eW4gb3NpbyBvbiB2YWluICVkIGxldnlsb2hrb24ga29rb2luZW4sXG4iCisjfiAibXV0dGEgbGV2eSBvbiAlZCBsZXZ5bG9oa29uIGtva29pbmVuLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGRvZXMgbm90IHN0YXJ0IG9uIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gbXNnc3RyICJPc2lvbiAlZCBhbGt1IGVpIG9sZSBzeWxpbnRlcmluIHJhamFsbGEuXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gbXNnc3RyICJPc2lvbiAlZCBsb3BwdSBlaSBvbGUgc3lsaW50ZXJpbiByYWphbGxhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAlemQgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuXG4iCisjfiBtc2dzdHIgIk9zaW8gJWQgb24gam8gbcOkw6RyaXRlbHR5LiBQb2lzdGEgc2UgZW5uZW4gdXVkZWxsZWVuIGxpc8Okw6RtaXN0w6QuXG4iCisKKyN+IG1zZ2lkICIgTGFzdCAlcyIKKyN+IG1zZ3N0ciAiIFZpaW1laW5lbiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJIRElPX0dFVEdFTyBpb2N0bCBmYWlsZWQgb24gJXMiCisjfiBtc2dzdHIgIkJMS0dFVFNJWkUtaW9jdGwgZXDDpG9ubmlzdHVpIGxhaXR0ZWVsbGUgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogIEJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiAgVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS5cbiIKKyN+ICJUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLlxuIgorI34gbXNnc3RyICIiCisjfiAiVmFyb2l0dXM6IEJMS0dFVFNJWkUtaW9jdGwgZXDDpG9ubmlzdHVpIGxhaXR0ZWVsbGUgJXMuIEvDpHl0ZXTDpMOkbiBnZW9tZXRyaWFuXG4iCisjfiAic3lsaW50ZXJpYXJ2b2EgJWQuIFTDpG3DpCBhcnZvIHZvaSB0eXBpc3R5w6QgbGFpdHRlaWxsYSwgam90a2Egb3ZhdCBzdXVyZW1waWFcbiIKKyN+ICJrdWluIDMzLDggR3QuXG4iCisKKyN+IG1zZ2lkICJJRD0lMDJ4XHRTVEFSVD0lZFx0TEVOR1RIPSVkXG4iCisjfiBtc2dzdHIgIklEPSUwMnhcdEFMS1U9JWRcdFBJVFVVUz0lZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRyeWluZyB0byBrZWVwIHBhcmFtZXRlcnMgb2YgcGFydGl0aW9ucyBhbHJlYWR5IHNldC5cbiIKKyN+IG1zZ3N0ciAiWXJpdGV0w6TDpG4gc8OkaWx5dHTDpMOkIG9zaW9uICVkIHBhcmFtZXRyaXQuXG4iCisKKyN+IG1zZ2lkICJZRVNcbiIKKyN+IG1zZ3N0ciAiSkFBXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQnVpbGRpbmcgYSBuZXcgU3VuIGRpc2tsYWJlbC4iCisjfiBtc2dzdHIgIkxhaXR0ZWVsbGEgJXMgZWkgb2xlIGxldnluaW1pw7Z0w6QuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFN1biBkaXNrIGxhYmVsKTogJXUgaGVhZHMsICVsbHUgc2VjdG9ycywgJWQgcnBtXG4iCisjfiAiJWxsdSBjeWxpbmRlcnMsICVkIGFsdGVybmF0ZSBjeWxpbmRlcnMsICVkIHBoeXNpY2FsIGN5bGluZGVyc1xuIgorI34gIiVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiAiTGFiZWwgSUQ6ICVzXG4iCisjfiAiVm9sdW1lIElEOiAlc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiA1MTIgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkxldnkgJTEkcyAoU3VuLWxldnluaW1pw7YpOiAlMiRkIHDDpMOkdMOkLCAlMyRsbHUgc2VrdG9yaWFcbiIKKyN+ICIlNCRkIGtpZXJyb3N0YSBtaW51dXRpc3NhLCAlNSRkIHN5bGludGVyacOkLCAlNiRkIHZhaWh0b2VodG9pc3RhXG4iCisjfiAic3lsaW50ZXJpw6QsICU3JGQgZnl5c2lzdMOkIHN5bGludGVyacOkLCAlOCRkIHlsaW3DpMOkcsOkaXN0w6Qgc2VrdC9zeWxcbiIKKyN+ICJsb21pdHVzICU5JGQ6MVxuIgorI34gIk5pbWnDtnR1bm5pc3RlOiAlMTAkc1xuIgorI34gIk9zaW90dW5uaXN0ZTogJTExJHNcbiIKKyN+ICJZa3Npa8O2dCA9ICUxMyRkICogNTEyIC10YXZ1aXNldCAlMTIkc1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTdW4gZGlzayBsYWJlbCk6ICV1IGhlYWRzLCAlbGx1IHNlY3RvcnMsICVsbHUgY3lsaW5kZXJzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqIDUxMiBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGV2eSAlMSRzIChTdW4tbGV2eW5pbWnDtik6ICUyJGQgcMOkw6R0w6QsICUzJGxsdSBzZWt0b3JpYSwgJTQkZCBzeWxpbnRlcmnDpFxuIgorI34gIllrc2lrw7Z0ID0gJTYkZCAqIDUxMiAtdGF2dWlzZXQgJTUkc1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiJSpzIEZsYWcgICAgU3RhcnQgICAgICAgRW5kICAgIEJsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiJSpzIExpcHB1ICAgQWxrdSAgICAgICAgTG9wcHUgIExvaGtvdCAgIElkICBKw6RyamVzdGVsbcOkXG4iCisKKyN+IG1zZ2lkICIlcyAtQW4gZGV2aWNlXHQgYWN0aXZhdGUgcGFydGl0aW9uIG4sIGluYWN0aXZhdGUgdGhlIG90aGVyIG9uZXNcbiIKKyN+IG1zZ3N0ciAiJXMgLUFuIGxhaXRlXHQgYWt0aXZvaSBvc2lvIG4sIHBvaXN0YSBtdWlkZW4gYWt0aXZvaW50aVxuIgorCisjfiBtc2dpZCAiIgorI34gIkRvbmVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlZhbG1pc1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNyZWF0ZWQgcGFydGl0aW9uICV6ZFxuIgorI34gbXNnc3RyICJWYWxpdHRpaW4gb3NpbyAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPFVTRVI+IENPTU1BTkRcbiIKKyN+IG1zZ3N0ciAiS8OkeXR0w7Y6ICVzIFt2YWxpdHNpbWV0XSBsYWl0ZSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbVVNFUiBbYXJnXS4uLl1cbiIKKyN+IG1zZ3N0ciAiS8OkeXR0w7Y6ICVzIFt2YWxpdHNpbWV0XSA8b2hqZWxtYT4gW2FyZy4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjcnlwdCBmYWlsZWQ6ICVtXG4iCisjfiBtc2dzdHIgImtpcmpvaXR0YW1pbmVuIGVww6Rvbm5pc3R1aTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2FuIG5vdCBmb3JrOiAlbVxuIgorI34gbXNnc3RyICIlczogaGFhcmF1dHRhbWluZW4gZWkgb25uaXN0dTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYWlsZWQgdG8gb3Blbi9jcmVhdGUgJXM6ICVtXG4iCisjfiBtc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB0byBsb2NrICVzOiAlbVxuIgorI34gbXNnc3RyICJ0aWVkb3N0b24gJXMgdGlsYWEgZWkgdm9pIGx1a2VhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJhZCBudW1iZXI6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiB2aXJoZWVsbGluZW4gYXJ2b1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIGZhaWxlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGxpaXRvcyBlcMOkb25uaXN0dWkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gbXNnc3RyICJLw6R5dHTDtjogJXMgW3ZhbGl0c2ltZXRdIGxhaXRlIC4uLlxuIgorCisjfiBtc2dpZCAiYnVnIGluIHhzdHJuZHVwIGNhbGwiCisjfiBtc2dzdHIgIm9oamVsbWlzdG92aWthIHhzdHJuZHVwLWt1dHN1c3NhIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvbm5lY3QgJXMiCisjfiBtc2dzdHIgIm5mcyBjb25uZWN0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlLi4uXVxuIgorI34gbXNnc3RyICJLw6R5dHTDtjogJXMgW3ZhbGl0c2ltZXRdIGxhaXRlIC4uLlxuIgorCisjfiBtc2dpZCAibWtmcyAoJXMpXG4iCisjfiBtc2dzdHIgIm1rZnMgKCVzKVxuIgorCisjfiBtc2dpZCAic3RydG9sIGVycm9yOiBudW1iZXIgb2YgYmxvY2tzIG5vdCBzcGVjaWZpZWQiCisjfiBtc2dzdHIgInN0cnRvbC12aXJoZTogbG9oa29qZW4gbcOkw6Ryw6TDpCBlaSBvbGUgYW5uZXR0dSIKKworI34gbXNnaWQgIm9uZSBiYWQgcGFnZVxuIgorI34gbXNnc3RyICJ5a3NpIHZpYWxsaW5lbiBzaXZ1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICBvbiB3aG9sZSBkaXNrLiAiCisjfiBtc2dzdHIgIiAgIHMgICAgbsOkeXTDpCB0w6R5ZGVsbGluZW4gbGV2eW5pbWnDtiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJkb2VzIG5vdCBzdXBwb3J0IHN3YXBzcGFjZSB2ZXJzaW9uICVkLiIKKyN+IG1zZ3N0ciAiJXM6IHZpcmhlOiB0dW50ZW1hdG9uIHZlcnNpbyAlZFxuIgorCisjfiBtc2dpZCAiV2FybmluZyEhICBVbnN1cHBvcnRlZCBHUFQgKEdVSUQgUGFydGl0aW9uIFRhYmxlKSBkZXRlY3RlZC4gVXNlIEdOVSBQYXJ0ZWQuIgorI34gbXNnc3RyICJWYXJvaXR1cyEhIEhhdmFpdHR1IGVpLXR1ZXR0dSBHUFQgKEdVSUQgUGFydGl0aW9uIFRhYmxlKS4gS8OkeXTDpCBHTlUgUGFydGVkaWEuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0VGhlcmUgaXMgYSB2YWxpZCBBSVggbGFiZWwgb24gdGhpcyBkaXNrLlxuIgorI34gIlx0VW5mb3J0dW5hdGVseSBMaW51eCBjYW5ub3QgaGFuZGxlIHRoZXNlXG4iCisjfiAiXHRkaXNrcyBhdCB0aGUgbW9tZW50LiAgTmV2ZXJ0aGVsZXNzIHNvbWVcbiIKKyN+ICJcdGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+ICJcdDMuIEJlZm9yZSBkZWxldGluZyB0aGlzIHBoeXNpY2FsIHZvbHVtZSBiZSBzdXJlXG4iCisjfiAiXHQgICB0byByZW1vdmUgdGhlIGRpc2sgbG9naWNhbGx5IGZyb20geW91ciBBSVhcbiIKKyN+ICJcdCAgIG1hY2hpbmUuICAoT3RoZXJ3aXNlIHlvdSBiZWNvbWUgYW4gQUlYcGVydCkuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHRUw6RsbMOkIGxldnlsbMOkIG9uIGtlbHZvbGxpbmVuIEFJWC1uaW1pw7YuXG4iCisjfiAiXHRWYWxpdGV0dGF2YXN0aSBMaW51eCBlaSB0b2lzdGFpc2Vrc2kgb3NhYSBcbiIKKyN+ICJcdGvDpHNpdGVsbMOkIHTDpGxsYWlzaWEgbGV2eWrDpC5cbiIKKyN+ICJcdEpvaXRha2luIG5ldXZvamE6XG4iCisjfiAiXHQxLiBmZGlzayB0dWhvYWEgbGV2eW4gdGllZG90IGtpcmpvaXRldHRhZXNzYS5cbiIKKyN+ICJcdDIuIFZhcm1pc3RhLCBldHTDpCB0w6Rtw6QgbGV2eSBFSSBvbGUgZW7DpMOkIGVsaW50w6Rya2XDpFxuIgorI34gIlx0ICAgb3NhIG9zaW9yeWhtw6TDpC4gKEpvcyBvbiwgbXV1dGtpbiBsZXZ5dCBzYWF0dGF2YXRcbiIKKyN+ICJcdCAgIHR5aGplbnR5w6QsIGVsbGVpIG5paXTDpCBvbGUgcGVpbGF0dHUuKVxuIgorI34gIlx0My4gVmFybWlzdGEgZW5uZW4gdMOkbcOkbiBmeXlzaXNlbiBvc2lvbiB0dWhvYW1pc3RhLFxuIgorI34gIlx0ICAgZXR0w6QgbGV2eSBvbiBsb29naXNlc3RpIHBvaXN0ZXR0dSBBSVgta29uZWVzdGEuXG4iCisjfiAiXHQgICAoTXV1c3NhIHRhcGF1a3Nlc3NhIHNpbnVzdGEgdHVsZWUgQUlYcGVydHRpKS4iCisKKyN+IG1zZ2lkICIiCisjfiAiXHRTb3JyeSAtIHRoaXMgZmRpc2sgY2Fubm90IGhhbmRsZSBBSVggZGlzayBsYWJlbHMuXG4iCisjfiAiXHRJZiB5b3Ugd2FudCB0byBhZGQgRE9TLXR5cGUgcGFydGl0aW9ucywgY3JlYXRlXG4iCisjfiAiXHRhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIGZpcnN0LiAoVXNlIG8uKVxuIgorI34gIlx0V0FSTklORzogVGhpcyB3aWxsIGRlc3Ryb3kgdGhlIHByZXNlbnQgZGlzayBjb250ZW50cy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlx0VmFsaXRldHRhdmFzdGkgdMOkbcOkIGZkaXNrIGVpIG9zYWEga8Okc2l0ZWxsw6QgQUlYLWxldnluaW1pw7ZpdMOkLlxuIgorI34gIlx0Sm9zIGhhbHVhdCBsaXPDpHTDpCBET1MtdHl5cHBpc2nDpCBvc2lvaXRhLCBsdW8gZW5zaW5cbiIKKyN+ICJcdHV1c2kgRE9TLW9zaW90YXVsdS4gKEtvbWVudG8gby4pXG4iCisjfiAiXHRWQVJPSVRVUzogVXVkZW4gb3Npb3RhdWx1biBsdW9taW5lbiB0dWhvYWEgbGV2eW4gbnlreWlzZW4gc2lzw6RsbMO2bi5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJCU0QgbGFiZWwgZm9yIGRldmljZTogJXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkJTRC1uaW1pw7YgbGFpdHRlZWxsZTogJXNcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlZCBoYXMgZW1wdHkgdHlwZVxuIgorI34gbXNnc3RyICJWYXJvaXR1czogb3Npb2xsYSAlZCBvbiB0eWhqw6QgdHl5cHBpXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWkgZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gbXNnc3RyICJPc2lvbiAlaSBsb3BwdSBlaSBvbGUgc3lsaW50ZXJpbiByYWphbGxhLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IEdQVCAoR1VJRCBQYXJ0aXRpb24gVGFibGUpIGRldGVjdGVkIG9uICclcychIFRoZSB1dGlsIGZkaXNrIGRvZXNuJ3Qgc3VwcG9ydCBHUFQuIFVzZSBHTlUgUGFydGVkLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVkFST0lUVVM6IEdQVCAoR1VJRCBQYXJ0aXRpb24gVGFibGUpIGhhdmFpdHR1IGxhaXR0ZWVsbGEg4oCdJXPigJ0hIEZkaXNrIGVpIHR1ZSBHUFQ6dMOkLiBLw6R5dMOkIEdOVSBQYXJ0ZWRpw6QuXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm90ZTogc2VjdG9yIHNpemUgaXMgJWxkIChub3QgJWQpXG4iCisjfiBtc2dzdHIgIkh1b206IHNla3Rvcmlrb2tvIG9uICVkIChlaSAlZClcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBHUFQgKEdVSUQgUGFydGl0aW9uIFRhYmxlKSBkZXRlY3RlZCBvbiAnJXMnISBUaGUgdXRpbCBzZmRpc2sgZG9lc24ndCBzdXBwb3J0IEdQVC4gVXNlIEdOVSBQYXJ0ZWQuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJWQVJPSVRVUzogR1BUIChHVUlEIFBhcnRpdGlvbiBUYWJsZSkgaGF2YWl0dHUgbGFpdHRlZWxsYSDigJ0lc+KAnSEgU2ZkaXNrIGVpIHR1ZSBHUFQ6dMOkLiBLw6R5dMOkIEdOVSBQYXJ0ZWRpw6QuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJVc2UgdGhlIC0tZm9yY2UgZmxhZyB0byBvdmVycnVsZSB0aGlzIGNoZWNrLlxuIgorI34gbXNnc3RyICJLw6R5dMOkIC0tZm9yY2UgLXZhbGl0c2ludGEgb2hpdHRhYWtzZXNpIHTDpG3DpG4gdGFya2lzdHVrc2VuLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImV4ZWMgJXMgZmFpbGVkIgorI34gbXNnc3RyICJrw6R5bm5pc3R5cyBlcMOkb25uaXN0dWlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZXhlYyBmYWlsZWQiCisjfiBtc2dzdHIgInNpaXJ0eW1pbmVuIGVww6Rvbm5pc3R1aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUSU9DU0NUVFk6IGlvY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAiVElPQ1NDVFRZIGVww6Rvbm5pc3R1aTogJW0iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWytmb3JtYXRdIFtkYXkgbW9udGggeWVhcl1cbiIKKyN+IG1zZ3N0ciAia8OkeXR0w7Y6ICVzIFsrbXVvdG9dIFtww6RpdsOkIGt1dWthdXNpIHZ1b3NpXVxuIgorCisjfiBtc2dpZCAiU3QuIFRpYidzIERheSIKKyN+IG1zZ3N0ciAiU3QuIFRpYidzIERheSIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC1zIHNpZ25hbCB8IC1wIF0gWyAtYSBdIHBpZCAuLi5cbiIKKyN+IG1zZ3N0ciAia8OkeXR0w7Y6ICVzIFsgLXMgc2lnbmFhbGkgfCAtcCBdIFsgLWEgXSBwaWQgLi4uXG4iCisKKyN+IG1zZ2lkICIgICAgICAgJXMgLWwgWyBzaWduYWwgXVxuIgorI34gbXNnc3RyICIgICAgICAgJXMgLWwgWyBzaWduYWFsaSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBwb3J0IG51bWJlciBhcmd1bWVudCIKKyN+IG1zZ3N0ciAidmlyaGVlbGxpbmVuIHZhbGl0c2luIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCisjfiBtc2dzdHIgIkvDpHl0dMO2OiAlcyBbdmFsaXRzaW1ldF0gbGFpdGUgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNvdWxkbid0IGxvY2sgaW50byBtZW1vcnkiCisjfiBtc2dzdHIgIk11aXN0aWEgZWkgdm9pdHUgbHVraXRhLCBwb2lzdHV0YWFuLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGFyZ3VtZW50IHRvIC1wIG9yIC0tcGFzcy1mZCBtdXN0IGJlIGEgbnVtYmVyIgorI34gbXNnc3RyICJtb3VudDogYXJndW1lbnRpbiB2YWxpdHNpbWVsbGUgLXAgdGFpIC0tcGFzcy1mZCBvbiBvbHRhdmEgbHVrdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleGVjdXRpbmcgJXMgZmFpbGVkIgorI34gbXNnc3RyICJrw6R5bm5pc3R5cyBlcMOkb25uaXN0dWlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlamVjdDogY2Fubm90IHNldCB1c2VyIGlkIgorI34gbXNnc3RyICJtb3VudDoga8OkeXR0w6Rqw6QtaWQ6dMOkIGVpIHZvaSBhc2V0dGFhOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZzZnJlZXplKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGlzw6R0aWV0b2phIG1hbnVhYWxpc2l2dWxsYSB3aXBlZnMoOCkuXG4iCisKKyN+IG1zZ2lkICJtYXggc2VnIHNpemUgKGtieXRlcykgPSAlbHVcbiIKKyN+IG1zZ3N0ciAic2VnbWVudGluIGVuaW1tw6Rpc2tva28gKGt0YXZ1YSkgPSAlbHVcbiIKKworI34gbXNnaWQgIm1pbiBzZWcgc2l6ZSAoYnl0ZXMpID0gJWx1XG4iCisjfiBtc2dzdHIgInNlZ21lbnRpbiB2w6RoaW1tw6Rpc2tva28gKHRhdnVhKSA9ICVsdVxuIgorCisjfiBtc2dpZCAic2htY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAic2htY3RsIGVww6Rvbm5pc3R1aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtc2djdGwgZmFpbGVkIgorI34gbXNnc3RyICJmc3luYyBlcMOkb25uaXN0dWkiCisKKyN+IG1zZ2lkICJjYnl0ZXM9JWxkXHRxYnl0ZXM9JWxkXHRxbnVtPSVsZFx0bHNwaWQ9JWRcdGxycGlkPSVkXG4iCisjfiBtc2dzdHIgImNieXRlcz0lbGRcdHFieXRlcz0lbGRcdHFudW09JWxkXHRsc3BpZD0lZFx0bHJwaWQ9JWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZW1jdGwgZmFpbGVkIgorI34gbXNnc3RyICJzaWlydHltaW5lbiBlcMOkb25uaXN0dWkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgZmFpbGVkIHRvIHVzZSBkZXZpY2UiCisjfiBtc2dzdHIgInNpdnV0dXNsYWl0dGVlbGxhIGVpIHZvaSBzaWlydHnDpCB0YWFrc2Vww6RpbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjb3VsZG4ndCBsb2NrIGludG8gbWVtb3J5IgorI34gbXNnc3RyICJNdWlzdGlhIGVpIHZvaXR1IGx1a2l0YSwgcG9pc3R1dGFhbi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIChwcm9iYWJseSB1bmtub3duIGVuY3J5cHRpb24gdHlwZSkiCisjfiBtc2dzdHIgInNpdnV0dXNsYWl0dGVlbGxhIGVpIHZvaSBzaWlydHnDpCB0YWFrc2Vww6RpbiIKKworI34gbXNnaWQgInJlbmljZSBmcm9tICVzXG4iCisjfiBtc2dzdHIgInJlbmljZSDigJMgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZXhlY3V0ZSAlcyIKKyN+IG1zZ3N0ciAiaW9jdGwoKSBlaSBvbm5pc3R1bnV0IGx1a2VtYWFuIGFpa2FhIGtvaHRlZXN0YSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleGVjdnAgZmFpbGVkIgorI34gbXNnc3RyICJrw6R5bm5pc3R5cyBlcMOkb25uaXN0dWlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleGVjdiBmYWlsZWQiCisjfiBtc2dzdHIgImvDpHlubmlzdHlzIGVww6Rvbm5pc3R1aVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUtMTVzJXMgW3ZlcnNpb24gJXhdXG4iCisjfiBtc2dzdHIgIiVzOiB2ZXJzaW8gJXNcbiIKKworI34gbXNnaWQgInVzZXJzIgorI34gbXNnc3RyICJrw6R5dHTDpGrDpMOkIgorCisjfiBtc2dpZCAidG9vIG1hbnkgaW92J3MgKGNoYW5nZSBjb2RlIGluIHdhbGwvdHR5bXNnLmMpIgorI34gbXNnc3RyICJsaWlhbiBtb250YSBpb3Y6dMOkIChtdXV0YSBrb29kaWEgdGllZG9zdG9zc2Egd2FsbC90dHltc2cuYykiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZXJyb3IuIgorI34gbXNnc3RyICJjb2w6IGtpcmpvaXR1c3ZpcmhlLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiS8OkeXR0w7Y6ICVzIFt2YWxpdHNpbWV0XSBsYWl0ZSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGNvbHVtbigxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkxpc8OkdGlldG9qYSBtYW51YWFsaXNpdnVsbGEgaXBjbWsoMSkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW9yZSAoJXMpXG4iCisjfiBtc2dzdHIgIm1rZnMgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzdGF0IGZpbGUgJXMiCisjfiBtc2dzdHIgImxhaXR0ZWVuICVzIHRpbGFhIGVpIHZvaSBsdWtlYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjb3VsZG4ndCBvcGVuICVzIgorI34gbXNnc3RyICJUaWVkb3N0b2EgJXMgZWkgdm9pdHUgYXZhdGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gb3BlbiAlcyIKKyN+IG1zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBkZXZpY2UgJXMiCisjfiBtc2dzdHIgImxhaXR0ZWVuICVzIHRpbGFhIGVpIHZvaSBsdWtlYSIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIGZpbGUgJyVzJyIKKyN+IG1zZ3N0ciAiVGllZG9zdG9hIOKAnSVz4oCdIGVpIHZvaSBhdmF0YSIKKworI34gbXNnaWQgIiIKKyN+ICJUaGlzIGRpc2sgaGFzIGJvdGggRE9TIGFuZCBCU0QgbWFnaWMuXG4iCisjfiAiR2l2ZSB0aGUgJ2InIGNvbW1hbmQgdG8gZ28gdG8gQlNEIG1vZGUuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJUw6RsbMOkIGxldnlsbMOkIG9uIHNla8OkIERPUy0sIGV0dMOkIEJTRC10YWlrYXRhdnV0LlxuIgorI34gIlNpaXJyeSBCU0QtdGlsYWFuIOKAnWLigJ0ta29tZW5ub2xsYS5cbiIKKworI34gbXNnaWQgInVuYWJsZSB0byBvcGVuICVzIgorI34gbXNnc3RyICJsYWl0ZXR0YSAlcyBlaSB2b2kgYXZhdGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6IGNhbm5vdCBvcGVuICVzIgorI34gbXNnc3RyICIlczogdGllZG9zdG9hICVzIGVpIHZvaSBhdmF0YVxuIgorCisjfiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMgZm9yIHJlYWRpbmcsIGV4aXRpbmcuIgorI34gbXNnc3RyICJUaWVkb3N0b2EgJXMgZWkgdm9pIGF2YXRhIGx1a3VhIHZhcnRlbiwgcG9pc3R1dGFhbi4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXMgZXDDpG9ubmlzdHVpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNhbm5vdCBvcGVuIC9kZXYvcG9ydCIKKyN+IG1zZ3N0ciAiRWkgdm9pIGF2YXRhIGxhaXRldHRhIC9kZXYvcG9ydDogJXMiCisKKyN+IG1zZ2lkICJvcGVuKCkgb2YgJXMgZmFpbGVkIgorI34gbXNnc3RyICJ0aWVkb3N0b24gJXMgYXZhYW1pbmVuIGVww6Rvbm5pc3R1aSIKKworI34gbXNnaWQgIk9wZW4gb2YgJXMgZmFpbGVkIgorI34gbXNnc3RyICJUaWVkb3N0b24gJXMgYXZhYW1pbmVuIGVww6Rvbm5pc3R1aSIKKworI34gbXNnaWQgIlVuYWJsZSB0byBvcGVuICVzIgorI34gbXNnc3RyICJMYWl0ZXR0YSAlcyBlaSB2b2kgYXZhdGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHNvdXJjZSBidWZmZXIiCisjfiBtc2dzdHIgIlB1c2t1cmlhIGVpIHZvaSB2YXJhdGEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgZGlyZWN0b3J5IgorI34gbXNnc3RyICJ0aWVkb3N0b24gJXMgdGlsYWEgZWkgdm9pIGx1a2VhIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBzdGF0IGRpcmVjdG9yeSAlcyIKKyN+IG1zZ3N0ciAidGllZG9zdG9uICVzIHRpbGFhIGVpIHZvaSBsdWtlYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiB0aW1pbmcgZmlsZSAlcyIKKyN+IG1zZ3N0ciAiVGllZG9zdG9hIOKAnSVz4oCdIGVpIHZvaSBhdmF0YSIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuICIKKyN+IG1zZ3N0ciAiRWkgdm9pIGF2YXRhICIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBcIiVzXCIgZm9yIHJlYWQiCisjfiBtc2dzdHIgIlRpZWRvc3RvYSDigJ0lc+KAnSBlaSB2b2kgYXZhdGEgbHVrdWEgdmFydGVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHN0YXQgXCIlc1wiIgorI34gbXNnc3RyICJsYWl0dGVlbiAlcyB0aWxhYSBlaSB2b2kgbHVrZWEiCisKKyN+IG1zZ2lkICIiCisjfiAidXNhZ2U6ICVzIFstaHZdIFsteCBkaXJdIGZpbGVcbiIKKyN+ICIgLWggICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyN+ICIgLXggZGlyICAgICBleHRyYWN0IGludG8gZGlyXG4iCisjfiAiIC12ICAgICAgICAgYmUgbW9yZSB2ZXJib3NlXG4iCisjfiAiIGZpbGUgICAgICAgZmlsZSB0byB0ZXN0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJrw6R5dHTDtjogJXMgWy1odl0gWy14IGhha10gdGllZG9zdG9cbiIKKyN+ICIgLWggICAgICAgICBuw6R5dMOkIHTDpG3DpCBvaGplXG4iCisjfiAiIC14IGhhayAgICAgcHVyYSBoYWtlbWlzdG9vbiBoYWtcbiIKKyN+ICIgLXYgICAgICAgICBtb25pc2FuYWlzdXVzXG4iCisjfiAiIHRpZWRvc3RvICAgdGFya2lzdGV0dGF2YSB0aWVkb3N0b1xuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstbGFydnNtZl0gL2Rldi9uYW1lXG4iCisjfiBtc2dzdHIgIkvDpHl0dMO2OiAlcyBbLWxhcnZzbWZdIC9kZXYvbmltaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBibG9ja3NpemUgYXJndW1lbnQiCisjfiBtc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yOiB3aWxsIG5vdCB0cnkgdG8gbWFrZSBzd2FwZGV2aWNlIG9uICclcyciCisjfiBtc2dzdHIgIiVzOiB2aXJoZTogZWkgeXJpdGV0w6QgbHVvZGEgc2l2dXR1c2xhaXRldHRhIGtvaHRlZXNlZW4g4oCdJXPigJ1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnICglcylcbiIKKyN+IG1zZ3N0ciAibGFpdHRlZW4gJXMgdGlsYWEgZWkgdm9pIGx1a2VhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkvDpHl0dMO2OiAlcyBbdmFsaXRzaW1ldF0gPHRpZWRvc3RvbmltaT5cbiIKKyN+ICJcbiIKKyN+ICJWYWxpdHNpbWV0OlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgc3dhcGxhYmVsKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGlzw6R0aWV0b2phIG1hbnVhYWxpc2l2dWxsYSB3aXBlZnMoOCkuXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWkgZG9lcyBub3Qgc3RhcnQgb24gY3lsaW5kZXIgYm91bmRhcnk6XG4iCisjfiBtc2dzdHIgIk9zaW9uICVpIGFsa3UgZWkgb2xlIHN5bGludGVyaW4gcmFqYWxsYTpcbiIKKworI34gbXNnaWQgInNob3VsZCBiZSAoJWQsICVkLCAxKVxuIgorI34gbXNnc3RyICJwaXTDpMOkIG9sbGEgKCVkLCAlZCwgMSlcbiIKKworI34gbXNnaWQgInNob3VsZCBiZSAoJWQsICVkLCAlZClcbiIKKyN+IG1zZ3N0ciAicGl0w6TDpCBvbGxhICglZCwgJWQsICVkKVxuIgorCisjfiBtc2dpZCAiVGhpcyBrZXJuZWwgZmluZHMgdGhlIHNlY3RvciBzaXplIGl0c2VsZiAtIC1iIG9wdGlvbiBpZ25vcmVkXG4iCisjfiBtc2dzdHIgIlTDpG3DpCB5ZGluIGzDtnl0w6TDpCBzZWt0b3JpbiBrb29uIGl0c2Ug4oCTIC1iLXZhbGl0c2ludGEgZWkgaHVvbWlvaWRhXG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5P1xuIgorI34gbXNnc3RyICJtdWlzdGkgbG9wdXNzYT9cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJzZmRpc2s6IHByZW1hdHVyZSBlbmQgb2YgaW5wdXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gInNmZGlzazogZW5uZW5haWthaW5lbiBzecO2dHRlZW4gbG9wcHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXQVJOSU5HOiBjb3VsZG4ndCBvcGVuICVzIgorI34gbXNnc3RyICJWQVJPSVRVUzogdGllZG9zdG9hICVzIGVpIHZvaSBhdmF0YTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXBvY2giCisjfiBtc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJZb3UgaGF2ZSBzcGVjaWZpZWQgbXVsdGlwbGUgZnVuY3Rpb25zLlxuIgorI34gIllvdSBjYW4gb25seSBwZXJmb3JtIG9uZSBmdW5jdGlvbiBhdCBhIHRpbWUuIgorI34gbXNnc3RyICIiCisjfiAiTW9udGEgdG9pbWludG9hIG3DpMOkcml0ZWx0eS5cbiIKKyN+ICJWYWluIHlrc2kgdG9pbWludG8gdm9pZGFhbiBzdW9yaXR0YWEga2VycmFsbGFhbi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgLS11dGMgYW5kIC0tbG9jYWx0aW1lIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC4iCisjfiBtc2dzdHIgIiVzOiBWYWxpdHNpbWV0IC0tdXRjIGphIC0tbG9jYWx0aW1lIG92YXQgdG9pc2Vuc2EgcG9pc3N1bGtldmF0LiBBbm5vaXQgbW9sZW1tYXQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIC0tYWRqdXN0IGFuZCAtLW5vYWRqZmlsZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuICBZb3Ugc3BlY2lmaWVkIGJvdGguIgorI34gbXNnc3RyICIlczogVmFsaXRzaW1ldCAtLWFkanVzdCBqYSAtLW5vYWRqZmlsZSBvdmF0IHRvaXNlbnNhIHBvaXNzdWxrZXZhdC4gS8OkeXRpdCBtb2xlbXBpYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgLS1hZGpmaWxlIGFuZCAtLW5vYWRqZmlsZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuICBZb3Ugc3BlY2lmaWVkIGJvdGguIgorI34gbXNnc3RyICIlczogVmFsaXRzaW1ldCAtLWFkamZpbGUgamEgLS1ub2FkamZpbGUgb3ZhdCB0b2lzZW5zYSBwb2lzc3Vsa2V2YXQuIEvDpHl0aXQgbW9sZW1waWEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGxvY2sgZ3JvdXAgZmlsZSIKKyN+IG1zZ3N0ciAibW91bnQ6IHJ5aG3DpC1pZDp0w6Qgdm9pIGFzZXR0YWE6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRoZSAlcyBmaWxlIGlzIGJ1c3kgKCVzIHByZXNlbnQpIgorI34gbXNnc3RyICIlczogdGllZG9zdG8gJXMgb24gdmFyYXR0dSAoJXMgb24gb2xlbWFzc2EpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmaW5kbW50KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGlzw6R0aWV0b2phIG1hbnVhYWxpc2l2dWxsYSBuYW1laSgxKS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2lndmFsIgorI34gbXNnc3RyICIlczogYXZhYW1pbmVuIGVww6Rvbm5pc3R1aTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwb3J0IGAlbGQnIG91dCBvZiByYW5nZSIKKyN+IG1zZ3N0ciAiQXJ2byBzYWxsaXR1biB2w6RsaW4gdWxrb3B1b2xlbGxhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbHNibGsoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJMaXPDpHRpZXRvamEgbWFudWFhbGlzaXZ1bGxhIHdpcGVmcyg4KS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIG9mZnNldCB2YWx1ZSAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiVmlyaGVlbGxpbmVuIGFzZXRldHR1IGFydm86ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2FybmluZzogZmFpbGVkIHRvIHJlYWQgbXRhYiIKKyN+IG1zZ3N0ciAidGllZG9zdG9uICVzIHRpbGFhIGVpIHZvaSBsdWtlYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY2xhc3MgZGF0YSIKKyN+IG1zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNsYXNzIgorI34gbXNnc3RyICIlczogYXZhYW1pbmVuIGVww6Rvbm5pc3R1aTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYnVmZmVyIHNpemUiCisjfiBtc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmYWxsb2NhdGUoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJMaXPDpHRpZXRvamEgbWFudWFhbGlzaXZ1bGxhIGZhbGxvY2F0ZSgxKS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZzdHJpbSg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkxpc8OkdGlldG9qYSBtYW51YWFsaXNpdnVsbGEgbmFtZWkoMSkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBzcGVlZCIKKyN+IG1zZ3N0ciAidmlyaGVlbGxpbmVuIG5vcGV1czogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBvZmZzZXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIlZpcmhlZWxsaW5lbiBhc2V0ZXR0dSBhcnZvOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgc2l6ZSAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiVmlyaGVlbGxpbmVuIGFzZXRldHR1IGFydm86ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBtb3VudHBvaW50KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGlzw6R0aWV0b2phIG1hbnVhYWxpc2l2dWxsYSBpcGNtaygxKS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgUElEIgorI34gbXNnc3RyICJsYWl0ZXR0YSAlcyBlaSB2b2kgYXZhdGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNlY29uZHMgdmFsdWUiCisjfiBtc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSB0aW1lX3QgdmFsdWUiCisjfiBtc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbHNibGsoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJMaXPDpHRpZXRvamEgbWFudWFhbGlzaXZ1bGxhIHdpcGVmcyg4KS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJhcmd1bWVudCAlbHUgaXMgdG9vIGxhcmdlIgorI34gbXNnc3RyICJsaWlhbiBwaXRrw6QgLS1kYXRlLWFyZ3VtZW50dGlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0ZXJtaW5hbCBlbnZpcm9ubWVudCBDT0xVTU5TIGZhaWxlZCIKKyN+IG1zZ3N0ciAidmFyYXR0dWphIHNlbWFmb3JlamEgPSAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImJhZCBsZW5ndGggdmFsdWUiCisjfiBtc2dzdHIgImhleGR1bXA6IHZpcmhlZWxsaW5lbiBwaXR1dXNhcnZvLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImJhZCBza2lwIHZhbHVlIgorI34gbXNnc3RyICJoZXhkdW1wOiB2aXJoZWVsbGluZW4gb2hpdHVzYXJ2by5cbiIKKworI34gbXNnaWQgIiVzOiBVc2FnZTogJXMgWy1udW1iZXJdIFstcCBzdHJpbmddIFstY2VmbnJzXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCisjfiBtc2dzdHIgIiVzOiBLw6R5dHTDtjogJXMgWy1udW1iZXJdIFstcCBtZXJra2lqb25vXSBbLWNlZm5yc10gWytyaXZpXSBbKy9oYWhtby9dIFt0aWVkb3N0b3RdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6ICVkOiBwYXJzZSBlcnJvciAtLSBsaW5lIGlnbm9yZWQuXG4iCisjfiBtc2dzdHIgInNpaXJ0eW1pc3ZpcmhlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhcm5pbmc6IGZhaWxlZCB0byBwYXJzZSAlcyIKKyN+IG1zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJS0yNXM6IGZhaWxlZDogJXNcbiIKKyN+IG1zZ3N0ciAiaGFhcmF1dHRhbWluZW4gZXDDpG9ubmlzdHVpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJS0yNXM6IGZhaWxlZFxuIgorI34gbXNnc3RyICIlcyBlcMOkb25uaXN0dWkuXG4iCisKKyN+IG1zZ2lkICIgICBkICAgZGVsZXRlIGEgQlNEIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgZCAgICBwb2lzdGEgQlNELW9zaW8iCisKKyN+IG1zZ2lkICIgICBuICAgYWRkIGEgbmV3IEJTRCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgIG4gICAgbGlzw6TDpCB1dXNpIEJTRC1vc2lvIgorCisjfiBtc2dpZCAiICAgdCAgIGNoYW5nZSBhIHBhcnRpdGlvbidzIGZpbGVzeXN0ZW0gaWQiCisjfiBtc2dzdHIgIiAgIHQgICAgdmFpaGRhIG9zaW9uIHRpZWRvc3RvasOkcmplc3RlbG3DpC1pZDp0w6QiCisKKyN+IG1zZ2lkICIgICB1ICAgY2hhbmdlIHVuaXRzIChjeWxpbmRlcnMvc2VjdG9ycykiCisjfiBtc2dzdHIgIiAgIHUgICAgdmFpaGRhIHlrc2lrw7Z0IChzeWxpbnRlcml0L3Nla3Rvcml0KSIKKworI34gbXNnaWQgIiAgIHAgICBwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICIgICBwICAgIG7DpHl0w6Qgb3Npb3RhdWx1IgorCisjfiBtc2dpZCAiIgorI34gIkJ1aWxkaW5nIGEgbmV3IERPUyBkaXNrbGFiZWwgd2l0aCBkaXNrIGlkZW50aWZpZXIgMHglMDh4LlxuIgorI34gIkNoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS5cbiIKKyN+ICJBZnRlciB0aGF0LCBvZiBjb3Vyc2UsIHRoZSBwcmV2aW91cyBjb250ZW50IHdvbid0IGJlIHJlY292ZXJhYmxlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiTXVvZG9zdGV0YWFuIHV1c2kgRE9TLWxldnluaW1pw7YsIHR1bm5pc3RlIDB4JTA4eC5cbiIKKyN+ICJNdXV0b2tzZXQgcGlkZXTDpMOkbiB2YWluIGvDpHl0dMO2bXVpc3Rpc3NhLCBrdW5uZXMgcMOkw6R0w6R0IGtpcmpvaXR0YWEgbmVcbiIKKyN+ICJsZXZ5bGxlLiBTZW4gasOkbGtlZW4gZWRlbGxpc3TDpCBzaXPDpGx0w7bDpCBlaSB0aWV0ZW5rw6TDpG4gdm9pZGEgZW7DpMOkXG4iCisjfiAicGFsYXV0dGFhLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiRGV2aWNlIGNvbnRhaW5zIG5laXRoZXIgYSB2YWxpZCBET1MgcGFydGl0aW9uIHRhYmxlLCBub3IgU3VuLCBTR0kgb3IgT1NGIGRpc2tsYWJlbFxuIgorI34gbXNnc3RyICJMYWl0dGVlbGxhIGVpIG9sZSBrZWx2b2xsaXN0YSBET1MtLCBTdW4tLCBTR0ktIGVpa8OkIE9TRi1sZXZ5bmltacO2dMOkXG4iCisKKyN+IG1zZ2lkICJJbnRlcm5hbCBlcnJvclxuIgorI34gbXNnc3RyICJTaXPDpGluZW4gdmlyaGVcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJcdFNvcnJ5LCBubyBleHBlcnRzIG1lbnUgZm9yIFNHSSBwYXJ0aXRpb24gdGFibGVzIGF2YWlsYWJsZS5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0VmFsaXRldHRhdmFzdGkgU0dJLW9zaW90YXVsdWlsbGUgZWkgb2xlIGFzaWFudHVudGlqYXZhbGlra29hLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiRG8gWW91IGtub3csIFlvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzaz9cbiIKKyN+IG1zZ3N0ciAiVGllZMOkdGvDtiwgZXR0w6QgbGV2eWxsw6Qgb24gcMOkw6RsbGVra8OkaXNpw6Qgb3Npb2l0YT9cbiIKKworI34gbXNnaWQgIiIKKyN+ICJCdWlsZGluZyBhIG5ldyBTR0kgZGlza2xhYmVsLiBDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LFxuIgorI34gInVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS4gQWZ0ZXIgdGhhdCwgb2YgY291cnNlLCB0aGUgcHJldmlvdXNcbiIKKyN+ICJjb250ZW50IHdpbGwgYmUgdW5yZWNvdmVyYWJseSBsb3N0LlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiTXVvZG9zdGV0YWFuIHV1c2kgU0dJLWxldnluaW1pw7YuIE11dXRva3NldCB0ZWhkw6TDpG4gdmFpbiBrw6R5dHTDtm11aXN0aWluLFxuIgorI34gImt1bm5lcyBww6TDpHTDpHQga2lyam9pdHRhYSBuZSBsZXZ5bGxlLiBTZW4gasOkbGtlZW4gZWRlbGxpc3TDpCBzaXPDpGx0w7bDpCBlaVxuIgorI34gInRpZXRlbmvDpMOkbiB2b2lkYSBwYWxhdXR0YWEuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5IC0gZ2l2aW5nIHVwXG4iCisjfiBtc2dzdHIgIm11aXN0aSBsb3B1c3NhIOKAkyBsdW92dXRldGFhblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbW91bnQoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJMaXPDpHRpZXRvamEgbWFudWFhbGlzaXZ1bGxhIGlwY21rKDEpLlxuIgorCisjfiBtc2dpZCAibG9naW46IG1lbW9yeSBsb3csIGxvZ2luIG1heSBmYWlsXG4iCisjfiBtc2dzdHIgImxvZ2luOiBtdWlzdGkgdsOkaGlzc8OkLCBraXJqYXV0dW1pbmVuIHZvaSBlcMOkb25uaXN0dWFcbiIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBmb3IgdHR5Y2xhc3MiCisjfiBtc2dzdHIgImtvaHRlZWxsZSB0dHljbGFzcyBlaSB2b2kgdmFyYXRhIG11aXN0aWEiCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgZm9yIGdycGxpc3QiCisjfiBtc2dzdHIgImtvaHRlZWxsZSBncnBsaXN0IGVpIHZvaSB2YXJhdGEgbXVpc3RpYSIKKworI34gbXNnaWQgIkxvZ2luIG9uICVzIGZyb20gJXMgZGVuaWVkLlxuIgorI34gbXNnc3RyICJLaXJqYXV0dW1pbmVuIHDDpMOkdHRlZWxsZSAlcyBvc29pdHRlZXN0YSAlcyBldsOkdHR5LlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsgLWYgZnVsbC1uYW1lIF0gWyAtbyBvZmZpY2UgXSAiCisjfiBtc2dzdHIgIkvDpHl0dMO2OiAlcyBbIC1mIGtva29uaW1pIF0gWyAtbyB0b2ltaXN0byBdICIKKworI34gbXNnaWQgIlsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorI34gbXNnc3RyICJbIC0taGVscCBdIFsgLS12ZXJzaW9uIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogUEFNIGZhaWx1cmUsIGFib3J0aW5nOiAlcyIKKyN+IG1zZ3N0ciAiJXM6IFBBTS12aXJoZSwga2Vza2V5dGV0w6TDpG46ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlMSRzIFstcyBzaGVsbF0gW3VzZXJuYW1lXVxuIgorI34gIiAgIG9yOiAlMSRzICgtLWxpc3Qtc2hlbGxzIHwgLS1oZWxwIHwgLS12ZXJzaW9uKVxuIgorI34gbXNnc3RyICIiCisjfiAiS8OkeXR0w7Y6ICVzIFsgLXMga3VvcmkgXSBbIC0tbGlzdC1zaGVsbHMgXSBbIC0taGVscCBdIFsgLS12ZXJzaW9uIF1cbiIKKyN+ICIgICAgICAgWyBrw6R5dHTDpGrDpHR1bm51cyBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzLiIKKyN+IG1zZ3N0ciAiJXM6IHZhaW4gcGFpa2FsbGlzaWEgbWVya2ludMO2asOkIHZvaSBtdXV0dGFhOyBrw6R5dMOkIHNlbiBzaWphYW4ga29tZW50b2EgeXAlcy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2FuJ3Qgc2V0IGRlZmF1bHQgY29udGV4dCBmb3IgL2V0Yy9wYXNzd2QiCisjfiBtc2dzdHIgIiVzOiBUaWVkb3N0b24gL2V0Yy9wYXNzd2Qgb2xldHVzeW1ww6RyaXN0w7bDpCBlaSB2b2kgYXNldHRhYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZXRwd25hbSBmYWlsZWQiCisjfiBtc2dzdHIgInNpaXJ0eW1pbmVuIGVww6Rvbm5pc3R1aSIKKworI34gbXNnaWQgIiVzOiBVc2UgLWwgb3B0aW9uIHRvIHNlZSBsaXN0LlxuIgorI34gbXNnc3RyICIlczogVmFsaXRzaW4gLWwgbsOkeXR0w6TDpCBsaXN0YW4uXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogbG9naW4gWy1mcF0gW3VzZXJuYW1lXVxuIgorI34gbXNnc3RyICJrw6R5dHTDtjogbG9naW4gWy1mcF0gW2vDpHl0dMOkasOkbmltaV1cbiIKKworI34gbXNnaWQgIm91dCBvZiBtZW1vcnkiCisjfiBtc2dzdHIgIm11aXN0aSBsb3B1c3NhIgorCisjfiBtc2dpZCAiSWxsZWdhbCB1c2VybmFtZSIKKyN+IG1zZ3N0ciAiVmlyaGVlbGxpbmVuIGvDpHl0dMOkasOkbmltaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyBsb2dpbiByZWZ1c2VkIG9uIHRoaXMgdGVybWluYWwuIgorI34gbXNnc3RyICJLw6R5dHTDpGrDpG4gJXMga2lyamF1dHVtaW5lbiBoeWzDpHR0eSB0w6RsbMOkIHDDpMOkdHRlZWxsw6QuXG4iCisKKyN+IG1zZ2lkICJMT0dJTiAlcyBSRUZVU0VEIEZST00gJXMgT04gVFRZICVzIgorI34gbXNnc3RyICJLw4RZVFTDhErDhE4gJXMgS0lSSkFVVFVNSU5FTiBIWUzDhFRUSUlOIE9TT0lUVEVFU1RBICVzLCBQw4TDhFRURUVMTMOEICVzIgorCisjfiBtc2dpZCAiTE9HSU4gJXMgUkVGVVNFRCBPTiBUVFkgJXMiCisjfiBtc2dzdHIgIkvDhFlUVMOESsOETiAlcyBLSVJKQVVUVU1JTkVOIEhZTMOEVFRJSU4gUMOEw4RUVEVFTEzDhCAlcyIKKworI34gbXNnaWQgIkxvZ2luIGluY29ycmVjdFxuIgorI34gbXNnc3RyICJWaXJoZWVsbGluZW4ga2lyamF1dHVtaW5lblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNoYW5nZSB0ZXJtaW5hbCBvd25lciBmYWlsZWQiCisjfiBtc2dzdHIgInZhcmF0dHVqYSBzZW1hZm9yZWphID0gJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsdXJlIGZvcmtpbmciCisjfiBtc2dzdHIgImxvZ2luOiB2aXJoZSBoYWFyYXV0ZXR0YWVzc2E6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIiVzIGxvZ2luOiAiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlcywga2lyamF1dHVtaW5lbjogIgorCisjfiBtc2dpZCAiTkFNRSB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiTklNSSBsaWlhbiBwaXRrw6QiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9naW4gbmFtZSBtdWNoIHRvbyBsb25nLiIKKyN+IG1zZ3N0ciAidHVubnVzIGFpdmFuIGxpaWFuIHBpdGvDpC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsb2dpbiBuYW1lcyBtYXkgbm90IHN0YXJ0IHdpdGggJy0nLiIKKyN+IG1zZ3N0ciAidHVubnVrc2V0IGVpdsOkdCB2b2kgYWxrYWEgbWVya2lsbMOkIOKAnS3igJ0uXG4iCisKKyN+IG1zZ2lkICJFWENFU1NJVkUgbGluZWZlZWRzIgorI34gbXNnc3RyICJMSUlLQUEgcml2aW52YWlodG9qYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0b28gbWFueSBiYXJlIGxpbmVmZWVkcy4iCisjfiBtc2dzdHIgImxpaWFuIG1vbnRhIHBlcsOka2vDpGlzdMOkIHJpdmludmFpaHRvYS5cbiIKKworI34gbXNnaWQgIkxPR0lOIEZBSUxVUkUgRlJPTSAlcywgJXMiCisjfiBtc2dzdHIgIkVQw4RPTk5JU1RVTlVUIEtJUkpBVVRVTUlORU4gT1NPSVRURUVTVEEgJXMsICVzIgorCisjfiBtc2dpZCAiTE9HSU4gRkFJTFVSRSBPTiAlcywgJXMiCisjfiBtc2dzdHIgIkVQw4RPTk5JU1RVTlVUIEtJUkpBVVRVTUlORU4gUMOEw4RUVEVFTFTDhCAlcywgJXMiCisKKyN+IG1zZ2lkICIlZCBMT0dJTiBGQUlMVVJFUyBGUk9NICVzLCAlcyIKKyN+IG1zZ3N0ciAiJWQgRVDDhE9OTklTVFVOVVRUQSBLSVJKQVVUVU1JU1RBIE9TT0lUVEVFU1RBICVzLCAlcyIKKworI34gbXNnaWQgIiVkIExPR0lOIEZBSUxVUkVTIE9OICVzLCAlcyIKKyN+IG1zZ3N0ciAiJWQgRVDDhE9OTklTVFVOVVRUQSBLSVJKQVVUVU1JU1RBIFDDhMOEVFRFRUxUw4QgJXMsICVzIgorCisjfiBtc2dpZCAiJXM6IHRoZSBncm91cCBmaWxlIGlzIGJ1c3kuXG4iCisjfiBtc2dzdHIgIiVzOiByeWhtw6R0aWVkb3N0byBvbiB2YXJhdHR1LlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHVubG9jayAlczogJXMgKHlvdXIgY2hhbmdlcyBhcmUgc3RpbGwgaW4gJXMpXG4iCisjfiBtc2dzdHIgIiVzOiB0aWVkb3N0b24gJXMgbHVraXR1c3RhIGVpIHZvaSBwb2lzdGFhOiAlcyAobXV1dG9rc2VzaSBvdmF0IGVkZWxsZWVuIHRpZWRvc3Rvc3NhICVzKVxuIgorCisjfiBtc2dpZCAiY2FsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAiY2FsbG9jIGVww6Rvbm5pc3R1aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXQVJOSU5HOiAlczogYXBwZWFycyB0byBjb250YWluICclcycgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJMZXZ5ICVzIGVpIHNpc8OkbGzDpCBrZWx2b2xsaXN0YSBvc2lvdGF1bHVhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCIKKyN+IG1zZ3N0ciAib3BlbnB0eSBlcMOkb25uaXN0dWlcbiIKKworI34gbXNnaWQgIiVzOiAvZGV2IGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdC4iCisjfiBtc2dzdHIgIiVzOiAvZGV2LWhha2VtaXN0b2EgZWkgb2xlIG9sZW1hc3NhLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBzZXQgY2FwYWNpdHkgb24gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBsYWl0dGVlbiAlcyB0aWV0b2phIGVpIHZvaSBoYWtlYTogJXNcbiIKKworI34gbXNnaWQgIiwgb2Zmc2V0ICU8UFJJdTY0PiIKKyN+IG1zZ3N0ciAiLCBzaWlydHltw6QgJTxQUkl1NjQ+IgorCisjfiBtc2dpZCAiLCBlbmNyeXB0aW9uIHR5cGUgJWRcbiIKKyN+IG1zZ3N0ciAiLCBzYWxhdXN0eXlwcGkgJWRcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IGdldCBpbmZvIG9uIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDogbGFpdHRlZW4gJXMgdGlldG9qYSBlaSB2b2kgaGFrZWE6ICVzXG4iCisKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBvcGVuIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDogbGFpdGV0dGEgJXMgZWkgdm9pIGF2YXRhOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBubyBwZXJtaXNzaW9uIHRvIGxvb2sgYXQgL2Rldi9sb29wJXM8Tj4iCisjfiBtc2dzdHIgIiVzOiBlaSBvaWtldWtzaWEgbGFpdHRlZXNlZW4gL2Rldi9sb29wIyIKKworI34gbXNnaWQgIiIKKyN+ICIlczogQ291bGQgbm90IGZpbmQgYW55IGxvb3AgZGV2aWNlLiBNYXliZSB0aGlzIGtlcm5lbCBkb2VzIG5vdCBrbm93XG4iCisjfiAiICAgICAgIGFib3V0IHRoZSBsb29wIGRldmljZT8gKElmIHNvLCByZWNvbXBpbGUgb3IgYG1vZHByb2JlIGxvb3AnLikiCisjfiBtc2dzdHIgIiIKKyN+ICIlczogRWkgbMO2eXR5bnl0IHlodMOkw6RuIGxvb3AtbGFpdGV0dGEuIEVoa8OkIHTDpG3DpCB5ZGluIGVpIG9sZSB0aWV0b2luZW5cbiIKKyN+ICIgICAgICAgbG9vcC1sYWl0dGVpc3RhP1xuIgorI34gIiAgICAgICAoSm9zIG7DpGluIG9uLCBrw6TDpG5uw6QgdXVkZWxsZWVuIHRhaSBzdW9yaXRhIOKAnW1vZHByb2JlIGxvb3DigJ0uKSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5IHdoaWxlIHJlYWRpbmcgcGFzc3BocmFzZSIKKyN+IG1zZ3N0ciAiTXVpc3RpIGxvcHB1aSBrYXN2YXRldHRhZXNzYSBwdXNrdXJpYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiAlcyBpcyBhbHJlYWR5IGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICJTZWt0b3JpICVkIG9uIGpvIHZhcmF0dHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiAlczogaXMgd3JpdGUtcHJvdGVjdGVkLCB1c2luZyByZWFkLW9ubHkuXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyVzIG9uIGtpcmpvaXR1c3N1b2phdHR1LCBsaWl0ZXTDpMOkbiB2YWluIGx1a3UgLXRpbGFzc2EiCisKKyN+IG1zZ2lkICJpb2N0bCBMT09QX1NFVF9GRCBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgImlvY3RsIExPT1BfU0VUX0ZEIGVww6Rvbm5pc3R1aTogJXNcbiIKKworI34gbXNnaWQgInNldF9sb29wKCVzLCVzLCVsbHUsJWxsdSk6IHN1Y2Nlc3NcbiIKKyN+IG1zZ3N0ciAic2V0X2xvb3AoJXMsJXMsJWxsdSwlbGx1KTogb25uaXN0dWlcbiIKKworI34gbXNnaWQgImRlbF9sb29wKCVzKTogc3VjY2Vzc1xuIgorI34gbXNnc3RyICJkZWxfbG9vcCglcyk6IG9ubmlzdHVpXG4iCisKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBkZWxldGUgZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBsYWl0ZXR0YSAlcyBlaSB2b2kgcG9pc3RhYTogJXNcbiIKKworI34gbXNnaWQgIlRoaXMgbW91bnQgd2FzIGNvbXBpbGVkIHdpdGhvdXQgbG9vcCBzdXBwb3J0LiBQbGVhc2UgcmVjb21waWxlLlxuIgorI34gbXNnc3RyICJUw6Rtw6QgbW91bnQgb24ga8Okw6RubmV0dHkgaWxtYW4gbG9vcC10dWtlYS4gS8Okw6RubsOkIHV1ZGVsbGVlbi5cbiIKKworI34gbXNnaWQgIk5vIGxvb3Agc3VwcG9ydCB3YXMgYXZhaWxhYmxlIGF0IGNvbXBpbGUgdGltZS4gUGxlYXNlIHJlY29tcGlsZS5cbiIKKyN+IG1zZ3N0ciAiTG9vcC10dWtlYSBlaSBvbGx1dCBrw6TDpG5uw7Zrc2VuIGFpa2FuYS4gS8Okw6RubsOkIHV1ZGVsbGVlbi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHBhcnR4KDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGlzw6R0aWV0b2phIG1hbnVhYWxpc2l2dWxsYSBuYW1laSgxKS5cbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLXEgWy1pIGludGVydmFsXV0gKFstcyB2YWx1ZV18Wy1TIHZhbHVlXSkgKFstdCB2YWx1ZV18Wy1UIHZhbHVlXSkgWy1nfC1HXSBmaWxlIFtmaWxlLi4uXVxuIgorI34gbXNnc3RyICJLw6R5dHTDtjogJXMgWy1xIFstaSB2w6RsaV1dIChbLXMgYXJ2b118Wy1TIGFydm9dKSAoWy10IGFydm9dfFstVCBhcnZvXSkgWy1nfC1HXSB0aWVkb3N0byBbdGllZG9zdG8uLi5dXG4iCisKKyN+IG1zZ2lkICJDYW4ndCBvcGVuICVzOiAlc1xuIgorI34gbXNnc3RyICJMYWl0ZXR0YSAlcyBlaSB2b2kgYXZhdGE6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IHRpZWRvc3RvYSAlcyBlaSB2b2kgYXZhdGE6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGJhZCBudW1iZXI6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiB2aXJoZWVsbGluZW4gYXJ2b1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmb3JrIGZhaWxlZDogJXNcbiIKKyN+IG1zZ3N0ciAiaGFhcmF1dHRhbWluZW4gZXDDpG9ubmlzdHVpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBpcGNtaygxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkxpc8OkdGlldG9qYSBtYW51YWFsaXNpdnVsbGEgaXBjbWsoMSkuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAidXNhZ2U6ICVzIFsgWy1xIG1zcWlkXSBbLW0gc2htaWRdIFstcyBzZW1pZF1cbiIKKyN+ICIgICAgICAgICAgWy1RIG1zZ2tleV0gWy1NIHNobWtleV0gWy1TIHNlbWtleV0gLi4uIF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gImvDpHl0dMO2OiAlcyBbIFstcSB2c3Rqbm8taWRdIFstbSBqbXVpc3RpLWlkXSBbLXMgc2VtaWRdXG4iCisjfiAiICAgICAgICAgICBbLVEgbXNna2V5XSBbLU0gc2hta2V5XSBbLVMgc2Vta2V5XSAuLi4gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVua25vd24gZXJyb3IgaW4ga2V5IgorI34gbXNnc3RyICIlczogVHVudGVtYXRvbiB2aXJoZSB0aWVkb3N0b3NzYSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVua25vd24gZXJyb3IgaW4gaWQiCisjfiBtc2dzdHIgIiVzOiBUdW50ZW1hdG9uIHZpcmhlIHRpZWRvc3Rvc3NhICVzXG4iCisKKyN+IG1zZ2lkICIlczogJXMgKCVzKVxuIgorI34gbXNnc3RyICIlczogJXMgKCVzKVxuIgorCisjfiBtc2dpZCAibGRhdHRhY2ggZnJvbSAlc1xuIgorI34gbXNnc3RyICJsZGF0dGFjaCDigJMgJXNcbiIKKworIyBjLWZvcm1hdAorI34gbXNnaWQgIiIKKyN+ICIlczogVXNhZ2U6IFwiJXMgW29wdGlvbnNdXG4iCisjfiAiXHQgLW0gPG1hcGZpbGU+ICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIKKyN+ICJcdFx0XHRcdCAgXCIlc1wiKVxuIgorI34gIlx0IC1wIDxwcm8tZmlsZT4gKGRlZmF1bHQ6IFwiJXNcIilcbiIKKyN+ICJcdCAtTSA8bXVsdD4gICAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iCisjfiAiXHQgLWkgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIKKyN+ICJcdCAtdiAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorI34gIlx0IC1hICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorI34gIlx0IC1iICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorI34gIlx0IC1zICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCisjfiAiXHQgLXIgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCisjfiAiXHQgLW4gICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIKKyN+ICJcdCAtViAgICAgICAgICAgIHByaW50IHZlcnNpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBLw6R5dHTDtjog4oCdJXMgW3ZhbGl0c2ltZXRdXG4iCisjfiAiXHQgLW0gPGthcnR0YXRpZWQ+IChvbGV0dWtzZXQ6IOKAnSVz4oCdIGphXG4iCisjfiAiXHRcdFx0XHQgICAg4oCdJXPigJ0pXG4iCisjfiAiXHQgLXAgPHByb2ZpaWxpPiAgIChvbGV0dXM6IOKAnSVz4oCdKVxuIgorI34gIlx0IC1NIDxrZXJyPiAgICAgICBhc2V0dGFhIHByb2ZpbG9pbnRpa2VydG9pbWVrc2kgPGtlcnI+XG4iCisjfiAiXHQgLWkgICAgICAgICAgICAgIG7DpHl0dMOkw6QgdmFpbiB0aWVkb24g4oCdc2FtcGxpbmcgc3RlcOKAnTppc3TDpFxuIgorI34gIlx0IC12ICAgICAgICAgICAgICBtb25pc2FuYWlzdXVzXG4iCisjfiAiXHQgLWEgICAgICAgICAgICAgIG7DpHl0dMOkw6Qga2Fpa2tpIHN5bWJvbGl0LCB2YWlra2EgbcOkw6Ryw6Qgb2xpc2kgMFxuIgorI34gIlx0IC1iICAgICAgICAgICAgICBuw6R5dHTDpMOkIHlrc2l0dMOkaXNldCDigJ1oaXN0b2dyYW0tYmlu4oCdLW3DpMOkcsOkdFxuIgorI34gIlx0IC1zICAgICAgICAgICAgICBuw6R5dHTDpMOkIHlrc2l0dMOkaXNldCBsYXNrdXJpdCBmdW5rdGlvaXNzYVxuIgorI34gIlx0IC1yICAgICAgICAgICAgICBub2xsYWEga2Fpa2tpIGxhc2t1cml0ICh2YWluIHDDpMOka8OkeXR0w6Rqw6RsbGUpXG4iCisjfiAiXHQgLW4gICAgICAgICAgICAgIHBvaXN0YWEga8OkeXTDtnN0w6QgdGF2dWrDpHJqZXN0eWtzZW4gYXV0b21hYXR0aXR1bm5pc3R1a3NlblxuIgorI34gIlx0IC1WICAgICAgICAgICAgICBuw6R5dHTDpMOkIHZlcnNpb24gamEgcG9pc3R1dVxuIgorCisjfiBtc2dpZCAicmVhZHByb2ZpbGU6IGVycm9yIHdyaXRpbmcgJXM6ICVzXG4iCisjfiBtc2dzdHIgInJlYWRwcm9maWxlOiB2aXJoZSBraXJqb2l0ZXR0YWVzc2EgdGllZG9zdG9hICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcnRjd2FrZSg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkxpc8OkdGlldG9qYSBtYW51YWFsaXNpdnVsbGEgbmFtZWkoMSkuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHNldGFyY2goOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJMaXPDpHRpZXRvamEgbWFudWFhbGlzaXZ1bGxhIHNldGFyY2goOCkuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6ICVzXG4iCisjfiAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiJXM6ICVzXG4iCisjfiAiS29tZW50byDigJ0lcyAtLWhlbHDigJ0gYW50YWEgbGlzw6TDpCB0aWV0b2EuXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgcHJvZ3JhbSBbYXJnIC4uLl1cbiIKKyN+IG1zZ3N0ciAia8OkeXR0w7Y6ICVzIG9oamVsbWEgWyBhcmcgLi4uXVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyA8ZGV2aWNlPiBbIC1pIDxJUlE+IHwgLXQgPFRJTUU+IHwgLWMgPENIQVJTPiB8IC13IDxXQUlUPiB8IFxuIgorI34gIiAgICAgICAgICAtYSBbb258b2ZmXSB8IC1vIFtvbnxvZmZdIHwgLUMgW29ufG9mZl0gfCAtcSBbb258b2ZmXSB8IC1zIHwgXG4iCisjfiAiICAgICAgICAgIC1UIFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkvDpHl0dMO2OiAlcyA8bGFpdGU+IFsgLWkgPElSUT4gfCAtdCA8QUlLQT4gfCAtYyA8TUVSS0lUPiB8IC13IDxPRE9UVVM+IHwgXG4iCisjfiAiICAgICAgICAgIC1hIFtvbnxvZmZdIHwgLW8gW29ufG9mZl0gfCAtQyBbb258b2ZmXSB8IC1xIFtvbnxvZmZdIHwgLXMgfCBcbiIKKyN+ICIgICAgICAgICAgLVQgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiJXM6IGJhZCB2YWx1ZVxuIgorI34gbXNnc3RyICIlczogdmlyaGVlbGxpbmVuIGFydm9cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgdW5zaGFyZSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkxpc8OkdGlldG9qYSBtYW51YWFsaXNpdnVsbGEgdW5zaGFyZSgxKS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjbG9zaW5nIGZpbGUgJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJWaXJoZSBzdWxqZXR0YWVzc2EgdGllZG9zdG9hXG4iCisKKyN+IG1zZ2lkICJTb3JyeSBZb3UgbWF5IGNoYW5nZSB0aGUgVGFnIG9mIG5vbi1lbXB0eSBwYXJ0aXRpb25zLlxuIgorI34gbXNnc3RyICJWYWxpdGV0dGF2YXN0aSB2YWluIGVpLXR5aGppZW4gb3Npb2lkZW4gbGlwcHVhIHZvaSBtdXV0dGFhLlxuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzICIKKyN+IG1zZ3N0ciAiVmFyb2l0dXM6IG9zaW8gJXMgIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9ucyAlcyAiCisjfiBtc2dzdHIgIlZhcm9pdHVzOiBvc2lvdCAlcyAiCisKKyN+IG1zZ2lkICJhbmQgJXMgb3ZlcmxhcFxuIgorI34gbXNnc3RyICJqYSAlcyBvdmF0IHDDpMOkbGxla2vDpGlzZXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICAlcyBbb3B0aW9uc10gZGV2aWNlIFsuLi5dXG4iCisjfiBtc2dzdHIgIkvDpHl0dMO2OiAlcyBbdmFsaXRzaW1ldF0gbGFpdGUgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRGV2aWNlIGlzIHNvbWV0aGluZyBsaWtlIC9kZXYvaGRhIG9yIC9kZXYvc2RhXG4iCisjfiBtc2dzdHIgImxhaXRlOiBlc2ltZXJraWtzaSAvZGV2L2hkYSB0YWkgL2Rldi9zZGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlMSRzIC1hIFstZV0gWy12XSBbLWZdICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiICUxJHMgWy1wIHByaW9yaXR5XSBbLWRdIFstdl0gWy1mXSA8c3BlY2lhbD4gIGVuYWJsZSBnaXZlbiBzd2FwXG4iCisjfiAiICUxJHMgLXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHVzYWdlIHN1bW1hcnlcbiIKKyN+ICIgJTEkcyAtaCAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGhlbHBcbiIKKyN+ICIgJTEkcyAtViAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHZlcnNpb25cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkvDpHl0dMO2OlxuIgorI34gIiAlMSRzIC1hIFstZV0gWy12XSAgICAgICAgICAgICAgICAgIG90YSBrw6R5dHTDtsO2biBrYWlra2kgL2V0Yy9mc3RhYmluXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpdnV0dXNhbHVlZXRcbiIKKyN+ICIgJTEkcyBbLXAgcHJpb3JpdC5dIFstdl0gPHBvbGt1PiAgICBvdGEga8OkeXR0w7bDtm4gYW5uZXR0dSBzaXZ1dHVzYWx1ZVxuIgorI34gIiAlMSRzIC1zICAgICAgICAgICAgICAgICAgICAgICAgICAgIG7DpHl0w6QgeWh0ZWVudmV0byBzaXZ1dHVza8OkeXTDtnN0w6RcbiIKKyN+ICIgJTEkcyAtaCAgICAgICAgICAgICAgICAgICAgICAgICAgICBuw6R5dMOkIG9oamVcbiIKKyN+ICIgJTEkcyAtViAgICAgICAgICAgICAgICAgICAgICAgICAgICBuw6R5dMOkIHZlcnNpb1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlMSRzIC1hIFstdl0gICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgc3dhcHNcbiIKKyN+ICIgJTEkcyBbLXZdIDxzcGVjaWFsPiAgICAgICAgICAgICAgIGRpc2FibGUgZ2l2ZW4gc3dhcFxuIgorI34gIiAlMSRzIC1oICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBoZWxwXG4iCisjfiAiICUxJHMgLVYgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHZlcnNpb25cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkvDpHl0dMO2OlxuIgorI34gIiAlMSRzIC1hIFstdl0gICAgICAgICAgICAgICAgICAgICAgcG9pc3RhIGvDpHl0w7ZzdMOkIGthaWtraSBzaXZ1dHVzYWx1ZWV0XG4iCisjfiAiICUxJHMgWy12XSA8cG9sa3U+ICAgICAgICAgICAgICAgcG9pc3RhIGvDpHl0w7ZzdMOkIGFubmV0dHUgc2l2dXR1c2FsdWVcbiIKKyN+ICIgJTEkcyAtaCAgICAgICAgICAgICAgICAgICAgICAgICAgIG7DpHl0w6Qgb2hqZVxuIgorI34gIiAlMSRzIC1WICAgICAgICAgICAgICAgICAgICAgICAgICAgbsOkeXTDpCB2ZXJzaW9cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIDxmaWxlbmFtZT5cbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gbXNnc3RyICIiCisjfiAiS8OkeXR0w7Y6ICVzIFt2YWxpdHNpbWV0XSA8dGllZG9zdG9uaW1pPlxuIgorI34gIlxuIgorI34gIlZhbGl0c2ltZXQ6XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiS8OkeXR0w7Y6ICVzIFt2YWxpdHNpbWV0XVxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkvDpHl0dMO2OiAlcyBbdmFsaXRzaW1ldF0gPHRpZWRvc3RvbmltaT5cbiIKKyN+ICJcbiIKKyN+ICJWYWxpdHNpbWV0OlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorI34gbXNnc3RyICJLw6R5dHTDtjogJXMgW3ZhbGl0c2ltZXRdIGxhaXRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgJXMgLVZcbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIC1rXG4iCisKKyN+IG1zZ2lkICIgICVzIC0tcmVwb3J0IFtkZXZpY2VzXVxuIgorI34gbXNnc3RyICIgICVzIC0tcmVwb3J0IFtsYWl0dGVldF1cbiIKKworI34gbXNnaWQgIiAgJXMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisjfiBtc2dzdHIgIiAgJXMgWy12fC1xXSBrb21lbm5vdCBsYWl0dGVldFxuIgorCisjfiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuICVzXG4iCisjfiBtc2dzdHIgIiVzOiB0aWVkb3N0b2EgJXMgZWkgdm9pIGF2YXRhXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtbiBdIGRldmljZVxuIgorI34gbXNnc3RyICJrw6R5dHTDtjogJXMgWyAtbiBdIGxhaXRlXG4iCisKKyN+IG1zZ2lkICJtYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJtYWxsb2MgZXDDpG9ubmlzdHVpIgorCisjfiBtc2dpZCAiJXM6IG9wdGlvbiBwYXJzZSBlcnJvclxuIgorI34gbXNnc3RyICIlczogdmlyaGUgdmFsaXRzaW1pZW4gasOkc2Vubnlrc2Vzc8OkXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy14XSBbLWQgPG51bT5dIGlzbzk2NjAtaW1hZ2VcbiIKKyN+IG1zZ3N0ciAiS8OkeXR0w7Y6ICVzIFsteF0gWy1kIDxucm8+XSBpc285NjYwLXZlZG9zXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFstdl0gWy1OIG5yLW9mLWlub2Rlc10gWy1WIHZvbHVtZS1uYW1lXVxuIgorI34gIiAgICAgICBbLUYgZnNuYW1lXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorI34gbXNnc3RyICIiCisjfiAiS8OkeXR0w7Y6ICVzIFstdl0gWy1OIGktc29sbXVtw6TDpHLDpF0gWy1WIG9zaW9uaW1pXVxuIgorI34gIiAgICAgICBbLUYgdGllZC5qw6Ryai5uaW1pXSBsYWl0ZSBbbG9oa29tw6TDpHLDpF1cbiIKKworI34gbXNnaWQgInVuYWJsZSB0byBzdGF0ICVzIgorI34gbXNnc3RyICJ0aWVkb3N0b24gJXMgdGlsYWEgZWkgdm9pIGx1a2VhIgorCisjfiBtc2dpZCAiY2Fubm90IGRldGVybWluZSBzZWN0b3Igc2l6ZSBmb3IgJXMiCisjfiBtc2dzdHIgImxhaXR0ZWVuICVzIHNla3Rvcmlrb2tvYSBlaSB2b2lkYSBww6TDpHRlbGzDpCIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWNdIFstcFBBR0VTWl0gWy1MIGxhYmVsXSBbLVUgVVVJRF0gL2Rldi9uYW1lIFtibG9ja3NdXG4iCisjfiBtc2dzdHIgIkvDpHl0dMO2OiAlcyBbLWNdIFstcFNJVlVLT0tPXSBbLUwgbmltacO2XSBbLVUgVVVJRF0gL2Rldi9uaW1pIFtsb2hrb3RdXG4iCisKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5IgorI34gbXNnc3RyICJNdWlzdGkgbG9wdXNzYSIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgICVzICIKKyN+IG1zZ3N0ciAiIgorI34gIkvDpHl0dMO2OlxuIgorI34gIiAgJXMgIgorCisjfiBtc2dpZCAiTWVudSB3aXRob3V0IGRpcmVjdGlvbi4gRGVmYXVsdGluZyB0byBob3Jpem9udGFsLiIKKyN+IG1zZ3N0ciAiVmFsaWtrbyBpbG1hbiBzdXVudGFhLiBLw6R5dGV0w6TDpG4gb2xldHVrc2VuYSB2YWFrYXN1dW50YWEuIgorCisjfiBtc2dpZCAiIgorI34gIkNvbW1hbmQgYWN0aW9uXG4iCisjfiAiICAgJXNcbiIKKyN+ICIgICBwICAgcHJpbWFyeSBwYXJ0aXRpb24gKDEtNClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIktvbWVudG8gIG1lcmtpdHlzXG4iCisjfiAiICAgJXNcbiIKKyN+ICIgICBwICAgIGVuc2nDtm9zaW8gKDEtNClcbiIKKworI34gbXNnaWQgIiAgICAtcyBbb3IgLS1zaG93LXNpemVdOiBsaXN0IHNpemUgb2YgYSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgICAtcyBbdGFpIC0tc2hvdy1zaXplXTogbsOkeXTDpCBvc2lvbiBrb2tvIgorCisjfiBtc2dpZCAiICAgIC1kIFtvciAtLWR1bXBdOiAgICAgIGlkZW0sIGJ1dCBpbiBhIGZvcm1hdCBzdWl0YWJsZSBmb3IgbGF0ZXIgaW5wdXQiCisjfiBtc2dzdHIgIiAgICAtZCBbdGFpIC0tZHVtcF06ICAgICBzYW1hIGt1aW4gZWRlbGzDpCwgbXVvdG8gc29waXZhIHN5w7Z0dGVla3NpIgorCisjfiBtc2dpZCAiICAgIC1pIFtvciAtLWluY3JlbWVudF06IG51bWJlciBjeWxpbmRlcnMgZXRjLiBmcm9tIDEgaW5zdGVhZCBvZiBmcm9tIDAiCisjfiBtc2dzdHIgIiAgICAtaSBbdGFpIC0taW5jcmVtZW50XTpudW1lcm9pIHN5bGludGVyaXQsIHltLiBhbGthZW4gMTpzdMOkLCBlaSAwOnN0YSIKKworI34gbXNnaWQgIiAgICAtdVMsIC11QiwgLXVDLCAtdU06ICBhY2NlcHQvcmVwb3J0IGluIHVuaXRzIG9mIHNlY3RvcnMvYmxvY2tzL2N5bGluZGVycy9NQiIKKyN+IG1zZ3N0ciAiICAgIC11UywgLXVCLCAtdUMsIC11TTogIGvDpHl0w6QgeWtzaWtrw7ZpbsOkIHNla3RvcmVpdGEvbG9oa29qYS9zeWxpbnRlcmVpdMOkL010IgorCisjfiBtc2dpZCAiICAgIC1UIFtvciAtLWxpc3QtdHlwZXNdOmxpc3QgdGhlIGtub3duIHBhcnRpdGlvbiB0eXBlcyIKKyN+IG1zZ3N0ciAiICAgIC1UIFt0YWkgLS1saXN0LXR5cGVzXTpsaXN0YWEgdHVubmV0dXQgb3Npb3R5eXBpdCIKKworI34gbXNnaWQgIiAgICAtRCBbb3IgLS1ET1NdOiAgICAgICBmb3IgRE9TLWNvbXBhdGliaWxpdHk6IHdhc3RlIGEgbGl0dGxlIHNwYWNlIgorI34gbXNnc3RyICIgICAgLUQgW3RhaSAtLURPU106ICAgICAgRE9TLXlodGVlbnNvcGl2dXV0dGEgdmFydGVuOyB0dWhsYWEgdsOkaMOkbiB0aWxhYSIKKworI34gbXNnaWQgIiAgICAtUiBbb3IgLS1yZS1yZWFkXTogICBtYWtlIGtlcm5lbCByZXJlYWQgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICIgICAgLVIgW3RhaSAtLXJlLXJlYWRdOiAga8Okc2tlIHl0aW1lbiBsdWtlYSBvc2lvdGF1bHUgdXVkZWxsZWVuIgorCisjfiBtc2dpZCAiICAgIC1PIGZpbGUgOiAgICAgICAgICAgIHNhdmUgdGhlIHNlY3RvcnMgdGhhdCB3aWxsIGJlIG92ZXJ3cml0dGVuIHRvIGZpbGUiCisjfiBtc2dzdHIgIiAgICAtTyB0aWVkb3N0byA6ICAgICAgICB0YWxsZW5uYSB5bGlraXJqb2l0ZXR0YXZhdCBzZWt0b3JpIHRpZWRvc3Rvb24iCisKKyN+IG1zZ2lkICIgICAgLUkgZmlsZSA6ICAgICAgICAgICAgcmVzdG9yZSB0aGVzZSBzZWN0b3JzIGFnYWluIgorI34gbXNnc3RyICIgICAgLUkgdGllZG9zdG8gOiAgICAgICAgcGFsYXV0YSBuw6Rtw6Qgc2VrdG9yaXQiCisKKyN+IG1zZ2lkICIgICAgLXYgW29yIC0tdmVyc2lvbl06ICAgcHJpbnQgdmVyc2lvbiIKKyN+IG1zZ3N0ciAiICAgIC12IFt0YWkgLS12ZXJzaW9uXTogIG7DpHl0w6QgdmVyc2lvIgorCisjfiBtc2dpZCAiICAgIC0/IFtvciAtLWhlbHBdOiAgICAgIHByaW50IHRoaXMgbWVzc2FnZSIKKyN+IG1zZ3N0ciAiICAgIC0/IFt0YWkgLS1oZWxwXTogICAgIG7DpHl0w6QgdMOkbcOkIHZpZXN0aSIKKworI34gbXNnaWQgIiAgICAtZyBbb3IgLS1zaG93LWdlb21ldHJ5XTogcHJpbnQgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIGdlb21ldHJ5IgorI34gbXNnc3RyICIgICAgLWcgW3RhaSAtLXNob3ctZ2VvbWV0cnldOiBuw6R5dMOkIHl0aW1lbiBrw6RzaXR5cyBnZW9tZXRyaWFzdGEiCisKKyN+IG1zZ2lkICIgICAgLUwgIFtvciAtLUxpbnV4XTogICAgICBkbyBub3QgY29tcGxhaW4gYWJvdXQgdGhpbmdzIGlycmVsZXZhbnQgZm9yIExpbnV4IgorI34gbXNnc3RyICIgICAgLUwgIFt0YWkgLS1MaW51eF06ICAgICDDpGzDpCBodW9tYXV0YSBMaW51eGlzc2EgbWVya2l0eWtzZXR0w7ZtaXN0w6QgYXNpb2lzdGEiCisKKyN+IG1zZ2lkICIgICAgWW91IGNhbiBvdmVycmlkZSB0aGUgZGV0ZWN0ZWQgZ2VvbWV0cnkgdXNpbmc6IgorI34gbXNnc3RyICIgICAgVm9pdCBvaGl0dGFhIHR1bm5pc3RldHVuIGdlb21ldHJpYW4ga8OkeXR0w6Rtw6RsbMOkOiIKKworI34gbXNnaWQgIiAgICAtZiAgW29yIC0tZm9yY2VdOiAgICAgIGRvIHdoYXQgSSBzYXksIGV2ZW4gaWYgaXQgaXMgc3R1cGlkIgorI34gbXNnc3RyICIgICAgLWYgIFt0YWkgLS1mb3JjZV06ICAgICB0ZWUgbWl0w6Qga8Okc2tlbiwgdmFpa2thIHNlIG9saXNpIHR5aG3DpMOkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNvdWxkbid0IGFsbG9jYXRlIG1lbW9yeSBmb3IgZmlsZXN5c3RlbSB0eXBlc1xuIgorI34gbXNnc3RyICJtb3VudDogdGllZG9zdG9qw6RyamVzdGVsbcOkbiB0eXlwcGkgb24gYW5uZXR0YXZhIgorCisjfiBtc2dpZCAiVXNhZ2U6IGZzY2sgWy1BTU5QUlRWXSBbIC1DIFsgZmQgXSBdIFstdCBmc3R5cGVdIFtmcy1vcHRpb25zXSBbZmlsZXN5cyAuLi5dXG4iCisjfiBtc2dzdHIgIkvDpHl0dMO2OiBmc2NrIFstQU1OUFJUVl0gWyAtQyBbIGZkIF0gXSBbLXQgdGllZC5qw6Ryai4gdHl5cHBpXSBbdGllZC5qw6Ryai52YWxpdHNpbWV0XSBbdGllZC5qw6Ryai4gLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNvdWxkbid0IG9wZW4gJXM6ICVzXG4iCisjfiBtc2dzdHIgIkxhaXRldHRhICVzIGVpIHZvaSBhdmF0YTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmc2NrIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAiJXMgcGFrZXRpc3RhICVzJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogVW5hYmxlIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgZnNja19wYXRoXG4iCisjfiBtc2dzdHIgIkktc29sbXVpbGxlIGVpIHZvaSB2YXJhdGEgcHVza3VyaWEiCisKKyN+IG1zZ2lkICJUcnkgYGdldG9wdCAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICJLb21lbnRvIOKAnWdldG9wdCAtLWhlbHDigJ0gYW50YWEgbGlzw6TDpCB0aWV0b2EuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogZ2V0b3B0IG9wdHN0cmluZyBwYXJhbWV0ZXJzXG4iCisjfiBtc2dzdHIgIkvDpHl0dMO2OiBnZXRvcHQgdmFsaXRzaW5tZXJra2lqb25vIHBhcmFtZXRyaXRcbiIKKworI34gbXNnaWQgIiAgICAgICBnZXRvcHQgW29wdGlvbnNdIFstLV0gb3B0c3RyaW5nIHBhcmFtZXRlcnNcbiIKKyN+IG1zZ3N0ciAiICAgICAgIGdldG9wdCBbdmFsaXRzaW1ldF0gWy0tXSB2YWxpdHNpbm1lcmtraWpvbm8gcGFyYW1ldHJpdFxuIgorCisjfiBtc2dpZCAiZ2V0b3B0IChlbmhhbmNlZCkgMS4xLjRcbiIKKyN+IG1zZ3N0ciAiZ2V0b3B0IChwYXJhbm5ldHR1KSAxLjEuNFxuIgorCisjfiBtc2dpZCAiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKVxuIgorI34gbXNnc3RyICIoT2RvdGV0YWFuOiDigJ1VVEPigJ0sIOKAnUxPQ0FM4oCdIHRhaSBlaSBtaXTDpMOkbi4pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gImh3Y2xvY2sgLSBxdWVyeSBhbmQgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayAoUlRDKVxuIgorI34gIlxuIgorI34gIlVzYWdlOiBod2Nsb2NrIFtmdW5jdGlvbl0gW29wdGlvbnMuLi5dXG4iCisjfiAiXG4iCisjfiAiRnVuY3Rpb25zOlxuIgorI34gIiAgLWggfCAtLWhlbHAgICAgICAgICBzaG93IHRoaXMgaGVscFxuIgorI34gIiAgLXIgfCAtLXNob3cgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCByZXN1bHRcbiIKKyN+ICIgICAgICAgLS1zZXQgICAgICAgICAgc2V0IHRoZSBydGMgdG8gdGhlIHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyN+ICIgIC1zIHwgLS1oY3Rvc3lzICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAgLXcgfCAtLXN5c3RvaGMgICAgICBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIHRvIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lXG4iCisjfiAiICAgICAgIC0tc3lzdHogICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgYmFzZWQgb24gdGhlIGN1cnJlbnQgdGltZXpvbmVcbiIKKyN+ICIgICAgICAgLS1hZGp1c3QgICAgICAgYWRqdXN0IHRoZSBydGMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCBzaW5jZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICB0aGUgY2xvY2sgd2FzIGxhc3Qgc2V0IG9yIGFkanVzdGVkXG4iCisjfiAiICAgICAgIC0tZ2V0ZXBvY2ggICAgIHByaW50IG91dCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWVcbiIKKyN+ICIgICAgICAgLS1zZXRlcG9jaCAgICAgc2V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZSB0byB0aGUgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGdpdmVuIHdpdGggLS1lcG9jaFxuIgorI34gIiAgICAgICAtLXByZWRpY3QgICAgICBwcmVkaWN0IHJ0YyByZWFkaW5nIGF0IHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyN+ICIgIC12IHwgLS12ZXJzaW9uICAgICAgcHJpbnQgb3V0IHRoZSB2ZXJzaW9uIG9mIGh3Y2xvY2sgdG8gc3Rkb3V0XG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczogXG4iCisjfiAiICAtdSB8IC0tdXRjICAgICAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIFVUQ1xuIgorI34gIiAgICAgICAtLWxvY2FsdGltZSAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBsb2NhbCB0aW1lXG4iCisjfiAiICAtZiB8IC0tcnRjPXBhdGggICAgIHNwZWNpYWwgL2Rldi8uLi4gZmlsZSB0byB1c2UgaW5zdGVhZCBvZiBkZWZhdWx0XG4iCisjfiAiICAgICAgIC0tZGlyZWN0aXNhICAgIGFjY2VzcyB0aGUgSVNBIGJ1cyBkaXJlY3RseSBpbnN0ZWFkIG9mICVzXG4iCisjfiAiICAgICAgIC0tYmFkeWVhciAgICAgIGlnbm9yZSBydGMncyB5ZWFyIGJlY2F1c2UgdGhlIGJpb3MgaXMgYnJva2VuXG4iCisjfiAiICAgICAgIC0tZGF0ZSAgICAgICAgIHNwZWNpZmllcyB0aGUgdGltZSB0byB3aGljaCB0byBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiICAgICAgIC0tZXBvY2g9eWVhciAgIHNwZWNpZmllcyB0aGUgeWVhciB3aGljaCBpcyB0aGUgYmVnaW5uaW5nIG9mIHRoZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgaGFyZHdhcmUgY2xvY2sncyBlcG9jaCB2YWx1ZVxuIgorI34gIiAgICAgICAtLW5vYWRqZmlsZSAgICBkbyBub3QgYWNjZXNzIC9ldGMvYWRqdGltZS4gUmVxdWlyZXMgdGhlIHVzZSBvZlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWVcbiIKKyN+ICIgICAgICAgLS1hZGpmaWxlPXBhdGggc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZSAoZGVmYXVsdCBpc1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAvZXRjL2FkanRpbWUpXG4iCisjfiAiICAgICAgIC0tdGVzdCAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IGFjdHVhbGx5IHVwZGF0aW5nIHRoZSBoYXJkd2FyZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBjbG9jayBvciBhbnl0aGluZyBlbHNlXG4iCisjfiAiICAtRCB8IC0tZGVidWcgICAgICAgIGRlYnVnIG1vZGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gImh3Y2xvY2sg4oCTIGx1a2VlIGphIGFzZXR0YWEgbGFpdHRlaXN0b2tlbGxvbiAoUlRDKVxuIgorI34gIlxuIgorI34gIkvDpHl0dMO2OiBod2Nsb2NrIFt0b2ltaW50b10gW3ZhbGl0c2ltZXQuLi5dXG4iCisjfiAiXG4iCisjfiAiVG9pbWlubm90OlxuIgorI34gIiAgLWggfCAtLWhlbHAgICAgICAgICBuw6R5dHTDpMOkIHTDpG3DpG4gb2hqZWVuXG4iCisjfiAiICAtciB8IC0tc2hvdyAgICAgICAgIGx1a2VlIGxhaXR0ZWlzdG9rZWxsb24gamEgbsOkeXR0w6TDpCB0dWxva3NlblxuIgorI34gIiAgICAgICAtLXNldCAgICAgICAgICBhc2V0dGFhIGxhaXR0ZWlzdG9rZWxsb24gLS1kYXRlOmxsYSBtw6TDpHLDpHR0eXluIGFpa2FhblxuIgorI34gIiAgLXMgfCAtLWhjdG9zeXMgICAgICBhc2V0dGFhIGrDpHJqZXN0ZWxtw6RrZWxsb24gYWphbiBsYWl0dGVpc3Rva2VsbG9uIG11a2FhblxuIgorI34gIiAgLXcgfCAtLXN5c3RvaGMgICAgICBhc2V0dGFhIGxhaXR0ZWlzdG9rZWxsb24gbnlreWlzZWVuIGrDpHJqZXN0ZWxtw6RuIGFpa2FhblxuIgorI34gIiAgICAgICAtLXN5c3R6ICAgICAgICBhc2V0dGFhIGrDpHJqZXN0ZWxtw6RrZWxsb24gYWphbiBueWt5aXNlbiBhaWthdnnDtmh5a2tlZW5cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgbXVrYWFuXG4iCisjfiAiICAgICAgIC0tYWRqdXN0ICAgICAgIHPDpMOkdMOkw6QgbGFpdHRlaXN0b2tlbGxvbiBodW9taW9pbWFhbiBzeXN0ZW1hYXR0aXNlblxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBwb2lra2VhbWFuIGVkZWxsaXNlbiBhc2V0dWtzZW4gdGFpIHPDpMOkZMO2biBqw6Rsa2VlblxuIgorI34gIiAgICAgICAtLWdldGVwb2NoICAgICBuw6R5dHTDpMOkIHl0aW1lbiBlcG9jaC1hcnZvbiBsYWl0dGVpc3Rva2VsbG9sbGVcbiIKKyN+ICIgICAgICAgLS1zZXRlcG9jaCAgICAgYXNldHRhYSB5dGltZW4gZXBvY2gtYXJ2b24gbGFpdHRlaXN0b2tlbGxvbGxlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIC0tZXBvY2g6aWxsYSBtw6TDpHLDpHR0eXluIGFydm9vblxuIgorI34gIiAgLXYgfCAtLXZlcnNpb24gICAgICBuw6R5dHTDpMOkIGh3Y2xvY2tpbiB2ZXJzaW9udW1lcm9uIHZha2lvdHVsb3N0ZWVzZWVuXG4iCisjfiAiXG4iCisjfiAiVmFsaXRzaW1ldDogXG4iCisjfiAiICAtdSB8IC0tdXRjICAgICAgICAgIGxhaXR0ZWlzdG9rZWxsbyBvbiBrYW5zYWludsOkbGlzZXNzw6QgYWphc3NhIChVVEMpXG4iCisjfiAiICAgICAgIC0tbG9jYWx0aW1lICAgIGxhaXR0ZWlzdG9rZWxsbyBvbiBwYWlrYWxsaXNlc3NhIGFqYXNzYVxuIgorI34gIiAgLWYgfCAtLXJ0Yz1wb2xrdSAgICBrw6R5dMOkIG11dXRhIGt1aW4gdGF2YWxsaXN0YSBsYWl0ZXR0YSwgL2Rldi8uLi5cbiIKKyN+ICIgICAgICAgLS1kaXJlY3Rpc2EgICAga8OkeXTDpCBJU0EtdsOkeWzDpMOkIHN1b3JhYW4sIGVpIGxhaXR0ZWVuICVzIGthdXR0YVxuIgorI34gIiAgICAgICAtLWJhZHllYXIgICAgICBlaSBodW9taW9pZGEgbGFpdHRlaXN0b2tlbGxvbiB2dW90dGEsIGtvc2thIEJJT1Mgb25cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgcmlra2lcbiIKKyN+ICIgICAgICAgLS1kYXRlICAgICAgICAgYWlrYSwgam9ob24gbGFpdHRlaXN0b2tlbGxvIGFzZXRldGFhblxuIgorI34gIiAgICAgICAtLWVwb2NoPXZ1b3NpICB2dW9zaSwgam9rYSBvbiBsYWl0dGVpc3Rva2VsbG9uXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGVwb2NoLWFydm9uIG5vbGxha29odGFcbiIKKyN+ICIgICAgICAgLS1ub2FkamZpbGUgICAgZWkga8OkeXRldMOkIHRpZWRvc3RvYSAvZXRjL2FkanRpbWUuIFZhYXRpaSBqb2tvXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIHZhbGl0c2ltZW4gLS11dGMgdGFpIC0tbG9jYWx0aW1lIGvDpHl0dMOkbWlzdMOkXG4iCisjfiAiICAgICAgIC0tYWRqZmlsZT1wb2xrdSBoaWVub3PDpMOkdMO2dGllZG9zdG9uIHBvbGt1IChvbGV0dXMgb24gL2V0Yy9hZGp0aW1lKVxuIgorI34gIiAgICAgICAtLXRlc3QgICAgICAgICB0ZWUga2Fpa2tpIG11dSBwYWl0c2kgbGFpdHRlaXN0b2tlbGxvbiB0YWkgbWlua8Okw6RuXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIG11dW4gdmFyc2luYWluZW4gcMOkaXZpdHTDpG1pbmVuXG4iCisjfiAiICAtRCB8IC0tZGVidWcgICAgICAgIHZpYW5ldHNpbnTDpHRpbGFcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBpbml0c3RyaW5nIgorI34gbXNnc3RyICJhbHVzdHVza29tZW5ub2lsbGUgZWkgdm9pIHZhcmF0YSBtdWlzdGlhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgWy04aGlMbXNVd10gWy1sIGxvZ2luX3Byb2dyYW1dIFstdCB0aW1lb3V0XSBbLUkgaW5pdHN0cmluZ10gWy1IIGxvZ2luX2hvc3RdIGJhdWRfcmF0ZSwuLi4gbGluZSBbdGVybXR5cGVdXG4iCisjfiAib3JcdFstaGlMbXddIFstbCBsb2dpbl9wcm9ncmFtXSBbLXQgdGltZW91dF0gWy1JIGluaXRzdHJpbmddIFstSCBsb2dpbl9ob3N0XSBsaW5lIGJhdWRfcmF0ZSwuLi4gW3Rlcm10eXBlXVxuIgorI34gbXNnc3RyICIiCisjfiAiS8OkeXR0w7Y6ICVzIFstOGhpTG1Vd10gWy1sIGtpcmphdXR1bWlzb2hqZWxtYV0gWy10IGFpa2FrYXRrYWlzdV0gWy1JIGFsdXN0dXNrb21lbm5vdF0gWy1IIGtpcmphdXR1bWlza29uZV0gbGluamFub3BldXMsLi4uIGxpbmphIFt0ZXJtLnR5eXBwaV1cbiIKKyN+ICJ0YWlcdFstaGlMbXddIFstbCBraXJqYXV0dW1pc29oamVsbWFdIFstdCBhaWtha2F0a2Fpc3VdIFstSSBhbHVzdHVza29tZW5ub3RdIFstSCBraXJqYXV0dW1pc2tvbmVdIGxpbmphIGxpbmphbm9wZXVzLC4uLiBbdGVybS50eXlwcGldXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFt5IHwgbl0iCisjfiBtc2dzdHIgImvDpHl0dMO2OiBtZXNnIFt5IHwgbl1cbiIKKworI34gbXNnaWQgIiVzOiBCQUQgRVJST1IiCisjfiBtc2dzdHIgIiVzOiBWSVJIRUVMTElORU4gVklSSEUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6ICVzIFstbl0gW2ZpbGVdXG4iCisjfiBtc2dzdHIgImvDpHl0dMO2OiAlcyBbdGllZG9zdG9dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2FuJ3QgcmVhZDogJXMiCisjfiBtc2dzdHIgIiVzOiB0aWVkb3N0b2EgJXMgZWkgdm9pIGx1a2VhLlxuIgorCisjfiBtc2dpZCAibG9nZ2VyOiAlczogJXMuXG4iCisjfiBtc2dzdHIgImxvZ2dlcjogJXM6ICVzLlxuIgorCisjfiBtc2dpZCAidXNhZ2U6IGxvZ2dlciBbLWlzXSBbLWYgZmlsZV0gWy1wIHByaV0gWy10IHRhZ10gWy11IHNvY2tldF0gWyBtZXNzYWdlIC4uLiBdXG4iCisjfiBtc2dzdHIgImvDpHl0dMO2OiBsb2dnZXIgWy1pc10gWy1mIHRpZWRvc3RvXSBbLXAgcHJpXSBbLXQgdGFnXSBbLXUgcGlzdG9rZV0gWyB2aWVzdGkgLi4uIF1cbiIKKworI34gbXNnaWQgInVzYWdlOiBsb29rIFstZGZhXSBbLXQgY2hhcl0gc3RyaW5nIFtmaWxlXVxuIgorI34gbXNnc3RyICJrw6R5dHTDtjogbG9vayBbLWRmYV0gWy10IG1lcmtraV0gbWVya2tpam9ubyBbdGllZG9zdG9dXG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5PyIKKyN+IG1zZ3N0ciAibXVpc3RpIGxvcHVzc2E/IgorCisjfiBtc2dpZCAiY2FsbDogJXMgZnJvbSB0byBmaWxlcy4uLlxuIgorI34gbXNnc3RyICJrw6R5dHTDtjogJXMgbMOkaGRlIGtvaGRlIHRpZWRvc3RvdC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiBzY3JpcHQgWy1hXSBbLWVdIFstZl0gWy1xXSBbLXRdIFtmaWxlXVxuIgorI34gbXNnc3RyICJrw6R5dHTDtjogc2NyaXB0IFstYV0gWy1mXSBbLXFdIFstdF0gW3RpZWRvc3RvXVxuIgorCisjfiBtc2dpZCAiJXM6IHdyaXRlIGVycm9yICVkOiAlc1xuIgorI34gbXNnc3RyICIlczoga2lyam9pdHVzdmlyaGUgJWQ6ICVzXG4iCisKKyN+IG1zZ2lkICIlczogd3JpdGUgZXJyb3I6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBraXJqb2l0dXN2aXJoZTogJXNcbiIKKworI34gbXNnaWQgIiAgWyAtc25vdyBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtc25vdyBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXNvZnRzY3JvbGwgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLXNvZnRzY3JvbGwgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1mb3JlZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1mb3JlZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdCBdXG4iCisjfiBtc2dzdHIgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdCBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWJhY2tncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWJhY2tncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAiICBbIC11bGNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLXVsY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlIF1cbiIKKyN+IG1zZ3N0ciAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXVsY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC11bGNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLWhiY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtaGJjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtaGJjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWhiY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtc3RhbmRvdXQgWyBhdHRyIF0gXVxuIgorI34gbXNnc3RyICIgIFsgLXN0YW5kb3V0IFsgYXR0ciBdIF1cbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWRdIFstcCBwaWRmaWxlXSBbLXMgc29ja2V0cGF0aF0gWy1UIHRpbWVvdXRdXG4iCisjfiBtc2dzdHIgIkvDpHl0dMO2OiAlcyBbLWRdIFstcCBwaWQtdGllZG9zdG9dIFstcyBwaXN0b2tlcG9sa3VdIFstVCBhaWtha2F0a2Fpc3VdXG4iCisKKyN+IG1zZ2lkICIgICAgICAgJXMgWy1yfHRdIFstbiBudW1dIFstcyBzb2NrZXRwYXRoXVxuIgorI34gbXNnc3RyICIgICAgICAgJXMgWy1yfHRdIFstbiBudW1dIFstcyBwaXN0b2tlcG9sa3VdXG4iCisKKyN+IG1zZ2lkICIgICAgICAgJXMgLWtcbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIC1rXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstcl0gWy10XVxuIgorI34gbXNnc3RyICJLw6R5dHTDtjogJXMgW3ZhbGl0c2ltZXRdIGxhaXRlIC4uLlxuIgorCisjfiBtc2dpZCAid2hlcmVpcyBbIC1zYm11IF0gWyAtU0JNIGRpciAuLi4gLWYgXSBuYW1lLi4uXG4iCisjfiBtc2dzdHIgIndoZXJlaXMgWyAtc2JtdSBdIFsgLVNCTSBoYWsgLi4uIC1mIF0gbmltaS4uLlxuIgorCisjfiBtc2dpZCAidXNhZ2U6IHdyaXRlIHVzZXIgW3R0eV1cbiIKKyN+IG1zZ3N0ciAia8OkeXR0w7Y6IHdyaXRlIGvDpHl0dMOkasOkIFt0dHldXG4iCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3Qgb3BlbiAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiB0aWVkb3N0b2EgJXMgZWkgdm9pIGF2YXRhOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmtub3duXG4iCisjfiBtc2dzdHIgInR1bnRlbWF0dG9tYXNzYSAiCisKKyN+IG1zZ2lkICJVc2FnZTogc2h1dGRvd24gWy1ofC1yXSBbLWZxc10gW25vd3xoaDpzc3wrbWluc11cbiIKKyN+IG1zZ3N0ciAiS8OkeXR0w7Y6IHNodXRkb3duIFstaHwtcl0gWy1mcXNdIFtub3d8aGg6bW18K21pbnV1dGl0XVxuIgorCisjfiBtc2dpZCAiU2h1dGRvd24gcHJvY2VzcyBhYm9ydGVkIgorI34gbXNnc3RyICJTYW1tdXR1c3RvaW1pbnRvIGtlc2tleXRldHR5IgorCisjLCBmdXp6eQorI34gbXNnaWQgIm9ubHkgcm9vdCBjYW4gc2h1dCBhIHN5c3RlbSBkb3duLiIKKyN+IG1zZ3N0ciAiJXM6IFZhaW4gcm9vdCB2b2kgc2FtbXV0dGFhIGrDpHJqZXN0ZWxtw6RuLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRoYXQgbXVzdCBiZSB0b21vcnJvdywgY2FuJ3QgeW91IHdhaXQgdGlsbCB0aGVuPyIKKyN+IG1zZ3N0ciAiVHVvbiB0w6R5dHl5IG9sbGEgaHVvbWVubmEsIGV0a8O2IHZvaSBvZG90dGFhIHNpaWhlbiBhc3RpP1xuIgorCisjfiBtc2dpZCAiZm9yIG1haW50ZW5hbmNlOyBib3VuY2UsIGJvdW5jZSIKKyN+IG1zZ3N0ciAieWxsw6RwaXRvYSB2YXJ0ZW47IG1hcnMsIG1hcnMiCisKKyN+IG1zZ2lkICJUaGUgc3lzdGVtIGlzIGJlaW5nIHNodXQgZG93biB3aXRoaW4gNSBtaW51dGVzIgorI34gbXNnc3RyICJKw6RyamVzdGVsbcOkIHNhbW11dGV0YWFuIDUgbWludXV0aW4ga3VsdXR0dWEiCisKKyN+IG1zZ2lkICJMb2dpbiBpcyB0aGVyZWZvcmUgcHJvaGliaXRlZC4iCisjfiBtc2dzdHIgIktpcmphdXR1bWluZW4gb24gc2VuIHZ1b2tzaSBlc3RldHR5IgorCisjfiBtc2dpZCAicmVib290ZWQgYnkgJXM6ICVzIgorI34gbXNnc3RyICJ1dWRlbGxlZW5rw6R5bm5pc3RpICVzOiAlcyIKKworI34gbXNnaWQgImhhbHRlZCBieSAlczogJXMiCisjfiBtc2dzdHIgInNhbW11dHRpICVzOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXaHkgYW0gSSBzdGlsbCBhbGl2ZSBhZnRlciByZWJvb3Q/IgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTWlrc2kgb2xlbiBlZGVsbGVlbiBlbG9zc2EgdXVkZWxsZWVua8OkeW5uaXN0eWtzZW4gasOkbGtlZW4/IgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk5vdyB5b3UgY2FuIHR1cm4gb2ZmIHRoZSBwb3dlci4uLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlZpcnJhbiB2b2kgbnl0IGthdGthaXN0YS4uLiIKKworI34gbXNnaWQgIkNhbGxpbmcga2VybmVsIHBvd2VyLW9mZiBmYWNpbGl0eS4uLlxuIgorI34gbXNnc3RyICJLdXRzdXRhYW4geXRpbWVuIHZpcnJhbmthdGthaXN1dG9pbWludG9hLi4uXG4iCisKKyN+IG1zZ2lkICJFcnJvciBwb3dlcmluZyBvZmZcdCVzXG4iCisjfiBtc2dzdHIgIlZpcmhlIHZpcnJhbmthdGthaXN1c3NhXHQlc1xuIgorCisjfiBtc2dpZCAiRXhlY3V0aW5nIHRoZSBwcm9ncmFtIFwiJXNcIiAuLi5cbiIKKyN+IG1zZ3N0ciAiS8OkeW5uaXN0ZXTDpMOkbiBvaGplbG1hIOKAnSVz4oCdLi4uXG4iCisKKyN+IG1zZ2lkICJVUkdFTlQ6IGJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXM6IgorI34gbXNnc3RyICJLSUlSRUVMTElTVMOEOiB5bGVpc2zDpGhldHlzdmllc3RpIGvDpHl0dMOkasOkbHTDpCAlczoiCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAlZCBob3VycyAlZCBtaW51dGVzIgorI34gbXNnc3RyICJKw6RyamVzdGVsbcOkIHNhbW11dSAlZCB0dW5uaW4sICVkIG1pbnV1dGluIGt1bHV0dHVhIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gMSBob3VyICVkIG1pbnV0ZXMiCisjfiBtc2dzdHIgIkrDpHJqZXN0ZWxtw6Qgc2FtbXV1IDEgdHVubmluIGphICVkIG1pbnV1dGluIGt1bHV0dHVhIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gJWQgbWludXRlc1xuIgorI34gbXNnc3RyICJKw6RyamVzdGVsbcOkIHNhbW11dSAlZCBtaW51dXRpbiBrdWx1dHR1YVxuIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gMSBtaW51dGVcbiIKKyN+IG1zZ3N0ciAiSsOkcmplc3RlbG3DpCBzYW1tdXUgMSBtaW51dXRpbiBrdWx1dHR1YVxuIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gSU1NRURJQVRFTFkhXG4iCisjfiBtc2dzdHIgIkrDpHJqZXN0ZWxtw6Qgc2FtbXV1IFbDhExJVFTDlk3DhFNUSSFcbiIKKworI34gbXNnaWQgIlx0Li4uICVzIC4uLlxuIgorI34gbXNnc3RyICJcdC4uLiAlcyAuLi5cbiIKKworI34gbXNnaWQgIkNhbm5vdCBmb3JrIGZvciBzd2Fwb2ZmLiBTaHJ1ZyEiCisjfiBtc2dzdHIgIkhhYXJhdXR0YW1pbmVuIGtvbWVudG9hIHN3YXBvZmYgdmFydGVuIGVpIG9ubmlzdHUuIEFpdmFuIHNhbWEhIgorCisjfiBtc2dpZCAiQ2Fubm90IGV4ZWMgc3dhcG9mZiwgaG9waW5nIHVtb3VudCB3aWxsIGRvIHRoZSB0cmljay4iCisjfiBtc2dzdHIgIktvbWVudG9hIHN3YXBvZmYgZWkgdm9pIGvDpHlubmlzdMOkw6QsIHRvaXZvdHRhdmFzdGkgdW1vdW50IGhvaXRhYSBhc2lhbi4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZm9yayBmb3IgdW1vdW50LCB0cnlpbmcgbWFudWFsbHkuIgorI34gbXNnc3RyICJIYWFyYXV0dGFtaW5lbiBrb21lbnRvYSB1bW91bnQgdmFydGVuIGVpIG9ubmlzdHUsIHlyaXRldMOkw6RuIG1hbnVhYWxpc2VzdGkuIgorCisjfiBtc2dpZCAiQ2Fubm90IGV4ZWMgJXMsIHRyeWluZyB1bW91bnQuXG4iCisjfiBtc2dzdHIgIk9oamVsbWFhICVzIGVpIHZvaSBrw6R5bm5pc3TDpMOkLCB5cml0ZXTDpMOkbiBrw6R5bm5pc3TDpMOkIHVtb3VudC5cbiIKKworI34gbXNnaWQgIkNhbm5vdCBleGVjIHVtb3VudCwgZ2l2aW5nIHVwIG9uIHVtb3VudC4iCisjfiBtc2dzdHIgIk9oamVsbWFhIHVtb3VudCBlaSB2b2kga8OkeW5uaXN0w6TDpCwgbHVvdnV0YWFuIGlycm90dXN5cml0eWtzZXN0w6QuIgorCisjfiBtc2dpZCAiVW5tb3VudGluZyBhbnkgcmVtYWluaW5nIGZpbGVzeXN0ZW1zLi4uIgorI34gbXNnc3RyICJJcnJvdGV0YWFuIGrDpGxqZWxsw6Qgb2xldmF0IHRpZWRvc3RvasOkcmplc3RlbG3DpHQuLi4iCisKKyN+IG1zZ2lkICJzaHV0ZG93bjogQ291bGRuJ3QgdW1vdW50ICVzOiAlc1xuIgorI34gbXNnc3RyICJzaHV0ZG93bjogTGFpdGV0dGEgJXMgZWkgdm9pdHUgaXJyb3R0YWE6ICVzXG4iCisKKyN+IG1zZ2lkICJCb290aW5nIHRvIHNpbmdsZSB1c2VyIG1vZGUuXG4iCisjfiBtc2dzdHIgIkvDpHlubmlzdGV0w6TDpG4geWhkZW4ga8OkeXR0w6Rqw6RuIHRpbGFhbi5cbiIKKworI34gbXNnaWQgImV4ZWMgb2Ygc2luZ2xlIHVzZXIgc2hlbGwgZmFpbGVkXG4iCisjfiBtc2dzdHIgInloZGVuIGvDpHl0dMOkasOkbiB0aWxhbiBrdW9yZW4ga8OkeW5uaXN0eXMgZXDDpG9ubmlzdHVpXG4iCisKKyN+IG1zZ2lkICJmb3JrIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICJ5aGRlbiBrw6R5dHTDpGrDpG4gdGlsYW4ga3VvcmVuIGhhYXJhdXR0YW1pbmVuIGVww6Rvbm5pc3R1aVxuIgorCisjfiBtc2dpZCAiZXJyb3Igb3BlbmluZyBmaWZvXG4iCisjfiBtc2dzdHIgInZpcmhlIGF2YXR0YWVzc2EgZmlmb2FcbiIKKworI34gbXNnaWQgImVycm9yIHNldHRpbmcgY2xvc2Utb24tZXhlYyBvbiAvZGV2L2luaXRjdGwiCisjfiBtc2dzdHIgInZpcmhlIGFzZXRldHRhZXNzYSDigJ1jbG9zZS1vbi1leGVj4oCdIGxhaXR0ZWVsbGUgL2Rldi9pbml0Y3RsIgorCisjfiBtc2dpZCAiZXJyb3IgcnVubmluZyBmaW5hbHByb2dcbiIKKyN+IG1zZ3N0ciAidmlyaGUgYWpldHRhZXNzYSBmaW5hbHByb2dpYVxuIgorCisjfiBtc2dpZCAiZXJyb3IgZm9ya2luZyBmaW5hbHByb2dcbiIKKyN+IG1zZ3N0ciAidmlyaGUgaGFhcmF1dGV0dGFlc3NhIGZpbmFscHJvZ2lhXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV3JvbmcgcGFzc3dvcmQuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJWw6TDpHLDpCBzYWxhc2FuYS5cbiIKKworI34gbXNnaWQgImZvcmsgZmFpbGVkXG4iCisjfiBtc2dzdHIgImhhYXJhdXR0YW1pbmVuIGVww6Rvbm5pc3R1aVxuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gaW5pdHRhYlxuIgorI34gbXNnc3RyICJ0aWVkb3N0b2EgaW5pdHRhYiBlaSB2b2kgYXZhdGFcbiIKKworI34gbXNnaWQgIm5vIFRFUk0gb3IgY2Fubm90IHN0YXQgdHR5XG4iCisjfiBtc2dzdHIgIlRFUk0tbXV1dHR1amFhIGVpIG9sZSB0YWkgcMOkw6R0dGVlbiB0aWxhYSBlaSB2b2kgbHVrZWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciBhdCBzdG9wcGluZyBzZXJ2aWNlIFwiJXNcIlxuIgorI34gbXNnc3RyICJ2aXJoZSBweXPDpHl0ZXR0w6Rlc3PDpCBwYWx2ZWx1YTog4oCdJXPigJ1cbiIKKworI34gbXNnaWQgIlN0b3BwZWQgc2VydmljZTogJXNcbiIKKyN+IG1zZ3N0ciAiUHlzw6R5dGV0w6TDpG4gcGFsdmVsdWE6IOKAnSVz4oCdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgYXQgc3RhcnRpbmcgc2VydmljZSBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAidmlyaGUgcHlzw6R5dGV0dMOkZXNzw6QgcGFsdmVsdWE6IOKAnSVz4oCdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstY10gWy1uIGxldmVsXSBbLXJdIFstcyBidWZzaXplXVxuIgorI34gbXNnc3RyICJrw6R5dHTDtjogJXMgWy1jXSBbLW4gdGFzb10gWy1zIHB1c2t1cmluX2tva29dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6IHN0cmR1cCBmYWlsZWQiCisjfiBtc2dzdHIgImtpcmpvaXR0YW1pbmVuIHZha2lvdHVsb3N0ZWVzZWVuIGVww6Rvbm5pc3R1aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogY2FsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAidmlyaGU6IG1hbGxvYyBlcMOkb25uaXN0dWkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6ICVzIFstYmZweF0gWy1sIG5saW5lXSIKKyN+IG1zZ3N0ciAia8OkeXR0w7Y6IGNvbCBbLWJmcHhdIFstbCByaXZpbcOkw6Ryw6RdXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtIF0gWyAtMiBdIFsgZmlsZSAuLi4gXVxuIgorI34gbXNnc3RyICJrw6R5dHTDtjogJXMgWyAtIF0gWyAtMiBdIFsgdGllZG9zdG8gLi4uIF1cbiIKKworI34gbXNnaWQgImhleGR1bXA6IFstYmNDZG92eF0gWy1lIGZtdF0gWy1mIGZtdF9maWxlXSBbLW4gbGVuZ3RoXSBbLXMgc2tpcF0gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJoZXhkdW1wOiBbLWJjQ2RvdnhdIFstZSBtdW90b10gWy1mIG11b3RvdGllZF0gWy1uIHBpdHV1c10gWy1zIG9oaXRhXSBbdGllZG9zdG8gLi4uXVxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFstZGZscGNzdV0gWytsaW5lbnVtIHwgKy9wYXR0ZXJuXSBuYW1lMSBuYW1lMiAuLi5cbiIKKyN+IG1zZ3N0ciAia8OkeXR0w7Y6ICVzIFstZGZscGNzdV0gWytyaXZpbnVtZXJvIHwgKy9oYWhtb10gbmltaTEgbmltaTIgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGluZSBidWZmZXJcbiIKKyN+IG1zZ3N0ciAiUHVza3VyaWEgZWkgdm9pIHZhcmF0YS5cbiIKKworI34gbXNnaWQgImhleGR1bXA6IGNhbid0IHJlYWQgJXMuXG4iCisjfiBtc2dzdHIgImhleGR1bXA6IHRpZWRvc3RvYSAlcyBlaSB2b2kgbHVrZWEuXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBsaW5lIHRvbyBsb25nLlxuIgorI34gbXNnc3RyICJoZXhkdW1wOiBsaWlhbiBwaXRrw6Qgcml2aS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZWFsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAibWFsbG9jIGVww6Rvbm5pc3R1aSIKKworI34gbXNnaWQgInVzYWdlOiB0YWlsZiBbLW4gTiB8IC1OXSBsb2dmaWxlIgorI34gbXNnc3RyICJrw6R5dHTDtjogdGFpbGYgWy1uIE4gfCAtTl0gbG9raXRpZWRvc3RvIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbIC1pIF0gWyAtdFRlcm0gXSBmaWxlLi4uXG4iCisjfiBtc2dzdHIgImvDpHl0dMO2OiAlcyBbIC1pIF0gWyAtdFRlcm0gXSB0aWVkb3N0by4uLlxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiTGFpdGV0dGEgJXMgZWkgdm9pIGF2YXRhXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYW55IG1vcmUgbWVtb3J5XG4iCisjfiBtc2dzdHIgIk11aXN0aWEgZWkgdm9pIHZhcmF0YSBlbmVtcMOkw6RcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJnb3QgRU9GIHRocmljZSAtIGV4aXRpbmcuLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAic2FhdGlpbiBFT0Yga29sbWVzdGkg4oCTIHBvaXN0dXRhYW4uLlxuIgorCisjfiBtc2dpZCAibGFzdDogbWFsbG9jIGZhaWx1cmUuXG4iCisjfiBtc2dzdHIgImxhc3Q6IG1hbGxvYy12aXJoZS5cbiIKKworI34gbXNnaWQgImxvZ2luOiBPdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgImxvZ2luOiBNdWlzdGkgbG9wdXNzYVxuIgorCisjfiBtc2dpZCAibG9naW46IG5vIHNoZWxsOiAlcy5cbiIKKyN+IG1zZ3N0ciAibG9naW46IGVpIGt1b3J0YTogJXMuXG4iCisKKyN+IG1zZ2lkICJuZXdncnA6IHNldGdpZCIKKyN+IG1zZ3N0ciAibmV3Z3JwOiBzZXRnaWQiCisKKyN+IG1zZ2lkICJuZXdncnA6IFBlcm1pc3Npb24gZGVuaWVkIgorI34gbXNnc3RyICJuZXdncnA6IEx1cGEgZXbDpHR0eSIKKworI34gbXNnaWQgIm5ld2dycDogc2V0dWlkIgorI34gbXNnc3RyICJuZXdncnA6IHNldHVpZCIKKworI34gbXNnaWQgIiVzOiBDYW5ub3QgZm9ya1xuIgorI34gbXNnc3RyICIlczogSGFhcmF1dHRhbWluZW4gZWkgb25uaXN0dVxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHJlYWQgJXMuXG4iCisjfiBtc2dzdHIgIiVzOiB0aWVkb3N0b2EgJXMgZWkgdm9pIGx1a2VhLlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHN0YXQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVzOiB2w6RsaWFpa2Fpc3RpZWRvc3RvbiB0aWxhYSBlaSB2b2kgbHVrZWEuXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3QgcmVhZCB0ZW1wb3JhcnkgZmlsZS5cbiIKKyN+IG1zZ3N0ciAiJXM6IHbDpGxpYWlrYWlzdGllZG9zdG9hIGVpIHZvaSBhdmF0YS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3I6ICVzIgorI34gbXNnc3RyICIlczoga2lyam9pdHVzdmlyaGU6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFyc2UgZXJyb3IgYXQgbGluZXM6ICIKKyN+IG1zZ3N0ciAic2lpcnR5bWlzdmlyaGUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIGFuZCAlZC4iCisjfiBtc2dzdHIgIiBqYSAiCisKKyN+IG1zZ2lkICJyZW5pY2U6ICVzOiB1bmtub3duIHVzZXJcbiIKKyN+IG1zZ3N0ciAicmVuaWNlOiAlczogdHVudGVtYXRvbiBrw6R5dHTDpGrDpFxuIgorCisjfiBtc2dpZCAicmVuaWNlOiAlczogYmFkIHZhbHVlXG4iCisjfiBtc2dzdHIgInJlbmljZTogJXM6IHZpcmhlZWxsaW5lbiBhcnZvXG4iCisKKyN+IG1zZ2lkICJvZDogb2QoMSkgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgaGV4ZHVtcCgxKS5cbiIKKyN+IG1zZ3N0ciAib2Q6IG9kKDEpIG9uIHZhbmhlbnR1bnV0LCBvbiBzdW9zaXRlbHRhdmFhIGvDpHl0dMOkw6QgaGV4ZHVtcCgxKS5cbiIKKworI34gbXNnaWQgIm9kOiBoZXhkdW1wKDEpIGNvbXBhdGliaWxpdHkgZG9lc24ndCBzdXBwb3J0IHRoZSAtJWMgb3B0aW9uJXNcbiIKKyN+IG1zZ3N0ciAib2Q6IGhleGR1bXAoMSkteWh0ZWVuc29waXZ1dXMgZWkgdHVlIC0lYyAtdmFsaXRzaW50YSVzXG4iCisKKyN+IG1zZ2lkICI7IHNlZSBzdHJpbmdzKDEpLiIKKyN+IG1zZ3N0ciAiOyBrYXRzbyBzdHJpbmdzKDEpLiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGluIHRoZSBmaW5hbCBwYXJ0aWFsIGN5bGluZGVyIgorI34gbXNnc3RyICJPc2lvbiBsb3BwdSBvbiB2aWltZWlzZWxsw6Qgb3NpdHRhaXNlbGxhIHN5bGludGVyaWxsw6QiCisKKyN+IG1zZ2lkICIlczogb3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICIlczogbXVpc3RpIGxvcHVzc2FcbiIKKworI34gbXNnaWQgIiVzOiBpbGxlZ2FsIGludGVydmFsICVzIHNlY29uZHNcbiIKKyN+IG1zZ3N0ciAiJXM6IHZpcmhlZWxsaW5lbiBhaWthdsOkbGkgJXMgc2VrdW50aWFcbiIKKworI34gbXNnaWQgIiVzOiBpbGxlZ2FsIHRpbWVfdCB2YWx1ZSAlc1xuIgorI34gbXNnc3RyICIlczogdmlyaGVlbGxpbmVuIHRpbWVfdC1hcnZvICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBleGVjdXRlICVzOiAlc1xuIgorI34gbXNnc3RyICIlczogdXVkZWxsZWVubmltZcOkbWluZW4gJXMg4oaSICVzIGVpIG9ubmlzdHU6ICVzXG4iCisKKyN+IG1zZ2lkICJydGMgcmVhZCIKKyN+IG1zZ3N0ciAidmlyaGUgcnRjOnTDpCBsdWV0dGFlc3NhIgorCisjfiBtc2dpZCAibWFsbG9jIGVycm9yIgorI34gbXNnc3RyICJtYWxsb2MtdmlyaGUiCisKKyN+IG1zZ2lkICJ1c2FnZTogY29sdW1uIFstdHhdIFstYyBjb2x1bW5zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgImvDpHl0dMO2OiBjb2x1bW4gWy10eF0gLWMgc2FyYWtrZWV0XSBbdGllZG9zdG8gLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk91dCBvZiBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAiTXVpc3RpIGxvcHVzc2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlcnNwYWNlIgorI34gbXNnc3RyICJQdXNrdXJpdGlsYWEgZWkgdm9pIHZhcmF0YVxuIgorCisjfiBtc2dpZCAidXNhZ2U6IHJldiBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgImvDpHl0dMO2OiByZXYgW3RpZWRvc3RvIC4uLl1cbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIuXG4iCisjfiBtc2dzdHIgIlB1c2t1cmlhIGVpIHZvaSB2YXJhdGEuXG4iCisKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5IHdoZW4gZ3Jvd2luZyBidWZmZXIuXG4iCisjfiBtc2dzdHIgIk11aXN0aSBsb3BwdWkga2FzdmF0ZXR0YWVzc2EgcHVza3VyaWEuXG4iCisKKyN+IG1zZ2lkICIlczogaWxsZWdhbCBvcHRpb24gLS0gJWNcbiIKKyN+IG1zZ3N0ciAiJXM6IHZpcmhlZWxsaW5lbiB2YWxpdHNpbiDigJMgJWNcbiIKKworI34gbXNnaWQgImVycm9yIHJ1bm5pbmcgcHJvZ3JhbW1lOiBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAiVmlyaGUgYWpldHRhZXNzYSBvaGplbG1hYTog4oCdJXPigJ1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIG9mZnNldCAnJXMnIHZhbHVlIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiVmlyaGVlbGxpbmVuIGFzZXRldHR1IGFydm86ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3VycmVudCIKKyN+IG1zZ3N0ciAibmNvdW50IgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5ldyIKKyN+IG1zZ3N0ciAiVXVzaSIKKworI34gbXNnaWQgIkxpbnV4IGV4dDIiCisjfiBtc2dzdHIgIkxpbnV4IGV4dDIiCisKKyN+IG1zZ2lkICJMaW51eCBleHQzIgorI34gbXNnc3RyICJMaW51eCBleHQzIgorCisjfiBtc2dpZCAiTGludXggWEZTIgorI34gbXNnc3RyICJMaW51eCBYRlMiCisKKyN+IG1zZ2lkICJMaW51eCBKRlMiCisjfiBtc2dzdHIgIkxpbnV4IEpGUyIKKworI34gbXNnaWQgIkxpbnV4IFJlaXNlckZTIgorI34gbXNnc3RyICJMaW51eCBSZWlzZXJGUyIKKworI34gbXNnaWQgIk9TLzIgSFBGUyIKKyN+IG1zZ3N0ciAiT1MvMiBIUEZTIgorCisjfiBtc2dpZCAiT1MvMiBJRlMiCisjfiBtc2dzdHIgIk9TLzIgSUZTIgorCisjfiBtc2dpZCAiTlRGUyIKKyN+IG1zZ3N0ciAiTlRGUyIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogZmRpc2sgWy1iIFNTWl0gWy11XSBESVNLICAgICBDaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiICAgICAgIGZkaXNrIC1sIFstYiBTU1pdIFstdV0gRElTSyAgTGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKKyN+ICIgICAgICAgZmRpc2sgLXMgUEFSVElUSU9OICAgICAgICAgICBHaXZlIHBhcnRpdGlvbiBzaXplKHMpIGluIGJsb2Nrc1xuIgorI34gIiAgICAgICBmZGlzayAtdiAgICAgICAgICAgICAgICAgICAgIEdpdmUgZmRpc2sgdmVyc2lvblxuIgorI34gIkhlcmUgRElTSyBpcyBzb21ldGhpbmcgbGlrZSAvZGV2L2hkYiBvciAvZGV2L3NkYVxuIgorI34gImFuZCBQQVJUSVRJT04gaXMgc29tZXRoaW5nIGxpa2UgL2Rldi9oZGE3XG4iCisjfiAiLXU6IGdpdmUgU3RhcnQgYW5kIEVuZCBpbiBzZWN0b3IgKGluc3RlYWQgb2YgY3lsaW5kZXIpIHVuaXRzXG4iCisjfiAiLWIgMjA0ODogKGZvciBjZXJ0YWluIE1PIGRpc2tzKSB1c2UgMjA0OC1ieXRlIHNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkvDpHl0dMO2OiBmZGlzayBbLWIgU1NaXSBbLXVdIExFVlkgICAgIE11dXRhIG9zaW90YXVsdWFcbiIKKyN+ICIgICAgICAgIGZkaXNrIC1sIFstYiBTU1pdIFstdV0gTEVWWSAgTsOkeXTDpCBvc2lvdGF1bHUodClcbiIKKyN+ICIgICAgICAgIGZkaXNrIC1zIE9TSU8gICAgICAgICAgICAgICAgTsOkeXTDpCBvc2lvKGlkZSluIGtva28va29vdCBsb2hrb2luYVxuIgorI34gIiAgICAgICAgZmRpc2sgLXYgICAgICAgICAgICAgICAgICAgICBOw6R5dMOkIGZkaXNraW4gdmVyc2lvXG4iCisjfiAiVMOkc3PDpCBMRVZZIG9uIGVzaW1lcmtpa3NpIC9kZXYvaGRiIHRhaSAvZGV2L3NkYVxuIgorI34gImphIE9TSU8gb24gZXNpbWVya2lrc2kgL2Rldi9oZGE3XG4iCisjfiAiLXU6IGFubmEgQWxrdSBqYSBMb3BwdSBzZWt0b3JlaW5hIChzeWxpbnRlcmllbiBzaWphYW4pXG4iCisjfiAiLWIgMjA0ODogKHRpZXR5aWxsZSBNTy1sZXZ5aWxsZSkga8OkeXTDpCAyMDQ4IHRhdnVuIHNla3RvcmVpdGFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogZmRpc2sgWy1sXSBbLWIgU1NaXSBbLXVdIGRldmljZVxuIgorI34gIkUuZy46IGZkaXNrIC9kZXYvaGRhICAoZm9yIHRoZSBmaXJzdCBJREUgZGlzaylcbiIKKyN+ICIgIG9yOiBmZGlzayAvZGV2L3NkYyAgKGZvciB0aGUgdGhpcmQgU0NTSSBkaXNrKVxuIgorI34gIiAgb3I6IGZkaXNrIC9kZXYvZWRhICAoZm9yIHRoZSBmaXJzdCBQUy8yIEVTREkgZHJpdmUpXG4iCisjfiAiICBvcjogZmRpc2sgL2Rldi9yZC9jMGQwICBvcjogZmRpc2sgL2Rldi9pZGEvYzBkMCAgKGZvciBSQUlEIGRldmljZXMpXG4iCisjfiAiICAuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkvDpHl0dMO2OiBmZGlzayBbLWxdIFstYiBTU1pdIFstdV0gbGFpdGVcbiIKKyN+ICJFc2ltOiBmZGlzayAvZGV2L2hkYSAgKGVuc2ltbcOkaW5lbiBJREUtbGV2eSlcbiIKKyN+ICIgdGFpOiBmZGlzayAvZGV2L3NkYyAgKGtvbG1hcyBTQ1NJLWxldnkpXG4iCisjfiAiIHRhaTogZmRpc2sgL2Rldi9lZGEgIChlbnNpbW3DpGluZW4gUFMvMiBFU0RJIC1hc2VtYSlcbiIKKyN+ICIgdGFpOiBmZGlzayAvZGV2L3JkL2MwZDAgIHRhaTogZmRpc2sgL2Rldi9pZGEvYzBkMCAgKFJBSUQtbGFpdHRlZXQpXG4iCisjfiAiICAuLi5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJUaGUgbnVtYmVyIG9mIGN5bGluZGVycyBmb3IgdGhpcyBkaXNrIGlzIHNldCB0byAlZC5cbiIKKyN+ICJUaGVyZSBpcyBub3RoaW5nIHdyb25nIHdpdGggdGhhdCwgYnV0IHRoaXMgaXMgbGFyZ2VyIHRoYW4gMTAyNCxcbiIKKyN+ICJhbmQgY291bGQgaW4gY2VydGFpbiBzZXR1cHMgY2F1c2UgcHJvYmxlbXMgd2l0aDpcbiIKKyN+ICIxKSBzb2Z0d2FyZSB0aGF0IHJ1bnMgYXQgYm9vdCB0aW1lIChlLmcuLCBvbGQgdmVyc2lvbnMgb2YgTElMTylcbiIKKyN+ICIyKSBib290aW5nIGFuZCBwYXJ0aXRpb25pbmcgc29mdHdhcmUgZnJvbSBvdGhlciBPU3NcbiIKKyN+ICIgICAoZS5nLiwgRE9TIEZESVNLLCBPUy8yIEZESVNLKVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVMOkbcOkbiBsZXZ5biBzeWxpbnRlcmVpZGVuIG3DpMOkcsOka3NpIG9uIGFzZXRldHR1ICVkLlxuIgorI34gIlNpaW7DpCBlaSBvbGUgbWl0w6TDpG4gdmlrYWEsIG11dHRhIHNlIG9uIHN1dXJlbXBpIGt1aW4gMTAyNCwgamEgdm9pXG4iCisjfiAidGlldHlpc3PDpCBrb2tvb25wYW5vaXNzYSBhaWhldXR0YWEgb25nZWxtaWEgc2V1cmFhdmlzc2EgdGFwYXVrc2lzc2E6XG4iCisjfiAiMSkga8OkeW5uaXN0eWtzZXNzw6QgYWpldHRhdmF0IG9oamVsbWF0IChlc2ltLiBMSUxPbiB2YW5oYXQgdmVyc2lvdClcbiIKKyN+ICIyKSBtdWlkZW4ga8OkeXR0w7Zqw6RyamVzdGVsbWllbiBrw6R5bm5pc3R5cy0gamEgb3Npb2ludGlvaGplbG1hdFxuIgorI34gIiAgIChlc2ltLiBET1MgRkRJU0ssIE9TLzIgRkRJU0spXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IG5vIG1lZGl1bSBmb3VuZCBvbiAlcyAuLi50cnlpbmcgYWdhaW5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGVpIGzDtnl0eW55dCAlcyDigJMgbHVvZGFhbiBzZS4uXG4iCisKKyN+IG1zZ2lkICJ1c2FnZSA6ICVzIC1hc21xIC10Y2x1cCBcbiIKKyN+IG1zZ3N0ciAia8OkeXR0w7YgOiAlcyAtYXNtcSAtdGNsdXAgXG4iCisKKyN+IG1zZ2lkICJcdCVzIFstcyAtbSAtcV0gLWkgaWRcbiIKKyN+IG1zZ3N0ciAiXHQlcyBbLXMgLW0gLXFdIC1pIGlkXG4iCisKKyN+IG1zZ2lkICJcdCVzIC1oIGZvciBoZWxwLlxuIgorI34gbXNnc3RyICJcdCVzIC1oIG7DpHl0dMOkw6Qgb2hqZWVuLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlx0LXMgOiBzZW1hcGhvcmVzXG4iCisjfiAiXHQtYSA6IGFsbCAoZGVmYXVsdClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlx0LXMgOiBzZW1hZm9yaXRcbiIKKyN+ICJcdC1hIDoga2Fpa2tpIChvbGV0dXMpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiT3V0cHV0IEZvcm1hdDpcbiIKKyN+ICJcdC10IDogdGltZVxuIgorI34gIlx0LXAgOiBwaWRcbiIKKyN+ICJcdC1jIDogY3JlYXRvclxuIgorI34gbXNnc3RyICIiCisjfiAiVHVsb3N0dXNtdW90bzpcbiIKKyN+ICJcdC10IDogYWlrYVxuIgorI34gIlx0LXAgOiBwaWRcbiIKKyN+ICJcdC1jIDogbHVvamFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdC1sIDogbGltaXRzXG4iCisjfiAiXHQtdSA6IHN1bW1hcnlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlx0LWwgOiByYWphdFxuIgorI34gIlx0LXUgOiB0aWl2aXN0ZWxtw6RcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogJXMiCisjfiBtc2dzdHIgIlZpcmhlIHPDpMOkbm7DtmxsaXNlc3PDpCBsYXVzZWtrZWVzc2E6ICIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciBwYXJzZTogJXMiCisjfiBtc2dzdHIgInZpcmhlIGx1ZXR0YWVzc2EgdGllZG9zdG9hICVzXG4iCisKKyN+IG1zZ2lkICJlcnJvcjogL3N5cyBmaWxlc3lzdGVtIGlzIG5vdCBhY2Nlc3NhYmxlLiIKKyN+IG1zZ3N0ciAidmlyaGU6IC9zeXMtdGllZG9zdG9qw6RyamVzdGVsbcOkIGVpIG9sZSBrw6R5dGV0dMOkdmlzc8OkLiIKKworI34gbXNnaWQgInVzYWdlOiByZGV2IFsgLXJ2IF0gWyAtbyBPRkZTRVQgXSBbIElNQUdFIFsgVkFMVUUgWyBPRkZTRVQgXSBdIF0iCisjfiBtc2dzdHIgImvDpHl0dMO2OiByZGV2IFsgLXJ2IF0gWyAtbyBTSUlSVFlNw4QgXSBbIFZFRE9TIFsgVkFMVUUgWyBTSUlSVFlNw4QgXSBdIF0iCisKKyN+IG1zZ2lkICIgIHJkZXYgL2Rldi9mZDAgIChvciByZGV2IC9saW51eCwgZXRjLikgZGlzcGxheXMgdGhlIGN1cnJlbnQgUk9PVCBkZXZpY2UiCisjfiBtc2dzdHIgIiAgcmRldiAvZGV2L2ZkMCAgKHRhaSByZGV2IC9saW51eCwgam5lKSBuw6R5dHTDpMOkIG55a3lpc2VuIEpVVVJJbGFpdHRlZW4iCisKKyN+IG1zZ2lkICIgIHJkZXYgL2Rldi9mZDAgL2Rldi9oZGEyICAgICAgICAgc2V0cyBST09UIHRvIC9kZXYvaGRhMiIKKyN+IG1zZ3N0ciAiICByZGV2IC9kZXYvZmQwIC9kZXYvaGRhMiAgICAgICAgIGFzZXR0YWEgSlVVUkVLU0kgL2Rldi9oZGEyIgorCisjfiBtc2dpZCAiICByZGV2IC1SIC9kZXYvZmQwIDEgICAgICAgICAgICAgIHNldCB0aGUgUk9PVEZMQUdTIChyZWFkb25seSBzdGF0dXMpIgorI34gbXNnc3RyICIgIHJkZXYgLVIgL2Rldi9mZDAgMSAgICAgICAgICAgICAgYXNldGEgSlVVUklMSVBVVCAodmFpbiBsdWt1IC10aWxhKSIKKworI34gbXNnaWQgIiAgcmRldiAtciAvZGV2L2ZkMCA2MjcgICAgICAgICAgICBzZXQgdGhlIFJBTURJU0sgc2l6ZSIKKyN+IG1zZ3N0ciAiICByZGV2IC1yIC9kZXYvZmQwIDYyNyAgICAgICAgICAgIGFzZXRhIFJBTS1sZXZ5biBrb2tvIgorCisjfiBtc2dpZCAiICByZGV2IC12IC9kZXYvZmQwIDEgICAgICAgICAgICAgIHNldCB0aGUgYm9vdHVwIFZJREVPTU9ERSIKKyN+IG1zZ3N0ciAiICByZGV2IC12IC9kZXYvZmQwIDEgICAgICAgICAgICAgIGFzZXRhIGvDpHlubmlzdHlrc2VuIE7DhFlUVMOWVElMQSIKKworI34gbXNnaWQgIiAgcmRldiAtbyBOIC4uLiAgICAgICAgICAgICAgICAgICB1c2UgdGhlIGJ5dGUgb2Zmc2V0IE4iCisjfiBtc2dzdHIgIiAgcmRldiAtbyBOIC4uLiAgICAgICAgICAgICAgICAgICBrw6R5dMOkIHRhdnVzaWlydHltw6TDpCBOIgorCisjfiBtc2dpZCAiICByb290ZmxhZ3MgLi4uICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgcmRldiAtUiIKKyN+IG1zZ3N0ciAiICByb290ZmxhZ3MgLi4uICAgICAgICAgICAgICAgICAgIHNhbWEga3VpbiByZGV2IC1SIgorCisjfiBtc2dpZCAiICByYW1zaXplIC4uLiAgICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgcmRldiAtciIKKyN+IG1zZ3N0ciAiICByYW1zaXplIC4uLiAgICAgICAgICAgICAgICAgICAgIHNhbWEga3VpbiByZGV2IC1yIgorCisjfiBtc2dpZCAiICB2aWRtb2RlIC4uLiAgICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgcmRldiAtdiIKKyN+IG1zZ3N0ciAiICB2aWRtb2RlIC4uLiAgICAgICAgICAgICAgICAgICAgIHNhbWEga3VpbiByZGV2IC12IgorCisjfiBtc2dpZCAiTm90ZTogdmlkZW8gbW9kZXMgYXJlOiAtMz1Bc2ssIC0yPUV4dGVuZGVkLCAtMT1Ob3JtYWxWZ2EsIDE9a2V5MSwgMj1rZXkyLC4uLiIKKyN+IG1zZ3N0ciAiSHVvbTogTsOkeXR0w7Z0aWxhdCBvdmF0OiAtMz1LeXN5LCAtMj1MYWFqZW5uZXR0dSwgLTE9Tm9ybWFhbGlWZ2EsIDE9YXZhaW4xLCAyPWF2YWluMiwuLi4iCisKKyN+IG1zZ2lkICIgICAgICB1c2UgLVIgMSB0byBtb3VudCByb290IHJlYWRvbmx5LCAtUiAwIGZvciByZWFkL3dyaXRlLiIKKyN+IG1zZ3N0ciAiICAgICAgLVIgMSBsaWl0dMOkw6QganV1cmVuIHZhaW4gbHVrdSAtdGlsYWFuLCAtUiAwIGx1a3Uva2lyam9pdHVzLiIKKworI34gbXNnaWQgIm1pc3NpbmcgY29tbWEiCisjfiBtc2dzdHIgInB1dXR0dXZhIHBpbGtrdSIKKworI34gbXNnaWQgInN1cGVyYmxvY2sgc2l6ZSAoJWx1KSB0b28gc21hbGwiCisjfiBtc2dzdHIgInN1cGVybG9oa29uIGtva28gKCVsdSkgb24gbGlpYW4gcGllbmkiCisKKyN+IG1zZ2lkICJlcnJvcjogL3N5cyBmaWxlc3lzdGVtIGlzIG5vdCBhY2Nlc3NpYmxlLiIKKyN+IG1zZ3N0ciAidmlyaGU6IC9zeXMtdGllZG9zdG9qw6RyamVzdGVsbcOkIGVpIG9sZSBrw6R5dGV0dMOkdmlzc8OkLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJvdXQgaWYgbWVtb3J5IgorI34gbXNnc3RyICJtdWlzdGkgbG9wdXNzYSIKKworI34gbXNnaWQgIiIKKyN+ICJ1bml0OiBzZWN0b3JzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJ5a3Npa2vDtjogc2VrdG9yaXRcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgc3RhcnQ9JTlsdSIKKyN+IG1zZ3N0ciAiYWx1biIKKworIywgZnV6enkKKyN+IG1zZ2lkICIsIGJvb3RhYmxlIgorI34gbXNnc3RyICJBSVgga8OkeW5uaXN0ZXR0w6R2w6QiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2xvY2sgaW4gVVRDLCBub3QgY2hhbmdlZC5cbiIKKyN+IG1zZ3N0ciAiS3VvcnRhIGVpIHZhaWhkZXR0dS5cbiIKKworI34gbXNnaWQgIiVzOiBlcnJvcjogbGFiZWwgb25seSB3aXRoIHYxIHN3YXAgYXJlYVxuIgorI34gbXNnc3RyICIlczogdmlyaGU6IHZhc3RhIHNpdnV0dXN0aWxhbiB2ZXJzaW8gMSB0dWtlZSBuaW1pw7ZpdMOkXG4iCisKKyN+IG1zZ2lkICJmYXRhbDogZmlyc3QgcGFnZSB1bnJlYWRhYmxlIgorI34gbXNnc3RyICJ2YWthdmFhOiBlbnNpbW3DpGluZW4gc2l2dSBvbiBsdWt1a2Vsdm90b24iCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IERldmljZSAnJXMnIGNvbnRhaW5zIGEgdmFsaWQgU3VuIGRpc2tsYWJlbC5cbiIKKyN+ICJUaGlzIHByb2JhYmx5IG1lYW5zIGNyZWF0aW5nIHYwIHN3YXAgd291bGQgZGVzdHJveSB5b3VyIHBhcnRpdGlvbiB0YWJsZS5cbiIKKyN+ICJObyBzd2FwIHdhcyBjcmVhdGVkLiBJZiB5b3UgcmVhbGx5IHdhbnQgdG8gY3JlYXRlIHYwIHN3YXAgb24gdGhhdCBkZXZpY2UsXG4iCisjfiAidXNlIHRoZSAtZiBvcHRpb24gdG8gZm9yY2UgaXQuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogTGFpdHRlZWxsYSDigJ0lc+KAnSBvbiBrZWx2b2xsaW5lbiBTdW4tbGV2eW5pbWnDti5cbiIKKyN+ICJUw6Rtw6QgdGFya29pdHRhYSB0b2Rlbm7DpGvDtmlzZXN0aSBzaXTDpCwgZXR0w6QgdjAtc2l2dXR1c2FsdWVlbiBsdW9taW5lbiB0dWhvYWlzaVxuIgorI34gIm9zaW90YXVsdW4uIFNpdnV0dXNhbHVldHRhIGVpIGx1b3R1LiBKb3MgdG9kZWxsYSBoYWx1YXQgbHVvZGEgdjAtc2l2dXR1c2FsdWVlblxuIgorI34gImt5c2Vpc2VsbGUgbGFpdHRlZWxsZSwga8OkeXTDpCB2YWxpdHNpbnRhIC1mIHNlbiBwYWtvdHRhbWlzZWVuLlxuIgorCisjfiBtc2dpZCAibmFtZWk6IGNvdWxkIG5vdCBjaGRpciB0byByb290IVxuIgorI34gbXNnc3RyICJuYW1laToganV1cmVlbiBzaWlydHltaW5lbiBlcMOkb25uaXN0dWkhXG4iCisKKyN+IG1zZ2lkICJuYW1laTogY291bGQgbm90IHN0YXQgcm9vdCFcbiIKKyN+IG1zZ3N0ciAibmFtZWk6IGp1dXJlbiB0aWxhYSBlaSB2b2l0dSBsdWtlYSFcbiIKKworI34gbXNnaWQgIm5hbWVpOiBidWYgb3ZlcmZsb3dcbiIKKyN+IG1zZ3N0ciAibmFtZWk6IHB1c2t1cmluIHlsaXZ1b3RvXG4iCisKKyN+IG1zZ2lkICIgPyBjb3VsZCBub3QgY2hkaXIgaW50byAlcyAtICVzICglZClcbiIKKyN+IG1zZ3N0ciAiID8gc2lpcnR5bWluZW4gaGFrZW1pc3Rvb24gJXMgZXDDpG9ubmlzdHVpIOKAkyAlcyAoJWQpXG4iCisKKyN+IG1zZ2lkICIgPyBwcm9ibGVtcyByZWFkaW5nIHN5bWxpbmsgJXMgLSAlcyAoJWQpXG4iCisjfiBtc2dzdHIgIiA/IG9uZ2VsbWlhIGx1ZXR0YWVzc2Egc3ltbGlua2tpw6QgJXMg4oCTICVzICglZClcbiIKKworI34gbXNnaWQgIiAgKioqIEVYQ0VFREVEIFVOSVggTElNSVQgT0YgU1lNTElOS1MgKioqXG4iCisjfiBtc2dzdHIgIiAgKioqIFVOSVhJTiBTWU1MSU5LS0lFTiBSQUpBIFlMSVRFVFRJSU4gKioqXG4iCisKKyN+IG1zZ2lkICJuYW1laTogdW5rbm93biBmaWxlIHR5cGUgMCUwNm8gb24gZmlsZSAlc1xuIgorI34gbXNnc3RyICJuYW1laTogdGllZG9zdG9sbGEgJTIkcyBvbiB0dW50ZW1hdG9uIHR5eXBwaSAwJTEkMDZvXG4iCisKKyMgRWVlZWlpaWkuLi4KKyN+IG1zZ2lkICJtb3VudDogZ29pbmcgdG8gbW91bnQgJXMgYnkgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGxpaXRldMOkw6RuICVzICVzOm4gcGVydXN0ZWVsbGFcbiIKKworI34gbXNnaWQgIm1vdW50OiBubyBMQUJFTD0sIG5vIFVVSUQ9LCBnb2luZyB0byBtb3VudCAlcyBieSBwYXRoXG4iCisjfiBtc2dzdHIgIm1vdW50OiBlaSBMQUJFTD0sIGVpIFVVSUQ9LCBsaWl0ZXTDpMOkbiAlcyBwb2x1biBwZXJ1c3RlZWxsYVxuIgorCisjfiBtc2dpZCAiJXM6IHdhaXRwaWQ6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiB3YWl0cGlkOiAlc1xuIgorCisjfiBtc2dpZCAiY291bGQgbm90IHVtb3VudCAlcyAtIHRyeWluZyAlcyBpbnN0ZWFkXG4iCisjfiBtc2dzdHIgImtvaHRlZW4gJXMgaXJyb3R0YW1pbmVuIGVww6Rvbm5pc3R1aSDigJMgeXJpdGV0w6TDpG4gc2VuIHNpamFhbiBpcnJvdHRhYSAlc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnNcbiIKKworI34gbXNnaWQgIiUtOHMgJS0xMHMgJS0yNi4yNHMgJS0yNi4yNHNcbiIKKyN+IG1zZ3N0ciAiJS04cyAlLTEwcyAlLTI2LjI0cyAlLTI2LjI0c1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKworI34gbXNnaWQgIiUtOHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKyN+IG1zZ3N0ciAiJS04cyAlLTEwcyAlLTIwcyAlLTIwcyAlLTIwc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnMgJS0xMnNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnMgJS0xMnNcbiIKKworI34gbXNnaWQgImNhbGxpbmcgb3Blbl90dHlcbiIKKyN+IG1zZ3N0ciAia3V0c3V0YWFuIG9wZW5fdHR5XG4iCisKKyN+IG1zZ2lkICJjYWxsaW5nIHRlcm1pb19pbml0XG4iCisjfiBtc2dzdHIgImt1dHN1dGFhbiB0ZXJtaW9faW5pdFxuIgorCisjfiBtc2dpZCAid3JpdGluZyBpbml0IHN0cmluZ1xuIgorI34gbXNnc3RyICJraXJqb2l0ZXRhYW4gYWx1c3R1c21lcmtraWpvbm9hXG4iCisKKyN+IG1zZ2lkICJiZWZvcmUgYXV0b2JhdWRcbiIKKyN+IG1zZ3N0ciAiZW5uZW4gYXV0b2JhdWRpYVxuIgorCisjfiBtc2dpZCAid2FpdGluZyBmb3IgY3ItbGZcbiIKKyN+IG1zZ3N0ciAib2RvdGV0YWFuIGNyLWxmXG4iCisKKyN+IG1zZ2lkICJyZWFkaW5nIGxvZ2luIG5hbWVcbiIKKyN+IG1zZ3N0ciAibHVldGFhbiBrw6R5dHTDpGrDpHR1bm51c1xuIgorCisjfiBtc2dpZCAiYWZ0ZXIgZ2V0b3B0IGxvb3BcbiIKKyN+IG1zZ3N0ciAiZ2V0b3B0LXNpbG11a2FuIGrDpGxrZWVuXG4iCisKKyN+IG1zZ2lkICJleGl0aW5nIHBhcnNlYXJnc1xuIgorI34gbXNnc3RyICJwb2lzdHV0YWFuIHBhcnNlYXJnczppc3RhXG4iCisKKyN+IG1zZ2lkICJlbnRlcmVkIHBhcnNlX3NwZWVkc1xuIgorI34gbXNnc3RyICJhbG9pdGV0dGlpbiBwYXJzZV9zcGVlZHNcbiIKKworI34gbXNnaWQgImV4aXRpbmcgcGFyc2VzcGVlZHNcbiIKKyN+IG1zZ3N0ciAicG9pc3R1dGFhbiBrb2hkYXN0YSBwYXJzZXNwZWVkc1xuIgorCisjfiBtc2dpZCAib3BlbigyKVxuIgorI34gbXNnc3RyICJvcGVuKDIpXG4iCisKKyN+IG1zZ2lkICJkdXBpbmdcbiIKKyN+IG1zZ3N0ciAia29waW9pZGFhbiB0aWVkb3N0b2thaHZhXG4iCisKKyN+IG1zZ2lkICJ0ZXJtX2lvIDJcbiIKKyN+IG1zZ3N0ciAidGVybV9pbyAyXG4iCisKKyN+IG1zZ2lkICJjaGZuOiBQQU0gRmFpbHVyZSwgYWJvcnRpbmc6ICVzXG4iCisjfiBtc2dzdHIgImNoZm46IFBBTS12aXJoZSwga2Vza2V5dGV0w6TDpG46ICVzXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAvZXRjL3NoZWxsc1xuIgorI34gbXNnc3RyICJWYXJvaXR1czog4oCdJXPigJ0gZWkgb2xlIGxpc3RhdHR1bmEgdGllZG9zdG9zc2EgL2V0Yy9zaGVsbHNcbiIKKworI34gbXNnaWQgIkNhbid0IHJlYWQgJXMsIGV4aXRpbmcuIgorI34gbXNnc3RyICJUaWVkb3N0b2EgJXMgZWkgdm9pIGx1a2VhLCBwb2lzdHV0YWFuLiIKKworI34gbXNnaWQgImxvZ2luOiBQQU0gRmFpbHVyZSwgYWJvcnRpbmc6ICVzXG4iCisjfiBtc2dzdHIgImxvZ2luOiBQQU0tdmlyaGUsIGtlc2tleXRldMOkw6RuOiAlc1xuIgorCisjfiBtc2dpZCAidGltZW91dCA9ICVkLCBxdWlldCA9ICVkLCByZWJvb3QgPSAlZFxuIgorI34gbXNnc3RyICJhaWthcmFqYSA9ICVkLCBoaWxqYWlzdXVzID0gJWQsIHV1ZGVsbGVlbmvDpHlubmlzdHlzID0gJWRcbiIKKworI34gbXNnaWQgImNvdWxkbid0IHJlYWQgJXMsIGFuZCBjYW5ub3QgaW9jdGwgZHVtcFxuIgorI34gbXNnc3RyICJ0aWVkb3N0b2EgJXMgZWkgdm9pdHUgbHVrZWEsIGVpa8OkIGR1bXAtaW9jdGwgb25uaXN0dVxuIgorCisjfiBtc2dpZCAiLCBvZmZzZXQgJWxsZCIKKyN+IG1zZ3N0ciAiLCBzaWlydHltw6QgJWxsZCIKKworI34gbXNnaWQgIiVzOiBjb3VsZCBub3QgZmluZCBhbnkgZGV2aWNlIC9kZXYvbG9vcCMiCisjfiBtc2dzdHIgIiVzOiBlaSBsw7Z5dHlueXQgeWh0w6TDpG4gbGFpdGV0dGEgL2Rldi9sb29wIyIKKworI34gbXNnaWQgIm1vdW50OiBiYWNrZ3JvdW5kaW5nIFwiJXNcIlxuIgorI34gbXNnc3RyICJtb3VudDogc2lpcnJldMOkw6RuIHRhdXN0YWxsZSDigJ0lc+KAnVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGdpdmluZyB1cCBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGx1b3Z1dGV0YWFuIOKAnSVz4oCdXG4iCisKKyN+IG1zZ2lkICIiCisjfiAidXNhZ2U6ICVzIFstaFZdXG4iCisjfiAiICAgICAgICVzIC1hIFstZV0gWy12XVxuIgorI34gIiAgICAgICAlcyBbLXZdIFstcCBwcmlvcml0eV0gc3BlY2lhbHxMQUJFTD12b2x1bWVfbmFtZSAuLi5cbiIKKyN+ICIgICAgICAgJXMgWy1zXVxuIgorI34gbXNnc3RyICIiCisjfiAia8OkeXR0w7Y6ICVzIFstaFZdXG4iCisjfiAiICAgICAgICAlcyAtYSBbLWVdIFstdl1cbiIKKyN+ICIgICAgICAgICVzIFstdl0gWy1wIHByaW9yaXRlZXR0aV0gZXJpa29pc3RpZWRvc3RvfExBQkVMPWxldnluX25pbWnDtiAuLi5cbiIKKyN+ICIgICAgICAgICVzIFstc11cbiIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgJXMgLWEgWy12XVxuIgorI34gIiAgICAgICAlcyBbLXZdIHNwZWNpYWwgLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJrw6R5dHTDtjogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgICVzIC1hIFstdl1cbiIKKyN+ICIgICAgICAgICVzIFstdl0gZXJpa29pc3RpZWRvc3RvIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYW5ub3QgY2Fub25pY2FsaXplICVzOiAlc1xuIgorI34gbXNnc3RyICIlczogdGllZG9zdG9hICVzIGVpIHZvaSBhdmF0YTogJXNcbiIKKworI34gbXNnaWQgInVzYWdlOiByZW5pY2UgcHJpb3JpdHkgWyBbIC1wIF0gcGlkcyBdIFsgWyAtZyBdIHBncnBzIF0gWyBbIC11IF0gdXNlcnMgXVxuIgorI34gbXNnc3RyICJrw6R5dHTDtjogcmVuaWNlIHByaW9yaXRlZXR0aSBbIFsgLXAgXSBwaWRzIF0gWyBbIC1nIF0gcGdycHMgXSBbIFsgLXUgXSBrw6R5dHTDpGrDpHQgXVxuIgorCisjfiBtc2dpZCAiXHQtJWNcdEVuYWJsZSAlc1xuIgorI34gbXNnc3RyICJcdC0lY1x0T3RhIGvDpHl0dMO2w7ZuICVzXG4iCisKKyN+IG1zZ2lkICJgJXMnOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIKKyN+IG1zZ3N0ciAi4oCdJXPigJ06IHZpYWxsaW5lbiBoYWtlbWlzdG86IOKAnS7igJ0gZWkgb2xlIGVuc2ltbcOkaXNlbsOkXG4iCisKKyN+IG1zZ2lkICJgJXMnOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIgorI34gbXNnc3RyICLigJ0lc+KAnTogdmlhbGxpbmVuIGhha2VtaXN0bzog4oCdLi7igJ0gZWkgb2xlIHRvaXNlbmFcbiIKKworI34gbXNnaWQgIiVzIGZyb20gdXRpbC1saW51eC0lc1xuIgorI34gbXNnc3RyICIlcyBwYWtldGlzdGEgdXRpbC1saW51eC0lc1xuIgorCisjfiBtc2dpZCAiRXhjZWVkZWQgTUFYRU5UUklFUy4gIFJhaXNlIHRoaXMgdmFsdWUgaW4gbWtjcmFtZnMuYyBhbmQgcmVjb21waWxlLiAgRXhpdGluZy5cbiIKKyN+IG1zZ3N0ciAiTUFYRU5UUklFUyB5bGl0ZXR0eS4gS2FzdmF0YSB0w6R0w6QgYXJ2b2EgdGllZG9zdG9zc2EgbWtjcmFtZnMuYyBqYSBrw6TDpG5uw6QgdXVkZWxsZWVuLiBQb2lzdHV0YWFuLlxuIgorCisjfiBtc2dpZCAiQXNzdW1pbmcgcGFnZXMgb2Ygc2l6ZSAlZCAobm90ICVkKVxuIgorI34gbXNnc3RyICJPbGV0ZXRhYW4gc2l2dWplbiBrb29rc2kgJWQgKGVpICVkKVxuIgorCisjfiBtc2dpZCAiQXV0b2NvbmZpZ3VyZSBmb3VuZCBhICVzJXMlc1xuIgorI34gbXNnc3RyICJBdXRvbWFhdHRpa29uZmlndXJvaW50aSBsw7Z5c2k6ICVzJXMlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIkRyaXZlIHR5cGVcbiIKKyN+ICIgICA/ICAgYXV0byBjb25maWd1cmVcbiIKKyN+ICIgICAwICAgY3VzdG9tICh3aXRoIGhhcmR3YXJlIGRldGVjdGVkIGRlZmF1bHRzKSIKKyN+IG1zZ3N0ciAiIgorI34gIkFzZW1hbiB0eXlwcGlcbiIKKyN+ICIgICA/ICAgYXV0b21hYXR0aW5lbiBrb25maWd1cm9pbnRpXG4iCisjfiAiICAgMCAgIG11a2F1dGV0dHUgKGxhaXR0ZWlzdG9uIG11a2Fpc2lsbGEgb2xldHVrc2lsbGEpIgorCisjfiBtc2dpZCAiU2VsZWN0IHR5cGUgKD8gZm9yIGF1dG8sIDAgZm9yIGN1c3RvbSk6ICIKKyN+IG1zZ3N0ciAiVmFsaXRzZSB0eXlwcGkgKD86IGF1dG9tYWF0dGluZW4sIDA6IG11a2F1dGV0dHUpOiAiCisKKyN+IG1zZ2lkICJZb3UgbWF5IGNoYW5nZSBhbGwgdGhlIGRpc2sgcGFyYW1zIGZyb20gdGhlIHggbWVudSIKKyN+IG1zZ3N0ciAiVm9pdCBzw6TDpHTDpMOkIGthaWtraWEgbGV2eW4gcGFyYW1ldHJlamEgeC12YWxpa29zdGEiCisKKyN+IG1zZ2lkICIzLDVcIiBmbG9wcHkiCisjfiBtc2dzdHIgIjMsNVwiIGxldnlrZSIKKworI34gbXNnaWQgIiVzOiBlcnJvcjogdGhlIGxhYmVsICVzIG9jY3VycyBvbiBib3RoICVzIGFuZCAlc1xuIgorI34gbXNnc3RyICIlczogbmltacO2ICVzIGVzaWludHl5IHNla8OkIHBhaWthc3NhICVzIGV0dMOkICVzXG4iCisKKyN+IG1zZ2lkICIlczogY291bGQgbm90IG9wZW4gJXMsIHNvIFVVSUQgYW5kIExBQkVMIGNvbnZlcnNpb24gY2Fubm90IGJlIGRvbmUuXG4iCisjfiBtc2dzdHIgIiVzOiBsYWl0ZXR0YSAlcyBlaSB2b2l0dSBhdmF0YSwgam90ZW4gVVVJRC0gamEgTEFCRUwtbXV1bm5vc3RhIGVpIHZvaSB0ZWhkw6QuXG4iCisKKyN+IG1zZ2lkICIlczogYmFkIFVVSUQiCisjfiBtc2dzdHIgIiVzOiB2aXJoZWVsbGluZW4gVVVJRCIKKworI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgd2l0aCBuZnMgbW91bnQgdmVyc2lvbiA0LCB0cnlpbmcgMy4uXG4iCisjfiBtc2dzdHIgIm1vdW50OiBlcMOkb25uaXN0dWkgbmZzIG1vdW50IC12ZXJzaW9sbGEgNCwgeXJpdGV0w6TDpG4gdmVyc2lvbGxhIDMuLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50aW5nICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBsaWl0ZXTDpMOkbiAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIHdoaWxlIGd1ZXNzaW5nIGZpbGVzeXN0ZW0gdHlwZVxuIgorI34gbXNnc3RyICJtb3VudDogdmlyaGUgYXJ2YXR0YWVzc2EgdGllZG9zdG9qw6RyamVzdGVsbcOkbiB0eXlwcGnDpFxuIgorCisjfiBtc2dpZCAibW91bnQ6IGV4Y2Vzc2l2ZWx5IGxvbmcgaG9zdDpkaXIgYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGxpaWFuIHBpdGvDpCBrb25lbmltaTpoYWtlbWlzdG8tYXJndW1lbnR0aVxuIgorCisjfiBtc2dpZCAibW91bnQ6IHdhcm5pbmc6IG11bHRpcGxlIGhvc3RuYW1lcyBub3Qgc3VwcG9ydGVkXG4iCisjfiBtc2dzdHIgIm1vdW50OiB2YXJvaXR1czogdXNlaXRhIGtvbmVuaW1pw6QgZWkgdHVldGFcbiIKKworI34gbXNnaWQgIm1vdW50OiBkaXJlY3RvcnkgdG8gbW91bnQgbm90IGluIGhvc3Q6ZGlyIGZvcm1hdFxuIgorI34gbXNnc3RyICJtb3VudDogbGlpdGV0dMOkdsOkIGhha2VtaXN0byBlaSBvbGUga29uZTpoYWtlbWlzdG8tbXVvZG9zc2FcbiIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBnZXQgYWRkcmVzcyBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG5pbWVsbGUgJXMgZWkgdm9pIGhha2VhIG9zb2l0ZXR0YVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGdvdCBiYWQgaHAtPmhfbGVuZ3RoXG4iCisjfiBtc2dzdHIgIm1vdW50OiBzYWF0aWluIHZpcmhlZWxsaW5lbiBocC0+aF9sZW5ndGhcbiIKKworI34gbXNnaWQgIm1vdW50OiBleGNlc3NpdmVseSBsb25nIG9wdGlvbiBhcmd1bWVudFxuIgorI34gbXNnc3RyICJtb3VudDogbGlpYW4gcGl0a8OkIHZhbGl0c2luYXJndW1lbnR0aVxuIgorCisjfiBtc2dpZCAiV2FybmluZzogVW5yZWNvZ25pemVkIHByb3RvPSBvcHRpb24uXG4iCisjfiBtc2dzdHIgIlZhcm9pdHVzOiBUdW5uaXN0YW1hdG9uIHByb3RvPSAtdmFsaXRzaW4uXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBPcHRpb24gbmFtbGVuIGlzIG5vdCBzdXBwb3J0ZWQuXG4iCisjfiBtc2dzdHIgIlZhcm9pdHVzOiBWYWxpdHNpbnRhIG5hbWxlbiBlaSB0dWV0YS5cbiIKKworI34gbXNnaWQgInVua25vd24gbmZzIG1vdW50IG9wdGlvbjogJXMlc1xuIgorI34gbXNnc3RyICJ0dW50ZW1hdG9uIG5mcy1saWl0b3N2YWxpdHNpbjogJXMlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGdvdCBiYWQgaHAtPmhfbGVuZ3RoP1xuIgorI34gbXNnc3RyICJtb3VudDogc2FhdGlpbiB2aXJoZWVsbGluZW4gaHAtPmhfbGVuZ3RoP1xuIgorCisjfiBtc2dpZCAibmZzIGJpbmRyZXN2cG9ydCIKKyN+IG1zZ3N0ciAibmZzIGJpbmRyZXN2cG9ydCIKKworI34gbXNnaWQgIm5mcyBzZXJ2ZXIgcmVwb3J0ZWQgc2VydmljZSB1bmF2YWlsYWJsZSIKKyN+IG1zZ3N0ciAibmZzLXBhbHZlbGluIGlsbW9pdHRpLCBldHRlaSBwYWx2ZWx1IG9sZSBrw6R5dGV0dMOkdmlzc8OkIgorCisjfiBtc2dpZCAidXNlZCBwb3J0bWFwcGVyIHRvIGZpbmQgTkZTIHBvcnRcbiIKKyN+IG1zZ3N0ciAia8OkeXRldHRpaW4gcG9ydHRpa2FydG9pdGludGEgTkZTLXBvcnRpbiBldHNpbWlzZWVuXG4iCisKKyN+IG1zZ2lkICJ1c2luZyBwb3J0ICVkIGZvciBuZnMgZGVhbW9uXG4iCisjfiBtc2dzdHIgImvDpHl0ZXTDpMOkbiBwb3J0dGlhICVkIG5mcy1wYWx2ZWxpbWVsbGVcbiIKKworI34gbXNnaWQgInVua25vd24gbmZzIHN0YXR1cyByZXR1cm4gdmFsdWU6ICVkIgorI34gbXNnc3RyICJ0dW50ZW1hdG9uIG5mcyBzdGF0dXMgLXBhbHV1YXJ2bzogJWQiCisKKyN+IG1zZ2lkICJob3N0OiAlcywgZGlyZWN0b3J5OiAlc1xuIgorI34gbXNnc3RyICJrb25lOiAlcywgaGFrZW1pc3RvOiAlc1xuIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW4ndCBnZXQgYWRkcmVzcyBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiBuaW1lbGxlICVzIGVpIHNhYWRhIG9zb2l0ZXR0YVxuIgorCisjfiBtc2dpZCAidW1vdW50OiBnb3QgYmFkIGhvc3RwLT5oX2xlbmd0aFxuIgorI34gbXNnc3RyICJ1bW91bnQ6IHNhYXRpaW4gdmlyaGVlbGxpbmVuIGhvc3RwLT5oX2xlbmd0aFxuIgorCisjfiBtc2dpZCAiJXM6IGludmFsaWQgY3JhbWZzLS1iYWQgcGF0aCBsZW5ndGhcbiIKKyN+IG1zZ3N0ciAiJXM6IHZpcmhlZWxsaW5lbiBjcmFtZnMtLXbDpMOkcsOkIHBvbHVuIHBpdHV1c1xuIgorCisjfiBtc2dpZCAiJXM6IGludmFsaWQgY3JhbWZzLS13cm9uZyBtYWdpY1xuIgorI34gbXNnc3RyICIlczogdmlyaGVlbGxpbmVuIGNyYW1mcy0tdsOkw6Ryw6QgdGFpa2FcbiIKKworI34gbXNnaWQgIiVzOiBpbnZhbGlkIGNyYW1mcy0tY3JjIGVycm9yXG4iCisjfiBtc2dzdHIgIiVzOiB2aXJoZWVsbGluZW4gY3JhbWZzLS1jcmMtdmlyaGVcbiIKKworI34gbXNnaWQgIiVzOiBpbnZhbGlkIGNyYW1mcy0tYmFkIHN1cGVyYmxvY2tcbiIKKyN+IG1zZ3N0ciAiJXM6IHZpcmhlZWxsaW5lbiBjcmFtZnMtLXZpYWxsaW5lbiBzdXBlcmxvaGtvXG4iCisKKyN+IG1zZ2lkICJta2ZzIHZlcnNpb24gJXMgKCVzKVxuIgorI34gbXNnc3RyICJta2ZzLXZlcnNpbyAlcyAoJXMpXG4iCisKKyN+IG1zZ2lkICJmbG9jazogdW5rbm93biBvcHRpb24sIGFib3J0aW5nLlxuIgorI34gbXNnc3RyICJmbG9jazogdHVudGVtYXRvbiB2YWxpdHNpbiwga2Vza2V5dGV0w6TDpG4uXG4iCisKKyN+IG1zZ2lkICJVc2FnZSBmbG9jayBbLS1zaGFyZWRdIFstLXRpbWVvdXQ9c2Vjb25kc10gZmlsZW5hbWUgY29tbWFuZCB7YXJnIGFyZy4uLn1cbiIKKyN+IG1zZ3N0ciAiS8OkeXR0w7Y6IGZsb2NrIFstLXNoYXJlZF0gWy0tdGltZW91dD1zZWt1bm5pdF0gdGllZG9zdG8ga29tZW50byB7YXJnIGFyZy4uLn1cbiIKKworI34gbXNnaWQgIlN5bnRheCBlcnJvcjogJyVzJ1xuIgorI34gbXNnc3RyICJTeW50YWtzaXZpcmhlOiBcIiVzXCJcbiIKKworI34gbXNnaWQgIk5vIHN1Y2ggcGFyYW1ldGVyIHNldDogJyVzJ1xuIgorI34gbXNnc3RyICJQYXJhbWV0cmlhIGVpIG9sZSBhc2V0ZXR0dTogXCIlc1wiXG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1wIF0gZGV2IG5hbWVcbiIKKyN+IG1zZ3N0ciAiICAgJXMgWyAtcCBdIGxhaXRlIG5pbWlcbiIKKworI34gbXNnaWQgIiAgICVzIFsgLXAgXSBkZXYgc2l6ZSBzZWN0IGhlYWRzIHRyYWNrcyBzdHJldGNoIGdhcCByYXRlIHNwZWMxIGZtdF9nYXBcbiIKKyN+IG1zZ3N0ciAiICAgJXMgWyAtcCBdIGxhaXRlIGtva28gc2VrdCBww6TDpHQgcmFpZGF0IHZlbnl0eXMgdsOkbGkgYXN0ZSBlcmlrMSBmbXRfdsOkbGlcbiIKKworI34gbXNnaWQgIiAgICVzIFsgLWMgfCAteSB8IC1uIHwgLWQgXSBkZXZcbiIKKyN+IG1zZ3N0ciAiICAgJXMgWyAtYyB8IC15IHwgLW4gfCAtZCBdIGxhaXRlXG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1jIHwgLXkgfCAtbiBdIGRldlxuIgorI34gbXNnc3RyICIgICAlcyBbIC1jIHwgLXkgfCAtbiBdIGxhaXRlXG4iCisKKyN+IG1zZ2lkICJjb3VsZG4ndCBvcGVuIC9kZXYvdXJhbmRvbSIKKyN+IG1zZ3N0ciAibGFpdGV0dGEgL2Rldi91cmFuZG9tIGVpIHZvaXR1IGF2YXRhIgorCisjfiBtc2dpZCAiY291bGRuJ3QgcmVhZCByYW5kb20gZGF0YSBmcm9tIC9kZXYvdXJhbmRvbSIKKyN+IG1zZ3N0ciAidGllZG9zdG9zdGEgL2Rldi91cmFuZG9tIGVpIHZvaXR1IGx1a2VhIHNhdHVubmFpc2RhdGFhIgorCisjfiBtc2dpZCAiY2FuJ3Qgc3RhdCglcykiCisjfiBtc2dzdHIgInRpZWRvc3RvbiAlcyB0aWxhYSBlaSB2b2kgbHVrZWEiCisKKyN+IG1zZ2lkICIlcyBkb2Vzbid0IGhhdmUgdGhlIGNvcnJlY3QgZmlsZW1vZGVzIgorI34gbXNnc3RyICJ0aWVkb3N0b24gJXMgdGlsYSBlaSBvbGUgb2lrZWEiCisKKyN+IG1zZ2lkICJjYW4ndCByZWFkIGRhdGEgZnJvbSAlcyIKKyN+IG1zZ3N0ciAidGllZG9zdG9zdGEgJXMgZWkgdm9pIGx1a2VhIGRhdGFhIgorCisjfiBtc2dpZCAiIgorI34gIlRvbyBtYW55IHVzZXJzIGxvZ2dlZCBvbiBhbHJlYWR5LlxuIgorI34gIlRyeSBhZ2FpbiBsYXRlci5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkxpaWFuIG1vbnRhIGvDpHl0dMOkasOkw6Qgb24gam8ga2lyamF1dHVuZWVuYS5cbiIKKyN+ICJZcml0w6QgbXnDtmhlbW1pbiB1dWRlbGxlZW4uXG4iCisKKyN+IG1zZ2lkICJZb3UgaGF2ZSB0b28gbWFueSBwcm9jZXNzZXMgcnVubmluZy5cbiIKKyN+IG1zZ3N0ciAiTGlpYW4gbW9udGEgcHJvc2Vzc2lhIGvDpHlubmlzc8OkLlxuIgorCisjfiBtc2dpZCAiVGhlIHBhc3N3b3JkIG11c3QgaGF2ZSBhdCBsZWFzdCA2IGNoYXJhY3RlcnMsIHRyeSBhZ2Fpbi5cbiIKKyN+IG1zZ3N0ciAiU2FsYXNhbmFzc2Egb24gb2x0YXZhIHbDpGhpbnTDpMOkbiBrdXVzaSBtZXJra2nDpCwgeXJpdMOkIHV1ZGVsbGVlbi5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgcGFzc3dvcmQgbXVzdCBjb250YWluIGNoYXJhY3RlcnMgb3V0IG9mIHR3byBvZiB0aGUgZm9sbG93aW5nXG4iCisjfiAiY2xhc3NlczogIHVwcGVyIGFuZCBsb3dlciBjYXNlIGxldHRlcnMsIGRpZ2l0cyBhbmQgbm9uIGFscGhhbnVtZXJpY1xuIgorI34gImNoYXJhY3RlcnMuIFNlZSBwYXNzd2QoMSkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJTYWxhc2FuYW4gbWVya2tpZW4gb24gb2x0YXZhIHNldXJhYXZpc3RhIGthaGRlc3RhIHJ5aG3DpHN0w6Q6XG4iCisjfiAiaXNvdCBqYSBwaWVuZXQga2lyamFpbWV0LCBudW1lcm90IGphIGVpLWFsZmFudW1lZXJpc2V0XG4iCisjfiAibWVya2l0LiBMaXPDpHRpZXRvamEgbWFudWFhbGlzaXZ1bGxhIHBhc3N3ZCgxKS5cbiIKKworI34gbXNnaWQgIllvdSBjYW5ub3QgcmV1c2UgdGhlIG9sZCBwYXNzd29yZC5cbiIKKyN+IG1zZ3N0ciAiRXQgdm9pIHV1ZGVsbGVlbmvDpHl0dMOkw6QgdmFuaG9qYSBzYWxhc2Fub2phLlxuIgorCisjfiBtc2dpZCAiUGxlYXNlIGRvbid0IHVzZSBzb21ldGhpbmcgbGlrZSB5b3VyIHVzZXJuYW1lIGFzIHBhc3N3b3JkIVxuIgorI34gbXNnc3RyICLDhGzDpCBrw6R5dMOkIG1pdMOkw6RuIGvDpHl0dMOkasOkdHVubnVrc2VzaSB0YXBhaXN0YSBzYWxhc2FuYW5hIVxuIgorCisjfiBtc2dpZCAiUGxlYXNlIGRvbid0IHVzZSBzb21ldGhpbmcgbGlrZSB5b3VyIHJlYWxuYW1lIGFzIHBhc3N3b3JkIVxuIgorI34gbXNnc3RyICLDhGzDpCBrw6R5dMOkIG1pdMOkw6RuIG9pa2VhbiBuaW1lc2kga2FsdGFpc3RhIHNhbGFzYW5hbmEhXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogcGFzc3dkIFt1c2VybmFtZSBbcGFzc3dvcmRdXVxuIgorI34gbXNnc3RyICJLw6R5dHTDtjogcGFzc3dkIFtrw6R5dHTDpGrDpHR1bm51cyBbc2FsYXNhbmFdXVxuIgorCisjfiBtc2dpZCAiT25seSByb290IG1heSB1c2UgdGhlIG9uZSBhbmQgdHdvIGFyZ3VtZW50IGZvcm1zLlxuIgorI34gbXNnc3RyICJWYWluIHDDpMOka8OkeXR0w6Rqw6Qgdm9pIGvDpHl0dMOkw6QgYXJndW1lbnR0ZWphLlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6IHBhc3N3ZCBbLWZvcXN2Vl0gW3VzZXIgW3Bhc3N3b3JkXV1cbiIKKyN+IG1zZ3N0ciAiS8OkeXR0w7Y6IHBhc3N3ZCBbLWZvcXN2Vl0gW2vDpHl0dMOkasOkIFtzYWxhc2FuYV1dXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZmluZCBsb2dpbiBuYW1lIgorI34gbXNnc3RyICJLw6R5dHTDpGrDpHR1bm51c3RhIGVpIGzDtnlkeSIKKworI34gbXNnaWQgIk9ubHkgcm9vdCBjYW4gY2hhbmdlIHRoZSBwYXNzd29yZCBmb3Igb3RoZXJzLlxuIgorI34gbXNnc3RyICJWYWluIHDDpMOka8OkeXR0w6Rqw6Qgdm9pIHZhaWh0YWEgbXVpZGVuIHNhbGFzYW5vamEuXG4iCisKKyN+IG1zZ2lkICJDYW4ndCBmaW5kIHVzZXJuYW1lIGFueXdoZXJlLiBJcyBgJXMnIHJlYWxseSBhIHVzZXI/IgorI34gbXNnc3RyICJLw6R5dHTDpGrDpHR1bm51c3RhIGVpIGzDtnlkeSBtaXN0w6TDpG4uIE9ua28gXCIlc1wiIHRvZGVsbGEga8OkeXR0w6Rqw6Q/IgorCisjfiBtc2dpZCAiVUlEIGFuZCB1c2VybmFtZSBkb2VzIG5vdCBtYXRjaCwgaW1wb3N0ZXIhIgorI34gbXNnc3RyICJVSUQgamEga8OkeXR0w6Rqw6RuaW1pIGVpdsOkdCB2YXN0YWEgdG9pc2lhYW4sIGh1aWphcmkhIgorCisjfiBtc2dpZCAiQ2hhbmdpbmcgcGFzc3dvcmQgZm9yICVzXG4iCisjfiBtc2dzdHIgIlZhaWhkZXRhYW4ga8OkeXR0w6Rqw6RuICVzIHNhbGFzYW5hXG4iCisKKyN+IG1zZ2lkICJJbGxlZ2FsIHBhc3N3b3JkLCBpbXBvc3Rlci4iCisjfiBtc2dzdHIgIlZpcmhlZWxsaW5lbiBzYWxhc2FuYSwgaHVpamFyaS4iCisKKyN+IG1zZ2lkICJFbnRlciBuZXcgcGFzc3dvcmQ6ICIKKyN+IG1zZ3N0ciAiU3nDtnTDpCB1dXNpIHNhbGFzYW5hOiAiCisKKyN+IG1zZ2lkICJSZS10eXBlIG5ldyBwYXNzd29yZDogIgorI34gbXNnc3RyICJTecO2dMOkIHV1c2kgc2FsYXNhbmEgdXVkZWxsZWVuOiAiCisKKyN+IG1zZ2lkICJZb3UgbWlzc3BlbGxlZCBpdC4gUGFzc3dvcmQgbm90IGNoYW5nZWQuIgorI34gbXNnc3RyICJLaXJqb2l0aXQgdsOkw6RyaW4uIFNhbGFzYW5hYSBlaSB2YWloZGV0dHUuIgorCisjfiBtc2dpZCAiUk9PVCBQQVNTV09SRCBDSEFOR0VEIgorI34gbXNnc3RyICJQw4TDhEvDhFlUVMOESsOETiBTQUxBU0FOQSBWQUlIREVUVFUiCisKKyN+IG1zZ2lkICJwYXNzd29yZCBjaGFuZ2VkIGJ5IHJvb3QsIHVzZXIgJXMiCisjfiBtc2dzdHIgInDDpMOka8OkeXR0w6Rqw6QgdmFpaHRvaSBrw6R5dHTDpGrDpG4gJXMgc2FsYXNhbmFuIgorCisjfiBtc2dpZCAiY2FsbGluZyBzZXRwd25hbSB0byBzZXQgcGFzc3dvcmQuXG4iCisjfiBtc2dzdHIgImt1dHN1dGFhbiBzZXRwd25hbSBzYWxhc2FuYW4gYXNldHRhbWlzZWtzaS5cbiIKKworI34gbXNnaWQgIlBhc3N3b3JkICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuXG4iCisjfiBtc2dzdHIgIlNhbGFzYW5hYSAqRUkqIHZhaWhkZXR0dS4gWXJpdMOkIG15w7ZoZW1taW4gdXVkZWxsZWVuLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IHRoaXMgdmVyc2lvbiB3YXMgY29tcGlsZWQgd2l0aG91dCBzdXBwb3J0IGZvciB0aGUgdHlwZSBgbmZzJyIKKyN+IG1zZ3N0ciAibW91bnQ6IHTDpG3DpCB2ZXJzaW8gb24ga8Okw6RubmV0dHkgaWxtYW4gdHVrZWEgdHl5cGlsbGUgXCJuZnNcIiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBvbWl0dGluZyBwYXJ0aXRpb25zIGFmdGVyICVkXG4iCisjfiBtc2dzdHIgIlZhcm9pdHVzOiBwb2lzdGV0YWFuIG9zaW9uICVkIGrDpGxrZWlzZXQgb3Npb3RcbiIKKworI34gbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIGZvciAlc1xuIgorI34gbXNnc3RyICJCTEtHRVRTSVpFLWlvY3RsIGVww6Rvbm5pc3R1aSBsYWl0dGVlbGxlICVzXG4iCisKKyN+IG1zZ2lkICIlczogbm90IGNvbXBpbGVkIHdpdGggbWluaXggdjIgc3VwcG9ydFxuIgorI34gbXNnc3RyICIlczogZWkgb2xlIGvDpMOkbm5ldHR5IG1pbml4IHYyIC10dWVuIGthbnNzYVxuIgorCisjfiBtc2dpZCAiQm9vdCAoJTAyWCkiCisjfiBtc2dzdHIgIkvDpHlubmlzdGV0dMOkdsOkICglMDJYKSIKKworI34gbXNnaWQgIk5vbmUgKCUwMlgpIgorI34gbXNnc3RyICJFaSBtaXTDpMOkbiAoJTAyWCkiCisKKyN+IG1zZ2lkICIlczogWyUwNHhdOiVsZCAoJXMpIG9mZnNldCAlZCwgJXMgZW5jcnlwdGlvblxuIgorI34gbXNnc3RyICIlczogWyUwNHhdOiVsZCAoJXMpIHNpaXJ0eW3DpCAlZCwgJXMtc2FsYXVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IENvdWxkIG5vdCBmaW5kIGFueSBsb29wIGRldmljZS5cbiIKKyN+ICIgICAgICAgTWF5YmUgL2Rldi9sb29wIyBoYXMgYSB3cm9uZyBtYWpvciBudW1iZXI/IgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IFlodMOkw6RuIGxvb3AtbGFpdGV0dGEgZWkgbMO2eXR5bnl0LlxuIgorI34gIiAgICAgICBFaGvDpCB0aWVkb3N0b2lsbGEgL2Rldi9sb29wIyBvbiB2w6TDpHLDpCBtYWpvci1hcnZvPyIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogQ291bGQgbm90IGZpbmQgYW55IGxvb3AgZGV2aWNlLiBNYXliZSB0aGlzIGtlcm5lbCBkb2VzIG5vdCBrbm93XG4iCisjfiAiICAgICAgIGFib3V0IHRoZSBsb29wIGRldmljZSAodGhlbiByZWNvbXBpbGUgb3IgYGluc21vZCBsb29wLm8nKSwgb3JcbiIKKyN+ICIgICAgICAgbWF5YmUgL2Rldi9sb29wIyBoYXMgdGhlIHdyb25nIG1ham9yIG51bWJlcj8iCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogRWkgbMO2eXR5bnl0IHlodMOkw6RuIGxvb3AtbGFpdGV0dGEuIEVoa8OkIHTDpG3DpCB5ZGluIGVpIG9sZSB0aWV0b2luZW5cbiIKKyN+ICIgICAgICAgbG9vcC1sYWl0dGVlc3RhIChrw6TDpG5uw6QgdXVkZWxsZWVuIHRhaSBcImluc21vZCBsb29wLm9cIiksIHRhaVxuIgorI34gIiAgICAgICBlaGvDpCAvZGV2L2xvb3AjOmluIG1ham9yLWFydm8gb24gdsOkw6Ryw6Q/IgorCisjfiBtc2dpZCAiSW5pdCAodXAgdG8gMTYgaGV4IGRpZ2l0cyk6ICIKKyN+IG1zZ3N0ciAiQWxrdWFydm8gKGtvcmtlaW50YWFuIDE2IGhla3NhbnVtZXJvYSk6ICIKKworI34gbXNnaWQgIk5vbi1oZXggZGlnaXQgJyVjJy5cbiIKKyN+IG1zZ3N0ciAiRWktaGVrc2FudW1lcm8gXCIlY1wiLlxuIgorCisjfiBtc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gZ2V0IGtleSBmb3IgZW5jcnlwdGlvbiBzeXN0ZW0gJWRcbiIKKyN+IG1zZ3N0ciAiQXZhaW1lbiBoYWt1IHNhbGF1c2rDpHJqZXN0ZWxtw6RsbGUgJWQgZWkgb2xlIHR1ZXR0dVxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVpIGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeTpcbiIKKyN+IG1zZ3N0ciAiT3Npb24gJWkgbG9wcHUgZWkgb2xlIHN5bGludGVyaW4gcmFqYWxsYTpcbiIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gaGVscCBmaWxlIgorI34gbXNnc3RyICJPaGpldGllZG9zdG9hIGVpIHZvaSBhdmF0YSIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlZCBoZWFkcywgJWQgc2VjdG9ycywgJWQgY3lsaW5kZXJzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqICVkIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJMZXZ5ICUxJHM6ICUyJGQgcMOkw6R0w6QsICUzJGQgc2VrdG9yaWEsICU0JGQgc3lsaW50ZXJpw6RcbiIKKyN+ICJZa3Npa8O2dCA9ICU2JGQgKiAlNyRkIC10YXZ1aXNldCAlNSRzXG4iCisjfiAiXG4iCmRpZmYgLS1naXQgYS9wby9mci5wbyBiL3BvL2ZyLnBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhMzU5OTcKLS0tIC9kZXYvbnVsbAorKysgYi9wby9mci5wbwpAQCAtMCwwICsxLDI0Njg1IEBACisjIFRyYW5zbGF0aW9uIG9mIHV0aWwtbGludXgtbmcgcnVudGltZSBtZXNzYWdlIHRvIEZyZW5jaC4KKyMgQ29weXJpZ2h0IMKpIDE5OTYtMjAwNiwgMjAwOC0yMDE1IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgdXRpbC1saW51eCBwYWNrYWdlLgorIworIyBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gZnJlZWx5IGNvcHkgYW5kIGRpc3RyaWJ1dGUKKyMgdGhpcyBmaWxlIGFuZCBtb2RpZmllZCB2ZXJzaW9ucywgcHJvdmlkZWQgdGhhdCB0aGlzCisjIGhlYWRlciBpcyBub3QgcmVtb3ZlZCBhbmQgbW9kaWZpZWQgdmVyc2lvbnMgYXJlIG1hcmtlZCBhcyBzdWNoLgorIworIyBNaWNoZWwgUm9iaXRhaWxsZSA8cm9iaXRhaWxASVJPLlVNb250cmVhbC5DQT4sIDE5OTYtMjAwNi4KKyMgTmljb2xhcyBQcm92b3N0IDxucHJvdm9zdEBxdWFkcml2LmNvbT4sIDIwMDgtMjAwOS4KKyMgTWlsYW4gQm91Y2hldC1WYWxhdCA8bmFsaW1pbGFuQGNsdWIuZnI+LCAyMDEwLgorIyBEYXZpZCBQcsOpdm90IDxkYXZpZEB0aWxhcGluLm9yZz4sIDIwMTAtMjAxNS4KKyMgU3TDqXBoYW5lIEF1bGVyeSA8bGtwcG9AZnJlZS5mcj4sIDIwMTYuCisjCittc2dpZCAiIgorbXNnc3RyICIiCisiUHJvamVjdC1JZC1WZXJzaW9uOiB1dGlsLWxpbnV4IDIuMjktcmMyXG4iCisiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IHV0aWwtbGludXhAdmdlci5rZXJuZWwub3JnXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTctMDItMjIgMTI6MzIrMDEwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTYtMTItMjcgMDI6MTMrMDEwMFxuIgorIkxhc3QtVHJhbnNsYXRvcjogU3TDqXBoYW5lIEF1bGVyeSA8bGtwcG9AZnJlZS5mcj5cbiIKKyJMYW5ndWFnZS1UZWFtOiBGcmVuY2ggPHRyYWR1Y0B0cmFkdWMub3JnPlxuIgorIkxhbmd1YWdlOiBmclxuIgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCisiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgorIlgtQnVnczogUmVwb3J0IHRyYW5zbGF0aW9uIGVycm9ycyB0byB0aGUgTGFuZ3VhZ2UtVGVhbSBhZGRyZXNzLlxuIgorIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPShuID4gMSk7XG4iCisiWC1HZW5lcmF0b3I6IExva2FsaXplIDEuNVxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPHN0YXJ0PiA8bGVuZ3RoPlxuIgorbXNnc3RyICIgJXMgPHDDqXJpcGjDqXJpcXVlIGRpc3F1ZT4gPG51bcOpcm8gZGUgcGFydGl0aW9uPiA8ZMOpYnV0PiA8bG9uZ3VldXI+XG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE4Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBleGlzdGVuY2Ugb2YgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICJJbmZvcm1lciBsZSBub3lhdSBkZSBs4oCZZXhpc3RlbmNlIGTigJl1bmUgcGFydGl0aW9uIGluZGlxdcOpZS5cbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTYgZGlzay11dGlscy9ibG9ja2Rldi5jOjI3NiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDIwCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDQ2IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzNCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1NworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNyBkaXNrLXV0aWxzL2ZkaXNrLmM6NzE4IGRpc2stdXRpbHMvZmRpc2suYzo5OTQKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjMwMSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNDEKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM2MCBkaXNrLXV0aWxzL2ZzY2suYzoxNDQ4CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTU1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTAKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEzNCBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg5CisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTczIGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjEKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODggZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE5CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIxNSBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NCBkaXNrLXV0aWxzL3BhcnR4LmM6OTk0CisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDEgZGlzay11dGlscy9zZmRpc2suYzo2NDcgZGlzay11dGlscy9zZmRpc2suYzo3MDMKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzU3IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODE2IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODgwCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkyMSBkaXNrLXV0aWxzL3NmZGlzay5jOjk1MSBkaXNrLXV0aWxzL3NmZGlzay5jOjk4OAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTM3IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjAgbGliZmRpc2svc3JjL2JzZC5jOjY0MQorIzogbGliL3BhdGguYzo3MCBsaWIvcGF0aC5jOjgyIGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo4NyBsb2dpbi11dGlscy9sYXN0LmM6NjcyCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDQ2IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0ODMKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzU5CisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4MSBsb2dpbi11dGlscy92aXB3LmM6MjU4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzYKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOTcgbWlzYy11dGlscy9sb2dnZXIuYzoxMTg4IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjExNQorIzogbWlzYy11dGlscy91dWlkZC5jOjIwNyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4MyBzeXMtdXRpbHMvZG1lc2cuYzo1MjIKKyM6IHN5cy11dGlscy9lamVjdC5jOjUwMCBzeXMtdXRpbHMvZWplY3QuYzo3MDAgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM3NAorIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTI4IHN5cy11dGlscy9mc3RyaW0uYzo3MiBzeXMtdXRpbHMvaHdjbG9jay5jOjI4MgorIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjYzOCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxNjIKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI1NiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDEKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQyMiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NjkKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM4OCBzeXMtdXRpbHMvbnNlbnRlci5jOjEyOCBzeXMtdXRpbHMvcnRjd2FrZS5jOjEzNgorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyNzAgc3lzLXV0aWxzL3NldHByaXYuYzoyMzAgc3lzLXV0aWxzL3NldHByaXYuYzo1MjkKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTUyIHN5cy11dGlscy9zd2Fwb24uYzozNzEgc3lzLXV0aWxzL3N3YXBvbi5jOjUxNAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTYzIHN5cy11dGlscy91bnNoYXJlLmM6MTA2IHN5cy11dGlscy91bnNoYXJlLmM6MTIxCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjEgc3lzLXV0aWxzL3dkY3RsLmM6Mzc3IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYxOAorIzogdGVybS11dGlscy9tZXNnLmM6MTI3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDI1IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDMxCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQzMyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjUyMgorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxOTcgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMDAKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjMzMSB0ZXh0LXV0aWxzL2NvbGNydC5jOjI4MiB0ZXh0LXV0aWxzL21vcmUuYzo1MTMKKyM6IHRleHQtdXRpbHMvcmV2LmM6MTQxIHRleHQtdXRpbHMvdGFpbGYuYzo2OCB0ZXh0LXV0aWxzL3RhaWxmLmM6MTAwCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyICVzIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1OSBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MCBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzo5OAorbXNnaWQgImludmFsaWQgcGFydGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnQgZGUgbnVtw6lybyBkZSBwYXJ0aXRpb24gaW5jb3JyZWN0IgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MAorbXNnaWQgImludmFsaWQgc3RhcnQgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50IGRlIGTDqWJ1dCBpbmNvcnJlY3QiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYxIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwOAorbXNnaWQgImludmFsaWQgbGVuZ3RoIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBkZSBsb25ndWV1ciBpbmNvcnJlY3QiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYyCittc2dpZCAiZmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24iCittc2dzdHIgIsOpY2hlYyBkJ2Fqb3V0IGRlIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjYzCittc2dpZCAic2V0IHJlYWQtb25seSIKK21zZ3N0ciAicG9zaXRpb25uZXIgZW4gbGVjdHVyZSBzZXVsZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjcwCittc2dpZCAic2V0IHJlYWQtd3JpdGUiCittc2dzdHIgInBvc2l0aW9ubmVyIGVuIGxlY3R1cmUvw6ljcml0dXJlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzYKK21zZ2lkICJnZXQgcmVhZC1vbmx5IgorbXNnc3RyICJhZmZpY2hlciBzaSBsZSBww6lyaXBow6lyaXF1ZSBlc3QgZW4gbGVjdHVyZSBzZXVsZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjgyCittc2dpZCAiZ2V0IGRpc2NhcmQgemVyb2VzIHN1cHBvcnQgc3RhdHVzIgorbXNnc3RyICJhZmZpY2hlciBsJ8OpdGF0IGRlIHByaXNlIGVuIGNoYXJnZSBkJ2FiYW5kb24gZGVzIHrDqXJvcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjg4Cittc2dpZCAiZ2V0IGxvZ2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAiYWZmaWNoZXIgbGEgdGFpbGxlIGRlcyBibG9jcyAoc2VjdGV1cnMpIGxvZ2lxdWVzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6OTQKK21zZ2lkICJnZXQgcGh5c2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAiYWZmaWNoZXIgbGEgdGFpbGxlIGRlcyBibG9jcyAoc2VjdGV1cnMpIHBoeXNpcXVlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwMAorbXNnaWQgImdldCBtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICJhZmZpY2hlciBsYSB0YWlsbGUgbWluaW1hbGUgZCdFL1MiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDYKK21zZ2lkICJnZXQgb3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAiYWZmaWNoZXIgbGEgdGFpbGxlIG9wdGltYWxlIGQnRS9TIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTEyCittc2dpZCAiZ2V0IGFsaWdubWVudCBvZmZzZXQgaW4gYnl0ZXMiCittc2dzdHIgImFmZmljaGVyIGwnaW5kZXggZCdhbGlnbmVtZW50IGVuIG9jdGV0IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTE4Cittc2dpZCAiZ2V0IG1heCBzZWN0b3JzIHBlciByZXF1ZXN0IgorbXNnc3RyICJhZmZpY2hlciBsZSBub21icmUgbWF4aW1hbCBkZSBzZWN0ZXVycyBwYXIgcmVxdcOqdGUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMjQKK21zZ2lkICJnZXQgYmxvY2tzaXplIgorbXNnc3RyICJhZmZpY2hlciBsYSB0YWlsbGUgZGUgYmxvYyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzMQorbXNnaWQgInNldCBibG9ja3NpemUgb24gZmlsZSBkZXNjcmlwdG9yIG9wZW5pbmcgdGhlIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiY29uZmlndXJlciBsYSB0YWlsbGUgZGUgYmxvYyBzdXIgbGUgZGVzY3JpcHRldXIgZGUgZmljaGllcnMgb3V2cmFudCBsZSBww6lyaXBow6lyaXF1ZSBibG9jIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTM3Cittc2dpZCAiZ2V0IDMyLWJpdCBzZWN0b3IgY291bnQgKGRlcHJlY2F0ZWQsIHVzZSAtLWdldHN6KSIKK21zZ3N0ciAiYWZmaWNoZXIgbGUgbm9tYnJlIGRlIHNlY3RldXJzIGRlIDMywqBiaXRzIChvYnNvbMOodGUsIHV0aWxpc2VyIC0tZ2V0c3opIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTQzCittc2dpZCAiZ2V0IHNpemUgaW4gYnl0ZXMiCittc2dzdHIgImFmZmljaGVyIGxhIGNhcGFjaXTDqSBlbiBvY3RldCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1MAorbXNnaWQgInNldCByZWFkYWhlYWQiCittc2dzdHIgImNvbmZpZ3VyZXIgbCdhdmFuY2UgZW4gbGVjdHVyZSAowqvCoHJlYWRhaGVhZMKgwrspIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTU2Cittc2dpZCAiZ2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAiYWZmaWNoZXIgbCdhdmFuY2UgZW4gbGVjdHVyZSAowqvCoHJlYWRhaGVhZMKgwrspIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTYzCittc2dpZCAic2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICJjb25maWd1cmVyIGwnYXZhbmNlIGVuIGxlY3R1cmUgKMKrwqByZWFkYWhlYWTCoMK7KSBkdSBzeXN0w6htZSBkZSBmaWNoaWVycyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2OQorbXNnaWQgImdldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAiYWZmaWNoZXIgbCdhdmFuY2UgZW4gbGVjdHVyZSAowqvCoHJlYWRhaGVhZMKgwrspIGR1IHN5c3TDqG1lIGRlIGZpY2hpZXJzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTczCittc2dpZCAiZmx1c2ggYnVmZmVycyIKK21zZ3N0ciAidmlkZXIgbGVzIHRhbXBvbnMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzcKK21zZ2lkICJyZXJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJyZWxpcmUgbGEgdGFibGUgZGUgcGFydGl0aW9ucyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICUxJHMgLVZcbiIKKyIgJTEkcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyIgJTEkcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyJcbiIKKyJBdmFpbGFibGUgY29tbWFuZHM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJVdGlsaXNhdGlvbsKgOlxuIgorIiAlMSRzIC1WXG4iCisiICUxJHMgLS1yZXBvcnQgW3DDqXJpcGjDqXJpcXVlc11cbiIKKyIgJTEkcyBbLXZ8LXFdIGNvbW1hbmRlcyBww6lyaXBow6lyaXF1ZXNcbiIKKyJcbiIKKyJDb21tYW5kZXMgZGlzcG9uaWJsZXPCoDpcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgJS0yNXMgZ2V0IHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9yc1xuIgorbXNnc3RyICIgJS0yNXMgYWZmaWNoZXIgbGEgY2FwYWNpdMOpIGVuIHNlY3RldXIgZGUgNTEywqBvY3RldHNcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMxMQorbXNnaWQgImNvdWxkIG5vdCBnZXQgZGV2aWNlIHNpemUiCittc2dzdHIgImltcG9zc2libGUgZCdvYnRlbmlyIGxhIHRhaWxsZSBkdSBww6lyaXBow6lyaXF1ZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGNvbW1hbmQ6ICVzIgorbXNnc3RyICJDb21tYW5kZSBpbmNvbm51ZcKgOiAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXMgbsOpY2Vzc2l0ZSB1biBhcmd1bWVudCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM2OCBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGVycm9yIG9uICVzIgorbXNnc3RyICJlcnJldXIgZCdpb2N0bCBzdXIgJXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkLlxuIgorbXNnc3RyICLDqWNoZWMgZGUgJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICIlcyBhIHLDqXVzc2kuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIHN5c2ZzIGhhbmRsZXIiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkJ2luaXRpYWxpc2F0aW9uIGR1IHRyYWl0ZW1lbnQgZHUgc3lzdMOobWUgZGUgZmljaGllcnMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiBzdGFydCBmcm9tIHN5c2ZzIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgbGVjdHVyZSBkdSBkw6lidXQgZGUgbGEgcGFydGl0aW9uIGRlcHVpcyBsZSBzeXN0w6htZSBkZSBmaWNoaWVycyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICJSTyAgICBSQSAgIFNTWiAgIEJTWiAgIFN0YXJ0U2VjICAgICAgICAgICAgU2l6ZSAgIERldmljZVxuIgorbXNnc3RyICJSTyAgICBSQSAgIFNTWiAgIEJTWiAgMWVyIHNlY3QuICAgICAgICAgIFRhaWxsZSAgIFDDqXJpcGjDqXJpcXVlXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTc5Cittc2dpZCAiQm9vdGFibGUiCittc2dzdHIgIkFtb3LDp2FibGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTc5Cittc2dpZCAiVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJNb2RpZmllciBsJ2luZGljYXRldXIgZCdhbW9yw6dhZ2UgZGUgbGEgcGFydGl0aW9uIGFjdHVlbGxlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MAorbXNnaWQgIkRlbGV0ZSIKK21zZ3N0ciAiU3VwcHJpbWVyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MAorbXNnaWQgIkRlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIlN1cHByaW1lciBsYSBwYXJ0aXRpb24gYWN0dWVsbGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgxCittc2dpZCAiTmV3IgorbXNnc3RyICJOb3V2ZWxsZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODEKK21zZ2lkICJDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIkNyw6llciB1bmUgbm91dmVsbGUgcGFydGl0aW9uIMOgIHBhcnRpciBkZSBsJ2VzcGFjZSBsaWJyZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODIKK21zZ2lkICJRdWl0IgorbXNnc3RyICJRdWl0dGVyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MgorbXNnaWQgIlF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgY2hhbmdlcyIKK21zZ3N0ciAiUXVpdHRlciBsZSBwcm9ncmFtbWUgc2FucyDDqWNyaXJlIGxlcyBtb2RpZmljYXRpb25zIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MyBsaWJmZGlzay9zcmMvYnNkLmM6NDM5IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIwCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNiBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MAorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMTYKK21zZ2lkICJUeXBlIgorbXNnc3RyICJUeXBlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MworbXNnaWQgIkNoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIk1vZGlmaWVyIGxlIHR5cGUgZGUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NAorbXNnaWQgIkhlbHAiCittc2dzdHIgIkFpZGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0Cittc2dpZCAiUHJpbnQgaGVscCBzY3JlZW4iCittc2dzdHIgIkFmZmljaGVyIGwnw6ljcmFuIGQnYWlkZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODUKK21zZ2lkICJTb3J0IgorbXNnc3RyICJUcmllciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODUKK21zZ2lkICJGaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAiQ29ycmlnZXIgbCdvcmRyZSBkZXMgcGFydGl0aW9ucyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJXcml0ZSIKK21zZ3N0ciAiw4ljcmlyZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAodGhpcyBtaWdodCBkZXN0cm95IGRhdGEpIgorbXNnc3RyICLDiWNyaXJlIGxhIHRhYmxlIGRlIHBhcnRpdGlvbnMgc3VyIGxlIGRpc3F1ZSAoZGVzIGRvbm7DqWVzIHBldXZlbnQgw6p0cmUgZMOpdHJ1aXRlcykiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRHVtcCIKK21zZ3N0ciAiU2F1dmVnYXJkZXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRHVtcCBwYXJ0aXRpb24gdGFibGUgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIlNhdXZlZ2FyZGVyIGxlIGNvbnRlbnUgZGUgbGEgdGFibGUgZGUgcGFydGl0aW9ucyBkYW5zIHVuIGZpY2hpZXIgY29tcGF0aWJsZSBzZmRpc2siCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6NjIwIGRpc2stdXRpbHMvZmRpc2suYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVuc3VwcG9ydGVkIGRpYWxvZyB0eXBlICVkIgorbXNnc3RyICJlcnJldXIgaW50ZXJuZcKgOiB0eXBlIGRlIGZlbsOqdHJlIGRlIGRpYWxvZ3VlICVkIG5vbiBwZXJtaXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAobW91bnRlZCkiCittc2dzdHIgIiVzwqAoZMOpbW9udMOpKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjc0Cittc2dpZCAiUGFydGl0aW9uIG5hbWU6IgorbXNnc3RyICJOb20gZGUgbGEgcGFydGl0aW9uIDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI4MQorbXNnaWQgIlBhcnRpdGlvbiBVVUlEOiIKK21zZ3N0ciAiVVVJRCBkZSBsYSBwYXJ0aXRpb24gOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjkzCittc2dpZCAiUGFydGl0aW9uIHR5cGU6IgorbXNnc3RyICJUeXBlIGRlIGxhIHBhcnRpdGlvbiA6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMDAKK21zZ2lkICJBdHRyaWJ1dGVzOiIKK21zZ3N0ciAiQXR0cmlidXRzIDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMyNAorbXNnaWQgIkZpbGVzeXN0ZW0gVVVJRDoiCittc2dzdHIgIlVVSUQgZHUgc3lzdMOobWUgZGUgZmljaGllcnMgOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzMxCittc2dpZCAiRmlsZXN5c3RlbSBMQUJFTDoiCittc2dzdHIgIsOJdGlxdWV0dGUgZHUgc3lzdMOobWUgZGUgZmljaGllcnMgOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzM3Cittc2dpZCAiRmlsZXN5c3RlbToiCittc2dzdHIgIlN5c3TDqG1lIGRlIGZpY2hpZXJzIDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM0MgorbXNnaWQgIk1vdW50cG9pbnQ6IgorbXNnc3RyICJQb2ludCBkZSBtb250YWdlIDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY4NQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrOiAlcyIKK21zZ3N0ciAiRGlzcXVlwqA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2l6ZTogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIlRhaWxsZcKgOiAlcywgJWp1wqBvY3RldHMsICVqdcKgc2VjdGV1cnMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY5MAorIywgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMsIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICLDiXRpcXVldHRlwqA6ICVzLCBpZGVudGlmaWFudMKgOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcyIKK21zZ3N0ciAiw4l0aXF1ZXR0ZcKgOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQ2Cittc2dpZCAiTWF5IGJlIGZvbGxvd2VkIGJ5IE0gZm9yIE1pQiwgRyBmb3IgR2lCLCBUIGZvciBUaUIsIG9yIFMgZm9yIHNlY3RvcnMuIgorbXNnc3RyICJQZXV0IMOqdHJlIHN1aXZpIGRlIE0gcG91ciBNaW8sIEcgcG91ciBHaW8sIFQgcG91ciBUaW8gb3UgUyBwb3VyIHNlY3RldXIuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NTIKK21zZ2lkICJQbGVhc2UsIHNwZWNpZnkgc2l6ZS4iCittc2dzdHIgIlZldWlsbGV6IGluZGlxdWVyIHVuZSB0YWlsbGUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWluaW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIkxhIHRhaWxsZSBtaW5pbWFsZSBlc3QgJWp1wqBvY3RldHMuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWF4aW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIkxhIHRhaWxsZSBtYXhpbWFsZSBlc3QgJWp1wqBvY3RldHMuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OTAKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2l6ZS4iCittc2dzdHIgIsOJY2hlYyBkJ2FuYWx5c2UgZGUgdGFpbGxlLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQ4Cittc2dpZCAiU2VsZWN0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJTw6lsZWN0aW9ubmVyIHVuIHR5cGUgZGUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5OTQgZGlzay11dGlscy9jZmRpc2suYzoyMDI0Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZTogIgorbXNnc3RyICJTYWlzaXNzZXogbGUgbm9tIGRlIGZpY2hpZXIgc2NyaXB0wqA6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTk1Cittc2dpZCAiVGhlIHNjcmlwdCBmaWxlIHdpbGwgYmUgYXBwbGllZCB0byBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiTGUgZmljaGllciBzY3JpcHQgc2VyYSBhcHBsaXF1w6kgw6AgbGEgdGFibGUgZGUgcGFydGl0aW9ucyBlbiBtw6ltb2lyZS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwNCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNDYKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2NSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gJXMiCittc2dzdHIgIkltcG9zc2libGUgZCdvdXZyaXIgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwNiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNjcmlwdCBmaWxlICVzIgorbXNnc3RyICLDiWNoZWMgZOKAmWFuYWx5c2UgZHUgZmljaGllciBzY3JpcHQgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwOCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCAlcyIKK21zZ3N0ciAiw4ljaGVjIGTigJlhcHBsaWNhdGlvbiBkdSBzY3JpcHQgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAyNQorbXNnaWQgIlRoZSBjdXJyZW50IGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUgd2lsbCBiZSBkdW1wZWQgdG8gdGhlIGZpbGUuIgorbXNnc3RyICJMYSB0YWJsZSBkZSBwYXJ0aXRpb25zIGFjdHVlbGxlbWVudCBlbiBtw6ltb2lyZSBzZXJhIHNhdXZlZ2FyZMOpZSBkYW5zIGxlIGZpY2hpZXIuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzMgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDkxCittc2dpZCAiRmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICLDiWNoZWMgZCdhbGxvY2F0aW9uIGR1IHRyYWl0ZW1lbnQgZGUgc2NyaXB0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzkKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBkaXNrIGxheW91dCBpbnRvIHNjcmlwdC4iCittc2dzdHIgIsOJY2hlYyBkZSBsZWN0dXJlIGRlIGzigJlhZ2VuY2VtZW50IGR1IGRpc3F1ZSBkYW5zIGxlIHNjcmlwdC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA1MworbXNnaWQgIkRpc2sgbGF5b3V0IHN1Y2Nlc3NmdWxseSBkdW1wZWQuIgorbXNnc3RyICJTYXV2ZWdhcmRlIGRlIGzigJlhZ2VuY2VtZW50IGR1IGRpc3F1ZSByw6l1c3NpZS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA1NiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIHNjcmlwdCAlcyIKK21zZ3N0ciAiw4ljaGVjIGTigJnDqWNyaXR1cmUgZHUgc2NyaXB0ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwOTIKK21zZ2lkICJTZWxlY3QgbGFiZWwgdHlwZSIKK21zZ3N0ciAiU8OpbGVjdGlvbm5lciB1biB0eXBlIGTigJnDqXRpcXVldHRlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwOTUgZGlzay11dGlscy9mZGlzay5jOjEwMTcKK21zZ2lkICJEZXZpY2UgZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiTGUgcMOpcmlwaMOpcmlxdWUgbmUgY29udGllbnQgcGFzIGRlIHRhYmxlIGRlIHBhcnRpdGlvbnMgcmVjb25udWUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMDEKK21zZ2lkICJTZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBsYWJlbCBvciBwcmVzcyAnTCcgdG8gbG9hZCBzY3JpcHQgZmlsZS4iCittc2dzdHIgIlPDqWxlY3Rpb25uZXogdW4gdHlwZSBwb3VyIGNyw6llciB1bmUgbm91dmVsbGUgw6l0aXF1ZXR0ZSBvdSBhcHB1eWV6IHN1ciDCq8KgTMKgwrsgcG91ciBjaGFyZ2VyIHVuIGZpY2hpZXIgc2NyaXB0LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ2Cittc2dpZCAiVGhpcyBpcyBjZmRpc2ssIGEgY3Vyc2VzLWJhc2VkIGRpc2sgcGFydGl0aW9uaW5nIHByb2dyYW0uIgorbXNnc3RyICJjZmRpc2sgZXN0IHVuIHByb2dyYW1tZSBkZSBwYXJ0aXRpb25uZW1lbnQgYmFzw6kgc3VyIGN1cnNlcy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE0NworbXNnaWQgIkl0IGxldHMgeW91IGNyZWF0ZSwgZGVsZXRlLCBhbmQgbW9kaWZ5IHBhcnRpdGlvbnMgb24gYSBibG9jayBkZXZpY2UuIgorbXNnc3RyICJJbCBwZXJtZXQgZGUgY3LDqWVyLCBzdXBwcmltZXIgZXQgbW9kaWZpZXIgbGVzIHBhcnRpdGlvbnMgc3VyIHVuIHDDqXJpcGjDqXJpcXVlIGJsb2MuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDkKK21zZ2lkICJDb21tYW5kICAgICAgTWVhbmluZyIKK21zZ3N0ciAiQ29tbWFuZGUgICAgIFNpZ25pZmljYXRpb24iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MAorbXNnaWQgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorbXNnc3RyICItLS0tLS0tICAgICAgLS0tLS0tLS0tLS0tLSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUxCittc2dpZCAiICBiICAgICAgICAgIFRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBiICAgICAgICAgIE1vZGlmaWVyIGwnaW5kaWNhdGV1ciBkJ2Ftb3LDp2FnZSBzdXIgbGEgcGFydGl0aW9uIGFjdHVlbGxlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTIKK21zZ2lkICIgIGQgICAgICAgICAgRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBkICAgICAgICAgIFN1cHByaW1lciBsYSBwYXJ0aXRpb24gYWN0dWVsbGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MworbXNnaWQgIiAgaCAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKK21zZ3N0ciAiICBoICAgICAgICAgIEFmZmljaGVyIGNldCDDqWNyYW4gZCdhaWRlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTQKK21zZ2lkICIgIG4gICAgICAgICAgQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICIgIG4gICAgICAgICAgQ3LDqWVyIHVuZSBub3V2ZWxsZSBwYXJ0aXRpb24gw6AgcGFydGlyIGRlIGwnZXNwYWNlIGxpYnJlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTUKK21zZ2lkICIgIHEgICAgICAgICAgUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgcSAgICAgICAgICBRdWl0dGVyIGxlIHByb2dyYW1tZSBzYW5zIMOpY3JpcmUgbGEgdGFibGUgZGUgcGFydGl0aW9ucyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU2Cittc2dpZCAiICBzICAgICAgICAgIEZpeCBwYXJ0aXRpb25zIG9yZGVyIChvbmx5IHdoZW4gaW4gZGlzYXJyYXkpIgorbXNnc3RyICIgIHMgICAgICAgICAgQ29ycmlnZXIgbCdvcmRyZSBkZXMgcGFydGl0aW9ucyAoc2V1bGVtZW50IGVuIGNhcyBkZSBkw6lzb3JkcmUpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTcKK21zZ2lkICIgIHQgICAgICAgICAgQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiICB0ICAgICAgICAgIE1vZGlmaWVyIGxlIHR5cGUgZGUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTgKK21zZ2lkICIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiICB1ICAgICAgICAgIETDqXZlcnNlciBs4oCZYWdlbmNlbWVudCBkdSBkaXNxdWUgZGFucyB1biBmaWNoaWVyIHNjcmlwdCBjb21wYXRpYmxlIHNmZGlzayIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU5Cittc2dpZCAiICBXICAgICAgICAgIFdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh5b3UgbXVzdCBlbnRlciB1cHBlcmNhc2UgVyk7IgorbXNnc3RyICIgIFcgICAgICAgICAgw4ljcmlyZSBsYSB0YWJsZSBkZSBwYXJ0aXRpb25zIHN1ciBkaXNxdWUgKG1hanVzY3VsZSBvYmxpZ2F0b2lyZSkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MAorbXNnaWQgIiAgICAgICAgICAgICAgIHNpbmNlIHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhIG9uIHRoZSBkaXNrLCB5b3UgbXVzdCBlaXRoZXIiCittc2dzdHIgIiAgICAgICAgICAgICAgICBQdWlzcXVlIGRlcyBkb25uw6llcyByaXNxdWVudCBkJ8OqdHJlIGTDqXRydWl0ZXMsIHZvdXMgZGV2ZXoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MQorbXNnaWQgIiAgICAgICAgICAgICAgIGNvbmZpcm0gb3IgZGVueSB0aGUgd3JpdGUgYnkgZW50ZXJpbmcgJ3llcycgb3IgJ25vJyIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIGNvbmZpcm1lciBvdSBhbm51bGVyIGVuIHNhaXNpc3NhbnQgwqvCoG91acKgwrsgb3UgwqvCoG5vbsKgwrsiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MgorbXNnaWQgIiAgeCAgICAgICAgICBEaXNwbGF5L2hpZGUgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIiAgeCAgICAgICAgICBBZmZpY2hlciAvIE1hc3F1ZXIgbGVzIGluZm9ybWF0aW9ucyBzdXIgbGEgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjMKK21zZ2lkICJVcCBBcnJvdyAgICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIHBhcnRpdGlvbiIKK21zZ3N0ciAiRmzDqGNoZS1oYXV0ICBEw6lwbGFjZXIgbGUgY3Vyc2V1ciB2ZXJzIGxhIHBhcnRpdGlvbiBwcsOpY8OpZGVudGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2NAorbXNnaWQgIkRvd24gQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBwYXJ0aXRpb24iCittc2dzdHIgIkZsw6hjaGUtYmFzICAgRMOpcGxhY2VyIGxlIGN1cnNldXIgdmVycyBsYSBwYXJ0aXRpb24gc3VpdmFudGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2NQorbXNnaWQgIkxlZnQgQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgbWVudSBpdGVtIgorbXNnc3RyICJGbMOoY2hlLWdjaGUgIETDqXBsYWNlciBsZSBjdXJzZXVyIHZlcnMgbOKAmWVudHLDqWUgcHLDqWPDqWRlbnRlIGR1IG1lbnUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2NgorbXNnaWQgIlJpZ2h0IEFycm93ICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBtZW51IGl0ZW0iCittc2dzdHIgIkZsw6hjaGUtZHJ0ZSAgRMOpcGxhY2VyIGxlIGN1cnNldXIgdmVycyBs4oCZZW50csOpZSBzdWl2YW50ZSBkdSBtZW51IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjgKK21zZ2lkICJOb3RlOiBBbGwgb2YgdGhlIGNvbW1hbmRzIGNhbiBiZSBlbnRlcmVkIHdpdGggZWl0aGVyIHVwcGVyIG9yIGxvd2VyIgorbXNnc3RyICJSZW1hcnF1ZcKgOiB0b3V0ZXMgbGVzIGNvbW1hbmRlcyBwZXV2ZW50IMOqdHJlIHNhaXNpZXMgZW4gbGV0dHJlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY5Cittc2dpZCAiY2FzZSBsZXR0ZXJzIChleGNlcHQgZm9yIFdyaXRlKS4iCittc2dzdHIgIm1hanVzY3VsZXMgb3UgbWludXNjdWxlcyAoc2F1ZiBwb3VyIGzigJnDqWNyaXR1cmXCoDogVyBtYWp1c2N1bGUpLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTcxCittc2dpZCAiVXNlIGxzYmxrKDgpIG9yIHBhcnR4KDgpIHRvIHNlZSBtb3JlIGRldGFpbHMgYWJvdXQgdGhlIGRldmljZS4iCittc2dzdHIgIlV0aWxpc2V6IGxzYmxrKDgpIG9yIHBhcnR4KDgpIHBvdXIgb2J0ZW5pciBwbHVzIGRlIHByw6ljaXNpb25zIHN1ciBsZSBww6lyaXBow6lyaXF1ZS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3OCBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzcKK21zZ2lkICJQcmVzcyBhIGtleSB0byBjb250aW51ZS4iCittc2dzdHIgIkFwcHV5ZXogc3VyIHVuZSB0b3VjaGUgcG91ciBjb250aW51ZXIuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNjAKK21zZ2lkICJDb3VsZCBub3QgdG9nZ2xlIHRoZSBmbGFnLiIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSBtb2RpZmllciBs4oCZaW5kaWNhdGV1ci4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIHN1cHByaW1lciBsYSBwYXJ0aXRpb27CoCV6dS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI3MiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBoYXMgYmVlbiBkZWxldGVkLiIKK21zZ3N0ciAiTGEgcGFydGl0aW9uwqAlenUgYSDDqXTDqSBzdXBwcmltw6llLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjkzCittc2dpZCAiUGFydGl0aW9uIHNpemU6ICIKK21zZ3N0ciAiVGFpbGxlIGRlIHBhcnRpdGlvbsKgOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIlR5cGUgZGUgcGFydGl0aW9uwqAlenUgbW9kaWZpw6kuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJMZSB0eXBlIGRlIHBhcnRpdGlvbsKgJXp1IG7igJllc3QgcGFzIG1vZGlmacOpLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzUzIGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ2NiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTkxCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzAKK21zZ2lkICJEZXZpY2UgaXMgb3BlbiBpbiByZWFkLW9ubHkgbW9kZS4iCittc2dzdHIgIkxlIHDDqXJpcGjDqXJpcXVlIGVzdCBvdXZlcnQgZW4gbW9kZSBsZWN0dXJlIHNldWxlLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzU4Cittc2dpZCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHdyaXRlIHRoZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzaz8gIgorbXNnc3RyICJWb3VsZXotdm91cyB2cmFpbWVudCDDqWNyaXJlIGxhIHRhYmxlIGRlIHBhcnRpdGlvbnMgc3VyIGxlIGRpc3F1ZcKgPyAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM2MAorbXNnaWQgIlR5cGUgXCJ5ZXNcIiBvciBcIm5vXCIsIG9yIHByZXNzIEVTQyB0byBsZWF2ZSB0aGlzIGRpYWxvZy4iCittc2dzdHIgIlRhcGV6IMKrwqBvdWnCoMK7IG91IMKrwqBub27CoMK7IG91IGFwcHV5ZXogc3VyIMOJY2hhcCBwb3VyIHF1aXR0ZXIgY2V0dGUgZmVuw6p0cmUgZGUgZGlhbG9ndWUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjUgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDkgc3lzLXV0aWxzL2xzY3B1LmM6MTU0MAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTU1MAorbXNnaWQgInllcyIKK21zZ3N0ciAib3VpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjYKK21zZ2lkICJEaWQgbm90IHdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrLiIKK21zZ3N0ciAiVGFibGUgZGUgcGFydGl0aW9ucyBub24gw6ljcml0ZSBzdXIgbGUgZGlzcXVlLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzcxCittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbC4iCittc2dzdHIgIsOJY2hlYyBkJ8OpY3JpdHVyZSBkZSBsJ8OpdGlxdWV0dGUgZGUgZGlzcXVlLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzc0IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU3OAorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIkxhIHRhYmxlIGRlIHBhcnRpdGlvbnMgYSDDqXTDqSBhbHTDqXLDqWUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzOTcgZGlzay11dGlscy9jZmRpc2suYzoyNDY4Cittc2dpZCAiTm90ZSB0aGF0IHBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlciBub3cuIgorbXNnc3RyICJSZW1hcnF1ZXogcXVlIGxlcyBlbnRyw6llcyBkZSBsYSB0YWJsZSBkZSBwYXJ0aXRpb25zIG5lIHNvbnQgYWN0dWVsbGVtZW50IHBhcyBkYW5zIGwnb3JkcmUgZHUgZGlzcXVlLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlOyBpdCB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDUKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGRpc2tsYWJlbCIKK21zZ3N0ciAiw6ljaGVjIGRlIGNyw6lhdGlvbiBk4oCZdW5lIG5vdXZlbGxlIMOpdGlxdWV0dGUgZGUgZGlzcXVlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NTMKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb25zIgorbXNnc3RyICLDqWNoZWMgZGUgbGVjdHVyZSBkZXMgcGFydGl0aW9ucyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz5cbiIKK21zZ3N0ciAiICUxJHMgW29wdGlvbnNdIDxkaXNxdWU+XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0OSBkaXNrLXV0aWxzL2ZkaXNrLmM6NzM2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMAorbXNnaWQgIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSBhIGRpc2sgcGFydGl0aW9uIHRhYmxlLlxuIgorbXNnc3RyICJBZmZpY2hlciBvdSBtYW5pcHVsZXIgdW5lIHRhYmxlIGRlIHBhcnRpdGlvbnMgZGUgZGlzcXVlLlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NTIKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08cXVhbmQ+XSAgICBzb3J0aWUgZW4gY291bGV1ciAoYXV0bywgYWx3YXlzIG91IG5ldmVyKVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NTUKK21zZ2lkICIgLXosIC0temVybyAgICAgICAgICAgICAgIHN0YXJ0IHdpdGggemVyb2VkIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgLXosIC0temVybyAgICAgICAgICAgICAgIGTDqW1hcnJlciBhdmVjIHVuZSB0YWJsZSBkZSBwYXJ0aXRpb25zIG1pc2Ugw6AgesOpcm9cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTk0IGRpc2stdXRpbHMvZmRpc2suYzo4ODIgZGlzay11dGlscy9zZmRpc2suYzoyMDc3CisjOiBtaXNjLXV0aWxzL2NhbC5jOjM5MCBzeXMtdXRpbHMvZG1lc2cuYzoxMzMzIHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNAorbXNnaWQgInVuc3VwcG9ydGVkIGNvbG9yIG1vZGUiCittc2dzdHIgIm1vZGUgZGUgY291bGV1ciBub24gcHJpcyBlbiBjaGFyZ2UiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYxMiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjIzCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgIsOpY2hlYyBkJ2FsbG9jYXRpb24gZHUgY29udGV4dGUgbGliZmRpc2siCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPlxuIgorbXNnc3RyICIgJXMgPHDDqXJpcGjDqXJpcXVlIGRpc3F1ZT4gPG51bcOpcm8gZGUgcGFydGl0aW9uPlxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxOAorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCB0byBmb3JnZXQgYWJvdXQgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICJJbmZvcm1lciBsZSBub3lhdSBk4oCZb3VibGllciBsYSBwYXJ0aXRpb24gaW5kaXF1w6llLlxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MQorbXNnaWQgImZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uIgorbXNnc3RyICLDqWNoZWMgZGUgc3VwcHJlc3Npb24gZGUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9ybWF0dGluZyAuLi4gIgorbXNnc3RyICJGb3JtYXRhZ2UgZW4gY291cnPigKYgIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NjggZGlzay11dGlscy9mZGZvcm1hdC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJkb25lXG4iCittc2dzdHIgInRlcm1pbsOpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJWZXJpZnlpbmcgLi4uICIKK21zZ3N0ciAiVsOpcmlmaWNhdGlvbiBlbiBjb3Vyc+KApiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMDgKK21zZ2lkICJSZWFkOiAiCittc2dzdHIgIkxlY3R1cmXCoDogIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByb2JsZW0gcmVhZGluZyB0cmFjay9oZWFkICV1LyV1LCBleHBlY3RlZCAlZCwgcmVhZCAlZFxuIgorbXNnc3RyICJQcm9ibMOobWUgZGUgbGVjdHVyZSBkZSBwaXN0ZS90w6p0ZcKgJXUvJXUsICVkwqBhdHRlbmR1LCAlZMKgbHVcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYmFkIGRhdGEgaW4gdHJhY2svaGVhZCAldS8ldVxuIgorIkNvbnRpbnVpbmcgLi4uICIKK21zZ3N0ciAiIgorImRvbm7DqWVzIGNvcnJvbXB1ZXMgw6AgcGlzdGUvdMOqdGXCoCV1LyV1XG4iCisiUG91cnN1aXRlIGR1IHRyYWl0ZW1lbnTigKYgIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4MgorIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMTcgbWlzYy11dGlscy93aXBlZnMuYzo0NTYgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4NAorIzogc3lzLXV0aWxzL3R1bmVscC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSA8cMOpcmlwaMOpcmlxdWU+XG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDgKK21zZ2lkICJEbyBhIGxvdy1sZXZlbCBmb3JtYXR0aW5nIG9mIGEgZmxvcHB5IGRpc2suXG4iCittc2dzdHIgIlLDqWFsaXNlciB1biBmb3JtYXRhZ2UgYmFzIG5pdmVhdSBk4oCZdW5lIGRpc3F1ZXR0ZS5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MQorbXNnaWQgIiAtZiwgLS1mcm9tIDxOPiAgICBzdGFydCBhdCB0aGUgdHJhY2sgTiAoZGVmYXVsdCAwKVxuIgorbXNnc3RyICIgLWYsIC0tZnJvbSA8Tj4gICAgY29tbWVuY2VyIMOgIGxhIHBpc3RlwqBOICgwIHBhciBkw6lmYXV0KVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUyCittc2dpZCAiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgYXQgdGhlIHRyYWNrIE5cbiIKK21zZ3N0ciAiIC10LCAtLXRvIDxOPiAgICAgIGFycsOqdGVyIMOgIGxhIHBpc3RlwqBOXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTMKK21zZ2lkICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIHRyeSB0byByZXBhaXIgdHJhY2tzIGZhaWxlZCBkdXJpbmdcbiIKKyIgICAgICAgICAgICAgICAgICAgICB0aGUgdmVyaWZpY2F0aW9uIChtYXggTiByZXRyaWVzKVxuIgorbXNnc3RyICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIGVzc2F5ZXIgZGUgcsOpcGFyZXIgbGVzIHBpc3RlcyBlbiBlcnJldXIgcGVuZGFudFxuIgorIiAgICAgICAgICAgICAgICAgICAgIGxhIHbDqXJpZmljYXRpb24gKE7CoGVzc2FpcyBhdSBtYXhpbXVtKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU1Cittc2dpZCAiIC1uLCAtLW5vLXZlcmlmeSAgIGRpc2FibGUgdGhlIHZlcmlmaWNhdGlvbiBhZnRlciB0aGUgZm9ybWF0XG4iCittc2dzdHIgIiAtbiwgLS1uby12ZXJpZnkgICBkw6lzYWN0aXZlciBsYSB2w6lyaWZpY2F0aW9uIGFwcsOocyBsZSBmb3JtYXRhZ2VcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5NAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSBmcm9tIgorbXNnc3RyICJhcmd1bWVudCBpbmNvcnJlY3TCoC0gZnJvbSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5OAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSB0byIKK21zZ3N0ciAiYXJndW1lbnQgaW5jb3JyZWN0wqAtIHRvIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjAxCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHJlcGFpciIKK21zZ3N0ciAiYXJndW1lbnQgaW5jb3JyZWN0wqAtIHJlcGFpciIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyMSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTUxCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg1IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMzgKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4NQorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE2IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQxIGRpc2stdXRpbHMvcGFydHguYzo5MzMKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo2ODYgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzkgbWlzYy11dGlscy9uYW1laS5jOjEzNQorIzogbWlzYy11dGlscy9yZW5hbWUuYzo2MyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4NiBzeXMtdXRpbHMvZG1lc2cuYzo1MjQKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxOTggc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTMxIHN5cy11dGlscy9mc3RyaW0uYzo3NworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjUxOSBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo5MworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTMzIHRlcm0tdXRpbHMvbWVzZy5jOjEyOSB0ZXh0LXV0aWxzL21vcmUuYzo1MDQKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxMDMgdGV4dC11dGlscy90YWlsZi5jOjI4MAorIywgYy1mb3JtYXQKK21zZ2lkICJzdGF0IG9mICVzIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIHN0YXQgc3VyICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI0IGRpc2stdXRpbHMvcGFydHguYzo5OTEgbWlzYy11dGlscy9sc2Jsay5jOjE0ODUKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg4IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzwqA6IG4nZXN0IHBhcyB1biBww6lyaXBow6lyaXF1ZSBibG9jIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI5Cittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGTDqXRlcm1pbmVyIGxlIHR5cGUgZGUgZm9ybWF0IGFjdHVlbCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcy1zaWRlZCwgJWQgdHJhY2tzLCAlZCBzZWMvdHJhY2suIFRvdGFsIGNhcGFjaXR5ICVkIGtCLlxuIgorbXNnc3RyICIlc8KgZmFjZSwgJWTCoHBpc3RlcywgJWTCoHNlY3RldXJzL3Bpc3RlLiBDYXBhY2l0w6kgdG90YWxlICVkwqBrby5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMgorbXNnaWQgIkRvdWJsZSIKK21zZ3N0ciAiRG91YmxlIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMyCittc2dpZCAiU2luZ2xlIgorbXNnc3RyICJTaW1wbGUiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzkKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgImxhIHBpc3RlIGluaXRpYWxlIGTDqWZpbmllIHBhciBs4oCZdXRpbGlzYXRldXIgZMOpcGFzc2UgbGUgbWF4aW11bSBzcMOpY2lmaXF1ZSBhdSBzdXBwb3J0IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQxCittc2dpZCAidXNlciBkZWZpbmVkIGVuZCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAibGEgcGlzdGUgZmluYWxlIGTDqWZpbmllIHBhciBs4oCZdXRpbGlzYXRldXIgZMOpcGFzc2UgbGUgbWF4aW11bSBzcMOpY2lmaXF1ZSBhdSBzdXBwb3J0IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQzCittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIHVzZXIgZGVmaW5lZCBlbmQgdHJhY2siCittc2dzdHIgImxhIHBpc3RlIGluaXRpYWxlIGTDqWZpbmllIHBhciBs4oCZdXRpbGlzYXRldXIgZMOpcGFzc2UgbGEgcGlzdGUgZmluYWxlIGTDqWZpbmllIHBhciBs4oCZdXRpbGlzYXRldXIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNTEgbWlzYy11dGlscy9sb2dnZXIuYzo5ODcKK21zZ2lkICJjbG9zZSBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBmZXJtZXR1cmUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5NSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gcXVpdD8gIgorbXNnc3RyICIiCisiXG4iCisiVm91bGV6LXZvdXMgdnJhaW1lbnQgcXVpdHRlcsKgPyAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0IChkZWZhdWx0ICVjKTogIgorbXNnc3RyICJTw6lsZWN0aW9ubmV6ICglYyBwYXIgZMOpZmF1dCnCoDogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIGRlZmF1bHQgcmVzcG9uc2UgJWMuIgorbXNnc3RyICJVdGlsaXNhdGlvbiBkZSBsYSByw6lwb25zZSAlYyBwYXIgZMOpZmF1dC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxNzYgZGlzay11dGlscy9mZGlzay5jOjI1MCBkaXNrLXV0aWxzL2ZkaXNrLmM6MzI1CisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTE4OSBsaWJmZGlzay9zcmMvZ3B0LmM6MjI3NworbXNnaWQgIlZhbHVlIG91dCBvZiByYW5nZS4iCittc2dzdHIgIlZhbGV1ciBob3JzIGxpbWl0ZXMuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCVzLCAlYyBwYXIgZMOpZmF1dCnCoDogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA4IGRpc2stdXRpbHMvZmRpc2suYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCVzLCAlPFBSSXU2ND4gcGFyIGTDqWZhdXQpwqA6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglYy0lYywgJWMgcGFyIGTDqWZhdXQpwqA6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIxNyBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+LCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sICU8UFJJdTY0PiBwYXIgZMOpZmF1dCnCoDogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYyk6ICIKK21zZ3N0ciAiJXMgKCVjLSVjKcKgOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMjMgZGlzay11dGlscy9mZGlzay5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4pwqA6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjM5MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NworbXNnaWQgIiBbWV1lcy9bTl1vOiAiCittc2dzdHIgIiBbT111aS9bTl1vbsKgOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0MzMKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSAodHlwZSBMIHRvIGxpc3QgYWxsIHR5cGVzKTogIgorbXNnc3RyICJUeXBlIGRlIHBhcnRpdGlvbiAodGFwZXIgTCBwb3VyIGFmZmljaGVyIHRvdXMgbGVzIHR5cGVzKcKgOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0MzQKK21zZ2lkICJIZXggY29kZSAodHlwZSBMIHRvIGxpc3QgYWxsIGNvZGVzKTogIgorbXNnc3RyICJDb2RlIEhleGEgKHRhcGVyIEwgcG91ciBhZmZpY2hlciB0b3VzIGxlcyBjb2RlcynCoDoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1MzYKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIHNldCAoREVQUkVDQVRFRCEpIgorbXNnc3RyICJJbmRpY2F0ZXVyIGRlIGNvbXBhdGliaWxpdMOpIERPUyBhY3RpdsOpIChvYnNvbMOodGUpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTM3Cittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBub3Qgc2V0IgorbXNnc3RyICJJbmRpY2F0ZXVyIGRlIGNvbXBhdGliaWxpdMOpIERPUyBub24gYWN0aXbDqSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU1OCBkaXNrLXV0aWxzL2ZkaXNrLmM6NTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3QgZXhpc3QgeWV0ISIKK21zZ3N0ciAiTGEgcGFydGl0aW9uwqAlenUgbidleGlzdGUgcGFzIGVuY29yZS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NjMgZGlzay11dGlscy9mZGlzay5jOjU3MiBsaWJmZGlzay9zcmMvYXNrLmM6OTk1Cittc2dpZCAiVW5rbm93biIKK21zZ3N0ciAiSW5jb25udSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICclcycgdG8gJyVzJy4iCittc2dzdHIgIlR5cGUgZGUgcGFydGl0aW9uIMKrwqAlc8KgwrsgbW9kaWZpw6kgZW4gwqvCoCVzwqDCuy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZDogJXMuIgorbXNnc3RyICJUeXBlIGRlIHBhcnRpdGlvbsKgJXp1IG5vbiBtb2RpZmnDqcKgOiAlcy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTE1czogJXMiCittc2dzdHIgIiUxNXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlczogb2Zmc2V0ID0gJTxQUkl1NjQ+LCBzaXplID0gJXp1IGJ5dGVzLiIKK21zZ3N0ciAiIgorIlxuIgorIiVzOiBpbmRleCA9ICU8UFJJdTY0PiwgdGFpbGxlID0gJXp1wqBvY3RldHMuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Njc3Cittc2dpZCAiY2Fubm90IHNlZWsiCittc2dzdHIgImltcG9zc2libGUgZGUgc2UgcG9zaXRpb25uZXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2ODIKK21zZ2lkICJjYW5ub3QgcmVhZCIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Njk1IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTkgbGliZmRpc2svc3JjL2Rvcy5jOjkzMworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMTAKK21zZ2lkICJGaXJzdCBzZWN0b3IiCittc2dzdHIgIlByZW1pZXIgc2VjdGV1ciIKKworIzogZGlzay11dGlscy9mZGlzay5jOjcyMgorIywgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcyIKK21zZ3N0ciAiw6ljaGVjIGQnaW9jdGwgQkxLR0VUU0laRSBpb2N0bCBzdXIgJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz4gICAgICBjaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisiICUxJHMgW29wdGlvbnNdIC1sIFs8ZGlzaz5dIGxpc3QgcGFydGl0aW9uIHRhYmxlKHMpXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRpc3F1ZT4gICAgICBtb2RpZmllciBsYSB0YWJsZSBkZSBwYXJ0aXRpb25zXG4iCisiICUxJHMgW29wdGlvbnNdIC1sIFs8ZGlzcXVlPl0gYWZmaWNoZXIgbGEgdGFibGUgZGUgcGFydGl0aW9uc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzM5Cittc2dpZCAiIC1iLCAtLXNlY3Rvci1zaXplIDxzaXplPiAgICAgIHBoeXNpY2FsIGFuZCBsb2dpY2FsIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8dGFpbGxlPiAgICB0YWlsbGUgZGVzIHNlY3RldXJzIHBoeXNpcXVlIGV0IGxvZ2lxdWVcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MAorbXNnaWQgIiAtQiwgLS1wcm90ZWN0LWJvb3QgICAgICAgICAgICBkb24ndCBlcmFzZSBib290Yml0cyB3aGVuIGNyZWF0aW5nIGEgbmV3IGxhYmVsXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MQorbXNnaWQgIiAtYywgLS1jb21wYXRpYmlsaXR5Wz08bW9kZT5dICBtb2RlIGlzICdkb3MnIG9yICdub25kb3MnIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWMsIC0tY29tcGF0aWJpbGl0eVs9PG1vZGU+XSAgbW9kZSBlc3QgwqvCoGRvc8Kgwrsgb3UgwqvCoG5vbmRvc8KgwrsgKHBhciBkw6lmYXV0KVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQyCittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxxdWFuZD5dICAgICAgICAgc29ydGllIGVuIGNvdWxldXIgKGF1dG8sIGFsd2F5cyBvdSBuZXZlcilcbiIKKworIyBOT1RFOiBzL2VuZC9hbmQvCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ1Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgcGFydGl0aW9ucyBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgYWZmaWNoZXIgbGVzIHBhcnRpdGlvbnMgZXQgcXVpdHRlclxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ2Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RlPiAgICAgICAgICBjb2xvbm5lcyBhZmZpY2jDqWVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDcKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgICAgICAgICAgcmVjb2duaXplIHNwZWNpZmllZCBwYXJ0aXRpb24gdGFibGUgdHlwZSBvbmx5XG4iCittc2dzdHIgIiAtdCwgLS10eXBlIDx0eXBlPiAgICAgICAgICAgICBuZSByZWNvbm5hw650cmUgcXVlIGxlIHR5cGUgZGUgdGFibGUgZGUgcGFydGl0aW9ucyBpbmRpcXXDqVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ4Cittc2dpZCAiIC11LCAtLXVuaXRzWz08dW5pdD5dICAgICAgICAgIGRpc3BsYXkgdW5pdHM6ICdjeWxpbmRlcnMnIG9yICdzZWN0b3JzJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC11LCAtLXVuaXRzWz08dW5pdMOpPl0gICAgICAgICBhZmZpY2hlciBsJ3VuaXTDqcKgOiDCq8KgY3lsaW5kcmXCoMK7IG91IMKrwqBzZWN0ZXVywqDCuyAocGFyIGTDqWZhdXQpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDkKK21zZ2lkICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgZGlzcGxheSBkZXZpY2Ugc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzIFtERVBSRUNBVEVEXVxuIgorbXNnc3RyICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgYWZmaWNoZXIgbGEgdGFpbGxlIGR1IHDDqXJpcGjDqXJpcXVlIGVuIHNlY3RldXIgZGUgNTEywqBvY3RldHMgW29ic29sw6h0ZV1cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1MAorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICAgICAgYWZmaWNoZXIgbGEgVEFJTExFIGVuIG9jdGV0IHBsdXTDtHQgcXUnZW4gZm9ybWF0IGxpc2libGVcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1MQorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1XLCAtLXdpcGVbPTxtb2RlPl0gICAgICAgbmV0dG95ZXIgbGVzIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvdSBuZXZlcilcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTMKK21zZ2lkICIgLVcsIC0td2lwZS1wYXJ0aXRpb25zIDxtb2RlPiAgd2lwZSBzaWduYXR1cmVzIGZyb20gbmV3IHBhcnRpdGlvbnMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU1Cittc2dpZCAiIC1DLCAtLWN5bGluZGVycyA8bnVtYmVyPiAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBjeWxpbmRlcnNcbiIKK21zZ3N0ciAiIC1DLCAtLWN5bGluZGVycyA8bm9tYnJlPiAgICAgIGluZGlxdWVyIGxlIG5vbWJyZSBkZSBjeWxpbmRyZXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1NgorbXNnaWQgIiAtSCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgaGVhZHNcbiIKK21zZ3N0ciAiIC1ILCAtLWhlYWRzIDxub21icmU+ICAgICAgICAgIGluZGlxdWVyIGxlIG5vbWJyZSBkZSB0w6p0ZXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1NworbXNnaWQgIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKK21zZ3N0ciAiIC1TLCAtLXNlY3RvcnMgPG5vbWJyZT4gICAgICAgIGluZGlxdWVyIGxlIG5vbWJyZSBkZSBzZWN0ZXVycyBwYXIgcGlzdGVcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOAorbXNnaWQgImludmFsaWQgc2VjdG9yIHNpemUgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50IGRlIHRhaWxsZSBkZSBzZWN0ZXVyIGluY29ycmVjdCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg0MAorbXNnaWQgImludmFsaWQgY3lsaW5kZXJzIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBkZSBjeWxpbmRyZXMgaW5jb3JyZWN0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODUyCittc2dpZCAibm90IGZvdW5kIERPUyBsYWJlbCBkcml2ZXIiCittc2dzdHIgInBpbG90ZSBkJ8OpdGlxdWV0dGUgRE9TIGludHJvdXZhYmxlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODU4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29tcGF0aWJpbGl0eSBtb2RlICclcyciCittc2dzdHIgIm1vZGUgZGUgY29tcGF0aWJpbGl0w6kgwqvCoCVzwqDCuyBpbmNvbm51IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODY3Cittc2dpZCAiaW52YWxpZCBoZWFkcyBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnQgZGUgdMOqdGVzIGluY29ycmVjdCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg3MworbXNnaWQgImludmFsaWQgc2VjdG9ycyBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnQgZGUgc2VjdGV1cnMgaW5jb3JyZWN0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODk5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2tsYWJlbDogJXMiCittc2dzdHIgIsOpdGlxdWV0dGUgZGUgZGlzcXVlIG5vbiBwcmlzZSBlbiBjaGFyZ2XCoDogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MTYgZGlzay11dGlscy9mZGlzay5jOjkyMSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0NgorbXNnaWQgInVuc3VwcG9ydGVkIHdpcGUgbW9kZSIKK21zZ3N0ciAibW9kZSBuZXR0b3lhZ2Ugbm9uIHByaXMgZW4gY2hhcmdlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTM0Cittc2dpZCAiVGhlIGRldmljZSBwcm9wZXJ0aWVzIChzZWN0b3Igc2l6ZSBhbmQgZ2VvbWV0cnkpIHNob3VsZCBiZSB1c2VkIHdpdGggb25lIHNwZWNpZmllZCBkZXZpY2Ugb25seS4iCittc2dzdHIgIkxlcyBwcm9wcmnDqXTDqXMgZHUgcMOpcmlwaMOpcmlxdWUgKHRhaWxsZSBkZSBzZWN0ZXVyIGV0IGfDqW9tw6l0cmllKSBuZSBkb2l2ZW50IMOqdHJlIHV0aWxpc8OpZXMgcXXigJlhdmVjIHVuIHNldWwgcMOpcmlwaMOpcmlxdWUgaW5kaXF1w6kuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIldlbGNvbWUgdG8gZmRpc2sgKCVzKS4iCittc2dzdHIgIkJpZW52ZW51ZSBkYW5zIGZkaXNrICglcykuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4OAorbXNnaWQgIiIKKyJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisiQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKyJMZXMgbW9kaWZpY2F0aW9ucyByZXN0ZXJvbnQgZW4gbcOpbW9pcmUganVzcXUnw6Agw6ljcml0dXJlLlxuIgorIlNveWV6IHBydWRlbnQgYXZhbnQgZCd1dGlsaXNlciBsYSBjb21tYW5kZSBkJ8OpY3JpdHVyZS5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMDEgZGlzay11dGlscy9zZmRpc2suYzoxNjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAlcyBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxMCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NDIgZGlzay11dGlscy9zZmRpc2suYzoxNDg0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjIKK21zZ2lkICJUaGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDEzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyNQorIywgZnV6enkKK21zZ2lkICJJdCBpcyBzdHJvbmdseSByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSBkZXZpY2Ugd2l0aCB3aXBlZnMoOCksIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICIlc8KgOiBsZSBww6lyaXBow6lyaXF1ZSBjb250aWVudCB1bmUgc2lnbmF0dXJlIMKrwqAlc8KgwrsgdmFsYWJsZcKgOyBs4oCZZWZmYWNlbWVudCBkdSBww6lyaXBow6lyaXF1ZSBhdmVjIHdpcGVmcyg4KSBlc3QgZm9ydGVtZW50IHJlY29tbWFuZMOpIHNpIGPigJllc3QgaW5hdHRlbmR1LCBhZmluIGTigJnDqXZpdGVyIGTigJnDqXZlbnR1ZWxsZXMgY29sbGlzaW9ucy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDIyCittc2dpZCAiQSBoeWJyaWQgR1BUIHdhcyBkZXRlY3RlZC4gWW91IGhhdmUgdG8gc3luYyB0aGUgaHlicmlkIE1CUiBtYW51YWxseSAoZXhwZXJ0IGNvbW1hbmQgJ00nKS4iCittc2dzdHIgIlVuIEdQVCBoeWJyaWRlIGEgw6l0w6kgZMOpdGVjdMOpLiBWb3VzIGRldmV6IHN5bmNocm9uaXNlciBsZSBzZWN0ZXVyIGTigJlhbW9yw6dhZ2UgaHlicmlkZSB2b3VzIG3Dqm1lIChjb21tYW5kZSBwb3VyIHNww6ljaWFsaXN0ZXMgwqvCoE3CoMK7KS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICJEaXNxdWUgJXPCoDogJXMsICVqdcKgb2N0ZXRzLCAlanXCoHNlY3RldXJzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo1NAorIywgYy1mb3JtYXQKK21zZ2lkICJHZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycy90cmFjaywgJWxsdSBjeWxpbmRlcnMiCittc2dzdHIgIkfDqW9tw6l0cmllwqA6ICVkwqB0w6p0ZXMsICVsbHXCoHNlY3RldXJzL3Bpc3RlLCAlbGx1wqBjeWxpbmRyZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjU5IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICJVbml0czogJXMgb2YgJWQgKiAlbGQgPSAlbGQgYnl0ZXMiCittc2dzdHIgIlVuaXTDqXPCoDogJXMgZGUgJWQgw5cgJWxkID0gJWxkwqBvY3RldHMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY1IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiVGFpbGxlIGRlIHNlY3RldXIgKGxvZ2lxdWUgLyBwaHlzaXF1ZSnCoDogJWx1wqBvY3RldHMgLyAlbHXCoG9jdGV0cyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAidGFpbGxlIGQnRS9TIChtaW5pbWFsZSAvIG9wdGltYWxlKcKgOiAlbHXCoG9jdGV0cyAvICVsdcKgb2N0ZXRzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3MgorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbm1lbnQgb2Zmc2V0OiAlbHUgYnl0ZXMiCittc2dzdHIgIkluZGV4IGQnYWxpZ25lbWVudMKgOiAlbHXCoG9jdGV0cyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHR5cGU6ICVzIgorbXNnc3RyICJUeXBlIGQnw6l0aXF1ZXR0ZSBkZSBkaXNxdWXCoDogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIklkZW50aWZpYW50IGRlIGRpc3F1ZcKgOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTA5IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxOQorIzogZGlzay11dGlscy9mc2NrLmM6MTI0NAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBpdGVyYXRvciIKK21zZ3N0ciAiw6ljaGVjIGQnYWxsb2NhdGlvbiBkJ2l0w6lyYXRldXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjExNSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjUKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICLDqWNoZWMgZOKAmWFsbG9jYXRpb24gZHUgdGFibGVhdSBkZSBzb3J0aWUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE1NiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNDkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiCittc2dzdHIgIsOpY2hlYyBk4oCZYWxsb2NhdGlvbiBkZSBsYSBsaWduZSBkZSBzb3J0aWUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE4MworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4iCittc2dzdHIgIkxhIHBhcnRpdGlvbsKgJXp1IG5lIGNvbW1lbmNlIHBhcyBzdXIgdW5lIGZyb250acOocmUgZGUgY3lsaW5kcmUgcGh5c2lxdWUuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxOTIKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuIgorbXNnc3RyICJMZXMgZW50csOpZXMgZGUgbGEgdGFibGUgZGUgcGFydGl0aW9ucyBuZSBzb250IHBhcyBkYW5zIGwnb3JkcmUgZHUgZGlzcXVlLiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE1IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAwCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxMiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NCBsaWJmZGlzay9zcmMvc3VuLmM6MTExMAorbXNnaWQgIlN0YXJ0IgorbXNnc3RyICJEw6lidXQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMQorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTMgbGliZmRpc2svc3JjL3NnaS5jOjExNTUgbGliZmRpc2svc3JjL3N1bi5jOjExMTEKK21zZ2lkICJFbmQiCittc2dzdHIgIkZpbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE3IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAyCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NiBsaWJmZGlzay9zcmMvc3VuLmM6MTExMgorbXNnaWQgIlNlY3RvcnMiCittc2dzdHIgIlNlY3RldXJzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTkgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDQKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE1IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU4IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE0Cittc2dpZCAiU2l6ZSIKK21zZ3N0ciAiVGFpbGxlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5wYXJ0aXRpb25lZCBzcGFjZSAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIkVzcGFjZSBub24gcGFydGl0aW9ubsOpICVzwqA6ICVzLCAlanXCoG9jdGV0cywgJWp1wqBzZWN0ZXVycyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC1vKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkNvbG9ubmVzIGRpc3BvbmlibGVzIChwb3VyIC1vKcKgOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICIlcyBjb2xvbm5lIGluY29ubnVlwqA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NQorbXNnaWQgIkdlbmVyaWMiCittc2dzdHIgIkfDqW7DqXJpcXVlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NgorbXNnaWQgImRlbGV0ZSBhIHBhcnRpdGlvbiIKK21zZ3N0ciAic3VwcHJpbWVyIGxhIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTcKK21zZ2lkICJsaXN0IGZyZWUgdW5wYXJ0aXRpb25lZCBzcGFjZSIKK21zZ3N0ciAiYWZmaWNoZXIgbOKAmWVzcGFjZSBsaWJyZSBub24gcGFydGl0aW9ubsOpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OAorbXNnaWQgImxpc3Qga25vd24gcGFydGl0aW9uIHR5cGVzIgorbXNnc3RyICJhZmZpY2hlciBsZXMgdHlwZXMgZGUgcGFydGl0aW9ucyBjb25udWVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OQorbXNnaWQgImFkZCBhIG5ldyBwYXJ0aXRpb24iCittc2dzdHIgImFqb3V0ZXIgdW5lIG5vdXZlbGxlIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAwCittc2dpZCAicHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiYWZmaWNoZXIgbGEgdGFibGUgZGUgcGFydGl0aW9ucyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAxCittc2dpZCAiY2hhbmdlIGEgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIm1vZGlmaWVyIGxlIHR5cGUgZCd1bmUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDIKK21zZ2lkICJ2ZXJpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidsOpcmlmaWVyIGxhIHRhYmxlIGRlIHBhcnRpdGlvbnMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMworbXNnaWQgInByaW50IGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICJBZmZpY2hlciBkZXMgcmVuc2VpZ25lbWVudHMgc3VyIGxhIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICJhZmZpY2hlciBsZXMgZG9ubsOpZXMgYnJ1dGVzIGR1IHByZW1pZXIgc2VjdGV1ciBkdSBww6lyaXBow6lyaXF1ZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA2Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBkaXNrbGFiZWwgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICJhZmZpY2hlciBsZXMgZG9ubsOpZXMgYnJ1dGVzIGRlIGzigJnDqXRpcXVldHRlIGRlIGRpc3F1ZSBkdSBww6lyaXBow6lyaXF1ZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA3Cittc2dpZCAiZml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgImNvcnJpZ2VyIGwnb3JkcmUgZGVzIHBhcnRpdGlvbnMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwOQorbXNnaWQgIk1pc2MiCittc2dzdHIgIkF1dHJlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTAKK21zZ2lkICJwcmludCB0aGlzIG1lbnUiCittc2dzdHIgImFmZmljaGVyIGNlIG1lbnUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMQorbXNnaWQgImNoYW5nZSBkaXNwbGF5L2VudHJ5IHVuaXRzIgorbXNnc3RyICJtb2RpZmllciBsZXMgdW5pdMOpcyBkJ2FmZmljaGFnZSBldCBkZSBzYWlzaWUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMgorbXNnaWQgImV4dHJhIGZ1bmN0aW9uYWxpdHkgKGV4cGVydHMgb25seSkiCittc2dzdHIgImZvbmN0aW9ucyBhdmFuY8OpZXMgKHLDqXNlcnbDqWVzIGF1eCBzcMOpY2lhbGlzdGVzKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE0Cittc2dpZCAiU2NyaXB0IgorbXNnc3RyICJTY3JpcHQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNQorbXNnaWQgImxvYWQgZGlzayBsYXlvdXQgZnJvbSBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgImNoYXJnZW1lbnQgZGUgbOKAmWFnZW5jZW1lbnQgw6AgcGFydGlyIGR1IGZpY2hpZXIgZGUgc2NyaXB0IHNmZGlzayIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE2Cittc2dpZCAiZHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgInNhdXZlZ2FyZGUgZGUgbOKAmWFnZW5jZW1lbnQgdmVycyBsZSBmaWNoaWVyIGRlIHNjcmlwdCBzZmRpc2siCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOAorbXNnaWQgIlNhdmUgJiBFeGl0IgorbXNnc3RyICJTYXV2ZWdhcmRlciBldCBxdWl0dGVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTkKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0IgorbXNnc3RyICLDqWNyaXJlIGxhIHRhYmxlIHN1ciBsZSBkaXNxdWUgZXQgcXVpdHRlciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIwCittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayIKK21zZ3N0ciAiw6ljcmlyZSBsYSB0YWJsZSBzdXIgbGUgZGlzcXVlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjEKK21zZ2lkICJxdWl0IHdpdGhvdXQgc2F2aW5nIGNoYW5nZXMiCittc2dzdHIgInF1aXR0ZXIgc2FucyBlbnJlZ2lzdHJlciBsZXMgbW9kaWZpY2F0aW9ucyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIyCittc2dpZCAicmV0dXJuIHRvIG1haW4gbWVudSIKK21zZ3N0ciAicmV2ZW5pciBhdSBtZW51IHByaW5jaXBhbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTI0Cittc2dpZCAicmV0dXJuIGZyb20gQlNEIHRvIERPUyIKK21zZ3N0ciAicmV2ZW5pciBkZSBCU0QgdmVycyBET1MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNQorbXNnaWQgIkNyZWF0ZSBhIG5ldyBsYWJlbCIKK21zZ3N0ciAiQ3LDqWVyIHVuZSBub3V2ZWxsZSDDqXRpcXVldHRlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzYKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgR1BUIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiY3LDqWVyIHVuZSBub3V2ZWxsZSB0YWJsZSB2aWRlIGRlIHBhcnRpdGlvbnMgR1BUIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzcKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU0dJIChJUklYKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgImNyw6llciB1bmUgbm91dmVsbGUgdGFibGUgdmlkZSBkZSBwYXJ0aXRpb25zIFNHSSAoSVJJWCkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOAorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJjcsOpZXIgdW5lIG5vdXZlbGxlIHRhYmxlIHZpZGUgZGUgcGFydGl0aW9ucyBET1MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTdW4gcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJjcsOpZXIgdW5lIG5vdXZlbGxlIHRhYmxlIHZpZGUgZGUgcGFydGl0aW9ucyBTdW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0MworbXNnaWQgImNyZWF0ZSBhbiBJUklYIChTR0kpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiY3LDqWVyIHVuZSB0YWJsZSBkZSBwYXJ0aXRpb25zIGRlIHR5cGUgSVJJWCAoU0dJKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTUyCittc2dpZCAiR2VvbWV0cnkiCittc2dzdHIgIkfDqW9tw6l0cmllIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTMKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAibW9kaWZpZXIgbGUgbm9tYnJlIGRlIGN5bGluZHJlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU0Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAibW9kaWZpZXIgbGUgbm9tYnJlIGRlIHTDqnRlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU1Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrIgorbXNnc3RyICJtb2RpZmllciBsZSBub21icmUgZGUgc2VjdGV1cnMgcGFyIHBpc3RlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjQgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTUKK21zZ2lkICJHUFQiCittc2dzdHIgIkdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY1Cittc2dpZCAiY2hhbmdlIGRpc2sgR1VJRCIKK21zZ3N0ciAibW9kaWZpZXIgbGUgR1VJRCBkZSBkaXNxdWUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NgorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAibW9kaWZpZXIgbGUgbm9tIGRlIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY3Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJtb2RpZmllciBs4oCZVVVJRCBkZSBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OAorbXNnaWQgImNoYW5nZSB0YWJsZSBsZW5ndGgiCittc2dzdHIgIm1vZGlmaWVyIGxhIGxvbmd1ZXVyIGRlIGxhIHRhYmxlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjkKK21zZ2lkICJlbnRlciBwcm90ZWN0aXZlL2h5YnJpZCBNQlIiCittc2dzdHIgImVudHJlciBkYW5zIGxlIHNlY3RldXIgZOKAmWFtb3LDp2FnZSAoTUJSKSBkZSBwcm90ZWN0aW9uIG91IGh5YnJpZGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MgorbXNnaWQgInRvZ2dsZSB0aGUgbGVnYWN5IEJJT1MgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAibW9kaWZpZXIgbCdpbmRpY2F0ZXVyIGQnYW1vcsOnYWdlIHBvdXIgdmlldXggQklPUyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTczCittc2dpZCAidG9nZ2xlIHRoZSBubyBibG9jayBJTyBwcm90b2NvbCBmbGFnIgorbXNnc3RyICJtb2RpZmllciBsJ2luZGljYXRldXIgZGUgcHJvdG9jb2xlIGTigJlFL1Mgc2FucyBibG9jIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzQKK21zZ2lkICJ0b2dnbGUgdGhlIHJlcXVpcmVkIHBhcnRpdGlvbiBmbGFnIgorbXNnc3RyICJtb2RpZmllciBsJ2luZGljYXRldXIgZGUgcGFydGl0aW9uIG7DqWNlc3NhaXJlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzUKK21zZ2lkICJ0b2dnbGUgdGhlIEdVSUQgc3BlY2lmaWMgYml0cyIKK21zZ3N0ciAibW9kaWZpZXIgbGVzIGJpdHMgc3DDqWNpZmlxdWVzIGF1IEdVSUQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NQorbXNnaWQgIlN1biIKK21zZ3N0ciAiU3VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODYKK21zZ2lkICJ0b2dnbGUgdGhlIHJlYWQtb25seSBmbGFnIgorbXNnc3RyICJtb2RpZmllciBsJ2luZGljYXRldXIgZGUgbGVjdHVyZSBzZXVsZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg3Cittc2dpZCAidG9nZ2xlIHRoZSBtb3VudGFibGUgZmxhZyIKK21zZ3N0ciAibW9kaWZpZXIgbCdpbmRpY2F0ZXVyIMKrwqBtb250YWJsZcKgwrsiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAibW9kaWZpZXIgbGUgbm9tYnJlIGRlIGN5bGluZHJlcyBhbHRlcm5hdGlmcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkwCittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBleHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAibW9kaWZpZXIgbGUgbm9tYnJlIGRlIHNlY3RldXJzIGFkZGl0aW9ubmVscyBwYXIgY3lsaW5kcmUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MQorbXNnaWQgImNoYW5nZSBpbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAibW9kaWZpZXIgbGUgZmFjdGV1ciDCq8KgaW50ZXJsZWF2ZcKgwrsiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MgorbXNnaWQgImNoYW5nZSByb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAibW9kaWZpZXIgbGEgdml0ZXNzZSBkZSByb3RhdGlvbiBlbiB0b3VyIHBhciBtaW51dGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MworbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJtb2RpZmllciBsZSBub21icmUgZGUgY3lsaW5kcmVzIHBoeXNpcXVlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjAyCittc2dpZCAiU0dJIgorbXNnc3RyICJTR0kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwMworbXNnaWQgInNlbGVjdCBib290YWJsZSBwYXJ0aXRpb24iCittc2dzdHIgInPDqWxlY3Rpb25uZXIgdW5lIHBhcnRpdGlvbiBhbW9yw6dhYmxlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDQKK21zZ2lkICJlZGl0IGJvb3RmaWxlIGVudHJ5IgorbXNnc3RyICLDqWRpdGVyIGwnZW50csOpZSBkdSBmaWNoaWVyIGQnYW1vcsOnYWdlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDUKK21zZ2lkICJzZWxlY3Qgc2dpIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICJzw6lsZWN0aW9ubmVyIHVuZSBwYXJ0aXRpb24gZCfDqWNoYW5nZSBwb3VyIFNHSSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA2Cittc2dpZCAiY3JlYXRlIFNHSSBpbmZvIgorbXNnc3RyICJjcsOpZXIgZGVzIGluZm9ybWF0aW9ucyBTR0kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNQorbXNnaWQgIkRPUyAoTUJSKSIKK21zZ3N0ciAiRE9TIChzZWN0ZXVyIGQnYW1vcsOnYWdlKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE2Cittc2dpZCAidG9nZ2xlIGEgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAibW9kaWZpZXIgdW4gaW5kaWNhdGV1ciBkJ2Ftb3LDp2FnZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE3Cittc2dpZCAiZWRpdCBuZXN0ZWQgQlNEIGRpc2tsYWJlbCIKK21zZ3N0ciAiw6lkaXRlciBsJ8OpdGlxdWV0dGUgQlNEIGltYnJpcXXDqWUgZHUgZGlzcXVlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTgKK21zZ2lkICJ0b2dnbGUgdGhlIGRvcyBjb21wYXRpYmlsaXR5IGZsYWciCittc2dzdHIgIm1vZGlmaWVyIGwnaW5kaWNhdGV1ciBkZSBjb21wYXRpYmlsaXTDqSBET1MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMAorbXNnaWQgIm1vdmUgYmVnaW5uaW5nIG9mIGRhdGEgaW4gYSBwYXJ0aXRpb24iCittc2dzdHIgImTDqXBsYWNlciBsZSBkw6lidXQgZGVzIGRvbm7DqWVzIGRhbnMgdW5lIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIxCittc2dpZCAiY2hhbmdlIHRoZSBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIm1vZGlmaWVyIGwnaWRlbnRpZmlhbnQgZGUgZGlzcXVlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjMKK21zZ2lkICJyZXR1cm4gZnJvbSBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgdG8gR1BUIgorbXNnc3RyICJyZXZlbmlyIGR1IHNlY3RldXIgZOKAmWFtb3LDp2FnZSAoTUJSKSBkZSBwcm90ZWN0aW9uIG91IGh5YnJpZGUgdmVycyBHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzMworbXNnaWQgIkJTRCIKK21zZ3N0ciAiQlNEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzQKK21zZ2lkICJlZGl0IGRyaXZlIGRhdGEiCittc2dzdHIgIsOpZGl0ZXIgbGVzIGRvbm7DqWVzIGR1IHDDqXJpcGjDqXJpcXVlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzUKK21zZ2lkICJpbnN0YWxsIGJvb3RzdHJhcCIKK21zZ3N0ciAiaW5zdGFsbGVyIHVuIGFtb3LDp2FnZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM2Cittc2dpZCAic2hvdyBjb21wbGV0ZSBkaXNrbGFiZWwiCittc2dzdHIgIm1vbnRyZXIgbCfDqXRpcXVldHRlIGNvbXBsw6h0ZSBkdSBkaXNxdWUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNworbXNnaWQgImxpbmsgQlNEIHBhcnRpdGlvbiB0byBub24tQlNEIHBhcnRpdGlvbiIKK21zZ3N0ciAibGllciBsYSBwYXJ0aXRpb24gQlNEIMOgIHVuZSBwYXJ0aXRpb24gcXVpIG4nZXN0IHBhcyBkZSB0eXBlIEJTRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwIChleHBlcnQgY29tbWFuZHMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiQWlkZSAoY29tbWFuZGVzIHBvdXIgc3DDqWNpYWxpc3RlcynCoDpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzcxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI2NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscDpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkFpZGXCoDpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzkxCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSdyZSBlZGl0aW5nIG5lc3RlZCAnJXMnIHBhcnRpdGlvbiB0YWJsZSwgcHJpbWFyeSBwYXJ0aXRpb24gdGFibGUgaXMgJyVzJy4iCittc2dzdHIgIlZvdXMgw6p0ZXMgZW4gdHJhaW4gZGUgbW9kaWZpZXIgbGEgdGFibGUgZGUgcGFydGl0aW9ucyBpbWJyaXF1w6llIMKrwqAlc8KgwrssIGxhIHRhYmxlIGRlIHBhcnRpdGlvbnMgcHJpbWFpcmUgZXN0IMKrwqAlc8KgwrsuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjEKK21zZ2lkICJFeHBlcnQgY29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAiQ29tbWFuZGUgcG91ciBzcMOpY2lhbGlzdGVzIChtIHBvdXIgbCdhaWRlKcKgOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMworbXNnaWQgIkNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIkNvbW1hbmRlIChtIHBvdXIgbCdhaWRlKcKgOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQzMworIywgYy1mb3JtYXQKK21zZ2lkICIlYzogdW5rbm93biBjb21tYW5kIgorbXNnc3RyICIlY8KgOiBjb21tYW5kZSBpbmNvbm51ZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDU4IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4NQorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWUiCittc2dzdHIgIlNhaXNpc3NleiBsZSBub20gZGUgZmljaGllciBzY3JpcHQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ3MQorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgYXBwbGllZC4iCittc2dzdHIgIlLDqXVzc2l0ZSBkZSBs4oCZYXBwbGljYXRpb24gZHUgc2NyaXB0LiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDk3Cittc2dpZCAiRmFpbGVkIHRvIHRyYW5zZm9ybSBkaXNrIGxheW91dCBpbnRvIHNjcmlwdCIKK21zZ3N0ciAiw4ljaGVjIGRlIGNvbnZlcnNpb24gZGUgbOKAmWFnZW5jZW1lbnQgZHUgZGlzcXVlIGVuIHNjcmlwdCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTExCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBzYXZlZC4iCittc2dzdHIgIlLDqXVzc2l0ZSBkZSBsYSBzYXV2ZWdhcmRlIGR1IHNjcmlwdC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzNCBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMlenUgY29udGFpbnMgYSAlcyBzaWduYXR1cmUuIgorbXNnc3RyICJMYSBwYXJ0aXRpb27CoCMlenUgY29udGllbnQgdW5lIHNpZ25hdHVyZSAlcy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzNyBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlIHNpZ25hdHVyZT8iCittc2dzdHIgIlZvdWxlei12b3VzIHN1cHByaW1lciBsYSBzaWduYXR1cmUgPyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTc1Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAiw6ljaGVjIGQnw6ljcml0dXJlIGRlIGwnw6l0aXF1ZXR0ZSBkZSBkaXNxdWUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYxMworbXNnaWQgIkZhaWxlZCB0byBmaXggcGFydGl0aW9ucyBvcmRlci4iCittc2dzdHIgIsOpY2hlYyBkdSB0cmkgZGVzIHBhcnRpdGlvbnMuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MTUKK21zZ2lkICJQYXJ0aXRpb25zIG9yZGVyIGZpeGVkLiIKK21zZ3N0ciAiUGFydGl0aW9ucyB0cmnDqWVzLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgbGEgcGFydGl0aW9uwqAlenUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY2MAorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gY3lsaW5kZXJzIChERVBSRUNBVEVEISkuIgorbXNnc3RyICJNb2RpZmljYXRpb24gZGVzIHVuaXTDqXMgZCdhZmZpY2hhZ2UgZXQgZGUgc2Fpc2llIGVuIGN5bGluZHJlIChvYnNvbMOodGUpLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjYyCittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBzZWN0b3JzLiIKK21zZ3N0ciAiTW9kaWZpY2F0aW9uIGRlcyB1bml0w6lzIGQnYWZmaWNoYWdlIGV0IGRlIHNhaXNpZSBlbiBzZWN0ZXVyLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjcyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjg0MgorbXNnaWQgIkxlYXZpbmcgbmVzdGVkIGRpc2tsYWJlbC4iCittc2dzdHIgIlNvcnRpZSBkZSBsJ8OpdGlxdWV0dGUgaW1icmlxdcOpZSBkdSBkaXNxdWUuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MDkKK21zZ2lkICJOZXcgbWF4aW11bSBlbnRyaWVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjcxOQorbXNnaWQgIkVudGVyaW5nIHByb3RlY3RpdmUvaHlicmlkIE1CUiBkaXNrbGFiZWwuIgorbXNnc3RyICJFbnRyw6llIGRhbnMgbCfDqXRpcXVldHRlIGRlIHNlY3RldXIgZOKAmWFtb3LDp2FnZSAoTUJSKSBkZSBwcm90ZWN0aW9uIG91IGh5YnJpZGUgZHUgZGlzcXVlLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzM1Cittc2dpZCAiTmV3IFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiTm91dmVsIFVVSUQgKGF1IGZvcm1hdCA4LTQtNC00LTEyKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzUwCittc2dpZCAiTmV3IG5hbWUiCittc2dzdHIgIk5vdXZlYXUgbm9tIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4MTMKK21zZ2lkICJFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIkVudHLDqWUgZGFucyBsJ8OpdGlxdWV0dGUgQlNEIGltYnJpcXXDqWUgZHUgZGlzcXVlLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTk4Cittc2dpZCAiTnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAiTm9tYnJlIGRlIGN5bGluZHJlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAwMgorbXNnaWQgIk51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAiTm9tYnJlIGRlIHTDqnRlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAwNgorbXNnaWQgIk51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJOb21icmUgZGUgc2VjdGV1cnMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkXG4iCittc2dzdHIgIiVzIGVzdCBtb250w6lcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudGVkXG4iCittc2dzdHIgIiVzIG4nZXN0IHBhcyBtb250w6lcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMxIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzQKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1MyBkaXNrLXV0aWxzL3NmZGlzay5jOjI5NyBsaWJmZGlzay9zcmMvYnNkLmM6NjQ2CisjOiBsaWIvcGF0aC5jOjExMCBsaWIvcGF0aC5jOjEzMSBsaWIvcGF0aC5jOjE1MiBsaWIvcGF0aC5jOjIwMAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIxMyBsb2dpbi11dGlscy9sYXN0LmM6MjUwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo2NjQKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjM5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjcxNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgJXMiCittc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMzIGxpYi9wYXRoLmM6MTMzIGxpYi9wYXRoLmM6MTU0CisjLCBjLWZvcm1hdAorbXNnaWQgInBhcnNlIGVycm9yOiAlcyIKK21zZ3N0ciAiZXJyZXVyIGQnYW5hbHlzZcKgOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciBsZSByw6lwZXJ0b2lyZSAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzczCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvY2tpbmcgZGlzayBieSAlcyAuLi4gIgorbXNnc3RyICJWZXJyb3VpbGxhZ2UgZHUgZGlzcXVlIHBhciAlc+KApiAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICIod2FpdGluZykgIgorbXNnc3RyICIoZW4gYXR0ZW50ZSkgIgorCisjLiBUUkFOU0xBVE9SUzogVGhlc2UgYXJlIGZvbGxvd3VwcyB0byAiTG9ja2luZyBkaXNrLi4uIi4KKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5NAorbXNnaWQgInN1Y2NlZWRlZCIKK21zZ3N0ciAicsOpdXNzaSIKKworIzogZGlzay11dGlscy9mc2NrLmM6Mzk0Cittc2dpZCAiZmFpbGVkIgorbXNnc3RyICLDqWNob3XDqSIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDEyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVubG9ja2luZyAlcy5cbiIKK21zZ3N0ciAiRMOpdmVycm91aWxsYWdlIGRlICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGRlc2NyaXB0aW9uIGZvciAlcyIKK21zZ3N0ciAiw6ljaGVjIGRlIGNvbmZpZ3VyYXRpb24gZGUgbGEgZGVzY3JpcHRpb24gZGUgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ3NCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3ODIgbWlzYy11dGlscy9sc2Jsay5jOjQzMworIzogc3lzLXV0aWxzL21vdW50LmM6MTAyIHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6MTkgc3lzLXV0aWxzL3Vtb3VudC5jOjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzwqA6IGVycmV1ciBkJ2FuYWx5c2Ugw6AgbGEgbGlnbmXCoCVkIOKAlCBpZ25vcsOpZSIKKworIzogZGlzay11dGlscy9mc2NrLmM6NTA2IGRpc2stdXRpbHMvZnNjay5jOjUwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIGZzdGFiIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZCdhbmFseXNlIGRlIGZzdGFiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2NzkgbG9naW4tdXRpbHMvbG9naW4uYzo5NjggbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMzQKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMDQgc3lzLXV0aWxzL2Zsb2NrLmM6MzQ1IHN5cy11dGlscy9uc2VudGVyLmM6MTUzCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzE2IHN5cy11dGlscy91bnNoYXJlLmM6MjE5IHN5cy11dGlscy91bnNoYXJlLmM6NDIwCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc4MAorbXNnaWQgImZvcmsgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgbGEgZm9uY3Rpb24gwqvCoGZvcmvCoMK7IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGUgZmFpbGVkIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZCdleMOpY3V0aW9uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3NzQKK21zZ2lkICJ3YWl0OiBubyBtb3JlIGNoaWxkIHByb2Nlc3M/IT8iCittc2dzdHIgImF0dGVudGXCoDogcGV1dC3DqnRyZSBwbHVzIGF1Y3VuIHByb2Nlc3N1cyBlbmZhbnQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc3NyBzeXMtdXRpbHMvZmxvY2suYzozNjMgc3lzLXV0aWxzL3N3YXBvbi5jOjM0OAorIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MDQgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MjUKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGxhIGZvbmN0aW9uIMKrwqB3YWl0cGlkwqDCuyIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmcuLi4gJXMgZm9yIGRldmljZSAlcyBleGl0ZWQgd2l0aCBzaWduYWwgJWQuIgorbXNnc3RyICJBdmVydGlzc2VtZW504oCmICVzLCBww6lyaXBow6lyaXF1ZcKgJXMsIHNpZ25hbCBkZSBmaW4gJWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXM6IHN0YXR1cyBpcyAleCwgc2hvdWxkIG5ldmVyIGhhcHBlbi4iCittc2dzdHIgIiVzICVzwqA6IMOpdGF0ICV4LCBjZWxhIG5lIGRldnJhaXQgcGFzIGFycml2ZXIuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluaXNoZWQgd2l0aCAlcyAoZXhpdCBzdGF0dXMgJWQpXG4iCittc2dzdHIgIkZpbiBkZSAlcyAoY29kZSBkZSByZXRvdXIgJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjkyNQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciAlZCAoJW0pIHdoaWxlIGV4ZWN1dGluZyBmc2NrLiVzIGZvciAlcyIKK21zZ3N0ciAiZXJyZXVywqAlZCAoJW0pIGxvcnMgZGUgbCdleMOpY3V0aW9uIGRlIGZzY2suJXMgcG91ciAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6OTkxCittc2dpZCAiIgorIkVpdGhlciBhbGwgb3Igbm9uZSBvZiB0aGUgZmlsZXN5c3RlbSB0eXBlcyBwYXNzZWQgdG8gLXQgbXVzdCBiZSBwcmVmaXhlZFxuIgorIndpdGggJ25vJyBvciAnIScuIgorbXNnc3RyICIiCisiU29pdCB0b3VzLCBzb2l0IGF1Y3VuIGRlcyB0eXBlcyBkZSBzeXN0w6htZXMgZGUgZmljaGllcnMgcHLDqWNpc8OpcyBwYXIgLXQsXG4iCisiZG9pdmVudCDDqnRyZSBwcsOpZml4w6lzIHBhciDCq8Kgbm/CoMK7IChub24pIG91IMKrwqAhwqDCuy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIGJhZCBsaW5lIGluIC9ldGMvZnN0YWI6IGJpbmQgbW91bnQgd2l0aCBub256ZXJvIGZzY2sgcGFzcyBudW1iZXIiCittc2dzdHIgIiVzwqA6IG1hdXZhaXNlIGxpZ25lIGRhbnMgL2V0Yy9mc3RhYiBpZ25vcsOpZcKgOiByZW1vbnRhZ2UgYXZlYyBub21icmUgZGUgcGFzc2VzIGZzY2sgbm9uIG51bCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTExOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgbm9uZXhpc3RlbnQgZGV2aWNlXG4iCittc2dzdHIgIiVzwqA6IHDDqXJpcGjDqXJpcXVlIGluZXhpc3RhbnQgaWdub3LDqVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub25leGlzdGVudCBkZXZpY2UgKFwibm9mYWlsXCIgZnN0YWIgb3B0aW9uIG1heSBiZSB1c2VkIHRvIHNraXAgdGhpcyBkZXZpY2UpXG4iCittc2dzdHIgIiVzwqA6IHDDqXJpcGjDqXJpcXVlIGluZXhpc3RhbnQgKGwnb3B0aW9uIMKrwqBub2ZhaWzCoMK7IGRlIGZzdGFiIHBldXQgc2VydmlyIMOgIGlnbm9yZXIgY2UgcMOpcmlwaMOpcmlxdWUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIHVua25vd24gZmlsZXN5c3RlbSB0eXBlXG4iCittc2dzdHIgIiVzwqA6IHR5cGUgZGUgc3lzdMOobWUgZGUgZmljaGllcnMgaW5jb25udSBpZ25vcsOpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoZWNrICVzOiBmc2NrLiVzIG5vdCBmb3VuZCIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjb250csO0bGVyICVzLCBmc2NrLiVzIGludHJvdXZhYmxlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjU5Cittc2dpZCAiQ2hlY2tpbmcgYWxsIGZpbGUgc3lzdGVtcy5cbiIKK21zZ3N0ciAiQ29udHLDtGxlIGRlIHRvdXMgbGVzIHN5c3TDqG1lcyBkZSBmaWNoaWVycy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM1MAorIywgYy1mb3JtYXQKK21zZ2lkICItLXdhaXRpbmctLSAocGFzcyAlZClcbiIKK21zZ3N0ciAiLS1lbiBhdHRlbnRlLS0gKHBhc3NlwqAlZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM3NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC0tIFtmcy1vcHRpb25zXSBbPGZpbGVzeXN0ZW0+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSAtLSBbb3B0aW9ucy1zeXNmXSBbPHN5c3TDqG1lIGRlIGZpY2hpZXJzPiAuLi5dXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNzkKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiVsOpcmlmaWVyIGV0IHLDqXBhcmVyIHVuIHN5c3TDqG1lIGRlIGZpY2hpZXJzIExpbnV4LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzgyCittc2dpZCAiIC1BICAgICAgICAgY2hlY2sgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtQSAgICAgICAgIHbDqXJpZmllciB0b3VzIGxlcyBzeXN0w6htZXMgZGUgZmljaGllcnNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4MworbXNnaWQgIiAtQyBbPGZkPl0gIGRpc3BsYXkgcHJvZ3Jlc3MgYmFyOyBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiIgorIiAtQyBbPGZkPl0gIGFmZmljaGVyIHVuZSBiYXJyZSBkZSBwcm9ncmVzc2lvbsKgOyBmZCBuZSBzZXJ0IHF1J2F1eFxuIgorIiAgICAgICAgICAgICAgaW50ZXJmYWNlcyBncmFwaGlxdWVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODQKK21zZ2lkICIgLWwgICAgICAgICBsb2NrIHRoZSBkZXZpY2UgdG8gZ3VhcmFudGVlIGV4Y2x1c2l2ZSBhY2Nlc3NcbiIKK21zZ3N0ciAiIC1sICAgICAgICAgdmVycm91aWxsZXIgbGUgcMOpcmlwaMOpcmlxdWUgcG91ciBnYXJhbnRpciBsJ2V4Y2x1c2l2aXTDqSBkZSBsJ2FjY8Ooc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg1Cittc2dpZCAiIC1NICAgICAgICAgZG8gbm90IGNoZWNrIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1NICAgICAgICAgbmUgcGFzIHbDqXJpZmllciBsZXMgc3lzdMOobWVzIGRlIGZpY2hpZXJzIG1vbnTDqXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NgorbXNnaWQgIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCittc2dzdHIgIiAtTiAgICAgICAgIG5lIHBhcyBleMOpY3V0ZXIsIG5lIG1vbnRyZXIgcXVlIGNlIHF1aSBzZXJhaXQgYWNjb21wbGlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NworbXNnaWQgIiAtUCAgICAgICAgIGNoZWNrIGZpbGVzeXN0ZW1zIGluIHBhcmFsbGVsLCBpbmNsdWRpbmcgcm9vdFxuIgorbXNnc3RyICIgLVAgICAgICAgICB2w6lyaWZpZXIgbGVzIHN5c3TDqG1lcyBkZSBmaWNoaWVycyBlbiBwYXJhbGzDqGxlLCB5IGNvbXByaXMgbGEgcmFjaW5lXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODgKK21zZ2lkICIgLVIgICAgICAgICBza2lwIHJvb3QgZmlsZXN5c3RlbTsgdXNlZnVsIG9ubHkgd2l0aCAnLUEnXG4iCittc2dzdHIgIiIKKyIgLVIgICAgICAgICBpZ25vcmVyIGxlIHN5c3TDqG1lIGRlIGZpY2hpZXJzIHJhY2luZcKgOyBzZXVsZW1lbnQgdXRpbGUgYXZlY1xuIgorIiAgICAgICAgICAgICAgbCdvcHRpb24gwqvCoC1BwqDCu1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg5CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLXIgWzxmZD5dICByZXBvcnQgc3RhdGlzdGljcyBmb3IgZWFjaCBkZXZpY2UgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiIC1yIFs8ZmQ+XSAgcmVuZHJlIGNvbXB0ZSBkZXMgc3RhdGlzdGlxdWVzIHBvdXIgY2hhcXVlIHDDqXJpcGjDqXJpcXVlIHbDqXJpZmnDqVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkxCittc2dpZCAiIC1zICAgICAgICAgc2VyaWFsaXplIHRoZSBjaGVja2luZyBvcGVyYXRpb25zXG4iCittc2dzdHIgIiAtcyAgICAgICAgIHLDqWFsaXNlciBsZXMgb3DDqXJhdGlvbnMgZGUgdsOpcmlmaWNhdGlvbiBlbiBzw6lyaWVcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MgorbXNnaWQgIiAtVCAgICAgICAgIGRvIG5vdCBzaG93IHRoZSB0aXRsZSBvbiBzdGFydHVwXG4iCittc2dzdHIgIiAtVCAgICAgICAgIG5lIHBhcyBhZmZpY2hlciBsZSB0aXRyZSBhdSBkw6ltYXJyYWdlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTMKK21zZ2lkICIiCisiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgPHR5cGU+IGlzIGFsbG93ZWQgdG8gYmUgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuIgorbXNnc3RyICIiCisiIC10IDx0eXBlPiAgaW5kaXF1ZXIgbGVzIHR5cGVzIGRlIHN5c3TDqG1lcyBkZSBmaWNoaWVycyDDoCB2w6lyaWZpZXLCoDtcbiIKKyIgICAgICAgICAgICA8dHlwZT4gcGV1dCDDqnRyZSB1bmUgbGlzdGUgc8OpcGFyw6llIHBhciBkZXMgdmlyZ3VsZXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NQorbXNnaWQgIiAtViAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtViAgICAgICAgIGV4cGxpcXVlciBsZXMgYWN0aW9ucyBlbiBjb3Vyc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk2Cittc2dpZCAiIC0/ICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC0/ICAgICAgICAgYWZmaWNoZXIgY2V0dGUgYWlkZSBldCBxdWl0dGVyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTkKK21zZ2lkICJTZWUgdGhlIHNwZWNpZmljIGZzY2suKiBjb21tYW5kcyBmb3IgYXZhaWxhYmxlIGZzLW9wdGlvbnMuIgorbXNnc3RyICJDb25zdWx0ZXogbGVzIGNvbW1hbmRlcyBmc2NrLiogcG91ciBsZXMgb3B0aW9ucy1zeXNmIGRpc3BvbmlibGVzLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQzOAorbXNnaWQgInRvbyBtYW55IGRldmljZXMiCittc2dzdHIgInRyb3AgZGUgcMOpcmlwaMOpcmlxdWVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDUwCittc2dpZCAiSXMgL3Byb2MgbW91bnRlZD8iCittc2dzdHIgIi9wcm9jIGVzdC1pbCBtb250w6nCoD8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSByb290IHRvIHNjYW4gZm9yIG1hdGNoaW5nIGZpbGVzeXN0ZW1zOiAlcyIKK21zZ3N0ciAic2V1bCBsZSBzdXBlcnV0aWxpc2F0ZXVyIHBldXQgcmVjaGVyY2hlciBsZSB0eXBlIGRlIHN5c3TDqG1lcyBkZSBmaWNoaWVyc8KgOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBmaW5kIG1hdGNoaW5nIGZpbGVzeXN0ZW06ICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHRyb3V2ZXIgdW4gc3lzdMOobWUgZGUgZmljaGllcnMgY29ycmVzcG9uZGFudMKgOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ3MCBkaXNrLXV0aWxzL2ZzY2suYzoxNTY1IG1pc2MtdXRpbHMva2lsbC5jOjM2MworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mjc5Cittc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgorbXNnc3RyICJ0cm9wIGQnYXJndW1lbnRzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTI1IGRpc2stdXRpbHMvZnNjay5jOjE1MjgKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yIgorbXNnc3RyICJhcmd1bWVudCBpbmNvcnJlY3TCoHBvdXIgLXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtcjogJWQiCittc2dzdHIgImFyZ3VtZW50IGluY29ycmVjdMKgcG91ciAtciA6ICVkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNjE4Cittc2dpZCAidGhlIC1sIG9wdGlvbiBjYW4gYmUgdXNlZCB3aXRoIG9uZSBkZXZpY2Ugb25seSAtLSBpZ25vcmUiCittc2dzdHIgImwnb3B0aW9uIC1sIG5lIHBldXQgw6p0cmUgdXRpbGlzw6llIHF1J2F2ZWMgdW4gc2V1bCBww6lyaXBow6lyaXF1ZSDigJQgaWdub3LDqWUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT5cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSA8ZmljaGllcj5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExNgorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBjb21wcmVzc2VkIFJPTSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJWw6lyaWZpZXIgZXQgcsOpcGFyZXIgdW4gc3lzdMOobWUgZGUgZmljaGllcnMgY29tcHJlc3PDqSBlbiBST00uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTkKK21zZ2lkICIgLWEgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzZXVsZW1lbnQgcG91ciBsYSBjb21wYXRpYmlsaXTDqSwgaWdub3LDqWVcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgYmUgbW9yZSB2ZXJib3NlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgbW9kZSBiYXZhcmRcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMQorbXNnaWQgIiAteSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIgLXkgICAgICAgICAgICAgICAgICAgICAgIHNldWxlbWVudCBwb3VyIGxhIGNvbXBhdGliaWxpdMOpLCBpZ25vcsOpZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIyCittc2dpZCAiIC1iLCAtLWJsb2Nrc2l6ZSA8c2l6ZT4gICB1c2UgdGhpcyBibG9ja3NpemUsIGRlZmF1bHRzIHRvIHBhZ2Ugc2l6ZVxuIgorbXNnc3RyICIgLWIsIC0tYmxvY2tzaXplIDx0YWlsbGU+IHV0aWxpc2VyIGNldHRlIHRhaWxsZSBkZSBibG9jLCB0YWlsbGUgZGUgcGFnZSBwYXIgZMOpZmF1dFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIzCittc2dpZCAiICAgICAtLWV4dHJhY3RbPTxkaXI+XSAgICB0ZXN0IHVuY29tcHJlc3Npb24sIG9wdGlvbmFsbHkgZXh0cmFjdCBpbnRvIDxkaXI+XG4iCittc2dzdHIgIiAgICAgLS1leHRyYWN0Wz08csOpcD5dICAgIHRlc3RlciBsYSBkw6ljb21wcmVzc2lvbiwgZXh0cmFpcmUgZmFjdWx0YXRpdmVtZW50IGRhbnMgPHLDqXA+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZmFpbGVkOiB1bmFibGUgdG8gZGV0ZXJtaW5lIGRldmljZSBzaXplOiAlcyIKK21zZ3N0ciAiw6ljaGVjIGQnaW9jdGzCoDogaW1wb3NzaWJsZSBkZSB0cm91dmVyIGxhIHRhaWxsZSBkdSBww6lyaXBow6lyaXF1ZcKgOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSBibG9jayBkZXZpY2Ugb3IgZmlsZTogJXMiCittc2dzdHIgIm4nZXN0IHBhcyB1biBww6lyaXBow6lyaXF1ZSBibG9jIG91IHVuIGZpY2hpZXLCoDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzAgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNgorbXNnaWQgImZpbGUgbGVuZ3RoIHRvbyBzaG9ydCIKK21zZ3N0ciAibm9tIGRlIGZpY2hpZXIgdHJvcCBjb3VydCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3OSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjMzCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjQ5IGxpYmZkaXNrL3NyYy9ic2QuYzo3MTggbGliZmRpc2svc3JjL2JzZC5jOjg5MAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwOCBsb2dpbi11dGlscy9sYXN0LmM6MjQyIHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VlayBvbiAlcyBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBwb3NpdGlvbm5lbWVudCBzdXIgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODUgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NworbXNnaWQgInN1cGVyYmxvY2sgbWFnaWMgbm90IGZvdW5kIgorbXNnc3RyICJub21icmUgbWFnaXF1ZSBkdSBzdXBlcmJsb2MgaW50cm91dmFibGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3JhbWZzIGVuZGlhbm5lc3MgaXMgJXNcbiIKK21zZ3N0ciAibGUgYm91dGlzbWUgZGUgY3JhbWZzIGVzdCAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkxCittc2dpZCAiYmlnIgorbXNnc3RyICJncm9zIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkxCittc2dpZCAibGl0dGxlIgorbXNnc3RyICJwZXRpdCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5NQorbXNnaWQgInVuc3VwcG9ydGVkIGZpbGVzeXN0ZW0gZmVhdHVyZXMiCittc2dzdHIgImNhcmFjdMOpcmlzdGlxdWVzIGRlIHN5c3TDqG1lIGRlIGZpY2hpZXJzIG5vbiBwcmlzIGVuIGNoYXJnZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXBlcmJsb2NrIHNpemUgKCVkKSB0b28gc21hbGwiCittc2dzdHIgInRhaWxsZSBkZSBzdXBlcmJsb2MgKCVkKSB0cm9wIHBldGl0ZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNAorbXNnaWQgInplcm8gZmlsZSBjb3VudCIKK21zZ3N0ciAibm9tYnJlIGRlIGZpY2hpZXJzIG51bCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwOAorbXNnaWQgImZpbGUgZXh0ZW5kcyBwYXN0IGVuZCBvZiBmaWxlc3lzdGVtIgorbXNnc3RyICJsZSBmaWNoaWVyIHNlIHRlcm1pbmUgYXByw6hzIGxhIGZpbiBkdSBzeXN0w6htZSBkZSBmaWNoaWVycyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxMAorbXNnaWQgIm9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICJhbmNpZW4gZm9ybWF0IGNyYW1mcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxOQorbXNnaWQgInVuYWJsZSB0byB0ZXN0IENSQzogb2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgImltcG9zc2libGUgZGUgdGVzdGVyIGxhIHNvbW1lIGRlIGNvbnRyw7RsZSBDUkPCoDogYW5jaWVuIGZvcm1hdCBjcmFtZnMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNzIKK21zZ2lkICJjcmMgZXJyb3IiCittc2dzdHIgImVycmV1ciBkZSBDUkMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTU0Cittc2dpZCAic2VlayBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBwb3NpdGlvbm5lbWVudCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwNgorbXNnaWQgInJlYWQgcm9tZnMgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgbGVjdHVyZSBkZSByb21mcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMzOAorbXNnaWQgInJvb3QgaW5vZGUgaXMgbm90IGRpcmVjdG9yeSIKK21zZ3N0ciAibCdpbsWTdWQgcmFjaW5lIG4nZXN0IHBhcyB1biByw6lwZXJ0b2lyZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM0MgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgcm9vdCBvZmZzZXQgKCVsdSkiCittc2dzdHIgIm1hdXZhaXMgaW5kZXggZGUgcmFjaW5lICglbHUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzYwCittc2dpZCAiZGF0YSBibG9jayB0b28gbGFyZ2UiCittc2dzdHIgImJsb2MgZGUgZG9ubsOpZXMgdHJvcCBncmFuZCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJkZWNvbXByZXNzaW9uIGVycm9yOiAlcyIKK21zZ3N0ciAiZXJyZXVyIGRlIGTDqWNvbXByZXNzaW9uwqA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgaG9sZSBhdCAlbHUgKCV6dSlcbiIKK21zZ3N0ciAiICB0cm91IMOgICVsdSAoJXp1KVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Mzk3IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICB1bmNvbXByZXNzaW5nIGJsb2NrIGF0ICVsdSB0byAlbHUgKCVsdSlcbiIKK21zZ3N0ciAiICBkw6ljb21wcmVzc2lvbiBkdSBibG9jIMOgICVsdSB2ZXJzICVsdSAoJWx1KVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1ibG9jayAoJWxkKSBieXRlcyIKK21zZ3N0ciAib2N0ZXRzICglbGQpIGRlIHR5cGUgbm9uLWJsb2MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLXNpemUgKCVsZCB2cyAlbGQpIGJ5dGVzIgorbXNnc3RyICJvY3RldHMgbm9uIGFzc29jacOpcyDDoCB1bmUgdGFpbGxlICglbGQgY29udHJlICVsZCkgIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDEzIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTYKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTA0IG1pc2MtdXRpbHMvdXVpZGQuYzozNzUgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4MgorIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzUgc3lzLXV0aWxzL3NldHByaXYuYzo1NTggc3lzLXV0aWxzL3N3YXBvbi5jOjM4OQorIzogdGVybS11dGlscy90dHltc2cuYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkOiAlcyIKK21zZ3N0ciAiw6ljaGVjIGQnw6ljcml0dXJlwqA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI0CisjLCBjLWZvcm1hdAorbXNnaWQgImxjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICLDqWNoZWMgZGUgbGEgZm9uY3Rpb24gwqvCoGxjaG93bsKgwrvCoDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAiw6ljaGVjIGRlIGxhIGZvbmN0aW9uIMKrwqBjaG93bsKgwrvCoDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidXRpbWUgZmFpbGVkOiAlcyIKK21zZ3N0ciAiw6ljaGVjIGRlIGxhIGZvbmN0aW9uIMKrwqB1dGltZcKgwrvCoDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgImwnaW7Fk3VkIGR1IHLDqXBlcnRvaXJlIGEgdW4gaW5kZXggbnVsIGV0IHVuZSB0YWlsbGUgbm9uIG51bGxlwqA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1rZGlyIGZhaWxlZDogJXMiCittc2dzdHIgIsOpY2hlYyBkZSBsYSBmb25jdGlvbiDCq8KgbWtkaXLCoMK7wqA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc2Cittc2dpZCAiZmlsZW5hbWUgbGVuZ3RoIGlzIHplcm8iCittc2dzdHIgImxlIG5vbSBkZSBmaWNoaWVyIGEgdW5lIGxvbmd1ZXVyIG51bGxlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc4Cittc2dpZCAiYmFkIGZpbGVuYW1lIGxlbmd0aCIKK21zZ3N0ciAibWF1dmFpc2UgbG9uZ3VldXIgZGUgbm9tIGRlIGZpY2hpZXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0ODQKK21zZ2lkICJiYWQgaW5vZGUgb2Zmc2V0IgorbXNnc3RyICJtYXV2YWlzIGluZGV4IGQnaW7Fk3VkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDk5Cittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemUiCittc2dzdHIgImwnaW7Fk3VkIGR1IGZpY2hpZXIgYSB1biBpbmRleCBudWwgZXQgdW5lIHRhaWxsZSBub24gbnVsbGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MDIKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIHNpemUgYW5kIG5vbi16ZXJvIG9mZnNldCIKK21zZ3N0ciAibCdpbsWTdWQgZHUgZmljaGllciBhIHVuZSB0YWlsbGUgbnVsbGUgZXQgdW4gaW5kZXggbm9uIG51bCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMQorbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gb2Zmc2V0IgorbXNnc3RyICJsaWVuIHN5bWJvbGlxdWUgZCdpbmRleCBudWwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzMKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIHNpemUiCittc2dzdHIgImxpZW4gc3ltYm9saXF1ZSBkZSB0YWlsbGUgbnVsbGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2l6ZSBlcnJvciBpbiBzeW1saW5rOiAlcyIKK21zZ3N0ciAiZXJyZXVyIGRlIHRhaWxsZSBkYW5zIGxlIGxpZW4gc3ltw6l0cmlxdWXCoDogJXMiCisKKyMgZGlzay11dGlscy9ta3N3YXAuYzo2MjMKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3ltbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICLDqWNoZWMgZGUgZm9uY3Rpb24gwqvCoHN5bWxpbmvCoMK7wqA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTY5CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZmlsZSBoYXMgbm9uLXplcm8gb2Zmc2V0OiAlcyIKK21zZ3N0ciAibGUgZmljaGllciBzcMOpY2lhbCBhIHVuIGluZGV4IG5vbiBudWzCoDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlmbyBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgImxhIHBpbGUgwqvCoEZJRk/CoMK7IGEgdW5lIHRhaWxsZSBub24gbnVsbGXCoDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAic29ja2V0IGF5YW50IHVuZSB0YWlsbGUgbm9uIG51bGxlwqA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg4CisjLCBjLWZvcm1hdAorbXNnaWQgImJvZ3VzIG1vZGU6ICVzICglbykiCittc2dzdHIgIm1vZGUgaGFzYXJkZXV4ICjCq8KgYm9ndXPCoMK7KcKgOiAlcyAoJW8pIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1rbm9kIGZhaWxlZDogJXMiCittc2dzdHIgIsOpY2hlYyBkZSBsYSBmb25jdGlvbiDCq8KgbWtub2TCoMK7wqA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjI5CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIHN0YXJ0ICglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQgKCV6dSkiCittc2dzdHIgImTDqWJ1dCBkZXMgZG9ubsOpZXMgZHUgcsOpcGVydG9pcmUgKCVsdSkgPCB0YWlsbGUgZGUgKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgZMOpYnV0ICglenUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIGVuZCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCittc2dzdHIgImZpbiBkZXMgZG9ubsOpZXMgcsOpcGVydG9pcmUgKCVsdSkgIT0gZMOpYnV0IGRvbm7DqWVzIGZpY2hpZXIgKCVsdSkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzcKK21zZ2lkICJpbnZhbGlkIGZpbGUgZGF0YSBvZmZzZXQiCittc2dzdHIgImluZGV4IGRlIGRvbm7DqWVzIGR1IGZpY2hpZXIgbm9uIHZhbGFibGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2ODQgZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjcyNgorbXNnaWQgImludmFsaWQgYmxvY2tzaXplIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBkZSB0YWlsbGUgZGUgYmxvYyBpbmNvcnJlY3QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo3MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IE9LXG4iCittc2dzdHIgIiVzwqA6IE9LXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NAorbXNnaWQgIkNoZWNrIHRoZSBjb25zaXN0ZW5jeSBvZiBhIE1pbml4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlbDqXJpZmllciBsJ2ludMOpZ3JpdMOpIGQndW4gc3lzdMOobWUgZGUgZmljaGllcnMgTUlOSVguXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NgorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgIGxpc3QgYWxsIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgYWZmaWNoZXIgdG91cyBsZXMgbm9tcyBkZSBmaWNoaWVyc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODcKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICBhdXRvbWF0aWMgcmVwYWlyXG4iCittc2dzdHIgIiAtYSwgLS1hdXRvICByw6lwYXJhdGlvbiBhdXRvbWF0aXF1ZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODgKK21zZ2lkICIgLXIsIC0tcmVwYWlyICAgICBpbnRlcmFjdGl2ZSByZXBhaXJcbiIKK21zZ3N0ciAiIC1yLCAtLXJlcGFpciAgcsOpcGFyYXRpb24gZW4gbW9kZSBpbnRlcmFjdGlmXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGJlIHZlcmJvc2VcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgIG1vZGUgYmF2YXJkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MAorbXNnaWQgIiAtcywgLS1zdXBlciAgICAgIG91dHB1dCBzdXBlci1ibG9jayBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgLXMsIC0tc3VwZXIgIGFmZmljaGVyIGxlcyByZW5zZWlnbmVtZW50cyBkZSBzdXBlcmJsb2NcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkxCittc2dpZCAiIC1tLCAtLXVuY2xlYXJlZCAgYWN0aXZhdGUgbW9kZSBub3QgY2xlYXJlZCB3YXJuaW5nc1xuIgorbXNnc3RyICIgLW0sIC0tdW5jbGVhcmVkICBhY3RpdmVyIGxlcyBhdmVydGlzc2VtZW50cyBkZSBtb2RlIG5vbiByw6lpbml0aWFsaXPDqVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTIKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICBmb3JjZSBjaGVja1xuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgIGZvcmNlciBsYSB2w6lyaWZpY2F0aW9uXG4iCisKKyMuIFRSQU5TTEFUT1JTOiB0aGVzZSB5ZXMgbm8gcXVlc3Rpb25zIHVzZXMgcnBtYXRjaCgpLCBhbmQgc2hvdWxkIGJlCisjLiAqIHRyYW5zbGF0ZWQuCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKHkvbik/ICIKK21zZ3N0ciAiJXMgKG8vbinCoD8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG4veSk/ICIKK21zZ3N0ciAiJXMgKG4vbynCoD8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAieVxuIgorbXNnc3RyICJvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJuXG4iCittc2dzdHIgIm5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQuXHQgIgorbXNnc3RyICIlcyBlc3QgbW9udMOpLlx0ICIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg5Cittc2dpZCAiRG8geW91IHJlYWxseSB3YW50IHRvIGNvbnRpbnVlIgorbXNnc3RyICJWb3VsZXotdm91cyB2cmFpbWVudCBjb250aW51ZXLCoD8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJjaGVjayBhYm9ydGVkLlxuIgorbXNnc3RyICJ2w6lyaWZpY2F0aW9uIGFubnVsw6llLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPCBGSVJTVFpPTkUgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiWm9uZSBuciA8IHZhbGV1ciBkZSBQUkVNSUVSRV9aT05FIGRhbnMgbGUgZmljaGllciDCq8KgJXPCoMK7LiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzIyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yID49IFpPTkVTIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIlpvbmUgbnIgPj0gdmFsZXVyIGRlIFpPTkVTIGRhbnMgbGUgZmljaGllciDCq8KgJXPCoMK7LiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzI2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0NworbXNnaWQgIlJlbW92ZSBibG9jayIKK21zZ3N0ciAiU3VwcHJlc3Npb24gZHUgYmxvYyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IHVuYWJsZSB0byBzZWVrIHRvIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJFcnJldXIgZGUgbGVjdHVyZcKgOiBpbXBvc3NpYmxlIGRlIHNlIHBvc2l0aW9ubmVyIHN1ciB1biBibG9jIGR1IGZpY2hpZXIgwqvCoCVzwqDCu1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJFcnJldXIgZGUgbGVjdHVyZcKgOiBibG9jIGNvcnJvbXB1IGRhbnMgbGUgZmljaGllciDCq8KgJXPCoMK7XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSW50ZXJuYWwgZXJyb3I6IHRyeWluZyB0byB3cml0ZSBiYWQgYmxvY2tcbiIKKyJXcml0ZSByZXF1ZXN0IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorIkVycmV1ciBpbnRlcm5lwqA6IHRlbnRhdGl2ZSBkJ8OpY3JpdHVyZSBkJ3VuIGJsb2MgY29ycm9tcHVcbiIKKyJSZXF1w6p0ZSBkJ8OpY3JpdHVyZSBpZ25vcsOpZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiw6ljaGVjIGRlIHBvc2l0aW9ubmVtZW50IGRhbnMgd3JpdGVfYmxvY2sgKMOpY3JpdHVyZSBkZSBibG9jKSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIldyaXRlIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIkVycmV1ciBkJ8OpY3JpdHVyZcKgOiBibG9jIGNvcnJvbXB1IGRhbnMgbGUgZmljaGllciDCq8KgJXPCoMK7XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUwNQorbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX3N1cGVyX2Jsb2NrIgorbXNnc3RyICLDqWNoZWMgZGUgcG9zaXRpb25uZW1lbnQgcGVuZGFudCBsJ8OpY3JpdHVyZSBkdSBzdXBlcmJsb2MgKHdyaXRlX3N1cGVyX2Jsb2NrKSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTA3Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBzdXBlcmJsb2MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyMAorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIkltcG9zc2libGUgZCfDqWNyaXJlIGxhIHRhYmxlIGRlcyBpbsWTdWRzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjMKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgem9uZSBtYXAiCittc2dzdHIgIkltcG9zc2libGUgZCfDqWNyaXJlIGxhIHRhYmxlIGRlcyB6b25lcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTI2Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkJ8OpY3JpcmUgZGVzIGluxZN1ZHMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU1OAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBidWZmZXIgZm9yIHN1cGVyYmxvY2siCittc2dzdHIgImltcG9zc2libGUgZCdhbGxvdWVyIHVuIHRhbXBvbiBhdSBzdXBlcmJsb2MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2MQorbXNnaWQgInVuYWJsZSB0byByZWFkIHN1cGVyIGJsb2NrIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbGUgc3VwZXJibG9jIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODMKK21zZ2lkICJiYWQgbWFnaWMgbnVtYmVyIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJub21icmUgbWFnaXF1ZSBjb3Jyb21wdSBkYW5zIGxlIHN1cGVyYmxvYyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg1Cittc2dpZCAiT25seSAxayBibG9ja3Mvem9uZXMgc3VwcG9ydGVkIgorbXNnc3RyICJTZXVscyBsZXMgYmxvY3MgZCcxwqBrbyBwYXIgem9uZSBzb250IHByaXMgZW4gY2hhcmdlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODcKK21zZ2lkICJiYWQgc19uaW5vZGVzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJjaGFtcCBzX25pbm9kZXMgY29ycm9tcHUgZGFucyBsZSBzdXBlcmJsb2MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4OQorbXNnaWQgImJhZCBzX2ltYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJjaGFtcCBzX2ltYXBfYmxvY2tzIGNvcnJvbXB1IGRhbnMgbGUgc3VwZXJibG9jIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTEKK21zZ2lkICJiYWQgc19maXJzdGRhdGF6b25lIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJjaGFtcCBzX2ZpcnN0ZGF0YXpvbmUgY29ycm9tcHUgZGFucyBsZSBzdXBlcmJsb2MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5NAorbXNnaWQgImJhZCBzX3ptYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJjaGFtcCBzX3ptYXBfYmxvY2tzIGNvcnJvbXB1IGRhbnMgbGUgc3VwZXJibG9jIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTAKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBtYXAiCittc2dzdHIgIkltcG9zc2libGUgZCdhbGxvdWVyIHVuIHRhbXBvbiBwb3VyIGxhIHRhYmxlIGRlcyBpbsWTdWRzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTMKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIG1hcCIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkJ2FsbG91ZXIgdW4gdGFtcG9uIHBvdXIgbGEgdGFibGUgZGUgem9uZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxNgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkJ2FsbG91ZXIgdW4gdGFtcG9uIHBvdXIgbGVzIGluxZN1ZHMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxOQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIGNvdW50IgorbXNnc3RyICJJbXBvc3NpYmxlIGQnYWxsb3VlciB1biB0YW1wb24gcG91ciBsZSBjb21wdGV1ciBkJ2luxZN1ZHMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyMgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgY291bnQiCittc2dzdHIgIkltcG9zc2libGUgZCdhbGxvdWVyIHVuIHRhbXBvbiBwb3VyIGxlIGNvbXB0ZXVyIGRlIHpvbmVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjYKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZSBtYXAiCittc2dzdHIgIkltcG9zc2libGUgZGUgbGlyZSBsYSB0YWJsZSBkZXMgaW7Fk3VkcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjMwCittc2dpZCAiVW5hYmxlIHRvIHJlYWQgem9uZSBtYXAiCittc2dzdHIgIkltcG9zc2libGUgZGUgbGlyZSBsYSB0YWJsZSBkZSB6b25lcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM0Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGVzIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIGxpcmUgbGVzIGluxZN1ZHMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzNgorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIKK21zZ3N0ciAiQXZlcnRpc3NlbWVudMKgOiBGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBpbm9kZXNcbiIKK21zZ3N0ciAiJWxkwqBpbsWTdWRzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgYmxvY2tzXG4iCittc2dzdHIgIiVsZMKgYmxvY3NcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NgorIywgYy1mb3JtYXQKK21zZ2lkICJGaXJzdGRhdGF6b25lPSVqZCAoJWpkKVxuIgorbXNnc3RyICJGaXJzdGRhdGF6b25lPSVqZCAoJWpkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JWRcbiIKK21zZ3N0ciAiVGFpbGxlX3pvbmU9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIk1heHNpemU9JXp1XG4iCittc2dzdHIgIlRhaWxsZV9tYXhpbWFsZT0lenVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gc3RhdGU9JWRcbiIKK21zZ3N0ciAiw4l0YXQgZHUgc3lzdMOobWUgZGUgZmljaGllcnM9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJuYW1lbGVuPSV6ZFxuIgorIlxuIgorbXNnc3RyICIiCisibG9uZ3VldXJfbm9tcz0lemRcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjY0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcxNAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlZCBtYXJrZWQgdW51c2VkLCBidXQgdXNlZCBmb3IgZmlsZSAnJXMnXG4iCittc2dzdHIgIkluxZN1ZMKgJWQgbWFycXXDqSBsaWJyZSwgbWFpcyB1dGlsaXPDqSBwb3VyIGxlIGZpY2hpZXIgwqvCoCVzwqDCu1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NjcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzE3Cittc2dpZCAiTWFyayBpbiB1c2UiCittc2dzdHIgIk1hcnF1ZXIgdXRpbGlzw6kiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY4OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpbGUgYCVzJyBoYXMgbW9kZSAlMDVvXG4iCittc2dzdHIgIkxlIGZpY2hpZXIgwqvCoCVzwqDCuyBhIHBvdXIgbW9kZSAlMDVvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY5NiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogaW5vZGUgY291bnQgdG9vIGJpZy5cbiIKK21zZ3N0ciAiQXZlcnRpc3NlbWVudMKgOiBjb21wdGUgZCdpbsWTdWRzIHRyb3AgZ3JhbmQuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc1NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NjMKK21zZ2lkICJyb290IGlub2RlIGlzbid0IGEgZGlyZWN0b3J5IgorbXNnc3RyICJsJ2luxZN1ZCBkZSBsYSByYWNpbmUgbidlc3QgcGFzIHVuIHLDqXBlcnRvaXJlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NzUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrIGhhcyBiZWVuIHVzZWQgYmVmb3JlLiBOb3cgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiQmxvYyB1dGlsaXPDqSBhdXBhcmF2YW50LiBNYWludGVuYW50IGluY2x1cyBkYW5zIGxlIGZpY2hpZXIgwqvCoCVzwqDCuy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MDgKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1MgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA4Cittc2dpZCAiQ2xlYXIiCittc2dzdHIgIkxpYnJlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrICVkIGluIGZpbGUgYCVzJyBpcyBtYXJrZWQgbm90IGluIHVzZS4iCittc2dzdHIgIkJsb2PCoCVkIGRhbnMgbGUgZmljaGllciDCq8KgJXPCoMK7IG1hcnF1w6kgbm9uIHV0aWxpc8OpLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzg5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgyMAorbXNnaWQgIkNvcnJlY3QiCittc2dzdHIgIkNvcnJlY3QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk1OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkaXJlY3RvcnkgJyVzJyBjb250YWlucyBhIGJhZCBpbm9kZSBudW1iZXIgZm9yIGZpbGUgJyUuKnMnLiIKK21zZ3N0ciAiTGUgcsOpcGVydG9pcmUgwqvCoCVzwqDCuyBjb250aWVudCB1biBudW3DqXJvIGQnaW7Fk3VkIGNvcnJvbXB1IHBvdXIgbGUgZmljaGllciDCq8KgJS4qc8KgwrsuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzNQorbXNnaWQgIiBSZW1vdmUiCittc2dzdHIgIiBFbmxldmVyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4nIGlzbid0IGZpcnN0XG4iCittc2dzdHIgIiVzwqA6IHLDqXBlcnRvaXJlIGNvcnJvbXB1wqA6IMKrwqAuwqDCuyBuJ2FwcGFyYcOudCBwYXMgZW4gcHJlbWllclxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5ODYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4uJyBpc24ndCBzZWNvbmRcbiIKK21zZ3N0ciAiJXPCoDogcsOpcGVydG9pcmUgY29ycm9tcHXCoDogwqvCoC4uwqDCuyBuJ2FwcGFyYcOudCBwYXMgZW4gc2Vjb25kXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwOTQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTExNworbXNnaWQgImludGVybmFsIGVycm9yIgorbXNnc3RyICJlcnJldXIgaW50ZXJuZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA5NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBzaXplIDwgMzIiCittc2dzdHIgIiVzwqA6IHLDqXBlcnRvaXJlIGNvcnJvbXB1wqA6IHRhaWxsZSA8IDMyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBpbnZhbGlkIGlfem9uZSwgdXNlIC0tcmVwYWlyIHRvIGZpeFxuIgorbXNnc3RyICIlc8KgOiByw6lwZXJ0b2lyZSBjb3Jyb21wdcKgOiBpX3pvbmUgaW5jb3JyZWN0ZSwgdXRpbGlzZXIgLS1yZXBhaXIgcG91ciBkw6lwYW5uZXJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEzMgorbXNnaWQgInNlZWsgZmFpbGVkIGluIGJhZF96b25lIgorbXNnc3RyICLDqWNoZWMgZGUgcG9zaXRpb25uZW1lbnQgZGFucyBiYWRfem9uZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBtb2RlIG5vdCBjbGVhcmVkLiIKK21zZ3N0ciAiTW9kZSBkZSBsJ2luxZN1ZMKgJWx1IG5vbiByw6lpbml0aWFsaXPDqS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbm90IHVzZWQsIG1hcmtlZCB1c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICJJbsWTdWTCoCVsdSBub24gdXRpbGlzw6ksIG1hcnF1w6kgdXRpbGlzw6kgZGFucyBsYSB0YWJsZS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxMworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgdXNlZCwgbWFya2VkIHVudXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiSW7Fk3VkwqAlbHUgdXRpbGlzw6ksIG1hcnF1w6kgaW51dGlsaXPDqSBkYW5zIGxhIHRhYmxlLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1OCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE0Cittc2dpZCAiU2V0IgorbXNnc3RyICJJbml0aWFsaXPDqSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE4CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSAobW9kZSA9ICUwN28pLCBpX25saW5rcz0lZCwgY291bnRlZD0lZC4iCittc2dzdHIgIkluxZN1ZMKgJWx1IChtb2RlID0gJTA3byksIGlfbmxpbmtzPSVkLCBkw6ljb21wdGU9JWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjEKK21zZ2lkICJTZXQgaV9ubGlua3MgdG8gY291bnQiCittc2dzdHIgIkluaXRpYWxpc2F0aW9uIGRlIGlfbmxpbmtzIHBvdXIgZMOpY29tcHRlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTc3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG1hcmtlZCBpbiB1c2UsIG5vIGZpbGUgdXNlcyBpdC4iCittc2dzdHIgIlpvbmXCoCVsdcKgOiBtYXJxdcOpZSB1dGlsaXPDqWUsIGF1Y3VuIGZpY2hpZXIgbmUgbCd1dGlsaXNlLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE3OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjM1Cittc2dpZCAiVW5tYXJrIgorbXNnc3RyICJOb24gbWFycXXDqSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiWm9uZcKgJWx1wqA6IHV0aWxpc8OpZSwgZMOpY29tcHRlPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MworIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbm90IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICJab25lwqAlbHXCoDogbm9uIHV0aWxpc8OpZSwgZMOpY29tcHRlPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyOTEKK21zZ2lkICJiYWQgaW5vZGUgc2l6ZSIKK21zZ3N0ciAidGFpbGxlIGQnaW7Fk3VkIGNvcnJvbXB1ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5MworbXNnaWQgImJhZCB2MiBpbm9kZSBzaXplIgorbXNnc3RyICJ0YWlsbGUgZCdpbsWTdWQgdjIgY29ycm9tcHVlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzM3Cittc2dpZCAibmVlZCB0ZXJtaW5hbCBmb3IgaW50ZXJhY3RpdmUgcmVwYWlycyIKK21zZ3N0ciAiaWwgZXN0IG7DqWNlc3NhaXJlIGQndXRpbGlzZXIgdW4gdGVybWluYWwgcG91ciBkZXMgcsOpcGFyYXRpb25zIGVuIG1vZGUgaW50ZXJhY3RpZiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXMiCittc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgJXPCoDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgY2xlYW4sIG5vIGNoZWNrLlxuIgorbXNnc3RyICIlcyBlc3QgcHJvcHJlLCBhdWN1bmUgdsOpcmlmaWNhdGlvbi5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGb3JjaW5nIGZpbGVzeXN0ZW0gY2hlY2sgb24gJXMuXG4iCittc2dzdHIgIlbDqXJpZmljYXRpb24gZm9yY8OpZSBkdSBzeXN0w6htZSBkZSBmaWNoaWVycyBzdXIgJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBvbiAlcyBpcyBkaXJ0eSwgbmVlZHMgY2hlY2tpbmcuXG4iCittc2dzdHIgIkxlIHN5c3TDqG1lIGRlIGZpY2hpZXJzIGRlICVzIGVzdCBjb3Jyb21wdSwgdW5lIHbDqXJpZmljYXRpb24gZXN0IG7DqWNlc3NhaXJlLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmxkIGlub2RlcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2bGTCoGluxZN1ZHMgdXRpbGlzw6lzICglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlNmxkIHpvbmVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICIlNmxkwqB6b25lcyB1dGlsaXPDqWVzICglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM5NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZkIHJlZ3VsYXIgZmlsZXNcbiIKKyIlNmQgZGlyZWN0b3JpZXNcbiIKKyIlNmQgY2hhcmFjdGVyIGRldmljZSBmaWxlc1xuIgorIiU2ZCBibG9jayBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgbGlua3NcbiIKKyIlNmQgc3ltYm9saWMgbGlua3NcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmlsZXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2ZMKgZmljaGllcnMgcsOpZ3VsaWVyc1xuIgorIiU2ZMKgcsOpcGVydG9pcmVzXG4iCisiJTZkwqBmaWNoaWVycyBkZSBww6lyaXBow6lyaXF1ZSBjYXJhY3TDqHJlXG4iCisiJTZkwqBmaWNoaWVycyBkZSBww6lyaXBow6lyaXF1ZSBibG9jXG4iCisiJTZkwqBsaWVuc1xuIgorIiU2ZMKgbGllbnMgc3ltYm9saXF1ZXNcbiIKKyItLS0tLS1cbiIKKyIlNmTCoGZpY2hpZXJzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyJGSUxFIFNZU1RFTSBIQVMgQkVFTiBDSEFOR0VEXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiU1lTVMOITUUgREUgRklDSElFUlMgTU9ESUZJw4lcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MzMKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTM5IGRpc2stdXRpbHMvcGFydHguYzoxMDM1IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMgorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTggc3lzLXV0aWxzL2RtZXNnLmM6NjU5IHN5cy11dGlscy93ZGN0bC5jOjM0NgorIzogc3lzLXV0aWxzL3dkY3RsLmM6NDExIHRlcm0tdXRpbHMvc2NyaXB0LmM6MjcyIHRlcm0tdXRpbHMvc2NyaXB0LmM6MzQ5CisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI0OAorbXNnaWQgIndyaXRlIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGQnw6ljcml0dXJlIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1pZ2h0IG5vdCBiZSBhbiBJU08gZmlsZXN5c3RlbSIKK21zZ3N0ciAiJXPCoDogcG91cnJhaXQgbmUgcGFzIMOqdHJlIHVuIHN5c3TDqG1lIGRlIGZpY2hpZXJzIElTTyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTM5CisjLCBjLWZvcm1hdAorbXNnaWQgInNlZWsgZXJyb3Igb24gJXMiCittc2dzdHIgImVycmV1ciBkZSBwb3NpdGlvbm5lbWVudCBzdXIgJXMiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE0MgorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkIGVycm9yIG9uICVzIgorbXNnc3RyICJlcnJldXIgZGUgbGVjdHVyZSBzdXIgJXMiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZWN0b3IgY291bnQ6ICVkLCBzZWN0b3Igc2l6ZTogJWRcbiIKK21zZ3N0ciAibm9tYnJlIGRlIHNlY3RldXJzwqA6ICVkLCB0YWlsbGUgZGUgc2VjdGV1csKgOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8aXNvOTY2MF9pbWFnZV9maWxlPlxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIDxmaWNoaWVyX2ltYWdlX2lzbzk2NjA+XG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3NAorbXNnaWQgIlNob3cgdGhlIGxlbmd0aCBvZiBhbiBJU08tOTY2MCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJBZmZpY2hlciBsYSB0YWlsbGUgZOKAmXVuIHN5c3TDqG1lIGRlIGZpY2hpZXJzIElTTy05NjYwLlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzcKK21zZ2lkICIgLWQsIC0tZGl2aXNvcj08bnVtYmVyPiAgZGl2aWRlIHRoZSBhbW91bnQgb2YgYnl0ZXMgYnkgPG51bWJlcj5cbiIKK21zZ3N0ciAiIC1kLCAtLWRpdmlzb3I9PG5vbWJyZT4gIGRpdmlzZXIgbGEgcXVhbnRpdMOpIGQnb2N0ZXRzIHBhciA8bm9tYnJlPlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzgKK21zZ2lkICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgc2hvdyBzZWN0b3IgY291bnQgYW5kIHNpemVcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIGFmZmljaGVyIGxlIG5vbWJyZSBldCBsYSB0YWlsbGUgZGUgc2VjdGV1cnNcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MjEwCittc2dpZCAiaW52YWxpZCBkaXZpc29yIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBkZSBkaXZpc2lvbiBpbmNvcnJlY3QiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZSBbYmxvY2stY291bnRdXG4iCittc2dzdHIgIlV0aWxpc2F0aW9uwqA6ICVzIFtvcHRpb25zXSBbbm9tYnJlX2RlX2Jsb2NzXVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzcKK21zZ2lkICJNYWtlIGFuIFNDTyBiZnMgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiQ3LDqWVyIHVuIHN5c3TDqG1lIGRlIGZpY2hpZXJzIFNDTyBiZnNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtTiwgLS1pbm9kZXM9TlVNICAgIHNwZWNpZnkgZGVzaXJlZCBudW1iZXIgb2YgaW5vZGVzXG4iCisiIC1WLCAtLXZuYW1lPU5BTUUgICAgc3BlY2lmeSB2b2x1bWUgbmFtZVxuIgorIiAtRiwgLS1mbmFtZT1OQU1FICAgIHNwZWNpZnkgZmlsZSBzeXN0ZW0gbmFtZVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisiIC1jICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorIiAtbCAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAgICAgICAgICAgICAgICAgICAgIC1WIGFzIHZlcnNpb24gbXVzdCBiZSBvbmx5IG9wdGlvblxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcHRpb25zwqA6XG4iCisiIC1OLCAtLWlub2Rlcz1OQlJFICBpbmRpcXVlciBsZSBub21icmUgZCdpbsWTdWRzIHZvdWx1XG4iCisiIC1WLCAtLXZuYW1lPU5PTSAgICBpbmRpcXVlciBsZSBub20gZHUgdm9sdW1lXG4iCisiIC1GLCAtLWZuYW1lPU5PTSAgICBpbmRpcXVlciBsZSBub20gZHUgc3lzdMOobWUgZGUgZmljaGllcnNcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgIGV4cGxpcXVlciBsZXMgYWN0aW9ucyBlbiBjb3Vyc1xuIgorIiAtYyAgICAgICAgICAgICAgICAgY2V0dGUgb3B0aW9uIGVzdCBpZ25vcsOpZSBzaWxlbmNpZXVzZW1lbnRcbiIKKyIgLWwgICAgICAgICAgICAgICAgIGNldHRlIG9wdGlvbiBlc3QgaWdub3LDqWUgc2lsZW5jaWV1c2VtZW50XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICBhZmZpY2hlciBsZXMgaW5mb3JtYXRpb25zIGRlIHZlcnNpb24gZXQgcXVpdHRlclxuIgorIiAgICAgICAgICAgICAgICAgICAgLVYgY29tbWUgdmVyc2lvbiBkb2l0IMOqdHJlIGxhIHNldWxlIG9wdGlvblxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgYWZmaWNoZXIgY2V0dGUgYWlkZSBldCBxdWl0dGVyXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNDQKK21zZ2lkICJpbnZhbGlkIG51bWJlciBvZiBpbm9kZXMiCittc2dzdHIgIm5vbWJyZSBkJ2luxZN1ZHMgaW5jb3JyZWN0IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTUwCittc2dpZCAidm9sdW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm5vbSBkZSB2b2x1bWUgdHJvcCBsb25nIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU3Cittc2dpZCAiZnNuYW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm5vbSBkZSBzeXN0w6htZSBkZSBmaWNoaWVycyB0cm9wIGxvbmciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTMKK21zZ2lkICJpbnZhbGlkIGJsb2NrLWNvdW50IgorbXNnc3RyICJub21icmVfZGVfYmxvY3MgaW5jb3JyZWN0IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ29idGVuaXIgbGEgdGFpbGxlIGRlICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrcyBhcmd1bWVudCB0b28gbGFyZ2UsIG1heCBpcyAlbGx1IgorbXNnc3RyICJhcmd1bWVudCBkZSBibG9jcyB0cm9wIGdyYW5kLCBsZSBtYXhpbXVtIGVzdCAlbGx1IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjE5Cittc2dpZCAidG9vIG1hbnkgaW5vZGVzIC0gbWF4IGlzIDUxMiIKK21zZ3N0ciAidHJvcCBkJ2luxZN1ZHMg4oCUIGxlIG1heGltdW0gZXN0IDUxMiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlLCBuZWVkIGF0IGxlYXN0ICVsbHUgYmxvY2tzIgorbXNnc3RyICJwYXMgYXNzZXogZCdlc3BhY2UsIGF1IG1vaW5zICVsbHXCoGJsb2NzIHNvbnQgbsOpY2Vzc2FpcmVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZTogJXNcbiIKK21zZ3N0ciAiUMOpcmlwaMOpcmlxdWXCoDogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJWb2x1bWU6IDwlLTZzPlxuIgorbXNnc3RyICJWb2x1bWXCoDogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlNuYW1lOiA8JS02cz5cbiIKK21zZ3N0ciAiTm9tIGR1IHN5c3TDqG1lIGRlIGZpY2hpZXJzwqA6IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrU2l6ZTogJWRcbiIKK21zZ3N0ciAiVGFpbGxlIGRlIGJsb2PCoDogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gMSBibG9jaylcbiIKK21zZ3N0ciAiSW7Fk3Vkc8KgOiAlbGQgKGRhbnMgMSBibG9jKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAlbGx1IGJsb2NrcylcbiIKK21zZ3N0ciAiSW7Fk3Vkc8KgOiAlbGQgKGRhbnMgJWxsdcKgYmxvY3MpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tzOiAlbGx1XG4iCittc2dzdHIgIkJsb2NzwqA6ICVsbHVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSBlbmQ6ICVkLCBEYXRhIGVuZDogJWRcbiIKK21zZ3N0ciAiRmluIGQnaW7Fk3VkwqA6ICVkLCBmaW4gZGVzIGRvbm7DqWVzwqA6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTcKK21zZ2lkICJlcnJvciB3cml0aW5nIHN1cGVyYmxvY2siCittc2dzdHIgImVycmV1ciBkJ8OpY3JpdHVyZSBkdSBzdXBlcmJsb2MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNzgKK21zZ2lkICJlcnJvciB3cml0aW5nIHJvb3QgaW5vZGUiCittc2dzdHIgImVycmV1ciBkJ8OpY3JpdHVyZSBkZSBsJ2luxZN1ZCBkZSBsYSByYWNpbmUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODMKK21zZ2lkICJlcnJvciB3cml0aW5nIGlub2RlIgorbXNnc3RyICJlcnJldXIgZCfDqWNyaXR1cmUgZCdpbsWTdWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODYKK21zZ2lkICJzZWVrIGVycm9yIgorbXNnc3RyICJlcnJldXIgZGUgcG9zaXRpb25uZW1lbnQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTIKK21zZ2lkICJlcnJvciB3cml0aW5nIC4gZW50cnkiCittc2dzdHIgImVycmV1ciBkJ8OpY3JpdHVyZSBkZSBsJ2VudHLDqWUgwqvCoC7CoMK7IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjk2Cittc2dpZCAiZXJyb3Igd3JpdGluZyAuLiBlbnRyeSIKK21zZ3N0ciAiZXJyZXVyIGQnw6ljcml0dXJlIGRlIGwnZW50csOpZSDCq8KgLi7CoMK7IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNsb3NpbmcgJXMiCittc2dzdHIgImVycmV1ciBkZSBmZXJtZXR1cmUgZGUgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy10IDx0eXBlPl0gW2ZzLW9wdGlvbnNdIDxkZXZpY2U+IFs8c2l6ZT5dXG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gWy10IDx0eXBlPl0gW29wdGlvbnMtc3lzZl0gPHDDqXJpcGjDqXJpcXVlPiBbPHRhaWxsZT5dXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ4Cittc2dpZCAiTWFrZSBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkNyw6llciB1biBzeXN0w6htZSBkZSBmaWNoaWVycyBMaW51eC5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC10LCAtLXR5cGU9PHR5cGU+ICBmaWxlc3lzdGVtIHR5cGU7IHdoZW4gdW5zcGVjaWZpZWQsIGV4dDIgaXMgdXNlZFxuIgorbXNnc3RyICIgLXQsIC0tdHlwZT08dHlwZT4gIHR5cGUgZGUgc3lzdMOobWUgZGUgZmljaGllcnMsIGV4dDIgcGFyIGTDqWZhdXRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICBmcy1vcHRpb25zICAgICBwYXJhbWV0ZXJzIGZvciB0aGUgcmVhbCBmaWxlc3lzdGVtIGJ1aWxkZXJcbiIKK21zZ3N0ciAiICAgICBvcHRpb25zLXN5c2YgICBwYXJhbcOodHJlcyBkdSB2cmFpIGNvbnN0cnVjdGV1ciBkZSBzeXN0w6htZSBkZSBmaWNoaWVyc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxkZXZpY2U+ICAgICAgIHBhdGggdG8gdGhlIGRldmljZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiAgICAgPHDDqXJpcGjDqXJpcXVlPiBjaGVtaW4gdmVycyBsZSBww6lyaXBow6lyaXF1ZSDDoCB1dGlsaXNlclxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxzaXplPiAgICAgICAgIG51bWJlciBvZiBibG9ja3MgdG8gYmUgdXNlZCBvbiB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiAgICAgPHRhaWxsZT4gICAgICAgbm9tYnJlIGRlIGJsb2NzIMOgIHV0aWxpc2VyIHN1ciBsZSBww6lyaXBow6lyaXF1ZVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeWluZyAtViBtb3JlIHRoYW4gb25jZSB3aWxsIGNhdXNlIGEgZHJ5LXJ1blxuIgorbXNnc3RyICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICBleHBsaXF1ZXIgbGVzIGFjdGlvbnMgZW4gY291cnNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgLVYgaW5kaXF1w6kgcGx1cyBkJ3VuZSBmb2lzIGZvcmNlcmEgdW5lIHLDqXDDqXRpdGlvblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcnNpb24gICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQ7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIC1WIGFzIC0tdmVyc2lvbiBtdXN0IGJlIHRoZSBvbmx5IG9wdGlvblxuIgorbXNnc3RyICIiCisiIC1WLCAtLXZlcnNpb24gICAgICBhZmZpY2hlciBsZXMgaW5mb3JtYXRpb25zIGRlIHZlcnNpb24gZXQgcXVpdHRlclxuIgorIiAgICAgICAgICAgICAgICAgICAgICAtViBjb21tZSB2ZXJzaW9uIGRvaXQgw6p0cmUgbGEgc2V1bGUgb3B0aW9uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAgICAgIGFmZmljaGVyIGNldHRlIGFpZGUgZXQgcXVpdHRlclxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzoxMzkgbGliL2V4ZWNfc2hlbGwuYzo0OSBsb2dpbi11dGlscy9uZXdncnAuYzoyMzMKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY1NyBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5OTIKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwNCBzY2hlZHV0aWxzL2NocnQuYzo1NTgKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjYwIHNjaGVkdXRpbHMvdGFza3NldC5jOjIzOSBzeXMtdXRpbHMvZmxvY2suYzoxMjIKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDMwIHN5cy11dGlscy9wcmxpbWl0LmM6NjQ0IHN5cy11dGlscy9ydGN3YWtlLmM6NTc3CisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjMyNCBzeXMtdXRpbHMvc2V0YXJjaC5jOjQwMyBzeXMtdXRpbHMvc2V0c2lkLmM6MTE1CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzQwIHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI0MiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ2MQorIzogdGVybS11dGlscy9zY3JpcHQuYzo1ODEgdGV4dC11dGlscy9wZy5jOjEzNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGV4ZWN1dGUgJXMiCittc2dzdHIgIsOpY2hlYyBkJ2V4w6ljdXRpb24gZGUgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVzYWdlOiAlcyBbLWhdIFstdl0gWy1iIGJsa3NpemVdIFstZSBlZGl0aW9uXSBbLU4gZW5kaWFuXSBbLWkgZmlsZV0gWy1uIG5hbWVdIGRpcm5hbWUgb3V0ZmlsZVxuIgorIiAtaCAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorIiAtdiAgICAgICAgIGJlIHZlcmJvc2VcbiIKKyIgLUUgICAgICAgICBtYWtlIGFsbCB3YXJuaW5ncyBlcnJvcnMgKG5vbi16ZXJvIGV4aXQgc3RhdHVzKVxuIgorIiAtYiBibGtzaXplIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgbXVzdCBlcXVhbCBwYWdlIHNpemVcbiIKKyIgLWUgZWRpdGlvbiBzZXQgZWRpdGlvbiBudW1iZXIgKHBhcnQgb2YgZnNpZClcbiIKKyIgLU4gZW5kaWFuICBzZXQgY3JhbWZzIGVuZGlhbm5lc3MgKGJpZ3xsaXR0bGV8aG9zdCksIGRlZmF1bHQgaG9zdFxuIgorIiAtaSBmaWxlICAgIGluc2VydCBhIGZpbGUgaW1hZ2UgaW50byB0aGUgZmlsZXN5c3RlbSAocmVxdWlyZXMgPj0gMi40LjApXG4iCisiIC1uIG5hbWUgICAgc2V0IG5hbWUgb2YgY3JhbWZzIGZpbGVzeXN0ZW1cbiIKKyIgLXAgICAgICAgICBwYWQgYnkgJWQgYnl0ZXMgZm9yIGJvb3QgY29kZVxuIgorIiAtcyAgICAgICAgIHNvcnQgZGlyZWN0b3J5IGVudHJpZXMgKG9sZCBvcHRpb24sIGlnbm9yZWQpXG4iCisiIC16ICAgICAgICAgbWFrZSBleHBsaWNpdCBob2xlcyAocmVxdWlyZXMgPj0gMi4zLjM5KVxuIgorIiBkaXJuYW1lICAgIHJvb3Qgb2YgdGhlIGZpbGVzeXN0ZW0gdG8gYmUgY29tcHJlc3NlZFxuIgorIiBvdXRmaWxlICAgIG91dHB1dCBmaWxlXG4iCittc2dzdHIgIiIKKyJ1dGlsaXNhdGlvbsKgOiAlcyBbLWhdIFstdl0gWy1iIHRhaWxsZV9ibG9jXSBbLWUgw6lkaXRpb25dIFstTiBib3V0aXNtZSBdIFstaSBmaWNoaWVyXSBbLW4gbm9tXSByw6lwZXJ0b2lyZSBmaWNoaWVyLXNvcnRpZVxuIgorIiAtaCAgICAgICAgICAgICAgYWZmaWNoZXIgbCdhaWRlXG4iCisiIC12ICAgICAgICAgICAgICBtb2RlIGJhdmFyZFxuIgorIiAtRSAgICAgICAgICAgICAgdHJhbnNmb3JtZXIgdG91cyBsZXMgYXZlcnRpc3NlbWVudHMgZW4gZXJyZXVycyAoY29kZSBkZSByZXRvdXIgbnVsKVxuIgorIiAtYiB0YWlsbGVfYmxvYyAgdXRpbGlzZXIgY2V0dGUgdGFpbGxlIGRlIGJsb2MsIGRvaXQgw6p0cmUgw6lnYWwgw6AgbGEgdGFpbGxlIGRlIHBhZ2VcbiIKKyIgLWUgw6lkaXRpb24gICAgICBpbmRpcXVlciBsZSBudW3DqXJvIGQnw6lkaXRpb24gKHBhcnRpZSBkZSBmc2lkKVxuIgorIiAtTiBib3V0aXNtZSAgICAgaW5kaXF1ZXIgbGUgdHlwZSBkZSBib3V0aXNtZSAowqvCoGVuZGlhbsKgwrspIGRlIGNyYW1mcyAoYmlnfGxpdHRsZXxob3N0KSwgwqvCoGhvc3TCoMK7IHBhciBkw6lmYXV0XG4iCisiIC1pIGZpY2hpZXIgICAgICBpbnPDqXJlciB1biBmaWNoaWVyIGltYWdlIGRhbnMgbGUgc3lzdMOobWUgZGUgZmljaGllcnMgKDIuNC4wIG1pbmltdW0pXG4iCisiIC1uIG5vbSAgICAgICAgICBpbmRpcXVlciBsZSBub20gZHUgc3lzdMOobWUgZGUgZmljaGllcnMgY3JhbWZzXG4iCisiIC1wICAgICAgICAgICAgICBwcm90w6lnZXIgbGUgY29kZSBkJ2Ftb3LDp2FnZSBkZSAlZMKgb2N0ZXRzXG4iCisiIC1zICAgICAgICAgICAgICB0cmllciBsZXMgZW50csOpZXMgZGUgcsOpcGVydG9pcmUgKG9wdGlvbiBvYnNvbMOodGUsIGlnbm9yw6llKVxuIgorIiAteiAgICAgICAgICAgICAgZmFpcmUgZGVzIHRyb3VzIGV4cGxpY2l0ZXMgKDIuMy4zOSBtaW5pbXVtKVxuIgorIiByw6lwZXJ0b2lyZSAgICAgIHJhY2luZSBkdSBzeXN0w6htZSBkZSBmaWNoaWVycyDDoCBjb21wcmVzc2VyXG4iCisiIGZpY2hpZXItc29ydGllICBmaWNoaWVyIGRlIHNvcnRpZVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWRsaW5rIGZhaWxlZDogJXMiCittc2dzdHIgIsOpY2hlYyBkZSBsZWN0dXJlIGRlIGxpZW7CoDogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbGUgcsOpcGVydG9pcmUgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo0NDMKK21zZ2lkICJmaWxlc3lzdGVtIHRvbyBiaWcuICBFeGl0aW5nLiIKK21zZ3N0ciAic3lzdMOobWUgZGUgZmljaGllcnMgdHJvcCBncm9zLiBGaW4gZCdleMOpY3V0aW9uLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYwMgorIywgYy1mb3JtYXQKK21zZ2lkICJBSUVFRTogYmxvY2sgXCJjb21wcmVzc2VkXCIgdG8gPiAyKmJsb2NrbGVuZ3RoICglbGQpXG4iCittc2dzdHIgIkF0dGVudGlvbsKgOiBibG9jIMKrwqBjb21wcmVzc8OpwqDCuyBkZSB0YWlsbGUgPiAyKmxvbmd1ZXVyLWRlLWJsb2MgKCVsZClcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZMKgb2N0ZXRzKVx0JXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2xvc2UgZmlsZSAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBmZXJtZXIgbGUgZmljaGllciAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjczMgorbXNnaWQgImludmFsaWQgZWRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50IGRlIG51bcOpcm8gZCfDqWRpdGlvbiBpbmNvcnJlY3QiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgImJvdXRpc21lIGluY29ycmVjdMKgOyBzZXVscyDCq8KgYmlnwqDCuywgwqvCoGxpdHRsZcKgwrsgb3UgwqvCoGhvc3TCoMK7IHNvbnQgYWNjZXB0w6lzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGd1ZXN0aW1hdGUgb2YgcmVxdWlyZWQgc2l6ZSAodXBwZXIgYm91bmQpIGlzICVsbGRNQiwgYnV0IG1heGltdW0gaW1hZ2Ugc2l6ZSBpcyAldU1CLiAgV2UgbWlnaHQgZGllIHByZW1hdHVyZWx5LiIKK21zZ3N0ciAiYXZlcnRpc3NlbWVudMKgOiBsYSB0YWlsbGUgbsOpY2Vzc2FpcmUgZXN0aW3DqWUgKGxpbWl0ZSBzdXDDqXJpZXVyZSkgZXN0IGRlICVsbGTCoE1vLCBtYWlzIGxhIHRhaWxsZSBtYXhpbWFsZSBkZSBsJ2ltYWdlIGVzdCBkZSAldcKgTW8uIEFycsOqdCBwcsOpbWF0dXLDqSBwcm9iYWJsZS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MzAKK21zZ2lkICJST00gaW1hZ2UgbWFwIgorbXNnc3RyICJwbGFuIGltYWdlIFJPTSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg0MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbmNsdWRpbmc6ICVzXG4iCittc2dzdHIgIkluY2x1c2lvbsKgOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpcmVjdG9yeSBkYXRhOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiUsOpcGVydG9pcmUgZGUgZG9ubsOpZXPCoDogJXpkwqBvY3RldHNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg1NgorIywgYy1mb3JtYXQKK21zZ2lkICJFdmVyeXRoaW5nOiAlemQga2lsb2J5dGVzXG4iCittc2dzdHIgIlRvdXTCoDogJXpkwqBraWxvb2N0ZXRzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwZXIgYmxvY2s6ICV6ZCBieXRlc1xuIgorbXNnc3RyICJTdXBlcmJsb2PCoDogJXpkwqBvY3RldHNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICJDUkM6ICV4XG4iCittc2dzdHIgIkNSQ8KgOiAleFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODczCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UgYWxsb2NhdGVkIGZvciBST00gaW1hZ2UgKCVsbGQgYWxsb2NhdGVkLCAlenUgdXNlZCkiCittc2dzdHIgInBhcyBhc3NleiBkJ2VzcGFjZSBhbGxvdcOpIHBvdXIgbCdpbWFnZSBST00gKCVsbGTCoGFsbG91w6lzLCAlenXCoHV0aWxpc8OpcykiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9NIGltYWdlIHdyaXRlIGZhaWxlZCAoJXpkICV6ZCkiCittc2dzdHIgIsOpY2hlYyBkZSBsJ8OpY3JpdHVyZSBkZSBsJ2ltYWdlIGRhbnMgbGEgUk9NICglemQgJXpkKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg4MgorbXNnaWQgIlJPTSBpbWFnZSIKK21zZ3N0ciAiaW1hZ2UgUk9NIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODkxCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGVuYW1lcyB0cnVuY2F0ZWQgdG8gJXUgYnl0ZXMuIgorbXNnc3RyICJhdmVydGlzc2VtZW50wqA6IG5vbXMgZGVzIGZpY2hpZXJzIHRyb25xdcOpcyDDoCAldcKgb2N0ZXRzLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MworbXNnaWQgIndhcm5pbmc6IGZpbGVzIHdlcmUgc2tpcHBlZCBkdWUgdG8gZXJyb3JzLiIKK21zZ3N0ciAiYXZlcnRpc3NlbWVudMKgOiBmaWNoaWVycyBpZ25vcsOpcyBlbiByYWlzb24gZCdlcnJldXJzLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlIHNpemVzIHRydW5jYXRlZCB0byAlbHVNQiAobWludXMgMSBieXRlKS4iCittc2dzdHIgImF2ZXJ0aXNzZW1lbnTCoDogdGFpbGxlIGRlcyBmaWNoaWVycyB0cm9ucXXDqWUgw6AgJWx1wqBNbyAobW9pbnMgMcKgb2N0ZXQpLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5OQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJhdmVydGlzc2VtZW50wqA6IFVJRCB0cm9ucXXDqXMgw6AgJXXCoGJpdHMgKGNlbGEgcGV1dCBjcsOpZXIgdW4gcHJvYmzDqG1lIGRlIHPDqWN1cml0w6kpLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwMgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBnaWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJhdmVydGlzc2VtZW50wqA6IEdJRCB0cm9ucXXDqXMgw6AgJXXCoGJpdHMgKGNlbGEgcGV1dCBjcsOpZXIgdW4gcHJvYmzDqG1lIGRlIHPDqWN1cml0w6kpLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogZGV2aWNlIG51bWJlcnMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICBUaGlzIGFsbW9zdCBjZXJ0YWlubHkgbWVhbnNcbiIKKyJ0aGF0IHNvbWUgZGV2aWNlIGZpbGVzIHdpbGwgYmUgd3JvbmcuIgorbXNnc3RyICIiCisiQXR0ZW50aW9uwqA6IG51bcOpcm9zIGRlIHDDqXJpcGjDqXJpcXVlcyB0cm9ucXXDqXMgw6AgJXXCoGJpdHMuIENlbGEgc2lnbmlmaWVcbiIKKyJ0csOocyBwcm9iYWJsZW1lbnQgcXVlIGNlcnRhaW5zIGZpY2hpZXJzIGRlIHDDqXJpcGjDqXJpcXVlcyBzZXJvbnQgZXJyb27DqXMuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSAvZGV2L25hbWUgW2Jsb2NzXVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzcKK21zZ2lkICIgLTEgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMVxuIgorbXNnc3RyICIgLTEgICAgICAgICAgICAgICAgICAgICB1dGlsaXNlciBNaW5peCB2ZXJzaW9uIDFcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM4Cittc2dpZCAiIC0yLCAtdiAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDJcbiIKK21zZ3N0ciAiIC0yLCAtdiAgICAgICAgICAgICAgICB1dGlsaXNlciBNaW5peCB2ZXJzaW9uIDJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM5Cittc2dpZCAiIC0zICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDNcbiIKK21zZ3N0ciAiIC0zICAgICAgICAgICAgICAgICAgICB1dGlsaXNlciBNaW5peCB2ZXJzaW9uIDNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQwCittc2dpZCAiIC1uLCAtLW5hbWVsZW5ndGggPG51bT4gIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgLW4sIC0tbmFtZWxlbmd0aCA8bm9tYnJlPiAgdGFpbGxlIG1heGltYWxlIGRlcyBub21zIGRlIGZpY2hpZXJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQxCittc2dpZCAiIC1pLCAtLWlub2RlcyA8bnVtPiAgICAgIG51bWJlciBvZiBpbm9kZXMgZm9yIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAtaSwgLS1pbm9kZXMgPG5vbWJyZT4gICAgICBpbmRpcXVlciBsZSBub21icmUgZOKAmWluxZN1ZHMgZHUgc3lzdMOobWUgZGUgZmljaGllclxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDIKK21zZ2lkICIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgY2hlY2sgdGhlIGRldmljZSBmb3IgYmFkIGJsb2Nrc1xuIgorbXNnc3RyICIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgdsOpcmlmaWVyIGxhIHByw6lzZW5jZSBkZSBibG9jcyBkw6lmZWN0dWV1eCBzdXIgbGUgcMOpcmlwaMOpcmlxdWVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQzCittc2dpZCAiIC1sLCAtLWJhZGJsb2NrcyA8ZmlsZT4gIGxpc3Qgb2YgYmFkIGJsb2NrcyBmcm9tIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgdG8gYm9vdCBibG9jayBmYWlsZWQgIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIHBvc2l0aW9ubmVtZW50IGR1IGJsb2MgZCdhbW9yw6dhZ2UgZGFucyB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGNsZWFyIGJvb3Qgc2VjdG9yIgorbXNnc3RyICIlc8KgOiBpbXBvc3NpYmxlIGRlIHZpZGVyIGxlIHNlY3RldXIgZCdhbW9yw6dhZ2UiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgcG9zaXRpb25uZW1lbnQgZGFucyB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICIlc8KgOiBpbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBzdXBlcmJsb2MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAiJXPCoDogaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGEgdGFibGUgZGVzIGluxZN1ZHMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICIlc8KgOiBpbXBvc3NpYmxlIGQnw6ljcmlyZSBsYSB0YWJsZSBkZXMgem9uZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiJXPCoDogaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGVzIGluxZN1ZHMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBwb3NpdGlvbm5lbWVudCBkYW5zIHdyaXRlX2Jsb2NrICjDqWNyaXR1cmUgZGUgYmxvYykiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZCfDqWNyaXR1cmUgZGFucyB3cml0ZV9ibG9jayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjIxIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjI5NgorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbWFueSBiYWQgYmxvY2tzIgorbXNnc3RyICIlc8KgOiB0cm9wIGRlIGJsb2NzIGNvcnJvbXB1cyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZW5vdWdoIGdvb2QgYmxvY2tzIgorbXNnc3RyICIlc8KgOiBwYXMgYXNzZXogZGUgYmxvY3MgdmFsYWJsZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRmlyc3QgZGF0YSBibG9jayBhdCAlamQsIHdoaWNoIGlzIHRvbyBmYXIgKG1heCAlZCkuXG4iCisiVHJ5IHNwZWNpZnlpbmcgZmV3ZXIgaW5vZGVzIGJ5IHBhc3NpbmcgLS1pbm9kZXMgPG51bT4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIiVsdcKgaW7Fk3VkXG4iCittc2dzdHJbMV0gIiVsdcKgaW7Fk3Vkc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVsdSBibG9ja3NcbiIKK21zZ3N0clswXSAiJWx1wqBibG9jXG4iCittc2dzdHJbMV0gIiVsdcKgYmxvY3NcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSV6dVxuIgorbXNnc3RyICJUYWlsbGVfem9uZT0lenVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJNYXhzaXplPSV6dVxuIgorIlxuIgorbXNnc3RyICIiCisiVGFpbGxlIG1heGltYWxlPSV6dVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGR1cmluZyB0ZXN0aW5nIG9mIGJsb2NrcyIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIHBvc2l0aW9ubmVtZW50IHBlbmRhbnQgbGUgdGVzdCBkZXMgYmxvY3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJXZWlyZCB2YWx1ZXMgaW4gZG9fY2hlY2s6IHByb2JhYmx5IGJ1Z3NcbiIKK21zZ3N0ciAiVmFsZXVycyDDqXRyYW5nZXMgZGFucyBkb19jaGVja8KgOiBwcm9iYWJsZW1lbnQgdW4gYm9ndWVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBwb3NpdGlvbm5lbWVudCBkYW5zIGNoZWNrX2Jsb2NrcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgYmxvY2tzIGJlZm9yZSBkYXRhLWFyZWE6IGNhbm5vdCBtYWtlIGZzIgorbXNnc3RyICIlc8KgOiBibG9jcyBjb3Jyb21wdXMgYXZhbnQgbGEgem9uZSBkZSBkb25uw6llc8KgOiBjcsOpYXRpb24gZGUgc3lzdMOobWUgZGUgZmljaGllcnMgaW1wb3NzaWJsZSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjM5IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICIlZCBiYWQgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWQgYmFkIGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlZMKgYmxvYyBjb3Jyb21wdVxuIgorbXNnc3RyWzFdICIlZMKgYmxvY3MgY29ycm9tcHVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgb3BlbiBmaWxlIG9mIGJhZCBibG9ja3MiCittc2dzdHIgIiVzwqA6IGltcG9zc2libGUgZCdvdXZyaXIgbGUgZmljaGllciBkZSBibG9jcyBjb3Jyb21wdXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1MworIywgYy1mb3JtYXQKK21zZ2lkICJiYWRibG9jayBudW1iZXIgaW5wdXQgZXJyb3Igb24gbGluZSAlZFxuIgorbXNnc3RyICJudW3DqXJvIGRlIGJsb2MgY29ycm9tcHUgZXJyb27DqSBlbiBlbnRyw6llIMOgIGxhIGxpZ25lwqAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGJhZGJsb2NrcyBmaWxlIgorbXNnc3RyICIlc8KgOiBpbXBvc3NpYmxlIGRlIGxpcmUgbGUgZmljaGllciBkZSBibG9jcyBjb3Jyb21wdXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5NAorIywgYy1mb3JtYXQKK21zZ2lkICJibG9jayBzaXplIHNtYWxsZXIgdGhhbiBwaHlzaWNhbCBzZWN0b3Igc2l6ZSBvZiAlcyIKK21zZ3N0ciAidGFpbGxlIGRlIGJsb2MgcGx1cyBwZXRpdGUgcXVlIGxhIHRhaWxsZSBkdSBzZWN0ZXVyIHBoeXNpcXVlICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBzaXplIG9mICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnb2J0ZW5pciBsYSB0YWlsbGUgZGUgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVxdWVzdGVkIGJsb2NrcyAoJWxsdSkgZXhjZWVkcyBhdmFpbGFibGUgKCVsbHUpIGJsb2Nrc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbnVtYmVyIG9mIGJsb2NrcyB0b28gc21hbGwiCittc2dzdHIgIiVzwqA6IG5vbWJyZSBkZSBibG9jcyB0cm9wIHBldGl0IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MjMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzI5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG5hbWUgbGVuZ3RoOiAlZCIKK21zZ3N0ciAibG9uZ3VldXIgZGUgbm9tIG5vbiBwcmlzZSBlbiBjaGFyZ2XCoDogJWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBtaW5peCBmaWxlIHN5c3RlbSB2ZXJzaW9uOiAlZCIKK21zZ3N0ciAidmVyc2lvbiBkdSBzeXN0w6htZSBkZSBmaWNoaWVyIE1pbml4IG5vbiBwcmlzZSBlbiBjaGFyZ2XCoDogJWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc2NworbXNnaWQgIi12IGlzIGFtYmlndW91cywgdXNlICctMicgaW5zdGVhZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NzgKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIGxhIHRhaWxsZSBtYXhpbWFsZSBkZXMgbm9tcyBkZSBmaWNoaWVyIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkdSBub21icmUgZCdpbsWTdWRzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MDYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGJsb2NrcyIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkdSBub21icmUgZGUgYmxvY3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIGEgZmlsZXN5c3RlbSBoZXJlISIKK21zZ3N0ciAiJXMgZXN0IG1vbnTDqcKgOyBpbXBvc3NpYmxlIGRlIGNyw6llciB1biBzeXN0w6htZSBkZSBmaWNoaWVycyBpY2kuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJXUiCittc2dzdHIgIlRhaWxsZSBkZSBwYWdlICV1IGluZGlxdcOpZSBwYXIgbCd1dGlsaXNhdGV1ciBlcnJvbsOpZSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJWQsIGluc3RlYWQgb2YgdGhlIHN5c3RlbSB2YWx1ZSAlZCIKK21zZ3N0ciAiVXRpbGlzYXRpb24gZGUgbGEgdGFpbGxlIGRlIHBhZ2XCoCVkIGluZGlxdcOpZSBwYXIgbCd1dGlsaXNhdGV1ciwgYXUgbGlldSBkZSBsYSB2YWxldXIgc3lzdMOobWUgJWQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTI0Cittc2dpZCAiTGFiZWwgd2FzIHRydW5jYXRlZC4iCittc2dzdHIgIkwnw6l0aXF1ZXR0ZSBhIMOpdMOpIHRyb25xdcOpZS4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGxhYmVsLCAiCittc2dzdHIgInBhcyBkJ8OpdGlxdWV0dGUsICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gdXVpZFxuIgorbXNnc3RyICJwYXMgZCdVVUlEXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdIGRldmljZSBbc2l6ZV1cbiIKK21zZ3N0ciAiIgorIlxuIgorIlV0aWxpc2F0aW9uwqA6XG4iCisiICVzIFtvcHRpb25zXSBww6lyaXBow6lyaXF1ZSBbdGFpbGxlXVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1MgorbXNnaWQgIlNldCB1cCBhIExpbnV4IHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiQ3LDqWVyIHVuZSB6b25lIGQnw6ljaGFuZ2UgKHN3YXApIExpbnV4LlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICBjaGVjayBiYWQgYmxvY2tzIGJlZm9yZSBjcmVhdGluZyB0aGUgc3dhcCBhcmVhXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgYWxsb3cgc3dhcCBzaXplIGFyZWEgYmUgbGFyZ2VyIHRoYW4gZGV2aWNlXG4iCisiIC1wLCAtLXBhZ2VzaXplIFNJWkUgICAgICAgc3BlY2lmeSBwYWdlIHNpemUgaW4gYnl0ZXNcbiIKKyIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICBzcGVjaWZ5IGxhYmVsXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAgc3BlY2lmeSBzd2FwLXNwYWNlIHZlcnNpb24gbnVtYmVyXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgc3BlY2lmeSB0aGUgdXVpZCB0byB1c2VcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcHRpb25zwqA6XG4iCisiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIHbDqXJpZmllciBsZXMgYmxvY3MgY29ycm9tcHVzIGF2YW50IGNyw6llciB6b25lIGQnw6ljaGFuZ2VcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgcGVybWV0dHJlIHVuZSB0YWlsbGUgZCdlc3BhY2UgZCfDqWNoYW5nZSBwbHVzIGdyYW5kZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlIGxlIHDDqXJpcGjDqXJpcXVlXG4iCisiIC1wLCAtLXBhZ2VzaXplIFRBSUxMRSAgIGluZGlxdWVyIGxhIHRhaWxsZSBkZSBwYWdlIGVuIG9jdGV0XG4iCisiIC1MLCAtLWxhYmVsIMOJVElRVUVUVEUgICBpbmRpcXVlciBsJ8OpdGlxdWV0dGVcbiIKKyIgLXYsIC0tc3dhcHZlcnNpb24gTkJSRSAgaW5kaXF1ZXIgbGUgbnVtw6lybyBkZSB2ZXJzaW9uIGQnZXNwYWNlIGQnw6ljaGFuZ2VcbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgaW5kaXF1ZXIgbCdVVUlEIMOgIHV0aWxpc2VyXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIGFmZmljaGVyIGxlcyBpbmZvcm1hdGlvbnMgZGUgdmVyc2lvbiBldCBxdWl0dGVyXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGFmZmljaGVyIGNldHRlIGFpZGUgZXQgcXVpdHRlclxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBiYWQgcGFnZXM6ICVsdSIKK21zZ3N0ciAidHJvcCBkZSBwYWdlcyBjb3Jyb21wdWVzwqA6ICVsdSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxOTUKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgIsOpY2hlYyBkZSBwb3NpdGlvbm5lbWVudCBkYW5zIGNoZWNrX2Jsb2NrcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJhZCBwYWdlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBiYWQgcGFnZXNcbiIKK21zZ3N0clswXSAiJWx1IHBhZ2UgY29ycm9tcHVlXG4iCittc2dzdHJbMV0gIiVsdSBwYWdlcyBjb3Jyb21wdWVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjI4Cittc2dpZCAidW5hYmxlIHRvIGFsbG9jIG5ldyBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FsbG91ZXIgdW5lIG5vdXZlbGxlIHNvbmRlIGxpYmJsa2lkIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIzMAorbXNnaWQgInVuYWJsZSB0byBhc3NpZ24gZGV2aWNlIHRvIGxpYmJsa2lkIHByb2JlIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnYXNzaWduZXIgdW4gcMOpcmlwaMOpcmlxdWUgw6AgbGEgc29uZGUgbGliYmxraWQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNoZWNraW5nIGJhZCBibG9ja3MgZnJvbSBzd2FwIGZpbGUgaXMgbm90IHN1cHBvcnRlZDogJXMiCittc2dzdHIgImF2ZXJ0aXNzZW1lbnTCoDogbGEgdsOpcmlmaWNhdGlvbiBkZXMgYmxvY3MgZMOpZmVjdHVldXggZHUgZmljaGllciBk4oCZZXNwYWNlIGTigJnDqWNoYW5nZSBu4oCZZXN0IHBhcyBwcmlzZSBlbiBjaGFyZ2XCoDogJXMiCisKKyMgZGlzay11dGlscy9ta3N3YXAuYzo2MTIKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjYxIGRpc2stdXRpbHMvbWtzd2FwLmM6Mjg3IGRpc2stdXRpbHMvbWtzd2FwLmM6MzM0Cittc2dpZCAidW5hYmxlIHRvIHJld2luZCBzd2FwLWRldmljZSIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSByw6lpbml0aWFsaXNlciBsYSB6b25lIGQnw6ljaGFuZ2UiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjkwCittc2dpZCAidW5hYmxlIHRvIGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgImltcG9zc2libGUgZCdlZmZhY2VyIGxlIHNlY3RldXIgZCdhbW9yw6dhZ2UiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiB3aXBpbmcgb2xkICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIiVzwqA6IGF2ZXJ0aXNzZW1lbnTCoDogZWZmYWNlbWVudCBkZSBsJ2FuY2llbm5lIHNpZ25hdHVyZSAlcy4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiBkb24ndCBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICIlc8KgOiBhdmVydGlzc2VtZW50wqA6IG4nZWZmYWNleiBwYXMgbGVzIHNlY3RldXJzIGRlIGTDqW1hcnJhZ2UiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKCVzIHBhcnRpdGlvbiB0YWJsZSBkZXRlY3RlZCkuICIKK21zZ3N0ciAiICAgICAgICAoJXMgdGFibGUgZGUgcGFydGl0aW9ucyBkw6l0ZWN0w6llKS4gIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgIChjb21waWxlZCB3aXRob3V0IGxpYmJsa2lkKS4gIgorbXNnc3RyICIgICAgICAgIChjb21waWzDqSBzYW5zIGxpYmJsa2lkKS4gIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICJVc2UgLWYgdG8gZm9yY2UuXG4iCittc2dzdHIgIlV0aWxpc2V6IC1mIHBvdXIgZm9yY2VyLlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHNpZ25hdHVyZSBwYWdlIgorbXNnc3RyICIlc8KgOiBpbXBvc3NpYmxlIGQnw6ljcmlyZSBsYSBwYWdlIGRlIHNpZ25hdHVyZSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODAKK21zZ2lkICJwYXJzaW5nIHBhZ2Ugc2l6ZSBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZGUgbGEgdGFpbGxlIGRlIHBhZ2UiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg2Cittc2dpZCAicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZHUgbnVtw6lybyBkZSB2ZXJzaW9uIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwc3BhY2UgdmVyc2lvbiAlZCBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJ2ZXJzaW9uwqAlZCBkJ2VzcGFjZSBkJ8OpY2hhbmdlIChzd2FwKSBub24gcHJpc2UgZW4gY2hhcmdlIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBpZ25vcmluZyAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkIGJ5ICVzKSIKK21zZ3N0ciAiYXZlcnRpc3NlbWVudMKgOiBvcHRpb24gLVUgaWdub3LDqWUgKGxlcyBVVUlEIG5lIHNvbnQgcGFzIHByaXMgZW4gY2hhcmdlIHBhciAlcykiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDE0Cittc2dpZCAib25seSBvbmUgZGV2aWNlIGFyZ3VtZW50IGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQiCittc2dzdHIgInVuIHNldWwgYXJndW1lbnQgZGUgcMOpcmlwaMOpcmlxdWUgZXN0IGFjdHVlbGxlbWVudCBwZXJtaXMuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQyMQorbXNnaWQgImVycm9yOiBwYXJzaW5nIFVVSUQgZmFpbGVkIgorbXNnc3RyICJlcnJldXLCoDogw6ljaGVjIGQnYW5hbHlzZSBkZSBsJ1VVSUQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDMwCittc2dpZCAiZXJyb3I6IE5vd2hlcmUgdG8gc2V0IHVwIHN3YXAgb24/IgorbXNnc3RyICJlcnJldXLCoDogYXVjdW4gZW5kcm9pdCBwb3VyIGTDqWZpbmlyIHVuZSB6b25lIGQnw6ljaGFuZ2UuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzNgorbXNnaWQgImludmFsaWQgYmxvY2sgY291bnQgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50IGRlIG5vbWJyZSBkZSBibG9jcyBpbmNvcnJlY3QiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzaXplICVsbHUgS2lCIGlzIGxhcmdlciB0aGFuIGRldmljZSBzaXplICU8UFJJdTY0PiBLaUIiCittc2dzdHIgImVycmV1csKgOiB0YWlsbGUgJWxsdcKgS2lvIHN1cMOpcmlldXJlIMOgIGxhIHRhaWxsZSBkdSBww6lyaXBow6lyaXF1ZSAlPFBSSXU2ND7CoEtpbyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHN3YXAgYXJlYSBuZWVkcyB0byBiZSBhdCBsZWFzdCAlbGQgS2lCIgorbXNnc3RyICJlcnJldXLCoDogbGEgem9uZSBkJ8OpY2hhbmdlIChzd2FwKSBkb2l0IMOqdHJlIGQnYXUgbW9pbnMgJWxkwqBLaW8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHRydW5jYXRpbmcgc3dhcCBhcmVhIHRvICVsbHUgS2lCIgorbXNnc3RyICJhdmVydGlzc2VtZW50wqA6IHpvbmUgZCfDqWNoYW5nZSAoc3dhcCkgdHJvbnF1w6llIMOgICVsbHXCoEtpbyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2Ugc3dhcHNwYWNlIgorbXNnc3RyICJlcnJldXLCoDogJXMgZXN0IG1vbnTDqcKgOyBpbXBvc3NpYmxlIGRlIGNyw6llciB1bmUgem9uZSBkJ8OpY2hhbmdlIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ2OCBzeXMtdXRpbHMvc3dhcG9uLmM6NTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBwZXJtaXNzaW9ucyAlMDRvLCAlMDRvIHN1Z2dlc3RlZC4iCittc2dzdHIgIiVzwqA6IGRyb2l0cyAlMDRvIG5vbiBzw7tycywgJTA0byBjb25zZWlsbMOpZXMuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ3MiBzeXMtdXRpbHMvc3dhcG9uLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBmaWxlIG93bmVyICVkLCAwIChyb290KSBzdWdnZXN0ZWQuIgorbXNnc3RyICIlc8KgOiBwcm9wcmnDqXRhaXJlwqAlZCBkZSBmaWNoaWVyIG5vbiBzw7tyLCAwIChzdXBlcnV0aWxpc2F0ZXVyKSBjb25zZWlsbMOpLiIKKworIyBkaXNrLXV0aWxzL21rc3dhcC5jOjYwNQorIzogZGlzay11dGlscy9ta3N3YXAuYzo0ODcKK21zZ2lkICJVbmFibGUgdG8gc2V0IHVwIHN3YXAtc3BhY2U6IHVucmVhZGFibGUiCittc2dzdHIgIkltcG9zc2libGUgZCdpbml0aWFsaXNlciBsJ2VzcGFjZSBkJ8OpY2hhbmdlwqA6IGlsbGlzaWJsZSIKKworIyBkaXNrLXV0aWxzL21rc3dhcC5jOjYwNgorIzogZGlzay11dGlscy9ta3N3YXAuYzo0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyB1cCBzd2Fwc3BhY2UgdmVyc2lvbiAlZCwgc2l6ZSA9ICVzICglPFBSSXU2ND4gYnl0ZXMpXG4iCittc2dzdHIgIkNvbmZpZ3VyZSBsJ2VzcGFjZSBkJ8OpY2hhbmdlIChzd2FwKSBlbiB2ZXJzaW9uwqAlZCwgdGFpbGxlID0gJXMgKCU8UFJJdTY0PsKgb2N0ZXRzKVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIG9idGFpbiBzZWxpbnV4IGZpbGUgbGFiZWwiCittc2dzdHIgIiVzwqA6IGltcG9zc2libGUgZCdvYnRlbmlyIGwnw6l0aXF1ZXR0ZSBkdSBmaWNoaWVyIFNFTGludXgiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE1Cittc2dpZCAidW5hYmxlIHRvIG1hdGNocGF0aGNvbigpIgorbXNnc3RyICJtYXRjaHBhdGhjb24oKSBpbnV0aWxpc2FibGUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE4Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBuZXcgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciB1biBub3V2ZWF1IGNvbnRleHRlIFNFTGludXgiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTIwCittc2dpZCAiY291bGRuJ3QgY29tcHV0ZSBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgImltcG9zc2libGUgZCfDqXZhbHVlciBsZSBjb250ZXh0ZSBTRUxpbnV4IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVsYWJlbCAlcyB0byAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpdGlxdWV0ZXIgJXMgZW4gJXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NgorbXNnaWQgInBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIm51bcOpcm8gZGUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODcKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgImTDqWJ1dCBkZSBsYSBwYXJ0aXRpb24gZW4gc2VjdGV1ciIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg4Cittc2dpZCAiZW5kIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIKK21zZ3N0ciAiZmluIGRlIGxhIHBhcnRpdGlvbiBlbiBzZWN0ZXVyIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODkKK21zZ2lkICJudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAibm9tYnJlIGRlIHNlY3RldXJzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTAKK21zZ2lkICJodW1hbiByZWFkYWJsZSBzaXplIgorbXNnc3RyICJ0YWlsbGUgbGlzaWJsZSBwYXIgbCd1dGlsaXNhdGV1ciIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkxCittc2dpZCAicGFydGl0aW9uIG5hbWUiCittc2dzdHIgIm5vbSBkZSBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDggbWlzYy11dGlscy9sc2Jsay5jOjE2OAorbXNnaWQgInBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJVVUlEIGRlIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkzCittc2dpZCAicGFydGl0aW9uIHRhYmxlIHR5cGUgKGRvcywgZ3B0LCAuLi4pIgorbXNnc3RyICJ0eXBlIGRlIGxhIHRhYmxlIGRlIHBhcnRpdGlvbnMgKGRvcywgZ3B0LMKgZXRjLikiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY5Cittc2dpZCAicGFydGl0aW9uIGZsYWdzIgorbXNnc3RyICJpbmRpY2F0ZXVycyBkZSBsYSBwYXJ0aXRpb27CoCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1Cittc2dpZCAicGFydGl0aW9uIHR5cGUgKGEgc3RyaW5nLCBhIFVVSUQsIG9yIGhleCkiCittc2dzdHIgInR5cGUgZGUgcGFydGl0aW9uICh1bmUgY2hhw65uZSwgdW4gVVVJRCBvdSB1biBpZGVudGlmaWFudCBoZXhhZMOpY2ltYWwpIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTE0IHN5cy11dGlscy9sb3NldHVwLmM6NTA4IHN5cy11dGlscy9sb3NldHVwLmM6NjE2Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGN4dCIKK21zZ3N0ciAiw6ljaGVjIGQnaW5pdGlhbGlzYXRpb24gZGUgbG9vcGN4dCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlc8KgOiBpbXBvc3NpYmxlIGRlIHRyb3V2ZXIgdW4gcMOpcmlwaMOpcmlxdWUgYm91Y2xlIG5vbiB1dGlsaXPDqSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyMgorIywgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gdXNlICclcycgZm9yIHRoZSBsb29wIGRldmljZVxuIgorbXNnc3RyICJUZW50YXRpdmUgZCd1dGlsaXNlciDCq8KgJXPCoMK7IGNvbW1lIHDDqXJpcGjDqXJpcXVlIGJvdWNsZVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIGNvbmZpZ3VyYXRpb24gZHUgZmljaGllciBhc3NvY2nDqSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEzMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjU1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB1cCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIGNvbmZpZ3VyYXRpb24gZHUgcMOpcmlwaMOpcmlxdWUgYm91Y2xlIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTYxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzA3IG1pc2MtdXRpbHMvZmluZG1udC5jOjM3NgorIzogbWlzYy11dGlscy9sc2Jsay5jOjM1NCBtaXNjLXV0aWxzL2xzbG9ja3MuYzozNDIgc3lzLXV0aWxzL2xvc2V0dXAuYzoxMDcKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM3MiBzeXMtdXRpbHMvbHNpcGMuYzoyMzIgc3lzLXV0aWxzL2xzbnMuYzoxODkKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjc3IHN5cy11dGlscy9zd2Fwb24uYzoxNDcgc3lzLXV0aWxzL3dkY3RsLmM6MTUxCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjE0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgImNvbG9ubmUgaW5jb25udWXCoDogJXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGQnb2J0ZW50aW9uIGR1IG51bcOpcm8gZGUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjg2IGRpc2stdXRpbHMvcGFydHguYzozMjQgZGlzay11dGlscy9wYXJ0eC5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZpZWQgcmFuZ2UgPCVkOiVkPiBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICJsJ2ludGVydmFsbGUgaW5kaXF1w6kgPCVkOiVkPiBuJ2EgcGFzIGRlIHNlbnMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmFuZ2UgcmVjb3VudDogbWF4IHBhcnRubz0lZCwgbG93ZXI9JWQsIHVwcGVyPSVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIlc8KgOiBlcnJldXIgbG9ycyBkZSBsYSBzdXBwcmVzc2lvbiBkZSBsYSBwYXJ0aXRpb27CoCVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlc8KgOiBlcnJldXIgbG9ycyBkZSBsYSBzdXBwcmVzc2lvbiBkZXMgcGFydGl0aW9uc8KgJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVtb3ZlZFxuIgorbXNnc3RyICIlc8KgOiBwYXJ0aXRpb24gbsK6wqAlZCBzdXBwcmltw6llXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgZG9lc24ndCBleGlzdFxuIgorbXNnc3RyICIlc8KgOiBsYSBwYXJ0aXRpb24gbsK6wqAlZCBuJ2V4aXN0ZSBwYXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGVsZXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBzdXBwcmVzc2lvbiBkZSBsYSBwYXJ0aXRpb24gbsK6wqAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXPCoDogZXJyZXVyIGxvcnMgZGUgbCdham91dCBkZSBsYSBwYXJ0aXRpb27CoCVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXPCoDogZXJyZXVyIGxvcnMgZGUgbCdham91dCBkZXMgcGFydGl0aW9uc8KgJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MDUgZGlzay11dGlscy9wYXJ0eC5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBhZGRlZFxuIgorbXNnc3RyICIlc8KgOiBwYXJ0aXRpb24gbsK6wqAlZCBham91dMOpZVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkJ2Fqb3V0IGRlIGxhIHBhcnRpdGlvbiBuwrrCoCVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzwqA6IGVycmV1ciBkZSBtaXNlIMOgIGpvdXIgZGUgbGEgcGFydGl0aW9uwqAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXPCoDogZXJyZXVyIGRlIG1pc2Ugw6Agam91ciBkZXMgcGFydGl0aW9uc8KgJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiAjJWQiCittc2dzdHIgIiVzwqA6IHBhcyBkZSBwYXJ0aXRpb24gbsK6wqAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZXNpemVkXG4iCittc2dzdHIgIiVzwqA6IHBhcnRpdGlvbiBuwrrCoCVkIHJlZGltZW5zaW9ubsOpZVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1cGRhdGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIG1pc2Ugw6Agam91ciBkZSBsYSBwYXJ0aXRpb24gbsK6wqAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9yLCAlNmp1IE1CKVxuIgorbXNnaWRfcGx1cmFsICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9ycywgJTZqdSBNQilcbiIKK21zZ3N0clswXSAibsK6wqAlMmTCoDogJTlqdS0lOWp1ICglOWp1wqBzZWN0ZXVyLCAlNmp1wqBNbylcbiIKK21zZ3N0clsxXSAibsK6wqAlMmTCoDogJTlqdS0lOWp1ICglOWp1wqBzZWN0ZXVycywgJTZqdcKgTW8pXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1ODEgbWlzYy11dGlscy9maW5kbW50LmM6Njg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjcwNQorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzkxIHN5cy11dGlscy9sc25zLmM6NDU2Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBsaW5lIHRvIG91dHB1dCIKK21zZ3N0ciAiw6ljaGVjIGQnYWpvdXQgZCd1bmUgbGlnbmUgZW4gc29ydGllIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjQ0Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBkYXRhIHRvIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAiw6ljaGVjIGQnYWpvdXQgZGUgZG9ubsOpZXMgYXUgdGFibGVhdSBkZSBzb3J0aWUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NjcgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo5MjIgbWlzYy11dGlscy9maW5kbW50LmM6MTU4NQorIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NzQgbWlzYy11dGlscy9sc2xvY2tzLmM6NDUxIHN5cy11dGlscy9sb3NldHVwLmM6MzEwCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzEzIHN5cy11dGlscy9sc2lwYy5jOjMzOCBzeXMtdXRpbHMvbHNucy5jOjUxMQorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyOTcgc3lzLXV0aWxzL3N3YXBvbi5jOjI4MCBzeXMtdXRpbHMvd2RjdGwuYzoyNTkKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NDg0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICLDqWNoZWMgZCdpbml0aWFsaXNhdGlvbiBkdSB0YWJsZWF1IGRlIHNvcnRpZSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY3OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjExIG1pc2MtdXRpbHMvbHNibGsuYzoxODk2CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NjUgc3lzLXV0aWxzL2xvc2V0dXAuYzozMjIgc3lzLXV0aWxzL2xvc2V0dXAuYzozNTgKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MTggc3lzLXV0aWxzL2xzbnMuYzo1MzIgc3lzLXV0aWxzL3BybGltaXQuYzozMDYKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyODkgc3lzLXV0aWxzL3dkY3RsLmM6MjcwIHN5cy11dGlscy96cmFtY3RsLmM6NDkzCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAiw6ljaGVjIGQnaW5pdGlhbGlzYXRpb24gZGUgbGEgY29sb25uZSBkZSBzb3J0aWUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgZmlsdGVyIGZvciAnJXMnIgorbXNnc3RyICLDqWNoZWMgZCdpbml0aWFsaXNhdGlvbiBkdSBmaWx0cmUgYmxraWQgcG91ciDCq8KgJXPCoMK7IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBsZWN0dXJlIGRlIHRhYmxlIGRlIHBhcnRpdGlvbnMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB0eXBlICclcycgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiJXPCoDogdHlwZSBkZSB0YWJsZSBkZSBwYXJ0aXRpb25zIMKrwqAlc8KgwrsgZMOpdGVjdMOpXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB3aXRoIG5vIHBhcnRpdGlvbnMiCittc2dzdHIgIiVzwqA6IHRhYmxlIGRlIHBhcnRpdGlvbnMgc2FucyBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8cGFydGl0aW9uPl0gPGRpc2s+XG4iCittc2dzdHIgIiAlcyBbLWF8LWR8LXN8LXVdIFstLW5yIDxuOm0+IHwgPHBhcnRpdGlvbj5dIDxkaXNxdWU+XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTYKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIHByZXNlbmNlIGFuZCBudW1iZXJpbmcgb2YgcGFydGl0aW9ucy5cbiIKK21zZ3N0ciAiSW5mb3JtZXIgbGUgbm95YXUgZGUgbGEgcHLDqXNlbmNlIGV0IGRlIGxhIG51bcOpcm90YXRpb24gZGUgcGFydGl0aW9ucy5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1OQorbXNnaWQgIiAtYSwgLS1hZGQgICAgICAgICAgICBhZGQgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIC1hLCAtLWFkZCAgICAgICAgICAgIGFqb3V0ZXIgbGVzIHBhcnRpdGlvbnMgaW5kaXF1w6llcyBvdSB0b3V0ZXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MAorbXNnaWQgIiAtZCwgLS1kZWxldGUgICAgICAgICBkZWxldGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIHN1cHByaW1lciBsZXMgcGFydGl0aW9ucyBpbmRpcXXDqWVzIG91IHRvdXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYxCittc2dpZCAiIC11LCAtLXVwZGF0ZSAgICAgICAgIHVwZGF0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLXUsIC0tdXBkYXRlICAgICAgICAgbWV0dHJlIMOgIGpvdXIgbGVzIHBhcnRpdGlvbnMgaW5kaXF1w6llcyBvdSB0b3V0ZXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MgorbXNnaWQgIiIKKyIgLXMsIC0tc2hvdyAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zXG4iCisiXG4iCittc2dzdHIgIiIKKyIgLXMsIC0tc2hvdyAgICAgICAgICAgYWZmaWNoZXIgbGEgbGlzdGUgZGVzIHBhcnRpdGlvbnNcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MyBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyMworbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAgICAgYWZmaWNoZXIgbGEgVEFJTExFIGVuIG9jdGV0IHBsdXTDtHQgcXUnZW4gZm9ybWF0IGxpc2libGVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NAorbXNnaWQgIiAtZywgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1zaG93XG4iCittc2dzdHIgIiAtZywgLS1ub2hlYWRpbmdzICAgICBuZSBwYXMgYWZmaWNoZXIgbGVzIGVuLXTDqnRlcyBwb3VyIC0tc2hvd1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY1Cittc2dpZCAiIC1uLCAtLW5yIDxuOm0+ICAgICAgIHNwZWNpZnkgdGhlIHJhbmdlIG9mIHBhcnRpdGlvbnMgKGUuZy4gLS1uciAyOjQpXG4iCittc2dzdHIgIiAtbiwgLS1uciA8bTpuPiAgICAgICBpbmRpcXVlciBsJ2ludGVydmFsbGUgZGUgcGFydGl0aW9ucyAocGFyIGV4ZW1wbGUgLS1uciAyOjQpXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjYKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0ZT4gZMOpZmluaXIgbGVzIGNvbG9ubmVzIGRlIHNvcnRpZSDDoCB1dGlsaXNlclxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY3IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM3Cittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1QLCAtLXBhaXJzICAgICAgICAgIHV0aWxpc2VyIGxlIGZvcm1hdCBkZSBzb3J0aWUgY2xlZj1cInZhbGV1clwiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjggbWlzYy11dGlscy9sc2Jsay5jOjE2MzgKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICB1dGlsaXNlciBsZSBmb3JtYXQgZGUgc29ydGllIGJydXRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICBzcGVjaWZ5IHRoZSBwYXJ0aXRpb24gdHlwZSAoZG9zLCBic2QsIHNvbGFyaXMsIGV0Yy4pXG4iCittc2dzdHIgIiAtdCwgLS10eXBlIDx0eXBlPiAgICBpbmRpcXVlciBsZSB0eXBlIGRlIHBhcnRpdGlvbiAoZG9zLCBic2QsIHNvbGFyaXMswqBldGMuKVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzcwIHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgIG1vZGUgYmF2YXJkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzYKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3csIC0tcmF3IG9yIC0tcGFpcnMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiQ29sb25uZXMgZGlzcG9uaWJsZXMgKHBvdXIgLS1zaG93LCAtLXJhdyBvdSAtLXBhaXJzKcKgOlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODQ5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tbnIgPE0tTj4gcmFuZ2UiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZGUgbCdpbnRlcnZhbGxlIC0tbnIgPE0tTj4gIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTI0Cittc2dpZCAicGFydGl0aW9uIGFuZCBkaXNrIG5hbWUgZG8gbm90IG1hdGNoIgorbXNnc3RyICJMZSBub20gZGUgbGEgcGFydGl0aW9uIGV0IGR1IGRpc3F1ZSBuZSBjb3JyZXNwb25kZW50IHBhcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1MgorbXNnaWQgIi0tbnIgYW5kIDxwYXJ0aXRpb24+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgImxlcyBvcHRpb25zIC0tbnIgZXQgPHBhcnRpdGlvbj4gcydleGNsdWVudCBtdXR1ZWxsZW1lbnQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFydGl0aW9uOiAlcywgZGlzazogJXMsIGxvd2VyOiAlZCwgdXBwZXI6ICVkXG4iCittc2dzdHIgInBhcnRpdGlvbsKgOiAlcywgZGlzcXVlwqA6ICVzLCBwcmVtacOocmXCoDogJWQsIGRlcm5pw6hyZcKgOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlIHBhcnRpdGlvbnMiCittc2dzdHIgIiVzwqA6IGltcG9zc2libGUgZGUgc3VwcHJpbWVyIGxlcyBwYXJ0aXRpb25zIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb25lZCBsb29wIGRldmljZXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiVzwqA6IHDDqXJpcGjDqXJpcXVlcyBib3VjbGUgcGFydGl0aW9ubsOpcyBub24gcHJpcyBlbiBjaGFyZ2UiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBibGtpZCBwcm9iZXIiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkJ2luaXRpYWxpc2F0aW9uIGRlIHNvbmRlIGJsa2lkIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyAlMiRzcmF3TiA8bWFqb3I+IDxtaW5vcj5cbiIKKyIgJTEkcyAlMiRzcmF3TiAvZGV2LzxibG9ja2RldmljZT5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorbXNnc3RyICIiCisiICAlMSRzICUyJHNyYXdOIDxtYWpldXI+IDxtaW5ldXI+XG4iCisiICAlMSRzICUyJHNyYXdOIC9kZXYvPHDDqXJpcGjDqXJpcXVlX2Jsb2M+XG4iCisiICAlMSRzIC1xICUyJHNyYXdOXG4iCisiICAlMSRzIC1xYVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjU4Cittc2dpZCAiQmluZCBhIHJhdyBjaGFyYWN0ZXIgZGV2aWNlIHRvIGEgYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICJBdHRhY2hlciB1biBww6lyaXBow6lyaXF1ZSBjYXJhY3TDqHJlIGJydXQgw6AgdW4gcMOpcmlwaMOpcmlxdWUgYmxvYy5cbiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MQorbXNnaWQgIiAtcSwgLS1xdWVyeSAgICBzZXQgcXVlcnkgbW9kZVxuIgorbXNnc3RyICIgLXEsIC0tcXVlcnkgICAgZMOpZmluaXIgZW4gbW9kZSBkZW1hbmRlXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjIKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgcXVlcnkgYWxsIHJhdyBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICBkZW1hbmRlciB0b3VzIGxlcyBww6lyaXBow6lyaXF1ZXMgYmxvY1xuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyB0aGUgY29udHJvbCByYXcgZGV2aWNlICh1c2UgcmF3PE4+IHdoZXJlIDxOPiBpcyBncmVhdGVyIHRoYW4gemVybykiCittc2dzdHIgIkxlIHDDqXJpcGjDqXJpcXVlIMKrwqAlc8KgwrsgZXN0IGxlIHDDqXJpcGjDqXJpcXVlIGRlIGNvbnRyw7RsZSBicnV0ICh1dGlsaXNlciByYXc8Tj4gb8O5IDxOPiBlc3QgcGx1cyBncmFuZCBxdWUgesOpcm8pIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4MQorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIGJsb2NrIGRldmljZSAnJXMnIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIGxvY2FsaXNlciBsZSBww6lyaXBow6lyaXF1ZSBibG9jIMKrwqAlc8KgwrsiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiwqvCoCVzwqDCuyBuJ2VzdCBwYXMgdW4gcMOpcmlwaMOpcmlxdWUgYmxvYyIKKworIzogZGlzay11dGlscy9yYXcuYzoxOTMgZGlzay11dGlscy9yYXcuYzoxOTYgc3lzLXV0aWxzL2lwY3JtLmM6MzUxCisjOiBzeXMtdXRpbHMvaXBjcm0uYzozNjQgc3lzLXV0aWxzL2lwY3JtLmM6Mzc3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGFyZ3VtZW50IgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIGwnYXJndW1lbnQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuIG1hc3RlciByYXcgZGV2aWNlICclcyciCittc2dzdHIgIkltcG9zc2libGUgZCdvdXZyaXIgbGUgcMOpcmlwaMOpcmlxdWUgYnJ1dCBtYcOudHJlIMKrwqAlc8KgwrsiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIGxvY2FsaXNlciBsZSBww6lyaXBow6lyaXF1ZSBicnV0IMKrwqAlc8KgwrsiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJhdyBkZXZpY2UgJyVzJyBpcyBub3QgYSBjaGFyYWN0ZXIgZGV2IgorbXNnc3RyICJMZSBww6lyaXBow6lyaXF1ZSBicnV0IMKrwqAlc8Kgwrsgbidlc3QgcGFzIHVuIHDDqXJpcGjDqXJpcXVlIGNhcmFjdMOocmUiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIHJhdyBkZXYiCittc2dzdHIgIsKrwqAlc8Kgwrsgbidlc3QgcGFzIHVuIHDDqXJpcGjDqXJpcXVlIGJydXQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjQ1Cittc2dpZCAiRXJyb3IgcXVlcnlpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAiRXJyZXVyIGQnaW50ZXJyb2dhdGlvbiBkdSBww6lyaXBow6lyaXF1ZSBicnV0IgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI1NCBkaXNrLXV0aWxzL3Jhdy5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlc3JhdyVkOiAgYm91bmQgdG8gbWFqb3IgJWQsIG1pbm9yICVkXG4iCittc2dzdHIgIiVzcmF3JWTCoDogYXNzb2Npw6kgYXUgbnVtw6lybyBtYWpldXLCoCVkLCBudW3DqXJvIG1pbmV1csKgJWRcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNjgKK21zZ2lkICJFcnJvciBzZXR0aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIkVycmV1ciBkZSBjb25maWd1cmF0aW9uIGR1IHDDqXJpcGjDqXJpcXVlIGJydXQiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8bGVuZ3RoPlxuIgorbXNnc3RyICIgJXMgPHDDqXJpcGjDqXJpcXVlIGRpc3F1ZT4gPG51bcOpcm8gZGUgcGFydGl0aW9uPiA8bG9uZ3VldXI+XG4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjIzCittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBuZXcgc2l6ZSBvZiBhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiSW5mb3JtZXIgbGUgbm95YXUgZGUgbGEgbm91dmVsbGUgdGFpbGxlIGTigJl1bmUgcGFydGl0aW9uLlxuIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBudW1iZXIgJXMiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkJ29idGVudGlvbiBkdSBkw6lidXQgZGUgbGEgcGFydGl0aW9uIG51bcOpcm/CoCVzIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDkKK21zZ2lkICJmYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiIKK21zZ3N0ciAiw6ljaGVjIGRlIHJlZGltZW5zaW9ubmVtZW50IGRlIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMzEKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbmVzdGVkIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgIsOpY2hlYyBkJ2FsbG9jYXRpb24gZHUgY29udGV4dGUgbGliZmRpc2sgaW1icmlxdcOpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2VlayAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBzZSBwb3NpdGlvbm5lciAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDIgbGliZmRpc2svc3JjL2JzZC5jOjcyMyBsaWJmZGlzay9zcmMvYnNkLmM6ODk0CisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE2MyBzeXMtdXRpbHMvaHdjbG9jay5jOjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgJXMiCittc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlMTJzIChvZmZzZXQgJTVqdSwgc2l6ZSAlNWp1KTogJXMiCittc2dzdHIgIiUxMnMgKGluZGV4wqAlNWp1LCB0YWlsbGXCoCU1anUpwqA6ICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIGNyw6lhdGlvbiBk4oCZdW5lIHNhdXZlZ2FyZGUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzI4Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCBmaWxlLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgIsOpY2hlYyBkZSBjcsOpYXRpb24gZOKAmXVuIGZpY2hpZXIgZGUgc2F1dmVnYXJkZSBkZSBzaWduYXR1cmUsICRIT01FIG5vbiBkw6lmaW5pZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozNTQKK21zZ2lkICJCYWNrdXAgZmlsZXM6IgorbXNnc3RyICJGaWNoaWVycyBkZSBzYXV2ZWdhcmRlwqA6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM3OQorbXNnaWQgImZhaWxlZCB0byByZWFkIG5ldyBwYXJ0aXRpb24gZnJvbSBkZXZpY2U7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIsOpY2hlYyBkJ29idGVudGlvbiBkdSBkw6lidXQgZGUgbGEgcGFydGl0aW9uIG51bcOpcm/CoCVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiw6ljaGVjIGQnb2J0ZW50aW9uIGR1IGTDqWJ1dCBkZSBsYSBwYXJ0aXRpb24gbnVtw6lyb8KgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIsOpY2hlYyBkJ29idGVudGlvbiBkdSBkw6lidXQgZGUgbGEgcGFydGl0aW9uIG51bcOpcm/CoCVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiw6ljaGVjIGQnb2J0ZW50aW9uIGR1IGTDqWJ1dCBkZSBsYSBwYXJ0aXRpb24gbnVtw6lyb8KgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg5Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBoYXMgbm90IGJlZW4gbW92ZWQ7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkxCittc2dpZCAibmV3IHBhcnRpdGlvbiBpcyBzbWFsbGVyIHRoYW4gb3JpZ2luYWw7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQxCittc2dpZCAiRGF0YSBtb3ZlOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIHR5cGVzY3JpcHQgZmlsZTogJXMiCittc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgbGUgZmljaGllciBkZSBzY3JpcHQgZW5yZWdpc3Ryw6kgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiBvbGQgc3RhcnQ6ICVqdSwgbmV3IHN0YXJ0OiAlanUgKG1vdmUgJWp1IHNlY3RvcnMpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTEKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gbW92ZSBwYXJ0aXRpb24gZGF0YT8iCittc2dzdHIgIlZvdWxlei12b3VzIMOpY3JpcmUgY2VsYSBzdXIgbGUgZGlzcXVlwqA/IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1MyBkaXNrLXV0aWxzL3NmZGlzay5jOjE3ODMKK21zZ2lkICJMZWF2aW5nLiIKK21zZ3N0ciAiU29ydGllLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1MjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gbW92ZSBkYXRhIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZCdvdXZlcnR1cmUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQxCittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBpcyB1bmNoYW5nZWQgKC0tbm8tYWN0KS4iCittc2dzdHIgIkxhIHRhYmxlIGRlIHBhcnRpdGlvbnMgbuKAmWVzdCBwYXMgbW9kaWZpw6llICgtLW5vLWFjdCkuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0NworbXNnaWQgIiIKKyJcbiIKKyJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICIiCisiXG4iCisiTGEgdGFibGUgZGUgcGFydGl0aW9ucyBhIMOpdMOpIGFsdMOpcsOpZS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjIzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGxhYmVsICclcyciCittc2dzdHIgIsOpdGlxdWV0dGUgbm9uIHByaXNlIGVuIGNoYXJnZSDCq8KgJXPCoMK7IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYyNgorbXNnaWQgIiIKKyJJZCAgTmFtZVxuIgorIlxuIgorbXNnc3RyICIiCisiSWQgIE5vbVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjY1NgorbXNnaWQgInVucmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUgdHlwZSIKK21zZ3N0ciAidHlwZSBkZSB0YWJsZSBkZSBwYXJ0aXRpb25zIG5vbiByZWNvbm51IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjcwOQorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgIkltcG9zc2libGUgZCdvYnRlbmlyIGxhIHRhaWxsZSBkZSAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidG90YWw6ICVqdSBibG9ja3NcbiIKK21zZ3N0ciAidG90YWzCoDogJWp1wqBibG9jc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgwOCBkaXNrLXV0aWxzL3NmZGlzay5jOjg3NiBkaXNrLXV0aWxzL3NmZGlzay5jOjkxNworIzogZGlzay11dGlscy9zZmRpc2suYzo5NDcgZGlzay11dGlscy9zZmRpc2suYzoxMDE0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA3OAorIzogZGlzay11dGlscy9zZmRpc2suYzoxMTMzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE4OSBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MzMKK21zZ2lkICJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgImF1Y3VuIHDDqXJpcGjDqXJpcXVlIGRpc3F1ZSBpbmRpcXXDqSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MTkKK21zZ2lkICJ0b2dnbGUgYm9vdCBmbGFncyBpcyBzdXBwb3J0ZWQgZm9yIE1CUiBvbmx5IgorbXNnc3RyICJtb2RpZmllciBsZXMgaW5kaWNhdGV1cnMgZCdhbW9yw6dhZ2UgbuKAmWVzdCBwcmlzIGVuIGNoYXJnZSBxdWUgcG91ciB1biBzZWN0ZXVyIGTigJlhbW9yw6dhZ2UiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODUwIGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxOQorIzogZGlzay11dGlscy9zZmRpc2suYzoxMDgzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzOCBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTQKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUzMSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMTMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiw6ljaGVjIGTigJlhbmFseXNlIGR1IG51bcOpcm8gZGUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICVkOiBmYWlsZWQgdG8gdG9nZ2xlIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiVzwqA6IHBhcnRpdGlvbiAlZMKgOiDDqWNoZWMgZGUgbW9kaWZpY2F0aW9uIGRlIGzigJlpbmRpY2F0ZXVyIGTigJlhbW9yw6dhZ2UiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODkxIGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZGVsZXRlIgorbXNnc3RyICIlc8KgOiBwYXJ0aXRpb27CoCV6dcKgOiDDqWNoZWMgZGUgc3VwcHJlc3Npb24iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJMZSBww6lyaXBow6lyaXF1ZSBuZSBjb250aWVudCBwYXMgZGUgdGFibGUgZGUgcGFydGl0aW9ucyByZWNvbm51ZS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTU4Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGR1bXAgc3RydWN0IgorbXNnc3RyICLDqWNoZWMgZOKAmWFsbG9jYXRpb24gZGUgc3RydWN0dXJlIGRlIHNhdXZlZ2FyZGUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGR1bXAgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICLDqWNoZWMgZGUgc2F1dmVnYXJkZSBkZSB0YWJsZSBkZSBwYXJ0aXRpb25zIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uIHRhYmxlIGZvdW5kIgorbXNnc3RyICIlc8KgOiBhdWN1bmUgdGFibGUgZGUgcGFydGl0aW9ucyB0cm91dsOpZS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXPCoDogcGFydGl0aW9uwqAlenXCoDogbGEgdGFibGUgZGUgcGFydGl0aW9ucyBuZSBjb250aWVudCBxdWUgJXp1wqBwYXJ0aXRpb25zLiIKKworIyBzL3VubnVzZWQvdW51c2VkLworIzogZGlzay11dGlscy9zZmRpc2suYzo5OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiBpcyB1bnVzZWQiCittc2dzdHIgIiVzwqA6IHBhcnRpdGlvbsKgJXp1wqA6IGxhIHBhcnRpdGlvbiBlc3QgaW51dGlsaXPDqWUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxOCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODIgZGlzay11dGlscy9zZmRpc2suYzoxMTM3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTMKK21zZ2lkICJubyBwYXJ0aXRpb24gbnVtYmVyIHNwZWNpZmllZCIKK21zZ3N0ciAiYXVjdW4gbnVtw6lybyBkZSBwYXJ0aXRpb24gaW5kaXF1w6kiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAyNCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODggZGlzay11dGlscy9zZmRpc2suYzoxMTQzCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTkKK21zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50cyIKK21zZ3N0ciAiYXJndW1lbnRzIGluYXR0ZW5kdXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiJXPCoDogcGFydGl0aW9uwqAlenXCoDogw6ljaGVjIGQnb2J0ZW50aW9uIGR1IHR5cGUgZGUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIHBhcnRpdGlvbiB0eXBlICclcyciCittc2dzdHIgIsOpY2hlYyBk4oCZYW5hbHlzZSBkdSB0eXBlIGRlIHBhcnRpdGlvbiAlcyDCq8KgJXPCoMK7IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiVzwqA6IHBhcnRpdGlvbsKgJXp1wqA6IMOpY2hlYyBkZSBkw6lmaW5pdGlvbiBkdSB0eXBlIGRlIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIlc8KgOiBwYXJ0aXRpb27CoCV6dcKgOiDDqWNoZWMgZCdvYnRlbnRpb24gZGUgbOKAmVVVSUQgZGUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMTMgZGlzay11dGlscy9zZmRpc2suYzoxMTY4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIyMgorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gb2JqZWN0IgorbXNnc3RyICLDqWNoZWMgZCdhbGxvY2F0aW9uIGTigJlvYmpldCBkZSBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTExNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiJXPCoDogcGFydGl0aW9uwqAlenXCoDogw6ljaGVjIGRlIGTDqWZpbml0aW9uIGRlIGzigJlVVUlEIGRlIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlc8KgOiBwYXJ0aXRpb27CoCV6dcKgOiDDqWNoZWMgZOKAmW9idGVudGlvbiBkdSBub20gZGUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIiVzwqA6IHBhcnRpdGlvbsKgJXp1wqA6IMOpY2hlYyBkZSBkw6lmaW5pdGlvbiBkdSBub20gZGUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIGF0dHJpYnV0ZXMiCittc2dzdHIgIiVzwqA6IHBhcnRpdGlvbsKgJXp1wqA6IMOpY2hlYyBkZSBkw6lmaW5pdGlvbiBkZXMgYXR0cmlidXRzIGRlIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjY5Cittc2dpZCAiIENvbW1hbmRzOlxuIgorbXNnc3RyICIgQ29tbWFuZGVzwqA6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3MQorbXNnaWQgIiAgIHdyaXRlICAgIHdyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgd3JpdGUgICAgw6ljcmlyZSBsYSB0YWJsZSBzdXIgbGUgZGlzcXVlIGV0IHF1aXR0ZXJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjcyCittc2dpZCAiICAgcXVpdCAgICAgc2hvdyBuZXcgc2l0dWF0aW9uIGFuZCB3YWl0IGZvciB1c2VyJ3MgZmVlZGJhY2sgYmVmb3JlIHdyaXRlXG4iCittc2dzdHIgIiAgIHF1aXQgICAgIG1vbnRyZXIgbGEgbm91dmVsbGUgc2l0dWF0aW9uIGV0IGF0dGVuZHJlIGxlIHJldG91ciBkZSBs4oCZdXRpbGlzYXRldXIgYXZhbnQgZOKAmcOpY3JpcmVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjczCittc2dpZCAiICAgYWJvcnQgICAgZXhpdCBzZmRpc2sgc2hlbGxcbiIKK21zZ3N0ciAiICAgYWJvcnQgICAgcXVpdHRlciBs4oCZaW50ZXJwcsOpdGV1ciBkZSBjb21tYW5kZSBzZmRpc2tcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjc0Cittc2dpZCAiICAgcHJpbnQgICAgZGlzcGxheSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgIHByaW50ICAgIGFmZmljaGVyIGxhIHRhYmxlIGRlIHBhcnRpdGlvbnNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjc1Cittc2dpZCAiICAgaGVscCAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorbXNnc3RyICIgICBoZWxwICAgICBhZmZpY2hlciBjZXR0ZSBhaWRlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3NworbXNnaWQgIiAgIEN0cmwtRCAgIHRoZSBzYW1lIGFzICdxdWl0J1xuIgorbXNnc3RyICIgICBDVFJMLUQgICBpZGVudGlxdWUgw6AgwqvCoHF1aXR0ZXLCoMK7XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MQorbXNnaWQgIiBJbnB1dCBmb3JtYXQ6XG4iCittc2dzdHIgIiBGb3JtYXQgZOKAmWVudHLDqWXCoDpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjgzCittc2dpZCAiICAgPHN0YXJ0PiwgPHNpemU+LCA8dHlwZT4sIDxib290YWJsZT5cbiIKK21zZ3N0ciAiICAgPGTDqWJ1dD4sIDx0YWlsbGU+LCA8dHlwZT4sIDxhbW9yw6dhYmxlPlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODYKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAgIDxzdGFydD4gIEJlZ2lubmluZyBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyB0aGUgZmlyc3QgZnJlZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorIiAgIDxkw6lidXQ+ICBkw6lidXQgZGUgbGEgcGFydGl0aW9uIGVuIHNlY3RldXIgb3Ugb2N0ZXQgc2kgaW5kaXF1w6llIHNvdXNcbiIKKyIgICAgICAgICAgICBsYSBmb3JtZSA8bm9tYnJlPntLLE0sRyxULFAsRSxaLFl9LiBMZSBwcmVtaWVyIGVzcGFjZSBsaWJyZVxuIgorIiAgICAgICAgICAgIHBhciBkw6lmYXV0LlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTEKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAgIDxzaXplPiAgIFNpemUgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgYWxsIGF2YWlsYWJsZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorIiAgIDx0YWlsbGU+IHRhaWxsZSBkZSBsYSBwYXJ0aXRpb24gZW4gc2VjdGV1csKgOyBzaSBpbmRpcXXDqWUgc291cyBsYVxuIgorIiAgICAgICAgICAgIGZvcm1lIDxub21icmU+e0ssTSxHLFQsUCxFLFosWX0sIGPigJllc3QgaW50ZXJwcsOpdMOpIGNvbW1lXG4iCisiICAgICAgICAgICAgdW5lIHRhaWxsZSBlbiBvY3RldC4gVG91dCBs4oCZZXNwYWNlIGRpc3BvbmlibGUgcGFyIGTDqWZhdXQuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NgorIywgZnV6enkKK21zZ2lkICIgICA8dHlwZT4gICBUaGUgcGFydGl0aW9uIHR5cGUuICBEZWZhdWx0IGlzIGEgTGludXggZGF0YSBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiAgIDx0eXBlPiAgIHR5cGUgZGUgcGFydGl0aW9uLiBQYXJ0aXRpb24gZGUgZG9ubsOpZXMgTGludXggcGFyIGTDqWZhdXQuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NworbXNnaWQgIiAgICAgICAgICAgIE1CUjogaGV4IG9yIEwsUyxFLFggc2hvcnRjdXRzLlxuIgorbXNnc3RyICIgICAgICAgICAgICBTZWN0ZXVyIGTigJlhbW9yw6dhZ2XCoDogaGV4YWTDqWNpbWFsIG91IHJhY2NvdXJjaXMgTCxTLEUsWC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk4Cittc2dpZCAiICAgICAgICAgICAgR1BUOiBVVUlEIG9yIEwsUyxIIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiICAgICAgICAgICAgR1BUwqA6IFVVSUQgb3UgcmFjY291cmNpcyBMLFMsSC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzAxCittc2dpZCAiICAgPGJvb3RhYmxlPiAgVXNlICcqJyB0byBtYXJrIGFuIE1CUiBwYXJ0aXRpb24gYXMgYm9vdGFibGUuXG4iCittc2dzdHIgIiAgIDxhbW9yw6dhYmxlPiAgVXRpbGlzZXIgwqvCoCrCoMK7IHBvdXIgbWFycXVlciBsZSBNQlIgY29tbWUgYW1vcsOnYWJsZS4gXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNQorbXNnaWQgIiBFeGFtcGxlOlxuIgorbXNnc3RyICIgRXhlbXBsZcKgOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDcKK21zZ2lkICIgICAsIDRHICAgICBDcmVhdGVzIGEgNEdpQiBwYXJ0aXRpb24gYXQgZGVmYXVsdCBzdGFydCBvZmZzZXQuXG4iCittc2dzdHIgIiAgICwgNEcgICAgIGNyw6llIHVuZSBwYXJ0aXRpb24gZGUgNMKgR2lvIMOgIGzigJlpbmRleCBkZSBkw6lidXQgcGFyIGTDqWZhdXQuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMzOSBzeXMtdXRpbHMvZG1lc2cuYzoxNDU1Cittc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAiY29tbWFuZGUgbm9uIHByaXNlIGVuIGNoYXJnZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzQxCisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQ6IHVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgImxpZ25lwqAlZMKgOiBjb21tYW5kZSBub24gcHJpc2UgZW4gY2hhcmdlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MDAKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIsOpY2hlYyBkJ2FsbG9jYXRpb24gZGUgbm9tIGRlIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTQxCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICLDqWNoZWMgZCdhbGxvY2F0aW9uIGR1IHRyYWl0ZW1lbnQgZGUgc2NyaXB0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBubyBwYXJ0aXRpb24gdGFibGUgd2FzIGZvdW5kIgorbXNnc3RyICIlc8KgOiBpbXBvc3NpYmxlIGRlIG1vZGlmaWVyIGxhIHBhcnRpdGlvbiAlZMKgOiBhdWN1bmUgdGFibGUgZGUgcGFydGl0aW9ucyBu4oCZYSDDqXTDqSB0cm91dsOpZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogcGFydGl0aW9uIHRhYmxlIGNvbnRhaW5zIG9ubHkgJXp1IHBhcnRpdGlvbnMiCittc2dzdHIgIiVzwqA6IGltcG9zc2libGUgZGUgbW9kaWZpZXIgbGEgcGFydGl0aW9uICVkwqA6IGxhIHRhYmxlIGRlIHBhcnRpdGlvbnMgbmUgY29udGllbnQgcXVlICV6dcKgcGFydGl0aW9ucyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzOiBwYXJ0aXRpb24gJWQgaXMgbm90IGRlZmluZWQgeWV0IgorbXNnc3RyICJBdHRlbnRpb24gOiAlcyA6IGxhIHBhcnRpdGlvbiAlZCBu4oCZZXN0IHBhcyBlbmNvcmUgZMOpZmluaWUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiV2VsY29tZSB0byBzZmRpc2sgKCVzKS4iCittc2dzdHIgIiIKKyJcbiIKKyJCaWVudmVudWUgZGFucyBzZmRpc2sgKCVzKS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NAorbXNnaWQgIkNoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIgorbXNnc3RyICJWw6lyaWZpY2F0aW9uIHF1J2F1Y3VuIGF1dHJlIG4ndXRpbGlzZSBsZSBkaXNxdWUgZW4gY2UgbW9tZW50IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTcKK21zZ2lkICIiCisiIEZBSUxFRFxuIgorIlxuIgorbXNnc3RyICIiCisiIMOJY2hlY1xuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MDAKK21zZ2lkICIiCisiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UgLSByZXBhcnRpdGlvbmluZyBpcyBwcm9iYWJseSBhIGJhZCBpZGVhLlxuIgorIlVtb3VudCBhbGwgZmlsZSBzeXN0ZW1zLCBhbmQgc3dhcG9mZiBhbGwgc3dhcCBwYXJ0aXRpb25zIG9uIHRoaXMgZGlzay5cbiIKKyJVc2UgdGhlIC0tbm8tcmVyZWFkIGZsYWcgdG8gc3VwcHJlc3MgdGhpcyBjaGVjay5cbiIKK21zZ3N0ciAiIgorIkxlIGRpc3F1ZSBlc3QgYWN0dWVsbGVtZW50IHV0aWxpc8OpIOKAlCBsZSByZXBhcnRpdGlvbm5lciBlc3RcbiIKKyJwcm9iYWJsZW1lbnQgdW5lIG1hdXZhaXNlIGlkw6llLlxuIgorIkTDqW1vbnRleiB0b3VzIGxlcyBzeXN0w6htZXMgZGUgZmljaGllcnMsIGV0IGTDqXNhY3RpdmV6IChhdmVjXG4iCisic3dhcG9mZikgdG91dGVzIGxlcyBwYXJ0aXRpb24gZCfDqWNoYW5nZSBkZSBjZSBkaXNxdWUuXG4iCisiVXRpbGlzZXogbCdvcHRpb24gLS1uby1yZXJlYWQgcG91ciBzdXBwcmltZXIgY2V0dGUgdsOpcmlmaWNhdGlvbi5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjA1Cittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIGZsYWcgdG8gb3ZlcnJ1bGUgYWxsIGNoZWNrcy4iCittc2dzdHIgIlV0aWxpc2V6IGwnb3B0aW9uIC0tZm9yY2UgcG91ciBhbm51bGVyIHRvdXRlcyBsZXMgdsOpcmlmaWNhdGlvbnMuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MDcKK21zZ2lkICIiCisiIE9LXG4iCisiXG4iCittc2dzdHIgIiIKKyIgT0tcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjM2Cittc2dpZCAiIgorIlxuIgorIk9sZCBzaXR1YXRpb246IgorbXNnc3RyICIiCisiXG4iCisiU2l0dWF0aW9uIHByw6ljw6lkZW50ZcKgOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKyJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIgorbXNnc3RyICIiCisiXG4iCisic2ZkaXNrIHZhIGNyw6llciB1bmUgbm91dmVsbGUgw6l0aXF1ZXR0ZSBkZSBkaXNxdWUgwqvCoCVzwqDCuy5cbiIKKyJVdGlsaXNleiDCq8KgbGFiZWw6IDxub20+wqDCuyBhdmFudCBkZSBkw6lmaW5pciB1bmUgcHJlbWnDqHJlXG4iCisicGFydGl0aW9uIHBvdXIgw6ljcmFzZXIgbGEgdmFsZXVyIHBhciBkw6lmYXV0LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjU3Cittc2dpZCAiIgorIlxuIgorIlR5cGUgJ2hlbHAnIHRvIGdldCBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisiXG4iCisiU2Fpc2lzc2V6IMKrwqBoZWxwwqDCuyBwb3VyIG9idGVuaXIgZGVzIHJlbnNlaWduZW1lbnRzIGNvbXBsw6ltZW50YWlyZXMuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY3NQorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIHVzZWQuIgorbXNnc3RyICJUb3V0ZXMgbGVzIHBhcnRpdGlvbiB1dGlsaXPDqWVzLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzAzCittc2dpZCAiRG9uZS5cbiIKK21zZ3N0ciAiVGVybWluw6kuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcxNQorbXNnaWQgIklnbm9yaW5nIHBhcnRpdGlvbi4iCittc2dzdHIgIklnbm9yZXIgbGEgcGFydGl0aW9uLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzI0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCBoZWFkZXJzLCBkaXNrIGxhYmVsIG5vdCBjcmVhdGVkLiIKK21zZ3N0ciAiw4ljaGVjIGTigJlhcHBsaWNhdGlvbiBkdSBzY3JpcHQgZOKAmWVuLXTDqnRlcywgw6l0aXF1ZXR0ZSBkZSBkaXNxdWUgbm9uIGNyw6nDqWUuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhZGQgIyVkIHBhcnRpdGlvbiIKK21zZ3N0ciAiw4ljaGVjIGQnYWpvdXQgZGUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NjMKK21zZ2lkICJTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLiIKK21zZ3N0ciAiU2NyaXB0IGTigJllbi10w6p0ZSBhY2NlcHTDqS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc3MgorbXNnaWQgIiIKKyJcbiIKKyJOZXcgc2l0dWF0aW9uOiIKK21zZ3N0ciAiIgorIlxuIgorIk5vdXZlbGxlIHNpdHVhdGlvbsKgOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzgxCittc2dpZCAiRG8geW91IHdhbnQgdG8gd3JpdGUgdGhpcyB0byBkaXNrPyIKK21zZ3N0ciAiVm91bGV6LXZvdXMgw6ljcmlyZSBjZWxhIHN1ciBsZSBkaXNxdWXCoD8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc5MworbXNnaWQgIkxlYXZpbmcuXG4iCittc2dzdHIgIlNvcnRpZS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcHRpb25zXSA8cMOpcmlwaC4+IFtbLU5dIDxwYXJ0Lj5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kZT5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEyCittc2dpZCAiIgorIlxuIgorIkNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisiXG4iCisiQ29tbWFuZGVzwqA6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMworbXNnaWQgIiAtQSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gbGlzdCBvciBzZXQgYm9vdGFibGUgTUJSIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIC1BLCAtLWFjdGl2YXRlIDxww6lyaXBoLj4gWzxwYXJ0Lj4gLi4uXSBhZmZpY2hlciBvdSBkw6lmaW5pciBsZXMgcGFydGl0aW9ucyBkZSBzZWN0ZXVyIGTigJlhbW9yw6dhZ2UgY29tbWUgYW1vcsOnYWJsZXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE0Cittc2dpZCAiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSAodXNhYmxlIGZvciBsYXRlciBpbnB1dClcbiIKK21zZ3N0ciAiIC1kLCAtLWR1bXAgPHDDqXJpcGguPiAgICAgICAgICAgICAgc2F1dmVnYXJkZXIgbGEgdGFibGUgZGUgcGFydGl0aW9ucyAodXRpbGlzYWJsZSBlbiBlbnRyw6llIHBsdXMgdGFyZClcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE1Cittc2dpZCAiIC1KLCAtLWpzb24gPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSBpbiBKU09OIGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiA8cMOpcmlwaC4+ICAgICAgICAgICAgICBzYXV2ZWdhcmRlciBsYSB0YWJsZSBkZSBwYXJ0aXRpb25zIGF1IGZvcm1hdCBqc29uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNgorbXNnaWQgIiAtZywgLS1zaG93LWdlb21ldHJ5IFs8ZGV2PiAuLi5dICAgbGlzdCBnZW9tZXRyeSBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxww6lyaXBoLj4gLi4uXSAgYWZmaWNoZXIgbGEgZ8Opb23DqXRyaWUgZGUgdG91dCBvdSBkZXMgcMOpcmlwaMOpcmlxdWVzIGluZGlxdcOpZXNcbiIKKworIyBOT1RFOiBzL2VuZC9hbmQvCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTcKK21zZ2lkICIgLWwsIC0tbGlzdCBbPGRldj4gLi4uXSAgICAgICAgICAgIGxpc3QgcGFydGl0aW9ucyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCBbPHDDqXJpcGguPiAuLi5dICAgICAgICBhZmZpY2hlciBsZXMgcGFydGl0aW9ucyBkZSBjaGFxdWUgcMOpcmlwaMOpcmlxdWVcbiIKKworIyBOT1RFOiBzL2VuZC9hbmQvCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTgKK21zZ2lkICIgLUYsIC0tbGlzdC1mcmVlIFs8ZGV2PiAuLi5dICAgICAgIGxpc3QgdW5wYXJ0aXRpb25lZCBmcmVlIGFyZWFzIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAtRiwgLS1saXN0LWZyZWUgWzxww6lyaXBoLj4gLi4uXSAgICAgICAgYWZmaWNoZXIgbGVzIHpvbmVzIGxpYnJlcyBub24gcGFydGl0aW9ubsOpZXMgZGUgY2hhcXVlIHDDqXJpcGjDqXJpcXVlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxOQorbXNnaWQgIiAtciwgLS1yZW9yZGVyIDxkZXY+ICAgICAgICAgICAgICAgZml4IHBhcnRpdGlvbnMgb3JkZXIgKGJ5IHN0YXJ0IG9mZnNldClcbiIKK21zZ3N0ciAiIC1yLCAtLXJlb3JkZXIgPHDDqXJpcGguPiAgICAgICAgICAgZml4ZXIgbOKAmW9yZHJlIGRlcyBwYXJ0aXRpb25zIChwYXIgaW5kZXggZGUgZMOpYnV0KVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjAKK21zZ2lkICIgLXMsIC0tc2hvdy1zaXplIFs8ZGV2PiAuLi5dICAgICAgIGxpc3Qgc2l6ZXMgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtcywgLS1zaG93LXNpemUgWzxww6lyaXBoLj4gLi4uXSAgIGFmZmljaGVyIGxlcyB0YWlsbGVzIGRlIHRvdXQgb3UgZGVzIHBhcnRpdGlvbnMgaW5kaXF1w6llc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjEKK21zZ2lkICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByZWNvZ25pemVkIHR5cGVzIChzZWUgLVgpXG4iCittc2dzdHIgIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgICAgICAgICAgYWZmaWNoZXogbGVzIHR5cGVzIHJlY29ubnVzIChjb25zdWx0ZXogLVgpXG4iCisKKyMgTk9URTogcy9lbmQvYW5kLworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIyCittc2dpZCAiIC1WLCAtLXZlcmlmeSBbPGRldj4gLi4uXSAgICAgICAgICB0ZXN0IHdoZXRoZXIgcGFydGl0aW9ucyBzZWVtIGNvcnJlY3RcbiIKK21zZ3N0ciAiIC1WLCAtLXZlcmlmeSBbPHDDqXJpcGguPiAuLi5dICAgICAgdsOpcmlmaWVyIHNpIGxlcyBwYXJ0aXRpb25zIHNlbWJsZW50IGNvcnJlY3Rlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjMKK21zZ2lkICIgICAgIC0tZGVsZXRlIDxkZXY+IFs8cGFydD4gLi4uXSAgIGRlbGV0ZSBhbGwgb3Igc3BlY2lmaWVkIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiICAgICAtLWRlbGV0ZSA8cMOpcmlwaC4+IFs8cGFydC4+IC4uLl0gc3VwcHJpbWVyIHRvdXRlcyBsZXMgcGFydGl0aW9ucyBvdSBjZWxsZXMgc8OpbGVjdGlvbm7DqWVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNgorbXNnaWQgIiAtLXBhcnQtbGFiZWwgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBsYWJlbFxuIgorbXNnc3RyICIgLS1wYXJ0LWxhYmVsIDxww6lyaXBoLj4gPHBhcnQuPiBbPGNoYcOubmU+XSAgYWZmaWNoZXIgb3UgbW9kaWZpZXIgbOKAmcOpdGlxdWV0dGUgZGUgcGFydGl0aW9uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNworbXNnaWQgIiAtLXBhcnQtdHlwZSA8ZGV2PiA8cGFydD4gWzx0eXBlPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiAtLXBhcnQtdHlwZSA8cMOpcmlwaC4+IDxwYXJ0Lj4gWzxjaGHDrm5lPl0gIGFmZmljaGVyIG91IG1vZGlmaWVyIGxlIHR5cGUgZGUgcGFydGl0aW9uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyOAorbXNnaWQgIiAtLXBhcnQtdXVpZCA8ZGV2PiA8cGFydD4gWzx1dWlkPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB1dWlkXG4iCittc2dzdHIgIiAtLXBhcnQtdXVpZCA8cMOpcmlwaC4+IDxwYXJ0Lj4gWzxjaGHDrm5lPl0gIGFmZmljaGVyIG91IG1vZGlmaWVyIGzigJlVVUlEIGRlIHBhcnRpdGlvblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjkKK21zZ2lkICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gYXR0cmlidXRlc1xuIgorbXNnc3RyICIgLS1wYXJ0LWF0dHJzIDxww6lyaXBoLj4gPHBhcnQuPiBbPGNoYcOubmU+XSAgYWZmaWNoZXIgb3UgbW9kaWZpZXIgbGVzIGF0dHJpYnV0cyBkZSBwYXJ0aXRpb25cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODMyCittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgZGV2aWNlICh1c3VhbGx5IGRpc2spIHBhdGhcbiIKK21zZ3N0ciAiIDxww6lyaXBoLj4gICAgICAgICAgICAgICAgIGNoZW1pbiBkdSBww6lyaXBow6lyaXF1ZSAoZGlzcXVlIGVuIGfDqW7DqXJhbClcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODMzCittc2dpZCAiIDxwYXJ0PiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgPHBhcnQuPiAgICAgICAgICAgICAgICAgICBudW3DqXJvIGRlIHBhcnRpdGlvblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzQKK21zZ2lkICIgPHR5cGU+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gdHlwZSwgR1VJRCBmb3IgR1BULCBoZXggZm9yIE1CUlxuIgorbXNnc3RyICIgPHR5cGU+ICAgICAgICAgICAgICAgICAgICB0eXBlIGRlIHBhcnRpdGlvbiwgR1VJRCBwb3VyIEdQVCwgaGV4YWTDqWNpbWFsIHBvdXIgc2VjdGV1ciBk4oCZYW1vcsOnYWdlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzNworbXNnaWQgIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgIGFwcGVuZCBwYXJ0aXRpb25zIHRvIGV4aXN0aW5nIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICBham91dGVyIGRlcyBwYXJ0aXRpb25zIMOgIHVuZSB0YWJsZSBkZSBwYXJ0aXRpb25zIGV4aXN0YW50ZVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzgKK21zZ2lkICIgLWIsIC0tYmFja3VwICAgICAgICAgICAgICBiYWNrdXAgcGFydGl0aW9uIHRhYmxlIHNlY3RvcnMgKHNlZSAtTylcbiIKK21zZ3N0ciAiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAgc2F1dmVnYXJkZXIgbGVzIHNlY3RldXJzIGRlIGxhIHRhYmxlIGRlIHBhcnRpdGlvbnMgKGNvbnN1bHRleiAtTylcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgYWZmaWNoZXIgbGEgVEFJTExFIGVuIG9jdGV0IHBsdXTDtHQgcXUnZW4gZm9ybWF0IGxpc2libGVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQwCittc2dpZCAiICAgICAtLW1vdmUtZGF0YVs9PHR5cGVzY3JpcHQ+XSBtb3ZlIHBhcnRpdGlvbiBkYXRhIGFmdGVyIHJlbG9jYXRpb24gKHJlcXVpcmVzIC1OKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MQorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGNvbnNpc3RlbmN5IGNoZWNraW5nXG4iCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGTDqXNhY3RpdmVyIHRvdXMgbGVzIGNvbnRyw7RsZXMgZOKAmWludMOpZ3JpdMOpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MgorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgICAgIC0tY29sb3JbPTxxdWFuZD5dICAgIHNvcnRpZSBlbiBjb3VsZXVyIChhdXRvLCBhbHdheXMgb3UgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NQorbXNnaWQgIiAtTiwgLS1wYXJ0bm8gPG51bT4gICAgICAgIHNwZWNpZnkgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgLU4sIC0tcGFydG5vIDxudW0+ICAgICAgICBpbmRpcXVlciBsZSBudW3DqXJvIGRlIHBhcnRpdGlvblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDYKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB3cml0ZSB0byBkZXZpY2VcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgdG91dCBmYWlyZSBzYXVmIGzigJnDqWNyaXR1cmUgc3VyIGxlIHDDqXJpcGjDqXJpcXVlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NworbXNnaWQgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBkZXZpY2UgaXMgaW4gdXNlXG4iCittc2dzdHIgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIG5lIHBhcyB2w6lyaWZpZXIgc2kgbGUgcMOpcmlwaMOpcmlxdWUgZXN0IHV0aWxpc8OpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OAorbXNnaWQgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIGRvIG5vdCB0ZWxsIGtlcm5lbCBhYm91dCBjaGFuZ2VzXG4iCittc2dzdHIgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIG5lIHBhcyBpbmZvcm1lciBsZSBub3lhdSBkZXMgbW9kaWZpY2F0aW9uc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDkKK21zZ2lkICIgLU8sIC0tYmFja3VwLWZpbGUgPHBhdGg+ICBvdmVycmlkZSBkZWZhdWx0IGJhY2t1cCBmaWxlIG5hbWVcbiIKK21zZ3N0ciAiIC1PLCAtLWJhY2t1cC1maWxlIDxjaGVtaW4+ICDDqWNyYXNlciBsZSBub20gZGUgZmljaGllciBkZSBzYXV2ZWdhcmRlIHBhciBkw6lmYXV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MAorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RlPiAgICAgIGNvbG9ubmVzIGFmZmljaMOpZXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUxCittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcHJlc3MgZXh0cmEgaW5mbyBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBzdXBwcmltZXIgbGVzIG1lc3NhZ2VzIGTigJlpbmZvcm1hdGlvbiBzdXBwbMOpbWVudGFpcmVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MgorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLVcsIC0td2lwZSA8bW9kZT4gICAgICAgbmV0dG95ZXIgbGVzIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvdSBuZXZlcilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU0Cittc2dpZCAiIC1YLCAtLWxhYmVsIDxuYW1lPiAgICAgICAgc3BlY2lmeSBsYWJlbCB0eXBlIChkb3MsIGdwdCwgLi4uKVxuIgorbXNnc3RyICIgLVgsIC0tbGFiZWwgPG5vbT4gICAgICAgICBpbmRpcXVlciBsZSB0eXBlIGTigJnDqXRpcXVldHRlIChkb3MsIGdwdCzCoGV0Yy4pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NQorbXNnaWQgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPG5hbWU+IHNwZWNpZnkgbmVzdGVkIGxhYmVsIHR5cGUgKGRvcywgYnNkKVxuIgorbXNnc3RyICIgLVksIC0tbGFiZWwtbmVzdGVkIDxub20+ICBpbmRpcXVlciBsZSB0eXBlIGTigJnDqXRpcXVldHRlIGltYnJpcXXDqWUgKGRvcywgYnNkKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTcKK21zZ2lkICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBkZXByZWNhdGVkLCBhbGlhcyB0byAtLXNob3ctZ2VvbWV0cnlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTgKK21zZ2lkICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4iCittc2dzdHIgIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGlnbm9yw6llLCBzZXVsZW1lbnQgcG91ciByw6l0cm9jb21wYXRpYmlsaXTDqVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTkKK21zZ2lkICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IHNlY3RvciB1bml0IGlzIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBpZ25vcsOpZSwgc2V1bGUgbOKAmXVuaXTDqSBzZWN0ZXVyIGVzdCBwcmlzZSBlbiBjaGFyZ2VcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYzIGxvZ2luLXV0aWxzL2NoZm4uYzoxMDIgbG9naW4tdXRpbHMvY2hzaC5jOjc5Cittc2dpZCAiIC12LCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAtdiwgLS12ZXJzaW9uICBhZmZpY2hlciBsZXMgaW5mb3JtYXRpb25zIGRlIHZlcnNpb24gZXQgcXVpdHRlclxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIiVzIGVzdCBvYnNvbMOodGUsIC0tcGFydC10eXBlIGVzdCDDoCBwcsOpZsOpcmVyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NzMKK21zZ2lkICItLWlkIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICItLWlkIGVzdCBvYnNvbMOodGUsIC0tcGFydC10eXBlIGVzdCDDoCBwcsOpZsOpcmVyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5ODkKK21zZ2lkICItLXNob3ctcHQtZ2VvbWV0cnkgaXMgbm8gbW9yZSBpbXBsZW1lbnRlZC4gVXNpbmcgLS1zaG93LWdlb21ldHJ5LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMDAKK21zZ2lkICItLUxpbnV4IG9wdGlvbiBpcyB1bm5lY2Vzc2FyeSBhbmQgZGVwcmVjYXRlZCIKK21zZ3N0ciAibOKAmW9wdGlvbiAtLUxpbnV4IGVzdCBpbnV0aWxlIGV0IG9ic29sw6h0ZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDI5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHVuaXQgJyVjJyIKK21zZ3N0ciAidW5pdMOpIMKrwqAlY8Kgwrsgbm9uIHByaXNlIGVuIGNoYXJnZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDMyIGluY2x1ZGUvYy5oOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzXG4iCittc2dzdHIgIiVzIGRlICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjEwOQorbXNnaWQgIi0tbW92ZWRhdGEgcmVxdWlyZXMgLU4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgVVVJRDogJXMiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZGUgbCdVVUlEwqA6ICVzIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIFVVSUQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBwb3NpdGlvbm5lbWVudCBzdXIgbCdVVUlEIGQnZXNwYWNlIGQnw6ljaGFuZ2UiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBVVUlEIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZCfDqWNyaXR1cmUgZGUgbCdVVUlEIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIGxhYmVsICIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIHBvc2l0aW9ubmVtZW50IHN1ciBsJ8OpdGlxdWV0dGUgZCdlc3BhY2UgZCfDqWNoYW5nZSAiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAibGFiZWwgaXMgdG9vIGxvbmcuIFRydW5jYXRpbmcgaXQgdG8gJyVzJyIKK21zZ3N0ciAiTCfDqXRpcXVldHRlIGVzdCB0cm9wIGxvbmd1ZS4gVHJvbnF1w6llIMOgIMKrwqAlc8KgwrsiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBsYWJlbCIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGQnw6ljcml0dXJlIGRlIGwnw6l0aXF1ZXR0ZSIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjEKK21zZ2lkICJEaXNwbGF5IG9yIGNoYW5nZSB0aGUgbGFiZWwgb3IgVVVJRCBvZiBhIHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiQWZmaWNoZXIgb3UgbW9kaWZpZXIgbCfDqXRpcXVldHRlIG91IGwnVVVJRCBkJ3VuIGVzcGFjZSBkJ8OpY2hhbmdlLlxuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyNAorbXNnaWQgIiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiBzcGVjaWZ5IGEgbmV3IGxhYmVsXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgc3BlY2lmeSBhIG5ldyB1dWlkXG4iCittc2dzdHIgIiIKKyIgLUwsIC0tbGFiZWwgPMOpdGlxdWV0dGU+ICBpbmRpcXVlciB1bmUgbm91dmVsbGUgw6l0aXF1ZXR0ZVxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICAgaW5kaXF1ZXIgdW4gbm91dmVsIFVVSURcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxNjcKK21zZ2lkICJpZ25vcmUgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCkiCittc2dzdHIgIm9wdGlvbiAtVSBpZ25vcsOpZSAobGVzIFVVSUQgbmUgc29udCBwYXMgcHJpcyBlbiBjaGFyZ2UpIgorCisjOiBpbmNsdWRlL2MuaDoyOTkKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJVdGlsaXNhdGlvbsKgOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMDAKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wdGlvbnPCoDpcbiIKKworIzogaW5jbHVkZS9jLmg6MzAyCittc2dpZCAiIC1oLCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAtaCwgLS1oZWxwICAgICBhZmZpY2hlciBjZXR0ZSBhaWRlIGV0IHF1aXR0ZXJcbiIKKworIzogaW5jbHVkZS9jLmg6MzAzCittc2dpZCAiIC1WLCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAtViwgLS12ZXJzaW9uICBhZmZpY2hlciBsZXMgaW5mb3JtYXRpb25zIGRlIHZlcnNpb24gZXQgcXVpdHRlclxuIgorCisjOiBpbmNsdWRlL2MuaDozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkZvciBtb3JlIGRldGFpbHMgc2VlICVzLlxuIgorbXNnc3RyICIiCisiXG4iCisiQ29uc3VsdGV6ICVzIHBvdXIgb2J0ZW5pciBkZXMgcHLDqWNpc2lvbnMgY29tcGzDqW1lbnRhaXJlcy5cbiIKKworIzogaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ2IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0OCBsb2dpbi11dGlscy92aXB3LmM6MjczCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjkyIHN5cy11dGlscy9ydGN3YWtlLmM6MjgwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjgwNQorIzogdGV4dC11dGlscy9jb2wuYzoxNTcKK21zZ2lkICJ3cml0ZSBlcnJvciIKK21zZ3N0ciAiZXJyZXVyIGQnw6ljcml0dXJlIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI3Cittc2dpZCAiY29sb3JzIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgImxlcyBjb3VsZXVycyBzb250IGFjdGl2w6llcyBwYXIgZMOpZmF1dCIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyOQorbXNnaWQgImNvbG9ycyBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAibGVzIGNvdWxldXJzIHNvbnQgZMOpc2FjdGl2w6llcyBwYXIgZMOpZmF1dCIKKworIzogaW5jbHVkZS9lbnYuaDoxOCBsaWIvcGFnZXIuYzoxNTEgbG9naW4tdXRpbHMvbG9naW4uYzoxMDUyCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwNTYgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTI5CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgZW52aXJvbm1lbnQgdmFyaWFibGUiCittc2dzdHIgIsOpY2hlYyBkZSBsYSBjb25maWd1cmF0aW9uIGRlIGxhIHZhcmlhYmxlIGTigJllbnZpcm9uZW1lbnQgJXMiCisKKyM6IGluY2x1ZGUvb3B0dXRpbHMuaDo4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdGhlc2Ugb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlOiIKK21zZ3N0ciAiJXPCoDogY2VzIG9wdGlvbnMgcydleGNsdWVudCBtdXR1ZWxsZW1lbnTCoDoiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEKK21zZ2lkICJFbXB0eSIKK21zZ3N0ciAiVmlkZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MgorbXNnaWQgIkZBVDEyIgorbXNnc3RyICJGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MworbXNnaWQgIlhFTklYIHJvb3QiCittc2dzdHIgInJvb3QgWEVOSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQKK21zZ2lkICJYRU5JWCB1c3IiCittc2dzdHIgInVzciBYRU5JWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NQorbXNnaWQgIkZBVDE2IDwzMk0iCittc2dzdHIgIkZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYKK21zZ2lkICJFeHRlbmRlZCIKK21zZ3N0ciAiw4l0ZW5kdWUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcKK21zZ2lkICJGQVQxNiIKK21zZ3N0ciAiRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgKK21zZ2lkICJIUEZTL05URlMvZXhGQVQiCittc2dzdHIgIkhQRlMvTlRGUy9leEZBVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OQorbXNnaWQgIkFJWCIKK21zZ3N0ciAiQUlYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMAorbXNnaWQgIkFJWCBib290YWJsZSIKK21zZ3N0ciAiQW1vcsOnYWJsZSBBSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjExCittc2dpZCAiT1MvMiBCb290IE1hbmFnZXIiCittc2dzdHIgIkdlc3Rpb25uYWlyZSBkJ2Ftb3LDp2FnZSBPUy8yIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMgorbXNnaWQgIlc5NSBGQVQzMiIKK21zZ3N0ciAiVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMworbXNnaWQgIlc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNAorbXNnaWQgIlc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNQorbXNnaWQgIlc5NSBFeHQnZCAoTEJBKSIKK21zZ3N0ciAiw4l0ZW5kdWUgVzk1IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNgorbXNnaWQgIk9QVVMiCittc2dzdHIgIk9QVVMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE3Cittc2dpZCAiSGlkZGVuIEZBVDEyIgorbXNnc3RyICJGQVQxMiBtYXNxdcOpZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTgKK21zZ2lkICJDb21wYXEgZGlhZ25vc3RpY3MiCittc2dzdHIgIkNvbXBhcSBkaWFnbm9zdGljcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTkKK21zZ2lkICJIaWRkZW4gRkFUMTYgPDMyTSIKK21zZ3N0ciAiRkFUMTYgbWFzcXXDqWUgPDMyTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjAKK21zZ2lkICJIaWRkZW4gRkFUMTYiCittc2dzdHIgIkZBVDE2IG1hc3F1w6llIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMQorbXNnaWQgIkhpZGRlbiBIUEZTL05URlMiCittc2dzdHIgIkhQRlMvTlRGUyBtYXNxdcOpZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjIKK21zZ2lkICJBU1QgU21hcnRTbGVlcCIKK21zZ3N0ciAiQVNUIFNtYXJ0U2xlZXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIzCittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiIKK21zZ3N0ciAiVzk1IEZBVDMyIG1hc3F1w6llIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNAorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIlc5NSBGQVQzMiBtYXNxdcOpZSAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjUKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICJXOTUgRkFUMTYgbWFzcXXDqWUgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI2Cittc2dpZCAiTkVDIERPUyIKK21zZ3N0ciAiTkVDIERPUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjcKK21zZ2lkICJIaWRkZW4gTlRGUyBXaW5SRSIKK21zZ3N0ciAiVEZTIFdpblJFIG1hc3F1w6llIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOAorbXNnaWQgIlBsYW4gOSIKK21zZ3N0ciAiUGxhbiA5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOQorbXNnaWQgIlBhcnRpdGlvbk1hZ2ljIHJlY292ZXJ5IgorbXNnc3RyICJyw6ljdXDDqXJhdGlvbiBQYXJ0aXRpb25NYWdpYyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzAKK21zZ2lkICJWZW5peCA4MDI4NiIKK21zZ3N0ciAiVmVuaXggODAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMxCittc2dpZCAiUFBDIFBSZVAgQm9vdCIKK21zZ3N0ciAiUFBDIFBSZVAgQm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzIKK21zZ2lkICJTRlMiCittc2dzdHIgIlNGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzMKK21zZ2lkICJRTlg0LngiCittc2dzdHIgIlFOWDQueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzQKK21zZ2lkICJRTlg0LnggMm5kIHBhcnQiCittc2dzdHIgIjJlIHBhcnRpZSBRTlg0LngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM1Cittc2dpZCAiUU5YNC54IDNyZCBwYXJ0IgorbXNnc3RyICIzZSBwYXJ0aWUgUU5YNC54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNgorbXNnaWQgIk9uVHJhY2sgRE0iCittc2dzdHIgIk9uVHJhY2sgRE0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM3Cittc2dpZCAiT25UcmFjayBETTYgQXV4MSIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzgKK21zZ2lkICJDUC9NIgorbXNnc3RyICJDUC9NIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOQorbXNnaWQgIk9uVHJhY2sgRE02IEF1eDMiCittc2dzdHIgIk9uVHJhY2sgRE02IEF1eDMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQwCittc2dpZCAiT25UcmFja0RNNiIKK21zZ3N0ciAiT25UcmFja0RNNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDEKK21zZ2lkICJFWi1Ecml2ZSIKK21zZ3N0ciAiRVotRHJpdmUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQyCittc2dpZCAiR29sZGVuIEJvdyIKK21zZ3N0ciAiR29sZGVuIEJvdyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDMKK21zZ2lkICJQcmlhbSBFZGlzayIKK21zZ3N0ciAiUHJpYW0gRWRpc2siCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkxCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OQorbXNnaWQgIlNwZWVkU3RvciIKK21zZ3N0ciAiU3BlZWRTdG9yIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NQorbXNnaWQgIkdOVSBIVVJEIG9yIFN5c1YiCittc2dzdHIgIkdOVSBIVVJEIG91IFN5c1YiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ2Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMjg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ3Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMzg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAzODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ4Cittc2dpZCAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorbXNnc3RyICJEaXNrU2VjdXJlIE11bHRpLUJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ5Cittc2dpZCAiUEMvSVgiCittc2dzdHIgIlBDL0lYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MAorbXNnaWQgIk9sZCBNaW5peCIKK21zZ3N0ciAiTWluaXggYW5jaWVubmUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUxCittc2dpZCAiTWluaXggLyBvbGQgTGludXgiCittc2dzdHIgIk1pbml4IC8gTGludXggYW5jaWVubmUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUyCittc2dpZCAiTGludXggc3dhcCAvIFNvbGFyaXMiCittc2dzdHIgInBhcnRpdGlvbiBkJ8OpY2hhbmdlIExpbnV4IC8gU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTMKK21zZ2lkICJMaW51eCIKK21zZ3N0ciAiTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU0Cittc2dpZCAiT1MvMiBoaWRkZW4gb3IgSW50ZWwgaGliZXJuYXRpb24iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTcKK21zZ2lkICJMaW51eCBleHRlbmRlZCIKK21zZ3N0ciAiTGludXggw6l0ZW5kdWUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU5Cittc2dpZCAiTlRGUyB2b2x1bWUgc2V0IgorbXNnc3RyICJOVEZTIHZvbHVtZSBzZXQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYwCittc2dpZCAiTGludXggcGxhaW50ZXh0IgorbXNnc3RyICJMaW51eCBwbGFpbnRleHQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYxIGxpYmZkaXNrL3NyYy9ncHQuYzoyMDUgbGliZmRpc2svc3JjL3NnaS5jOjYzCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTQKK21zZ2lkICJMaW51eCBMVk0iCittc2dzdHIgIkxWTSBMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjIKK21zZ2lkICJBbW9lYmEiCittc2dzdHIgIkFtb2ViYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjMKK21zZ2lkICJBbW9lYmEgQkJUIgorbXNnc3RyICJBbW9lYmEgQkJUIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NAorbXNnaWQgIkJTRC9PUyIKK21zZ3N0ciAiQlNEL09TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NQorbXNnaWQgIklCTSBUaGlua3BhZCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiSUJNIFRoaW5rcGFkIGhpYmVybmF0aW9uIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NgorbXNnaWQgIkZyZWVCU0QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY3Cittc2dpZCAiT3BlbkJTRCIKK21zZ3N0ciAiT3BlbkJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjgKK21zZ2lkICJOZVhUU1RFUCIKK21zZ3N0ciAiTmVYVFNURVAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY5Cittc2dpZCAiRGFyd2luIFVGUyIKK21zZ3N0ciAiVUZTIERhcndpbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzAKK21zZ2lkICJOZXRCU0QiCittc2dzdHIgIk5ldEJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzEKK21zZ2lkICJEYXJ3aW4gYm9vdCIKK21zZ3N0ciAiQW1vcsOnYWdlIERhcndpbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzIKK21zZ2lkICJIRlMgLyBIRlMrIgorbXNnc3RyICJIRlMgLyBIRlMrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MworbXNnaWQgIkJTREkgZnMiCittc2dzdHIgIkJTREkgZnMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc0Cittc2dpZCAiQlNESSBzd2FwIgorbXNnc3RyICJwYXJ0aXRpb24gZCfDqWNoYW5nZSBCU0RJIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NQorbXNnaWQgIkJvb3QgV2l6YXJkIGhpZGRlbiIKK21zZ3N0ciAiQm9vdCBXaXphcmQgbWFzcXXDqWUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc2Cittc2dpZCAiQWNyb25pcyBGQVQzMiBMQkEiCittc2dzdHIgIkFjcm9uaXMgRkFUMzIgTEJBIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NyBsaWJmZGlzay9zcmMvZ3B0LmM6MjMwCittc2dpZCAiU29sYXJpcyBib290IgorbXNnc3RyICJBbW9yw6dhZ2UgU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzgKK21zZ2lkICJTb2xhcmlzIgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTEyKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MAorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2KSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTYpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MgorbXNnaWQgIlN5cmlueCIKK21zZ3N0ciAiU3lyaW54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MworbXNnaWQgIk5vbi1GUyBkYXRhIgorbXNnc3RyICJOb24tRlMgZGF0YSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiQ1AvTSAvIENUT1MgLyAuLi4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg2Cittc2dpZCAiRGVsbCBVdGlsaXR5IgorbXNnc3RyICJEZWxsIFV0aWxpdHkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg3Cittc2dpZCAiQm9vdEl0IgorbXNnc3RyICJCb290SXQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg4Cittc2dpZCAiRE9TIGFjY2VzcyIKK21zZ3N0ciAiRE9TIGFjY2VzcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTAKK21zZ2lkICJET1MgUi9PIgorbXNnc3RyICJET1MgUi9PIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MworbXNnaWQgIlJ1ZnVzIGFsaWdubWVudCIKK21zZ3N0ciAiQWxpZ25lbWVudCBSdWZ1cyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTQKK21zZ2lkICJCZU9TIGZzIgorbXNnc3RyICJCZU9TIGZzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NgorbXNnaWQgIkVGSSAoRkFULTEyLzE2LzMyKSIKK21zZ3N0ciAiRUZJIChGQVQtMTIvMTYvMzIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NworbXNnaWQgIkxpbnV4L1BBLVJJU0MgYm9vdCIKK21zZ3N0ciAiTGludXgvUEEtUklTQyBib290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDAKK21zZ2lkICJET1Mgc2Vjb25kYXJ5IgorbXNnc3RyICJET1Mgc2Vjb25kYWlyZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAxCittc2dpZCAiVk13YXJlIFZNRlMiCittc2dzdHIgIlZNd2FyZSBWTUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDIKK21zZ2lkICJWTXdhcmUgVk1LQ09SRSIKK21zZ3N0ciAiVk13YXJlIFZNS0NPUkUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMyBsaWJmZGlzay9zcmMvc3VuLmM6NTUKK21zZ2lkICJMaW51eCByYWlkIGF1dG9kZXRlY3QiCittc2dzdHIgIlJBSUQgTGludXggYXV0b2TDqXRlY3TDqSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA2Cittc2dpZCAiTEFOc3RlcCIKK21zZ3N0ciAiTEFOc3RlcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA3Cittc2dpZCAiQkJUIgorbXNnc3RyICJCQlQiCisKKyM6IGxpYi9ibGtkZXYuYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXMgaXMgbWlzYWxpZ25lZCIKK21zZ3N0ciAiYXZlcnRpc3NlbWVudMKgOiAlcyBlc3QgbWFsIGFsaWduw6kiCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2NzIKK21zZ2lkICJDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJBcHBlbCBkJ2lvY3RsKCkgcG91ciByZWxpcmUgbGEgdGFibGUgZGUgcGFydGl0aW9ucy4iCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2ODEKK21zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLiIKK21zZ3N0ciAiw4ljaGVjIGRlIHJlbGVjdHVyZSBkZSBsYSB0YWJsZSBkZSBwYXJ0aXRpb25zLiIKKworIzogbGliZmRpc2svc3JjL2FsaWdubWVudC5jOjY4MworbXNnaWQgIlRoZSBrZXJuZWwgc3RpbGwgdXNlcyB0aGUgb2xkIHRhYmxlLiBUaGUgbmV3IHRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCByZWJvb3Qgb3IgYWZ0ZXIgeW91IHJ1biBwYXJ0cHJvYmUoOCkgb3Iga3BhcnR4KDgpLiIKK21zZ3N0ciAiTGUgbm95YXUgY29udGludWUgw6AgdXRpbGlzZXIgbCdhbmNpZW5uZSB0YWJsZS4gTGEgbm91dmVsbGUgc2VyYSB1dGlsaXPDqWUgbG9ycyBkdSBwcm9jaGFpbiBkw6ltYXJyYWdlIG91IGFwcsOocyBhdm9pciBleMOpY3V0w6kgcGFydHByb2JlKDgpIG91IGtwYXJ0eCg4KS4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0NzIgbGliZmRpc2svc3JjL2Fzay5jOjQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3RlZCBwYXJ0aXRpb24gJWp1IgorbXNnc3RyICJQYXJ0aXRpb27CoCVqdSBzw6lsZWN0aW9ubsOpZSIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ3NQorbXNnaWQgIk5vIHBhcnRpdGlvbiBpcyBkZWZpbmVkIHlldCEiCittc2dzdHIgIkF1Y3VuZSBwYXJ0aXRpb24gbidlc3QgZMOpZmluaWUgcG91ciBsJ2luc3RhbnQuIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDg3Cittc2dpZCAiTm8gZnJlZSBwYXJ0aXRpb24gYXZhaWxhYmxlISIKK21zZ3N0ciAiQXVjdW5lIHBhcnRpdGlvbiBsaWJyZSBkaXNwb25pYmxlLiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ5NworbXNnaWQgIlBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIk51bcOpcm8gZGUgcGFydGl0aW9uIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6OTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgcGFydGl0aW9uICVkIG9mIHR5cGUgJyVzJyBhbmQgb2Ygc2l6ZSAlcy4iCittc2dzdHIgIlVuZSBub3V2ZWxsZSBwYXJ0aXRpb27CoCVkIGRlIHR5cGUgwqvCoCVzwqDCuyBldCBkZSB0YWlsbGXCoCVzIGEgw6l0w6kgY3LDqcOpZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICJQYXJ0aXRpb24gJXpkwqA6IGNvbnRpZW50IHVuIHNlY3RldXLCoDAgZGUgZMOpcGFydCBub24gdmFsYWJsZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlcmUgaXMgbm8gKkJTRCBwYXJ0aXRpb24gb24gJXMuIgorbXNnc3RyICJJbCBuJ3kgYSBwYXMgZGUgcGFydGl0aW9uICpCU0Qgc3VyICVzLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI1OSBsaWJmZGlzay9zcmMvZG9zLmM6OTMzCittc2dpZCAiRmlyc3QgY3lsaW5kZXIiCittc2dzdHIgIlByZW1pZXIgY3lsaW5kcmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTIgbGliZmRpc2svc3JjL2Rvcy5jOjExNjEKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIkRlcm5pZXIgY3lsaW5kcmUsICtjeWxpbmRyZXMgb3UgK3RhaWxsZXtLLE0sRyxULFB9IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6Mjk3IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTY2IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjU1Cittc2dpZCAiTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIkRlcm5pZXIgc2VjdGV1ciwgK3NlY3RldXJzIG91ICt0YWlsbGV7SyxNLEcsVCxQfSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGV2aWNlICVzIGRvZXMgbm90IGNvbnRhaW4gQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIkxlIHDDqXJpcGjDqXJpcXVlwqAlcyBuZSBjb250aWVudCBwYXMgZCfDqXRpcXVldHRlIEJTRCBkZSBkaXNxdWUuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgzCittc2dpZCAiRG8geW91IHdhbnQgdG8gY3JlYXRlIGEgQlNEIGRpc2tsYWJlbD8iCittc2dzdHIgIlZvdWxlei12b3VzIGNyw6llciB1bmUgw6l0aXF1ZXR0ZSBCU0QgZGUgZGlzcXVlwqA/IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDQ5Cittc2dpZCAiRGlzayIKK21zZ3N0ciAiRGlzcXVlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDU2Cittc2dpZCAiUGFja25hbWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MyBsaWJmZGlzay9zcmMvc3VuLmM6MTExNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICJJbmQuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY2Cittc2dpZCAiIHJlbW92YWJsZSIKK21zZ3N0ciAiIGFtb3ZpYmxlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY3Cittc2dpZCAiIGVjYyIKK21zZ3N0ciAiIGVjYyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2OAorbXNnaWQgIiBiYWRzZWN0IgorbXNnc3RyICIgbWF1dmFpcyBzZWN0ZXVyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDc2Cittc2dpZCAiQnl0ZXMvU2VjdG9yIgorbXNnc3RyICJPY3RldHMvU2VjdGV1ciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4MQorbXNnaWQgIlRyYWNrcy9DeWxpbmRlciIKK21zZ3N0ciAiUGlzdGVzL0N5bGluZHJlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDg2Cittc2dpZCAiU2VjdG9ycy9DeWxpbmRlciIKK21zZ3N0ciAiU2VjdGV1cnMvQ3lsaW5kcmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTggbGliZmRpc2svc3JjL2Rvcy5jOjIzMDMKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU3IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTYgbGliZmRpc2svc3JjL3N1bi5jOjExMTMKK21zZ2lkICJDeWxpbmRlcnMiCittc2dzdHIgIkN5bGluZHJlcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5NiBsaWJmZGlzay9zcmMvc3VuLmM6NzYwCittc2dpZCAiUnBtIgorbXNnc3RyICJ0ci9taW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDEgbGliZmRpc2svc3JjL3NnaS5jOjI5MiBsaWJmZGlzay9zcmMvc3VuLmM6NzgwCittc2dpZCAiSW50ZXJsZWF2ZSIKK21zZ3N0ciAiRW50cmVsYWNlbWVudCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwNgorbXNnaWQgIlRyYWNrc2tldyIKK21zZ3N0ciAiRMOpY2FsYWdlLXBpc3RlcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxMQorbXNnaWQgIkN5bGluZGVyc2tldyIKK21zZ3N0ciAiRMOpY2FsYWdlLWN5bGluZHJlcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxNgorbXNnaWQgIkhlYWRzd2l0Y2giCittc2dzdHIgIkNvbW11dGF0aW9uLXTDqnRlcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUyMQorbXNnaWQgIlRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgIlBvc2l0aW9ubmVtZW50IHBpc3RlLcOgLXBpc3RlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjExCittc2dpZCAiYnl0ZXMvc2VjdG9yIgorbXNnc3RyICJvY3RldHMvc2VjdGV1ciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNAorbXNnaWQgInNlY3RvcnMvdHJhY2siCittc2dzdHIgInNlY3RldXJzL3Bpc3RlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE1Cittc2dpZCAidHJhY2tzL2N5bGluZGVyIgorbXNnc3RyICJwaXN0ZXMvY3lsaW5kcmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTYKK21zZ2lkICJjeWxpbmRlcnMiCittc2dzdHIgImN5bGluZHJlcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMAorbXNnaWQgInNlY3RvcnMvY3lsaW5kZXIiCittc2dzdHIgInNlY3RldXJzL2N5bGluZHJlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIzCittc2dpZCAicnBtIgorbXNnc3RyICJ0b3Vycy9taW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjQKK21zZ2lkICJpbnRlcmxlYXZlIgorbXNnc3RyICJpbnRlcmxlYXZlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI1Cittc2dpZCAidHJhY2tza2V3IgorbXNnc3RyICJkw6ljYWxhZ2UtcGlzdGVzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI2Cittc2dpZCAiY3lsaW5kZXJza2V3IgorbXNnc3RyICJkw6ljYWxhZ2UtY3lsaW5kcmVzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI4Cittc2dpZCAiaGVhZHN3aXRjaCIKK21zZ3N0ciAiY29tbXV0YXRpb24tdMOqdGVzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI5Cittc2dpZCAidHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAicG9zaXRpb25uZW1lbnQgcGlzdGUtw6AtcGlzdGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RzdHJhcCBmaWxlICVzIHN1Y2Nlc3NmdWxseSBsb2FkZWQuIgorbXNnc3RyICJMZSBmaWNoaWVyIGTigJlhbW9yw6dhZ2UgJXMgZXN0IGNoYXJnw6kgY29ycmVjdGVtZW50LiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY3MworIywgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXA6ICUxJHNib290IC0+IGJvb3QlMSRzIChkZWZhdWx0ICUxJHMpIgorbXNnc3RyICJBbW9yw6dhZ2XCoDogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKCUxJHMgcGFyIGTDqWZhdXQpIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzA0Cittc2dpZCAiQm9vdHN0cmFwIG92ZXJsYXBzIHdpdGggZGlza2xhYmVsISIKK21zZ3N0ciAiTCdhbW9yw6dhZ2UgY2hldmF1Y2hlIGwnw6l0aXF1ZXR0ZSBkdSBkaXNxdWUuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcCBpbnN0YWxsZWQgb24gJXMuIgorbXNnc3RyICJBbW9yw6dhZ2UgaW5zdGFsbMOpIHN1ciAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuICAoRG9uJ3QgZm9yZ2V0IHRvIHdyaXRlIHRoZSAlcyBkaXNrbGFiZWwgdG9vLikiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwMworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4iCittc2dzdHIgIsOJdGlxdWV0dGUgZGUgZGlzcXVlIMOpY3JpdGUgc3VyICVzLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwOSBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY2NgorbXNnaWQgIlN5bmNpbmcgZGlza3MuIgorbXNnc3RyICJTeW5jaHJvbmlzYXRpb24gZGVzIGRpc3F1ZXMuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTUwCittc2dpZCAiQlNEIGxhYmVsIGlzIG5vdCBuZXN0ZWQgd2l0aGluIGEgRE9TIHBhcnRpdGlvbi4iCittc2dzdHIgIkwnw6l0aXF1ZXR0ZSBCU0QgbuKAmWVzdCBwYXMgaW1icmlxdcOpZSBkYW5zIHVuZSBwYXJ0aXRpb24gRE9TLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk3OAorIywgYy1mb3JtYXQKK21zZ2lkICJCU0QgcGFydGl0aW9uICclYycgbGlua2VkIHRvIERPUyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiTGEgcGFydGl0aW9uIEJTRCDCq8KgJWPCoMK7IGVzdCBsacOpZSDDoCBsYSBwYXJ0aXRpb24gRE9TICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE0Cittc2dpZCAiU2xpY2UiCittc2dzdHIgIlRyYW5jaGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIxCittc2dpZCAiRnNpemUiCittc2dzdHIgIlRhaWxsZUYiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIyCittc2dpZCAiQnNpemUiCittc2dzdHIgIlRhaWxsZUIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIzCittc2dpZCAiQ3BnIgorbXNnc3RyICJDcGciCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zZSBkZXZpY2UgZmFpbGVkIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgZmVybWV0dXJlIGR1IHDDqXJpcGjDqXJpcXVlIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjgyNworbXNnaWQgImN5bGluZGVyIgorbXNnaWRfcGx1cmFsICJjeWxpbmRlcnMiCittc2dzdHJbMF0gImN5bGluZHJlIgorbXNnc3RyWzFdICJjeWxpbmRyZXMiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODI4Cittc2dpZCAic2VjdG9yIgorbXNnaWRfcGx1cmFsICJzZWN0b3JzIgorbXNnc3RyWzBdICJzZWN0ZXVyIgorbXNnc3RyWzFdICJzZWN0ZXVycyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMTMxCittc2dpZCAiSW5jb21wbGV0ZSBnZW9tZXRyeSBzZXR0aW5nLiIKK21zZ3N0ciAiQ29uZmlndXJhdGlvbiBpbmNvbXBsw6h0ZSBkZSBsYSBnw6lvbcOpdHJpZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTQKK21zZ2lkICJBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGhhdmUgYmVlbiBkZWZpbmVkIGFscmVhZHkuIgorbXNnc3RyICJUb3V0ZXMgbGVzIHBhcnRpdGlvbnMgcHJpbWFpcmVzIG9udCBkw6lqw6Agw6l0w6kgZMOpZmluaWVzLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBleHRlbmRlZCBwYXJ0aXRpb24gdGFibGUgKG9mZnNldD0lanUpIgorbXNnc3RyICLDiWNoZWMgZGUgbGVjdHVyZSBkZSB0YWJsZSBkZSBwYXJ0aXRpb25zIMOpdGVuZHVlIChpbmRleD0lanUpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzI4Cittc2dpZCAiWW91IGNhbiBzZXQgZ2VvbWV0cnkgZnJvbSB0aGUgZXh0cmEgZnVuY3Rpb25zIG1lbnUuIgorbXNnc3RyICJWb3VzIHBvdXZleiBkw6lmaW5pciBsYSBnw6lvbcOpdHJpZSBkZXB1aXMgbGUgbWVudSBkZXMgZm9uY3Rpb25zIGF2YW5jw6llcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMzEKK21zZ2lkICJET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIgorbXNnc3RyICJMZSBtb2RlIGRlIGNvbXBhdGliaWxpdMOpIERPUyBlc3Qgb2Jzb2zDqHRlLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjMzNQorbXNnaWQgIlRoZSBkZXZpY2UgcHJlc2VudHMgYSBsb2dpY2FsIHNlY3RvciBzaXplIHRoYXQgaXMgc21hbGxlciB0aGFuIHRoZSBwaHlzaWNhbCBzZWN0b3Igc2l6ZS4gQWxpZ25pbmcgdG8gYSBwaHlzaWNhbCBzZWN0b3IgKG9yIG9wdGltYWwgSS9PKSBzaXplIGJvdW5kYXJ5IGlzIHJlY29tbWVuZGVkLCBvciBwZXJmb3JtYW5jZSBtYXkgYmUgaW1wYWN0ZWQuIgorbXNnc3RyICJMZSBww6lyaXBow6lyaXF1ZSBkaXNwb3NlIGQndW5lIHRhaWxsZSBkZSBzZWN0ZXVyIGxvZ2lxdWUgcGx1cyBwZXRpdGUgcXVlIGxhIHRhaWxsZSBkZSBzZWN0ZXVyIHBoeXNpcXVlLiBBanVzdGVyIGxhIGxpbWl0ZSBkZSB0YWlsbGUgw6AgY2VsbGUgZGUgc2VjdGV1ciBwaHlzaXF1ZSAob3Ugb3B0aW1hbGUgZW4gdGVybWUgZCdFL1MpIGVzdCBjb25zZWlsbMOpLCBzaW5vbiBsZXMgcGVyZm9ybWFuY2VzIHJpc3F1ZW50IGQnw6p0cmUgYWZmZWN0w6llcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDEKK21zZ2lkICJDeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4iCittc2dzdHIgIkwnYWZmaWNoYWdlIHBhciBjeWxpbmRyZXMgZXN0IG9ic29sw6h0ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHNpemUgb2YgdGhpcyBkaXNrIGlzICVzICglanUgYnl0ZXMpLiBET1MgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCBjYW4gbm90IGJlIHVzZWQgb24gZHJpdmVzIGZvciB2b2x1bWVzIGxhcmdlciB0aGFuICVsdSBieXRlcyBmb3IgJWx1LWJ5dGUgc2VjdG9ycy4gVXNlIEdVSUQgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCAoR1BUKS4iCittc2dzdHIgIkxhIHRhaWxsZSBkdSBkaXNxdWUgZXN0ICVzICglanXCoG9jdGV0cykuIENlIGZvcm1hdCBkZSB0YWJsZSBkZSBwYXJ0aXRpb25zIERPUyBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBzdXIgZGVzIGRpc3F1ZXMgcG91ciBkZXMgdm9sdW1lcyBwbHVzIGdyYW5kcyBxdWUgJWx1wqBvY3RldHMgcG91ciBkZXMgc2VjdGV1cnMgZGUgJWx1wqBvY3RldHMuIFV0aWxpc2V6IGxlIGZvcm1hdCBkZSB0YWJsZSBkZSBwYXJ0aXRpb25zIMOgIEdVSUQgKEdQVCkuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTAzCittc2dpZCAiQmFkIG9mZnNldCBpbiBwcmltYXJ5IGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIkluZGV4IGVycm9uw6kgZGFucyBsYSBwYXJ0aXRpb24gcHJpbWFpcmUgw6l0ZW5kdWUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiT21pdHRpbmcgcGFydGl0aW9ucyBhZnRlciAjJXp1LiBUaGV5IHdpbGwgYmUgZGVsZXRlZCBpZiB5b3Ugc2F2ZSB0aGlzIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIk9taXNzaW9uIGRlcyBwYXJ0aXRpb25zIGFwcsOocyBuwrrCoCV6dS4gRWxsZXMgc2Vyb250IHN1cHByaW3DqWVzIHNpIHZvdXMgc2F1dmVnYXJkZXogY2V0dGUgdGFibGUgZGUgcGFydGl0aW9uLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJFeHRyYSBsaW5rIHBvaW50ZXIgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIlBvaW50ZXVyIGFkZGl0aW9ubmVsIGRhbnMgbGEgdGFibGUgZGUgcGFydGl0aW9uc8KgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU1NAorIywgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBkYXRhIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJEb25uw6llcyBzdXBlcmZsdWVzIGlnbm9yw6llcyBkYW5zIGxhIHRhYmxlIGRlIHBhcnRpdGlvbnPCoCV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAib21pdHRpbmcgZW1wdHkgcGFydGl0aW9uICglenUpIgorbXNnc3RyICJwYXJ0aXRpb24gdmlkZSBpZ25vcsOpZSAoJXp1KSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY2NAorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IERPUyBkaXNrbGFiZWwgd2l0aCBkaXNrIGlkZW50aWZpZXIgMHglMDh4LiIKK21zZ3N0ciAiQ3LDqWF0aW9uIGQndW5lIG5vdXZlbGxlIMOpdGlxdWV0dGUgcG91ciBkaXNxdWUgZGUgdHlwZSBET1MgYXZlYyBpZGVudGlmaWFudCBkZSBkaXNxdWUgMHglMDh4LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY4NQorbXNnaWQgIkVudGVyIHRoZSBuZXcgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJTYWlzaXNzZXogbGUgbm91dmVsIGlkZW50aWZpYW50IGRlIGRpc3F1ZSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY5MgorbXNnaWQgIkluY29ycmVjdCB2YWx1ZS4iCittc2dzdHIgIlZhbGV1ciBpbmNvcnJlY3RlLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcwMQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tIDB4JTA4eCB0byAweCUwOHguIgorbXNnc3RyICJJZGVudGlmaWFudCBkZSBkaXNxdWUgbW9kaWZpw6kgZGUgMHglMDh4IGVuIDB4JTA4eC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZXh0ZW5kZWQgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiUGFydGl0aW9uIMOpdGVuZHVlIHN1cHBsw6ltZW50YWlyZcKgJXp1IGlnbm9yw6llIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgZmxhZyAweCUwMnglMDJ4IG9mIEVCUiAoZm9yIHBhcnRpdGlvbiAlenUpIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkuIgorbXNnc3RyICJJbmRpY2F0ZXVyIDB4JTAyeCUwMnggaW5jb3JyZWN0IGRlIHNlY3RldXIgZOKAmWFtb3LDp2FnZSBkZSBwYXJ0aXRpb24gw6l0ZW5kdWUgKEVCUiwgcG91ciBsYSBwYXJ0aXRpb27CoCV6dSksIHNlcmEgY29ycmlnw6kgcGFyIHcgKMOpY3JpdHVyZSkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo5MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgc2VjdG9yICVqdSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJEw6lidXQgZGUgc2VjdGV1csKgJWp1IGhvcnMgbGltaXRlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMDI2IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTM2IGxpYmZkaXNrL3NyYy9zZ2kuYzo4MzkKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCittc2dzdHIgIkxhIHBhcnRpdGlvbsKgJXp1IGVzdCBkw6lqw6AgZMOpZmluaWUuIFN1cHByaW1lei1sw6AgYXZhbnQgZGUgbCdham91dGVyLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVsbHUgaXMgYWxyZWFkeSBhbGxvY2F0ZWQuIgorbXNnc3RyICJMZSBzZWN0ZXVywqAlbGx1IGVzdCBkw6lqw6AgYWxsb3XDqS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTMzIGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQ2Cittc2dpZCAiTm8gZnJlZSBzZWN0b3JzIGF2YWlsYWJsZS4iCittc2dzdHIgIkF1Y3VuIHNlY3RldXIgbGlicmUgZGlzcG9uaWJsZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIkFkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIkFqb3V0IGRlIGxhIHBhcnRpdGlvbiBsb2dpcXVlwqAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGNvbnRhaW5zIHNlY3RvciAwIgorbXNnc3RyICJQYXJ0aXRpb27CoCV6dcKgOiBjb250aWVudCB1biBzZWN0ZXVywqAwIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMxOAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBoZWFkICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVkIgorbXNnc3RyICJQYXJ0aXRpb27CoCV6dcKgOiB0w6p0ZcKgJWQgc3Vww6lyaWV1cmUgYXUgbWF4aW11bSAlZCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogc2VjdG9yICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIlBhcnRpdGlvbsKgJXp1wqA6IHNlY3RldXLCoCVkIHN1cMOpcmlldXIgYXUgbWF4aW11bSAlbGx1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMyNAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjeWxpbmRlciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICJQYXJ0aXRpb27CoCV6dcKgOiBjeWxpbmRyZcKgJWQgc3Vww6lyaWV1ciBhdSBtYXhpbXVtICVsbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHByZXZpb3VzIHNlY3RvcnMgJXUgZGlzYWdyZWVzIHdpdGggdG90YWwgJXUiCittc2dzdHIgIlBhcnRpdGlvbiAlenXCoDogc2VjdGV1cnMgcHLDqWPDqWRlbnRzICV1IG5lIGNvcnJlc3BvbmRlbnQgcGFzIGF1IHRvdGFswqAldSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgYmVnaW5uaW5ncyAobm9uLUxpbnV4Pyk6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiUGFydGl0aW9uwqAlenXCoDogZMOpYnV0cyBwaHlzaXF1ZSBldCBsb2dpcXVlIGRpZmbDqXJlbnRzIChwZXV0LcOqdHJlIG5vbiBMaW51eCnCoDogcGh5c2lxdWU9KCVkLCAlZCwgJWQpLCBsb2dpcXVlPSglZCwgJWQsICVkKSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgZW5kaW5nczogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICJQYXJ0aXRpb27CoCV6dcKgOiBmaW5zIHBoeXNpcXVlIGV0IGxvZ2lxdWUgZGlmZsOpcmVudGVzwqA6IHBoeXNpcXVlPSglZCwgJWQsICVkKSwgbG9naXF1ZT0oJWQsICVkLCAlZCkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIlBhcnRpdGlvbsKgJXp1wqA6IG5lIHNlIHRlcm1pbmUgcGFzIHN1ciB1bmUgZnJvbnRpw6hyZSBkZSBjeWxpbmRyZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGJhZCBzdGFydC1vZi1kYXRhLiIKK21zZ3N0ciAiUGFydGl0aW9uwqAlenXCoDogbWF1dmFpcyBkw6lidXQgZGUgZG9ubsOpZXMuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ0MgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBvdmVybGFwcyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiUGFydGl0aW9uwqAlenXCoDogY2hldmF1Y2hlIGxhIHBhcnRpdGlvbsKgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZW1wdHkuIgorbXNnc3RyICJQYXJ0aXRpb27CoCV6dcKgOiB2aWRlLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9naWNhbCBwYXJ0aXRpb24gJXp1OiBub3QgZW50aXJlbHkgaW4gcGFydGl0aW9uICV6dS4iCittc2dzdHIgIlBhcnRpdGlvbiBsb2dpcXVlwqAlenXCoDogcGFzIGVudGnDqHJlbWVudCBkYW5zIGxhIHBhcnRpdGlvbsKgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVG90YWwgYWxsb2NhdGVkIHNlY3RvcnMgJWxsdSBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gJWxsdS4iCittc2dzdHIgIlRvdGFsIGRlIHNlY3RldXJzIGFsbG91w6lzICVsbHUgc3Vww6lyaWV1ciBhdSBtYXhpbXVtICVsbHUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJSZW1haW5pbmcgJWxsZCB1bmFsbG9jYXRlZCAlbGQtYnl0ZSBzZWN0b3JzLiIKK21zZ3N0ciAiJWxsZMKgc2VjdGV1cnMgZGUgJWxkwqBvY3RldHMgbm9uIGFsbG91w6lzIHJlc3RhbnQuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUzMiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1NAorbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgIkxhIHBhcnRpdGlvbiDDqXRlbmR1ZSBleGlzdGUgZMOpasOgLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1NzUKK21zZ2lkICJUaGUgbWF4aW11bSBudW1iZXIgb2YgcGFydGl0aW9ucyBoYXMgYmVlbiBjcmVhdGVkLiIKK21zZ3N0ciAiTGUgbm9tYnJlIG1heGltYWwgZGUgcGFydGl0aW9ucyBhIMOpdMOpIGNyw6nDqS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTg3Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiIKK21zZ3N0ciAiVG91dGVzIGxlcyBwYXJ0aXRpb25zIHByaW1haXJlcyBzb250IHV0aWxpc8OpZXMuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU4OSBsaWJmZGlzay9zcmMvZG9zLmM6MTYwMAorbXNnaWQgIkFsbCBzcGFjZSBmb3IgcHJpbWFyeSBwYXJ0aXRpb25zIGlzIGluIHVzZS4iCittc2dzdHIgIlRvdXQgbOKAmWVzcGFjZSBkZXMgcGFydGl0aW9ucyBwcmltYWlyZXMgZXN0IHV0aWxpc8OpLiIKKworIy4gVFJBTlNMQVRPUlM6IFRyeSB0byBrZWVwIHRoaXMgd2l0aGluIDgwIGNoYXJhY3RlcnMuCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYwMworbXNnaWQgIlRvIGNyZWF0ZSBtb3JlIHBhcnRpdGlvbnMsIGZpcnN0IHJlcGxhY2UgYSBwcmltYXJ5IHdpdGggYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiUG91ciBlbiBjcsOpZXIgcGx1cywgcmVtcGxhY2V6IGQnYWJvcmQgdW5lIHBhcnRpdGlvbiBwcmltYWlyZSBwYXIgdW5lIMOpdGVuZHVlLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDgKK21zZ2lkICJBbGwgbG9naWNhbCBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIEFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uLiIKK21zZ3N0ciAiVG91dGVzIGxlcyBwYXJ0aXRpb25zIGxvZ2lxdWVzIHNvbnQgdXRpbGlzw6llcy4gQWpvdXQgZCd1bmUgcGFydGl0aW9uIHByaW1haXJlLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzAKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiVHlwZSBkZSBwYXJ0aXRpb24iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiV6dSBwcmltYXJ5LCAlZCBleHRlbmRlZCwgJXp1IGZyZWUiCittc2dzdHIgIiV6dcKgcHJpbWFpcmUsICVkwqDDqXRlbmR1ZSwgJXp1wqBsaWJyZSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzkKK21zZ2lkICJwcmltYXJ5IgorbXNnc3RyICJwcmltYWlyZSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDEKK21zZ2lkICJleHRlbmRlZCIKK21zZ3N0ciAiw6l0ZW5kdWUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQxCittc2dpZCAiY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMiCittc2dzdHIgImNvbnRlbmV1ciBwb3VyIHBhcnRpdGlvbnMgbG9naXF1ZXMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQzCittc2dpZCAibG9naWNhbCIKK21zZ3N0ciAibG9naXF1ZSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDMKK21zZ2lkICJudW1iZXJlZCBmcm9tIDUiCittc2dzdHIgIm51bcOpcm90w6kgw6AgcGFydGlyIGRlIDUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIHR5cGUgYCVjJy4iCittc2dzdHIgIlR5cGUgZGUgcGFydGl0aW9uIMKrwqAlY8KgwrsgaW5jb3JyZWN0LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlIHNlY3RvciAlamQ6IHNlZWsgZmFpbGVkIgorbXNnc3RyICJJbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBzZWN0ZXVyICVqZMKgOiDDqWNoZWMgZGUgcG9zaXRpb25uZW1lbnQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxODUyIGxpYmZkaXNrL3NyYy9ncHQuYzoxMDk2Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJJZGVudGlmaWFudCBkZSBkaXNxdWUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU5Cittc2dpZCAiVHlwZSAwIG1lYW5zIGZyZWUgc3BhY2UgdG8gbWFueSBzeXN0ZW1zLiBIYXZpbmcgcGFydGl0aW9ucyBvZiB0eXBlIDAgaXMgcHJvYmFibHkgdW53aXNlLiIKK21zZ3N0ciAiVHlwZSAwIHNpZ25pZmllIGxpYsOpcmVyIGwnZXNwYWNlIHN1ciBwbHVzaWV1cnMgc3lzdMOobWVzLiBBdm9pciBkZXMgcGFydGl0aW9ucyBkZSB0eXBlIDAgbidlc3QgcGFzIHJlY29tbWFuZMOpLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE5NjQKK21zZ2lkICJDYW5ub3QgY2hhbmdlIHR5cGUgb2YgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiB3aGljaCBpcyBhbHJlYWR5IHVzZWQgYnkgbG9naWNhbCBwYXJ0aXRpb25zLiBEZWxldGUgbG9naWNhbCBwYXJ0aXRpb25zIGZpcnN0LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE0MyBsaWJmZGlzay9zcmMvZ3B0LmM6MjgyMQorbXNnaWQgIk5vdGhpbmcgdG8gZG8uIE9yZGVyaW5nIGlzIGNvcnJlY3QgYWxyZWFkeS4iCittc2dzdHIgIlJpZW4gw6AgZmFpcmUuIEwnb3JkcmUgZXN0IGTDqWrDoCBjb3JyZWN0LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogbm8gZGF0YSBhcmVhLiIKK21zZ3N0ciAiUGFydGl0aW9uwqAlenXCoDogcGFzIGRlIHpvbmUgZGUgZG9ubsOpZXMuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjIyMgorbXNnaWQgIk5ldyBiZWdpbm5pbmcgb2YgZGF0YSIKK21zZ3N0ciAiTm91dmVhdSBkw6lidXQgZGUgZG9ubsOpZXMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGlzIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIlBhcnRpdGlvbsKgJXp1wqA6IGVzdCB1bmUgcGFydGl0aW9uIMOpdGVuZHVlLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIkzigJlpbmRpY2F0ZXVyIGTigJlhbW9yw6dhZ2UgZGUgbGEgcGFydGl0aW9uwqAlenUgZXN0IG1haW50ZW5hbnQgYWN0aXbDqS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiTOKAmWluZGljYXRldXIgZOKAmWFtb3LDp2FnZSBkZSBsYSBwYXJ0aXRpb27CoCV6dSBlc3QgbWFpbnRlbmFudCBkw6lzYWN0aXbDqS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjk4IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTExIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTUzCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTEwOQorbXNnaWQgIkRldmljZSIKK21zZ3N0ciAiUMOpcmlwaMOpcmlxdWUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjk5IGxpYmZkaXNrL3NyYy9zdW4uYzo0MQorbXNnaWQgIkJvb3QiCittc2dzdHIgIkFtb3LDp2FnZSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDUgbGliZmRpc2svc3JjL3NnaS5jOjExNTkgbGliZmRpc2svc3JjL3N1bi5jOjExMTUKK21zZ2lkICJJZCIKK21zZ3N0ciAiSWQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzA5Cittc2dpZCAiU3RhcnQtQy9IL1MiCittc2dzdHIgIkTDqWJ1dC1DL1QvUyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTAKK21zZ2lkICJFbmQtQy9IL1MiCittc2dzdHIgIkZpbi1DL1QvUyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTEgbGliZmRpc2svc3JjL2dwdC5jOjI5MjEgbGliZmRpc2svc3JjL3NnaS5jOjExNjEKK21zZ2lkICJBdHRycyIKK21zZ3N0ciAiQXR0ci4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjAKK21zZ2lkICJFRkkgU3lzdGVtIgorbXNnc3RyICJTeXN0w6htZSBFRkkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjIKK21zZ2lkICJNQlIgcGFydGl0aW9uIHNjaGVtZSIKK21zZ3N0ciAiU2Now6ltYSBkZSBwYXJ0aXRpb25uZW1lbnQgZHUgc2VjdGV1ciBkJ2Ftb3LDp2FnZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MworbXNnaWQgIkludGVsIEZhc3QgRmxhc2giCittc2dzdHIgIkZsYXNoIHJhcGlkZSBJbnRlbCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2NgorbXNnaWQgIkJJT1MgYm9vdCIKK21zZ3N0ciAiQW1vcsOnYWdlIEJJT1MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjkKK21zZ2lkICJTb255IGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICJQYXJ0aXRpb24gZCdhbW9yw6dhZ2UgU29ueSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MAorbXNnaWQgIkxlbm92byBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiUGFydGl0aW9uIGQnYW1vcsOnYWdlIExlbm92byIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MworbXNnaWQgIlBvd2VyUEMgUFJlUCBib290IgorbXNnc3RyICJQb3dlclBDIFBSZVAgQm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NgorbXNnaWQgIk9OSUUgYm9vdCIKK21zZ3N0ciAiQm9vdCBPTklFIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc3Cittc2dpZCAiT05JRSBjb25maWciCittc2dzdHIgIkNvbmZpZ3VyYXRpb24gT05JRSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MAorbXNnaWQgIk1pY3Jvc29mdCByZXNlcnZlZCIKK21zZ3N0ciAiUsOpc2VydsOpIE1pY3Jvc29mdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MQorbXNnaWQgIk1pY3Jvc29mdCBiYXNpYyBkYXRhIgorbXNnc3RyICJEb25uw6llcyBkZSBiYXNlIE1pY3Jvc29mdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MgorbXNnaWQgIk1pY3Jvc29mdCBMRE0gbWV0YWRhdGEiCittc2dzdHIgIk3DqXRhZG9ubsOpZXMgTERNIE1pY3Jvc29mdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MworbXNnaWQgIk1pY3Jvc29mdCBMRE0gZGF0YSIKK21zZ3N0ciAiRG9ubsOpZXMgTERNIE1pY3Jvc29mdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NAorbXNnaWQgIldpbmRvd3MgcmVjb3ZlcnkgZW52aXJvbm1lbnQiCittc2dzdHIgIkVudmlyb25uZW1lbnQgZGUgcsOpY3Vww6lyYXRpb24gV2luZG93cyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NQorbXNnaWQgIklCTSBHZW5lcmFsIFBhcmFsbGVsIEZzIgorbXNnc3RyICJHZW5lcmFsIFBhcmFsbGVsIEZpbGUgU3lzdGVtIElCTSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NgorbXNnaWQgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKK21zZ3N0ciAiRXNwYWNlIGRlIHN0b2NrYWdlIE1pY3Jvc29mdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4OQorbXNnaWQgIkhQLVVYIGRhdGEiCittc2dzdHIgIkRvbm7DqWVzIEhQLVVYIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkwCittc2dpZCAiSFAtVVggc2VydmljZSIKK21zZ3N0ciAiU2VydmljZSBIUC1VWCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MyBsaWJmZGlzay9zcmMvc2dpLmM6NjEgbGliZmRpc2svc3JjL3N1bi5jOjUyCittc2dpZCAiTGludXggc3dhcCIKK21zZ3N0ciAiUGFydGl0aW9uIGQnw6ljaGFuZ2UgTGludXgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTQKK21zZ2lkICJMaW51eCBmaWxlc3lzdGVtIgorbXNnc3RyICJTeXN0w6htZSBkZSBmaWNoaWVycyBMaW51eCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NQorbXNnaWQgIkxpbnV4IHNlcnZlciBkYXRhIgorbXNnc3RyICJEb25uw6llcyBkZSBzZXJ2ZXVyIExpbnV4IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk2Cittc2dpZCAiTGludXggcm9vdCAoeDg2KSIKK21zZ3N0ciAiUmFjaW5lIExpbnV4ICh4ODYpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3Cittc2dpZCAiTGludXggcm9vdCAoQVJNKSIKK21zZ3N0ciAiTGludXggcm9vdCAoQVJNKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OAorbXNnaWQgIkxpbnV4IHJvb3QgKHg4Ni02NCkiCittc2dzdHIgIlJhY2luZSBMaW51eCAoeDg2LTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OQorbXNnaWQgIkxpbnV4IHJvb3QgKEFSTS02NCkiCittc2dzdHIgIkxpbnV4IHJvb3QgKEFSTS02NCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAKK21zZ2lkICJMaW51eCByb290XHQoSUEtNjQpIgorbXNnc3RyICJMaW51eCByb290XHQoSUEtNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAxCittc2dpZCAiTGludXggcmVzZXJ2ZWQiCittc2dzdHIgIlLDqXNlcnbDqSBMaW51eCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMgorbXNnaWQgIkxpbnV4IGhvbWUiCittc2dzdHIgIkRvbm7DqWVzIHBlcnNvbm5lbGxlcyBMaW51eCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMyBsaWJmZGlzay9zcmMvc2dpLmM6NjQKK21zZ2lkICJMaW51eCBSQUlEIgorbXNnc3RyICJSQUlEIExpbnV4IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0Cittc2dpZCAiTGludXggZXh0ZW5kZWQgYm9vdCIKK21zZ3N0ciAiQW1vcsOnYWdlIExpbnV4IMOpdGVuZHUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTIKK21zZ2lkICJGcmVlQlNEIGRhdGEiCittc2dzdHIgIkRvbm7DqWVzIEZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTMKK21zZ2lkICJGcmVlQlNEIGJvb3QiCittc2dzdHIgIkFtb3LDp2FnZSBGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0Cittc2dpZCAiRnJlZUJTRCBzd2FwIgorbXNnc3RyICJQYXJ0aXRpb24gZCfDqWNoYW5nZSBGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1Cittc2dpZCAiRnJlZUJTRCBVRlMiCittc2dzdHIgIlVGUyBGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2Cittc2dpZCAiRnJlZUJTRCBaRlMiCittc2dzdHIgIlpGUyBGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3Cittc2dpZCAiRnJlZUJTRCBWaW51bSIKK21zZ3N0ciAiVmludW0gRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMAorbXNnaWQgIkFwcGxlIEhGUy9IRlMrIgorbXNnc3RyICJIRlMgb3UgSEZTKyBBcHBsZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMQorbXNnaWQgIkFwcGxlIFVGUyIKK21zZ3N0ciAiVUZTIEFwcGxlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyCittc2dpZCAiQXBwbGUgUkFJRCIKK21zZ3N0ciAiUkFJRCBBcHBsZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMworbXNnaWQgIkFwcGxlIFJBSUQgb2ZmbGluZSIKK21zZ3N0ciAiUkFJRCBob3JzIGxpZ25lIEFwcGxlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0Cittc2dpZCAiQXBwbGUgYm9vdCIKK21zZ3N0ciAiQW1vcsOnYWdlIEFwcGxlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1Cittc2dpZCAiQXBwbGUgbGFiZWwiCittc2dzdHIgIsOJdGlxdWV0dGUgQXBwbGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjYKK21zZ2lkICJBcHBsZSBUViByZWNvdmVyeSIKK21zZ3N0ciAiUsOpY3Vww6lyYXRpb24gZCdBcHBsZSBUViIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNworbXNnaWQgIkFwcGxlIENvcmUgc3RvcmFnZSIKK21zZ3N0ciAiU3RvY2thZ2UgZCdBcHBsZSBDb3JlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMxCittc2dpZCAiU29sYXJpcyByb290IgorbXNnc3RyICJSYWNpbmUgU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMworbXNnaWQgIlNvbGFyaXMgL3VzciAmIEFwcGxlIFpGUyIKK21zZ3N0ciAiL3VzciBTb2xhcmlzIGV0IFpGUyBBcHBsZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNAorbXNnaWQgIlNvbGFyaXMgc3dhcCIKK21zZ3N0ciAiUGFydGl0aW9uIGQnw6ljaGFuZ2UgU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNQorbXNnaWQgIlNvbGFyaXMgYmFja3VwIgorbXNnc3RyICJTYXV2ZWdhcmRlIFNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzYKK21zZ2lkICJTb2xhcmlzIC92YXIiCittc2dzdHIgIi92YXIgU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNworbXNnaWQgIlNvbGFyaXMgL2hvbWUiCittc2dzdHIgIi9ob21lIFNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzgKK21zZ2lkICJTb2xhcmlzIGFsdGVybmF0ZSBzZWN0b3IiCittc2dzdHIgIlNlY3RldXIgYWx0ZXJuYXRpZiBTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAxIgorbXNnc3RyICJSw6lzZXJ2w6kgMSBTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQwCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAyIgorbXNnc3RyICJSw6lzZXJ2w6kgMiBTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAzIgorbXNnc3RyICJSw6lzZXJ2w6kgMyBTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA0IgorbXNnc3RyICJSw6lzZXJ2w6kgNCBTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQzCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA1IgorbXNnc3RyICJSw6lzZXJ2w6kgNSBTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2Cittc2dpZCAiTmV0QlNEIHN3YXAiCittc2dzdHIgIlBhcnRpdGlvbiBkJ8OpY2hhbmdlIE5ldEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NworbXNnaWQgIk5ldEJTRCBGRlMiCittc2dzdHIgIkZGUyBOZXRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgKK21zZ2lkICJOZXRCU0QgTEZTIgorbXNnc3RyICJMRlMgTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5Cittc2dpZCAiTmV0QlNEIGNvbmNhdGVuYXRlZCIKK21zZ3N0ciAiQ29uY2F0w6luw6kgTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwCittc2dpZCAiTmV0QlNEIGVuY3J5cHRlZCIKK21zZ3N0ciAiQ2hpZmZyw6kgTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUxCittc2dpZCAiTmV0QlNEIFJBSUQiCittc2dzdHIgIlJBSUQgTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0Cittc2dpZCAiQ2hyb21lT1Mga2VybmVsIgorbXNnc3RyICJOb3lhdSBDaHJvbWVPUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NQorbXNnaWQgIkNocm9tZU9TIHJvb3QgZnMiCittc2dzdHIgIlN5c3TDqG1lIGRlIGZpY2hpZXJzIHJhY2luZSBDaHJvbWVPUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NgorbXNnaWQgIkNocm9tZU9TIHJlc2VydmVkIgorbXNnc3RyICJSw6lzZXJ2w6kgQ2hyb21lT1MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTkKK21zZ2lkICJNaWRuaWdodEJTRCBkYXRhIgorbXNnc3RyICJEb25uw6llcyBNaWRuaWdodEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MAorbXNnaWQgIk1pZG5pZ2h0QlNEIGJvb3QiCittc2dzdHIgIkFtb3LDp2FnZSBNaWRuaWdodEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MQorbXNnaWQgIk1pZG5pZ2h0QlNEIHN3YXAiCittc2dzdHIgIlBhcnRpdGlvbiBkJ8OpY2hhbmdlIE1pZG5pZ2h0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyCittc2dpZCAiTWlkbmlnaHRCU0QgVUZTIgorbXNnc3RyICJVRlMgTWlkbmlnaHRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjMKK21zZ2lkICJNaWRuaWdodEJTRCBaRlMiCittc2dzdHIgIlpGUyBNaWRuaWdodEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NAorbXNnaWQgIk1pZG5pZ2h0QlNEIFZpbnVtIgorbXNnc3RyICJWaW51bSBNaWRuaWdodEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NworbXNnaWQgIkNlcGggSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4Cittc2dpZCAiQ2VwaCBFbmNyeXB0ZWQgSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5Cittc2dpZCAiQ2VwaCBPU0QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MAorbXNnaWQgIkNlcGggY3J5cHQgT1NEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzEKK21zZ2lkICJDZXBoIGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MgorbXNnaWQgIkNlcGggY3J5cHQgZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1Cittc2dpZCAiT3BlbkJTRCBkYXRhIgorbXNnc3RyICJEb25uw6llcyBPcGVuQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc4Cittc2dpZCAiUU5YNiBmaWxlIHN5c3RlbSIKK21zZ3N0ciAiU3lzdMOobWUgZGUgZmljaGllcnMgUU5YNiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4MQorbXNnaWQgIlBsYW4gOSBwYXJ0aXRpb24iCittc2dzdHIgIlBhcnRpdGlvbiBQbGFuIDkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo1NDcKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR1BUIGhlYWRlciIKK21zZ3N0ciAiw6ljaGVjIGQnYWxsb2NhdGlvbiBk4oCZZW4tdMOqdGUgR1BUIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NjMwCittc2dpZCAiRmlyc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NjQyCittc2dpZCAiTGFzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR1BUIFBNQlIgc2l6ZSBtaXNtYXRjaCAoJTxQUkl1NjQ+ICE9ICU8UFJJdTY0Pikgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIk1hdXZhaXNlIGNvbmNvcmRhbmNlIGRlcyB0YWlsbGVzIGRlIHBhcnRpdGlvbiBkdSBzZWN0ZXVyIGQnYW1vcsOnYWdlIEdQVCAoJTxQUkl1NjQ+ICE9ICU8UFJJdTY0PiksIGVsbGUgc2Vyb250IGNvcnJpZ8OpZXMgcGFyIGxhIGNvbW1hbmRlIHcgKMOpY3JpdHVyZSkuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NzkyCittc2dpZCAiZ3B0OiBzdGF0KCkgZmFpbGVkIgorbXNnc3RyICJncHTCoDogw6ljaGVjIGRlIHN0YXQoKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjgwMgorIywgYy1mb3JtYXQKK21zZ2lkICJncHQ6IGNhbm5vdCBoYW5kbGUgZmlsZXMgd2l0aCBtb2RlICVvIgorbXNnc3RyICJncHTCoDogaW1wb3NzaWJsZSBkZSB0cmFpdGVyIGxlcyBmaWNoaWVycyBlbiBtb2RlwqAlbyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEwNjQKK21zZ2lkICJHUFQgSGVhZGVyIgorbXNnc3RyICJFbi10w6p0ZSBHUFQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMDY5Cittc2dpZCAiR1BUIEVudHJpZXMiCittc2dzdHIgIkVudHLDqWVzIEdQVCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExMDMKK21zZ2lkICJGaXJzdCBMQkEiCittc2dzdHIgIlByZW1pZXIgTEJBIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEwOAorbXNnaWQgIkxhc3QgTEJBIgorbXNnc3RyICJEZXJuaWVyIExCQSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBMQkEgKExvZ2ljYWwgQmxvY2sgQWRkcmVzcykgb2YgdGhlIGJhY2t1cCBHUFQgaGVhZGVyLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjExMTQKK21zZ2lkICJBbHRlcm5hdGl2ZSBMQkEiCittc2dzdHIgIkxCQSBhbHRlcm5hdGlmIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YXJ0IG9mIHRoZSBhcnJheSBvZiBwYXJ0aXRpb24gZW50cmllcy4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTIwCittc2dpZCAiUGFydGl0aW9uIGVudHJpZXMgTEJBIgorbXNnc3RyICJFbnRyw6llcyBkZSBwYXJ0aXRpb24gTEJBIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEyNQorbXNnaWQgIkFsbG9jYXRlZCBwYXJ0aXRpb24gZW50cmllcyIKK21zZ3N0ciAiRW50csOpZXMgZGUgcGFydGl0aW9ucyBhbGxvdcOpZXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNDQwCittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBwcmltYXJ5IGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAiTGEgdGFibGUgZGUgcGFydGl0aW9ucyBHUFQgZGUgc2F1dmVnYXJkZSBlc3QgY29ycm9tcHVlLCBtYWlzIGxhIHByaW1haXJlIHNlbWJsZSBmb25jdGlvbm5lbGxlLCBlbGxlIHNlcmEgZG9uYyB1dGlsaXPDqWUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTQ0OQorbXNnaWQgIlRoZSBwcmltYXJ5IEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIGJhY2t1cCBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIkxhIHRhYmxlIGRlIHBhcnRpdGlvbnMgR1BUIHByaW1haXJlIGVzdCBjb3Jyb21wdWUsIG1haXMgbGEgc2F1dmVnYXJkZSBzZW1ibGUgZm9uY3Rpb25uZWxsZSwgZWxsZSBzZXJhIGRvbmMgdXRpbGlzw6llLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgR1BUIGF0dHJpYnV0ZSBiaXQgJyVzJyIKK21zZ3N0ciAiYml0IMKrwqAlc8KgwrsgZOKAmWF0dHJpYnV0IEdQVCBub24gcHJpcyBlbiBjaGFyZ2UiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgR1BUIGF0dHJpYnV0ZSBzdHJpbmcgJyVzJyIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkZSBsYSBsaXN0ZSDCq8KgJXPCoMK7IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczMQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gVVVJRCBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICJVVUlEIGRlIHBhcnRpdGlvbiBtb2RpZmnDqSBkZSAlcyBlbiAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lIGNoYW5nZWQgZnJvbSAnJXMnIHRvICclLipzJy4iCittc2dzdHIgIk5vbSBkZSBwYXJ0aXRpb24gbW9kaWZpw6kgZGUgwqvCoCVzwqDCuyBlbiDCq8KgJS4qc8KgwrsuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc2OAorIywgZnV6enkKK21zZ2lkICJUaGUgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiB1bmRlcnN0ZXBzIEZpcnN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiRMOpYnV0IGRlIGxhIHBhcnRpdGlvbiBlbiBzZWN0ZXVyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc3NQorIywgZnV6enkKK21zZ2lkICJUaGUgZW5kIG9mIHRoZSBwYXJ0aXRpb24gb3ZlcnN0ZXBzIExhc3RVc2FibGVMQkEuIgorbXNnc3RyICJGaW4gZGUgbGEgcGFydGl0aW9uIGVuIHNlY3RldXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTM0Cittc2dpZCAiVGhlIGRldmljZSBjb250YWlucyBoeWJyaWQgTUJSIC0tIHdyaXRpbmcgR1BUIG9ubHkuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIE1CUiBtYW51YWxseS4iCittc2dzdHIgIkxlIHDDqXJpcGjDqXJpcXVlIGNvbnRpZW50IHVuIHNlY3RldXIgZOKAmWFtb3LDp2FnZSBoeWJyaWRlIOKAlCDDqWNyaXR1cmUgZGUgR1BUIHNldWxlbWVudC4gVm91cyBkZXZleiBzeW5jaHJvbmlzZXIgbGUgc2VjdGV1ciBk4oCZYW1vcsOnYWdlIHZvdXMtbcOqbWUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3MQorbXNnaWQgIkRpc2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICJMZSBkaXNxdWUgbmUgY29udGllbnQgcGFzIGQnZW4tdMOqdGUgZGUgc2F1dmVnYXJkZSB2YWxhYmxlLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NzYKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIlNvbW1lIGRlIGNvbnRyw7RsZSBDUkMgZCdlbi10w6p0ZSBwcmltYWlyZSBpbmNvcnJlY3RlLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5ODAKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiU29tbWUgZGUgY29udHLDtGxlIENSQyBkJ2VuLXTDqnRlIGRlIHNhdXZlZ2FyZGUgaW5jb3JyZWN0ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTg1Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gZW50cnkgY2hlY2tzdW0uIgorbXNnc3RyICJTb21tZSBkZSBjb250csO0bGUgZCdlbnRyw6llIGRlIHBhcnRpdGlvbiBpbmNvcnJlY3RlLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OTAKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiQ29udHLDtGxlcyBkJ2ludMOpZ3JpdMOpIExCQSBkJ2VuLXTDqnRlIHByaW1haXJlIGluY29ycmVjdHMuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5NAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIkNvbnRyw7RsZXMgZCdpbnTDqWdyaXTDqSBMQkEgZCdlbi10w6p0ZSBkZSBzYXV2ZWdhcmRlIGluY29ycmVjdHMuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5OQorbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBwcmltYXJ5IGhlYWRlci4iCittc2dzdHIgIk15TEJBIG5lIGNvcnJlc3BvbmQgcGFzIMOgIGxhIHbDqXJpdGFibGUgcG9zaXRpb24gZGFucyBsJ2VuLXTDqnRlIHByaW1haXJlLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMDMKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIk15TEJBIG5lIGNvcnJlc3BvbmQgcGFzIMOgIGxhIHbDqXJpdGFibGUgcG9zaXRpb24gZGFucyBsJ2VuLXTDqnRlIGRlIHNhdXZlZ2FyZGUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwOAorbXNnaWQgIkRpc2sgaXMgdG9vIHNtYWxsIHRvIGhvbGQgYWxsIGRhdGEuIgorbXNnc3RyICJMZSBkaXNxdWUgZXN0IHRyb3AgcGV0aXQgcG91ciBjb250ZW5pciB0b3V0ZXMgbGVzIGRvbm7DqWVzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMTgKK21zZ2lkICJQcmltYXJ5IGFuZCBiYWNrdXAgaGVhZGVyIG1pc21hdGNoLiIKK21zZ3N0ciAiTGVzIGVuLXTDqnRlcyBwcmltYWlyZSBldCBkZSBzYXV2ZWdhcmRlIG5lIGNvcnJlc3BvbmRlbnQgcGFzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggcGFydGl0aW9uICV1LiIKK21zZ3N0ciAiTGEgcGFydGl0aW9uwqAldSBjaGV2YXVjaGUgbGEgcGFydGl0aW9uwqAldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBpcyB0b28gYmlnIGZvciB0aGUgZGlzay4iCittc2dzdHIgIkxhIHBhcnRpdGlvbsKgJXUgZXN0IHRyb3AgZ3JhbmRlIHBvdXIgbGUgZGlzcXVlLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGVuZHMgYmVmb3JlIGl0IHN0YXJ0cy4iCittc2dzdHIgIkxhIHBhcnRpdGlvbsKgJXUgc2UgdGVybWluZSBhdmFudCBkZSBjb21tZW5jZXIuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0NworbXNnaWQgIk5vIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHIgIkF1Y3VuZSBlcnJldXIgZMOpdGVjdMOpZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIkhlYWRlciB2ZXJzaW9uOiAlcyIKK21zZ3N0ciAiVmVyc2lvbiBkJ2VuLXTDqnRlwqA6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0OQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyAldSBvdXQgb2YgJWQgcGFydGl0aW9ucy4iCittc2dzdHIgIlV0aWxpc2F0aW9uIGRlICV1wqBwYXJ0aXRpb25zIHN1ciAlZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudC4iCittc2dpZF9wbHVyYWwgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudHMgKHRoZSBsYXJnZXN0IGlzICVzKS4iCittc2dzdHJbMF0gIlVuIHRvdGFsIGRlICVqdcKgc2VjdGV1cnMgbGlicmVzIGVzdCBkaXNwb25pYmxlIHN1ciAldcKgc2VnbWVudC4iCittc2dzdHJbMV0gIlVuIHRvdGFsIGRlICVqdcKgc2VjdGV1cnMgbGlicmVzIGVzdCBkaXNwb25pYmxlIHN1ciAldcKgc2VnbWVudHMgKGxlIHBsdXMgZ3JhbmQgZXN0ICVzKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGVycm9yIGRldGVjdGVkLiIKK21zZ2lkX3BsdXJhbCAiJWQgZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0clswXSAiJWTCoGVycmV1ciBkw6l0ZWN0w6llLiIKK21zZ3N0clsxXSAiJWTCoGVycmV1cnMgZMOpdGVjdMOpZXMuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0MgorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIGFyZSBhbHJlYWR5IGluIHVzZS4iCittc2dzdHIgIlRvdXRlcyBsZXMgcGFydGl0aW9ucyBzb250IGTDqWrDoCBlbiBjb3VycyBkJ3V0aWxpc2F0aW9uLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOTcgbGliZmRpc2svc3JjL2dwdC5jOjIyMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVqdSBhbHJlYWR5IHVzZWQuIgorbXNnc3RyICJMZSBzZWN0ZXVywqAlanUgZXN0IGTDqWrDoCB1dGlsaXPDqS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSBjcsOpZXIgbGEgcGFydGl0aW9uwqAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBsYXN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaXJzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyOQorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IEdQVCBkaXNrbGFiZWwgKEdVSUQ6ICVzKS4iCittc2dzdHIgIlVuZSBub3V2ZWxsZSDDqXRpcXVldHRlIGRlIGRpc3F1ZSBHUFQgYSDDqXTDqSBjcsOpw6llIChHVUlEwqA6ICVzKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDQ3Cittc2dpZCAiRW50ZXIgbmV3IGRpc2sgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICJTYWlzaXNzZXogbGUgbm91dmVsIFVVSUQgZHUgZGlzcXVlIChhdSBmb3JtYXQgOC00LTQtNC0xMikiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDU0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHlvdXIgVVVJRC4iCittc2dzdHIgIsOJY2hlYyBkJ2FuYWx5c2UgZGUgbOKAmVVVSUQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2OAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiSWRlbnRpZmlhbnQgZGUgZGlzcXVlIG1vZGlmacOpIGRlICVzIGVuICVzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0ODgKKyMsIGZ1enp5Cittc2dpZCAiTm90IGVub3VnaCBzcGFjZSBmb3IgbmV3IHBhcnRpdGlvbiB0YWJsZSEiCittc2dzdHIgIiVzwqA6IGF1Y3VuZSB0YWJsZSBkZSBwYXJ0aXRpb25zIHRyb3V2w6llLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMldSBvdXQgb2YgcmFuZ2UgKG1pbmltYWwgc3RhcnQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXUgb3V0IG9mIHJhbmdlIChtYXhpbWFsIGVuZCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBudW1iZXIgb2YgdGhlIHBhcnRpdGlvbiBoYXMgYmUgc21hbGxlciB0aGFuICV6dS4iCittc2dzdHIgIkxlIG5vbWJyZSBtYXhpbWFsIGRlIHBhcnRpdGlvbnMgYSDDqXTDqSBjcsOpw6kuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU2MworbXNnaWQgIkNhbm5vdCBhbGxvY2F0ZSBtZW1vcnkhIgorbXNnc3RyICJBbGxvY2F0aW9uIGRlIG3DqW1vaXJlIGltcG9zc2libGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBsZW5ndGggY2hhbmdlZCBmcm9tICU8UFJJdTMyPiB0byAlPFBSSXU2ND4uIgorbXNnc3RyICJMb25ndWV1ciBkZSBsYSB0YWJsZSBkZSBwYXJ0aXRpb25zIG1vZGlmacOpZSBkZSDCq8KgJTxQUkl1MzI+wqDCuyBlbiDCq8KgJTxQUkl1NjQ+wqDCuy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBhdHRyaWJ1dGVzIG9uIHBhcnRpdGlvbiAlenUgY2hhbmdlZCB0byAweCUwMTY8UFJJeDY0Pi4iCittc2dzdHIgIkxlIGF0dHJpYnV0cyBkZSBsYSBwYXJ0aXRpb27CoCV6dSBtb2RpZmnDqXMgZW4gMHglMDE2PFBSSXg2ND4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc0MgorbXNnaWQgIkVudGVyIEdVSUQgc3BlY2lmaWMgYml0IgorbXNnc3RyICJTYWlzaXNzZXogbGUgYml0IHNww6ljaWZpcXVlIGF1IEdVSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB0b2dnbGUgdW5zdXBwb3J0ZWQgYml0ICVsdSIKK21zZ3N0ciAiw6ljaGVjIGRlIG1vZGlmaWNhdGlvbiBkdSBiaXTCoCVsdSBub24gcHJpcyBlbiBjaGFyZ2UiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiTGUgYml0wqAlZCBzcMOpY2lmaXF1ZSBhdSBHVUlEIGRlIGxhIHBhcnRpdGlvbsKgJXp1IGVzdCBtYWludGVuYW50IGFjdGl2w6kuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJMZSBiaXTCoCVkIHNww6ljaWZpcXVlIGF1IEdVSUQgZGUgbGEgcGFydGl0aW9uwqAlenUgZXN0IG1haW50ZW5hbnQgZMOpc2FjdGl2w6kuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3NQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiTOKAmWluZGljYXRldXLCoCVzIGRlIGxhIHBhcnRpdGlvbsKgJXp1IGVzdCBtYWludGVuYW50IGFjdGl2w6kuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIkzigJlpbmRpY2F0ZXVywqAlcyBkZSBsYSBwYXJ0aXRpb27CoCV6dSBlc3QgbWFpbnRlbmFudCBkw6lzYWN0aXbDqS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE4Cittc2dpZCAiVHlwZS1VVUlEIgorbXNnc3RyICJUeXBlLVVVSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE5Cittc2dpZCAiVVVJRCIKK21zZ3N0ciAiVVVJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MjAgbG9naW4tdXRpbHMvY2hmbi5jOjE1MCBsb2dpbi11dGlscy9jaGZuLmM6MTUyCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzA3Cittc2dpZCAiTmFtZSIKK21zZ3N0ciAiTm9tIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6ODQwCittc2dpZCAiRnJlZSBzcGFjZSIKK21zZ3N0ciAiRXNwYWNlIGxpYnJlIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6MTIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiAjJXp1LiIKK21zZ3N0ciAiw4ljaGVjIGRlIHJlZGltZW5zaW9ubmVtZW50IGRlIGxhIHBhcnRpdGlvbiAjJXp1LiIKKworIzogbGliZmRpc2svc3JjL3BhcnR0eXBlLmM6MjU5IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1NSBzY2hlZHV0aWxzL2NocnQuYzoyMDYKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6Nzkgc3lzLXV0aWxzL2h3Y2xvY2suYzozMzQKK21zZ2lkICJ1bmtub3duIgorbXNnc3RyICJpbmNvbm51IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDcKK21zZ2lkICJTR0kgdm9saGRyIgorbXNnc3RyICJ2b2xoZHIgU0dJIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDgKK21zZ2lkICJTR0kgdHJrcmVwbCIKK21zZ3N0ciAidHJrcmVwbCBTR0kiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OQorbXNnaWQgIlNHSSBzZWNyZXBsIgorbXNnc3RyICJzZWNyZXBsIFNHSSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUwCittc2dpZCAiU0dJIHJhdyIKK21zZ3N0ciAiYnJ1dCBTR0kiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MQorbXNnaWQgIlNHSSBic2QiCittc2dzdHIgImJzZCBTR0kiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MgorbXNnaWQgIlNHSSBzeXN2IgorbXNnc3RyICJzeXN2IFNHSSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUzCittc2dpZCAiU0dJIHZvbHVtZSIKK21zZ3N0ciAidm9sdW1lIFNHSSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU0Cittc2dpZCAiU0dJIGVmcyIKK21zZ3N0ciAiZWZzIFNHSSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU1Cittc2dpZCAiU0dJIGx2b2wiCittc2dzdHIgImx2b2wgU0dJIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTYKK21zZ2lkICJTR0kgcmx2b2wiCittc2dzdHIgInJsdm9sIFNHSSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU3Cittc2dpZCAiU0dJIHhmcyIKK21zZ3N0ciAieGZzIFNHSSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU4Cittc2dpZCAiU0dJIHhmc2xvZyIKK21zZ3N0ciAieGZzbG9nIFNHSSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5Cittc2dpZCAiU0dJIHhsdiIKK21zZ3N0ciAieGx2IFNHSSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYwCittc2dpZCAiU0dJIHh2bSIKK21zZ3N0ciAieHZtIFNHSSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyIGxpYmZkaXNrL3NyYy9zdW4uYzo1MworbXNnaWQgIkxpbnV4IG5hdGl2ZSIKK21zZ3N0ciAibmF0aXZlIExpbnV4IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTU5Cittc2dpZCAiU0dJIGluZm8gY3JlYXRlZCBvbiBzZWNvbmQgc2VjdG9yLiIKK21zZ3N0ciAiSW5mb3JtYXRpb25zIFNHSSBjcsOpw6llcyBzdXIgbGUgZGV1eGnDqG1lIHNlY3RldXIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjU5Cittc2dpZCAiRGV0ZWN0ZWQgYW4gU0dJIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiIKK21zZ3N0ciAiVW5lIMOpdGlxdWV0dGUgZGUgZGlzcXVlIFNHSSBkw6l0ZWN0w6llIGF2ZWMgdW5lIHNvbW1lIGRlIGNvbnRyw7RsZSBlcnJvbsOpZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODIgbGliZmRpc2svc3JjL3N1bi5jOjc3MAorbXNnaWQgIlBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiQ3lsaW5kcmVzIHBoeXNpcXVlcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4NyBsaWJmZGlzay9zcmMvc3VuLmM6Nzc1Cittc2dpZCAiRXh0cmEgc2VjdHMvY3lsIgorbXNnc3RyICJTZWN0ZXVycy9jeWxpbmRyZXMgYWRkaXRpb25uZWxzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjk3Cittc2dpZCAiQm9vdGZpbGUiCittc2dzdHIgIkZpY2hpZXIgZCdhbW9yw6dhZ2UiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzozOTUKK21zZ2lkICJJbnZhbGlkIGJvb3RmaWxlISAgVGhlIGJvb3RmaWxlIG11c3QgYmUgYW4gYWJzb2x1dGUgbm9uLXplcm8gcGF0aG5hbWUsIGUuZy4gXCIvdW5peFwiIG9yIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAiRmljaGllciBkJ2Ftb3LDp2FnZSBub24gdmFsYWJsZS4gTGUgZmljaGllciBkJ2Ftb3LDp2FnZSBkb2l0IGF2b2lyIHVuIGNoZW1pbiBkJ2FjY8OocyBhYnNvbHUgbm9uIG51bCwgcGFyIGV4ZW1wbGUgwqvCoC91bml4wqDCuyBvdSDCq8KgL3VuaXguc2F2ZcKgwrsuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDAxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlIG1heGltdW0uIgorbXNnaWRfcGx1cmFsICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZXMgbWF4aW11bS4iCittc2dzdHJbMF0gIkxlIG5vbSBkdSBmaWNoaWVyIGQnYW1vcsOnYWdlIGVzdCB0cm9wIGxvbmfCoDogJXp1wqBvY3RldCBhdSBtYXhpbXVtLiIKK21zZ3N0clsxXSAiTGUgbm9tIGR1IGZpY2hpZXIgZCdhbW9yw6dhZ2UgZXN0IHRyb3AgbG9uZ8KgOiAlenXCoG9jdGV0cyBhdSBtYXhpbXVtLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwOAorbXNnaWQgIkJvb3RmaWxlIG11c3QgaGF2ZSBhIGZ1bGx5IHF1YWxpZmllZCBwYXRobmFtZS4iCittc2dzdHIgIkxlIGZpY2hpZXIgZCdhbW9yw6dhZ2UgZG9pdCBhdm9pciB1biBjaGVtaW4gZCdhY2PDqHMgY29tcGzDqHRlbWVudCBxdWFsaWZpw6kuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDE0Cittc2dpZCAiQmUgYXdhcmUgdGhhdCB0aGUgYm9vdGZpbGUgaXMgbm90IGNoZWNrZWQgZm9yIGV4aXN0ZW5jZS4gIFNHSSdzIGRlZmF1bHQgaXMgXCIvdW5peFwiLCBhbmQgZm9yIGJhY2t1cCBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIkF0dGVudGlvbiwgbCdleGlzdGVuY2UgZHUgZmljaGllciBkJ2Ftb3LDp2FnZSBuJ2VzdCBwYXMgdsOpcmlmacOpZS4gUGFyIGTDqWZhdXQgcG91ciBTR0ksIGMnZXN0IMKrwqAvdW5peMKgwrsgZXQgcG91ciBsYSBzYXV2ZWdhcmRlIMKrwqAvdW5peC5zYXZlwqDCuy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGN1cnJlbnQgYm9vdCBmaWxlIGlzOiAlcyIKK21zZ3N0ciAiTGUgZmljaGllciBkJ2Ftb3LDp2FnZSBhY3R1ZWwgZXN0wqA6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQxCittc2dpZCAiRW50ZXIgb2YgdGhlIG5ldyBib290IGZpbGUiCittc2dzdHIgIlNhaXNpc3NleiBsZSBub3V2ZWF1IGZpY2hpZXIgZCdhbW9yw6dhZ2UiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDYKK21zZ2lkICJCb290IGZpbGUgaXMgdW5jaGFuZ2VkLiIKK21zZ3N0ciAiTGUgZmljaGllciBkJ2Ftb3LDp2FnZSBu4oCZZXN0IHBhcyBtb2RpZmnDqS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdGZpbGUgaGFzIGJlZW4gY2hhbmdlZCB0byBcIiVzXCIuIgorbXNnc3RyICJMZSBmaWNoaWVyIGQnYW1vcsOnYWdlIGEgw6l0w6kgbW9kaWZpw6kgZW4gwqvCoCVzwqDCuy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OTYKK21zZ2lkICJNb3JlIHRoYW4gb25lIGVudGlyZSBkaXNrIGVudHJ5IHByZXNlbnQuIgorbXNnc3RyICJQbHVzIGQndW5lIGVudHLDqWUgZGUgZGlzcXVlIGVudGllciBwcsOpc2VudGUuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAzIGxpYmZkaXNrL3NyYy9zdW4uYzo0NTgKK21zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQuIgorbXNnc3RyICJBdWN1bmUgcGFydGl0aW9uIGTDqWZpbmllLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxMworbXNnaWQgIklSSVggbGlrZXMgaXQgd2hlbiBwYXJ0aXRpb24gMTEgY292ZXJzIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIlBvdXIgSVJJWCwgaWwgZXN0IHJlY29tbWFuZMOpIHF1ZSBsYSBwYXJ0aXRpb27CoDExIGNvdXZyZSBlbnRpw6hyZW1lbnQgbGUgZGlzcXVlLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxNworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIHNob3VsZCBzdGFydCBhdCBibG9jayAwLCBub3QgYXQgYmxvY2sgJWQuIgorbXNnc3RyICJMYSBwYXJ0aXRpb24gZCd1biBkaXNxdWUgZW50aWVyIGRldnJhaXQgY29tbWVuY2VyIGF1IGJsb2PCoDAsIHBhcyBhdSBibG9jwqAlZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MjgKK21zZ2lkICJQYXJ0aXRpb24gMTEgc2hvdWxkIGNvdmVyIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIkxhIHBhcnRpdGlvbsKgMTEgZGV2cmFpdCBjb3V2cmlyIGxlIGRpc3F1ZSBlbiBlbnRpZXIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9yLiIKK21zZ2lkX3BsdXJhbCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3JzLiIKK21zZ3N0clswXSAiTGVzIHBhcnRpdGlvbnPCoCVkIGV0ICVkIHNlIGNoZXZhdWNoZW50IHN1ciAlZMKgc2VjdGV1ci4iCittc2dzdHJbMV0gIkxlcyBwYXJ0aXRpb25zwqAlZCBldCAlZCBzZSBjaGV2YXVjaGVudCBzdXIgJWTCoHNlY3RldXJzLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY2MyBsaWJmZGlzay9zcmMvc2dpLmM6Njg1CisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3Rvcjogc2VjdG9yICU4dSIKK21zZ2lkX3BsdXJhbCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yczogc2VjdG9ycyAlOHUtJXUiCittc2dzdHJbMF0gIkVzcGFjZSBpbnV0aWxpc8OpIGRlICU4dcKgc2VjdGV1ciDigJQgc2VjdGV1csKgJTh1IgorbXNnc3RyWzFdICJFc3BhY2UgaW51dGlsaXPDqSBkZSAlOHXCoHNlY3RldXJzIOKAlCBzZWN0ZXVyc8KgJTh1LSV1IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Njk4Cittc2dpZCAiVGhlIGJvb3QgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiTGEgcGFydGl0aW9uIGQnYW1vcsOnYWdlIG4nZXhpc3RlIHBhcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDIKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICJMYSBwYXJ0aXRpb24gZCfDqWNoYW5nZSBuJ2V4aXN0ZSBwYXMuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA2Cittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGhhcyBubyBzd2FwIHR5cGUuIgorbXNnc3RyICJMYSBwYXJ0aXRpb24gZCfDqWNoYW5nZSBuJ2VzdCBwYXMgZGUgdHlwZSDCq8Kgc3dhcMKgwrsuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA5Cittc2dpZCAiWW91IGhhdmUgY2hvc2VuIGFuIHVudXN1YWwgYm9vdGZpbGUgbmFtZS4iCittc2dzdHIgIlZvdXMgYXZleiBjaG9pc2kgdW4gbm9tIGRlIGZpY2hpZXIgZCdhbW9yw6dhZ2UgaW5oYWJpdHVlbC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3NTkKK21zZ2lkICJQYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4iCittc2dzdHIgIkRlcyBwYXJ0aXRpb25zIHNlIGNoZXZhdWNoZW50IHN1ciBsZSBkaXNxdWUuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQ0Cittc2dpZCAiQXR0ZW1wdGluZyB0byBnZW5lcmF0ZSBlbnRpcmUgZGlzayBlbnRyeSBhdXRvbWF0aWNhbGx5LiIKK21zZ3N0ciAiRXNzYWkgZGUgY3LDqWF0aW9uIGF1dG9tYXRpcXVlIGQndW5lIGVudHLDqWUgcG91ciBsZSBkaXNxdWUgZW50aWVyLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0OQorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBpcyBhbHJlYWR5IGNvdmVyZWQgd2l0aCBwYXJ0aXRpb25zLiIKK21zZ3N0ciAiTGUgZGlzcXVlIGVudGllciBlc3QgZMOpasOgIHJlbXBsaSBkZSBwYXJ0aXRpb25zLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg1MworbXNnaWQgIllvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKK21zZ3N0ciAiRGVzIHBhcnRpdGlvbnMgc2UgY2hldmF1Y2hlbnQgc3VyIGxlIGRpc3F1ZS4gVmV1aWxsZXogY29ycmlnZXIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODc1IGxpYmZkaXNrL3NyYy9zdW4uYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3QgJXMiCittc2dzdHIgIlByZW1pZXIgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4OTkgbGliZmRpc2svc3JjL3NnaS5jOjk0OQorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBlbGV2ZW50aCBwYXJ0aXRpb24gY292ZXJzIHRoZSBlbnRpcmUgZGlzayBhbmQgaXMgb2YgdHlwZSAnU0dJIHZvbHVtZScuIgorbXNnc3RyICJJbCBlc3QgZm9ydGVtZW50IHJlY29tbWFuZMOpIHF1ZSBsYSBvbnppw6htZSBwYXJ0aXRpb24gY291dnJlIGxlIGRpc3F1ZSBlbiBlbnRpZXIgZXQgc29pdCBkZSB0eXBlIMKrwqB2b2x1bWUgU0dJwqDCuyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjkxNCBsaWJmZGlzay9zcmMvc3VuLmM6NjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgJXMgb3IgKyVzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIkRlcm5pZXIgJXMsICslcyBvdSArdGFpbGxle0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5ODUgbGliZmRpc2svc3JjL3N1bi5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi4iCittc2dzdHIgIkwnaW9jdGwgQkxLR0VUU0laRSBhIMOpY2hvdcOpIHN1ciAlcy4gVXRpbGlzYXRpb24gZGUgbGEgdmFsZXVywqAlbGx1IHBvdXIgbGEgZ8Opb23DqXRyaWUgZHUgY3lsaW5kcmUuIENldHRlIHZhbGV1ciBwZXV0IMOqdHJlIHRyb25xdcOpZSBwb3VyIGxlcyBww6lyaXBow6lyaXF1ZXMgZGUgcGx1cyBkZSAzMyw4wqBHby4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDUxCittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTR0kgZGlza2xhYmVsLiIKK21zZ3N0ciAiVW5lIG5vdXZlbGxlIMOpdGlxdWV0dGUgZGUgZGlzcXVlIFNHSSBhIMOpdMOpIGNyw6nDqWUuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3MAorbXNnaWQgIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIKK21zZ3N0ciAiRMOpc29sw6ksIGwnw6l0aXF1ZXR0ZSBuJ2VzdCBtb2RpZmlhYmxlIHF1ZSBwb3VyIGxlcyBwYXJ0aXRpb25zIG5vbiB2aWRlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDc2Cittc2dpZCAiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gOSBhcyB2b2x1bWUgaGVhZGVyICgwKSwgYW5kIHBhcnRpdGlvbiAxMSBhcyBlbnRpcmUgdm9sdW1lICg2KSwgYXMgSVJJWCBleHBlY3RzIGl0LiIKK21zZ3N0ciAiRW52aXNhZ2V6IGRlIGxhaXNzZXIgbGEgcGFydGl0aW9uwqA5IGNvbW1lIHVuIHZvbHVtZSBlbi10w6p0ZSAoMCksIGV0IGxhIHBhcnRpdGlvbsKgMTEgY29tbWUgdW4gdm9sdW1lIGVudGllciAoNikgdGVsIHF14oCZSVJJWCBsJ2V4aWdlLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwODUKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwIGlzIG9mIHR5cGUgXCJTR0kgdm9saGRyXCIsIHRoZSBJUklYIHN5c3RlbSB3aWxsIHJlbHkgb24gaXQgdG8gcmV0cmlldmUgZnJvbSBpdHMgZGlyZWN0b3J5IHN0YW5kYWxvbmUgdG9vbHMgbGlrZSBzYXNoIGFuZCBmeC4gT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiBBcmUgeW91IHN1cmUgYWJvdXQgdGFnZ2luZyB0aGlzIHBhcnRpdGlvbiBkaWZmZXJlbnRseT8iCittc2dzdHIgIklsIGVzdCBmb3J0ZW1lbnQgcmVjb21tYW5kw6kgcXVlIGxhIHBhcnRpdGlvbiDDoCBs4oCZaW5kZXjCoDAgc29pdCBkZSB0eXBlIMKrwqB2b2xoZHIgU0dJwqDCuywgbGUgc3lzdMOobWUgSVJJWCBzJ2VuIHNlcnQgcG91ciByw6ljdXDDqXJlciBkZXMgb3V0aWxzIGluZMOpcGVuZGFudHMgY29tbWUgc2FzaCBldCBmeCBkYW5zIHNlcyByw6lwZXJ0b2lyZXMuIFNldWwgbGUgwqvCoHZvbHVtZSBTR0nCoMK7IGNvdXZyYW50IGxhIHNlY3Rpb24gZW50acOocmUgZHUgZGlzcXVlIHBldXQgZW5mcmVpbmRyZSBjZXR0ZSByw6hnbGUuIMOKdGVzIHZvdXMgw6p0ZXMgY2VydGFpbiBkZSBsJ8OpdGlxdWV0YWdlIGRpZmbDqXJlbnQgZGUgY2V0dGUgcGFydGl0aW9uwqA/IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDAKK21zZ2lkICJVbmFzc2lnbmVkIgorbXNnc3RyICJOb24tYXNzaWduw6kiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MgorbXNnaWQgIlN1bk9TIHJvb3QiCittc2dzdHIgInJvb3QgU3VuT1MiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MworbXNnaWQgIlN1bk9TIHN3YXAiCittc2dzdHIgInBhcnRpdGlvbiBkJ8OpY2hhbmdlIFN1bk9TIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDQKK21zZ2lkICJTdW5PUyB1c3IiCittc2dzdHIgInVzciBTdW5PUyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ1Cittc2dpZCAiV2hvbGUgZGlzayIKK21zZ3N0ciAiRGlzcXVlIGVudGllciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2Cittc2dpZCAiU3VuT1Mgc3RhbmQiCittc2dzdHIgInN0YW5kIFN1bk9TIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyB2YXIiCittc2dzdHIgInZhciBTdW5PUyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ4Cittc2dpZCAiU3VuT1MgaG9tZSIKK21zZ3N0ciAiaG9tZSBTdW5PUyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ5Cittc2dpZCAiU3VuT1MgYWx0IHNlY3RvcnMiCittc2dzdHIgInNlY3RldXJzIGFsdC4gU3VuT1MiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MAorbXNnaWQgIlN1bk9TIGNhY2hlZnMiCittc2dzdHIgImNhY2hlZnMgU3VuT1MiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MQorbXNnaWQgIlN1bk9TIHJlc2VydmVkIgorbXNnc3RyICJyw6lzZXJ2w6kgU3VuT1MiCisKKyMgTk9URTogcy9jaGVjc3VtL2NoZWNrc3VtLworIzogbGliZmRpc2svc3JjL3N1bi5jOjEzNworbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4gUHJvYmFibHkgeW91J2xsIGhhdmUgdG8gc2V0IGFsbCB0aGUgdmFsdWVzLCBlLmcuIGhlYWRzLCBzZWN0b3JzLCBjeWxpbmRlcnMgYW5kIHBhcnRpdGlvbnMgb3IgZm9yY2UgYSBmcmVzaCBsYWJlbCAocyBjb21tYW5kIGluIG1haW4gbWVudSkiCittc2dzdHIgIkTDqXRlY3Rpb24gZCd1bmUgw6l0aXF1ZXR0ZSBkZSBkaXNxdWUgU3VuIGF2ZWMgdW5lIHNvbW1lIGRlIGNvbnRyw7RsZSBlcnJvbsOpZS4gVm91cyBkZXZyZXogcHJvYmFibGVtZW50IGluZGlxdWVyIGxlcyB2YWxldXJzLCBwYXIgZXhlbXBsZSB0w6p0ZXMsIHNlY3RldXJzLCBjeWxpbmRyZXMgZXQgcGFydGl0aW9ucyBvdSBpbXBvc2V6IHVuZSBub3V2ZWxsZSDDqXRpcXVldHRlIChjb21tYW5kZSDCq8Kgc8KgwrsgZHUgbWVudSBwcmluY2lwYWwpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2ZXJzaW9uIFslZF0uIgorbXNnc3RyICLDiXRpcXVldHRlIGRlIGRpc3F1ZSBTdW4gZMOpdGVjdMOpZSBhdmVjIHZlcnNpb24gZXJyb27DqWUgWyVkXS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2Muc2FuaXR5IFsweCUwOHhdLiIKK21zZ3N0ciAiw4l0aXF1ZXR0ZSBkZSBkaXNxdWUgU3VuIGTDqXRlY3TDqWUgYXZlYyBtYXV2YWlzIHZ0b2Muc2FuaXR5IFsweCUwOHhdLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5ucGFydHMgWyV1XS4iCittc2dzdHIgIsOJdGlxdWV0dGUgZGUgZGlzcXVlIFN1biBkw6l0ZWN0w6llIGF2ZWMgbWF1dmFpcyB2dG9jLm5wYXJ0cyBbJXVdLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2NQorbXNnaWQgIldhcm5pbmc6IFdyb25nIHZhbHVlcyBuZWVkIHRvIGJlIGZpeGVkIHVwIGFuZCB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpIgorbXNnc3RyICJBdmVydGlzc2VtZW50wqA6IGRlcyB2YWxldXJzIGVycm9uw6llcyBkZXZyb250IMOqdHJlIGNvcnJpZ8OpZXMgcGFyIGxhIGNvbW1hbmRlIHcgKMOpY3JpdHVyZSkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTIKK21zZ2lkICJIZWFkcyIKK21zZ3N0ciAiVMOqdGVzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTk0Cittc2dpZCAiU2VjdG9ycy90cmFjayIKK21zZ3N0ciAiU2VjdGV1cnMvcGlzdGUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoyOTcKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorbXNnc3RyICJVbmUgbm91dmVsbGUgw6l0aXF1ZXR0ZSBkZSBkaXNxdWUgU3VuIGEgw6l0w6kgY3LDqcOpZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGRvZXNuJ3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiTGEgcGFydGl0aW9uwqAldSBuZSBzZSB0ZXJtaW5lIHBhcyBzdXIgdW5lIGZyb250acOocmUgZGUgY3lsaW5kcmUuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDM1CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIG90aGVycyBpbiBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiTGEgcGFydGl0aW9uwqAldSBlbiBjaGV2YXVjaGUgZCdhdXRyZXMgZGFucyBsZXMgc2VjdGV1cnPCoCV1LSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAwLSV1LiIKK21zZ3N0ciAiRXNwYWNlIGludGVybcOpZGlhaXJlIGludXRpbGlzw6kg4oCUIHNlY3RldXJzwqAwLSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NSBsaWJmZGlzay9zcmMvc3VuLmM6NDcxCisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiRXNwYWNlIGludGVybcOpZGlhaXJlIGludXRpbGlzw6kg4oCUIHNlY3RldXJzwqAldS0ldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MjgKK21zZ2lkICJPdGhlciBwYXJ0aXRpb25zIGFscmVhZHkgY292ZXIgdGhlIHdob2xlIGRpc2suIERlbGV0ZSBzb21lL3NocmluayB0aGVtIGJlZm9yZSByZXRyeS4iCittc2dzdHIgIkQnYXV0cmVzIHBhcnRpdGlvbnMgY291dnJlbnQgZMOpasOgIGxlIGRpc3F1ZSBlbnRpZXIuIFN1cHByaW1leiBvdSByw6lkdWlzZXotZW4gcXVlbHF1ZXMtdW5lcyBhdmFudCBkZSByw6llc3NheWVyLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU5MworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWQgaXMgYWxyZWFkeSBhbGxvY2F0ZWQiCittc2dzdHIgIkxlIHNlY3RldXLCoCVkIGVzdCBkw6lqw6AgYWxsb3XDqSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYwMAorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSB0aGlyZCBwYXJ0aXRpb24gY292ZXJzIHRoZSB3aG9sZSBkaXNrIGFuZCBpcyBvZiB0eXBlIGBXaG9sZSBkaXNrJyIKK21zZ3N0ciAiSWwgZXN0IGZvcnRlbWVudCByZWNvbW1hbmTDqSBxdWUgbGEgdHJvaXNpw6htZSBwYXJ0aXRpb24gY291dnJlIHRvdXQgbGUgZGlzcXVlIGV0IHNvaXQgZGUgdHlwZSDCq8KgRGlzcXVlIGVudGllcsKgwrsiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25pbmcgdGhlIGZpcnN0IHNlY3RvciBmcm9tICV1IHRvICV1IHRvIGJlIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiQWxpZ25lbWVudCBkdSBwcmVtaWVyIHNlY3RldXIgZGUgJXUgdmVycyAldSBwb3VyIMOqdHJlIHN1ciB1bmUgZnJvbnRpw6hyZSBkZSBjeWxpbmRyZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBoYXZlbid0IGNvdmVyZWQgdGhlIHdob2xlIGRpc2sgd2l0aCB0aGUgM3JkIHBhcnRpdGlvbiwgYnV0IHlvdXIgdmFsdWVcbiIKKyIlbHUgJXMgY292ZXJzIHNvbWUgb3RoZXIgcGFydGl0aW9uLiBZb3VyIGVudHJ5IGhhcyBiZWVuIGNoYW5nZWRcbiIKKyJ0byAlbHUgJXMiCittc2dzdHIgIiIKKyJWb3VzIG4nYXZleiBwYXMgcmVjb3V2ZXJ0IGxlIGRpc3F1ZSBlbnRpZXIgYXZlYyBsYSB0cm9pc2nDqG1lIHBhcnRpdGlvbixcbiIKKyJtYWlzIGxhIHZhbGV1ciAlbHXCoCVzIGVuIGNvdXZyZSBkJ2F1dHJlcy4gVm90cmUgZW50csOpZSBhIMOpdMOpIG1vZGlmacOpZVxuIgorIsOgICVsdcKgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gU3VuT1MvU29sYXJpcyBjb21wYXRpYmlsaXR5LCBjb25zaWRlciBsZWF2aW5nIHRoaXMgcGFydGl0aW9uIGFzIFdob2xlIGRpc2sgKDUpLCBzdGFydGluZyBhdCAwLCB3aXRoICV1IHNlY3RvcnMiCittc2dzdHIgIlNpIHZvdXMgZMOpc2lyZXogbWFpbnRlbmlyIHVuZSBjb21wYXRpYmlsaXTDqSBTdW5PUy9Tb2xhcmlzLCBlbnZpc2FnZXogZGUgbGFpc3NlciBjZXR0ZSBwYXJ0aXRpb24gY29tbWUgRGlzcXVlIGVudGllciAoNSksIGTDqWJ1dGFudCDDoCAwLCBhdmVjICV1wqBzZWN0ZXVycyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc1MAorbXNnaWQgIkxhYmVsIElEIgorbXNnc3RyICJJZGVudGlmaWFudCBk4oCZw6l0aXF1ZXR0ZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc1NQorbXNnaWQgIlZvbHVtZSBJRCIKK21zZ3N0ciAiSWRlbnRpZmlhbnQgZGUgdm9sdW1lIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzY1Cittc2dpZCAiQWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiQ3lsaW5kcmVzIGFsdGVybmF0aWZzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6ODcxCittc2dpZCAiTnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIk5vbWJyZSBkZSBjeWxpbmRyZXMgYWx0ZXJuYXRpZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo4OTYKK21zZ2lkICJFeHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAiU2VjdGV1cnMgYWRkaXRpb25uZWxzIHBhciBjeWxpbmRyZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjkyMAorbXNnaWQgIkludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICJGYWN0ZXVyIMKrwqBpbnRlcmxlYXZlwqDCuyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk0NAorbXNnaWQgIlJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICJWaXRlc3NlIGRlIHJvdGF0aW9uICh0b3VyIHBhciBtaW51dGUpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTY4Cittc2dpZCAiTnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiTm9tYnJlIGRlIGN5bGluZHJlcyBwaHlzaXF1ZXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDM3Cittc2dpZCAiIgorIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDMgYXMgV2hvbGUgZGlzayAoNSksXG4iCisiYXMgU3VuT1MvU29sYXJpcyBleHBlY3RzIGl0IGFuZCBldmVuIExpbnV4IGxpa2VzIGl0LlxuIgorbXNnc3RyICIiCisiRW52aXNhZ2V6IGRlIGxhaXNzZXIgbGEgcGFydGl0aW9uwqAzIGNvbW1lIHVuIGRpc3F1ZSBlbnRpZXIgKDUpLFxuIgorInRlbCBxdWUgU3VuT1MvU29sYXJpcyBsJ2V4aWdlLCBjZSBxdWkgZXN0IGF1c3NpIHByw6lmw6lyYWJsZSBwb3VyIExpbnV4LlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA0OAorbXNnaWQgIiIKKyJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwXG4iCisiaXMgVUZTLCBFWFQyRlMgZmlsZXN5c3RlbSBvciBTdW5PUyBzd2FwLiBQdXR0aW5nIExpbnV4IHN3YXBcbiIKKyJ0aGVyZSBtYXkgZGVzdHJveSB5b3VyIHBhcnRpdGlvbiB0YWJsZSBhbmQgYm9vdGJsb2NrLlxuIgorIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB0YWcgdGhlIHBhcnRpdGlvbiBhcyBMaW51eCBzd2FwPyIKK21zZ3N0ciAiIgorIklsIGVzdCBmb3J0ZW1lbnQgcmVjb21tYW5kw6kgcXVlIGxhIHBhcnRpdGlvbiDDoCBs4oCZaW5kZXjCoDAgc29pdCB1biBzeXN0w6htZSBkZVxuIgorImZpY2hpZXJzIFVGUywgRVhUMkZTIG91IHBhcnRpdGlvbiBkJ8OpY2hhbmdlIFN1bk9TLiBVdGlsaXNlciB1bmUgcGFydGl0aW9uXG4iCisiZCfDqWNoYW5nZSBMaW51eCBwb3VycmFpdCBkw6l0cnVpcmUgbGEgdGFibGUgZGUgcGFydGl0aW9ucyBldCBsZSBibG9jIGQnYW1vcsOnYWdlLlxuIgorIkZhdXQtaWwgdnJhaW1lbnQgw6l0aXF1ZXRlciBsYSB0YWJsZSBkZSBwYXJ0aXRpb25zIGVuIHBhcnRpdGlvbiBkJ8OpY2hhbmdlIExpbnV4wqA/IgorCisjOiBsaWIvcGFnZXIuYzoxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FpdHBpZCBmYWlsZWQgKCVzKSIKK21zZ3N0ciAiw6ljaGVjIGRlIGxhIGZvbmN0aW9uIMKrwqB3YWl0cGlkwqDCuyAoJXMpIgorCisjOiBsaWIvcGF0aC5jOjIwOSBzeXMtdXRpbHMvbHNjcHUuYzoxODE4Cittc2dpZCAiZmFpbGVkIHRvIGNhbGxvY2F0ZSBjcHUgc2V0IgorbXNnc3RyICLDqWNoZWMgZGUgY2FsbG9jYXRlIHN1ciBsJ2Vuc2VtYmxlIGRlIHByb2Nlc3NldXJzIgorCisjOiBsaWIvcGF0aC5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3QgJXMiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZGUgbGlzdGUgZGUgcHJvY2Vzc2V1cnMgJXMiCisKKyM6IGxpYi9wYXRoLmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzayAlcyIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkdSBtYXNxdWUgZGUgcHJvY2Vzc2V1ciAlcyIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MgorbXNnaWQgImNhbiBub3Qgb3BlbiBVTklYIHNvY2tldCIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciB1biBzb2NrZXQgVU5JWCIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3OAorbXNnaWQgImNhbiBub3Qgc2V0IG9wdGlvbiBmb3IgVU5JWCBzb2NrZXQiCittc2dzdHIgImltcG9zc2libGUgZGUgZMOpZmluaXIgbGVzIG9wdGlvbnMgZHUgc29ja2V0IFVOSVgiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6OTEKK21zZ2lkICJjYW4gbm90IGNvbm5lY3Qgb24gVU5JWCBzb2NrZXQiCittc2dzdHIgImltcG9zc2libGUgZGUgc2UgY29ubmVjdGVyIGF1IHNvY2tldCBVTklYIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGx5bW91dGggcmVxdWVzdCAlYyBpcyBub3QgaW1wbGVtZW50ZWQiCittc2dzdHIgIiIKKworIzogbGliL3JhbmR1dGlscy5jOjEzNgorbXNnaWQgImxpYmMgcHNldWRvLXJhbmRvbSBmdW5jdGlvbnMiCittc2dzdHIgImZvbmN0aW9ucyBwc2V1ZG9hbMOpYXRvaXJlcyBkZSBsaWJjIgorCisjIGRpc2stdXRpbHMvbWtzd2FwLmM6NjEyCisjOiBsaWIvc3dhcHByb2Jlci5jOjE3IGxpYi9zd2FwcHJvYmVyLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBwcm9iZSBkZXZpY2UiCittc2dzdHIgIiVzwqA6IGltcG9zc2libGUgZCdleGFtaW5lciBsZSBww6lyaXBow6lyaXF1ZSIKKworIzogbGliL3N3YXBwcm9iZXIuYzozMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYW1iaWd1b3VzIHByb2JpbmcgcmVzdWx0OyB1c2Ugd2lwZWZzKDgpIgorbXNnc3RyICIlc8KgOiBsZSByw6lzdWx0YXQgZGUgbCdleGFtZW4gZXN0IGFtYmlndcKgOyB1dGlsaXNleiB3aXBlZnMoOCkiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHZhbGlkIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICIlc8KgOiBwYXMgdW5lIHBhcnRpdGlvbiBkJ8OpY2hhbmdlIHZhbGFibGUiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuc3VwcG9ydGVkIHN3YXAgdmVyc2lvbiAnJXMnIgorbXNnc3RyICIlc8KgOiBuZSBwcmVuZCBwYXMgZW4gY2hhcmdlIGxhIHZlcnNpb24gwqvCoCVzwqDCuyBkJ2VzcGFjZSBkJ8OpY2hhbmdlIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTAgbG9naW4tdXRpbHMvY2hzaC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT5dXG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gWzx1dGlsaXNhdGV1cj5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5MworbXNnaWQgIkNoYW5nZSB5b3VyIGZpbmdlciBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiTW9kaWZpZXogdm9zIHJlbnNlaWduZW1lbnRzIGZpbmdlci5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk2Cittc2dpZCAiIC1mLCAtLWZ1bGwtbmFtZSA8ZnVsbC1uYW1lPiAgcmVhbCBuYW1lXG4iCittc2dzdHIgIiAtZiwgLS1mdWxsLW5hbWUgPG5vbS1jb21wbGV0PiAgdsOpcml0YWJsZSBub21cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk3Cittc2dpZCAiIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICAgb2ZmaWNlIG51bWJlclxuIgorbXNnc3RyICIgLW8sIC0tb2ZmaWNlIDxidXJlYXU+ICAgICAgICAgIG51bcOpcm8gZGUgYnVyZWF1XG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OAorbXNnaWQgIiAtcCwgLS1vZmZpY2UtcGhvbmUgPHBob25lPiAgIG9mZmljZSBwaG9uZSBudW1iZXJcbiIKK21zZ3N0ciAiIC1wLCAtLW9mZmljZS1waG9uZSA8dMOpbMOpcGhvbmU+IG51bcOpcm8gZGUgdMOpbMOpcGhvbmUgYXUgYnVyZWF1XG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OQorbXNnaWQgIiAtaCwgLS1ob21lLXBob25lIDxwaG9uZT4gICAgIGhvbWUgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiAtaCwgLS1ob21lLXBob25lIDx0w6lsw6lwaG9uZT4gICBudW3DqXJvIGRlIHTDqWzDqXBob25lIMOgIGxhIG1haXNvblxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAxIGxvZ2luLXV0aWxzL2Noc2guYzo3OAorbXNnaWQgIiAtdSwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLXUsIC0taGVscCAgICAgICAgICAgICAgICAgICAgIGFmZmljaGVyIGNldHRlIGFpZGUgZXQgcXVpdHRlclxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgImZpZWxkICVzIGlzIHRvbyBsb25nIgorbXNnc3RyICJsZSBjaGFtcMKgJXMgZXN0IHRyb3AgbG9uZyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyMSBsb2dpbi11dGlscy9jaHNoLmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBoYXMgaWxsZWdhbCBjaGFyYWN0ZXJzIgorbXNnc3RyICIlc8KgOiBhIGRlcyBjYXJhY3TDqHJlcyBpbmNvcnJlY3RzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTUwIGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE2MgorIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbi5kZWZzIGZvcmJpZHMgc2V0dGluZyAlcyIKK21zZ3N0ciAibG9naW4uZGVmcyBpbnRlcmRpdCBsYSBkw6lmaW5pdGlvbiBkZSAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTU4IGxvZ2luLXV0aWxzL2NoZm4uYzozMDkKK21zZ2lkICJPZmZpY2UiCittc2dzdHIgIkJ1cmVhdSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2MiBsb2dpbi11dGlscy9jaGZuLmM6MTY0IGxvZ2luLXV0aWxzL2NoZm4uYzozMTEKK21zZ2lkICJPZmZpY2UgUGhvbmUiCittc2dzdHIgIlTDqWzDqXBob25lIGJ1cmVhdSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2OCBsb2dpbi11dGlscy9jaGZuLmM6MTcwIGxvZ2luLXV0aWxzL2NoZm4uYzozMTMKK21zZ2lkICJIb21lIFBob25lIgorbXNnc3RyICJUw6lsw6lwaG9uZSBkb21pY2lsZSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjIzMworbXNnaWQgIkFib3J0ZWQuIgorbXNnc3RyICJBYmFuZG9uLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBoYXMgdW5leHBlY3RlZCB2YWx1ZTogJXMiCittc2dzdHIgIiVzwqA6IENIRk5fUkVTVFJJQ1QgYSB1bmUgdmFsZXVyIGluYXR0ZW5kdWXCoDogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgZG9lcyBub3QgYWxsb3cgYW55IGNoYW5nZXMiCittc2dzdHIgIiVzwqA6IENIRk5fUkVTVFJJQ1QgbmUgcGVybWV0IGF1Y3VuZSBtb2RpZmljYXRpb24iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuXG4iCittc2dzdHIgIkxlcyByZW5zZWlnbmVtZW50cyBmaW5nZXIgbidvbnQgKnBhcyogw6l0w6kgbW9kaWZpw6lzLiBSw6llc3NheWVyIHBsdXMgdGFyZC5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gY2hhbmdlZC5cbiIKK21zZ3N0ciAiTGVzIHJlbnNlaWduZW1lbnRzIGZpbmdlciBvbnQgw6l0w6kgbW9kaWZpw6lzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDA4IGxvZ2luLXV0aWxzL2Noc2guYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ICh1c2VyICVkKSBkb24ndCBleGlzdC4iCittc2dzdHIgInZvdXMgKGlkZW50aWZpYW50wqAlZCkgbidleGlzdGV6IHBhcy4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MTQgbG9naW4tdXRpbHMvY2hzaC5jOjI0OCBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBcIiVzXCIgZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICJsJ2lkZW50aWZpYW50IMKrwqAlc8KgwrsgbidleGlzdGUgcGFzLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQyMCBsb2dpbi11dGlscy9jaHNoLmM6MjU0Cittc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMiCittc2dzdHIgInNldWxlcyBsZXMgZW50csOpZXMgbG9jYWxlcyBzb250IG1vZGlmaWFibGVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgZmluZ2VyIGluZm8gb2YgJXMiCittc2dzdHIgIiVzIG4nYSBwYXMgbGUgZHJvaXQgZGUgbW9kaWZpZXIgbGVzIHJlbnNlaWduZW1lbnRzIGZpbmdlciBkZSAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzNSBsb2dpbi11dGlscy9jaHNoLmM6MjcwCittc2dpZCAiVW5rbm93biB1c2VyIGNvbnRleHQiCittc2dzdHIgImNvbnRleHRlIHV0aWxpc2F0ZXVyIGluY29ubnUiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NDEgbG9naW4tdXRpbHMvY2hzaC5jOjI3NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ2luaXRpYWxpc2VyIGxlIGNvbnRleHRlIHBhciBkw6lmYXV0IHBvdXIgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTIKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICJsJ1VJRCBkJ2V4w6ljdXRpb24gbmUgY29ycmVzcG9uZCBwYXMgw6AgbCdVSUQgZGUgbCd1dGlsaXNhdGV1ciBjb25jZXJuw6ksIG1vZGlmaWNhdGlvbiByZWZ1c8OpZSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBmaW5nZXIgaW5mb3JtYXRpb24gZm9yICVzLlxuIgorbXNnc3RyICJNb2RpZmljYXRpb24gZGVzIHJlbnNlaWduZW1lbnRzIGZpbmdlciBwb3VyICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBub3QgY2hhbmdlZC5cbiIKK21zZ3N0ciAiTGVzIHJlbnNlaWduZW1lbnRzIGZpbmdlciBuJ29udCBwYXMgY2hhbmfDqS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjcyCittc2dpZCAiQ2hhbmdlIHlvdXIgbG9naW4gc2hlbGwuXG4iCittc2dzdHIgIk1vZGlmaWV6IHZvdHJlIGludGVycHLDqXRldXIgZGUgY29ubmV4aW9uLlxuIgorCisjIGdldG9wdC0xLjEuMi9nZXRvcHQuYzozMzUKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBzcGVjaWZ5IGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8aW50ZXJwcsOpdGV1cj4gICAgIGluZGlxdWVyIGwnaW50ZXJwcsOpdGV1ciBkZSBjb25uZXhpb25cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc2Cittc2dpZCAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIHByaW50IGxpc3Qgb2Ygc2hlbGxzIGFuZCBleGl0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0LXNoZWxscyAgICAgICAgICAgICAgYWZmaWNoZXIgbGEgbGlzdGUgZGVzIGludGVycHLDqXRldXJzIGV0IHF1aXR0ZXJcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjEwMAorbXNnaWQgIk5vIGtub3duIHNoZWxscy4iCittc2dzdHIgIkF1Y3VuIGludGVycHLDqXRldXIgY29ubnUuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjAwCittc2dpZCAic2hlbGwgbXVzdCBiZSBhIGZ1bGwgcGF0aCBuYW1lIgorbXNnc3RyICJzaGVsbCBkb2l0IMOqdHJlIHVuIGNoZW1pbiBkJ2FjY8OocyBjb21wbGV0IgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiwqvCoCVzwqDCuyBuJ2V4aXN0ZSBwYXMiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGlzIG5vdCBleGVjdXRhYmxlIgorbXNnc3RyICLCq8KgJXPCoMK7IG4nZXN0IHBhcyBleMOpY3V0YWJsZSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy4iCittc2dzdHIgIkF2ZXJ0aXNzZW1lbnTCoDogwqvCoCVzwqDCuyBuJ2FwcGFyYcOudCBwYXMgZGFucyAlcy4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMTQgbG9naW4tdXRpbHMvY2hzaC5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuXG4iCisiVXNlICVzIC1sIHRvIHNlZSBsaXN0LiIKK21zZ3N0ciAiIgorIsKrwqAlc8KgwrsgbidhcHBhcmHDrnQgcGFzIGRhbnMgJXMuXG4iCisiVXRpbGlzZXogJXMgLWwgcG91ciBhZmZpY2hlciBsYSBsaXN0ZS4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBzaGVsbCBvZiAlcyIKK21zZ3N0ciAiJXMgbidhIHBhcyBsZSBkcm9pdCBkZSBtb2RpZmllciBsJ2ludGVycHLDqXRldXIgZGUgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyOTUKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICJsJ1VJRCBkJ2V4w6ljdXRpb24gbmUgY29ycmVzcG9uZCBwYXMgw6AgbCdVSUQgZGUgbCd1dGlsaXNhdGV1ciBjb25jZXJuw6ksIG1vZGlmaWNhdGlvbiBkJ2ludGVycHLDqXRldXIgcmVmdXPDqWUiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ciBzaGVsbCBpcyBub3QgaW4gJXMsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgInZvdHJlIGludGVycHLDqXRldXIgbidlc3QgcGFzIGRhbnMgJXMsIG1vZGlmaWNhdGlvbiBkJ2ludGVycHLDqXRldXIgaW50ZXJkaXRlIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIHNoZWxsIGZvciAlcy5cbiIKK21zZ3N0ciAiTW9kaWZpY2F0aW9uIGQnaW50ZXJwcsOpdGV1ciBwb3VyICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzEyCittc2dpZCAiTmV3IHNoZWxsIgorbXNnc3RyICJOb3V2ZWwgaW50ZXJwcsOpdGV1ciIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyMAorbXNnaWQgIlNoZWxsIG5vdCBjaGFuZ2VkLiIKK21zZ3N0ciAiTCdpbnRlcnByw6l0ZXVyIG4nYSBwYXMgw6l0w6kgbW9kaWZpw6kuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzI1Cittc2dpZCAiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIkwnaW50ZXJwcsOpdGV1ciBuJ2EgKnBhcyogw6l0w6kgbW9kaWZpw6kuIFLDqWVzc2F5ZXogcGx1cyB0YXJkLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyOQorbXNnaWQgIiIKKyJzZXRwd25hbSBmYWlsZWRcbiIKKyJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiIgorIsOJY2hlYyBkZSBzZXRwd25hbVxuIgorIkwnaW50ZXJwcsOpdGV1ciBuJ2EgKnBhcyogw6l0w6kgbW9kaWZpw6kuIFLDqWVzc2F5ZXogcGx1cyB0YXJkLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICJTaGVsbCBjaGFuZ2VkLlxuIgorbXNnc3RyICJMJ2ludGVycHLDqXRldXIgYSDDqXTDqSBtb2RpZmnDqS5cbiIKKworIzogbG9naW4tdXRpbHMvaXNsb2NhbC5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyA8cGFzc3dvcmRmaWxlPiA8dXNlcm5hbWU+Li4uXG4iCittc2dzdHIgIlV0aWxpc2F0aW9uwqA6ICVzIDxmaWNoaWVyX2RlX21vdF9kZV9wYXNzZT4gPG5vbV9k4oCZdXRpbGlzYXRldXI+IC4uLlxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MTc0IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyMCBzeXMtdXRpbHMvZG1lc2cuYzoxMTkzCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB0aW1lIGZvcm1hdDogJXMiCittc2dzdHIgImZvcm1hdCBkZSB0ZW1wcyBpbmNvbm51wqA6ICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjgxIGxvZ2luLXV0aWxzL2xhc3QuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW50ZXJydXB0ZWQgJXMiCittc2dzdHIgIiVzIGludGVycm9tcHUiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo0MzkgbG9naW4tdXRpbHMvbGFzdC5jOjQ1MAorbXNnaWQgInByZWFsbG9jYXRpb24gc2l6ZSBleGNlZWRlZCIKK21zZ3N0ciAidGFpbGxlIGRlIHByw6lhbGxvY2F0aW9uIGTDqXBhc3PDqWUiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPi4uLl0gWzx0dHk+Li4uXVxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIDx1dGlsaXNhdGV1cj4gWzx0ZXJtaW5hbD5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzIKK21zZ2lkICJTaG93IGEgbGlzdGluZyBvZiBsYXN0IGxvZ2dlZCBpbiB1c2Vycy5cbiIKK21zZ3N0ciAiQWZmaWNoZXIgdW5lIGxpc3RlIGRlcyB1dGlsaXNhdGV1cnMgZGVybmnDqHJlbWVudCBjb25uZWN0w6lzLlxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc1Cittc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgIGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIC08bnVtYmVyPiAgICAgICAgICAgIG5vbWJyZSBkZSBsaWduZXMgw6AgYWZmaWNoZXJcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NgorbXNnaWQgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBkaXNwbGF5IGhvc3RuYW1lcyBpbiB0aGUgbGFzdCBjb2x1bW5cbiIKK21zZ3N0ciAiIC1hLCAtLWhvc3RsYXN0ICAgICAgIGFmZmljaGVyIGxlIG5vbSBkJ2jDtHRlIGVuIGRlcm5pw6hyZSBjb2xvbm5lXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzcKK21zZ2lkICIgLWQsIC0tZG5zICAgICAgICAgICAgdHJhbnNsYXRlIHRoZSBJUCBudW1iZXIgYmFjayBpbnRvIGEgaG9zdG5hbWVcbiIKK21zZ3N0ciAiIC1kLCAtLWRucyAgICAgICAgICAgIHJlY29udmVydGlyIGzigJlhZHJlc3NlIElQIGVuIG5vbSBkJ2jDtHRlXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgIHVzZSBhIHNwZWNpZmljIGZpbGUgaW5zdGVhZCBvZiAlc1xuIgorbXNnc3RyICIgLWYsIC0tZmlsZSA8ZmljaGllcj4gIHV0aWxpc2VyIGxlIGZpY2hpZXIgaW5kaXF1w6kgcGx1dMO0dCBxdWUgJXNcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MAorbXNnaWQgIiAtRiwgLS1mdWxsdGltZXMgICAgICBwcmludCBmdWxsIGxvZ2luIGFuZCBsb2dvdXQgdGltZXMgYW5kIGRhdGVzXG4iCittc2dzdHIgIiIKKyIgLUYsIC0tZnVsbHRpbWVzICAgICAgYWZmaWNoZXIgbGVzIGRhdGVzIGV0IGhldXJlcyBjb21wbMOodGVzIGRlIGNvbm5leGlvbiBldFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGRlIGTDqWNvbm5leGlvblxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgxCittc2dpZCAiIC1pLCAtLWlwICAgICAgICAgICAgIGRpc3BsYXkgSVAgbnVtYmVycyBpbiBudW1iZXJzLWFuZC1kb3RzIG5vdGF0aW9uXG4iCittc2dzdHIgIiIKKyIgLWksIC0taXAgICAgICAgICAgICAgYWZmaWNoZXIgbOKAmWFkcmVzc2UgSVAgc291cyBmb3JtZSBudW3DqXJpcXVlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgKG5vbWJyZXMgZXQgcG9pbnRzKVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgyCittc2dpZCAiIC1uLCAtLWxpbWl0IDxudW1iZXI+IGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIC1uLCAtLWxpbWl0IDxub21icmU+ICBub21icmUgZGUgbGlnbmVzIMOgIGFmZmljaGVyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODMKK21zZ2lkICIgLVIsIC0tbm9ob3N0bmFtZSAgICAgZG9uJ3QgZGlzcGxheSB0aGUgaG9zdG5hbWUgZmllbGRcbiIKK21zZ3N0ciAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIG5lIHBhcyBhZmZpY2hlciBsZSBjaGFtcCBkZSBub20gZOKAmWjDtHRlXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODQKK21zZ2lkICIgLXMsIC0tc2luY2UgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgc2luY2UgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtcywgLS1zaW5jZSA8ZGF0ZT4gICBhZmZpY2hlciBsZXMgbGlnbmVzIGRlcHVpcyBsYSBkYXRlIGluZGlxdcOpZVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg1Cittc2dpZCAiIC10LCAtLXVudGlsIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHVudGlsIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLXQsIC0tdW50aWwgPGRhdGU+ICAgYWZmaWNoZXIgbGVzIGxpZ25lcyBqdXNxdeKAmcOgIGxhIGRhdGUgaW5kaXF1w6llXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODYKK21zZ2lkICIgLXAsIC0tcHJlc2VudCA8dGltZT4gZGlzcGxheSB3aG8gd2VyZSBwcmVzZW50IGF0IHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLXAsIC0tcHJlc2VudCA8ZGF0ZT4gIGFmZmljaGVyIGxlcyB1dGlsaXNhdGV1cnMgcHLDqXNlbnRzIMOgIGxhIGRhdGUgaW5kaXF1w6llXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODcKK21zZ2lkICIgLXcsIC0tZnVsbG5hbWVzICAgICAgZGlzcGxheSBmdWxsIHVzZXIgYW5kIGRvbWFpbiBuYW1lc1xuIgorbXNnc3RyICIgLXcsIC0tZnVsbG5hbWVzICAgICAgYWZmaWNoZXIgbGVzIG5vbXMgZCd1dGlsaXNhdGV1ciBldCBkZSBkb21haW5lIGNvbXBsZXRzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODgKK21zZ2lkICIgLXgsIC0tc3lzdGVtICAgICAgICAgZGlzcGxheSBzeXN0ZW0gc2h1dGRvd24gZW50cmllcyBhbmQgcnVuIGxldmVsIGNoYW5nZXNcbiIKK21zZ3N0ciAiIgorIiAteCwgLS1zeXN0ZW0gICAgICAgICBhZmZpY2hlciBsZXMgYXJyw6p0cyBkdSBzeXN0w6htZSBldCBsZXMgbW9kaWZpY2F0aW9ucyBkZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIG5pdmVhdSBkJ2V4w6ljdXRpb24gKHJ1biBsZXZlbClcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OQorbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wcyBpbiB0aGUgc3BlY2lmaWVkIDxmb3JtYXQ+OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpbWV8c2hvcnR8ZnVsbHxpc29cbiIKK21zZ3N0ciAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgYWZmaWNoZXIgbOKAmWhvcm9kYXRhZ2UgYXUgPGZvcm1hdD4gaW5kaXF1w6nCoDpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo4ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzIGJlZ2lucyAlcyIKK21zZ3N0ciAiIgorIlxuIgorIiVzIGNvbW1lbmNlICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTU2IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjQKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjgKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGR1IG51bcOpcm8iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NzcgbG9naW4tdXRpbHMvbGFzdC5jOjk4MiBsb2dpbi11dGlscy9sYXN0LmM6OTg3CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ4NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWUgdmFsdWUgXCIlc1wiIgorbXNnc3RyICJ2YWxldXIgZGUgdGVtcHMgwqvCoCVzwqDCuyBub24gdmFsYWJsZSIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjI5IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzozMQorbXNnaWQgIkNvdWxkbid0IGRyb3AgZ3JvdXAgcHJpdmlsZWdlcyIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkJ2FiYW5kb25uZXIgbGVzIGRyb2l0cyBkZSBncm91cGUiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICJsaWJ1c2VyIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJXMuIgorbXNnc3RyICLDqWNoZWMgZCdpbml0aWFsaXNhdGlvbiBkZSBsaWJ1c2VywqA6ICVzLiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjUyCittc2dpZCAiY2hhbmdpbmcgdXNlciBhdHRyaWJ1dGUgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgbW9kaWZpY2F0aW9uIGRlIGwnYXR0cmlidXQgZCd1dGlsaXNhdGV1ciIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjY2CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgYXR0cmlidXRlIG5vdCBjaGFuZ2VkOiAlcyIKK21zZ3N0ciAiYXR0cmlidXQgZCd1dGlsaXNhdGV1ciBub24gbW9kaWZpw6nCoDogJXMiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICV1IGlzIDYwLgorIzogbG9naW4tdXRpbHMvbG9naW4uYzoxODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZWQgb3V0IGFmdGVyICV1IHNlY29uZHMiCittc2dzdHIgImV4cGlyYXRpb24gZHUgZMOpbGFpIGFwcsOocyAldcKgc2Vjb25kZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiBjYW4ndCByZW9wZW4gdHR5OiAlbSIKK21zZ3N0ciAiRXJyZXVyIGZhdGFsZcKgOiBpbXBvc3NpYmxlIGRlIHJvdXZyaXIgdHR5wqA6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXMgaXMgbm90IGEgdGVybWluYWwiCittc2dzdHIgIkVycmV1ciBmYXRhbGXCoDogJXMgbidlc3QgcGFzIHVuIHRlcm1pbmFsIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxMAorIywgYy1mb3JtYXQKK21zZ2lkICJjaG93biAoJXMsICVsdSwgJWx1KSBmYWlsZWQ6ICVtIgorbXNnc3RyICLDqWNoZWMgZGUgY2hvd24gKCVzLCAlbHUsICVsdSnCoDogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzE0CisjLCBjLWZvcm1hdAorbXNnaWQgImNobW9kICglcywgJXUpIGZhaWxlZDogJW0iCittc2dzdHIgIsOpY2hlYyBkZSBjaG1vZCAoJXMsICV1KcKgOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozNzUKK21zZ2lkICJGQVRBTDogYmFkIHR0eSIKK21zZ3N0ciAiRXJyZXVyIGZhdGFsZcKgOiB0dHkgZXJyb27DqSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzOiBjaGFuZ2UgcGVybWlzc2lvbnMgZmFpbGVkOiAlbSIKK21zZ3N0ciAiRXJyZXVyIGZhdGFsZcKgOiAlc8KgOiDDqWNoZWMgZGUgbW9kaWZpY2F0aW9uIGRlcyBkcm9pdHPCoDogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgbG9naW46ICUuKnMgIgorbXNnc3RyICJEZXJuacOocmUgY29ubmV4aW9uwqA6ICUuKnMgIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUzMQorIywgYy1mb3JtYXQKK21zZ2lkICJmcm9tICUuKnNcbiIKK21zZ3N0ciAiw6AgcGFydGlyIGRlICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAib24gJS4qc1xuIgorbXNnc3RyICJzdXIgJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjU1MgorbXNnaWQgIndyaXRlIGxhc3Rsb2cgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZCfDqWNyaXR1cmUgZGUgbGFzdGxvZyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRElBTFVQIEFUICVzIEJZICVzIgorbXNnc3RyICJBUFBFTCDDgCAlcyBGQUlUIFBBUiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyBGUk9NICVzIgorbXNnc3RyICJDT05ORVhJT04gRFUgU1VQRVJVVElMSVNBVEVVUiBERSAlcyDDgCBQQVJUSVIgREUgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMiCittc2dzdHIgIkNPTk5FWElPTiBEVSBTVVBFUlVUSUxJU0FURVVSIFNVUiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTE9HSU4gT04gJXMgQlkgJXMgRlJPTSAlcyIKK21zZ3N0ciAiQ09OTkVYSU9OIFNVUiAlcyBQQVIgJXMgw4AgUEFSVElSIERFICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyIKK21zZ3N0ciAiQ09OTkVYSU9OIFNVUiAlcyBQQVIgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE5Cittc2dpZCAibG9naW46ICIKK21zZ3N0ciAiaWRlbnRpZmlhbnTCoDogIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc0NQorIywgYy1mb3JtYXQKK21zZ2lkICJQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorbXNnc3RyICLDqWNoZWMgZGUgY29ubmV4aW9uIFBBTSwgZmluIGQnZXjDqWN1dGlvbsKgOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGRuJ3QgaW5pdGlhbGl6ZSBQQU06ICVzIgorbXNnc3RyICJJbXBvc3NpYmxlIGQnaW5pdGlhbGlzZXIgUEFNwqA6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxNworIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gJXUgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICLDiUNIRUMgREUgQ09OTkVYSU9OIERFICV1IMOAIFBBUlRJUiBERSAlcyBQT1VSICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MjUgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxvZ2luIGluY29ycmVjdFxuIgorIlxuIgorbXNnc3RyICIiCisiSWRlbnRpZmlhbnQgaW5jb3JyZWN0XG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRPTyBNQU5ZIExPR0lOIFRSSUVTICgldSkgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJUUk9QIERFIFRFTlRBVElWRVMgREUgQ09OTkVYSU9OICgldSkgREUgJXMgUE9VUiAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiBTRVNTSU9OIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiw4lDSEVDIERFIENPTk5FWElPTiBQT1VSIFVORSBTRVNTSU9OIERFICVzIFBPVVIgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg1NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTG9naW4gaW5jb3JyZWN0XG4iCittc2dzdHIgIiIKKyJcbiIKKyJJZGVudGlmaWFudCBpbmNvcnJlY3RcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4ODIgbG9naW4tdXRpbHMvbG9naW4uYzoxMjMyIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI1NQorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHNldHVwIHByb2JsZW0sIGFib3J0LiIKK21zZ3N0ciAiIgorIlxuIgorIlByb2Jsw6htZSBkJ2luaXRpYWxpc2F0aW9uIGRlIGxhIHNlc3Npb24sIGFiYW5kb24uIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICJOVUxMIHVzZXIgbmFtZSBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICJJZGVudGlmaWFudCB2aWRlIGRhbnMgJXPCoDolZC4gQWJhbmRvbi4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAyMAorIywgYy1mb3JtYXQKK21zZ2lkICJUSU9DU0NUVFkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiw6ljaGVjIGRlIFRJT0NTQ1RUWcKgOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTc0CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luOiAtaCBpcyBmb3Igc3VwZXJ1c2VyIG9ubHlcbiIKK21zZ3N0ciAibG9naW7CoDogLWggbuKAmWVzdCBxdWUgcG91ciBsZSBzdXBlcnV0aWxpc2F0ZXVyLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6IGxvZ2luIFstcF0gWy1oIDxob3N0Pl0gWy1IXSBbWy1mXSA8dXNlcm5hbWU+XVxuIgorbXNnc3RyICJVdGlsaXNhdGlvbsKgOiBsb2dpbiBbLXBdIFstaCA8aMO0dGU+XSBbLUhdIFtbLWZdIDxpZGVudGlmaWFudD5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE5MQorbXNnaWQgIkJlZ2luIGEgc2Vzc2lvbiBvbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICJDb21tZW5jZXIgdW5lIHNlc3Npb24gc3VyIGxlIHN5c3TDqG1lLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB1c2VyIG5hbWUgXCIlc1wiIGluICVzOiVkLiBBYm9ydC4iCittc2dzdHIgIklkZW50aWZpYW50IG5vbiB2YWxhYmxlIMKrwqAlc8KgwrsgZGFucyAlc8KgOiVkLiBBYmFuZG9uLiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjU0CisjLCBjLWZvcm1hdAorbXNnaWQgImdyb3VwcyBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICLDqWNoZWMgZCdpbml0aWFsaXNhdGlvbiBkZXMgZ3JvdXBlc8KgOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjc5Cittc2dpZCAic2V0Z2lkKCkgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgc2V0Z2lkKCkiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMwOQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBuZXcgbWFpbC5cbiIKK21zZ3N0ciAiVm91cyBhdmV6IGR1IG5vdXZlYXUgY291cnJpZXIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMxMQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBtYWlsLlxuIgorbXNnc3RyICJWb3VzIGF2ZXogZHUgY291cnJpZXIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMyNQorbXNnaWQgInNldHVpZCgpIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIHNldHVpZCgpIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzEgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2hhbmdlIGRpcmVjdG9yeSBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBjaGFuZ2VtZW50IGRlIHLDqXBlcnRvaXJlIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzggbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczOQorIywgYy1mb3JtYXQKK21zZ2lkICJMb2dnaW5nIGluIHdpdGggaG9tZSA9IFwiL1wiLlxuIgorbXNnc3RyICJMb2dpbiBhdmVjIHVuIHLDqXBlcnRvaXJlIGhvbWUgPSDCq8KgL8KgwrsuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM2NworbXNnaWQgImNvdWxkbid0IGV4ZWMgc2hlbGwgc2NyaXB0IgorbXNnc3RyICJpbXBvc3NpYmxlIGQnZXjDqWN1dGVyIGxlIHNjcmlwdCBkZSBsJ2ludGVycHLDqXRldXIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM2OQorbXNnaWQgIm5vIHNoZWxsIgorbXNnc3RyICJwYXMgZCdpbnRlcnByw6l0ZXVyIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGNvbnRhaW5zIGludmFsaWQgbnVtZXJpY2FsIHZhbHVlOiAlcyIKK21zZ3N0ciAiJXPCoDogJXMgY29udGllbnQgdW5lIHZhbGV1ciBudW3DqXJpcXVlIG5vbiB2YWxhYmxlwqA6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzozNzUKK21zZ2lkICJodXNoIGxvZ2luIHN0YXR1czogcmVzdG9yZSBvcmlnaW5hbCBJRHMgZmFpbGVkIgorbXNnc3RyICLDqXRhdCBkZSBjb25uZXhpb24gc2lsZW5jaWV1c2XCoDogw6ljaGVjIGRlIHJlc3RhdXJhdGlvbiBkZXMgaWRlbnRpZmlhbnRzIGQnb3JpZ2luZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDggc3lzLXV0aWxzL2xzY3B1LmM6MTU0MCBzeXMtdXRpbHMvbHNjcHUuYzoxNTUwCittc2dpZCAibm8iCittc2dzdHIgIm5vbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcgbWlzYy11dGlscy9sc2Jsay5jOjE4MQorbXNnaWQgInVzZXIgbmFtZSIKK21zZ3N0ciAibm9tIGQndXRpbGlzYXRldXIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3Cittc2dpZCAiVXNlcm5hbWUiCittc2dzdHIgIk5vbSBkJ3V0aWxpc2F0ZXVyIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOCBzeXMtdXRpbHMvcmVuaWNlLmM6NTQKK21zZ2lkICJ1c2VyIElEIgorbXNnc3RyICJpZGVudGlmaWFudCBkJ3V0aWxpc2F0ZXVyIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgInBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAibW90IGRlIHBhc3NlIG5vbiBuw6ljZXNzYWlyZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJQYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIk1vdCBkZSBwYXNzZSBub24gbsOpY2Vzc2FpcmUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAibG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgImNvbm5leGlvbiBwYXIgbW90IGRlIHBhc3NlIGTDqXNhY3RpdsOpZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKK21zZ2lkICJMb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAiQ29ubmV4aW9uIHBhciBtb3QgZGUgcGFzc2UgZMOpc2FjdGl2w6llIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgInBhc3N3b3JkIGRlZmluZWQsIGJ1dCBsb2NrZWQiCittc2dzdHIgIm1vdCBkZSBwYXNzZSBkw6lmaW5pLCBtYWlzIHZlcnJvdWlsbMOpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgIlBhc3N3b3JkIGlzIGxvY2tlZCIKK21zZ3N0ciAiTGUgbW90IGRlIHBhc3NlIGVzdCB2ZXJyb3VpbGzDqSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJsb2cgaW4gZGlzYWJsZWQgYnkgbm9sb2dpbig4KSBvciBwYW1fbm9sb2dpbig4KSIKK21zZ3N0ciAiY29ubmV4aW9uIGTDqXNhY3RpdsOpZSBwYXIgbm9sb2dpbig4KSBvdSBwYW1fbm9sb2dpbig4KSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJObyBsb2dpbiIKK21zZ3N0ciAiQXVjdW4gaWRlbnRpZmlhbnQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCittc2dpZCAicHJpbWFyeSBncm91cCBuYW1lIgorbXNnc3RyICJub20gZGUgZ3JvdXBlIHByaW1haXJlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgIlByaW1hcnkgZ3JvdXAiCittc2dzdHIgIkdyb3VwZSBwcmltYWlyZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjQKK21zZ2lkICJwcmltYXJ5IGdyb3VwIElEIgorbXNnc3RyICJpZGVudGlmaWFudCBkZSBncm91cGUgcHJpbWFpcmUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBuYW1lcyIKK21zZ3N0ciAibm9tcyBkZSBncm91cGVzIHN1cHBsw6ltZW50YWlyZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgIkdyb3VwZXMgc3VwcGzDqW1lbnRhaXJlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiaWRlbnRpZmlhbnRzIGRlIGdyb3VwZXMgc3VwcGzDqW1lbnRhaXJlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiSWRlbnRpZmlhbnRzIGRlIGdyb3VwZXMgc3VwcGzDqW1lbnRhaXJlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKK21zZ2lkICJob21lIGRpcmVjdG9yeSIKK21zZ3N0ciAicsOpcGVydG9pcmUgcGVyc29ubmVsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworbXNnaWQgIkhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICJSw6lwZXJ0b2lyZSBwZXJzb25uZWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4Cittc2dpZCAibG9naW4gc2hlbGwiCittc2dzdHIgImludGVycHLDqXRldXIgZGUgY29ubmV4aW9uIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorbXNnaWQgIlNoZWxsIgorbXNnc3RyICJJbnRlcnByw6l0ZXVyIGRlIGNvbW1hbmRlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJmdWxsIHVzZXIgbmFtZSIKK21zZ3N0ciAibm9tIGQndXRpbGlzYXRldXIgY29tcGxldCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJHZWNvcyBmaWVsZCIKK21zZ3N0ciAiQ2hhbXAgZ2Vjb3MiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiZGF0ZSBvZiBsYXN0IGxvZ2luIgorbXNnc3RyICJkYXRlIGRlIGRlcm5pw6hyZSBjb25uZXhpb24iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiTGFzdCBsb2dpbiIKK21zZ3N0ciAiRGVybmnDqHJlIGNvbm5leGlvbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJsYXN0IHR0eSB1c2VkIgorbXNnc3RyICJkZXJuaWVyIHRlcm1pbmFsIHV0aWxpc8OpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgIkxhc3QgdGVybWluYWwiCittc2dzdHIgIkRlcm5pZXIgdGVybWluYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiaG9zdG5hbWUgZHVyaW5nIHRoZSBsYXN0IHNlc3Npb24iCittc2dzdHIgIm5vbSBk4oCZaMO0dGUgbG9ycyBkZSBsYSBkZXJuacOocmUgc2Vzc2lvbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJMYXN0IGhvc3RuYW1lIgorbXNnc3RyICJEZXJuaWVyIG5vbSBk4oCZaMO0dGUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiZGF0ZSBvZiBsYXN0IGZhaWxlZCBsb2dpbiIKK21zZ3N0ciAiZGF0ZSBkZSBkZXJuacOocmUgY29ubmV4aW9uIMOpY2hvdcOpZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJGYWlsZWQgbG9naW4iCittc2dzdHIgIkNvbm5leGlvbiDDqWNob3XDqWUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0Cittc2dpZCAid2hlcmUgZGlkIHRoZSBsb2dpbiBmYWlsPyIKK21zZ3N0ciAib8O5IGxhIGNvbm5leGlvbiBhLXQtZWxsZSDDqWNob3XDqcKgPyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKK21zZ2lkICJGYWlsZWQgbG9naW4gdGVybWluYWwiCittc2dzdHIgIkNvbm5leGlvbiBhdSB0ZXJtaW5hbCDDqWNob3XDqWUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAidXNlcidzIGh1c2ggc2V0dGluZ3MiCittc2dzdHIgInLDqWdsYWdlcyBzaWxlbmNpZXV4IGRlIGzigJl1dGlsaXNhdGV1ciIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJIdXNoZWQiCittc2dzdHIgIlNpbGVuY2lldXgiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiZGF5cyB1c2VyIGlzIHdhcm5lZCBvZiBwYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICJqb3VycyBwZW5kYW50IGxlc3F1ZWxzIGzigJl1dGlsaXNhdGV1ciBlc3QgYXZlcnRpIGRlIGzigJlleHBpcmF0aW9uIGR1IG1vdCBkZSBwYXNzZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzYKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIHdhcm4gaW50ZXJ2YWwiCittc2dzdHIgIkludGVydmFsbGUgZOKAmWF2ZXJ0aXNzZW1lbnQgZOKAmWV4cGlyYXRpb24gZHUgbW90IGRlIHBhc3NlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgInBhc3N3b3JkIGV4cGlyYXRpb24gZGF0ZSIKK21zZ3N0ciAiZGF0ZSBk4oCZZXhwaXJhdGlvbiBkdSBtb3QgZGUgcGFzc2UiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAiRXhwaXJhdGlvbiBkdSBtb3QgZGUgcGFzc2UiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4Cittc2dpZCAiZGF0ZSBvZiBsYXN0IHBhc3N3b3JkIGNoYW5nZSIKK21zZ3N0ciAiZGF0ZSBkZSBkZXJuacOocmUgbW9kaWZpY2F0aW9uIGR1IG1vdCBkZSBwYXNzZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJQYXNzd29yZCBjaGFuZ2VkIgorbXNnc3RyICJNb3QgZGUgcGFzc2UgbW9kaWZpw6kiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAibnVtYmVyIG9mIGRheXMgcmVxdWlyZWQgYmV0d2VlbiBjaGFuZ2VzIgorbXNnc3RyICJub21icmUgZGUgam91cnMgbsOpY2Vzc2FpcmVzIGVudHJlIGxlcyBtb2RpZmljYXRpb25zIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIk1pbmltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIkRhdGUgZGUgbW9kaWZpY2F0aW9uIG1pbmltYWxlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZGF5cyBhIHBhc3N3b3JkIG1heSByZW1haW4gdW5jaGFuZ2VkIgorbXNnc3RyICJub21icmUgbWF4aW1hbCBkZSBqb3VycyBwZW5kYW50IGxlc3F1ZWxzIHVuIG1vdCBkZSBwYXNzZSBwZXV0IHJlc3RlciBsZSBtw6ptZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKK21zZ2lkICJNYXhpbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICJEYXRlIGRlIG1vZGlmaWNhdGlvbiBtYXhpbWFsZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJ0aGUgdXNlcidzIHNlY3VyaXR5IGNvbnRleHQiCittc2dzdHIgImxlIGNvbnRleHRlIGRlIHPDqWN1cml0w6kgZGUgbOKAmXV0aWxpc2F0ZXVyIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgIlNlbGludXggY29udGV4dCIKK21zZ3N0ciAiQ29udGV4dGUgU0VMaW51eCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIHJ1biBieSB0aGUgdXNlciIKK21zZ3N0ciAibm9tYnJlIGRlIHByb2Nlc3N1cyBleMOpY3V0w6lzIHBhciBs4oCZdXRpbGlzYXRldXIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCittc2dpZCAiUnVubmluZyBwcm9jZXNzZXMiCittc2dzdHIgIlByb2Nlc3N1cyBlbiBjb3VycyBkJ2V4w6ljdXRpb24iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6Mjg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNiBtaXNjLXV0aWxzL2xzYmxrLmM6MjMxCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgY29sdW1ucyBzcGVjaWZpZWQsIHRoZSBsaW1pdCBpcyAlenUgY29sdW1ucyIKK21zZ3N0ciAidHJvcCBkZSBjb2xvbm5lcyBpbmRpcXXDqWVzLCBsYSBsaW1pdGUgZXN0IGRlICV6dcKgY29sb25uZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQzIHN5cy11dGlscy9sc2lwYy5jOjQ1NgorbXNnaWQgInVuc3VwcG9ydGVkIHRpbWUgdHlwZSIKK21zZ3N0ciAidHlwZSBtaW1lIG5vbiBwcmlzIGVuIGNoYXJnZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNvbXBvc2UgdGltZSBzdHJpbmciCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZGUgLS10aW1lb3V0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjY0OAorbXNnaWQgImZhaWxlZCB0byBnZXQgc3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgIsOpY2hlYyBk4oCZb2J0ZW50aW9uIGRlcyBncm91cGVzIHN1cHBsw6ltZW50YWlyZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA3MQorbXNnaWQgImludGVybmFsIGVycm9yOiB1bmtub3duIGNvbHVtbiIKK21zZ3N0ciAiZXJyZXVyIGludGVybmXCoDogY29sb25uZSBpbmNvbm51ZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDc1IHN5cy11dGlscy9sc2lwYy5jOjUwMyBzeXMtdXRpbHMvbHNpcGMuYzo2MjUKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY4MCBzeXMtdXRpbHMvbHNpcGMuYzo4Mzggc3lzLXV0aWxzL2xzaXBjLmM6MTAzNgorbXNnaWQgImZhaWxlZCB0byBzZXQgZGF0YSIKK21zZ3N0ciAiw6ljaGVjIGRlIGTDqWZpbml0aW9uIGRlcyBkb25uw6llcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMYXN0IGxvZ3M6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJEZXJuacOocmVzIGNvbm5leGlvbnPCoDpcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjI4IGxvZ2luLXV0aWxzL25vbG9naW4uYzoyNgorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTAxIG1pc2MtdXRpbHMvbWNvb2tpZS5jOjgyIG1pc2MtdXRpbHMvdXVpZGQuYzo3MAorIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjUgc3lzLXV0aWxzL2RtZXNnLmM6MjY0IHN5cy11dGlscy9pcGNtay5jOjY2CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTYwIHN5cy11dGlscy9sc2lwYy5jOjI3NyBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDQKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6OTUgdGVybS11dGlscy9zZXR0ZXJtLmM6MzgwIHRleHQtdXRpbHMvbGluZS5jOjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzEKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIkFmZmljaGVyIGRlcyByZW5zZWlnbmVtZW50cyBzdXIgbGVzIHV0aWxpc2F0ZXVycyBjb25udXMgZHUgc3lzdMOobWUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNAorbXNnaWQgIiAtYSwgLS1hY2MtZXhwaXJhdGlvbiAgICAgZGlzcGxheSBpbmZvIGFib3V0IHBhc3N3b3JkcyBleHBpcmF0aW9uXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWNjLWV4cGlyYXRpb24gICAgIGFmZmljaGVyIGxlcyByZW5zZWlnbmVtZW50cyBzdXIgbOKAmWV4cGlyYXRpb24gZGVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdHMgZGUgcGFzc2VcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM1Cittc2dpZCAiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICBkaXNwbGF5IGRhdGEgaW4gYSBmb3JtYXQgc2ltaWxhciB0byAvZXRjL3Bhc3N3ZFxuIgorbXNnc3RyICIiCisiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICBhZmZpY2hlciBsZXMgZG9ubsOpZXMgZGFucyB1biBmb3JtYXQgc2ltaWxhaXJlIMOgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIC9ldGMvcGFzc3dkXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNiBzeXMtdXRpbHMvbHNpcGMuYzoyOTYKK21zZ2lkICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGRpc3BsYXkgaW4gYW4gZXhwb3J0LWFibGUgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGFmZmljaGVyIGRhbnMgdW4gZm9ybWF0IGRlIHNvcnRpZSBleHBvcnRhYmxlXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNworbXNnaWQgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAgZGlzcGxheSBkYXRhIGFib3V0IHRoZSB1c2VycycgbGFzdCBmYWlsZWQgbG9naW5zXG4iCittc2dzdHIgIiIKKyIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIGFmZmljaGVyIGxlcyBkb25uw6llcyBzdXIgbGVzIGRlcm5pw6hyZXMgY29ubmV4aW9uc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICDDqWNob3XDqWVzIGRlcyB1dGlsaXNhdGV1cnNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM4Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGdyb3Vwc1xuIgorbXNnc3RyICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgIGFmZmljaGVyIGRlcyByZW5zZWlnbmVtZW50cyBzdXIgbGVzIGdyb3VwZXNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM5Cittc2dpZCAiIC1nLCAtLWdyb3Vwcz08Z3JvdXBzPiAgICBkaXNwbGF5IHVzZXJzIGJlbG9uZ2luZyB0byBhIGdyb3VwIGluIDxncm91cHM+XG4iCittc2dzdHIgIiIKKyIgLWcsIC0tZ3JvdXBzPTxncm91cGVzPiAgIGFmZmljaGVyIGxlcyB1dGlsaXNhdGV1cnMgYXBwYXJ0ZW5hbnQgw6AgdW4gZGVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxncm91cGVzPlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDAKK21zZ2lkICIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIHNob3cgaW5mbyBhYm91dCB0aGUgdXNlcnMnIGxhc3QgbG9naW4gc2Vzc2lvbnNcbiIKK21zZ3N0ciAiIgorIiAtTCwgLS1sYXN0ICAgICAgICAgICAgICAgYWZmaWNoZXIgZGVzIHJlbnNlaWduZW1lbnRzIHN1ciBsZXMgZGVybmnDqHJlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXNzaW9ucyBkZSBjb25uZXhpb24gZGVzIHV0aWxpc2F0ZXVyc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDEKK21zZ2lkICIgLWwsIC0tbG9naW5zPTxsb2dpbnM+ICAgIGRpc3BsYXkgb25seSB1c2VycyBmcm9tIDxsb2dpbnM+XG4iCittc2dzdHIgIiAtbCwgLS1sb2dpbnM9PGNvbm5leGlvbnM+ICBu4oCZYWZmaWNoZXIgcXVlIGxlcyB1dGlsaXNhdGV1cnMgZGUgPGNvbm5leGlvbnM+XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MiBzeXMtdXRpbHMvbHNpcGMuYzoyOTgKK21zZ2lkICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGRpc3BsYXkgZWFjaCBwaWVjZSBvZiBpbmZvcm1hdGlvbiBvbiBhIG5ldyBsaW5lXG4iCittc2dzdHIgIiAtbiwgLS1uZXdsaW5lICAgICAgICAgICAgYWZmaWNoZXIgY2hhcXVlIHJlbnNlaWduZW1lbnQgc3VyIHVuZSBub3V2ZWxsZSBsaWduZVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDMgc3lzLXV0aWxzL2xzaXBjLmM6MjkxCittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIG5lIHBhcyBhZmZpY2hlciBsZXMgZW4tdMOqdGVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NCBzeXMtdXRpbHMvbHNpcGMuYzoyOTIKK21zZ2lkICIgICAgIC0tbm90cnVuY2F0ZSAgICAgICAgIGRvbid0IHRydW5jYXRlIG91dHB1dFxuIgorbXNnc3RyICIgICAgIC0tbm90cnVuY2F0ZSAgICAgICAgIG5lIHBhcyB0cm9ucXVlciBsYSBzb3J0aWVcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMAorbXNnaWQgIiAtbywgLS1vdXRwdXRbPTxsaXN0Pl0gICAgZGVmaW5lIHRoZSBjb2x1bW5zIHRvIG91dHB1dFxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0Wz08bGlzdGU+XSAgIGTDqWZpbmlyIGxlcyBjb2xvbm5lcyDDoCBhZmZpY2hlclxuIgorCisjIE5PVEU6IHMvXC4kLy8KKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NgorbXNnaWQgIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGxvZ2luIGJ5IHBhc3N3b3JkLlxuIgorbXNnc3RyICIgLXAsIC0tcHdkICAgICAgICAgICAgICAgIGFmZmljaGVyIGxlcyByZW5zZWlnbmVtZW50cyByZWxhdGlmcyDDoCBsYSBjb25uZXhpb24gcGFyIG1vdCBkZSBwYXNzZVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDcgc3lzLXV0aWxzL2xzaXBjLmM6MzAyCittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICBkaXNwbGF5IGluIHJhdyBtb2RlXG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgYWZmaWNoZXIgZW4gbW9kZSBicnV0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OAorbXNnaWQgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAgZGlzcGxheSBzeXN0ZW0gYWNjb3VudHNcbiIKK21zZ3N0ciAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICBhZmZpY2hlciBsZXMgY29tcHRlcyBzeXN0w6htZVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDkgc3lzLXV0aWxzL2xzaXBjLmM6MjkzCittc2dpZCAiICAgICAtLXRpbWUtZm9ybWF0PTx0eXBlPiBkaXNwbGF5IGRhdGVzIGluIHNob3J0LCBmdWxsIG9yIGlzbyBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLXRpbWUtZm9ybWF0PTx0eXBlPiAgYWZmaWNoZXIgbGVzIGRhdGVzIGF1IGZvcm1hdCBjb3VydCAowqvCoHNob3J0wqDCuyksIGNvbXBsZXQgKMKrwqBmdWxswqDCuykgb3UgSVNPICjCq8KgaXNvwqDCuylcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUwCittc2dpZCAiIC11LCAtLXVzZXItYWNjcyAgICAgICAgICBkaXNwbGF5IHVzZXIgYWNjb3VudHNcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXItYWNjcyAgICAgICAgICBhZmZpY2hlciBsZXMgY29tcHRlcyB1dGlsaXNhdGV1clxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTEKK21zZ2lkICIgLVosIC0tY29udGV4dCAgICAgICAgICAgIGRpc3BsYXkgU0VMaW51eCBjb250ZXh0c1xuIgorbXNnc3RyICIgLVosIC0tY29udGV4dCAgICAgICAgICAgIGFmZmljaGVyIGxlcyBjb250ZXh0ZXMgU0VMaW51eFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTIKK21zZ2lkICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgIGRlbGltaXQgdXNlciBlbnRyaWVzIHdpdGggYSBudWwgY2hhcmFjdGVyXG4iCittc2dzdHIgIiAteiwgLS1wcmludDAgICAgICAgICAgICAgZMOpbGltaXRlciBsZXMgZW50csOpZXMgdXRpbGlzYXRldXIgcGFyIHVuIGNhcmFjdMOocmUgTlVMTFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTMKK21zZ2lkICIgICAgIC0td3RtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3Igd3RtcFxuIgorbXNnc3RyICIgICAgIC0td3RtcC1maWxlIDxjaGVtaW4+ICBkw6lmaW5pciB1biBjaGVtaW4gYWx0ZXJuYXRpZiBwb3VyIHd0bXBcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjU0Cittc2dpZCAiICAgICAtLWJ0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIGJ0bXBcbiIKK21zZ3N0ciAiICAgICAtLWJ0bXAtZmlsZSA8Y2hlbWluPiAgZMOpZmluaXIgdW4gY2hlbWluIGFsdGVybmF0aWYgcG91ciBidG1wXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1OSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ3IHN5cy11dGlscy9sc2NwdS5jOjE5NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisiXG4iCisiQ29sb25uZXMgZGlzcG9uaWJsZXPCoDpcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDQyCittc2dpZCAiZmFpbGVkIHRvIHJlcXVlc3Qgc2VsaW51eCBzdGF0ZSIKK21zZ3N0ciAiw6ljaGVjIGRlIGRlbWFuZGUgZGUgbOKAmcOpdGF0IFNFTGludXgiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ1NiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NjAKK21zZ2lkICJPbmx5IG9uZSB1c2VyIG1heSBiZSBzcGVjaWZpZWQuIFVzZSAtbCBmb3IgbXVsdGlwbGUgdXNlcnMuIgorbXNnc3RyICJVbiBzZXVsIHV0aWxpc2F0ZXVyIHBldXQgw6p0cmUgaW5kaXF1w6kuIFV0aWxpc2V6IC1sIHBvdXIgcGx1c2lldXJzIHV0aWxpc2F0ZXVycy4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjU1Cittc2dpZCAiY291bGQgbm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGTDqWZpbmlyIGxlcyBhdHRyaWJ1dHMgZHUgdGVybWluYWwiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjU3Cittc2dpZCAiZ2V0bGluZSgpIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGdldGxpbmUoKSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTQ4Cittc2dpZCAiUGFzc3dvcmQ6ICIKK21zZ3N0ciAiTW90IGRlIHBhc3NlwqA6ICIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTU0IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDA1Cittc2dpZCAiY3J5cHQgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgY2hpZmZyZW1lbnQiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE2NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGdyb3VwPlxuIgorbXNnc3RyICIgJXMgPGdyb3VwZT5cbiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTY5Cittc2dpZCAiTG9nIGluIHRvIGEgbmV3IGdyb3VwLlxuIgorbXNnc3RyICJDb25uZXhpb24gZGFucyB1biBub3V2ZWF1IGdyb3VwZS5cbiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjA3Cittc2dpZCAid2hvIGFyZSB5b3U/IgorbXNnc3RyICJxdWkgw6p0ZXMtdm91c8KgPyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjExIGxvZ2luLXV0aWxzL25ld2dycC5jOjIyMyBzeXMtdXRpbHMvbnNlbnRlci5jOjQyMworbXNnaWQgInNldGdpZCBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBzZXRnaWQiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxNiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTgKK21zZ2lkICJubyBzdWNoIGdyb3VwIgorbXNnc3RyICJwYXMgZGUgdGVsIGdyb3VwZSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjIxIHN5cy11dGlscy9tb3VudC5jOjQ5MQorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIgorbXNnc3RyICJwZXJtaXNzaW9uIHJlZnVzw6llIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjcgc3lzLXV0aWxzL25zZW50ZXIuYzo0MjUKK21zZ2lkICJzZXR1aWQgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgc2V0dWlkIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjkKK21zZ2lkICJQb2xpdGVseSByZWZ1c2UgYSBsb2dpbi5cbiIKK21zZ3N0ciAiUmVmdXNlciBwb2xpbWVudCB1bmUgY29ubmV4aW9uLlxuIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhpcyBhY2NvdW50IGlzIGN1cnJlbnRseSBub3QgYXZhaWxhYmxlLlxuIgorbXNnc3RyICJDZSBjb21wdGUgbuKAmWVzdCBhY3R1ZWxsZW1lbnQgcGFzIGRpc3BvbmlibGUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBzZXNzaW9uOiAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciBsYSBzZXNzaW9uwqA6ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMDQKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGNoaWxkIHByb2Nlc3MiCittc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIHVuIHByb2Nlc3N1cyBmaWxzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgImltcG9zc2libGUgZGUgY2hhbmdlciBsZSByw6lwZXJ0b2lyZSB2ZXJzICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMjEKK21zZ2lkICJjYW5ub3QgYmxvY2sgc2lnbmFscyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBibG9xdWVyIGxlcyBzaWduYXV4IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMzUgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzQzCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNDkgbWlzYy11dGlscy91dWlkZC5jOjQwNyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc3MQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgImltcG9zc2libGUgZCdpbml0aWFsaXNlciBsZSB0cmFpdGVtZW50IGRlIHNpZ25hdXgiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM3NAorbXNnaWQgIiAoY29yZSBkdW1wZWQpIgorbXNnc3RyICIgKGNvcmUgZHVtcCkiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLCBraWxsaW5nIHNoZWxsLi4uIgorbXNnc3RyICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW7DqWUsIGwnaW50ZXJwcsOpdGV1ciBlc3QgZW4gdHJhaW4gZCfDqnRyZSB0dcOp4oCmIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC4uLmtpbGxlZC5cbiIKK21zZ3N0ciAiIOKApiB0dcOpLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0ODYKK21zZ2lkICJtYXkgbm90IGJlIHVzZWQgYnkgbm9uLXJvb3QgdXNlcnMiCittc2dzdHIgIm5lIHBldXQgcGFzIMOqdHJlIHV0aWxpc8OpIHBhciBsZXMgdXRpbGlzYXRldXJzIG5vcm1hdXggKG5vbiBzdXBlcnV0aWxpc2F0ZXVyKSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTE0Cittc2dpZCAiaW5jb3JyZWN0IHBhc3N3b3JkIgorbXNnc3RyICJtb3QgZGUgcGFzc2UgaW5jb3JyZWN0IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1OTgKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjb25maWd1cmVyIGxlcyBncm91cGVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2MTMgc3lzLXV0aWxzL2VqZWN0LmM6NjY1Cittc2dpZCAiY2Fubm90IHNldCBncm91cCBpZCIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjb25maWd1cmVyIGwnaWRlbnRpZmlhbnQgZGUgZ3JvdXBlIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2MTUgc3lzLXV0aWxzL2VqZWN0LmM6NjY4Cittc2dpZCAiY2Fubm90IHNldCB1c2VyIGlkIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNvbmZpZ3VyZXIgbCdpZGVudGlmaWFudCBkJ3V0aWxpc2F0ZXVyIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSAtdSA8dXRpbGlzYXRldXI+IDxjb21tYW5kZT5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njg5IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwMQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSBbLV0gWzx1dGlsaXNhdGV1cj4gWzxhcmd1bWVudD4uLi5dXVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2OTAKK21zZ2lkICIiCisiXG4iCisiUnVuIDxjb21tYW5kPiB3aXRoIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgb2YgPHVzZXI+LiAgSWYgLXUgaXNcbiIKKyJub3QgZ2l2ZW4sIGZhbGwgYmFjayB0byBzdSgxKS1jb21wYXRpYmxlIHNlbWFudGljcyBhbmQgZXhlY3V0ZSBzdGFuZGFyZCBzaGVsbC5cbiIKKyJUaGUgb3B0aW9ucyAtYywgLWYsIC1sLCBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC11LlxuIgorbXNnc3RyICIiCisiXG4iCisiRXjDqWN1dGVyIDxjb21tYW5kZT4gYXZlYyBsJ1VJRCBldCBsZSBHSUQgZWZmZWN0aWYgZCc8dXRpbGlzYXRldXI+LlxuIgorIlNpIC11IG4nZXN0IHBhcyBpbmRpcXXDqWUsIHNlIHJhYmF0dHJlIHN1ciB1bmUgc8OpbWFudGlxdWVcbiIKKyJjb21wYXRpYmxlIGF2ZWMgc3UoMSkgZXQgZXjDqWN1dGVyIHVuZSBpbnZpdGUgZGUgY29tbWFuZGUgc3RhbmRhcmQuXG4iCisiTGVzIG9wdGlvbnMgLWMsIC1mLCAtbCBldCAtcyBzJ2V4Y2x1ZW50IG11dHVlbGxlbWVudCBhdmVjIC11LlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2OTcKK21zZ2lkICIgLXUsIC0tdXNlciA8dXNlcj4gICAgICAgICAgICAgdXNlcm5hbWVcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXIgPHV0aWxpc2F0ZXVyPiAgICAgIG5vbSBkJ3V0aWxpc2F0ZXVyXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwMgorbXNnaWQgIiIKKyJcbiIKKyJDaGFuZ2UgdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCB0byB0aGF0IG9mIDx1c2VyPi5cbiIKKyJBIG1lcmUgLSBpbXBsaWVzIC1sLiAgSWYgPHVzZXI+IGlzIG5vdCBnaXZlbiwgcm9vdCBpcyBhc3N1bWVkLlxuIgorbXNnc3RyICIiCisiXG4iCisiTW9kaWZpZXIgbGVzIFVJRCBldCBHSUQgZWZmZWN0aWZzIMOgIGNldXggZGUgbCc8dXRpbGlzYXRldXI+LlxuIgorIlVuIHNpbXBsZSAtIGltcGxpcXVlIC1sLiBFbiBhYnNlbmNlIGQnPHV0aWxpc2F0ZXVyPiwgcm9vdCBlc3QgdXRpbGlzw6kuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwOQorbXNnaWQgIiAtbSwgLXAsIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgIGRvIG5vdCByZXNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXNcbiIKK21zZ3N0ciAiIgorIiAtbSwgLXAsIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgIG5lIHBhcyByw6lpbml0aWFsaXNlciBsZXMgdmFyaWFibGVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkJ2Vudmlyb25uZW1lbnRcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzEwCittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgICAgICAgICAgc3BlY2lmeSB0aGUgcHJpbWFyeSBncm91cFxuIgorbXNnc3RyICIgLWcsIC0tZ3JvdXAgPGdyb3VwZT4gICAgICAgICAgICBpbmRpcXVlciBsZSBncm91cGUgcHJpbWFpcmVcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzExCittc2dpZCAiIgorIiAtRywgLS1zdXBwLWdyb3VwIDxncm91cD4gICAgICAgIHNwZWNpZnkgYSBzdXBwbGVtZW50YWwgZ3JvdXBcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtRywgLS1zdXBwLWdyb3VwIDxncm91cD4gICAgICAgIGluZGlxdWVyIHVuIGdyb3VwZSBzdXBwbMOpbWVudGFpcmVcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzEzCittc2dpZCAiIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgICAgbWFrZSB0aGUgc2hlbGwgYSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIiCisiIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgICAgZmFpcmUgZGUgbCdpbnRlcnByw6l0ZXVyIGRlIGNvbW1hbmRlIHVuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnByw6l0ZXVyIGRlIGNvbm5leGlvblxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTQKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKK21zZ3N0ciAiIgorIiAtYyAgLS1jb21tYW5kIDxjb21tYW5kZT4gICAgICAgIHBhc3NlciB1bmUgc2V1bGUgY29tbWFuZGUgw6AgbCdpbnRlcnByw6l0ZXVyXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdmVjIC1jXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxNQorbXNnaWQgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkbyBub3QgY3JlYXRlIGEgbmV3IHNlc3Npb25cbiIKK21zZ3N0ciAiIgorIiAtLXNlc3Npb24tY29tbWFuZCA8Y29tbWFuZGU+ICAgIHBhc3NlciB1bmUgc2V1bGUgY29tbWFuZGUgw6AgbCdpbnRlcnByw6l0ZXVyXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdmVjIC1jIHNhbnMgY3LDqWVyIGRlIG5vdXZlbGxlIHNlc3Npb25cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE3Cittc2dpZCAiIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgICAgcGFzcyAtZiB0byB0aGUgc2hlbGwgKGZvciBjc2ggb3IgdGNzaClcbiIKK21zZ3N0ciAiIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgICAgcGFzc2VyIC1mIMOgIGwnaW50ZXJwcsOpdGV1ciAocG91ciBjc2ggb3UgdGNzaClcbiIKKworIyBnZXRvcHQtMS4xLjIvZ2V0b3B0LmM6MzM1CisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTgKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgICBydW4gPHNoZWxsPiBpZiAvZXRjL3NoZWxscyBhbGxvd3MgaXRcbiIKK21zZ3N0ciAiIgorIiAtcywgLS1zaGVsbCA8aW50ZXJwcsOpdGV1cj4gICAgICBleMOpY3V0ZXIgPGludGVycHLDqXRldXI+IHNpIHBlcm1pcyBwYXJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC9ldGMvc2hlbGxzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc2MgorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXAgaXMgbm90IHBvc3NpYmxlIgorbXNnaWRfcGx1cmFsICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXBzIGlzIG5vdCBwb3NzaWJsZSIKK21zZ3N0clswXSAibOKAmWluZGljYXRpb24gZOKAmSVkwqBncm91cGUgc3VwcGzDqW1lbnRhaXJlIG7igJllc3QgcGFzIHBvc3NpYmxlIgorbXNnc3RyWzFdICJs4oCZaW5kaWNhdGlvbiBkZSAlZMKgZ3JvdXBlcyBzdXBwbMOpbWVudGFpcmVzIG7igJllc3QgcGFzIHBvc3NpYmxlIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXAgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgImxlIGdyb3VwZSAlcyBuJ2V4aXN0ZSBwYXMuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4ODYKK21zZ2lkICJpZ25vcmluZyAtLXByZXNlcnZlLWVudmlyb25tZW50LCBpdCdzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tbG9naW4iCittc2dzdHIgIi0tcHJlc2VydmUtZW52aXJvbm1lbnQgaWdub3LDqWUsIGNldHRlIG9wdGlvbiBzJ2V4Y2x1ZSBtdXR1ZWxsZW1lbnQgYXZlYyAtLWxvZ2luIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4OTcKK21zZ2lkICJvcHRpb25zIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IGFuZCAtLXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAibGVzIG9wdGlvbnMgLS17c2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbn0gZXQgLS11c2VyIHMnZXhjbHVlbnQgbXV0dWVsbGVtZW50IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5MDEKK21zZ2lkICJubyBjb21tYW5kIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgImF1Y3VuZSBjb21tYW5kZSBu4oCZYSDDqXTDqSBpbmRpcXXDqWUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkxNQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gc3BlY2lmeSBhbHRlcm5hdGl2ZSBncm91cHMiCittc2dzdHIgInNldWwgbGUgc3VwZXJ1dGlsaXNhdGV1ciBwZXV0IGluZGlxdWVyIGRlcyBncm91cGVzIGFsdGVybmF0aWZzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAibCdpZGVudGlmaWFudCAlcyBuJ2V4aXN0ZSBwYXMuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgcmVzdHJpY3RlZCBzaGVsbCAlcyIKK21zZ3N0ciAidXRpbGlzYXRpb24gZGUgbCdpbnRlcnByw6l0ZXVyIHJlc3RyZWludCAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJhdmVydGlzc2VtZW50wqA6IGltcG9zc2libGUgZGUgY2hhbmdlciBsZSByw6lwZXJ0b2lyZSB2ZXJzICVzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTMwCittc2dpZCAidGNnZXRhdHRyIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIHRjZ2V0YXR0ciIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjIwNworbXNnaWQgInRjc2V0YXR0ciBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSB0Y3NldGF0dHIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290XG4iCittc2dzdHIgIiVzwqA6IGF1Y3VuZSBlbnRyw6llIHBvdXIgbGUgc3VwZXJ1dGlsaXNhdGV1clxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdCIKK21zZ3N0ciAiJXPCoDogYXVjdW5lIGVudHLDqWUgcG91ciBsZSBzdXBlcnV0aWxpc2F0ZXVyIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByb290IHBhc3N3b3JkIGdhcmJsZWQiCittc2dzdHIgIiVzwqA6IGxlIG1vdCBkZSBwYXNzZSBkdSBzdXBlcnV0aWxpc2F0ZXVyIGVzdCBicm91aWxsw6kiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkNhbm5vdCBvcGVuIGFjY2VzcyB0byBjb25zb2xlLCB0aGUgcm9vdCBhY2NvdW50IGlzIGxvY2tlZC5cbiIKKyJTZWUgc3Vsb2dpbig4KSBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLlxuIgorIlxuIgorIlByZXNzIEVudGVyIHRvIGNvbnRpbnVlLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBsb2dpbjogIgorbXNnc3RyICJEb25uZXogbGUgbW90IGRlIHBhc3NlIGR1IHN1cGVydXRpbGlzYXRldXIgcG91ciBsYSBjb25uZXhpb27CoDogIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBsb2dpbjogIgorbXNnc3RyICJBcHB1eWV6IHN1ciBFbnRyw6llIHBvdXIgbGEgY29ubmV4aW9uwqA6ICIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIkRvbm5leiBsZSBtb3QgZGUgcGFzc2UgZHUgc3VwZXJ1dGlsaXNhdGV1ciBwb3VyIGxhIG1haW50ZW5hbmNlXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIkFwcHV5ZXogc3VyIEVudHLDqWUgcG91ciBsYSBtYWludGVuYW5jZVxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIihvciBwcmVzcyBDb250cm9sLUQgdG8gY29udGludWUpOiAiCittc2dzdHIgIihvdSBhcHB1eWV6IHN1ciBDdHJsIGV0IEQgcG91ciBjb250aW51ZXIpwqA6ICIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc0MgorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgdG8gc3lzdGVtIHJvb3QgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgY2hhbmdlbWVudCBkZSByw6lwZXJ0b2lyZSB2ZXJzIGxhIHJhY2luZSBkdSBzeXN0w6htZSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc5MQorbXNnaWQgInNldGV4ZWNjb24gZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgc2V0ZXhlY2NvbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxMQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFt0dHkgZGV2aWNlXVxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIFt0dHkgcMOpcmlwaMOpcmlxdWVdXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MTQKK21zZ2lkICJTaW5nbGUtdXNlciBsb2dpbi5cbiIKK21zZ3N0ciAiQ29ubmV4aW9uIGVuIG1vZGUgbW9uby11dGlsaXNhdGV1ci5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxNworbXNnaWQgIiIKKyIgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgIHN0YXJ0IGEgbG9naW4gc2hlbGxcbiIKKyIgLXQsIC0tdGltZW91dCA8c2Vjb25kcz4gIG1heCB0aW1lIHRvIHdhaXQgZm9yIGEgcGFzc3dvcmQgKGRlZmF1bHQ6IG5vIGxpbWl0KVxuIgorIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAgZXhhbWluZSBwYXNzd29yZCBmaWxlcyBkaXJlY3RseSBpZiBnZXRwd25hbSgzKSBmYWlsc1xuIgorbXNnc3RyICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICBkw6ltYXJyZXIgdW4gaW50ZXJwcsOpdGV1ciBkZSBjb25uZXhpb25cbiIKKyIgLXQsIC0tdGltZW91dCA8c2Vjb25kZXM+IHRlbXBzIGQnYXR0ZW50ZSBtYXhpbWFsIGR1IG1vdCBkZSBwYXNzZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2FucyBsaW1pdGUgcGFyIGTDqWZhdXQpXG4iCisiIC1lLCAtLWZvcmNlICAgICAgICAgICAgICBleGFtaW5lciBkaXJlY3RlbWVudCBsZXMgZmljaGllciBkZSBtb3RzIGRlIHBhc3NlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuIGNhcyBkJ8OpY2hlYyBkZSBnZXRwd25hbSgzKVxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODcxIG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NjMgc3lzLXV0aWxzL3dkY3RsLmM6NTIzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc1MCB0ZXJtLXV0aWxzL3dhbGwuYzoxMzUKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50IGQnZXhwaXJhdGlvbiBkZSBsYSBtaW51dGVyaWUgaW5jb3JyZWN0IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODkzCittc2dpZCAib25seSBzdXBlcnVzZXIgY2FuIHJ1biB0aGlzIHByb2dyYW0iCittc2dzdHIgInNldWwgbGUgc3VwZXJ1dGlsaXNhdGV1ciBwZXV0IGV4w6ljdXRlciBjZSBwcm9ncmFtbWUiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5MzYKK21zZ2lkICJjYW5ub3Qgb3BlbiBjb25zb2xlIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyIGxhIGNvbnNvbGUiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5NDMKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYXNzd29yZCBkYXRhYmFzZSIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciBsYSBiYXNlIGRlIGRvbm7DqWVzIGRlIG1vdHMgZGUgcGFzc2UiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDYW4gbm90IGV4ZWN1dGUgc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkltcG9zc2libGUgZCdleMOpY3V0ZXIgbCdpbnRlcnByw6l0ZXVyIGRlIGNvbW1hbmRlcyBzdVxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyNworbXNnaWQgIiIKKyJUaW1lZCBvdXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkV4cGlyYXRpb24gZHUgZMOpbGFpXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDU5Cittc2dpZCAiIgorIkNhbiBub3Qgd2FpdCBvbiBzdSBzaGVsbFxuIgorIlxuIgorbXNnc3RyICIiCisiSW1wb3NzaWJsZSBk4oCZYXR0ZW5kcmUgbCdpbnRlcnByw6l0ZXVyIGRlIGNvbW1hbmRlcyBzdVxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE3NiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2guIgorbXNnc3RyICIlc8KgOiBpbXBvc3NpYmxlIGQnYWpvdXRlciB1bmUgc3VydmVpbGxhbmNlIGlub3RpZnkuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE4NSB0ZXh0LXV0aWxzL3RhaWxmLmM6MTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBpbm90aWZ5IGV2ZW50cyIKK21zZ3N0ciAiJXPCoDogaW1wb3NzaWJsZSBkZSBsaXJlIGxlcyDDqXbDqW5lbWVudHMgaW5vdGlmeSIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDYgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNTEKK21zZ2lkICJFeHRyYW5lb3VzIG5ld2xpbmUgaW4gZmlsZS4gRXhpdGluZy4iCittc2dzdHIgIkNoYW5nZW1lbnQgZGUgbGlnbmUgc3VwZXJmbHUgZGFucyBsZSBmaWNoaWVyLiBGaW4gZCdleMOpY3V0aW9uLiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZW5hbWVdXG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gW2ZpY2hpZXJdXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzEyCittc2dpZCAiRHVtcCBVVE1QIGFuZCBXVE1QIGZpbGVzIGluIHJhdyBmb3JtYXQuXG4iCittc2dzdHIgIlNhdXZlZ2FyZGVyIGRlcyBmaWNoaWVycyB1dG1wIGV0IHd0bXAgYXUgZm9ybWF0IGJydXQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE1Cittc2dpZCAiIC1mLCAtLWZvbGxvdyAgICAgICAgIG91dHB1dCBhcHBlbmRlZCBkYXRhIGFzIHRoZSBmaWxlIGdyb3dzXG4iCittc2dzdHIgIiAtZiwgLS1mb2xsb3cgICAgICAgICAgICBhZmZpY2hlciBsZXMgZG9ubsOpZXMgYWpvdXTDqWVzIHF1YW5kIGxlIGZpY2hpZXIgZ3Jvc3NpXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE2Cittc2dpZCAiIC1yLCAtLXJldmVyc2UgICAgICAgIHdyaXRlIGJhY2sgZHVtcGVkIGRhdGEgaW50byB1dG1wIGZpbGVcbiIKK21zZ3N0ciAiIC1yLCAtLXJldmVyc2UgICAgICAgICAgIHLDqcOpY3JpcmUgbGVzIGRvbm7DqWVzIHNhdXZlZ2FyZMOpZXMgZGFucyBsZSBmaWNoaWVyIHV0bXBcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTcKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxmaWxlPiAgd3JpdGUgdG8gZmlsZSBpbnN0ZWFkIG9mIHN0YW5kYXJkIG91dHB1dFxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxmaWNoaWVyPiAgw6ljcmlyZSBkYW5zIDxmaWNoaWVyPiDDoCBsYSBwbGFjZSBkZSBsYSBzb3J0aWUgc3RhbmRhcmRcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODQKK21zZ2lkICJmb2xsb3dpbmcgc3RhbmRhcmQgaW5wdXQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgInN1aXZyZSBsJ2VudHLDqWUgc3RhbmRhcmQgbidlc3QgcGFzIHByaXMgZW4gY2hhcmdlIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIHVuZHVtcCBvZiAlc1xuIgorbXNnc3RyICJTYXV2ZWdhcmRlIHV0bXAgZGUgJXNcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCBkdW1wIG9mICVzXG4iCittc2dzdHIgIlNhdXZlZ2FyZGUgdXRtcCBkZSAlc1xuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTQxCittc2dpZCAiY2FuJ3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciBsZSBmaWNoaWVyIHRlbXBvcmFpcmUiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNyZWF0ZSBhIGxpbmsgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgY3LDqWF0aW9uIGRlIGxpZW4gdmVycyAlcyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBnZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgImltcG9zc2libGUgZCdvYnRlbmlyIGxlIGNvbnRleHRlIHBvdXIgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3Qgc2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnaW5pdGlhbGlzZXIgbGUgY29udGV4dGUgcG91ciAlcyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmNoYW5nZWQiCittc2dzdHIgIiVzIG4nYSBwYXMgw6l0w6kgbW9kaWZpw6kiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNTQKK21zZ2lkICJjYW5ub3QgZ2V0IGxvY2siCittc2dzdHIgImltcG9zc2libGUgZCdvYnRlbmlyIGxlIHZlcnJvdSIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI4MQorbXNnaWQgIm5vIGNoYW5nZXMgbWFkZSIKK21zZ3N0ciAiYXVjdW5lIG1vZGlmaWNhdGlvbiBuJ2Egw6l0w6kgZmFpdGUiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTAKK21zZ2lkICJjYW5ub3QgY2htb2QgZmlsZSIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBtb2RpZmllciBsZXMgZHJvaXRzIGR1IGZpY2hpZXIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozMDQKK21zZ2lkICJFZGl0IHRoZSBwYXNzd29yZCBvciBncm91cCBmaWxlLlxuIgorbXNnc3RyICJNb2RpZmllciBsZSBtb3QgZGUgcGFzc2Ugb3UgbGUgZmljaGllciBkZSBncm91cGUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTAKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBncm91cHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIlZvdXMgdXRpbGlzZXogwqvCoHNoYWRvdyBncm91cHPCoMK7IHN1ciBjZSBzeXN0w6htZS5cbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM1MQorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IHBhc3N3b3JkcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAiVm91cyB1dGlsaXNleiDCq8Kgc2hhZG93IHBhc3N3b3Jkc8Kgwrsgc3VyIGNlIHN5c3TDqG1lLlxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhpcyBwcm9ncmFtIHVzZXMgZm9yIHkgYW5kIG4gcnBtYXRjaCgzKSwKKyMuICogd2hpY2ggbWVhbnMgdGhleSBjYW4gYmUgdHJhbnNsYXRlZC4KKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV291bGQgeW91IGxpa2UgdG8gZWRpdCAlcyBub3cgW3kvbl0/ICIKK21zZ3N0ciAiVm91bGV6LXZvdXMgw6lkaXRlciAlcyBtYWludGVuYW50IFtvL25dPyAiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzcyCittc2dpZCAiaW52YWxpZCBtb250aCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnQgbW9pcyBpbmNvcnJlY3QiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzgwCittc2dpZCAiaW52YWxpZCB3ZWVrIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBkZSBzZW1haW5lIGluY29ycmVjdCIKKworIzogbWlzYy11dGlscy9jYWwuYzozODIKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHVzZSAxLTU0IgorbXNnc3RyICJ2YWxldXIgZGUgc2VtYWluZSBpbmNvcnJlY3RlwqA6IHV0aWxpc2V6IDEtNTQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZXN0YW1wIG9yIHVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZGUgbGEgdGFpbGxlIG1heGltYWxlIGRlcyBub21zIGRlIGZpY2hpZXIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDMxCittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWUiCittc2dzdHIgInZhbGV1ciBkZSBqb3VyIGluY29ycmVjdGUiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDMzIG1pc2MtdXRpbHMvY2FsLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlOiB1c2UgMS0lZCIKK21zZ3N0ciAidmFsZXVyIGRlIGpvdXIgaW5jb3JyZWN0ZcKgOiB1dGlsaXNleiAxLSVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQzNyBtaXNjLXV0aWxzL2NhbC5jOjQ0NQorbXNnaWQgImlsbGVnYWwgbW9udGggdmFsdWU6IHVzZSAxLTEyIgorbXNnc3RyICJ2YWxldXIgZGUgbW9pcyBpbmNvcnJlY3RlwqA6IHV0aWxpc2V6IDEtMTIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDQxCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgIk1vaXMgaW5jb25udcKgOiAlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NDggbWlzYy11dGlscy9jYWwuYzo0NTIKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWUiCittc2dzdHIgInZhbGV1ciBk4oCZYW5uw6llIGluY29ycmVjdGUiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDUwCittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlOiB1c2UgcG9zaXRpdmUgaW50ZWdlciIKK21zZ3N0ciAidmFsZXVyIGQnYW5uw6llIGluY29ycmVjdGXCoDogdXRpbGlzZXogdW4gZW50aWVyIHBvc2l0aWYiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDgyIG1pc2MtdXRpbHMvY2FsLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogeWVhciAlZCBkb2Vzbid0IGhhdmUgd2VlayAlZCIKK21zZ3N0ciAidmFsZXVyIGRlIHNlbWFpbmUgaW5jb3JyZWN0ZcKgOiBs4oCZYW5uw6llwqAlZCBu4oCZYSBwYXMgZGUgc2VtYWluZcKgJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6Njc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIgorbXNnc3RyICIlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTA0ZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgJTA0ZCIKK21zZ3N0ciAiJXMgJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW1tbZGF5XSBtb250aF0geWVhcl1cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXVtbW2pvdXJdIG1vaXNdIGFubsOpZV1cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vbnRobmFtZT5cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vaXM+XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk3Cittc2dpZCAiRGlzcGxheSBhIGNhbGVuZGFyLCBvciBzb21lIHBhcnQgb2YgaXQuXG4iCittc2dzdHIgIkFmZmljaGVyIHVuIGNhbGVuZHJpZXIgb3UgdW5lIHBhcnRpZSBkZSBjYWxlbmRyaWVyLlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5OAorbXNnaWQgIldpdGhvdXQgYW55IGFyZ3VtZW50cywgZGlzcGxheSB0aGUgY3VycmVudCBtb250aC5cbiIKK21zZ3N0ciAiU2FucyBhcmd1bWVudCwgYWZmaWNoZXIgbGUgbW9pcyBlbiBjb3Vycy5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDAxCittc2dpZCAiIC0xLCAtLW9uZSAgICAgICAgICAgICBzaG93IG9ubHkgYSBzaW5nbGUgbW9udGggKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtMSwgLS1vbmUgICAgICAgICAgICAgbidhZmZpY2hlciBxdeKAmXVuIHNldWwgbW9pcyAocGFyIGTDqWZhdXQpXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMgorbXNnaWQgIiAtMywgLS10aHJlZSAgICAgICAgICAgc2hvdyB0aHJlZSBtb250aHMgc3Bhbm5pbmcgdGhlIGRhdGVcbiIKK21zZ3N0ciAiIC0zLCAtLXRocmVlICAgICAgICAgICBhZmZpY2hlciBsZXMgdHJvaXMgbW9pcyBlbmNhZHJhbnQgbGEgZGF0ZVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW1vbnRocyA8bnVtPiAgICBzaG93IG51bSBtb250aHMgc3RhcnRpbmcgd2l0aCBkYXRlJ3MgbW9udGhcbiIKK21zZ3N0ciAiIC1uLCAtLW1vbnRocyA8bm9tYnJlPiAgICAgICAgICAgYWZmaWNoZXIgbGVzIHRyb2lzIG1vaXMgZW5jYWRyYW50IGxhIGRhdGVcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA0CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zcGFuICAgICAgICAgICAgc3BhbiB0aGUgZGF0ZSB3aGVuIGRpc3BsYXlpbmcgbXVsdGlwbGUgbW9udGhzXG4iCittc2dzdHIgIiAtUywgLS1zcGFuICAgICAgICAgICAgICAgIGFmZmljaGVyIGVuIG1vZGUgYnJ1dFxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDUKK21zZ2lkICIgLXMsIC0tc3VuZGF5ICAgICAgICAgIFN1bmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIgLXMsIC0tc3VuZGF5ICAgICAgICAgIGRpbWFuY2hlIGNvbW1lIHByZW1pZXIgam91ciBkZSBsYSBzZW1haW5lXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNgorbXNnaWQgIiAtbSwgLS1tb25kYXkgICAgICAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtbSwgLS1tb25kYXkgICAgICAgICAgbHVuZGkgY29tbWUgcHJlbWllciBqb3VyIGRlIGxhIHNlbWFpbmVcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA3Cittc2dpZCAiIC1qLCAtLWp1bGlhbiAgICAgICAgICBvdXRwdXQgSnVsaWFuIGRhdGVzXG4iCittc2dzdHIgIiAtaiwgLS1qdWxpYW4gICAgICAgICAgYWZmaWNoZXIgbGEgZGF0ZSBqdWxpZW5uZVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDgKK21zZ2lkICIgLXksIC0teWVhciAgICAgICAgICAgIHNob3cgdGhlIHdob2xlIHllYXJcbiIKK21zZ3N0ciAiIC15LCAtLXllYXIgICAgICAgICAgICBhZmZpY2hlciB0b3V0ZSBsJ2FubsOpZVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDkKK21zZ2lkICIgLVksIC0tdHdlbHZlICAgICAgICAgIHNob3cgdGhlIG5leHQgdHdlbHZlIG1vbnRoc1xuIgorbXNnc3RyICIgLVksIC0tdHdlbHZlICAgICAgICAgICAgYWZmaWNoZXIgbGVzIGRvdXplIHByb2NoYWlucyBtb2lzXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAxMAorbXNnaWQgIiAtdywgLS13ZWVrWz08bnVtPl0gICAgc2hvdyBVUyBvciBJU08tODYwMSB3ZWVrIG51bWJlcnNcbiIKK21zZ3N0ciAiIC13LCAtLXdlZWtbPTxudW0+XSAgICBtb250cmVyIGxlcyBudW3DqXJvcyBkZSBzZW1haW5lIFVTIG91IElTTy04NjAxXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAxMQorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAgICAtLWNvbG9yWz08cXVhbmQ+XSBtZXNzYWdlcyBlbiBjb3VsZXVyIChhdXRvLCBhbHdheXMgb3UgbmV2ZXIpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSB7TEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUx9PTx2YWx1ZT5cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSB7TEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUx9PTx2YWxldXI+XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MzIKK21zZ2lkICJGaW5kIGEgZmlsZXN5c3RlbSBieSBsYWJlbCBvciBVVUlELlxuIgorbXNnc3RyICJUcm91dmVyIHVuIHN5c3TDqG1lIGRlIGZpY2hpZXJzIHBhciDDqXRpcXVldHRlIG91IFVVSUQuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSByw6lzb3VkcmUgwqvCoCVzwqDCuyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6OTkKK21zZ2lkICJzb3VyY2UgZGV2aWNlIgorbXNnc3RyICJww6lyaXBow6lyaXF1ZSBzb3VyY2UiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMAorbXNnaWQgIm1vdW50cG9pbnQiCittc2dzdHIgInBvaW50IGRlIG1vbnRhZ2UiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxCittc2dpZCAiZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJ0eXBlIGRlIHN5c3TDqG1lIGRlIGZpY2hpZXJzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDIKK21zZ2lkICJhbGwgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAidG91dGVzIGxlcyBvcHRpb25zIGRlIG1vbnRhZ2UiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMworbXNnaWQgIlZGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICJvcHRpb25zIGRlIG1vbnRhZ2Ugc3DDqWNpZmlxdWVzIGF1IFZGUyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA0Cittc2dpZCAiRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAib3B0aW9ucyBkZSBtb250YWdlIHNww6ljaWZpcXVlcyBhdSBzeXN0w6htZSBkZSBmaWNoaWVycyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA1Cittc2dpZCAiZmlsZXN5c3RlbSBsYWJlbCIKK21zZ3N0ciAiw6l0aXF1ZXR0ZSBkdSBzeXN0w6htZSBkZSBmaWNoaWVycyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA2IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQKK21zZ2lkICJmaWxlc3lzdGVtIFVVSUQiCittc2dzdHIgIlVVSUQgZHUgc3lzdMOobWUgZGUgZmljaGllcnMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNworbXNnaWQgInBhcnRpdGlvbiBsYWJlbCIKK21zZ3N0ciAiw6l0aXF1ZXR0ZSBkZSBwYXJ0aXRpb24iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOSBtaXNjLXV0aWxzL2xzYmxrLmM6MTYwCittc2dpZCAibWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAibnVtw6lybyBtYWpldXI6bWluZXVyIGR1IHDDqXJpcGjDqXJpcXVlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTAKK21zZ2lkICJhY3Rpb24gZGV0ZWN0ZWQgYnkgLS1wb2xsIgorbXNnc3RyICJhY3Rpb24gZMOpdGVjdMOpZSBwYXIgLS1wb2xsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTEKK21zZ2lkICJvbGQgbW91bnQgb3B0aW9ucyBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgImFuY2llbm5lIG9wdGlvbnMgZGUgbW9udGFnZSBzYXV2ZWdhcmTDqWUgcGFyIC0tcG9sbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEyCittc2dpZCAib2xkIG1vdW50cG9pbnQgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICJhbmNpZW4gcG9pbnQgZGUgbW9udGFnZSBzYXV2ZWdhcmTDqSBwYXIgLS1wb2xsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTMKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUiCittc2dzdHIgInRhaWxsZSBkdSBzeXN0w6htZSBkZSBmaWNoaWVycyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE0Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIGF2YWlsYWJsZSIKK21zZ3N0ciAidGFpbGxlIGRpc3BvbmlibGUgc3VyIGxlIHN5c3TDqG1lIGRlIGZpY2hpZXJzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTUKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgdXNlZCIKK21zZ3N0ciAidGFpbGxlIHV0aWxpc8OpZSBkdSBzeXN0w6htZSBkZSBmaWNoaWVycyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE2Cittc2dpZCAiZmlsZXN5c3RlbSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAicG91cmNlbnRhZ2UgZCd1dGlsaXNhdGlvbiBkdSBzeXN0w6htZSBkZSBmaWNoaWVycyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE3Cittc2dpZCAiZmlsZXN5c3RlbSByb290IgorbXNnc3RyICJzeXN0w6htZSBkZSBmaWNoaWVycyByYWNpbmUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOAorbXNnaWQgInRhc2sgSUQiCittc2dzdHIgImlkZW50aWZpYW50IGRlIHTDomNoZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5Cittc2dpZCAibW91bnQgSUQiCittc2dzdHIgImlkZW50aWZpYW50IGRlIG1vbnRhZ2UiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMAorbXNnaWQgIm9wdGlvbmFsIG1vdW50IGZpZWxkcyIKK21zZ3N0ciAiY2hhbXBzIGRlIG1vbnRhZ2UgZmFjdWx0YXRpZnMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMQorbXNnaWQgIlZGUyBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiaW5kaWNhdGV1cnMgZGUgcHJvcGFnYXRpb24gVkZTIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIKK21zZ2lkICJkdW1wKDgpIHBlcmlvZCBpbiBkYXlzIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAicMOpcmlvZGUgZGUgZHVtcCg4KSBlbiBqb3VyIFtzZXVsZW1lbnQgcG91ciBmc3RhYl0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMworbXNnaWQgInBhc3MgbnVtYmVyIG9uIHBhcmFsbGVsIGZzY2soOCkgW2ZzdGFiIG9ubHldIgorbXNnc3RyICJub21icmUgZGUgcGFzc2VzIGVuIGZzY2soOCkgcGFyYWxsw6hsZSBbc2V1bGVtZW50IHBvdXIgZnN0YWJdIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhY3Rpb246ICVzIgorbXNnc3RyICJhY3Rpb24gaW5jb25udWXCoDogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0MworbXNnaWQgIm1vdW50IgorbXNnc3RyICJtb250YWdlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDYKK21zZ2lkICJ1bW91bnQiCittc2dzdHIgImTDqW1vbnRhZ2UiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0OQorbXNnaWQgInJlbW91bnQiCittc2dzdHIgInJlbW9udGFnZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjUyCittc2dpZCAibW92ZSIKK21zZ3N0ciAiZMOpcGxhY2VtZW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA3NSBzeXMtdXRpbHMvZWplY3QuYzo3MTkKKyM6IHN5cy11dGlscy9tb3VudC5jOjY2OQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmxlIgorbXNnc3RyICLDqWNoZWMgZCdpbml0aWFsaXNhdGlvbiBkZSBsYSB0YWJsZSBkZSBsaWJtb3VudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODM5IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgJXMiCittc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxNSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDgxCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6OTQgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ4MgorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE4NyBzeXMtdXRpbHMvbW91bnQuYzoxMzQgc3lzLXV0aWxzL21vdW50LmM6MTgyCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjU2IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTU1IHN5cy11dGlscy9zd2Fwb24uYzoyNDQKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNzQgc3lzLXV0aWxzL3N3YXBvbi5jOjczMyBzeXMtdXRpbHMvdW1vdW50LmM6Mjc0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgaXRlcmF0b3IiCittc2dzdHIgIsOpY2hlYyBkJ2luaXRpYWxpc2F0aW9uIGRlIGwnaXTDqXJhdGV1ciBsaWJtb3VudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA4NworbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmRpZmYiCittc2dzdHIgIsOpY2hlYyBkJ2luaXRpYWxpc2F0aW9uIGRlIGxhIHRhYmRpZmYgZGUgbGlibW91bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMTUKK21zZ2lkICJwb2xsKCkgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgcG9sbCgpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gfCA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZSA8ZGV2aWNlPl0gWy0tdGFyZ2V0IDxwYXRoPiB8IC0tbW91bnRwb2ludCA8ZGlyPl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8cMOpcmlwaMOpcmlxdWU+IHwgPHBvaW50ZGVtb250YWdlPlxuIgorIiAlMSRzIFtvcHRpb25zXSA8cMOpcmlwaMOpcmlxdWU+IDxwb2ludGRlbW9udGFnZT5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlIDxww6lyaXBow6lyaXF1ZT5dIFstLXRhcmdldCA8cG9pbnRkZW1vbnRhZ2U+IHwgLS1tb3VudHBvaW50IDxyw6lwPl1cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5NgorbXNnaWQgIkZpbmQgYSAobW91bnRlZCkgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiVHJvdXZlciB1biBzeXN0w6htZSBkZSBmaWNoaWVycyAobW9udMOpKS5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5OQorbXNnaWQgIiAtcywgLS1mc3RhYiAgICAgICAgICAgIHNlYXJjaCBpbiBzdGF0aWMgdGFibGUgb2YgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1zLCAtLWZzdGFiICAgICAgICAgICAgY2hlcmNoZXIgZGFucyBsYSB0YWJsZSBzdGF0aXF1ZSBkZXMgc3lzdMOobWVzIGRlIGZpY2hpZXJzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDAKK21zZ2lkICIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzZWFyY2ggaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLW0sIC0tbXRhYiAgICAgICAgICAgICBjaGVyY2hlciBkYW5zIGxhIHRhYmxlIGRlcyBzeXN0w6htZXMgZGUgZmljaGllcnMgbW9udMOpc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAxCittc2dpZCAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIHNlYXJjaCBpbiBrZXJuZWwgdGFibGUgb2YgbW91bnRlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXN5c3RlbXMgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICByZWNoZXJjaGVyIGRhbnMgbGEgdGFibGUgZHUgbm95YXUgZGVzIHN5c3TDqG1lcyBkZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZmljaGllcnMgbW9udMOpcyAocGFyIGTDqWZhdXQpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDQKK21zZ2lkICIgLXAsIC0tcG9sbFs9PGxpc3Q+XSAgICBtb25pdG9yIGNoYW5nZXMgaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIiCisiIC1wLCAtLXBvbGxbPTxsaXN0ZT5dICAgc3VydmVpbGxlciBsZXMgbW9kaWZpY2F0aW9ucyBkYW5zIGxhIHRhYmxlIGRlcyBzeXN0w6htZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGRlIGZpY2hpZXJzIG1vbnTDqXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNQorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxudW0+ICAgIHVwcGVyIGxpbWl0IGluIG1pbGxpc2Vjb25kcyB0aGF0IC0tcG9sbCB3aWxsIGJsb2NrXG4iCittc2dzdHIgIiAtdywgLS10aW1lb3V0IDxub21icmU+IGxpbWl0ZSBtYXhpbWFsZSBlbiBtaWxsaXNlY29uZGUgcXVlIC0tcG9sbCBibG9xdWVyYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA4Cittc2dpZCAiIC1BLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgYnVpbHQtaW4gZmlsdGVycywgcHJpbnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWxsICAgICAgICAgICAgICBkw6lzYWN0aXZlciB0b3VzIGxlcyBmaWx0cmVzIGludMOpZ3LDqXMsIGFmZmljaGVyIHRvdXMgbGVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBzeXN0w6htZXMgZGUgZmljaGllcnNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOQorbXNnaWQgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBBU0NJSSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCittc2dzdHIgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHV0aWxpc2VyIGRlcyBjYXJhY3TDqHJlcyBBU0NJSSBwb3VyIGwnYXJib3Jlc2NlbmNlXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTAKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgYWZmaWNoZXIgbGVzIHRhaWxsZXMgZW4gb2N0ZXQgcGx1dMO0dCBxdSdlbiBmb3JtYXQgbGlzaWJsZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjExCittc2dpZCAiIC1DLCAtLW5vY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHdoZW4gY29tcGFyaW5nIHBhdGhzXG4iCittc2dzdHIgIiAtQywgLS1ub2Nhbm9uaWNhbGl6ZSAgIG5lIHBhcyBjYW5vbmlzZXIgbGVzIGNoZW1pbnMgbG9ycyBk4oCZdW5lIGNvbXBhcmFpc29uXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTIKK21zZ2lkICIgLWMsIC0tY2Fub25pY2FsaXplICAgICBjYW5vbmljYWxpemUgcHJpbnRlZCBwYXRoc1xuIgorbXNnc3RyICIgLWMsIC0tY2Fub25pY2FsaXplICAgICBhZmZpY2hhZ2UgZGVzIGNoZW1pbnMgY2Fub25pcXVlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEzCittc2dpZCAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGF0ZSB0aGUgb3V0cHV0IG9mIGRmKDEpXG4iCittc2dzdHIgIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRlciBsYSBzb3J0aWUgZGUgZGYoMSlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNAorbXNnaWQgIiAtZCwgLS1kaXJlY3Rpb24gPHdvcmQ+IGRpcmVjdGlvbiBvZiBzZWFyY2gsICdmb3J3YXJkJyBvciAnYmFja3dhcmQnXG4iCittc2dzdHIgIiAtZCwgLS1kaXJlY3Rpb24gPG1vdD4gIGRpcmVjdGlvbiBkZSByZWNoZXJjaGXCoDogwqvCoGZvcndhcmTCoMK7IG91IMKrwqBiYWNrd2FyZMKgwrtcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNQorbXNnaWQgIiIKKyIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBjb252ZXJ0IHRhZ3MgKExBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMKSBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGRldmljZSBuYW1lc1xuIgorbXNnc3RyICIiCisiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgY29udmVydGlyIHRvdXRlcyBsZXMgw6l0aXF1ZXR0ZXMgKExBQkVMLCBVVUlELCBQQVJUVVVJRCxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIFBBUlRMQUJFTCkgZW4gbm9tcyBkZSBww6lyaXBow6lyaXF1ZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE3Cittc2dpZCAiIC1GLCAtLXRhYi1maWxlIDxwYXRoPiAgYWx0ZXJuYXRpdmUgZmlsZSBmb3IgLXMsIC1tIG9yIC1rIG9wdGlvbnNcbiIKK21zZ3N0ciAiIC1GLCAtLXRhYi1maWxlIDxjaGVtLj4gIGF1dHJlIGZpY2hpZXIgcG91ciBsZXMgb3B0aW9ucyAtcywgLW0gb3UgLWtcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOAorbXNnaWQgIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIHByaW50IHRoZSBmaXJzdCBmb3VuZCBmaWxlc3lzdGVtIG9ubHlcbiIKK21zZ3N0ciAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgbidhZmZpY2hlciBxdWUgbGUgcHJlbWllciBzeXN0w6htZSBkZSBmaWNoaWVycyB0cm91dsOpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTkKK21zZ2lkICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnQgdGhlIHNlbnNlIG9mIG1hdGNoaW5nXG4iCittc2dzdHIgIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVyc2VyIGxlIHNlbnMgZGUgY29ycmVzcG9uZGFuY2VcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDcgc3lzLXV0aWxzL2xzbnMuYzo2MTkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgICB1dGlsaXNlciBsZSBmb3JtYXQgZGUgc29ydGllIEpTT05cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMSBzeXMtdXRpbHMvbHNucy5jOjYyMAorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdXRpbGlzZXIgbGUgZm9ybWF0IGRlIHNvcnRpZSBlbiBsaXN0ZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIyCittc2dpZCAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNlIGFsdGVybmF0aXZlIG5hbWVzcGFjZSAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIGZpbGUpXG4iCittc2dzdHIgIiIKKyIgLU4sIC0tdGFzayA8dGlkPiAgICAgICB1dGlsaXNlciBsJ2VzcGFjZSBkZSBub21zIGFsdGVybmF0aWYgKGZpY2hpZXJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIC9wcm9jLzx0aWQ+L21vdW50aW5mbylcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMworbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGNvbHVtbiBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBuZSBwYXMgYWZmaWNoZXIgbGVzIGVuLXTDqnRlcyBkZSBjb2xvbm5lXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjQKK21zZ2lkICIgLU8sIC0tb3B0aW9ucyA8bGlzdD4gICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IG1vdW50IG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorIiAtTywgLS1vcHRpb25zIDxsaXN0ZT4gIGxpbWl0ZXIgbCdlbnNlbWJsZSBkZSBzeXN0w6htZXMgZGUgZmljaGllcnMgcGFyIG9wdGlvbnNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGRlIG1vbnRhZ2VcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIHRoZSBvdXRwdXQgY29sdW1ucyB0byBiZSBzaG93blxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0ZT4gICBsZXMgY29sb25uZXMgZGUgc29ydGllIMOgIG1vbnRyZXJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNgorbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdXRpbGlzZXIgbGUgZm9ybWF0IGRlIHNvcnRpZSBjbGVmPVwidmFsZXVyXCJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNworbXNnaWQgIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIHByaW50IGFsbCBzdWJtb3VudHMgZm9yIHRoZSBtYXRjaGluZyBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIiCisiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgYWZmaWNoZXIgdG91cyBsZXMgc291cy1tb250YWdlcyBkZXMgc3lzdMOobWVzIGRlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBmaWNoaWVycyBjb3JyZXNwb25kYW50c1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI4Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHV0aWxpc2VyIGxlIGZvcm1hdCBkZSBzb3J0aWUgYnJ1dFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5Cittc2dpZCAiIgorIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorbXNnc3RyICIiCisiIC1TLCAtLXNvdXJjZSA8Y2hhw65uZT4gIGxlIHDDqXJpcGjDqXJpcXVlIMOgIG1vbnRlciAocGFyIG5vbSwgbWFqOm1pbixcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSBvdSBQQVJUTEFCRUw9KVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMxCittc2dpZCAiIC1ULCAtLXRhcmdldCA8cGF0aD4gICAgdGhlIHBhdGggdG8gdGhlIGZpbGVzeXN0ZW0gdG8gdXNlXG4iCittc2dzdHIgIiAtVCwgLS10YXJnZXQgPGNoZW1pbj4gIGxlIGNoZW1pbiBkdSBzeXN0w6htZSBkZSBmaWNoaWVyIMOgIHV0aWxpc2VyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzIKK21zZ2lkICIgLU0sIC0tbW91bnRwb2ludCA8ZGlyPiB0aGUgbW91bnRwb2ludCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1NLCAtLW1vdW50cG9pbnQgPHLDqXAuPiAgICBkw6lmaW5pciBsZSByw6lwZXJ0b2lyZSBkZSBtb250YWdlXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzMKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IEZTIHR5cGVzXG4iCittc2dzdHIgIiAtdCwgLS10eXBlcyA8bGlzdGU+ICAgIGxpbWl0ZXIgbCdlbnNlbWJsZSBkZSBzeXN0w6htZXMgZGUgZmljaGllcnMgcGFyIHR5cGVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzQKK21zZ2lkICIgLVUsIC0tdW5pcSAgICAgICAgICAgICBpZ25vcmUgZmlsZXN5c3RlbXMgd2l0aCBkdXBsaWNhdGUgdGFyZ2V0XG4iCittc2dzdHIgIiAtVSwgLS11bmlxICAgICAgICAgICAgIGlnbm9yZXIgbGVzIHN5c3TDqG1lcyBkZSBmaWNoaWVycyBhdmVjIHBsdXNpZXVycyBjaWJsZXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNSBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTMgc3lzLXV0aWxzL2xzbnMuYzo2MjUKK21zZ2lkICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgbmUgcGFzIHRyb25xdWVyIGxlIHRleHRlIGRlcyBjb2xvbm5lc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM2Cittc2dpZCAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorbXNnc3RyICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBuZSBwYXMgYWZmaWNoZXIgWy9yw6lwXSBwb3VyIGxlcyBtb250YWdlcyBiaW5kIG91IEJ0cmZzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzkKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXZlcmlmeSAgICAgICAgICAgdmVyaWZ5IG1vdW50IHRhYmxlIGNvbnRlbnQgKGRlZmF1bHQgaXMgZnN0YWIpXG4iCittc2dzdHIgIiAtWCwgLS12ZXJpZnkgICAgICAgICAgICAgbidhZmZpY2hlciBxdeKAmXVuIHNldWwgbW9pcyAocGFyIGTDqWZhdXQpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDAKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICAgYWZmaWNoZXIgZW4gbW9kZSBiYXZhcmRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTM2OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGRpcmVjdGlvbiAnJXMnIgorbXNnc3RyICJkaXJlY3Rpb24gaW5jb25udWXCoDogwqvCoCVzwqDCuyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTQ0MAorbXNnaWQgImludmFsaWQgVElEIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBUSUQgaW5jb3JyZWN0IgorCisjIE5PVEU6IHMvbW9yZS9tb3JlIGNhbiBiZS8gPworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUwOQorbXNnaWQgIi0tcG9sbCBhY2NlcHRzIG9ubHkgb25lIGZpbGUsIGJ1dCBtb3JlIHNwZWNpZmllZCBieSAtLXRhYi1maWxlIgorbXNnc3RyICItLXBvbGwgbmUgcGVybWV0IGQnaW5kaXF1ZXIgcXUndW4gZmljaGllciwgbWFpcyBkJ2F1dHJlcyBwZXV2ZW50IMOqdHJlIGluZGlxdcOpcyBhdmVjIC0tdGFiLWZpbGUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MTMKK21zZ2lkICJvcHRpb25zIC0tdGFyZ2V0IGFuZCAtLXNvdXJjZSBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggY29tbWFuZCBsaW5lIGVsZW1lbnQgdGhhdCBpcyBub3QgYW4gb3B0aW9uIgorbXNnc3RyICJsZXMgb3B0aW9ucyAtLXRhcmdldCBldCAtLXNvdXJjZSBuZSBwZXV2ZW50IMOqdHJlIHV0aWxpc8OpZXMgZW5zZW1ibGUgYXZlYyB1biDDqWzDqW1lbnQgZGUgbGlnbmUgZGUgY29tbWFuZGUgcXVpIG4nZXN0IHBhcyB1bmUgb3B0aW9uIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTYyCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgY2FjaGUiCittc2dzdHIgIsOpY2hlYyBkJ2luaXRpYWxpc2F0aW9uIGR1IGNhY2hlIGxpYm1vdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNvbHVtbiBpcyByZXF1ZXN0ZWQsIGJ1dCAtLXBvbGwgaXMgbm90IGVuYWJsZWQiCittc2dzdHIgImxhIGNvbG9ubmUgJXMgZXN0IGRlbWFuZMOpZSwgbWFpcyAtLXBvbGwgbidlc3QgcGFzIGFjdGl2w6kiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTYKK21zZ2lkICJ0YXJnZXQgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJjaWJsZSBpbmRpcXXDqWUgcGx1c2lldXJzIGZvaXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgb3JkZXI6ICVzIHNwZWNpZmllZCBiZWZvcmUgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzMworbXNnaWQgInVuZGVmaW5lZCB0YXJnZXQgKGZzX2ZpbGUpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWNhbm9uaWNhbCB0YXJnZXQgcGF0aCAocmVhbDogJXMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCB0YXJnZXQ6ICVtIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgdGFyZ2V0OiAlbSIKK21zZ3N0ciAiY2libGUgaW50cm91dmFibGXCoDogJW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTEKK21zZ2lkICJ0YXJnZXQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJsYSBjaWJsZSBu4oCZZXN0IHBhcyB1biByw6lwZXJ0b2lyZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MworbXNnaWQgInRhcmdldCBleGlzdHMiCittc2dzdHIgImxhIGNpYmxlIGV4aXN0ZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHNvdXJjZTogJXM9JXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZTogJXM9JXMiCittc2dzdHIgImludHJvdXZhYmxlwqA6ICVzPSVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcz0lcyB0cmFuc2xhdGVkIHRvICVzIgorbXNnc3RyICIlcz0lcyBlc3QgYXNzb2Npw6kgw6AgJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5MAorbXNnaWQgInVuZGVmaW5lZCBzb3VyY2UgKGZzX3NwZWMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHNvdXJjZSB0YWc6ICVzIgorbXNnc3RyICJhcmd1bWVudCBub24gcHJpcyBlbiBjaGFyZ2XCoDogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIHNvdXJjZSAocHNldWRvL25ldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBzb3VyY2U6ICVzOiAlbSIKK21zZ3N0ciAic291cmNlIGludHJvdXZhYmxlwqA6ICVzwqA6ICVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjEyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1iaW5kIG1vdW50IHNvdXJjZSAlcyBpcyBhIGRpcmVjdG9yeSBvciByZWd1bGFyIGZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIgbGEgc291cmNlICVzIG4nZXN0IHBhcyB1biBww6lyaXBow6lyaXF1ZSBibG9jIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBleGlzdHMiCittc2dzdHIgImxhIHNvdXJjZSAlcyBleGlzdGUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICJPcHRpb25zIFZGUyA6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiT3B0aW9ucyBGUyA6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM4CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXJzcGFjZSBvcHRpb25zOiAlcyIKK21zZ3N0ciAiT3B0aW9ucyBlbiBlc3BhY2UgdXRpbGlzYXRldXLCoDogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHN3YXBhcmVhIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAic3RyYXTDqWdpZSBk4oCZYWJhbmRvbiBub24gcHJpc2UgZW4gY2hhcmdlwqA6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjYwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzd2FwYXJlYSBwcmlvcml0eSBvcHRpb24iCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZGUgcHJpb3JpdMOpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBGUyB0eXBlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDA2Cittc2dpZCAiXCJub25lXCIgRlMgdHlwZSBpcyByZWNvbW1lbmRlZCBmb3IgYmluZCBvciBtb3ZlIG9wcmF0aW9ucyBvbmx5IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAibGEgY29tbWFuZGUgZGUgc8OpbGVjdGlvbiBkZSB2aXRlc3NlIGR1IENEIG4nZXN0IHBhcyBwcmlzZSBlbiBjaGFyZ2UgcGFyIGNlIG5veWF1IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIwIG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGRldGVjdCBvbi1kaXNrIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAidHlwZSBkZSBzeXN0w6htZSBkZSBmaWNoaWVycyBpbmNvbm51IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRvZXMgbm90IG1hdGNoIHdpdGggb24tZGlzayAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbi1kaXNrICVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAibGEgY29tbWFuZGUgZGUgc8OpbGVjdGlvbiBkZSB2aXRlc3NlIGR1IENEIG4nZXN0IHBhcyBwcmlzZSBlbiBjaGFyZ2UgcGFyIGNlIG5veWF1IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZTIHR5cGUgaXMgJXMiCittc2dzdHIgIkZTIGRlIHR5cGUgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjb21tZW5kZWQgcm9vdCBGUyBwYXNzbm8gaXMgMSAoY3VycmVudCBpcyAlZCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBwYXJzZSBlcnJvciIKK21zZ2lkX3BsdXJhbCAiJWQgcGFyc2UgZXJyb3JzIgorbXNnc3RyWzBdICIlZCBlcnJldXIgZCdhbmFseXNlIgorbXNnc3RyWzFdICIlZCBlcnJldXJzIGQnYW5hbHlzZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICIsICVkIGVycm9yIgorbXNnaWRfcGx1cmFsICIsICVkIGVycm9ycyIKK21zZ3N0clswXSAiLCAlZCBlcnJldXIiCittc2dzdHJbMV0gIiwgJWQgZXJyZXVycyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxNAorIywgYy1mb3JtYXQKK21zZ2lkICIsICVkIHdhcm5pbmciCittc2dpZF9wbHVyYWwgIiwgJWQgd2FybmluZ3MiCittc2dzdHJbMF0gIiwgJWQgYWxlcnRlIgorbXNnc3RyWzFdICIsICVkIGFsZXJ0ZXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzcywgbm8gZXJyb3JzIG9yIHdhcm5pbmdzIGRldGVjdGVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJFeMOpY3V0ZXogwqvCoCVzIC0taGVscMKgwrsgcG91ciBvYnRlbmlyIGRlcyByZW5zZWlnbmVtZW50cyBjb21wbMOpbWVudGFpcmVzLlxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMwNAorbXNnaWQgImVtcHR5IGxvbmcgb3B0aW9uIGFmdGVyIC1sIG9yIC0tbG9uZyBhcmd1bWVudCIKK21zZ3N0ciAib3B0aW9uIGxvbmd1ZSB2aWRlIGFwcsOocyBsJ2FyZ3VtZW50IC1sIG91IC0tbG9uZyIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMjUKK21zZ2lkICJ1bmtub3duIHNoZWxsIGFmdGVyIC1zIG9yIC0tc2hlbGwgYXJndW1lbnQiCittc2dzdHIgInNoZWxsIGluY29ubnUgYXByw6hzIGwnYXJndW1lbnQgLXMgb3UgLS1zaGVsbCIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1dIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSAtb3wtLW9wdGlvbnMgPG9wdHN0cmluZz4gW29wdGlvbnNdIFstLV0gPHBhcmFtZXRlcnM+XG4iCittc2dzdHIgIiIKKyIgJTEkcyA8Y2hhw65uZV9vcHQ+IDxwYXJhbcOodHJlcz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tXSA8Y2hhw65uZV9vcHQ+IDxwYXJhbcOodHJlcz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLW98LS1vcHRpb25zIDxjaGHDrm5lX29wdD4gW29wdGlvbnNdIFstLV0gPHBhcmFtw6h0cmVzPlxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzOAorbXNnaWQgIlBhcnNlIGNvbW1hbmQgb3B0aW9ucy5cbiIKK21zZ3N0ciAiQW5hbHlzZXIgZGVzIG9wdGlvbnMgZGUgbGlnbmVzIGRlIGNvbW1hbmRlcy5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDEKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAgYWxsb3cgbG9uZyBvcHRpb25zIHN0YXJ0aW5nIHdpdGggc2luZ2xlIC1cbiIKK21zZ3N0ciAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgcGVybWV0dHJlIGxlcyBvcHRpb25zIGxvbmd1ZXMgYXZlYyB1biBzZXVsIC1cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDIKK21zZ2lkICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiAgdGhlIGxvbmcgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAtbCwgLS1sb25nb3B0aW9ucyA8b3B0LWxvbmc+IGxlcyBvcHRpb25zIGxvbmd1ZXMgw6AgcmVjb25uYcOudHJlXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQzCittc2dpZCAiIC1uLCAtLW5hbWUgPHByb2duYW1lPiAgICAgICAgIHRoZSBuYW1lIHVuZGVyIHdoaWNoIGVycm9ycyBhcmUgcmVwb3J0ZWRcbiIKK21zZ3N0ciAiIC1uLCAtLW5hbWUgPG5vbS1wcm9ncmFtbWU+ICAgbGUgbm9tIHNvdXMgbGVxdWVsIGxlcyBlcnJldXJzIHNvbnQgc2lnbmFsw6llc1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NAorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgICB0aGUgc2hvcnQgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDxjaGHDrm5lX29wdD4gICBsZXMgb3B0aW9ucyBjb3VydGVzIMOgIHJlY29ubmHDrnRyZVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBkaXNhYmxlIGVycm9yIHJlcG9ydGluZyBieSBnZXRvcHQoMylcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgZMOpc2FjdGl2ZXIgbGVzIHJhcHBvcnRzIGQnZXJyZXVyIHBhciBnZXRvcHQoMylcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDYKK21zZ2lkICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgbm8gbm9ybWFsIG91dHB1dFxuIgorbXNnc3RyICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBwYXMgZCdhZmZpY2hhZ2Ugbm9ybWFsXG4iCisKKyMgZ2V0b3B0LTEuMS4yL2dldG9wdC5jOjMzNQorIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDcKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgc2V0IHF1b3RpbmcgY29udmVudGlvbnMgdG8gdGhvc2Ugb2YgPHNoZWxsPlxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPGludGVycHLDqXRldXI+ICAgZMOpZmluaXIgbGVzIGNvbnZlbnRpb25zIGRlIHByb3RlY3Rpb24gw6AgY2VsbGUgZGUgbCc8aW50ZXJwcsOpdGV1cj5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDgKK21zZ2lkICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgdGVzdCBmb3IgZ2V0b3B0KDEpIHZlcnNpb25cbiIKK21zZ3N0ciAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgYWZmaWNoZXIgbGEgdmVyc2lvbiBkZSBnZXRvcHQoMSlcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDkKK21zZ2lkICIgLXUsIC0tdW5xdW90ZWQgICAgICAgICAgICAgICAgZG8gbm90IHF1b3RlIHRoZSBvdXRwdXRcbiIKK21zZ3N0ciAiIC11LCAtLXVucXVvdGVkICAgICAgICAgICAgICAgbmUgcGFzIHByb3TDqWdlciBsYSBzb3J0aWUgYXZlYyBkZXMgZ3VpbGxlbWV0c1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM5OSBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1OQorbXNnaWQgIm1pc3Npbmcgb3B0c3RyaW5nIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBjaGHDrm5lX29wdCBtYW5xdWFudCIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzo0NTQKK21zZ2lkICJpbnRlcm5hbCBlcnJvciwgY29udGFjdCB0aGUgYXV0aG9yLiIKK21zZ3N0ciAiZXJyZXVyIGludGVybmUsIGNvbnRhY3RlciBsJ2F1dGV1ci4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjIzNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbCAlczsgdmFsaWQgc2lnbmFsczoiCittc2dzdHIgInNpZ25hbCAlcyBpbmNvbm51wqA7IHNpZ25hdXggdmFsYWJsZXPCoDoiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwMgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwaWQ+fDxuYW1lPi4uLlxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIDxwaWQ+fDxub20+IC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDUKK21zZ2lkICJGb3JjaWJseSB0ZXJtaW5hdGUgYSBwcm9jZXNzLlxuIgorbXNnc3RyICJGb3JjZXIgdW4gcHJvY2Vzc3VzIMOgIHNlIHRlcm1pbmVyLlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDgKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IHRoZSBuYW1lLXRvLXBpZCBjb252ZXJzaW9uIHRvIHByb2Nlc3Nlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgc2FtZSB1aWQgYXMgdGhlIHByZXNlbnQgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgbmUgcGFzIHJlc3RyZWluZHJlIGxhIGNvbnZlcnNpb24gZGUgbm9tIGVuIFBJRCBhdXhcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3N1cyBhdmVjIGxlIG3Dqm1lIFVJRCBxdWUgbGUgcHJvY2Vzc3VzIGFjdHVlbFxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTAKK21zZ2lkICIgLXMsIC0tc2lnbmFsIDxzaWduYWw+ICBzZW5kIHRoaXMgPHNpZ25hbD4gaW5zdGVhZCBvZiBTSUdURVJNXG4iCittc2dzdHIgIiAtcywgLS1zaWduYWwgPHNpZ25hbD4gIGVudm95ZXIgY2UgPHNpZ25hbD4gYXUgbGlldSBkZSBTSUdURVJNXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMgorbXNnaWQgIiAtcSwgLS1xdWV1ZSA8dmFsdWU+ICAgIHVzZSBzaWdxdWV1ZSgyKSwgbm90IGtpbGwoMiksIGFuZCBwYXNzIDx2YWx1ZT4gYXMgZGF0YVxuIgorbXNnc3RyICIiCisiIC1xLCAtLXF1ZXVlIDx2YWxldXI+ICAgdXRpbGlzZXIgc2lncXVldWUoMiksIHBhcyBraWxsKDIpLCBldCBwYXNzZXIgPHZhbGV1cj5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1lIGRvbm7DqWVcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE0Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgcHJpbnQgcGlkcyB3aXRob3V0IHNpZ25hbGluZyB0aGVtXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICAgICAgIGFmZmljaGVyIGxlcyBQSUQgc2FucyBsZXVyIGVudm95ZXIgZGUgc2lnbmFsXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNQorbXNnaWQgIiAtbCwgLS1saXN0Wz08c2lnbmFsPl0gIGxpc3Qgc2lnbmFsIG5hbWVzLCBvciBjb252ZXJ0IGEgc2lnbmFsIG51bWJlciB0byBhIG5hbWVcbiIKK21zZ3N0ciAiIgorIiAtbCwgLS1saXN0Wz08c2lnbmFsPl0gIGFmZmljaGVyIGxlcyBub21zIGRlIHNpZ25hbCwgb3UgY29udmVydGlyIHVuIG51bcOpcm8gZGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHNpZ25hbCBlbiBub21cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE2Cittc2dpZCAiIC1MLCAtLXRhYmxlICAgICAgICAgICAgbGlzdCBzaWduYWwgbmFtZXMgYW5kIG51bWJlcnNcbiIKK21zZ3N0ciAiIC1MLCAtLXRhYmxlICAgICAgICAgICAgYWZmaWNoZXIgbGVzIG5vbXMgZXQgbnVtw6lyb3MgZGUgc2lnbmFsXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNworbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IHBpZHMgdGhhdCB3aWxsIGJlIHNpZ25hbGVkXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBhZmZpY2hlciBsZXMgUElEIGF1eHF1ZWxzIHVuIHNpZ25hbCBzZXJhIGVudm95w6lcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzY3IG1pc2MtdXRpbHMva2lsbC5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbDogJXMiCittc2dzdHIgInNpZ25hbCBpbmNvbm51wqA6ICVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozODcgbWlzYy11dGlscy9raWxsLmM6MzkwIG1pc2MtdXRpbHMva2lsbC5jOjM5OQorIzogbWlzYy11dGlscy9raWxsLmM6NDExIG1pc2MtdXRpbHMva2lsbC5jOjQzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiJXMgZXQgJXMgcydleGNsdWVudCBtdXR1ZWxsZW1lbnQiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM5NiBtaXNjLXV0aWxzL2tpbGwuYzo0MzggbWlzYy11dGlscy9yZW5hbWUuYzoxNzQKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc4OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc5OAorbXNnaWQgIm5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJwYXMgYXNzZXogZCdhcmd1bWVudHMiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQwOQorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAibOKAmW9wdGlvbiDCq8KgJXPCoMK7IG7DqWNlc3NpdGUgdW4gYXJndW1lbnQiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQxNCBzeXMtdXRpbHMvZWplY3QuYzoyMDUgc3lzLXV0aWxzL2VqZWN0LmM6MjMwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY4OSBzeXMtdXRpbHMvdHVuZWxwLmM6MTYxIHN5cy11dGlscy90dW5lbHAuYzoxNjgKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxNzUgc3lzLXV0aWxzL3R1bmVscC5jOjE4MiBzeXMtdXRpbHMvdHVuZWxwLmM6MTg5CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTk1IHN5cy11dGlscy90dW5lbHAuYzoxOTkgc3lzLXV0aWxzL3R1bmVscC5jOjIwNgorIzogc3lzLXV0aWxzL3R1bmVscC5jOjIzMSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTMgdGVybS11dGlscy9zZXR0ZXJtLmM6MjE2CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzUgdGVybS11dGlscy9zZXR0ZXJtLmM6MjM3IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3MgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mjc0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5MSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTgKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMwMCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTIgdGVybS11dGlscy9zZXR0ZXJtLmM6MzE0CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjMgdGVybS11dGlscy9zZXR0ZXJtLmM6MzMxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0NgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM2MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM3MyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1MzUgdGVybS11dGlscy9zZXR0ZXJtLmM6NTQwCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDUgdGVybS11dGlscy9zZXR0ZXJtLmM6NTUwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU3NAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTc5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODkKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTkgdGVybS11dGlscy9zZXR0ZXJtLmM6NjA3CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2NDAKK21zZ2lkICJhcmd1bWVudCBlcnJvciIKK21zZ3N0ciAiZXJyZXVyIGQnYXJndW1lbnQiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNpZ25hbCBuYW1lIG9yIG51bWJlcjogJXMiCittc2dzdHIgIm5vbSBvdSBudW3DqXJvIGRlIHNpZ25hbCBpbmNvcnJlY3TCoDogJXMiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCAlZCB0byBwaWQgJWRcbiIKK21zZ3N0ciAiZW52b2kgZHUgc2lnbmFswqAlZCBhdSBQSUTCoCVkXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQ2MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCB0byAlcyBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBk4oCZZW52b2kgZGUgc2lnbmFsIMOgICVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgcHJvY2VzcyBcIiVzXCIiCittc2dzdHIgImltcG9zc2libGUgZGUgdHJvdXZlciBsZSBwcm9jZXNzdXMgwqvCoCVzwqDCuyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSBuYW1lOiAlcyIKK21zZ3N0ciAibm9tIGRlIHNlcnZpY2UgaW5jb25udcKgOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAibm9tIGRlIHByaW9yaXTDqSBpbmNvbm51wqA6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVubG9nICVzOiBwYXRobmFtZSB0b28gbG9uZyIKK21zZ3N0ciAib3BlbmxvZyAlc8KgOiBjaGVtaW4gdHJvcCBsb25nIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI2NworIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgJXMiCittc2dzdHIgInNvY2tldCAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgbmFtZSAlcyBwb3J0ICVzOiAlcyIKK21zZ3N0ciAiw6ljaGVjIGRlIHLDqXNvbHV0aW9uIGR1IG5vbSAlcyBzdXIgbGUgcG9ydCAlc8KgOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNvbm5lY3QgdG8gJXMgcG9ydCAlcyIKK21zZ3N0ciAiw6ljaGVjIGRlIGNvbm5leGlvbiDDoCAlcyBzdXIgbGUgcG9ydCAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4aW11bSBpbnB1dCBsaW5lcyAoJWQpIGV4Y2VlZGVkIgorbXNnc3RyICJub21icmUgbWF4aW1hbCBkZSBsaWduZXMgKCVkKSBkw6lwYXNzw6kiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NDg3Cittc2dpZCAic2VuZCBtZXNzYWdlIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGwsZW52b2kgZHUgbWVzc2FnZSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RydWN0dXJlZCBkYXRhIElEICclcycgaXMgbm90IHVuaXF1ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU3MgorIywgYy1mb3JtYXQKK21zZ2lkICItLXNkLWlkIHdhcyBub3Qgc3BlY2lmaWVkIGZvciAtLXNkLXBhcmFtICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzU0Cittc2dpZCAibG9jYWx0aW1lKCkgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgbG9jYWx0aW1lKCkiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzY0CisjLCBjLWZvcm1hdAorbXNnaWQgImhvc3RuYW1lICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgImxlIG5vbSBk4oCZaMO0dGUgwqvCoCVzwqDCuyBlc3QgdHJvcCBsb25nIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc3MAorIywgYy1mb3JtYXQKK21zZ2lkICJ0YWcgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAibOKAmcOpdGlxdWV0dGUgwqvCoCVzwqDCuyBlc3QgdHJvcCBsb25ndWUiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODMzCisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIHVua25vd24gb3B0aW9uIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiYXJndW1lbnQgZOKAmW9wdGlvbiBpbmNvbm51IGlnbm9yw6nCoDogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlczogdXNpbmcgYXV0b21hdGljIGVycm9ycyIKK21zZ3N0ciAiYXJndW1lbnQgaW5jb3JyZWN0IDogJXPCoDogcG91ciBsJ29wdGlvbiAtLWF1dG8sIC1hIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjk5NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bWVzc2FnZT5dXG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gWzxtZXNzYWdlPl1cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo5OTcKK21zZ2lkICJFbnRlciBtZXNzYWdlcyBpbnRvIHRoZSBzeXN0ZW0gbG9nLlxuIgorbXNnc3RyICJFbnRyZXIgZGVzIG1lc3NhZ2VzIGRhbnMgbGUgam91cm5hbCBzeXN0w6htZS5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAwCisjLCBmdXp6eQorbXNnaWQgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgbG9nIHRoZSBsb2dnZXIgY29tbWFuZCdzIFBJRFxuIgorbXNnc3RyICIgLWkgICAgICAgICAgICAgIG5lIHBhcyBhZmZpY2hlciBkZSBjb25zZWlsc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWlkWz08aWQ+XSAgICAgICAgICBsb2cgdGhlIGdpdmVuIDxpZD4sIG9yIG90aGVyd2lzZSB0aGUgUElEXG4iCittc2dzdHIgIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgam91cm5hbGlzZXIgPGlkPiAoUElEIHBhciBkw6lmYXV0KVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDIKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgICAgIGxvZyB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlXG4iCittc2dzdHIgIiAtZiwgLS1maWxlIDxmaWNoaWVyPiAgICAgam91cm5hbGlzZXIgbGUgY29udGVudSBkZSBjZSBmaWNoaWVyXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMworIywgZnV6enkKK21zZ2lkICIgLWUsIC0tc2tpcC1lbXB0eSAgICAgICAgIGRvIG5vdCBsb2cgZW1wdHkgbGluZXMgd2hlbiBwcm9jZXNzaW5nIGZpbGVzXG4iCittc2dzdHIgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgICBuZSBwYXMgZGVtYW5kZXIgZCdpZGVudGlmaWFudCBkZSBjb25uZXhpb25cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA0Cittc2dpZCAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgd3JpdGUgdGhlIGxvZ1xuIgorbXNnc3RyICIgICAgIC0tbm8tYWN0ICAgICAgICAgICAgICB0b3V0IGZhaXJlIHNhdWYgbOKAmcOpY3JpdHVyZSBkdSBqb3VybmFsXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNQorbXNnaWQgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgbWFyayBnaXZlbiBtZXNzYWdlIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIG1hcnF1ZXIgbGUgbWVzc2FnZSBkb25uw6kgYXZlYyBjZXR0ZSBwcmlvcml0w6lcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA2Cittc2dpZCAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICB1c2UgcmZjNjU4NyBvY3RldCBjb3VudGluZ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNworbXNnaWQgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAgbG9vayBmb3IgYSBwcmVmaXggb24gZXZlcnkgbGluZSByZWFkIGZyb20gc3RkaW5cbiIKK21zZ3N0ciAiICAgICAtLXByaW8tcHJlZml4ICAgICAgICByZWNoZXJjaGVyIHVuIHByw6lmaXhlIHN1ciBsZXMgbGlnbmVzIGTigJllbnRyw6llIHN0YW5kYXJkXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwOAorbXNnaWQgIiAtcywgLS1zdGRlcnIgICAgICAgICAgICAgb3V0cHV0IG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IgYXMgd2VsbFxuIgorbXNnc3RyICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIGFmZmljaGVyIGF1c3NpIGxlIG1lc3NhZ2UgZW4gc29ydGllIGQnZXJyZXVyIHN0YW5kYXJkXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwOQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgIG1heGltdW0gc2l6ZSBmb3IgYSBzaW5nbGUgbWVzc2FnZVxuIgorbXNnc3RyICIgLVMsIC0tc2l6ZSA8dGFpbGxlPiAgICAgICB0YWlsbGUgZGUgcMOpcmlwaMOpcmlxdWVcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEwCittc2dpZCAiIC10LCAtLXRhZyA8dGFnPiAgICAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorbXNnc3RyICIgLXQsIC0tdGFnIDzDqXRpcXVldHRlPiAgICBtYXJxdWVyIHRvdXRlcyBsZXMgbGlnbmVzIGF2ZWMgY2V0dGUgw6l0aXF1ZXR0ZVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTEKK21zZ2lkICIgLW4sIC0tc2VydmVyIDxuYW1lPiAgICAgIHdyaXRlIHRvIHRoaXMgcmVtb3RlIHN5c2xvZyBzZXJ2ZXJcbiIKK21zZ3N0ciAiIC1uLCAtLXNlcnZlciA8bm9tPiAgICAgICDDqWNyaXJlIHZlcnMgY2Ugc2VydmV1ciBkZSBqb3VybmFsaXNhdGlvbiBkaXN0YW50XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMgorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcG9ydCA8cG9ydD4gICAgICAgIHVzZSB0aGlzIHBvcnQgZm9yIFVEUCBvciBUQ1AgY29ubmVjdGlvblxuIgorbXNnc3RyICIgLVAsIC0tcG9ydCA8cG9ydD4gICAgICB1dGlsaXNlciBjZSBwb3J0IFVEUFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTMKK21zZ2lkICIgLVQsIC0tdGNwICAgICAgICAgICAgICAgIHVzZSBUQ1Agb25seVxuIgorbXNnc3RyICIgLVQsIC0tdGNwICAgICAgICAgICAgICAgIG7igJl1dGlsaXNlciBxdWUgVENQXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNAorbXNnaWQgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCittc2dzdHIgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgbuKAmXV0aWxpc2VyIHF14oCZVURQXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNQorbXNnaWQgIiAgICAgLS1yZmMzMTY0ICAgICAgICAgICAgdXNlIHRoZSBvYnNvbGV0ZSBCU0Qgc3lzbG9nIHByb3RvY29sXG4iCittc2dzdHIgIiAgICAgLS1yZmMzMTY0ICAgICAgICAgICAgdXRpbGlzZXIgbGUgcHJvdG9jb2xlIHN5c2xvZyBCU0Qgb2Jzb2zDqHRlXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNgorbXNnaWQgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIHVzZSB0aGUgc3lzbG9nIHByb3RvY29sICh0aGUgZGVmYXVsdCBmb3IgcmVtb3RlKTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNuaXA+IGNhbiBiZSBub3RpbWUsIG9yIG5vdHEsIGFuZC9vciBub2hvc3RcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1yZmM1NDI0Wz08c25pcD5dICAgdXRpbGlzZXIgbGUgcHJvdG9jb2xlIHN5c2xvZyAocGFyIGTDqWZhdXQgcG91ciBs4oCZYWNjw6hzIGRpc3RhbnQpwqA7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiBwZXV0IMOqdHJlIG5vdGltZSBvdSBub3RxLCBldCBvdSBub2hvc3RcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE4Cittc2dpZCAiICAgICAtLXNkLWlkIDxpZD4gICAgICAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBJRFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxOQorbXNnaWQgIiAgICAgLS1zZC1wYXJhbSA8ZGF0YT4gICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgbmFtZT12YWx1ZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMAorbXNnaWQgIiAgICAgLS1tc2dpZCA8bXNnaWQ+ICAgICAgc2V0IHJmYzU0MjQgbWVzc2FnZSBpZCBmaWVsZFxuIgorbXNnc3RyICIgLS1yZ2lkIDxNU0dJRD4gICAgICAgICAgICAgZMOpZmluaXIgbGUgY2hhbXAgTWVzc2FnZSBJRCByZmM1NDI0XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMQorbXNnaWQgIiAtdSwgLS1zb2NrZXQgPHNvY2tldD4gICAgd3JpdGUgdG8gdGhpcyBVbml4IHNvY2tldFxuIgorbXNnc3RyICIgLXUsIC0tc29ja2V0IDxzb2NrZXQ+ICAgIMOpY3JpcmUgdmVycyBjZXR0ZSBzb2NrZXQgVU5JWFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjIKK21zZ2lkICIiCisiICAgICAtLXNvY2tldC1lcnJvcnNbPTxvbnxvZmZ8YXV0bz5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludCBjb25uZWN0aW9uIGVycm9ycyB3aGVuIHVzaW5nIFVuaXggc29ja2V0c1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyNQorbXNnaWQgIiAgICAgLS1qb3VybmFsZFs9PGZpbGU+XSAgd3JpdGUgam91cm5hbGQgZW50cnlcbiIKK21zZ3N0ciAiICAgICAtLWpvdXJuYWxkWz08ZmljLj5dICDDqWNyaXJlIHVuZSBlbnRyw6llIGRlIGpvdXJuYWxkXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTExMgorIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlICVzIgorbXNnc3RyICJmaWNoaWVyICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExMjcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgaWQiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZGUgbOKAmWlkZW50aWZpYW50IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNDUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWVzc2FnZSBzaXplIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIHRhaWxsZSBkdSBtZXNzYWdlIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODAKK21zZ2lkICItLW1zZ2lkIGNhbm5vdCBjb250YWluIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgSUQ6ICclcyciCittc2dzdHIgImFyZ3VtZW50IGluY29ycmVjdMKgOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBwYXJhbWV0ZXI6ICclcyciCittc2dzdHIgImFyZ3VtZW50IGQnZXhwaXJhdGlvbiBkZSBsYSBtaW51dGVyaWUgaW5jb3JyZWN0wqA6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMTgKK21zZ2lkICItLWZpbGUgPGZpbGU+IGFuZCA8bWVzc2FnZT4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSwgbWVzc2FnZSBpcyBpZ25vcmVkIgorbXNnc3RyICItLWZpbGUgPGZpY2hpZXI+IGV0IDxtZXNzYWdlPiBzJ2V4Y2x1ZW50IG11dHVlbGxlbWVudCwgbWVzc2FnZSBlc3QgaWdub3LDqSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjI1Cittc2dpZCAiam91cm5hbGQgZW50cnkgY291bGQgbm90IGJlIHdyaXR0ZW4iCittc2dzdHIgImzigJllbnRyw6llIGpvdXJuYWxkIG7igJlhIHBhcyBwdSDDqnRyZSDDqWNyaXRlIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8c3RyaW5nPiBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIDxjaGHDrm5lPiBbPGZpY2hpZXI+IC4uLl1cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzU4Cittc2dpZCAiRGlzcGxheSBsaW5lcyBiZWdpbm5pbmcgd2l0aCBhIHNwZWNpZmllZCBzdHJpbmcuXG4iCittc2dzdHIgIkFmZmljaGVyIGxlcyBsaWduZXMgY29tbWVuw6dhbnQgcGFyIHVuZSBjaGHDrm5lIGluZGlxdcOpZS5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYxCittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICB1c2UgdGhlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICB1dGlsaXNlciBsZSByw6lwZXJ0b2lyZSBhbHRlcm5hdGlmXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MgorbXNnaWQgIiAtZCwgLS1hbHBoYW51bSAgICAgICAgICAgY29tcGFyZSBvbmx5IGJsYW5rcyBhbmQgYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBuZSBjb21wYXJlciBxdWUgbGVzIGNhcmFjdMOocmVzIGFscGhhbnVtw6lyaXF1ZXMgb3UgYmxhbmNzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MworbXNnaWQgIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIKK21zZ3N0ciAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBpZ25vcmVyIGxlcyBkaWZmw6lyZW5jZXMgZGUgY2Fzc2UgZW4gY29tcGFyYW50XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2NAorbXNnaWQgIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgZGVmaW5lIHRoZSBzdHJpbmctdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCittc2dzdHIgIiAtdCwgLS10ZXJtaW5hdGUgPGNhcmFjdMOocmU+ICBkw6lmaW5pciBsZSBjYXJhY3TDqHJlIGRlIGZpbiBkZSBjaGHDrm5lXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTcKK21zZ2lkICJkZXZpY2UgbmFtZSIKK21zZ3N0ciAibm9tIGR1IHDDqXJpcGjDqXJpcXVlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU4Cittc2dpZCAiaW50ZXJuYWwga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICJub20gZHUgcMOpcmlwaMOpcmlxdWUgaW50ZXJuZSBkdSBub3lhdSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OQorbXNnaWQgImludGVybmFsIHBhcmVudCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIm5vbSBkdSBww6lyaXBow6lyaXF1ZSBwYXJlbnQgaW50ZXJuZSBkdSBub3lhdSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MiBzeXMtdXRpbHMvenJhbWN0bC5jOjg0Cittc2dpZCAid2hlcmUgdGhlIGRldmljZSBpcyBtb3VudGVkIgorbXNnc3RyICJvw7kgbGUgcMOpcmlwaMOpcmlxdWUgZXN0IG1vbnTDqSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MworbXNnaWQgImZpbGVzeXN0ZW0gTEFCRUwiCittc2dzdHIgIsOpdGlxdWV0dGUgZHUgc3lzdMOobWUgZGUgZmljaGllcnMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSBVVUlEIgorbXNnc3RyICJ0eXBlIGRlIHBhcnRpdGlvbiBVVUlEIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY3Cittc2dpZCAicGFydGl0aW9uIExBQkVMIgorbXNnc3RyICLDqXRpcXVldHRlIGRlIHBhcnRpdGlvbiIKKworIyBOT1RFOiBzL3JlYWQtYWhlYWQvcmVhZGFoZWFkLworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MQorbXNnaWQgInJlYWQtYWhlYWQgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAiYXZhbmNlIGVuIGxlY3R1cmUgKMKrwqByZWFkYWhlYWTCoMK7KSBkdSBww6lyaXBow6lyaXF1ZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAicMOpcmlwaMOpcmlxdWUgZW4gbGVjdHVyZSBzZXVsZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MworbXNnaWQgInJlbW92YWJsZSBkZXZpY2UiCittc2dzdHIgInDDqXJpcGjDqXJpcXVlIGFtb3ZpYmxlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc0Cittc2dpZCAicmVtb3ZhYmxlIG9yIGhvdHBsdWcgZGV2aWNlICh1c2IsIHBjbWNpYSwgLi4uKSIKK21zZ3N0ciAicMOpcmlwaMOpcmlxdWUgYW1vdmlibGUgb3UgY29ubmVjdGFibGUgw6AgY2hhdWQgKFVTQiwgUENNQ0lBLMKgZXRjLikiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzUKK21zZ2lkICJyb3RhdGlvbmFsIGRldmljZSIKK21zZ3N0ciAicMOpcmlwaMOpcmlxdWUgdG91cm5hbnQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzYKK21zZ2lkICJhZGRzIHJhbmRvbW5lc3MiCittc2dzdHIgImFqb3V0IGQnYWzDqWEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzcKK21zZ2lkICJkZXZpY2UgaWRlbnRpZmllciIKK21zZ3N0ciAiaWRlbnRpZmlhbnQgZGUgcMOpcmlwaMOpcmlxdWUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzgKK21zZ2lkICJkaXNrIHNlcmlhbCBudW1iZXIiCittc2dzdHIgIm51bcOpcm8gZGUgc8OpcmllIGR1IGRpc3F1ZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OQorbXNnaWQgInNpemUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAidGFpbGxlIGR1IHDDqXJpcGjDqXJpcXVlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgwCittc2dpZCAic3RhdGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAiw6l0YXQgZHUgcMOpcmlwaMOpcmlxdWUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODIKK21zZ2lkICJncm91cCBuYW1lIgorbXNnc3RyICJub20gZGUgZ3JvdXBlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgzCittc2dpZCAiZGV2aWNlIG5vZGUgcGVybWlzc2lvbnMiCittc2dzdHIgInBlcm1pc3Npb25zIGRlIG7Fk3VkIGRlIHDDqXJpcGjDqXJpcXVlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg0Cittc2dpZCAiYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAiaW5kZXggZCdhbGlnbmVtZW50IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg1Cittc2dpZCAibWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAidGFpbGxlIG1pbmltYWxlIGQnRS9TIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg2Cittc2dpZCAib3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAidGFpbGxlIG9wdGltYWxlIGQnRS9TIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg3Cittc2dpZCAicGh5c2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgInRhaWxsZSBkZSBzZWN0ZXVyIHBoeXNpcXVlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg4Cittc2dpZCAibG9naWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAidGFpbGxlIGRlIHNlY3RldXIgbG9naXF1ZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OQorbXNnaWQgIkkvTyBzY2hlZHVsZXIgbmFtZSIKK21zZ3N0ciAib3Jkb25uYW5jZXVyIGQnRS9TIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwCittc2dpZCAicmVxdWVzdCBxdWV1ZSBzaXplIgorbXNnc3RyICJkZW1hbmRlIGRlIHRhaWxsZSBkZSBsYSBmaWxlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkxCittc2dpZCAiZGV2aWNlIHR5cGUiCittc2dzdHIgInR5cGUgZGUgcMOpcmlwaMOpcmlxdWUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTIKK21zZ2lkICJkaXNjYXJkIGFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgImFiYW5kb24gZGUgbCdpbmRleCBkJ2FsaWduZW1lbnQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMKK21zZ2lkICJkaXNjYXJkIGdyYW51bGFyaXR5IgorbXNnc3RyICJhYmFuZG9uIGRlIGxhIGdyYW51bGFyaXTDqSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NAorbXNnaWQgImRpc2NhcmQgbWF4IGJ5dGVzIgorbXNnc3RyICJhYmFuZG9uIGR1IG1heGltdW0gZCdvY3RldHMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTUKK21zZ2lkICJkaXNjYXJkIHplcm9lcyBkYXRhIgorbXNnc3RyICJhYmFuZG9uIGRlcyBkb25uw6llcyBkZSB6w6lyb3MiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTYKK21zZ2lkICJ3cml0ZSBzYW1lIG1heCBieXRlcyIKK21zZ3N0ciAiw6ljcml0dXJlIGR1IG3Dqm1lIG1heGltdW0gZCdvY3RldHMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTcKK21zZ2lkICJ1bmlxdWUgc3RvcmFnZSBpZGVudGlmaWVyIgorbXNnc3RyICJpZGVudGlmaWFudCBkZSBzdG9ja2FnZSB1bmlxdWUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTgKK21zZ2lkICJIb3N0OkNoYW5uZWw6VGFyZ2V0Okx1biBmb3IgU0NTSSIKK21zZ3N0ciAiSMO0dGU6Q2FuYWw6Q2libGU6VWxvZyBwb3VyIFNDU0kiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTkKK21zZ2lkICJkZXZpY2UgdHJhbnNwb3J0IHR5cGUiCittc2dzdHIgInR5cGUgZGUgcMOpcmlwaMOpcmlxdWUgZGUgdHJhbnNwb3J0IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAwCittc2dpZCAiZGUtZHVwbGljYXRlZCBjaGFpbiBvZiBzdWJzeXN0ZW1zIgorbXNnc3RyICJkw6lkdXBsaXF1ZXIgdW5lIGNoYcOubmUgZGUgc291cy1zeXN0w6htZXMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDEKK21zZ2lkICJkZXZpY2UgcmV2aXNpb24iCittc2dzdHIgInLDqXZpc2lvbiBkZSBww6lyaXBow6lyaXF1ZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMgorbXNnaWQgImRldmljZSB2ZW5kb3IiCittc2dzdHIgImNvbnN0cnVjdGV1ciBkdSBww6lyaXBow6lyaXF1ZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjEyNzYKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkZXZpY2UgZGlyZWN0b3J5IGluIHN5c2ZzIgorbXNnc3RyICLDqWNoZWMgZCdvdXZlcnR1cmUgZHUgcsOpcGVydG9pcmUgZGUgcMOpcmlwaMOpcmlxdWUgZHUgc3lzdMOobWUgZGUgZmljaGllcnMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY29tcG9zZSBzeXNmcyBwYXRoIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgY29tcG9zaXRpb24gZHUgY2hlbWluIGRlIHN5c3TDqG1lIGRlIGZpY2hpZXJzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgbGluayIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIGxlY3R1cmUgZHUgbGllbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3lzZnMgbmFtZSIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGQnb2J0ZW50aW9uIGR1IG5vbSBkZSBzeXN0w6htZSBkZSBmaWNoaWVycyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgd2hvbGUtZGlzayBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZCdvYnRlbnRpb24gZHUgbnVtw6lybyBkZSBww6lyaXBow6lyaXF1ZXMgZGlzcXVlIGVudGllciIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NTEgbWlzYy11dGlscy9sc2Jsay5jOjE1NTMgbWlzYy11dGlscy9sc2Jsay5jOjE1NzgKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTgwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsaXN0ICclcyciCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZGUgbGEgbGlzdGUgwqvCoCVzwqDCuyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgZXhjbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICJMYSBsaXN0ZSBkZSBww6lyaXBow6lyaXF1ZXMgw6AgZXhjbHVyZSBlc3QgdHJvcCBncmFuZGUgKGxhIGxpbWl0ZSBlc3QgZGUgJWTCoHDDqXJpcGjDqXJpcXVlcykiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTg1CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGluY2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAiTGEgbGlzdGUgZGUgcMOpcmlwaMOpcmlxdWVzIMOgIGluY2x1cmUgZXN0IHRyb3AgZ3JhbmRlIChsYSBsaW1pdGUgZXN0IGRlICVkwqBww6lyaXBow6lyaXF1ZXMpIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxNiBzeXMtdXRpbHMvd2RjdGwuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIFs8cMOpcmlwaMOpcmlxdWU+IC4uLl1cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MTkKK21zZ2lkICJMaXN0IGluZm9ybWF0aW9uIGFib3V0IGJsb2NrIGRldmljZXMuXG4iCittc2dzdHIgIkFmZmljaGVyIGRlcyByZW5zZWlnbmVtZW50cyBzdXIgZGVzIHDDqXJpcGjDqXJpcXVlcyBibG9jcy5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjIKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgcHJpbnQgYWxsIGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgIGFmZmljaGVyIHRvdXMgbGVzIHDDqXJpcGjDqXJpcXVlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNAorbXNnaWQgIiAtZCwgLS1ub2RlcHMgICAgICAgICBkb24ndCBwcmludCBzbGF2ZXMgb3IgaG9sZGVyc1xuIgorbXNnc3RyICIgLWQsIC0tbm9kZXBzICAgICAgICAgbidhZmZpY2hlciBuaSBsZXMgZXNjbGF2ZXMgbmkgbGVzIHBvcnRldXJzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI1Cittc2dpZCAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHByaW50IGRpc2NhcmQgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiAtRCwgLS1kaXNjYXJkICAgICAgICBhZmZpY2hlciBsZXMgY2FwYWNpdMOpcyBkJ2FiYW5kb25cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjYKK21zZ2lkICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorbXNnc3RyICIiCisiIC1lLCAtLWV4Y2x1ZGUgPGxpc3RlPiBleGNsdXJlIGxlcyBww6lyaXBow6lyaXF1ZXMgcGFyIG51bcOpcm8gbWFqZXVyXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgKGRpc3F1ZXMgUkFNIHBhciBkw6lmYXV0KVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNworbXNnaWQgIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLWYsIC0tZnMgICAgICAgICAgICAgYWZmaWNoZXIgZGVzIHJlbnNlaWduZW1lbnRzIHN1ciBsZXMgc3lzdMOobWVzIGRlIGZpY2hpZXJzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI4Cittc2dpZCAiIC1pLCAtLWFzY2lpICAgICAgICAgIHVzZSBhc2NpaSBjaGFyYWN0ZXJzIG9ubHlcbiIKK21zZ3N0ciAiIC1pLCAtLWFzY2lpICAgICAgICAgIHV0aWxpc2VyIHNldWxlbWVudCBkZXMgY2FyYWN0w6hyZXMgQVNDSUlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjkKK21zZ2lkICIgLUksIC0taW5jbHVkZSA8bGlzdD4gc2hvdyBvbmx5IGRldmljZXMgd2l0aCBzcGVjaWZpZWQgbWFqb3IgbnVtYmVyc1xuIgorbXNnc3RyICIiCisiIC1JLCAtLWluY2x1ZGUgPGxpc3RlPiBuZSBtb250cmVyIHF1ZSBsZXMgcMOpcmlwaMOpcmlxdWVzIGF2ZWMgbGVzIG51bcOpcm9zXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgbWFqZXVyIGluZGlxdcOpc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMAorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICB1dGlsaXNlciBsZSBmb3JtYXQgZGUgc29ydGllIEpTT05cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzEKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgdXRpbGlzZXIgbCdhZmZpY2hhZ2UgYXUgZm9ybWF0IGxpc3RlXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMyCittc2dpZCAiIC1tLCAtLXBlcm1zICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiAtbSwgLS1wZXJtcyAgICAgICAgICBhZmZpY2hlciBkZXMgcmVuc2VpZ25lbWVudHMgc3VyIGxlcyBkcm9pdHNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIG5lIHBhcyBhZmZpY2hlciBsZXMgZW4tdMOqdGVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM0Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RlPiBjb2xvbm5lcyBhZmZpY2jDqWVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM1Cittc2dpZCAiIC1PLCAtLW91dHB1dC1hbGwgICAgIG91dHB1dCBhbGwgY29sdW1uc1xuIgorbXNnc3RyICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgYWZmaWNoZXIgdG91dGVzIGxlcyBjb2xvbm5lc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNgorbXNnaWQgIiAtcCwgLS1wYXRocyAgICAgICAgICBwcmludCBjb21wbGV0ZSBkZXZpY2UgcGF0aFxuIgorbXNnc3RyICIgLXAsIC0tcGF0aHMgICAgICAgICAgYWZmaWNoZXIgbGUgY2hlbWluIGRlIHDDqXJpcGjDqXJpcXVlIGNvbXBsZXRcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzkKK21zZ2lkICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKK21zZ3N0ciAiIC1zLCAtLWludmVyc2UgICAgICAgIGludmVyc2VyIGxlcyBkw6lwZW5kYW5jZXNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDAKK21zZ2lkICIgLVMsIC0tc2NzaSAgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgU0NTSSBkZXZpY2VzXG4iCittc2dzdHIgIiAtUywgLS1zY3NpICAgICAgICAgICBhZmZpY2hlciBsZXMgaW5mb3JtYXRpb25zIHN1ciBsZXMgcMOpcmlwaMOpcmlxdWVzIFNDU0lcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDEKK21zZ2lkICIgLXQsIC0tdG9wb2xvZ3kgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgdG9wb2xvZ3lcbiIKK21zZ3N0ciAiIC10LCAtLXRvcG9sb2d5ICAgICAgIGFmZmljaGVyIGRlcyByZW5zZWlnbmVtZW50cyBzdXIgbGEgdG9wb2xvZ2llXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQyCittc2dpZCAiIC14LCAtLXNvcnQgPGNvbHVtbj4gIHNvcnQgb3V0cHV0IGJ5IDxjb2x1bW4+XG4iCittc2dzdHIgIiAteCwgLS1zb3J0IDxjb2xvbm5lPiAgdHJpZXIgbGEgc29ydGllIHBhciA8Y29sb25uZT5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDcgbWlzYy11dGlscy9sc2xvY2tzLmM6NTE5IHN5cy11dGlscy9sc25zLmM6NjMyCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE5NiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLW91dHB1dCk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJDb2xvbm5lcyBkaXNwb25pYmxlcyAocG91ciAtLW91dHB1dCnCoDpcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFjY2VzcyBzeXNmcyBkaXJlY3Rvcnk6ICVzIgorbXNnc3RyICLDqWNoZWMgZCdhY2PDqHMgYXUgcsOpcGVydG9pcmUgZGUgc3lzdMOobWUgZGUgZmljaGllcnPCoDogJXMiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjczCittc2dpZCAiY29tbWFuZCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICJjb21tYW5kZSBkdSBwcm9jZXNzdXMgZMOpdGVuYW50IGxlIHZlcnJvdSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzQKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAiUElEIGR1IHByb2Nlc3N1cyBkw6l0ZW5hbnQgbGUgdmVycm91IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NQorbXNnaWQgImtpbmQgb2YgbG9jazogRkxfRkxPQ0sgb3IgRkxfUE9TSVguIgorbXNnc3RyICJ0eXBlIGRlIHZlcnJvdcKgOiBGTF9GTE9DSyBvdSBGTF9QT1NJWC4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc2Cittc2dpZCAic2l6ZSBvZiB0aGUgbG9jayIKK21zZ3N0ciAidGFpbGxlIGR1IHZlcnJvdSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzcKK21zZ2lkICJsb2NrIGFjY2VzcyBtb2RlIgorbXNnc3RyICJtb2RlIGQnYWNjw6hzIGF1IHZlcnJvdSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzgKK21zZ2lkICJtYW5kYXRvcnkgc3RhdGUgb2YgdGhlIGxvY2s6IDAgKG5vbmUpLCAxIChzZXQpIgorbXNnc3RyICLDqXRhdCBvYmxpZ2F0b2lyZSBkdSB2ZXJyb3XCoDogMCAoYXVjdW4pLCAxIChkw6lmaW5pKSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzkKK21zZ2lkICJyZWxhdGl2ZSBieXRlIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAiaW5kZXggcmVsYXRpZiBkdSB2ZXJyb3UgZW4gb2N0ZXQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgwCittc2dpZCAiZW5kaW5nIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAiaW5kZXggZGUgZmluIGR1IHZlcnJvdSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODEKK21zZ2lkICJwYXRoIG9mIHRoZSBsb2NrZWQgZmlsZSIKK21zZ3N0ciAiY2hlbWluIGR1IGZpY2hpZXIgdmVycm91aWxsw6kiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgyCittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGJsb2NraW5nIHRoZSBsb2NrIgorbXNnc3RyICJQSUQgZHUgcHJvY2Vzc3VzIGJsb3F1YW50IGxlIHZlcnJvdSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjU5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElEIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGQnaWRlbnRpZmlhbnQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4MSBzeXMtdXRpbHMvbnNlbnRlci5jOjIzMgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwaWQiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZHUgUElEIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODQKK21zZ2lkICIodW5rbm93bikiCittc2dzdHIgIihpbmNvbm51KSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjkzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGR1IGTDqWJ1dCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzAwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVuZCIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkZSBsYSBmaW4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNAorbXNnaWQgIkxpc3QgbG9jYWwgc3lzdGVtIGxvY2tzLlxuIgorbXNnc3RyICJBZmZpY2hlciBsZXMgdmVycm91cyBzeXN0w6htZSBsb2NhdXguXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwOAorbXNnaWQgIiAtaSwgLS1ub2luYWNjZXNzaWJsZSAgIGlnbm9yZSBsb2NrcyB3aXRob3V0IHJlYWQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDkgc3lzLXV0aWxzL2xzbnMuYzo2MjEKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgbmUgcGFzIGFmZmljaGVyIGxlcyBlbi10w6p0ZXNcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTEwIHN5cy11dGlscy9sc25zLmM6NjIyCittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0ZT4gZMOpZmluaXIgbGVzIGNvbG9ubmVzIGRlIHNvcnRpZSDDoCB1dGlsaXNlclxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTEKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgZGlzcGxheSBvbmx5IGxvY2tzIGhlbGQgYnkgdGhpcyBwcm9jZXNzXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPFBJRD4gICAgICAgIGFnaXIgc3VyIGNlcyBwcm9jZXNzdXMgZMOpasOgIGVuIGNvdXJzIGQnZXjDqWN1dGlvblxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTIgc3lzLXV0aWxzL2xzbnMuYzo2MjQKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHV0aWxpc2VyIGxlIGZvcm1hdCBkZSBzb3J0aWUgYnJ1dFxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1NzAgc2NoZWR1dGlscy9jaHJ0LmM6NDc4IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc3CisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxNjMgc3lzLXV0aWxzL2xzbnMuYzo2OTkgc3lzLXV0aWxzL3BybGltaXQuYzo1ODYKK21zZ2lkICJpbnZhbGlkIFBJRCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnQgUElEIGluY29ycmVjdCIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODUKK21zZ2lkICJHZW5lcmF0ZSBtYWdpYyBjb29raWVzIGZvciB4YXV0aC5cbiIKK21zZ3N0ciAiQ3LDqWVyIGRlcyDCq8KgY29va2llcyBtYWdpcXVlc8KgwrsgcG91ciB4YXV0aC5cbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODgKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgIHVzZSBmaWxlIGFzIGEgY29va2llIHNlZWRcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPGZpY2hpZXI+ICB1dGlsaXNlciBsZSBmaWNoaWVyIHBvdXIgZ8OpbsOpcmVyIGxlIGNvb2tpZVxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OQorbXNnaWQgIiAtbSwgLS1tYXgtc2l6ZSA8bnVtPiAgbGltaXQgaG93IG11Y2ggaXMgcmVhZCBmcm9tIHNlZWQgZmlsZXNcbiIKK21zZ3N0ciAiIC1tLCAtLW1heC1zaXplIDxudW0+ICBsaW1pdGVyIGxhIHF1YW50aXTDqSBkZSBkb25uw6llcyBsdWUgZGVzIGZpY2hpZXJzXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkwCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgIGV4cGxpcXVlciBsZXMgYWN0aW9ucyBlbiBjb3Vyc1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiR290ICV6dSBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICV6dSBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIkEgb2J0ZW51ICV6dcKgb2N0ZXQgZGUgJXNcbiIKK21zZ3N0clsxXSAiQSBvYnRlbnUgJXp1wqBvY3RldHMgZGUgJXNcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb3NpbmcgJXMgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgZmVybWV0dXJlIGRlICVzIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNjQgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNDYgc3lzLXV0aWxzL2ZzdHJpbS5jOjMwOAorIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTE3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxlbmd0aCIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkZSBsb25ndWV1ciIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTc3Cittc2dpZCAiLS1tYXgtc2l6ZSBpZ25vcmVkIHdoZW4gdXNlZCB3aXRob3V0IC0tZmlsZSIKK21zZ3N0ciAiLS1tYXgtc2l6ZSBpZ25vcsOpZSBsb3JzIGTigJl1dGlsaXNhdGlvbiBzYW5zIC0tZmlsZSIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTg1CisjLCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlZCBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICVkIGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAiQSBvYnRlbnUgJWTCoG9jdGV0IGRlICVzXG4iCittc2dzdHJbMV0gIkEgb2J0ZW51ICVkwqBvY3RldHMgZGUgJXNcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjkwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHN5bWxpbms6ICVzIgorbXNnc3RyICLDqWNoZWMgZGUgbGVjdHVyZSBkdSBsaWVuIHN5bWJvbGlxdWXCoDogJXMiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgLSBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5XG4iCittc2dzdHIgIiVzIOKAlCBmaWNoaWVyIG91IHLDqXBlcnRvaXJlIGluZXhpc3RhbnRcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwYXRobmFtZT4uLi5cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSA8Y2hlbWluPiAuLi5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzNgorbXNnaWQgIkZvbGxvdyBhIHBhdGhuYW1lIHVudGlsIGEgdGVybWluYWwgcG9pbnQgaXMgZm91bmQuXG4iCittc2dzdHIgIlN1aXZyZSB1biBjaGVtaW4ganVzcXUnYXUgcHJlbWllciBwb2ludCB0ZXJtaW5hbC5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzOQorbXNnaWQgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICBkaXNwbGF5cyB0aGlzIGhlbHAgdGV4dFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC14LCAtLW1vdW50cG9pbnRzICAgc2hvdyBtb3VudCBwb2ludCBkaXJlY3RvcmllcyB3aXRoIGEgJ0QnXG4iCisiIC1tLCAtLW1vZGVzICAgICAgICAgc2hvdyB0aGUgbW9kZSBiaXRzIG9mIGVhY2ggZmlsZVxuIgorIiAtbywgLS1vd25lcnMgICAgICAgIHNob3cgb3duZXIgYW5kIGdyb3VwIG5hbWUgb2YgZWFjaCBmaWxlXG4iCisiIC1sLCAtLWxvbmcgICAgICAgICAgdXNlIGEgbG9uZyBsaXN0aW5nIGZvcm1hdCAoLW0gLW8gLXYpIFxuIgorIiAtbiwgLS1ub3N5bWxpbmtzICAgIGRvbid0IGZvbGxvdyBzeW1saW5rc1xuIgorIiAtdiwgLS12ZXJ0aWNhbCAgICAgIHZlcnRpY2FsIGFsaWduIG9mIG1vZGVzIGFuZCBvd25lcnNcbiIKK21zZ3N0ciAiIgorIiAtaCwgLS1oZWxwICAgICAgICAgIGFmZmljaGUgY2V0dGUgYWlkZVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIGFmZmljaGVyIGxlcyBpbmZvcm1hdGlvbnMgZGUgdmVyc2lvbiBldCBxdWl0dGVyXG4iCisiIC14LCAtLW1vdW50cG9pbnRzICAgbW9udHJlIGxlcyBwb2ludHMgZGUgbW9udGFnZSBhdmVjIMKrwqBEwqDCu1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIGFmZmljaGUgbGUgbW9kZSBwb3VyIGNoYXF1ZSBmaWNoaWVyXG4iCisiIC1vLCAtLW93bmVycyAgICAgICAgYWZmaWNoZSBsZSBwcm9wcmnDqXRhaXJlL2xlIGdyb3VwZSBkZSBjaGFxdWUgZmljaGllclxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIGZvcm1hdCBkZSBsaXN0ZSBsb25ndWUgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICBuZSBwYXMgc3VpdnJlIGxlcyBsaWVucyBzeW3DqXRyaXF1ZXNcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICBhbGlnbmUgdmVydGljYWxlbWVudCBsZXMgbW9kZXMgZXQgcHJvcHJpw6l0YWlyZXNcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQwOAorbXNnaWQgInBhdGhuYW1lIGFyZ3VtZW50IGlzIG1pc3NpbmciCittc2dzdHIgImFyZ3VtZW50IGNoZW1pbiBtYW5xdWFudCIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNCBzeXMtdXRpbHMvbHNucy5jOjc2NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgVUlEIGNhY2hlIgorbXNnc3RyICLDqWNoZWMgZCdhbGxvY2F0aW9uIGTigJllbi10w6p0ZSBHUFQiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdJRCBjYWNoZSIKK21zZ3N0ciAiw6ljaGVjIGQnYWxsb2NhdGlvbiBk4oCZZW4tdMOqdGUgR1BUIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGNlZWRlZCBsaW1pdCBvZiBzeW1saW5rcyIKK21zZ3N0ciAiJXPCoDogbGltaXRlIGRlIGxpZW5zIHN5bWJvbGlxdWVzIGTDqXBhc3PDqWUiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHN5bWJvbGljIGxpbmsiCittc2dzdHIgIiVzwqA6IHBhcyB1biBsaWVuIHN5bWJvbGlxdWUiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWRsaW5rIGZhaWxlZCIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIGxlY3R1cmUgZGUgbGllbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5saW5rIGZhaWxlZCIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGQndW5saW5rIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzeW1saW5raW5nIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIGNyw6lhdGlvbiBkZSBsaWVuIHN5bWJvbGlxdWUgdmVycyAlcyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlbmFtZSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSByZW5vbW1hZ2UgZW4gJXMiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGV4cHJlc3Npb24+IDxyZXBsYWNlbWVudD4gPGZpbGU+Li4uXG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gPGV4cHJlc3Npb24+IDxyZW1wbGFjZW1lbnQ+IDxmaWNoaWVyPiAuLi5cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjIKK21zZ2lkICJSZW5hbWUgZmlsZXMuXG4iCittc2dzdHIgIlJlbm9tbWVyIGRlcyBmaWNoaWVycy5cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICBleHBsaXF1ZXIgbGVzIGFjdGlvbnMgZW4gY291cnNcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjYKK21zZ2lkICIgLXMsIC0tc3ltbGluayAgICBhY3Qgb24gdGhlIHRhcmdldCBvZiBzeW1saW5rc1xuIgorbXNnc3RyICIgLXMsIC0tc3ltbGluayAgICBhZ2lyIHN1ciBsYSBjaWJsZSBkdSBsaWVuIHN5bWJvbGlxdWVcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcyCittc2dpZCAiQSBkYWVtb24gZm9yIGdlbmVyYXRpbmcgVVVJRHMuXG4iCittc2dzdHIgIlVuIGTDqW1vbiBkZSBjcsOpYXRpb24gZOKAmVVVSUQuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkIDxwYXRoPiAgICAgICAgcGF0aCB0byBwaWQgZmlsZVxuIgorbXNnc3RyICIgLXAsIC0tcGlkIDxwYXRoPiAgICAgICAgZMOpZmluaXIgbGEgcGFyaXTDqSDDoCBsYSB2YWxldXIgaW1wYWlyZVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNvY2tldCA8cGF0aD4gICAgIHBhdGggdG8gc29ja2V0XG4iCittc2dzdHIgIiAtdSwgLS1zb2NrZXQgPHNvY2tldD4gICAgw6ljcmlyZSB2ZXJzIGNldHRlIHNvY2tldCBVTklYXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NgorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWVvdXQgPG5vbWJyZT4gICAgIHRlbXBzIGQnZXhwaXJhdGlvbiBkdSBwcm9jZXNzdXMgZGUgY29ubmV4aW9uXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NworIywgZnV6enkKK21zZ2lkICIgLWssIC0ta2lsbCAgICAgICAgICAgICAga2lsbCBydW5uaW5nIGRhZW1vblxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgZMOpbW9udGVyIHRvdXMgbGVzIHN5c3TDqG1lcyBkZSBmaWNoaWVyc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzgKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhbmRvbSAgICAgICAgICAgIHRlc3QgcmFuZG9tLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgIHV0aWxpc2VyIGxlIGZvcm1hdCBkZSBzb3J0aWUgYnJ1dFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAtdCwgLS10aW1lIDx0ZW1wcz4gICAgICAgICAgIHRlbXBzIGQnYXR0ZW50ZSBkdSBwaWxvdGUgZW4gbWlsbGlzZWNvbmRlXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tdXVpZHMgPG51bT4gICAgICAgcmVxdWVzdCBudW1iZXIgb2YgdXVpZHNcbiIKK21zZ3N0ciAiIC1ILCAtLWhlYWRzIDxub21icmU+ICAgICAgICAgIGluZGlxdWVyIGxlIG5vbWJyZSBkZSB0w6p0ZXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgxCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1uby1waWQgICAgICAgICAgICBkbyBub3QgY3JlYXRlIHBpZCBmaWxlXG4iCittc2dzdHIgIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICBuZSBwYXMgYWZmaWNoZXIgbGUgZmljaGllciBpc3N1ZVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODIKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIGRvIG5vdCBkYWVtb25pemUgdXNpbmcgZG91YmxlLWZvcmtcbiIKK21zZ3N0ciAiIgorIiAtRiwgLS1uby1mb3JrICAgICAgICAgIG5lIHBhciBjcsOpZXIgZGUgcHJvY2Vzc3VzIGZpbHMgYXZhbnQgZCdleMOpY3V0ZXJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGxlIDxwcm9ncmFtbWU+XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MworIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iCittc2dzdHIgIi0tc29ja2V0LWFjdGl2YXRpb24gZXQgLS1zb2NrZXQgb250IHRvdXRlcyBkZXV4IMOpdMOpIGluZGlxdcOpcy4gLS1zb2NrZXQgZXN0IGlnbm9yw6kuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODQKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHJ1biBpbiBkZWJ1Z2dpbmcgbW9kZVxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgYWZmaWNoZXIgZGVzIG1lc3NhZ2VzIMOpdGVuZHVzIHN1ciBsYSBzb3J0aWUgZCdlcnJldXIgc3RhbmRhcmRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjg1CisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0dXJuIG9uIHF1aWV0IG1vZGVcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcHJpbWVyIGxlcyBtZXNzYWdlcyBk4oCZaW5mb3JtYXRpb24gc3VwcGzDqW1lbnRhaXJlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTE4Cittc2dpZCAiYmFkIGFyZ3VtZW50cyIKK21zZ3N0ciAiYXJndW1lbnRzIGVycm9uw6lzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTI1Cittc2dpZCAic29ja2V0IgorbXNnc3RyICJzb2NrZXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMzYKK21zZ2lkICJjb25uZWN0IgorbXNnc3RyICJjb25uZXhpb24iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNTYKK21zZ2lkICJ3cml0ZSIKK21zZ3N0ciAiw6ljcml0dXJlIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTY0Cittc2dpZCAicmVhZCBjb3VudCIKK21zZ3N0ciAibm9tYnJlIGRlIGxlY3R1cmVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTcwCittc2dpZCAiYmFkIHJlc3BvbnNlIGxlbmd0aCIKK21zZ3N0ciAibWF1dmFpc2UgbG9uZ3VldXIgZGUgcsOpcG9uc2UiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGxvY2sgJXMiCittc2dzdHIgImltcG9zc2libGUgZGUgdmVycm91aWxsZXIgJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyNDYKK21zZ2lkICJjb3VsZG4ndCBjcmVhdGUgdW5peCBzdHJlYW0gc29ja2V0IgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciB1bmUgc29ja2V0IGRlIGZsdXggVU5JWCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBiaW5kIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnYXNzb2NpZXIgKGJpbmQpIGxhIHNvY2tldCBVTklYICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mjk4CisjLCBmdXp6eQorbXNnaWQgInJlY2VpdmluZyBzaWduYWwgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZOKAmWVudm9pIGRlIHNpZ25hbCDDoCAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjMxMQorbXNnaWQgInRpbWVkIG91dCIKK21zZ3N0ciAiZXhwaXJhdGlvbiBkdSBkw6lsYWkiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNDUgc3lzLXV0aWxzL2Zsb2NrLmM6MjcxCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgdXAgdGltZXIiCittc2dzdHIgImltcG9zc2libGUgZGUgY29uZmlndXJlciBsJ2lkZW50aWZpYW50IGRlIGdyb3VwZSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICJ1dWlkZCBkYWVtb24gaXMgYWxyZWFkeSBydW5uaW5nIGF0IHBpZCAlcyIKK21zZ3N0ciAibGUgZMOpbW9uIHV1aWRkIGTDqWrDoCBlbiBjb3VycyBk4oCZZXjDqWN1dGlvbiBhdmVjIGxlIFBJRMKgJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgbGlzdGVuIG9uIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbGEgc29ja2V0IFVOSVggJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHRydW5jYXRlIGZpbGU6ICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHRyb25xdWVyIGxlIGZpY2hpZXLCoDogJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODYKK21zZ2lkICJzZF9saXN0ZW5fZmRzKCkgZmFpbGVkIgorbXNnc3RyICLDiWNoZWMgZGUgc2RfbGlzdGVuX2ZkcygpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzg5Cittc2dpZCAibm8gZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgc3lzdGVtY3RsIHN0YXR1cyB1dWlkZC5zb2NrZXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM5MgorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayB1dWlkZC5zb2NrZXQiCittc2dzdHIgImF1Y3VuIG91IHRyb3AgZGUgZGVzY3JpcHRldXJzIGRlIGZpY2hpZXJzIHJlw6d1cy4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MjAgdGVybS11dGlscy9zY3JpcHQuYzo0NTUKKyMsIGZ1enp5Cittc2dpZCAicG9sbCBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBwb2xsKCkiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZW91dCBbJWQgc2VjXVxuIgorbXNnc3RyICJleHBpcmF0aW9uIGR1IGTDqWxhaSBbJWQgc11cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0MyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQxNAorbXNnaWQgInJlYWQgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgbGVjdHVyZSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciByZWFkaW5nIGZyb20gY2xpZW50LCBsZW4gPSAlZCIKK21zZ3N0ciAiZXJyZXVyIGxlY3R1cmUgZHUgY2xpZW50LCBsb25ndWV1ciA9ICVkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZCwgaW5jb21pbmcgbnVtID0gJWRcbiIKK21zZ3N0ciAib3DDqXJhdGlvbsKgJWQsIG51bS4gZW50cmFudCA9ICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkXG4iCittc2dzdHIgIk9ww6lyYXRpb27CoCVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRDogJXNcbiIKK21zZ3N0ciAiSGV1cmUgVVVJRCBnw6luw6lyw6llwqA6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHJhbmRvbSBVVUlEOiAlc1xuIgorbXNnc3RyICJOYnIgYWzDqWF0b2lyZSBVVUlEIGfDqW7DqXLDqcKgOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgYW5kICVkIGZvbGxvd2luZ1xuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ3N0clswXSAiSGV1cmUgVVVJRCBjcsOpw6llICVzIGV0ICVkIHN1aXZhbnRcbiIKK21zZ3N0clsxXSAiSGV1cmUgVVVJRCBjcsOpw6llICVzIGV0ICVkIHN1aXZhbnRzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkICVkIFVVSUQ6XG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCAlZCBVVUlEczpcbiIKK21zZ3N0clswXSAiJWTCoFVVSUQgY3LDqcOpwqA6XG4iCittc2dzdHJbMV0gIiVkwqBVVUlEIGNyw6nDqXPCoDpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIG9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICJPcMOpcmF0aW9uwqAlZCBub24gdmFsYWJsZVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgcmVwbHkgbGVuZ3RoIGZyb20gc2VydmVyICVkIgorbXNnc3RyICJMb25ndWV1ciBkZSByw6lwb25zZSBkdSBzZXJ2ZXVywqAlZCBpbmF0dGVuZHVlIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjAwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdXVpZHMiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZGUgLS11dWlkcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYxNworbXNnaWQgInV1aWRkIGhhcyBiZWVuIGJ1aWx0IHdpdGhvdXQgc3VwcG9ydCBmb3Igc29ja2V0IGFjdGl2YXRpb24iCittc2dzdHIgInV1aWRkIGEgw6l0w6kgY29uc3RydWl0IHNhbnMgcHJpc2UgZW4gY2hhcmdlIGQnYWN0aXZhdGlvbiBkZSBzb2NrZXRzLiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYzNgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRpbWVvdXQiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZGUgLS10aW1lb3V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjUzCittc2dpZCAiQm90aCAtLXNvY2tldC1hY3RpdmF0aW9uIGFuZCAtLXNvY2tldCBzcGVjaWZpZWQuIElnbm9yaW5nIC0tc29ja2V0LiIKK21zZ3N0ciAiLS1zb2NrZXQtYWN0aXZhdGlvbiBldCAtLXNvY2tldCBvbnQgdG91dGVzIGRldXggw6l0w6kgaW5kaXF1w6lzLiAtLXNvY2tldCBlc3QgaWdub3LDqS4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjAgbWlzYy11dGlscy91dWlkZC5jOjY4OAorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjYWxsaW5nIHV1aWRkIGRhZW1vbiAoJXMpIgorbXNnc3RyICJlcnJldXIgZCdhcHBlbCBkdSBkw6ltb24gdXVpZGQgKCVzKSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2MSBtaXNjLXV0aWxzL3V1aWRkLmM6Njg5Cittc2dpZCAidW5leHBlY3RlZCBlcnJvciIKK21zZ3N0ciAiZXJyZXVyIGluYXR0ZW5kdWUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRFxuIgorbXNnaWRfcGx1cmFsICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEc1xuIgorbXNnc3RyWzBdICIlcyBldCAlZMKgVVVJRCBzdWl2YW50XG4iCittc2dzdHJbMV0gIiVzIGV0ICVkwqBVVUlEIHN1aXZhbnRzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGlzdCBvZiBVVUlEczpcbiIKK21zZ3N0ciAiTGlzdGUgZGVzIFVVSUTCoDpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBraWxsIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHR1ZXIgdXVpZGQgZW4gY291cnMgZOKAmWV4w6ljdXRpb24gYXZlYyBsZSBQSUTCoCVkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIktpbGxlZCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZC5cbiIKK21zZ3N0ciAidXVpZGQgZW4gY291cnMgZOKAmWV4w6ljdXRpb24gYXZlYyBsZSBQSUTCoCVkIHR1w6lcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjgKK21zZ2lkICJDcmVhdGUgYSBuZXcgVVVJRCB2YWx1ZS5cbiIKK21zZ3N0ciAiQ3LDqWVyIHVuZSBub3V2ZWxsZSB2YWxldXIgVVVJRC5cbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzEKK21zZ2lkICIiCisiIC1yLCAtLXJhbmRvbSAgICAgZ2VuZXJhdGUgcmFuZG9tLWJhc2VkIHV1aWRcbiIKKyIgLXQsIC0tdGltZSAgICAgICBnZW5lcmF0ZSB0aW1lLWJhc2VkIHV1aWRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyIgLXIsIC0tcmFuZG9tICAgICBjcsOpYXRpb24gZCd1biBVVUlEIGFsw6lhdG9pcmVcbiIKKyIgLXQsIC0tdGltZSAgICAgICBjcsOpYXRpb24gZCd1biBVVUlEIHRlbXBvcmVsXG4iCisiIC1WLCAtLXZlcnNpb24gICAgYWZmaWNoZXIgbGVzIGluZm9ybWF0aW9ucyBkZSB2ZXJzaW9uIGV0IHF1aXR0ZXJcbiIKKyIgLWgsIC0taGVscCAgICAgICBhZmZpY2hlciBjZXR0ZSBhaWRlIGV0IHF1aXR0ZXJcbiIKKyJcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1CTVMgPGRpcj4uLi4gLWZdIDxuYW1lPlxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIFstQk1TIDxyw6lwPi4uLiAtZl0gPG5vbT5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTkyCittc2dpZCAiTG9jYXRlIHRoZSBiaW5hcnksIHNvdXJjZSwgYW5kIG1hbnVhbC1wYWdlIGZpbGVzIGZvciBhIGNvbW1hbmQuXG4iCittc2dzdHIgIlJlY2hlcmNoZXIgbGVzIGZpY2hpZXJzIGV4w6ljdXRhYmxlcywgbGVzIHNvdXJjZXMgZXQgbGVzIHBhZ2VzIGRlIG1hbnVlbCBkJ3VuZSBjb21tYW5kZS5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk1Cittc2dpZCAiIC1iICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIGJpbmFyaWVzXG4iCittc2dzdHIgIiAtYiAgICAgICAgIG5lIHJlY2hlcmNoZXIgcXVlIGxlcyBleMOpY3V0YWJsZXNcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk2Cittc2dpZCAiIC1CIDxkaXJzPiAgZGVmaW5lIGJpbmFyaWVzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiAtQiA8csOpcC4+ICBkw6lmaW5pciBsZXMgY2hlbWlucyBkZSByZWNoZXJjaGUgZGUgYmluYWlyZXNcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk3Cittc2dpZCAiIC1tICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIG1hbnVhbHMgYW5kIGluZm9zXG4iCittc2dzdHIgIiAtbSAgICAgICAgIG5lIHJlY2hlcmNoZXIgcXVlIGxlcyBtYW51ZWxzIGV0IGRvY3VtZW50cyBJbmZvXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5OAorbXNnaWQgIiAtTSA8ZGlycz4gIGRlZmluZSBtYW4gYW5kIGluZm8gbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIC1NIDxyw6lwLj4gIGTDqWZpbmlyIGxlcyBjaGVtaW5zIGRlIHJlY2hlcmNoZSBkZSBtYW51ZWxzIGV0IGRvY3VtZW50cyBJbmZvXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5OQorbXNnaWQgIiAtcyAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBzb3VyY2VzXG4iCittc2dzdHIgIiAtcyAgICAgICAgIG5lIHJlY2hlcmNoZXIgcXVlIGxlcyBmaWNoaWVycyBzb3VyY2VcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAwCittc2dpZCAiIC1TIDxkaXJzPiAgZGVmaW5lIHNvdXJjZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIC1TIDxyw6lwLj4gIGTDqWZpbmlyIGxlcyBjaGVtaW5zIGRlIHJlY2hlcmNoZSBkZSBmaWNoaWVycyBzb3VyY2VcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAxCittc2dpZCAiIC1mICAgICAgICAgdGVybWluYXRlIDxkaXJzPiBhcmd1bWVudCBsaXN0XG4iCittc2dzdHIgIiAtZiAgICAgICAgIHRlcm1pbmVyIGxhIGxpc3RlIGQnYXJndW1lbnRzIDxyw6lwLj5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAyCittc2dpZCAiIC11ICAgICAgICAgc2VhcmNoIGZvciB1bnVzdWFsIGVudHJpZXNcbiIKK21zZ3N0ciAiIC11ICAgICAgICAgcmVjaGVyY2hlciBsZXMgZW50csOpZXMgaW5oYWJpdHVlbGxlc1xuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDMKK21zZ2lkICIgLWwgICAgICAgICBvdXRwdXQgZWZmZWN0aXZlIGxvb2t1cCBwYXRoc1xuIgorbXNnc3RyICIgLWwgICAgICAgICBhZmZpY2hlciBsZXMgY2hlbWlucyBkZSByZWNoZXJjaGUgZWZmZWN0aWZzXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjYxOQorbXNnaWQgIm9wdGlvbiAtZiBpcyBtaXNzaW5nIgorbXNnc3RyICJs4oCZb3B0aW9uIC1mIG1hbnF1ZSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxOTYKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInRhYmxlIGRlIHBhcnRpdGlvbnMiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogcHJvYmluZyBpbml0aWFsaXphdGlvbiBmYWlsZWQiCittc2dzdHIgImVycmV1csKgOiAlc8KgOiDDqWNoZWMgZCdpbml0aWFsaXNhdGlvbiBkZSBsJ2FuYWx5c2UiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZXJhc2UgJXMgbWFnaWMgc3RyaW5nIGF0IG9mZnNldCAweCUwOGp4IgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZCdlZmZhY2VtZW50IGRlIGxhIGNoYcOubmUgbWFnaXF1ZSAlcyDDoCBsJ2luZGV4IDB4JTA4angiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlemQgYnl0ZSB3YXMgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIKK21zZ2lkX3BsdXJhbCAiJXM6ICV6ZCBieXRlcyB3ZXJlIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dzdHJbMF0gIiVzwqA6ICV6ZMKgb2N0ZXQgYSDDqXTDqSBlZmZhY8OpIMOgIGwnaW5kZXggMHglMDhqeCAoJXMpwqA6ICIKK21zZ3N0clsxXSAiJXPCoDogJXpkwqBvY3RldHMgb250IMOpdMOpIGVmZmFjw6lzIMOgIGwnaW5kZXggMHglMDhqeCAoJXMpwqA6ICIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgY3LDqWF0aW9uIGTigJl1bmUgc2F1dmVnYXJkZSBkZSBzaWduYXR1cmUiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYWxsaW5nIGlvY3RsIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlOiAlbVxuIgorbXNnc3RyICIlc8KgOiBhcHBlbCBkJ2lvY3RsIHBvdXIgcmVsaXJlIGxhIHRhYmxlIGRlIHBhcnRpdGlvbnPCoDogJW1cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozODUKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICLDqWNoZWMgZGUgY3LDqWF0aW9uIGTigJl1bmUgc2F1dmVnYXJkZSBkZSBzaWduYXR1cmUsICRIT01FIG5vbiBkw6lmaW5pZSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlnbm9yaW5nIG5lc3RlZCBcIiVzXCIgcGFydGl0aW9uIHRhYmxlIG9uIG5vbi13aG9sZSBkaXNrIGRldmljZSIKK21zZ3N0ciAiJXPCoDogdGFibGUgZGUgcGFydGl0aW9ucyBpbWJyaXF1w6llIMKrwqAlc8KgwrsgaWdub3LDqWUgc3VyIGxlcyBww6lyaXBow6lyaXF1ZXMgZGlzcXVlIG5vbiBlbnRpZXJzIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0IDB4JWp4IG5vdCBmb3VuZCIKK21zZ3N0ciAiJXPCoDogaW5kZXggMHglanggaW50cm91dmFibGUiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDM1Cittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiB0byBmb3JjZSBlcmFzZS4iCittc2dzdHIgIlV0aWxpc2V6IGwnb3B0aW9uIC0tZm9yY2UgcG91ciBmb3JjZXIgbOKAmWVmZmFjZW1lbnQuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1OQorbXNnaWQgIldpcGUgc2lnbmF0dXJlcyBmcm9tIGEgZGV2aWNlLlxuIgorbXNnc3RyICJFZmZhY2VyIGxlcyBzaWduYXR1cmVzIGTigJl1biBww6lyaXBow6lyaXF1ZS5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0NjIKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpXG4iCisiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgIGZvcmNlIGVyYXN1cmVcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCisiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGxcbiIKKyIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgdG8gZXJhc2UsIGluIGJ5dGVzXG4iCisiIC1wLCAtLXBhcnNhYmxlICAgICAgcHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdFxuIgorIiAtcSwgLS1xdWlldCAgICAgICAgIHN1cHByZXNzIG91dHB1dCBtZXNzYWdlc1xuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSwgUkFJRHMgb3IgcGFydGl0aW9uIHRhYmxlc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICBlZmZhY2VyIHRvdXRlcyBsZXMgY2hhw65uZXMgbWFnaXF1ZXMgKGF0dGVudGlvbilcbiIKKyIgLWIsIC0tYmFja3VwICAgICAgICBjcsOpZXIgdW5lIHNhdXZlZ2FyZGUgZGUgc2lnbmF0dXJlIGRhbnMgJEhPTUVcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICBmb3JjZXIgbCdlZmZhY2VtZW50XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgYWZmaWNoZXIgY2UgbWVzc2FnZSBkJ2FpZGVcbiIKKyIgLW4sIC0tbm8tYWN0ICAgICAgICB0b3V0IGZhaXJlIHNhdWYgbGUgdsOpcml0YWJsZSBhcHBlbCB3cml0ZSgpXG4iCisiIC1vLCAtLW9mZnNldCA8bmJyZT4gaW5kZXggw6AgZWZmYWNlciwgZW4gb2N0ZXRcbiIKKyIgLXAsIC0tcGFyc2FibGUgICAgICBhZmZpY2hlciBlbiBmb3JtYXQgYW5hbHlzYWJsZSBwbHV0w7R0IHF1J2FmZmljaGFibGVcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICBzdXBwcmltZXIgbGVzIG1lc3NhZ2VzIGRlIHNvcnRpZVxuIgorIiAtdCwgLS10eXBlcyA8bGlzdGU+IGxpbWl0ZXIgbCdlbnNlbWJsZSBkZSBzeXN0w6htZXMgZGUgZmljaGllcnMgcGFyIHR5cGVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgYWZmaWNoZXIgbGVzIGluZm9ybWF0aW9ucyBkZSB2ZXJzaW9uIGV0IHF1aXR0ZXJcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MzMKK21zZ2lkICJpbnZhbGlkIG9mZnNldCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnQgZCdpbmRleCBpbmNvcnJlY3QiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTU4Cittc2dpZCAiVGhlIC0tYmFja3VwIG9wdGlvbiBpcyBtZWFuaW5nbGVzcyBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIkwnb3B0aW9uIC0tYmFja3VwIG7igJlhIHBhcyBkZSBzZW5zIGRhbnMgY2UgY29udGV4dGUuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzUKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVhbC10aW1lIHNjaGVkdWxpbmcgYXR0cmlidXRlcyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIk1vbnRyZXIgb3UgbW9kaWZpZXIgbGVzIGF0dHJpYnV0cyBk4oCZb3Jkb25uYW5jZW1lbnQgdGVtcHMgcsOpZWwgZCd1biBwcm9jZXNzdXMuXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNworbXNnaWQgIiIKKyJTZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSA8cHJpb3JpdHk+IDxjb21tYW5kPiBbPGFyZz4uLi5dXG4iCisiIGNocnQgW29wdGlvbnNdIC0tcGlkIDxwcmlvcml0eT4gPHBpZD5cbiIKK21zZ3N0ciAiIgorIlN0cmF0w6lnaWUgZGUgY29uZmlndXJhdGlvbsKgOlxuIgorIiAgY2hydCBbb3B0aW9uc10gPHByaW9yaXTDqT4gPGNvbW1hbmRlPiBbPGFyZz4uLi5dXG4iCisiICBjaHJ0IFtvcHRpb25zXSAtLXBpZCA8cHJpb3JpdMOpPiA8UElEPlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDEKK21zZ2lkICIiCisiR2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gLXAgPHBpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDUKKyMsIGZ1enp5Cittc2dpZCAiUG9saWN5IG9wdGlvbnM6XG4iCittc2dzdHIgIk9wdGlvbnMgZGUgcmVzc291cmNlwqA6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NgorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmF0Y2ggICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorbXNnc3RyICIgLWIsIC0tYmF0Y2ggICAgICAgICAgZMOpZmluaXIgbGEgcGFyaXTDqSDDoCBsYSB2YWxldXIgYXVjdW5lXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NworbXNnaWQgIiAtZCwgLS1kZWFkbGluZSAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0RFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ4CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maWZvICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKK21zZ3N0ciAiIC1mLCAtLWZpZm8gICAgICAgICAgZMOpZmluaXIgbGEgcGFyaXTDqSDDoCBsYSB2YWxldXIgYXVjdW5lXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taWRsZSAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9JRExFXG4iCittc2dzdHIgIiAtaSwgLS1pZGxlICAgICAgICAgIGTDqWZpbmlyIGxhIHBhcml0w6kgw6AgbGEgdmFsZXVyIGF1Y3VuZVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW90aGVyICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIKK21zZ3N0ciAiIC1vLCAtLW90aGVyICAgICAgICAgZMOpZmluaXIgbGEgcGFyaXTDqSDDoCBsYSB2YWxldXIgaW1wYWlyZVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTEKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJyICAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtciwgLS1yciAgICAgICAgICAgICBuJ2FmZmljaGVyIHF14oCZdW4gc2V1bCBtb2lzIChwYXIgZMOpZmF1dClcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU0CisjLCBmdXp6eQorbXNnaWQgIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAiT3B0aW9ucyBkZSByZXNzb3VyY2XCoDpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU1CisjLCBmdXp6eQorbXNnaWQgIiAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgIHNldCBTQ0hFRF9SRVNFVF9PTl9GT1JLIGZvciBGSUZPIG9yIFJSXG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcHRpb25zIGRlIHBsYW5pZmljYXRpb27CoDpcbiIKKyIgIC1SIHwgLS1yZXNldC1vbi1mb3JrIGNvbmZpZ3VyZXIgU0NIRURfUkVTRVRfT05fRk9SSyBwb3VyIEZJRk8gb3UgUlJcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU2Cittc2dpZCAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAgcnVudGltZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU3Cittc2dpZCAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTgKK21zZ2lkICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYxCittc2dpZCAiT3RoZXIgb3B0aW9uczpcbiIKK21zZ3N0ciAiQXV0cmVzIG9wdGlvbnPCoDpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYyCittc2dpZCAiIC1hLCAtLWFsbC10YXNrcyAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYzCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tYXggICAgICAgICAgICBzaG93IG1pbiBhbmQgbWF4IHZhbGlkIHByaW9yaXRpZXNcbiIKK21zZ3N0ciAiIC1tLCAtLW1heCAgICAgICAgICAgICAgICAgbW9udHJlciBsJ2hvcm9kYXRhZ2UgbGlzaWJsZSBwYXIgbCd1dGlsaXNhdGV1clxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiAtQXAsIC0tcGlkICAgICAgICAgICAgICBham91dGVyIGRlcyBwYXJ0aXRpb25zIMOgIHVuZSB0YWJsZSBkZSBwYXJ0aXRpb25zIGV4aXN0YW50ZVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBleHBsaXF1ZXIgbGVzIGFjdGlvbnMgZW4gY291cnNcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjMyIHNjaGVkdXRpbHMvY2hydC5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiw6ljaGVjIGQnb2J0ZW50aW9uIGRlIHN0cmF0w6lnaWUgZCdleMOpY3V0aW9uIGR1IFBJRMKgJWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGF0dHJpYnV0ZXMiCittc2dzdHIgIsOpY2hlYyBkJ29idGVudGlvbiBkZXMgYXR0cmlidXRzIGR1IFBJRMKgJWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAibm91dmVsbGUgc3RyYXTDqWdpZSBkZSBwbGFuaWZpY2F0aW9uIHBvdXIgUElEwqAlZMKgOiAiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgInN0cmF0w6lnaWUgZGUgcGxhbmlmaWNhdGlvbiBhY3R1ZWxsZSBwb3VyIFBJRMKgJWTCoDogIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcHJpb3JpdHk6ICVkXG4iCittc2dzdHIgIm5vdXZlbGxlIHByaW9yaXTDqSBkZSBwbGFuaWZpY2F0aW9uIHBvdXIgbGUgUElEwqAlZMKgOiAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICJwcmlvcml0w6kgZGUgcGxhbmlmaWNhdGlvbiBhY3R1ZWxsZSBwb3VyIGxlIFBJRMKgJWTCoDogJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIgorbXNnc3RyICJwcmlvcml0w6kgZGUgcGxhbmlmaWNhdGlvbiBhY3R1ZWxsZSBwb3VyIGxlIFBJRMKgJWTCoDogJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzAwIHNjaGVkdXRpbHMvY2hydC5jOjM5NgorbXNnaWQgImNhbm5vdCBvYnRhaW4gdGhlIGxpc3Qgb2YgdGFza3MiCittc2dzdHIgImltcG9zc2libGUgZCdvYnRlbmlyIGxhIGxpc3RlIGRlcyB0w6JjaGVzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG1pbi9tYXggcHJpb3JpdHlcdDogJWQvJWRcbiIKK21zZ3N0ciAiU0NIRURfJXMgcHJpb3JpdMOpIG1pbi9tYXhcdMKgOiAlZC8lZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBzdXBwb3J0ZWQ/XG4iCittc2dzdHIgIlNDSEVEXyVzIHBldXQtw6p0cmUgbm9uIHByaXMgZW4gY2hhcmdlXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiw6ljaGVjIGRlIGNvbmZpZ3VyYXRpb24gZGUgc3RyYXTDqWdpZSBkJ2V4w6ljdXRpb24gZHUgVElEwqAlZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICLDqWNoZWMgZGUgY29uZmlndXJhdGlvbiBkZSBzdHJhdMOpZ2llIGQnZXjDqWN1dGlvbiBkdSBQSUTCoCVkIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBydW50aW1lIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBkJ2hldXJlIGluY29ycmVjdCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDkwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcGVyaW9kIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBkZSB2aXRlc3NlIGluY29ycmVjdCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDkzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZGVhZGxpbmUgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50IGRlIHTDqnRlcyBpbmNvcnJlY3QiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUxNworbXNnaWQgImludmFsaWQgcHJpb3JpdHkgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50IGRlIHByaW9yaXTDqSBpbmNvcnJlY3QgIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MjEKKyMsIGZ1enp5Cittc2dpZCAiLS1yZXNldC1vbi1mb3JrIG9wdGlvbiBpcyBzdXBwb3J0ZWQgZm9yIFNDSEVEX0ZJRk8gYW5kIFNDSEVEX1JSIHBvbGljaWVzIG9ubHkiCittc2dzdHIgIm9wdGlvbiBTQ0hFRF9SRVNFVF9PTl9GT1JLIG4nZXN0IHByaXMgZW4gY2hhcmdlIHF1ZSBwb3VyIGxlcyBzdHJhdMOpZ2llcyBTQ0hFRF9GSUZPIGV0IFNDSEVEX1JSICIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTI2Cittc2dpZCAiLS1zY2hlZC17cnVudGltZSxkZWFkbGluZSxwZXJpb2R9IG9wdGlvbnMgYXJlIHN1cHBvcnRlZCBmb3IgU0NIRURfREVBRExJTkUgb25seSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1NDEKKyMsIGZ1enp5Cittc2dpZCAiU0NIRURfREVBRExJTkUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIlNDSEVEXyVzIHBldXQtw6p0cmUgbm9uIHByaXMgZW4gY2hhcmdlXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcmlvcml0eSB2YWx1ZSBmb3IgdGhlIHBvbGljeTogJWQ6IHNlZSAtLW1heCBmb3IgdmFsaWQgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo3NgorbXNnaWQgImlvcHJpb19nZXQgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgbGEgZm9uY3Rpb24gwqvCoGlvcHJpb19nZXTCoMK7IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwcmlvICVsdVxuIgorbXNnc3RyICIlc8KgOiBwcmlvcml0w6nCoCVsdVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjk4Cittc2dpZCAiaW9wcmlvX3NldCBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBsYSBmb25jdGlvbiDCq8KgaW9wcmlvX3NldMKgwrsiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXAgPHBpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC11IDx1aWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisiICUxJHMgW29wdGlvbnNdIC1wIDxQSUQ+IC4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtUCA8UEdJRD4gLi4uXG4iCisiICUxJHMgW29wdGlvbnNdIC11IDxVSUQ+IC4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZGU+XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTEwCittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIEkvTy1zY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIk1vbnRyZXIgb3UgbW9kaWZpZXIgbGEgY2xhc3NlIGV0IGxhIHByaW9yaXTDqSBk4oCZb3Jkb25uYW5jZW1lbnQgZOKAmWVudHLDqWVzIGV0IHNvcnRpZXMgZCd1biBwcm9jZXNzdXMuXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTEzCittc2dpZCAiIgorIiAtYywgLS1jbGFzcyA8Y2xhc3M+ICAgIG5hbWUgb3IgbnVtYmVyIG9mIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKK21zZ3N0ciAiIgorIiAgLWMsIC0tY2xhc3MgPGNsYXNzZT4gIG5vbSBvdSBudW3DqXJvIGRlIGNsYXNzZSBk4oCZb3Jkb25uYW5jZW1lbnRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIDDCoDogYXVjdW5lLCAxwqA6IHRlbXBzIHLDqWVsLCAywqA6IGF1IG1pZXV4LFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgM8KgOiBhdSByYWxlbnRpXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE1Cittc2dpZCAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPG51bT4gIHByaW9yaXR5ICgwLi43KSBpbiB0aGUgc3BlY2lmaWVkIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IGZvciB0aGUgcmVhbHRpbWUgYW5kIGJlc3QtZWZmb3J0IGNsYXNzZXNcbiIKK21zZ3N0ciAiIgorIiAgLW4sIC0tY2xhc3NkYXRhIDxuYnI+IHByaW9yaXTDqSAoMC03KSBkYW5zIGxlcyBjbGFzc2VzIGTigJlvcmRvbm5hbmNlbWVudFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kaXF1w6llcywgcG91ciBsZXMgY2xhc3NlcyB0ZW1wcyByw6llbCBldCBhdSBtaWV1eFxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNworbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4uLi4gICAgIGFjdCBvbiB0aGVzZSBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPFBJRD4gLi4uICAgIGFnaXIgc3VyIGNlcyBwcm9jZXNzdXMgZMOpasOgIGVuIGNvdXJzIGQnZXjDqWN1dGlvblxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOAorbXNnaWQgIiAtUCwgLS1wZ2lkIDxwZ3JwPi4uLiAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIGluIHRoZXNlIGdyb3Vwc1xuIgorbXNnc3RyICIiCisiIC1QLCAtLXBnaWQgPFBHSUQ+IC4uLiAgYWdpciBzdXIgbGVzIHByb2Nlc3N1cyBkw6lqw6AgZW4gY291cnMgZCdleMOpY3V0aW9uIGRhbnNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcyBncm91cGVzXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE5Cittc2dpZCAiIC10LCAtLWlnbm9yZSAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCittc2dzdHIgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIGlnbm9yZXIgbGVzIMOpY2hlY3NcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMjAKK21zZ2lkICIgLXUsIC0tdWlkIDx1aWQ+Li4uICAgICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBvd25lZCBieSB0aGVzZSB1c2Vyc1xuIgorbXNnc3RyICIiCisiIC11LCAtLXVpZCA8VUlEPiAuLi4gICAgYWdpciBzdXIgbGVzIHByb2Nlc3N1cyBkw6lqw6AgZW4gY291cnMgZCdleMOpY3V0aW9uXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBhcnRlbmFudCDDoCBjZXMgdXRpbGlzYXRldXJzXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTU3Cittc2dpZCAiaW52YWxpZCBjbGFzcyBkYXRhIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBkZSBkb25uw6llcyBkZSBjbGFzc2UgaW5jb3JyZWN0IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2MworbXNnaWQgImludmFsaWQgY2xhc3MgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50IGRlIGNsYXNzZSBpbmNvcnJlY3QiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2NoZWR1bGluZyBjbGFzczogJyVzJyIKK21zZ3N0ciAiY2xhc3NlIGRlIHBsYW5pZmljYXRpb24gaW5jb25udWXCoDogwqvCoCVzwqDCuyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNzYgc2NoZWR1dGlscy9pb25pY2UuYzoxODQgc2NoZWR1dGlscy9pb25pY2UuYzoxOTIKK21zZ2lkICJjYW4gaGFuZGxlIG9ubHkgb25lIG9mIHBpZCwgcGdpZCBvciB1aWQgYXQgb25jZSIKK21zZ3N0ciAibmUgcGV1dCB0cmFpdGVyIHF14oCZdW4gUElELCBQR0lEIG91IFVJRCDDoCBsYSBmb2lzIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NQorbXNnaWQgImludmFsaWQgUEdJRCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnQgUEdJRCBpbmNvcnJlY3QiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkzCittc2dpZCAiaW52YWxpZCBVSUQgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50IFVJRCBpbmNvcnJlY3QiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjEyCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3Igbm9uZSBjbGFzcyIKK21zZ3N0ciAiZG9ubsOpZXMgZGUgY2xhc3NlIGlnbm9yw6llcyBwb3VyIGxhIHByaW9yaXTDqSDCq8KgYXVjdW5lwqDCuyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjAKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBpZGxlIGNsYXNzIgorbXNnc3RyICJkb25uw6llcyBkZSBjbGFzc2UgcG91ciBsYSBjbGFzc2UgYXUgcmFsZW50aSBpZ25vcsOpZXMiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpbyBjbGFzcyAlZCIKK21zZ3N0ciAiY2xhc3NlIGRlIHByaW9yaXTDqcKgJWQgaW5jb25udWUiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJVc2FnZTogJXMgW29wdGlvbnNdIFttYXNrIHwgY3B1LWxpc3RdIFtwaWR8Y21kIFthcmdzLi4uXV1cbiIKKyJcbiIKK21zZ3N0ciAiVXRpbGlzYXRpb27CoDogJXMgW29wdGlvbnNdIFttYXNxdWUgfCBsaXN0ZSBkZSBwcm9jZXNzZXVycyBdIFtQSUR8Y21kIFthcmcgLi4uXV1cbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTUKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgQ1BVIGFmZmluaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiTW9udHJlciBvdSBtb2RpZmllciBs4oCZYWZmaW5pdMOpIHByb2Nlc3NldXIgZCd1biBwcm9jZXNzdXMuXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJPcHRpb25zOlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICBkaXNwbGF5IGFuZCBzcGVjaWZ5IGNwdXMgaW4gbGlzdCBmb3JtYXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHBcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKKyJcbiIKK21zZ3N0ciAiIgorIk9wdGlvbnPCoDpcbiIKKyIgLWEsIC0tYWxsLXRhc2tzICAgICAgICAgYWdpciBzdXIgdG91dGVzIGxlcyB0w6JjaGVzICh0aHJlYWRzKSBkJ3VuIFBJRCBkb25uw6lcbiIKKyIgLXAsIC0tcGlkICAgICAgICAgICAgICAgYWdpciBzdXIgbGVzIFBJRCBkb25uw6lzIGV4aXN0YW50c1xuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICBhZmZpY2hlciBldCBpbmRpcXVlciBsZXMgcHJvY2Vzc2V1cnMgYXUgZm9ybWF0IGxpc3RlXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGFmZmljaGVyIGNldHRlIGFpZGVcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgYWZmaWNoZXIgbGVzIHJlbnNlaWduZW1lbnRzIGRlIHZlcnNpb25cbiIKKyJcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIHJ1biBhIG5ldyBjb21tYW5kOlxuIgorIiAgICAlMSRzIDAzIHNzaGQgLWIgMTAyNFxuIgorIllvdSBjYW4gcmV0cmlldmUgdGhlIG1hc2sgb2YgYW4gZXhpc3RpbmcgdGFzazpcbiIKKyIgICAgJTEkcyAtcCA3MDBcbiIKKyJPciBzZXQgaXQ6XG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisiTGlzdCBmb3JtYXQgdXNlcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IGluc3RlYWQgb2YgYSBtYXNrOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJSYW5nZXMgaW4gbGlzdCBmb3JtYXQgY2FuIHRha2UgYSBzdHJpZGUgYXJndW1lbnQ6XG4iCisiICAgIGUuZy4gMC0zMToyIGlzIGVxdWl2YWxlbnQgdG8gbWFzayAweDU1NTU1NTU1XG4iCittc2dzdHIgIiIKKyJMZSBjb21wb3J0ZW1lbnQgcGFyIGTDqWZhdXQgZXN0IGRlIGxhbmNlciB1bmUgbm91dmVsbGUgY29tbWFuZGXCoDpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyJMZSBtYXNxdWUgZCd1bmUgdGFjaGUgZXhpc3RhbnRlIHBldXQgw6p0cmUgcmV0cm91dsOpwqA6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiT3Ugw6p0cmUgY29uZmlndXLDqcKgOlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorIkxlIGZvcm1hdCBkZSBsaXN0ZSB1dGlsaXNlIHVuZSBsaXN0ZSBzw6lwYXLDqWUgcGFyIGRlcyB2aXJndWxlcyBwbHV0w7R0IHF1J3VuIG1hc3F1ZcKgOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJMZXMgaW50ZXJ2YWxsZXMgYXUgZm9ybWF0IGRlIGxpc3RlIHBldXZlbnQgcHJlbmRyZSB1biBhcmd1bWVudCBzdHJpZGXCoDpcbiIKKyIgICAgcGFyIGV4ZW1wbGUgMC0zMToyIGVzdCDDqXF1aXZhbGVudCBhdSBtYXNxdWUgMHg1NTU1NTU1NVxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAibm91dmVsbGUgbGlzdGUgZCdhZmZpbml0w6lzIGR1IFBJRMKgJWTCoDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICJsaXN0ZSBkJ2FmZmluaXTDqXMgYWN0dWVsbGUgZHUgUElEwqAlZMKgOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAibm91dmVhdSBtYXNxdWUgZCdhZmZpbml0w6kgZHUgUElEwqAlZMKgOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIm1hc3F1ZSBkJ2FmZmluaXTDqSBhY3R1ZWwgZHUgUElEwqAlZMKgOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5OQorbXNnaWQgImludGVybmFsIGVycm9yOiBjb252ZXJzaW9uIGZyb20gY3B1c2V0IHRvIHN0cmluZyBmYWlsZWQiCittc2dzdHIgImVycmV1ciBpbnRlcm5lwqA6IMOpY2hlYyBkZSBjb252ZXJzaW9uIGRlIGNwdXNldCB2ZXJzIHVuZSBjaGHDrm5lIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMDkgc2NoZWR1dGlscy90YXNrc2V0LmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgIsOpY2hlYyBkJ29idGVudGlvbiBkJ2FmZmluaXTDqSBkdSBQSUTCoCVkIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAiw6ljaGVjIGRlIGNvbmZpZ3VyYXRpb24gZCdhZmZpbml0w6kgZHUgUElEwqAlZCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTg2IHN5cy11dGlscy9jaGNwdS5jOjI4OQorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgTlJfQ1BVUzsgYWJvcnRpbmciCittc2dzdHIgImltcG9zc2libGUgZGUgZMOpdGVybWluZXIgTlJfQ1BVU8KgOyBhbm51bGF0aW9uIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxOTUgc2NoZWR1dGlscy90YXNrc2V0LmM6MjA4IHN5cy11dGlscy9jaGNwdS5jOjI5NQorbXNnaWQgImNwdXNldF9hbGxvYyBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBjcHVzZXRfYWxsb2MiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxNSBzeXMtdXRpbHMvY2hjcHUuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkZSBsaXN0ZSBkZSBwcm9jZXNzZXVyc8KgOiAlcyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjE4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzazogJXMiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZHUgbWFzcXVlIGRlIHByb2Nlc3NldXLCoDogJXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBaZXJvLWZpbGxlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIlczogJTxQUkl1NjQ+wqBvY3RldHMgYWJhbmRvbm7DqXMgw6AgcGFydGlyIGRlIGxhIHBvc2l0aW9uICU8UFJJdTY0PlxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBEaXNjYXJkZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiJXM6ICU8UFJJdTY0PsKgb2N0ZXRzIGFiYW5kb25uw6lzIMOgIHBhcnRpciBkZSBsYSBwb3NpdGlvbiAlPFBSSXU2ND5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4NworbXNnaWQgIkRpc2NhcmQgdGhlIGNvbnRlbnQgb2Ygc2VjdG9ycyBvbiBhIGRldmljZS5cbiIKK21zZ3N0ciAiQWJhbmRvbm5lciBsZSBjb250ZW51IGRlcyBzZWN0ZXVycyBzdXIgdW4gcMOpcmlwaMOpcmlxdWUuXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTAKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBsYSBwb3NpdGlvbiBlbiBvY3RldCDDoCBwYXJ0aXIgZGUgbGFxdWVsbGUgYWJhbmRvbm5lclxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkxCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZSBub21icmUgZOKAmW9jdGV0cyDDoCBhYmFuZG9ubmVyXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXN0ZXAgPG51bT4gICAgc2l6ZSBvZiB0aGUgZGlzY2FyZCBpdGVyYXRpb25zIHdpdGhpbiB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPG5icj4gICBwb3NpdGlvbiBwb3VyIGxlcyBvcMOpcmF0aW9ucyBk4oCZaW50ZXJ2YWxsZSwgZW4gb2N0ZXRcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCittc2dzdHIgIiAtLXNlY3VyZWJpdHMgPGJpdHM+ICAgICAgZMOpZmluaXIgbGVzIHNlY3VyZWJpdHNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NAorIywgZnV6enkKK21zZ2lkICIgLXosIC0temVyb291dCAgICAgICB6ZXJvLWZpbGwgcmF0aGVyIHRoYW4gZGlzY2FyZFxuIgorbXNnc3RyICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIMOpY2hvdWVyIGF1IGxpZXUgZGUgYmxvcXVlclxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IGFsaWduZWQgbGVuZ3RoIGFuZCBvZmZzZXRcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICBleHBsaXF1ZXIgbGVzIGFjdGlvbnMgZW4gY291cnNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTAgc3lzLXV0aWxzL2ZzdHJpbS5jOjMxMiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY3MworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTI0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG9mZnNldCIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkZSBwb3NpdGlvbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RlcCIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkdSBwYXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTcyIHN5cy11dGlscy96cmFtY3RsLmM6NjgyIHN5cy11dGlscy96cmFtY3RsLmM6NzA4Cittc2dpZCAibm8gZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAiYXVjdW4gcMOpcmlwaMOpcmlxdWUgaW5kaXF1w6kiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTc3IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTEKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyMiBzeXMtdXRpbHMvZnN0cmltLmM6MzM0Cittc2dpZCAidW5leHBlY3RlZCBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJub21icmUgZCdhcmd1bWVudHMgaW5hdHRlbmR1IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLR0VUU0laRTY0IGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGQnaW9jdGwgQkxLR0VUU0laRTY0IGlvY3RsIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU1NaR0VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGQnaW9jdGwgQkxLU1NaR0VUIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0ICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiJXPCoDogbOKAmWluZGV4ICU8UFJJdTY0PiBu4oCZZXN0IHBhcyBhbGlnbsOpIHN1ciB1bmUgdGFpbGxlIGRlIHNlY3RldXIgJWkiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgaXMgZ3JlYXRlciB0aGFuIGRldmljZSBzaXplIgorbXNnc3RyICIlc8KgOiBwb3NpdGlvbiBhdS1kZWzDoCBkZSBsYSB0YWlsbGUgZHUgcMOpcmlwaMOpcmlxdWUiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsZW5ndGggJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIlc8KgOiBsYSB0YWlsbGUgJTxQUkl1NjQ+IG7igJllc3QgcGFzIGFsaWduw6llIHN1ciB1bmUgdGFpbGxlIGRlIHNlY3RldXIgJWkiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLWkVST09VVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkJ2lvY3RsIEJMS1NTWkdFVCIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NFQ0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZCdpb2N0bCBCTEtTRUNESVNDQVJEIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkJ2lvY3RsIEJMS0RJU0NBUkQiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjg3IHN5cy11dGlscy9jaGNwdS5jOjE3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJsZSBwcm9jZXNzZXVywqAlZCBuJ2V4aXN0ZSBwYXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGhvdCBwbHVnZ2FibGUiCittc2dzdHIgImxlIHByb2Nlc3NldXLCoCVkIG5lIHBldXQgcGFzIMOqdHJlIGJyYW5jaMOpIMOgIGNoYXVkIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZW5hYmxlZFxuIgorbXNnc3RyICJsZSBwcm9jZXNzZXVywqAlZCBlc3QgZMOpasOgIGFjdGl2w6lcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBkaXNhYmxlZFxuIgorbXNnc3RyICJsZSBwcm9jZXNzZXVywqAlZCBlc3QgZMOpasOgIGTDqXNhY3RpdsOpXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQgKENQVSBpcyBkZWNvbmZpZ3VyZWQpIgorbXNnc3RyICLDiWNoZWMgZCdhY3RpdmF0aW9uIGR1IHByb2Nlc3NldXLCoCVkIChsZSBwcm9jZXNzZXVyIGVzdCBkw6ljb25maWd1csOpKSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCIKK21zZ3N0ciAiw4ljaGVjIGQnYWN0aXZhdGlvbiBkdSBwcm9jZXNzZXVywqAlZCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlZFxuIgorbXNnc3RyICJwcm9jZXNzZXVywqAlZCBhY3RpdsOpXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIChsYXN0IGVuYWJsZWQgQ1BVKSIKK21zZ3N0ciAiw4ljaGVjIGRlIGTDqXNhY3RpdmF0aW9uIGR1IHByb2Nlc3NldXLCoCVkIChkZXJuaWVyIHByb2Nlc3NldXIgYWN0aXbDqSkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICLDiWNoZWMgZGUgZMOpc2FjdGl2YXRpb24gZHUgcHJvY2Vzc2V1csKgJWQiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGVkXG4iCittc2dzdHIgInByb2Nlc3NldXLCoCVkIGTDqXNhY3RpdsOpXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgcmVzY2FubmluZyBvZiBDUFVzIgorbXNnc3RyICJDZSBzeXN0w6htZSBuZSBwZXJtZXQgcGFzIGRlIHJlY2hlcmNoZXIgbGVzIHByb2Nlc3NldXJzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDMKK21zZ2lkICJGYWlsZWQgdG8gdHJpZ2dlciByZXNjYW4gb2YgQ1BVcyIKK21zZ3N0ciAiw4ljaGVjIGR1IGTDqWNsZW5jaGVtZW50IGRlIHJlY2hlcmNoZSBkZSBwcm9jZXNzZXVycyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyaWdnZXJlZCByZXNjYW4gb2YgQ1BVc1xuIgorbXNnc3RyICJSZWNoZXJjaGUgZGUgcHJvY2Vzc2V1cnMgZMOpY2xlbmNow6llXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgc2V0dGluZyB0aGUgZGlzcGF0Y2hpbmcgbW9kZSBvZiBDUFVzIgorbXNnc3RyICJDZSBzeXN0w6htZSBuZSBwZXJtZXQgcGFzIGRlIGNvbmZpZ3VyZXIgbGUgbW9kZSBkaXN0cmlidcOpIGRlcyBwcm9jZXNzZXVycyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU1Cittc2dpZCAiRmFpbGVkIHRvIHNldCBob3Jpem9udGFsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgIsOJY2hlYyBkZSBjb25maWd1cmF0aW9uIGR1IG1vZGUgZGlzdHJpYnXDqSBob3Jpem9udGFsIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCBob3Jpem9udGFsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAiQ29uZmlndXJhdGlvbiBkdSBtb2RlIGRpc3RyaWJ1w6kgaG9yaXpvbnRhbCByw6l1c3NpZVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTkKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHZlcnRpY2FsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgIsOJY2hlYyBkZSBjb25maWd1cmF0aW9uIGR1IG1vZGUgZGlzdHJpYnXDqSB2ZXJ0aWNhbCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgdmVydGljYWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICJDb25maWd1cmF0aW9uIGR1IG1vZGUgZGlzdHJpYnXDqSB2ZXJ0aWNhbCByw6l1c3NpZVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgY29uZmlndXJhYmxlIgorbXNnc3RyICJMZSBwcm9jZXNzZXVywqAlZCBuJ2VzdCBwYXMgY29uZmlndXJhYmxlIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiTGUgcHJvY2Vzc2V1csKgJWQgZXN0IGTDqWrDoCBjb25maWd1csOpXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIkxlIHByb2Nlc3NldXLCoCVkIGVzdCBkw6lqw6AgZMOpY29uZmlndXLDqVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiw4ljaGVjIGRlIGTDqWNvbmZpZ3VyYXRpb24gZHUgcHJvY2Vzc2V1csKgJWQgKGxlIHByb2Nlc3NldXIgZXN0IGFjdGl2w6kpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICLDiWNoZWMgZGUgY29uZmlndXJhdGlvbiBkdSBwcm9jZXNzZXVywqAlZCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlZFxuIgorbXNnc3RyICJwcm9jZXNzZXVywqAlZCBjb25maWd1csOpXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiw4ljaGVjIGRlIGTDqWNvbmZpZ3VyYXRpb24gZHUgcHJvY2Vzc2V1csKgJWQiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJwcm9jZXNzZXVywqAlZCBkw6ljb25maWd1csOpXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIENQVSBudW1iZXIgaW4gQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICJudW3DqXJvIGRlIHByb2Nlc3NldXIgaW5jb3JyZWN0IGRhbnMgbGEgbGlzdGUgZGUgcHJvY2Vzc2V1csKgOiAlcyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjM4IHRleHQtdXRpbHMvY29sLmM6MTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIiIKKyJcbiIKKyJVdGlsaXNhdGlvbsKgOlxuIgorIiAlcyBbb3B0aW9uc11cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQyCittc2dpZCAiQ29uZmlndXJlIENQVXMgaW4gYSBtdWx0aS1wcm9jZXNzb3Igc3lzdGVtLlxuIgorbXNnc3RyICJDb25maWd1cmVyIGxlcyBwcm9jZXNzZXVycyBkYW5zIHVuIHN5c3TDqG1lIG11bHRpcHJvY2Vzc2V1ci5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQ0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyIgIC1lLCAtLWVuYWJsZSA8Y3B1LWxpc3Q+ICAgICAgIGVuYWJsZSBjcHVzXG4iCisiICAtZCwgLS1kaXNhYmxlIDxjcHUtbGlzdD4gICAgICBkaXNhYmxlIGNwdXNcbiIKKyIgIC1jLCAtLWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICAgIGNvbmZpZ3VyZSBjcHVzXG4iCisiICAtZywgLS1kZWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICBkZWNvbmZpZ3VyZSBjcHVzXG4iCisiICAtcCwgLS1kaXNwYXRjaCA8bW9kZT4gICAgICAgICBzZXQgZGlzcGF0Y2hpbmcgbW9kZVxuIgorIiAgLXIsIC0tcmVzY2FuICAgICAgICAgICAgICAgICAgdHJpZ2dlciByZXNjYW4gb2YgY3B1c1xuIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wdGlvbnPCoDpcbiIKKyIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIGFmZmljaGVyIGNldHRlIGFpZGVcbiIKKyIgIC1lLCAtLWVuYWJsZSA8bGlzdGU+ICAgICAgICAgIGFjdGl2ZXIgbGVzIHByb2Nlc3NldXJzXG4iCisiICAtZCwgLS1kaXNhYmxlIDxsaXN0ZT4gICAgICAgICBkw6lzYWN0aXZlciBsZXMgcHJvY2Vzc2V1cnNcbiIKKyIgIC1jLCAtLWNvbmZpZ3VyZSA8bGlzdGU+ICAgICAgIGNvbmZpZ3VyZXIgbGVzIHByb2Nlc3NldXJzXG4iCisiICAtZywgLS1kZWNvbmZpZ3VyZSA8bGlzdGU+ICAgICBkw6ljb25maWd1cmVyIGxlcyBwcm9jZXNzZXVyc1xuIgorIiAgLXAsIC0tZGlzcGF0Y2ggPG1vZGU+ICAgICAgICAgY29uZmlndXJlciBsZSBtb2RlIGRpc3RyaWJ1w6lcbiIKKyIgIC1yLCAtLXJlc2NhbiAgICAgICAgICAgICAgICAgIGTDqWNsZW5jaGVyIGxhIHJlY2hlcmNoZSBkZSBwcm9jZXNzZXVyc1xuIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgYWZmaWNoZXIgbGVzIGluZm9ybWF0aW9ucyBkZSB2ZXJzaW9uIGV0IHF1aXR0ZXJcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MzI2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiYXJndW1lbnQgbm9uIHByaXMgZW4gY2hhcmdlwqA6ICVzIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBoYXJkfHNvZnRcbiIKK21zZ3N0ciAiICVzIGhhcmR8c29mdFxuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldCB0aGUgZnVuY3Rpb24gb2YgdGhlIEN0cmwtQWx0LURlbCBjb21iaW5hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUxCittc2dpZCAiaW1wbGljaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB2YWx1ZSBpbiAlczogJWp1IgorbXNnc3RyICJhcmd1bWVudHMgaW5hdHRlbmR1cyIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo2MworbXNnaWQgIllvdSBtdXN0IGJlIHJvb3QgdG8gc2V0IHRoZSBDdHJsLUFsdC1EZWwgYmVoYXZpb3IiCittc2dzdHIgIlZvdXMgZGV2ZXogw6p0cmUgc3VwZXJ1dGlsaXNhdGV1ciBwb3VyIGFjdGl2ZXIgbGUgY29tcG9ydGVtZW50IGRlIEN0cmwtQWx0LVN1cHByLiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo3MSBzeXMtdXRpbHMvaXBjcm0uYzozOTIgc3lzLXV0aWxzL2lwY3JtLmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICJhcmd1bWVudCBpbmNvbm51wqA6ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTAKK21zZ2lkICJzeXN0ZW0gaXMgdW51c2FibGUiCittc2dzdHIgImxlIHN5c3TDqG1lIGVzdCBpbnV0aWxpc2FibGUiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMQorbXNnaWQgImFjdGlvbiBtdXN0IGJlIHRha2VuIGltbWVkaWF0ZWx5IgorbXNnc3RyICJpbCBmYXV0IGFnaXIgaW1tw6lkaWF0ZW1lbnQiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMgorbXNnaWQgImNyaXRpY2FsIGNvbmRpdGlvbnMiCittc2dzdHIgImNvbmRpdGlvbnMgY3JpdGlxdWVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTMKK21zZ2lkICJlcnJvciBjb25kaXRpb25zIgorbXNnc3RyICJjb25kaXRpb25zIGQnZXJyZXVyIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTQKK21zZ2lkICJ3YXJuaW5nIGNvbmRpdGlvbnMiCittc2dzdHIgImNvbmRpdGlvbnMgZCdhdmVydGlzc2VtZW50IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTUKK21zZ2lkICJub3JtYWwgYnV0IHNpZ25pZmljYW50IGNvbmRpdGlvbiIKK21zZ3N0ciAiY29uZGl0aW9uIG5vcm1hbGUgbWFpcyBzaWduaWZpY2F0aXZlIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTYKK21zZ2lkICJpbmZvcm1hdGlvbmFsIgorbXNnc3RyICJpbmZvcm1hdGlvbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE3Cittc2dpZCAiZGVidWctbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgIm1lc3NhZ2VzIGR1IG5pdmVhdSBkZSBkw6lib2dhZ2UiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMQorbXNnaWQgImtlcm5lbCBtZXNzYWdlcyIKK21zZ3N0ciAibWVzc2FnZXMgZHUgbm95YXUiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMgorbXNnaWQgInJhbmRvbSB1c2VyLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICJtZXNzYWdlcyB1dGlsaXNhdGV1ciBhbMOpYXRvaXJlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMzCittc2dpZCAibWFpbCBzeXN0ZW0iCittc2dzdHIgInN5c3TDqG1lIGRlIGNvdXJyaWVyIMOpbGVjdHJvbmlxdWUiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNAorbXNnaWQgInN5c3RlbSBkYWVtb25zIgorbXNnc3RyICJkw6ltb25zIGR1IHN5c3TDqG1lIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzUKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIgorbXNnc3RyICJtZXNzYWdlIGRlIHPDqWN1cml0w6kgb3UgYXV0b3Jpc2F0aW9uIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzYKK21zZ2lkICJtZXNzYWdlcyBnZW5lcmF0ZWQgaW50ZXJuYWxseSBieSBzeXNsb2dkIgorbXNnc3RyICJtZXNzYWdlIGludGVybmUgZGUgc3lzbG9nZCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM3Cittc2dpZCAibGluZSBwcmludGVyIHN1YnN5c3RlbSIKK21zZ3N0ciAibWVzc2FnZSBkdSBzb3VzLXN5c3TDqG1lIGQnaW1wcmVzc2lvbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM4Cittc2dpZCAibmV0d29yayBuZXdzIHN1YnN5c3RlbSIKK21zZ3N0ciAic291cy1zeXN0w6htZSBkZSBub3V2ZWxsZXMgcsOpc2VhdSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM5Cittc2dpZCAiVVVDUCBzdWJzeXN0ZW0iCittc2dzdHIgInNvdXMtc3lzdMOobWUgVVVDUCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQwCittc2dpZCAiY2xvY2sgZGFlbW9uIgorbXNnc3RyICJkw6ltb24gaG9yYWlyZSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQxCittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyAocHJpdmF0ZSkiCittc2dzdHIgIm1lc3NhZ2UgZGUgc8OpY3VyaXTDqSBvdSBhdXRvcmlzYXRpb24gKHByaXbDqSkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MgorbXNnaWQgIkZUUCBkYWVtb24iCittc2dzdHIgImTDqW1vbiBGVFAiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI2NworbXNnaWQgIkRpc3BsYXkgb3IgY29udHJvbCB0aGUga2VybmVsIHJpbmcgYnVmZmVyLlxuIgorbXNnc3RyICJBZmZpY2hlciBldCBjb250csO0bGVyIGxlIHRhbXBvbiBjaXJjdWxhaXJlIGR1IG5veWF1LlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzAKK21zZ2lkICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGNsZWFyIHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICB2aWRlciBsZSB0YW1wb24gY2lyY3VsYWlyZSBkdSBub3lhdVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzEKK21zZ2lkICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIHJlYWQgYW5kIGNsZWFyIGFsbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIGxpcmUgZXQgZWZmYWNlciB0b3VzIGxlcyBtZXNzYWdlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzIKK21zZ2lkICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIGRpc2FibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIGTDqXNhY3RpdmVyIGwnYWZmaWNoYWdlIGRlcyBtZXNzYWdlcyBlbiBjb25zb2xlXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MworbXNnaWQgIiAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAgZW5hYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBhY3RpdmVyIGwnYWZmaWNoYWdlIGRlcyBtZXNzYWdlcyBlbiBjb25zb2xlXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NAorbXNnaWQgIiAtRiwgLS1maWxlIDxmaWxlPiAgICAgICAgICAgdXNlIHRoZSBmaWxlIGluc3RlYWQgb2YgdGhlIGtlcm5lbCBsb2cgYnVmZmVyXG4iCittc2dzdHIgIiIKKyIgLUYsIC0tZmlsZSA8ZmljaGllcj4gICAgICAgIHV0aWxpc2VyIGxlIGZpY2hpZXIgw6AgbGEgcGxhY2UgZHUgdGFtcG9uIGRlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpvdXJuYWwgZHUgbm95YXVcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc1Cittc2dpZCAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0PiAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBmYWNpbGl0aWVzXG4iCittc2dzdHIgIiAtZiwgLS1mYWNpbGl0eSA8bGlzdGU+ICAgICAgcmVzdHJlaW5kcmUgbGEgc29ydGllIGF1eCBzZXJ2aWNlcyBpbmRpcXXDqXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc2Cittc2dpZCAiIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICBodW1hbiByZWFkYWJsZSBvdXRwdXRcbiIKK21zZ3N0ciAiIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICBzb3J0aWUgbGlzaWJsZVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzcKK21zZ2lkICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIGRpc3BsYXkga2VybmVsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgYWZmaWNoZXIgbGVzIG1lc3NhZ2VzIGR1IG5veWF1XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3OAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08cXVhbmQ+XSAgICAgICBtZXNzYWdlcyBlbiBjb3VsZXVyIChhdXRvLCBhbHdheXMgb3UgbmV2ZXIpXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MQorbXNnaWQgIiAtbCwgLS1sZXZlbCA8bGlzdD4gICAgICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgbGV2ZWxzXG4iCittc2dzdHIgIiAtbCwgLS1sZXZlbCA8bGlzdGU+ICAgICAgICAgcmVzdHJlaW5kcmUgbGEgc29ydGllIGF1eCBuaXZlYXV4IGluZGlxdcOpc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODIKK21zZ2lkICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bGV2ZWw+IHNldCBsZXZlbCBvZiBtZXNzYWdlcyBwcmludGVkIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPG5pdi4+ICBjb25maWd1cmVyIG5pdmVhdSBkZXMgbWVzc2FnZXMgYWZmaWNow6lzIGVuIGNvbnNvbGVcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgzCittc2dpZCAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICBkbyBub3QgcGlwZSBvdXRwdXQgaW50byBhIHBhZ2VyXG4iCittc2dzdHIgIiAtUCwgLS1ub3BhZ2VyICAgICAgICAgICAgICAgbmUgcGFzIHJlbnZveWVyIGxhIHNvcnRpZSBkYW5zIHVuIHZpc3VhbGlzZXVyXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NAorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJhdyBtZXNzYWdlIGJ1ZmZlclxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIGFmZmljaGVyIGxlIHRhbXBvbiBkZSBtZXNzYWdlIGJydXRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg1Cittc2dpZCAiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICBmb3JjZSB0byB1c2Ugc3lzbG9nKDIpIHJhdGhlciB0aGFuIC9kZXYva21zZ1xuIgorbXNnc3RyICIiCisiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICBmb3JjZXIgbCd1dGlsaXNhdGlvbiBkZSBzeXNsb2coMikgw6AgbGEgcGxhY2UgZGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL2Rldi9rbXNnXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NgorbXNnaWQgIiAtcywgLS1idWZmZXItc2l6ZSA8c2l6ZT4gICAgYnVmZmVyIHNpemUgdG8gcXVlcnkgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIiCisiIC1zLCAtLWJ1ZmZlci1zaXplIDx0YWlsbGU+ICB0YWlsbGUgZHUgdGFtcG9uIHBvdXIgZGVtYW5kZXIgbGUgdGFtcG9uIGNpcmN1bGFpcmVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHUgbm95YXVcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg3Cittc2dpZCAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICBkaXNwbGF5IHVzZXJzcGFjZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIGFmZmljaGVyIGxlcyBtZXNzYWdlcyBlbiBlc3BhY2UgdXRpbGlzYXRldXJcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg4Cittc2dpZCAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICB3YWl0IGZvciBuZXcgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICBhdHRlbmRyZSBsZXMgbm91dmVhdXggbWVzc2FnZXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg5Cittc2dpZCAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBkZWNvZGUgZmFjaWxpdHkgYW5kIGxldmVsIHRvIHJlYWRhYmxlIHN0cmluZ1xuIgorbXNnc3RyICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIGTDqWNvZGVyIGxlIHNlcnZpY2UgZXQgbGUgbml2ZWF1IGVuIGNoYcOubmVzIGxpc2libGVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MAorbXNnaWQgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgc2hvdyB0aW1lIGRlbHRhIGJldHdlZW4gcHJpbnRlZCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIG1vbnRyZXIgbGEgZGlmZi4gZGUgdGVtcHMgZW50cmUgbWVzc2FnZXMgYWZmaWNow6lzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MQorbXNnaWQgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgc2hvdyBsb2NhbCB0aW1lIGFuZCB0aW1lIGRlbHRhIGluIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBtb250cmVyIGxhIGRhdGUgbG9jYWxlIGV0IGxhIGRpZmbDqXJlbmNlIGRlIHRlbXBzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuIGZvcm1hdCBsaXNpYmxlXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MgorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHNob3cgaHVtYW4tcmVhZGFibGUgdGltZXN0YW1wIChtYXkgYmUgaW5hY2N1cmF0ZSEpXG4iCittc2dzdHIgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgbW9udHJlciBsJ2hvcm9kYXRhZ2UgbGlzaWJsZSBwYXIgbCd1dGlsaXNhdGV1clxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBkb24ndCBzaG93IGFueSB0aW1lc3RhbXAgd2l0aCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIG5lIHBhcyBhZmZpY2hlciBsJ2hvcm9kYXRhZ2UgZGVzIG1lc3NhZ2VzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NAorIywgZnV6enkKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcCB1c2luZyB0aGUgZ2l2ZW4gZm9ybWF0OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsdGF8cmVsdGltZXxjdGltZXxub3RpbWV8aXNvXVxuIgorIlN1c3BlbmRpbmcvcmVzdW1lIHdpbGwgbWFrZSBjdGltZSBhbmQgaXNvIHRpbWVzdGFtcHMgaW5hY2N1cmF0ZS5cbiIKK21zZ3N0ciAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgYWZmaWNoZXIgbOKAmWhvcm9kYXRhZ2UgYXUgZm9ybWF0wqA6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisiTGEgbWlzZSBlbiB2ZWlsbGUgZXQgbGUgcsOpdmVpbCByZW5kcm9udCBjdGltZSBldCBs4oCZaG9yb2RhdGFnZSBJU08gaW5leGFjdCkuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwMAorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGZhY2lsaXRpZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJTZXJ2aWNlcyBkZSBqb3VybmFsaXNhdGlvbiBwb3NzaWJsZXPCoDpcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzA2Cittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgbGV2ZWxzIChwcmlvcml0aWVzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk5pdmVhdXggZGUgam91cm5hbGlzYXRpb24gcG9zc2libGVzIChwcmlvcml0w6lzKcKgOlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxldmVsICclcyciCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZHUgbml2ZWF1IMKrwqAlc8KgwrsiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGxldmVsICclcyciCittc2dzdHIgIm5pdmVhdSDCq8KgJXPCoMK7IGluY29ubnUiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkZSBzZXJ2aWNlIMKrwqAlc8KgwrsiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5ICclcyciCittc2dzdHIgInNlcnZpY2UgwqvCoCVzwqDCuyBpbmNvbm51IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1tYXA6ICVzIgorbXNnc3RyICLDqWNoZWMgZGUgbW1hcMKgOiAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1NgorbXNnaWQgImludmFsaWQgYnVmZmVyIHNpemUgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50IGRlIHRhaWxsZSBkdSB0YW1wb24gaW5jb3JyZWN0IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDA5Cittc2dpZCAiLS1zaG93LWRlbHRhIGlzIGlnbm9yZWQgd2hlbiB1c2VkIHRvZ2V0aGVyIHdpdGggaXNvODYwMSB0aW1lIGZvcm1hdCIKK21zZ3N0ciAiLS1zaG93LWRlbHRhIGVzdCBpZ25vcsOpIHF1YW5kIHV0aWxpc8OpIGF2ZWMgdW4gZm9ybWF0IGTigJloZXVyZSBJU0/CoDg2MDEiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MzIKK21zZ2lkICItLXJhdyBjYW4gYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tbGV2ZWwgb3IgLS1mYWNpbGl0eSBvbmx5IHdoZW4gcmVhZGluZyBtZXNzYWdlcyBmcm9tIC9kZXYva21zZyIKK21zZ3N0ciAiLS1yYXcgbmUgcGV1dCDDqnRyZSB1dGlsaXPDqWUgYXZlYyBsZXMgb3B0aW9ucyAtLWxldmVsIG91IC0tZmFjaWxpdHkgcXXigJllbiBsaXNhbnQgbGVzIG1lc3NhZ2VzIGRlIC9kZXYva21zZyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQ0MgorbXNnaWQgInJlYWQga2VybmVsIGJ1ZmZlciBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBsZWN0dXJlIGR1IHRhbXBvbiBkZSBub3lhdSIKKworIyBkaXNrLXV0aWxzL21rc3dhcC5jOjYyMworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQ2MQorbXNnaWQgImtsb2djdGwgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgbGEgZm9uY3Rpb24ga2xvZ2N0bCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+fDxtb3VudHBvaW50Pl1cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSBbPHDDqXJpcGjDqXJpcXVlPnw8cG9pbnQgZGUgbW9udGFnZT5dXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNworbXNnaWQgIkVqZWN0IHJlbW92YWJsZSBtZWRpYS5cbiIKK21zZ3N0ciAiw4lqZWN0ZXIgdW4gc3VwcG9ydCBhbW92aWJsZS5cbiIKKworIyBOT1RFOiBzL2Fub3RoZXIvb3RoZXIvCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNDAKK21zZ2lkICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICB0dXJuIGF1dG8tZWplY3QgZmVhdHVyZSBvbiBvciBvZmZcbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHNsb3Q+ICAgIHN3aXRjaCBkaXNjcyBvbiBhIENELVJPTSBjaGFuZ2VyXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBkaXNwbGF5IGRlZmF1bHQgZGV2aWNlXG4iCisiIC1mLCAtLWZsb3BweSAgICAgICAgICAgICAgICBlamVjdCBmbG9wcHlcbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIGRvbid0IGNhcmUgYWJvdXQgZGV2aWNlIHR5cGVcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIHRvZ2dsZSBtYW51YWwgZWplY3QgcHJvdGVjdGlvbiBvbi9vZmZcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIGRvIG5vdCB1bm1vdW50IGRldmljZSBldmVuIGlmIGl0IGlzIG1vdW50ZWRcbiIKKyIgLU0sIC0tbm8tcGFydGl0aW9ucy11bm1vdW50IGRvIG5vdCB1bm1vdW50IGFub3RoZXIgcGFydGl0aW9uc1xuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgZG9uJ3QgZWplY3QsIGp1c3Qgc2hvdyBkZXZpY2UgZm91bmRcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIHVzZSAvcHJvYy9tb3VudHMgaW5zdGVhZCBvZiAvZXRjL210YWJcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIGVqZWN0IHRhcGVcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIGVqZWN0IENELVJPTVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgZWplY3QgU0NTSSBkZXZpY2VcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIGNsb3NlIHRyYXlcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIHRvZ2dsZSB0cmF5XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICBlbmFibGUgdmVyYm9zZSBvdXRwdXRcbiIKKyIgLXgsIC0tY2RzcGVlZCA8c3BlZWQ+ICAgICAgIHNldCBDRC1ST00gbWF4IHNwZWVkXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICBsaXN0IENELVJPTSBhdmFpbGFibGUgc3BlZWRzXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYXV0byA8b258b2ZmPiAgICAgICAgIGFjdGl2ZXIgb3UgZMOpc2FjdGl2ZXIgZm9uY3Rpb25uYWxpdMOpIGQnYXV0b8OpamVjdGlvblxuIgorIiAtYywgLS1jaGFuZ2Vyc2xvdCA8ZGlzcXVlPiAgY2hhbmdlciBkZSBkaXNxdWUgc3VyIHVuIGNoYXJnZXVyIGRlIENEXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBhZmZpY2hlciBsZSBww6lyaXBow6lyaXF1ZSBwYXIgZMOpZmF1dFxuIgorIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAgw6lqZWN0ZXIgbGEgZGlzcXVldHRlXG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBpZ25vcmVyIGxlIHR5cGUgZGUgcMOpcmlwaMOpcmlxdWVcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIGFjdGl2ZXIsIGTDqXNhY3RpdmVyIHByb3RlY3Rpb24gbWFudWVsbGUgZCfDqWplY3Rpb25cbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIG5lIHBhcyBkw6ltb250ZXIgbGUgcMOpcmlwaMOpcmlxdWUgbcOqbWUgcydpbCBlc3QgbW9udMOpXG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBuZSBwYXMgZMOpbW9udGVyIGQnYXV0cmVzIHBhcnRpdGlvbnNcbiIKKyIgLW4sIC0tbm9vcCAgICAgICAgICAgICAgICAgIG5lIHBhcyDDqWplY3RlciwgbW9udHJlciBzZXVsZW1lbnQgbGUgcMOpcmlwaMOpcmlxdWVcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIHV0aWxpc2VyIC9wcm9jL21vdW50cyBhdSBsaWV1IGRlIC9ldGMvbXRhYlxuIgorIiAtcSwgLS10YXBlICAgICAgICAgICAgICAgICAgw6lqZWN0ZXIgbGEgY2Fzc2V0dGVcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIMOpamVjdGVyIGxlIENEXG4iCisiIC1zLCAtLXNjc2kgICAgICAgICAgICAgICAgICDDqWplY3RlciBsZSBww6lyaXBow6lyaXF1ZSBTQ1NJXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICBmZXJtZXIgbGUgcGxhdGVhdVxuIgorIiAtVCwgLS10cmF5dG9nZ2xlICAgICAgICAgICAgdG91cm5lciBsZSBwbGF0ZWF1XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICBhY3RpdmVyIGxhIHNvcnRpZSBiYXZhcmRlXG4iCisiIC14LCAtLWNkc3BlZWQgPHNwZWVkPiAgICAgICBkw6lmaW5pciBsYSB2aXRlc3NlIG1heGltYWxlIGR1IENEXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICBhZmZpY2hlciBsZXMgdml0ZXNzZSBkZSBDRCBkaXNwb25pYmxlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNjQKK21zZ2lkICIiCisiXG4iCisiQnkgZGVmYXVsdCB0cmllcyAtciwgLXMsIC1mLCBhbmQgLXEgaW4gb3JkZXIgdW50aWwgc3VjY2Vzcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkVzc2F5ZSBwYXIgZMOpZmF1dCAtciwgLXMsIC1mIGV0IC1xIGRhbnMgY2V0IG9yZHJlIGp1c3F1J8OgIHLDqXVzc2lyLlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTAKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2hhbmdlcnNsb3QvLWMgb3B0aW9uIgorbXNnc3RyICJhcmd1bWVudCBpbmNvcnJlY3QgcG91ciBsJ29wdGlvbiAtLWNoYW5nZXJzbG90LCAtYyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjE0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNkc3BlZWQvLXggb3B0aW9uIgorbXNnc3RyICJhcmd1bWVudCBpbmNvcnJlY3QgcG91ciBsJ29wdGlvbiAtLWNkc3BlZWQsIC14IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMjYKK21zZ2lkICJDRC1ST00gYXV0by1lamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGxhIGNvbW1hbmRlIGQnYXV0b8OpamVjdGlvbiBkZSBDRCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQwCittc2dpZCAiQ0QtUk9NIGRvb3IgbG9jayBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJsYSBmZXJtZXR1cmUgZHUgbGVjdGV1ciBkZSBDRCBu4oCZZXN0IHBhcyBwcmlzZSBlbiBjaGFyZ2UiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MgorbXNnaWQgIm90aGVyIHVzZXJzIGhhdmUgdGhlIGRyaXZlIG9wZW4gYW5kIG5vdCBDQVBfU1lTX0FETUlOIgorbXNnc3RyICJk4oCZYXV0cmVzIHV0aWxpc2F0ZXVyIG9udCBsZSBkaXNxdWUgb3V2ZXJ0IHNhbnMgQ0FQX1NZU19BRE1JTiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQ0Cittc2dpZCAiQ0QtUk9NIGxvY2sgZG9vciBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGxhIGNvbW1hbmRlIGRlIGZlcm1ldHVyZSBkdSBsZWN0ZXVyIGRlIENEIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDkKK21zZ2lkICJDRC1Ecml2ZSBtYXkgTk9UIGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICJsZSBDRCBuZSBwZXV0IFBBUyDDqnRyZSDDqWplY3TDqSBhdmVjIGxlIGJvdXRvbiBkdSBsZWN0ZXVyIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNTEKK21zZ2lkICJDRC1Ecml2ZSBtYXkgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgImxlIENEIHBldXQgw6p0cmUgw6lqZWN0w6kgYXZlYyBsZSBib3V0b24gZHUgbGVjdGV1ciIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzYyCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBkaXNjIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgbGEgY29tbWFuZGUgZGUgc8OpbGVjdGlvbiBkZSBkaXNxdWUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NgorbXNnaWQgIkNELVJPTSBsb2FkIGZyb20gc2xvdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGNoYXJnZW1lbnQgZHUgQ0QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2OAorbXNnaWQgIklERS9BVEFQSSBDRC1ST00gY2hhbmdlciBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgImxlIGNoYXJnZXVyIGRlIENEIElERS9BVEFQSSBuJ2VzdCBwYXMgcHJpcyBlbiBjaGFyZ2UgcGFyIGNlIG5veWF1XG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NgorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgbGEgY29tbWFuZGUgZGUgZmVybWV0dXJlIGR1IHBsYXRlYXUgZGUgQ0QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4OAorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICJsYSBjb21tYW5kZSBkZSBmZXJtZXR1cmUgZHUgcGxhdGVhdSBkZSBDRCBuJ2VzdCBwYXMgcHJpc2UgZW4gY2hhcmdlIHBhciBjZSBub3lhdVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MDUKK21zZ2lkICJDRC1ST00gZWplY3QgdW5zdXBwb3J0ZWQiCittc2dzdHIgIsOpamVjdGlvbiBkZSBDRCBub24gcHJpc2UgZW4gY2hhcmdlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzMgc3lzLXV0aWxzL2VqZWN0LmM6NDU2IHN5cy11dGlscy9lamVjdC5jOjEwMTEKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBsYSBjb21tYW5kZSBkJ8OpamVjdGlvbiBkZSBDRCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM2Cittc2dpZCAibm8gQ0QtUk9NIGluZm9ybWF0aW9uIGF2YWlsYWJsZSIKK21zZ3N0ciAiQXVjdW4gcmVuc2VpZ25lbWVudCBkaXNwb25pYmxlIHN1ciBsZSBDRCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM5Cittc2dpZCAiQ0QtUk9NIGRyaXZlIGlzIG5vdCByZWFkeSIKK21zZ3N0ciAibGUgcMOpcmlwaMOpcmlxdWUgZGUgQ0Qgbidlc3QgcGFzIHByw6p0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODIKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgbGEgY29tbWFuZGUgZGUgc8OpbGVjdGlvbiBkZSB2aXRlc3NlIGR1IENEIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODQgc3lzLXV0aWxzL2VqZWN0LmM6NTcwCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWwiCittc2dzdHIgImxhIGNvbW1hbmRlIGRlIHPDqWxlY3Rpb24gZGUgdml0ZXNzZSBkdSBDRCBuJ2VzdCBwYXMgcHJpc2UgZW4gY2hhcmdlIHBhciBjZSBub3lhdSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZGluZyBDRC1ST00gbmFtZSIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGQnb2J0ZW50aW9uIGR1IG5vbSBkZSBDRCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIGxlY3R1cmUgZGUgbGEgdml0ZXNzZSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTQ0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgIsOpY2hlYyBkZSBsZWN0dXJlIGRlIGxhIHZpdGVzc2UiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU4OAorbXNnaWQgIm5vdCBhbiBzZyBkZXZpY2UsIG9yIG9sZCBzZyBkcml2ZXIiCittc2dzdHIgIm4nZXN0IHBhcyB1biBww6lyaXBow6lyaXF1ZSBzZywgb3UgYW5jaWVuIHBpbG90ZSBzZyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bm1vdW50aW5nIgorbXNnc3RyICIlc8KgOiBkw6ltb250YWdlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGV4ZWMgL2Jpbi91bW91bnQgb2YgYCVzJyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ2V4w6ljdXRlciAvYmluL3Vtb3VudCBkZSDCq8KgJXPCoMK7IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzgKK21zZ2lkICJ1bmFibGUgdG8gZm9yayIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgdW4gcHJvY2Vzc3VzIGZpbHMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJsZSBkw6ltb250YWdlIGRlIMKrwqAlc8KgwrsgbmUgcydlc3QgcGFzIHRlcm1pbsOpIG5vcm1hbGVtZW50IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGZhaWxlZFxuIgorbXNnc3RyICLDqWNoZWMgZHUgZMOpbW9udGFnZSBkZSDCq8KgJXPCoMK7XG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjczMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkZSBsYSB0YWJsZSBkZSBtb250YWdlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3OTEgc3lzLXV0aWxzL2VqZWN0LmM6ODkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudGVkIG9uICVzIgorbXNnc3RyICIlc8KgOiBtb250w6kgc3VyICVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MzMKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byBhdXRvIgorbXNnc3RyICJjb25maWd1cmF0aW9uIGRlIGxhIHZpdGVzc2UgZGUgQ0QgZW4gYXV0b21hdGlxdWUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzNQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byAlbGRYIgorbXNnc3RyICJjb25maWd1cmF0aW9uIGRlIGxhIHZpdGVzc2UgZGUgQ0Qgw6AgJWxkWCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODYxCisjLCBjLWZvcm1hdAorbXNnaWQgImRlZmF1bHQgZGV2aWNlOiBgJXMnIgorbXNnc3RyICJww6lyaXBow6lyaXF1ZSBwYXIgZMOpZmF1dMKgOiDCq8KgJXPCoMK7IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgZGVmYXVsdCBkZXZpY2UgYCVzJyIKK21zZ3N0ciAidXRpbGlzYXRpb24gZHUgcMOpcmlwaMOpcmlxdWUgcGFyIGTDqWZhdXQgwqvCoCVzwqDCuyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg2IHN5cy11dGlscy9ydGN3YWtlLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gZmluZCBkZXZpY2UiCittc2dzdHIgIiVzwqA6IGltcG9zc2libGUgZGUgdHJvdXZlciBsZSBww6lyaXBow6lyaXF1ZSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg4CisjLCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBuYW1lIGlzIGAlcyciCittc2dzdHIgImxlIG5vbSBkdSBww6lyaXBow6lyaXF1ZSBlc3QgwqvCoCVzwqDCuyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODk0IHN5cy11dGlscy91bW91bnQuYzoyMDYgc3lzLXV0aWxzL3Vtb3VudC5jOjIzNQorIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQwOSBzeXMtdXRpbHMvdW1vdW50LmM6NDMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgbW91bnRlZCIKK21zZ3N0ciAiJXPCoDogbm9uIG1vbnTDqSIKKworIyBOT1RFOiBzL2Rpc2MvZGlzay8KKyM6IHN5cy11dGlscy9lamVjdC5jOjg5OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYyBkZXZpY2U6ICVzIChkaXNrIGRldmljZSB3aWxsIGJlIHVzZWQgZm9yIGVqZWN0KSIKK21zZ3N0ciAiJXPCoDogcMOpcmlwaMOpcmlxdWUgZGlzcXVlwqA6ICVzIChsZSBww6lyaXBow6lyaXF1ZSBkaXNxdWUgc2VyYSB1dGlsaXPDqSBwb3VyIGwnw6lqZWN0aW9uKSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQgbW91bnRwb2ludCBvciBkZXZpY2Ugd2l0aCB0aGUgZ2l2ZW4gbmFtZSIKK21zZ3N0ciAiJXPCoDogcG9pbnQgZGUgbW9udGFnZSBvdSBww6lyaXBow6lyaXF1ZSBhdmVjIGxlIG5vbSBkb25uw6kgaW50cm91dmFibGUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgd2hvbGUtZGlzayBkZXZpY2UiCittc2dzdHIgIiVzwqA6IGVzdCB1biBww6lyaXBow6lyaXF1ZSBkaXNxdWUgZW50aWVyIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBob3QtcGx1Z2dhYmxlIGRldmljZSIKK21zZ3N0ciAiJXPCoDogbmUgcGV1dCBwYXMgw6p0cmUgYnJhbmNow6kgw6AgY2hhdWQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxNworIywgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgaXMgYCVzJyIKK21zZ3N0ciAibGUgcMOpcmlwaMOpcmlxdWUgZXN0IMKrwqAlc8KgwrsiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxOAorbXNnaWQgImV4aXRpbmcgZHVlIHRvIC1uLy0tbm9vcCBvcHRpb24iCittc2dzdHIgImZpbiBkJ2V4w6ljdXRpb24gw6AgY2F1c2UgZGVzIG9wdGlvbnMgLW4gb3UgLS1ub29wIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVuYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiJXPCoDogYWN0aXZhdGlvbiBkdSBtb2RlIGQnYXV0b8OpamVjdGlvbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNhYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIlc8KgOiBkw6lzYWN0aXZhdGlvbiBkdSBtb2RlIGQnYXV0b8OpamVjdGlvbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zaW5nIHRyYXkiCittc2dzdHIgIiVzwqA6IGZlcm1ldHVyZSBkdSBwbGF0ZWF1IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiVzwqA6IHJvdGF0aW9uIGR1IHBsYXRlYXUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGlzdGluZyBDRC1ST00gc3BlZWQiCittc2dzdHIgIiVzwqA6IGFmZmljaGFnZSBkZXMgdml0ZXNzZXMgZHUgQ0QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk4NgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IGRldmljZSBpbiB1c2UiCittc2dzdHIgImVycmV1csKgOiAlc8KgOiBww6lyaXBow6lyaXF1ZSB1dGlsaXPDqSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWxlY3RpbmcgQ0QtUk9NIGRpc2MgIyVsZCIKK21zZ3N0ciAiJXPCoDogc8OpbGVjdGlvbiBkdSBkaXNxdWUgbsK6wqAlbGQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBDRC1ST00gZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiJXPCoDogdGVudGF0aXZlIGQnw6lqZWN0aW9uIGVuIHV0aWxpc2FudCBsYSBjb21tYW5kZSBkJ8OpamVjdGlvbiBkZSBDRCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMAorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAibGEgY29tbWFuZGUgZCfDqWplY3Rpb24gZGUgQ0QgYSByw6l1c3NpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgU0NTSSBjb21tYW5kcyIKK21zZ3N0ciAiJXPCoDogdGVudGF0aXZlIGQnw6lqZWN0aW9uIGVuIHV0aWxpc2FudCBsZXMgY29tbWFuZGVzIFNDU0kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTcKK21zZ2lkICJTQ1NJIGVqZWN0IHN1Y2NlZWRlZCIKK21zZ3N0ciAibCfDqWplY3Rpb24gU0NTSSBhIHLDqXVzc2kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTgKK21zZ2lkICJTQ1NJIGVqZWN0IGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGwnw6lqZWN0aW9uIFNDU0kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBmbG9wcHkgZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiJXPCoDogdGVudGF0aXZlIGQnw6lqZWN0aW9uIGVuIHV0aWxpc2FudCBsYSBjb21tYW5kZSBkJ8OpamVjdGlvbiBkZSBkaXNxdWV0dGUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjQKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgImxhIGNvbW1hbmRlIGQnw6lqZWN0aW9uIGRlIGRpc3F1ZXR0ZSBhIHLDqXVzc2kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjUKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBsYSBjb21tYW5kZSBkJ8OpamVjdGlvbiBkZSBkaXNxdWV0dGUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyB0YXBlIG9mZmxpbmUgY29tbWFuZCIKK21zZ3N0ciAiJXPCoDogdGVudGF0aXZlIGQnw6lqZWN0aW9uIGVuIHV0aWxpc2FudCBsYSBjb21tYW5kZSBkZSBjYXNzZXR0ZSBob3JzIGxpZ25lIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDMxCittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICJsYSBjb21tYW5kZSBkZSBjYXNzZXR0ZSBob3JzIGxpZ25lIGEgcsOpdXNzaSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMgorbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGxhIGNvbW1hbmRlIGRlIGNhc3NldHRlIGhvcnMgbGlnbmUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzYKK21zZ2lkICJ1bmFibGUgdG8gZWplY3QiCittc2dzdHIgImltcG9zc2libGUgZCfDqWplY3RlciIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGVuYW1lPlxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIDxmaWNoaWVyPlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODEKK21zZ2lkICJQcmVhbGxvY2F0ZSBzcGFjZSB0bywgb3IgZGVhbGxvY2F0ZSBzcGFjZSBmcm9tIGEgZmlsZS5cbiIKK21zZ3N0ciAiUsOpc2VydmVyIG91IHJlbmRyZSBkZSBsJ2VzcGFjZSBwb3VyIHVuIGZpY2hpZXIuXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NAorbXNnaWQgIiAtYywgLS1jb2xsYXBzZS1yYW5nZSByZW1vdmUgYSByYW5nZSBmcm9tIHRoZSBmaWxlXG4iCittc2dzdHIgIiAtYywgLS1jb2xsYXBzZS1yYW5nZSBzdXBwcmltZXIgdW4gaW50ZXJ2YWxsZSBkdSBmaWNoaWVyXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NQorbXNnaWQgIiAtZCwgLS1kaWctaG9sZXMgICAgICBkZXRlY3QgemVyb2VzIGFuZCByZXBsYWNlIHdpdGggaG9sZXNcbiIKK21zZ3N0ciAiIC1kLCAtLWRpZy1ob2xlcyAgICAgIGTDqXRlY3RlciBsZXMgesOpcm9zIGV0IGxlcyByZW1wbGFjZXIgcGFyIGRlcyB0cm91c1xuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODYKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICAgbGVuZ3RoIGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDxuYnI+ICAgdGFpbGxlIHBvdXIgbGVzIG9ww6lyYXRpb25zIGTigJlpbnRlcnZhbGxlLCBlbiBvY3RldFxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODcKK21zZ2lkICIgLW4sIC0ta2VlcC1zaXplICAgICAgbWFpbnRhaW4gdGhlIGFwcGFyZW50IHNpemUgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgIGdhcmRlciBsYSB0YWlsbGUgYXBwYXJlbnRlIGR1IGZpY2hpZXJcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg4Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgIG9mZnNldCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8bmJyPiAgIHBvc2l0aW9uIHBvdXIgbGVzIG9ww6lyYXRpb25zIGTigJlpbnRlcnZhbGxlLCBlbiBvY3RldFxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODkKK21zZ2lkICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVwbGFjZSBhIHJhbmdlIHdpdGggYSBob2xlIChpbXBsaWVzIC1uKVxuIgorbXNnc3RyICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVtcGxhY2VyIHVuIGludGVydmFsbGUgcGFyIHVuIHRyb3UgKGltcGxpcXVlIC1uKVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTAKK21zZ2lkICIgLXosIC0temVyby1yYW5nZSAgICAgemVybyBhbmQgZW5zdXJlIGFsbG9jYXRpb24gb2YgYSByYW5nZVxuIgorbXNnc3RyICIgLXosIC0temVyby1yYW5nZSAgICAgbWV0dHJlIMOgIHrDqXJvIGV0IHPigJlhc3N1cmVyIGRlIGzigJlhbGxvY2F0aW9uIGTigJl1biBpbnRlcnZhbGxlXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMjYKKyMsIGZ1enp5Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZDoga2VlcCBzaXplIG1vZGUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIm1vZGUgZGUgdGFpbGxlIGNvbnNlcnbDqWUgKG9wdGlvbiAtbikgbm9uIHByaXMgZW4gY2hhcmdlIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTI3Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGZhbGxvY2F0ZSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBsZWN0dXJlIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJWp1IGJ5dGVzKSBjb252ZXJ0ZWQgdG8gc3BhcnNlIGhvbGVzLlxuIgorbXNnc3RyICIlc8KgOiAlcyAoJWp1wqBvY3RldHMpIGNvbnZlcnRpcyBlbiB0cm91cyBjbGFpcnNlbcOpcy5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM0NiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTgKK21zZ2lkICJubyBmaWxlbmFtZSBzcGVjaWZpZWQiCittc2dzdHIgIkF1Y3VuIG5vbSBkZSBmaWNoaWVyIGluZGlxdcOpIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzU4IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjQKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgIlZhbGV1ciBkZSBsb25ndWV1ciBpbmRpcXXDqWUgbm9uIHZhbGFibGUiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjIKK21zZ2lkICJubyBsZW5ndGggYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJQYXMgZCdhcmd1bWVudCBkZSBsb25ndWV1ciBpbmRpcXXDqSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2NworbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAiVmFsZXVyIGQnaW5kZXggaW5kaXF1w6kgbm9uIHZhbGFibGUiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IDxjb21tYW5kPiBbPGFyZ3VtZW50Pi4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IC1jIDxjb21tYW5kPlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZSBkZXNjcmlwdG9yIG51bWJlcj5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZmljaGllcj58PHLDqXBlcnRvaXJlPiA8Y29tbWFuZGU+IFs8YXJndW1lbnQ+IC4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpY2hpZXI+fDxyw6lwZXJ0b2lyZT4gLWMgPGNvbW1hbmRlPlxuIgorIiAlMSRzIFtvcHRpb25zfSA8bnVtw6lybyBkZSBkZXNjcmlwdGV1ciBkZSBmaWNoaWVycz5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTkKK21zZ2lkICJNYW5hZ2UgZmlsZSBsb2NrcyBmcm9tIHNoZWxsIHNjcmlwdHMuXG4iCittc2dzdHIgIkfDqXJlciBkZXMgdmVycm91cyBkZSBmaWNoaWVyIGRlcHVpcyBkZXMgc2NyaXB0cyBkJ2ludGVycHLDqXRldXIuXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYyCittc2dpZCAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBnZXQgYSBzaGFyZWQgbG9ja1xuIgorbXNnc3RyICIgLXMsIC0tc2hhcmVkICAgICAgICAgICAgIG9idGVuaXIgdW4gdmVycm91IHBhcnRhZ8OpXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYzCittc2dpZCAiIC14LCAtLWV4Y2x1c2l2ZSAgICAgICAgICBnZXQgYW4gZXhjbHVzaXZlIGxvY2sgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAgb2J0ZW5pciB1biB2ZXJyb3UgZXhjbHVzaWYgKHBhciBkw6lmYXV0KVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NAorbXNnaWQgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAgcmVtb3ZlIGEgbG9ja1xuIgorbXNnc3RyICIgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIHN1cHByaW1lciB1biB2ZXJyb3VcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjUKK21zZ2lkICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIGZhaWwgcmF0aGVyIHRoYW4gd2FpdFxuIgorbXNnc3RyICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIMOpY2hvdWVyIGF1IGxpZXUgZGUgYmxvcXVlclxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NgorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCittc2dzdHIgIiAtdywgLS10aW1lb3V0IDxzZWNvbmRlPiAgYXR0ZW5kcmUgdW4gdGVtcHMgbWF4aW1hbCBkb25uw6lcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjcKK21zZ2lkICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxudW1iZXI+ICBleGl0IGNvZGUgYWZ0ZXIgY29uZmxpY3Qgb3IgdGltZW91dFxuIgorbXNnc3RyICIiCisiIC1FLCAtLWNvbmZsaWN0LWV4aXQtY29kZSA8bnVtw6lybz4gIGNvZGUgZGUgcmV0b3VyIGFwcsOocyBjb25mbGl0IG91IGF0dGVpbnRlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdSBkw6lsYWkgZCdleHBpcmF0aW9uXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY4Cittc2dpZCAiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBjbG9zZSBmaWxlIGRlc2NyaXB0b3IgYmVmb3JlIHJ1bm5pbmcgY29tbWFuZFxuIgorbXNnc3RyICIiCisiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBmZXJtZXIgbGUgZGVzY3JpcHRldXIgZGUgZmljaGllcnMgYXZhbnQgZCdleMOpY3V0ZXJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGEgY29tbWFuZGVcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjkKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gIHJ1biBhIHNpbmdsZSBjb21tYW5kIHN0cmluZyB0aHJvdWdoIHRoZSBzaGVsbFxuIgorbXNnc3RyICIiCisiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmRlPiAgZXjDqWN1dGVyIHVuZSBzZXVsZSBjb21tYW5kZSDDoCBs4oCZYWlkZSBkZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbOKAmWludGVycHLDqXRldXJcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgICBleGVjdXRlIGNvbW1hbmQgd2l0aG91dCBmb3JraW5nXG4iCittc2dzdHIgIiAtbiAgICAgICAgICAgdGVybWluZXIgbGEgY29tbWFuZGUgcGFyIGVudHLDqWVcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICBpbmNyZWFzZSB2ZXJib3NpdHlcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBtb2RlIGJhdmFyZFxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gbG9jayBmaWxlICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgZGUgdmVycm91ICVzIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDUKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgdmFsdWUiCittc2dzdHIgInZhbGV1ciBkJ2V4cGlyYXRpb24gZGUgbGEgbWludXRlcmllIGluY29ycmVjdCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjA5Cittc2dpZCAiaW52YWxpZCBleGl0IGNvZGUiCittc2dzdHIgImNvZGUgZGUgcmV0b3VyIGluY29ycmVjdCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjI4Cittc2dpZCAidGhlIC0tbm8tZm9yayBhbmQgLS1jbG9zZSBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGNvbW1hbmQgYXJndW1lbnQiCittc2dzdHIgIiVzIG7DqWNlc3NpdGUgZXhhY3RlbWVudCB1biBhcmd1bWVudCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjU0Cittc2dpZCAiYmFkIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAibWF1dmFpcyBkZXNjcmlwdGV1ciBkZSBmaWNoaWVyIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTcKK21zZ2lkICJyZXF1aXJlcyBmaWxlIGRlc2NyaXB0b3IsIGZpbGUgb3IgZGlyZWN0b3J5IgorbXNnc3RyICJuw6ljZXNzaXRlIHVuIGRlc2NyaXB0ZXVyIGRlIGZpY2hpZXJzLCB1biBmaWNoaWVyIG91IHVuIHLDqXBlcnRvaXJlIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBsb2NrIgorbXNnc3RyICLDqWNoZWMgZGUgZMOpZmluaXRpb24gZGVzIGRvbm7DqWVzIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODgKK21zZ2lkICJ0aW1lb3V0IHdoaWxlIHdhaXRpbmcgdG8gZ2V0IGxvY2siCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0dGluZyBsb2NrIHRvb2sgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXMgIC4lMDZkwqBzZWNvbmRlc1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAiRXJyZXVyIGQnZXjDqWN1dGlvblx0JXNcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnRwb2ludD5cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSA8cG9pbnQgZGUgbW9udGFnZT5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTMKK21zZ2lkICJTdXNwZW5kIGFjY2VzcyB0byBhIGZpbGVzeXN0ZW0gKGV4dDMvNCwgUmVpc2VyRlMsIEpGUywgWEZTKS5cbiIKK21zZ3N0ciAiU3VzcGVuZHJlIGwnYWNjw6hzIMOgIHVuIHN5c3TDqG1lIGRlIGZpY2hpZXJzIChleHQzLzQsIFJlaXNlckZTLCBKRlMsIFhGUykuXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjU2Cittc2dpZCAiIC1mLCAtLWZyZWV6ZSAgICAgIGZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLWYsIC0tZnJlZXplICAgICAgZ2VsZXIgbGUgc3lzdMOobWUgZGUgZmljaGllcnNcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTcKK21zZ2lkICIgLXUsIC0tdW5mcmVlemUgICAgdW5mcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC11LCAtLXVuZnJlZXplICAgIGTDqWdlbGVyIGxlIHN5c3TDqG1lIGRlIGZpY2hpZXJzXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExNgorbXNnaWQgIm5laXRoZXIgLS1mcmVlemUgb3IgLS11bmZyZWV6ZSBzcGVjaWZpZWQiCittc2dzdHIgIm5pIC0tZnJlZXplIG5pIC0tdW5mcmVlemUgaW5kaXF1w6lzIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXPCoDogbidlc3QgcGFzIHVuIHLDqXBlcnRvaXJlIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBnZWwiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5mcmVlemUgZmFpbGVkIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgZMOpZ2VsIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXPCoDogcGFzIHVuIHLDqXBlcnRvaXJlIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEZJVFJJTSBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkJ2lvY3RsIEZJVFJJTSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBoZXJlIGlzIGEgdmVyeSBsYXJnZSBudW1iZXIuCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJTxQUkl1NjQ+IGJ5dGVzKSB0cmltbWVkXG4iCittc2dzdHIgIiVzwqA6ICVzICglPFBSSXU2ND7CoG9jdGV0cykgdGFpbGzDqXNcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE5MSBzeXMtdXRpbHMvc3dhcG9uLmM6NzI5IHN5cy11dGlscy91bW91bnQuYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlICVzIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50IHBvaW50PlxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIDxwb2ludCBkZSBtb250YWdlPlxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU0Cittc2dpZCAiRGlzY2FyZCB1bnVzZWQgYmxvY2tzIG9uIGEgbW91bnRlZCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJBYmFuZG9ubmVyIGxlcyBibG9jcyBub24gdXRpbGlzw6lzIGQndW4gc3lzdMOobWUgZGUgZmljaGllcnMgbW9udMOpLlxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU3Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgdHJpbSBhbGwgbW91bnRlZCBmaWxlc3lzdGVtcyB0aGF0IGFyZSBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgcm9nbmVyIHRvdXMgbGVzIHN5c3TDqG1lcyBkZSBmaWNoaWVycyBwcmlzIGVuIGNoYXJnZVxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU4Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgdGhlIG9mZnNldCBpbiBieXRlcyB0byBzdGFydCBkaXNjYXJkaW5nIGZyb21cbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8bnVtPiAgbGEgcG9zaXRpb24gZW4gb2N0ZXQgw6AgcGFydGlyIGRlIGxhcXVlbGxlIGFiYW5kb25uZXJcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1OQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gZGlzY2FyZFxuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZSBub21icmUgZOKAmW9jdGV0cyDDoCBhYmFuZG9ubmVyXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjAKK21zZ2lkICIgLW0sIC0tbWluaW11bSA8bnVtPiB0aGUgbWluaW11bSBleHRlbnQgbGVuZ3RoIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC1tLCAtLW1pbmltdW0gPG51bT4gbGEgdGFpbGxlIMOpdGVuZHVlIG1pbmltYWxlIMOgIGFiYW5kb25uZXJcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IG51bWJlciBvZiBkaXNjYXJkZWQgYnl0ZXNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgYWZmaWNoZXIgbGUgbm9tYnJlIGQnb2N0ZXRzIGFiYW5kb25uw6lzXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMTYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWluaW11bSBleHRlbnQgbGVuZ3RoIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIGxvbmd1ZXVyIMOpdGVuZHVlIG1pbmltYWxlIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzI5Cittc2dpZCAibm8gbW91bnRwb2ludCBzcGVjaWZpZWQiCittc2dzdHIgIkF1Y3VuIHBvaW50IGRlIG1vbnRhZ2UgaW5kaXF1w6kiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZSBkaXNjYXJkIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIlc8KgOiBs4oCZb3DDqXJhdGlvbiBk4oCZYWJhbmRvbiBu4oCZZXN0IHBhcyBwcmlzZSBlbiBjaGFyZ2UiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkFzc3VtaW5nIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gJXMgdGltZS5cbiIKK21zZ3N0ciAiTOKAmWhvcmxvZ2UgbWF0w6lyaWVsbGUgZXN0IHN1cHBvc8OpZSBjb25zZXJ2w6llIMOgIGzigJloZXVyZSAlcy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNDcgc3lzLXV0aWxzL2h3Y2xvY2suYzozMzQKK21zZ2lkICJVVEMiCittc2dzdHIgIlVUQyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNDcgc3lzLXV0aWxzL2h3Y2xvY2suYzozMzMKK21zZ2lkICJsb2NhbCIKK21zZ3N0ciAibG9jYWxlIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMxOAorbXNnaWQgIiIKKyJXYXJuaW5nOiB1bnJlY29nbml6ZWQgdGhpcmQgbGluZSBpbiBhZGp0aW1lIGZpbGVcbiIKKyIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pIgorbXNnc3RyICIiCisiQXZlcnRpc3NlbWVudMKgOiB0cm9pc2nDqG1lIGxpZ25lIG5vbiByZWNvbm51ZSBkYW5zIGxlIGZpY2hpZXIgZCdhanVzdGVtZW50IGRlIGwnaGV1cmVcbiIKKyIodmFsZXVycyBwb3NzaWJsZXPCoDogwqvCoFVUQ8KgwrssIMKrwqBMT0NBTMKgwrsgb3UgcmllbikuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMyNworIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGRyaWZ0IGFkanVzdG1lbnQgZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIkxlIGRlcm5pZXIgYWp1c3RlbWVudCBkZSBkw6lyaXZlIGEgw6l0w6kgZmFpdCAlbGTCoHNlY29uZGVzIGFwcsOocyAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgY2FsaWJyYXRpb24gZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIkxhIGRlcm5pw6hyZSBjYWxpYnJhdGlvbiBhIMOpdMOpIGZhaXRlICVsZMKgc2Vjb25kZXMgYXByw6hzIDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGFyZHdhcmUgY2xvY2sgaXMgb24gJXMgdGltZVxuIgorbXNnc3RyICJMJ2hvcmxvZ2UgbWF0w6lyaWVsbGUgZm9uY3Rpb25uZSBzZWxvbiBsZSB0ZW1wcyAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM1OAorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGZvciBjbG9jayB0aWNrLi4uXG4iCittc2dzdHIgIkVuIGF0dGVudGUgZCd1biB0aWMgZCdob3Jsb2dl4oCmXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnN5bmNocm9uaXphdGlvbiBmYWlsZWRcbiIKK21zZ3N0ciAi4oCmIMOpY2hlYyBkZSBzeW5jaHJvbmlzYXRpb25cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uZ290IGNsb2NrIHRpY2tcbiIKK21zZ3N0ciAi4oCmIGEgb2J0ZW51IHVuIHRpYyBkJ2hvcmxvZ2VcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZXMgaW4gaGFyZHdhcmUgY2xvY2s6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKK21zZ3N0ciAidmFsZXVycyBub24gdmFsYWJsZXMgZGFucyBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGXCoDogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJIdyBjbG9jayB0aW1lIDogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiSGV1cmUgZGUgbCdob3Jsb2dlIG1hdMOpcmllbGxlwqA6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAlbGTCoHNlY29uZGVzIGRlcHVpcyAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDY1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgcmVhZCBmcm9tIEhhcmR3YXJlIENsb2NrOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCittc2dzdHIgIkhldXJlIGx1ZSBkZSBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGXCoDogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIEhhcmR3YXJlIENsb2NrIHRvICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICJJbml0aWFsaXNlciBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGUgw6AgJS4yZDolLjJkOiUuMmQgPSAlbGTCoHNlY29uZGVzIGRlcHVpcyAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNsb2NrIG5vdCBjaGFuZ2VkIC0gdGVzdGluZyBvbmx5LlxuIgorbXNnc3RyICJIb3Jsb2dlIG4nZXN0IHBhcyBtb2RpZmnDqWUg4oCUIHRlc3Qgc2V1bGVtZW50LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYwMworIywgYy1mb3JtYXQKK21zZ2lkICJzbGVlcGluZyB+JWQgdXNlY1xuIgorbXNnc3RyICJlbiBzb21tZWlsIHBlbmRhbnQgfiVkwqDCtXNlY1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltZSBqdW1wZWQgYmFja3dhcmQgJS42ZiBzZWNvbmRzIHRvICVsZC4lMDZsZCAtIHJldGFyZ2V0aW5nXG4iCittc2dzdHIgInNhdXQgZGUgdGVtcHMgZW4gYXJyacOocmUgZGUgJS42ZsKgc2Vjb25kZXMgw6AgJWxkLiUwNmQg4oCUIHJlY2libGFnZVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWxkLiUwNmxkIDwgJWxkLiUwNmxkICglLjZmKVxuIgorbXNnc3RyICIlbGQuJTA2ZCA8ICVsZC4lMDZkICglLjZmKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibWlzc2VkIGl0IC0gJWxkLiUwNmxkIGlzIHRvbyBmYXIgcGFzdCAlbGQuJTA2bGQgKCUuNmYgPiAlLjZmKVxuIgorbXNnc3RyICJyYXTDqSDigJQgJWxkLiUwNmQgZXN0IHRyb3AgbG9pbiBhcHLDqHMgJWxkLiUwNmQgKCUuNmYgPiAlLjZmKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiVsZC4lMDZsZCBpcyBjbG9zZSBlbm91Z2ggdG8gJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyJTZXQgUlRDIHRvICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2bGQpXG4iCittc2dzdHIgIiIKKyIlbGQuJTA2ZCBlc3QgYXNzZXogcHLDqHMgZGUgJWxkLiUwNmQgKCUuNmYgPCAlLjZmKVxuIgorIkTDqWZpbml0aW9uIGRlIGzigJlob3Jsb2dlIG1hdMOpcmllbGxlIMOgICVsZCAoJWxkICsgJWTCoDsgcmVmc3lzdGltZSA9ICVsZC4lMDZkKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY4OAorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayByZWdpc3RlcnMgY29udGFpbiB2YWx1ZXMgdGhhdCBhcmUgZWl0aGVyIGludmFsaWQgKGUuZy4gNTB0aCBkYXkgb2YgbW9udGgpIG9yIGJleW9uZCB0aGUgcmFuZ2Ugd2UgY2FuIGhhbmRsZSAoZS5nLiBZZWFyIDIwOTUpLiIKK21zZ3N0ciAiTGVzIHJlZ2lzdHJlcyBkZSBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGUgY29udGllbm5lbnQgZGVzIHZhbGV1cnMgcXVpIHNvbnQgc29pdCBpbmNvcnJlY3RlcyAocGFyIGV4ZW1wbGUgNTBlIGpvdXIgZHUgbW9pcykgc29pdCBlbiBkZWhvcnMgZGUgbGEgcGxhZ2UgcG91dmFudCDDqnRyZSB0cmFpdMOpZSAocGFyIGV4ZW1wbGUgYW5uw6llIDIwOTUpLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MjgKK21zZ2lkICJObyAtLWRhdGUgb3B0aW9uIHNwZWNpZmllZC4iCittc2dzdHIgIkF1Y3VuZSBvcHRpb24gLS1kYXRlIGluZGlxdcOpZS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzM0Cittc2dpZCAiLS1kYXRlIGFyZ3VtZW50IHRvbyBsb25nIgorbXNnc3RyICJBcmd1bWVudCAtLWRhdGUgdHJvcCBsb25nIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc0MQorbXNnaWQgIiIKKyJUaGUgdmFsdWUgb2YgdGhlIC0tZGF0ZSBvcHRpb24gaXMgbm90IGEgdmFsaWQgZGF0ZS5cbiIKKyJJbiBwYXJ0aWN1bGFyLCBpdCBjb250YWlucyBxdW90YXRpb24gbWFya3MuIgorbXNnc3RyICIiCisiTGEgdmFsZXVyIGRlIGwnb3B0aW9uIC0tZGF0ZSBuJ2VzdCBwYXMgdW5lIGRhdGUgdmFsYWJsZS5cbiIKKyJFbiBwYXJ0aWN1bGllciwgZWxsZSBjb250aWVudCBkZXMgZ3VpbGxlbWV0cy4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIklzc3VpbmcgZGF0ZSBjb21tYW5kOiAlc1xuIgorbXNnc3RyICLDiW1pc3Npb24gZGUgbGEgY29tbWFuZGUgZGUgZGF0ZcKgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc1MworbXNnaWQgIlVuYWJsZSB0byBydW4gJ2RhdGUnIHByb2dyYW0gaW4gL2Jpbi9zaCBzaGVsbC4gcG9wZW4oKSBmYWlsZWQiCittc2dzdHIgIsOJY2hlYyBkZSBwb3BlbigpLCBpbXBvc3NpYmxlIGQnZXjDqWN1dGVyIMKrwqBkYXRlwqDCuyBkYW5zIGwnaW50ZXJwcsOpdGV1ciAvYmluL3NoIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc2MQorIywgYy1mb3JtYXQKK21zZ2lkICJyZXNwb25zZSBmcm9tIGRhdGUgY29tbWFuZCA9ICVzXG4iCittc2dzdHIgInLDqXBvbnNlIGRlIGxhIGNvbW1hbmRlIGRhdGUgPSAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc2MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgdW5leHBlY3RlZCByZXN1bHRzLlxuIgorIlRoZSBjb21tYW5kIHdhczpcbiIKKyIgICVzXG4iCisiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyIgICVzIgorbXNnc3RyICIiCisiTGEgY29tbWFuZGUgZGF0ZSBzb3VtaXNlIHBhciAlcyBhIHJlbnZvecOpIGRlcyByw6lzdWx0YXRzIGluYXR0ZW5kdXMuXG4iCisiTGEgY29tbWFuZGUgw6l0YWl0wqA6XG4iCisiICAlc1xuIgorIkxlIHLDqXN1bHRhdCBlc3TCoDpcbiIKKyIgICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc3NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgc29tZXRoaW5nIG90aGVyIHRoYW4gYW4gaW50ZWdlciB3aGVyZSB0aGUgY29udmVydGVkIHRpbWUgdmFsdWUgd2FzIGV4cGVjdGVkLlxuIgorIlRoZSBjb21tYW5kIHdhczpcbiIKKyIgICVzXG4iCisiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyIgJXNcbiIKK21zZ3N0ciAiIgorIkxhIGNvbW1hbmRlIGRhdGUgc291bWlzZSBwYXIgJXMgYSByZW52b3nDqSBxdWVscXVlIGNob3NlIGQnYXV0cmUgcXUndW5cbiIKKyJlbnRpZXIgYWxvcnMgcXVlIGRlcyB2YWxldXJzIGRlIHRlbXBzIGNvbnZlcnRpZXMgw6l0YWllbnQgYXR0ZW5kdWVzLlxuIgorIkxhIGNvbW1hbmRlIMOpdGFpdMKgOlxuIgorIiAgJXNcbiIKKyJMZSByw6lzdWx0YXQgZXN0wqA6XG4iCisiICAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc4NgorIywgYy1mb3JtYXQKK21zZ2lkICJkYXRlIHN0cmluZyAlcyBlcXVhdGVzIHRvICVsZCBzZWNvbmRzIHNpbmNlIDE5NjkuXG4iCittc2dzdHIgImxhIGNoYcOubmUgZGUgZGF0ZSAlcyDDqXF1aXZhdXQgw6AgJWxkIHNlY29uZGVzIGRlcHVpcyAxOTY5LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgyNAorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IHNldCB0aGUgU3lzdGVtIFRpbWUgZnJvbSBpdC4iCittc2dzdHIgIkwnaG9ybG9nZSBtYXTDqXJpZWxsZSBuZSBjb250aWVudCBwYXMgZCdoZXVyZSB2YWxhYmxlLCBlbGxlIG5lIHBlcm1ldCBkb25jIHBhcyBkJ2luaXRpYWxpc2VyIGwnaGV1cmUgZHUgc3lzdMOobWUuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg0MyBzeXMtdXRpbHMvaHdjbG9jay5jOjkzMAorIywgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheTpcbiIKK21zZ3N0ciAiQXBwZWwgZGUgc2V0dGltZW9mZGF5wqA6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQ0IHN5cy11dGlscy9od2Nsb2NrLmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCittc2dzdHIgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQ2IHN5cy11dGlscy9od2Nsb2NrLmM6OTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorbXNnc3RyICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTAgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgc3lzdGVtIGNsb2NrIGJlY2F1c2UgcnVubmluZyBpbiB0ZXN0IG1vZGUuXG4iCittc2dzdHIgIk5lIHBldXQgaW5pdGlhbGlzZXIgbCdob3Jsb2dlIHN5c3TDqG1lIHBhcmNlIHF1ZSBsZSBwcm9ncmFtbWUgdG91cm5lIGVuIG1vZGUgdGVzdC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NjYgc3lzLXV0aWxzL2h3Y2xvY2suYzo5NjIKK21zZ2lkICJNdXN0IGJlIHN1cGVydXNlciB0byBzZXQgc3lzdGVtIGNsb2NrLiIKK21zZ3N0ciAiU2V1bCBsZSBzdXBlcnV0aWxpc2F0ZXVyIHBldXQgaW5pdGlhbGlzZXIgbCdob3Jsb2dlIHN5c3TDqG1lLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4Njkgc3lzLXV0aWxzL2h3Y2xvY2suYzo5NjUKK21zZ2lkICJzZXR0aW1lb2ZkYXkoKSBmYWlsZWQiCittc2dzdHIgIsOJY2hlYyBkZSBzZXR0aW1lb2ZkYXkoKSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3VycmVudCBzeXN0ZW0gdGltZTogJWxkID0gJXNcbiIKK21zZ3N0ciAiSGV1cmUgYWN0dWVsbGUgZHUgc3lzdMOobWXCoDogJWxkID0gJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHRVVEM6ICVzXG4iCittc2dzdHIgIlx0VVRDwqA6ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIC0tdXBkYXRlLWRyaWZ0IG9wdGlvbiB3YXMgbm90IHVzZWQuXG4iCittc2dzdHIgIlBhcyBkJ2FqdXN0ZW1lbnQgZHUgZmFjdGV1ciBkZSBkw6lyaXZlIHBhcmNlIGzigJlvcHRpb24gLS11cGRhdGUtZHJpZnQgbuKAmcOpdGFpdCBwYXMgdXRpbGlzw6llLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgSGFyZHdhcmUgQ2xvY2sgcHJldmlvdXNseSBjb250YWluZWQgZ2FyYmFnZS5cbiIKK21zZ3N0ciAiUGFzIGQnYWp1c3RlbWVudCBkdSBmYWN0ZXVyIGRlIGTDqXJpdmUgcGFyY2UgbCdob3Jsb2dlIG1hdMOpcmllbGxlIGNvbnRpZW50IGTDqWrDoCBkZXMgZG9ubsOpZXMgY29ycm9tcHVlcy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGxhc3QgY2FsaWJyYXRpb24gdGltZSBpcyB6ZXJvLFxuIgorInNvIGhpc3RvcnkgaXMgYmFkIGFuZCBjYWxpYnJhdGlvbiBzdGFydG92ZXIgaXMgbmVjZXNzYXJ5LlxuIgorbXNnc3RyICIiCisiUGFzIGQnYWp1c3RlbWVudCBkdSBmYWN0ZXVyIGRlIGTDqXJpdmUgcGFyY2UgbGUgZGVybmllciBkZSB0ZW1wcyBkZSBjYWxpYnJhdGlvbiBpbmRpcXVlIHrDqXJvLlxuIgorIkwnaGlzdG9yaXF1ZSDDqXRhbnQgZXJyb27DqSB1bmUgcmVjYWxpYnJhdGlvbiBlc3QgbsOpY2Vzc2FpcmUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAxMQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGl0IGhhcyBiZWVuIGxlc3MgdGhhbiBmb3VyIGhvdXJzIHNpbmNlIHRoZSBsYXN0IGNhbGlicmF0aW9uLlxuIgorbXNnc3RyICJQYXMgZCdhanVzdGVtZW50IGR1IGZhY3RldXIgZGUgZMOpcml2ZSBwYXJjZSBxdWUgbW9pbnMgZGUgcXVhdHJlIGhldXJlcyBzZSBzb250IMOpY291bMOpZXMgZGVwdWlzIGxhIGRlcm5pw6hyZSBjYWxpYnJhdGlvbi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdCBmYWN0b3Igd2FzIGNhbGN1bGF0ZWQgYXMgJWYgc2Vjb25kcy9kYXkuXG4iCisiSXQgaXMgZmFyIHRvbyBtdWNoLiBSZXNldHRpbmcgdG8gemVyby5cbiIKK21zZ3N0ciAiIgorIkxlIGZhY3RldXIgZGUgZMOpcml2ZSBkZSBs4oCZaG9ybG9nZSDDqXRhaXQgY2FsY3Vsw6kgw6AgJWbCoHNlY29uZGVzL2pvdXIuXG4iCisiQ+KAmWVzdCBiZWF1Y291cCB0cm9wLiBSw6lpbml0aWFsaXNhdGlvbiDDoCB6w6lyby5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnRlZCAlZiBzZWNvbmRzIGluIHRoZSBwYXN0ICVmIHNlY29uZHNcbiIKKyJpbiBzcGl0ZSBvZiBhIGRyaWZ0IGZhY3RvciBvZiAlZiBzZWNvbmRzL2RheS5cbiIKKyJBZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJ5ICVmIHNlY29uZHMvZGF5XG4iCittc2dzdHIgIiIKKyJMJ2hvcmxvZ2UgYSBkw6lyaXbDqSBkZSAlLjFmwqBzZWNvbmRlcyBwZW5kYW50IGxlcyBkZXJuacOocmVzXG4iCisiJS4xZsKgc2Vjb25kZXMgbWFsZ3LDqSB1biBmYWN0ZXVyIGRlIGTDqXJpdmUgZGUgJWbCoHNlY29uZGVzL2pvdXIuXG4iCisiQWp1c3RlbWVudCBkdSBmYWN0ZXVyIGRlIGTDqXJpdmUgZGUgJWbCoHNlY29uZGVzL2pvdXJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVkIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlZCBzZWNvbmRzXG4iCittc2dzdHJbMF0gIkwnaGV1cmUgZGVwdWlzIGxlIGRlcm5pZXIgYWp1c3RlbWVudCBlc3QgZGUgJWTCoHNlY29uZGVcbiIKK21zZ3N0clsxXSAiTCdoZXVyZSBkZXB1aXMgbGUgZGVybmllciBhanVzdGVtZW50IGVzdCBkZSAlZMKgc2Vjb25kZXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYWxjdWxhdGVkIEhhcmR3YXJlIENsb2NrIGRyaWZ0IGlzICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIkxhIGTDqXJpdmUgY2FsY3Vsw6llIGRlIGzigJlob3Jsb2dlIG1hdMOpcmllbGxlIGVzdCBkZSAlbGQuJTA2ZMKgc2Vjb25kZXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTMzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCB1cGRhdGluZyBhZGp0aW1lIGZpbGUgYmVjYXVzZSBvZiB0ZXN0aW5nIG1vZGUuXG4iCittc2dzdHIgIlBhcyBkZSBtaXNlIMOgIGpvdXIgZHUgZmljaGllciBkZSB0ZW1wcyBkJ2FqdXN0ZW1lbnQgZW4gcmFpc29uIGR1IG1vZGUgdGVzdC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXb3VsZCBoYXZlIHdyaXR0ZW4gdGhlIGZvbGxvd2luZyB0byAlczpcbiIKKyIlcyIKK21zZ3N0ciAiIgorIkRldnJhaXQgYXZvaXIgw6ljcml0IGNlIHF1aSBzdWl0IGRhbnMgJXPCoDpcbiIKKyIlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIGluIGl0ICglcykgZm9yIHdyaXRpbmciCittc2dzdHIgIkltcG9zc2libGUgZCdvdXZyaXIgbGUgZmljaGllciBlbiDDqWNyaXR1cmUgZW4gYWp1c3RhbnQgbGVzIHBhcmFtw6h0cmVzIGQnaGV1cmUgKCVzKSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTQ5IHN5cy11dGlscy9od2Nsb2NrLmM6MTE1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgdXBkYXRlIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzICglcykgaW4gaXQiCittc2dzdHIgIkltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgbGUgZmljaGllciBlbiBhanVzdGFudCBsZXMgcGFyYW3DqHRyZXMgZCdoZXVyZSAoJXMpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNjQKK21zZ2lkICJEcmlmdCBhZGp1c3RtZW50IHBhcmFtZXRlcnMgbm90IHVwZGF0ZWQuIgorbXNnc3RyICJQYXJhbcOodHJlcyBkJ2FqdXN0ZW1lbnQgZGUgZMOpcml2ZSBub24gbWlzIMOgIGpvdXIuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMDAKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBhZGp1c3QgaXQuIgorbXNnc3RyICJMJ2hvcmxvZ2UgbWF0w6lyaWVsbGUgbmUgY29udGllbnQgcGFzIGQnaGV1cmUgdmFsYWJsZSwgZWxsZSBuJ2VzdCBkb25jIHBhcyByw6lnbGFibGUuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBsYXN0IGFkanVzdG1lbnQgdGltZSBpcyB6ZXJvLCBzbyBoaXN0b3J5IGlzIGJhZC5cbiIKK21zZ3N0ciAiSGV1cmUgbm9uIG1vZGlmacOpZSBjYXIgbGUgZGVybmllciB0ZW1wcyBkZSBjYWxpYnJhdGlvbiBlc3QgesOpcm8sIGRvbmMgbWF1dmFpcyBoaXN0b3JpcXVlLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBkcmlmdCBmYWN0b3IgJWYgaXMgZmFyIHRvbyBoaWdoLlxuIgorbXNnc3RyICJIZXVyZSBub24gbW9kaWZpw6llIGNhciBsZSBmYWN0ZXVyIGRlIGTDqXJpdmUgJWYgZXN0IGJlYXVjb3VwIHRyb3AgZ3JhbmQuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJObyB1c2FibGUgY2xvY2sgaW50ZXJmYWNlIGZvdW5kLlxuIgorbXNnc3RyICJBdWN1bmUgaW50ZXJmYWNlIGQnaG9ybG9nZSB1dGlsaXNhYmxlIG4nYSDDqXTDqSByZXDDqXLDqWUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJOZWVkZWQgYWRqdXN0bWVudCBpcyBsZXNzIHRoYW4gb25lIHNlY29uZCwgc28gbm90IHNldHRpbmcgY2xvY2suXG4iCittc2dzdHIgIkwnYWp1c3RlbWVudCByZXF1aXMgZXN0IGluZsOpcmlldXIgw6AgdW5lIHNlY29uZGUsIHBhcyBkJ2luaXRpYWxpc2F0aW9uIGRlIGwnaG9ybG9nZS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzg4IHN5cy11dGlscy9od2Nsb2NrLmM6MTM5NAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gc2V0IHN5c3RlbSBjbG9jay5cbiIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkJ2luaXRpYWxpc2VyIGwnaG9ybG9nZSBzeXN0w6htZS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjksIFJUQyBpcyBwcmVkaWN0ZWQgdG8gcmVhZCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LlxuIgorbXNnc3RyICIlbGQgc2Vjb25kZXMgYXByw6hzIDE5NjksIGwnaG9ybG9nZSBtYXTDqXJpZWxsZSBlc3Qgc3VwcG9zw6kgbGlyZSAlbGTCoHNlY29uZGVzIGFwcsOocyAxOTY5LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0MzEKK21zZ2lkICIiCisiVGhlIGtlcm5lbCBrZWVwcyBhbiBlcG9jaCB2YWx1ZSBmb3IgdGhlIEhhcmR3YXJlIENsb2NrIG9ubHkgb24gYW4gQWxwaGEgbWFjaGluZS5cbiIKKyJUaGlzIGNvcHkgb2YgaHdjbG9jayB3YXMgYnVpbHQgZm9yIGEgbWFjaGluZSBvdGhlciB0aGFuIEFscGhhXG4iCisiKGFuZCB0aHVzIGlzIHByZXN1bWFibHkgbm90IHJ1bm5pbmcgb24gYW4gQWxwaGEgbm93KS4gIE5vIGFjdGlvbiB0YWtlbi4iCittc2dzdHIgIiIKKyJMZSBub3lhdSBjb25zZXJ2ZSB1bmUgdmFsZXVyIMKrwqBlcG9jaMKgwrsgcG91ciBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGUgdW5pcXVlbWVudCBzdXJcbiIKKyJsZXMgbWFjaGluZXMgQWxwaGEuIENldHRlIGNvcGllIGRlIGwnaG9ybG9nZSBtYXTDqXJpZWxsZSBhIMOpdMOpIHByw6l2dWUgcG91ciB1bmVcbiIKKyJtYWNoaW5lIGQndW4gYXV0cmUgdHlwZSBxdWUgQWxwaGEgKGV0IG5lIHRvdXJuYW50IHByb2JhYmxlbWVudCBkb25jIHBhcyBzdXIgdW5cbiIKKyJBbHBoYSBtYWludGVuYW50KS4gQXVjdW5lIGFjdGlvbiBuJ2Egw6l0w6kgZXjDqWN1dMOpZS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ0OAorbXNnaWQgIlVuYWJsZSB0byBnZXQgdGhlIGVwb2NoIHZhbHVlIGZyb20gdGhlIGtlcm5lbC4iCittc2dzdHIgIkltcG9zc2libGUgZCdvYnRlbmlyIGxhIHZhbGV1ciDCq8KgZXBvY2jCoMK7IMOgIHBhcnRpciBkdSBub3lhdS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgaXMgYXNzdW1pbmcgYW4gZXBvY2ggdmFsdWUgb2YgJWx1XG4iCittc2dzdHIgIkxlIG5veWF1IHN1cHBvc2UgdW5lIHZhbGV1ciDCq8KgZXBvY2jCoMK7IGRlICVsdVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NTUKK21zZ2lkICJUbyBzZXQgdGhlIGVwb2NoIHZhbHVlLCB5b3UgbXVzdCB1c2UgdGhlICdlcG9jaCcgb3B0aW9uIHRvIHRlbGwgdG8gd2hhdCB2YWx1ZSB0byBzZXQgaXQuIgorbXNnc3RyICJQb3VyIGluaXRpYWxpc2VyIGxhIHZhbGV1ciDCq8KgZXBvY2jCoMK7LCB2b3VzIGRldmV6IHV0aWxpc2VyIGwnb3B0aW9uIMKrwqBlcG9jaMKgwrsgcG91ciB5IG1ldHRyZSBsYSB2YWxldXIgdm91bHVlLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyB0aGUgZXBvY2ggdG8gJWx1IC0gdGVzdGluZyBvbmx5LlxuIgorbXNnc3RyICJMYSB2YWxldXIgwqvCoGVwb2NowqDCuyBuJ2VzdCBwYXMgY29uZmlndXLDqWUgw6AgJWQg4oCUIHRlc3Qgc2V1bGVtZW50LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIHNldCB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbC5cbiIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkJ2luaXRpYWxpc2VyIGxhIHZhbGV1ciDCq8KgZXBvY2jCoMK7IGRhbnMgbGUgbm95YXUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU1NgorbXNnaWQgIiBod2Nsb2NrIFtmdW5jdGlvbl0gW29wdGlvbi4uLl1cbiIKK21zZ3N0ciAiIGh3Y2xvY2sgW2ZvbmN0aW9uXSBbb3B0aW9uLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NTkKK21zZ2lkICJRdWVyeSBvciBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrLlxuIgorbXNnc3RyICJJbnRlcnJvZ2VyIG91IGFqdXN0ZXIgbCdob3Jsb2dlIG1hdMOpcmllbGxlLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjEKK21zZ2lkICIiCisiXG4iCisiRnVuY3Rpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiRm9uY3Rpb25zwqA6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2MgorbXNnaWQgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorIiAtciwgLS1zaG93ICAgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCByZXN1bHRcbiIKKyIgICAgIC0tZ2V0ICAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgZHJpZnQgY29ycmVjdGVkIHJlc3VsdFxuIgorIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorbXNnc3RyICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgIGFmZmljaGVyIGNldHRlIGFpZGUgZXQgcXVpdHRlclxuIgorIiAtciwgLS1zaG93ICAgICAgICAgICBsaXJlIGzigJloZXVyZSBtYXTDqXJpZWxsZSBhZmZpY2hlciBsZSByw6lzdWx0YXRcbiIKKyIgICAgIC0tZ2V0ICAgICAgICAgICAgbGlyZSBs4oCZaGV1cmUgbWF0w6lyaWVsbGUgYWZmaWNoZXIgbGUgcsOpc3VsdGF0IGRlIGTDqXJpdmUgY29ycmlnw6llXG4iCisiICAgICAtLXNldCAgICAgICAgICAgIGNvbmZpZ3VyZXIgbOKAmWhvcmxvZ2UgbWF0w6lyaWVsbGUgw6AgbCdoZXVyZSBkb25uw6llIHBhciBsJ29wdGlvbiAtLWRhdGVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTY2Cittc2dpZCAiIgorIiAtcywgLS1oY3Rvc3lzICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisiIC13LCAtLXN5c3RvaGMgICAgICAgIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgZnJvbSB0aGUgY3VycmVudCBzeXN0ZW0gdGltZVxuIgorIiAgICAgLS1zeXN0eiAgICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRpbWV6b25lXG4iCisiICAgICAtLWFkanVzdCAgICAgICAgIGFkanVzdCB0aGUgUlRDIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgc2luY2VcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY2xvY2sgd2FzIGxhc3Qgc2V0IG9yIGFkanVzdGVkXG4iCittc2dzdHIgIiIKKyIgLXMsIC0taGN0b3N5cyAgICAgICAgcsOpZ2xlciBsJ2hldXJlIHN5c3TDqG1lIMOgIHBhcnRpciBkZSBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGVcbiIKKyIgLXcsIC0tc3lzdG9oYyAgICAgICAgcsOpZ2xlciBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGUgw6AgbCdoZXVyZSBhY3R1ZWxsZSBkdSBzeXN0w6htZVxuIgorIiAgICAgLS1zeXN0eiAgICAgICAgICByw6lnbGVyIGwnaGV1cmUgc3lzdMOobWUgc3VyIGxhIHpvbmUgZGUgdGVtcHMgYWN0dWVsbGVcbiIKKyIgICAgIC0tYWRqdXN0ICAgICAgICAgYWp1c3RlciBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGUgZW4gdGVuYW50IGNvbXB0ZSBkZSBsYVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGTDqXJpdmUgc3lzdMOpbWF0aXF1ZSBkZXB1aXMgbGUgZGVybmllciByw6lnbGFnZVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NzEKK21zZ2lkICIgLWMsIC0tY29tcGFyZSAgICAgICAgcGVyaW9kaWNhbGx5IGNvbXBhcmUgdGhlIHN5c3RlbSBjbG9jayB3aXRoIHRoZSBDTU9TIGNsb2NrXG4iCittc2dzdHIgIiIKKyIgLWMsIC0tY29tcGFyZSAgICAgICAgY29tcGFyZXIgcMOpcmlvZGlxdWVtZW50IGwnaG9ybG9nZSBzeXN0w6htZSBhdmVjXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgbCdob3Jsb2dlIENNT1NcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTczCittc2dpZCAiIgorIiAgICAgLS1nZXRlcG9jaCAgICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisiICAgICAtLXNldGVwb2NoICAgICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGdpdmVuIHdpdGggLS1lcG9jaFxuIgorbXNnc3RyICIiCisiICAgICAtLWdldGVwb2NoICAgICAgIGFmZmljaGVyIGxhIHZhbGV1ciDCq8KgZXBvY2jCoMK7IGR1IG5veWF1IHBvdXJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGVcbiIKKyIgICAgIC0tc2V0ZXBvY2ggICAgICAgY29uZmlndXJlciBsYSB2YWxldXIgwqvCoGVwb2NowqDCuyBkZSBsJ2hvcmxvZ2VcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBtYXTDqXJpZWxsZSBkdSBub3lhdSDDoCBsYSB2YWxldXIgZG9ubsOpZSBwYXIgLS1lcG9jaFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NzcKK21zZ2lkICIiCisiICAgICAtLXByZWRpY3QgICAgICAgIHByZWRpY3QgUlRDIHJlYWRpbmcgYXQgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcsOpZGlyZSBsYSBsZWN0dXJlIGQnaG9ybG9nZSBtYXTDqXJpZWxsZSDDoCBsJ2hldXJlIGRvbm7DqWUgcGFyIC0tZGF0ZVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICBhZmZpY2hlciBsZXMgaW5mb3JtYXRpb25zIGRlIHZlcnNpb24gZXQgcXVpdHRlclxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODEKK21zZ2lkICIiCisiIC11LCAtLXV0YyAgICAgICAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIFVUQ1xuIgorIiAgICAgLS1sb2NhbHRpbWUgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBsb2NhbCB0aW1lXG4iCittc2dzdHIgIiIKKyIgLXUsIC0tdXRjICAgICAgICAgICAgbCdob3Jsb2dlIG1hdMOpcmllbGxlIGVzdCBjb25zZXJ2w6llIGF1IGZvcm1hdCBVVENcbiIKKyIgICAgIC0tbG9jYWx0aW1lICAgICAgbCdob3Jsb2dlIG1hdMOpcmllbGxlIGVzdCBjb25zZXJ2w6llIGF1IGZvcm1hdCBsb2NhbFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODQKK21zZ2lkICIgLWYsIC0tcnRjIDxmaWxlPiAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIKK21zZ3N0ciAiIC1mLCAtLXJ0YyA8ZmljaGllcj4gIHV0aWxpc2VyIGxlIGZpY2hpZXIgc3DDqWNpYWwgL2Rldi8uLi4gYXUgbGlldSBkZSBjZWx1aSBwYXIgZMOpZmF1dFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1kaXJlY3Rpc2EgICAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorIiAgICAgLS1iYWR5ZWFyICAgICAgICBpZ25vcmUgUlRDJ3MgeWVhciBiZWNhdXNlIHRoZSBCSU9TIGlzIGJyb2tlblxuIgorIiAgICAgLS1kYXRlIDx0aW1lPiAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorIiAgICAgLS1lcG9jaCA8eWVhcj4gICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBoYXJkd2FyZSBjbG9jaydzIGVwb2NoIHZhbHVlXG4iCittc2dzdHIgIiIKKyIgICAgIC0tZGlyZWN0aXNhICAgICAgYWNjw6lkZXIgZGlyZWN0ZW1lbnQgYXUgYnVzIElTQSBhdSBsaWV1IGRlICVzXG4iCisiICAgICAtLWJhZHllYXIgICAgICAgIGlnbm9yZXIgbCdhbm7DqWUgZG9ubsOpZSBwYXIgbCdob3Jsb2dlIG1hdMOpcmllbGxlIChwcm9ibMOobWUgZGUgQklPUylcbiIKKyIgICAgIC0tZGF0ZSA8aGV1cmU+ICAgaW5kaXF1ZXIgbCdoZXVyZSBwb3VyIHLDqWdsZXIgbCdob3Jsb2dlIG1hdMOpcmllbGxlXG4iCisiICAgICAtLWVwb2NoIDxhbm7DqWU+ICBpbmRpcXVlciBsJ2FubsOpZSBjb3JyZXNwb25kYW50IMOgIGxhIHZhbGV1clxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGRlIGTDqXBhcnQgwqvCoGVwb2NowqDCuyBkZSBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIGRyaWZ0IGZhY3RvciBpbiAlMSRzIChyZXF1aXJlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIC0tc2V0IG9yIC0tc3lzdG9oYylcbiIKKyIgICAgIC0tbm9hZGpmaWxlICAgICAgZG8gbm90IGFjY2VzcyAlMSRzOyB0aGlzIHJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWVcbiIKKyIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlMSRzXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgbWV0dHJlIMOgIGpvdXIgbGUgZmFjdGV1ciBkZSBkw6lyaXZlIGVuICUxJHNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAobsOpY2Vzc2l0ZSAtLXNldCBvdSAtLXN5c3RvaGMpXG4iCisiICAgICAtLW5vYWRqZmlsZSAgICAgIG5lIHBhcyBhY2PDqWRlciDDoCAlMSRzIChuw6ljZXNzaXRlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgbCd1dGlsaXNhdGlvbiBkZSAtLXV0YyBvdSBkZSAtLWxvY2FsdGltZSlcbiIKKyIgICAgIC0tYWRqZmlsZSA8Y2hlbT4gIGluZGlxdWVyIGxlIGNoZW1pbiBkdSBmaWNoaWVyIGRlIHLDqWdsYWdlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgKCUxJHMgcGFyIGTDqWZhdXQpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU5OQorbXNnaWQgIiIKKyIgICAgIC0tdGVzdCAgICAgICAgICAgZG8gbm90IHVwZGF0ZSBhbnl0aGluZywganVzdCBzaG93IHdoYXQgd291bGQgaGFwcGVuXG4iCisiIC1ELCAtLWRlYnVnICAgICAgICAgIGRlYnVnZ2luZyBtb2RlXG4iCisiXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGVzdCAgICAgICAgICAgbmUgcmllbiBtZXR0cmUgw6Agam91ciwgbW9udHJlciBzZXVsZW1lbnQgY2UgcXVpIGFycml2ZXJhaXRcbiIKKyIgLUQsIC0tZGVidWcgICAgICAgICAgbW9kZSBkZSBkw6lib2dhZ2VcbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNjAyCittc2dpZCAiIgorIiAtSnwtLWplbnNlbiwgLUF8LS1hcmMsIC1TfC0tc3JtLCAtRnwtLWZ1bmt5LXRveVxuIgorIiAgICAgIHRlbGwgaHdjbG9jayB0aGUgdHlwZSBvZiBBbHBoYSB5b3UgaGF2ZSAoc2VlIGh3Y2xvY2soOCkpXG4iCisiXG4iCittc2dzdHIgIiIKKyIgIC1KfC0tamVuc2VuLCAtQXwtLWFyYywgLVN8LS1zcm0sIC1GfC0tZnVua3ktdG95XG4iCisiICAgICAgIGluZGlxdWUgw6AgaHdjbG9jayBsZSB0eXBlIGQnQWxwaGEgdXRpbGlzw6kgKGNvbnN1bHRleiBod2Nsb2NrKDgpKVxuIgorIlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE3MjgKK21zZ2lkICJVbmFibGUgdG8gY29ubmVjdCB0byBhdWRpdCBzeXN0ZW0iCittc2dzdHIgIkltcG9zc2libGUgZGUgc2UgY29ubmVjdGVyIGF1IHN5c3TDqG1lIGQnYXVkaXQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTgyNgorbXNnaWQgImludmFsaWQgZXBvY2ggYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50IMKrwqBlcG9jaMKgwrsgaW5jb3JyZWN0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdGFrZXMgbm8gbm9uLW9wdGlvbiBhcmd1bWVudHMuICBZb3Ugc3VwcGxpZWQgJWQuXG4iCittc2dzdHIgIiVzIG5lIHBldXQgcGFzIHByZW5kcmUgZGVzIGFyZ3VtZW50cyBkJ29wdGlvbnMgcXVpIG4nZW4gc29udCBwYXMuIFZvdXMgYXZleiBmb3VybmkgJWQuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTg4MAorbXNnaWQgIldpdGggLS1ub2FkamZpbGUsIHlvdSBtdXN0IHNwZWNpZnkgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lIgorbXNnc3RyICJBdmVjIC0tbm9hZGpmaWxlLCB2b3VzIGRldmV6IHNvaXQgaW5kaXF1ZXIgLS11dGMsIHNvaXQgLS1sb2NhbHRpbWUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTg5MworbXNnaWQgIk5vIHVzYWJsZSBzZXQtdG8gdGltZS4gIENhbm5vdCBzZXQgY2xvY2suIgorbXNnc3RyICJQYXMgZGUgbWlzZSDDoCBsJ2hldXJlIHV0aWxpc2FibGUuIEltcG9zc2libGUgZGUgY29uZmlndXJlciBsJ2hvcmxvZ2UuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE5MTcKK21zZ2lkICJDYW5ub3QgYWNjZXNzIHRoZSBIYXJkd2FyZSBDbG9jayB2aWEgYW55IGtub3duIG1ldGhvZC4iCittc2dzdHIgIkltcG9zc2libGUgZCdhY2PDqWRlciDDoCBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGUgw6AgbCdhaWRlIGQndW5lIG3DqXRob2RlIGNvbm51ZS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTkyMAorbXNnaWQgIlVzZSB0aGUgLS1kZWJ1ZyBvcHRpb24gdG8gc2VlIHRoZSBkZXRhaWxzIG9mIG91ciBzZWFyY2ggZm9yIGFuIGFjY2VzcyBtZXRob2QuIgorbXNnc3RyICJVdGlsaXNlciBsJ29wdGlvbiAtLWRlYnVnIHBvdXIgcGx1cyBkZSBwcsOpY2lzaW9ucyBzdXIgbGEgcmVjaGVyY2hlIGQndW5lIG3DqXRob2RlIGNvbm51ZS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYm9vdGVkIGZyb20gTUlMT1xuIgorbXNnc3RyICJhbW9yY8OpIMOgIHBhcnRpciBkZSBNSUxPXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUnVmZmlhbiBCQ0QgY2xvY2tcbiIKK21zZ3N0ciAiSG9ybG9nZSBSdWZmaWFuIEJDRFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb2NrcG9ydCBhZGp1c3RlZCB0byAweCV4XG4iCittc2dzdHIgImxlIHBvcnQgZCdob3Jsb2dlIGEgw6l0w6kgYWp1c3TDqSDDoCAweCV4XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnVua3kgVE9ZIVxuIgorbXNnc3RyICJ0ZW1wcyBkZSBsJ2FubsOpZSBiaXphcnJlLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mjk4CisjLCBjLWZvcm1hdAorbXNnaWQgImF0b21pYyAlcyBmYWlsZWQgZm9yIDEwMDAgaXRlcmF0aW9ucyEiCittc2dzdHIgImF0b21pYyAlcyBhIMOpY2hvdcOpIHBvdXIgMTAwMMKgaXTDqXJhdGlvbnMuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3NfcmVhZCgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICJjbW9zX3JlYWQoKcKgOiDDqWNoZWMgZGUgbGVjdHVyZSBkZSBsYSB2YWxldXIgZGUgY29udHLDtGxlIMOgIGwnYWRyZXNzZSAlWCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjMyOAorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3JlYWQoKTogcmVhZCBmcm9tIGRhdGEgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgImNtb3NfcmVhZCgpwqA6IMOpY2hlYyBkZSBsZWN0dXJlIGRlIGRvbm7DqWVzIMOgIGwnYWRyZXNzZSAlWCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3dyaXRlKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgImNtb3NfcmVhZCgpwqA6IMOpY2hlYyBkJ8OpY3JpdHVyZSBkZSBsYSB2YWxldXIgZGUgY29udHLDtGxlIMOgIGwnYWRyZXNzZSAlWCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3dyaXRlKCk6IHdyaXRlIHRvIGRhdGEgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgImNtb3NfcmVhZCgpwqA6IMOpY2hlYyBkJ8OpY3JpdHVyZSBkZSBkb25uw6llcyDDoCBsJ2FkcmVzc2UgJVgiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NDUKK21zZ2lkICJJIGZhaWxlZCB0byBnZXQgcGVybWlzc2lvbiBiZWNhdXNlIEkgZGlkbid0IHRyeS4iCittc2dzdHIgIsOJY2hlYyBkJ29idGVudGlvbiBkZXMgZHJvaXRzIGNhciBhdWN1biBlc3NhaSBuJ2Egw6l0w6kgdGVudMOpLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY0OAorbXNnaWQgInVuYWJsZSB0byBnZXQgSS9PIHBvcnQgYWNjZXNzOiAgdGhlIGlvcGwoMykgY2FsbCBmYWlsZWQuIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnb2J0ZW5pciB1biBwb3J0IGQnYWNjw6hzIGQnRS9TwqA6IGwnYXBwZWwgw6AgaW9wbCgzKSBhIMOpY2hvdcOpLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY1MQorbXNnaWQgIlByb2JhYmx5IHlvdSBuZWVkIHJvb3QgcHJpdmlsZWdlcy5cbiIKK21zZ3N0ciAiTGVzIHByaXZpbMOoZ2VzIGR1IHN1cGVydXRpbGlzYXRldXIgc29udCBwcm9iYWJsZW1lbnQgbsOpY2Vzc2FpcmUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NTgKK21zZ2lkICJVc2luZyBkaXJlY3QgSS9PIGluc3RydWN0aW9ucyB0byBJU0EgY2xvY2suIgorbXNnc3RyICJVdGlsaXNhdGlvbiBk4oCZaW5zdHJ1Y3Rpb25zIGTigJlFL1MgZGlyZWN0ZXMgcG91ciBs4oCZaG9ybG9nZSBJU0EuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHJlYWQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICLDiWNoZWMgZCdpb2N0bCglcykgdmVycyAlcyBsb3JzIGRlIGxhIGxlY3R1cmUgZGUgbCdoZXVyZSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tICVzIHRvIGNoYW5nZVxuIgorbXNnc3RyICJBdHRlbnRlIGRhbnMgdW4gYm91Y2xlIHBvdXIgcXVlIGxlIHRlbXBzICVzIHNlIG1vZGlmaWVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjM2Cittc2dpZCAiVGltZWQgb3V0IHdhaXRpbmcgZm9yIHRpbWUgY2hhbmdlLiIKK21zZ3N0ciAiRXhwaXJhdGlvbiBkZSBsYSBtaW51dGVyaWUgbG9ycyBkZSBsJ2F0dGVudGUgZHUgY2hhbmdlbWVudCBkZSBsJ2hldXJlLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRvZXMgbm90IGhhdmUgaW50ZXJydXB0IGZ1bmN0aW9ucy4gIgorbXNnc3RyICIlcyBuJ2EgcGFzIGRlIGZvbmN0aW9uIGQnaW50ZXJydXB0aW9uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCittc2dzdHIgIsOJY2hlYyBkZSBzZWxlY3QoKSBkZSAlcyBlbiBhdHRlbnRlIGQndW4gdGljIGQnaG9ybG9nZSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgdGltZWQgb3V0IgorbXNnc3RyICJzZWxlY3QoKSBkZSAlcyBkb250IGwnYXR0ZW50ZSBkJ3VuIHRpYyBkJ2hvcmxvZ2UgYSBleHBpcsOpIGxlIGTDqWxhaSBkZSBsYSBtaW51dGVyaWUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb2ZmIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCIKK21zZ3N0ciAiw4ljaGVjIGQnaW9jdGwoKSBkZSAlcyBwb3VyIGFycsOqdGVyIGxlcyBtaXNlcyDDoCBqb3VyIHBhciBpbnRlcnJ1cHRpb24iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb24gdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIHVuZXhwZWN0ZWRseSIKK21zZ3N0ciAiw4ljaGVjIGluYXR0ZW5kdSBkJ2lvY3RsKCkgZGUgJXMgcG91ciBkw6ltYXJyZXIgbGVzIG1pc2VzIMOgIGpvdXIgcGFyIGludGVycnVwdGlvbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byBzZXQgdGhlIHRpbWUgZmFpbGVkLiIKK21zZ3N0ciAiw4ljaGVjIGQnaW9jdGwoJXMpIGRlICVzIGxvcnMgZGUgbCdpbml0aWFsaXNhdGlvbiBkZSBsJ2hldXJlLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB3YXMgc3VjY2Vzc2Z1bC5cbiIKK21zZ3N0ciAiaW9jdGwoJXMpIGEgcsOpdXNzaS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mzg3Cittc2dpZCAiVXNpbmcgdGhlIC9kZXYgaW50ZXJmYWNlIHRvIHRoZSBjbG9jay4iCittc2dzdHIgIlV0aWxpc2F0aW9uIGRlIGzigJlpbnRlcmZhY2UgL2RldiBwb3VyIGzigJlob3Jsb2dlLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDE3IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ2NAorIywgYy1mb3JtYXQKK21zZ2lkICJUbyBtYW5pcHVsYXRlIHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLCB3ZSBtdXN0IGFjY2VzcyB0aGUgTGludXggJ3J0YycgZGV2aWNlIGRyaXZlciB2aWEgdGhlIGRldmljZSBzcGVjaWFsIGZpbGUgJXMuICBUaGlzIGZpbGUgZG9lcyBub3QgZXhpc3Qgb24gdGhpcyBzeXN0ZW0uIgorbXNnc3RyICJQb3VyIG1hbmlwdWxlciBsYSB2YWxldXIgwqvCoGVwb2NowqDCuyBkYW5zIGxlIG5veWF1LCB2b3VzIGRldmV6IGFjY8OpZGVyIGF1IHBpbG90ZSBMaW51eCBkdSBww6lyaXBow6lyaXF1ZSDCq8KgcnRjwqDCuyBwYXIgbGUgYmlhaXMgZHUgZmljaGllciBzcMOpY2lhbCAlcy4gQ2UgZmljaGllciBuJ2V4aXN0ZSBwYXMgc3VyIGNlIHN5c3TDqG1lLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDI5CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSB0byAlcyBmYWlsZWQiCittc2dzdHIgIsOJY2hlYyBkJ2lvY3RsKFJUQ19FUE9DSF9SRUFEKSBkZSAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3ZSBoYXZlIHJlYWQgZXBvY2ggJWx1IGZyb20gJXMgd2l0aCBSVENfRVBPQ0hfUkVBRCBpb2N0bC5cbiIKK21zZ3N0ciAibGEgdmFsZXVyIMKrwqBlcG9jaMKgwrsgJWxkIGEgw6l0w6kgbHVlIMOgIHBhcnRpciBkZSAlcyDDoCBsJ2FpZGUgZGUgbCdpb2N0bCBSVENfRVBPQ0hfUkVBRC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlcG9jaCB2YWx1ZSBtYXkgbm90IGJlIGxlc3MgdGhhbiAxOTAwLiAgWW91IHJlcXVlc3RlZCAlbGQiCittc2dzdHIgIkxhIHZhbGV1ciDCq8KgZXBvY2jCoMK7IG5lIHBldXQgcGFzIMOqdHJlIGluZsOpcmlldXJlIMOgIDE5MDAuIFZvdXMgYXZleiBkZW1hbmTDqSAlbGQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBlcG9jaCB0byAlbHUgd2l0aCBSVENfRVBPQ0hfU0VUIGlvY3RsIHRvICVzLlxuIgorbXNnc3RyICJpbml0aWFsaXNhdGlvbiBkZSBsYSB2YWxldXIgwqvCoGVwb2NowqDCuyDDoCAlbGQgYXZlYyBsJ2lvY3RsIFJUQ19FUE9DSF9TRVQgc3VyICVzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGtlcm5lbCBkZXZpY2UgZHJpdmVyIGZvciAlcyBkb2VzIG5vdCBoYXZlIHRoZSBSVENfRVBPQ0hfU0VUIGlvY3RsLiIKK21zZ3N0ciAiTGUgcGlsb3RlIGR1IHDDqXJpcGjDqXJpcXVlIGR1IG5veWF1IHBvdXIgJXMgbidhIHBhcyBsJ2lvY3RsIFJUQ19FUE9DSF9TRVQuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoUlRDX0VQT0NIX1NFVCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICLDiWNoZWMgZCdpb2N0bChSVENfRVBPQ0hfU0VUKSBzdXIgJXMiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjY5Cittc2dpZCAiQ3JlYXRlIHZhcmlvdXMgSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiQ3LDqWVyIGRpdmVyc2VzIHJlc3NvdXJjZXMgSVBDLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MgorbXNnaWQgIiAtTSwgLS1zaG1lbSA8c2l6ZT4gICAgICAgY3JlYXRlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBvZiBzaXplIDxzaXplPlxuIgorbXNnc3RyICIgLU0sIC0tc2htZW0gPHRhaWxsZT4gICAgIGNyw6llciB1biBzZWdtZW50IGRlIG3DqW1vaXJlIHBhcnRhZ8OpZSBkZSB0YWlsbGUgPHRhaWxsZT5cbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzMKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlIDxudW1iZXI+IGNyZWF0ZSBzZW1hcGhvcmUgYXJyYXkgd2l0aCA8bnVtYmVyPiBlbGVtZW50c1xuIgorbXNnc3RyICIgLVMsIC0tc2VtYXBob3JlIDxuc2Vtcz4gIGNyw6llciB1biB0YWJsZWF1IGRlIHPDqW1hcGhvcmVzIMOgIDxuc2Vtcz7CoMOpbMOpbWVudHNcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzQKK21zZ2lkICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIGNyZWF0ZSBtZXNzYWdlIHF1ZXVlXG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgY3LDqWVyIHVuZSBmaWxlIGRlIG1lc3NhZ2VzXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc1Cittc2dpZCAiIC1wLCAtLW1vZGUgPG1vZGU+ICAgICAgICBwZXJtaXNzaW9uIGZvciB0aGUgcmVzb3VyY2UgKGRlZmF1bHQgaXMgMDY0NClcbiIKK21zZ3N0ciAiIC1wLCAtLW1vZGUgPG1vZGU+ICAgICAgICBkcm9pdHMgZGUgbGEgcmVzc291cmNlICgwNjQ0IHBhciBkw6lmYXV0KVxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTAgc3lzLXV0aWxzL2xvc2V0dXAuYzo2OTcgc3lzLXV0aWxzL3pyYW1jdGwuYzo2MjIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkZSB0YWlsbGUiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbGVtZW50cyIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkZXMgw6lsw6ltZW50cyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQxCittc2dpZCAiY3JlYXRlIHNoYXJlIG1lbW9yeSBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBjcsOpYXRpb24gZGUgbcOpbW9pcmUgcGFydGFnw6llIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBpZDogJWRcbiIKK21zZ3N0ciAiaWRlbnRpZmlhbnQgZGUgbcOpbW9pcmUgcGFydGFnw6llwqA6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0OQorbXNnaWQgImNyZWF0ZSBtZXNzYWdlIHF1ZXVlIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGNyw6lhdGlvbiBkZSBmaWxlIGRlIG1lc3NhZ2VzIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBxdWV1ZSBpZDogJWRcbiIKK21zZ3N0ciAiaWRlbnRpZmlhbnQgZGUgZmlsZSBkZSBtZXNzYWdlwqA6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1NworbXNnaWQgImNyZWF0ZSBzZW1hcGhvcmUgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgY3LDqWF0aW9uIGR1IHPDqW1hcGhvcmUiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZW1hcGhvcmUgaWQ6ICVkXG4iCittc2dzdHIgImlkZW50aWZpYW50IGRlIHPDqW1hcGhvcmXCoDogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIHNobXxtc2d8c2VtIDxpZD4uLi5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIHNobXxtc2d8c2VtIDxpZD4gLi4uXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU0Cittc2dpZCAiUmVtb3ZlIGNlcnRhaW4gSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiU3VwcHJpbWVyIGNlcnRhaW5lcyByZXNzb3VyY2VzIElQQy5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTcKK21zZ2lkICIgLW0sIC0tc2htZW0taWQgPGlkPiAgICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBpZFxuIgorbXNnc3RyICIgLW0sIC0tc2htZW0taWQgPGlkZW50Lj4gICAgcmV0aXJlciBsZSBzZWdtZW50IGRlIG3DqW1vaXJlIHBhcnRhZ8OpZSBwYXIgaWRlbnQuXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU4Cittc2dpZCAiIC1NLCAtLXNobWVtLWtleSA8a2V5PiAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkga2V5XG4iCittc2dzdHIgIiAtTSwgLS1zaG1lbS1rZXkgPGNsZWY+ICAgICByZXRpcmVyIGxlIHNlZ21lbnQgZGUgbcOpbW9pcmUgcGFydGFnw6llIHBhciBjbGVmXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU5Cittc2dpZCAiIC1xLCAtLXF1ZXVlLWlkIDxpZD4gICAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGlkXG4iCittc2dzdHIgIiAtcSwgLS1xdWV1ZS1pZCA8aWRlbnQuPiAgICByZXRpcmVyIGxhIGZpbGUgZGUgbWVzc2FnZXMgcGFyIGlkZW50aWZpYW50XG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYwCittc2dpZCAiIC1RLCAtLXF1ZXVlLWtleSA8a2V5PiAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGtleVxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUta2V5IDxjbGVmPiAgICAgcmV0aXJlciBsYSBmaWxlIGRlIG1lc3NhZ2VzIHBhciBjbGVmXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYxCittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8aWQ+ICAgIHJlbW92ZSBzZW1hcGhvcmUgYnkgaWRcbiIKK21zZ3N0ciAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8aWQuPiAgIHJldGlyZXIgbGUgc8OpbWFwaG9yZSBwYXIgaWRlbnRpZmlhbnRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjIKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlLWtleSA8a2V5PiAgcmVtb3ZlIHNlbWFwaG9yZSBieSBrZXlcbiIKK21zZ3N0ciAiIC1zLCAtLXNlbWFwaG9yZS1rZXkgPGNsZWY+IHJldGlyZXIgbGUgc8OpbWFwaG9yZSBwYXIgY2xlZlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MworbXNnaWQgIiAtYSwgLS1hbGxbPXNobXxtc2d8c2VtXSAgICByZW1vdmUgYWxsIChpbiB0aGUgc3BlY2lmaWVkIGNhdGVnb3J5KVxuIgorbXNnc3RyICIgLWEsIC0tYWxsWz1zaG18bXNnfHNlbV0gICAgdG91dCByZXRpcmVyIChkYW5zIGxhIGNhdMOpZ29yaWUgaW5kaXF1w6llKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgZXhwbGlxdWVyIGxlcyBhY3Rpb25zIGVuIGNvdXJzXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBpZCBgJWQnXG4iCittc2dzdHIgInJldHJhaXQgZHUgc2VnbWVudCBkZSBtw6ltb2lyZSBwYXJ0YWfDqWUgZCdpZGVudGlmaWFudCDCq8KgJWTCoMK7XG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIG1lc3NhZ2UgcXVldWUgaWQgYCVkJ1xuIgorbXNnc3RyICJyZXRyYWl0IGRlIGxhIGZpbGUgZGUgbWVzc2FnZXPCoGQnaWRlbnRpZmlhbnQgwqvCoCVkwqDCu1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzZW1hcGhvcmUgaWQgYCVkJ1xuIgorbXNnc3RyICJyZXRyYWl0IGR1IHPDqW1hcGhvcmUgZCdpZGVudGlmaWFudCDCq8KgJWTCoMK7XG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOCBzeXMtdXRpbHMvaXBjcm0uYzoyMjIKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3Iga2V5IgorbXNnc3RyICJwZXJtaXNzaW9uIHJlZnVzw6llIHBvdXIgbGEgY2xlZiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGlkIgorbXNnc3RyICJwZXJtaXNzaW9uIHJlZnVzw6llIHBvdXIgbCdpZGVudGlmaWFudCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExIHN5cy11dGlscy9pcGNybS5jOjIyOAorbXNnaWQgImludmFsaWQga2V5IgorbXNnc3RyICJjbGVmIG5vbiB2YWxhYmxlIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEKK21zZ2lkICJpbnZhbGlkIGlkIgorbXNnc3RyICJpZGVudGlmaWFudCBub24gdmFsYWJsZSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0IHN5cy11dGlscy9pcGNybS5jOjIyNQorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBrZXkiCittc2dzdHIgImNsZWYgZMOpasOgIHN1cHByaW3DqWUiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNAorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBpZCIKK21zZ3N0ciAiaWRlbnRpZmlhbnQgZMOpasOgIHN1cHByaW3DqSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE3IHN5cy11dGlscy9pcGNybS5jOjIzMQorbXNnaWQgImtleSBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBjbGVmIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcKK21zZ2lkICJpZCBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkJ2lkZW50aWZpYW50IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZDogJXMiCittc2dzdHIgImlkZW50aWZpYW50IG5vbiB2YWxhYmxlwqA6ICVzIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzb3VyY2UocykgZGVsZXRlZFxuIgorbXNnc3RyICJyZXNzb3VyY2VzIHN1cHByaW3DqWVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjIwMAorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGtleSAoJXMpIgorbXNnc3RyICJjbGVmIGluY29ycmVjdGUgKCVzKSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjU2Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICJub3lhdSBub24gY29uZmlndXLDqSBwb3VyIHRyYWl0ZXIgbGEgbcOpbW9pcmUgcGFydGFnw6llIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNjkKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXMiCittc2dzdHIgImxlIG5veWF1IG4nZXN0IHBhcyBjb25maWd1csOpIHBvdXIgdHJhaXRlciBsZXMgc8OpbWFwaG9yZXMiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI5MAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgIm5veWF1IG5vbiBjb25maWd1csOpIHBvdXIgdHJhaXRlciBsZXMgZmlsZXMgZGUgbWVzc2FnZXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtyZXNvdXJjZS1vcHRpb24uLi5dIFtvdXRwdXQtb3B0aW9uXVxuIgorIiAlMSRzIC1tfC1xfC1zIC1pIDxpZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcHRpb24tcmVzb3VyY2UgLi4uXSBbb3B0aW9uLXNvcnRpZV1cbiIKKyIgJTEkcyAtbXwtcXwtcyAtaSA8aWQ+XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTYgc3lzLXV0aWxzL2xzaXBjLmM6MjgwCittc2dpZCAiU2hvdyBpbmZvcm1hdGlvbiBvbiBJUEMgZmFjaWxpdGllcy5cbiIKK21zZ3N0ciAiTW9udHJlciBkZXMgcmVuc2VpZ25lbWVudHMgc3VyIGwndXRpbGlzYXRpb24gZGVzIHJlc3NvdXJjZXMgSVBDLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiAtaSwgLS1pZCA8aWQuPiBhZmZpY2hlciBkZXMgcHLDqWNpc2lvbnMgc3VyIGxhIHJlc3NvdXJjZSBpZGVudGlmacOpZSBwYXIgPGlkLj5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NCBzeXMtdXRpbHMvbHNpcGMuYzoyODMKK21zZ2lkICJSZXNvdXJjZSBvcHRpb25zOlxuIgorbXNnc3RyICJPcHRpb25zIGRlIHJlc3NvdXJjZcKgOlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1IHN5cy11dGlscy9sc2lwYy5jOjI4NAorbXNnaWQgIiAtbSwgLS1zaG1lbXMgICAgICBzaGFyZWQgbWVtb3J5IHNlZ21lbnRzXG4iCittc2dzdHIgIiAtbSwgLS1zaG1lbXMgICAgICBzZWdtZW50cyBkZSBtw6ltb2lyZSBwYXJ0YWfDqWVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NiBzeXMtdXRpbHMvbHNpcGMuYzoyODUKK21zZ2lkICIgLXEsIC0tcXVldWVzICAgICAgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlcyAgICAgIGZpbGVzIGRlIG1lc3NhZ2VzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Njcgc3lzLXV0aWxzL2xzaXBjLmM6Mjg2Cittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZXMgIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiIC1zLCAtLXNlbWFwaG9yZXMgIHPDqW1hcGhvcmVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjgKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgYWxsIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgdG91dCAocGFyIGTDqWZhdXQpXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzEKK21zZ2lkICJPdXRwdXQgb3B0aW9uczpcbiIKK21zZ3N0ciAiT3B0aW9ucyBkZSBzb3J0aWXCoDpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MgorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgICAgICAgIG1vbnRyZXIgbGVzIGhldXJlcyBkJ2F0dGFjaGVtZW50LCBkZSBkw6l0YWNoZW1lbnQgZXQgZGUgbW9kaWZpY2F0aW9uXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzMKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgc2hvdyBQSURzIG9mIGNyZWF0b3IgYW5kIGxhc3Qgb3BlcmF0b3JcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgIG1vbnRyZXIgbGVzIFBJRCBkZSBjcsOpYXRldXIgZXQgZGUgZGVybmllciBvcMOpcmF0ZXVyXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzQKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIgLWMsIC0tY3JlYXRvciAgICAgbW9udHJlciBsZSBjcsOpYXRldXIgZXQgbGUgcHJvcHJpw6l0YWlyZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc1Cittc2dpZCAiIC1sLCAtLWxpbWl0cyAgICAgIHNob3cgcmVzb3VyY2UgbGltaXRzXG4iCittc2dzdHIgIiAtbCwgLS1saW1pdHMgICAgICBtb250cmVyIGxlcyBsaW1pdGVzIGRlIHJlc3NvdXJjZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc2Cittc2dpZCAiIC11LCAtLXN1bW1hcnkgICAgIHNob3cgc3RhdHVzIHN1bW1hcnlcbiIKK21zZ3N0ciAiIC11LCAtLXN1bW1hcnkgICAgIG1vbnRyZXIgdW4gcsOpc3Vtw6kgZGUgbCfDqXRhdFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc3Cittc2dpZCAiICAgICAtLWh1bWFuICAgICAgIHNob3cgc2l6ZXMgaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1odW1hbiAgICAgICBtb250cmVyIGxlcyB0YWlsbGVzIGVuIGZvcm1hdCBsaXNpYmxlXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzgKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgc2hvdyBzaXplcyBpbiBieXRlc1xuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAgbW9udHJlciBsZXMgdGFpbGxlcyBlbiBvY3RldFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjE2NAorbXNnaWQgIndoZW4gdXNpbmcgYW4gSUQsIGEgc2luZ2xlIHJlc291cmNlIG11c3QgYmUgc3BlY2lmaWVkIgorbXNnc3RyICJsb3JzIGRlIGwndXRpbGlzYXRpb24gZCd1biBpZGVudGlmaWFudCwgdW5lIHNldWxlIHJlc3NvdXJjZSBkb2l0IMOqdHJlIGluZGlxdcOpZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzaGFyZWQgbWVtb3J5IGxpbWl0c1xuIgorbXNnc3RyICJ0b3RhbCBkZSBtw6ltb2lyZSBwYXJ0YWfDqWUgbWF4aW1hbCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBMaW1pdGVzIGRlIGxhIG3DqW1vaXJlIHBhcnRhZ8OpZSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIHNlZ21lbnRzID0gJWp1XG4iCittc2dzdHIgIm5vbWJyZSBtYXhpbWFsIGRlIHNlZ21lbnRzID0gJWp1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA5Cittc2dpZCAibWF4IHNlZyBzaXplIgorbXNnc3RyICJ0YWlsbGUgbWF4aW1hbGUgZGUgc2VnbWVudCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTEKK21zZ2lkICJtYXggdG90YWwgc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAidG90YWwgZGUgbcOpbW9pcmUgcGFydGFnw6llIG1heGltYWwiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjE0Cittc2dpZCAibWluIHNlZyBzaXplIgorbXNnc3RyICJ0YWlsbGUgbWluaW1hbGUgZGUgc2VnbWVudCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5XG4iCittc2dzdHIgIm5veWF1IG5vbiBjb25maWd1csOpIHBvdXIgdHJhaXRlciBsYSBtw6ltb2lyZSBwYXJ0YWfDqWVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDDiXRhdCBkZSBsYSBtw6ltb2lyZSBwYXJ0YWfDqWUgLS0tLS0tLS1cbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoaXMgb3V0cHV0IGZvcm1hdCBpcyBtYWludGFpbmVkIGZvciBiYWNrd2FyZAorIy4gY29tcGF0aWJpbGl0eSBhcyBpcGNzIGlzIHVzZWQgaW4gc2NyaXB0cy4gRm9yIGNvbnNpc3RlbmN5CisjLiB3aXRoIHRoZSByZXN0LCB0aGUgdHJhbnNsYXRlZCBmb3JtIGNhbiBmb2xsb3cgdGhpcyBtb2RlbDoKKyMuICoKKyMuICJzZWdtZW50cyBhbGxvY2F0ZWQgPSAlZFxuIgorIy4gInBhZ2VzIGFsbG9jYXRlZCA9ICVsZFxuIgorIy4gInBhZ2VzIHJlc2lkZW50ID0gJWxkXG4iCisjLiAicGFnZXMgc3dhcHBlZCA9ICVsZFxuIgorIy4gInN3YXAgcGVyZm9ybWFuY2UgPSAlbGQgYXR0ZW1wdHMsICVsZCBzdWNjZXNzZXNcbiIKKyMuCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisic2VnbWVudHMgYWxsb2NhdGVkICVkXG4iCisicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorInBhZ2VzIHJlc2lkZW50ICAlbGRcbiIKKyJwYWdlcyBzd2FwcGVkICAgJWxkXG4iCisiU3dhcCBwZXJmb3JtYW5jZTogJWxkIGF0dGVtcHRzXHQgJWxkIHN1Y2Nlc3Nlc1xuIgorbXNnc3RyICIiCisic2VnbWVudHMgYWxsb3XDqXMgPSAlZFxuIgorInBhZ2VzIGFsbG91w6lzID0gJWxkXG4iCisicGFnZXMgcsOpc2lkZW50ZXMgPSAlbGRcbiIKKyJwYWdlcyBkJ8OpY2hhbmdlID0gJWxkXG4iCisicGVyZm9ybWFuY2UgZGUgbCdlc3BhY2UgZCfDqWNoYW5nZSA9ICVsZMKgdGVudGF0aXZlc1x0ICVsZMKgc3VjY8Ooc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI1OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50IENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU2VnbWVudCBkZSBtw6ltb2lyZSBwYXJ0YWfDqWUgQ3LDqWF0ZXVycy9Qcm9wcmnDqXRhaXJlcyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI3NAorIzogc3lzLXV0aWxzL2lwY3MuYzoyODAKK21zZ2lkICJzaG1pZCIKK21zZ3N0ciAic2htaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6MjgwIHN5cy11dGlscy9pcGNzLmM6Mzg2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwMSBzeXMtdXRpbHMvaXBjcy5jOjQ4OSBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgInBlcm1zIgorbXNnc3RyICJwZXJtcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJjdWlkIgorbXNnc3RyICJjdWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgImNnaWQiCittc2dzdHIgImNnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAidWlkIgorbXNnc3RyICJ1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiZ2lkIgorbXNnc3RyICJnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IEF0dGFjaC9EZXRhY2gvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBNw6ltb2lyZSBwYXJ0YWfDqWUgQXR0YWNoZW1lbnQvRMOpdGFjaGVtZW50L0NoYW5nZW1lbnQgVGVtcHMgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyNzQgc3lzLXV0aWxzL2lwY3MuYzoyODAKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NDk1CisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMSBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgIm93bmVyIgorbXNnc3RyICJwcm9wcmnDqXRhaXJlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NworbXNnaWQgImF0dGFjaGVkIgorbXNnc3RyICJhdHRhY2jDqSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcKK21zZ2lkICJkZXRhY2hlZCIKK21zZ3N0ciAiZMOpdGFjaMOpIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2OAorbXNnaWQgImNoYW5nZWQiCittc2dzdHIgIm1vZGlmacOpIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBDcmVhdG9yL0xhc3Qtb3AgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gTcOpbW9pcmUgcGFydGFnw6llIGNyw6lhdGV1ci8gUElEIGRlIGRlcm5pw6hyZSBvcMOpcmF0aW9uIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc0Cittc2dpZCAiY3BpZCIKK21zZ3N0ciAiY3BpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzQKK21zZ2lkICJscGlkIgorbXNnc3RyICJscGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU2VnbWVudCBkZSBtw6ltb2lyZSBwYXJ0YWfDqWUgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJrZXkiCittc2dzdHIgImNsZWYiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgxIHN5cy11dGlscy9pcGNzLmM6NTA4Cittc2dpZCAic2l6ZSIKK21zZ3N0ciAidGFpbGxlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MSBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Nzggc3lzLXV0aWxzL3BybGltaXQuYzo3OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyIHN5cy11dGlscy9wcmxpbWl0LmM6ODYgc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgImJ5dGVzIgorbXNnc3RyICJvY3RldHMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgyCittc2dpZCAibmF0dGNoIgorbXNnc3RyICJuYXR0Y2giCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgyCittc2dpZCAic3RhdHVzIgorbXNnc3RyICLDqXRhdHMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzA2IHN5cy11dGlscy9pcGNzLmM6MzA4IHN5cy11dGlscy9pcGNzLmM6MzEwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQyNCBzeXMtdXRpbHMvaXBjcy5jOjQyNiBzeXMtdXRpbHMvaXBjcy5jOjUzMgorIzogc3lzLXV0aWxzL2lwY3MuYzo1MzQgc3lzLXV0aWxzL2lwY3MuYzo1MzYgc3lzLXV0aWxzL2lwY3MuYzo1OTAKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkyIHN5cy11dGlscy9pcGNzLmM6NjIxIHN5cy11dGlscy9pcGNzLmM6NjIzCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyNSBzeXMtdXRpbHMvaXBjcy5jOjY0OQorbXNnaWQgIk5vdCBzZXQiCittc2dzdHIgIk5vbiBpbml0aWFsaXPDqSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMzYgc3lzLXV0aWxzL2xzaXBjLmM6OTc2IHN5cy11dGlscy9sc2lwYy5jOjk4MgorbXNnaWQgImRlc3QiCittc2dzdHIgImRlc3QiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzM3IHN5cy11dGlscy9sc2lwYy5jOjk3NyBzeXMtdXRpbHMvbHNpcGMuYzo5OTAKK21zZ2lkICJsb2NrZWQiCittc2dzdHIgInZlcnJvdWlsbMOpIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNlbWFwaG9yZSBsaW1pdHNcbiIKK21zZ3N0ciAiw6ljaGVjIGRlIGNvbmZpZ3VyYXRpb24gZGUgbGEgbGltaXRlIGRlIHJlc3NvdXJjZSAlcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIExpbWl0ZXMgZGVzIHPDqW1hcGhvcmVzIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2YgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAibm9tYnJlIG1heGltYWwgZGUgdGFibGVhdXggPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBwZXIgYXJyYXkgPSAlZFxuIgorbXNnc3RyICJub21icmUgbWF4aW1hbCBkZSBzw6ltYXBob3JlcyBwYXIgdGFibGVhdSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAibm9tYnJlIG1heGltYWwgZGUgc8OpbWFwaG9yZXMgc3lzdMOobWUgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggb3BzIHBlciBzZW1vcCBjYWxsID0gJWRcbiIKK21zZ3N0ciAibm9tYnJlIG1heGltYWwgZCdvcMOpcmF0aW9ucyBwYXIgYXBwZWwgc2Vtb3AgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VtYXBob3JlIG1heCB2YWx1ZSA9ICV1XG4iCittc2dzdHIgInZhbGV1ciBtYXhpbWFsIGRlIHPDqW1hcGhvcmUgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAibGUgbm95YXUgbidlc3QgcGFzIGNvbmZpZ3Vyw6kgcG91ciB0cmFpdGVyIGxlcyBzw6ltYXBob3Jlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gw4l0YXRzIGRlcyBzw6ltYXBob3JlcyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGFycmF5cyA9ICVkXG4iCittc2dzdHIgInRhYmxlYXV4IHV0aWxpc8OpcyA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBzZW1hcGhvcmVzID0gJWRcbiIKK21zZ3N0ciAic8OpbWFwaG9yZXMgYWxsb3XDqXMgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tIFRhYmxlYXV4IGRlIHPDqW1hcGhvcmVzIENyw6lhdGV1cnMvUHJvcHJpw6l0YWlyZXMgLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDAxCittc2dpZCAic2VtaWQiCittc2dzdHIgInNlbWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIE9wZXJhdGlvbi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tIFPDqW1hcGhvcmVzwqA6IG9ww6lyYXRpb25zL2NoYW5nZW1lbnRzIHRlbXBvcmVscyAtLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIKK21zZ2lkICJsYXN0LW9wIgorbXNnc3RyICJsYXN0LW9wIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorbXNnaWQgImxhc3QtY2hhbmdlZCIKK21zZ3N0ciAibGFzdC1jaGFuZ2VkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gVGFibGVhdXggZGUgc8OpbWFwaG9yZXMgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0MDEKK21zZ2lkICJuc2VtcyIKK21zZ3N0ciAibnNlbXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggbWVzc2FnZSBsaW1pdHNcbiIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkJ2luaXRpYWxpc2VyIGwnaG9ybG9nZSBzeXN0w6htZS5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gTGltaXRlcyBkZSBtZXNzYWdlcyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggcXVldWVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAibm9tYnJlIG1heGltYWwgZGUgZmlsZXMgc3lzdMOobWUgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2NQorbXNnaWQgIm1heCBzaXplIG9mIG1lc3NhZ2UiCittc2dzdHIgInRhaWxsZSBtYXhpbWFsZSBkZSBtZXNzYWdlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2NworbXNnaWQgImRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUiCittc2dzdHIgInRhaWxsZSBtYXhpbWFsZSBwYXIgZMOpZmF1dCBkZSBmaWxlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzXG4iCittc2dzdHIgIm5veWF1IG5vbiBjb25maWd1csOpIHBvdXIgdHJhaXRlciBsZXMgZmlsZXMgZGUgbWVzc2FnZXNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gw4l0YXRzIGRlcyBtZXNzYWdlcyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3OQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgcXVldWVzID0gJWRcbiIKK21zZ3N0ciAiZmlsZXMgYWxsb3XDqWVzID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBoZWFkZXJzID0gJWRcbiIKK21zZ3N0ciAiZW4tdMOqdGVzIHV0aWxpc8OpZXMgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MgorbXNnaWQgInVzZWQgc3BhY2UiCittc2dzdHIgImVzcGFjZSB1dGlsaXPDqSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODMKK21zZ2lkICIgYnl0ZXNcbiIKK21zZ3N0ciAiwqBvY3RldHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gRmlsZXMgZGUgbWVzc2FnZXMgY3LDqWF0ZXVycy9wcm9wcmnDqXRhaXJlcyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OSBzeXMtdXRpbHMvaXBjcy5jOjQ5NSBzeXMtdXRpbHMvaXBjcy5jOjUwMQorIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJtc3FpZCIKK21zZ3N0ciAibXNxaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBTZW5kL1JlY3YvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBGaWxlcyBkZSBtZXNzYWdlcyBUcmFuc21pcy9SZcOndXMvQ2hhbmfDqXMgVGVtcHMgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJzZW5kIgorbXNnc3RyICJ0cmFuc21pcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJyZWN2IgorbXNnc3RyICJyZcOndXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiY2hhbmdlIgorbXNnc3RyICJjaGFuZ8OpcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFBJRHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFBJRCBkZXMgZmlsZXMgZGUgbWVzc2FnZXMgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJsc3BpZCIKK21zZ3N0ciAibHNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAibHJwaWQiCittc2dzdHIgImxycGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEZpbGVzIGRlIG1lc3NhZ2VzIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA4Cittc2dpZCAidXNlZC1ieXRlcyIKK21zZ3N0ciAib2N0ZXRzIHV0aWxpc8OpcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDkKK21zZ2lkICJtZXNzYWdlcyIKK21zZ3N0ciAibWVzc2FnZXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc0IHN5cy11dGlscy9pcGNzLmM6NjA0IHN5cy11dGlscy9pcGNzLmM6NjM3CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo1MzYgc3lzLXV0aWxzL2xzaXBjLmM6NzIyIHN5cy11dGlscy9sc2lwYy5jOjg3OQorIywgYy1mb3JtYXQKK21zZ2lkICJpZCAlZCBub3QgZm91bmQiCittc2dzdHIgImlkZW50aWZpYW50wqAlZCBpbnRyb3V2YWJsZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZCBtZW1vcnkgU2VnbWVudCBzaG1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisiTcOpbW9pcmUgcGFydGFnw6llIHNlZ21lbnQgc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI29cdGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAibW9kZT0lI29cdGFjY2Vzc19wZXJtcz0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODQKK21zZ2lkICJzaXplPSIKK21zZ3N0ciAidGFpbGxlPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODQKK21zZ2lkICJieXRlcz0iCittc2dzdHIgIm9jdGV0cz0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg2CisjLCBjLWZvcm1hdAorbXNnaWQgImxwaWQ9JXVcdGNwaWQ9JXVcdG5hdHRjaD0lamRcbiIKK21zZ3N0ciAibHBpZD0ldVx0Y3BpZD0ldVx0bmF0dGNoPSVqZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJhdHRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJhdHRfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MQorIywgYy1mb3JtYXQKK21zZ2lkICJkZXRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJkZXRfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MyBzeXMtdXRpbHMvaXBjcy5jOjYyNAorIywgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2VfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJjaGFuZ2VfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZSBRdWV1ZSBtc3FpZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisiRmlsZSBkZSBtZXNzYWdlcyBtc3FpZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVx0bW9kZT0lI29cbiIKK21zZ3N0ciAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG1vZGU9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjEzCittc2dpZCAiY3NpemU9IgorbXNnc3RyICJ0YWlsbGVjPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTMKK21zZ2lkICJjYnl0ZXM9IgorbXNnc3RyICJvY3RldHNjPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKK21zZ2lkICJxc2l6ZT0iCittc2dzdHIgInRhaWxsZXE9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxNQorbXNnaWQgInFieXRlcz0iCittc2dzdHIgIm9jdGV0c3E9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAic2VuZF90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgInJjdl90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgInJjdl90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgQXJyYXkgc2VtaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlRhYmxlYXV4IGRlIHPDqW1hcGhvcmVzIHNlbWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0IGdpZD0ldVx0IGN1aWQ9JXVcdCBjZ2lkPSV1XG4iCittc2dzdHIgInVpZD0ldVx0IGdpZD0ldVx0IGN1aWQ9JXVcdCBjZ2lkPSV1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvLCBhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgIm1vZGU9JSNvLCBhY2Nlc3NfcGVybXM9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5zZW1zID0gJWp1XG4iCittc2dzdHIgIm5zZW1zID0gJWp1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIm90aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAib3RpbWUgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJjdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgImN0aW1lID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJzZW1udW0iCittc2dzdHIgInNlbW51bSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJ2YWx1ZSIKK21zZ3N0ciAidmFsZXVyIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgIm5jb3VudCIKK21zZ3N0ciAibmNvdW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInpjb3VudCIKK21zZ3N0ciAiemNvdW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInBpZCIKK21zZ3N0ciAiUElEIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzAgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM0IHN5cy11dGlscy9pcGN1dGlscy5jOjIzOAorIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlICVzIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKGJ5dGVzKSA9ICIKK21zZ3N0ciAiJXPCoChvY3RldCkgPSAiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoa2J5dGVzKSA9ICIKK21zZ3N0ciAiJXMgKGtpbG9vY3RldCkgPSAiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE4MAorbXNnaWQgImludmFsaWQgaWZsYWciCittc2dzdHIgImluZGljaSBub24gdmFsYWJsZSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGxkaXNjPiA8ZGV2aWNlPlxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIDxwY29udD4gPHDDqXJpcGjDqXJpcXVlPlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxOTkKK21zZ2lkICJBdHRhY2ggYSBsaW5lIGRpc2NpcGxpbmUgdG8gYSBzZXJpYWwgbGluZS5cbiIKK21zZ3N0ciAiQXR0YWNoZXIgdW5lIHByb2PDqWR1cmUgZGUgY29udHLDtGxlIMOgIHVuZSBsaWduZSBzw6lyaWUuXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgYWZmaWNoZXIgZGVzIG1lc3NhZ2VzIMOpdGVuZHVzIHN1ciBsYSBzb3J0aWUgZCdlcnJldXIgc3RhbmRhcmRcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAzCittc2dpZCAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIHNldCBzZXJpYWwgbGluZSBzcGVlZFxuIgorbXNnc3RyICIgLXMsIC0tc3BlZWQgPHZpdGVzc2U+ICAgZMOpZmluaXIgbGEgdml0ZXNzZSBkZSBsYSBsaWduZSBzw6lyaWVcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA0Cittc2dpZCAiIC1jLCAtLWludHJvLWNvbW1hbmQgPHN0cmluZz4gaW50cm8gc2VudCBiZWZvcmUgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIC1jLCAtLWludHJvLWNvbW1hbmQgPGNoYcOubmU+ICBpbnRyb2R1Y3Rpb24gZW52b3nDqWUgYXZhbnQgbGRhdHRhY2hcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA1Cittc2dpZCAiIC1wLCAtLXBhdXNlIDxzZWNvbmRzPiAgIHBhdXNlIGJldHdlZW4gaW50cm8gYW5kIGxkYXR0YWNoXG4iCittc2dzdHIgIiAtcCwgLS1wYXVzZSA8c2Vjb25kZT4gICBwYXVzZSBlbnRyZSBs4oCZaW50cm9kdWN0aW9uIGV0IGxkYXR0YWNoXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNgorbXNnaWQgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gNyBiaXRzXG4iCittc2dzdHIgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBkw6lmaW5pciBsYSB0YWlsbGUgZGUgY2FyYWN0w6hyZSDDoCA3wqBiaXRzXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNworbXNnaWQgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gOCBiaXRzXG4iCittc2dzdHIgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICBkw6lmaW5pciBsYSB0YWlsbGUgZGUgY2FyYWN0w6hyZSDDoCA4wqBiaXRzXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOAorbXNnaWQgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICBzZXQgcGFyaXR5IHRvIG5vbmVcbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIGTDqWZpbmlyIGxhIHBhcml0w6kgw6AgbGEgdmFsZXVyIGF1Y3VuZVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDkKK21zZ2lkICIgLWUsIC0tZXZlbnBhcml0eSAgICAgICAgc2V0IHBhcml0eSB0byBldmVuXG4iCittc2dzdHIgIiAtZSwgLS1ldmVucGFyaXR5ICAgICAgICBkw6lmaW5pciBsYSBwYXJpdMOpIMOgIGxhIHZhbGV1ciBwYWlyZVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTAKK21zZ2lkICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAgc2V0IHBhcml0eSB0byBvZGRcbiIKK21zZ3N0ciAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIGTDqWZpbmlyIGxhIHBhcml0w6kgw6AgbGEgdmFsZXVyIGltcGFpcmVcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjExCittc2dpZCAiIC0xLCAtLW9uZXN0b3BiaXQgICAgICAgIHNldCBzdG9wIGJpdHMgdG8gb25lXG4iCittc2dzdHIgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBkw6lmaW5pciBsZXMgYml0cyBkJ2FycsOqdCDDoCAxwqBiaXRcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEyCittc2dpZCAiIC0yLCAtLXR3b3N0b3BiaXRzICAgICAgIHNldCBzdG9wIGJpdHMgdG8gdHdvXG4iCittc2dzdHIgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBkw6lmaW5pciBsZXMgYml0cyBkJ2FycsOqdCDDoCAywqBiaXRcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEzCittc2dpZCAiIC1pLCAtLWlmbGFnIFstXTxpZmxhZz4gIHNldCBpbnB1dCBtb2RlIGZsYWdcbiIKK21zZ3N0ciAiIC1pLCAtLWlmbGFnIFstXTxpbmRpY2k+IGTDqWZpbmlyIGwnb3B0aW9uIGRlIG1vZGUgZCdlbnRyw6llXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxOQorbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8bGRpc2M+IG5hbWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiTm9tcyA8cGNvbnQ+IHJlY29ubnVzwqA6XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIyMworbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8aWZsYWc+IG5hbWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiTm9tcyA8aW5kaWNpPiByZWNvbm51c8KgOlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDAKK21zZ2lkICJpbnZhbGlkIHNwZWVkIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBkZSB2aXRlc3NlIGluY29ycmVjdCIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQzCittc2dpZCAiaW52YWxpZCBwYXVzZSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnQgZGUgcGF1c2UgaW5jb3JyZWN0IgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNTkKK21zZ2lkICJpbnZhbGlkIG9wdGlvbiIKK21zZ3N0ciAib3B0aW9uIGluY29ycmVjdGUiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM3MAorbXNnaWQgImludmFsaWQgbGluZSBkaXNjaXBsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBkZSBwcm9jw6lkdXJlIGRlIGNvbnRyw7RsZSBpbmNvcnJlY3QiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBzZXJpYWwgbGluZSIKK21zZ3N0ciAiJXMgbidlc3QgcGFzIHVuZSBsaWduZSBzw6lyaWUiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5NworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnb2J0ZW5pciBsZXMgYXR0cmlidXRzIGR1IHRlcm1pbmFsICVzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlZWQgJWQgdW5zdXBwb3J0ZWQiCittc2dzdHIgInZpdGVzc2XCoCVkIG5vbiBwcmlzZSBlbiBjaGFyZ2UiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNvbmZpZ3VyZXIgbGVzIGF0dHJpYnV0cyBkdSB0ZXJtaW5hbCAlcyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDU5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSBpbnRybyBjb21tYW5kIHRvICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGTigJnDqWNyaXJlIGxhIGNvbW1hbmRlIGTigJlpbnRyb2R1Y3Rpb24gZGFucyAlcyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDY5Cittc2dpZCAiY2Fubm90IHNldCBsaW5lIGRpc2NpcGxpbmUiCittc2dzdHIgImltcG9zc2libGUgZGUgY29uZmlndXJlciBsYSBwcm9jw6lkdXJlIGRlIGNvbnRyw7RsZSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDc5Cittc2dpZCAiY2Fubm90IGRhZW1vbml6ZSIKK21zZ3N0ciAiw6ljaGVjIGRlIHRyYW5zZm9ybWF0aW9uIGVuIGTDqW1vbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2OAorbXNnaWQgImF1dG9jbGVhciBmbGFnIHNldCIKK21zZ3N0ciAib3B0aW9uIGRlIG5ldHRveWFnZSBhdXRvbWF0aXF1ZSBhY3RpdsOpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY5Cittc2dpZCAiZGV2aWNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiZmljaGllciBkZSBww6lyaXBow6lyaXF1ZSBhc3NvY2nDqSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MAorbXNnaWQgImJhY2tpbmcgZmlsZSBpbm9kZSBudW1iZXIiCittc2dzdHIgIm51bcOpcm8gZCdpbsWTdWQgZGUgZmljaGllciBhc3NvY2nDqSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MQorbXNnaWQgImJhY2tpbmcgZmlsZSBtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICJudW3DqXJvIG1hamV1cjptaW5ldXIgZHUgZmljaGllciBkZSBww6lyaXBow6lyaXF1ZSBhc3NvY2nDqSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MgorbXNnaWQgImxvb3AgZGV2aWNlIG5hbWUiCittc2dzdHIgIm5vbSBkdSBww6lyaXBow6lyaXF1ZSBib3VjbGUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzMKK21zZ2lkICJvZmZzZXQgZnJvbSB0aGUgYmVnaW5uaW5nIgorbXNnc3RyICJwb3NpdGlvbiBkZXB1aXMgbGUgZMOpYnV0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc0Cittc2dpZCAicGFydHNjYW4gZmxhZyBzZXQiCittc2dzdHIgImluZGljYXRldXIgcGFydHNjYW4gZMOpZmluaSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NgorbXNnaWQgInNpemUgbGltaXQgb2YgdGhlIGZpbGUgaW4gYnl0ZXMiCittc2dzdHIgInRhaWxsZSBsaW1pdGUgZHUgZmljaGllciBlbiBvY3RldCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NworbXNnaWQgImxvb3AgZGV2aWNlIG1ham9yOm1pbm9yIG51bWJlciIKK21zZ3N0ciAibnVtw6lybyBtYWpldXI6bWluZXVyIGR1IHDDqXJpcGjDqXJpcXVlIGJvdWNsZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3OAorbXNnaWQgImFjY2VzcyBiYWNraW5nIGZpbGUgd2l0aCBkaXJlY3QtaW8iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxMzUgc3lzLXV0aWxzL2xvc2V0dXAuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvZmZzZXQgJWp1IgorbXNnc3RyICIsIGluZGV4ICVqdSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxMzggc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBzaXplbGltaXQgJWp1IgorbXNnc3RyICIsIHRhaWxsZSBsaW1pdGUgJWp1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1OAorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVuY3J5cHRpb24gJXMgKHR5cGUgJXUpIgorbXNnc3RyICIsIGNoaWZmcmVtZW50ICVzICh0eXBlICV1KSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRldGFjaCBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBkw6l0YWNoZW1lbnQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzI5IHN5cy11dGlscy9sc2NwdS5jOjE3MzUgc3lzLXV0aWxzL3BybGltaXQuYzoyMjkKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxNzYgc3lzLXV0aWxzL3dkY3RsLmM6MjE1IHN5cy11dGlscy96cmFtY3RsLmM6NDA1Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGxpbmUiCittc2dzdHIgIsOpY2hlYyBkJ2luaXRpYWxpc2F0aW9uIGRlIGxhIGxpZ25lIGRlIHNvcnRpZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSBbPGxvb3BkZXY+XVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxsb29wZGV2PiA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcHRpb25zXSBbPHDDqXJpcGhfYm91Y2xlPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8cMOpcmlwaF9ib3VjbGU+IDxmaWNoaWVyPlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM4NgorbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCBsb29wIGRldmljZXMuXG4iCittc2dzdHIgIk1ldHRyZSBlbiBwbGFjZSBldCBjb250csO0bGVyIGRlcyBww6lyaXBow6lyaXF1ZXMgYm91Y2xlLlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM4OQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGFmZmljaGVyIHRvdXMgbGVzIHDDqXJpcGjDqXJpcXVlcyB1dGlsaXPDqXNcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTAKK21zZ2lkICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2Pi4uLiAgICAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKK21zZ3N0ciAiIC1kLCAtLWRldGFjaCA8cMOpcmlwaC4+IC4uLiAgICBkw6l0YWNoZXIgdW4gb3UgcGx1c2lldXJzIHDDqXJpcGjDqXJpcXVlc1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MQorbXNnaWQgIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZMOpdGFjaGVyIHRvdXMgbGVzIHDDqXJpcGjDqXJpcXVlcyB1dGlsaXPDqXNcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTIKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZmluZCBmaXJzdCB1bnVzZWQgZGV2aWNlXG4iCittc2dzdHIgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICB0cm91dmVyIGxlIHByZW1pZXIgcMOpcmlwaMOpcmlxdWUgaW51dGlsaXPDqVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MworbXNnaWQgIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICByZXNpemUgdGhlIGRldmljZVxuIgorbXNnc3RyICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxww6lyaXBoLj4gIHJlZGltZW5zaW9ubmVyIGxlIHDDqXJpcGjDqXJpcXVlXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk0Cittc2dpZCAiIC1qLCAtLWFzc29jaWF0ZWQgPGZpbGU+ICAgICAgIGxpc3QgYWxsIGRldmljZXMgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorbXNnc3RyICIgLWosIC0tYXNzb2NpYXRlZCA8ZmljaGllcj4gICAgYWZmaWNoZXIgdG91cyBww6lyaXBow6lyaXF1ZXMgYXNzb2Npw6lzIMOgIDxmaWNoaWVyPlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5NQorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICAgICAgYXZvaWQgcG9zc2libGUgY29uZmxpY3QgYmV0d2VlbiBkZXZpY2VzXG4iCittc2dzdHIgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIHRyb3V2ZXIgdW4gcHJlbWllciBww6lyaXBow6lyaXF1ZSBsaWJyZVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5OQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBzdGFydCBhdCBvZmZzZXQgPG51bT4gaW50byBmaWxlXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPG5vbWJyZT4gICAgICAgICBkw6ltYXJyZXIgw6AgbGEgcG9zaXRpb24gPG5vbWJyZT4gZGFucyBsZSBmaWNoaWVyXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAwCittc2dpZCAiICAgICAtLXNpemVsaW1pdCA8bnVtPiAgICAgICAgIGRldmljZSBpcyBsaW1pdGVkIHRvIDxudW0+IGJ5dGVzIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiAgICAgLS1zaXplbGltaXQgPG5vbWJyZT4gICAgICBww6lyaXBow6lyaXF1ZSBsaW1pdMOpIMOgIDxub21icmU+wqBvY3RldHMgZHUgZmljaGllclxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMQorbXNnaWQgIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICBjcmVhdGUgYSBwYXJ0aXRpb25lZCBsb29wIGRldmljZVxuIgorbXNnc3RyICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgY3LDqWVyIHVuIHDDqXJpcGjDqXJpcXVlIGJvdWNsZSBwYXJ0aXRpb25uw6lcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDIKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0IHVwIGEgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBib3VjbGUgZW4gbGVjdHVyZSBzZXVsZSBzdXIgbGUgcMOpcmlwaMOpcmlxdWVcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDMKK21zZ2lkICIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAgb3BlbiBiYWNraW5nIGZpbGUgd2l0aCBPX0RJUkVDVFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA0Cittc2dpZCAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHByaW50IGRldmljZSBuYW1lIGFmdGVyIHNldHVwICh3aXRoIC1mKVxuIgorbXNnc3RyICIiCisiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIGFmZmljaGVyIGxlIG5vbSBkdSBww6lyaXBow6lyaXF1ZSBhcHLDqHNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uIChhdmVjIC1mKVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIG1vZGUgYmF2YXJkXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGxpc3QgaW5mbyBhYm91dCBhbGwgb3Igc3BlY2lmaWVkIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGFmZmljaGVyIGxlcyByZW5zZWlnbmVtZW50cyBzdXIgdG91dCBvdSBjZSBxdWlcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlc3QgaW5kaXF1w6kgKHBhciBkw6lmYXV0KVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMAorbXNnaWQgIiAtTywgLS1vdXRwdXQgPGNvbHM+ICAgICAgICAgICBzcGVjaWZ5IGNvbHVtbnMgdG8gb3V0cHV0IGZvciAtLWxpc3RcbiIKK21zZ3N0ciAiIC1PLCAtLW91dHB1dCA8Y29scz4gICAgICAgICAgIGluZGlxdWVyIGxlcyBjb2xvbm5lcyDDoCBhZmZpY2hlciBwb3VyIC0tbGlzdFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1saXN0IG91dHB1dFxuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgbmUgcGFzIGFmZmljaGVyIGTigJllbi10w6p0ZXMgcG91ciBsYSBzb3J0aWUgLS1saXN0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEyCittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgICAgIHVzZSByYXcgLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgICAgIHV0aWxpc2VyIGxlIGZvcm1hdCBkZSBzb3J0aWUgLS1saXN0IGJydXRcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTMKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgIHVzZSBKU09OIC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1dGlsaXNlciBsZSBmb3JtYXQgZGUgc29ydGllIC0tbGlzdCBicnV0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE5Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSAtLWxpc3QgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkNvbG9ubmVzIGRpc3BvbmlibGVzIHBvdXIgLS1saXN0wqA6XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGlzIHNtYWxsZXIgdGhhbiA1MTIgYnl0ZXM7IHRoZSBsb29wIGRldmljZSBtYXkgYmUgdXNlbGVzcyBvciBpbnZpc2libGUgZm9yIHN5c3RlbSB0b29scy4iCittc2dzdHIgIiVzwqA6IGF2ZXJ0aXNzZW1lbnTCoDogbGUgZmljaGllciBlc3QgcGx1cyBwZXRpdCBxdWUgNTEywqBvY3RldHMsIGxlIHDDqXJpcGjDqXJpcXVlIGJvdWNsZSBwb3VycmFpdCDDqnRyZSBpbnV0aWxlIG91IGludmlzaWJsZSBwb3VyIGxlcyBvdXRpbHMgc3lzdMOobWUuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBkb2VzIG5vdCBmaXQgaW50byBhIDUxMi1ieXRlIHNlY3RvcjsgdGhlIGVuZCBvZiB0aGUgZmlsZSB3aWxsIGJlIGlnbm9yZWQuIgorbXNnc3RyICIlc8KgOiBhdmVydGlzc2VtZW50wqA6IGxlIGZpY2hpZXIgbidlc3QgcGFzIGNvbnRlbnUgZGFucyB1biBzZWN0ZXVyIGRlIDUxMsKgb2N0ZXRzLCBsYSBmaW4gZHUgZmljaGllciBzZXJhIGlnbm9yw6llLiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NjQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MTYgc3lzLXV0aWxzL21vdW50LmM6NDU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlcyBuJ2VzdCBwYXMgdW4gcMOpcmlwaMOpcmlxdWUgZCdpbXByZXNzaW9uIGxwIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgcmVhZC1vbmx5IGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgZW5jcnlwdGVkIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiIgorCisjIGRpc2stdXRpbHMvbWtzd2FwLmM6NjEyCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZS11c2UgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBjb25maWd1cmF0aW9uIGR1IHDDqXJpcGjDqXJpcXVlIGJvdWNsZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0OTQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluc3BlY3QgbG9vcCBkZXZpY2VzIgorbXNnc3RyICLDqWNoZWMgZGUgY29uZmlndXJhdGlvbiBkdSBww6lyaXBow6lyaXF1ZSBib3VjbGUiCisKKyMgZGlzay11dGlscy9ta3N3YXAuYzo2MTIKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNoZWNrIGZvciBjb25mbGljdGluZyBsb29wIGRldmljZXMiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBjb25maWd1cmF0aW9uIGR1IHDDqXJpcGjDqXJpcXVlIGJvdWNsZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1Mjkgc3lzLXV0aWxzL2xvc2V0dXAuYzo4MjYKK21zZ2lkICJjYW5ub3QgZmluZCBhbiB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgImltcG9zc2libGUgZGUgdHJvdXZlciB1biBww6lyaXBow6lyaXF1ZSBib3VjbGUgbm9uIHV0aWxpc8OpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBiYWNraW5nIGZpbGUiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkJ3V0aWxpc2F0aW9uIGR1IGZpY2hpZXIgYXNzb2Npw6kiCisKKyMgZGlzay11dGlscy9ta3N3YXAuYzo2MTIKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjMxIHN5cy11dGlscy9sb3NldHVwLmM6NjQxIHN5cy11dGlscy9sb3NldHVwLmM6NzUzCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBkZXZpY2UiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkJ3V0aWxpc2F0aW9uIGR1IHDDqXJpcGjDqXJpcXVlIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2NAorbXNnaWQgIm5vIGxvb3AgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAiYXVjdW4gcMOpcmlwaMOpcmlxdWUgYm91Y2xlIGluZGlxdcOpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3MgorbXNnaWQgIm5vIGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICJhdWN1biBmaWNoaWVyIGluZGlxdcOpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgb3B0aW9ucyAlcyBhcmUgYWxsb3dlZCBkdXJpbmcgbG9vcCBkZXZpY2Ugc2V0dXAgb25seSIKK21zZ3N0ciAibGVzIG9wdGlvbnMgJXMgbmUgc29udCBwZXJtaXNlcyBxdWUgcGVuZGFudCBsYSBjb25maWd1cmF0aW9uIGRlIHDDqXJpcGjDqXJpcXVlIGJvdWNsZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3ODQKK21zZ2lkICJ0aGUgb3B0aW9uIC0tb2Zmc2V0IGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAibCdvcHRpb24gLS1vZmZzZXQgbidlc3QgcGFzIHBlcm1pc2UgZGFucyBjZSBjb250ZXh0ZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBjYXBhY2l0eSBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBkw6lmaW5pdGlvbiBkZSBjYXBhY2l0w6kiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGRpcmVjdCBpbyBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBjaGFuZ2VtZW50IGRlIHLDqXBlcnRvaXJlIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMDgKK21zZ2lkICJub25lIgorbXNnc3RyICJyaWVuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMDkKK21zZ2lkICJwYXJhIgorbXNnc3RyICJwYXJhIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMTAKK21zZ2lkICJmdWxsIgorbXNnc3RyICJjb21wbGV0IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMTEKK21zZ2lkICJjb250YWluZXIiCittc2dzdHIgImNvbnRlbmV1ciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTczCittc2dpZCAiaG9yaXpvbnRhbCIKK21zZ3N0ciAiaG9yaXpvbnRhbCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0Cittc2dpZCAidmVydGljYWwiCittc2dzdHIgInZlcnRpY2FsIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDYKK21zZ2lkICJsb2dpY2FsIENQVSBudW1iZXIiCittc2dzdHIgIm51bcOpcm8gZGUgcHJvY2Vzc2V1ciBsb2dpcXVlIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDcKK21zZ2lkICJsb2dpY2FsIGNvcmUgbnVtYmVyIgorbXNnc3RyICJudW3DqXJvIGRlIGPFk3VyIGxvZ2lxdWUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0OAorbXNnaWQgImxvZ2ljYWwgc29ja2V0IG51bWJlciIKK21zZ3N0ciAibnVtw6lybyBkZSBzb2NrZXQgbG9naXF1ZSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ5Cittc2dpZCAibG9naWNhbCBOVU1BIG5vZGUgbnVtYmVyIgorbXNnc3RyICJudW3DqXJvIGRlIG1vZGUgTlVNQSBsb2dpcXVlIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTAKK21zZ2lkICJsb2dpY2FsIGJvb2sgbnVtYmVyIgorbXNnc3RyICJudW3DqXJvIGRlIGxpdnJlIGxvZ2lxdWUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MQorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIGRyYXdlciBudW1iZXIiCittc2dzdHIgIm51bcOpcm8gZGUgY8WTdXIgbG9naXF1ZSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUyCittc2dpZCAic2hvd3MgaG93IGNhY2hlcyBhcmUgc2hhcmVkIGJldHdlZW4gQ1BVcyIKK21zZ3N0ciAibW9udHJlIGxhIGZhw6dvbiBkZSBwYXJ0YWdlciBsZXMgY2FjaGVzIGVudHJlIHByb2Nlc3NldXJzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTMKK21zZ2lkICJDUFUgZGlzcGF0Y2hpbmcgbW9kZSBvbiB2aXJ0dWFsIGhhcmR3YXJlIgorbXNnc3RyICJtb2RlIGRpc3RyaWJ1w6kgZGUgcHJvY2Vzc2V1ciBzdXIgbWF0w6lyaWVsIHZpcnR1ZWwiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NAorbXNnaWQgInBoeXNpY2FsIGFkZHJlc3Mgb2YgYSBDUFUiCittc2dzdHIgImFkcmVzc2UgcGh5c2lxdWUgZCd1biBwcm9jZXNzZXVyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTUKK21zZ2lkICJzaG93cyBpZiB0aGUgaHlwZXJ2aXNvciBoYXMgYWxsb2NhdGVkIHRoZSBDUFUiCittc2dzdHIgIm1vbnRyZSBzaSBsJ2h5cGVydmlzZXVyIGEgYWxsb3XDqSBsZSBwcm9jZXNzZXVyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTYKK21zZ2lkICJzaG93cyBpZiBMaW51eCBjdXJyZW50bHkgbWFrZXMgdXNlIG9mIHRoZSBDUFUiCittc2dzdHIgIm1vbnRyZSBzaSBMaW51eCB1dGlsaXNlIGVuIGNlIG1vbWVudCBsZSBwcm9jZXNzZXVyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTcKK21zZ2lkICJzaG93cyB0aGUgbWF4aW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAibW9udHJlIGxhIHZpdGVzc2UgbWF4aW1hbGUgZHUgcHJvY2Vzc2V1ciBlbiBNSHoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1OAorbXNnaWQgInNob3dzIHRoZSBtaW5pbXVtIE1IeiBvZiB0aGUgQ1BVIgorbXNnc3RyICJtb250cmUgbGEgdml0ZXNzZSBtaW5pbWFsZSBkdSBwcm9jZXNzZXVyIGVuIE1IeiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NTUwCittc2dpZCAiZXJyb3I6IHVuYW1lIGZhaWxlZCIKK21zZ3N0ciAiZXJyZXVywqA6IMOpY2hlYyBkZSB1bmFtZSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZXRlcm1pbmUgbnVtYmVyIG9mIENQVXM6ICVzIgorbXNnc3RyICLDqWNoZWMgZGUgZMOpdGVybWluYXRpb24gZHUgbm9tYnJlIGRlIHByb2Nlc3NldXJzwqA6ICVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo4OTEKK21zZ2lkICJlcnJvcjogY2FuIG5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgImVycmV1csKgOiBpbXBvc3NpYmxlIGQnaW5pdGlhbGlzZXIgbGUgdHJhaXRlbWVudCBkZSBzaWduYXV4IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo4OTYKK21zZ2lkICJlcnJvcjogY2FuIG5vdCByZXN0b3JlIHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJlcnJldXLCoDogaW1wb3NzaWJsZSBkZSByZXN0YXVyZXIgbGUgdHJhaXRlbWVudCBkZSBzaWduYXV4IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIGZyb206ICVzIgorbXNnc3RyICLDqWNoZWMgZGUgbGVjdHVyZcKgOiAlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQxMAorbXNnaWQgIkZhaWxlZCB0byBleHRyYWN0IHRoZSBub2RlIG51bWJlciIKK21zZ3N0ciAiw4ljaGVjIGTigJlleHRyYWN0aW9uIGR1IG51bcOpcm8gZGUgbsWTdWQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1Mzcgc3lzLXV0aWxzL2xzY3B1LmM6MTU0NworbXNnaWQgIlkiCittc2dzdHIgIk8iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1Mzcgc3lzLXV0aWxzL2xzY3B1LmM6MTU0NworbXNnaWQgIk4iCittc2dzdHIgIk4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyXG4iCisiIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRFxuIgorIiMgc3RhcnRpbmcgZnJvbSB6ZXJvLlxuIgorbXNnc3RyICIiCisiIyBMYSBzdWl0ZSBlc3QgZW4gZm9ybWF0IGFuYWx5c2FibGUsIHRyYW5zbWlzc2libGUgw6AgZCdhdXRyZXNcbiIKKyIjIHByb2dyYW1tZXMuIExlcyBpdGVtcyBkaXN0aW5jdHMgZGFucyBjaGFxdWUgY29sb25uZSBvbnRcbiIKKyIjIHVuIG51bcOpcm8gZCdpZGVudGlmaWFudCB1bmlxdWUgw6AgcGFydGlyIGRlIHrDqXJvLlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzgxCittc2dpZCAiQXJjaGl0ZWN0dXJlOiIKK21zZ3N0ciAiQXJjaGl0ZWN0dXJlwqA6ICIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc5NQorbXNnaWQgIkNQVSBvcC1tb2RlKHMpOiIKK21zZ3N0ciAiTW9kZShzKSBvcMOpcmF0b2lyZShzKSBkZXMgcHJvY2Vzc2V1cnPCoDogIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzk4IHN5cy11dGlscy9sc2NwdS5jOjE4MDAKK21zZ2lkICJCeXRlIE9yZGVyOiIKK21zZ3N0ciAiQm91dGlzbWXCoDogIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODAyCittc2dpZCAiQ1BVKHMpOiIKK21zZ3N0ciAiUHJvY2Vzc2V1cihzKcKgOiAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDUKK21zZ2lkICJPbi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiTWFzcXVlIGRlIHByb2Nlc3NldXIocykgZW4gbGlnbmXCoDogIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA2Cittc2dpZCAiT24tbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIkxpc3RlIGRlIHByb2Nlc3NldXIocykgZW4gbGlnbmXCoDogIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI1Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICJNYXNxdWUgZGUgcHJvY2Vzc2V1cihzKSBob3JzIGxpZ25lwqA6ICIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNgorbXNnaWQgIk9mZi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiTGlzdGUgZGUgcHJvY2Vzc2V1cihzKSBob3JzIGxpZ25lwqA6ICIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2MgorbXNnaWQgIlRocmVhZChzKSBwZXIgY29yZToiCittc2dzdHIgIlRocmVhZChzKSBwYXIgY8WTdXLCoDogIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODY0Cittc2dpZCAiQ29yZShzKSBwZXIgc29ja2V0OiIKK21zZ3N0ciAiQ8WTdXIocykgcGFyIHNvY2tldMKgOiAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjcKK21zZ2lkICJTb2NrZXQocykgcGVyIGJvb2s6IgorbXNnc3RyICJTb2NrZXQocykgcGFyIGxpdnJlwqA6ICIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3MAorbXNnaWQgIkJvb2socykgcGVyIGRyYXdlcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3MgorbXNnaWQgIkRyYXdlcihzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3NAorbXNnaWQgIkJvb2socyk6IgorbXNnc3RyICJMaXZyZShzKcKgOiAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzcKK21zZ2lkICJTb2NrZXQocyk6IgorbXNnc3RyICJTb2NrZXQocynCoDogIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgxCittc2dpZCAiTlVNQSBub2RlKHMpOiIKK21zZ3N0ciAiTsWTdWQocykgTlVNQcKgOiAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODMKK21zZ2lkICJWZW5kb3IgSUQ6IgorbXNnc3RyICJJZGVudGlmaWFudCBjb25zdHJ1Y3RldXLCoDogIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg1Cittc2dpZCAiTWFjaGluZSB0eXBlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg3Cittc2dpZCAiQ1BVIGZhbWlseToiCittc2dzdHIgIkZhbWlsbGUgZGUgcHJvY2Vzc2V1csKgOiAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODkKK21zZ2lkICJNb2RlbDoiCittc2dzdHIgIk1vZMOobGXCoDogIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODkxCittc2dpZCAiTW9kZWwgbmFtZToiCittc2dzdHIgIk5vbSBkZSBtb2TDqGxlwqA6ICIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5MworbXNnaWQgIlN0ZXBwaW5nOiIKK21zZ3N0ciAiUsOpdmlzaW9uwqA6ICIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5NQorbXNnaWQgIkNQVSBNSHo6IgorbXNnc3RyICJWaXRlc3NlIGR1IHByb2Nlc3NldXIgZW4gTUh6wqA6ICIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5NworIywgZnV6enkKK21zZ2lkICJDUFUgZHluYW1pYyBNSHo6IgorbXNnc3RyICJWaXRlc3NlIG1pbmltYWxlIGR1IHByb2Nlc3NldXIgZW4gTUh6wqA6ICIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5OQorIywgZnV6enkKK21zZ2lkICJDUFUgc3RhdGljIE1IejoiCittc2dzdHIgIlZpdGVzc2UgbWF4aW1hbGUgZHUgcHJvY2Vzc2V1ciBlbiBNSHrCoDogIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAxCittc2dpZCAiQ1BVIG1heCBNSHo6IgorbXNnc3RyICJWaXRlc3NlIG1heGltYWxlIGR1IHByb2Nlc3NldXIgZW4gTUh6wqA6ICIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMworbXNnaWQgIkNQVSBtaW4gTUh6OiIKK21zZ3N0ciAiVml0ZXNzZSBtaW5pbWFsZSBkdSBwcm9jZXNzZXVyIGVuIE1IesKgOiAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDUKK21zZ2lkICJCb2dvTUlQUzoiCittc2dzdHIgIkJvZ29NSVBTwqA6ICIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwOCBzeXMtdXRpbHMvbHNjcHUuYzoxOTEwCittc2dpZCAiVmlydHVhbGl6YXRpb246IgorbXNnc3RyICJWaXJ0dWFsaXNhdGlvbsKgOiAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTMKK21zZ2lkICJIeXBlcnZpc29yOiIKK21zZ3N0ciAiSHlwZXJ2aXNldXLCoDogIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE1Cittc2dpZCAiSHlwZXJ2aXNvciB2ZW5kb3I6IgorbXNnc3RyICJDb25zdHJ1Y3RldXIgZCdoeXBlcnZpc2V1csKgOiAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTYKK21zZ2lkICJWaXJ0dWFsaXphdGlvbiB0eXBlOiIKK21zZ3N0ciAiVHlwZSBkZSB2aXJ0dWFsaXNhdGlvbsKgOiAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTkKK21zZ2lkICJEaXNwYXRjaGluZyBtb2RlOiIKK21zZ3N0ciAiTW9kZSBkaXN0cmlidcOpwqA6ICIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkyNSBzeXMtdXRpbHMvbHNjcHUuYzoxOTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNhY2hlOiIKK21zZ3N0ciAiQ2FjaGUgJXPCoDogIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTUEgbm9kZSVkIENQVShzKToiCittc2dzdHIgIk7Fk3VkIE5VTUHCoCVkIGRlIHByb2Nlc3NldXIocynCoDogIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQ2CisjLCBmdXp6eQorbXNnaWQgIkZsYWdzOiIKK21zZ3N0ciAiSW5kLiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0OQorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBzb2NrZXRzOiIKK21zZ3N0ciAidGFpbGxlIGRlIHNlY3RldXIgcGh5c2lxdWUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NTAKK21zZ2lkICJQaHlzaWNhbCBjaGlwczoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk1MQorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBjb3Jlcy9jaGlwOiIKK21zZ3N0ciAidGFpbGxlIGRlIHNlY3RldXIgcGh5c2lxdWUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjMKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBDUFUgYXJjaGl0ZWN0dXJlLlxuIgorbXNnc3RyICJBZmZpY2hlciBkZXMgaW5mb3JtYXRpb25zIHN1ciBsJ2FyY2hpdGVjdHVyZSBkdSBwcm9jZXNzZXVyLlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY2Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IGJvdGggb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIGFmZmljaGVyIMOgIGxhIGZvaXMgbGVzIHByb2Nlc3NldXJzIGVuIGV0IGhvcnMgbGlnbmVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAocGFyIGTDqWZhdXQgcG91ciAtZSlcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2NworbXNnaWQgIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBwcmludCBvbmxpbmUgQ1BVcyBvbmx5IChkZWZhdWx0IGZvciAtcClcbiIKK21zZ3N0ciAiIgorIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBuJ2FmZmljaGVyIHF1ZSBsZXMgcHJvY2Vzc2V1cnMgZW4gbGlnbmVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAocGFyIGTDqWZhdXQgcG91ciAtcClcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2OAorbXNnaWQgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICBwcmludCBvZmZsaW5lIENQVXMgb25seVxuIgorbXNnc3RyICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAgbidhZmZpY2hlciBxdWUgbGVzIHByb2Nlc3NldXJzIGhvcnMgbGlnbmVcbiIKKworIyBzL2FuL2luLworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2OQorbXNnaWQgIiAtZSwgLS1leHRlbmRlZFs9PGxpc3Q+XSBwcmludCBvdXQgYW4gZXh0ZW5kZWQgcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtZSwgLS1leHRlbmRlZFs9PGxpc3RlPl0gIGFmZmljaGVyIGVuIGZvcm1hdCDDqXRlbmR1IGxpc2libGVcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MAorbXNnaWQgIiAtcCwgLS1wYXJzZVs9PGxpc3Q+XSAgICBwcmludCBvdXQgYSBwYXJzYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1wLCAtLXBhcnNlWz08bGlzdGU+XSAgIGFmZmljaGVyIGVuIGZvcm1hdCBhbmFseXNhYmxlXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzEKK21zZ2lkICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAgdXNlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIC1zLCAtLXN5c3Jvb3QgPHLDqXAuPiAgICB1dGlsaXNlciBjZSByw6lwZXJ0b2lyZSBjb21tZSByYWNpbmUgZHUgc3lzdMOobWVcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MgorbXNnaWQgIiAteCwgLS1oZXggICAgICAgICAgICAgICBwcmludCBoZXhhZGVjaW1hbCBtYXNrcyByYXRoZXIgdGhhbiBsaXN0cyBvZiBDUFVzXG4iCittc2dzdHIgIiIKKyIgLXgsIC0taGV4ICAgICAgICAgICAgICAgYWZmaWNoZXIgbGVzIG1hc3F1ZXMgaGV4YWTDqWNpbWF1eCBhdSBsaWV1IGRlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RlcyBkZSBwcm9jZXNzZXVyc1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTczCisjLCBmdXp6eQorbXNnaWQgIiAteSwgLS1waHlzaWNhbCAgICAgICAgICBwcmludCBwaHlzaWNhbCBpbnN0ZWFkIG9mIGxvZ2ljYWwgSURzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICBhZmZpY2hlciB0b3VzIGxlcyBww6lyaXBow6lyaXF1ZXNcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3B0aW9ucyAtLWFsbCwgLS1vbmxpbmUgYW5kIC0tb2ZmbGluZSBtYXkgb25seSBiZSB1c2VkIHdpdGggb3B0aW9ucyAtLWV4dGVuZGVkIG9yIC0tcGFyc2UuXG4iCittc2dzdHIgIiVzwqA6IGxlcyBvcHRpb25zIC0tYWxsLCAtLW9ubGluZSBldCAtLW9mZmxpbmUgbmUgcGV1dmVudCDDqnRyZSB1dGlsaXPDqWVzIHF1J2F2ZWMgbGVzIG9wdGlvbnMgLS1leHRlbmRlZCBvdSAtLXBhcnNlLlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNDkKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2Uga2V5IgorbXNnc3RyICJub20gZGUgcmVzc291cmNlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNDkKKyMsIGZ1enp5Cittc2dpZCAiS2V5IgorbXNnc3RyICJjbGVmIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgSUQiCittc2dzdHIgIm5vbSBkZSByZXNzb3VyY2UiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorIywgZnV6enkKK21zZ2lkICJJRCIKK21zZ3N0ciAiVVVJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCittc2dpZCAiT3duZXIncyB1c2VybmFtZSBvciBVSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCisjLCBmdXp6eQorbXNnaWQgIk93bmVyIgorbXNnc3RyICJwcm9wcmnDqXRhaXJlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTIKKyMsIGZ1enp5Cittc2dpZCAiUGVybWlzc2lvbnMiCittc2dzdHIgInZlcnNpb24iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MworbXNnaWQgIkNyZWF0b3IgVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NAorbXNnaWQgIkNyZWF0b3IgdXNlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTUKK21zZ2lkICJDcmVhdG9yIEdJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTYKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRvciBncm91cCIKK21zZ3N0ciAiR3JvdXBlIHByaW1haXJlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiVXNlciBJRCIKK21zZ3N0ciAiaWRlbnRpZmlhbnQgZCd1dGlsaXNhdGV1ciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgIlVJRCIKK21zZ3N0ciAiVVVJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU4CisjLCBmdXp6eQorbXNnaWQgIlVzZXIgbmFtZSIKK21zZ3N0ciAiTm9tIGQndXRpbGlzYXRldXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorbXNnaWQgIkdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorIywgZnV6enkKK21zZ2lkICJHSUQiCittc2dzdHIgIlNHSSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYwCisjLCBmdXp6eQorbXNnaWQgIkdyb3VwIG5hbWUiCittc2dzdHIgIm5vbSBkZSBncm91cGUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorIywgZnV6enkKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIKK21zZ3N0ciAidGFpbGxlIGRlIGxhIHpvbmUgZCfDqWNoYW5nZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCisjLCBmdXp6eQorbXNnaWQgIkxhc3QgY2hhbmdlIgorbXNnc3RyICJsYXN0LWNoYW5nZWQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NAorIywgZnV6enkKK21zZ2lkICJCeXRlcyB1c2VkIgorbXNnc3RyICJvY3RldHMgdXRpbGlzw6lzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2VzIgorbXNnc3RyICJOb21icmUgZGUgdMOqdGVzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiTWVzc2FnZXMiCittc2dzdHIgIm1lc3NhZ2VzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKKyMsIGZ1enp5Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyBzZW50IgorbXNnc3RyICJkYXRlIGRlIGRlcm5pw6hyZSBjb25uZXhpb24iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIk1zZyBzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgcmVjZWl2ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiTXNnIHJlY2VpdmVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgc2VuZGVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIk1zZyBzZW5kZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyByZWNlaXZlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJNc2cgcmVjZWl2ZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTcyCisjLCBmdXp6eQorbXNnaWQgIlNlZ21lbnQgc2l6ZSIKK21zZ3N0ciAiYWZmaWNoZXIgbGEgdGFpbGxlIGRlIGJsb2MiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MworIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2YgYXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICJub21icmUgbWF4aW1hbCBkZSBwcm9jZXNzdXMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MworbXNnaWQgIkF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzQKKyMsIGZ1enp5Cittc2dpZCAiU3RhdHVzIgorbXNnc3RyICLDqXRhdHMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NQorIywgZnV6enkKK21zZ2lkICJBdHRhY2ggdGltZSIKK21zZ3N0ciAiYXR0YWNow6kiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NgorIywgZnV6enkKK21zZ2lkICJEZXRhY2ggdGltZSIKK21zZ3N0ciAiZMOpdGFjaMOpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRvciBjb21tYW5kIGxpbmUiCittc2dzdHIgIkFuYWx5c2VyIGRlcyBvcHRpb25zIGRlIGxpZ25lcyBkZSBjb21tYW5kZXMuXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQiCittc2dzdHIgInBldXQtw6p0cmUgcGFzIGRlIGNvbW1hbmRlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJQSUQgb2YgdGhlIGNyZWF0b3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiQ3JlYXRvciBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiUElEIG9mIGxhc3QgdXNlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCB1c2VyIFBJRCIKK21zZ3N0ciAiaWRlbnRpZmlhbnQgZCd1dGlsaXNhdGV1ciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgyCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJOb21icmUgZGUgc2VjdGV1cnMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorIywgZnV6enkKK21zZ2lkICJTZW1hcGhvcmVzIgorbXNnc3RyICJpZGVudGlmaWFudCBkZSBzw6ltYXBob3JlwqA6ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworIywgZnV6enkKK21zZ2lkICJMYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAiT3DDqXJhdGlvbsKgJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIG5hbWUiCittc2dzdHIgIm5vbSBkZSByZXNzb3VyY2UiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NgorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSIKK21zZ3N0ciAibm9tIGRlIHJlc3NvdXJjZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJkZXNjcmlwdGlvbiBkZSByZXNzb3VyY2UiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworIywgZnV6enkKK21zZ2lkICJEZXNjcmlwdGlvbiIKK21zZ3N0ciAiZGVzY3JpcHRpb24gZCdpbmRpY2F0ZXVyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJDdXJyZW50bHkgdXNlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJVc2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorIywgZnV6enkKK21zZ2lkICJDdXJyZW50bHkgdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgInBvdXJjZW50YWdlIGQndXRpbGlzYXRpb24gZHUgc3lzdMOobWUgZGUgZmljaGllcnMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorIywgZnV6enkKK21zZ2lkICJVc2UiCittc2dzdHIgIlV0aWxpc2F0aW9uwqA6IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJTeXN0ZW0td2lkZSBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJMaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29sdW1uICVzIGRvZXMgbm90IGFwcGx5IHRvIHRoZSBzcGVjaWZpZWQgSVBDIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4NworbXNnaWQgIiAtZywgLS1nbG9iYWwgICAgICBpbmZvIGFib3V0IHN5c3RlbS13aWRlIHVzYWdlIChtYXkgYmUgdXNlZCB3aXRoIC1tLCAtcSBhbmQgLXMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg4CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICAgICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIgLWksIC0taWQgPGlkLj4gYWZmaWNoZXIgZGVzIHByw6ljaXNpb25zIHN1ciBsYSByZXNzb3VyY2UgaWRlbnRpZmnDqWUgcGFyIDxpZC4+XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NAorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICBhZmZpY2hlciBsYSBUQUlMTEUgZW4gb2N0ZXQgcGx1dMO0dCBxdSdlbiBmb3JtYXQgbGlzaWJsZVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTUKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgICAgICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiAtYywgLS1jcmVhdG9yICAgICBtb250cmVyIGxlIGNyw6lhdGV1ciBldCBsZSBwcm9wcmnDqXRhaXJlXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NworIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIHVzZSB0aGUgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHV0aWxpc2VyIGxlIGZvcm1hdCBkZSBzb3J0aWUgYnJ1dFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTkKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICBmb3JjZSBsaXN0IG91dHB1dCBmb3JtYXQgKGZvciBleGFtcGxlIHdpdGggLS1pZClcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdXRpbGlzZXIgbGUgZm9ybWF0IGRlIHNvcnRpZSBlbiBsaXN0ZVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDEKK21zZ2lkICIgLVAsIC0tbnVtZXJpYy1wZXJtcyAgICAgIHByaW50IG51bWVyaWMgcGVybWlzc2lvbnMgKFBFUk1TIGNvbHVtbilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDMKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgICAgICAgIG1vbnRyZXIgbGVzIGhldXJlcyBkJ2F0dGFjaGVtZW50LCBkZSBkw6l0YWNoZW1lbnQgZXQgZGUgbW9kaWZpY2F0aW9uXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkdlbmVyaWMgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wdGlvbnMgZ2xvYmFsZXPCoDpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkLW1lbW9yeSBjb2x1bW5zICgtLXNobWVtcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJNw6ltb2lyZSBwYXJ0YWfDqWUgc2VnbWVudCBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UtcXVldWUgY29sdW1ucyAoLS1xdWV1ZXMpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBjb2x1bW5zICgtLXNlbWFwaG9yZXMpOlxuIgorbXNnc3RyICIgLXMsIC0tc2VtYXBob3JlcyAgc8OpbWFwaG9yZXNcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTdW1tYXJ5IGNvbHVtbnMgKC0tZ2xvYmFsKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkVsZW1lbnRzOlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwNQorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlIGlkZW50aWZpZXJzIgorbXNnc3RyICJpZGVudGlmaWFudCBkZSBzdG9ja2FnZSB1bmlxdWUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwNgorIywgZnV6enkKK21zZ2lkICJUb3RhbCBudW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAibm9tYnJlIGRlIHNlY3RldXJzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDcKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNlbWFwaG9yZXMgcGVyIHNlbWFwaG9yZSBzZXQuIgorbXNnc3RyICIgLXMsIC0tc2VtYXBob3JlcyAgc8OpbWFwaG9yZXNcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA4CisjLCBmdXp6eQorbXNnaWQgIk1heCBudW1iZXIgb2Ygb3BlcmF0aW9ucyBwZXIgc2Vtb3AoMikiCittc2dzdHIgIm5vbWJyZSBtYXhpbWFsIGRlIGZpY2hpZXJzIG91dmVydHMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwOQorIywgZnV6enkKK21zZ2lkICJTZW1hcGhvcmUgbWF4IHZhbHVlIgorbXNnc3RyICJ2YWxldXIgbWF4aW1hbCBkZSBzw6ltYXBob3JlID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODYzCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiTm9tYnJlIGRlIHTDqnRlcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODY0CisjLCBmdXp6eQorbXNnaWQgIk1heCBzaXplIG9mIG1lc3NhZ2UgKGJ5dGVzKSIKK21zZ3N0ciAidGFpbGxlIG1heGltYWxlIGRlIG1lc3NhZ2UiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg2NQorIywgZnV6enkKK21zZ2lkICJEZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIChieXRlcykiCittc2dzdHIgInRhaWxsZSBtYXhpbWFsZSBwYXIgZMOpZmF1dCBkZSBmaWxlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5Nzggc3lzLXV0aWxzL2xzaXBjLmM6OTk3Cittc2dpZCAiaHVnZXRsYiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5Nzkgc3lzLXV0aWxzL2xzaXBjLmM6MTAwNAorIywgZnV6enkKK21zZ2lkICJub3Jlc2VydmUiCittc2dzdHIgIlLDqXNlcnbDqSBMaW51eCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MQorIywgZnV6enkKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIgorbXNnc3RyICIiCisiXG4iCisiTcOpbW9pcmUgcGFydGFnw6llIHNlZ21lbnQgc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MgorIywgZnV6enkKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHBhZ2VzIgorbXNnc3RyICJpZGVudGlmaWFudCBkZSBtw6ltb2lyZSBwYXJ0YWfDqWXCoDogJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MworIywgZnV6enkKK21zZ2lkICJNYXggc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAiIC1tLCAtLXNobWVtcyAgICAgIHNlZ21lbnRzIGRlIG3DqW1vaXJlIHBhcnRhZ8OpZVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDY0CisjLCBmdXp6eQorbXNnaWQgIk1pbiBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICIgLW0sIC0tc2htZW1zICAgICAgc2VnbWVudHMgZGUgbcOpbW9pcmUgcGFydGFnw6llXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjExMzUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElQQyBpZGVudGlmaWVyIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIGzigJlpZGVudGlmaWFudCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTIyOQorbXNnaWQgIi0tZ2xvYmFsIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tY3JlYXRvciwgLS1pZCBhbmQgLS10aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAibmFtZXNwYWNlIGlkZW50aWZpZXIgKGlub2RlIG51bWJlcikiCittc2dzdHIgIm51bcOpcm8gZCdpbsWTdWQgZGUgZmljaGllciBhc3NvY2nDqSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NAorbXNnaWQgImtpbmQgb2YgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODUKKyMsIGZ1enp5Cittc2dpZCAicGF0aCB0byB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICLDqXRhdCBkdSBww6lyaXBow6lyaXF1ZSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NgorIywgZnV6enkKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIGluIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgIm5vbWJyZSBkZSBwcm9jZXNzdXMgZXjDqWN1dMOpcyBwYXIgbOKAmXV0aWxpc2F0ZXVyIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg3Cittc2dpZCAibG93ZXN0IFBJRCBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODgKK21zZ2lkICJQUElEIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OQorbXNnaWQgImNvbW1hbmQgbGluZSBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTAKK21zZ2lkICJVSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkxCittc2dpZCAidXNlcm5hbWUgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG5hbWVzcGFjZT5dXG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gWzxtZXNzYWdlPl1cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo2MTYKKyMsIGZ1enp5Cittc2dpZCAiTGlzdCBzeXN0ZW0gbmFtZXNwYWNlcy5cbiIKK21zZ3N0ciAiQWZmaWNoZXIgbGVzIHZlcnJvdXMgc3lzdMOobWUgbG9jYXV4LlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYyMworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tdGFzayA8cGlkPiAgICAgICBwcmludCBwcm9jZXNzIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIC10LCAtLXRhcmdldCA8UElEPiAgICAgcHJvY2Vzc3VzIGNpYmxlIGQnb8O5IG9idGVuaXIgbGVzIGVzcGFjZXMgZGUgbm9tc1xuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYyNgorbXNnaWQgIiAtdCwgLS10eXBlIDxuYW1lPiAgICAgIG5hbWVzcGFjZSB0eXBlIChtbnQsIG5ldCwgaXBjLCB1c2VyLCBwaWQsIHV0cywgY2dyb3VwKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG5hbWVzcGFjZSB0eXBlOiAlcyIKK21zZ3N0ciAidHlwZSBkZSByZXNzb3VyY2UgaW5jb25udcKgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjczNQorIywgZnV6enkKK21zZ2lkICItLXRhc2sgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPG5hbWVzcGFjZT4iCittc2dzdHIgImzigJlvcHRpb24gLS1maW5kIGV0IDxww6lyaXBow6lyaXF1ZT4gcydleGNsdWVudCBtdXR1ZWxsZW1lbnQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzM2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbmFtZXNwYWNlIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBkZSBwYXVzZSBpbmNvcnJlY3QiCisKKyM6IHN5cy11dGlscy9sc25zLmM6Nzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBmb3VuZCBuYW1lc3BhY2U6ICVqdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NiBzeXMtdXRpbHMvdW1vdW50LmM6MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIm1vdW50wqA6IHNldWwgbGUgc3VwZXJ1dGlsaXNhdGV1ciBwZXV0IHV0aWxpc2VyIGwnb3B0aW9uIMKrwqAtLSVzwqDCuyAobCdVSUQgZWZmZWN0aWYgZXN0ICV1KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njkgc3lzLXV0aWxzL3Vtb3VudC5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICJtb3VudMKgOiBzZXVsIGxlIHN1cGVydXRpbGlzYXRldXIgcGV1dCBleMOpY3V0ZXIgY2V0dGUgY29tbWFuZGUgKGwnVUlEIGVmZmVjdGlmIGVzdCAldSkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjczIHN5cy11dGlscy91bW91bnQuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIgorbXNnc3RyICJtb3VudMKgOiBzZXVsIGxlIHN1cGVydXRpbGlzYXRldXIgcGV1dCB1dGlsaXNlciBsJ29wdGlvbiDCq8KgLS0lc8KgwrsiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0IHN5cy11dGlscy91bW91bnQuYzoxMjUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCittc2dzdHIgInNldWwgbGUgc3VwZXJ1dGlsaXNhdGV1ciBwZXV0IGV4w6ljdXRlciBjZXR0ZSBjb21tYW5kZSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6ODUgc3lzLXV0aWxzL3Vtb3VudC5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgKGxpYm1vdW50ICVzIgorbXNnc3RyICIlcyBkZSAlcyAobGlibW91bnQgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEzMAorbXNnaWQgImZhaWxlZCB0byByZWFkIG10YWIiCittc2dzdHIgIsOpY2hlYyBkZSBsZWN0dXJlwqBkZSBtdGFiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTIgc3lzLXV0aWxzL3Vtb3VudC5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogaWdub3JlZFxuIgorbXNnc3RyICIlLTI1c8KgOiBpZ25vcsOpXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MworIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogYWxyZWFkeSBtb3VudGVkXG4iCittc2dzdHIgIiUtMjVzwqA6IGTDqWrDoCBtb250w6lcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3ZlZCB0byAlcy5cbiIKK21zZ3N0ciAiJXPCoDogJXMgZMOpcGxhY8OpIHZlcnMgJXMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgYm91bmQgb24gJXMuXG4iCittc2dzdHIgIiVzwqA6ICVzIGxpw6kgc3VyICVzLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTQgc3lzLXV0aWxzL21vdW50LmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3VudGVkIG9uICVzLlxuIgorbXNnc3RyICIlc8KgOiAlcyBtb250w6kgc3VyICVzLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIHByb3BhZ2F0aW9uIGZsYWdzIGNoYW5nZWQuXG4iCittc2dzdHIgIiVzwqA6IGluZGljYXRldXJzIGRlIHByb3BhZ2F0aW9uICVzIG1vZGlmacOpcy5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJtb3VudDogJXMgZG9lcyBub3QgY29udGFpbiBTRUxpbnV4IGxhYmVscy5cbiIKKyIgICAgICAgWW91IGp1c3QgbW91bnRlZCBhbiBmaWxlIHN5c3RlbSB0aGF0IHN1cHBvcnRzIGxhYmVscyB3aGljaCBkb2VzIG5vdFxuIgorIiAgICAgICBjb250YWluIGxhYmVscywgb250byBhbiBTRUxpbnV4IGJveC4gSXQgaXMgbGlrZWx5IHRoYXQgY29uZmluZWRcbiIKKyIgICAgICAgYXBwbGljYXRpb25zIHdpbGwgZ2VuZXJhdGUgQVZDIG1lc3NhZ2VzIGFuZCBub3QgYmUgYWxsb3dlZCBhY2Nlc3MgdG9cbiIKKyIgICAgICAgdGhpcyBmaWxlIHN5c3RlbS4gIEZvciBtb3JlIGRldGFpbHMgc2VlIHJlc3RvcmVjb24oOCkgYW5kIG1vdW50KDgpLlxuIgorbXNnc3RyICIiCisibW91bnTCoDogJXMgbmUgY29udGllbnQgcGFzIGQnw6l0aXF1ZXR0ZXMgU0VMaW51eC5cbiIKKyIgICAgICAgVm91cyBhdmV6IG1vbnTDqSB1biBzeXN0w6htZSBkZSBmaWNoaWVycyBwZXJtZXR0YW50IGzigJl1dGlsaXNhdGlvblxuIgorIiAgICAgICBk4oCZw6l0aXF1ZXR0ZXMsIG1haXMgcXVpIG4nZW4gY29udGllbnQgcGFzLCBzdXIgdW4gc3lzdMOobWUgU0VMaW51eC5cbiIKKyIgICAgICAgTGVzIGFwcGxpY2F0aW9ucyBzYW5zIGRyb2l0IGfDqW7DqXJlcm9udCBwcm9iYWJsZW1lbnQgZGVzIG1lc3NhZ2VzXG4iCisiICAgICAgIEFWQyBldCBuZSBwb3Vycm9udCBwYXMgYWNjw6lkZXIgw6AgY2Ugc3lzdMOobWUgZGUgZmljaGllcnMuXG4iCisiICAgICAgIFBvdXIgcGx1cyBkZSBwcsOpY2lzaW9ucywgY29uc3VsdGV6IHJlc3RvcmVjb24oOCkgZXQgbW91bnQoOCkuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3OAorbXNnaWQgIldBUk5JTkc6IGZhaWxlZCB0byBhcHBseSBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiQXR0ZW50aW9uwqA6IMOpY2hlYyBkJ2FwcGxpY2F0aW9uIGRlcyBpbmRpY2F0ZXVycyBkZSBwcm9wYWdhdGlvbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCittc2dzdHIgInNldWwgbGUgc3VwZXJ1dGlsaXNhdGV1ciBwZXV0IG1vbnRlciAlcyBzdXIgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQiCittc2dzdHIgIiVzIGVzdCBkw6lqw6AgbW9udMOpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHVzZWQgYXMgcmVhZCBvbmx5IGxvb3AsIG1vdW50aW5nIHJlYWQtb25seSIKK21zZ3N0ciAiJXMgZXN0IHByb3TDqWfDqSBlbiDDqWNyaXR1cmUsIHNlcmEgbW9udMOpIGVuIGxlY3R1cmUgc2V1bGUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kICVzIGluICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHRyb3V2ZXIgJXMgZGFucyAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDIzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnRwb2ludCAlcyBpbiAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSB0cm91dmVyIGxlIHBvaW50IGRlIG1vbnRhZ2UgJXMgZGFucyAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDI2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgc291cmNlICVzIGluICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbGEgc291cmNlIGR1IG1vbnRhZ2UgJXMgZGFucyAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlczogbW9yZSBmaWxlc3lzdGVtcyBkZXRlY3RlZC4gVGhpcyBzaG91bGQgbm90IGhhcHBlbixcbiIKKyIgICAgICAgdXNlIC10IDx0eXBlPiB0byBleHBsaWNpdGx5IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSBvclxuIgorIiAgICAgICB1c2Ugd2lwZWZzKDgpIHRvIGNsZWFuIHVwIHRoZSBkZXZpY2UuIgorbXNnc3RyICIiCisiJXPCoDogcGx1cyBkZSBzeXN0w6htZXMgZGUgZmljaGllcnMgb250IMOpdMOpIHRyb3V2w6lzLlxuIgorIiAgICAgICAgQ2Ugbidlc3QgcGFzIGNlbnPDqSBhcnJpdmVyLCB1dGlsaXNleiAtdCA8dHlwZT4gcG91clxuIgorIiAgICAgICAgaW5kaXF1ZXIgZXhwbGljaXRlbWVudCBsZSB0eXBlIGRlIHN5c3TDqG1lIGRlIGZpY2hpZXJzXG4iCisiICAgICAgICBvdSB1dGlsaXNleiB3aXBlZnMoOCkgcG91ciBuZXR0b3llciBsZSBww6lyaXBow6lyaXF1ZS4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzNgorbXNnaWQgIkkgY291bGQgbm90IGRldGVybWluZSB0aGUgZmlsZXN5c3RlbSB0eXBlLCBhbmQgbm9uZSB3YXMgc3BlY2lmaWVkIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGTDqXRlcm1pbmVyIGxlIHR5cGUgZGUgc3lzdMOobWUgZGUgZmljaGllcnMgZXQgYXVjdW4gbidhIMOpdMOpIGluZGlxdcOpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzkKK21zZ2lkICJ5b3UgbXVzdCBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgInZvdXMgZGV2ZXogaW5kaXF1ZXIgbGUgdHlwZSBkZSBzeXN0w6htZSBkZSBmaWNoaWVycyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMiCittc2dzdHIgImltcG9zc2libGUgZGUgdHJvdXZlciAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ3Cittc2dpZCAibW91bnQgc291cmNlIG5vdCBkZWZpbmVkIgorbXNnc3RyICJsYSBzb3VyY2UgZHUgbW9udGFnZSBuJ2VzdCBwYXMgZMOpZmluaWUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1MSBzeXMtdXRpbHMvbW91bnQuYzo0NTMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkZXMgb3B0aW9ucyBkZSBtb250YWdlIgorCisjIGRpc2stdXRpbHMvbWtzd2FwLmM6NjEyCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIGNvbmZpZ3VyYXRpb24gZHUgcMOpcmlwaMOpcmlxdWUgYm91Y2xlIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50IGZhaWxlZCIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIG1vbnRhZ2UiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmlsZXN5c3RlbSBtb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorbXNnc3RyICIlc8KgOiBzeXN0w6htZSBkZSBmaWNoaWVycyBtb250w6ksIG1haXMgw6ljaGVjIGRlIG1vdW50KDgpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0ODkgc3lzLXV0aWxzL21vdW50LmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50ICVzIGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAibGUgcG9pbnQgZGUgbW9udGFnZSAlcyBuJ2VzdCBwYXMgdW4gcsOpcGVydG9pcmUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ5MworbXNnaWQgIm11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKK21zZ3N0ciAic2V1bCBsZSBzdXBlcnV0aWxpc2F0ZXVyIHBldXQgdXRpbGlzZXIgbW91bnQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBidXN5IgorbXNnc3RyICIlcyBlc3Qgb2NjdXDDqSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCBvciAlcyBidXN5IgorbXNnc3RyICIlcyBlc3QgZMOpasOgIG1vbnTDqSBvdSAlcyBlc3Qgb2NjdXDDqSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKK21zZ3N0ciAiICAgICAgICAlcyBlc3QgZMOpasOgIG1vbnTDqSBzdXIgJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50ICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJsZSBwb2ludCBkZSBtb250YWdlICVzIG4nZXhpc3RlIHBhcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50ICVzIGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIgorbXNnc3RyICJsZSBwb2ludCBkZSBtb250YWdlICVzIGVzdCB1biBsaWVuIHN5bWJvbGlxdWUgcXVpIG5lIHBvaW50ZSBudWxsZSBwYXJ0IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgImxlIHDDqXJpcGjDqXJpcXVlIHNww6ljaWFsICVzIG4nZXhpc3RlIHBhcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTM2IHN5cy11dGlscy9tb3VudC5jOjUzOCBzeXMtdXRpbHMvbW91bnQuYzo1NDAKKyM6IHN5cy11dGlscy9tb3VudC5jOjU1NQorbXNnaWQgIm1vdW50KDIpIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIG1vdW50KDIpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KSIKK21zZ3N0ciAibGUgcMOpcmlwaMOpcmlxdWUgc3DDqWNpYWwgJXMgbidleGlzdGUgcGFzICh1biBwcsOpZml4ZSBkZSBjaGVtaW4gbidlc3QgcGFzIHVuIHLDqXBlcnRvaXJlKSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCittc2dzdHIgIiVzIG4nZXN0IHBhcyBtb250w6ksIG91IG9wdGlvbiBlcnJvbsOpZSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudHBvaW50IG9yIGJhZCBvcHRpb24iCittc2dzdHIgIiVzIG4nZXN0IHBhcyB1biBwb2ludCBkZSBtb250YWdlLCBvdSBvcHRpb24gZXJyb27DqWUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2NQorbXNnaWQgIiIKKyJiYWQgb3B0aW9uLiBOb3RlIHRoYXQgbW92aW5nIGEgbW91bnQgcmVzaWRpbmcgdW5kZXIgYSBzaGFyZWRcbiIKKyIgICAgICAgbW91bnQgaXMgdW5zdXBwb3J0ZWQuIgorbXNnc3RyICIiCisibWF1dmFpc2Ugb3B0aW9uLiBSZW1hcnF1ZXogcXVlIGxlIGTDqXBsYWNlbWVudCBkJ3VuIG1vbnRhZ2UgcsOpc2lkYW50IHNvdXMgdW5cbiIKKyIgICAgICAgIG1vbnRhZ2UgcGFydGFnw6kgbidlc3QgcGFzIHByaXMgZW4gY2hhcmdlLiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ3cm9uZyBmcyB0eXBlLCBiYWQgb3B0aW9uLCBiYWQgc3VwZXJibG9jayBvbiAlcyxcbiIKKyIgICAgICAgbWlzc2luZyBjb2RlcGFnZSBvciBoZWxwZXIgcHJvZ3JhbSwgb3Igb3RoZXIgZXJyb3IiCittc2dzdHIgIiIKKyJtYXV2YWlzIHR5cGUgZGUgc3lzdMOobWUgZGUgZmljaGllcnMsIG9wdGlvbiBlcnJvbsOpZSwgc3VwZXJibG9jIGVycm9uw6lcbiIKKyIgICAgICAgIHN1ciAlcywgcGFnZSBkZSBjb2RlIG91IHByb2dyYW1tZSBhdXhpbGlhaXJlIG1hbnF1YW50LCBvdSBhdXRyZSBlcnJldXIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU3NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAgIChmb3Igc2V2ZXJhbCBmaWxlc3lzdGVtcyAoZS5nLiBuZnMsIGNpZnMpIHlvdSBtaWdodFxuIgorIiAgICAgICBuZWVkIGEgL3NiaW4vbW91bnQuPHR5cGU+IGhlbHBlciBwcm9ncmFtKVxuIgorbXNnc3RyICIiCisiICAgICAgICAocG91ciBwbHVzaWV1cnMgc3lzdMOobWUgZGUgZmljaGllcnMgKE5GUyBvdSBDSUZTIHBhciBleGVtcGxlKSwgdW5cbiIKKyIgICAgICAgIHByb2dyYW1tZSAvc2Jpbi9tb3VudC48dHlwZT4gYXV4aWxpYWlyZSBwb3VycmFpdCDDqnRyZSBuw6ljZXNzYWlyZSlcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIgICAgICAgSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBpcyBmb3VuZCBpbiBzeXNsb2cgLSB0cnlcbiIKKyIgICAgICAgZG1lc2cgfCB0YWlsIG9yIHNvLlxuIgorbXNnc3RyICIiCisiXG4iCisiICAgICAgICBEYW5zIGNlcnRhaW5zIGNhcyBkZXMgcmVuc2VpZ25lbWVudHMgdXRpbGVzIHNvbnQgZGFucyBsZSBqb3VybmFsXG4iCisiICAgICAgICBzeXN0w6htZSDigJQgZXNzYXlleiDCq8KgZG1lc2cgfCB0YWlswqDCuyBvdSBxdWVscXVlIGNob3NlIGR1IGdlbnJlLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1ODMKK21zZ2lkICJtb3VudCB0YWJsZSBmdWxsIgorbXNnc3RyICJsYSB0YWJsZSBkZXMgcMOpcmlwaMOpcmlxdWVzIG1vbnTDqXMgZXN0IHBsZWluZSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCByZWFkIHN1cGVyYmxvY2siCittc2dzdHIgIiVzwqA6IGltcG9zc2libGUgZGUgbGlyZSBsZSBzdXBlcmJsb2MiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU5MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSAnJXMnIgorbXNnc3RyICJ0eXBlIGRlIHN5c3TDqG1lIGRlIGZpY2hpZXJzIMKrwqAlc8KgwrsgaW5jb25udSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTk0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgInR5cGUgZGUgc3lzdMOobWUgZGUgZmljaGllcnMgaW5jb25udSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQoMikgZmFpbHM/IgorbXNnc3RyICIlcyBuJ2VzdCBwYXMgdW4gcMOpcmlwaMOpcmlxdWUgYmxvYywgZXQgcG9zc2libGUgw6ljaGVjIGRlIHN0YXQoMikiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2VcbiIKKyIgICAgICAgKG1heWJlIGBtb2Rwcm9iZSBkcml2ZXInPykiCittc2dzdHIgIiIKKyJsZSBub3lhdSBuZSByZWNvbm5hw650IHBhcyAlcyBjb21tZSB1biBww6lyaXBow6lyaXF1ZSBibG9jXG4iCisiICAgICAgICAoZXNzYXlleiBwZXV0LcOqdHJlIMKrwqBtb2Rwcm9iZSBwaWxvdGXCoMK7KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSAobWF5YmUgdHJ5IGAtbyBsb29wJz8pIgorbXNnc3RyICIlcyBuJ2VzdCBwYXMgdW4gcMOpcmlwaMOpcmlxdWUgYmxvYyAoZXNzYXllciBwZXV0LcOqdHJlIMKrwqAtbyBsb29wwqDCuykiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIgJXMgbidlc3QgcGFzIHVuIHDDqXJpcGjDqXJpcXVlIGJsb2MiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzIG4nZXN0IHBhcyB1biBww6lyaXBow6lyaXF1ZSBibG9jIHZhbGFibGUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQgJXMgcmVhZC1vbmx5IgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIG1vbnRlciAlcyBlbiBsZWN0dXJlIHNldWxlIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCBgLXcnIGZsYWcgZ2l2ZW4iCittc2dzdHIgIiVzIGVzdCBwcm90w6lnw6kgZW4gw6ljcml0dXJlIG1haXMgbCdvcHRpb24gwqvCoC13wqDCuyBhIMOpdMOpIGZvdXJuaWUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyOAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVtb3VudCAlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCittc2dzdHIgImltcG9zc2libGUgZGUgcmVtb250ZXIgJXMgZW4gbGVjdHVyZS/DqWNyaXR1cmUsIGVzdCBwcm90w6lnw6kgZW4gw6ljcml0dXJlIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MzEgc3lzLXV0aWxzL21vdW50LmM6NjU0IHN5cy11dGlscy91bnNoYXJlLmM6MTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGR1IG1vbnRhZ2UgZGUgJXMgc3VyICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkLCBtb3VudGluZyByZWFkLW9ubHkiCittc2dzdHIgIiVzIGVzdCBwcm90w6lnw6kgZW4gw6ljcml0dXJlLCBzZXJhIG1vbnTDqSBlbiBsZWN0dXJlIHNldWxlIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbWVkaXVtIGZvdW5kIG9uICVzIgorbXNnc3RyICJhdWN1biBzdXBwb3J0IHRyb3V2w6kgZGFucyAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkJ2FuYWx5c2UiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxNworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBvcHRpb24gZm9ybWF0OiAlcyIKK21zZ3N0ciAiZm9ybWF0IGTigJlvcHRpb24gbm9uIHByaXMgZW4gY2hhcmdlwqA6ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFwcGVuZCBvcHRpb24gJyVzJyIKK21zZ3N0ciAiw6ljaGVjIGQnYWpvdXQgZGUgbCdvcHRpb24gwqvCoCVzwqDCuyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWxoVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlXSA8c291cmNlPiB8IFstLXRhcmdldF0gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyA8b3BlcmF0aW9uPiA8bW91bnRwb2ludD4gWzx0YXJnZXQ+XVxuIgorbXNnc3RyICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZV0gPHNvdXJjZT4gfCBbLS10YXJnZXRdIDxyw6lwZXJ0b2lyZT5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gPHLDqXBlcnRvaXJlPlxuIgorIiAlMSRzIDxvcMOpcmF0aW9uPiA8cG9pbnRkZW1vbnRhZ2U+IFs8Y2libGU+XVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NDQKK21zZ2lkICJNb3VudCBhIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIk1vbnRlciB1biBzeXN0w6htZSBkZSBmaWNoaWVycy5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW91bnQgYWxsIGZpbGVzeXN0ZW1zIG1lbnRpb25lZCBpbiBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgbW91bnQoMikgc3lzY2FsbFxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBmb3JrIG9mZiBmb3IgZWFjaCBkZXZpY2UgKHVzZSB3aXRoIC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8cGF0aD4gICAgICBhbHRlcm5hdGl2ZSBmaWxlIHRvIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBtb250ZXIgdG91cyBzeXN0w6htZXMgZGUgZmljaGllcnMgaW5kaXF1w6lzIGRhbnMgZnN0YWJcbiIKKyIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgbmUgcGFzIGNhbm9uaXNlciBsZXMgY2hlbWluc1xuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICByw6lww6l0aXRpb24sIHNhdXRlciBsJ2FwcGVsIHN5c3TDqG1lIG1vdW50KDIpXG4iCisiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIGNyw6llciB1biBwcm9jZXNzdXMgZmlscyBwb3VyIGNoYXF1ZSBww6lyaXBow6lyaXF1ZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgKHV0aWxpc2VyIGF2ZWMgLWEpXG4iCisiIC1ULCAtLWZzdGFiIDxjaGVtaW4+ICAgIGF1dHJlIGZpY2hpZXIgcG91ciAvZXRjL2ZzdGFiXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBuZSBwYXMgYXBwZWxlciBsZXMgYXV4aWxpYWlyZXMgdW1vdW50Ljx0eXBlPlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBzaG93IGFsc28gZmlsZXN5c3RlbSBsYWJlbHNcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgIG1vbnRyZXIgbGVzIHRhaWxsZXMgZW4gb2N0ZXRcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU4IHN5cy11dGlscy91bW91bnQuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCittc2dzdHIgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBuZSBwYXMgw6ljcmlyZSBkYW5zIC9ldGMvbXRhYlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtb3VudCBvcHRpb25zXG4iCisiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLW9ubHkgKHNhbWUgYXMgLW8gcm8pXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIiCisiIC1vLCAtLW9wdGlvbnMgPGxpc3RlPiAgIGxpc3RlIHPDqXBhcsOpZSBwYXIgZGVzIHZpcmd1bGVzIGQnb3B0aW9ucyBkZSBtb250YWdlXG4iCisiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdGU+IGxpbWl0ZXIgbCdlbnNlbWJsZSBkZSBzeXN0w6htZXMgZGUgZmljaGllcnNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAodXRpbGlzZXIgYXZlYyAtYSlcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgbW9udGVyIGxlIHN5c3TDqG1lIGRlIGZpY2hpZXJzIGVuIGxlY3R1cmUgc2V1bGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWRlbnRpcXVlIMOgIC1vIHJvKVxuIgorIiAtdCwgLS10eXBlcyA8bGlzdGU+ICAgICBsaW1pdGVyIGwnZW5zZW1ibGUgZGUgdHlwZXMgZGUgc3lzdMOobWUgZGUgZmljaGllcnNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tc291cmNlIDxzcmM+ICAgICAgZXhwbGljaXRseSBzcGVjaWZpZXMgc291cmNlIChwYXRoLCBsYWJlbCwgdXVpZClcbiIKKyIgICAgIC0tdGFyZ2V0IDx0YXJnZXQ+ICAgZXhwbGljaXRseSBzcGVjaWZpZXMgbW91bnRwb2ludFxuIgorbXNnc3RyICIiCisiICAgICAtLXNvdXJjZSA8c291cmNlPiAgIGluZGlxdWVyIGV4cGxpY2l0ZW1lbnQgbGEgc291cmNlIChjaGVtaW4sIMOpdGlxdS4sIFVVSUQpXG4iCisiICAgICAtLXRhcmdldCA8Y2libGU+ICAgIGluZGlxdWVyIGV4cGxpY2l0ZW1lbnQgbGUgcG9pbnQgZGUgbW9udGFnZVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3Njggc3lzLXV0aWxzL3Vtb3VudC5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBzYXkgd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBleHBsaXF1ZXIgbGVzIGFjdGlvbnMgZW4gY291cnNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU291cmNlOlxuIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTb3VyY2XCoDpcbiIKKyIgLUwsIC0tbGFiZWwgPMOpdGlxdWV0dGU+IHN5bm9ueW1lIGRlIExBQkVMPTzDqXRpcXVldHRlPlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBzeW5vbnltZSBkZSBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08w6l0aXF1ZXR0ZT4gICAgICAgaW5kaXF1ZXIgcMOpcmlwaC4gcGFyIMOpdGlxdWV0dGUgZGUgc3lzdMOobWUgZGUgZmljaGllcnNcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICAgaW5kaXF1ZXIgcMOpcmlwaMOpcmlxdWUgcGFyIFVVSUQgZGUgc3lzdMOobWUgZGUgZmljaGllcnNcbiIKKyIgUEFSVExBQkVMPTzDqXRpcXVldHRlPiAgIGluZGlxdWVyIGxlIHDDqXJpcGjDqXJpcXVlIHBhciDDqXRpcXVldHRlIGRlIHBhcnRpdGlvblxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgICBpbmRpcXVlciBsZSBww6lyaXBow6lyaXF1ZSBwYXIgVVVJRCBkZSBwYXJ0aXRpb25cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXRoXG4iCisiIDxkaXJlY3Rvcnk+ICAgICAgICAgICAgIG1vdW50cG9pbnQgZm9yIGJpbmQgbW91bnRzIChzZWUgLS1iaW5kL3JiaW5kKVxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgICByZWd1bGFyIGZpbGUgZm9yIGxvb3BkZXYgc2V0dXBcbiIKK21zZ3N0ciAiIgorIiA8cMOpcmlwaMOpcmlxdWU+ICAgICAgICAgIGluZGlxdWVyIGxlIHDDqXJpcGjDqXJpcXVlIHBhciBjaGVtaW5cbiIKKyIgPHLDqXBlcnRvaXJlPiAgICAgICAgICAgIHB0IGRlIG1vbnRhZ2UgcG91ciByZW1vbnRhZ2VzIChjb25zdWx0ZXogLS1iaW5kL3JiaW5kKVxuIgorIiA8ZmljaGllcj4gICAgICAgICAgICAgICBmaWNoaWVyIHLDqWd1bGllciBwb3VyIGNvbmZpZ3VyYXRpb24gZGUgcMOpcmlwaC4gYm91Y2xlXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc5MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3BlcmF0aW9uczpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIHNvbWV3aGVyZSBlbHNlIChzYW1lIGFzIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG1vdmUgYSBzdWJ0cmVlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlXG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcMOpcmF0aW9uc8KgOlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICBtb250ZXIgdW4gc291cy1yw6lwZXJ0b2lyZSBhaWxsZXVycyAoY29tbWUgLW8gYmluZClcbiIKKyIgLU0sIC0tbW92ZSAgICAgICAgICAgICAgZMOpcGxhY2VyIHVuIHNvdXMtcsOpcGVydG9pcmUgYWlsbGV1cnNcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW9udGVyIHVuIHNvdXMtcsOpcC4gZXQgdG91cyBsZXMgc291cy1tb250YWdlcyBhaWxsZXVyc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXNsYXZlICAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXByaXZhdGUgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICBtYXJrIGEgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFycXVlciB1biBzb3VzLXLDqXBlcnRvaXJlIGNvbW1lIHBhcnRhZ8OpXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcnF1ZXIgdW4gc291cy1yw6lwZXJ0b2lyZSBjb21tZSBlc2NsYXZlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcnF1ZXIgdW4gc291cy1yw6lwZXJ0b2lyZSBjb21tZSBwcml2w6lcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFycXVlciB1biBzb3VzLXLDqXBlcnRvaXJlIGNvbW1lIG5vbiByZW1vbnRhYmxlXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjgwMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorIiAtLW1ha2UtcnNoYXJlZCAgICAgICAgICBtYXJxdWVyIHLDqWN1cnNpdmVtZW50IHRvdXQgdW4gc291cy1yw6lwZXJ0b2lyZSBwYXJ0YWfDqVxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICBtYXJxdWVyIHLDqWN1cnNpdmVtZW50IHRvdXQgdW4gc291cy1yw6lwZXJ0b2lyZSBlc2NsYXZlXG4iCisiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIG1hcnF1ZXIgcsOpY3Vyc2l2ZW1lbnQgdG91dCB1biBzb3VzLXLDqXBlcnRvaXJlIHByaXbDqVxuIgorIiAtLW1ha2UtcnVuYmluZGFibGUgICAgICBtYXJxdWVyIHLDqWN1cnNpdmVtZW50IHRvdXQgdW4gc291cy1yw6lwLiBub24gcmVtb250YWJsZVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4ODcgc3lzLXV0aWxzL3Vtb3VudC5jOjU0OAorbXNnaWQgImxpYm1vdW50IGNvbnRleHQgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkJ2FsbG9jYXRpb24gZGUgY29udGV4dGUgbGlibW91bnQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjk0NCBzeXMtdXRpbHMvdW1vdW50LmM6NjAxCittc2dpZCAiZmFpbGVkIHRvIHNldCBvcHRpb25zIHBhdHRlcm4iCittc2dzdHIgIsOpY2hlYyBkZSBjb25maWd1cmF0aW9uIGRlcyBvcHRpb25zIGRlIG1vdGlmIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMDk3Cittc2dpZCAic291cmNlIHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAic291cmNlIGluZGlxdcOpZSBwbHVzaWV1cnMgZm9pcyIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstcWRdIC9wYXRoL3RvL2RpcmVjdG9yeVxuIgorIiAlMSRzIC14IC9kZXYvZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLXFkXSAvY2hlbWluL3ZlcnMvcsOpcGVydG9pcmVcbiIKKyIgJTEkcyAteCAvZGV2L3DDqXJpcGjDqXJpcXVlXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTIyCittc2dpZCAiQ2hlY2sgd2hldGhlciBhIGRpcmVjdG9yeSBvciBmaWxlIGlzIGEgbW91bnRwb2ludC5cbiIKK21zZ3N0ciAiVsOpcmlmaWVyIHNpIHVuIHLDqXBlcnRvaXJlIG91IHVuIGZpY2hpZXIgZXN0IHVuIHBvaW50IGRlIG1vbnRhZ2UuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTI1Cittc2dpZCAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgcXVpZXQgbW9kZSAtIGRvbid0IHByaW50IGFueXRoaW5nXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgYmxvY2sgZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgLXEsIC0tcXVpZXQgICAgICAgIG1vZGUgc2lsZW5jaWV1eCwgbmUgcmllbiBhZmZpY2hlclxuIgorIiAtZCwgLS1mcy1kZXZubyAgICAgYWZmaWNoZXIgbGUgbnVtw6lybyBtYWo6bWluIGR1IHN5c3TDqG1lIGRlIGZpY2hpZXJzXG4iCisiIC14LCAtLWRldm5vICAgICAgICBhZmZpY2hlciBsZSBudW3DqXJvIG1hajptaW4gZHUgcMOpcmlwaMOpcmlxdWUgYmxvY1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjE5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzIG4nZXN0IHBhcyB1biBwb2ludCBkZSBtb250YWdlXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyBlc3QgdW4gcG9pbnQgZGUgbW9udGFnZVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjcyIHN5cy11dGlscy9zZXRwcml2LmM6OTMgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gPHByb2dyYW1tZT4gWzxhcmd1bWVudHM+IC4uLl1cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3NgorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBuYW1lc3BhY2VzIG9mIG90aGVyIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiRXjDqWN1dGVyIHVuIHByb2dyYW1tZSBhdmVjIGxlcyBlc3BhY2VzIGRlIG5vbXMgZOKAmWF1dHJlcyBwcm9jZXNzdXMuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzkKK21zZ2lkICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICB0YXJnZXQgcHJvY2VzcyB0byBnZXQgbmFtZXNwYWNlcyBmcm9tXG4iCittc2dzdHIgIiAtdCwgLS10YXJnZXQgPFBJRD4gICAgIHByb2Nlc3N1cyBjaWJsZSBkJ2/DuSBvYnRlbmlyIGxlcyBlc3BhY2VzIGRlIG5vbXNcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MAorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgIGVudGVyIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLW0sIC0tbW91bnRbPTxmaWNoLj5dICBlbnRyZXIgbCdlc3BhY2UgZGUgbm9tcyBkZSBtb250YWdlXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODEKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICBlbnRlciBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAtdSwgLS11dHNbPTxmaWNoaWVyPl0gIGVudHJlciBsJ2VzcGFjZSBkZSBub21zIFVUUyAobm9tIGQnaMO0dGUswqBldGMuKVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgyCittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgZW50ZXIgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLWksIC0taXBjWz08ZmljaGllcj5dICBlbnRyZXIgbCdlc3BhY2UgZGUgbm9tcyBJUEMgU3lzdGVtwqBWXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODMKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICBlbnRlciBuZXR3b3JrIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLW4sIC0tbmV0Wz08ZmljaGllcj5dICBlbnRyZXIgbCdlc3BhY2UgZGUgbm9tcyByw6lzZWF1XG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODQKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICBlbnRlciBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtcCwgLS1waWRbPTxmaWNoaWVyPl0gIGVudHJlciBsJ2VzcGFjZSBkZSBub21zIGRlIFBJRFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg1CisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gIGVudGVyIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1tLCAtLW1vdW50Wz08ZmljaC4+XSAgZW50cmVyIGwnZXNwYWNlIGRlIG5vbXMgZGUgbW9udGFnZVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg2Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgZW50ZXIgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1VLCAtLXVzZXJbPTxmaWNoLj5dICAgZW50cmVyIGwnZXNwYWNlIGRlIG5vbXMgZCd1dGlsaXNhdGV1clxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg3Cittc2dpZCAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgc2V0IHVpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLVMsIC0tc2V0dWlkIDxVSUQ+ICAgICBjb25maWd1cmVyIGzigJlVSUQgZGFucyBsJ2VzcGFjZSBkZSBub21zIGVudHLDqVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg4Cittc2dpZCAiIC1HLCAtLXNldGdpZCA8Z2lkPiAgICAgc2V0IGdpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLUcsIC0tc2V0Z2lkIDxHSUQ+ICAgICBjb25maWd1cmVyIGxlIEdJRCBkYW5zIGwnZXNwYWNlIGRlIG5vbXMgZW50csOpXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODkKK21zZ2lkICIgICAgIC0tcHJlc2VydmUtY3JlZGVudGlhbHMgZG8gbm90IHRvdWNoIHVpZHMgb3IgZ2lkc1xuIgorbXNnc3RyICIgICAgIC0tcHJlc2VydmUtY3JlZGVudGlhbHMgIG5lIHBhcyBtb2RpZmllciBsZXMgVUlEIG5pIEdJRFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkwCittc2dpZCAiIC1yLCAtLXJvb3RbPTxkaXI+XSAgICAgc2V0IHRoZSByb290IGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXIsIC0tcm9vdFs9PHLDqXAuPl0gICAgZMOpZmluaXIgbGUgcsOpcGVydG9pcmUgcmFjaW5lXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTEKK21zZ2lkICIgLXcsIC0td2RbPTxkaXI+XSAgICAgICBzZXQgdGhlIHdvcmtpbmcgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtdywgLS13ZFs9PHLDqXAuPl0gICAgICBkw6lmaW5pciBsZSByw6lwZXJ0b2lyZSBkZSB0cmF2YWlsXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTIKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICBkbyBub3QgZm9yayBiZWZvcmUgZXhlYydpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiIKKyIgLUYsIC0tbm8tZm9yayAgICAgICAgICBuZSBwYXIgY3LDqWVyIGRlIHByb2Nlc3N1cyBmaWxzIGF2YW50IGQnZXjDqWN1dGVyXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBsZSA8cHJvZ3JhbW1lPlxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjk0Cittc2dpZCAiIC1aLCAtLWZvbGxvdy1jb250ZXh0ICAgc2V0IFNFTGludXggY29udGV4dCBhY2NvcmRpbmcgdG8gLS10YXJnZXQgUElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAibmVpdGhlciBmaWxlbmFtZSBub3IgdGFyZ2V0IHBpZCBzdXBwbGllZCBmb3IgJXMiCittc2dzdHIgImF1Y3VuIG5vbSBkZSBmaWNoaWVyIG91IFBJRCBjaWJsZSBmb3VybmkgcG91ciAlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoyNzcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdWlkIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIGzigJlVSUQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MjgxCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGdpZCIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkdSBHSUQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzE3Cittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tZm9sbG93LWNvbnRleHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgJWQgU0VMaW51eCBjb250ZXh0IgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciB1biBub3V2ZWF1IGNvbnRleHRlIFNFTGludXgiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGV4ZWMgY29udGV4dCB0byAnJXMnIgorbXNnc3RyICLDqWNoZWMgZGUgY29uZmlndXJhdGlvbiBkJ2FyY2hpdGVjdHVyZSBzeXN0w6htZSDDoCAlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhc3NvY2lhdGUgdG8gbmFtZXNwYWNlICclcycgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgcsOpYXNzb2NpYXRpb24gw6AgbCdlc3BhY2UgZGUgbm9tcyDCq8KgJXPCoMK7IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM5MAorbXNnaWQgImNhbm5vdCBvcGVuIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgbGUgcsOpcGVydG9pcmUgZGUgdHJhdmFpbCBhY3R1ZWwiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mzk3Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSByb290IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBtb2RpZmljYXRpb24gZHUgcsOpcGVydG9pcmUgcGFyIGxlIGRlc2NyaXB0ZXVyIGRlIGZpY2hpZXJzIHJhY2luZSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MDAKK21zZ2lkICJjaHJvb3QgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgY2hyb290IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQxMAorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgd29ya2luZyBkaXJlY3RvcnkgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIG1vZGlmaWNhdGlvbiBkdSByw6lwZXJ0b2lyZSBwYXIgbGUgZGVzY3JpcHRldXIgZGUgZmljaGllcnMgZHUgcsOpcGVydG9pcmUgZGUgdHJhdmFpbCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MjEgc3lzLXV0aWxzL3NldHByaXYuYzo4MTUgc3lzLXV0aWxzL3NldHByaXYuYzo4MTkKK21zZ2lkICJzZXRncm91cHMgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgc2V0Z3JvdXBzIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gbmV3X3Jvb3QgcHV0X29sZFxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIG5vdXZlbGxlX3JhY2luZSBhbmNpZW5fZW1wbGFjZW1lbnRcbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozNworbXNnaWQgIkNoYW5nZSB0aGUgcm9vdCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJDaGFuZ2VyIGxlIHN5c3TDqG1lIGRlIGZpY2hpZXJzIHJhY2luZS5cbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QgZnJvbSBgJXMnIHRvIGAlcyciCittc2dzdHIgIsOpY2hlYyBkdSBkw6lwbGFjZW1lbnQgZGUgcmFjaW5lIGRlIMKrwqAlc8KgwrsgdmVycyDCq8KgJXPCoMK7IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1Cittc2dpZCAiYWRkcmVzcyBzcGFjZSBsaW1pdCIKK21zZ3N0ciAibGltaXRlIGQnZXNwYWNlIGQnYWRyZXNzZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NgorbXNnaWQgIm1heCBjb3JlIGZpbGUgc2l6ZSIKK21zZ3N0ciAidGFpbGxlIG1heGltYWxlIGRlIGZpY2hpZXIgY29yZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworbXNnaWQgIkNQVSB0aW1lIgorbXNnc3RyICJ0ZW1wcyBtaWNyb3Byb2Nlc3NldXIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJzZWNvbmRzIgorbXNnc3RyICJzZWNvbmRlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OAorbXNnaWQgIm1heCBkYXRhIHNpemUiCittc2dzdHIgInRhaWxsZSBtYXhpbWFsZSBkZSBkb25uw6llcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OQorbXNnaWQgIm1heCBmaWxlIHNpemUiCittc2dzdHIgInRhaWxsZSBtYXhpbWFsZSBkZSBmaWNoaWVyIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCittc2dpZCAibWF4IG51bWJlciBvZiBmaWxlIGxvY2tzIGhlbGQiCittc2dzdHIgIm5vbWJyZSBtYXhpbWFsIGRlIHZlcnJvdXMgZGUgZmljaGllciB0ZW51cyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorIywgZnV6enkKK21zZ2lkICJsb2NrcyIKK21zZ3N0ciAiYmxvY3MiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKK21zZ2lkICJtYXggbG9ja2VkLWluLW1lbW9yeSBhZGRyZXNzIHNwYWNlIgorbXNnc3RyICJlc3BhY2UgZCdhZHJlc3NlIG1heGltYWwgdmVycm91aWxsw6kgZW4gbcOpbW9pcmUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIKK21zZ2lkICJtYXggYnl0ZXMgaW4gUE9TSVggbXF1ZXVlcyIKK21zZ3N0ciAibm9tYnJlIG1heGltYWwgZCdvY3RldHMgZGFucyBsZXMgZmlsZXMgZGUgbWVzc2FnZXMgUE9TSVgiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODMKK21zZ2lkICJtYXggbmljZSBwcmlvIGFsbG93ZWQgdG8gcmFpc2UiCittc2dzdHIgInByaW9yaXTDqSBuaWNlIG1heGltYWxlIHBlcm1pc2UiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKK21zZ2lkICJtYXggbnVtYmVyIG9mIG9wZW4gZmlsZXMiCittc2dzdHIgIm5vbWJyZSBtYXhpbWFsIGRlIGZpY2hpZXJzIG91dmVydHMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXMiCittc2dzdHIgImZpY2hpZXIgJXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKK21zZ2lkICJtYXggbnVtYmVyIG9mIHByb2Nlc3NlcyIKK21zZ3N0ciAibm9tYnJlIG1heGltYWwgZGUgcHJvY2Vzc3VzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1CisjLCBmdXp6eQorbXNnaWQgInByb2Nlc3NlcyIKK21zZ3N0ciAiaWRlbnRpZmlhbnQgZGUgcHJvY2Vzc3VzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2Cittc2dpZCAibWF4IHJlc2lkZW50IHNldCBzaXplIgorbXNnc3RyICJ0YWlsbGUgZGUgbcOpbW9pcmUgcsOpc2lkZW50ZSBtYXhpbWFsZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NworbXNnaWQgIm1heCByZWFsLXRpbWUgcHJpb3JpdHkiCittc2dzdHIgInByaW9yaXTDqSB0ZW1wcyByw6llbCBtYXhpbWFsZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgInRpbWVvdXQgZm9yIHJlYWwtdGltZSB0YXNrcyIKK21zZ3N0ciAiZXhwaXJhdGlvbiBwb3VyIGxlcyB0w6JjaGVzIGVuIHRlbXBzIHLDqWVsIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAibWljcm9zZWNzIgorbXNnc3RyICJtaWNyb3NlY29uZGVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAibWF4IG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHMiCittc2dzdHIgIm5vbWJyZSBtYXhpbWFsIGRlIHNpZ25hdXggZW4gYXR0ZW50ZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorbXNnaWQgInNpZ25hbHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgIm1heCBzdGFjayBzaXplIgorbXNnc3RyICJ0YWlsbGUgbWF4aW1hbGUgZGUgcGlsZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjMKK21zZ2lkICJyZXNvdXJjZSBuYW1lIgorbXNnc3RyICJub20gZGUgcmVzc291cmNlIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNAorbXNnaWQgInJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJkZXNjcmlwdGlvbiBkZSByZXNzb3VyY2UiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI1Cittc2dpZCAic29mdCBsaW1pdCIKK21zZ3N0ciAibGltaXRlIHNvdXBsZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjYKK21zZ2lkICJoYXJkIGxpbWl0IChjZWlsaW5nKSIKK21zZ3N0ciAibGltaXRlIGFic29sdWUgKHBsYWZvbmQpIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNworbXNnaWQgInVuaXRzIgorbXNnc3RyICJ1bml0w6lzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstcCBQSURdXG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gWy1wIDxQSUQ+XVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIENPTU1BTkRcbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSA8Y29tbWFuZGU+XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY2Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlc291cmNlIGxpbWl0cyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIk1vbnRyZXIgb3UgbW9kaWZpZXIgbGVzIGxpbWl0ZXMgZGUgcmVzc291cmNlIGTigJl1biBwcm9jZXNzdXMuXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY4Cittc2dpZCAiIgorIlxuIgorIkdlbmVyYWwgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wdGlvbnMgZ2xvYmFsZXPCoDpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjkKK21zZ2lkICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG91dHB1dFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1waWQgPFBJRD4gICAgICAgIGlkZW50aWZpYW50IGRlIHByb2Nlc3N1c1xuIgorIiAtbywgLS1vdXRwdXQgPGxpc3RlPiAgIGTDqWZpbmlyIGxlcyBjb2xvbm5lcyBkZSBzb3J0aWUgw6AgdXRpbGlzZXJcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBuZSBwYXMgYWZmaWNoZXIgbGVzIGVuLXTDqnRlc1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHV0aWxpc2VyIGxlIGZvcm1hdCBkZSBzb3J0aWUgYnJ1dFxuIgorIiAgICAgLS12ZXJib3NlICAgICAgICAgIHNvcnRpZSBiYXZhcmRlXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgYWZmaWNoZXIgY2V0dGUgYWlkZSBldCBxdWl0dGVyXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgYWZmaWNoZXIgbGVzIGluZm9ybWF0aW9ucyBkZSB2ZXJzaW9uIGV0IHF1aXR0ZXJcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzcKK21zZ2lkICIiCisiXG4iCisiUmVzb3VyY2VzIE9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcHRpb25zIGRlIHJlc3NvdXJjZXPCoDpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzgKK21zZ2lkICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGNvcmUgZmlsZXMgY3JlYXRlZFxuIgorIiAtZCwgLS1kYXRhICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBhIHByb2Nlc3MncyBkYXRhIHNlZ21lbnRcbiIKKyIgLWUsIC0tbmljZSAgICAgICAgICAgICBtYXhpbXVtIG5pY2UgcHJpb3JpdHkgYWxsb3dlZCB0byByYWlzZVxuIgorIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBmaWxlcyB3cml0dGVuIGJ5IHRoZSBwcm9jZXNzXG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAgbWF4aW11bSBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAgbWF4aW11bSBzaXplIGEgcHJvY2VzcyBtYXkgbG9jayBpbnRvIG1lbW9yeVxuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgIG1heGltdW0gcmVzaWRlbnQgc2V0IHNpemVcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBvcGVuIGZpbGVzXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgbWF4aW11bSBieXRlcyBpbiBQT1NJWCBtZXNzYWdlIHF1ZXVlc1xuIgorIiAtciwgLS1ydHByaW8gICAgICAgICAgIG1heGltdW0gcmVhbC10aW1lIHNjaGVkdWxpbmcgcHJpb3JpdHlcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICBtYXhpbXVtIHN0YWNrIHNpemVcbiIKKyIgLXQsIC0tY3B1ICAgICAgICAgICAgICBtYXhpbXVtIGFtb3VudCBvZiBDUFUgdGltZSBpbiBzZWNvbmRzXG4iCisiIC11LCAtLW5wcm9jICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgdXNlciBwcm9jZXNzZXNcbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICBzaXplIG9mIHZpcnR1YWwgbWVtb3J5XG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgZmlsZSBsb2Nrc1xuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgIENQVSB0aW1lIGluIG1pY3Jvc2Vjb25kcyBhIHByb2Nlc3Mgc2NoZWR1bGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXIgcmVhbC10aW1lIHNjaGVkdWxpbmdcbiIKK21zZ3N0ciAiIgorIiAtYywgLS1jb3JlICAgICAgICAgICAgIHRhaWxsZSBtYXhpbWFsZSBkZSBmaWNoaWVycyBjb3JlIGNyw6nDqXNcbiIKKyIgLWQsIC0tZGF0YSAgICAgICAgICAgICB0YWlsbGUgbWF4aW1hbGUgZCd1biBzZWdtZW50IGRlIGRvbm7DqWVzIGRlIHByb2Nlc3N1c1xuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIHByaW9yaXTDqSBuaWNlIG1heGltYWxlIHBlcm1pc2VcbiIKKyIgLWYsIC0tZnNpemUgICAgICAgICAgICB0YWlsbGUgbWF4aW1hbGUgZGUgZmljaGllcnMgw6ljcml0cyBwYXIgbGUgcHJvY2Vzc3VzXG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAgbm9tYnJlIG1heGltYWwgZGUgc2lnbmF1eCBlbiBhdHRlbnRlXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAgdGFpbGxlIG1heGltYWxlIHF1J3VuIHByb2Nlc3N1cyBwZXV0IHZlcnJvdWlsbGVyIGVuIG3DqW1vaXJlXG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgdGFpbGxlIGRlIG3DqW1vaXJlIHLDqXNpZGVudGUgbWF4aW1hbGVcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICBub21icmUgbWF4aW1hbCBkZSBmaWNoaWVycyBvdXZlcnRzXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgbm9tYnJlIG1heGltYWwgZCdvY3RldHMgZGFucyBsZXMgZmlsZXMgZGUgbWVzc2FnZXMgUE9TSVhcbiIKKyIgLXIsIC0tcnRwcmlvICAgICAgICAgICBwcmlvcml0w6kgbWF4aW1hbGUgZCdvcmRvbm5hbmNlbWVudCBkZSB0w6JjaGVzIGVuIHRlbXBzIHLDqWVsXG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAgdGFpbGxlIGRlIHBpbGUgbWF4aW1hbGVcbiIKKyIgLXQsIC0tY3B1ICAgICAgICAgICAgICB0ZW1wcyBwcm9jZXNzZXVyIG1heGltYWwgZW4gc2Vjb25kZVxuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIG5vbWJyZSBtYXhpbWFsIGRlIHByb2Nlc3N1cyB1dGlsaXNhdGV1clxuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIHRhaWxsZSBkZSBtw6ltb2lyZSB2aXJ0dWVsbGVcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBub21icmUgbWF4aW1hbCBkZSB2ZXJyb3VzIGRlIGZpY2hpZXJcbiIKKyIgLXksIC0tcnR0aW1lICAgICAgICAgICB0ZW1wcyBwcm9jZXNzZXVyIGVuIG1pY3Jvc2Vjb25kZSBxdSd1biBwcm9jZXNzdXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBhIHByw6l2dSBkYW5zIHVuIG9yZG9ubmFuY2VtZW50IGVuIHRlbXBzIHLDqWVsXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MjQzIHN5cy11dGlscy9wcmxpbWl0LmM6MjQ5IHN5cy11dGlscy9wcmxpbWl0LmM6MzY2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3MQorbXNnaWQgInVubGltaXRlZCIKK21zZ3N0ciAic2FucyBsaW1pdGUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzMyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgb2xkICVzIGxpbWl0IgorbXNnc3RyICLDqWNoZWMgZCdvYnRlbnRpb24gZGUgbCdhbmNpZW5uZSBsaW1pdGXCoCVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM1NgorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgc29mdCBsaW1pdCAlcyBjYW5ub3QgZXhjZWVkIHRoZSBoYXJkIGxpbWl0IgorbXNnc3RyICJsYSBsaW1pdGUgc291cGxlICVzIG5lIHBldXQgcGFzIGTDqXBhc3NlciBsYSBsaW1pdGUgYWJzb2x1ZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5ldyAlcyBsaW1pdCBmb3IgcGlkICVkOiAiCittc2dzdHIgIk5vdXZlbGxlIGxpbWl0ZSAlc8KgOiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgIsOpY2hlYyBkZSBjb25maWd1cmF0aW9uIGRlIGxhIGxpbWl0ZSBkZSByZXNzb3VyY2UgJXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICLDqWNoZWMgZCdvYnRlbnRpb24gZGUgbGEgbGltaXRlIGRlIHJlc3NvdXJjZSAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIGxpbWl0IgorbXNnc3RyICJpbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGEgbGltaXRlICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NQorbXNnaWQgIm9wdGlvbiAtLXBpZCBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAibCdvcHRpb24gLS1waWQgbmUgcGV1dCDDqnRyZSBpbmRpcXXDqWUgcXUndW5lIHNldWxlIGZvaXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NjE2Cittc2dpZCAib3B0aW9ucyAtLXBpZCBhbmQgQ09NTUFORCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICJsZXMgb3B0aW9ucyAtLXBpZCBldCA8Y29tbWFuZGU+IHMnZXhjbHVlbnQgbXV0dWVsbGVtZW50IgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDcKK21zZ2lkICJEaXNwbGF5IGtlcm5lbCBwcm9maWxpbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIkFmZmljaGVyIGxlcyBpbmZvcm1hdGlvbnMgZGUgcHJvZmlsYWdlIGR1IG5veWF1LlxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1tLCAtLW1hcGZpbGUgPG1hcGZpbGU+ICAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCittc2dzdHIgIiAtbSwgLS1tYXBmaWxlIDxmaWNfY2FydGU+IChwYXIgZMOpZmF1dMKgOiDCq8KgJXPCoMK7IGV0XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJXNcIilcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDCq8KgJXPCoMK7KVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1wLCAtLXByb2ZpbGUgPHByby1maWxlPiAgKGRlZmF1bHQ6ICBcIiVzXCIpXG4iCittc2dzdHIgIiAtcCwgLS1wcm9maWxlIDxmaWNfcHJvZj4gIChwYXIgZMOpZmF1dMKgOiDCq8KgJXPCoMK7KVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTYKK21zZ2lkICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorbXNnc3RyICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBpbml0aWFsaXNlciBsZSBtdWx0aXBsaWNhdGV1ciBkZSBwcm9maWxhZ2Ugw6AgPG11bHQ+XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNworbXNnaWQgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIHByaW50IG9ubHkgaW5mbyBhYm91dCB0aGUgc2FtcGxpbmcgc3RlcFxuIgorbXNnc3RyICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICBuJ2FmZmljaGVyIHF1ZSBsZXMgcmVucy4gZHUgY3ljbGUgZCfDqWNoYW50aWxsb25uYWdlXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBhZmZpY2hlciBsZXMgZG9ubsOpZXMgZW4gbW9kZSBiYXZhcmRcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICBhZmZpY2hlciB0b3VzIHN5bWJvbGVzLCBtw6ptZSBzaSBsZSBjb21wdGV1ciBlc3Qgw6AgMFxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjAKK21zZ2lkICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCittc2dzdHIgIiAtYiwgLS1oaXN0YmluICAgICAgICAgICAgIGFmZmljaGVyIGNvbXB0ZXMgZGUgY2hhcXVlIGludGVydmFsbGUgZCdoaXN0b2dyYW1tZVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjEKK21zZ2lkICIgLXMsIC0tY291bnRlcnMgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGNvdW50ZXJzIHdpdGhpbiBmdW5jdGlvbnNcbiIKK21zZ3N0ciAiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAgYWZmaWNoZXIgbGVzIGNvbXB0ZXMgaW5kaXZpZHVlbHMgZGFucyBsZXMgZm9uY3Rpb25zXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMgorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCB0aGUgY291bnRlcnMgKHJvb3Qgb25seSlcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcsOpaW5pdGlhbGlzZXIgdG91cyBjb21wdGV1cnMgKHN1cGVydXRpbGlzYXRldXIgc2V1bClcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIzCittc2dpZCAiIC1uLCAtLW5vLWF1dG8gICAgICAgICAgICAgZGlzYWJsZSBieXRlIG9yZGVyIGF1dG8tZGV0ZWN0aW9uXG4iCittc2dzdHIgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGTDqXNhY3RpdmVyIGwnYXV0b2TDqXRlY3Rpb24gZCdvcmRyZSBkZXMgb2N0ZXRzXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciB3cml0aW5nICVzIgorbXNnc3RyICJlcnJldXIgZCfDqWNyaXR1cmUgZGUgJXMiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI3MQorbXNnaWQgIkFzc3VtaW5nIHJldmVyc2VkIGJ5dGUgb3JkZXIuIFVzZSAtbiB0byBmb3JjZSBuYXRpdmUgYnl0ZSBvcmRlci4iCittc2dzdHIgIk9yZHJlIGRlcyBvY3RldHMgc3VwcG9zw6kgaW52ZXJzw6kuIFV0aWxpc2VyIC1uIHBvdXIgZm9yY2VyIGwnb3JkcmUgbmF0aWYuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNhbXBsaW5nX3N0ZXA6ICV1XG4iCittc2dzdHIgIlNhbXBsaW5nX3N0ZXDCoDogJWlcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzAyIHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMyMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyglaSk6IHdyb25nIG1hcCBsaW5lIgorbXNnc3RyICIlcyglaSnCoDogbGlnbmUgZGUgbWFwIGVycm9uw6llIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBcIl9zdGV4dFwiIGluICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHJlcMOpcmVyIMKrwqBfc3RleHTCoMK7IGRhbnMgJXMiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjM0NgorbXNnaWQgInByb2ZpbGUgYWRkcmVzcyBvdXQgb2YgcmFuZ2UuIFdyb25nIG1hcCBmaWxlPyIKK21zZ3N0ciAiYWRyZXNzZSBkZSBwcm9maWwgaG9ycyBsaW1pdGVzLiBQZXV0LcOqdHJlIG1hdXZhaXMgZmljaGllciBtYXAuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzo0MDQKK21zZ2lkICJ0b3RhbCIKK21zZ3N0ciAidG90YWwiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MgorbXNnaWQgInByb2Nlc3MgSUQiCittc2dzdHIgImlkZW50aWZpYW50IGRlIHByb2Nlc3N1cyIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUzCittc2dpZCAicHJvY2VzcyBncm91cCBJRCIKK21zZ3N0ciAiaWRlbnRpZmlhbnQgZGUgZ3JvdXBlIGRlIHByb2Nlc3N1cyIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gWy1wfC0tcGlkXSA8cGlkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLWd8LS1wZ3JwIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLXV8LS11c2VyIDx1c2VyPi4uLlxuIgorbXNnc3RyICIiCisiICUxJHMgWy1uXSA8cHJpb3JpdMOpPiBbLXB8LS1waWRdIDxQSUQ+IC4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXTDqT4gIC1nfC0tcGdycCA8UEdJRD4gLi4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdMOpPiAgLXV8LS11c2VyIDx1dGlsaXNhdGV1cj4gLi4uXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2NworbXNnaWQgIkFsdGVyIHRoZSBwcmlvcml0eSBvZiBydW5uaW5nIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiTW9kaWZpZXIgbGEgcHJpb3JpdMOpIGRlcyBwcm9jZXNzdXMgZW4gY291cnMgZCdleMOpY3V0aW9uLlxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzAKK21zZ2lkICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorbXNnc3RyICIgLW4sIC0tcHJpb3JpdHkgPG5vbWJyZT4gIGluZGlxdWVyIGxhIHZhbGV1ciBk4oCZaW5jcsOpbWVudCBkZSBuaWNlXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MQorbXNnaWQgIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBpbnRlcnByw6l0ZXIgbOKAmWFyZ3VtZW50IGNvbW1lIHVuIFBJRCAocGFyIGTDqWZhdXQpXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MgorbXNnaWQgIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIGdyb3VwIElEXG4iCittc2dzdHIgIiAtcCwgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHLDqXRlciBs4oCZYXJndW1lbnQgY29tbWUgdW4gUEdJRFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzMKK21zZ2lkICIgLXUsIC0tdXNlciA8bmFtZT58PGlkPiBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIgorbXNnc3RyICIgLXUsIC0tdXNlciA8bm9tPnw8aWQ+ICBpbnRlcnByw6l0ZXIgbOKAmWFyZ3VtZW50IGNvbW1lIHVuIG5vbSBk4oCZdXRpbGlzYXRldXIgb3UgdW4gVUlEXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICLDqWNoZWMgZCdvYnRlbnRpb24gZGUgcHJpb3JpdMOpIHBvdXIgJWQgKCVzKSIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjk5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgIsOpY2hlYyBkZSBjb25maWd1cmF0aW9uIGRlIHByaW9yaXTDqSBwb3VyICVkICglcykiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgKCVzKSBvbGQgcHJpb3JpdHkgJWQsIG5ldyBwcmlvcml0eSAlZFxuIgorbXNnc3RyICIlZMKgKCVzKSBwcmlvcml0w6kgcHLDqWPDqWRlbnRlICVkLCBub3V2ZWxsZSBwcmlvcml0w6kgJWRcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjE3NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHVzZXIgJXMiCittc2dzdHIgInV0aWxpc2F0ZXVyICVzIGluY29ubnUiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgb25lIG9mIHRoZSBhYm92ZQorIy4gKiB0aHJlZSBJRCBuYW1lcy4gUmVhZDogImJhZCB2YWx1ZSBmb3IgJXM6ICVzIgorIzogc3lzLXV0aWxzL3JlbmljZS5jOjE4NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgJXMgdmFsdWU6ICVzIgorbXNnc3RyICJ2YWxldXIgJXMgZXJyb27DqWXCoDogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6OTgKK21zZ2lkICJFbnRlciBhIHN5c3RlbSBzbGVlcCBzdGF0ZSB1bnRpbCBhIHNwZWNpZmllZCB3YWtldXAgdGltZS5cbiIKK21zZ3N0ciAiTWV0dHJlIGxlIHN5c3TDqG1lIGVuIHZlaWxsZSBqdXNxdSfDoCB1bmUgZGF0ZSBkZSByw6l2ZWlsIGluZGlxdcOpZS5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDEKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICAgICAgICAgIHJlYWRzIHRoZSBjbG9jayBtb2RlIGZyb20gYWRqdXN0IGZpbGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgbGlyZSBsZSBtb2RlIGQnaG9ybG9nZSBkdSBmaWNoaWVyIGFkanVzdCAocGFyIGTDqWZhdXQpXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLUEsIC0tYWRqZmlsZSA8ZmlsZT4gICAgIHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRlZmF1bHQgaXMgJXNcbiIKK21zZ3N0ciAiIgorIiAtQSwgLS1hZGpmaWxlIDxmaWNoaWVyPiAgaW5kaXF1ZXIgbGUgY2hlbWluIGR1IGZpY2hpZXIgYWRqdXN0XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICglcyBwYXIgZMOpZmF1dClcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICBkYXRlIHRpbWUgb2YgdGltZXN0YW1wIHRvIHdha2VcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgPGhldXJlX3Q+ICAgICBjb25maWd1cmVyIGwnaGV1cmUgZGUgc29ydGllIGRlIHZlaWxsZVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNgorbXNnaWQgIiAtZCwgLS1kZXZpY2UgPGRldmljZT4gICAgc2VsZWN0IHJ0YyBkZXZpY2UgKHJ0YzB8cnRjMXwuLi4pXG4iCittc2dzdHIgIiAtZCwgLS1kZXZpY2UgPHDDqXJpcGguPiAgIGNob2lzaXIgcMOpcmlwaC4gZCdob3Jsb2dlIG1hdMOpcmllbGxlIChydGMwfHJ0YzF8Li4uKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNworbXNnaWQgIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgZG9lcyBldmVyeXRoaW5nLCBidXQgc3VzcGVuZFxuIgorbXNnc3RyICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIHRvdXQgZmFpcmUsIHNhdWYgbGEgbWlzZSBlbiB2ZWlsbGVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDgKK21zZ2lkICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCittc2dzdHIgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgbCdob3Jsb2dlIG1hdMOpcmllbGxlIHV0aWxpc2UgdW5lIHpvbmUgZGUgdGVtcHMgbG9jYWxlXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA5Cittc2dpZCAiICAgICAtLWxpc3QtbW9kZXMgICAgICAgICBsaXN0IGF2YWlsYWJsZSBtb2Rlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEwCittc2dpZCAiIC1tLCAtLW1vZGUgPG1vZGU+ICAgICAgICBzdGFuZGJ5fG1lbXwuLi4gc2xlZXAgbW9kZVxuIgorbXNnc3RyICIgLW0sIC0tbW9kZSA8bW9kZT4gICAgICAgIHN0YW5kYnl8bWVtfC4uLiBtb2RlIGRlIG1pc2UgZW4gdmVpbGxlXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTExCittc2dpZCAiIC1zLCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iCittc2dzdHIgIiAtcywgLS1zZWNvbmRzIDxzZWNvbmRlcz4gbWlzZSBlbiB2ZWlsbGUgZCd1bmUgZHVyw6llIGRlIDxzZWNvbmRlcz5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTIKK21zZ2lkICIgLXQsIC0tdGltZSA8dGltZV90PiAgICAgIHRpbWUgdG8gd2FrZVxuIgorbXNnc3RyICIgLXQsIC0tdGltZSA8aGV1cmVfdD4gICAgIGNvbmZpZ3VyZXIgbCdoZXVyZSBkZSBzb3J0aWUgZGUgdmVpbGxlXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEzCittc2dpZCAiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBSVEMgdXNlcyBVVENcbiIKK21zZ3N0ciAiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGUgdXRpbGlzZSBsYSB6b25lIGRlIHRlbXBzIFVUQ1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIG1vZGUgYmF2YXJkXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTY3Cittc2dpZCAicmVhZCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBsZWN0dXJlIGRlIGwnaGV1cmUgbWF0w6lyaWVsbGUiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTczCittc2dpZCAicmVhZCBzeXN0ZW0gdGltZSBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBsZWN0dXJlIGRlIGwnaGV1cmUgc3lzdMOobWUiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTg5Cittc2dpZCAiY29udmVydCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBjb252ZXJzaW9uIGRlIGwnaGV1cmUgbWF0w6lyaWVsbGUiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MjM3Cittc2dpZCAic2V0IHJ0YyB3YWtlIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGNvbmZpZ3VyYXRpb24gZCdhbGFybWUgZGUgcsOpdmVpbCBkZSBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGUiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHRoaXJkIGxpbmUgaW46ICVzOiAlcyIKK21zZ3N0ciAiZmluIGRlIGZpY2hpZXIgaW5hdHRlbmR1ZSBzdXIgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzIwIHN5cy11dGlscy9ydGN3YWtlLmM6NjI0Cittc2dpZCAicmVhZCBydGMgYWxhcm0gZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgbGVjdHVyZSBkZSBsJ2FsYXJtZSBkZSBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGUiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvZmZcbiIKK21zZ3N0ciAiYWxhcm1lwqA6IGFycsOqdFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMzOAorbXNnaWQgImNvbnZlcnQgdGltZSBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBjb252ZXJzaW9uIGRlIGwnaGV1cmUiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvbiAgJXMiCittc2dzdHIgImFsYXJtZcKgOiBkw6ljbGVuY2hlbWVudCAgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mzg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZDogJXMiCittc2dzdHIgIkltcG9zc2libGUgZGUgbGlyZSAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHN1c3BlbmQgc3RhdGUgJyVzJyIKK21zZ3N0ciAiw6l0YXQgZGUgdmVpbGxlIG5vbiByZWNvbm51IMKrwqAlc8KgwrsiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDc1Cittc2dpZCAiaW52YWxpZCBzZWNvbmRzIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBkZSBzZWNvbmRlcyBpbmNvcnJlY3QiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDc5Cittc2dpZCAiaW52YWxpZCB0aW1lIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBkJ2hldXJlIGluY29ycmVjdCIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIKK21zZ3N0ciAiJXPCoDogb24gY29uc2lkw6hyZSBxdWUgbCdob3Jsb2dlIG1hdMOpcmllbGxlIHV0aWxpc2UgbCfDqWNoZWxsZSBVVEPigKZcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTEKK21zZ2lkICJVc2luZyBVVEMgdGltZS5cbiIKK21zZ3N0ciAiSGV1cmUgVVRDIHV0aWxpc8OpZS5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTIKK21zZ2lkICJVc2luZyBsb2NhbCB0aW1lLlxuIgorbXNnc3RyICJIZXVyZSBsb2NhbGUgdXRpbGlzw6llLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxNQorIywgZnV6enkKK21zZ2lkICJtdXN0IHByb3ZpZGUgd2FrZSB0aW1lIChzZWUgLS1zZWNvbmRzLCAtLXRpbWUgYW5kIC0tZGF0ZSBvcHRpb25zKSIKK21zZ3N0ciAidm91cyBkZXZleiBmb3VybmlyIGwnaGV1cmUgZGUgcsOpdmVpbCAoY29uc3VsdGV6IGxlcyBvcHRpb25zIC10IGV0IC1zKSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGVuYWJsZWQgZm9yIHdha2V1cCBldmVudHMiCittc2dzdHIgIiVzIG5vbiBhY3RpdsOpIHBvdXIgbGVzIMOpdsOpbmVtZW50cyDCq8Kgd2FrZXVwwqDCuyAocsOpdmVpbCkiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTI4CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtICVsZCwgc3lzX3RpbWUgJWxkLCBydGNfdGltZSAlbGQsIHNlY29uZHMgJXVcbiIKK21zZ3N0ciAiYWxhcm1lICVsZCwgaGV1cmVfc3lzdMOobWUgJWxkLCBoZXVyZV9ob3Jsb2dlICVsZCwgc2Vjb25kZXMgJXVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBkb2Vzbid0IGdvIGJhY2t3YXJkIHRvICVzIgorbXNnc3RyICJsJ2hldXJlIG5lIHBldXQgcGFzIHJlY3VsZXIgdmVycyAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiJXPCoDogwqvCoHdha2V1cMKgwrsgKHLDqXZlaWwpIGF2ZWMgJXMgw6AgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgZnJvbSBcIiVzXCIgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIiVzwqA6IMKrwqB3YWtldXDCoMK7IChyw6l2ZWlsKSBkZXB1aXMgwqvCoCVzwqDCuyBhdmVjICVzIMOgICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU1OQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG5vOyBsZWF2aW5nXG4iCittc2dzdHIgIm1vZGUgZGUgdmVpbGxlwqA6IGF1Y3VuwqA7IHNvcnRpZVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9mZjsgZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIm1vZGUgZGUgdmVpbGxlwqA6IMOpdGVpbnTCoDsgZXjDqWN1dGlvbiBkZSAlc1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9uOyByZWFkaW5nIHJ0Y1xuIgorbXNnc3RyICJtb2RlIGRlIHZlaWxsZcKgOiBlbiBmb25jdGlvbm5lbWVudMKgOyBsZWN0dXJlIGQnaG9ybG9nZSBtYXTDqXJpZWxsZVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU5MgorbXNnaWQgInJ0YyByZWFkIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGxlY3R1cmUgZCdob3Jsb2dlIG1hdMOpcmllbGxlIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwNAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IGRpc2FibGU7IGRpc2FibGluZyBhbGFybVxuIgorbXNnc3RyICJtb2RlIGRlIHZlaWxsZcKgOiBkw6lzYWN0aXbDqcKgOyBkw6lzYWN0aXZhdGlvbiBkZSBsJ2FsYXJtZVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIKK21zZ3N0ciAibW9kZSBkZSB2ZWlsbGXCoDogbW9udHLDqcKgOyBhZmZpY2hhZ2UgZCdpbmZvcm1hdGlvbiBkJ2FsYXJtZVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYxNQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6ICVzOyBzdXNwZW5kaW5nIHN5c3RlbVxuIgorbXNnc3RyICJtb2RlIGRlIHZlaWxsZcKgOiAlc8KgOyBtaXNlIGVuIHZlaWxsZSBkdSBzeXN0w6htZVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyOQorbXNnaWQgImRpc2FibGUgcnRjIGFsYXJtIGludGVycnVwdCBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBkw6lzYWN0aXZhdGlvbiBkZSBsJ2ludGVycnVwdGlvbiBnw6lyYW50IGwnYWxhcm1lIGRlIGwnaG9ybG9nZSBtYXTDqXJpZWxsZSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo0OAorIywgYy1mb3JtYXQKK21zZ2lkICJTd2l0Y2hpbmcgb24gJXMuXG4iCittc2dzdHIgIkJhc2N1bGUgc3VyICVzLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8YXJjaD4gW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgPGFyY2g+IFtvcHRpb25zXSBbPHByb2dyYW1tZT4gWzxhcmd1bWVudD4gLi4uXV1cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIFs8cHJvZ3JhbW1lPiBbPGFyZ3VtZW50PiAuLi5dXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk2Cittc2dpZCAiQ2hhbmdlIHRoZSByZXBvcnRlZCBhcmNoaXRlY3R1cmUgYW5kIHNldCBwZXJzb25hbGl0eSBmbGFncy5cbiIKK21zZ3N0ciAiTW9kaWZpZXIgbOKAmWFyY2hpdGVjdHVyZSBzaWduYWzDqWUgZXQgZMOpZmluaXIgbGVzIGF0dHJpYnV0cyBkZSBwZXJzb25uYWxpdMOpLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk5Cittc2dpZCAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB0dXJucyBvbiBBRERSX0xJTUlUXzMyQklUXG4iCittc2dzdHIgIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgYWN0aXZlciBBRERSX0xJTUlUXzMyQklUXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAwCittc2dpZCAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorbXNnc3RyICIiCisiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBmYWlyZSBwb2ludGVyIGxlcyBwb2ludGV1cnMgZGUgZm9uY3Rpb25zIHN1ciBsZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRldXJzXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAxCittc2dpZCAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICB0dXJucyBvbiBTSE9SVF9JTk9ERVxuIgorbXNnc3RyICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIGFjdGl2ZXIgU0hPUlRfSU5PREVcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDIKK21zZ2lkICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKK21zZ3N0ciAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCBtb2RpZmllciBsYSBtw6l0aG9kZSBkJ2FsbG9jYXRpb24gZGUgbcOpbW9pcmUgdmlydHVlbGxlXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAzCittc2dpZCAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBkaXNhYmxlcyByYW5kb21pemF0aW9uIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2VcbiIKK21zZ3N0ciAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICByZW5kcmUgbm9uIGFsw6lhdG9pcmUgbCdlc3BhY2UgZCdhZHJlc3NhZ2UgdmlydHVlbFxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNAorbXNnaWQgIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgdHVybnMgb24gV0hPTEVfU0VDT05EU1xuIgorbXNnc3RyICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIGFjdGl2ZXIgV0hPTEVfU0VDT05EU1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNQorbXNnaWQgIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgdHVybnMgb24gU1RJQ0tZX1RJTUVPVVRTXG4iCittc2dzdHIgIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgYWN0aXZlciBTVElDS1lfVElNRU9VVFNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDYKK21zZ2lkICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCittc2dzdHIgIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgYWN0aXZlciBSRUFEX0lNUExJRVNfRVhFQ1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNworbXNnaWQgIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgdHVybnMgb24gTU1BUF9QQUdFX1pFUk9cbiIKK21zZ3N0ciAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICBhY3RpdmVyIE1NQVBfUEFHRV9aRVJPXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA4Cittc2dpZCAiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBsaW1pdHMgdGhlIHVzZWQgYWRkcmVzcyBzcGFjZSB0byBhIG1heGltdW0gb2YgMyBHQlxuIgorbXNnc3RyICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0ZXIgbCdlc3BhY2UgZCdhZHJlc3NhZ2UgdXRpbGlzw6kgw6AgM8KgR28gbWF4aW11bVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOQorbXNnaWQgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKK21zZ3N0ciAiICAgICAtLTRnYiAgICAgICAgICAgICAgICBpZ25vcsOpZSAocG91ciByw6l0cm9jb21wYXRpYmlsaXTDqSBzZXVsZW1lbnQpXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTEwCittc2dpZCAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICB0dXJucyBvbiBVTkFNRTI2XG4iCittc2dzdHIgIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgYWN0aXZlciBVTkFNRTI2XG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTExCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBzYXkgd2hhdCBvcHRpb25zIGFyZSBiZWluZyBzd2l0Y2hlZCBvblxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIG1vbnRyZXIgbGVzIG9wdGlvbnMgcXVpIHNlcm9udCBhY3RpdsOpZXNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTQKK21zZ2lkICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3Qgc2V0dGFibGUgYXJjaGl0ZWN0dXJlcywgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAtLWxpc3QgICAgICAgICAgICAgICBhZmZpY2hlciBsZXMgYXJjaGl0ZWN0dXJlcyBjb25maWd1cmFibGVzIGV0IHF1aXR0ZXJcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzXG4iCisiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKK21zZ3N0ciAiIgorIiVzXG4iCisiRXjDqWN1dGV6IMKrwqAlcyAtLWhlbHDCoMK7IHBvdXIgb2J0ZW5pciBkZXMgcmVuc2VpZ25lbWVudHMgY29tcGzDqW1lbnRhaXJlcy4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCittc2dzdHIgIkV4w6ljdXRleiDCq8KgJXMgLS1oZWxwwqDCuyBwb3VyIG9idGVuaXIgZGVzIHJlbnNlaWduZW1lbnRzIGNvbXBsw6ltZW50YWlyZXMuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIzNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogVW5yZWNvZ25pemVkIGFyY2hpdGVjdHVyZSIKK21zZ3N0ciAiJXPCoDogYXJjaGl0ZWN0dXJlIGluY29ubnVlIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI1OAorIywgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgY2Fubm90IHNldCBhcmNoaXRlY3R1cmUgdG8gJXMiCittc2dzdHIgIkxlIG5veWF1IG5lIHBldXQgcGFzIGTDqWZpbmlyIGzigJlhcmNoaXRlY3R1cmUgw6AgJXMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzA1Cittc2dpZCAiTm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIlBhcyBhc3NleiBkJ2FyZ3VtZW50cyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAiw4ljaGVjIGRlIGNvbmZpZ3VyYXRpb24gZCdhcmNoaXRlY3R1cmUgc3lzdMOobWUgw6AgJXMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc5Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnLS1saXN0JyIKK21zZ3N0ciAib3B0aW9uIMKrwqAtLWxpc3TCoMK7IG5vbiByZWNvbm51ZSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozODcKK21zZ2lkICJubyBhcmNoaXRlY3R1cmUgYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJQYXMgZCdhcmd1bWVudCBk4oCZYXJjaGl0ZWN0dXJlIGluZGlxdcOpIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICLDqWNoZWMgZGUgY29uZmlndXJhdGlvbiBkJ2FyY2hpdGVjdHVyZSBzeXN0w6htZSDDoCAlcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGUgY29tbWFuZCBgJXMnLlxuIgorbXNnc3RyICLDiW1pc3Npb24gZGUgbGEgY29tbWFuZGUgZGUgZGF0ZcKgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk3Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIGRpZmZlcmVudCBwcml2aWxlZ2Ugc2V0dGluZ3MuXG4iCittc2dzdHIgIkV4w6ljdXRlciB1biBwcm9ncmFtbWUgYXZlYyByw6lnbGFnZXMgZGUgZHJvaXRzLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMAorbXNnaWQgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgc2hvdyBjdXJyZW50IHN0YXRlIChhbmQgZG8gbm90IGV4ZWMgYW55dGhpbmcpXG4iCittc2dzdHIgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgbW9udHJlciBsJ8OpdGF0IGFjdHVlbCAoc2FucyByaWVuIGV4w6ljdXRlcilcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDEKK21zZ2lkICIgLS1ubnAsIC0tbm8tbmV3LXByaXZzICAgIGRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzXG4iCittc2dzdHIgIiAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAgbmUgcGFzIHBlcm1ldHRyZSBkJ2F0dHJpYnVlciBkZSBub3V2ZWF1eCBkcm9pdHNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDIKK21zZ2lkICIgLS1pbmgtY2FwcyA8Y2FwcywuLi4+ICAgIHNldCBpbmhlcml0YWJsZSBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIC0taW5oLWNhcHMgPGNhcC4sLi4uPiAgICBkw6lmaW5pciBkZXMgY2FwYWNpdMOpcyBow6lyaXRhYmxlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMworbXNnaWQgIiAtLWJvdW5kaW5nLXNldCA8Y2Fwcz4gICAgc2V0IGNhcGFiaWxpdHkgYm91bmRpbmcgc2V0XG4iCittc2dzdHIgIiAtLWJvdW5kaW5nLXNldCA8Y2FwLj4gICAgZMOpZmluaXIgdW4gZW5zZW1ibGUgZGUgY2FwYWNpdMOpcyBsaW1pdGFudGVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA0Cittc2dpZCAiIC0tcnVpZCA8dWlkPiAgICAgICAgICAgICBzZXQgcmVhbCB1aWRcbiIKK21zZ3N0ciAiIC0tcnVpZCA8VUlEPiAgICAgICAgICAgICBkw6lmaW5pciBsJ1VJRCByw6llbFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNQorbXNnaWQgIiAtLWV1aWQgPHVpZD4gICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIC0tZXVpZCA8VUlEPiAgICAgICAgICAgICBkw6lmaW5pciBsJ1VJRCBlZmZlY3RpZlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNgorbXNnaWQgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgc2V0IHJlYWwgZ2lkXG4iCittc2dzdHIgIiAtLXJnaWQgPEdJRD4gICAgICAgICAgICAgZMOpZmluaXIgbGUgR0lEIHLDqWVsXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA3Cittc2dpZCAiIC0tZWdpZCA8Z2lkPiAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIgLS1lZ2lkIDxHSUQ+ICAgICAgICAgICAgIGTDqWZpbmlyIGxlIEdJRCBlZmZlY3RpZlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwOAorbXNnaWQgIiAtLXJldWlkIDx1aWQ+ICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIC0tcmV1aWQgPFVJRD4gICAgICAgICAgICBkw6lmaW5pciBsJ1VJRCByw6llbCBldCBlZmZlY3RpZlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwOQorbXNnaWQgIiAtLXJlZ2lkIDxnaWQ+ICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiIC0tcmd1aWQgPEdJRD4gICAgICAgICAgICBkw6lmaW5pciBsZSBHSUQgcsOpZWwgZXQgZWZmZWN0aWZcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTAKK21zZ2lkICIgLS1jbGVhci1ncm91cHMgICAgICAgICAgIGNsZWFyIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgZWZmYWNlciBsZXMgZ3JvdXBlcyBzdXBwbMOpbWVudGFpcmVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTExCittc2dpZCAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICBrZWVwIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiAtLWtlZXAtZ3JvdXBzICAgICAgICAgICAgZ2FyZGVyIGxlcyBncm91cGVzIHN1cHBsw6ltZW50YWlyZXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTIKK21zZ2lkICIgLS1ncm91cHMgPGdyb3VwLC4uLj4gICAgIHNldCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLS1ncm91cHMgPGdyb3VwZSwuLi4+ICAgIGTDqWZpbmlyIGxlcyBncm91cGVzIHN1cHBsw6ltZW50YWlyZXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTMKK21zZ2lkICIgLS1zZWN1cmViaXRzIDxiaXRzPiAgICAgIHNldCBzZWN1cmViaXRzXG4iCittc2dzdHIgIiAtLXNlY3VyZWJpdHMgPGJpdHM+ICAgICAgZMOpZmluaXIgbGVzIHNlY3VyZWJpdHNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTQKK21zZ2lkICIgLS1zZWxpbnV4LWxhYmVsIDxsYWJlbD4gIHNldCBTRUxpbnV4IGxhYmVsXG4iCittc2dzdHIgIiAtLXNlbGludXgtbGFiZWwgPMOpdGlxLj4gIGTDqWZpbmlyIGwnw6l0aXF1ZXR0ZSBTRUxpbnV4XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE1Cittc2dpZCAiIC0tYXBwYXJtb3ItcHJvZmlsZSA8cHI+ICBzZXQgQXBwQXJtb3IgcHJvZmlsZVxuIgorbXNnc3RyICIgLS1hcHBhcm1vci1wcm9maWxlIDxwcj4gIGTDqWZpbmlyIGxlIHByb2ZpbCBBcHBBcm1vclxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyMQorbXNnaWQgIiBUaGlzIHRvb2wgY2FuIGJlIGRhbmdlcm91cy4gIFJlYWQgdGhlIG1hbnBhZ2UsIGFuZCBiZSBjYXJlZnVsLlxuIgorbXNnc3RyICIgQ2V0IG91dGlsIHBldXQgw6p0cmUgZGFuZ2VyZXV4LiBDb25zdWx0ZXogbGEgcGFnZSBkZSBtYW51ZWwgZXQgZmFpdGVzIGF0dGVudGlvbi5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxOTMgc3lzLXV0aWxzL3NldHByaXYuYzo0NjcKK21zZ2lkICJnZXR0aW5nIHByb2Nlc3Mgc2VjdXJlIGJpdHMgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZCdvYnRlbnRpb24gZGVzIGJpdHMgc8OpY3VyaXPDqXMgZGUgcHJvY2Vzc3VzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN1cmViaXRzOiAiCittc2dzdHIgIlNlY3VyZWJpdHPCoDogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV1cbiIKK21zZ3N0ciAiW2F1Y3VuXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIGxvbmciCittc2dzdHIgIiVzwqA6IHRyb3AgbG9uZyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHM6ICIKK21zZ3N0ciAiR3JvdXBlcyBzdXBwbMOpbWVudGFpcmVzwqA6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNzMgc3lzLXV0aWxzL3NldHByaXYuYzozMjEgc3lzLXV0aWxzL3NldHByaXYuYzozMjYKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzMyIHN5cy11dGlscy9zZXRwcml2LmM6MzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIltub25lXSIKK21zZ3N0ciAiW2F1Y3VuXSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkOiAldVxuIgorbXNnc3RyICJVSUTCoDogJXVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXVpZDogJXVcbiIKK21zZ3N0ciAiRVVJRMKgOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJzdWlkOiAldVxuIgorbXNnc3RyICJTVUlEwqA6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjk5IHN5cy11dGlscy9zZXRwcml2LmM6MzkxCittc2dpZCAiZ2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGdldHJlc3VpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMDggc3lzLXV0aWxzL3NldHByaXYuYzo0MDYKK21zZ2lkICJnZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgZ2V0cmVzZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICJFZmZlY3RpdmUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIkNhcGFjaXTDqXMgZWZmZWN0aXZlc8KgOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBlcm1pdHRlZCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiQ2FwYWNpdMOpcyBwZXJtaXNlc8KgOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkluaGVyaXRhYmxlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICJDYXBhY2l0w6lzIGjDqXJpdGFibGVzwqA6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FwYWJpbGl0eSBib3VuZGluZyBzZXQ6ICIKK21zZ3N0ciAiRW5zZW1ibGUgZGUgY2FwYWNpdMOpcyBsaW1pdGFudGVzwqA6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDMKK21zZ2lkICJTRUxpbnV4IGxhYmVsIgorbXNnc3RyICLDiXRpcXVldHRlIFNFTGludXgiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQ2Cittc2dpZCAiQXBwQXJtb3IgcHJvZmlsZSIKK21zZ3N0ciAicHJvZmlsIEFwcEFybW9yIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYXAgJWQ6IGxpYmNhcC1uZyBpcyBicm9rZW4iCittc2dzdHIgImNhcMKgJWTCoDogbGliY2FwLW5nIGVzdCBjYXNzw6kiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzgyCittc2dpZCAiSW52YWxpZCBzdXBwbGVtZW50YXJ5IGdyb3VwIGlkIgorbXNnc3RyICJJZGVudGlmaWFudCBkZSBncm91cGUgc3VwcGzDqW1lbnRhaXJlIGluY29ycmVjdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozOTkKK21zZ2lkICJzZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgc2V0cmVzdWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQxNAorbXNnaWQgInNldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBzZXRyZXNnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDM1Cittc2dpZCAiYmFkIGNhcGFiaWxpdHkgc3RyaW5nIgorbXNnc3RyICJtYXV2YWlzZSBjaGHDrm5lIGRlIGNhcGFjaXTDqSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NDMKK21zZ2lkICJsaWJjYXAtbmcgaXMgdG9vIG9sZCBmb3IgXCJhbGxcIiBjYXBzIgorbXNnc3RyICJsaWJjYXAtbmcgZXN0IHRyb3AgdmlldXggcG91ciB0b3V0ZXMgKMKrwqBhbGzCoMK7KSBsZXMgY2FwYWNpdMOpcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjYXBhYmlsaXR5IFwiJXNcIiIKK21zZ3N0ciAiY2FwYWNpdMOpIMKrwqAlc8KgwrsgaW5jb25udWUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDc2Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCBzZXQgLS0gcmVmdXNpbmcgdG8gYWRqdXN0IgorbXNnc3RyICJlbnNlbWJsZSBzZWN1cmViaXQgbm9uIHJlY29ubnUg4oCUIHJlZnVzIGQnYWp1c3RlciIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0ODAKK21zZ2lkICJiYWQgc2VjdXJlYml0cyBzdHJpbmciCittc2dzdHIgIm1hdXZhaXNlIGNoYcOubmUgc2VjdXJlYml0cyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0ODcKK21zZ2lkICIrYWxsIHNlY3VyZWJpdHMgaXMgbm90IGFsbG93ZWQiCittc2dzdHIgIithbGwgc2VjdXJlYml0cyBuJ2VzdCBwYXMgcGVybWlzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUwMAorbXNnaWQgImFkanVzdGluZyBrZWVwX2NhcHMgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAibCdhanVzdGVtZW50IGRlIGtlZXBfY2FwcyBuJ2EgcGFzIGRlIHNlbnMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTA0Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAic2VjdXJlYml0IG5vbiByZWNvbm51IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUyNAorbXNnaWQgIlNFTGludXggaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIlNFTGludXggbidlc3QgcGFzIGVuIGNvdXJzIGQnZXjDqWN1dGlvbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvc2UgZmFpbGVkOiAlcyIKK21zZ3N0ciAiw6ljaGVjIGRlIGZlcm1ldHVyZcKgOiAlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NDcKK21zZ2lkICJBcHBBcm1vciBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiQXBwQXJtb3Igbidlc3QgcGFzIGVuIGNvdXJzIGQnZXjDqWN1dGlvbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NTgKK21zZ2lkICJkdXBsaWNhdGUgLS1uby1uZXctcHJpdnMgb3B0aW9uIgorbXNnc3RyICJvcHRpb24gLS1uby1uZXctcHJpdnMgZW4gZG91YmxlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY2MworbXNnaWQgImR1cGxpY2F0ZSBydWlkIgorbXNnc3RyICJSVUlEIGVuIGRvdWJsZSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NjUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcnVpZCIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkdSBSVUlEIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY2OQorbXNnaWQgImR1cGxpY2F0ZSBldWlkIgorbXNnc3RyICJFVUlEIGVuIGRvdWJsZSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXVpZCIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkJ0VVSUQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njc1Cittc2dpZCAiZHVwbGljYXRlIHJ1aWQgb3IgZXVpZCIKK21zZ3N0ciAiUlVJRCBvdSBFVUlEIGVuIGRvdWJsZSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmV1aWQiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZHUgUkVVSUQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjgxCittc2dpZCAiZHVwbGljYXRlIHJnaWQiCittc2dzdHIgIlJHSUQgZW4gZG91YmxlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZ2lkIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGR1IFJHSUQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njg3Cittc2dpZCAiZHVwbGljYXRlIGVnaWQiCittc2dzdHIgIkVHSUQgZW4gZG91YmxlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlZ2lkIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGQnRUdJRCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2OTMKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCBvciBlZ2lkIgorbXNnc3RyICJSR0lEIG91IEVHSUQgZW4gZG91YmxlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY5NQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZWdpZCIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkdSBSRUdJRCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MDAKK21zZ2lkICJkdXBsaWNhdGUgLS1jbGVhci1ncm91cHMgb3B0aW9uIgorbXNnc3RyICJvcHRpb24gLS1jbGVhci1ncm91cHMgZW4gZG91YmxlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcwNgorbXNnaWQgImR1cGxpY2F0ZSAtLWtlZXAtZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAib3B0aW9uIC0ta2VlcC1ncm91cHMgZW4gZG91YmxlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcxMgorbXNnaWQgImR1cGxpY2F0ZSAtLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIm9wdGlvbiAtLWdyb3VwcyBlbiBkb3VibGUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzIxCittc2dpZCAiZHVwbGljYXRlIC0taW5oLWNhcHMgb3B0aW9uIgorbXNnc3RyICJvcHRpb24gLS1pbmgtY2FwcyBlbiBkb3VibGUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzI3Cittc2dpZCAiZHVwbGljYXRlIC0tYm91bmRpbmctc2V0IG9wdGlvbiIKK21zZ3N0ciAib3B0aW9uIC0tYm91bmRpbmctc2V0IGVuIGRvdWJsZSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MzMKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWN1cmViaXRzIG9wdGlvbiIKK21zZ3N0ciAib3B0aW9uIC0tc2VjdXJlYml0cyBlbiBkb3VibGUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzM5Cittc2dpZCAiZHVwbGljYXRlIC0tc2VsaW51eC1sYWJlbCBvcHRpb24iCittc2dzdHIgIm9wdGlvbiAtLXNlbGludXgtbGFiZWwgZW4gZG91YmxlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc0NQorbXNnaWQgImR1cGxpY2F0ZSAtLWFwcGFybW9yLXByb2ZpbGUgb3B0aW9uIgorbXNnc3RyICJvcHRpb24gLS1hcHBhcm1vci1wcm9maWxlIGVuIGRvdWJsZSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnJWMnIgorbXNnc3RyICJvcHRpb24gwqvCoCVjwqDCuyBub24gcmVjb25udWUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzYzCittc2dpZCAiLS1kdW1wIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBvcHRpb25zIgorbXNnc3RyICItLWR1bXAgZXN0IGluY29tcGF0aWJsZSBhdmVjIHRvdXRlcyBsZXMgYXV0cmVzIG9wdGlvbnMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzcxCittc2dpZCAiLS1saXN0LWNhcHMgbXVzdCBiZSBzcGVjaWZpZWQgYWxvbmUiCittc2dzdHIgIi0tbGlzdC1jYXBzIGRvaXQgw6p0cmUgaW5kaXF1w6llIHNldWxlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3NworbXNnaWQgIk5vIHByb2dyYW0gc3BlY2lmaWVkIgorbXNnc3RyICJBdWN1biBwcm9ncmFtbWUgaW5kaXF1w6kiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgyCittc2dpZCAiLS1bcmVdZ2lkIHJlcXVpcmVzIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCBvciAtLWdyb3VwcyIKK21zZ3N0ciAiLS1bcmVdZ2lkIG7DqWNlc3NpdGUgLS1rZWVwLWdyb3VwcywgLS1jbGVhci1ncm91cHMgb3UgLS1ncm91cHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzg1Cittc2dpZCAiZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXMgZmFpbGVkIgorbXNnc3RyICJuZSBwYXMgcGVybWV0dHJlIGQnYXR0cmlidWVyIGRlIG5vdXZlYXV4IGRyb2l0cyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTMKK21zZ2lkICJrZWVwIHByb2Nlc3MgY2FwYWJpbGl0aWVzIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGNvbnNlcnZhdGlvbiBkZXMgY2FwYWNpdMOpcyBkZSBwcm9jZXNzdXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODAxCittc2dpZCAiYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICJhY3RpdmVyIGxlcyBjYXBhY2l0w6lzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwNworbXNnaWQgInJlYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICJyw6lhY3RpdmVyIGxlcyBjYXBhY2l0w6lzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyMworbXNnaWQgInNldCBwcm9jZXNzIHNlY3VyZWJpdHMgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgY29uZmlndXJhdGlvbiBkZXMgc2VjdXJlYml0cyBkZSBwcm9jZXNzdXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODI5Cittc2dpZCAiYXBwbHkgYm91bmRpbmcgc2V0IgorbXNnc3RyICJhcHBsaXF1ZXIgbCdlbnNlbWJsZSBsaW1pdGFudCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzUKK21zZ2lkICJhcHBseSBjYXBhYmlsaXRpZXMiCittc2dzdHIgImFwcGxpcXVlciBsZXMgY2FwYWNpdMOpcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGV4ZWN1dGU6ICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnZXjDqWN1dGVywqA6ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3VtZW50cyAuLi5dXG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gPHByb2dyYW1tZT4gW2FyZ3VtZW50cyAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozNgorbXNnaWQgIlJ1biBhIHByb2dyYW0gaW4gYSBuZXcgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiRXjDqWN1dGVyIHVuIHByb2dyYW1tZSBkYW5zIHVuZSBub3V2ZWxsZSBzZXNzaW9uLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzkKK21zZ2lkICIgLWMsIC0tY3R0eSAgICAgc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCB0byB0aGUgY3VycmVudCBvbmVcbiIKK21zZ3N0ciAiIC1jLCAtLWN0dHkgICAgIGTDqWZpbmlyIGxlIHRlcm1pbmFsIGRlIGNvbnRyw7RsZSDDoCBjZWx1aSBhY3R1ZWxcbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQwCittc2dpZCAiIC13LCAtLXdhaXQgICAgIHdhaXQgcHJvZ3JhbSB0byBleGl0LCBhbmQgdXNlIHRoZSBzYW1lIHJldHVyblxuIgorbXNnc3RyICIgLXcsIC0td2FpdCAgICAgYXR0ZW5kcmUgbGEgZmluIGR1IHByb2dyYW1tZSwgZXQgdXRpbGlzZXIgbGUgbcOqbWUgcmV0b3VyXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo5MworbXNnaWQgImZvcmsiCittc2dzdHIgImZvcmsiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hpbGQgJWQgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJsZSBmaWxzICVkIG5lIHMnZXN0IHBhcyB0ZXJtaW7DqSBub3JtYWxlbWVudCIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExMAorbXNnaWQgInNldHNpZCBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBzZXRzaWQiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTMKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCIKK21zZ3N0ciAiw6ljaGVjIGRlIGTDqWZpbml0aW9uIGR1IHRlcm1pbmFsIGRlIGNvbnRyw7RsZSIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb2ZmICVzXG4iCittc2dzdHIgInN3YXBvZmYgJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDUKK21zZ2lkICJOb3Qgc3VwZXJ1c2VyLiIKK21zZ3N0ciAiVm91cyBuJ8OqdGVzIHBhcyBsZSBzdXBlcnV0aWxpc2F0ZXVyLiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvZmYgZmFpbGVkIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgc3dhcG9mZiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjIgc3lzLXV0aWxzL3N3YXBvbi5jOjc4OAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8c3BlYz5dXG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gWzxmaWNoaWVyX3Nww6ljaWFsPl1cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjUKK21zZ2lkICJEaXNhYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICJEw6lzYWN0aXZlciBsZXMgcMOpcmlwaMOpcmlxdWVzIGV0IGZpY2hpZXJzIHBvdXIgbGEgcGFnaW5hdGlvbiBzdXIgZGlzcXVlLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyOAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBzd2FwcyBmcm9tIC9wcm9jL3N3YXBzXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkw6lzYWN0aXZlciB0b3VzIGxlcyBlc3BhY2VzIGQnw6ljaGFuZ2UgZGUgL3Byb2Mvc3dhcHNcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICBtb2RlIGJhdmFyZFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEzNQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIkxlIHBhcmFtw6h0cmUgPGZpY2hpZXJfc3BlY2lhbD7CoDpcbiIKKyIgLUwgPMOpdGlxdWV0dGU+ICAgICAgICAgw6l0aXF1ZXR0ZSBkdSBww6lyaXBow6lyaXF1ZSDDoCB1dGlsaXNlclxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQgZHUgcMOpcmlwaMOpcmlxdWUgw6AgdXRpbGlzZXJcbiIKKyIgTEFCRUw9PMOpdGlxdWV0dGU+ICAgICAgw6l0aXF1ZXR0ZSBkdSBww6lyaXBow6lyaXF1ZSDDoCB1dGlsaXNlclxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIFVVSUQgZHUgcMOpcmlwaMOpcmlxdWUgw6AgdXRpbGlzZXJcbiIKKyIgPHDDqXJpcGjDqXJpcXVlPiAgICAgICAgIG5vbSBkdSBww6lyaXBow6lyaXF1ZSDDoCB1dGlsaXNlclxuIgorIiA8ZmljaGllcj4gICAgICAgICAgICAgIG5vbSBkdSBmaWNoaWVyIMOgIHV0aWxpc2VyXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MworbXNnaWQgImRldmljZSBmaWxlIG9yIHBhcnRpdGlvbiBwYXRoIgorbXNnc3RyICJmaWNoaWVyIGRlIHDDqXJpcGjDqXJpcXVlIG91IGNoZW1pbiBkZSBwYXJ0aXRpb24iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NAorbXNnaWQgInR5cGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAidHlwZSBkZSBww6lyaXBow6lyaXF1ZSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk1Cittc2dpZCAic2l6ZSBvZiB0aGUgc3dhcCBhcmVhIgorbXNnc3RyICJ0YWlsbGUgZGUgbGEgem9uZSBkJ8OpY2hhbmdlIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTYKK21zZ2lkICJieXRlcyBpbiB1c2UiCittc2dzdHIgIm9jdGV0cyB1dGlsaXPDqXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NworbXNnaWQgInN3YXAgcHJpb3JpdHkiCittc2dzdHIgInByaW9yaXTDqSBkJ2VzcGFjZSBkJ8OpY2hhbmdlIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTgKK21zZ2lkICJzd2FwIHV1aWQiCittc2dzdHIgIlVVSUQgZOKAmWVzcGFjZSBk4oCZw6ljaGFuZ2UiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OQorbXNnaWQgInN3YXAgbGFiZWwiCittc2dzdHIgIsOpdGlxdWV0dGUgZOKAmWVzcGFjZSBk4oCZw6ljaGFuZ2UiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNcdFx0XHRcdFR5cGVcdFx0U2l6ZVx0VXNlZFx0UHJpb3JpdHlcbiIKK21zZ3N0ciAiJXNcdFx0XHRcdFR5cGVcdFx0VGFpbGxlXHRVdGlsaXPDqVx0UHJpb3JpdMOpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNDYKK21zZ2lkICJGaWxlbmFtZSIKK21zZ3N0ciAiTm9tIGRlIGZpY2hpZXIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlaW5pdGlhbGl6aW5nIHRoZSBzd2FwLiIKK21zZ3N0ciAiJXPCoDogcsOpaW5pdGlhbGlzYXRpb24gZGUgbCdlc3BhY2UgZCfDqWNoYW5nZS4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxzZWVrIGZhaWxlZCIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIGxhIGZvbmN0aW9uIMKrwqBsc2Vla8KgwrsiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIHNpZ25hdHVyZSBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkJ8OpY3JpdHVyZSBkZSBzaWduYXR1cmUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIC0gaXQgYXBwZWFycyB0byBoYXZlIGhvbGVzLiIKK21zZ3N0ciAiJXPCoDogaWdub3LDqSDigJQgc2VtYmxlIGF2b2lyIGRlcyB0cm91cy4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldCBzaXplIGZhaWxlZCIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGQnb2J0ZW50aW9uIGRlIGxhIHRhaWxsZSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBzd2FwIGhlYWRlciBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBsZWN0dXJlIGQnZW4tdMOqdGUgZCdlc3BhY2UgZCfDqWNoYW5nZSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZvdW5kIHNpZ25hdHVyZSBbcGFnZXNpemU9JWQsIHNpZ25hdHVyZT0lc10iCittc2dzdHIgIiVzwqA6IHNpZ25hdHVyZSBkZSBsJ2VzcGFjZSBkJ8OpY2hhbmdlIHRyb3V2w6llwqA6IHZlcnNpb27CoCV1ZCwgdGFpbGxlIGRlIHBhZ2UgJWQsIG9yZHJlIGRlcyBvY3RldHMgJXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhZ2VzaXplPSVkLCBzd2Fwc2l6ZT0lbGx1LCBkZXZzaXplPSVsbHUiCittc2dzdHIgIiVzwqA6IHRhaWxsZSBkZSBwYWdlwqA6ICVkLCB0YWlsbGUgZCdlc3BhY2UgZCfDqWNoYW5nZcKgOiAlbGx1LCB0YWlsbGUgZGUgcMOpcmlwaMOpcmlxdWXCoDogJWxsdSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGFzdF9wYWdlIDB4JTA4bGx4IGlzIGxhcmdlciB0aGFuIGFjdHVhbCBzaXplIG9mIHN3YXBzcGFjZSIKK21zZ3N0ciAiJXPCoDogZGVybmnDqHJlX3BhZ2UgMHglMDhsbHggcGx1cyBncmFuZGUgcXVlIGxhIHRhaWxsZSBhY3R1ZWxsZSBkZSBsJ2VzcGFjZSBkJ8OpY2hhbmdlIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4iCittc2dzdHIgIiVzwqA6IGxlIGZvcm1hdCBkZSBsYSB0YWlsbGUgZGUgcGFnZSBuZSBjb3JyZXNwb25kIHBhcy4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiAoVXNlIC0tZml4cGdzeiB0byByZWluaXRpYWxpemUgaXQuKSIKK21zZ3N0ciAiJXPCoDogbGEgdGFpbGxlIGRlIHBhZ2UgbmUgY29ycmVzcG9uZCBwYXMgYXZlYyBsZSBmb3JtYXQgZCdlc3BhY2UgZCfDqWNoYW5nZSAodXRpbGlzZXogLS1maXhwZ3N6IHBvdXIgbGEgcsOpaW5pdGlhbGlzZXIpLiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc29mdHdhcmUgc3VzcGVuZCBkYXRhIGRldGVjdGVkLiBSZXdyaXRpbmcgdGhlIHN3YXAgc2lnbmF0dXJlLiIKK21zZ3N0ciAiJXPCoDogZG9ubsOpZXMgZGUgbWlzZSBlbiB2ZWlsbGUgZCdhcHBsaWNhdGlvbiBkw6l0ZWN0w6llcy4gUsOpw6ljcml0dXJlIGRlIGxhIHNpZ25hdHVyZSBkZSBsJ2VzcGFjZSBkJ8OpY2hhbmdlLiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb24gJXNcbiIKK21zZ3N0ciAic3dhcG9uICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvbiBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBzd2Fwb24iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub2F1dG8gb3B0aW9uIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzwqA6IGVycmV1ciBkJ2FuYWx5c2Ugw6AgbGEgbGlnbmXCoCVkIOKAlCBpZ25vcsOpZSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgYWN0aXZlIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzwqA6IGVycmV1ciBkJ2FuYWx5c2Ugw6AgbGEgbGlnbmXCoCVkIOKAlCBpZ25vcsOpZSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5hY2Nlc3NpYmxlIC0tIGlnbm9yZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5MQorbXNnaWQgIkVuYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiQWN0aXZlciBsZXMgcMOpcmlwaMOpcmlxdWVzIGV0IGZpY2hpZXJzIHBvdXIgbGEgcGFnaW5hdGlvbiBzdXIgZGlzcXVlLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk0Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICBlbmFibGUgYWxsIHN3YXBzIGZyb20gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGFjdGl2ZXIgdG91cyBsZXMgZXNwYWNlcyBk4oCZw6ljaGFuZ2UgZGUgL2V0Yy9mc3RhYlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk1Cittc2dpZCAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorbXNnc3RyICIiCisiIC1kLCAtLWRpc2NhcmRbPTxzdHJhdMOpZ2llPl0gIGFjdGl2ZXIgbGVzIGFiYW5kb25zIGTigJllc3BhY2UgZOKAmcOpY2hhbmdlLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2kgbGUgcMOpcmlwaMOpcmlxdWUgbGUgcGVybWV0XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTYKK21zZ2lkICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHNpbGVudGx5IHNraXAgZGV2aWNlcyB0aGF0IGRvIG5vdCBleGlzdFxuIgorbXNnc3RyICIiCisiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBwYXNzZXIgc2lsZW5jaWV1c2VtZW50IGxlcyBww6lyaXBow6lyaXF1ZXMgcXVpXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIG7igJlleGlzdGVudCBwYXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NworbXNnaWQgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHLDqWluaXRpYWxpc2VyIGzigJllc3BhY2UgZOKAmcOpY2hhbmdlIHNpIG7DqWNlc3NhaXJlXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTgKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHN3YXAgb3B0aW9uc1xuIgorbXNnc3RyICIiCisiIC1vLCAtLW9wdGlvbnMgPGxpc3RlPiAgICBsaXN0ZSBk4oCZb3B0aW9ucyBk4oCZZXNwYWNlIGTigJnDqWNoYW5nZSBzw6lwYXLDqWVzIHBhclxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXMgdmlyZ3VsZXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5OQorbXNnaWQgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgc3BlY2lmeSB0aGUgcHJpb3JpdHkgb2YgdGhlIHN3YXAgZGV2aWNlXG4iCittc2dzdHIgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgaW5kaXF1ZXIgbGEgcHJpb3JpdMOpIGR1IHDDqXJpcGjDqXJpcXVlIGTigJnDqWNoYW5nZVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAwCittc2dpZCAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBkaXNwbGF5IHN1bW1hcnkgYWJvdXQgdXNlZCBzd2FwIGRldmljZXMgKERFUFJFQ0FURUQpXG4iCittc2dzdHIgIiIKKyIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIGFmZmljaGVyIHVuIHLDqXN1bcOpIHN1ciBsZXMgcMOpcmlwaMOpcmlxdWVzIGTigJnDqWNoYW5nZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1dGlsaXPDqXMgKG9ic29sw6h0ZSlcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMQorbXNnaWQgIiAgICAgLS1zaG93Wz08Y29sdW1ucz5dICAgZGlzcGxheSBzdW1tYXJ5IGluIGRlZmluYWJsZSB0YWJsZVxuIgorbXNnc3RyICIgICAgIC0tc2hvd1s9PGNvbG9ubmVzPl0gIGFmZmljaGVyIHVuIHLDqXN1bcOpIGVuIHRhYmxlYXUgZMOpZmluaXNzYWJsZVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAyCittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCB0YWJsZSBoZWFkaW5nICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBuZSBwYXMgYWZmaWNoZXIgbOKAmWVuLXTDqnRlIGR1IHRhYmxlYXUgKGF2ZWMgLS1zaG93KVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAzCittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0ICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAgICAtLXJhdyAgICAgICAgICAgICAgICB1dGlsaXNlciBsZSBmb3JtYXQgZGUgc29ydGllIGJydXQgKGF2ZWMgLS1zaG93KVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA0Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgc2l6ZSBpbiBieXRlcyBpbiAtLXNob3cgb3V0cHV0XG4iCittc2dzdHIgIiIKKyIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIGFmZmljaGVyIGxhIHRhaWxsZSBkZSBs4oCZZXNwYWNlIGTigJnDqWNoYW5nZSBlbiBvY3RldCBkYW5zXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhIHNvcnRpZSBkZSAtLXNob3dcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgbW9kZSBiYXZhcmRcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIkxlIHBhcmFtw6h0cmUgPGZpY2hpZXJfc3BlY2lhbD7CoDpcbiIKKyIgLUwgPMOpdGlxdWV0dGU+ICAgICAgICAgc3lub255bWUgZGUgTEFCRUw9PMOpdGlxdWV0dGU+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgc3lub255bWUgZGUgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PMOpdGlxdWV0dGU+ICAgICAgaW5kaXF1ZXIgbGUgcMOpcmlwaMOpcmlxdWUgcGFyIMOpdGlxdWV0dGUgZGUgem9uZSBkJ8OpY2hhbmdlXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgaW5kaXF1ZXIgbGUgcMOpcmlwaMOpcmlxdWUgcGFyIFVVSUQgZGUgem9uZSBkJ8OpY2hhbmdlXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgaW5kaXF1ZXIgbGUgcMOpcmlwaMOpcmlxdWUgcGFyIMOpdGlxdWV0dGUgZGUgcGFydGl0aW9uXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgaW5kaXF1ZXIgbGUgcMOpcmlwaMOpcmlxdWUgcGFyIFVVSUQgZGUgcGFydGl0aW9uXG4iCisiIDxww6lyaXBow6lyaXF1ZT4gICAgICAgICBub20gZHUgcMOpcmlwaMOpcmlxdWUgw6AgdXRpbGlzZXJcbiIKKyIgPGZpY2hpZXI+ICAgICAgICAgICAgICBub20gZHUgZmljaGllciDDoCB1dGlsaXNlclxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODIxCittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBkaXNjYXJkIHBvbGljeSB0eXBlcyAoZm9yIC0tZGlzY2FyZCk6XG4iCisiIG9uY2UgICAgOiBvbmx5IHNpbmdsZS10aW1lIGFyZWEgZGlzY2FyZHMgYXJlIGlzc3VlZFxuIgorIiBwYWdlcyAgIDogZnJlZWQgcGFnZXMgYXJlIGRpc2NhcmRlZCBiZWZvcmUgdGhleSBhcmUgcmV1c2VkXG4iCisiSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCBib3RoIGRpc2NhcmQgdHlwZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQpLlxuIgorbXNnc3RyICIiCisiXG4iCisiVHlwZXMgZGUgc3RyYXTDqWdpZSBk4oCZYWJhbmRvbiBkaXNwb25pYmxlcyAocG91ciAtLWRpc2NhcmQpwqA6XG4iCisiIG9uY2UgICAgOiBzZXVscyBsZXMgYWJhbmRvbnMgZGUgem9uZSBlbiB1bmUgZm9pcyBzb250IHLDqWFsaXPDqWVzwqA7XG4iCisiIHBhZ2VzICAgOiBsZXMgcGFnZXMgbGliw6lyw6llcyBzb250IGFiYW5kb25uw6llcyBhdmFudCBk4oCZw6p0cmUgcsOpdXRpbGlzw6llcy5cbiIKKyJTaSBhdWN1bmUgc3RyYXTDqWdpZSBu4oCZZXN0IHPDqWxlY3Rpb25uw6llLCBsZXMgZGV1eCB0eXBlcyBk4oCZYWJhbmRvbiBzb250IGFjdGl2w6lzXG4iCisiKGNvbXBvcnRlbWVudCBwYXIgZMOpZmF1dCkuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MjYKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3cpOlxuIgorbXNnc3RyICIiCisiXG4iCisiQ29sb25uZXMgZGlzcG9uaWJsZXMgKHBvdXIgLS1zaG93KcKgOlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTA0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHByaW9yaXR5IgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIHByaW9yaXTDqSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkyMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgInN0cmF0w6lnaWUgZOKAmWFiYW5kb24gbm9uIHByaXNlIGVuIGNoYXJnZcKgOiAlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCB0aGUgZGV2aWNlIGZvciAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSB0cm91dmVyIGxlIHDDqXJpcGjDqXJpcXVlICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo1OQorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRpcmVjdG9yeSIKK21zZ3N0ciAiw6ljaGVjIGQnb3V2ZXJ0dXJlIGR1IHLDqXBlcnRvaXJlIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2NworbXNnaWQgInN0YXQgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgc3RhdCIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NzgKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBkaXJlY3RvcnkiCittc2dzdHIgIsOpY2hlYyBkZSBsZWN0dXJlIGR1IHLDqXBlcnRvaXJlIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVubGluayAlcyIKK21zZ3N0ciAiw6ljaGVjIGRlIHJldHJhaXQgZHUgbGllbiAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gJXMiCittc2dzdHIgIsOpY2hlYyBkZSBtb250YWdlIGRlICVzIGVuIGTDqXBsYWNlbWVudCBzdXIgJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JjaW5nIHVubW91bnQgb2YgJXMiCittc2dzdHIgImTDqW1vbnRhZ2UgZm9yY8OpIGRlICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIsOpY2hlYyBkZSBjaGFuZ2VtZW50IGRlIHLDqXBlcnRvaXJlIHZlcnMgJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvIC8iCittc2dzdHIgIsOpY2hlYyBkZSBtb250YWdlIGRlICVzIGVuIGTDqXBsYWNlbWVudCBzdXIgLyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTc1Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IgorbXNnc3RyICLDqWNoZWMgZHUgZMOpcGxhY2VtZW50IGRlIHJhY2luZSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTg4Cittc2dpZCAib2xkIHJvb3QgZmlsZXN5c3RlbSBpcyBub3QgYW4gaW5pdHJhbWZzIgorbXNnc3RyICJsJ2FuY2llbiBzeXN0w6htZSBkZSBmaWNoaWVycyBuJ2VzdCBwYXMgdW4gaW5pdHJhbWZzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bmV3cm9vdGRpcj4gPGluaXQ+IDxhcmdzIHRvIGluaXQ+XG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gPG5vdXZlbGxlX3JhY2luZT4gPGluaXQ+IDxhcmd1bWVudCBkJ2luaXQ+XG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwNAorbXNnaWQgIlN3aXRjaCB0byBhbm90aGVyIGZpbGVzeXN0ZW0gYXMgdGhlIHJvb3Qgb2YgdGhlIG1vdW50IHRyZWUuXG4iCittc2dzdHIgIlBhc3NlciDDoCB1biBhdXRyZSBzeXN0w6htZSBkZSBmaWNoaWVycyByYWNpbmUgZGUgbCdhcmJyZSBkZSBtb250YWdlLlxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMzYKK21zZ2lkICJmYWlsZWQuIFNvcnJ5LiIKK21zZ3N0ciAiw6ljaGVjLiBEw6lzb2zDqS4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgYWNjZXNzICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnYWNjw6lkZXIgw6AgJXMiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5NAorbXNnaWQgIlNldCB2YXJpb3VzIHBhcmFtZXRlcnMgZm9yIHRoZSBsaW5lIHByaW50ZXIuXG4iCittc2dzdHIgIkNvbmZpZ3VyZXIgZGl2ZXJzIHBhcmFtw6h0cmVzIGTigJlpbXByaW1hbnRlIHBhciBsaWduZS5cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk3Cittc2dpZCAiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAgc3BlY2lmeSBwYXJhbGxlbCBwb3J0IGlycVxuIgorbXNnc3RyICIgLWksIC0taXJxIDxudW3DqXJvPiAgICAgICAgICAgaW5kaXF1ZXIgbCdJUlEgZHUgcG9ydCBwYXJhbGzDqGxlXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5OAorbXNnaWQgIiAtdCwgLS10aW1lIDxtcz4gICAgICAgICAgICAgIGRyaXZlciB3YWl0IHRpbWUgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lIDx0ZW1wcz4gICAgICAgICAgIHRlbXBzIGQnYXR0ZW50ZSBkdSBwaWxvdGUgZW4gbWlsbGlzZWNvbmRlXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5OQorbXNnaWQgIiAtYywgLS1jaGFycyA8bnVtPiAgICAgICAgICAgIG51bWJlciBvZiBvdXRwdXQgY2hhcmFjdGVycyBiZWZvcmUgc2xlZXBcbiIKK21zZ3N0ciAiIC1jLCAtLWNoYXJzIDxjYXJhY3TDqHJlcz4gICAgIG5vbWJyZSBkZSBjYXJhY3QuIGRlIHNvcnRpZSBhdmFudCBtaXNlIGVuIHZlaWxsZVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAwCittc2dpZCAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgc3Ryb2JlIHdhaXQgaW4gbWljcm8gc2Vjb25kc1xuIgorbXNnc3RyICIgLXcsIC0td2FpdCA8YXR0ZW50ZT4gICAgICAgICB0ZW1wcyBkJ2F0dGVudGUgZGUgY3ljbGUgZCdob3Jsb2dlIGVuIG1pY3Jvc2Vjb25kZVxuIgorCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSA8b258b2ZmPiBhcmd1bWVudHMuIFRoZQorIy4gYXJndW1lbnQgcmVhZGVyIGRvZXMgbm90IHJlY29nbml6ZSBsb2NhbGUsIHVubGVzcyBgb24nIGlzCisjLiBleGFjdGx5IHRoYXQgdmVyeSBzYW1lIHN0cmluZy4KKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDQKK21zZ2lkICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhYm9ydCBvbiBlcnJvclxuIgorbXNnc3RyICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhYmFuZG9ubmVyIGVuIGNhcyBkJ2VycmV1clxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA1Cittc2dpZCAiIC1vLCAtLWNoZWNrLXN0YXR1cyA8b258b2ZmPiAgY2hlY2sgcHJpbnRlciBzdGF0dXMgYmVmb3JlIHByaW50aW5nXG4iCittc2dzdHIgIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gIHbDqXJpZmllciBsJ8OpdGF0IGRlIGwnaW1wcmltYW50ZSBhdmFudCBkJ2ltcHJpbWVyXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDYKK21zZ2lkICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICBleHRyYSBjaGVja2luZyB0byBzdGF0dXMgY2hlY2tcbiIKK21zZ3N0ciAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAgdsOpcmlmaWNhdGlvbnMgZCfDqXRhdCBzdXBwbMOpbWVudGFpcmVzXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDcKK21zZ2lkICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICBxdWVyeSBwcmludGVyIHN0YXR1c1xuIgorbXNnc3RyICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICByZW52b3llciBsJ8OpdGF0IGRlIGwnaW1wcmltYW50ZVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA4Cittc2dpZCAiIC1ULCAtLXRydXN0LWlycSA8b258b2ZmPiAgICAgbWFrZSBkcml2ZXIgdG8gdHJ1c3QgaXJxXG4iCittc2dzdHIgIiAtVCwgLS10cnVzdC1pcnEgPG9ufG9mZj4gICAgIGZvcmNlciBsZSBwaWxvdGUgw6AgZmFpcmUgY29uZmlhbmNlIMOgIGwnSVJRXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDkKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICByZXNldCB0aGUgcG9ydFxuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICByw6lpbml0aWFsaXNlciBsZSBwb3J0XG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTAKK21zZ2lkICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICBkaXNwbGF5IGN1cnJlbnQgaXJxIHNldHRpbmdcbiIKK21zZ3N0ciAiIC1xLCAtLXByaW50LWlycSA8b258b2ZmPiAgICAgYWZmaWNoZXIgbGVzIHLDqWdsYWdlcyBkJ0lSUSBhY3R1ZWxzXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGFuIGxwIGRldmljZSIKK21zZ3N0ciAiJXMgbidlc3QgcGFzIHVuIHDDqXJpcGjDqXJpcXVlIGQnaW1wcmVzc2lvbiBscCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4MAorbXNnaWQgIkxQR0VUU1RBVFVTIGVycm9yIgorbXNnc3RyICJFcnJldXIgTFBHRVRTVEFUVVMiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3RhdHVzIGlzICVkIgorbXNnc3RyICLDqXRhdCAlcyBlc3QgJWQiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBidXN5IgorbXNnc3RyICIsIG9jY3Vww6kiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCByZWFkeSIKK21zZ3N0ciAiLCBwcsOqdCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG91dCBvZiBwYXBlciIKK21zZ3N0ciAiLCBtYW5xdWUgZGUgcGFwaWVyIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb24tbGluZSIKK21zZ3N0ciAiLCBlbiBsaWduZSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5NQorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVycm9yIgorbXNnc3RyICIsIGVycmV1ciIKKworIyBkaXNrLXV0aWxzL21rc3dhcC5jOjYyMworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMwMAorbXNnaWQgImlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiw4ljaGVjIGQnaW9jdGwiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTAKK21zZ2lkICJMUEdFVElSUSBlcnJvciIKK21zZ3N0ciAiRXJyZXVyIExQR0VUSVJRIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIElSUSAlZFxuIgorbXNnc3RyICIlcyB1dGlsaXNlIElSUcKgJWRcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBwb2xsaW5nXG4iCittc2dzdHIgIiVzIHV0aWxpc2FudCBsYSBzY3J1dGF0aW9uXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gfCA8ZGlyZWN0b3J5PlxuIgorbXNnc3RyICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gfCA8csOpcGVydG9pcmU+XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4MQorbXNnaWQgIlVubW91bnQgZmlsZXN5c3RlbXMuXG4iCittc2dzdHIgIkTDqW1vbnRlciBkZXMgc3lzdMOobWVzIGRlIGZpY2hpZXJzLlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODQKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgdW5tb3VudCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIGTDqW1vbnRlciB0b3VzIGxlcyBzeXN0w6htZXMgZGUgZmljaGllcnNcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg1Cittc2dpZCAiIgorIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICB1bm1vdW50IGFsbCBtb3VudHBvaW50cyBmb3IgdGhlIGdpdmVuIGRldmljZSBpbiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisiIC1BLCAtLWFsbC10YXJnZXRzICAgICAgIGTDqW1vbnRlciB0b3VzIGxlcyBwb2ludHMgZGUgbW9udGFnZSBwb3VyIGxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgcMOpcmlwaMOpcmlxdWUgZGFucyBsJ2VzcGFjZSBkZSBub21zIGFjdHVlbFxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODcKK21zZ2lkICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCittc2dzdHIgIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBuZSBwYXMgY2Fub25pc2VyIGxlcyBjaGVtaW5zXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OAorbXNnaWQgIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICBpZiBtb3VudGVkIGxvb3AgZGV2aWNlLCBhbHNvIGZyZWUgdGhpcyBsb29wIGRldmljZVxuIgorbXNnc3RyICIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAgbGliw6lyZXIgYXVzc2kgbGUgcMOpcmlwaMOpcmlxdWUgYm91Y2xlIHMnaWwgZXN0IG1vbnTDqVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODkKK21zZ2lkICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgdW1vdW50KDIpIHN5c2NhbGxcbiIKK21zZ3N0ciAiICAgICAtLWZha2UgICAgICAgICAgICAgIHLDqXDDqXRpdGlvbiwgc2F1dGVyIGwnYXBwZWwgc3lzdMOobWUgdW1vdW50KDIpXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MAorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBmb3JjZSB1bm1vdW50IChpbiBjYXNlIG9mIGFuIHVucmVhY2hhYmxlIE5GUyBzeXN0ZW0pXG4iCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBmb3JjZXIgbGUgZMOpbW9udGFnZSAocG91ciB1biBtb250YWdlIE5GUyBpbmFjY2Vzc2libGUpXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MQorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSB1bW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIG5lIHBhcyBhcHBlbGVyIGxlcyBhdXhpbGlhaXJlcyB1bW91bnQuPHR5cGU+XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MworbXNnaWQgIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICBkZXRhY2ggdGhlIGZpbGVzeXN0ZW0gbm93LCBjbGVhbiB1cCB0aGluZ3MgbGF0ZXJcbiIKK21zZ3N0ciAiIgorIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICBkw6l0YWNoZXIgbGUgc3lzdMOobWUgZGUgZmljaGllcnMgbWFpbnRlbmFudCxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBldCBuZXR0b3llciBsZXMgY2hvc2VzIHBsdXMgdGFyZFxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTQKK21zZ2lkICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCittc2dzdHIgIiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0ZT4gbGltaXRlciBsJ2Vuc2VtYmxlIGRlIHN5c3TDqG1lcyBkZSBmaWNoaWVyc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICh1dGlsaXNlciBhdmVjIC1hKVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTUKK21zZ2lkICIgLVIsIC0tcmVjdXJzaXZlICAgICAgICAgcmVjdXJzaXZlbHkgdW5tb3VudCBhIHRhcmdldCB3aXRoIGFsbCBpdHMgY2hpbGRyZW5cbiIKK21zZ3N0ciAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIGTDqW1vbnRlciByw6ljdXJzaXZlbWVudCB1bmUgY2libGUgYXZlYyB0b3VzIGNlcyBlbmZhbnRzXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NgorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBpbiBjYXNlIHVubW91bnRpbmcgZmFpbHMsIHRyeSB0byByZW1vdW50IHJlYWQtb25seVxuIgorbXNnc3RyICIiCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIGVzc2F5ZXIgZGUgcmVtb250ZXIgZW4gbGVjdHVyZSBzZXVsZSBlbiBjYXMgZCfDqWNoZWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBkdSBkw6ltb250YWdlXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NworbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGVzIDxsaXN0ZT4gICAgIGxpbWl0ZXIgbCdlbnNlbWJsZSBkZSBzeXN0w6htZXMgZGUgZmljaGllcnMgcGFyIHR5cGVzXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzKSB1bm1vdW50ZWQiCittc2dzdHIgIiVzICglcykgZMOpbW9udMOpIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVubW91bnRlZCIKK21zZ3N0ciAiJXPCoGTDqW1vbnTDqSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW1vdW50IGZhaWxlZCIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIGTDqW1vbnRhZ2UiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZpbGVzeXN0ZW0gd2FzIHVubW91bnRlZCwgYnV0IG1vdW50KDgpIGZhaWxlZCIKK21zZ3N0ciAiJXPCoDogbGUgc3lzdMOobWUgZGUgZmljaGllcnMgw6l0YWl0IGTDqW1vbnTDqSwgbWFpcyDDqWNoZWMgZGUgbW91bnQoOCkiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlc8KgOiBww6lyaXBow6lyaXF1ZSBibG9jIG5vbiB2YWxhYmxlIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorbXNnc3RyICIlc8KgOiBpbXBvc3NpYmxlIGQnw6ljcmlyZSBzdXIgbGUgc3VwZXJibG9jIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlczogdGFyZ2V0IGlzIGJ1c3lcbiIKKyIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0XG4iCisiICAgICAgICAgdXNlIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKS4pIgorbXNnc3RyICIiCisiJXPCoDogY2libGUgb2NjdXDDqWVcbiIKKyIgICAgICAgKERhbnMgY2VydGFpbnMgY2FzLCBkZXMgcmVuc2VpZ25lbWVudHMgc3VyIGxlcyBwcm9jZXNzdXMgdXRpbGlzYW50XG4iCisiICAgICAgICBsZSBww6lyaXBow6lyaXF1ZSBzb250IGFjY2Vzc2libGVzIGF2ZWMgbHNvZig4KSBvdSBmdXNlcigxKS4pIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudHBvaW50IG5vdCBmb3VuZCIKK21zZ3N0ciAiJXPCoDogcG9pbnQgZGUgbW9udGFnZSBpbnRyb3V2YWJsZSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1MAorbXNnaWQgInVuZGVmaW5lZCBtb3VudHBvaW50IgorbXNnc3RyICJwb2ludCBkZSBtb250YWdlIG5vbiBkw6lmaW5pIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtdXN0IGJlIHN1cGVydXNlciB0byB1bm1vdW50IgorbXNnc3RyICIlc8KgOiBzZXVsIGxlIHN1cGVydXRpbGlzYXRldXIgcGV1dCBkw6ltb250ZXIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJsb2NrIGRldmljZXMgYXJlIG5vdCBwZXJtaXR0ZWQgb24gZmlsZXN5c3RlbSIKK21zZ3N0ciAiJXPCoDogbGVzIHDDqXJpcGjDqXJpcXVlcyBibG9jIG5lIHNvbnQgcGFzIGF1dG9yaXPDqXMgc3VyIGxlIHN5c3TDqG1lIGRlIGZpY2hpZXJzIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzA3Cittc2dpZCAiZmFpbGVkIHRvIHNldCB1bW91bnQgdGFyZ2V0IgorbXNnc3RyICLDqWNoZWMgZGUgZMOpZmluaXRpb24gZGUgbGEgY2libGUgZGUgZMOpbW9udGFnZSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMyMworbXNnaWQgImxpYm1vdW50IHRhYmxlIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZCdhbGxvY2F0aW9uIGRlIHRhYmxlYXUgbGlibW91bnQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozNjYgc3lzLXV0aWxzL3Vtb3VudC5jOjQ0NgorbXNnaWQgImxpYm1vdW50IGl0ZXJhdG9yIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZCdhbGxvY2F0aW9uIGQnaXTDqXJhdGV1ciBsaWJtb3VudCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGNoaWxkIGZzIG9mICVzIgorbXNnc3RyICLDqWNoZWMgZCdvYnRlbnRpb24gZHUgc3lzdMOobWUgZGUgZmljaGllcnMgJXMiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo0MTAgc3lzLXV0aWxzL3Vtb3VudC5jOjQzMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIgorbXNnc3RyICIlc8KgOiBpbnRyb3V2YWJsZSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQ0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRldGVybWluZSBzb3VyY2UgKC0tYWxsLXRhcmdldHMgaXMgdW5zdXBwb3J0ZWQgb24gc3lzdGVtcyB3aXRoIHJlZ3VsYXIgbXRhYiBmaWxlKS4iCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBkw6l0ZXJtaW5hdGlvbiBkZSBsYSBzb3VyY2UgKC0tYWxsLXRhcmdldHMgbuKAmWVzdCBwYXMgcHJpcyBlbiBjaGFyZ2Ugc3VyIGxlcyBzeXN0w6htZXMgYXZlYyB1biBmaWNoaWVyIG10YWIgbm9ybWFsKS4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zZXRncm91cHMgYXJndW1lbnQgJyVzJyIKK21zZ3N0ciAiYXJndW1lbnQgwqvCoCVzwqDCuyBkZSAtLXNldGdyb3VwcyBub24gcHJpcyBlbiBjaGFyZ2UiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTEwIHN5cy11dGlscy91bnNoYXJlLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZCAlcyIKK21zZ3N0ciAiw6ljaGVjIGQnw6ljcml0dXJlICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJvcGFnYXRpb24gbW9kZTogJXMiCittc2dzdHIgImZvcm1hdCBk4oCZb3B0aW9uIG5vbiBwcmlzIGVuIGNoYXJnZcKgOiAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNoYW5nZSByb290IGZpbGVzeXN0ZW0gcHJvcGFnYXRpb24iCittc2dzdHIgIkNoYW5nZXIgbGUgc3lzdMOobWUgZGUgZmljaGllcnMgcmFjaW5lLlxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ29idGVuaXIgbCfDqXRhdCBkZSAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTMKKyMsIGZ1enp5Cittc2dpZCAicGlwZSBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkJ291dmVydHVyZSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGlwZSIKK21zZ3N0ciAiw6ljaGVjIGRlIGxlY3R1cmUgZGUgbGEgdml0ZXNzZSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTAKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggc29tZSBuYW1lc3BhY2VzIHVuc2hhcmVkIGZyb20gdGhlIHBhcmVudC5cbiIKK21zZ3N0ciAiRXjDqWN1dGVyIHVuIHByb2dyYW1tZSBhdmVjIGRlcyBlc3BhY2VzIGRlIG5vbXMgbm9uIHBhcnRhZ8OpcyBwYXIgbGUgcGFyZW50LlxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1MworIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1tLCAtLW1vdW50Wz08ZmljaC4+XSAgZW50cmVyIGwnZXNwYWNlIGRlIG5vbXMgZGUgbW9udGFnZVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiIC11LCAtLXV0c1s9PGZpY2hpZXI+XSAgZW50cmVyIGwnZXNwYWNlIGRlIG5vbXMgVVRTIChub20gZCdow7R0ZSzCoGV0Yy4pXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU1CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLWksIC0taXBjWz08ZmljaGllcj5dICBlbnRyZXIgbCdlc3BhY2UgZGUgbm9tcyBJUEMgU3lzdGVtwqBWXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU2CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1uLCAtLW5ldFs9PGZpY2hpZXI+XSAgZW50cmVyIGwnZXNwYWNlIGRlIG5vbXMgcsOpc2VhdVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZFs9PGZpY2hpZXI+XSAgZW50cmVyIGwnZXNwYWNlIGRlIG5vbXMgZGUgUElEXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU4CisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1VLCAtLXVzZXJbPTxmaWNoLj5dICAgZW50cmVyIGwnZXNwYWNlIGRlIG5vbXMgZCd1dGlsaXNhdGV1clxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OQorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICAgICB1bnNoYXJlIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZFs9PGZpY2hpZXI+XSAgZW50cmVyIGwnZXNwYWNlIGRlIG5vbXMgZGUgUElEXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYwCittc2dpZCAiIC1mLCAtLWZvcmsgICAgICAgICAgICAgICAgZm9yayBiZWZvcmUgbGF1bmNoaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICBjcsOpZXIgdW4gcHJvY2Vzc3VzIGZpbHMgYXZhbnQgZCdleMOpY3V0ZXIgPHByb2dyYW1tZT5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjEKK21zZ2lkICIgICAgIC0tbW91bnQtcHJvY1s9PGRpcj5dICBtb3VudCBwcm9jIGZpbGVzeXN0ZW0gZmlyc3QgKGltcGxpZXMgLS1tb3VudClcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1tb3VudC1wcm9jWz08csOpcD5dICBtb250ZXIgZOKAmWFib3JkIGxlIHN5c3TDqG1lIGRlIGZpY2hpZXIgcHJvY1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGltcGxpcXVlIC0tbW91bnQpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYyCittc2dpZCAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbWFwIGN1cnJlbnQgdXNlciB0byByb290IChpbXBsaWVzIC0tdXNlcilcbiIKK21zZ3N0ciAiIgorIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIHByb2pldGVyIGzigJl1dGlsaXNhdGV1ciBhY3R1ZWwgc3VyIGxlIHN1cGVydXRpbGlzYXRldXJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbXBsaXF1ZSAtLXVzZXIpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYzCittc2dpZCAiIgorIiAgICAgLS1wcm9wYWdhdGlvbiBzbGF2ZXxzaGFyZWR8cHJpdmF0ZXx1bmNoYW5nZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZnkgbW91bnQgcHJvcGFnYXRpb24gaW4gbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjUKK21zZ2lkICIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIGNvbnRyb2wgdGhlIHNldGdyb3VwcyBzeXNjYWxsIGluIHVzZXIgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIiCisiIC1zLCAtLXNldGdyb3VwcyBhbGxvd3xkZW55ICBjb250csO0bGVyIGzigJlhcHBlbCBzeXN0w6htZSBzZXRncm91cHMgZGFucyBsZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXNwYWNlcyBkZSBub20gZOKAmXV0aWxpc2F0ZXVyXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6Mzg2Cittc2dpZCAidW5zaGFyZSBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSB1bnNoYXJlIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzMAorbXNnaWQgImNoaWxkIGV4aXQgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgc29ydGllIGR1IGZpbHMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDM3Cittc2dpZCAib3B0aW9ucyAtLXNldGdyb3Vwcz1hbGxvdyBhbmQgLS1tYXAtcm9vdC11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgImxlcyBvcHRpb25zIC0tc2V0Z3JvdXBzPWFsbG93IGV0IC0tbWFwLXJvb3QtdXNlciBzJ2V4Y2x1ZW50IG11dHVlbGxlbWVudCIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZHUgbW9udGFnZSBkZSAlcyIKKworIyBOT1RFOiBXaGF0IGRvZXMgdGhhdCBtZWFuPworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzMKK21zZ2lkICJDYXJkIHByZXZpb3VzbHkgcmVzZXQgdGhlIENQVSIKK21zZ3N0ciAiQWN0aXZlciBsZSBwcm9jZXNzZXVyIGp1c3F1J2Fsb3JzIHLDqWluaXRpYWxpc8OpIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NAorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDEiCittc2dzdHIgIlJlbGFpcyBleHRlcm5lwqAxIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NQorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDIiCittc2dzdHIgIlJlbGFpcyBleHRlcm5lwqAyIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NgorbXNnaWQgIkZhbiBmYWlsZWQiCittc2dzdHIgIsOJY2hlYyBkdSB2ZW50aWxhdGV1ciIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzcKK21zZ2lkICJLZWVwIGFsaXZlIHBpbmcgcmVwbHkiCittc2dzdHIgIlLDqXBvbnNlIGRlIHBpbmcgcG91ciBnYXJkZXIgZW4gdmllIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OAorbXNnaWQgIlN1cHBvcnRzIG1hZ2ljIGNsb3NlIGNoYXIiCittc2dzdHIgIlByZW5kIGVuIGNoYXJnZSBsZSBjYXJhY3TDqHJlIG1hZ2lxdWUgZGUgZmVybWV0dXJlIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OQorbXNnaWQgIlJlc2V0IGR1ZSB0byBDUFUgb3ZlcmhlYXQiCittc2dzdHIgIlLDqWluaXRpYWxpc2F0aW9uIMOgIGNhdXNlIGRlIHN1cmNoYXVmZmUgZHUgcHJvY2Vzc2V1ciIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODAKK21zZ2lkICJQb3dlciBvdmVyIHZvbHRhZ2UiCittc2dzdHIgIlB1aXNzYW5jZSBlbiBzdXJ0ZW5zaW9uIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MQorbXNnaWQgIlBvd2VyIGJhZC9wb3dlciBmYXVsdCIKK21zZ3N0ciAiTWF1dmFpc2UgcHVpc3NhbmNlIG91IGTDqWZhdXQgZGUgcHVpc3NhbmNlIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MgorbXNnaWQgIlByZXRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJQcsOpZXhwaXJhdGlvbiAoZW4gc2Vjb25kZSkiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgzCittc2dpZCAiU2V0IHRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJEw6lmaW5pciBsJ2V4cGlyYXRpb24gKGVuIHNlY29uZGUpIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4NAorbXNnaWQgIk5vdCB0cmlnZ2VyIHJlYm9vdCIKK21zZ3N0ciAiTmUgcGFzIGTDqWNsZW5jaGVyIGRlIHJlZMOpbWFycmFnZSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAwCittc2dpZCAiZmxhZyBuYW1lIgorbXNnc3RyICJub20gZCdpbmRpY2F0ZXVyIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDEKK21zZ2lkICJmbGFnIGRlc2NyaXB0aW9uIgorbXNnc3RyICJkZXNjcmlwdGlvbiBkJ2luZGljYXRldXIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMgorbXNnaWQgImZsYWcgc3RhdHVzIgorbXNnc3RyICLDqXRhdCBkJ2luZGljYXRldXIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMworbXNnaWQgImZsYWcgYm9vdCBzdGF0dXMiCittc2dzdHIgIsOpdGF0IGRlIGwnaW5kaWNhdGV1ciBkJ2Ftb3LDp2FnZSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTA0Cittc2dpZCAid2F0Y2hkb2cgZGV2aWNlIG5hbWUiCittc2dzdHIgIm5vbSBkdSBww6lyaXBow6lyaXF1ZSB3YXRjaGRvZyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmxhZzogJXMiCittc2dzdHIgImluZGljYXRldXIgaW5jb25udcKgOiAlcyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTc3Cittc2dpZCAiU2hvdyB0aGUgc3RhdHVzIG9mIHRoZSBoYXJkd2FyZSB3YXRjaGRvZy5cbiIKK21zZ3N0ciAiTW9udHJlciBs4oCZw6l0YXQgZHUgbWF0w6lyaWVsIHdhdGNoZG9nLlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxODAKK21zZ2lkICIiCisiIC1mLCAtLWZsYWdzIDxsaXN0PiAgICAgcHJpbnQgc2VsZWN0ZWQgZmxhZ3Mgb25seVxuIgorIiAtRiwgLS1ub2ZsYWdzICAgICAgICAgIGRvbid0IHByaW50IGluZm9ybWF0aW9uIGFib3V0IGZsYWdzXG4iCisiIC1JLCAtLW5vaWRlbnQgICAgICAgICAgZG9uJ3QgcHJpbnQgd2F0Y2hkb2cgaWRlbnRpdHkgaW5mb3JtYXRpb25cbiIKKyIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLU8sIC0tb25lbGluZSAgICAgICAgICBwcmludCBhbGwgaW5mb3JtYXRpb24gb24gb25lIGxpbmVcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBvdXRwdXQgY29sdW1ucyBvZiB0aGUgZmxhZ3NcbiIKKyIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXQgZm9yIGZsYWdzIHRhYmxlXG4iCisiIC1ULCAtLW5vdGltZW91dHMgICAgICAgZG9uJ3QgcHJpbnQgd2F0Y2hkb2cgdGltZW91dHNcbiIKKyIgLXMsIC0tc2V0dGltZW91dCA8c2VjPiBzZXQgd2F0Y2hkb2cgdGltZW91dFxuIgorIiAteCwgLS1mbGFncy1vbmx5ICAgICAgIHByaW50IG9ubHkgZmxhZ3MgdGFibGUgKHNhbWUgYXMgLUkgLVQpXG4iCittc2dzdHIgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3RlPiAgICBuJ2FmZmljaGVyIHF1ZSBsZXMgaW5kaWNhdGV1cnMgc8OpbGVjdGlvbm7DqXNcbiIKKyIgLUYsIC0tbm9mbGFncyAgICAgICAgICBuZSBwYXMgYWZmaWNoZXIgZGUgcmVuc2VpZ25lbWVudHMgc3VyIGxlcyBpbmRpY2F0ZXVyc1xuIgorIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIG5lIHBhcyBhZmZpY2hlciBkZSByZW5zZWlnbmVtZW50cyBzdXIgaWRlbnRpdMOpIHdhdGNoZG9nXG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgbmUgcGFzIGFmZmljaGVyIGQnZW4tdMOqdGUgcG91ciBsZSB0YWJsZWF1IGQnaW5kaWNhdGV1cnNcbiIKKyIgLU8sIC0tb25lbGluZSAgICAgICAgICBhZmZpY2hlciB0b3VzIGxlcyByZW5zZWlnbmVtZW50cyBzdXIgdW5lIGxpZ25lXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdGU+ICAgYWZmaWNoZXIgbGVzIGNvbG9ubmVzIGRlcyBpbmRpY2F0ZXVyc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHV0aWxpc2VyIGxlIGZvcm1hdCBicnV0IHBvdXIgbGUgdGFibGVhdSBkJ2luZGljYXRldXJzXG4iCisiIC1ULCAtLW5vdGltZW91dHMgICAgICAgbmUgcGFzIGFmZmljaGVyIGxlcyB0ZW1wcyBkJ2V4cGlyYXRpb24gZGUgd2F0Y2hkb2dcbiIKKyIgLXMsIC0tc2V0dGltZW91dCA8c2VjPiBkw6lmaW5pciBsZSB0ZW1wcyBkJ2V4cGlyYXRpb24gZGUgd2F0Y2hkb2dcbiIKKyIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICBuJ2FmZmljaGVyIHF1ZSBsZSB0YWJsZWF1IGQnaW5kaWNhdGV1cnMgKGNvbW1lIC1JIC1UKVxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRlZmF1bHQgZGV2aWNlIGlzICVzLlxuIgorbXNnc3RyICJMZSBww6lyaXBow6lyaXF1ZSBwYXIgZMOpZmF1dCBlc3QgJXMuXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE5OQorbXNnaWQgIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorbXNnc3RyICJDb2xvbm5lcyBkaXNwb25pYmxlc8KgOlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZmxhZ3MgMHgleFxuIgorbXNnc3RyICIlc8KgOiBpbmRpY2F0ZXVyIDB4JXggaW5jb25udVxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMTkgc3lzLXV0aWxzL3dkY3RsLmM6Mzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXRjaGRvZyBhbHJlYWR5IGluIHVzZSwgdGVybWluYXRpbmcuIgorbXNnc3RyICIlc8KgOiB3YXRjaGRvZyBlc3QgZMOpasOgIGVuIGNvdXJzIGQndXRpbGlzYXRpb24sIGFycsOqdC4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMzMyBzeXMtdXRpbHMvd2RjdGwuYzo0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkaXNhcm0gd2F0Y2hkb2ciCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkdSBkw6lzYXJtZW1lbnQgZGUgd2F0Y2hkb2ciCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRpbWVvdXQgZm9yICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGTDqWZpbmlyIGxhIHZhbGV1ciBkJ2V4cGlyYXRpb24gcG91ciAlcyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZC5cbiIKK21zZ2lkX3BsdXJhbCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kcy5cbiIKK21zZ3N0clswXSAiTGEgdmFsZXVyIGQnZXhwaXJhdGlvbiBhIMOpdMOpIGTDqWZpbmllIMOgICVkwqBzZWNvbmRlLlxuIgorbXNnc3RyWzFdICJMYSB2YWxldXIgZCdleHBpcmF0aW9uIGEgw6l0w6kgZMOpZmluaWUgw6AgJWTCoHNlY29uZGVzLlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgd2F0Y2hkb2ciCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkJ29idGVudGlvbiBkZSByZW5zZWlnbmVtZW50cyBzdXIgd2F0Y2hkb2ciCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NCBzeXMtdXRpbHMvd2RjdGwuYzo0Njcgc3lzLXV0aWxzL3dkY3RsLmM6NDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMTRzICUyaSBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiJS0xNHMgJTJpIHNlY29uZHNcbiIKK21zZ3N0clswXSAiJS0xNHMgJTJpwqBzZWNvbmRlXG4iCittc2dzdHJbMV0gIiUtMTRzICUyacKgc2Vjb25kZXNcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY1Cittc2dpZCAiVGltZW91dDoiCittc2dzdHIgIkV4cGlyYXRpb27CoDoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2OAorbXNnaWQgIlByZS10aW1lb3V0OiIKK21zZ3N0ciAiUHLDqWV4cGlyYXRpb27CoDoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ3MQorbXNnaWQgIlRpbWVsZWZ0OiIKK21zZ3N0ciAiVGVtcHMgcmVzdGFudMKgOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA1Cittc2dpZCAiRGV2aWNlOiIKK21zZ3N0ciAiUMOpcmlwaMOpcmlxdWXCoDoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNworbXNnaWQgIklkZW50aXR5OiIKK21zZ3N0ciAiSWRlbnRpdMOpwqA6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDkKK21zZ2lkICJ2ZXJzaW9uIgorbXNnc3RyICJ2ZXJzaW9uIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjczCittc2dpZCAienJhbSBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibm9tIGR1IHDDqXJpcGjDqXJpcXVlIHpSQU0iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzQKK21zZ2lkICJsaW1pdCBvbiB0aGUgdW5jb21wcmVzc2VkIGFtb3VudCBvZiBkYXRhIgorbXNnc3RyICJsaW1pdGUgZGUgcXVhbnRpdMOpIGRlIGRvbm7DqWVzIG5vbiBjb21wcmVzc8OpZXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzUKK21zZ2lkICJ1bmNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAidGFpbGxlIG5vbiBjb21wcmVzc8OpZSBkZSBkb25uw6llcyBzdG9ja8OpZXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzYKK21zZ2lkICJjb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgInRhaWxsZSBjb21wcmVzc8OpZSBkZSBkb25uw6llcyBzdG9ja8OpZXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzcKK21zZ2lkICJ0aGUgc2VsZWN0ZWQgY29tcHJlc3Npb24gYWxnb3JpdGhtIgorbXNnc3RyICJs4oCZYWxnb3JpdGhtZSBkZSBjb21wcmVzc2lvbiBzw6lsZWN0aW9ubsOpIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc4Cittc2dpZCAibnVtYmVyIG9mIGNvbmN1cnJlbnQgY29tcHJlc3Mgb3BlcmF0aW9ucyIKK21zZ3N0ciAibm9tYnJlIGTigJlvcMOpcmF0aW9ucyBkZSBjb21wcmVzc2lvbiBjb25jdXJyZW50ZXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzkKK21zZ2lkICJlbXB0eSBwYWdlcyB3aXRoIG5vIGFsbG9jYXRlZCBtZW1vcnkiCittc2dzdHIgInZpZGVyIGxlcyBwYWdlcyBzYW5zIGFsbG9jYXRpb24gbcOpbW9pcmUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODAKK21zZ2lkICJhbGwgbWVtb3J5IGluY2x1ZGluZyBhbGxvY2F0b3IgZnJhZ21lbnRhdGlvbiBhbmQgbWV0YWRhdGEgb3ZlcmhlYWQiCittc2dzdHIgInRvdXRlIGxhIG3DqW1vaXJlLCB5IGNvbXByaXMgbGEgZnJhZ21lbnRhdGlvbiBk4oCZYWxsb2NhdGlvbiBldCBsZXMgZW4tdMOqdGVzIGRlIG3DqXRhZG9ubsOpZXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAibWVtb3J5IGxpbWl0IHVzZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICJsaW1pdGUgZGUgcXVhbnRpdMOpIGRlIGRvbm7DqWVzIG5vbiBjb21wcmVzc8OpZXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODIKK21zZ2lkICJtZW1vcnkgenJhbSBoYXZlIGJlZW4gY29uc3VtZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyIG9mIG9iamVjdHMgbWlncmF0ZWQgYnkgY29tcGFjdGlvbiIKK21zZ3N0ciAibm9tYnJlIGTigJlvcMOpcmF0aW9ucyBkZSBjb21wcmVzc2lvbiBjb25jdXJyZW50ZXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6MzYzIHN5cy11dGlscy96cmFtY3RsLmM6Mzc0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGR1IGTDqWJ1dCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorIiAlMSRzIC1yIDxkZXZpY2U+IFsuLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGRldmljZT4gLXMgPHNpemU+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbb3B0aW9uc10gPHDDqXJpcGjDqXJpcXVlPlxuIgorIiAlMSRzIC1yIDxww6lyaXBow6lyaXF1ZT4gWy4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8cMOpcmlwaMOpcmlxdWU+IC1zIDx0YWlsbGU+XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTI3Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIHpyYW0gZGV2aWNlcy5cbiIKK21zZ3N0ciAiTWV0dHJlIGVuIHBsYWNlIGV0IGNvbnRyw7RsZXIgZGVzIHDDqXJpcGjDqXJpcXVlcyB6UkFNLlxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMAorbXNnaWQgIiAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NCAgIGNvbXByZXNzaW9uIGFsZ29yaXRobSB0byB1c2VcbiIKK21zZ3N0ciAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0ICAgYWxnb3JpdGhtZSBkZSBjb21wcmVzc2lvbiDDoCB1dGlsaXNlclxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgICBhZmZpY2hlciBsZXMgdGFpbGxlcyBlbiBvY3RldCBwbHV0w7R0IHF1J2VuIGZvcm1hdCBsaXNpYmxlXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMyCittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgZmluZCBhIGZyZWUgZGV2aWNlXG4iCittc2dzdHIgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIHRyb3V2ZXIgdW4gcHJlbWllciBww6lyaXBow6lyaXF1ZSBsaWJyZVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMworbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIG5lIHBhcyBhZmZpY2hlciBsZXMgZW4tdMOqdGVzXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM0Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGU+ICAgICAgY29sb25uZXMgw6AgdXRpbGlzZXIgcG91ciBhZmZpY2hlciBs4oCZw6l0YXRcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzUKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICB1c2UgcmF3IHN0YXR1cyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIHV0aWxpc2VyIGxlIGZvcm1hdCBk4oCZYWZmaWNoYWdlIGTigJnDqXRhdCBicnV0XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM2Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHLDqWluaXRpYWxpc2VyIHRvdXMgbGVzIHDDqXJpcGjDqXJpcXVlcyBpbmRpcXXDqXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzcKK21zZ2lkICIgLXMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgLXMsIC0tc2l6ZSA8dGFpbGxlPiAgICAgICB0YWlsbGUgZGUgcMOpcmlwaMOpcmlxdWVcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzgKK21zZ2lkICIgLXQsIC0tc3RyZWFtcyA8bnVtYmVyPiAgICBudW1iZXIgb2YgY29tcHJlc3Npb24gc3RyZWFtc1xuIgorbXNnc3RyICIgLXQsIC0tc3RyZWFtcyA8bm9tYnJlPiAgICBub21icmUgZGUgZmx1eCBkZSBjb21wcmVzc2lvblxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBhbGdvcml0aG06ICVzIgorbXNnc3RyICJhbGdvcml0aG1lIG5vbiBwcmlzIGVuIGNoYXJnZcKgOiAlcyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2MjYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RyZWFtcyIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkZXMgZmx1eCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NDgKK21zZ2lkICJvcHRpb24gLS1maW5kIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxkZXZpY2U+IgorbXNnc3RyICJs4oCZb3B0aW9uIC0tZmluZCBldCA8cMOpcmlwaMOpcmlxdWU+IHMnZXhjbHVlbnQgbXV0dWVsbGVtZW50IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NAorbXNnaWQgIm9ubHkgb25lIDxkZXZpY2U+IGF0IGEgdGltZSBpcyBhbGxvd2VkIgorbXNnc3RyICJ1biBzZXVsIDxww6lyaXBow6lyaXF1ZT4gw6AgbGEgZm9pcyBlc3QgcGVybWlzIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NworbXNnaWQgIm9wdGlvbnMgLS1hbGdvcml0aG0gYW5kIC0tc3RyZWFtcyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggLS1zaXplIgorbXNnc3RyICJsZXMgb3B0aW9ucyAtLWFsZ29yaXRobSBldCAtLXN0cmVhbXMgZG9pdmVudCDDqnRyZSBjb21iaW7DqWVzIGF2ZWMgLS1zaXplIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY4NyBzeXMtdXRpbHMvenJhbWN0bC5jOjcxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlc2V0IgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgcsOpaW5pdGlhbGlzYXRpb24iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njk4IHN5cy11dGlscy96cmFtY3RsLmM6NzA2Cittc2dpZCAibm8gZnJlZSB6cmFtIGRldmljZSBmb3VuZCIKK21zZ3N0ciAiYXVjdW4gcMOpcmlwaMOpcmlxdWUgelJBTSBsaWJyZSBkaXNwb25pYmxlIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBudW1iZXIgb2Ygc3RyZWFtcyIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIGNvbmZpZ3VyYXRpb24gZHUgbm9tYnJlIGRlIGZsdXgiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGFsZ29yaXRobSIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIGNvbmZpZ3VyYXRpb24gZGUgbOKAmWFsZ29yaXRobWUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGRpc2tzaXplICglanUgYnl0ZXMpIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgY29uZmlndXJhdGlvbiBkZSBsYSB0YWlsbGUgZGUgZGlzcXVlICglanXCoG9jdGV0cykiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzJXMgKGF1dG9tYXRpYyBsb2dpbilcbiIKK21zZ3N0ciAiJXMlcyAoY29ubmV4aW9uIGF1dG9tYXRpcXVlKVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHJvb3QgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiJXPCoDogaW1wb3NzaWJsZSBkZSBtb2RpZmllciBsZSByw6lwZXJ0b2lyZSByYWNpbmUgJXPCoDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugd29ya2luZyBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlc8KgOiBpbXBvc3NpYmxlIGRlIG1vZGlmaWVyIGxlIHLDqXBlcnRvaXJlIGRlIHRyYXZhaWwgJXPCoDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2UgcHJvY2VzcyBwcmlvcml0eTogJW0iCittc2dzdHIgIiVzwqA6IGltcG9zc2libGUgZGUgbW9kaWZpZXIgbGEgcHJpb3JpdMOpwqA6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgZXhlYyAlczogJW0iCittc2dzdHIgIiVzwqA6IGltcG9zc2libGUgZCdleMOpY3V0ZXIgJXPCoDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTU1IHRlcm0tdXRpbHMvYWdldHR5LmM6ODQxIHRlcm0tdXRpbHMvYWdldHR5LmM6ODUzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MTUgdGVybS11dGlscy9hZ2V0dHkuYzoxNDMzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NjkgdGVybS11dGlscy9hZ2V0dHkuYzoxNDc5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTUxNgorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTc4IHRlcm0tdXRpbHMvYWdldHR5LmM6MjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5OiAlbSIKK21zZ3N0ciAiw6ljaGVjIGQnYWxsb2NhdGlvbiBkZSB0YW1wb24gZGUgbcOpbW9pcmXCoDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NjgwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZGVsYXkgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50IGRlIHTDqnRlcyBpbmNvcnJlY3QiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzE5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtLWxvY2FsLWxpbmUiCittc2dzdHIgImFyZ3VtZW50IGluY29ycmVjdCBwb3VyIC0tbG9jYWwtbGluZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3MzgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBuaWNlIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBkJ2hldXJlIGluY29ycmVjdCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHNwZWVkOiAlcyIKK21zZ3N0ciAidml0ZXNzZSBlcnJvbsOpZcKgOiAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzcKK21zZ2lkICJ0b28gbWFueSBhbHRlcm5hdGUgc3BlZWRzIgorbXNnc3RyICJ0cm9wIGRlIHZpdGVzc2VzIGFsdGVybmF0aXZlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDA2IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAxMCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IG9wZW4gYXMgc3RhbmRhcmQgaW5wdXQ6ICVtIgorbXNnc3RyICIvZGV2LyVzwqA6IGltcG9zc2libGUgZCdvdXZyaXIgZW4gdGFudCBxdSdlbnRyw6llIHN0YW5kYXJkwqA6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgY2hhcmFjdGVyIGRldmljZSIKK21zZ3N0ciAiL2Rldi8lc8KgOiBwYXMgdW4gcMOpcmlwaMOpcmlxdWUgY2FyYWN0w6hyZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIHR0eSIKK21zZ3N0ciAiL2Rldi8lc8KgOiBwYXMgdW4gdGVybWluYWwiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAzNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IGdldCBjb250cm9sbGluZyB0dHk6ICVtIgorbXNnc3RyICIvZGV2LyVzwqA6IGltcG9zc2libGUgZCdvYnRlbmlyIGxlIHRlcm1pbmFsIGRlIGNvbnRyw7RsZcKgOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IHZoYW5ndXAoKSBmYWlsZWQ6ICVtIgorbXNnc3RyICIvZGV2LyVzwqA6IMOpY2hlYyBkZSB2aGFuZ3VwKCnCoDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG9wZW4gZm9yIHJlYWQvd3JpdGUiCittc2dzdHIgIiVzwqA6IG4nZXN0IHBhcyBvdXZlcnQgZW4gbGVjdHVyZS/DqWNyaXR1cmUiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA4MworIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgc2V0IHByb2Nlc3MgZ3JvdXA6ICVtIgorbXNnc3RyICIvZGV2LyVzwqA6IGltcG9zc2libGUgZGUgY29uZmlndXJlciBsZSBncm91cGUgZHUgcHJvY2Vzc3VzwqA6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGR1cCBwcm9ibGVtOiAlbSIKK21zZ3N0ciAiJXPCoDogcHJvYmzDqG1lIGF2ZWMgZHVwwqA6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkJ29idGVudGlvbiBkZXMgYXR0cmlidXRzIGR1IHRlcm1pbmFswqA6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzMjEgdGVybS11dGlscy9hZ2V0dHkuYzoxMzQxCisjLCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgdGVybWluYWwgYXR0cmlidXRlcyBmYWlsZWQ6ICVtIgorbXNnc3RyICLDqWNoZWMgZGUgY29uZmlndXJhdGlvbiBkZXMgYXR0cmlidXRzIGR1IHRlcm1pbmFswqA6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NTkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gb3MtcmVsZWFzZSBmaWxlIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgZGUgdmVycm91ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE2MzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcmVsb2FkIGZpbGU6ICVzOiAlbSIKK21zZ3N0ciAiw6ljaGVjIGRlIGxlY3R1cmUgZHUgZmljaGllciBzY3JpcHQgZW5yZWdpc3Ryw6kgJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTczNgorbXNnaWQgIltwcmVzcyBFTlRFUiB0byBsb2dpbl0iCittc2dzdHIgIlthcHB1eWV6IHN1ciBFbnRyw6llIHBvdXIgdm91cyBjb25uZWN0ZXJdIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjAKK21zZ2lkICJOdW0gTG9jayBvZmYiCittc2dzdHIgIlZlcnJvdWlsbGFnZSBudW3DqXJpcXVlIGTDqXNhY3RpdsOpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjMKK21zZ2lkICJOdW0gTG9jayBvbiIKK21zZ3N0ciAiVmVycm91aWxsYWdlIG51bcOpcmlxdWUgYWN0aXbDqSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzY2Cittc2dpZCAiQ2FwcyBMb2NrIG9uIgorbXNnc3RyICJWZXJyb3VpbGxhZ2UgbWFqdXNjdWxlcyBhY3RpdsOpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjkKK21zZ2lkICJTY3JvbGwgTG9jayBvbiIKK21zZ3N0ciAiQXJyw6p0IGRlIGTDqWZpbGVtZW50IGFjdGl2w6kiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc3MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSGludDogJXNcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkNvbnNlaWzCoDogJXNcbiIKKyJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkOiAlbSIKK21zZ3N0ciAiJXPCoDogbHXCoDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk1OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5wdXQgb3ZlcnJ1biIKK21zZ3N0ciAiJXPCoDogZMOpcGFzc2VtZW50IGR1IHRhbXBvbiBkJ2VudHLDqWUiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgY2hhcmFjdGVyIGNvbnZlcnNpb24gZm9yIGxvZ2luIG5hbWUiCittc2dzdHIgIiVzwqA6IGNhcmFjdMOocmUgZGUgY29udmVyc2lvbiBub24gdmFsYWJsZSBwb3VyIGxlIG5vbSBkZSBjb25uZXhpb24iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgMHgleCBpbiBsb2dpbiBuYW1lIgorbXNnc3RyICIlc8KgOiBjYXJhY3TDqHJlIDB4JXggbm9uIHZhbGFibGUgZGFucyBsZSBub20gZGUgY29ubmV4aW9uIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBjb25maWd1cmF0aW9uIGRlcyBhdHRyaWJ1dHMgZHUgdGVybWluYWzCoDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEwOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxsaW5lPiBbPGJhdWRfcmF0ZT4sLi4uXSBbPHRlcm10eXBlPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGJhdWRfcmF0ZT4sLi4uIDxsaW5lPiBbPHRlcm10eXBlPl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcHRpb25zXSA8bGlnbmU+IFs8dml0ZXNzZV9kZV9jb25uZXhpb24+LC4uLl0gWzx0eXBldGVybT5dXG4iCisiICUxJHMgW29wdGlvbnNdIDx2aXRlc3NlX2RlX2Nvbm5leGlvbj4sLi4uIDxsaWduZT4gWzx0eXBldGVybT5dXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExMworbXNnaWQgIk9wZW4gYSB0ZXJtaW5hbCBhbmQgc2V0IGl0cyBtb2RlLlxuIgorbXNnc3RyICJPdXZyaXIgdW4gdGVybWluYWwgZXQgZMOpZmluaXIgc29uIG1vZGUuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExNgorbXNnaWQgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBhc3N1bWUgOC1iaXQgdHR5XG4iCittc2dzdHIgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBzdXBwb3NlciBxdWUgbGUgdGVybWluYWwgZ8OocmUgbGVzIGNhcmFjdMOocmVzIDjCoGJpdHNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE3Cittc2dpZCAiIC1hLCAtLWF1dG9sb2dpbiA8dXNlcj4gICAgIGxvZ2luIHRoZSBzcGVjaWZpZWQgdXNlciBhdXRvbWF0aWNhbGx5XG4iCittc2dzdHIgIiAtYSwgLS1hdXRvbG9naW4gPGlkZW50PiAgICBjb25uZWN0ZXIgbCd1dGlsaXNhdGV1ciBpbmRpcXXDqSBhdXRvbWF0aXF1ZW1lbnRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE4Cittc2dpZCAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGRvIG5vdCByZXNldCBjb250cm9sIG1vZGVcbiIKK21zZ3N0ciAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIG5lIHBhcyByw6lpbml0aWFsaXNlciBsZSBtb2RlIGRlIGNvbnRyw7RsZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTkKK21zZ2lkICIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAgdXNlIC1yIDxob3N0bmFtZT4gZm9yIGxvZ2luKDEpXG4iCittc2dzdHIgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICB1dGlsaXNlciAtciA8bm9tX2RfaMO0dGU+IHBvdXIgbG9naW4oMSlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIwCittc2dpZCAiIC1mLCAtLWlzc3VlLWZpbGUgPGZpbGU+ICAgIGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIgLWYsIC0taXNzdWUtZmlsZSA8ZmljaGllcj4gYWZmaWNoZXIgbGUgZmljaGllciBpc3N1ZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjEKK21zZ2lkICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgZW5hYmxlIGhhcmR3YXJlIGZsb3cgY29udHJvbFxuIgorbXNnc3RyICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgYWN0aXZlciBsZSBjb250csO0bGUgZGUgZmx1eCBtYXTDqXJpZWxcbiIKKworIyBnZXRvcHQtMS4xLjIvZ2V0b3B0LmM6MzM1CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjIKK21zZ2lkICIgLUgsIC0taG9zdCA8aG9zdG5hbWU+ICAgICAgc3BlY2lmeSBsb2dpbiBob3N0XG4iCittc2dzdHIgIiAtSCwgLS1ob3N0IDxub21fZF9ow7R0ZT4gICAgaW5kaXF1ZXIgbCdow7R0ZSBkZSBjb25uZXhpb25cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIzCittc2dpZCAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGRvIG5vdCBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIG5lIHBhcyBhZmZpY2hlciBsZSBmaWNoaWVyIGlzc3VlXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNAorbXNnaWQgIiAtSSwgLS1pbml0LXN0cmluZyA8c3RyaW5nPiBzZXQgaW5pdCBzdHJpbmdcbiIKK21zZ3N0ciAiIC1JLCAtLWluaXQtc3RyaW5nIDxjaGHDrm5lPiBkw6lmaW5pciBsYSBjaGHDrm5lIGluaXRpYWxlXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNQorbXNnaWQgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICBkbyBub3QgY2xlYXIgdGhlIHNjcmVlbiBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICBuZSBwYXMgZWZmYWNlciBsJ8OpY3JhbiBhdmFudCBsJ2ludml0ZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjYKK21zZ2lkICIgLWwsIC0tbG9naW4tcHJvZ3JhbSA8ZmlsZT4gc3BlY2lmeSBsb2dpbiBwcm9ncmFtXG4iCittc2dzdHIgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWMuPiBpbmRpcXVlciBsZSBwcm9ncmFtbWUgZGUgY29ubmV4aW9uXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNworbXNnaWQgIiAtTCwgLS1sb2NhbC1saW5lWz08bW9kZT5dICBjb250cm9sIHRoZSBsb2NhbCBsaW5lIGZsYWdcbiIKK21zZ3N0ciAiIC1MLCAtLWxvY2FsLWxpbmVbPTxtb2RlPl0gIGNvbnRyw7RsZXIgbOKAmWF0dHJpYnV0IGRlIGxpZ25lIGxvY2FsZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjgKK21zZ2lkICIgLW0sIC0tZXh0cmFjdC1iYXVkICAgICAgICAgZXh0cmFjdCBiYXVkIHJhdGUgZHVyaW5nIGNvbm5lY3RcbiIKK21zZ3N0ciAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhaXJlIGxhIHZpdGVzc2UgcGVuZGFudCBsYSBjb25uZXhpb25cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI5Cittc2dpZCAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGRvIG5vdCBwcm9tcHQgZm9yIGxvZ2luXG4iCittc2dzdHIgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBuZSBwYXMgZGVtYW5kZXIgZCdpZGVudGlmaWFudCBkZSBjb25uZXhpb25cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMwCittc2dpZCAiIC1OICAtLW5vbmV3bGluZSAgICAgICAgICAgIGRvIG5vdCBwcmludCBhIG5ld2xpbmUgYmVmb3JlIGlzc3VlXG4iCittc2dzdHIgIiAtTiAgLS1ub25ld2xpbmUgICAgICAgICAgICBuZSBwYXMgYWZmaWNoZXIgZGUgY2hhbmdlbWVudCBkZSBsaWduZSBhdmFudCBpc3N1ZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzEKK21zZ2lkICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8b3B0cz4gb3B0aW9ucyB0aGF0IGFyZSBwYXNzZWQgdG8gbG9naW5cbiIKK21zZ3N0ciAiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPG9wdC4+IG9wdGlvbnMgcXVpIHNvbnQgcGFzc8OpZXMgw6AgbGEgY29ubmV4aW9uXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMgorbXNnaWQgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICB3YWl0IGZvciBhbnkga2V5IGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiIC1wLCAtLWxvZ2luLXBhdXNlICAgICAgICAgIGF0dGVuZHJlIHVuZSB0b3VjaGUgYXZhbnQgbGEgY29ubmV4aW9uXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMworbXNnaWQgIiAtciwgLS1jaHJvb3QgPGRpcj4gICAgICAgICBjaGFuZ2Ugcm9vdCB0byB0aGUgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtciwgLS1jaHJvb3QgPHLDqXBlcnRvaXJlPiAgbW9kaWZpZXIgbGEgcmFjaW5lIGF1IHLDqXBlcnRvaXJlXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNAorbXNnaWQgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICBkbyB2aXJ0dWFsbHkgaGFuZ3VwIG9uIHRoZSB0dHlcbiIKK21zZ3N0ciAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgIHJhY2Nyb2NoZXIgdmlydHVlbGxlbWVudCBzdXIgbGUgdGVybWluYWxcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM1Cittc2dpZCAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIHRyeSB0byBrZWVwIGJhdWQgcmF0ZSBhZnRlciBicmVha1xuIgorbXNnc3RyICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgZXNzYXllciBkZSBnYXJkZXIgbGEgdml0ZXNzZSBlbiBiYXVkIGFwcsOocyB1bmUgcGF1c2VcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM2Cittc2dpZCAiIC10LCAtLXRpbWVvdXQgPG51bWJlcj4gICAgIGxvZ2luIHByb2Nlc3MgdGltZW91dFxuIgorbXNnc3RyICIgLXQsIC0tdGltZW91dCA8bm9tYnJlPiAgICAgdGVtcHMgZCdleHBpcmF0aW9uIGR1IHByb2Nlc3N1cyBkZSBjb25uZXhpb25cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM3Cittc2dpZCAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKK21zZ3N0ciAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGTDqXRlY3RlciBsZXMgdGVybWluYXV4IGVuIG1hanVzY3VsZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzgKK21zZ2lkICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgd2FpdCBjYXJyaWFnZS1yZXR1cm5cbiIKK21zZ3N0ciAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIGF0dGVuZHJlIHVuIHJldG91ciBjaGFyaW90XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzOQorbXNnaWQgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBkbyBub3QgcHJpbnQgaGludHNcbiIKK21zZ3N0ciAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIG5lIHBhcyBhZmZpY2hlciBkZSBjb25zZWlsc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDAKK21zZ2lkICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAgbm8gaG9zdG5hbWUgYXQgYWxsIHdpbGwgYmUgc2hvd25cbiIKK21zZ3N0ciAiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgIG5lIG1vbnRyZXIgYXVjdW4gbm9tIGQnaMO0dGVcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQxCittc2dpZCAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIHNob3cgZnVsbCBxdWFsaWZpZWQgaG9zdG5hbWVcbiIKK21zZ3N0ciAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIG1vbnRyZXIgbGUgbm9tIGQnaMO0dGUgY29tcGzDqHRlbWVudCBxdWFsaWZpw6lcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQyCittc2dpZCAiICAgICAtLWVyYXNlLWNoYXJzIDxzdHJpbmc+IGFkZGl0aW9uYWwgYmFja3NwYWNlIGNoYXJzXG4iCittc2dzdHIgIiAgICAgLS1lcmFzZS1jaGFycyA8Y2hhw65uZT4gY2FyYWN0w6hyZXMgc3VwcGzDqW1lbnRhaXJlcyBkJ2VzcGFjZSBhcnJpw6hyZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDMKK21zZ2lkICIgICAgIC0ta2lsbC1jaGFycyA8c3RyaW5nPiAgYWRkaXRpb25hbCBraWxsIGNoYXJzXG4iCittc2dzdHIgIiAgICAgLS1raWxsLWNoYXJzIDxjaGHDrm5lPiAgY2FyYWN0w6hyZXMgc3VwcGzDqW1lbnRhaXJlcyBwb3VyIHR1ZXJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ0Cittc2dpZCAiICAgICAtLWNoZGlyIDxkaXJlY3Rvcnk+ICAgIGNoZGlyIGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiICAgICAtLWNoZGlyIDxyw6lwZXJ0b2lyZT4gICBjaGFuZ2VyIGRlIHLDqXBlcnRvaXJlIGF2YW50IGxhIGNvbm5leGlvblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDUKK21zZ2lkICIgICAgIC0tZGVsYXkgPG51bWJlcj4gICAgICAgc2xlZXAgc2Vjb25kcyBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAgICAgLS1kZWxheSA8bm9tYnJlPiAgICAgICB0ZW1wcyBkZSBzb21tZWlsLCBlbiBzZWNvbmRlLCBhdmFudCBsJ2ludml0ZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDYKK21zZ2lkICIgICAgIC0tbmljZSA8bnVtYmVyPiAgICAgICAgcnVuIGxvZ2luIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIgICAgIC0tbmljZSA8bm9tYnJlPiAgICAgICAgZXjDqWN1dGVyIGxhIGNvbm5leGlvbiBhdmVjIGNldHRlIHByaW9yaXTDqVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDcKK21zZ2lkICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgcmVsb2FkIHByb21wdHMgb24gcnVubmluZyBhZ2V0dHkgaW5zdGFuY2VzXG4iCittc2dzdHIgIiAgICAgLS1yZWxvYWQgICAgICAgICAgICAgICByZWNoYXJnZXIgbGVzIGludml0ZXMgZGVzIGluc3RhbmNlcyBhZ2V0dHkgZW4gY291cnNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ4Cittc2dpZCAiICAgICAtLWhlbHAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgLS1oZWxwICAgICAgICAgICAgICAgICBhZmZpY2hlciBjZXR0ZSBhaWRlIGV0IHF1aXR0ZXJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ5Cittc2dpZCAiICAgICAtLXZlcnNpb24gICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBhZmZpY2hlciBsZXMgaW5mb3JtYXRpb25zIGRlIHZlcnNpb24gZXQgcXVpdHRlclxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI0ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgdXNlciIKK21zZ2lkX3BsdXJhbCAiJWQgdXNlcnMiCittc2dzdHJbMF0gIiVkwqB1dGlsaXNhdGV1ciIKK21zZ3N0clsxXSAiJWTCoHV0aWxpc2F0ZXVycyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjA5CisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNrbmFtZSBmYWlsZWQ6ICVtIgorbXNnc3RyICLDqWNoZWMgZGUgY2hlY2tuYW1lwqA6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHRvdWNoIGZpbGUgJXMiCittc2dzdHIgImltcG9zc2libGUgZGUgdG91Y2hlciBsZSBmaWNoaWVyICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MjUKK21zZ2lkICItLXJlbG9hZCBpcyB1bnN1cHBvcnRlZCBvbiB5b3VyIHN5c3RlbSIKK21zZ3N0ciAiLS1yZWxvYWQgbuKAmWVzdCBwYXMgcHJpcyBlbiBjaGFyZ2Ugc3VyIGNlIHN5c3TDqG1lIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFt5IHwgbl1cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSBbeXxuXVxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3OAorbXNnaWQgIkNvbnRyb2wgd3JpdGUgYWNjZXNzIG9mIG90aGVyIHVzZXJzIHRvIHlvdXIgdGVybWluYWwuXG4iCittc2dzdHIgIkNvbnRyw7RsZXIgbCdhY2PDqHMgZW4gw6ljcml0dXJlIGRlcyBhdXRyZXMgdXRpbGlzYXRldXIgc3VyIHZvdHJlIHRlcm1pbmFsLlxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo4MQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgZXhwbGlxdWVyIGxlcyBhY3Rpb25zIGVuIGNvdXJzXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEyNQorbXNnaWQgInR0eW5hbWUgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgdHR5bmFtZSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM0Cittc2dpZCAiaXMgeSIKK21zZ3N0ciAiZXN0IHkiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNworbXNnaWQgImlzIG4iCittc2dzdHIgImVzdCBuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNDggdGVybS11dGlscy9tZXNnLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZSAlcyBtb2RlIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIG1vZGlmaWNhdGlvbiBkdSBtb2RlICVzIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNTAKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBhbGxvd2VkIgorbXNnc3RyICJhY2PDqHMgZW4gw6ljcml0dXJlIMOgIHZvdHJlIHRlcm1pbmFsIHBlcm1pcyIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTU3Cittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgZGVuaWVkIgorbXNnc3RyICJhY2PDqHMgZW4gw6ljcml0dXJlIMOgIHZvdHJlIHRlcm1pbmFsIHJlZnVzw6kiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiYXJndW1lbnQgaW5jb3JyZWN0wqA6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE1OQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIFtmaWNoaWVyXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2MgorbXNnaWQgIk1ha2UgYSB0eXBlc2NyaXB0IG9mIGEgdGVybWluYWwgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiQ3LDqWVyIHVuZSB0cmFuc2NyaXB0aW9uIGQndW5lIHNlc3Npb24gZCd1biB0ZXJtaW5hbC5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjUKK21zZ2lkICIiCisiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgIGFwcGVuZCB0aGUgb3V0cHV0XG4iCisiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+IHJ1biBjb21tYW5kIHJhdGhlciB0aGFuIGludGVyYWN0aXZlIHNoZWxsXG4iCisiIC1lLCAtLXJldHVybiAgICAgICAgICAgIHJldHVybiBleGl0IGNvZGUgb2YgdGhlIGNoaWxkIHByb2Nlc3NcbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAgcnVuIGZsdXNoIGFmdGVyIGVhY2ggd3JpdGVcbiIKKyIgICAgIC0tZm9yY2UgICAgICAgICAgICAgdXNlIG91dHB1dCBmaWxlIGV2ZW4gd2hlbiBpdCBpcyBhIGxpbmtcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgYmUgcXVpZXRcbiIKKyIgLXQsIC0tdGltaW5nWz08ZmlsZT5dICAgb3V0cHV0IHRpbWluZyBkYXRhIHRvIHN0ZGVyciAob3IgdG8gRklMRSlcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgYWpvdXRlciDDoCBsYSBzb3J0aWVcbiIKKyIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZGU+IGV4w6ljdXRlciBjb21tYW5kZSBwbHV0w7R0IHF1J3VuIGludGVycHLDqXRldXIgaW50ZXJhY3RpZlxuIgorIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICAgcmVudm95ZXIgbGUgY29kZSBkZSBzb3J0aWUgZHUgcHJvY2Vzc3VzIGZpbHNcbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAgIGV4w6ljdXRlciBmbHVzaCBhcHLDqHMgY2hhcXVlIMOpY3JpdHVyZVxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICAgdXRpbGlzZXIgbGUgZmljaGllciBkZSBzb3J0aWUgbcOqbWUgc2kgYydlc3QgdW4gbGllblxuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgbW9kZSBzaWxlbmNpZXV4XG4iCisiIC10LCAtLXRpbWluZ1s9PGZpY2hpZXI+XSBhZmZpY2hlciBsZXMgZG9ubsOpZXMgdGVtcG9yZWxsZXMgc3VyIGxhIHNvcnRpZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGQnZXJyZXVyIHN0YW5kYXJkIChvdSB2ZXJzIDxmaWNoaWVyPilcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgIGFmZmljaGVyIGxlcyBpbmZvcm1hdGlvbnMgZGUgdmVyc2lvbiBldCBxdWl0dGVyXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICBhZmZpY2hlciBjZXR0ZSBhaWRlIGV0IHF1aXR0ZXJcbiIKKyJcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm91dHB1dCBmaWxlIGAlcycgaXMgYSBsaW5rXG4iCisiVXNlIC0tZm9yY2UgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC5cbiIKKyJQcm9ncmFtIG5vdCBzdGFydGVkLiIKK21zZ3N0ciAiIgorImxlIGZpY2hpZXIgZGUgc29ydGllIMKrwqAlc8KgwrsgZXN0IHVuIGxpZW4gc3ltYm9saXF1ZVxuIgorIlV0aWxpc2VyIC0tZm9yY2Ugc2kgdm91cyBkw6lzaXJleiByw6llbGxlbWVudCBsJ3V0aWxpc2VyLlxuIgorIkxlIHByb2dyYW1tZSBuJ2EgcGFzIMOpdMOpIGTDqW1hcnLDqS4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBkb25lLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIlNjcmlwdCB0ZXJtaW7DqSwgbGUgZmljaGllciBlc3QgJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyNjIKK21zZ2lkICJjYW5ub3Qgd3JpdGUgc2NyaXB0IGZpbGUiCittc2dzdHIgImltcG9zc2libGUgZCfDqWNyaXJlIGxlIGZpY2hpZXIgc2NyaXB0IgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjM5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlc3Npb24gdGVybWluw6llLCBsJ2ludGVycHLDqXRldXIgZXN0IGVuIHRyYWluIGQnw6p0cmUgdHXDqeKApiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXMiCittc2dzdHIgIkxlIHNjcmlwdCBhIGTDqWJ1dMOpIHN1ciAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNjcmlwdCBkb25lIG9uICVzIgorbXNnc3RyICIiCisiXG4iCisiU2NyaXB0IHRlcm1pbsOpIHN1ciAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2MDcKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiCittc2dzdHIgIsOpY2hlYyBkJ29idGVudGlvbiBkZXMgYXR0cmlidXRzIGR1IHRlcm1pbmFsIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYxNAorbXNnaWQgIm9wZW5wdHkgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgb3BlbnB0eSIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2NTIKK21zZ2lkICJvdXQgb2YgcHR5J3MiCittc2dzdHIgIm1hbnF1ZSBkZSBwdHkiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIkxlIHNjcmlwdCBhIGTDqWJ1dMOpLCBsZSBmaWNoaWVyIGVzdCAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLXRdIHRpbWluZ2ZpbGUgW3R5cGVzY3JpcHRdIFtkaXZpc29yXVxuIgorbXNnc3RyICIlcyBbLXRdIGZpY2hpZXJfZMOpcm91bGVtZW50X3RlbXBvcmVsIFtzY3JpcHRfZW5yZWdpc3Ryw6ldIFtkaXZpc2V1cl1cbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0NworbXNnaWQgIlBsYXkgYmFjayB0ZXJtaW5hbCB0eXBlc2NyaXB0cywgdXNpbmcgdGltaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJSZWpvdWVyIHVuIGVucmVnaXN0cmVtZW50IGR1IHRlcm1pbmFsIGZhaXQgcGFyIHNjcmlwdCwgZW4gdXRpbGlzYW50IGxlcyBpbmZvcm1hdGlvbnMgdGVtcG9yZWxsZXMuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NTAKK21zZ2lkICIiCisiIC10LCAtLXRpbWluZyA8ZmlsZT4gICAgIHNjcmlwdCB0aW1pbmcgb3V0cHV0IGZpbGVcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA8ZmlsZT4gc2NyaXB0IHRlcm1pbmFsIHNlc3Npb24gb3V0cHV0IGZpbGVcbiIKKyIgLWQsIC0tZGl2aXNvciA8bnVtPiAgICAgc3BlZWQgdXAgb3Igc2xvdyBkb3duIGV4ZWN1dGlvbiB3aXRoIHRpbWUgZGl2aXNvclxuIgorIiAtbSwgLS1tYXhkZWxheSA8bnVtPiAgICB3YWl0IGF0IG1vc3QgdGhpcyBtYW55IHNlY29uZHMgYmV0d2VlbiB1cGRhdGVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyIgLXQsIC0tdGltaW5nIDxmaWMuPiAgICAgw6ljcmlyZSBsZSBmaWNoaWVyIGRlIGTDqXJvdWxlbWVudCB0ZW1wb3JlbCBlbiBzb3J0aWVcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA8ZmljLj4gw6ljcmlyZSBsZSBmaWNoaWVyIGRlIGxhIHNlc3Npb24gZGUgdGVybWluYWwgZW4gc29ydGllXG4iCisiIC1kLCAtLWRpdmlzb3IgPG5vbWJyZT4gIGFjY8OpbMOpcmVyIG91IGTDqWPDqWzDqXJlciBsJ2V4w6ljdXRpb24gYXZlYyB1biBkaXZpc2V1ciBkZSB0ZW1wc1xuIgorIiAtbSwgLS1tYXhkZWxheSA8bm9tYnJlPiBhdHRlbmRyZSBhdSBwbHVzIGNlIHRlbXBzIGVuIHNlY29uZGUgZW50cmUgbGVzIG1pc2VzIMOgIGpvdXJcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgYWZmaWNoZXIgbGVzIGluZm9ybWF0aW9ucyBkZSB2ZXJzaW9uIGV0IHF1aXR0ZXJcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgYWZmaWNoZXIgY2V0dGUgYWlkZSBldCBxdWl0dGVyXG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTEyCittc2dpZCAid3JpdGUgdG8gc3Rkb3V0IGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGQnw6ljcml0dXJlIHN1ciBsYSBzb3J0aWUgc3RhbmRhcmQiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUgb24gJXMiCittc2dzdHIgImZpbiBkZSBmaWNoaWVyIGluYXR0ZW5kdWUgc3VyICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0eXBlc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgIsOpY2hlYyBkZSBsZWN0dXJlIGR1IGZpY2hpZXIgc2NyaXB0IGVucmVnaXN0csOpICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE4NAorbXNnaWQgIndyb25nIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgIm1hdXZhaXMgbm9tYnJlIGQnYXJndW1lbnRzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aW1pbmcgZmlsZSAlcyIKK21zZ3N0ciAiw6ljaGVjIGRlIGxlY3R1cmUgZHUgZmljaGllciBkZSBkw6lyb3VsZW1lbnQgdGVtcG9yZWwgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aW1pbmcgZmlsZSAlczogbGluZSAlbHU6IHVuZXhwZWN0ZWQgZm9ybWF0IgorbXNnc3RyICJmaWNoaWVyIGRlIGTDqXJvdWxlbWVudCB0ZW1wb3JlbCAlc8KgOiAlbHXCoDogZm9ybWF0IGluYXR0ZW5kdSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgImFyZ3VtZW50IGVycm9yOiBicmlnaHQgJXMgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiZXJyZXVyIGQnYXJndW1lbnTCoDogbHVtaW5vc2l0w6kgJXMgbm9uIHByaXNlIGVuIGNoYXJnZSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI4Cittc2dpZCAidG9vIG1hbnkgdGFicyIKK21zZ3N0ciAidHJvcCBkZSB0YWJ1bGF0aW9ucyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzgzCittc2dpZCAiU2V0IHRoZSBhdHRyaWJ1dGVzIG9mIGEgdGVybWluYWwuXG4iCittc2dzdHIgIkTDqWZpbmlyIGxlcyBhdHRyaWJ1dHMgZOKAmXVuIHRlcm1pbmFsLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODYKK21zZ2lkICIgLS10ZXJtICAgICAgICAgIDx0ZXJtaW5hbF9uYW1lPiAgIG92ZXJyaWRlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIC0tdGVybSAgICAgICAgICA8bm9tX3Rlcm1pbmFsPiAgICByZW1wbGFjZXIgbGEgdmFyaWFibGUgZCdlbnZpcm9ubmVtZW50IFRFUk1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg3Cittc2dpZCAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCB0byBwb3dlci1vbiBzdGF0ZVxuIgorbXNnc3RyICIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIHLDqWluaXRpYWxpc2VyIGxlIHRlcm1pbmFsIGVuIMOpdGF0IGFsaW1lbnTDqVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODgKK21zZ2lkICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5pdCBzdHJpbmcsIGFuZCB1c2UgZGVmYXVsdCBzZXR0aW5nc1xuIgorbXNnc3RyICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGFmZmljaGVyIGxhIGNoYcOubmUgZOKAmWluaXRpYWxpc2F0aW9uIGV0IHV0aWxpc2VyIGxlcyByw6lnbGFnZXMgcGFyIGTDqWZhdXRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg5Cittc2dpZCAiIC0tZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgZGVmYXVsdCB0ZXJtaW5hbCBzZXR0aW5nc1xuIgorbXNnc3RyICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHV0aWxpc2VyIGxlcyByw6lnbGFnZXMgcGFyIGTDqWZhdXQgZHUgdGVybWluYWxcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkwCittc2dpZCAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgdGVybWluYWwgc2V0dGluZ3MgYXMgZGVmYXVsdFxuIgorbXNnc3RyICIgLS1zdG9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhdXZlZ2FyZGVyIGxlcyByw6lnbGFnZXMgYWN0dWVscyBkdSB0ZXJtaW5hbCBjb21tZSByw6lnbGFnZXMgcGFyIGTDqWZhdXRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkxCittc2dpZCAiIC0tY3Vyc29yICAgICAgICBbb258b2ZmXSAgICAgICAgICBkaXNwbGF5IGN1cnNvclxuIgorbXNnc3RyICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGFmZmljaGVyIGxlIGN1cnNldXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkyCittc2dpZCAiIC0tcmVwZWF0ICAgICAgICBbb258b2ZmXSAgICAgICAgICBrZXlib2FyZCByZXBlYXRcbiIKK21zZ3N0ciAiIC0tcmVwZWF0ICAgICAgICBbb258b2ZmXSAgICAgICAgICByw6lww6l0ZXIgbGUgY2xhdmllclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTMKK21zZ2lkICIgLS1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdICAgICAgICAgIGN1cnNvciBrZXkgYXBwbGljYXRpb24gbW9kZVxuIgorbXNnc3RyICIgLS1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdICAgICAgICAgIG1vZGUgZOKAmWFwcGxpY2F0aW9uIGRlIHRvdWNoZSBkdSBjdXJzZXVyXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NAorbXNnaWQgIiAtLWxpbmV3cmFwICAgICAgW29ufG9mZl0gICAgICAgICAgY29udGludWUgb24gYSBuZXcgbGluZSB3aGVuIGEgbGluZSBpcyBmdWxsXG4iCittc2dzdHIgIiAtLWxpbmV3cmFwICAgICAgW29ufG9mZl0gICAgICAgICAgY29udGludWVyIHN1ciB1bmUgbm91dmVsbGUgbGlnbmUgcXVhbmQgdW5lIGxpZ25lIGVzdCBwbGVpbmVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk1Cittc2dpZCAiIC0taW52ZXJzZXNjcmVlbiBbb258b2ZmXSAgICAgICAgICBzd2FwIGNvbG9ycyBmb3IgdGhlIHdob2xlIHNjcmVlblxuIgorbXNnc3RyICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIMOpY2hhbmdlciBsZXMgY291bGV1cnMgcG91ciB0b3V0IGzigJnDqWNyYW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk2Cittc2dpZCAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgZm9yZWdyb3VuZCBjb2xvclxuIgorbXNnc3RyICIgLS1mb3JlZ3JvdW5kICAgIGRlZmF1bHR8PGNvdWxldXI+IGTDqWZpbmlyIGxhIGNvdWxldXIgZGUgcHJlbWllciBwbGFuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NworbXNnaWQgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGJhY2tncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIC0tYmFja2dyb3VuZCAgICBkZWZhdWx0fDxjb3VsZXVyPiBkw6lmaW5pciBsYSBjb3VsZXVyIGTigJlhcnJpw6hyZS1wbGFuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OAorbXNnaWQgIiAtLXVsY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IHVuZGVybGluZWQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxjb3VsZXVyPiBkw6lmaW5pciBsYSBjb3VsZXVyIGRlIHRleHRlIHNvdWxpZ27DqVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTkKK21zZ2lkICIgLS1oYmNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCBib2xkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8Y291bGV1cj4gZMOpZmluaXIgbGEgY291bGV1ciBkZSB0ZXh0ZSBncmFzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMAorbXNnaWQgIiAgICAgICAgICAgICAgICAgPGNvbG9yPjogYmxhY2sgYmx1ZSBjeWFuIGdyZWVuIGdyZXkgbWFnZW50YSByZWQgd2hpdGUgeWVsbG93XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgPGNvdWxldXI+wqA6IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDEKK21zZ2lkICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJvbGRcbiIKK21zZ3N0ciAiIC0tYm9sZCAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBncmFzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMgorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMworbXNnaWQgIiAtLWJsaW5rICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYmxpbmtcbiIKK21zZ3N0ciAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBjbGlnbm90ZW1lbnRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA0Cittc2dpZCAiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICB1bmRlcmxpbmVcbiIKK21zZ3N0ciAiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICBzb3VsaWduZW1lbnRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA1Cittc2dpZCAiIC0tcmV2ZXJzZSAgICAgICBbb258b2ZmXSAgICAgICAgICBzd2FwIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQgY29sb3JzXG4iCittc2dzdHIgIiAtLXJldmVyc2UgICAgICAgW29ufG9mZl0gICAgICAgICAgw6ljaGFuZ2VyIGxlcyBjb3VsZXVycyBkZSBwcmVtaWVyIHBsYW4gZXQgZOKAmWFycmnDqHJlLXBsYW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA2Cittc2dpZCAiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICBjbGVhciBzY3JlZW4gYW5kIHNldCBjdXJzb3IgcG9zaXRpb25cbiIKK21zZ3N0ciAiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICBlZmZhY2VyIGzigJnDqWNyYW4gZXQgZMOpZmluaXIgbGEgcG9zaXRpb24gZHUgY3Vyc2V1clxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDcKK21zZ2lkICIgLS10YWJzICAgICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIHNldCB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIHNob3cgdGhlbVxuIgorbXNnc3RyICIgLS10YWJzICAgICAgICAgIFs8bm9tYnJlPiAuLi5dICAgIGTDqWZpbmlyIGNlcyBwb3NpdGlvbnMgZOKAmWFycsOqdCBkZSB0YWJ1bGF0aW9uIG91IGxlcyBtb250cmVyXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOAorbXNnaWQgIiAtLWNscnRhYnMgICAgICAgWzxudW1iZXI+Li4uXSAgICAgY2xlYXIgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBhbGxcbiIKK21zZ3N0ciAiIC0tY2xydGFicyAgICAgICBbPG5vbWJyZT4gLi4uXSAgICBlZmZhY2VyIGNlcyBwb3NpdGlvbnMgZOKAmWFycsOqdCBkZSB0YWJ1bGF0aW9uIG91IHRvdXRlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDkKK21zZ2lkICIgLS1yZWd0YWJzICAgICAgIFsxLTE2MF0gICAgICAgICAgIHNldCBhIHJlZ3VsYXIgdGFiIHN0b3AgaW50ZXJ2YWxcbiIKK21zZ3N0ciAiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICBkw6lmaW5pciB1biBpbnRlcnZhbGxlIGTigJlhcnLDqnQgZGUgdGFidWxhdGlvbiByw6lndWxpZXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEwCittc2dpZCAiIC0tYmxhbmsgICAgICAgICBbMC02MHxmb3JjZXxwb2tlXSBzZXQgdGltZSBvZiBpbmFjdGl2aXR5IGJlZm9yZSBzY3JlZW4gYmxhbmtzXG4iCittc2dzdHIgIiAtLWJsYW5rICAgICAgICAgWzAtNjB8Zm9yY2V8cG9rZV0gZMOpZmluaXIgbGUgdGVtcHMgZOKAmWluYWN0aXZpdMOpIGF2YW50IGRlIG5ldHRveWVyIGzigJnDqWNyYW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDExCittc2dpZCAiIC0tZHVtcCAgICAgICAgICBbPG51bWJlcj5dICAgICAgICB3cml0ZSB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIC0tZHVtcCAgICAgICAgICBbPG5vbWJyZT5dICAgICAgICDDqWNyaXJlIGxlIGNvbnRlbnUgZGUgbGEgY29uc29sZSB2Y3NhPG5vbWJyZT4gZGFucyB1biBmaWNoaWVyXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMgorbXNnaWQgIiAtLWFwcGVuZCAgICAgICAgWzxudW1iZXI+XSAgICAgICAgYXBwZW5kIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIgLS1hcHBlbmQgICAgICAgIFs8bm9tYnJlPl0gICAgICAgIGFqb3V0ZXIgbGUgY29udGVudSBkZSBsYSBjb25zb2xlIHZjc2E8bm9tYnJlPiBkYW5zIHVuIGZpY2hpZXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEzCittc2dpZCAiIC0tZmlsZSAgICAgICAgICA8ZmlsZW5hbWU+ICAgICAgICBuYW1lIG9mIHRoZSBkdW1wIGZpbGVcbiIKK21zZ3N0ciAiIC0tZmlsZSAgICAgICAgICA8ZmljaGllcj4gICAgICAgICBub20gZHUgZmljaGllciBkZSBzYXV2ZWdhcmRlXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNAorbXNnaWQgIiAtLW1zZyAgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgc2VuZCBrZXJuZWwgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLS1tc2cgICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGVudm95ZXIgbGVzIG1lc3NhZ2VzIGR1IG5veWF1IMOgIGxhIGNvbnNvbGVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE1Cittc2dpZCAiIC0tbXNnbGV2ZWwgICAgICAwLTggICAgICAgICAgICAgICBrZXJuZWwgY29uc29sZSBsb2cgbGV2ZWxcbiIKK21zZ3N0ciAiIC0tbXNnbGV2ZWwgICAgICAwLTggICAgICAgICAgICAgICBuaXZlYXUgZGUgam91cm5hbGlzYXRpb24gZHUgbm95YXUgZW4gY29uc29sZVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTYKK21zZ2lkICIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorbXNnc3RyICIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTcKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCB2ZXNhIHBvd2Vyc2F2aW5nIGZlYXR1cmVzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZMOpZmluaXIgbGVzIGZvbmN0aW9ubmFsaXTDqXMgZGUgc2F1dmVnYXJkZSBk4oCZw6luZXJnaWUgVkVTQVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTgKK21zZ2lkICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIHNldCB2ZXNhIHBvd2VyZG93biBpbnRlcnZhbCBpbiBtaW51dGVzXG4iCittc2dzdHIgIiAtLXBvd2VyZG93biAgICAgWzAtNjBdICAgICAgICAgICAgZMOpZmluaXIgbOKAmWludGVydmFsbGUgZOKAmWV4dGluY3Rpb24gVkVTQSBlbiBtaW51dGVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE5Cittc2dpZCAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICBkdXJhdGlvbiBvZiB0aGUgYmVsbCBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICB0ZW1wcyBkZSBzb25uZXJpZSBlbiBtaWxsaXNlY29uZGVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIwCittc2dpZCAiIC0tYmZyZXEgICAgICAgICA8bnVtYmVyPiAgICAgICAgICBiZWxsIGZyZXF1ZW5jeSBpbiBIZXJ0elxuIgorbXNnc3RyICIgLS1iZnJlcSAgICAgICAgIDxub21icmU+ICAgICAgICAgIGZyw6lxdWVuY2UgZGUgc29ubmVyaWUgZW4gSGVydHpcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIxCittc2dpZCAiIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICBzaG93IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICBhZmZpY2hlciBsZXMgaW5mb3JtYXRpb25zIGRlIHZlcnNpb24gZXQgcXVpdHRlclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjIKK21zZ2lkICIgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWZmaWNoZXIgY2V0dGUgYWlkZSBldCBxdWl0dGVyXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQzMAorbXNnaWQgImR1cGxpY2F0ZSB1c2Ugb2YgYW4gb3B0aW9uIgorbXNnc3RyICJ1dGlsaXNhdGlvbiBk4oCZdW5lIG9wdGlvbiBlbiBkb3VibGUiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjczNAorbXNnaWQgImNhbm5vdCBmb3JjZSBibGFuayIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FjdGl2ZXIgbGUgbmV0dG95YWdlIGF1dG9tYXRpcXVlIGRlIGwnw6ljcmFuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MzkKK21zZ2lkICJjYW5ub3QgZm9yY2UgdW5ibGFuayIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBkw6lzYWN0aXZlciBsZSBuZXR0b3lhZ2UgYXV0b21hdGlxdWUgZGUgbCfDqWNyYW4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0NQorbXNnaWQgImNhbm5vdCBnZXQgYmxhbmsgc3RhdHVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnb2J0ZW5pciBsJ8OpdGF0IGRlIG5ldHRveWFnZSBhdXRvbWF0aXF1ZSBkZSBsJ8OpY3JhbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzcxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbiBub3Qgb3BlbiBkdW1wIGZpbGUgJXMgZm9yIG91dHB1dCIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciBsZSBmaWNoaWVyIGRlIHNhdXZlZ2FyZGUgJXMgZW4gc29ydGllIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgJXMgZG9lcyBub3Qgc3VwcG9ydCAlcyIKK21zZ3N0ciAibGUgdGVybWluYWzCoCVzIG5lIHByZW5kIHBhcyBlbiBjaGFyZ2UgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjk4OAorbXNnaWQgImNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIChkw6kpY29uZmlndXJlciBsZSBtb2RlIHBvd2Vyc2F2ZSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTAwNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDE2Cittc2dpZCAia2xvZ2N0bCBlcnJvciIKK21zZ3N0ciAiZXJyZXVyIGtsb2djdGwiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwMzcKK21zZ2lkICIkVEVSTSBpcyBub3QgZGVmaW5lZC4iCittc2dzdHIgIiRURVJNIG4nZXN0IHBhcyBkw6lmaW5pLiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0NAorbXNnaWQgInRlcm1pbmZvIGRhdGFiYXNlIGNhbm5vdCBiZSBmb3VuZCIKK21zZ3N0ciAiTGEgYmFzZSBkZSBkb25uw6llIHRlcm1pbmZvIGVzdCBpbnRyb3V2YWJsZSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biB0ZXJtaW5hbCB0eXBlIgorbXNnc3RyICIlc8KgOiB0eXBlIGRlIHRlcm1pbmFsIGluY29ubnUiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDgKK21zZ2lkICJ0ZXJtaW5hbCBpcyBoYXJkY29weSIKK21zZ3N0ciAibGUgdGVybWluYWwgZXN0IHVuIHRlcm1pbmFsIGJydXQiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHRvbyBtYW55IGlvdidzIgorbXNnc3RyICJlcnJldXIgaW50ZXJuZcKgOiB0cm9wIGQnaW92IgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImV4Y2Vzc2l2ZWx5IGxvbmcgbGluZSBhcmciCittc2dzdHIgImxpZ25lIGQnYXJndW1lbnRzIGV4Y2Vzc2l2ZW1lbnQgbG9uZ3VlIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVuIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGQnb3V2ZXJ0dXJlIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJmb3JrOiAlbSIKK21zZ3N0ciAiZm9ya8KgOiAlbSIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZvcmsiCittc2dzdHIgImZvcmsoKSBpbXBvc3NpYmxlIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkFEIEVSUk9SLCBtZXNzYWdlIGlzIGZhciB0b28gbG9uZyIKK21zZ3N0ciAiJXPCoDogZXJyZXVyIGZhdGFsZSwgbGUgbWVzc2FnZSBlc3QgYmVhdWNvdXAgdHJvcCBsb25nIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gfCA8bWVzc2FnZT5dXG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gWzxmaWNoaWVyPiB8IDxtZXNzYWdlPl1cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODYKK21zZ2lkICJXcml0ZSBhIG1lc3NhZ2UgdG8gYWxsIHVzZXJzLlxuIgorbXNnc3RyICJFbnZveWVyIHVuIG1lc3NhZ2Ugw6AgdG91cyBsZXMgdXRpbGlzYXRldXJzLlxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4OQorbXNnaWQgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBkbyBub3QgcHJpbnQgYmFubmVyLCB3b3JrcyBvbmx5IGZvciByb290XG4iCittc2dzdHIgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBwYXMgZGUgYmFubmnDqHJlIGFmZmljaMOpZSwgcG91ciBsZSBzdXBlcnV0aWxpc2F0ZXVyXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjkwCittc2dpZCAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZW91dCA8dGVtcHNleD4gw6ljcmlyZSBsZSB0ZW1wcyBkJ2V4cGlyYXRpb24gZW4gc2Vjb25kZVxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMzIKK21zZ2lkICItLW5vYmFubmVyIGlzIGF2YWlsYWJsZSBvbmx5IGZvciByb290IgorbXNnc3RyICJzZXVsIGxlIHN1cGVydXRpbGlzYXRldXIgcGV1dCB1dGlsaXNlciAtLW5vYmFubmVyIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiYXJndW1lbnQgZCdleHBpcmF0aW9uIGRlIGxhIG1pbnV0ZXJpZSBpbmNvcnJlY3TCoDogJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjI2OQorbXNnaWQgImNhbm5vdCBnZXQgcGFzc3dkIHVpZCIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ29idGVuaXIgbCdpZGVudGlmaWFudCB1dGlsaXNhdGV1ciBkZSBwYXNzd2QiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjI3NAorbXNnaWQgImNhbm5vdCBnZXQgdHR5IG5hbWUiCittc2dzdHIgImltcG9zc2libGUgZCdvYnRlbmlyIGxlIG5vbSBkdSB0ZXJtaW5hbCIKKworIzogdGVybS11dGlscy93YWxsLmM6Mjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXNAJXMgKCVzKSAoJXMpOiIKK21zZ3N0ciAiRGlmZnVzaW9uIGRlIG1lc3NhZ2UgZGUgJXNAJXMgKCVzKSAoJXMpwqA6IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgcmVhZCAlcyAtIHVzZSBzdGRpbi4iCittc2dzdHIgIm5lIGxpcmEgcGFzICVzIOKAlCB1dGlsaXNlciBsJ2VudHLDqWUgc3RhbmRhcmQuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXNlcj4gWzx0dHluYW1lPl1cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSA8dXRpbGlzYXRldXI+IFs8dGVybWluYWw+XVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6OTAKK21zZ2lkICJTZW5kIGEgbWVzc2FnZSB0byBhbm90aGVyIHVzZXIuXG4iCittc2dzdHIgIkVudm95ZXIgdW4gbWVzc2FnZSDDoCB1biBhdXRyZSB1dGlsaXNhdGV1ci5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICJlZmZlY3RpdmUgZ2lkIGRvZXMgbm90IG1hdGNoIGdyb3VwIG9mICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiIKK21zZ3N0ciAiJXMgbidlc3QgcGFzIGNvbm5lY3TDqSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwNworbXNnaWQgImNhbid0IGZpbmQgeW91ciB0dHkncyBuYW1lIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHJlcMOpcmVyIGxlIG5vbSBkZSB2b3RyZSB0ZXJtaW5hbCIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQiCittc2dzdHIgIiVzIGEgZMOpc2FjdGl2w6kgbGEgcsOpY2VwdGlvbiBkZSBtZXNzYWdlcyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBsb2dnZWQgaW4gbW9yZSB0aGFuIG9uY2U7IHdyaXRpbmcgdG8gJXMiCittc2dzdHIgIiVzIGVzdCBjb25uZWN0w6kgcGx1cyBkJ3VuZSBmb2lzwqA7IG9uIMOpY3JpdCDDoCAlcyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIzOAorbXNnaWQgImNhcmVmdWxwdXRjIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGNhcmVmdWxwdXRjIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgKGFzICVzKSBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICJNZXNzYWdlIGRlICVzQCVzIChjb21tZSAlcykgc3VyICVzIMOgICVz4oCmIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6Mjg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiTWVzc2FnZSBkZSAlc0AlcyBzdXIgJXMgw6AgJXPigKYiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozMzEKK21zZ2lkICJ5b3UgaGF2ZSB3cml0ZSBwZXJtaXNzaW9uIHR1cm5lZCBvZmYiCittc2dzdHIgInZvcyBkcm9pdHMgZCfDqWNyaXR1cmUgc29udCBkw6lzYWN0aXbDqWVzIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4gb24gJXMiCittc2dzdHIgIiVzIG4nZXN0IHBhcyBjb25uZWN0w6kgc3VyICVzIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCBvbiAlcyIKK21zZ3N0ciAiJXMgYSBkw6lzYWN0aXbDqSBsYSByw6ljZXB0aW9uIGRlIG1lc3NhZ2VzIHN1ciAlcyIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzQKK21zZ2lkICJGaWx0ZXIgb3V0IHJldmVyc2UgbGluZSBmZWVkcy5cbiIKK21zZ3N0ciAiU3VwcHJpbWVyIGxlcyBpbnRlcmxpZ25lcyBpbnZlcnPDqXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYiwgLS1uby1iYWNrc3BhY2VzICAgIGRvIG5vdCBvdXRwdXQgYmFja3NwYWNlc1xuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIHBlcm1pdCBmb3J3YXJkIGhhbGYgbGluZSBmZWVkc1xuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIHBhc3MgdW5rbm93biBjb250cm9sIHNlcXVlbmNlc1xuIgorIiAtaCwgLS10YWJzICAgICAgICAgICAgIGNvbnZlcnQgc3BhY2VzIHRvIHRhYnNcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICBjb252ZXJ0IHRhYnMgdG8gc3BhY2VzXG4iCisiIC1sLCAtLWxpbmVzIE5VTSAgICAgICAgYnVmZmVyIGF0IGxlYXN0IE5VTSBsaW5lc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1ILCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wdGlvbnPCoDpcbiIKKyIgLWIsIC0tbm8tYmFja3NwYWNlcyAgICBwYXMgZCdhZmZpY2hhZ2UgZGVzIHJldG91cnMgYXJyacOocmVcbiIKKyIgLWYsIC0tZmluZSAgICAgICAgICAgICBwZXJtZXR0cmUgZCdhdmFuY2VyIGxlcyBmbHV4IGQndW5lIGRlbWllIGxpZ25lXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAgcGFzc2VyIGxlcyBzdWl0ZXMgZGUgY29udHLDtGxlIGluY29ubnVlc1xuIgorIiAtaCwgLS10YWJzICAgICAgICAgICAgIGNvbnZlcnRpciBsZXMgZXNwYWNlcyBlbiB0YWJ1bGF0aW9uc1xuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIGNvbnZlcnRpciBsZXMgdGFidWxhdGlvbnMgZW4gZXNwYWNlc1xuIgorIiAtbCwgLS1saW5lcyBOT01CUkUgICAgIG1ldHRyZSBlbiB0YW1wb24gYXUgbW9pbnMgTk9NQlJFIGxpZ25lc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIGFmZmljaGVyIGxlcyBpbmZvcm1hdGlvbnMgZGUgdmVyc2lvbiBldCBxdWl0dGVyXG4iCisiIC1ILCAtLWhlbHAgICAgICAgICAgICAgYWZmaWNoZXIgY2V0dGUgYWlkZSBldCBxdWl0dGVyXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTQ4IHRleHQtdXRpbHMvY29scm0uYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXMgcmVhZHMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dFxuIgorIlxuIgorbXNnc3RyICIiCisiJXMgbGl0IGwnZW50csOpZSBzdGFuZGFyZCBldCDDqWNyaXQgc3VyIGxhIHNvcnRpZSBzdGFuZGFyZFxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjIxMgorbXNnaWQgImJhZCAtbCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnQgZGUgLWwgZXJyb27DqSIKKworIzogdGV4dC11dGlscy9jb2wuYzozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2FuJ3QgYmFjayB1cCAlcy4iCittc2dzdHIgImF2ZXJ0aXNzZW1lbnTCoDogaW1wb3NzaWJsZSBkZSBzYXV2ZWdhcmRlciAlcy4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM3Cittc2dpZCAicGFzdCBmaXJzdCBsaW5lIgorbXNnc3RyICJwYXNzw6kgbGEgcHJlbWnDqHJlIGxpZ25lIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjMzNworbXNnaWQgIi0tIGxpbmUgYWxyZWFkeSBmbHVzaGVkIgorbXNnc3RyICItLSBsaWduZSBkw6lqw6Agw6lsaW1pbsOpZSIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4MSB0ZXh0LXV0aWxzL2NvbHVtbi5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gWzxmaWNoaWVyPi4uLl1cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NAorbXNnaWQgIkZpbHRlciBucm9mZiBvdXRwdXQgZm9yIENSVCBwcmV2aWV3aW5nLlxuIgorbXNnc3RyICJQcsOpcGFyZXIgdW5lIHNvcnRpZSBucm9mZiBwb3VyIGxhIHByw6l2aXN1YWxpc2F0aW9uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg3Cittc2dpZCAiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIHN1cHByZXNzIGFsbCB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgICAgc3VwcHJpbWVyIHRvdXQgbGVzIHNvdWxpZ25lbWVudHNcbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OAorbXNnaWQgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBwcmludCBhbGwgaGFsZi1saW5lc1xuIgorbXNnc3RyICIgLTIsIC0taGFsZi1saW5lcyAgICAgICAgYWZmaWNoZXIgdG91dGVzIGxlcyBkZW1pLWxpZ25lc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbc3RhcnRjb2wgW2VuZGNvbF1dXG4iCittc2dzdHIgIiIKKyJcbiIKKyJVdGlsaXNhdGlvbsKgOlxuIgorIiAlcyBbY29sb25uZV9kw6lidXQgW2NvbG9ubmVfZmluXV1cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjY0Cittc2dpZCAiRmlsdGVyIG91dCB0aGUgc3BlY2lmaWVkIGNvbHVtbnMuXG4iCittc2dzdHIgIlN1cHByaW1lciBsZXMgY29sb25uZXMgaW5kaXF1w6llcy5cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NQorbXNnaWQgImZpcnN0IGFyZ3VtZW50IgorbXNnc3RyICJwcmVtaWVyIGFyZ3VtZW50IgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg3Cittc2dpZCAic2Vjb25kIGFyZ3VtZW50IgorbXNnc3RyICJkZXV4acOobWUgYXJndW1lbnQiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTIwCittc2dpZCAiQ29sdW1uYXRlIGxpc3RzLlxuIgorbXNnc3RyICJGb3JtYXRlciBkZXMgbGlzdGVzIGVuIHBsdXNpZXVycyBjb2xvbm5lcy5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjMKK21zZ2lkICIgLWMsIC0tY29sdW1ucyA8d2lkdGg+ICAgIHdpZHRoIG9mIG91dHB1dCBpbiBudW1iZXIgb2YgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLWMsIC0tY29sdW1ucyA8bGFyZ2V1cj4gIGxhcmdldXIgZGUgbCdhZmZpY2hhZ2UgZW4gbm9tYnJlIGRlIGNhcmFjdMOocmVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI0Cittc2dpZCAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICBjcmVhdGUgYSB0YWJsZVxuIgorbXNnc3RyICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgIGNyw6llciB1biB0YWJsZWF1XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI1Cittc2dpZCAiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiBwb3NzaWJsZSB0YWJsZSBkZWxpbWl0ZXJzXG4iCittc2dzdHIgIiAtcywgLS1zZXBhcmF0b3IgPGNoYcOubmU+IGTDqWxpbWl0ZXVycyBkZSB0YWJsZWF1IHBvc3NpYmxlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyNgorbXNnaWQgIiIKKyIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8c3RyaW5nPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucyBzZXBhcmF0b3IgZm9yIHRhYmxlIG91dHB1dDsgZGVmYXVsdCBpcyB0d28gc3BhY2VzXG4iCittc2dzdHIgIiIKKyItbywgLS1vdXRwdXQtc2VwYXJhdG9yIDxjaGHDrm5lPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgc8OpcGFyYXRldXIgZGUgY29sb25uZXMgZHUgdGFibGVhdSBhZmZpY2jDqSxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV1eCBlc3BhY2VzIHBhciBkw6lmYXV0XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI4Cittc2dpZCAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICBmaWxsIHJvd3MgYmVmb3JlIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICByZW1wbGlyIGxlcyBsaWduZXMgYXZhbnQgbGVzIGNvbG9ubmVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTgyCittc2dpZCAiaW52YWxpZCBjb2x1bW5zIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBkZSBjb2xvbm5lcyBpbmNvcnJlY3QiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDIyCisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQgaXMgdG9vIGxvbmcsIG91dHB1dCB3aWxsIGJlIHRydW5jYXRlZCIKK21zZ3N0ciAibGEgbGlnbmXCoCVkIGVzdCB0cm9wIGxvbmd1ZSwgbCdhZmZpY2hhZ2Ugc2VyYSB0cm9ucXXDqSIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU1IHRleHQtdXRpbHMvbW9yZS5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPi4uLlxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIDxmaWNoaWVyPi4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTgKK21zZ2lkICJEaXNwbGF5IGZpbGUgY29udGVudHMgaW4gaGV4YWRlY2ltYWwsIGRlY2ltYWwsIG9jdGFsLCBvciBhc2NpaS5cbiIKK21zZ3N0ciAiQWZmaWNoZXIgbGUgY29udGVudSBk4oCZdW4gZmljaGllciBlbiBoZXhhZMOpY2ltYWwsIGTDqWNpbWFsLCBvY3RhbCBvdSBBU0NJSS5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYxCittc2dpZCAiIC1iLCAtLW9uZS1ieXRlLW9jdGFsICAgICAgb25lLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBhZmZpY2hhZ2Ugb2N0YWwgc2ltcGxlIG9jdGV0XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MgorbXNnaWQgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgIG9uZS1ieXRlIGNoYXJhY3RlciBkaXNwbGF5XG4iCittc2dzdHIgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgIGFmZmljaGFnZSBkZSBjYXJhY3TDqHJlIHNpbXBsZSBvY3RldFxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjMKK21zZ2lkICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1DLCAtLWNhbm9uaWNhbCAgICAgICAgICAgYWZmaWNoYWdlIGNhbm9uaXF1ZSBoZXhhZMOpY2ltYWwgZXQgQVNDSUlcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY0Cittc2dpZCAiIC1kLCAtLXR3by1ieXRlcy1kZWNpbWFsICAgdHdvLWJ5dGUgZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiAtZCwgLS10d28tYnl0ZXMtZGVjaW1hbCAgIGFmZmljaGFnZSBkw6ljaW1hbCBkb3VibGUgb2N0ZXRcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY1Cittc2dpZCAiIC1vLCAtLXR3by1ieXRlcy1vY3RhbCAgICAgdHdvLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICBhZmZpY2hhZ2Ugb2N0YWwgZG91YmxlIG9jdGV0XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NgorbXNnaWQgIiAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgYWZmaWNoYWdlIGhleGFkw6ljaW1hbCBkb3VibGUgb2N0ZXRcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY3Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08bW9kZT5dICAgICAgaW50ZXJwcmV0IGNvbG9yIGZvcm1hdHRpbmcgc3BlY2lmaWVyc1xuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxtb2RlPl0gICAgICBpbnRlcnByw6l0ZXIgbGVzIHNww6ljaWZpY2F0ZXVycyBkZSBmb3JtYXRhZ2UgZGUgY291bGV1clxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzAKK21zZ2lkICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIgorbXNnc3RyICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBjaGHDrm5lIGRlIGZvcm1hdCDDoCB1dGlsaXNlciBwb3VyIGFmZmljaGVyIGxlcyBkb25uw6llc1xuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzEKK21zZ2lkICIgLWYsIC0tZm9ybWF0LWZpbGUgPGZpbGU+ICBmaWxlIHRoYXQgY29udGFpbnMgZm9ybWF0IHN0cmluZ3NcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcm1hdC1maWxlIDxmaWNoLj4gZmljaGllciBjb250ZW5hbnQgbGVzIGNoYcOubmVzIGRlIGZvcm1hdFxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzIKK21zZ2lkICIgLW4sIC0tbGVuZ3RoIDxsZW5ndGg+ICAgICBpbnRlcnByZXQgb25seSBsZW5ndGggYnl0ZXMgb2YgaW5wdXRcbiIKK21zZ3N0ciAiIC1uLCAtLWxlbmd0aCA8bG9uZ3VldXI+ICAgbuKAmWludGVycHLDqXRlciBxdWUgPGxvbmd1ZXVyPsKgb2N0ZXRzIGQnZW50csOpZVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzMKK21zZ2lkICIgLXMsIC0tc2tpcCA8b2Zmc2V0PiAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKK21zZ3N0ciAiIC1zLCAtLXNraXAgPGluZGV4PiAgICAgICAgcGFzc2VyIDxpbmRleD7CoG9jdGV0cyBkZXB1aXMgbGUgZMOpYnV0XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NAorbXNnaWQgIiAtdiwgLS1uby1zcXVlZXppbmcgICAgICAgIG91dHB1dCBpZGVudGljYWwgbGluZXNcbiIKK21zZ3N0ciAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgYWZmaWNoZXIgbGVzIGxpZ25lcyBpZGVudGlxdWVzXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1kaXNwbGF5LmM6MzY1Cittc2dpZCAiYWxsIGlucHV0IGZpbGUgYXJndW1lbnRzIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIHRvdXMgbGVzIGFyZ3VtZW50cyBkZSBmaWNoaWVyIGQnZW50csOpZSIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGJ5dGUgY291bnQgZm9yIGNvbnZlcnNpb24gY2hhcmFjdGVyICVzIgorbXNnc3RyICJkw6ljb21wdGUgZCdvY3RldHMgZXJyb27DqSBwb3VyIGxlIGNhcmFjdMOocmUgZGUgY29udmVyc2lvbiAlcyIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJSVzIHJlcXVpcmVzIGEgcHJlY2lzaW9uIG9yIGEgYnl0ZSBjb3VudCIKK21zZ3N0ciAiJSVzIG7DqWNlc3NpdGUgdW5lIHByw6ljaXNpb24gb3UgdW4gZMOpY29tcHRlIGQnb2N0ZXRzIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgZm9ybWF0IHslc30iCittc2dzdHIgImZvcm1hdCB7JXN9IGVycm9uw6kiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjcwCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb252ZXJzaW9uIGNoYXJhY3RlciAlJSVzIgorbXNnc3RyICJjb252ZXJzaW9uIGVycm9uw6llIGRlIGNhcmFjdMOocmVzICUlJXMiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjQzNgorbXNnaWQgImJ5dGUgY291bnQgd2l0aCBtdWx0aXBsZSBjb252ZXJzaW9uIGNoYXJhY3RlcnMiCittc2dzdHIgImTDqWNvbXB0ZSBkJ29jdGV0cyBlcnJvbsOpIHBvdXIgcGx1c2lldXJzIGNhcmFjdMOocmVzIGRlIGNvbnZlcnNpb24iCisKKyM6IHRleHQtdXRpbHMvbGluZS5jOjMzCittc2dpZCAiUmVhZCBvbmUgbGluZS5cbiIKK21zZ3N0ciAiTGlyZSB1bmUgbGlnbmUuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIyOAorbXNnaWQgIkEgZmlsZSBwZXJ1c2FsIGZpbHRlciBmb3IgQ1JUIHZpZXdpbmcuXG4iCittc2dzdHIgIkZpbHRyZSBsZWN0ZXVyIGRlIGZpY2hpZXIuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMQorbXNnaWQgIiAtZCAgICAgICAgICBkaXNwbGF5IGhlbHAgaW5zdGVhZCBvZiByaW5naW5nIGJlbGxcbiIKK21zZ3N0ciAiIC1kICAgICAgICAgYWZmaWNoZXIgbOKAmWFpZGUgYXUgbGlldSBkZSBkw6ljbGVuY2hlciBsYSBzb25uZXJpZVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzIKK21zZ2lkICIgLWYgICAgICAgICAgY291bnQgbG9naWNhbCByYXRoZXIgdGhhbiBzY3JlZW4gbGluZXNcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgIGNvbXB0ZXIgbG9naXF1ZW1lbnQgYXUgbGlldSBkZXMgbGlnbmVzIGTigJnDqWNyYW5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjMzCittc2dpZCAiIC1sICAgICAgICAgIHN1cHByZXNzIHBhdXNlIGFmdGVyIGZvcm0gZmVlZFxuIgorbXNnc3RyICIgLWwgICAgICAgICAgc3VwcHJpbWVyIGxhIHBhdXNlIGFwcsOocyBsZSBzYXV0IGRlIHBhZ2VcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM0Cittc2dpZCAiIC1jICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGRpc3BsYXkgdGV4dCBhbmQgY2xlYW4gbGluZSBlbmRzXG4iCittc2dzdHIgIiAtYyAgICAgICAgICBuZSBwYXMgZMOpZmlsZXIsIGFmZmljaGVyIGxlIHRleHRlIGV0IG5ldHRveWVyIGxlcyBmaW5zIGRlIGxpZ25lXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNQorbXNnaWQgIiAtcCAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBjbGVhbiBzY3JlZW4gYW5kIGRpc3BsYXkgdGV4dFxuIgorbXNnc3RyICIgLXAgICAgICAgICAgbmUgcGFzIGTDqWZpbGVyLCBuZXR0b3llciBs4oCZw6ljcmFuIGV0IGFmZmljaGVyIGxlIHRleHRlXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNgorbXNnaWQgIiAtcyAgICAgICAgICBzcXVlZXplIG11bHRpcGxlIGJsYW5rIGxpbmVzIGludG8gb25lXG4iCittc2dzdHIgIiAtcyAgICAgICAgICByZWdyb3VwZXIgbGVzIGxpZ25lcyBibGFuY2hlcyBjb25zw6ljdXRpdmVzIGVuIHVuZSBzZXVsZVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzcKK21zZ2lkICIgLXUgICAgICAgICAgc3VwcHJlc3MgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIC11ICAgICAgICAgIHN1cHByaW1lciBsZSBzb3VsaWduZW1lbnRcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM4Cittc2dpZCAiIC08bnVtYmVyPiAgIHRoZSBudW1iZXIgb2YgbGluZXMgcGVyIHNjcmVlbmZ1bFxuIgorbXNnc3RyICIgLTxub21icmU+ICAgbGUgbm9tYnJlIGRlIGxpZ25lcyBwYXIgw6ljcmFuIGNvbXBsZXRcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM5Cittc2dpZCAiICs8bnVtYmVyPiAgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBsaW5lIG51bWJlclxuIgorbXNnc3RyICIgKzxudW3DqXJvPiAgIGFmZmljaGVyIGxlIGZpY2hpZXIgw6AgcGFydGlyIGR1IG51bcOpcm8gZGUgbGlnbmVcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQwCittc2dpZCAiICsvPHN0cmluZz4gIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBzZWFyY2ggc3RyaW5nIG1hdGNoXG4iCittc2dzdHIgIiArLzxjaGHDrm5lPiAgYWZmaWNoZXIgbGUgZmljaGllciDDoCBwYXJ0aXIgZGUgbGEgY2hhw65uZSBkZSByZWNoZXJjaGUgY29ycmVzcG9uZGFudGVcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQxCittc2dpZCAiIC1WICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgLVYgICAgICAgICAgYWZmaWNoZXIgbGVzIGluZm9ybWF0aW9ucyBkZSB2ZXJzaW9uIGV0IHF1aXR0ZXJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIC0lcyIKK21zZ3N0ciAib3B0aW9uIC0lcyBpbmNvbm51ZSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKiogJXM6IGRpcmVjdG9yeSAqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKiAlc8KgOiByw6lwZXJ0b2lyZSAqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKioqKioqKiAlczogTm90IGEgdGV4dCBmaWxlICoqKioqKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKioqKioqKiAlc8KgOiBOJ2VzdCBwYXMgdW4gZmljaGllciB0ZXh0ZSAqKioqKioqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1VzZSBxIG9yIFEgdG8gcXVpdF0iCittc2dzdHIgIltVdGlsaXNlciBxIG91IFEgcG91ciBxdWl0dGVyXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tTW9yZS0tIgorbXNnc3RyICItLVBsdXMtLSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzI2CisjLCBjLWZvcm1hdAorbXNnaWQgIihOZXh0IGZpbGU6ICVzKSIKK21zZ3N0ciAiKFByb2NoYWluIGZpY2hpZXLCoDogJXMpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzIHNwYWNlIHRvIGNvbnRpbnVlLCAncScgdG8gcXVpdC5dIgorbXNnc3RyICJbQXBwdXllciBzdXIgbGEgYmFycmUgZCdlc3BhY2VtZW50IHBvdXIgY29udGludWVyLCDCq8KgccKgwrsgcG91ciBxdWl0dGVyLl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjExNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uYmFjayAlZCBwYWdlIgorbXNnaWRfcGx1cmFsICIuLi5iYWNrICVkIHBhZ2VzIgorbXNnc3RyWzBdICLigKYgcmVjdWzDqSBkZSAlZMKgcGFnZSIKK21zZ3N0clsxXSAi4oCmIHJlY3Vsw6kgZGUgJWTCoHBhZ2VzIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjEwCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnNraXBwaW5nICVkIGxpbmUiCittc2dpZF9wbHVyYWwgIi4uLnNraXBwaW5nICVkIGxpbmVzIgorbXNnc3RyWzBdICLigKYgZXNjYW1vdGFnZSBkZSAlZMKgbGlnbmUiCittc2dzdHJbMV0gIuKApiBlc2NhbW90YWdlIGRlICVkwqBsaWduZXMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNDgKK21zZ2lkICIiCisiXG4iCisiKioqQmFjayoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqQXJyacOocmUqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI2MworbXNnaWQgIk5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKK21zZ3N0ciAiUGFzIGQnZXhwcmVzc2lvbiByYXRpb25uZWxsZSBwcsOpY8OpZGVudGUiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyOTMKK21zZ2lkICIiCisiXG4iCisiTW9zdCBjb21tYW5kcyBvcHRpb25hbGx5IHByZWNlZGVkIGJ5IGludGVnZXIgYXJndW1lbnQgay4gIERlZmF1bHRzIGluIGJyYWNrZXRzLlxuIgorIlN0YXIgKCopIGluZGljYXRlcyBhcmd1bWVudCBiZWNvbWVzIG5ldyBkZWZhdWx0LlxuIgorbXNnc3RyICIiCisiXG4iCisiTGEgcGx1cGFydCBkZXMgY29tbWFuZGVzIHByw6ljw6lkw6llcyBvcHRpb25uZWxsZW1lbnQgcGFyIHVuIGFyZ3VtZW50IGVudGllciBrLiBQYXIgZMOpZmF1dCBlbnRyZSBjcm9jaGV0cy5cbiIKKyJMJ8OpdG9pbGUgwqvCoCrCoMK7IGluZGlxdWUgcXVlIGwnYXJndW1lbnQgZGV2aWVudCBsZSBub3V2ZWF1IGTDqWZhdXQuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzMDAKK21zZ2lkICIiCisiPHNwYWNlPiAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXSpcbiIKKyI8cmV0dXJuPiAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFsxXSpcbiIKKyJkIG9yIGN0cmwtRCAgICAgICAgICAgICBTY3JvbGwgayBsaW5lcyBbY3VycmVudCBzY3JvbGwgc2l6ZSwgaW5pdGlhbGx5IDExXSpcbiIKKyJxIG9yIFEgb3IgPGludGVycnVwdD4gICBFeGl0IGZyb20gbW9yZVxuIgorInMgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIGxpbmVzIG9mIHRleHQgWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorImIgb3IgY3RybC1CICAgICAgICAgICAgIFNraXAgYmFja3dhcmRzIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIHBsYWNlIHdoZXJlIHByZXZpb3VzIHNlYXJjaCBzdGFydGVkXG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGxpbmUgbnVtYmVyXG4iCisiLzxyZWd1bGFyIGV4cHJlc3Npb24+ICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiByZWd1bGFyIGV4cHJlc3Npb24gWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiBsYXN0IHIuZSBbMV1cbiIKKyIhPGNtZD4gb3IgOiE8Y21kPiAgICAgICBFeGVjdXRlIDxjbWQ+IGluIGEgc3Vic2hlbGxcbiIKKyJ2ICAgICAgICAgICAgICAgICAgICAgICBTdGFydCB1cCAvdXNyL2Jpbi92aSBhdCBjdXJyZW50IGxpbmVcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICBSZWRyYXcgc2NyZWVuXG4iCisiOm4gICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIG5leHQgZmlsZSBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggcHJldmlvdXMgZmlsZSBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlclxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIFJlcGVhdCBwcmV2aW91cyBjb21tYW5kXG4iCittc2dzdHIgIiIKKyI8ZXNwYWNlPiAgICAgICAgICAgICAgICAgYWZmaWNoZXIgbGVzIHByb2NoYWluZXMgTiBsaWduZXMgZGUgdGV4dGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWlsbGUgYWN0dWVsbGUgZCfDqWNyYW5dXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgIGFmZmljaGVyIGxlcyBwcm9jaGFpbmVzIE4gbGlnbmVzIGRlIHRleHRlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFpbGxlIGFjdHVlbGxlIGQnw6ljcmFuXSpcbiIKKyI8ZW50csOpZT4gICAgICAgICAgICAgICAgIGFmZmljaGVyIGxlcyBwcm9jaGFpbmVzIE4gbGlnbmVzIGRlIHRleHRlIFsxXSpcbiIKKyJkIG91IGN0cmwtRCAgICAgICAgICAgICAgZMOpZmlsZXIgTiBsaWduZXMgW3RhaWxsZSBhY3R1ZWxsZSBkZSBkw6lmaWxlbWVudCwgaW5pdGlhbGVtZW50IDExXSpcbiIKKyJxIG91IFEgb3UgPGludGVycnVwdD4gICAgcXVpdHRlciBtb3JlXG4iCisicyAgICAgICAgICAgICAgICAgICAgICAgIGVzY2Ftb3RlciB2ZXJzIGwnYXZhbnQgTiBsaWduZXMgZGUgdGV4dGUgWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAgIGVzY2Ftb3RlciB2ZXJzIGwnYXZhbnQgTiDDqWNyYW5zIHBsZWlucyBkZSB0ZXh0ZSBbMV1cbiIKKyJiIG91IGN0cmwtQiAgICAgICAgICAgICAgZXNjYW1vdGVyIHZlcnMgbCdhcnJpw6hyZSBOIMOpY3JhbnMgcGxlaW5zIGRlIHRleHRlIFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgICBhbGxlciDDoCBsJ2VuZHJvaXQgb8O5IGxhIHJlY2hlcmNoZSBwcsOpY8OpZGVudGUgYSBkw6lidXTDqVxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgICBhZmZpY2hlciBsZSBudW3DqXJvIGRlIGxhIGxpZ25lIGFjdHVlbGxlXG4iCisiLzxleHByZXNzaW9uIHLDqWd1bGnDqHJlPiAgY2hlcmNoZXIgbGEgTi1pw6htZSBvY2N1cmVuY2UgZGUgbCdleHByZXNzaW9uIHLDqWd1bGnDqHJlIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgICBjaGVyY2hlciBsYSBOLWnDqG1lIG9jY3VyZW5jZSBkZSBsYSBkZXJuacOocmUgZXhwcmVzc2lvbiByw6lndWxpw6hyZSBbMV1cbiIKKyIhPGNtZD4gb3UgOiE8Y21kPiAgICAgICAgZXjDqWN1dGVyIDxjbWQ+IGRhbnMgdW4gc291cyBpbnRlcnByw6l0ZXVyXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgIGxhbmNlciAvdXNyL2Jpbi92aSDDoCBsYSBsaWduZSBhY3R1ZWxsZVxuIgorImN0cmwtTCAgICAgICAgICAgICAgICAgICByw6lhZmZpY2hlciBsJ8OpY3JhblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgICBhbGxlciBhdSBOLWnDqG1lIHByb2NoYWluIGZpY2hpZXIgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgIGFsbGVyIGF1IE4tacOobWUgZmljaGllciBwcsOpY8OpZGFudCBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICAgYWZmaWNoZXIgbGUgbm9tIGR1IGZpY2hpZXIgYWN0dWVsIGV0IGxlIG51bcOpcm8gZGUgbGlnbmVcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICAgcsOpcMOpdGVyIGxhIGNvbW1hbmRlIHByw6ljw6lkZW50ZVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzczIHRleHQtdXRpbHMvbW9yZS5jOjEzNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzICdoJyBmb3IgaW5zdHJ1Y3Rpb25zLl0iCittc2dzdHIgIltBcHB1eWVyIHN1ciDCq8KgaMKgwrsgcG91ciBvYnRlbmlyIGxlcyBpbnN0cnVjdGlvbnMuXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgbGluZSAlZCIKK21zZ3N0ciAiwqvCoCVzwqDCuyBsaWduZcKgJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiW05vdCBhIGZpbGVdIGxpbmUgJWQiCittc2dzdHIgIltQYXMgdW4gZmljaGllcl0gbGlnbmXCoCVkIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDk0Cittc2dpZCAiICBPdmVyZmxvd1xuIgorbXNnc3RyICIgIETDqWJvcmRlbWVudFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTQzCittc2dpZCAiLi4uc2tpcHBpbmdcbiIKK21zZ3N0ciAi4oCmIGVzY2Ftb3RhZ2VcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU3NworbXNnaWQgIiIKKyJcbiIKKyJQYXR0ZXJuIG5vdCBmb3VuZFxuIgorbXNnc3RyICIiCisiXG4iCisiTW90aWYgaW50cm91dmFibGVcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU4MyB0ZXh0LXV0aWxzL3BnLmM6MTAyNyB0ZXh0LXV0aWxzL3BnLmM6MTE3MworbXNnaWQgIlBhdHRlcm4gbm90IGZvdW5kIgorbXNnc3RyICJNb3RpZiBpbnRyb3V2YWJsZSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTYyOQorbXNnaWQgImV4ZWMgZmFpbGVkXG4iCittc2dzdHIgIsOpY2hlYyBkZSBleGVjKClcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY0MworbXNnaWQgImNhbid0IGZvcmtcbiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpdGFibGlyIHVuIHJlbGFpcyBmb3JrKClcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY3NworbXNnaWQgIiIKKyJcbiIKKyIuLi5Ta2lwcGluZyAiCittc2dzdHIgIiIKKyJcbiIKKyLigKYgRXNjYW1vdGFnZSBlbiBjb3VycyAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2ODEKK21zZ2lkICIuLi5Ta2lwcGluZyB0byBmaWxlICIKK21zZ3N0ciAi4oCmIEVzY2Ftb3RhZ2UgdmVycyBsZSBmaWNoaWVyICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY4MworbXNnaWQgIi4uLlNraXBwaW5nIGJhY2sgdG8gZmlsZSAiCittc2dzdHIgIuKApiBFc2NhbW90YWdlIGFycmnDqHJlIHZlcnMgbGUgZmljaGllciAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE5NzMKK21zZ2lkICJMaW5lIHRvbyBsb25nIgorbXNnc3RyICJMaWduZSB0cm9wIGxvbmd1ZSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjAxMAorbXNnaWQgIk5vIHByZXZpb3VzIGNvbW1hbmQgdG8gc3Vic3RpdHV0ZSBmb3IiCittc2dzdHIgIkF1Y3VuZSBjb21tYW5kZSBwcsOpY8OpZGVudGUgcG91ciBzdWJzdGl0dXRpb24iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNDQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBzY3JlZW5cbiIKKyIgIHEgb3IgUSAgICAgICAgICAgICAgICAgIHF1aXQgcHJvZ3JhbVxuIgorIiAgPG5ld2xpbmU+ICAgICAgICAgICAgICAgbmV4dCBwYWdlXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBza2lwIGEgcGFnZSBmb3J3YXJkXG4iCisiICBkIG9yIF5EICAgICAgICAgICAgICAgICBuZXh0IGhhbGZwYWdlXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBuZXh0IGxpbmVcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIGxhc3QgcGFnZVxuIgorIiAgL3JlZ2V4LyAgICAgICAgICAgICAgICAgc2VhcmNoIGZvcndhcmQgZm9yIHJlZ2V4XG4iCisiICA/cmVnZXg/IG9yIF5yZWdleF4gICAgICBzZWFyY2ggYmFja3dhcmQgZm9yIHJlZ2V4XG4iCisiICAuIG9yIF5MICAgICAgICAgICAgICAgICByZWRyYXcgc2NyZWVuXG4iCisiICB3IG9yIHogICAgICAgICAgICAgICAgICBzZXQgcGFnZSBzaXplIGFuZCBnbyB0byBuZXh0IHBhZ2VcbiIKKyIgIHMgZmlsZW5hbWUgICAgICAgICAgICAgIHNhdmUgY3VycmVudCBmaWxlIHRvIGZpbGVuYW1lXG4iCisiICAhY29tbWFuZCAgICAgICAgICAgICAgICBzaGVsbCBlc2NhcGVcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIHByZXZpb3VzIGZpbGVcbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIG5leHQgZmlsZVxuIgorIlxuIgorIk1hbnkgY29tbWFuZHMgYWNjZXB0IHByZWNlZGluZyBudW1iZXJzLCBmb3IgZXhhbXBsZTpcbiIKKyIrMTxuZXdsaW5lPiAobmV4dCBwYWdlKTsgLTE8bmV3bGluZT4gKHByZXZpb3VzIHBhZ2UpOyAxPG5ld2xpbmU+IChmaXJzdCBwYWdlKS5cbiIKKyJcbiIKKyJTZWUgcGcoMSkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgY2V0IMOpY3JhbiBkJ2FpZGVcbiIKKyIgIHEgb3UgUSAgICAgICAgICAgICAgICAgIHF1aXR0ZXJcbiIKKyIgIDxlbnRyw6llPiAgICAgICAgICAgICAgICBwYWdlIHN1aXZhbnRlXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBzYXV0ZXIgdW5lIHBhZ2UgZW4gYXZhbnRcbiIKKyIgIGQgb3UgXkQgICAgICAgICAgICAgICAgIGRlbWkgcGFnZSBzdWl2YW50ZVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgbGlnbmUgc3VpdmFudGVcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIGRlcm5pw6hyZSBwYWdlXG4iCisiICAvcmVnZXgvICAgICAgICAgICAgICAgICBjaGVyY2hlciBlbiBhdmFudCBsJ2V4cHJlc3Npb24gcmVnZXhcbiIKKyIgID9yZWdleD8gb3UgXnJlZ2V4XiAgICAgIGNoZXJjaGVyIGVuIGFycmnDqHJlIGwnZXhwcmVzc2lvbiByZWdleFxuIgorIiAgLiBvdSBeTCAgICAgICAgICAgICAgICAgcmFmcmHDrmNoaXIgbCfDqWNyYW5cbiIKKyIgIHcgb3UgeiAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyZXIgbGEgdGFpbGxlIGRlIHBhZ2UgZXQgYWxsZXIgw6AgZGVybmnDqHJlIHBhZ2VcbiIKKyIgIHMgZmljaGllciAgICAgICAgICAgICAgIHNhdXZlciBsZSBmaWNoaWVyIGFjdHVlbCBkYW5zIMKrwqBmaWNoaWVywqDCu1xuIgorIiAgIWNvbW1hbmRlICAgICAgICAgICAgICAgYXBwZWxlciBkJ2ludGVycHLDqXRldXJcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIGFsbGVyIGF1IGZpY2hpZXIgcHLDqWPDqWRlbnRcbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIGFsbGVyIGF1IGZpY2hpZXIgc3VpdmFudFxuIgorIlxuIgorIlBsdXNpZXVycyBjb21tYW5kZXMgYWNjZXB0ZW50IGRlcyBub21icmVzIGF2YW50IGVsbGVzLCBwYXIgZXhlbXBsZcKgOlxuIgorIisxPGVudHLDqWU+IChwYWdlIHN1aXZhbnRlKcKgOyAtMTxlbnRyw6llPiAocGFnZSBwcsOpY8OpZGVudGUpwqA7XG4iCisiIDE8ZW50csOpZT4gKHByZW1pw6hyZSBwYWdlKS5cbiIKKyJcbiIKKyJDb25zdWx0ZXogcGcoMSkgcG91ciBvYnRlbmlyIHBsdXMgZGUgcmVuc2VpZ25lbWVudHMuXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIFsrbGlnbmVdIFsrL21vdGlmL10gW2ZpY2hpZXJzXVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjI2Cittc2dpZCAiQnJvd3NlIHBhZ2V3aXNlIHRocm91Z2ggdGV4dCBmaWxlcy5cbiIKK21zZ3N0ciAiTmF2aWd1ZXIgcGFnZSBwYXIgcGFnZSBkYW5zIGRlcyBmaWNoaWVycyB0ZXh0ZS5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyOQorbXNnaWQgIiAtbnVtYmVyICAgICAgbGluZXMgcGVyIHBhZ2VcbiIKK21zZ3N0ciAiIC1ub21icmUgICAgICBsaWduZXMgcGFyIHBhZ2VcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMAorbXNnaWQgIiAtYyAgICAgICAgICAgY2xlYXIgc2NyZWVuIGJlZm9yZSBkaXNwbGF5aW5nXG4iCittc2dzdHIgIiAtYyAgICAgICAgICAgZWZmYWNlciBsJ8OpY3JhbiBhdmFudCBkJ2FmZmljaGVyXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzEKK21zZ2lkICIgLWUgICAgICAgICAgIGRvIG5vdCBwYXVzZSBhdCBlbmQgb2YgYSBmaWxlXG4iCittc2dzdHIgIiAtZSAgICAgICAgICAgbmUgcGFzIHMnYXJyw6p0ZXIgw6AgbGEgZmluIGR1IGZpY2hpZXJcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMgorbXNnaWQgIiAtZiAgICAgICAgICAgZG8gbm90IHNwbGl0IGxvbmcgbGluZXNcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICBuZSBwYXMgY291cGVyIGxlcyBsaWduZXMgbG9uZ3Vlc1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMzCittc2dpZCAiIC1uICAgICAgICAgICB0ZXJtaW5hdGUgY29tbWFuZCB3aXRoIG5ldyBsaW5lXG4iCittc2dzdHIgIiAtbiAgICAgICAgICAgdGVybWluZXIgbGEgY29tbWFuZGUgcGFyIGVudHLDqWVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNAorbXNnaWQgIiAtcCA8cHJvbXB0PiAgc3BlY2lmeSBwcm9tcHRcbiIKK21zZ3N0ciAiIC1wIDxjaGHDrm5lPiAgaW5kaXF1ZXIgbCdpbnZpdGVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNQorbXNnaWQgIiAtciAgICAgICAgICAgZGlzYWxsb3cgc2hlbGwgZXNjYXBlXG4iCittc2dzdHIgIiAtciAgICAgICAgICAgaW50ZXJkaXJlIGxlcyBwcm90ZWN0aW9ucyBkZSBsJ2ludGVycHLDqXRldXIgZGUgY29tbWFuZGVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNgorbXNnaWQgIiAtcyAgICAgICAgICAgcHJpbnQgbWVzc2FnZXMgdG8gc3Rkb3V0XG4iCittc2dzdHIgIiAtcyAgICAgICAgICAgYWZmaWNoZXIgbGVzIG1lc3NhZ2VzIHN1ciBsYSBzb3J0aWUgc3RhbmRhcmRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNworbXNnaWQgIiArbnVtYmVyICAgICAgc3RhcnQgYXQgdGhlIGdpdmVuIGxpbmVcbiIKK21zZ3N0ciAiICtsaWduZSAgICAgICBjb21tZW5jZXIgw6AgbGEgbGlnbmUgZG9ubsOpZVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM4Cittc2dpZCAiICsvcGF0dGVybi8gICBzdGFydCBhdCB0aGUgbGluZSBjb250YWluaW5nIHBhdHRlcm5cbiIKK21zZ3N0ciAiKy9tb3RpZi8gICAgICBjb21tZW5jZXIgw6AgbGEgbGlnbmUgcXVpIGNvbnRpZW50IGxlIG1vdGlmXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICVzIgorbXNnc3RyICJsJ29wdGlvbiBuw6ljZXNzaXRlIHVuIGFyZ3VtZW50IOKAlCAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIG9wdGlvbiAtLSAlcyIKK21zZ3N0ciAib3B0aW9uIGluY29ycmVjdGUg4oCUICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzU5Cittc2dpZCAiLi4uc2tpcHBpbmcgZm9yd2FyZFxuIgorbXNnc3RyICLigKYgZXNjYW1vdGFnZSBhdmFudFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzYxCittc2dpZCAiLi4uc2tpcHBpbmcgYmFja3dhcmRcbiIKK21zZ3N0ciAi4oCmIGVzY2Ftb3RhZ2UgYXJyacOocmVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM3NworbXNnaWQgIk5vIG5leHQgZmlsZSIKK21zZ3N0ciAiUGFzIGRlIHByb2NoYWluIGZpY2hpZXIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODEKK21zZ2lkICJObyBwcmV2aW91cyBmaWxlIgorbXNnc3RyICJQYXMgZGUgZmljaGllciBwcsOpY8OpZGVudCIKKworIzogdGV4dC11dGlscy9wZy5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yIGZyb20gJXMgZmlsZSIKK21zZ3N0ciAiRXJyZXVyIGRlIGxlY3R1cmUgZHUgZmljaGllciAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjg4NgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIEVPRiBpbiAlcyBmaWxlIgorbXNnc3RyICJFT0YgaW5hdHRlbmR1ZSBkYW5zIGxlIGZpY2hpZXIgJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBlcnJvciBpbiAlcyBmaWxlIgorbXNnc3RyICJFcnJldXIgaW5jb25udWUgZGFucyBsZSBmaWNoaWVyICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTQxCisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIkltcG9zc2libGUgZGUgY3LDqWVyIGxlIGZpY2hpZXIgdGVtcG9yYWlyZSIKKworIzogdGV4dC11dGlscy9wZy5jOjk1MCB0ZXh0LXV0aWxzL3BnLmM6MTExNCB0ZXh0LXV0aWxzL3BnLmM6MTE0MAorbXNnaWQgIlJFIGVycm9yOiAiCittc2dzdHIgIkVycmV1ciBSRcKgOiAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMDk3Cittc2dpZCAiKEVPRikiCittc2dzdHIgIihFT0YpIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTEyMiB0ZXh0LXV0aWxzL3BnLmM6MTE0OAorbXNnaWQgIk5vIHJlbWVtYmVyZWQgc2VhcmNoIHN0cmluZyIKK21zZ3N0ciAiUGFzIGRlIGNoYcOubmUgZGUgcmVjaGVyY2hlIG3DqW1vcmlzw6llIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTIwMworbXNnaWQgImNhbm5vdCBvcGVuICIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjU1Cittc2dpZCAic2F2ZWQiCittc2dzdHIgInNhdXZlZ2FyZMOpIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM0NQorbXNnaWQgIjogIWNvbW1hbmQgbm90IGFsbG93ZWQgaW4gcmZsYWcgbW9kZS5cbiIKK21zZ3N0ciAiwqA6ICFjb21tYW5kZSBub24gYXV0b3Jpc8OpZSBlbiBtb2RlIHJmbGFnLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM4MAorbXNnaWQgImZvcmsoKSBmYWlsZWQsIHRyeSBhZ2FpbiBsYXRlclxuIgorbXNnc3RyICLDqWNoZWMgZHUgZm9yaygpLCByw6llc3NheWVyIHBsdXMgdGFyZC5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjE0NjgKK21zZ2lkICIoTmV4dCBmaWxlOiAiCittc2dzdHIgIihQcm9jaGFpbiBmaWNoaWVywqA6ICIKKworIzogdGV4dC11dGlscy9wZy5jOjE1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXMgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiIKK21zZ3N0ciAiJXMgJXMgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gVG91cyBkcm9pdHMgcsOpc2VydsOpcy5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjE1ODcgdGV4dC11dGlscy9wZy5jOjE2NjAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGxpbmVzIHBlciBwYWdlIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGR1IG5vbWJyZSBkZSBsaWduZXMgcGFyIHBhZ2UiCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCittc2dzdHIgIlV0aWxpc2F0aW9uwqA6ICVzIFtvcHRpb25zXSBbZmljaGllciAuLi5dXG4iCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6ODAKK21zZ2lkICJSZXZlcnNlIGxpbmVzIGNoYXJhY3Rlcndpc2UuXG4iCittc2dzdHIgIkludmVyc2VyIGxlcyBsaWduZXMgYXUgbml2ZWF1IGRlcyBjYXJhY3TDqHJlcy5cbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJpbmNvbXBsZXRlIHdyaXRlIHRvIFwiJXNcIiAod3JpdHRlbiAlemQsIGV4cGVjdGVkICV6ZClcbiIKK21zZ3N0ciAiw6ljcml0dXJlIGluY29tcGzDqHRlIHN1ciDCq8KgJXPCoMK7ICglemQgw6ljcml0cywgJXpkIGF0dGVuZHVzKVxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2ggKGxpbWl0IG9mIGlub3RpZnkgd2F0Y2hlcyB3YXMgcmVhY2hlZCkuIgorbXNnc3RyICIlc8KgOiBpbXBvc3NpYmxlIGQnYWpvdXRlciB1bmUgc3VydmVpbGxhbmNlIGlub3RpZnkgKGxhIGxpbWl0ZSBkZSBzdXJ2ZWlsbGFuY2VzIGlub3RpZnkgYSDDqXTDqSBhdHRlaW50ZSkuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uXSA8ZmlsZT5cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25dIDxmaWNoaWVyPlxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjAwCittc2dpZCAiRm9sbG93IHRoZSBncm93dGggb2YgYSBsb2cgZmlsZS5cbiIKK21zZ3N0ciAiU3VpdnJlIGxhIGNyb2lzc2FuY2UgZCd1biBmaWNoaWVyIGpvdXJuYWwuXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMDMKK21zZ2lkICIgLW4sIC0tbGluZXMgPG51bWJlcj4gICBvdXRwdXQgdGhlIGxhc3QgPG51bWJlcj4gbGluZXNcbiIKK21zZ3N0ciAiIC1uLCAtLWxpbmVzIDxub21icmU+ICAgYWZmaWNoZXIgbGVzIDxub21icmU+IGRlcm5pw6hyZXMgbGlnbmVzXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMDQKK21zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgICBzYW1lIGFzICctbiA8bnVtYmVyPidcbiIKK21zZ3N0ciAiIC08bm9tYnJlPiAgICAgICAgICAgICAgaWRlbnRpcXVlIMOgIMKrwqAtbiA8bm9tYnJlPsKgwrtcbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIxMAorbXNnaWQgIldhcm5pbmc6IHVzZSBvZiAndGFpbGYnIGlzIGRlcHJlY2F0ZWQsIHVzZSAndGFpbCAtZicgaW5zdGVhZC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjIzIHRleHQtdXRpbHMvdGFpbGYuYzoyNjMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGxpbmVzIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGR1IG5vbWJyZSBkZSBsaWduZXMiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyNzUKK21zZ2lkICJubyBpbnB1dCBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAiYXVjdW4gZmljaGllciBkJ2VudHLDqWUgaW5kaXF1w6kiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBmaWxlIgorbXNnc3RyICIlc8KgOiBuJ2VzdCBwYXMgdW4gcsOpcGVydG9pcmUiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSBbPGZpY2hpZXI+IC4uLl1cbiIKKworIzogdGV4dC11dGlscy91bC5jOjEzOQorbXNnaWQgIkRvIHVuZGVybGluaW5nLlxuIgorbXNnc3RyICJTb3VsaWduZXIuXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDIKK21zZ2lkICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICByZW1wbGFjZXIgbGEgdmFyaWFibGUgZCdlbnZpcm9ubmVtZW50IFRFUk1cbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0MworbXNnaWQgIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICAgIHVuZGVybGluaW5nIGlzIGluZGljYXRlZCB2aWEgYSBzZXBhcmF0ZSBsaW5lXG4iCittc2dzdHIgIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICAgIHNvdWxpZ25lbWVudCBpbmRpcXXDqSDDoCBsJ2FpZGUgZCd1bmUgbGlnbmUgc8OpcGFyw6llXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMDQKK21zZ2lkICJ0cm91YmxlIHJlYWRpbmcgdGVybWluZm8iCittc2dzdHIgInByb2Jsw6htZSDDoCBsYSBsZWN0dXJlIGRlIHRlcm1pbmZvIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsIGAlcycgaXMgbm90IGtub3duLCBkZWZhdWx0aW5nIHRvIGBkdW1iJyIKK21zZ3N0ciAidGVybWluYWwgwqvCoCVzwqDCuyBpbmNvbm51LCB1dGlsaXNhdGlvbiBkZSDCq8KgZHVtYsKgwrsgcGFyIGTDqWZhdXQiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBlc2NhcGUgc2VxdWVuY2UgaW4gaW5wdXQ6ICVvLCAlbyIKK21zZ3N0ciAic8OpcXVlbmNlIGRlIHByb3RlY3Rpb24gaW5jb25udWUgZW4gZW50csOpZcKgOiAlbywgJW8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzo2MjQKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAiTGlnbmUgZCdlbnRyw6llIHRyb3AgbG9uZ3VlLiIKKworIywgZnV6enkKKyN+fCBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gY2hhbmdlIHRoZSBIYXJkd2FyZSBDbG9jay4iCisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gdXNlIHRoZSBIYXJkd2FyZSBDbG9jay4iCisjfiBtc2dzdHIgIkTDqXNvbMOpLCBzZXVsIGxlIHN1cGVydXRpbGlzYXRldXIgcGV1dCBtb2RpZmllciBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGUuIgorCisjfiBtc2dpZCAiRGV2aWNlIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUuIgorI34gbXNnc3RyICJQw6lyaXBow6lyaXF1ZSBvdXZlcnQgZW4gbW9kZSBsZWN0dXJlIHNldWxlLiIKKworI34gbXNnaWQgImNhbm5vdCBhY2Nlc3MgZmlsZSAlcyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FjY8OpZGVyIGF1IGZpY2hpZXIgJXMiCisKKyN+IG1zZ2lkICIgLXYgIGJlIHZlcmJvc2VcbiIKKyN+IG1zZ3N0ciAiIC12ICBtb2RlIGJhdmFyZFxuIgorCisjfiBtc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgc3BlY2lhbCBkZXZpY2UiCisjfiBtc2dzdHIgIiVzIG4nZXN0IHBhcyB1biBww6lyaXBow6lyaXF1ZSBzcMOpY2lhbCBkZSBibG9jcyIKKworI34gbXNnaWQgIiIKKyN+ICJWZXJ5IGxvbmcgKCV6dSBieXRlcykgZmlsZW5hbWUgYCVzJyBmb3VuZC5cbiIKKyN+ICIgUGxlYXNlIGluY3JlYXNlIE1BWF9JTlBVVF9OQU1FTEVOIGluIG1rY3JhbWZzLmMgYW5kIHJlY29tcGlsZS4gIEV4aXRpbmcuIgorI34gbXNnc3RyICIiCisjfiAiTm9tIGRlIGZpY2hpZXIgdHLDqHMgbG9uZyAoJXp1wqBvY3RldHMpIMKrwqAlc8KgwrsgcmVww6lyw6kuXG4iCisjfiAiIFZldWlsbGV6IGF1Z21lbnRlciBNQVhfSU5QVVRfTkFNRUxFTiBkYW5zIG1rY3JhbWZzLmMgZXQgcmVjb21waWxlci4gRmluIGQnZXjDqWN1dGlvbi4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1jIHwgLWwgZmlsZW5hbWVdIFstblhYXSBbLWlYWF0gL2Rldi9uYW1lIFtibG9ja3NdIgorI34gbXNnc3RyICJVdGlsaXNhdGlvbsKgOiAlcyBbLWMgfCAtbCBmaWNoaWVyXSBbLW5YWF0gWy1pWFhdIC9kZXYvbm9tIFtibG9jc10iCisKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAiJXPCoDogaW1wb3NzaWJsZSBkJ2FsbG91ZXIgdW4gdGFtcG9uIGF1IHN1cGVyYmxvYyIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVycyBmb3IgbWFwcyIKKyN+IG1zZ3N0ciAiJXPCoDogaW1wb3NzaWJsZSBkJ2FsbG91ZXIgZGVzIHRhbXBvbnMgcG91ciBsZXMgdGFibGVzIgorCisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKKyN+IG1zZ3N0ciAiJXPCoDogaW1wb3NzaWJsZSBkJ2FsbG91ZXIgdW4gdGFtcG9uIHBvdXIgbGVzIGluxZN1ZHMiCisKKyN+IG1zZ2lkICIlczogYmFkIGlub2RlIHNpemUiCisjfiBtc2dzdHIgIiVzwqA6IHRhaWxsZSBkJ2luxZN1ZCBjb3Jyb21wdWUiCisKKyN+IG1zZ2lkICIlczogZGV2aWNlIGlzIG1pc2FsaWduZWQiCisjfiBtc2dzdHIgIiVzwqA6IGxlIHDDqXJpcGjDqXJpcXVlIGVzdCBtYWwgYWxpZ27DqSIKKworI34gbXNnaWQgIndpbGwgbm90IHRyeSB0byBtYWtlIGZpbGVzeXN0ZW0gb24gJyVzJyIKKyN+IG1zZ3N0ciAiYWJhbmRvbiBkZSBsYSBjcsOpYXRpb24gZCd1biBzeXN0w6htZSBkZSBmaWNoaWVycyBzdXIgwqvCoCVzwqDCuyIKKworI34gbXNnaWQgIk9TLzIgaGlkZGVuIEM6IGRyaXZlIgorI34gbXNnc3RyICJPUy8yIG1hc3F1w6llIGRpc3F1ZSBDOiIKKworI34gbXNnaWQgInR5cGU6ICVkIgorI34gbXNnc3RyICJ0eXBlwqA6ICVkIgorCisjfiBtc2dpZCAiZGlzazogJS4qcyIKKyN+IG1zZ3N0ciAiZGlzcXVlwqA6ICUuKnMiCisKKyN+IG1zZ2lkICJsYWJlbDogJS4qcyIKKyN+IG1zZ3N0ciAiw6l0aXF1ZXR0ZcKgOiAlLipzIgorCisjfiBtc2dpZCAiZmxhZ3M6ICVzIgorI34gbXNnc3RyICJpbmRpY2F0ZXVyc8KgOiAlcyIKKworI34gbXNnaWQgImJ5dGVzL3NlY3RvcjogJWxkIgorI34gbXNnc3RyICJvY3RldHMvc2VjdGV1csKgOiAlbGQiCisKKyN+IG1zZ2lkICJzZWN0b3JzL3RyYWNrOiAlbGQiCisjfiBtc2dzdHIgInNlY3RldXJzL3Bpc3RlwqA6ICVsZCIKKworI34gbXNnaWQgInRyYWNrcy9jeWxpbmRlcjogJWxkIgorI34gbXNnc3RyICJwaXN0ZXMvY3lsaW5kcmXCoDogJWxkIgorCisjfiBtc2dpZCAic2VjdG9ycy9jeWxpbmRlcjogJWxkIgorI34gbXNnc3RyICJzZWN0ZXVycy9jeWxpbmRyZcKgOiAlbGQiCisKKyN+IG1zZ2lkICJjeWxpbmRlcnM6ICVsZCIKKyN+IG1zZ3N0ciAiY3lsaW5kcmVzwqA6ICVsZCIKKworI34gbXNnaWQgInJwbTogJWQiCisjfiBtc2dzdHIgInRvdXJzL21pbsKgOiAlZCIKKworI34gbXNnaWQgImludGVybGVhdmU6ICVkIgorI34gbXNnc3RyICJpbnRlcmxlYXZlwqA6ICVkIgorCisjfiBtc2dpZCAidHJhY2tza2V3OiAlZCIKKyN+IG1zZ3N0ciAiZMOpY2FsYWdlLXBpc3RlwqA6ICVkIgorCisjfiBtc2dpZCAiY3lsaW5kZXJza2V3OiAlZCIKKyN+IG1zZ3N0ciAiZMOpY2FsYWdlLWN5bGluZHJlwqA6ICVkIgorCisjfiBtc2dpZCAiaGVhZHN3aXRjaDogJWxkIChtaWxsaXNlY29uZHMpIgorI34gbXNnc3RyICJjb21tdXRhdGlvbi10w6p0ZXPCoDogJWxkIChtaWxsaXNlY29uZGVzKSIKKworI34gbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWs6ICVsZCAobWlsbGlzZWNvbmRzKSIKKyN+IG1zZ3N0ciAicG9zaXRpb25uZW1lbnQgcGlzdGUtw6AtcGlzdGXCoDogJWxkIChtaWxsaXNlY29uZGVzKSIKKworI34gbXNnaWQgInBhcnRpdGlvbnM6ICVkIgorI34gbXNnc3RyICJwYXJ0aXRpb25zwqA6ICVkIgorCisjfiBtc2dpZCAiWW91IGNhbm5vdCBjaGFuZ2UgYSBwYXJ0aXRpb24gaW50byBhbiBleHRlbmRlZCBvbmUgb3IgdmljZSB2ZXJzYS4gRGVsZXRlIGl0IGZpcnN0LiIKKyN+IG1zZ3N0ciAiVm91cyBuZSBwb3V2ZXogcGFzIHRyYW5zZm9ybWVyIHVuZSBwYXJ0aXRpb24gZW4gcGFydGl0aW9uIMOpdGVuZHVlIG91IHZpY2UgdmVyc2EuIFN1cHByaW1lei1sw6AgZCdhYm9yZC4iCisKKyMgZmRpc2svZmRpc2tzZ2lsYWJlbC5jOjIwMgorI34gbXNnaWQgIiIKKyN+ICJMYWJlbCBnZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9yc1xuIgorI34gIiAgICAgICAgICAgICAgICAlbGx1IGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJHw6lvbcOpdHJpZSBk4oCZw6l0aXF1ZXR0ZcKgOiAlZMKgdMOqdGVzLCAlbGx1wqBzZWN0ZXVyc1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICVsbHXCoGN5bGluZHJlcywgJWTCoGN5bGluZHJlcyBwaHlzaXF1ZXNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAlZMKgc2VjdGV1cnMvY3lsaW5kcmUgYWRkaXRpb25uZWxzLCBpbnRlcmxlYXZlwqAlZDoxXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiTGFiZWwgZ2VvbWV0cnk6ICVkIHJwbSwgJWQgYWx0ZXJuYXRlIGFuZCAlZCBwaHlzaWNhbCBjeWxpbmRlcnMsXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxIgorI34gbXNnc3RyICIiCisjfiAiR8Opb23DqXRyaWUgZOKAmcOpdGlxdWV0dGXCoDogJWTCoHRvdXJzL21pbiwgJWTCoGN5bGluZHJlcyBhbHRlcm5hdGlmcyBldCAlZMKgcGh5c2lxdWVzLFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICVkwqBzZWN0ZXVycy9jeWxpbmRyZSBhZGRpdGlvbm5lbHMsIGludGVybGVhdmXCoCVkOjEiCisKKyN+IG1zZ2lkICI8bm9uZT4iCisjfiBtc2dzdHIgIjxyaWVuPiIKKworI34gbXNnaWQgImdldHRpbWVvZmRheSBmYWlsZWQiCisjfiBtc2dzdHIgIsOpY2hlYyBkZSBnZXR0aW1lb2ZkYXkoKSIKKworIyBkaXNrLXV0aWxzL21rc3dhcC5jOjYyMworI34gbXNnaWQgInN5c2luZm8gZmFpbGVkIgorI34gbXNnc3RyICLDqWNoZWMgZGUgc3lzaW5mbyIKKworI34gbXNnaWQgInVzYWdlOiBsYXN0IFstI10gWy1mIGZpbGVdIFstdCB0dHldIFstaCBob3N0bmFtZV0gW3VzZXIgLi4uXVxuIgorI34gbXNnc3RyICJVdGlsaXNhdGlvbsKgOiBsYXN0IFstbsK6XSBbLWYgZmljaGllcl0gWy10IHR0eV0gWy1oIG5vbV9kX2jDtHRlXSBbaWRlbnRpZmlhbnQgLi4uXVxuIgorCisjfiBtc2dpZCAiJXM6IG1tYXAgZmFpbGVkIgorI34gbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgbW1hcCIKKworI34gbXNnaWQgIiAgc3RpbGwgbG9nZ2VkIGluIgorI34gbXNnc3RyICIgIGVuY29yZSBjb25uZWN0w6kgYXUgc3lzdMOobWUiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAid3RtcCBiZWdpbnMgJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJ3dG1wIGNvbW1lbmNlICVzIgorCisjfiBtc2dpZCAiZ2V0aG9zdG5hbWUgZmFpbGVkIgorI34gbXNnc3RyICLDqWNoZWMgZGUgZ2V0aG9zdG5hbWUiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiaW50ZXJydXB0ZWQgJTEwLjEwcyAlNS41cyBcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gImludGVycnVwdGlvbiAlMTAuMTBzICU1LjVzIFxuIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHNldCBQQVRIIgorI34gbXNnc3RyICLDqWNoZWMgZGUgZMOpZmluaXRpb24gZHUgUEFUSCIKKworI34gbXNnaWQgIiVkIgorI34gbXNnc3RyICIlZCIKKworI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIgorI34gbXNnc3RyICIlc8KgOiBlcnJldXIgZCdhbmFseXNlIMOgIGxhIGxpZ25lwqAlZCIKKworI34gbXNnaWQgInVzZSBvZiAna2lsbCAtLXBpZCcgb3B0aW9uIGFzIGNvbW1hbmQgbmFtZSBpcyBkZXByZWNhdGVkIgorI34gbXNnc3RyICJM4oCZdXRpbGlzYXRpb24gZGUgbOKAmW9wdGlvbiDCq8Kga2lsbCAtLXBpZMKgwrsgY29tbWUgbm9tIGRlIGNvbW1hbmRlIGVzdCBvYnNvbMOodGUiCisKKyMgZGlzay11dGlscy9ta3N3YXAuYzo2MTIKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGdldCBkZXZpY2UgcGF0aCIKKyN+IG1zZ3N0ciAiJXPCoDogw6ljaGVjIGQnb2J0ZW50aW9uIGR1IGNoZW1pbiBkZSBww6lyaXBow6lyaXF1ZSIKKworI34gbXNnaWQgIiVzOiB1bmtub3duIGRldmljZSBuYW1lIgorI34gbXNnc3RyICIlc8KgOiBub20gZGUgcMOpcmlwaMOpcmlxdWUgaW5jb25udSIKKworI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRtIG5hbWUiCisjfiBtc2dzdHIgIiVzwqA6IMOpY2hlYyBkJ29idGVudGlvbiBkdSBub20gZG0iCisKKyN+IG1zZ2lkICJ0aGUgc29ydCBjb2x1bW4gaGFzIHRvIGJlIGFtb25nIHRoZSBvdXRwdXQgY29sdW1ucyIKKyN+IG1zZ3N0ciAibGEgY29sb25uZSBkZSB0cmkgZG9pdCDDqnRyZSBwYXJtaSBsZXMgY29sb25uZXMgZGUgc29ydGllIgorCisjfiBtc2dpZCAiIgorI34gIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHByb2Nlc3MgaWRcbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCisjfiAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1wLCAtLXBpZCA8UElEPiAgICAgICAgaWRlbnRpZmlhbnQgZGUgcHJvY2Vzc3VzXG4iCisjfiAiIC1vLCAtLW91dHB1dCA8bGlzdGU+ICAgZMOpZmluaXIgbGVzIGNvbG9ubmVzIGRlIHNvcnRpZSDDoCB1dGlsaXNlclxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIG5lIHBhcyBhZmZpY2hlciBsZXMgZW4tdMOqdGVzXG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXRpbGlzZXIgbGUgZm9ybWF0IGRlIHNvcnRpZSBicnV0XG4iCisjfiAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgbmUgcGFzIHRyb25xdWVyIGxlIHRleHRlIGRlcyBjb2xvbm5lc1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGFmZmljaGVyIGNldHRlIGFpZGUgZXQgcXVpdHRlclxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIGFmZmljaGVyIGxlcyBpbmZvcm1hdGlvbnMgZGUgdmVyc2lvbiBldCBxdWl0dGVyXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKKyN+ICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKKyN+ICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKKyN+ICIgLWssIC0ta2lsbCAgICAgICAgICAgICAga2lsbCBydW5uaW5nIGRhZW1vblxuIgorI34gIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCisjfiAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCisjfiAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKKyN+ICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorI34gIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBkbyBub3QgY3JlYXRlIGxpc3RlbmluZyBzb2NrZXRcbiIKKyN+ICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHR1cm4gb24gcXVpZXQgbW9kZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1wLCAtLXBpZCA8Y2hlbWluPiAgICAgIGNoZW1pbiB2ZXJzIGxlIGZpY2hpZXIgUElEXG4iCisjfiAiIC1zLCAtLXNvY2tldCA8Y2hlbWluPiAgIGNoZW1pbiB2ZXJzIGxhIHNvY2tldFxuIgorI34gIiAtVCwgLS10aW1lb3V0IDxzZWM+ICAgICBpbmRpcXVlciBsZSBkw6lsYWkgZCdleHBpcmF0aW9uIGVuIGNhcyBkJ2luYWN0aXZpdMOpXG4iCisjfiAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIHR1ZXIgbGUgZMOpbW9ucyBlbiBjb3VycyBkJ2V4w6ljdXRpb25cbiIKKyN+ICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdGVyIGxhIGNyw6lhdGlvbiBkJ3VuIFVVSUQgYWzDqWF0b2lyZVxuIgorI34gIiAtdCwgLS10aW1lICAgICAgICAgICAgICB0ZXN0ZXIgbGEgY3LDqWF0aW9uIGQndW4gVVVJRCB0ZW1wb3JlbFxuIgorI34gIiAtbiwgLS11dWlkcyA8bm9tYnJlPiAgICBkZW1hbmRlciB1biBjZXJ0YWluIG5vbWJyZSBkJ1VVSURcbiIKKyN+ICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgbmUgcGFzIGNyw6llciBsZSBmaWNoaWVyIHBpZFxuIgorI34gIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBuZSBwYXMgdHJhbnNmb3JtZXIgZW4gZMOpbW9uIGF2ZWMgZG91YmxlLWZvcmtcbiIKKyN+ICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gbmUgcGFzIGNyw6llciBkZSBzb2NrZXQgZCfDqWNvdXRlXG4iCisjfiAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIGV4w6ljdXRlciBlbiBtb2RlIGRlIGTDqWJvZ2FnZVxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICBwYXNzZXIgZW4gbW9kZSBzaWxlbmNpZXV4XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIGFmZmljaGVyIGxlcyBpbmZvcm1hdGlvbnMgZGUgdmVyc2lvbiBldCBxdWl0dGVyXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGFmZmljaGVyIGNldHRlIGFpZGUgZXQgcXVpdHRlclxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlNjaGVkdWxpbmcgcG9saWNpZXM6XG4iCisjfiAiICAtYiB8IC0tYmF0Y2ggICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0JBVENIXG4iCisjfiAiICAtZiB8IC0tZmlmbyAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKKyN+ICIgIC1pIHwgLS1pZGxlICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfSURMRVxuIgorI34gIiAgLW8gfCAtLW90aGVyICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorI34gIiAgLXIgfCAtLXJyICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gInN0cmF0w6lnaWVzIGRlIHBsYW5pZmljYXRpb27CoDpcbiIKKyN+ICIgIC1iIHwgLS1iYXRjaCAgICAgICAgIGNvbmZpZ3VyZXIgbGEgc3RyYXTDqWdpZSDDoCBTQ0hFRF9CQVRDSFxuIgorI34gIiAgLWYgfCAtLWZpZm8gICAgICAgICAgY29uZmlndXJlciBsYSBzdHJhdMOpZ2llIMOgIFNDSEVEX0ZJRk9cbiIKKyN+ICIgIC1pIHwgLS1pZGxlICAgICAgICAgIGNvbmZpZ3VyZXIgbGEgc3RyYXTDqWdpZSDDoCBTQ0hFRF9JRExFXG4iCisjfiAiICAtbyB8IC0tb3RoZXIgICAgICAgICBjb25maWd1cmVyIGxhIHN0cmF0w6lnaWUgw6AgU0NIRURfT1RIRVJcbiIKKyN+ICIgIC1yIHwgLS1yciAgICAgICAgICAgIGNvbmZpZ3VyZXIgbGEgc3RyYXTDqWdpZSDDoCBTQ0hFRF9SUiAocGFyIGTDqWZhdXQpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgIC1hIHwgLS1hbGwtdGFza3MgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscFxuIgorI34gIiAgLW0gfCAtLW1heCAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCisjfiAiICAtcCB8IC0tcGlkICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorI34gIiAgLXYgfCAtLXZlcmJvc2UgICAgICAgZGlzcGxheSBzdGF0dXMgaW5mb3JtYXRpb25cbiIKKyN+ICIgIC1WIHwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zwqA6XG4iCisjfiAiICAtYSB8IC0tYWxsLXRhc2tzICAgICBhZ2lyIHN1ciB0b3V0ZXMgbGVzIHTDomNoZXMgKHRocmVhZHMpIGQndW4gUElEIGRvbm7DqVxuIgorI34gIiAgLWggfCAtLWhlbHAgICAgICAgICAgYWZmaWNoZXIgY2V0dGUgYWlkZVxuIgorI34gIiAgLW0gfCAtLW1heCAgICAgICAgICAgbW9udHJlciBsZXMgcHJpb3JpdMOpIG1pbmltYWxlcyBldCBtYXhpbWFsZXMgdmFsYWJsZXNcbiIKKyN+ICIgIC1wIHwgLS1waWQgICAgICAgICAgIG9ww6lyZXIgc3VyIGxlcyBQSUQgZG9ubsOpcyBleGlzdGFudHNcbiIKKyN+ICIgIC12IHwgLS12ZXJib3NlICAgICAgIGFmZmljaGVyIGxlcyByZW5zZWlnbmVtZW50cyBkJ8OpdGF0XG4iCisjfiAiICAtViB8IC0tdmVyc2lvbiAgICAgICBhZmZpY2hlciBsZXMgcmVuc2VpZ25lbWVudHMgZGUgdmVyc2lvblxuIgorI34gIlxuIgorCisjfiBtc2dpZCAidW5rbm93biBzY2hlZHVsaW5nIHBvbGljeSIKKyN+IG1zZ3N0ciAic3RyYXTDqWdpZSBkZSBwbGFuaWZpY2F0aW9uIGluY29ubnVlIgorCisjfiBtc2dpZCAiIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKKyN+ICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKKyN+ICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgYWxpZ25lZCBsZW5ndGggYW5kIG9mZnNldFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAgcG9zaXRpb24gZW4gb2N0ZXQgw6AgcGFydGlyIGRlIGxhcXVlbGxlIGFiYW5kb25uZXJcbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxudW0+ICB0YWlsbGUgZW4gb2N0ZXQgw6AgYWJhbmRvbm5lciDDoCBwYXJ0aXIgZGUgbGEgcG9zaXRpb25cbiIKKyN+ICIgLXAsIC0tc3RlcCA8bnVtPiAgICB0YWlsbGUgZGVzIGl0w6lyYXRpb25zIGTigJlhYmFuZG9uIGRhbnMgbGEgcG9zaXRpb25cbiIKKyN+ICIgLXMsIC0tc2VjdXJlICAgICAgICByw6lhbGlzZXIgdW4gYWJhbmRvbiBzw6ljdXJpc8OpXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgYWZmaWNoZXIgbGVzIHRhaWxsZSBldCBwb3NpdGlvbiBhbGlnbsOpZXNcbiIKKworI34gbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1tYW51YWxlamVjdC8taSBvcHRpb24iCisjfiBtc2dzdHIgImFyZ3VtZW50IGluY29ycmVjdCBwb3VyIGwnb3B0aW9uIC0tbWFudWFsZWplY3QsIC1pIgorCisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gY2hhbmdlIHRoZSBTeXN0ZW0gQ2xvY2suIgorI34gbXNnc3RyICJEw6lzb2zDqSwgc2V1bCBsZSBzdXBlcnV0aWxpc2F0ZXVyIHBldXQgbW9kaWZpZXIgbCdob3Jsb2dlIHN5c3TDqG1lLiIKKworI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIGNoYW5nZSB0aGUgSGFyZHdhcmUgQ2xvY2sgZXBvY2ggaW4gdGhlIGtlcm5lbC4iCisjfiBtc2dzdHIgIkTDqXNvbMOpLCBzZXVsIGxlIHN1cGVydXRpbGlzYXRldXIgcGV1dCBtb2RpZmllciBsYSB2YWxldXIgwqvCoGVwb2NowqDCuyBkZSBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGUgZGFucyBsZSBub3lhdS4iCisKKyN+IG1zZ2lkICJyZWFkKCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCisjfiBtc2dzdHIgIsOJY2hlYyBkZSByZWFkKCkgZGUgJXMgZHVyYW50IGwnYXR0ZW50ZSBkJ3VuIHRpYyBkJ2hvcmxvZ2UiCisKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3I6IGlnbm9yZSBlbnRyeSBhdCBsaW5lICVkLiIKKyN+IG1zZ3N0ciAiJXPCoDogZXJyZXVyIGQnYW5hbHlzZcKgOiBlbnRyw6llIGlnbm9yw6llIMOgIGxhIGxpZ25lwqAlZC4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+ICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgbW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKKyN+ICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgbGlzdHMgYWxsIG1vdW50cyB3aXRoIExBQkVMc1xuIgorI34gIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBhZmZpY2hlciBjZXR0ZSBhaWRlIGV0IHF1aXR0ZXJcbiIKKyN+ICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgbmUgcGFzIGFwcGVsZXIgbGVzIGF1eGlsaWFpcmVzIG1vdW50Ljx0eXBlPlxuIgorI34gIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBhZmZpY2hlciB0b3VzIGxlcyBtb250YWdlcyBhdmVjIGxlcyDDqXRpcXVldHRlc1xuIgorI34gIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBuZSBwYXMgw6ljcmlyZSBkYW5zIC9ldGMvbXRhYlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBzYXkgd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlIChkZWZhdWx0KVxuIgorI34gbXNnc3RyICIiCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIGV4cGxpcXVlciBsZXMgYWN0aW9ucyBlbiBjb3Vyc1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBhZmZpY2hlciBsZXMgaW5mb3JtYXRpb25zIGRlIHZlcnNpb24gZXQgcXVpdHRlclxuIgorI34gIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb250ZXIgbGUgc3lzdMOobWUgZGUgZmljaGllcnMgZW4gbGVjdHVyZSBldCDDqWNyaXR1cmVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAocGFyIGTDqWZhdXQpXG4iCisKKyN+IG1zZ2lkICJwYWdlcyIKKyN+IG1zZ3N0ciAicGFnZXMiCisKKyN+IG1zZ2lkICJzZXQgcnRjIGFsYXJtIGZhaWxlZCIKKyN+IG1zZ3N0ciAiw6ljaGVjIGRlIGNvbmZpZ3VyYXRpb24gZCdhbGFybWUgZGUgbCdob3Jsb2dlIG1hdMOpcmllbGxlIgorCisjfiBtc2dpZCAiZW5hYmxlIHJ0YyBhbGFybSBmYWlsZWQiCisjfiBtc2dzdHIgIsOpY2hlYyBkJ2FjdGl2YXRpb24gZGUgbCdhbGFybWUgZGUgbCdob3Jsb2dlIG1hdMOpcmllbGxlIgorCisjfiBtc2dpZCAic3VzcGVuZCB0byBcIiVzXCIgdW5hdmFpbGFibGUiCisjfiBtc2dzdHIgInZlaWxsZSBlbiDCq8KgJXPCoMK7IG5vbiBkaXNwb25pYmxlIgorCisjfiBtc2dpZCAiZGlmZmVyZW50IgorI34gbXNnc3RyICJkaWZmw6lyZW50IgorCisjfiBtc2dpZCAic2FtZSIKKyN+IG1zZ3N0ciAiaWRlbnRpcXVlIgorCisjfiBtc2dpZCAiYmFkIHZhbHVlIgorI34gbXNnc3RyICJ2YWxldXIgZXJyb27DqWUiCisKKyN+IG1zZ2lkICIgLW0sIC0tbW91bnQgICAgICAgICAgICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiIC1tLCAtLW1vdW50ICAgICAgICAgICAgICAgZMOpLXBhcnRhZ2VyIGwnZXNwYWNlIGRlIG5vbXMgZGUgbW9udGFnZVxuIgorCisjfiBtc2dpZCAiIC11LCAtLXV0cyAgICAgICAgICAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCisjfiBtc2dzdHIgIiAtdSwgLS11dHMgICAgICAgICAgICAgICAgIGTDqS1wYXJ0YWdlciBsJ2VzcGFjZSBkZSBub21zIFVUUyAobm9tIGQnaMO0dGUswqBldGMuKVxuIgorCisjfiBtc2dpZCAiIC1pLCAtLWlwYyAgICAgICAgICAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtaSwgLS1pcGMgICAgICAgICAgICAgICAgIGTDqS1wYXJ0YWdlciBsJ2VzcGFjZSBkZSBub21zIElQQyBTeXN0ZW3CoFZcbiIKKworI34gbXNnaWQgIiAtbiwgLS1uZXQgICAgICAgICAgICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiIC1uLCAtLW5ldCAgICAgICAgICAgICAgICAgZMOpLXBhcnRhZ2VyIGwnZXNwYWNlIGRlIG5vbXMgcsOpc2VhdVxuIgorCisjfiBtc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICAgICAgICAgIGTDqS1wYXJ0YWdlciBsJ2VzcGFjZSBkZSBub21zIGRlIFBJRFxuIgorCisjfiBtc2dpZCAiIC1VLCAtLXVzZXIgICAgICAgICAgICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgLVUsIC0tdXNlciAgICAgICAgICAgICAgICBkw6ktcGFydGFnZXIgbCdlc3BhY2UgZGUgbm9tcyBkJ3V0aWxpc2F0ZXVyXG4iCisKKyN+IG1zZ2lkICJiYWQgdGltZW91dCB2YWx1ZTogJXMiCisjfiBtc2dzdHIgInZhbGV1ciBkJ2V4cGlyYXRpb24gZGUgbGEgbWludXRlcmllIGVycm9uw6llwqA6ICVzIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVtIgorI34gbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyICVzwqA6ICVtIgorCisjfiBtc2dpZCAiZXhwZWN0ZWQgYSBudW1iZXIsIGJ1dCBnb3QgJyVzJyIKKyN+IG1zZ3N0ciAibm9tYnJlIGF0dGVuZHUsIG1haXMgwqvCoCVzwqDCuyBvYnRlbnUiCisKKyN+IG1zZ2lkICJkaXZpc29yICclcyciCisjfiBtc2dzdHIgImRpdmlzZXVyIMKrwqAlc8KgwrsiCisKKyN+IG1zZ2lkICJhcmd1bWVudCBlcnJvcjogJXMiCisjfiBtc2dzdHIgImVycmV1ciBkJ2FyZ3VtZW50wqA6ICVzIgorCisjfiBtc2dpZCAiZnJlYWQgZmFpbGVkIgorI34gbXNnc3RyICLDqWNoZWMgZGUgZnJlYWQiCisKKyN+IG1zZ2lkICJ0dHkgcGF0aCAlcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiY2hlbWluIGRlIHRlcm1pbmFsICVzIHRyb3AgbG9uZyIKKworI34gbXNnaWQgIk1pbmltYWwgc2l6ZSBpcyAlanUiCisjfiBtc2dzdHIgIkxhIHRhaWxsZSBtaW5pbWFsZSBlc3QgJWp1IgorCisjfiBtc2dpZCAiUGxlYXNlLCBzZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBkaXNrIGxhYmVsLiIKKyN+IG1zZ3N0ciAiVmV1aWxsZXogc8OpbGVjdGlvbm5lciB1biB0eXBlIHBvdXIgY3LDqWVyIHVuZSBub3V2ZWxsZSDDqXRpcXVldHRlIGRlIGRpc3F1ZS4iCisKKyN+IG1zZ2lkICJIZWxwIFNjcmVlbiBmb3IgY2ZkaXNrIgorI34gbXNnc3RyICLDiWNyYW4gZCdhaWRlIHBvdXIgY2ZkaXNrIgorCisjfiBtc2dpZCAiZGlzayBkcml2ZS4iCisjfiBtc2dzdHIgImRpc3F1ZSBkdXIuIgorCisjfiBtc2dpZCAiQ29weXJpZ2h0IChDKSAyMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPiAiCisjfiBtc2dzdHIgIkNvcHlyaWdodCDCqSAyMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPiAiCisKKyN+IG1zZ2lkICJCYXNlZCBvbiB0aGUgb3JpZ2luYWwgY2ZkaXNrIGZyb20gS2V2aW4gRS4gTWFydGluICYgYWViLiIKKyN+IG1zZ3N0ciAiQmFzw6kgc3VyIGxlIGNmZGlzayBk4oCZb3JpZ2luZSBkZSBLZXZpbiBFLiBNYXJ0aW4gZXQgYWViLiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBgbm8nIgorI34gbXNnc3RyICIgICAgICAgICAgICAgwqvCoG5vbsKgwrsiCisKKyN+IG1zZ2lkICJEZXZpY2Ugb3BlbiBpbiByZWFkLW9ubHkgbW9kZSIKKyN+IG1zZ3N0ciAiUMOpcmlwaMOpcmlxdWUgb3V2ZXJ0IGVuIG1vZGUgbGVjdHVyZSBzZXVsZSIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiBtc2dzdHIgIlV0aWxpc2F0aW9uwqA6ICVzIFtvcHRpb25zXSBww6lyaXBow6lyaXF1ZVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1uLCAtLW5vLXZlcmlmeSAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zwqA6XG4iCisjfiAiIC1uLCAtLW5vLXZlcmlmeSAgZMOpc2FjdGl2ZXIgbGEgdsOpcmlmaWNhdGlvbiBhcHLDqHMgbGUgZm9ybWF0YWdlXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgYWZmaWNoZXIgbGVzIGluZm9ybWF0aW9ucyBkZSB2ZXJzaW9uIGV0IHF1aXR0ZXJcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBhZmZpY2hlciBjZXR0ZSBhaWRlIGV0IHF1aXR0ZXJcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgInN0YXQgZmFpbGVkICVzIgorI34gbXNnc3RyICLDqWNoZWMgZGUgc3RhdCAlcyIKKworI34gbXNnaWQgIlVzYWdlOlxuIgorI34gbXNnc3RyICJVdGlsaXNhdGlvbsKgOlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBta2ZzKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQ29uc3VsdGV6IG1rZnMoOCkgcG91ciBvYnRlbmlyIGRlcyByZW5zZWlnbmVtZW50cyBjb21wbMOpbWVudGFpcmVzLlxuIgorCisjfiBtc2dpZCAiJXMgKCVzKVxuIgorI34gbXNnc3RyICIlcyAoJXMpXG4iCisKKyN+IG1zZ2lkICJCYWQgc3dhcCBoZWFkZXIgc2l6ZSwgbm8gbGFiZWwgd3JpdHRlbi4iCisjfiBtc2dzdHIgIlRhaWxsZSBlcnJvbsOpZSBkJ2VuLXTDqnRlIGRlIHpvbmUgZCfDqWNoYW5nZSwgYXVjdW5lIMOpdGlxdWV0dGUgbidhIMOpdMOpIMOpY3JpdGUuIgorCisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyAtIGNhbm5vdCBzZWVrIHRvICVsdSIKKyN+IG1zZ3N0ciAiZXJyZXVyIGRlIHBvc2l0aW9ubmVtZW50IHN1ciAlcyDigJQgbmUgcGV1dCByZXDDqXJlciAlbHUiCisKKyN+IG1zZ2lkICJzZWVrIGVycm9yOiB3YW50ZWQgMHglMDh4JTA4eCwgZ290IDB4JTA4eCUwOHgiCisjfiBtc2dzdHIgImVycmV1ciBkZSBwb3NpdGlvbm5lbWVudMKgOiBkw6lzaXLDqSAweCUwOHglMDh4LCBvYnRlbnUgMHglMDh4JTA4eCIKKworI34gbXNnaWQgInJlYWQgZXJyb3Igb24gJXMgLSBjYW5ub3QgcmVhZCBzZWN0b3IgJWxsdSIKKyN+IG1zZ3N0ciAiZXJyZXVyIGRlIGxlY3R1cmUgc3VyICVzIOKAlCBpbXBvc3NpYmxlIGRlIGxpcmUgbGUgc2VjdGV1csKgJWxsdSIKKworI34gbXNnaWQgIndyaXRlIGVycm9yIG9uICVzIC0gY2Fubm90IHdyaXRlIHNlY3RvciAlbGx1IgorI34gbXNnc3RyICJFcnJldXIgZCfDqWNyaXR1cmUgc3VyICVzIOKAlCBpbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBzZWN0ZXVywqAlbGx1IgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHNlY3RvciBzYXZlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ291dnJpciBsZSBmaWNoaWVyIGRlIHNhdXZlZ2FyZGUgZGUgc2VjdGV1ciBkZSBwYXJ0aXRpb24gKCVzKSIKKworI34gbXNnaWQgIndyaXRlIGVycm9yIG9uICVzIgorI34gbXNnc3RyICJlcnJldXIgZCfDqWNyaXR1cmUgc3VyICVzIgorCisjfiBtc2dpZCAiY2Fubm90IHN0YXQgcGFydGl0aW9uIHJlc3RvcmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJpbXBvc3NpYmxlIGQnb2J0ZW5pciBsJ8OpdGF0IGR1IGZpY2hpZXIgZGUgcmVzdGF1cmF0aW9uIGRlIHBhcnRpdGlvbiAoJXMpIgorCisjfiBtc2dpZCAicGFydGl0aW9uIHJlc3RvcmUgZmlsZSBoYXMgd3Jvbmcgc2l6ZSAtIG5vdCByZXN0b3JpbmciCisjfiBtc2dzdHIgImxlIGZpY2hpZXIgZGUgcmVzdGF1cmF0aW9uIGRlIHBhcnRpdGlvbiBhIHVuZSB0YWlsbGUgZXJyb27DqWUg4oCUIHBhcyBkZSByZXN0YXVyYXRpb24iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcykiCisjfiBtc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgbGUgZmljaGllciBkZSByZXN0YXVyYXRpb24gZGUgcGFydGl0aW9uICglcykiCisKKyN+IG1zZ2lkICJlcnJvciByZWFkaW5nICVzIgorI34gbXNnc3RyICJlcnJldXIgZGUgbGVjdHVyZSAlcyIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIGRldmljZSAlcyBmb3Igd3JpdGluZyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciBsZSBww6lyaXBow6lyaXF1ZcKgJXMgcG91ciDDqWNyaXR1cmUiCisKKyN+IG1zZ2lkICJlcnJvciB3cml0aW5nIHNlY3RvciAlbHUgb24gJXMiCisjfiBtc2dzdHIgImVycmV1ciBkJ8OpY3JpdHVyZSBkdSBzZWN0ZXVywqAlbHUgc3VyICVzIgorCisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiRGlzcXVlICVzwqA6IGltcG9zc2libGUgZCdvYnRlbmlyIGxhIGfDqW9tw6l0cmllIgorCisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBzaXplIgorI34gbXNnc3RyICJEaXNxdWUgJXPCoDogaW1wb3NzaWJsZSBkJ29idGVuaXIgbGEgdGFpbGxlIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHN0YXJ0PSVsdSAtIHRoaXMgbG9va3MgbGlrZSBhIHBhcnRpdGlvbiByYXRoZXIgdGhhblxuIgorI34gInRoZSBlbnRpcmUgZGlzay4gVXNpbmcgZmRpc2sgb24gaXQgaXMgcHJvYmFibHkgbWVhbmluZ2xlc3MuXG4iCisjfiAiW1VzZSB0aGUgLS1mb3JjZSBvcHRpb24gaWYgeW91IHJlYWxseSB3YW50IHRoaXNdIgorI34gbXNnc3RyICIiCisjfiAiQXZlcnRpc3NlbWVudMKgOiBkw6lidXQ9JWx1IOKAlCBjZWxhIHJlc3NlbWJsZSBwbHVzIMOgIHVuZSBwYXJ0aXRpb24gcXUnw6BcbiIKKyN+ICJ1biBkaXNxdWUgZW50aWVyLiBVdGlsaXNlciBmZGlzayBuJ2F1cmFpdCBwcm9iYWJsZW1lbnQgcGFzIGRlIHNlbnMuXG4iCisjfiAiW1V0aWxpc2VyIGwnb3B0aW9uIC0tZm9yY2Ugc2kgdm91cyBkw6lzaXJleiBmYWlyZSBjZWxhXSIKKworI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGhlYWRzIgorI34gbXNnc3RyICJBdmVydGlzc2VtZW50wqA6IEhESU9fR0VUR0VPIGluZGlxdWUgcXUnaWwgYSAlbHXCoHTDqnRlcyIKKworI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IHNlY3RvcnMiCisjfiBtc2dzdHIgIkF2ZXJ0aXNzZW1lbnTCoDogSERJT19HRVRHRU8gaW5kaXF1ZSBxdSdpbCB5IGEgJWx1wqBzZWN0ZXVycyIKKworI34gbXNnaWQgIldhcm5pbmc6IEJMS0dFVFNJWkUvSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgY3lsaW5kZXJzIgorI34gbXNnc3RyICJBdmVydGlzc2VtZW50wqA6IEJMS0dFVFNJWkUvSERJT19HRVRHRU8gaW5kaXF1ZSBxdSdpbCB5IGEgJWx1wqBjeWxpbmRyZXMiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogdW5saWtlbHkgbnVtYmVyIG9mIHNlY3RvcnMgKCVsdSkgLSB1c3VhbGx5IGF0IG1vc3QgNjNcbiIKKyN+ICJUaGlzIHdpbGwgZ2l2ZSBwcm9ibGVtcyB3aXRoIGFsbCBzb2Z0d2FyZSB0aGF0IHVzZXMgQy9IL1MgYWRkcmVzc2luZy4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdmVydGlzc2VtZW50wqA6IGxlIG5vbWJyZSBkZSBzZWN0ZXVycyAoJWx1KSDigJQgaGFiaXR1ZWxsZW1lbnQgYXUgcGx1cyBkZSA2My5cbiIKKyN+ICJDZWxhIGNyw6llcmEgZGVzIHByb2Jsw6htZXMgYXZlYyBsZXMgbG9naWNpZWxzIHF1aSB1dGlsaXNlbnQgdW4gYWRyZXNzYWdlIEMvSC9TLiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbHUgY3lsaW5kZXJzLCAlbHUgaGVhZHMsICVsdSBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNxdWUgJXPCoDogJWx1wqBjeWxpbmRyZXMsICVsdcKgdMOqdGVzLCAlbHXCoHNlY3RldXJzL3Bpc3RlXG4iCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIGhlYWQ6ICVsdSAoc2hvdWxkIGJlIGluIDAtJWx1KSIKKyN+IG1zZ3N0ciAiJXMgZGUgbGEgcGFydGl0aW9uwqAlcyBhIHVuZSB2YWxldXIgaW1wb3NzaWJsZSBwb3VyIGxhIHTDqnRlwqA6ICVsdSAoZGV2cmFpdCDDqnRyZSAwLSVsdSkiCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIHNlY3RvcjogJWx1IChzaG91bGQgYmUgaW4gMS0lbHUpIgorI34gbXNnc3RyICIlcyBkZSBsYSBwYXJ0aXRpb27CoCVzIGEgdW5lIHZhbGV1ciBpbXBvc3NpYmxlIHBvdXIgbGUgc2VjdGV1csKgOiAlbHUgKGRldnJhaXQgw6p0cmUgMS0lbHUpIgorCisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBjeWxpbmRlcnM6ICVsdSAoc2hvdWxkIGJlIGluIDAtJWx1KSIKKyN+IG1zZ3N0ciAiJXMgZGUgbGEgcGFydGl0aW9uwqAlcyBhIHVuZSB2YWxldXIgaW1wb3NzaWJsZSBwb3VyIGxlcyBjeWxpbmRyZXPCoDogJWx1IChkZXZyYWl0IMOqdHJlIDAtJWx1KSIKKworI34gbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSAuLi5cbiIKKyN+IG1zZ3N0ciAiUmVsZWN0dXJlIGRlIGxhIHRhYmxlIGRlIHBhcnRpdGlvbnPigKZcbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgY29tbWFuZCB0byByZS1yZWFkIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLlxuIgorI34gIlJ1biBwYXJ0cHJvYmUoOCksIGtwYXJ0eCg4KSBvciByZWJvb3QgeW91ciBzeXN0ZW0gbm93LFxuIgorI34gImJlZm9yZSB1c2luZyBta2ZzIgorI34gbXNnc3RyICIiCisjfiAiTGEgY29tbWFuZGUgZGUgcmVsZWN0dXJlIGRlIGxhIHRhYmxlIGRlIHBhcnRpdGlvbnMgYSDDqWNob3XDqS5cbiIKKyN+ICJFeMOpY3V0ZXogcGFydHByb2JlKDgpLCBrcGFydHgoOCkgb3UgcmVkw6ltYXJyZXogbGUgc3lzdMOobWVcbiIKKyN+ICJtYWludGVuYW50LCBhdmFudCBkJ3V0aWxpc2VyIG1rZnMiCisKKyN+IG1zZ2lkICJFcnJvciBjbG9zaW5nICVzIgorI34gbXNnc3RyICJFcnJldXIgZGUgZmVybWV0dXJlICVzIgorCisjfiBtc2dpZCAiJXM6IG5vIHN1Y2ggcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiVzwqA6IHBhcyBkZSB0ZWxsZSBwYXJ0aXRpb25cbiIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBmb3JtYXQgLSB1c2luZyBzZWN0b3JzIgorI34gbXNnc3RyICJmb3JtYXQgbm9uIHJlY29ubnUg4oCUIHV0aWxpc2F0aW9uIGRlcyBzZWN0ZXVycyIKKworI34gbXNnaWQgInVuaW1wbGVtZW50ZWQgZm9ybWF0IC0gdXNpbmcgJXMiCisjfiBtc2dzdHIgImZvcm1hdCBub24gaW1wbGFudMOpIOKAlCAlcyB1dGlsaXPDqSIKKworI34gbXNnaWQgInNlY3RvcnMiCisjfiBtc2dzdHIgInNlY3RldXJzIgorCisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiBjeWxpbmRlcnMgb2YgJWx1IGJ5dGVzLCBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiVW5pdMOpc8KgOiBjeWxpbmRyZXMgZGUgJWx1wqBvY3RldHMsIGJsb2NzIGRlIDEwMjTCoG9jdGV0cywgZMOpY29tcHRlIMOgIHBhcnRpciBkZSAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgU3RhcnQgICAgIEVuZCAgICNjeWxzICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiAgIFDDqXJpcGggQW1vciBEw6lidXQgICAgIEZpbiAgIG7CusKgY3lsLiAgbsK6wqBibG9jcyAgSWQuIFN5c3TDqG1lXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IHNlY3RvcnMgb2YgNTEyIGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVbml0w6lzwqA6IHNlY3RldXJzIGRlIDUxMsKgb2N0ZXRzLCBkw6ljb21wdGUgw6AgcGFydGlyIGRlICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgICBTdGFydCAgICAgICBFbmQgICAjc2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBQw6lyaXBoIEFtb3LDpy4gIETDqWJ1dCAgICAgICBGaW4gICBuwrrCoHNlY3QuICBJZC4gU3lzdMOobWVcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVbml0czogYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVuaXTDqXPCoDogYmxvY3MgZGUgMTAyNMKgb2N0ZXRzLCBkw6ljb21wdGUgw6AgcGFydGlyIGRlICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgIFN0YXJ0ICAgICAgIEVuZCAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBQw6lyaXBoIEFtb3LDpy4gRMOpYnV0ICAgICAgIEZpbiAgICBuwrrCoGJsb2NzICBJZC4gU3lzdMOobWVcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVbml0czogMU1pQiA9IDEwMjQqMTAyNCBieXRlcywgYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVuaXTDqXPCoDogMcKgTWlvID0gMTAyNMOXMTAyNMKgb2N0ZXRzLCBibG9jcyBkZSAxMDI0wqBvY3RldHMsIGTDqWNvbXB0ZSDDoCBwYXJ0aXIgZGUgJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290IFN0YXJ0ICAgRW5kICAgIE1pQiAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBQw6lyaXBoIEFtb3IgRMOpYnV0ICAgRmluICAgIE1pbyAgICBuwrrCoGJsb2NzICBJZC4gU3lzdMOobWVcbiIKKworI34gbXNnaWQgIlx0XHRzdGFydDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiXHRcdGTDqWJ1dMKgOiAoYyxoLHMpIGF0dGVuZHUgKCVsZCwlbGQsJWxkKSB0cm91dsOpICglbGQsJWxkLCVsZClcbiIKKworI34gbXNnaWQgIlx0XHRlbmQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpXG4iCisjfiBtc2dzdHIgIlx0XHRmaW7CoDogKGMsaCxzKSBhdHRlbmR1ICglbGQsJWxkLCVsZCkgdHJvdXbDqSAoJWxkLCVsZCwlbGQpXG4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gZW5kcyBvbiBjeWxpbmRlciAlbGQsIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBkaXNrXG4iCisjfiBtc2dzdHIgImxhIHBhcnRpdGlvbiBzZSB0ZXJtaW5lIHN1ciBsZSBjeWxpbmRyZcKgJWxkLCBhcHLDqHMgbGEgZmluIGR1IGRpc3F1ZVxuIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IFRoZSBwYXJ0aXRpb24gdGFibGUgbG9va3MgbGlrZSBpdCB3YXMgbWFkZVxuIgorI34gIiAgZm9yIEMvSC9TPSovJWxkLyVsZCAoaW5zdGVhZCBvZiAlbGQvJWxkLyVsZCkuXG4iCisjfiAiRm9yIHRoaXMgbGlzdGluZyBJJ2xsIGFzc3VtZSB0aGF0IGdlb21ldHJ5LiIKKyN+IG1zZ3N0ciAiIgorI34gIkF2ZXJ0aXNzZW1lbnTCoDogbGEgdGFibGUgZGUgcGFydGl0aW9ucyBzZW1ibGUgYXZvaXIgw6l0w6kgY3LDqcOpZVxuIgorI34gIiAgcG91ciBDL0gvUz0qLyVsZC8lbGQgKGF1IGxpZXUgZGUgJWxkLyVsZC8lbGQpLlxuIgorI34gIlBvdXIgY2UgcmFwcG9ydCwgY2V0dGUgZ8Opb23DqXRyaWUgc2VyYSBzdXBwb3PDqWUgdGVsbGUuIgorCisjfiBtc2dpZCAibm8gcGFydGl0aW9uIHRhYmxlIHByZXNlbnQiCisjfiBtc2dzdHIgImF1Y3VuZSB0YWJsZSBkZSBwYXJ0aXRpb25zIHByw6lzZW50ZSIKKworI34gbXNnaWQgInN0cmFuZ2UsIG9ubHkgJWQgcGFydGl0aW9uIGRlZmluZWQiCisjfiBtc2dpZF9wbHVyYWwgInN0cmFuZ2UsIG9ubHkgJWQgcGFydGl0aW9ucyBkZWZpbmVkIgorI34gbXNnc3RyWzBdICLDqXRyYW5nZSwgc2V1bGVtZW50ICVkwqBwYXJ0aXRpb24gZMOpZmluaWUiCisjfiBtc2dzdHJbMV0gIsOpdHJhbmdlLCBzZXVsZW1lbnQgJWTCoHBhcnRpdGlvbnMgZMOpZmluaWVzIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYnV0IGlzIG5vdCBtYXJrZWQgRW1wdHkiCisjfiBtc2dzdHIgIkF2ZXJ0aXNzZW1lbnTCoDogcGFydGl0aW9uwqAlcyBkZSB0YWlsbGUgbnVsbGUgbWFpcyBub24gbWFycXXDqWUgdmlkZSAowqvCoEVtcHR5wqDCuykiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBhbmQgaXMgYm9vdGFibGUiCisjfiBtc2dzdHIgIkF2ZXJ0aXNzZW1lbnTCoDogcGFydGl0aW9uwqAlcyBkZSB0YWlsbGUgbnVsbGUgZXQgYW1vcsOnYWJsZSIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGFuZCBub256ZXJvIHN0YXJ0IgorI34gbXNnc3RyICJBdmVydGlzc2VtZW50wqA6IHBhcnRpdGlvbsKgJXMgZGUgdGFpbGxlIG51bGxlIGF2ZWMgdW5lIGFkcmVzc2UgZGUgZMOpYnV0IG5vbiBudWxsZSIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbnMgJXMgYW5kICVzIG92ZXJsYXAiCisjfiBtc2dzdHIgIkF2ZXJ0aXNzZW1lbnTCoDogbGVzIHBhcnRpdGlvbnPCoCVzIGV0ICVzIHNlIGNoZXZhdWNoZW50IgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBjb250YWlucyBwYXJ0IG9mIHRoZSBwYXJ0aXRpb24gdGFibGUgKHNlY3RvciAlbGx1KSxcbiIKKyN+ICJhbmQgd2lsbCBkZXN0cm95IGl0IHdoZW4gZmlsbGVkIgorI34gbXNnc3RyICIiCisjfiAiQXZlcnRpc3NlbWVudMKgOiBsYSBwYXJ0aXRpb27CoCVzIGNvbnRpZW50IHVuZSBwYXJ0aWUgZGUgbGEgdGFibGUgZGVcbiIKKyN+ICJwYXJ0aXRpb25zIChzZWN0ZXVywqAlbGx1KSwgcXVpIHNlcmEgZMOpdHJ1aXRlIGxvcnNxdSdlbGxlIHNlIHJlbXBsaXJhIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIHN0YXJ0cyBhdCBzZWN0b3IgMCIKKyN+IG1zZ3N0ciAiQXZlcnRpc3NlbWVudMKgOiBsYSBwYXJ0aXRpb27CoCVzIGNvbW1lbmNlIGF1IHNlY3RldXLCoDAiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZXh0ZW5kcyBwYXN0IGVuZCBvZiBkaXNrIgorI34gbXNnc3RyICJBdmVydGlzc2VtZW50wqA6IGxhIHBhcnRpdGlvbsKgJXMgcyfDqXRlbmQgYXByw6hzIGxhIGZpbiBkdSBkaXNxdWUiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplICVkLiVkIFRCICglbGx1IGJ5dGVzKSxcbiIKKyN+ICJ3aGljaCBpcyBsYXJnZXIgdGhhbiB0aGUgJWxsdSBieXRlcyBsaW1pdCBpbXBvc2VkXG4iCisjfiAiYnkgdGhlIERPUyBwYXJ0aXRpb24gdGFibGUgZm9yICVkLWJ5dGUgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiIgorI34gIkF2ZXJ0aXNzZW1lbnTCoDogbGEgcGFydGl0aW9uwqAlcyBhIHVuZSB0YWlsbGUgZGUgJWQsJWTCoFRvICglbGx1wqBvY3RldHMpLFxuIgorI34gImNlIHF1aSBlc3Qgc3Vww6lyaWV1cmUgw6AgbGEgbGltaXRlIGRlICVsbHXCoG9jdGV0cyBpbXBvc8OpZSBwYXIgbGEgdGFibGVcbiIKKyN+ICJkZSBwYXJ0aXRpb25zIERPUyBwb3VyIGxlcyBzZWN0ZXVycyBkZSAlZMKgb2N0ZXRzIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yICVsbHUgKCVkLiVkIFRCIGZvciAlZC1ieXRlIHNlY3RvcnMpLFxuIgorI34gIndoaWNoIGV4Y2VlZHMgdGhlIERPUyBwYXJ0aXRpb24gdGFibGUgbGltaXQgb2YgJWxsdSBzZWN0b3JzIgorI34gbXNnc3RyICIiCisjfiAiQXZlcnRpc3NlbWVudMKgOiBsYSBwYXJ0aXRpb27CoCVzIGNvbW1lbmNlIGF1IHNlY3RldXLCoCVsbHUgKCVkLCVkwqBUbyBkZSBzZWN0ZXVyc1xuIgorI34gImRlICVkwqBvY3RldHMpLCBjZSBxdWkgZMOpcGFzc2UgbGEgbGltaXRlIGRlIHRhYmxlIGRlIHBhcnRpdGlvbnMgRE9TIGRlICVsbHXCoHNlY3RldXJzIgorCisjfiBtc2dpZCAiIgorI34gIkFtb25nIHRoZSBwcmltYXJ5IHBhcnRpdGlvbnMsIGF0IG1vc3Qgb25lIGNhbiBiZSBleHRlbmRlZFxuIgorI34gIiAoYWx0aG91Z2ggdGhpcyBpcyBub3QgYSBwcm9ibGVtIHVuZGVyIExpbnV4KSIKKyN+IG1zZ3N0ciAiIgorI34gIlBhcm1pIGxlcyBwYXJ0aXRpb25zIHByaW1haXJlcywgYXUgcGx1cyB1bmUgc2V1bGUgcGV1dCDDqnRyZSDDqXRlbmR1ZVxuIgorI34gIiAocXVvaXF1ZSBjZWxhIG4nZXN0IHBhcyB1biBwcm9ibMOobWUgc291cyBMaW51eCkiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZG9lcyBub3Qgc3RhcnQgYXQgYSBjeWxpbmRlciBib3VuZGFyeSIKKyN+IG1zZ3N0ciAiQXZlcnRpc3NlbWVudMKgOiBsYSBwYXJ0aXRpb27CoCVzIG5lIGNvbW1lbmNlIHBhcyBzdXIgdW5lIGZyb250acOocmUgZGUgY3lsaW5kcmUiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZG9lcyBub3QgZW5kIGF0IGEgY3lsaW5kZXIgYm91bmRhcnkiCisjfiBtc2dzdHIgIkF2ZXJ0aXNzZW1lbnTCoDogbGEgcGFydGl0aW9uwqAlcyBuZSBzZSB0ZXJtaW5lIHBhcyBzdXIgdW5lIGZyb250acOocmUgZGUgY3lsaW5kcmUiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogbW9yZSB0aGFuIG9uZSBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLiIKKyN+IG1zZ3N0ciAiIgorI34gIkF2ZXJ0aXNzZW1lbnTCoDogcGx1cyBkJ3VuZSBwYXJ0aXRpb24gcHJpbWFpcmUgbWFycXXDqWUgYW1vcsOnYWJsZSAoYWN0aXZlKVxuIgorI34gIkNlbGEgbidlc3QgcGFzIGQnaW1wb3J0YW50IHBvdXIgTElMTywgbWFpcyBET1MgTUJSIG4nYW1vcmNlcmEgcGFzIHN1ciBjZSBkaXNxdWUuIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHVzdWFsbHkgb25lIGNhbiBib290IGZyb20gcHJpbWFyeSBwYXJ0aXRpb25zIG9ubHlcbiIKKyN+ICJMSUxPIGRpc3JlZ2FyZHMgdGhlIGBib290YWJsZScgZmxhZy4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdmVydGlzc2VtZW50wqA6IGhhYml0dWVsbGVtZW50IG9uIG5lIHBldXQgYW1vcmNlciBxdSfDoCBwYXJ0aXIgZCd1bmVcbiIKKyN+ICJwYXJ0aXRpb24gcHJpbWFpcmUuIExJTE8gbmUgcydvY2N1cGUgcGFzIGRlIGwnaW5kaWNhdGV1ciBkJ2Ftb3LDp2FnZS4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogbm8gcHJpbWFyeSBwYXJ0aXRpb24gaXMgbWFya2VkIGJvb3RhYmxlIChhY3RpdmUpXG4iCisjfiAiVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sIGJ1dCB0aGUgRE9TIE1CUiB3aWxsIG5vdCBib290IHRoaXMgZGlzay4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdmVydGlzc2VtZW50wqA6IGF1Y3VuZSBwYXJ0aXRpb24gcHJpbWFpcmUgbWFycXXDqWUgYW1vcsOnYWJsZSAoYWN0aXZlKVxuIgorI34gIlBldSBpbXBvcnRhbnQgcG91ciBMSUxPLCBtYWlzIERPUyBNQlIgbidhbW9yY2VyYSBwYXMgY2UgZGlzcXVlLiIKKworI34gbXNnaWQgInN0YXJ0IgorI34gbXNnc3RyICJkw6lidXQiCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKSIKKyN+IG1zZ3N0ciAicGFydGl0aW9uICVzwqA6IGTDqWJ1dMKgOiAoYyxoLHMpIGF0dGVuZHUgKCVsZCwlbGQsJWxkKSB0cm91dsOpICglbGQsJWxkLCVsZCkiCisKKyN+IG1zZ2lkICJlbmQiCisjfiBtc2dzdHIgImZpbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiAlczogZW5kOiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKSIKKyN+IG1zZ3N0ciAicGFydGl0aW9uICVzwqA6IGZpbsKgOiAoYyxoLHMpIGF0dGVuZHUgKCVsZCwlbGQsJWxkKSB0cm91dsOpICglbGQsJWxkLCVsZCkiCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgZW5kcyBvbiBjeWxpbmRlciAlbGQsIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBkaXNrIgorI34gbXNnc3RyICJwYXJ0aXRpb24gJXMgdGVybWluYW50IHN1ciBsZSBjeWxpbmRyZSAlbGQsIGFwcsOocyBsYSBmaW4gZHUgZGlzcXVlIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHNoaWZ0ZWQgc3RhcnQgb2YgdGhlIGV4dGQgcGFydGl0aW9uIGZyb20gJWxsZCB0byAlbGxkXG4iCisjfiAiKEZvciBsaXN0aW5nIHB1cnBvc2VzIG9ubHkuIERvIG5vdCBjaGFuZ2UgaXRzIGNvbnRlbnRzLikiCisjfiBtc2dzdHIgIiIKKyN+ICJBdmVydGlzc2VtZW50wqA6IGluZGV4IGR1IGTDqWJ1dCBkZSBwYXJ0aXRpb24gw6l0ZW5kdWUgZGUgJWxsZCDDoCAlbGxkXG4iCisjfiAiKFBvdXIgZmlucyBk4oCZYWZmaWNoYWdlIHNldWxlbWVudC4gTmUgbW9kaWZpZSBwYXMgbGUgY29udGVudS4pIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IGV4dGVuZGVkIHBhcnRpdGlvbiBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gIkRPUyBhbmQgTGludXggd2lsbCBpbnRlcnByZXQgdGhlIGNvbnRlbnRzIGRpZmZlcmVudGx5LiIKKyN+IG1zZ3N0ciAiIgorI34gIkF2ZXJ0aXNzZW1lbnTCoDogbGEgcGFydGl0aW9uIMOpdGVuZHVlIG5lIGNvbW1lbmNlIHBhcyBzdXIgdW5lIGZyb250acOocmUgZGVcbiIKKyN+ICJjeWxpbmRyZXMuIERPUyBldCBMaW51eCBpbnRlcnByw6l0ZXJvbnQgbGVzIGNvbnRlbnVzIGRpZmbDqXJlbW1lbnQuIgorCisjfiBtc2dpZCAiRVJST1I6IHNlY3RvciAlbGx1IGRvZXMgbm90IGhhdmUgYW4gbXNkb3Mgc2lnbmF0dXJlIgorI34gbXNnc3RyICJFcnJldXLCoDogbGUgc2VjdGV1csKgJWxsdSBuJ2EgcGFzIHVuZSBzaWduYXR1cmUgTVMtRE9TIgorCisjfiBtc2dpZCAidG9vIG1hbnkgcGFydGl0aW9ucyAtIGlnbm9yaW5nIHRob3NlIHBhc3QgbnIgKCV6dSkiCisjfiBtc2dzdHIgInRyb3AgZGUgcGFydGl0aW9ucyDigJQgY2VsbGVzIGF1LWRlbMOgIGRlIG5yICglenUpIHNvbnQgaWdub3LDqWVzIgorCisjfiBtc2dpZCAidHJlZSBvZiBwYXJ0aXRpb25zPyIKKyN+IG1zZ3N0ciAicXVlbCBhcmJyZSBkZSBwYXJ0aXRpb25zwqA/IgorCisjfiBtc2dpZCAiZGV0ZWN0ZWQgRGlzayBNYW5hZ2VyIC0gdW5hYmxlIHRvIGhhbmRsZSB0aGF0IgorI34gbXNnc3RyICJHZXN0aW9ubmFpcmUgZGUgZGlzcXVlIGTDqXRlY3TDqSDigJQgaW1wb3NzaWJsZSBkZSBnw6lyZXIgY2VsYSIKKworI34gbXNnaWQgIkRNNiBzaWduYXR1cmUgZm91bmQgLSBnaXZpbmcgdXAiCisjfiBtc2dzdHIgInNpZ25hdHVyZSBETTYgcmVww6lyw6llIOKAlCBhYmFuZG9uIgorCisjfiBtc2dpZCAic3RyYW5nZS4uLiwgYW4gZXh0ZW5kZWQgcGFydGl0aW9uIG9mIHNpemUgMD8iCisjfiBtc2dzdHIgImJpemFycmXigKYgcGV1dC3DqnRyZSB1bmUgcGFydGl0aW9uIMOpdGVuZHVlIGRlIHRhaWxsZSBudWxsZSIKKworI34gbXNnaWQgInN0cmFuZ2UuLi4sIGEgQlNEIHBhcnRpdGlvbiBvZiBzaXplIDA/IgorI34gbXNnc3RyICJiaXphcnJl4oCmIHBldXQtw6p0cmUgdW5lIHBhcnRpdGlvbiBCU0QgZGUgdGFpbGxlIG51bGxlIgorCisjfiBtc2dpZCAiLW4gZmxhZyB3YXMgZ2l2ZW46IE5vdGhpbmcgY2hhbmdlZCIKKyN+IG1zZ3N0ciAib3B0aW9uIC1uIHV0aWxpc8OpZcKgOiByaWVuIG4nYSBjaGFuZ8OpIgorCisjfiBtc2dpZCAiRmFpbGVkIHNhdmluZyB0aGUgb2xkIHNlY3RvcnMgLSBhYm9ydGluZ1xuIgorI34gbXNnc3RyICLDiWNoZWMgZGUgc2F1dmVnYXJkZSBkZXMgdmlldXggc2VjdGV1cnMg4oCUIGFiYW5kb25cbiIKKworI34gbXNnaWQgIkZhaWxlZCB3cml0aW5nIHRoZSBwYXJ0aXRpb24gb24gJXMiCisjfiBtc2dzdHIgIsOJY2hlYyBkZSBsJ8OpY3JpdHVyZSBkZSBsYSBwYXJ0aXRpb24gc3VyICVzIgorCisjfiBtc2dpZCAibG9uZyBvciBpbmNvbXBsZXRlIGlucHV0IGxpbmUgLSBxdWl0dGluZyIKKyN+IG1zZ3N0ciAibGlnbmUgZCdlbnRyw6llIGxvbmd1ZSBvdSBpbmNvbXBsw6h0ZSDigJQgYWJhbmRvbiIKKworI34gbXNnaWQgImlucHV0IGVycm9yOiBgPScgZXhwZWN0ZWQgYWZ0ZXIgJXMgZmllbGQiCisjfiBtc2dzdHIgImVycmV1ciBkJ2VudHLDqWXCoDogwqvCoD3CoMK7IGF0dGVuZHUgYXByw6hzIGxlIGNoYW1wICVzIgorCisjfiBtc2dpZCAiaW5wdXQgZXJyb3I6IHVuZXhwZWN0ZWQgY2hhcmFjdGVyICVjIGFmdGVyICVzIGZpZWxkIgorI34gbXNnc3RyICJlcnJldXIgZCdlbnRyw6llwqA6IGNhcmFjdMOocmUgJWMgaW5hdHRlbmR1IGFwcsOocyBsZSBjaGFtcCAlcyIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBpbnB1dDogJXMiCisjfiBtc2dzdHIgImVudHLDqWUgbm9uIHJlY29ubnVlwqA6ICVzIgorCisjfiBtc2dpZCAibnVtYmVyIHRvbyBiaWciCisjfiBtc2dzdHIgIm5vbWJyZSB0cm9wIGdyYW5kIgorCisjfiBtc2dpZCAidHJhaWxpbmcganVuayBhZnRlciBudW1iZXIiCisjfiBtc2dzdHIgInJlYnV0IGFwcsOocyBsZSBub21icmUiCisKKyN+IG1zZ2lkICJubyByb29tIGZvciBwYXJ0aXRpb24gZGVzY3JpcHRvciIKKyN+IG1zZ3N0ciAiYXVjdW4gZXNwYWNlIHBvdXIgbGUgZGVzY3JpcHRldXIgZGUgcGFydGl0aW9uIgorCisjfiBtc2dpZCAiY2Fubm90IGJ1aWxkIHN1cnJvdW5kaW5nIGV4dGVuZGVkIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjb25zdHJ1aXJlIGF1dG91ciBkZSBsYSBwYXJ0aXRpb24gw6l0ZW5kdWUiCisKKyN+IG1zZ2lkICJ0b28gbWFueSBpbnB1dCBmaWVsZHMiCisjfiBtc2dzdHIgInRyb3AgZGUgY2hhbXBzIMOgIGwnZW50csOpZSIKKworI34gbXNnaWQgIk5vIHJvb20gZm9yIG1vcmUiCisjfiBtc2dzdHIgIkF1Y3VuIGVzcGFjZSBwb3VyIGVuIGFjY2VwdGVyIGRhdmFudGFnZSIKKworI34gbXNnaWQgIklsbGVnYWwgdHlwZSIKKyN+IG1zZ3N0ciAiVHlwZSBpbmNvcnJlY3QiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBnaXZlbiBzaXplICglbGx1KSBleGNlZWRzIG1heCBhbGxvd2FibGUgc2l6ZSAoJWxsdSkiCisjfiBtc2dzdHIgIkF2ZXJ0aXNzZW1lbnTCoDogbGEgdGFpbGxlIGRvbm7DqWUgKCVsbHUpIGV4Y8OoZGUgbGEgdGFpbGxlIG1heGltYWxlIGFsbG91YWJsZSAoJWxsdSkiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIkF2ZXJ0aXNzZW1lbnTCoDogcGFydGl0aW9uIHZpZGUiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBiYWQgcGFydGl0aW9uIHN0YXJ0IChlYXJsaWVzdCAlbGx1KSIKKyN+IG1zZ3N0ciAiQXZlcnRpc3NlbWVudMKgOiBkw6lidXQgZGUgcGFydGl0aW9uIGNvcnJvbXB1IChhdXBhcmF2YW50ICVsbHUpIgorCisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGJvb3RhYmxlIGZsYWcgLSBjaG9vc2UgLSBvciAqIgorI34gbXNnc3RyICJpbmRpY2F0ZXVyIGQnYW1vcsOnYWdlIG5vbiByZWNvbm51IOKAlCBjaG9pc2lyIMKrwqAtwqDCuyBvdSDCq8KgKsKgwrsiCisKKyN+IG1zZ2lkICJwYXJ0aWFsIGMsaCxzIHNwZWNpZmljYXRpb24/IgorI34gbXNnc3RyICJzcMOpY2lmaWNhdGlvbiBjLGgscyBwZXV0LcOqdHJlIHBhcnRpZWxsZSIKKworI34gbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBub3Qgd2hlcmUgZXhwZWN0ZWQiCisjfiBtc2dzdHIgIlBhcnRpdGlvbiDDqXRlbmR1ZSBwYXIgw6AgbCdlbmRyb2l0IGF0dGVuZHUiCisKKyN+IG1zZ2lkICJiYWQgaW5wdXQiCisjfiBtc2dzdHIgImVudHLDqWUgZXJyb27DqWUiCisKKyN+IG1zZ2lkICJ0b28gbWFueSBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJ0cm9wIGRlIHBhcnRpdGlvbnMiCisKKyN+IG1zZ2lkICIiCisjfiAiSW5wdXQgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ7IGFic2VudCBmaWVsZHMgZ2V0IGEgZGVmYXVsdCB2YWx1ZS5cbiIKKyN+ICI8c3RhcnQ+IDxzaXplPiA8dHlwZSBbRSxTLEwsWCxoZXhdPiA8Ym9vdGFibGUgWy0sKl0+IDxjLGgscz4gPGMsaCxzPlxuIgorI34gIlVzdWFsbHkgeW91IG9ubHkgbmVlZCB0byBzcGVjaWZ5IDxzdGFydD4gYW5kIDxzaXplPiAoYW5kIHBlcmhhcHMgPHR5cGU+KS4iCisjfiBtc2dzdHIgIiIKKyN+ICJMJ2VudHLDqWUgZXN0IGF1IGZvcm1hdCBzdWl2YW50wqA7IGxhIHZhbGV1ciBwYXIgZMOpZmF1dCBlc3QgYWxsb3XDqWUgYXV4IGNoYW1wcyBtYW5xdWFudHMuXG4iCisjfiAiPGTDqWJ1dD4gPHRhaWxsZT4gPHR5cGUgW0UsUyxMLFgsaGV4XT4gPGFtb3LDp2FibGUgWy0sKl0+IDxjLGgscz4gPGMsaCxzPlxuIgorI34gIlZvdXMgbidhdmV6IG5vcm1hbGVtZW50IGJlc29pbiBkJ2luZGlxdWVyIHF1ZSA8ZMOpYnV0PiBldCA8dGFpbGxlPiAoZXQgcGFyZm9pcyA8dHlwZT4pLiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT4uLi5cbiIKKyN+IG1zZ3N0ciAiICVzIFtvcHRpb25zXSA8cMOpcmlwaMOpcmlxdWU+IC4uLlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtcywgLS1zaG93LXNpemUgICAgICAgICAgIGxpc3Qgc2l6ZSBvZiBhIHBhcnRpdGlvblxuIgorI34gIiAtYywgLS1pZCAgICAgICAgICAgICAgICAgIGNoYW5nZSBvciBwcmludCBwYXJ0aXRpb24gSWRcbiIKKyN+ICIgICAgIC0tY2hhbmdlLWlkICAgICAgICAgICBjaGFuZ2UgSWRcbiIKKyN+ICIgICAgIC0tcHJpbnQtaWQgICAgICAgICAgICBwcmludCBJZFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1zLCAtLXNob3ctc2l6ZSAgICAgICAgICAgYWZmaWNoZXIgbGEgdGFpbGxlIGQndW5lIHBhcnRpdGlvblxuIgorI34gIiAtYywgLS1pZCAgICAgICAgICAgICAgICAgIG1vZGlmaWVyIG91IGFmZmljaGVyIGwnaWRlbnRpZmlhbnQgZGUgcGFydGl0aW9uXG4iCisjfiAiICAgICAtLWNoYW5nZS1pZCAgICAgICAgICAgbW9kaWZpZXIgbCdpZGVudGlmaWFudFxuIgorI34gIiAgICAgLS1wcmludC1pZCAgICAgICAgICAgIGFmZmljaGVyIGwnaWRlbnRpZmlhbnRcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgb2YgZWFjaCBkZXZpY2VcbiIKKyN+ICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgICBpZGVtLCBidXQgaW4gYSBmb3JtYXQgc3VpdGFibGUgZm9yIGxhdGVyIGlucHV0XG4iCisjfiAiIC1pLCAtLWluY3JlbWVudCAgICAgICAgICAgbnVtYmVyIGN5bGluZGVycyBldGMuIGZyb20gMSBpbnN0ZWFkIG9mIGZyb20gMFxuIgorI34gIiAtdSwgLS11bml0IDxsZXR0ZXI+ICAgICAgIHVuaXRzIHRvIGJlIHVzZWQ7IDxsZXR0ZXI+IGNhbiBiZSBvbmUgb2ZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFMgKHNlY3RvcnMpLCBDIChjeWxpbmRlcnMpLCBCIChibG9ja3MpLCBvciBNIChNQilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgIGFmZmljaGVyIGxlcyBwYXJ0aXRpb25zIGRlIGNoYXF1ZSBww6lyaXBow6lyaXF1ZVxuIgorI34gIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgIGlkZW50aXF1ZSwgbWFpcyBkYW5zIHVuIGZvcm1hdCBwZXJtZXR0YW50IHVuZSBzYWlzaWUgdWx0w6lyaWV1cmVcbiIKKyN+ICIgLWksIC0taW5jcmVtZW50ICAgICAgICAgICBub21icmUgZGUgY3lsaW5kcmVzLMKgZXRjLiDDoCBwYXJ0aXIgZGUgMSBhdSBsaWV1IGRlIDBcbiIKKyN+ICIgLXUsIC0tdW5pdCA8bGV0dHJlPiAgICAgICB1bml0w6kgw6AgdXRpbGlzZXLCoDsgPGxldHRyZT4gcGV1dCDDqnRyZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUyAoc2VjdGV1ciksIEMgKGN5bGluZHJlKSwgQiAoYmxvYykgb3UgTSAoTW8pXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC0xLCAtLW9uZS1vbmx5ICAgICAgICAgICAgcmVzZXJ2ZWQgb3B0aW9uIHRoYXQgZG9lcyBub3RoaW5nIGN1cnJlbnRseVxuIgorI34gIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgIGxpc3QgdGhlIGtub3duIHBhcnRpdGlvbiB0eXBlc1xuIgorI34gIiAtRCwgLS1ET1MgICAgICAgICAgICAgICAgIGZvciBET1MtY29tcGF0aWJpbGl0eTogd2FzdGUgYSBsaXR0bGUgc3BhY2VcbiIKKyN+ICIgLUUsIC0tRE9TLWV4dGVuZGVkICAgICAgICBET1MgZXh0ZW5kZWQgcGFydGl0aW9uIGNvbXBhdGliaWxpdHlcbiIKKyN+ICIgLVIsIC0tcmUtcmVhZCAgICAgICAgICAgICBtYWtlIHRoZSBrZXJuZWwgcmVyZWFkIHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtMSwgLS1vbmUtb25seSAgICAgICAgICAgIG9wdGlvbiByw6lzZXJ2w6llIHF1aSBuZSBzZXJ0IMOgIHJpZW4gcG91ciBsZSBtb21lbnRcbiIKKyN+ICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICBhZmZpY2hlciBsZXMgdHlwZXMgZGUgcGFydGl0aW9ucyBjb25udXNcbiIKKyN+ICIgLUQsIC0tRE9TICAgICAgICAgICAgICAgICBwb3VyIGNvbXBhdGliaWxpdMOpIERPU8KgOiBwZXJ0ZSBkJ3VuIHBldSBkJ2VzcGFjZVxuIgorI34gIiAtRSwgLS1ET1MtZXh0ZW5kZWQgICAgICAgIGNvbXBhdGliaWxpdMOpIGF2ZWMgbGVzIHBhcnRpdGlvbnMgRE9TIMOpdGVuZHVlc1xuIgorI34gIiAtUiwgLS1yZS1yZWFkICAgICAgICAgICAgIGZvcmNlciBsZSBub3lhdSDDoCByZWxpcmUgbGEgdGFibGUgZGUgcGFydGl0aW9uc1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAtTiA8bnVtYmVyPiAgICAgICAgICAgICAgIGNoYW5nZSBvbmx5IHRoZSBwYXJ0aXRpb24gd2l0aCB0aGlzIDxudW1iZXI+XG4iCisjfiAiIC1uICAgICAgICAgICAgICAgICAgICAgICAgZG8gbm90IGFjdHVhbGx5IHdyaXRlIHRvIGRpc2tcbiIKKyN+ICIgLU8gPGZpbGU+ICAgICAgICAgICAgICAgICBzYXZlIHRoZSBzZWN0b3JzIHRoYXQgd2lsbCBiZSBvdmVyd3JpdHRlbiB0byA8ZmlsZT5cbiIKKyN+ICIgLUkgPGZpbGU+ICAgICAgICAgICAgICAgICByZXN0b3JlIHNlY3RvcnMgZnJvbSA8ZmlsZT5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtTiA8bnVtw6lybz4gICAgICAgICAgICAgICBuZSBtb2RpZmllciBxdWUgbGEgcGFydGl0aW9uIGRlIGNlIDxudW3DqXJvPlxuIgorI34gIiAtbiAgICAgICAgICAgICAgICAgICAgICAgIG5lIHBhcyDDqWNyaXJlIHN1ciBsZSBkaXNxdWVcbiIKKyN+ICIgLU8gPGZpY2hpZXI+ICAgICAgICAgICAgICBzYXV2ZWdhcmRlciBsZXMgc2VjdGV1cnMgcXVpIHNlcm9udCDDqWNyYXPDqXMgZGFucyBsZSA8ZmljaGllcj5cbiIKKyN+ICIgLUkgPGZpY2hpZXI+ICAgICAgICAgICAgICByZXN0YXVyZXIgbGVzIHNlY3RldXJzIGRlIDxmaWNoaWVyPlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtViwgLS12ZXJpZnkgICAgICAgICAgICAgIGNoZWNrIHRoYXQgdGhlIGxpc3RlZCBwYXJ0aXRpb25zIGFyZSByZWFzb25hYmxlXG4iCisjfiAiIC12LCAtLXZlcnNpb24gICAgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1WLCAtLXZlcmlmeSAgICAgICAgICAgICAgdsOpcmlmaWVyIHF1ZSBsZXMgcGFydGl0aW9ucyBhZmZpY2jDqWVzIHNvbnQgY29ycmVjdGVzXG4iCisjfiAiIC12LCAtLXZlcnNpb24gICAgICAgICAgICAgYWZmaWNoZXIgbGVzIGluZm9ybWF0aW9ucyBkZSB2ZXJzaW9uIGV0IHF1aXR0ZXJcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICBhZmZpY2hlciBjZXR0ZSBhaWRlIGV0IHF1aXR0ZXJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEYW5nZXJvdXMgb3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk9wdGlvbnMgZGFuZ2VyZXVzZXPCoDpcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZ1xuIgorI34gIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBwYXJ0aXRpb24gaXMgaW4gdXNlXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcHJlc3Mgd2FybmluZyBtZXNzYWdlc1xuIgorI34gIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGRvIG5vdCBjb21wbGFpbiBhYm91dCB0aGluZ3MgaXJyZWxldmFudCBmb3IgTGludXhcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGTDqXNhY3RpdmVyIHRvdXRlcyBsZXMgdsOpcmlmaWNhdGlvbnMgZGUgY29ow6lyZW5jZVxuIgorI34gIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIG5lIHBhcyB2w6lyaWZpZXIgc2kgbGEgcGFydGl0aW9uIGVzdCB1dGlsaXPDqWVcbiIKKyN+ICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBzdXBwcmltZXIgbGVzIG1lc3NhZ2VzIGQnYXZlcnRpc3NlbWVudFxuIgorI34gIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIG5lIHBhcyBzZSBwbGFpbmRyZSBkZSBjaG9zZXMgbm9uIHBlcnRpbmVudGVzIHBvdXIgTGludXhcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWcsIC0tc2hvdy1nZW9tZXRyeSAgICAgICBwcmludCB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgZ2VvbWV0cnlcbiIKKyN+ICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBwcmludCBnZW9tZXRyeSBndWVzc2VkIGZyb20gdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgICAgICAgYWZmaWNoZXIgbGEgZ8Opb23DqXRyaWUgZCdhcHLDqHMgbGUgbm95YXVcbiIKKyN+ICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBhZmZpY2hlciBsYSBnw6lvbcOpdHJpZSBkJ2FwcsOocyBsYSB0YWJsZSBkZSBwYXJ0aXRpb25zXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1BLCAtLWFjdGl2YXRlWz08ZGV2aWNlPl0gYWN0aXZhdGUgdGhlIGJvb3RhYmxlIGZsYWdcbiIKKyN+ICIgLVUsIC0tdW5oaWRlWz08ZGV2aWNlPl0gICBzZXQgcGFydGl0aW9uIGFzIHVuaGlkZGVuXG4iCisjfiAiIC14LCAtLXNob3ctZXh0ZW5kZWQgICAgICAgYWxzbyBsaXN0IGV4dGVuZGVkIHBhcnRpdGlvbnMgaW4gdGhlIG91dHB1dCxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIGV4cGVjdCBkZXNjcmlwdG9ycyBmb3IgdGhlbSBpbiB0aGUgaW5wdXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtQSwgLS1hY3RpdmF0ZVs9PHDDqXJpcGg+XSBhY3RpdmVyIGwnaW5kaWNhdGV1ciBkJ2Ftb3LDp2FnZVxuIgorI34gIiAtVSwgLS11bmhpZGVbPTxww6lyaXBoPl0gICBkw6lmaW5pciBsYSBwYXJ0aXRpb24gY29tbWUgbm9uIG1hc3F1w6llXG4iCisjfiAiIC14LCAtLXNob3ctZXh0ZW5kZWQgICAgICAgYWZmaWNoZXIgYXVzc2kgbGVzIHBhcnRpdGlvbnMgw6l0ZW5kdWVzIGVuIHNvcnRpZSBvdVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVzIGRlc2NyaXB0ZXVycyBhdHRlbmR1cyBlbiBlbnRyw6llIHBvdXIgZWxsZXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tbGVhdmUtbGFzdCAgICAgICAgICBkbyBub3QgYWxsb2NhdGUgdGhlIGxhc3QgY3lsaW5kZXJcbiIKKyN+ICIgICAgIC0tSUJNICAgICAgICAgICAgICAgICBzYW1lIGFzIC0tbGVhdmUtbGFzdFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLWxlYXZlLWxhc3QgICAgICAgICAgbmUgcGFzIGFsbG91ZXIgbGUgZGVybmllciBjeWxpbmRyZVxuIgorI34gIiAgICAgLS1JQk0gICAgICAgICAgICAgICAgIGlkZW50aXF1ZSDDoCAtLWxlYXZlLWxhc3RcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0taW4tb3JkZXIgICAgICAgICAgICBwYXJ0aXRpb25zIGFyZSBpbiBvcmRlclxuIgorI34gIiAgICAgLS1ub3QtaW4tb3JkZXIgICAgICAgIHBhcnRpdGlvbnMgYXJlIG5vdCBpbiBvcmRlclxuIgorI34gIiAgICAgLS1pbnNpZGUtb3V0ZXIgICAgICAgIGFsbCBsb2dpY2FscyBpbnNpZGUgb3V0ZXJtb3N0IGV4dGVuZGVkXG4iCisjfiAiICAgICAtLW5vdC1pbnNpZGUtb3V0ZXIgICAgbm90IGFsbCBsb2dpY2FscyBpbnNpZGUgb3V0ZXJtb3N0IGV4dGVuZGVkXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0taW4tb3JkZXIgICAgICAgICAgICBsZXMgcGFydGl0aW9ucyBzb250IGRhbnMgbCdvcmRyZVxuIgorI34gIiAgICAgLS1ub3QtaW4tb3JkZXIgICAgICAgIGxlcyBwYXJ0aXRpb25zIG5lIHNvbnQgcGFzIGRhbnMgbCdvcmRyZVxuIgorI34gIiAgICAgLS1pbnNpZGUtb3V0ZXIgICAgICAgIHRvdXRlcyBsZXMgcGFydGl0aW9ucyBsb2dpcXVlcyBkYW5zIHVuZSBwYXJ0aXRpb24gw6l0ZW5kdWUgw6AgbCdleHRyw6ltaXTDqVxuIgorI34gIiAgICAgLS1ub3QtaW5zaWRlLW91dGVyICAgIHBhcyB0b3V0ZXMgbGVzIHBhcnRpdGlvbnMgbG9naXF1ZXMgZGFucyB1bmUgcGFydGl0aW9uIMOpdGVuZHVlIMOgIGwnZXh0csOpbWl0w6lcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tbmVzdGVkICAgICAgICAgICAgICBldmVyeSBwYXJ0aXRpb24gaXMgZGlzam9pbnQgZnJvbSBhbGwgb3RoZXJzXG4iCisjfiAiICAgICAtLWNoYWluZWQgICAgICAgICAgICAgbGlrZSBuZXN0ZWQsIGJ1dCBleHRlbmRlZCBwYXJ0aXRpb25zIG1heSBsaWUgb3V0c2lkZVxuIgorI34gIiAgICAgLS1vbmVzZWN0b3IgICAgICAgICAgIHBhcnRpdGlvbnMgYXJlIG11dHVhbGx5IGRpc2pvaW50XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tbmVzdGVkICAgICAgICAgICAgICBjaGFxdWUgcGFydGl0aW9uIGVzdCBzw6lwYXLDqWUgZGUgdG91dGVzIGxlcyBhdXRyZXNcbiIKKyN+ICIgICAgIC0tY2hhaW5lZCAgICAgICAgICAgICBjb21tZSAtLW5lc3RlZCwgbWFpcyBsZXMgcGFydGl0aW9ucyDDqXRlbmR1ZXMgcGV1dmVudFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Ugc2l0dWVyIGVuIGRlaG9yc1xuIgorI34gIiAgICAgLS1vbmVzZWN0b3IgICAgICAgICAgIGxlcyBwYXJ0aXRpb25zIHNvbnQgc8OpcGFyw6llIHLDqWNpcHJvcXVlbWVudFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk92ZXJyaWRlIHRoZSBkZXRlY3RlZCBnZW9tZXRyeSB1c2luZzpcbiIKKyN+ICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICBzZXQgdGhlIG51bWJlciBvZiBjeWxpbmRlcnMgdG8gdXNlXG4iCisjfiAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgc2V0IHRoZSBudW1iZXIgb2YgaGVhZHMgdG8gdXNlXG4iCisjfiAiIC1TLCAtLXNlY3RvcnMgPG51bWJlcj4gICAgc2V0IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyB0byB1c2VcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBhc3NlciBvdXRyZSBsYSBnw6lvbcOpdHJpZSBkw6l0ZWN0w6llIGVuIHV0aWxpc2FudMKgOlxuIgorI34gIiAtQywgLS1jeWxpbmRlcnMgPG5vbWJyZT4gIGNvbmZpZ3VyZXIgbGUgbm9tYnJlIGRlIGN5bGluZHJlcyDDoCB1dGlsaXNlclxuIgorI34gIiAtSCwgLS1oZWFkcyA8bm9tYnJlPiAgICAgIGNvbmZpZ3VyZXIgbGUgbm9tYnJlIGRlIHTDqnRlcyDDoCB1dGlsaXNlclxuIgorI34gIiAtUywgLS1zZWN0b3JzIDxub21icmU+ICAgIGNvbmZpZ3VyZXIgbGUgbm9tYnJlIGRlIHNlY3RldXJzIMOgIHV0aWxpc2VyXG4iCisKKyN+IG1zZ2lkICIgJXMlc2RldmljZSAgICAgICAgICAgIGxpc3QgYWN0aXZlIHBhcnRpdGlvbnMgb24gZGV2aWNlXG4iCisjfiBtc2dzdHIgIiAlcyVzcMOpcmlwaMOpcmlxdWUgICAgICAgICBhZmZpY2hlciBsZXMgcGFydGl0aW9ucyBhY3RpdmVzIGR1IHDDqXJpcGjDqXJpcXVlXG4iCisKKyN+IG1zZ2lkICIgJXMlc2RldmljZSBuMSBuMiAuLi4gIGFjdGl2YXRlIHBhcnRpdGlvbnMgbjEgLi4uLCBpbmFjdGl2YXRlIHRoZSByZXN0XG4iCisjfiBtc2dzdHIgIiAlcyVzcMOpcmlwaMOpcmlxdWUgbjEgbjLigKYgIGFjdGl2ZXIgbGVzIHBhcnRpdGlvbnMgbjHigKYsIGTDqXNhY3RpdmVyIGxlcyBhdXRyZXNcbiIKKworI34gbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHBhcnRpdGlvbnMgYXJndW1lbnQiCisjfiBtc2dzdHIgImFyZ3VtZW50IGRlIG5vbWJyZSBkZSBwYXJ0aXRpb25zIGluY29ycmVjdCIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzXG4iCisjfiBtc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgJXNcbiIKKworI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1wcmludC1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciIKKyN+IG1zZ3N0ciAiVXRpbGlzYXRpb27CoDogc2ZkaXNrIC0tcHJpbnQtaWQgcMOpcmlwaMOpcmlxdWUgbnVtw6lyby1kZS1wYXJ0aXRpb24iCisKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0tY2hhbmdlLWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyIElkIgorI34gbXNnc3RyICJVdGlsaXNhdGlvbsKgOiBzZmRpc2sgLS1jaGFuZ2UtaWQgcMOpcmlwaMOpcmlxdWUgbnVtw6lyby1kZS1wYXJ0aXRpb24gSWQiCisKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0taWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIgW0lkXSIKKyN+IG1zZ3N0ciAiVXRpbGlzYXRpb27CoDogc2ZkaXNrIC0taWQgcMOpcmlwaMOpcmlxdWUgbnVtw6lyby1kZS1wYXJ0aXRpb24gW0lkXSIKKworI34gbXNnaWQgImNhbiBzcGVjaWZ5IG9ubHkgb25lIGRldmljZSAoZXhjZXB0IHdpdGggLWwgb3IgLXMpIgorI34gbXNnc3RyICJ2b3VzIG5lIHBvdXZleiBpbmRpcXVlciBxdSd1biBww6lyaXBow6lyaXF1ZSAoc2F1ZiBhdmVjIC1sIG91IC1zKSIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzIHJlYWQtd3JpdGUiCisjfiBtc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgJXMgZW4gbGVjdHVyZS/DqWNyaXR1cmUiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyBmb3IgcmVhZGluZyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciAlcyBlbiBsZWN0dXJlIgorCisjfiBtc2dpZCAiJXM6IE9LIgorI34gbXNnc3RyICIlc8KgOiBPSyIKKworI34gbXNnaWQgIiVzOiAlbGQgY3lsaW5kZXJzLCAlbGQgaGVhZHMsICVsZCBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIiVzwqA6ICVsZMKgY3lsaW5kcmVzLCAlbGTCoHTDqnRlcywgJWxkwqBzZWN0ZXVycy9waXN0ZVxuIgorCisjfiBtc2dpZCAiYmFkIGFjdGl2ZSBieXRlOiAweCV4IGluc3RlYWQgb2YgMHg4MCIKKyN+IG1zZ3N0ciAib2N0ZXQgYWN0aWYgZXJyb27DqcKgOiAweCV4IGF1IGxpZXUgZGUgMHg4MCIKKworI34gbXNnaWQgIkRvbmUiCisjfiBtc2dzdHIgIlRlcm1pbsOpIgorCisjfiBtc2dpZCAiIgorI34gIllvdSBoYXZlICVkIGFjdGl2ZSBwcmltYXJ5IHBhcnRpdGlvbnMuIFRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLFxuIgorI34gImJ1dCB0aGUgRE9TIE1CUiB3aWxsIG9ubHkgYm9vdCBhIGRpc2sgd2l0aCAxIGFjdGl2ZSBwYXJ0aXRpb24uIgorI34gbXNnc3RyICIiCisjfiAiVm91cyBhdmV6ICVkwqBwYXJ0aXRpb25zIHByaW1haXJlcyBhY3RpdmVzLiBDZWxhIG4nYSBhdWN1biBlZmZldCBwb3VyIExJTE8sXG4iCisjfiAibWFpcyBlbiBhIHVuIHBvdXIgRE9TIE1CUiBxdWkgbmUgcG91cnJhIGFtb3JjZXIgdW4gZGlzcXVlIHF1J2F2ZWMgdW5lIHNldWxlIHBhcnRpdGlvbiBhY3RpdmUuIgorCisjfiBtc2dpZCAicGFydGl0aW9uICVzIGhhcyBpZCAleCBhbmQgaXMgbm90IGhpZGRlbiIKKyN+IG1zZ3N0ciAibGEgcGFydGl0aW9uwqAlcyBhIHVuIGlkZW50aWZpYW50wqAleCBldCBuJ2VzdCBwYXMgbWFzcXXDqWUiCisKKyN+IG1zZ2lkICJCYWQgSWQgJWx4IgorI34gbXNnc3RyICJJZGVudGlmaWFudCAlbHggZXJyb27DqSIKKworI34gbXNnaWQgIlRoaXMgZGlzayBpcyBjdXJyZW50bHkgaW4gdXNlLiIKKyN+IG1zZ3N0ciAiTGUgZGlzcXVlIGVzdCBhY3R1ZWxsZW1lbnQgZW4gY291cnMgZOKAmXV0aWxpc2F0aW9uLiIKKworI34gbXNnaWQgIkZhdGFsIGVycm9yOiBjYW5ub3QgZmluZCAlcyIKKyN+IG1zZ3N0ciAiRXJyZXVyIGZhdGFsZcKgOiBpbXBvc3NpYmxlIGRlIHRyb3V2ZXIgJXMiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIkF2ZXJ0aXNzZW1lbnTCoDogJXMgbidlc3QgcGFzIHVuIHDDqXJpcGjDqXJpcXVlIGJsb2MiCisKKyN+IG1zZ2lkICJPSyIKKyN+IG1zZ3N0ciAiT0siCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3QgZXhpc3QsIGNhbm5vdCBjaGFuZ2UgaXQiCisjfiBtc2dzdHIgIkxhIHBhcnRpdGlvbsKgJWQgbidleGlzdGUgcGFzLCBpbXBvc3NpYmxlIGRlIGxhIG1vZGlmaWVyIgorCisjfiBtc2dpZCAiIgorI34gIkkgZG9uJ3QgbGlrZSB0aGVzZSBwYXJ0aXRpb25zIC0gbm90aGluZyBjaGFuZ2VkLlxuIgorI34gIihJZiB5b3UgcmVhbGx5IHdhbnQgdGhpcywgdXNlIHRoZSAtLWZvcmNlIG9wdGlvbi4pIgorI34gbXNnc3RyICIiCisjfiAiQ2VzIHBhcnRpdGlvbnMgc29udCBkaXNjdXRhYmxlcyDigJQgcmllbiBuJ2EgY2hhbmfDqVxuIgorI34gIih1dGlsaXNleiBsJ29wdGlvbiAtLWZvcmNlIHBvdXIgaW1wb3NlciBsZXMgbW9kaWZpY2F0aW9ucykuIgorCisjfiBtc2dpZCAiSSBkb24ndCBsaWtlIHRoaXMgLSBwcm9iYWJseSB5b3Ugc2hvdWxkIGFuc3dlciBObyIKKyN+IG1zZ3N0ciAiQ2V0dGUgc2l0dWF0aW9uIG4nZXN0IHBhcyByZWNvbW1hbmRhYmxlIOKAlCB2b3VzIGRldnJpZXogcHJvYmFibGVtZW50IHLDqXBvbmRyZSBOb24iCisKKyN+IG1zZ2lkICJBcmUgeW91IHNhdGlzZmllZCB3aXRoIHRoaXM/IFt5bnFdICIKKyN+IG1zZ3N0ciAiw4p0ZXMtdm91cyBzYXRpc2ZhaXQgYXZlYyBjZWxhwqA/IFtvbnFdICIKKworI34gbXNnaWQgIlF1aXR0aW5nIC0gbm90aGluZyBjaGFuZ2VkIgorI34gbXNnc3RyICJBYmFuZG9uIOKAlCByaWVuIG4nYSBjaGFuZ8OpIgorCisjfiBtc2dpZCAiUGxlYXNlIGFuc3dlciBvbmUgb2YgeSxuLHFcbiIKKyN+IG1zZ3N0ciAiVmV1aWxsZXogcsOpcG9uZHJlIMKrwqBvwqDCuywgwqvCoG7CoMK7IG91IMKrwqBxwqDCu1xuIgorCisjfiBtc2dpZCAiIgorI34gIlN1Y2Nlc3NmdWxseSB3cm90ZSB0aGUgbmV3IHBhcnRpdGlvbiB0YWJsZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiw4ljcml0dXJlIGRlIGxhIG5vdXZlbGxlIHRhYmxlIGRlIHBhcnRpdGlvbnMgcsOpdXNzaWVcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJJZiB5b3UgY3JlYXRlZCBvciBjaGFuZ2VkIGEgRE9TIHBhcnRpdGlvbiwgL2Rldi9mb283LCBzYXksIHRoZW4gdXNlIGRkKDEpXG4iCisjfiAidG8gemVybyB0aGUgZmlyc3QgNTEyIGJ5dGVzOiAgZGQgaWY9L2Rldi96ZXJvIG9mPS9kZXYvZm9vNyBicz01MTIgY291bnQ9MVxuIgorI34gIihTZWUgZmRpc2soOCkuKSIKKyN+IG1zZ3N0ciAiIgorI34gIlNpIHZvdXMgY3LDqWV6IG91IG1vZGlmaWV6IHVuZSBwYXJ0aXRpb24gRE9TLCAvZGV2L2ZvbzcgcGFyIGV4ZW1wbGUsXG4iCisjfiAiYWxvcnMgdXRpbGlzZXogZGQoMSkgcG91ciBtZXR0cmUgw6AgesOpcm8gbGVzIDUxMiBwcmVtaWVycyBvY3RldHPCoDpcbiIKKyN+ICJkZCBpZj0vZGV2L3plcm8gb2Y9L2Rldi9mb283IGJzPTUxMiBjb3VudD0xXG4iCisjfiAiKGNvbnN1bHRleiBmZGlzayg4KSkuIgorCisjfiBtc2dpZCAiSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnkgRE9TIDYueCBwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBmZGlzayBkb2N1bWVudGF0aW9uIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLiIKKyN+IG1zZ3N0ciAiU2kgdm91cyBhdmV6IGNyw6nDqSBvdSBtb2RpZmnDqSB1bmUgcGFydGl0aW9uIERPU8KgNi54LCB2ZXVpbGxleiBjb25zdWx0ZXIgbGEgZG9jdW1lbnRhdGlvbiBkZSBmZGlzayBwb3VyIGRlIHBsdXMgYW1wbGVzIHJlbnNlaWduZW1lbnRzLiIKKworI34gbXNnaWQgImZpZWxkIGlzIHRvbyBsb25nIgorI34gbXNnc3RyICJsZSBjaGFtcCBlc3QgdHJvcCBsb25nIgorCisjfiBtc2dpZCAiJXM6ICclYycgaXMgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIiVzwqA6IMKrwqAlY8Kgwrsgbidlc3QgcGFzIHBlcm1pcyIKKworI34gbXNnaWQgIiclYycgaXMgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIsKrwqAlY8Kgwrsgbidlc3QgcGFzIHBlcm1pcyIKKworI34gbXNnaWQgIiVzOiBjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICIlc8KgOiBsZXMgY2FyYWN0w6hyZXMgZGUgY29udHLDtGxlIG5lIHNvbnQgcGFyIHBlcm1pcyIKKworI34gbXNnaWQgImNvbnRyb2wgY2hhcmFjdGVycyBhcmUgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgImxlcyBjYXJhY3TDqHJlcyBkZSBjb250csO0bGUgbmUgc29udCBwYXMgcGVybWlzIgorCisjfiBtc2dpZCAiIC1tLCAtLXN1cHAtZ3JvdXBzICAgICAgICBkaXNwbGF5IHN1cHBsZW1lbnRhcnkgZ3JvdXBzIGFzIHdlbGxcbiIKKyN+IG1zZ3N0ciAiIC1tLCAtLXN1cHAtZ3JvdXBzICAgICAgICBhZmZpY2hlciBhdXNzaSBsZXMgZ3JvdXBlcyBzdXBwbMOpbWVudGFpcmVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgZGV0YWlscyBzZWUgbHNsb2dpbnMoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDb25zdWx0ZXogbHNsb2dpbnMoMSkgcG91ciBvYnRlbmlyIGRlcyBwcsOpY2lzaW9ucyBjb21wbMOpbWVudGFpcmVzLlxuIgorCisjfiBtc2dpZCAiY3J5cHQoKSBmYWlsZWQiCisjfiBtc2dzdHIgIsOpY2hlYyBkZSBjcnlwdCgpIgorCisjfiBtc2dpZCAiJXMgKGNvcmUgZHVtcGVkKVxuIgorI34gbXNnc3RyICIlcyAoY29yZSBkdW1wKVxuIgorCisjfiBtc2dpZCAiJXM6IHN0YXQgZmFpbGVkIgorI34gbXNnc3RyICIlc8KgOiDDqWNoZWMgZCdvYnRlbnRpb24gZCfDqXRhdCIKKworI34gbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFRoaXMgc21hbGwgdXNhZ2UgZ3VpZGVcbiIKKyN+IG1zZ3N0ciAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgYWZmaWNoZXIgbCdhaWRlIG3DqW1vaXJlXG4iCisKKyN+IG1zZ2lkICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBPdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvblxuIgorI34gbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBhZmZpY2hlciBsZXMgaW5mb3JtYXRpb25zIGRlIHZlcnNpb25cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICB1c2UgYWx0ZXJuYXRpdmUgZGljdGlvbmFyeVxuIgorI34gIiAtZCwgLS1hbHBoYW51bSAgICAgICAgIGNvbXBhcmUgb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorI34gIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgIGlnbm9yZSBjYXNlIGRpZmZlcmVuY2VzIHdoZW4gY29tcGFyaW5nXG4iCisjfiAiIC10LCAtLXRlcm1pbmF0ZSA8Y2hhcj4gZGVmaW5lIHN0cmluZyB0ZXJtaW5hdGlvbiBjaGFyYWN0ZXJcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICB1dGlsaXNlciBsZSBkaWN0aW9ubmFpcmUgYWx0ZXJuYXRpZlxuIgorI34gIiAtZCwgLS1hbHBoYW51bSAgICAgICAgIGNvbXBhcmVyIHNldWxlbWVudCBsZXMgY2FyYWN0w6hyZXMgYWxwaGFudW3DqXJpcXVlc1xuIgorI34gIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgIGlnbm9yZXIgbGEgY2Fzc2UgbG9ycyBkZSBsYSBjb21wYXJhaXNvblxuIgorI34gIiAtdCwgLS10ZXJtaW5hdGUgPGNhcj4gIGTDqWZpbmlyIGxlIGNhcmFjdMOocmUgZGUgZmluIGRlIGNoYcOubmVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBhZmZpY2hlciBsZXMgaW5mb3JtYXRpb25zIGRlIHZlcnNpb24gZXQgcXVpdHRlclxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGFmZmljaGVyIGNldHRlIGFpZGUgZXQgcXVpdHRlclxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBuYW1laSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkNvbnN1bHRleiBuYW1laSgxKSBwb3VyIG9idGVuaXIgZGVzIHJlbnNlaWduZW1lbnRzIGNvbXBsw6ltZW50YWlyZXMuXG4iCisKKyN+IG1zZ2lkICIlczogbHN0YXQgZmFpbGVkIgorI34gbXNnc3RyICIlc8KgOiDDqWNoZWMgZCdvYnRlbnRpb24gZCfDqXRhdCAobHN0YXQpIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB3aXBlZnMoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDb25zdWx0ZXogd2lwZWZzKDgpIHBvdXIgb2J0ZW5pciBkZXMgcmVuc2VpZ25lbWVudHMgY29tcGzDqW1lbnRhaXJlcy5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgdGFza3NldCgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkNvbnN1bHRleiB0YXNrc2V0KDEpIHBvdXIgb2J0ZW5pciBkZXMgcmVuc2VpZ25lbWVudHMgY29tcGzDqW1lbnRhaXJlcy5cbiIKKworI34gbXNnaWQgIiVzOiBpcyByZW1vdmFibGUgZGV2aWNlIgorI34gbXNnc3RyICIlc8KgOiBlc3QgdW4gcMOpcmlwaMOpcmlxdWUgYW1vdmlibGUiCisKKyN+IG1zZ2lkICIlczogY29ubmVjdGVkIGJ5IGhvdHBsdWcgc3Vic3lzdGVtOiAlcyIKKyN+IG1zZ3N0ciAiJXPCoDogY29ubmVjdMOpIHBhciBsZSBzb3VzLXN5c3TDqG1lIGRlIGJyYW5jaGVtZW50IMOgIGNoYXVkwqA6ICVzIgorCisjfiBtc2dpZCAidGltZW91dCBjYW5ub3QgYmUgemVybyIKKyN+IG1zZ3N0ciAibGUgdGVtcHMgbWF4aW1hbCBuZSBwZXV0IHBhcyDDqnRyZSBudWwiCisKKyN+IG1zZ2lkICJOZWVkIHRvIGluc2VydCAlZCBzZWNvbmQgYW5kIHJlZmVyIHRpbWUgYmFjayAlLjZmIHNlY29uZHMgYWdvXG4iCisjfiBtc2dpZF9wbHVyYWwgIk5lZWQgdG8gaW5zZXJ0ICVkIHNlY29uZHMgYW5kIHJlZmVyIHRpbWUgYmFjayAlLjZmIHNlY29uZHMgYWdvXG4iCisjfiBtc2dzdHJbMF0gIkJlc29pbiBkJ2luc8OpcmVywqAlZCBzZWNvbmRlIGV0IGRlIGZhaXJlIHVuZSByw6lmw6lyZW5jZSBhcnJpw6hyZSBkYW5zIGxlIHRlbXBzIGRlICUuNmbCoHNlY29uZGVzXG4iCisjfiBtc2dzdHJbMV0gIkJlc29pbiBkJ2luc8OpcmVywqAlZCBzZWNvbmRlcyBldCBkZSBmYWlyZSB1bmUgcsOpZsOpcmVuY2UgYXJyacOocmUgZGFucyBsZSB0ZW1wcyBkZSAlLjZmwqBzZWNvbmRlc1xuIgorCisjfiBtc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gS0RHSFdDTEsgdG8gY2hhbmdlXG4iCisjfiBtc2dzdHIgIkF0dGVudGUgZGFucyBsYSBib3VjbGUgZCdvYnRlbnRpb24gZCd1biBjaGFuZ2VtZW50IGRlcHVpcyBLREdIV0NMS1xuIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgdG8gcmVhZCB0aW1lIGZhaWxlZCIKKyN+IG1zZ3N0ciAiw4ljaGVjIGQnaW9jdGwgS0RHSFdDTEsgcG91ciBsYSBsZWN0dXJlIGRlIGwnaGV1cmUiCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCB0byByZWFkIHRpbWUgZmFpbGVkIGluIGxvb3AiCisjfiBtc2dzdHIgIkwnaW9jdGwgS0RHSFdDTEsgcG91ciBsYSBsZWN0dXJlIGRlIGwnaGV1cmUgYSDDqWNob3XDqSBkYW5zIHVuZSBib3VjbGUiCisKKyN+IG1zZ2lkICJpb2N0bCgpIGZhaWxlZCB0byByZWFkIHRpbWUgZnJvbSAlcyIKKyN+IG1zZ3N0ciAiw4ljaGVjIGQnaW9jdGwoKSBsb3JzIGRlIGxhIGxlY3R1cmUgZGUgbCdoZXVyZSBkZXB1aXMgJXMiCisKKyN+IG1zZ2lkICJpb2N0bCBLRFNIV0NMSyBmYWlsZWQiCisjfiBtc2dzdHIgIsOJY2hlYyBkJ2lvY3RsIEtEU0hXQ0xLIgorCisjfiBtc2dpZCAiVXNpbmcgdGhlIEtER0hXQ0xLIGludGVyZmFjZSB0byBtNjhrIGNsb2NrLiIKKyN+IG1zZ3N0ciAiVXRpbGlzYXRpb24gZGUgbOKAmWludGVyZmFjZSBLREdIV0NMSyBwb3VyIGzigJlob3Jsb2dlIG02OGsuIgorCisjfiBtc2dpZCAiQ2FuJ3Qgb3BlbiAvZGV2L3R0eTEgb3IgL2Rldi92Yy8xIgorI34gbXNnc3RyICJJbXBvc3NpYmxlIGQnb3V2cmlyIC9kZXYvdHR5MSBvdSAvZGV2L3ZjLzEiCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgIsOJY2hlYyBkJ2lvY3RsIEtER0hXQ0xLIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGRldGFpbHMgc2VlIGxzY3B1KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQ29uc3VsdGV6IGxzY3B1KDEpIHBvdXIgb2J0ZW5pciBkZXMgcHLDqWNpc2lvbnMgY29tcGzDqW1lbnRhaXJlcy5cbiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFthcmdzLi4uXVxuIgorI34gbXNnc3RyICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtbWU+IFthcmcgLi4uXVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIGdyb3VwIElEXG4iCisjfiAiIC1uLCAtLXByaW9yaXR5IDxudW0+ICAgc3BlY2lmeSB0aGUgbmljZSBpbmNyZW1lbnQgdmFsdWVcbiIKKyN+ICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBJRCAoZGVmYXVsdClcbiIKKyN+ICIgLXUsIC0tdXNlciA8bmFtZXxpZD4gICBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWcsIC0tcGdycCA8UEdJRD4gICAgICAgICAgaW50ZXJwcsOpdGVyIGwnYXJndW1lbnQgY29tbWUgdW4gaWRlbnRpZmlhbnQgZGVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cGUgZGUgcHJvY2Vzc3VzXG4iCisjfiAiIC1uLCAtLXByaW9yaXR5IDxwcmlvcml0w6k+ICBpbmRpcXVlciBsYSB2YWxldXIgZCdpbmNyw6ltZW50IG5pY2VcbiIKKyN+ICIgLXAsIC0tcGlkIDxQSUQ+ICAgICAgICAgICAgaW50ZXJwcsOpdGVyIGwnYXJndW1lbnQgY29tbWUgdW4gaWRlbnRpZmlhbnQgZGVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzdXMgKHBhciBkw6lmYXV0KVxuIgorI34gIiAtdSwgLS11c2VyIDx1dGlsaXNhdGV1cj4gICBpbnRlcnByw6l0ZXIgbCdhcmd1bWVudCBjb21tZSB1biBub20gb3UgdW5cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZGVudGlmaWFudCB1dGlsaXNhdGV1clxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICBhZmZpY2hlciBsJ2FpZGUgZXQgcXVpdHRlclxuIgorI34gIiAtdiwgLS12ZXJzaW9uICAgICAgICAgICAgICBhZmZpY2hlciBsYSB2ZXJzaW9uIGV0IHF1aXR0ZXJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcmVuaWNlKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQ29uc3VsdGV6IHJlbmljZSgxKSBwb3VyIG9idGVuaXIgZGVzIHJlbnNlaWduZW1lbnRzIGNvbXBsw6ltZW50YWlyZXMuXG4iCisKKyN+IG1zZ2lkICIgJXMlcyBbb3B0aW9uc10gW3Byb2dyYW0gW3Byb2dyYW0gYXJndW1lbnRzXV1cbiIKKyN+IG1zZ3N0ciAiICVzJXMgW29wdGlvbnNdIFtwcm9ncmFtbWUgW2FyZ3VtZW50cyBkdSBwcm9ncmFtbWVdXVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgZW5hYmxlIGFsbCBzd2FwcyBmcm9tIC9ldGMvZnN0YWJcbiIKKyN+ICIgLWQsIC0tZGlzY2FyZFs9PHBvbGljeT5dIGVuYWJsZSBzd2FwIGRpc2NhcmRzLCBpZiBzdXBwb3J0ZWQgYnkgZGV2aWNlXG4iCisjfiAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBzaWxlbnRseSBza2lwIGRldmljZXMgdGhhdCBkbyBub3QgZXhpc3RcbiIKKyN+ICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHJlaW5pdGlhbGl6ZSB0aGUgc3dhcCBzcGFjZSBpZiBuZWNlc3NhcnlcbiIKKyN+ICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorI34gIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgZGlzcGxheSBzdW1tYXJ5IGFib3V0IHVzZWQgc3dhcCBkZXZpY2VzIChERVBSRUNBVEVEKVxuIgorI34gIiAgICAgLS1zaG93Wz08Y29sdW1ucz5dICAgZGlzcGxheSBzdW1tYXJ5IGluIGRlZmluYWJsZSB0YWJsZVxuIgorI34gIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MsIHVzZSB3aXRoIC0tc2hvd1xuIgorI34gIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCwgdXNlIHdpdGggLS1zaG93XG4iCisjfiAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgc2l6ZSBpbiBieXRlcyBpbiAtLXNob3cgb3V0cHV0XG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgYWN0aXZlciB0b3VzIGxlcyBlc3BhY2VzIGQnw6ljaGFuZ2UgZGUgL2V0Yy9mc3RhYlxuIgorI34gIiAtZCwgLS1kaXNjYXJkWz08c3RyYXQuPl0gYWN0aXZlciBsZXMgYWJhbmRvbnMgZOKAmWVzcGFjZSBk4oCZw6ljaGFuZ2Ugc2kgcG9zc2libGVcbiIKKyN+ICIgLWQsIC0tZGlzY2FyZCAgICAgICAgICAgIGFiYW5kb25uZXIgbGVzIHBhZ2VzIGxpYsOpcsOpZXMgYXZhbnQgZGUgbGVzIHLDqXV0aWxpc2VyXG4iCisjfiAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBwYXNzZXIgc2lsZW5jaWV1c2VtZW50IGxlcyBww6lyaXBoLiBxdWkgbidleGlzdGVudCBwYXNcbiIKKyN+ICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHLDqWluaXRpYWxpc2VyIGwnZXNwYWNlIGQnw6ljaGFuZ2Ugc2kgbsOpY2Vzc2FpcmVcbiIKKyN+ICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIGluZGlxdWVyIGxhIHByaW9yaXTDqSBkdSBww6lyaXBow6lyaXF1ZSBkJ8OpY2hhbmdlXG4iCisjfiAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBhZmZpY2hlciByw6lzdW3DqSBkZXMgcMOpcmlwaMOpcmlxdWVzIGQnw6ljaGFuZ2UgdXRpbGlzw6lzXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvYnNvbMOodGUpXG4iCisjfiAiICAgICAtLXNob3dbPTxjb2wuPl0gICAgICBhZmZpY2hlciB1biByw6lzdW3DqSBkYW5zIHVuIHRhYmxlYXUgZMOpZmluaXNzYWJsZVxuIgorI34gIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgbmUgcGFzIGFmZmljaGVyIGxlcyBlbi10w6p0ZXMsIMOgIHV0aWxpc2VyIGF2ZWMgLS1zaG93XG4iCisjfiAiICAgICAtLXJhdyAgICAgICAgICAgICAgICB1dGlsaXNlciBmb3JtYXQgZGUgc29ydGllIGJydXQsIHV0aWxpc2VyIGF2ZWMgLS1zaG93XG4iCisjfiAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICB0YWlsbGUgZCdlc3BhY2UgZCfDqWNoYW5nZSBlbiBvY3RldCBhdmVjIC0tc2hvd1xuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgbW9kZSBiYXZhcmRcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBhZmZpY2hlciBsZXMgaW5mb3JtYXRpb25zIGRlIHZlcnNpb24gZXQgcXVpdHRlclxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGFmZmljaGVyIGNldHRlIGFpZGUgZXQgcXVpdHRlclxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVXRpbGlzYXRpb27CoDpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWNoaWVyIC4uLl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgIHN1cHByZXNzIGFsbCB1bmRlcmxpbmluZ1xuIgorI34gIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgcHJpbnQgYWxsIGhhbGYtbGluZXNcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC0sICAtLW5vLXVuZGVybGluaW5nICBzdXBwcmltZXIgdG91cyBsZXMgc291bGlnbmVtZW50c1xuIgorI34gIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgYWZmaWNoZXIgdG91dGVzIGxlcyBkZW1pLWxpZ25lc1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgYWZmaWNoZXIgbGVzIGluZm9ybWF0aW9ucyBkZSB2ZXJzaW9uIGV0IHF1aXR0ZXJcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgIGFmZmljaGVyIGNldHRlIGFpZGUgZXQgcXVpdHRlclxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk9wdGlvbnPCoDpcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBhZmZpY2hlciBsZXMgaW5mb3JtYXRpb25zIGRlIHZlcnNpb24gZXQgcXVpdHRlclxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGFmZmljaGVyIGNldHRlIGFpZGUgZXQgcXVpdHRlclxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiY2FsbGluZyBoZXhkdW1wIGFzIG9kIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgR05VIGNvcmV1dGlscyBvZCIKKyN+IG1zZ3N0ciAiYXBwZWxlciBoZXhkdW1wIGVuIHRhbnQgcXUnb2QgZXN0IG9ic29sw6h0ZS4gVmV1aWxsZXogdXRpbGlzZXIgb2QgZGUgR05VIENvcmV1dGlscy4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiT3B0aW9uc8KgOlxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIGFmZmljaGVyIGxlcyBpbmZvcm1hdGlvbnMgZGUgdmVyc2lvbiBldCBxdWl0dGVyXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgYWZmaWNoZXIgY2V0dGUgYWlkZSBldCBxdWl0dGVyXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHJldigxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkNvbnN1bHRleiByZXYoMSkgcG91ciBvYnRlbmlyIGRlcyByZW5zZWlnbmVtZW50cyBjb21wbMOpbWVudGFpcmVzLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uXSBmaWxlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJVdGlsaXNhdGlvbsKgOlxuIgorI34gIiAlcyBbb3B0aW9uXSBbZmljaGllciAuLi5dXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLW4sIC0tbGluZXMgTlVNQkVSICBvdXRwdXQgdGhlIGxhc3QgTlVNQkVSIGxpbmVzXG4iCisjfiAiIC1OVU1CRVIgICAgICAgICAgICAgc2FtZSBhcyBgLW4gTlVNQkVSJ1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk9wdGlvbnPCoDpcbiIKKyN+ICIgLW4sIC0tbGluZXMgTk9NQlJFICBhZmZpY2hlciBsZXMgTk9NQlJFIGRlcm5pw6hyZXMgbGlnbmVzXG4iCisjfiAiIC1OT01CUkUgICAgICAgICAgICAgaWRlbnRpcXVlIMOgIMKrwqAtbiBOT01CUkXCoMK7XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgYWZmaWNoZXIgbGVzIGluZm9ybWF0aW9ucyBkZSB2ZXJzaW9uIGV0IHF1aXR0ZXJcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICBhZmZpY2hlciBjZXR0ZSBhaWRlIGV0IHF1aXR0ZXJcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZmlsZVxuIgorI34gbXNnc3RyICIgJXMgW29wdGlvbnNdIGZpY2hpZXJcbiIKKworI34gbXNnaWQgImFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgorI34gbXNnc3RyICJzJ2V4Y2x1ZW50IG11dHVlbGxlbWVudC4iCisKKyN+IG1zZ2lkICJjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcy4iCisjfiBtc2dzdHIgIlNldWxlcyBsZXMgZW50csOpZXMgbG9jYWxlcyBzb250IG1vZGlmaWFibGVzLiIKKworI34gbXNnaWQgIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lIHN0YW1wIHVzaW5nIGZvcm1hdDpcbiIKKyN+IG1zZ3N0ciAiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBhZmZpY2hlciBs4oCZaG9yb2RhdGFnZSBhdSBmb3JtYXTCoDpcbiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm90aW1lfHNob3J0fGZ1bGx8aXNvXVxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vdGltZXxzaG9ydHxmdWxsfGlzb11cbiIKKworI34gbXNnaWQgIkNPTU1BTkQgbm90IHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIjxjb21tYW5kZT4gbm9uIGluZGlxdcOpZS4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIHBhdGhuYW1lIFtwYXRobmFtZSAuLi5dXG4iCisjfiBtc2dzdHIgIiAlcyBbb3B0aW9uc10gY2hlbWluIFtjaGVtaW4gLi4uXVxuIgorCisjfiBtc2dpZCAibm8gZmlsZW5hbWUgc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAiQXVjdW4gbm9tIGRlIGZpY2hpZXIgaW5kaXF1w6kuIgorCisjfiBtc2dpZCAiLi4uYmFjayAxIHBhZ2UiCisjfiBtc2dzdHIgIuKApiByZWN1bMOpIGQndW5lIHBhZ2UiCisKKyN+IG1zZ2lkICIuLi5za2lwcGluZyBvbmUgbGluZSIKKyN+IG1zZ3N0ciAi4oCmIGVzY2Ftb3RhZ2UgZCd1bmUgbGlnbmUiCisKKyMgTk9URTogcy93YWlkL3dhaXQvCisjfiBtc2dpZCAid2FpZHBpZCBmYWlsZWQiCisjfiBtc2dzdHIgIsOpY2hlYyBkZSBsYSBmb25jdGlvbiDCq8Kgd2FpdHBpZMKgwrsiCisKKyN+IG1zZ2lkICIgLXgsIC0tZGVzdGluYXRpb24gPGRpcj4gIGV4dHJhY3QgaW50byBkaXJlY3RvcnlcbiIKKyN+IG1zZ3N0ciAiIC14LCAtLWRlc3RpbmF0aW9uIDxyw6lwPiAgZXh0cmFpcmUgZGFucyBsZSByw6lwZXJ0b2lyZVxuIgorCisjfiBtc2dpZCAiY29tcGlsZWQgd2l0aG91dCAteCBzdXBwb3J0IgorI34gbXNnc3RyICJjb21waWzDqSBzYW5zIHByaXNlIGVuIGNoYXJnZSBkZSAteCIKKworI34gbXNnaWQgIiVzOiBPdXQgb2YgbWVtb3J5IVxuIgorI34gbXNnc3RyICIlc8KgOiBtw6ltb2lyZSDDqXB1aXPDqWUuXG4iCisKKyN+IG1zZ2lkICJVbnVzYWJsZSIKKyN+IG1zZ3N0ciAiSW51dGlsaXNhYmxlIgorCisjfiBtc2dpZCAid3JpdGUgZmFpbGVkXG4iCisjfiBtc2dzdHIgIsOpY2hlYyBkJ8OpY3JpdHVyZVxuIgorCisjfiBtc2dpZCAiRGlzayBoYXMgYmVlbiBjaGFuZ2VkLlxuIgorI34gbXNnc3RyICJMZSBkaXNxdWUgYSDDqXTDqSBtb2RpZmnDqS5cbiIKKworI34gbXNnaWQgIlJlYm9vdCB0aGUgc3lzdGVtIHRvIGVuc3VyZSB0aGUgcGFydGl0aW9uIHRhYmxlIGlzIGNvcnJlY3RseSB1cGRhdGVkLlxuIgorI34gbXNnc3RyICJSZWTDqW1hcnJleiBsZSBzeXN0w6htZSBwb3VyIHZvdXMgYXNzdXJlciBkZSBsYSBtaXNlIMOgIGpvdXIgY29ycmVjdGUgZGUgbGEgdGFibGUgZGUgcGFydGl0aW9ucy5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueVxuIgorI34gIkRPUyA2LnggcGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgY2ZkaXNrIG1hbnVhbFxuIgorI34gInBhZ2UgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJBdHRlbnRpb27CoDogc2kgdm91cyBhdmV6IGNyw6nDqSBvdSBtb2RpZmnDqSB1bmVcbiIKKyN+ICJwYXJ0aXRpb24gRE9TwqA2LngsIHZldWlsbGV6IGNvbnN1bHRlciBsZXMgcGFnZXMgZHVcbiIKKyN+ICJtYW51ZWwgZGUgY2ZkaXNrIHBvdXIgZGUgcGx1cyBhbXBsZXMgcmVuc2VpZ25lbWVudHMuXG4iCisKKyN+IG1zZ2lkICJGQVRBTCBFUlJPUiIKKyN+IG1zZ3N0ciAiRXJyZXVyIGZhdGFsZSIKKworI34gbXNnaWQgIlByZXNzIGFueSBrZXkgdG8gZXhpdCBjZmRpc2siCisjfiBtc2dzdHIgIkFwcHV5ZXogc3VyIG4naW1wb3J0ZSBxdWVsbGUgdG91Y2hlIHBvdXIgcXVpdHRlciBjZmRpc2siCisKKyN+IG1zZ2lkICJDYW5ub3Qgc2VlayBvbiBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJJbXBvc3NpYmxlIGRlIHNlIHBvc2l0aW9ubmVyIHN1ciBsZSBkaXNxdWUiCisKKyN+IG1zZ2lkICJDYW5ub3QgcmVhZCBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJJbXBvc3NpYmxlIGRlIGxpcmUgbGUgZGlzcXVlIgorCisjfiBtc2dpZCAiQ2Fubm90IHdyaXRlIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIkltcG9zc2libGUgZCfDqWNyaXJlIHN1ciBsZSBkaXNxdWUiCisKKyN+IG1zZ2lkICJUb28gbWFueSBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJUcm9wIGRlIHBhcnRpdGlvbnMiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gYmVnaW5zIGJlZm9yZSBzZWN0b3IgMCIKKyN+IG1zZ3N0ciAiTGEgcGFydGl0aW9uIGNvbW1lbmNlIGF2YW50IGxlIHNlY3RldXLCoDAiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIkxhIHBhcnRpdGlvbiBzZSB0ZXJtaW5lIGF2YW50IGxlIHNlY3RldXLCoDAiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gYmVnaW5zIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICJMYSBwYXJ0aXRpb24gY29tbWVuY2UgYXByw6hzIGxhIGZpbiBkdSBkaXNxdWUiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBhZnRlciBlbmQtb2YtZGlzayIKKyN+IG1zZ3N0ciAiTGEgcGFydGl0aW9uIHNlIHRlcm1pbmUgYXByw6hzIGxhIGZpbiBkdSBkaXNxdWUiCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgbm90IGluIGRpc2sgb3JkZXIiCisjfiBtc2dzdHIgInBhcnRpdGlvbnMgbG9naXF1ZXMgbm9uIG9yZG9ubsOpZXMgc3VpdmFudCBsZSBkaXNxdWUiCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAiY2hldmF1Y2hlbWVudCBkZSBwYXJ0aXRpb25zIGxvZ2lxdWVzIgorCisjfiBtc2dpZCAiZW5sYXJnZWQgbG9naWNhbCBwYXJ0aXRpb25zIG92ZXJsYXAiCisjfiBtc2dzdHIgImNoZXZhdWNoZW1lbnQgZGVzIHBhcnRpdGlvbnMgbG9naXF1ZXMgYWdyYW5kaWVzIgorCisjfiBtc2dpZCAiISEhISBJbnRlcm5hbCBlcnJvciBjcmVhdGluZyBsb2dpY2FsIGRyaXZlIHdpdGggbm8gZXh0ZW5kZWQgcGFydGl0aW9uICEhISEiCisjfiBtc2dzdHIgIkVycmV1ciBpbnRlcm5lIGVuIGNyw6lhbnQgdW4gZGlzcXVlIGxvZ2lxdWUgc2FucyBwYXJ0aXRpb24gw6l0ZW5kdWUuIgorCisjfiBtc2dpZCAiQ2Fubm90IGNyZWF0ZSBsb2dpY2FsIGRyaXZlIGhlcmUgLS0gd291bGQgY3JlYXRlIHR3byBleHRlbmRlZCBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJJbXBvc3NpYmxlIGRlIGNyw6llciB1biBkaXNxdWUgbG9naXF1ZSBpY2kg4oCUIGNlbGEgY3LDqWVyYWl0IDIgcGFydGl0aW9ucyDDqXRlbmR1ZXMiCisKKyN+IG1zZ2lkICJNZW51IGl0ZW0gdG9vIGxvbmcuIE1lbnUgbWF5IGxvb2sgb2RkLiIKKyN+IG1zZ3N0ciAiSXRlbSBkZSBtZW51IHRyb3AgbG9uZy4gTGUgbWVudSByaXNxdWUgZGUgcGFyYcOudHJlIGJpemFycmUuIgorCisjfiBtc2dpZCAiSWxsZWdhbCBrZXkiCisjfiBtc2dzdHIgIlRvdWNoZSBpbmNvcnJlY3RlIgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICJDcsOpZXIgdW5lIG5vdXZlbGxlIHBhcnRpdGlvbiBwcmltYWlyZSIKKworI34gbXNnaWQgIkNyZWF0ZSBhIG5ldyBsb2dpY2FsIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiQ3LDqWVyIHVuZSBub3V2ZWxsZSBwYXJ0aXRpb24gbG9naXF1ZSIKKworI34gbXNnaWQgIkNhbmNlbCIKKyN+IG1zZ3N0ciAiQW5udWxlciIKKworI34gbXNnaWQgIkRvbid0IGNyZWF0ZSBhIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiTmUgcGFzIGNyw6llciB1bmUgcGFydGl0aW9uIgorCisjfiBtc2dpZCAiISEhIEludGVybmFsIGVycm9yICEhISIKKyN+IG1zZ3N0ciAiRXJyZXVyIGludGVybmUuIgorCisjfiBtc2dpZCAiU2l6ZSAoaW4gTUIpOiAiCisjfiBtc2dzdHIgIlRhaWxsZSAoZW4gTW8pwqA6ICIKKworI34gbXNnaWQgIkJlZ2lubmluZyIKKyN+IG1zZ3N0ciAiRMOpYnV0IgorCisjfiBtc2dpZCAiQWRkIHBhcnRpdGlvbiBhdCBiZWdpbm5pbmcgb2YgZnJlZSBzcGFjZSIKKyN+IG1zZ3N0ciAiQWpvdXRlciB1bmUgcGFydGl0aW9uIGF1IGTDqWJ1dCBkZSBsJ2VzcGFjZSBsaWJyZSIKKworI34gbXNnaWQgIkFkZCBwYXJ0aXRpb24gYXQgZW5kIG9mIGZyZWUgc3BhY2UiCisjfiBtc2dzdHIgIkFqb3V0ZXIgdW5lIHBhcnRpdGlvbiDDoCBsYSBmaW4gZGUgbCdlc3BhY2UgbGlicmUiCisKKyN+IG1zZ2lkICJObyByb29tIHRvIGNyZWF0ZSB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICJQYXMgZCdlc3BhY2UgcG91ciBjcsOpZXIgdW5lIHBhcnRpdGlvbiDDqXRlbmR1ZSIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbiB0YWJsZS4gU3RhcnRpbmcgd2l0aCB6ZXJvIHRhYmxlLiIKKyN+IG1zZ3N0ciAiQXVjdW5lIHRhYmxlIGRlIHBhcnRpdGlvbnMuIETDqW1hcnJhZ2UgYXZlYyB1bmUgdGFibGUgdmllcmdlLiIKKworI34gbXNnaWQgIkJhZCBzaWduYXR1cmUgb24gcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJTaWduYXR1cmUgZXJyb27DqWUgZGFucyBsYSB0YWJsZSBkZSBwYXJ0aXRpb25zIgorCisjfiBtc2dpZCAiVW5rbm93biBwYXJ0aXRpb24gdGFibGUgdHlwZSIKKyN+IG1zZ3N0ciAiVHlwZSBkZSB0YWJsZSBkZSBwYXJ0aXRpb25zIGluY29ubnUiCisKKyN+IG1zZ2lkICJEbyB5b3Ugd2lzaCB0byBzdGFydCB3aXRoIGEgemVybyB0YWJsZSBbeS9OXSA/IgorI34gbXNnc3RyICJWb3VsZXotdm91cyBkw6ltYXJyZXIgYXZlYyB1bmUgdGFibGUgdmllcmdlIFt5IChwb3VyIG91aSkvTl3CoD8iCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJJbXBvc3NpYmxlIGQnb3V2cmlyIGwndW5pdMOpIGRlIGRpc3F1ZSIKKworI34gbXNnaWQgIk9wZW5lZCBkaXNrIHJlYWQtb25seSAtIHlvdSBoYXZlIG5vIHBlcm1pc3Npb24gdG8gd3JpdGUiCisjfiBtc2dzdHIgIkRpc3F1ZSBvdXZlcnQgZW4gbGVjdHVyZSBzZXVsZSDigJQgYXVjdW5lIHBlcm1pc3Npb24gZCfDqWNyaXR1cmUiCisKKyN+IG1zZ2lkICJDYW5ub3QgZ2V0IGRpc2sgc2l6ZSIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ29idGVuaXIgbGEgdGFpbGxlIGR1IGRpc3F1ZSIKKworI34gbXNnaWQgIkJhZCBwcmltYXJ5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiUGFydGl0aW9uIHByaW1haXJlIGVycm9uw6llIgorCisjfiBtc2dpZCAiV2FybmluZyEhICBUaGlzIG1heSBkZXN0cm95IGRhdGEgb24geW91ciBkaXNrISIKKyN+IG1zZ3N0ciAiQXR0ZW50aW9uLiBEZXMgZG9ubsOpZXMgZHUgZGlzcXVlIHJpc3F1ZW50IGQnw6p0cmUgZMOpdHJ1aXRlcyBzdXIgbGUgZGlzcXVlLiIKKworI34gbXNnaWQgIlBsZWFzZSBlbnRlciBgeWVzJyBvciBgbm8nIgorI34gbXNnc3RyICJWZXVpbGxleiBzYWlzaXIgwqvCoG91acKgwrsgb3UgwqvCoG5vbsKgwrsiCisKKyN+IG1zZ2lkICJXcml0aW5nIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrLi4uIgorI34gbXNnc3RyICLDiWNyaXR1cmUgZGUgbGEgdGFibGUgZGUgcGFydGl0aW9ucyBzdXIgbGUgZGlzcXVl4oCmIgorCisjfiBtc2dpZCAiV3JvdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2siCisjfiBtc2dzdHIgIlRhYmxlIGRlIHBhcnRpdGlvbnMgw6ljcml0ZSBzdXIgbGUgZGlzcXVlIgorCisjfiBtc2dpZCAiV3JvdGUgcGFydGl0aW9uIHRhYmxlLCBidXQgcmUtcmVhZCB0YWJsZSBmYWlsZWQuICBSdW4gcGFydHByb2JlKDgpLCBrcGFydHgoOCkgb3IgcmVib290IHRvIHVwZGF0ZSB0YWJsZS4iCisjfiBtc2dzdHIgIlRhYmxlIGRlIHBhcnRpdGlvbnMgw6ljcml0ZSwgbWFpcyDDqWNoZWMgZGUgbGEgcmVsZWN0dXJlLiBFeMOpY3V0ZXIgcGFydHByb2JlKDgpLCBrcGFydHgoOCkgb3UgcmVkw6ltYXJyZXIgcG91ciBtZXR0cmUgw6Agam91ciBsYSB0YWJsZS4iCisKKyN+IG1zZ2lkICJObyBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIG1hcmtlZCBib290YWJsZS4gRE9TIE1CUiBjYW5ub3QgYm9vdCB0aGlzLiIKKyN+IG1zZ3N0ciAiQXVjdW5lIHBhcnRpdGlvbiBwcmltYWlyZSBuJ2VzdCBtYXJxdcOpZSBhbW9yw6dhYmxlLiBET1MgTUJSIG5lIHBvdXJyYSBwYXMgYW1vcmNlci4iCisKKyN+IG1zZ2lkICJNb3JlIHRoYW4gb25lIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZS4gRE9TIE1CUiBjYW5ub3QgYm9vdCB0aGlzLiIKKyN+IG1zZ3N0ciAiUGx1c2lldXJzIHBhcnRpdGlvbnMgcHJpbWFpcmVzIHNvbnQgbWFycXXDqWVzIGFtb3LDp2FibGVzLiBET1MgTUJSIG5lIHBvdXJyYSBwYXMgYW1vcmNlci4iCisKKyN+IG1zZ2lkICJFbnRlciBmaWxlbmFtZSBvciBwcmVzcyBSRVRVUk4gdG8gZGlzcGxheSBvbiBzY3JlZW46ICIKKyN+IG1zZ3N0ciAiU2Fpc2lzc2V6IGxlIG5vbSBkdSBmaWNoaWVyIG91IGFwcHV5ZXIgc3VyIGxhIHRvdWNoZSBlbnRyw6llIHBvdXIgYWZmaWNoZXIgw6AgbCfDqWNyYW7CoDogIgorCisjfiBtc2dpZCAiRGlzayBEcml2ZTogJXNcbiIKKyN+IG1zZ3N0ciAiVW5pdMOpIGRlIGRpc3F1ZcKgOiAlc1xuIgorCisjfiBtc2dpZCAiU2VjdG9yIDA6XG4iCisjfiBtc2dzdHIgIlNlY3RldXLCoDDCoDpcbiIKKworI34gbXNnaWQgIlNlY3RvciAlZDpcbiIKKyN+IG1zZ3N0ciAiU2VjdGV1csKgJWTCoDpcbiIKKworI34gbXNnaWQgIiAgIE5vbmUgICAiCisjfiBtc2dzdHIgIiAgIEF1Y3VuICAiCisKKyN+IG1zZ2lkICIgICBQcmkvTG9nIgorI34gbXNnc3RyICIgICBQcmkvTG9nIgorCisjfiBtc2dpZCAiICAgUHJpbWFyeSIKKyN+IG1zZ3N0ciAiICBQcmltYWlyZSIKKworI34gbXNnaWQgIiAgIExvZ2ljYWwiCisjfiBtc2dzdHIgIiAgIExvZ2lxdWUiCisKKyN+IG1zZ2lkICIoJTAyWCkiCisjfiBtc2dzdHIgIiglMDJYKSIKKworI34gbXNnaWQgIk5vbmUiCisjfiBtc2dzdHIgIkF1Y3VuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIFRhYmxlIGZvciAlc1xuIgorI34gbXNnc3RyICJUYWJsZSBkZSBwYXJ0aXRpb25zIGRlICVzXG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICBGaXJzdCAgICAgICBMYXN0XG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgIFByZW1pZXIgIERlcm5pZXJcbiIKKworIyBmZGlzay9jZmRpc2suYzoxOTY5CisjfiBtc2dpZCAiICMgVHlwZSAgICAgICBTZWN0b3IgICAgICBTZWN0b3IgICBPZmZzZXQgICAgTGVuZ3RoICAgRmlsZXN5c3RlbSBUeXBlIChJRCkgRmxhZ1xuIgorI34gbXNnc3RyICJOwrogVHlwZSAgICAgIFNlY3RldXIgICAgIFNlY3RldXIgICBQb3NpdC4gICBMb25ndWV1ciAgVHlwZSBzeXN0LiBmaWMuIChJRCkgSW5kLlxuIgorCisjfiBtc2dpZCAiLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLVxuIgorI34gbXNnc3RyICItLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tXG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAtLS1TdGFydGluZy0tLS0gICAgICAtLS0tRW5kaW5nLS0tLS0gICAgU3RhcnQgICAgIE51bWJlciBvZlxuIgorI34gbXNnc3RyICIgICAgICAgICAtLS0tIETDqWJ1dCAtLS0tICAgICAgLS0tLS0gRmluIC0tLS0tICAgIETDqWJ1dCAgICAgTm9tYnJlIGRlXG4iCisKKyN+IG1zZ2lkICIgIyBGbGFncyBIZWFkIFNlY3QgIEN5bCAgIElEICBIZWFkIFNlY3QgIEN5bCAgICAgU2VjdG9yICAgIFNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiTsK6IEluZC4gIFTDqnRlIFNlY3QgIEN5bC4gIElEICBUw6p0ZSBTZWN0ICBDeWwuICAgU2VjdGV1ciAgICBTZWN0ZXVyc1xuIgorCisjfiBtc2dpZCAiLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tXG4iCisjfiBtc2dzdHIgIi0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLVxuIgorCisjfiBtc2dpZCAiUmF3IgorI34gbXNnc3RyICJCcnV0KGUpIgorCisjfiBtc2dpZCAiUHJpbnQgdGhlIHRhYmxlIHVzaW5nIHJhdyBkYXRhIGZvcm1hdCIKKyN+IG1zZ3N0ciAiQWZmaWNoZXIgbGUgY29udGVudSBkZSBsYSB0YWJsZSBzb3VzIGZvcm1lIGRlIGRvbm7DqWVzIGJydXRlcyIKKworI34gbXNnaWQgIlByaW50IHRoZSB0YWJsZSBvcmRlcmVkIGJ5IHNlY3RvcnMiCisjfiBtc2dzdHIgIkFmZmljaGVyIGxlIGNvbnRlbnUgZGUgbGEgdGFibGUgb3Jkb25uw6kgcGFyIHNlY3RldXJzIgorCisjfiBtc2dpZCAiVGFibGUiCisjfiBtc2dzdHIgIlRhYmxlIgorCisjfiBtc2dpZCAiSnVzdCBwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJBZmZpY2hlciBqdXN0ZSBsYSB0YWJsZSBkZSBwYXJ0aXRpb25zIgorCisjfiBtc2dpZCAiRG9uJ3QgcHJpbnQgdGhlIHRhYmxlIgorI34gbXNnc3RyICJOZSBwYXMgYWZmaWNoZXIgbGEgdGFibGUiCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMTk5OSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIiCisjfiBtc2dzdHIgIkNvcHlyaWdodCAoQykgMTk5NC0xOTk5IEtldmluIEUuIE1hcnRpbiAmIGFlYiIKKworI34gbXNnaWQgIiAgZyAgICAgICAgICBDaGFuZ2UgY3lsaW5kZXJzLCBoZWFkcywgc2VjdG9ycy1wZXItdHJhY2sgcGFyYW1ldGVycyIKKyN+IG1zZ3N0ciAiICBnICAgICAgICAgIE1vZGlmaWVyIGxlcyBwYXJhbcOodHJlc8KgOiBjeWxpbmRyZXMsIHTDqnRlcywgc2VjdGV1cnMgcGFyIHBpc3RlIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFdBUk5JTkc6IFRoaXMgb3B0aW9uIHNob3VsZCBvbmx5IGJlIHVzZWQgYnkgcGVvcGxlIHdobyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIEF0dGVudGlvbsKgOiBjZXR0ZSBvcHRpb24gbmUgZG9pdCBwYXMgw6p0cmUgdXRpbGlzw6llIHNpIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGtub3cgd2hhdCB0aGV5IGFyZSBkb2luZy4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICB2b3VzIG5lIHNhdmV6IHBhcyBxdWUgdm91cyBtb2RpZmllei4iCisKKyN+IG1zZ2lkICIgIG0gICAgICAgICAgTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgbSAgICAgICAgICBNYXhpbWlzZXIgbCd1dGlsaXNhdGlvbiBkdSBkaXNxdWUgcGFyIGxhIHBhcnRpdGlvbiBhY3R1ZWxsZSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBOb3RlOiBUaGlzIG1heSBtYWtlIHRoZSBwYXJ0aXRpb24gaW5jb21wYXRpYmxlIHdpdGgiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBOb3RlwqA6IGNlbGEgcGV1dCByZW5kcmUgbGEgcGFydGl0aW9uIGluY29tcGF0aWJsZSBhdmVjIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIERPUywgT1MvMiwgLi4uIgorI34gbXNnc3RyICIgICAgICAgICAgICAgRE9TLCBPUy8yLMKgZXRjLiIKKworI34gbXNnaWQgIiAgcCAgICAgICAgICBQcmludCBwYXJ0aXRpb24gdGFibGUgdG8gdGhlIHNjcmVlbiBvciB0byBhIGZpbGUiCisjfiBtc2dzdHIgIiAgcCAgICAgICAgICDDiWNyaXJlIGxhIHRhYmxlIGRlIHBhcnRpdGlvbnMgw6AgbCfDqWNyYW4gb3UgZGFucyB1biBmaWNoaWVyIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFRoZXJlIGFyZSBzZXZlcmFsIGRpZmZlcmVudCBmb3JtYXRzIGZvciB0aGUgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICAgICAgICAgICAgVm91cyBwb3V2ZXogY2hvaXNpciBwYXJtaSBwbHVzaWV1cnMgZm9ybWF0cyBkaWZmw6lyZW50cyIKKworI34gbXNnaWQgIiAgICAgICAgICAgICB0aGF0IHlvdSBjYW4gY2hvb3NlIGZyb206IgorI34gbXNnc3RyICIgICAgICAgICAgICAgcG91ciBsYSBwYXJ0aXRpb27CoDoiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgciAtIFJhdyBkYXRhIChleGFjdGx5IHdoYXQgd291bGQgYmUgd3JpdHRlbiB0byBkaXNrKSIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHIg4oCUIERvbm7DqWVzIGJydXRlcyAoZXhhY3RlbWVudCBjZSBxdWkgZXN0IMOpY3JpdCBzdXIgbGUgZGlzcXVlKSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICBzIC0gVGFibGUgb3JkZXJlZCBieSBzZWN0b3JzIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgcyDigJQgVGFibGUgb3Jkb25uw6llIHBhciBzZWN0ZXVycyIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICB0IC0gVGFibGUgaW4gcmF3IGZvcm1hdCIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHQg4oCUIFRhYmxlIGF1IGZvcm1hdCBicnV0IgorCisjfiBtc2dpZCAiICB1ICAgICAgICAgIENoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSIKKyN+IG1zZ3N0ciAiICB1ICAgICAgICAgIE1vZGlmaWVyIGwnYWZmaWNoYWdlIGRlcyB1bml0w6lzIGRlIHRhaWxsZSBkZXMgcGFydGl0aW9ucyIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBSb3RhdGVzIHRocm91Z2ggTUIsIHNlY3RvcnMgYW5kIGN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIFBlcm11dGVyIGVudHJlIE1vLCBzZWN0ZXVycyBldCBjeWxpbmRyZXMiCisKKyN+IG1zZ2lkICJDVFJMLUwgICAgICAgUmVkcmF3cyB0aGUgc2NyZWVuIgorI34gbXNnc3RyICJDVFJMLUwgICAgICAgUmFmcmHDrmNoaXIgbGUgY29udGVudSBkZSBsJ8OpY3JhbiIKKworI34gbXNnaWQgIiAgPyAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKKyN+IG1zZ3N0ciAiICA/ICAgICAgICAgIEFmZmljaGVyIGNldCDDqWNyYW4gZCdhaWRlIgorCisjfiBtc2dpZCAiQ2hhbmdlIGN5bGluZGVyIGdlb21ldHJ5IgorI34gbXNnc3RyICJNb2RpZmllciBsYSBnw6lvbcOpdHJpZSBkZXMgY3lsaW5kcmVzIgorCisjfiBtc2dpZCAiQ2hhbmdlIGhlYWQgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIk1vZGlmaWVyIGxhIGfDqW9tw6l0cmllIGRlcyB0w6p0ZXMiCisKKyN+IG1zZ2lkICJDaGFuZ2Ugc2VjdG9yIGdlb21ldHJ5IgorI34gbXNnc3RyICJNb2RpZmllciBsYSBnw6lvbcOpdHJpZSBkZXMgc2VjdGV1cnMiCisKKyN+IG1zZ2lkICJEb25lIHdpdGggY2hhbmdpbmcgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIk1vZGlmaWNhdGlvbiBkZSBsYSBnw6lvbcOpdHJpZSB0ZXJtaW7DqWUiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIGN5bGluZGVyczogIgorI34gbXNnc3RyICJTYWlzaXNzZXogbGUgbm9tYnJlIGRlIGN5bGluZHJlc8KgOiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGN5bGluZGVycyB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmFsZXVyIGRlIGN5bGluZHJlcyBpbmNvcnJlY3RlIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBoZWFkczogIgorI34gbXNnc3RyICJTYWlzaXNzZXogbGUgbm9tYnJlIGRlIHTDqnRlc8KgOiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGhlYWRzIHZhbHVlIgorI34gbXNnc3RyICJWYWxldXIgZGUgdMOqdGVzIGluY29ycmVjdGUiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrOiAiCisjfiBtc2dzdHIgIlNhaXNpc3NleiBsZSBub21icmUgZGUgc2VjdGV1cnMgcGFyIHBpc3RlwqA6ICIKKworI34gbXNnaWQgIklsbGVnYWwgc2VjdG9ycyB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmFsZXVyIGRlIHNlY3RldXJzIGluY29ycmVjdGUiCisKKyN+IG1zZ2lkICJFbnRlciBmaWxlc3lzdGVtIHR5cGU6ICIKKyN+IG1zZ3N0ciAiU2Fpc2lzc2V6IGxlIHR5cGUgZGUgc3lzdMOobWUgZGUgZmljaGllcnPCoDogIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSBGUyBUeXBlIHRvIGVtcHR5IgorI34gbXNnc3RyICJJbXBvc3NpYmxlIGRlIG1vZGlmaWVyIGxlIHR5cGUgZGUgc3lzdMOobWUgZGUgZmljaGllcnMgKHZhbGV1ciBudWxsZSkiCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIEZTIFR5cGUgdG8gZXh0ZW5kZWQiCisjfiBtc2dzdHIgIkltcG9zc2libGUgZGUgbW9kaWZpZXIgbGUgdHlwZSBkZSBzeXN0w6htZSBkZSBmaWNoaWVycyDDoCDCq8Kgw6l0ZW5kdcKgwrsiCisKKyN+IG1zZ2lkICJVbmsoJTAyWCkiCisjfiBtc2dzdHIgIkluYyglMDJYKSIKKworI34gbXNnaWQgIiwgTkMiCisjfiBtc2dzdHIgIiwgTkMiCisKKyN+IG1zZ2lkICJOQyIKKyN+IG1zZ3N0ciAiTkMiCisKKyN+IG1zZ2lkICJQcmkvTG9nIgorI34gbXNnc3RyICJQcmkvTG9nIgorCisjfiBtc2dpZCAiVW5rbm93biAoJTAyWCkiCisjfiBtc2dzdHIgIkluY29ubnUgKCUwMlgpIgorCisjfiBtc2dpZCAiRGlzayBEcml2ZTogJXMiCisjfiBtc2dzdHIgIlVuaXTDqSBkaXNxdWXCoDogJXMiCisKKyN+IG1zZ2lkICJTaXplOiAlbGxkIGJ5dGVzLCAlbGxkIE1CIgorI34gbXNnc3RyICJUYWlsbGXCoDogJWxsZMKgb2N0ZXRzLCAgJWxsZMKgTW8iCisKKyN+IG1zZ2lkICJTaXplOiAlbGxkIGJ5dGVzLCAlbGxkLiVsbGQgR0IiCisjfiBtc2dzdHIgIlRhaWxsZcKgOiAlbGxkwqBvY3RldHMsICAlbGxkLiVsbGTCoEdvIgorCisjfiBtc2dpZCAiSGVhZHM6ICVkICAgU2VjdG9ycyBwZXIgVHJhY2s6ICVkICAgQ3lsaW5kZXJzOiAlbGxkIgorI34gbXNnc3RyICJUw6p0ZXPCoDogJWQgICBTZWN0ZXVycyBwYXIgcGlzdGXCoDogJWQgIEN5bGluZHJlc8KgOiAlbGxkIgorCisjfiBtc2dpZCAiUGFydCBUeXBlIgorI34gbXNnc3RyICJQYXJ0aXRpb24iCisKKyN+IG1zZ2lkICJGUyBUeXBlIgorI34gbXNnc3RyICJTLiBGaWMuIgorCisjfiBtc2dpZCAiW0xhYmVsXSIKKyN+IG1zZ3N0ciAiW8OJdGlxLl0iCisKKyN+IG1zZ2lkICIgICAgU2VjdG9ycyIKKyN+IG1zZ3N0ciAiICAgU2VjdGV1cnMiCisKKyN+IG1zZ2lkICIgIEN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICBDeWxpbmRyZXMiCisKKyN+IG1zZ2lkICIgIFNpemUgKE1CKSIKKyN+IG1zZ3N0ciAiVGFpbGxlIChNbykiCisKKyN+IG1zZ2lkICIgIFNpemUgKEdCKSIKKyN+IG1zZ3N0ciAiVGFpbGxlIChHbykiCisKKyN+IG1zZ2lkICJObyBtb3JlIHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIlBsdXMgYXVjdW5lIHBhcnRpdGlvbiBzdXBwbMOpbWVudGFpcmUiCisKKyN+IG1zZ2lkICJDaGFuZ2UgZGlzayBnZW9tZXRyeSAoZXhwZXJ0cyBvbmx5KSIKKyN+IG1zZ3N0ciAiTW9kaWZpZXIgbGEgZ8Opb23DqXRyaWUgZHUgZGlzcXVlIChyw6lzZXJ2w6kgYXV4IHNww6ljaWFsaXN0ZXMpIgorCisjfiBtc2dpZCAiTWF4aW1pemUiCisjfiBtc2dzdHIgIk1heGltaXNlciIKKworI34gbXNnaWQgIk1heGltaXplIGRpc2sgdXNhZ2Ugb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIChleHBlcnRzIG9ubHkpIgorI34gbXNnc3RyICJNYXhpbWlzZXIgbCd1dGlsaXNhdGlvbiBkdSBkaXNxdWUgcGFyIGxhIHBhcnRpdGlvbiBhY3R1ZWxsZSAocsOpc2VydsOpIGF1eCBzcMOpY2lhbGlzdGVzKSIKKworI34gbXNnaWQgIlByaW50IgorI34gbXNnc3RyICJBZmZpY2hlciIKKworI34gbXNnaWQgIkNoYW5nZSB0aGUgZmlsZXN5c3RlbSB0eXBlIChET1MsIExpbnV4LCBPUy8yIGFuZCBzbyBvbikiCisjfiBtc2dzdHIgIk1vZGlmaWVyIGxlIHR5cGUgZGUgc3lzdMOobWUgZGUgZmljaGllcnMgKERPUywgTGludXgsIE9TLzIswqBldGMuKSIKKworI34gbXNnaWQgIlVuaXRzIgorI34gbXNnc3RyICJVbml0w6lzIgorCisjfiBtc2dpZCAiQ2hhbmdlIHVuaXRzIG9mIHRoZSBwYXJ0aXRpb24gc2l6ZSBkaXNwbGF5IChNQiwgc2VjdCwgY3lsKSIKKyN+IG1zZ3N0ciAiTW9kaWZpZXIgbCdhZmZpY2hhZ2UgZGVzIHVuaXTDqXMgZGUgdGFpbGxlIGRlcyBwYXJ0aXRpb25zIChNbywgc2VjdGV1ciwgY3lsLikiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWFrZSB0aGlzIHBhcnRpdGlvbiBib290YWJsZSIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSByZW5kcmUgY2V0dGUgcGFydGl0aW9uIGFtb3LDp2FibGUiCisKKyN+IG1zZ2lkICJDYW5ub3QgZGVsZXRlIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBkw6l0cnVpcmUgdW5lIHBhcnRpdGlvbiB2aWRlIgorCisjfiBtc2dpZCAiQ2Fubm90IG1heGltaXplIHRoaXMgcGFydGl0aW9uIgorI34gbXNnc3RyICJJbXBvc3NpYmxlIGRlIG1heGltaXNlciBjZXR0ZSBwYXJ0aXRpb24iCisKKyN+IG1zZ2lkICJUaGlzIHBhcnRpdGlvbiBpcyB1bnVzYWJsZSIKKyN+IG1zZ3N0ciAiQ2V0dGUgcGFydGl0aW9uIGVzdCBpbnV0aWxpc2FibGUiCisKKyN+IG1zZ2lkICJUaGlzIHBhcnRpdGlvbiBpcyBhbHJlYWR5IGluIHVzZSIKKyN+IG1zZ3N0ciAiQ2V0dGUgcGFydGl0aW9uIGVzdCBlbiBjb3VycyBkJ3V0aWxpc2F0aW9uIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSB0aGUgdHlwZSBvZiBhbiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIkltcG9zc2libGUgZGUgY2hhbmdlciBsZSB0eXBlIGQndW5lIHBhcnRpdGlvbiB2aWRlIgorCisjfiBtc2dpZCAiSWxsZWdhbCBjb21tYW5kIgorI34gbXNnc3RyICJDb21tYW5kZSBpbmNvcnJlY3RlIgorCisjfiBtc2dpZCAiQ29weXJpZ2h0IChDKSAxOTk0LTIwMDIgS2V2aW4gRS4gTWFydGluICYgYWViXG4iCisjfiBtc2dzdHIgIkNvcHlyaWdodCDCqSAxOTk0LTIwMDIgS2V2aW4gRS4gTWFydGluICYgYWViXG4iCisKKyN+IG1zZ2lkICIgLWgsIC0taGVhZHMgPG51bWJlcj4gICAgICBzZXQgdGhlIG51bWJlciBvZiBoZWFkcyB0byB1c2VcbiIKKyN+IG1zZ3N0ciAiIC1oLCAtLWhlYWRzIDxub21icmU+ICAgICAgY29uZmlndXJlciBsZSBub21icmUgZGUgdMOqdGVzIMOgIHV0aWxpc2VyXG4iCisKKyN+IG1zZ2lkICIgLWcsIC0tZ3Vlc3MgICAgICAgICAgICAgICBndWVzcyBhIGdlb21ldHJ5IGZyb20gcGFydGl0aW9uIHRhYmxlXG4iCisjfiBtc2dzdHIgIiAtZywgLS1ndWVzcyAgICAgICAgICAgICAgIGRldmluZXIgbGEgZ8Opb23DqXRyaWUgZOKAmWFwcsOocyBsYSB0YWJsZSBkZSBwYXJ0aXRpb25zXG4iCisKKyN+IG1zZ2lkICIgLVAsIC0tcHJpbnQgPHJ8c3x0PiAgICAgICBwcmludCBwYXJ0aXRpb24gdGFibGUgaW4gc3BlY2lmaWVkIGZvcm1hdFxuIgorI34gbXNnc3RyICIgLVAsIC0tcHJpbnQgPHJ8c3x0PiAgICAgICBhZmZpY2hlciBsYSB0YWJsZSBkZSBwYXJ0aXRpb25zIGF1IGZvcm1hdCBpbmRpcXXDqVxuIgorCisjfiBtc2dpZCAiIC1hLCAtLWFycm93ICAgICAgICAgICAgICAgdXNlIGFycm93IGZvciBoaWdobGlnaHRpbmcgdGhlIGN1cnJlbnQgcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWEsIC0tYXJyb3cgICAgICAgICAgICAgICB1dGlsaXNlciB1bmUgZmzDqGNoZSBwb3VyIG1ldHRyZSBlbiDDqXZpZGVuY2UgbGFcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiBhY3R1ZWxsZVxuIgorCisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBjeWxpbmRlcnMiCisjfiBtc2dzdHIgImltcG9zc2libGUgZCdhbmFseXNlciBsZSBub21icmUgZGUgY3lsaW5kcmVzIgorCisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBoZWFkcyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxlIG5vbWJyZSBkZSB0w6p0ZXMiCisKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgbnVtYmVyIG9mIHNlY3RvcnMiCisjfiBtc2dzdHIgImltcG9zc2libGUgZCdhbmFseXNlciBsZSBub21icmUgZGUgc2VjdGV1cnMiCisKKyN+IG1zZ2lkICI6ICIKKyN+IG1zZ3N0ciAiwqA6ICIKKworI34gbXNnaWQgIiAtYiA8c2l6ZT4gICAgICAgICBzZWN0b3Igc2l6ZSAoNTEyLCAxMDI0LCAyMDQ4IG9yIDQwOTYpXG4iCisjfiBtc2dzdHIgIiAtYiA8dGFpbGxlPiAgICAgICB0YWlsbGUgZGUgc2VjdGV1ciAoNTEyLCAxMDI0LCAyMDQ4IG91IDQwOTYpXG4iCisKKyN+IG1zZ2lkICIgLWggICAgICAgICAgICAgICAgcHJpbnQgdGhpcyBoZWxwIHRleHRcbiIKKyN+IG1zZ3N0ciAiIC1oICAgICAgICAgICAgICAgIGFmZmljaGVyIGNlIHRleHRlIGQnYWlkZVxuIgorCisjfiBtc2dpZCAiXG4iCisjfiBtc2dzdHIgIlxuIgorCisjfiBtc2dpZCAiIyIKKyN+IG1zZ3N0ciAiTsK6IgorCisjfiBtc2dpZCAiZnNpemUiCisjfiBtc2dzdHIgImZzaXplIgorCisjfiBtc2dpZCAiYnNpemUiCisjfiBtc2dzdHIgImJzaXplIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKKyN+IG1zZ3N0ciAiTGEgcGFydGl0aW9uwqAlZCBlc3QgZMOpasOgIGTDqWZpbmllLiBEw6l0cnVpc2V6LWzDoCBhdmFudCBkZSBsJ2Fqb3V0ZXIuIgorCisjfiBtc2dpZCAiIgorI34gIlBhcnRpdGlvbiB0eXBlOlxuIgorI34gIiAgIHAgICBwcmltYXJ5ICglemQgcHJpbWFyeSwgJWQgZXh0ZW5kZWQsICV6ZCBmcmVlKVxuIgorI34gIiVzXG4iCisjfiAiU2VsZWN0IChkZWZhdWx0ICVjKSIKKyN+IG1zZ3N0ciAiIgorI34gIlR5cGUgZGUgcGFydGl0aW9uwqA6XG4iCisjfiAiICAgcCAgIHByaW1haXJlICglemTCoHByaW1haXJlKHMpLCAlZMKgw6l0ZW5kdWUocyksICV6ZMKgbGlicmUocykpXG4iCisjfiAiJXNcbiIKKyN+ICJTw6lsZWN0aW9uICglYyBwYXIgZMOpZmF1dCkiCisKKyN+IG1zZ2lkICIgICBlICAgZXh0ZW5kZWQiCisjfiBtc2dzdHIgIiAgZSAgIMOpdGVuZHVlIgorCisjfiBtc2dpZCAiTnIiCisjfiBtc2dzdHIgIk5yIgorCisjfiBtc2dpZCAiQUYiCisjfiBtc2dzdHIgIkFGIgorCisjfiBtc2dpZCAiSGQiCisjfiBtc2dzdHIgIkhkIgorCisjfiBtc2dpZCAiU2VjIgorI34gbXNnc3RyICJTZWMiCisKKyN+IG1zZ2lkICJDeWwiCisjfiBtc2dzdHIgIkN5bCIKKworI34gbXNnaWQgIlRoaXMgZG9lc24ndCBsb29rIGxpa2UgYSBwYXJ0aXRpb24gdGFibGUuIFByb2JhYmx5IHlvdSBzZWxlY3RlZCB0aGUgd3JvbmcgZGV2aWNlLiIKKyN+IG1zZ3N0ciAiQ2VsYSBuZSByZXNzZW1ibGUgcGFzIMOgIHVuZSB0YWJsZSBkZSBwYXJ0aXRpb25zLiBWb3VzIGF2ZXogcHJvYmFibGVtZW50IHPDqWxlY3Rpb25uw6kgbGUgbWF1dmFpcyBww6lyaXBow6lyaXF1ZS4iCisKKyN+IG1zZ2lkICJCbG9ja3MgIgorI34gbXNnc3RyICJCbG9jcyAiCisKKyN+IG1zZ2lkICJTeXN0ZW0iCisjfiBtc2dzdHIgIlN5c3TDqG1lIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICV6ZCBpcyBhbHJlYWR5IGRlZmluZWQuIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKKyN+IG1zZ3N0ciAiTGEgcGFydGl0aW9uwqAlemQgZXN0IGTDqWrDoCBkw6lmaW5pZS4gRMOpdHJ1aXNlei1sw6AgYXZhbnQgZGUgbCdham91dGVyLiIKKworI34gbXNnaWQgIlB0IyIKKyN+IG1zZ3N0ciAiTsK6IgorCisjfiBtc2dpZCAiSW5mbyIKKyN+IG1zZ3N0ciAiSW5mbyIKKworI34gbXNnaWQgIlNlY3RvciIKKyN+IG1zZ3N0ciAiU2VjdGV1ciIKKworI34gbXNnaWQgIllvdSB3aWxsIGdldCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiBGaXggaXQgZmlyc3QhIgorI34gbXNnc3RyICJWb3VzIGFsbGV6IG9idGVuaXIgdW4gY2hldmF1Y2hlbWVudCBkZSBwYXJ0aXRpb25zIHN1ciBjZSBkaXNxdWUuIFZldWlsbGV6IGNvcnJpZ2VyLiIKKworI34gbXNnaWQgIldhcm5pbmc6ICBCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi4iCisjfiBtc2dzdHIgIkF2ZXJ0aXNzZW1lbnTCoDogbCdpb2N0bCBCTEtHRVRTSVpFIGEgw6ljaG91w6kgc3VyICVzLiBVdGlsaXNhdGlvbiBkZSBsYSB2YWxldXLCoCVsbHUgcG91ciBsYSBnw6lvbcOpdHJpZSBkdSBjeWxpbmRyZS4gQ2V0dGUgdmFsZXVyIHBldXQgw6p0cmUgdHJvbnF1w6llIHBvdXIgbGVzIHDDqXJpcGjDqXJpcXVlcyBkZSBwbHVzIGRlIDMzLDjCoEdvLiIKKworI34gbXNnaWQgIkZsYWciCisjfiBtc2dzdHIgIkluZC4iCisKKyN+IG1zZ2lkICIiCisjfiAiICUxJHMgW29wdGlvbnNdIExBQkVMPTxsYWJlbD5cbiIKKyN+ICIgJTEkcyBbb3B0aW9uc10gVVVJRD08dXVpZD5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAlMSRzIFtvcHRpb25zXSBMQUJFTD08w6l0aXF1ZXR0ZT5cbiIKKyN+ICIgJTEkcyBbb3B0aW9uc10gVVVJRD08dXVpZD5cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIKKyN+ICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgQVNDSUkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorI34gIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaWNhbGl6ZSBwcmludGVkIHBhdGhzXG4iCisjfiAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGF0ZSB0aGUgb3V0cHV0IG9mIGRmKDEpXG4iCisjfiAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKKyN+ICIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBjb252ZXJ0IHRhZ3MgKExBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMKSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGRldmljZSBuYW1lc1xuIgorI34gIiAtRiwgLS10YWItZmlsZSA8cGF0aD4gIGFsdGVybmF0aXZlIGZpbGUgZm9yIC0tZnN0YWIsIC0tbXRhYiBvciAtLWtlcm5lbCBvcHRpb25zXG4iCisjfiAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1BLCAtLWFsbCAgICAgICAgICAgICAgZMOpc2FjdGl2ZXIgdG91cyBsZXMgZmlsdHJlcyBpbnTDqWdyw6lzLCBhZmZpY2hlciB0b3VzIGxlc1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICBzeXN0w6htZXMgZGUgZmljaGllcnNcbiIKKyN+ICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1dGlsaXNlciBkZXMgY2FyYWN0w6hyZXMgQVNDSUkgcG91ciBsJ2FyYm9yZXNjZW5jZVxuIgorI34gIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGFmZmljaGFnZSBkZXMgY2hlbWlucyBjYW5vbmlxdWVzXG4iCisjfiAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGVyIGxhIHNvcnRpZSBkZSBkZigxKVxuIgorI34gIiAtZCwgLS1kaXJlY3Rpb24gPG1vdD4gIGRpcmVjdGlvbiBkZSByZWNoZXJjaGXCoDogwqvCoGZvcndhcmTCoMK7IG91IMKrwqBiYWNrd2FyZMKgwrtcbiIKKyN+ICIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBjb252ZXJ0aXIgdG91dGVzIGxlcyDDqXRpcXVldHRlcyAoTEFCRUwsIFVVSUQsIFBBUlRVVUlELFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICBQQVJUTEFCRUwpIGVuIG5vbXMgZGUgcMOpcmlwaMOpcmlxdWVcbiIKKyN+ICIgLUYsIC0tdGFiLWZpbGUgPGNoZW0uPiBhdXRyZSBmaWNoaWVyIHBvdXIgbGVzIG9wdGlvbnMgLS1mc3RhYiwgLS1tdGFiIG91IC0ta2VybmVsXG4iCisjfiAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgbidhZmZpY2hlciBxdWUgbGUgcHJlbWllciBzeXN0w6htZSBkZSBmaWNoaWVycyB0cm91dsOpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJ0IHRoZSBzZW5zZSBvZiBtYXRjaGluZ1xuIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKKyN+ICIgLU4sIC0tdGFzayA8dGlkPiAgICAgICB1c2UgYWx0ZXJuYXRpdmUgbmFtZXNwYWNlICgvcHJvYy88dGlkPi9tb3VudGluZm8gZmlsZSlcbiIKKyN+ICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBjb2x1bW4gaGVhZGluZ3NcbiIKKyN+ICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVyc2VyIGxlIHNlbnMgZGUgY29ycmVzcG9uZGFuY2VcbiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1dGlsaXNlciBsZSBmb3JtYXQgZGUgc29ydGllIGVuIGxpc3RlXG4iCisjfiAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXRpbGlzZXIgbCdlc3BhY2UgZGUgbm9tcyBhbHRlcm5hdGlmIChmaWNoaWVyXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgIC9wcm9jLzx0aWQ+L21vdW50aW5mbylcbiIKKyN+ICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBuZSBwYXMgYWZmaWNoZXIgbGVzIGVuLXTDqnRlcyBkZSBjb2xvbm5lXG4iCisjfiAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgbmUgcGFzIHRyb25xdWVyIGxlIHRleHRlIGRlcyBjb2xvbm5lc1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIGRvbid0IHByaW50IFsvZGlyXSBmb3IgYmluZCBvciBidHJmcyBtb3VudHNcbiIKKyN+ICIgLVIsIC0tc3VibW91bnRzICAgICAgICBwcmludCBhbGwgc3VibW91bnRzIGZvciB0aGUgbWF0Y2hpbmcgZmlsZXN5c3RlbXNcbiIKKyN+ICIgLVMsIC0tc291cmNlIDxzdHJpbmc+ICB0aGUgZGV2aWNlIHRvIG1vdW50IChieSBuYW1lLCBtYWo6bWluLCBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKKyN+ICIgLVQsIC0tdGFyZ2V0IDxzdHJpbmc+ICB0aGUgbW91bnRwb2ludCB0byB1c2VcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIG5lIHBhcyBhZmZpY2hlciBbL3LDqXBdIHBvdXIgbGVzIG1vbnRhZ2VzIGJpbmQgb3UgQnRyZnNcbiIKKyN+ICIgLVIsIC0tc3VibW91bnRzICAgICAgICBhZmZpY2hlciB0b3VzIGxlcyBzb3VzLW1vbnRhZ2VzIGRlcyBzeXN0w6htZXMgZGVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgIGZpY2hpZXJzIGNvcnJlc3BvbmRhbnRzXG4iCisjfiAiIC1TLCAtLXNvdXJjZSA8Y2hhw65uZT4gIGxlIHDDqXJpcGjDqXJpcXVlIMOgIG1vbnRlciAocGFyIG5vbSwgbWFqOm1pbixcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKKyN+ICIgLVQsIC0tdGFyZ2V0IDxjaGHDrm5lPiAgbGUgcG9pbnQgZGUgbW9udGFnZSDDoCB1dGlsaXNlclxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZiwgLS1maWxlIDxmaWxlPiB1c2UgZmlsZSBhcyBhIGNvb2tpZSBzZWVkXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWYsIC0tZmlsZSA8ZmljLj4gdXRpbGlzZXIgZmljLiBwb3VyIGfDqW7DqXJlciBsZSBjb29raWVcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgZXhwbGlxdWVyIGxlcyBhY3Rpb25zIGVuIGNvdXJzXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgIGFmZmljaGVyIGxlcyBpbmZvcm1hdGlvbnMgZGUgdmVyc2lvbiBldCBxdWl0dGVyXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgIGFmZmljaGVyIGNldHRlIGFpZGUgZXQgcXVpdHRlclxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiQm90aCAtLXBpZCBhbmQgLS1uby1waWQgc3BlY2lmaWVkLiBJZ25vcmluZyAtLW5vLXBpZC4iCisjfiBtc2dzdHIgIi0tcGlkIGV0IC0tbm8tcGlkIG9udCB0b3V0ZXMgZGV1eCDDqXTDqSBpbmRpcXXDqXMuIC0tbm8tcGlkIGVzdCBpZ25vcsOpLiIKKworI34gbXNnaWQgIndhcm5pbmc6IGVycm9yIHJlYWRpbmcgJXM6ICVzIgorI34gbXNnc3RyICJhdmVydGlzc2VtZW50wqA6IGVycmV1ciBkZSBsZWN0dXJlICVzwqA6ICVzIgorCisjfiBtc2dpZCAid2FybmluZzogY2FuJ3Qgb3BlbiAlczogJXMiCisjfiBtc2dzdHIgImF2ZXJ0aXNzZW1lbnTCoDogaW1wb3NzaWJsZSBkJ291dnJpciAlc8KgOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjb3VsZCBub3Qgb3BlbiAlcyAtIHVzaW5nICVzIGluc3RlYWRcbiIKKyN+IG1zZ3N0ciAibW91bnTCoDogaW1wb3NzaWJsZSBkJ291dnJpciAlcyDigJQgdXRpbGlzYXRpb24gZGUgJXMgw6AgbGEgcGxhY2VcbiIKKworI34gbXNnaWQgImNhbid0IGNyZWF0ZSBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIGxlIGZpY2hpZXIgdmVycm91ICVzwqA6ICVzICh1dGlsaXNlciBsJ29wdGlvbiAtbiBwb3VyIHBhc3NlciBvdXRyZSkiCisKKyN+IG1zZ2lkICJjYW4ndCBsaW5rIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaWVyIGxlIGZpY2hpZXIgdmVycm91ICVzwqA6ICVzICh1dGlsaXNlciBsJ29wdGlvbiAtbiBwb3VyIHBhc3NlciBvdXRyZSkiCisKKyN+IG1zZ2lkICJjYW4ndCBvcGVuIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciBsZSBmaWNoaWVyIHZlcnJvdSAlc8KgOiAlcyAodXRpbGlzZXIgbCdvcHRpb24gLW4gcG91ciBwYXNzZXIgb3V0cmUpIgorCisjfiBtc2dpZCAiQ2FuJ3QgbG9jayBsb2NrIGZpbGUgJXM6ICVzXG4iCisjfiBtc2dzdHIgIkltcG9zc2libGUgZGUgdmVycm91aWxsZXIgbGUgZmljaGllciB2ZXJyb3UgJXPCoDogJXNcbiIKKworI34gbXNnaWQgImNhbid0IGxvY2sgbG9jayBmaWxlICVzOiAlcyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSB2ZXJyb3VpbGxlciBsZSBmaWNoaWVyIHZlcnJvdSAlc8KgOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJDYW5ub3QgY3JlYXRlIGxpbmsgJXNcbiIKKyN+ICJQZXJoYXBzIHRoZXJlIGlzIGEgc3RhbGUgbG9jayBmaWxlP1xuIgorI34gbXNnc3RyICIiCisjfiAiSW1wb3NzaWJsZSBkZSBjcsOpZXIgbGUgbGllbiAlc1xuIgorI34gIlVuIGZpY2hpZXIgdmVycm91aWxsw6kgZXN0IHBldXQtw6p0cmUgZW4gcGFubmUuXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyAoJXMpIC0gbXRhYiBub3QgdXBkYXRlZCIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciAlcyAoJXMpIOKAlCBtdGFiIG4nZXN0IHBhcyDDoCBqb3VyIgorCisjfiBtc2dpZCAiZXJyb3Igd3JpdGluZyAlczogJXMiCisjfiBtc2dzdHIgImVycmV1ciBkJ8OpY3JpdHVyZSAlc8KgOiAlcyIKKworI34gbXNnaWQgIiVzOiBjYW5ub3QgZmZsdXNoIGNoYW5nZXM6ICVzIgorI34gbXNnc3RyICIlc8KgOiBpbXBvc3NpYmxlIGRlIHZpZGVyIGxlcyBtb2RpZmljYXRpb25zwqA6ICVzIgorCisjfiBtc2dpZCAiZXJyb3IgY2hhbmdpbmcgbW9kZSBvZiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiZXJyZXVyIGRlIGNoYW5nZW1lbnQgZGUgbW9kZSBkZSAlc8KgOiAlc1xuIgorCisjfiBtc2dpZCAiZXJyb3IgY2hhbmdpbmcgb3duZXIgb2YgJXM6ICVzXG4iCisjfiBtc2dzdHIgImVycmV1ciBkZSBjaGFuZ2VtZW50IGRlIHByb3ByacOpdGFpcmUgZGUgJXPCoDogJXNcbiIKKworI34gbXNnaWQgImNhbid0IHJlbmFtZSAlcyB0byAlczogJXNcbiIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSByZW5vbW1lciAlcyDDoCAlc8KgOiAlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIm1vdW50OiB3YXJuaW5nOiAvZXRjL210YWIgaXMgbm90IHdyaXRhYmxlIChlLmcuIHJlYWQtb25seSBmaWxlc3lzdGVtKS5cbiIKKyN+ICIgICAgICAgSXQncyBwb3NzaWJsZSB0aGF0IGluZm9ybWF0aW9uIHJlcG9ydGVkIGJ5IG1vdW50KDgpIGlzIG5vdFxuIgorI34gIiAgICAgICB1cCB0byBkYXRlLiBGb3IgYWN0dWFsIGluZm9ybWF0aW9uIGFib3V0IHN5c3RlbSBtb3VudCBwb2ludHNcbiIKKyN+ICIgICAgICAgY2hlY2sgdGhlIC9wcm9jL21vdW50cyBmaWxlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAibW91bnTCoDogYXZlcnRpc3NlbWVudMKgOiBpbXBvc3NpYmxlIGQnw6ljcmlyZSBzdXIgL2V0Yy9tdGFiIChsZSBzeXN0w6htZSBkZSBmaWNoaWVyc1xuIgorI34gIiAgICAgICAgZXN0IHBldXQtw6p0cmUgZW4gbGVjdHVyZSBzZXVsZSkuIExlcyBpbmZvcm1hdGlvbnMgcmVudm95w6llcyBwYXJcbiIKKyN+ICIgICAgICAgIG1vdW50KDgpIG5lIHNvbnQgcGFzIGZvcmPDqW1lbnQgw6Agam91ci4gUG91ciBkZSB2w6lyaXRhYmxlcyBpbmZvcm1hdGlvbnNcbiIKKyN+ICIgICAgICAgIHN1ciBsZXMgcG9pbnRzIGRlIG1vbnRhZ2UgZHUgc3lzdMOobWUsIHJlZ2FyZGV6IGxlIGZpY2hpZXIgL3Byb2MvbW91bnRzLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGltcHJvcGVybHkgcXVvdGVkIG9wdGlvbiBzdHJpbmcgJyVzJyIKKyN+IG1zZ3N0ciAibW91bnTCoDogY2hhw65uZSBkJ29wdGlvbnMgbm9uIGVudG91csOpZSBkZSBndWlsbGVtZXRzIMKrwqAlc8KgwrsiCisKKyN+IG1zZ2lkICJtb3VudDogdHJhbnNsYXRlZCAlcyAnJXMnIHRvICclcydcbiIKKyN+IG1zZ3N0ciAibW91bnTCoDogdHJhbnNmb3JtYXRpb24gZGUgJXMgwqvCoCVzwqDCuyBlbiDCq8KgJXPCoMK7XG4iCisKKyN+IG1zZ2lkICJtb3VudDogU0VMaW51eCAqY29udGV4dD0gb3B0aW9ucyBhcmUgaWdub3JlIG9uIHJlbW91bnQuXG4iCisjfiBtc2dzdHIgIm1vdW50wqA6IGxlcyBvcHRpb25zIFNFTGludXggKmNvbnRleHQ9IHNvbnQgaWdub3LDqWVzIGF1IHJlbW9udGFnZS5cbiIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIgorI34gbXNnc3RyICJtb3VudMKgOiBzZWxvbiBtdGFiLCAlcyBlc3QgZMOpasOgIG1vbnTDqSBzdXIgJXMiCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIG1vdW50ZWQgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50wqA6IHNlbG9uIG10YWIsICVzIGVzdCBtb250w6kgc3VyICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IG9wZW4gJXMgZm9yIHdyaXRpbmc6ICVzIgorI34gbXNnc3RyICJtb3VudMKgOiBpbXBvc3NpYmxlIGQnb3V2cmlyICVzIGVuIMOpY3JpdHVyZcKgOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBlcnJvciB3cml0aW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnTCoDogZXJyZXVyIGQnw6ljcml0dXJlICVzwqA6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIGNoYW5naW5nIG1vZGUgb2YgJXM6ICVzIgorI34gbXNnc3RyICJtb3VudMKgOiBlcnJldXIgbG9ycyBkdSBjaGFuZ2VtZW50IGRlIG1vZGUgZGUgJXPCoDogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCBncm91cCBpZDogJW0iCisjfiBtc2dzdHIgIm1vdW50wqA6IGltcG9zc2libGUgZGUgY29uZmlndXJlciBsJ2lkZW50aWZpYW50IGRlIGdyb3VwZcKgOiAlbSIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHVzZXIgaWQ6ICVtIgorI34gbXNnc3RyICJtb3VudMKgOiBpbXBvc3NpYmxlIGRlIGNvbmZpZ3VyZXIgbCdpZGVudGlmaWFudCBkJ3V0aWxpc2F0ZXVywqA6ICVtIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBmb3JrOiAlcyIKKyN+IG1zZ3N0ciAibW91bnTCoDogaW1wb3NzaWJsZSBkJ8OpdGFibGlyIHVuIHJlbGFpcyBmb3JrKCnCoDogJXMiCisKKyN+IG1zZ2lkICJUcnlpbmcgJXNcbiIKKyN+IG1zZ3N0ciAiVGVudGF0aXZlIGRlICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogeW91IGRpZG4ndCBzcGVjaWZ5IGEgZmlsZXN5c3RlbSB0eXBlIGZvciAlc1xuIgorI34gbXNnc3RyICJtb3VudMKgOiB2b3VzIG4nYXZleiBwYXMgaW5kaXF1w6kgbGUgdHlwZSBkZSBzeXN0w6htZSBkZSBmaWNoaWVycyBkZSAlc1xuIgorCisjfiBtc2dpZCAiICAgICAgIEkgd2lsbCB0cnkgYWxsIHR5cGVzIG1lbnRpb25lZCBpbiAlcyBvciAlc1xuIgorI34gbXNnc3RyICIgICAgICAgSmUgdmFpcyBlc3NheWVyIHRvdXMgbGVzIHR5cGVzIG1lbnRpb25uw6lzIGRhbnMgJXMgb3UgJXNcbiIKKworI34gbXNnaWQgIiAgICAgICBhbmQgaXQgbG9va3MgbGlrZSB0aGlzIGlzIHN3YXBzcGFjZVxuIgorI34gbXNnc3RyICIgICAgICAgZXQgaWwgc2VtYmxlIHF1ZSBjZSBzb2l0IHVuIGVzcGFjZSBkJ8OpY2hhbmdlXG4iCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSB0eXBlICVzXG4iCisjfiBtc2dzdHIgIiAgICAgICBKZSB2YWlzIGVzc2F5ZXIgbGUgdHlwZSAlc1xuIgorCisjfiBtc2dpZCAiJXMgbG9va3MgbGlrZSBzd2Fwc3BhY2UgLSBub3QgbW91bnRlZCIKKyN+IG1zZ3N0ciAiJXMgcmVzc2VtYmxlIMOgIHVuIGVzcGFjZSBkJ8OpY2hhbmdlIOKAlCBuJ2EgcGFzIMOpdMOpIG1vbnTDqSIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogJXM6IG1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQuIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sXG4iCisjfiAiICAgICAgIHVzZSAtdCA8dHlwZT4gdG8gZXhwbGljaXRseSBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUgb3JcbiIKKyN+ICIgICAgICAgdXNlIHdpcGVmcyg4KSB0byBjbGVhbiB1cCB0aGUgZGV2aWNlLlxuIgorI34gbXNnc3RyICIiCisjfiAibW91bnTCoDogJXPCoDogcGx1cyBkZSBzeXN0w6htZXMgZGUgZmljaGllcnMgb250IMOpdMOpIHRyb3V2w6lzLlxuIgorI34gIiAgICAgICAgQ2Ugbidlc3QgcGFzIGNlbnPDqSBhcnJpdmVyLCB1dGlsaXNleiAtdCA8dHlwZT4gcG91clxuIgorI34gIiAgICAgICAgaW5kaXF1ZXIgZXhwbGljaXRlbWVudCBsZSB0eXBlIGRlIHN5c3TDqG1lIGRlIGZpY2hpZXJzXG4iCisjfiAiICAgICAgICBvdSB1dGlsaXNleiB3aXBlZnMoOCkgcG91ciBuZXR0b3llciBsZSBww6lyaXBow6lyaXF1ZS5cbiIKKworI34gbXNnaWQgIm1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAiw6ljaGVjIGRlIG1vbnRhZ2UiCisKKyN+IG1zZ2lkICJtb3VudDogb25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnTCoDogc2V1bCBsZSBzdXBlcnV0aWxpc2F0ZXVyIHBldXQgbW9udGVyICVzIHN1ciAlcyIKKworI34gbXNnaWQgIm1vdW50OiBsb29wIGRldmljZSBzcGVjaWZpZWQgdHdpY2UiCisjfiBtc2dzdHIgIm1vdW50wqA6IHDDqXJpcGjDqXJpcXVlIGJvdWNsZSBpbmRpcXXDqSBkZXV4IGZvaXMiCisKKyN+IG1zZ2lkICJtb3VudDogdHlwZSBzcGVjaWZpZWQgdHdpY2UiCisjfiBtc2dzdHIgIm1vdW50wqA6IHR5cGUgaW5kaXF1w6kgZGV1eCBmb2lzIgorCisjfiBtc2dpZCAibW91bnQ6IHNraXBwaW5nIHRoZSBzZXR1cCBvZiBhIGxvb3AgZGV2aWNlXG4iCisjfiBtc2dzdHIgIm1vdW50wqA6IHBhcyBkJ2luaXRpYWxpc2F0aW9uIGR1IHDDqXJpcGjDqXJpcXVlIGJvdWNsZVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGVuYWJsaW5nIGF1dG9jbGVhciBsb29wZGV2IGZsYWdcbiIKKyN+IG1zZ3N0ciAibW91bnTCoDogYWN0aXZhdGlvbiBkZSBsJ29wdGlvbiBkZSBuZXR0b3lhZ2UgYXV0b21hdGlxdWUgZHUgcMOpcmlwaMOpcmlxdWUgYm91Y2xlXG4iCisKKyN+IG1zZ2lkICJtb3VudDogaW52YWxpZCBvZmZzZXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW50wqA6IGluZGV4IMKrwqAlc8KgwrsgaW5kaXF1w6kgbm9uIHZhbGFibGUiCisKKyN+IG1zZ2lkICJtb3VudDogaW52YWxpZCBzaXplbGltaXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW50wqA6IHRhaWxsZSBsaW1pdGUgwqvCoCVzwqDCuyBpbmRpcXXDqWUgbm9uIHZhbGFibGUiCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIGFzIGxvb3AiCisjfiBtc2dzdHIgIm1vdW50wqA6IHNlbG9uIG10YWIsICVzIGVzdCBkw6lqw6AgbW9udMOpIHN1ciAlcyBlbiBib3VjbGUiCisKKyN+IG1zZ2lkICJlbmNyeXB0aW9uIG5vdCBzdXBwb3J0ZWQsIHVzZSBjcnlwdHNldHVwKDgpIGluc3RlYWQiCisjfiBtc2dzdHIgImNoaWZmcmVtZW50IG5vbiBwcmlzIGVuIGNoYXJnZSwgdXRpbGlzZXogY3J5cHRzZXR1cCg4KSDDoCBsYSBwbGFjZSIKKworI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wZGV2IGNvbnRleHQiCisjfiBtc2dzdHIgIm1vdW50wqA6IGltcG9zc2libGUgZCdpbml0aWFsaXNlciBsZSBjb250ZXh0ZSBkZSBww6lyaXBow6lyaXF1ZSBib3VjbGUiCisKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIHVzZSAlcyBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50wqA6IGltcG9zc2libGUgZCd1dGlsaXNlciBsZSBww6lyaXBow6lyaXF1ZSAlcyIKKworIyBOT1RFOiBzL2ZvdW5kL2ZpbmQvCisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byBmb3VuZCBmcmVlIGxvb3AgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudMKgOiBpbXBvc3NpYmxlIGRlIHRyb3V2ZXIgdW4gcMOpcmlwaMOpcmlxdWUgYm91Y2xlIgorCisjfiBtc2dpZCAibW91bnQ6IGdvaW5nIHRvIHVzZSB0aGUgbG9vcCBkZXZpY2UgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnTCoDogbGUgcMOpcmlwaMOpcmlxdWUgYm91Y2xlICVzIHNlcmEgdXRpbGlzw6lcbiIKKworI34gbXNnaWQgIm1vdW50OiAlczogZmFpbGVkIHRvIHNldCBsb29wZGV2IGF0dHJpYnV0ZXMiCisjfiBtc2dzdHIgIm1vdW50wqA6ICVzwqA6IGltcG9zc2libGUgZGUgY29uZmlndXJlciBsZXMgYXR0cmlidXRzIGRlIHDDqXJpcGjDqXJpcXVlIGJvdWNsZSIKKworI34gbXNnaWQgIm1vdW50OiAlczogZmFpbGVkIHNldHRpbmcgdXAgbG9vcCBkZXZpY2U6ICVtIgorI34gbXNnc3RyICJtb3VudMKgOiAlc8KgOiDDqWNoZWMgZCdpbml0aWFsaXNhdGlvbiBkdSBww6lyaXBow6lyaXF1ZSBib3VjbGXCoDogJW0iCisKKyN+IG1zZ2lkICJtb3VudDogc3RvbGVuIGxvb3A9JXMgLi4udHJ5aW5nIGFnYWluXG4iCisjfiBtc2dzdHIgIm1vdW50wqA6IHDDqXJpcGjDqXJpcXVlIGJvdWNsZSByw6ljdXDDqXLDqT0lc+KApiBub3V2ZWwgZXNzYWlcbiIKKworI34gbXNnaWQgIm1vdW50OiBzdG9sZW4gbG9vcD0lcyIKKyN+IG1zZ3N0ciAibW91bnTCoDogcMOpcmlwaMOpcmlxdWUgYm91Y2xlIHLDqWN1cMOpcsOpPSVzIgorCisjfiBtc2dpZCAibW91bnQ6IHNldHVwIGxvb3AgZGV2aWNlIHN1Y2Nlc3NmdWxseVxuIgorI34gbXNnc3RyICJtb3VudMKgOiBpbml0aWFsaXNhdGlvbiBkdSBww6lyaXBow6lyaXF1ZSBib3VjbGUgcsOpdXNzaWVcbiIKKworI34gbXNnaWQgIm1vdW50OiBubyAlcyBmb3VuZCAtIGNyZWF0aW5nIGl0Li5cbiIKKyN+IG1zZ3N0ciAibW91bnTCoDogJXMgaW50cm91dmFibGUg4oCUIGNyw6lhdGlvbiBlbiBjb3Vyc+KAplxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBvcGVuICVzIGZvciBzZXR0aW5nIHNwZWVkIgorI34gbXNnc3RyICJtb3VudMKgOiBpbXBvc3NpYmxlIGQnb3V2cmlyICVzIHBvdXIgYWp1c3RlciBsYSB2aXRlc3NlIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgc3BlZWQ6ICVtIgorI34gbXNnc3RyICJtb3VudMKgOiBpbXBvc3NpYmxlIGQnYWp1c3RlciBsYSB2aXRlc3NlwqA6ICVtIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKKyN+IG1zZ3N0ciAibW91bnTCoDogc2Vsb24gbXRhYiAlcyBlc3QgZMOpasOgIG1vbnTDqSBzdXIgJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtd3JpdGUuXG4iCisjfiBtc2dzdHIgIm1vdW50wqA6IGF2ZXJ0aXNzZW1lbnTCoDogJXMgc2VtYmxlIMOqdHJlIG1vbnTDqSBlbiBsZWN0dXJlL8OpY3JpdHVyZS5cbiIKKworI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtb25seS5cbiIKKyN+IG1zZ3N0ciAibW91bnTCoDogYXZlcnRpc3NlbWVudMKgOiAlcyBzZW1ibGUgw6p0cmUgbW9udMOpIGVuIGxlY3R1cmUgc2V1bGUuXG4iCisKKyN+IG1zZ2lkICJtb3VudDogSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW50wqA6IGltcG9zc2libGUgZGUgZMOpdGVybWluZXIgbGUgdHlwZSBkZSBzeXN0w6htZSBkZSBmaWNoaWVycyBldCBhdWN1biBuJ2Egw6l0w6kgaW5kaXF1w6kiCisKKyN+IG1zZ2lkICJtb3VudDogeW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorI34gbXNnc3RyICJtb3VudMKgOiB2b3VzIGRldmV6IGluZGlxdWVyIGxlIHR5cGUgZGUgc3lzdMOobWUgZGUgZmljaGllcnMiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgZmFpbGVkIgorI34gbXNnc3RyICJtb3VudMKgOiDDqWNoZWMgZGUgbW9udGFnZSIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBwb2ludCAlcyBpcyBub3QgYSBkaXJlY3RvcnkiCisjfiBtc2dzdHIgIm1vdW50wqA6IGxlIHBvaW50IGRlIG1vbnRhZ2UgJXMgbidlc3QgcGFzIHVuIHLDqXBlcnRvaXJlIgorCisjfiBtc2dpZCAibW91bnQ6IHBlcm1pc3Npb24gZGVuaWVkIgorI34gbXNnc3RyICJtb3VudMKgOiBwZXJtaXNzaW9uIHJlZnVzw6llIgorCisjfiBtc2dpZCAibW91bnQ6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKKyN+IG1zZ3N0ciAibW91bnTCoDogc2V1bCBsZSBzdXBlcnV0aWxpc2F0ZXVyIHBldXQgdXRpbGlzZXIgbW91bnQiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgYnVzeSIKKyN+IG1zZ3N0ciAibW91bnTCoDogJXMgZXN0IG9jY3Vww6kiCisKKyN+IG1zZ2lkICJtb3VudDogcHJvYyBhbHJlYWR5IG1vdW50ZWQiCisjfiBtc2dzdHIgIm1vdW50wqA6IHByb2MgZMOpasOgIG1vbnTDqSIKKworI34gbXNnaWQgIm1vdW50OiAlcyBhbHJlYWR5IG1vdW50ZWQgb3IgJXMgYnVzeSIKKyN+IG1zZ3N0ciAibW91bnTCoDogJXMgZXN0IGTDqWrDoCBtb250w6kgb3UgJXMgZXN0IG9jY3Vww6kiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgZG9lcyBub3QgZXhpc3QiCisjfiBtc2dzdHIgIm1vdW50wqA6IGxlIHBvaW50IGRlIG1vbnRhZ2UgJXMgbidleGlzdGUgcGFzIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIgorI34gbXNnc3RyICJtb3VudMKgOiBsZSBwb2ludCBkZSBtb250YWdlICVzIGVzdCB1biBsaWVuIHN5bWJvbGlxdWUgcXVpIG5lIHBvaW50ZSBudWxsZSBwYXJ0IgorCisjfiBtc2dpZCAibW91bnQ6IHNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorI34gbXNnc3RyICJtb3VudMKgOiBsZSBww6lyaXBow6lyaXF1ZSBzcMOpY2lhbCAlcyBuJ2V4aXN0ZSBwYXMiCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0XG4iCisjfiAiICAgICAgIChhIHBhdGggcHJlZml4IGlzIG5vdCBhIGRpcmVjdG9yeSlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50wqA6IGxlIHDDqXJpcGjDqXJpcXVlIHNww6ljaWFsICVzIG4nZXhpc3RlIHBhc1xuIgorI34gIiAgICAgICAgKHVuIHByw6lmaXhlIGRlIGNoZW1pbiBuJ2VzdCBwYXMgdW4gcsOpcGVydG9pcmUpXG4iCisKKyN+IG1zZ2lkICJtb3VudDogJXMgbm90IG1vdW50ZWQgb3IgYmFkIG9wdGlvbiIKKyN+IG1zZ3N0ciAibW91bnTCoDogJXMgbidlc3QgcGFzIG1vbnTDqSwgb3Ugb3B0aW9uIGVycm9uw6llIgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiB3cm9uZyBmcyB0eXBlLCBiYWQgb3B0aW9uLCBiYWQgc3VwZXJibG9jayBvbiAlcyxcbiIKKyN+ICIgICAgICAgbWlzc2luZyBjb2RlcGFnZSBvciBoZWxwZXIgcHJvZ3JhbSwgb3Igb3RoZXIgZXJyb3IiCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudMKgOiBtYXV2YWlzIHR5cGUgZGUgc3lzdMOobWUgZGUgZmljaGllcnMsIG9wdGlvbiBlcnJvbsOpZSwgc3VwZXJibG9jIGVycm9uw6lcbiIKKyN+ICIgICAgICAgIHN1ciAlcywgcGFnZSBkZSBjb2RlIG91IHByb2dyYW1tZSBhdXhpbGlhaXJlIG1hbnF1YW50LCBvdSBhdXRyZSBlcnJldXIiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIChmb3Igc2V2ZXJhbCBmaWxlc3lzdGVtcyAoZS5nLiBuZnMsIGNpZnMpIHlvdSBtaWdodFxuIgorI34gIiAgICAgICBuZWVkIGEgL3NiaW4vbW91bnQuPHR5cGU+IGhlbHBlciBwcm9ncmFtKSIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAgKHBvdXIgcGx1c2lldXJzIHN5c3TDqG1lIGRlIGZpY2hpZXJzIChORlMgb3UgQ0lGUyBwYXIgZXhlbXBsZSksIHVuXG4iCisjfiAiICAgICAgICBwcm9ncmFtbWUgL3NiaW4vbW91bnQuPHR5cGU+IGF1eGlsaWFpcmUgcG91cnJhaXQgw6p0cmUgbsOpY2Vzc2FpcmUpIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoY291bGQgdGhpcyBiZSB0aGUgSURFIGRldmljZSB3aGVyZSB5b3UgaW4gZmFjdCB1c2VcbiIKKyN+ICIgICAgICAgaWRlLXNjc2kgc28gdGhhdCBzcjAgb3Igc2RhIG9yIHNvIGlzIG5lZWRlZD8pIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgICAoY2VsYSBwb3VycmFpdC1pbCDDqnRyZSBsZSBww6lyaXBow6lyaXF1ZSBJREUgYWxvcnMgcXVlIHZvdXMgdXRpbGlzZXpcbiIKKyN+ICIgICAgICAgIGlkZS1zY3NpLCBkZSBzb3J0ZSBxdWUgc3IwLCBzZGEgb3UgYXV0cmUgc2VyYWl0IG7DqWNlc3NhaXJlwqA/KSIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgKGFyZW4ndCB5b3UgdHJ5aW5nIHRvIG1vdW50IGFuIGV4dGVuZGVkIHBhcnRpdGlvbixcbiIKKyN+ICIgICAgICAgaW5zdGVhZCBvZiBzb21lIGxvZ2ljYWwgcGFydGl0aW9uIGluc2lkZT8pIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgICAoZXNzYXllei12b3VzIGRlIG1vbnRlciB1bmUgcGFydGl0aW9uIMOpdGVuZHVlLFxuIgorI34gIiAgICAgICAgYXUgbGlldSBkJ3VuZSBwYXJ0aXRpb24gbG9naXF1ZSDDoCBsJ2ludMOpcmlldXLCoD8pIgorCisjIE5PVEU6IGRvdWJsZSBzcGFjZSAoZml4ZWQgaW4gYW5vdGhlciBzaW1pbGFyIHN0cmluZykKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gaXMgZm91bmQgaW4gc3lzbG9nIC0gdHJ5XG4iCisjfiAiICAgICAgIGRtZXNnIHwgdGFpbCAgb3Igc29cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAgRGFucyBxdWVscXVlcyBjYXMgY2VydGFpbmVzIGluZm9ybWF0aW9ucyBzb250IHV0aWxlcyBkYW5zIGxlIGpvdXJuYWxcbiIKKyN+ICIgICAgICAgIHN5c3TDqG1lIOKAlCBlc3NheWV6IMKrwqBkbWVzZyB8IHRhaWzCoMK7IG91IHF1ZWxxdWUgY2hvc2UgZHUgZ2VucmVcbiIKKworI34gbXNnaWQgIm1vdW50OiAlczogY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIgorI34gbXNnc3RyICJtb3VudMKgOiAlc8KgOiBpbXBvc3NpYmxlIGRlIGxpcmUgbGUgc3VwZXJibG9jIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiB1bmtub3duIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnTCoDogJXPCoDogcMOpcmlwaMOpcmlxdWUgaW5jb25udSIKKworI34gbXNnaWQgIm1vdW50OiB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSAnJXMnIgorI34gbXNnc3RyICJtb3VudMKgOiB0eXBlIGRlIHN5c3TDqG1lIGRlIGZpY2hpZXJzIMKrwqAlc8KgwrsgaW5jb25udSIKKworI34gbXNnaWQgIm1vdW50OiBwcm9iYWJseSB5b3UgbWVhbnQgJXMiCisjfiBtc2dzdHIgIm1vdW50wqA6IHZvdXMgdm91bGV6IHByb2JhYmxlbWVudCBkaXJlICVzIgorCisjfiBtc2dpZCAibW91bnQ6IG1heWJlIHlvdSBtZWFudCAnaXNvOTY2MCc/IgorI34gbXNnc3RyICJtb3VudMKgOiBwZXV0LcOqdHJlIHZvdWxlei12b3VzIGRpcmUgwqvCoGlzbzk2NjDCoMK7wqA/IgorCisjfiBtc2dpZCAibW91bnQ6IG1heWJlIHlvdSBtZWFudCAndmZhdCc/IgorI34gbXNnc3RyICJtb3VudMKgOiBwZXV0LcOqdHJlIHZvdWxlei12b3VzIGRpcmUgwqvCoHZmYXTCoMK7wqA/IgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGhhcyB3cm9uZyBkZXZpY2UgbnVtYmVyIG9yIGZzIHR5cGUgJXMgbm90IHN1cHBvcnRlZCIKKyN+IG1zZ3N0ciAibW91bnTCoDogJXMgYSB1biBudW3DqXJvIGRlIHDDqXJpcGjDqXJpcXVlIGVycm9uw6kgb3UgbGUgdHlwZSBkdSBzeXN0w6htZSBkZSBmaWNoaWVycyAlcyBuJ2VzdCBwYXMgcHJpcyBlbiBjaGFyZ2UiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCBmYWlscz8iCisjfiBtc2dzdHIgIm1vdW50wqA6ICVzIG4nZXN0IHBhcyB1biBww6lyaXBow6lyaXF1ZSBibG9jLCBldCDDqWNoZWMgZCdvYnRlbnRpb24gZCfDqXRhdCIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogdGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2VcbiIKKyN+ICIgICAgICAgKG1heWJlIGBtb2Rwcm9iZSBkcml2ZXInPykiCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudMKgOiBsZSBub3lhdSBuZSByZWNvbm5hw650IHBhcyAlcyBjb21tZSB1biBww6lyaXBow6lyaXF1ZSBibG9jXG4iCisjfiAiICAgICAgICAoZXNzYXlleiBwZXV0LcOqdHJlIMKrwqBtb2Rwcm9iZSBwaWxvdGXCoMK7KS4iCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIChtYXliZSB0cnkgYC1vIGxvb3AnPykiCisjfiBtc2dzdHIgIm1vdW50wqA6ICVzIG4nZXN0IHBhcyB1biBww6lyaXBow6lyaXF1ZSBibG9jIChlc3NheWVyIHBldXQtw6p0cmUgwqvCoC1vIGxvb3DCoMK7KSIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50wqA6ICVzIG4nZXN0IHBhcyB1biBww6lyaXBow6lyaXF1ZSBibG9jIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnTCoDogJXMgbidlc3QgcGFzIHVuIHDDqXJpcGjDqXJpcXVlIGJsb2MgdmFsYWJsZSIKKworI34gbXNnaWQgImJsb2NrIGRldmljZSAiCisjfiBtc2dzdHIgInDDqXJpcGjDqXJpcXVlIGJsb2MgIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBtb3VudCAlcyVzIHJlYWQtb25seSIKKyN+IG1zZ3N0ciAibW91bnTCoDogaW1wb3NzaWJsZSBkZSBtb250ZXIgJXMlcyBlbiBsZWN0dXJlIHNldWxlIgorCisjfiBtc2dpZCAibW91bnQ6ICVzJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCBgLXcnIGZsYWcgZ2l2ZW4iCisjfiBtc2dzdHIgIm1vdW50wqA6ICVzJXMgZXN0IHByb3TDqWfDqSBlbiDDqWNyaXR1cmUgbWFpcyBsJ29wdGlvbiDCq8KgLXfCoMK7IGEgw6l0w6kgZm91cm5pZSIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgcmVtb3VudCAlcyVzIHJlYWQtd3JpdGUsIGlzIHdyaXRlLXByb3RlY3RlZCIKKyN+IG1zZ3N0ciAibW91bnTCoDogaW1wb3NzaWJsZSBkZSByZW1vbnRlciAlcyVzIGVuIGxlY3R1cmUvw6ljcml0dXJlLCBlc3QgcHJvdMOpZ8OpIGVuIMOpY3JpdHVyZSIKKworI34gbXNnaWQgIm1vdW50OiAlcyVzIGlzIHdyaXRlLXByb3RlY3RlZCwgbW91bnRpbmcgcmVhZC1vbmx5IgorI34gbXNnc3RyICJtb3VudMKgOiAlcyVzIGVzdCBwcm90w6lnw6kgZW4gw6ljcml0dXJlLCBzZXJhIG1vbnTDqSBlbiBsZWN0dXJlIHNldWxlIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnTCoDogYXVjdW4gc3VwcG9ydCB0cm91dsOpIGRhbnMgJXMiCisKKyN+IG1zZ2lkICJtb3VudDogbm8gdHlwZSB3YXMgZ2l2ZW4gLSBJJ2xsIGFzc3VtZSBuZnMgYmVjYXVzZSBvZiB0aGUgY29sb25cbiIKKyN+IG1zZ3N0ciAibW91bnTCoDogYXVjdW4gdHlwZSBuJ2Egw6l0w6kgZG9ubsOpIOKAlCB1dGlsaXNhdGlvbiBkZSBuZnMgZW4gcmFpc29uIGR1IMKrwqA6wqDCu1xuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHR5cGUgd2FzIGdpdmVuIC0gSSdsbCBhc3N1bWUgY2lmcyBiZWNhdXNlIG9mIHRoZSAvLyBwcmVmaXhcbiIKKyN+IG1zZ3N0ciAibW91bnTCoDogYXVjdW4gdHlwZSBuJ2Egw6l0w6kgZm91cm5pIOKAlCB1dGlsaXNhdGlvbiBkZSBjaWZzIGVuIHJhaXNvbiBkdSBwcsOpZml4ZSDCq8KgLy/CoMK7XG4iCisKKyN+IG1zZ2lkICJtb3VudDogaWdub3JlICVzICh1bnBhcnNhYmxlIG9mZnNldD0gb3B0aW9uKVxuIgorI34gbXNnc3RyICJtb3VudMKgOiAlcyBpZ25vcsOpIChvcHRpb24gb2Zmc2V0PSBub24gYW5hbHlzYWJsZSlcbiIKKworI34gbXNnaWQgIm1vdW50OiAlcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKKyN+IG1zZ3N0ciAibW91bnTCoDogJXMgZXN0IGTDqWrDoCBtb250w6kgc3VyICVzXG4iCisKKyMgbW91bnQvbW91bnQuYzoxMzIzCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiBtb3VudCAtViAgICAgICAgICAgICAgICAgOiBwcmludCB2ZXJzaW9uXG4iCisjfiAiICAgICAgIG1vdW50IC1oICAgICAgICAgICAgICAgICA6IHByaW50IHRoaXMgaGVscFxuIgorI34gIiAgICAgICBtb3VudCAgICAgICAgICAgICAgICAgICAgOiBsaXN0IG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKKyN+ICIgICAgICAgbW91bnQgLWwgICAgICAgICAgICAgICAgIDogaWRlbSwgaW5jbHVkaW5nIHZvbHVtZSBsYWJlbHNcbiIKKyN+ICJTbyBmYXIgdGhlIGluZm9ybWF0aW9uYWwgcGFydC4gTmV4dCB0aGUgbW91bnRpbmcuXG4iCisjfiAiVGhlIGNvbW1hbmQgaXMgYG1vdW50IFstdCBmc3R5cGVdIHNvbWV0aGluZyBzb21ld2hlcmUnLlxuIgorI34gIkRldGFpbHMgZm91bmQgaW4gL2V0Yy9mc3RhYiBtYXkgYmUgb21pdHRlZC5cbiIKKyN+ICIgICAgICAgbW91bnQgLWEgWy10fC1PXSAuLi4gICAgIDogbW91bnQgYWxsIHN0dWZmIGZyb20gL2V0Yy9mc3RhYlxuIgorI34gIiAgICAgICBtb3VudCBkZXZpY2UgICAgICAgICAgICAgOiBtb3VudCBkZXZpY2UgYXQgdGhlIGtub3duIHBsYWNlXG4iCisjfiAiICAgICAgIG1vdW50IGRpcmVjdG9yeSAgICAgICAgICA6IG1vdW50IGtub3duIGRldmljZSBoZXJlXG4iCisjfiAiICAgICAgIG1vdW50IC10IHR5cGUgZGV2IGRpciAgICA6IG9yZGluYXJ5IG1vdW50IGNvbW1hbmRcbiIKKyN+ICJOb3RlIHRoYXQgb25lIGRvZXMgbm90IHJlYWxseSBtb3VudCBhIGRldmljZSwgb25lIG1vdW50c1xuIgorI34gImEgZmlsZXN5c3RlbSAob2YgdGhlIGdpdmVuIHR5cGUpIGZvdW5kIG9uIHRoZSBkZXZpY2UuXG4iCisjfiAiT25lIGNhbiBhbHNvIG1vdW50IGFuIGFscmVhZHkgdmlzaWJsZSBkaXJlY3RvcnkgdHJlZSBlbHNld2hlcmU6XG4iCisjfiAiICAgICAgIG1vdW50IC0tYmluZCBvbGRkaXIgbmV3ZGlyXG4iCisjfiAib3IgbW92ZSBhIHN1YnRyZWU6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbW92ZSBvbGRkaXIgbmV3ZGlyXG4iCisjfiAiT25lIGNhbiBjaGFuZ2UgdGhlIHR5cGUgb2YgbW91bnQgY29udGFpbmluZyB0aGUgZGlyZWN0b3J5IGRpcjpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNsYXZlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcHJpdmF0ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXVuYmluZGFibGUgZGlyXG4iCisjfiAiT25lIGNhbiBjaGFuZ2UgdGhlIHR5cGUgb2YgYWxsIHRoZSBtb3VudHMgaW4gYSBtb3VudCBzdWJ0cmVlXG4iCisjfiAiY29udGFpbmluZyB0aGUgZGlyZWN0b3J5IGRpcjpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzaGFyZWQgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1yc2xhdmUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ycHJpdmF0ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJ1bmJpbmRhYmxlIGRpclxuIgorI34gIkEgZGV2aWNlIGNhbiBiZSBnaXZlbiBieSBuYW1lLCBzYXkgL2Rldi9oZGExIG9yIC9kZXYvY2Ryb20sXG4iCisjfiAib3IgYnkgbGFiZWwsIHVzaW5nICAtTCBsYWJlbCAgb3IgYnkgdXVpZCwgdXNpbmcgIC1VIHV1aWQgLlxuIgorI34gIk90aGVyIG9wdGlvbnM6IFstbmZGcnN2d10gWy1vIG9wdGlvbnNdIFstcCBwYXNzd2RmZF0uXG4iCisjfiAiRm9yIG1hbnkgbW9yZSBkZXRhaWxzLCBzYXkgIG1hbiA4IG1vdW50IC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlV0aWxpc2F0aW9uwqA6IG1vdW50IC1WICAgICAgICAgICAgICAgICA6IGFmZmljaGVyIGxhIHZlcnNpb25cbiIKKyN+ICIgICAgICAgICAgICAgIG1vdW50IC1oICAgICAgICAgICAgICAgICA6IGFmZmljaGVyIGNldHRlIGFpZGVcbiIKKyN+ICIgICAgICAgICAgICAgIG1vdW50ICAgICAgICAgICAgICAgICAgICA6IGFmZmljaGVyIGxhIGxpc3RlIGRlcyBzeXN0w6htZXMgZGUgZmljaGllcnMgbW9udMOpc1xuIgorI34gIiAgICAgICAgICAgICAgbW91bnQgLWwgICAgICAgICAgICAgICAgIDogaWRlbSwgaW5jbHVhbnQgbGVzIMOpdGlxdWV0dGVzIGRlIHZvbHVtZXNcbiIKKyN+ICJDZWxhIHBvdXIgbGEgcGFydGllIGluZm9ybWF0aXZlLiBTdWl0IGNlIHF1aSBwb3J0ZSBzdXIgbGUgbW9udGFnZS5cbiIKKyN+ICJMYSBjb21tYW5kZSBlc3QgwqvCoG1vdW50IFstdCB0eXBlLXN5cy1maWNoaWVyXSAgcXVvaSAgb8O5wqDCuy5cbiIKKyN+ICJMZXMgZMOpdGFpbHMgc2UgdHJvdXZhbnQgZGFucyAvZXRjL2ZzdGFiIHBldXZlbnQgw6p0cmUgb21pcy5cbiIKKyN+ICIgICAgICAgICAgICAgIG1vdW50IC1hIFstdHwtT10gLi4uICAgICA6IG1vbnRlciB0b3V0IGNlIHF1aSBlc3Qgw6ljcml0IGRhbnMgL2V0Yy9mc3RhYlxuIgorI34gIiAgICAgICAgICAgICAgbW91bnQgcMOpcmlwaMOpcmlxdWUgICAgICAgOiBtb250ZXIgbGUgcMOpcmlwaMOpcmlxdWUgw6AgbCdlbmRyb2l0IGNvbm51XG4iCisjfiAiICAgICAgICAgICAgICBtb3VudCByw6lwZXJ0b2lyZSAgICAgICAgIDogbW9udGVyIGxlIHDDqXJpcGjDqXJpcXVlIGNvbm51IGljaVxuIgorI34gIiAgICAgICAgICAgICAgbW91bnQgLXQgdHlwZSBww6lyaXBoIHLDqXDCoDogY29tbWFuZGUgZGUgbW9udGFnZSBvcmRpbmFpcmVcbiIKKyN+ICJOb3RlciBxdSdvbiBuZSBtb250ZSBwYXMgcsOpZWxsZW1lbnQgdW4gcMOpcmlwaMOpcmlxdWUsIG9uIG1vbnRlXG4iCisjfiAidW4gc3lzdMOobWUgZGUgZmljaGllcnMgKGQndW4gdHlwZSBkb25uw6kpIHRyb3V2w6kgc3VyIGxlIHDDqXJpcGjDqXJpcXVlLlxuIgorI34gIk9uIHBldXQgYXVzc2kgbW9udGVyIHVuZSBhcmJvcmVzY2VuY2UgZGUgcsOpcC4gZMOpasOgIHZpc2libGUgYWlsbGV1cnPCoDpcbiIKKyN+ICIgICAgICAgICAgICAgIG1vdW50IC0tYmluZCBhbmNpZW4tcsOpcCBub3V2ZWF1LXLDqXBcbiIKKyN+ICJvdSBkw6lwbGFjZXIgdW5lIHNvdXMtYXJib3Jlc2NlbmNlwqA6XG4iCisjfiAiICAgICAgICAgICAgICBtb3VudCAtLW1vdmUgYW5jaWVuLXLDqXAgbm91dmVhdS1yw6lwXG4iCisjfiAiT24gcGV1dCBjaGFuZ2VyIGxlIHR5cGUgZGUgbW9udGFnZSBkJ3VuIHLDqXAuwqA6XG4iCisjfiAiICAgICAgICAgICAgICBtb3VudCAtLW1ha2Utc2hhcmVkIHLDqXAuXG4iCisjfiAiICAgICAgICAgICAgICBtb3VudCAtLW1ha2Utc2xhdmUgcsOpcC5cbiIKKyN+ICIgICAgICAgICAgICAgIG1vdW50IC0tbWFrZS1wcml2YXRlIHLDqXAuXG4iCisjfiAiICAgICAgICAgICAgICBtb3VudCAtLW1ha2UtdW5iaW5kYWJsZSByw6lwLlxuIgorI34gIk9uIHBldXQgY2hhbmdlciBsZSB0eXBlIGRlIHRvdXMgbGVzIHBvaW50cyBkZSBtb250YWdlIGQndW5lXG4iCisjfiAic291cy1hcmJvcmVzY2VuY2UgY29udGVudWUgZGFucyBsZSByw6lwLjpcbiIKKyN+ICIgICAgICAgICAgICAgIG1vdW50IC0tbWFrZS1yc2hhcmVkIHLDqXAuXG4iCisjfiAiICAgICAgICAgICAgICBtb3VudCAtLW1ha2UtcnNsYXZlIHLDqXAuXG4iCisjfiAiICAgICAgICAgICAgICBtb3VudCAtLW1ha2UtcnByaXZhdGUgcsOpcC5cbiIKKyN+ICIgICAgICAgICAgICAgIG1vdW50IC0tbWFrZS1ydW5iaW5kYWJsZSByw6lwLlxuIgorI34gIlVuIHDDqXJpcGjDqXJpcXVlIHBldXQgw6p0cmUgbm9tbcOpLCBjb21tZSAvZGV2L2hkYTEgb3UgL2Rldi9jZHJvbSwgb3VcbiIKKyN+ICJyZXDDqXLDqSBwYXIgbCfDqXRpcXVldHRlLCBhdmVjIC1MIMOpdGlxdS4gb3UgcGFyIFVVSUQsIGF2ZWMgLVUgdXVpZCAuXG4iCisjfiAiQXV0cmVzIG9wdGlvbnPCoDogWy1uZkZyc3Z3XSBbLW8gb3B0aW9uc10gWy1wIGRlc2NyX2ZpY19tb3RzX3Bhc3NlXS5cbiIKKyN+ICJQb3VyIHBsdXMgZGUgcHLDqWNpc2lvbnMsIGNvbnN1bHRleiDCq8KgbWFuIDggbW91bnTCoMK7LlxuIgorCisjfiBtc2dpZCAiLS1wYXNzLWZkIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQiCisjfiBtc2dzdHIgIi0tcGFzcy1mZCBuJ2VzdCBwbHVzIHBlcm1pc2UiCisKKyN+IG1zZ2lkICJtb3VudDogb25seSByb290IGNhbiBkbyB0aGF0IChlZmZlY3RpdmUgVUlEIGlzICV1KSIKKyN+IG1zZ3N0ciAibW91bnTCoDogc2V1bCBsZSBzdXBlcnV0aWxpc2F0ZXVyIHBldXQgZXjDqWN1dGVyIGNldHRlIGNvbW1hbmRlIChsJ1VJRCBlZmZlY3RpZiBlc3QgJXUpIgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKKyN+IG1zZ3N0ciAibW91bnTCoDogc2V1bCBsZSBzdXBlcnV0aWxpc2F0ZXVyIHBldXQgZXjDqWN1dGVyIGNldHRlIGNvbW1hbmRlIgorCisjfiBtc2dpZCAibm90aGluZyB3YXMgbW91bnRlZCIKKyN+IG1zZ3N0ciAicmllbiBuJ2Egw6l0w6kgbW9udMOpIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHN1Y2ggcGFydGl0aW9uIGZvdW5kIgorI34gbXNnc3RyICJtb3VudMKgOiBwYXJ0aXRpb24gbm9uIHRyb3V2w6llIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IGZpbmQgJXMgaW4gJXMgb3IgJXMiCisjfiBtc2dzdHIgIm1vdW50wqA6IGltcG9zc2libGUgZGUgdHJvdXZlciAlcyBkYW5zICVzIG91ICVzIgorCisjfiBtc2dpZCAiW21udGVudF06IHdhcm5pbmc6IG5vIGZpbmFsIG5ld2xpbmUgYXQgdGhlIGVuZCBvZiAlc1xuIgorI34gbXNnc3RyICJbbW50ZW50XcKgOiBhdmVydGlzc2VtZW50wqA6IHBhcyBkZSBjaGFuZ2VtZW50IGRlIGxpZ25lIMOgIGxhIGZpbiBkZSAlc1xuIgorCisjfiBtc2dpZCAiW21udGVudF06IGxpbmUgJWQgaW4gJXMgaXMgYmFkJXNcbiIKKyN+IG1zZ3N0ciAiW21udGVudF3CoDogbGEgbGlnbmXCoCVkIGRhbnMgJXMgZXN0IGVycm9uw6llJXNcbiIKKworI34gbXNnaWQgIjsgcmVzdCBvZiBmaWxlIGlnbm9yZWQiCisjfiBtc2dzdHIgIsKgOyByZXN0ZSBkdSBmaWNoaWVyIGlnbm9yw6llIgorCisjfiBtc2dpZCAibm90IGVub3VnaCBtZW1vcnkiCisjfiBtc2dzdHIgInBhcyBhc3NleiBkZSBtw6ltb2lyZSIKKworI34gbXNnaWQgInVtb3VudDogY29tcGlsZWQgd2l0aG91dCBzdXBwb3J0IGZvciAtZlxuIgorI34gbXNnc3RyICJ1bW91bnTCoDogY29tcGlsw6kgc2FucyBwcmlzZSBlbiBjaGFyZ2UgZGUgLWZcbiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IHNldCBncm91cCBpZDogJW0iCisjfiBtc2dzdHIgInVtb3VudMKgOiBpbXBvc3NpYmxlIGRlIGNvbmZpZ3VyZXIgbCdpZGVudGlmaWFudCBkZSBncm91cGXCoDogJW0iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBzZXQgdXNlciBpZDogJW0iCisjfiBtc2dzdHIgInVtb3VudMKgOiBpbXBvc3NpYmxlIGRlIGNvbmZpZ3VyZXIgbCdpZGVudGlmaWFudCBkJ3V0aWxpc2F0ZXVywqA6ICVtIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgZm9yazogJXMiCisjfiBtc2dzdHIgIm1vdW50wqA6IGltcG9zc2libGUgZGUgZmFpcmUgdW4gZm9yaygpwqA6ICVzIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogaW52YWxpZCBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgInVtb3VudMKgOiAlc8KgOiBww6lyaXBow6lyaXF1ZSBibG9jIG5vbiB2YWxhYmxlIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogbm90IG1vdW50ZWQiCisjfiBtc2dzdHIgInVtb3VudMKgOiAlc8KgOiBuJ2VzdCBwYXMgbW9udMOpIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAidW1vdW50wqA6ICVzwqA6IGltcG9zc2libGUgZCfDqWNyaXJlIHN1ciBsZSBzdXBlcmJsb2MiCisKKyN+IG1zZ2lkICIiCisjfiAidW1vdW50OiAlczogZGV2aWNlIGlzIGJ1c3kuXG4iCisjfiAiICAgICAgICAoSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBhYm91dCBwcm9jZXNzZXMgdGhhdCB1c2VcbiIKKyN+ICIgICAgICAgICB0aGUgZGV2aWNlIGlzIGZvdW5kIGJ5IGxzb2YoOCkgb3IgZnVzZXIoMSkpIgorI34gbXNnc3RyICIiCisjfiAiZMOpbW9udGFnZcKgOiAlc8KgOiBww6lyaXBow6lyaXF1ZSBvY2N1cMOpLlxuIgorI34gIiAgICAgICAoRGFucyBjZXJ0YWlucyBjYXMsIGRlcyBpbmZvcyBzdXIgbGVzIHByb2Nlc3N1cyBsJ3V0aWxpc2FudFxuIgorI34gIiAgICAgICAgc29udCByw6ljdXDDqXJhYmxlcyBwYXIgbHNvZig4KSBvdSBmdXNlcigxKSkiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBub3QgZm91bmQiCisjfiBtc2dzdHIgInVtb3VudMKgOiAlc8KgOiBpbnRyb3V2YWJsZSIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVtb3VudCIKKyN+IG1zZ3N0ciAidW1vdW50wqA6ICVzwqA6IHNldWwgbGUgc3VwZXJ1dGlsaXNhdGV1ciBwZXV0IHV0aWxpc2VyIHVtb3VudCIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGJsb2NrIGRldmljZXMgbm90IHBlcm1pdHRlZCBvbiBmcyIKKyN+IG1zZ3N0ciAidW1vdW50wqA6ICVzwqA6IHDDqXJpcGjDqXJpcXVlIGJsb2Mgbm9uIGF1dG9yaXPDqSBzdXIgbGUgc3lzdMOobWUgZGUgZmljaGllcnMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiAlcyIKKyN+IG1zZ3N0ciAidW1vdW50wqA6ICVzwqA6ICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBpbnRlcm5hbCBlcnJvcjogaW52YWxpZCBhYnMgcGF0aDogJXMiCisjfiBtc2dzdHIgInVtb3VudMKgOiBlcnJldXIgaW50ZXJuZcKgOiBjaGVtaW4gYWJzb2x1IG5vbiB2YWxhYmxlwqA6ICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gY2hkaXIgdG8gJXM6ICVtIgorI34gbXNnc3RyICJ1bW91bnTCoDogw6ljaGVjIGRlIGNoYW5nZW1lbnQgZGUgcsOpcGVydG9pcmUgdmVycyAlc8KgOiAlbSIKKworI34gbXNnaWQgInVtb3VudDogZmFpbGVkIHRvIG9idGFpbiBjdXJyZW50IGRpcmVjdG9yeTogJW0iCisjfiBtc2dzdHIgInVtb3VudMKgOiDDqWNoZWMgZCdvYnRlbnRpb24gZHUgcsOpcGVydG9pcmUgYWN0dWVswqA6ICVtIgorCisjfiBtc2dpZCAidW1vdW50OiBtb3VudHBvaW50IG1vdmVkICglcyAtPiAlcykiCisjfiBtc2dzdHIgInVtb3VudMKgOiBsZSBwb2ludCBkZSBtb250YWdlIGEgw6l0w6kgZMOpcGxhY8OpICglcyAtPiAlcykiCisKKyN+IG1zZ2lkICJjdXJyZW50IGRpcmVjdG9yeSBtb3ZlZCB0byAlc1xuIgorI34gbXNnc3RyICJsZSByw6lwZXJ0b2lyZSBhY3R1ZWwgYSDDqXTDqSBkw6lwbGFjw6kgdmVycyAlc1xuIgorCisjfiBtc2dpZCAibm8gdW1vdW50MiwgdHJ5aW5nIHVtb3VudC4uLlxuIgorI34gbXNnc3RyICJwYXMgZGUgdW1vdW50MiwgdGVudGF0aXZlIGF2ZWMgdW1vdW504oCmXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGJ1c3kgLSByZW1vdW50ZWQgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudMKgOiAlcyBlc3Qgb2NjdXDDqSDigJQgcmVtb250w6kgZW4gbGVjdHVyZSBzZXVsZVxuIgorCisjfiBtc2dpZCAidW1vdW50OiBjb3VsZCBub3QgcmVtb3VudCAlcyByZWFkLW9ubHlcbiIKKyN+IG1zZ3N0ciAidW1vdW50wqA6IGltcG9zc2libGUgZGUgcmVtb250ZXIgJXMgZW4gbGVjdHVyZSBzZXVsZVxuIgorCisjfiBtc2dpZCAiJXMgaGFzIGJlZW4gdW5tb3VudGVkXG4iCisjfiBtc2dzdHIgIiVzIGEgw6l0w6kgZMOpbW9udMOpXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBmaW5kIGxpc3Qgb2YgZmlsZXN5c3RlbXMgdG8gdW5tb3VudCIKKyN+IG1zZ3N0ciAidW1vdW50wqA6IGxpc3RlIGRlcyBzeXN0w6htZXMgZGUgZmljaGllcnMgw6AgZMOpbW9udGVyIGludHJvdXZhYmxlIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiB1bW91bnQgLWggfCAtVlxuIgorI34gIiAgICAgICB1bW91bnQgLWEgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIFstdCB2ZnN0eXBlc10gWy1PIG9wdHNdXG4iCisjfiAiICAgICAgIHVtb3VudCBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gc3BlY2lhbCB8IG5vZGUuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlV0aWxpc2F0aW9uwqA6IHVtb3VudCAtaCB8IC1WXG4iCisjfiAiICAgICAgIHVtb3VudCAtYSBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gWy10IHR5cGV2ZnNdIFstTyBvcHRzXVxuIgorI34gIiAgICAgICB1bW91bnQgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIHNww6ljaWFsIHwgbsWTdWQuLi5cbiIKKworI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSAnb2Zmc2V0PSVzJyBvcHRpb25zXG4iCisjfiBtc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZGVzIG9wdGlvbnMgwqvCoG9mZnNldD0lc8KgwrtcbiIKKworI34gbXNnaWQgImRldmljZSAlcyBpcyBhc3NvY2lhdGVkIHdpdGggJXNcbiIKKyN+IG1zZ3N0ciAibGUgcMOpcmlwaMOpcmlxdWUgJXMgZXN0IGFzc29jacOpIMOgICVzXG4iCisKKyN+IG1zZ2lkICJkZXZpY2UgJXMgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICJsZSBww6lyaXBow6lyaXF1ZSAlcyBuJ2VzdCBwYXMgYXNzb2Npw6kgw6AgJXNcbiIKKworI34gbXNnaWQgIkNhbm5vdCB1bm1vdW50IFwiXCJcbiIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBkw6ltb250ZXIgwqvCoMKgwrtcbiIKKworI34gbXNnaWQgIlRyeWluZyB0byB1bm1vdW50ICVzXG4iCisjfiBtc2dzdHIgIlRlbnRhdGl2ZSBkZSBkw6ltb250ZXIgJXNcbiIKKworI34gbXNnaWQgInVtb3VudDogY29uZnVzZWQgd2hlbiBhbmFseXppbmcgbXRhYiIKKyN+IG1zZ3N0ciAidW1vdW50wqA6IHByb2Jsw6htZSDDoCBsJ2FuYWx5c2UgZGUgbXRhYiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IHVubW91bnQgJXMgLS0gJXMgaXMgbW91bnRlZCBvdmVyIGl0IG9uIHRoZSBzYW1lIHBvaW50IgorI34gbXNnc3RyICJ1bW91bnTCoDogaW1wb3NzaWJsZSBkZSBkw6ltb250ZXIgJXMg4oCUICVzIHkgZXN0IG1vbnTDqSBhdSBtw6ptZSBlbmRyb2l0IgorCisjfiBtc2dpZCAiQ291bGQgbm90IGZpbmQgJXMgaW4gbXRhYlxuIgorI34gbXNnc3RyICIlcyBpbnRyb3V2YWJsZSBkYW5zIG10YWJcbiIKKworI34gbXNnaWQgInVtb3VudDogd2FybmluZzogJXMgaXMgYXNzb2NpYXRlZCB3aXRoIG1vcmUgdGhhbiBvbmUgbG9vcCBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAidW1vdW50wqA6IGF2ZXJ0aXNzZW1lbnTCoDogJXMgZXN0IGFzc29jacOpIMOgIHBsdXNpZXVycyBww6lyaXBow6lyaXF1ZXMgYm91Y2xlXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGlzIG5vdCBtb3VudGVkIChhY2NvcmRpbmcgdG8gbXRhYikiCisjfiBtc2dzdHIgInVtb3VudMKgOiAlcyBuJ2VzdCBwYXMgbW9udMOpIChzZWxvbiBtdGFiKSIKKworI34gbXNnaWQgInVtb3VudDogaXQgc2VlbXMgJXMgaXMgbW91bnRlZCBtdWx0aXBsZSB0aW1lcyIKKyN+IG1zZ3N0ciAidW1vdW50wqA6IGlsIHNlbWJsZSBxdWUgJXMgYWl0IMOpdMOpIG1vbnTDqSBwbHVzaWV1cnMgZm9pcyIKKworI34gbXNnaWQgInVtb3VudDogJXMgaXMgbm90IGluIHRoZSBmc3RhYiAoYW5kIHlvdSBhcmUgbm90IHJvb3QpIgorI34gbXNnc3RyICJ1bW91bnTCoDogJXMgbidlc3QgcGFzIGRhbnMgZnN0YWIgKGV0IHZvdXMgbifDqnRlcyBwYXMgc3VwZXJ1dGlsaXNhdGV1cikiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIG1vdW50IGRpc2FncmVlcyB3aXRoIHRoZSBmc3RhYiIKKyN+IG1zZ3N0ciAidW1vdW50wqA6ICVzIG1vdW50IGVzdCBlbiBkw6lzYWNjb3JkIGF2ZWMgZnN0YWIiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IG9ubHkgJXMgY2FuIHVubW91bnQgJXMgZnJvbSAlcyIKKyN+IG1zZ3N0ciAidW1vdW50wqA6IHNldWwgJXMgcGV1dCBkw6ltb250ZXIgJXMgZGUgJXMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKKyN+IG1zZ3N0ciAidW1vdW50wqA6IHNldWwgbGUgc3VwZXJ1dGlsaXNhdGV1ciBwZXV0IGV4w6ljdXRlciBjZXR0ZSBjb21tYW5kZSIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICIlMSRzIC0gc2V0cyBvciBnZXRzIHByb2Nlc3MgaW8gc2NoZWR1bGluZyBjbGFzcyBhbmQgcHJpb3JpdHkuXG4iCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICAlMSRzIFtPUFRJT05dIC1wIFBJRCBbUElELi4uXVxuIgorI34gIiAgJTEkcyBbT1BUSU9OXSBDT01NQU5EXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgIC1jLCAtLWNsYXNzIDxjbGFzcz4gICBzY2hlZHVsaW5nIGNsYXNzIG5hbWUgb3IgbnVtYmVyXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCisjfiAiICAtbiwgLS1jbGFzc2RhdGEgPG51bT4gc2NoZWR1bGluZyBjbGFzcyBkYXRhXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgMC03IGZvciByZWFsdGltZSBhbmQgYmVzdC1lZmZvcnQgY2xhc3Nlc1xuIgorI34gIiAgLXAsIC0tcGlkPVBJRCAgICAgICAgIHZpZXcgb3IgbW9kaWZ5IGFscmVhZHkgcnVubmluZyBwcm9jZXNzXG4iCisjfiAiICAtdCwgLS1pZ25vcmUgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCisjfiAiICAtViwgLS12ZXJzaW9uICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgIC1oLCAtLWhlbHAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiJTEkcyDigJQgY29uZmlndXJlciBvdSBvYnRlbmlyIGxhIGNsYXNzZSBldCBsYSBwcmlvcml0w6kgZGUgcGxhbmlmaWNhdGlvbiBkJ2V4w6ljdXRpb25cbiIKKyN+ICJVdGlsaXNhdGlvbsKgOlxuIgorI34gIiAgJTEkcyBbb3B0aW9uc10gLXAgUElEIFtQSUQgLi4uXVxuIgorI34gIiAgJTEkcyBbb3B0aW9uc10gY29tbWFuZGVcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zwqA6XG4iCisjfiAiICAtYywgLS1jbGFzcyA8Y2xhc3NlPiAgbm9tIG91IG51bcOpcm8gZGUgY2xhc3NlIGRlIHBsYW5pZmljYXRpb25cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAwwqA6IGF1Y3VuZSwgMcKgOiB0ZW1wcyByw6llbCwgMsKgOiBhdSBtaWV1eCwgM8KgOiBhdSByYWxlbnRpXG4iCisjfiAiICAtbiwgLS1jbGFzc2RhdGEgPG5icj4gZG9ubsOpZXMgZGUgY2xhc3NlIGQnZXjDqWN1dGlvblxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDAtNyBwb3VyIGxlcyBjbGFzc2VzIHRlbXBzIHLDqWVsIGV0IGF1IG1pZXV4XG4iCisjfiAiICAtcCwgLS1waWQ9UElEICAgICAgICAgYWZmaWNoZXIgb3UgbW9kaWZpZXIgbGVzIHByb2Nlc3N1cyBkw6lqw6AgZW4gY291cnMgZCdleMOpY3V0aW9uXG4iCisjfiAiICAtdCwgLS1pZ25vcmUgICAgICAgICAgaWdub3JlciBsZXMgw6ljaGVjc1xuIgorI34gIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgIGFmZmljaGVyIGxlcyBpbmZvcm1hdGlvbnMgZGUgdmVyc2lvbiBldCBxdWl0dGVyXG4iCisjfiAiICAtaCwgLS1oZWxwICAgICAgICAgICAgYWZmaWNoZXIgY2V0dGUgYWlkZSBldCBxdWl0dGVyXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDx0dHk+IFsuLi5dXG4iCisjfiBtc2dzdHIgIiAlcyBbb3B0aW9uc10gPHR0eT4gWy4uLl1cbiIKKworI34gbXNnaWQgIiAtcywgLS1zZXQtdGhyZXNob2xkIDxudW0+ICAgICAgICAgIHNldCBpbnRlcnJ1cHRpb24gdGhyZXNob2xkIHZhbHVlXG4iCisjfiBtc2dzdHIgIiAtcywgLS1zZXQtdGhyZXNob2xkIDxudW0+ICAgICAgICAgIGNvbmZpZ3VyZXIgbGEgdmFsZXVyIGRlIHNldWlsIGQnaW50ZXJydXB0aW9uXG4iCisKKyN+IG1zZ2lkICIgLVMsIC0tc2V0LWRlZmF1bHQtdGhyZXNob2xkIDxudW0+ICBzZXQgZGVmYXVsdCB0aHJlc2hvbGQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAiIC1TLCAtLXNldC1kZWZhdWx0LXRocmVzaG9sZCA8bnVtPiAgY29uZmlndXJlciBsYSB2YWxldXIgZGUgc2V1aWwgcGFyIGTDqWZhdXRcbiIKKworI34gbXNnaWQgIiAtdCwgLS1zZXQtZmx1c2ggPG51bT4gICAgICAgICAgICAgIHNldCBmbHVzaCB0aW1lb3V0IHRvIHZhbHVlXG4iCisjfiBtc2dzdHIgIiAtdCwgLS1zZXQtZmx1c2ggPG51bT4gICAgICAgICAgICAgIGNvbmZpZ3VyZXIgbGEgdmFsZXVyIGRlIHRlbXBvcmlzYXRpb24gcG91ciBsZSB2aWRhZ2VcbiIKKworI34gbXNnaWQgIiAtVCwgLS1zZXQtZGVmYXVsdC1mbHVzaCA8bnVtPiAgICAgIHNldCB0aGUgZGVmYXVsdCBmbHVzaCB0aW1lb3V0IHRvIHZhbHVlXG4iCisjfiBtc2dzdHIgIiAtVCwgLS1zZXQtZGVmYXVsdC1mbHVzaCA8bnVtPiAgICAgIGNvbmZpZ3VyZXIgbGEgdmFsZXVyIHBhciBkw6lmYXV0IGRlIHRlbXBvcmlzYXRpb24gcG91ciBsZSB2aWRhZ2VcbiIKKworI34gbXNnaWQgIiAtaSwgLS1pbnRlcnZhbCA8c2Vjb25kcz4gICAgICAgICAgIGdhdGhlciBzdGF0aXN0aWNzIGV2ZXJ5IDxzZWNvbmRzPiBpbnRlcnZhbFxuIgorI34gbXNnc3RyICIgLWksIC0taW50ZXJ2YWwgPGludGVydmFsbGU+ICAgICAgICByw6ljdXDDqXJlciBsZXMgc3RhdGlzdGlxdWVzIHRvdXRlcyBsZXMgPGludGVydmFsbGU+IHNlY29uZGVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRmlsZSAlcywgRm9yIHRocmVzaG9sZCB2YWx1ZSAlbHUsIE1heGltdW0gY2hhcmFjdGVycyBpbiBmaWZvIHdlcmUgJWQsXG4iCisjfiAiYW5kIHRoZSBtYXhpbXVtIHRyYW5zZmVyIHJhdGUgaW4gY2hhcmFjdGVycy9zZWNvbmQgd2FzICVmIgorI34gbXNnc3RyICIiCisjfiAiRmljaGllciAlcywgcG91ciBsYSB2YWxldXIgZGUgc2V1aWwgJWx1LCBub21icmUgbWF4aW1hbCBkZSBjYXJhY3TDqHJlcyBkYW5zIHVuZSBGSUZPIMOpdGFpdCAlZFxuIgorI34gImV0IGxlIHRhdXggZGUgdHJhbnNmZXJ0IG1heGltYWwgZW4gY2FyYWN0w6hyZXMgcGFyIHNlY29uZGVzIMOpdGFpdCAlZiIKKworI34gbXNnaWQgIiIKKyN+ICJGaWxlICVzLCBGb3IgdGhyZXNob2xkIHZhbHVlICVsdSBhbmQgdGltZW91dCB2YWx1ZSAlbHUsIE1heGltdW0gY2hhcmFjdGVycyBpbiBmaWZvIHdlcmUgJWQsXG4iCisjfiAiYW5kIHRoZSBtYXhpbXVtIHRyYW5zZmVyIHJhdGUgaW4gY2hhcmFjdGVycy9zZWNvbmQgd2FzICVmIgorI34gbXNnc3RyICIiCisjfiAiRmljaGllciAlcywgcG91ciBsYSB2YWxldXIgZGUgc2V1aWwgJWx1IGV0IGxlIGTDqWxhaSBkZSBncsOiY2UgJWx1LCBub21icmUgbWF4aW1hbCBkZSBjYXJhY3TDqHJlcyBkYW5zIHVuZSBGSUZPIMOpdGFpdCAlZFxuIgorI34gImV0IGxlIHRhdXggZGUgdHJhbnNmZXJ0IG1heGltYWwgZW4gY2FyYWN0w6hyZSBwYXIgc2Vjb25kZSDDqXRhaXQgJWYiCisKKyN+IG1zZ2lkICJjYW5ub3QgaXNzdWUgQ1lHRVRNT04gb24gJXMiCisjfiBtc2dzdHIgImltcG9zc2libGUgZCfDqW1ldHRyZSBDWUdFVE1PTiBzdXIgJXMiCisKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRocmVzaG9sZCBmb3IgJXMiCisjfiBtc2dzdHIgImltcG9zc2libGUgZCdvYnRlbmlyIGxhIHZhbGV1ciBkZSBzZXVpbCBwb3VyICVzIgorCisjfiBtc2dpZCAiY2Fubm90IGdldCB0aW1lb3V0IGZvciAlcyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ29idGVuaXIgbGEgdmFsZXVyIGQnZXhwaXJhdGlvbiBwb3VyICVzIgorCisjfiBtc2dpZCAiJXM6ICVsdSBpbnRzLCAlbHUvJWx1IGNoYXJzOyBmaWZvOiAlbHUgdGhyZXNoLCAlbHUgdG1vdXQsICVsdSBtYXgsICVsdSBub3dcbiIKKyN+IG1zZ3N0ciAiJXPCoDogJWx1IGludC4gJWx1LyVsdSBjYXIuwqA7IEZJRk/CoDogJWx1IHNldWlsLCAlbHUgZMOpbGFpLCAlbHUgbWF4LCAlbHUgYWN0dWVsLlxuIgorCisjfiBtc2dpZCAiICAgJWYgaW50L3NlYzsgJWYgcmVjLCAlZiBzZW5kIChjaGFyL3NlYylcbiIKKyN+IG1zZ3N0ciAiICAgJWYgaW50L3NlY8KgOyAlZiByZcOndSwgJWYgdHJhbnNtaXMgKGNhci9zZWMpXG4iCisKKyN+IG1zZ2lkICIlczogJWx1IGludHMsICVsdSBjaGFyczsgZmlmbzogJWx1IHRocmVzaCwgJWx1IHRtb3V0LCAlbHUgbWF4LCAlbHUgbm93XG4iCisjfiBtc2dzdHIgIiVzwqA6ICVsdSBpbnQuLCAlbHUgY2FyLsKgOyBGSUZPwqA6ICVsdSBzZXVpbCwgJWx1IGTDqWxhaSwgJWx1IG1heCwgJWx1IGFjdHVlbC5cbiIKKworI34gbXNnaWQgIiAgICVmIGludC9zZWM7ICVmIHJlYyAoY2hhci9zZWMpXG4iCisjfiBtc2dzdHIgIiAgICVmwqBpbnQvc2VjwqA7ICVmwqByZWMgKGNhcmFjdMOocmVzL3NlYylcbiIKKworI34gbXNnaWQgIkludmFsaWQgaW50ZXJ2YWwgdmFsdWUiCisjfiBtc2dzdHIgIlZhbGV1ciBpbnRlcm5lIG5vbiB2YWxhYmxlIgorCisjfiBtc2dpZCAiSW52YWxpZCBpbnRlcnZhbCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIlZhbGV1ciBpbnRlcm5lIG5vbiB2YWxhYmxlwqA6ICVkIgorCisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdmFsdWUiCisjfiBtc2dzdHIgIlZhbGV1ciBkJ2luaXRpYWxpc2F0aW9uIG5vbiB2YWxhYmxlIgorCisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdmFsdWU6ICVkIgorI34gbXNnc3RyICJWYWxldXIgZCdpbml0aWFsaXNhdGlvbiBub24gdmFsYWJsZcKgOiAlZCIKKworI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmFsZXVyIHBhciBkw6lmYXV0IG5vbiB2YWxhYmxlIgorCisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiVmFsZXVyIHBhciBkw6lmYXV0IG5vbiB2YWxhYmxlwqA6ICVkIgorCisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdGltZSB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmFsZXVyIGRlIHRlbXBzIG5vbiB2YWxhYmxlIgorCisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdGltZSB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIlZhbGV1ciBkZSB0ZW1wcyBub24gdmFsYWJsZcKgOiAlZCIKKworI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICJWYWxldXIgZGUgdGVtcHMgcGFyIGTDqWZhdXQgbm9uIHZhbGFibGUiCisKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdGltZSB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIlZhbGV1ciBkZSB0ZW1wcyBwYXIgZMOpZmF1dCBub24gdmFsYWJsZcKgOiAlZCIKKworI34gbXNnaWQgImNhbm5vdCBzZXQgJXMgdG8gdGhyZXNob2xkICVkIgorI34gbXNnc3RyICJpbXBvc3NpYmxlIGQnaW5pdGlhbGlzZXIgJXMgYXUgc2V1aWzCoCVkIgorCisjfiBtc2dpZCAiY2Fubm90IHNldCAlcyB0byB0aW1lIHRocmVzaG9sZCAlZCIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2luaXRpYWxpc2VyICVzIGF1IHRlbXBzIGRlIHNldWlswqAlZCIKKworI34gbXNnaWQgIiVzOiAlbGQgY3VycmVudCB0aHJlc2hvbGQgYW5kICVsZCBjdXJyZW50IHRpbWVvdXRcbiIKKyN+IG1zZ3N0ciAiJXPCoDogJWxkIHNldWlsIGNvdXJhbnQgZXQgJWxkIGV4cGlyYXRpb24gYWN0dWVsbGVcbiIKKworI34gbXNnaWQgIiVzOiAlbGQgZGVmYXVsdCB0aHJlc2hvbGQgYW5kICVsZCBkZWZhdWx0IHRpbWVvdXRcbiIKKyN+IG1zZ3N0ciAiJXPCoDogJWxkIHNldWlsIHBhciBkw6lmYXV0IGV0ICVsZCBleHBpcmF0aW9uIHBhciBkw6lmYXV0XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgZG9uJ3QgbW9kaWZ5IHRoZSBsZW5ndGggb2YgdGhlIGZpbGVcbiIKKyN+ICIgLXAsIC0tcHVuY2gtaG9sZSAgICBwdW5jaCBob2xlcyBpbiB0aGUgZmlsZVxuIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBvZiB0aGUgYWxsb2NhdGlvbiwgaW4gYnl0ZXNcbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgdGhlIGFsbG9jYXRpb24sIGluIGJ5dGVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLW4sIC0ta2VlcC1zaXplICAgICBuZSBwYXMgbW9kaWZpZXIgbGEgbG9uZ3VldXIgZHUgZmljaGllclxuIgorI34gIiAtcCwgLS1wdW5jaC1ob2xlICAgIGZhaXJlIGRlcyB0cm91cyBkYW5zIGxlIGZpY2hpZXJcbiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxuYnJlPiBpbmRleCBkZSBsJ2FsbG9jYXRpb24sIGVuIG9jdGV0XG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8bmJyZT4gbG9uZ3VldXIgZGUgbCdhbGxvY2F0aW9uLCBlbiBvY3RldFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKKyN+ICIgLW0sIC0tbWluaW11bSA8bnVtPiBtaW5pbXVtIGV4dGVudCBsZW5ndGggdG8gZGlzY2FyZFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IG51bWJlciBvZiBkaXNjYXJkZWQgYnl0ZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIHBvc2l0aW9uIGVuIG9jdGV0IMOgIHBhcnRpciBkZSBsYXF1ZWxsZSBhYmFuZG9ubmVyXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgdGFpbGxlIGVuIG9jdGV0IMOgIGFiYW5kb25uZXIgw6AgcGFydGlyIGRlIGxhIHBvc2l0aW9uXG4iCisjfiAiIC1tLCAtLW1pbmltdW0gPG51bT4gdGFpbGxlIMOpdGVuZHVlIG1pbmltYWxlIMOgIGFiYW5kb25uZXJcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICBhZmZpY2hlciBsZSBub21icmUgZCdvY3RldHMgYWJhbmRvbm7DqXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaW1lIGVsYXBzZWQgc2luY2UgcmVmZXJlbmNlIHRpbWUgaGFzIGJlZW4gJS42ZiBzZWNvbmRzLlxuIgorI34gIkRlbGF5aW5nIGZ1cnRoZXIgdG8gcmVhY2ggdGhlIG5ldyB0aW1lLlxuIgorI34gbXNnc3RyICIiCisjfiAiVGVtcHMgw6ljb3Vsw6kgZGVwdWlzIGxhIHLDqWbDqXJlbmNlIHRlbXBvcmVsbGXCoDogJS42ZsKgc2Vjb25kZXMuXG4iCisjfiAiRMOpbGFpIGVuIGNvdXJzIHBvdXIgYXR0ZWluZHJlIGxhIG5vdXZlbGxlIGhldXJlLlxuIgorCisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlIgorI34gbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgZMOpdGVybWluYXRpb24gZGUgbGEgc291cmNlIgorCisjfiBtc2dpZCAiIC10ZXJtIDx0ZXJtaW5hbF9uYW1lPlxuIgorI34gbXNnc3RyICIgLXRlcm0gPG5vbS1kZS10ZXJtaW5hbD5cbiIKKworI34gbXNnaWQgIiAtcmVzZXRcbiIKKyN+IG1zZ3N0ciAiIC1yZXNldFxuIgorCisjfiBtc2dpZCAiIC1pbml0aWFsaXplXG4iCisjfiBtc2dzdHIgIiAtaW5pdGlhbGl6ZVxuIgorCisjfiBtc2dpZCAiIC1jdXJzb3IgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1jdXJzb3IgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtcmVwZWF0IDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtcmVwZWF0IDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLWFwcGN1cnNvcmtleXMgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1hcHBjdXJzb3JrZXlzIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLWxpbmV3cmFwIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtbGluZXdyYXAgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtZGVmYXVsdFxuIgorI34gbXNnc3RyICIgLWRlZmF1bHRcbiIKKworI34gbXNnaWQgIiAtZm9yZWdyb3VuZCA8ZGVmYXVsdHxibGFja3xibHVlfGN5YW58Z3JlZW58bWFnZW50YXxyZWR8d2hpdGV8eWVsbG93PlxuIgorI34gbXNnc3RyICIgLWZvcmVncm91bmQgPGRlZmF1bHR8YmxhY2t8Ymx1ZXxjeWFufGdyZWVufG1hZ2VudGF8cmVkfHdoaXRlfHllbGxvdz5cbiIKKworI34gbXNnaWQgIiAtYmFja2dyb3VuZCA8ZGVmYXVsdHxibGFja3xibHVlfGN5YW58Z3JlZW58bWFnZW50YXxyZWR8d2hpdGV8eWVsbG93PlxuIgorI34gbXNnc3RyICIgLWJhY2tncm91bmQgPGRlZmF1bHR8YmxhY2t8Ymx1ZXxjeWFufGdyZWVufG1hZ2VudGF8cmVkfHdoaXRlfHllbGxvdz5cbiIKKworI34gbXNnaWQgIiAtaGJjb2xvciA8YmxhY2t8Ymx1ZXxicmlnaHR8Y3lhbnxncmVlbnxncmV5fG1hZ2VudGF8cmVkfHdoaXRlfHllbGxvdz5cbiIKKyN+IG1zZ3N0ciAiIC1oYmNvbG9yIDxibGFja3xibHVlfGJyaWdodHxjeWFufGdyZWVufGdyZXl8bWFnZW50YXxyZWR8d2hpdGV8eWVsbG93PlxuIgorCisjfiBtc2dpZCAiIC1pbnZlcnNlc2NyZWVuIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtaW52ZXJzZXNjcmVlbiA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1ib2xkIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtYm9sZCA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1ibGluayA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLWJsaW5rIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLXJldmVyc2UgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1yZXZlcnNlIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLXVuZGVybGluZSA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLXVuZGVybGluZSA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1zdG9yZVxuIgorI34gbXNnc3RyICIgLXN0b3JlXG4iCisKKyN+IG1zZ2lkICIgLWNsZWFyIDxhbGx8cmVzdD5cbiIKKyN+IG1zZ3N0ciAiIC1jbGVhciA8YWxsfHJlc3Q+XG4iCisKKyN+IG1zZ2lkICIgLXRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICAgICAodGFibiA9IDEtMTYwKVxuIgorI34gbXNnc3RyICIgLXRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICAgICAodGFibiA9IDEtMTYwKVxuIgorCisjfiBtc2dpZCAiIC1jbHJ0YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+IG1zZ3N0ciAiIC1jbHJ0YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgKHRhYm4gPSAxLTE2MClcbiIKKworI34gbXNnaWQgIiAtcmVndGFicyA8MS0xNjA+XG4iCisjfiBtc2dzdHIgIiAtcmVndGFicyA8MS0xNjA+XG4iCisKKyN+IG1zZ2lkICIgLWJsYW5rIDwwLTYwfGZvcmNlfHBva2U+XG4iCisjfiBtc2dzdHIgIiAtYmxhbmsgPDAtNjB8Zm9yY2V8cG9rZT5cbiIKKworI34gbXNnaWQgIiAtZHVtcCAgIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gbXNnc3RyICIgLWR1bXAgICA8MS1OTVJPX0NPTlNPTEVTPlxuIgorCisjfiBtc2dpZCAiIC1hcHBlbmQgPDEtTlJfQ09OU09MRVM+XG4iCisjfiBtc2dzdHIgIiAtYXBwZW5kIDwxLU5NUk9fQ09OU09MRVM+XG4iCisKKyN+IG1zZ2lkICIgLWZpbGUgZHVtcGZpbGVuYW1lXG4iCisjfiBtc2dzdHIgIiAtZmlsZSBub21maWNoaWVyZMOpcMO0dFxuIgorCisjfiBtc2dpZCAiIC1tc2cgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1tc2cgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtbXNnbGV2ZWwgPDAtOD5cbiIKKyN+IG1zZ3N0ciAiIC1tc2dsZXZlbCA8MC04PlxuIgorCisjfiBtc2dpZCAiIC1wb3dlcmRvd24gPDAtNjA+XG4iCisjfiBtc2dzdHIgIiAtcG93ZXJkb3duIDwwLTYwPlxuIgorCisjfiBtc2dpZCAiIC1ibGVuZ3RoIDwwLTIwMDA+XG4iCisjfiBtc2dzdHIgIiAtYmxlbmd0aCA8MC0yMDAwPlxuIgorCisjfiBtc2dpZCAiIC1iZnJlcSBmcmVxbnVtYmVyXG4iCisjfiBtc2dzdHIgIiAgLWJmcmVxIG5vbWJyZS1kZS1sYS1mcsOpcXVlbmNlXG4iCisKKyN+IG1zZ2lkICIgLXZlcnNpb25cbiIKKyN+IG1zZ3N0ciAiIC12ZXJzaW9uXG4iCisKKyN+IG1zZ2lkICIgLWhlbHBcbiIKKyN+IG1zZ3N0ciAiIC1oZWxwXG4iCisKKyN+IG1zZ2lkICJFcnJvciB3cml0aW5nIHNjcmVlbmR1bXAiCisjfiBtc2dzdHIgIkVycmV1ciBsb3JzIGRlIGwnw6ljcml0dXJlIGR1IHNjcmVlbmR1bXAiCisKKyN+IG1zZ2lkICJDb3VsZG4ndCByZWFkIG5laXRoZXIgL2Rldi92Y3NhMCBub3IgL2Rldi92Y3NhIgorI34gbXNnc3RyICJJbXBvc3NpYmxlIGRlIGxpcmUgL2Rldi92Y3NhMCBvdSAvZGV2L3Zjc2EiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIlV0aWxpc2F0aW9uwqA6ICVzIFtvcHRpb25zXSBmaWNoaWVyIC4uLlxuIgorCisjfiBtc2dpZCAiIgorI34gIk9wdGlvbnM6XG4iCisjfiAiICAtZCAgICAgICAgZGlzcGxheSBoZWxwIGluc3RlYWQgb2YgcmluZyBiZWxsXG4iCisjfiAiICAtZiAgICAgICAgY291bnQgbG9naWNhbCwgcmF0aGVyIHRoYW4gc2NyZWVuIGxpbmVzXG4iCisjfiAiICAtbCAgICAgICAgc3VwcHJlc3MgcGF1c2UgYWZ0ZXIgZm9ybSBmZWVkXG4iCisjfiAiICAtcCAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIKKyN+ICIgIC1jICAgICAgICBkbyBub3Qgc2Nyb2xsLCBkaXNwbGF5IHRleHQgYW5kIGNsZWFuIGxpbmUgZW5kc1xuIgorI34gIiAgLXUgICAgICAgIHN1cHByZXNzIHVuZGVybGluaW5nXG4iCisjfiAiICAtcyAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorI34gIiAgLU5VTSAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBsaW5lcyBwZXIgc2NyZWVuZnVsXG4iCisjfiAiICArTlVNICAgICAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIGxpbmUgbnVtYmVyIE5VTVxuIgorI34gIiAgKy9TVFJJTkcgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBzZWFyY2ggc3RyaW5nIG1hdGNoXG4iCisjfiAiICAtViAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIk9wdGlvbnPCoDpcbiIKKyN+ICIgIC1kICAgICAgICBhZmZpY2hlciBsJ2FpZGUgYXUgbGlldSBkJ8OpbWV0dHJlIHVuIGJpcFxuIgorI34gIiAgLWYgICAgICAgIGNvbXB0YWdlIGxvZ2lxdWUsIHBsdXTDtHQgcXUndW4gY29tcHRhZ2UgZGVzIGxpZ25lcyDDoCBsJ8OpY3JhblxuIgorI34gIiAgLWwgICAgICAgIHN1cHByaW1lciBsYSBwYXVzZSBhcHLDqHMgdW4gc2F1dCBkZSBwYWdlXG4iCisjfiAiICAtcCAgICAgICAgcGFzIGRlIGTDqWZpbGVtZW50LCBlZmZhY2VyIGwnw6ljcmFuIGF2YW50IGQnYWZmaWNoZXIgbGUgdGV4dGVcbiIKKyN+ICIgIC1jICAgICAgICBwYXMgZGUgZMOpZmlsZW1lbnQsIGFmZmljaGVyIGxlIHRleHRlIGV0IGVmZmFjZXIgbGVzIGZpbnMgZGUgbGlnbmVcbiIKKyN+ICIgIC11ICAgICAgICBzdXBwcmltZXIgbGUgc291bGlnbmVtZW50XG4iCisjfiAiICAtcyAgICAgICAgY29udHJhY3RlciBwbHVzaWV1cnMgbGlnbmVzIHZpZGUgZW4gdW5lIHNldWxlXG4iCisjfiAiICAtTk9NQlJFICAgaW5kaXF1ZXIgbGUgbm9tYnJlIGRlIGxpZ25lcyBwYXIgw6ljcmFuIGNvbXBsZXRcbiIKKyN+ICIgICtOT01CUkUgICBhZmZpY2hlciBsZSBmaWNoaWVyIMOgIHBhcnRpciBkZSBsYSBsaWduZSBudW3DqXJvIE5PTUJSRVxuIgorI34gIiAgKy9DSEHDjk5FICBhZmZpY2hlciBsZSBmaWNoaWVyIMOgIHBhcnRpciBkZSBsYSBjaGHDrm5lIHJlY2hlcmNow6llIGNvcnJlc3BvbmRhbnRlXG4iCisjfiAiICAtViAgICAgICAgYWZmaWNoZXIgbGVzIGluZm9ybWF0aW9ucyBkZSB2ZXJzaW9uIGV0IHF1aXR0ZXJcbiIKKworI34gbXNnaWQgImxpbmUgdG9vIGxvbmciCisjfiBtc2dzdHIgImxpZ25lIHRyb3AgbG9uZ3VlIgorCisjfiBtc2dpZCAic2V0IGJsb2Nrc2l6ZSIKKyN+IG1zZ3N0ciAiY29uZmlndXJlciBsYSB0YWlsbGUgZGUgYmxvYyIKKworI34gbXNnaWQgIm9uZSBiYWQgYmxvY2tcbiIKKyN+IG1zZ3N0ciAidW4gYmxvYyBjb3Jyb21wdVxuIgorCisjfiBtc2dpZCAicGFydGl0aW9uIHR5cGUgaGV4IG9yIHV1aWQiCisjfiBtc2dzdHIgInR5cGUgZGUgcGFydGl0aW9uIGhleCBvdSB1dWlkIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiICVzIFtvcHRpb25zXSBww6lyaXBow6lyaXF1ZVxuIgorCisjfiBtc2dpZCAicmVhZCBmYWlsZWQgJXMiCisjfiBtc2dzdHIgIsOpY2hlYyBkZSBsZWN0dXJlICVzIgorCisjfiBtc2dpZCAic2VlayBmYWlsZWQgJXMiCisjfiBtc2dzdHIgIsOpY2hlYyBkZSBwb3NpdGlvbm5lbWVudCAlcyIKKworI34gbXNnaWQgInNlZWsgZmFpbGVkOiAlZCIKKyN+IG1zZ3N0ciAiw6ljaGVjIGRlIHBvc2l0aW9ubmVtZW50ICVkIgorCisjfiBtc2dpZCAid3JpdGUgZmFpbGVkOiAlZCIKKyN+IG1zZ3N0ciAiw6ljaGVjIGQnw6ljcml0dXJlICVkIgorCisjfiBtc2dpZCAiRGV0ZWN0ZWQgJWQgZXJyb3IocykuIgorI34gbXNnc3RyICIlZMKgZXJyZXVyKHMpIGTDqXRlY3TDqWUocykiCisKKyN+IG1zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQiCisjfiBtc2dzdHIgIkF1Y3VuZSBwYXJ0aXRpb24gZMOpZmluaWUiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorI34gIiAtZCwgLS1kZXRhY2ggPGxvb3BkZXY+IFsuLi5dICBkZXRhY2ggb25lIG9yIG1vcmUgZGV2aWNlc1xuIgorI34gIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorI34gIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICBmaW5kIGZpcnN0IHVudXNlZCBkZXZpY2VcbiIKKyN+ICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIGRldmljZVxuIgorI34gIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBhZmZpY2hlciB0b3VzIGxlcyBww6lyaXBow6lyaXF1ZXMgdXRpbGlzw6lzXG4iCisjfiAiIC1kLCAtLWRldGFjaCA8cMOpcmlwaC4+IFsuLi5dICBkw6l0YWNoZXIgdW4gb3UgcGx1c2lldXJzIHDDqXJpcGjDqXJpcXVlc1xuIgorI34gIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkw6l0YWNoZXIgdG91cyBsZXMgcMOpcmlwaMOpcmlxdWVzIHV0aWxpc8Opc1xuIgorI34gIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICB0cm91dmVyIGxlIHByZW1pZXIgcMOpcmlwaMOpcmlxdWUgaW51dGlsaXPDqVxuIgorI34gIiAtYywgLS1zZXQtY2FwYWNpdHkgPHDDqXJpcGguPiAgcmVkaW1lbnNpb25uZXIgbGUgcMOpcmlwaMOpcmlxdWVcbiIKKyN+ICIgLWosIC0tYXNzb2NpYXRlZCA8ZmljaGllcj4gICAgYWZmaWNoZXIgdG91cyBsZXMgcMOpcmlwaMOpcmlxdWVzIGFzc29jacOpcyDDoCA8ZmljaGllcj5cbiIKKworI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlLCBvZmZzZXQgaXMgbm90IDUxMi1ieXRlIGFsaWduZWQuIgorI34gbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgY29uZmlndXJhdGlvbiBkdSBww6lyaXBow6lyaXF1ZSBib3VjbGUsIGzigJlpbmRleCBu4oCZZXN0IHBhcyBhbGlnbsOpIHN1ciA1MTLCoG9jdGV0cy4iCisKKyMgTk9URTogcy91bnNzdXBvcnRlZC91bnN1cG9ydGVkLworI34gbXNnaWQgInVuc3N1cG9ydGVkIC0tbG9jYWwtbGluZSBtb2RlIGFyZ3VtZW50IgorI34gbXNnc3RyICJhcmd1bWVudCBtb2RlIGRlIC0tbG9jYWwtbGluZSBub24gcHJpcyBlbiBjaGFyZ2UiCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKKyN+IG1zZ3N0ciAiICVzIFtvcHRpb25zXSBmaWNoaWVyLi4uXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTpcbiIKKyN+IG1zZ3N0ciAidXRpbGlzYXRpb27CoDpcbiIKKworI34gbXNnaWQgIlx0Tk9URTogZWx2dHVuZSBvbmx5IHdvcmtzIHdpdGggMi40IGtlcm5lbHNcbiIKKyN+IG1zZ3N0ciAiXHROb3RlwqA6IGVsdnR1bmUgbmUgZm9uY3Rpb25uZSBxdSdhdmVjIGxlcyBub3lhdXjCoDIuNFxuIgorCisjfiBtc2dpZCAibWlzc2luZyBibG9ja2RldmljZSwgdXNlIC1oIGZvciBoZWxwXG4iCisjfiBtc2dzdHIgInDDqXJpcGjDqXJpcXVlIGJsb2MgbWFucXVhbnQsIHV0aWxpc2V6IC1oIHBvdXIgbCdhaWRlXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiZWx2dHVuZSBpcyBvbmx5IHVzZWZ1bCBvbiBvbGRlciBrZXJuZWxzO1xuIgorI34gImZvciAyLjYgdXNlIElPIHNjaGVkdWxlciBzeXNmcyB0dW5hYmxlcyBpbnN0ZWFkLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gImVsdnR1bmUgbidlc3QgdXRpbGUgcXUnYXZlYyBsZXMgYW5jaWVucyBub3lhdXjCoDsgcG91ciBsZXMgbm95YXV4wqAyLjZcbiIKKyN+ICJ1dGlsaXNleiBwbHV0w7R0IGwnb3Jkb25uYW5jZXVyIGQnRS9TIGRlIHN5c3TDqG1lIGRlIGZpY2hpZXJzIHBhcmFtw6l0cmFibGXigKZcbiIKKworI34gbXNnaWQgImVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAiw6ljaGVjIGQnYXJndW1lbnQgZGUgbnVtw6lybyBkJ8OpZGl0aW9uIgorCisjIGRpc2stdXRpbHMvbWtzd2FwLmM6NjIzCisjfiBtc2dpZCAiZnN5bmMgZmFpbGVkIgorI34gbXNnc3RyICLDqWNoZWMgZGUgbGEgc3luY2hyb25pc2F0aW9uIGR1IHN5c3TDqG1lIGRlIGZpY2hpZXJzIHBhciBmc3luYyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICJQcmludCB2ZXJzaW9uOlxuIgorI34gIiAgICAgICAgJXMgLXZcbiIKKyN+ICJQcmludCBwYXJ0aXRpb24gdGFibGU6XG4iCisjfiAiICAgICAgICAlcyAtUCB7cnxzfHR9IFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+ICJJbnRlcmFjdGl2ZSB1c2U6XG4iCisjfiAiICAgICAgICAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICItYTogVXNlIGFycm93IGluc3RlYWQgb2YgaGlnaGxpZ2h0aW5nO1xuIgorI34gIi16OiBTdGFydCB3aXRoIGEgemVybyBwYXJ0aXRpb24gdGFibGUsIGluc3RlYWQgb2YgcmVhZGluZyB0aGUgcHQgZnJvbSBkaXNrO1xuIgorI34gIi1jIEMgLWggSCAtcyBTOiBPdmVycmlkZSB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgbnVtYmVyIG9mIGN5bGluZGVycyxcbiIKKyN+ICIgICAgICAgICAgICAgICAgdGhlIG51bWJlciBvZiBoZWFkcyBhbmQgdGhlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVXRpbGlzYXRpb27CoDpcbiIKKyN+ICJBZmZpY2hlciBsZSBudW3DqXJvIGRlIHZlcnNpb27CoDpcbiIKKyN+ICIgICAgICAgICVzIC12XG4iCisjfiAiQWZmaWNoZXIgbGEgdGFibGUgZGUgcGFydGl0aW9uc8KgOlxuIgorI34gIiAgICAgICAgJXMgLVAge3J8c3x0fSBbb3B0aW9uc10gcMOpcmlwaMOpcmlxdWVcbiIKKyN+ICJVdGlsaXNhdGlvbiBpbnRlcmFjdGl2ZcKgOlxuIgorI34gIiAgICAgICAgJXMgW29wdGlvbnNdIHDDqXJpcGjDqXJpcXVlXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uc8KgOlxuIgorI34gIi1hwqA6IFV0aWxpc2VyIGRlcyBmbMOoY2hlcyDDoCBsYSBwbGFjZSBkZSBsYSBzdXJicmlsbGFuY2UuXG4iCisjfiAiLXrCoDogQ29tbWVuY2VyIGF2ZWMgdW5lIHRhYmxlIGRlIHBhcnRpdGlvbnMgdmllcmdlLFxuIgorI34gIiAgICAgYXUgbGlldSBkZSBsYSBsaXJlIHN1ciBsZSBkaXNxdWUuXG4iCisjfiAiLWMgQyAtaCBIIC1zIFPCoDogcGFzc2VyIG91dHJlIGxlcyBwYXJhbcOodHJlcyBjb25udXMgZHUgbm95YXXCoDogbm9tYnJlIGRlXG4iCisjfiAiICAgICAgICAgICAgICAgICBjeWxpbmRyZXMsIG5vbWJyZSBkZSB0w6p0ZXMgZXQgbm9tYnJlIGRlIHNlY3RldXJzIHBhciBwaXN0ZS5cbiIKKworI34gbXNnaWQgIldyaXRpbmcgZGlza2xhYmVsIHRvICVzLlxuIgorI34gbXNnc3RyICLDiWNyaXR1cmUgZGUgbCfDqXRpcXVldHRlIGRlIGRpc3F1ZSBzdXIgJXMuXG4iCisKKyN+IG1zZ2lkICJMYXN0ICVzIG9yICtzaXplIG9yICtzaXplTSBvciArc2l6ZUsiCisjfiBtc2dzdHIgIkRlcm5pZXIgJXMgb3UgK3RhaWxsZSBvciArdGFpbGxlTSBvdSArdGFpbGxlSyIKKworI34gbXNnaWQgIlJlYWRpbmcgZGlza2xhYmVsIG9mICVzIGF0IHNlY3RvciAlZC5cbiIKKyN+IG1zZ3N0ciAiTGVjdHVyZSBkZSBsJ8OpdGlxdWV0dGUgZHUgZGlzcXVlICVzIGF1IHNlY3RldXLCoCVkLlxuIgorCisjfiBtc2dpZCAiQlNEIGRpc2tsYWJlbCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorI34gbXNnc3RyICJDb21tYW5kZSBkJ8OpdGlxdWV0YWdlIEJTRCAobSBwb3VyIGwnYWlkZSnCoDogIgorCisjfiBtc2dpZCAiZHJpdmVkYXRhOiAiCisjfiBtc2dzdHIgImRvbm7DqWVzLWRpc3F1ZcKgOiAiCisKKyN+IG1zZ2lkICIjICAgICAgIHN0YXJ0ICAgICAgIGVuZCAgICAgIHNpemUgICAgIGZzdHlwZSAgIFtmc2l6ZSBic2l6ZSAgIGNwZ11cbiIKKyN+IG1zZ3N0ciAiIyAgICAgICBkw6lidXQgICAgICAgZmluICAgICAgdGFpbGxlICAgdHlwZSBzeXMuZmljIFtmc2l6ZSBic2l6ZSAgY3BnXVxuIgorCisjfiBtc2dpZCAiTXVzdCBiZSA8PSBzZWN0b3JzL3RyYWNrICogdHJhY2tzL2N5bGluZGVyIChkZWZhdWx0KS5cbiIKKyN+IG1zZ3N0ciAiRG9pdCDDqnRyZSA8PSBzZWN0ZXVycy9waXN0ZSDDlyBwaXN0ZXMvY3lsaW5kcmUgKHBhciBkw6lmYXV0KS5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAoYS0lYyk6ICIKKyN+IG1zZ3N0ciAiUGFydGl0aW9uIChhLSVjKcKgOiAiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiB0b28gbWFueSBwYXJ0aXRpb25zICglZCwgbWF4aW11bSBpcyAlZCkuXG4iCisjfiBtc2dzdHIgIkF2ZXJ0aXNzZW1lbnTCoDogdHJvcCBkZSBwYXJ0aXRpb25zICglZCwgbGUgbWF4aW11bSBlc3QgJWQpLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlN5bmNpbmcgZGlza3MuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJTeW5jaHJvbmlzYXRpb24gZGVzIGRpc3F1ZXMuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6XG4iCisjfiAiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICBjaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiICUxJHMgW29wdGlvbnNdIC1sIDxkaXNrPiBsaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorI34gIiAlMSRzIC1zIDxwYXJ0aXRpb24+ICAgICAgZ2l2ZSBwYXJ0aXRpb24gc2l6ZShzKSBpbiBibG9ja3NcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtYiA8c2l6ZT4gICAgICAgICAgICAgc2VjdG9yIHNpemUgKDUxMiwgMTAyNCwgMjA0OCBvciA0MDk2KVxuIgorI34gIiAtY1s9PG1vZGU+XSAgICAgICAgICAgY29tcGF0aWJsZSBtb2RlOiAnZG9zJyBvciAnbm9uZG9zJyAoZGVmYXVsdClcbiIKKyN+ICIgLWggICAgICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscCB0ZXh0XG4iCisjfiAiIC11Wz08dW5pdD5dICAgICAgICAgICBkaXNwbGF5IHVuaXRzOiAnY3lsaW5kZXJzJyBvciAnc2VjdG9ycycgKGRlZmF1bHQpXG4iCisjfiAiIC12ICAgICAgICAgICAgICAgICAgICBwcmludCBwcm9ncmFtIHZlcnNpb25cbiIKKyN+ICIgLUMgPG51bWJlcj4gICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBjeWxpbmRlcnNcbiIKKyN+ICIgLUggPG51bWJlcj4gICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBoZWFkc1xuIgorI34gIiAtUyA8bnVtYmVyPiAgICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVdGlsaXNhdGlvbsKgOlxuIgorI34gIiAlMSRzIFtvcHRpb25zXSA8ZGlzcXVlPiAgICBtb2RpZmllciBsYSB0YWJsZSBkZSBwYXJ0aXRpb25zXG4iCisjfiAiICUxJHMgW29wdGlvbnNdIC1sIDxkaXNxdWU+IGFmZmljaGVyIGxhIHRhYmxlIGRlIHBhcnRpdGlvbnNcbiIKKyN+ICIgJTEkcyAtcyA8cGFydGl0aW9uPiAgICAgICAgYWZmaWNoZXIgbGVzIHRhaWxsZXMgZGUgcGFydGl0aW9uIGVuIGJsb2NcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zwqA6XG4iCisjfiAiIC1iIDx0YWlsbGU+ICAgICAgICAgdGFpbGxlIGRlIHNlY3RldXIgKDUxMiwgMTAyNCwgMjA0OCBvdSA0MDk2KVxuIgorI34gIiAtY1s9PG1vZGU+XSAgICAgICAgIG1vZGUgZGUgY29tcGF0aWJpbGl0w6nCoDogwqvCoGRvc8Kgwrsgb3UgwqvCoG5vbmRvc8KgwrsgKHBhciBkw6lmYXV0KVxuIgorI34gIiAtaCAgICAgICAgICAgICAgICAgIGFmZmljaGVyIGNlIHRleHRlIGQnYWlkZVxuIgorI34gIiAtdVs9PHVuaXTDqT5dICAgICAgICBhZmZpY2hlciBsJ3VuaXTDqcKgOiDCq8KgY3lsaW5kcmXCoMK7IG91IMKrwqBzZWN0ZXVywqDCuyAocGFyIGTDqWZhdXQpXG4iCisjfiAiIC12ICAgICAgICAgICAgICAgICAgYWZmaWNoZXIgbGEgdmVyc2lvbiBkdSBwcm9ncmFtbWVcbiIKKyN+ICIgLUMgPG5vbWJyZT4gICAgICAgICBpbmRpcXVlciBsZSBub21icmUgZGUgY3lsaW5kcmVzXG4iCisjfiAiIC1IIDxub21icmU+ICAgICAgICAgaW5kaXF1ZXIgbGUgbm9tYnJlIGRlIHTDqnRlc1xuIgorI34gIiAtUyA8bm9tYnJlPiAgICAgICAgIGluZGlxdWVyIGxlIG5vbWJyZSBkZSBzZWN0ZXVycyBwYXIgcGlzdGVcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgInVuYWJsZSB0byBzZWVrIG9uICVzIgorI34gbXNnc3RyICJpbXBvc3NpYmxlIGRlIHNlIHBvc2l0aW9ubmVyIHN1ciAlcyIKKworI34gbXNnaWQgInVuYWJsZSB0byB3cml0ZSAlcyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgJXMiCisKKyN+IG1zZ2lkICJmYXRhbCBlcnJvciIKKyN+IG1zZ3N0ciAiZXJyZXVyIGZhdGFsZSIKKworI34gbXNnaWQgIkNvbW1hbmQgYWN0aW9uIgorI34gbXNnc3RyICJDb21tYW5kZSBkJ2FjdGlvbiIKKworI34gbXNnaWQgIllvdSBtdXN0IHNldCIKKyN+IG1zZ3N0ciAiVm91cyBkZXZleiBpbml0aWFsaXNlciIKKworI34gbXNnaWQgImhlYWRzIgorI34gbXNnc3RyICJ0w6p0ZXMiCisKKyN+IG1zZ2lkICIgYW5kICIKKyN+IG1zZ3N0ciAiIGV0ICIKKworI34gbXNnaWQgIlVuc3VwcG9ydGVkIHN1ZmZpeDogJyVzJy5cbiIKKyN+IG1zZ3N0ciAiU3VmZml4ZSBub24gcHJpcyBlbiBjaGFyZ2XCoDogwqvCoCVzwqDCuy5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJTdXBwb3J0ZWQ6IDEwXk46IEtCIChLaWxvQnl0ZSksIE1CIChNZWdhQnl0ZSksIEdCIChHaWdhQnl0ZSlcbiIKKyN+ICIgICAgICAgICAgICAyXk46IEsgIChLaWJpQnl0ZSksIE0gIChNZWJpQnl0ZSksIEcgIChHaWJpQnl0ZSlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkFkbWlzwqA6IDEwXk7CoDogS0IgKGtpbG9vY3RldHMpLCBNQiAobcOpZ2FvY3RldHMpLCBHQiAoZ2lnYW9jdGV0cylcbiIKKyN+ICIgICAgICAgICAyXk7CoDogSyAgKGtpYmlvY3RldHMpLCBNICAobcOpYmlvY3RldHMpLCBHICAoZ2liaW9jdGV0cylcbiIKKworI34gbXNnaWQgIlVzaW5nIGRlZmF1bHQgdmFsdWUgJXVcbiIKKyN+IG1zZ3N0ciAiVXRpbGlzYXRpb24gZGUgbGEgdmFsZXVyICV1IHBhciBkw6lmYXV0XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkIE1CLCAlbGxkIGJ5dGVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzcXVlICVzwqA6ICVsZMKgTW8sICVsbGTCoG9jdGV0cyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbGQuJWxkIEdCLCAlbGx1IGJ5dGVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzcXVlICVzwqA6ICVsZC4lbGTCoEdvLCAlbGx1wqBvY3RldHMiCisKKyN+IG1zZ2lkICIsICVsbHUgc2VjdG9yc1xuIgorI34gbXNnc3RyICIsICVsbHXCoHNlY3RldXJzXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgd3JpdGUgZGlzayBsYWJlbCIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbCfDqXRpcXVldHRlIGRlIGRpc3F1ZSIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJFcnJvciBjbG9zaW5nIGZpbGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkVycmV1ciBkZSBmZXJtZXR1cmUgZHUgZmljaGllclxuIgorCisjfiBtc2dpZCAiV2FybmluZzogc2V0dGluZyBzZWN0b3Igb2Zmc2V0IGZvciBET1MgY29tcGF0aWJpbGl0eVxuIgorI34gbXNnc3RyICJBdmVydGlzc2VtZW50wqA6IGluaXRpYWxpc2F0aW9uIGRlIGzigJlpbmRleCBkZSBzZWN0ZXVyIHBvdXIgY29tcGF0aWJpbGl0w6kgRE9TXG4iCisKKyN+IG1zZ2lkICJEZXRlY3RlZCBhbiBPU0YvMSBkaXNrbGFiZWwgb24gJXMsIGVudGVyaW5nIGRpc2tsYWJlbCBtb2RlLlxuIgorI34gbXNnc3RyICJEw6l0ZWN0aW9uIGQndW5lIMOpdGlxdWV0dGUgZGUgZGlzcXVlIE9TRi8xIHN1ciAlcywgcGFzc2FnZSBlbiBtb2RlIGQnw6lkaXRpb24gZCfDqXRpcXVldHRlLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IERPUy1jb21wYXRpYmxlIG1vZGUgaXMgZGVwcmVjYXRlZC4gSXQncyBzdHJvbmdseSByZWNvbW1lbmRlZCB0b1xuIgorI34gIiAgICAgICAgIHN3aXRjaCBvZmYgdGhlIG1vZGUgKHdpdGggY29tbWFuZCAnYycpLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkF0dGVudGlvbsKgOiBsZSBtb2RlIGRlIGNvbXBhdGliaWxpdMOpIERPUyBlc3Qgb2Jzb2zDqHRlLiBJbCBlc3QgZm9ydGVtZW50XG4iCisjfiAiICAgICAgICAgICAgcmVjb21tYW5kw6kgZGUgZMOpc2FjdGl2ZXIgY2UgbW9kZSAoYXZlYyBsYSBjb21tYW5kZSDCq8KgY8KgwrspLiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBjeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4gVXNlIGNvbW1hbmQgJ3UnIHRvXG4iCisjfiAiICAgICAgICAgY2hhbmdlIHVuaXRzIHRvIHNlY3RvcnMuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJBdHRlbnRpb27CoDogbCdhZmZpY2hhZ2UgcGFyIGN5bGluZHJlcyBlc3Qgb2Jzb2zDqHRlLiBWZXVpbGxleiB1dGlsaXNlclxuIgorI34gIiAgICAgICAgICAgIGxhIGNvbW1hbmRlIMKrwqB1wqDCuyBwb3VyIHV0aWxpc2VyIGxlcyBzZWN0ZXVycyBjb21tZSB1bml0w6lzLlxuIgorCisjfiBtc2dpZCAiTmV3IGRpc2sgaWRlbnRpZmllciAoY3VycmVudCAweCUwOHgpOiAiCisjfiBtc2dzdHIgIk5vdXZlbCBpZGVudGlmaWFudCBkZSBkaXNxdWUgKGFjdHVlbGxlbWVudCAweCUwOHgpwqA6ICIKKworI34gbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGVcbiIKKyN+IG1zZ3N0ciAiQXVjdW4gc2VjdGV1ciBkaXNwb25pYmxlXG4iCisKKyN+IG1zZ2lkICJMYXN0ICUxJHMsICslMiRzIG9yICtzaXple0ssTSxHfSIKKyN+IG1zZ3N0ciAiRGVybmllciAlMSRzLCArJTIkcyBvdSArdGFpbGxle0ssTSxHfSIKKworI34gbXNnaWQgIiAgICAgcGh5cz0oJWQsICVkLCAlZCkgIgorI34gbXNnc3RyICIgICAgIHBoeXM9KCVkLCAlZCwgJWQpICIKKworI34gbXNnaWQgImxvZ2ljYWw9KCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgImxvZ2lxdWU9KCVkLCAlZCwgJWQpXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBiYWQgc3RhcnQtb2YtZGF0YSBpbiBwYXJ0aXRpb24gJXpkXG4iCisjfiBtc2dzdHIgIkF2ZXJ0aXNzZW1lbnTCoDogZMOpYnV0IGRlIGRvbm7DqWVzIGVycm9uw6kgZGFucyBsYSBwYXJ0aXRpb27CoCV6ZFxuIgorCisjfiBtc2dpZCAiQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiQWpvdXQgZCd1bmUgcGFydGl0aW9uIHByaW1haXJlXG4iCisKKyMgTk9URTogTWVzc2VkIHVwIHJlbW92YWwgb2YgbmV3bGluZXMKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnkgRE9TIDYueHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGZkaXNrIG1hbnVhbCBwYWdlIGZvciBhZGRpdGlvbmFsaW5mb3JtYXRpb24uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJBdHRlbnRpb27CoDogc2kgdm91cyBhdmV6IGNyw6nDqSBvdSBtb2RpZmnDqSB1bmUgcGFydGl0aW9uIERPU8KgNi54LCB2ZXVpbGxleiBjb25zdWx0ZXIgbGVzIHBhZ2VzIGR1IG1hbnVlbCBkZSBmZGlzayBwb3VyIGRlcyBpbmZvcm1hdGlvbnMgY29tcGzDqW1lbnRhaXJlcy5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiUqcyBCb290ICAgICAgU3RhcnQgICAgICAgICBFbmQgICAgICBCbG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiUqcyBBbW9yw6dhZ2UgIETDqWJ1dCAgICAgICAgIEZpbiAgICAgIEJsb2NzICAgIElkLiBTeXN0w6htZVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMsICVsbHUgY3lsaW5kZXJzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNxdWXCoCVzwqA6ICVkwqB0w6p0ZXMsICVsbHXCoHNlY3RldXJzLCAlbGx1wqBjeWxpbmRyZXNcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIk5yIEFGICBIZCBTZWMgIEN5bCAgSGQgU2VjICBDeWwgICAgIFN0YXJ0ICAgICAgU2l6ZSBJRFxuIgorI34gbXNnc3RyICJOciBBRiAgSGQgU2VjICBDeWwgIEhkIFNlYyAgQ3lsICAgICBEw6lidXQgICAgVGFpbGxlIElEXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRUaGVyZSBpcyBhIHZhbGlkIE1hYyBsYWJlbCBvbiB0aGlzIGRpc2suXG4iCisjfiAiXHRVbmZvcnR1bmF0ZWx5IGZkaXNrKDEpIGNhbm5vdCBoYW5kbGUgdGhlc2UgZGlza3MuXG4iCisjfiAiXHRVc2UgZWl0aGVyIHBkaXNrIG9yIHBhcnRlZCB0byBtb2RpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZS5cbiIKKyN+ICJcdE5ldmVydGhlbGVzcyBzb21lIGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0SWwgeSBhIHVuZSDDqXRpcXVldHRlIE1hYyB2YWxhYmxlIHN1ciBjZSBkaXNxdWUsXG4iCisjfiAiXHRow6lsYXMgZmRpc2soMSkgbmUgZ8OocmUgcGFzIGNlIHR5cGUgZGUgZGlzcXVlLlxuIgorI34gIlx0VXRpbGlzZXogcGRpc2sgb3UgcGFydGVkIHBvdXIgbW9kaWZpZXIgbGFcbiIKKyN+ICJcdHRhYmxlIGRlIHBhcnRpdGlvbnMuIFF1ZWxxdWVzIGNvbnNlaWxzwqA6XG4iCisjfiAiXHQxLiBmZGlzayBkw6l0cnVpcmEgbGUgY29udGVudSBsb3JzIGRlIGwnw6ljcml0dXJlLlxuIgorI34gIlx0Mi4gc295ZXogc8O7ciBxdWUgbGUgZGlzcXVlIG5lIGNvbnN0aXR1ZSBwYXNcbiIKKyN+ICJcdCAgdW5lIHBhcnRpZSBWSVRBTEUgZCd1biBncm91cGUgZGUgdm9sdW1lcy5cbiIKKyN+ICJcdCAoU2kgdGVsIMOpdGFpdCBsZSBjYXMsIHZvdXMgcG91cnJpZXogZWZmYWNlciBhdXNzaVxuIgorI34gIlx0IGxlcyBhdXRyZXMgZGlzcXVlcyBuJ2F5YW50IHBhcyBkZSBtaXJvaXJzLilcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdFNvcnJ5IC0gdGhpcyBmZGlzayBjYW5ub3QgaGFuZGxlIE1hYyBkaXNrIGxhYmVscy5cbiIKKyN+ICJcdElmIHlvdSB3YW50IHRvIGFkZCBET1MtdHlwZSBwYXJ0aXRpb25zLCBjcmVhdGVcbiIKKyN+ICJcdGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUgZmlyc3QuIChVc2Ugby4pXG4iCisjfiAiXHRXQVJOSU5HOiBUaGlzIHdpbGwgZGVzdHJveSB0aGUgcHJlc2VudCBkaXNrIGNvbnRlbnRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXHREw6lzb2zDqSDigJQgY2V0dGUgdmVyc2lvbiBkZSBmZGlzayBuZSBnw6hyZSBwYXMgbGVzIMOpdGlxdWV0dGVzIGRlIGRpc3F1ZXMgTWFjLlxuIgorI34gIlx0U2kgdm91cyBkw6lzaXJleiBham91dGVyIGRlcyBwYXJ0aXRpb25zIGRlIHR5cGUgRE9TLCBjcsOpZXogZCdhYm9yZFxuIgorI34gIlx0dW5lIG5vdXZlbGxlIHRhYmxlIGRlIHBhcnRpdGlvbnMgRE9TIHZpZGUgKHV0aWxpc2VyIG8pLlxuIgorI34gIlx0QXR0ZW50aW9uwqA6IGNlbGEgZMOpdHJ1aXJhIGxlIGNvbnRlbnUgYWN0dWVsIGR1IGRpc3F1ZS5cbiIKKworI34gbXNnaWQgIkFjY29yZGluZyB0byBNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYyB0aGUgTGFiZWwgbXVzdCBub3QgY29udGFpbiBtb3JlIHRoYW4gNTEyIGJ5dGVzXG4iCisjfiBtc2dzdHIgIkQnYXByw6hzIGxhIE1JUFMgQ29tcHV0ZXIgU3lzdGVtcywgbCfDqXRpcXVldHRlIG5lIGRvaXQgcGFzIGNvbnRlbmlyIHBsdXMgZGUgNTEywqBvY3RldHNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTR0kgZGlzayBsYWJlbCk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMsICVsbHUgY3lsaW5kZXJzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqICVsZCBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzcXVlICVzICjDqXRpcXVldHRlIGRlIGRpc3F1ZSBTR0kpwqA6ICVkwqB0w6p0ZXMsICVsbHXCoHNlY3RldXJzLCAlbGx1wqBjeWxpbmRyZXNcbiIKKyN+ICJVbml0w6lzID0gJXMgZGUgJWQgw5cgJWxkwqBvY3RldHNcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICItLS0tLSBwYXJ0aXRpb25zIC0tLS0tXG4iCisjfiAiUHQjICUqcyAgSW5mbyAgICAgU3RhcnQgICAgICAgRW5kICAgU2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIiCisjfiAiLS0tLS0gcGFydGl0aW9ucyAtLS0tLVxuIgorI34gIlB0IyAlKnMgIEluZm8gICAgIETDqWJ1dCAgICAgICBGaW4gICBTZWN0ZXVycyBJZCAgU3lzdMOobWVcbiIKKworI34gbXNnaWQgIiIKKyN+ICItLS0tLSBCb290aW5mbyAtLS0tLVxuIgorI34gIkJvb3RmaWxlOiAlc1xuIgorI34gIi0tLS0tIERpcmVjdG9yeSBFbnRyaWVzIC0tLS0tXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLS0tLSBJbmZvIGQnYW1vcsOnYWdlIC0tLS0tXG4iCisjfiAiRmljaGllciBkJ2Ftb3LDp2FnZcKgOiAlc1xuIgorI34gIi0tLS0tIEVudHLDqWVzIGRlIHLDqXBlcnRvaXJlIC0tLS0tXG4iCisKKyN+IG1zZ2lkICIlMnpkOiAlLTEwcyBzZWN0b3IlNXUgc2l6ZSU4dVxuIgorI34gbXNnc3RyICIlMnpkwqA6ICUtMTBzIHNlY3RldXIlNXUgdGFpbGxlJTh1XG4iCisKKyN+IG1zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWRcbiIKKyN+IG1zZ3N0ciAiQXVjdW5lIHBhcnRpdGlvbiBkw6lmaW5pZVxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gaXMgb25seSAlZCBkaXNrYmxvY2sgbGFyZ2UsXG4iCisjfiAiYnV0IHRoZSBkaXNrIGlzICVkIGRpc2tibG9ja3MgbG9uZy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkxhIHBhcnRpdGlvbiBlbnRpw6hyZSBkdSBkaXNxdWUgZXN0IHNldWxlbWVudCBkZSAlZMKgYmxvY3MgZGUgbGFyZ2V1cixcbiIKKyN+ICJhbG9ycyBxdWUgbGUgZGlzcXVlIGNvbnRpZW50ICVkwqBibG9jcyBkZSBkaXNxdWUuXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3Qgc3RhcnQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIkxhIHBhcnRpdGlvbsKgJWQgbmUgY29tbWVuY2UgcGFzIHN1ciB1bmUgZnJvbnRpw6hyZSBkZSBjeWxpbmRyZS5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIkxhIHBhcnRpdGlvbsKgJWQgbmUgc2UgdGVybWluZSBwYXMgc3VyIHVuZSBmcm9udGnDqHJlIGRlIGN5bGluZHJlLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICV6ZCBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC5cbiIKKyN+IG1zZ3N0ciAiTGEgcGFydGl0aW9uwqAlemQgZXN0IGTDqWrDoCBkw6lmaW5pZS4gRMOpdHJ1aXNlei1sw6AgYXZhbnQgZGUgbCdham91dGVyLlxuIgorCisjfiBtc2dpZCAiIExhc3QgJXMiCisjfiBtc2dzdHIgIiBEZXJuaWVyKGUpICVzIgorCisjfiBtc2dpZCAiQnVpbGRpbmcgYSBuZXcgU0dJIGRpc2tsYWJlbC5cbiIKKyN+IG1zZ3N0ciAiQ29uc3RydWN0aW9uIGQndW5lIG5vdXZlbGxlIMOpdGlxdWV0dGUgcG91ciBkaXNxdWUgZGUgdHlwZSBTR0kuXG4iCisKKyN+IG1zZ2lkICJIRElPX0dFVEdFTyBpb2N0bCBmYWlsZWQgb24gJXMiCisjfiBtc2dzdHIgIsOJY2hlYyBkJ2lvY3RsIEhESU9fR0VUR0VPIHN1ciAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiAgQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuICBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LlxuIgorI34gIlRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdmVydGlzc2VtZW50wqA6IGwnaW9jdGwgQkxLR0VUU0laRSBhIMOpY2hvdcOpIHN1ciAlcy5cbiIKKyN+ICJVdGlsaXNhdGlvbiBkZSBsYSB2YWxldXLCoCVsbHUgcG91ciBsYSBnw6lvbcOpdHJpZSBkdSBjeWxpbmRyZS5cbiIKKyN+ICJDZXR0ZSB2YWxldXIgcGV1dCDDqnRyZSB0cm9ucXXDqWUgcG91ciBsZXMgcMOpcmlwaMOpcmlxdWVzIGRlIHBsdXMgZGUgMzMsOMKgR28uXG4iCisKKyN+IG1zZ2lkICJJRD0lMDJ4XHRTVEFSVD0lZFx0TEVOR1RIPSVkXG4iCisjfiBtc2dzdHIgIklEPSUwMnhcdERFQlVUPSVkXHRMT05HVUVVUj0lZFxuIgorCisjfiBtc2dpZCAiVHJ5aW5nIHRvIGtlZXAgcGFyYW1ldGVycyBvZiBwYXJ0aXRpb25zIGFscmVhZHkgc2V0LlxuIgorI34gbXNnc3RyICJUZW50YXRpdmUgZGUgY29uc2VydmF0aW9uIGRlcyBwYXJhbcOodHJlcyBkZXMgcGFydGl0aW9ucyBkw6lqw6AgY29uZmlndXLDqWVzLlxuIgorCisjfiBtc2dpZCAiWUVTXG4iCisjfiBtc2dzdHIgIk9VSVxuIgorCisjfiBtc2dpZCAiQnVpbGRpbmcgYSBuZXcgU3VuIGRpc2tsYWJlbC4iCisjfiBtc2dzdHIgIkNvbnN0cnVjdGlvbiBkJ3VuZSBub3V2ZWxsZSDDqXRpcXVldHRlIHBvdXIgZGlzcXVlIGRlIHR5cGUgU3VuLiIKKworIyBmZGlzay9mZGlza3N1bmxhYmVsLmM6NjU2CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFN1biBkaXNrIGxhYmVsKTogJXUgaGVhZHMsICVsbHUgc2VjdG9ycywgJWQgcnBtXG4iCisjfiAiJWxsdSBjeWxpbmRlcnMsICVkIGFsdGVybmF0ZSBjeWxpbmRlcnMsICVkIHBoeXNpY2FsIGN5bGluZGVyc1xuIgorI34gIiVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiAiTGFiZWwgSUQ6ICVzXG4iCisjfiAiVm9sdW1lIElEOiAlc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiA1MTIgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc3F1ZcKgJXMgKMOpdGlxdWV0dGUgZGUgZGlzcXVlIFN1binCoDogJXXCoHTDqnRlcywgJWxsdcKgc2VjdGV1cnMsICVkwqB0b3Vycy9taW5cbiIKKyN+ICIlbGx1wqBjeWxpbmRyZXMsICVkwqBjeWxpbmRyZXMgYWx0LiwgJWTCoGN5bGluZHJlcyBwaHlzaXF1ZXNcbiIKKyN+ICIlZMKgc2VjdGV1cnMvY3lsaW5kcmVzIGFkZGl0aW9ubmVscywgaW50ZXJsZWF2ZcKgJWQ6MVxuIgorI34gIklkZW50aWZpYW50IGQnw6l0aXF1ZXR0ZcKgOiAlc1xuIgorI34gIklkZW50aWZpYW50IGRlIHZvbHVtZcKgOiAlc1xuIgorI34gIlVuaXTDqXMgPSAlcyBkZSAlZCDDlyA1MTLCoG9jdGV0c1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFN1biBkaXNrIGxhYmVsKTogJXUgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogNTEyIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNxdWXCoCVzICjDqXRpcXVldHRlIGRlIGRpc3F1ZSBTdW4pwqA6ICV1wqB0w6p0ZXMsICVsbHXCoHNlY3RldXJzLCAlbGx1wqBjeWxpbmRyZXNcbiIKKyN+ICJVbml0w6lzID0gJXMgZGUgJWQgw5cgNTEywqBvY3RldHNcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiUqcyBGbGFnICAgIFN0YXJ0ICAgICAgIEVuZCAgICBCbG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiUqcyBJbmRpYy4gIETDqWJ1dCAgICAgICBGaW4gICAgQmxvY3MgICAgSWQgIFN5c3TDqG1lXG4iCisKKyN+IG1zZ2lkICIlcyAtQW4gZGV2aWNlXHQgYWN0aXZhdGUgcGFydGl0aW9uIG4sIGluYWN0aXZhdGUgdGhlIG90aGVyIG9uZXNcbiIKKyN+IG1zZ3N0ciAiJXMgLUFuIHDDqXJpcGjDqXJpcXVlXHQgYWN0aXZlciBsYSBwYXJ0aXRpb24gbiwgZMOpc2FjdGl2ZXIgbGVzIGF1dHJlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIkRvbmVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlRlcm1pbsOpXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJXQVJOSU5HOiBmZGlzayBHUFQgc3VwcG9ydCBpcyBjdXJyZW50bHkgbmV3LCBhbmQgdGhlcmVmb3JlIGluIGFuIGV4cGVyaW1lbnRhbCBwaGFzZS4gVXNlIGF0IHlvdXIgb3duIGRpc2NyZXRpb24uIgorI34gbXNnc3RyICJBdHRlbnRpb27CoDogbGEgcHJpc2UgZW4gY2hhcmdlIGRlIEdQVCBkYW5zIGZkaXNrIGVzdCByw6ljZW50ZSwgZXQgcGFyIGNvbnPDqXF1ZW50IGVuIHBoYXNlIGV4cMOpcmltZW50YWxlLiBVdGlsaXNlei1sYSBhdmVjIHByw6ljYXV0aW9uLiIKKworI34gbXNnaWQgIkNyZWF0ZWQgcGFydGl0aW9uICV6ZFxuIgorI34gbXNnc3RyICJQYXJ0aXRpb27CoCV6ZCBjcsOpw6llXG4iCisKKyN+IG1zZ2lkICJCdWlsZGluZyBhIG5ldyBHUFQgZGlza2xhYmVsIChHVUlEOiAlMDhYLSUwNFgtJTA0WC0lMDJYJTAyWC0lMDJYJTAyWCUwMlglMDJYJTAyWCUwMlgpXG4iCisjfiBtc2dzdHIgIkNvbnN0cnVjdGlvbiBkJ3VuZSBub3V2ZWxsZSDDqXRpcXVldHRlIHBvdXIgZGlzcXVlIGRlIHR5cGUgR1BUIChHVUlEwqA6ICUwOFgtJTA0WC0lMDRYLSUwMlglMDJYLSUwMlglMDJYJTAyWCUwMlglMDJYJTAyWClcbiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPFVTRVI+IENPTU1BTkRcbiIKKyN+IG1zZ3N0ciAiICVzIFtvcHRpb25zXSAtdSA8dXRpbGlzYXRldXI+IDxjb21tYW5kZT5cbiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFtVU0VSIFthcmddLi4uXVxuIgorI34gbXNnc3RyICIgJXMgW29wdGlvbnNdIFstXSBbPHV0aWxpc2F0ZXVyPiBbYXJnXSAuLi5dXG4iCisKKyMsIGZ1enp5CisjfnwgbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIlc1wiKVxuIgorI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkbyBub3QgY3JlYXRlIGEgbmV3IHNlc3Npb25cbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDCq8KgJXPCoMK7KVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtMSwgLS1vbmUgICAgICAgIHNob3cgb25seSBjdXJyZW50IG1vbnRoIChkZWZhdWx0KVxuIgorI34gIiAtMywgLS10aHJlZSAgICAgIHNob3cgcHJldmlvdXMsIGN1cnJlbnQgYW5kIG5leHQgbW9udGhcbiIKKyN+ICIgLXMsIC0tc3VuZGF5ICAgICBTdW5kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKKyN+ICIgLW0sIC0tbW9uZGF5ICAgICBNb25kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKKyN+ICIgLWosIC0tanVsaWFuICAgICBvdXRwdXQgSnVsaWFuIGRhdGVzXG4iCisjfiAiIC15LCAtLXllYXIgICAgICAgc2hvdyB3aG9sZSBjdXJyZW50IHllYXJcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLTEsIC0tb25lICAgICAgICBuJ2FmZmljaGVyIHF1ZSBsZSBtb2lzIGVuIGNvdXJzIChwYXIgZMOpZmF1dClcbiIKKyN+ICIgLTMsIC0tdGhyZWUgICAgICBhZmZpY2hlciBsZSBtb2lzIHByw6ljw6lkYW50LCBjZWx1aSBlbiBjb3VycywgZXQgbGUgcHJvY2hhaW5cbiIKKyN+ICIgLXMsIC0tc3VuZGF5ICAgICBkaW1hbmNoZSBjb21tZSBwcmVtaWVyIGpvdXIgZGUgbGEgc2VtYWluZVxuIgorI34gIiAtbSwgLS1tb25kYXkgICAgIGx1bmRpIGNvbW1lIHByZW1pZXIgam91ciBkZSBsYSBzZW1haW5lXG4iCisjfiAiIC1qLCAtLWp1bGlhbiAgICAgYWZmaWNoZXIgbGEgZGF0ZSBqdWxpZW5uZVxuIgorI34gIiAteSwgLS15ZWFyICAgICAgIGFmZmljaGVyIHRvdXRlIGwnYW5uw6llIGVuIGNvdXJzXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgYWZmaWNoZXIgbGVzIGluZm9ybWF0aW9ucyBkZSB2ZXJzaW9uIGV0IHF1aXR0ZXJcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBhZmZpY2hlciBjZXR0ZSBhaWRlIGV0IHF1aXR0ZXJcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImdldGFkZHJpbmZvICVzOiVzOiAlcyIKKyN+IG1zZ3N0ciAiZ2V0YWRkcmluZm8gJXM6JXPCoDogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1kLCAtLXVkcCAgICAgICAgICAgICB1c2UgVURQIG9ubHlcbiIKKyN+ICIgLWksIC0taWQgICAgICAgICAgICAgIGxvZyB0aGUgcHJvY2VzcyBJRCB0b29cbiIKKyN+ICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgIGxvZyB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWQsIC0tdWRwICAgICAgICAgICAgIG4ndXRpbGlzZXIgcXUnVURQXG4iCisjfiAiIC1pLCAtLWlkICAgICAgICAgICAgICBqb3VybmFsaXNlciBhdXNzaSBsJ2lkZW50aWZpYW50IGRlIHByb2Nlc3N1c1xuIgorI34gIiAtZiwgLS1maWxlIDxmaWNoaWVyPiAgam91cm5hbGlzZXIgbGUgY29udGVudSBkZSBjZSBmaWNoaWVyXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICBhZmZpY2hlciBjZXR0ZSBhaWRlIGV0IHF1aXR0ZXJcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLW4sIC0tc2VydmVyIDxuYW1lPiAgIHdyaXRlIHRvIHRoaXMgcmVtb3RlIHN5c2xvZyBzZXJ2ZXJcbiIKKyN+ICIgLVAsIC0tcG9ydCA8bnVtYmVyPiAgIHVzZSB0aGlzIFVEUCBwb3J0XG4iCisjfiAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiBtYXJrIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGlzIHByaW9yaXR5XG4iCisjfiAiIC1zLCAtLXN0ZGVyciAgICAgICAgICBvdXRwdXQgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvciBhcyB3ZWxsXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLW4sIC0tc2VydmVyIDxub20+ICAgIMOpY3JpcmUgdmVycyBjZSBzZXJ2ZXVyIGRlIGpvdXJuYWxpc2F0aW9uIGRpc3RhbnRcbiIKKyN+ICIgLVAsIC0tcG9ydCA8bm9tYnJlPiAgIHV0aWxpc2VyIGNlIHBvcnQgVURQXG4iCisjfiAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiBtYXJxdWVyIGxlIG1lc3NhZ2UgZG9ubsOpIGF2ZWMgY2V0dGUgcHJpb3JpdHlcbiIKKyN+ICIgLXMsIC0tc3RkZXJyICAgICAgICAgIG1lc3NhZ2UgZGUgc29ydGllIGF1c3NpIHZlcnMgbGEgc29ydGllIGQnZXJyZXVyIHN0YW5kYXJkXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC10LCAtLXRhZyA8dGFnPiAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorI34gIiAtdSwgLS1zb2NrZXQgPHNvY2tldD4gd3JpdGUgdG8gdGhpcyBVbml4IHNvY2tldFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdCwgLS10YWcgPMOpdGlxdWV0dGU+IG1hcnF1ZXIgdG91dGVzIGxlcyBsaWduZXMgYXZlYyBjZXR0ZSDDqXRpcXVldHRlXG4iCisjfiAiIC11LCAtLXNvY2tldCA8c29ja2V0PiDDqWNyaXJlIHZlcnMgY2V0dGUgc29ja2V0IFVOSVhcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgIGFmZmljaGVyIGxlcyBpbmZvcm1hdGlvbnMgZGUgdmVyc2lvbiBldCBxdWl0dGVyXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJGYWlsZWQgdG8gb3Blbi9jcmVhdGUgJXM6ICVtXG4iCisjfiBtc2dzdHIgIsOpY2hlYyBkJ291dmVydHVyZSBvdSBkZSBjcsOpYXRpb24gZGUgJXPCoDogJW1cbiIKKworI34gbXNnaWQgIkZhaWxlZCB0byBsb2NrICVzOiAlbVxuIgorI34gbXNnc3RyICLDqWNoZWMgZHUgdmVycm91aWxsYWdlIGRlICVzwqA6ICVtXG4iCisKKyN+IG1zZ2lkICJCYWQgbnVtYmVyOiAlc1xuIgorI34gbXNnc3RyICJOb21icmUgbm9uIHZhbGFibGXCoDogJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHNob3cgaHVtYW4gcmVhZGFibGUgdGltZXN0YW1wIChjb3VsZCBiZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5hY2N1cmF0ZSBpZiB5b3UgaGF2ZSB1c2VkIFNVU1BFTkQvUkVTVU1FKVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICBtb250cmVyIGwnaG9yb2RhdGFnZSBsaXNpYmxlIHBhciBsJ3V0aWxpc2F0ZXVyXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwb3VycmFpdCDDqnRyZSBpbmV4YWN0IGVuIGNhcyBkJ3V0aWxpc2F0aW9uIGRlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhIG1pc2UgZW4gdmVpbGxlKVxuIgorCisjfiBtc2dpZCAiLS1ub3RpbWUgY2FuJ3QgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tY3RpbWUgb3IgLS1yZWx0aW1lIgorI34gbXNnc3RyICItLW5vdGltZSBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBlbiBtw6ptZSB0ZW1wcyBxdWUgLS1jdGltZSBvdSAtLXJlbHRpbWUiCisKKyN+IG1zZ2lkICJmaW5kIHVudXNlZCBsb29wIGRldmljZSBmYWlsZWQiCisjfiBtc2dzdHIgImltcG9zc2libGUgZGUgdHJvdXZlciB1biBww6lyaXBow6lyaXF1ZSBib3VjbGUgbm9uIHV0aWxpc8OpIgorCisjfiBtc2dpZCAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICBvdXRwdXQgaGVscCBzY3JlZW4gYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgIGV4cGxpcXVlciBsZXMgYWN0aW9ucyBlbiBjb3Vyc1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIGFmZmljaGVyIGxlcyBpbmZvcm1hdGlvbnMgZGUgdmVyc2lvbiBldCBxdWl0dGVyXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgYWZmaWNoZXIgbCfDqWNyYW4gZCdhaWRlIGV0IHF1aXR0ZXJcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAgZG8gbm90IHByaW50IGJhbm5lciwgd29ya3Mgb25seSBmb3Igcm9vdFxuIgorI34gIiAtdCwgLS10aW1lb3V0IDx0aW1lb3V0PiB3cml0ZSB0aW1lb3V0IGluIHNlY29uZHNcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBuZSBwYXMgYWZmaWNoZXIgZGUgYmFubmnDqHJlLCBzZXVsZW1lbnQgcG91ciBsZSBzdXBlcnV0aWxpc2F0ZXVyXG4iCisjfiAiIC10LCAtLXRpbWVvdXQgPHRlbXBzZXg+IMOpY3JpcmUgbGUgdGVtcHMgZCdleHBpcmF0aW9uIGVuIHNlY29uZGVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgYWZmaWNoZXIgbGVzIGluZm9ybWF0aW9ucyBkZSB2ZXJzaW9uIGV0IHF1aXR0ZXJcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgYWZmaWNoZXIgY2V0dGUgYWlkZSBldCBxdWl0dGVyXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8c3RyaW5nPlxuIgorI34gbXNnc3RyICIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8Y2hhw65uZT5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlV0aWxpc2F0aW9uwqA6XG4iCisjfiAiICVzIFtvcHRpb25zXSBmaWNoaWVyIC4uLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1iICAgICAgICAgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCisjfiAiIC1jICAgICAgICAgICAgICBvbmUtYnl0ZSBjaGFyYWN0ZXIgZGlzcGxheVxuIgorI34gIiAtQyAgICAgICAgICAgICAgY2Fub25pY2FsIGhleCtBU0NJSSBkaXNwbGF5XG4iCisjfiAiIC1kICAgICAgICAgICAgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKKyN+ICIgLW8gICAgICAgICAgICAgIHR3by1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKKyN+ICIgLXggICAgICAgICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIKKyN+ICIgLWUgZm9ybWF0ICAgICAgIGZvcm1hdCBzdHJpbmcgdG8gYmUgdXNlZCBmb3IgZGlzcGxheWluZyBkYXRhXG4iCisjfiAiIC1mIGZvcm1hdF9maWxlICBmaWxlIHRoYXQgY29udGFpbnMgZm9ybWF0IHN0cmluZ3NcbiIKKyN+ICIgLW4gbGVuZ3RoICAgICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorI34gIiAtcyBvZmZzZXQgICAgICAgc2tpcCBvZmZzZXQgYnl0ZXMgZnJvbSB0aGUgYmVnaW5uaW5nXG4iCisjfiAiIC12ICAgICAgICAgICAgICBkaXNwbGF5IHdpdGhvdXQgc3F1ZWV6aW5nIHNpbWlsYXIgbGluZXNcbiIKKyN+ICIgLVYgICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zwqA6XG4iCisjfiAiIC1iICAgICAgICAgICAgICBhZmZpY2hhZ2Ugb2N0YWwgc2ltcGxlIG9jdGV0XG4iCisjfiAiIC1jICAgICAgICAgICAgICBhZmZpY2hhZ2UgZGUgY2FyYWN0w6hyZSBzaW1wbGUgb2N0ZXRcbiIKKyN+ICIgLUMgICAgICAgICAgICAgIGFmZmljaGFnZSBjYW5vbmlxdWUgaGV4YWTDqWNpbWFsIGV0IEFTQ0lJXG4iCisjfiAiIC1kICAgICAgICAgICAgICBhZmZpY2hhZ2UgZMOpY2ltYWwgZG91YmxlIG9jdGV0XG4iCisjfiAiIC1vICAgICAgICAgICAgICBhZmZpY2hhZ2Ugb2N0YWwgZG91YmxlIG9jdGV0XG4iCisjfiAiIC14ICAgICAgICAgICAgICBhZmZpY2hhZ2UgaGV4YWTDqWNpbWFsIGRvdWJsZSBvY3RldFxuIgorI34gIiAtZSBmb3JtYXQgICAgICAgZm9ybWF0IGRlIGNoYcOubmUgw6AgdXRpbGlzZXIgcG91ciBhZmZpY2hlciBsZXMgZG9ubsOpZXNcbiIKKyN+ICIgLWYgZmljaF9mb3JtYXQgIGZpY2hpZXIgY29udGVuYW50IGxlcyBjaGHDrm5lcyBkZSBmb3JtYXRcbiIKKyN+ICIgLW4gbG9uZ3VldXIgICAgIGludGVycHLDqXRlciBzZXVsZW1lbnQgbG9uZ3VldXLCoG9jdGV0cyBkJ2VudHLDqWVcbiIKKyN+ICIgLXMgaW5kZXggICAgICAgIHBhc3NlciBpbmRleMKgb2N0ZXQgZGVwdWlzIGxlIGTDqWJ1dFxuIgorI34gIiAtdiAgICAgICAgICAgICAgYWZmaWNoZXIgc2FucyBjb250cmFjdGVyIGxlcyBsaWduZXMgc2ltaWxhaXJlc1xuIgorI34gIiAtViAgICAgICAgICAgICAgYWZmaWNoZXIgbGVzIGluZm9ybWF0aW9ucyBkZSB2ZXJzaW9uIGV0IHF1aXR0ZXJcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImNyeXB0IGZhaWxlZDogJW1cbiIKKyN+IG1zZ3N0ciAiw6ljaGVjIGRlIGNoaWZmcmVtZW50wqA6ICVtXG4iCisKKyN+IG1zZ2lkICJDYW4gbm90IGZvcms6ICVtXG4iCisjfiBtc2dzdHIgImZvcmsoKSBpbXBvc3NpYmxlwqA6ICVtXG4iCisKKyN+IG1zZ2lkICJidWcgaW4geHN0cm5kdXAgY2FsbCIKKyN+IG1zZ3N0ciAicHJvYmzDqG1lIGRhbnMgbCdhcHBlbCBkZSB4c3RybmR1cCIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtQSAgICAgICAgIGNoZWNrIGFsbCBmaWxlc3lzdGVtc1xuIgorI34gIiAtUiAgICAgICAgIHNraXAgcm9vdCBmaWxlc3lzdGVtOyB1c2VmdWwgb25seSB3aXRoIGAtQSdcbiIKKyN+ICIgLU0gICAgICAgICBkbyBub3QgY2hlY2sgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorI34gIiAtdCA8dHlwZT4gIHNwZWNpZnkgZmlsZXN5c3RlbSB0eXBlcyB0byBiZSBjaGVja2VkO1xuIgorI34gIiAgICAgICAgICAgICAgdHlwZSBpcyBhbGxvd2VkIHRvIGJlIGNvbW1hLXNlcGFyYXRlZCBsaXN0XG4iCisjfiAiIC1QICAgICAgICAgY2hlY2sgZmlsZXN5c3RlbXMgaW4gcGFyYWxsZWwsIGluY2x1ZGluZyByb290XG4iCisjfiAiIC1yICAgICAgICAgcmVwb3J0IHN0YXRpc3RpY3MgZm9yIGVhY2ggZGV2aWNlIGZzY2tcbiIKKyN+ICIgLXMgICAgICAgICBzZXJpYWxpemUgZnNjayBvcGVyYXRpb25zXG4iCisjfiAiIC1sICAgICAgICAgbG9jayB0aGUgZGV2aWNlIHVzaW5nIGZsb2NrKClcbiIKKyN+ICIgLU4gICAgICAgICBkbyBub3QgZXhlY3V0ZSwganVzdCBzaG93IHdoYXQgd291bGQgYmUgZG9uZVxuIgorI34gIiAtVCAgICAgICAgIGRvIG5vdCBzaG93IHRoZSB0aXRsZSBvbiBzdGFydHVwXG4iCisjfiAiIC1DIDxmZD4gICAgZGlzcGxheSBwcm9ncmVzcyBiYXI7IGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorI34gIiAtViAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiAiIC0/ICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+ICJTZWUgZnNjay4qIGNvbW1hbmRzIGZvciBmcy1vcHRpb25zLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1BICAgICAgICAgdsOpcmlmaWVyIHRvdXMgbGVzIHN5c3TDqG1lcyBkZSBmaWNoaWVyc1xuIgorI34gIiAtUiAgICAgICAgIGlnbm9yZXIgbGUgc3lzdMOobWUgZGUgZmljaGllcnMgcmFjaW5lwqA7IHNldWxlbWVudCB1dGlsZSBhdmVjIGwnb3B0aW9uIMKrwqAtQcKgwrtcbiIKKyN+ICIgLU0gICAgICAgICBuZSBwYXMgdsOpcmlmaWVyIGxlcyBzeXN0w6htZXMgZGUgZmljaGllcnMgbW9udMOpc1xuIgorI34gIiAtdCA8dHlwZT4gIGluZGlxdWVyIGxlcyB0eXBlcyBkZSBzeXN0w6htZXMgZGUgZmljaGllcnMgw6AgdsOpcmlmaWVywqA7XG4iCisjfiAiICAgICAgICAgICAgICB0eXBlIHBldXQgw6p0cmUgdW5lIGxpc3RlIHPDqXBhcsOpZSBwYXIgZGVzIHZpcmd1bGVzXG4iCisjfiAiIC1QICAgICAgICAgdsOpcmlmaWVyIGxlcyBzeXN0w6htZXMgZGUgZmljaGllcnMgZW4gcGFyYWxsw6hsZSwgeSBjb21wcmlzIGxhIHJhY2luZVxuIgorI34gIiAtciAgICAgICAgIHJlbmRyZSBjb21wdGUgZGVzIHN0YXRpc3RpcXVlcyBwb3VyIGNoYXF1ZSBww6lyaXBow6lyaXF1ZSBmc2NrXG4iCisjfiAiIC1zICAgICAgICAgc8OpcmlhbGlzZXIgbGVzIG9ww6lyYXRpb25zIGRlIGZzY2tcbiIKKyN+ICIgLWwgICAgICAgICB2ZXJyb3VpbGxlciBsZSBww6lyaXBow6lyaXF1ZSBhdmVjIGZsb2NrKClcbiIKKyN+ICIgLU4gICAgICAgICBuZSBwYXMgZXjDqWN1dGVyLCBtb250cmVyIHVuaXF1ZW1lbnQgY2UgcXVpIGRldnJhaXQgw6p0cmUgYWNjb21wbGlcbiIKKyN+ICIgLVQgICAgICAgICBuZSBwYXMgYWZmaWNoZXIgbGUgdGl0cmUgYXUgZMOpbWFycmFnZVxuIgorI34gIiAtQyA8ZmQ+ICAgIGFmZmljaGVyIHVuZSBiYXJyZSBkZSBwcm9ncmVzc2lvbsKgOyBmZCBuZSBzZXJ0IHF1J2F1eCBpbnRlcmZhY2VzIGdyYXBoaXF1ZXNcbiIKKyN+ICIgLVYgICAgICAgICBleHBsaXF1ZXIgbGVzIGFjdGlvbnMgZW4gY291cnNcbiIKKyN+ICIgLT8gICAgICAgICBhZmZpY2hlciBjZXR0ZSBhaWRlIGV0IHF1aXR0ZXJcbiIKKyN+ICJcbiIKKyN+ICJDb25zdWx0ZXogbGVzIGNvbW1hbmRlcyBmc2NrLiogcG91ciBvcHRpb25zLXN5c2YuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1kLCAtLWRpdmlzb3I9TlVNICAgICAgZGl2aWRlIGJ5dGVzIE5VTVxuIgorI34gIiAteCwgLS1zZWN0b3JzICAgICAgICAgIHNob3cgc2VjdG9yIGNvdW50IGFuZCBzaXplXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLUgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiT3B0aW9uc8KgOlxuIgorI34gIiAtZCwgLS1kaXZpc29yPU5CUkUgZGl2aXNlciBsZSBub21icmUgZCdvY3RldHMgcGFyIE5CUkVcbiIKKyN+ICIgLXgsIC0tc2VjdG9ycyAgICAgIGFmZmljaGVyIGxlIG5vbWJyZSBldCBsYSB0YWlsbGUgZGUgc2VjdGV1cnNcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgIGFmZmljaGVyIGxlcyBpbmZvcm1hdGlvbnMgZGUgdmVyc2lvbiBldCBxdWl0dGVyXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICBhZmZpY2hlciBjZXR0ZSBhaWRlIGV0IHF1aXR0ZXJcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtdCwgLS10eXBlPVRZUEUgIGZpbGUgc3lzdGVtIHR5cGUsIHdoZW4gdW5kZWZpbmVkIGV4dDIgaXMgdXNlZFxuIgorI34gIiAgICAgZnMtb3B0aW9ucyAgIHBhcmFtZXRlcnMgdG8gcmVhbCBmaWxlIHN5c3RlbSBidWlsZGVyXG4iCisjfiAiICAgICBkZXZpY2UgICAgICAgcGF0aCB0byBhIGRldmljZVxuIgorI34gIiAgICAgc2l6ZSAgICAgICAgIG51bWJlciBvZiBibG9ja3Mgb24gdGhlIGRldmljZVxuIgorI34gIiAtViwgLS12ZXJib3NlICAgIGV4cGxhaW4gd2hhdCBpcyBkb25lXG4iCisjfiAiICAgICAgICAgICAgICAgICAgZGVmaW5pbmcgLVYgbW9yZSB0aGFuIG9uY2Ugd2lsbCBjYXVzZSBhIGRyeS1ydW5cbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAgICAgICAgICAgICAgICAgIC1WIGFzIHZlcnNpb24gbXVzdCBiZSBvbmx5IG9wdGlvblxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zwqA6XG4iCisjfiAiIC10LCAtLXR5cGU9VFlQRSAgIHR5cGUgZGUgc3lzdMOobWUgZGUgZmljaGllcnMsIGV4dDIgcGFyIGTDqWZhdXRcbiIKKyN+ICIgICAgIG9wdGlvbnMtc3lzZiAgcGFyYW3DqHRyZXMgcG91ciB2cmFpIGNvbnN0cnVjdGV1ciBkZSBzeXN0w6htZSBkZSBmaWNoaWVyc1xuIgorI34gIiAgICAgcMOpcmlwaMOpcmlxdWUgIGNoZW1pbiB2ZXJzIHVuIHDDqXJpcGjDqXJpcXVlXG4iCisjfiAiICAgICB0YWlsbGUgICAgICAgIG5vbWJyZSBkZSBibG9jcyBzdXIgbGUgcMOpcmlwaMOpcmlxdWVcbiIKKyN+ICIgLVYsIC0tdmVyYm9zZSAgICAgZXhwbGlxdWVyIGxlcyBhY3Rpb25zIGVuIGNvdXJzXG4iCisjfiAiICAgICAgICAgICAgICAgICAgIC1WIGluZGlxdcOpIHBsdXMgZCd1bmUgZm9pcyBmb3JjZSB1bmUgcsOpcMOpdGl0aW9uXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgIGFmZmljaGVyIGxlcyBpbmZvcm1hdGlvbnMgZGUgdmVyc2lvbiBldCBxdWl0dGVyXG4iCisjfiAiICAgICAgICAgICAgICAgICAgIC1WIGNvbW1lIHZlcnNpb24gZG9pdCDDqnRyZSBsYSBzZXVsZSBvcHRpb25cbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgYWZmaWNoZXIgY2V0dGUgYWlkZSBldCBxdWl0dGVyXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJta2ZzICglcylcbiIKKyN+IG1zZ3N0ciAibWtmcyAoJXMpXG4iCisKKyN+IG1zZ2lkICJzdHJ0b2wgZXJyb3I6IG51bWJlciBvZiBibG9ja3Mgbm90IHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiZXJyZXVyIHN0cnRvbMKgOiBub21icmUgZGUgYmxvY3Mgbm9uIGluZGlxdcOpIgorCisjfiBtc2dpZCAib25lIGJhZCBwYWdlXG4iCisjfiBtc2dzdHIgInVuZSBwYWdlIGNvcnJvbXB1ZVxuIgorCisjfiBtc2dpZCAiICAgICAgICBvbiB3aG9sZSBkaXNrLiAiCisjfiBtc2dzdHIgIiAgICAgICAgc3VyIHRvdXQgbGUgZGlzcXVlLiAiCisKKyN+IG1zZ2lkICJkb2VzIG5vdCBzdXBwb3J0IHN3YXBzcGFjZSB2ZXJzaW9uICVkLiIKKyN+IG1zZ3N0ciAicGFzIGRlIHByaXNlIGVuIGNoYXJnZSBkZSBsYSB2ZXJzaW9uwqAlZCBkJ2VzcGFjZSBkJ8OpY2hhbmdlLiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWRkICAgICAgICAgICAgYWRkIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCisjfiAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIGRlbGV0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgKERFUFJFQ0FURUQpXG4iCisjfiAiIC1zLCAtLXNob3cgICAgICAgICAgIGxpc3QgcGFydGl0aW9uc1xuIgorI34gIlxuIgorI34gIiAtYiwgLS1ieXRlcyAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorI34gIiAtZywgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1zaG93XG4iCisjfiAiIC1uLCAtLW5yIDxuOm0+ICAgICAgIHNwZWNpZnkgdGhlIHJhbmdlIG9mIHBhcnRpdGlvbnMgKGUuZy4gLS1uciAyOjQpXG4iCisjfiAiIC1vLCAtLW91dHB1dCA8dHlwZT4gIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyN+ICIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyN+ICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgc3BlY2lmeSB0aGUgcGFydGl0aW9uIHR5cGUgKGRvcywgYnNkLCBzb2xhcmlzLCBldGMuKVxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICB2ZXJib3NlIG1vZGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hZGQgICAgICAgICAgICBham91dGVyIGxlcyBwYXJ0aXRpb25zIGluZGlxdcOpZXMgb3UgdG91dGVzXG4iCisjfiAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIHN1cHByaW1lciBsZXMgcGFydGl0aW9ucyBpbmRpcXXDqWVzIG91IHRvdXRlc1xuIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICBhZmZpY2hlciBsYSBsaXN0ZSBkZXMgcGFydGl0aW9ucyAob2Jzb2zDqHRlKVxuIgorI34gIiAtcywgLS1zaG93ICAgICAgICAgICBhZmZpY2hlciBsYSBsaXN0ZSBkZXMgcGFydGl0aW9uc1xuIgorI34gIlxuIgorI34gIiAtYiwgLS1ieXRlcyAgICAgICAgICBhZmZpY2hlciBsYSBUQUlMTEUgZW4gb2N0ZXQgcGx1dMO0dCBxdSdlbiBmb3JtYXRcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgIGxpc2libGUgcGFyIGwndXRpbGlzYXRldXJcbiIKKyN+ICIgLWcsIC0tbm9oZWFkaW5ncyAgICAgbmUgcGFzIGFmZmljaGVyIGxlcyBlbi10w6p0ZXMgcG91ciAtLXNob3dcbiIKKyN+ICIgLW4sIC0tbnIgPG06bj4gICAgICAgaW5kaXF1ZXIgbCdpbnRlcnZhbGxlIGRlIHBhcnRpdGlvbnMgKHBhciBleGVtcGxlIC0tbnIgMjo0KVxuIgorI34gIiAtbywgLS1vdXRwdXQgPGxpc3RlPiBkw6lmaW5pciBsZXMgY29sb25uZXMgZGUgc29ydGllIHV0aWxpc2VyXG4iCisjfiAiIC1QLCAtLXBhaXJzICAgICAgICAgIHV0aWxpc2VyIGxlIGZvcm1hdCBkZSBzb3J0aWUgY2xlZj1cInZhbGV1clwiXG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgIHV0aWxpc2VyIGxlIGZvcm1hdCBkZSBzb3J0aWUgYnJ1dFxuIgorI34gIiAtdCwgLS10eXBlIDx0eXBlPiAgICBpbmRpcXVlciBsZSB0eXBlIGRlIHBhcnRpdGlvbiAoZG9zLCBic2QsIHNvbGFyaXMswqBldGMuKVxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICBtb2RlIGJhdmFyZFxuIgorCisjfiBtc2dpZCAiV2FybmluZyEhICBVbnN1cHBvcnRlZCBHUFQgKEdVSUQgUGFydGl0aW9uIFRhYmxlKSBkZXRlY3RlZC4gVXNlIEdOVSBQYXJ0ZWQuIgorI34gbXNnc3RyICJBdHRlbnRpb24uIElkZW50aWZpYW50IEdQVCAoR1VJRCkgZGUgdGFibGUgZGUgcGFydGl0aW9ucyBub24gcHJpcyBlbiBjaGFyZ2UgZMOpdGVjdMOpLiBVdGlsaXNleiBHTlUgUGFydGVkLiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJcdFRoZXJlIGlzIGEgdmFsaWQgQUlYIGxhYmVsIG9uIHRoaXMgZGlzay5cbiIKKyN+ICJcdFVuZm9ydHVuYXRlbHkgTGludXggY2Fubm90IGhhbmRsZSB0aGVzZVxuIgorI34gIlx0ZGlza3MgYXQgdGhlIG1vbWVudC4gIE5ldmVydGhlbGVzcyBzb21lXG4iCisjfiAiXHRhZHZpY2U6XG4iCisjfiAiXHQxLiBmZGlzayB3aWxsIGRlc3Ryb3kgaXRzIGNvbnRlbnRzIG9uIHdyaXRlLlxuIgorI34gIlx0Mi4gQmUgc3VyZSB0aGF0IHRoaXMgZGlzayBpcyBOT1QgYSBzdGlsbCB2aXRhbFxuIgorI34gIlx0ICAgcGFydCBvZiBhIHZvbHVtZSBncm91cC4gKE90aGVyd2lzZSB5b3UgbWF5XG4iCisjfiAiXHQgICBlcmFzZSB0aGUgb3RoZXIgZGlza3MgYXMgd2VsbCwgaWYgdW5taXJyb3JlZC4pXG4iCisjfiAiXHQzLiBCZWZvcmUgZGVsZXRpbmcgdGhpcyBwaHlzaWNhbCB2b2x1bWUgYmUgc3VyZVxuIgorI34gIlx0ICAgdG8gcmVtb3ZlIHRoZSBkaXNrIGxvZ2ljYWxseSBmcm9tIHlvdXIgQUlYXG4iCisjfiAiXHQgICBtYWNoaW5lLiAgKE90aGVyd2lzZSB5b3UgYmVjb21lIGFuIEFJWHBlcnQpLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0SWwgeSBhIHVuZSDDqXRpcXVldHRlIEFJWCB2YWxhYmxlIHN1ciBjZSBkaXNxdWUuXG4iCisjfiAiXHRNYWxoZXVyZXVzZW1lbnQsIExpbnV4IG5lIGfDqHJlIHBhcyBjZSB0eXBlIGRlXG4iCisjfiAiXHRkaXNxdWUgcG91ciBsZSBtb21lbnQuIE7DqWFubW9pbnMsIHZvaWNpIHF1ZWxxdWVzXG4iCisjfiAiXHRjb25zZWlsc8KgOlxuIgorI34gIlx0MS4gZmRpc2sgZMOpdHJ1aXJhIHNvbiBjb250ZW51IGxvcnMgZCd1bmUgw6ljcml0dXJlLlxuIgorI34gIlx0Mi4gVsOpcmlmaWV6IHF1ZSBsZSBkaXNxdWUgbidlc3QgUExVUyB1bmUgcGFydGllIGVzc2VudGllbGxlXG4iCisjfiAiXHQgICBkJ3VuIGdyb3VwZSBkZSB2b2x1bWVzIChzaW5vbiwgdm91cyByaXNxdWV6IGQnZWZmYWNlclxuIgorI34gIlx0ICAgYXVzc2kgbGVzIGF1dHJlcyBkaXNxdWVzLCBlbiBhYnNlbmNlIGRlIG1pcm9pcnMpLlxuIgorI34gIlx0My4gQXZhbnQgZGUgZMOpdHJ1aXJlIGNlIHZvbHVtZSBwaHlzaXF1ZSwgdsOpcmlmaWV6XG4iCisjfiAiXHQgICBkJ2F2b2lyIHJldGlyw6kgbGUgZGlzcXVlIGxvZ2lxdWUgZHUgc3lzdMOobWUgQUlYXG4iCisjfiAiXHQgICAow6AgbW9pbnMgZCfDqnRyZSB1biBzcMOpY2lhbGlzdGUgZCdBSVgpLiIKKworI34gbXNnaWQgIiIKKyN+ICJcdFNvcnJ5IC0gdGhpcyBmZGlzayBjYW5ub3QgaGFuZGxlIEFJWCBkaXNrIGxhYmVscy5cbiIKKyN+ICJcdElmIHlvdSB3YW50IHRvIGFkZCBET1MtdHlwZSBwYXJ0aXRpb25zLCBjcmVhdGVcbiIKKyN+ICJcdGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUgZmlyc3QuIChVc2Ugby4pXG4iCisjfiAiXHRXQVJOSU5HOiBUaGlzIHdpbGwgZGVzdHJveSB0aGUgcHJlc2VudCBkaXNrIGNvbnRlbnRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXHREw6lzb2zDqSDigJQgY2V0dGUgdmVyc2lvbiBkZSBmZGlzayBuZSBnw6hyZSBwYXMgbGVzIMOpdGlxdWV0dGVzIGRlIGRpc3F1ZXMgQUlYLlxuIgorI34gIlx0U2kgdm91cyBkw6lzaXJleiBham91dGVyIGRlcyBwYXJ0aXRpb25zIGRlIHR5cGUgRE9TLCBjcsOpZXogZCdhYm9yZFxuIgorI34gIlx0dW5lIG5vdXZlbGxlIHRhYmxlIGRlIHBhcnRpdGlvbnMgRE9TIHZpZGUgKHV0aWxpc2VyIG8pLlxuIgorI34gIlx0QXR0ZW50aW9uwqA6IGNlbGEgZMOpdHJ1aXJhIGxlIGNvbnRlbnUgYWN0dWVsIGR1IGRpc3F1ZS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJCU0QgbGFiZWwgZm9yIGRldmljZTogJXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIsOJdGlxdWV0dGUgQlNEIHN1ciBsZSBww6lyaXBow6lyaXF1ZcKgOiAlc1xuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVkIGhhcyBlbXB0eSB0eXBlXG4iCisjfiBtc2dzdHIgIkF2ZXJ0aXNzZW1lbnTCoDogcGFydGl0aW9uwqAlZCBhIHVuIHR5cGUgdmlkZVxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVpIGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiTGEgcGFydGl0aW9uwqAlaSBuZSBzZSB0ZXJtaW5lIHBhcyBzdXIgdW5lIGZyb250acOocmUgZGUgY3lsaW5kcmUuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogR1BUIChHVUlEIFBhcnRpdGlvbiBUYWJsZSkgZGV0ZWN0ZWQgb24gJyVzJyEgVGhlIHV0aWwgZmRpc2sgZG9lc24ndCBzdXBwb3J0IEdQVC4gVXNlIEdOVSBQYXJ0ZWQuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJBdHRlbnRpb27CoDogaWRlbnRpZmlhbnQgZGUgdGFibGUgZGUgcGFydGl0aW9ucyBHUFQgKEdVSUQpIGTDqXRlY3TDqSBzdXIgwqvCoCVzwqDCu8KgISBMJ3V0aWxpdGFpcmUgZmRpc2sgbmUgcHJlbmQgcGFzIEdQVCBlbiBjaGFyZ2UuIFV0aWxpc2V6IEdOVSBQYXJ0ZWQuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJOb3RlOiBzZWN0b3Igc2l6ZSBpcyAlbGQgKG5vdCAlZClcbiIKKyN+IG1zZ3N0ciAiTm90ZcKgOiB0YWlsbGUgZGUgc2VjdGV1csKgJWxkIChldCBub24gcGFzICVkKVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IEdQVCAoR1VJRCBQYXJ0aXRpb24gVGFibGUpIGRldGVjdGVkIG9uICclcychIFRoZSB1dGlsIHNmZGlzayBkb2Vzbid0IHN1cHBvcnQgR1BULiBVc2UgR05VIFBhcnRlZC5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkF0dGVudGlvbsKgOiBpZGVudGlmaWFudCBkZSB0YWJsZSBkZSBwYXJ0aXRpb25zIEdQVCAoR1VJRCkgZMOpdGVjdMOpIHN1ciDCq8KgJXPCoMK7LiBMJ3V0aWxpdGFpcmUgc2ZkaXNrIG5lIHByZW5kIHBhcyBHUFQgZW4gY2hhcmdlLiBVdGlsaXNleiBHTlUgUGFydGVkLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiVXNlIHRoZSAtLWZvcmNlIGZsYWcgdG8gb3ZlcnJ1bGUgdGhpcyBjaGVjay5cbiIKKyN+IG1zZ3N0ciAiVXRpbGlzZXIgbCdvcHRpb24gLS1mb3JjZSBwb3VyIGlnbm9yZXIgY2UgY29udHLDtGxlLlxuIgorCisjfiBtc2dpZCAiZXhlYyAlcyBmYWlsZWQiCisjfiBtc2dzdHIgIsOpY2hlYyBkZSBleGVjICVzIgorCisjfiBtc2dpZCAiIgorI34gIiAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgIG1ha2UgdGhlIHNoZWxsIGEgbG9naW4gc2hlbGxcbiIKKyN+ICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKKyN+ICIgLS1zZXNzaW9uLWNvbW1hbmQgPGNvbW1hbmQ+ICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZG8gbm90IGNyZWF0ZSBhIG5ldyBzZXNzaW9uXG4iCisjfiAiIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgcGFzcyAtZiB0byB0aGUgc2hlbGwgKGZvciBjc2ggb3IgdGNzaClcbiIKKyN+ICIgLW0sIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgICBkbyBub3QgcmVzZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4iCisjfiAiIC1wICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FtZSBhcyAtbVxuIgorI34gIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgIHJ1biBzaGVsbCBpZiAvZXRjL3NoZWxscyBhbGxvd3MgaXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgIHV0aWxpc2VyIGVuIGludGVycHLDqXRldXIgZGUgY29ubmV4aW9uXG4iCisjfiAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmRlPiAgICAgcGFzc2VyIHVuZSBzZXVsZSBjb21tYW5kZSDDoCBsJ2ludGVycHLDqXRldXIgYXZlYyAtY1xuIgorI34gIiAtLXNlc3Npb24tY29tbWFuZCA8Y29tbWFuZGU+IHBhc3NlciB1bmUgc2V1bGUgY29tbWFuZGUgw6AgbCdpbnRlcnByw6l0ZXVyIGF2ZWMgLWNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW5zIGNyw6llciBkZSBub3V2ZWxsZSBzZXNzaW9uXG4iCisjfiAiIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgcGFzc2VyIC1mIMOgIGwnaW50ZXJwcsOpdGV1ciAocG91ciBjc2ggZXQgdGNzaClcbiIKKyN+ICIgLW0sIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgICBuZSBwYXMgcsOpaW5pdGlhbGlzZXIgbGVzIHZhcmlhYmxlcyBkJ2Vudmlyb25uZW1lbnRcbiIKKyN+ICIgLXAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tZSAtbVxuIgorI34gIiAtcywgLS1zaGVsbCA8aW50ZXJwcsOpdGV1cj4gICBleMOpY3V0ZXIgbCdpbnRlcnByw6l0ZXVyIHNpIC9ldGMvc2hlbGxzIGwnYXV0b3Jpc2VcbiIKKworI34gbXNnaWQgIiVzOiBleGVjIGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIGV4ZWMiCisKKyN+IG1zZ2lkICJUSU9DU0NUVFk6IGlvY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAiVElPQ1NDVFRZwqA6IMOpY2hlYyBkJ2lvY3RsIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsrZm9ybWF0XSBbZGF5IG1vbnRoIHllYXJdXG4iCisjfiBtc2dzdHIgIlV0aWxpc2F0aW9uwqA6ICVzIFsrZm9ybWF0XSBbam91ciBtb2lzIGFubsOpZV1cbiIKKworI34gbXNnaWQgIlN0LiBUaWIncyBEYXkiCisjfiBtc2dzdHIgIkpvdXJuLiBTdCBUaWIiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1PLCAtLW9wdGlvbnMgPGxpc3Q+ICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBtb3VudCBvcHRpb25zXG4iCisjfiAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgdGhlIG91dHB1dCBjb2x1bW5zIHRvIGJlIHNob3duXG4iCisjfiAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorI34gIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgRlMgdHlwZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtTywgLS1vcHRpb25zIDxsaXN0ZT4gIGxpbWl0ZXIgbCdlbnNlbWJsZSBkZSBzeXN0w6htZXMgZGUgZmljaGllcnMgcGFyIG9wdGlvbnMgZGUgbW9udGFnZVxuIgorI34gIiAtbywgLS1vdXRwdXQgPGxpc3RlPiAgIGxlcyBjb2xvbm5lcyBkZSBzb3J0aWUgw6AgbW9udHJlclxuIgorI34gIiAtUCwgLS1wYWlycyAgICAgICAgICAgIHV0aWxpc2VyIGxlIGZvcm1hdCBkZSBzb3J0aWUgY2xlZj1cInZhbGV1clwiXG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXRpbGlzZXIgbGUgZm9ybWF0IGRlIHNvcnRpZSBicnV0XG4iCisjfiAiIC10LCAtLXR5cGVzIDxsaXN0ZT4gICAgbGltaXRlciBsJ2Vuc2VtYmxlIGRlIHN5c3TDqG1lcyBkZSBmaWNoaWVycyBwYXIgdHlwZXNcbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC1zIHNpZ25hbCB8IC1wIF0gWyAtYSBdIHBpZCAuLi5cbiIKKyN+IG1zZ3N0ciAiVXRpbGlzYXRpb27CoDogJXMgWyAtcyBzaWduYWwgfCAtcCBdIFsgLWEgXSBQSUQgLi4uXG4iCisKKyN+IG1zZ2lkICIgICAgICAgJXMgLWwgWyBzaWduYWwgXVxuIgorI34gbXNnc3RyICIgICAgICAgJXMgLWwgWyBzaWduYWwgXVxuIgorCisjfiBtc2dpZCAiY29ubmVjdCAlcyIKKyN+IG1zZ3N0ciAiY29ubmV4aW9uICVzIgorCisjfiBtc2dpZCAiaW52YWxpZCBwb3J0IG51bWJlciBhcmd1bWVudCIKKyN+IG1zZ3N0ciAiYXJndW1lbnQgZGUgbnVtw6lybyBkZSBwb3J0IGluY29ycmVjdCIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJVdGlsaXNhdGlvbsKgOlxuIgorI34gIiAlcyBbb3B0aW9uc10gWzxww6lyaXBow6lyaXF1ZT4gLi4uXVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCisjfiAiIC1iLCAtLWJ5dGVzICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCisjfiAiIC1kLCAtLW5vZGVwcyAgICAgICAgIGRvbid0IHByaW50IHNsYXZlcyBvciBob2xkZXJzXG4iCisjfiAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHByaW50IGRpc2NhcmQgY2FwYWJpbGl0aWVzXG4iCisjfiAiIC1lLCAtLWV4Y2x1ZGUgPGxpc3Q+IGV4Y2x1ZGUgZGV2aWNlcyBieSBtYWpvciBudW1iZXIgKGRlZmF1bHQ6IFJBTSBkaXNrcylcbiIKKyN+ICIgLUksIC0taW5jbHVkZSA8bGlzdD4gc2hvdyBvbmx5IGRldmljZXMgd2l0aCBzcGVjaWZpZWQgbWFqb3IgbnVtYmVyc1xuIgorI34gIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICB1c2FnZSBpbmZvcm1hdGlvbiAodGhpcylcbiIKKyN+ICIgLWksIC0tYXNjaWkgICAgICAgICAgdXNlIGFzY2lpIGNoYXJhY3RlcnMgb25seVxuIgorI34gIiAtbSwgLS1wZXJtcyAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBwZXJtaXNzaW9uc1xuIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3VwdXRcbiIKKyN+ICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgb3V0cHV0IGNvbHVtbnNcbiIKKyN+ICIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyN+ICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKKyN+ICIgLXQsIC0tdG9wb2xvZ3kgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgdG9wb2xvZ3lcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk9wdGlvbnPCoDpcbiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgIGFmZmljaGVyIHRvdXMgbGVzIHDDqXJpcGjDqXJpcXVlc1xuIgorI34gIiAtYiwgLS1ieXRlcyAgICAgICAgICAgYWZmaWNoZXIgbGEgdGFpbGxlIChTSVpFKSBlbiBvY3RldCBwbHV0w7R0IHF1J2VuIGZvcm1hdFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIGxpc2libGUgcGFyIGwndXRpbGlzYXRldXJcbiIKKyN+ICIgLWQsIC0tbm9kZXBzICAgICAgICAgIG4nYWZmaWNoZXIgbmkgbGVzIGVzY2xhdmVzIG5pIGxlcyBwb3J0ZXVyc1xuIgorI34gIiAtRCwgLS1kaXNjYXJkICAgICAgICAgYWZmaWNoZXIgbGVzIGNhcGFjaXTDqXMgZCdhYmFuZG9uXG4iCisjfiAiIC1lLCAtLWV4Y2x1ZGUgPGxpc3RlPiBleGNsdXJlIGxlcyBww6lyaXBow6lyaXF1ZXMgcGFyIG51bcOpcm8gbWFqZXVyXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgKGRpc3F1ZXMgUkFNIHBhciBkw6lmYXV0KVxuIgorI34gIiAtSSwgLS1pbmNsdWRlIDxsaXN0ZT4gbmUgbW9udHJlciBxdWUgbGVzIHDDqXJpcGjDqXJpcXVlcyBhdmVjIGxlcyBudW3DqXJvc1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIG1hamV1ciBpbmRpcXXDqXNcbiIKKyN+ICIgLWYsIC0tZnMgICAgICAgICAgICAgIGFmZmljaGVyIGRlcyByZW5zZWlnbmVtZW50cyBzdXIgbGVzIHN5c3TDqG1lcyBkZSBmaWNoaWVyc1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgaW5mb3JtYXRpb24gZCd1dGlsaXNhdGlvblxuIgorI34gIiAtaSwgLS1hc2NpaSAgICAgICAgICAgdXRpbGlzZXIgc2V1bGVtZW50IGRlcyBjYXJhY3TDqHJlcyBBU0NJSVxuIgorI34gIiAtbSwgLS1wZXJtcyAgICAgICAgICAgYWZmaWNoZXIgZGVzIHJlbnNlaWduZW1lbnRzIHN1ciBsZXMgZHJvaXRzXG4iCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgICB1dGlsaXNlciBsJ2FmZmljaGFnZSBhdSBmb3JtYXQgbGlzdGVcbiIKKyN+ICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgIG5lIHBhcyBhZmZpY2hlciBsZXMgZW4tdMOqdGVzXG4iCisjfiAiIC1vLCAtLW91dHB1dCA8bGlzdGU+ICBjb2xvbm5lcyBhZmZpY2jDqWVzXG4iCisjfiAiIC1QLCAtLXBhaXJzICAgICAgICAgICB1dGlsaXNlciBsJ2FmZmljaGFnZSBhdSBmb3JtYXQgY2xlZj1cInZhbGV1clwiXG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgICB1dGlsaXNlciBsJ2FmZmljaGFnZSBhdSBmb3JtYXQgYnJ1dFxuIgorI34gIiAtcywgLS1pbnZlcnNlICAgICAgICAgaW52ZXJzZXIgbGVzIGTDqXBlbmRhbmNlc1xuIgorI34gIiAtdCwgLS10b3BvbG9neSAgICAgICAgYWZmaWNoZXIgZGVzIHJlbnNlaWduZW1lbnRzIHN1ciBsYSB0b3BvbG9naWVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgIGFmZmljaGVyIGxlcyBpbmZvcm1hdGlvbnMgZGUgdmVyc2lvbiBldCBxdWl0dGVyXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC12LCAtLXZlcmJvc2UgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICBleHBsaXF1ZXIgbGVzIGFjdGlvbnMgZW4gY291cnNcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBhZmZpY2hlciBsZXMgaW5mb3JtYXRpb25zIGRlIHZlcnNpb24gZXQgcXVpdHRlclxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGFmZmljaGVyIGNldHRlIGFpZGUgZXQgcXVpdHRlclxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZiA8ZmlsZT4gIGRlZmluZSBzZWFyY2ggc2NvcGVcbiIKKyN+ICIgLWIgICAgICAgICBzZWFyY2ggb25seSBiaW5hcmllc1xuIgorI34gIiAtQiA8ZGlycz4gIGRlZmluZSBiaW5hcmllcyBsb29rdXAgcGF0aFxuIgorI34gIiAtbSAgICAgICAgIHNlYXJjaCBvbmx5IG1hbnVhbCBwYXRoc1xuIgorI34gIiAtTSA8ZGlycz4gIGRlZmluZSBtYW4gbG9va3VwIHBhdGhcbiIKKyN+ICIgLXMgICAgICAgICBzZWFyY2ggb25seSBzb3VyY2VzIHBhdGhcbiIKKyN+ICIgLVMgPGRpcnM+ICBkZWZpbmUgc291cmNlcyBsb29rdXAgcGF0aFxuIgorI34gIiAtdSAgICAgICAgIHNlYXJjaCBmcm9tIHVudXN1YWwgZW50aXRpZXNcbiIKKyN+ICIgLVYgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWYgPGZpYy4+ICBkw6lmaW5pciBsYSBwb3J0w6llIGRlIHJlY2hlcmNoZVxuIgorI34gIiAtYiAgICAgICAgIG5lIGNoZXJjaGVyIHF1ZSBsZXMgYmluYWlyZXNcbiIKKyN+ICIgLUIgPHLDqXAuPiAgZMOpZmluaXIgbGUgY2hlbWluIGRlIHJlY2hlcmNoZSBkZXMgYmluYWlyZXNcbiIKKyN+ICIgLW0gICAgICAgICBuZSBjaGVyY2hlciBxdWUgbGVzIGNoZW1pbnMgZGUgcGFnZXMgZGUgbWFudWVsXG4iCisjfiAiIC1NIDxyw6lwLj4gIGTDqWZpbmlyIGxlIGNoZW1pbiBkZSByZWNoZXJjaGUgZGVzIG1hbnVlbHNcbiIKKyN+ICIgLXMgICAgICAgICBuZSBjaGVyY2hlciBxdWUgbGVzIGNoZW1pbnMgZGUgc291cmNlc1xuIgorI34gIiAtUyA8csOpcC4+ICBkw6lmaW5pciBsZSBjaGVtaW4gZGUgcmVjaGVyY2hlIGRlcyBzb3VyY2VzXG4iCisjfiAiIC11ICAgICAgICAgcmVjaGVyY2hlciBsZXMgZW50aXTDqXMgYW5vcm1hbGVzXG4iCisjfiAiIC1WICAgICAgICAgYWZmaWNoZXIgbGVzIGluZm9ybWF0aW9ucyBkZSB2ZXJzaW9uIGV0IHF1aXR0ZXJcbiIKKyN+ICIgLWggICAgICAgICBhZmZpY2hlciBjZXR0ZSBhaWRlIGV0IHF1aXR0ZXJcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIlNlZSBob3cgdG8gdXNlIGZpbGUgYW5kIGRpcnMgYXJndW1lbnRzIGZyb20gd2hlcmVpcygxKSBtYW51YWwuXG4iCisjfiBtc2dzdHIgIkNvbnN1bHRleiBsYSBwYWdlIGRlIG1hbnVlbCB3aGVyZWlzKDEpIHBvdXIgY29ubmHDrnRyZSBsYSBmYcOnb24gZCd1dGlsaXNlciBsZXMgYXJndW1lbnRzIGZpYy4gZXQgcsOpcC5cbiIKKworI34gbXNnaWQgIm1vdW50OiBjb3VsZG4ndCBsb2NrIGludG8gbWVtb3J5IgorI34gbXNnc3RyICJtb3VudMKgOiBpbXBvc3NpYmxlIGRlIHZlcnJvdWlsbGVyIGVuIG3DqW1vaXJlIgorCisjfiBtc2dpZCAibW91bnQ6IGFyZ3VtZW50IHRvIC1wIG9yIC0tcGFzcy1mZCBtdXN0IGJlIGEgbnVtYmVyIgorI34gbXNnc3RyICJtb3VudMKgOiBsJ2FyZ3VtZW50IGFwcsOocyAtcCBvdSAtLXBhc3MtZmQgZG9pdCDDqnRyZSB1biBub21icmUiCisKKyN+IG1zZ2lkICJleGVjdXRpbmcgJXMgZmFpbGVkIgorI34gbXNnc3RyICLDqWNoZWMgZCdleMOpY3V0aW9uIGRlICVzIgorCisjfiBtc2dpZCAiIgorI34gIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgY2xlYXIgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorI34gIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgcmVhZCBhbmQgY2xlYXIgYWxsIG1lc3NhZ2VzXG4iCisjfiAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICBkaXNhYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKKyN+ICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIHNob3cgdGltZSBkZWx0YSBiZXR3ZWVuIHByaW50ZWQgbWVzc2FnZXNcbiIKKyN+ICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIHNob3cgbG9jYWwgdGltZSBhbmQgdGltZSBkZWx0YSBpbiByZWFkYWJsZSBmb3JtYXRcbiIKKyN+ICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIGVuYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCisjfiAiIC1GLCAtLWZpbGUgPGZpbGU+ICAgICAgICAgICB1c2UgdGhlIGZpbGUgaW5zdGVhZCBvZiB0aGUga2VybmVsIGxvZyBidWZmZXJcbiIKKyN+ICIgLWYsIC0tZmFjaWxpdHkgPGxpc3Q+ICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGZhY2lsaXRpZXNcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICBkaXNwbGF5IGtlcm5lbCBtZXNzYWdlc1xuIgorI34gIiAtbCwgLS1sZXZlbCA8bGlzdD4gICAgICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgbGV2ZWxzXG4iCisjfiAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPGxldmVsPiBzZXQgbGV2ZWwgb2YgbWVzc2FnZXMgcHJpbnRlZCB0byBjb25zb2xlXG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iCisjfiAiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICBmb3JjZSB0byB1c2Ugc3lzbG9nKDIpIHJhdGhlciB0aGFuIC9kZXYva21zZ1xuIgorI34gIiAtcywgLS1idWZmZXItc2l6ZSA8c2l6ZT4gICAgYnVmZmVyIHNpemUgdG8gcXVlcnkgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorI34gIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbiByZWFkYWJsZSB0aW1lc3RhbXAgKGNvdWxkIGJlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5hY2N1cmF0ZSBpZiB5b3UgaGF2ZSB1c2VkIFNVU1BFTkQvUkVTVU1FKVxuIgorI34gIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgbWVzc2FnZXMgdGltZXN0YW1wXG4iCisjfiAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICBkaXNwbGF5IHVzZXJzcGFjZSBtZXNzYWdlc1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIgorI34gIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgZGVjb2RlIGZhY2lsaXR5IGFuZCBsZXZlbCB0byByZWFkYWJsZSBzdHJpbmdcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgdmlkZXIgbGUgdGFtcG9uIGRlcyBtZXNzYWdlcyBkdSBub3lhdVxuIgorI34gIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgbGlyZSBldCBlZmZhY2VyIHRvdXMgbGVzIG1lc3NhZ2VzXG4iCisjfiAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICBkw6lzYWN0aXZlciBsJ2FmZmljaGFnZSBkZXMgbWVzc2FnZXMgZW4gY29uc29sZVxuIgorI34gIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgbW9udHJlciBsYSBkaWZmLiBkZSB0ZW1wcyBlbnRyZSBtZXNzYWdlcyBhZmZpY2jDqXNcbiIKKyN+ICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIG1vbnRyZXIgbGEgZGF0ZSBsb2NhbGUgZXQgbGEgZGlmZsOpcmVuY2UgZGUgdGVtcHNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbiBmb3JtYXQgbGlzaWJsZVxuIgorI34gIiAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAgYWN0aXZlciBsJ2FmZmljaGFnZSBkZXMgbWVzc2FnZXMgZW4gY29uc29sZVxuIgorI34gIiAtRiwgLS1maWxlIDxmaWNoaWVyPiAgICAgICAgdXRpbGlzZXIgbGUgZmljaGllciDDoCBsYSBwbGFjZSBkdSB0YW1wb24gZGVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqb3VybmFsIGR1IG5veWF1XG4iCisjfiAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0ZT4gICAgICByZXN0cmVpbmRyZSBsYSBzb3J0aWUgYXV4IHNlcnZpY2VzIGluZGlxdcOpc1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgYWZmaWNoZXIgY2V0dGUgYWlkZSBldCBxdWl0dGVyXG4iCisjfiAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICBhZmZpY2hlciBsZXMgbWVzc2FnZXMgZHUgbm95YXVcbiIKKyN+ICIgLWwsIC0tbGV2ZWwgPGxpc3RlPiAgICAgICAgIHJlc3RyZWluZHJlIGxhIHNvcnRpZSBhdXggbml2ZWF1eCBpbmRpcXXDqXNcbiIKKyN+ICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bml2Lj4gIGNvbmZpZ3VyZXIgbml2ZWF1IGRlcyBtZXNzYWdlcyBhZmZpY2jDqXMgZW4gY29uc29sZVxuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgYWZmaWNoZXIgbGUgdGFtcG9uIGRlIG1lc3NhZ2UgYnJ1dFxuIgorI34gIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgZm9yY2VyIGwndXRpbGlzYXRpb24gZGUgc3lzbG9nKDIpIMOgIGxhIHBsYWNlIGRlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL2Rldi9rbXNnXG4iCisjfiAiIC1zLCAtLWJ1ZmZlci1zaXplIDx0YWlsbGU+ICB0YWlsbGUgZHUgdGFtcG9uIHBvdXIgZGVtYW5kZXIgbGUgdGFtcG9uIGRlc1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VzIGR1IG5veWF1XG4iCisjfiAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICBtb250cmVyIGwnaG9yb2RhdGFnZSBsaXNpYmxlIHBhciBsJ3V0aWxpc2F0ZXVyXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBvdXJyYWl0IMOqdHJlIGluZXhhY3QgZW4gY2FzIGQndXRpbGlzYXRpb24gZGVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGEgbWlzZSBlbiB2ZWlsbGUpXG4iCisjfiAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBuZSBwYXMgYWZmaWNoZXIgbCdob3JvZGF0YWdlIGRlcyBtZXNzYWdlc1xuIgorI34gIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgYWZmaWNoZXIgbGVzIG1lc3NhZ2VzIGVuIGVzcGFjZSB1dGlsaXNhdGV1clxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgYWZmaWNoZXIgbGVzIGluZm9ybWF0aW9ucyBkZSB2ZXJzaW9uIGV0IHF1aXR0ZXJcbiIKKyN+ICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIGF0dGVuZHJlIGxlcyBub3V2ZWF1eCBtZXNzYWdlc1xuIgorI34gIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgZMOpY29kZXIgbGUgc2VydmljZSBldCBsZSBuaXZlYXUgZW4gY2hhw65uZXMgbGlzaWJsZXNcbiIKKworI34gbXNnaWQgImVqZWN0OiBjYW5ub3Qgc2V0IHVzZXIgaWQiCisjfiBtc2dzdHIgImVqZWN0wqA6IGltcG9zc2libGUgZGUgY29uZmlndXJlciBsJ2lkZW50aWZpYW50IGQndXRpbGlzYXRldXIiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgIHRoaXMgaGVscFxuIgorI34gIiAtZiwgLS1mcmVlemUgICAgICBmcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKKyN+ICIgLXUsIC0tdW5mcmVlemUgICAgdW5mcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICBjZSBtZXNzYWdlIGQnYWlkZVxuIgorI34gIiAtZiwgLS1mcmVlemUgICAgICBnZWxlciBsZSBzeXN0w6htZSBkZSBmaWNoaWVyc1xuIgorI34gIiAtdSwgLS11bmZyZWV6ZSAgICBkw6lnZWxlciBsZSBzeXN0w6htZSBkZSBmaWNoaWVyc1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmc2ZyZWV6ZSg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkNvbnN1bHRleiBmc2ZyZWV6ZSg4KSBwb3VyIG9idGVuaXIgZGVzIHJlbnNlaWduZW1lbnRzIGNvbXBsw6ltZW50YWlyZXMuXG4iCisKKyN+IG1zZ2lkICJtYXggc2VnIHNpemUgKGtieXRlcykgPSAlbHVcbiIKKyN+IG1zZ3N0ciAidGFpbGxlIG1heGltYWxlIGRlIHNlZ21lbnRzIChraWxvb2N0ZXQpID0gJWx1XG4iCisKKyN+IG1zZ2lkICJtaW4gc2VnIHNpemUgKGJ5dGVzKSA9ICVsdVxuIgorI34gbXNnc3RyICJ0YWlsbGUgbWluaW1hbGUgZGUgc2VnbWVudHMgKG9jdGV0KSA9ICVsdVxuIgorCisjIGRpc2stdXRpbHMvbWtzd2FwLmM6NjIzCisjfiBtc2dpZCAic2htY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAiw6ljaGVjIGRlIGxhIGZvbmN0aW9uIHNobWN0bCIKKworIyBkaXNrLXV0aWxzL21rc3dhcC5jOjYyMworI34gbXNnaWQgIm1zZ2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgIsOpY2hlYyBkZSBsYSBmb25jdGlvbiBtc2djdGwiCisKKyN+IG1zZ2lkICJjYnl0ZXM9JWxkXHRxYnl0ZXM9JWxkXHRxbnVtPSVsZFx0bHNwaWQ9JWRcdGxycGlkPSVkXG4iCisjfiBtc2dzdHIgImNieXRlcz0lbGRcdHFieXRlcz0lbGRcdHFudW09JWxkXHRsc3BpZD0lZFx0bHJwaWQ9JWRcbiIKKworI34gbXNnaWQgInNlbWN0bCBmYWlsZWQiCisjfiBtc2dzdHIgIsOpY2hlYyBkZSBsYSBmb25jdGlvbiBzZW1jdGwiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1lLCAtLWVuY3J5cHRpb24gPHR5cGU+ICAgICAgIGVuYWJsZSBlbmNyeXB0aW9uIHdpdGggc3BlY2lmaWVkIDxuYW1lL251bT5cbiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorI34gIiAgICAgLS1zaXplbGltaXQgPG51bT4gICAgICAgICBkZXZpY2UgbGltaXRlZCB0byA8bnVtPiBieXRlcyBvZiB0aGUgZmlsZVxuIgorI34gIiAtcCwgLS1wYXNzLWZkIDxudW0+ICAgICAgICAgICByZWFkIHBhc3NwaHJhc2UgZnJvbSBmaWxlIGRlc2NyaXB0b3IgPG51bT5cbiIKKyN+ICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgY3JlYXRlIHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlXG4iCisjfiAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgICAgIHNldHVwIHJlYWQtb25seSBsb29wIGRldmljZVxuIgorI34gIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSBhZnRlciBzZXR1cCAod2l0aCAtZilcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWUsIC0tZW5jcnlwdGlvbiA8dHlwZT4gICAgICAgYWN0aXZlciBsZSBjaGlmZnJlbWVudCBhdmVjIDxub20vbnVtPiBpbmRpcXXDqVxuIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBkw6ltYXJyZXIgw6AgbGEgcG9zaXRpb24gPG51bT4gZGFucyBsZSBmaWNoaWVyXG4iCisjfiAiICAgICAtLXNpemVsaW1pdCA8bnVtPiAgICAgICAgIHDDqXJpcGjDqXJpcXVlIGxpbWl0w6kgw6AgPG51bT7CoG9jdGV0cyBkdSBmaWNoaWVyXG4iCisjfiAiIC1wLCAtLXBhc3MtZmQgPG51bT4gICAgICAgICAgIGxpcmUgbGUgbW90IGRlIHBhc3NlIGRlcHVpcyBsZSBkZXNjcmlwdGV1ciBkZSBmaWNoaWVyIDxudW0+XG4iCisjfiAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyw6llciB1biBww6lyaXBow6lyaXF1ZSBib3VjbGUgcGFydGl0aW9ubsOpXG4iCisjfiAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgICAgIGJvdWNsZSBlbiBsZWN0dXJlIHNldWxlIHN1ciBsZSBww6lyaXBow6lyaXF1ZVxuIgorI34gIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBhZmZpY2hlciBsZSBub20gZHUgcMOpcmlwaMOpcmlxdWUgYXByw6hzIGNvbmZpZ3VyYXRpb24gKGF2ZWMgLWYpXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIG1vZGUgYmF2YXJkXG4iCisKKyN+IG1zZ2lkICJpbnZhbGlkIHBhc3NwaHJhc2UgZmlsZSBkZXNjcmlwdG9yIgorI34gbXNnc3RyICJtb3QgZGUgcGFzc2UgZHUgZGVzY3JpcHRldXIgZGUgZmljaGllciBub24gdmFsYWJsZSIKKworIyBkaXNrLXV0aWxzL21rc3dhcC5jOjYxMgorI34gbXNnaWQgIiVzIGZhaWxlZCB0byB1c2UgZGV2aWNlIgorI34gbXNnc3RyICIlcyBuJ2Fycml2ZSBwYXMgw6AgdXRpbGlzZXIgbGUgcMOpcmlwaMOpcmlxdWUiCisKKyN+IG1zZ2lkICJjb3VsZG4ndCBsb2NrIGludG8gbWVtb3J5IgorI34gbXNnc3RyICJpbXBvc3NpYmxlIGRlIHZlcnJvdWlsbGVyIGVuIG3DqW1vaXJlIgorCisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBwcmludCBvbmxpbmUgYW5kIG9mZmxpbmUgQ1BVcyAoZGVmYXVsdCBmb3IgLWUpXG4iCisjfiAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIHByaW50IG9ubGluZSBDUFVzIG9ubHkgKGRlZmF1bHQgZm9yIC1wKVxuIgorI34gIiAtYywgLS1vZmZsaW5lICAgICAgICAgICBwcmludCBvZmZsaW5lIENQVXMgb25seVxuIgorI34gIiAtZSwgLS1leHRlbmRlZFs9PGxpc3Q+XSBwcmludCBvdXQgYW4gZXh0ZW5kZWQgcmVhZGFibGUgZm9ybWF0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorI34gIiAtcCwgLS1wYXJzZVs9PGxpc3Q+XSAgICBwcmludCBvdXQgYSBwYXJzYWJsZSBmb3JtYXRcbiIKKyN+ICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAgdXNlIGRpcmVjdG9yeSBESVIgYXMgc3lzdGVtIHJvb3RcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgcHJpbnQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAteCwgLS1oZXggICAgICAgICAgICAgICBwcmludCBoZXhhZGVjaW1hbCBtYXNrcyByYXRoZXIgdGhhbiBsaXN0cyBvZiBDUFVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGFmZmljaGVyIGxlcyBwcm9jZXNzZXVycyBlbiBsaWduZSBldCBob3JzIGxpZ25lXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBhciBkw6lmYXV0IHBvdXIgLWUpXG4iCisjfiAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgICBuJ2FmZmljaGVyIHF1ZSBsZXMgcHJvY2Vzc2V1cnMgZW4gbGlnbmVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAocGFyIGTDqWZhdXQgcG91ciAtcClcbiIKKyN+ICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAgIG4nYWZmaWNoZXIgcXVlIGxlcyBwcm9jZXNzZXVycyBob3JzIGxpZ25lXG4iCisjfiAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdGU+XSBhZmZpY2hlciBlbiBmb3JtYXQgw6l0ZW5kdSBsaXNpYmxlXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICBhZmZpY2hlciBjZXR0ZSBhaWRlXG4iCisjfiAiIC1wLCAtLXBhcnNlWz08bGlzdGU+XSAgICBhZmZpY2hlciBlbiBmb3JtYXQgYW5hbHlzYWJsZVxuIgorI34gIiAtcywgLS1zeXNyb290IDxyw6lwLj4gICAgIHV0aWxpc2VyIGNlIHLDqXBlcnRvaXJlIGNvbW1lIHJhY2luZSBkdSBzeXN0w6htZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgYWZmaWNoZXIgbGVzIGluZm9ybWF0aW9ucyBkZSB2ZXJzaW9uIGV0IHF1aXR0ZXJcbiIKKyN+ICIgLXgsIC0taGV4ICAgICAgICAgICAgICAgIGFmZmljaGVyIGxlcyBtYXNxdWVzIGhleGFkw6ljaW1hdXggYXUgbGlldSBkZXNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0ZXMgZGUgcHJvY2Vzc2V1cnNcbiIKKworIyBkaXNrLXV0aWxzL21rc3dhcC5jOjYxMgorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0dXAgbG9vcCBkZXZpY2UgKHByb2JhYmx5IHVua25vd24gZW5jcnlwdGlvbiB0eXBlKSIKKyN+IG1zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIGNvbmZpZ3VyYXRpb24gZHUgcMOpcmlwaMOpcmlxdWUgYm91Y2xlIChwcm9iYWJsZW1lbnQgdW4gdHlwZSBkZSBjaGlmZnJlbWVudCBpbmNvbm51KSIKKworI34gbXNnaWQgInJlbmljZSBmcm9tICVzXG4iCisjfiBtc2dzdHIgIm1vZGlmaWNhdGlvbiBkZSBwcmlvcml0w6kgZGVwdWlzICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1kLCAtLWRldmljZSA8ZGV2aWNlPiAgICBzZWxlY3QgcnRjIGRldmljZSAocnRjMHxydGMxfC4uLilcbiIKKyN+ICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGRvZXMgZXZlcnl0aGluZywgYnV0IHN1c3BlbmRcbiIKKyN+ICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCisjfiAiIC1tLCAtLW1vZGUgPG1vZGU+ICAgICAgICBzdGFuZGJ5fG1lbXwuLi4gc2xlZXAgbW9kZVxuIgorI34gIiAtcywgLS1zZWNvbmRzIDxzZWNvbmRzPiAgc2Vjb25kcyB0byBzbGVlcFxuIgorI34gIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCisjfiAiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBSVEMgdXNlcyBVVENcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbWVzc2FnZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZCwgLS1kZXZpY2UgPHDDqXJpcGguPiAgIGNob2lzaXIgcMOpcmlwaC4gZCdob3Jsb2dlIG1hdMOpcmllbGxlIChydGMwfHJ0YzF8Li4uKVxuIgorI34gIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgdG91dCBmYWlyZSwgc2F1ZiBsYSB2ZWlsbGVcbiIKKyN+ICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIGwnaG9ybG9nZSBtYXTDqXJpZWxsZSB1dGlsaXNlIHVuZSB6b25lIGRlIHRlbXBzIGxvY2FsZVxuIgorI34gIiAtbSwgLS1tb2RlIDxtb2RlPiAgICAgICAgc3RhbmRieXxtZW18Li4uIG1vZGUgZGUgbWlzZSBlbiB2ZWlsbGVcbiIKKyN+ICIgLXMsIC0tc2Vjb25kcyA8c2Vjb25kZXM+IG1pc2UgZW4gdmVpbGxlIGQndW5lIGR1csOpZSBkZSA8c2Vjb25kZXM+XG4iCisjfiAiIC10LCAtLXRpbWUgPGhldXJlX3Q+ICAgICBjb25maWd1cmVyIGwnaGV1cmUgZGUgc29ydGllIGRlIHZlaWxsZVxuIgorI34gIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgbCdob3Jsb2dlIG1hdMOpcmllbGxlIHV0aWxpc2UgbGEgem9uZSBkZSB0ZW1wcyBVVENcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIG1vZGUgYmF2YXJkXG4iCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZXhlY3V0ZSAlcyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2V4w6ljdXRlciAlcyIKKworI34gbXNnaWQgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheXMgd2hhdCBvcHRpb25zIGFyZSBiZWluZyBzd2l0Y2hlZCBvblxuIgorI34gIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgZGlzYWJsZXMgcmFuZG9taXphdGlvbiBvZiB0aGUgdmlydHVhbCBhZGRyZXNzIHNwYWNlXG4iCisjfiAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorI34gIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgdHVybnMgb24gTU1BUF9QQUdFX1pFUk9cbiIKKyN+ICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKKyN+ICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCisjfiAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB0dXJucyBvbiBBRERSX0xJTUlUXzMyQklUXG4iCisjfiAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICB0dXJucyBvbiBTSE9SVF9JTk9ERVxuIgorI34gIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgdHVybnMgb24gV0hPTEVfU0VDT05EU1xuIgorI34gIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgdHVybnMgb24gU1RJQ0tZX1RJTUVPVVRTXG4iCisjfiAiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBsaW1pdHMgdGhlIHVzZWQgYWRkcmVzcyBzcGFjZSB0byBhIG1heGltdW0gb2YgMyBHQlxuIgorI34gIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKKyN+ICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHR1cm5zIG9uIFVOQU1FMjZcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgbW9udHJlciBsZXMgb3B0aW9ucyBxdWkgc2Vyb250IGFjdGl2w6llc1xuIgorI34gIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgcmVuZHJlIG5vbiBhbMOpYXRvaXJlIGwnZXNwYWNlIGQnYWRyZXNzYWdlIHZpcnR1ZWxcbiIKKyN+ICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIGZhaXJlIHBvaW50ZXIgbGVzIHBvaW50ZXVycyBkZSBmb25jdGlvbnMgc3VyIGxlcyBkZXNjcmlwdGV1cnNcbiIKKyN+ICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIGFjdGl2ZXIgTU1BUF9QQUdFX1pFUk9cbiIKKyN+ICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IG1vZGlmaWVyIGxhIG3DqXRob2RlIGQnYWxsb2NhdGlvbiBkZSBtw6ltb2lyZSB2aXJ0dWVsbGVcbiIKKyN+ICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIGFjdGl2ZXIgUkVBRF9JTVBMSUVTX0VYRUNcbiIKKyN+ICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIGFjdGl2ZXIgQUREUl9MSU1JVF8zMkJJVFxuIgorI34gIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgYWN0aXZlciBTSE9SVF9JTk9ERVxuIgorI34gIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgYWN0aXZlciBXSE9MRV9TRUNPTkRTXG4iCisjfiAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICBhY3RpdmVyIFNUSUNLWV9USU1FT1VUU1xuIgorI34gIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgbGltaXRlciBsJ2VzcGFjZSBkJ2FkcmVzc2FnZSB1dGlsaXPDqSDDoCB1biBtYXhpbXVtIGRlIDPCoEdvXG4iCisjfiAiICAgICAtLTRnYiAgICAgICAgICAgICAgICBpZ25vcsOpZSAocG91ciBjb21wYXRpYmlsaXTDqSBzZXVsZW1lbnQpXG4iCisjfiAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICBhY3RpdmVyIFVOQU1FMjZcbiIKKworI34gbXNnaWQgImV4ZWN2cCBmYWlsZWQiCisjfiBtc2dzdHIgIsOpY2hlYyBkZSBleGVjdnAiCisKKyN+IG1zZ2lkICJleGVjdiBmYWlsZWQiCisjfiBtc2dzdHIgIsOpY2hlYyBkZSBsYSBmb25jdGlvbiDCq8KgZXhlY3bCoMK7IgorCisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICB1bW91bnQgYWxsIGZpbGVzeXN0ZW1zXG4iCisjfiAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorI34gIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICBpZiBtb3VudGVkIGxvb3AgZGV2aWNlLCBhbHNvIGZyZWUgdGhpcyBsb29wIGRldmljZVxuIgorI34gIiAgICAgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSB1bW91bnQoMikgc3lzY2FsbFxuIgorI34gIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBmb3JjZSB1bm1vdW50IChpbiBjYXNlIG9mIGFuIHVucmVhY2hhYmxlIE5GUyBzeXN0ZW0pXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgZMOpbW9udGVyIHRvdXMgbGVzIHN5c3TDqG1lcyBkZSBmaWNoaWVyc1xuIgorI34gIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBuZSBwYXMgY2Fub25pc2VyIGxlcyBjaGVtaW5zXG4iCisjfiAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGxpYsOpcmVyIGF1c3NpIGxlIHDDqXJpcGjDqXJpcXVlIGJvdWNsZSBzJ2lsIGVzdCBtb250w6lcbiIKKyN+ICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgcsOpcMOpdGl0aW9uLCBzYXV0ZXIgbCdhcHBlbCBzeXN0w6htZSB1bW91bnQoMilcbiIKKyN+ICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgZm9yY2VyIGxlIGTDqW1vbnRhZ2UgKGRhbnMgbGUgY2FzIGQndW4gbW9udGFnZSBORlMgaW5hY2Nlc3NpYmxlKVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSB1bW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKKyN+ICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCisjfiAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGRldGFjaCB0aGUgZmlsZXN5c3RlbSBub3csIGFuZCBjbGVhbnVwIGFsbCBsYXRlclxuIgorI34gbXNnc3RyICIiCisjfiAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIG5lIHBhcyBhcHBlbGVyIGxlcyBhdXhpbGlhaXJlcyB1bW91bnQuPHR5cGU+XG4iCisjfiAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIG5lIHBhcyDDqWNyaXJlIGRhbnMgL2V0Yy9tdGFiXG4iCisjfiAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGTDqXRhY2hlciBsZSBzeXN0w6htZSBkZSBmaWNoaWVycyBtYWludGVuYW50LFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgZXQgdG91dCBuZXR0b3llciBwbHVzIHRhcmRcbiIKKworIyBOT1RFOiBTcHVyaW91cyB1cHBlcmNhc2UgKEluIGNhc2UpCisjfiBtc2dpZCAiIgorI34gIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKKyN+ICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgSW4gY2FzZSB1bm1vdW50aW5nIGZhaWxzLCB0cnkgdG8gcmVtb3VudCByZWFkLW9ubHlcbiIKKyN+ICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHNheSB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtTywgLS10ZXN0LW9wdHMgPGxpc3RlPiBsaW1pdGVyIGwnZW5zZW1ibGUgZGUgc3lzdMOobWVzIGRlIGZpY2hpZXJzICh1dGlsaXNlciBhdmVjIC1hKVxuIgorI34gIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBlc3NheWVyIGRlIHJlbW9udGVyIGVuIGxlY3R1cmUgc2V1bGUgZW4gY2FzIGQnw6ljaGVjIGR1IGTDqW1vbnRhZ2VcbiIKKyN+ICIgLXQsIC0tdHlwZXMgPGxpc3RlPiAgICAgbGltaXRlciBsJ2Vuc2VtYmxlIGRlIHR5cGVzIGRlIHN5c3TDqG1lIGRlIGZpY2hpZXJzXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIGV4cGxpcXVlciBsZXMgYWN0aW9ucyBlbiBjb3Vyc1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbSwgLS1tb3VudCAgICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKKyN+ICIgLXUsIC0tdXRzICAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCisjfiAiIC1pLCAtLWlwYyAgICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorI34gIiAtbiwgLS1uZXQgICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLW0sIC0tbW91bnQgICAgICAgdW5zaGFyZSBtb250ZSBsZSBub20gZCdlc3BhY2VcbiIKKyN+ICIgLXUsIC0tdXRzICAgICAgICAgdW5zaGFyZSBub20gZCdlc3BhY2UgVVRTIChub20gZCdow7R0ZSwgZXRjLilcbiIKKyN+ICIgLWksIC0taXBjICAgICAgICAgdW5zaGFyZSBub20gZCdlc3BhY2UgSVBDIFN5c3RlbcKgVlxuIgorI34gIiAtbiwgLS1uZXQgICAgICAgICB1bnNoYXJlIG5vbSBkJ2VzcGFjZSByw6lzZWF1XG4iCisKKyN+IG1zZ2lkICIlLTE1cyVzIFt2ZXJzaW9uICV4XVxuIgorI34gbXNnc3RyICIlLTE1cyVzIFt2ZXJzaW9uICV4XVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIGFzc3VtZSA4LWJpdCB0dHlcbiIKKyN+ICIgLWEsIC0tYXV0b2xvZ2luIDx1c2VyPiAgICAgbG9naW4gdGhlIHNwZWNpZmllZCB1c2VyIGF1dG9tYXRpY2FsbHlcbiIKKyN+ICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAgZG8gbm90IHJlc2V0IGNvbnRyb2wgbW9kZVxuIgorI34gIiAtZiwgLS1pc3N1ZS1maWxlIDxmaWxlPiAgICBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKKyN+ICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgZW5hYmxlIGhhcmR3YXJlIGZsb3cgY29udHJvbFxuIgorI34gIiAtSCwgLS1ob3N0IDxob3N0bmFtZT4gICAgICBzcGVjaWZ5IGxvZ2luIGhvc3RcbiIKKyN+ICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgZG8gbm90IGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorI34gIiAtSSwgLS1pbml0LXN0cmluZyA8c3RyaW5nPiBzZXQgaW5pdCBzdHJpbmdcbiIKKyN+ICIgLWwsIC0tbG9naW4tcHJvZ3JhbSA8ZmlsZT4gc3BlY2lmeSBsb2dpbiBwcm9ncmFtXG4iCisjfiAiIC1MLCAtLWxvY2FsLWxpbmUgICAgICAgICAgIGZvcmNlIGxvY2FsIGxpbmVcbiIKKyN+ICIgLW0sIC0tZXh0cmFjdC1iYXVkICAgICAgICAgZXh0cmFjdCBiYXVkIHJhdGUgZHVyaW5nIGNvbm5lY3RcbiIKKyN+ICIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAgZG8gbm90IHByb21wdCBmb3IgbG9naW5cbiIKKyN+ICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8b3B0cz4gb3B0aW9ucyB0aGF0IGFyZSBwYXNzZWQgdG8gbG9naW5cbiIKKyN+ICIgLXAsIC0tbG9naW5wYXVzZSAgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCisjfiAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgIGRvIHZpcnR1YWxseSBoYW5ndXAgb24gdGhlIHR0eVxuIgorI34gIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICB0cnkgdG8ga2VlcCBiYXVkIHJhdGUgYWZ0ZXIgYnJlYWtcbiIKKyN+ICIgLXQsIC0tdGltZW91dCA8bnVtYmVyPiAgICAgbG9naW4gcHJvY2VzcyB0aW1lb3V0XG4iCisjfiAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKKyN+ICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgd2FpdCBjYXJyaWFnZS1yZXR1cm5cbiIKKyN+ICIgICAgIC0tbm9jbGVhciAgICAgICAgICAgICAgZG8gbm90IGNsZWFyIHRoZSBzY3JlZW4gYmVmb3JlIHByb21wdFxuIgorI34gIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBkbyBub3QgcHJpbnQgaGludHNcbiIKKyN+ICIgICAgIC0tbm9uZXdsaW5lICAgICAgICAgICAgZG8gbm90IHByaW50IGEgbmV3bGluZSBiZWZvcmUgaXNzdWVcbiIKKyN+ICIgICAgIC0tbm8taG9zdG5hbWUgICAgICAgICAgbm8gaG9zdG5hbWUgYXQgYWxsIHdpbGwgYmUgc2hvd25cbiIKKyN+ICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgc2hvdyBmdWxsIHF1YWxpZmllZCBob3N0bmFtZVxuIgorI34gIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAgICAgLS1oZWxwICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiT3B0aW9uc8KgOlxuIgorI34gIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBzdXBwb3NlciBxdWUgbGUgdGVybWluYWwgZ8OocmUgbGVzIGNhcmFjdMOocmVzIDjCoGJpdHNcbiIKKyN+ICIgLWEsIC0tYXV0b2xvZ2luIDxpZGVudD4gICAgY29ubmVjdGVyIGwndXRpbGlzYXRldXIgaW5kaXF1w6kgYXV0b21hdGlxdWVtZW50XG4iCisjfiAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIG5lIHBhcyByw6lpbml0aWFsaXNlciBsZSBtb2RlIGRlIGNvbnRyw7RsZVxuIgorI34gIiAtZiwgLS1pc3N1ZS1maWxlIDxmaWNoaWVyPiBhZmZpY2hlciBsZSBmaWNoaWVyIGlzc3VlXG4iCisjfiAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIGFjdGl2ZXIgbGUgY29udHLDtGxlIGRlIGZsdXggbWF0w6lyaWVsXG4iCisjfiAiIC1ILCAtLWhvc3QgPG5vbV9kX2jDtHRlPiAgICBpbmRpcXVlciBsJ2jDtHRlIGRlIGNvbm5leGlvblxuIgorI34gIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICBuZSBwYXMgYWZmaWNoZXIgbGUgZmljaGllciBpc3N1ZVxuIgorI34gIiAtSSwgLS1pbml0LXN0cmluZyA8Y2hhw65uZT4gZMOpZmluaXIgbGEgY2hhw65uZSBpbml0aWFsZVxuIgorI34gIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWMuPiBpbmRpcXVlciBsZSBwcm9ncmFtbWUgZGUgY29ubmV4aW9uXG4iCisjfiAiIC1MLCAtLWxvY2FsLWxpbmUgICAgICAgICAgIGZvcmNlciBsYSBsaWduZSBsb2NhbGVcbiIKKyN+ICIgLW0sIC0tZXh0cmFjdC1iYXVkICAgICAgICAgZXh0cmFpcmUgbGEgdml0ZXNzZSBwZW5kYW50IGxhIGNvbm5leGlvblxuIgorI34gIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBuZSBwYXMgZGVtYW5kZXIgZCdpZGVudGlmaWFudCBkZSBjb25uZXhpb25cbiIKKyN+ICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8b3B0cz4gb3B0aW9ucyBxdWkgc29udCBwYXNzw6llcyDDoCBsYSBjb25uZXhpb25cbiIKKyN+ICIgLXAsIC0tbG9naW5wYXVzZSAgICAgICAgICAgYXR0ZW5kcmUgdW5lIHRvdWNoZSBhdmFudCBsYSBjb25uZXhpb25cbiIKKyN+ICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgcmFjY3JvY2hlciB2aXJ0dWVsbGVtZW50IHN1ciBsZSB0ZXJtaW5hbFxuIgorI34gIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICBlc3NheWVyIGRlIGdhcmRlciBsYSB2aXRlc3NlIGFwcsOocyB1bmUgcGF1c2VcbiIKKyN+ICIgLXQsIC0tdGltZW91dCA8bm9tYnJlPiAgICAgdGVtcHMgZCdleHBpcmF0aW9uIGR1IHByb2Nlc3N1cyBkZSBjb25uZXhpb25cbiIKKyN+ICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgZMOpdGVjdGVyIGxlcyB0ZXJtaW5hdXggZW4gbWFqdXNjdWxlXG4iCisjfiAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIGF0dGVuZHJlIHVuIHJldG91ciBjaGFyaW90XG4iCisjfiAiICAgICAtLW5vY2xlYXIgICAgICAgICAgICAgIG5lIHBhcyBlZmZhY2VyIGwnw6ljcmFuIGF2YW50IGwnaW52aXRlXG4iCisjfiAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIG5lIHBhcyBhZmZpY2hlciBkZSBjb25zZWlsc1xuIgorI34gIiAgICAgLS1ub25ld2xpbmUgICAgICAgICAgICBuZSBwYXMgYWZmaWNoZXIgZGUgY2hhbmdlbWVudCBkZSBsaWduZSBhdmFudCBpc3N1ZVxuIgorI34gIiAgICAgLS1uby1ob3N0bmFtZSAgICAgICAgICBuZSBtb250cmVyIGF1Y3VuIG5vbSBkJ2jDtHRlXG4iCisjfiAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIG1vbnRyZXIgbGUgbm9tIGQnaMO0dGUgY29tcGzDqHRlbWVudCBxdWFsaWZpw6lcbiIKKyN+ICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgYWZmaWNoZXIgbGVzIGluZm9ybWF0aW9ucyBkZSB2ZXJzaW9uIGV0IHF1aXR0ZXJcbiIKKyN+ICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAgYWZmaWNoZXIgY2V0dGUgYWlkZSBldCBxdWl0dGVyXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJ1c2VycyIKKyN+IG1zZ3N0ciAidXRpbGlzYXRldXJzIgorCisjfiBtc2dpZCAiIgorI34gIiAtdGVybSA8dGVybWluYWxfbmFtZT5cbiIKKyN+ICIgLXJlc2V0XG4iCisjfiAiIC1pbml0aWFsaXplXG4iCisjfiAiIC1jdXJzb3IgPG9ufG9mZj5cbiIKKyN+ICIgLXJlcGVhdCA8b258b2ZmPlxuIgorI34gIiAtYXBwY3Vyc29ya2V5cyA8b258b2ZmPlxuIgorI34gIiAtbGluZXdyYXAgPG9ufG9mZj5cbiIKKyN+ICIgLWRlZmF1bHRcbiIKKyN+ICIgLWZvcmVncm91bmQgPGJsYWNrfGJsdWV8Z3JlZW58Y3lhbnxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdD5cbiIKKyN+ICIgLWJhY2tncm91bmQgPGJsYWNrfGJsdWV8Z3JlZW58Y3lhbnxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdD5cbiIKKyN+ICIgLXVsY29sb3IgPGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFufHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZT5cbiIKKyN+ICIgLXVsY29sb3IgPGJyaWdodCBibHVlfGdyZWVufGN5YW58cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlPlxuIgorI34gIiAtaGJjb2xvciA8YmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW58cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlPlxuIgorI34gIiAtaGJjb2xvciA8YnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbnxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGU+XG4iCisjfiAiIC1pbnZlcnNlc2NyZWVuIDxvbnxvZmY+XG4iCisjfiAiIC1ib2xkIDxvbnxvZmY+XG4iCisjfiAiIC1oYWxmLWJyaWdodCA8b258b2ZmPlxuIgorI34gIiAtYmxpbmsgPG9ufG9mZj5cbiIKKyN+ICIgLXJldmVyc2UgPG9ufG9mZj5cbiIKKyN+ICIgLXVuZGVybGluZSA8b258b2ZmPlxuIgorI34gIiAtc3RvcmUgPlxuIgorI34gIiAtY2xlYXIgPGFsbHxyZXN0PlxuIgorI34gIiAtdGFicyA8IHRhYjEgdGFiMiB0YWIzIC4uLiA+ICAgICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+ICIgLWNscnRhYnMgPCB0YWIxIHRhYjIgdGFiMyAuLi4gPiAgICh0YWJuID0gMS0xNjApXG4iCisjfiAiIC1yZWd0YWJzIDwxLTE2MD5cbiIKKyN+ICIgLWJsYW5rIDwwLTYwfGZvcmNlfHBva2U+XG4iCisjfiAiIC1kdW1wICAgPDEtTlJfQ09OU09MRVM+XG4iCisjfiAiIC1hcHBlbmQgPDEtTlJfQ09OU09MRVM+XG4iCisjfiAiIC1maWxlIGR1bXBmaWxlbmFtZVxuIgorI34gIiAtbXNnIDxvbnxvZmY+XG4iCisjfiAiIC1tc2dsZXZlbCA8MC04PlxuIgorI34gIiAtcG93ZXJzYXZlIDxvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmPlxuIgorI34gIiAtcG93ZXJkb3duIDwwLTYwPlxuIgorI34gIiAtYmxlbmd0aCA8MC0yMDAwPlxuIgorI34gIiAtYmZyZXEgZnJlcW51bWJlclxuIgorI34gIiAtdmVyc2lvblxuIgorI34gIiAtaGVscFxuIgorI34gbXNnc3RyICIiCisjfiAiIC10ZXJtIDxub21fdGVybWluYWw+XG4iCisjfiAiIC1yZXNldFxuIgorI34gIiAtaW5pdGlhbGl6ZVxuIgorI34gIiAtY3Vyc29yIDxvbnxvZmY+XG4iCisjfiAiIC1yZXBlYXQgPG9ufG9mZj5cbiIKKyN+ICIgLWFwcGN1cnNvcmtleXMgPG9ufG9mZj5cbiIKKyN+ICIgLWxpbmV3cmFwIDxvbnxvZmY+XG4iCisjfiAiIC1kZWZhdWx0XG4iCisjfiAiIC1mb3JlZ3JvdW5kIDxibGFja3xibHVlfGdyZWVufGN5YW58cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQ+XG4iCisjfiAiIC1iYWNrZ3JvdW5kIDxibGFja3xibHVlfGdyZWVufGN5YW58cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQ+XG4iCisjfiAiIC11bGNvbG9yIDxibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbnxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGU+XG4iCisjfiAiIC11bGNvbG9yIDxicmlnaHQgYmx1ZXxncmVlbnxjeWFufHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZT5cbiIKKyN+ICIgLWhiY29sb3IgPGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFufHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZT5cbiIKKyN+ICIgLWhiY29sb3IgPGJyaWdodCBibHVlfGdyZWVufGN5YW58cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlPlxuIgorI34gIiAtaW52ZXJzZXNjcmVlbiA8b258b2ZmPlxuIgorI34gIiAtYm9sZCA8b258b2ZmPlxuIgorI34gIiAtaGFsZi1icmlnaHQgPG9ufG9mZj5cbiIKKyN+ICIgLWJsaW5rIDxvbnxvZmY+XG4iCisjfiAiIC1yZXZlcnNlIDxvbnxvZmY+XG4iCisjfiAiIC11bmRlcmxpbmUgPG9ufG9mZj5cbiIKKyN+ICIgLXN0b3JlXG4iCisjfiAiIC1jbGVhciA8YWxsfHJlc3Q+XG4iCisjfiAiIC10YWJzIDwgdGFiMSB0YWIyIHRhYjMgLi4uID4gICAgICAodGFibiA9IDEtMTYwKVxuIgorI34gIiAtY2xydGFicyA8IHRhYjEgdGFiMiB0YWIzIC4uLiA+ICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+ICIgLXJlZ3RhYnMgPDEtMTYwPlxuIgorI34gIiAtYmxhbmsgPDAtNjB8Zm9yY2V8cG9rZT5cbiIKKyN+ICIgLWR1bXAgICA8MS1OQlJFX0NPTlNPTEVTPlxuIgorI34gIiAtYXBwZW5kIDwxLU5CUkVfQ09OU09MRVM+XG4iCisjfiAiIC1maWxlIG5vbWZpY2hpZXJkw6lww7R0XG4iCisjfiAiIC1tc2cgPG9ufG9mZj5cbiIKKyN+ICIgLW1zZ2xldmVsIDwwLTg+XG4iCisjfiAiIC1wb3dlcnNhdmUgPG9ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmY+XG4iCisjfiAiIC1wb3dlcmRvd24gPDAtNjA+XG4iCisjfiAiIC1ibGVuZ3RoIDwwLTIwMDA+XG4iCisjfiAiIC1iZnJlcSBmcsOpcXVlbmNlXG4iCisjfiAiIC12ZXJzaW9uXG4iCisjfiAiIC1oZWxwXG4iCisKKyN+IG1zZ2lkICJ0b28gbWFueSBpb3YncyAoY2hhbmdlIGNvZGUgaW4gd2FsbC90dHltc2cuYykiCisjfiBtc2dzdHIgInRyb3AgZGUgaW92IChtb2RpZmllciBsZSBjb2RlIGRlIHdhbGwvdHR5bXNnLmMpIgorCisjfiBtc2dpZCAid3JpdGUgZXJyb3IuIgorI34gbXNnc3RyICJlcnJldXIgZCfDqWNyaXR1cmUuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVXRpbGlzYXRpb27CoDogJXMgW29wdGlvbnNdIFtmaWNoaWVyIC4uLl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgIGRpc3BsYXlzIHRoaXMgaGVscCB0ZXh0XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtYywgLS1jb2x1bW5zIDx3aWR0aD4gICAgd2lkdGggb2Ygb3V0cHV0IGluIG51bWJlciBvZiBjaGFyYWN0ZXJzXG4iCisjfiAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICBjcmVhdGUgYSB0YWJsZVxuIgorI34gIiAtcywgLS1zZXBhcmF0b3IgPHN0cmluZz4gdGFibGUgZGVsaW1ldGVyXG4iCisjfiAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICBmaWxsIHJvd3MgYmVmb3JlIGNvbHVtbnNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgYWZmaWNoZSBjZXR0ZSBhaWRlXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICBhZmZpY2hlciBsZXMgaW5mb3JtYXRpb25zIGRlIHZlcnNpb24gZXQgcXVpdHRlclxuIgorI34gIiAtYywgLS1jb2x1bW5zIDxsYXJnZXVyPiAgbGFyZ2V1ciBkZSBsJ2FmZmljaGFnZSBlbiBub21icmUgZGUgY2FyYWN0w6hyZXNcbiIKKyN+ICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgIGNyw6lhdGlvbiBkJ3VuZSB0YWJsZVxuIgorI34gIiAtcywgLS1zZXBhcmF0b3IgPGNoYcOubmU+IHPDqXBhcmF0ZXVyIGRlIHRhYmxlXG4iCisjfiAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICByZW1wbGlyIGxlcyBsaWduZXMgYXZhbnQgbGVzIGNvbG9ubmVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGNvbHVtbigxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkNvbnN1bHRleiBjb2x1bW4oMSkgcG91ciBvYnRlbmlyIGRlcyByZW5zZWlnbmVtZW50cyBjb21wbMOpbWVudGFpcmVzLlxuIgorCisjfiBtc2dpZCAibW9yZSAoJXMpXG4iCisjfiBtc2dzdHIgIm1vcmUgKCVzKVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGUuLi5dXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJVdGlsaXNhdGlvbsKgOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpY2hpZXIgLi4uXVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC10LCAtLXRlcm1pbmFsIFRFUk1JTkFMICAgIG92ZXJyaWRlIHRoZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCisjfiAiIC1pLCAtLWluZGljYXRlZCAgICAgICAgICAgIHVuZGVybGluaW5nIGlzIGluZGljYXRlZCB2aWEgYSBzZXBhcmF0ZSBsaW5lXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zwqA6XG4iCisjfiAiIC10LCAtLXRlcm1pbmFsIFRFUk1JTkFMICAgIHJlbXBsYWNlciBsYSB2YXJpYWJsZSBkJ2Vudmlyb25uZW1lbnQgVEVSTVxuIgorI34gIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICBsZSBzb3VsaWduZW1lbnQgZXN0IGluZGlxdcOpIMOgIGwnYWlkZSBkJ3VuZSBsaWduZSBzw6lwYXLDqWVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgYWZmaWNoZXIgbGVzIGluZm9ybWF0aW9ucyBkZSB2ZXJzaW9uIGV0IHF1aXR0ZXJcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgYWZmaWNoZXIgY2V0dGUgYWlkZSBldCBxdWl0dGVyXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBmaWxlICVzIgorI34gbXNnc3RyICJpbXBvc3NpYmxlIGQnb2J0ZW5pciBsJ8OpdGF0IGR1IGZpY2hpZXIgJXMiCisKKyN+IG1zZ2lkICIiCisjfiAidXNhZ2U6ICVzIFstaHZdIFsteCBkaXJdIGZpbGVcbiIKKyN+ICIgLWggICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyN+ICIgLXggZGlyICAgICBleHRyYWN0IGludG8gZGlyXG4iCisjfiAiIC12ICAgICAgICAgYmUgbW9yZSB2ZXJib3NlXG4iCisjfiAiIGZpbGUgICAgICAgZmlsZSB0byB0ZXN0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVdGlsaXNhdGlvbsKgOiAlcyBbLWh2XSBbLXggcsOpcGVydG9pcmVdIGZpY2hpZXJcbiIKKyN+ICIgLWggICAgICAgICAgICAgIGFmZmljaGVyIGwnYWlkZVxuIgorI34gIiAteCByw6lwZXJ0b2lyZSAgIGV4dHJhaXJlIGRhbnMgbGUgcsOpcGVydG9pcmVcbiIKKyN+ICIgLXYgICAgICAgICAgICAgIHRyYXZhaWxsZXIgZW4gbW9kZSBiYXZhcmRcbiIKKyN+ICIgZmljaGllciAgICAgICAgIGZpY2hpZXIgw6AgdGVzdGVyXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1sYXJ2c21mXSAvZGV2L25hbWVcbiIKKyN+IG1zZ3N0ciAiVXRpbGlzYXRpb27CoDogJXMgWy1sYXJ2c21mXSAvZGV2L25vbVxuIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gJXMiCisjfiBtc2dzdHIgIsOpY2hlYyBkJ291dmVydHVyZcKgZGUgJXMiCisKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBkZXZpY2UgJXMiCisjfiBtc2dzdHIgImltcG9zc2libGUgZCdvYnRlbmlyIGwnw6l0YXQgZHUgcMOpcmlwaMOpcmlxdWUgJXMiCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYmxvY2tzaXplIGFyZ3VtZW50IgorI34gbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIGwnYXJndW1lbnQgZGUgdGFpbGxlIGRlIGJsb2MiCisKKyMgZGlzay11dGlscy9ta3N3YXAuYzo1NjYKKyN+IG1zZ2lkICJlcnJvcjogd2lsbCBub3QgdHJ5IHRvIG1ha2Ugc3dhcGRldmljZSBvbiAnJXMnIgorI34gbXNnc3RyICJlcnJldXLCoDogaW1wb3NzaWJsZSBkZSBjcsOpZXIgdW5lIHpvbmUgZCfDqWNoYW5nZSBzdXIgwqvCoCVzwqDCuyIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIG1hc3RlciByYXcgZGV2aWNlICclcycgKCVzKVxuIgorI34gbXNnc3RyICJJbXBvc3NpYmxlIGQnb3V2cmlyIGxlIHDDqXJpcGjDqXJpcXVlIGJydXQgbWHDrnRyZSDCq8KgJXPCoMK7ICglcylcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlV0aWxpc2F0aW9uwqA6ICVzIFtvcHRpb25zXSA8cMOpcmlwaMOpcmlxdWU+XG4iCisjfiAiXG4iCisjfiAiT3B0aW9uc8KgOlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBzd2FwbGFiZWwoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDb25zdWx0ZXogc3dhcGxhYmVsKDgpIHBvdXIgb2J0ZW5pciBkZXMgcmVuc2VpZ25lbWVudHMgY29tcGzDqW1lbnRhaXJlcy5cbiIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIGZpbGUgJyVzJyIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ291dnJpciBsZSBmaWNoaWVyIMKrwqAlc8KgwrsiCisKKyN+IG1zZ2lkICIiCisjfiAiVGhpcyBkaXNrIGhhcyBib3RoIERPUyBhbmQgQlNEIG1hZ2ljLlxuIgorI34gIkdpdmUgdGhlICdiJyBjb21tYW5kIHRvIGdvIHRvIEJTRCBtb2RlLlxuIgorI34gbXNnc3RyICIiCisjfiAiQ2UgZGlzcXVlIGEgZGVzIG5vbWJyZXMgbWFnaXF1ZXMgw6AgbGEgZm9pcyBET1MgZXQgQlNELlxuIgorI34gIkV4w6ljdXRlciBsYSBjb21tYW5kZSDCq8KgYsKgwrsgcG91ciBwYXNzZXIgZW4gbW9kZSBCU0QuXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWkgZG9lcyBub3Qgc3RhcnQgb24gY3lsaW5kZXIgYm91bmRhcnk6XG4iCisjfiBtc2dzdHIgIkxhIHBhcnRpdGlvbsKgJWkgbmUgY29tbWVuY2UgcGFzIHN1ciB1bmUgZnJvbnRpw6hyZSBkZSBjeWxpbmRyZcKgOlxuIgorCisjfiBtc2dpZCAic2hvdWxkIGJlICglZCwgJWQsIDEpXG4iCisjfiBtc2dzdHIgImRldnJhaXQgw6p0cmUgKCVkLCAlZCwgMSlcbiIKKworI34gbXNnaWQgInNob3VsZCBiZSAoJWQsICVkLCAlZClcbiIKKyN+IG1zZ3N0ciAiZGV2cmFpdCDDqnRyZSAoJWQsICVkLCAlZClcbiIKKworI34gbXNnaWQgIlRoaXMga2VybmVsIGZpbmRzIHRoZSBzZWN0b3Igc2l6ZSBpdHNlbGYgLSAtYiBvcHRpb24gaWdub3JlZFxuIgorI34gbXNnc3RyICJDZSBub3lhdSB0cm91dmUgbHVpLW3Dqm1lIGxhIHRhaWxsZSBkZXMgc2VjdGV1cnMg4oCUIG9wdGlvbiAtYiBpZ25vcsOpZVxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeT9cbiIKKyN+IG1zZ3N0ciAibcOpbW9pcmUgw6lwdWlzw6llwqA/XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAic2ZkaXNrOiBwcmVtYXR1cmUgZW5kIG9mIGlucHV0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJzZmRpc2vCoDogZmluIHByw6ltYXR1csOpZSBkZSBsJ2VudHLDqWVcbiIKKworI34gbXNnaWQgIldBUk5JTkc6IGNvdWxkbid0IG9wZW4gJXMiCisjfiBtc2dzdHIgIkF0dGVudGlvbsKgOiBpbXBvc3NpYmxlIGQnb3V2cmlyICVzIgorCisjfiBtc2dpZCAiV0FSTklORzogYmFkIGZvcm1hdCBvbiBsaW5lICVkIG9mICVzIgorI34gbXNnc3RyICJBdHRlbnRpb27CoDogbWF1dmFpcyBmb3JtYXQgw6AgbGEgbGlnbmXCoCVkIHN1ciAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJXQVJOSU5HOiBZb3VyIC9ldGMvZnN0YWIgZG9lcyBub3QgY29udGFpbiB0aGUgZnNjayBwYXNzbm9cbiIKKyN+ICJcdGZpZWxkLiAgSSB3aWxsIGtsdWRnZSBhcm91bmQgdGhpbmdzIGZvciB5b3UsIGJ1dCB5b3VcbiIKKyN+ICJcdHNob3VsZCBmaXggeW91ciAvZXRjL2ZzdGFiIGZpbGUgYXMgc29vbiBhcyB5b3UgY2FuLlxuIgorI34gbXNnc3RyICIiCisjfiAiQXR0ZW50aW9uwqA6IGxlIGZpY2hpZXIgL2V0Yy9mc3RhYiBuZSBjb250aWVudCBwYXMgbGUgY2hhbXBcbiIKKyN+ICJcdGZzY2sgcGFzc25vLiBMYSB2YWxldXIgdmEgw6p0cmUgZXh0cmFwb2zDqWUgbWFpcyB2b3VzIGRldnJpZXpcbiIKKyN+ICJcdGNvcnJpZ2VyIGNlbGEgYXUgcGx1cyB0w7R0IGRhbnMgbGUgZmljaGllciAvZXRjL2ZzdGFiLlxuIgorCisjfiBtc2dpZCAiY291bGRuJ3Qgb3BlbiAlcyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciAlcyIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIC9kZXYvcG9ydCIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ291dnJpciBsZSBwb3J0IC9kZXYvcG9ydCIKKworI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlcG9jaCIKKyN+IG1zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkZSBsJ8OpcG9xdWUiCisKKyN+IG1zZ2lkICIiCisjfiAiWW91IGhhdmUgc3BlY2lmaWVkIG11bHRpcGxlIGZ1bmN0aW9ucy5cbiIKKyN+ICJZb3UgY2FuIG9ubHkgcGVyZm9ybSBvbmUgZnVuY3Rpb24gYXQgYSB0aW1lLiIKKyN+IG1zZ3N0ciAiIgorI34gIlZvdXMgYXZleiBpbmRpcXXDqSBwbHVzaWV1cnMgZm9uY3Rpb25zLlxuIgorI34gIlZvdXMgbmUgcG91dmV6IGVuIGV4w6ljdXRlciBxdSd1bmUgw6AgbGEgZm9pcy4iCisKKyN+IG1zZ2lkICJUaGUgLS11dGMgYW5kIC0tbG9jYWx0aW1lIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC4iCisjfiBtc2dzdHIgIkxlcyBvcHRpb25zIC0tdXRjIGV0IC0tbG9jYWx0aW1lIHMnZXhjbHVlbnQgbXV0dWVsbGVtZW50LiBWb3VzIGF2ZXogaW5kaXF1w6kgbGVzIGRldXguIgorCisjfiBtc2dpZCAiVGhlIC0tYWRqdXN0IGFuZCAtLW5vYWRqZmlsZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuICBZb3Ugc3BlY2lmaWVkIGJvdGguIgorI34gbXNnc3RyICJMZXMgb3B0aW9ucyAtLWFkanVzdCBldCAtLW5vYWRqZmlsZSBzJ2V4Y2x1ZW50IG11dHVlbGxlbWVudC4gVm91cyBhdmV6IGluZGlxdcOpIGxlcyBkZXV4LiIKKworI34gbXNnaWQgIlRoZSAtLWFkamZpbGUgYW5kIC0tbm9hZGpmaWxlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC4iCisjfiBtc2dzdHIgIkxlcyBvcHRpb25zIC0tYWRqZmlsZSBldCAtLW5vYWRqZmlsZSBzJ2V4Y2x1ZW50IG11dHVlbGxlbWVudC4gVm91cyBhdmV6IGluZGlxdcOpIGxlcyBkZXV4LiIKKworI34gbXNnaWQgIm9wZW4oKSBvZiAlcyBmYWlsZWQiCisjfiBtc2dzdHIgIsOJY2hlYyBkZSBvcGVuKCkgZGUgJXMiCisKKyN+IG1zZ2lkICJPcGVuIG9mICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAiw4ljaGVjIGQnb3V2ZXJ0dXJlIGRlICVzIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIG9wZW4gJXMiCisjfiBtc2dzdHIgIkltcG9zc2libGUgZCdvdXZyaXIgJXMiCisKKyN+IG1zZ2lkICJlcnJvcjogY2Fubm90IG9wZW4gJXMiCisjfiBtc2dzdHIgImVycmV1csKgOiBpbXBvc3NpYmxlIGQnb3V2cmlyICVzIgorCisjfiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMgZm9yIHJlYWRpbmcsIGV4aXRpbmcuIgorI34gbXNnc3RyICLDiWNoZWMgZCdvdXZlcnR1cmUgZGUgJXMgZW4gbGVjdHVyZSwgZmluIGQnZXjDqWN1dGlvbi4iCisKKyN+IG1zZ2lkICJjYW5ub3QgbG9jayBncm91cCBmaWxlIgorI34gbXNnc3RyICJpbXBvc3NpYmxlIGRlIHZlcnJvdWlsbGVyIGxlIGZpY2hpZXIgZGUgZ3JvdXBlIgorCisjfiBtc2dpZCAidGhlICVzIGZpbGUgaXMgYnVzeSAoJXMgcHJlc2VudCkiCisjfiBtc2dzdHIgImxlIGZpY2hpZXIgJXMgZXN0IG9jY3Vww6kgKCVzIHByw6lzZW50KSIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBMQUJFTD08bGFiZWw+fFVVSUQ9PHV1aWQ+XG4iCisjfiBtc2dzdHIgIlV0aWxpc2F0aW9uwqA6ICVzIExBQkVMPTzDqXRpcXVldHRlPnxVVUlEPTx1dWlkPlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmaW5kbW50KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQ29uc3VsdGV6IGZpbmRtbnQoMSkgcG91ciBvYnRlbmlyIGRlcyByZW5zZWlnbmVtZW50cyBjb21wbMOpbWVudGFpcmVzLlxuIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNpZ3ZhbCIKKyN+IG1zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkZSBzaWd2YWwiCisKKyN+IG1zZ2lkICJwb3J0IGAlbGQnIG91dCBvZiByYW5nZSIKKyN+IG1zZ3N0ciAicG9ydCDCq8KgJWxkwqDCuyBob3JzIGxpbWl0ZXMuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBsc2Jsayg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkNvbnN1bHRleiBsc2Jsayg4KSBwb3VyIG9idGVuaXIgZGVzIHJlbnNlaWduZW1lbnRzIGNvbXBsw6ltZW50YWlyZXMuXG4iCisKKyN+IG1zZ2lkICJpbnZhbGlkIG9mZnNldCB2YWx1ZSAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiVmFsZXVyIGQnaW5kZXggwqvCoCVzwqDCuyBpbmRpcXXDqWUgbm9uIHZhbGFibGUiCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiBmYWlsZWQgdG8gcmVhZCBtdGFiIgorI34gbXNnc3RyICJhdmVydGlzc2VtZW50wqA6IMOpY2hlYyBkZSBsZWN0dXJlIGRlIG10YWIiCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY2xhc3MgZGF0YSIKKyN+IG1zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkZXMgZG9ubsOpZXMgZGUgY2xhc3NlIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNsYXNzIgorI34gbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIGNsYXNzZSIKKworI34gbXNnaWQgImNvbmZpZ3VyZSwgZGVjb25maWd1cmUsIGRpc2FibGUsIGRpc3BhdGNoLCBlbmFibGUgYW5kIHJlc2NhbiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorI34gbXNnc3RyICItLWNvbmZpZ3VyZSwgLS1kZWNvbmZpZ3VyZSwgLS1kaXNhYmxlLCAtLWRpc3BhdGNoLCAtLWVuYWJsZSBldCAtLXJlc2NhbiBzJ2V4Y2x1ZW50IG11dHVlbGxlbWVudCIKKworI34gbXNnaWQgImNsZWFyLCByZWFkLWNsZWFyLCBjb25zb2xlLWxldmVsLCBjb25zb2xlLW9uLCBhbmQgY29uc29sZS1vZmYgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorI34gbXNnc3RyICJsZXMgb3B0aW9ucyAtLWNsZWFyLCAtLXJlYWQtY2xlYXIsIC0tY29uc29sZS1sZXZlbCwgLS1jb25zb2xlLW9uIGV0IC0tY29uc29sZS1vZmYgcydleGNsdWVudCBtdXR1ZWxsZW1lbnQiCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYnVmZmVyIHNpemUiCisjfiBtc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZGUgdGFpbGxlIGR1IHRhbXBvbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgZmFsbG9jYXRlKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQ29uc3VsdGV6IGZhbGxvY2F0ZSgxKSBwb3VyIG9idGVuaXIgZGVzIHJlbnNlaWduZW1lbnRzIGNvbXBsw6ltZW50YWlyZXMuXG4iCisKKyN+IG1zZ2lkICIlczogZnN0YXQgZmFpbGVkIgorI34gbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgZnN0YXQiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZzdHJpbSg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkNvbnN1bHRleiBmc3RyaW0oOCkgcG91ciBvYnRlbmlyIGRlcyByZW5zZWlnbmVtZW50cyBjb21wbMOpbWVudGFpcmVzLlxuIgorCisjfiBtc2dpZCAiaW52YWxpZCBzcGVlZCIKKyN+IG1zZ3N0ciAidml0ZXNzZSBpbmNvcnJlY3RlIgorCisjfiBtc2dpZCAiaW52YWxpZCBvZmZzZXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgImluZGV4IMKrwqAlc8KgwrsgaW5kaXF1w6kgbm9uIHZhbGFibGUiCisKKyN+IG1zZ2lkICJpbnZhbGlkIHNpemUgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgInRhaWxsZSDCq8KgJXPCoMK7IGluZGlxdcOpZSBub24gdmFsYWJsZSIKKworI34gbXNnaWQgImV4dGVuZGVkIGFuZCBwYXJzYWJsZSBmb3JtYXRzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCisjfiBtc2dzdHIgImxlcyBmb3JtYXRzIMOpdGVuZHUgZXQgYW5hbHlzYWJsZSBzJ2V4Y2x1ZW50IG11dHVlbGxlbWVudCIKKworI34gbXNnaWQgIi0tYWxsLCAtLW9ubGluZSBhbmQgLS1vZmZsaW5lIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKKyN+IG1zZ3N0ciAibGVzIG9wdGlvbnMgLS1hbGwsIC0tb25saW5lIGV0IC0tb2ZmbGluZSBzJ2V4Y2x1ZW50IG11dHVlbGxlbWVudCIKKworI34gbXNnaWQgIm9ubHkgb25lIDxzb3VyY2U+IG1heSBiZSBzcGVjaWZpZWQiCisjfiBtc2dzdHIgInVuZSBzZXVsZSA8c291cmNlPiBwZXV0IMOqdHJlIGluZGlxdcOpZSIKKworI34gbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzb3VyY2UgYnVmZmVyIgorI34gbXNnc3RyICLDqWNoZWMgZCdhbGxvY2F0aW9uIGR1IHRhbXBvbiBzb3VyY2UiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG1vdW50cG9pbnQoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDb25zdWx0ZXogbW91bnRwb2ludCgxKSBwb3VyIG9idGVuaXIgZGVzIHJlbnNlaWduZW1lbnRzIGNvbXBsw6ltZW50YWlyZXMuXG4iCisKKyN+IG1zZ2lkICJvbmx5IHVzZSBvbmUgUElEIGF0IGEgdGltZSIKKyN+IG1zZ3N0ciAiTid1dGlsaXNlciBxdSd1biBzZXVsIFBJRCDDoCBsYSBmb2lzIgorCisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIFBJRCIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxlIFBJRCIKKworI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzZWNvbmRzIHZhbHVlIgorI34gbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIGxhIHZhbGV1ciBzZWNvbmRlcyIKKworI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSB0aW1lX3QgdmFsdWUiCisjfiBtc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZGUgbGEgdmFsZXVyIGhldXJlX3QiCisKKyN+IG1zZ2lkICInJXMnIGlzIHVuc3VwcG9ydGVkIHByb2dyYW0gbmFtZSAobXVzdCBiZSAnc3dhcG9uJyBvciAnc3dhcG9mZicpLiIKKyN+IG1zZ3N0ciAiwqvCoCVzwqDCuyBlc3QgdW4gbm9tIGRlIHByb2dyYW1tZSBub24gcHJpcyBlbiBjaGFyZ2UgKGRvaXQgw6p0cmUgwqvCoHN3YXBvbsKgwrsgb3UgwqvCoHN3YXBvZmbCoMK7KS4iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc3RhdCBkaXJlY3RvcnkiCisjfiBtc2dzdHIgIsOpY2hlYyBkJ29idGVudGlvbiBkJ8OpdGF0IGR1IHLDqXBlcnRvaXJlIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgZGlyZWN0b3J5ICVzIgorI34gbXNnc3RyICLDqWNoZWMgZCdvYnRlbnRpb24gZCfDqXRhdCBkdSByw6lwZXJ0b2lyZSAlcyIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIHRpbWluZyBmaWxlICVzIgorI34gbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgZGUgZMOpcm91bGVtZW50IHRlbXBvcmVsICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBsc2JsaygxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkNvbnN1bHRleiBzZXR0ZXJtKDEpIHBvdXIgb2J0ZW5pciBkZXMgcmVuc2VpZ25lbWVudHMgY29tcGzDqW1lbnRhaXJlcy5cbiIKKworI34gbXNnaWQgImFyZ3VtZW50ICVsdSBpcyB0b28gbGFyZ2UiCisjfiBtc2dzdHIgImFyZ3VtZW50ICVsdSB0cm9wIGdyYW5kIgorCisjfiBtc2dpZCAidGVybWluYWwgZW52aXJvbm1lbnQgQ09MVU1OUyBmYWlsZWQiCisjfiBtc2dzdHIgIsOpY2hlYyBkJ2Vudmlyb25uZW1lbnQgQ09MVU1OUyBkdSB0ZXJtaW5hbCIKKworI34gbXNnaWQgImJhZCBjb2x1bW5zIHdpZHRoIHZhbHVlIgorI34gbXNnc3RyICJtYXV2YWlzZSB2YWxldXIgZGUgbGFyZ2V1ciBkZSBjb2xvbm5lcyIKKworI34gbXNnaWQgIi0lYyBwb3NpdGl2ZSBpbnRlZ2VyIGV4cGVjdGVkIGFzIGFuIGFyZ3VtZW50IgorI34gbXNnc3RyICItJWMgZW50aWVyIHBvc2l0aWYgYXR0ZW5kdSBlbiBhcmd1bWVudCIKKworI34gbXNnaWQgImJhZCBsZW5ndGggdmFsdWUiCisjfiBtc2dzdHIgInZhbGV1ciBkZSBsb25ndWV1ciBlcnJvbsOpZSIKKworI34gbXNnaWQgImJhZCBza2lwIHZhbHVlIgorI34gbXNnc3RyICJ2YWxldXIgZGUgc2F1dCBlcnJvbsOpZSIKKworI34gbXNnaWQgIiVzOiBVc2FnZTogJXMgWy1udW1iZXJdIFstcCBzdHJpbmddIFstY2VmbnJzXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCisjfiBtc2dzdHIgIiVzwqA6IFV0aWxpc2F0aW9uwqA6ICVzIFstbnVtw6lyb10gWy1wIGNoYcOubmVdIFstY2VmbnJzXSBbK2xpZ25lXSBbKy9tb3RpZi9dIFtmaWNoaWVyc11cbiIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuICIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ291dnJpciAiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBcIiVzXCIgZm9yIHJlYWQiCisjfiBtc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgwqvCoCVzwqDCuyBlbiBsZWN0dXJlIgorCisjfiBtc2dpZCAiY2Fubm90IHN0YXQgXCIlc1wiIgorI34gbXNnc3RyICJpbXBvc3NpYmxlIGQnb2J0ZW5pciBsJ8OpdGF0IGRlIMKrwqAlc8KgwrsiCisKKyN+IG1zZ2lkICIgICBkICAgZGVsZXRlIGEgQlNEIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgZCAgIGTDqXRydWlyZSB1bmUgcGFydGl0aW9uIEJTRCIKKworI34gbXNnaWQgIiAgIG4gICBhZGQgYSBuZXcgQlNEIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgbiAgIGFqb3V0ZXIgdW5lIG5vdXZlbGxlIHBhcnRpdGlvbiBCU0QiCisKKyN+IG1zZ2lkICIgICB0ICAgY2hhbmdlIGEgcGFydGl0aW9uJ3MgZmlsZXN5c3RlbSBpZCIKKyN+IG1zZ3N0ciAiICAgdCAgIG1vZGlmaWVyIGwnaWRlbnRpZmlhbnQgZGUgc3lzdMOobWUgZGUgZmljaGllcnMgZCd1bmUgcGFydGl0aW9uIgorCisjfiBtc2dpZCAiICAgdSAgIGNoYW5nZSB1bml0cyAoY3lsaW5kZXJzL3NlY3RvcnMpIgorI34gbXNnc3RyICIgICB1ICAgY2hhbmdlciBsZXMgdW5pdMOpcyAoY3lsaW5kcmVzL3NlY3RldXJzKSIKKworI34gbXNnaWQgIiAgIHAgICBwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICIgICBwICAgYWZmaWNoZXIgbGEgdGFibGUgZGUgcGFydGl0aW9ucyIKKworI34gbXNnaWQgIiIKKyN+ICJCdWlsZGluZyBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC5cbiIKKyN+ICJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisjfiAiQWZ0ZXIgdGhhdCwgb2YgY291cnNlLCB0aGUgcHJldmlvdXMgY29udGVudCB3b24ndCBiZSByZWNvdmVyYWJsZS5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkNyw6lhdGlvbiBkJ3VuZSBub3V2ZWxsZSDDqXRpcXVldHRlIERPUyBhdmVjIGlkIGRlIGRpc3F1ZSAweCUwOHguXG4iCisjfiAiTGVzIG1vZGlmaWNhdGlvbnMgcmVzdGVudCBlbiBtw6ltb2lyZSBqdXNxdSfDoCBjZSBxdWUgdm91cyBsZXMgw6ljcml2aWV6LlxuIgorI34gIkFwcsOocyBxdW9pLCBiaWVuIHPDu3IsIGxlIGNvbnRlbnUgcHLDqWPDqWRlbnQgc2VyYSBpcnLDqWN1cMOpcmFibGUuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJEZXZpY2UgY29udGFpbnMgbmVpdGhlciBhIHZhbGlkIERPUyBwYXJ0aXRpb24gdGFibGUsIG5vciBTdW4sIFNHSSBvciBPU0YgZGlza2xhYmVsXG4iCisjfiBtc2dzdHIgIkxlIHDDqXJpcGjDqXJpcXVlIG5lIGNvbnRpZW50IHBhcyB1bmUgdGFibGUgZGUgcGFydGl0aW9ucyBET1Mgb3UgU3VuLCBTR0ksIE9TRiB2YWxhYmxlXG4iCisKKyN+IG1zZ2lkICJJbnRlcm5hbCBlcnJvclxuIgorI34gbXNnc3RyICJFcnJldXIgaW50ZXJuZVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0U29ycnksIG5vIGV4cGVydHMgbWVudSBmb3IgU0dJIHBhcnRpdGlvbiB0YWJsZXMgYXZhaWxhYmxlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHREw6lzb2zDqSwgaWwgbid5IGEgcGFzIGRlIG1lbnUgcG91ciBleHBlcnRzIHBvdXIgbGVzIHRhYmxlcyBkZSBwYXJ0aXRpb25zIFNHSS5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIkRvIFlvdSBrbm93LCBZb3UgZ290IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2s/XG4iCisjfiBtc2dzdHIgIlNhdmllei12b3VzIHF1ZSB2b3VzIGF2ZXogdW4gY2hldmF1Y2hlbWVudCBkZSBwYXJ0aXRpb25zIHN1ciBsZSBkaXNxdWXCoD9cbiIKKworI34gbXNnaWQgIiIKKyN+ICJCdWlsZGluZyBhIG5ldyBTR0kgZGlza2xhYmVsLiBDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LFxuIgorI34gInVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS4gQWZ0ZXIgdGhhdCwgb2YgY291cnNlLCB0aGUgcHJldmlvdXNcbiIKKyN+ICJjb250ZW50IHdpbGwgYmUgdW5yZWNvdmVyYWJseSBsb3N0LlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiQ29uc3RydWN0aW9uIGQndW5lIG5vdXZlbGxlIMOpdGlxdWV0dGUgZGUgZGlzcXVlIFNHSS4gTGVzIG1vZGlmaWNhdGlvbnMgdm9udCByZXN0ZXJcbiIKKyN+ICJlbiBtw6ltb2lyZSBqdXNxdSfDoCBjZSBxdWUgdm91cyBkw6ljaWRpZXogZGUgbGVzIMOpY3JpcmUuIFBhciBsYSBzdWl0ZVxuIgorI34gImJpZW4gc8O7ciwgbGUgY29udGVudSBwcsOpY8OpZGVudCBzZXJhIHBlcmR1IGRlIGZhw6dvbiBkw6lmaW5pdGl2ZW1lbnQuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5IC0gZ2l2aW5nIHVwXG4iCisjfiBtc2dzdHIgIm3DqW1vaXJlIMOpcHVpc8OpZSDigJQgYWJhbmRvblxuIgorCisjfiBtc2dpZCAiJS0yMHM6IGZhaWxlZDogJXNcbiIKKyN+IG1zZ3N0ciAiJS0yMHPCoDogw6ljaGVjwqA6ICVzXG4iCisKKyN+IG1zZ2lkICIlLTIwczogZmFpbGVkXG4iCisjfiBtc2dzdHIgIiUtMjBzwqA6IMOpY2hlY1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBtb3VudCg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkNvbnN1bHRleiBtb3VudCg4KSBwb3VyIG9idGVuaXIgZGVzIHJlbnNlaWduZW1lbnRzIGNvbXBsw6ltZW50YWlyZXMuXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogbWVtb3J5IGxvdywgbG9naW4gbWF5IGZhaWxcbiIKKyN+IG1zZ3N0ciAibG9naW7CoDogcGV1IGRlIG3DqW1vaXJlLCBsb2dpbiBwZXV0IMOpY2hvdWVyXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgZm9yIHR0eWNsYXNzIgorI34gbXNnc3RyICJpbXBvc3NpYmxlIGQnZXjDqWN1dGVyIG1hbGxvYygpIHBvdXIgdHR5Y2xhc3MiCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgZm9yIGdycGxpc3QiCisjfiBtc2dzdHIgImltcG9zc2libGUgZCdleMOpY3V0ZXIgbWFsbG9jKCkgcG91ciBncnBsaXN0IgorCisjfiBtc2dpZCAiTG9naW4gb24gJXMgZnJvbSAlcyBkZW5pZWQuXG4iCisjfiBtc2dzdHIgIkxvZ2luIHN1ciAlcyBkZSAlcyBuJ2VzdCBwYXMgcGVybWlzLlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsgLWYgZnVsbC1uYW1lIF0gWyAtbyBvZmZpY2UgXSAiCisjfiBtc2dzdHIgIlV0aWxpc2F0aW9uwqA6ICVzIFsgLWYgbm9tLWNvbXBsZXQgXSBbIC1vIGJ1cmVhdSBdICIKKworI34gbXNnaWQgIlsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorI34gbXNnc3RyICJbIC0taGVscCBdIFsgLS12ZXJzaW9uIF1cbiIKKworI34gbXNnaWQgIiVzOiBQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorI34gbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgY29ubmV4aW9uIFBBTSwgZmluIGQnZXjDqWN1dGlvbsKgOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJTEkcyBbLXMgc2hlbGxdIFt1c2VybmFtZV1cbiIKKyN+ICIgICBvcjogJTEkcyAoLS1saXN0LXNoZWxscyB8IC0taGVscCB8IC0tdmVyc2lvbilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlV0aWxpc2F0aW9uwqA6ICUxJHMgWy1zIGludGVycHLDqXRldXJdIFtpZGVudGlmaWFudF1cbiIKKyN+ICIgICAgICAgICBvdcKgOiAlMSRzICgtLWxpc3Qtc2hlbGxzIHwgLS1oZWxwIHwgLS12ZXJzaW9uKVxuIgorCisjfiBtc2dpZCAiJXM6IGNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzLiIKKyN+IG1zZ3N0ciAiJXPCoDogb24gbmUgcGV1dCBtb2RpZmllciBxdWUgbGVzIGVudHLDqWVzIGxvY2FsZXMuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHNldCBkZWZhdWx0IGNvbnRleHQgZm9yIC9ldGMvcGFzc3dkIgorI34gbXNnc3RyICIlc8KgOiBpbXBvc3NpYmxlIGQnaW5pdGlhbGlzZXIgbGUgY29udGV4dGUgcGFyIGTDqWZhdXQgcG91ciAvZXRjL3Bhc3N3ZCIKKworI34gbXNnaWQgInNldHB3bmFtIGZhaWxlZCIKKyN+IG1zZ3N0ciAiw6ljaGVjIGRlIHNldHB3bmFtIgorCisjfiBtc2dpZCAiJXM6IFVzZSAtbCBvcHRpb24gdG8gc2VlIGxpc3QuXG4iCisjfiBtc2dzdHIgIiVzwqA6IHV0aWxpc2V6IGwnb3B0aW9uIC1sIG9wdGlvbiBwb3VyIHZvaXIgbGEgbGlzdGUuXG4iCisKKyN+IG1zZ2lkICJVc2UgJXMgLWwgdG8gc2VlIGxpc3QuXG4iCisjfiBtc2dzdHIgIlV0aWxpc2VyICVzIC1sIHBvdXIgYWZmaWNoZXIgbGEgbGlzdGUuXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogbG9naW4gWy1mcF0gW3VzZXJuYW1lXVxuIgorI34gbXNnc3RyICJVdGlsaXNhdGlvbsKgOiBsb2dpbiBbLWZwXSBbbm9tLWQtdXRpbGlzYXRldXJdXG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5IgorI34gbXNnc3RyICJtw6ltb2lyZSDDqXB1aXPDqWUiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIHVzZXJuYW1lIgorI34gbXNnc3RyICJJZGVudGlmaWFudCBpbmNvcnJlY3QiCisKKyN+IG1zZ2lkICIlcyBsb2dpbiByZWZ1c2VkIG9uIHRoaXMgdGVybWluYWwuIgorI34gbXNnc3RyICJpZGVudGlmaWFudCAlcyByZWZ1c8OpIHN1ciBjZSB0ZXJtaW5hbC4iCisKKyN+IG1zZ2lkICJMT0dJTiAlcyBSRUZVU0VEIEZST00gJXMgT04gVFRZICVzIgorI34gbXNnc3RyICJMT0dJTiAlcyBSRUZVU8OJIERFICVzIFNVUiBUVFkgJXMiCisKKyN+IG1zZ2lkICJMT0dJTiAlcyBSRUZVU0VEIE9OIFRUWSAlcyIKKyN+IG1zZ3N0ciAiTE9HSU4gJXMgUkVGVVPDiSBTVVIgVFRZICVzIgorCisjfiBtc2dpZCAiTG9naW4gaW5jb3JyZWN0XG4iCisjfiBtc2dzdHIgImlkZW50aWZpYW50IGluY29ycmVjdFxuIgorCisjfiBtc2dpZCAiY2hhbmdlIHRlcm1pbmFsIG93bmVyIGZhaWxlZCIKKyN+IG1zZ3N0ciAiw6ljaGVjIGRlIG1vZGlmaWNhdGlvbiBkdSBwcm9wcmnDqXRhaXJlIGR1IHRlcm1pbmFsIgorCisjIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTA4N3RvbyBtYW55IGJhcmUgbGluZWZlZWRzLlxuIgorI34gbXNnaWQgImZhaWx1cmUgZm9ya2luZyIKKyN+IG1zZ3N0ciAiw6ljaGVjIGQnw6l0YWJsaXNzZW1lbnQgZGUgcmVsYWlzIHBhciBmb3JrKCkiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiJXMgbG9naW46ICIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIiVzIGlkZW50aWZpYW50wqA6ICIKKworI34gbXNnaWQgIk5BTUUgdG9vIGxvbmciCisjfiBtc2dzdHIgIk5PTSB0cm9wIGxvbmciCisKKyN+IG1zZ2lkICJsb2dpbiBuYW1lIG11Y2ggdG9vIGxvbmcuIgorI34gbXNnc3RyICJpZGVudGlmaWFudCBkZSBjb25uZXhpb24gdHJvcCBsb25nLiIKKworI34gbXNnaWQgImxvZ2luIG5hbWVzIG1heSBub3Qgc3RhcnQgd2l0aCAnLScuIgorI34gbXNnc3RyICJsZXMgaWRlbnRpZmlhbnRzIG5lIHBldXZlbnQgY29tbWVuY2VyIHBhciDCq8KgLcKgwrsuIgorCisjfiBtc2dpZCAiRVhDRVNTSVZFIGxpbmVmZWVkcyIKKyN+IG1zZ3N0ciAiTm9tYnJlIGV4Y2Vzc2lmIGRlIHNhdXRzIGRlIHBhZ2UgKGxpbmVmZWVkcykiCisKKyN+IG1zZ2lkICJ0b28gbWFueSBiYXJlIGxpbmVmZWVkcy4iCisjfiBtc2dzdHIgInRyb3AgZGUgc2F1dHMgZGUgcGFnZSAobGluZWZlZWRzKS4iCisKKyN+IG1zZ2lkICJMT0dJTiBGQUlMVVJFIEZST00gJXMsICVzIgorI34gbXNnc3RyICLDiWNoZWMgZGUgY29ubmV4aW9uIMOgIHBhcnRpciBkZSAlcywgJXMiCisKKyN+IG1zZ2lkICJMT0dJTiBGQUlMVVJFIE9OICVzLCAlcyIKKyN+IG1zZ3N0ciAiw4ljaGVjIGRlIGNvbm5leGlvbiBzdXIgJXMsICVzIgorCisjfiBtc2dpZCAiJWQgTE9HSU4gRkFJTFVSRVMgRlJPTSAlcywgJXMiCisjfiBtc2dzdHIgIiVkIMOpY2hlY3MgZGUgY29ubmV4aW9uIMOgIHBhcnRpciBkZSAlcywgJXMiCisKKyN+IG1zZ2lkICIlZCBMT0dJTiBGQUlMVVJFUyBPTiAlcywgJXMiCisjfiBtc2dzdHIgIiVkIMOpY2hlY3MgZGUgY29ubmV4aW9uIHN1ciAlcywgJXMiCisKKyN+IG1zZ2lkICIlczogdGhlIGdyb3VwIGZpbGUgaXMgYnVzeS5cbiIKKyN+IG1zZ3N0ciAiJXPCoDogbGUgZmljaGllciBkZSBncm91cGVzIGVzdCBvY2N1cMOpLlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHVubG9jayAlczogJXMgKHlvdXIgY2hhbmdlcyBhcmUgc3RpbGwgaW4gJXMpXG4iCisjfiBtc2dzdHIgIiVzwqA6IGltcG9zc2libGUgZGUgZMOpdmVycm91aWxsZXIgJXPCoDogJXMgKHZvcyBtb2RpZmljYXRpb25zIHNvbnQgZW5jb3JlIGRhbnMgJXMpXG4iCisKKyN+IG1zZ2lkICJjYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICLDqWNoZWMgZGUgY2FsbG9jIgorCisjfiBtc2dpZCAiV0FSTklORzogJXM6IGFwcGVhcnMgdG8gY29udGFpbiAnJXMnIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiQXR0ZW50aW9uwqA6ICVzwqA6IHNlbWJsZSBjb250ZW5pciB1bmUgdGFibGUgZGUgcGFydGl0aW9ucyDCq8KgJXPCoMK7IgorCisjfiBtc2dpZCAibm8gbWFnaWMgc3RyaW5nIGZvdW5kIGF0IG9mZnNldCAweCVqeCAtLSBpZ25vcmVkIgorI34gbXNnc3RyICJwYXMgZGUgY2hhw65uZSBtYWdpcXVlIHRyb3V2w6llIMOgIGwnaW5kZXggMHglangg4oCUIGlnbm9yw6kiCisKKyN+IG1zZ2lkICIlczogd3JpdGUgZmFpbGVkIgorI34gbXNnc3RyICIlc8KgOiDDqWNoZWMgZCfDqWNyaXR1cmUiCisKKyN+IG1zZ2lkICIlczogL2RldiBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QuIgorI34gbXNnc3RyICIlc8KgOiBsZSByw6lwZXJ0b2lyZSAvZGV2IG4nZXhpc3RlIHBhcy4iCisKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBzZXQgY2FwYWNpdHkgb24gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wwqA6IGltcG9zc2libGUgZGUgY29uZmlndXJlciBsYSBjYXBhY2l0w6kgZHUgcMOpcmlwaMOpcmlxdWUgJXPCoDogJXNcbiIKKworI34gbXNnaWQgIiwgb2Zmc2V0ICU8UFJJdTY0PiIKKyN+IG1zZ3N0ciAiLCBpbmRleCAlPFBSSXU2ND4iCisKKyN+IG1zZ2lkICIsIGVuY3J5cHRpb24gdHlwZSAlZFxuIgorI34gbXNnc3RyICIsIHR5cGUgZGUgY2hpZmZyZW1lbnQgJWRcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IGdldCBpbmZvIG9uIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcMKgOiBpbXBvc3NpYmxlIGQnb2J0ZW5pciBsZXMgcmVuc2VpZ25lbWVudHMgc3VyIGxlIHDDqXJpcGjDqXJpcXVlICVzwqA6ICVzXG4iCisKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBvcGVuIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcMKgOiBpbXBvc3NpYmxlIGQnb3V2cmlyIGxlIHDDqXJpcGjDqXJpcXVlICVzwqA6ICVzXG4iCisKKyN+IG1zZ2lkICIlczogbm8gcGVybWlzc2lvbiB0byBsb29rIGF0IC9kZXYvbG9vcCVzPE4+IgorI34gbXNnc3RyICIlc8KgOiBwYXMgbGUgZHJvaXQgZCdvYnNlcnZlciAvZGV2L2xvb3AlczxOPiIKKworI34gbXNnaWQgIiIKKyN+ICIlczogQ291bGQgbm90IGZpbmQgYW55IGxvb3AgZGV2aWNlLiBNYXliZSB0aGlzIGtlcm5lbCBkb2VzIG5vdCBrbm93XG4iCisjfiAiICAgICAgIGFib3V0IHRoZSBsb29wIGRldmljZT8gKElmIHNvLCByZWNvbXBpbGUgb3IgYG1vZHByb2JlIGxvb3AnLikiCisjfiBtc2dzdHIgIiIKKyN+ICIlc8KgOiBpbXBvc3NpYmxlIGRlIHRyb3V2ZXIgdW4gcMOpcmlwaMOpcmlxdWUgYm91Y2xlLiBDZSBub3lhdSBuZVxuIgorI34gIiAgICAgICBwcmVuZCBwZXV0LcOqdHJlIHBhcyBlbiBjaGFyZ2UgbGVzIHDDqXJpcGjDqXJpcXVlcyBib3VjbGVcbiIKKyN+ICIgICAgICAgKHNpIGMnZXN0IGxlIGNhcywgcmVjb21waWxlciBvdSB1dGlsaXNlciDCq8KgbW9kcHJvYmUgbG9vcMKgwrspLiIKKworI34gbXNnaWQgIk91dCBvZiBtZW1vcnkgd2hpbGUgcmVhZGluZyBwYXNzcGhyYXNlIgorI34gbXNnc3RyICJNw6ltb2lyZSDDqXB1aXPDqWUgbG9ycyBkZSBsYSBsZWN0dXJlIGRlIGxhIHBocmFzZSBzZWNyw6h0ZSIKKworI34gbXNnaWQgIndhcm5pbmc6ICVzIGlzIGFscmVhZHkgYXNzb2NpYXRlZCB3aXRoICVzXG4iCisjfiBtc2dzdHIgImF2ZXJ0aXNzZW1lbnTCoDogJXMgZXN0IGTDqWrDoCBhc3NvY2nDqSDDoCAlc1xuIgorCisjfiBtc2dpZCAid2FybmluZzogJXM6IGlzIHdyaXRlLXByb3RlY3RlZCwgdXNpbmcgcmVhZC1vbmx5LlxuIgorI34gbXNnc3RyICJhdmVydGlzc2VtZW50wqA6ICVzIGVzdCBwcm90w6lnw6kgZW4gw6ljcml0dXJlLCBtb250w6kgZW4gbGVjdHVyZSBzZXVsZS5cbiIKKworI34gbXNnaWQgImlvY3RsIExPT1BfU0VUX0ZEIGZhaWxlZDogJXNcbiIKKyN+IG1zZ3N0ciAiw6ljaGVjIGRlIGlvY3RsIExPT1BfU0VUX0ZEwqA6ICVzXG4iCisKKyN+IG1zZ2lkICJzZXRfbG9vcCglcywlcywlbGx1LCVsbHUpOiBzdWNjZXNzXG4iCisjfiBtc2dzdHIgInNldF9sb29wKCVzLCVzLCVsbHUsJWxsdSnCoDogc3VjY8Ooc1xuIgorCisjfiBtc2dpZCAiZGVsX2xvb3AoJXMpOiBzdWNjZXNzXG4iCisjfiBtc2dzdHIgImRlbF9sb29wKCVzKcKgOiBzdWNjw6hzXG4iCisKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBkZWxldGUgZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wwqA6IGltcG9zc2libGUgZGUgZMOpdHJ1aXJlIGxlIHDDqXJpcGjDqXJpcXVlICVzwqA6ICVzXG4iCisKKyN+IG1zZ2lkICJUaGlzIG1vdW50IHdhcyBjb21waWxlZCB3aXRob3V0IGxvb3Agc3VwcG9ydC4gUGxlYXNlIHJlY29tcGlsZS5cbiIKKyN+IG1zZ3N0ciAiQ2V0dGUgdmVyc2lvbiBkZSBtb3VudCBhIMOpdMOpIGNvbXBpbMOpZSBzYW5zIHByaXNlIGVuIGNoYXJnZSBkZXMgcMOpcmlwaMOpcmlxdWVzIGJvdWNsZS4gVm91cyBkZXZyaWV6IHJlY29tcGlsZXIuXG4iCisKKyN+IG1zZ2lkICJzdG9sZW4gbG9vcD0lcy4uLnRyeWluZyBhZ2FpblxuIgorI34gbXNnc3RyICJww6lyaXBow6lyaXF1ZSBib3VjbGUgcsOpY3Vww6lyw6k9JXPigKYgbm91dmVsIGVzc2FpXG4iCisKKyN+IG1zZ2lkICJObyBsb29wIHN1cHBvcnQgd2FzIGF2YWlsYWJsZSBhdCBjb21waWxlIHRpbWUuIFBsZWFzZSByZWNvbXBpbGUuXG4iCisjfiBtc2dzdHIgIlBhcyBkZSBwcmlzZSBlbiBjaGFyZ2UgZGVzIHDDqXJpcGjDqXJpcXVlcyBkZSBib3VjbGUgYXUgbW9tZW50IGRlIGxhIGNvbXBpbGF0aW9uLiBWb3VzIGRldnJpZXogcmVjb21waWxlci5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcGFydHgoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDb25zdWx0ZXogcGFydHgoOCkgcG91ciBvYnRlbmlyIGRlcyByZW5zZWlnbmVtZW50cyBjb21wbMOpbWVudGFpcmVzLlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstcSBbLWkgaW50ZXJ2YWxdXSAoWy1zIHZhbHVlXXxbLVMgdmFsdWVdKSAoWy10IHZhbHVlXXxbLVQgdmFsdWVdKSBbLWd8LUddIGZpbGUgW2ZpbGUuLi5dXG4iCisjfiBtc2dzdHIgIlV0aWxpc2F0aW9uwqA6ICVzIFstcSBbLWkgaW50ZXJ2YWxsZV1dIChbLXMgdmFsZXVyXXxbLVMgdmFsZXVyXSkgKFstdCB2YWxldXJdfFstVCB2YWxldXJdKSBbLWd8LUddIGZpY2hpZXIgW2ZpY2hpZXIgLi4uXVxuIgorCisjfiBtc2dpZCAiQ2FuJ3Qgb3BlbiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ291dnJpciAlc8KgOiAlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAtcyAgLS1zaGFyZWQgICAgIEdldCBhIHNoYXJlZCBsb2NrXG4iCisjfiAiIC14ICAtLWV4Y2x1c2l2ZSAgR2V0IGFuIGV4Y2x1c2l2ZSBsb2NrXG4iCisjfiAiIC11ICAtLXVubG9jayAgICAgUmVtb3ZlIGEgbG9ja1xuIgorI34gIiAtbiAgLS1ub25ibG9jayAgIEZhaWwgcmF0aGVyIHRoYW4gd2FpdFxuIgorI34gIiAtdyAgLS10aW1lb3V0ICAgIFdhaXQgZm9yIGEgbGltaXRlZCBhbW91bnQgb2YgdGltZVxuIgorI34gIiAtbyAgLS1jbG9zZSAgICAgIENsb3NlIGZpbGUgZGVzY3JpcHRvciBiZWZvcmUgcnVubmluZyBjb21tYW5kXG4iCisjfiAiIC1jICAtLWNvbW1hbmQgICAgUnVuIGEgc2luZ2xlIGNvbW1hbmQgc3RyaW5nIHRocm91Z2ggdGhlIHNoZWxsXG4iCisjfiAiIC1oICAtLWhlbHAgICAgICAgRGlzcGxheSB0aGlzIHRleHRcbiIKKyN+ICIgLVYgIC0tdmVyc2lvbiAgICBEaXNwbGF5IHZlcnNpb25cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtcyAgLS1zaGFyZWQgICAgIG9idGVuaXIgdW4gdmVycm91IHBhcnRhZ8OpXG4iCisjfiAiIC14ICAtLWV4Y2x1c2l2ZSAgb2J0ZW5pciB1biB2ZXJyb3UgZXhjbHVzaWZcbiIKKyN+ICIgLXUgIC0tdW5sb2NrICAgICBzdXBwcmltZXIgdW4gdmVycm91XG4iCisjfiAiIC1uICAtLW5vbmJsb2NrICAgw6ljaG91ZXIgYXUgbGlldSBkZSBibG9xdWVyXG4iCisjfiAiIC13ICAtLXRpbWVvdXQgICAgYXR0ZW5kcmUgdW4gdGVtcHMgbWF4aW1hbCBkb25uw6lcbiIKKyN+ICIgLW8gIC0tY2xvc2UgICAgICBmZXJtZXIgbGUgZmljaGllciBhdmFudCBkJ2V4w6ljdXRlciBsYSBjb21tYW5kZVxuIgorI34gIiAtYyAgLS1jb21tYW5kICAgIGV4w6ljdXRlciB1bmUgc2V1bGUgY29tbWFuZGUgdmlhIGwnaW50ZXJwcsOpdGV1clxuIgorI34gIiAtaCAgLS1oZWxwICAgICAgIGFmZmljaGVyIGNlIHRleHRlXG4iCisjfiAiIC1WICAtLXZlcnNpb24gICAgYWZmaWNoZXIgbGEgdmVyc2lvblxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXPCoDogaW1wb3NzaWJsZSBkJ291dnJpciBsZSBmaWNoaWVyIHZlcnJvdWlsbMOpICVzwqA6ICVzXG4iCisKKyN+IG1zZ2lkICIlczogYmFkIG51bWJlcjogJXNcbiIKKyN+IG1zZ3N0ciAiJXPCoDogbm9tYnJlIG5vbiB2YWxhYmxlwqA6ICVzXG4iCisKKyN+IG1zZ2lkICIlczogZm9yayBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBmb3JrwqA6ICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1NIDxzaXplPiAgICAgY3JlYXRlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBvZiBzaXplIDxzaXplPlxuIgorI34gIiAtUyA8bnNlbXM+ICAgIGNyZWF0ZSBzZW1hcGhvcmUgYXJyYXkgd2l0aCA8bnNlbXM+IGVsZW1lbnRzXG4iCisjfiAiIC1RICAgICAgICAgICAgY3JlYXRlIG1lc3NhZ2UgcXVldWVcbiIKKyN+ICIgLXAgPG1vZGU+ICAgICBwZXJtaXNzaW9uIGZvciB0aGUgcmVzb3VyY2UgKGRlZmF1bHQgaXMgMDY0NClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtTSA8dGFpbGxlPiAgIGNyw6llciB1biBzZWdtZW50IGRlIG3DqW1vaXJlIHBhcnRhZ8OpZSBkZSB0YWlsbGUgPHRhaWxsZT5cbiIKKyN+ICIgLVMgPG5zZW1zPiAgICBjcsOpZXIgdW4gdGFibGVhdSBkZSBzw6ltYXBob3JlcyDDoCA8bnNlbXM+wqDDqWzDqW1lbnRzXG4iCisjfiAiIC1RICAgICAgICAgICAgY3LDqWVyIHVuZSBmaWxlIGRlIG1lc3NhZ2VzXG4iCisjfiAiIC1wIDxtb2RlPiAgICAgcGVybWlzc2lvbiBkZSByZXNzb3VyY2UgKHBhciBkw6lmYXV0wqA6IDA2NDQpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGlwY21rKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQ29uc3VsdGV6IGlwY21rKDEpIHBvdXIgb2J0ZW5pciBkZXMgcmVuc2VpZ25lbWVudHMgY29tcGzDqW1lbnRhaXJlcy5cbiIKKworI34gbXNnaWQgImNhbm5vdCByZW1vdmUgaWQgJXMgKCVzKVxuIgorI34gbXNnc3RyICJpbXBvc3NpYmxlIGQnZW5sZXZlciBsJ2lkZW50aWZpYW50wqAlcyAoJXMpXG4iCisKKyN+IG1zZ2lkICJkZXByZWNhdGVkIHVzYWdlOiAlcyB7c2htIHwgbXNnIHwgc2VtfSBpZCAuLi5cbiIKKyN+IG1zZ3N0ciAidXRpbGlzYXRpb24gb2Jzb2zDqHRlwqA6ICVzIHtzaG0gfCBtc2cgfCBzZW19IGlkZW50aWZpYW50IC4uLlxuIgorCisjfiBtc2dpZCAiIgorI34gInVzYWdlOiAlcyBbIFstcSBtc3FpZF0gWy1tIHNobWlkXSBbLXMgc2VtaWRdXG4iCisjfiAiICAgICAgICAgIFstUSBtc2drZXldIFstTSBzaG1rZXldIFstUyBzZW1rZXldIC4uLiBdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVdGlsaXNhdGlvbsKgOiAlcyBbIFstcSBtc3FpZF0gWy1tIHNobWlkXSBbLXMgc2VtaWRdXG4iCisjfiAiICAgICAgICAgICAgICAgICBbLVEgbXNna2V5XSBbLU0gc2hta2V5XSBbLVMgc2Vta2V5XSAuLi4gXVxuIgorCisjfiBtc2dpZCAidW5rbm93biBlcnJvciBpbiBrZXkiCisjfiBtc2dzdHIgImVycmV1ciBpbmNvbm51ZSBkYW5zIGxhIGNsw6kiCisKKyN+IG1zZ2lkICJ1bmtub3duIGVycm9yIGluIGlkIgorI34gbXNnc3RyICJlcnJldXIgaW5jb25udWUgZGFucyBsJ2lkZW50aWZpY2F0ZXVyIgorCisjfiBtc2dpZCAiJXM6ICVzICglcylcbiIKKyN+IG1zZ3N0ciAiJXPCoDogJXMgKCVzKVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlMSRzIFstYXNtcV0gWy10fC1jfC1sfC11fC1wXVxuIgorI34gIiAgICAgICAlMSRzIFstc3wtbXwtcV0gLWkgaWRcbiIKKyN+ICIgICAgICAgJTEkcyAtaCBmb3IgaGVscFxuIgorI34gbXNnc3RyICIiCisjfiAiVXRpbGlzYXRpb27CoDogJTEkcyBbLWFzbXFdIFstdHwtY3wtbHwtdXwtcF1cbiIKKyN+ICIgICAgICAgICAgICAgICUxJHMgWy1zfC1tfC1xXSAtaSBpZGVudGlmaWFudFxuIgorI34gIiAgICAgICAgICAgICAgJTEkcyAtaCBwb3VyIGwnYWlkZVxuIgorCisjfiBtc2dpZCAiIgorI34gIlJlc291cmNlIG9wdGlvbnM6XG4iCisjfiAiICAgIC1tICAgICAgc2hhcmVkIG1lbW9yeSBzZWdtZW50c1xuIgorI34gIiAgICAtcSAgICAgIG1lc3NhZ2UgcXVldWVzXG4iCisjfiAiICAgIC1zICAgICAgc2VtYXBob3Jlc1xuIgorI34gIiAgICAtYSAgICAgIGFsbCAoZGVmYXVsdClcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIk9wdGlvbnMgZGUgcmVzc291cmNlwqA6XG4iCisjfiAiICAgIC1tICAgICAgc2VnbWVudHMgZGUgbcOpbW9pcmUgcGFydGFnw6llXG4iCisjfiAiICAgIC1xICAgICAgZmlsZXMgZGUgbWVzc2FnZXNcbiIKKyN+ICIgICAgLXMgICAgICBzw6ltYXBob3Jlc1xuIgorI34gIiAgICAtYSAgICAgIHRvdXQgKHBhciBkw6lmYXV0KVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIk91dHB1dCBmb3JtYXQ6XG4iCisjfiAiICAgIC10ICAgICAgdGltZVxuIgorI34gIiAgICAtcCAgICAgIHBpZFxuIgorI34gIiAgICAtYyAgICAgIGNyZWF0b3JcbiIKKyN+ICIgICAgLWwgICAgICBsaW1pdHNcbiIKKyN+ICIgICAgLXUgICAgICBzdW1tYXJ5XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJGb3JtYXQgZGUgc29ydGllwqA6XG4iCisjfiAiICAgIC10ICAgICAgaGV1cmVcbiIKKyN+ICIgICAgLXAgICAgICBQSURcbiIKKyN+ICIgICAgLWMgICAgICBjcsOpYXRldXJcbiIKKyN+ICIgICAgLWwgICAgICBsaW1pdGVzXG4iCisjfiAiICAgIC11ICAgICAgcsOpc3Vtw6lcbiIKKworI34gbXNnaWQgIiAlcyBbIC1kaFY3OG5lbzEyIF0gWyAtcyA8c3BlZWQ+IF0gWyAtaSBbLV08aWZsYWc+IF0gPGxkaXNjPiA8ZGV2aWNlPlxuIgorI34gbXNnc3RyICIgJXMgWyAtZGhWNzhuZW8xMiBdIFsgLXMgPHZpdGVzc2U+IF0gWyAtaSBbLV08b3B0X2k+IF0gPGxkaXNxdWU+IDxww6lyaXBow6lyaXF1ZT5cbiIKKworI34gbXNnaWQgImxkYXR0YWNoIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAiZXjDqWN1dGlvbiBkZSBsZGF0dGFjaCBkZXB1aXMgJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyN+ICIgLXAsIC0tcGFyc2UgPGxpc3Q+ICBwcmludCBvdXQgYSBwYXJzYWJsZSBpbnN0ZWFkIG9mIGEgcmVhZGFibGUgZm9ybWF0XG4iCisjfiAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gdXNlIGRpcmVjdG9yeSBESVIgYXMgc3lzdGVtIHJvb3RcbiIKKyN+ICIgLXgsIC0taGV4ICAgICAgICAgICBwcmludCBoZXhhZGVjaW1hbCBtYXNrcyByYXRoZXIgdGhhbiBsaXN0cyBvZiBDUFVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICBhZmZpY2hlciBjZXR0ZSBhaWRlXG4iCisjfiAiIC1wLCAtLXBhcnNlIDxsaXN0ZT4gYWZmaWNoZXIgdW4gZm9ybWF0IGFuYWx5c2FibGUgcGx1dMO0dCBxdSdhZmZpY2hhYmxlXG4iCisjfiAiIC1zLCAtLXN5c3Jvb3QgPHLDqXA+IHV0aWxpc2VyIGxlIHLDqXBlcnRvaXJlIDxyw6lwPiBjb21tZSByYWNpbmUgZHUgc3lzdMOobWVcbiIKKyN+ICIgLXgsIC0taGV4ICAgICAgICAgICBhZmZpY2hlciBsZXMgbWFzcXVlcyBoZXhhZMOpY2ltYXV4IHBsdXTDtHQgcXVlIGxlcyBsaXN0ZXMgZGUgcHJvY2Vzc2V1cnNcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICIlczogVXNhZ2U6IFwiJXMgW29wdGlvbnNdXG4iCisjfiAiXHQgLW0gPG1hcGZpbGU+ICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIKKyN+ICJcdFx0XHRcdCAgXCIlc1wiKVxuIgorI34gIlx0IC1wIDxwcm8tZmlsZT4gKGRlZmF1bHQ6IFwiJXNcIilcbiIKKyN+ICJcdCAtTSA8bXVsdD4gICAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iCisjfiAiXHQgLWkgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIKKyN+ICJcdCAtdiAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorI34gIlx0IC1hICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorI34gIlx0IC1iICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorI34gIlx0IC1zICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCisjfiAiXHQgLXIgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCisjfiAiXHQgLW4gICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIKKyN+ICJcdCAtViAgICAgICAgICAgIHByaW50IHZlcnNpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzwqA6IFV0aWxpc2F0aW9uwqA6IFwiJXMgW29wdGlvbnNdXG4iCisjfiAiXHQgLW0gPGZpY2hpZXJfY2FydGU+ICAowqvCoCVzwqDCuyBldFxuIgorI34gIlx0XHRcdFx0ICDCq8KgJXPCoMK7IHBhciBkw6lmYXV0KVxuIgorI34gIlx0IC1wIDxmaWNoaWVyX3Byb2ZpbD4gKMKrwqAlc8KgwrsgcGFyIGTDqWZhdXQpXG4iCisjfiAiXHQgLU0gPG11bHRpcGxpY2F0ZXVyPiBpbml0aWFsaXNlciBsZSA8bXVsdGlwbGljYXRldXI+IGRlIHByb2ZpbGFnZVxuIgorI34gIlx0IC1pICAgICAgICAgICAgICAgICAgYWZmaWNoZXIgc2V1bGVtZW50IGxlcyBpbmZvcm1hdGlvbnMgw6AgcHJvcG9zIGR1IGN5Y2xlIGQnw6ljaGFudGlsbG9ubmFnZVxuIgorI34gIlx0IC12ICAgICAgICAgICAgICAgICAgYWZmaWNoZXIgZW4gbW9kZSBiYXZhcmQgbGVzIGRvbm7DqWVzXG4iCisjfiAiXHQgLWEgICAgICAgICAgICAgICAgICBhZmZpY2hlciB0b3VzIGxlcyBzeW1ib2xlcywgbcOqbWUgc2kgbGUgY29tcHRlIGVzdCDDoCAwXG4iCisjfiAiXHQgLWIgICAgICAgICAgICAgICAgICBhZmZpY2hlciBsZXMgY29tcHRldXJzIGRlIGNoYXF1ZSBpbnRlcnZhbGxlcyBkZSBsJ2hpc3RvZ3JhbW1lXG4iCisjfiAiXHQgLXMgICAgICAgICAgICAgICAgICBhZmZpY2hlciBsZXMgY29tcHRldXJzIGluZGl2aWR1ZWxzIGRlIGNoYXF1ZSBmb25jdGlvbnNcbiIKKyN+ICJcdCAtciAgICAgICAgICAgICAgICAgIHLDqWluaXRpYWxpc2VyIHRvdXMgbGVzIGNvbXB0ZXVycyAoc2V1bGVtZW50IGxlIHN1cGVydXRpbGlzYXRldXIpXG4iCisjfiAiXHQgLW4gICAgICAgICAgICAgICAgICBkw6lzYWN0aXZlciBsJ2F1dG9kw6l0ZWN0aW9uIGRlIGwnb3JkcmUgZGVzIG9jdGV0c1xuIgorI34gIlx0IC1WICAgICAgICAgICAgICAgICAgYWZmaWNoZXIgbGEgdmVyc2lvbiBldCBxdWl0dGVyXG4iCisKKyN+IG1zZ2lkICJyZWFkcHJvZmlsZTogZXJyb3Igd3JpdGluZyAlczogJXNcbiIKKyN+IG1zZ3N0ciAicmVhZHByb2ZpbGXCoDogZXJyZXVyIGQnw6ljcml0dXJlICVzwqA6ICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHJ0Y3dha2UoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDb25zdWx0ZXogcnRjd2FrZSg4KSBwb3VyIG9idGVuaXIgZGVzIHJlbnNlaWduZW1lbnRzIGNvbXBsw6ltZW50YWlyZXMuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHNldGFyY2goOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDb25zdWx0ZXogc2V0YXJjaCg4KSBwb3VyIG9idGVuaXIgZGVzIHJlbnNlaWduZW1lbnRzIGNvbXBsw6ltZW50YWlyZXMuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6ICVzXG4iCisjfiAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiJXPCoDogJXNcbiIKKyN+ICJFeMOpY3V0ZXogwqvCoCVzIC0taGVscMKgwrsgcG91ciBwbHVzIGRlIHJlbnNlaWduZW1lbnRzLlxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIHByb2dyYW0gW2FyZyAuLi5dXG4iCisjfiBtc2dzdHIgIlV0aWxpc2F0aW9uwqA6ICVzIHByb2dyYW0gW2FyZyAuLi5dXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIDxkZXZpY2U+IFsgLWkgPElSUT4gfCAtdCA8VElNRT4gfCAtYyA8Q0hBUlM+IHwgLXcgPFdBSVQ+IHwgXG4iCisjfiAiICAgICAgICAgIC1hIFtvbnxvZmZdIHwgLW8gW29ufG9mZl0gfCAtQyBbb258b2ZmXSB8IC1xIFtvbnxvZmZdIHwgLXMgfCBcbiIKKyN+ICIgICAgICAgICAgLVQgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIiCisjfiAiVXRpbGlzYXRpb27CoDogJXMgPHDDqXJpcGjDqXJpcXVlPiBbIC1pIDxJUlE+IHwgLXQgPFRFTVBTPiB8IC1jIDxDQVJBQ1TDiFJFUz4gfCAtdyA8QVRURU5URSB8IFxuIgorI34gIiAgICAgICAgICAtYSBbb258b2ZmXSB8IC1vIFtvbnxvZmZdIHwgLUMgW29ufG9mZl0gfCAtcSBbb258b2ZmXSB8IC1zIHwgXG4iCisjfiAiICAgICAgICAgIC1UIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiVzOiBiYWQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAiJXPCoDogdmFsZXVyIGVycm9uw6llXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHVuc2hhcmUoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDb25zdWx0ZXogdW5zaGFyZSgxKSBwb3VyIG9idGVuaXIgZGVzIHJlbnNlaWduZW1lbnRzIGNvbXBsw6ltZW50YWlyZXMuXG4iCisKKyN+IG1zZ2lkICIgICVzIC1WXG4iCisjfiBtc2dzdHIgIiAgJXMgLVZcbiIKKworI34gbXNnaWQgIiAgJXMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisjfiBtc2dzdHIgIiAgJXMgLS1yZXBvcnQgW3DDqXJpcGjDqXJpcXVlc11cbiIKKworI34gbXNnaWQgIiAgJXMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisjfiBtc2dzdHIgIiAgJXMgWy12fC1xXSBjb21tYW5kZXMgcMOpcmlwaMOpcmlxdWVzXG4iCisKKyN+IG1zZ2lkICIlczogY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiJXPCoDogaW1wb3NzaWJsZSBkJ291dnJpciAlc1xuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLW4gXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiVXRpbGlzYXRpb27CoDogJXMgWyAtbiBdIHDDqXJpcGjDqXJpcXVlXG4iCisKKyN+IG1zZ2lkICIlczogb3B0aW9uIHBhcnNlIGVycm9yXG4iCisjfiBtc2dzdHIgIiVzwqA6IGVycmV1ciBkJ2FuYWx5c2Ugc3ludGF4aXF1ZSBkJ3VuZSBvcHRpb25cbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLXhdIFstZCA8bnVtPl0gaXNvOTY2MC1pbWFnZVxuIgorI34gbXNnc3RyICJVdGlsaXNhdGlvbsKgOiAlcyBbLXhdIFstZCA8bnVtPl0gaW1hZ2UtaXNvOTY2MFxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbLXZdIFstTiBuci1vZi1pbm9kZXNdIFstViB2b2x1bWUtbmFtZV1cbiIKKyN+ICIgICAgICAgWy1GIGZzbmFtZV0gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlV0aWxpc2F0aW9uwqA6ICVzIFstdl0gWy1OIG5iLWlub2Rlc10gWy1WIG5vbS1kdS12b2x1bWVdXG4iCisjfiAiICAgICAgICAgICAgICBbLUYgbm9tLXN5c3TDqG1lLWRlLWZpY2hpZXJzXSBww6lyaXBow6lyaXF1ZSBbdGFpbGxlLWVuLWJsb2NzXVxuIgorCisjfiBtc2dpZCAiY2Fubm90IGRldGVybWluZSBzZWN0b3Igc2l6ZSBmb3IgJXMiCisjfiBtc2dzdHIgImltcG9zc2libGUgZGUgdHJvdXZlciBsYSB0YWlsbGUgZCd1biBzZWN0ZXVyIHBvdXIgJXMiCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1jXSBbLXBQQUdFU1pdIFstTCBsYWJlbF0gWy1VIFVVSURdIC9kZXYvbmFtZSBbYmxvY2tzXVxuIgorI34gbXNnc3RyICJVdGlsaXNhdGlvbsKgOiAlcyBbLWNdIFstcFBBR0VTWl0gWy1MIMOpdGlxdWV0dGVdIFstVSBVVUlEXSAvZGV2L25vbSBbYmxvY3NdXG4iCisKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5IgorI34gbXNnc3RyICJNw6ltb2lyZSDDqXB1aXPDqWUiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6XG4iCisjfiAiICAlcyAiCisjfiBtc2dzdHIgIiIKKyN+ICJVdGlsaXNhdGlvbsKgOlxuIgorI34gIiAgJXMgIgorCisjfiBtc2dpZCAiTWVudSB3aXRob3V0IGRpcmVjdGlvbi4gRGVmYXVsdGluZyB0byBob3Jpem9udGFsLiIKKyN+IG1zZ3N0ciAiTWVudSBzYW5zIGRpcmVjdGlvbi4gSG9yaXpvbnRhbCBwYXIgZMOpZmF1dC4iCisKKyN+IG1zZ2lkICJZb3UgbXVzdCBkZWxldGUgc29tZSBwYXJ0aXRpb24gYW5kIGFkZCBhbiBleHRlbmRlZCBwYXJ0aXRpb24gZmlyc3RcbiIKKyN+IG1zZ3N0ciAiVm91cyBkZXZleiBkw6l0cnVpcmUgdW5lIHBhcnRpdGlvbiBldCBham91dGVyIHVuZSBwYXJ0aXRpb24gw6l0ZW5kdWUgZCdhYm9yZFxuIgorCisjfiBtc2dpZCAiIgorI34gIkNvbW1hbmQgYWN0aW9uXG4iCisjfiAiICAgJXNcbiIKKyN+ICIgICBwICAgcHJpbWFyeSBwYXJ0aXRpb24gKDEtNClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkNvbW1hbmRlIGQnYWN0aW9uXG4iCisjfiAiICAgJXNcbiIKKyN+ICIgICBwICAgcGFydGl0aW9uIHByaW1haXJlICgxLTQpXG4iCisKKyN+IG1zZ2lkICJTb3JyeSBZb3UgbWF5IGNoYW5nZSB0aGUgVGFnIG9mIG5vbi1lbXB0eSBwYXJ0aXRpb25zLlxuIgorI34gbXNnc3RyICJEw6lzb2zDqSwgdm91cyBkZXZyaWV6IG1vZGlmaWVyIGwnw6l0aXF1ZXR0ZSBkZXMgcGFydGl0aW9ucyBub24gdmlkZXMuXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb25zICVzICIKKyN+IG1zZ3N0ciAiQXZlcnRpc3NlbWVudMKgOiBwYXJ0aXRpb25zICVzICIKKworI34gbXNnaWQgImFuZCAlcyBvdmVybGFwXG4iCisjfiBtc2dzdHIgImV0ICVzIHNlIGNoZXZhdWNoZW50XG4iCisKKyN+IG1zZ2lkICJkZXZpY2U6IHNvbWV0aGluZyBsaWtlIC9kZXYvaGRhIG9yIC9kZXYvc2RhIgorI34gbXNnc3RyICJww6lyaXBow6lyaXF1ZcKgOiBxdWVscXVlIGNob3NlIGNvbW1lIC9kZXYvaGRhIG91IC9kZXYvc2RhIgorCisjfiBtc2dpZCAiICAgIC1zIFtvciAtLXNob3ctc2l6ZV06IGxpc3Qgc2l6ZSBvZiBhIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgIC1zIFtvdSAtLXNob3ctc2l6ZV3CoDogIGFmZmljaGVyIGxhIHRhaWxsZSBkJ3VuZSBwYXJ0aXRpb24iCisKKyN+IG1zZ2lkICIgICAgLWQgW29yIC0tZHVtcF06ICAgICAgaWRlbSwgYnV0IGluIGEgZm9ybWF0IHN1aXRhYmxlIGZvciBsYXRlciBpbnB1dCIKKyN+IG1zZ3N0ciAiICAgIC1kIFtvdSAtLWR1bXBdwqA6ICAgICAgIGlkZW50aXF1ZSwgbWFpcyBkYW5zIHVuIGZvcm1hdCBwZXJtZXR0YW50IHVuZSBzYWlzaWUgdWx0w6lyaWV1cmUiCisKKyN+IG1zZ2lkICIgICAgLWkgW29yIC0taW5jcmVtZW50XTogbnVtYmVyIGN5bGluZGVycyBldGMuIGZyb20gMSBpbnN0ZWFkIG9mIGZyb20gMCIKKyN+IG1zZ3N0ciAiICAgIC1pIFtvdSAtLWluY3JlbWVudF3CoDogIG5vbWJyZSBkZSBjeWxpbmRyZXMsIGV0Yy4gZGUgMSBhdSBsaWV1IGRlIDAiCisKKyN+IG1zZ2lkICIgICAgLXVTLCAtdUIsIC11QywgLXVNOiAgYWNjZXB0L3JlcG9ydCBpbiB1bml0cyBvZiBzZWN0b3JzL2Jsb2Nrcy9jeWxpbmRlcnMvTUIiCisjfiBtc2dzdHIgIiAgICAtdVMsIC11QiwgLXVDLCAtdU3CoDogICBhY2NlcHRlciBvdSBhZmZpY2hlciBlbiB1bml0w6lzIGRlIHNlY3RldXJzL2Jsb2NzL2N5bGluZHJlcy9NbyIKKworI34gbXNnaWQgIiAgICAtVCBbb3IgLS1saXN0LXR5cGVzXTpsaXN0IHRoZSBrbm93biBwYXJ0aXRpb24gdHlwZXMiCisjfiBtc2dzdHIgIiAgICAtVCBbb3UgLS1saXN0LXR5cGVzXcKgOiBhZmZpY2hlciBsZXMgdHlwZXMgZGUgcGFydGl0aW9ucyBjb25udXMiCisKKyN+IG1zZ2lkICIgICAgLUQgW29yIC0tRE9TXTogICAgICAgZm9yIERPUy1jb21wYXRpYmlsaXR5OiB3YXN0ZSBhIGxpdHRsZSBzcGFjZSIKKyN+IG1zZ3N0ciAiICAgIC1EIFtvdSAtLURPU13CoDogICAgICAgIHBvdXIgY29tcGF0aWJpbGl0w6kgRE9TwqA6IHBlcnRlIGQndW4gcGV1IGQnZXNwYWNlIgorCisjfiBtc2dpZCAiICAgIC1SIFtvciAtLXJlLXJlYWRdOiAgIG1ha2Uga2VybmVsIHJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIiAgICAtUiBbb3UgLS1yZS1yZWFkXcKgOiAgICBmb3JjZXIgbGUgbm95YXUgw6AgcmVsaXJlIGxhIHRhYmxlIGRlIHBhcnRpdGlvbnMiCisKKyN+IG1zZ2lkICIgICAgLU8gZmlsZSA6ICAgICAgICAgICAgc2F2ZSB0aGUgc2VjdG9ycyB0aGF0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gdG8gZmlsZSIKKyN+IG1zZ3N0ciAiICAgIC1PIGZpY2hpZXLCoDogICAgICAgICAgIHNhdXZlZ2FyZGVyIGxlcyBzZWN0ZXVycyBxdWkgc2Vyb250IMOpY3Jhc8OpcyBkYW5zIGxlIGZpY2hpZXIiCisKKyN+IG1zZ2lkICIgICAgLUkgZmlsZSA6ICAgICAgICAgICAgcmVzdG9yZSB0aGVzZSBzZWN0b3JzIGFnYWluIgorI34gbXNnc3RyICIgICAgLUkgZmljaGllcsKgOiAgICAgICAgICAgcmVzdGF1cmVyIGNlcyBzZWN0ZXVycyDDoCBub3V2ZWF1IgorCisjfiBtc2dpZCAiICAgIC12IFtvciAtLXZlcnNpb25dOiAgIHByaW50IHZlcnNpb24iCisjfiBtc2dzdHIgIiAgICAtdiBbb3UgLS12ZXJzaW9uXcKgOiAgICBhZmZpY2hlciBsYSB2ZXJzaW9uIgorCisjfiBtc2dpZCAiICAgIC0/IFtvciAtLWhlbHBdOiAgICAgIHByaW50IHRoaXMgbWVzc2FnZSIKKyN+IG1zZ3N0ciAiICAgIC0/IFtvdSAtLWhlbHBdwqA6ICAgICAgIGFmZmljaGVyIGwnYWlkZSBtw6ltb2lyZSIKKworI34gbXNnaWQgIiAgICAtZyBbb3IgLS1zaG93LWdlb21ldHJ5XTogcHJpbnQgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIGdlb21ldHJ5IgorI34gbXNnc3RyICIiCisjfiAiICAgIC1nIFtvdSAtLXNob3ctZ2VvbWV0cnldwqA6ICAgIGFmZmljaGVyIGxlcyBkb25uw6llcyBkZSBnw6lvbcOpdHJpZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1IHBvaW50IGRlIHZ1ZSBkdSBub3lhdSIKKworI34gbXNnaWQgIiAgICAtTCAgW29yIC0tTGludXhdOiAgICAgIGRvIG5vdCBjb21wbGFpbiBhYm91dCB0aGluZ3MgaXJyZWxldmFudCBmb3IgTGludXgiCisjfiBtc2dzdHIgIiAgICAtTCAgW291IC0tTGludXhdwqA6ICAgICAgICAgICBuZSBwYXMgYWZmaWNoZXIgZGUgbWVzc2FnZSBxdWkgbmUgY29uY2VybmUgcGFzIExpbnV4IgorCisjfiBtc2dpZCAiICAgIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRldGVjdGVkIGdlb21ldHJ5IHVzaW5nOiIKKyN+IG1zZ3N0ciAiICAgIFZvdXMgcG91dmV6IHBhc3NlciBvdXRyZSBsYSBnw6lvbcOpdHJpZSBkw6l0ZWN0w6llIGVuIHV0aWxpc2FudMKgOiIKKworI34gbXNnaWQgIiAgICAtZiAgW29yIC0tZm9yY2VdOiAgICAgIGRvIHdoYXQgSSBzYXksIGV2ZW4gaWYgaXQgaXMgc3R1cGlkIgorI34gbXNnc3RyICIgICAgLWYgIFtvdSAtLWZvcmNlXcKgOiAgICAgICBleMOpY3V0ZXIgYXZldWdsw6ltZW50IGxhIGNvbW1hbmRlIGRvbm7DqWUiCisKKyN+IG1zZ2lkICJzdWNjZXNzIgorI34gbXNnc3RyICJzdWNjw6hzIgorCisjfiBtc2dpZCAiQ291bGRuJ3QgYWxsb2NhdGUgbWVtb3J5IGZvciBmaWxlc3lzdGVtIHR5cGVzXG4iCisjfiBtc2dzdHIgIkltcG9zc2libGUgZCdhbGxvdWVyIGxhIG3DqW1vaXJlIHBvdXIgbGVzIHR5cGVzIGRlIHN5c3TDqG1lcyBkZSBmaWNoaWVyc1xuIgorCisjfiBtc2dpZCAiVXNhZ2U6IGZzY2sgWy1BTU5QUlRWXSBbIC1DIFsgZmQgXSBdIFstdCBmc3R5cGVdIFtmcy1vcHRpb25zXSBbZmlsZXN5cyAuLi5dXG4iCisjfiBtc2dzdHIgIlV0aWxpc2F0aW9uwqA6IGZzY2sgWy1BTU5QUlRWXSBbIC1DIFsgZmQgXSBdIFstdCB0eXBlX3N5c19maWNdIFtvcHRpb25zX3N5c19maWNdIFtzeXNfZmljIC4uLl1cbiIKKworI34gbXNnaWQgIkNvdWxkbid0IG9wZW4gJXM6ICVzXG4iCisjfiBtc2dzdHIgIkltcG9zc2libGUgZCdvdXZyaXIgJXPCoDogJXNcbiIKKworI34gbXNnaWQgImZzY2sgZnJvbSAlc1xuIgorI34gbXNnc3RyICJmc2NrIGRlICVzXG4iCisKKyN+IG1zZ2lkICIlczogVW5hYmxlIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgZnNja19wYXRoXG4iCisjfiBtc2dzdHIgIiVzwqA6IGltcG9zc2libGUgZCdhbGxvdWVyIGxhIG3DqW1vaXJlIHBvdXIgZnNja19wYXRoXG4iCisKKyN+IG1zZ2lkICJUcnkgYGdldG9wdCAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICJFc3NheWVyIMKrwqBnZXRvcHQgLS1oZWxwwqDCuyBwb3VyIHBsdXMgZCdpbmZvcm1hdGlvbnMuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogZ2V0b3B0IG9wdHN0cmluZyBwYXJhbWV0ZXJzXG4iCisjfiBtc2dzdHIgIlV0aWxpc2F0aW9uwqA6IGdldG9wdCBjaGHDrm5lLWQtb3B0aW9ucyBwYXJhbcOodHJlc1xuIgorCisjfiBtc2dpZCAiICAgICAgIGdldG9wdCBbb3B0aW9uc10gWy0tXSBvcHRzdHJpbmcgcGFyYW1ldGVyc1xuIgorI34gbXNnc3RyICIgICAgICAgZ2V0b3B0IFtvcHRpb25zXSBbLS1dIHBhcmFtw6h0cmVzIGRlIGxhIGNoYcOubmUgZCdvcHRpb25cbiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgcGFyYW1ldGVyc1xuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgIHBhcmFtw6h0cmVzXG4iCisKKyN+IG1zZ2lkICJnZXRvcHQgKGVuaGFuY2VkKSAxLjEuNFxuIgorI34gbXNnc3RyICJnZXRvcHQgKGFtw6lsaW9yw6kpIDEuMS40XG4iCisKKyN+IG1zZ2lkICIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pXG4iCisjfiBtc2dzdHIgIihBdHRlbmR1wqA6IMKrwqBVVEPCoMK7LCDCq8KgTE9DQUzCoMK7IG91IHJpZW4uKVxuIgorCisjIGh3Y2xvY2svaHdjbG9jay5jOjExMDgKKyN+IG1zZ2lkICIiCisjfiAiaHdjbG9jayAtIHF1ZXJ5IGFuZCBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIChSVEMpXG4iCisjfiAiXG4iCisjfiAiVXNhZ2U6IGh3Y2xvY2sgW2Z1bmN0aW9uXSBbb3B0aW9ucy4uLl1cbiIKKyN+ICJcbiIKKyN+ICJGdW5jdGlvbnM6XG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgIHNob3cgdGhpcyBoZWxwXG4iCisjfiAiICAtciB8IC0tc2hvdyAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IHJlc3VsdFxuIgorI34gIiAgICAgICAtLXNldCAgICAgICAgICBzZXQgdGhlIHJ0YyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gIiAgLXMgfCAtLWhjdG9zeXMgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiICAtdyB8IC0tc3lzdG9oYyAgICAgIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgdG8gdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWVcbiIKKyN+ICIgICAgICAgLS1zeXN0eiAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBiYXNlZCBvbiB0aGUgY3VycmVudCB0aW1lem9uZVxuIgorI34gIiAgICAgICAtLWFkanVzdCAgICAgICBhZGp1c3QgdGhlIHJ0YyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IHNpbmNlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIHRoZSBjbG9jayB3YXMgbGFzdCBzZXQgb3IgYWRqdXN0ZWRcbiIKKyN+ICIgICAgICAgLS1nZXRlcG9jaCAgICAgcHJpbnQgb3V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZVxuIgorI34gIiAgICAgICAtLXNldGVwb2NoICAgICBzZXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlIHRvIHRoZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgZ2l2ZW4gd2l0aCAtLWVwb2NoXG4iCisjfiAiICAgICAgIC0tcHJlZGljdCAgICAgIHByZWRpY3QgcnRjIHJlYWRpbmcgYXQgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gIiAgLXYgfCAtLXZlcnNpb24gICAgICBwcmludCBvdXQgdGhlIHZlcnNpb24gb2YgaHdjbG9jayB0byBzdGRvdXRcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOiBcbiIKKyN+ICIgIC11IHwgLS11dGMgICAgICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gVVRDXG4iCisjfiAiICAgICAgIC0tbG9jYWx0aW1lICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIGxvY2FsIHRpbWVcbiIKKyN+ICIgIC1mIHwgLS1ydGM9cGF0aCAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIKKyN+ICIgICAgICAgLS1kaXJlY3Rpc2EgICAgYWNjZXNzIHRoZSBJU0EgYnVzIGRpcmVjdGx5IGluc3RlYWQgb2YgJXNcbiIKKyN+ICIgICAgICAgLS1iYWR5ZWFyICAgICAgaWdub3JlIHJ0YydzIHllYXIgYmVjYXVzZSB0aGUgYmlvcyBpcyBicm9rZW5cbiIKKyN+ICIgICAgICAgLS1kYXRlICAgICAgICAgc3BlY2lmaWVzIHRoZSB0aW1lIHRvIHdoaWNoIHRvIHNldCB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgICAgICAgLS1lcG9jaD15ZWFyICAgc3BlY2lmaWVzIHRoZSB5ZWFyIHdoaWNoIGlzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBoYXJkd2FyZSBjbG9jaydzIGVwb2NoIHZhbHVlXG4iCisjfiAiICAgICAgIC0tbm9hZGpmaWxlICAgIGRvIG5vdCBhY2Nlc3MgL2V0Yy9hZGp0aW1lLiBSZXF1aXJlcyB0aGUgdXNlIG9mXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZVxuIgorI34gIiAgICAgICAtLWFkamZpbGU9cGF0aCBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlIChkZWZhdWx0IGlzXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIC9ldGMvYWRqdGltZSlcbiIKKyN+ICIgICAgICAgLS10ZXN0ICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgYWN0dWFsbHkgdXBkYXRpbmcgdGhlIGhhcmR3YXJlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGNsb2NrIG9yIGFueXRoaW5nIGVsc2VcbiIKKyN+ICIgIC1EIHwgLS1kZWJ1ZyAgICAgICAgZGVidWcgbW9kZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiaHdjbG9jayAtIGludGVycm9nZXIgZXQgY29uZmlndXJlciBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGUgUlRDXG4iCisjfiAiXG4iCisjfiAiVXRpbGlzYXRpb27CoDogaHdjbG9jayBbZm9uY3Rpb25dIFtvcHRpb25zLi4uXVxuIgorI34gIlxuIgorI34gIkZvbmN0aW9uc8KgOlxuIgorI34gIiAgLWggfCAtLWhlbHAgICAgICAgIGFmZmljaGVyIGNldHRlIGFpZGVcbiIKKyN+ICIgIC1yIHwgLS1zaG93ICAgICAgICBsaXJlIGwnaG9ybG9nZSBtYXTDqXJpZWxsZSBldCBhZmZpY2hlciBsZXMgcsOpc3VsdGF0c1xuIgorI34gIiAgICAgICAtLXNldCAgICAgICAgIHLDqWdsZXIgbCdob3Jsb2dlIFJUQyDDoCBsJ2hldXJlIGluZGlxdcOpZSBwYXIgLS1kYXRlXG4iCisjfiAiICAtcyB8IC0taGN0b3N5cyAgICAgcsOpZ2xlciBsJ2hldXJlIHN5c3TDqG1lIMOgIHBhcnRpciBkZSBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGVcbiIKKyN+ICIgIC13IHwgLS1zeXN0b2hjICAgICByw6lnbGVyIGwnaG9ybG9nZSBtYXTDqXJpZWxsZSDDoCBsJ2hldXJlIGFjdHVlbGxlIGR1IHN5c3TDqG1lXG4iCisjfiAiICAgICAgIC0tc3lzdHogICAgICAgcsOpZ2xlciBsJ2hldXJlIHN5c3TDqG1lIHN1ciBsYSB6b25lIGRlIHRlbXBzIGFjdHVlbGxlXG4iCisjfiAiICAgICAgIC0tYWRqdXN0ICAgICAgYWp1c3RlciBsJ2hvcmxvZ2UgUlRDIGVuIHRlbmFudCBjb21wdGUgZGUgbGEgZMOpcml2ZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgIHN5c3TDqW1hdGlxdWUgZGVwdWlzIGxlIGRlcm5pZXIgcsOpZ2xhZ2VcbiIKKyN+ICIgICAgICAgLS1nZXRlcG9jaCAgICBhZmZpY2hlciBsYSB2YWxldXIgwqvCoGVwb2NowqDCuyBkdSBub3lhdSBwb3VyIGwnaG9ybG9nZSBtYXTDqXJpZWxsZVxuIgorI34gIiAgICAgICAtLXNldGVwb2NoICAgIGNvbmZpZ3VyZXIgbGEgdmFsZXVyIMKrwqBlcG9jaMKgwrsgZHUgbm95YXUgcG91ciBsJ2hvcmxvZ2VcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICBtYXTDqXJpZWxsZSDDoCBsYSB2YWxldXIgZG9ubsOpZSBwYXIgLS1lcG9jaFxuIgorI34gIiAgICAgICAtLXByZWRpY3QgICAgIHByw6lkaXJlIGxhIGxlY3R1cmUgZCdob3Jsb2dlIFJUQyDDoCBsJ2hldXJlIGRvbm7DqWUgcGFyIC0tZGF0ZVxuIgorI34gIiAgLXYgfCAtLXZlcnNpb24gICAgIGFmZmljaGVyIGxlIG51bcOpcm8gZGUgdmVyc2lvbiBkZSBod2Nsb2NrXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uc8KgOlxuIgorI34gIiAgLXUgfCAtLXV0YyAgICAgICAgICAgIGwnaG9ybG9nZSBtYXTDqXJpZWxsZSBlc3QgY29uc2VydsOpZSBhdSBmb3JtYXQgdW5pdmVyc2VsIFVUQ1xuIgorI34gIiAgICAgICAtLWxvY2FsdGltZSAgICAgIGwnaG9ybG9nZSBtYXTDqXJpZWxsZSBlc3QgY29uc2VydsOpZSBhdSBmb3JtYXQgbG9jYWxcbiIKKyN+ICIgIC1mIHwgLS1ydGM9Y2hlbWluICAgICB1dGlsaXNlciBsZSBww6lyaXBow6lyaXF1ZSBzcMOpY2lhbCAvZGV2Ly4uLiBhdSBsaWV1IGR1IGTDqWZhdXRcbiIKKyN+ICIgICAgICAgLS1kaXJlY3Rpc2EgICAgICBhY2PDqWRlciBhdSBidXMgSVNBIGRpcmVjdGVtZW50IGF1IGxpZXUgZGUgJXNcbiIKKyN+ICIgICAgICAgLS1iYWR5ZWFyICAgICAgICBpZ25vcmVyIGwnYW5uw6llIGRvbm7DqWUgcGFyIGxhIFJUQyAoYmlvcyBtYWwgcsOpZ2zDqSlcbiIKKyN+ICIgICAgICAgLS1kYXRlICAgICAgICAgICBpbmRpcXVlciBsJ2hldXJlIHBvdXIgcsOpZ2xlciBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGVcbiIKKyN+ICIgICAgICAgLS1lcG9jaD1hbm7DqWUgICAgaW5kaXF1ZXIgbCdhbm7DqWUgY29ycmVzcG9uZGFudCDDoCBsYSB2YWxldXIgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgZGUgZMOpcGFydCDCq8KgZXBvY2jCoMK7IGRlIGwnaG9ybG9nZSBtYXTDqXJpZWxsZVxuIgorI34gIiAgICAgICAtLW5vYWRqZmlsZSAgICAgIG5lIHBhcyBhY2PDqWRlciDDoCAvZXRjL2FkanRpbWUuIEV4aWdlIGwndXRpbGlzYXRpb25cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBkZSAtLXV0YyBvdSBiaWVuIC0tbG9jYWx0aW1lXG4iCisjfiAiICAgICAgIC0tYWRqZmlsZT1jaGVtaW4gaW5kaXF1ZXIgbGUgY2hlbWluIGR1IGZpY2hpZXIgZGUgcsOpZ2xhZ2VcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAocGFyIGTDqWZhdXQgL2V0Yy9hZGp0aW1lKVxuIgorI34gIiAgICAgICAtLXRlc3QgICAgICAgICAgIGV4w6ljdXRlciBsZSB0b3V0IHNhbnMgbW9kaWZpZXIgbCdob3Jsb2dlIG1hdMOpcmllbGxlIG91XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgYXV0cmVcbiIKKyN+ICIgIC1EIHwgLS1kZWJ1ZyAgICAgICAgICBtb2RlIGTDqWJvZ2FnZVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiY2FuJ3QgbWFsbG9jIGluaXRzdHJpbmciCisjfiBtc2dzdHIgImltcG9zc2libGUgZCdleMOpY3V0ZXIgbWFsbG9jKCkgcG91ciBsYSBjaGHDrm5lIGQnaW5pdGlhbGlzYXRpb24iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFstOGhpTG1zVXddIFstbCBsb2dpbl9wcm9ncmFtXSBbLXQgdGltZW91dF0gWy1JIGluaXRzdHJpbmddIFstSCBsb2dpbl9ob3N0XSBiYXVkX3JhdGUsLi4uIGxpbmUgW3Rlcm10eXBlXVxuIgorI34gIm9yXHRbLWhpTG13XSBbLWwgbG9naW5fcHJvZ3JhbV0gWy10IHRpbWVvdXRdIFstSSBpbml0c3RyaW5nXSBbLUggbG9naW5faG9zdF0gbGluZSBiYXVkX3JhdGUsLi4uIFt0ZXJtdHlwZV1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlV0aWxpc2F0aW9uwqA6ICVzIFstOGhpTG1zVXddIFstbCBwcm9ncmFtbWVfbG9naW5dIFstdCBleHBpcmF0aW9uXSBbLUkgY2hhw65uZV9pbml0XSBbLUggaMO0dGVfbG9naW5dIHZpdGVzc2VfYmF1ZHMsIC4uLiBsaWduZSBbdHlwZV90ZXJtaW5hbF1cbiIKKyN+ICJvclx0Wy1oaUxtd10gWy1sIHByb2dyYW1tZV9sb2dpbl0gWy10IGV4cGlyYXRpb25dIFstSSBjaGHDrm5lX2luaXRdIFstSCBow7R0ZV9sb2dpbl0gbGlnbmUgdml0ZXNzZV9iYXVkcywgLi4uIFt0eXBlX3Rlcm1pbmFsXVxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFt5IHwgbl0iCisjfiBtc2dzdHIgIlV0aWxpc2F0aW9uwqA6ICVzIFt5IHwgbl0iCisKKyN+IG1zZ2lkICIlczogQkFEIEVSUk9SIgorI34gbXNnc3RyICIlc8KgOiBlcnJldXIgc8OpcmlldXNlIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFstbl0gW2ZpbGVdXG4iCisjfiBtc2dzdHIgIlV0aWxpc2F0aW9uwqA6ICVzIFstbl0gW2ZpY2hpZXJdXG4iCisKKyN+IG1zZ2lkICJjYW4ndCByZWFkOiAlcyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlwqA6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1zLCAtLWZzdGFiICAgICAgICAgICAgc2VhcmNoIGluIHN0YXRpYyB0YWJsZSBvZiBmaWxlc3lzdGVtc1xuIgorI34gIiAtbSwgLS1tdGFiICAgICAgICAgICAgIHNlYXJjaCBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisjfiAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgc2VhcmNoIGluIGtlcm5lbCB0YWJsZSBvZiBtb3VudGVkIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzeXN0ZW1zIChkZWZhdWx0KVxuIgorI34gIlxuIgorI34gIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaWNhbGl6ZSBwcmludGVkIHBhdGhzXG4iCisjfiAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gc2VhcmNoIGRpcmVjdGlvbiAtICdmb3J3YXJkJyBvciAnYmFja3dhcmQnXG4iCisjfiAiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgcHJpbnQgYWxsIFRBR3MgKExBQkVML1VVSUQpIGV2YWx1YXRlZFxuIgorI34gIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIHByaW50IHRoZSBmaXJzdCBmb3VuZCBmaWxlc3lzdGVtIG9ubHlcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyN+ICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnQgc2Vuc2Ugb2YgbWF0Y2hpbmdcbiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyN+ICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKKyN+ICIgLU8sIC0tb3B0aW9ucyA8bGlzdD4gICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IG1vdW50IG9wdGlvbnNcbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBvdXRwdXQgY29sdW1uc1xuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgZm9ybWF0IG91dHB1dFxuIgorI34gIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBhc2NpaSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCisjfiAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIGJ5IEZTIHR5cGVzXG4iCisjfiAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorI34gIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIHByaW50IGFsbCBzdWJtb3VudCBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iCisjfiAiIC1TLCAtLXNvdXJjZSA8c3RyaW5nPiAgZGV2aWNlLCBMQUJFTD0gb3IgVVVJRD1kZXZpY2VcbiIKKyN+ICIgLVQsIC0tdGFyZ2V0IDxzdHJpbmc+ICBtb3VudHBvaW50XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zwqA6XG4iCisjfiAiIC1zLCAtLWZzdGFiICAgICAgICAgICAgcmVjaGVyY2hlciBkYW5zIGxhIHRhYmxlIHN0YXRpcXVlIGRlcyBzeXN0w6htZXMgZGUgZmljaGllcnNcbiIKKyN+ICIgLW0sIC0tbXRhYiAgICAgICAgICAgICByZWNoZXJjaGVyIGRhbnMgbGEgdGFibGUgZGVzIHN5c3TDqG1lcyBkZSBmaWNoaWVycyBtb250w6lzXG4iCisjfiAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgcmVjaGVyY2hlciBkYW5zIGxhIHRhYmxlIGR1IG5veWF1IGRlcyBzeXN0w6htZXMgZGUgZmljaGllcnNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBtb250w6lzIChwYXIgZMOpZmF1dClcbiIKKyN+ICJcbiIKKyN+ICIgLWMsIC0tY2Fub25pY2FsaXplICAgICBhZmZpY2hhZ2UgZGVzIGNoZW1pbnMgY2Fub25pcXVlc1xuIgorI34gIiAtZCwgLS1kaXJlY3Rpb24gPG1vdD4gIGRpcmVjdGlvbiBkZSByZWNoZXJjaGUgLSDCq8KgZm9yd2FyZMKgwrsgb3UgwqvCoGJhY2t3YXJkwqDCu1xuIgorI34gIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGFmZmljaGVyIHRvdXMgbGVzIFRBRyAoTEFCRUwvVVVJRCkgw6l2YWx1w6lzXG4iCisjfiAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgbidhZmZpY2hlciBxdWUgbGUgcHJlbWllciBzeXN0w6htZSBkZSBmaWNoaWVycyB0cm91dsOpXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgYWZmaWNoZXIgY2V0dGUgYWlkZVxuIgorI34gIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVyc2VyIGxlIHNlbnMgZGUgY29ycmVzcG9uZGFuY2VcbiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1dGlsaXNlciBsZSBmb3JtYXQgZGUgc29ydGllIGVuIGxpc3RlXG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgbmUgcGFzIGFmZmljaGVyIGxlcyBlbi10w6p0ZXNcbiIKKyN+ICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBuZSBwYXMgdHJvbnF1ZXIgbGUgdGV4dGUgZW4gY29sb25uZXNcbiIKKyN+ICIgLU8sIC0tb3B0aW9ucyA8bGlzdGU+ICBsaW1pdGVyIGxlIGpldSBkZSBzeXN0w6htZXMgZGUgZmljaGllcnMgcGFyIG9wdGlvbnMgZGUgbW9udGFnZVxuIgorI34gIiAtbywgLS1vdXRwdXQgPGxpc3RlPiAgIGNvbG9ubmVzIGRlIHNvcnRpZVxuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICAgIHV0aWxpc2VyIGxlIGZvcm1hdCBkZSBzb3J0aWUgYnJ1dFxuIgorI34gIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHV0aWxpc2VyIGRlcyBjYXJhY3TDqHJlcyBBU0NJSSBwb3VyIGxlIGZvcm1hdGFnZSBkZSBsJ2FyYnJlXG4iCisjfiAiIC10LCAtLXR5cGVzIDxsaXN0ZT4gICAgbGltaXRlciBsZSBqZXUgZGUgc3lzdMOobWVzIGRlIGZpY2hpZXJzIHBhciB0eXBlc1xuIgorI34gIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIG5lIHBhcyBhZmZpY2hlciBbL2Rpcl0gcG91ciBsZXMgbW9udGFnZXMgYmluZCBvdSBCdHJmc1xuIgorI34gIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIGFmZmljaGVyIHRvdXMgbGVzIHNvdXMtbW9udGFnZXMgZGVzIHN5c3TDqG1lcyBkZSBmaWNoaWVycyBjb3JyZXNwb25kYW50c1xuIgorI34gIiAtUywgLS1zb3VyY2UgPGNoYcOubmU+ICBww6lyaXBow6lyaXF1ZSwgTEFCRUw9IG91IFVVSUQ9cMOpcmlwaMOpcmlxdWVcbiIKKyN+ICIgLVQsIC0tdGFyZ2V0IDxjaGHDrm5lPiAgcG9pbnQgZGUgbW9udGFnZVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAibG9nZ2VyOiAlczogJXMuXG4iCisjfiBtc2dzdHIgImxvZ2dlcsKgOiAlc8KgOiAlcy5cbiIKKworI34gbXNnaWQgInVzYWdlOiBsb2dnZXIgWy1pc10gWy1mIGZpbGVdIFstcCBwcmldIFstdCB0YWddIFstdSBzb2NrZXRdIFsgbWVzc2FnZSAuLi4gXVxuIgorI34gbXNnc3RyICJVdGlsaXNhdGlvbsKgOiBsb2dnZXIgWy1pc10gWy1mIGZpY2hpZXJdIFstcCBwcmlvcml0w6ldIFstdCDDqXRpcXVldHRlXSBbLXUgc29ja2V0XSBbIG1lc3NhZ2UgLi4uIF1cbiIKKworI34gbXNnaWQgInVzYWdlOiBsb29rIFstZGZhXSBbLXQgY2hhcl0gc3RyaW5nIFtmaWxlXVxuIgorI34gbXNnc3RyICJVdGlsaXNhdGlvbsKgOiBsb29rIFstZGZhXSBbLXQgY2FyYWN0w6hyZV0gY2hhw65uZSBbZmljaGllcl1cbiIKKworI34gbXNnaWQgIm91dCBvZiBtZW1vcnk/IgorI34gbXNnc3RyICJtw6ltb2lyZSDDqXB1aXPDqWXCoD8iCisKKyN+IG1zZ2lkICJjYWxsOiAlcyBmcm9tIHRvIGZpbGVzLi4uXG4iCisjfiBtc2dzdHIgImNhbGzCoDogJXMgdmVycyBsZXMgZmljaGllcnPigKZcbiIKKworI34gbXNnaWQgInVzYWdlOiBzY3JpcHQgWy1hXSBbLWVdIFstZl0gWy1xXSBbLXRdIFtmaWxlXVxuIgorI34gbXNnc3RyICJVdGlsaXNhdGlvbsKgOiBzY3JpcHQgWy1hXSBbLWVdIFstZl0gWy1xXSBbLXRdIFtmaWNoaWVyXVxuIgorCisjfiBtc2dpZCAiJXM6IHdyaXRlIGVycm9yICVkOiAlc1xuIgorI34gbXNnc3RyICIlc8KgOiBlcnJldXIgZCfDqWNyaXR1cmUgJWTCoDogJXNcbiIKKworI34gbXNnaWQgIiVzOiB3cml0ZSBlcnJvcjogJXNcbiIKKyN+IG1zZ3N0ciAiJXPCoDogZXJyZXVyIGQnw6ljcml0dXJlwqA6ICVzXG4iCisKKyN+IG1zZ2lkICIgIFsgLXNub3cgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLXNub3cgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1zb2Z0c2Nyb2xsIFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1zb2Z0c2Nyb2xsIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtZm9yZWdyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtZm9yZWdyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQgXVxuIgorI34gbXNnc3RyICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQgXVxuIgorCisjfiBtc2dpZCAiICBbIC1iYWNrZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1iYWNrZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtdWxjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC11bGNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZSBdXG4iCisjfiBtc2dzdHIgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGUgXVxuIgorCisjfiBtc2dpZCAiICBbIC11bGNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtdWxjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAiICBbIC1oYmNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWhiY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLWhiY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1oYmNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLXN0YW5kb3V0IFsgYXR0ciBdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1zdGFuZG91dCBbIGF0dHIgXSBdXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1kXSBbLXAgcGlkZmlsZV0gWy1zIHNvY2tldHBhdGhdIFstVCB0aW1lb3V0XVxuIgorI34gbXNnc3RyICJVdGlsaXNhdGlvbsKgOiAlcyBbLWRdIFstcCBmaWNoaWVycGlkXSBbLXMgY2hlbWluc29ja2V0XSBbLVQgdGltZW91dF1cbiIKKworI34gbXNnaWQgIiAgICAgICAlcyBbLXJ8dF0gWy1uIG51bV0gWy1zIHNvY2tldHBhdGhdXG4iCisjfiBtc2dzdHIgIiAgICAgICAlcyBbLXJ8dF0gWy1uIG51bV0gWy1zIHNvY2tldHBhdGhdXG4iCisKKyN+IG1zZ2lkICIgICAgICAgJXMgLWtcbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIC1rXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1yXSBbLXRdXG4iCisjfiBtc2dzdHIgIlV0aWxpc2F0aW9uwqA6ICVzIFstcl0gWy10XVxuIgorCisjfiBtc2dpZCAid2hlcmVpcyBbIC1zYm11IF0gWyAtU0JNIGRpciAuLi4gLWYgXSBuYW1lLi4uXG4iCisjfiBtc2dzdHIgIndoZXJlaXMgWyAtc2JtdSBdIFsgLVNCTSByw6lwZXJ0b2lyZSAuLi4gLWYgXSBub20uLi5cbiIKKworI34gbXNnaWQgInVzYWdlOiB3cml0ZSB1c2VyIFt0dHldXG4iCisjfiBtc2dzdHIgIlV0aWxpc2F0aW9uwqA6IHdyaXRlIGlkZW50aWZpYW50IFt0dHldXG4iCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3Qgb3BlbiAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50wqA6IGltcG9zc2libGUgZCdvdXZyaXIgJXPCoDogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICUxJHMgLWEgWy1lXSBbLXZdIFstZl0gICAgICAgICAgICAgZW5hYmxlIGFsbCBzd2FwcyBmcm9tIC9ldGMvZnN0YWJcbiIKKyN+ICIgJTEkcyBbLXAgcHJpb3JpdHldIFstZF0gWy12XSBbLWZdIDxzcGVjaWFsPiAgZW5hYmxlIGdpdmVuIHN3YXBcbiIKKyN+ICIgJTEkcyAtcyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgdXNhZ2Ugc3VtbWFyeVxuIgorI34gIiAlMSRzIC1oICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaGVscFxuIgorI34gIiAlMSRzIC1WICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdmVyc2lvblxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVXRpbGlzYXRpb27CoDogKMKrwqBzd2FwwqDCu8KgOiBlc3BhY2UgZCfDqWNoYW5nZSlcbiIKKyN+ICIgJTEkcyAtYSBbLWVdIFstdl0gWy1mXSAgICAgICAgICAgICBhY3RpdmUgdG91cyBsZXMgc3dhcHMgZGUgL2V0Yy9mc3RhYlxuIgorI34gIiAlMSRzIFstcCBwcmlvcml0w6ldIFstZF0gWy12XSBbLWZdIDxzcGVjaWFsPiAgICAgICAgIGFjdGl2ZSBsZSBzd2FwIGRvbm7DqVxuIgorI34gIiAlMSRzIC1zICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFmZmljaGUgbGUgcsOpc3Vtw6kgZCd1dGlsaXNhdGlvbiBkdSBzd2FwXG4iCisjfiAiICUxJHMgLWggICAgICAgICAgICAgICAgICAgICAgICAgICAgYWZmaWNoZSBsJ2FpZGVcbiIKKyN+ICIgJTEkcyAtViAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZmZpY2hlIGxhIHZlcnNpb25cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJTEkcyAtYSBbLXZdICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIHN3YXBzXG4iCisjfiAiICUxJHMgWy12XSA8c3BlY2lhbD4gICAgICAgICAgICAgICBkaXNhYmxlIGdpdmVuIHN3YXBcbiIKKyN+ICIgJTEkcyAtaCAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaGVscFxuIgorI34gIiAlMSRzIC1WICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJVdGlsaXNhdGlvbsKgOiAowqvCoHN3YXDCoMK7wqA6IGVzcGFjZSBkJ8OpY2hhbmdlKVxuIgorI34gIiAlMSRzIC1hIFstdl0gICAgICAgICAgICAgICAgICAgICAgZMOpc2FjdGl2ZSB0b3VzIGxlcyBzd2Fwc1xuIgorI34gIiAlMSRzIFstdl0gPHNwZWNpYWw+ICAgICAgICAgICAgICAgZMOpc2FjdGl2ZSBsZSBzd2FwIGRvbm7DqVxuIgorI34gIiAlMSRzIC1oICAgICAgICAgICAgICAgICAgICAgICAgICAgYWZmaWNoZSBsJ2FpZGVcbiIKKyN+ICIgJTEkcyAtViAgICAgICAgICAgICAgICAgICAgICAgICAgIGFmZmljaGUgbGEgdmVyc2lvblxuIgorI34gIlxuIgorCisjfiBtc2dpZCAidW5rbm93blxuIgorI34gbXNnc3RyICJpbmNvbm51XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiaW9uaWNlIC0gc2V0cyBvciBnZXRzIHByb2Nlc3MgaW8gc2NoZWR1bGluZyBjbGFzcyBhbmQgcHJpb3JpdHkuXG4iCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICBpb25pY2UgWyBvcHRpb25zIF0gLXAgPHBpZD4gWzxwaWQ+IC4uLl1cbiIKKyN+ICIgIGlvbmljZSBbIG9wdGlvbnMgXSA8Y29tbWFuZD4gWzxhcmc+IC4uLl1cbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAgLW4gPGNsYXNzZGF0YT4gICAgICBjbGFzcyBkYXRhICgwLTcsIGxvd2VyIGJlaW5nIGhpZ2hlciBwcmlvKVxuIgorI34gIiAgLWMgPGNsYXNzPiAgICAgICAgICBzY2hlZHVsaW5nIGNsYXNzXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIDA6IG5vbmUsIDE6IHJlYWx0aW1lLCAyOiBiZXN0LWVmZm9ydCwgMzogaWRsZVxuIgorI34gIiAgLXQgICAgICAgICAgICAgICAgICBpZ25vcmUgZmFpbHVyZXNcbiIKKyN+ICIgIC1oICAgICAgICAgICAgICAgICAgdGhpcyBoZWxwXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJpb25pY2UgLSBjb25maWd1cmVyIG91IG9idGVuaXIgbGEgcHJpb3JpdMOpIGV0IGxhIGNsYXNzZSBkZSBwbGFuaWZpY2F0aW9uIGQnZXjDqWN1dGlvblxuIgorI34gIlxuIgorI34gIlV0aWxpc2F0aW9uwqA6XG4iCisjfiAiICBpb25pY2UgWyBvcHRpb25zIF0gLXAgPHBpZD4gWzxwaWQ+IC4uLl1cbiIKKyN+ICIgIGlvbmljZSBbIG9wdGlvbnMgXSA8Y29tbWFuZGU+IFs8YXJnPiAuLi5dXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uc8KgOlxuIgorI34gIiAgLW4gPGNsYXNzZT4gICAgICBjbGFzc2UgKDAtNywgcGx1cyBwZXRpdCBwb3VyIHVuZSBwcmlvcml0w6kgcGx1cyBncmFuZGUpXG4iCisjfiAiICAtYyA8Y2xhc3NlPiAgICAgIGNsYXNzZSBkJ2V4w6ljdXRpb25cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgMMKgOiBhdWN1bmUsIDHCoDogdGVtcHMgcsOpZWwsIDLCoDogbWVpbGxldXIgZWZmb3J0LCAzwqA6IHZlaWxsZVxuIgorI34gIiAgLXQgICAgICAgICAgICAgICBpZ25vcmVyIGxlcyDDqWNoZWNzXG4iCisjfiAiICAtaCAgICAgICAgICAgICAgIGNldHRlIGFpZGVcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIkNQVSBtYXNrIgorI34gbXNnc3RyICJtYXNxdWUgZGUgbWljcm9wcm9jZXNzZXVyIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIG1vdW50IGFsbCBmaWxlc3lzdGVtcyBtZW50aW9uZWQgaW4gZnN0YWJcbiIKKyN+ICIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1biwgc2tpcCBtb3VudCgyKSBzeXNjYWxsXG4iCisjfiAiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIGZvcmsgb2ZmIGZvciBlYWNoIGRldmljZSAodXNlIHdpdGggLWEpXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIHRoaXMgaGVscFxuIgorI34gIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKKyN+ICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC1vbmx5IChzYW1lIGFzIC1vIHJvKVxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgcHJpbnQgdmVyc2lvbiBzdHJpbmdcbiIKKyN+ICIgLXcsIC0tcmVhZC13cml0ZSAgICAgICAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC13cml0ZSAoZGVmYXVsdClcbiIKKyN+ICIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgY29tbWEgc2VwYXJhdGVkIHN0cmluZyBvZiBtb3VudCBvcHRpb25zXG4iCisjfiAiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorI34gIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBpbmRpY2F0ZSB0aGUgZmlsZXN5c3RlbSB0eXBlXG4iCisjfiAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorI34gIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSBtb3VudC48dHlwZT4gaGVscGVyc1xuIgorI34gIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBsaXN0cyBhbGwgbW91bnRzIHdpdGggTEFCRUxzXG4iCisjfiAiXG4iCisjfiAiU291cmNlOlxuIgorI34gIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisjfiAiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisjfiAiIExBQkVMPTxsYWJlbD4gICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBsYWJlbFxuIgorI34gIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gVVVJRFxuIgorI34gIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyN+ICIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisjfiAiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorI34gIlxuIgorI34gIk9wZXJhdGlvbnM6XG4iCisjfiAiIC1CLCAtLWJpbmQgICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBzb21ld2hlcmUgZWxzZSAoc2FtZSBhcyAtbyBiaW5kKVxuIgorI34gIiAtTSwgLS1tb3ZlICAgICAgICAgICAgICBtb3ZlIGEgc3VidHJlZSB0byBzb21lIG90aGVyIHBsYWNlXG4iCisjfiAiIC1SLCAtLXJiaW5kICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBhbmQgYWxsIHN1Ym1vdW50cyBzb21ld2hlcmUgZWxzZVxuIgorI34gIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyN+ICIgLS1tYWtlLXNsYXZlICAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyN+ICIgLS1tYWtlLXByaXZhdGUgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorI34gIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICBtYXJrIGEgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCisjfiAiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorI34gIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorI34gIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisjfiAiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk9wdGlvbnPCoDpcbiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW9udGVyIHRvdXMgbGVzIHN5c3TDqG1lcyBkZSBmaWNoaWVycyBpbmRpcXXDqXMgZGFucyBmc3RhYlxuIgorI34gIiAtZiwgLS1mYWtlICAgICAgICAgICAgICByw6lww6l0aXRpb24sIHNhdXRlciBsJ2FwcGVsIHN5c3TDqG1lIG1vdW50KDIpXG4iCisjfiAiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIGJpZnVycXVlciBwb3VyIGNoYXF1ZSBww6lyaXBow6lyaXF1ZSAodXRpbGlzZXIgYXZlYyAtYSlcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgY2V0dGUgYWlkZVxuIgorI34gIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBuZSBwYXMgw6ljcmlyZSBkYW5zIC9ldGMvbXRhYlxuIgorI34gIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBtb250ZXIgbGUgIHN5c3TDqG1lIGRlIGZpY2hpZXJzIGVuIGxlY3R1cmUgc2V1bGUgKGNvbW1lIC1vIHJvKVxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBtb2RlIGJhdmFyZFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBhZmZpY2hlciBsYSB2ZXJzaW9uXG4iCisjfiAiIC13LCAtLXJlYWQtd3JpdGUgICAgICAgIG1vbnRlciBsZSBzeXN0w6htZSBkZSBmaWNoaWVycyBlbiBsZWN0dXJlL8OpY3JpdHVyZSAocGFyIGTDqWZhdXQpXG4iCisjfiAiIC1vLCAtLW9wdGlvbnMgPGxpc3RlPiAgIGNoYcOubmUgc8OpcGFyw6llIHBhciBkZXMgdmlyZ3VsZXMgZCdvcHRpb25zIGRlIG1vbnRhZ2VcbiIKKyN+ICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0ZT4gbGltaXRlciBsZSBqZXUgZGUgc3lzdMOobWVzIGRlIGZpY2hpZXJzICh1dGlsaXNlciBhdmVjIC1hKVxuIgorI34gIiAtdCwgLS10eXBlcyA8bGlzdGU+ICAgICBpbmRpcXVlciBsZSB0eXBlIGRlIHN5c3TDqG1lIGRlIGZpY2hpZXJzXG4iCisjfiAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIG5lIHBhcyBjYW5vbmlzZXIgbGVzIGNoZW1pbnNcbiIKKyN+ICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgbmUgcGFzIGFwcGVsZXIgbGVzIGFzc2lzdGFudHMgbW91bnQuPHR5cGU+XG4iCisjfiAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIGFmZmljaGVyIGxhIGxpc3RlIGRlIHRvdXMgbGVzIG1vbnRhZ2VzIGF2ZWMgbGVzIMOpdGlxdWV0dGVzXG4iCisjfiAiXG4iCisjfiAiU291cmNlwqA6XG4iCisjfiAiIC1MLCAtLWxhYmVsIDzDqXRpcXVldHRlPiBzeW5vbnltZSBkZSBMQUJFTD08w6l0aXF1ZXR0ZT5cbiIKKyN+ICIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgc3lub255bWUgZGUgVVVJRD08dXVpZD5cbiIKKyN+ICIgTEFCRUw9PMOpdGlxdWV0dGU+ICAgICAgIGluZGlxdWVyIGxlIHDDqXJpcGjDqXJpcXVlIHBhciDDqXRpcXVldHRlIGRlIHN5c3TDqG1lIGRlIGZpY2hpZXJzXG4iCisjfiAiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIGluZGlxdWVyIGxlIHDDqXJpcGjDqXJpcXVlIHBhciBVVUlEIGRlIHN5c3TDqG1lIGRlIGZpY2hpZXJzXG4iCisjfiAiIDxww6lyaXBow6lyaXF1ZT4gICAgICAgICAgaW5kaXF1ZXIgbGUgcMOpcmlwaMOpcmlxdWUgcGFyIGNoZW1pblxuIgorI34gIiA8csOpcGVydG9pcmU+ICAgICAgICAgICAgcG9pbnQgZGUgbW9udGFnZSBwb3VyIHJlbW9udGFnZXMgKGNvbnN1bHRleiAtLWJpbmQvcmJpbmQpXG4iCisjfiAiIDxmaWNoaWVyPiAgICAgICAgICAgICAgIGZpY2hpZXIgcsOpZ3VsaWVyIHBvdXIgY29uZmlndXJhdGlvbiBkZSBww6lyaXBow6lyaXF1ZSBib3VjbGVcbiIKKyN+ICJcbiIKKyN+ICJPcMOpcmF0aW9uc8KgOlxuIgorI34gIiAtQiwgLS1iaW5kICAgICAgICAgICAgICBtb250ZXIgdW4gc291cy1yw6lwZXJ0b2lyZSBhaWxsZXVycyAoY29tbWUgLW8gYmluZClcbiIKKyN+ICIgLU0sIC0tbW92ZSAgICAgICAgICAgICAgZMOpcGxhY2VyIHVuIHNvdXMtcsOpcGVydG9pcmUgYWlsbGV1cnNcbiIKKyN+ICIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW9udGVyIHVuIHNvdXMtcsOpcGVydG9pcmUgZXQgdG91cyBsZXMgc291cy1tb250YWdlcyBhaWxsZXVyc1xuIgorI34gIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICBtYXJxdWVyIHVuIHNvdXMtcsOpcGVydG9pcmUgY29tbWUgcGFydGFnw6lcbiIKKyN+ICIgLS1tYWtlLXNsYXZlICAgICAgICAgICAgbWFycXVlciB1biBzb3VzLXLDqXBlcnRvaXJlIGNvbW1lIGVzY2xhdmVcbiIKKyN+ICIgLS1tYWtlLXByaXZhdGUgICAgICAgICAgbWFycXVlciB1biBzb3VzLXLDqXBlcnRvaXJlIGNvbW1lIHByaXbDqVxuIgorI34gIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICBtYXJxdWVyIHVuIHNvdXMtcsOpcGVydG9pcmUgY29tbWUgbm9uIHJlbW9udGFibGVcbiIKKyN+ICIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAgbWFycXVlciByw6ljdXJzaXZlbWVudCB1biBzb3VzLXLDqXBlcnRvaXJlIGNvbXBsZXQgY29tbWUgcGFydGFnw6lcbiIKKyN+ICIgLS1tYWtlLXJzbGF2ZSAgICAgICAgICAgbWFycXVlciByw6ljdXJzaXZlbWVudCB1biBzb3VzLXLDqXBlcnRvaXJlIGNvbXBsZXQgY29tbWUgZXNjbGF2ZVxuIgorI34gIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICBtYXJxdWVyIHLDqWN1cnNpdmVtZW50IHVuIHNvdXMtcsOpcGVydG9pcmUgY29tcGxldCBjb21tZSBwcml2w6lcbiIKKyN+ICIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgbWFycXVlciByw6ljdXJzaXZlbWVudCB1biBzb3VzLXLDqXBlcnRvaXJlIGNvbXBsZXQgY29tbWUgbm9uIHJlbW9udGFibGVcbiIKKworI34gbXNnaWQgIlVzYWdlOiBzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fGhoOnNzfCttaW5zXVxuIgorI34gbXNnc3RyICJVdGlsaXNhdGlvbsKgOiBzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fGhoOnNzfCttaW5zXVxuIgorCisjfiBtc2dpZCAiU2h1dGRvd24gcHJvY2VzcyBhYm9ydGVkIgorI34gbXNnc3RyICJQcm9jZXNzdXMgZCdhcnLDqnQgYXZvcnTDqSIKKworI34gbXNnaWQgIm9ubHkgcm9vdCBjYW4gc2h1dCBhIHN5c3RlbSBkb3duLiIKKyN+IG1zZ3N0ciAic2V1bCBsZSBzdXBlcnV0aWxpc2F0ZXVyIHBldXQgYXJyw6p0ZXIgdW4gc3lzdMOobWUuIgorCisjfiBtc2dpZCAidGhhdCBtdXN0IGJlIHRvbW9ycm93LCBjYW4ndCB5b3Ugd2FpdCB0aWxsIHRoZW4/IgorI34gbXNnc3RyICJjZSBkb2l0IMOqdHJlIGRlbWFpbiwgbmUgcG91dmV6LXZvdXMgcGFzIGF0dGVuZHJlIGp1c3F1ZSBsw6DCoD8iCisKKyN+IG1zZ2lkICJmb3IgbWFpbnRlbmFuY2U7IGJvdW5jZSwgYm91bmNlIgorI34gbXNnc3RyICJwb3VyIGwnZW50cmV0aWVuwqA7IHJlYm9uZGl0LCByZWJvbmRpdCAowqvCoGJvdW5jZcKgwrspIgorCisjfiBtc2dpZCAiVGhlIHN5c3RlbSBpcyBiZWluZyBzaHV0IGRvd24gd2l0aGluIDUgbWludXRlcyIKKyN+IG1zZ3N0ciAiTGUgc3lzdMOobWUgc2VyYSBhcnLDqnRlIGQnaWNpIDXCoG1pbnV0ZXMiCisKKyN+IG1zZ2lkICJMb2dpbiBpcyB0aGVyZWZvcmUgcHJvaGliaXRlZC4iCisjfiBtc2dzdHIgIkxlcyBjb25uZXhpb25zIHNvbnQgcGFyIGNvbnPDqXF1ZW50IGludGVyZGl0ZXMuIgorCisjfiBtc2dpZCAicmVib290ZWQgYnkgJXM6ICVzIgorI34gbXNnc3RyICJyw6lhbW9yw6fDqSBwYXIgJXPCoDogJXMiCisKKyN+IG1zZ2lkICJoYWx0ZWQgYnkgJXM6ICVzIgorI34gbXNnc3RyICJzdG9wcMOpIHBhciAlc8KgOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXaHkgYW0gSSBzdGlsbCBhbGl2ZSBhZnRlciByZWJvb3Q/IgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUG91cnF1b2kgc3Vpcy1qZSBlbmNvcmUgYWN0aWYgYXByw6hzIHVuIHLDqWFtb3LDp2FnZcKgPyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJOb3cgeW91IGNhbiB0dXJuIG9mZiB0aGUgcG93ZXIuLi4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJNYWludGVuYW50IHZvdXMgcG91dmV6IMOpdGVpbmRyZSBsJ2FsaW1lbnRhdGlvbiDDqWxlY3RyaXF1ZeKApiIKKworI34gbXNnaWQgIkNhbGxpbmcga2VybmVsIHBvd2VyLW9mZiBmYWNpbGl0eS4uLlxuIgorI34gbXNnc3RyICJBcHBlbCBkdSBzZXJ2aWNlIGRlIGNvdXB1cmUgZGUgY291cmFudCDDqWxlY3RyaXF1ZSBkdSBub3lhdeKAplxuIgorCisjfiBtc2dpZCAiRXJyb3IgcG93ZXJpbmcgb2ZmXHQlc1xuIgorI34gbXNnc3RyICJFcnJldXIgbG9ycyBkZSBsYSBjb3VwdXJlIGRlIGNvdXJhbnRcdCVzXG4iCisKKyN+IG1zZ2lkICJFeGVjdXRpbmcgdGhlIHByb2dyYW0gXCIlc1wiIC4uLlxuIgorI34gbXNnc3RyICJFeMOpY3V0aW9uIGR1IHByb2dyYW1tZSDCq8KgJXPCoMK74oCmXG4iCisKKyN+IG1zZ2lkICJVUkdFTlQ6IGJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXM6IgorI34gbXNnc3RyICJVUkdFTlTCoDogZGlmZnVzaW9uIGRlIG1lc3NhZ2UgZGUgbGEgcGFydCBkZSAlc8KgOiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluICVkIGhvdXJzICVkIG1pbnV0ZXMiCisjfiBtc2dzdHIgIkxlIHN5c3TDqG1lIHNlcmEgYXJyw6p0w6kgZGFucyAlZMKgaGV1cmVzICVkwqBtaW51dGVzIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gMSBob3VyICVkIG1pbnV0ZXMiCisjfiBtc2dzdHIgIkxlIHN5c3TDqG1lIHNlcmEgYXJyw6p0w6kgZGFucyAxwqBoZXVyZSAlZMKgbWludXRlcyIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluICVkIG1pbnV0ZXNcbiIKKyN+IG1zZ3N0ciAiTGUgc3lzdMOobWUgc2VyYSBhcnLDqnTDqSBkYW5zICVkwqBtaW51dGVzXG4iCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAxIG1pbnV0ZVxuIgorI34gbXNnc3RyICJMZSBzeXN0w6htZSBzZXJhIGFycsOqdMOpIGRhbnMgMcKgbWludXRlXG4iCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBJTU1FRElBVEVMWSFcbiIKKyN+IG1zZ3N0ciAiTGUgc3lzdMOobWUgc2VyYSBhcnLDqnTDqSBJTU3DiURJQVRFTUVOVMKgIVxuIgorCisjfiBtc2dpZCAiXHQuLi4gJXMgLi4uXG4iCisjfiBtc2dzdHIgIlx04oCmICVz4oCmXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZm9yayBmb3Igc3dhcG9mZi4gU2hydWchIgorI34gbXNnc3RyICJOZSBwZXV0IMOpdGFibGlyIHVuIHJlbGFpcyBwb3VyIHN3YXBvZmYuIgorCisjfiBtc2dpZCAiQ2Fubm90IGV4ZWMgc3dhcG9mZiwgaG9waW5nIHVtb3VudCB3aWxsIGRvIHRoZSB0cmljay4iCisjfiBtc2dzdHIgIk5lIHBldXQgZXjDqWN1dGVyIHN3YXBvZmYsIGVuIGVzcMOpcmFudCBxdWUgdW1vdW50IGZlcmEgbGUgdHJhdmFpbC4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZm9yayBmb3IgdW1vdW50LCB0cnlpbmcgbWFudWFsbHkuIgorI34gbXNnc3RyICJOZSBwZXV0IMOpdGFibGlyIHVuIHJlbGFpcyBmb3JrKCkgcG91ciB1bW91bnQsIGVzc2F5ZXIgbWFudWVsbGVtZW50LiIKKworI34gbXNnaWQgIkNhbm5vdCBleGVjICVzLCB0cnlpbmcgdW1vdW50LlxuIgorI34gbXNnc3RyICJOZSBwZXV0IGV4w6ljdXRlciAlcywgb24gdGVudGUgdW4gdW1vdW50LlxuIgorCisjfiBtc2dpZCAiQ2Fubm90IGV4ZWMgdW1vdW50LCBnaXZpbmcgdXAgb24gdW1vdW50LiIKKyN+IG1zZ3N0ciAiTmUgcGV1dCBleMOpY3V0ZXIgdW4gdW1vdW50LCBhYmFuZG9uIHN1ciBsZSB1bW91bnQuIgorCisjfiBtc2dpZCAiVW5tb3VudGluZyBhbnkgcmVtYWluaW5nIGZpbGVzeXN0ZW1zLi4uIgorI34gbXNnc3RyICJEw6ltb250ZXIgdG91cyBsZXMgc3lzdMOobWVzIGRlIGZpY2hpZXJzIHJlc3RhbnRz4oCmIgorCisjfiBtc2dpZCAic2h1dGRvd246IENvdWxkbid0IHVtb3VudCAlczogJXNcbiIKKyN+IG1zZ3N0ciAiYXJyw6p0IHN5c3TDqG1lwqA6IG5lIHBldXQgZMOpbW9udGVyICVzwqA6ICVzXG4iCisKKyN+IG1zZ2lkICJCb290aW5nIHRvIHNpbmdsZSB1c2VyIG1vZGUuXG4iCisjfiBtc2dzdHIgIkFtb3LDp2FnZSBlbiBtb2RlIHV0aWxpc2F0ZXVyIHVuaXF1ZS5cbiIKKworI34gbXNnaWQgImV4ZWMgb2Ygc2luZ2xlIHVzZXIgc2hlbGwgZmFpbGVkXG4iCisjfiBtc2dzdHIgIsOpY2hlYyBkJ2V4w6ljdXRpb24gZGUgbCdpbnRlcnByw6l0ZXVyIGRlIGNvbW1hbmRlIGVuIG1vZGUgdXRpbGlzYXRldXIgdW5pcXVlXG4iCisKKyN+IG1zZ2lkICJmb3JrIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICLDqWNoZWMgZHUgZm9yaygpIGR1IGwnaW50ZXJwcsOpdGV1ciBkZSBjb21tYW5kZSBlbiBtb2RlIHV0aWxpc2F0ZXVyIHVuaXF1ZVxuIgorCisjfiBtc2dpZCAiZXJyb3Igb3BlbmluZyBmaWZvXG4iCisjfiBtc2dzdHIgImVycmV1ciBkJ291dmVydHVyZSBkJ3VuIGZpZm9cbiIKKworI34gbXNnaWQgImVycm9yIHNldHRpbmcgY2xvc2Utb24tZXhlYyBvbiAvZGV2L2luaXRjdGwiCisjfiBtc2dzdHIgImVycmV1ciBkJ2luaXRpYWxpc2F0b24gY2xvc2Utb24tZXhlYyBzdXIgL2Rldi9pbml0Y3RsIgorCisjfiBtc2dpZCAiZXJyb3IgcnVubmluZyBmaW5hbHByb2dcbiIKKyN+IG1zZ3N0ciAiZXJyZXVyIGQnZXjDqWN1dGlvbiBkZSBmaW5hbHByb2dcbiIKKworI34gbXNnaWQgImVycm9yIGZvcmtpbmcgZmluYWxwcm9nXG4iCisjfiBtc2dzdHIgImVycmV1ciBkZSBmb3JrKCkgZGUgZmluYWxwcm9nXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV3JvbmcgcGFzc3dvcmQuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJNb3QgZGUgcGFzc2UgZXJyb27DqS5cbiIKKworI34gbXNnaWQgImxzdGF0IG9mIHBhdGggZmFpbGVkXG4iCisjfiBtc2dzdHIgIsOpY2hlYyBkJ8OpdmFsdWF0aW9uIHBhciBsc3RhdCgpIGR1IGNoZW1pblxuIgorCisjfiBtc2dpZCAicmVzcGF3bmluZzogXCIlc1wiIHRvbyBmYXN0OiBxdWVuY2hpbmcgZW50cnlcbiIKKyN+IG1zZ3N0ciAicsOpZ8OpbsOpcmF0aW9uwqA6IMKrwqAlc8KgwrsgdHJvcCByYXBpZGXCoDogZXh0aW5jdGlvbiBkZSBsJ2VudHLDqWVcbiIKKworI34gbXNnaWQgImZvcmsgZmFpbGVkXG4iCisjfiBtc2dzdHIgIsOpY2hlYyBkZSBmb3JrKClcbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIGluaXR0YWJcbiIKKyN+IG1zZ3N0ciAibmUgcGV1dCBvdXZyaXIgaW5pdHRhYlxuIgorCisjfiBtc2dpZCAibm8gVEVSTSBvciBjYW5ub3Qgc3RhdCB0dHlcbiIKKyN+IG1zZ3N0ciAicGFzIGRlIFRFUk0gb3UgbmUgcGV1dCDDqXZhbHVlciB0dHkgcGFyIHN0YXQoKVxuIgorCisjfiBtc2dpZCAiZXJyb3IgYXQgc3RvcHBpbmcgc2VydmljZSBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAiZXJyZXVyIGVuIGFycsOqdGFudCBsZSBzZXJ2aWNlIMKrwqAlc8KgwrtcbiIKKworI34gbXNnaWQgIlN0b3BwZWQgc2VydmljZTogJXNcbiIKKyN+IG1zZ3N0ciAiU2VydmljZSBhcnLDqnTDqcKgOiAlc1xuIgorCisjfiBtc2dpZCAiZXJyb3IgYXQgc3RhcnRpbmcgc2VydmljZSBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAiZXJyZXVyIGVuIGTDqW1hcnJhbnQgbGUgc2VydmljZSDCq8KgJXPCoMK7XG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1jXSBbLW4gbGV2ZWxdIFstcl0gWy1zIGJ1ZnNpemVdXG4iCisjfiBtc2dzdHIgIlV0aWxpc2F0aW9uwqA6ICVzIFstY10gWy1uIG5pdmVhdV0gWy1yXSBbLXMgdGFpbGxlLWRlLXRhbXBvbl1cbiIKKworI34gbXNnaWQgImVycm9yOiBzdHJkdXAgZmFpbGVkIgorI34gbXNnc3RyICJlcnJldXLCoDogw6ljaGVjIGRlIHN0cmR1cCIKKworI34gbXNnaWQgImVycm9yOiBjYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJlcnJldXLCoDogw6ljaGVjIGRlIGNhbGxvYyIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlV0aWxpc2F0aW9uwqA6ICVzIFtvcHRpb25zXVxuIgorI34gIlxuIgorI34gIk9wdGlvbnPCoDpcbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbLWJmcHhdIFstbCBubGluZV0iCisjfiBtc2dzdHIgInV0aWxpc2F0aW9uwqA6ICVzIFstYmZweF0gWy1sIG4tbGlnbmVzXSIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC0gXSBbIC0yIF0gWyBmaWxlIC4uLiBdXG4iCisjfiBtc2dzdHIgInV0aWxpc2F0aW9uwqA6ICVzIFsgLSBdIFsgLTIgXSBbIGZpY2hpZXIgLi4uIF1cbiIKKworI34gbXNnaWQgImhleGR1bXA6IFstYmNDZG92eF0gWy1lIGZtdF0gWy1mIGZtdF9maWxlXSBbLW4gbGVuZ3RoXSBbLXMgc2tpcF0gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJoZXhkdW1wwqA6IFstYmNDZG92eF0gWy1lIGZvcm1hdF0gWy1mIGZpY2hpZXItZm9ybWF0XSBbLW4gbG9uZ3VldXJdIFstcyBzYXV0XSBbZmljaGllciAuLi5dXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWy1kZmxwY3N1XSBbK2xpbmVudW0gfCArL3BhdHRlcm5dIG5hbWUxIG5hbWUyIC4uLlxuIgorI34gbXNnc3RyICJ1dGlsaXNhdGlvbsKgOiAlcyBbLWRmbHBjc3VdIFsrbm8tZGUtbGlnbmUgfCArL21vdGlmXSBub20xIG5vbTIgLi4uXG4iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaW5lIGJ1ZmZlclxuIgorI34gbXNnc3RyICJpbXBvc3NpYmxlIGQnaW5pdGlhbGlzZXIgbGUgdGFtcG9uIGRlIGxpZ25lXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBjYW4ndCByZWFkICVzLlxuIgorI34gbXNnc3RyICJoZXhkdW1wwqA6IGltcG9zc2libGUgZGUgbGlyZSAlcy5cbiIKKworI34gbXNnaWQgImhleGR1bXA6IGxpbmUgdG9vIGxvbmcuXG4iCisjfiBtc2dzdHIgImhleGR1bXDCoDogbGlnbmUgdHJvcCBsb25ndWUuXG4iCisKKyN+IG1zZ2lkICJyZWFsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAiw6ljaGVjIGRlIHJlYWxsb2MiCisKKyN+IG1zZ2lkICJ1c2FnZTogdGFpbGYgWy1uIE4gfCAtTl0gbG9nZmlsZSIKKyN+IG1zZ3N0ciAidXRpbGlzYXRpb27CoDogdGFpbGYgWy1uIE4gfCAtTl0gZmljaGllcl9qb3VybmFsIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsgLWkgXSBbIC10VGVybSBdIGZpbGUuLi5cbiIKKyN+IG1zZ3N0ciAiVXRpbGlzYXRpb27CoDogJXMgWyAtaSBdIFsgLXRUZXJtIF0gZmljaGllciAuLi5cbiIKKworI34gbXNnaWQgIiVzIGlzIGFzc29jaWF0ZWQgd2l0aCAlcywgdHJ5aW5nIHRvIHVubW91bnQgaXRcbiIKKyN+IG1zZ3N0ciAiJXMgZXN0IGFzc29jacOpIGF2ZWMgJXMsIHRlbnRhdGl2ZSBkZSBsZSBkw6ltb250ZXJcbiIKKworIywgZnV6enkKKyN+fCBtc2dpZCAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGRvIG5vdCByZXNldCBjb250cm9sIG1vZGVcbiIKKyN+IG1zZ2lkICIgLW4sIC0tbm8tYXJndW1lbnQgICAgICAgb3B0aW9uIGRvZXMgbm90IHVzZSBhcmd1bWVudFxuIgorI34gbXNnc3RyICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAgbmUgcGFzIHLDqWluaXRpYWxpc2VyIGxlIG1vZGUgZGUgY29udHLDtGxlXG4iCisKKyMsIGZ1enp5CisjfnwgbXNnaWQgIm9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAlcyIKKyN+IG1zZ2lkICIgLXIsIC0tcmVxdWlyZWQgPGFyZz4gICAgb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgImwnb3B0aW9uIG7DqWNlc3NpdGUgdW4gYXJndW1lbnQg4oCUICVzIgorCisjLCBmdXp6eQorI358IG1zZ2lkICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAgZG8gbm90IHByaW50IGhpbnRzXG4iCisjfiBtc2dpZCAiICAgICAtLXh5enp5ICAgICAgICAgICAgIGEgbG9uZyBvcHRpb24gb25seVxuIgorI34gbXNnc3RyICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAgbmUgcGFzIGFmZmljaGVyIGRlIGNvbnNlaWxzXG4iCisKKyMsIGZ1enp5CisjfnwgbXNnaWQgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgbmV4dCBsaW5lIGZvciBkZXNjcmlwdGlvbiB3aGVuIG5lZWRlZFxuIgorI34gbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNldWxlbWVudCBwb3VyIGxhIGNvbXBhdGliaWxpdMOpLCBpZ25vcsOpZVxuIgorCisjLCBmdXp6eQorI358IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZG8gbm90IGNyZWF0ZSBhIG5ldyBzZXNzaW9uXG4iCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gb24gdHdvLCBvciBtdWx0aXBsZSBsaW5lcywgd2hlcmUgdGhlXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FucyBjcsOpZXIgZGUgbm91dmVsbGUgc2Vzc2lvblxuIgorCisjLCBmdXp6eQorI358IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZG8gbm90IGNyZWF0ZSBhIG5ldyBzZXNzaW9uXG4iCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc2VjdXRpdmUgbGluZXMgYXJlIGludGVuZGVkIGJ5IHR3byBzcGFjZXNcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW5zIGNyw6llciBkZSBub3V2ZWxsZSBzZXNzaW9uXG4iCisKKyMsIGZ1enp5CisjfnwgbXNnaWQgIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICBkbyBub3QgcmVzZXQgY29udHJvbCBtb2RlXG4iCisjfiBtc2dpZCAiIC1mLCAtLWZvb2JhciAgICAgICAgICAgIG5leHQgb3B0aW9uIGRlc2NyaXB0aW9uIHJlc2V0cyBpbmRlbnRcbiIKKyN+IG1zZ3N0ciAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIG5lIHBhcyByw6lpbml0aWFsaXNlciBsZSBtb2RlIGRlIGNvbnRyw7RsZVxuIgorCisjfnwgbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZC4iCisjfiBtc2dpZCAiVG9vIHNtYWxsIHBhcnRpdGlvbiBzaXplIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIlRhaWxsZSBkZSBwYXJ0aXRpb24gaW5kaXF1w6llIHRyb3AgcGV0aXRlLiIKKworIyBzL2ZhaWxkL2ZhaWxlZC8KKyN+fCBtc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorI34gbXNnaWQgImZhaWxkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorI34gbXNnc3RyICLDqWNoZWMgZOKAmWFsbG9jYXRpb24gZOKAmWl0w6lyYXRldXIiCisKKyN+fCBtc2dpZCAiY2Fubm90IG9wZW4gJXMiCisjfiBtc2dpZCAiY2Fubm90IG9wZW46ICVzIgorI34gbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlywqA6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIiAgIDxzdGFydD4gIGJlZ2luIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycy4gVGhlIGRlZmF1bHQgaXMgdGhlIGZpcnN0XG4iCisjfiAiICAgICAgICAgICAgZnJlZSBzcGFjZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgIDxkw6lidXQ+ICBkw6lidXQgZGUgbGEgcGFydGl0aW9uIGVuIHNlY3RldXIuIExlIHByZW1pZXIgZXNwYWNlIGxpYnJlXG4iCisjfiAiICAgICAgICAgICAgcGFyIGTDqWZhdXQuXG4iCisKKyN+IG1zZ2lkICIgICAgIC0tcmZjNTQyNFs9PG5vdGltZSxub3RxLG5vaG9zdD5dXG4iCisjfiBtc2dzdHIgIiAgICAgLS1yZmM1NDI0Wz08bm90aW1lLG5vdHEsbm9ob3N0Pl1cbiIKKworI358IG1zZ2lkICIgLWEgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgIHVzZSB0aGUgc3lzbG9nIHByb3RvY29sIChkZWZhdWx0KVxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgIHV0aWxpc2VyIGxlIHByb3RvY29sZSBzeXNsb2cgKHBhciBkw6lmYXV0KVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlNldHMgb3IgZ2V0cyB0aGUgSU8gc2NoZWR1bGluZyBjbGFzcyBhbmQgcHJpb3JpdHkgb2YgcHJvY2Vzc2VzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRMOpZmluaXIgb3Ugb2J0ZW5pciBsYSBjbGFzc2UgZXQgbGEgcHJpb3JpdMOpIGTigJlvcmRvbm5hbmNlbWVudCBk4oCZZW50csOpZXMgZXQgc29ydGllcyBkZXMgcHJvY2Vzc3VzLlxuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGlzIG5vdCBjb250YWluZWQgaW4gcGFydGl0aW9uICVzIgorI34gbXNnc3RyICJBdmVydGlzc2VtZW50wqA6IGxhIHBhcnRpdGlvbsKgJXMgbidlc3QgcGFzIGNvbnRlbnVlIGRhbnMgbGEgcGFydGl0aW9uwqAlcyIKKworI34gbXNnaWQgIlR5cGUgb2YgdGhlIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkLiIKKyN+IG1zZ3N0ciAiVHlwZSBkZSBsYSBwYXJ0aXRpb27CoCV6dSBub24gbW9kaWZpw6kuIgpkaWZmIC0tZ2l0IGEvcG8vZ2wucG8gYi9wby9nbC5wbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYWRjM2UwCi0tLSAvZGV2L251bGwKKysrIGIvcG8vZ2wucG8KQEAgLTAsMCArMSwxOTk1MyBAQAorIyBHYWxpY2lhbiB0cmFuc2xhdGlvbiBmb3IgdXRpbC1saW51eAorIyBDb3B5cmlnaHQgKGMpIDIwMTAgUm9zZXR0YSBDb250cmlidXRvcnMgYW5kIENhbm9uaWNhbCBMdGQgMjAxMAorIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgdXRpbC1saW51eC1uZyBwYWNrYWdlLgorIyBGSVJTVCBBVVRIT1IgPEVNQUlMQEFERFJFU1M+LCAyMDEwLgorIyBGcmFuIERpZWd1ZXogPGZyYW5kaWVndWV6QHVidW50dS5jb20+LCAyMDEwLgorIyBGcmFuIERpw6lndWV6IDxmcmFuZGllZ3VlekB1YnVudHUuY29tPiwgMjAxMC4KKyMKK21zZ2lkICIiCittc2dzdHIgIiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IHV0aWwtbGludXgtbmcgMi4xOC1yYzJcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogdXRpbC1saW51eEB2Z2VyLmtlcm5lbC5vcmdcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNy0wMi0yMiAxMjozMiswMTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxMC0wOC0yMyAxODowOSswMjAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBGcmFuIERpw6lndWV6IDxmcmFuZGllZ3VlekB1YnVudHUuY29tPlxuIgorIkxhbmd1YWdlLVRlYW06IEdhbGljaWFuIDxwcm94ZWN0b0B0cmFzbm8ubmV0PlxuIgorIkxhbmd1YWdlOiBnbFxuIgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCisiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgorIlgtTGF1bmNocGFkLUV4cG9ydC1EYXRlOiAyMDEwLTA4LTIzIDE0OjI0KzAwMDBcbiIKKyJYLUdlbmVyYXRvcjogTGF1bmNocGFkIChidWlsZCBVbmtub3duKVxuIgorIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPShuIT0xKTtcbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxzdGFydD4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxOAorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgZXhpc3RlbmNlIG9mIGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1NiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mjc2IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0MjAKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NDYgZGlzay11dGlscy9jZmRpc2suYzoyNjM0IGRpc2stdXRpbHMvZGVscGFydC5jOjU3CisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI3IGRpc2stdXRpbHMvZmRpc2suYzo3MTggZGlzay11dGlscy9mZGlzay5jOjk5NAorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzAxIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM0MQorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzYwIGRpc2stdXRpbHMvZnNjay5jOjE0NDgKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTUgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxMAorIzogZGlzay11dGlscy9pc29zaXplLmM6MTM0IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODkKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNzMgZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2MQorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4OCBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTkKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjE1IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ0IGRpc2stdXRpbHMvcGFydHguYzo5OTQKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwMSBkaXNrLXV0aWxzL3NmZGlzay5jOjY0NyBkaXNrLXV0aWxzL3NmZGlzay5jOjcwMworIzogZGlzay11dGlscy9zZmRpc2suYzo3NTcgZGlzay11dGlscy9zZmRpc2suYzo4MTYgZGlzay11dGlscy9zZmRpc2suYzo4ODAKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTIxIGRpc2stdXRpbHMvc2ZkaXNrLmM6OTUxIGRpc2stdXRpbHMvc2ZkaXNrLmM6OTg4CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MzcgZGlzay11dGlscy9zd2FwbGFiZWwuYzo2MCBsaWJmZGlzay9zcmMvYnNkLmM6NjQxCisjOiBsaWIvcGF0aC5jOjcwIGxpYi9wYXRoLmM6ODIgbG9naW4tdXRpbHMvaXNsb2NhbC5jOjg3IGxvZ2luLXV0aWxzL2xhc3QuYzo2NzIKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NDYgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ4MworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzYgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNTkKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzgxIGxvZ2luLXV0aWxzL3ZpcHcuYzoyNTggbG9naW4tdXRpbHMvdmlwdy5jOjI3NgorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5NyBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODggbWlzYy11dGlscy9tY29va2llLmM6MTE1CisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjA3IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTgzIHN5cy11dGlscy9kbWVzZy5jOjUyMgorIzogc3lzLXV0aWxzL2VqZWN0LmM6NTAwIHN5cy11dGlscy9lamVjdC5jOjcwMCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzc0CisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjggc3lzLXV0aWxzL2ZzdHJpbS5jOjcyIHN5cy11dGlscy9od2Nsb2NrLmM6MjgyCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjM4IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE2MgorIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjU2IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQwMQorIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDIyIHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ2OQorIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzg4IHN5cy11dGlscy9uc2VudGVyLmM6MTI4IHN5cy11dGlscy9ydGN3YWtlLmM6MTM2CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI3MCBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzMCBzeXMtdXRpbHMvc2V0cHJpdi5jOjUyOQorIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NTIgc3lzLXV0aWxzL3N3YXBvbi5jOjM3MSBzeXMtdXRpbHMvc3dhcG9uLmM6NTE0CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjMgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMDYgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjEKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMyMSBzeXMtdXRpbHMvd2RjdGwuYzozNzcgdGVybS11dGlscy9hZ2V0dHkuYzoyNjE4CisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMjcgdGVybS11dGlscy9zY3JpcHQuYzo0MjUgdGVybS11dGlscy9zY3JpcHQuYzo0MzEKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDMzIHRlcm0tdXRpbHMvc2NyaXB0LmM6NTIyCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE5NyB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIwMAorIzogdGVybS11dGlscy93YWxsLmM6MzMxIHRleHQtdXRpbHMvY29sY3J0LmM6MjgyIHRleHQtdXRpbHMvbW9yZS5jOjUxMworIzogdGV4dC11dGlscy9yZXYuYzoxNDEgdGV4dC11dGlscy90YWlsZi5jOjY4IHRleHQtdXRpbHMvdGFpbGYuYzoxMDAKKyM6IHRleHQtdXRpbHMvdWwuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXMiCittc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1OSBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MCBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzo5OAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBhcnRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgImFjdGl2YXIgYSBhbGFybWEgcnRjIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHN0YXJ0IGFyZ3VtZW50IgorbXNnc3RyICJWYWxvciBkZSBzZWN0b3JlcyBpbGVnYWwiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYxIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIKK21zZ3N0ciAiVmFsb3IgZGUgc2VjdG9yZXMgaWxlZ2FsIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWRkIHBhcnRpdGlvbiIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo2MworbXNnaWQgInNldCByZWFkLW9ubHkiCittc2dzdHIgImVzdGFiZWxlY2Ugc8OzIGxlY3R1cmEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3MAorbXNnaWQgInNldCByZWFkLXdyaXRlIgorbXNnc3RyICJlc3RhYmVsZWNlIGxlY3R1cmEvZXNjcml0dXJhIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzYKK21zZ2lkICJnZXQgcmVhZC1vbmx5IgorbXNnc3RyICJvYnTDqW4gc8OzIGxlY3R1cmEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4MgorbXNnaWQgImdldCBkaXNjYXJkIHplcm9lcyBzdXBwb3J0IHN0YXR1cyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODgKK21zZ2lkICJnZXQgbG9naWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICJvYnRlciBvIHRhbWHDsW8gZG8gYmxvcXVlIGzDs3hpY28gKHNlY3RvcikiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo5NAorbXNnaWQgImdldCBwaHlzaWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICJvYnRlbmVyIG8gdGFtYcOxbyBkbyBibG9xdWUgZsOtc2ljbyAoc2VjdG9yKSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwMAorbXNnaWQgImdldCBtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICJvYnRlciBvIHRhbWHDsW8gZGUgRS9TIG3DrW5pbW8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDYKK21zZ2lkICJnZXQgb3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAib2J0ZXIgbyB0YW1hw7FvIGRlIEUvUyDDs3B0aW1vIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTEyCisjLCBmdXp6eQorbXNnaWQgImdldCBhbGlnbm1lbnQgb2Zmc2V0IGluIGJ5dGVzIgorbXNnc3RyICJvYnRlciBwb3NpY2nDs24gZGUgYWxpw7FhbWVudG8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTgKK21zZ2lkICJnZXQgbWF4IHNlY3RvcnMgcGVyIHJlcXVlc3QiCittc2dzdHIgIm9idGVyIG9zIHNlY3RvcmVzIG3DoXhpbW9zIHBvciBzb2xpY2l0dWRlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTI0Cittc2dpZCAiZ2V0IGJsb2Nrc2l6ZSIKK21zZ3N0ciAib2J0ZXIgbyB0YW1hw7FvIGRvIGJsb3F1ZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzMQorbXNnaWQgInNldCBibG9ja3NpemUgb24gZmlsZSBkZXNjcmlwdG9yIG9wZW5pbmcgdGhlIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgImdldCAzMi1iaXQgc2VjdG9yIGNvdW50IChkZXByZWNhdGVkLCB1c2UgLS1nZXRzeikiCittc2dzdHIgIm9idMOpbiBvIGNvbnRhZG9yIGRlIHNlY3RvcmVzIGRlIDMyIGJpdHMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNDMKK21zZ2lkICJnZXQgc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAib2J0w6luIG8gdGFtYcOxbyBlbiBieXRlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1MAorbXNnaWQgInNldCByZWFkYWhlYWQiCittc2dzdHIgImVzdGFiZWxlY2UgwqtyZWFkYWhlYWTCuyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1NgorbXNnaWQgImdldCByZWFkYWhlYWQiCittc2dzdHIgIm9idMOpbiDCq3JlYWRhaGVhZMK7IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTYzCittc2dpZCAic2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICJlc3RhYmVsZWNlIMKrcmVhZGFoZWFkwrsiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjkKK21zZ2lkICJnZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgIm9idMOpbiBzaXN0ZW1hIGRlIGZpY2hlaXJvcyBgcmVhZGFoZWFkJyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3MworbXNnaWQgImZsdXNoIGJ1ZmZlcnMiCittc2dzdHIgImJhbGVpcmEgb3MgYsO6ZmVyZXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzcKK21zZ2lkICJyZXJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICUxJHMgLVZcbiIKKyIgJTEkcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyIgJTEkcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyJcbiIKKyJBdmFpbGFibGUgY29tbWFuZHM6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICUtMjVzIGdldCBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnNcbiIKK21zZ3N0ciAib2J0w6luIG8gdGFtYcOxbyBlbiBzZWN0b3JlcyBkZSA1MTIgYnl0ZXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMTEKKyMsIGZ1enp5Cittc2dpZCAiY291bGQgbm90IGdldCBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAiTm9uIHNlIHBvZGUgZWZlY3R1YXIgwqtzdGF0wrsgc29icmUgbyBkaXNwb3NpdGl2byAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjb21tYW5kOiAlcyIKK21zZ3N0ciAiJXM6IE9yZGUgZGVzY2/DsWVjaWRhOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNjggZGlzay11dGlscy9ibG9ja2Rldi5jOjQ3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZXJyb3Igb24gJXMiCittc2dzdHIgIiVzOiBlcnJvIGRlIGlvY3RsIGVuICVzXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkLlxuIgorbXNnc3RyICIlcyBmYWxsb3UuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICIlcyB0aXZvIMOpeGl0by5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgc3lzZnMgaGFuZGxlciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHN0YXJ0IGZyb20gc3lzZnMiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU3RhcnRTZWMgICAgICAgICAgICBTaXplICAgRGV2aWNlXG4iCittc2dzdHIgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU2VjdG9yZGVJbmljaW8gICAgICAgICAgICBUYW1hw7FvICAgRGlzcG9zaXRpdm9cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzkKK21zZ2lkICJCb290YWJsZSIKK21zZ3N0ciAiQXJyaW5jw6FiZWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTc5Cittc2dpZCAiVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJUcm9jYSBhIG9wY2nDs24gZGUgYXJyaW5xdWUgZGEgcGFydGljacOzbiBhY3R1YWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgwCittc2dpZCAiRGVsZXRlIgorbXNnc3RyICJFbGltaW5hciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODAKK21zZ2lkICJEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJFbGltaW5hIGEgcGFydGljacOzbiBhY3R1YWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgxCittc2dpZCAiTmV3IgorbXNnc3RyICJOb3ZhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MQorbXNnaWQgIkNyZWF0ZSBuZXcgcGFydGl0aW9uIGZyb20gZnJlZSBzcGFjZSIKK21zZ3N0ciAiQ3JlYSB1bmhhIG5vdmEgcGFydGljacOzbiBkZXNkZSBvIGVzcGF6byBsaWJyZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODIKK21zZ2lkICJRdWl0IgorbXNnc3RyICJTYcOtciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODIKKyMsIGZ1enp5Cittc2dpZCAiUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBjaGFuZ2VzIgorbXNnc3RyICJTYWUgZG8gcHJvZ3JhbWEgc2VuIGVzY3JpYmlyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MyBsaWJmZGlzay9zcmMvYnNkLmM6NDM5IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIwCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNiBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MAorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMTYKK21zZ2lkICJUeXBlIgorbXNnc3RyICJ0aXBvIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MworIywgZnV6enkKK21zZ2lkICJDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgICB0ICAgQ2FtYmlhIG8gaWQgZG8gc2lzdGVtYSBkZSBmaWNoZWlyb3MgZGEgcGFydGljacOzbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQKK21zZ2lkICJIZWxwIgorbXNnc3RyICJBeHVkYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQKK21zZ2lkICJQcmludCBoZWxwIHNjcmVlbiIKK21zZ3N0ciAiSW1wcmltZSBlc3RhIHBhbnRhbGxhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NQorbXNnaWQgIlNvcnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiRml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJXcml0ZSIKK21zZ3N0ciAiRXNjcmliaXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhKSIKK21zZ3N0ciAiRXNjcmliaXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMgYW8gZGlzY28gKGlzdG8gcG9kZXLDrWEgZGVzdHJ1w61yIG9zIGRhdG9zKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEdW1wIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIkR1bXAgcGFydGl0aW9uIHRhYmxlIHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICJJbXByaW1lIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIG5hIHBhbnRhbGxhIG91IG51biBmaWNoZWlybyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzo2MjAgZGlzay11dGlscy9mZGlzay5jOjQxNQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlhbG9nIHR5cGUgJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAobW91bnRlZCkiCittc2dzdHIgIk5vbiBzZSBlbmNvbnRyb3UgbyBwYXRyw7NuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyNzQKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIG5hbWU6IgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjgxCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBVVUlEOiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpY2nDs25zOlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyOTMKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHR5cGU6IgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzAwCittc2dpZCAiQXR0cmlidXRlczoiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzI0CisjLCBmdXp6eQorbXNnaWQgIkZpbGVzeXN0ZW0gVVVJRDoiCittc2dzdHIgIkVzdGFkbyBkbyBzaXN0ZW1hIGRlIGZpY2hlcmlzbz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMzEKKyMsIGZ1enp5Cittc2dpZCAiRmlsZXN5c3RlbSBMQUJFTDoiCittc2dzdHIgIkVzdGFkbyBkbyBzaXN0ZW1hIGRlIGZpY2hlcmlzbz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMzcKKyMsIGZ1enp5Cittc2dpZCAiRmlsZXN5c3RlbToiCittc2dzdHIgIkVzdGFkbyBkbyBzaXN0ZW1hIGRlIGZpY2hlcmlzbz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNDIKKyMsIGZ1enp5Cittc2dpZCAiTW91bnRwb2ludDoiCittc2dzdHIgIiVzIGVzdMOhIG1vbnRhZG8uXHQgIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2s6ICVzIgorbXNnc3RyICJkaXNjbzogJS4qc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2l6ZTogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMsIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJVbmlkYWRlIGRlIGRpc2NvOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMiCittc2dzdHIgImV0aXF1ZXRhOiAlLipzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0NgorbXNnaWQgIk1heSBiZSBmb2xsb3dlZCBieSBNIGZvciBNaUIsIEcgZm9yIEdpQiwgVCBmb3IgVGlCLCBvciBTIGZvciBzZWN0b3JzLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NTIKK21zZ2lkICJQbGVhc2UsIHNwZWNpZnkgc2l6ZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNaW5pbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAib2J0w6luIG8gdGFtYcOxbyBlbiBieXRlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNYXhpbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAib2J0w6luIG8gdGFtYcOxbyBlbiBieXRlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODkwCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplLiIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQ4CisjLCBmdXp6eQorbXNnaWQgIlNlbGVjdCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiICAgZCAgIGVsaW1pbmFyIGEgcGFydGljacOzbiBCU0QiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk5NCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjQKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTk1Cittc2dpZCAiVGhlIHNjcmlwdCBmaWxlIHdpbGwgYmUgYXBwbGllZCB0byBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMDQgZGlzay11dGlscy9jZmRpc2suYzoyMDQ2CisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjUgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwNiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDA4IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCAlcyIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDI1Cittc2dpZCAiVGhlIGN1cnJlbnQgaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZSB3aWxsIGJlIGR1bXBlZCB0byB0aGUgZmlsZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDMzIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ5MQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gYW8gcmVzZXJ2YXIgbyBiw7pmZXIgZGUgc2HDrWRhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzkKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZGlzayBsYXlvdXQgaW50byBzY3JpcHQuIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDUzCittc2dpZCAiRGlzayBsYXlvdXQgc3VjY2Vzc2Z1bGx5IGR1bXBlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDU2IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIHNjcmlwdCAlcyIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA5MgorIywgZnV6enkKK21zZ2lkICJTZWxlY3QgbGFiZWwgdHlwZSIKK21zZ3N0ciAiVmFsb3IgZGUgY2FiZXphcyBpbGVnYWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA5NSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxNworbXNnaWQgIkRldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjEwMQorbXNnaWQgIlNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGxhYmVsIG9yIHByZXNzICdMJyB0byBsb2FkIHNjcmlwdCBmaWxlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDYKK21zZ2lkICJUaGlzIGlzIGNmZGlzaywgYSBjdXJzZXMtYmFzZWQgZGlzayBwYXJ0aXRpb25pbmcgcHJvZ3JhbS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ3Cittc2dpZCAiSXQgbGV0cyB5b3UgY3JlYXRlLCBkZWxldGUsIGFuZCBtb2RpZnkgcGFydGl0aW9ucyBvbiBhIGJsb2NrIGRldmljZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ5Cittc2dpZCAiQ29tbWFuZCAgICAgIE1lYW5pbmciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUwCittc2dpZCAiLS0tLS0tLSAgICAgIC0tLS0tLS0iCittc2dzdHIgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTEKK21zZ2lkICIgIGIgICAgICAgICAgVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGIgICAgICAgICAgVHJvY2FyIGEgb3BjacOzbiBkZSBhcnJpbnF1ZSBwYXJhIGEgcGFydGljacOzbiBhY3R1YWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MgorbXNnaWQgIiAgZCAgICAgICAgICBEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGQgICAgICAgICAgRWxpbWluYXIgYSBwYXJ0aWNpw7NuIGFjdHVhbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUzCittc2dpZCAiICBoICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorbXNnc3RyICIgIGggICAgICAgICAgSW1wcmltZSBlc3RhIHBhbnRhbGxhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTQKK21zZ2lkICIgIG4gICAgICAgICAgQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICIgIG4gICAgICAgICAgQ3JlYSB1bmhhIG5vdmEgcGFydGljacOzbiBkZXNkZSBlc3Bhem8gbGlicmUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NQorbXNnaWQgIiAgcSAgICAgICAgICBRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICBxICAgICAgICAgIFNhZSBkbyBwcm9ncmFtYSBzZW4gZXNjcmliaXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NgorIywgZnV6enkKK21zZ2lkICIgIHMgICAgICAgICAgRml4IHBhcnRpdGlvbnMgb3JkZXIgKG9ubHkgd2hlbiBpbiBkaXNhcnJheSkiCittc2dzdHIgIiAgZCAgICAgICAgICBFbGltaW5hciBhIHBhcnRpY2nDs24gYWN0dWFsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTcKKyMsIGZ1enp5Cittc2dpZCAiICB0ICAgICAgICAgIENoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgdCAgICAgICAgICBDYW1iaWFyIG8gdGlwbyBkZSBzaXN0ZW1hIGRlIGZpY2hlaXJvcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU4Cittc2dpZCAiICB1ICAgICAgICAgIER1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU5CisjLCBmdXp6eQorbXNnaWQgIiAgVyAgICAgICAgICBXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAoeW91IG11c3QgZW50ZXIgdXBwZXJjYXNlIFcpOyIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWkgYSB0w6Fib2EgZGUgcGFydGljacOzbnMgw6EgcGFudGFsbGEgb3UgYSB1biBmaWNoZWlybyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgICAgIHNpbmNlIHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhIG9uIHRoZSBkaXNrLCB5b3UgbXVzdCBlaXRoZXIiCittc2dzdHIgIiAgICAgICAgICAgICBYYSBxdWUgaXN0byBwb2RlIGRlc3RydcOtciBvcyBkYXRvcyBkbyBzZXUgZGlzY28sIGRlYmVyw61hIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAgICAgICAgICAgY29uZmlybSBvciBkZW55IHRoZSB3cml0ZSBieSBlbnRlcmluZyAneWVzJyBvciAnbm8nIgorbXNnc3RyICIgICAgICAgICAgICAgY29uZmlybWFyIG91IGRlbmVnYXIgYSBlc2NyaXR1cmEgZXNjcmliaW5kbyDCq3Npwrsgb3UgIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjIKKyMsIGZ1enp5Cittc2dpZCAiICB4ICAgICAgICAgIERpc3BsYXkvaGlkZSBleHRyYSBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjMKK21zZ2lkICJVcCBBcnJvdyAgICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIHBhcnRpdGlvbiIKK21zZ3N0ciAiRnJlY2hhIEFycmliYSAgICAgTW92ZSBvIGN1cnNvciDDoSBhbnRlcmlvciBwYXJ0aWNpw7NuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjQKK21zZ2lkICJEb3duIEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgcGFydGl0aW9uIgorbXNnc3RyICJGcmVjaGEgQWJhaXhvICAgICBNb3ZlIG8gY3Vyc29yIMOhIHNlZ3VpbnRlIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2NQorIywgZnV6enkKK21zZ2lkICJMZWZ0IEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIG1lbnUgaXRlbSIKK21zZ3N0ciAiRnJlY2hhIEFycmliYSAgICAgTW92ZSBvIGN1cnNvciDDoSBhbnRlcmlvciBwYXJ0aWNpw7NuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjYKKyMsIGZ1enp5Cittc2dpZCAiUmlnaHQgQXJyb3cgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IG1lbnUgaXRlbSIKK21zZ3N0ciAiRnJlY2hhIEFiYWl4byAgICAgTW92ZSBvIGN1cnNvciDDoSBzZWd1aW50ZSBwYXJ0aWNpw7NuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjgKK21zZ2lkICJOb3RlOiBBbGwgb2YgdGhlIGNvbW1hbmRzIGNhbiBiZSBlbnRlcmVkIHdpdGggZWl0aGVyIHVwcGVyIG9yIGxvd2VyIgorbXNnc3RyICJOb3RhOiBUb2RhcyBhcyBvcmRlcyBwb2RlbiBpbnNlcmlyc2UgdGFudG8gZW4gbWFpw7pzY3VsYXMgY29tbyBlbiBtaW7DunNjdWxhcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY5CisjLCBmdXp6eQorbXNnaWQgImNhc2UgbGV0dGVycyAoZXhjZXB0IGZvciBXcml0ZSkuIgorbXNnc3RyICIoc2Fsdm8gVyBwYXJhIG9wZXJhY2nDs25zIGRlIGVzY3JpdHVyYSkuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzEKK21zZ2lkICJVc2UgbHNibGsoOCkgb3IgcGFydHgoOCkgdG8gc2VlIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgZGV2aWNlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzggZGlzay11dGlscy9jZmRpc2suYzoyNDM3CisjLCBmdXp6eQorbXNnaWQgIlByZXNzIGEga2V5IHRvIGNvbnRpbnVlLiIKK21zZ3N0ciAiW1ByZW1hIGVzcGFjaW8gcGFyYSBjb250aW51YXIsIMKrccK7IHBhcmEgc2HDrXJdIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNjAKKyMsIGZ1enp5Cittc2dpZCAiQ291bGQgbm90IHRvZ2dsZSB0aGUgZmxhZy4iCittc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIk5vbiDDqSBwb3PDrWJlbCBlbGltaW5hciB1bmhhIHBhcnRpY2nDs24gYmFsZWlyYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjcyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBoYXMgYmVlbiBkZWxldGVkLiIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyOTMKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHNpemU6ICIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpY2nDs25zOlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiICAgdCAgIENhbWJpYSBvIGlkIGRvIHNpc3RlbWEgZGUgZmljaGVpcm9zIGRhIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIHR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM1MyBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NjYgZGlzay11dGlscy9mZGlzay5jOjk5MQorIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTcwCittc2dpZCAiRGV2aWNlIGlzIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM1OAorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjAKK21zZ2lkICJUeXBlIFwieWVzXCIgb3IgXCJub1wiLCBvciBwcmVzcyBFU0MgdG8gbGVhdmUgdGhpcyBkaWFsb2cuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM2NSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOSBzeXMtdXRpbHMvbHNjcHUuYzoxNTQwCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTUwCittc2dpZCAieWVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM2NgorIywgZnV6enkKK21zZ2lkICJEaWQgbm90IHdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrLiIKK21zZ3N0ciAiICAgcCAgIEltcHJpbWUgYSB0w6Fib2EgZGUgcGFydGljacOzbnMgQlNEIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzEKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbC4iCittc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzQgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTc4CisjLCBmdXp6eQorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzk3IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ2OAorIywgZnV6enkKK21zZ2lkICJOb3RlIHRoYXQgcGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyIG5vdy4iCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlOyBpdCB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIG5ldyBkaXNrbGFiZWwiCittc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9ucyIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICUxJHMgW29wdGlvbnNdIDxkaXNrPlxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDkgZGlzay11dGlscy9mZGlzay5jOjczNiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTAKKyMsIGZ1enp5Cittc2dpZCAiRGlzcGxheSBvciBtYW5pcHVsYXRlIGEgZGlzayBwYXJ0aXRpb24gdGFibGUuXG4iCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NTIKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NTUKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXplcm8gICAgICAgICAgICAgICBzdGFydCB3aXRoIHplcm9lZCBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1OTQgZGlzay11dGlscy9mZGlzay5jOjg4MiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzcKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzkwIHN5cy11dGlscy9kbWVzZy5jOjEzMzMgdGV4dC11dGlscy9oZXhkdW1wLmM6MTE0CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIGNvbG9yIG1vZGUiCittc2dzdHIgIiVzIG5lY2VzaXRhIHVuIGFyZ3VtZW50b1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MTIgZGlzay11dGlscy9mZGlzay5jOjgxOCBkaXNrLXV0aWxzL3NmZGlzay5jOjIyMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBhbyByZXNlcnZhciBvIGLDumZlciBkZSBzYcOtZGEiCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj5cbiIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTgKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgdG8gZm9yZ2V0IGFib3V0IGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlIHBhcnRpdGlvbiIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICJGb3JtYXR0aW5nIC4uLiAiCittc2dzdHIgIkZvcm1hdGVhbmRvLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjY4IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG9uZVxuIgorbXNnc3RyICJmZWl0b1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmVyaWZ5aW5nIC4uLiAiCittc2dzdHIgIlZlcmlmaWNhbmRvLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEwOAorbXNnaWQgIlJlYWQ6ICIKK21zZ3N0ciAiTGVyOiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlByb2JsZW0gcmVhZGluZyB0cmFjay9oZWFkICV1LyV1LCBleHBlY3RlZCAlZCwgcmVhZCAlZFxuIgorbXNnc3RyICJQcm9ibGVtYSBkZSBsZWN0dXJhIG5vIGNpbGluZHJvICVkLCBlc3BlcsOhYmFzZSAlZCwgbGV1c2UgJWRcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorImJhZCBkYXRhIGluIHRyYWNrL2hlYWQgJXUvJXVcbiIKKyJDb250aW51aW5nIC4uLiAiCittc2dzdHIgIiIKKyJEYXRvcyBpbmNvcnJlY3RvcyBubyBjaWxpbmRybyAlZFxuIgorIkNvbnRpbnVhbmRvLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODIKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTE3IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU2IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODQKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ4Cittc2dpZCAiRG8gYSBsb3ctbGV2ZWwgZm9ybWF0dGluZyBvZiBhIGZsb3BweSBkaXNrLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTEKK21zZ2lkICIgLWYsIC0tZnJvbSA8Tj4gICAgc3RhcnQgYXQgdGhlIHRyYWNrIE4gKGRlZmF1bHQgMClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUyCittc2dpZCAiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgYXQgdGhlIHRyYWNrIE5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUzCittc2dpZCAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICB0cnkgdG8gcmVwYWlyIHRyYWNrcyBmYWlsZWQgZHVyaW5nXG4iCisiICAgICAgICAgICAgICAgICAgICAgdGhlIHZlcmlmaWNhdGlvbiAobWF4IE4gcmV0cmllcylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU1Cittc2dpZCAiIC1uLCAtLW5vLXZlcmlmeSAgIGRpc2FibGUgdGhlIHZlcmlmaWNhdGlvbiBhZnRlciB0aGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gZnJvbSIKK21zZ3N0ciAiZGVzcHJhemFtZW50byBkb3MgZGF0b3MgZG8gZmljaGVpcm8gbm9uIHbDoWxpZG8iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHRvIgorbXNnc3RyICJkZXNwcmF6YW1lbnRvIGRvcyBkYXRvcyBkbyBmaWNoZWlybyBub24gdsOhbGlkbyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIwMQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gcmVwYWlyIgorbXNnc3RyICJkZXNwcmF6YW1lbnRvIGRvcyBkYXRvcyBkbyBmaWNoZWlybyBub24gdsOhbGlkbyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyMSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTUxCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg1IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMzgKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4NQorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE2IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQxIGRpc2stdXRpbHMvcGFydHguYzo5MzMKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo2ODYgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzkgbWlzYy11dGlscy9uYW1laS5jOjEzNQorIzogbWlzYy11dGlscy9yZW5hbWUuYzo2MyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4NiBzeXMtdXRpbHMvZG1lc2cuYzo1MjQKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxOTggc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTMxIHN5cy11dGlscy9mc3RyaW0uYzo3NworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjUxOSBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo5MworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTMzIHRlcm0tdXRpbHMvbWVzZy5jOjEyOSB0ZXh0LXV0aWxzL21vcmUuYzo1MDQKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxMDMgdGV4dC11dGlscy90YWlsZi5jOjI4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3RhdCBvZiAlcyBmYWlsZWQiCittc2dzdHIgInN0YXQgZmFsbG91OiAlcyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNCBkaXNrLXV0aWxzL3BhcnR4LmM6OTkxIG1pc2MtdXRpbHMvbHNibGsuYzoxNDg1CisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4OCBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXM6IG5vbiDDqSB1biBkaXNwb3NpdGl2byBkZSBibG9xdWVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjkKKyMsIGZ1enp5Cittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICJOb24gw6kgcG9zw61iZWwgZGV0ZXJtaW5hciBvIHRpcG8gZGUgZm9ybWF0byBhY3R1YWwiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMtc2lkZWQsICVkIHRyYWNrcywgJWQgc2VjL3RyYWNrLiBUb3RhbCBjYXBhY2l0eSAlZCBrQi5cbiIKK21zZ3N0ciAiJXMgY2FyYXMsICVkIHBpc3RhcywgJWQgc2VjdG9yZXMvcGlzdGEuIENhcGFjaWRhZGUgdG90YWwgZGUgJWQga0IuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzIKK21zZ2lkICJEb3VibGUiCittc2dzdHIgIkRvYnJlIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMyCittc2dpZCAiU2luZ2xlIgorbXNnc3RyICJTaW54ZWxvIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM5Cittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDEKK21zZ2lkICJ1c2VyIGRlZmluZWQgZW5kIHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDMKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgdXNlciBkZWZpbmVkIGVuZCB0cmFjayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjUxIG1pc2MtdXRpbHMvbG9nZ2VyLmM6OTg3CisjLCBmdXp6eQorbXNnaWQgImNsb3NlIGZhaWxlZCIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBuYSBidXNjYSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk1IGRpc2stdXRpbHMvZmRpc2suYzoxMTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gcXVpdD8gIgorbXNnc3RyICJEZXNleGEgY29udGludWFyPyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjE1OAorIywgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3QgKGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjE2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgZGVmYXVsdCByZXNwb25zZSAlYy4iCittc2dzdHIgIk5vbiBzZSBwb2RlIGVmZWN0dWFyIMKrc3RhdMK7IHNvYnJlIG8gZGlzcG9zaXRpdm8gJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxNzYgZGlzay11dGlscy9mZGlzay5jOjI1MCBkaXNrLXV0aWxzL2ZkaXNrLmM6MzI1CisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTE4OSBsaWJmZGlzay9zcmMvZ3B0LmM6MjI3NworbXNnaWQgIlZhbHVlIG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwOCBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIxNyBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+LCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMpOiAiCittc2dzdHIgIiVzICglcylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMyBkaXNrLXV0aWxzL2ZkaXNrLmM6MjgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MzkyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk3Cittc2dpZCAiIFtZXWVzL1tOXW86ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDMzCittc2dpZCAiUGFydGl0aW9uIHR5cGUgKHR5cGUgTCB0byBsaXN0IGFsbCB0eXBlcyk6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDM0Cittc2dpZCAiSGV4IGNvZGUgKHR5cGUgTCB0byBsaXN0IGFsbCBjb2Rlcyk6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTM2Cittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBzZXQgKERFUFJFQ0FURUQhKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTM3Cittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBub3Qgc2V0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NTggZGlzay11dGlscy9mZGlzay5jOjU5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBleGlzdCB5ZXQhIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NjMgZGlzay11dGlscy9mZGlzay5jOjU3MiBsaWJmZGlzay9zcmMvYXNrLmM6OTk1Cittc2dpZCAiVW5rbm93biIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICclcycgdG8gJyVzJy4iCittc2dzdHIgIiAgIHQgICBDYW1iaWEgbyBpZCBkbyBzaXN0ZW1hIGRlIGZpY2hlaXJvcyBkYSBwYXJ0aWNpw7NuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIlR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQ6ICVzLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlMTVzOiAlcyIKK21zZ3N0ciAiZGlzY286ICUuKnNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXM6IG9mZnNldCA9ICU8UFJJdTY0Piwgc2l6ZSA9ICV6dSBieXRlcy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY3NworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2VlayIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2ODIKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgImhleGR1bXA6IG5vbiDDqSBwb3PDrWJlbCBsZXIgJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2OTUgbGliZmRpc2svc3JjL2JzZC5jOjI1OSBsaWJmZGlzay9zcmMvZG9zLmM6OTMzCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxMAorIywgZnV6enkKK21zZ2lkICJGaXJzdCBzZWN0b3IiCittc2dzdHIgIlByaW1laXJvICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzIyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz4gICAgICBjaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisiICUxJHMgW29wdGlvbnNdIC1sIFs8ZGlzaz5dIGxpc3QgcGFydGl0aW9uIHRhYmxlKHMpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjczOQorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tc2VjdG9yLXNpemUgPHNpemU+ICAgICAgcGh5c2ljYWwgYW5kIGxvZ2ljYWwgc2VjdG9yIHNpemVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQwCittc2dpZCAiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIGRvbid0IGVyYXNlIGJvb3RiaXRzIHdoZW4gY3JlYXRpbmcgYSBuZXcgbGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQxCittc2dpZCAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2RlPl0gIG1vZGUgaXMgJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MgorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0NQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBwYXJ0aXRpb25zIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0NgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWkgYSB0w6Fib2EgZGUgcGFydGljacOzbnMgw6EgcGFudGFsbGEgb3UgYSB1biBmaWNoZWlybyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0NworIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgICAgICAgICAgcmVjb2duaXplIHNwZWNpZmllZCBwYXJ0aXRpb24gdGFibGUgdHlwZSBvbmx5XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0OAorbXNnaWQgIiAtdSwgLS11bml0c1s9PHVuaXQ+XSAgICAgICAgICBkaXNwbGF5IHVuaXRzOiAnY3lsaW5kZXJzJyBvciAnc2VjdG9ycycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0OQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgZGlzcGxheSBkZXZpY2Ugc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzIFtERVBSRUNBVEVEXVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1MQorIywgZnV6enkKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTMKKyMsIGZ1enp5Cittc2dpZCAiIC1XLCAtLXdpcGUtcGFydGl0aW9ucyA8bW9kZT4gIHdpcGUgc2lnbmF0dXJlcyBmcm9tIG5ldyBwYXJ0aXRpb25zIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1NQorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorbXNnc3RyICJJbnRyb2R1emEgbyBuw7ptZXJvIGRlIGNpbGluZHJvczoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTYKKyMsIGZ1enp5Cittc2dpZCAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBoZWFkc1xuIgorbXNnc3RyICJJbnRyb2R1emEgbyBuw7ptZXJvIGRlIGNhYmV6YXM6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU3CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKK21zZ3N0ciAiSW50cm9kdXphIG8gbsO6bWVybyBkZSBzZWN0b3JlcyBwb3IgcGlzdGE6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc2VjdG9yIHNpemUgYXJndW1lbnQiCittc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg0MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGN5bGluZGVycyBhcmd1bWVudCIKK21zZ3N0ciAiVmFsb3IgZGUgY2lsaW5kcm9zIGlsZWdhbCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg1MgorbXNnaWQgIm5vdCBmb3VuZCBET1MgbGFiZWwgZHJpdmVyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29tcGF0aWJpbGl0eSBtb2RlICclcyciCittc2dzdHIgIk9yZGUgZGVzY2/DsWVjaWRhOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg2NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGhlYWRzIGFyZ3VtZW50IgorbXNnc3RyICJWYWxvciBkZSBzZWN0b3JlcyBpbGVnYWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NzMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzZWN0b3JzIGFyZ3VtZW50IgorbXNnc3RyICJWYWxvciBkZSBzZWN0b3JlcyBpbGVnYWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2tsYWJlbDogJXMiCittc2dzdHIgIiVzIG5lY2VzaXRhIHVuIGFyZ3VtZW50b1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTE2IGRpc2stdXRpbHMvZmRpc2suYzo5MjEgZGlzay11dGlscy9zZmRpc2suYzoyMDQxCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDYKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgd2lwZSBtb2RlIgorbXNnc3RyICIlcyBuZWNlc2l0YSB1biBhcmd1bWVudG9cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkzNAorbXNnaWQgIlRoZSBkZXZpY2UgcHJvcGVydGllcyAoc2VjdG9yIHNpemUgYW5kIGdlb21ldHJ5KSBzaG91bGQgYmUgdXNlZCB3aXRoIG9uZSBzcGVjaWZpZWQgZGV2aWNlIG9ubHkuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VsY29tZSB0byBmZGlzayAoJXMpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4OAorbXNnaWQgIiIKKyJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisiQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMDEgZGlzay11dGlscy9zZmRpc2suYzoxNjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAlcyBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxMCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NDIgZGlzay11dGlscy9zZmRpc2suYzoxNDg0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjIKK21zZ2lkICJUaGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDEzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyNQorbXNnaWQgIkl0IGlzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSwgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMjIKK21zZ2lkICJBIGh5YnJpZCBHUFQgd2FzIGRldGVjdGVkLiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBoeWJyaWQgTUJSIG1hbnVhbGx5IChleHBlcnQgY29tbWFuZCAnTScpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo1NAorIywgYy1mb3JtYXQKK21zZ2lkICJHZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycy90cmFjaywgJWxsdSBjeWxpbmRlcnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NTkgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuaXRzOiAlcyBvZiAlZCAqICVsZCA9ICVsZCBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2NSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25tZW50IG9mZnNldDogJWx1IGJ5dGVzIgorbXNnc3RyICJvYnRlciBwb3NpY2nDs24gZGUgYWxpw7FhbWVudG8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgdHlwZTogJXMiCittc2dzdHIgImV0aXF1ZXRhOiAlLipzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJVbmlkYWRlIGRlIGRpc2NvOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTA5IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxOQorIzogZGlzay11dGlscy9mc2NrLmM6MTI0NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gYW8gcmVzZXJ2YXIgbyBiw7pmZXIgZGUgc2HDrWRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMTUgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE1NiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNDkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBsaW5lIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4iCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTkyCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4iCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE1IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAwCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxMiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NCBsaWJmZGlzay9zcmMvc3VuLmM6MTExMAorbXNnaWQgIlN0YXJ0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMQorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTMgbGliZmRpc2svc3JjL3NnaS5jOjExNTUgbGliZmRpc2svc3JjL3N1bi5jOjExMTEKK21zZ2lkICJFbmQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE3IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAyCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NiBsaWJmZGlzay9zcmMvc3VuLmM6MTExMgorbXNnaWQgIlNlY3RvcnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE5IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzA0CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1OCBsaWJmZGlzay9zcmMvc3VuLmM6MTExNAorbXNnaWQgIlNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVucGFydGl0aW9uZWQgc3BhY2UgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLW8pOlxuIgorbXNnc3RyICJPcmRlcyBkaXNwb8Oxw61iZWlzOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAiT3JkZSBkZXNjb8OxZWNpZGE6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NQorbXNnaWQgIkdlbmVyaWMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTYKKyMsIGZ1enp5Cittc2dpZCAiZGVsZXRlIGEgcGFydGl0aW9uIgorbXNnc3RyICIgICBkICAgZWxpbWluYXIgYSBwYXJ0aWNpw7NuIEJTRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTcKKyMsIGZ1enp5Cittc2dpZCAibGlzdCBmcmVlIHVucGFydGl0aW9uZWQgc3BhY2UiCittc2dzdHIgIk5vbiBoYWkgbcOhaXMgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk4CisjLCBmdXp6eQorbXNnaWQgImxpc3Qga25vd24gcGFydGl0aW9uIHR5cGVzIgorbXNnc3RyICIgICBsICAgTW9zdHJhIG9zIHRpcG9zIGRlIHNpc3RlbWFzIGRlIGZpY2hlaXJvcyBjb8OxZWNpZG9zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OQorIywgZnV6enkKK21zZ2lkICJhZGQgYSBuZXcgcGFydGl0aW9uIgorbXNnc3RyICIgICBuICAgRW5nYWRlIHVuaGEgbm92YSBwYXJ0aWNpw7NuIEJTRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAwCisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIHAgICBJbXByaW1lIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIEJTRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAxCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBhIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgICB0ICAgQ2FtYmlhIG8gaWQgZG8gc2lzdGVtYSBkZSBmaWNoZWlyb3MgZGEgcGFydGljacOzbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAyCisjLCBmdXp6eQorbXNnaWQgInZlcmlmeSB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzCisjLCBmdXp6eQorbXNnaWQgInByaW50IGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICIlczogbm9uIMOpIHVuIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1CisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNgorIywgZnV6enkKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGRpc2tsYWJlbCBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAiZml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA5Cittc2dpZCAiTWlzYyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTAKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgdGhpcyBtZW51IgorbXNnc3RyICIgICBtICAgSW1wcmltZSBlc3RlIG1lbsO6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTEKK21zZ2lkICJjaGFuZ2UgZGlzcGxheS9lbnRyeSB1bml0cyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTIKKyMsIGZ1enp5Cittc2dpZCAiZXh0cmEgZnVuY3Rpb25hbGl0eSAoZXhwZXJ0cyBvbmx5KSIKK21zZ3N0ciAiQ2FtYmlhciBhIHhlb21ldHLDrWEgZG8gZGlzY28gKHPDsyBleHBlcnRvcykiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNAorbXNnaWQgIlNjcmlwdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTUKK21zZ2lkICJsb2FkIGRpc2sgbGF5b3V0IGZyb20gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNgorbXNnaWQgImR1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOAorbXNnaWQgIlNhdmUgJiBFeGl0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOQorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIwCisjLCBmdXp6eQorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2siCittc2dzdHIgIiAgIHcgICBFc2NyaWJlIGEgZXRpcXVldGEgZG8gZGlzY28gbm8gZGlzY28iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMQorIywgZnV6enkKK21zZ2lkICJxdWl0IHdpdGhvdXQgc2F2aW5nIGNoYW5nZXMiCittc2dzdHIgIiAgIHEgICBTYWUgc2VuIGdhcmRhciBvcyBjYW1iaW9zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAicmV0dXJuIHRvIG1haW4gbWVudSIKK21zZ3N0ciAiICAgciAgIFZvbHZlIGFvIG1lbsO6IHByaW5jaXBhbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTI0Cittc2dpZCAicmV0dXJuIGZyb20gQlNEIHRvIERPUyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzUKK21zZ2lkICJDcmVhdGUgYSBuZXcgbGFiZWwiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM2CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBHUFQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTR0kgKElSSVgpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOAorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOQorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU3VuIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0MworIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYW4gSVJJWCAoU0dJKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTIKK21zZ2lkICJHZW9tZXRyeSIKK21zZ3N0ciAiWGVvbWV0csOtYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTUzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICJJbnRyb2R1emEgbyBuw7ptZXJvIGRlIGNpbGluZHJvczoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICJJbnRyb2R1emEgbyBuw7ptZXJvIGRlIGNhYmV6YXM6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTUKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrIgorbXNnc3RyICJJbnRyb2R1emEgbyBuw7ptZXJvIGRlIHNlY3RvcmVzIHBvciBwaXN0YToiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NQorbXNnaWQgIkdQVCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjUKK21zZ2lkICJjaGFuZ2UgZGlzayBHVUlEIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NgorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjcKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGljacOzbnM6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgdGFibGUgbGVuZ3RoIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjkKK21zZ2lkICJlbnRlciBwcm90ZWN0aXZlL2h5YnJpZCBNQlIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTcyCisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgbGVnYWN5IEJJT1MgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAib2J0w6luIHPDsyBsZWN0dXJhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSBubyBibG9jayBJTyBwcm90b2NvbCBmbGFnIgorbXNnc3RyICJvYnTDqW4gc8OzIGxlY3R1cmEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NAorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIHJlcXVpcmVkIHBhcnRpdGlvbiBmbGFnIgorbXNnc3RyICJvYnTDqW4gc8OzIGxlY3R1cmEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NQorbXNnaWQgInRvZ2dsZSB0aGUgR1VJRCBzcGVjaWZpYyBiaXRzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NQorbXNnaWQgIlN1biIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSByZWFkLW9ubHkgZmxhZyIKK21zZ3N0ciAib2J0w6luIHPDsyBsZWN0dXJhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODcKK21zZ2lkICJ0b2dnbGUgdGhlIG1vdW50YWJsZSBmbGFnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIkludHJvZHV6YSBvIG7Dum1lcm8gZGUgY2lsaW5kcm9zOiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkwCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgZXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgIkludHJvZHV6YSBvIG7Dum1lcm8gZGUgc2VjdG9yZXMgcG9yIHBpc3RhOiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkxCittc2dpZCAiY2hhbmdlIGludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MgorbXNnaWQgImNoYW5nZSByb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIkludHJvZHV6YSBvIG7Dum1lcm8gZGUgY2lsaW5kcm9zOiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjAyCittc2dpZCAiU0dJIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwMworIywgZnV6enkKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICJFbGltaW5hIGEgcGFydGljacOzbiBhY3R1YWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNAorbXNnaWQgImVkaXQgYm9vdGZpbGUgZW50cnkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA1CisjLCBmdXp6eQorbXNnaWQgInNlbGVjdCBzZ2kgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIkVsaW1pbmEgYSBwYXJ0aWNpw7NuIGFjdHVhbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA2Cittc2dpZCAiY3JlYXRlIFNHSSBpbmZvIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNQorIywgZnV6enkKK21zZ2lkICJET1MgKE1CUikiCittc2dzdHIgIiAgVGFtYcOxbyAoTUIpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTYKK21zZ2lkICJ0b2dnbGUgYSBib290YWJsZSBmbGFnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNworIywgZnV6enkKK21zZ2lkICJlZGl0IG5lc3RlZCBCU0QgZGlza2xhYmVsIgorbXNnc3RyICIlcyBub24gY29udMOpbiBuaW5ndW5oYSBldGlxdWV0YSBkZSBkaXNjby5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE4Cittc2dpZCAidG9nZ2xlIHRoZSBkb3MgY29tcGF0aWJpbGl0eSBmbGFnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMAorbXNnaWQgIm1vdmUgYmVnaW5uaW5nIG9mIGRhdGEgaW4gYSBwYXJ0aXRpb24iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIxCittc2dpZCAiY2hhbmdlIHRoZSBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIzCittc2dpZCAicmV0dXJuIGZyb20gcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIHRvIEdQVCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzMKK21zZ2lkICJCU0QiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM0CisjLCBmdXp6eQorbXNnaWQgImVkaXQgZHJpdmUgZGF0YSIKK21zZ3N0ciAiICAgZSAgIGVkaXRhciBvcyBkYXRvcyBkYSB1bmlkYWRlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzUKKyMsIGZ1enp5Cittc2dpZCAiaW5zdGFsbCBib290c3RyYXAiCittc2dzdHIgIiAgIGkgICBpbnN0YWxhciBhIHNlY3VlbmNpYSBkZSBpbmljaW8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNgorIywgZnV6enkKK21zZ2lkICJzaG93IGNvbXBsZXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAiICAgcyAgIE1vc3RyYSBhIGV0aXF1ZXRhIGRvIGRpc2NvIGNvbXBsZXRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAibGluayBCU0QgcGFydGl0aW9uIHRvIG5vbi1CU0QgcGFydGl0aW9uIgorbXNnc3RyICIgICB4ICAgTGlnYSBhIHBhcnRpY2nDs24gQlNEIGEgdW5oYSBwYXJ0aWNpw7NuIG5vbiBCU0QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscCAoZXhwZXJ0IGNvbW1hbmRzKTpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzEgZGlzay11dGlscy9zZmRpc2suYzoxMjY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscDpcbiIKK21zZ3N0ciAiQXh1ZGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UncmUgZWRpdGluZyBuZXN0ZWQgJyVzJyBwYXJ0aXRpb24gdGFibGUsIHByaW1hcnkgcGFydGl0aW9uIHRhYmxlIGlzICclcycuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMQorbXNnaWQgIkV4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMworbXNnaWQgIkNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlYzogdW5rbm93biBjb21tYW5kIgorbXNnc3RyICIlczogT3JkZSBkZXNjb8OxZWNpZGE6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ1OCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODUKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ3MQorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgYXBwbGllZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDk3CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byB0cmFuc2Zvcm0gZGlzayBsYXlvdXQgaW50byBzY3JpcHQiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTEKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IHNhdmVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzQgZGlzay11dGlscy9zZmRpc2suYzoxNDc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIkF2aXNvOiBhIGNvbnRhIGRlIG5vZG9zLWkgw6kgZGVtYXNpYWRvIGdyYW5kZS5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTM3IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ3OQorIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlIHNpZ25hdHVyZT8iCittc2dzdHIgIkRlc2V4YSBjcmVhciB1bmhhIGV0aXF1ZXRhIGRlIGRpc2NvPyAoeS9uKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTc1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwiCittc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MTMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGZpeCBwYXJ0aXRpb25zIG9yZGVyLiIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MTUKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9ucyBvcmRlciBmaXhlZC4iCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGVsaW1pbmFyIHVuaGEgcGFydGljacOzbiBiYWxlaXJhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjAKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIGN5bGluZGVycyAoREVQUkVDQVRFRCEpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjIKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIHNlY3RvcnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY3MiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4NDIKKyMsIGZ1enp5Cittc2dpZCAiTGVhdmluZyBuZXN0ZWQgZGlza2xhYmVsLiIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjcwOQorbXNnaWQgIk5ldyBtYXhpbXVtIGVudHJpZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzE5CisjLCBmdXp6eQorbXNnaWQgIkVudGVyaW5nIHByb3RlY3RpdmUvaHlicmlkIE1CUiBkaXNrbGFiZWwuIgorbXNnc3RyICIlcyBub24gY29udMOpbiBuaW5ndW5oYSBldGlxdWV0YSBkZSBkaXNjby5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzM1Cittc2dpZCAiTmV3IFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NTAKKyMsIGZ1enp5Cittc2dpZCAiTmV3IG5hbWUiCittc2dzdHIgIk1vZGVsbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6ODEzCisjLCBmdXp6eQorbXNnaWQgIkVudGVyaW5nIG5lc3RlZCBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAiJXMgbm9uIGNvbnTDqW4gbmluZ3VuaGEgZXRpcXVldGEgZGUgZGlzY28uXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5OAorbXNnaWQgIk51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAwMgorbXNnaWQgIk51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDA2Cittc2dpZCAiTnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkXG4iCittc2dzdHIgIiVzIGVzdMOhIG1vbnRhZG8uXHQgIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudGVkXG4iCittc2dzdHIgIk5vbiBzZSBlbmNvbnRyb3UgbyBwYXRyw7NuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMzEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3NAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4MSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjM1CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjUzIGRpc2stdXRpbHMvc2ZkaXNrLmM6Mjk3IGxpYmZkaXNrL3NyYy9ic2QuYzo2NDYKKyM6IGxpYi9wYXRoLmM6MTEwIGxpYi9wYXRoLmM6MTMxIGxpYi9wYXRoLmM6MTUyIGxpYi9wYXRoLmM6MjAwCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjEzIGxvZ2luLXV0aWxzL2xhc3QuYzoyNTAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjY2NAorIzogc3lzLXV0aWxzL3NldHByaXYuYzoyMzkgdGVybS11dGlscy9zZXR0ZXJtLmM6NzE3IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3NAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Nzc4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgJXMiCittc2dzdHIgImhleGR1bXA6IG5vbiDDqSBwb3PDrWJlbCBsZXIgJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMyBsaWIvcGF0aC5jOjEzMyBsaWIvcGF0aC5jOjE1NAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJzZSBlcnJvcjogJXMiCittc2dzdHIgImVycm8gZGUgYW7DoWxpc2U6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIGFvIHJlc2VydmFyIG8gYsO6ZmVyIGRlIHNhw61kYSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMb2NraW5nIGRpc2sgYnkgJXMgLi4uICIKK21zZ3N0ciAiIgorIlxuIgorIlNpbmNyb25pemFuZG8gZGlzY29zLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiKHdhaXRpbmcpICIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlc2UgYXJlIGZvbGxvd3VwcyB0byAiTG9ja2luZyBkaXNrLi4uIi4KKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5NAorIywgZnV6enkKK21zZ2lkICJzdWNjZWVkZWQiCittc2dzdHIgIiVzIHRpdm8gw6l4aXRvLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIgorbXNnc3RyICIlcyBmYWxsb3UuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQxMgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmxvY2tpbmcgJXMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0dXAgZGVzY3JpcHRpb24gZm9yICVzIgorbXNnc3RyICJvIG5vZG8taSByYcOteiBub24gw6kgdW4gY2FydGFmb2wiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ3NCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3ODIgbWlzYy11dGlscy9sc2Jsay5jOjQzMworIzogc3lzLXV0aWxzL21vdW50LmM6MTAyIHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6MTkgc3lzLXV0aWxzL3Vtb3VudC5jOjQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCAtLSBpZ25vcmVkIgorbXNnc3RyICJlcnJvIGRlIGFuw6FsaXNlIG5hIGxpw7FhOiAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjUwNiBkaXNrLXV0aWxzL2ZzY2suYzo1MDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UgZnN0YWIiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY3OSBsb2dpbi11dGlscy9sb2dpbi5jOjk2OCBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAzNAorIzogbG9naW4tdXRpbHMvdmlwdy5jOjIwNCBzeXMtdXRpbHMvZmxvY2suYzozNDUgc3lzLXV0aWxzL25zZW50ZXIuYzoxNTMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTYgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTkgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MjAKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzgwCittc2dpZCAiZm9yayBmYWlsZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0ZSBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3NzQKK21zZ2lkICJ3YWl0OiBubyBtb3JlIGNoaWxkIHByb2Nlc3M/IT8iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzc3IHN5cy11dGlscy9mbG9jay5jOjM2MyBzeXMtdXRpbHMvc3dhcG9uLmM6MzQ4CisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQwNCBzeXMtdXRpbHMvdW5zaGFyZS5jOjQyNQorbXNnaWQgIndhaXRwaWQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc5NQorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nLi4uICVzIGZvciBkZXZpY2UgJXMgZXhpdGVkIHdpdGggc2lnbmFsICVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXM6IHN0YXR1cyBpcyAleCwgc2hvdWxkIG5ldmVyIGhhcHBlbi4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmlzaGVkIHdpdGggJXMgKGV4aXQgc3RhdHVzICVkKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjkyNQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciAlZCAoJW0pIHdoaWxlIGV4ZWN1dGluZyBmc2NrLiVzIGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5OTEKK21zZ2lkICIiCisiRWl0aGVyIGFsbCBvciBub25lIG9mIHRoZSBmaWxlc3lzdGVtIHR5cGVzIHBhc3NlZCB0byAtdCBtdXN0IGJlIHByZWZpeGVkXG4iCisid2l0aCAnbm8nIG9yICchJy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgYmFkIGxpbmUgaW4gL2V0Yy9mc3RhYjogYmluZCBtb3VudCB3aXRoIG5vbnplcm8gZnNjayBwYXNzIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBub25leGlzdGVudCBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub25leGlzdGVudCBkZXZpY2UgKFwibm9mYWlsXCIgZnN0YWIgb3B0aW9uIG1heSBiZSB1c2VkIHRvIHNraXAgdGhpcyBkZXZpY2UpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIHVua25vd24gZmlsZXN5c3RlbSB0eXBlXG4iCittc2dzdHIgIk9yZGUgZGVzY2/DsWVjaWRhOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hlY2sgJXM6IGZzY2suJXMgbm90IGZvdW5kIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNTkKK21zZ2lkICJDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS13YWl0aW5nLS0gKHBhc3MgJWQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAtLSBbZnMtb3B0aW9uc10gWzxmaWxlc3lzdGVtPiAuLi5dXG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNzkKKyMsIGZ1enp5Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkVzdGFkbyBkbyBzaXN0ZW1hIGRlIGZpY2hlcmlzbz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzgyCisjLCBmdXp6eQorbXNnaWQgIiAtQSAgICAgICAgIGNoZWNrIGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIHQgICAgICAgICAgQ2FtYmlhciBvIHRpcG8gZGUgc2lzdGVtYSBkZSBmaWNoZWlyb3MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODMKK21zZ2lkICIgLUMgWzxmZD5dICBkaXNwbGF5IHByb2dyZXNzIGJhcjsgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NAorbXNnaWQgIiAtbCAgICAgICAgIGxvY2sgdGhlIGRldmljZSB0byBndWFyYW50ZWUgZXhjbHVzaXZlIGFjY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODUKKyMsIGZ1enp5Cittc2dpZCAiIC1NICAgICAgICAgZG8gbm90IGNoZWNrIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICB0ICAgICAgICAgIENhbWJpYXIgbyB0aXBvIGRlIHNpc3RlbWEgZGUgZmljaGVpcm9zIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg2Cittc2dpZCAiIC1OICAgICAgICAgZG8gbm90IGV4ZWN1dGUsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGJlIGRvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg3Cittc2dpZCAiIC1QICAgICAgICAgY2hlY2sgZmlsZXN5c3RlbXMgaW4gcGFyYWxsZWwsIGluY2x1ZGluZyByb290XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4OAorbXNnaWQgIiAtUiAgICAgICAgIHNraXAgcm9vdCBmaWxlc3lzdGVtOyB1c2VmdWwgb25seSB3aXRoICctQSdcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg5Cittc2dpZCAiIgorIiAtciBbPGZkPl0gIHJlcG9ydCBzdGF0aXN0aWNzIGZvciBlYWNoIGRldmljZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTEKKyMsIGZ1enp5Cittc2dpZCAiIC1zICAgICAgICAgc2VyaWFsaXplIHRoZSBjaGVja2luZyBvcGVyYXRpb25zXG4iCittc2dzdHIgIiAgZCAgICAgICAgICBFbGltaW5hciBhIHBhcnRpY2nDs24gYWN0dWFsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkyCisjLCBmdXp6eQorbXNnaWQgIiAtVCAgICAgICAgIGRvIG5vdCBzaG93IHRoZSB0aXRsZSBvbiBzdGFydHVwXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1pIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIMOhIHBhbnRhbGxhIG91IGEgdW4gZmljaGVpcm8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTMKK21zZ2lkICIiCisiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgPHR5cGU+IGlzIGFsbG93ZWQgdG8gYmUgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTUKK21zZ2lkICIgLVYgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTYKK21zZ2lkICIgLT8gICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTkKK21zZ2lkICJTZWUgdGhlIHNwZWNpZmljIGZzY2suKiBjb21tYW5kcyBmb3IgYXZhaWxhYmxlIGZzLW9wdGlvbnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MzgKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgZGV2aWNlcyIKK21zZ3N0ciAiZGVtYXNpYWRhcyBww6F4aW5hcyBpbmNvcnJlY3RhcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ1MAorIywgZnV6enkKK21zZ2lkICJJcyAvcHJvYyBtb3VudGVkPyIKK21zZ3N0ciAiJXMgZXN0w6EgbW9udGFkby5cdCAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSByb290IHRvIHNjYW4gZm9yIG1hdGNoaW5nIGZpbGVzeXN0ZW1zOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDYyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGZpbmQgbWF0Y2hpbmcgZmlsZXN5c3RlbTogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ3MCBkaXNrLXV0aWxzL2ZzY2suYzoxNTY1IG1pc2MtdXRpbHMva2lsbC5jOjM2MworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mjc5CisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKK21zZ3N0ciAiZGVtYXNpYWRhcyBww6F4aW5hcyBpbmNvcnJlY3RhcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTUyNSBkaXNrLXV0aWxzL2ZzY2suYzoxNTI4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXIiCittc2dzdHIgImRlc3ByYXphbWVudG8gZG9zIGRhdG9zIGRvIGZpY2hlaXJvIG5vbiB2w6FsaWRvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yOiAlZCIKK21zZ3N0ciAiZGVzcHJhemFtZW50byBkb3MgZGF0b3MgZG8gZmljaGVpcm8gbm9uIHbDoWxpZG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2MTgKK21zZ2lkICJ0aGUgLWwgb3B0aW9uIGNhbiBiZSB1c2VkIHdpdGggb25lIGRldmljZSBvbmx5IC0tIGlnbm9yZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPlxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE2Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIGNvbXByZXNzZWQgUk9NIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOQorbXNnaWQgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjAKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIxCittc2dpZCAiIC15ICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMgorbXNnaWQgIiAtYiwgLS1ibG9ja3NpemUgPHNpemU+ICAgdXNlIHRoaXMgYmxvY2tzaXplLCBkZWZhdWx0cyB0byBwYWdlIHNpemVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIzCittc2dpZCAiICAgICAtLWV4dHJhY3RbPTxkaXI+XSAgICB0ZXN0IHVuY29tcHJlc3Npb24sIG9wdGlvbmFsbHkgZXh0cmFjdCBpbnRvIDxkaXI+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBmYWlsZWQ6IHVuYWJsZSB0byBkZXRlcm1pbmUgZGV2aWNlIHNpemU6ICVzIgorbXNnc3RyICJpb2N0bCBmYWxsb3U6IG5vbiBmb2kgcG9zw61iZWwgZGV0ZXJtaW5hciBvIHRhbWHDsW8gZG8gZGlzcG9zaXRpdm86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGJsb2NrIGRldmljZSBvciBmaWxlOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTcwIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDYKK21zZ2lkICJmaWxlIGxlbmd0aCB0b28gc2hvcnQiCittc2dzdHIgImEgbG9ueGl0dWRlIGRvIGZpY2hlaXJvIMOpIGRlbWFzaWFkbyBjdXJ0YSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3OSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjMzCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjQ5IGxpYmZkaXNrL3NyYy9ic2QuYzo3MTggbGliZmRpc2svc3JjL2JzZC5jOjg5MAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwOCBsb2dpbi11dGlscy9sYXN0LmM6MjQyIHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlZWsgb24gJXMgZmFpbGVkIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIG5hIGJ1c2NhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODcKK21zZ2lkICJzdXBlcmJsb2NrIG1hZ2ljIG5vdCBmb3VuZCIKK21zZ3N0ciAibm9uIHNlIGVuY29udHJvdSBvIHN1cGVyYmxvcXVlIG3DoXhpY28iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3JhbWZzIGVuZGlhbm5lc3MgaXMgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkxCittc2dpZCAiYmlnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTEKK21zZ2lkICJsaXR0bGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5NQorbXNnaWQgInVuc3VwcG9ydGVkIGZpbGVzeXN0ZW0gZmVhdHVyZXMiCittc2dzdHIgIkNhcmFjdGVyw61zdGljYXMgZG8gc2lzdGVtYSBkZSBmaWNoZWlyb3Mgbm9uIGNvbXBhdMOtYmVpcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXBlcmJsb2NrIHNpemUgKCVkKSB0b28gc21hbGwiCittc2dzdHIgIk8gdGFtYcOxbyBkbyBzdXBlcmJsb3F1ZSAoJWQpIMOpIGRlbWFzaWFkbyBwZXF1ZW5vIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA0Cittc2dpZCAiemVybyBmaWxlIGNvdW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDgKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBleHRlbmRzIHBhc3QgZW5kIG9mIGZpbGVzeXN0ZW0iCittc2dzdHIgImF2aXNvOiBvIGZpY2hlaXJvIHBhc2EgZG8gZmluYWwgZG8gc2lzdGVtYSBkZSBmaWNoZWlyb3NcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxMAorIywgZnV6enkKK21zZ2lkICJvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAiYXZpc286IGZvcm1hdG8gZGUgY3JhbWZzIGFudGlnb1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjE5Cittc2dpZCAidW5hYmxlIHRvIHRlc3QgQ1JDOiBvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAibm9uIGZvaSBwb3PDrWJlbCBwcm9iYXIgbyBDUkM6IGZvcm1hdG8gZGUgY3JhbWZzIGFudGlnbyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI3MgorbXNnaWQgImNyYyBlcnJvciIKK21zZ3N0ciAiY3JjIGZhbGxvdSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NTQKK21zZ2lkICJzZWVrIGZhaWxlZCIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBuYSBidXNjYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwNgorIywgZnV6enkKK21zZ2lkICJyZWFkIHJvbWZzIGZhaWxlZCIKK21zZ3N0ciAicmVhZCBmYWxsb3U6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzM4Cittc2dpZCAicm9vdCBpbm9kZSBpcyBub3QgZGlyZWN0b3J5IgorbXNnc3RyICJvIG5vZG8taSByYcOteiBub24gw6kgdW4gY2FydGFmb2wiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHJvb3Qgb2Zmc2V0ICglbHUpIgorbXNnc3RyICJkZXNwcmF6YW1lbnRvIHJhw616IGluY29ycmVjdG8gKCVsdSkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjAKK21zZ2lkICJkYXRhIGJsb2NrIHRvbyBsYXJnZSIKK21zZ3N0ciAibyBibG9xdWUgZGUgZGF0b3Mgw6kgZGVtYXNpYWRvIGxvbmdvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkZWNvbXByZXNzaW9uIGVycm9yOiAlcyIKK21zZ3N0ciAiZXJybyBkZSBkZXNjb21wcmVzacOzbiAlcCglZCk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgIGhvbGUgYXQgJWx1ICglenUpXG4iCittc2dzdHIgIiAgb2NvIGVuICVsZCAoJXpkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Mzk3IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgdW5jb21wcmVzc2luZyBibG9jayBhdCAlbHUgdG8gJWx1ICglbHUpXG4iCittc2dzdHIgIiAgZGVzY29tcHJpbWluZG8gbyBibG9xdWUgZW4gJWxkIGEgJWxkICglbGQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJsb2NrICglbGQpIGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLXNpemUgKCVsZCB2cyAlbGQpIGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MTMgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxNgorIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDQgbWlzYy11dGlscy91dWlkZC5jOjM3NSBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzgyCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUzNSBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1OCBzeXMtdXRpbHMvc3dhcG9uLmM6Mzg5CisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJ3cml0ZSBmYWxvdTogKCVzKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyNAorIywgYy1mb3JtYXQKK21zZ2lkICJsY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAibGNob3duIGZhbGxvdTogKCVzKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyOAorIywgYy1mb3JtYXQKK21zZ2lkICJjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJjaG93biBmYWxsb3U6ICglcykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidXRpbWUgZmFpbGVkOiAlcyIKK21zZ3N0ciAidXRpbWUgZmFsbG91OiAoJXMpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICJvIG5vZG8taSBkbyBjYXJ0YWZvbCB0ZW4gdW4gZGVzcHJhemFtZW50byBjZXJvIG91IHVuIHRhbWHDsW8gbm9uIGNlcm86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1rZGlyIGZhaWxlZDogJXMiCittc2dzdHIgIm1rZGlyIGZhbGxvdTogKCVzKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3NgorbXNnaWQgImZpbGVuYW1lIGxlbmd0aCBpcyB6ZXJvIgorbXNnc3RyICJhIGxvbnhpdHVkZSBkbyBub21lIGRvIGZpY2hlaXJvIMOpIGNlcm8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NzgKK21zZ2lkICJiYWQgZmlsZW5hbWUgbGVuZ3RoIgorbXNnc3RyICJsb254aXR1ZGUgZG8gbm9tZSBkZSBmaWNoZWlybyBpbmNvcnJlY3RhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDg0Cittc2dpZCAiYmFkIGlub2RlIG9mZnNldCIKK21zZ3N0ciAiZGVzcHJhemFtZW50byBkbyBub2RvLWkgaW5jb3JyZWN0byIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ5OQorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplIgorbXNnc3RyICJvIG5vZG8taSBkbyBmaWNoZWlybyB0ZW4gdW4gZGVzcHJhemFtZW50byBjZXJvIG91IHVuIHRhbWHDsW8gbm9uIGNlcm8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MDIKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIHNpemUgYW5kIG5vbi16ZXJvIG9mZnNldCIKK21zZ3N0ciAibyBmaWNoZWlybyBub2RvLWkgdGVuIHVuIHRhbWHDsW8gY2VybyBvdSB1biBkZXNwcmF6YW1lbnRvIG5vbiBjZXJvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTMxCittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBvZmZzZXQiCittc2dzdHIgImEgbGlnYXrDs24gc2ltYsOzbGljYSB0ZW4gdW4gZGVzcHJhemFtZW50byBjZXJvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTMzCittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBzaXplIgorbXNnc3RyICJhIGxpZ2F6w7NuIHNpbWLDs2xpY2EgdGVuIHVuIHRhbWHDsW8gY2VybyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU0MgorIywgYy1mb3JtYXQKK21zZ2lkICJzaXplIGVycm9yIGluIHN5bWxpbms6ICVzIgorbXNnc3RyICJlcnJvIGRlIHRhbWHDsW8gbmEgbGlnYXrDs24gc2ltYsOzbGljYTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3ltbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICJzeW1saW5rIGZhbGxvdTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBmaWxlIGhhcyBub24temVybyBvZmZzZXQ6ICVzIgorbXNnc3RyICJvIGZpY2hlaXJvIGVzcGVjaWFsIHRlbiB1biBkZXNwcmF6YW1lbnRvIG5vbiBjZXJvOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU3OQorIywgYy1mb3JtYXQKK21zZ2lkICJmaWZvIGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiZmlmbyB0ZW4gdW4gdGFtYcOxbyBub24gY2VybzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAibyBzb2NrZXQgdGVuIHVuIHRhbWHDsW8gbm9uIGNlcm86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg4CisjLCBjLWZvcm1hdAorbXNnaWQgImJvZ3VzIG1vZGU6ICVzICglbykiCittc2dzdHIgIm1vZG8gYm9ndXM6ICVzIDogKCVvKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5NworIywgYy1mb3JtYXQKK21zZ2lkICJta25vZCBmYWlsZWQ6ICVzIgorbXNnc3RyICJta25vdCBmYWxsb3U6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjI5CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIHN0YXJ0ICglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQgKCV6dSkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzMworIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBlbmQgKCVsdSkgIT0gZmlsZSBkYXRhIHN0YXJ0ICglbHUpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzcKK21zZ2lkICJpbnZhbGlkIGZpbGUgZGF0YSBvZmZzZXQiCittc2dzdHIgImRlc3ByYXphbWVudG8gZG9zIGRhdG9zIGRvIGZpY2hlaXJvIG5vbiB2w6FsaWRvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Njg0IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MjYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBibG9ja3NpemUgYXJndW1lbnQiCittc2dzdHIgIiVzOiBub24gw6kgdW4gZGlzcG9zaXRpdm8gZGUgYmxvcXVlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBPS1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NAorIywgZnV6enkKK21zZ2lkICJDaGVjayB0aGUgY29uc2lzdGVuY3kgb2YgYSBNaW5peCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJhdmlzbzogbyBmaWNoZWlybyBwYXNhIGRvIGZpbmFsIGRvIHNpc3RlbWEgZGUgZmljaGVpcm9zXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICBsaXN0IGFsbCBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODcKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICBhdXRvbWF0aWMgcmVwYWlyXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg4CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXBhaXIgICAgIGludGVyYWN0aXZlIHJlcGFpclxuIgorbXNnc3RyICJOZWNlc8OtdGFzZSBhIHRlcm1pbmFsIHBhcmEgcmVwYXJhY2nDs25zIGludGVyYWN0aXZhcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGJlIHZlcmJvc2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTAKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN1cGVyICAgICAgb3V0cHV0IHN1cGVyLWJsb2NrIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkxCittc2dpZCAiIC1tLCAtLXVuY2xlYXJlZCAgYWN0aXZhdGUgbW9kZSBub3QgY2xlYXJlZCB3YXJuaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICBmb3JjZSBjaGVja1xuIgorbXNnc3RyICIgIHQgICAgICAgICAgQ2FtYmlhciBvIHRpcG8gZGUgc2lzdGVtYSBkZSBmaWNoZWlyb3MiCisKKyMuIFRSQU5TTEFUT1JTOiB0aGVzZSB5ZXMgbm8gcXVlc3Rpb25zIHVzZXMgcnBtYXRjaCgpLCBhbmQgc2hvdWxkIGJlCisjLiAqIHRyYW5zbGF0ZWQuCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKHkvbik/ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG4veSk/ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAieVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQuXHQgIgorbXNnc3RyICIlcyBlc3TDoSBtb250YWRvLlx0ICIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg5Cittc2dpZCAiRG8geW91IHJlYWxseSB3YW50IHRvIGNvbnRpbnVlIgorbXNnc3RyICJEZXNleGEgY29udGludWFyPyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNrIGFib3J0ZWQuXG4iCittc2dzdHIgImNvbXByb2JhY2nDs24gYWJvcnRhZGEuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMxOSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA8IEZJUlNUWk9ORSBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJab25hIG5yIDwgUFJJTUVJUkFaT05BIG5vIGZpY2hlaXJvIMKrJXPCuy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA+PSBaT05FUyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJab25hIG5yID49IFpPTkFTIG5vIGZpY2hlaXJvIMKrJXPCuy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyNiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDcKK21zZ2lkICJSZW1vdmUgYmxvY2siCittc2dzdHIgIkVsaW1pbmFyIGJsb3F1ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IHVuYWJsZSB0byBzZWVrIHRvIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJFcnJvIGRlIGxlY3R1cmE6IG5vbiDDqSBwb3PDrWJlbCBidXNjYXIgbnVuIGJsb3F1ZSBvIGZpY2hlaXJvIMKrJXPCu1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJFcnJvIGRlIGxlY3R1cmE6IGJsb3F1ZSBpbmNvcnJlY3RvIG5vIGZpY2hlaXJvIMKrJXPCu1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkludGVybmFsIGVycm9yOiB0cnlpbmcgdG8gd3JpdGUgYmFkIGJsb2NrXG4iCisiV3JpdGUgcmVxdWVzdCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKyJFcnJvIGludGVybm86IHRlbnRhbmRvIGVzY3JpYmlyIHVuIGJsb3F1ZSBpbmNvcnJlY3RvXG4iCisiSWdub3JvdXNlIGEgc29saWNpdHVkZSBkZSBlc2NyaXR1cmFcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mzg3Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIldyaXRlIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTA1Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfc3VwZXJfYmxvY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTA3Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICJOb24gw6kgcG9zw61iZWwgZXNjcmliaXIgbyBzdXBlcmJsb3F1ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTIwCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGVzY3JpYmlyIGEgdMOhYm9hIGRlIG5vZG9zLWkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyMworbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGVzY3JpYmlyIGEgdMOhYm9hIGRlIHpvbmFzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjYKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICJOb24gw6kgcG9zw61iZWwgZXNjcmliaXIgbm9kb3MtaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTU4Cittc2dpZCAidW5hYmxlIHRvIGFsbG9jIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKK21zZ3N0ciAibm9uIMOpIHBvc8OtYmVsIHJlc2VydmVyIG8gYsO6ZmVyIHBhcmEgbyBzdXBlcmJsb3F1ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTYxCittc2dpZCAidW5hYmxlIHRvIHJlYWQgc3VwZXIgYmxvY2siCittc2dzdHIgIm5vbiDDqSBwb3PDrWJlbCBsZXIgbyBzdXBlcmJsb3F1ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTgzCittc2dpZCAiYmFkIG1hZ2ljIG51bWJlciBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAibsO6bWVybyBtw6F4aWNvIGluY29ycmVjdG8gbm8gc3VwZXJibG9xdWUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4NQorbXNnaWQgIk9ubHkgMWsgYmxvY2tzL3pvbmVzIHN1cHBvcnRlZCIKK21zZ3N0ciAiU8OzIHNlIGFkbWl0ZW4gYmxvcXVlcy96b25hcyBkZSAxayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg3CisjLCBmdXp6eQorbXNnaWQgImJhZCBzX25pbm9kZXMgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIm7Dum1lcm8gbcOheGljbyBpbmNvcnJlY3RvIG5vIHN1cGVyYmxvcXVlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODkKK21zZ2lkICJiYWQgc19pbWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTEKKyMsIGZ1enp5Cittc2dpZCAiYmFkIHNfZmlyc3RkYXRhem9uZSBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAibsO6bWVybyBtw6F4aWNvIGluY29ycmVjdG8gbm8gc3VwZXJibG9xdWUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5NAorbXNnaWQgImJhZCBzX3ptYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxMAorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIG1hcCIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIHJlc2VydmFyIG8gYsO6ZmVyIHBhcmEgbyBtYXBhIGRlIG5vZG9zLWkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxMworbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgbWFwIgorbXNnc3RyICJOb24gw6kgcG9zw61iZWwgcmVzZXJ2YXIgbyBiw7pmZXIgcGFyYSBvIG1hcGEgZGUgem9uYXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxNgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIHJlc2VydmFyIG8gYsO6ZmVyIHBhcmEgb3Mgbm9kb3MtaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE5Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgY291bnQiCittc2dzdHIgIk5vbiDDqSBwb3PDrWJlbCByZXNlcnZhciBvIGLDumZlciBwYXJhIGEgY29udGEgZGUgbm9kb3MtaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjIyCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBjb3VudCIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIHJlc2VydmFyIG8gYsO6ZmVyIHBhcmEgYSBjb250YSBkZSB6b25hcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI2Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGUgbWFwIgorbXNnc3RyICJOb24gw6kgcG9zw61iZWwgcmVzZXJ2YXIgbyBtYXBhIGRlIG5vZG9zLWkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzMAorbXNnaWQgIlVuYWJsZSB0byByZWFkIHpvbmUgbWFwIgorbXNnc3RyICJOb24gw6kgcG9zw61iZWwgbGVyIGEgdMOhYm9hIGRlIHpvbmFzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzQKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZXMiCittc2dzdHIgIk5vbiDDqSBwb3PDrWJlbCBsZXIgb3Mgbm9kb3MtaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgaW5vZGVzXG4iCittc2dzdHIgIiVsZCBub2Rvcy1pXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgYmxvY2tzXG4iCittc2dzdHIgIiVsZCBibG9xdWVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ZGF0YXpvbmU9JWpkICglamQpXG4iCittc2dzdHIgIlByaW1laXJhIHpvbmEgZGUgZGF0b3M9JWxkICglbGQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0NQorIywgYy1mb3JtYXQKK21zZ2lkICJab25lc2l6ZT0lZFxuIgorbXNnc3RyICJUYW1hw7FvIGRhIHpvbmE9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNYXhzaXplPSV6dVxuIgorbXNnc3RyICJUYW1hw7FvIG3DoXhpbW89JWxkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIHN0YXRlPSVkXG4iCittc2dzdHIgIkVzdGFkbyBkbyBzaXN0ZW1hIGRlIGZpY2hlcmlzbz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJuYW1lbGVuPSV6ZFxuIgorIlxuIgorbXNnc3RyICIiCisiTG9ueGl0dWRlIGRvIG5vbWU9JWRcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjY0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcxNAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlZCBtYXJrZWQgdW51c2VkLCBidXQgdXNlZCBmb3IgZmlsZSAnJXMnXG4iCittc2dzdHIgIk8gbm9kby1pICVkIG1hcmNvdXNlIGNvbW8gbm9uIHV0aWxpemFkbywgcGVybyBlc3Rhc2UgdXNhbmRvIHBhcmEgbyBmaWNoZWlybyDCqyVzwrtcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjY3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcxNworbXNnaWQgIk1hcmsgaW4gdXNlIgorbXNnc3RyICJNYXJjYXIgZW4gdXNvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2ODkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaWxlIGAlcycgaGFzIG1vZGUgJTA1b1xuIgorbXNnc3RyICJPIGZpY2hlaXJvIMKrJXPCuyB0ZW4gbyBtb2RvICUwNW9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Njk2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBpbm9kZSBjb3VudCB0b28gYmlnLlxuIgorbXNnc3RyICJBdmlzbzogYSBjb250YSBkZSBub2Rvcy1pIMOpIGRlbWFzaWFkbyBncmFuZGUuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc1NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NjMKK21zZ2lkICJyb290IGlub2RlIGlzbid0IGEgZGlyZWN0b3J5IgorbXNnc3RyICJvIG5vZG8taSByYcOteiBub24gw6kgdW4gY2FydGFmb2wiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc3NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgaGFzIGJlZW4gdXNlZCBiZWZvcmUuIE5vdyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJPIGJsb3F1ZSBmb2kgdXNhZG8gYW50ZXJpb3JtZW50ZS4gQWdvcmEgbm8gZmljaGVpcm8gwqslc8K7LiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzc3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgwOAorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTUyCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTk5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDgKK21zZ2lkICJDbGVhciIKK21zZ3N0ciAiQm9ycmFyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrICVkIGluIGZpbGUgYCVzJyBpcyBtYXJrZWQgbm90IGluIHVzZS4iCittc2dzdHIgIk8gYmxvcXVlICVkIG5vIGZpY2hlaXJvIMKrJXPCuyBlc3TDoSBtYXJjYWRvIGNvbW8gZW4gdXNvLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzg5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgyMAorbXNnaWQgIkNvcnJlY3QiCittc2dzdHIgIkNvcnJlY3RvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzMworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGlyZWN0b3J5ICclcycgY29udGFpbnMgYSBiYWQgaW5vZGUgbnVtYmVyIGZvciBmaWxlICclLipzJy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTYxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwMzUKK21zZ2lkICIgUmVtb3ZlIgorbXNnc3RyICIgRWxpbWluYXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5ODYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4uJyBpc24ndCBzZWNvbmRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDk0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMTcKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAiRXJybyBpbnRlcm5vIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDk3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IHNpemUgPCAzMiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBpbnZhbGlkIGlfem9uZSwgdXNlIC0tcmVwYWlyIHRvIGZpeFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMzIKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBiYWRfem9uZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG1vZGUgbm90IGNsZWFyZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbm90IHVzZWQsIG1hcmtlZCB1c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxMworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgdXNlZCwgbWFya2VkIHVudXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTQKK21zZ2lkICJTZXQiCittc2dzdHIgIkVzdGFiZWxlY2VyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTYyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IChtb2RlID0gJTA3byksIGlfbmxpbmtzPSVkLCBjb3VudGVkPSVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjEKK21zZ2lkICJTZXQgaV9ubGlua3MgdG8gY291bnQiCittc2dzdHIgIkVzdGFiZWxlY2VyIGlfbmxpbmtzIHBhcmEgY29udGFyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTc3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBtYXJrZWQgaW4gdXNlLCBubyBmaWxlIHVzZXMgaXQuIgorbXNnc3RyICJab25hICVkOiBtYXJjYWRhIGVuIHVzbywgbmluZ8O6biBmaWNoZWlybyBhIHVzYS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIzNQorbXNnaWQgIlVubWFyayIKK21zZ3N0ciAiRWxpbWluYXIgbWFyY2EiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICJab25hICVkOiBlbiB1c28sIGNvbnRhZG9zPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiWm9uYSAlZDogbm9uIGVuIHVzbywgY29udGFkb3M9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5MQorbXNnaWQgImJhZCBpbm9kZSBzaXplIgorbXNnc3RyICJ0YW1hw7FvIGRlIG5vZG8taSBpbmNvcnJlY3RvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjkzCittc2dpZCAiYmFkIHYyIGlub2RlIHNpemUiCittc2dzdHIgInRhbWHDsW8gZGUgbm9kby1pIHYyIGluY29ycmVjdG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzMzcKK21zZ2lkICJuZWVkIHRlcm1pbmFsIGZvciBpbnRlcmFjdGl2ZSByZXBhaXJzIgorbXNnc3RyICJOZWNlc8OtdGFzZSBhIHRlcm1pbmFsIHBhcmEgcmVwYXJhY2nDs25zIGludGVyYWN0aXZhcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICJub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBjbGVhbiwgbm8gY2hlY2suXG4iCittc2dzdHIgIiVzIGVzdMOhIGxpbXBvLCBub24gc2UgY29tcHJvYmEuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9yY2luZyBmaWxlc3lzdGVtIGNoZWNrIG9uICVzLlxuIgorbXNnc3RyICJGb3J6YW5kbyBhIGNvbXByb2JhY2nDs24gZG8gc2lzdGVtYSBkZSBmaWNoZWlyb3MgZW4gJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBvbiAlcyBpcyBkaXJ0eSwgbmVlZHMgY2hlY2tpbmcuXG4iCittc2dzdHIgIk8gc2lzdGVtYSBkZSBmaWNoZWlyb3MgZW4gJXMgZXN0w6Egc3VjaW8sIHByZWNpc2EgdW5oYSBjb21wcm9iYWNpw7NuLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmxkIGlub2RlcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2bGQgbm9kb3MtaSB1c2Fkb3MgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiU2bGQgem9uZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiU2bGQgem9uYXMgdXNhZGFzICglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM5NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZkIHJlZ3VsYXIgZmlsZXNcbiIKKyIlNmQgZGlyZWN0b3JpZXNcbiIKKyIlNmQgY2hhcmFjdGVyIGRldmljZSBmaWxlc1xuIgorIiU2ZCBibG9jayBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgbGlua3NcbiIKKyIlNmQgc3ltYm9saWMgbGlua3NcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmlsZXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2ZCBmaWNoZWlyb3Mgbm9ybWFpc1xuIgorIiU2ZCBkaXJlY3Rvcmlvc1xuIgorIiU2ZCBmaWNoZWlyb3MgZGUgZGlzcG9zaXRpdm9zIGRlIGNhcmFjdGVyZXNcbiIKKyIlNmQgZmljaGVpcm9zIGRlIGRpc3Bvc2l0aXZvcyBkZSBibG9xdWVzXG4iCisiJTZkIGxpZ2F6w7Nuc1xuIgorIiU2ZCBsaWdhesOzbnMgc2ltYsOzbGljYXNcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmljaGVpcm9zXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyJGSUxFIFNZU1RFTSBIQVMgQkVFTiBDSEFOR0VEXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIk8gU0lTVEVNQSBERSBGSUNIRUlST1MgQ0FNQklPVVxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MzMKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTM5IGRpc2stdXRpbHMvcGFydHguYzoxMDM1IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMgorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTggc3lzLXV0aWxzL2RtZXNnLmM6NjU5IHN5cy11dGlscy93ZGN0bC5jOjM0NgorIzogc3lzLXV0aWxzL3dkY3RsLmM6NDExIHRlcm0tdXRpbHMvc2NyaXB0LmM6MjcyIHRlcm0tdXRpbHMvc2NyaXB0LmM6MzQ5CisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI0OAorIywgZnV6enkKK21zZ2lkICJ3cml0ZSBmYWlsZWQiCittc2dzdHIgIndyaXRlIGZhbG91OiAoJXMpIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1pZ2h0IG5vdCBiZSBhbiBJU08gZmlsZXN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlZWsgZXJyb3Igb24gJXMiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYnVzY2FyOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlYWQgZXJyb3Igb24gJXMiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gbGVyOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VjdG9yIGNvdW50OiAlZCwgc2VjdG9yIHNpemU6ICVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxpc285NjYwX2ltYWdlX2ZpbGU+XG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3NAorbXNnaWQgIlNob3cgdGhlIGxlbmd0aCBvZiBhbiBJU08tOTY2MCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3NworbXNnaWQgIiAtZCwgLS1kaXZpc29yPTxudW1iZXI+ICBkaXZpZGUgdGhlIGFtb3VudCBvZiBieXRlcyBieSA8bnVtYmVyPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3OAorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgc2hvdyBzZWN0b3IgY291bnQgYW5kIHNpemVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoyMTAKK21zZ2lkICJpbnZhbGlkIGRpdmlzb3IgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZSBbYmxvY2stY291bnRdXG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3NworbXNnaWQgIk1ha2UgYW4gU0NPIGJmcyBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLU4sIC0taW5vZGVzPU5VTSAgICBzcGVjaWZ5IGRlc2lyZWQgbnVtYmVyIG9mIGlub2Rlc1xuIgorIiAtViwgLS12bmFtZT1OQU1FICAgIHNwZWNpZnkgdm9sdW1lIG5hbWVcbiIKKyIgLUYsIC0tZm5hbWU9TkFNRSAgICBzcGVjaWZ5IGZpbGUgc3lzdGVtIG5hbWVcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorIiAtYyAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKKyIgLWwgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAtViBhcyB2ZXJzaW9uIG11c3QgYmUgb25seSBvcHRpb25cbiIKKyIgLWgsIC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNDQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICJuw7ptZXJvIGRlIGxpw7FhcyBub24gdsOhbGlkbyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1MAorbXNnaWQgInZvbHVtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICJvIG5vbWUgZG8gdm9sdW1lIMOpIGRlbWFzaWFkbyBsb25nbyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1NworbXNnaWQgImZzbmFtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICJvIG5vbWUgZG8gc2lzdGVtYSBkZSBmaWNoZWlyb3Mgw6kgZGVtYXNpYWRvIGxvbmdvIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTkzCittc2dpZCAiaW52YWxpZCBibG9jay1jb3VudCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAibm9uIHNlIHBvZGUgb2J0ZXIgbyB0YW1hw7FvIGRlICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrcyBhcmd1bWVudCB0b28gbGFyZ2UsIG1heCBpcyAlbGx1IgorbXNnc3RyICJvIGFyZ3VtZW50byBkZSBibG9xdWVzIMOpIGRlbWFzaWFkbyBsb25nbywgbyBtw6F4aW1vIMOpICVsbHUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMTkKK21zZ2lkICJ0b28gbWFueSBpbm9kZXMgLSBtYXggaXMgNTEyIgorbXNnc3RyICJkZW1hc2lhZG9zIG5vZG9zLWkgLSBvIG3DoXhpbW8gw6kgNTEyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UsIG5lZWQgYXQgbGVhc3QgJWxsdSBibG9ja3MiCittc2dzdHIgIm5vbiBoYWkgZXNwYXpvIHN1ZmljaWVudGUsIG5lY2Vzw610YW5zZSBjYW5kbyBtZW5vcyAlbGx1IGJsb3F1ZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlOiAlc1xuIgorbXNnc3RyICJEaXNwb3NpdGl2bzogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJWb2x1bWU6IDwlLTZzPlxuIgorbXNnc3RyICJWb2x1bWU6IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZTbmFtZTogPCUtNnM+XG4iCittc2dzdHIgIk5vbWUgZG8gc2lzdGVtYSBkZSBmaWNoZWlyb3M6IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrU2l6ZTogJWRcbiIKK21zZ3N0ciAiVGFtYcOxbyBkbyBibG9xdWU6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAxIGJsb2NrKVxuIgorbXNnc3RyICJOb2Rvcy1pOiAlZCAoZW4gMSBibG9xdWUpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAlbGx1IGJsb2NrcylcbiIKK21zZ3N0ciAiTm9kb3MtaTogJWQgKGVuICVsbGQgYmxvcXVlcylcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tzOiAlbGx1XG4iCittc2dzdHIgIkJsb3F1ZXM6ICVsbGRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSBlbmQ6ICVkLCBEYXRhIGVuZDogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU3Cittc2dpZCAiZXJyb3Igd3JpdGluZyBzdXBlcmJsb2NrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNzgKK21zZ2lkICJlcnJvciB3cml0aW5nIHJvb3QgaW5vZGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4MworbXNnaWQgImVycm9yIHdyaXRpbmcgaW5vZGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4NgorbXNnaWQgInNlZWsgZXJyb3IiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5MgorbXNnaWQgImVycm9yIHdyaXRpbmcgLiBlbnRyeSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjk2Cittc2dpZCAiZXJyb3Igd3JpdGluZyAuLiBlbnRyeSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNsb3NpbmcgJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy10IDx0eXBlPl0gW2ZzLW9wdGlvbnNdIDxkZXZpY2U+IFs8c2l6ZT5dXG4iCittc2dzdHIgIlVzbzogbWtmcyBbLVZdIFstdCB0aXBvLWRlLWZzXSBbb3BjaW9ucy1kby1mc10gZGV2aWNlIFt0YW1hw7FvXVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0OAorIywgZnV6enkKK21zZ2lkICJNYWtlIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiRXN0YWRvIGRvIHNpc3RlbWEgZGUgZmljaGVyaXNvPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdCwgLS10eXBlPTx0eXBlPiAgZmlsZXN5c3RlbSB0eXBlOyB3aGVuIHVuc3BlY2lmaWVkLCBleHQyIGlzIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIGZzLW9wdGlvbnMgICAgIHBhcmFtZXRlcnMgZm9yIHRoZSByZWFsIGZpbGVzeXN0ZW0gYnVpbGRlclxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxzaXplPiAgICAgICAgIG51bWJlciBvZiBibG9ja3MgdG8gYmUgdXNlZCBvbiB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJib3NlICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmU7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnlpbmcgLVYgbW9yZSB0aGFuIG9uY2Ugd2lsbCBjYXVzZSBhIGRyeS1ydW5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcnNpb24gICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQ7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIC1WIGFzIC0tdmVyc2lvbiBtdXN0IGJlIHRoZSBvbmx5IG9wdGlvblxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjEzOSBsaWIvZXhlY19zaGVsbC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjIzMworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjU3IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk5MgorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwMCBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODA0IHNjaGVkdXRpbHMvY2hydC5jOjU1OAorIzogc2NoZWR1dGlscy9pb25pY2UuYzoyNjAgc2NoZWR1dGlscy90YXNrc2V0LmM6MjM5IHN5cy11dGlscy9mbG9jay5jOjEyMgorIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MzAgc3lzLXV0aWxzL3BybGltaXQuYzo2NDQgc3lzLXV0aWxzL3J0Y3dha2UuYzo1NzcKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzI0IHN5cy11dGlscy9zZXRhcmNoLmM6NDAzIHN5cy11dGlscy9zZXRzaWQuYzoxMTUKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozNDAgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjQyIHN5cy11dGlscy91bnNoYXJlLmM6NDYxCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU4MSB0ZXh0LXV0aWxzL3BnLmM6MTM3NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1c2FnZTogJXMgWy1oXSBbLXZdIFstYiBibGtzaXplXSBbLWUgZWRpdGlvbl0gWy1OIGVuZGlhbl0gWy1pIGZpbGVdIFstbiBuYW1lXSBkaXJuYW1lIG91dGZpbGVcbiIKKyIgLWggICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyIgLXYgICAgICAgICBiZSB2ZXJib3NlXG4iCisiIC1FICAgICAgICAgbWFrZSBhbGwgd2FybmluZ3MgZXJyb3JzIChub24temVybyBleGl0IHN0YXR1cylcbiIKKyIgLWIgYmxrc2l6ZSB1c2UgdGhpcyBibG9ja3NpemUsIG11c3QgZXF1YWwgcGFnZSBzaXplXG4iCisiIC1lIGVkaXRpb24gc2V0IGVkaXRpb24gbnVtYmVyIChwYXJ0IG9mIGZzaWQpXG4iCisiIC1OIGVuZGlhbiAgc2V0IGNyYW1mcyBlbmRpYW5uZXNzIChiaWd8bGl0dGxlfGhvc3QpLCBkZWZhdWx0IGhvc3RcbiIKKyIgLWkgZmlsZSAgICBpbnNlcnQgYSBmaWxlIGltYWdlIGludG8gdGhlIGZpbGVzeXN0ZW0gKHJlcXVpcmVzID49IDIuNC4wKVxuIgorIiAtbiBuYW1lICAgIHNldCBuYW1lIG9mIGNyYW1mcyBmaWxlc3lzdGVtXG4iCisiIC1wICAgICAgICAgcGFkIGJ5ICVkIGJ5dGVzIGZvciBib290IGNvZGVcbiIKKyIgLXMgICAgICAgICBzb3J0IGRpcmVjdG9yeSBlbnRyaWVzIChvbGQgb3B0aW9uLCBpZ25vcmVkKVxuIgorIiAteiAgICAgICAgIG1ha2UgZXhwbGljaXQgaG9sZXMgKHJlcXVpcmVzID49IDIuMy4zOSlcbiIKKyIgZGlybmFtZSAgICByb290IG9mIHRoZSBmaWxlc3lzdGVtIHRvIGJlIGNvbXByZXNzZWRcbiIKKyIgb3V0ZmlsZSAgICBvdXRwdXQgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlYWRsaW5rIGZhaWxlZDogJXMiCittc2dzdHIgInJlYWQgZmFsbG91OiAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJvIG5vZG8taSByYcOteiBub24gw6kgdW4gY2FydGFmb2wiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo0NDMKK21zZ2lkICJmaWxlc3lzdGVtIHRvbyBiaWcuICBFeGl0aW5nLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkFJRUVFOiBibG9jayBcImNvbXByZXNzZWRcIiB0byA+IDIqYmxvY2tsZW5ndGggKCVsZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiU2LjJmJSUgKCUrbGQgYnl0ZXMpXHQlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjbG9zZSBmaWxlICVzIgorbXNnc3RyICJub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjczMgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICJhY3RpdmFyIGEgYWxhcm1hIHJ0YyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc0MgorbXNnaWQgImludmFsaWQgZW5kaWFubmVzcyBnaXZlbjsgbXVzdCBiZSAnYmlnJywgJ2xpdHRsZScsIG9yICdob3N0JyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGd1ZXN0aW1hdGUgb2YgcmVxdWlyZWQgc2l6ZSAodXBwZXIgYm91bmQpIGlzICVsbGRNQiwgYnV0IG1heGltdW0gaW1hZ2Ugc2l6ZSBpcyAldU1CLiAgV2UgbWlnaHQgZGllIHByZW1hdHVyZWx5LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODMwCittc2dpZCAiUk9NIGltYWdlIG1hcCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkluY2x1ZGluZzogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpcmVjdG9yeSBkYXRhOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkV2ZXJ5dGhpbmc6ICV6ZCBraWxvYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODYxCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cGVyIGJsb2NrOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNSQzogJXhcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODczCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UgYWxsb2NhdGVkIGZvciBST00gaW1hZ2UgKCVsbGQgYWxsb2NhdGVkLCAlenUgdXNlZCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUk9NIGltYWdlIHdyaXRlIGZhaWxlZCAoJXpkICV6ZCkiCittc2dzdHIgIlByb2R1Y2l1c2UgdW4gZmFsbG8gYW8gZ3JhdmFyIGEgaW1heGUgUk9NICglemQgJXpkKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODgyCittc2dpZCAiUk9NIGltYWdlIgorbXNnc3RyICJJbWF4ZSBST00iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGVuYW1lcyB0cnVuY2F0ZWQgdG8gJXUgYnl0ZXMuIgorbXNnc3RyICJhdmlzbzogbm9tZXMgZGUgZmljaGVpcm9zIHRydW5jYWRvcyBhIDI1NSBieXRlcy5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MworIywgZnV6enkKK21zZ2lkICJ3YXJuaW5nOiBmaWxlcyB3ZXJlIHNraXBwZWQgZHVlIHRvIGVycm9ycy4iCittc2dzdHIgImF2aXNvOiBleGNsdcOtcm9uc2UgZmljaGVpcm9zIGRlYmlkbyBhIGVycm9zLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlIHNpemVzIHRydW5jYXRlZCB0byAlbHVNQiAobWludXMgMSBieXRlKS4iCittc2dzdHIgImF2aXNvOiB0YW1hw7FvcyBkZSBmaWNoZWlybyB0cnVuY2Fkb3MgYSAlbHVNQiAobWVub3MgMSBieXRlKS5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdWlkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAiYXZpc286IHVpZHMgdHJ1bmNhZG9zIGEgJXUgYml0cy4gKElzdG8gcG9kZSBzZXIgdW4gcHJvYmxlbWEgZGUgc2VndXJhbnphKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBnaWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJhdmlzbzogZ2lkcyB0cnVuY2Fkb3MgYSAldSBiaXRzLiAoSXN0byBwb2RlIHNlciB1biBwcm9ibGVtYSBkZSBzZWd1cmFuemEpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldBUk5JTkc6IGRldmljZSBudW1iZXJzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgVGhpcyBhbG1vc3QgY2VydGFpbmx5IG1lYW5zXG4iCisidGhhdCBzb21lIGRldmljZSBmaWxlcyB3aWxsIGJlIHdyb25nLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gL2Rldi9uYW1lIFtibG9ja3NdXG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzNworIywgZnV6enkKK21zZ2lkICIgLTEgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOAorIywgZnV6enkKK21zZ2lkICIgLTIsIC12ICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMlxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOQorIywgZnV6enkKK21zZ2lkICIgLTMgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gM1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmFtZWxlbmd0aCA8bnVtPiAgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzXG4iCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taW5vZGVzIDxudW0+ICAgICAgbnVtYmVyIG9mIGlub2RlcyBmb3IgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiSW50cm9kdXphIG8gbsO6bWVybyBkZSBjaWxpbmRyb3M6IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIGNoZWNrIHRoZSBkZXZpY2UgZm9yIGJhZCBibG9ja3NcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDMKK21zZ2lkICIgLWwsIC0tYmFkYmxvY2tzIDxmaWxlPiAgbGlzdCBvZiBiYWQgYmxvY2tzIGZyb20gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayB0byBib290IGJsb2NrIGZhaWxlZCAgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGNsZWFyIGJvb3Qgc2VjdG9yIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGVzY3JpYmlyIG8gc3VwZXJibG9xdWUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIk5vbiDDqSBwb3PDrWJlbCBlc2NyaWJpciBhIHTDoWJvYSBkZSBub2Rvcy1pIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgem9uZSBtYXAiCittc2dzdHIgIk5vbiDDqSBwb3PDrWJlbCBlc2NyaWJpciBhIHTDoWJvYSBkZSB6b25hcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGVzY3JpYmlyIG5vZG9zLWkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMjEgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Mjk2CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzozNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbWFueSBiYWQgYmxvY2tzIgorbXNnc3RyICJkZW1hc2lhZGFzIHDDoXhpbmFzIGluY29ycmVjdGFzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBlbm91Z2ggZ29vZCBibG9ja3MiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJGaXJzdCBkYXRhIGJsb2NrIGF0ICVqZCwgd2hpY2ggaXMgdG9vIGZhciAobWF4ICVkKS5cbiIKKyJUcnkgc3BlY2lmeWluZyBmZXdlciBpbm9kZXMgYnkgcGFzc2luZyAtLWlub2RlcyA8bnVtPiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIiVsZCBub2Rvcy1pXG4iCittc2dzdHJbMV0gIiVsZCBub2Rvcy1pXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVsdSBibG9ja3NcbiIKK21zZ3N0clswXSAiJWxkIGJsb3F1ZXNcbiIKK21zZ3N0clsxXSAiJWxkIGJsb3F1ZXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJab25lc2l6ZT0lenVcbiIKK21zZ3N0ciAiVGFtYcOxbyBkYSB6b25hPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIk1heHNpemU9JXp1XG4iCisiXG4iCittc2dzdHIgIlRhbWHDsW8gbcOheGltbz0lbGRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBkdXJpbmcgdGVzdGluZyBvZiBibG9ja3MiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIldlaXJkIHZhbHVlcyBpbiBkb19jaGVjazogcHJvYmFibHkgYnVnc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGJsb2NrcyBiZWZvcmUgZGF0YS1hcmVhOiBjYW5ub3QgbWFrZSBmcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MzkgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCBiYWQgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWQgYmFkIGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlbGQgYmxvcXVlc1xuIgorbXNnc3RyWzFdICIlbGQgYmxvcXVlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IG9wZW4gZmlsZSBvZiBiYWQgYmxvY2tzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1MworIywgYy1mb3JtYXQKK21zZ2lkICJiYWRibG9jayBudW1iZXIgaW5wdXQgZXJyb3Igb24gbGluZSAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGJhZGJsb2NrcyBmaWxlIgorbXNnc3RyICIlczogbm9uIMOpIHVuIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk0CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIHNpemUgc21hbGxlciB0aGFuIHBoeXNpY2FsIHNlY3RvciBzaXplIG9mICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5NworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNpemUgb2YgJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZXF1ZXN0ZWQgYmxvY2tzICglbGx1KSBleGNlZWRzIGF2YWlsYWJsZSAoJWxsdSkgYmxvY2tzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbnVtYmVyIG9mIGJsb2NrcyB0b28gc21hbGwiCittc2dzdHIgIm8gbsO6bWVybyBkZSBibG9xdWVzIMOpIGRlbWFzaWFkbyBwZXF1ZW5vIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MjMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBuYW1lIGxlbmd0aDogJWQiCittc2dzdHIgIiVzIG5lY2VzaXRhIHVuIGFyZ3VtZW50b1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG1pbml4IGZpbGUgc3lzdGVtIHZlcnNpb246ICVkIgorbXNnc3RyICJDYXJhY3RlcsOtc3RpY2FzIGRvIHNpc3RlbWEgZGUgZmljaGVpcm9zIG5vbiBjb21wYXTDrWJlaXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc2NworbXNnaWQgIi12IGlzIGFtYmlndW91cywgdXNlICctMicgaW5zdGVhZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NzgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lcyIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzgyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MDYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBibG9ja3MiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIGEgZmlsZXN5c3RlbSBoZXJlISIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJXUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJWQsIGluc3RlYWQgb2YgdGhlIHN5c3RlbSB2YWx1ZSAlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEyNAorIywgZnV6enkKK21zZ2lkICJMYWJlbCB3YXMgdHJ1bmNhdGVkLiIKK21zZ3N0ciAiVHJ1bmNvdXNlIGEgZXRpcXVldGEuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGxhYmVsLCAiCittc2dzdHIgInNlbiBldGlxdWV0YSwgIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyB1dWlkXG4iCittc2dzdHIgInNlbiB1dWlkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXSBkZXZpY2UgW3NpemVdXG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTUyCittc2dpZCAiU2V0IHVwIGEgTGludXggc3dhcCBhcmVhLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIGNoZWNrIGJhZCBibG9ja3MgYmVmb3JlIGNyZWF0aW5nIHRoZSBzd2FwIGFyZWFcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBhbGxvdyBzd2FwIHNpemUgYXJlYSBiZSBsYXJnZXIgdGhhbiBkZXZpY2VcbiIKKyIgLXAsIC0tcGFnZXNpemUgU0laRSAgICAgICBzcGVjaWZ5IHBhZ2Ugc2l6ZSBpbiBieXRlc1xuIgorIiAtTCwgLS1sYWJlbCBMQUJFTCAgICAgICAgIHNwZWNpZnkgbGFiZWxcbiIKKyIgLXYsIC0tc3dhcHZlcnNpb24gTlVNICAgICBzcGVjaWZ5IHN3YXAtc3BhY2UgdmVyc2lvbiBudW1iZXJcbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICBzcGVjaWZ5IHRoZSB1dWlkIHRvIHVzZVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgYmFkIHBhZ2VzOiAlbHUiCittc2dzdHIgImRlbWFzaWFkYXMgcMOheGluYXMgaW5jb3JyZWN0YXMiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTk1Cittc2dpZCAic2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBiYWQgcGFnZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgYmFkIHBhZ2VzXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIyOAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBuZXcgbGliYmxraWQgcHJvYmUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMzAKK21zZ2lkICJ1bmFibGUgdG8gYXNzaWduIGRldmljZSB0byBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjaGVja2luZyBiYWQgYmxvY2tzIGZyb20gc3dhcCBmaWxlIGlzIG5vdCBzdXBwb3J0ZWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjYxIGRpc2stdXRpbHMvbWtzd2FwLmM6Mjg3IGRpc2stdXRpbHMvbWtzd2FwLmM6MzM0Cittc2dpZCAidW5hYmxlIHRvIHJld2luZCBzd2FwLWRldmljZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI5MAorbXNnaWQgInVuYWJsZSB0byBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiB3aXBpbmcgb2xkICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IGRvbid0IGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoJXMgcGFydGl0aW9uIHRhYmxlIGRldGVjdGVkKS4gIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKGNvbXBpbGVkIHdpdGhvdXQgbGliYmxraWQpLiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNlIC1mIHRvIGZvcmNlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHNpZ25hdHVyZSBwYWdlIgorbXNnc3RyICJOb24gw6kgcG9zw61iZWwgZXNjcmliaXIgYSB0w6Fib2EgZGUgbm9kb3MtaSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODAKKyMsIGZ1enp5Cittc2dpZCAicGFyc2luZyBwYWdlIHNpemUgZmFpbGVkIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIG5hIGJ1c2NhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4NgorIywgZnV6enkKK21zZ2lkICJwYXJzaW5nIHZlcnNpb24gbnVtYmVyIGZhaWxlZCIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwc3BhY2UgdmVyc2lvbiAlZCBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGlnbm9yaW5nIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQgYnkgJXMpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDE0Cittc2dpZCAib25seSBvbmUgZGV2aWNlIGFyZ3VtZW50IGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MjEKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3I6IHBhcnNpbmcgVVVJRCBmYWlsZWQiCittc2dzdHIgImEgZXhlY3VjacOzbiBkZSAlcyBmYWxsb3UuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzMAorbXNnaWQgImVycm9yOiBOb3doZXJlIHRvIHNldCB1cCBzd2FwIG9uPyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzNgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGJsb2NrIGNvdW50IGFyZ3VtZW50IgorbXNnc3RyICIlczogbm9uIMOpIHVuIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZXNcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHNpemUgJWxsdSBLaUIgaXMgbGFyZ2VyIHRoYW4gZGV2aWNlIHNpemUgJTxQUkl1NjQ+IEtpQiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1MQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc3dhcCBhcmVhIG5lZWRzIHRvIGJlIGF0IGxlYXN0ICVsZCBLaUIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdHJ1bmNhdGluZyBzd2FwIGFyZWEgdG8gJWxsdSBLaUIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2Ugc3dhcHNwYWNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDY4IHN5cy11dGlscy9zd2Fwb24uYzo1MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIHBlcm1pc3Npb25zICUwNG8sICUwNG8gc3VnZ2VzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ3MiBzeXMtdXRpbHMvc3dhcG9uLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBmaWxlIG93bmVyICVkLCAwIChyb290KSBzdWdnZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDg3Cittc2dpZCAiVW5hYmxlIHRvIHNldCB1cCBzd2FwLXNwYWNlOiB1bnJlYWRhYmxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgdXAgc3dhcHNwYWNlIHZlcnNpb24gJWQsIHNpemUgPSAlcyAoJTxQUkl1NjQ+IGJ5dGVzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gb2J0YWluIHNlbGludXggZmlsZSBsYWJlbCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxNQorbXNnaWQgInVuYWJsZSB0byBtYXRjaHBhdGhjb24oKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxOAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbmV3IHNlbGludXggY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMAorbXNnaWQgImNvdWxkbid0IGNvbXB1dGUgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVsYWJlbCAlcyB0byAlcyIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGxlciBvcyBub2Rvcy1pIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODYKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODcKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg4Cittc2dpZCAiZW5kIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODkKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIm8gbsO6bWVybyBkZSBibG9xdWVzIMOpIGRlbWFzaWFkbyBwZXF1ZW5vIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTAKK21zZ2lkICJodW1hbiByZWFkYWJsZSBzaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MQorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDggbWlzYy11dGlscy9sc2Jsay5jOjE2OAorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpY2nDs25zOlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTMKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUgdHlwZSAoZG9zLCBncHQsIC4uLikiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk0IG1pc2MtdXRpbHMvbHNibGsuYzoxNjkKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIGZsYWdzIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGljacOzbnM6XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIChhIHN0cmluZywgYSBVVUlELCBvciBoZXgpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDggc3lzLXV0aWxzL2xvc2V0dXAuYzo2MTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGN4dCIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZCB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvIHVzZSAnJXMnIGZvciB0aGUgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBiYWNraW5nIGZpbGUiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo1NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTYxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzA3IG1pc2MtdXRpbHMvZmluZG1udC5jOjM3NgorIzogbWlzYy11dGlscy9sc2Jsay5jOjM1NCBtaXNjLXV0aWxzL2xzbG9ja3MuYzozNDIgc3lzLXV0aWxzL2xvc2V0dXAuYzoxMDcKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM3MiBzeXMtdXRpbHMvbHNpcGMuYzoyMzIgc3lzLXV0aWxzL2xzbnMuYzoxODkKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjc3IHN5cy11dGlscy9zd2Fwb24uYzoxNDcgc3lzLXV0aWxzL3dkY3RsLmM6MTUxCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjE0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgIk9yZGUgZGVzY2/DsWVjaWRhOiAlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjIwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI4NiBkaXNrLXV0aWxzL3BhcnR4LmM6MzI0IGRpc2stdXRpbHMvcGFydHguYzo0NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lmaWVkIHJhbmdlIDwlZDolZD4gZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MjkwCisjLCBjLWZvcm1hdAorbXNnaWQgInJhbmdlIHJlY291bnQ6IG1heCBwYXJ0bm89JWQsIGxvd2VyPSVkLCB1cHBlcj0lZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVtb3ZlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGRvZXNuJ3QgZXhpc3RcbiIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZGVsZXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MDUgZGlzay11dGlscy9wYXJ0eC5jOjUxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYWRkaW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiAjJWQiCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVzaXplZFxuIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1cGRhdGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvciwgJTZqdSBNQilcbiIKK21zZ2lkX3BsdXJhbCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvcnMsICU2anUgTUIpXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTgxIG1pc2MtdXRpbHMvZmluZG1udC5jOjY4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MDUKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM5MSBzeXMtdXRpbHMvbHNucy5jOjQ1NgorbXNnaWQgImZhaWxlZCB0byBhZGQgbGluZSB0byBvdXRwdXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY0NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWRkIGRhdGEgdG8gb3V0cHV0IHRhYmxlIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjY3IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTIyIG1pc2MtdXRpbHMvZmluZG1udC5jOjE1ODUKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODc0IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ1MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjMxMAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTcxMyBzeXMtdXRpbHMvbHNpcGMuYzozMzggc3lzLXV0aWxzL2xzbnMuYzo1MTEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjk3IHN5cy11dGlscy9zd2Fwb24uYzoyODAgc3lzLXV0aWxzL3dkY3RsLmM6MjU5CisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjQ4NAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Njc4IG1pc2MtdXRpbHMvZmluZG1udC5jOjE2MTEgbWlzYy11dGlscy9sc2Jsay5jOjE4OTYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ2NSBzeXMtdXRpbHMvbG9zZXR1cC5jOjMyMiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM1OAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTcxOCBzeXMtdXRpbHMvbHNucy5jOjUzMiBzeXMtdXRpbHMvcHJsaW1pdC5jOjMwNgorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI4OSBzeXMtdXRpbHMvd2RjdGwuYzoyNzAgc3lzLXV0aWxzL3pyYW1jdGwuYzo0OTMKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgZmlsdGVyIGZvciAnJXMnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHR5cGUgJyVzJyBkZXRlY3RlZFxuIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgd2l0aCBubyBwYXJ0aXRpb25zIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8cGFydGl0aW9uPl0gPGRpc2s+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1NgorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgcHJlc2VuY2UgYW5kIG51bWJlcmluZyBvZiBwYXJ0aXRpb25zLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTkKK21zZ2lkICIgLWEsIC0tYWRkICAgICAgICAgICAgYWRkIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MAorbXNnaWQgIiAtZCwgLS1kZWxldGUgICAgICAgICBkZWxldGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYxCittc2dpZCAiIC11LCAtLXVwZGF0ZSAgICAgICAgIHVwZGF0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjIKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnNcbiIKKyJcbiIKK21zZ3N0ciAiICBkICAgICAgICAgIEVsaW1pbmFyIGEgcGFydGljacOzbiBhY3R1YWwiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjMgbWlzYy11dGlscy9sc2Jsay5jOjE2MjMKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY0Cittc2dpZCAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLXNob3dcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY1Cittc2dpZCAiIC1uLCAtLW5yIDxuOm0+ICAgICAgIHNwZWNpZnkgdGhlIHJhbmdlIG9mIHBhcnRpdGlvbnMgKGUuZy4gLS1uciAyOjQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NgorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NyBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNworbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OCBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzOAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICBzcGVjaWZ5IHRoZSBwYXJ0aXRpb24gdHlwZSAoZG9zLCBic2QsIHNvbGFyaXMsIGV0Yy4pXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzYKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93LCAtLXJhdyBvciAtLXBhaXJzKTpcbiIKK21zZ3N0ciAiT3JkZXMgZGlzcG/DscOtYmVpczpcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg0OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLW5yIDxNLU4+IHJhbmdlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MjQKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIGFuZCBkaXNrIG5hbWUgZG8gbm90IG1hdGNoIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NTIKK21zZ2lkICItLW5yIGFuZCA8cGFydGl0aW9uPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFydGl0aW9uOiAlcywgZGlzazogJXMsIGxvd2VyOiAlZCwgdXBwZXI6ICVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBkZWxldGUgcGFydGl0aW9ucyIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGVsaW1pbmFyIHVuaGEgcGFydGljacOzbiBiYWxlaXJhIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb25lZCBsb29wIGRldmljZXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIHByb2JlciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyAlMiRzcmF3TiA8bWFqb3I+IDxtaW5vcj5cbiIKKyIgJTEkcyAlMiRzcmF3TiAvZGV2LzxibG9ja2RldmljZT5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTgKK21zZ2lkICJCaW5kIGEgcmF3IGNoYXJhY3RlciBkZXZpY2UgdG8gYSBibG9jayBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MQorbXNnaWQgIiAtcSwgLS1xdWVyeSAgICBzZXQgcXVlcnkgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjIKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgcXVlcnkgYWxsIHJhdyBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgdGhlIGNvbnRyb2wgcmF3IGRldmljZSAodXNlIHJhdzxOPiB3aGVyZSA8Tj4gaXMgZ3JlYXRlciB0aGFuIHplcm8pIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIGJsb2NrIGRldmljZSAnJXMnIgorbXNnc3RyICJOb24gc2UgcG9kZSBlZmVjdHVhciDCq3N0YXTCuyBzb2JyZSBvIGRpc3Bvc2l0aXZvICVzIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogbm9uIMOpIHVuIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZXNcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoxOTMgZGlzay11dGlscy9yYXcuYzoxOTYgc3lzLXV0aWxzL2lwY3JtLmM6MzUxCisjOiBzeXMtdXRpbHMvaXBjcm0uYzozNjQgc3lzLXV0aWxzL2lwY3JtLmM6Mzc3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBhcmd1bWVudCIKK21zZ3N0ciAiVmFsb3IgZGUgc2VjdG9yZXMgaWxlZ2FsIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiTm9uIHNlIHBvZGUgZWZlY3R1YXIgwqtzdGF0wrsgc29icmUgbyBkaXNwb3NpdGl2byAlcyIKKworIzogZGlzay11dGlscy9yYXcuYzoyMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICJOb24gc2UgcG9kZSBlZmVjdHVhciDCq3N0YXTCuyBzb2JyZSBvIGRpc3Bvc2l0aXZvICVzIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUmF3IGRldmljZSAnJXMnIGlzIG5vdCBhIGNoYXJhY3RlciBkZXYiCittc2dzdHIgIiVzOiBub24gw6kgdW4gZGlzcG9zaXRpdm8gZGUgYmxvcXVlc1xuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgcmF3IGRldiIKK21zZ3N0ciAiJXM6IG5vbiDDqSB1biBkaXNwb3NpdGl2byBkZSBibG9xdWVzXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjQ1Cittc2dpZCAiRXJyb3IgcXVlcnlpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI1NCBkaXNrLXV0aWxzL3Jhdy5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlc3JhdyVkOiAgYm91bmQgdG8gbWFqb3IgJWQsIG1pbm9yICVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNjgKK21zZ2lkICJFcnJvciBzZXR0aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8bGVuZ3RoPlxuIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoyMworbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgbmV3IHNpemUgb2YgYSBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgcGFydGl0aW9uIG51bWJlciAlcyIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG5lc3RlZCBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIGFvIHJlc2VydmFyIG8gYsO6ZmVyIGRlIHNhw61kYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyOTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZWVrICVzIgorbXNnc3RyICJub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDIgbGliZmRpc2svc3JjL2JzZC5jOjcyMyBsaWJmZGlzay9zcmMvYnNkLmM6ODk0CisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE2MyBzeXMtdXRpbHMvaHdjbG9jay5jOjE2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlICVzIgorbXNnc3RyICJub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTEycyAob2Zmc2V0ICU1anUsIHNpemUgJTVqdSk6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGVzY3JpYmlyIGEgdMOhYm9hIGRlIG5vZG9zLWkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzI4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAgZmlsZSwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICJOb24gw6kgcG9zw61iZWwgZXNjcmliaXIgYSB0w6Fib2EgZGUgbm9kb3MtaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozNTQKK21zZ2lkICJCYWNrdXAgZmlsZXM6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzc5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIG5ldyBwYXJ0aXRpb24gZnJvbSBkZXZpY2U7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4OQorIywgZnV6enkKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGhhcyBub3QgYmVlbiBtb3ZlZDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkxCittc2dpZCAibmV3IHBhcnRpdGlvbiBpcyBzbWFsbGVyIHRoYW4gb3JpZ2luYWw7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQxCittc2dpZCAiRGF0YSBtb3ZlOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIHR5cGVzY3JpcHQgZmlsZTogJXMiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiBvbGQgc3RhcnQ6ICVqdSwgbmV3IHN0YXJ0OiAlanUgKG1vdmUgJWp1IHNlY3RvcnMpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTEKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gbW92ZSBwYXJ0aXRpb24gZGF0YT8iCittc2dzdHIgIkRlc2V4YSBjcmVhciB1bmhhIGV0aXF1ZXRhIGRlIGRpc2NvPyAoeS9uKSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTMgZGlzay11dGlscy9zZmRpc2suYzoxNzgzCittc2dpZCAiTGVhdmluZy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1MjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gbW92ZSBkYXRhIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0MQorIywgZnV6enkKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGlzIHVuY2hhbmdlZCAoLS1uby1hY3QpLiIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0NworIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbGFiZWwgJyVzJyIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjI2Cittc2dpZCAiIgorIklkICBOYW1lXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2NTYKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAibm9uIHNlIHBvZGUgb2J0ZXIgbyB0YW1hw7FvIGRlICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidG90YWw6ICVqdSBibG9ja3NcbiIKK21zZ3N0ciAiJWxkIGJsb3F1ZXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MDggZGlzay11dGlscy9zZmRpc2suYzo4NzYgZGlzay11dGlscy9zZmRpc2suYzo5MTcKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTQ3IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxNCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNzgKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzMyBkaXNrLXV0aWxzL3NmZGlzay5jOjExODkgZGlzay11dGlscy9zZmRpc2suYzoxNTMzCisjLCBmdXp6eQorbXNnaWQgIm5vIGRpc2sgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODE5Cittc2dpZCAidG9nZ2xlIGJvb3QgZmxhZ3MgaXMgc3VwcG9ydGVkIGZvciBNQlIgb25seSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg1MCBkaXNrLXV0aWxzL3NmZGlzay5jOjg5NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTkKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4MyBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzggZGlzay11dGlscy9zZmRpc2suYzoxMTk0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MzEgZGlzay11dGlscy9zZmRpc2suYzoyMDEzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICVkOiBmYWlsZWQgdG8gdG9nZ2xlIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4OTEgZGlzay11dGlscy9zZmRpc2suYzo4OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZGVsZXRlIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTU4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBkdW1wIHN0cnVjdCIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBhbyByZXNlcnZhciBvIGLDumZlciBkZSBzYcOtZGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGR1bXAgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBwYXJ0aXRpb24gdGFibGUgZm91bmQiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIGlzIHVudXNlZCIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTggZGlzay11dGlscy9zZmRpc2suYzoxMDgyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzNworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTkzCisjLCBmdXp6eQorbXNnaWQgIm5vIHBhcnRpdGlvbiBudW1iZXIgc3BlY2lmaWVkIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAyNCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODggZGlzay11dGlscy9zZmRpc2suYzoxMTQzCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTkKKyMsIGZ1enp5Cittc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudHMiCittc2dzdHIgIiVzIG5lY2VzaXRhIHVuIGFyZ3VtZW50b1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBwYXJ0aXRpb24gdHlwZSAnJXMnIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTEzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE2OCBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMjIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBvYmplY3QiCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gYW8gcmVzZXJ2YXIgbyBiw7pmZXIgZGUgc2HDrWRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIGF0dHJpYnV0ZXMiCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjY5CisjLCBmdXp6eQorbXNnaWQgIiBDb21tYW5kczpcbiIKK21zZ3N0ciAiT3JkZXMgZGlzcG/DscOtYmVpczpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjcxCisjLCBmdXp6eQorbXNnaWQgIiAgIHdyaXRlICAgIHdyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgdyAgIEVzY3JpYmUgYSBldGlxdWV0YSBkbyBkaXNjbyBubyBkaXNjbyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjcyCittc2dpZCAiICAgcXVpdCAgICAgc2hvdyBuZXcgc2l0dWF0aW9uIGFuZCB3YWl0IGZvciB1c2VyJ3MgZmVlZGJhY2sgYmVmb3JlIHdyaXRlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjczCittc2dpZCAiICAgYWJvcnQgICAgZXhpdCBzZmRpc2sgc2hlbGxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzQKKyMsIGZ1enp5Cittc2dpZCAiICAgcHJpbnQgICAgZGlzcGxheSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgIHAgICBJbXByaW1lIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIEJTRCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjc1CisjLCBmdXp6eQorbXNnaWQgIiAgIGhlbHAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzcKK21zZ2lkICIgICBDdHJsLUQgICB0aGUgc2FtZSBhcyAncXVpdCdcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODEKK21zZ2lkICIgSW5wdXQgZm9ybWF0OlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MworbXNnaWQgIiAgIDxzdGFydD4sIDxzaXplPiwgPHR5cGU+LCA8Ym9vdGFibGU+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjg2Cittc2dpZCAiIgorIiAgIDxzdGFydD4gIEJlZ2lubmluZyBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyB0aGUgZmlyc3QgZnJlZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTEKK21zZ2lkICIiCisiICAgPHNpemU+ICAgU2l6ZSBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyBhbGwgYXZhaWxhYmxlIHNwYWNlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NgorbXNnaWQgIiAgIDx0eXBlPiAgIFRoZSBwYXJ0aXRpb24gdHlwZS4gIERlZmF1bHQgaXMgYSBMaW51eCBkYXRhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTcKK21zZ2lkICIgICAgICAgICAgICBNQlI6IGhleCBvciBMLFMsRSxYIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTgKK21zZ2lkICIgICAgICAgICAgICBHUFQ6IFVVSUQgb3IgTCxTLEggc2hvcnRjdXRzLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwMQorbXNnaWQgIiAgIDxib290YWJsZT4gIFVzZSAnKicgdG8gbWFyayBhbiBNQlIgcGFydGl0aW9uIGFzIGJvb3RhYmxlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNQorbXNnaWQgIiBFeGFtcGxlOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNworIywgZnV6enkKK21zZ2lkICIgICAsIDRHICAgICBDcmVhdGVzIGEgNEdpQiBwYXJ0aXRpb24gYXQgZGVmYXVsdCBzdGFydCBvZmZzZXQuXG4iCittc2dzdHIgIiAgbiAgICAgICAgICBDcmVhIHVuaGEgbm92YSBwYXJ0aWNpw7NuIGRlc2RlIGVzcGF6byBsaWJyZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzM5IHN5cy11dGlscy9kbWVzZy5jOjE0NTUKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibGluZSAlZDogdW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUwMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NDEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIGFvIHJlc2VydmFyIG8gYsO6ZmVyIGRlIHNhw61kYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IG5vIHBhcnRpdGlvbiB0YWJsZSB3YXMgZm91bmQiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogcGFydGl0aW9uIHRhYmxlIGNvbnRhaW5zIG9ubHkgJXp1IHBhcnRpdGlvbnMiCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlczogcGFydGl0aW9uICVkIGlzIG5vdCBkZWZpbmVkIHlldCIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIHhhIGVzdMOhIGVuIHVzbyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJXZWxjb21lIHRvIHNmZGlzayAoJXMpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTQKK21zZ2lkICJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTcKK21zZ2lkICIiCisiIEZBSUxFRFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwMAorbXNnaWQgIiIKKyJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZSAtIHJlcGFydGl0aW9uaW5nIGlzIHByb2JhYmx5IGEgYmFkIGlkZWEuXG4iCisiVW1vdW50IGFsbCBmaWxlIHN5c3RlbXMsIGFuZCBzd2Fwb2ZmIGFsbCBzd2FwIHBhcnRpdGlvbnMgb24gdGhpcyBkaXNrLlxuIgorIlVzZSB0aGUgLS1uby1yZXJlYWQgZmxhZyB0byBzdXBwcmVzcyB0aGlzIGNoZWNrLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNworbXNnaWQgIiIKKyIgT0tcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzYKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIk9sZCBzaXR1YXRpb246IgorbXNnc3RyICJWaXJ0dWFsaXphY2nDs246IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorInNmZGlzayBpcyBnb2luZyB0byBjcmVhdGUgYSBuZXcgJyVzJyBkaXNrIGxhYmVsLlxuIgorIlVzZSAnbGFiZWw6IDxuYW1lPicgYmVmb3JlIHlvdSBkZWZpbmUgYSBmaXJzdCBwYXJ0aXRpb25cbiIKKyJ0byBvdmVycmlkZSB0aGUgZGVmYXVsdC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjU3Cittc2dpZCAiIgorIlxuIgorIlR5cGUgJ2hlbHAnIHRvIGdldCBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY3NQorIywgZnV6enkKK21zZ2lkICJBbGwgcGFydGl0aW9ucyB1c2VkLiIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcwMworIywgZnV6enkKK21zZ2lkICJEb25lLlxuIgorbXNnc3RyICJGZWl0byIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzE1CisjLCBmdXp6eQorbXNnaWQgIklnbm9yaW5nIHBhcnRpdGlvbi4iCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MjQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCBoZWFkZXJzLCBkaXNrIGxhYmVsIG5vdCBjcmVhdGVkLiIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCAjJWQgcGFydGl0aW9uIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzYzCittc2dpZCAiU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzcyCisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJOZXcgc2l0dWF0aW9uOiIKK21zZ3N0ciAiVmlydHVhbGl6YWNpw7NuOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzgxCisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHdyaXRlIHRoaXMgdG8gZGlzaz8iCittc2dzdHIgIkRlc2V4YSBjcmVhciB1bmhhIGV0aXF1ZXRhIGRlIGRpc2NvPyAoeS9uKSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzkzCittc2dpZCAiTGVhdmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEyCittc2dpZCAiIgorIlxuIgorIkNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMworbXNnaWQgIiAtQSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gbGlzdCBvciBzZXQgYm9vdGFibGUgTUJSIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSAodXNhYmxlIGZvciBsYXRlciBpbnB1dClcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTUKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSBpbiBKU09OIGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNgorbXNnaWQgIiAtZywgLS1zaG93LWdlb21ldHJ5IFs8ZGV2PiAuLi5dICAgbGlzdCBnZW9tZXRyeSBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTcKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgWzxkZXY+IC4uLl0gICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTgKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLWxpc3QtZnJlZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHVucGFydGl0aW9uZWQgZnJlZSBhcmVhcyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxOQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVvcmRlciA8ZGV2PiAgICAgICAgICAgICAgIGZpeCBwYXJ0aXRpb25zIG9yZGVyIChieSBzdGFydCBvZmZzZXQpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIwCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaG93LXNpemUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCBzaXplcyBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjEKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmVjb2duaXplZCB0eXBlcyAoc2VlIC1YKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMgorIywgZnV6enkKK21zZ2lkICIgLVYsIC0tdmVyaWZ5IFs8ZGV2PiAuLi5dICAgICAgICAgIHRlc3Qgd2hldGhlciBwYXJ0aXRpb25zIHNlZW0gY29ycmVjdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMworbXNnaWQgIiAgICAgLS1kZWxldGUgPGRldj4gWzxwYXJ0PiAuLi5dICAgZGVsZXRlIGFsbCBvciBzcGVjaWZpZWQgcGFydGl0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNgorbXNnaWQgIiAtLXBhcnQtbGFiZWwgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBsYWJlbFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNworbXNnaWQgIiAtLXBhcnQtdHlwZSA8ZGV2PiA8cGFydD4gWzx0eXBlPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI4Cittc2dpZCAiIC0tcGFydC11dWlkIDxkZXY+IDxwYXJ0PiBbPHV1aWQ+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHV1aWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjkKK21zZ2lkICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gYXR0cmlidXRlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzMgorIywgZnV6enkKK21zZ2lkICIgPGRldj4gICAgICAgICAgICAgICAgICAgICBkZXZpY2UgKHVzdWFsbHkgZGlzaykgcGF0aFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzMworIywgZnV6enkKK21zZ2lkICIgPHBhcnQ+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM0Cittc2dpZCAiIDx0eXBlPiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIHR5cGUsIEdVSUQgZm9yIEdQVCwgaGV4IGZvciBNQlJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzcKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgYXBwZW5kIHBhcnRpdGlvbnMgdG8gZXhpc3RpbmcgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM4CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1iYWNrdXAgICAgICAgICAgICAgIGJhY2t1cCBwYXJ0aXRpb24gdGFibGUgc2VjdG9ycyAoc2VlIC1PKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzOQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MAorbXNnaWQgIiAgICAgLS1tb3ZlLWRhdGFbPTx0eXBlc2NyaXB0Pl0gbW92ZSBwYXJ0aXRpb24gZGF0YSBhZnRlciByZWxvY2F0aW9uIChyZXF1aXJlcyAtTilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDEKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ1CisjLCBmdXp6eQorbXNnaWQgIiAtTiwgLS1wYXJ0bm8gPG51bT4gICAgICAgIHNwZWNpZnkgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICJJbnRyb2R1emEgbyBuw7ptZXJvIGRlIGNhYmV6YXM6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDYKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgd3JpdGUgdG8gZGV2aWNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBkZXZpY2UgaXMgaW4gdXNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ4CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIGRvIG5vdCB0ZWxsIGtlcm5lbCBhYm91dCBjaGFuZ2VzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ5Cittc2dpZCAiIC1PLCAtLWJhY2t1cC1maWxlIDxwYXRoPiAgb3ZlcnJpZGUgZGVmYXVsdCBiYWNrdXAgZmlsZSBuYW1lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUwCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1pIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIMOhIHBhbnRhbGxhIG91IGEgdW4gZmljaGVpcm8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MQorIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBzdXBwcmVzcyBleHRyYSBpbmZvIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUyCisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NAorbXNnaWQgIiAtWCwgLS1sYWJlbCA8bmFtZT4gICAgICAgIHNwZWNpZnkgbGFiZWwgdHlwZSAoZG9zLCBncHQsIC4uLilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTUKK21zZ2lkICIgLVksIC0tbGFiZWwtbmVzdGVkIDxuYW1lPiBzcGVjaWZ5IG5lc3RlZCBsYWJlbCB0eXBlIChkb3MsIGJzZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTcKK21zZ2lkICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBkZXByZWNhdGVkLCBhbGlhcyB0byAtLXNob3ctZ2VvbWV0cnlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTgKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgZGVwcmVjYXRlZCwgb25seSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OQorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IHNlY3RvciB1bml0IGlzIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MyBsb2dpbi11dGlscy9jaGZuLmM6MTAyIGxvZ2luLXV0aWxzL2Noc2guYzo3OQorbXNnaWQgIiAtdiwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NzMKK21zZ2lkICItLWlkIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk4OQorbXNnaWQgIi0tc2hvdy1wdC1nZW9tZXRyeSBpcyBubyBtb3JlIGltcGxlbWVudGVkLiBVc2luZyAtLXNob3ctZ2VvbWV0cnkuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAwMAorbXNnaWQgIi0tTGludXggb3B0aW9uIGlzIHVubmVjZXNzYXJ5IGFuZCBkZXByZWNhdGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgdW5pdCAnJWMnIgorbXNnc3RyICIlcyBuZWNlc2l0YSB1biBhcmd1bWVudG9cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDMyIGluY2x1ZGUvYy5oOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMTA5Cittc2dpZCAiLS1tb3ZlZGF0YSByZXF1aXJlcyAtTiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBVVUlEOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIFVVSUQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIFVVSUQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBsYWJlbCAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICJsYWJlbCBpcyB0b28gbG9uZy4gVHJ1bmNhdGluZyBpdCB0byAnJXMnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBsYWJlbCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyMQorbXNnaWQgIkRpc3BsYXkgb3IgY2hhbmdlIHRoZSBsYWJlbCBvciBVVUlEIG9mIGEgc3dhcCBhcmVhLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTI0Cittc2dpZCAiIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+IHNwZWNpZnkgYSBuZXcgbGFiZWxcbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICBzcGVjaWZ5IGEgbmV3IHV1aWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjE2NworbXNnaWQgImlnbm9yZSAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkKSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2MuaDoyOTkKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorbXNnc3RyICJVc286XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwMAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjMwMgorbXNnaWQgIiAtaCwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjMwMworbXNnaWQgIiAtViwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRm9yIG1vcmUgZGV0YWlscyBzZWUgJXMuXG4iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ2IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0OCBsb2dpbi11dGlscy92aXB3LmM6MjczCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjkyIHN5cy11dGlscy9ydGN3YWtlLmM6MjgwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjgwNQorIzogdGV4dC11dGlscy9jb2wuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgZXJyb3IiCittc2dzdHIgIkVycm8gaW50ZXJubyIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyNworbXNnaWQgImNvbG9ycyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvY29sb3JzLmg6MjkKK21zZ2lkICJjb2xvcnMgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9lbnYuaDoxOCBsaWIvcGFnZXIuYzoxNTEgbG9naW4tdXRpbHMvbG9naW4uYzoxMDUyCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwNTYgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTI5CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBpbmNsdWRlL29wdHV0aWxzLmg6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZXNlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZToiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MQorbXNnaWQgIkVtcHR5IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIKK21zZ2lkICJGQVQxMiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozCittc2dpZCAiWEVOSVggcm9vdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0Cittc2dpZCAiWEVOSVggdXNyIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUKK21zZ2lkICJGQVQxNiA8MzJNIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYKK21zZ2lkICJFeHRlbmRlZCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3Cittc2dpZCAiRkFUMTYiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OAorbXNnaWQgIkhQRlMvTlRGUy9leEZBVCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5Cittc2dpZCAiQUlYIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwCittc2dpZCAiQUlYIGJvb3RhYmxlIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjExCittc2dpZCAiT1MvMiBCb290IE1hbmFnZXIiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTIKK21zZ2lkICJXOTUgRkFUMzIiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTMKK21zZ2lkICJXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTQKK21zZ2lkICJXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTUKK21zZ2lkICJXOTUgRXh0J2QgKExCQSkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTYKK21zZ2lkICJPUFVTIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE3Cittc2dpZCAiSGlkZGVuIEZBVDEyIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE4Cittc2dpZCAiQ29tcGFxIGRpYWdub3N0aWNzIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE5Cittc2dpZCAiSGlkZGVuIEZBVDE2IDwzMk0iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjAKK21zZ2lkICJIaWRkZW4gRkFUMTYiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjEKK21zZ2lkICJIaWRkZW4gSFBGUy9OVEZTIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIyCittc2dpZCAiQVNUIFNtYXJ0U2xlZXAiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjMKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI0Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNQorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjYKK21zZ2lkICJORUMgRE9TIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI3Cittc2dpZCAiSGlkZGVuIE5URlMgV2luUkUiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjgKK21zZ2lkICJQbGFuIDkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjkKK21zZ2lkICJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMAorbXNnaWQgIlZlbml4IDgwMjg2IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMxCittc2dpZCAiUFBDIFBSZVAgQm9vdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMgorbXNnaWQgIlNGUyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMworbXNnaWQgIlFOWDQueCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNAorbXNnaWQgIlFOWDQueCAybmQgcGFydCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNQorbXNnaWQgIlFOWDQueCAzcmQgcGFydCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNgorbXNnaWQgIk9uVHJhY2sgRE0iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzcKK21zZ2lkICJPblRyYWNrIERNNiBBdXgxIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM4Cittc2dpZCAiQ1AvTSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOQorbXNnaWQgIk9uVHJhY2sgRE02IEF1eDMiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDAKK21zZ2lkICJPblRyYWNrRE02IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQxCittc2dpZCAiRVotRHJpdmUiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDIKK21zZ2lkICJHb2xkZW4gQm93IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQzCittc2dpZCAiUHJpYW0gRWRpc2siCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDQgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTEKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk5Cittc2dpZCAiU3BlZWRTdG9yIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ1Cittc2dpZCAiR05VIEhVUkQgb3IgU3lzViIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NgorbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDI4NiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NworbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDM4NiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OAorbXNnaWQgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OQorbXNnaWQgIlBDL0lYIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUwCittc2dpZCAiT2xkIE1pbml4IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUxCittc2dpZCAiTWluaXggLyBvbGQgTGludXgiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTIKK21zZ2lkICJMaW51eCBzd2FwIC8gU29sYXJpcyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MworbXNnaWQgIkxpbnV4IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU0Cittc2dpZCAiT1MvMiBoaWRkZW4gb3IgSW50ZWwgaGliZXJuYXRpb24iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTcKK21zZ2lkICJMaW51eCBleHRlbmRlZCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OQorbXNnaWQgIk5URlMgdm9sdW1lIHNldCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MAorbXNnaWQgIkxpbnV4IHBsYWludGV4dCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjA1IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MworIzogbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggTFZNIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYyCittc2dpZCAiQW1vZWJhIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYzCittc2dpZCAiQW1vZWJhIEJCVCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NAorbXNnaWQgIkJTRC9PUyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NQorbXNnaWQgIklCTSBUaGlua3BhZCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NgorbXNnaWQgIkZyZWVCU0QiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjcKK21zZ2lkICJPcGVuQlNEIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY4Cittc2dpZCAiTmVYVFNURVAiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjkKK21zZ2lkICJEYXJ3aW4gVUZTIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcwCittc2dpZCAiTmV0QlNEIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcxCittc2dpZCAiRGFyd2luIGJvb3QiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzIKK21zZ2lkICJIRlMgLyBIRlMrIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjczCittc2dpZCAiQlNESSBmcyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NAorbXNnaWQgIkJTREkgc3dhcCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NQorbXNnaWQgIkJvb3QgV2l6YXJkIGhpZGRlbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NgorbXNnaWQgIkFjcm9uaXMgRkFUMzIgTEJBIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc3IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzAKK21zZ2lkICJTb2xhcmlzIGJvb3QiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzgKK21zZ2lkICJTb2xhcmlzIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc5Cittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTIpIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgwCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgxCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYpIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgyCittc2dpZCAiU3lyaW54IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgzCittc2dpZCAiTm9uLUZTIGRhdGEiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NgorbXNnaWQgIkRlbGwgVXRpbGl0eSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NworbXNnaWQgIkJvb3RJdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4OAorbXNnaWQgIkRPUyBhY2Nlc3MiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTAKK21zZ2lkICJET1MgUi9PIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkzCisjLCBmdXp6eQorbXNnaWQgIlJ1ZnVzIGFsaWdubWVudCIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk0Cittc2dpZCAiQmVPUyBmcyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NgorbXNnaWQgIkVGSSAoRkFULTEyLzE2LzMyKSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NworbXNnaWQgIkxpbnV4L1BBLVJJU0MgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDAKK21zZ2lkICJET1Mgc2Vjb25kYXJ5IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMQorbXNnaWQgIlZNd2FyZSBWTUZTIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMgorbXNnaWQgIlZNd2FyZSBWTUtDT1JFIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMyBsaWJmZGlzay9zcmMvc3VuLmM6NTUKK21zZ2lkICJMaW51eCByYWlkIGF1dG9kZXRlY3QiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA2Cittc2dpZCAiTEFOc3RlcCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDcKK21zZ2lkICJCQlQiCittc2dzdHIgIiIKKworIzogbGliL2Jsa2Rldi5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlcyBpcyBtaXNhbGlnbmVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2NzIKKyMsIGZ1enp5Cittc2dpZCAiQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2ODEKKyMsIGZ1enp5Cittc2dpZCAiUmUtcmVhZGluZyB0aGUgcGFydGl0aW9uIHRhYmxlIGZhaWxlZC4iCittc2dzdHIgIiAgIHAgICBJbXByaW1lIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIEJTRCIKKworIzogbGliZmRpc2svc3JjL2FsaWdubWVudC5jOjY4MworbXNnaWQgIlRoZSBrZXJuZWwgc3RpbGwgdXNlcyB0aGUgb2xkIHRhYmxlLiBUaGUgbmV3IHRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCByZWJvb3Qgb3IgYWZ0ZXIgeW91IHJ1biBwYXJ0cHJvYmUoOCkgb3Iga3BhcnR4KDgpLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDcyIGxpYmZkaXNrL3NyYy9hc2suYzo0ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdGVkIHBhcnRpdGlvbiAlanUiCittc2dzdHIgIiAgIGQgICBlbGltaW5hciBhIHBhcnRpY2nDs24gQlNEIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDc1CisjLCBmdXp6eQorbXNnaWQgIk5vIHBhcnRpdGlvbiBpcyBkZWZpbmVkIHlldCEiCittc2dzdHIgIkVzdGEgcGFydGljacOzbiB4YSBlc3TDoSBlbiB1c28iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAiTm8gZnJlZSBwYXJ0aXRpb24gYXZhaWxhYmxlISIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0OTcKK21zZ2lkICJQYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo5OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgcGFydGl0aW9uICVkIG9mIHR5cGUgJyVzJyBhbmQgb2Ygc2l6ZSAlcy4iCittc2dzdHIgIkNyZWEgdW5oYSBub3ZhIHBhcnRpY2nDs24gZGVzZGUgbyBlc3Bhem8gbGlicmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlemQ6IGhhcyBpbnZhbGlkIHN0YXJ0aW5nIHNlY3RvciAwLiIKK21zZ3N0ciAiQXZpc286IGEgY29udGEgZGUgbm9kb3MtaSDDqSBkZW1hc2lhZG8gZ3JhbmRlLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGVyZSBpcyBubyAqQlNEIHBhcnRpdGlvbiBvbiAlcy4iCittc2dzdHIgIk5vbiBoYWkgbmluZ3VuaGEgcGFydGljacOzbiAqQlNEIGVuICVzLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MjU5IGxpYmZkaXNrL3NyYy9kb3MuYzo5MzMKKyMsIGZ1enp5Cittc2dpZCAiRmlyc3QgY3lsaW5kZXIiCittc2dzdHIgImNpbGluZHJvcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5MiBsaWJmZGlzay9zcmMvZG9zLmM6MTE2MQorbXNnaWQgIkxhc3QgY3lsaW5kZXIsICtjeWxpbmRlcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6Mjk3IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTY2IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjU1Cittc2dpZCAiTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRldmljZSAlcyBkb2VzIG5vdCBjb250YWluIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICIlcyBub24gY29udMOpbiBuaW5ndW5oYSBldGlxdWV0YSBkZSBkaXNjby5cbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MworIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBjcmVhdGUgYSBCU0QgZGlza2xhYmVsPyIKK21zZ3N0ciAiRGVzZXhhIGNyZWFyIHVuaGEgZXRpcXVldGEgZGUgZGlzY28/ICh5L24pIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDQ5CisjLCBmdXp6eQorbXNnaWQgIkRpc2siCittc2dzdHIgImRpc2NvOiAlLipzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NTYKK21zZ2lkICJQYWNrbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDYzIGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE3Cittc2dpZCAiRmxhZ3MiCittc2dzdHIgIk9wY2nDs25zIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY2Cittc2dpZCAiIHJlbW92YWJsZSIKK21zZ3N0ciAiIHJlbW92YWJsZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NworbXNnaWQgIiBlY2MiCittc2dzdHIgIiBlY2MiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjgKK21zZ2lkICIgYmFkc2VjdCIKK21zZ3N0ciAiIGJhZHNlY3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NzYKKyMsIGZ1enp5Cittc2dpZCAiQnl0ZXMvU2VjdG9yIgorbXNnc3RyICJieXRlcy9zZWN0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODEKKyMsIGZ1enp5Cittc2dpZCAiVHJhY2tzL0N5bGluZGVyIgorbXNnc3RyICJwaXN0YXMvY2lsaW5kcm8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODYKKyMsIGZ1enp5Cittc2dpZCAiU2VjdG9ycy9DeWxpbmRlciIKK21zZ3N0ciAic2VjdG9yZXMvY2lsaW5kcm8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTggbGliZmRpc2svc3JjL2Rvcy5jOjIzMDMKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU3IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTYgbGliZmRpc2svc3JjL3N1bi5jOjExMTMKK21zZ2lkICJDeWxpbmRlcnMiCittc2dzdHIgIkNpbMOtbmRyb3MiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTYgbGliZmRpc2svc3JjL3N1bi5jOjc2MAorIywgZnV6enkKK21zZ2lkICJScG0iCittc2dzdHIgInIucC5tLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMSBsaWJmZGlzay9zcmMvc2dpLmM6MjkyIGxpYmZkaXNrL3NyYy9zdW4uYzo3ODAKKyMsIGZ1enp5Cittc2dpZCAiSW50ZXJsZWF2ZSIKK21zZ3N0ciAiaW50ZXJsZWF2ZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwNgorIywgZnV6enkKK21zZ2lkICJUcmFja3NrZXciCittc2dzdHIgInRyYWNrc2tldyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxMQorIywgZnV6enkKK21zZ2lkICJDeWxpbmRlcnNrZXciCittc2dzdHIgImN5bGluZGVyc2tldyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxNgorIywgZnV6enkKK21zZ2lkICJIZWFkc3dpdGNoIgorbXNnc3RyICJoZWFkc3dpdGNoIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTIxCisjLCBmdXp6eQorbXNnaWQgIlRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgImJ1c2NhIGRlIHBpc3RhLWEtcGlzdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTEKK21zZ2lkICJieXRlcy9zZWN0b3IiCittc2dzdHIgImJ5dGVzL3NlY3RvciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNAorbXNnaWQgInNlY3RvcnMvdHJhY2siCittc2dzdHIgInNlY3RvcnMvcGlzdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTUKK21zZ2lkICJ0cmFja3MvY3lsaW5kZXIiCittc2dzdHIgInBpc3Rhcy9jaWxpbmRybyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNgorbXNnaWQgImN5bGluZGVycyIKK21zZ3N0ciAiY2lsaW5kcm9zIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIwCittc2dpZCAic2VjdG9ycy9jeWxpbmRlciIKK21zZ3N0ciAic2VjdG9yZXMvY2lsaW5kcm8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjMKK21zZ2lkICJycG0iCittc2dzdHIgInIucC5tLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNAorbXNnaWQgImludGVybGVhdmUiCittc2dzdHIgImludGVybGVhdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjUKK21zZ2lkICJ0cmFja3NrZXciCittc2dzdHIgInRyYWNrc2tldyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNgorbXNnaWQgImN5bGluZGVyc2tldyIKK21zZ3N0ciAiY3lsaW5kZXJza2V3IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI4Cittc2dpZCAiaGVhZHN3aXRjaCIKK21zZ3N0ciAiaGVhZHN3aXRjaCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOQorbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgImJ1c2NhIGRlIHBpc3RhLWEtcGlzdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RzdHJhcCBmaWxlICVzIHN1Y2Nlc3NmdWxseSBsb2FkZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwOiAlMSRzYm9vdCAtPiBib290JTEkcyAoZGVmYXVsdCAlMSRzKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzA0Cittc2dpZCAiQm9vdHN0cmFwIG92ZXJsYXBzIHdpdGggZGlza2xhYmVsISIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcCBpbnN0YWxsZWQgb24gJXMuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuICAoRG9uJ3QgZm9yZ2V0IHRvIHdyaXRlIHRoZSAlcyBkaXNrbGFiZWwgdG9vLikiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuIgorbXNnc3RyICJldGlxdWV0YTogJS4qc1xuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTA5IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjY2CisjLCBmdXp6eQorbXNnaWQgIlN5bmNpbmcgZGlza3MuIgorbXNnc3RyICIiCisiXG4iCisiU2luY3Jvbml6YW5kbyBkaXNjb3MuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NTAKK21zZ2lkICJCU0QgbGFiZWwgaXMgbm90IG5lc3RlZCB3aXRoaW4gYSBET1MgcGFydGl0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCU0QgcGFydGl0aW9uICclYycgbGlua2VkIHRvIERPUyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiICAgeCAgIExpZ2EgYSBwYXJ0aWNpw7NuIEJTRCBhIHVuaGEgcGFydGljacOzbiBub24gQlNEIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNAorbXNnaWQgIlNsaWNlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIxCittc2dpZCAiRnNpemUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjIKK21zZ2lkICJCc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMworbXNnaWQgIkNwZyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NlIGRldmljZSBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjgyNworbXNnaWQgImN5bGluZGVyIgorbXNnaWRfcGx1cmFsICJjeWxpbmRlcnMiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjgyOAorbXNnaWQgInNlY3RvciIKK21zZ2lkX3BsdXJhbCAic2VjdG9ycyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6MTEzMQorbXNnaWQgIkluY29tcGxldGUgZ2VvbWV0cnkgc2V0dGluZy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxNAorIywgZnV6enkKK21zZ2lkICJBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGhhdmUgYmVlbiBkZWZpbmVkIGFscmVhZHkuIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24geGEgZXN0w6EgZW4gdXNvIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBleHRlbmRlZCBwYXJ0aXRpb24gdGFibGUgKG9mZnNldD0lanUpIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjMyOAorbXNnaWQgIllvdSBjYW4gc2V0IGdlb21ldHJ5IGZyb20gdGhlIGV4dHJhIGZ1bmN0aW9ucyBtZW51LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzMxCittc2dpZCAiRE9TLWNvbXBhdGlibGUgbW9kZSBpcyBkZXByZWNhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzM1Cittc2dpZCAiVGhlIGRldmljZSBwcmVzZW50cyBhIGxvZ2ljYWwgc2VjdG9yIHNpemUgdGhhdCBpcyBzbWFsbGVyIHRoYW4gdGhlIHBoeXNpY2FsIHNlY3RvciBzaXplLiBBbGlnbmluZyB0byBhIHBoeXNpY2FsIHNlY3RvciAob3Igb3B0aW1hbCBJL08pIHNpemUgYm91bmRhcnkgaXMgcmVjb21tZW5kZWQsIG9yIHBlcmZvcm1hbmNlIG1heSBiZSBpbXBhY3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MQorbXNnaWQgIkN5bGluZGVycyBhcyBkaXNwbGF5IHVuaXRzIGFyZSBkZXByZWNhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBzaXplIG9mIHRoaXMgZGlzayBpcyAlcyAoJWp1IGJ5dGVzKS4gRE9TIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgY2FuIG5vdCBiZSB1c2VkIG9uIGRyaXZlcyBmb3Igdm9sdW1lcyBsYXJnZXIgdGhhbiAlbHUgYnl0ZXMgZm9yICVsdS1ieXRlIHNlY3RvcnMuIFVzZSBHVUlEIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgKEdQVCkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MDMKKyMsIGZ1enp5Cittc2dpZCAiQmFkIG9mZnNldCBpbiBwcmltYXJ5IGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIk5vbiBoYWkgbcOhaXMgcGFydGljacOzbnMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiT21pdHRpbmcgcGFydGl0aW9ucyBhZnRlciAjJXp1LiBUaGV5IHdpbGwgYmUgZGVsZXRlZCBpZiB5b3Ugc2F2ZSB0aGlzIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRXh0cmEgbGluayBwb2ludGVyIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZGF0YSBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9taXR0aW5nIGVtcHR5IHBhcnRpdGlvbiAoJXp1KSIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGVsaW1pbmFyIHVuaGEgcGFydGljacOzbiBiYWxlaXJhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IERPUyBkaXNrbGFiZWwgd2l0aCBkaXNrIGlkZW50aWZpZXIgMHglMDh4LiIKK21zZ3N0ciAiJXMgbm9uIGNvbnTDqW4gbmluZ3VuaGEgZXRpcXVldGEgZGUgZGlzY28uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2ODUKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXIgdGhlIG5ldyBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjkyCisjLCBmdXp6eQorbXNnaWQgIkluY29ycmVjdCB2YWx1ZS4iCittc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcwMQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tIDB4JTA4eCB0byAweCUwOHguIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGV4dGVuZGVkIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIk5vbiBoYWkgbcOhaXMgcGFydGljacOzbnMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBmbGFnIDB4JTAyeCUwMnggb2YgRUJSIChmb3IgcGFydGl0aW9uICV6dSkgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjkyMAorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFydCBzZWN0b3IgJWp1IG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwMjYgbGliZmRpc2svc3JjL2dwdC5jOjIxMzYgbGliZmRpc2svc3JjL3NnaS5jOjgzOQorIzogbGliZmRpc2svc3JjL3N1bi5jOjUxNworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTA5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVsbHUgaXMgYWxyZWFkeSBhbGxvY2F0ZWQuIgorbXNnc3RyICIlcyBlc3TDoSBtb250YWRvLlx0ICIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjExMzMgbGliZmRpc2svc3JjL2dwdC5jOjIxNDYKKyMsIGZ1enp5Cittc2dpZCAiTm8gZnJlZSBzZWN0b3JzIGF2YWlsYWJsZS4iCittc2dzdHIgIkVzdGFkbyBkbyBzaXN0ZW1hIGRlIGZpY2hlcmlzbz0lZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTI4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQWRkaW5nIGxvZ2ljYWwgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjb250YWlucyBzZWN0b3IgMCIKK21zZ3N0ciAiQXZpc286IGEgY29udGEgZGUgbm9kb3MtaSDDqSBkZW1hc2lhZG8gZ3JhbmRlLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMxOAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBoZWFkICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHNlY3RvciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGN5bGluZGVyICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogcHJldmlvdXMgc2VjdG9ycyAldSBkaXNhZ3JlZXMgd2l0aCB0b3RhbCAldSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM4MworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBiZWdpbm5pbmdzIChub24tTGludXg/KTogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGVuZGluZ3M6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogYmFkIHN0YXJ0LW9mLWRhdGEuIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBvdmVybGFwcyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZW1wdHkuIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMb2dpY2FsIHBhcnRpdGlvbiAlenU6IG5vdCBlbnRpcmVseSBpbiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICJUb3RhbCBhbGxvY2F0ZWQgc2VjdG9ycyAlbGx1IGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSAlbGx1LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJSZW1haW5pbmcgJWxsZCB1bmFsbG9jYXRlZCAlbGQtYnl0ZSBzZWN0b3JzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUzMiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1NAorIywgZnV6enkKK21zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gYWxyZWFkeSBleGlzdHMuIgorbXNnc3RyICJDcmVhIHVuaGEgbm92YSBwYXJ0aWNpw7NuIGRlc2RlIG8gZXNwYXpvIGxpYnJlIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU3NQorIywgZnV6enkKK21zZ2lkICJUaGUgbWF4aW11bSBudW1iZXIgb2YgcGFydGl0aW9ucyBoYXMgYmVlbiBjcmVhdGVkLiIKK21zZ3N0ciAibsO6bWVybyBkZSBsacOxYXMgbm9uIHbDoWxpZG8iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTg3CisjLCBmdXp6eQorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4iCittc2dzdHIgIkVzdGEgcGFydGljacOzbiB4YSBlc3TDoSBlbiB1c28iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTg5IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjAwCisjLCBmdXp6eQorbXNnaWQgIkFsbCBzcGFjZSBmb3IgcHJpbWFyeSBwYXJ0aXRpb25zIGlzIGluIHVzZS4iCittc2dzdHIgIkVzdGEgcGFydGljacOzbiB4YSBlc3TDoSBlbiB1c28iCisKKyMuIFRSQU5TTEFUT1JTOiBUcnkgdG8ga2VlcCB0aGlzIHdpdGhpbiA4MCBjaGFyYWN0ZXJzLgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDMKK21zZ2lkICJUbyBjcmVhdGUgbW9yZSBwYXJ0aXRpb25zLCBmaXJzdCByZXBsYWNlIGEgcHJpbWFyeSB3aXRoIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDgKK21zZ2lkICJBbGwgbG9naWNhbCBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIEFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzMAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiV6dSBwcmltYXJ5LCAlZCBleHRlbmRlZCwgJXp1IGZyZWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzkKK21zZ2lkICJwcmltYXJ5IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQxCisjLCBmdXp6eQorbXNnaWQgImV4dGVuZGVkIgorbXNnc3RyICIgICBlICAgZWRpdGFyIG9zIGRhdG9zIGRhIHVuaWRhZGUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQxCisjLCBmdXp6eQorbXNnaWQgImNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDMKK21zZ2lkICJsb2dpY2FsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQzCittc2dpZCAibnVtYmVyZWQgZnJvbSA1IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiB0eXBlIGAlYycuIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB3cml0ZSBzZWN0b3IgJWpkOiBzZWVrIGZhaWxlZCIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxODUyIGxpYmZkaXNrL3NyYy9ncHQuYzoxMDk2CisjLCBmdXp6eQorbXNnaWQgIkRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiVW5pZGFkZSBkZSBkaXNjbzogJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU5Cittc2dpZCAiVHlwZSAwIG1lYW5zIGZyZWUgc3BhY2UgdG8gbWFueSBzeXN0ZW1zLiBIYXZpbmcgcGFydGl0aW9ucyBvZiB0eXBlIDAgaXMgcHJvYmFibHkgdW53aXNlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk2NAorbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdHlwZSBvZiB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIHdoaWNoIGlzIGFscmVhZHkgdXNlZCBieSBsb2dpY2FsIHBhcnRpdGlvbnMuIERlbGV0ZSBsb2dpY2FsIHBhcnRpdGlvbnMgZmlyc3QuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTQzIGxpYmZkaXNrL3NyYy9ncHQuYzoyODIxCittc2dpZCAiTm90aGluZyB0byBkby4gT3JkZXJpbmcgaXMgY29ycmVjdCBhbHJlYWR5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogbm8gZGF0YSBhcmVhLiIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjIyMgorbXNnaWQgIk5ldyBiZWdpbm5pbmcgb2YgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaXMgYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiTm9uIGhhaSBtw6FpcyBwYXJ0aWNpw7NucyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJUcm9jYSBhIG9wY2nDs24gZGUgYXJyaW5xdWUgZGEgcGFydGljacOzbiBhY3R1YWwiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIlRyb2NhIGEgb3BjacOzbiBkZSBhcnJpbnF1ZSBkYSBwYXJ0aWNpw7NuIGFjdHVhbCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyOTggbGliZmRpc2svc3JjL2dwdC5jOjI5MTEgbGliZmRpc2svc3JjL3NnaS5jOjExNTMKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTA5Cittc2dpZCAiRGV2aWNlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjk5IGxpYmZkaXNrL3NyYy9zdW4uYzo0MQorbXNnaWQgIkJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDUgbGliZmRpc2svc3JjL3NnaS5jOjExNTkgbGliZmRpc2svc3JjL3N1bi5jOjExMTUKK21zZ2lkICJJZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwOQorbXNnaWQgIlN0YXJ0LUMvSC9TIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzEwCittc2dpZCAiRW5kLUMvSC9TIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzExIGxpYmZkaXNrL3NyYy9ncHQuYzoyOTIxIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTYxCittc2dpZCAiQXR0cnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MAorbXNnaWQgIkVGSSBTeXN0ZW0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MgorIywgZnV6enkKK21zZ2lkICJNQlIgcGFydGl0aW9uIHNjaGVtZSIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjMKK21zZ2lkICJJbnRlbCBGYXN0IEZsYXNoIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjYKKyMsIGZ1enp5Cittc2dpZCAiQklPUyBib290IgorbXNnc3RyICJFbGltaW5hIGEgcGFydGljacOzbiBhY3R1YWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjkKKyMsIGZ1enp5Cittc2dpZCAiU29ueSBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiTm9uIGhhaSBtw6FpcyBwYXJ0aWNpw7NucyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MAorIywgZnV6enkKK21zZ2lkICJMZW5vdm8gYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIkVsaW1pbmEgYSBwYXJ0aWNpw7NuIGFjdHVhbCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MworbXNnaWQgIlBvd2VyUEMgUFJlUCBib290IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzYKKyMsIGZ1enp5Cittc2dpZCAiT05JRSBib290IgorbXNnc3RyICJFbGltaW5hIGEgcGFydGljacOzbiBhY3R1YWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzcKK21zZ2lkICJPTklFIGNvbmZpZyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwCittc2dpZCAiTWljcm9zb2Z0IHJlc2VydmVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODEKK21zZ2lkICJNaWNyb3NvZnQgYmFzaWMgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgyCittc2dpZCAiTWljcm9zb2Z0IExETSBtZXRhZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgzCittc2dpZCAiTWljcm9zb2Z0IExETSBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODQKK21zZ2lkICJXaW5kb3dzIHJlY292ZXJ5IGVudmlyb25tZW50IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODUKK21zZ2lkICJJQk0gR2VuZXJhbCBQYXJhbGxlbCBGcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg2Cittc2dpZCAiTWljcm9zb2Z0IFN0b3JhZ2UgU3BhY2VzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiSFAtVVggZGF0YSIKK21zZ3N0ciAiICAgZCAgIGVsaW1pbmFyIGEgcGFydGljacOzbiBCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTAKKyMsIGZ1enp5Cittc2dpZCAiSFAtVVggc2VydmljZSIKK21zZ3N0ciAiTm9uIGhhaSBtw6FpcyBwYXJ0aWNpw7NucyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MyBsaWJmZGlzay9zcmMvc2dpLmM6NjEgbGliZmRpc2svc3JjL3N1bi5jOjUyCittc2dpZCAiTGludXggc3dhcCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk0CisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IGZpbGVzeXN0ZW0iCittc2dzdHIgIkVzdGFkbyBkbyBzaXN0ZW1hIGRlIGZpY2hlcmlzbz0lZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk1CisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IHNlcnZlciBkYXRhIgorbXNnc3RyICIgICBlICAgZWRpdGFyIG9zIGRhdG9zIGRhIHVuaWRhZGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTYKK21zZ2lkICJMaW51eCByb290ICh4ODYpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcKK21zZ2lkICJMaW51eCByb290IChBUk0pIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTgKK21zZ2lkICJMaW51eCByb290ICh4ODYtNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTkKK21zZ2lkICJMaW51eCByb290IChBUk0tNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAKK21zZ2lkICJMaW51eCByb290XHQoSUEtNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDEKK21zZ2lkICJMaW51eCByZXNlcnZlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAyCisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IGhvbWUiCittc2dzdHIgInNlbiBldGlxdWV0YSwgIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2NAorbXNnaWQgIkxpbnV4IFJBSUQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNAorbXNnaWQgIkxpbnV4IGV4dGVuZGVkIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMgorbXNnaWQgIkZyZWVCU0QgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzCittc2dpZCAiRnJlZUJTRCBib290IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQKK21zZ2lkICJGcmVlQlNEIHN3YXAiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNQorbXNnaWQgIkZyZWVCU0QgVUZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTYKK21zZ2lkICJGcmVlQlNEIFpGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3Cittc2dpZCAiRnJlZUJTRCBWaW51bSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIwCittc2dpZCAiQXBwbGUgSEZTL0hGUysiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMQorbXNnaWQgIkFwcGxlIFVGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyCittc2dpZCAiQXBwbGUgUkFJRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzCittc2dpZCAiQXBwbGUgUkFJRCBvZmZsaW5lIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjQKK21zZ2lkICJBcHBsZSBib290IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjUKK21zZ2lkICJBcHBsZSBsYWJlbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI2Cittc2dpZCAiQXBwbGUgVFYgcmVjb3ZlcnkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNworbXNnaWQgIkFwcGxlIENvcmUgc3RvcmFnZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMxCittc2dpZCAiU29sYXJpcyByb290IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMKK21zZ2lkICJTb2xhcmlzIC91c3IgJiBBcHBsZSBaRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNAorbXNnaWQgIlNvbGFyaXMgc3dhcCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM1Cittc2dpZCAiU29sYXJpcyBiYWNrdXAiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNgorbXNnaWQgIlNvbGFyaXMgL3ZhciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM3Cittc2dpZCAiU29sYXJpcyAvaG9tZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM4Cittc2dpZCAiU29sYXJpcyBhbHRlcm5hdGUgc2VjdG9yIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MAorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDIKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MworbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2Cittc2dpZCAiTmV0QlNEIHN3YXAiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NworbXNnaWQgIk5ldEJTRCBGRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OAorbXNnaWQgIk5ldEJTRCBMRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OQorbXNnaWQgIk5ldEJTRCBjb25jYXRlbmF0ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MAorbXNnaWQgIk5ldEJTRCBlbmNyeXB0ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MQorbXNnaWQgIk5ldEJTRCBSQUlEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTQKK21zZ2lkICJDaHJvbWVPUyBrZXJuZWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NQorbXNnaWQgIkNocm9tZU9TIHJvb3QgZnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NgorbXNnaWQgIkNocm9tZU9TIHJlc2VydmVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTkKK21zZ2lkICJNaWRuaWdodEJTRCBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjAKK21zZ2lkICJNaWRuaWdodEJTRCBib290IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjEKK21zZ2lkICJNaWRuaWdodEJTRCBzd2FwIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjIKK21zZ2lkICJNaWRuaWdodEJTRCBVRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MworbXNnaWQgIk1pZG5pZ2h0QlNEIFpGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY0Cittc2dpZCAiTWlkbmlnaHRCU0QgVmludW0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NworbXNnaWQgIkNlcGggSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4Cittc2dpZCAiQ2VwaCBFbmNyeXB0ZWQgSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5Cittc2dpZCAiQ2VwaCBPU0QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MAorbXNnaWQgIkNlcGggY3J5cHQgT1NEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzEKK21zZ2lkICJDZXBoIGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MgorbXNnaWQgIkNlcGggY3J5cHQgZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1Cittc2dpZCAiT3BlbkJTRCBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzgKKyMsIGZ1enp5Cittc2dpZCAiUU5YNiBmaWxlIHN5c3RlbSIKK21zZ3N0ciAiRXN0YWRvIGRvIHNpc3RlbWEgZGUgZmljaGVyaXNvPSVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyODEKKyMsIGZ1enp5Cittc2dpZCAiUGxhbiA5IHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgZCAgIGVsaW1pbmFyIGEgcGFydGljacOzbiBCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo1NDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdQVCBoZWFkZXIiCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gYW8gcmVzZXJ2YXIgbyBiw7pmZXIgZGUgc2HDrWRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NjMwCittc2dpZCAiRmlyc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NjQyCittc2dpZCAiTGFzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR1BUIFBNQlIgc2l6ZSBtaXNtYXRjaCAoJTxQUkl1NjQ+ICE9ICU8UFJJdTY0Pikgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjc5MgorIywgZnV6enkKK21zZ2lkICJncHQ6IHN0YXQoKSBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6ODAyCisjLCBjLWZvcm1hdAorbXNnaWQgImdwdDogY2Fubm90IGhhbmRsZSBmaWxlcyB3aXRoIG1vZGUgJW8iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEwNjQKK21zZ2lkICJHUFQgSGVhZGVyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMDY5Cittc2dpZCAiR1BUIEVudHJpZXMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExMDMKKyMsIGZ1enp5Cittc2dpZCAiRmlyc3QgTEJBIgorbXNnc3RyICJQcmltZWlybyAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExMDgKK21zZ2lkICJMYXN0IExCQSIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIExCQSAoTG9naWNhbCBCbG9jayBBZGRyZXNzKSBvZiB0aGUgYmFja3VwIEdQVCBoZWFkZXIuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTExNAorbXNnaWQgIkFsdGVybmF0aXZlIExCQSIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YXJ0IG9mIHRoZSBhcnJheSBvZiBwYXJ0aXRpb24gZW50cmllcy4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTIwCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBlbnRyaWVzIExCQSIKK21zZ3N0ciAiICAgZCAgIGVsaW1pbmFyIGEgcGFydGljacOzbiBCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTI1CisjLCBmdXp6eQorbXNnaWQgIkFsbG9jYXRlZCBwYXJ0aXRpb24gZW50cmllcyIKK21zZ3N0ciAiICAgZCAgIGVsaW1pbmFyIGEgcGFydGljacOzbiBCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNDQwCittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBwcmltYXJ5IGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTQ0OQorbXNnaWQgIlRoZSBwcmltYXJ5IEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIGJhY2t1cCBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIEdQVCBhdHRyaWJ1dGUgYml0ICclcyciCittc2dzdHIgIiVzIG5lY2VzaXRhIHVuIGFyZ3VtZW50b1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIEdQVCBhdHRyaWJ1dGUgc3RyaW5nICclcyciCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gVVVJRCBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIG5hbWUgY2hhbmdlZCBmcm9tICclcycgdG8gJyUuKnMnLiIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NjgKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gdW5kZXJzdGVwcyBGaXJzdFVzYWJsZUxCQS4iCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NzUKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGVuZCBvZiB0aGUgcGFydGl0aW9uIG92ZXJzdGVwcyBMYXN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzNAorbXNnaWQgIlRoZSBkZXZpY2UgY29udGFpbnMgaHlicmlkIE1CUiAtLSB3cml0aW5nIEdQVCBvbmx5LiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBNQlIgbWFudWFsbHkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcxCittc2dpZCAiRGlzayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NzYKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5ODAKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4NQorIywgZnV6enkKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiBlbnRyeSBjaGVja3N1bS4iCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5MAorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTk0Cittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5OQorbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBwcmltYXJ5IGhlYWRlci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMDMKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMDgKK21zZ2lkICJEaXNrIGlzIHRvbyBzbWFsbCB0byBob2xkIGFsbCBkYXRhLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAxOAorbXNnaWQgIlByaW1hcnkgYW5kIGJhY2t1cCBoZWFkZXIgbWlzbWF0Y2guIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBwYXJ0aXRpb24gJXUuIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBpcyB0b28gYmlnIGZvciB0aGUgZGlzay4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGVuZHMgYmVmb3JlIGl0IHN0YXJ0cy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDcKK21zZ2lkICJObyBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJIZWFkZXIgdmVyc2lvbjogJXMiCittc2dzdHIgImVycm8gZGUgYW7DoWxpc2U6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgJXUgb3V0IG9mICVkIHBhcnRpdGlvbnMuIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudC4iCittc2dpZF9wbHVyYWwgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudHMgKHRoZSBsYXJnZXN0IGlzICVzKS4iCittc2dzdHJbMF0gIkVzdGFkbyBkbyBzaXN0ZW1hIGRlIGZpY2hlcmlzbz0lZFxuIgorbXNnc3RyWzFdICJFc3RhZG8gZG8gc2lzdGVtYSBkZSBmaWNoZXJpc289JWRcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgZXJyb3IgZGV0ZWN0ZWQuIgorbXNnaWRfcGx1cmFsICIlZCBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNDIKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgYXJlIGFscmVhZHkgaW4gdXNlLiIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIHhhIGVzdMOhIGVuIHVzbyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOTcgbGliZmRpc2svc3JjL2dwdC5jOjIyMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVqdSBhbHJlYWR5IHVzZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgbGFzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlyc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgR1BUIGRpc2tsYWJlbCAoR1VJRDogJXMpLiIKK21zZ3N0ciAiJXMgbm9uIGNvbnTDqW4gbmluZ3VuaGEgZXRpcXVldGEgZGUgZGlzY28uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDQ3Cittc2dpZCAiRW50ZXIgbmV3IGRpc2sgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDU0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSB5b3VyIFVVSUQuIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDg4CisjLCBmdXp6eQorbXNnaWQgIk5vdCBlbm91Z2ggc3BhY2UgZm9yIG5ldyBwYXJ0aXRpb24gdGFibGUhIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMldSBvdXQgb2YgcmFuZ2UgKG1pbmltYWwgc3RhcnQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXUgb3V0IG9mIHJhbmdlIChtYXhpbWFsIGVuZCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBudW1iZXIgb2YgdGhlIHBhcnRpdGlvbiBoYXMgYmUgc21hbGxlciB0aGFuICV6dS4iCittc2dzdHIgIm7Dum1lcm8gZGUgbGnDsWFzIG5vbiB2w6FsaWRvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU2MworIywgZnV6enkKK21zZ2lkICJDYW5ub3QgYWxsb2NhdGUgbWVtb3J5ISIKK21zZ3N0ciAiTm9uIHNlIHBvZGUgZWZlY3R1YXIgwqtzdGF0wrsgc29icmUgbyBkaXNwb3NpdGl2byAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBsZW5ndGggY2hhbmdlZCBmcm9tICU8UFJJdTMyPiB0byAlPFBSSXU2ND4uIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGF0dHJpYnV0ZXMgb24gcGFydGl0aW9uICV6dSBjaGFuZ2VkIHRvIDB4JTAxNjxQUkl4NjQ+LiIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc0MgorbXNnaWQgIkVudGVyIEdVSUQgc3BlY2lmaWMgYml0IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdG9nZ2xlIHVuc3VwcG9ydGVkIGJpdCAlbHUiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE4CisjLCBmdXp6eQorbXNnaWQgIlR5cGUtVVVJRCIKK21zZ3N0ciAidGlwbyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTkKK21zZ2lkICJVVUlEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTIwIGxvZ2luLXV0aWxzL2NoZm4uYzoxNTAgbG9naW4tdXRpbHMvY2hmbi5jOjE1MgorIzogbG9naW4tdXRpbHMvY2hmbi5jOjMwNworbXNnaWQgIk5hbWUiCittc2dzdHIgIk5vbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzo4NDAKK21zZ2lkICJGcmVlIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzoxMjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiAjJXp1LiIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0dHlwZS5jOjI1OSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTUgc2NoZWR1dGlscy9jaHJ0LmM6MjA2CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc5IHN5cy11dGlscy9od2Nsb2NrLmM6MzM0Cittc2dpZCAidW5rbm93biIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDcKK21zZ2lkICJTR0kgdm9saGRyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OAorbXNnaWQgIlNHSSB0cmtyZXBsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OQorbXNnaWQgIlNHSSBzZWNyZXBsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MAorbXNnaWQgIlNHSSByYXciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUxCittc2dpZCAiU0dJIGJzZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTIKK21zZ2lkICJTR0kgc3lzdiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTMKK21zZ2lkICJTR0kgdm9sdW1lIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NAorbXNnaWQgIlNHSSBlZnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU1Cittc2dpZCAiU0dJIGx2b2wiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU2Cittc2dpZCAiU0dJIHJsdm9sIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NworbXNnaWQgIlNHSSB4ZnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU4Cittc2dpZCAiU0dJIHhmc2xvZyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTkKK21zZ2lkICJTR0kgeGx2IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MAorbXNnaWQgIlNHSSB4dm0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyIGxpYmZkaXNrL3NyYy9zdW4uYzo1MworbXNnaWQgIkxpbnV4IG5hdGl2ZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTU5Cittc2dpZCAiU0dJIGluZm8gY3JlYXRlZCBvbiBzZWNvbmQgc2VjdG9yLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjU5Cittc2dpZCAiRGV0ZWN0ZWQgYW4gU0dJIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjgyIGxpYmZkaXNrL3NyYy9zdW4uYzo3NzAKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJjaWxpbmRyb3MiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODcgbGliZmRpc2svc3JjL3N1bi5jOjc3NQorIywgZnV6enkKK21zZ2lkICJFeHRyYSBzZWN0cy9jeWwiCittc2dzdHIgInBpc3Rhcy9jaWxpbmRybyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI5NworIywgZnV6enkKK21zZ2lkICJCb290ZmlsZSIKK21zZ3N0ciAiKFNlZ3VpbnRlIGZpY2hlaXJvOiAlcykiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzozOTUKK21zZ2lkICJJbnZhbGlkIGJvb3RmaWxlISAgVGhlIGJvb3RmaWxlIG11c3QgYmUgYW4gYWJzb2x1dGUgbm9uLXplcm8gcGF0aG5hbWUsIGUuZy4gXCIvdW5peFwiIG9yIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDAxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlIG1heGltdW0uIgorbXNnaWRfcGx1cmFsICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZXMgbWF4aW11bS4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDA4Cittc2dpZCAiQm9vdGZpbGUgbXVzdCBoYXZlIGEgZnVsbHkgcXVhbGlmaWVkIHBhdGhuYW1lLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDE0Cittc2dpZCAiQmUgYXdhcmUgdGhhdCB0aGUgYm9vdGZpbGUgaXMgbm90IGNoZWNrZWQgZm9yIGV4aXN0ZW5jZS4gIFNHSSdzIGRlZmF1bHQgaXMgXCIvdW5peFwiLCBhbmQgZm9yIGJhY2t1cCBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgY3VycmVudCBib290IGZpbGUgaXM6ICVzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDEKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXIgb2YgdGhlIG5ldyBib290IGZpbGUiCittc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQ2CisjLCBmdXp6eQorbXNnaWQgIkJvb3QgZmlsZSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIGFvIHJlc2VydmFyIG8gYsO6ZmVyIGRlIHNhw61kYSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQm9vdGZpbGUgaGFzIGJlZW4gY2hhbmdlZCB0byBcIiVzXCIuIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIGFvIHJlc2VydmFyIG8gYsO6ZmVyIGRlIHNhw61kYSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5NgorbXNnaWQgIk1vcmUgdGhhbiBvbmUgZW50aXJlIGRpc2sgZW50cnkgcHJlc2VudC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYwMyBsaWJmZGlzay9zcmMvc3VuLmM6NDU4CisjLCBmdXp6eQorbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZC4iCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEzCittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gc2hvdWxkIHN0YXJ0IGF0IGJsb2NrIDAsIG5vdCBhdCBibG9jayAlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyOAorbXNnaWQgIlBhcnRpdGlvbiAxMSBzaG91bGQgY292ZXIgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3Rvci4iCittc2dpZF9wbHVyYWwgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9ycy4iCittc2dzdHJbMF0gIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKK21zZ3N0clsxXSAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjYzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yOiBzZWN0b3IgJTh1IgorbXNnaWRfcGx1cmFsICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3JzOiBzZWN0b3JzICU4dS0ldSIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2OTgKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGJvb3QgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzAyCisjLCBmdXp6eQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwNgorIywgZnV6enkKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gaGFzIG5vIHN3YXAgdHlwZS4iCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwOQorbXNnaWQgIllvdSBoYXZlIGNob3NlbiBhbiB1bnVzdWFsIGJvb3RmaWxlIG5hbWUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3NTkKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDQKK21zZ2lkICJBdHRlbXB0aW5nIHRvIGdlbmVyYXRlIGVudGlyZSBkaXNrIGVudHJ5IGF1dG9tYXRpY2FsbHkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDkKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgaXMgYWxyZWFkeSBjb3ZlcmVkIHdpdGggcGFydGl0aW9ucy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg1MworbXNnaWQgIllvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODc1IGxpYmZkaXNrL3NyYy9zdW4uYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3QgJXMiCittc2dzdHIgIlByaW1laXJvICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODk5IGxpYmZkaXNrL3NyYy9zZ2kuYzo5NDkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgZWxldmVudGggcGFydGl0aW9uIGNvdmVycyB0aGUgZW50aXJlIGRpc2sgYW5kIGlzIG9mIHR5cGUgJ1NHSSB2b2x1bWUnLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTE0IGxpYmZkaXNrL3NyYy9zdW4uYzo2MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCAlcyBvciArJXMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTg1IGxpYmZkaXNrL3NyYy9zdW4uYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuIFRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDUxCisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU0dJIGRpc2tsYWJlbC4iCittc2dzdHIgIiVzIG5vbiBjb250w6luIG5pbmd1bmhhIGV0aXF1ZXRhIGRlIGRpc2NvLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3MAorbXNnaWQgIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3NgorbXNnaWQgIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDkgYXMgdm9sdW1lIGhlYWRlciAoMCksIGFuZCBwYXJ0aXRpb24gMTEgYXMgZW50aXJlIHZvbHVtZSAoNiksIGFzIElSSVggZXhwZWN0cyBpdC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwODUKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwIGlzIG9mIHR5cGUgXCJTR0kgdm9saGRyXCIsIHRoZSBJUklYIHN5c3RlbSB3aWxsIHJlbHkgb24gaXQgdG8gcmV0cmlldmUgZnJvbSBpdHMgZGlyZWN0b3J5IHN0YW5kYWxvbmUgdG9vbHMgbGlrZSBzYXNoIGFuZCBmeC4gT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiBBcmUgeW91IHN1cmUgYWJvdXQgdGFnZ2luZyB0aGlzIHBhcnRpdGlvbiBkaWZmZXJlbnRseT8iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQwCittc2dpZCAiVW5hc3NpZ25lZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDIKK21zZ2lkICJTdW5PUyByb290IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MworbXNnaWQgIlN1bk9TIHN3YXAiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ0Cittc2dpZCAiU3VuT1MgdXNyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NQorbXNnaWQgIldob2xlIGRpc2siCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2Cittc2dpZCAiU3VuT1Mgc3RhbmQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ3Cittc2dpZCAiU3VuT1MgdmFyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0OAorbXNnaWQgIlN1bk9TIGhvbWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ5Cittc2dpZCAiU3VuT1MgYWx0IHNlY3RvcnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUwCittc2dpZCAiU3VuT1MgY2FjaGVmcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTEKK21zZ2lkICJTdW5PUyByZXNlcnZlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTM3Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiBQcm9iYWJseSB5b3UnbGwgaGF2ZSB0byBzZXQgYWxsIHRoZSB2YWx1ZXMsIGUuZy4gaGVhZHMsIHNlY3RvcnMsIGN5bGluZGVycyBhbmQgcGFydGl0aW9ucyBvciBmb3JjZSBhIGZyZXNoIGxhYmVsIChzIGNvbW1hbmQgaW4gbWFpbiBtZW51KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2ZXJzaW9uIFslZF0uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2Muc2FuaXR5IFsweCUwOHhdLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLm5wYXJ0cyBbJXVdLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTY1Cittc2dpZCAiV2FybmluZzogV3JvbmcgdmFsdWVzIG5lZWQgdG8gYmUgZml4ZWQgdXAgYW5kIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE5MgorbXNnaWQgIkhlYWRzIgorbXNnc3RyICJDYWJlemFzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTk0Cittc2dpZCAiU2VjdG9ycy90cmFjayIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Mjk3CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU3VuIGRpc2tsYWJlbC4iCittc2dzdHIgIiVzIG5vbiBjb250w6luIG5pbmd1bmhhIGV0aXF1ZXRhIGRlIGRpc2NvLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZG9lc24ndCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIG90aGVycyBpbiBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzIDAtJXUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjUgbGliZmRpc2svc3JjL3N1bi5jOjQ3MQorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUyOAorbXNnaWQgIk90aGVyIHBhcnRpdGlvbnMgYWxyZWFkeSBjb3ZlciB0aGUgd2hvbGUgZGlzay4gRGVsZXRlIHNvbWUvc2hyaW5rIHRoZW0gYmVmb3JlIHJldHJ5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWQgaXMgYWxyZWFkeSBhbGxvY2F0ZWQiCittc2dzdHIgIiVzIGVzdMOhIG1vbnRhZG8uXHQgIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NjAwCittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHRoaXJkIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIHdob2xlIGRpc2sgYW5kIGlzIG9mIHR5cGUgYFdob2xlIGRpc2snIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25pbmcgdGhlIGZpcnN0IHNlY3RvciBmcm9tICV1IHRvICV1IHRvIGJlIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Njg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZW4ndCBjb3ZlcmVkIHRoZSB3aG9sZSBkaXNrIHdpdGggdGhlIDNyZCBwYXJ0aXRpb24sIGJ1dCB5b3VyIHZhbHVlXG4iCisiJWx1ICVzIGNvdmVycyBzb21lIG90aGVyIHBhcnRpdGlvbi4gWW91ciBlbnRyeSBoYXMgYmVlbiBjaGFuZ2VkXG4iCisidG8gJWx1ICVzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gU3VuT1MvU29sYXJpcyBjb21wYXRpYmlsaXR5LCBjb25zaWRlciBsZWF2aW5nIHRoaXMgcGFydGl0aW9uIGFzIFdob2xlIGRpc2sgKDUpLCBzdGFydGluZyBhdCAwLCB3aXRoICV1IHNlY3RvcnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc1MAorIywgZnV6enkKK21zZ2lkICJMYWJlbCBJRCIKK21zZ3N0ciAiZXRpcXVldGE6ICUuKnNcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc1NQorIywgZnV6enkKK21zZ2lkICJWb2x1bWUgSUQiCittc2dzdHIgIlZvbHVtZTogPCUtNnM+XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjUKKyMsIGZ1enp5Cittc2dpZCAiQWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiY2lsaW5kcm9zIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6ODcxCittc2dpZCAiTnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg5NgorbXNnaWQgIkV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MjAKK21zZ2lkICJJbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTQ0Cittc2dpZCAiUm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk2OAorbXNnaWQgIk51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwMzcKK21zZ2lkICIiCisiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gMyBhcyBXaG9sZSBkaXNrICg1KSxcbiIKKyJhcyBTdW5PUy9Tb2xhcmlzIGV4cGVjdHMgaXQgYW5kIGV2ZW4gTGludXggbGlrZXMgaXQuXG4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNDgKK21zZ2lkICIiCisiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMFxuIgorImlzIFVGUywgRVhUMkZTIGZpbGVzeXN0ZW0gb3IgU3VuT1Mgc3dhcC4gUHV0dGluZyBMaW51eCBzd2FwXG4iCisidGhlcmUgbWF5IGRlc3Ryb3kgeW91ciBwYXJ0aXRpb24gdGFibGUgYW5kIGJvb3RibG9jay5cbiIKKyJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdGFnIHRoZSBwYXJ0aXRpb24gYXMgTGludXggc3dhcD8iCittc2dzdHIgIiIKKworIzogbGliL3BhZ2VyLmM6MTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCAoJXMpIgorbXNnc3RyICJ3cml0ZSBmYWxvdTogKCVzKSIKKworIzogbGliL3BhdGguYzoyMDkgc3lzLXV0aWxzL2xzY3B1LmM6MTgxOAorbXNnaWQgImZhaWxlZCB0byBjYWxsb2NhdGUgY3B1IHNldCIKK21zZ3N0ciAiIgorCisjOiBsaWIvcGF0aC5jOjIxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0ICVzIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBsaWIvcGF0aC5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2sgJXMiCittc2dzdHIgIiIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MgorIywgZnV6enkKK21zZ2lkICJjYW4gbm90IG9wZW4gVU5JWCBzb2NrZXQiCittc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjc4CisjLCBmdXp6eQorbXNnaWQgImNhbiBub3Qgc2V0IG9wdGlvbiBmb3IgVU5JWCBzb2NrZXQiCittc2dzdHIgIm5vbiBzZSBwb2RlIG9idGVyIG8gdGFtYcOxbyBkZSAlcyIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo5MQorIywgZnV6enkKK21zZ2lkICJjYW4gbm90IGNvbm5lY3Qgb24gVU5JWCBzb2NrZXQiCittc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGx5bW91dGggcmVxdWVzdCAlYyBpcyBub3QgaW1wbGVtZW50ZWQiCittc2dzdHIgIiIKKworIzogbGliL3JhbmR1dGlscy5jOjEzNgorbXNnaWQgImxpYmMgcHNldWRvLXJhbmRvbSBmdW5jdGlvbnMiCittc2dzdHIgIiIKKworIzogbGliL3N3YXBwcm9iZXIuYzoxNyBsaWIvc3dhcHByb2Jlci5jOjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gcHJvYmUgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYmlndW91cyBwcm9iaW5nIHJlc3VsdDsgdXNlIHdpcGVmcyg4KSIKK21zZ3N0ciAiIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSB2YWxpZCBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bnN1cHBvcnRlZCBzd2FwIHZlcnNpb24gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTAgbG9naW4tdXRpbHMvY2hzaC5jOjY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+XVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTMKK21zZ2lkICJDaGFuZ2UgeW91ciBmaW5nZXIgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk2Cittc2dpZCAiIC1mLCAtLWZ1bGwtbmFtZSA8ZnVsbC1uYW1lPiAgcmVhbCBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk3Cittc2dpZCAiIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICAgb2ZmaWNlIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OAorbXNnaWQgIiAtcCwgLS1vZmZpY2UtcGhvbmUgPHBob25lPiAgIG9mZmljZSBwaG9uZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTkKK21zZ2lkICIgLWgsIC0taG9tZS1waG9uZSA8cGhvbmU+ICAgICBob21lIHBob25lIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDEgbG9naW4tdXRpbHMvY2hzaC5jOjc4Cittc2dpZCAiIC11LCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjExNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmllbGQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgIkEgbGnDsWEgw6kgZGVtYXNpYWRvIGxvbmdhIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTIxIGxvZ2luLXV0aWxzL2Noc2guYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGhhcyBpbGxlZ2FsIGNoYXJhY3RlcnMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1MCBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW4uZGVmcyBmb3JiaWRzIHNldHRpbmcgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTU4IGxvZ2luLXV0aWxzL2NoZm4uYzozMDkKK21zZ2lkICJPZmZpY2UiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2MiBsb2dpbi11dGlscy9jaGZuLmM6MTY0IGxvZ2luLXV0aWxzL2NoZm4uYzozMTEKK21zZ2lkICJPZmZpY2UgUGhvbmUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2OCBsb2dpbi11dGlscy9jaGZuLmM6MTcwIGxvZ2luLXV0aWxzL2NoZm4uYzozMTMKK21zZ2lkICJIb21lIFBob25lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyMzMKKyMsIGZ1enp5Cittc2dpZCAiQWJvcnRlZC4iCittc2dzdHIgImNvbXByb2JhY2nDs24gYWJvcnRhZGEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgaGFzIHVuZXhwZWN0ZWQgdmFsdWU6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgZG9lcyBub3QgYWxsb3cgYW55IGNoYW5nZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBjaGFuZ2VkLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MDggbG9naW4tdXRpbHMvY2hzaC5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJ5b3UgKHVzZXIgJWQpIGRvbid0IGV4aXN0LiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDE0IGxvZ2luLXV0aWxzL2Noc2guYzoyNDggbG9naW4tdXRpbHMvbGlidXNlci5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgXCIlc1wiIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDIwIGxvZ2luLXV0aWxzL2Noc2guYzoyNTQKK21zZ2lkICJjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgZmluZ2VyIGluZm8gb2YgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzNSBsb2dpbi11dGlscy9jaHNoLmM6MjcwCittc2dpZCAiVW5rbm93biB1c2VyIGNvbnRleHQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ0MSBsb2dpbi11dGlscy9jaHNoLmM6Mjc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAibm9uIHNlIHBvZGUgb2J0ZXIgbyB0YW1hw7FvIGRlICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDUyCittc2dpZCAicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSBhbHRlcmluZywgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIGZpbmdlciBpbmZvcm1hdGlvbiBmb3IgJXMuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gbm90IGNoYW5nZWQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjcyCittc2dpZCAiQ2hhbmdlIHlvdXIgbG9naW4gc2hlbGwuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc1Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gIHNwZWNpZnkgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6NzYKK21zZ2lkICIgLWwsIC0tbGlzdC1zaGVsbHMgICAgcHJpbnQgbGlzdCBvZiBzaGVsbHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MTAwCittc2dpZCAiTm8ga25vd24gc2hlbGxzLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjAwCittc2dpZCAic2hlbGwgbXVzdCBiZSBhIGZ1bGwgcGF0aCBuYW1lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGlzIG5vdCBleGVjdXRhYmxlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IFwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLiIKK21zZ3N0ciAiJXMgZXN0w6EgbW9udGFkby5cdCAiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMTQgbG9naW4tdXRpbHMvY2hzaC5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuXG4iCisiVXNlICVzIC1sIHRvIHNlZSBsaXN0LiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgc2hlbGwgb2YgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI5NQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIHNoZWxsIGlzIG5vdCBpbiAlcywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIHNoZWxsIGZvciAlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzEyCittc2dpZCAiTmV3IHNoZWxsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjAKK21zZ2lkICJTaGVsbCBub3QgY2hhbmdlZC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyNQorbXNnaWQgIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjkKK21zZ2lkICIiCisic2V0cHduYW0gZmFpbGVkXG4iCisiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICJTaGVsbCBjaGFuZ2VkLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIDxwYXNzd29yZGZpbGU+IDx1c2VybmFtZT4uLi5cbiIKK21zZ3N0ciAidXNvOiByZXYgW2ZpY2hlaXJvLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MTc0IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyMCBzeXMtdXRpbHMvZG1lc2cuYzoxMTkzCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdGltZSBmb3JtYXQ6ICVzIgorbXNnc3RyICJPcmRlIGRlc2Nvw7FlY2lkYTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyODEgbG9naW4tdXRpbHMvbGFzdC5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcnJ1cHRlZCAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NDM5IGxvZ2luLXV0aWxzL2xhc3QuYzo0NTAKK21zZ2lkICJwcmVhbGxvY2F0aW9uIHNpemUgZXhjZWVkZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPi4uLl0gWzx0dHk+Li4uXVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTcyCittc2dpZCAiU2hvdyBhIGxpc3Rpbmcgb2YgbGFzdCBsb2dnZWQgaW4gdXNlcnMuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NQorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NgorbXNnaWQgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBkaXNwbGF5IGhvc3RuYW1lcyBpbiB0aGUgbGFzdCBjb2x1bW5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc3Cittc2dpZCAiIC1kLCAtLWRucyAgICAgICAgICAgIHRyYW5zbGF0ZSB0aGUgSVAgbnVtYmVyIGJhY2sgaW50byBhIGhvc3RuYW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OQorIywgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgdXNlIGEgc3BlY2lmaWMgZmlsZSBpbnN0ZWFkIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MAorbXNnaWQgIiAtRiwgLS1mdWxsdGltZXMgICAgICBwcmludCBmdWxsIGxvZ2luIGFuZCBsb2dvdXQgdGltZXMgYW5kIGRhdGVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taXAgICAgICAgICAgICAgZGlzcGxheSBJUCBudW1iZXJzIGluIG51bWJlcnMtYW5kLWRvdHMgbm90YXRpb25cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgyCittc2dpZCAiIC1uLCAtLWxpbWl0IDxudW1iZXI+IGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgzCisjLCBmdXp6eQorbXNnaWQgIiAtUiwgLS1ub2hvc3RuYW1lICAgICBkb24ndCBkaXNwbGF5IHRoZSBob3N0bmFtZSBmaWVsZFxuIgorbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltaSBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyDDoSBwYW50YWxsYSBvdSBhIHVuIGZpY2hlaXJvIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg0Cittc2dpZCAiIC1zLCAtLXNpbmNlIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHNpbmNlIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODUKK21zZ2lkICIgLXQsIC0tdW50aWwgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgdW50aWwgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NgorbXNnaWQgIiAtcCwgLS1wcmVzZW50IDx0aW1lPiBkaXNwbGF5IHdobyB3ZXJlIHByZXNlbnQgYXQgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NworIywgZnV6enkKK21zZ2lkICIgLXcsIC0tZnVsbG5hbWVzICAgICAgZGlzcGxheSBmdWxsIHVzZXIgYW5kIGRvbWFpbiBuYW1lc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODgKK21zZ2lkICIgLXgsIC0tc3lzdGVtICAgICAgICAgZGlzcGxheSBzeXN0ZW0gc2h1dGRvd24gZW50cmllcyBhbmQgcnVuIGxldmVsIGNoYW5nZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg5Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXBzIGluIHRoZSBzcGVjaWZpZWQgPGZvcm1hdD46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGltZXxzaG9ydHxmdWxsfGlzb1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo4ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzIGJlZ2lucyAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTU2IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjQKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk3NyBsb2dpbi11dGlscy9sYXN0LmM6OTgyIGxvZ2luLXV0aWxzL2xhc3QuYzo5ODcKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWUgdmFsdWUgXCIlc1wiIgorbXNnc3RyICJjb252ZXJ0ZXIgYSBob3JhIHJ0YyIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjI5IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzozMQorbXNnaWQgIkNvdWxkbid0IGRyb3AgZ3JvdXAgcHJpdmlsZWdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibGlidXNlciBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVzLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTIKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdpbmcgdXNlciBhdHRyaWJ1dGUgZmFpbGVkIgorbXNnc3RyICJhIGV4ZWN1Y2nDs24gZGUgJXMgZmFsbG91LiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjY2CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgYXR0cmlidXRlIG5vdCBjaGFuZ2VkOiAlcyIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAldSBpcyA2MC4KKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTgwCisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWVkIG91dCBhZnRlciAldSBzZWNvbmRzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiBjYW4ndCByZW9wZW4gdHR5OiAlbSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXMgaXMgbm90IGEgdGVybWluYWwiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNob3duICglcywgJWx1LCAlbHUpIGZhaWxlZDogJW0iCittc2dzdHIgImNob3duIGZhbGxvdTogKCVzKSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNobW9kICglcywgJXUpIGZhaWxlZDogJW0iCittc2dzdHIgImNob3duIGZhbGxvdTogKCVzKSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozNzUKK21zZ2lkICJGQVRBTDogYmFkIHR0eSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXM6IGNoYW5nZSBwZXJtaXNzaW9ucyBmYWlsZWQ6ICVtIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgbG9naW46ICUuKnMgIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTMxCisjLCBjLWZvcm1hdAorbXNnaWQgImZyb20gJS4qc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9uICUuKnNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjU1MgorIywgZnV6enkKK21zZ2lkICJ3cml0ZSBsYXN0bG9nIGZhaWxlZCIKK21zZ3N0ciAid3JpdGUgZmFsb3U6ICglcykiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRJQUxVUCBBVCAlcyBCWSAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1NworIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIEZST00gJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE5Cittc2dpZCAibG9naW46ICIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc0NQorIywgYy1mb3JtYXQKK21zZ2lkICJQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkbid0IGluaXRpYWxpemUgUEFNOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxNworIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gJXUgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODI1IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg0MAorIywgYy1mb3JtYXQKK21zZ2lkICJUT08gTUFOWSBMT0dJTiBUUklFUyAoJXUpIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg0NgorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gU0VTU0lPTiBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxvZ2luIGluY29ycmVjdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODgyIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTIzMiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNTUKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiBzZXR1cCBwcm9ibGVtLCBhYm9ydC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVMTCB1c2VyIG5hbWUgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVElPQ1NDVFRZIGZhaWxlZDogJW0iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTc0CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luOiAtaCBpcyBmb3Igc3VwZXJ1c2VyIG9ubHlcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6IGxvZ2luIFstcF0gWy1oIDxob3N0Pl0gWy1IXSBbWy1mXSA8dXNlcm5hbWU+XVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE5MQorbXNnaWQgIkJlZ2luIGEgc2Vzc2lvbiBvbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTIzMworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHVzZXIgbmFtZSBcIiVzXCIgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXBzIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjc5CisjLCBmdXp6eQorbXNnaWQgInNldGdpZCgpIGZhaWxlZCIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBuYSBidXNjYSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG5ldyBtYWlsLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMxMQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBtYWlsLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMyNQorbXNnaWQgInNldHVpZCgpIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzEgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNoYW5nZSBkaXJlY3RvcnkgZmFpbGVkIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzM4IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9nZ2luZyBpbiB3aXRoIGhvbWUgPSBcIi9cIi5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNjcKK21zZ2lkICJjb3VsZG4ndCBleGVjIHNoZWxsIHNjcmlwdCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNjkKK21zZ2lkICJubyBzaGVsbCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGNvbnRhaW5zIGludmFsaWQgbnVtZXJpY2FsIHZhbHVlOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzozNzUKK21zZ2lkICJodXNoIGxvZ2luIHN0YXR1czogcmVzdG9yZSBvcmlnaW5hbCBJRHMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA4IHN5cy11dGlscy9sc2NwdS5jOjE1NDAgc3lzLXV0aWxzL2xzY3B1LmM6MTU1MAorbXNnaWQgIm5vIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3IG1pc2MtdXRpbHMvbHNibGsuYzoxODEKK21zZ2lkICJ1c2VyIG5hbWUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcKKyMsIGZ1enp5Cittc2dpZCAiVXNlcm5hbWUiCittc2dzdHIgIk1vZGVsbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTggc3lzLXV0aWxzL3JlbmljZS5jOjU0Cittc2dpZCAidXNlciBJRCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgInBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgIlBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorbXNnaWQgImxvZ2luIGJ5IHBhc3N3b3JkIGRpc2FibGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAiTG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKK21zZ2lkICJwYXNzd29yZCBkZWZpbmVkLCBidXQgbG9ja2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCittc2dpZCAiUGFzc3dvcmQgaXMgbG9ja2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAibG9nIGluIGRpc2FibGVkIGJ5IG5vbG9naW4oOCkgb3IgcGFtX25vbG9naW4oOCkiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJObyBsb2dpbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgInByaW1hcnkgZ3JvdXAgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgIlByaW1hcnkgZ3JvdXAiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjQKK21zZ2lkICJwcmltYXJ5IGdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworIywgZnV6enkKK21zZ2lkICJob21lIGRpcmVjdG9yeSIKK21zZ3N0ciAibyBub2RvLWkgcmHDrXogbm9uIMOpIHVuIGNhcnRhZm9sIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworIywgZnV6enkKK21zZ2lkICJIb21lIGRpcmVjdG9yeSIKK21zZ3N0ciAibyBub2RvLWkgcmHDrXogbm9uIMOpIHVuIGNhcnRhZm9sIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorbXNnaWQgImxvZ2luIHNoZWxsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4Cittc2dpZCAiU2hlbGwiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJmdWxsIHVzZXIgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgIkdlY29zIGZpZWxkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiZGF0ZSBvZiBsYXN0IGxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiTGFzdCBsb2dpbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgImxhc3QgdHR5IHVzZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJMYXN0IHRlcm1pbmFsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiaG9zdG5hbWUgZHVyaW5nIHRoZSBsYXN0IHNlc3Npb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJMYXN0IGhvc3RuYW1lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCisjLCBmdXp6eQorbXNnaWQgImRhdGUgb2YgbGFzdCBmYWlsZWQgbG9naW4iCittc2dzdHIgIndyaXRlIGZhbG91OiAoJXMpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworbXNnaWQgIkZhaWxlZCBsb2dpbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorIywgZnV6enkKK21zZ2lkICJ3aGVyZSBkaWQgdGhlIGxvZ2luIGZhaWw/IgorbXNnc3RyICJ3cml0ZSBmYWxvdTogKCVzKSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIGxvZ2luIHRlcm1pbmFsIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgInVzZXIncyBodXNoIHNldHRpbmdzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAiSHVzaGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiZGF5cyB1c2VyIGlzIHdhcm5lZCBvZiBwYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiB3YXJuIGludGVydmFsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAicGFzc3dvcmQgZXhwaXJhdGlvbiBkYXRlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorbXNnaWQgImRhdGUgb2YgbGFzdCBwYXNzd29yZCBjaGFuZ2UiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJQYXNzd29yZCBjaGFuZ2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAibnVtYmVyIG9mIGRheXMgcmVxdWlyZWQgYmV0d2VlbiBjaGFuZ2VzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5CisjLCBmdXp6eQorbXNnaWQgIk1pbmltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgImEgZXhlY3VjacOzbiBkZSAlcyBmYWxsb3UuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZGF5cyBhIHBhc3N3b3JkIG1heSByZW1haW4gdW5jaGFuZ2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCisjLCBmdXp6eQorbXNnaWQgIk1heGltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCittc2dpZCAidGhlIHVzZXIncyBzZWN1cml0eSBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCittc2dpZCAiU2VsaW51eCBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgcnVuIGJ5IHRoZSB1c2VyIgorbXNnc3RyICJvIG7Dum1lcm8gZGUgYmxvcXVlcyDDqSBkZW1hc2lhZG8gcGVxdWVubyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAiUnVubmluZyBwcm9jZXNzZXMiCittc2dzdHIgIk5vbiBzZSBwb2RlIGVmZWN0dWFyIMKrc3RhdMK7IHNvYnJlIG8gZGlzcG9zaXRpdm8gJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6Mjg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNiBtaXNjLXV0aWxzL2xzYmxrLmM6MjMxCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgY29sdW1ucyBzcGVjaWZpZWQsIHRoZSBsaW1pdCBpcyAlenUgY29sdW1ucyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0MyBzeXMtdXRpbHMvbHNpcGMuYzo0NTYKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgdGltZSB0eXBlIgorbXNnc3RyICIlcyBuZWNlc2l0YSB1biBhcmd1bWVudG9cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNvbXBvc2UgdGltZSBzdHJpbmciCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6NjQ4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA3MQorIywgZnV6enkKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5rbm93biBjb2x1bW4iCittc2dzdHIgIkVycm8gaW50ZXJubyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDc1IHN5cy11dGlscy9sc2lwYy5jOjUwMyBzeXMtdXRpbHMvbHNpcGMuYzo2MjUKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY4MCBzeXMtdXRpbHMvbHNpcGMuYzo4Mzggc3lzLXV0aWxzL2xzaXBjLmM6MTAzNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGRhdGEiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTE2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTGFzdCBsb2dzOlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyOCBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMSBtaXNjLXV0aWxzL21jb29raWUuYzo4MiBtaXNjLXV0aWxzL3V1aWRkLmM6NzAKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI1IHN5cy11dGlscy9kbWVzZy5jOjI2NCBzeXMtdXRpbHMvaXBjbWsuYzo2NgorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2MCBzeXMtdXRpbHMvbHNpcGMuYzoyNzcgc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA0CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjk1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MCB0ZXh0LXV0aWxzL2xpbmUuYzozMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzEKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM0Cittc2dpZCAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBkaXNwbGF5IGluZm8gYWJvdXQgcGFzc3dvcmRzIGV4cGlyYXRpb25cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzUKK21zZ2lkICIgLWMsIC0tY29sb24tc2VwYXJhdGUgICAgIGRpc3BsYXkgZGF0YSBpbiBhIGZvcm1hdCBzaW1pbGFyIHRvIC9ldGMvcGFzc3dkXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM2IHN5cy11dGlscy9sc2lwYy5jOjI5NgorIywgZnV6enkKK21zZ2lkICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGRpc3BsYXkgaW4gYW4gZXhwb3J0LWFibGUgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNworIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIGRpc3BsYXkgZGF0YSBhYm91dCB0aGUgdXNlcnMnIGxhc3QgZmFpbGVkIGxvZ2luc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgZ3JvdXBzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM5Cittc2dpZCAiIC1nLCAtLWdyb3Vwcz08Z3JvdXBzPiAgICBkaXNwbGF5IHVzZXJzIGJlbG9uZ2luZyB0byBhIGdyb3VwIGluIDxncm91cHM+XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQwCisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1sYXN0ICAgICAgICAgICAgICAgc2hvdyBpbmZvIGFib3V0IHRoZSB1c2VycycgbGFzdCBsb2dpbiBzZXNzaW9uc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9naW5zPTxsb2dpbnM+ICAgIGRpc3BsYXkgb25seSB1c2VycyBmcm9tIDxsb2dpbnM+XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQyIHN5cy11dGlscy9sc2lwYy5jOjI5OAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGRpc3BsYXkgZWFjaCBwaWVjZSBvZiBpbmZvcm1hdGlvbiBvbiBhIG5ldyBsaW5lXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1pIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIMOhIHBhbnRhbGxhIG91IGEgdW4gZmljaGVpcm8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MyBzeXMtdXRpbHMvbHNpcGMuYzoyOTEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NCBzeXMtdXRpbHMvbHNpcGMuYzoyOTIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBkb24ndCB0cnVuY2F0ZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDUgc3lzLXV0aWxzL2xzaXBjLmM6MzAwCittc2dpZCAiIC1vLCAtLW91dHB1dFs9PGxpc3Q+XSAgICBkZWZpbmUgdGhlIGNvbHVtbnMgdG8gb3V0cHV0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ2Cittc2dpZCAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gbG9naW4gYnkgcGFzc3dvcmQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ3IHN5cy11dGlscy9sc2lwYy5jOjMwMgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIGRpc3BsYXkgaW4gcmF3IG1vZGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDgKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICBkaXNwbGF5IHN5c3RlbSBhY2NvdW50c1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OSBzeXMtdXRpbHMvbHNpcGMuYzoyOTMKK21zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQ9PHR5cGU+IGRpc3BsYXkgZGF0ZXMgaW4gc2hvcnQsIGZ1bGwgb3IgaXNvIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIGRpc3BsYXkgdXNlciBhY2NvdW50c1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MQorIywgZnV6enkKK21zZ2lkICIgLVosIC0tY29udGV4dCAgICAgICAgICAgIGRpc3BsYXkgU0VMaW51eCBjb250ZXh0c1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MgorIywgZnV6enkKK21zZ2lkICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgIGRlbGltaXQgdXNlciBlbnRyaWVzIHdpdGggYSBudWwgY2hhcmFjdGVyXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUzCittc2dpZCAiICAgICAtLXd0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIHd0bXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTQKK21zZ2lkICIgICAgIC0tYnRtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3IgYnRtcFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1OSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ3IHN5cy11dGlscy9sc2NwdS5jOjE5NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1uczpcbiIKK21zZ3N0ciAiT3JkZXMgZGlzcG/DscOtYmVpczpcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDQyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZXF1ZXN0IHNlbGludXggc3RhdGUiCittc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDU2IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ2MAorbXNnaWQgIk9ubHkgb25lIHVzZXIgbWF5IGJlIHNwZWNpZmllZC4gVXNlIC1sIGZvciBtdWx0aXBsZSB1c2Vycy4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NDkgbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTUKKyMsIGZ1enp5Cittc2dpZCAiY291bGQgbm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo1NworIywgZnV6enkKK21zZ2lkICJnZXRsaW5lKCkgZmFpbGVkIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIG5hIGJ1c2NhIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNDgKK21zZ2lkICJQYXNzd29yZDogIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE1NCBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAwNQorIywgZnV6enkKK21zZ2lkICJjcnlwdCBmYWlsZWQiCittc2dzdHIgIm1hbGxvYyBmYWxsb3UiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE2NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGdyb3VwPlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE2OQorbXNnaWQgIkxvZyBpbiB0byBhIG5ldyBncm91cC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMDcKK21zZ2lkICJ3aG8gYXJlIHlvdT8iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjExIGxvZ2luLXV0aWxzL25ld2dycC5jOjIyMyBzeXMtdXRpbHMvbnNlbnRlci5jOjQyMworIywgZnV6enkKK21zZ2lkICJzZXRnaWQgZmFpbGVkIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIG5hIGJ1c2NhIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTYgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjE4Cittc2dpZCAibm8gc3VjaCBncm91cCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjEgc3lzLXV0aWxzL21vdW50LmM6NDkxCittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI3IHN5cy11dGlscy9uc2VudGVyLmM6NDI1CisjLCBmdXp6eQorbXNnaWQgInNldHVpZCBmYWlsZWQiCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gbmEgYnVzY2EiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzoyOQorbXNnaWQgIlBvbGl0ZWx5IHJlZnVzZSBhIGxvZ2luLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzo3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhpcyBhY2NvdW50IGlzIGN1cnJlbnRseSBub3QgYXZhaWxhYmxlLlxuIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24geGEgZXN0w6EgZW4gdXNvIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoyOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIHNlc3Npb246ICVzIgorbXNnc3RyICJub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzA0CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjcmVhdGUgY2hpbGQgcHJvY2VzcyIKK21zZ3N0ciAiTm9uIHNlIHBvZGUgZWZlY3R1YXIgwqtzdGF0wrsgc29icmUgbyBkaXNwb3NpdGl2byAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBhbyByZXNlcnZhciBvIGLDumZlciBkZSBzYcOtZGEiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMyMQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgYmxvY2sgc2lnbmFscyIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMzNSBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNDMKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM0OSBtaXNjLXV0aWxzL3V1aWRkLmM6NDA3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzcxCittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNzQKK21zZ2lkICIgKGNvcmUgZHVtcGVkKSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZCwga2lsbGluZyBzaGVsbC4uLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAuLi5raWxsZWQuXG4iCittc2dzdHIgIiVzIGZhbGxvdS5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NDg2Cittc2dpZCAibWF5IG5vdCBiZSB1c2VkIGJ5IG5vbi1yb290IHVzZXJzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjUxNAorbXNnaWQgImluY29ycmVjdCBwYXNzd29yZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1OTgKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBncm91cHMiCittc2dzdHIgIk5vbiBzZSBwb2RlIGVmZWN0dWFyIMKrc3RhdMK7IHNvYnJlIG8gZGlzcG9zaXRpdm8gJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjYxMyBzeXMtdXRpbHMvZWplY3QuYzo2NjUKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwIGlkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjYxNSBzeXMtdXRpbHMvZWplY3QuYzo2NjgKK21zZ2lkICJjYW5ub3Qgc2V0IHVzZXIgaWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC11IDx1c2VyPiBbWy0tXSA8Y29tbWFuZD5dXG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY4OSBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2OTAKK21zZ2lkICIiCisiXG4iCisiUnVuIDxjb21tYW5kPiB3aXRoIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgb2YgPHVzZXI+LiAgSWYgLXUgaXNcbiIKKyJub3QgZ2l2ZW4sIGZhbGwgYmFjayB0byBzdSgxKS1jb21wYXRpYmxlIHNlbWFudGljcyBhbmQgZXhlY3V0ZSBzdGFuZGFyZCBzaGVsbC5cbiIKKyJUaGUgb3B0aW9ucyAtYywgLWYsIC1sLCBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC11LlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY5NworIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNlciA8dXNlcj4gICAgICAgICAgICAgdXNlcm5hbWVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDIKK21zZ2lkICIiCisiXG4iCisiQ2hhbmdlIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgdG8gdGhhdCBvZiA8dXNlcj4uXG4iCisiQSBtZXJlIC0gaW1wbGllcyAtbC4gIElmIDx1c2VyPiBpcyBub3QgZ2l2ZW4sIHJvb3QgaXMgYXNzdW1lZC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDkKK21zZ2lkICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBkbyBub3QgcmVzZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzEwCittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgICAgICAgICAgc3BlY2lmeSB0aGUgcHJpbWFyeSBncm91cFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMQorbXNnaWQgIiIKKyIgLUcsIC0tc3VwcC1ncm91cCA8Z3JvdXA+ICAgICAgICBzcGVjaWZ5IGEgc3VwcGxlbWVudGFsIGdyb3VwXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzEzCittc2dpZCAiIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgICAgbWFrZSB0aGUgc2hlbGwgYSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxNAorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgICAgICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxNQorbXNnaWQgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkbyBub3QgY3JlYXRlIGEgbmV3IHNlc3Npb25cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTcKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgICAgcGFzcyAtZiB0byB0aGUgc2hlbGwgKGZvciBjc2ggb3IgdGNzaClcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTgKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgICBydW4gPHNoZWxsPiBpZiAvZXRjL3NoZWxscyBhbGxvd3MgaXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwIGlzIG5vdCBwb3NzaWJsZSIKK21zZ2lkX3BsdXJhbCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwcyBpcyBub3QgcG9zc2libGUiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXAgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODg2Cittc2dpZCAiaWdub3JpbmcgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg5NworbXNnaWQgIm9wdGlvbnMgLS17c2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbn0gYW5kIC0tdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkwMQorIywgZnV6enkKK21zZ2lkICJubyBjb21tYW5kIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5MTUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHNwZWNpZnkgYWx0ZXJuYXRpdmUgZ3JvdXBzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkyMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyByZXN0cmljdGVkIHNoZWxsICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gYW8gcmVzZXJ2YXIgbyBiw7pmZXIgZGUgc2HDrWRhIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTMwCisjLCBmdXp6eQorbXNnaWQgInRjZ2V0YXR0ciBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MjA3CisjLCBmdXp6eQorbXNnaWQgInRjc2V0YXR0ciBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJvb3QgcGFzc3dvcmQgZ2FyYmxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJDYW5ub3Qgb3BlbiBhY2Nlc3MgdG8gY29uc29sZSwgdGhlIHJvb3QgYWNjb3VudCBpcyBsb2NrZWQuXG4iCisiU2VlIHN1bG9naW4oOCkgbWFuIHBhZ2UgZm9yIG1vcmUgZGV0YWlscy5cbiIKKyJcbiIKKyJQcmVzcyBFbnRlciB0byBjb250aW51ZS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbG9naW46ICIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBsb2dpbjogIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiKG9yIHByZXNzIENvbnRyb2wtRCB0byBjb250aW51ZSk6ICIKK21zZ3N0ciAiRGVzZXhhIGNvbnRpbnVhcj8iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3NDIKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSB0byBzeXN0ZW0gcm9vdCBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzkxCisjLCBmdXp6eQorbXNnaWQgInNldGV4ZWNjb24gZmFpbGVkIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIG5hIGJ1c2NhIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFt0dHkgZGV2aWNlXVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODE0Cittc2dpZCAiU2luZ2xlLXVzZXIgbG9naW4uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxNworbXNnaWQgIiIKKyIgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgIHN0YXJ0IGEgbG9naW4gc2hlbGxcbiIKKyIgLXQsIC0tdGltZW91dCA8c2Vjb25kcz4gIG1heCB0aW1lIHRvIHdhaXQgZm9yIGEgcGFzc3dvcmQgKGRlZmF1bHQ6IG5vIGxpbWl0KVxuIgorIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAgZXhhbWluZSBwYXNzd29yZCBmaWxlcyBkaXJlY3RseSBpZiBnZXRwd25hbSgzKSBmYWlsc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4NzEgbWlzYy11dGlscy9maW5kbW50LmM6MTQ2MyBzeXMtdXRpbHMvd2RjdGwuYzo1MjMKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzUwIHRlcm0tdXRpbHMvd2FsbC5jOjEzNQorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODkzCittc2dpZCAib25seSBzdXBlcnVzZXIgY2FuIHJ1biB0aGlzIHByb2dyYW0iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkzNgorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBjb25zb2xlIgorbXNnc3RyICJub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjk0MworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYXNzd29yZCBkYXRhYmFzZSIKK21zZ3N0ciAibm9uIHNlIHBvZGUgb2J0ZXIgbyB0YW1hw7FvIGRlICVzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2FuIG5vdCBleGVjdXRlIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjcKK21zZ2lkICIiCisiVGltZWQgb3V0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwNTkKK21zZ2lkICIiCisiQ2FuIG5vdCB3YWl0IG9uIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxNzYgdGV4dC11dGlscy90YWlsZi5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoLiIKK21zZ3N0ciAiJXM6IG5vbiDDqSBwb3PDrWJlbCBlbmdhZGlyIHVuIHZpeGlsYW50ZSBkZSBpbm90aWZ5LiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxODUgdGV4dC11dGlscy90YWlsZi5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgaW5vdGlmeSBldmVudHMiCittc2dzdHIgIiVzOiBub24gw6kgcG9zw61iZWwgbGVyIG9zIGV2ZW50b3MgZGUgaW5vdGlmeSIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDYgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNTEKK21zZ2lkICJFeHRyYW5lb3VzIG5ld2xpbmUgaW4gZmlsZS4gRXhpdGluZy4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVuYW1lXVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMgorbXNnaWQgIkR1bXAgVVRNUCBhbmQgV1RNUCBmaWxlcyBpbiByYXcgZm9ybWF0LlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE1CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb2xsb3cgICAgICAgICBvdXRwdXQgYXBwZW5kZWQgZGF0YSBhcyB0aGUgZmlsZSBncm93c1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltaSBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyDDoSBwYW50YWxsYSBvdSBhIHVuIGZpY2hlaXJvIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxNgorbXNnaWQgIiAtciwgLS1yZXZlcnNlICAgICAgICB3cml0ZSBiYWNrIGR1bXBlZCBkYXRhIGludG8gdXRtcCBmaWxlXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTcKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxmaWxlPiAgd3JpdGUgdG8gZmlsZSBpbnN0ZWFkIG9mIHN0YW5kYXJkIG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzg0Cittc2dpZCAiZm9sbG93aW5nIHN0YW5kYXJkIGlucHV0IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgdW5kdW1wIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCBkdW1wIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE0MQorIywgZnV6enkKK21zZ2lkICJjYW4ndCBvcGVuIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICJub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNyZWF0ZSBhIGxpbmsgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3QgZ2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICJub24gc2UgcG9kZSBvYnRlciBvIHRhbWHDsW8gZGUgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3Qgc2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5jaGFuZ2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNTQKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGdldCBsb2NrIgorbXNnc3RyICJOb24gc2UgcG9kZSBlZmVjdHVhciDCq3N0YXTCuyBzb2JyZSBvIGRpc3Bvc2l0aXZvICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjgxCisjLCBmdXp6eQorbXNnaWQgIm5vIGNoYW5nZXMgbWFkZSIKK21zZ3N0ciAiYSBleGVjdWNpw7NuIGRlICVzIGZhbGxvdS4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNobW9kIGZpbGUiCittc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzA0Cittc2dpZCAiRWRpdCB0aGUgcGFzc3dvcmQgb3IgZ3JvdXAgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzUwCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgZ3JvdXBzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTEKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBwYXNzd29yZHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IHRoaXMgcHJvZ3JhbSB1c2VzIGZvciB5IGFuZCBuIHJwbWF0Y2goMyksCisjLiAqIHdoaWNoIG1lYW5zIHRoZXkgY2FuIGJlIHRyYW5zbGF0ZWQuCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHlvdSBsaWtlIHRvIGVkaXQgJXMgbm93IFt5L25dPyAiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzozNzIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBtb250aCBhcmd1bWVudCIKK21zZ3N0ciAiVmFsb3IgZGUgc2VjdG9yZXMgaWxlZ2FsIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjM4MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHdlZWsgYXJndW1lbnQiCittc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworIzogbWlzYy11dGlscy9jYWwuYzozODIKKyMsIGZ1enp5Cittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB1c2UgMS01NCIKK21zZ3N0ciAiVmFsb3IgZGUgY2FiZXphcyBpbGVnYWwiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZXN0YW1wIG9yIHVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDMxCisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlIgorbXNnc3RyICJWYWxvciBkZSBjYWJlemFzIGlsZWdhbCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MzMgbWlzYy11dGlscy9jYWwuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWU6IHVzZSAxLSVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDM3IG1pc2MtdXRpbHMvY2FsLmM6NDQ1Cittc2dpZCAiaWxsZWdhbCBtb250aCB2YWx1ZTogdXNlIDEtMTIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgIk9yZGUgZGVzY2/DsWVjaWRhOiAlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NDggbWlzYy11dGlscy9jYWwuYzo0NTIKKyMsIGZ1enp5Cittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlIgorbXNnc3RyICJWYWxvciBkZSBjYWJlemFzIGlsZWdhbCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NTAKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWU6IHVzZSBwb3NpdGl2ZSBpbnRlZ2VyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDgyIG1pc2MtdXRpbHMvY2FsLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogeWVhciAlZCBkb2Vzbid0IGhhdmUgd2VlayAlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlMDRkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICUwNGQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW1tbZGF5XSBtb250aF0geWVhcl1cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHRpbWVzdGFtcHxtb250aG5hbWU+XG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk3Cittc2dpZCAiRGlzcGxheSBhIGNhbGVuZGFyLCBvciBzb21lIHBhcnQgb2YgaXQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTgKK21zZ2lkICJXaXRob3V0IGFueSBhcmd1bWVudHMsIGRpc3BsYXkgdGhlIGN1cnJlbnQgbW9udGguXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDAxCisjLCBmdXp6eQorbXNnaWQgIiAtMSwgLS1vbmUgICAgICAgICAgICAgc2hvdyBvbmx5IGEgc2luZ2xlIG1vbnRoIChkZWZhdWx0KVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMgorIywgZnV6enkKK21zZ2lkICIgLTMsIC0tdGhyZWUgICAgICAgICAgIHNob3cgdGhyZWUgbW9udGhzIHNwYW5uaW5nIHRoZSBkYXRlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDAzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1tb250aHMgPG51bT4gICAgc2hvdyBudW0gbW9udGhzIHN0YXJ0aW5nIHdpdGggZGF0ZSdzIG1vbnRoXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA0CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zcGFuICAgICAgICAgICAgc3BhbiB0aGUgZGF0ZSB3aGVuIGRpc3BsYXlpbmcgbXVsdGlwbGUgbW9udGhzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA1Cittc2dpZCAiIC1zLCAtLXN1bmRheSAgICAgICAgICBTdW5kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDYKK21zZ2lkICIgLW0sIC0tbW9uZGF5ICAgICAgICAgIE1vbmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNworIywgZnV6enkKK21zZ2lkICIgLWosIC0tanVsaWFuICAgICAgICAgIG91dHB1dCBKdWxpYW4gZGF0ZXNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWkgYSB0w6Fib2EgZGUgcGFydGljacOzbnMgw6EgcGFudGFsbGEgb3UgYSB1biBmaWNoZWlybyIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA4CisjLCBmdXp6eQorbXNnaWQgIiAteSwgLS15ZWFyICAgICAgICAgICAgc2hvdyB0aGUgd2hvbGUgeWVhclxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwOQorIywgZnV6enkKK21zZ2lkICIgLVksIC0tdHdlbHZlICAgICAgICAgIHNob3cgdGhlIG5leHQgdHdlbHZlIG1vbnRoc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAxMAorbXNnaWQgIiAtdywgLS13ZWVrWz08bnVtPl0gICAgc2hvdyBVUyBvciBJU08tODYwMSB3ZWVrIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMTEKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbHVlPlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MzIKKyMsIGZ1enp5Cittc2dpZCAiRmluZCBhIGZpbGVzeXN0ZW0gYnkgbGFiZWwgb3IgVVVJRC5cbiIKK21zZ3N0ciAiRm9yemFuZG8gYSBjb21wcm9iYWNpw7NuIGRvIHNpc3RlbWEgZGUgZmljaGVpcm9zIGVuICVzLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZXNvbHZlICclcyciCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6OTkKKyMsIGZ1enp5Cittc2dpZCAic291cmNlIGRldmljZSIKK21zZ3N0ciAiIHJlbW92YWJsZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAwCittc2dpZCAibW91bnRwb2ludCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDEgbWlzYy11dGlscy9sc2Jsay5jOjE2MQorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIkVzdGFkbyBkbyBzaXN0ZW1hIGRlIGZpY2hlcmlzbz0lZFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAiYWxsIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMworbXNnaWQgIlZGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNAorbXNnaWQgIkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA1CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gbGFiZWwiCittc2dzdHIgIkVzdGFkbyBkbyBzaXN0ZW1hIGRlIGZpY2hlcmlzbz0lZFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDYgbWlzYy11dGlscy9sc2Jsay5jOjE2NAorbXNnaWQgImZpbGVzeXN0ZW0gVVVJRCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIGxhYmVsIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5IG1pc2MtdXRpbHMvbHNibGsuYzoxNjAKK21zZ2lkICJtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMAorbXNnaWQgImFjdGlvbiBkZXRlY3RlZCBieSAtLXBvbGwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExCittc2dpZCAib2xkIG1vdW50IG9wdGlvbnMgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMgorbXNnaWQgIm9sZCBtb3VudHBvaW50IHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTMKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIgorbXNnc3RyICJFc3RhZG8gZG8gc2lzdGVtYSBkZSBmaWNoZXJpc289JWRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE0CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSBhdmFpbGFibGUiCittc2dzdHIgIkVzdGFkbyBkbyBzaXN0ZW1hIGRlIGZpY2hlcmlzbz0lZFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTUKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIHVzZWQiCittc2dzdHIgIkVzdGFkbyBkbyBzaXN0ZW1hIGRlIGZpY2hlcmlzbz0lZFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTYKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAiRXN0YWRvIGRvIHNpc3RlbWEgZGUgZmljaGVyaXNvPSVkXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNworIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHJvb3QiCittc2dzdHIgIkVzdGFkbyBkbyBzaXN0ZW1hIGRlIGZpY2hlcmlzbz0lZFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTgKK21zZ2lkICJ0YXNrIElEIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOQorbXNnaWQgIm1vdW50IElEIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMAorbXNnaWQgIm9wdGlvbmFsIG1vdW50IGZpZWxkcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEKKyMsIGZ1enp5Cittc2dpZCAiVkZTIHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGljacOzbnM6XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMgorbXNnaWQgImR1bXAoOCkgcGVyaW9kIGluIGRheXMgW2ZzdGFiIG9ubHldIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMworbXNnaWQgInBhc3MgbnVtYmVyIG9uIHBhcmFsbGVsIGZzY2soOCkgW2ZzdGFiIG9ubHldIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhY3Rpb246ICVzIgorbXNnc3RyICJPcmRlIGRlc2Nvw7FlY2lkYTogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0MworbXNnaWQgIm1vdW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0NgorbXNnaWQgInVtb3VudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDkKK21zZ2lkICJyZW1vdW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1MgorIywgZnV6enkKK21zZ2lkICJtb3ZlIgorbXNnc3RyICIgRWxpbWluYXIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjgxMiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDc1IHN5cy11dGlscy9lamVjdC5jOjcxOQorIzogc3lzLXV0aWxzL21vdW50LmM6NjY5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmxlIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODM5IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCByZWFkICVzIgorbXNnc3RyICJoZXhkdW1wOiBub24gw6kgcG9zw61iZWwgbGVyICVzLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDE1IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODEKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo5NCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDgyCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTg3IHN5cy11dGlscy9tb3VudC5jOjEzNCBzeXMtdXRpbHMvbW91bnQuYzoxODIKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6NTYgc3lzLXV0aWxzL3N3YXBvZmYuYzoxNTUgc3lzLXV0aWxzL3N3YXBvbi5jOjI0NAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI3NCBzeXMtdXRpbHMvc3dhcG9uLmM6NzMzIHN5cy11dGlscy91bW91bnQuYzoyNzQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDg3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmRpZmYiCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gYW8gcmVzZXJ2YXIgbyBiw7pmZXIgZGUgc2HDrWRhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTE1CisjLCBmdXp6eQorbXNnaWQgInBvbGwoKSBmYWlsZWQiCittc2dzdHIgIm1hbGxvYyBmYWxsb3UiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiB8IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlIDxkZXZpY2U+XSBbLS10YXJnZXQgPHBhdGg+IHwgLS1tb3VudHBvaW50IDxkaXI+XVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTYKKyMsIGZ1enp5Cittc2dpZCAiRmluZCBhIChtb3VudGVkKSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJFc3RhZG8gZG8gc2lzdGVtYSBkZSBmaWNoZXJpc289JWRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5OQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1pIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIMOhIHBhbnRhbGxhIG91IGEgdW4gZmljaGVpcm8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW10YWIgICAgICAgICAgICAgc2VhcmNoIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWkgYSB0w6Fib2EgZGUgcGFydGljacOzbnMgw6EgcGFudGFsbGEgb3UgYSB1biBmaWNoZWlybyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMQorbXNnaWQgIiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICBzZWFyY2ggaW4ga2VybmVsIHRhYmxlIG9mIG1vdW50ZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzeXN0ZW1zIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBvbGxbPTxsaXN0Pl0gICAgbW9uaXRvciBjaGFuZ2VzIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICB0ICAgICAgICAgIENhbWJpYXIgbyB0aXBvIGRlIHNpc3RlbWEgZGUgZmljaGVpcm9zIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA1Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPG51bT4gICAgdXBwZXIgbGltaXQgaW4gbWlsbGlzZWNvbmRzIHRoYXQgLS1wb2xsIHdpbGwgYmxvY2tcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA4CisjLCBmdXp6eQorbXNnaWQgIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGJ1aWx0LWluIGZpbHRlcnMsIHByaW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltaSBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyDDoSBwYW50YWxsYSBvdSBhIHVuIGZpY2hlaXJvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA5CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBBU0NJSSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMAorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjExCittc2dpZCAiIC1DLCAtLW5vY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHdoZW4gY29tcGFyaW5nIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMgorbXNnaWQgIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaWNhbGl6ZSBwcmludGVkIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMworIywgZnV6enkKK21zZ2lkICIgLUQsIC0tZGYgICAgICAgICAgICAgICBpbWl0YXRlIHRoZSBvdXRwdXQgb2YgZGYoMSlcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE0Cittc2dpZCAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE1Cittc2dpZCAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNworbXNnaWQgIiAtRiwgLS10YWItZmlsZSA8cGF0aD4gIGFsdGVybmF0aXZlIGZpbGUgZm9yIC1zLCAtbSBvciAtayBvcHRpb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBwcmludCB0aGUgZmlyc3QgZm91bmQgZmlsZXN5c3RlbSBvbmx5XG4iCittc2dzdHIgIiAgdCAgICAgICAgICBDYW1iaWFyIG8gdGlwbyBkZSBzaXN0ZW1hIGRlIGZpY2hlaXJvcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnQgdGhlIHNlbnNlIG9mIG1hdGNoaW5nXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDcgc3lzLXV0aWxzL2xzbnMuYzo2MTkKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjEgc3lzLXV0aWxzL2xzbnMuYzo2MjAKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjIKK21zZ2lkICIgLU4sIC0tdGFzayA8dGlkPiAgICAgICB1c2UgYWx0ZXJuYXRpdmUgbmFtZXNwYWNlICgvcHJvYy88dGlkPi9tb3VudGluZm8gZmlsZSlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGNvbHVtbiBoZWFkaW5nc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjQKK21zZ2lkICIgLU8sIC0tb3B0aW9ucyA8bGlzdD4gICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IG1vdW50IG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI1Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgdGhlIG91dHB1dCBjb2x1bW5zIHRvIGJlIHNob3duXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNgorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNworIywgZnV6enkKK21zZ2lkICIgLVIsIC0tc3VibW91bnRzICAgICAgICBwcmludCBhbGwgc3VibW91bnRzIGZvciB0aGUgbWF0Y2hpbmcgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWkgYSB0w6Fib2EgZGUgcGFydGljacOzbnMgw6EgcGFudGFsbGEgb3UgYSB1biBmaWNoZWlybyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5Cittc2dpZCAiIgorIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzEKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRhcmdldCA8cGF0aD4gICAgdGhlIHBhdGggdG8gdGhlIGZpbGVzeXN0ZW0gdG8gdXNlXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBDYW1iaWFyIG8gdGlwbyBkZSBzaXN0ZW1hIGRlIGZpY2hlaXJvcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMgorIywgZnV6enkKK21zZ2lkICIgLU0sIC0tbW91bnRwb2ludCA8ZGlyPiB0aGUgbW91bnRwb2ludCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAibyBub2RvLWkgcmHDrXogbm9uIMOpIHVuIGNhcnRhZm9sIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMzCittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBGUyB0eXBlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzQKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVuaXEgICAgICAgICAgICAgaWdub3JlIGZpbGVzeXN0ZW1zIHdpdGggZHVwbGljYXRlIHRhcmdldFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzUgbWlzYy11dGlscy9sc2xvY2tzLmM6NTEzIHN5cy11dGlscy9sc25zLmM6NjI1CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGRvbid0IHRydW5jYXRlIHRleHQgaW4gY29sdW1uc1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltaSBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyDDoSBwYW50YWxsYSBvdSBhIHVuIGZpY2hlaXJvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM2CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIGRvbid0IHByaW50IFsvZGlyXSBmb3IgYmluZCBvciBidHJmcyBtb3VudHNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWkgYSB0w6Fib2EgZGUgcGFydGljacOzbnMgw6EgcGFudGFsbGEgb3UgYSB1biBmaWNoZWlybyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzOQorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tdmVyaWZ5ICAgICAgICAgICB2ZXJpZnkgbW91bnQgdGFibGUgY29udGVudCAoZGVmYXVsdCBpcyBmc3RhYilcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IG1vcmUgZGV0YWlsc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBkaXJlY3Rpb24gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDQwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgVElEIGFyZ3VtZW50IgorbXNnc3RyICIlcyBuZWNlc2l0YSB1biBhcmd1bWVudG9cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUwOQorbXNnaWQgIi0tcG9sbCBhY2NlcHRzIG9ubHkgb25lIGZpbGUsIGJ1dCBtb3JlIHNwZWNpZmllZCBieSAtLXRhYi1maWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MTMKK21zZ2lkICJvcHRpb25zIC0tdGFyZ2V0IGFuZCAtLXNvdXJjZSBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggY29tbWFuZCBsaW5lIGVsZW1lbnQgdGhhdCBpcyBub3QgYW4gb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1NjIKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBjYWNoZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNvbHVtbiBpcyByZXF1ZXN0ZWQsIGJ1dCAtLXBvbGwgaXMgbm90IGVuYWJsZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExNgorbXNnaWQgInRhcmdldCBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBvcmRlcjogJXMgc3BlY2lmaWVkIGJlZm9yZSAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTMzCittc2dpZCAidW5kZWZpbmVkIHRhcmdldCAoZnNfZmlsZSkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tY2Fub25pY2FsIHRhcmdldCBwYXRoIChyZWFsOiAlcykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHRhcmdldDogJW0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgdGFyZ2V0OiAlbSIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGxlciBvcyBub2Rvcy1pIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTUxCisjLCBmdXp6eQorbXNnaWQgInRhcmdldCBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIm8gbm9kby1pIHJhw616IG5vbiDDqSB1biBjYXJ0YWZvbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MworbXNnaWQgInRhcmdldCBleGlzdHMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHNvdXJjZTogJXM9JXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGU6ICVzPSVzIgorbXNnc3RyICJyZWFkIGZhbGxvdTogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzPSVzIHRyYW5zbGF0ZWQgdG8gJXMiCittc2dzdHIgIk5vbiBzZSBlbmNvbnRyb3UgbyBwYXRyw7NuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTkwCittc2dpZCAidW5kZWZpbmVkIHNvdXJjZSAoZnNfc3BlYykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc291cmNlIHRhZzogJXMiCittc2dzdHIgIiVzIG5lY2VzaXRhIHVuIGFyZ3VtZW50b1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBzb3VyY2UgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHNvdXJjZTogJXM6ICVtIgorbXNnc3RyICJOb24gw6kgcG9zw61iZWwgYWJyaXIgwqslc8K7OiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmluZCBtb3VudCBzb3VyY2UgJXMgaXMgYSBkaXJlY3Rvcnkgb3IgcmVndWxhciBmaWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBub24gw6kgdW4gZGlzcG9zaXRpdm8gZGUgYmxvcXVlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgZXhpc3RzIgorbXNnc3RyICIgcmVtb3ZhYmxlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJWRlMgb3B0aW9uczogJXMiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aWNpw7NuczpcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRlMgb3B0aW9uczogJXMiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aWNpw7NuczpcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXNlcnNwYWNlIG9wdGlvbnM6ICVzIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzd2FwYXJlYSBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIiVzIG5lY2VzaXRhIHVuIGFyZ3VtZW50b1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjYwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzd2FwYXJlYSBwcmlvcml0eSBvcHRpb24iCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIEZTIHR5cGUgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MDYKK21zZ2lkICJcIm5vbmVcIiBGUyB0eXBlIGlzIHJlY29tbWVuZGVkIGZvciBiaW5kIG9yIG1vdmUgb3ByYXRpb25zIG9ubHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyMCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIxCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBkZXRlY3Qgb24tZGlzayBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIk9yZGUgZGVzY2/DsWVjaWRhOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBtYXRjaCB3aXRoIG9uLWRpc2sgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJvbi1kaXNrICVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyB0eXBlIGlzICVzIgorbXNnc3RyICJ0aXBvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY29tbWVuZGVkIHJvb3QgRlMgcGFzc25vIGlzIDEgKGN1cnJlbnQgaXMgJWQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIHBhcnNlIGVycm9yIgorbXNnaWRfcGx1cmFsICIlZCBwYXJzZSBlcnJvcnMiCittc2dzdHJbMF0gImVycm8gZGUgYW7DoWxpc2VcbiIKK21zZ3N0clsxXSAiZXJybyBkZSBhbsOhbGlzZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsICVkIGVycm9yIgorbXNnaWRfcGx1cmFsICIsICVkIGVycm9ycyIKK21zZ3N0clswXSAiY3JjIGZhbGxvdSIKK21zZ3N0clsxXSAiY3JjIGZhbGxvdSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxNAorIywgYy1mb3JtYXQKK21zZ2lkICIsICVkIHdhcm5pbmciCittc2dpZF9wbHVyYWwgIiwgJWQgd2FybmluZ3MiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3MsIG5vIGVycm9ycyBvciB3YXJuaW5ncyBkZXRlY3RlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMwNAorbXNnaWQgImVtcHR5IGxvbmcgb3B0aW9uIGFmdGVyIC1sIG9yIC0tbG9uZyBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMyNQorbXNnaWQgInVua25vd24gc2hlbGwgYWZ0ZXIgLXMgb3IgLS1zaGVsbCBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLV0gPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIC1vfC0tb3B0aW9ucyA8b3B0c3RyaW5nPiBbb3B0aW9uc10gWy0tXSA8cGFyYW1ldGVycz5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzOAorIywgZnV6enkKK21zZ2lkICJQYXJzZSBjb21tYW5kIG9wdGlvbnMuXG4iCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQxCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgICBhbGxvdyBsb25nIG9wdGlvbnMgc3RhcnRpbmcgd2l0aCBzaW5nbGUgLVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQyCittc2dpZCAiIC1sLCAtLWxvbmdvcHRpb25zIDxsb25nb3B0cz4gIHRoZSBsb25nIG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQzCittc2dpZCAiIC1uLCAtLW5hbWUgPHByb2duYW1lPiAgICAgICAgIHRoZSBuYW1lIHVuZGVyIHdoaWNoIGVycm9ycyBhcmUgcmVwb3J0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NAorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgICB0aGUgc2hvcnQgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDUKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGRpc2FibGUgZXJyb3IgcmVwb3J0aW5nIGJ5IGdldG9wdCgzKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ2CisjLCBmdXp6eQorbXNnaWQgIiAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICBubyBub3JtYWwgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDcKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgc2V0IHF1b3RpbmcgY29udmVudGlvbnMgdG8gdGhvc2Ugb2YgPHNoZWxsPlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ4CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICB0ZXN0IGZvciBnZXRvcHQoMSkgdmVyc2lvblxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ5CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICBkbyBub3QgcXVvdGUgdGhlIG91dHB1dFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6Mzk5IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDU5Cittc2dpZCAibWlzc2luZyBvcHRzdHJpbmcgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzo0NTQKK21zZ2lkICJpbnRlcm5hbCBlcnJvciwgY29udGFjdCB0aGUgYXV0aG9yLiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWwgJXM7IHZhbGlkIHNpZ25hbHM6IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGlkPnw8bmFtZT4uLi5cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzA1Cittc2dpZCAiRm9yY2libHkgdGVybWluYXRlIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDgKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IHRoZSBuYW1lLXRvLXBpZCBjb252ZXJzaW9uIHRvIHByb2Nlc3Nlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgc2FtZSB1aWQgYXMgdGhlIHByZXNlbnQgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMAorbXNnaWQgIiAtcywgLS1zaWduYWwgPHNpZ25hbD4gIHNlbmQgdGhpcyA8c2lnbmFsPiBpbnN0ZWFkIG9mIFNJR1RFUk1cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTIKK21zZ2lkICIgLXEsIC0tcXVldWUgPHZhbHVlPiAgICB1c2Ugc2lncXVldWUoMiksIG5vdCBraWxsKDIpLCBhbmQgcGFzcyA8dmFsdWU+IGFzIGRhdGFcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTQKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgICBwcmludCBwaWRzIHdpdGhvdXQgc2lnbmFsaW5nIHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTUKK21zZ2lkICIgLWwsIC0tbGlzdFs9PHNpZ25hbD5dICBsaXN0IHNpZ25hbCBuYW1lcywgb3IgY29udmVydCBhIHNpZ25hbCBudW1iZXIgdG8gYSBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE2Cittc2dpZCAiIC1MLCAtLXRhYmxlICAgICAgICAgICAgbGlzdCBzaWduYWwgbmFtZXMgYW5kIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgcGlkcyB0aGF0IHdpbGwgYmUgc2lnbmFsZWRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozNjcgbWlzYy11dGlscy9raWxsLmM6Mzc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbDogJXMiCittc2dzdHIgIk9yZGUgZGVzY2/DsWVjaWRhOiAlcyIKKworIzogbWlzYy11dGlscy9raWxsLmM6Mzg3IG1pc2MtdXRpbHMva2lsbC5jOjM5MCBtaXNjLXV0aWxzL2tpbGwuYzozOTkKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQxMSBtaXNjLXV0aWxzL2tpbGwuYzo0MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6Mzk2IG1pc2MtdXRpbHMva2lsbC5jOjQzOCBtaXNjLXV0aWxzL3JlbmFtZS5jOjE3NAorIzogc3lzLXV0aWxzL2lwY3JtLmM6MTYwIHRlcm0tdXRpbHMvYWdldHR5LmM6Nzg5IHRlcm0tdXRpbHMvYWdldHR5LmM6Nzk4Cittc2dpZCAibm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQxNCBzeXMtdXRpbHMvZWplY3QuYzoyMDUgc3lzLXV0aWxzL2VqZWN0LmM6MjMwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY4OSBzeXMtdXRpbHMvdHVuZWxwLmM6MTYxIHN5cy11dGlscy90dW5lbHAuYzoxNjgKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxNzUgc3lzLXV0aWxzL3R1bmVscC5jOjE4MiBzeXMtdXRpbHMvdHVuZWxwLmM6MTg5CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTk1IHN5cy11dGlscy90dW5lbHAuYzoxOTkgc3lzLXV0aWxzL3R1bmVscC5jOjIwNgorIzogc3lzLXV0aWxzL3R1bmVscC5jOjIzMSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTMgdGVybS11dGlscy9zZXR0ZXJtLmM6MjE2CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzUgdGVybS11dGlscy9zZXR0ZXJtLmM6MjM3IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3MgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mjc0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5MSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTgKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMwMCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTIgdGVybS11dGlscy9zZXR0ZXJtLmM6MzE0CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjMgdGVybS11dGlscy9zZXR0ZXJtLmM6MzMxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0NgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM2MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM3MyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1MzUgdGVybS11dGlscy9zZXR0ZXJtLmM6NTQwCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDUgdGVybS11dGlscy9zZXR0ZXJtLmM6NTUwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU3NAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTc5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODkKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTkgdGVybS11dGlscy9zZXR0ZXJtLmM6NjA3CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2NDAKKyMsIGZ1enp5Cittc2dpZCAiYXJndW1lbnQgZXJyb3IiCittc2dzdHIgIkVycm8gaW50ZXJubyIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNpZ25hbCBuYW1lIG9yIG51bWJlcjogJXMiCittc2dzdHIgIlZhbG9yIGRlIGNpbGluZHJvcyBpbGVnYWwiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQ0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgJWQgdG8gcGlkICVkXG4iCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0NjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjUwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgcHJvY2VzcyBcIiVzXCIiCittc2dzdHIgIk5vbiBzZSBwb2RlIGVmZWN0dWFyIMKrc3RhdMK7IHNvYnJlIG8gZGlzcG9zaXRpdm8gJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5IG5hbWU6ICVzIgorbXNnc3RyICJPcmRlIGRlc2Nvw7FlY2lkYTogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHByaW9yaXR5IG5hbWU6ICVzIgorbXNnc3RyICJPcmRlIGRlc2Nvw7FlY2lkYTogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVubG9nICVzOiBwYXRobmFtZSB0b28gbG9uZyIKK21zZ3N0ciAibyBub21lIGRvIHZvbHVtZSDDqSBkZW1hc2lhZG8gbG9uZ28iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgJXMiCittc2dzdHIgIlNvY2tldChzKSBkYSBDUFU6IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgbmFtZSAlcyBwb3J0ICVzOiAlcyIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjb25uZWN0IHRvICVzIHBvcnQgJXMiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heGltdW0gaW5wdXQgbGluZXMgKCVkKSBleGNlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjQ4NworIywgZnV6enkKK21zZ2lkICJzZW5kIG1lc3NhZ2UgZmFpbGVkIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIG5hIGJ1c2NhIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU1OAorIywgYy1mb3JtYXQKK21zZ2lkICJzdHJ1Y3R1cmVkIGRhdGEgSUQgJyVzJyBpcyBub3QgdW5pcXVlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tc2QtaWQgd2FzIG5vdCBzcGVjaWZpZWQgZm9yIC0tc2QtcGFyYW0gJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NTQKKyMsIGZ1enp5Cittc2dpZCAibG9jYWx0aW1lKCkgZmFpbGVkIgorbXNnc3RyICJtYWxsb2MgZmFsbG91IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaG9zdG5hbWUgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiQSBsacOxYSDDqSBkZW1hc2lhZG8gbG9uZ2EiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0YWcgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiQSBsacOxYSDDqSBkZW1hc2lhZG8gbG9uZ2EiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyB1bmtub3duIG9wdGlvbiBhcmd1bWVudDogJXMiCittc2dzdHIgIk9yZGUgZGVzY2/DsWVjaWRhOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzOiB1c2luZyBhdXRvbWF0aWMgZXJyb3JzIgorbXNnc3RyICJkZXNwcmF6YW1lbnRvIGRvcyBkYXRvcyBkbyBmaWNoZWlybyBub24gdsOhbGlkbyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo5OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo5OTcKK21zZ2lkICJFbnRlciBtZXNzYWdlcyBpbnRvIHRoZSBzeXN0ZW0gbG9nLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMAorIywgZnV6enkKK21zZ2lkICIgLWkgICAgICAgICAgICAgICAgICAgICAgIGxvZyB0aGUgbG9nZ2VyIGNvbW1hbmQncyBQSURcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDEKK21zZ2lkICIgICAgIC0taWRbPTxpZD5dICAgICAgICAgIGxvZyB0aGUgZ2l2ZW4gPGlkPiwgb3Igb3RoZXJ3aXNlIHRoZSBQSURcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDIKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICAgICBsb2cgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMworbXNnaWQgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgZG8gbm90IGxvZyBlbXB0eSBsaW5lcyB3aGVuIHByb2Nlc3NpbmcgZmlsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDQKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgd3JpdGUgdGhlIGxvZ1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNQorbXNnaWQgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgbWFyayBnaXZlbiBtZXNzYWdlIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNgorbXNnaWQgIiAgICAgLS1vY3RldC1jb3VudCAgICAgICAgdXNlIHJmYzY1ODcgb2N0ZXQgY291bnRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDcKK21zZ2lkICIgICAgIC0tcHJpby1wcmVmaXggICAgICAgIGxvb2sgZm9yIGEgcHJlZml4IG9uIGV2ZXJ5IGxpbmUgcmVhZCBmcm9tIHN0ZGluXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA4CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zdGRlcnIgICAgICAgICAgICAgb3V0cHV0IG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IgYXMgd2VsbFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwOQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgIG1heGltdW0gc2l6ZSBmb3IgYSBzaW5nbGUgbWVzc2FnZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMAorbXNnaWQgIiAtdCwgLS10YWcgPHRhZz4gICAgICAgICAgbWFyayBldmVyeSBsaW5lIHdpdGggdGhpcyB0YWdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTEKK21zZ2lkICIgLW4sIC0tc2VydmVyIDxuYW1lPiAgICAgIHdyaXRlIHRvIHRoaXMgcmVtb3RlIHN5c2xvZyBzZXJ2ZXJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTIKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBvcnQgPHBvcnQ+ICAgICAgICB1c2UgdGhpcyBwb3J0IGZvciBVRFAgb3IgVENQIGNvbm5lY3Rpb25cbiIKK21zZ3N0ciAiSW50cm9kdXphIG8gbsO6bWVybyBkZSBjYWJlemFzOiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEzCisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgdXNlIFRDUCBvbmx5XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE0CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE1CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yZmMzMTY0ICAgICAgICAgICAgdXNlIHRoZSBvYnNvbGV0ZSBCU0Qgc3lzbG9nIHByb3RvY29sXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE2Cittc2dpZCAiIgorIiAgICAgLS1yZmM1NDI0Wz08c25pcD5dICAgdXNlIHRoZSBzeXNsb2cgcHJvdG9jb2wgKHRoZSBkZWZhdWx0IGZvciByZW1vdGUpO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c25pcD4gY2FuIGJlIG5vdGltZSwgb3Igbm90cSwgYW5kL29yIG5vaG9zdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxOAorbXNnaWQgIiAgICAgLS1zZC1pZCA8aWQ+ICAgICAgICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgSURcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTkKK21zZ2lkICIgICAgIC0tc2QtcGFyYW0gPGRhdGE+ICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIG5hbWU9dmFsdWVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjAKK21zZ2lkICIgICAgIC0tbXNnaWQgPG1zZ2lkPiAgICAgIHNldCByZmM1NDI0IG1lc3NhZ2UgaWQgZmllbGRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjEKK21zZ2lkICIgLXUsIC0tc29ja2V0IDxzb2NrZXQ+ICAgIHdyaXRlIHRvIHRoaXMgVW5peCBzb2NrZXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjIKK21zZ2lkICIiCisiICAgICAtLXNvY2tldC1lcnJvcnNbPTxvbnxvZmZ8YXV0bz5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludCBjb25uZWN0aW9uIGVycm9ycyB3aGVuIHVzaW5nIFVuaXggc29ja2V0c1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyNQorbXNnaWQgIiAgICAgLS1qb3VybmFsZFs9PGZpbGU+XSAgd3JpdGUgam91cm5hbGQgZW50cnlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpbGUgJXMiCittc2dzdHIgIihTZWd1aW50ZSBmaWNoZWlybzogJXMpIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExMjcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGlkIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1lc3NhZ2Ugc2l6ZSIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTgwCittc2dpZCAiLS1tc2dpZCBjYW5ub3QgY29udGFpbiBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc3RydWN0dXJlZCBkYXRhIElEOiAnJXMnIgorbXNnc3RyICJkZXNwcmF6YW1lbnRvIGRvcyBkYXRvcyBkbyBmaWNoZWlybyBub24gdsOhbGlkbyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBwYXJhbWV0ZXI6ICclcyciCittc2dzdHIgImRlc3ByYXphbWVudG8gZG9zIGRhdG9zIGRvIGZpY2hlaXJvIG5vbiB2w6FsaWRvIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMTgKK21zZ2lkICItLWZpbGUgPGZpbGU+IGFuZCA8bWVzc2FnZT4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSwgbWVzc2FnZSBpcyBpZ25vcmVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIyNQorbXNnaWQgImpvdXJuYWxkIGVudHJ5IGNvdWxkIG5vdCBiZSB3cml0dGVuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8c3RyaW5nPiBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNTgKK21zZ2lkICJEaXNwbGF5IGxpbmVzIGJlZ2lubmluZyB3aXRoIGEgc3BlY2lmaWVkIHN0cmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjEKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgIHVzZSB0aGUgYWx0ZXJuYXRpdmUgZGljdGlvbmFyeVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MgorbXNnaWQgIiAtZCwgLS1hbHBoYW51bSAgICAgICAgICAgY29tcGFyZSBvbmx5IGJsYW5rcyBhbmQgYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjMKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2NAorbXNnaWQgIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgZGVmaW5lIHRoZSBzdHJpbmctdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NworbXNnaWQgImRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTgKK21zZ2lkICJpbnRlcm5hbCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OQorbXNnaWQgImludGVybmFsIHBhcmVudCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MiBzeXMtdXRpbHMvenJhbWN0bC5jOjg0Cittc2dpZCAid2hlcmUgdGhlIGRldmljZSBpcyBtb3VudGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMKK21zZ2lkICJmaWxlc3lzdGVtIExBQkVMIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIHR5cGUgVVVJRCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpY2nDs25zOlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY3CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBMQUJFTCIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzEKKyMsIGZ1enp5Cittc2dpZCAicmVhZC1haGVhZCBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJlc3RhYmVsZWNlIHPDsyBsZWN0dXJhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcyIHN5cy11dGlscy9sb3NldHVwLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAiZXN0YWJlbGVjZSBzw7MgbGVjdHVyYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MworIywgZnV6enkKK21zZ2lkICJyZW1vdmFibGUgZGV2aWNlIgorbXNnc3RyICIgcmVtb3ZhYmxlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc0Cittc2dpZCAicmVtb3ZhYmxlIG9yIGhvdHBsdWcgZGV2aWNlICh1c2IsIHBjbWNpYSwgLi4uKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc1Cittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NgorbXNnaWQgImFkZHMgcmFuZG9tbmVzcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc3Cittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OAorbXNnaWQgImRpc2sgc2VyaWFsIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc5Cittc2dpZCAic2l6ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODAKK21zZ2lkICJzdGF0ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODIKK21zZ2lkICJncm91cCBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODMKK21zZ2lkICJkZXZpY2Ugbm9kZSBwZXJtaXNzaW9ucyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg0CisjLCBmdXp6eQorbXNnaWQgImFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgIm9idGVyIHBvc2ljacOzbiBkZSBhbGnDsWFtZW50byIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NQorIywgZnV6enkKK21zZ2lkICJtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICJvYnRlciBvIHRhbWHDsW8gZGUgRS9TIG3DrW5pbW8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAib3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAib2J0ZXIgbyB0YW1hw7FvIGRlIEUvUyDDs3B0aW1vIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgInBoeXNpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJvYnRlbmVyIG8gdGFtYcOxbyBkbyBibG9xdWUgZsOtc2ljbyAoc2VjdG9yKSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OAorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJvYnRlciBvIHRhbWHDsW8gZG8gYmxvcXVlIGzDs3hpY28gKHNlY3RvcikiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODkKK21zZ2lkICJJL08gc2NoZWR1bGVyIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MAorbXNnaWQgInJlcXVlc3QgcXVldWUgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkxCittc2dpZCAiZGV2aWNlIHR5cGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MgorIywgZnV6enkKK21zZ2lkICJkaXNjYXJkIGFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgIm9idGVyIHBvc2ljacOzbiBkZSBhbGnDsWFtZW50byIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MworbXNnaWQgImRpc2NhcmQgZ3JhbnVsYXJpdHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NAorbXNnaWQgImRpc2NhcmQgbWF4IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTUKK21zZ2lkICJkaXNjYXJkIHplcm9lcyBkYXRhIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTYKK21zZ2lkICJ3cml0ZSBzYW1lIG1heCBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk3Cittc2dpZCAidW5pcXVlIHN0b3JhZ2UgaWRlbnRpZmllciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk4Cittc2dpZCAiSG9zdDpDaGFubmVsOlRhcmdldDpMdW4gZm9yIFNDU0kiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OQorbXNnaWQgImRldmljZSB0cmFuc3BvcnQgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAwCittc2dpZCAiZGUtZHVwbGljYXRlZCBjaGFpbiBvZiBzdWJzeXN0ZW1zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDEKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIHJldmlzaW9uIgorbXNnc3RyICJEaXNwb3NpdGl2bzogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMgorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgdmVuZG9yIgorbXNnc3RyICJGYWJyaWNhbnRlIGRvIGh5cGVydmlzb3I6IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTI3NgorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRldmljZSBkaXJlY3RvcnkgaW4gc3lzZnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY29tcG9zZSBzeXNmcyBwYXRoIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIGxpbmsiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgd2hvbGUtZGlzayBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1MSBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1MyBtaXNjLXV0aWxzL2xzYmxrLmM6MTU3OAorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsaXN0ICclcyciCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTU4CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGV4Y2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBpbmNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MTYgc3lzLXV0aWxzL3dkY3RsLmM6MTc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjE5CisjLCBmdXp6eQorbXNnaWQgIkxpc3QgaW5mb3JtYXRpb24gYWJvdXQgYmxvY2sgZGV2aWNlcy5cbiIKK21zZ3N0ciAiJXM6IG5vbiDDqSB1biBkaXNwb3NpdGl2byBkZSBibG9xdWVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIyCittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjQKK21zZ2lkICIgLWQsIC0tbm9kZXBzICAgICAgICAgZG9uJ3QgcHJpbnQgc2xhdmVzIG9yIGhvbGRlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNQorbXNnaWQgIiAtRCwgLS1kaXNjYXJkICAgICAgICBwcmludCBkaXNjYXJkIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI2Cittc2dpZCAiIC1lLCAtLWV4Y2x1ZGUgPGxpc3Q+IGV4Y2x1ZGUgZGV2aWNlcyBieSBtYWpvciBudW1iZXIgKGRlZmF1bHQ6IFJBTSBkaXNrcylcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNworIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZnMgICAgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWkgYSB0w6Fib2EgZGUgcGFydGljacOzbnMgw6EgcGFudGFsbGEgb3UgYSB1biBmaWNoZWlybyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjgKK21zZ2lkICIgLWksIC0tYXNjaWkgICAgICAgICAgdXNlIGFzY2lpIGNoYXJhY3RlcnMgb25seVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI5Cittc2dpZCAiIC1JLCAtLWluY2x1ZGUgPGxpc3Q+IHNob3cgb25seSBkZXZpY2VzIHdpdGggc3BlY2lmaWVkIG1ham9yIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMAorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMxCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzIKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLXBlcm1zICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNAorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM1Cittc2dpZCAiIC1PLCAtLW91dHB1dC1hbGwgICAgIG91dHB1dCBhbGwgY29sdW1uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM2CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wYXRocyAgICAgICAgICBwcmludCBjb21wbGV0ZSBkZXZpY2UgcGF0aFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM5CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1pbnZlcnNlICAgICAgICBpbnZlcnNlIGRlcGVuZGVuY2llc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQwCittc2dpZCAiIC1TLCAtLXNjc2kgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IFNDU0kgZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQxCittc2dpZCAiIC10LCAtLXRvcG9sb2d5ICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHRvcG9sb2d5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDIKK21zZ2lkICIgLXgsIC0tc29ydCA8Y29sdW1uPiAgc29ydCBvdXRwdXQgYnkgPGNvbHVtbj5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NyBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTkgc3lzLXV0aWxzL2xzbnMuYzo2MzIKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTk2IHN5cy11dGlscy96cmFtY3RsLmM6NTQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLW91dHB1dCk6XG4iCittc2dzdHIgIk9yZGVzIGRpc3Bvw7HDrWJlaXM6XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWNjZXNzIHN5c2ZzIGRpcmVjdG9yeTogJXMiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjczCittc2dpZCAiY29tbWFuZCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc0Cittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzUKK21zZ2lkICJraW5kIG9mIGxvY2s6IEZMX0ZMT0NLIG9yIEZMX1BPU0lYLiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NgorbXNnaWQgInNpemUgb2YgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzcKK21zZ2lkICJsb2NrIGFjY2VzcyBtb2RlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc4Cittc2dpZCAibWFuZGF0b3J5IHN0YXRlIG9mIHRoZSBsb2NrOiAwIChub25lKSwgMSAoc2V0KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OQorbXNnaWQgInJlbGF0aXZlIGJ5dGUgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgwCittc2dpZCAiZW5kaW5nIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MQorIywgZnV6enkKK21zZ2lkICJwYXRoIG9mIHRoZSBsb2NrZWQgZmlsZSIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgyCittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGJsb2NraW5nIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI1OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSUQiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4MSBzeXMtdXRpbHMvbnNlbnRlci5jOjIzMgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwaWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6Mjg0CisjLCBmdXp6eQorbXNnaWQgIih1bmtub3duKSIKK21zZ3N0ciAiRGVzY2/DsWVjaWRvICglMDJYKSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjkzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGFydCIKK21zZ3N0ciAiVmFsb3IgZGUgc2VjdG9yZXMgaWxlZ2FsIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozMDAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVuZCIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA0Cittc2dpZCAiTGlzdCBsb2NhbCBzeXN0ZW0gbG9ja3MuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA4Cittc2dpZCAiIC1pLCAtLW5vaW5hY2Nlc3NpYmxlICAgaWdub3JlIGxvY2tzIHdpdGhvdXQgcmVhZCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwOSBzeXMtdXRpbHMvbHNucy5jOjYyMQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMCBzeXMtdXRpbHMvbHNucy5jOjYyMgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1pIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIMOhIHBhbnRhbGxhIG91IGEgdW4gZmljaGVpcm8iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMQorbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIGRpc3BsYXkgb25seSBsb2NrcyBoZWxkIGJ5IHRoaXMgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMiBzeXMtdXRpbHMvbHNucy5jOjYyNAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTcwIHNjaGVkdXRpbHMvY2hydC5jOjQ3OCBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTYzIHN5cy11dGlscy9sc25zLmM6Njk5IHN5cy11dGlscy9wcmxpbWl0LmM6NTg2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgUElEIGFyZ3VtZW50IgorbXNnc3RyICIlcyBuZWNlc2l0YSB1biBhcmd1bWVudG9cbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODUKK21zZ2lkICJHZW5lcmF0ZSBtYWdpYyBjb29raWVzIGZvciB4YXV0aC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgdXNlIGZpbGUgYXMgYSBjb29raWUgc2VlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg5Cittc2dpZCAiIC1tLCAtLW1heC1zaXplIDxudW0+ICBsaW1pdCBob3cgbXVjaCBpcyByZWFkIGZyb20gc2VlZCBmaWxlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkwCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiR290ICV6dSBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICV6dSBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNsb3NpbmcgJXMgZmFpbGVkIgorbXNnc3RyICJhIGV4ZWN1Y2nDs24gZGUgJXMgZmFsbG91LiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTY0IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTQ2IHN5cy11dGlscy9mc3RyaW0uYzozMDgKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGVuZ3RoIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNzcKK21zZ2lkICItLW1heC1zaXplIGlnbm9yZWQgd2hlbiB1c2VkIHdpdGhvdXQgLS1maWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE4NQorIywgYy1mb3JtYXQKK21zZ2lkICJHb3QgJWQgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlZCBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3ltbGluazogJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAtIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwYXRobmFtZT4uLi5cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzNgorbXNnaWQgIkZvbGxvdyBhIHBhdGhuYW1lIHVudGlsIGEgdGVybWluYWwgcG9pbnQgaXMgZm91bmQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzOQorbXNnaWQgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICBkaXNwbGF5cyB0aGlzIGhlbHAgdGV4dFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC14LCAtLW1vdW50cG9pbnRzICAgc2hvdyBtb3VudCBwb2ludCBkaXJlY3RvcmllcyB3aXRoIGEgJ0QnXG4iCisiIC1tLCAtLW1vZGVzICAgICAgICAgc2hvdyB0aGUgbW9kZSBiaXRzIG9mIGVhY2ggZmlsZVxuIgorIiAtbywgLS1vd25lcnMgICAgICAgIHNob3cgb3duZXIgYW5kIGdyb3VwIG5hbWUgb2YgZWFjaCBmaWxlXG4iCisiIC1sLCAtLWxvbmcgICAgICAgICAgdXNlIGEgbG9uZyBsaXN0aW5nIGZvcm1hdCAoLW0gLW8gLXYpIFxuIgorIiAtbiwgLS1ub3N5bWxpbmtzICAgIGRvbid0IGZvbGxvdyBzeW1saW5rc1xuIgorIiAtdiwgLS12ZXJ0aWNhbCAgICAgIHZlcnRpY2FsIGFsaWduIG9mIG1vZGVzIGFuZCBvd25lcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDA4Cittc2dpZCAicGF0aG5hbWUgYXJndW1lbnQgaXMgbWlzc2luZyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE0IHN5cy11dGlscy9sc25zLmM6NzY0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBVSUQgY2FjaGUiCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gYW8gcmVzZXJ2YXIgbyBiw7pmZXIgZGUgc2HDrWRhIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHSUQgY2FjaGUiCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gYW8gcmVzZXJ2YXIgbyBiw7pmZXIgZGUgc2HDrWRhIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGNlZWRlZCBsaW1pdCBvZiBzeW1saW5rcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAiJXM6IG5vbiDDqSB1biBkaXNwb3NpdGl2byBkZSBibG9xdWVzXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkbGluayBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5saW5rIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzeW1saW5raW5nIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVuYW1lIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxleHByZXNzaW9uPiA8cmVwbGFjZW1lbnQ+IDxmaWxlPi4uLlxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyMgorIywgZnV6enkKK21zZ2lkICJSZW5hbWUgZmlsZXMuXG4iCittc2dzdHIgInV0aW1lIGZhbGxvdTogKCVzKSIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyNgorbXNnaWQgIiAtcywgLS1zeW1saW5rICAgIGFjdCBvbiB0aGUgdGFyZ2V0IG9mIHN5bWxpbmtzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcyCittc2dpZCAiQSBkYWVtb24gZm9yIGdlbmVyYXRpbmcgVVVJRHMuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgPHBhdGg+ICAgICAgICBwYXRoIHRvIHBpZCBmaWxlXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBDYW1iaWFyIG8gdGlwbyBkZSBzaXN0ZW1hIGRlIGZpY2hlaXJvcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc1CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zb2NrZXQgPHBhdGg+ICAgICBwYXRoIHRvIHNvY2tldFxuIgorbXNnc3RyICIgIHQgICAgICAgICAgQ2FtYmlhciBvIHRpcG8gZGUgc2lzdGVtYSBkZSBmaWNoZWlyb3MiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NgorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKK21zZ3N0ciAiSW50cm9kdXphIG8gbsO6bWVybyBkZSBjYWJlemFzOiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc3CisjLCBmdXp6eQorbXNnaWQgIiAtaywgLS1raWxsICAgICAgICAgICAgICBraWxsIHJ1bm5pbmcgZGFlbW9uXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc4CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc5CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICB0ZXN0IHRpbWUtYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tdXVpZHMgPG51bT4gICAgICAgcmVxdWVzdCBudW1iZXIgb2YgdXVpZHNcbiIKK21zZ3N0ciAiSW50cm9kdXphIG8gbsO6bWVybyBkZSBjYWJlemFzOiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgxCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1uby1waWQgICAgICAgICAgICBkbyBub3QgY3JlYXRlIHBpZCBmaWxlXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1pIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIMOhIHBhbnRhbGxhIG91IGEgdW4gZmljaGVpcm8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MgorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MworbXNnaWQgIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBkbyBub3QgY3JlYXRlIGxpc3RlbmluZyBzb2NrZXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODQKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHJ1biBpbiBkZWJ1Z2dpbmcgbW9kZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4NQorIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgdHVybiBvbiBxdWlldCBtb2RlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjExOAorbXNnaWQgImJhZCBhcmd1bWVudHMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEyNQorbXNnaWQgInNvY2tldCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTM2Cittc2dpZCAiY29ubmVjdCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTU2Cittc2dpZCAid3JpdGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE2NAorbXNnaWQgInJlYWQgY291bnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE3MAorbXNnaWQgImJhZCByZXNwb25zZSBsZW5ndGgiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGxvY2sgJXMiCittc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjQ2Cittc2dpZCAiY291bGRuJ3QgY3JlYXRlIHVuaXggc3RyZWFtIHNvY2tldCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBiaW5kIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICJub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI5OAorIywgZnV6enkKK21zZ2lkICJyZWNlaXZpbmcgc2lnbmFsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozMTEKK21zZ2lkICJ0aW1lZCBvdXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM0NSBzeXMtdXRpbHMvZmxvY2suYzoyNzEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCB1cCB0aW1lciIKK21zZ3N0ciAibm9uIHNlIHBvZGUgb2J0ZXIgbyB0YW1hw7FvIGRlICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgInV1aWRkIGRhZW1vbiBpcyBhbHJlYWR5IHJ1bm5pbmcgYXQgcGlkICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgbGlzdGVuIG9uIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB0cnVuY2F0ZSBmaWxlOiAlcyIKK21zZ3N0ciAibyBub2RvLWkgcmHDrXogbm9uIMOpIHVuIGNhcnRhZm9sIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzg2CisjLCBmdXp6eQorbXNnaWQgInNkX2xpc3Rlbl9mZHMoKSBmYWlsZWQiCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gbmEgYnVzY2EiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODkKK21zZ2lkICJubyBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayBzeXN0ZW1jdGwgc3RhdHVzIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzkyCisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MjAgdGVybS11dGlscy9zY3JpcHQuYzo0NTUKKyMsIGZ1enp5Cittc2dpZCAicG9sbCBmYWlsZWQiCittc2dzdHIgIm1hbGxvYyBmYWxsb3UiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZW91dCBbJWQgc2VjXVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDMgdGV4dC11dGlscy9jb2x1bW4uYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBmYWlsZWQiCittc2dzdHIgInJlYWQgZmFsbG91OiAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciByZWFkaW5nIGZyb20gY2xpZW50LCBsZW4gPSAlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZCwgaW5jb21pbmcgbnVtID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCByYW5kb20gVVVJRDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgYW5kICVkIGZvbGxvd2luZ1xuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkICVkIFVVSUQ6XG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCAlZCBVVUlEczpcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgcmVwbHkgbGVuZ3RoIGZyb20gc2VydmVyICVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MDAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdXVpZHMiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MTcKK21zZ2lkICJ1dWlkZCBoYXMgYmVlbiBidWlsdCB3aXRob3V0IHN1cHBvcnQgZm9yIHNvY2tldCBhY3RpdmF0aW9uIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MzYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGltZW91dCIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1MworbXNnaWQgIkJvdGggLS1zb2NrZXQtYWN0aXZhdGlvbiBhbmQgLS1zb2NrZXQgc3BlY2lmaWVkLiBJZ25vcmluZyAtLXNvY2tldC4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2MCBtaXNjLXV0aWxzL3V1aWRkLmM6Njg4CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNhbGxpbmcgdXVpZGQgZGFlbW9uICglcykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2MSBtaXNjLXV0aWxzL3V1aWRkLmM6Njg5CisjLCBmdXp6eQorbXNnaWQgInVuZXhwZWN0ZWQgZXJyb3IiCittc2dzdHIgIkVycm8gaW50ZXJubyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEXG4iCittc2dpZF9wbHVyYWwgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURzXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjczCisjLCBjLWZvcm1hdAorbXNnaWQgIkxpc3Qgb2YgVVVJRHM6XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBraWxsIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiS2lsbGVkIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI4CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZSBhIG5ldyBVVUlEIHZhbHVlLlxuIgorbXNnc3RyICIlcyBub24gY29udMOpbiBuaW5ndW5oYSBldGlxdWV0YSBkZSBkaXNjby5cbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzEKK21zZ2lkICIiCisiIC1yLCAtLXJhbmRvbSAgICAgZ2VuZXJhdGUgcmFuZG9tLWJhc2VkIHV1aWRcbiIKKyIgLXQsIC0tdGltZSAgICAgICBnZW5lcmF0ZSB0aW1lLWJhc2VkIHV1aWRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstQk1TIDxkaXI+Li4uIC1mXSA8bmFtZT5cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTkyCittc2dpZCAiTG9jYXRlIHRoZSBiaW5hcnksIHNvdXJjZSwgYW5kIG1hbnVhbC1wYWdlIGZpbGVzIGZvciBhIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk1Cittc2dpZCAiIC1iICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIGJpbmFyaWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk2Cittc2dpZCAiIC1CIDxkaXJzPiAgZGVmaW5lIGJpbmFyaWVzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk3CisjLCBmdXp6eQorbXNnaWQgIiAtbSAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBtYW51YWxzIGFuZCBpbmZvc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5OAorbXNnaWQgIiAtTSA8ZGlycz4gIGRlZmluZSBtYW4gYW5kIGluZm8gbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTkKK21zZ2lkICIgLXMgICAgICAgICBzZWFyY2ggb25seSBmb3Igc291cmNlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMAorbXNnaWQgIiAtUyA8ZGlycz4gIGRlZmluZSBzb3VyY2VzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAxCittc2dpZCAiIC1mICAgICAgICAgdGVybWluYXRlIDxkaXJzPiBhcmd1bWVudCBsaXN0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAyCittc2dpZCAiIC11ICAgICAgICAgc2VhcmNoIGZvciB1bnVzdWFsIGVudHJpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDMKK21zZ2lkICIgLWwgICAgICAgICBvdXRwdXQgZWZmZWN0aXZlIGxvb2t1cCBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjYxOQorbXNnaWQgIm9wdGlvbiAtZiBpcyBtaXNzaW5nIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTk2CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogcHJvYmluZyBpbml0aWFsaXphdGlvbiBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZXJhc2UgJXMgbWFnaWMgc3RyaW5nIGF0IG9mZnNldCAweCUwOGp4IgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICV6ZCBieXRlIHdhcyBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnaWRfcGx1cmFsICIlczogJXpkIGJ5dGVzIHdlcmUgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIKK21zZ3N0clswXSAiJXMgZmFsbG91LiIKK21zZ3N0clsxXSAiJXMgZmFsbG91LiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGVzY3JpYmlyIGEgdMOhYm9hIGRlIG5vZG9zLWkiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FsbGluZyBpb2N0bCB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZTogJW1cbiIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6Mzg1Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaWdub3JpbmcgbmVzdGVkIFwiJXNcIiBwYXJ0aXRpb24gdGFibGUgb24gbm9uLXdob2xlIGRpc2sgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0IDB4JWp4IG5vdCBmb3VuZCIKK21zZ3N0ciAiTm9uIHNlIGVuY29udHJvdSBvIHBhdHLDs24iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDM1Cittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiB0byBmb3JjZSBlcmFzZS4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0NTkKK21zZ2lkICJXaXBlIHNpZ25hdHVyZXMgZnJvbSBhIGRldmljZS5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ2MgorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICB3aXBlIGFsbCBtYWdpYyBzdHJpbmdzIChCRSBDQVJFRlVMISlcbiIKKyIgLWIsIC0tYmFja3VwICAgICAgICBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIGluICRIT01FXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgZm9yY2UgZXJhc3VyZVxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKKyIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgYWN0dWFsIHdyaXRlKCkgY2FsbFxuIgorIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCB0byBlcmFzZSwgaW4gYnl0ZXNcbiIKKyIgLXAsIC0tcGFyc2FibGUgICAgICBwcmludCBvdXQgaW4gcGFyc2FibGUgaW5zdGVhZCBvZiBwcmludGFibGUgZm9ybWF0XG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcHJlc3Mgb3V0cHV0IG1lc3NhZ2VzXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtLCBSQUlEcyBvciBwYXJ0aXRpb24gdGFibGVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjUzMworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG9mZnNldCBhcmd1bWVudCIKK21zZ3N0ciAiVmFsb3IgZGUgc2VjdG9yZXMgaWxlZ2FsIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU1OAorbXNnaWQgIlRoZSAtLWJhY2t1cCBvcHRpb24gaXMgbWVhbmluZ2xlc3MgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZWFsLXRpbWUgc2NoZWR1bGluZyBhdHRyaWJ1dGVzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzcKK21zZ2lkICIiCisiU2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gPHByaW9yaXR5PiA8Y29tbWFuZD4gWzxhcmc+Li4uXVxuIgorIiBjaHJ0IFtvcHRpb25zXSAtLXBpZCA8cHJpb3JpdHk+IDxwaWQ+XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQxCittc2dpZCAiIgorIkdldCBwb2xpY3k6XG4iCisiIGNocnQgW29wdGlvbnNdIC1wIDxwaWQ+XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgIlBvbGljeSBvcHRpb25zOlxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDYKK21zZ2lkICIgLWIsIC0tYmF0Y2ggICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NworIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGVhZGxpbmUgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9ERUFETElORVxuIgorbXNnc3RyICIgIGQgICAgICAgICAgRWxpbWluYXIgYSBwYXJ0aWNpw7NuIGFjdHVhbCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ4CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maWZvICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKK21zZ3N0ciAiICBkICAgICAgICAgIEVsaW1pbmFyIGEgcGFydGljacOzbiBhY3R1YWwiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OQorbXNnaWQgIiAtaSwgLS1pZGxlICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTAKK21zZ2lkICIgLW8sIC0tb3RoZXIgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcnIgICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTQKKyMsIGZ1enp5Cittc2dpZCAiU2NoZWR1bGluZyBvcHRpb25zOlxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTUKK21zZ2lkICIgLVIsIC0tcmVzZXQtb24tZm9yayAgICAgICBzZXQgU0NIRURfUkVTRVRfT05fRk9SSyBmb3IgRklGTyBvciBSUlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NgorbXNnaWQgIiAtVCwgLS1zY2hlZC1ydW50aW1lIDxucz4gIHJ1bnRpbWUgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NworbXNnaWQgIiAtUCwgLS1zY2hlZC1wZXJpb2QgPG5zPiAgIHBlcmlvZCBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU4Cittc2dpZCAiIC1ELCAtLXNjaGVkLWRlYWRsaW5lIDxucz4gZGVhZGxpbmUgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MQorIywgZnV6enkKK21zZ2lkICJPdGhlciBvcHRpb25zOlxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjIKK21zZ2lkICIgLWEsIC0tYWxsLXRhc2tzICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjMKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1heCAgICAgICAgICAgIHNob3cgbWluIGFuZCBtYXggdmFsaWQgcHJpb3JpdGllc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjMyIHNjaGVkdXRpbHMvY2hydC5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhdHRyaWJ1dGVzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2NworIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcHJpb3JpdHk6ICVkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMDAgc2NoZWR1dGlscy9jaHJ0LmM6Mzk2Cittc2dpZCAiY2Fubm90IG9idGFpbiB0aGUgbGlzdCBvZiB0YXNrcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbWluL21heCBwcmlvcml0eVx0OiAlZC8lZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IHN1cHBvcnRlZD9cbiIKK21zZ3N0ciAiTm9uIHNlIGVuY29udHJvdSBvIHBhdHLDs24iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aWQgJWQncyBwb2xpY3kiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBydW50aW1lIGFyZ3VtZW50IgorbXNnc3RyICJjb252ZXJ0ZXIgYSBob3JhIHJ0YyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDkwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcGVyaW9kIGFyZ3VtZW50IgorbXNnc3RyICJWYWxvciBkZSBzZWN0b3JlcyBpbGVnYWwiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ5MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGRlYWRsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJWYWxvciBkZSBzZWN0b3JlcyBpbGVnYWwiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUxNworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5IGFyZ3VtZW50IgorbXNnc3RyICIlcyBuZWNlc2l0YSB1biBhcmd1bWVudG9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTIxCittc2dpZCAiLS1yZXNldC1vbi1mb3JrIG9wdGlvbiBpcyBzdXBwb3J0ZWQgZm9yIFNDSEVEX0ZJRk8gYW5kIFNDSEVEX1JSIHBvbGljaWVzIG9ubHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTI2Cittc2dpZCAiLS1zY2hlZC17cnVudGltZSxkZWFkbGluZSxwZXJpb2R9IG9wdGlvbnMgYXJlIHN1cHBvcnRlZCBmb3IgU0NIRURfREVBRExJTkUgb25seSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1NDEKK21zZ2lkICJTQ0hFRF9ERUFETElORSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJpb3JpdHkgdmFsdWUgZm9yIHRoZSBwb2xpY3k6ICVkOiBzZWUgLS1tYXggZm9yIHZhbGlkIHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6NzYKK21zZ2lkICJpb3ByaW9fZ2V0IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcHJpbyAlbHVcbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo5OAorbXNnaWQgImlvcHJpb19zZXQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXAgPHBpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC11IDx1aWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTEwCittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIEkvTy1zY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTMKK21zZ2lkICIiCisiIC1jLCAtLWNsYXNzIDxjbGFzcz4gICAgbmFtZSBvciBudW1iZXIgb2Ygc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IG5vbmUsIDE6IHJlYWx0aW1lLCAyOiBiZXN0LWVmZm9ydCwgMzogaWRsZVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE1Cittc2dpZCAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPG51bT4gIHByaW9yaXR5ICgwLi43KSBpbiB0aGUgc3BlY2lmaWVkIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IGZvciB0aGUgcmVhbHRpbWUgYW5kIGJlc3QtZWZmb3J0IGNsYXNzZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNworbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4uLi4gICAgIGFjdCBvbiB0aGVzZSBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTgKK21zZ2lkICIgLVAsIC0tcGdpZCA8cGdycD4uLi4gICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBpbiB0aGVzZSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0taWdub3JlICAgICAgICAgICBpZ25vcmUgZmFpbHVyZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMAorbXNnaWQgIiAtdSwgLS11aWQgPHVpZD4uLi4gICAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIG93bmVkIGJ5IHRoZXNlIHVzZXJzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjbGFzcyBkYXRhIGFyZ3VtZW50IgorbXNnc3RyICJkZXNwcmF6YW1lbnRvIGRvcyBkYXRvcyBkbyBmaWNoZWlybyBub24gdsOhbGlkbyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjbGFzcyBhcmd1bWVudCIKK21zZ3N0ciAiVmFsb3IgZGUgc2VjdG9yZXMgaWxlZ2FsIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzY2hlZHVsaW5nIGNsYXNzOiAnJXMnIgorbXNnc3RyICJPcmRlIGRlc2Nvw7FlY2lkYTogJXMiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc2IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg0IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkyCittc2dpZCAiY2FuIGhhbmRsZSBvbmx5IG9uZSBvZiBwaWQsIHBnaWQgb3IgdWlkIGF0IG9uY2UiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBQR0lEIGFyZ3VtZW50IgorbXNnc3RyICIlcyBuZWNlc2l0YSB1biBhcmd1bWVudG9cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBVSUQgYXJndW1lbnQiCittc2dzdHIgIiVzIG5lY2VzaXRhIHVuIGFyZ3VtZW50b1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIxMgorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIG5vbmUgY2xhc3MiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjAKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBpZGxlIGNsYXNzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHByaW8gY2xhc3MgJWQiCittc2dzdHIgIk9yZGUgZGVzY2/DsWVjaWRhOiAlcyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlVzYWdlOiAlcyBbb3B0aW9uc10gW21hc2sgfCBjcHUtbGlzdF0gW3BpZHxjbWQgW2FyZ3MuLi5dXVxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU1Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIENQVSBhZmZpbml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk9wdGlvbnM6XG4iCisiIC1hLCAtLWFsbC10YXNrcyAgICAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisiIC1wLCAtLXBpZCAgICAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCisiIC1jLCAtLWNwdS1saXN0ICAgICAgICAgIGRpc3BsYXkgYW5kIHNwZWNpZnkgY3B1cyBpbiBsaXN0IGZvcm1hdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvblxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBydW4gYSBuZXcgY29tbWFuZDpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyJZb3UgY2FuIHJldHJpZXZlIHRoZSBtYXNrIG9mIGFuIGV4aXN0aW5nIHRhc2s6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiT3Igc2V0IGl0OlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorIkxpc3QgZm9ybWF0IHVzZXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBpbnN0ZWFkIG9mIGEgbWFzazpcbiIKKyIgICAgJTEkcyAtcGMgMCwzLDctMTEgNzAwXG4iCisiUmFuZ2VzIGluIGxpc3QgZm9ybWF0IGNhbiB0YWtlIGEgc3RyaWRlIGFyZ3VtZW50OlxuIgorIiAgICBlLmcuIDAtMzE6MiBpcyBlcXVpdmFsZW50IHRvIG1hc2sgMHg1NTU1NTU1NVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkwCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IGNvbnZlcnNpb24gZnJvbSBjcHVzZXQgdG8gc3RyaW5nIGZhaWxlZCIKK21zZ3N0ciAiY29udmVydGVyIGEgaG9yYSBydGMiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwOSBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxODYgc3lzLXV0aWxzL2NoY3B1LmM6Mjg5Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBOUl9DUFVTOyBhYm9ydGluZyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxOTUgc2NoZWR1dGlscy90YXNrc2V0LmM6MjA4IHN5cy11dGlscy9jaGNwdS5jOjI5NQorbXNnaWQgImNwdXNldF9hbGxvYyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjE1IHN5cy11dGlscy9jaGNwdS5jOjIzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2s6ICVzIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBaZXJvLWZpbGxlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IERpc2NhcmRlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODcKK21zZ2lkICJEaXNjYXJkIHRoZSBjb250ZW50IG9mIHNlY3RvcnMgb24gYSBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iCittc2dzdHIgIkludHJvZHV6YSBvIG7Dum1lcm8gZGUgY2lsaW5kcm9zOiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiSW50cm9kdXphIG8gbsO6bWVybyBkZSBjaWxpbmRyb3M6IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkyCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1zdGVwIDxudW0+ICAgIHNpemUgb2YgdGhlIGRpc2NhcmQgaXRlcmF0aW9ucyB3aXRoaW4gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNlY3VyZSAgICAgICAgcGVyZm9ybSBzZWN1cmUgZGlzY2FyZFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTQKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXplcm9vdXQgICAgICAgemVyby1maWxsIHJhdGhlciB0aGFuIGRpc2NhcmRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IGFsaWduZWQgbGVuZ3RoIGFuZCBvZmZzZXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1MCBzeXMtdXRpbHMvZnN0cmltLmM6MzEyIHN5cy11dGlscy9sb3NldHVwLmM6NjczCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG9mZnNldCIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0ZXAiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTcyIHN5cy11dGlscy96cmFtY3RsLmM6NjgyIHN5cy11dGlscy96cmFtY3RsLmM6NzA4CisjLCBmdXp6eQorbXNnaWQgIm5vIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3NyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzUxCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjIgc3lzLXV0aWxzL2ZzdHJpbS5jOjMzNAorbXNnaWQgInVuZXhwZWN0ZWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0dFVFNJWkU2NCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NTWkdFVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0ICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCBpcyBncmVhdGVyIHRoYW4gZGV2aWNlIHNpemUiCittc2dzdHIgIk5vbiBzZSBwb2RlIGVmZWN0dWFyIMKrc3RhdMK7IHNvYnJlIG8gZGlzcG9zaXRpdm8gJXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsZW5ndGggJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLWkVST09VVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NFQ0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjg3IHN5cy11dGlscy9jaGNwdS5jOjE3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGhvdCBwbHVnZ2FibGUiCittc2dzdHIgIiVzOiBub24gw6kgdW4gZGlzcG9zaXRpdm8gZGUgYmxvcXVlc1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZW5hYmxlZFxuIgorbXNnc3RyICIlcyBlc3TDoSBtb250YWRvLlx0ICIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBkaXNhYmxlZFxuIgorbXNnc3RyICIlcyBmYWxsb3UuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQgKENQVSBpcyBkZWNvbmZpZ3VyZWQpIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZWRcbiIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIChsYXN0IGVuYWJsZWQgQ1BVKSIKK21zZ3N0ciAiJXMgZmFsbG91LlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCIKK21zZ3N0ciAiJXMgZmFsbG91LlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlZFxuIgorbXNnc3RyICIlcyBmYWxsb3UuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgcmVzY2FubmluZyBvZiBDUFVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MworbXNnaWQgIkZhaWxlZCB0byB0cmlnZ2VyIHJlc2NhbiBvZiBDUFVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJUcmlnZ2VyZWQgcmVzY2FuIG9mIENQVXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHNldHRpbmcgdGhlIGRpc3BhdGNoaW5nIG1vZGUgb2YgQ1BVcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTUKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHNldCBob3Jpem9udGFsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCBob3Jpem9udGFsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU5CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBzZXQgdmVydGljYWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IHZlcnRpY2FsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGNvbmZpZ3VyYWJsZSIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgY29uZmlndXJlZFxuIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlIGZhaWxlZCAoQ1BVIGlzIGVuYWJsZWQpIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIENQVSBudW1iZXIgaW4gQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICJuw7ptZXJvIGRlIGxpw7FhcyBub24gdsOhbGlkbyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjM4IHRleHQtdXRpbHMvY29sLmM6MTMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDIKK21zZ2lkICJDb25maWd1cmUgQ1BVcyBpbiBhIG11bHRpLXByb2Nlc3NvciBzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQ0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyIgIC1lLCAtLWVuYWJsZSA8Y3B1LWxpc3Q+ICAgICAgIGVuYWJsZSBjcHVzXG4iCisiICAtZCwgLS1kaXNhYmxlIDxjcHUtbGlzdD4gICAgICBkaXNhYmxlIGNwdXNcbiIKKyIgIC1jLCAtLWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICAgIGNvbmZpZ3VyZSBjcHVzXG4iCisiICAtZywgLS1kZWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICBkZWNvbmZpZ3VyZSBjcHVzXG4iCisiICAtcCwgLS1kaXNwYXRjaCA8bW9kZT4gICAgICAgICBzZXQgZGlzcGF0Y2hpbmcgbW9kZVxuIgorIiAgLXIsIC0tcmVzY2FuICAgICAgICAgICAgICAgICAgdHJpZ2dlciByZXNjYW4gb2YgY3B1c1xuIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzozMjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBoYXJkfHNvZnRcbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICJTZXQgdGhlIGZ1bmN0aW9uIG9mIHRoZSBDdHJsLUFsdC1EZWwgY29tYmluYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MQorbXNnaWQgImltcGxpY2l0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdmFsdWUgaW4gJXM6ICVqdSIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NjMKK21zZ2lkICJZb3UgbXVzdCBiZSByb290IHRvIHNldCB0aGUgQ3RybC1BbHQtRGVsIGJlaGF2aW9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NzEgc3lzLXV0aWxzL2lwY3JtLmM6MzkyIHN5cy11dGlscy9pcGNybS5jOjQxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhcmd1bWVudDogJXMiCittc2dzdHIgIk9yZGUgZGVzY2/DsWVjaWRhOiAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEwCisjLCBmdXp6eQorbXNnaWQgInN5c3RlbSBpcyB1bnVzYWJsZSIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTEKK21zZ2lkICJhY3Rpb24gbXVzdCBiZSB0YWtlbiBpbW1lZGlhdGVseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTIKK21zZ2lkICJjcml0aWNhbCBjb25kaXRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMworIywgZnV6enkKK21zZ2lkICJlcnJvciBjb25kaXRpb25zIgorbXNnc3RyICJlcnJvOiBub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE0Cittc2dpZCAid2FybmluZyBjb25kaXRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNQorbXNnaWQgIm5vcm1hbCBidXQgc2lnbmlmaWNhbnQgY29uZGl0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNgorbXNnaWQgImluZm9ybWF0aW9uYWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE3Cittc2dpZCAiZGVidWctbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMxCittc2dpZCAia2VybmVsIG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMgorbXNnaWQgInJhbmRvbSB1c2VyLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMworIywgZnV6enkKK21zZ2lkICJtYWlsIHN5c3RlbSIKK21zZ3N0ciAiRXN0YWRvIGRvIHNpc3RlbWEgZGUgZmljaGVyaXNvPSVkXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNAorbXNnaWQgInN5c3RlbSBkYWVtb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNQorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM2Cittc2dpZCAibWVzc2FnZXMgZ2VuZXJhdGVkIGludGVybmFsbHkgYnkgc3lzbG9nZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzcKK21zZ2lkICJsaW5lIHByaW50ZXIgc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOAorbXNnaWQgIm5ldHdvcmsgbmV3cyBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM5Cittc2dpZCAiVVVDUCBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQwCittc2dpZCAiY2xvY2sgZGFlbW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MQorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMgKHByaXZhdGUpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MgorbXNnaWQgIkZUUCBkYWVtb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjY3Cittc2dpZCAiRGlzcGxheSBvciBjb250cm9sIHRoZSBrZXJuZWwgcmluZyBidWZmZXIuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjcwCisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgY2xlYXIgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MQorbXNnaWQgIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgcmVhZCBhbmQgY2xlYXIgYWxsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjcyCittc2dpZCAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICBkaXNhYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzMKK21zZ2lkICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIGVuYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc0Cittc2dpZCAiIC1GLCAtLWZpbGUgPGZpbGU+ICAgICAgICAgICB1c2UgdGhlIGZpbGUgaW5zdGVhZCBvZiB0aGUga2VybmVsIGxvZyBidWZmZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzUKK21zZ2lkICIgLWYsIC0tZmFjaWxpdHkgPGxpc3Q+ICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGZhY2lsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzYKKyMsIGZ1enp5Cittc2dpZCAiIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICBodW1hbiByZWFkYWJsZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzcKKyMsIGZ1enp5Cittc2dpZCAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICBkaXNwbGF5IGtlcm5lbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3OAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgxCittc2dpZCAiIC1sLCAtLWxldmVsIDxsaXN0PiAgICAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBsZXZlbHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODIKK21zZ2lkICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bGV2ZWw+IHNldCBsZXZlbCBvZiBtZXNzYWdlcyBwcmludGVkIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODMKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICBkbyBub3QgcGlwZSBvdXRwdXQgaW50byBhIHBhZ2VyXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1pIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIMOhIHBhbnRhbGxhIG91IGEgdW4gZmljaGVpcm8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByYXcgbWVzc2FnZSBidWZmZXJcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODUKK21zZ2lkICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIGZvcmNlIHRvIHVzZSBzeXNsb2coMikgcmF0aGVyIHRoYW4gL2Rldi9rbXNnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg2Cittc2dpZCAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgZGlzcGxheSB1c2Vyc3BhY2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODgKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICB3YWl0IGZvciBuZXcgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODkKK21zZ2lkICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIGRlY29kZSBmYWNpbGl0eSBhbmQgbGV2ZWwgdG8gcmVhZGFibGUgc3RyaW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkwCittc2dpZCAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICBzaG93IHRpbWUgZGVsdGEgYmV0d2VlbiBwcmludGVkIG1lc3NhZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkxCittc2dpZCAiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBzaG93IGxvY2FsIHRpbWUgYW5kIHRpbWUgZGVsdGEgaW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkyCisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbi1yZWFkYWJsZSB0aW1lc3RhbXAgKG1heSBiZSBpbmFjY3VyYXRlISlcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBkb24ndCBzaG93IGFueSB0aW1lc3RhbXAgd2l0aCBtZXNzYWdlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NAorbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wIHVzaW5nIHRoZSBnaXZlbiBmb3JtYXQ6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisiU3VzcGVuZGluZy9yZXN1bWUgd2lsbCBtYWtlIGN0aW1lIGFuZCBpc28gdGltZXN0YW1wcyBpbmFjY3VyYXRlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwMAorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGZhY2lsaXRpZXM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzA2Cittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgbGV2ZWxzIChwcmlvcml0aWVzKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZXZlbCAnJXMnIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbGV2ZWwgJyVzJyIKK21zZ3N0ciAiT3JkZSBkZXNjb8OxZWNpZGE6ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBmYWNpbGl0eSAnJXMnIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo0MDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAiT3JkZSBkZXNjb8OxZWNpZGE6ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtbWFwOiAlcyIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNTYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBidWZmZXIgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiVmFsb3IgZGUgc2VjdG9yZXMgaWxlZ2FsIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDA5Cittc2dpZCAiLS1zaG93LWRlbHRhIGlzIGlnbm9yZWQgd2hlbiB1c2VkIHRvZ2V0aGVyIHdpdGggaXNvODYwMSB0aW1lIGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDMyCittc2dpZCAiLS1yYXcgY2FuIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWxldmVsIG9yIC0tZmFjaWxpdHkgb25seSB3aGVuIHJlYWRpbmcgbWVzc2FnZXMgZnJvbSAvZGV2L2ttc2ciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQ0MgorIywgZnV6enkKK21zZ2lkICJyZWFkIGtlcm5lbCBidWZmZXIgZmFpbGVkIgorbXNnc3RyICJsZXIgYSBob3JhIHJ0YyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQ2MQorIywgZnV6enkKK21zZ2lkICJrbG9nY3RsIGZhaWxlZCIKK21zZ3N0ciAibWFsbG9jIGZhbGxvdSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPnw8bW91bnRwb2ludD5dXG4iCittc2dzdHIgIiVzIGVzdMOhIG1vbnRhZG8uXHQgIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiRWplY3QgcmVtb3ZhYmxlIG1lZGlhLlxuIgorbXNnc3RyICIgcmVtb3ZhYmxlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNDAKK21zZ2lkICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICB0dXJuIGF1dG8tZWplY3QgZmVhdHVyZSBvbiBvciBvZmZcbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHNsb3Q+ICAgIHN3aXRjaCBkaXNjcyBvbiBhIENELVJPTSBjaGFuZ2VyXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBkaXNwbGF5IGRlZmF1bHQgZGV2aWNlXG4iCisiIC1mLCAtLWZsb3BweSAgICAgICAgICAgICAgICBlamVjdCBmbG9wcHlcbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIGRvbid0IGNhcmUgYWJvdXQgZGV2aWNlIHR5cGVcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIHRvZ2dsZSBtYW51YWwgZWplY3QgcHJvdGVjdGlvbiBvbi9vZmZcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIGRvIG5vdCB1bm1vdW50IGRldmljZSBldmVuIGlmIGl0IGlzIG1vdW50ZWRcbiIKKyIgLU0sIC0tbm8tcGFydGl0aW9ucy11bm1vdW50IGRvIG5vdCB1bm1vdW50IGFub3RoZXIgcGFydGl0aW9uc1xuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgZG9uJ3QgZWplY3QsIGp1c3Qgc2hvdyBkZXZpY2UgZm91bmRcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIHVzZSAvcHJvYy9tb3VudHMgaW5zdGVhZCBvZiAvZXRjL210YWJcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIGVqZWN0IHRhcGVcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIGVqZWN0IENELVJPTVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgZWplY3QgU0NTSSBkZXZpY2VcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIGNsb3NlIHRyYXlcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIHRvZ2dsZSB0cmF5XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICBlbmFibGUgdmVyYm9zZSBvdXRwdXRcbiIKKyIgLXgsIC0tY2RzcGVlZCA8c3BlZWQ+ICAgICAgIHNldCBDRC1ST00gbWF4IHNwZWVkXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICBsaXN0IENELVJPTSBhdmFpbGFibGUgc3BlZWRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTY0Cittc2dpZCAiIgorIlxuIgorIkJ5IGRlZmF1bHQgdHJpZXMgLXIsIC1zLCAtZiwgYW5kIC1xIGluIG9yZGVyIHVudGlsIHN1Y2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjEwCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNoYW5nZXJzbG90Ly1jIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2RzcGVlZC8teCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzI2Cittc2dpZCAiQ0QtUk9NIGF1dG8tZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQwCisjLCBmdXp6eQorbXNnaWQgIkNELVJPTSBkb29yIGxvY2sgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiU8OzIHNlIGFkbWl0ZW4gYmxvcXVlcy96b25hcyBkZSAxayIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQyCittc2dpZCAib3RoZXIgdXNlcnMgaGF2ZSB0aGUgZHJpdmUgb3BlbiBhbmQgbm90IENBUF9TWVNfQURNSU4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQ0Cittc2dpZCAiQ0QtUk9NIGxvY2sgZG9vciBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDkKK21zZ2lkICJDRC1Ecml2ZSBtYXkgTk9UIGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM1MQorbXNnaWQgIkNELURyaXZlIG1heSBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjIKK21zZ2lkICJDRC1ST00gc2VsZWN0IGRpc2MgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY2Cittc2dpZCAiQ0QtUk9NIGxvYWQgZnJvbSBzbG90IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2OAorbXNnaWQgIklERS9BVEFQSSBDRC1ST00gY2hhbmdlciBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg2Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg4Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDA1Cittc2dpZCAiQ0QtUk9NIGVqZWN0IHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzMyBzeXMtdXRpbHMvZWplY3QuYzo0NTYgc3lzLXV0aWxzL2VqZWN0LmM6MTAxMQorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzYKK21zZ2lkICJubyBDRC1ST00gaW5mb3JtYXRpb24gYXZhaWxhYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzOQorbXNnaWQgIkNELVJPTSBkcml2ZSBpcyBub3QgcmVhZHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgyCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODQgc3lzLXV0aWxzL2VqZWN0LmM6NTcwCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmRpbmcgQ0QtUk9NIG5hbWUiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1NDQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgImF2aXNvOiBmb3JtYXRvIGRlIGNyYW1mcyBhbnRpZ29cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTg4Cittc2dpZCAibm90IGFuIHNnIGRldmljZSwgb3Igb2xkIHNnIGRyaXZlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bm1vdW50aW5nIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZXhlYyAvYmluL3Vtb3VudCBvZiBgJXMnIgorbXNnc3RyICJOb24gw6kgcG9zw61iZWwgYWJyaXIgwqslc8K7OiAlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njc4CisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBmb3JrIgorbXNnc3RyICJOb24gw6kgcG9zw61iZWwgbGVyIG9zIG5vZG9zLWkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAibyBub2RvLWkgcmHDrXogbm9uIMOpIHVuIGNhcnRhZm9sIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBmYWlsZWRcbiIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjczMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgdGFibGUiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjc5MSBzeXMtdXRpbHMvZWplY3QuYzo4OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudGVkIG9uICVzIgorbXNnc3RyICJOb24gc2UgZW5jb250cm91IG8gcGF0csOzbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODMzCittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gYXV0byIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gJWxkWCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVmYXVsdCBkZXZpY2U6IGAlcyciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyBkZWZhdWx0IGRldmljZSBgJXMnIgorbXNnc3RyICJOb24gc2UgcG9kZSBlZmVjdHVhciDCq3N0YXTCuyBzb2JyZSBvIGRpc3Bvc2l0aXZvICVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODYgc3lzLXV0aWxzL3J0Y3dha2UuYzozNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gZmluZCBkZXZpY2UiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4OAorIywgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgbmFtZSBpcyBgJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg5NCBzeXMtdXRpbHMvdW1vdW50LmM6MjA2IHN5cy11dGlscy91bW91bnQuYzoyMzUKKyM6IHN5cy11dGlscy91bW91bnQuYzo0MDkgc3lzLXV0aWxzL3Vtb3VudC5jOjQzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBtb3VudGVkIgorbXNnc3RyICJOb24gc2UgZW5jb250cm91IG8gcGF0csOzbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNjIGRldmljZTogJXMgKGRpc2sgZGV2aWNlIHdpbGwgYmUgdXNlZCBmb3IgZWplY3QpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIG1vdW50cG9pbnQgb3IgZGV2aWNlIHdpdGggdGhlIGdpdmVuIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgd2hvbGUtZGlzayBkZXZpY2UiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBob3QtcGx1Z2dhYmxlIGRldmljZSIKK21zZ3N0ciAiJXM6IG5vbiDDqSB1biBkaXNwb3NpdGl2byBkZSBibG9xdWVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIGlzIGAlcyciCittc2dzdHIgIkRpc3Bvc2l0aXZvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTgKK21zZ2lkICJleGl0aW5nIGR1ZSB0byAtbi8tLW5vb3Agb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZW5hYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NpbmcgdHJheSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsaXN0aW5nIENELVJPTSBzcGVlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBkZXZpY2UgaW4gdXNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VsZWN0aW5nIENELVJPTSBkaXNjICMlbGQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIENELVJPTSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTAKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIFNDU0kgY29tbWFuZHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxNworIywgZnV6enkKK21zZ2lkICJTQ1NJIGVqZWN0IHN1Y2NlZWRlZCIKK21zZ3N0ciAiJXMgdGl2byDDqXhpdG8uXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTgKKyMsIGZ1enp5Cittc2dpZCAiU0NTSSBlamVjdCBmYWlsZWQiCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gbmEgYnVzY2EiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBmbG9wcHkgZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI0Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjUKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIHRhcGUgb2ZmbGluZSBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzEKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMgorbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDM2CisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBlamVjdCIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGFicmlyIMKrJXPCuzogJXMiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZW5hbWU+XG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4MQorbXNnaWQgIlByZWFsbG9jYXRlIHNwYWNlIHRvLCBvciBkZWFsbG9jYXRlIHNwYWNlIGZyb20gYSBmaWxlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NAorbXNnaWQgIiAtYywgLS1jb2xsYXBzZS1yYW5nZSByZW1vdmUgYSByYW5nZSBmcm9tIHRoZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg1Cittc2dpZCAiIC1kLCAtLWRpZy1ob2xlcyAgICAgIGRldGVjdCB6ZXJvZXMgYW5kIHJlcGxhY2Ugd2l0aCBob2xlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICAgbGVuZ3RoIGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICJJbnRyb2R1emEgbyBuw7ptZXJvIGRlIGNpbGluZHJvczoiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NworIywgZnV6enkKK21zZ2lkICIgLW4sIC0ta2VlcC1zaXplICAgICAgbWFpbnRhaW4gdGhlIGFwcGFyZW50IHNpemUgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWkgYSB0w6Fib2EgZGUgcGFydGljacOzbnMgw6EgcGFudGFsbGEgb3UgYSB1biBmaWNoZWlybyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg4Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgIG9mZnNldCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODkKK21zZ2lkICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVwbGFjZSBhIHJhbmdlIHdpdGggYSBob2xlIChpbXBsaWVzIC1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MAorbXNnaWQgIiAteiwgLS16ZXJvLXJhbmdlICAgICB6ZXJvIGFuZCBlbnN1cmUgYWxsb2NhdGlvbiBvZiBhIHJhbmdlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEyNgorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQ6IGtlZXAgc2l6ZSBtb2RlIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMjcKKyMsIGZ1enp5Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZCIKK21zZ3N0ciAibWFsbG9jIGZhbGxvdSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgZmFpbGVkIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjI2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCVqdSBieXRlcykgY29udmVydGVkIHRvIHNwYXJzZSBob2xlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzQ2IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExOAorbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzU4IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjQKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2MgorbXNnaWQgIm5vIGxlbmd0aCBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2NworbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxmaWxlPnw8ZGlyZWN0b3J5PiA8Y29tbWFuZD4gWzxhcmd1bWVudD4uLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlPnw8ZGlyZWN0b3J5PiAtYyA8Y29tbWFuZD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGUgZGVzY3JpcHRvciBudW1iZXI+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTkKK21zZ2lkICJNYW5hZ2UgZmlsZSBsb2NrcyBmcm9tIHNoZWxsIHNjcmlwdHMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjIKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBnZXQgYSBzaGFyZWQgbG9ja1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYzCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAgZ2V0IGFuIGV4Y2x1c2l2ZSBsb2NrIChkZWZhdWx0KVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY0CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAgcmVtb3ZlIGEgbG9ja1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY1CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub25ibG9jayAgICAgICAgICAgZmFpbCByYXRoZXIgdGhhbiB3YWl0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjYKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8c2Vjcz4gICAgIHdhaXQgZm9yIGEgbGltaXRlZCBhbW91bnQgb2YgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY3Cittc2dpZCAiIC1FLCAtLWNvbmZsaWN0LWV4aXQtY29kZSA8bnVtYmVyPiAgZXhpdCBjb2RlIGFmdGVyIGNvbmZsaWN0IG9yIHRpbWVvdXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tY2xvc2UgICAgICAgICAgICAgIGNsb3NlIGZpbGUgZGVzY3JpcHRvciBiZWZvcmUgcnVubmluZyBjb21tYW5kXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjkKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gIHJ1biBhIHNpbmdsZSBjb21tYW5kIHN0cmluZyB0aHJvdWdoIHRoZSBzaGVsbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcwCisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAgZXhlY3V0ZSBjb21tYW5kIHdpdGhvdXQgZm9ya2luZ1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgaW5jcmVhc2UgdmVyYm9zaXR5XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBsb2NrIGZpbGUgJXMiCittc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IHZhbHVlIgorbXNnc3RyICJjb252ZXJ0ZXIgYSBob3JhIHJ0YyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjA5CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZXhpdCBjb2RlIgorbXNnc3RyICJWYWxvciBkZSBzZWN0b3JlcyBpbGVnYWwiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIyOAorbXNnaWQgInRoZSAtLW5vLWZvcmsgYW5kIC0tY2xvc2Ugb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgZXhhY3RseSBvbmUgY29tbWFuZCBhcmd1bWVudCIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NAorIywgZnV6enkKK21zZ2lkICJiYWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICIgcmVtb3ZhYmxlIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTcKK21zZ2lkICJyZXF1aXJlcyBmaWxlIGRlc2NyaXB0b3IsIGZpbGUgb3IgZGlyZWN0b3J5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGxvY2siCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4OAorbXNnaWQgInRpbWVvdXQgd2hpbGUgd2FpdGluZyB0byBnZXQgbG9jayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldHRpbmcgbG9jayB0b29rICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnRwb2ludD5cbiIKK21zZ3N0ciAiJXMgZXN0w6EgbW9udGFkby5cdCAiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjUzCittc2dpZCAiU3VzcGVuZCBhY2Nlc3MgdG8gYSBmaWxlc3lzdGVtIChleHQzLzQsIFJlaXNlckZTLCBKRlMsIFhGUykuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTYKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZyZWV6ZSAgICAgIGZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgIHQgICAgICAgICAgQ2FtYmlhciBvIHRpcG8gZGUgc2lzdGVtYSBkZSBmaWNoZWlyb3MiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjU3Cittc2dpZCAiIC11LCAtLXVuZnJlZXplICAgIHVuZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTE2Cittc2dpZCAibmVpdGhlciAtLWZyZWV6ZSBvciAtLXVuZnJlZXplIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJvIG5vZG8taSByYcOteiBub24gw6kgdW4gY2FydGFmb2wiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEZJVFJJTSBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGhlcmUgaXMgYSB2ZXJ5IGxhcmdlIG51bWJlci4KKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglPFBSSXU2ND4gYnl0ZXMpIHRyaW1tZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTkxIHN5cy11dGlscy9zd2Fwb24uYzo3Mjkgc3lzLXV0aWxzL3Vtb3VudC5jOjMyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxtb3VudCBwb2ludD5cbiIKK21zZ3N0ciAiJXMgZXN0w6EgbW9udGFkby5cdCAiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTQKK21zZ2lkICJEaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NworIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB0cmltIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIHRoYXQgYXJlIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgIHQgICAgICAgICAgQ2FtYmlhciBvIHRpcG8gZGUgc2lzdGVtYSBkZSBmaWNoZWlyb3MiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTgKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICB0aGUgb2Zmc2V0IGluIGJ5dGVzIHRvIHN0YXJ0IGRpc2NhcmRpbmcgZnJvbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgdGhlIG51bWJlciBvZiBieXRlcyB0byBkaXNjYXJkXG4iCittc2dzdHIgIkludHJvZHV6YSBvIG7Dum1lcm8gZGUgY2lsaW5kcm9zOiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MAorbXNnaWQgIiAtbSwgLS1taW5pbXVtIDxudW0+IHRoZSBtaW5pbXVtIGV4dGVudCBsZW5ndGggdG8gZGlzY2FyZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgbnVtYmVyIG9mIGRpc2NhcmRlZCBieXRlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMyOQorbXNnaWQgIm5vIG1vdW50cG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZSBkaXNjYXJkIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkFzc3VtaW5nIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gJXMgdGltZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI0NyBzeXMtdXRpbHMvaHdjbG9jay5jOjMzNAorbXNnaWQgIlVUQyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI0NyBzeXMtdXRpbHMvaHdjbG9jay5jOjMzMworbXNnaWQgImxvY2FsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzE4Cittc2dpZCAiIgorIldhcm5pbmc6IHVucmVjb2duaXplZCB0aGlyZCBsaW5lIGluIGFkanRpbWUgZmlsZVxuIgorIihFeHBlY3RlZDogYFVUQycgb3IgYExPQ0FMJyBvciBub3RoaW5nLikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBkcmlmdCBhZGp1c3RtZW50IGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgY2FsaWJyYXRpb24gZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGFyZHdhcmUgY2xvY2sgaXMgb24gJXMgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzU4CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgZm9yIGNsb2NrIHRpY2suLi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5zeW5jaHJvbml6YXRpb24gZmFpbGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uZ290IGNsb2NrIHRpY2tcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQyMgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHZhbHVlcyBpbiBoYXJkd2FyZSBjbG9jazogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkh3IGNsb2NrIHRpbWUgOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDY1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgcmVhZCBmcm9tIEhhcmR3YXJlIENsb2NrOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyBIYXJkd2FyZSBDbG9jayB0byAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICJDbG9jayBub3QgY2hhbmdlZCAtIHRlc3Rpbmcgb25seS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYwMworIywgYy1mb3JtYXQKK21zZ2lkICJzbGVlcGluZyB+JWQgdXNlY1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjE0CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUganVtcGVkIGJhY2t3YXJkICUuNmYgc2Vjb25kcyB0byAlbGQuJTA2bGQgLSByZXRhcmdldGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZC4lMDZsZCA8ICVsZC4lMDZsZCAoJS42ZilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciBwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVsZC4lMDZsZCBpcyBjbG9zZSBlbm91Z2ggdG8gJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyJTZXQgUlRDIHRvICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2bGQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODgKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgcmVnaXN0ZXJzIGNvbnRhaW4gdmFsdWVzIHRoYXQgYXJlIGVpdGhlciBpbnZhbGlkIChlLmcuIDUwdGggZGF5IG9mIG1vbnRoKSBvciBiZXlvbmQgdGhlIHJhbmdlIHdlIGNhbiBoYW5kbGUgKGUuZy4gWWVhciAyMDk1KS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MjgKK21zZ2lkICJObyAtLWRhdGUgb3B0aW9uIHNwZWNpZmllZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MzQKKyMsIGZ1enp5Cittc2dpZCAiLS1kYXRlIGFyZ3VtZW50IHRvbyBsb25nIgorbXNnc3RyICJvIG5vbWUgZG8gc2lzdGVtYSBkZSBmaWNoZWlyb3Mgw6kgZGVtYXNpYWRvIGxvbmdvIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc0MQorbXNnaWQgIiIKKyJUaGUgdmFsdWUgb2YgdGhlIC0tZGF0ZSBvcHRpb24gaXMgbm90IGEgdmFsaWQgZGF0ZS5cbiIKKyJJbiBwYXJ0aWN1bGFyLCBpdCBjb250YWlucyBxdW90YXRpb24gbWFya3MuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIklzc3VpbmcgZGF0ZSBjb21tYW5kOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzUzCittc2dpZCAiVW5hYmxlIHRvIHJ1biAnZGF0ZScgcHJvZ3JhbSBpbiAvYmluL3NoIHNoZWxsLiBwb3BlbigpIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc2MQorIywgYy1mb3JtYXQKK21zZ2lkICJyZXNwb25zZSBmcm9tIGRhdGUgY29tbWFuZCA9ICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkYXRlIGNvbW1hbmQgaXNzdWVkIGJ5ICVzIHJldHVybmVkIHVuZXhwZWN0ZWQgcmVzdWx0cy5cbiIKKyJUaGUgY29tbWFuZCB3YXM6XG4iCisiICAlc1xuIgorIlRoZSByZXNwb25zZSB3YXM6XG4iCisiICAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc3NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgc29tZXRoaW5nIG90aGVyIHRoYW4gYW4gaW50ZWdlciB3aGVyZSB0aGUgY29udmVydGVkIHRpbWUgdmFsdWUgd2FzIGV4cGVjdGVkLlxuIgorIlRoZSBjb21tYW5kIHdhczpcbiIKKyIgICVzXG4iCisiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyIgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc4NgorIywgYy1mb3JtYXQKK21zZ2lkICJkYXRlIHN0cmluZyAlcyBlcXVhdGVzIHRvICVsZCBzZWNvbmRzIHNpbmNlIDE5NjkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4MjQKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBzZXQgdGhlIFN5c3RlbSBUaW1lIGZyb20gaXQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQzIHN5cy11dGlscy9od2Nsb2NrLmM6OTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5OlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQ0IHN5cy11dGlscy9od2Nsb2NrLmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NDYgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTAgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgc3lzdGVtIGNsb2NrIGJlY2F1c2UgcnVubmluZyBpbiB0ZXN0IG1vZGUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NjYgc3lzLXV0aWxzL2h3Y2xvY2suYzo5NjIKK21zZ2lkICJNdXN0IGJlIHN1cGVydXNlciB0byBzZXQgc3lzdGVtIGNsb2NrLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg2OSBzeXMtdXRpbHMvaHdjbG9jay5jOjk2NQorbXNnaWQgInNldHRpbWVvZmRheSgpIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkwNQorIywgYy1mb3JtYXQKK21zZ2lkICJDdXJyZW50IHN5c3RlbSB0aW1lOiAlbGQgPSAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlx0VVRDOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIC0tdXBkYXRlLWRyaWZ0IG9wdGlvbiB3YXMgbm90IHVzZWQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIEhhcmR3YXJlIENsb2NrIHByZXZpb3VzbHkgY29udGFpbmVkIGdhcmJhZ2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGxhc3QgY2FsaWJyYXRpb24gdGltZSBpcyB6ZXJvLFxuIgorInNvIGhpc3RvcnkgaXMgYmFkIGFuZCBjYWxpYnJhdGlvbiBzdGFydG92ZXIgaXMgbmVjZXNzYXJ5LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAxMQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGl0IGhhcyBiZWVuIGxlc3MgdGhhbiBmb3VyIGhvdXJzIHNpbmNlIHRoZSBsYXN0IGNhbGlicmF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnQgZmFjdG9yIHdhcyBjYWxjdWxhdGVkIGFzICVmIHNlY29uZHMvZGF5LlxuIgorIkl0IGlzIGZhciB0b28gbXVjaC4gUmVzZXR0aW5nIHRvIHplcm8uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdGVkICVmIHNlY29uZHMgaW4gdGhlIHBhc3QgJWYgc2Vjb25kc1xuIgorImluIHNwaXRlIG9mIGEgZHJpZnQgZmFjdG9yIG9mICVmIHNlY29uZHMvZGF5LlxuIgorIkFkanVzdGluZyBkcmlmdCBmYWN0b3IgYnkgJWYgc2Vjb25kcy9kYXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWQgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVkIHNlY29uZHNcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEwMworIywgYy1mb3JtYXQKK21zZ2lkICJDYWxjdWxhdGVkIEhhcmR3YXJlIENsb2NrIGRyaWZ0IGlzICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTMzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCB1cGRhdGluZyBhZGp0aW1lIGZpbGUgYmVjYXVzZSBvZiB0ZXN0aW5nIG1vZGUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXb3VsZCBoYXZlIHdyaXR0ZW4gdGhlIGZvbGxvd2luZyB0byAlczpcbiIKKyIlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgaW4gaXQgKCVzKSBmb3Igd3JpdGluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNDkgc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCB1cGRhdGUgZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgKCVzKSBpbiBpdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNjQKK21zZ2lkICJEcmlmdCBhZGp1c3RtZW50IHBhcmFtZXRlcnMgbm90IHVwZGF0ZWQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIwMAorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IGFkanVzdCBpdC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgbGFzdCBhZGp1c3RtZW50IHRpbWUgaXMgemVybywgc28gaGlzdG9yeSBpcyBiYWQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjEyCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgZHJpZnQgZmFjdG9yICVmIGlzIGZhciB0b28gaGlnaC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gdXNhYmxlIGNsb2NrIGludGVyZmFjZSBmb3VuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmVlZGVkIGFkanVzdG1lbnQgaXMgbGVzcyB0aGFuIG9uZSBzZWNvbmQsIHNvIG5vdCBzZXR0aW5nIGNsb2NrLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM4OCBzeXMtdXRpbHMvaHdjbG9jay5jOjEzOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIHNldCBzeXN0ZW0gY2xvY2suXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjksIFJUQyBpcyBwcmVkaWN0ZWQgdG8gcmVhZCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQzMQorbXNnaWQgIiIKKyJUaGUga2VybmVsIGtlZXBzIGFuIGVwb2NoIHZhbHVlIGZvciB0aGUgSGFyZHdhcmUgQ2xvY2sgb25seSBvbiBhbiBBbHBoYSBtYWNoaW5lLlxuIgorIlRoaXMgY29weSBvZiBod2Nsb2NrIHdhcyBidWlsdCBmb3IgYSBtYWNoaW5lIG90aGVyIHRoYW4gQWxwaGFcbiIKKyIoYW5kIHRodXMgaXMgcHJlc3VtYWJseSBub3QgcnVubmluZyBvbiBhbiBBbHBoYSBub3cpLiAgTm8gYWN0aW9uIHRha2VuLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NDgKK21zZ2lkICJVbmFibGUgdG8gZ2V0IHRoZSBlcG9jaCB2YWx1ZSBmcm9tIHRoZSBrZXJuZWwuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgaXMgYXNzdW1pbmcgYW4gZXBvY2ggdmFsdWUgb2YgJWx1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDU1Cittc2dpZCAiVG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSwgeW91IG11c3QgdXNlIHRoZSAnZXBvY2gnIG9wdGlvbiB0byB0ZWxsIHRvIHdoYXQgdmFsdWUgdG8gc2V0IGl0LiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgdGhlIGVwb2NoIHRvICVsdSAtIHRlc3Rpbmcgb25seS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIHNldCB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NTYKK21zZ2lkICIgaHdjbG9jayBbZnVuY3Rpb25dIFtvcHRpb24uLi5dXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTU5Cittc2dpZCAiUXVlcnkgb3Igc2V0IHRoZSBoYXJkd2FyZSBjbG9jay5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjEKK21zZ2lkICIiCisiXG4iCisiRnVuY3Rpb25zOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2MgorbXNnaWQgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorIiAtciwgLS1zaG93ICAgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCByZXN1bHRcbiIKKyIgICAgIC0tZ2V0ICAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgZHJpZnQgY29ycmVjdGVkIHJlc3VsdFxuIgorIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2NgorbXNnaWQgIiIKKyIgLXMsIC0taGN0b3N5cyAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorIiAtdywgLS1zeXN0b2hjICAgICAgICBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIGZyb20gdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWVcbiIKKyIgICAgIC0tc3lzdHogICAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBiYXNlZCBvbiB0aGUgY3VycmVudCB0aW1lem9uZVxuIgorIiAgICAgLS1hZGp1c3QgICAgICAgICBhZGp1c3QgdGhlIFJUQyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IHNpbmNlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNsb2NrIHdhcyBsYXN0IHNldCBvciBhZGp1c3RlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU3MQorbXNnaWQgIiAtYywgLS1jb21wYXJlICAgICAgICBwZXJpb2RpY2FsbHkgY29tcGFyZSB0aGUgc3lzdGVtIGNsb2NrIHdpdGggdGhlIENNT1MgY2xvY2tcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NzMKK21zZ2lkICIiCisiICAgICAtLWdldGVwb2NoICAgICAgIHByaW50IG91dCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWVcbiIKKyIgICAgIC0tc2V0ZXBvY2ggICAgICAgc2V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZSB0byB0aGUgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgZ2l2ZW4gd2l0aCAtLWVwb2NoXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTc3Cittc2dpZCAiIgorIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IFJUQyByZWFkaW5nIGF0IHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTgxCittc2dpZCAiIgorIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyIgICAgIC0tbG9jYWx0aW1lICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4NAorbXNnaWQgIiAtZiwgLS1ydGMgPGZpbGU+ICAgICBzcGVjaWFsIC9kZXYvLi4uIGZpbGUgdG8gdXNlIGluc3RlYWQgb2YgZGVmYXVsdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLWRpcmVjdGlzYSAgICAgIGFjY2VzcyB0aGUgSVNBIGJ1cyBkaXJlY3RseSBpbnN0ZWFkIG9mICVzXG4iCisiICAgICAtLWJhZHllYXIgICAgICAgIGlnbm9yZSBSVEMncyB5ZWFyIGJlY2F1c2UgdGhlIEJJT1MgaXMgYnJva2VuXG4iCisiICAgICAtLWRhdGUgPHRpbWU+ICAgIHNwZWNpZmllcyB0aGUgdGltZSB0byB3aGljaCB0byBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisiICAgICAtLWVwb2NoIDx5ZWFyPiAgIHNwZWNpZmllcyB0aGUgeWVhciB3aGljaCBpcyB0aGUgYmVnaW5uaW5nIG9mIHRoZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIGNsb2NrJ3MgZXBvY2ggdmFsdWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS11cGRhdGUtZHJpZnQgICB1cGRhdGUgZHJpZnQgZmFjdG9yIGluICUxJHMgKHJlcXVpcmVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgLS1zZXQgb3IgLS1zeXN0b2hjKVxuIgorIiAgICAgLS1ub2FkamZpbGUgICAgICBkbyBub3QgYWNjZXNzICUxJHM7IHRoaXMgcmVxdWlyZXMgdGhlIHVzZSBvZlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZVxuIgorIiAgICAgLS1hZGpmaWxlIDxmaWxlPiBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICUxJHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1OTkKK21zZ2lkICIiCisiICAgICAtLXRlc3QgICAgICAgICAgIGRvIG5vdCB1cGRhdGUgYW55dGhpbmcsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGhhcHBlblxuIgorIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBkZWJ1Z2dpbmcgbW9kZVxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTYwMgorbXNnaWQgIiIKKyIgLUp8LS1qZW5zZW4sIC1BfC0tYXJjLCAtU3wtLXNybSwgLUZ8LS1mdW5reS10b3lcbiIKKyIgICAgICB0ZWxsIGh3Y2xvY2sgdGhlIHR5cGUgb2YgQWxwaGEgeW91IGhhdmUgKHNlZSBod2Nsb2NrKDgpKVxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTcyOAorbXNnaWQgIlVuYWJsZSB0byBjb25uZWN0IHRvIGF1ZGl0IHN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4MjYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBlcG9jaCBhcmd1bWVudCIKK21zZ3N0ciAiVmFsb3IgZGUgc2VjdG9yZXMgaWxlZ2FsIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdGFrZXMgbm8gbm9uLW9wdGlvbiBhcmd1bWVudHMuICBZb3Ugc3VwcGxpZWQgJWQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODgwCittc2dpZCAiV2l0aCAtLW5vYWRqZmlsZSwgeW91IG11c3Qgc3BlY2lmeSBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODkzCittc2dpZCAiTm8gdXNhYmxlIHNldC10byB0aW1lLiAgQ2Fubm90IHNldCBjbG9jay4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxOTE3Cittc2dpZCAiQ2Fubm90IGFjY2VzcyB0aGUgSGFyZHdhcmUgQ2xvY2sgdmlhIGFueSBrbm93biBtZXRob2QuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTkyMAorbXNnaWQgIlVzZSB0aGUgLS1kZWJ1ZyBvcHRpb24gdG8gc2VlIHRoZSBkZXRhaWxzIG9mIG91ciBzZWFyY2ggZm9yIGFuIGFjY2VzcyBtZXRob2QuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYm9vdGVkIGZyb20gTUlMT1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUnVmZmlhbiBCQ0QgY2xvY2tcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb2NrcG9ydCBhZGp1c3RlZCB0byAweCV4XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJmdW5reSBUT1khXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjI5OAorIywgYy1mb3JtYXQKK21zZ2lkICJhdG9taWMgJXMgZmFpbGVkIGZvciAxMDAwIGl0ZXJhdGlvbnMhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc19yZWFkKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjMyOAorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3JlYWQoKTogcmVhZCBmcm9tIGRhdGEgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3dyaXRlKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3dyaXRlKCk6IHdyaXRlIHRvIGRhdGEgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY0NQorIywgZnV6enkKK21zZ2lkICJJIGZhaWxlZCB0byBnZXQgcGVybWlzc2lvbiBiZWNhdXNlIEkgZGlkbid0IHRyeS4iCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NDgKK21zZ2lkICJ1bmFibGUgdG8gZ2V0IEkvTyBwb3J0IGFjY2VzczogIHRoZSBpb3BsKDMpIGNhbGwgZmFpbGVkLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjUxCittc2dpZCAiUHJvYmFibHkgeW91IG5lZWQgcm9vdCBwcml2aWxlZ2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NTgKK21zZ2lkICJVc2luZyBkaXJlY3QgSS9PIGluc3RydWN0aW9ucyB0byBJU0EgY2xvY2suIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHJlYWQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICJsZXIgYSBob3JhIGRvIHNpc3RlbWEiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSAlcyB0byBjaGFuZ2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMzYKK21zZ2lkICJUaW1lZCBvdXQgd2FpdGluZyBmb3IgdGltZSBjaGFuZ2UuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBoYXZlIGludGVycnVwdCBmdW5jdGlvbnMuICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgdGltZWQgb3V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb2ZmIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9uIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCB1bmV4cGVjdGVkbHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byBzZXQgdGhlIHRpbWUgZmFpbGVkLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHdhcyBzdWNjZXNzZnVsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM4NworbXNnaWQgIlVzaW5nIHRoZSAvZGV2IGludGVyZmFjZSB0byB0aGUgY2xvY2suIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQxNyBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVG8gbWFuaXB1bGF0ZSB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbCwgd2UgbXVzdCBhY2Nlc3MgdGhlIExpbnV4ICdydGMnIGRldmljZSBkcml2ZXIgdmlhIHRoZSBkZXZpY2Ugc3BlY2lhbCBmaWxlICVzLiAgVGhpcyBmaWxlIGRvZXMgbm90IGV4aXN0IG9uIHRoaXMgc3lzdGVtLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoUlRDX0VQT0NIX1JFQUQpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAid2UgaGF2ZSByZWFkIGVwb2NoICVsdSBmcm9tICVzIHdpdGggUlRDX0VQT0NIX1JFQUQgaW9jdGwuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlcG9jaCB2YWx1ZSBtYXkgbm90IGJlIGxlc3MgdGhhbiAxOTAwLiAgWW91IHJlcXVlc3RlZCAlbGQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgZXBvY2ggdG8gJWx1IHdpdGggUlRDX0VQT0NIX1NFVCBpb2N0bCB0byAlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGtlcm5lbCBkZXZpY2UgZHJpdmVyIGZvciAlcyBkb2VzIG5vdCBoYXZlIHRoZSBSVENfRVBPQ0hfU0VUIGlvY3RsLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoUlRDX0VQT0NIX1NFVCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjY5Cittc2dpZCAiQ3JlYXRlIHZhcmlvdXMgSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MgorbXNnaWQgIiAtTSwgLS1zaG1lbSA8c2l6ZT4gICAgICAgY3JlYXRlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBvZiBzaXplIDxzaXplPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjczCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZSA8bnVtYmVyPiBjcmVhdGUgc2VtYXBob3JlIGFycmF5IHdpdGggPG51bWJlcj4gZWxlbWVudHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NAorbXNnaWQgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgY3JlYXRlIG1lc3NhZ2UgcXVldWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NQorbXNnaWQgIiAtcCwgLS1tb2RlIDxtb2RlPiAgICAgICAgcGVybWlzc2lvbiBmb3IgdGhlIHJlc291cmNlIChkZWZhdWx0IGlzIDA2NDQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTEwIHN5cy11dGlscy9sb3NldHVwLmM6Njk3IHN5cy11dGlscy96cmFtY3RsLmM6NjIyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVsZW1lbnRzIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDEKK21zZ2lkICJjcmVhdGUgc2hhcmUgbWVtb3J5IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBpZDogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDkKK21zZ2lkICJjcmVhdGUgbWVzc2FnZSBxdWV1ZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgcXVldWUgaWQ6ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU3Cittc2dpZCAiY3JlYXRlIHNlbWFwaG9yZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbWFwaG9yZSBpZDogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIHNobXxtc2d8c2VtIDxpZD4uLi5cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTQKK21zZ2lkICJSZW1vdmUgY2VydGFpbiBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU3Cittc2dpZCAiIC1tLCAtLXNobWVtLWlkIDxpZD4gICAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkgaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OAorbXNnaWQgIiAtTSwgLS1zaG1lbS1rZXkgPGtleT4gICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGtleVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU5Cittc2dpZCAiIC1xLCAtLXF1ZXVlLWlkIDxpZD4gICAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjAKK21zZ2lkICIgLVEsIC0tcXVldWUta2V5IDxrZXk+ICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkga2V5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjEKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlLWlkIDxpZD4gICAgcmVtb3ZlIHNlbWFwaG9yZSBieSBpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYyCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGtleT4gIHJlbW92ZSBzZW1hcGhvcmUgYnkga2V5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjMKK21zZ2lkICIgLWEsIC0tYWxsWz1zaG18bXNnfHNlbV0gICAgcmVtb3ZlIGFsbCAoaW4gdGhlIHNwZWNpZmllZCBjYXRlZ29yeSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBpZCBgJWQnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3ZpbmcgbWVzc2FnZSBxdWV1ZSBpZCBgJWQnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3Zpbmcgc2VtYXBob3JlIGlkIGAlZCdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDggc3lzLXV0aWxzL2lwY3JtLmM6MjIyCittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGtleSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDgKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3IgaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExIHN5cy11dGlscy9pcGNybS5jOjIyOAorbXNnaWQgImludmFsaWQga2V5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMQorbXNnaWQgImludmFsaWQgaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0IHN5cy11dGlscy9pcGNybS5jOjIyNQorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBrZXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNyBzeXMtdXRpbHMvaXBjcm0uYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAia2V5IGZhaWxlZCIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBuYSBidXNjYSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgImlkIGZhaWxlZCIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBuYSBidXNjYSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkOiAlcyIKK21zZ3N0ciAiZGVzcHJhemFtZW50byBkb3MgZGF0b3MgZG8gZmljaGVpcm8gbm9uIHbDoWxpZG8iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJyZXNvdXJjZShzKSBkZWxldGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGtleSAoJXMpIgorbXNnc3RyICJWYWxvciBkZSBjYWJlemFzIGlsZWdhbCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjU2Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI2OQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3JlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyOTAKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtyZXNvdXJjZS1vcHRpb24uLi5dIFtvdXRwdXQtb3B0aW9uXVxuIgorIiAlMSRzIC1tfC1xfC1zIC1pIDxpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU2IHN5cy11dGlscy9sc2lwYy5jOjI4MAorbXNnaWQgIlNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OQorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQgc3lzLXV0aWxzL2xzaXBjLmM6MjgzCisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIG9wdGlvbnM6XG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUgc3lzLXV0aWxzL2xzaXBjLmM6Mjg0Cittc2dpZCAiIC1tLCAtLXNobWVtcyAgICAgIHNoYXJlZCBtZW1vcnkgc2VnbWVudHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY2IHN5cy11dGlscy9sc2lwYy5jOjI4NQorbXNnaWQgIiAtcSwgLS1xdWV1ZXMgICAgICBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Njcgc3lzLXV0aWxzL2xzaXBjLmM6Mjg2Cittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZXMgIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgIGFsbCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcxCisjLCBmdXp6eQorbXNnaWQgIk91dHB1dCBvcHRpb25zOlxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcyCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgIHNob3cgUElEcyBvZiBjcmVhdG9yIGFuZCBsYXN0IG9wZXJhdG9yXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NAorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NQorbXNnaWQgIiAtbCwgLS1saW1pdHMgICAgICBzaG93IHJlc291cmNlIGxpbWl0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKK21zZ2lkICIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWh1bWFuICAgICAgIHNob3cgc2l6ZXMgaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3OAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICBzaG93IHNpemVzIGluIGJ5dGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoxNjQKK21zZ2lkICJ3aGVuIHVzaW5nIGFuIElELCBhIHNpbmdsZSByZXNvdXJjZSBtdXN0IGJlIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNoYXJlZCBtZW1vcnkgbGltaXRzXG4iCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gYW8gcmVzZXJ2YXIgbyBiw7pmZXIgZGUgc2HDrWRhIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBzZWdtZW50cyA9ICVqdVxuIgorbXNnc3RyICJvIG7Dum1lcm8gZGUgYmxvcXVlcyDDqSBkZW1hc2lhZG8gcGVxdWVubyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDkKKyMsIGZ1enp5Cittc2dpZCAibWF4IHNlZyBzaXplIgorbXNnc3RyICJ0YW1hw7FvIGRlIG5vZG8taSBpbmNvcnJlY3RvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxMQorIywgZnV6enkKK21zZ2lkICJtYXggdG90YWwgc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBhbyByZXNlcnZhciBvIGLDumZlciBkZSBzYcOtZGEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjE0CisjLCBmdXp6eQorbXNnaWQgIm1pbiBzZWcgc2l6ZSIKK21zZ3N0ciAib2J0ZXIgbyB0YW1hw7FvIGRlIEUvUyBtw61uaW1vIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIyNgorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzMAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhpcyBvdXRwdXQgZm9ybWF0IGlzIG1haW50YWluZWQgZm9yIGJhY2t3YXJkCisjLiBjb21wYXRpYmlsaXR5IGFzIGlwY3MgaXMgdXNlZCBpbiBzY3JpcHRzLiBGb3IgY29uc2lzdGVuY3kKKyMuIHdpdGggdGhlIHJlc3QsIHRoZSB0cmFuc2xhdGVkIGZvcm0gY2FuIGZvbGxvdyB0aGlzIG1vZGVsOgorIy4gKgorIy4gInNlZ21lbnRzIGFsbG9jYXRlZCA9ICVkXG4iCisjLiAicGFnZXMgYWxsb2NhdGVkID0gJWxkXG4iCisjLiAicGFnZXMgcmVzaWRlbnQgPSAlbGRcbiIKKyMuICJwYWdlcyBzd2FwcGVkID0gJWxkXG4iCisjLiAic3dhcCBwZXJmb3JtYW5jZSA9ICVsZCBhdHRlbXB0cywgJWxkIHN1Y2Nlc3Nlc1xuIgorIy4KKyM6IHN5cy11dGlscy9pcGNzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyJwYWdlcyBhbGxvY2F0ZWQgJWxkXG4iCisicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorInBhZ2VzIHN3YXBwZWQgICAlbGRcbiIKKyJTd2FwIHBlcmZvcm1hbmNlOiAlbGQgYXR0ZW1wdHNcdCAlbGQgc3VjY2Vzc2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI3NAorIzogc3lzLXV0aWxzL2lwY3MuYzoyODAKK21zZ2lkICJzaG1pZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjI4MCBzeXMtdXRpbHMvaXBjcy5jOjM4NgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo0ODkgc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJwZXJtcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgImN1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJjZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAidWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IEF0dGFjaC9EZXRhY2gvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyNzQgc3lzLXV0aWxzL2lwY3MuYzoyODAKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NDk1CisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMSBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgIm93bmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3Cittc2dpZCAiYXR0YWNoZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcKK21zZ2lkICJkZXRhY2hlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2OAorbXNnaWQgImNoYW5nZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQ3JlYXRvci9MYXN0LW9wIFBJRHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3NAorbXNnaWQgImNwaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzQKK21zZ2lkICJscGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnRzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJrZXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODEgc3lzLXV0aWxzL2lwY3MuYzo1MDgKK21zZ2lkICJzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgxIHN5cy11dGlscy9wcmxpbWl0LmM6NzUgc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OCBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIgc3lzLXV0aWxzL3BybGltaXQuYzo4NiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAiYnl0ZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODIKK21zZ2lkICJuYXR0Y2giCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODIKK21zZ2lkICJzdGF0dXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMDYgc3lzLXV0aWxzL2lwY3MuYzozMDggc3lzLXV0aWxzL2lwY3MuYzozMTAKKyM6IHN5cy11dGlscy9pcGNzLmM6NDI0IHN5cy11dGlscy9pcGNzLmM6NDI2IHN5cy11dGlscy9pcGNzLmM6NTMyCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUzNCBzeXMtdXRpbHMvaXBjcy5jOjUzNiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorIzogc3lzLXV0aWxzL2lwY3MuYzo1OTIgc3lzLXV0aWxzL2lwY3MuYzo2MjEgc3lzLXV0aWxzL2lwY3MuYzo2MjMKKyM6IHN5cy11dGlscy9pcGNzLmM6NjI1IHN5cy11dGlscy9pcGNzLmM6NjQ5Cittc2dpZCAiTm90IHNldCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMzNiBzeXMtdXRpbHMvbHNpcGMuYzo5NzYgc3lzLXV0aWxzL2xzaXBjLmM6OTgyCittc2dpZCAiZGVzdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMzNyBzeXMtdXRpbHMvbHNpcGMuYzo5Nzcgc3lzLXV0aWxzL2xzaXBjLmM6OTkwCittc2dpZCAibG9ja2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2VtYXBob3JlIGxpbWl0c1xuIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2YgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBwZXIgYXJyYXkgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggb3BzIHBlciBzZW1vcCBjYWxsID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJzZW1hcGhvcmUgbWF4IHZhbHVlID0gJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc4CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgc2VtYXBob3JlcyA9ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0MDEKK21zZ2lkICJzZW1pZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIE9wZXJhdGlvbi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorbXNnaWQgImxhc3Qtb3AiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIKK21zZ2lkICJsYXN0LWNoYW5nZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwMQorbXNnaWQgIm5zZW1zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggbWVzc2FnZSBsaW1pdHNcbiIKK21zZ3N0ciAibyBuw7ptZXJvIGRlIGJsb3F1ZXMgw6kgZGVtYXNpYWRvIHBlcXVlbm8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggcXVldWVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2NQorIywgZnV6enkKK21zZ2lkICJtYXggc2l6ZSBvZiBtZXNzYWdlIgorbXNnc3RyICJvIG7Dum1lcm8gZGUgYmxvcXVlcyDDqSBkZW1hc2lhZG8gcGVxdWVubyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjcKK21zZ2lkICJkZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHF1ZXVlcyA9ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBoZWFkZXJzID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MgorbXNnaWQgInVzZWQgc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODMKK21zZ2lkICIgYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODkgc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MDEKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibXNxaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFNlbmQvUmVjdi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgInNlbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJyZWN2IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiY2hhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJsc3BpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImxycGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA4Cittc2dpZCAidXNlZC1ieXRlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwOQorbXNnaWQgIm1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc0IHN5cy11dGlscy9pcGNzLmM6NjA0IHN5cy11dGlscy9pcGNzLmM6NjM3CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo1MzYgc3lzLXV0aWxzL2xzaXBjLmM6NzIyIHN5cy11dGlscy9sc2lwYy5jOjg3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWQgJWQgbm90IGZvdW5kIgorbXNnc3RyICJOb24gc2UgZW5jb250cm91IG8gcGF0csOzbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZCBtZW1vcnkgU2VnbWVudCBzaG1pZD0lZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI29cdGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorbXNnaWQgInNpemU9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg0Cittc2dpZCAiYnl0ZXM9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg2CisjLCBjLWZvcm1hdAorbXNnaWQgImxwaWQ9JXVcdGNwaWQ9JXVcdG5hdHRjaD0lamRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJhdHRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgImRldF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTMgc3lzLXV0aWxzL2lwY3MuYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZSBRdWV1ZSBtc3FpZD0lZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjA5CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHRtb2RlPSUjb1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjEzCittc2dpZCAiY3NpemU9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjEzCittc2dpZCAiY2J5dGVzPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxNQorbXNnaWQgInFzaXplPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxNQorbXNnaWQgInFieXRlcz0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAicmN2X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIEFycmF5IHNlbWlkPSVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0NQorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjbywgYWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5zZW1zID0gJWp1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAib3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgImN0aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInNlbW51bSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInZhbHVlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAibmNvdW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAiemNvdW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAicGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjIzMCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzQgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM4CisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiJXMgZmFsbG91LlxuIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKGJ5dGVzKSA9ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKGtieXRlcykgPSAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTgwCittc2dpZCAiaW52YWxpZCBpZmxhZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGxkaXNjPiA8ZGV2aWNlPlxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxOTkKK21zZ2lkICJBdHRhY2ggYSBsaW5lIGRpc2NpcGxpbmUgdG8gYSBzZXJpYWwgbGluZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDIKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBtZXNzYWdlcyB0byBzdGRlcnJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDMKK21zZ2lkICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAgc2V0IHNlcmlhbCBsaW5lIHNwZWVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA0Cittc2dpZCAiIC1jLCAtLWludHJvLWNvbW1hbmQgPHN0cmluZz4gaW50cm8gc2VudCBiZWZvcmUgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDUKK21zZ2lkICIgLXAsIC0tcGF1c2UgPHNlY29uZHM+ICAgcGF1c2UgYmV0d2VlbiBpbnRybyBhbmQgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDYKK21zZ2lkICIgLTcsIC0tc2V2ZW5iaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDcgYml0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNworbXNnaWQgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gOCBiaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA4Cittc2dpZCAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIHNldCBwYXJpdHkgdG8gbm9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOQorbXNnaWQgIiAtZSwgLS1ldmVucGFyaXR5ICAgICAgICBzZXQgcGFyaXR5IHRvIGV2ZW5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTAKK21zZ2lkICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAgc2V0IHBhcml0eSB0byBvZGRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTEKK21zZ2lkICIgLTEsIC0tb25lc3RvcGJpdCAgICAgICAgc2V0IHN0b3AgYml0cyB0byBvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTIKK21zZ2lkICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAgc2V0IHN0b3AgYml0cyB0byB0d29cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTMKK21zZ2lkICIgLWksIC0taWZsYWcgWy1dPGlmbGFnPiAgc2V0IGlucHV0IG1vZGUgZmxhZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxOQorbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8bGRpc2M+IG5hbWVzOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIyMworbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8aWZsYWc+IG5hbWVzOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNwZWVkIGFyZ3VtZW50IgorbXNnc3RyICJWYWxvciBkZSBzZWN0b3JlcyBpbGVnYWwiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBhdXNlIGFyZ3VtZW50IgorbXNnc3RyICJWYWxvciBkZSBzZWN0b3JlcyBpbGVnYWwiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM1OQorbXNnaWQgImludmFsaWQgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM3MAorbXNnaWQgImludmFsaWQgbGluZSBkaXNjaXBsaW5lIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBzZXJpYWwgbGluZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlZWQgJWQgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgaW50cm8gY29tbWFuZCB0byAlcyIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBhbyByZXNlcnZhciBvIGLDumZlciBkZSBzYcOtZGEiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ2OQorbXNnaWQgImNhbm5vdCBzZXQgbGluZSBkaXNjaXBsaW5lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ3OQorbXNnaWQgImNhbm5vdCBkYWVtb25pemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2OAorbXNnaWQgImF1dG9jbGVhciBmbGFnIHNldCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY5CisjLCBmdXp6eQorbXNnaWQgImRldmljZSBiYWNraW5nIGZpbGUiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwCittc2dpZCAiYmFja2luZyBmaWxlIGlub2RlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcxCittc2dpZCAiYmFja2luZyBmaWxlIG1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MgorbXNnaWQgImxvb3AgZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MworbXNnaWQgIm9mZnNldCBmcm9tIHRoZSBiZWdpbm5pbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NAorIywgZnV6enkKK21zZ2lkICJwYXJ0c2NhbiBmbGFnIHNldCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpY2nDs25zOlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2CisjLCBmdXp6eQorbXNnaWQgInNpemUgbGltaXQgb2YgdGhlIGZpbGUgaW4gYnl0ZXMiCittc2dzdHIgIm9idGVyIHBvc2ljacOzbiBkZSBhbGnDsWFtZW50byIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NworbXNnaWQgImxvb3AgZGV2aWNlIG1ham9yOm1pbm9yIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4Cittc2dpZCAiYWNjZXNzIGJhY2tpbmcgZmlsZSB3aXRoIGRpcmVjdC1pbyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzNSBzeXMtdXRpbHMvbG9zZXR1cC5jOjE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCBvZmZzZXQgJWp1IgorbXNnc3RyICJkZXNwcmF6YW1lbnRvIHJhw616IGluY29ycmVjdG8gKCVsdSkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM4IHN5cy11dGlscy9sb3NldHVwLmM6MTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgc2l6ZWxpbWl0ICVqdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1OAorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVuY3J5cHRpb24gJXMgKHR5cGUgJXUpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZGV0YWNoIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzI5IHN5cy11dGlscy9sc2NwdS5jOjE3MzUgc3lzLXV0aWxzL3BybGltaXQuYzoyMjkKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxNzYgc3lzLXV0aWxzL3dkY3RsLmM6MjE1IHN5cy11dGlscy96cmFtY3RsLmM6NDA1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBsaW5lIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSBbPGxvb3BkZXY+XVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxsb29wZGV2PiA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM4NgorbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCBsb29wIGRldmljZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODkKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkwCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kZXRhY2ggPGxvb3BkZXY+Li4uICAgICBkZXRhY2ggb25lIG9yIG1vcmUgZGV2aWNlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkxCisjLCBmdXp6eQorbXNnaWQgIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICBmaW5kIGZpcnN0IHVudXNlZCBkZXZpY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MworbXNnaWQgIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICByZXNpemUgdGhlIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk0Cittc2dpZCAiIC1qLCAtLWFzc29jaWF0ZWQgPGZpbGU+ICAgICAgIGxpc3QgYWxsIGRldmljZXMgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk1CisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1ub292ZXJsYXAgICAgICAgICAgICAgICBhdm9pZCBwb3NzaWJsZSBjb25mbGljdCBiZXR3ZWVuIGRldmljZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5OQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBzdGFydCBhdCBvZmZzZXQgPG51bT4gaW50byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDAKK21zZ2lkICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZGV2aWNlIGlzIGxpbWl0ZWQgdG8gPG51bT4gYnl0ZXMgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMQorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgY3JlYXRlIGEgcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0IHVwIGEgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDMKK21zZ2lkICIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAgb3BlbiBiYWNraW5nIGZpbGUgd2l0aCBPX0RJUkVDVFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA0Cittc2dpZCAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHByaW50IGRldmljZSBuYW1lIGFmdGVyIHNldHVwICh3aXRoIC1mKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwOQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgbGlzdCBpbmZvIGFib3V0IGFsbCBvciBzcGVjaWZpZWQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTAKK21zZ2lkICIgLU8sIC0tb3V0cHV0IDxjb2xzPiAgICAgICAgICAgc3BlY2lmeSBjb2x1bW5zIHRvIG91dHB1dCBmb3IgLS1saXN0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLWxpc3Qgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgICAgIHVzZSByYXcgLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMworIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOQorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIC0tbGlzdCBjb2x1bW5zOlxuIgorbXNnc3RyICJPcmRlcyBkaXNwb8Oxw61iZWlzOlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBpcyBzbWFsbGVyIHRoYW4gNTEyIGJ5dGVzOyB0aGUgbG9vcCBkZXZpY2UgbWF5IGJlIHVzZWxlc3Mgb3IgaW52aXNpYmxlIGZvciBzeXN0ZW0gdG9vbHMuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGRvZXMgbm90IGZpdCBpbnRvIGEgNTEyLWJ5dGUgc2VjdG9yOyB0aGUgZW5kIG9mIHRoZSBmaWxlIHdpbGwgYmUgaWdub3JlZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NjQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MTYgc3lzLXV0aWxzL21vdW50LmM6NDU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlczogbm9uIMOpIHVuIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZXNcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIHJlYWQtb25seSBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGVuY3J5cHRlZCBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmUtdXNlIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ5NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5zcGVjdCBsb29wIGRldmljZXMiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNoZWNrIGZvciBjb25mbGljdGluZyBsb29wIGRldmljZXMiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTI5IHN5cy11dGlscy9sb3NldHVwLmM6ODI2CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmaW5kIGFuIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjMxIHN5cy11dGlscy9sb3NldHVwLmM6NjQxIHN5cy11dGlscy9sb3NldHVwLmM6NzUzCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgZGV2aWNlIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2NAorbXNnaWQgIm5vIGxvb3AgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3MgorbXNnaWQgIm5vIGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzc5CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBvcHRpb25zICVzIGFyZSBhbGxvd2VkIGR1cmluZyBsb29wIGRldmljZSBzZXR1cCBvbmx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzg0Cittc2dpZCAidGhlIG9wdGlvbiAtLW9mZnNldCBpcyBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgY2FwYWNpdHkgZmFpbGVkIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgZGlyZWN0IGlvIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjEwOAorbXNnaWQgIm5vbmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTA5Cittc2dpZCAicGFyYSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMTAKK21zZ2lkICJmdWxsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjExMQorbXNnaWQgImNvbnRhaW5lciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzMKK21zZ2lkICJob3Jpem9udGFsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NAorbXNnaWQgInZlcnRpY2FsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0NgorbXNnaWQgImxvZ2ljYWwgQ1BVIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDcKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBjb3JlIG51bWJlciIKK21zZ3N0ciAib2J0ZXIgbyB0YW1hw7FvIGRvIGJsb3F1ZSBsw7N4aWNvIChzZWN0b3IpIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDgKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBzb2NrZXQgbnVtYmVyIgorbXNnc3RyICJvYnRlciBvIHRhbWHDsW8gZG8gYmxvcXVlIGzDs3hpY28gKHNlY3RvcikiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0OQorbXNnaWQgImxvZ2ljYWwgTlVNQSBub2RlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTAKK21zZ2lkICJsb2dpY2FsIGJvb2sgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MQorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIGRyYXdlciBudW1iZXIiCittc2dzdHIgIm9idGVyIG8gdGFtYcOxbyBkbyBibG9xdWUgbMOzeGljbyAoc2VjdG9yKSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUyCittc2dpZCAic2hvd3MgaG93IGNhY2hlcyBhcmUgc2hhcmVkIGJldHdlZW4gQ1BVcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTMKK21zZ2lkICJDUFUgZGlzcGF0Y2hpbmcgbW9kZSBvbiB2aXJ0dWFsIGhhcmR3YXJlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NAorbXNnaWQgInBoeXNpY2FsIGFkZHJlc3Mgb2YgYSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU1Cittc2dpZCAic2hvd3MgaWYgdGhlIGh5cGVydmlzb3IgaGFzIGFsbG9jYXRlZCB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NgorbXNnaWQgInNob3dzIGlmIExpbnV4IGN1cnJlbnRseSBtYWtlcyB1c2Ugb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTcKK21zZ2lkICJzaG93cyB0aGUgbWF4aW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTgKK21zZ2lkICJzaG93cyB0aGUgbWluaW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo1NTAKK21zZ2lkICJlcnJvcjogdW5hbWUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjYzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBudW1iZXIgb2YgQ1BVczogJXMiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjg5MQorIywgZnV6enkKK21zZ2lkICJlcnJvcjogY2FuIG5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgImVycm86IG5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo4OTYKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3I6IGNhbiBub3QgcmVzdG9yZSBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiZXJybzogbm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgZnJvbTogJXMiCittc2dzdHIgImF2aXNvOiBmb3JtYXRvIGRlIGNyYW1mcyBhbnRpZ29cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQxMAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gZXh0cmFjdCB0aGUgbm9kZSBudW1iZXIiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1Mzcgc3lzLXV0aWxzL2xzY3B1LmM6MTU0NworbXNnaWQgIlkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTUzNyBzeXMtdXRpbHMvbHNjcHUuYzoxNTQ3CisjLCBmdXp6eQorbXNnaWQgIk4iCittc2dzdHIgIk5DIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlclxuIgorIiMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSURcbiIKKyIjIHN0YXJ0aW5nIGZyb20gemVyby5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzgxCittc2dpZCAiQXJjaGl0ZWN0dXJlOiIKK21zZ3N0ciAiQXJxdWl0ZWN0dXJhOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc5NQorbXNnaWQgIkNQVSBvcC1tb2RlKHMpOiIKK21zZ3N0ciAiTW9kbyhzKSBPUCBkYSBDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzk4IHN5cy11dGlscy9sc2NwdS5jOjE4MDAKK21zZ2lkICJCeXRlIE9yZGVyOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODAyCisjLCBmdXp6eQorbXNnaWQgIkNQVShzKToiCittc2dzdHIgIlNvY2tldChzKSBkYSBDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA1Cittc2dpZCAiT24tbGluZSBDUFUocykgbWFzazoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwNgorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjUKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbWFzazoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNgorbXNnaWQgIk9mZi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODYyCittc2dpZCAiVGhyZWFkKHMpIHBlciBjb3JlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODY0Cittc2dpZCAiQ29yZShzKSBwZXIgc29ja2V0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODY3Cittc2dpZCAiU29ja2V0KHMpIHBlciBib29rOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODcwCittc2dpZCAiQm9vayhzKSBwZXIgZHJhd2VyOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODcyCittc2dpZCAiRHJhd2VyKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODc0Cittc2dpZCAiQm9vayhzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3NworIywgZnV6enkKK21zZ2lkICJTb2NrZXQocyk6IgorbXNnc3RyICJTb2NrZXQocykgZGEgQ1BVOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MQorbXNnaWQgIk5VTUEgbm9kZShzKToiCittc2dzdHIgIk5vZG8ocykgTlVNQToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODMKK21zZ2lkICJWZW5kb3IgSUQ6IgorbXNnc3RyICJJRCBkbyBmYWJyaWNhbnRlOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4NQorIywgZnV6enkKK21zZ2lkICJNYWNoaW5lIHR5cGU6IgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4NworbXNnaWQgIkNQVSBmYW1pbHk6IgorbXNnc3RyICJGYW1pbGlhIGRvIENQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODkKK21zZ2lkICJNb2RlbDoiCittc2dzdHIgIk1vZGVsbyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5MQorIywgZnV6enkKK21zZ2lkICJNb2RlbCBuYW1lOiIKK21zZ3N0ciAiTW9kZWxvIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODkzCittc2dpZCAiU3RlcHBpbmc6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTUKK21zZ2lkICJDUFUgTUh6OiIKK21zZ3N0ciAiTWh6IGRvIENQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTcKKyMsIGZ1enp5Cittc2dpZCAiQ1BVIGR5bmFtaWMgTUh6OiIKK21zZ3N0ciAiTWh6IGRvIENQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTkKKyMsIGZ1enp5Cittc2dpZCAiQ1BVIHN0YXRpYyBNSHo6IgorbXNnc3RyICJNaHogZG8gQ1BVOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMQorIywgZnV6enkKK21zZ2lkICJDUFUgbWF4IE1IejoiCittc2dzdHIgIk1oeiBkbyBDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAzCisjLCBmdXp6eQorbXNnaWQgIkNQVSBtaW4gTUh6OiIKK21zZ3N0ciAiTWh6IGRvIENQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDUKK21zZ2lkICJCb2dvTUlQUzoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwOCBzeXMtdXRpbHMvbHNjcHUuYzoxOTEwCittc2dpZCAiVmlydHVhbGl6YXRpb246IgorbXNnc3RyICJWaXJ0dWFsaXphY2nDs246IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEzCisjLCBmdXp6eQorbXNnaWQgIkh5cGVydmlzb3I6IgorbXNnc3RyICJGYWJyaWNhbnRlIGRvIGh5cGVydmlzb3I6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE1Cittc2dpZCAiSHlwZXJ2aXNvciB2ZW5kb3I6IgorbXNnc3RyICJGYWJyaWNhbnRlIGRvIGh5cGVydmlzb3I6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE2Cittc2dpZCAiVmlydHVhbGl6YXRpb24gdHlwZToiCittc2dzdHIgIlRpcG8gZGUgdmlydHVhbGl6YWNpw7NuOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxOQorbXNnaWQgIkRpc3BhdGNoaW5nIG1vZGU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MjUgc3lzLXV0aWxzL2xzY3B1LmM6MTkzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjYWNoZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0MQorIywgYy1mb3JtYXQKK21zZ2lkICJOVU1BIG5vZGUlZCBDUFUocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NDYKKyMsIGZ1enp5Cittc2dpZCAiRmxhZ3M6IgorbXNnc3RyICJPcGNpw7NucyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0OQorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBzb2NrZXRzOiIKK21zZ3N0ciAiY2lsaW5kcm9zIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTUwCisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIGNoaXBzOiIKK21zZ3N0ciAiY2lsaW5kcm9zIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTUxCisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIGNvcmVzL2NoaXA6IgorbXNnc3RyICJvYnRlbmVyIG8gdGFtYcOxbyBkbyBibG9xdWUgZsOtc2ljbyAoc2VjdG9yKSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2MworbXNnaWQgIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIENQVSBhcmNoaXRlY3R1cmUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2NgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBwcmludCBib3RoIG9ubGluZSBhbmQgb2ZmbGluZSBDUFVzIChkZWZhdWx0IGZvciAtZSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY3Cittc2dpZCAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIHByaW50IG9ubGluZSBDUFVzIG9ubHkgKGRlZmF1bHQgZm9yIC1wKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjgKK21zZ2lkICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAgcHJpbnQgb2ZmbGluZSBDUFVzIG9ubHlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY5Cittc2dpZCAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcwCittc2dpZCAiIC1wLCAtLXBhcnNlWz08bGlzdD5dICAgIHByaW50IG91dCBhIHBhcnNhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzEKK21zZ2lkICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAgdXNlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcyCittc2dpZCAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHByaW50IGhleGFkZWNpbWFsIG1hc2tzIHJhdGhlciB0aGFuIGxpc3RzIG9mIENQVXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTczCisjLCBmdXp6eQorbXNnaWQgIiAteSwgLS1waHlzaWNhbCAgICAgICAgICBwcmludCBwaHlzaWNhbCBpbnN0ZWFkIG9mIGxvZ2ljYWwgSURzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3B0aW9ucyAtLWFsbCwgLS1vbmxpbmUgYW5kIC0tb2ZmbGluZSBtYXkgb25seSBiZSB1c2VkIHdpdGggb3B0aW9ucyAtLWV4dGVuZGVkIG9yIC0tcGFyc2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIGtleSIKK21zZ3N0ciAiIHJlbW92YWJsZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5Cittc2dpZCAiS2V5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBJRCIKK21zZ3N0ciAiIHJlbW92YWJsZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCittc2dpZCAiSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCittc2dpZCAiT3duZXIncyB1c2VybmFtZSBvciBVSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCittc2dpZCAiT3duZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUyCittc2dpZCAiUGVybWlzc2lvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUzCittc2dpZCAiQ3JlYXRvciBVSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU0Cittc2dpZCAiQ3JlYXRvciB1c2VyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NQorbXNnaWQgIkNyZWF0b3IgR0lEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NgorbXNnaWQgIkNyZWF0b3IgZ3JvdXAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3Cittc2dpZCAiVXNlciBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKK21zZ2lkICJVSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU4CisjLCBmdXp6eQorbXNnaWQgIlVzZXIgbmFtZSIKK21zZ3N0ciAiTW9kZWxvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTkKK21zZ2lkICJHcm91cCBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTkKK21zZ2lkICJHSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYwCisjLCBmdXp6eQorbXNnaWQgIkdyb3VwIG5hbWUiCittc2dzdHIgIiByZW1vdmFibGUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3QgY2hhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorbXNnaWQgIkxhc3QgY2hhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NAorIywgZnV6enkKK21zZ2lkICJCeXRlcyB1c2VkIgorbXNnc3RyICJNYXJjYXIgZW4gdXNvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2VzIgorbXNnc3RyICJvIG7Dum1lcm8gZGUgYmxvcXVlcyDDqSBkZW1hc2lhZG8gcGVxdWVubyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1Cittc2dpZCAiTWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyBzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIk1zZyBzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgcmVjZWl2ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiTXNnIHJlY2VpdmVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgc2VuZGVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIk1zZyBzZW5kZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyByZWNlaXZlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJNc2cgcmVjZWl2ZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTcyCisjLCBmdXp6eQorbXNnaWQgIlNlZ21lbnQgc2l6ZSIKK21zZ3N0ciAib2J0ZXIgbyB0YW1hw7FvIGRvIGJsb3F1ZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBhdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIm8gbsO6bWVybyBkZSBibG9xdWVzIMOpIGRlbWFzaWFkbyBwZXF1ZW5vIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJBdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc0Cittc2dpZCAiU3RhdHVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NQorbXNnaWQgIkF0dGFjaCB0aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NgorbXNnaWQgIkRldGFjaCB0aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgY29tbWFuZCIKK21zZ3N0ciAiJXM6IE9yZGUgZGVzY2/DsWVjaWRhOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJQSUQgb2YgdGhlIGNyZWF0b3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiQ3JlYXRvciBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiUElEIG9mIGxhc3QgdXNlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCB1c2VyIFBJRCIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAibyBuw7ptZXJvIGRlIGJsb3F1ZXMgw6kgZGVtYXNpYWRvIHBlcXVlbm8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIlNlbWFwaG9yZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBvcGVyYXRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCisjLCBmdXp6eQorbXNnaWQgIkxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAiIHJlbW92YWJsZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIgorbXNnc3RyICIgcmVtb3ZhYmxlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgIiByZW1vdmFibGUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworIywgZnV6enkKK21zZ2lkICJEZXNjcmlwdGlvbiIKK21zZ3N0ciAiIHJlbW92YWJsZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiQ3VycmVudGx5IHVzZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiVXNlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiQ3VycmVudGx5IHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICJFc3RhZG8gZG8gc2lzdGVtYSBkZSBmaWNoZXJpc289JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIlVzZSIKK21zZ3N0ciAiVXNvOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJTeXN0ZW0td2lkZSBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJMaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29sdW1uICVzIGRvZXMgbm90IGFwcGx5IHRvIHRoZSBzcGVjaWZpZWQgSVBDIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4NworbXNnaWQgIiAtZywgLS1nbG9iYWwgICAgICBpbmZvIGFib3V0IHN5c3RlbS13aWRlIHVzYWdlIChtYXkgYmUgdXNlZCB3aXRoIC1tLCAtcSBhbmQgLXMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg4Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gICAgIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk0CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTUKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgICAgICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk3CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgdXNlIHRoZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTkKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICBmb3JjZSBsaXN0IG91dHB1dCBmb3JtYXQgKGZvciBleGFtcGxlIHdpdGggLS1pZClcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDEKK21zZ2lkICIgLVAsIC0tbnVtZXJpYy1wZXJtcyAgICAgIHByaW50IG51bWVyaWMgcGVybWlzc2lvbnMgKFBFUk1TIGNvbHVtbilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDMKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmljIGNvbHVtbnM6XG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZC1tZW1vcnkgY29sdW1ucyAoLS1zaG1lbXMpOlxuIgorbXNnc3RyICJPcmRlcyBkaXNwb8Oxw61iZWlzOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlLXF1ZXVlIGNvbHVtbnMgKC0tcXVldWVzKTpcbiIKK21zZ3N0ciAiT3JkZXMgZGlzcG/DscOtYmVpczpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIGNvbHVtbnMgKC0tc2VtYXBob3Jlcyk6XG4iCittc2dzdHIgIk9yZGVzIGRpc3Bvw7HDrWJlaXM6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU3VtbWFyeSBjb2x1bW5zICgtLWdsb2JhbCk6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJFbGVtZW50czpcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDUKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZSBpZGVudGlmaWVycyIKK21zZ3N0ciAibyBuw7ptZXJvIGRlIGJsb3F1ZXMgw6kgZGVtYXNpYWRvIHBlcXVlbm8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwNgorIywgZnV6enkKK21zZ2lkICJUb3RhbCBudW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAibyBuw7ptZXJvIGRlIGJsb3F1ZXMgw6kgZGVtYXNpYWRvIHBlcXVlbm8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwNworIywgZnV6enkKK21zZ2lkICJNYXggc2VtYXBob3JlcyBwZXIgc2VtYXBob3JlIHNldC4iCittc2dzdHIgIk9yZGVzIGRpc3Bvw7HDrWJlaXM6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwOAorIywgZnV6enkKK21zZ2lkICJNYXggbnVtYmVyIG9mIG9wZXJhdGlvbnMgcGVyIHNlbW9wKDIpIgorbXNnc3RyICJub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA5Cittc2dpZCAiU2VtYXBob3JlIG1heCB2YWx1ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjMKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICJvIG7Dum1lcm8gZGUgYmxvcXVlcyDDqSBkZW1hc2lhZG8gcGVxdWVubyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODY0CisjLCBmdXp6eQorbXNnaWQgIk1heCBzaXplIG9mIG1lc3NhZ2UgKGJ5dGVzKSIKK21zZ3N0ciAibyBuw7ptZXJvIGRlIGJsb3F1ZXMgw6kgZGVtYXNpYWRvIHBlcXVlbm8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg2NQorbXNnaWQgIkRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUgKGJ5dGVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5Nzggc3lzLXV0aWxzL2xzaXBjLmM6OTk3Cittc2dpZCAiaHVnZXRsYiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5Nzkgc3lzLXV0aWxzL2xzaXBjLmM6MTAwNAorbXNnaWQgIm5vcmVzZXJ2ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDYxCittc2dpZCAiU2hhcmVkIG1lbW9yeSBzZWdtZW50cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDYyCittc2dpZCAiU2hhcmVkIG1lbW9yeSBwYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDYzCisjLCBmdXp6eQorbXNnaWQgIk1heCBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICJvIG7Dum1lcm8gZGUgYmxvcXVlcyDDqSBkZW1hc2lhZG8gcGVxdWVubyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2NAorIywgZnV6enkKK21zZ2lkICJNaW4gc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAibyBuw7ptZXJvIGRlIGJsb3F1ZXMgw6kgZGVtYXNpYWRvIHBlcXVlbm8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjExMzUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElQQyBpZGVudGlmaWVyIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMjI5Cittc2dpZCAiLS1nbG9iYWwgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1jcmVhdG9yLCAtLWlkIGFuZCAtLXRpbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4MworbXNnaWQgIm5hbWVzcGFjZSBpZGVudGlmaWVyIChpbm9kZSBudW1iZXIpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODQKK21zZ2lkICJraW5kIG9mIG5hbWVzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg1Cittc2dpZCAicGF0aCB0byB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODYKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJvIG7Dum1lcm8gZGUgYmxvcXVlcyDDqSBkZW1hc2lhZG8gcGVxdWVubyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NworbXNnaWQgImxvd2VzdCBQSUQgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg4Cittc2dpZCAiUFBJRCBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODkKK21zZ2lkICJjb21tYW5kIGxpbmUgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkwCittc2dpZCAiVUlEIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MQorbXNnaWQgInVzZXJuYW1lIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo2MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxuYW1lc3BhY2U+XVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYxNgorbXNnaWQgIkxpc3Qgc3lzdGVtIG5hbWVzcGFjZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo2MjMKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXRhc2sgPHBpZD4gICAgICAgcHJpbnQgcHJvY2VzcyBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo2MjYKK21zZ2lkICIgLXQsIC0tdHlwZSA8bmFtZT4gICAgICBuYW1lc3BhY2UgdHlwZSAobW50LCBuZXQsIGlwYywgdXNlciwgcGlkLCB1dHMsIGNncm91cClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjcxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBuYW1lc3BhY2UgdHlwZTogJXMiCittc2dzdHIgIk9yZGUgZGVzY2/DsWVjaWRhOiAlcyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MzUKK21zZ2lkICItLXRhc2sgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPG5hbWVzcGFjZT4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MzYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBuYW1lc3BhY2UgYXJndW1lbnQiCittc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGZvdW5kIG5hbWVzcGFjZTogJWp1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY2IHN5cy11dGlscy91bW91bnQuYzoxMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2OSBzeXMtdXRpbHMvdW1vdW50LmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzMgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzQgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4NSBzeXMtdXRpbHMvdW1vdW50LmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAobGlibW91bnQgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTMwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIG10YWIiCittc2dzdHIgImF2aXNvOiBmb3JtYXRvIGRlIGNyYW1mcyBhbnRpZ29cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkyIHN5cy11dGlscy91bW91bnQuYzoyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGFscmVhZHkgbW91bnRlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdmVkIHRvICVzLlxuIgorbXNnc3RyICJOb24gc2UgZW5jb250cm91IG8gcGF0csOzbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgYm91bmQgb24gJXMuXG4iCittc2dzdHIgIk5vbiBzZSBlbmNvbnRyb3UgbyBwYXRyw7NuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTQgc3lzLXV0aWxzL21vdW50LmM6MjU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW91bnRlZCBvbiAlcy5cbiIKK21zZ3N0ciAiTm9uIHNlIGVuY29udHJvdSBvIHBhdHLDs24iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgcHJvcGFnYXRpb24gZmxhZ3MgY2hhbmdlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm1vdW50OiAlcyBkb2VzIG5vdCBjb250YWluIFNFTGludXggbGFiZWxzLlxuIgorIiAgICAgICBZb3UganVzdCBtb3VudGVkIGFuIGZpbGUgc3lzdGVtIHRoYXQgc3VwcG9ydHMgbGFiZWxzIHdoaWNoIGRvZXMgbm90XG4iCisiICAgICAgIGNvbnRhaW4gbGFiZWxzLCBvbnRvIGFuIFNFTGludXggYm94LiBJdCBpcyBsaWtlbHkgdGhhdCBjb25maW5lZFxuIgorIiAgICAgICBhcHBsaWNhdGlvbnMgd2lsbCBnZW5lcmF0ZSBBVkMgbWVzc2FnZXMgYW5kIG5vdCBiZSBhbGxvd2VkIGFjY2VzcyB0b1xuIgorIiAgICAgICB0aGlzIGZpbGUgc3lzdGVtLiAgRm9yIG1vcmUgZGV0YWlscyBzZWUgcmVzdG9yZWNvbig4KSBhbmQgbW91bnQoOCkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Mzc4CisjLCBmdXp6eQorbXNnaWQgIldBUk5JTkc6IGZhaWxlZCB0byBhcHBseSBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQiCittc2dzdHIgIiVzIGVzdMOhIG1vbnRhZG8uXHQgIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgdXNlZCBhcyByZWFkIG9ubHkgbG9vcCwgbW91bnRpbmcgcmVhZC1vbmx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCAlcyBpbiAlcyIKK21zZ3N0ciAiaGV4ZHVtcDogbm9uIMOpIHBvc8OtYmVsIGxlciAlcy5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50cG9pbnQgJXMgaW4gJXMiCittc2dzdHIgImhleGR1bXA6IG5vbiDDqSBwb3PDrWJlbCBsZXIgJXMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBzb3VyY2UgJXMgaW4gJXMiCittc2dzdHIgImhleGR1bXA6IG5vbiDDqSBwb3PDrWJlbCBsZXIgJXMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXM6IG1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQuIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sXG4iCisiICAgICAgIHVzZSAtdCA8dHlwZT4gdG8gZXhwbGljaXRseSBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUgb3JcbiIKKyIgICAgICAgdXNlIHdpcGVmcyg4KSB0byBjbGVhbiB1cCB0aGUgZGV2aWNlLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzYKK21zZ2lkICJJIGNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGZpbGVzeXN0ZW0gdHlwZSwgYW5kIG5vbmUgd2FzIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzkKKyMsIGZ1enp5Cittc2dpZCAieW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICIgIHQgICAgICAgICAgQ2FtYmlhciBvIHRpcG8gZGUgc2lzdGVtYSBkZSBmaWNoZWlyb3MiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCAlcyIKK21zZ3N0ciAiaGV4ZHVtcDogbm9uIMOpIHBvc8OtYmVsIGxlciAlcy5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ3CisjLCBmdXp6eQorbXNnaWQgIm1vdW50IHNvdXJjZSBub3QgZGVmaW5lZCIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1MSBzeXMtdXRpbHMvbW91bnQuYzo0NTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnQgZmFpbGVkIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlc3lzdGVtIG1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDg5IHN5cy11dGlscy9tb3VudC5jOjU0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgJXMgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJvIG5vZG8taSByYcOteiBub24gw6kgdW4gY2FydGFmb2wiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ5MworbXNnaWQgIm11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYnVzeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9yICVzIGJ1c3kiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50ICVzIGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MzYgc3lzLXV0aWxzL21vdW50LmM6NTM4IHN5cy11dGlscy9tb3VudC5jOjU0MAorIzogc3lzLXV0aWxzL21vdW50LmM6NTU1CisjLCBmdXp6eQorbXNnaWQgIm1vdW50KDIpIGZhaWxlZCIKK21zZ3N0ciAibWFsbG9jIGZhbGxvdSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTUxCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IChhIHBhdGggcHJlZml4IGlzIG5vdCBhIGRpcmVjdG9yeSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbW91bnRwb2ludCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICIlcyBlc3TDoSBtb250YWRvLlx0ICIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTY1Cittc2dpZCAiIgorImJhZCBvcHRpb24uIE5vdGUgdGhhdCBtb3ZpbmcgYSBtb3VudCByZXNpZGluZyB1bmRlciBhIHNoYXJlZFxuIgorIiAgICAgICBtb3VudCBpcyB1bnN1cHBvcnRlZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ3cm9uZyBmcyB0eXBlLCBiYWQgb3B0aW9uLCBiYWQgc3VwZXJibG9jayBvbiAlcyxcbiIKKyIgICAgICAgbWlzc2luZyBjb2RlcGFnZSBvciBoZWxwZXIgcHJvZ3JhbSwgb3Igb3RoZXIgZXJyb3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgICAgKGZvciBzZXZlcmFsIGZpbGVzeXN0ZW1zIChlLmcuIG5mcywgY2lmcykgeW91IG1pZ2h0XG4iCisiICAgICAgIG5lZWQgYSAvc2Jpbi9tb3VudC48dHlwZT4gaGVscGVyIHByb2dyYW0pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIgICAgICAgSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBpcyBmb3VuZCBpbiBzeXNsb2cgLSB0cnlcbiIKKyIgICAgICAgZG1lc2cgfCB0YWlsIG9yIHNvLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU4MworbXNnaWQgIm1vdW50IHRhYmxlIGZ1bGwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIgorbXNnc3RyICJOb24gw6kgcG9zw61iZWwgZXNjcmliaXIgbyBzdXBlcmJsb3F1ZSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSAnJXMnIgorbXNnc3RyICJPcmRlIGRlc2Nvw7FlY2lkYTogJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU5NAorIywgZnV6enkKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAiT3JkZSBkZXNjb8OxZWNpZGE6ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQoMikgZmFpbHM/IgorbXNnc3RyICIlczogbm9uIMOpIHVuIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ0aGUga2VybmVsIGRvZXMgbm90IHJlY29nbml6ZSAlcyBhcyBhIGJsb2NrIGRldmljZVxuIgorIiAgICAgICAobWF5YmUgYG1vZHByb2JlIGRyaXZlcic/KSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSAobWF5YmUgdHJ5IGAtbyBsb29wJz8pIgorbXNnc3RyICIlczogbm9uIMOpIHVuIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogbm9uIMOpIHVuIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBub24gw6kgdW4gZGlzcG9zaXRpdm8gZGUgYmxvcXVlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtb3VudCAlcyByZWFkLW9ubHkiCittc2dzdHIgIk5vbiDDqSBwb3PDrWJlbCBhYnJpciDCqyVzwrsgcGFyYSBsZWN0dXJhIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCBgLXcnIGZsYWcgZ2l2ZW4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjI4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZW1vdW50ICVzIHJlYWQtd3JpdGUsIGlzIHdyaXRlLXByb3RlY3RlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MzEgc3lzLXV0aWxzL21vdW50LmM6NjU0IHN5cy11dGlscy91bnNoYXJlLmM6MTg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBvbiAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkLCBtb3VudGluZyByZWFkLW9ubHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3B0aW9uIGZvcm1hdDogJXMiCittc2dzdHIgIiVzIG5lY2VzaXRhIHVuIGFyZ3VtZW50b1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhcHBlbmQgb3B0aW9uICclcyciCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjczNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZV0gPHNvdXJjZT4gfCBbLS10YXJnZXRdIDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgPG9wZXJhdGlvbj4gPG1vdW50cG9pbnQ+IFs8dGFyZ2V0Pl1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NDQKKyMsIGZ1enp5Cittc2dpZCAiTW91bnQgYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJFc3RhZG8gZG8gc2lzdGVtYSBkZSBmaWNoZXJpc289JWRcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW91bnQgYWxsIGZpbGVzeXN0ZW1zIG1lbnRpb25lZCBpbiBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgbW91bnQoMikgc3lzY2FsbFxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBmb3JrIG9mZiBmb3IgZWFjaCBkZXZpY2UgKHVzZSB3aXRoIC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8cGF0aD4gICAgICBhbHRlcm5hdGl2ZSBmaWxlIHRvIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgc2hvdyBhbHNvIGZpbGVzeXN0ZW0gbGFiZWxzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU4IHN5cy11dGlscy91bW91bnQuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbW91bnQgb3B0aW9uc1xuIgorIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC1vbmx5IChzYW1lIGFzIC1vIHJvKVxuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1zb3VyY2UgPHNyYz4gICAgICBleHBsaWNpdGx5IHNwZWNpZmllcyBzb3VyY2UgKHBhdGgsIGxhYmVsLCB1dWlkKVxuIgorIiAgICAgLS10YXJnZXQgPHRhcmdldD4gICBleHBsaWNpdGx5IHNwZWNpZmllcyBtb3VudHBvaW50XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzY4IHN5cy11dGlscy91bW91bnQuYzo5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHNheSB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtd3JpdGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTb3VyY2U6XG4iCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc5MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3BlcmF0aW9uczpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIHNvbWV3aGVyZSBlbHNlIChzYW1lIGFzIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG1vdmUgYSBzdWJ0cmVlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjgwMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4ODcgc3lzLXV0aWxzL3Vtb3VudC5jOjU0OAorbXNnaWQgImxpYm1vdW50IGNvbnRleHQgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6OTQ0IHN5cy11dGlscy91bW91bnQuYzo2MDEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCBvcHRpb25zIHBhdHRlcm4iCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEwOTcKK21zZ2lkICJzb3VyY2Ugc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLXFkXSAvcGF0aC90by9kaXJlY3RvcnlcbiIKKyIgJTEkcyAteCAvZGV2L2RldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTIyCittc2dpZCAiQ2hlY2sgd2hldGhlciBhIGRpcmVjdG9yeSBvciBmaWxlIGlzIGEgbW91bnRwb2ludC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEyNQorbXNnaWQgIiIKKyIgLXEsIC0tcXVpZXQgICAgICAgIHF1aWV0IG1vZGUgLSBkb24ndCBwcmludCBhbnl0aGluZ1xuIgorIiAtZCwgLS1mcy1kZXZubyAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBmaWxlc3lzdGVtXG4iCisiIC14LCAtLWRldm5vICAgICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGJsb2NrIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjIwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzIGVzdMOhIG1vbnRhZG8uXHQgIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjcyIHN5cy11dGlscy9zZXRwcml2LmM6OTMgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjc2Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIG5hbWVzcGFjZXMgb2Ygb3RoZXIgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzkKK21zZ2lkICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICB0YXJnZXQgcHJvY2VzcyB0byBnZXQgbmFtZXNwYWNlcyBmcm9tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MAorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICBlbnRlciBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgxCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgIGVudGVyIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgyCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgIGVudGVyIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgIGVudGVyIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICBlbnRlciBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NQorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICBlbnRlciBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NgorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICBlbnRlciB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODcKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgc2V0IHVpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODgKKyMsIGZ1enp5Cittc2dpZCAiIC1HLCAtLXNldGdpZCA8Z2lkPiAgICAgc2V0IGdpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODkKK21zZ2lkICIgICAgIC0tcHJlc2VydmUtY3JlZGVudGlhbHMgZG8gbm90IHRvdWNoIHVpZHMgb3IgZ2lkc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTAKK21zZ2lkICIgLXIsIC0tcm9vdFs9PGRpcj5dICAgICBzZXQgdGhlIHJvb3QgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MQorbXNnaWQgIiAtdywgLS13ZFs9PGRpcj5dICAgICAgIHNldCB0aGUgd29ya2luZyBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkyCittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgZG8gbm90IGZvcmsgYmVmb3JlIGV4ZWMnaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTQKK21zZ2lkICIgLVosIC0tZm9sbG93LWNvbnRleHQgICBzZXQgU0VMaW51eCBjb250ZXh0IGFjY29yZGluZyB0byAtLXRhcmdldCBQSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJuZWl0aGVyIGZpbGVuYW1lIG5vciB0YXJnZXQgcGlkIHN1cHBsaWVkIGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjI3NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdWlkIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjI4MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZ2lkIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMxNworbXNnaWQgIm5vIHRhcmdldCBQSUQgc3BlY2lmaWVkIGZvciAtLWZvbGxvdy1jb250ZXh0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0ICVkIFNFTGludXggY29udGV4dCIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBhbyByZXNlcnZhciBvIGLDumZlciBkZSBzYcOtZGEiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGV4ZWMgY29udGV4dCB0byAnJXMnIgorbXNnc3RyICJvIG5vZG8taSByYcOteiBub24gw6kgdW4gY2FydGFmb2wiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mzc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZWFzc29jaWF0ZSB0byBuYW1lc3BhY2UgJyVzJyBmYWlsZWQiCittc2dzdHIgImxlciBhIGhvcmEgZG8gc2lzdGVtYSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozOTAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mzk3CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgcm9vdCBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MDAKKyMsIGZ1enp5Cittc2dpZCAiY2hyb290IGZhaWxlZCIKK21zZ3N0ciAid3JpdGUgZmFsb3U6ICglcykiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDEwCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgd29ya2luZyBkaXJlY3RvcnkgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDIxIHN5cy11dGlscy9zZXRwcml2LmM6ODE1IHN5cy11dGlscy9zZXRwcml2LmM6ODE5CisjLCBmdXp6eQorbXNnaWQgInNldGdyb3VwcyBmYWlsZWQiCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gbmEgYnVzY2EiCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gbmV3X3Jvb3QgcHV0X29sZFxuIgorbXNnc3RyICIlcyBlc3TDoSBtb250YWRvLlx0ICIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozNworIywgZnV6enkKK21zZ2lkICJDaGFuZ2UgdGhlIHJvb3QgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiICAgdCAgIENhbWJpYSBvIGlkIGRvIHNpc3RlbWEgZGUgZmljaGVpcm9zIGRhIHBhcnRpY2nDs24iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCBmcm9tIGAlcycgdG8gYCVzJyIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NQorbXNnaWQgImFkZHJlc3Mgc3BhY2UgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIywgZnV6enkKK21zZ2lkICJtYXggY29yZSBmaWxlIHNpemUiCittc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAiQ1BVIHRpbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworbXNnaWQgInNlY29uZHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OAorbXNnaWQgIm1heCBkYXRhIHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OQorIywgZnV6enkKK21zZ2lkICJtYXggZmlsZSBzaXplIgorbXNnc3RyICJ0YW1hw7FvIGRlIG5vZG8taSBpbmNvcnJlY3RvIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2YgZmlsZSBsb2NrcyBoZWxkIgorbXNnc3RyICJvIG7Dum1lcm8gZGUgYmxvcXVlcyDDqSBkZW1hc2lhZG8gcGVxdWVubyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorIywgZnV6enkKK21zZ2lkICJsb2NrcyIKK21zZ3N0ciAiJWxkIGJsb3F1ZXNcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MQorbXNnaWQgIm1heCBsb2NrZWQtaW4tbWVtb3J5IGFkZHJlc3Mgc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MgorbXNnaWQgIm1heCBieXRlcyBpbiBQT1NJWCBtcXVldWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODMKK21zZ2lkICJtYXggbmljZSBwcmlvIGFsbG93ZWQgdG8gcmFpc2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIG9wZW4gZmlsZXMiCittc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0CisjLCBmdXp6eQorbXNnaWQgImZpbGVzIgorbXNnc3RyICIoU2VndWludGUgZmljaGVpcm86ICVzKSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIHByb2Nlc3NlcyIKK21zZ3N0ciAibyBuw7ptZXJvIGRlIGJsb3F1ZXMgw6kgZGVtYXNpYWRvIHBlcXVlbm8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKKyMsIGZ1enp5Cittc2dpZCAicHJvY2Vzc2VzIgorbXNnc3RyICJOb24gc2UgcG9kZSBlZmVjdHVhciDCq3N0YXTCuyBzb2JyZSBvIGRpc3Bvc2l0aXZvICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2Cittc2dpZCAibWF4IHJlc2lkZW50IHNldCBzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODcKK21zZ2lkICJtYXggcmVhbC10aW1lIHByaW9yaXR5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJ0aW1lb3V0IGZvciByZWFsLXRpbWUgdGFza3MiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgIm1pY3Jvc2VjcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAibWF4IG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorbXNnaWQgInNpZ25hbHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgIm1heCBzdGFjayBzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTIzCisjLCBmdXp6eQorbXNnaWQgInJlc291cmNlIG5hbWUiCittc2dzdHIgIiByZW1vdmFibGUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI0CisjLCBmdXp6eQorbXNnaWQgInJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICIgcmVtb3ZhYmxlIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNQorbXNnaWQgInNvZnQgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjYKK21zZ2lkICJoYXJkIGxpbWl0IChjZWlsaW5nKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNworIywgZnV6enkKK21zZ2lkICJ1bml0cyIKK21zZ3N0ciAiVW5pZGFkZXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstcCBQSURdXG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIENPTU1BTkRcbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjYKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVzb3VyY2UgbGltaXRzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiR2VuZXJhbCBPcHRpb25zOlxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OQorbXNnaWQgIiIKKyIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBwcm9jZXNzIGlkXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorIiAgICAgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCisiICAgICAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorIiAgICAgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJSZXNvdXJjZXMgT3B0aW9uczpcbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzgKK21zZ2lkICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGNvcmUgZmlsZXMgY3JlYXRlZFxuIgorIiAtZCwgLS1kYXRhICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBhIHByb2Nlc3MncyBkYXRhIHNlZ21lbnRcbiIKKyIgLWUsIC0tbmljZSAgICAgICAgICAgICBtYXhpbXVtIG5pY2UgcHJpb3JpdHkgYWxsb3dlZCB0byByYWlzZVxuIgorIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBmaWxlcyB3cml0dGVuIGJ5IHRoZSBwcm9jZXNzXG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAgbWF4aW11bSBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAgbWF4aW11bSBzaXplIGEgcHJvY2VzcyBtYXkgbG9jayBpbnRvIG1lbW9yeVxuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgIG1heGltdW0gcmVzaWRlbnQgc2V0IHNpemVcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBvcGVuIGZpbGVzXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgbWF4aW11bSBieXRlcyBpbiBQT1NJWCBtZXNzYWdlIHF1ZXVlc1xuIgorIiAtciwgLS1ydHByaW8gICAgICAgICAgIG1heGltdW0gcmVhbC10aW1lIHNjaGVkdWxpbmcgcHJpb3JpdHlcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICBtYXhpbXVtIHN0YWNrIHNpemVcbiIKKyIgLXQsIC0tY3B1ICAgICAgICAgICAgICBtYXhpbXVtIGFtb3VudCBvZiBDUFUgdGltZSBpbiBzZWNvbmRzXG4iCisiIC11LCAtLW5wcm9jICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgdXNlciBwcm9jZXNzZXNcbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICBzaXplIG9mIHZpcnR1YWwgbWVtb3J5XG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgZmlsZSBsb2Nrc1xuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgIENQVSB0aW1lIGluIG1pY3Jvc2Vjb25kcyBhIHByb2Nlc3Mgc2NoZWR1bGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXIgcmVhbC10aW1lIHNjaGVkdWxpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0MyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzEKK21zZ2lkICJ1bmxpbWl0ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgb2xkICVzIGxpbWl0IgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM1NgorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgc29mdCBsaW1pdCAlcyBjYW5ub3QgZXhjZWVkIHRoZSBoYXJkIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5ldyAlcyBsaW1pdCBmb3IgcGlkICVkOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NDU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgbGltaXQiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NTg1Cittc2dpZCAib3B0aW9uIC0tcGlkIG1heSBiZSBzcGVjaWZpZWQgb25seSBvbmNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NjE2Cittc2dpZCAib3B0aW9ucyAtLXBpZCBhbmQgQ09NTUFORCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNworbXNnaWQgIkRpc3BsYXkga2VybmVsIHByb2ZpbGluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1tLCAtLW1hcGZpbGUgPG1hcGZpbGU+ICAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIlc1wiKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICIgLXAsIC0tcHJvZmlsZSA8cHJvLWZpbGU+ICAoZGVmYXVsdDogIFwiJXNcIilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTYKK21zZ2lkICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNworbXNnaWQgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIHByaW50IG9ubHkgaW5mbyBhYm91dCB0aGUgc2FtcGxpbmcgc3RlcFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIHByaW50IGFsbCBzeW1ib2xzLCBldmVuIGlmIGNvdW50IGlzIDBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjAKK21zZ2lkICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIxCittc2dpZCAiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIyCittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMworbXNnaWQgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3Igd3JpdGluZyAlcyIKK21zZ3N0ciAiZXJybzogbm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI3MQorbXNnaWQgIkFzc3VtaW5nIHJldmVyc2VkIGJ5dGUgb3JkZXIuIFVzZSAtbiB0byBmb3JjZSBuYXRpdmUgYnl0ZSBvcmRlci4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNhbXBsaW5nX3N0ZXA6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzAyIHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMyMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyglaSk6IHdyb25nIG1hcCBsaW5lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIFwiX3N0ZXh0XCIgaW4gJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzQ2Cittc2dpZCAicHJvZmlsZSBhZGRyZXNzIG91dCBvZiByYW5nZS4gV3JvbmcgbWFwIGZpbGU/IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjQwNAorbXNnaWQgInRvdGFsIgorbXNnc3RyICJ0b3RhbCIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUyCittc2dpZCAicHJvY2VzcyBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTMKK21zZ2lkICJwcm9jZXNzIGdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+IFstcHwtLXBpZF0gPHBpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC1nfC0tcGdycCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC11fC0tdXNlciA8dXNlcj4uLi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjcKK21zZ2lkICJBbHRlciB0aGUgcHJpb3JpdHkgb2YgcnVubmluZyBwcm9jZXNzZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcwCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIHNwZWNpZnkgdGhlIG5pY2UgaW5jcmVtZW50IHZhbHVlXG4iCittc2dzdHIgIkludHJvZHV6YSBvIG7Dum1lcm8gZGUgY2lsaW5kcm9zOiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcxCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MgorbXNnaWQgIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIGdyb3VwIElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjczCittc2dpZCAiIC11LCAtLXVzZXIgPG5hbWU+fDxpZD4gaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHVzZXJuYW1lIG9yIHVzZXIgSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkICglcykgb2xkIHByaW9yaXR5ICVkLCBuZXcgcHJpb3JpdHkgJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHVzZXIgJXMiCittc2dzdHIgIk9yZGUgZGVzY2/DsWVjaWRhOiAlcyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyBvbmUgb2YgdGhlIGFib3ZlCisjLiAqIHRocmVlIElEIG5hbWVzLiBSZWFkOiAiYmFkIHZhbHVlIGZvciAlczogJXMiCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgJXMgdmFsdWU6ICVzIgorbXNnc3RyICJWYWxvciBkZSBjYWJlemFzIGlsZWdhbCIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo5OAorbXNnaWQgIkVudGVyIGEgc3lzdGVtIHNsZWVwIHN0YXRlIHVudGlsIGEgc3BlY2lmaWVkIHdha2V1cCB0aW1lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTAxCittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgICAgICAgICByZWFkcyB0aGUgY2xvY2sgbW9kZSBmcm9tIGFkanVzdCBmaWxlIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLUEsIC0tYWRqZmlsZSA8ZmlsZT4gICAgIHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRlZmF1bHQgaXMgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNQorbXNnaWQgIiAgICAgLS1kYXRlIDx0aW1lc3RhbXA+ICAgZGF0ZSB0aW1lIG9mIHRpbWVzdGFtcCB0byB3YWtlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDYKK21zZ2lkICIgLWQsIC0tZGV2aWNlIDxkZXZpY2U+ICAgIHNlbGVjdCBydGMgZGV2aWNlIChydGMwfHJ0YzF8Li4uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA3Cittc2dpZCAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBkb2VzIGV2ZXJ5dGhpbmcsIGJ1dCBzdXNwZW5kXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDgKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICBSVEMgdXNlcyBsb2NhbCB0aW1lem9uZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA5Cittc2dpZCAiICAgICAtLWxpc3QtbW9kZXMgICAgICAgICBsaXN0IGF2YWlsYWJsZSBtb2Rlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEwCittc2dpZCAiIC1tLCAtLW1vZGUgPG1vZGU+ICAgICAgICBzdGFuZGJ5fG1lbXwuLi4gc2xlZXAgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTExCittc2dpZCAiIC1zLCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTIKK21zZ2lkICIgLXQsIC0tdGltZSA8dGltZV90PiAgICAgIHRpbWUgdG8gd2FrZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEzCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIHVzZXMgVVRDXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNjcKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgImxlciBhIGhvcmEgcnRjIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE3MworIywgZnV6enkKK21zZ2lkICJyZWFkIHN5c3RlbSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAibGVyIGEgaG9yYSBkbyBzaXN0ZW1hIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE4OQorIywgZnV6enkKK21zZ2lkICJjb252ZXJ0IHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiY29udmVydGVyIGEgaG9yYSBydGMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgInNldCBydGMgd2FrZSBhbGFybSBmYWlsZWQiCittc2dzdHIgImVzdGFiZWxlY2VyIGEgYWxhcm1hIGRlIGVzcGVydGFyIGRlIHJ0YyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB0aGlyZCBsaW5lIGluOiAlczogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjAgc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjQKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBydGMgYWxhcm0gZmFpbGVkIgorbXNnc3RyICJhY3RpdmFyIGEgYWxhcm1hIHJ0YyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9mZlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzM4CisjLCBmdXp6eQorbXNnaWQgImNvbnZlcnQgdGltZSBmYWlsZWQiCittc2dzdHIgImNvbnZlcnRlciBhIGhvcmEgcnRjIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb24gICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mzg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZDogJXMiCittc2dzdHIgImhleGR1bXA6IG5vbiDDqSBwb3PDrWJlbCBsZXIgJXMuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDY3CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdXNwZW5kIHN0YXRlICclcyciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0NzUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzZWNvbmRzIGFyZ3VtZW50IgorbXNnc3RyICIlcyBuZWNlc2l0YSB1biBhcmd1bWVudG9cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0NzkKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lIGFyZ3VtZW50IgorbXNnc3RyICJjb252ZXJ0ZXIgYSBob3JhIHJ0YyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIKK21zZ3N0ciAiJXM6IGFzdW1pbmRvIHF1ZSBSVEMgdXNhIFVUQyAuLi5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTEKK21zZ2lkICJVc2luZyBVVEMgdGltZS5cbiIKK21zZ3N0ciAiVXNhbmRvIGEgaG9yYSBVVEMuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTEyCittc2dpZCAiVXNpbmcgbG9jYWwgdGltZS5cbiIKK21zZ3N0ciAiVXNhbmRvIGEgaG9yYSBsb2NhbC5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTUKK21zZ2lkICJtdXN0IHByb3ZpZGUgd2FrZSB0aW1lIChzZWUgLS1zZWNvbmRzLCAtLXRpbWUgYW5kIC0tZGF0ZSBvcHRpb25zKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGVuYWJsZWQgZm9yIHdha2V1cCBldmVudHMiCittc2dzdHIgIiVzOiBub24gw6kgcG9zw61iZWwgbGVyIG9zIGV2ZW50b3MgZGUgaW5vdGlmeSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm0gJWxkLCBzeXNfdGltZSAlbGQsIHJ0Y190aW1lICVsZCwgc2Vjb25kcyAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTM1CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUgZG9lc24ndCBnbyBiYWNrd2FyZCB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgZnJvbSBcIiVzXCIgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBubzsgbGVhdmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogb2ZmOyBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9uOyByZWFkaW5nIHJ0Y1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTkyCisjLCBmdXp6eQorbXNnaWQgInJ0YyByZWFkIGZhaWxlZCIKK21zZ3N0ciAicmVhZCBmYWxsb3U6ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwNAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IGRpc2FibGU7IGRpc2FibGluZyBhbGFybVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjA4CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogc2hvdzsgcHJpbnRpbmcgYWxhcm0gaW5mb1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjE1CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogJXM7IHN1c3BlbmRpbmcgc3lzdGVtXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjkKK21zZ2lkICJkaXNhYmxlIHJ0YyBhbGFybSBpbnRlcnJ1cHQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3dpdGNoaW5nIG9uICVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8YXJjaD4gW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk2Cittc2dpZCAiQ2hhbmdlIHRoZSByZXBvcnRlZCBhcmNoaXRlY3R1cmUgYW5kIHNldCBwZXJzb25hbGl0eSBmbGFncy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk5Cittc2dpZCAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB0dXJucyBvbiBBRERSX0xJTUlUXzMyQklUXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDAKK21zZ2lkICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIG1ha2VzIGZ1bmN0aW9uIHBvaW50ZXJzIHBvaW50IHRvIGRlc2NyaXB0b3JzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDEKK21zZ2lkICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIHR1cm5zIG9uIFNIT1JUX0lOT0RFXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDIKK21zZ2lkICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMworbXNnaWQgIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgZGlzYWJsZXMgcmFuZG9taXphdGlvbiBvZiB0aGUgdmlydHVhbCBhZGRyZXNzIHNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDQKK21zZ2lkICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHR1cm5zIG9uIFdIT0xFX1NFQ09ORFNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNQorbXNnaWQgIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgdHVybnMgb24gU1RJQ0tZX1RJTUVPVVRTXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDYKK21zZ2lkICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDcKK21zZ2lkICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHR1cm5zIG9uIE1NQVBfUEFHRV9aRVJPXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDgKK21zZ2lkICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDkKK21zZ2lkICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGlnbm9yZWQgKGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IG9ubHkpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTAKK21zZ2lkICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHR1cm5zIG9uIFVOQU1FMjZcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheSB3aGF0IG9wdGlvbnMgYXJlIGJlaW5nIHN3aXRjaGVkIG9uXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTQKK21zZ2lkICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3Qgc2V0dGFibGUgYXJjaGl0ZWN0dXJlcywgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXNcbiIKKyJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFVucmVjb2duaXplZCBhcmNoaXRlY3R1cmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyNTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIktlcm5lbCBjYW5ub3Qgc2V0IGFyY2hpdGVjdHVyZSB0byAlcyIKK21zZ3N0ciAibm9uIHNlIHBvZGUgb2J0ZXIgbyB0YW1hw7FvIGRlICVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjMwNQorbXNnaWQgIk5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzIyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNzkKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnLS1saXN0JyIKK21zZ3N0ciAiT3JkZSBkZXNjb8OxZWNpZGE6ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM4NworIywgZnV6enkKK21zZ2lkICJubyBhcmNoaXRlY3R1cmUgYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIm8gbm9kby1pIHJhw616IG5vbiDDqSB1biBjYXJ0YWZvbCIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXhlY3V0ZSBjb21tYW5kIGAlcycuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NworbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBkaWZmZXJlbnQgcHJpdmlsZWdlIHNldHRpbmdzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTAwCittc2dpZCAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICBzaG93IGN1cnJlbnQgc3RhdGUgKGFuZCBkbyBub3QgZXhlYyBhbnl0aGluZylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMQorbXNnaWQgIiAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAgZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMgorbXNnaWQgIiAtLWluaC1jYXBzIDxjYXBzLC4uLj4gICAgc2V0IGluaGVyaXRhYmxlIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTAzCittc2dpZCAiIC0tYm91bmRpbmctc2V0IDxjYXBzPiAgICBzZXQgY2FwYWJpbGl0eSBib3VuZGluZyBzZXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNAorbXNnaWQgIiAtLXJ1aWQgPHVpZD4gICAgICAgICAgICAgc2V0IHJlYWwgdWlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDUKK21zZ2lkICIgLS1ldWlkIDx1aWQ+ICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDYKK21zZ2lkICIgLS1yZ2lkIDxnaWQ+ICAgICAgICAgICAgIHNldCByZWFsIGdpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA3Cittc2dpZCAiIC0tZWdpZCA8Z2lkPiAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA4Cittc2dpZCAiIC0tcmV1aWQgPHVpZD4gICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA5Cittc2dpZCAiIC0tcmVnaWQgPGdpZD4gICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEwCittc2dpZCAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICBjbGVhciBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTExCittc2dpZCAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICBrZWVwIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTIKK21zZ2lkICIgLS1ncm91cHMgPGdyb3VwLC4uLj4gICAgIHNldCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEzCittc2dpZCAiIC0tc2VjdXJlYml0cyA8Yml0cz4gICAgICBzZXQgc2VjdXJlYml0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE0Cittc2dpZCAiIC0tc2VsaW51eC1sYWJlbCA8bGFiZWw+ICBzZXQgU0VMaW51eCBsYWJlbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE1Cittc2dpZCAiIC0tYXBwYXJtb3ItcHJvZmlsZSA8cHI+ICBzZXQgQXBwQXJtb3IgcHJvZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIxCittc2dpZCAiIFRoaXMgdG9vbCBjYW4gYmUgZGFuZ2Vyb3VzLiAgUmVhZCB0aGUgbWFucGFnZSwgYW5kIGJlIGNhcmVmdWwuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxOTMgc3lzLXV0aWxzL3NldHByaXYuYzo0NjcKK21zZ2lkICJnZXR0aW5nIHByb2Nlc3Mgc2VjdXJlIGJpdHMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3VyZWJpdHM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBsb25nIgorbXNnc3RyICJBIGxpw7FhIMOpIGRlbWFzaWFkbyBsb25nYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3MyBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyMSBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyNgorIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzIgc3lzLXV0aWxzL3NldHByaXYuYzozMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgInVpZDogJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICJldWlkOiAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1aWQ6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTkgc3lzLXV0aWxzL3NldHByaXYuYzozOTEKKyMsIGZ1enp5Cittc2dpZCAiZ2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBuYSBidXNjYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMDggc3lzLXV0aWxzL3NldHByaXYuYzo0MDYKKyMsIGZ1enp5Cittc2dpZCAiZ2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBuYSBidXNjYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRWZmZWN0aXZlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBlcm1pdHRlZCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzMAorIywgYy1mb3JtYXQKK21zZ2lkICJJbmhlcml0YWJsZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzNQorIywgYy1mb3JtYXQKK21zZ2lkICJDYXBhYmlsaXR5IGJvdW5kaW5nIHNldDogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQzCisjLCBmdXp6eQorbXNnaWQgIlNFTGludXggbGFiZWwiCittc2dzdHIgInNlbiBldGlxdWV0YSwgIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0NgorbXNnaWQgIkFwcEFybW9yIHByb2ZpbGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FwICVkOiBsaWJjYXAtbmcgaXMgYnJva2VuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzgyCittc2dpZCAiSW52YWxpZCBzdXBwbGVtZW50YXJ5IGdyb3VwIGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzk5CisjLCBmdXp6eQorbXNnaWQgInNldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gbmEgYnVzY2EiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDE0CisjLCBmdXp6eQorbXNnaWQgInNldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gbmEgYnVzY2EiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDM1Cittc2dpZCAiYmFkIGNhcGFiaWxpdHkgc3RyaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDQzCittc2dpZCAibGliY2FwLW5nIGlzIHRvbyBvbGQgZm9yIFwiYWxsXCIgY2FwcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjYXBhYmlsaXR5IFwiJXNcIiIKK21zZ3N0ciAiT3JkZSBkZXNjb8OxZWNpZGE6ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ3NgorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQgc2V0IC0tIHJlZnVzaW5nIHRvIGFkanVzdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ4MAorbXNnaWQgImJhZCBzZWN1cmViaXRzIHN0cmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ4NworIywgZnV6enkKK21zZ2lkICIrYWxsIHNlY3VyZWJpdHMgaXMgbm90IGFsbG93ZWQiCittc2dzdHIgIiVzIGVzdMOhIG1vbnRhZG8uXHQgIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUwMAorbXNnaWQgImFkanVzdGluZyBrZWVwX2NhcHMgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUwNAorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MjQKK21zZ2lkICJTRUxpbnV4IGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjbG9zZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIG5hIGJ1c2NhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU0NworbXNnaWQgIkFwcEFybW9yIGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjU4Cittc2dpZCAiZHVwbGljYXRlIC0tbm8tbmV3LXByaXZzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY2MworbXNnaWQgImR1cGxpY2F0ZSBydWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjY1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBydWlkIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY2OQorbXNnaWQgImR1cGxpY2F0ZSBldWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjcxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBldWlkIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY3NQorbXNnaWQgImR1cGxpY2F0ZSBydWlkIG9yIGV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJldWlkIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4MQorbXNnaWQgImR1cGxpY2F0ZSByZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjgzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZ2lkIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4NworbXNnaWQgImR1cGxpY2F0ZSBlZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njg5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlZ2lkIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY5MworbXNnaWQgImR1cGxpY2F0ZSByZ2lkIG9yIGVnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2OTUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJlZ2lkIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcwMAorbXNnaWQgImR1cGxpY2F0ZSAtLWNsZWFyLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MDYKK21zZ2lkICJkdXBsaWNhdGUgLS1rZWVwLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MTIKK21zZ2lkICJkdXBsaWNhdGUgLS1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzIxCittc2dpZCAiZHVwbGljYXRlIC0taW5oLWNhcHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzI3Cittc2dpZCAiZHVwbGljYXRlIC0tYm91bmRpbmctc2V0IG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjczMworbXNnaWQgImR1cGxpY2F0ZSAtLXNlY3VyZWJpdHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzM5Cittc2dpZCAiZHVwbGljYXRlIC0tc2VsaW51eC1sYWJlbCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NDUKK21zZ2lkICJkdXBsaWNhdGUgLS1hcHBhcm1vci1wcm9maWxlIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnJWMnIgorbXNnc3RyICJPcmRlIGRlc2Nvw7FlY2lkYTogJXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzYzCittc2dpZCAiLS1kdW1wIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzcxCittc2dpZCAiLS1saXN0LWNhcHMgbXVzdCBiZSBzcGVjaWZpZWQgYWxvbmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzcKK21zZ2lkICJObyBwcm9ncmFtIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4MgorbXNnaWQgIi0tW3JlXWdpZCByZXF1aXJlcyAtLWtlZXAtZ3JvdXBzLCAtLWNsZWFyLWdyb3Vwcywgb3IgLS1ncm91cHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODUKK21zZ2lkICJkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTMKK21zZ2lkICJrZWVwIHByb2Nlc3MgY2FwYWJpbGl0aWVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwMQorbXNnaWQgImFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwNworbXNnaWQgInJlYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODIzCisjLCBmdXp6eQorbXNnaWQgInNldCBwcm9jZXNzIHNlY3VyZWJpdHMgZmFpbGVkIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIG5hIGJ1c2NhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyOQorbXNnaWQgImFwcGx5IGJvdW5kaW5nIHNldCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgzNQorbXNnaWQgImFwcGx5IGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGV4ZWN1dGU6ICVzIgorbXNnc3RyICJOb24gc2UgcG9kZSBlZmVjdHVhciDCq3N0YXTCuyBzb2JyZSBvIGRpc3Bvc2l0aXZvICVzIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFthcmd1bWVudHMgLi4uXVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzYKK21zZ2lkICJSdW4gYSBwcm9ncmFtIGluIGEgbmV3IHNlc3Npb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjM5Cittc2dpZCAiIC1jLCAtLWN0dHkgICAgIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwgdG8gdGhlIGN1cnJlbnQgb25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQwCittc2dpZCAiIC13LCAtLXdhaXQgICAgIHdhaXQgcHJvZ3JhbSB0byBleGl0LCBhbmQgdXNlIHRoZSBzYW1lIHJldHVyblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo5MworbXNnaWQgImZvcmsiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjEwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hpbGQgJWQgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJvIG5vZG8taSByYcOteiBub24gw6kgdW4gY2FydGFmb2wiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTAKKyMsIGZ1enp5Cittc2dpZCAic2V0c2lkIGZhaWxlZCIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBuYSBidXNjYSIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb2ZmICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDUKK21zZ2lkICJOb3Qgc3VwZXJ1c2VyLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9mZiBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjIgc3lzLXV0aWxzL3N3YXBvbi5jOjc4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHNwZWM+XVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyNQorbXNnaWQgIkRpc2FibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjgKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgc3dhcHMgZnJvbSAvcHJvYy9zd2Fwc1xuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTM1Cittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MworIywgZnV6enkKK21zZ2lkICJkZXZpY2UgZmlsZSBvciBwYXJ0aXRpb24gcGF0aCIKK21zZ3N0ciAiICAgZCAgIGVsaW1pbmFyIGEgcGFydGljacOzbiBCU0QiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NAorbXNnaWQgInR5cGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTUKK21zZ2lkICJzaXplIG9mIHRoZSBzd2FwIGFyZWEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk2CisjLCBmdXp6eQorbXNnaWQgImJ5dGVzIGluIHVzZSIKK21zZ3N0ciAiTWFyY2FyIGVuIHVzbyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk3Cittc2dpZCAic3dhcCBwcmlvcml0eSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTgKK21zZ2lkICJzd2FwIHV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk5CisjLCBmdXp6eQorbXNnaWQgInN3YXAgbGFiZWwiCittc2dzdHIgInNlbiBldGlxdWV0YSwgIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzXHRcdFx0XHRUeXBlXHRcdFNpemVcdFVzZWRcdFByaW9yaXR5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI0NgorbXNnaWQgIkZpbGVuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlaW5pdGlhbGl6aW5nIHRoZSBzd2FwLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsc2VlayBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgc2lnbmF0dXJlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyAtIGl0IGFwcGVhcnMgdG8gaGF2ZSBob2xlcy4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0IHNpemUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgc3dhcCBoZWFkZXIgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZvdW5kIHNpZ25hdHVyZSBbcGFnZXNpemU9JWQsIHNpZ25hdHVyZT0lc10iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFnZXNpemU9JWQsIHN3YXBzaXplPSVsbHUsIGRldnNpemU9JWxsdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsYXN0X3BhZ2UgMHglMDhsbHggaXMgbGFyZ2VyIHRoYW4gYWN0dWFsIHNpemUgb2Ygc3dhcHNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4gKFVzZSAtLWZpeHBnc3ogdG8gcmVpbml0aWFsaXplIGl0LikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc29mdHdhcmUgc3VzcGVuZCBkYXRhIGRldGVjdGVkLiBSZXdyaXRpbmcgdGhlIHN3YXAgc2lnbmF0dXJlLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBvbiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvbiBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vYXV0byBvcHRpb24gLS0gaWdub3JlZCIKK21zZ3N0ciAiZXJybyBkZSBhbsOhbGlzZSBuYSBsacOxYTogIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBhY3RpdmUgLS0gaWdub3JlZCIKK21zZ3N0ciAiZXJybyBkZSBhbsOhbGlzZSBuYSBsacOxYTogIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaW5hY2Nlc3NpYmxlIC0tIGlnbm9yZWQiCittc2dzdHIgIk5vbiDDqSBwb3PDrWJlbCBlc2NyaWJpciBub2Rvcy1pIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzkxCittc2dpZCAiRW5hYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTQKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICBlbmFibGUgYWxsIHN3YXBzIGZyb20gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTUKK21zZ2lkICIgLWQsIC0tZGlzY2FyZFs9PHBvbGljeT5dIGVuYWJsZSBzd2FwIGRpc2NhcmRzLCBpZiBzdXBwb3J0ZWQgYnkgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NgorbXNnaWQgIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgc2lsZW50bHkgc2tpcCBkZXZpY2VzIHRoYXQgZG8gbm90IGV4aXN0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NworbXNnaWQgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTgKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHN3YXAgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTkKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDAKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBkaXNwbGF5IHN1bW1hcnkgYWJvdXQgdXNlZCBzd2FwIGRldmljZXMgKERFUFJFQ0FURUQpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMQorbXNnaWQgIiAgICAgLS1zaG93Wz08Y29sdW1ucz5dICAgZGlzcGxheSBzdW1tYXJ5IGluIGRlZmluYWJsZSB0YWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCB0YWJsZSBoZWFkaW5nICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAzCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCAod2l0aCAtLXNob3cpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIGRpc3BsYXkgc3dhcCBzaXplIGluIGJ5dGVzIGluIC0tc2hvdyBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODIxCittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBkaXNjYXJkIHBvbGljeSB0eXBlcyAoZm9yIC0tZGlzY2FyZCk6XG4iCisiIG9uY2UgICAgOiBvbmx5IHNpbmdsZS10aW1lIGFyZWEgZGlzY2FyZHMgYXJlIGlzc3VlZFxuIgorIiBwYWdlcyAgIDogZnJlZWQgcGFnZXMgYXJlIGRpc2NhcmRlZCBiZWZvcmUgdGhleSBhcmUgcmV1c2VkXG4iCisiSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCBib3RoIGRpc2NhcmQgdHlwZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQpLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MjYKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93KTpcbiIKK21zZ3N0ciAiT3JkZXMgZGlzcG/DscOtYmVpczpcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkwNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcHJpb3JpdHkiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgdGhlIGRldmljZSBmb3IgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NTkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGlyZWN0b3J5IgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2NworIywgZnV6enkKK21zZ2lkICJzdGF0IGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjc4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIGRpcmVjdG9yeSIKK21zZ3N0ciAibyBub2RvLWkgcmHDrXogbm9uIMOpIHVuIGNhcnRhZm9sIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJXMiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAlcyIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgImZvcmNpbmcgdW5tb3VudCBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIGFvIHJlc2VydmFyIG8gYsO6ZmVyIGRlIHNhw61kYSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvIC8iCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE4OAorbXNnaWQgIm9sZCByb290IGZpbGVzeXN0ZW0gaXMgbm90IGFuIGluaXRyYW1mcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG5ld3Jvb3RkaXI+IDxpbml0PiA8YXJncyB0byBpbml0PlxuIgorbXNnc3RyICIlcyBlc3TDoSBtb250YWRvLlx0ICIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA0Cittc2dpZCAiU3dpdGNoIHRvIGFub3RoZXIgZmlsZXN5c3RlbSBhcyB0aGUgcm9vdCBvZiB0aGUgbW91bnQgdHJlZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMzYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkLiBTb3JyeS4iCittc2dzdHIgIiVzIGZhbGxvdS5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgYWNjZXNzICVzIgorbXNnc3RyICJOb24gc2UgcG9kZSBlZmVjdHVhciDCq3N0YXTCuyBzb2JyZSBvIGRpc3Bvc2l0aXZvICVzIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTQKK21zZ2lkICJTZXQgdmFyaW91cyBwYXJhbWV0ZXJzIGZvciB0aGUgbGluZSBwcmludGVyLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5NworbXNnaWQgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIHNwZWNpZnkgcGFyYWxsZWwgcG9ydCBpcnFcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTgKK21zZ2lkICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICBkcml2ZXIgd2FpdCB0aW1lIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5OQorbXNnaWQgIiAtYywgLS1jaGFycyA8bnVtPiAgICAgICAgICAgIG51bWJlciBvZiBvdXRwdXQgY2hhcmFjdGVycyBiZWZvcmUgc2xlZXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAwCittc2dpZCAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgc3Ryb2JlIHdhaXQgaW4gbWljcm8gc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBkbyBub3QgdHJhbnNsYXRlIDxvbnxvZmY+IGFyZ3VtZW50cy4gVGhlCisjLiBhcmd1bWVudCByZWFkZXIgZG9lcyBub3QgcmVjb2duaXplIGxvY2FsZSwgdW5sZXNzIGBvbicgaXMKKyMuIGV4YWN0bHkgdGhhdCB2ZXJ5IHNhbWUgc3RyaW5nLgorIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNAorbXNnaWQgIiAtYSwgLS1hYm9ydCA8b258b2ZmPiAgICAgICAgIGFib3J0IG9uIGVycm9yXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNQorbXNnaWQgIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gIGNoZWNrIHByaW50ZXIgc3RhdHVzIGJlZm9yZSBwcmludGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDYKK21zZ2lkICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICBleHRyYSBjaGVja2luZyB0byBzdGF0dXMgY2hlY2tcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA3Cittc2dpZCAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAgcXVlcnkgcHJpbnRlciBzdGF0dXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA4Cittc2dpZCAiIC1ULCAtLXRydXN0LWlycSA8b258b2ZmPiAgICAgbWFrZSBkcml2ZXIgdG8gdHJ1c3QgaXJxXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICByZXNldCB0aGUgcG9ydFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTAKK21zZ2lkICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICBkaXNwbGF5IGN1cnJlbnQgaXJxIHNldHRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgYW4gbHAgZGV2aWNlIgorbXNnc3RyICIlczogbm9uIMOpIHVuIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZXNcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4MAorbXNnaWQgIkxQR0VUU1RBVFVTIGVycm9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3RhdHVzIGlzICVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBidXN5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCByZWFkeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb3V0IG9mIHBhcGVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvbi1saW5lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBlcnJvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzAwCisjLCBmdXp6eQorbXNnaWQgImlvY3RsIGZhaWxlZCIKK21zZ3N0ciAibWFsbG9jIGZhbGxvdSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxMAorbXNnaWQgIkxQR0VUSVJRIGVycm9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgSVJRICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBwb2xsaW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiB8IDxkaXJlY3Rvcnk+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjgxCisjLCBmdXp6eQorbXNnaWQgIlVubW91bnQgZmlsZXN5c3RlbXMuXG4iCittc2dzdHIgIkVzdGFkbyBkbyBzaXN0ZW1hIGRlIGZpY2hlcmlzbz0lZFxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODQKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgdW5tb3VudCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODUKK21zZ2lkICIiCisiIC1BLCAtLWFsbC10YXJnZXRzICAgICAgIHVubW91bnQgYWxsIG1vdW50cG9pbnRzIGZvciB0aGUgZ2l2ZW4gZGV2aWNlIGluIHRoZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg3Cittc2dpZCAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OAorbXNnaWQgIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICBpZiBtb3VudGVkIGxvb3AgZGV2aWNlLCBhbHNvIGZyZWUgdGhpcyBsb29wIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OQorbXNnaWQgIiAgICAgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSB1bW91bnQoMikgc3lzY2FsbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MAorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBmb3JjZSB1bm1vdW50IChpbiBjYXNlIG9mIGFuIHVucmVhY2hhYmxlIE5GUyBzeXN0ZW0pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkxCittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIHVtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgZGV0YWNoIHRoZSBmaWxlc3lzdGVtIG5vdywgY2xlYW4gdXAgdGhpbmdzIGxhdGVyXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk0Cittc2dpZCAiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NQorbXNnaWQgIiAtUiwgLS1yZWN1cnNpdmUgICAgICAgICByZWN1cnNpdmVseSB1bm1vdW50IGEgdGFyZ2V0IHdpdGggYWxsIGl0cyBjaGlsZHJlblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgaW4gY2FzZSB1bm1vdW50aW5nIGZhaWxzLCB0cnkgdG8gcmVtb3VudCByZWFkLW9ubHlcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTcKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIgIHQgICAgICAgICAgQ2FtYmlhciBvIHRpcG8gZGUgc2lzdGVtYSBkZSBmaWNoZWlyb3MiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglcykgdW5tb3VudGVkIgorbXNnc3RyICIlcyBlc3TDoSBtb250YWRvLlx0ICIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5tb3VudGVkIgorbXNnc3RyICJOb24gc2UgZW5jb250cm91IG8gcGF0csOzbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVtb3VudCBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogbm9uIMOpIHVuIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZXNcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IHdyaXRlIHN1cGVyYmxvY2siCittc2dzdHIgIk5vbiDDqSBwb3PDrWJlbCBlc2NyaWJpciBvIHN1cGVyYmxvcXVlIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlczogdGFyZ2V0IGlzIGJ1c3lcbiIKKyIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0XG4iCisiICAgICAgICAgdXNlIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKS4pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudHBvaW50IG5vdCBmb3VuZCIKK21zZ3N0ciAiTm9uIHNlIGVuY29udHJvdSBvIHBhdHLDs24iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNTAKKyMsIGZ1enp5Cittc2dpZCAidW5kZWZpbmVkIG1vdW50cG9pbnQiCittc2dzdHIgImhleGR1bXA6IG5vbiDDqSBwb3PDrWJlbCBsZXIgJXMuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVubW91bnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmxvY2sgZGV2aWNlcyBhcmUgbm90IHBlcm1pdHRlZCBvbiBmaWxlc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozMDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCB1bW91bnQgdGFyZ2V0IgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzIzCisjLCBmdXp6eQorbXNnaWQgImxpYm1vdW50IHRhYmxlIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjM2NiBzeXMtdXRpbHMvdW1vdW50LmM6NDQ2Cittc2dpZCAibGlibW91bnQgaXRlcmF0b3IgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjM3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBjaGlsZCBmcyBvZiAlcyIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQxMCBzeXMtdXRpbHMvdW1vdW50LmM6NDMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIgorbXNnc3RyICJOb24gc2UgZW5jb250cm91IG8gcGF0csOzbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQ0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRldGVybWluZSBzb3VyY2UgKC0tYWxsLXRhcmdldHMgaXMgdW5zdXBwb3J0ZWQgb24gc3lzdGVtcyB3aXRoIHJlZ3VsYXIgbXRhYiBmaWxlKS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zZXRncm91cHMgYXJndW1lbnQgJyVzJyIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTEwIHN5cy11dGlscy91bnNoYXJlLmM6MTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQgJXMiCittc2dzdHIgIndyaXRlIGZhbG91OiAoJXMpIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJvcGFnYXRpb24gbW9kZTogJXMiCittc2dzdHIgIiVzIG5lY2VzaXRhIHVuIGFyZ3VtZW50b1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1NworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY2hhbmdlIHJvb3QgZmlsZXN5c3RlbSBwcm9wYWdhdGlvbiIKK21zZ3N0ciAiICAgdCAgIENhbWJpYSBvIGlkIGRvIHNpc3RlbWEgZGUgZmljaGVpcm9zIGRhIHBhcnRpY2nDs24iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCAlcyIKK21zZ3N0ciAiTm9uIHNlIHBvZGUgZWZlY3R1YXIgwqtzdGF0wrsgc29icmUgbyBkaXNwb3NpdGl2byAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTMKKyMsIGZ1enp5Cittc2dpZCAicGlwZSBmYWlsZWQiCittc2dzdHIgIm9wZW4gZmFsbG91OiAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGlwZSIKK21zZ3N0ciAiYXZpc286IGZvcm1hdG8gZGUgY3JhbWZzIGFudGlnb1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1MAorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBzb21lIG5hbWVzcGFjZXMgdW5zaGFyZWQgZnJvbSB0aGUgcGFyZW50LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUzCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU0CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU1CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU2CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OAorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgICAgdW5zaGFyZSBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjAKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmsgICAgICAgICAgICAgICAgZm9yayBiZWZvcmUgbGF1bmNoaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYxCittc2dpZCAiICAgICAtLW1vdW50LXByb2NbPTxkaXI+XSAgbW91bnQgcHJvYyBmaWxlc3lzdGVtIGZpcnN0IChpbXBsaWVzIC0tbW91bnQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjIKK21zZ2lkICIgLXIsIC0tbWFwLXJvb3QtdXNlciAgICAgICBtYXAgY3VycmVudCB1c2VyIHRvIHJvb3QgKGltcGxpZXMgLS11c2VyKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYzCittc2dpZCAiIgorIiAgICAgLS1wcm9wYWdhdGlvbiBzbGF2ZXxzaGFyZWR8cHJpdmF0ZXx1bmNoYW5nZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZnkgbW91bnQgcHJvcGFnYXRpb24gaW4gbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjUKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNldGdyb3VwcyBhbGxvd3xkZW55ICBjb250cm9sIHRoZSBzZXRncm91cHMgc3lzY2FsbCBpbiB1c2VyIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjM4NgorbXNnaWQgInVuc2hhcmUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDMwCisjLCBmdXp6eQorbXNnaWQgImNoaWxkIGV4aXQgZmFpbGVkIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIG5hIGJ1c2NhIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzNworbXNnaWQgIm9wdGlvbnMgLS1zZXRncm91cHM9YWxsb3cgYW5kIC0tbWFwLXJvb3QtdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3MworbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc0Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NQorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAiRmFuIGZhaWxlZCIKK21zZ3N0ciAiJXMgZmFsbG91LlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NworbXNnaWQgIktlZXAgYWxpdmUgcGluZyByZXBseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OAorbXNnaWQgIlN1cHBvcnRzIG1hZ2ljIGNsb3NlIGNoYXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzkKK21zZ2lkICJSZXNldCBkdWUgdG8gQ1BVIG92ZXJoZWF0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgwCittc2dpZCAiUG93ZXIgb3ZlciB2b2x0YWdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgxCittc2dpZCAiUG93ZXIgYmFkL3Bvd2VyIGZhdWx0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgyCittc2dpZCAiUHJldGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODMKK21zZ2lkICJTZXQgdGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODQKK21zZ2lkICJOb3QgdHJpZ2dlciByZWJvb3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAwCittc2dpZCAiZmxhZyBuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMQorIywgZnV6enkKK21zZ2lkICJmbGFnIGRlc2NyaXB0aW9uIgorbXNnc3RyICIgcmVtb3ZhYmxlIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDIKK21zZ2lkICJmbGFnIHN0YXR1cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBib290IHN0YXR1cyIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTA0Cittc2dpZCAid2F0Y2hkb2cgZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZsYWc6ICVzIgorbXNnc3RyICJPcmRlIGRlc2Nvw7FlY2lkYTogJXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE3NworbXNnaWQgIlNob3cgdGhlIHN0YXR1cyBvZiB0aGUgaGFyZHdhcmUgd2F0Y2hkb2cuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTgwCittc2dpZCAiIgorIiAtZiwgLS1mbGFncyA8bGlzdD4gICAgIHByaW50IHNlbGVjdGVkIGZsYWdzIG9ubHlcbiIKKyIgLUYsIC0tbm9mbGFncyAgICAgICAgICBkb24ndCBwcmludCBpbmZvcm1hdGlvbiBhYm91dCBmbGFnc1xuIgorIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIGlkZW50aXR5IGluZm9ybWF0aW9uXG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIGZsYWdzIHRhYmxlXG4iCisiIC1PLCAtLW9uZWxpbmUgICAgICAgICAgcHJpbnQgYWxsIGluZm9ybWF0aW9uIG9uIG9uZSBsaW5lXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgb3V0cHV0IGNvbHVtbnMgb2YgdGhlIGZsYWdzXG4iCisiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0IGZvciBmbGFncyB0YWJsZVxuIgorIiAtVCwgLS1ub3RpbWVvdXRzICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIHRpbWVvdXRzXG4iCisiIC1zLCAtLXNldHRpbWVvdXQgPHNlYz4gc2V0IHdhdGNoZG9nIHRpbWVvdXRcbiIKKyIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICBwcmludCBvbmx5IGZsYWdzIHRhYmxlIChzYW1lIGFzIC1JIC1UKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGVmYXVsdCBkZXZpY2UgaXMgJXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk5CisjLCBmdXp6eQorbXNnaWQgIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorbXNnc3RyICJPcmRlcyBkaXNwb8Oxw61iZWlzOlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZmxhZ3MgMHgleFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMxOSBzeXMtdXRpbHMvd2RjdGwuYzozNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhdGNoZG9nIGFscmVhZHkgaW4gdXNlLCB0ZXJtaW5hdGluZy4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzMzIHN5cy11dGlscy93ZGN0bC5jOjQwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkaXNhcm0gd2F0Y2hkb2ciCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0aW1lb3V0IGZvciAlcyIKK21zZ3N0ciAibm9uIHNlIHBvZGUgb2J0ZXIgbyB0YW1hw7FvIGRlICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kLlxuIgorbXNnaWRfcGx1cmFsICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmRzLlxuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB3YXRjaGRvZyIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY0IHN5cy11dGlscy93ZGN0bC5jOjQ2NyBzeXMtdXRpbHMvd2RjdGwuYzo0NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0xNHMgJTJpIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICIlLTE0cyAlMmkgc2Vjb25kc1xuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY1Cittc2dpZCAiVGltZW91dDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY4Cittc2dpZCAiUHJlLXRpbWVvdXQ6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ3MQorbXNnaWQgIlRpbWVsZWZ0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDUKKyMsIGZ1enp5Cittc2dpZCAiRGV2aWNlOiIKK21zZ3N0ciAiRGlzcG9zaXRpdm86ICVzXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNworbXNnaWQgIklkZW50aXR5OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDkKK21zZ2lkICJ2ZXJzaW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAienJhbSBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiIHJlbW92YWJsZSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NAorbXNnaWQgImxpbWl0IG9uIHRoZSB1bmNvbXByZXNzZWQgYW1vdW50IG9mIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NQorbXNnaWQgInVuY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzYKK21zZ2lkICJjb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NworbXNnaWQgInRoZSBzZWxlY3RlZCBjb21wcmVzc2lvbiBhbGdvcml0aG0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OAorbXNnaWQgIm51bWJlciBvZiBjb25jdXJyZW50IGNvbXByZXNzIG9wZXJhdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OQorIywgZnV6enkKK21zZ2lkICJlbXB0eSBwYWdlcyB3aXRoIG5vIGFsbG9jYXRlZCBtZW1vcnkiCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gYW8gcmVzZXJ2YXIgbyBiw7pmZXIgZGUgc2HDrWRhIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgwCittc2dpZCAiYWxsIG1lbW9yeSBpbmNsdWRpbmcgYWxsb2NhdG9yIGZyYWdtZW50YXRpb24gYW5kIG1ldGFkYXRhIG92ZXJoZWFkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODEKK21zZ2lkICJtZW1vcnkgbGltaXQgdXNlZCB0byBzdG9yZSBjb21wcmVzc2VkIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MgorbXNnaWQgIm1lbW9yeSB6cmFtIGhhdmUgYmVlbiBjb25zdW1lZCB0byBzdG9yZSBjb21wcmVzc2VkIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MworbXNnaWQgIm51bWJlciBvZiBvYmplY3RzIG1pZ3JhdGVkIGJ5IGNvbXBhY3Rpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzozNjMgc3lzLXV0aWxzL3pyYW1jdGwuYzozNzQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIG1tX3N0YXQiCittc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyIgJTEkcyAtciA8ZGV2aWNlPiBbLi4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxkZXZpY2U+IC1zIDxzaXplPlxuIgorbXNnc3RyICJVc286IG1rZnMgWy1WXSBbLXQgdGlwby1kZS1mc10gW29wY2lvbnMtZG8tZnNdIGRldmljZSBbdGFtYcOxb11cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MjcKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgenJhbSBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMwCittc2dpZCAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0ICAgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIHVzZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMxCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIGZpbmQgYSBmcmVlIGRldmljZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzQKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzNQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICB1c2UgcmF3IHN0YXR1cyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzYKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzcKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNpemUgPHNpemU+ICAgICAgICAgZGV2aWNlIHNpemVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzOAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tc3RyZWFtcyA8bnVtYmVyPiAgICBudW1iZXIgb2YgY29tcHJlc3Npb24gc3RyZWFtc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBhbGdvcml0aG06ICVzIgorbXNnc3RyICIlcyBuZWNlc2l0YSB1biBhcmd1bWVudG9cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2MjYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0cmVhbXMiCittc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NDgKK21zZ2lkICJvcHRpb24gLS1maW5kIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxkZXZpY2U+IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjU0Cittc2dpZCAib25seSBvbmUgPGRldmljZT4gYXQgYSB0aW1lIGlzIGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NTcKK21zZ2lkICJvcHRpb25zIC0tYWxnb3JpdGhtIGFuZCAtLXN0cmVhbXMgbXVzdCBiZSBjb21iaW5lZCB3aXRoIC0tc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY4NyBzeXMtdXRpbHMvenJhbWN0bC5jOjcxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZXNldCIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2OTggc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDYKK21zZ2lkICJubyBmcmVlIHpyYW0gZGV2aWNlIGZvdW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBudW1iZXIgb2Ygc3RyZWFtcyIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGFsZ29yaXRobSIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGRpc2tzaXplICglanUgYnl0ZXMpIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjQ1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzIChhdXRvbWF0aWMgbG9naW4pXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugcm9vdCBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugd29ya2luZyBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSBwcm9jZXNzIHByaW9yaXR5OiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgZXhlYyAlczogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1NTUgdGVybS11dGlscy9hZ2V0dHkuYzo4NDEgdGVybS11dGlscy9hZ2V0dHkuYzo4NTMKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODcwIHRlcm0tdXRpbHMvYWdldHR5LmM6MTQxNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MzMKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ2OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NzkgdGVybS11dGlscy9hZ2V0dHkuYzoxNTE2CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NzggdGVybS11dGlscy9hZ2V0dHkuYzoyNTIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5OiAlbSIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBhbyByZXNlcnZhciBvIGLDumZlciBkZSBzYcOtZGEiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NjgwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZGVsYXkgYXJndW1lbnQiCittc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3MTkKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtLWxvY2FsLWxpbmUiCittc2dzdHIgImRlc3ByYXphbWVudG8gZG9zIGRhdG9zIGRvIGZpY2hlaXJvIG5vbiB2w6FsaWRvIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjczOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG5pY2UgYXJndW1lbnQiCittc2dzdHIgImNvbnZlcnRlciBhIGhvcmEgcnRjIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3BlZWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODc3Cittc2dpZCAidG9vIG1hbnkgYWx0ZXJuYXRlIHNwZWVkcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMDYgdGVybS11dGlscy9hZ2V0dHkuYzoxMDEwIHRlcm0tdXRpbHMvYWdldHR5LmM6MTA2MworIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgb3BlbiBhcyBzdGFuZGFyZCBpbnB1dDogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIGNoYXJhY3RlciBkZXZpY2UiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSB0dHkiCittc2dzdHIgIm8gbm9kby1pIHJhw616IG5vbiDDqSB1biBjYXJ0YWZvbCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDM1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IGdldCBjb250cm9sbGluZyB0dHk6ICVtIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiB2aGFuZ3VwKCkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiJXM6IG5vbiBzZSBwb2RlIGFicmlyICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG9wZW4gZm9yIHJlYWQvd3JpdGUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBzZXQgcHJvY2VzcyBncm91cDogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkdXAgcHJvYmxlbTogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMzIxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXMgZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NTkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gb3MtcmVsZWFzZSBmaWxlIgorbXNnc3RyICJub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNjM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHJlbG9hZCBmaWxlOiAlczogJW0iCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTczNgorbXNnaWQgIltwcmVzcyBFTlRFUiB0byBsb2dpbl0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzYwCittc2dpZCAiTnVtIExvY2sgb2ZmIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2MworbXNnaWQgIk51bSBMb2NrIG9uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2NgorbXNnaWQgIkNhcHMgTG9jayBvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjkKK21zZ2lkICJTY3JvbGwgTG9jayBvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJIaW50OiAlc1xuIgorIlxuIgorbXNnc3RyICJ0aXBvOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQ6ICVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk1OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5wdXQgb3ZlcnJ1biIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NzQgdGVybS11dGlscy9hZ2V0dHkuYzoxOTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciBjb252ZXJzaW9uIGZvciBsb2dpbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgMHgleCBpbiBsb2dpbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEwOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxsaW5lPiBbPGJhdWRfcmF0ZT4sLi4uXSBbPHRlcm10eXBlPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGJhdWRfcmF0ZT4sLi4uIDxsaW5lPiBbPHRlcm10eXBlPl1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTMKK21zZ2lkICJPcGVuIGEgdGVybWluYWwgYW5kIHNldCBpdHMgbW9kZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTYKKyMsIGZ1enp5Cittc2dpZCAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIGFzc3VtZSA4LWJpdCB0dHlcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTcKK21zZ2lkICIgLWEsIC0tYXV0b2xvZ2luIDx1c2VyPiAgICAgbG9naW4gdGhlIHNwZWNpZmllZCB1c2VyIGF1dG9tYXRpY2FsbHlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTgKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGRvIG5vdCByZXNldCBjb250cm9sIG1vZGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTkKKyMsIGZ1enp5Cittc2dpZCAiIC1FLCAtLXJlbW90ZSAgICAgICAgICAgICAgIHVzZSAtciA8aG9zdG5hbWU+IGZvciBsb2dpbigxKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMAorbXNnaWQgIiAtZiwgLS1pc3N1ZS1maWxlIDxmaWxlPiAgICBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjEKK21zZ2lkICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgZW5hYmxlIGhhcmR3YXJlIGZsb3cgY29udHJvbFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMgorbXNnaWQgIiAtSCwgLS1ob3N0IDxob3N0bmFtZT4gICAgICBzcGVjaWZ5IGxvZ2luIGhvc3RcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjMKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGRvIG5vdCBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWkgYSB0w6Fib2EgZGUgcGFydGljacOzbnMgw6EgcGFudGFsbGEgb3UgYSB1biBmaWNoZWlybyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI0Cittc2dpZCAiIC1JLCAtLWluaXQtc3RyaW5nIDxzdHJpbmc+IHNldCBpbml0IHN0cmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNQorIywgZnV6enkKK21zZ2lkICIgLUogIC0tbm9jbGVhciAgICAgICAgICAgICAgZG8gbm90IGNsZWFyIHRoZSBzY3JlZW4gYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNgorbXNnaWQgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBzcGVjaWZ5IGxvZ2luIHByb2dyYW1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjcKK21zZ2lkICIgLUwsIC0tbG9jYWwtbGluZVs9PG1vZGU+XSAgY29udHJvbCB0aGUgbG9jYWwgbGluZSBmbGFnXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI4Cittc2dpZCAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI5Cittc2dpZCAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGRvIG5vdCBwcm9tcHQgZm9yIGxvZ2luXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMwCisjLCBmdXp6eQorbXNnaWQgIiAtTiAgLS1ub25ld2xpbmUgICAgICAgICAgICBkbyBub3QgcHJpbnQgYSBuZXdsaW5lIGJlZm9yZSBpc3N1ZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltaSBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyDDoSBwYW50YWxsYSBvdSBhIHVuIGZpY2hlaXJvIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzEKK21zZ2lkICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8b3B0cz4gb3B0aW9ucyB0aGF0IGFyZSBwYXNzZWQgdG8gbG9naW5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzIKK21zZ2lkICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMzCittc2dpZCAiIC1yLCAtLWNocm9vdCA8ZGlyPiAgICAgICAgIGNoYW5nZSByb290IHRvIHRoZSBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzQKK21zZ2lkICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgZG8gdmlydHVhbGx5IGhhbmd1cCBvbiB0aGUgdHR5XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM1Cittc2dpZCAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIHRyeSB0byBrZWVwIGJhdWQgcmF0ZSBhZnRlciBicmVha1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNgorbXNnaWQgIiAtdCwgLS10aW1lb3V0IDxudW1iZXI+ICAgICBsb2dpbiBwcm9jZXNzIHRpbWVvdXRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzcKK21zZ2lkICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgZGV0ZWN0IHVwcGVyY2FzZSB0ZXJtaW5hbFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzOAorbXNnaWQgIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICB3YWl0IGNhcnJpYWdlLXJldHVyblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzOQorbXNnaWQgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBkbyBub3QgcHJpbnQgaGludHNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgIG5vIGhvc3RuYW1lIGF0IGFsbCB3aWxsIGJlIHNob3duXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1pIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIMOhIHBhbnRhbGxhIG91IGEgdW4gZmljaGVpcm8iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MQorbXNnaWQgIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICBzaG93IGZ1bGwgcXVhbGlmaWVkIGhvc3RuYW1lXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQyCittc2dpZCAiICAgICAtLWVyYXNlLWNoYXJzIDxzdHJpbmc+IGFkZGl0aW9uYWwgYmFja3NwYWNlIGNoYXJzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQzCittc2dpZCAiICAgICAtLWtpbGwtY2hhcnMgPHN0cmluZz4gIGFkZGl0aW9uYWwga2lsbCBjaGFyc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NAorbXNnaWQgIiAgICAgLS1jaGRpciA8ZGlyZWN0b3J5PiAgICBjaGRpciBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ1Cittc2dpZCAiICAgICAtLWRlbGF5IDxudW1iZXI+ICAgICAgIHNsZWVwIHNlY29uZHMgYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NgorbXNnaWQgIiAgICAgLS1uaWNlIDxudW1iZXI+ICAgICAgICBydW4gbG9naW4gd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ3Cittc2dpZCAiICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgIHJlbG9hZCBwcm9tcHRzIG9uIHJ1bm5pbmcgYWdldHR5IGluc3RhbmNlc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0OAorIywgZnV6enkKK21zZ2lkICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDkKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcnNpb24gICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNDgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIHVzZXIiCittc2dpZF9wbHVyYWwgIiVkIHVzZXJzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaGVja25hbWUgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2hvd24gZmFsbG91OiAoJXMpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB0b3VjaCBmaWxlICVzIgorbXNnc3RyICJub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjI1Cittc2dpZCAiLS1yZWxvYWQgaXMgdW5zdXBwb3J0ZWQgb24geW91ciBzeXN0ZW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3kgfCBuXVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3OAorbXNnaWQgIkNvbnRyb2wgd3JpdGUgYWNjZXNzIG9mIG90aGVyIHVzZXJzIHRvIHlvdXIgdGVybWluYWwuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTI1CisjLCBmdXp6eQorbXNnaWQgInR0eW5hbWUgZmFpbGVkIgorbXNnc3RyICJ1dGltZSBmYWxsb3U6ICglcykiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNAorbXNnaWQgImlzIHkiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM3Cittc2dpZCAiaXMgbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNDggdGVybS11dGlscy9tZXNnLmM6MTU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2UgJXMgbW9kZSBmYWlsZWQiCittc2dzdHIgImEgZXhlY3VjacOzbiBkZSAlcyBmYWxsb3UuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNTAKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBhbGxvd2VkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1NworbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGRlbmllZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJkZXNwcmF6YW1lbnRvIGRvcyBkYXRvcyBkbyBmaWNoZWlybyBub24gdsOhbGlkbyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVdXG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTYyCittc2dpZCAiTWFrZSBhIHR5cGVzY3JpcHQgb2YgYSB0ZXJtaW5hbCBzZXNzaW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTY1Cittc2dpZCAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICBhcHBlbmQgdGhlIG91dHB1dFxuIgorIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiBydW4gY29tbWFuZCByYXRoZXIgdGhhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgorIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICByZXR1cm4gZXhpdCBjb2RlIG9mIHRoZSBjaGlsZCBwcm9jZXNzXG4iCisiIC1mLCAtLWZsdXNoICAgICAgICAgICAgIHJ1biBmbHVzaCBhZnRlciBlYWNoIHdyaXRlXG4iCisiICAgICAtLWZvcmNlICAgICAgICAgICAgIHVzZSBvdXRwdXQgZmlsZSBldmVuIHdoZW4gaXQgaXMgYSBsaW5rXG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIGJlIHF1aWV0XG4iCisiIC10LCAtLXRpbWluZ1s9PGZpbGU+XSAgIG91dHB1dCB0aW1pbmcgZGF0YSB0byBzdGRlcnIgKG9yIHRvIEZJTEUpXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm91dHB1dCBmaWxlIGAlcycgaXMgYSBsaW5rXG4iCisiVXNlIC0tZm9yY2UgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC5cbiIKKyJQcm9ncmFtIG5vdCBzdGFydGVkLiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgZG9uZSwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MjYyCittc2dpZCAiY2Fubm90IHdyaXRlIHNjcmlwdCBmaWxlIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNjcmlwdCBkb25lIG9uICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjA3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2MTQKKyMsIGZ1enp5Cittc2dpZCAib3BlbnB0eSBmYWlsZWQiCittc2dzdHIgIm9wZW4gZmFsbG91OiAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2NTIKK21zZ2lkICJvdXQgb2YgcHR5J3MiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo3NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLXRdIHRpbWluZ2ZpbGUgW3R5cGVzY3JpcHRdIFtkaXZpc29yXVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDcKK21zZ2lkICJQbGF5IGJhY2sgdGVybWluYWwgdHlwZXNjcmlwdHMsIHVzaW5nIHRpbWluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjUwCittc2dpZCAiIgorIiAtdCwgLS10aW1pbmcgPGZpbGU+ICAgICBzY3JpcHQgdGltaW5nIG91dHB1dCBmaWxlXG4iCisiIC1zLCAtLXR5cGVzY3JpcHQgPGZpbGU+IHNjcmlwdCB0ZXJtaW5hbCBzZXNzaW9uIG91dHB1dCBmaWxlXG4iCisiIC1kLCAtLWRpdmlzb3IgPG51bT4gICAgIHNwZWVkIHVwIG9yIHNsb3cgZG93biBleGVjdXRpb24gd2l0aCB0aW1lIGRpdmlzb3JcbiIKKyIgLW0sIC0tbWF4ZGVsYXkgPG51bT4gICAgd2FpdCBhdCBtb3N0IHRoaXMgbWFueSBzZWNvbmRzIGJldHdlZW4gdXBkYXRlc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTEyCittc2dpZCAid3JpdGUgdG8gc3Rkb3V0IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIG9uICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHR5cGVzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE4NAorIywgZnV6enkKK21zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJvIG7Dum1lcm8gZGUgYmxvcXVlcyDDqSBkZW1hc2lhZG8gcGVxdWVubyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGltaW5nIGZpbGUgJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltaW5nIGZpbGUgJXM6IGxpbmUgJWx1OiB1bmV4cGVjdGVkIGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXJndW1lbnQgZXJyb3I6IGJyaWdodCAlcyBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyOAorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSB0YWJzIgorbXNnc3RyICJkZW1hc2lhZGFzIHDDoXhpbmFzIGluY29ycmVjdGFzIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODMKK21zZ2lkICJTZXQgdGhlIGF0dHJpYnV0ZXMgb2YgYSB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODYKK21zZ2lkICIgLS10ZXJtICAgICAgICAgIDx0ZXJtaW5hbF9uYW1lPiAgIG92ZXJyaWRlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODcKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCB0byBwb3dlci1vbiBzdGF0ZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OAorIywgZnV6enkKK21zZ2lkICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5pdCBzdHJpbmcsIGFuZCB1c2UgZGVmYXVsdCBzZXR0aW5nc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OQorIywgZnV6enkKK21zZ2lkICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBkZWZhdWx0IHRlcm1pbmFsIHNldHRpbmdzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkwCittc2dpZCAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgdGVybWluYWwgc2V0dGluZ3MgYXMgZGVmYXVsdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MQorIywgZnV6enkKK21zZ2lkICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGRpc3BsYXkgY3Vyc29yXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkyCisjLCBmdXp6eQorbXNnaWQgIiAtLXJlcGVhdCAgICAgICAgW29ufG9mZl0gICAgICAgICAga2V5Ym9hcmQgcmVwZWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkzCittc2dpZCAiIC0tYXBwY3Vyc29ya2V5cyBbb258b2ZmXSAgICAgICAgICBjdXJzb3Iga2V5IGFwcGxpY2F0aW9uIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTQKK21zZ2lkICIgLS1saW5ld3JhcCAgICAgIFtvbnxvZmZdICAgICAgICAgIGNvbnRpbnVlIG9uIGEgbmV3IGxpbmUgd2hlbiBhIGxpbmUgaXMgZnVsbFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NQorbXNnaWQgIiAtLWludmVyc2VzY3JlZW4gW29ufG9mZl0gICAgICAgICAgc3dhcCBjb2xvcnMgZm9yIHRoZSB3aG9sZSBzY3JlZW5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTYKK21zZ2lkICIgLS1mb3JlZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBmb3JlZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk3Cittc2dpZCAiIC0tYmFja2dyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgYmFja2dyb3VuZCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OAorbXNnaWQgIiAtLXVsY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IHVuZGVybGluZWQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OQorbXNnaWQgIiAtLWhiY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IGJvbGQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMAorbXNnaWQgIiAgICAgICAgICAgICAgICAgPGNvbG9yPjogYmxhY2sgYmx1ZSBjeWFuIGdyZWVuIGdyZXkgbWFnZW50YSByZWQgd2hpdGUgeWVsbG93XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAxCisjLCBmdXp6eQorbXNnaWQgIiAtLWJvbGQgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYm9sZFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMgorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAzCittc2dpZCAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlua1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNAorIywgZnV6enkKK21zZ2lkICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHVuZGVybGluZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNQorbXNnaWQgIiAtLXJldmVyc2UgICAgICAgW29ufG9mZl0gICAgICAgICAgc3dhcCBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9yc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNgorIywgZnV6enkKK21zZ2lkICIgLS1jbGVhciAgICAgICAgIFthbGx8cmVzdF0gICAgICAgIGNsZWFyIHNjcmVlbiBhbmQgc2V0IGN1cnNvciBwb3NpdGlvblxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNworIywgZnV6enkKK21zZ2lkICIgLS10YWJzICAgICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIHNldCB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIHNob3cgdGhlbVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOAorIywgZnV6enkKK21zZ2lkICIgLS1jbHJ0YWJzICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIGNsZWFyIHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3IgYWxsXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA5CisjLCBmdXp6eQorbXNnaWQgIiAtLXJlZ3RhYnMgICAgICAgWzEtMTYwXSAgICAgICAgICAgc2V0IGEgcmVndWxhciB0YWIgc3RvcCBpbnRlcnZhbFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMAorbXNnaWQgIiAtLWJsYW5rICAgICAgICAgWzAtNjB8Zm9yY2V8cG9rZV0gc2V0IHRpbWUgb2YgaW5hY3Rpdml0eSBiZWZvcmUgc2NyZWVuIGJsYW5rc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMQorbXNnaWQgIiAtLWR1bXAgICAgICAgICAgWzxudW1iZXI+XSAgICAgICAgd3JpdGUgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEyCittc2dpZCAiIC0tYXBwZW5kICAgICAgICBbPG51bWJlcj5dICAgICAgICBhcHBlbmQgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEzCittc2dpZCAiIC0tZmlsZSAgICAgICAgICA8ZmlsZW5hbWU+ICAgICAgICBuYW1lIG9mIHRoZSBkdW1wIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBzZW5kIGtlcm5lbCBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE1CisjLCBmdXp6eQorbXNnaWQgIiAtLW1zZ2xldmVsICAgICAgMC04ICAgICAgICAgICAgICAga2VybmVsIGNvbnNvbGUgbG9nIGxldmVsXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE2Cittc2dpZCAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTcKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCB2ZXNhIHBvd2Vyc2F2aW5nIGZlYXR1cmVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE4Cittc2dpZCAiIC0tcG93ZXJkb3duICAgICBbMC02MF0gICAgICAgICAgICBzZXQgdmVzYSBwb3dlcmRvd24gaW50ZXJ2YWwgaW4gbWludXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxOQorbXNnaWQgIiAtLWJsZW5ndGggICAgICAgWzAtMjAwMF0gICAgICAgICAgZHVyYXRpb24gb2YgdGhlIGJlbGwgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIwCittc2dpZCAiIC0tYmZyZXEgICAgICAgICA8bnVtYmVyPiAgICAgICAgICBiZWxsIGZyZXF1ZW5jeSBpbiBIZXJ0elxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMQorIywgZnV6enkKK21zZ2lkICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIHNob3cgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMgorIywgZnV6enkKK21zZ2lkICIgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDMwCittc2dpZCAiZHVwbGljYXRlIHVzZSBvZiBhbiBvcHRpb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzM0CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmb3JjZSBibGFuayIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjczOQorbXNnaWQgImNhbm5vdCBmb3JjZSB1bmJsYW5rIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0NQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IGJsYW5rIHN0YXR1cyIKK21zZ3N0ciAiTm9uIHNlIHBvZGUgZWZlY3R1YXIgwqtzdGF0wrsgc29icmUgbyBkaXNwb3NpdGl2byAlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4gbm90IG9wZW4gZHVtcCBmaWxlICVzIGZvciBvdXRwdXQiCittc2dzdHIgIk5vbiDDqSBwb3PDrWJlbCBhYnJpciDCqyVzwrsgcGFyYSBsZWN0dXJhIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgJXMgZG9lcyBub3Qgc3VwcG9ydCAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo5ODgKK21zZ2lkICJjYW5ub3QgKHVuKXNldCBwb3dlcnNhdmUgbW9kZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDA3IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwMTYKKyMsIGZ1enp5Cittc2dpZCAia2xvZ2N0bCBlcnJvciIKK21zZ3N0ciAiRXJybyBpbnRlcm5vIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDM3Cittc2dpZCAiJFRFUk0gaXMgbm90IGRlZmluZWQuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDQKK21zZ2lkICJ0ZXJtaW5mbyBkYXRhYmFzZSBjYW5ub3QgYmUgZm91bmQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biB0ZXJtaW5hbCB0eXBlIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDgKK21zZ2lkICJ0ZXJtaW5hbCBpcyBoYXJkY29weSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdG9vIG1hbnkgaW92J3MiCittc2dzdHIgIkVycm8gaW50ZXJubyIKKworIzogdGVybS11dGlscy90dHltc2cuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICJleGNlc3NpdmVseSBsb25nIGxpbmUgYXJnIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVuIGZhaWxlZCIKK21zZ3N0ciAib3BlbiBmYWxsb3U6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZm9yazogJW0iCittc2dzdHIgIm5vbiBzZSBwb2RlIGJpZnVyY2FyXG4iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmb3JrIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCQUQgRVJST1IsIG1lc3NhZ2UgaXMgZmFyIHRvbyBsb25nIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gfCA8bWVzc2FnZT5dXG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg2Cittc2dpZCAiV3JpdGUgYSBtZXNzYWdlIHRvIGFsbCB1c2Vycy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4OQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAgZG8gbm90IHByaW50IGJhbm5lciwgd29ya3Mgb25seSBmb3Igcm9vdFxuIgorbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltaSBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyDDoSBwYW50YWxsYSBvdSBhIHVuIGZpY2hlaXJvIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5MAorbXNnaWQgIiAtdCwgLS10aW1lb3V0IDx0aW1lb3V0PiB3cml0ZSB0aW1lb3V0IGluIHNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMzIKK21zZ2lkICItLW5vYmFubmVyIGlzIGF2YWlsYWJsZSBvbmx5IGZvciByb290IgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEzNworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjI2OQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IHBhc3N3ZCB1aWQiCittc2dzdHIgIm5vbiBzZSBwb2RlIG9idGVyIG8gdGFtYcOxbyBkZSAlcyIKKworIzogdGVybS11dGlscy93YWxsLmM6Mjc0CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgdHR5IG5hbWUiCittc2dzdHIgIm5vbiBzZSBwb2RlIG9idGVyIG8gdGFtYcOxbyBkZSAlcyIKKworIzogdGVybS11dGlscy93YWxsLmM6Mjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXNAJXMgKCVzKSAoJXMpOiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgcmVhZCAlcyAtIHVzZSBzdGRpbi4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1c2VyPiBbPHR0eW5hbWU+XVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6OTAKK21zZ2lkICJTZW5kIGEgbWVzc2FnZSB0byBhbm90aGVyIHVzZXIuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICJlZmZlY3RpdmUgZ2lkIGRvZXMgbm90IG1hdGNoIGdyb3VwIG9mICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4iCittc2dzdHIgIiVzIGVzdMOhIG1vbnRhZG8uXHQgIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjA3Cittc2dpZCAiY2FuJ3QgZmluZCB5b3VyIHR0eSdzIG5hbWUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBsb2dnZWQgaW4gbW9yZSB0aGFuIG9uY2U7IHdyaXRpbmcgdG8gJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIzOAorIywgZnV6enkKK21zZ2lkICJjYXJlZnVscHV0YyBmYWlsZWQiCittc2dzdHIgIm1hbGxvYyBmYWxsb3UiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIChhcyAlcykgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozMzEKK21zZ2lkICJ5b3UgaGF2ZSB3cml0ZSBwZXJtaXNzaW9uIHR1cm5lZCBvZmYiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiBvbiAlcyIKK21zZ3N0ciAiJXMgZXN0w6EgbW9udGFkby5cdCAiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIG9uICVzIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM0Cittc2dpZCAiRmlsdGVyIG91dCByZXZlcnNlIGxpbmUgZmVlZHMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAgZG8gbm90IG91dHB1dCBiYWNrc3BhY2VzXG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAgcGVybWl0IGZvcndhcmQgaGFsZiBsaW5lIGZlZWRzXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAgcGFzcyB1bmtub3duIGNvbnRyb2wgc2VxdWVuY2VzXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgY29udmVydCBzcGFjZXMgdG8gdGFic1xuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIGNvbnZlcnQgdGFicyB0byBzcGFjZXNcbiIKKyIgLWwsIC0tbGluZXMgTlVNICAgICAgICBidWZmZXIgYXQgbGVhc3QgTlVNIGxpbmVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLUgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTQ4IHRleHQtdXRpbHMvY29scm0uYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXMgcmVhZHMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MjEyCittc2dpZCAiYmFkIC1sIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbid0IGJhY2sgdXAgJXMuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM3Cittc2dpZCAicGFzdCBmaXJzdCBsaW5lIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM3Cittc2dpZCAiLS0gbGluZSBhbHJlYWR5IGZsdXNoZWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4MSB0ZXh0LXV0aWxzL2NvbHVtbi5jOjExNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg0Cittc2dpZCAiRmlsdGVyIG5yb2ZmIG91dHB1dCBmb3IgQ1JUIHByZXZpZXdpbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NworbXNnaWQgIiAtLCAgLS1uby11bmRlcmxpbmluZyAgICBzdXBwcmVzcyBhbGwgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg4CisjLCBmdXp6eQorbXNnaWQgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBwcmludCBhbGwgaGFsZi1saW5lc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbc3RhcnRjb2wgW2VuZGNvbF1dXG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo2NAorbXNnaWQgIkZpbHRlciBvdXQgdGhlIHNwZWNpZmllZCBjb2x1bW5zLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiZmlyc3QgYXJndW1lbnQiCittc2dzdHIgIiVzIG5lY2VzaXRhIHVuIGFyZ3VtZW50b1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgInNlY29uZCBhcmd1bWVudCIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTIwCittc2dpZCAiQ29sdW1uYXRlIGxpc3RzLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTIzCittc2dpZCAiIC1jLCAtLWNvbHVtbnMgPHdpZHRoPiAgICB3aWR0aCBvZiBvdXRwdXQgaW4gbnVtYmVyIG9mIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyNAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgIGNyZWF0ZSBhIHRhYmxlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjUKK21zZ2lkICIgLXMsIC0tc2VwYXJhdG9yIDxzdHJpbmc+IHBvc3NpYmxlIHRhYmxlIGRlbGltaXRlcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyNgorbXNnaWQgIiIKKyIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8c3RyaW5nPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucyBzZXBhcmF0b3IgZm9yIHRhYmxlIG91dHB1dDsgZGVmYXVsdCBpcyB0d28gc3BhY2VzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjgKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICBmaWxsIHJvd3MgYmVmb3JlIGNvbHVtbnNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjE4MgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGNvbHVtbnMgYXJndW1lbnQiCittc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlZCBpcyB0b28gbG9uZywgb3V0cHV0IHdpbGwgYmUgdHJ1bmNhdGVkIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1NSB0ZXh0LXV0aWxzL21vcmUuYzoyMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+Li4uXG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1OAorbXNnaWQgIkRpc3BsYXkgZmlsZSBjb250ZW50cyBpbiBoZXhhZGVjaW1hbCwgZGVjaW1hbCwgb2N0YWwsIG9yIGFzY2lpLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MQorbXNnaWQgIiAtYiwgLS1vbmUtYnl0ZS1vY3RhbCAgICAgIG9uZS1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjIKK21zZ2lkICIgLWMsIC0tb25lLWJ5dGUtY2hhciAgICAgICBvbmUtYnl0ZSBjaGFyYWN0ZXIgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MworbXNnaWQgIiAtQywgLS1jYW5vbmljYWwgICAgICAgICAgIGNhbm9uaWNhbCBoZXgrQVNDSUkgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NAorbXNnaWQgIiAtZCwgLS10d28tYnl0ZXMtZGVjaW1hbCAgIHR3by1ieXRlIGRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NQorbXNnaWQgIiAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIHR3by1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjYKK21zZ2lkICIgLXgsIC0tdHdvLWJ5dGVzLWhleCAgICAgICB0d28tYnl0ZSBoZXhhZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY3Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08bW9kZT5dICAgICAgaW50ZXJwcmV0IGNvbG9yIGZvcm1hdHRpbmcgc3BlY2lmaWVyc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MAorbXNnaWQgIiAtZSwgLS1mb3JtYXQgPGZvcm1hdD4gICAgIGZvcm1hdCBzdHJpbmcgdG8gYmUgdXNlZCBmb3IgZGlzcGxheWluZyBkYXRhXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcxCittc2dpZCAiIC1mLCAtLWZvcm1hdC1maWxlIDxmaWxlPiAgZmlsZSB0aGF0IGNvbnRhaW5zIGZvcm1hdCBzdHJpbmdzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcyCittc2dpZCAiIC1uLCAtLWxlbmd0aCA8bGVuZ3RoPiAgICAgaW50ZXJwcmV0IG9ubHkgbGVuZ3RoIGJ5dGVzIG9mIGlucHV0XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTczCittc2dpZCAiIC1zLCAtLXNraXAgPG9mZnNldD4gICAgICAgc2tpcCBvZmZzZXQgYnl0ZXMgZnJvbSB0aGUgYmVnaW5uaW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTc0Cittc2dpZCAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgb3V0cHV0IGlkZW50aWNhbCBsaW5lc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1kaXNwbGF5LmM6MzY1CisjLCBmdXp6eQorbXNnaWQgImFsbCBpbnB1dCBmaWxlIGFyZ3VtZW50cyBmYWlsZWQiCittc2dzdHIgImFjdGl2YXIgYSBhbGFybWEgcnRjIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkIGJ5dGUgY291bnQgZm9yIGNvbnZlcnNpb24gY2hhcmFjdGVyICVzIgorbXNnc3RyICJoZXhkdW1wOiBjb252ZXJzacOzbiBkZSBjYXJhY3RlcmVzIGluY29ycmVjdGEgJSUlcy5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJSVzIHJlcXVpcmVzIGEgcHJlY2lzaW9uIG9yIGEgYnl0ZSBjb3VudCIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgZm9ybWF0IHslc30iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb252ZXJzaW9uIGNoYXJhY3RlciAlJSVzIgorbXNnc3RyICJoZXhkdW1wOiBjb252ZXJzacOzbiBkZSBjYXJhY3RlcmVzIGluY29ycmVjdGEgJSUlcy5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NDM2CisjLCBmdXp6eQorbXNnaWQgImJ5dGUgY291bnQgd2l0aCBtdWx0aXBsZSBjb252ZXJzaW9uIGNoYXJhY3RlcnMiCittc2dzdHIgImhleGR1bXA6IGNvbnZlcnNpw7NuIGRlIGNhcmFjdGVyZXMgaW5jb3JyZWN0YSAlJSVzLlxuIgorCisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozMworbXNnaWQgIlJlYWQgb25lIGxpbmUuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjI4Cittc2dpZCAiQSBmaWxlIHBlcnVzYWwgZmlsdGVyIGZvciBDUlQgdmlld2luZy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAiIC1kICAgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmdpbmcgYmVsbFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMgorbXNnaWQgIiAtZiAgICAgICAgICBjb3VudCBsb2dpY2FsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMworIywgZnV6enkKK21zZ2lkICIgLWwgICAgICAgICAgc3VwcHJlc3MgcGF1c2UgYWZ0ZXIgZm9ybSBmZWVkXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1pIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIMOhIHBhbnRhbGxhIG91IGEgdW4gZmljaGVpcm8iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNAorIywgZnV6enkKK21zZ2lkICIgLWMgICAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWkgYSB0w6Fib2EgZGUgcGFydGljacOzbnMgw6EgcGFudGFsbGEgb3UgYSB1biBmaWNoZWlybyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM1CisjLCBmdXp6eQorbXNnaWQgIiAtcCAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBjbGVhbiBzY3JlZW4gYW5kIGRpc3BsYXkgdGV4dFxuIgorbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltaSBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyDDoSBwYW50YWxsYSBvdSBhIHVuIGZpY2hlaXJvIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzYKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNworbXNnaWQgIiAtdSAgICAgICAgICBzdXBwcmVzcyB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOAorIywgZnV6enkKK21zZ2lkICIgLTxudW1iZXI+ICAgdGhlIG51bWJlciBvZiBsaW5lcyBwZXIgc2NyZWVuZnVsXG4iCittc2dzdHIgIkludHJvZHV6YSBvIG7Dum1lcm8gZGUgY2lsaW5kcm9zOiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM5Cittc2dpZCAiICs8bnVtYmVyPiAgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBsaW5lIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MAorbXNnaWQgIiArLzxzdHJpbmc+ICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gc2VhcmNoIHN0cmluZyBtYXRjaFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MQorIywgZnV6enkKK21zZ2lkICIgLVYgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NDg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbiAtJXMiCittc2dzdHIgIk9yZGUgZGVzY2/DsWVjaWRhOiAlcyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKiogJXM6IGRpcmVjdG9yeSAqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKiAlczogZGlyZWN0b3Jpb1x0ICoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKioqKioqICVzOiBOb3QgYSB0ZXh0IGZpbGUgKioqKioqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKiAlczogTm9uIMOpIHVuIGZpY2hlaXJvIGRlIHRleHRvICoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1VzZSBxIG9yIFEgdG8gcXVpdF0iCittc2dzdHIgIltVc2UgcSBvdSBRIHBhcmEgc2HDrXJdIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1Nb3JlLS0iCittc2dzdHIgIi0tTcOhaXMtLSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzI2CisjLCBjLWZvcm1hdAorbXNnaWQgIihOZXh0IGZpbGU6ICVzKSIKK21zZ3N0ciAiKFNlZ3VpbnRlIGZpY2hlaXJvOiAlcykiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjczNAorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3Mgc3BhY2UgdG8gY29udGludWUsICdxJyB0byBxdWl0Ll0iCittc2dzdHIgIltQcmVtYSBlc3BhY2lvIHBhcmEgY29udGludWFyLCDCq3HCuyBwYXJhIHNhw61yXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTE2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLi4uYmFjayAlZCBwYWdlIgorbXNnaWRfcGx1cmFsICIuLi5iYWNrICVkIHBhZ2VzIgorbXNnc3RyWzBdICIuLi5hdHLDoXMgJWQgcMOheGluYXMiCittc2dzdHJbMV0gIi4uLmF0csOhcyAlZCBww6F4aW5hcyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTIxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLi4uc2tpcHBpbmcgJWQgbGluZSIKK21zZ2lkX3BsdXJhbCAiLi4uc2tpcHBpbmcgJWQgbGluZXMiCittc2dzdHJbMF0gIi4uLm9taXRpbmRvICVkIGxpw7FhcyIKK21zZ3N0clsxXSAiLi4ub21pdGluZG8gJWQgbGnDsWFzIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjQ4Cittc2dpZCAiIgorIlxuIgorIioqKkJhY2sqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKkF0csOhcyoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjYzCisjLCBmdXp6eQorbXNnaWQgIk5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKK21zZ3N0ciAiTm9uIGhhaSB1biBmaWNoZWlybyBhbnRlcmlvciIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI5MworbXNnaWQgIiIKKyJcbiIKKyJNb3N0IGNvbW1hbmRzIG9wdGlvbmFsbHkgcHJlY2VkZWQgYnkgaW50ZWdlciBhcmd1bWVudCBrLiAgRGVmYXVsdHMgaW4gYnJhY2tldHMuXG4iCisiU3RhciAoKikgaW5kaWNhdGVzIGFyZ3VtZW50IGJlY29tZXMgbmV3IGRlZmF1bHQuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTMwMAorbXNnaWQgIiIKKyI8c3BhY2U+ICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXVxuIgorInogICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdKlxuIgorIjxyZXR1cm4+ICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgWzFdKlxuIgorImQgb3IgY3RybC1EICAgICAgICAgICAgIFNjcm9sbCBrIGxpbmVzIFtjdXJyZW50IHNjcm9sbCBzaXplLCBpbml0aWFsbHkgMTFdKlxuIgorInEgb3IgUSBvciA8aW50ZXJydXB0PiAgIEV4aXQgZnJvbSBtb3JlXG4iCisicyAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgbGluZXMgb2YgdGV4dCBbMV1cbiIKKyJmICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBzY3JlZW5mdWxzIG9mIHRleHQgWzFdXG4iCisiYiBvciBjdHJsLUIgICAgICAgICAgICAgU2tpcCBiYWNrd2FyZHMgayBzY3JlZW5mdWxzIG9mIHRleHQgWzFdXG4iCisiJyAgICAgICAgICAgICAgICAgICAgICAgR28gdG8gcGxhY2Ugd2hlcmUgcHJldmlvdXMgc2VhcmNoIHN0YXJ0ZWRcbiIKKyI9ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgbGluZSBudW1iZXJcbiIKKyIvPHJlZ3VsYXIgZXhwcmVzc2lvbj4gICBTZWFyY2ggZm9yIGt0aCBvY2N1cnJlbmNlIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbiBbMV1cbiIKKyJuICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggZm9yIGt0aCBvY2N1cnJlbmNlIG9mIGxhc3Qgci5lIFsxXVxuIgorIiE8Y21kPiBvciA6ITxjbWQ+ICAgICAgIEV4ZWN1dGUgPGNtZD4gaW4gYSBzdWJzaGVsbFxuIgorInYgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0IHVwIC91c3IvYmluL3ZpIGF0IGN1cnJlbnQgbGluZVxuIgorImN0cmwtTCAgICAgICAgICAgICAgICAgIFJlZHJhdyBzY3JlZW5cbiIKKyI6biAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggbmV4dCBmaWxlIFsxXVxuIgorIjpwICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBwcmV2aW91cyBmaWxlIFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBmaWxlIG5hbWUgYW5kIGxpbmUgbnVtYmVyXG4iCisiLiAgICAgICAgICAgICAgICAgICAgICAgUmVwZWF0IHByZXZpb3VzIGNvbW1hbmRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzczIHRleHQtdXRpbHMvbW9yZS5jOjEzNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzICdoJyBmb3IgaW5zdHJ1Y3Rpb25zLl0iCittc2dzdHIgIltQcmVtYSDCq2jCuyBwYXJhIGNvbnN1bHRhciBhcyBpbnN0cnVjacOzbnNdIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBsaW5lICVkIgorbXNnc3RyICLCqyVzwrsgbGnDsWEgJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiW05vdCBhIGZpbGVdIGxpbmUgJWQiCittc2dzdHIgIltOb24gw6kgdW4gZmljaGVpcm9dIGxpw7FhICVkIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDk0Cittc2dpZCAiICBPdmVyZmxvd1xuIgorbXNnc3RyICIgIERlc2JvcmRhbWVudG9cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU0MworbXNnaWQgIi4uLnNraXBwaW5nXG4iCittc2dzdHIgIi4uLm9taXRpbmRvXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1NzcKK21zZ2lkICIiCisiXG4iCisiUGF0dGVybiBub3QgZm91bmRcbiIKK21zZ3N0ciAiIgorIlxuIgorIk5vbiBzZSBlbmNvbnRyb3UgbyBwYXRyw7NuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1ODMgdGV4dC11dGlscy9wZy5jOjEwMjcgdGV4dC11dGlscy9wZy5jOjExNzMKK21zZ2lkICJQYXR0ZXJuIG5vdCBmb3VuZCIKK21zZ3N0ciAiTm9uIHNlIGVuY29udHJvdSBvIHBhdHLDs24iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2MjkKK21zZ2lkICJleGVjIGZhaWxlZFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NDMKK21zZ2lkICJjYW4ndCBmb3JrXG4iCittc2dzdHIgIm5vbiBzZSBwb2RlIGJpZnVyY2FyXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NzcKK21zZ2lkICIiCisiXG4iCisiLi4uU2tpcHBpbmcgIgorbXNnc3RyICIiCisiXG4iCisiLi4uU2FsdGFuZG8iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2ODEKK21zZ2lkICIuLi5Ta2lwcGluZyB0byBmaWxlICIKK21zZ3N0ciAiLi4uU2FsdGFuZG8gYW8gZmljaGVpcm8gIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjgzCittc2dpZCAiLi4uU2tpcHBpbmcgYmFjayB0byBmaWxlICIKK21zZ3N0ciAiLi4uUmV0cm9jZWRlbmRvIGFvIGZpY2hlaXJvICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTk3MworbXNnaWQgIkxpbmUgdG9vIGxvbmciCittc2dzdHIgIkEgbGnDsWEgw6kgZGVtYXNpYWRvIGxvbmdhIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMDEwCittc2dpZCAiTm8gcHJldmlvdXMgY29tbWFuZCB0byBzdWJzdGl0dXRlIGZvciIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTQ0Cittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyIgIGggICAgICAgICAgICAgICAgICAgICAgIHRoaXMgc2NyZWVuXG4iCisiICBxIG9yIFEgICAgICAgICAgICAgICAgICBxdWl0IHByb2dyYW1cbiIKKyIgIDxuZXdsaW5lPiAgICAgICAgICAgICAgIG5leHQgcGFnZVxuIgorIiAgZiAgICAgICAgICAgICAgICAgICAgICAgc2tpcCBhIHBhZ2UgZm9yd2FyZFxuIgorIiAgZCBvciBeRCAgICAgICAgICAgICAgICAgbmV4dCBoYWxmcGFnZVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgbmV4dCBsaW5lXG4iCisiICAkICAgICAgICAgICAgICAgICAgICAgICBsYXN0IHBhZ2VcbiIKKyIgIC9yZWdleC8gICAgICAgICAgICAgICAgIHNlYXJjaCBmb3J3YXJkIGZvciByZWdleFxuIgorIiAgP3JlZ2V4PyBvciBecmVnZXheICAgICAgc2VhcmNoIGJhY2t3YXJkIGZvciByZWdleFxuIgorIiAgLiBvciBeTCAgICAgICAgICAgICAgICAgcmVkcmF3IHNjcmVlblxuIgorIiAgdyBvciB6ICAgICAgICAgICAgICAgICAgc2V0IHBhZ2Ugc2l6ZSBhbmQgZ28gdG8gbmV4dCBwYWdlXG4iCisiICBzIGZpbGVuYW1lICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgZmlsZSB0byBmaWxlbmFtZVxuIgorIiAgIWNvbW1hbmQgICAgICAgICAgICAgICAgc2hlbGwgZXNjYXBlXG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBwcmV2aW91cyBmaWxlXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBuZXh0IGZpbGVcbiIKKyJcbiIKKyJNYW55IGNvbW1hbmRzIGFjY2VwdCBwcmVjZWRpbmcgbnVtYmVycywgZm9yIGV4YW1wbGU6XG4iCisiKzE8bmV3bGluZT4gKG5leHQgcGFnZSk7IC0xPG5ld2xpbmU+IChwcmV2aW91cyBwYWdlKTsgMTxuZXdsaW5lPiAoZmlyc3QgcGFnZSkuXG4iCisiXG4iCisiU2VlIHBnKDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFsrbGluZV0gWysvcGF0dGVybi9dIFtmaWxlc11cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyNgorbXNnaWQgIkJyb3dzZSBwYWdld2lzZSB0aHJvdWdoIHRleHQgZmlsZXMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyOQorbXNnaWQgIiAtbnVtYmVyICAgICAgbGluZXMgcGVyIHBhZ2VcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMwCittc2dpZCAiIC1jICAgICAgICAgICBjbGVhciBzY3JlZW4gYmVmb3JlIGRpc3BsYXlpbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMxCisjLCBmdXp6eQorbXNnaWQgIiAtZSAgICAgICAgICAgZG8gbm90IHBhdXNlIGF0IGVuZCBvZiBhIGZpbGVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWkgYSB0w6Fib2EgZGUgcGFydGljacOzbnMgw6EgcGFudGFsbGEgb3UgYSB1biBmaWNoZWlybyIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMgorbXNnaWQgIiAtZiAgICAgICAgICAgZG8gbm90IHNwbGl0IGxvbmcgbGluZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMzCittc2dpZCAiIC1uICAgICAgICAgICB0ZXJtaW5hdGUgY29tbWFuZCB3aXRoIG5ldyBsaW5lXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNAorbXNnaWQgIiAtcCA8cHJvbXB0PiAgc3BlY2lmeSBwcm9tcHRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM1Cittc2dpZCAiIC1yICAgICAgICAgICBkaXNhbGxvdyBzaGVsbCBlc2NhcGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM2Cittc2dpZCAiIC1zICAgICAgICAgICBwcmludCBtZXNzYWdlcyB0byBzdGRvdXRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM3Cittc2dpZCAiICtudW1iZXIgICAgICBzdGFydCBhdCB0aGUgZ2l2ZW4gbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzgKK21zZ2lkICIgKy9wYXR0ZXJuLyAgIHN0YXJ0IGF0IHRoZSBsaW5lIGNvbnRhaW5pbmcgcGF0dGVyblxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAlcyIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgb3B0aW9uIC0tICVzIgorbXNnc3RyICIlczogb3BjacOzbiBpbGVnYWwgLS0gJXNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM1OQorbXNnaWQgIi4uLnNraXBwaW5nIGZvcndhcmRcbiIKK21zZ3N0ciAiLi4ub21pdGluZG8gY2FyYSBhZGlhbnRlXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjEKK21zZ2lkICIuLi5za2lwcGluZyBiYWNrd2FyZFxuIgorbXNnc3RyICIuLi5vbWl0aW5kbyBjYXJhIGF0csOhc1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzc3Cittc2dpZCAiTm8gbmV4dCBmaWxlIgorbXNnc3RyICJOb24gaGFpIHVuIHNlZ3VpbnRlIGZpY2hlaXJvIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzgxCittc2dpZCAiTm8gcHJldmlvdXMgZmlsZSIKK21zZ3N0ciAiTm9uIGhhaSB1biBmaWNoZWlybyBhbnRlcmlvciIKKworIzogdGV4dC11dGlscy9wZy5jOjg4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvciBmcm9tICVzIGZpbGUiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gbGVyOiAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIEVPRiBpbiAlcyBmaWxlIgorbXNnc3RyICJhIGV4ZWN1Y2nDs24gZGUgJXMgZmFsbG91LiIKKworIzogdGV4dC11dGlscy9wZy5jOjg4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBlcnJvciBpbiAlcyBmaWxlIgorbXNnc3RyICJPcmRlIGRlc2Nvw7FlY2lkYTogJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NDEKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiTm9uIHNlIHBvZGUgZWZlY3R1YXIgwqtzdGF0wrsgc29icmUgbyBkaXNwb3NpdGl2byAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjk1MCB0ZXh0LXV0aWxzL3BnLmM6MTExNCB0ZXh0LXV0aWxzL3BnLmM6MTE0MAorbXNnaWQgIlJFIGVycm9yOiAiCittc2dzdHIgIkVycm8gZGUgUkU6ICIKKworIzogdGV4dC11dGlscy9wZy5jOjEwOTcKK21zZ2lkICIoRU9GKSIKK21zZ3N0ciAiKEVPRikiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTIyIHRleHQtdXRpbHMvcGcuYzoxMTQ4Cittc2dpZCAiTm8gcmVtZW1iZXJlZCBzZWFyY2ggc3RyaW5nIgorbXNnc3RyICJDYWRlYSBkZSBidXNjYSBub24gbGVtYnJhZGEiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjAzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuICIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjU1Cittc2dpZCAic2F2ZWQiCittc2dzdHIgImdhcmRhZG8iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzQ1Cittc2dpZCAiOiAhY29tbWFuZCBub3QgYWxsb3dlZCBpbiByZmxhZyBtb2RlLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzgwCittc2dpZCAiZm9yaygpIGZhaWxlZCwgdHJ5IGFnYWluIGxhdGVyXG4iCittc2dzdHIgImZvcmsoKSBmYWxsb3UsIHTDqW50ZW8gbcOhaXMgdGFyZGVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjE0NjgKK21zZ2lkICIoTmV4dCBmaWxlOiAiCittc2dzdHIgIihTZWd1aW50ZSBmaWNoZWlybzogIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTUzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlcyBDb3B5cmlnaHQgKGMpIDIwMDAtMjAwMSBHdW5uYXIgUml0dGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTg3IHRleHQtdXRpbHMvcGcuYzoxNjYwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMgcGVyIHBhZ2UiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjgwCittc2dpZCAiUmV2ZXJzZSBsaW5lcyBjaGFyYWN0ZXJ3aXNlLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5jb21wbGV0ZSB3cml0ZSB0byBcIiVzXCIgKHdyaXR0ZW4gJXpkLCBleHBlY3RlZCAlemQpXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoIChsaW1pdCBvZiBpbm90aWZ5IHdhdGNoZXMgd2FzIHJlYWNoZWQpLiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbl0gPGZpbGU+XG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMDAKK21zZ2lkICJGb2xsb3cgdGhlIGdyb3d0aCBvZiBhIGxvZyBmaWxlLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLWxpbmVzIDxudW1iZXI+ICAgb3V0cHV0IHRoZSBsYXN0IDxudW1iZXI+IGxpbmVzXG4iCittc2dzdHIgIkludHJvZHV6YSBvIG7Dum1lcm8gZGUgY2lsaW5kcm9zOiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwNAorIywgZnV6enkKK21zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgICBzYW1lIGFzICctbiA8bnVtYmVyPidcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjEwCittc2dpZCAiV2FybmluZzogdXNlIG9mICd0YWlsZicgaXMgZGVwcmVjYXRlZCwgdXNlICd0YWlsIC1mJyBpbnN0ZWFkLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMjMgdGV4dC11dGlscy90YWlsZi5jOjI2MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGxpbmVzIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6Mjc1Cittc2dpZCAibm8gaW5wdXQgZmlsZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjI4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBhIGZpbGUiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gLi4uXVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTM5Cittc2dpZCAiRG8gdW5kZXJsaW5pbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjE0MgorbXNnaWQgIiAtdCwgLVQsIC0tdGVybWluYWwgVEVSTUlOQUwgIG92ZXJyaWRlIHRoZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjE0MworbXNnaWQgIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICAgIHVuZGVybGluaW5nIGlzIGluZGljYXRlZCB2aWEgYSBzZXBhcmF0ZSBsaW5lXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjIwNAorbXNnaWQgInRyb3VibGUgcmVhZGluZyB0ZXJtaW5mbyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsIGAlcycgaXMgbm90IGtub3duLCBkZWZhdWx0aW5nIHRvIGBkdW1iJyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6Mjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGVzY2FwZSBzZXF1ZW5jZSBpbiBpbnB1dDogJW8sICVvIgorbXNnc3RyICJTZWN1ZW5jaWEgZGUgZXNjYXBlIGRlc2Nvw7FlY2lkYSBuYSBlbnRyYWRhOiAlbywgJW9cbiIKKworIzogdGV4dC11dGlscy91bC5jOjYyNAorIywgZnV6enkKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAiQSBsacOxYSBkZSBlbnRyYWRhIMOpIGRlbWFzaWFkbyBsb25nYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzZWNjb21wIGNvbnRleHQiCisjfiBtc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBhZGQgc2VjY29tcCBydWxlIgorI34gbXNnc3RyICJhdmlzbzogZm9ybWF0byBkZSBjcmFtZnMgYW50aWdvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGxvYWQgc2VjY29tcCBydWxlIgorI34gbXNnc3RyICJhdmlzbzogZm9ybWF0byBkZSBjcmFtZnMgYW50aWdvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmlsZXN5c3RlbSBsYWJlbDoiCisjfiBtc2dzdHIgIkVzdGFkbyBkbyBzaXN0ZW1hIGRlIGZpY2hlcmlzbz0lZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBzZXQgUEFUSCIKKyN+IG1zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJhcmd1bWVudCBlcnJvcjogJXMiCisjfiBtc2dzdHIgIkVycm8gaW50ZXJubyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0dHkgcGF0aCAlcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiQSBsacOxYSBkZSBlbnRyYWRhIMOpIGRlbWFzaWFkbyBsb25nYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCIKKyN+IG1zZ3N0ciAiZXJybyBkZSBhbsOhbGlzZSBuYSBsacOxYTogIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvcjogaWdub3JlIGVudHJ5IGF0IGxpbmUgJWQuIgorI34gbXNnc3RyICJlcnJvIGRlIGFuw6FsaXNlIG5hIGxpw7FhOiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG5vdCBzZXR1cCB0aW1lciIKKyN+IG1zZ3N0ciAibm9uIHNlIHBvZGUgb2J0ZXIgbyB0YW1hw7FvIGRlICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBhY2Nlc3MgZmlsZSAlcyIKKyN+IG1zZ3N0ciAiTm9uIHNlIHBvZGUgZWZlY3R1YXIgwqtzdGF0wrsgc29icmUgbyBkaXNwb3NpdGl2byAlcyIKKworI34gbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIHNwZWNpYWwgZGV2aWNlIgorI34gbXNnc3RyICIlcyBub24gw6kgdW4gZGlzcG9zaXRpdm8gZGUgYmxvcXVlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGdldCBkZXZpY2UgcGF0aCIKKyN+IG1zZ3N0ciAiJXMgZmFsbG91LiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGdldCBkbSBuYW1lIgorI34gbXNnc3RyICIlcyBmYWxsb3UuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorI34gbXNnc3RyICJub24gw6kgcG9zw61iZWwgcmVzZXJ2ZXIgbyBiw7pmZXIgcGFyYSBvIHN1cGVyYmxvcXVlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVycyBmb3IgbWFwcyIKKyN+IG1zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIHJlc2VydmFyIG8gYsO6ZmVyIHBhcmEgbyBtYXBhIGRlIHpvbmFzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCisjfiBtc2dzdHIgIk5vbiDDqSBwb3PDrWJlbCByZXNlcnZhciBvIGLDumZlciBwYXJhIG9zIG5vZG9zLWkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTnVtYmVyIG9mIFNlbWFwaG9yZSBJRHMiCisjfiBtc2dzdHIgIm8gbsO6bWVybyBkZSBibG9xdWVzIMOpIGRlbWFzaWFkbyBwZXF1ZW5vIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLWMgfCAtbCBmaWxlbmFtZV0gWy1uWFhdIFstaVhYXSAvZGV2L25hbWUgW2Jsb2Nrc10iCisjfiBtc2dzdHIgIlVzbzogJXMgWy1jXSBbLXBQQUdFU1pdIFstTCBldGlxdWV0YV0gWy1VIFVVSURdIC9kZXYvbm9tZSBbYmxvcXVlc11cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogYmFkIGlub2RlIHNpemUiCisjfiBtc2dzdHIgInRhbWHDsW8gZGUgbm9kby1pIGluY29ycmVjdG8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHlwZTogJWQiCisjfiBtc2dzdHIgInRpcG86ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZGlzazogJS4qcyIKKyN+IG1zZ3N0ciAiZGlzY286ICUuKnNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsYWJlbDogJS4qcyIKKyN+IG1zZ3N0ciAiZXRpcXVldGE6ICUuKnNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmbGFnczogJXMiCisjfiBtc2dzdHIgIm9wY2nDs25zOiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJieXRlcy9zZWN0b3I6ICVsZCIKKyN+IG1zZ3N0ciAiYnl0ZXMgcG9yIHNlY3RvcjogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VjdG9ycy90cmFjazogJWxkIgorI34gbXNnc3RyICJzZWN0b3JlcyBwb3IgcGlzdGE6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyYWNrcy9jeWxpbmRlcjogJWxkIgorI34gbXNnc3RyICJwaXN0YXMgcG9yIGNpbGluZHJvOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWN0b3JzL2N5bGluZGVyOiAlbGQiCisjfiBtc2dzdHIgInNlY3RvcmVzIHBvciBjaWxpbmRybzogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3lsaW5kZXJzOiAlbGQiCisjfiBtc2dzdHIgImNpbGluZHJvczogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicnBtOiAlZCIKKyN+IG1zZ3N0ciAici5wLm0uOiAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludGVybGVhdmU6ICVkIgorI34gbXNnc3RyICJpbnRlcmxlYXZlOiAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyYWNrc2tldzogJWQiCisjfiBtc2dzdHIgInRyYWNrc2tldzogJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjeWxpbmRlcnNrZXc6ICVkIgorI34gbXNnc3RyICJjeWxpbmRlcnNrZXc6ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaGVhZHN3aXRjaDogJWxkIChtaWxsaXNlY29uZHMpIgorI34gbXNnc3RyICJjYW1iaW8gZGUgY2FiZXphOiAlbGRcdFx0IyBtaWxpc2VndW5kb3NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmFjay10by10cmFjayBzZWVrOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgImJ1c2NhIGRlIHBpc3RhLWEtcGlzdGE6ICVsZFx0IyBtaWxpc2VndW5kb3NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzeXNpbmZvIGZhaWxlZCIKKyN+IG1zZ3N0ciAic3ltbGluayBmYWxsb3U6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBtbWFwIGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZ2V0aG9zdG5hbWUgZmFpbGVkIgorI34gbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIG5hIGJ1c2NhIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNldCBydGMgYWxhcm0gZmFpbGVkIgorI34gbXNnc3RyICJlc3RhYmVsZWNlciBhIGFsYXJtYSBydGMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZW5hYmxlIHJ0YyBhbGFybSBmYWlsZWQiCisjfiBtc2dzdHIgImFjdGl2YXIgYSBhbGFybWEgcnRjIgorCisjLCBmdXp6eQorI34gbXNnaWQgImJhZCB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmFsb3IgZGUgY2FiZXphcyBpbGVnYWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1tLCAtLW1vdW50ICAgICAgICAgICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXUsIC0tdXRzICAgICAgICAgICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaSwgLS1pcGMgICAgICAgICAgICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1uLCAtLW5ldCAgICAgICAgICAgICAgICAgdW5zaGFyZSBuZXR3b3JrIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVUsIC0tdXNlciAgICAgICAgICAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJW0iCisjfiBtc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZyZWFkIGZhaWxlZCIKKyN+IG1zZ3N0ciAicmVhZCBmYWxsb3U6ICVzIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGBubyciCisjfiBtc2dzdHIgIiAgICAgICAgICAgICDCq25vbsK7IgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRvbyBzbWFsbCBwYXJ0aXRpb24gc2l6ZSBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdGF0IGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAic3RhdCBmYWxsb3U6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorI34gbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIGFvIHJlc2VydmFyIG8gYsO6ZmVyIGRlIHNhw61kYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbjogJXMiCisjfiBtc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBsZWFzZSwgc2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgZGlzayBsYWJlbC4iCisjfiBtc2dzdHIgIkRlc2V4YSBjcmVhciB1bmhhIGV0aXF1ZXRhIGRlIGRpc2NvPyAoeS9uKSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZmlsZVxuIgorI34gbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjfiBtc2dpZCAiJXMgKCVzKVxuIgorI34gbXNnc3RyICIlcyAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyAtIGNhbm5vdCBzZWVrIHRvICVsdSIKKyN+IG1zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBidXNjYXI6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHNlY3RvciBzYXZlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZXJyb3Igb24gJXMiCisjfiBtc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gbGVyOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzdGF0IHBhcnRpdGlvbiByZXN0b3JlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAiTm9uIHNlIHBvZGUgZWZlY3R1YXIgwqtzdGF0wrsgc29icmUgbyBkaXNwb3NpdGl2byAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcykiCisjfiBtc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHJlYWRpbmcgJXMiCisjfiBtc2dzdHIgImVycm86IG5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuIGRldmljZSAlcyBmb3Igd3JpdGluZyIKKyN+IG1zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGFicmlyIMKrJXPCuyBwYXJhIGxlY3R1cmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3Igd3JpdGluZyBzZWN0b3IgJWx1IG9uICVzIgorI34gbXNnc3RyICJlcnJvOiBub24gc2UgcG9kZSBhYnJpciAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJEaXNrICVzOiBjYW5ub3QgZ2V0IGdlb21ldHJ5IgorI34gbXNnc3RyICJGZWl0byBzZW4gY2FtYmlhciBhIHhlb21ldHLDrWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBzaXplIgorI34gbXNnc3RyICJub24gc2UgcG9kZSBvYnRlciBvIHRhbWHDsW8gZGUgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXJyb3IgY2xvc2luZyAlcyIKKyN+IG1zZ3N0ciAiZXJybzogbm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGZvcm1hdCAtIHVzaW5nIHNlY3RvcnMiCisjfiBtc2dzdHIgIk9yZGUgZGVzY2/DsWVjaWRhOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJubyBwYXJ0aXRpb24gdGFibGUgcHJlc2VudC4iCisjfiBtc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBidXQgaXMgbm90IG1hcmtlZCBFbXB0eSIKKyN+IG1zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGFuZCBpcyBib290YWJsZSIKKyN+IG1zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGFuZCBub256ZXJvIHN0YXJ0IgorI34gbXNnc3RyICJBdmlzbzogYSBjb250YSBkZSBub2Rvcy1pIMOpIGRlbWFzaWFkbyBncmFuZGUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGlzIG5vdCBjb250YWluZWQgaW4gcGFydGl0aW9uICVzIgorI34gbXNnc3RyICJBdmlzbzogYSBjb250YSBkZSBub2Rvcy1pIMOpIGRlbWFzaWFkbyBncmFuZGUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9ucyAlcyBhbmQgJXMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yIDAiCisjfiBtc2dzdHIgIkF2aXNvOiBhIGNvbnRhIGRlIG5vZG9zLWkgw6kgZGVtYXNpYWRvIGdyYW5kZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZXh0ZW5kcyBwYXN0IGVuZCBvZiBkaXNrIgorI34gbXNnc3RyICJhdmlzbzogbyBmaWNoZWlybyBwYXNhIGRvIGZpbmFsIGRvIHNpc3RlbWEgZGUgZmljaGVpcm9zXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGRvZXMgbm90IHN0YXJ0IGF0IGEgY3lsaW5kZXIgYm91bmRhcnkiCisjfiBtc2dzdHIgIkF2aXNvOiBhIGNvbnRhIGRlIG5vZG9zLWkgw6kgZGVtYXNpYWRvIGdyYW5kZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZG9lcyBub3QgZW5kIGF0IGEgY3lsaW5kZXIgYm91bmRhcnkiCisjfiBtc2dzdHIgIkF2aXNvOiBhIGNvbnRhIGRlIG5vZG9zLWkgw6kgZGVtYXNpYWRvIGdyYW5kZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmVlIG9mIHBhcnRpdGlvbnM/IgorI34gbXNnc3RyICJOb24gaGFpIG3DoWlzIHBhcnRpY2nDs25zIgorCisjLCBmdXp6eQorI34gbXNnaWQgInN0cmFuZ2UuLi4sIGFuIGV4dGVuZGVkIHBhcnRpdGlvbiBvZiBzaXplIDA/IgorI34gbXNnc3RyICJOb24gaGFpIG3DoWlzIHBhcnRpY2nDs25zIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB3cml0aW5nIHRoZSBwYXJ0aXRpb24gb24gJXMiCisjfiBtc2dzdHIgIiVzIGZhbGxvdS4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibm8gcm9vbSBmb3IgcGFydGl0aW9uIGRlc2NyaXB0b3IiCisjfiBtc2dzdHIgIk5vbiBoYWkgbcOhaXMgcGFydGljacOzbnMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGJ1aWxkIHN1cnJvdW5kaW5nIGV4dGVuZGVkIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiTm9uIGhhaSBtw6FpcyBwYXJ0aWNpw7NucyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0b28gbWFueSBpbnB1dCBmaWVsZHMiCisjfiBtc2dzdHIgImRlbWFzaWFkYXMgcMOheGluYXMgaW5jb3JyZWN0YXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSWxsZWdhbCB0eXBlIgorI34gbXNnc3RyICJWYWxvciBkZSBjYWJlemFzIGlsZWdhbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIk5vbiDDqSBwb3PDrWJlbCBlbGltaW5hciB1bmhhIHBhcnRpY2nDs24gYmFsZWlyYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBiYWQgcGFydGl0aW9uIHN0YXJ0IChlYXJsaWVzdCAlbGx1KSIKKyN+IG1zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRvbyBtYW55IHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIk5vbiBoYWkgbcOhaXMgcGFydGljacOzbnMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8ZGV2aWNlPi4uLlxuIgorI34gbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEYW5nZXJvdXMgb3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMlc2RldmljZSAgICAgICAgICAgIGxpc3QgYWN0aXZlIHBhcnRpdGlvbnMgb24gZGV2aWNlXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiBwYXJ0aXRpb25zIGFyZ3VtZW50IgorI34gbXNnc3RyICJuw7ptZXJvIGRlIGxpw7FhcyBub24gdsOhbGlkbyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0tcHJpbnQtaWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIiCisjfiBtc2dzdHIgIiVzIGZhbGxvdS4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgcmVhZC13cml0ZSIKKyN+IG1zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGFicmlyIMKrJXPCuyBwYXJhIGxlY3R1cmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgZm9yIHJlYWRpbmciCisjfiBtc2dzdHIgIk5vbiDDqSBwb3PDrWJlbCBhYnJpciDCqyVzwrsgcGFyYSBsZWN0dXJhIgorCisjfiBtc2dpZCAiRG9uZSIKKyN+IG1zZ3N0ciAiRmVpdG8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UuIgorI34gbXNnc3RyICJFc3RhIHBhcnRpY2nDs24geGEgZXN0w6EgZW4gdXNvIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhdGFsIGVycm9yOiBjYW5ub3QgZmluZCAlcyIKKyN+IG1zZ3N0ciAiZXJybzogbm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICIlczogbm9uIMOpIHVuIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmaWVsZCBpcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiQSBsacOxYSDDqSBkZW1hc2lhZG8gbG9uZ2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6ICclYycgaXMgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIiVzIGVzdMOhIG1vbnRhZG8uXHQgIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiclYycgaXMgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIiVzIGVzdMOhIG1vbnRhZG8uXHQgIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNyeXB0KCkgZmFpbGVkIgorI34gbXNnc3RyICJtYWxsb2MgZmFsbG91IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gcGF0aG5hbWUgW3BhdGhuYW1lIC4uLl1cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogaXMgcmVtb3ZhYmxlIGRldmljZSIKKyN+IG1zZ3N0ciAiIHJlbW92YWJsZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJncy4uLl1cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMlcyBbb3B0aW9uc10gW3Byb2dyYW0gW3Byb2dyYW0gYXJndW1lbnRzXV1cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyN+IG1zZ2lkICIuLi5iYWNrIDEgcGFnZSIKKyN+IG1zZ3N0ciAiLi4uYXRyw6FzIDEgcMOheGluYSIKKworI34gbXNnaWQgIi4uLnNraXBwaW5nIG9uZSBsaW5lIgorI34gbXNnc3RyICIuLi5vbWl0aW5kbyB1bmhhIGxpw7FhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbl0gZmlsZVxuIgorI34gbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbiwgLS1uby1hcmd1bWVudCAgICAgICBvcHRpb24gZG9lcyBub3QgdXNlIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXIsIC0tcmVxdWlyZWQgPGFyZz4gICAgb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIiVzIG5lY2VzaXRhIHVuIGFyZ3VtZW50b1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgLS14eXp6eSAgICAgICAgICAgICBhIGxvbmcgb3B0aW9uIG9ubHlcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHQgLSBUw6Fib2EgY29uIGZvcm1hdG8gZW4gY3LDuiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zZWN1dGl2ZSBsaW5lcyBhcmUgaW50ZW5kZWQgYnkgdHdvIHNwYWNlc1xuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1mLCAtLWZvb2JhciAgICAgICAgICAgIG5leHQgb3B0aW9uIGRlc2NyaXB0aW9uIHJlc2V0cyBpbmRlbnRcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjfiBtc2dpZCAiY29tcGlsZWQgd2l0aG91dCAteCBzdXBwb3J0IgorI34gbXNnc3RyICJjb21waWxhZG8gc2VuIGEgY29tcGF0aWJpbGlkYWRlIHBhcmEgLXgiCisKKyN+IG1zZ2lkICIlczogT3V0IG9mIG1lbW9yeSFcbiIKKyN+IG1zZ3N0ciAiJXM6IE5vbiBxdWVkYSBtZW1vcmlhIVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGZhaWxlZFxuIgorI34gbXNnc3RyICJ3cml0ZSBmYWxvdTogKCVzKSIKKworI34gbXNnaWQgIiAgZyAgICAgICAgICBDaGFuZ2UgY3lsaW5kZXJzLCBoZWFkcywgc2VjdG9ycy1wZXItdHJhY2sgcGFyYW1ldGVycyIKKyN+IG1zZ3N0ciAiICBnICAgICAgICAgIENhbWJpYXIgb3MgcGFyw6FtZXRyb3MgZGUgY2lsaW5kcm9zLCBjYWJlemFzIGUgc2VjdG9yZXMgcG9yIHBpc3RhIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFdBUk5JTkc6IFRoaXMgb3B0aW9uIHNob3VsZCBvbmx5IGJlIHVzZWQgYnkgcGVvcGxlIHdobyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIEFWSVNPOiBFc3RhIG9wY2nDs24gZGViZXLDrWEgdXNhcnNlIHPDsyBwb3IgcGVyc29hcyBxdWUiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAga25vdyB3aGF0IHRoZXkgYXJlIGRvaW5nLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIGNvw7FlY2VuIG8gZnVuY2lvbmFtZW50byBkYSBtZXNtYS4iCisKKyN+IG1zZ2lkICIgIG0gICAgICAgICAgTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgbSAgICAgICAgICBNYXhpbWl6YSBvIHVzbyBkbyBkaXNjbyBwb2xhIHBhcnRpY2nDs24gYWN0dWFsIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIE5vdGU6IFRoaXMgbWF5IG1ha2UgdGhlIHBhcnRpdGlvbiBpbmNvbXBhdGlibGUgd2l0aCIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIE5vdGE6IElzdG8gcG9kZXLDrWEgZmFjZXIgYSBwYXJ0aWNpw7NuIG5vbiBjb21wYXTDrWJlbCBjb24iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgRE9TLCBPUy8yLCAuLi4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBET1MsIE9TLzIsIC4uLiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBUaGVyZSBhcmUgc2V2ZXJhbCBkaWZmZXJlbnQgZm9ybWF0cyBmb3IgdGhlIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIEhhaSB2YXJpb3MgZm9ybWF0b3MgZGUgcGFydGljacOzbiBwYXJhIGEgcGFydGljacOzbiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICB0aGF0IHlvdSBjYW4gY2hvb3NlIGZyb206IgorI34gbXNnc3RyICIgICAgICAgICAgICAgZW50cmUgb3MgcXVlIHBvZGUgZWxpeGlyOiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICByIC0gUmF3IGRhdGEgKGV4YWN0bHkgd2hhdCB3b3VsZCBiZSB3cml0dGVuIHRvIGRpc2spIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgciAtIERhdG9zIGVuIGNyw7ogKGV4YWN0YW1lbnRlIGNvbW8gZGViZXLDrWFuIGVzY3JpYmlyc2Ugbm8gZGlzY28pIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHMgLSBUYWJsZSBvcmRlcmVkIGJ5IHNlY3RvcnMiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworI34gbXNnaWQgIiAgdSAgICAgICAgICBDaGFuZ2UgdW5pdHMgb2YgdGhlIHBhcnRpdGlvbiBzaXplIGRpc3BsYXkiCisjfiBtc2dzdHIgIiAgdSAgICAgICAgICBDYW1iaWEgYXMgdW5pZGFkZXMgZGUgdmlzdWFsaXphY2nDs24gZG8gdGFtYcOxbyBkYSBwYXJ0aWNpw7NuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFJvdGF0ZXMgdGhyb3VnaCBNQiwgc2VjdG9ycyBhbmQgY3lsaW5kZXJzIgorI34gbXNnc3RyICIgICAgICAgICAgICAgQWx0ZXJuYSBlbnRyZSBNQiwgc2VjdG9yZXMgZSBjaWxpbmRyb3MuIgorCisjfiBtc2dpZCAiQ1RSTC1MICAgICAgIFJlZHJhd3MgdGhlIHNjcmVlbiIKKyN+IG1zZ3N0ciAiQ1RSTC1MICAgICAgIFZvbHZlIGEgZGVidXhhciBhIHBhbnRhbGxhIgorCisjfiBtc2dpZCAiICA/ICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorI34gbXNnc3RyICIgID8gICAgICAgICAgSW1wcmltZSBlc3RhIHBhbnRhbGxhIgorCisjfiBtc2dpZCAiQ2hhbmdlIGN5bGluZGVyIGdlb21ldHJ5IgorI34gbXNnc3RyICJDYW1iaWFyIGEgeGVvbWV0csOtYSBkZSBjaWxpbmRyb3MiCisKKyN+IG1zZ2lkICJDaGFuZ2UgaGVhZCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiQ2FtYmlhciBhIHhlb21ldHLDrWEgZGUgY2FiZXphcyIKKworI34gbXNnaWQgIkNoYW5nZSBzZWN0b3IgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIkNhbWJpYXIgYSB4ZW9tZXRyw61hIGRlIHNlY3RvcmVzIgorCisjfiBtc2dpZCAiRG9uZSB3aXRoIGNoYW5naW5nIGdlb21ldHJ5IgorI34gbXNnc3RyICJGZWl0byBzZW4gY2FtYmlhciBhIHhlb21ldHLDrWEiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIGN5bGluZGVyczogIgorI34gbXNnc3RyICJJbnRyb2R1emEgbyBuw7ptZXJvIGRlIGNpbGluZHJvczoiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGN5bGluZGVycyB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmFsb3IgZGUgY2lsaW5kcm9zIGlsZWdhbCIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2YgaGVhZHM6ICIKKyN+IG1zZ3N0ciAiSW50cm9kdXphIG8gbsO6bWVybyBkZSBjYWJlemFzOiIKKworI34gbXNnaWQgIklsbGVnYWwgaGVhZHMgdmFsdWUiCisjfiBtc2dzdHIgIlZhbG9yIGRlIGNhYmV6YXMgaWxlZ2FsIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFjazogIgorI34gbXNnc3RyICJJbnRyb2R1emEgbyBuw7ptZXJvIGRlIHNlY3RvcmVzIHBvciBwaXN0YToiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIHNlY3RvcnMgdmFsdWUiCisjfiBtc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworI34gbXNnaWQgIiwgTkMiCisjfiBtc2dzdHIgIiwgTkMiCisKKyN+IG1zZ2lkICJOQyIKKyN+IG1zZ3N0ciAiTkMiCisKKyN+IG1zZ2lkICJQcmkvTG9nIgorI34gbXNnc3RyICJQcmkvTMOzeCIKKworI34gbXNnaWQgIlVua25vd24gKCUwMlgpIgorI34gbXNnc3RyICJEZXNjb8OxZWNpZG8gKCUwMlgpIgorCisjfiBtc2dpZCAiRGlzayBEcml2ZTogJXMiCisjfiBtc2dzdHIgIlVuaWRhZGUgZGUgZGlzY286ICVzIgorCisjfiBtc2dpZCAiU2l6ZTogJWxsZCBieXRlcywgJWxsZCBNQiIKKyN+IG1zZ3N0ciAiVGFtYcOxbzogJWxsZCBieXRlcywgJWxsZCBNQiIKKworI34gbXNnaWQgIlNpemU6ICVsbGQgYnl0ZXMsICVsbGQuJWxsZCBHQiIKKyN+IG1zZ3N0ciAiVGFtYcOxbzogJWxsZCBieXRlcywgJWxsZC4lbGxkIEdCIgorCisjfiBtc2dpZCAiSGVhZHM6ICVkICAgU2VjdG9ycyBwZXIgVHJhY2s6ICVkICAgQ3lsaW5kZXJzOiAlbGxkIgorI34gbXNnc3RyICJDYWJlemFzOiAlZCAgIFNlY3RvcmVzIHBvciBwaXN0YTogJWQgICBDaWxpbmRyb3M6ICVsbGQiCisKKyN+IG1zZ2lkICJQYXJ0IFR5cGUiCisjfiBtc2dzdHIgIiBUaXBvIgorCisjfiBtc2dpZCAiRlMgVHlwZSIKKyN+IG1zZ3N0ciAiVGlwbyBkZSBTLkYuIgorCisjfiBtc2dpZCAiW0xhYmVsXSIKKyN+IG1zZ3N0ciAiW0V0aXF1ZXRhXSIKKworI34gbXNnaWQgIiAgICBTZWN0b3JzIgorI34gbXNnc3RyICIgICAgU2VjdG9yZXMiCisKKyN+IG1zZ2lkICIgIEN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICBDaWxpbmRyb3MiCisKKyN+IG1zZ2lkICIgIFNpemUgKE1CKSIKKyN+IG1zZ3N0ciAiICBUYW1hw7FvIChNQikiCisKKyN+IG1zZ2lkICIgIFNpemUgKEdCKSIKKyN+IG1zZ3N0ciAiICBUYW1hw7FvIChHQikiCisKKyN+IG1zZ2lkICJDaGFuZ2UgZGlzayBnZW9tZXRyeSAoZXhwZXJ0cyBvbmx5KSIKKyN+IG1zZ3N0ciAiQ2FtYmlhciBhIHhlb21ldHLDrWEgZG8gZGlzY28gKHPDsyBleHBlcnRvcykiCisKKyN+IG1zZ2lkICJNYXhpbWl6ZSIKKyN+IG1zZ3N0ciAiTWF4aW1pemFyIgorCisjfiBtc2dpZCAiTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24gKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIk1heGltaXphciBvIHVzbyBkZSBkaXNjbyBkYSBwYXJ0aWNpw7NuIGFjdHVhbCAoc8OzIGV4cGVydG9zKSIKKworI34gbXNnaWQgIlByaW50IgorI34gbXNnc3RyICJJbXByaW1pciIKKworI34gbXNnaWQgIkNoYW5nZSB0aGUgZmlsZXN5c3RlbSB0eXBlIChET1MsIExpbnV4LCBPUy8yIGFuZCBzbyBvbikiCisjfiBtc2dzdHIgIkNhbWJpYSBvIHRpcG8gZGUgc2lzdGVtYSBkZSBmaWNoZWlzbyAoRE9TLCBMaW51eCwgT1MvMiwgZXRjLikiCisKKyN+IG1zZ2lkICJVbml0cyIKKyN+IG1zZ3N0ciAiVW5pZGFkZXMiCisKKyN+IG1zZ2lkICJDaGFuZ2UgdW5pdHMgb2YgdGhlIHBhcnRpdGlvbiBzaXplIGRpc3BsYXkgKE1CLCBzZWN0LCBjeWwpIgorI34gbXNnc3RyICJDYW1iaWFyIGFzIHVuaWRhZGVzIGRlIHZpc3VhbGl6YWNpw7NuIGRvIHRhbWHDsW8gZGEgcGFydGljacOzbiAoTUIsIHNlY3QsIGNpbCkiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWFrZSB0aGlzIHBhcnRpdGlvbiBib290YWJsZSIKKyN+IG1zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGZhY2VyIGVzdGEgcGFydGljacOzbiBhcnJpbmPDoWJlbCIKKworI34gbXNnaWQgIkNhbm5vdCBkZWxldGUgYW4gZW1wdHkgcGFydGl0aW9uIgorI34gbXNnc3RyICJOb24gw6kgcG9zw61iZWwgZWxpbWluYXIgdW5oYSBwYXJ0aWNpw7NuIGJhbGVpcmEiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWF4aW1pemUgdGhpcyBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIk5vbiDDqSBwb3PDrWJlbCBtYXhpbWl6YXIgZXN0YSBwYXJ0aWNpw7NuIgorCisjfiBtc2dpZCAiVGhpcyBwYXJ0aXRpb24gaXMgYWxyZWFkeSBpbiB1c2UiCisjfiBtc2dzdHIgIkVzdGEgcGFydGljacOzbiB4YSBlc3TDoSBlbiB1c28iCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIHRoZSB0eXBlIG9mIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGNhbWJpYXIgbyB0aXBvIGR1bmhhIHBhcnRpY2nDs24gYmFsZWlyYSIKKworI34gbXNnaWQgIklsbGVnYWwgY29tbWFuZCIKKyN+IG1zZ3N0ciAiT3JkZSBpbGVnYWwiCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMjAwMiBLZXZpbiBFLiBNYXJ0aW4gJiBhZWJcbiIKKyN+IG1zZ3N0ciAiQ29weXJpZ2h0IChDKSAxOTk0LTIwMDIgS2V2aW4gRS4gTWFydGluICYgYWViXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1nLCAtLWd1ZXNzICAgICAgICAgICAgICAgZ3Vlc3MgYSBnZW9tZXRyeSBmcm9tIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1QLCAtLXByaW50IDxyfHN8dD4gICAgICAgcHJpbnQgcGFydGl0aW9uIHRhYmxlIGluIHNwZWNpZmllZCBmb3JtYXRcbiIKKyN+IG1zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWkgYSB0w6Fib2EgZGUgcGFydGljacOzbnMgw6EgcGFudGFsbGEgb3UgYSB1biBmaWNoZWlybyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWEsIC0tYXJyb3cgICAgICAgICAgICAgICB1c2UgYXJyb3cgZm9yIGhpZ2hsaWdodGluZyB0aGUgY3VycmVudCBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiICBkICAgICAgICAgIEVsaW1pbmFyIGEgcGFydGljacOzbiBhY3R1YWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIkludHJvZHV6YSBvIG7Dum1lcm8gZGUgY2lsaW5kcm9zOiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgbnVtYmVyIG9mIGhlYWRzIgorI34gbXNnc3RyICJJbnRyb2R1emEgbyBuw7ptZXJvIGRlIGNhYmV6YXM6IgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2Ygc2VjdG9ycyIKKyN+IG1zZ3N0ciAiSW50cm9kdXphIG8gbsO6bWVybyBkZSBzZWN0b3JlcyBwb3IgcGlzdGE6IgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5yIgorI34gbXNnc3RyICJOQyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTZWMiCisjfiBtc2dzdHIgIkVzdGFiZWxlY2VyIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJsb2NrcyAiCisjfiBtc2dzdHIgIiVsZCBibG9xdWVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU2VjdG9yIgorI34gbXNnc3RyICIgICAgU2VjdG9yZXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmxhZyIKKyN+IG1zZ3N0ciAiT3BjacOzbnMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNhbm5vdCBmZmx1c2ggY2hhbmdlczogJXMiCisjfiBtc2dzdHIgIiVzOiBub24gc2UgcG9kZSBhYnJpciAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHVzZXIgaWQ6ICVtIgorI34gbXNnc3RyICJub24gc2UgcG9kZSBvYnRlciBvIHRhbWHDsW8gZGUgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BkZXYgY29udGV4dCIKKyN+IG1zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byB1c2UgJXMgZGV2aWNlIgorI34gbXNnc3RyICIlcyBmYWxsb3UuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gZm91bmQgZnJlZSBsb29wIGRldmljZSIKKyN+IG1zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogJXM6IGZhaWxlZCB0byBzZXQgbG9vcGRldiBhdHRyaWJ1dGVzIgorI34gbXNnc3RyICIlcyBmYWxsb3UuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiAlczogZmFpbGVkIHNldHRpbmcgdXAgbG9vcCBkZXZpY2U6ICVtIgorI34gbXNnc3RyICIlcyBmYWxsb3UuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogZmFpbGVkIHRvIGNoZGlyIHRvICVzOiAlbSIKKyN+IG1zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGZhaWxlZCB0byBvYnRhaW4gY3VycmVudCBkaXJlY3Rvcnk6ICVtIgorI34gbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPHR0eT4gWy4uLl1cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRocmVzaG9sZCBmb3IgJXMiCisjfiBtc2dzdHIgIm5vbiBzZSBwb2RlIG9idGVyIG8gdGFtYcOxbyBkZSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRpbWVvdXQgZm9yICVzIgorI34gbXNnc3RyICJub24gc2UgcG9kZSBvYnRlciBvIHRhbWHDsW8gZGUgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBpbnRlcnZhbCB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmFsb3IgZGUgY2lsaW5kcm9zIGlsZWdhbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmFsb3IgZGUgc2VjdG9yZXMgaWxlZ2FsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgc2V0IHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiVmFsb3IgZGUgc2VjdG9yZXMgaWxlZ2FsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmFsb3IgZGUgY2FiZXphcyBpbGVnYWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdGltZSB2YWx1ZSIKKyN+IG1zZ3N0ciAiY29udmVydGVyIGEgaG9yYSBydGMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdGltZSB2YWx1ZTogJWQiCisjfiBtc2dzdHIgImNvbnZlcnRlciBhIGhvcmEgcnRjIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzZXQgJXMgdG8gdGhyZXNob2xkICVkIgorI34gbXNnc3RyICJOb24gw6kgcG9zw61iZWwgYWJyaXIgwqslc8K7IHBhcmEgbGVjdHVyYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgc2V0ICVzIHRvIHRpbWUgdGhyZXNob2xkICVkIgorI34gbXNnc3RyICJub24gc2UgcG9kZSBvYnRlciBvIHRhbWHDsW8gZGUgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlIgorI34gbXNnc3RyICIlcyBmYWxsb3UuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsaW5lIHRvbyBsb25nIgorI34gbXNnc3RyICJBIGxpw7FhIMOpIGRlbWFzaWFkbyBsb25nYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YWlkcGlkIGZhaWxlZCIKKyN+IG1zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBuYSBidXNjYSIKKworI34gbXNnaWQgInNldCBibG9ja3NpemUiCisjfiBtc2dzdHIgImVzdGFiZWxlY2UgbyB0YW1hw7FvIGRvIGJsb3F1ZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJlYWQgZmFpbGVkICVzIgorI34gbXNnc3RyICJyZWFkIGZhbGxvdTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBmYWlsZWQgJXMiCisjfiBtc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gbmEgYnVzY2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBmYWlsZWQ6ICVkIgorI34gbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIG5hIGJ1c2NhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGZhaWxlZDogJWQiCisjfiBtc2dzdHIgIndyaXRlIGZhbG91OiAoJXMpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZCIKKyN+IG1zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UsIG9mZnNldCBpcyBub3QgNTEyLWJ5dGUgYWxpZ25lZC4iCisjfiBtc2dzdHIgIiVzIGZhbGxvdS4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5zc3Vwb3J0ZWQgLS1sb2NhbC1saW5lIG1vZGUgYXJndW1lbnQiCisjfiBtc2dzdHIgIiVzIG5lY2VzaXRhIHVuIGFyZ3VtZW50b1xuIgorCisjfiBtc2dpZCAidXNhZ2U6XG4iCisjfiBtc2dzdHIgInVzbzpcbiIKKworI34gbXNnaWQgIlx0Tk9URTogZWx2dHVuZSBvbmx5IHdvcmtzIHdpdGggMi40IGtlcm5lbHNcbiIKKyN+IG1zZ3N0ciAiXHROT1RFOiBlbHZ0dW5lIHPDsyBmdW5jaW9uYSBjb24gbsO6Y2xlb3MgMi40XG4iCisKKyN+IG1zZ2lkICJtaXNzaW5nIGJsb2NrZGV2aWNlLCB1c2UgLWggZm9yIGhlbHBcbiIKKyN+IG1zZ3N0ciAiZmFsdGEgbyBkaXNwb3NpdGl2byBkZSBibG9xdWVzLCB1c2UgLWggcGFyYSBvYnRlciBheHVkYVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImVsdnR1bmUgaXMgb25seSB1c2VmdWwgb24gb2xkZXIga2VybmVscztcbiIKKyN+ICJmb3IgMi42IHVzZSBJTyBzY2hlZHVsZXIgc3lzZnMgdHVuYWJsZXMgaW5zdGVhZC4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJlbHZ0dW5lIHPDsyDDqSDDunRpbCBwYXJhIG9zIGtlcm5lbHMgYW50aWdvcztcbiIKKyN+ICJwYXJhIGEgdmVyc2nDs24gMi42IHVzZSBubyBsdWdhciBJTyBzY2hlZHVsZXIgc3lzZnMgdHVuYWJsZXMuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZWRpdGlvbiBudW1iZXIgYXJndW1lbnQgZmFpbGVkIgorI34gbXNnc3RyICJhY3RpdmFyIGEgYWxhcm1hIHJ0YyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICJQcmludCB2ZXJzaW9uOlxuIgorI34gIiAgICAgICAgJXMgLXZcbiIKKyN+ICJQcmludCBwYXJ0aXRpb24gdGFibGU6XG4iCisjfiAiICAgICAgICAlcyAtUCB7cnxzfHR9IFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+ICJJbnRlcmFjdGl2ZSB1c2U6XG4iCisjfiAiICAgICAgICAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICItYTogVXNlIGFycm93IGluc3RlYWQgb2YgaGlnaGxpZ2h0aW5nO1xuIgorI34gIi16OiBTdGFydCB3aXRoIGEgemVybyBwYXJ0aXRpb24gdGFibGUsIGluc3RlYWQgb2YgcmVhZGluZyB0aGUgcHQgZnJvbSBkaXNrO1xuIgorI34gIi1jIEMgLWggSCAtcyBTOiBPdmVycmlkZSB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgbnVtYmVyIG9mIGN5bGluZGVycyxcbiIKKyN+ICIgICAgICAgICAgICAgICAgdGhlIG51bWJlciBvZiBoZWFkcyBhbmQgdGhlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVXNvOlxuIgorI34gIkltcHJpbWlyIGEgdmVyc2nDs246XG4iCisjfiAiICAgICAgICAlcyAtdlxuIgorI34gIkltcHJpbWlyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zOlxuIgorI34gIiAgICAgICAgJXMgLVAge3J8c3x0fSBbb3BjacOzbnNdIGRpc3Bvc2l0aXZvXG4iCisjfiAiVXNvIGludGVyYWN0aXZvOlxuIgorI34gIiAgICAgICAgJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXZvXG4iCisjfiAiXG4iCisjfiAiT3BjacOzbnM6XG4iCisjfiAiLWE6IFVzYXIgdW5oYSBmcmVjaGEgbm8gbHVnYXIgZG8gcmVzYWx0YWRvO1xuIgorI34gIi16OiBJbmljaWFyIHVuaGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIGNlcm8sIG5vIGx1Z2FyIGRlIGxlciBvIHB0IGRlc2RlIG8gZGlzY287XG4iCisjfiAiLWMgQyAtaCBIIC1zIFM6IEV2aXRhciBhIGlkZWEgZG8ga2VybmVsIGRvIG7Dum1lcm8gZGUgY2lsaW5kcm9zLFxuIgorI34gIiAgICAgICAgICAgICAgICBvIG7Dum1lcm8gZGUgY2FiZXphcyBlIG8gbsO6bWVybyBkZSBzZWN0b3Jlcy9waXN0YS5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIldyaXRpbmcgZGlza2xhYmVsIHRvICVzLlxuIgorI34gbXNnc3RyICJFc2NyaWJpbmRvIGEgZXRpcXVldGEgZG8gZGlzY28gZW4gJXMuXG4iCisKKyN+IG1zZ2lkICJkcml2ZWRhdGE6ICIKKyN+IG1zZ3N0ciAiZHJpdmVkYXRhOiAiCisKKyN+IG1zZ2lkICIjICAgICAgIHN0YXJ0ICAgICAgIGVuZCAgICAgIHNpemUgICAgIGZzdHlwZSAgIFtmc2l6ZSBic2l6ZSAgIGNwZ11cbiIKKyN+IG1zZ3N0ciAiIyAgICAgICBpbmljaSAgICAgICBmaW4gICAgICB0YW1hICAgICB0aXBvZnMgICBbdGFtLWYgdGFtLWIgICBjcGddXG4iCisKKyN+IG1zZ2lkICJNdXN0IGJlIDw9IHNlY3RvcnMvdHJhY2sgKiB0cmFja3MvY3lsaW5kZXIgKGRlZmF1bHQpLlxuIgorI34gbXNnc3RyICJEZWJlIHNlciA8PSBzZWN0b3Jlcy9waXN0YSAqIHBpc3Rhcy9jaWxpbmRybyAodmFsb3IgcHJlZGVmaW5pZG8pLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIChhLSVjKTogIgorI34gbXNnc3RyICJQYXJ0aWNpw7NuIChhLSVjKTogIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBzZWVrIG9uICVzIgorI34gbXNnc3RyICJOb24gw6kgcG9zw61iZWwgYWJyaXIgwqslc8K7OiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCisjfiBtc2dzdHIgIk5vbiDDqSBwb3PDrWJlbCBlc2NyaWJpciBub2Rvcy1pIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhdGFsIGVycm9yIgorI34gbXNnc3RyICJFcnJvIGludGVybm8iCisKKyN+IG1zZ2lkICJDb21tYW5kIGFjdGlvbiIKKyN+IG1zZ3N0ciAiQWNjacOzbiBkYSBvcmUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLCAlbGx1IHNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiICAgIFNlY3RvcmVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNyZWF0ZWQgcGFydGl0aW9uICV6ZFxuIgorI34gbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIC11IDxVU0VSPiBDT01NQU5EXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBbLV0gW1VTRVIgW2FyZ10uLi5dXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3J5cHQgZmFpbGVkOiAlbVxuIgorI34gbXNnc3RyICJ3cml0ZSBmYWxvdTogKCVzKSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYWlsZWQgdG8gbG9jayAlczogJW1cbiIKKyN+IG1zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBhbyByZXNlcnZhciBvIGLDumZlciBkZSBzYcOtZGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlLi4uXVxuIgorI34gbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjfiBtc2dpZCAibWtmcyAoJXMpXG4iCisjfiBtc2dzdHIgIm1rZnMgKCVzKVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkJTRCBsYWJlbCBmb3IgZGV2aWNlOiAlc1xuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRXRpcXVldGEgQlNEIHBhcmEgbyBkaXNwb3NpdGl2bzogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUSU9DU0NUVFk6IGlvY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAibWFsbG9jIGZhbGxvdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIHBvcnQgbnVtYmVyIGFyZ3VtZW50IgorI34gbXNnc3RyICJhY3RpdmFyIGEgYWxhcm1hIHJ0YyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIgorI34gbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVqZWN0OiBjYW5ub3Qgc2V0IHVzZXIgaWQiCisjfiBtc2dzdHIgIm5vbiBzZSBwb2RlIG9idGVyIG8gdGFtYcOxbyBkZSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyBmYWlsZWQgdG8gdXNlIGRldmljZSIKKyN+IG1zZ3N0ciAiJXMgZmFsbG91LiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIChwcm9iYWJseSB1bmtub3duIGVuY3J5cHRpb24gdHlwZSkiCisjfiBtc2dzdHIgIiVzIGZhbGxvdS4iCisKKyN+IG1zZ2lkICJyZW5pY2UgZnJvbSAlc1xuIgorI34gbXNnc3RyICJyZW5pY2UgZGVzZGUgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZXhlY3V0ZSAlcyIKKyN+IG1zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGFicmlyIMKrJXPCuzogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXhlY3ZwIGZhaWxlZCIKKyN+IG1zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBuYSBidXNjYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlLTE1cyVzIFt2ZXJzaW9uICV4XVxuIgorI34gbXNnc3RyICIlczogdmVyc2nDs24gJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvci4iCisjfiBtc2dzdHIgIkVycm8gaW50ZXJubyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW9yZSAoJXMpXG4iCisjfiBtc2dzdHIgIm1rZnMgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBvcGVuICVzIgorI34gbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjfiBtc2dpZCAiY2Fubm90IHN0YXQgZGV2aWNlICVzIgorI34gbXNnc3RyICJOb24gc2UgcG9kZSBlZmVjdHVhciDCq3N0YXTCuyBzb2JyZSBvIGRpc3Bvc2l0aXZvICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNhbm5vdCBvcGVuIC9kZXYvcG9ydCIKKyN+IG1zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGFicmlyICIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc291cmNlIGJ1ZmZlciIKKyN+IG1zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBhbyByZXNlcnZhciBvIGLDumZlciBkZSBzYcOtZGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgZGlyZWN0b3J5IgorI34gbXNnc3RyICIlcyBmYWxsb3UuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBzdGF0IGRpcmVjdG9yeSAlcyIKKyN+IG1zZ3N0ciAibyBub2RvLWkgcmHDrXogbm9uIMOpIHVuIGNhcnRhZm9sIgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gIgorI34gbXNnc3RyICJOb24gw6kgcG9zw61iZWwgYWJyaXIgIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gXCIlc1wiIGZvciByZWFkIgorI34gbXNnc3RyICJOb24gw6kgcG9zw61iZWwgYWJyaXIgwqslc8K7IHBhcmEgbGVjdHVyYSIKKworI34gbXNnaWQgImNhbm5vdCBzdGF0IFwiJXNcIiIKKyN+IG1zZ3N0ciAiTm9uIHNlIHBvZGUgZWZlY3R1YXIgwqtzdGF0wrsgc29icmUgbyBkaXNwb3NpdGl2byAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWy1odl0gWy14IGRpcl0gZmlsZVxuIgorI34gIiAtaCAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorI34gIiAteCBkaXIgICAgIGV4dHJhY3QgaW50byBkaXJcbiIKKyN+ICIgLXYgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKKyN+ICIgZmlsZSAgICAgICBmaWxlIHRvIHRlc3RcbiIKKyN+IG1zZ3N0ciAiIgorI34gIm1vZG8gZGUgZW1wbGVvOiAlcyBbLWh2XSBbLXggZGlyXSBmaWNoZWlyb1xuIgorI34gIiAtaCAgICAgICAgIG1vc3RyYSBlc3RhIGF4dWRhXG4iCisjfiAiIC14IGRpciAgICAgZXh0cmFlIGVuIGRpclxuIgorI34gIiAtdiAgICAgICAgIMOpIG3DoXMgZXhwbGljYXRpdm9cbiIKKyN+ICIgZmljaGVpcm8gICAgZmljaGVpcm8gcXVlIHNlIGNvbXByb2JhXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1sYXJ2c21mXSAvZGV2L25hbWVcbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbJ2xhcnZzbWZdIC9kZXYvbm9tZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBibG9ja3NpemUgYXJndW1lbnQiCisjfiBtc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXBvY2giCisjfiBtc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGxvY2sgZ3JvdXAgZmlsZSIKKyN+IG1zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNpZ3ZhbCIKKyN+IG1zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiBmYWlsZWQgdG8gcmVhZCBtdGFiIgorI34gbXNnc3RyICJhdmlzbzogZm9ybWF0byBkZSBjcmFtZnMgYW50aWdvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNsYXNzIgorI34gbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBidWZmZXIgc2l6ZSIKKyN+IG1zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2Vjb25kcyB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmFsb3IgZGUgc2VjdG9yZXMgaWxlZ2FsIgorCisjLCBmdXp6eQorI34gbXNnaWQgImFyZ3VtZW50ICVsdSBpcyB0b28gbGFyZ2UiCisjfiBtc2dzdHIgIm8gYmxvcXVlIGRlIGRhdG9zIMOpIGRlbWFzaWFkbyBsb25nbyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogJWQ6IHBhcnNlIGVycm9yIC0tIGxpbmUgaWdub3JlZC5cbiIKKyN+IG1zZ3N0ciAiZXJybyBkZSBhbsOhbGlzZSBuYSBsacOxYTogIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhcm5pbmc6IGZhaWxlZCB0byBwYXJzZSAlcyIKKyN+IG1zZ3N0ciAiYXZpc286IGZvcm1hdG8gZGUgY3JhbWZzIGFudGlnb1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUtMjVzOiBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJS0yNXM6IGZhaWxlZFxuIgorI34gbXNnc3RyICIlcyBmYWxsb3UuXG4iCisKKyN+IG1zZ2lkICIgICB1ICAgY2hhbmdlIHVuaXRzIChjeWxpbmRlcnMvc2VjdG9ycykiCisjfiBtc2dzdHIgIiAgIHUgICBDYW1iaWEgYXMgdW5pZGFkZXMgKGNpbGluZHJvcy9zZWN0b3JlcykiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IFBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCisjfiBtc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2V0cHduYW0gZmFpbGVkIgorI34gbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIG5hIGJ1c2NhIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxvZ2luIG5hbWUgbXVjaCB0b28gbG9uZy4iCisjfiBtc2dzdHIgIm8gbm9tZSBkbyB2b2x1bWUgw6kgZGVtYXNpYWRvIGxvbmdvIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgICVzIFtvcHRpb25zXSBkZXZpY2UgWy4uLl1cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXVxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGVdXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyN+IG1zZ2lkICIgICVzIC0tcmVwb3J0IFtkZXZpY2VzXVxuIgorI34gbXNnc3RyICIgICVzIC0tcmVwb3J0IFtkaXNwb3NpdGl2b3NdXG4iCisKKyN+IG1zZ2lkICIgICVzIFstdnwtcV0gY29tbWFuZHMgZGV2aWNlc1xuIgorI34gbXNnc3RyICIgICVzIFstdnwtcV0gb3JkZXMgZGlzcG9zaXRpdm9zXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtbiBdIGRldmljZVxuIgorI34gbXNnc3RyICJ1c286ICVzIFsgLW4gXSBkaXNwb3NpdGl2b1xuIgorCisjfiBtc2dpZCAiJXM6IG9wdGlvbiBwYXJzZSBlcnJvclxuIgorI34gbXNnc3RyICIlczogZXJybyBkZSBhbsOhbGlzZSBkYSBvcGNpw7NuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy14XSBbLWQgPG51bT5dIGlzbzk2NjAtaW1hZ2VcbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbLXhdIFstZCA8bnVtPl0gaXNvOTY2MC1pbWFnZVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbLXZdIFstTiBuci1vZi1pbm9kZXNdIFstViB2b2x1bWUtbmFtZV1cbiIKKyN+ICIgICAgICAgWy1GIGZzbmFtZV0gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVzbzogJXMgWy12XSBbLU4gbm8tZGUtbm9kb3MtaV0gWy1WIG5vbWUtZG8tdm9sdW1lXVxuIgorI34gIiAgICAgICBbLUYgbm9tZS1kby1mc10gZGV2aWNlIFtjb250YS1kZS1ibG9xdWVzXVxuIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSIKKyN+IG1zZ3N0ciAibm9uIHF1ZWRhIG1lbW9yaWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFt5IHwgbl0iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6ICVzIFstbl0gW2ZpbGVdXG4iCisjfiBtc2dzdHIgInVzbzogJXMgWyAtbiBdIGRpc3Bvc2l0aXZvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6ICVzIFstYmZweF0gWy1sIG5saW5lXSIKKyN+IG1zZ3N0ciAidXNvOiAlcyBbIC1uIF0gZGlzcG9zaXRpdm9cbiIKKworI34gbXNnaWQgImhleGR1bXA6IGNhbid0IHJlYWQgJXMuXG4iCisjfiBtc2dzdHIgImhleGR1bXA6IG5vbiDDqSBwb3PDrWJlbCBsZXIgJXMuXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogdGFpbGYgWy1uIE4gfCAtTl0gbG9nZmlsZSIKKyN+IG1zZ3N0ciAidXNvOiB0YWlsZiBbLW4gTiB8IC1OXSBmaWNoZWlyby1kZS1sb2ciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsgLWkgXSBbIC10VGVybSBdIGZpbGUuLi5cbiIKKyN+IG1zZ3N0ciAidXNvOiAlcyBbIC1pIF0gWyAtdFRlcm0gXSBmaWNoZWlyby4uLlxuIgorCisjfiBtc2dpZCAicGFyc2UgZXJyb3IgYXQgbGluZXM6ICIKKyN+IG1zZ3N0ciAiZXJybyBkZSBhbsOhbGlzZSBuYXMgbGnDsWFzOiAiCisKKyN+IG1zZ2lkICJyZW5pY2U6ICVzOiB1bmtub3duIHVzZXJcbiIKKyN+IG1zZ3N0ciAicmVuaWNlOiAlczogdXN1YXJpbyBkZXNjb8OxZWNpZG9cbiIKKworI34gbXNnaWQgIjsgc2VlIHN0cmluZ3MoMSkuIgorI34gbXNnc3RyICI7IGNvbnN1bHRlIHN0cmluZ3MoMSkuIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICJOb24gcXVlZGEgbWVtb3JpYVxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlci5cbiIKKyN+IG1zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIHJlc2VydmFyIG8gYsO6ZmVyLlxuIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSB3aGVuIGdyb3dpbmcgYnVmZmVyLlxuIgorI34gbXNnc3RyICJOb24gaGFpIHN1ZmljaWVudGUgbWVtb3JpYSBwYXJhIGluY3JlbWVudGFyIG8gdGFtYcOxbyBkbyBiw7pmZXIuXG4iCmRpZmYgLS1naXQgYS9wby9oci5wbyBiL3BvL2hyLnBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1NzczODQKLS0tIC9kZXYvbnVsbAorKysgYi9wby9oci5wbwpAQCAtMCwwICsxLDE4NTg4IEBACisjIFRyYW5zbGF0aW9uIG9mIHV0aWwtbGludXggdG8gQ3JvYXRpYW4uCisjIENvcHlyaWdodCDCqSAyMDEyIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgdXRpbC1saW51eCBwYWNrYWdlLgorIyBUb21pc2xhdiBLcnpuYXIgPHRvbWlzbGF2Lmtyem5hckBnbWFpbC5jb20+LCAyMDEyLCAyMDEzLgorIworbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdXRpbC1saW51eCAyLjIzLXJjMlxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiB1dGlsLWxpbnV4QHZnZXIua2VybmVsLm9yZ1xuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE3LTAyLTIyIDEyOjMyKzAxMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDEzLTA0LTE4IDE2OjM2KzAyMDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IFRvbWlzbGF2IEtyem5hciA8dG9taXNsYXYua3J6bmFyQGdtYWlsLmNvbT5cbiIKKyJMYW5ndWFnZS1UZWFtOiBDcm9hdGlhbiA8bG9rYWxpemFjaWphQGxpbnV4LmhyPlxuIgorIkxhbmd1YWdlOiBoclxuIgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCisiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgorIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MzsgcGx1cmFsPShuJTEwPT0xICYmIG4lMTAwIT0xMSA/IDAgOiBuJTEwPj0yICYmIG4lMTA8PTQgJiYgKG4lMTAwPDEwIHx8IG4lMTAwPj0yMCkgPyAxIDogMik7XG4iCisiWC1HZW5lcmF0b3I6IEd0cmFuc2xhdG9yIDIuOTEuNlxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPHN0YXJ0PiA8bGVuZ3RoPlxuIgorbXNnc3RyICIgJXMgPHVyZcSRYWogZGlza2E+IDxicm9qIHBhcnRpY2lqZT4gPHBvxI1ldGFrPiA8ZHVsamluYT5cbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTgKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIGV4aXN0ZW5jZSBvZiBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTYgZGlzay11dGlscy9ibG9ja2Rldi5jOjI3NiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDIwCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDQ2IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzNCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1NworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNyBkaXNrLXV0aWxzL2ZkaXNrLmM6NzE4IGRpc2stdXRpbHMvZmRpc2suYzo5OTQKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjMwMSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNDEKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM2MCBkaXNrLXV0aWxzL2ZzY2suYzoxNDQ4CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTU1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTAKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEzNCBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg5CisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTczIGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjEKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODggZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE5CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIxNSBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NCBkaXNrLXV0aWxzL3BhcnR4LmM6OTk0CisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDEgZGlzay11dGlscy9zZmRpc2suYzo2NDcgZGlzay11dGlscy9zZmRpc2suYzo3MDMKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzU3IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODE2IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODgwCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkyMSBkaXNrLXV0aWxzL3NmZGlzay5jOjk1MSBkaXNrLXV0aWxzL3NmZGlzay5jOjk4OAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTM3IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjAgbGliZmRpc2svc3JjL2JzZC5jOjY0MQorIzogbGliL3BhdGguYzo3MCBsaWIvcGF0aC5jOjgyIGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo4NyBsb2dpbi11dGlscy9sYXN0LmM6NjcyCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDQ2IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0ODMKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzU5CisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4MSBsb2dpbi11dGlscy92aXB3LmM6MjU4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzYKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOTcgbWlzYy11dGlscy9sb2dnZXIuYzoxMTg4IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjExNQorIzogbWlzYy11dGlscy91dWlkZC5jOjIwNyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4MyBzeXMtdXRpbHMvZG1lc2cuYzo1MjIKKyM6IHN5cy11dGlscy9lamVjdC5jOjUwMCBzeXMtdXRpbHMvZWplY3QuYzo3MDAgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM3NAorIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTI4IHN5cy11dGlscy9mc3RyaW0uYzo3MiBzeXMtdXRpbHMvaHdjbG9jay5jOjI4MgorIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjYzOCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxNjIKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI1NiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDEKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQyMiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NjkKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM4OCBzeXMtdXRpbHMvbnNlbnRlci5jOjEyOCBzeXMtdXRpbHMvcnRjd2FrZS5jOjEzNgorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyNzAgc3lzLXV0aWxzL3NldHByaXYuYzoyMzAgc3lzLXV0aWxzL3NldHByaXYuYzo1MjkKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTUyIHN5cy11dGlscy9zd2Fwb24uYzozNzEgc3lzLXV0aWxzL3N3YXBvbi5jOjUxNAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTYzIHN5cy11dGlscy91bnNoYXJlLmM6MTA2IHN5cy11dGlscy91bnNoYXJlLmM6MTIxCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjEgc3lzLXV0aWxzL3dkY3RsLmM6Mzc3IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYxOAorIzogdGVybS11dGlscy9tZXNnLmM6MTI3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDI1IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDMxCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQzMyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjUyMgorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxOTcgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMDAKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjMzMSB0ZXh0LXV0aWxzL2NvbGNydC5jOjI4MiB0ZXh0LXV0aWxzL21vcmUuYzo1MTMKKyM6IHRleHQtdXRpbHMvcmV2LmM6MTQxIHRleHQtdXRpbHMvdGFpbGYuYzo2OCB0ZXh0LXV0aWxzL3RhaWxmLmM6MTAwCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJuZSBtb2d1IG90dm9yaXRpICVzIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1OSBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MCBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzo5OAorbXNnaWQgImludmFsaWQgcGFydGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAibmVpc3ByYXZhbiBicm9qIHBhcnRpY2lqZSBrYW8gYXJndW1lbnQiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYwCittc2dpZCAiaW52YWxpZCBzdGFydCBhcmd1bWVudCIKK21zZ3N0ciAibmVpc3ByYXZhbiBhcmd1bWVudCBwb8SNZXRrYSIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjEgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA4Cittc2dpZCAiaW52YWxpZCBsZW5ndGggYXJndW1lbnQiCittc2dzdHIgIm5laXNwcmF2YW4gYXJndW1lbnQgZHVsamluZSIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjIKK21zZ2lkICJmYWlsZWQgdG8gYWRkIHBhcnRpdGlvbiIKK21zZ3N0ciAibmlzYW0gdXNwaW8gZG9kYXRpIHBhcnRpY2lqdSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjYzCittc2dpZCAic2V0IHJlYWQtb25seSIKK21zZ3N0ciAicG9zdGF2aSBzYW1vIHphIMSNaXRhbmplIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzAKK21zZ2lkICJzZXQgcmVhZC13cml0ZSIKK21zZ3N0ciAicG9zdGF2aSB6YSDEjWl0YW5qZSBpIHBpc2FuamUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3NgorbXNnaWQgImdldCByZWFkLW9ubHkiCittc2dzdHIgIm90a3JpaiBzYW1vIHphIMSNaXRhbmplIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODIKK21zZ2lkICJnZXQgZGlzY2FyZCB6ZXJvZXMgc3VwcG9ydCBzdGF0dXMiCittc2dzdHIgIm90a3JpaiBzdGFuamUgcG9kcsWha2UgemEgb2RiYWNpdmFuamUgbnVsYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjg4Cittc2dpZCAiZ2V0IGxvZ2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAib3RrcmlqIHZlbGnEjWludSBsb2dpxI1rb2cgYmxva2EgKHNla3RvcmEpIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6OTQKK21zZ2lkICJnZXQgcGh5c2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAib3RrcmlqIHZlbGnEjWludSBmaXppxI1rb2cgYmxva2EgKHNla3RvcmEpIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTAwCittc2dpZCAiZ2V0IG1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgIm90a3JpaiBuYWptYW5qdSBVL0kgdmVsacSNaW51IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTA2Cittc2dpZCAiZ2V0IG9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgIm90a3JpaiBvcHRpbWFsbnUgVS9JIHZlbGnEjWludSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExMgorbXNnaWQgImdldCBhbGlnbm1lbnQgb2Zmc2V0IGluIGJ5dGVzIgorbXNnc3RyICJvdGtyaWogcG9tYWsgcG9yYXZuYW5qYSB1IGJhanRvdmltYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExOAorbXNnaWQgImdldCBtYXggc2VjdG9ycyBwZXIgcmVxdWVzdCIKK21zZ3N0ciAib3RrcmlqIG5hanZlxIdpIGJyb2ogc2VrdG9yYSBwbyB6YWh0amV2dSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEyNAorbXNnaWQgImdldCBibG9ja3NpemUiCittc2dzdHIgIm90a3JpaiB2ZWxpxI1pbnUgYmxva2EiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzEKK21zZ2lkICJzZXQgYmxvY2tzaXplIG9uIGZpbGUgZGVzY3JpcHRvciBvcGVuaW5nIHRoZSBibG9jayBkZXZpY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzNworbXNnaWQgImdldCAzMi1iaXQgc2VjdG9yIGNvdW50IChkZXByZWNhdGVkLCB1c2UgLS1nZXRzeikiCittc2dzdHIgIm90a3JpaiAzMi1iaXRuaSBicm9qIHNla3RvcmEgKHphc3RhcmplbG8sIGtvcmlzdGl0ZSAtLWdldHN6KSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE0MworbXNnaWQgImdldCBzaXplIGluIGJ5dGVzIgorbXNnc3RyICJvdGtyaWogdmVsacSNaW51IHUgYmFqdG92aW1hIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTUwCittc2dpZCAic2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAicG9zdGF2aSDEjWl0YW5qZSB1bmFwcmlqZWQiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTYKK21zZ2lkICJnZXQgcmVhZGFoZWFkIgorbXNnc3RyICJvdGtyaWogxI1pdGFuamUgdW5hcHJpamVkIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTYzCittc2dpZCAic2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICJwb3N0YXZpIMSNaXRhbmplIHVuYXByaWplZCBkYXRvdGXEjW5vZyBzdXN0YXZhIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTY5Cittc2dpZCAiZ2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICJvdGtyaWogxI1pdGFuamUgdW5hcHJpamVkIGRhdG90ZcSNbm9nIHN1c3RhdmEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzMKK21zZ2lkICJmbHVzaCBidWZmZXJzIgorbXNnc3RyICJpc3ByYXpuaSBtZcSRdXNwcmVtbmlrZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3NworbXNnaWQgInJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICUxJHMgLVZcbiIKKyIgJTEkcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyIgJTEkcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyJcbiIKKyJBdmFpbGFibGUgY29tbWFuZHM6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgJS0yNXMgZ2V0IHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9yc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMTEKK21zZ2lkICJjb3VsZCBub3QgZ2V0IGRldmljZSBzaXplIgorbXNnc3RyICJuZSBtb2d1IG90a3JpdGkgdmVsacSNaW51IHVyZcSRYWphIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gY29tbWFuZDogJXMiCittc2dzdHIgIk5lcG96bmF0YSBuYXJlZGJhOiAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXMgemFodGlqZXZhIGFyZ3VtZW50IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzY4IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZXJyb3Igb24gJXMiCittc2dzdHIgImlvY3RsIGdyZcWha2EgbmEgJXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkLlxuIgorbXNnc3RyICIlcyBuaWplIHVzcGlvLlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiJXMgamUgdXNwaW8uXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIHN5c2ZzIGhhbmRsZXIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiBzdGFydCBmcm9tIHN5c2ZzIgorbXNnc3RyICJuaXNhbSB1c3BpbyBkb2RhdGkgcGFydGljaWp1IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU3RhcnRTZWMgICAgICAgICAgICBTaXplICAgRGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzkKK21zZ2lkICJCb290YWJsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3OQorbXNnaWQgIlRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MAorbXNnaWQgIkRlbGV0ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MAorbXNnaWQgIkRlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODEKK21zZ2lkICJOZXciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODEKK21zZ2lkICJDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODIKK21zZ2lkICJRdWl0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgyCittc2dpZCAiUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBjaGFuZ2VzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgzIGxpYmZkaXNrL3NyYy9ic2QuYzo0MzkgbGliZmRpc2svc3JjL2JzZC5jOjEwMjAKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzA2IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE2IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTYwCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTExNgorbXNnaWQgIlR5cGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODMKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NAorbXNnaWQgIkhlbHAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQKK21zZ2lkICJQcmludCBoZWxwIHNjcmVlbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NQorbXNnaWQgIlNvcnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiRml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJXcml0ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIldyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEdW1wIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRHVtcCBwYXJ0aXRpb24gdGFibGUgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzo2MjAgZGlzay11dGlscy9mZGlzay5jOjQxNQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlhbG9nIHR5cGUgJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAobW91bnRlZCkiCittc2dzdHIgIiVzIGplIG1vbnRpcmFuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI3NAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gbmFtZToiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjgxCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBVVUlEOiIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyOTMKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHR5cGU6IgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMwMAorbXNnaWQgIkF0dHJpYnV0ZXM6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMyNAorIywgZnV6enkKK21zZ2lkICJGaWxlc3lzdGVtIFVVSUQ6IgorbXNnc3RyICJTdGFuamUgZGF0b3RlxI1ub2cgc3VzdGF2YT0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMzEKKyMsIGZ1enp5Cittc2dpZCAiRmlsZXN5c3RlbSBMQUJFTDoiCittc2dzdHIgIlByb3ZqZXJhdmFtIHN2ZSBkYXRvdGXEjW5lIHN1c3RhdmUuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMzNworIywgZnV6enkKK21zZ2lkICJGaWxlc3lzdGVtOiIKK21zZ3N0ciAiUHJvdmplcmF2YW0gc3ZlIGRhdG90ZcSNbmUgc3VzdGF2ZS5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzQyCittc2dpZCAiTW91bnRwb2ludDoiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrOiAlcyIKK21zZ3N0ciAiVXJlxJFhajogJXNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlNpemU6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY5MAorIywgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMsIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY5MworIywgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQ2Cittc2dpZCAiTWF5IGJlIGZvbGxvd2VkIGJ5IE0gZm9yIE1pQiwgRyBmb3IgR2lCLCBUIGZvciBUaUIsIG9yIFMgZm9yIHNlY3RvcnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1MgorbXNnaWQgIlBsZWFzZSwgc3BlY2lmeSBzaXplLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1pbmltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICJvdGtyaWogdmVsacSNaW51IHUgYmFqdG92aW1hIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1heGltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICJvdGtyaWogdmVsacSNaW51IHUgYmFqdG92aW1hIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OTAKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNpemUuIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0OAorIywgZnV6enkKK21zZ2lkICJTZWxlY3QgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTk0IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAyNAorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWU6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5OTUKK21zZ2lkICJUaGUgc2NyaXB0IGZpbGUgd2lsbCBiZSBhcHBsaWVkIHRvIGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwNCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNDYKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2NSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJuZSBtb2d1IG90dm9yaXRpICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMDYgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDA4IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCAlcyIKK21zZ3N0ciAibmlzYW0gdXNwaW8gZG9kYXRpIHBhcnRpY2lqdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDI1Cittc2dpZCAiVGhlIGN1cnJlbnQgaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZSB3aWxsIGJlIGR1bXBlZCB0byB0aGUgZmlsZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDMzIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ5MQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgIm5pc2FtIHVzcGlvIGFsb2NpcmF0aSBpdGVyYXRvciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDM5CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byByZWFkIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0LiIKK21zZ3N0ciAibmlzYW0gdXNwaW8gZG9kYXRpIHBhcnRpY2lqdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDUzCittc2dpZCAiRGlzayBsYXlvdXQgc3VjY2Vzc2Z1bGx5IGR1bXBlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDU2IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIHNjcmlwdCAlcyIKK21zZ3N0ciAibmlzYW0gdXNwaW8gxI1pdGF0aTogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA5MgorbXNnaWQgIlNlbGVjdCBsYWJlbCB0eXBlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA5NSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxNworbXNnaWQgIkRldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjEwMQorbXNnaWQgIlNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGxhYmVsIG9yIHByZXNzICdMJyB0byBsb2FkIHNjcmlwdCBmaWxlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDYKK21zZ2lkICJUaGlzIGlzIGNmZGlzaywgYSBjdXJzZXMtYmFzZWQgZGlzayBwYXJ0aXRpb25pbmcgcHJvZ3JhbS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ3Cittc2dpZCAiSXQgbGV0cyB5b3UgY3JlYXRlLCBkZWxldGUsIGFuZCBtb2RpZnkgcGFydGl0aW9ucyBvbiBhIGJsb2NrIGRldmljZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ5Cittc2dpZCAiQ29tbWFuZCAgICAgIE1lYW5pbmciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUwCittc2dpZCAiLS0tLS0tLSAgICAgIC0tLS0tLS0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUxCittc2dpZCAiICBiICAgICAgICAgIFRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTIKK21zZ2lkICIgIGQgICAgICAgICAgRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTMKK21zZ2lkICIgIGggICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU0Cittc2dpZCAiICBuICAgICAgICAgIENyZWF0ZSBuZXcgcGFydGl0aW9uIGZyb20gZnJlZSBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTUKK21zZ2lkICIgIHEgICAgICAgICAgUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU2Cittc2dpZCAiICBzICAgICAgICAgIEZpeCBwYXJ0aXRpb25zIG9yZGVyIChvbmx5IHdoZW4gaW4gZGlzYXJyYXkpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NworIywgZnV6enkKK21zZ2lkICIgIHQgICAgICAgICAgQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTgKK21zZ2lkICIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTkKK21zZ2lkICIgIFcgICAgICAgICAgV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHlvdSBtdXN0IGVudGVyIHVwcGVyY2FzZSBXKTsiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYwCittc2dpZCAiICAgICAgICAgICAgICAgc2luY2UgdGhpcyBtaWdodCBkZXN0cm95IGRhdGEgb24gdGhlIGRpc2ssIHlvdSBtdXN0IGVpdGhlciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjEKK21zZ2lkICIgICAgICAgICAgICAgICBjb25maXJtIG9yIGRlbnkgdGhlIHdyaXRlIGJ5IGVudGVyaW5nICd5ZXMnIG9yICdubyciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYyCisjLCBmdXp6eQorbXNnaWQgIiAgeCAgICAgICAgICBEaXNwbGF5L2hpZGUgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIiAtPyAgICAgICAgIHByaWthxb5pIG92dSBwb21vxIcgaSBpemHEkWlcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYzCittc2dpZCAiVXAgQXJyb3cgICAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBwYXJ0aXRpb24iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY0Cittc2dpZCAiRG93biBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjUKK21zZ2lkICJMZWZ0IEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIG1lbnUgaXRlbSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjYKK21zZ2lkICJSaWdodCBBcnJvdyAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgbWVudSBpdGVtIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2OAorbXNnaWQgIk5vdGU6IEFsbCBvZiB0aGUgY29tbWFuZHMgY2FuIGJlIGVudGVyZWQgd2l0aCBlaXRoZXIgdXBwZXIgb3IgbG93ZXIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY5Cittc2dpZCAiY2FzZSBsZXR0ZXJzIChleGNlcHQgZm9yIFdyaXRlKS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTcxCittc2dpZCAiVXNlIGxzYmxrKDgpIG9yIHBhcnR4KDgpIHRvIHNlZSBtb3JlIGRldGFpbHMgYWJvdXQgdGhlIGRldmljZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzNworbXNnaWQgIlByZXNzIGEga2V5IHRvIGNvbnRpbnVlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNjAKK21zZ2lkICJDb3VsZCBub3QgdG9nZ2xlIHRoZSBmbGFnLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIm5pc2FtIHVzcGlvIHVrbG9uaXRpIHBhcnRpY2lqdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjcyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBoYXMgYmVlbiBkZWxldGVkLiIKK21zZ3N0ciAiICAgICAgICAob3Rrcml2ZW5hICVzIHBhcnRpY2lqc2thIHRhYmxpY2EpLiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI5MworIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gc2l6ZTogIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJuaXNhbSB1c3BpbyB1a2xvbml0aSBwYXJ0aWNpanUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIHR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJuaXNhbSB1c3BpbyB1a2xvbml0aSBwYXJ0aWNpanUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM1MyBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NjYgZGlzay11dGlscy9mZGlzay5jOjk5MQorIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTcwCittc2dpZCAiRGV2aWNlIGlzIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM1OAorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjAKK21zZ2lkICJUeXBlIFwieWVzXCIgb3IgXCJub1wiLCBvciBwcmVzcyBFU0MgdG8gbGVhdmUgdGhpcyBkaWFsb2cuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM2NSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOSBzeXMtdXRpbHMvbHNjcHUuYzoxNTQwCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTUwCittc2dpZCAieWVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM2NgorIywgZnV6enkKK21zZ2lkICJEaWQgbm90IHdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrLiIKK21zZ3N0ciAid3JpdGUgbmlqZSB1c3BpbzogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3MQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsLiIKK21zZ3N0ciAibmlzYW0gdXNwaW8gxI1pdGF0aTogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3NCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzgKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiICAgICAgICAob3Rrcml2ZW5hICVzIHBhcnRpY2lqc2thIHRhYmxpY2EpLiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM5NyBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NjgKK21zZ2lkICJOb3RlIHRoYXQgcGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyIG5vdy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlOyBpdCB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIG5ldyBkaXNrbGFiZWwiCittc2dzdHIgIm5pc2FtIHVzcGlvIMSNaXRhdGk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9ucyIKK21zZ3N0ciAibmlzYW0gdXNwaW8gZG9kYXRpIHBhcnRpY2lqdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJTEkcyBbb3B0aW9uc10gPGRpc2s+XG4iCittc2dzdHIgIiAlcyBbb3BjaWplXSA8dXJlxJFhaj5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTQ5IGRpc2stdXRpbHMvZmRpc2suYzo3MzYgZGlzay11dGlscy9zZmRpc2suYzoxODEwCittc2dpZCAiRGlzcGxheSBvciBtYW5pcHVsYXRlIGEgZGlzayBwYXJ0aXRpb24gdGFibGUuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTUyCittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NTUKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXplcm8gICAgICAgICAgICAgICBzdGFydCB3aXRoIHplcm9lZCBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1OTQgZGlzay11dGlscy9mZGlzay5jOjg4MiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzcKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzkwIHN5cy11dGlscy9kbWVzZy5jOjEzMzMgdGV4dC11dGlscy9oZXhkdW1wLmM6MTE0Cittc2dpZCAidW5zdXBwb3J0ZWQgY29sb3IgbW9kZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MTIgZGlzay11dGlscy9mZGlzay5jOjgxOCBkaXNrLXV0aWxzL3NmZGlzay5jOjIyMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAibmlzYW0gdXNwaW8gYWxvY2lyYXRpIGl0ZXJhdG9yIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj5cbiIKK21zZ3N0ciAiICVzIDx1cmXEkWFqIGRpc2thPiA8YnJvaiBwYXJ0aWNpamU+XG4iCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjE4Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIHRvIGZvcmdldCBhYm91dCBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6NjEKK21zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlIHBhcnRpdGlvbiIKK21zZ3N0ciAibmlzYW0gdXNwaW8gdWtsb25pdGkgcGFydGljaWp1IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9ybWF0dGluZyAuLi4gIgorbXNnc3RyICJGb3JtYXRpcmFtIC4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo2OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgImRvbmVcbiIKK21zZ3N0ciAiZ290b3ZvXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJWZXJpZnlpbmcgLi4uICIKK21zZ3N0ciAiUHJvdmplcmF2YW0gLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEwOAorbXNnaWQgIlJlYWQ6ICIKK21zZ3N0ciAixIxpdGFuamU6IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQcm9ibGVtIHJlYWRpbmcgdHJhY2svaGVhZCAldS8ldSwgZXhwZWN0ZWQgJWQsIHJlYWQgJWRcbiIKK21zZ3N0ciAiUHJvYmxlbSBwcmkgxI1pdGFuanUgY2lsaW5kcmEgJWQsIG/EjWVrdWplbSAlZCwgcHJvxI1pdGFvICVkXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJiYWQgZGF0YSBpbiB0cmFjay9oZWFkICV1LyV1XG4iCisiQ29udGludWluZyAuLi4gIgorbXNnc3RyICIiCisibmVpc3ByYXZuaSBwb2RhY2kgdSBjaWxpbmRydSAlZFxuIgorIk5hc3RhdmxqYW0gLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODIKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTE3IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU2IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODQKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCittc2dzdHIgIiAlcyBbb3BjaWplXSA8dXJlxJFhaj5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0OAorbXNnaWQgIkRvIGEgbG93LWxldmVsIGZvcm1hdHRpbmcgb2YgYSBmbG9wcHkgZGlzay5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUxCittc2dpZCAiIC1mLCAtLWZyb20gPE4+ICAgIHN0YXJ0IGF0IHRoZSB0cmFjayBOIChkZWZhdWx0IDApXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MgorbXNnaWQgIiAtdCwgLS10byA8Tj4gICAgICBzdG9wIGF0IHRoZSB0cmFjayBOXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MworbXNnaWQgIiIKKyIgLXIsIC0tcmVwYWlyIDxOPiAgdHJ5IHRvIHJlcGFpciB0cmFja3MgZmFpbGVkIGR1cmluZ1xuIgorIiAgICAgICAgICAgICAgICAgICAgIHRoZSB2ZXJpZmljYXRpb24gKG1heCBOIHJldHJpZXMpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1NQorbXNnaWQgIiAtbiwgLS1uby12ZXJpZnkgICBkaXNhYmxlIHRoZSB2ZXJpZmljYXRpb24gYWZ0ZXIgdGhlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIGZyb20iCittc2dzdHIgIm5laXNwcmF2YW4gYXJndW1lbnQgcG/EjWV0a2EiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHRvIgorbXNnc3RyICJuZWlzcHJhdmFuIGFyZ3VtZW50IHBvxI1ldGthIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjAxCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSByZXBhaXIiCittc2dzdHIgIm5laXNwcmF2YW4gYXJndW1lbnQgcG/EjWV0a2EiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1MQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4NSBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzM4CisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzQ4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODUKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxNiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0MSBkaXNrLXV0aWxzL3BhcnR4LmM6OTMzCisjOiBsb2dpbi11dGlscy9sYXN0LmM6Njg2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM5IG1pc2MtdXRpbHMvbmFtZWkuYzoxMzUKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjMgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODYgc3lzLXV0aWxzL2RtZXNnLmM6NTI0CisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTk4IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzMSBzeXMtdXRpbHMvZnN0cmltLmM6NzcKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1MTkgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6OTMKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjEzMyB0ZXJtLXV0aWxzL21lc2cuYzoxMjkgdGV4dC11dGlscy9tb3JlLmM6NTA0CisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTAzIHRleHQtdXRpbHMvdGFpbGYuYzoyODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInN0YXQgb2YgJXMgZmFpbGVkIgorbXNnc3RyICJzZWVrIG5pamUgdXNwaW8iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjQgZGlzay11dGlscy9wYXJ0eC5jOjk5MSBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ4NQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODggc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXM6IG5pamUgYmxva292c2tpIHVyZcSRYWoiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjkKKyMsIGZ1enp5Cittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICJOZSBtb2d1IG9kcmVkaXRpIHRyZW51dG51IHZyc3R1IGZvcm1hdGlyYW5qYSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcy1zaWRlZCwgJWQgdHJhY2tzLCAlZCBzZWMvdHJhY2suIFRvdGFsIGNhcGFjaXR5ICVkIGtCLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzIKK21zZ2lkICJEb3VibGUiCittc2dzdHIgIkR2b3N0cnVraSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMgorbXNnaWQgIlNpbmdsZSIKK21zZ3N0ciAiSmVkbm9zdHJ1a2kiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzkKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MQorbXNnaWQgInVzZXIgZGVmaW5lZCBlbmQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MworbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSB1c2VyIGRlZmluZWQgZW5kIHRyYWNrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNTEgbWlzYy11dGlscy9sb2dnZXIuYzo5ODcKKyMsIGZ1enp5Cittc2dpZCAiY2xvc2UgZmFpbGVkIgorbXNnc3RyICJzZWVrIG5pamUgdXNwaW86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTUgZGlzay11dGlscy9mZGlzay5jOjExMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkRvIHlvdSByZWFsbHkgd2FudCB0byBxdWl0PyAiCittc2dzdHIgIsW9ZWxpdGUgbGkgemFpc3RhIG5hc3Rhdml0aSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjE1OAorIywgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3QgKGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjE2MworIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyBkZWZhdWx0IHJlc3BvbnNlICVjLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTc2IGRpc2stdXRpbHMvZmRpc2suYzoyNTAgZGlzay11dGlscy9mZGlzay5jOjMyNQorIzogbGliZmRpc2svc3JjL2Rvcy5jOjExODkgbGliZmRpc2svc3JjL2dwdC5jOjIyNzcKK21zZ2lkICJWYWx1ZSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDggZGlzay11dGlscy9mZGlzay5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMTcgZGlzay11dGlscy9mZGlzay5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0PiwgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjKTogIgorbXNnc3RyICIlcyAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMjMgZGlzay11dGlscy9mZGlzay5jOjI4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglcylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjM5MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NworbXNnaWQgIiBbWV1lcy9bTl1vOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQzMworbXNnaWQgIlBhcnRpdGlvbiB0eXBlICh0eXBlIEwgdG8gbGlzdCBhbGwgdHlwZXMpOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQzNAorbXNnaWQgIkhleCBjb2RlICh0eXBlIEwgdG8gbGlzdCBhbGwgY29kZXMpOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjUzNgorbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgc2V0IChERVBSRUNBVEVEISkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjUzNworbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgbm90IHNldCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTU4IGRpc2stdXRpbHMvZmRpc2suYzo1OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBleGlzdCB5ZXQhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NjMgZGlzay11dGlscy9mZGlzay5jOjU3MiBsaWJmZGlzay9zcmMvYXNrLmM6OTk1Cittc2dpZCAiVW5rbm93biIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJyVzJyB0byAnJXMnLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIlR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQ6ICVzLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlMTVzOiAlcyIKK21zZ3N0ciAiVXJlxJFhajogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXM6IG9mZnNldCA9ICU8UFJJdTY0Piwgc2l6ZSA9ICV6dSBieXRlcy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY3NworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2VlayIKK21zZ3N0ciAibmUgbW9ndSB6YXR2b3JpdGkgZGF0b3Rla3UgJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2ODIKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgIm5lIG1vZ3Ugb3R2b3JpdGkgJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2OTUgbGliZmRpc2svc3JjL2JzZC5jOjI1OSBsaWJmZGlzay9zcmMvZG9zLmM6OTMzCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxMAorbXNnaWQgIkZpcnN0IHNlY3RvciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzIyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz4gICAgICBjaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisiICUxJHMgW29wdGlvbnNdIC1sIFs8ZGlzaz5dIGxpc3QgcGFydGl0aW9uIHRhYmxlKHMpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjczOQorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tc2VjdG9yLXNpemUgPHNpemU+ICAgICAgcGh5c2ljYWwgYW5kIGxvZ2ljYWwgc2VjdG9yIHNpemVcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQwCittc2dpZCAiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIGRvbid0IGVyYXNlIGJvb3RiaXRzIHdoZW4gY3JlYXRpbmcgYSBuZXcgbGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQxCittc2dpZCAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2RlPl0gIG1vZGUgaXMgJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MgorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ1CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHBhcnRpdGlvbnMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ2CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgICAgICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0NworbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICAgICAgICAgICByZWNvZ25pemUgc3BlY2lmaWVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIG9ubHlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ4Cittc2dpZCAiIC11LCAtLXVuaXRzWz08dW5pdD5dICAgICAgICAgIGRpc3BsYXkgdW5pdHM6ICdjeWxpbmRlcnMnIG9yICdzZWN0b3JzJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ5Cittc2dpZCAiIC1zLCAtLWdldHN6ICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgZGV2aWNlIHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9ycyBbREVQUkVDQVRFRF1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzUwCittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1MQorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzUyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MworbXNnaWQgIiAtVywgLS13aXBlLXBhcnRpdGlvbnMgPG1vZGU+ICB3aXBlIHNpZ25hdHVyZXMgZnJvbSBuZXcgcGFydGl0aW9ucyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTUKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWN5bGluZGVycyA8bnVtYmVyPiAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBjeWxpbmRlcnNcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU2CisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgaGVhZHNcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU3CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI4Cittc2dpZCAiaW52YWxpZCBzZWN0b3Igc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODQwCittc2dpZCAiaW52YWxpZCBjeWxpbmRlcnMgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg1MgorbXNnaWQgIm5vdCBmb3VuZCBET1MgbGFiZWwgZHJpdmVyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29tcGF0aWJpbGl0eSBtb2RlICclcyciCittc2dzdHIgIk5lcG96bmF0YSBuYXJlZGJhOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg2NworbXNnaWQgImludmFsaWQgaGVhZHMgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg3MworbXNnaWQgImludmFsaWQgc2VjdG9ycyBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNrbGFiZWw6ICVzIgorbXNnc3RyICJuZXBvZHLFvmFuZSBtb2d1xIdub3N0aSBkYXRvdGXEjW5vZyBzdXN0YXZhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTE2IGRpc2stdXRpbHMvZmRpc2suYzo5MjEgZGlzay11dGlscy9zZmRpc2suYzoyMDQxCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDYKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgd2lwZSBtb2RlIgorbXNnc3RyICJuZXBvZHLFvmFuZSBtb2d1xIdub3N0aSBkYXRvdGXEjW5vZyBzdXN0YXZhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTM0Cittc2dpZCAiVGhlIGRldmljZSBwcm9wZXJ0aWVzIChzZWN0b3Igc2l6ZSBhbmQgZ2VvbWV0cnkpIHNob3VsZCBiZSB1c2VkIHdpdGggb25lIHNwZWNpZmllZCBkZXZpY2Ugb25seS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk4MgorIywgYy1mb3JtYXQKK21zZ2lkICJXZWxjb21lIHRvIGZkaXNrICglcykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5ODQgZGlzay11dGlscy9zZmRpc2suYzoxNTg4Cittc2dpZCAiIgorIkNoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS5cbiIKKyJCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAwMSBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICVzIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDEwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU0MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0ODQKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyMgorbXNnaWQgIlRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMTMgZGlzay11dGlscy9zZmRpc2suYzoxNjI1Cittc2dpZCAiSXQgaXMgc3Ryb25nbHkgcmVjb21tZW5kZWQgdG8gd2lwZSB0aGUgZGV2aWNlIHdpdGggd2lwZWZzKDgpLCBpbiBvcmRlciB0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAyMgorbXNnaWQgIkEgaHlicmlkIEdQVCB3YXMgZGV0ZWN0ZWQuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIGh5YnJpZCBNQlIgbWFudWFsbHkgKGV4cGVydCBjb21tYW5kICdNJykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlb21ldHJ5OiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzL3RyYWNrLCAlbGx1IGN5bGluZGVycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo1OSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5pdHM6ICVzIG9mICVkICogJWxkID0gJWxkIGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY1IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2OAorIywgYy1mb3JtYXQKK21zZ2lkICJJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJBbGlnbm1lbnQgb2Zmc2V0OiAlbHUgYnl0ZXMiCittc2dzdHIgIm90a3JpaiBwb21hayBwb3Jhdm5hbmphIHUgYmFqdG92aW1hIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgdHlwZTogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMDkgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjE5CisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjQ0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorbXNnc3RyICJuaXNhbSB1c3BpbyBhbG9jaXJhdGkgaXRlcmF0b3IiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjExNSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAibmlzYW0gdXNwaW8gZG9kYXRpIHBhcnRpY2lqdSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTU2IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI0OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiCittc2dzdHIgIm5lIG1vZ3UgdnJhdGl0aSB1bmF0cmFnIHN3YXAtdXJlxJFhaiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3Qgc3RhcnQgb24gcGh5c2ljYWwgc2VjdG9yIGJvdW5kYXJ5LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxOTIKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNSBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMAorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTIgbGliZmRpc2svc3JjL3NnaS5jOjExNTQgbGliZmRpc2svc3JjL3N1bi5jOjExMTAKK21zZ2lkICJTdGFydCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTYgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDEKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTEzIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU1IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTExCittc2dpZCAiRW5kIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNyBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMgorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTQgbGliZmRpc2svc3JjL3NnaS5jOjExNTYgbGliZmRpc2svc3JjL3N1bi5jOjExMTIKK21zZ2lkICJTZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOSBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNAorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTUgbGliZmRpc2svc3JjL3NnaS5jOjExNTggbGliZmRpc2svc3JjL3N1bi5jOjExMTQKK21zZ2lkICJTaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI2NworIywgYy1mb3JtYXQKK21zZ2lkICJVbnBhcnRpdGlvbmVkIHNwYWNlICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLW8pOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQ1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICJOZXBvem5hdGEgbmFyZWRiYTogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk1Cittc2dpZCAiR2VuZXJpYyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NgorbXNnaWQgImRlbGV0ZSBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NworIywgZnV6enkKK21zZ2lkICJsaXN0IGZyZWUgdW5wYXJ0aXRpb25lZCBzcGFjZSIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OAorbXNnaWQgImxpc3Qga25vd24gcGFydGl0aW9uIHR5cGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5Cittc2dpZCAiYWRkIGEgbmV3IHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAKK21zZ2lkICJwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgYSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDIKK21zZ2lkICJ2ZXJpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIiVzOiBuaWplIGJsb2tvdnNraSB1cmXEkWFqIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGZpcnN0IHNlY3RvciBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA2Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBkaXNrbGFiZWwgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNworIywgZnV6enkKK21zZ2lkICJmaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDkKK21zZ2lkICJNaXNjIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMAorbXNnaWQgInByaW50IHRoaXMgbWVudSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTEKK21zZ2lkICJjaGFuZ2UgZGlzcGxheS9lbnRyeSB1bml0cyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTIKK21zZ2lkICJleHRyYSBmdW5jdGlvbmFsaXR5IChleHBlcnRzIG9ubHkpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNAorbXNnaWQgIlNjcmlwdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTUKK21zZ2lkICJsb2FkIGRpc2sgbGF5b3V0IGZyb20gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNgorbXNnaWQgImR1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOAorbXNnaWQgIlNhdmUgJiBFeGl0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOQorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIwCisjLCBmdXp6eQorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2siCittc2dzdHIgIndyaXRlIG5pamUgdXNwaW86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjEKK21zZ2lkICJxdWl0IHdpdGhvdXQgc2F2aW5nIGNoYW5nZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIyCittc2dpZCAicmV0dXJuIHRvIG1haW4gbWVudSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjQKK21zZ2lkICJyZXR1cm4gZnJvbSBCU0QgdG8gRE9TIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNQorbXNnaWQgIkNyZWF0ZSBhIG5ldyBsYWJlbCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzYKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IEdQVCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTR0kgKElSSVgpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzgKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzkKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFN1biBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQzCittc2dpZCAiY3JlYXRlIGFuIElSSVggKFNHSSkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1MgorbXNnaWQgIkdlb21ldHJ5IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1MworbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NAorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgaGVhZHMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU1Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NQorbXNnaWQgIkdQVCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjUKK21zZ2lkICJjaGFuZ2UgZGlzayBHVUlEIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NgorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY3CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjgKK21zZ2lkICJjaGFuZ2UgdGFibGUgbGVuZ3RoIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OQorbXNnaWQgImVudGVyIHByb3RlY3RpdmUvaHlicmlkIE1CUiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzIKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSBsZWdhY3kgQklPUyBib290YWJsZSBmbGFnIgorbXNnc3RyICJvdGtyaWogc2FtbyB6YSDEjWl0YW5qZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTczCisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgbm8gYmxvY2sgSU8gcHJvdG9jb2wgZmxhZyIKK21zZ3N0ciAib3RrcmlqIHNhbW8gemEgxI1pdGFuamUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NAorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIHJlcXVpcmVkIHBhcnRpdGlvbiBmbGFnIgorbXNnc3RyICJvdGtyaWogc2FtbyB6YSDEjWl0YW5qZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc1Cittc2dpZCAidG9nZ2xlIHRoZSBHVUlEIHNwZWNpZmljIGJpdHMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg1Cittc2dpZCAiU3VuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NgorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIHJlYWQtb25seSBmbGFnIgorbXNnc3RyICJvdGtyaWogc2FtbyB6YSDEjWl0YW5qZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg3Cittc2dpZCAidG9nZ2xlIHRoZSBtb3VudGFibGUgZmxhZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkwCittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBleHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTEKK21zZ2lkICJjaGFuZ2UgaW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkyCittc2dpZCAiY2hhbmdlIHJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MworbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwMgorbXNnaWQgIlNHSSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDMKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNAorbXNnaWQgImVkaXQgYm9vdGZpbGUgZW50cnkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA1Cittc2dpZCAic2VsZWN0IHNnaSBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDYKK21zZ2lkICJjcmVhdGUgU0dJIGluZm8iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE1Cittc2dpZCAiRE9TIChNQlIpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNgorbXNnaWQgInRvZ2dsZSBhIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE3Cittc2dpZCAiZWRpdCBuZXN0ZWQgQlNEIGRpc2tsYWJlbCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTgKK21zZ2lkICJ0b2dnbGUgdGhlIGRvcyBjb21wYXRpYmlsaXR5IGZsYWciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIwCittc2dpZCAibW92ZSBiZWdpbm5pbmcgb2YgZGF0YSBpbiBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjEKK21zZ2lkICJjaGFuZ2UgdGhlIGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjMKK21zZ2lkICJyZXR1cm4gZnJvbSBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgdG8gR1BUIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzMworbXNnaWQgIkJTRCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzQKK21zZ2lkICJlZGl0IGRyaXZlIGRhdGEiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM1Cittc2dpZCAiaW5zdGFsbCBib290c3RyYXAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM2Cittc2dpZCAic2hvdyBjb21wbGV0ZSBkaXNrbGFiZWwiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM3Cittc2dpZCAibGluayBCU0QgcGFydGl0aW9uIHRvIG5vbi1CU0QgcGFydGl0aW9uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscCAoZXhwZXJ0IGNvbW1hbmRzKTpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzEgZGlzay11dGlscy9zZmRpc2suYzoxMjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UncmUgZWRpdGluZyBuZXN0ZWQgJyVzJyBwYXJ0aXRpb24gdGFibGUsIHByaW1hcnkgcGFydGl0aW9uIHRhYmxlIGlzICclcycuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMQorbXNnaWQgIkV4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMworbXNnaWQgIkNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlYzogdW5rbm93biBjb21tYW5kIgorbXNnc3RyICJOZXBvem5hdGEgbmFyZWRiYTogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ1OCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODUKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ3MQorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgYXBwbGllZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDk3CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byB0cmFuc2Zvcm0gZGlzayBsYXlvdXQgaW50byBzY3JpcHQiCittc2dzdHIgIm5pc2FtIHVzcGlvIGRvZGF0aSBwYXJ0aWNpanUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxMQorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgc2F2ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzNCBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiICAgICAgICAob3Rrcml2ZW5hICVzIHBhcnRpY2lqc2thIHRhYmxpY2EpLiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzNyBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzkKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gcmVtb3ZlIHRoZSBzaWduYXR1cmU/IgorbXNnc3RyICJuaXNhbSB1c3BpbyB1a2xvbml0aSBwYXJ0aWNpanUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU3NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsIgorbXNnc3RyICJuaXNhbSB1c3BpbyDEjWl0YXRpOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjEzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBmaXggcGFydGl0aW9ucyBvcmRlci4iCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjE1CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbnMgb3JkZXIgZml4ZWQuIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJuaXNhbSB1c3BpbyB1a2xvbml0aSBwYXJ0aWNpanUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY2MAorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gY3lsaW5kZXJzIChERVBSRUNBVEVEISkuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY2MgorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gc2VjdG9ycy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjcyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjg0MgorbXNnaWQgIkxlYXZpbmcgbmVzdGVkIGRpc2tsYWJlbC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzA5Cittc2dpZCAiTmV3IG1heGltdW0gZW50cmllcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MTkKK21zZ2lkICJFbnRlcmluZyBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgZGlza2xhYmVsLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MzUKK21zZ2lkICJOZXcgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc1MAorbXNnaWQgIk5ldyBuYW1lIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjgxMworbXNnaWQgIkVudGVyaW5nIG5lc3RlZCBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OTgKK21zZ2lkICJOdW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMDIKK21zZ2lkICJOdW1iZXIgb2YgaGVhZHMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAwNgorbXNnaWQgIk51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkXG4iCittc2dzdHIgIiVzIGplIG1vbnRpcmFuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbW91bnRlZFxuIgorbXNnc3RyICIlcyBuaWplIG1vbnRpcmFuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc0CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTgxIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzUKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNTMgZGlzay11dGlscy9zZmRpc2suYzoyOTcgbGliZmRpc2svc3JjL2JzZC5jOjY0NgorIzogbGliL3BhdGguYzoxMTAgbGliL3BhdGguYzoxMzEgbGliL3BhdGguYzoxNTIgbGliL3BhdGguYzoyMDAKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMTMgbG9naW4tdXRpbHMvbGFzdC5jOjI1MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NjY0CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzOSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MTcgdGVybS11dGlscy9zZXR0ZXJtLmM6Nzc0CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzggdGVybS11dGlscy9zZXR0ZXJtLmM6Nzg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCAlcyIKK21zZ3N0ciAibmUgbW9ndSBvdHZvcml0aSAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMzIGxpYi9wYXRoLmM6MTMzIGxpYi9wYXRoLmM6MTU0CisjLCBjLWZvcm1hdAorbXNnaWQgInBhcnNlIGVycm9yOiAlcyIKK21zZ3N0ciAiZ3JlxaFrYSBvYnJhZGU6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJuZSBtb2d1IMSNaXRhdGkgZGlyZWt0b3JpaiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMb2NraW5nIGRpc2sgYnkgJXMgLi4uICIKK21zZ3N0ciAiWmFrbGp1xI1hdmFtIGRpc2sgJXMgLi4uICIKKworIzogZGlzay11dGlscy9mc2NrLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgIih3YWl0aW5nKSAiCittc2dzdHIgIijEjWVrYW0pICIKKworIy4gVFJBTlNMQVRPUlM6IFRoZXNlIGFyZSBmb2xsb3d1cHMgdG8gIkxvY2tpbmcgZGlzay4uLiIuCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTQKK21zZ2lkICJzdWNjZWVkZWQiCittc2dzdHIgInVzcGplaCIKKworIzogZGlzay11dGlscy9mc2NrLmM6Mzk0Cittc2dpZCAiZmFpbGVkIgorbXNnc3RyICJuZXVzcGplaCIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDEyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVubG9ja2luZyAlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGRlc2NyaXB0aW9uIGZvciAlcyIKK21zZ3N0ciAibmlzYW0gdXNwaW8gcG9zdGF2aXRpIG9waXMgemEgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ3NCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3ODIgbWlzYy11dGlscy9sc2Jsay5jOjQzMworIzogc3lzLXV0aWxzL21vdW50LmM6MTAyIHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6MTkgc3lzLXV0aWxzL3Vtb3VudC5jOjQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogZ3JlxaFrYSBvYnJhZGUgdSByZXRrdSAlZCAtLSB6YW5lbWFyZW5vIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo1MDYgZGlzay11dGlscy9mc2NrLmM6NTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UgZnN0YWIiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njc5IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTY4IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDM0CisjOiBsb2dpbi11dGlscy92aXB3LmM6MjA0IHN5cy11dGlscy9mbG9jay5jOjM0NSBzeXMtdXRpbHMvbnNlbnRlci5jOjE1MworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxNiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIxOSBzeXMtdXRpbHMvdW5zaGFyZS5jOjQyMAorIzogdGVybS11dGlscy9zY3JpcHQuYzo3ODAKK21zZ2lkICJmb3JrIGZhaWxlZCIKK21zZ3N0ciAiZm9yayBuaWplIHVzcGlvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGUgZmFpbGVkIgorbXNnc3RyICIlczogaXp2csWhYXZhbmplIG5pamUgdXNwamVsbyIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzc0Cittc2dpZCAid2FpdDogbm8gbW9yZSBjaGlsZCBwcm9jZXNzPyE/IgorbXNnc3RyICJ3YWl0OiBuZW1hIHZpxaFlIGRqZWNlIHByb2Nlc2E/IT8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc3NyBzeXMtdXRpbHMvZmxvY2suYzozNjMgc3lzLXV0aWxzL3N3YXBvbi5jOjM0OAorIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MDQgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MjUKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZy4uLiAlcyBmb3IgZGV2aWNlICVzIGV4aXRlZCB3aXRoIHNpZ25hbCAlZC4iCittc2dzdHIgIlVwb3pvcmVuamUuLi4gJXMgemEgdXJlxJFhaiAlcyBqZSBpemHFoWFvIHNhIHNpZ25hbG9tICVkLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzOiBzdGF0dXMgaXMgJXgsIHNob3VsZCBuZXZlciBoYXBwZW4uIgorbXNnc3RyICIlcyAlczogc3RhbmplIGplICV4LCBuaWthZCBzZSBuZSBiaSBzbWplbG8gZG9nb2RpdGkuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluaXNoZWQgd2l0aCAlcyAoZXhpdCBzdGF0dXMgJWQpXG4iCittc2dzdHIgIlphdnLFoWVubyBzICVzIChpemxhem5vIHN0YW5qZSAlZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6OTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvciAlZCAoJW0pIHdoaWxlIGV4ZWN1dGluZyBmc2NrLiVzIGZvciAlcyIKK21zZ3N0ciAiZ3JlxaFrYSAlZCBwcmkgaXp2csWhYXZhbmp1IGZzY2suJXMgemEgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjk5MQorbXNnaWQgIiIKKyJFaXRoZXIgYWxsIG9yIG5vbmUgb2YgdGhlIGZpbGVzeXN0ZW0gdHlwZXMgcGFzc2VkIHRvIC10IG11c3QgYmUgcHJlZml4ZWRcbiIKKyJ3aXRoICdubycgb3IgJyEnLiIKK21zZ3N0ciAiIgorIklsaSBzdmkgaWxpIG5pamVkYW4gZGF0b3RlxI1uaSBzdXN0YXYgcHJvc2xpamXEkWVuaSBvcGNpamkgLXQgbW9yYWp1IGltYXRpXG4iCisicHJlZmlrcyDigJ5ub+KAnSBpbGkg4oCeIeKAnS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIGJhZCBsaW5lIGluIC9ldGMvZnN0YWI6IGJpbmQgbW91bnQgd2l0aCBub256ZXJvIGZzY2sgcGFzcyBudW1iZXIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTExOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgbm9uZXhpc3RlbnQgZGV2aWNlXG4iCittc2dzdHIgIiVzOiBwcmVza2HEjWVtIG5lcG9zdG9qZcSHaSB1cmXEkWFqXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vbmV4aXN0ZW50IGRldmljZSAoXCJub2ZhaWxcIiBmc3RhYiBvcHRpb24gbWF5IGJlIHVzZWQgdG8gc2tpcCB0aGlzIGRldmljZSlcbiIKK21zZ3N0ciAiJXM6IG5lcG9zdG9qZcSHaSB1cmXEkWFqICjigJ5ub2ZhaWzigJ0gb3BjaWphIHUgZGF0b3RlY2kgZnN0YWIgc2UgbW/FvmUga29yaXN0aXRpIHphIHByZXNrYWthbmplIG92b2cgdXJlxJFhamEpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIHVua25vd24gZmlsZXN5c3RlbSB0eXBlXG4iCittc2dzdHIgIiVzOiBwcmVza2HEjWVtIG5lcG96bmF0dSB2cnN0dSBkYXRvdGXEjW5vZyBzdXN0YXZhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoZWNrICVzOiBmc2NrLiVzIG5vdCBmb3VuZCIKK21zZ3N0ciAibmUgbW9ndSBwcm92amVyaXRpICVzOiBmc2NrLiVzIG5pamUgcHJvbmHEkWVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjU5Cittc2dpZCAiQ2hlY2tpbmcgYWxsIGZpbGUgc3lzdGVtcy5cbiIKK21zZ3N0ciAiUHJvdmplcmF2YW0gc3ZlIGRhdG90ZcSNbmUgc3VzdGF2ZS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM1MAorIywgYy1mb3JtYXQKK21zZ2lkICItLXdhaXRpbmctLSAocGFzcyAlZClcbiIKK21zZ3N0ciAiLS3EjWVrYW0tLSAocHJvbGF6ICVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLS0gW2ZzLW9wdGlvbnNdIFs8ZmlsZXN5c3RlbT4gLi4uXVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNzkKKyMsIGZ1enp5Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlByb3ZqZXJhdmFtIHN2ZSBkYXRvdGXEjW5lIHN1c3RhdmUuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODIKK21zZ2lkICIgLUEgICAgICAgICBjaGVjayBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1BICAgICAgICAgcHJvdmplcmkgc3ZlIGRhdG90ZcSNbmUgc3VzdGF2ZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzgzCittc2dpZCAiIC1DIFs8ZmQ+XSAgZGlzcGxheSBwcm9ncmVzcyBiYXI7IGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIgLUMgWzxvZD5dICBwcmlrYcW+aSB0cmFrdSBuYXByZXRrYSwgb3Bpc25payBkYXRvdGVrZSBqZSB6YSBncmFmacSNa28gc3XEjWVsamVcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NAorbXNnaWQgIiAtbCAgICAgICAgIGxvY2sgdGhlIGRldmljZSB0byBndWFyYW50ZWUgZXhjbHVzaXZlIGFjY2Vzc1xuIgorbXNnc3RyICIgLWwgICAgICAgICB6YWtsanXEjWFqIHVyZcSRYWogemEgamFtc3R2byBpc2tsanXEjWl2b2cgcHJpc3R1cGFcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NQorbXNnaWQgIiAtTSAgICAgICAgIGRvIG5vdCBjaGVjayBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtTSAgICAgICAgIG5lIHByb3ZqZXJhdmFqIG1vbnRpcmFuZSBkYXRvdGXEjW5lIHN1c3RhdmVcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NgorbXNnaWQgIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCittc2dzdHIgIiAtTiAgICAgICAgIG5lIGl6dnLFoWF2YWosIHNhbW8gcHJpa2HFvmkgxaF0byBiaSBzZSBkb2dvZGlsb1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg3Cittc2dpZCAiIC1QICAgICAgICAgY2hlY2sgZmlsZXN5c3RlbXMgaW4gcGFyYWxsZWwsIGluY2x1ZGluZyByb290XG4iCittc2dzdHIgIiAtUCAgICAgICAgIHBhcmFsZWxubyBwcm92amVyYXZhaiBkYXRvdGXEjW5lIHN1c3RhdmUsIHVrbGp1xI11anXEh2kga29yaWplbnNraVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg4Cittc2dpZCAiIC1SICAgICAgICAgc2tpcCByb290IGZpbGVzeXN0ZW07IHVzZWZ1bCBvbmx5IHdpdGggJy1BJ1xuIgorbXNnc3RyICIgLVIgICAgICAgICBwcmVza2/EjWkga29yaWplbnNraSBkYXRvdGXEjW5pIHN1c3Rhdiwga29yaXNubyBzYW1vIHV6IOKAni1B4oCdXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODkKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtciBbPGZkPl0gIHJlcG9ydCBzdGF0aXN0aWNzIGZvciBlYWNoIGRldmljZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIgLXIgICAgICAgICBpenZpamVzdGkgbyBzdGF0aXN0aWthbWEgemEgc3Zha2kgcHJvdmplcmVuaSB1cmXEkWFqXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTEKK21zZ2lkICIgLXMgICAgICAgICBzZXJpYWxpemUgdGhlIGNoZWNraW5nIG9wZXJhdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkyCittc2dpZCAiIC1UICAgICAgICAgZG8gbm90IHNob3cgdGhlIHRpdGxlIG9uIHN0YXJ0dXBcbiIKK21zZ3N0ciAiIC1UICAgICAgICAgbmUgcHJpa2F6dWogbmFzbG92IHByaSBwb2tyZXRhbmp1XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTMKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtdCA8dHlwZT4gIHNwZWNpZnkgZmlsZXN5c3RlbSB0eXBlcyB0byBiZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIDx0eXBlPiBpcyBhbGxvd2VkIHRvIGJlIGEgY29tbWEtc2VwYXJhdGVkIGxpc3RcbiIKK21zZ3N0ciAiIgorIiAtdCA8dnJzdGE+ICBuYXZlZGkgdnJzdGUgZGF0b3RlxI1uaWggc3VzdGF2YSB6YSBwcm92amVydSxcbiIKKyIgICAgICAgICAgICAgPHZyc3RhPiBzbWlqZSBiaXRpIHphcmV6aW1hIG9kdm9qZW4gcG9waXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NQorbXNnaWQgIiAtViAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtViAgICAgICAgIHBvamFzbmkgxaF0byBwcm9ncmFtIHJhZGlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NgorbXNnaWQgIiAtPyAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAtPyAgICAgICAgIHByaWthxb5pIG92dSBwb21vxIcgaSBpemHEkWlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OQorbXNnaWQgIlNlZSB0aGUgc3BlY2lmaWMgZnNjay4qIGNvbW1hbmRzIGZvciBhdmFpbGFibGUgZnMtb3B0aW9ucy4iCittc2dzdHIgIlBvZ2xlZGFqdGUgcG9qZWRpbmHEjW5lIGZzY2suKiBuYXJlZGJlIHphIGRvc3R1cG5lIGRzLW9wY2lqZS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MzgKK21zZ2lkICJ0b28gbWFueSBkZXZpY2VzIgorbXNnc3RyICJwcmV2acWhZSB1cmXEkWFqYSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ1MAorbXNnaWQgIklzIC9wcm9jIG1vdW50ZWQ/IgorbXNnc3RyICJKZSBsaSAvcHJvYyBtb250aXJhbj8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSByb290IHRvIHNjYW4gZm9yIG1hdGNoaW5nIGZpbGVzeXN0ZW1zOiAlcyIKK21zZ3N0ciAibW9yYXRlIGJpdGkgYWRtaW5pc3RyYXRvciB6YSBwcm92amVydSBvZGdvdmFyYWp1xIdpaCBkYXRvdGXEjW5paCBzdXN0YXZhOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBmaW5kIG1hdGNoaW5nIGZpbGVzeXN0ZW06ICVzIgorbXNnc3RyICJuZSBtb2d1IHByb25hxIdpIG9kZ292YXJhanXEh2kgZGF0b3RlxI1uaSBzdXN0YXY6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDcwIGRpc2stdXRpbHMvZnNjay5jOjE1NjUgbWlzYy11dGlscy9raWxsLmM6MzYzCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyNzkKK21zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCittc2dzdHIgInByZXZpxaFlIGFyZ3VtZW5hdGEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1MjUgZGlzay11dGlscy9mc2NrLmM6MTUyOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yIgorbXNnc3RyICJuZWlzcHJhdmFuIGFyZ3VtZW50IHBvxI1ldGthIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yOiAlZCIKK21zZ3N0ciAibmVpc3ByYXZhbiBhcmd1bWVudCBwb8SNZXRrYSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTYxOAorbXNnaWQgInRoZSAtbCBvcHRpb24gY2FuIGJlIHVzZWQgd2l0aCBvbmUgZGV2aWNlIG9ubHkgLS0gaWdub3JlIgorbXNnc3RyICJvcGNpamEgLWwgc2Ugc21pamUga29yaXN0aXRpIHNhbW8gcyBqZWRuaW0gdXJlxJFhamVtIC0tIHphbmVtYXJlbm8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+XG4iCittc2dzdHIgIiAlcyBbb3BjaWplXSBkYXRvdGVrYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE2Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIGNvbXByZXNzZWQgUk9NIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOQorbXNnaWQgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgYmUgbW9yZSB2ZXJib3NlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMQorbXNnaWQgIiAteSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIgLXkgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMgorbXNnaWQgIiAtYiwgLS1ibG9ja3NpemUgPHNpemU+ICAgdXNlIHRoaXMgYmxvY2tzaXplLCBkZWZhdWx0cyB0byBwYWdlIHNpemVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIzCittc2dpZCAiICAgICAtLWV4dHJhY3RbPTxkaXI+XSAgICB0ZXN0IHVuY29tcHJlc3Npb24sIG9wdGlvbmFsbHkgZXh0cmFjdCBpbnRvIDxkaXI+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBmYWlsZWQ6IHVuYWJsZSB0byBkZXRlcm1pbmUgZGV2aWNlIHNpemU6ICVzIgorbXNnc3RyICJpb2N0bCBuaWplIHVzcGlvOiBuZSBtb2d1IG9kcmVkaXRpIHZlbGnEjWludSB1cmXEkWFqYTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGEgYmxvY2sgZGV2aWNlIG9yIGZpbGU6ICVzIgorbXNnc3RyICJuaWplIGJsb2tvdnNraSB1cmXEkWFqIGlsaSBkYXRvdGVrYTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzAgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNgorbXNnaWQgImZpbGUgbGVuZ3RoIHRvbyBzaG9ydCIKK21zZ3N0ciAiZHVsamluYSBkYXRvdGVrZSBqZSBwcmVrcmF0a2EiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzkgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzMworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI0OSBsaWJmZGlzay9zcmMvYnNkLmM6NzE4IGxpYmZkaXNrL3NyYy9ic2QuYzo4OTAKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMDggbG9naW4tdXRpbHMvbGFzdC5jOjI0MiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZWVrIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAic2VlayBuaWplIHVzcGlvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODcKK21zZ2lkICJzdXBlcmJsb2NrIG1hZ2ljIG5vdCBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImNyYW1mcyBlbmRpYW5uZXNzIGlzICVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MQorbXNnaWQgImJpZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkxCittc2dpZCAibGl0dGxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTUKK21zZ2lkICJ1bnN1cHBvcnRlZCBmaWxlc3lzdGVtIGZlYXR1cmVzIgorbXNnc3RyICJuZXBvZHLFvmFuZSBtb2d1xIdub3N0aSBkYXRvdGXEjW5vZyBzdXN0YXZhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgInN1cGVyYmxvY2sgc2l6ZSAoJWQpIHRvbyBzbWFsbCIKK21zZ3N0ciAidmVsacSNaW5hIHN1cGVyYmxva2EgKCVkKSBqZSBwcmVtYWxlbmEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDQKK21zZ2lkICJ6ZXJvIGZpbGUgY291bnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwOAorIywgZnV6enkKK21zZ2lkICJmaWxlIGV4dGVuZHMgcGFzdCBlbmQgb2YgZmlsZXN5c3RlbSIKK21zZ3N0ciAidXBvem9yZW5qZTogZGF0b3Rla2Egc2UgcHJvdGXFvmUgcHJla28gemF2csWhZXRrYSBkYXRvdGXEjW5vZyBzdXN0YXZhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMTAKKyMsIGZ1enp5Cittc2dpZCAib2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgInVwb3pvcmVuamU6IHN0YXJpIGNyYW1mcyBvYmxpa1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjE5Cittc2dpZCAidW5hYmxlIHRvIHRlc3QgQ1JDOiBvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAibmUgbW9ndSBwcm92amVyaXRpIENSQzogc3RhcmkgY3JhbWZzIG9ibGlrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjcyCittc2dpZCAiY3JjIGVycm9yIgorbXNnc3RyICJjcmMgZ3JlxaFrYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NTQKK21zZ2lkICJzZWVrIGZhaWxlZCIKK21zZ3N0ciAic2VlayBuaWplIHVzcGlvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzA2Cittc2dpZCAicmVhZCByb21mcyBmYWlsZWQiCittc2dzdHIgIsSNaXRhbmplIHJvbWZzLWEgbmlqZSB1c3BqZWxvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzM4Cittc2dpZCAicm9vdCBpbm9kZSBpcyBub3QgZGlyZWN0b3J5IgorbXNnc3RyICJrb3JpamVuc2tpIGluZGVrc25pIMSNdm9yIG5pamUgZGlyZWt0b3JpaiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM0MgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgcm9vdCBvZmZzZXQgKCVsdSkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2MAorbXNnaWQgImRhdGEgYmxvY2sgdG9vIGxhcmdlIgorbXNnc3RyICJwb2RhdGtvdm5pIGJsb2sgamUgcHJldmVsaWsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVjb21wcmVzc2lvbiBlcnJvcjogJXMiCittc2dzdHIgImdyZcWha2EgZGVrb21wcmVzaWplOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICBob2xlIGF0ICVsdSAoJXp1KVxuIgorbXNnc3RyICIgIHJ1cGEgbmEgJWxkICglemQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTcgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICB1bmNvbXByZXNzaW5nIGJsb2NrIGF0ICVsdSB0byAlbHUgKCVsdSlcbiIKK21zZ3N0ciAiICBkZWtvbXByaW1pcmFtIGJsb2sgbmEgJWxkIHUgJWxkICglbGQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJsb2NrICglbGQpIGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLXNpemUgKCVsZCB2cyAlbGQpIGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MTMgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxNgorIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDQgbWlzYy11dGlscy91dWlkZC5jOjM3NSBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzgyCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUzNSBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1OCBzeXMtdXRpbHMvc3dhcG9uLmM6Mzg5CisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJ3cml0ZSBuaWplIHVzcGlvOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyNAorIywgYy1mb3JtYXQKK21zZ2lkICJsY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAibGNob3duIG5pamUgdXNwaW86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI4CisjLCBjLWZvcm1hdAorbXNnaWQgImNob3duIGZhaWxlZDogJXMiCittc2dzdHIgImNob3duIG5pamUgdXNwaW86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgInV0aW1lIGZhaWxlZDogJXMiCittc2dzdHIgInV0aW1lIG5pamUgdXNwaW86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICJpbmRla3NuaSDEjXZvciBkaXJla3RvcmlqYSBpbWEgcG9tYWsgamVkbmFrIG51bGkgaSB2ZWxpxI1pbnUgcmF6bGnEjWl0dSBvZCBudWxlOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ2MAorIywgYy1mb3JtYXQKK21zZ2lkICJta2RpciBmYWlsZWQ6ICVzIgorbXNnc3RyICJta2RpciBuaWplIHVzcGlvOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3NgorbXNnaWQgImZpbGVuYW1lIGxlbmd0aCBpcyB6ZXJvIgorbXNnc3RyICJkdWxqaW5hIGltZW5hIGRhdG90ZWtlIGplIG51bGEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NzgKK21zZ2lkICJiYWQgZmlsZW5hbWUgbGVuZ3RoIgorbXNnc3RyICJuZWlzcHJhdm5hIGR1bGppbmEgaW1lbmEgZGF0b3Rla2UiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0ODQKK21zZ2lkICJiYWQgaW5vZGUgb2Zmc2V0IgorbXNnc3RyICJuZWlzcHJhdmFuIHBvbWFrIGluZGVrc25vZyDEjXZvcmEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0OTkKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZSIKK21zZ3N0ciAiaW5kZWtzbmkgxI12b3IgZGF0b3Rla2UgaW1hIHBvbWFrIGplZG5hayBudWxpIGkgdmVsacSNaW51IHJhemxpxI1pdHUgb2QgbnVsZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUwMgorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gc2l6ZSBhbmQgbm9uLXplcm8gb2Zmc2V0IgorbXNnc3RyICJpbmRla3NuaSDEjXZvciBkYXRvdGVrZSBpbWEgcG9tYWsgcmF6bGnEjWl0IG9kIG51bGUgaSB2ZWxpxI1pbnUgamVkbmFrdSBudWxpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTMxCittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBvZmZzZXQiCittc2dzdHIgInNpbWJvbGnEjWthIHZlemEgaW1hIHBvbWFrIGplZG5hayBudWxpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTMzCittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBzaXplIgorbXNnc3RyICJzaW1ib2xpxI1rYSB2ZXphIGltYSB2ZWxpxI1pbnUgamVkbmFrdSBudWxpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTQyCisjLCBjLWZvcm1hdAorbXNnaWQgInNpemUgZXJyb3IgaW4gc3ltbGluazogJXMiCittc2dzdHIgImdyZcWha2EgdmVsacSNaW5lIHUgc2ltYm9sacSNa29qIHZlemk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTU2CisjLCBjLWZvcm1hdAorbXNnaWQgInN5bWxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAic3ltbGluayBuaWplIHVzcGlvOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU2OQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGZpbGUgaGFzIG5vbi16ZXJvIG9mZnNldDogJXMiCittc2dzdHIgInBvc2VibmEgZGF0b3Rla2EgaW1hIHBvbWFrIHJhemxpxI1pdCBvZCBudWxlOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU3OQorIywgYy1mb3JtYXQKK21zZ2lkICJmaWZvIGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiZmlmbyBpbWEgdmVsacSNaW51IHJhemxpxI1pdHUgb2QgbnVsZTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg4CisjLCBjLWZvcm1hdAorbXNnaWQgImJvZ3VzIG1vZGU6ICVzICglbykiCittc2dzdHIgImxhxb5uaSBtb2Q6ICVzICglbykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtub2QgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWtub2QgbmlqZSB1c3BpbzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGRhdGEgc3RhcnQgKCVsdSkgPCBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikgKyBzdGFydCAoJXp1KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIGVuZCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzNworbXNnaWQgImludmFsaWQgZmlsZSBkYXRhIG9mZnNldCIKK21zZ3N0ciAibmVpc3ByYXZhbiBwb21hayBwb2RhdGFrYSBkYXRvdGVrZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY4NCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzI2Cittc2dpZCAiaW52YWxpZCBibG9ja3NpemUgYXJndW1lbnQiCittc2dzdHIgIm5laXNwcmF2YW4gYXJndW1lbnQgdmVsacSNaW5lIGJsb2thIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBPS1xuIgorbXNnc3RyICIlczogdSByZWR1XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NAorIywgZnV6enkKK21zZ2lkICJDaGVjayB0aGUgY29uc2lzdGVuY3kgb2YgYSBNaW5peCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJQcm92amVyYXZhbSBzdmUgZGF0b3RlxI1uZSBzdXN0YXZlLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODYKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgbGlzdCBhbGwgZmlsZW5hbWVzXG4iCittc2dzdHIgIiAtbCAgaXNwacWhaSBzdmUgZGF0b3Rla2VcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgIGF1dG9tYXRpYyByZXBhaXJcbiIKK21zZ3N0ciAiIC1hICBhdXRvbWF0c2tpIHBvcHJhdmFrXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVwYWlyICAgICBpbnRlcmFjdGl2ZSByZXBhaXJcbiIKK21zZ3N0ciAiIC1yICBpbnRlcmFrdGl2bmkgcG9wcmF2YWtcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGJlIHZlcmJvc2VcbiIKK21zZ3N0ciAiIC1WICAgICAgICAgcG9qYXNuaSDFoXRvIHByb2dyYW0gcmFkaVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTAKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN1cGVyICAgICAgb3V0cHV0IHN1cGVyLWJsb2NrIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAtcyAgaXNwacWhaSBpbmZvcm1hY2lqZSBvIHN1cGVyYmxva3VcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkxCittc2dpZCAiIC1tLCAtLXVuY2xlYXJlZCAgYWN0aXZhdGUgbW9kZSBub3QgY2xlYXJlZCB3YXJuaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICBmb3JjZSBjaGVja1xuIgorbXNnc3RyICIgLWYgIHByaXNpbG5vIHByb3ZqZXJpXG4iCisKKyMuIFRSQU5TTEFUT1JTOiB0aGVzZSB5ZXMgbm8gcXVlc3Rpb25zIHVzZXMgcnBtYXRjaCgpLCBhbmQgc2hvdWxkIGJlCisjLiAqIHRyYW5zbGF0ZWQuCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKHkvbik/ICIKK21zZ3N0ciAiJXMgKGQvbik/ICIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChuL3kpPyAiCittc2dzdHIgIiVzIChuL2QpPyAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ5XG4iCittc2dzdHIgImRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5cbiIKK21zZ3N0ciAiblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZC5cdCAiCittc2dzdHIgIiVzIGplIG1vbnRpcmFuLlx0ICIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg5Cittc2dpZCAiRG8geW91IHJlYWxseSB3YW50IHRvIGNvbnRpbnVlIgorbXNnc3RyICLFvWVsaXRlIGxpIHphaXN0YSBuYXN0YXZpdGkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJjaGVjayBhYm9ydGVkLlxuIgorbXNnc3RyICJwcm92amVyYSBwcmVraW51dGEuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMxOSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA8IEZJUlNUWk9ORSBpbiBmaWxlIGAlcycuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA+PSBaT05FUyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyNiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDcKK21zZ2lkICJSZW1vdmUgYmxvY2siCittc2dzdHIgIlVrbG9uaSBibG9rIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogdW5hYmxlIHRvIHNlZWsgdG8gYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIkdyZcWha2EgxI1pdGFuamE6IG5lIG1vZ3UgaXp2csWhaXRpIHNlZWsgbmEgYmxvayB1IGRhdG90ZWNpIOKAniVz4oCdXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIkdyZcWha2EgxI1pdGFuamE6IG5laXNwcmF2YW4gYmxvayB1IGRhdG90ZWNpIOKAniVz4oCdXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSW50ZXJuYWwgZXJyb3I6IHRyeWluZyB0byB3cml0ZSBiYWQgYmxvY2tcbiIKKyJXcml0ZSByZXF1ZXN0IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorIkludGVybmEgZ3JlxaFrYTogcG9rdcWhYXZhbSB6YXBpc2F0aSBuZWlzcHJhdmFuIGJsb2tcbiIKKyJaYWh0amV2IHBpc2FuamEgamUgemFuZW1hcmVuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4NworbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICJzZWVrIG5pamUgdXNwaW8gdSB3cml0ZV9ibG9jayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIldyaXRlIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIkdyZcWha2EgcGlzYW5qYTogbmVpc3ByYXZhbiBibG9rIHUgZGF0b3RlY2kg4oCeJXPigJ1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTA1Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfc3VwZXJfYmxvY2siCittc2dzdHIgInNlZWsgbmlqZSB1c3BpbyB1IHdyaXRlX3N1cGVyX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MDcKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgIm5lIG1vZ3UgemFwaXNhdGkgc3VwZXJibG9rIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjAKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICJOZSBtb2d1IHphcGlzYXRpIG1hcHUgaW5kZWtzbmloIMSNdm9yb3ZhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjMKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgem9uZSBtYXAiCittc2dzdHIgIk5lIG1vZ3UgemFwaXNhdGkgbWFwdSB6b25hIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjYKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICJOZSBtb2d1IHphcGlzYXRpIGluZGVrc25lIMSNdm9yb3ZlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NTgKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorbXNnc3RyICJuZSBtb2d1IGFsb2NpcmF0aSBtZcSRdXNwcmVtbmlrIHphIHN1cGVyYmxvayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTYxCittc2dpZCAidW5hYmxlIHRvIHJlYWQgc3VwZXIgYmxvY2siCittc2dzdHIgIm5lIG1vZ3UgxI1pdGF0aSBzdXBlcmJsb2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4MworbXNnaWQgImJhZCBtYWdpYyBudW1iZXIgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg1Cittc2dpZCAiT25seSAxayBibG9ja3Mvem9uZXMgc3VwcG9ydGVkIgorbXNnc3RyICJQb2Ryxb5hbmkgc3Ugc2FtbyBibG9rb3ZpL3pvbmUgdmVsacSNaW5lIDFrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODcKKyMsIGZ1enp5Cittc2dpZCAiYmFkIHNfbmlub2RlcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAibmVpc3ByYXZubyBwb2xqZSBzX2ltYXBfYmxvY2tzIHUgc3VwZXJibG9rdSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg5Cittc2dpZCAiYmFkIHNfaW1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIm5laXNwcmF2bm8gcG9samUgc19pbWFwX2Jsb2NrcyB1IHN1cGVyYmxva3UiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5MQorIywgZnV6enkKK21zZ2lkICJiYWQgc19maXJzdGRhdGF6b25lIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJuZWlzcHJhdm5vIHBvbGplIHNfaW1hcF9ibG9ja3MgdSBzdXBlcmJsb2t1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTQKK21zZ2lkICJiYWQgc196bWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAibmVpc3ByYXZubyBwb2xqZSBzX3ptYXBfYmxvY2tzIHUgc3VwZXJibG9rdSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjEwCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgbWFwIgorbXNnc3RyICJOZSBtb2d1IGFsb2NpcmF0aSBtZcSRdXNwcmVtbmlrIHphIG1hcHUgaW5kZWtzbmloIMSNdm9yb3ZhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTMKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIG1hcCIKK21zZ3N0ciAiTmUgbW9ndSBhbG9jaXJhdGkgbWXEkXVzcHJlbW5payB6YSBtYXB1IHpvbmEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxNgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKK21zZ3N0ciAiTmUgbW9ndSBhbG9jaXJhdGkgbWXEkXVzcHJlbW5payB6YSBpbmRla3NuZSDEjXZvcm92ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE5Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgY291bnQiCittc2dzdHIgIk5lIG1vZ3UgYWxvY2lyYXRpIG1lxJF1c3ByZW1uaWsgemEgYnJvaiBpbmRla3NuaWggxI12b3JvdmEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyMgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgY291bnQiCittc2dzdHIgIk5lIG1vZ3UgYWxvY2lyYXRpIG1lxJF1c3ByZW1uaWsgemEgYnJvaiB6b25hIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjYKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZSBtYXAiCittc2dzdHIgIk5lIG1vZ3UgxI1pdGF0aSBtYXB1IGluZGVrc25paCDEjXZvcm92YSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjMwCittc2dpZCAiVW5hYmxlIHRvIHJlYWQgem9uZSBtYXAiCittc2dzdHIgIk5lIG1vZ3UgxI1pdGF0aSBtYXB1IHpvbmEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzNAorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlcyIKK21zZ3N0ciAiTmUgbW9ndSDEjWl0YXRpIGluZGVrc25lIMSNdm9yb3ZlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBpbm9kZXNcbiIKK21zZ3N0ciAiJWxkIGluZGVrc25paCDEjXZvcm92YVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGJsb2Nrc1xuIgorbXNnc3RyICIlbGQgYmxva292YVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ZGF0YXpvbmU9JWpkICglamQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSVkXG4iCittc2dzdHIgIlZlbGnEjWluYSB6b25lPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0NgorIywgYy1mb3JtYXQKK21zZ2lkICJNYXhzaXplPSV6dVxuIgorbXNnc3RyICJOYWp2ZcSHYSB2ZWxpxI1pbmE9JXp1XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIHN0YXRlPSVkXG4iCittc2dzdHIgIlN0YW5qZSBkYXRvdGXEjW5vZyBzdXN0YXZhPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibmFtZWxlbj0lemRcbiIKKyJcbiIKK21zZ3N0ciAiIgorImR1bGppbmFpbWVuYT0lemRcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjY0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcxNAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlZCBtYXJrZWQgdW51c2VkLCBidXQgdXNlZCBmb3IgZmlsZSAnJXMnXG4iCittc2dzdHIgIkluZGVrc25pIMSNdm9yICVkIGplIG96bmHEjWVuIGthbyBuZWtvcmnFoXRlbiwgYWxpIHNlIGtvcmlzdGkgemEgZGF0b3Rla3Ug4oCeJXPigJ1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjY3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcxNworbXNnaWQgIk1hcmsgaW4gdXNlIgorbXNnc3RyICJPem5hxI1pIGthbyBrb3JpxaF0ZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY4OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpbGUgYCVzJyBoYXMgbW9kZSAlMDVvXG4iCittc2dzdHIgIkRhdG90ZWthIOKAniVz4oCdIGltYSBtb2QgJTA1b1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2OTYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IGlub2RlIGNvdW50IHRvbyBiaWcuXG4iCittc2dzdHIgIlVwb3pvcmVuamU6IGJyb2ogaW5kZWtzbmloIMSNdm9yb3ZhIGplIHByZXZlbGlrLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NTUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzYzCittc2dpZCAicm9vdCBpbm9kZSBpc24ndCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAia29yaWplbnNraSBpbmRla3NuaSDEjXZvciBuaWplIGRpcmVrdG9yaWoiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc3NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgaGFzIGJlZW4gdXNlZCBiZWZvcmUuIE5vdyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJCbG9rIHNlIGtvcmlzdGlvIHJhbmlqZS4gU2FkIGplIHUgZGF0b3RlY2kg4oCeJXPigJ0uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODA4CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTIKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwOAorbXNnaWQgIkNsZWFyIgorbXNnc3RyICLEjGlzdG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgJWQgaW4gZmlsZSBgJXMnIGlzIG1hcmtlZCBub3QgaW4gdXNlLiIKK21zZ3N0ciAiQmxvayAlZCB1IGRhdG90ZWNpIOKAniVz4oCdIGplIG96bmHEjWVuIGthbyBuZWtvcmnFoXRlbi4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MjAKK21zZ2lkICJDb3JyZWN0IgorbXNnc3RyICJUb8SNbm8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk1OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkaXJlY3RvcnkgJyVzJyBjb250YWlucyBhIGJhZCBpbm9kZSBudW1iZXIgZm9yIGZpbGUgJyUuKnMnLiIKK21zZ3N0ciAiRGlyZWt0b3JpaiDigJ4lc+KAnSBzYWRyxb5pIG5laXNwcmF2YW4gYnJvaiBpbmRla3Nub2cgxI12b3JhIHphIGRhdG90ZWt1IOKAniUuKnPigJ0uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzNQorbXNnaWQgIiBSZW1vdmUiCittc2dzdHIgIiBVa2xvbmkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIKK21zZ3N0ciAiJXM6IG5laXNwcmF2YW4gZGlyZWt0b3Jpajog4oCeLuKAnSBuaWplIHBydmlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTg2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuLicgaXNuJ3Qgc2Vjb25kXG4iCittc2dzdHIgIiVzOiBuZWlzcHJhdmFuIGRpcmVrdG9yaWo6IOKAni4u4oCdIG5pamUgZHJ1Z2lcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA5NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTE3Cittc2dpZCAiaW50ZXJuYWwgZXJyb3IiCittc2dzdHIgImludGVybmEgZ3JlxaFrYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA5NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBzaXplIDwgMzIiCittc2dzdHIgIiVzOiBuZWlzcHJhdmFuIGRpcmVrdG9yaWo6IHZlbGnEjWluYSA8IDMyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogaW52YWxpZCBpX3pvbmUsIHVzZSAtLXJlcGFpciB0byBmaXhcbiIKK21zZ3N0ciAiJXM6IG5laXNwcmF2YW4gZGlyZWt0b3Jpajog4oCeLuKAnSBuaWplIHBydmlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEzMgorbXNnaWQgInNlZWsgZmFpbGVkIGluIGJhZF96b25lIgorbXNnc3RyICJzZWVrIG5pamUgdXNwaW8gdSBiYWRfem9uZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBtb2RlIG5vdCBjbGVhcmVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTUxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG5vdCB1c2VkLCBtYXJrZWQgdXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IHVzZWQsIG1hcmtlZCB1bnVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1OCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE0Cittc2dpZCAiU2V0IgorbXNnc3RyICJQb3N0YXZpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTYyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IChtb2RlID0gJTA3byksIGlfbmxpbmtzPSVkLCBjb3VudGVkPSVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjEKK21zZ2lkICJTZXQgaV9ubGlua3MgdG8gY291bnQiCittc2dzdHIgIlBvc3RhdmkgaV9ubGlua3MgbmEgYnJvaiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBtYXJrZWQgaW4gdXNlLCBubyBmaWxlIHVzZXMgaXQuIgorbXNnc3RyICJab25hICVsdTogb3puYcSNZW5hIGthbyBrb3JpxaF0ZW5hLCBuaWplZG5hIGRhdG90ZWthIGp1IG5lIGtvcmlzdGkuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTc5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzUKK21zZ2lkICJVbm1hcmsiCittc2dzdHIgIk9kem5hxI1pIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTg0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MworIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbm90IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyOTEKK21zZ2lkICJiYWQgaW5vZGUgc2l6ZSIKK21zZ3N0ciAibmVpc3ByYXZuYSB2ZWxpxI1pbmEgaW5kZWtzbm9nIMSNdm9yYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5MworbXNnaWQgImJhZCB2MiBpbm9kZSBzaXplIgorbXNnc3RyICJuZWlzcHJhdm5hIHZlbGnEjWluYSBpbmRla3Nub2cgxI12b3JhIHYyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzM3Cittc2dpZCAibmVlZCB0ZXJtaW5hbCBmb3IgaW50ZXJhY3RpdmUgcmVwYWlycyIKK21zZ3N0ciAicG90cmViYW4gamUgdGVybWluYWwgemEgaW50ZXJha3Rpdm5lIHBvcHJhdmtlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlcyIKK21zZ3N0ciAibmUgbW9ndSBvdHZvcml0aSAlczogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgY2xlYW4sIG5vIGNoZWNrLlxuIgorbXNnc3RyICIlcyBqZSDEjWlzdCwgcHJvdmplcmEgbmVwb3RyZWJuYS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGb3JjaW5nIGZpbGVzeXN0ZW0gY2hlY2sgb24gJXMuXG4iCittc2dzdHIgIlByaXNpbG5vIHByb3ZqZXJhdmFtIGRhdG90ZcSNbmkgc3VzdGF2IG5hICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzU3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gb24gJXMgaXMgZGlydHksIG5lZWRzIGNoZWNraW5nLlxuIgorbXNnc3RyICJEYXRvdGXEjW5pIHN1c3RhdiBuYSAlcyBqZSBuZcSNaXN0LCBwb3RyZWJuYSBqZSBwcm92amVyYS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZsZCBpbm9kZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlNmxkIGluZGVrc25paCDEjXZvcm92YSBrb3JpxaF0ZW5vICglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlNmxkIHpvbmVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICIlNmxkIHpvbmEga29yacWhdGVubyAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2ZCByZWd1bGFyIGZpbGVzXG4iCisiJTZkIGRpcmVjdG9yaWVzXG4iCisiJTZkIGNoYXJhY3RlciBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgYmxvY2sgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGxpbmtzXG4iCisiJTZkIHN5bWJvbGljIGxpbmtzXG4iCisiLS0tLS0tXG4iCisiJTZkIGZpbGVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlNmQgb2JpxI1uaWggZGF0b3Rla2FcbiIKKyIlNmQgZGlyZWt0b3JpamFcbiIKKyIlNmQgZGF0b3Rla2Egem5ha292bmloIHVyZcSRYWphXG4iCisiJTZkIGRhdG90ZWthIGJsb2tvdnNraWggdXJlxJFhamFcbiIKKyIlNmQgdmV6YVxuIgorIiU2ZCBzaW1ib2xpxI1raWggdmV6YVxuIgorIi0tLS0tLVxuIgorIiU2ZCBkYXRvdGVrYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDExCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiRklMRSBTWVNURU0gSEFTIEJFRU4gQ0hBTkdFRFxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIkRBVE9URcSMTkkgU1VTVEFWIFNFIFBST01JSkVOSU9cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MzMKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTM5IGRpc2stdXRpbHMvcGFydHguYzoxMDM1IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMgorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTggc3lzLXV0aWxzL2RtZXNnLmM6NjU5IHN5cy11dGlscy93ZGN0bC5jOjM0NgorIzogc3lzLXV0aWxzL3dkY3RsLmM6NDExIHRlcm0tdXRpbHMvc2NyaXB0LmM6MjcyIHRlcm0tdXRpbHMvc2NyaXB0LmM6MzQ5CisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI0OAorbXNnaWQgIndyaXRlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1pZ2h0IG5vdCBiZSBhbiBJU08gZmlsZXN5c3RlbSIKK21zZ3N0ciAiJXM6IG1vxb5kYSBuaWplIElTTyBkYXRvdGXEjW5pIHN1c3RhdiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTM5CisjLCBjLWZvcm1hdAorbXNnaWQgInNlZWsgZXJyb3Igb24gJXMiCittc2dzdHIgInNlZWsgZ3JlxaFrYSBuYSAlcyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTQyCisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWQgZXJyb3Igb24gJXMiCittc2dzdHIgImdyZcWha2EgxI1pdGFuamEgbmEgJXMiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZWN0b3IgY291bnQ6ICVkLCBzZWN0b3Igc2l6ZTogJWRcbiIKK21zZ3N0ciAiYnJvaiBzZWt0b3JhOiAlZCwgdmVsacSNaW5hIHNla3RvcmE6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3MAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxpc285NjYwX2ltYWdlX2ZpbGU+XG4iCittc2dzdHIgIiAlcyBbb3BjaWplXSA8aXNvOTY2MF9kYXRvdGVrYV9zbGlrZT5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTc0CisjLCBmdXp6eQorbXNnaWQgIlNob3cgdGhlIGxlbmd0aCBvZiBhbiBJU08tOTY2MCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIlczogbW/FvmRhIG5pamUgSVNPIGRhdG90ZcSNbmkgc3VzdGF2IgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzcKK21zZ2lkICIgLWQsIC0tZGl2aXNvcj08bnVtYmVyPiAgZGl2aWRlIHRoZSBhbW91bnQgb2YgYnl0ZXMgYnkgPG51bWJlcj5cbiIKK21zZ3N0ciAiIC1kLCAtLWRpdmlzb3I9PGJyb2o+ICAgIHBvZGlqZWxpIGtvbGnEjWludSBiYWp0b3ZhIHNhIDxicm9qPlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzgKK21zZ2lkICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgc2hvdyBzZWN0b3IgY291bnQgYW5kIHNpemVcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoyMTAKK21zZ2lkICJpbnZhbGlkIGRpdmlzb3IgYXJndW1lbnQiCittc2dzdHIgIm5laXNwcmF2YW4gYXJndW1lbnQgZGplbGl0ZWxqYSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW29wY2lqZV0gdXJlxJFhaiBbYnJvai1ibG9rb3ZhXVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzcKK21zZ2lkICJNYWtlIGFuIFNDTyBiZnMgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1OLCAtLWlub2Rlcz1OVU0gICAgc3BlY2lmeSBkZXNpcmVkIG51bWJlciBvZiBpbm9kZXNcbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICBzcGVjaWZ5IHZvbHVtZSBuYW1lXG4iCisiIC1GLCAtLWZuYW1lPU5BTUUgICAgc3BlY2lmeSBmaWxlIHN5c3RlbSBuYW1lXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyIgLWMgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1sICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiICAgICAgICAgICAgICAgICAgICAgLVYgYXMgdmVyc2lvbiBtdXN0IGJlIG9ubHkgb3B0aW9uXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTQ0Cittc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICJuZWlzcHJhdmFuIGJyb2ogaW5kZWtzbmloIMSNdm9yb3ZhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTUwCittc2dpZCAidm9sdW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgImltZSBwcm9zdG9yYSBqZSBwcmVkdWdhxI1rbyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1NworbXNnaWQgImZzbmFtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICJpbWUgZGF0b3RlxI1ub2cgc3VzdGF2YSBqZSBwcmVkdWdhxI1rbyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5MworbXNnaWQgImludmFsaWQgYmxvY2stY291bnQiCittc2dzdHIgIm5laXNwcmF2YW4gYnJvai1ibG9rb3ZhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAibmUgbW9ndSBvdGtyaXRpIHZlbGnEjWludSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJibG9ja3MgYXJndW1lbnQgdG9vIGxhcmdlLCBtYXggaXMgJWxsdSIKK21zZ3N0ciAiYXJndW1lbnQgYmxva292YSBqZSBwcmV2ZWxpaywgbmFqdmnFoWUgJWxsdSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIxOQorbXNnaWQgInRvbyBtYW55IGlub2RlcyAtIG1heCBpcyA1MTIiCittc2dzdHIgInByZXZpxaFlIGluZGVrc25paCDEjXZvcm92YSAtIG5hanZpxaFlIDUxMiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlLCBuZWVkIGF0IGxlYXN0ICVsbHUgYmxvY2tzIgorbXNnc3RyICJuZW1hIGRvdm9sam5vIHByb3N0b3JhLCBwb3RyZWJubyBqZSBiYXJlbSAlbGx1IGJsb2tvdmEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlOiAlc1xuIgorbXNnc3RyICJVcmXEkWFqOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIlZvbHVtZTogPCUtNnM+XG4iCittc2dzdHIgIlByb3N0b3I6IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZTbmFtZTogPCUtNnM+XG4iCittc2dzdHIgIkltZSBkYXRvdGXEjW5vZyBzdXN0YXZhOiA8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NAorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9ja1NpemU6ICVkXG4iCittc2dzdHIgIlZlbGnEjWluYSBibG9rYTogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluIDEgYmxvY2spXG4iCittc2dzdHIgIkluZGVrc25pIMSNdm9yb3ZpOiAlbHUgKHUgMSBibG9rdSlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluICVsbHUgYmxvY2tzKVxuIgorbXNnc3RyICJJbmRla3NuaSDEjXZvcm92aTogJWx1ICh1ICVsbHUgYmxva292YSlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tzOiAlbGx1XG4iCittc2dzdHIgIkJsb2tvdmk6ICVsbGRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSBlbmQ6ICVkLCBEYXRhIGVuZDogJWRcbiIKK21zZ3N0ciAiWmF2csWhZXRhazogaW5kZWtzbmkgxI12b3I6ICVkLCBwb2RhY2k6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTcKK21zZ2lkICJlcnJvciB3cml0aW5nIHN1cGVyYmxvY2siCittc2dzdHIgImdyZcWha2EgcHJpIHBpc2FuanUgc3VwZXJibG9rYSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI3OAorbXNnaWQgImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIKK21zZ3N0ciAiZ3JlxaFrYSBwcmkgcGlzYW5qdSBrb3JpamVuc2tvZyBpbmRla3Nub2cgxI12b3JhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjgzCittc2dpZCAiZXJyb3Igd3JpdGluZyBpbm9kZSIKK21zZ3N0ciAiZ3JlxaFrYSBwcmkgcGlzYW5qdSBpbmRla3Nub2cgxI12b3JhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjg2Cittc2dpZCAic2VlayBlcnJvciIKK21zZ3N0ciAic2VlayBncmXFoWthIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjkyCittc2dpZCAiZXJyb3Igd3JpdGluZyAuIGVudHJ5IgorbXNnc3RyICJncmXFoWthIHByaSBwaXNhbmp1IHN0YXZrZSAuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjk2Cittc2dpZCAiZXJyb3Igd3JpdGluZyAuLiBlbnRyeSIKK21zZ3N0ciAiZ3JlxaFrYSBwcmkgcGlzYW5qdSBzdGF2a2UgLi4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2xvc2luZyAlcyIKK21zZ3N0ciAiZ3JlxaFrYSBwcmkgemF0dmFyYW5qdSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXQgPHR5cGU+XSBbZnMtb3B0aW9uc10gPGRldmljZT4gWzxzaXplPl1cbiIKK21zZ3N0ciAiJXMgW29wY2lqZV0gWy10IDx2cnN0YT5dIFtkcy1vcGNpamVdIDx1cmXEkWFqPiBbPHZlbGnEjWluYT5dXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ4CisjLCBmdXp6eQorbXNnaWQgIk1ha2UgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJQcm92amVyYXZhbSBzdmUgZGF0b3RlxI1uZSBzdXN0YXZlLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICIgLXQsIC0tdHlwZT08dHlwZT4gIGZpbGVzeXN0ZW0gdHlwZTsgd2hlbiB1bnNwZWNpZmllZCwgZXh0MiBpcyB1c2VkXG4iCittc2dzdHIgIiAtdCwgLS10eXBlPTx2cnN0YT4gdnJzdGEgZGF0b3RlxI1ub2cgc3VzdGF2YSwgYWtvIG5pamUgbmF2ZWRlbm8sIGtvcmlzdGkgc2UgZXh0MlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIGZzLW9wdGlvbnMgICAgIHBhcmFtZXRlcnMgZm9yIHRoZSByZWFsIGZpbGVzeXN0ZW0gYnVpbGRlclxuIgorbXNnc3RyICIgICAgIGRzLW9wY2lqZSAgICAgIHBhcmFtZXRyaSB6YSBzdHZhcm5vZyBncmFkaXRlbGphIGRhdG90ZcSNbm9nIHN1c3RhdmFcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8ZGV2aWNlPiAgICAgICBwYXRoIHRvIHRoZSBkZXZpY2UgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIgICAgIDx1cmXEkWFqPiAgICAgICBwdXRhbmphIHphIHVyZcSRYWoga29qaSBzZSBrb3Jpc3RpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPHNpemU+ICAgICAgICAgbnVtYmVyIG9mIGJsb2NrcyB0byBiZSB1c2VkIG9uIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiICAgICA8dmVsacSNaW5hPiAgICAgYnJvaiBibG9rb3ZhIHphIGtvcmnFoXRlbmplIG5hIHVyZcSRYWp1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5aW5nIC1WIG1vcmUgdGhhbiBvbmNlIHdpbGwgY2F1c2UgYSBkcnktcnVuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJzaW9uICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0O1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAtViBhcyAtLXZlcnNpb24gbXVzdCBiZSB0aGUgb25seSBvcHRpb25cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICIgLWgsIC0taGVscCAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1oLCAtLWhlbHAgICAgICAgICBwcmlrYcW+aSBvdnUgcG9tb8SHIGkgaXphxJFpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjEzOSBsaWIvZXhlY19zaGVsbC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjIzMworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjU3IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk5MgorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwMCBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODA0IHNjaGVkdXRpbHMvY2hydC5jOjU1OAorIzogc2NoZWR1dGlscy9pb25pY2UuYzoyNjAgc2NoZWR1dGlscy90YXNrc2V0LmM6MjM5IHN5cy11dGlscy9mbG9jay5jOjEyMgorIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MzAgc3lzLXV0aWxzL3BybGltaXQuYzo2NDQgc3lzLXV0aWxzL3J0Y3dha2UuYzo1NzcKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzI0IHN5cy11dGlscy9zZXRhcmNoLmM6NDAzIHN5cy11dGlscy9zZXRzaWQuYzoxMTUKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozNDAgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjQyIHN5cy11dGlscy91bnNoYXJlLmM6NDYxCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU4MSB0ZXh0LXV0aWxzL3BnLmM6MTM3NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1c2FnZTogJXMgWy1oXSBbLXZdIFstYiBibGtzaXplXSBbLWUgZWRpdGlvbl0gWy1OIGVuZGlhbl0gWy1pIGZpbGVdIFstbiBuYW1lXSBkaXJuYW1lIG91dGZpbGVcbiIKKyIgLWggICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyIgLXYgICAgICAgICBiZSB2ZXJib3NlXG4iCisiIC1FICAgICAgICAgbWFrZSBhbGwgd2FybmluZ3MgZXJyb3JzIChub24temVybyBleGl0IHN0YXR1cylcbiIKKyIgLWIgYmxrc2l6ZSB1c2UgdGhpcyBibG9ja3NpemUsIG11c3QgZXF1YWwgcGFnZSBzaXplXG4iCisiIC1lIGVkaXRpb24gc2V0IGVkaXRpb24gbnVtYmVyIChwYXJ0IG9mIGZzaWQpXG4iCisiIC1OIGVuZGlhbiAgc2V0IGNyYW1mcyBlbmRpYW5uZXNzIChiaWd8bGl0dGxlfGhvc3QpLCBkZWZhdWx0IGhvc3RcbiIKKyIgLWkgZmlsZSAgICBpbnNlcnQgYSBmaWxlIGltYWdlIGludG8gdGhlIGZpbGVzeXN0ZW0gKHJlcXVpcmVzID49IDIuNC4wKVxuIgorIiAtbiBuYW1lICAgIHNldCBuYW1lIG9mIGNyYW1mcyBmaWxlc3lzdGVtXG4iCisiIC1wICAgICAgICAgcGFkIGJ5ICVkIGJ5dGVzIGZvciBib290IGNvZGVcbiIKKyIgLXMgICAgICAgICBzb3J0IGRpcmVjdG9yeSBlbnRyaWVzIChvbGQgb3B0aW9uLCBpZ25vcmVkKVxuIgorIiAteiAgICAgICAgIG1ha2UgZXhwbGljaXQgaG9sZXMgKHJlcXVpcmVzID49IDIuMy4zOSlcbiIKKyIgZGlybmFtZSAgICByb290IG9mIHRoZSBmaWxlc3lzdGVtIHRvIGJlIGNvbXByZXNzZWRcbiIKKyIgb3V0ZmlsZSAgICBvdXRwdXQgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhZGxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAicmVhZGxpbmsgbmlqZSB1c3BpbzogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJuZSBtb2d1IMSNaXRhdGkgZGlyZWt0b3JpaiAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjQ0MworbXNnaWQgImZpbGVzeXN0ZW0gdG9vIGJpZy4gIEV4aXRpbmcuIgorbXNnc3RyICJkYXRvdGXEjW5pIHN1c3RhdiBqZSBwcmV2ZWxpay4gSXpsYXppbS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQUlFRUU6IGJsb2NrIFwiY29tcHJlc3NlZFwiIHRvID4gMipibG9ja2xlbmd0aCAoJWxkKVxuIgorbXNnc3RyICJBSUVFRTogYmxvayDigJ5rb21wcmltaXJhbuKAnSBuYSA+IDIqdmVsacSNaW5hYmxva2EgKCVsZClcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZCBiYWp0b3ZhKVx0JXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2xvc2UgZmlsZSAlcyIKK21zZ3N0ciAibmUgbW9ndSB6YXR2b3JpdGkgZGF0b3Rla3UgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MzIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBlZGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAibmVpc3ByYXZhbiBicm9qIHBhcnRpY2lqZSBrYW8gYXJndW1lbnQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBndWVzdGltYXRlIG9mIHJlcXVpcmVkIHNpemUgKHVwcGVyIGJvdW5kKSBpcyAlbGxkTUIsIGJ1dCBtYXhpbXVtIGltYWdlIHNpemUgaXMgJXVNQi4gIFdlIG1pZ2h0IGRpZSBwcmVtYXR1cmVseS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgzMAorbXNnaWQgIlJPTSBpbWFnZSBtYXAiCittc2dzdHIgIk1hcGEgUk9NIHNsaWtlIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkluY2x1ZGluZzogJXNcbiIKK21zZ3N0ciAiVWtsanXEjWVubzogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg0OAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgZGF0YTogJXpkIGJ5dGVzXG4iCittc2dzdHIgIlBvZGFjaSBkaXJla3RvcmlqYTogJXpkIGJhanRvdmFcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg1NgorIywgYy1mb3JtYXQKK21zZ2lkICJFdmVyeXRoaW5nOiAlemQga2lsb2J5dGVzXG4iCittc2dzdHIgIlN2ZTogJXpkIGtpbG9iYWp0YVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODYxCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cGVyIGJsb2NrOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiU3VwZXJibG9rOiAlemQgYmFqdG92YVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNSQzogJXhcbiIKK21zZ3N0ciAiQ1JDOiAleFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODczCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UgYWxsb2NhdGVkIGZvciBST00gaW1hZ2UgKCVsbGQgYWxsb2NhdGVkLCAlenUgdXNlZCkiCittc2dzdHIgIm5pamUgYWxvY2lyYW5vIGRvdm9sam5vIHByb3N0b3JhIHphIFJPTSBzbGlrdSAoYWxvY2lyYW5vICVsbGQsIGtvcmnFoXRlbm8gJXp1KSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3OQorIywgYy1mb3JtYXQKK21zZ2lkICJST00gaW1hZ2Ugd3JpdGUgZmFpbGVkICglemQgJXpkKSIKK21zZ3N0ciAicGlzYW5qZSBST00gc2xpa2UgbmlqZSB1c3BqZWxvICglemQgJXpkKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg4MgorbXNnaWQgIlJPTSBpbWFnZSIKK21zZ3N0ciAiUk9NIHNsaWthIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlbmFtZXMgdHJ1bmNhdGVkIHRvICV1IGJ5dGVzLiIKK21zZ3N0ciAidXBvem9yZW5qZTogaW1lbmEgZGF0b3Rla2Egc2tyYcSHZW5hIG5hIDI1NSBiYWp0b3ZhLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MworbXNnaWQgIndhcm5pbmc6IGZpbGVzIHdlcmUgc2tpcHBlZCBkdWUgdG8gZXJyb3JzLiIKK21zZ3N0ciAidXBvem9yZW5qZTogZGF0b3Rla2Ugc3UgcHJlc2tvxI1lbmUgemJvZyBncmXFoWFrYS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZSBzaXplcyB0cnVuY2F0ZWQgdG8gJWx1TUIgKG1pbnVzIDEgYnl0ZSkuIgorbXNnc3RyICJ1cG96b3JlbmplOiB2ZWxpxI1pbmUgZGF0b3Rla2Egc2tyYcSHZW5lIG5hICVsdU1CIChtaW51cyAxIGJhanQpLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5OQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ2lkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXQVJOSU5HOiBkZXZpY2UgbnVtYmVycyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIFRoaXMgYWxtb3N0IGNlcnRhaW5seSBtZWFuc1xuIgorInRoYXQgc29tZSBkZXZpY2UgZmlsZXMgd2lsbCBiZSB3cm9uZy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC9kZXYvbmFtZSBbYmxvY2tzXVxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbb3BjaWplXSB1cmXEkWFqIFticm9qLWJsb2tvdmFdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzNworIywgZnV6enkKK21zZ2lkICIgLTEgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMVxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM4CisjLCBmdXp6eQorbXNnaWQgIiAtMiwgLXYgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAyXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM5CisjLCBmdXp6eQorbXNnaWQgIiAtMyAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAzXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5hbWVsZW5ndGggPG51bT4gIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lc1xuIgorbXNnc3RyICJuaXNhbSB1c3BpbyBvYnJhZGl0aSBuYWp2ZcSHdSB2ZWxpxI1pbnUgaW1lbmEgZGF0b3Rla2UiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taW5vZGVzIDxudW0+ICAgICAgbnVtYmVyIG9mIGlub2RlcyBmb3IgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIGNoZWNrIHRoZSBkZXZpY2UgZm9yIGJhZCBibG9ja3NcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDMKK21zZ2lkICIgLWwsIC0tYmFkYmxvY2tzIDxmaWxlPiAgbGlzdCBvZiBiYWQgYmxvY2tzIGZyb20gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayB0byBib290IGJsb2NrIGZhaWxlZCAgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGNsZWFyIGJvb3Qgc2VjdG9yIgorbXNnc3RyICIlczogbmUgbW9ndSBvxI1pc3RpdGkgYm9vdCBzZWt0b3IiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIlczogc2VlayBuaWplIHVzcGlvIHUgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAiJXM6IG5lIG1vZ3UgcGlzYXRpIHN1cGVyYmxvayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICIlczogbmUgbW9ndSBwaXNhdGkgbWFwdSBpbmRla3NuaWggxI12b3JvdmEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICIlczogbmUgbW9ndSBwaXNhdGkgbWFwdSB6b25hIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgIiVzOiBuZSBtb2d1IHBpc2F0aSBpbmRla3NuZSDEjXZvcm92ZSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6IHNlZWsgbmlqZSB1c3BpbyB1IHdyaXRlX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6IHdyaXRlIG5pamUgdXNwaW8gdSB3cml0ZV9ibG9jayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjIxIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjI5NgorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbWFueSBiYWQgYmxvY2tzIgorbXNnc3RyICIlczogcHJldmnFoWUgbmVpc3ByYXZuaWggYmxva292YSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZW5vdWdoIGdvb2QgYmxvY2tzIgorbXNnc3RyICIlczogbmVkb3ZvbGpubyBpc3ByYXZuaWggYmxva292YSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJGaXJzdCBkYXRhIGJsb2NrIGF0ICVqZCwgd2hpY2ggaXMgdG9vIGZhciAobWF4ICVkKS5cbiIKKyJUcnkgc3BlY2lmeWluZyBmZXdlciBpbm9kZXMgYnkgcGFzc2luZyAtLWlub2RlcyA8bnVtPiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIiVsdSBpbmRla3NuaWggxI12b3JvdmFcbiIKK21zZ3N0clsxXSAiJWx1IGluZGVrc25paCDEjXZvcm92YVxuIgorbXNnc3RyWzJdICIlbHUgaW5kZWtzbmloIMSNdm9yb3ZhXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVsdSBibG9ja3NcbiIKK21zZ3N0clswXSAiJWx1IGJsb2tvdmFcbiIKK21zZ3N0clsxXSAiJWx1IGJsb2tvdmFcbiIKK21zZ3N0clsyXSAiJWx1IGJsb2tvdmFcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSV6dVxuIgorbXNnc3RyICJWZWxpxI1pbmEgem9uZT0lenVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJNYXhzaXplPSV6dVxuIgorIlxuIgorbXNnc3RyICIiCisiTmFqdmXEh2EgdmVsacSNaW5hPSV6dVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGR1cmluZyB0ZXN0aW5nIG9mIGJsb2NrcyIKK21zZ3N0ciAiJXM6IHNlZWsgbmlqZSB1c3BpbyB6YSB2cmlqZW1lIHRlc3RpcmFuamEgYmxva292YSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIldlaXJkIHZhbHVlcyBpbiBkb19jaGVjazogcHJvYmFibHkgYnVnc1xuIgorbXNnc3RyICLEjHVkbmUgdnJpamVkbm9zdGkgdSBkb19jaGVjazogdmplcm9qYXRubyBidWdvdmlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgIiVzOiBzZWVrIG5pamUgdXNwaW8gdSBjaGVja19ibG9ja3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGJsb2NrcyBiZWZvcmUgZGF0YS1hcmVhOiBjYW5ub3QgbWFrZSBmcyIKK21zZ3N0ciAiJXM6IG5laXNwcmF2bmkgYmxva292aSBwcmlqYSBwb2RhdGtvdm5vZyBwb2RydcSNamE6IG5lIG1vZ3UgbmFwcmF2aXRpIGRhdG90ZcSNbmkgc3VzdGF2IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MzkgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCBiYWQgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWQgYmFkIGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlZCBuZWlzcHJhdm5paCBibG9rb3ZhXG4iCittc2dzdHJbMV0gIiVkIG5laXNwcmF2bmloIGJsb2tvdmFcbiIKK21zZ3N0clsyXSAiJWQgbmVpc3ByYXZuaWggYmxva292YVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IG9wZW4gZmlsZSBvZiBiYWQgYmxvY2tzIgorbXNnc3RyICIlczogbmUgbW9ndSBvdHZvcml0aSBkYXRvdGVrdSBuZWlzcHJhdm5paCBibG9rb3ZhIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkYmxvY2sgbnVtYmVyIGlucHV0IGVycm9yIG9uIGxpbmUgJWRcbiIKK21zZ3N0ciAiZ3JlxaFrYSB1bm9zYSBicm9qYSBuZWlzcHJhdm5vZyBibG9rYSB1IHJldGt1ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgYmFkYmxvY2tzIGZpbGUiCittc2dzdHIgIiVzOiBuZSBtb2d1IMSNaXRhdGkgZGF0b3Rla3UgbmVpc3ByYXZuaWggYmxva292YSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk0CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIHNpemUgc21hbGxlciB0aGFuIHBoeXNpY2FsIHNlY3RvciBzaXplIG9mICVzIgorbXNnc3RyICJ2ZWxpxI1pbmEgYmxva2EgamUgbWFuamEgb2QgdmVsacSNaW5lIGZpemnEjWtvZyBzZWt0b3JhICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBzaXplIG9mICVzIgorbXNnc3RyICJuZSBtb2d1IG9kcmVkaXRpIHZlbGnEjWludSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZXF1ZXN0ZWQgYmxvY2tzICglbGx1KSBleGNlZWRzIGF2YWlsYWJsZSAoJWxsdSkgYmxvY2tzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiJXM6IGJyb2ogYmxva292YSBqZSBwcmVtYWxlbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzIzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbmFtZSBsZW5ndGg6ICVkIgorbXNnc3RyICJuZXBvZHLFvmFuZSBtb2d1xIdub3N0aSBkYXRvdGXEjW5vZyBzdXN0YXZhIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG1pbml4IGZpbGUgc3lzdGVtIHZlcnNpb246ICVkIgorbXNnc3RyICJuZXBvZHLFvmFuZSBtb2d1xIdub3N0aSBkYXRvdGXEjW5vZyBzdXN0YXZhIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NjcKK21zZ2lkICItdiBpcyBhbWJpZ3VvdXMsIHVzZSAnLTInIGluc3RlYWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Nzc4Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lcyIKK21zZ3N0ciAibmlzYW0gdXNwaW8gb2JyYWRpdGkgbmFqdmXEh3UgdmVsacSNaW51IGltZW5hIGRhdG90ZWtlIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAibmlzYW0gdXNwaW8gb2JyYWRpdGkgYnJvaiBpbmRla3NuaWggxI12b3JvdmEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgwNgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgYmxvY2tzIgorbXNnc3RyICJuaXNhbSB1c3BpbyBvYnJhZGl0aSBicm9qIGJsb2tvdmEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIGEgZmlsZXN5c3RlbSBoZXJlISIKK21zZ3N0ciAiJXMgamUgbW9udGlyYW4sIG5lxId1IG92ZGplIG5hcHJhdml0aSBkYXRvdGXEjW5pIHN1c3RhdiEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIHVzZXItc3BlY2lmaWVkIHBhZ2Ugc2l6ZSAldSIKK21zZ3N0ciAiTmVpc3ByYXZuYSBrb3Jpc25pxI1raSBuYXZlZGVuYSB2ZWxpxI1pbmEgc3RyYW5pY2UgJXUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICVkLCBpbnN0ZWFkIG9mIHRoZSBzeXN0ZW0gdmFsdWUgJWQiCittc2dzdHIgIktvcmlzdGltIGtvcmlzbmnEjWtpIG5hdmVkZW51IHZlbGnEjWludSBzdHJhbmljZSAlZCB1bWplc3RvIHZyaWplZG5vc3RpIHN1c3RhdmEgJWQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTI0Cittc2dpZCAiTGFiZWwgd2FzIHRydW5jYXRlZC4iCittc2dzdHIgIk96bmFrYSBqZSBza3JhxIdlbmEuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBsYWJlbCwgIgorbXNnc3RyICJuZW1hIG96bmFrZSwgIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyB1dWlkXG4iCittc2dzdHIgIm5lbWEgdXVpZC1hXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdIGRldmljZSBbc2l6ZV1cbiIKK21zZ3N0ciAiIgorIlxuIgorIlVwb3JhYmE6XG4iCisiICVzIFtvcGNpamVdIHVyZcSRYWogW3ZlbGnEjWluYV1cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTIKK21zZ2lkICJTZXQgdXAgYSBMaW51eCBzd2FwIGFyZWEuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1jLCAtLWNoZWNrICAgICAgICAgICAgICAgY2hlY2sgYmFkIGJsb2NrcyBiZWZvcmUgY3JlYXRpbmcgdGhlIHN3YXAgYXJlYVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGFsbG93IHN3YXAgc2l6ZSBhcmVhIGJlIGxhcmdlciB0aGFuIGRldmljZVxuIgorIiAtcCwgLS1wYWdlc2l6ZSBTSVpFICAgICAgIHNwZWNpZnkgcGFnZSBzaXplIGluIGJ5dGVzXG4iCisiIC1MLCAtLWxhYmVsIExBQkVMICAgICAgICAgc3BlY2lmeSBsYWJlbFxuIgorIiAtdiwgLS1zd2FwdmVyc2lvbiBOVU0gICAgIHNwZWNpZnkgc3dhcC1zcGFjZSB2ZXJzaW9uIG51bWJlclxuIgorIiAtVSwgLS11dWlkIFVVSUQgICAgICAgICAgIHNwZWNpZnkgdGhlIHV1aWQgdG8gdXNlXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBiYWQgcGFnZXM6ICVsdSIKK21zZ3N0ciAicHJldmnFoWUgbmVpc3ByYXZuaWggc3RyYW5pY2EiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTk1Cittc2dpZCAic2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIgorbXNnc3RyICJzZWVrIG5pamUgdXNwaW8gdSBjaGVja19ibG9ja3MiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBiYWQgcGFnZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgYmFkIHBhZ2VzXG4iCittc2dzdHJbMF0gIiVsdSBuZWlzcHJhdm5hIHN0cmFuaWNhXG4iCittc2dzdHJbMV0gIiVsdSBuZWlzcHJhdm5lIHN0cmFuaWNlXG4iCittc2dzdHJbMl0gIiVsdSBuZWlzcHJhdm5paCBzdHJhbmljYVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIyOAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBuZXcgbGliYmxraWQgcHJvYmUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMzAKK21zZ2lkICJ1bmFibGUgdG8gYXNzaWduIGRldmljZSB0byBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjaGVja2luZyBiYWQgYmxvY2tzIGZyb20gc3dhcCBmaWxlIGlzIG5vdCBzdXBwb3J0ZWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjYxIGRpc2stdXRpbHMvbWtzd2FwLmM6Mjg3IGRpc2stdXRpbHMvbWtzd2FwLmM6MzM0Cittc2dpZCAidW5hYmxlIHRvIHJld2luZCBzd2FwLWRldmljZSIKK21zZ3N0ciAibmUgbW9ndSB2cmF0aXRpIHVuYXRyYWcgc3dhcC11cmXEkWFqIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI5MAorbXNnaWQgInVuYWJsZSB0byBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiB3aXBpbmcgb2xkICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IGRvbid0IGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoJXMgcGFydGl0aW9uIHRhYmxlIGRldGVjdGVkKS4gIgorbXNnc3RyICIgICAgICAgIChvdGtyaXZlbmEgJXMgcGFydGljaWpza2EgdGFibGljYSkuICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoY29tcGlsZWQgd2l0aG91dCBsaWJibGtpZCkuICIKK21zZ3N0ciAiICAgICAgICAoa29tcGFqbGlyYW5vIGJleiBsaWJibGtpZCkuICIKKworIyBwcmlzaWxubyDFoXRvPworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzZSAtZiB0byBmb3JjZS5cbiIKK21zZ3N0ciAiS29yaXN0aXRlIC1mIHphIHByaXNpbG5vIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHNpZ25hdHVyZSBwYWdlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzgwCittc2dpZCAicGFyc2luZyBwYWdlIHNpemUgZmFpbGVkIgorbXNnc3RyICJvYnJhZGEgdmVsacSNaW5lIHN0cmFuaWNlIG5pamUgdXNwamVsYSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODYKK21zZ2lkICJwYXJzaW5nIHZlcnNpb24gbnVtYmVyIGZhaWxlZCIKK21zZ3N0ciAib2JyYWRhIGJyb2phIGluYcSNaWNlIG5pamUgdXNwamVsYSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcHNwYWNlIHZlcnNpb24gJWQgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBpZ25vcmluZyAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkIGJ5ICVzKSIKK21zZ3N0ciAidXBvem9yZW5qZTogemFuZW1hcnVqZW0gLVUgKCVzIG5lIHBvZHLFvmF2YSBrb3JpxaF0ZW5qZSBVVUlELWEpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQxNAorbXNnaWQgIm9ubHkgb25lIGRldmljZSBhcmd1bWVudCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDIxCittc2dpZCAiZXJyb3I6IHBhcnNpbmcgVVVJRCBmYWlsZWQiCittc2dzdHIgImdyZcWha2E6IG9icmFkYSBVVUlELWEgbmlqZSB1c3BqZWxhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzMAorbXNnaWQgImVycm9yOiBOb3doZXJlIHRvIHNldCB1cCBzd2FwIG9uPyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzNgorbXNnaWQgImludmFsaWQgYmxvY2sgY291bnQgYXJndW1lbnQiCittc2dzdHIgIm5laXNwcmF2YW4gYXJndW1lbnQgYnJvamEgYmxva292YSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHNpemUgJWxsdSBLaUIgaXMgbGFyZ2VyIHRoYW4gZGV2aWNlIHNpemUgJTxQUkl1NjQ+IEtpQiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1MQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc3dhcCBhcmVhIG5lZWRzIHRvIGJlIGF0IGxlYXN0ICVsZCBLaUIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdHJ1bmNhdGluZyBzd2FwIGFyZWEgdG8gJWxsdSBLaUIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2Ugc3dhcHNwYWNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDY4IHN5cy11dGlscy9zd2Fwb24uYzo1MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIHBlcm1pc3Npb25zICUwNG8sICUwNG8gc3VnZ2VzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ3MiBzeXMtdXRpbHMvc3dhcG9uLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBmaWxlIG93bmVyICVkLCAwIChyb290KSBzdWdnZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDg3Cittc2dpZCAiVW5hYmxlIHRvIHNldCB1cCBzd2FwLXNwYWNlOiB1bnJlYWRhYmxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgdXAgc3dhcHNwYWNlIHZlcnNpb24gJWQsIHNpemUgPSAlcyAoJTxQUkl1NjQ+IGJ5dGVzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gb2J0YWluIHNlbGludXggZmlsZSBsYWJlbCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxNQorbXNnaWQgInVuYWJsZSB0byBtYXRjaHBhdGhjb24oKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxOAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbmV3IHNlbGludXggY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMAorbXNnaWQgImNvdWxkbid0IGNvbXB1dGUgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZWxhYmVsICVzIHRvICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NgorbXNnaWQgInBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg3Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OAorbXNnaWQgImVuZCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg5Cittc2dpZCAibnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkwCittc2dpZCAiaHVtYW4gcmVhZGFibGUgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTEKK21zZ2lkICJwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA4IG1pc2MtdXRpbHMvbHNibGsuYzoxNjgKK21zZ2lkICJwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTMKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUgdHlwZSAoZG9zLCBncHQsIC4uLikiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk0IG1pc2MtdXRpbHMvbHNibGsuYzoxNjkKK21zZ2lkICJwYXJ0aXRpb24gZmxhZ3MiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1Cittc2dpZCAicGFydGl0aW9uIHR5cGUgKGEgc3RyaW5nLCBhIFVVSUQsIG9yIGhleCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUwOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjYxNgorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BjeHQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvIHVzZSAnJXMnIGZvciB0aGUgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTMxIHN5cy11dGlscy9sb3NldHVwLmM6NTUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB1cCBsb29wIGRldmljZSIKK21zZ3N0ciAibmUgbW9ndSB2cmF0aXRpIHVuYXRyYWcgc3dhcC11cmXEkWFqIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTYxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzA3IG1pc2MtdXRpbHMvZmluZG1udC5jOjM3NgorIzogbWlzYy11dGlscy9sc2Jsay5jOjM1NCBtaXNjLXV0aWxzL2xzbG9ja3MuYzozNDIgc3lzLXV0aWxzL2xvc2V0dXAuYzoxMDcKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM3MiBzeXMtdXRpbHMvbHNpcGMuYzoyMzIgc3lzLXV0aWxzL2xzbnMuYzoxODkKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjc3IHN5cy11dGlscy9zd2Fwb24uYzoxNDcgc3lzLXV0aWxzL3dkY3RsLmM6MTUxCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjE0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyODYgZGlzay11dGlscy9wYXJ0eC5jOjMyNCBkaXNrLXV0aWxzL3BhcnR4LmM6NDc3CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZmllZCByYW5nZSA8JWQ6JWQ+IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICJyYW5nZSByZWNvdW50OiBtYXggcGFydG5vPSVkLCBsb3dlcj0lZCwgdXBwZXI9JWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlbW92ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBkb2Vzbid0IGV4aXN0XG4iCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGVsZXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDA1IGRpc2stdXRpbHMvcGFydHguYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiAjJWQiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZXNpemVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdXBkYXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9yLCAlNmp1IE1CKVxuIgorbXNnaWRfcGx1cmFsICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9ycywgJTZqdSBNQilcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCittc2dzdHJbMl0gIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU4MSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2ODggbWlzYy11dGlscy9maW5kbW50LmM6NzA1CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozOTEgc3lzLXV0aWxzL2xzbnMuYzo0NTYKK21zZ2lkICJmYWlsZWQgdG8gYWRkIGxpbmUgdG8gb3V0cHV0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NDQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBkYXRhIHRvIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAibmlzYW0gdXNwaW8gZG9kYXRpIHBhcnRpY2lqdSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY2NyBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjkyMiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTg1CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg3NCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NTEgc3lzLXV0aWxzL2xvc2V0dXAuYzozMTAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MTMgc3lzLXV0aWxzL2xzaXBjLmM6MzM4IHN5cy11dGlscy9sc25zLmM6NTExCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI5NyBzeXMtdXRpbHMvc3dhcG9uLmM6MjgwIHN5cy11dGlscy93ZGN0bC5jOjI1OQorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo0ODQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY3OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjExIG1pc2MtdXRpbHMvbHNibGsuYzoxODk2CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NjUgc3lzLXV0aWxzL2xvc2V0dXAuYzozMjIgc3lzLXV0aWxzL2xvc2V0dXAuYzozNTgKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MTggc3lzLXV0aWxzL2xzbnMuYzo1MzIgc3lzLXV0aWxzL3BybGltaXQuYzozMDYKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyODkgc3lzLXV0aWxzL3dkY3RsLmM6MjcwIHN5cy11dGlscy96cmFtY3RsLmM6NDkzCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzIyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIGZpbHRlciBmb3IgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHR5cGUgJyVzJyBkZXRlY3RlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB3aXRoIG5vIHBhcnRpdGlvbnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0aXRpb24+XSA8ZGlzaz5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzU2Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBwcmVzZW5jZSBhbmQgbnVtYmVyaW5nIG9mIHBhcnRpdGlvbnMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1OQorbXNnaWQgIiAtYSwgLS1hZGQgICAgICAgICAgICBhZGQgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYwCittc2dpZCAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIGRlbGV0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjEKK21zZ2lkICIgLXUsIC0tdXBkYXRlICAgICAgICAgdXBkYXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MgorbXNnaWQgIiIKKyIgLXMsIC0tc2hvdyAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MyBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyMworbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjQKK21zZ2lkICIgLWcsIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tc2hvd1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjUKK21zZ2lkICIgLW4sIC0tbnIgPG46bT4gICAgICAgc3BlY2lmeSB0aGUgcmFuZ2Ugb2YgcGFydGl0aW9ucyAoZS5nLiAtLW5yIDI6NClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY2Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY3IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM3Cittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY4IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM4Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjkKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgc3BlY2lmeSB0aGUgcGFydGl0aW9uIHR5cGUgKGRvcywgYnNkLCBzb2xhcmlzLCBldGMuKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzAgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzYKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3csIC0tcmF3IG9yIC0tcGFpcnMpOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS1uciA8TS1OPiByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTI0CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBhbmQgZGlzayBuYW1lIGRvIG5vdCBtYXRjaCIKK21zZ3N0ciAiICAgICAgICAob3Rrcml2ZW5hICVzIHBhcnRpY2lqc2thIHRhYmxpY2EpLiAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NTIKK21zZ2lkICItLW5yIGFuZCA8cGFydGl0aW9uPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFydGl0aW9uOiAlcywgZGlzazogJXMsIGxvd2VyOiAlZCwgdXBwZXI6ICVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRlbGV0ZSBwYXJ0aXRpb25zIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgcHJvYmVyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzICUyJHNyYXdOIDxtYWpvcj4gPG1pbm9yPlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPGJsb2NrZGV2aWNlPlxuIgorIiAlMSRzIC1xICUyJHNyYXdOXG4iCisiICUxJHMgLXFhXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo1OAorbXNnaWQgIkJpbmQgYSByYXcgY2hhcmFjdGVyIGRldmljZSB0byBhIGJsb2NrIGRldmljZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYxCittc2dpZCAiIC1xLCAtLXF1ZXJ5ICAgIHNldCBxdWVyeSBtb2RlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICBxdWVyeSBhbGwgcmF3IGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyB0aGUgY29udHJvbCByYXcgZGV2aWNlICh1c2UgcmF3PE4+IHdoZXJlIDxOPiBpcyBncmVhdGVyIHRoYW4gemVybykiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoxODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSBibG9jayBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoxOTMgZGlzay11dGlscy9yYXcuYzoxOTYgc3lzLXV0aWxzL2lwY3JtLmM6MzUxCisjOiBzeXMtdXRpbHMvaXBjcm0uYzozNjQgc3lzLXV0aWxzL2lwY3JtLmM6Mzc3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuIG1hc3RlciByYXcgZGV2aWNlICclcyciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSByYXcgZGV2aWNlICclcyciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmF3IGRldmljZSAnJXMnIGlzIG5vdCBhIGNoYXJhY3RlciBkZXYiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgcmF3IGRldiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI0NQorbXNnaWQgIkVycm9yIHF1ZXJ5aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNTQgZGlzay11dGlscy9yYXcuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNyYXclZDogIGJvdW5kIHRvIG1ham9yICVkLCBtaW5vciAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjY4Cittc2dpZCAiRXJyb3Igc2V0dGluZyByYXcgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8bGVuZ3RoPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjIzCittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBuZXcgc2l6ZSBvZiBhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBudW1iZXIgJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA5Cittc2dpZCAiZmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG5lc3RlZCBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICJuaXNhbSB1c3BpbyBhbG9jaXJhdGkgaXRlcmF0b3IiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2VlayAlcyIKK21zZ3N0ciAibmUgbW9ndSB6YXR2b3JpdGkgZGF0b3Rla3UgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzAyIGxpYmZkaXNrL3NyYy9ic2QuYzo3MjMgbGliZmRpc2svc3JjL2JzZC5jOjg5NAorIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNjMgc3lzLXV0aWxzL2h3Y2xvY2suYzoxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiUxMnMgKG9mZnNldCAlNWp1LCBzaXplICU1anUpOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMjgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCBmaWxlLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozNTQKK21zZ2lkICJCYWNrdXAgZmlsZXM6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzc5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIG5ldyBwYXJ0aXRpb24gZnJvbSBkZXZpY2U7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4OQorIywgZnV6enkKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGhhcyBub3QgYmVlbiBtb3ZlZDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTEKK21zZ2lkICJuZXcgcGFydGl0aW9uIGlzIHNtYWxsZXIgdGhhbiBvcmlnaW5hbDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDEKK21zZ2lkICJEYXRhIG1vdmU6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgdHlwZXNjcmlwdCBmaWxlOiAlcyIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICIgb2xkIHN0YXJ0OiAlanUsIG5ldyBzdGFydDogJWp1IChtb3ZlICVqdSBzZWN0b3JzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUxCisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIG1vdmUgcGFydGl0aW9uIGRhdGE/IgorbXNnc3RyICJuaXNhbSB1c3BpbyB1a2xvbml0aSBwYXJ0aWNpanUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc4MworbXNnaWQgIkxlYXZpbmcuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIG1vdmUgZGF0YSIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0MQorIywgZnV6enkKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGlzIHVuY2hhbmdlZCAoLS1uby1hY3QpLiIKK21zZ3N0ciAiICAgICAgICAob3Rrcml2ZW5hICVzIHBhcnRpY2lqc2thIHRhYmxpY2EpLiAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQ3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICIgICAgICAgIChvdGtyaXZlbmEgJXMgcGFydGljaWpza2EgdGFibGljYSkuICIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGxhYmVsICclcyciCittc2dzdHIgIm5lcG9kcsW+YW5lIG1vZ3XEh25vc3RpIGRhdG90ZcSNbm9nIHN1c3RhdmEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjI2Cittc2dpZCAiIgorIklkICBOYW1lXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2NTYKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidG90YWw6ICVqdSBibG9ja3NcbiIKK21zZ3N0ciAiJWx1IGJsb2tvdmFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MDggZGlzay11dGlscy9zZmRpc2suYzo4NzYgZGlzay11dGlscy9zZmRpc2suYzo5MTcKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTQ3IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxNCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNzgKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzMyBkaXNrLXV0aWxzL3NmZGlzay5jOjExODkgZGlzay11dGlscy9zZmRpc2suYzoxNTMzCisjLCBmdXp6eQorbXNnaWQgIm5vIGRpc2sgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAiJXM6IHVyZcSRYWogamUgbmVwcmF2aWxubyBwb3Jhdm5hbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MTkKK21zZ2lkICJ0b2dnbGUgYm9vdCBmbGFncyBpcyBzdXBwb3J0ZWQgZm9yIE1CUiBvbmx5IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODUwIGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxOQorIzogZGlzay11dGlscy9zZmRpc2suYzoxMDgzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzOCBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTQKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUzMSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIm5pc2FtIHVzcGlvIG9icmFkaXRpIGJyb2ogaW5kZWtzbmloIMSNdm9yb3ZhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICVkOiBmYWlsZWQgdG8gdG9nZ2xlIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4OTEgZGlzay11dGlscy9zZmRpc2suYzo4OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZGVsZXRlIgorbXNnc3RyICJuaXNhbSB1c3BpbyB1a2xvbml0aSBwYXJ0aWNpanUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTU4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBkdW1wIHN0cnVjdCIKK21zZ3N0ciAibmlzYW0gdXNwaW8gYWxvY2lyYXRpIGl0ZXJhdG9yIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkdW1wIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAibmlzYW0gdXNwaW8gZG9kYXRpIHBhcnRpY2lqdSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBwYXJ0aXRpb24gdGFibGUgZm91bmQiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAibmlzYW0gdXNwaW8gdWtsb25pdGkgcGFydGljaWp1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiBpcyB1bnVzZWQiCittc2dzdHIgIm5pc2FtIHVzcGlvIHVrbG9uaXRpIHBhcnRpY2lqdSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDE4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4MiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzcKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5MworIywgZnV6enkKK21zZ2lkICJubyBwYXJ0aXRpb24gbnVtYmVyIHNwZWNpZmllZCIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMjQgZGlzay11dGlscy9zZmRpc2suYzoxMDg4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE0MworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTk5CisjLCBmdXp6eQorbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnRzIgorbXNnc3RyICJzZWVrIGdyZcWha2EiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIm5pc2FtIHVzcGlvIHVrbG9uaXRpIHBhcnRpY2lqdSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgcGFydGl0aW9uIHR5cGUgJyVzJyIKK21zZ3N0ciAibmlzYW0gdXNwaW8gZG9kYXRpIHBhcnRpY2lqdSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAibmlzYW0gdXNwaW8gdWtsb25pdGkgcGFydGljaWp1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJuaXNhbSB1c3BpbyB1a2xvbml0aSBwYXJ0aWNpanUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTExMyBkaXNrLXV0aWxzL3NmZGlzay5jOjExNjggZGlzay11dGlscy9zZmRpc2suYzoxMjIyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gb2JqZWN0IgorbXNnc3RyICJuaXNhbSB1c3BpbyBhbG9jaXJhdGkgaXRlcmF0b3IiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTExNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIm5pc2FtIHVzcGlvIHVrbG9uaXRpIHBhcnRpY2lqdSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAibmlzYW0gdXNwaW8gdWtsb25pdGkgcGFydGljaWp1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJuaXNhbSB1c3BpbyB1a2xvbml0aSBwYXJ0aWNpanUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIGF0dHJpYnV0ZXMiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjY5Cittc2dpZCAiIENvbW1hbmRzOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3MQorIywgZnV6enkKK21zZ2lkICIgICB3cml0ZSAgICB3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0XG4iCittc2dzdHIgIndyaXRlIG5pamUgdXNwaW86ICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzIKK21zZ2lkICIgICBxdWl0ICAgICBzaG93IG5ldyBzaXR1YXRpb24gYW5kIHdhaXQgZm9yIHVzZXIncyBmZWVkYmFjayBiZWZvcmUgd3JpdGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzMKK21zZ2lkICIgICBhYm9ydCAgICBleGl0IHNmZGlzayBzaGVsbFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3NAorIywgZnV6enkKK21zZ2lkICIgICBwcmludCAgICBkaXNwbGF5IHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzUKKyMsIGZ1enp5Cittc2dpZCAiICAgaGVscCAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorbXNnc3RyICIgLT8gICAgICAgICBwcmlrYcW+aSBvdnUgcG9tb8SHIGkgaXphxJFpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3NworbXNnaWQgIiAgIEN0cmwtRCAgIHRoZSBzYW1lIGFzICdxdWl0J1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MQorbXNnaWQgIiBJbnB1dCBmb3JtYXQ6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjgzCittc2dpZCAiICAgPHN0YXJ0PiwgPHNpemU+LCA8dHlwZT4sIDxib290YWJsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODYKK21zZ2lkICIiCisiICAgPHN0YXJ0PiAgQmVnaW5uaW5nIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIHRoZSBmaXJzdCBmcmVlIHNwYWNlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MQorbXNnaWQgIiIKKyIgICA8c2l6ZT4gICBTaXplIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIGFsbCBhdmFpbGFibGUgc3BhY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk2Cittc2dpZCAiICAgPHR5cGU+ICAgVGhlIHBhcnRpdGlvbiB0eXBlLiAgRGVmYXVsdCBpcyBhIExpbnV4IGRhdGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NworbXNnaWQgIiAgICAgICAgICAgIE1CUjogaGV4IG9yIEwsUyxFLFggc2hvcnRjdXRzLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5OAorbXNnaWQgIiAgICAgICAgICAgIEdQVDogVVVJRCBvciBMLFMsSCBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzAxCittc2dpZCAiICAgPGJvb3RhYmxlPiAgVXNlICcqJyB0byBtYXJrIGFuIE1CUiBwYXJ0aXRpb24gYXMgYm9vdGFibGUuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzA1Cittc2dpZCAiIEV4YW1wbGU6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzA3Cittc2dpZCAiICAgLCA0RyAgICAgQ3JlYXRlcyBhIDRHaUIgcGFydGl0aW9uIGF0IGRlZmF1bHQgc3RhcnQgb2Zmc2V0LlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMzOSBzeXMtdXRpbHMvZG1lc2cuYzoxNDU1Cittc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlZDogdW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MDAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJuaXNhbSB1c3BpbyBkb2RhdGkgcGFydGljaWp1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NDEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICJuaXNhbSB1c3BpbyBhbG9jaXJhdGkgaXRlcmF0b3IiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBubyBwYXJ0aXRpb24gdGFibGUgd2FzIGZvdW5kIgorbXNnc3RyICJuaXNhbSB1c3BpbyB1a2xvbml0aSBwYXJ0aWNpanUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXM6IHBhcnRpdGlvbiAlZCBpcyBub3QgZGVmaW5lZCB5ZXQiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJXZWxjb21lIHRvIHNmZGlzayAoJXMpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTQKK21zZ2lkICJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTcKK21zZ2lkICIiCisiIEZBSUxFRFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwMAorbXNnaWQgIiIKKyJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZSAtIHJlcGFydGl0aW9uaW5nIGlzIHByb2JhYmx5IGEgYmFkIGlkZWEuXG4iCisiVW1vdW50IGFsbCBmaWxlIHN5c3RlbXMsIGFuZCBzd2Fwb2ZmIGFsbCBzd2FwIHBhcnRpdGlvbnMgb24gdGhpcyBkaXNrLlxuIgorIlVzZSB0aGUgLS1uby1yZXJlYWQgZmxhZyB0byBzdXBwcmVzcyB0aGlzIGNoZWNrLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNworIywgZnV6enkKK21zZ2lkICIiCisiIE9LXG4iCisiXG4iCittc2dzdHIgIiVzOiB1IHJlZHVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjM2Cittc2dpZCAiIgorIlxuIgorIk9sZCBzaXR1YXRpb246IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY1NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisic2ZkaXNrIGlzIGdvaW5nIHRvIGNyZWF0ZSBhIG5ldyAnJXMnIGRpc2sgbGFiZWwuXG4iCisiVXNlICdsYWJlbDogPG5hbWU+JyBiZWZvcmUgeW91IGRlZmluZSBhIGZpcnN0IHBhcnRpdGlvblxuIgorInRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NTcKK21zZ2lkICIiCisiXG4iCisiVHlwZSAnaGVscCcgdG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjc1CisjLCBmdXp6eQorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIHVzZWQuIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcwMworbXNnaWQgIkRvbmUuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzE1CisjLCBmdXp6eQorbXNnaWQgIklnbm9yaW5nIHBhcnRpdGlvbi4iCittc2dzdHIgIm5pc2FtIHVzcGlvIHVrbG9uaXRpIHBhcnRpY2lqdSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzI0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgaGVhZGVycywgZGlzayBsYWJlbCBub3QgY3JlYXRlZC4iCittc2dzdHIgIm5pc2FtIHVzcGlvIMSNaXRhdGk6ICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhZGQgIyVkIHBhcnRpdGlvbiIKK21zZ3N0ciAibmlzYW0gdXNwaW8gZG9kYXRpIHBhcnRpY2lqdSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzYzCittc2dpZCAiU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzcyCittc2dpZCAiIgorIlxuIgorIk5ldyBzaXR1YXRpb246IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc4MQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHdyaXRlIHRoaXMgdG8gZGlzaz8iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzkzCittc2dpZCAiTGVhdmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiICVzIFtvcGNpamVdIDx1cmXEkWFqPlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTIKK21zZ2lkICIiCisiXG4iCisiQ29tbWFuZHM6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEzCittc2dpZCAiIC1BLCAtLWFjdGl2YXRlIDxkZXY+IFs8cGFydD4gLi4uXSBsaXN0IG9yIHNldCBib290YWJsZSBNQlIgcGFydGl0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZHVtcCA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlICh1c2FibGUgZm9yIGxhdGVyIGlucHV0KVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlIGluIEpTT04gZm9ybWF0XG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE2Cittc2dpZCAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxkZXY+IC4uLl0gICBsaXN0IGdlb21ldHJ5IG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCBbPGRldj4gLi4uXSAgICAgICAgICAgIGxpc3QgcGFydGl0aW9ucyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxOAorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbGlzdC1mcmVlIFs8ZGV2PiAuLi5dICAgICAgIGxpc3QgdW5wYXJ0aXRpb25lZCBmcmVlIGFyZWFzIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE5CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZW9yZGVyIDxkZXY+ICAgICAgICAgICAgICAgZml4IHBhcnRpdGlvbnMgb3JkZXIgKGJ5IHN0YXJ0IG9mZnNldClcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjAKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNob3ctc2l6ZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHNpemVzIG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMQorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByZWNvZ25pemVkIHR5cGVzIChzZWUgLVgpXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIyCisjLCBmdXp6eQorbXNnaWQgIiAtViwgLS12ZXJpZnkgWzxkZXY+IC4uLl0gICAgICAgICAgdGVzdCB3aGV0aGVyIHBhcnRpdGlvbnMgc2VlbSBjb3JyZWN0XG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIzCittc2dpZCAiICAgICAtLWRlbGV0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gICBkZWxldGUgYWxsIG9yIHNwZWNpZmllZCBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI2Cittc2dpZCAiIC0tcGFydC1sYWJlbCA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGxhYmVsXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI3Cittc2dpZCAiIC0tcGFydC10eXBlIDxkZXY+IDxwYXJ0PiBbPHR5cGU+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjgKK21zZ2lkICIgLS1wYXJ0LXV1aWQgPGRldj4gPHBhcnQ+IFs8dXVpZD5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdXVpZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyOQorbXNnaWQgIiAtLXBhcnQtYXR0cnMgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBhdHRyaWJ1dGVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODMyCisjLCBmdXp6eQorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgIGRldmljZSAodXN1YWxseSBkaXNrKSBwYXRoXG4iCittc2dzdHIgIiAtaCwgLS1oZWxwICAgICAgICAgcHJpa2HFvmkgb3Z1IHBvbW/EhyBpIGl6YcSRaVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzMKKyMsIGZ1enp5Cittc2dpZCAiIDxwYXJ0PiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzNAorbXNnaWQgIiA8dHlwZT4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiB0eXBlLCBHVUlEIGZvciBHUFQsIGhleCBmb3IgTUJSXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM3CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgIGFwcGVuZCBwYXJ0aXRpb25zIHRvIGV4aXN0aW5nIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzOAorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmFja3VwICAgICAgICAgICAgICBiYWNrdXAgcGFydGl0aW9uIHRhYmxlIHNlY3RvcnMgKHNlZSAtTylcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzkKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MAorbXNnaWQgIiAgICAgLS1tb3ZlLWRhdGFbPTx0eXBlc2NyaXB0Pl0gbW92ZSBwYXJ0aXRpb24gZGF0YSBhZnRlciByZWxvY2F0aW9uIChyZXF1aXJlcyAtTilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDEKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDIKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDUKKyMsIGZ1enp5Cittc2dpZCAiIC1OLCAtLXBhcnRubyA8bnVtPiAgICAgICAgc3BlY2lmeSBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ2CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHdyaXRlIHRvIGRldmljZVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NworIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIGlzIGluIHVzZVxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ4Cittc2dpZCAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgZG8gbm90IHRlbGwga2VybmVsIGFib3V0IGNoYW5nZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDkKK21zZ2lkICIgLU8sIC0tYmFja3VwLWZpbGUgPHBhdGg+ICBvdmVycmlkZSBkZWZhdWx0IGJhY2t1cCBmaWxlIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTAKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MQorIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBzdXBwcmVzcyBleHRyYSBpbmZvIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUyCittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU0Cittc2dpZCAiIC1YLCAtLWxhYmVsIDxuYW1lPiAgICAgICAgc3BlY2lmeSBsYWJlbCB0eXBlIChkb3MsIGdwdCwgLi4uKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NQorbXNnaWQgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPG5hbWU+IHNwZWNpZnkgbmVzdGVkIGxhYmVsIHR5cGUgKGRvcywgYnNkKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NworbXNnaWQgIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIGRlcHJlY2F0ZWQsIGFsaWFzIHRvIC0tc2hvdy1nZW9tZXRyeVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU5CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bml0IFMgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgc2VjdG9yIHVuaXQgaXMgc3VwcG9ydGVkXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYzIGxvZ2luLXV0aWxzL2NoZm4uYzoxMDIgbG9naW4tdXRpbHMvY2hzaC5jOjc5Cittc2dpZCAiIC12LCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxOTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk3MworbXNnaWQgIi0taWQgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxOTg5Cittc2dpZCAiLS1zaG93LXB0LWdlb21ldHJ5IGlzIG5vIG1vcmUgaW1wbGVtZW50ZWQuIFVzaW5nIC0tc2hvdy1nZW9tZXRyeS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDAwCittc2dpZCAiLS1MaW51eCBvcHRpb24gaXMgdW5uZWNlc3NhcnkgYW5kIGRlcHJlY2F0ZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0ICclYyciCittc2dzdHIgIm5lcG9kcsW+YW5lIG1vZ3XEh25vc3RpIGRhdG90ZcSNbm9nIHN1c3RhdmEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAzMiBpbmNsdWRlL2MuaDozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlc1xuIgorbXNnc3RyICIlcyBpeiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIxMDkKK21zZ2lkICItLW1vdmVkYXRhIHJlcXVpcmVzIC1OIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIFVVSUQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgVVVJRCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgVVVJRCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIGxhYmVsICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgImxhYmVsIGlzIHRvbyBsb25nLiBUcnVuY2F0aW5nIGl0IHRvICclcyciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIGxhYmVsIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTIxCittc2dpZCAiRGlzcGxheSBvciBjaGFuZ2UgdGhlIGxhYmVsIG9yIFVVSUQgb2YgYSBzd2FwIGFyZWEuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjQKK21zZ2lkICIiCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gc3BlY2lmeSBhIG5ldyBsYWJlbFxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgIHNwZWNpZnkgYSBuZXcgdXVpZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTY3Cittc2dpZCAiaWdub3JlIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQpIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjI5OQorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2MuaDozMDAKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wY2lqZTpcbiIKKworIzogaW5jbHVkZS9jLmg6MzAyCittc2dpZCAiIC1oLCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jLmg6MzAzCittc2dpZCAiIC1WLCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jLmg6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJGb3IgbW9yZSBkZXRhaWxzIHNlZSAlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDYgaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzMKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTIgc3lzLXV0aWxzL3J0Y3dha2UuYzoyODAgdGVybS11dGlscy9zZXR0ZXJtLmM6ODA1CisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE1NworbXNnaWQgIndyaXRlIGVycm9yIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvY29sb3JzLmg6MjcKK21zZ2lkICJjb2xvcnMgYXJlIGVuYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI5Cittc2dpZCAiY29sb3JzIGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvZW52Lmg6MTggbGliL3BhZ2VyLmM6MTUxIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTA1MgorIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMDU2IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjUyOQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyBlbnZpcm9ubWVudCB2YXJpYWJsZSIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBpbmNsdWRlL29wdHV0aWxzLmg6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZXNlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZToiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MQorbXNnaWQgIkVtcHR5IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIKK21zZ2lkICJGQVQxMiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozCittc2dpZCAiWEVOSVggcm9vdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0Cittc2dpZCAiWEVOSVggdXNyIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUKK21zZ2lkICJGQVQxNiA8MzJNIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYKK21zZ2lkICJFeHRlbmRlZCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3Cittc2dpZCAiRkFUMTYiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OAorbXNnaWQgIkhQRlMvTlRGUy9leEZBVCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5Cittc2dpZCAiQUlYIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwCittc2dpZCAiQUlYIGJvb3RhYmxlIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjExCittc2dpZCAiT1MvMiBCb290IE1hbmFnZXIiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTIKK21zZ2lkICJXOTUgRkFUMzIiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTMKK21zZ2lkICJXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTQKK21zZ2lkICJXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTUKK21zZ2lkICJXOTUgRXh0J2QgKExCQSkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTYKK21zZ2lkICJPUFVTIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE3Cittc2dpZCAiSGlkZGVuIEZBVDEyIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE4Cittc2dpZCAiQ29tcGFxIGRpYWdub3N0aWNzIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE5Cittc2dpZCAiSGlkZGVuIEZBVDE2IDwzMk0iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjAKK21zZ2lkICJIaWRkZW4gRkFUMTYiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjEKK21zZ2lkICJIaWRkZW4gSFBGUy9OVEZTIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIyCittc2dpZCAiQVNUIFNtYXJ0U2xlZXAiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjMKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI0Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNQorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjYKK21zZ2lkICJORUMgRE9TIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI3Cittc2dpZCAiSGlkZGVuIE5URlMgV2luUkUiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjgKK21zZ2lkICJQbGFuIDkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjkKK21zZ2lkICJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMAorbXNnaWQgIlZlbml4IDgwMjg2IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMxCittc2dpZCAiUFBDIFBSZVAgQm9vdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMgorbXNnaWQgIlNGUyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMworbXNnaWQgIlFOWDQueCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNAorbXNnaWQgIlFOWDQueCAybmQgcGFydCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNQorbXNnaWQgIlFOWDQueCAzcmQgcGFydCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNgorbXNnaWQgIk9uVHJhY2sgRE0iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzcKK21zZ2lkICJPblRyYWNrIERNNiBBdXgxIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM4Cittc2dpZCAiQ1AvTSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOQorbXNnaWQgIk9uVHJhY2sgRE02IEF1eDMiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDAKK21zZ2lkICJPblRyYWNrRE02IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQxCittc2dpZCAiRVotRHJpdmUiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDIKK21zZ2lkICJHb2xkZW4gQm93IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQzCittc2dpZCAiUHJpYW0gRWRpc2siCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDQgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTEKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk5Cittc2dpZCAiU3BlZWRTdG9yIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ1Cittc2dpZCAiR05VIEhVUkQgb3IgU3lzViIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NgorbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDI4NiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NworbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDM4NiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OAorbXNnaWQgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OQorbXNnaWQgIlBDL0lYIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUwCittc2dpZCAiT2xkIE1pbml4IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUxCittc2dpZCAiTWluaXggLyBvbGQgTGludXgiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTIKK21zZ2lkICJMaW51eCBzd2FwIC8gU29sYXJpcyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MworbXNnaWQgIkxpbnV4IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU0Cittc2dpZCAiT1MvMiBoaWRkZW4gb3IgSW50ZWwgaGliZXJuYXRpb24iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTcKK21zZ2lkICJMaW51eCBleHRlbmRlZCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OQorbXNnaWQgIk5URlMgdm9sdW1lIHNldCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MAorbXNnaWQgIkxpbnV4IHBsYWludGV4dCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjA1IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MworIzogbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggTFZNIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYyCittc2dpZCAiQW1vZWJhIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYzCittc2dpZCAiQW1vZWJhIEJCVCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NAorbXNnaWQgIkJTRC9PUyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NQorbXNnaWQgIklCTSBUaGlua3BhZCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NgorbXNnaWQgIkZyZWVCU0QiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjcKK21zZ2lkICJPcGVuQlNEIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY4Cittc2dpZCAiTmVYVFNURVAiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjkKK21zZ2lkICJEYXJ3aW4gVUZTIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcwCittc2dpZCAiTmV0QlNEIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcxCittc2dpZCAiRGFyd2luIGJvb3QiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzIKK21zZ2lkICJIRlMgLyBIRlMrIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjczCittc2dpZCAiQlNESSBmcyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NAorbXNnaWQgIkJTREkgc3dhcCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NQorbXNnaWQgIkJvb3QgV2l6YXJkIGhpZGRlbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NgorbXNnaWQgIkFjcm9uaXMgRkFUMzIgTEJBIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc3IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzAKK21zZ2lkICJTb2xhcmlzIGJvb3QiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzgKK21zZ2lkICJTb2xhcmlzIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc5Cittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTIpIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgwCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgxCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYpIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgyCittc2dpZCAiU3lyaW54IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgzCittc2dpZCAiTm9uLUZTIGRhdGEiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NgorbXNnaWQgIkRlbGwgVXRpbGl0eSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NworbXNnaWQgIkJvb3RJdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4OAorbXNnaWQgIkRPUyBhY2Nlc3MiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTAKK21zZ2lkICJET1MgUi9PIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkzCittc2dpZCAiUnVmdXMgYWxpZ25tZW50IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk0Cittc2dpZCAiQmVPUyBmcyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NgorbXNnaWQgIkVGSSAoRkFULTEyLzE2LzMyKSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NworbXNnaWQgIkxpbnV4L1BBLVJJU0MgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDAKK21zZ2lkICJET1Mgc2Vjb25kYXJ5IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMQorbXNnaWQgIlZNd2FyZSBWTUZTIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMgorbXNnaWQgIlZNd2FyZSBWTUtDT1JFIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMyBsaWJmZGlzay9zcmMvc3VuLmM6NTUKK21zZ2lkICJMaW51eCByYWlkIGF1dG9kZXRlY3QiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA2Cittc2dpZCAiTEFOc3RlcCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDcKK21zZ2lkICJCQlQiCittc2dzdHIgIiIKKworIzogbGliL2Jsa2Rldi5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlcyBpcyBtaXNhbGlnbmVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2NzIKKyMsIGZ1enp5Cittc2dpZCAiQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBsaWJmZGlzay9zcmMvYWxpZ25tZW50LmM6NjgxCisjLCBmdXp6eQorbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2ODMKK21zZ2lkICJUaGUga2VybmVsIHN0aWxsIHVzZXMgdGhlIG9sZCB0YWJsZS4gVGhlIG5ldyB0YWJsZSB3aWxsIGJlIHVzZWQgYXQgdGhlIG5leHQgcmVib290IG9yIGFmdGVyIHlvdSBydW4gcGFydHByb2JlKDgpIG9yIGtwYXJ0eCg4KS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ3MiBsaWJmZGlzay9zcmMvYXNrLmM6NDg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3RlZCBwYXJ0aXRpb24gJWp1IgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0NzUKK21zZ2lkICJObyBwYXJ0aXRpb24gaXMgZGVmaW5lZCB5ZXQhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAiTm8gZnJlZSBwYXJ0aXRpb24gYXZhaWxhYmxlISIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDk3Cittc2dpZCAiUGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6OTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgcGFydGl0aW9uICVkIG9mIHR5cGUgJyVzJyBhbmQgb2Ygc2l6ZSAlcy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE2NgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXpkOiBoYXMgaW52YWxpZCBzdGFydGluZyBzZWN0b3IgMC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE4MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGVyZSBpcyBubyAqQlNEIHBhcnRpdGlvbiBvbiAlcy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI1OSBsaWJmZGlzay9zcmMvZG9zLmM6OTMzCittc2dpZCAiRmlyc3QgY3lsaW5kZXIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5MiBsaWJmZGlzay9zcmMvZG9zLmM6MTE2MQorbXNnaWQgIkxhc3QgY3lsaW5kZXIsICtjeWxpbmRlcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6Mjk3IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTY2IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjU1Cittc2dpZCAiTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGV2aWNlICVzIGRvZXMgbm90IGNvbnRhaW4gQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MworbXNnaWQgIkRvIHlvdSB3YW50IHRvIGNyZWF0ZSBhIEJTRCBkaXNrbGFiZWw/IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NDkKKyMsIGZ1enp5Cittc2dpZCAiRGlzayIKK21zZ3N0ciAiVXJlxJFhajogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ1NgorbXNnaWQgIlBhY2tuYW1lIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjMgbGliZmRpc2svc3JjL3N1bi5jOjExMTcKK21zZ2lkICJGbGFncyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY2Cittc2dpZCAiIHJlbW92YWJsZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY3Cittc2dpZCAiIGVjYyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY4Cittc2dpZCAiIGJhZHNlY3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ3NgorbXNnaWQgIkJ5dGVzL1NlY3RvciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDgxCittc2dpZCAiVHJhY2tzL0N5bGluZGVyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODYKK21zZ2lkICJTZWN0b3JzL0N5bGluZGVyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTggbGliZmRpc2svc3JjL2Rvcy5jOjIzMDMKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU3IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTYgbGliZmRpc2svc3JjL3N1bi5jOjExMTMKK21zZ2lkICJDeWxpbmRlcnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5NiBsaWJmZGlzay9zcmMvc3VuLmM6NzYwCittc2dpZCAiUnBtIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDEgbGliZmRpc2svc3JjL3NnaS5jOjI5MiBsaWJmZGlzay9zcmMvc3VuLmM6NzgwCittc2dpZCAiSW50ZXJsZWF2ZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTA2Cittc2dpZCAiVHJhY2tza2V3IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTEKK21zZ2lkICJDeWxpbmRlcnNrZXciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxNgorbXNnaWQgIkhlYWRzd2l0Y2giCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUyMQorbXNnaWQgIlRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMQorbXNnaWQgImJ5dGVzL3NlY3RvciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE0Cittc2dpZCAic2VjdG9ycy90cmFjayIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE1Cittc2dpZCAidHJhY2tzL2N5bGluZGVyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTYKK21zZ2lkICJjeWxpbmRlcnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMAorbXNnaWQgInNlY3RvcnMvY3lsaW5kZXIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMworbXNnaWQgInJwbSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI0Cittc2dpZCAiaW50ZXJsZWF2ZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI1Cittc2dpZCAidHJhY2tza2V3IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjYKK21zZ2lkICJjeWxpbmRlcnNrZXciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOAorbXNnaWQgImhlYWRzd2l0Y2giCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOQorbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdHN0cmFwIGZpbGUgJXMgc3VjY2Vzc2Z1bGx5IGxvYWRlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY3MworIywgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXA6ICUxJHNib290IC0+IGJvb3QlMSRzIChkZWZhdWx0ICUxJHMpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MDQKK21zZ2lkICJCb290c3RyYXAgb3ZlcmxhcHMgd2l0aCBkaXNrbGFiZWwhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwIGluc3RhbGxlZCBvbiAlcy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwMAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4gIChEb24ndCBmb3JnZXQgdG8gd3JpdGUgdGhlICVzIGRpc2tsYWJlbCB0b28uKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTA5IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjY2CisjLCBmdXp6eQorbXNnaWQgIlN5bmNpbmcgZGlza3MuIgorbXNnc3RyICJaYWtsanXEjWF2YW0gZGlzayAlcyAuLi4gIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTUwCittc2dpZCAiQlNEIGxhYmVsIGlzIG5vdCBuZXN0ZWQgd2l0aGluIGEgRE9TIHBhcnRpdGlvbi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQlNEIHBhcnRpdGlvbiAnJWMnIGxpbmtlZCB0byBET1MgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIm5pc2FtIHVzcGlvIHVrbG9uaXRpIHBhcnRpY2lqdSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMTQKK21zZ2lkICJTbGljZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMQorbXNnaWQgIkZzaXplIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIyCittc2dpZCAiQnNpemUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjMKK21zZ2lkICJDcGciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo2NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zZSBkZXZpY2UgZmFpbGVkIgorbXNnc3RyICIlczogaXp2csWhYXZhbmplIG5pamUgdXNwamVsbyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4MjcKK21zZ2lkICJjeWxpbmRlciIKK21zZ2lkX3BsdXJhbCAiY3lsaW5kZXJzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKK21zZ3N0clsyXSAiIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjgyOAorbXNnaWQgInNlY3RvciIKK21zZ2lkX3BsdXJhbCAic2VjdG9ycyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCittc2dzdHJbMl0gIiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMTMxCittc2dpZCAiSW5jb21wbGV0ZSBnZW9tZXRyeSBzZXR0aW5nLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE0Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBhbHJlYWR5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBleHRlbmRlZCBwYXJ0aXRpb24gdGFibGUgKG9mZnNldD0lanUpIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMjgKK21zZ2lkICJZb3UgY2FuIHNldCBnZW9tZXRyeSBmcm9tIHRoZSBleHRyYSBmdW5jdGlvbnMgbWVudS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjMzMQorbXNnaWQgIkRPUy1jb21wYXRpYmxlIG1vZGUgaXMgZGVwcmVjYXRlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjMzNQorbXNnaWQgIlRoZSBkZXZpY2UgcHJlc2VudHMgYSBsb2dpY2FsIHNlY3RvciBzaXplIHRoYXQgaXMgc21hbGxlciB0aGFuIHRoZSBwaHlzaWNhbCBzZWN0b3Igc2l6ZS4gQWxpZ25pbmcgdG8gYSBwaHlzaWNhbCBzZWN0b3IgKG9yIG9wdGltYWwgSS9PKSBzaXplIGJvdW5kYXJ5IGlzIHJlY29tbWVuZGVkLCBvciBwZXJmb3JtYW5jZSBtYXkgYmUgaW1wYWN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDEKK21zZ2lkICJDeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0OAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgc2l6ZSBvZiB0aGlzIGRpc2sgaXMgJXMgKCVqdSBieXRlcykuIERPUyBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IGNhbiBub3QgYmUgdXNlZCBvbiBkcml2ZXMgZm9yIHZvbHVtZXMgbGFyZ2VyIHRoYW4gJWx1IGJ5dGVzIGZvciAlbHUtYnl0ZSBzZWN0b3JzLiBVc2UgR1VJRCBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IChHUFQpLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTAzCittc2dpZCAiQmFkIG9mZnNldCBpbiBwcmltYXJ5IGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjUxOQorIywgYy1mb3JtYXQKK21zZ2lkICJPbWl0dGluZyBwYXJ0aXRpb25zIGFmdGVyICMlenUuIFRoZXkgd2lsbCBiZSBkZWxldGVkIGlmIHlvdSBzYXZlIHRoaXMgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJFeHRyYSBsaW5rIHBvaW50ZXIgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZGF0YSBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbWl0dGluZyBlbXB0eSBwYXJ0aXRpb24gKCV6dSkiCittc2dzdHIgIm5pc2FtIHVzcGlvIHVrbG9uaXRpIHBhcnRpY2lqdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY2NAorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IERPUyBkaXNrbGFiZWwgd2l0aCBkaXNrIGlkZW50aWZpZXIgMHglMDh4LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6Njg1Cittc2dpZCAiRW50ZXIgdGhlIG5ldyBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY5MgorbXNnaWQgIkluY29ycmVjdCB2YWx1ZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcwMQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tIDB4JTA4eCB0byAweCUwOHguIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGV4dGVuZGVkIHBhcnRpdGlvbiAlenUiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGZsYWcgMHglMDJ4JTAyeCBvZiBFQlIgKGZvciBwYXJ0aXRpb24gJXp1KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6OTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIlN0YXJ0IHNlY3RvciAlanUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTAyNiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzNiBsaWJmZGlzay9zcmMvc2dpLmM6ODM5CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMDk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlbGx1IGlzIGFscmVhZHkgYWxsb2NhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTEzMyBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0NgorbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJuaXNhbSB1c3BpbyB1a2xvbml0aSBwYXJ0aWNpanUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGNvbnRhaW5zIHNlY3RvciAwIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGhlYWQgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogc2VjdG9yICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY3lsaW5kZXIgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMzMAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBwcmV2aW91cyBzZWN0b3JzICV1IGRpc2FncmVlcyB3aXRoIHRvdGFsICV1IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGJlZ2lubmluZ3MgKG5vbi1MaW51eD8pOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgZW5kaW5nczogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogYmFkIHN0YXJ0LW9mLWRhdGEuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBvdmVybGFwcyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAibmlzYW0gdXNwaW8gdWtsb25pdGkgcGFydGljaWp1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ2OAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBlbXB0eS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxvZ2ljYWwgcGFydGl0aW9uICV6dTogbm90IGVudGlyZWx5IGluIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJuaXNhbSB1c3BpbyB1a2xvbml0aSBwYXJ0aWNpanUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDgxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRvdGFsIGFsbG9jYXRlZCBzZWN0b3JzICVsbHUgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtICVsbHUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDg0CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbWFpbmluZyAlbGxkIHVuYWxsb2NhdGVkICVsZC1ieXRlIHNlY3RvcnMuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTMyIGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU0CisjLCBmdXp6eQorbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1NzUKK21zZ2lkICJUaGUgbWF4aW11bSBudW1iZXIgb2YgcGFydGl0aW9ucyBoYXMgYmVlbiBjcmVhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU4NworbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1ODkgbGliZmRpc2svc3JjL2Rvcy5jOjE2MDAKK21zZ2lkICJBbGwgc3BhY2UgZm9yIHByaW1hcnkgcGFydGl0aW9ucyBpcyBpbiB1c2UuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUcnkgdG8ga2VlcCB0aGlzIHdpdGhpbiA4MCBjaGFyYWN0ZXJzLgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDMKK21zZ2lkICJUbyBjcmVhdGUgbW9yZSBwYXJ0aXRpb25zLCBmaXJzdCByZXBsYWNlIGEgcHJpbWFyeSB3aXRoIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDgKK21zZ2lkICJBbGwgbG9naWNhbCBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIEFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzMAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlenUgcHJpbWFyeSwgJWQgZXh0ZW5kZWQsICV6dSBmcmVlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjM5Cittc2dpZCAicHJpbWFyeSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MQorbXNnaWQgImV4dGVuZGVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQxCisjLCBmdXp6eQorbXNnaWQgImNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zIgorbXNnc3RyICJuaXNhbSB1c3BpbyB1a2xvbml0aSBwYXJ0aWNpanUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQzCittc2dpZCAibG9naWNhbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MworbXNnaWQgIm51bWJlcmVkIGZyb20gNSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gdHlwZSBgJWMnLiIKK21zZ3N0ciAibmVpc3ByYXZhbiBicm9qIHBhcnRpY2lqZSBrYW8gYXJndW1lbnQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgd3JpdGUgc2VjdG9yICVqZDogc2VlayBmYWlsZWQiCittc2dzdHIgIm5lIG1vZ3UgemF0dm9yaXRpIGRhdG90ZWt1ICVzIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTg1MiBsaWJmZGlzay9zcmMvZ3B0LmM6MTA5NgorbXNnaWQgIkRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1OQorbXNnaWQgIlR5cGUgMCBtZWFucyBmcmVlIHNwYWNlIHRvIG1hbnkgc3lzdGVtcy4gSGF2aW5nIHBhcnRpdGlvbnMgb2YgdHlwZSAwIGlzIHByb2JhYmx5IHVud2lzZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE5NjQKK21zZ2lkICJDYW5ub3QgY2hhbmdlIHR5cGUgb2YgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiB3aGljaCBpcyBhbHJlYWR5IHVzZWQgYnkgbG9naWNhbCBwYXJ0aXRpb25zLiBEZWxldGUgbG9naWNhbCBwYXJ0aXRpb25zIGZpcnN0LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE0MyBsaWJmZGlzay9zcmMvZ3B0LmM6MjgyMQorbXNnaWQgIk5vdGhpbmcgdG8gZG8uIE9yZGVyaW5nIGlzIGNvcnJlY3QgYWxyZWFkeS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG5vIGRhdGEgYXJlYS4iCittc2dzdHIgIiAgICAgICAgKG90a3JpdmVuYSAlcyBwYXJ0aWNpanNrYSB0YWJsaWNhKS4gIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjIyMgorbXNnaWQgIk5ldyBiZWdpbm5pbmcgb2YgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaXMgYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAibmlzYW0gdXNwaW8gdWtsb25pdGkgcGFydGljaWp1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyOTggbGliZmRpc2svc3JjL2dwdC5jOjI5MTEgbGliZmRpc2svc3JjL3NnaS5jOjExNTMKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTA5Cittc2dpZCAiRGV2aWNlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjk5IGxpYmZkaXNrL3NyYy9zdW4uYzo0MQorbXNnaWQgIkJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDUgbGliZmRpc2svc3JjL3NnaS5jOjExNTkgbGliZmRpc2svc3JjL3N1bi5jOjExMTUKK21zZ2lkICJJZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwOQorbXNnaWQgIlN0YXJ0LUMvSC9TIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzEwCittc2dpZCAiRW5kLUMvSC9TIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzExIGxpYmZkaXNrL3NyYy9ncHQuYzoyOTIxIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTYxCittc2dpZCAiQXR0cnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MAorbXNnaWQgIkVGSSBTeXN0ZW0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MgorbXNnaWQgIk1CUiBwYXJ0aXRpb24gc2NoZW1lIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjMKK21zZ2lkICJJbnRlbCBGYXN0IEZsYXNoIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjYKK21zZ2lkICJCSU9TIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OQorIywgZnV6enkKK21zZ2lkICJTb255IGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICJwcmV2acWhZSBhcmd1bWVuYXRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTcwCisjLCBmdXp6eQorbXNnaWQgIkxlbm92byBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczCittc2dpZCAiUG93ZXJQQyBQUmVQIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NgorbXNnaWQgIk9OSUUgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc3Cittc2dpZCAiT05JRSBjb25maWciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MAorbXNnaWQgIk1pY3Jvc29mdCByZXNlcnZlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgxCittc2dpZCAiTWljcm9zb2Z0IGJhc2ljIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MgorbXNnaWQgIk1pY3Jvc29mdCBMRE0gbWV0YWRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MworbXNnaWQgIk1pY3Jvc29mdCBMRE0gZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg0Cittc2dpZCAiV2luZG93cyByZWNvdmVyeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg1Cittc2dpZCAiSUJNIEdlbmVyYWwgUGFyYWxsZWwgRnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NgorbXNnaWQgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIkhQLVVYIGRhdGEiCittc2dzdHIgIm5pc2FtIHVzcGlvIGRvZGF0aSBwYXJ0aWNpanUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTAKK21zZ2lkICJIUC1VWCBzZXJ2aWNlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTMgbGliZmRpc2svc3JjL3NnaS5jOjYxIGxpYmZkaXNrL3NyYy9zdW4uYzo1MgorbXNnaWQgIkxpbnV4IHN3YXAiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NAorIywgZnV6enkKK21zZ2lkICJMaW51eCBmaWxlc3lzdGVtIgorbXNnc3RyICJQcm92amVyYXZhbSBzdmUgZGF0b3RlxI1uZSBzdXN0YXZlLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk1Cittc2dpZCAiTGludXggc2VydmVyIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NgorbXNnaWQgIkxpbnV4IHJvb3QgKHg4NikiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NworbXNnaWQgIkxpbnV4IHJvb3QgKEFSTSkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OAorbXNnaWQgIkxpbnV4IHJvb3QgKHg4Ni02NCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OQorbXNnaWQgIkxpbnV4IHJvb3QgKEFSTS02NCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMAorbXNnaWQgIkxpbnV4IHJvb3RcdChJQS02NCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMQorbXNnaWQgIkxpbnV4IHJlc2VydmVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDIKK21zZ2lkICJMaW51eCBob21lIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMgbGliZmRpc2svc3JjL3NnaS5jOjY0Cittc2dpZCAiTGludXggUkFJRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0Cittc2dpZCAiTGludXggZXh0ZW5kZWQgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEyCittc2dpZCAiRnJlZUJTRCBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTMKK21zZ2lkICJGcmVlQlNEIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNAorbXNnaWQgIkZyZWVCU0Qgc3dhcCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1Cittc2dpZCAiRnJlZUJTRCBVRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNgorbXNnaWQgIkZyZWVCU0QgWkZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTcKK21zZ2lkICJGcmVlQlNEIFZpbnVtIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjAKK21zZ2lkICJBcHBsZSBIRlMvSEZTKyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxCittc2dpZCAiQXBwbGUgVUZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjIKK21zZ2lkICJBcHBsZSBSQUlEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjMKK21zZ2lkICJBcHBsZSBSQUlEIG9mZmxpbmUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNAorbXNnaWQgIkFwcGxlIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNQorbXNnaWQgIkFwcGxlIGxhYmVsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjYKK21zZ2lkICJBcHBsZSBUViByZWNvdmVyeSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI3Cittc2dpZCAiQXBwbGUgQ29yZSBzdG9yYWdlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzEKK21zZ2lkICJTb2xhcmlzIHJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMworbXNnaWQgIlNvbGFyaXMgL3VzciAmIEFwcGxlIFpGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM0Cittc2dpZCAiU29sYXJpcyBzd2FwIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzUKK21zZ2lkICJTb2xhcmlzIGJhY2t1cCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM2Cittc2dpZCAiU29sYXJpcyAvdmFyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzcKK21zZ2lkICJTb2xhcmlzIC9ob21lIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzgKK21zZ2lkICJTb2xhcmlzIGFsdGVybmF0ZSBzZWN0b3IiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQwCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDEKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MgorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQzCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA1IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDYKK21zZ2lkICJOZXRCU0Qgc3dhcCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ3Cittc2dpZCAiTmV0QlNEIEZGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4Cittc2dpZCAiTmV0QlNEIExGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5Cittc2dpZCAiTmV0QlNEIGNvbmNhdGVuYXRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwCittc2dpZCAiTmV0QlNEIGVuY3J5cHRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUxCittc2dpZCAiTmV0QlNEIFJBSUQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NAorbXNnaWQgIkNocm9tZU9TIGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU1Cittc2dpZCAiQ2hyb21lT1Mgcm9vdCBmcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU2Cittc2dpZCAiQ2hyb21lT1MgcmVzZXJ2ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OQorbXNnaWQgIk1pZG5pZ2h0QlNEIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MAorbXNnaWQgIk1pZG5pZ2h0QlNEIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MQorbXNnaWQgIk1pZG5pZ2h0QlNEIHN3YXAiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MgorbXNnaWQgIk1pZG5pZ2h0QlNEIFVGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYzCittc2dpZCAiTWlkbmlnaHRCU0QgWkZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjQKK21zZ2lkICJNaWRuaWdodEJTRCBWaW51bSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY3Cittc2dpZCAiQ2VwaCBKb3VybmFsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjgKK21zZ2lkICJDZXBoIEVuY3J5cHRlZCBKb3VybmFsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjkKK21zZ2lkICJDZXBoIE9TRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcwCittc2dpZCAiQ2VwaCBjcnlwdCBPU0QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MQorbXNnaWQgIkNlcGggZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcyCittc2dpZCAiQ2VwaCBjcnlwdCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzUKK21zZ2lkICJPcGVuQlNEIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3OAorIywgZnV6enkKK21zZ2lkICJRTlg2IGZpbGUgc3lzdGVtIgorbXNnc3RyICJQcm92amVyYXZhbSBzdmUgZGF0b3RlxI1uZSBzdXN0YXZlLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjgxCisjLCBmdXp6eQorbXNnaWQgIlBsYW4gOSBwYXJ0aXRpb24iCittc2dzdHIgInByZXZpxaFlIGFyZ3VtZW5hdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo1NDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdQVCBoZWFkZXIiCittc2dzdHIgIm5pc2FtIHVzcGlvIGFsb2NpcmF0aSBpdGVyYXRvciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjYzMAorbXNnaWQgIkZpcnN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjY0MgorbXNnaWQgIkxhc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Nzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIkdQVCBQTUJSIHNpemUgbWlzbWF0Y2ggKCU8UFJJdTY0PiAhPSAlPFBSSXU2ND4pIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3OTIKKyMsIGZ1enp5Cittc2dpZCAiZ3B0OiBzdGF0KCkgZmFpbGVkIgorbXNnc3RyICJzdGF0IG5pamUgdXNwaW8gJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo4MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3B0OiBjYW5ub3QgaGFuZGxlIGZpbGVzIHdpdGggbW9kZSAlbyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTA2NAorbXNnaWQgIkdQVCBIZWFkZXIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEwNjkKK21zZ2lkICJHUFQgRW50cmllcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEwMworbXNnaWQgIkZpcnN0IExCQSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEwOAorbXNnaWQgIkxhc3QgTEJBIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgTEJBIChMb2dpY2FsIEJsb2NrIEFkZHJlc3MpIG9mIHRoZSBiYWNrdXAgR1BUIGhlYWRlci4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTE0Cittc2dpZCAiQWx0ZXJuYXRpdmUgTEJBIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhcnQgb2YgdGhlIGFycmF5IG9mIHBhcnRpdGlvbiBlbnRyaWVzLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjExMjAKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIGVudHJpZXMgTEJBIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTI1CisjLCBmdXp6eQorbXNnaWQgIkFsbG9jYXRlZCBwYXJ0aXRpb24gZW50cmllcyIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTQ0MAorbXNnaWQgIlRoZSBiYWNrdXAgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgcHJpbWFyeSBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE0NDkKK21zZ2lkICJUaGUgcHJpbWFyeSBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBiYWNrdXAgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBHUFQgYXR0cmlidXRlIGJpdCAnJXMnIgorbXNnc3RyICJuZXBvZHLFvmFuZSBtb2d1xIdub3N0aSBkYXRvdGXEjW5vZyBzdXN0YXZhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIEdQVCBhdHRyaWJ1dGUgc3RyaW5nICclcyciCittc2dzdHIgIm5pc2FtIHVzcGlvIGRvZGF0aSBwYXJ0aWNpanUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBVVUlEIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIG5hbWUgY2hhbmdlZCBmcm9tICclcycgdG8gJyUuKnMnLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc2OAorbXNnaWQgIlRoZSBzdGFydCBvZiB0aGUgcGFydGl0aW9uIHVuZGVyc3RlcHMgRmlyc3RVc2FibGVMQkEuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzc1Cittc2dpZCAiVGhlIGVuZCBvZiB0aGUgcGFydGl0aW9uIG92ZXJzdGVwcyBMYXN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzNAorbXNnaWQgIlRoZSBkZXZpY2UgY29udGFpbnMgaHlicmlkIE1CUiAtLSB3cml0aW5nIEdQVCBvbmx5LiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBNQlIgbWFudWFsbHkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcxCittc2dpZCAiRGlzayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NzYKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5ODAKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4NQorIywgZnV6enkKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiBlbnRyeSBjaGVja3N1bS4iCittc2dzdHIgIm5laXNwcmF2YW4gYnJvaiBwYXJ0aWNpamUga2FvIGFyZ3VtZW50IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5MAorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTk0Cittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5OQorbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBwcmltYXJ5IGhlYWRlci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMDMKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMDgKK21zZ2lkICJEaXNrIGlzIHRvbyBzbWFsbCB0byBob2xkIGFsbCBkYXRhLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAxOAorbXNnaWQgIlByaW1hcnkgYW5kIGJhY2t1cCBoZWFkZXIgbWlzbWF0Y2guIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDI0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIHBhcnRpdGlvbiAldS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGlzIHRvbyBiaWcgZm9yIHRoZSBkaXNrLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAzOAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZW5kcyBiZWZvcmUgaXQgc3RhcnRzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0NworbXNnaWQgIk5vIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGVhZGVyIHZlcnNpb246ICVzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2luZyAldSBvdXQgb2YgJWQgcGFydGl0aW9ucy4iCittc2dzdHIgIm5pc2FtIHVzcGlvIGRvZGF0aSBwYXJ0aWNpanUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudC4iCittc2dpZF9wbHVyYWwgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudHMgKHRoZSBsYXJnZXN0IGlzICVzKS4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorbXNnc3RyWzJdICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGVycm9yIGRldGVjdGVkLiIKK21zZ2lkX3BsdXJhbCAiJWQgZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCittc2dzdHJbMl0gIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNDIKK21zZ2lkICJBbGwgcGFydGl0aW9ucyBhcmUgYWxyZWFkeSBpbiB1c2UuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTk3IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlanUgYWxyZWFkeSB1c2VkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJuaXNhbSB1c3BpbyB1a2xvbml0aSBwYXJ0aWNpanUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBsYXN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaXJzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyOQorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IEdQVCBkaXNrbGFiZWwgKEdVSUQ6ICVzKS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NDcKK21zZ2lkICJFbnRlciBuZXcgZGlzayBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NTQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHlvdXIgVVVJRC4iCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0ODgKKyMsIGZ1enp5Cittc2dpZCAiTm90IGVub3VnaCBzcGFjZSBmb3IgbmV3IHBhcnRpdGlvbiB0YWJsZSEiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMldSBvdXQgb2YgcmFuZ2UgKG1pbmltYWwgc3RhcnQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXUgb3V0IG9mIHJhbmdlIChtYXhpbWFsIGVuZCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG51bWJlciBvZiB0aGUgcGFydGl0aW9uIGhhcyBiZSBzbWFsbGVyIHRoYW4gJXp1LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU2MworIywgZnV6enkKK21zZ2lkICJDYW5ub3QgYWxsb2NhdGUgbWVtb3J5ISIKK21zZ3N0ciAibmUgbW9ndSBvdHZvcml0aSAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGxlbmd0aCBjaGFuZ2VkIGZyb20gJTxQUkl1MzI+IHRvICU8UFJJdTY0Pi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBhdHRyaWJ1dGVzIG9uIHBhcnRpdGlvbiAlenUgY2hhbmdlZCB0byAweCUwMTY8UFJJeDY0Pi4iCittc2dzdHIgIm5pc2FtIHVzcGlvIHVrbG9uaXRpIHBhcnRpY2lqdSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NDIKK21zZ2lkICJFbnRlciBHVUlEIHNwZWNpZmljIGJpdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHRvZ2dsZSB1bnN1cHBvcnRlZCBiaXQgJWx1IgorbXNnc3RyICJuaXNhbSB1c3BpbyBwb3N0YXZpdGkgb3BpcyB6YSAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzcxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE4Cittc2dpZCAiVHlwZS1VVUlEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE5Cittc2dpZCAiVVVJRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkyMCBsb2dpbi11dGlscy9jaGZuLmM6MTUwIGxvZ2luLXV0aWxzL2NoZm4uYzoxNTIKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMDcKK21zZ2lkICJOYW1lIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzo4NDAKK21zZ2lkICJGcmVlIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzoxMjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiAjJXp1LiIKK21zZ3N0ciAibmlzYW0gdXNwaW8gdWtsb25pdGkgcGFydGljaWp1IgorCisjOiBsaWJmZGlzay9zcmMvcGFydHR5cGUuYzoyNTkgbWlzYy11dGlscy9maW5kbW50LmM6NjU1IHNjaGVkdXRpbHMvY2hydC5jOjIwNgorIzogc2NoZWR1dGlscy9pb25pY2UuYzo3OSBzeXMtdXRpbHMvaHdjbG9jay5jOjMzNAorbXNnaWQgInVua25vd24iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ3Cittc2dpZCAiU0dJIHZvbGhkciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDgKK21zZ2lkICJTR0kgdHJrcmVwbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDkKK21zZ2lkICJTR0kgc2VjcmVwbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTAKK21zZ2lkICJTR0kgcmF3IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MQorbXNnaWQgIlNHSSBic2QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUyCittc2dpZCAiU0dJIHN5c3YiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUzCittc2dpZCAiU0dJIHZvbHVtZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTQKK21zZ2lkICJTR0kgZWZzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NQorbXNnaWQgIlNHSSBsdm9sIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NgorbXNnaWQgIlNHSSBybHZvbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTcKK21zZ2lkICJTR0kgeGZzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OAorbXNnaWQgIlNHSSB4ZnNsb2ciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5Cittc2dpZCAiU0dJIHhsdiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAKK21zZ2lkICJTR0kgeHZtIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MiBsaWJmZGlzay9zcmMvc3VuLmM6NTMKK21zZ2lkICJMaW51eCBuYXRpdmUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjE1OQorbXNnaWQgIlNHSSBpbmZvIGNyZWF0ZWQgb24gc2Vjb25kIHNlY3Rvci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI1OQorbXNnaWQgIkRldGVjdGVkIGFuIFNHSSBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4MiBsaWJmZGlzay9zcmMvc3VuLmM6NzcwCittc2dpZCAiUGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODcgbGliZmRpc2svc3JjL3N1bi5jOjc3NQorbXNnaWQgIkV4dHJhIHNlY3RzL2N5bCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjk3CisjLCBmdXp6eQorbXNnaWQgIkJvb3RmaWxlIgorbXNnc3RyICJvcGVuIG5pamUgdXNwaW86ICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mzk1Cittc2dpZCAiSW52YWxpZCBib290ZmlsZSEgIFRoZSBib290ZmlsZSBtdXN0IGJlIGFuIGFic29sdXRlIG5vbi16ZXJvIHBhdGhuYW1lLCBlLmcuIFwiL3VuaXhcIiBvciBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwMQorIywgYy1mb3JtYXQKK21zZ2lkICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZSBtYXhpbXVtLiIKK21zZ2lkX3BsdXJhbCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGVzIG1heGltdW0uIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKK21zZ3N0clsyXSAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDA4Cittc2dpZCAiQm9vdGZpbGUgbXVzdCBoYXZlIGEgZnVsbHkgcXVhbGlmaWVkIHBhdGhuYW1lLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDE0Cittc2dpZCAiQmUgYXdhcmUgdGhhdCB0aGUgYm9vdGZpbGUgaXMgbm90IGNoZWNrZWQgZm9yIGV4aXN0ZW5jZS4gIFNHSSdzIGRlZmF1bHQgaXMgXCIvdW5peFwiLCBhbmQgZm9yIGJhY2t1cCBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgY3VycmVudCBib290IGZpbGUgaXM6ICVzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDEKK21zZ2lkICJFbnRlciBvZiB0aGUgbmV3IGJvb3QgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQ2Cittc2dpZCAiQm9vdCBmaWxlIGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ1NworIywgYy1mb3JtYXQKK21zZ2lkICJCb290ZmlsZSBoYXMgYmVlbiBjaGFuZ2VkIHRvIFwiJXNcIi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5NgorbXNnaWQgIk1vcmUgdGhhbiBvbmUgZW50aXJlIGRpc2sgZW50cnkgcHJlc2VudC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYwMyBsaWJmZGlzay9zcmMvc3VuLmM6NDU4CisjLCBmdXp6eQorbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZC4iCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxMworbXNnaWQgIklSSVggbGlrZXMgaXQgd2hlbiBwYXJ0aXRpb24gMTEgY292ZXJzIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxNworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIHNob3VsZCBzdGFydCBhdCBibG9jayAwLCBub3QgYXQgYmxvY2sgJWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MjgKK21zZ2lkICJQYXJ0aXRpb24gMTEgc2hvdWxkIGNvdmVyIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3Rvci4iCittc2dpZF9wbHVyYWwgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9ycy4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorbXNnc3RyWzJdICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NjMgbGliZmRpc2svc3JjL3NnaS5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3I6IHNlY3RvciAlOHUiCittc2dpZF9wbHVyYWwgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3RvcnM6IHNlY3RvcnMgJTh1LSV1IgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKK21zZ3N0clsyXSAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Njk4Cittc2dpZCAiVGhlIGJvb3QgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzAyCittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA2Cittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGhhcyBubyBzd2FwIHR5cGUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDkKK21zZ2lkICJZb3UgaGF2ZSBjaG9zZW4gYW4gdW51c3VhbCBib290ZmlsZSBuYW1lLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzU5Cittc2dpZCAiUGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDQKK21zZ2lkICJBdHRlbXB0aW5nIHRvIGdlbmVyYXRlIGVudGlyZSBkaXNrIGVudHJ5IGF1dG9tYXRpY2FsbHkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDkKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgaXMgYWxyZWFkeSBjb3ZlcmVkIHdpdGggcGFydGl0aW9ucy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg1MworbXNnaWQgIllvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODc1IGxpYmZkaXNrL3NyYy9zdW4uYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3QgJXMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg5OSBsaWJmZGlzay9zcmMvc2dpLmM6OTQ5Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIGVsZXZlbnRoIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrIGFuZCBpcyBvZiB0eXBlICdTR0kgdm9sdW1lJy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjkxNCBsaWJmZGlzay9zcmMvc3VuLmM6NjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgJXMgb3IgKyVzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjk4NSBsaWJmZGlzay9zcmMvc3VuLmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LiBUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA1MQorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU0dJIGRpc2tsYWJlbC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNzAKK21zZ2lkICJTb3JyeSwgb25seSBmb3Igbm9uLWVtcHR5IHBhcnRpdGlvbnMgeW91IGNhbiBjaGFuZ2UgdGhlIHRhZy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNzYKK21zZ2lkICJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiA5IGFzIHZvbHVtZSBoZWFkZXIgKDApLCBhbmQgcGFydGl0aW9uIDExIGFzIGVudGlyZSB2b2x1bWUgKDYpLCBhcyBJUklYIGV4cGVjdHMgaXQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDg1Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMCBpcyBvZiB0eXBlIFwiU0dJIHZvbGhkclwiLCB0aGUgSVJJWCBzeXN0ZW0gd2lsbCByZWx5IG9uIGl0IHRvIHJldHJpZXZlIGZyb20gaXRzIGRpcmVjdG9yeSBzdGFuZGFsb25lIHRvb2xzIGxpa2Ugc2FzaCBhbmQgZnguIE9ubHkgdGhlIFwiU0dJIHZvbHVtZVwiIGVudGlyZSBkaXNrIHNlY3Rpb24gbWF5IHZpb2xhdGUgdGhpcy4gQXJlIHlvdSBzdXJlIGFib3V0IHRhZ2dpbmcgdGhpcyBwYXJ0aXRpb24gZGlmZmVyZW50bHk/IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MAorbXNnaWQgIlVuYXNzaWduZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQyCittc2dpZCAiU3VuT1Mgcm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDMKK21zZ2lkICJTdW5PUyBzd2FwIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NAorbXNnaWQgIlN1bk9TIHVzciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDUKK21zZ2lkICJXaG9sZSBkaXNrIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NgorbXNnaWQgIlN1bk9TIHN0YW5kIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NworbXNnaWQgIlN1bk9TIHZhciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDgKK21zZ2lkICJTdW5PUyBob21lIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0OQorbXNnaWQgIlN1bk9TIGFsdCBzZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MAorbXNnaWQgIlN1bk9TIGNhY2hlZnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUxCittc2dpZCAiU3VuT1MgcmVzZXJ2ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEzNworbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4gUHJvYmFibHkgeW91J2xsIGhhdmUgdG8gc2V0IGFsbCB0aGUgdmFsdWVzLCBlLmcuIGhlYWRzLCBzZWN0b3JzLCBjeWxpbmRlcnMgYW5kIHBhcnRpdGlvbnMgb3IgZm9yY2UgYSBmcmVzaCBsYWJlbCAocyBjb21tYW5kIGluIG1haW4gbWVudSkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1MAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdmVyc2lvbiBbJWRdLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLnNhbml0eSBbMHglMDh4XS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5ucGFydHMgWyV1XS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2NQorbXNnaWQgIldhcm5pbmc6IFdyb25nIHZhbHVlcyBuZWVkIHRvIGJlIGZpeGVkIHVwIGFuZCB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTIKK21zZ2lkICJIZWFkcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTk0Cittc2dpZCAiU2VjdG9ycy90cmFjayIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Mjk3Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTdW4gZGlza2xhYmVsLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBkb2Vzbid0IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzNQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBvdGhlcnMgaW4gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAwLSV1LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDY1IGxpYmZkaXNrL3NyYy9zdW4uYzo0NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MjgKK21zZ2lkICJPdGhlciBwYXJ0aXRpb25zIGFscmVhZHkgY292ZXIgdGhlIHdob2xlIGRpc2suIERlbGV0ZSBzb21lL3NocmluayB0aGVtIGJlZm9yZSByZXRyeS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU5MworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWQgaXMgYWxyZWFkeSBhbGxvY2F0ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYwMAorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSB0aGlyZCBwYXJ0aXRpb24gY292ZXJzIHRoZSB3aG9sZSBkaXNrIGFuZCBpcyBvZiB0eXBlIGBXaG9sZSBkaXNrJyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NjEwCisjLCBjLWZvcm1hdAorbXNnaWQgIkFsaWduaW5nIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSAldSB0byAldSB0byBiZSBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmVuJ3QgY292ZXJlZCB0aGUgd2hvbGUgZGlzayB3aXRoIHRoZSAzcmQgcGFydGl0aW9uLCBidXQgeW91ciB2YWx1ZVxuIgorIiVsdSAlcyBjb3ZlcnMgc29tZSBvdGhlciBwYXJ0aXRpb24uIFlvdXIgZW50cnkgaGFzIGJlZW4gY2hhbmdlZFxuIgorInRvICVsdSAlcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzI2CisjLCBjLWZvcm1hdAorbXNnaWQgIklmIHlvdSB3YW50IHRvIG1haW50YWluIFN1bk9TL1NvbGFyaXMgY29tcGF0aWJpbGl0eSwgY29uc2lkZXIgbGVhdmluZyB0aGlzIHBhcnRpdGlvbiBhcyBXaG9sZSBkaXNrICg1KSwgc3RhcnRpbmcgYXQgMCwgd2l0aCAldSBzZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NTAKK21zZ2lkICJMYWJlbCBJRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzU1CisjLCBmdXp6eQorbXNnaWQgIlZvbHVtZSBJRCIKK21zZ3N0ciAiUHJvc3RvcjogPCUtNnM+XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjUKK21zZ2lkICJBbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo4NzEKK21zZ2lkICJOdW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6ODk2Cittc2dpZCAiRXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjkyMAorbXNnaWQgIkludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5NDQKK21zZ2lkICJSb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTY4Cittc2dpZCAiTnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTAzNworbXNnaWQgIiIKKyJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiAzIGFzIFdob2xlIGRpc2sgKDUpLFxuIgorImFzIFN1bk9TL1NvbGFyaXMgZXhwZWN0cyBpdCBhbmQgZXZlbiBMaW51eCBsaWtlcyBpdC5cbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA0OAorbXNnaWQgIiIKKyJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwXG4iCisiaXMgVUZTLCBFWFQyRlMgZmlsZXN5c3RlbSBvciBTdW5PUyBzd2FwLiBQdXR0aW5nIExpbnV4IHN3YXBcbiIKKyJ0aGVyZSBtYXkgZGVzdHJveSB5b3VyIHBhcnRpdGlvbiB0YWJsZSBhbmQgYm9vdGJsb2NrLlxuIgorIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB0YWcgdGhlIHBhcnRpdGlvbiBhcyBMaW51eCBzd2FwPyIKK21zZ3N0ciAiIgorCisjOiBsaWIvcGFnZXIuYzoxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FpdHBpZCBmYWlsZWQgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBsaWIvcGF0aC5jOjIwOSBzeXMtdXRpbHMvbHNjcHUuYzoxODE4Cittc2dpZCAiZmFpbGVkIHRvIGNhbGxvY2F0ZSBjcHUgc2V0IgorbXNnc3RyICIiCisKKyM6IGxpYi9wYXRoLmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdCAlcyIKK21zZ3N0ciAiIgorCisjOiBsaWIvcGF0aC5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2sgJXMiCittc2dzdHIgIiIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MgorIywgZnV6enkKK21zZ2lkICJjYW4gbm90IG9wZW4gVU5JWCBzb2NrZXQiCittc2dzdHIgIm5lIG1vZ3Ugb3R2b3JpdGkgJXM6ICVzIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjc4Cittc2dpZCAiY2FuIG5vdCBzZXQgb3B0aW9uIGZvciBVTklYIHNvY2tldCIKK21zZ3N0ciAiIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjkxCisjLCBmdXp6eQorbXNnaWQgImNhbiBub3QgY29ubmVjdCBvbiBVTklYIHNvY2tldCIKK21zZ3N0ciAibmUgbW9ndSBvdHZvcml0aSAlczogJXMiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBwbHltb3V0aCByZXF1ZXN0ICVjIGlzIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWIvcmFuZHV0aWxzLmM6MTM2Cittc2dpZCAibGliYyBwc2V1ZG8tcmFuZG9tIGZ1bmN0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjE3IGxpYi9zd2FwcHJvYmVyLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBwcm9iZSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbGliL3N3YXBwcm9iZXIuYzozMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYW1iaWd1b3VzIHByb2JpbmcgcmVzdWx0OyB1c2Ugd2lwZWZzKDgpIgorbXNnc3RyICIiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHZhbGlkIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuc3VwcG9ydGVkIHN3YXAgdmVyc2lvbiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5MCBsb2dpbi11dGlscy9jaHNoLmM6NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT5dXG4iCittc2dzdHIgIiAlcyBbb3BjaWplXSA8dXJlxJFhaj5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjkzCittc2dpZCAiQ2hhbmdlIHlvdXIgZmluZ2VyIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5NgorbXNnaWQgIiAtZiwgLS1mdWxsLW5hbWUgPGZ1bGwtbmFtZT4gIHJlYWwgbmFtZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5NworbXNnaWQgIiAtbywgLS1vZmZpY2UgPG9mZmljZT4gICAgICAgIG9mZmljZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTgKK21zZ2lkICIgLXAsIC0tb2ZmaWNlLXBob25lIDxwaG9uZT4gICBvZmZpY2UgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk5Cittc2dpZCAiIC1oLCAtLWhvbWUtcGhvbmUgPHBob25lPiAgICAgaG9tZSBwaG9uZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAxIGxvZ2luLXV0aWxzL2Noc2guYzo3OAorbXNnaWQgIiAtdSwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmllbGQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyMSBsb2dpbi11dGlscy9jaHNoLmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBoYXMgaWxsZWdhbCBjaGFyYWN0ZXJzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTAgbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTYyCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luLmRlZnMgZm9yYmlkcyBzZXR0aW5nICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE1OCBsb2dpbi11dGlscy9jaGZuLmM6MzA5Cittc2dpZCAiT2ZmaWNlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIgbG9naW4tdXRpbHMvY2hmbi5jOjE2NCBsb2dpbi11dGlscy9jaGZuLmM6MzExCittc2dpZCAiT2ZmaWNlIFBob25lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjggbG9naW4tdXRpbHMvY2hmbi5jOjE3MCBsb2dpbi11dGlscy9jaGZuLmM6MzEzCittc2dpZCAiSG9tZSBQaG9uZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MjMzCittc2dpZCAiQWJvcnRlZC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBoYXMgdW5leHBlY3RlZCB2YWx1ZTogJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjI5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBkb2VzIG5vdCBhbGxvdyBhbnkgY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIGNoYW5nZWQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQwOCBsb2dpbi11dGlscy9jaHNoLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdSAodXNlciAlZCkgZG9uJ3QgZXhpc3QuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MTQgbG9naW4tdXRpbHMvY2hzaC5jOjI0OCBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBcIiVzXCIgZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MjAgbG9naW4tdXRpbHMvY2hzaC5jOjI1NAorbXNnaWQgImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBmaW5nZXIgaW5mbyBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDM1IGxvZ2luLXV0aWxzL2Noc2guYzoyNzAKK21zZ2lkICJVbmtub3duIHVzZXIgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDQxIGxvZ2luLXV0aWxzL2Noc2guYzoyNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgc2V0IGRlZmF1bHQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MgorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBmaW5nZXIgaW5mb3JtYXRpb24gZm9yICVzLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIG5vdCBjaGFuZ2VkLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3MgorbXNnaWQgIkNoYW5nZSB5b3VyIGxvZ2luIHNoZWxsLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBzcGVjaWZ5IGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc2Cittc2dpZCAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIHByaW50IGxpc3Qgb2Ygc2hlbGxzIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjEwMAorbXNnaWQgIk5vIGtub3duIHNoZWxscy4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIwMAorbXNnaWQgInNoZWxsIG11c3QgYmUgYSBmdWxsIHBhdGggbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBpcyBub3QgZXhlY3V0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjEwCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IFwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjE0IGxvZ2luLXV0aWxzL2Noc2guYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLlxuIgorIlVzZSAlcyAtbCB0byBzZWUgbGlzdC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIHNoZWxsIG9mICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyOTUKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ciBzaGVsbCBpcyBub3QgaW4gJXMsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBzaGVsbCBmb3IgJXMuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMxMgorbXNnaWQgIk5ldyBzaGVsbCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzIwCittc2dpZCAiU2hlbGwgbm90IGNoYW5nZWQuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjUKK21zZ2lkICJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzI5Cittc2dpZCAiIgorInNldHB3bmFtIGZhaWxlZFxuIgorIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hlbGwgY2hhbmdlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9pc2xvY2FsLmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIDxwYXNzd29yZGZpbGU+IDx1c2VybmFtZT4uLi5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MTc0IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyMCBzeXMtdXRpbHMvZG1lc2cuYzoxMTkzCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdGltZSBmb3JtYXQ6ICVzIgorbXNnc3RyICJOZXBvem5hdGEgbmFyZWRiYTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyODEgbG9naW4tdXRpbHMvbGFzdC5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcnJ1cHRlZCAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NDM5IGxvZ2luLXV0aWxzL2xhc3QuYzo0NTAKK21zZ2lkICJwcmVhbGxvY2F0aW9uIHNpemUgZXhjZWVkZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPi4uLl0gWzx0dHk+Li4uXVxuIgorbXNnc3RyICIgJXMgW29wY2lqZV0gPHVyZcSRYWo+XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzIKK21zZ2lkICJTaG93IGEgbGlzdGluZyBvZiBsYXN0IGxvZ2dlZCBpbiB1c2Vycy5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc1Cittc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgIGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc2Cittc2dpZCAiIC1hLCAtLWhvc3RsYXN0ICAgICAgIGRpc3BsYXkgaG9zdG5hbWVzIGluIHRoZSBsYXN0IGNvbHVtblxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzcKK21zZ2lkICIgLWQsIC0tZG5zICAgICAgICAgICAgdHJhbnNsYXRlIHRoZSBJUCBudW1iZXIgYmFjayBpbnRvIGEgaG9zdG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICB1c2UgYSBzcGVjaWZpYyBmaWxlIGluc3RlYWQgb2YgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgwCittc2dpZCAiIC1GLCAtLWZ1bGx0aW1lcyAgICAgIHByaW50IGZ1bGwgbG9naW4gYW5kIGxvZ291dCB0aW1lcyBhbmQgZGF0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgxCittc2dpZCAiIC1pLCAtLWlwICAgICAgICAgICAgIGRpc3BsYXkgSVAgbnVtYmVycyBpbiBudW1iZXJzLWFuZC1kb3RzIG5vdGF0aW9uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MgorbXNnaWQgIiAtbiwgLS1saW1pdCA8bnVtYmVyPiBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MworbXNnaWQgIiAtUiwgLS1ub2hvc3RuYW1lICAgICBkb24ndCBkaXNwbGF5IHRoZSBob3N0bmFtZSBmaWVsZFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODQKK21zZ2lkICIgLXMsIC0tc2luY2UgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgc2luY2UgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NQorbXNnaWQgIiAtdCwgLS11bnRpbCA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyB1bnRpbCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg2Cittc2dpZCAiIC1wLCAtLXByZXNlbnQgPHRpbWU+IGRpc3BsYXkgd2hvIHdlcmUgcHJlc2VudCBhdCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg3Cittc2dpZCAiIC13LCAtLWZ1bGxuYW1lcyAgICAgIGRpc3BsYXkgZnVsbCB1c2VyIGFuZCBkb21haW4gbmFtZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg4Cittc2dpZCAiIC14LCAtLXN5c3RlbSAgICAgICAgIGRpc3BsYXkgc3lzdGVtIHNodXRkb3duIGVudHJpZXMgYW5kIHJ1biBsZXZlbCBjaGFuZ2VzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OQorbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wcyBpbiB0aGUgc3BlY2lmaWVkIDxmb3JtYXQ+OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpbWV8c2hvcnR8ZnVsbHxpc29cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6ODgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlcyBiZWdpbnMgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk1NiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY0CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIiCittc2dzdHIgIm5pc2FtIHVzcGlvIG9icmFkaXRpIGJyb2ogaW5kZWtzbmloIMSNdm9yb3ZhIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTc3IGxvZ2luLXV0aWxzL2xhc3QuYzo5ODIgbG9naW4tdXRpbHMvbGFzdC5jOjk4NworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZSB2YWx1ZSBcIiVzXCIiCittc2dzdHIgIm5laXNwcmF2YW4gYXJndW1lbnQgcG/EjWV0a2EiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzoyOSBsb2dpbi11dGlscy9saWJ1c2VyLmM6MzEKK21zZ2lkICJDb3VsZG4ndCBkcm9wIGdyb3VwIHByaXZpbGVnZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImxpYnVzZXIgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlcy4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjUyCittc2dpZCAiY2hhbmdpbmcgdXNlciBhdHRyaWJ1dGUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo2NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIGF0dHJpYnV0ZSBub3QgY2hhbmdlZDogJXMiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJXUgaXMgNjAuCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjE4MAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lZCBvdXQgYWZ0ZXIgJXUgc2Vjb25kcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI4NgorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogY2FuJ3QgcmVvcGVuIHR0eTogJW0iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzIGlzIG5vdCBhIHRlcm1pbmFsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzEwCisjLCBjLWZvcm1hdAorbXNnaWQgImNob3duICglcywgJWx1LCAlbHUpIGZhaWxlZDogJW0iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2htb2QgKCVzLCAldSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM3NQorbXNnaWQgIkZBVEFMOiBiYWQgdHR5IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlczogY2hhbmdlIHBlcm1pc3Npb25zIGZhaWxlZDogJW0iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBsb2dpbjogJS4qcyAiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnJvbSAlLipzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAib24gJS4qc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTUyCittc2dpZCAid3JpdGUgbGFzdGxvZyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRElBTFVQIEFUICVzIEJZICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMgRlJPTSAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2MAorIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIEZST00gJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTE9HSU4gT04gJXMgQlkgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3MTkKK21zZ2lkICJsb2dpbjogIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIlBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGRuJ3QgaW5pdGlhbGl6ZSBQQU06ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODE3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiAldSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MjUgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxvZ2luIGluY29ycmVjdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRPTyBNQU5ZIExPR0lOIFRSSUVTICgldSkgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiBTRVNTSU9OIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg1NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTG9naW4gaW5jb3JyZWN0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4ODIgbG9naW4tdXRpbHMvbG9naW4uYzoxMjMyIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI1NQorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHNldHVwIHByb2JsZW0sIGFib3J0LiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICJOVUxMIHVzZXIgbmFtZSBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAyMAorIywgYy1mb3JtYXQKK21zZ2lkICJUSU9DU0NUVFkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW46IC1oIGlzIGZvciBzdXBlcnVzZXIgb25seVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE4OQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogbG9naW4gWy1wXSBbLWggPGhvc3Q+XSBbLUhdIFtbLWZdIDx1c2VybmFtZT5dXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTkxCittc2dpZCAiQmVnaW4gYSBzZXNzaW9uIG9uIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdXNlciBuYW1lIFwiJXNcIiBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJncm91cHMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNzkKK21zZ2lkICJzZXRnaWQoKSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG5ldyBtYWlsLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMxMQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBtYWlsLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMyNQorbXNnaWQgInNldHVpZCgpIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzEgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2hhbmdlIGRpcmVjdG9yeSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzM4IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9nZ2luZyBpbiB3aXRoIGhvbWUgPSBcIi9cIi5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNjcKK21zZ2lkICJjb3VsZG4ndCBleGVjIHNoZWxsIHNjcmlwdCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNjkKK21zZ2lkICJubyBzaGVsbCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGNvbnRhaW5zIGludmFsaWQgbnVtZXJpY2FsIHZhbHVlOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzozNzUKK21zZ2lkICJodXNoIGxvZ2luIHN0YXR1czogcmVzdG9yZSBvcmlnaW5hbCBJRHMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA4IHN5cy11dGlscy9sc2NwdS5jOjE1NDAgc3lzLXV0aWxzL2xzY3B1LmM6MTU1MAorbXNnaWQgIm5vIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3IG1pc2MtdXRpbHMvbHNibGsuYzoxODEKK21zZ2lkICJ1c2VyIG5hbWUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcKK21zZ2lkICJVc2VybmFtZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOCBzeXMtdXRpbHMvcmVuaWNlLmM6NTQKK21zZ2lkICJ1c2VyIElEIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE5Cittc2dpZCAicGFzc3dvcmQgbm90IHJlcXVpcmVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE5Cittc2dpZCAiUGFzc3dvcmQgbm90IHJlcXVpcmVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAibG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKK21zZ2lkICJMb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgInBhc3N3b3JkIGRlZmluZWQsIGJ1dCBsb2NrZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKK21zZ2lkICJQYXNzd29yZCBpcyBsb2NrZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJsb2cgaW4gZGlzYWJsZWQgYnkgbm9sb2dpbig4KSBvciBwYW1fbm9sb2dpbig4KSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorbXNnaWQgIk5vIGxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCittc2dpZCAicHJpbWFyeSBncm91cCBuYW1lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCittc2dpZCAiUHJpbWFyeSBncm91cCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNAorbXNnaWQgInByaW1hcnkgZ3JvdXAgSUQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIG5hbWVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3Cittc2dpZCAiaG9tZSBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKK21zZ2lkICJIb21lIGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorbXNnaWQgImxvZ2luIHNoZWxsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4Cittc2dpZCAiU2hlbGwiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJmdWxsIHVzZXIgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgIkdlY29zIGZpZWxkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiZGF0ZSBvZiBsYXN0IGxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiTGFzdCBsb2dpbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgImxhc3QgdHR5IHVzZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJMYXN0IHRlcm1pbmFsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiaG9zdG5hbWUgZHVyaW5nIHRoZSBsYXN0IHNlc3Npb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJMYXN0IGhvc3RuYW1lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiZGF0ZSBvZiBsYXN0IGZhaWxlZCBsb2dpbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworbXNnaWQgIkZhaWxlZCBsb2dpbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorbXNnaWQgIndoZXJlIGRpZCB0aGUgbG9naW4gZmFpbD8iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKK21zZ2lkICJGYWlsZWQgbG9naW4gdGVybWluYWwiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJ1c2VyJ3MgaHVzaCBzZXR0aW5ncyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgIkh1c2hlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgImRheXMgdXNlciBpcyB3YXJuZWQgb2YgcGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24gd2FybiBpbnRlcnZhbCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgInBhc3N3b3JkIGV4cGlyYXRpb24gZGF0ZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJkYXRlIG9mIGxhc3QgcGFzc3dvcmQgY2hhbmdlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4Cittc2dpZCAiUGFzc3dvcmQgY2hhbmdlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIm51bWJlciBvZiBkYXlzIHJlcXVpcmVkIGJldHdlZW4gY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIk1pbmltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKK21zZ2lkICJtYXggbnVtYmVyIG9mIGRheXMgYSBwYXNzd29yZCBtYXkgcmVtYWluIHVuY2hhbmdlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIk1heGltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJ0aGUgdXNlcidzIHNlY3VyaXR5IGNvbnRleHQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJTZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIHJ1biBieSB0aGUgdXNlciIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorIywgZnV6enkKK21zZ2lkICJSdW5uaW5nIHByb2Nlc3NlcyIKK21zZ3N0ciAibmUgbW9ndSBvdHZvcml0aSAlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyODggbWlzYy11dGlscy9maW5kbW50LmM6MTM2IG1pc2MtdXRpbHMvbHNibGsuYzoyMzEKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBjb2x1bW5zIHNwZWNpZmllZCwgdGhlIGxpbWl0IGlzICV6dSBjb2x1bW5zIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQzIHN5cy11dGlscy9sc2lwYy5jOjQ1NgorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB0aW1lIHR5cGUiCittc2dzdHIgIm5lcG9kcsW+YW5lIG1vZ3XEh25vc3RpIGRhdG90ZcSNbm9nIHN1c3RhdmEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjb21wb3NlIHRpbWUgc3RyaW5nIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6NjQ4Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzEKKyMsIGZ1enp5Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVua25vd24gY29sdW1uIgorbXNnc3RyICJpbnRlcm5hIGdyZcWha2EiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA3NSBzeXMtdXRpbHMvbHNpcGMuYzo1MDMgc3lzLXV0aWxzL2xzaXBjLmM6NjI1CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo2ODAgc3lzLXV0aWxzL2xzaXBjLmM6ODM4IHN5cy11dGlscy9sc2lwYy5jOjEwMzYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCBkYXRhIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTE2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTGFzdCBsb2dzOlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyOCBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMSBtaXNjLXV0aWxzL21jb29raWUuYzo4MiBtaXNjLXV0aWxzL3V1aWRkLmM6NzAKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI1IHN5cy11dGlscy9kbWVzZy5jOjI2NCBzeXMtdXRpbHMvaXBjbWsuYzo2NgorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2MCBzeXMtdXRpbHMvbHNpcGMuYzoyNzcgc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA0CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjk1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MCB0ZXh0LXV0aWxzL2xpbmUuYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMxCittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBrbm93biB1c2VycyBpbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNAorbXNnaWQgIiAtYSwgLS1hY2MtZXhwaXJhdGlvbiAgICAgZGlzcGxheSBpbmZvIGFib3V0IHBhc3N3b3JkcyBleHBpcmF0aW9uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM1Cittc2dpZCAiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICBkaXNwbGF5IGRhdGEgaW4gYSBmb3JtYXQgc2ltaWxhciB0byAvZXRjL3Bhc3N3ZFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNiBzeXMtdXRpbHMvbHNpcGMuYzoyOTYKKyMsIGZ1enp5Cittc2dpZCAiIC1lLCAtLWV4cG9ydCAgICAgICAgICAgICBkaXNwbGF5IGluIGFuIGV4cG9ydC1hYmxlIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNworIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIGRpc3BsYXkgZGF0YSBhYm91dCB0aGUgdXNlcnMnIGxhc3QgZmFpbGVkIGxvZ2luc1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgZ3JvdXBzXG4iCittc2dzdHIgIiAtPyAgICAgICAgIHByaWthxb5pIG92dSBwb21vxIcgaSBpemHEkWlcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM5Cittc2dpZCAiIC1nLCAtLWdyb3Vwcz08Z3JvdXBzPiAgICBkaXNwbGF5IHVzZXJzIGJlbG9uZ2luZyB0byBhIGdyb3VwIGluIDxncm91cHM+XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQwCisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1sYXN0ICAgICAgICAgICAgICAgc2hvdyBpbmZvIGFib3V0IHRoZSB1c2VycycgbGFzdCBsb2dpbiBzZXNzaW9uc1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MQorbXNnaWQgIiAtbCwgLS1sb2dpbnM9PGxvZ2lucz4gICAgZGlzcGxheSBvbmx5IHVzZXJzIGZyb20gPGxvZ2lucz5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDIgc3lzLXV0aWxzL2xzaXBjLmM6Mjk4Cittc2dpZCAiIC1uLCAtLW5ld2xpbmUgICAgICAgICAgICBkaXNwbGF5IGVhY2ggcGllY2Ugb2YgaW5mb3JtYXRpb24gb24gYSBuZXcgbGluZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MyBzeXMtdXRpbHMvbHNpcGMuYzoyOTEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ0IHN5cy11dGlscy9sc2lwYy5jOjI5MgorbXNnaWQgIiAgICAgLS1ub3RydW5jYXRlICAgICAgICAgZG9uJ3QgdHJ1bmNhdGUgb3V0cHV0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMAorbXNnaWQgIiAtbywgLS1vdXRwdXRbPTxsaXN0Pl0gICAgZGVmaW5lIHRoZSBjb2x1bW5zIHRvIG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NgorbXNnaWQgIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGxvZ2luIGJ5IHBhc3N3b3JkLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NyBzeXMtdXRpbHMvbHNpcGMuYzozMDIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICBkaXNwbGF5IGluIHJhdyBtb2RlXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ4CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAgZGlzcGxheSBzeXN0ZW0gYWNjb3VudHNcbiIKK21zZ3N0ciAiIC1oLCAtLWhlbHAgICAgICAgICBwcmlrYcW+aSBvdnUgcG9tb8SHIGkgaXphxJFpXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OSBzeXMtdXRpbHMvbHNpcGMuYzoyOTMKK21zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQ9PHR5cGU+IGRpc3BsYXkgZGF0ZXMgaW4gc2hvcnQsIGZ1bGwgb3IgaXNvIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIGRpc3BsYXkgdXNlciBhY2NvdW50c1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MQorIywgZnV6enkKK21zZ2lkICIgLVosIC0tY29udGV4dCAgICAgICAgICAgIGRpc3BsYXkgU0VMaW51eCBjb250ZXh0c1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MgorbXNnaWQgIiAteiwgLS1wcmludDAgICAgICAgICAgICAgZGVsaW1pdCB1c2VyIGVudHJpZXMgd2l0aCBhIG51bCBjaGFyYWN0ZXJcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTMKK21zZ2lkICIgICAgIC0td3RtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3Igd3RtcFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1NAorbXNnaWQgIiAgICAgLS1idG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciBidG1wXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjU5IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDcgc3lzLXV0aWxzL2xzY3B1LmM6MTk3OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDQyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZXF1ZXN0IHNlbGludXggc3RhdGUiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDU2IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ2MAorbXNnaWQgIk9ubHkgb25lIHVzZXIgbWF5IGJlIHNwZWNpZmllZC4gVXNlIC1sIGZvciBtdWx0aXBsZSB1c2Vycy4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NDkgbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTUKKyMsIGZ1enp5Cittc2dpZCAiY291bGQgbm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjU3CisjLCBmdXp6eQorbXNnaWQgImdldGxpbmUoKSBmYWlsZWQiCittc2dzdHIgIsSNaXRhbmplIG5pamUgdXNwamVsbzogJXMiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE0OAorbXNnaWQgIlBhc3N3b3JkOiAiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTU0IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDA1CisjLCBmdXp6eQorbXNnaWQgImNyeXB0IGZhaWxlZCIKK21zZ3N0ciAiZm9yayBuaWplIHVzcGlvIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxncm91cD5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjkKK21zZ2lkICJMb2cgaW4gdG8gYSBuZXcgZ3JvdXAuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjA3Cittc2dpZCAid2hvIGFyZSB5b3U/IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxMSBsb2dpbi11dGlscy9uZXdncnAuYzoyMjMgc3lzLXV0aWxzL25zZW50ZXIuYzo0MjMKK21zZ2lkICJzZXRnaWQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxNiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTgKK21zZ2lkICJubyBzdWNoIGdyb3VwIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyMSBzeXMtdXRpbHMvbW91bnQuYzo0OTEKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjcgc3lzLXV0aWxzL25zZW50ZXIuYzo0MjUKK21zZ2lkICJzZXR1aWQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzoyOQorbXNnaWQgIlBvbGl0ZWx5IHJlZnVzZSBhIGxvZ2luLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGlzIGFjY291bnQgaXMgY3VycmVudGx5IG5vdCBhdmFpbGFibGUuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBzZXNzaW9uOiAlcyIKK21zZ3N0ciAibmUgbW9ndSBvdHZvcml0aSAlczogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMwNAorbXNnaWQgImNhbm5vdCBjcmVhdGUgY2hpbGQgcHJvY2VzcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzIxCittc2dpZCAiY2Fubm90IGJsb2NrIHNpZ25hbHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzM1IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM0MworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzQ5IG1pc2MtdXRpbHMvdXVpZGQuYzo0MDcgdGVybS11dGlscy9zY3JpcHQuYzo3NzEKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM3NAorbXNnaWQgIiAoY29yZSBkdW1wZWQpIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLCBraWxsaW5nIHNoZWxsLi4uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICIgLi4ua2lsbGVkLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQ4NgorbXNnaWQgIm1heSBub3QgYmUgdXNlZCBieSBub24tcm9vdCB1c2VycyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MTQKK21zZ2lkICJpbmNvcnJlY3QgcGFzc3dvcmQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTk4Cittc2dpZCAiY2Fubm90IHNldCBncm91cHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjEzIHN5cy11dGlscy9lamVjdC5jOjY2NQorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXAgaWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjE1IHN5cy11dGlscy9lamVjdC5jOjY2OAorbXNnaWQgImNhbm5vdCBzZXQgdXNlciBpZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKK21zZ3N0ciAiICVzIFtvcGNpamVdIDx1cmXEkWFqPlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2ODkgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFtvcGNpamVdIGRhdG90ZWthXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY5MAorbXNnaWQgIiIKKyJcbiIKKyJSdW4gPGNvbW1hbmQ+IHdpdGggdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCBvZiA8dXNlcj4uICBJZiAtdSBpc1xuIgorIm5vdCBnaXZlbiwgZmFsbCBiYWNrIHRvIHN1KDEpLWNvbXBhdGlibGUgc2VtYW50aWNzIGFuZCBleGVjdXRlIHN0YW5kYXJkIHNoZWxsLlxuIgorIlRoZSBvcHRpb25zIC1jLCAtZiwgLWwsIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLXUuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njk3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2VyIDx1c2VyPiAgICAgICAgICAgICB1c2VybmFtZVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwMgorbXNnaWQgIiIKKyJcbiIKKyJDaGFuZ2UgdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCB0byB0aGF0IG9mIDx1c2VyPi5cbiIKKyJBIG1lcmUgLSBpbXBsaWVzIC1sLiAgSWYgPHVzZXI+IGlzIG5vdCBnaXZlbiwgcm9vdCBpcyBhc3N1bWVkLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwOQorbXNnaWQgIiAtbSwgLXAsIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgIGRvIG5vdCByZXNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTAKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgICAgICAgICBzcGVjaWZ5IHRoZSBwcmltYXJ5IGdyb3VwXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzExCittc2dpZCAiIgorIiAtRywgLS1zdXBwLWdyb3VwIDxncm91cD4gICAgICAgIHNwZWNpZnkgYSBzdXBwbGVtZW50YWwgZ3JvdXBcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTMKK21zZ2lkICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE0Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE1Cittc2dpZCAiIgorIiAtLXNlc3Npb24tY29tbWFuZCA8Y29tbWFuZD4gICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvblxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxNworbXNnaWQgIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgIHBhc3MgLWYgdG8gdGhlIHNoZWxsIChmb3IgY3NoIG9yIHRjc2gpXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE4Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgICAgcnVuIDxzaGVsbD4gaWYgL2V0Yy9zaGVsbHMgYWxsb3dzIGl0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzYyCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cCBpcyBub3QgcG9zc2libGUiCittc2dpZF9wbHVyYWwgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cHMgaXMgbm90IHBvc3NpYmxlIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKK21zZ3N0clsyXSAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXAgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODg2Cittc2dpZCAiaWdub3JpbmcgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg5NworbXNnaWQgIm9wdGlvbnMgLS17c2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbn0gYW5kIC0tdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkwMQorIywgZnV6enkKK21zZ2lkICJubyBjb21tYW5kIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgIiVzOiB1cmXEkWFqIGplIG5lcHJhdmlsbm8gcG9yYXZuYW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkxNQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gc3BlY2lmeSBhbHRlcm5hdGl2ZSBncm91cHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTIyCisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTYyCisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIHJlc3RyaWN0ZWQgc2hlbGwgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMzAKK21zZ2lkICJ0Y2dldGF0dHIgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoyMDcKK21zZ2lkICJ0Y3NldGF0dHIgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3QiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcm9vdCBwYXNzd29yZCBnYXJibGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkNhbm5vdCBvcGVuIGFjY2VzcyB0byBjb25zb2xlLCB0aGUgcm9vdCBhY2NvdW50IGlzIGxvY2tlZC5cbiIKKyJTZWUgc3Vsb2dpbig4KSBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLlxuIgorIlxuIgorIlByZXNzIEVudGVyIHRvIGNvbnRpbnVlLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBsb2dpbjogIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIGxvZ2luOiAiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0NQorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIihvciBwcmVzcyBDb250cm9sLUQgdG8gY29udGludWUpOiAiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc0MgorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgdG8gc3lzdGVtIHJvb3QgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTEKK21zZ2lkICJzZXRleGVjY29uIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3R0eSBkZXZpY2VdXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxNAorbXNnaWQgIlNpbmdsZS11c2VyIGxvZ2luLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MTcKK21zZ2lkICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICBzdGFydCBhIGxvZ2luIHNoZWxsXG4iCisiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICBtYXggdGltZSB0byB3YWl0IGZvciBhIHBhc3N3b3JkIChkZWZhdWx0OiBubyBsaW1pdClcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGV4YW1pbmUgcGFzc3dvcmQgZmlsZXMgZGlyZWN0bHkgaWYgZ2V0cHduYW0oMykgZmFpbHNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODcxIG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NjMgc3lzLXV0aWxzL3dkY3RsLmM6NTIzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc1MCB0ZXJtLXV0aWxzL3dhbGwuYzoxMzUKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg5MworbXNnaWQgIm9ubHkgc3VwZXJ1c2VyIGNhbiBydW4gdGhpcyBwcm9ncmFtIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5MzYKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gY29uc29sZSIKK21zZ3N0ciAibmUgbW9ndSBvdHZvcml0aSAlczogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5NDMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gcGFzc3dvcmQgZGF0YWJhc2UiCittc2dzdHIgIm5lIG1vZ3Ugb3R2b3JpdGkgJXM6ICVzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2FuIG5vdCBleGVjdXRlIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjcKK21zZ2lkICIiCisiVGltZWQgb3V0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwNTkKK21zZ2lkICIiCisiQ2FuIG5vdCB3YWl0IG9uIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxNzYgdGV4dC11dGlscy90YWlsZi5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE4NSB0ZXh0LXV0aWxzL3RhaWxmLmM6MTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBpbm90aWZ5IGV2ZW50cyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI0NiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI1MQorbXNnaWQgIkV4dHJhbmVvdXMgbmV3bGluZSBpbiBmaWxlLiBFeGl0aW5nLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwOQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlbmFtZV1cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMgorbXNnaWQgIkR1bXAgVVRNUCBhbmQgV1RNUCBmaWxlcyBpbiByYXcgZm9ybWF0LlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE1Cittc2dpZCAiIC1mLCAtLWZvbGxvdyAgICAgICAgIG91dHB1dCBhcHBlbmRlZCBkYXRhIGFzIHRoZSBmaWxlIGdyb3dzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTYKK21zZ2lkICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgd3JpdGUgYmFjayBkdW1wZWQgZGF0YSBpbnRvIHV0bXAgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8ZmlsZT4gIHdyaXRlIHRvIGZpbGUgaW5zdGVhZCBvZiBzdGFuZGFyZCBvdXRwdXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4NAorbXNnaWQgImZvbGxvd2luZyBzdGFuZGFyZCBpbnB1dCBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIHVuZHVtcCBvZiAlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgZHVtcCBvZiAlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNDEKK21zZ2lkICJjYW4ndCBvcGVuIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNyZWF0ZSBhIGxpbmsgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3QgZ2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3Qgc2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5jaGFuZ2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNTQKK21zZ2lkICJjYW5ub3QgZ2V0IGxvY2siCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI4MQorbXNnaWQgIm5vIGNoYW5nZXMgbWFkZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjkwCittc2dpZCAiY2Fubm90IGNobW9kIGZpbGUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjMwNAorbXNnaWQgIkVkaXQgdGhlIHBhc3N3b3JkIG9yIGdyb3VwIGZpbGUuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM1MAorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IGdyb3VwcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzUxCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgcGFzc3dvcmRzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiB0aGlzIHByb2dyYW0gdXNlcyBmb3IgeSBhbmQgbiBycG1hdGNoKDMpLAorIy4gKiB3aGljaCBtZWFucyB0aGV5IGNhbiBiZSB0cmFuc2xhdGVkLgorIzogbG9naW4tdXRpbHMvdmlwdy5jOjM1NQorIywgYy1mb3JtYXQKK21zZ2lkICJXb3VsZCB5b3UgbGlrZSB0byBlZGl0ICVzIG5vdyBbeS9uXT8gIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzcyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbW9udGggYXJndW1lbnQiCittc2dzdHIgIm5laXNwcmF2YW4gYXJndW1lbnQgZHVsamluZSIKKworIzogbWlzYy11dGlscy9jYWwuYzozODAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB3ZWVrIGFyZ3VtZW50IgorbXNnc3RyICJuZWlzcHJhdmFuIGFyZ3VtZW50IGR1bGppbmUiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzgyCittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB1c2UgMS01NCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHRpbWVzdGFtcCBvciB1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDMxCittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MzMgbWlzYy11dGlscy9jYWwuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWU6IHVzZSAxLSVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDM3IG1pc2MtdXRpbHMvY2FsLmM6NDQ1Cittc2dpZCAiaWxsZWdhbCBtb250aCB2YWx1ZTogdXNlIDEtMTIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgIk5lcG96bmF0YSBuYXJlZGJhOiAlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NDggbWlzYy11dGlscy9jYWwuYzo0NTIKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NTAKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWU6IHVzZSBwb3NpdGl2ZSBpbnRlZ2VyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDgyIG1pc2MtdXRpbHMvY2FsLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogeWVhciAlZCBkb2Vzbid0IGhhdmUgd2VlayAlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlMDRkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICUwNGQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbW1tkYXldIG1vbnRoXSB5ZWFyXVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx0aW1lc3RhbXB8bW9udGhuYW1lPlxuIgorbXNnc3RyICIgJXMgW29wY2lqZV0gPHVyZcSRYWo+XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk3Cittc2dpZCAiRGlzcGxheSBhIGNhbGVuZGFyLCBvciBzb21lIHBhcnQgb2YgaXQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTgKK21zZ2lkICJXaXRob3V0IGFueSBhcmd1bWVudHMsIGRpc3BsYXkgdGhlIGN1cnJlbnQgbW9udGguXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDAxCisjLCBmdXp6eQorbXNnaWQgIiAtMSwgLS1vbmUgICAgICAgICAgICAgc2hvdyBvbmx5IGEgc2luZ2xlIG1vbnRoIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMgorIywgZnV6enkKK21zZ2lkICIgLTMsIC0tdGhyZWUgICAgICAgICAgIHNob3cgdGhyZWUgbW9udGhzIHNwYW5uaW5nIHRoZSBkYXRlXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDAzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1tb250aHMgPG51bT4gICAgc2hvdyBudW0gbW9udGhzIHN0YXJ0aW5nIHdpdGggZGF0ZSdzIG1vbnRoXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA0CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zcGFuICAgICAgICAgICAgc3BhbiB0aGUgZGF0ZSB3aGVuIGRpc3BsYXlpbmcgbXVsdGlwbGUgbW9udGhzXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA1Cittc2dpZCAiIC1zLCAtLXN1bmRheSAgICAgICAgICBTdW5kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDYKK21zZ2lkICIgLW0sIC0tbW9uZGF5ICAgICAgICAgIE1vbmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNworbXNnaWQgIiAtaiwgLS1qdWxpYW4gICAgICAgICAgb3V0cHV0IEp1bGlhbiBkYXRlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwOAorIywgZnV6enkKK21zZ2lkICIgLXksIC0teWVhciAgICAgICAgICAgIHNob3cgdGhlIHdob2xlIHllYXJcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDkKKyMsIGZ1enp5Cittc2dpZCAiIC1ZLCAtLXR3ZWx2ZSAgICAgICAgICBzaG93IHRoZSBuZXh0IHR3ZWx2ZSBtb250aHNcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMTAKK21zZ2lkICIgLXcsIC0td2Vla1s9PG51bT5dICAgIHNob3cgVVMgb3IgSVNPLTg2MDEgd2VlayBudW1iZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDExCittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSB7TEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUx9PTx2YWx1ZT5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjMyCisjLCBmdXp6eQorbXNnaWQgIkZpbmQgYSBmaWxlc3lzdGVtIGJ5IGxhYmVsIG9yIFVVSUQuXG4iCittc2dzdHIgIlByaXNpbG5vIHByb3ZqZXJhdmFtIGRhdG90ZcSNbmkgc3VzdGF2IG5hICVzLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZXNvbHZlICclcyciCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6OTkKK21zZ2lkICJzb3VyY2UgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMAorbXNnaWQgIm1vdW50cG9pbnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxIG1pc2MtdXRpbHMvbHNibGsuYzoxNjEKK21zZ2lkICJmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAyCittc2dpZCAiYWxsIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAzCittc2dpZCAiVkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA0Cittc2dpZCAiRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDUKK21zZ2lkICJmaWxlc3lzdGVtIGxhYmVsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0Cittc2dpZCAiZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNworbXNnaWQgInBhcnRpdGlvbiBsYWJlbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDkgbWlzYy11dGlscy9sc2Jsay5jOjE2MAorbXNnaWQgIm1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEwCittc2dpZCAiYWN0aW9uIGRldGVjdGVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTEKK21zZ2lkICJvbGQgbW91bnQgb3B0aW9ucyBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEyCittc2dpZCAib2xkIG1vdW50cG9pbnQgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMworbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTQKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgYXZhaWxhYmxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSB1c2VkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNgorbXNnaWQgImZpbGVzeXN0ZW0gdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE3Cittc2dpZCAiZmlsZXN5c3RlbSByb290IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOAorbXNnaWQgInRhc2sgSUQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5Cittc2dpZCAibW91bnQgSUQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwCittc2dpZCAib3B0aW9uYWwgbW91bnQgZmllbGRzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMQorbXNnaWQgIlZGUyBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIKK21zZ2lkICJkdW1wKDgpIHBlcmlvZCBpbiBkYXlzIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMKK21zZ2lkICJwYXNzIG51bWJlciBvbiBwYXJhbGxlbCBmc2NrKDgpIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhY3Rpb246ICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0MworbXNnaWQgIm1vdW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0NgorbXNnaWQgInVtb3VudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDkKK21zZ2lkICJyZW1vdW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1MgorbXNnaWQgIm1vdmUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODEyIG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNzUgc3lzLXV0aWxzL2VqZWN0LmM6NzE5CisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NjkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MzkgdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDE1IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODEKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo5NCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDgyCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTg3IHN5cy11dGlscy9tb3VudC5jOjEzNCBzeXMtdXRpbHMvbW91bnQuYzoxODIKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6NTYgc3lzLXV0aWxzL3N3YXBvZmYuYzoxNTUgc3lzLXV0aWxzL3N3YXBvbi5jOjI0NAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI3NCBzeXMtdXRpbHMvc3dhcG9uLmM6NzMzIHN5cy11dGlscy91bW91bnQuYzoyNzQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDg3Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFiZGlmZiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTE1Cittc2dpZCAicG9sbCgpIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gfCA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZSA8ZGV2aWNlPl0gWy0tdGFyZ2V0IDxwYXRoPiB8IC0tbW91bnRwb2ludCA8ZGlyPl1cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk2CisjLCBmdXp6eQorbXNnaWQgIkZpbmQgYSAobW91bnRlZCkgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiUHJvdmplcmF2YW0gc3ZlIGRhdG90ZcSNbmUgc3VzdGF2ZS5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5OQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtQSAgICAgICAgIHByb3ZqZXJpIHN2ZSBkYXRvdGXEjW5lIHN1c3RhdmVcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMAorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzZWFyY2ggaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLU0gICAgICAgICBuZSBwcm92amVyYXZhaiBtb250aXJhbmUgZGF0b3RlxI1uZSBzdXN0YXZlXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDEKK21zZ2lkICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgc2VhcmNoIGluIGtlcm5lbCB0YWJsZSBvZiBtb3VudGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlc3lzdGVtcyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA0Cittc2dpZCAiIC1wLCAtLXBvbGxbPTxsaXN0Pl0gICAgbW9uaXRvciBjaGFuZ2VzIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA1Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPG51bT4gICAgdXBwZXIgbGltaXQgaW4gbWlsbGlzZWNvbmRzIHRoYXQgLS1wb2xsIHdpbGwgYmxvY2tcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA4Cittc2dpZCAiIC1BLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgYnVpbHQtaW4gZmlsdGVycywgcHJpbnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOQorbXNnaWQgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBBU0NJSSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTEKK21zZ2lkICIgLUMsIC0tbm9jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgd2hlbiBjb21wYXJpbmcgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEyCittc2dpZCAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEzCisjLCBmdXp6eQorbXNnaWQgIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRhdGUgdGhlIG91dHB1dCBvZiBkZigxKVxuIgorbXNnc3RyICIgLT8gICAgICAgICBwcmlrYcW+aSBvdnUgcG9tb8SHIGkgaXphxJFpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTQKK21zZ2lkICIgLWQsIC0tZGlyZWN0aW9uIDx3b3JkPiBkaXJlY3Rpb24gb2Ygc2VhcmNoLCAnZm9yd2FyZCcgb3IgJ2JhY2t3YXJkJ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTUKK21zZ2lkICIiCisiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgY29udmVydCB0YWdzIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkZXZpY2UgbmFtZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE3Cittc2dpZCAiIC1GLCAtLXRhYi1maWxlIDxwYXRoPiAgYWx0ZXJuYXRpdmUgZmlsZSBmb3IgLXMsIC1tIG9yIC1rIG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE4Cittc2dpZCAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTkKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJ0IHRoZSBzZW5zZSBvZiBtYXRjaGluZ1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjAgbWlzYy11dGlscy9sc2xvY2tzLmM6NTA3IHN5cy11dGlscy9sc25zLmM6NjE5CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjEgc3lzLXV0aWxzL2xzbnMuYzo2MjAKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMgorbXNnaWQgIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIHVzZSBhbHRlcm5hdGl2ZSBuYW1lc3BhY2UgKC9wcm9jLzx0aWQ+L21vdW50aW5mbyBmaWxlKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgY29sdW1uIGhlYWRpbmdzXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI0Cittc2dpZCAiIC1PLCAtLW9wdGlvbnMgPGxpc3Q+ICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBtb3VudCBvcHRpb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIHRoZSBvdXRwdXQgY29sdW1ucyB0byBiZSBzaG93blxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjYKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNworbXNnaWQgIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIHByaW50IGFsbCBzdWJtb3VudHMgZm9yIHRoZSBtYXRjaGluZyBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjgKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5Cittc2dpZCAiIgorIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzEKK21zZ2lkICIgLVQsIC0tdGFyZ2V0IDxwYXRoPiAgICB0aGUgcGF0aCB0byB0aGUgZmlsZXN5c3RlbSB0byB1c2VcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMyCittc2dpZCAiIC1NLCAtLW1vdW50cG9pbnQgPGRpcj4gdGhlIG1vdW50cG9pbnQgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMworbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgRlMgdHlwZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM0Cittc2dpZCAiIC1VLCAtLXVuaXEgICAgICAgICAgICAgaWdub3JlIGZpbGVzeXN0ZW1zIHdpdGggZHVwbGljYXRlIHRhcmdldFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzUgbWlzYy11dGlscy9sc2xvY2tzLmM6NTEzIHN5cy11dGlscy9sc25zLmM6NjI1Cittc2dpZCAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNgorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM5CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS12ZXJpZnkgICAgICAgICAgIHZlcmlmeSBtb3VudCB0YWJsZSBjb250ZW50IChkZWZhdWx0IGlzIGZzdGFiKVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgbW9yZSBkZXRhaWxzXG4iCittc2dzdHIgIiAtViAgICAgICAgIHBvamFzbmkgxaF0byBwcm9ncmFtIHJhZGlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTM2OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGRpcmVjdGlvbiAnJXMnIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NDAKK21zZ2lkICJpbnZhbGlkIFRJRCBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTA5Cittc2dpZCAiLS1wb2xsIGFjY2VwdHMgb25seSBvbmUgZmlsZSwgYnV0IG1vcmUgc3BlY2lmaWVkIGJ5IC0tdGFiLWZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUxMworbXNnaWQgIm9wdGlvbnMgLS10YXJnZXQgYW5kIC0tc291cmNlIGNhbid0IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBjb21tYW5kIGxpbmUgZWxlbWVudCB0aGF0IGlzIG5vdCBhbiBvcHRpb24iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU2MgorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGNhY2hlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE2MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY29sdW1uIGlzIHJlcXVlc3RlZCwgYnV0IC0tcG9sbCBpcyBub3QgZW5hYmxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE2Cittc2dpZCAidGFyZ2V0IHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIG9yZGVyOiAlcyBzcGVjaWZpZWQgYmVmb3JlICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMzMKK21zZ2lkICJ1bmRlZmluZWQgdGFyZ2V0IChmc19maWxlKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1jYW5vbmljYWwgdGFyZ2V0IHBhdGggKHJlYWw6ICVzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgdGFyZ2V0OiAlbSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHRhcmdldDogJW0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MQorIywgZnV6enkKK21zZ2lkICJ0YXJnZXQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJrb3JpamVuc2tpIGluZGVrc25pIMSNdm9yIG5pamUgZGlyZWt0b3JpaiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MworbXNnaWQgInRhcmdldCBleGlzdHMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHNvdXJjZTogJXM9JXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZTogJXM9JXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM9JXMgdHJhbnNsYXRlZCB0byAlcyIKK21zZ3N0ciAiJXMgamUgbW9udGlyYW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5MAorbXNnaWQgInVuZGVmaW5lZCBzb3VyY2UgKGZzX3NwZWMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHNvdXJjZSB0YWc6ICVzIgorbXNnc3RyICJuZXBvZHLFvmFuZSBtb2d1xIdub3N0aSBkYXRvdGXEjW5vZyBzdXN0YXZhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBzb3VyY2UgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgc291cmNlOiAlczogJW0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmluZCBtb3VudCBzb3VyY2UgJXMgaXMgYSBkaXJlY3Rvcnkgb3IgcmVndWxhciBmaWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBuaWplIGJsb2tvdnNraSB1cmXEkWFqIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBleGlzdHMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzZXJzcGFjZSBvcHRpb25zOiAlcyIKK21zZ3N0ciAiIgorIlxuIgorIk9wY2lqZTpcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc3dhcGFyZWEgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICJuZXBvZHLFvmFuZSBtb2d1xIdub3N0aSBkYXRvdGXEjW5vZyBzdXN0YXZhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjYwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzd2FwYXJlYSBwcmlvcml0eSBvcHRpb24iCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgRlMgdHlwZSAocHNldWRvL25ldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQwNgorbXNnaWQgIlwibm9uZVwiIEZTIHR5cGUgaXMgcmVjb21tZW5kZWQgZm9yIGJpbmQgb3IgbW92ZSBvcHJhdGlvbnMgb25seSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIwIG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGRldGVjdCBvbi1kaXNrIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAiJXM6IHByZXNrYcSNZW0gbmVwb3puYXR1IHZyc3R1IGRhdG90ZcSNbm9nIHN1c3RhdmFcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBtYXRjaCB3aXRoIG9uLWRpc2sgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJvbi1kaXNrICVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyB0eXBlIGlzICVzIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjb21tZW5kZWQgcm9vdCBGUyBwYXNzbm8gaXMgMSAoY3VycmVudCBpcyAlZCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgcGFyc2UgZXJyb3IiCittc2dpZF9wbHVyYWwgIiVkIHBhcnNlIGVycm9ycyIKK21zZ3N0clswXSAiZ3JlxaFrYSBvYnJhZGU6ICVzIgorbXNnc3RyWzFdICJncmXFoWthIG9icmFkZTogJXMiCittc2dzdHJbMl0gImdyZcWha2Egb2JyYWRlOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCAlZCBlcnJvciIKK21zZ2lkX3BsdXJhbCAiLCAlZCBlcnJvcnMiCittc2dzdHJbMF0gImNyYyBncmXFoWthIgorbXNnc3RyWzFdICJjcmMgZ3JlxaFrYSIKK21zZ3N0clsyXSAiY3JjIGdyZcWha2EiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCAlZCB3YXJuaW5nIgorbXNnaWRfcGx1cmFsICIsICVkIHdhcm5pbmdzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKK21zZ3N0clsyXSAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3MsIG5vIGVycm9ycyBvciB3YXJuaW5ncyBkZXRlY3RlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMwNAorbXNnaWQgImVtcHR5IGxvbmcgb3B0aW9uIGFmdGVyIC1sIG9yIC0tbG9uZyBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMyNQorbXNnaWQgInVua25vd24gc2hlbGwgYWZ0ZXIgLXMgb3IgLS1zaGVsbCBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLV0gPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIC1vfC0tb3B0aW9ucyA8b3B0c3RyaW5nPiBbb3B0aW9uc10gWy0tXSA8cGFyYW1ldGVycz5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzOAorbXNnaWQgIlBhcnNlIGNvbW1hbmQgb3B0aW9ucy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MQorbXNnaWQgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgICBhbGxvdyBsb25nIG9wdGlvbnMgc3RhcnRpbmcgd2l0aCBzaW5nbGUgLVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQyCittc2dpZCAiIC1sLCAtLWxvbmdvcHRpb25zIDxsb25nb3B0cz4gIHRoZSBsb25nIG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQzCittc2dpZCAiIC1uLCAtLW5hbWUgPHByb2duYW1lPiAgICAgICAgIHRoZSBuYW1lIHVuZGVyIHdoaWNoIGVycm9ycyBhcmUgcmVwb3J0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NAorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgICB0aGUgc2hvcnQgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDUKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGRpc2FibGUgZXJyb3IgcmVwb3J0aW5nIGJ5IGdldG9wdCgzKVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ2CisjLCBmdXp6eQorbXNnaWQgIiAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICBubyBub3JtYWwgb3V0cHV0XG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NworbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICBzZXQgcXVvdGluZyBjb252ZW50aW9ucyB0byB0aG9zZSBvZiA8c2hlbGw+XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDgKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIHRlc3QgZm9yIGdldG9wdCgxKSB2ZXJzaW9uXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0OQorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdW5xdW90ZWQgICAgICAgICAgICAgICAgZG8gbm90IHF1b3RlIHRoZSBvdXRwdXRcbiIKK21zZ3N0ciAiIC0/ICAgICAgICAgcHJpa2HFvmkgb3Z1IHBvbW/EhyBpIGl6YcSRaVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM5OSBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1OQorbXNnaWQgIm1pc3Npbmcgb3B0c3RyaW5nIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDU0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3IsIGNvbnRhY3QgdGhlIGF1dGhvci4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsICVzOyB2YWxpZCBzaWduYWxzOiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBpZD58PG5hbWU+Li4uXG4iCittc2dzdHIgIiAlcyBbb3BjaWplXSA8dXJlxJFhaj5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzA1Cittc2dpZCAiRm9yY2libHkgdGVybWluYXRlIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDgKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IHRoZSBuYW1lLXRvLXBpZCBjb252ZXJzaW9uIHRvIHByb2Nlc3Nlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgc2FtZSB1aWQgYXMgdGhlIHByZXNlbnQgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMAorbXNnaWQgIiAtcywgLS1zaWduYWwgPHNpZ25hbD4gIHNlbmQgdGhpcyA8c2lnbmFsPiBpbnN0ZWFkIG9mIFNJR1RFUk1cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTIKK21zZ2lkICIgLXEsIC0tcXVldWUgPHZhbHVlPiAgICB1c2Ugc2lncXVldWUoMiksIG5vdCBraWxsKDIpLCBhbmQgcGFzcyA8dmFsdWU+IGFzIGRhdGFcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTQKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgICBwcmludCBwaWRzIHdpdGhvdXQgc2lnbmFsaW5nIHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTUKK21zZ2lkICIgLWwsIC0tbGlzdFs9PHNpZ25hbD5dICBsaXN0IHNpZ25hbCBuYW1lcywgb3IgY29udmVydCBhIHNpZ25hbCBudW1iZXIgdG8gYSBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE2Cittc2dpZCAiIC1MLCAtLXRhYmxlICAgICAgICAgICAgbGlzdCBzaWduYWwgbmFtZXMgYW5kIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgcGlkcyB0aGF0IHdpbGwgYmUgc2lnbmFsZWRcbiIKK21zZ3N0ciAiIC1WICAgICAgICAgcG9qYXNuaSDFoXRvIHByb2dyYW0gcmFkaVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozNjcgbWlzYy11dGlscy9raWxsLmM6Mzc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbDogJXMiCittc2dzdHIgIk5lcG96bmF0YSBuYXJlZGJhOiAlcyIKKworIzogbWlzYy11dGlscy9raWxsLmM6Mzg3IG1pc2MtdXRpbHMva2lsbC5jOjM5MCBtaXNjLXV0aWxzL2tpbGwuYzozOTkKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQxMSBtaXNjLXV0aWxzL2tpbGwuYzo0MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6Mzk2IG1pc2MtdXRpbHMva2lsbC5jOjQzOCBtaXNjLXV0aWxzL3JlbmFtZS5jOjE3NAorIzogc3lzLXV0aWxzL2lwY3JtLmM6MTYwIHRlcm0tdXRpbHMvYWdldHR5LmM6Nzg5IHRlcm0tdXRpbHMvYWdldHR5LmM6Nzk4Cittc2dpZCAibm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXMgemFodGlqZXZhIGFyZ3VtZW50IgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MTQgc3lzLXV0aWxzL2VqZWN0LmM6MjA1IHN5cy11dGlscy9lamVjdC5jOjIzMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2ODkgc3lzLXV0aWxzL3R1bmVscC5jOjE2MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTY4CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTc1IHN5cy11dGlscy90dW5lbHAuYzoxODIgc3lzLXV0aWxzL3R1bmVscC5jOjE4OQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE5NSBzeXMtdXRpbHMvdHVuZWxwLmM6MTk5IHN5cy11dGlscy90dW5lbHAuYzoyMDYKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyMzEgdGVybS11dGlscy9zZXR0ZXJtLmM6MjEzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxNgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTEgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk4CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMDAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzEyIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxNAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzIzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMzMSB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzYyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNzMgdGVybS11dGlscy9zZXR0ZXJtLmM6NTM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0MAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTQ1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NzQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU3OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODQgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg5CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTQgdGVybS11dGlscy9zZXR0ZXJtLmM6NTk5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwNworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NjQwCisjLCBmdXp6eQorbXNnaWQgImFyZ3VtZW50IGVycm9yIgorbXNnc3RyICJncmXFoWthIG9icmFkZTogJXMiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzaWduYWwgbmFtZSBvciBudW1iZXI6ICVzIgorbXNnc3RyICJuZWlzcHJhdmFuIGFyZ3VtZW50IHBvxI1ldGthIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgJWQgdG8gcGlkICVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHByb2Nlc3MgXCIlc1wiIgorbXNnc3RyICJuZSBtb2d1IG90dm9yaXRpICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSBuYW1lOiAlcyIKK21zZ3N0ciAiTmVwb3puYXRhIG5hcmVkYmE6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAiTmVwb3puYXRhIG5hcmVkYmE6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVubG9nICVzOiBwYXRobmFtZSB0b28gbG9uZyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI2NworIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIG5hbWUgJXMgcG9ydCAlczogJXMiCittc2dzdHIgIm5pc2FtIHVzcGlvIHBvc3Rhdml0aSBvcGlzIHphICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNvbm5lY3QgdG8gJXMgcG9ydCAlcyIKK21zZ3N0ciAibmlzYW0gdXNwaW8gcG9zdGF2aXRpIG9waXMgemEgJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heGltdW0gaW5wdXQgbGluZXMgKCVkKSBleGNlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjQ4NworIywgZnV6enkKK21zZ2lkICJzZW5kIG1lc3NhZ2UgZmFpbGVkIgorbXNnc3RyICIlczogaXp2csWhYXZhbmplIG5pamUgdXNwamVsbyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RydWN0dXJlZCBkYXRhIElEICclcycgaXMgbm90IHVuaXF1ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU3MgorIywgYy1mb3JtYXQKK21zZ2lkICItLXNkLWlkIHdhcyBub3Qgc3BlY2lmaWVkIGZvciAtLXNkLXBhcmFtICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzU0CisjLCBmdXp6eQorbXNnaWQgImxvY2FsdGltZSgpIGZhaWxlZCIKK21zZ3N0ciAiZm9yayBuaWplIHVzcGlvIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaG9zdG5hbWUgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiaW1lIGRhdG90ZcSNbm9nIHN1c3RhdmEgamUgcHJlZHVnYcSNa28iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0YWcgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiJXM6IG5pamUgcHJvbmHEkWVuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjgzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdW5rbm93biBvcHRpb24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICJOZXBvem5hdGEgbmFyZWRiYTogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlczogdXNpbmcgYXV0b21hdGljIGVycm9ycyIKK21zZ3N0ciAibmVpc3ByYXZhbiBhcmd1bWVudCBwb8SNZXRrYSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo5OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICVzIFtvcGNpamVdIDx1cmXEkWFqPlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjk5NworbXNnaWQgIkVudGVyIG1lc3NhZ2VzIGludG8gdGhlIHN5c3RlbSBsb2cuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAwCisjLCBmdXp6eQorbXNnaWQgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgbG9nIHRoZSBsb2dnZXIgY29tbWFuZCdzIFBJRFxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAgICAgIHByaWthxb5pIG92dSBwb21vxIcgaSBpemHEkWlcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAxCittc2dpZCAiICAgICAtLWlkWz08aWQ+XSAgICAgICAgICBsb2cgdGhlIGdpdmVuIDxpZD4sIG9yIG90aGVyd2lzZSB0aGUgUElEXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgICAgbG9nIHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGVcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDMKK21zZ2lkICIgLWUsIC0tc2tpcC1lbXB0eSAgICAgICAgIGRvIG5vdCBsb2cgZW1wdHkgbGluZXMgd2hlbiBwcm9jZXNzaW5nIGZpbGVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA0CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby1hY3QgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIHdyaXRlIHRoZSBsb2dcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDUKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIG1hcmsgZ2l2ZW4gbWVzc2FnZSB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDYKK21zZ2lkICIgICAgIC0tb2N0ZXQtY291bnQgICAgICAgIHVzZSByZmM2NTg3IG9jdGV0IGNvdW50aW5nXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA3Cittc2dpZCAiICAgICAtLXByaW8tcHJlZml4ICAgICAgICBsb29rIGZvciBhIHByZWZpeCBvbiBldmVyeSBsaW5lIHJlYWQgZnJvbSBzdGRpblxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwOAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIG91dHB1dCBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yIGFzIHdlbGxcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDkKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICBtYXhpbXVtIHNpemUgZm9yIGEgc2luZ2xlIG1lc3NhZ2VcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTAKK21zZ2lkICIgLXQsIC0tdGFnIDx0YWc+ICAgICAgICAgIG1hcmsgZXZlcnkgbGluZSB3aXRoIHRoaXMgdGFnXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDExCittc2dpZCAiIC1uLCAtLXNlcnZlciA8bmFtZT4gICAgICB3cml0ZSB0byB0aGlzIHJlbW90ZSBzeXNsb2cgc2VydmVyXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEyCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wb3J0IDxwb3J0PiAgICAgICAgdXNlIHRoaXMgcG9ydCBmb3IgVURQIG9yIFRDUCBjb25uZWN0aW9uXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEzCisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgdXNlIFRDUCBvbmx5XG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE0CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE1CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yZmMzMTY0ICAgICAgICAgICAgdXNlIHRoZSBvYnNvbGV0ZSBCU0Qgc3lzbG9nIHByb3RvY29sXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTYKK21zZ2lkICIiCisiICAgICAtLXJmYzU0MjRbPTxzbmlwPl0gICB1c2UgdGhlIHN5c2xvZyBwcm90b2NvbCAodGhlIGRlZmF1bHQgZm9yIHJlbW90ZSk7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiBjYW4gYmUgbm90aW1lLCBvciBub3RxLCBhbmQvb3Igbm9ob3N0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE4Cittc2dpZCAiICAgICAtLXNkLWlkIDxpZD4gICAgICAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBJRFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxOQorbXNnaWQgIiAgICAgLS1zZC1wYXJhbSA8ZGF0YT4gICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgbmFtZT12YWx1ZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMAorbXNnaWQgIiAgICAgLS1tc2dpZCA8bXNnaWQ+ICAgICAgc2V0IHJmYzU0MjQgbWVzc2FnZSBpZCBmaWVsZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMQorbXNnaWQgIiAtdSwgLS1zb2NrZXQgPHNvY2tldD4gICAgd3JpdGUgdG8gdGhpcyBVbml4IHNvY2tldFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMgorbXNnaWQgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50IGNvbm5lY3Rpb24gZXJyb3JzIHdoZW4gdXNpbmcgVW5peCBzb2NrZXRzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDI1Cittc2dpZCAiICAgICAtLWpvdXJuYWxkWz08ZmlsZT5dICB3cml0ZSBqb3VybmFsZCBlbnRyeVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTExMgorIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTEyNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgaWQiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTQ1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtZXNzYWdlIHNpemUiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTgwCittc2dpZCAiLS1tc2dpZCBjYW5ub3QgY29udGFpbiBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgSUQ6ICclcyciCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjA3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc3RydWN0dXJlZCBkYXRhIHBhcmFtZXRlcjogJyVzJyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMTgKK21zZ2lkICItLWZpbGUgPGZpbGU+IGFuZCA8bWVzc2FnZT4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSwgbWVzc2FnZSBpcyBpZ25vcmVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIyNQorbXNnaWQgImpvdXJuYWxkIGVudHJ5IGNvdWxkIG5vdCBiZSB3cml0dGVuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8c3RyaW5nPiBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICIgJXMgW29wY2lqZV0gZGF0b3Rla2FcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzU4Cittc2dpZCAiRGlzcGxheSBsaW5lcyBiZWdpbm5pbmcgd2l0aCBhIHNwZWNpZmllZCBzdHJpbmcuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYxCittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICB1c2UgdGhlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjIKK21zZ2lkICIgLWQsIC0tYWxwaGFudW0gICAgICAgICAgIGNvbXBhcmUgb25seSBibGFua3MgYW5kIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYzCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjQKK21zZ2lkICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiAgIGRlZmluZSB0aGUgc3RyaW5nLXRlcm1pbmF0aW9uIGNoYXJhY3RlclxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTcKK21zZ2lkICJkZXZpY2UgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU4Cittc2dpZCAiaW50ZXJuYWwga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTkKK21zZ2lkICJpbnRlcm5hbCBwYXJlbnQga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIgc3lzLXV0aWxzL3pyYW1jdGwuYzo4NAorbXNnaWQgIndoZXJlIHRoZSBkZXZpY2UgaXMgbW91bnRlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzCittc2dpZCAiZmlsZXN5c3RlbSBMQUJFTCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIFVVSUQiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NworbXNnaWQgInBhcnRpdGlvbiBMQUJFTCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcxCittc2dpZCAicmVhZC1haGVhZCBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzIgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NQorbXNnaWQgInJlYWQtb25seSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MworbXNnaWQgInJlbW92YWJsZSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NAorbXNnaWQgInJlbW92YWJsZSBvciBob3RwbHVnIGRldmljZSAodXNiLCBwY21jaWEsIC4uLikiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NQorbXNnaWQgInJvdGF0aW9uYWwgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzYKK21zZ2lkICJhZGRzIHJhbmRvbW5lc3MiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NworbXNnaWQgImRldmljZSBpZGVudGlmaWVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzgKK21zZ2lkICJkaXNrIHNlcmlhbCBudW1iZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OQorbXNnaWQgInNpemUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgwCittc2dpZCAic3RhdGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgyCittc2dpZCAiZ3JvdXAgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgzCittc2dpZCAiZGV2aWNlIG5vZGUgcGVybWlzc2lvbnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NAorbXNnaWQgImFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NQorbXNnaWQgIm1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NgorbXNnaWQgIm9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NworbXNnaWQgInBoeXNpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODgKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODkKK21zZ2lkICJJL08gc2NoZWR1bGVyIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MAorbXNnaWQgInJlcXVlc3QgcXVldWUgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkxCittc2dpZCAiZGV2aWNlIHR5cGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MgorbXNnaWQgImRpc2NhcmQgYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkzCittc2dpZCAiZGlzY2FyZCBncmFudWxhcml0eSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk0Cittc2dpZCAiZGlzY2FyZCBtYXggYnl0ZXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NQorbXNnaWQgImRpc2NhcmQgemVyb2VzIGRhdGEiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NgorbXNnaWQgIndyaXRlIHNhbWUgbWF4IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTcKK21zZ2lkICJ1bmlxdWUgc3RvcmFnZSBpZGVudGlmaWVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTgKK21zZ2lkICJIb3N0OkNoYW5uZWw6VGFyZ2V0Okx1biBmb3IgU0NTSSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk5Cittc2dpZCAiZGV2aWNlIHRyYW5zcG9ydCB0eXBlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDAKK21zZ2lkICJkZS1kdXBsaWNhdGVkIGNoYWluIG9mIHN1YnN5c3RlbXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMQorbXNnaWQgImRldmljZSByZXZpc2lvbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAyCittc2dpZCAiZGV2aWNlIHZlbmRvciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTI3NgorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRldmljZSBkaXJlY3RvcnkgaW4gc3lzZnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY29tcG9zZSBzeXNmcyBwYXRoIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBsaW5rIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHdob2xlLWRpc2sgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1MSBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1MyBtaXNjLXV0aWxzL2xzYmxrLmM6MTU3OAorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxpc3QgJyVzJyIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1OAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBleGNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgaW5jbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjE2IHN5cy11dGlscy93ZGN0bC5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MTkKKyMsIGZ1enp5Cittc2dpZCAiTGlzdCBpbmZvcm1hdGlvbiBhYm91dCBibG9jayBkZXZpY2VzLlxuIgorbXNnc3RyICIlczogbmlqZSBibG9rb3Zza2kgdXJlxJFhaiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjIKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgcHJpbnQgYWxsIGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNAorbXNnaWQgIiAtZCwgLS1ub2RlcHMgICAgICAgICBkb24ndCBwcmludCBzbGF2ZXMgb3IgaG9sZGVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI1Cittc2dpZCAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHByaW50IGRpc2NhcmQgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjYKK21zZ2lkICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI3Cittc2dpZCAiIC1mLCAtLWZzICAgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjgKK21zZ2lkICIgLWksIC0tYXNjaWkgICAgICAgICAgdXNlIGFzY2lpIGNoYXJhY3RlcnMgb25seVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI5Cittc2dpZCAiIC1JLCAtLWluY2x1ZGUgPGxpc3Q+IHNob3cgb25seSBkZXZpY2VzIHdpdGggc3BlY2lmaWVkIG1ham9yIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMAorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzEKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMyCittc2dpZCAiIC1tLCAtLXBlcm1zICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNAorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM1Cittc2dpZCAiIC1PLCAtLW91dHB1dC1hbGwgICAgIG91dHB1dCBhbGwgY29sdW1uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM2Cittc2dpZCAiIC1wLCAtLXBhdGhzICAgICAgICAgIHByaW50IGNvbXBsZXRlIGRldmljZSBwYXRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzkKK21zZ2lkICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MAorbXNnaWQgIiAtUywgLS1zY3NpICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBTQ1NJIGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MQorbXNnaWQgIiAtdCwgLS10b3BvbG9neSAgICAgICBvdXRwdXQgaW5mbyBhYm91dCB0b3BvbG9neVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQyCittc2dpZCAiIC14LCAtLXNvcnQgPGNvbHVtbj4gIHNvcnQgb3V0cHV0IGJ5IDxjb2x1bW4+XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDcgbWlzYy11dGlscy9sc2xvY2tzLmM6NTE5IHN5cy11dGlscy9sc25zLmM6NjMyCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE5NiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLW91dHB1dCk6XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFjY2VzcyBzeXNmcyBkaXJlY3Rvcnk6ICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjczCittc2dpZCAiY29tbWFuZCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc0Cittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzUKK21zZ2lkICJraW5kIG9mIGxvY2s6IEZMX0ZMT0NLIG9yIEZMX1BPU0lYLiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NgorbXNnaWQgInNpemUgb2YgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzcKK21zZ2lkICJsb2NrIGFjY2VzcyBtb2RlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc4Cittc2dpZCAibWFuZGF0b3J5IHN0YXRlIG9mIHRoZSBsb2NrOiAwIChub25lKSwgMSAoc2V0KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OQorbXNnaWQgInJlbGF0aXZlIGJ5dGUgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgwCittc2dpZCAiZW5kaW5nIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MQorbXNnaWQgInBhdGggb2YgdGhlIGxvY2tlZCBmaWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgyCittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGJsb2NraW5nIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI1OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSUQiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjgxIHN5cy11dGlscy9uc2VudGVyLmM6MjMyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBpZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODQKK21zZ2lkICIodW5rbm93bikiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjkzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjMwMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbmQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA0Cittc2dpZCAiTGlzdCBsb2NhbCBzeXN0ZW0gbG9ja3MuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA4Cittc2dpZCAiIC1pLCAtLW5vaW5hY2Nlc3NpYmxlICAgaWdub3JlIGxvY2tzIHdpdGhvdXQgcmVhZCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwOSBzeXMtdXRpbHMvbHNucy5jOjYyMQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTEwIHN5cy11dGlscy9sc25zLmM6NjIyCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMQorbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIGRpc3BsYXkgb25seSBsb2NrcyBoZWxkIGJ5IHRoaXMgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMiBzeXMtdXRpbHMvbHNucy5jOjYyNAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1NzAgc2NoZWR1dGlscy9jaHJ0LmM6NDc4IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc3CisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxNjMgc3lzLXV0aWxzL2xzbnMuYzo2OTkgc3lzLXV0aWxzL3BybGltaXQuYzo1ODYKK21zZ2lkICJpbnZhbGlkIFBJRCBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4NQorbXNnaWQgIkdlbmVyYXRlIG1hZ2ljIGNvb2tpZXMgZm9yIHhhdXRoLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg4Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICB1c2UgZmlsZSBhcyBhIGNvb2tpZSBzZWVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODkKK21zZ2lkICIgLW0sIC0tbWF4LXNpemUgPG51bT4gIGxpbWl0IGhvdyBtdWNoIGlzIHJlYWQgZnJvbSBzZWVkIGZpbGVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6OTAKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLVYgICAgICAgICBwb2phc25pIMWhdG8gcHJvZ3JhbSByYWRpXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR290ICV6dSBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICV6dSBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIiVzIGl6ICVzXG4iCittc2dzdHJbMV0gIiVzIGl6ICVzXG4iCittc2dzdHJbMl0gIiVzIGl6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9zaW5nICVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNjQgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNDYgc3lzLXV0aWxzL2ZzdHJpbS5jOjMwOAorIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTE3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxlbmd0aCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNzcKK21zZ2lkICItLW1heC1zaXplIGlnbm9yZWQgd2hlbiB1c2VkIHdpdGhvdXQgLS1maWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR290ICVkIGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJWQgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICIlcyBpeiAlc1xuIgorbXNnc3RyWzFdICIlcyBpeiAlc1xuIgorbXNnc3RyWzJdICIlcyBpeiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3ltbGluazogJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAtIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwYXRobmFtZT4uLi5cbiIKK21zZ3N0ciAiICVzIFtvcGNpamVdIDx1cmXEkWFqPlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzM2Cittc2dpZCAiRm9sbG93IGEgcGF0aG5hbWUgdW50aWwgYSB0ZXJtaW5hbCBwb2ludCBpcyBmb3VuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzM5Cittc2dpZCAiIgorIiAtaCwgLS1oZWxwICAgICAgICAgIGRpc3BsYXlzIHRoaXMgaGVscCB0ZXh0XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICBzaG93IG1vdW50IHBvaW50IGRpcmVjdG9yaWVzIHdpdGggYSAnRCdcbiIKKyIgLW0sIC0tbW9kZXMgICAgICAgICBzaG93IHRoZSBtb2RlIGJpdHMgb2YgZWFjaCBmaWxlXG4iCisiIC1vLCAtLW93bmVycyAgICAgICAgc2hvdyBvd25lciBhbmQgZ3JvdXAgbmFtZSBvZiBlYWNoIGZpbGVcbiIKKyIgLWwsIC0tbG9uZyAgICAgICAgICB1c2UgYSBsb25nIGxpc3RpbmcgZm9ybWF0ICgtbSAtbyAtdikgXG4iCisiIC1uLCAtLW5vc3ltbGlua3MgICAgZG9uJ3QgZm9sbG93IHN5bWxpbmtzXG4iCisiIC12LCAtLXZlcnRpY2FsICAgICAgdmVydGljYWwgYWxpZ24gb2YgbW9kZXMgYW5kIG93bmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MDgKK21zZ2lkICJwYXRobmFtZSBhcmd1bWVudCBpcyBtaXNzaW5nIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTQgc3lzLXV0aWxzL2xzbnMuYzo3NjQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIFVJRCBjYWNoZSIKK21zZ3N0ciAibmlzYW0gdXNwaW8gYWxvY2lyYXRpIGl0ZXJhdG9yIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHSUQgY2FjaGUiCittc2dzdHIgIm5pc2FtIHVzcGlvIGFsb2NpcmF0aSBpdGVyYXRvciIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhjZWVkZWQgbGltaXQgb2Ygc3ltbGlua3MiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHN5bWJvbGljIGxpbmsiCittc2dzdHIgIiVzOiBuaWplIGJsb2tvdnNraSB1cmXEkWFqIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZGxpbmsgZmFpbGVkIgorbXNnc3RyICJzeW1saW5rIG5pamUgdXNwaW86ICVzIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5saW5rIGZhaWxlZCIKK21zZ3N0ciAic3ltbGluayBuaWplIHVzcGlvOiAlcyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN5bWxpbmtpbmcgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJzeW1saW5rIG5pamUgdXNwaW86ICVzIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlbmFtZSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBpenZyxaFhdmFuamUgbmlqZSB1c3BqZWxvIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjExOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZXhwcmVzc2lvbj4gPHJlcGxhY2VtZW50PiA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiICVzIFtvcGNpamVdIDx1cmXEkWFqPlxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyMgorbXNnaWQgIlJlbmFtZSBmaWxlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyNQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjYKK21zZ2lkICIgLXMsIC0tc3ltbGluayAgICBhY3Qgb24gdGhlIHRhcmdldCBvZiBzeW1saW5rc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MgorbXNnaWQgIkEgZGFlbW9uIGZvciBnZW5lcmF0aW5nIFVVSURzLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkIDxwYXRoPiAgICAgICAgcGF0aCB0byBwaWQgZmlsZVxuIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NQorbXNnaWQgIiAtcywgLS1zb2NrZXQgPHBhdGg+ICAgICBwYXRoIHRvIHNvY2tldFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NgorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGtpbGwgcnVubmluZyBkYWVtb25cbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzgKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhbmRvbSAgICAgICAgICAgIHRlc3QgcmFuZG9tLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODAKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgxCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1uby1waWQgICAgICAgICAgICBkbyBub3QgY3JlYXRlIHBpZCBmaWxlXG4iCittc2dzdHIgIiAtPyAgICAgICAgIHByaWthxb5pIG92dSBwb21vxIcgaSBpemHEkWlcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgyCisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkbyBub3QgZGFlbW9uaXplIHVzaW5nIGRvdWJsZS1mb3JrXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgzCittc2dpZCAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIGRvIG5vdCBjcmVhdGUgbGlzdGVuaW5nIHNvY2tldFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4NAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCittc2dzdHIgIiAtViAgICAgICAgIHBvamFzbmkgxaF0byBwcm9ncmFtIHJhZGlcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjg1CisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0dXJuIG9uIHF1aWV0IG1vZGVcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTE4Cittc2dpZCAiYmFkIGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTI1Cittc2dpZCAic29ja2V0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMzYKK21zZ2lkICJjb25uZWN0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNTYKK21zZ2lkICJ3cml0ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTY0Cittc2dpZCAicmVhZCBjb3VudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTcwCittc2dpZCAiYmFkIHJlc3BvbnNlIGxlbmd0aCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbG9jayAlcyIKK21zZ3N0ciAibmUgbW9ndSBvdHZvcml0aSAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI0NgorbXNnaWQgImNvdWxkbid0IGNyZWF0ZSB1bml4IHN0cmVhbSBzb2NrZXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgYmluZCB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAibmUgbW9ndSBwcm9uYcSHaSBvZGdvdmFyYWp1xIdpIGRhdG90ZcSNbmkgc3VzdGF2OiAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI5OAorIywgZnV6enkKK21zZ2lkICJyZWNlaXZpbmcgc2lnbmFsIGZhaWxlZCIKK21zZ3N0ciAic2VlayBuaWplIHVzcGlvIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzExCittc2dpZCAidGltZWQgb3V0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNDUgc3lzLXV0aWxzL2Zsb2NrLmM6MjcxCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgdXAgdGltZXIiCittc2dzdHIgIm5lIG1vZ3UgemF0dm9yaXRpIGRhdG90ZWt1ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgInV1aWRkIGRhZW1vbiBpcyBhbHJlYWR5IHJ1bm5pbmcgYXQgcGlkICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgbGlzdGVuIG9uIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB0cnVuY2F0ZSBmaWxlOiAlcyIKK21zZ3N0ciAibmUgbW9ndSDEjWl0YXRpIGRpcmVrdG9yaWogJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODYKKyMsIGZ1enp5Cittc2dpZCAic2RfbGlzdGVuX2ZkcygpIGZhaWxlZCIKK21zZ3N0ciAixI1pdGFuamUgbmlqZSB1c3BqZWxvOiAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4OQorbXNnaWQgIm5vIGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHN5c3RlbWN0bCBzdGF0dXMgdXVpZGQuc29ja2V0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozOTIKK21zZ2lkICJ0b28gbWFueSBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayB1dWlkZC5zb2NrZXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQyMCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ1NQorIywgZnV6enkKK21zZ2lkICJwb2xsIGZhaWxlZCIKK21zZ3N0ciAiZm9yayBuaWplIHVzcGlvIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDI1CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWVvdXQgWyVkIHNlY11cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQzIHRleHQtdXRpbHMvY29sdW1uLmM6NDE0CisjLCBmdXp6eQorbXNnaWQgInJlYWQgZmFpbGVkIgorbXNnc3RyICLEjWl0YW5qZSBuaWplIHVzcGplbG86ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHJlYWRpbmcgZnJvbSBjbGllbnQsIGxlbiA9ICVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkLCBpbmNvbWluZyBudW0gPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ3MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHJhbmRvbSBVVUlEOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgYW5kICVkIGZvbGxvd2luZ1xuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKK21zZ3N0clsyXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCAlZCBVVUlEOlxuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgJWQgVVVJRHM6XG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorbXNnc3RyWzJdICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgcmVwbHkgbGVuZ3RoIGZyb20gc2VydmVyICVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MDAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdXVpZHMiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYxNworbXNnaWQgInV1aWRkIGhhcyBiZWVuIGJ1aWx0IHdpdGhvdXQgc3VwcG9ydCBmb3Igc29ja2V0IGFjdGl2YXRpb24iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYzNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10aW1lb3V0IgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NTMKK21zZ2lkICJCb3RoIC0tc29ja2V0LWFjdGl2YXRpb24gYW5kIC0tc29ja2V0IHNwZWNpZmllZC4gSWdub3JpbmcgLS1zb2NrZXQuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjAgbWlzYy11dGlscy91dWlkZC5jOjY4OAorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjYWxsaW5nIHV1aWRkIGRhZW1vbiAoJXMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjEgbWlzYy11dGlscy91dWlkZC5jOjY4OQorIywgZnV6enkKK21zZ2lkICJ1bmV4cGVjdGVkIGVycm9yIgorbXNnc3RyICJzZWVrIGdyZcWha2EiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRFxuIgorbXNnaWRfcGx1cmFsICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEc1xuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKK21zZ3N0clsyXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjczCisjLCBjLWZvcm1hdAorbXNnaWQgIkxpc3Qgb2YgVVVJRHM6XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBraWxsIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiS2lsbGVkIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI4Cittc2dpZCAiQ3JlYXRlIGEgbmV3IFVVSUQgdmFsdWUuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzEKK21zZ2lkICIiCisiIC1yLCAtLXJhbmRvbSAgICAgZ2VuZXJhdGUgcmFuZG9tLWJhc2VkIHV1aWRcbiIKKyIgLXQsIC0tdGltZSAgICAgICBnZW5lcmF0ZSB0aW1lLWJhc2VkIHV1aWRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstQk1TIDxkaXI+Li4uIC1mXSA8bmFtZT5cbiIKK21zZ3N0ciAiICVzIFtvcGNpamVdIGRhdG90ZWthXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5MgorbXNnaWQgIkxvY2F0ZSB0aGUgYmluYXJ5LCBzb3VyY2UsIGFuZCBtYW51YWwtcGFnZSBmaWxlcyBmb3IgYSBjb21tYW5kLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5NQorbXNnaWQgIiAtYiAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBiaW5hcmllc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5NgorbXNnaWQgIiAtQiA8ZGlycz4gIGRlZmluZSBiaW5hcmllcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5NworIywgZnV6enkKK21zZ2lkICIgLW0gICAgICAgICBzZWFyY2ggb25seSBmb3IgbWFudWFscyBhbmQgaW5mb3NcbiIKK21zZ3N0ciAiIC0/ICAgICAgICAgcHJpa2HFvmkgb3Z1IHBvbW/EhyBpIGl6YcSRaVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTgKK21zZ2lkICIgLU0gPGRpcnM+ICBkZWZpbmUgbWFuIGFuZCBpbmZvIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk5Cittc2dpZCAiIC1zICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIHNvdXJjZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDAKK21zZ2lkICIgLVMgPGRpcnM+ICBkZWZpbmUgc291cmNlcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMQorbXNnaWQgIiAtZiAgICAgICAgIHRlcm1pbmF0ZSA8ZGlycz4gYXJndW1lbnQgbGlzdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMgorbXNnaWQgIiAtdSAgICAgICAgIHNlYXJjaCBmb3IgdW51c3VhbCBlbnRyaWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAzCittc2dpZCAiIC1sICAgICAgICAgb3V0cHV0IGVmZmVjdGl2ZSBsb29rdXAgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzo2MTkKK21zZ2lkICJvcHRpb24gLWYgaXMgbWlzc2luZyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjE5NgorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBwcm9iaW5nIGluaXRpYWxpemF0aW9uIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGVyYXNlICVzIG1hZ2ljIHN0cmluZyBhdCBvZmZzZXQgMHglMDhqeCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dpZF9wbHVyYWwgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKK21zZ3N0clsyXSAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjM0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FsbGluZyBpb2N0bCB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZTogJW1cbiIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjM4NQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlnbm9yaW5nIG5lc3RlZCBcIiVzXCIgcGFydGl0aW9uIHRhYmxlIG9uIG5vbi13aG9sZSBkaXNrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0IDB4JWp4IG5vdCBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQzNQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBvcHRpb24gdG8gZm9yY2UgZXJhc2UuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU5Cittc2dpZCAiV2lwZSBzaWduYXR1cmVzIGZyb20gYSBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0NjIKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpXG4iCisiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgIGZvcmNlIGVyYXN1cmVcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCisiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGxcbiIKKyIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgdG8gZXJhc2UsIGluIGJ5dGVzXG4iCisiIC1wLCAtLXBhcnNhYmxlICAgICAgcHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdFxuIgorIiAtcSwgLS1xdWlldCAgICAgICAgIHN1cHByZXNzIG91dHB1dCBtZXNzYWdlc1xuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSwgUkFJRHMgb3IgcGFydGl0aW9uIHRhYmxlc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MzMKK21zZ2lkICJpbnZhbGlkIG9mZnNldCBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU1OAorbXNnaWQgIlRoZSAtLWJhY2t1cCBvcHRpb24gaXMgbWVhbmluZ2xlc3MgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZWFsLXRpbWUgc2NoZWR1bGluZyBhdHRyaWJ1dGVzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzcKK21zZ2lkICIiCisiU2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gPHByaW9yaXR5PiA8Y29tbWFuZD4gWzxhcmc+Li4uXVxuIgorIiBjaHJ0IFtvcHRpb25zXSAtLXBpZCA8cHJpb3JpdHk+IDxwaWQ+XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQxCittc2dpZCAiIgorIkdldCBwb2xpY3k6XG4iCisiIGNocnQgW29wdGlvbnNdIC1wIDxwaWQ+XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgIlBvbGljeSBvcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiT3BjaWplOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDYKK21zZ2lkICIgLWIsIC0tYmF0Y2ggICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NworIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGVhZGxpbmUgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9ERUFETElORVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OAorbXNnaWQgIiAtZiwgLS1maWZvICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDkKK21zZ2lkICIgLWksIC0taWRsZSAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9JRExFXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUwCittc2dpZCAiIC1vLCAtLW90aGVyICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTEKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJyICAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU0CisjLCBmdXp6eQorbXNnaWQgIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wY2lqZTpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU1Cittc2dpZCAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgc2V0IFNDSEVEX1JFU0VUX09OX0ZPUksgZm9yIEZJRk8gb3IgUlJcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTYKK21zZ2lkICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBydW50aW1lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTcKK21zZ2lkICIgLVAsIC0tc2NoZWQtcGVyaW9kIDxucz4gICBwZXJpb2QgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1OAorbXNnaWQgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IGRlYWRsaW5lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiT3RoZXIgb3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wY2lqZTpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYyCittc2dpZCAiIC1hLCAtLWFsbC10YXNrcyAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYzCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tYXggICAgICAgICAgICBzaG93IG1pbiBhbmQgbWF4IHZhbGlkIHByaW9yaXRpZXNcbiIKK21zZ3N0ciAiIC1NICAgICAgICAgbmUgcHJvdmplcmF2YWogbW9udGlyYW5lIGRhdG90ZcSNbmUgc3VzdGF2ZVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICBkaXNwbGF5IHN0YXR1cyBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgLVYgICAgICAgICBwb2phc25pIMWhdG8gcHJvZ3JhbSByYWRpXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjIzMiBzY2hlZHV0aWxzL2NocnQuYzoyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYXR0cmlidXRlcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcHJpb3JpdHk6ICVkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzAwIHNjaGVkdXRpbHMvY2hydC5jOjM5NgorbXNnaWQgImNhbm5vdCBvYnRhaW4gdGhlIGxpc3Qgb2YgdGFza3MiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG1pbi9tYXggcHJpb3JpdHlcdDogJWQvJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBzdXBwb3J0ZWQ/XG4iCittc2dzdHIgIiVzIG5pamUgbW9udGlyYW5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBydW50aW1lIGFyZ3VtZW50IgorbXNnc3RyICJuZWlzcHJhdmFuIGFyZ3VtZW50IGR1bGppbmUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ5MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBlcmlvZCBhcmd1bWVudCIKK21zZ3N0ciAibmVpc3ByYXZhbiBhcmd1bWVudCBkdWxqaW5lIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBkZWFkbGluZSBhcmd1bWVudCIKK21zZ3N0ciAibmVpc3ByYXZhbiBhcmd1bWVudCBkdWxqaW5lIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MTcKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5IGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyMQorbXNnaWQgIi0tcmVzZXQtb24tZm9yayBvcHRpb24gaXMgc3VwcG9ydGVkIGZvciBTQ0hFRF9GSUZPIGFuZCBTQ0hFRF9SUiBwb2xpY2llcyBvbmx5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyNgorbXNnaWQgIi0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgZm9yIFNDSEVEX0RFQURMSU5FIG9ubHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQxCittc2dpZCAiU0NIRURfREVBRExJTkUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByaW9yaXR5IHZhbHVlIGZvciB0aGUgcG9saWN5OiAlZDogc2VlIC0tbWF4IGZvciB2YWxpZCByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc2Cittc2dpZCAiaW9wcmlvX2dldCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcHJpbyAlbHVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjk4Cittc2dpZCAiaW9wcmlvX3NldCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSAtcCA8cGlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtUCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTAKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgSS9PLXNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExMworbXNnaWQgIiIKKyIgLWMsIC0tY2xhc3MgPGNsYXNzPiAgICBuYW1lIG9yIG51bWJlciBvZiBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTUKK21zZ2lkICIiCisiIC1uLCAtLWNsYXNzZGF0YSA8bnVtPiAgcHJpb3JpdHkgKDAuLjcpIGluIHRoZSBzcGVjaWZpZWQgc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHkgZm9yIHRoZSByZWFsdGltZSBhbmQgYmVzdC1lZmZvcnQgY2xhc3Nlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE3Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPi4uLiAgICAgYWN0IG9uIHRoZXNlIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOAorbXNnaWQgIiAtUCwgLS1wZ2lkIDxwZ3JwPi4uLiAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIGluIHRoZXNlIGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE5CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIGlnbm9yZSBmYWlsdXJlc1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTIwCittc2dpZCAiIC11LCAtLXVpZCA8dWlkPi4uLiAgICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgb3duZWQgYnkgdGhlc2UgdXNlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE1NworbXNnaWQgImludmFsaWQgY2xhc3MgZGF0YSBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2MworbXNnaWQgImludmFsaWQgY2xhc3MgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzY2hlZHVsaW5nIGNsYXNzOiAnJXMnIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc2IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg0IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkyCittc2dpZCAiY2FuIGhhbmRsZSBvbmx5IG9uZSBvZiBwaWQsIHBnaWQgb3IgdWlkIGF0IG9uY2UiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBQR0lEIGFyZ3VtZW50IgorbXNnc3RyICJuZWlzcHJhdmFuIGFyZ3VtZW50IHBvxI1ldGthIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFVJRCBhcmd1bWVudCIKK21zZ3N0ciAibmVpc3ByYXZhbiBhcmd1bWVudCBwb8SNZXRrYSIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMTIKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBub25lIGNsYXNzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjIwCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3IgaWRsZSBjbGFzcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHByaW8gY2xhc3MgJWQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlVzYWdlOiAlcyBbb3B0aW9uc10gW21hc2sgfCBjcHUtbGlzdF0gW3BpZHxjbWQgW2FyZ3MuLi5dXVxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU1Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIENQVSBhZmZpbml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk9wdGlvbnM6XG4iCisiIC1hLCAtLWFsbC10YXNrcyAgICAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisiIC1wLCAtLXBpZCAgICAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCisiIC1jLCAtLWNwdS1saXN0ICAgICAgICAgIGRpc3BsYXkgYW5kIHNwZWNpZnkgY3B1cyBpbiBsaXN0IGZvcm1hdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvblxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBydW4gYSBuZXcgY29tbWFuZDpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyJZb3UgY2FuIHJldHJpZXZlIHRoZSBtYXNrIG9mIGFuIGV4aXN0aW5nIHRhc2s6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiT3Igc2V0IGl0OlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorIkxpc3QgZm9ybWF0IHVzZXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBpbnN0ZWFkIG9mIGEgbWFzazpcbiIKKyIgICAgJTEkcyAtcGMgMCwzLDctMTEgNzAwXG4iCisiUmFuZ2VzIGluIGxpc3QgZm9ybWF0IGNhbiB0YWtlIGEgc3RyaWRlIGFyZ3VtZW50OlxuIgorIiAgICBlLmcuIDAtMzE6MiBpcyBlcXVpdmFsZW50IHRvIG1hc2sgMHg1NTU1NTU1NVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkwCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTkKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogY29udmVyc2lvbiBmcm9tIGNwdXNldCB0byBzdHJpbmcgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwOSBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxODYgc3lzLXV0aWxzL2NoY3B1LmM6Mjg5Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBOUl9DUFVTOyBhYm9ydGluZyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxOTUgc2NoZWR1dGlscy90YXNrc2V0LmM6MjA4IHN5cy11dGlscy9jaGNwdS5jOjI5NQorbXNnaWQgImNwdXNldF9hbGxvYyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjE1IHN5cy11dGlscy9jaGNwdS5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2s6ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFplcm8tZmlsbGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogRGlzY2FyZGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4NworbXNnaWQgIkRpc2NhcmQgdGhlIGNvbnRlbnQgb2Ygc2VjdG9ycyBvbiBhIGRldmljZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkwCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkxCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXN0ZXAgPG51bT4gICAgc2l6ZSBvZiB0aGUgZGlzY2FyZCBpdGVyYXRpb25zIHdpdGhpbiB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NAorIywgZnV6enkKK21zZ2lkICIgLXosIC0temVyb291dCAgICAgICB6ZXJvLWZpbGwgcmF0aGVyIHRoYW4gZGlzY2FyZFxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAgICAgIHByaWthxb5pIG92dSBwb21vxIcgaSBpemHEkWlcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCittc2dzdHIgIiAtViAgICAgICAgIHBvamFzbmkgxaF0byBwcm9ncmFtIHJhZGlcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTAgc3lzLXV0aWxzL2ZzdHJpbS5jOjMxMiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY3MworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTI0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG9mZnNldCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RlcCIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3MiBzeXMtdXRpbHMvenJhbWN0bC5jOjY4MiBzeXMtdXRpbHMvenJhbWN0bC5jOjcwOAorIywgZnV6enkKK21zZ2lkICJubyBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICIlczogdXJlxJFhaiBqZSBuZXByYXZpbG5vIHBvcmF2bmFuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3NyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzUxCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjIgc3lzLXV0aWxzL2ZzdHJpbS5jOjMzNAorbXNnaWQgInVuZXhwZWN0ZWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLR0VUU0laRTY0IGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU1NaR0VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0ICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCBpcyBncmVhdGVyIHRoYW4gZGV2aWNlIHNpemUiCittc2dzdHIgIm5lIG1vZ3Ugb3Rrcml0aSB2ZWxpxI1pbnUgdXJlxJFhamEiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsZW5ndGggJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtaRVJPT1VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU0VDRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjg3IHN5cy11dGlscy9jaGNwdS5jOjE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgaG90IHBsdWdnYWJsZSIKK21zZ3N0ciAiJXM6IGl6dnLFoWF2YW5qZSBuaWplIHVzcGplbG8iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIiVzIG5pamUgdXNwaW8uXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAiJXMgbmlqZSB1c3Bpby5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCAoQ1BVIGlzIGRlY29uZmlndXJlZCkiCittc2dzdHIgIiVzOiBpenZyxaFhdmFuamUgbmlqZSB1c3BqZWxvIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIgorbXNnc3RyICJzeW1saW5rIG5pamUgdXNwaW86ICVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGVkXG4iCittc2dzdHIgInN5bWxpbmsgbmlqZSB1c3BpbzogJXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIChsYXN0IGVuYWJsZWQgQ1BVKSIKK21zZ3N0ciAiJXMgbmlqZSB1c3Bpby5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQiCittc2dzdHIgIiVzIG5pamUgdXNwaW8uXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGVkXG4iCittc2dzdHIgIiVzIG5pamUgdXNwaW8uXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgcmVzY2FubmluZyBvZiBDUFVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MworbXNnaWQgIkZhaWxlZCB0byB0cmlnZ2VyIHJlc2NhbiBvZiBDUFVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJUcmlnZ2VyZWQgcmVzY2FuIG9mIENQVXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHNldHRpbmcgdGhlIGRpc3BhdGNoaW5nIG1vZGUgb2YgQ1BVcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTUKK21zZ2lkICJGYWlsZWQgdG8gc2V0IGhvcml6b250YWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCBob3Jpem9udGFsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTkKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHZlcnRpY2FsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgdmVydGljYWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBjb25maWd1cmFibGUiCittc2dzdHIgIiVzOiBpenZyxaFhdmFuamUgbmlqZSB1c3BqZWxvIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiJXM6IGl6dnLFoWF2YW5qZSBuaWplIHVzcGplbG8iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIiVzOiBpenZyxaFhdmFuamUgbmlqZSB1c3BqZWxvIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiJXM6IGl6dnLFoWF2YW5qZSBuaWplIHVzcGplbG8iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIiVzOiBpenZyxaFhdmFuamUgbmlqZSB1c3BqZWxvIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmVkXG4iCittc2dzdHIgIiVzOiBpenZyxaFhdmFuamUgbmlqZSB1c3BqZWxvIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIiVzOiBpenZyxaFhdmFuamUgbmlqZSB1c3BqZWxvIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiJXM6IGl6dnLFoWF2YW5qZSBuaWplIHVzcGplbG8iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIENQVSBudW1iZXIgaW4gQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzOCB0ZXh0LXV0aWxzL2NvbC5jOjEzMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0MgorbXNnaWQgIkNvbmZpZ3VyZSBDUFVzIGluIGEgbXVsdGktcHJvY2Vzc29yIHN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorIiAgLWUsIC0tZW5hYmxlIDxjcHUtbGlzdD4gICAgICAgZW5hYmxlIGNwdXNcbiIKKyIgIC1kLCAtLWRpc2FibGUgPGNwdS1saXN0PiAgICAgIGRpc2FibGUgY3B1c1xuIgorIiAgLWMsIC0tY29uZmlndXJlIDxjcHUtbGlzdD4gICAgY29uZmlndXJlIGNwdXNcbiIKKyIgIC1nLCAtLWRlY29uZmlndXJlIDxjcHUtbGlzdD4gIGRlY29uZmlndXJlIGNwdXNcbiIKKyIgIC1wLCAtLWRpc3BhdGNoIDxtb2RlPiAgICAgICAgIHNldCBkaXNwYXRjaGluZyBtb2RlXG4iCisiICAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICB0cmlnZ2VyIHJlc2NhbiBvZiBjcHVzXG4iCisiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjMyNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBhcmd1bWVudDogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzoyNworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgaGFyZHxzb2Z0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICJTZXQgdGhlIGZ1bmN0aW9uIG9mIHRoZSBDdHJsLUFsdC1EZWwgY29tYmluYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MQorbXNnaWQgImltcGxpY2l0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdmFsdWUgaW4gJXM6ICVqdSIKK21zZ3N0ciAic2VlayBncmXFoWthIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjYzCittc2dpZCAiWW91IG11c3QgYmUgcm9vdCB0byBzZXQgdGhlIEN0cmwtQWx0LURlbCBiZWhhdmlvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjcxIHN5cy11dGlscy9pcGNybS5jOjM5MiBzeXMtdXRpbHMvaXBjcm0uYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhcmd1bWVudDogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEwCittc2dpZCAic3lzdGVtIGlzIHVudXNhYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMQorbXNnaWQgImFjdGlvbiBtdXN0IGJlIHRha2VuIGltbWVkaWF0ZWx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMgorbXNnaWQgImNyaXRpY2FsIGNvbmRpdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEzCittc2dpZCAiZXJyb3IgY29uZGl0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTQKK21zZ2lkICJ3YXJuaW5nIGNvbmRpdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE1Cittc2dpZCAibm9ybWFsIGJ1dCBzaWduaWZpY2FudCBjb25kaXRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE2Cittc2dpZCAiaW5mb3JtYXRpb25hbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTcKK21zZ2lkICJkZWJ1Zy1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzEKK21zZ2lkICJrZXJuZWwgbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMyCittc2dpZCAicmFuZG9tIHVzZXItbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMzCittc2dpZCAibWFpbCBzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM0Cittc2dpZCAic3lzdGVtIGRhZW1vbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1Cittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzYKK21zZ2lkICJtZXNzYWdlcyBnZW5lcmF0ZWQgaW50ZXJuYWxseSBieSBzeXNsb2dkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNworbXNnaWQgImxpbmUgcHJpbnRlciBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM4Cittc2dpZCAibmV0d29yayBuZXdzIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzkKK21zZ2lkICJVVUNQIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDAKK21zZ2lkICJjbG9jayBkYWVtb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQxCittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyAocHJpdmF0ZSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQyCittc2dpZCAiRlRQIGRhZW1vbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNjcKK21zZ2lkICJEaXNwbGF5IG9yIGNvbnRyb2wgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlci5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzAKK21zZ2lkICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGNsZWFyIHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzEKK21zZ2lkICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIHJlYWQgYW5kIGNsZWFyIGFsbCBtZXNzYWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MgorbXNnaWQgIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAgZGlzYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjczCittc2dpZCAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBlbmFibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NAorbXNnaWQgIiAtRiwgLS1maWxlIDxmaWxlPiAgICAgICAgICAgdXNlIHRoZSBmaWxlIGluc3RlYWQgb2YgdGhlIGtlcm5lbCBsb2cgYnVmZmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc1Cittc2dpZCAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0PiAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBmYWNpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc2Cittc2dpZCAiIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICBodW1hbiByZWFkYWJsZSBvdXRwdXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzcKK21zZ2lkICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIGRpc3BsYXkga2VybmVsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc4Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MQorbXNnaWQgIiAtbCwgLS1sZXZlbCA8bGlzdD4gICAgICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgbGV2ZWxzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgyCittc2dpZCAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPGxldmVsPiBzZXQgbGV2ZWwgb2YgbWVzc2FnZXMgcHJpbnRlZCB0byBjb25zb2xlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgzCittc2dpZCAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICBkbyBub3QgcGlwZSBvdXRwdXQgaW50byBhIHBhZ2VyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg0Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg1Cittc2dpZCAiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICBmb3JjZSB0byB1c2Ugc3lzbG9nKDIpIHJhdGhlciB0aGFuIC9kZXYva21zZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NgorbXNnaWQgIiAtcywgLS1idWZmZXItc2l6ZSA8c2l6ZT4gICAgYnVmZmVyIHNpemUgdG8gcXVlcnkgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NworbXNnaWQgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgZGlzcGxheSB1c2Vyc3BhY2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODgKK21zZ2lkICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OQorbXNnaWQgIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgZGVjb2RlIGZhY2lsaXR5IGFuZCBsZXZlbCB0byByZWFkYWJsZSBzdHJpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTAKK21zZ2lkICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIHNob3cgdGltZSBkZWx0YSBiZXR3ZWVuIHByaW50ZWQgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTEKK21zZ2lkICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIHNob3cgbG9jYWwgdGltZSBhbmQgdGltZSBkZWx0YSBpbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTIKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICBzaG93IGh1bWFuLXJlYWRhYmxlIHRpbWVzdGFtcCAobWF5IGJlIGluYWNjdXJhdGUhKVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MworIywgZnV6enkKK21zZ2lkICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIGRvbid0IHNob3cgYW55IHRpbWVzdGFtcCB3aXRoIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk0Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXAgdXNpbmcgdGhlIGdpdmVuIGZvcm1hdDpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyJTdXNwZW5kaW5nL3Jlc3VtZSB3aWxsIG1ha2UgY3RpbWUgYW5kIGlzbyB0aW1lc3RhbXBzIGluYWNjdXJhdGUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzAwCittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgZmFjaWxpdGllczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDYKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBsZXZlbHMgKHByaW9yaXRpZXMpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGV2ZWwgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBsZXZlbCAnJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSAnJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyOAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW1hcDogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1NgorbXNnaWQgImludmFsaWQgYnVmZmVyIHNpemUgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQwOQorbXNnaWQgIi0tc2hvdy1kZWx0YSBpcyBpZ25vcmVkIHdoZW4gdXNlZCB0b2dldGhlciB3aXRoIGlzbzg2MDEgdGltZSBmb3JtYXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQzMgorbXNnaWQgIi0tcmF3IGNhbiBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1sZXZlbCBvciAtLWZhY2lsaXR5IG9ubHkgd2hlbiByZWFkaW5nIG1lc3NhZ2VzIGZyb20gL2Rldi9rbXNnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0NDIKK21zZ2lkICJyZWFkIGtlcm5lbCBidWZmZXIgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0NjEKK21zZ2lkICJrbG9nY3RsIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT58PG1vdW50cG9pbnQ+XVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNworbXNnaWQgIkVqZWN0IHJlbW92YWJsZSBtZWRpYS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNDAKK21zZ2lkICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICB0dXJuIGF1dG8tZWplY3QgZmVhdHVyZSBvbiBvciBvZmZcbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHNsb3Q+ICAgIHN3aXRjaCBkaXNjcyBvbiBhIENELVJPTSBjaGFuZ2VyXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBkaXNwbGF5IGRlZmF1bHQgZGV2aWNlXG4iCisiIC1mLCAtLWZsb3BweSAgICAgICAgICAgICAgICBlamVjdCBmbG9wcHlcbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIGRvbid0IGNhcmUgYWJvdXQgZGV2aWNlIHR5cGVcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIHRvZ2dsZSBtYW51YWwgZWplY3QgcHJvdGVjdGlvbiBvbi9vZmZcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIGRvIG5vdCB1bm1vdW50IGRldmljZSBldmVuIGlmIGl0IGlzIG1vdW50ZWRcbiIKKyIgLU0sIC0tbm8tcGFydGl0aW9ucy11bm1vdW50IGRvIG5vdCB1bm1vdW50IGFub3RoZXIgcGFydGl0aW9uc1xuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgZG9uJ3QgZWplY3QsIGp1c3Qgc2hvdyBkZXZpY2UgZm91bmRcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIHVzZSAvcHJvYy9tb3VudHMgaW5zdGVhZCBvZiAvZXRjL210YWJcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIGVqZWN0IHRhcGVcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIGVqZWN0IENELVJPTVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgZWplY3QgU0NTSSBkZXZpY2VcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIGNsb3NlIHRyYXlcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIHRvZ2dsZSB0cmF5XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICBlbmFibGUgdmVyYm9zZSBvdXRwdXRcbiIKKyIgLXgsIC0tY2RzcGVlZCA8c3BlZWQ+ICAgICAgIHNldCBDRC1ST00gbWF4IHNwZWVkXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICBsaXN0IENELVJPTSBhdmFpbGFibGUgc3BlZWRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTY0Cittc2dpZCAiIgorIlxuIgorIkJ5IGRlZmF1bHQgdHJpZXMgLXIsIC1zLCAtZiwgYW5kIC1xIGluIG9yZGVyIHVudGlsIHN1Y2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjEwCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNoYW5nZXJzbG90Ly1jIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2RzcGVlZC8teCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzI2Cittc2dpZCAiQ0QtUk9NIGF1dG8tZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQwCisjLCBmdXp6eQorbXNnaWQgIkNELVJPTSBkb29yIGxvY2sgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiUG9kcsW+YW5pIHN1IHNhbW8gYmxva292aS96b25lIHZlbGnEjWluZSAxayIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQyCittc2dpZCAib3RoZXIgdXNlcnMgaGF2ZSB0aGUgZHJpdmUgb3BlbiBhbmQgbm90IENBUF9TWVNfQURNSU4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQ0Cittc2dpZCAiQ0QtUk9NIGxvY2sgZG9vciBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDkKK21zZ2lkICJDRC1Ecml2ZSBtYXkgTk9UIGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM1MQorbXNnaWQgIkNELURyaXZlIG1heSBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjIKK21zZ2lkICJDRC1ST00gc2VsZWN0IGRpc2MgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY2Cittc2dpZCAiQ0QtUk9NIGxvYWQgZnJvbSBzbG90IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2OAorbXNnaWQgIklERS9BVEFQSSBDRC1ST00gY2hhbmdlciBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg2Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg4Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDA1Cittc2dpZCAiQ0QtUk9NIGVqZWN0IHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzMyBzeXMtdXRpbHMvZWplY3QuYzo0NTYgc3lzLXV0aWxzL2VqZWN0LmM6MTAxMQorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzYKK21zZ2lkICJubyBDRC1ST00gaW5mb3JtYXRpb24gYXZhaWxhYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzOQorbXNnaWQgIkNELVJPTSBkcml2ZSBpcyBub3QgcmVhZHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgyCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODQgc3lzLXV0aWxzL2VqZWN0LmM6NTcwCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZGluZyBDRC1ST00gbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU0NAorbXNnaWQgImZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU4OAorbXNnaWQgIm5vdCBhbiBzZyBkZXZpY2UsIG9yIG9sZCBzZyBkcml2ZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bm1vdW50aW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZXhlYyAvYmluL3Vtb3VudCBvZiBgJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY3OAorbXNnaWQgInVuYWJsZSB0byBmb3JrIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZmFpbGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzMwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IHRhYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjc5MSBzeXMtdXRpbHMvZWplY3QuYzo4OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50ZWQgb24gJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODMzCittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gYXV0byIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gJWxkWCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVmYXVsdCBkZXZpY2U6IGAlcyciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODY3CisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIGRlZmF1bHQgZGV2aWNlIGAlcyciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg2IHN5cy11dGlscy9ydGN3YWtlLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gZmluZCBkZXZpY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg4CisjLCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBuYW1lIGlzIGAlcyciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODk0IHN5cy11dGlscy91bW91bnQuYzoyMDYgc3lzLXV0aWxzL3Vtb3VudC5jOjIzNQorIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQwOSBzeXMtdXRpbHMvdW1vdW50LmM6NDMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgbW91bnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2MgZGV2aWNlOiAlcyAoZGlzayBkZXZpY2Ugd2lsbCBiZSB1c2VkIGZvciBlamVjdCkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQgbW91bnRwb2ludCBvciBkZXZpY2Ugd2l0aCB0aGUgZ2l2ZW4gbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIHdob2xlLWRpc2sgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGhvdC1wbHVnZ2FibGUgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxNworIywgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgaXMgYCVzJyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTgKK21zZ2lkICJleGl0aW5nIGR1ZSB0byAtbi8tLW5vb3Agb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZW5hYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NpbmcgdHJheSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsaXN0aW5nIENELVJPTSBzcGVlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBkZXZpY2UgaW4gdXNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VsZWN0aW5nIENELVJPTSBkaXNjICMlbGQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIENELVJPTSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTAKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIFNDU0kgY29tbWFuZHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxNworbXNnaWQgIlNDU0kgZWplY3Qgc3VjY2VlZGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTgKK21zZ2lkICJTQ1NJIGVqZWN0IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgZmxvcHB5IGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNAorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI1Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyB0YXBlIG9mZmxpbmUgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDMxCittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzIKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzNgorbXNnaWQgInVuYWJsZSB0byBlamVjdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZW5hbWU+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjgxCittc2dpZCAiUHJlYWxsb2NhdGUgc3BhY2UgdG8sIG9yIGRlYWxsb2NhdGUgc3BhY2UgZnJvbSBhIGZpbGUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg0Cittc2dpZCAiIC1jLCAtLWNvbGxhcHNlLXJhbmdlIHJlbW92ZSBhIHJhbmdlIGZyb20gdGhlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODUKK21zZ2lkICIgLWQsIC0tZGlnLWhvbGVzICAgICAgZGV0ZWN0IHplcm9lcyBhbmQgcmVwbGFjZSB3aXRoIGhvbGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg2CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gICBsZW5ndGggZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg3Cittc2dpZCAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgIG1haW50YWluIHRoZSBhcHBhcmVudCBzaXplIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg4Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgIG9mZnNldCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODkKK21zZ2lkICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVwbGFjZSBhIHJhbmdlIHdpdGggYSBob2xlIChpbXBsaWVzIC1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MAorbXNnaWQgIiAteiwgLS16ZXJvLXJhbmdlICAgICB6ZXJvIGFuZCBlbnN1cmUgYWxsb2NhdGlvbiBvZiBhIHJhbmdlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEyNgorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQ6IGtlZXAgc2l6ZSBtb2RlIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMjcKKyMsIGZ1enp5Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZCIKK21zZ3N0ciAiZm9yayBuaWplIHVzcGlvIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBmYWlsZWQiCittc2dzdHIgInN5bWxpbmsgbmlqZSB1c3BpbzogJXMiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglanUgYnl0ZXMpIGNvbnZlcnRlZCB0byBzcGFyc2UgaG9sZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM0NiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTgKK21zZ2lkICJubyBmaWxlbmFtZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM1OCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzY0Cittc2dpZCAiaW52YWxpZCBsZW5ndGggdmFsdWUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjIKK21zZ2lkICJubyBsZW5ndGggYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjcKK21zZ2lkICJpbnZhbGlkIG9mZnNldCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gPGNvbW1hbmQ+IFs8YXJndW1lbnQ+Li4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gLWMgPGNvbW1hbmQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlIGRlc2NyaXB0b3IgbnVtYmVyPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjU5Cittc2dpZCAiTWFuYWdlIGZpbGUgbG9ja3MgZnJvbSBzaGVsbCBzY3JpcHRzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYyCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGFyZWQgICAgICAgICAgICAgZ2V0IGEgc2hhcmVkIGxvY2tcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MworIywgZnV6enkKK21zZ2lkICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIGdldCBhbiBleGNsdXNpdmUgbG9jayAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIHJlbW92ZSBhIGxvY2tcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIGZhaWwgcmF0aGVyIHRoYW4gd2FpdFxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAgICAgIHByaWthxb5pIG92dSBwb21vxIcgaSBpemHEkWlcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjYKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8c2Vjcz4gICAgIHdhaXQgZm9yIGEgbGltaXRlZCBhbW91bnQgb2YgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY3Cittc2dpZCAiIC1FLCAtLWNvbmZsaWN0LWV4aXQtY29kZSA8bnVtYmVyPiAgZXhpdCBjb2RlIGFmdGVyIGNvbmZsaWN0IG9yIHRpbWVvdXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tY2xvc2UgICAgICAgICAgICAgIGNsb3NlIGZpbGUgZGVzY3JpcHRvciBiZWZvcmUgcnVubmluZyBjb21tYW5kXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OQorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgcnVuIGEgc2luZ2xlIGNvbW1hbmQgc3RyaW5nIHRocm91Z2ggdGhlIHNoZWxsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgICBleGVjdXRlIGNvbW1hbmQgd2l0aG91dCBmb3JraW5nXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICBpbmNyZWFzZSB2ZXJib3NpdHlcbiIKK21zZ3N0ciAiIC1WICAgICAgICAgcG9qYXNuaSDFoXRvIHByb2dyYW0gcmFkaVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gbG9jayBmaWxlICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIwNQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgdmFsdWUiCittc2dzdHIgIm5laXNwcmF2YW4gYXJndW1lbnQgcG/EjWV0a2EiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIwOQorbXNnaWQgImludmFsaWQgZXhpdCBjb2RlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIyOAorbXNnaWQgInRoZSAtLW5vLWZvcmsgYW5kIC0tY2xvc2Ugb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBleGFjdGx5IG9uZSBjb21tYW5kIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NAorbXNnaWQgImJhZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjU3Cittc2dpZCAicmVxdWlyZXMgZmlsZSBkZXNjcmlwdG9yLCBmaWxlIG9yIGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBsb2NrIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4OAorbXNnaWQgInRpbWVvdXQgd2hpbGUgd2FpdGluZyB0byBnZXQgbG9jayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldHRpbmcgbG9jayB0b29rICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIiVzOiBpenZyxaFhdmFuamUgbmlqZSB1c3BqZWxvIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnRwb2ludD5cbiIKK21zZ3N0ciAiICVzIFtvcGNpamVdIDx1cmXEkWFqPlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1MworbXNnaWQgIlN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbSAoZXh0My80LCBSZWlzZXJGUywgSkZTLCBYRlMpLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjU2Cittc2dpZCAiIC1mLCAtLWZyZWV6ZSAgICAgIGZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjU3Cittc2dpZCAiIC11LCAtLXVuZnJlZXplICAgIHVuZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTE2Cittc2dpZCAibmVpdGhlciAtLWZyZWV6ZSBvciAtLXVuZnJlZXplIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBGSVRSSU0gaW9jdGwgZmFpbGVkIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgaGVyZSBpcyBhIHZlcnkgbGFyZ2UgbnVtYmVyLgorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCU8UFJJdTY0PiBieXRlcykgdHJpbW1lZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxOTEgc3lzLXV0aWxzL3N3YXBvbi5jOjcyOSBzeXMtdXRpbHMvdW1vdW50LmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50IHBvaW50PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTQKK21zZ2lkICJEaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NworIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB0cmltIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIHRoYXQgYXJlIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLU0gICAgICAgICBuZSBwcm92amVyYXZhaiBtb250aXJhbmUgZGF0b3RlxI1uZSBzdXN0YXZlXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTgKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICB0aGUgb2Zmc2V0IGluIGJ5dGVzIHRvIHN0YXJ0IGRpc2NhcmRpbmcgZnJvbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgdGhlIG51bWJlciBvZiBieXRlcyB0byBkaXNjYXJkXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MAorbXNnaWQgIiAtbSwgLS1taW5pbXVtIDxudW0+IHRoZSBtaW5pbXVtIGV4dGVudCBsZW5ndGggdG8gZGlzY2FyZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgbnVtYmVyIG9mIGRpc2NhcmRlZCBieXRlc1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMTYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWluaW11bSBleHRlbnQgbGVuZ3RoIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMjkKK21zZ2lkICJubyBtb3VudHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGUgZGlzY2FyZCBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJBc3N1bWluZyBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluICVzIHRpbWUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNDcgc3lzLXV0aWxzL2h3Y2xvY2suYzozMzQKK21zZ2lkICJVVEMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNDcgc3lzLXV0aWxzL2h3Y2xvY2suYzozMzMKK21zZ2lkICJsb2NhbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMxOAorbXNnaWQgIiIKKyJXYXJuaW5nOiB1bnJlY29nbml6ZWQgdGhpcmQgbGluZSBpbiBhZGp0aW1lIGZpbGVcbiIKKyIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgZHJpZnQgYWRqdXN0bWVudCBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGNhbGlicmF0aW9uIGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkhhcmR3YXJlIGNsb2NrIGlzIG9uICVzIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM1OAorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGZvciBjbG9jayB0aWNrLi4uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc3luY2hyb25pemF0aW9uIGZhaWxlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmdvdCBjbG9jayB0aWNrXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZXMgaW4gaGFyZHdhcmUgY2xvY2s6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJIdyBjbG9jayB0aW1lIDogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ2NQorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHJlYWQgZnJvbSBIYXJkd2FyZSBDbG9jazogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgSGFyZHdhcmUgQ2xvY2sgdG8gJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2xvY2sgbm90IGNoYW5nZWQgLSB0ZXN0aW5nIG9ubHkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAic2xlZXBpbmcgfiVkIHVzZWNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGp1bXBlZCBiYWNrd2FyZCAlLjZmIHNlY29uZHMgdG8gJWxkLiUwNmxkIC0gcmV0YXJnZXRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQuJTA2bGQgPCAlbGQuJTA2bGQgKCUuNmYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2VkIGl0IC0gJWxkLiUwNmxkIGlzIHRvbyBmYXIgcGFzdCAlbGQuJTA2bGQgKCUuNmYgPiAlLjZmKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlbGQuJTA2bGQgaXMgY2xvc2UgZW5vdWdoIHRvICVsZC4lMDZsZCAoJS42ZiA8ICUuNmYpXG4iCisiU2V0IFJUQyB0byAlbGQgKCVsZCArICVkOyByZWZzeXN0aW1lID0gJWxkLiUwNmxkKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Njg4Cittc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIHJlZ2lzdGVycyBjb250YWluIHZhbHVlcyB0aGF0IGFyZSBlaXRoZXIgaW52YWxpZCAoZS5nLiA1MHRoIGRheSBvZiBtb250aCkgb3IgYmV5b25kIHRoZSByYW5nZSB3ZSBjYW4gaGFuZGxlIChlLmcuIFllYXIgMjA5NSkuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzI4Cittc2dpZCAiTm8gLS1kYXRlIG9wdGlvbiBzcGVjaWZpZWQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzM0Cittc2dpZCAiLS1kYXRlIGFyZ3VtZW50IHRvbyBsb25nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzQxCittc2dpZCAiIgorIlRoZSB2YWx1ZSBvZiB0aGUgLS1kYXRlIG9wdGlvbiBpcyBub3QgYSB2YWxpZCBkYXRlLlxuIgorIkluIHBhcnRpY3VsYXIsIGl0IGNvbnRhaW5zIHF1b3RhdGlvbiBtYXJrcy4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSXNzdWluZyBkYXRlIGNvbW1hbmQ6ICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NTMKK21zZ2lkICJVbmFibGUgdG8gcnVuICdkYXRlJyBwcm9ncmFtIGluIC9iaW4vc2ggc2hlbGwuIHBvcGVuKCkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzYxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlc3BvbnNlIGZyb20gZGF0ZSBjb21tYW5kID0gJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc2MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgdW5leHBlY3RlZCByZXN1bHRzLlxuIgorIlRoZSBjb21tYW5kIHdhczpcbiIKKyIgICVzXG4iCisiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyIgICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhbiBpbnRlZ2VyIHdoZXJlIHRoZSBjb252ZXJ0ZWQgdGltZSB2YWx1ZSB3YXMgZXhwZWN0ZWQuXG4iCisiVGhlIGNvbW1hbmQgd2FzOlxuIgorIiAgJXNcbiIKKyJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorIiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzg2CisjLCBjLWZvcm1hdAorbXNnaWQgImRhdGUgc3RyaW5nICVzIGVxdWF0ZXMgdG8gJWxkIHNlY29uZHMgc2luY2UgMTk2OS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgyNAorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IHNldCB0aGUgU3lzdGVtIFRpbWUgZnJvbSBpdC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NDMgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXk6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NDQgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHR0di50dl9zZWMgPSAlbGQsIHR2LnR2X3VzZWMgPSAlbGRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg0NiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzNAorIywgYy1mb3JtYXQKK21zZ2lkICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1MCBzeXMtdXRpbHMvaHdjbG9jay5jOjkzOAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBzeXN0ZW0gY2xvY2sgYmVjYXVzZSBydW5uaW5nIGluIHRlc3QgbW9kZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg2NiBzeXMtdXRpbHMvaHdjbG9jay5jOjk2MgorbXNnaWQgIk11c3QgYmUgc3VwZXJ1c2VyIHRvIHNldCBzeXN0ZW0gY2xvY2suIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODY5IHN5cy11dGlscy9od2Nsb2NrLmM6OTY1Cittc2dpZCAic2V0dGltZW9mZGF5KCkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkN1cnJlbnQgc3lzdGVtIHRpbWU6ICVsZCA9ICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHRVVEM6ICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgLS11cGRhdGUtZHJpZnQgb3B0aW9uIHdhcyBub3QgdXNlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgSGFyZHdhcmUgQ2xvY2sgcHJldmlvdXNseSBjb250YWluZWQgZ2FyYmFnZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgbGFzdCBjYWxpYnJhdGlvbiB0aW1lIGlzIHplcm8sXG4iCisic28gaGlzdG9yeSBpcyBiYWQgYW5kIGNhbGlicmF0aW9uIHN0YXJ0b3ZlciBpcyBuZWNlc3NhcnkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDExCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgaXQgaGFzIGJlZW4gbGVzcyB0aGFuIGZvdXIgaG91cnMgc2luY2UgdGhlIGxhc3QgY2FsaWJyYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdCBmYWN0b3Igd2FzIGNhbGN1bGF0ZWQgYXMgJWYgc2Vjb25kcy9kYXkuXG4iCisiSXQgaXMgZmFyIHRvbyBtdWNoLiBSZXNldHRpbmcgdG8gemVyby5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0ZWQgJWYgc2Vjb25kcyBpbiB0aGUgcGFzdCAlZiBzZWNvbmRzXG4iCisiaW4gc3BpdGUgb2YgYSBkcmlmdCBmYWN0b3Igb2YgJWYgc2Vjb25kcy9kYXkuXG4iCisiQWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBieSAlZiBzZWNvbmRzL2RheVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5OQorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlZCBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWQgc2Vjb25kc1xuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKK21zZ3N0clsyXSAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsY3VsYXRlZCBIYXJkd2FyZSBDbG9jayBkcmlmdCBpcyAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEzMworIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgdXBkYXRpbmcgYWRqdGltZSBmaWxlIGJlY2F1c2Ugb2YgdGVzdGluZyBtb2RlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEzNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV291bGQgaGF2ZSB3cml0dGVuIHRoZSBmb2xsb3dpbmcgdG8gJXM6XG4iCisiJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIGluIGl0ICglcykgZm9yIHdyaXRpbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTQ5IHN5cy11dGlscy9od2Nsb2NrLmM6MTE1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgdXBkYXRlIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzICglcykgaW4gaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTY0Cittc2dpZCAiRHJpZnQgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIG5vdCB1cGRhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMDAKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBhZGp1c3QgaXQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIwOAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGxhc3QgYWRqdXN0bWVudCB0aW1lIGlzIHplcm8sIHNvIGhpc3RvcnkgaXMgYmFkLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGRyaWZ0IGZhY3RvciAlZiBpcyBmYXIgdG9vIGhpZ2guXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHVzYWJsZSBjbG9jayBpbnRlcmZhY2UgZm91bmQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5lZWRlZCBhZGp1c3RtZW50IGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kLCBzbyBub3Qgc2V0dGluZyBjbG9jay5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzODggc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBzZXQgc3lzdGVtIGNsb2NrLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQwMgorIywgYy1mb3JtYXQKK21zZ2lkICJBdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LCBSVEMgaXMgcHJlZGljdGVkIHRvIHJlYWQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0MzEKK21zZ2lkICIiCisiVGhlIGtlcm5lbCBrZWVwcyBhbiBlcG9jaCB2YWx1ZSBmb3IgdGhlIEhhcmR3YXJlIENsb2NrIG9ubHkgb24gYW4gQWxwaGEgbWFjaGluZS5cbiIKKyJUaGlzIGNvcHkgb2YgaHdjbG9jayB3YXMgYnVpbHQgZm9yIGEgbWFjaGluZSBvdGhlciB0aGFuIEFscGhhXG4iCisiKGFuZCB0aHVzIGlzIHByZXN1bWFibHkgbm90IHJ1bm5pbmcgb24gYW4gQWxwaGEgbm93KS4gIE5vIGFjdGlvbiB0YWtlbi4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDQ4Cittc2dpZCAiVW5hYmxlIHRvIGdldCB0aGUgZXBvY2ggdmFsdWUgZnJvbSB0aGUga2VybmVsLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiS2VybmVsIGlzIGFzc3VtaW5nIGFuIGVwb2NoIHZhbHVlIG9mICVsdVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ1NQorbXNnaWQgIlRvIHNldCB0aGUgZXBvY2ggdmFsdWUsIHlvdSBtdXN0IHVzZSB0aGUgJ2Vwb2NoJyBvcHRpb24gdG8gdGVsbCB0byB3aGF0IHZhbHVlIHRvIHNldCBpdC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDU5CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIHRoZSBlcG9jaCB0byAlbHUgLSB0ZXN0aW5nIG9ubHkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBzZXQgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTU2Cittc2dpZCAiIGh3Y2xvY2sgW2Z1bmN0aW9uXSBbb3B0aW9uLi4uXVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU1OQorbXNnaWQgIlF1ZXJ5IG9yIHNldCB0aGUgaGFyZHdhcmUgY2xvY2suXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTYxCittc2dpZCAiIgorIlxuIgorIkZ1bmN0aW9uczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjIKK21zZ2lkICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgIHNob3cgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyIgLXIsIC0tc2hvdyAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisiICAgICAtLWdldCAgICAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IGRyaWZ0IGNvcnJlY3RlZCByZXN1bHRcbiIKKyIgICAgIC0tc2V0ICAgICAgICAgICAgc2V0IHRoZSBSVEMgdG8gdGhlIHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjYKK21zZ2lkICIiCisiIC1zLCAtLWhjdG9zeXMgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyIgLXcsIC0tc3lzdG9oYyAgICAgICAgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayBmcm9tIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lXG4iCisiICAgICAtLXN5c3R6ICAgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgYmFzZWQgb24gdGhlIGN1cnJlbnQgdGltZXpvbmVcbiIKKyIgICAgIC0tYWRqdXN0ICAgICAgICAgYWRqdXN0IHRoZSBSVEMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCBzaW5jZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjbG9jayB3YXMgbGFzdCBzZXQgb3IgYWRqdXN0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NzEKK21zZ2lkICIgLWMsIC0tY29tcGFyZSAgICAgICAgcGVyaW9kaWNhbGx5IGNvbXBhcmUgdGhlIHN5c3RlbSBjbG9jayB3aXRoIHRoZSBDTU9TIGNsb2NrXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTczCittc2dpZCAiIgorIiAgICAgLS1nZXRlcG9jaCAgICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisiICAgICAtLXNldGVwb2NoICAgICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGdpdmVuIHdpdGggLS1lcG9jaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU3NworbXNnaWQgIiIKKyIgICAgIC0tcHJlZGljdCAgICAgICAgcHJlZGljdCBSVEMgcmVhZGluZyBhdCB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4MQorbXNnaWQgIiIKKyIgLXUsIC0tdXRjICAgICAgICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gVVRDXG4iCisiICAgICAtLWxvY2FsdGltZSAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIGxvY2FsIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODQKK21zZ2lkICIgLWYsIC0tcnRjIDxmaWxlPiAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1kaXJlY3Rpc2EgICAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorIiAgICAgLS1iYWR5ZWFyICAgICAgICBpZ25vcmUgUlRDJ3MgeWVhciBiZWNhdXNlIHRoZSBCSU9TIGlzIGJyb2tlblxuIgorIiAgICAgLS1kYXRlIDx0aW1lPiAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorIiAgICAgLS1lcG9jaCA8eWVhcj4gICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBoYXJkd2FyZSBjbG9jaydzIGVwb2NoIHZhbHVlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIGRyaWZ0IGZhY3RvciBpbiAlMSRzIChyZXF1aXJlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIC0tc2V0IG9yIC0tc3lzdG9oYylcbiIKKyIgICAgIC0tbm9hZGpmaWxlICAgICAgZG8gbm90IGFjY2VzcyAlMSRzOyB0aGlzIHJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWVcbiIKKyIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlMSRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTk5Cittc2dpZCAiIgorIiAgICAgLS10ZXN0ICAgICAgICAgICBkbyBub3QgdXBkYXRlIGFueXRoaW5nLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBoYXBwZW5cbiIKKyIgLUQsIC0tZGVidWcgICAgICAgICAgZGVidWdnaW5nIG1vZGVcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE2MDIKK21zZ2lkICIiCisiIC1KfC0tamVuc2VuLCAtQXwtLWFyYywgLVN8LS1zcm0sIC1GfC0tZnVua3ktdG95XG4iCisiICAgICAgdGVsbCBod2Nsb2NrIHRoZSB0eXBlIG9mIEFscGhhIHlvdSBoYXZlIChzZWUgaHdjbG9jayg4KSlcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE3MjgKK21zZ2lkICJVbmFibGUgdG8gY29ubmVjdCB0byBhdWRpdCBzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODI2Cittc2dpZCAiaW52YWxpZCBlcG9jaCBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdGFrZXMgbm8gbm9uLW9wdGlvbiBhcmd1bWVudHMuICBZb3Ugc3VwcGxpZWQgJWQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODgwCittc2dpZCAiV2l0aCAtLW5vYWRqZmlsZSwgeW91IG11c3Qgc3BlY2lmeSBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODkzCittc2dpZCAiTm8gdXNhYmxlIHNldC10byB0aW1lLiAgQ2Fubm90IHNldCBjbG9jay4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxOTE3Cittc2dpZCAiQ2Fubm90IGFjY2VzcyB0aGUgSGFyZHdhcmUgQ2xvY2sgdmlhIGFueSBrbm93biBtZXRob2QuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTkyMAorbXNnaWQgIlVzZSB0aGUgLS1kZWJ1ZyBvcHRpb24gdG8gc2VlIHRoZSBkZXRhaWxzIG9mIG91ciBzZWFyY2ggZm9yIGFuIGFjY2VzcyBtZXRob2QuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYm9vdGVkIGZyb20gTUlMT1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUnVmZmlhbiBCQ0QgY2xvY2tcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb2NrcG9ydCBhZGp1c3RlZCB0byAweCV4XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJmdW5reSBUT1khXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjI5OAorIywgYy1mb3JtYXQKK21zZ2lkICJhdG9taWMgJXMgZmFpbGVkIGZvciAxMDAwIGl0ZXJhdGlvbnMhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc19yZWFkKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjMyOAorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3JlYWQoKTogcmVhZCBmcm9tIGRhdGEgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3dyaXRlKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3dyaXRlKCk6IHdyaXRlIHRvIGRhdGEgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY0NQorbXNnaWQgIkkgZmFpbGVkIHRvIGdldCBwZXJtaXNzaW9uIGJlY2F1c2UgSSBkaWRuJ3QgdHJ5LiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjQ4Cittc2dpZCAidW5hYmxlIHRvIGdldCBJL08gcG9ydCBhY2Nlc3M6ICB0aGUgaW9wbCgzKSBjYWxsIGZhaWxlZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY1MQorbXNnaWQgIlByb2JhYmx5IHlvdSBuZWVkIHJvb3QgcHJpdmlsZWdlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjU4Cittc2dpZCAiVXNpbmcgZGlyZWN0IEkvTyBpbnN0cnVjdGlvbnMgdG8gSVNBIGNsb2NrLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHJlYWQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSAlcyB0byBjaGFuZ2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMzYKK21zZ2lkICJUaW1lZCBvdXQgd2FpdGluZyBmb3IgdGltZSBjaGFuZ2UuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBoYXZlIGludGVycnVwdCBmdW5jdGlvbnMuICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgdGltZWQgb3V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb2ZmIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9uIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCB1bmV4cGVjdGVkbHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byBzZXQgdGhlIHRpbWUgZmFpbGVkLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHdhcyBzdWNjZXNzZnVsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM4NworbXNnaWQgIlVzaW5nIHRoZSAvZGV2IGludGVyZmFjZSB0byB0aGUgY2xvY2suIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQxNyBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVG8gbWFuaXB1bGF0ZSB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbCwgd2UgbXVzdCBhY2Nlc3MgdGhlIExpbnV4ICdydGMnIGRldmljZSBkcml2ZXIgdmlhIHRoZSBkZXZpY2Ugc3BlY2lhbCBmaWxlICVzLiAgVGhpcyBmaWxlIGRvZXMgbm90IGV4aXN0IG9uIHRoaXMgc3lzdGVtLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoUlRDX0VQT0NIX1JFQUQpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAid2UgaGF2ZSByZWFkIGVwb2NoICVsdSBmcm9tICVzIHdpdGggUlRDX0VQT0NIX1JFQUQgaW9jdGwuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlcG9jaCB2YWx1ZSBtYXkgbm90IGJlIGxlc3MgdGhhbiAxOTAwLiAgWW91IHJlcXVlc3RlZCAlbGQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgZXBvY2ggdG8gJWx1IHdpdGggUlRDX0VQT0NIX1NFVCBpb2N0bCB0byAlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGtlcm5lbCBkZXZpY2UgZHJpdmVyIGZvciAlcyBkb2VzIG5vdCBoYXZlIHRoZSBSVENfRVBPQ0hfU0VUIGlvY3RsLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoUlRDX0VQT0NIX1NFVCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjY5Cittc2dpZCAiQ3JlYXRlIHZhcmlvdXMgSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MgorbXNnaWQgIiAtTSwgLS1zaG1lbSA8c2l6ZT4gICAgICAgY3JlYXRlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBvZiBzaXplIDxzaXplPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjczCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZSA8bnVtYmVyPiBjcmVhdGUgc2VtYXBob3JlIGFycmF5IHdpdGggPG51bWJlcj4gZWxlbWVudHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NAorbXNnaWQgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgY3JlYXRlIG1lc3NhZ2UgcXVldWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NQorbXNnaWQgIiAtcCwgLS1tb2RlIDxtb2RlPiAgICAgICAgcGVybWlzc2lvbiBmb3IgdGhlIHJlc291cmNlIChkZWZhdWx0IGlzIDA2NDQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTEwIHN5cy11dGlscy9sb3NldHVwLmM6Njk3IHN5cy11dGlscy96cmFtY3RsLmM6NjIyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTE3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVsZW1lbnRzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MQorbXNnaWQgImNyZWF0ZSBzaGFyZSBtZW1vcnkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MworIywgYy1mb3JtYXQKK21zZ2lkICJTaGFyZWQgbWVtb3J5IGlkOiAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0OQorbXNnaWQgImNyZWF0ZSBtZXNzYWdlIHF1ZXVlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBxdWV1ZSBpZDogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTcKK21zZ2lkICJjcmVhdGUgc2VtYXBob3JlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VtYXBob3JlIGlkOiAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPGlkPi4uLlxuIgorbXNnc3RyICIgJXMgW29wY2lqZV0gZGF0b3Rla2FcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTQKK21zZ2lkICJSZW1vdmUgY2VydGFpbiBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU3Cittc2dpZCAiIC1tLCAtLXNobWVtLWlkIDxpZD4gICAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkgaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OAorbXNnaWQgIiAtTSwgLS1zaG1lbS1rZXkgPGtleT4gICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGtleVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU5Cittc2dpZCAiIC1xLCAtLXF1ZXVlLWlkIDxpZD4gICAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjAKK21zZ2lkICIgLVEsIC0tcXVldWUta2V5IDxrZXk+ICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkga2V5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjEKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlLWlkIDxpZD4gICAgcmVtb3ZlIHNlbWFwaG9yZSBieSBpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYyCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGtleT4gIHJlbW92ZSBzZW1hcGhvcmUgYnkga2V5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjMKK21zZ2lkICIgLWEsIC0tYWxsWz1zaG18bXNnfHNlbV0gICAgcmVtb3ZlIGFsbCAoaW4gdGhlIHNwZWNpZmllZCBjYXRlZ29yeSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBpZCBgJWQnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3ZpbmcgbWVzc2FnZSBxdWV1ZSBpZCBgJWQnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3Zpbmcgc2VtYXBob3JlIGlkIGAlZCdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDggc3lzLXV0aWxzL2lwY3JtLmM6MjIyCittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGtleSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDgKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3IgaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExIHN5cy11dGlscy9pcGNybS5jOjIyOAorbXNnaWQgImludmFsaWQga2V5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMQorbXNnaWQgImludmFsaWQgaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0IHN5cy11dGlscy9pcGNybS5jOjIyNQorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBrZXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNyBzeXMtdXRpbHMvaXBjcm0uYzoyMzEKK21zZ2lkICJrZXkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNworbXNnaWQgImlkIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZDogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgInJlc291cmNlKHMpIGRlbGV0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBrZXkgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNTYKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjY5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI5MAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW3Jlc291cmNlLW9wdGlvbi4uLl0gW291dHB1dC1vcHRpb25dXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTYgc3lzLXV0aWxzL2xzaXBjLmM6MjgwCittc2dpZCAiU2hvdyBpbmZvcm1hdGlvbiBvbiBJUEMgZmFjaWxpdGllcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NCBzeXMtdXRpbHMvbHNpcGMuYzoyODMKK21zZ2lkICJSZXNvdXJjZSBvcHRpb25zOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUgc3lzLXV0aWxzL2xzaXBjLmM6Mjg0Cittc2dpZCAiIC1tLCAtLXNobWVtcyAgICAgIHNoYXJlZCBtZW1vcnkgc2VnbWVudHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY2IHN5cy11dGlscy9sc2lwYy5jOjI4NQorbXNnaWQgIiAtcSwgLS1xdWV1ZXMgICAgICBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Njcgc3lzLXV0aWxzL2xzaXBjLmM6Mjg2Cittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZXMgIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgIGFsbCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcxCisjLCBmdXp6eQorbXNnaWQgIk91dHB1dCBvcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiT3BjaWplOlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcyCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgIHNob3cgUElEcyBvZiBjcmVhdG9yIGFuZCBsYXN0IG9wZXJhdG9yXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NAorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NQorbXNnaWQgIiAtbCwgLS1saW1pdHMgICAgICBzaG93IHJlc291cmNlIGxpbWl0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKK21zZ2lkICIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzcKK21zZ2lkICIgICAgIC0taHVtYW4gICAgICAgc2hvdyBzaXplcyBpbiBodW1hbi1yZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc4Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgIHNob3cgc2l6ZXMgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjE2NAorbXNnaWQgIndoZW4gdXNpbmcgYW4gSUQsIGEgc2luZ2xlIHJlc291cmNlIG11c3QgYmUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzaGFyZWQgbWVtb3J5IGxpbWl0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2Ygc2VnbWVudHMgPSAlanVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwOQorIywgZnV6enkKK21zZ2lkICJtYXggc2VnIHNpemUiCittc2dzdHIgIm5laXNwcmF2bmEgdmVsacSNaW5hIGluZGVrc25vZyDEjXZvcmEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjExCittc2dpZCAibWF4IHRvdGFsIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTQKKyMsIGZ1enp5Cittc2dpZCAibWluIHNlZyBzaXplIgorbXNnc3RyICJuZWlzcHJhdm5hIHZlbGnEjWluYSBpbmRla3Nub2cgxI12b3JhIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIyNgorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzMAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhpcyBvdXRwdXQgZm9ybWF0IGlzIG1haW50YWluZWQgZm9yIGJhY2t3YXJkCisjLiBjb21wYXRpYmlsaXR5IGFzIGlwY3MgaXMgdXNlZCBpbiBzY3JpcHRzLiBGb3IgY29uc2lzdGVuY3kKKyMuIHdpdGggdGhlIHJlc3QsIHRoZSB0cmFuc2xhdGVkIGZvcm0gY2FuIGZvbGxvdyB0aGlzIG1vZGVsOgorIy4gKgorIy4gInNlZ21lbnRzIGFsbG9jYXRlZCA9ICVkXG4iCisjLiAicGFnZXMgYWxsb2NhdGVkID0gJWxkXG4iCisjLiAicGFnZXMgcmVzaWRlbnQgPSAlbGRcbiIKKyMuICJwYWdlcyBzd2FwcGVkID0gJWxkXG4iCisjLiAic3dhcCBwZXJmb3JtYW5jZSA9ICVsZCBhdHRlbXB0cywgJWxkIHN1Y2Nlc3Nlc1xuIgorIy4KKyM6IHN5cy11dGlscy9pcGNzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyJwYWdlcyBhbGxvY2F0ZWQgJWxkXG4iCisicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorInBhZ2VzIHN3YXBwZWQgICAlbGRcbiIKKyJTd2FwIHBlcmZvcm1hbmNlOiAlbGQgYXR0ZW1wdHNcdCAlbGQgc3VjY2Vzc2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI3NAorIzogc3lzLXV0aWxzL2lwY3MuYzoyODAKK21zZ2lkICJzaG1pZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjI4MCBzeXMtdXRpbHMvaXBjcy5jOjM4NgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo0ODkgc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJwZXJtcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgImN1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJjZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAidWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IEF0dGFjaC9EZXRhY2gvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyNzQgc3lzLXV0aWxzL2lwY3MuYzoyODAKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NDk1CisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMSBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgIm93bmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3Cittc2dpZCAiYXR0YWNoZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcKK21zZ2lkICJkZXRhY2hlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2OAorbXNnaWQgImNoYW5nZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQ3JlYXRvci9MYXN0LW9wIFBJRHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3NAorbXNnaWQgImNwaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzQKK21zZ2lkICJscGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnRzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJrZXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODEgc3lzLXV0aWxzL2lwY3MuYzo1MDgKK21zZ2lkICJzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgxIHN5cy11dGlscy9wcmxpbWl0LmM6NzUgc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OCBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIgc3lzLXV0aWxzL3BybGltaXQuYzo4NiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAiYnl0ZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODIKK21zZ2lkICJuYXR0Y2giCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODIKK21zZ2lkICJzdGF0dXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMDYgc3lzLXV0aWxzL2lwY3MuYzozMDggc3lzLXV0aWxzL2lwY3MuYzozMTAKKyM6IHN5cy11dGlscy9pcGNzLmM6NDI0IHN5cy11dGlscy9pcGNzLmM6NDI2IHN5cy11dGlscy9pcGNzLmM6NTMyCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUzNCBzeXMtdXRpbHMvaXBjcy5jOjUzNiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorIzogc3lzLXV0aWxzL2lwY3MuYzo1OTIgc3lzLXV0aWxzL2lwY3MuYzo2MjEgc3lzLXV0aWxzL2lwY3MuYzo2MjMKKyM6IHN5cy11dGlscy9pcGNzLmM6NjI1IHN5cy11dGlscy9pcGNzLmM6NjQ5Cittc2dpZCAiTm90IHNldCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMzNiBzeXMtdXRpbHMvbHNpcGMuYzo5NzYgc3lzLXV0aWxzL2xzaXBjLmM6OTgyCittc2dpZCAiZGVzdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMzNyBzeXMtdXRpbHMvbHNpcGMuYzo5Nzcgc3lzLXV0aWxzL2xzaXBjLmM6OTkwCittc2dpZCAibG9ja2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2VtYXBob3JlIGxpbWl0c1xuIgorbXNnc3RyICJuZWlzcHJhdmFuIGJyb2ogaW5kZWtzbmloIMSNdm9yb3ZhIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2YgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBwZXIgYXJyYXkgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggb3BzIHBlciBzZW1vcCBjYWxsID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJzZW1hcGhvcmUgbWF4IHZhbHVlID0gJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc4CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgc2VtYXBob3JlcyA9ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0MDEKK21zZ2lkICJzZW1pZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIE9wZXJhdGlvbi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorbXNnaWQgImxhc3Qtb3AiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIKK21zZ2lkICJsYXN0LWNoYW5nZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwMQorbXNnaWQgIm5zZW1zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggbWVzc2FnZSBsaW1pdHNcbiIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHF1ZXVlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjUKK21zZ2lkICJtYXggc2l6ZSBvZiBtZXNzYWdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY3Cittc2dpZCAiZGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDc5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBxdWV1ZXMgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgaGVhZGVycyA9ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODIKK21zZ2lkICJ1c2VkIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgzCittc2dpZCAiIGJ5dGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg5IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTAxCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgIm1zcWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBTZW5kL1JlY3YvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJzZW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAicmVjdiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImNoYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAibHNwaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJscnBpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwOAorbXNnaWQgInVzZWQtYnl0ZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDkKK21zZ2lkICJtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU3NCBzeXMtdXRpbHMvaXBjcy5jOjYwNCBzeXMtdXRpbHMvaXBjcy5jOjYzNworIzogc3lzLXV0aWxzL2xzaXBjLmM6NTM2IHN5cy11dGlscy9sc2lwYy5jOjcyMiBzeXMtdXRpbHMvbHNpcGMuYzo4NzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlkICVkIG5vdCBmb3VuZCIKK21zZ3N0ciAiJXM6IG5pamUgcHJvbmHEkWVuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU3OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkIG1lbW9yeSBTZWdtZW50IHNobWlkPSVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjb1x0YWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg0Cittc2dpZCAic2l6ZT0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODQKK21zZ2lkICJieXRlcz0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAibHBpZD0ldVx0Y3BpZD0ldVx0bmF0dGNoPSVqZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgImF0dF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MyBzeXMtdXRpbHMvaXBjcy5jOjYyNAorIywgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2VfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlIFF1ZXVlIG1zcWlkPSVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG1vZGU9JSNvXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTMKK21zZ2lkICJjc2l6ZT0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTMKK21zZ2lkICJjYnl0ZXM9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE1Cittc2dpZCAicXNpemU9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE1Cittc2dpZCAicWJ5dGVzPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJyY3ZfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgQXJyYXkgc2VtaWQ9JWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdCBnaWQ9JXVcdCBjdWlkPSV1XHQgY2dpZD0ldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvLCBhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibnNlbXMgPSAlanVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJvdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAic2VtbnVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAidmFsdWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJuY291bnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJ6Y291bnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJwaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjMwIHN5cy11dGlscy9pcGN1dGlscy5jOjIzNCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzgKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjI0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkIgorbXNnc3RyICIlcyBuaWplIHVzcGlvLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIChieXRlcykgPSAiCittc2dzdHIgIiVzIChkL24pPyAiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoa2J5dGVzKSA9ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxODAKK21zZ2lkICJpbnZhbGlkIGlmbGFnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxsZGlzYz4gPGRldmljZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxOTkKK21zZ2lkICJBdHRhY2ggYSBsaW5lIGRpc2NpcGxpbmUgdG8gYSBzZXJpYWwgbGluZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDIKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBtZXNzYWdlcyB0byBzdGRlcnJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDMKK21zZ2lkICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAgc2V0IHNlcmlhbCBsaW5lIHNwZWVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA0Cittc2dpZCAiIC1jLCAtLWludHJvLWNvbW1hbmQgPHN0cmluZz4gaW50cm8gc2VudCBiZWZvcmUgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDUKK21zZ2lkICIgLXAsIC0tcGF1c2UgPHNlY29uZHM+ICAgcGF1c2UgYmV0d2VlbiBpbnRybyBhbmQgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDYKK21zZ2lkICIgLTcsIC0tc2V2ZW5iaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDcgYml0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNworbXNnaWQgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gOCBiaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA4Cittc2dpZCAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIHNldCBwYXJpdHkgdG8gbm9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOQorbXNnaWQgIiAtZSwgLS1ldmVucGFyaXR5ICAgICAgICBzZXQgcGFyaXR5IHRvIGV2ZW5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTAKK21zZ2lkICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAgc2V0IHBhcml0eSB0byBvZGRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTEKK21zZ2lkICIgLTEsIC0tb25lc3RvcGJpdCAgICAgICAgc2V0IHN0b3AgYml0cyB0byBvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTIKK21zZ2lkICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAgc2V0IHN0b3AgYml0cyB0byB0d29cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTMKK21zZ2lkICIgLWksIC0taWZsYWcgWy1dPGlmbGFnPiAgc2V0IGlucHV0IG1vZGUgZmxhZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxOQorbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8bGRpc2M+IG5hbWVzOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIyMworbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8aWZsYWc+IG5hbWVzOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0MAorbXNnaWQgImludmFsaWQgc3BlZWQgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcGF1c2UgYXJndW1lbnQiCittc2dzdHIgIm5laXNwcmF2YW4gYXJndW1lbnQgZHVsamluZSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzU5Cittc2dpZCAiaW52YWxpZCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzcwCittc2dpZCAiaW52YWxpZCBsaW5lIGRpc2NpcGxpbmUgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHNlcmlhbCBsaW5lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5NworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVlZCAlZCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSBpbnRybyBjb21tYW5kIHRvICVzIgorbXNnc3RyICJuZSBtb2d1IMSNaXRhdGkgZGlyZWt0b3JpaiAlcyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDY5Cittc2dpZCAiY2Fubm90IHNldCBsaW5lIGRpc2NpcGxpbmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDc5Cittc2dpZCAiY2Fubm90IGRhZW1vbml6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY4Cittc2dpZCAiYXV0b2NsZWFyIGZsYWcgc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjkKK21zZ2lkICJkZXZpY2UgYmFja2luZyBmaWxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzAKK21zZ2lkICJiYWNraW5nIGZpbGUgaW5vZGUgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzEKK21zZ2lkICJiYWNraW5nIGZpbGUgbWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcyCittc2dpZCAibG9vcCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjczCittc2dpZCAib2Zmc2V0IGZyb20gdGhlIGJlZ2lubmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc0Cittc2dpZCAicGFydHNjYW4gZmxhZyBzZXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NgorbXNnaWQgInNpemUgbGltaXQgb2YgdGhlIGZpbGUgaW4gYnl0ZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NworbXNnaWQgImxvb3AgZGV2aWNlIG1ham9yOm1pbm9yIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4Cittc2dpZCAiYWNjZXNzIGJhY2tpbmcgZmlsZSB3aXRoIGRpcmVjdC1pbyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzNSBzeXMtdXRpbHMvbG9zZXR1cC5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICIsIG9mZnNldCAlanUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxMzggc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBzaXplbGltaXQgJWp1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZW5jcnlwdGlvbiAlcyAodHlwZSAldSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRldGFjaCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozMjkgc3lzLXV0aWxzL2xzY3B1LmM6MTczNSBzeXMtdXRpbHMvcHJsaW1pdC5jOjIyOQorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjE3NiBzeXMtdXRpbHMvd2RjdGwuYzoyMTUgc3lzLXV0aWxzL3pyYW1jdGwuYzo0MDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGxpbmUiCittc2dzdHIgIm5lIG1vZ3UgdnJhdGl0aSB1bmF0cmFnIHN3YXAtdXJlxJFhaiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSBbPGxvb3BkZXY+XVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxsb29wZGV2PiA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM4NgorbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCBsb29wIGRldmljZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODkKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkwCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kZXRhY2ggPGxvb3BkZXY+Li4uICAgICBkZXRhY2ggb25lIG9yIG1vcmUgZGV2aWNlc1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkxCisjLCBmdXp6eQorbXNnaWQgIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICBmaW5kIGZpcnN0IHVudXNlZCBkZXZpY2VcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MworbXNnaWQgIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICByZXNpemUgdGhlIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk0Cittc2dpZCAiIC1qLCAtLWFzc29jaWF0ZWQgPGZpbGU+ICAgICAgIGxpc3QgYWxsIGRldmljZXMgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk1CisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1ub292ZXJsYXAgICAgICAgICAgICAgICBhdm9pZCBwb3NzaWJsZSBjb25mbGljdCBiZXR3ZWVuIGRldmljZXNcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5OQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBzdGFydCBhdCBvZmZzZXQgPG51bT4gaW50byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDAKK21zZ2lkICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZGV2aWNlIGlzIGxpbWl0ZWQgdG8gPG51bT4gYnl0ZXMgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMQorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgY3JlYXRlIGEgcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0IHVwIGEgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDMKK21zZ2lkICIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAgb3BlbiBiYWNraW5nIGZpbGUgd2l0aCBPX0RJUkVDVFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA0Cittc2dpZCAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHByaW50IGRldmljZSBuYW1lIGFmdGVyIHNldHVwICh3aXRoIC1mKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA5CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBsaXN0IGluZm8gYWJvdXQgYWxsIG9yIHNwZWNpZmllZCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMAorbXNnaWQgIiAtTywgLS1vdXRwdXQgPGNvbHM+ICAgICAgICAgICBzcGVjaWZ5IGNvbHVtbnMgdG8gb3V0cHV0IGZvciAtLWxpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tbGlzdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1c2UgcmF3IC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMworIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE5Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSAtLWxpc3QgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBpcyBzbWFsbGVyIHRoYW4gNTEyIGJ5dGVzOyB0aGUgbG9vcCBkZXZpY2UgbWF5IGJlIHVzZWxlc3Mgb3IgaW52aXNpYmxlIGZvciBzeXN0ZW0gdG9vbHMuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGRvZXMgbm90IGZpdCBpbnRvIGEgNTEyLWJ5dGUgc2VjdG9yOyB0aGUgZW5kIG9mIHRoZSBmaWxlIHdpbGwgYmUgaWdub3JlZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NjQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MTYgc3lzLXV0aWxzL21vdW50LmM6NDU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIHJlYWQtb25seSBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGVuY3J5cHRlZCBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmUtdXNlIGxvb3AgZGV2aWNlIgorbXNnc3RyICJuZSBtb2d1IHZyYXRpdGkgdW5hdHJhZyBzd2FwLXVyZcSRYWoiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDk0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbnNwZWN0IGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAibmUgbW9ndSB2cmF0aXRpIHVuYXRyYWcgc3dhcC11cmXEkWFqIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjaGVjayBmb3IgY29uZmxpY3RpbmcgbG9vcCBkZXZpY2VzIgorbXNnc3RyICJuZSBtb2d1IHZyYXRpdGkgdW5hdHJhZyBzd2FwLXVyZcSRYWoiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTI5IHN5cy11dGlscy9sb3NldHVwLmM6ODI2CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmaW5kIGFuIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAibmUgbW9ndSB2cmF0aXRpIHVuYXRyYWcgc3dhcC11cmXEkWFqIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBiYWNraW5nIGZpbGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2MzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDEgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NTMKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzY3IHN5cy11dGlscy9sb3NldHVwLmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2NAorbXNnaWQgIm5vIGxvb3AgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3MgorbXNnaWQgIm5vIGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzc5CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBvcHRpb25zICVzIGFyZSBhbGxvd2VkIGR1cmluZyBsb29wIGRldmljZSBzZXR1cCBvbmx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzg0Cittc2dpZCAidGhlIG9wdGlvbiAtLW9mZnNldCBpcyBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBjYXBhY2l0eSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgZGlyZWN0IGlvIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGl6dnLFoWF2YW5qZSBuaWplIHVzcGplbG8iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjEwOAorbXNnaWQgIm5vbmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTA5Cittc2dpZCAicGFyYSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMTAKK21zZ2lkICJmdWxsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjExMQorbXNnaWQgImNvbnRhaW5lciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzMKK21zZ2lkICJob3Jpem9udGFsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NAorbXNnaWQgInZlcnRpY2FsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0NgorbXNnaWQgImxvZ2ljYWwgQ1BVIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDcKK21zZ2lkICJsb2dpY2FsIGNvcmUgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0OAorbXNnaWQgImxvZ2ljYWwgc29ja2V0IG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDkKK21zZ2lkICJsb2dpY2FsIE5VTUEgbm9kZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUwCittc2dpZCAibG9naWNhbCBib29rIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTEKK21zZ2lkICJsb2dpY2FsIGRyYXdlciBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUyCittc2dpZCAic2hvd3MgaG93IGNhY2hlcyBhcmUgc2hhcmVkIGJldHdlZW4gQ1BVcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTMKK21zZ2lkICJDUFUgZGlzcGF0Y2hpbmcgbW9kZSBvbiB2aXJ0dWFsIGhhcmR3YXJlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NAorbXNnaWQgInBoeXNpY2FsIGFkZHJlc3Mgb2YgYSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU1Cittc2dpZCAic2hvd3MgaWYgdGhlIGh5cGVydmlzb3IgaGFzIGFsbG9jYXRlZCB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NgorbXNnaWQgInNob3dzIGlmIExpbnV4IGN1cnJlbnRseSBtYWtlcyB1c2Ugb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTcKK21zZ2lkICJzaG93cyB0aGUgbWF4aW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTgKK21zZ2lkICJzaG93cyB0aGUgbWluaW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo1NTAKK21zZ2lkICJlcnJvcjogdW5hbWUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjYzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBudW1iZXIgb2YgQ1BVczogJXMiCittc2dzdHIgImlvY3RsIG5pamUgdXNwaW86IG5lIG1vZ3Ugb2RyZWRpdGkgdmVsacSNaW51IHVyZcSRYWphOiAlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6ODkxCittc2dpZCAiZXJyb3I6IGNhbiBub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjg5NgorbXNnaWQgImVycm9yOiBjYW4gbm90IHJlc3RvcmUgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBmcm9tOiAlcyIKK21zZ3N0ciAibmlzYW0gdXNwaW8gZG9kYXRpIHBhcnRpY2lqdSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQxMAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gZXh0cmFjdCB0aGUgbm9kZSBudW1iZXIiCittc2dzdHIgIm5pc2FtIHVzcGlvIG9icmFkaXRpIGJyb2ogaW5kZWtzbmloIMSNdm9yb3ZhIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTM3IHN5cy11dGlscy9sc2NwdS5jOjE1NDcKK21zZ2lkICJZIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1Mzcgc3lzLXV0aWxzL2xzY3B1LmM6MTU0NworbXNnaWQgIk4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTYzMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXJcbiIKKyIjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElEXG4iCisiIyBzdGFydGluZyBmcm9tIHplcm8uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc4MQorbXNnaWQgIkFyY2hpdGVjdHVyZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc5NQorbXNnaWQgIkNQVSBvcC1tb2RlKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzk4IHN5cy11dGlscy9sc2NwdS5jOjE4MDAKK21zZ2lkICJCeXRlIE9yZGVyOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODAyCittc2dpZCAiQ1BVKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA1Cittc2dpZCAiT24tbGluZSBDUFUocykgbWFzazoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwNgorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjUKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbWFzazoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNgorbXNnaWQgIk9mZi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODYyCittc2dpZCAiVGhyZWFkKHMpIHBlciBjb3JlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODY0Cittc2dpZCAiQ29yZShzKSBwZXIgc29ja2V0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODY3Cittc2dpZCAiU29ja2V0KHMpIHBlciBib29rOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODcwCittc2dpZCAiQm9vayhzKSBwZXIgZHJhd2VyOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODcyCittc2dpZCAiRHJhd2VyKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODc0Cittc2dpZCAiQm9vayhzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3NworbXNnaWQgIlNvY2tldChzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MQorbXNnaWQgIk5VTUEgbm9kZShzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MworbXNnaWQgIlZlbmRvciBJRDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4NQorIywgZnV6enkKK21zZ2lkICJNYWNoaW5lIHR5cGU6IgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODcKK21zZ2lkICJDUFUgZmFtaWx5OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg5Cittc2dpZCAiTW9kZWw6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTEKK21zZ2lkICJNb2RlbCBuYW1lOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODkzCittc2dpZCAiU3RlcHBpbmc6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTUKK21zZ2lkICJDUFUgTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk3Cittc2dpZCAiQ1BVIGR5bmFtaWMgTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk5Cittc2dpZCAiQ1BVIHN0YXRpYyBNSHo6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDEKK21zZ2lkICJDUFUgbWF4IE1IejoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMworbXNnaWQgIkNQVSBtaW4gTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA1Cittc2dpZCAiQm9nb01JUFM6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDggc3lzLXV0aWxzL2xzY3B1LmM6MTkxMAorbXNnaWQgIlZpcnR1YWxpemF0aW9uOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEzCittc2dpZCAiSHlwZXJ2aXNvcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxNQorbXNnaWQgIkh5cGVydmlzb3IgdmVuZG9yOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE2Cittc2dpZCAiVmlydHVhbGl6YXRpb24gdHlwZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxOQorbXNnaWQgIkRpc3BhdGNoaW5nIG1vZGU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MjUgc3lzLXV0aWxzL2xzY3B1LmM6MTkzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjYWNoZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0MQorIywgYy1mb3JtYXQKK21zZ2lkICJOVU1BIG5vZGUlZCBDUFUocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NDYKK21zZ2lkICJGbGFnczoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0OQorbXNnaWQgIlBoeXNpY2FsIHNvY2tldHM6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NTAKK21zZ2lkICJQaHlzaWNhbCBjaGlwczoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk1MQorbXNnaWQgIlBoeXNpY2FsIGNvcmVzL2NoaXA6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjMKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBDUFUgYXJjaGl0ZWN0dXJlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjYKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgcHJpbnQgYm90aCBvbmxpbmUgYW5kIG9mZmxpbmUgQ1BVcyAoZGVmYXVsdCBmb3IgLWUpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2NworbXNnaWQgIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBwcmludCBvbmxpbmUgQ1BVcyBvbmx5IChkZWZhdWx0IGZvciAtcClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY4Cittc2dpZCAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2OQorbXNnaWQgIiAtZSwgLS1leHRlbmRlZFs9PGxpc3Q+XSBwcmludCBvdXQgYW4gZXh0ZW5kZWQgcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MAorbXNnaWQgIiAtcCwgLS1wYXJzZVs9PGxpc3Q+XSAgICBwcmludCBvdXQgYSBwYXJzYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcxCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHVzZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MgorbXNnaWQgIiAteCwgLS1oZXggICAgICAgICAgICAgICBwcmludCBoZXhhZGVjaW1hbCBtYXNrcyByYXRoZXIgdGhhbiBsaXN0cyBvZiBDUFVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MworbXNnaWQgIiAteSwgLS1waHlzaWNhbCAgICAgICAgICBwcmludCBwaHlzaWNhbCBpbnN0ZWFkIG9mIGxvZ2ljYWwgSURzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3B0aW9ucyAtLWFsbCwgLS1vbmxpbmUgYW5kIC0tb2ZmbGluZSBtYXkgb25seSBiZSB1c2VkIHdpdGggb3B0aW9ucyAtLWV4dGVuZGVkIG9yIC0tcGFyc2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5Cittc2dpZCAiUmVzb3VyY2Uga2V5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorbXNnaWQgIktleSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJSZXNvdXJjZSBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKK21zZ2lkICJPd25lcidzIHVzZXJuYW1lIG9yIFVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKK21zZ2lkICJPd25lciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTIKK21zZ2lkICJQZXJtaXNzaW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTMKK21zZ2lkICJDcmVhdG9yIFVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTQKK21zZ2lkICJDcmVhdG9yIHVzZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU1Cittc2dpZCAiQ3JlYXRvciBHSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU2Cittc2dpZCAiQ3JlYXRvciBncm91cCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKK21zZ2lkICJVc2VyIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworbXNnaWQgIlVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTgKK21zZ2lkICJVc2VyIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR3JvdXAgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR0lEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MAorbXNnaWQgIkdyb3VwIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBjaGFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCittc2dpZCAiTGFzdCBjaGFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY0Cittc2dpZCAiQnl0ZXMgdXNlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1Cittc2dpZCAiTWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyBzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIk1zZyBzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgcmVjZWl2ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiTXNnIHJlY2VpdmVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgc2VuZGVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIk1zZyBzZW5kZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyByZWNlaXZlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJNc2cgcmVjZWl2ZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTcyCisjLCBmdXp6eQorbXNnaWQgIlNlZ21lbnQgc2l6ZSIKK21zZ3N0ciAib3RrcmlqIHZlbGnEjWludSBibG9rYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCittc2dpZCAiTnVtYmVyIG9mIGF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJBdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc0Cittc2dpZCAiU3RhdHVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NQorbXNnaWQgIkF0dGFjaCB0aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NgorbXNnaWQgIkRldGFjaCB0aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworbXNnaWQgIkNyZWF0b3IgY29tbWFuZCBsaW5lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworbXNnaWQgIkNyZWF0b3IgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJQSUQgb2YgdGhlIGNyZWF0b3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiQ3JlYXRvciBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiUElEIG9mIGxhc3QgdXNlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJMYXN0IHVzZXIgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIlNlbWFwaG9yZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBvcGVyYXRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCittc2dpZCAiTGFzdCBvcGVyYXRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2Cittc2dpZCAiUmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKK21zZ2lkICJSZXNvdXJjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJSZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJEZXNjcmlwdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJDdXJyZW50bHkgdXNlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJVc2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorbXNnaWQgIkN1cnJlbnRseSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiVXNlIgorbXNnc3RyICJVcG9yYWJhOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJTeXN0ZW0td2lkZSBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJMaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29sdW1uICVzIGRvZXMgbm90IGFwcGx5IHRvIHRoZSBzcGVjaWZpZWQgSVBDIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4NworbXNnaWQgIiAtZywgLS1nbG9iYWwgICAgICBpbmZvIGFib3V0IHN5c3RlbS13aWRlIHVzYWdlIChtYXkgYmUgdXNlZCB3aXRoIC1tLCAtcSBhbmQgLXMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg4Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gICAgIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk0CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTcKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICB1c2UgdGhlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk5CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yY2UgbGlzdCBvdXRwdXQgZm9ybWF0IChmb3IgZXhhbXBsZSB3aXRoIC0taWQpXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDEKK21zZ2lkICIgLVAsIC0tbnVtZXJpYy1wZXJtcyAgICAgIHByaW50IG51bWVyaWMgcGVybWlzc2lvbnMgKFBFUk1TIGNvbHVtbilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDMKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkdlbmVyaWMgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZC1tZW1vcnkgY29sdW1ucyAoLS1zaG1lbXMpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZS1xdWV1ZSBjb2x1bW5zICgtLXF1ZXVlcyk6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgY29sdW1ucyAoLS1zZW1hcGhvcmVzKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlN1bW1hcnkgY29sdW1ucyAoLS1nbG9iYWwpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjQxMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRWxlbWVudHM6XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA1CisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmUgaWRlbnRpZmllcnMiCittc2dzdHIgIm5laXNwcmF2YW4gYnJvaiBpbmRla3NuaWggxI12b3JvdmEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwNgorIywgZnV6enkKK21zZ2lkICJUb3RhbCBudW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAibmVpc3ByYXZhbiBicm9qIGluZGVrc25paCDEjXZvcm92YSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA3Cittc2dpZCAiTWF4IHNlbWFwaG9yZXMgcGVyIHNlbWFwaG9yZSBzZXQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwOAorbXNnaWQgIk1heCBudW1iZXIgb2Ygb3BlcmF0aW9ucyBwZXIgc2Vtb3AoMikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA5Cittc2dpZCAiU2VtYXBob3JlIG1heCB2YWx1ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjMKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODY0CisjLCBmdXp6eQorbXNnaWQgIk1heCBzaXplIG9mIG1lc3NhZ2UgKGJ5dGVzKSIKK21zZ3N0ciAib3RrcmlqIHZlbGnEjWludSB1IGJhanRvdmltYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODY1Cittc2dpZCAiRGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSAoYnl0ZXMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk3OCBzeXMtdXRpbHMvbHNpcGMuYzo5OTcKK21zZ2lkICJodWdldGxiIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk3OSBzeXMtdXRpbHMvbHNpcGMuYzoxMDA0Cittc2dpZCAibm9yZXNlcnZlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjEKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjIKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHBhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjMKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIm90a3JpaiB2ZWxpxI1pbnUgdSBiYWp0b3ZpbWEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjQKKyMsIGZ1enp5Cittc2dpZCAiTWluIHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIm90a3JpaiB2ZWxpxI1pbnUgdSBiYWp0b3ZpbWEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjExMzUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElQQyBpZGVudGlmaWVyIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEyMjkKK21zZ2lkICItLWdsb2JhbCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWNyZWF0b3IsIC0taWQgYW5kIC0tdGltZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjgzCittc2dpZCAibmFtZXNwYWNlIGlkZW50aWZpZXIgKGlub2RlIG51bWJlcikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NAorbXNnaWQgImtpbmQgb2YgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODUKK21zZ2lkICJwYXRoIHRvIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NgorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg3Cittc2dpZCAibG93ZXN0IFBJRCBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODgKK21zZ2lkICJQUElEIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OQorbXNnaWQgImNvbW1hbmQgbGluZSBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTAKK21zZ2lkICJVSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkxCittc2dpZCAidXNlcm5hbWUgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG5hbWVzcGFjZT5dXG4iCittc2dzdHIgIiAlcyBbb3BjaWplXSA8dXJlxJFhaj5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo2MTYKK21zZ2lkICJMaXN0IHN5c3RlbSBuYW1lc3BhY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjIzCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS10YXNrIDxwaWQ+ICAgICAgIHByaW50IHByb2Nlc3MgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjI2Cittc2dpZCAiIC10LCAtLXR5cGUgPG5hbWU+ICAgICAgbmFtZXNwYWNlIHR5cGUgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzLCBjZ3JvdXApXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbmFtZXNwYWNlIHR5cGU6ICVzIgorbXNnc3RyICJOZXBvem5hdGEgbmFyZWRiYTogJXMiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzM1Cittc2dpZCAiLS10YXNrIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxuYW1lc3BhY2U+IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzM2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbmFtZXNwYWNlIGFyZ3VtZW50IgorbXNnc3RyICJuZWlzcHJhdmFuIGFyZ3VtZW50IGR1bGppbmUiCisKKyM6IHN5cy11dGlscy9sc25zLmM6Nzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBmb3VuZCBuYW1lc3BhY2U6ICVqdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NiBzeXMtdXRpbHMvdW1vdW50LmM6MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njkgc3lzLXV0aWxzL3Vtb3VudC5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjczIHN5cy11dGlscy91bW91bnQuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0IHN5cy11dGlscy91bW91bnQuYzoxMjUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6ODUgc3lzLXV0aWxzL3Vtb3VudC5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgKGxpYm1vdW50ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEzMAorbXNnaWQgImZhaWxlZCB0byByZWFkIG10YWIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkyIHN5cy11dGlscy91bW91bnQuYzoyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGFscmVhZHkgbW91bnRlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI0OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW92ZWQgdG8gJXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBib3VuZCBvbiAlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTQgc3lzLXV0aWxzL21vdW50LmM6MjU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW91bnRlZCBvbiAlcy5cbiIKK21zZ3N0ciAiJXMgamUgbW9udGlyYW5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBwcm9wYWdhdGlvbiBmbGFncyBjaGFuZ2VkLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjMxMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibW91bnQ6ICVzIGRvZXMgbm90IGNvbnRhaW4gU0VMaW51eCBsYWJlbHMuXG4iCisiICAgICAgIFlvdSBqdXN0IG1vdW50ZWQgYW4gZmlsZSBzeXN0ZW0gdGhhdCBzdXBwb3J0cyBsYWJlbHMgd2hpY2ggZG9lcyBub3RcbiIKKyIgICAgICAgY29udGFpbiBsYWJlbHMsIG9udG8gYW4gU0VMaW51eCBib3guIEl0IGlzIGxpa2VseSB0aGF0IGNvbmZpbmVkXG4iCisiICAgICAgIGFwcGxpY2F0aW9ucyB3aWxsIGdlbmVyYXRlIEFWQyBtZXNzYWdlcyBhbmQgbm90IGJlIGFsbG93ZWQgYWNjZXNzIHRvXG4iCisiICAgICAgIHRoaXMgZmlsZSBzeXN0ZW0uICBGb3IgbW9yZSBkZXRhaWxzIHNlZSByZXN0b3JlY29uKDgpIGFuZCBtb3VudCg4KS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozNzgKK21zZ2lkICJXQVJOSU5HOiBmYWlsZWQgdG8gYXBwbHkgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgdXNlZCBhcyByZWFkIG9ubHkgbG9vcCwgbW91bnRpbmcgcmVhZC1vbmx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kICVzIGluICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyMworIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50cG9pbnQgJXMgaW4gJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDI2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgc291cmNlICVzIGluICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXM6IG1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQuIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sXG4iCisiICAgICAgIHVzZSAtdCA8dHlwZT4gdG8gZXhwbGljaXRseSBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUgb3JcbiIKKyIgICAgICAgdXNlIHdpcGVmcyg4KSB0byBjbGVhbiB1cCB0aGUgZGV2aWNlLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzYKK21zZ2lkICJJIGNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGZpbGVzeXN0ZW0gdHlwZSwgYW5kIG5vbmUgd2FzIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzkKK21zZ2lkICJ5b3UgbXVzdCBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ3Cittc2dpZCAibW91bnQgc291cmNlIG5vdCBkZWZpbmVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1MSBzeXMtdXRpbHMvbW91bnQuYzo0NTMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZpbGVzeXN0ZW0gbW91bnRlZCwgYnV0IG1vdW50KDgpIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0ODkgc3lzLXV0aWxzL21vdW50LmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50ICVzIGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0OTMKK21zZ2lkICJtdXN0IGJlIHN1cGVydXNlciB0byB1c2UgbW91bnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGJ1c3kiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCBvciAlcyBidXN5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUxNworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50ICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBpcyBhIHN5bWJvbGljIGxpbmsgdG8gbm93aGVyZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTM2IHN5cy11dGlscy9tb3VudC5jOjUzOCBzeXMtdXRpbHMvbW91bnQuYzo1NDAKKyM6IHN5cy11dGlscy9tb3VudC5jOjU1NQorbXNnaWQgIm1vdW50KDIpIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IG1vdW50ZWQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50cG9pbnQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjUKK21zZ2lkICIiCisiYmFkIG9wdGlvbi4gTm90ZSB0aGF0IG1vdmluZyBhIG1vdW50IHJlc2lkaW5nIHVuZGVyIGEgc2hhcmVkXG4iCisiICAgICAgIG1vdW50IGlzIHVuc3VwcG9ydGVkLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIndyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLFxuIgorIiAgICAgICBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgICAoZm9yIHNldmVyYWwgZmlsZXN5c3RlbXMgKGUuZy4gbmZzLCBjaWZzKSB5b3UgbWlnaHRcbiIKKyIgICAgICAgbmVlZCBhIC9zYmluL21vdW50Ljx0eXBlPiBoZWxwZXIgcHJvZ3JhbSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiAgICAgICBJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGlzIGZvdW5kIGluIHN5c2xvZyAtIHRyeVxuIgorIiAgICAgICBkbWVzZyB8IHRhaWwgb3Igc28uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTgzCittc2dpZCAibW91bnQgdGFibGUgZnVsbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IHJlYWQgc3VwZXJibG9jayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1OTQKKyMsIGZ1enp5Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIiVzOiBwcmVza2HEjWVtIG5lcG96bmF0dSB2cnN0dSBkYXRvdGXEjW5vZyBzdXN0YXZhXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UsIGFuZCBzdGF0KDIpIGZhaWxzPyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInRoZSBrZXJuZWwgZG9lcyBub3QgcmVjb2duaXplICVzIGFzIGEgYmxvY2sgZGV2aWNlXG4iCisiICAgICAgIChtYXliZSBgbW9kcHJvYmUgZHJpdmVyJz8pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UgKG1heWJlIHRyeSBgLW8gbG9vcCc/KSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQgJXMgcmVhZC1vbmx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IGAtdycgZmxhZyBnaXZlbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlbW91bnQgJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYzMSBzeXMtdXRpbHMvbW91bnQuYzo2NTQgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxODgKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgb24gJXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50aW5nIHJlYWQtb25seSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbWVkaXVtIGZvdW5kIG9uICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3B0aW9uIGZvcm1hdDogJXMiCittc2dzdHIgIm5lcG9kcsW+YW5lIG1vZ3XEh25vc3RpIGRhdG90ZcSNbm9nIHN1c3RhdmEiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFwcGVuZCBvcHRpb24gJyVzJyIKK21zZ3N0ciAibmlzYW0gdXNwaW8gZG9kYXRpIHBhcnRpY2lqdSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWxoVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlXSA8c291cmNlPiB8IFstLXRhcmdldF0gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyA8b3BlcmF0aW9uPiA8bW91bnRwb2ludD4gWzx0YXJnZXQ+XVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0NAorIywgZnV6enkKK21zZ2lkICJNb3VudCBhIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlByb3ZqZXJhdmFtIHN2ZSBkYXRvdGXEjW5lIHN1c3RhdmUuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIG1vdW50IGFsbCBmaWxlc3lzdGVtcyBtZW50aW9uZWQgaW4gZnN0YWJcbiIKKyIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCisiIC1mLCAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIG1vdW50KDIpIHN5c2NhbGxcbiIKKyIgLUYsIC0tZm9yayAgICAgICAgICAgICAgZm9yayBvZmYgZm9yIGVhY2ggZGV2aWNlICh1c2Ugd2l0aCAtYSlcbiIKKyIgLVQsIC0tZnN0YWIgPHBhdGg+ICAgICAgYWx0ZXJuYXRpdmUgZmlsZSB0byAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSBtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIHNob3cgYWxzbyBmaWxlc3lzdGVtIGxhYmVsc1xuIgorbXNnc3RyICIgLWwgIGlzcGnFoWkgc3ZlIGRhdG90ZWtlXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1OCBzeXMtdXRpbHMvdW1vdW50LmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIGRvbid0IHdyaXRlIHRvIC9ldGMvbXRhYlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc2MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIG1vdW50IG9wdGlvbnNcbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtb25seSAoc2FtZSBhcyAtbyBybylcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tc291cmNlIDxzcmM+ICAgICAgZXhwbGljaXRseSBzcGVjaWZpZXMgc291cmNlIChwYXRoLCBsYWJlbCwgdXVpZClcbiIKKyIgICAgIC0tdGFyZ2V0IDx0YXJnZXQ+ICAgZXhwbGljaXRseSBzcGVjaWZpZXMgbW91bnRwb2ludFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc2OCBzeXMtdXRpbHMvdW1vdW50LmM6OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHNheSB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtd3JpdGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTb3VyY2U6XG4iCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc5MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3BlcmF0aW9uczpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIHNvbWV3aGVyZSBlbHNlIChzYW1lIGFzIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG1vdmUgYSBzdWJ0cmVlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjgwMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4ODcgc3lzLXV0aWxzL3Vtb3VudC5jOjU0OAorbXNnaWQgImxpYm1vdW50IGNvbnRleHQgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6OTQ0IHN5cy11dGlscy91bW91bnQuYzo2MDEKK21zZ2lkICJmYWlsZWQgdG8gc2V0IG9wdGlvbnMgcGF0dGVybiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMDk3Cittc2dpZCAic291cmNlIHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1xZF0gL3BhdGgvdG8vZGlyZWN0b3J5XG4iCisiICUxJHMgLXggL2Rldi9kZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEyMgorbXNnaWQgIkNoZWNrIHdoZXRoZXIgYSBkaXJlY3Rvcnkgb3IgZmlsZSBpcyBhIG1vdW50cG9pbnQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjUKK21zZ2lkICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICBxdWlldCBtb2RlIC0gZG9uJ3QgcHJpbnQgYW55dGhpbmdcbiIKKyIgLWQsIC0tZnMtZGV2bm8gICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgZmlsZXN5c3RlbVxuIgorIiAteCwgLS1kZXZubyAgICAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBibG9jayBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjE5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoyMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkzIHN5cy11dGlscy91bnNoYXJlLmM6MjQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1cbiIKK21zZ3N0ciAiICVzIFtvcGNpamVdIGRhdG90ZWthXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzYKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggbmFtZXNwYWNlcyBvZiBvdGhlciBwcm9jZXNzZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3OQorbXNnaWQgIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgIHRhcmdldCBwcm9jZXNzIHRvIGdldCBuYW1lc3BhY2VzIGZyb21cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgwCittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgZW50ZXIgbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MQorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgIGVudGVyIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgyCittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgZW50ZXIgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgZW50ZXIgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg0Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgZW50ZXIgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODUKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgZW50ZXIgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODYKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgZW50ZXIgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg3CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZXR1aWQgPHVpZD4gICAgIHNldCB1aWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg4CisjLCBmdXp6eQorbXNnaWQgIiAtRywgLS1zZXRnaWQgPGdpZD4gICAgIHNldCBnaWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg5Cittc2dpZCAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzIGRvIG5vdCB0b3VjaCB1aWRzIG9yIGdpZHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkwCittc2dpZCAiIC1yLCAtLXJvb3RbPTxkaXI+XSAgICAgc2V0IHRoZSByb290IGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTEKK21zZ2lkICIgLXcsIC0td2RbPTxkaXI+XSAgICAgICBzZXQgdGhlIHdvcmtpbmcgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MgorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgIGRvIG5vdCBmb3JrIGJlZm9yZSBleGVjJ2luZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjk0Cittc2dpZCAiIC1aLCAtLWZvbGxvdy1jb250ZXh0ICAgc2V0IFNFTGludXggY29udGV4dCBhY2NvcmRpbmcgdG8gLS10YXJnZXQgUElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAibmVpdGhlciBmaWxlbmFtZSBub3IgdGFyZ2V0IHBpZCBzdXBwbGllZCBmb3IgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoyNzcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHVpZCIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjI4MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZ2lkIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzE3Cittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tZm9sbG93LWNvbnRleHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgJWQgU0VMaW51eCBjb250ZXh0IgorbXNnc3RyICJuaXNhbSB1c3BpbyBhbG9jaXJhdGkgaXRlcmF0b3IiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGV4ZWMgY29udGV4dCB0byAnJXMnIgorbXNnc3RyICJuaXNhbSB1c3BpbyBwb3N0YXZpdGkgb3BpcyB6YSAlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhc3NvY2lhdGUgdG8gbmFtZXNwYWNlICclcycgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzkwCittc2dpZCAiY2Fubm90IG9wZW4gY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM5NworbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgcm9vdCBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDAwCisjLCBmdXp6eQorbXNnaWQgImNocm9vdCBmYWlsZWQiCittc2dzdHIgImNob3duIG5pamUgdXNwaW86ICVzIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQxMAorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgd29ya2luZyBkaXJlY3RvcnkgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQyMSBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxNSBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxOQorIywgZnV6enkKK21zZ2lkICJzZXRncm91cHMgZmFpbGVkIgorbXNnc3RyICJzdGF0IG5pamUgdXNwaW8gJXMiCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBuZXdfcm9vdCBwdXRfb2xkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozNworIywgZnV6enkKK21zZ2lkICJDaGFuZ2UgdGhlIHJvb3QgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiUHJvdmplcmF2YW0gc3ZlIGRhdG90ZcSNbmUgc3VzdGF2ZS5cbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QgZnJvbSBgJXMnIHRvIGAlcyciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NQorbXNnaWQgImFkZHJlc3Mgc3BhY2UgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NgorbXNnaWQgIm1heCBjb3JlIGZpbGUgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAiQ1BVIHRpbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworbXNnaWQgInNlY29uZHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OAorbXNnaWQgIm1heCBkYXRhIHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OQorbXNnaWQgIm1heCBmaWxlIHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZmlsZSBsb2NrcyBoZWxkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKKyMsIGZ1enp5Cittc2dpZCAibG9ja3MiCittc2dzdHIgIkJsb2tvdmk6ICVsbGRcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MQorbXNnaWQgIm1heCBsb2NrZWQtaW4tbWVtb3J5IGFkZHJlc3Mgc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MgorbXNnaWQgIm1heCBieXRlcyBpbiBQT1NJWCBtcXVldWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODMKK21zZ2lkICJtYXggbmljZSBwcmlvIGFsbG93ZWQgdG8gcmFpc2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorbXNnaWQgIm1heCBudW1iZXIgb2Ygb3BlbiBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0CisjLCBmdXp6eQorbXNnaWQgImZpbGVzIgorbXNnc3RyICJvcGVuIG5pamUgdXNwaW86ICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1Cittc2dpZCAibWF4IG51bWJlciBvZiBwcm9jZXNzZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorIywgZnV6enkKK21zZ2lkICJwcm9jZXNzZXMiCittc2dzdHIgIm5lIG1vZ3Ugb3R2b3JpdGkgJXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODYKK21zZ2lkICJtYXggcmVzaWRlbnQgc2V0IHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NworbXNnaWQgIm1heCByZWFsLXRpbWUgcHJpb3JpdHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgInRpbWVvdXQgZm9yIHJlYWwtdGltZSB0YXNrcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAibWljcm9zZWNzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJtYXggbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAic2lnbmFscyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAibWF4IHN0YWNrIHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjMKK21zZ2lkICJyZXNvdXJjZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI0Cittc2dpZCAicmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjUKK21zZ2lkICJzb2Z0IGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI2Cittc2dpZCAiaGFyZCBsaW1pdCAoY2VpbGluZykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjcKK21zZ2lkICJ1bml0cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstcCBQSURdXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBDT01NQU5EXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjYKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVzb3VyY2UgbGltaXRzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmFsIE9wdGlvbnM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjkKK21zZ2lkICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG91dHB1dFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3NworbXNnaWQgIiIKKyJcbiIKKyJSZXNvdXJjZXMgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OAorbXNnaWQgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgY29yZSBmaWxlcyBjcmVhdGVkXG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcydzIGRhdGEgc2VnbWVudFxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIG1heGltdW0gbmljZSBwcmlvcml0eSBhbGxvd2VkIHRvIHJhaXNlXG4iCisiIC1mLCAtLWZzaXplICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlIHByb2Nlc3NcbiIKKyIgLWksIC0tc2lncGVuZGluZyAgICAgICBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHNcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICBtYXhpbXVtIHNpemUgYSBwcm9jZXNzIG1heSBsb2NrIGludG8gbWVtb3J5XG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZVxuIgorIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIG9wZW4gZmlsZXNcbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBtYXhpbXVtIGJ5dGVzIGluIFBPU0lYIG1lc3NhZ2UgcXVldWVzXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eVxuIgorIiAtcywgLS1zdGFjayAgICAgICAgICAgIG1heGltdW0gc3RhY2sgc2l6ZVxuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIG1heGltdW0gYW1vdW50IG9mIENQVSB0aW1lIGluIHNlY29uZHNcbiIKKyIgLXUsIC0tbnByb2MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiB1c2VyIHByb2Nlc3Nlc1xuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIHNpemUgb2YgdmlydHVhbCBtZW1vcnlcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBmaWxlIGxvY2tzXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAgQ1BVIHRpbWUgaW4gbWljcm9zZWNvbmRzIGEgcHJvY2VzcyBzY2hlZHVsZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1bmRlciByZWFsLXRpbWUgc2NoZWR1bGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MjQzIHN5cy11dGlscy9wcmxpbWl0LmM6MjQ5IHN5cy11dGlscy9wcmxpbWl0LmM6MzY2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3MQorbXNnaWQgInVubGltaXRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjMzMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IG9sZCAlcyBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM1NgorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgc29mdCBsaW1pdCAlcyBjYW5ub3QgZXhjZWVkIHRoZSBoYXJkIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5ldyAlcyBsaW1pdCBmb3IgcGlkICVkOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NTg1Cittc2dpZCAib3B0aW9uIC0tcGlkIG1heSBiZSBzcGVjaWZpZWQgb25seSBvbmNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NjE2Cittc2dpZCAib3B0aW9ucyAtLXBpZCBhbmQgQ09NTUFORCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNworbXNnaWQgIkRpc3BsYXkga2VybmVsIHByb2ZpbGluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1tLCAtLW1hcGZpbGUgPG1hcGZpbGU+ICAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIlc1wiKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICIgLXAsIC0tcHJvZmlsZSA8cHJvLWZpbGU+ICAoZGVmYXVsdDogIFwiJXNcIilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTYKK21zZ2lkICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNworbXNnaWQgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIHByaW50IG9ubHkgaW5mbyBhYm91dCB0aGUgc2FtcGxpbmcgc3RlcFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIHByaW50IGFsbCBzeW1ib2xzLCBldmVuIGlmIGNvdW50IGlzIDBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjAKK21zZ2lkICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIxCittc2dpZCAiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIyCittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMworbXNnaWQgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciB3cml0aW5nICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI3MQorbXNnaWQgIkFzc3VtaW5nIHJldmVyc2VkIGJ5dGUgb3JkZXIuIFVzZSAtbiB0byBmb3JjZSBuYXRpdmUgYnl0ZSBvcmRlci4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNhbXBsaW5nX3N0ZXA6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzAyIHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMyMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyglaSk6IHdyb25nIG1hcCBsaW5lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIFwiX3N0ZXh0XCIgaW4gJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzQ2Cittc2dpZCAicHJvZmlsZSBhZGRyZXNzIG91dCBvZiByYW5nZS4gV3JvbmcgbWFwIGZpbGU/IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjQwNAorbXNnaWQgInRvdGFsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MgorbXNnaWQgInByb2Nlc3MgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUzCittc2dpZCAicHJvY2VzcyBncm91cCBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiBbLXB8LS1waWRdIDxwaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtZ3wtLXBncnAgPHBnaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtdXwtLXVzZXIgPHVzZXI+Li4uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjY3Cittc2dpZCAiQWx0ZXIgdGhlIHByaW9yaXR5IG9mIHJ1bm5pbmcgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MQorbXNnaWQgIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MgorbXNnaWQgIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIGdyb3VwIElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjczCittc2dpZCAiIC11LCAtLXVzZXIgPG5hbWU+fDxpZD4gaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHVzZXJuYW1lIG9yIHVzZXIgSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkICglcykgb2xkIHByaW9yaXR5ICVkLCBuZXcgcHJpb3JpdHkgJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTc2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdXNlciAlcyIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIG9uZSBvZiB0aGUgYWJvdmUKKyMuICogdGhyZWUgSUQgbmFtZXMuIFJlYWQ6ICJiYWQgdmFsdWUgZm9yICVzOiAlcyIKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCAlcyB2YWx1ZTogJXMiCittc2dzdHIgIsSNaXRhbmplIG5pamUgdXNwamVsbzogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6OTgKK21zZ2lkICJFbnRlciBhIHN5c3RlbSBzbGVlcCBzdGF0ZSB1bnRpbCBhIHNwZWNpZmllZCB3YWtldXAgdGltZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMQorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgcmVhZHMgdGhlIGNsb2NrIG1vZGUgZnJvbSBhZGp1c3QgZmlsZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDUKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZXN0YW1wPiAgIGRhdGUgdGltZSBvZiB0aW1lc3RhbXAgdG8gd2FrZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA2Cittc2dpZCAiIC1kLCAtLWRldmljZSA8ZGV2aWNlPiAgICBzZWxlY3QgcnRjIGRldmljZSAocnRjMHxydGMxfC4uLilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNworbXNnaWQgIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgZG9lcyBldmVyeXRoaW5nLCBidXQgc3VzcGVuZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA4Cittc2dpZCAiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICBSVEMgdXNlcyBsb2NhbCB0aW1lem9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA5Cittc2dpZCAiICAgICAtLWxpc3QtbW9kZXMgICAgICAgICBsaXN0IGF2YWlsYWJsZSBtb2Rlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEwCittc2dpZCAiIC1tLCAtLW1vZGUgPG1vZGU+ICAgICAgICBzdGFuZGJ5fG1lbXwuLi4gc2xlZXAgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTExCittc2dpZCAiIC1zLCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTIKK21zZ2lkICIgLXQsIC0tdGltZSA8dGltZV90PiAgICAgIHRpbWUgdG8gd2FrZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEzCittc2dpZCAiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBSVEMgdXNlcyBVVENcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtZXNzYWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTY3Cittc2dpZCAicmVhZCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNzMKK21zZ2lkICJyZWFkIHN5c3RlbSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE4OQorbXNnaWQgImNvbnZlcnQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MjM3Cittc2dpZCAic2V0IHJ0YyB3YWtlIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHRoaXJkIGxpbmUgaW46ICVzOiAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMyMCBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyNAorbXNnaWQgInJlYWQgcnRjIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb2ZmXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMzgKK21zZ2lkICJjb252ZXJ0IHRpbWUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvbiAgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkOiAlcyIKK21zZ3N0ciAibmUgbW9ndSDEjWl0YXRpIGRpcmVrdG9yaWogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDY3CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdXNwZW5kIHN0YXRlICclcyciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0NzUKK21zZ2lkICJpbnZhbGlkIHNlY29uZHMgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0NzkKK21zZ2lkICJpbnZhbGlkIHRpbWUgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxMQorbXNnaWQgIlVzaW5nIFVUQyB0aW1lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTEyCittc2dpZCAiVXNpbmcgbG9jYWwgdGltZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxNQorbXNnaWQgIm11c3QgcHJvdmlkZSB3YWtlIHRpbWUgKHNlZSAtLXNlY29uZHMsIC0tdGltZSBhbmQgLS1kYXRlIG9wdGlvbnMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBlbmFibGVkIGZvciB3YWtldXAgZXZlbnRzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTI4CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtICVsZCwgc3lzX3RpbWUgJWxkLCBydGNfdGltZSAlbGQsIHNlY29uZHMgJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzNQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGRvZXNuJ3QgZ28gYmFja3dhcmQgdG8gJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU0OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIGZyb20gXCIlc1wiIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTU5CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogbm87IGxlYXZpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9mZjsgZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvbjsgcmVhZGluZyBydGNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU5MgorbXNnaWQgInJ0YyByZWFkIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwNAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IGRpc2FibGU7IGRpc2FibGluZyBhbGFybVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjA4CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogc2hvdzsgcHJpbnRpbmcgYWxhcm0gaW5mb1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjE1CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogJXM7IHN1c3BlbmRpbmcgc3lzdGVtXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjkKK21zZ2lkICJkaXNhYmxlIHJ0YyBhbGFybSBpbnRlcnJ1cHQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3dpdGNoaW5nIG9uICVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8YXJjaD4gW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgW29wY2lqZV0gZGF0b3Rla2FcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFtvcGNpamVdIGRhdG90ZWthXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTYKK21zZ2lkICJDaGFuZ2UgdGhlIHJlcG9ydGVkIGFyY2hpdGVjdHVyZSBhbmQgc2V0IHBlcnNvbmFsaXR5IGZsYWdzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTkKK21zZ2lkICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIHR1cm5zIG9uIEFERFJfTElNSVRfMzJCSVRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMAorbXNnaWQgIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAgbWFrZXMgZnVuY3Rpb24gcG9pbnRlcnMgcG9pbnQgdG8gZGVzY3JpcHRvcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMQorbXNnaWQgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgdHVybnMgb24gU0hPUlRfSU5PREVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMgorbXNnaWQgIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQgY2hhbmdlcyB0aGUgd2F5IHZpcnR1YWwgbWVtb3J5IGlzIGFsbG9jYXRlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAzCittc2dpZCAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBkaXNhYmxlcyByYW5kb21pemF0aW9uIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNAorbXNnaWQgIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgdHVybnMgb24gV0hPTEVfU0VDT05EU1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA1Cittc2dpZCAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0dXJucyBvbiBTVElDS1lfVElNRU9VVFNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNgorbXNnaWQgIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgdHVybnMgb24gUkVBRF9JTVBMSUVTX0VYRUNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNworbXNnaWQgIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgdHVybnMgb24gTU1BUF9QQUdFX1pFUk9cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOAorbXNnaWQgIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgbGltaXRzIHRoZSB1c2VkIGFkZHJlc3Mgc3BhY2UgdG8gYSBtYXhpbXVtIG9mIDMgR0JcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOQorbXNnaWQgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMAorbXNnaWQgIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgdHVybnMgb24gVU5BTUUyNlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTExCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgc2F5IHdoYXQgb3B0aW9ucyBhcmUgYmVpbmcgc3dpdGNoZWQgb25cbiIKK21zZ3N0ciAiIC1WICAgICAgICAgcG9qYXNuaSDFoXRvIHByb2dyYW0gcmFkaVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExNAorbXNnaWQgIiAgICAgLS1saXN0ICAgICAgICAgICAgICAgbGlzdCBzZXR0YWJsZSBhcmNoaXRlY3R1cmVzLCBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlc1xuIgorIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIzNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogVW5yZWNvZ25pemVkIGFyY2hpdGVjdHVyZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI1OAorIywgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgY2Fubm90IHNldCBhcmNoaXRlY3R1cmUgdG8gJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozMDUKK21zZ2lkICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjMyMgorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc5CisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJy0tbGlzdCciCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozODcKKyMsIGZ1enp5Cittc2dpZCAibm8gYXJjaGl0ZWN0dXJlIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAiJXM6IHVyZcSRYWogamUgbmVwcmF2aWxubyBwb3Jhdm5hbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIm5pc2FtIHVzcGlvIHBvc3Rhdml0aSBvcGlzIHphICVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJFeGVjdXRlIGNvbW1hbmQgYCVzJy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk3Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIGRpZmZlcmVudCBwcml2aWxlZ2Ugc2V0dGluZ3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDAKK21zZ2lkICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgIHNob3cgY3VycmVudCBzdGF0ZSAoYW5kIGRvIG5vdCBleGVjIGFueXRoaW5nKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTAxCittc2dpZCAiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICBkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTAyCittc2dpZCAiIC0taW5oLWNhcHMgPGNhcHMsLi4uPiAgICBzZXQgaW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDMKK21zZ2lkICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgIHNldCBjYXBhYmlsaXR5IGJvdW5kaW5nIHNldFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA0Cittc2dpZCAiIC0tcnVpZCA8dWlkPiAgICAgICAgICAgICBzZXQgcmVhbCB1aWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNQorbXNnaWQgIiAtLWV1aWQgPHVpZD4gICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNgorbXNnaWQgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgc2V0IHJlYWwgZ2lkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDcKK21zZ2lkICIgLS1lZ2lkIDxnaWQ+ICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDgKK21zZ2lkICIgLS1yZXVpZCA8dWlkPiAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDkKK21zZ2lkICIgLS1yZWdpZCA8Z2lkPiAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTAKK21zZ2lkICIgLS1jbGVhci1ncm91cHMgICAgICAgICAgIGNsZWFyIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTEKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMgorbXNnaWQgIiAtLWdyb3VwcyA8Z3JvdXAsLi4uPiAgICAgc2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTMKK21zZ2lkICIgLS1zZWN1cmViaXRzIDxiaXRzPiAgICAgIHNldCBzZWN1cmViaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTQKK21zZ2lkICIgLS1zZWxpbnV4LWxhYmVsIDxsYWJlbD4gIHNldCBTRUxpbnV4IGxhYmVsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTUKK21zZ2lkICIgLS1hcHBhcm1vci1wcm9maWxlIDxwcj4gIHNldCBBcHBBcm1vciBwcm9maWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjEKK21zZ2lkICIgVGhpcyB0b29sIGNhbiBiZSBkYW5nZXJvdXMuICBSZWFkIHRoZSBtYW5wYWdlLCBhbmQgYmUgY2FyZWZ1bC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE5MyBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2NworbXNnaWQgImdldHRpbmcgcHJvY2VzcyBzZWN1cmUgYml0cyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdXJlYml0czogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIltub25lXVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIGxvbmciCittc2dzdHIgIiVzOiBuaWplIHByb25hxJFlbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3MyBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyMSBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyNgorIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzIgc3lzLXV0aWxzL3NldHByaXYuYzozMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgInVpZDogJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICJldWlkOiAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1aWQ6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTkgc3lzLXV0aWxzL3NldHByaXYuYzozOTEKKyMsIGZ1enp5Cittc2dpZCAiZ2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAixI1pdGFuamUgbmlqZSB1c3BqZWxvOiAlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMDggc3lzLXV0aWxzL3NldHByaXYuYzo0MDYKKyMsIGZ1enp5Cittc2dpZCAiZ2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAixI1pdGFuamUgbmlqZSB1c3BqZWxvOiAlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRWZmZWN0aXZlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBlcm1pdHRlZCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzMAorIywgYy1mb3JtYXQKK21zZ2lkICJJbmhlcml0YWJsZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzNQorIywgYy1mb3JtYXQKK21zZ2lkICJDYXBhYmlsaXR5IGJvdW5kaW5nIHNldDogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQzCittc2dpZCAiU0VMaW51eCBsYWJlbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0NgorbXNnaWQgIkFwcEFybW9yIHByb2ZpbGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FwICVkOiBsaWJjYXAtbmcgaXMgYnJva2VuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzgyCittc2dpZCAiSW52YWxpZCBzdXBwbGVtZW50YXJ5IGdyb3VwIGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzk5CisjLCBmdXp6eQorbXNnaWQgInNldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgIiVzOiBpenZyxaFhdmFuamUgbmlqZSB1c3BqZWxvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQxNAorIywgZnV6enkKK21zZ2lkICJzZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICIlczogaXp2csWhYXZhbmplIG5pamUgdXNwamVsbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MzUKK21zZ2lkICJiYWQgY2FwYWJpbGl0eSBzdHJpbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NDMKK21zZ2lkICJsaWJjYXAtbmcgaXMgdG9vIG9sZCBmb3IgXCJhbGxcIiBjYXBzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDUyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY2FwYWJpbGl0eSBcIiVzXCIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NzYKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IHNldCAtLSByZWZ1c2luZyB0byBhZGp1c3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0ODAKK21zZ2lkICJiYWQgc2VjdXJlYml0cyBzdHJpbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0ODcKK21zZ2lkICIrYWxsIHNlY3VyZWJpdHMgaXMgbm90IGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDAKK21zZ2lkICJhZGp1c3Rpbmcga2VlcF9jYXBzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDQKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTI0Cittc2dpZCAiU0VMaW51eCBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2xvc2UgZmFpbGVkOiAlcyIKK21zZ3N0ciAic2VlayBuaWplIHVzcGlvOiAlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NDcKK21zZ2lkICJBcHBBcm1vciBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY1OAorbXNnaWQgImR1cGxpY2F0ZSAtLW5vLW5ldy1wcml2cyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NjMKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY2NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcnVpZCIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY2OQorbXNnaWQgImR1cGxpY2F0ZSBldWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjcxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBldWlkIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njc1Cittc2dpZCAiZHVwbGljYXRlIHJ1aWQgb3IgZXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY3NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmV1aWQiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODEKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmdpZCIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4NworbXNnaWQgImR1cGxpY2F0ZSBlZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njg5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlZ2lkIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjkzCittc2dpZCAiZHVwbGljYXRlIHJnaWQgb3IgZWdpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY5NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmVnaWQiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MDAKK21zZ2lkICJkdXBsaWNhdGUgLS1jbGVhci1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzA2Cittc2dpZCAiZHVwbGljYXRlIC0ta2VlcC1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzEyCittc2dpZCAiZHVwbGljYXRlIC0tZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcyMQorbXNnaWQgImR1cGxpY2F0ZSAtLWluaC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcyNworbXNnaWQgImR1cGxpY2F0ZSAtLWJvdW5kaW5nLXNldCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MzMKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWN1cmViaXRzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjczOQorbXNnaWQgImR1cGxpY2F0ZSAtLXNlbGludXgtbGFiZWwgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzQ1Cittc2dpZCAiZHVwbGljYXRlIC0tYXBwYXJtb3ItcHJvZmlsZSBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnJWMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzYzCittc2dpZCAiLS1kdW1wIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzcxCittc2dpZCAiLS1saXN0LWNhcHMgbXVzdCBiZSBzcGVjaWZpZWQgYWxvbmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzcKK21zZ2lkICJObyBwcm9ncmFtIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4MgorbXNnaWQgIi0tW3JlXWdpZCByZXF1aXJlcyAtLWtlZXAtZ3JvdXBzLCAtLWNsZWFyLWdyb3Vwcywgb3IgLS1ncm91cHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODUKK21zZ2lkICJkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTMKK21zZ2lkICJrZWVwIHByb2Nlc3MgY2FwYWJpbGl0aWVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwMQorbXNnaWQgImFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwNworbXNnaWQgInJlYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODIzCisjLCBmdXp6eQorbXNnaWQgInNldCBwcm9jZXNzIHNlY3VyZWJpdHMgZmFpbGVkIgorbXNnc3RyICIlczogaXp2csWhYXZhbmplIG5pamUgdXNwamVsbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjkKK21zZ2lkICJhcHBseSBib3VuZGluZyBzZXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzUKK21zZ2lkICJhcHBseSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBleGVjdXRlOiAlcyIKK21zZ3N0ciAibmUgbW9ndSBvdHZvcml0aSAlcyIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFthcmd1bWVudHMgLi4uXVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozNgorbXNnaWQgIlJ1biBhIHByb2dyYW0gaW4gYSBuZXcgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzkKK21zZ2lkICIgLWMsIC0tY3R0eSAgICAgc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCB0byB0aGUgY3VycmVudCBvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDAKK21zZ2lkICIgLXcsIC0td2FpdCAgICAgd2FpdCBwcm9ncmFtIHRvIGV4aXQsIGFuZCB1c2UgdGhlIHNhbWUgcmV0dXJuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjkzCittc2dpZCAiZm9yayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTA1CisjLCBjLWZvcm1hdAorbXNnaWQgImNoaWxkICVkIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEwCittc2dpZCAic2V0c2lkIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEzCittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb2ZmICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDUKK21zZ2lkICJOb3Qgc3VwZXJ1c2VyLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9mZiBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjIgc3lzLXV0aWxzL3N3YXBvbi5jOjc4OAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8c3BlYz5dXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjUKK21zZ2lkICJEaXNhYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI4Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIHN3YXBzIGZyb20gL3Byb2Mvc3dhcHNcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEzNQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTMKK21zZ2lkICJkZXZpY2UgZmlsZSBvciBwYXJ0aXRpb24gcGF0aCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTQKK21zZ2lkICJ0eXBlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk1Cittc2dpZCAic2l6ZSBvZiB0aGUgc3dhcCBhcmVhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NgorbXNnaWQgImJ5dGVzIGluIHVzZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTcKK21zZ2lkICJzd2FwIHByaW9yaXR5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OAorbXNnaWQgInN3YXAgdXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAic3dhcCBsYWJlbCIKK21zZ3N0ciAibmVtYSBvem5ha2UsICIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlc1x0XHRcdFx0VHlwZVx0XHRTaXplXHRVc2VkXHRQcmlvcml0eVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNDYKK21zZ2lkICJGaWxlbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWluaXRpYWxpemluZyB0aGUgc3dhcC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbHNlZWsgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIHNpZ25hdHVyZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjUzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgLSBpdCBhcHBlYXJzIHRvIGhhdmUgaG9sZXMuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldCBzaXplIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIHN3YXAgaGVhZGVyIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmb3VuZCBzaWduYXR1cmUgW3BhZ2VzaXplPSVkLCBzaWduYXR1cmU9JXNdIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhZ2VzaXplPSVkLCBzd2Fwc2l6ZT0lbGx1LCBkZXZzaXplPSVsbHUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGFzdF9wYWdlIDB4JTA4bGx4IGlzIGxhcmdlciB0aGFuIGFjdHVhbCBzaXplIG9mIHN3YXBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIChVc2UgLS1maXhwZ3N6IHRvIHJlaW5pdGlhbGl6ZSBpdC4pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNvZnR3YXJlIHN1c3BlbmQgZGF0YSBkZXRlY3RlZC4gUmV3cml0aW5nIHRoZSBzd2FwIHNpZ25hdHVyZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb24gJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb24gZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub2F1dG8gb3B0aW9uIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiBncmXFoWthIG9icmFkZSB1IHJldGt1ICVkIC0tIHphbmVtYXJlbm8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbHJlYWR5IGFjdGl2ZSAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogZ3JlxaFrYSBvYnJhZGUgdSByZXRrdSAlZCAtLSB6YW5lbWFyZW5vIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaW5hY2Nlc3NpYmxlIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiBuZSBtb2d1IHBpc2F0aSBpbmRla3NuZSDEjXZvcm92ZSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5MQorbXNnaWQgIkVuYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk0CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgZW5hYmxlIGFsbCBzd2FwcyBmcm9tIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk1Cittc2dpZCAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTYKK21zZ2lkICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHNpbGVudGx5IHNraXAgZGV2aWNlcyB0aGF0IGRvIG5vdCBleGlzdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTcKK21zZ2lkICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHJlaW5pdGlhbGl6ZSB0aGUgc3dhcCBzcGFjZSBpZiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk4Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBzd2FwIG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk5Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBzcGVjaWZ5IHRoZSBwcmlvcml0eSBvZiB0aGUgc3dhcCBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAwCittc2dpZCAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBkaXNwbGF5IHN1bW1hcnkgYWJvdXQgdXNlZCBzd2FwIGRldmljZXMgKERFUFJFQ0FURUQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMQorbXNnaWQgIiAgICAgLS1zaG93Wz08Y29sdW1ucz5dICAgZGlzcGxheSBzdW1tYXJ5IGluIGRlZmluYWJsZSB0YWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCB0YWJsZSBoZWFkaW5nICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDMKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0ICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDQKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgc2l6ZSBpbiBieXRlcyBpbiAtLXNob3cgb3V0cHV0XG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtViAgICAgICAgIHBvamFzbmkgxaF0byBwcm9ncmFtIHJhZGlcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODIxCittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBkaXNjYXJkIHBvbGljeSB0eXBlcyAoZm9yIC0tZGlzY2FyZCk6XG4iCisiIG9uY2UgICAgOiBvbmx5IHNpbmdsZS10aW1lIGFyZWEgZGlzY2FyZHMgYXJlIGlzc3VlZFxuIgorIiBwYWdlcyAgIDogZnJlZWQgcGFnZXMgYXJlIGRpc2NhcmRlZCBiZWZvcmUgdGhleSBhcmUgcmV1c2VkXG4iCisiSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCBib3RoIGRpc2NhcmQgdHlwZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQpLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MjYKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3cpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MDQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHByaW9yaXR5IgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgdGhlIGRldmljZSBmb3IgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NTkKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjcKK21zZ2lkICJzdGF0IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo3OAorbXNnaWQgImZhaWxlZCB0byByZWFkIGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVubGluayAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9yY2luZyB1bm1vdW50IG9mICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAvIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3NQorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxODgKK21zZ2lkICJvbGQgcm9vdCBmaWxlc3lzdGVtIGlzIG5vdCBhbiBpbml0cmFtZnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG5ld3Jvb3RkaXI+IDxpbml0PiA8YXJncyB0byBpbml0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwNAorbXNnaWQgIlN3aXRjaCB0byBhbm90aGVyIGZpbGVzeXN0ZW0gYXMgdGhlIHJvb3Qgb2YgdGhlIG1vdW50IHRyZWUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjM2Cittc2dpZCAiZmFpbGVkLiBTb3JyeS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBhY2Nlc3MgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk0Cittc2dpZCAiU2V0IHZhcmlvdXMgcGFyYW1ldGVycyBmb3IgdGhlIGxpbmUgcHJpbnRlci5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTcKK21zZ2lkICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICBzcGVjaWZ5IHBhcmFsbGVsIHBvcnQgaXJxXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk4Cittc2dpZCAiIC10LCAtLXRpbWUgPG1zPiAgICAgICAgICAgICAgZHJpdmVyIHdhaXQgdGltZSBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTkKK21zZ2lkICIgLWMsIC0tY2hhcnMgPG51bT4gICAgICAgICAgICBudW1iZXIgb2Ygb3V0cHV0IGNoYXJhY3RlcnMgYmVmb3JlIHNsZWVwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMAorbXNnaWQgIiAtdywgLS13YWl0IDx1cz4gICAgICAgICAgICAgIHN0cm9iZSB3YWl0IGluIG1pY3JvIHNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSA8b258b2ZmPiBhcmd1bWVudHMuIFRoZQorIy4gYXJndW1lbnQgcmVhZGVyIGRvZXMgbm90IHJlY29nbml6ZSBsb2NhbGUsIHVubGVzcyBgb24nIGlzCisjLiBleGFjdGx5IHRoYXQgdmVyeSBzYW1lIHN0cmluZy4KKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDQKK21zZ2lkICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhYm9ydCBvbiBlcnJvclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDUKK21zZ2lkICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBjaGVjayBwcmludGVyIHN0YXR1cyBiZWZvcmUgcHJpbnRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA2Cittc2dpZCAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAgZXh0cmEgY2hlY2tpbmcgdG8gc3RhdHVzIGNoZWNrXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNworbXNnaWQgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIHF1ZXJ5IHByaW50ZXIgc3RhdHVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOAorbXNnaWQgIiAtVCwgLS10cnVzdC1pcnEgPG9ufG9mZj4gICAgIG1ha2UgZHJpdmVyIHRvIHRydXN0IGlycVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDkKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICByZXNldCB0aGUgcG9ydFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTAKK21zZ2lkICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICBkaXNwbGF5IGN1cnJlbnQgaXJxIHNldHRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBhbiBscCBkZXZpY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4MAorbXNnaWQgIkxQR0VUU1RBVFVTIGVycm9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3RhdHVzIGlzICVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBidXN5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCByZWFkeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb3V0IG9mIHBhcGVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvbi1saW5lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBlcnJvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzAwCittc2dpZCAiaW9jdGwgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTAKK21zZ2lkICJMUEdFVElSUSBlcnJvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIElSUSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgcG9sbGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gfCA8ZGlyZWN0b3J5PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4MQorIywgZnV6enkKK21zZ2lkICJVbm1vdW50IGZpbGVzeXN0ZW1zLlxuIgorbXNnc3RyICJQcm92amVyYXZhbSBzdmUgZGF0b3RlxI1uZSBzdXN0YXZlLlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODQKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgdW5tb3VudCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODUKK21zZ2lkICIiCisiIC1BLCAtLWFsbC10YXJnZXRzICAgICAgIHVubW91bnQgYWxsIG1vdW50cG9pbnRzIGZvciB0aGUgZ2l2ZW4gZGV2aWNlIGluIHRoZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg3Cittc2dpZCAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OAorbXNnaWQgIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICBpZiBtb3VudGVkIGxvb3AgZGV2aWNlLCBhbHNvIGZyZWUgdGhpcyBsb29wIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OQorbXNnaWQgIiAgICAgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSB1bW91bnQoMikgc3lzY2FsbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MAorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBmb3JjZSB1bm1vdW50IChpbiBjYXNlIG9mIGFuIHVucmVhY2hhYmxlIE5GUyBzeXN0ZW0pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkxCittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIHVtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MworbXNnaWQgIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICBkZXRhY2ggdGhlIGZpbGVzeXN0ZW0gbm93LCBjbGVhbiB1cCB0aGluZ3MgbGF0ZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTQKK21zZ2lkICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk1Cittc2dpZCAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IHVubW91bnQgYSB0YXJnZXQgd2l0aCBhbGwgaXRzIGNoaWxkcmVuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk2Cittc2dpZCAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIGluIGNhc2UgdW5tb3VudGluZyBmYWlscywgdHJ5IHRvIHJlbW91bnQgcmVhZC1vbmx5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk3Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglcykgdW5tb3VudGVkIgorbXNnc3RyICIlcyBqZSBtb250aXJhblxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyB1bm1vdW50ZWQiCittc2dzdHIgIiVzIGplIG1vbnRpcmFuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVtb3VudCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IHdyaXRlIHN1cGVyYmxvY2siCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXM6IHRhcmdldCBpcyBidXN5XG4iCisiICAgICAgICAoSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBhYm91dCBwcm9jZXNzZXMgdGhhdFxuIgorIiAgICAgICAgIHVzZSB0aGUgZGV2aWNlIGlzIGZvdW5kIGJ5IGxzb2YoOCkgb3IgZnVzZXIoMSkuKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnRwb2ludCBub3QgZm91bmQiCittc2dzdHIgIiVzOiBuaWplIHByb25hxJFlbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1MAorbXNnaWQgInVuZGVmaW5lZCBtb3VudHBvaW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVubW91bnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmxvY2sgZGV2aWNlcyBhcmUgbm90IHBlcm1pdHRlZCBvbiBmaWxlc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozMDcKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHVtb3VudCB0YXJnZXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMyMworbXNnaWQgImxpYm1vdW50IHRhYmxlIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozNjYgc3lzLXV0aWxzL3Vtb3VudC5jOjQ0NgorbXNnaWQgImxpYm1vdW50IGl0ZXJhdG9yIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgY2hpbGQgZnMgb2YgJXMiCittc2dzdHIgIm5pc2FtIHVzcGlvIHBvc3Rhdml0aSBvcGlzIHphICVzIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NDEwIHN5cy11dGlscy91bW91bnQuYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBmb3VuZCIKK21zZ3N0ciAiJXM6IG5pamUgcHJvbmHEkWVuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NDQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGV0ZXJtaW5lIHNvdXJjZSAoLS1hbGwtdGFyZ2V0cyBpcyB1bnN1cHBvcnRlZCBvbiBzeXN0ZW1zIHdpdGggcmVndWxhciBtdGFiIGZpbGUpLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCAtLXNldGdyb3VwcyBhcmd1bWVudCAnJXMnIgorbXNnc3RyICJuZXBvZHLFvmFuZSBtb2d1xIdub3N0aSBkYXRvdGXEjW5vZyBzdXN0YXZhIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjExMCBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkICVzIgorbXNnc3RyICJ3cml0ZSBuaWplIHVzcGlvOiAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByb3BhZ2F0aW9uIG1vZGU6ICVzIgorbXNnc3RyICJuZXBvZHLFvmFuZSBtb2d1xIdub3N0aSBkYXRvdGXEjW5vZyBzdXN0YXZhIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1NworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY2hhbmdlIHJvb3QgZmlsZXN5c3RlbSBwcm9wYWdhdGlvbiIKK21zZ3N0ciAiUHJvdmplcmF2YW0gc3ZlIGRhdG90ZcSNbmUgc3VzdGF2ZS5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzdGF0ICVzIgorbXNnc3RyICJuZSBtb2d1IHphdHZvcml0aSBkYXRvdGVrdSAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTMKKyMsIGZ1enp5Cittc2dpZCAicGlwZSBmYWlsZWQiCittc2dzdHIgIm9wZW4gbmlqZSB1c3BpbzogJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjI3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIHBpcGUiCittc2dzdHIgIm5pc2FtIHVzcGlvIGRvZGF0aSBwYXJ0aWNpanUiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUwCittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIHNvbWUgbmFtZXNwYWNlcyB1bnNoYXJlZCBmcm9tIHRoZSBwYXJlbnQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTMKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTQKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTUKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTYKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBuZXR3b3JrIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU3CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU4CisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OQorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICAgICB1bnNoYXJlIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MAorbXNnaWQgIiAtZiwgLS1mb3JrICAgICAgICAgICAgICAgIGZvcmsgYmVmb3JlIGxhdW5jaGluZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MQorbXNnaWQgIiAgICAgLS1tb3VudC1wcm9jWz08ZGlyPl0gIG1vdW50IHByb2MgZmlsZXN5c3RlbSBmaXJzdCAoaW1wbGllcyAtLW1vdW50KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYyCittc2dpZCAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbWFwIGN1cnJlbnQgdXNlciB0byByb290IChpbXBsaWVzIC0tdXNlcilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MworbXNnaWQgIiIKKyIgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZ5IG1vdW50IHByb3BhZ2F0aW9uIGluIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY1Cittc2dpZCAiIC1zLCAtLXNldGdyb3VwcyBhbGxvd3xkZW55ICBjb250cm9sIHRoZSBzZXRncm91cHMgc3lzY2FsbCBpbiB1c2VyIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjM4NgorbXNnaWQgInVuc2hhcmUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDMwCisjLCBmdXp6eQorbXNnaWQgImNoaWxkIGV4aXQgZmFpbGVkIgorbXNnc3RyICJjaG93biBuaWplIHVzcGlvOiAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzcKK21zZ2lkICJvcHRpb25zIC0tc2V0Z3JvdXBzPWFsbG93IGFuZCAtLW1hcC1yb290LXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgZmFpbGVkIgorbXNnc3RyICIlcyBuaWplIHVzcGlvLlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3MworbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc0Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NQorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzYKK21zZ2lkICJGYW4gZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc3Cittc2dpZCAiS2VlcCBhbGl2ZSBwaW5nIHJlcGx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc4Cittc2dpZCAiU3VwcG9ydHMgbWFnaWMgY2xvc2UgY2hhciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OQorbXNnaWQgIlJlc2V0IGR1ZSB0byBDUFUgb3ZlcmhlYXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODAKK21zZ2lkICJQb3dlciBvdmVyIHZvbHRhZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODEKK21zZ2lkICJQb3dlciBiYWQvcG93ZXIgZmF1bHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODIKK21zZ2lkICJQcmV0aW1lb3V0IChpbiBzZWNvbmRzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MworbXNnaWQgIlNldCB0aW1lb3V0IChpbiBzZWNvbmRzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4NAorbXNnaWQgIk5vdCB0cmlnZ2VyIHJlYm9vdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDAKK21zZ2lkICJmbGFnIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAxCittc2dpZCAiZmxhZyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDIKK21zZ2lkICJmbGFnIHN0YXR1cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDMKK21zZ2lkICJmbGFnIGJvb3Qgc3RhdHVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwNAorbXNnaWQgIndhdGNoZG9nIGRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZsYWc6ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE3NworbXNnaWQgIlNob3cgdGhlIHN0YXR1cyBvZiB0aGUgaGFyZHdhcmUgd2F0Y2hkb2cuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTgwCittc2dpZCAiIgorIiAtZiwgLS1mbGFncyA8bGlzdD4gICAgIHByaW50IHNlbGVjdGVkIGZsYWdzIG9ubHlcbiIKKyIgLUYsIC0tbm9mbGFncyAgICAgICAgICBkb24ndCBwcmludCBpbmZvcm1hdGlvbiBhYm91dCBmbGFnc1xuIgorIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIGlkZW50aXR5IGluZm9ybWF0aW9uXG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIGZsYWdzIHRhYmxlXG4iCisiIC1PLCAtLW9uZWxpbmUgICAgICAgICAgcHJpbnQgYWxsIGluZm9ybWF0aW9uIG9uIG9uZSBsaW5lXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgb3V0cHV0IGNvbHVtbnMgb2YgdGhlIGZsYWdzXG4iCisiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0IGZvciBmbGFncyB0YWJsZVxuIgorIiAtVCwgLS1ub3RpbWVvdXRzICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIHRpbWVvdXRzXG4iCisiIC1zLCAtLXNldHRpbWVvdXQgPHNlYz4gc2V0IHdhdGNoZG9nIHRpbWVvdXRcbiIKKyIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICBwcmludCBvbmx5IGZsYWdzIHRhYmxlIChzYW1lIGFzIC1JIC1UKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGVmYXVsdCBkZXZpY2UgaXMgJXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk5Cittc2dpZCAiQXZhaWxhYmxlIGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIGZsYWdzIDB4JXhcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMTkgc3lzLXV0aWxzL3dkY3RsLmM6Mzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXRjaGRvZyBhbHJlYWR5IGluIHVzZSwgdGVybWluYXRpbmcuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMzMyBzeXMtdXRpbHMvd2RjdGwuYzo0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkaXNhcm0gd2F0Y2hkb2ciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGltZW91dCBmb3IgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZC5cbiIKK21zZ2lkX3BsdXJhbCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kcy5cbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCittc2dzdHJbMl0gIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGluZm9ybWF0aW9uIGFib3V0IHdhdGNoZG9nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NCBzeXMtdXRpbHMvd2RjdGwuYzo0Njcgc3lzLXV0aWxzL3dkY3RsLmM6NDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMTRzICUyaSBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiJS0xNHMgJTJpIHNlY29uZHNcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCittc2dzdHJbMl0gIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY1Cittc2dpZCAiVGltZW91dDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY4Cittc2dpZCAiUHJlLXRpbWVvdXQ6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ3MQorbXNnaWQgIlRpbWVsZWZ0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDUKK21zZ2lkICJEZXZpY2U6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNworbXNnaWQgIklkZW50aXR5OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDkKK21zZ2lkICJ2ZXJzaW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzMKK21zZ2lkICJ6cmFtIGRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzQKK21zZ2lkICJsaW1pdCBvbiB0aGUgdW5jb21wcmVzc2VkIGFtb3VudCBvZiBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzUKK21zZ2lkICJ1bmNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc2Cittc2dpZCAiY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzcKK21zZ2lkICJ0aGUgc2VsZWN0ZWQgY29tcHJlc3Npb24gYWxnb3JpdGhtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzgKK21zZ2lkICJudW1iZXIgb2YgY29uY3VycmVudCBjb21wcmVzcyBvcGVyYXRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzkKK21zZ2lkICJlbXB0eSBwYWdlcyB3aXRoIG5vIGFsbG9jYXRlZCBtZW1vcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MAorbXNnaWQgImFsbCBtZW1vcnkgaW5jbHVkaW5nIGFsbG9jYXRvciBmcmFnbWVudGF0aW9uIGFuZCBtZXRhZGF0YSBvdmVyaGVhZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgxCittc2dpZCAibWVtb3J5IGxpbWl0IHVzZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODIKK21zZ2lkICJtZW1vcnkgenJhbSBoYXZlIGJlZW4gY29uc3VtZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODMKK21zZ2lkICJudW1iZXIgb2Ygb2JqZWN0cyBtaWdyYXRlZCBieSBjb21wYWN0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6MzYzIHN5cy11dGlscy96cmFtY3RsLmM6Mzc0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCisiICUxJHMgLXIgPGRldmljZT4gWy4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8ZGV2aWNlPiAtcyA8c2l6ZT5cbiIKK21zZ3N0ciAiJXMgW29wY2lqZV0gWy10IDx2cnN0YT5dIFtkcy1vcGNpamVdIDx1cmXEkWFqPiBbPHZlbGnEjWluYT5dXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTI3Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIHpyYW0gZGV2aWNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMAorbXNnaWQgIiAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NCAgIGNvbXByZXNzaW9uIGFsZ29yaXRobSB0byB1c2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIGZpbmQgYSBmcmVlIGRldmljZVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzNAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICBjb2x1bW5zIHRvIHVzZSBmb3Igc3RhdHVzIG91dHB1dFxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgdXNlIHJhdyBzdGF0dXMgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzYKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzcKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNpemUgPHNpemU+ICAgICAgICAgZGV2aWNlIHNpemVcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzOAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tc3RyZWFtcyA8bnVtYmVyPiAgICBudW1iZXIgb2YgY29tcHJlc3Npb24gc3RyZWFtc1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBhbGdvcml0aG06ICVzIgorbXNnc3RyICJuZXBvZHLFvmFuZSBtb2d1xIdub3N0aSBkYXRvdGXEjW5vZyBzdXN0YXZhIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYyNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RyZWFtcyIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY0OAorbXNnaWQgIm9wdGlvbiAtLWZpbmQgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPGRldmljZT4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NTQKK21zZ2lkICJvbmx5IG9uZSA8ZGV2aWNlPiBhdCBhIHRpbWUgaXMgYWxsb3dlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NworbXNnaWQgIm9wdGlvbnMgLS1hbGdvcml0aG0gYW5kIC0tc3RyZWFtcyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggLS1zaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njg3IHN5cy11dGlscy96cmFtY3RsLmM6NzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlc2V0IgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njk4IHN5cy11dGlscy96cmFtY3RsLmM6NzA2Cittc2dpZCAibm8gZnJlZSB6cmFtIGRldmljZSBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgbnVtYmVyIG9mIHN0cmVhbXMiCittc2dzdHIgIm5pc2FtIHVzcGlvIG9icmFkaXRpIGJyb2ogaW5kZWtzbmloIMSNdm9yb3ZhIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYWxnb3JpdGhtIgorbXNnc3RyICJuZSBtb2d1IHZyYXRpdGkgdW5hdHJhZyBzd2FwLXVyZcSRYWoiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBkaXNrc2l6ZSAoJWp1IGJ5dGVzKSIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjQ1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzIChhdXRvbWF0aWMgbG9naW4pXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSByb290IGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSB3b3JraW5nIGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSBwcm9jZXNzIHByaW9yaXR5OiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgZXhlYyAlczogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1NTUgdGVybS11dGlscy9hZ2V0dHkuYzo4NDEgdGVybS11dGlscy9hZ2V0dHkuYzo4NTMKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODcwIHRlcm0tdXRpbHMvYWdldHR5LmM6MTQxNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MzMKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ2OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NzkgdGVybS11dGlscy9hZ2V0dHkuYzoxNTE2CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NzggdGVybS11dGlscy9hZ2V0dHkuYzoyNTIxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnk6ICVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NjgwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZGVsYXkgYXJndW1lbnQiCittc2dzdHIgIm5laXNwcmF2YW4gYXJndW1lbnQgZHVsamluZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3MTkKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtLWxvY2FsLWxpbmUiCittc2dzdHIgIm5laXNwcmF2YW4gYnJvaiBpbmRla3NuaWggxI12b3JvdmEiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzM4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbmljZSBhcmd1bWVudCIKK21zZ3N0ciAibmVpc3ByYXZhbiBhcmd1bWVudCBkdWxqaW5lIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3BlZWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODc3Cittc2dpZCAidG9vIG1hbnkgYWx0ZXJuYXRlIHNwZWVkcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMDYgdGVybS11dGlscy9hZ2V0dHkuYzoxMDEwIHRlcm0tdXRpbHMvYWdldHR5LmM6MTA2MworIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgb3BlbiBhcyBzdGFuZGFyZCBpbnB1dDogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIGNoYXJhY3RlciBkZXZpY2UiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIHR0eSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzUgdGVybS11dGlscy9hZ2V0dHkuYzoxMDY3CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBnZXQgY29udHJvbGxpbmcgdHR5OiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogdmhhbmd1cCgpIGZhaWxlZDogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3Qgb3BlbiBmb3IgcmVhZC93cml0ZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IHNldCBwcm9jZXNzIGdyb3VwOiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGR1cCBwcm9ibGVtOiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMzIxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXMgZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NTkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gb3MtcmVsZWFzZSBmaWxlIgorbXNnc3RyICJuZSBtb2d1IG90dm9yaXRpICVzOiAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNjM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHJlbG9hZCBmaWxlOiAlczogJW0iCittc2dzdHIgIm5pc2FtIHVzcGlvIMSNaXRhdGk6ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3MzYKK21zZ2lkICJbcHJlc3MgRU5URVIgdG8gbG9naW5dIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2MAorbXNnaWQgIk51bSBMb2NrIG9mZiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjMKK21zZ2lkICJOdW0gTG9jayBvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjYKK21zZ2lkICJDYXBzIExvY2sgb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzY5Cittc2dpZCAiU2Nyb2xsIExvY2sgb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJIaW50OiAlc1xuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZDogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnB1dCBvdmVycnVuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgY2hhcmFjdGVyIGNvbnZlcnNpb24gZm9yIGxvZ2luIG5hbWUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciAweCV4IGluIGxvZ2luIG5hbWUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8bGluZT4gWzxiYXVkX3JhdGU+LC4uLl0gWzx0ZXJtdHlwZT5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxiYXVkX3JhdGU+LC4uLiA8bGluZT4gWzx0ZXJtdHlwZT5dXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTEzCittc2dpZCAiT3BlbiBhIHRlcm1pbmFsIGFuZCBzZXQgaXRzIG1vZGUuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE2Cittc2dpZCAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIGFzc3VtZSA4LWJpdCB0dHlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTcKK21zZ2lkICIgLWEsIC0tYXV0b2xvZ2luIDx1c2VyPiAgICAgbG9naW4gdGhlIHNwZWNpZmllZCB1c2VyIGF1dG9tYXRpY2FsbHlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTgKK21zZ2lkICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAgZG8gbm90IHJlc2V0IGNvbnRyb2wgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExOQorbXNnaWQgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICB1c2UgLXIgPGhvc3RuYW1lPiBmb3IgbG9naW4oMSlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjAKK21zZ2lkICIgLWYsIC0taXNzdWUtZmlsZSA8ZmlsZT4gICAgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIxCittc2dpZCAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIGVuYWJsZSBoYXJkd2FyZSBmbG93IGNvbnRyb2xcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjIKK21zZ2lkICIgLUgsIC0taG9zdCA8aG9zdG5hbWU+ICAgICAgc3BlY2lmeSBsb2dpbiBob3N0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIzCittc2dpZCAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGRvIG5vdCBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjQKK21zZ2lkICIgLUksIC0taW5pdC1zdHJpbmcgPHN0cmluZz4gc2V0IGluaXQgc3RyaW5nXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI1CisjLCBmdXp6eQorbXNnaWQgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICBkbyBub3QgY2xlYXIgdGhlIHNjcmVlbiBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjYKK21zZ2lkICIgLWwsIC0tbG9naW4tcHJvZ3JhbSA8ZmlsZT4gc3BlY2lmeSBsb2dpbiBwcm9ncmFtXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI3Cittc2dpZCAiIC1MLCAtLWxvY2FsLWxpbmVbPTxtb2RlPl0gIGNvbnRyb2wgdGhlIGxvY2FsIGxpbmUgZmxhZ1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyOAorbXNnaWQgIiAtbSwgLS1leHRyYWN0LWJhdWQgICAgICAgICBleHRyYWN0IGJhdWQgcmF0ZSBkdXJpbmcgY29ubmVjdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyOQorbXNnaWQgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBkbyBub3QgcHJvbXB0IGZvciBsb2dpblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMAorIywgZnV6enkKK21zZ2lkICIgLU4gIC0tbm9uZXdsaW5lICAgICAgICAgICAgZG8gbm90IHByaW50IGEgbmV3bGluZSBiZWZvcmUgaXNzdWVcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMQorbXNnaWQgIiAtbywgLS1sb2dpbi1vcHRpb25zIDxvcHRzPiBvcHRpb25zIHRoYXQgYXJlIHBhc3NlZCB0byBsb2dpblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMgorbXNnaWQgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICB3YWl0IGZvciBhbnkga2V5IGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzMKK21zZ2lkICIgLXIsIC0tY2hyb290IDxkaXI+ICAgICAgICAgY2hhbmdlIHJvb3QgdG8gdGhlIGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNAorbXNnaWQgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICBkbyB2aXJ0dWFsbHkgaGFuZ3VwIG9uIHRoZSB0dHlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzUKK21zZ2lkICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgdHJ5IHRvIGtlZXAgYmF1ZCByYXRlIGFmdGVyIGJyZWFrXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM2Cittc2dpZCAiIC10LCAtLXRpbWVvdXQgPG51bWJlcj4gICAgIGxvZ2luIHByb2Nlc3MgdGltZW91dFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNworbXNnaWQgIiAtVSwgLS1kZXRlY3QtY2FzZSAgICAgICAgICBkZXRlY3QgdXBwZXJjYXNlIHRlcm1pbmFsXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM4Cittc2dpZCAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIHdhaXQgY2FycmlhZ2UtcmV0dXJuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM5Cittc2dpZCAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIGRvIG5vdCBwcmludCBoaW50c1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MAorbXNnaWQgIiAgICAgLS1ub2hvc3RuYW1lICAgICAgICAgICBubyBob3N0bmFtZSBhdCBhbGwgd2lsbCBiZSBzaG93blxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MQorbXNnaWQgIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICBzaG93IGZ1bGwgcXVhbGlmaWVkIGhvc3RuYW1lXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQyCittc2dpZCAiICAgICAtLWVyYXNlLWNoYXJzIDxzdHJpbmc+IGFkZGl0aW9uYWwgYmFja3NwYWNlIGNoYXJzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQzCittc2dpZCAiICAgICAtLWtpbGwtY2hhcnMgPHN0cmluZz4gIGFkZGl0aW9uYWwga2lsbCBjaGFyc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NAorbXNnaWQgIiAgICAgLS1jaGRpciA8ZGlyZWN0b3J5PiAgICBjaGRpciBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ1Cittc2dpZCAiICAgICAtLWRlbGF5IDxudW1iZXI+ICAgICAgIHNsZWVwIHNlY29uZHMgYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NgorbXNnaWQgIiAgICAgLS1uaWNlIDxudW1iZXI+ICAgICAgICBydW4gbG9naW4gd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ3Cittc2dpZCAiICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgIHJlbG9hZCBwcm9tcHRzIG9uIHJ1bm5pbmcgYWdldHR5IGluc3RhbmNlc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0OAorbXNnaWQgIiAgICAgLS1oZWxwICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0OQorbXNnaWQgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCB1c2VyIgorbXNnaWRfcGx1cmFsICIlZCB1c2VycyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCittc2dzdHJbMl0gIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaGVja25hbWUgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2hvd24gbmlqZSB1c3BpbzogJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHRvdWNoIGZpbGUgJXMiCittc2dzdHIgIm5lIG1vZ3UgemF0dm9yaXRpIGRhdG90ZWt1ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MjUKK21zZ2lkICItLXJlbG9hZCBpcyB1bnN1cHBvcnRlZCBvbiB5b3VyIHN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFt5IHwgbl1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3OAorbXNnaWQgIkNvbnRyb2wgd3JpdGUgYWNjZXNzIG9mIG90aGVyIHVzZXJzIHRvIHlvdXIgdGVybWluYWwuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtViAgICAgICAgIHBvamFzbmkgxaF0byBwcm9ncmFtIHJhZGlcbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTI1Cittc2dpZCAidHR5bmFtZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM0Cittc2dpZCAiaXMgeSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzcKK21zZ2lkICJpcyBuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE0OCB0ZXJtLXV0aWxzL21lc2cuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlICVzIG1vZGUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTU3Cittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgZGVuaWVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE1OQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTYyCittc2dpZCAiTWFrZSBhIHR5cGVzY3JpcHQgb2YgYSB0ZXJtaW5hbCBzZXNzaW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTY1Cittc2dpZCAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICBhcHBlbmQgdGhlIG91dHB1dFxuIgorIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiBydW4gY29tbWFuZCByYXRoZXIgdGhhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgorIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICByZXR1cm4gZXhpdCBjb2RlIG9mIHRoZSBjaGlsZCBwcm9jZXNzXG4iCisiIC1mLCAtLWZsdXNoICAgICAgICAgICAgIHJ1biBmbHVzaCBhZnRlciBlYWNoIHdyaXRlXG4iCisiICAgICAtLWZvcmNlICAgICAgICAgICAgIHVzZSBvdXRwdXQgZmlsZSBldmVuIHdoZW4gaXQgaXMgYSBsaW5rXG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIGJlIHF1aWV0XG4iCisiIC10LCAtLXRpbWluZ1s9PGZpbGU+XSAgIG91dHB1dCB0aW1pbmcgZGF0YSB0byBzdGRlcnIgKG9yIHRvIEZJTEUpXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm91dHB1dCBmaWxlIGAlcycgaXMgYSBsaW5rXG4iCisiVXNlIC0tZm9yY2UgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC5cbiIKKyJQcm9ncmFtIG5vdCBzdGFydGVkLiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgZG9uZSwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MjYyCittc2dpZCAiY2Fubm90IHdyaXRlIHNjcmlwdCBmaWxlIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNjcmlwdCBkb25lIG9uICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjA3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYxNAorbXNnaWQgIm9wZW5wdHkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjUyCittc2dpZCAib3V0IG9mIHB0eSdzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy10XSB0aW1pbmdmaWxlIFt0eXBlc2NyaXB0XSBbZGl2aXNvcl1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQ3Cittc2dpZCAiUGxheSBiYWNrIHRlcm1pbmFsIHR5cGVzY3JpcHRzLCB1c2luZyB0aW1pbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo1MAorbXNnaWQgIiIKKyIgLXQsIC0tdGltaW5nIDxmaWxlPiAgICAgc2NyaXB0IHRpbWluZyBvdXRwdXQgZmlsZVxuIgorIiAtcywgLS10eXBlc2NyaXB0IDxmaWxlPiBzY3JpcHQgdGVybWluYWwgc2Vzc2lvbiBvdXRwdXQgZmlsZVxuIgorIiAtZCwgLS1kaXZpc29yIDxudW0+ICAgICBzcGVlZCB1cCBvciBzbG93IGRvd24gZXhlY3V0aW9uIHdpdGggdGltZSBkaXZpc29yXG4iCisiIC1tLCAtLW1heGRlbGF5IDxudW0+ICAgIHdhaXQgYXQgbW9zdCB0aGlzIG1hbnkgc2Vjb25kcyBiZXR3ZWVuIHVwZGF0ZXNcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExMgorbXNnaWQgIndyaXRlIHRvIHN0ZG91dCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSBvbiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0eXBlc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxODQKK21zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHRpbWluZyBmaWxlICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWluZyBmaWxlICVzOiBsaW5lICVsdTogdW5leHBlY3RlZCBmb3JtYXQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgImFyZ3VtZW50IGVycm9yOiBicmlnaHQgJXMgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjgKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgdGFicyIKK21zZ3N0ciAicHJldmnFoWUgYXJndW1lbmF0YSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzgzCittc2dpZCAiU2V0IHRoZSBhdHRyaWJ1dGVzIG9mIGEgdGVybWluYWwuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg2Cittc2dpZCAiIC0tdGVybSAgICAgICAgICA8dGVybWluYWxfbmFtZT4gICBvdmVycmlkZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg3CisjLCBmdXp6eQorbXNnaWQgIiAtLXJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXQgdGVybWluYWwgdG8gcG93ZXItb24gc3RhdGVcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OAorIywgZnV6enkKK21zZ2lkICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5pdCBzdHJpbmcsIGFuZCB1c2UgZGVmYXVsdCBzZXR0aW5nc1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OQorIywgZnV6enkKK21zZ2lkICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBkZWZhdWx0IHRlcm1pbmFsIHNldHRpbmdzXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkwCittc2dpZCAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgdGVybWluYWwgc2V0dGluZ3MgYXMgZGVmYXVsdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MQorbXNnaWQgIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAgZGlzcGxheSBjdXJzb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTIKK21zZ2lkICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGtleWJvYXJkIHJlcGVhdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MworbXNnaWQgIiAtLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gICAgICAgICAgY3Vyc29yIGtleSBhcHBsaWNhdGlvbiBtb2RlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk0Cittc2dpZCAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBjb250aW51ZSBvbiBhIG5ldyBsaW5lIHdoZW4gYSBsaW5lIGlzIGZ1bGxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTUKK21zZ2lkICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIHN3YXAgY29sb3JzIGZvciB0aGUgd2hvbGUgc2NyZWVuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk2Cittc2dpZCAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgZm9yZWdyb3VuZCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NworbXNnaWQgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGJhY2tncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTgKK21zZ2lkICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCB1bmRlcmxpbmVkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTkKK21zZ2lkICIgLS1oYmNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCBib2xkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDAKK21zZ2lkICIgICAgICAgICAgICAgICAgIDxjb2xvcj46IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMQorbXNnaWQgIiAtLWJvbGQgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYm9sZFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMgorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAzCittc2dpZCAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlua1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNAorIywgZnV6enkKK21zZ2lkICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHVuZGVybGluZVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNQorbXNnaWQgIiAtLXJldmVyc2UgICAgICAgW29ufG9mZl0gICAgICAgICAgc3dhcCBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9yc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNgorbXNnaWQgIiAtLWNsZWFyICAgICAgICAgW2FsbHxyZXN0XSAgICAgICAgY2xlYXIgc2NyZWVuIGFuZCBzZXQgY3Vyc29yIHBvc2l0aW9uXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA3Cittc2dpZCAiIC0tdGFicyAgICAgICAgICBbPG51bWJlcj4uLi5dICAgICBzZXQgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBzaG93IHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDgKK21zZ2lkICIgLS1jbHJ0YWJzICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIGNsZWFyIHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3IgYWxsXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA5Cittc2dpZCAiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICBzZXQgYSByZWd1bGFyIHRhYiBzdG9wIGludGVydmFsXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEwCittc2dpZCAiIC0tYmxhbmsgICAgICAgICBbMC02MHxmb3JjZXxwb2tlXSBzZXQgdGltZSBvZiBpbmFjdGl2aXR5IGJlZm9yZSBzY3JlZW4gYmxhbmtzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDExCittc2dpZCAiIC0tZHVtcCAgICAgICAgICBbPG51bWJlcj5dICAgICAgICB3cml0ZSB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTIKK21zZ2lkICIgLS1hcHBlbmQgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIGFwcGVuZCB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTMKK21zZ2lkICIgLS1maWxlICAgICAgICAgIDxmaWxlbmFtZT4gICAgICAgIG5hbWUgb2YgdGhlIGR1bXAgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNAorIywgZnV6enkKK21zZ2lkICIgLS1tc2cgICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHNlbmQga2VybmVsIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNQorIywgZnV6enkKK21zZ2lkICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIGtlcm5lbCBjb25zb2xlIGxvZyBsZXZlbFxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE2Cittc2dpZCAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTcKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCB2ZXNhIHBvd2Vyc2F2aW5nIGZlYXR1cmVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE4Cittc2dpZCAiIC0tcG93ZXJkb3duICAgICBbMC02MF0gICAgICAgICAgICBzZXQgdmVzYSBwb3dlcmRvd24gaW50ZXJ2YWwgaW4gbWludXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxOQorbXNnaWQgIiAtLWJsZW5ndGggICAgICAgWzAtMjAwMF0gICAgICAgICAgZHVyYXRpb24gb2YgdGhlIGJlbGwgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIwCittc2dpZCAiIC0tYmZyZXEgICAgICAgICA8bnVtYmVyPiAgICAgICAgICBiZWxsIGZyZXF1ZW5jeSBpbiBIZXJ0elxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMQorIywgZnV6enkKK21zZ2lkICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIHNob3cgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgLT8gICAgICAgICBwcmlrYcW+aSBvdnUgcG9tb8SHIGkgaXphxJFpXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMgorIywgZnV6enkKK21zZ2lkICIgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAtaCwgLS1oZWxwICAgICAgICAgcHJpa2HFvmkgb3Z1IHBvbW/EhyBpIGl6YcSRaVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MzAKK21zZ2lkICJkdXBsaWNhdGUgdXNlIG9mIGFuIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MzQKK21zZ2lkICJjYW5ub3QgZm9yY2UgYmxhbmsiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzM5Cittc2dpZCAiY2Fubm90IGZvcmNlIHVuYmxhbmsiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQ1Cittc2dpZCAiY2Fubm90IGdldCBibGFuayBzdGF0dXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzcxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbiBub3Qgb3BlbiBkdW1wIGZpbGUgJXMgZm9yIG91dHB1dCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgJXMgZG9lcyBub3Qgc3VwcG9ydCAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo5ODgKK21zZ2lkICJjYW5ub3QgKHVuKXNldCBwb3dlcnNhdmUgbW9kZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDA3IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwMTYKK21zZ2lkICJrbG9nY3RsIGVycm9yIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwMzcKK21zZ2lkICIkVEVSTSBpcyBub3QgZGVmaW5lZC4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0NAorbXNnaWQgInRlcm1pbmZvIGRhdGFiYXNlIGNhbm5vdCBiZSBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIHRlcm1pbmFsIHR5cGUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0OAorbXNnaWQgInRlcm1pbmFsIGlzIGhhcmRjb3B5IgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB0b28gbWFueSBpb3YncyIKK21zZ3N0ciAiaW50ZXJuYSBncmXFoWthIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImV4Y2Vzc2l2ZWx5IGxvbmcgbGluZSBhcmciCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wZW4gZmFpbGVkIgorbXNnc3RyICJvcGVuIG5pamUgdXNwaW86ICVzIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJmb3JrOiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZm9yayIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkFEIEVSUk9SLCBtZXNzYWdlIGlzIGZhciB0b28gbG9uZyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IHwgPG1lc3NhZ2U+XVxuIgorbXNnc3RyICIgJXMgW29wY2lqZV0gZGF0b3Rla2FcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODYKK21zZ2lkICJXcml0ZSBhIG1lc3NhZ2UgdG8gYWxsIHVzZXJzLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg5Cittc2dpZCAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIGRvIG5vdCBwcmludCBiYW5uZXIsIHdvcmtzIG9ubHkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5MAorbXNnaWQgIiAtdCwgLS10aW1lb3V0IDx0aW1lb3V0PiB3cml0ZSB0aW1lb3V0IGluIHNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMzIKK21zZ2lkICItLW5vYmFubmVyIGlzIGF2YWlsYWJsZSBvbmx5IGZvciByb290IgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEzNworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjI2OQorbXNnaWQgImNhbm5vdCBnZXQgcGFzc3dkIHVpZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyNzQKK21zZ2lkICJjYW5ub3QgZ2V0IHR0eSBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICJCcm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzQCVzICglcykgKCVzKToiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IHJlYWQgJXMgLSB1c2Ugc3RkaW4uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1c2VyPiBbPHR0eW5hbWU+XVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo5MAorbXNnaWQgIlNlbmQgYSBtZXNzYWdlIHRvIGFub3RoZXIgdXNlci5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgImVmZmVjdGl2ZSBnaWQgZG9lcyBub3QgbWF0Y2ggZ3JvdXAgb2YgJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDcKK21zZ2lkICJjYW4ndCBmaW5kIHlvdXIgdHR5J3MgbmFtZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGxvZ2dlZCBpbiBtb3JlIHRoYW4gb25jZTsgd3JpdGluZyB0byAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjM4Cittc2dpZCAiY2FyZWZ1bHB1dGMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIChhcyAlcykgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozMzEKK21zZ2lkICJ5b3UgaGF2ZSB3cml0ZSBwZXJtaXNzaW9uIHR1cm5lZCBvZmYiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIG9uICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIG9uICVzIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM0Cittc2dpZCAiRmlsdGVyIG91dCByZXZlcnNlIGxpbmUgZmVlZHMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAgZG8gbm90IG91dHB1dCBiYWNrc3BhY2VzXG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAgcGVybWl0IGZvcndhcmQgaGFsZiBsaW5lIGZlZWRzXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAgcGFzcyB1bmtub3duIGNvbnRyb2wgc2VxdWVuY2VzXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgY29udmVydCBzcGFjZXMgdG8gdGFic1xuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIGNvbnZlcnQgdGFicyB0byBzcGFjZXNcbiIKKyIgLWwsIC0tbGluZXMgTlVNICAgICAgICBidWZmZXIgYXQgbGVhc3QgTlVNIGxpbmVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLUgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTQ4IHRleHQtdXRpbHMvY29scm0uYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXMgcmVhZHMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MjEyCittc2dpZCAiYmFkIC1sIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbid0IGJhY2sgdXAgJXMuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM3Cittc2dpZCAicGFzdCBmaXJzdCBsaW5lIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM3Cittc2dpZCAiLS0gbGluZSBhbHJlYWR5IGZsdXNoZWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4MSB0ZXh0LXV0aWxzL2NvbHVtbi5jOjExNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICIgJXMgW29wY2lqZV0gZGF0b3Rla2FcbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NAorbXNnaWQgIkZpbHRlciBucm9mZiBvdXRwdXQgZm9yIENSVCBwcmV2aWV3aW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODcKK21zZ2lkICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgICAgc3VwcHJlc3MgYWxsIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OAorIywgZnV6enkKK21zZ2lkICIgLTIsIC0taGFsZi1saW5lcyAgICAgICAgcHJpbnQgYWxsIGhhbGYtbGluZXNcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtzdGFydGNvbCBbZW5kY29sXV1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjQKK21zZ2lkICJGaWx0ZXIgb3V0IHRoZSBzcGVjaWZpZWQgY29sdW1ucy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg1Cittc2dpZCAiZmlyc3QgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NworbXNnaWQgInNlY29uZCBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyMAorbXNnaWQgIkNvbHVtbmF0ZSBsaXN0cy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyMworbXNnaWQgIiAtYywgLS1jb2x1bW5zIDx3aWR0aD4gICAgd2lkdGggb2Ygb3V0cHV0IGluIG51bWJlciBvZiBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjQKK21zZ2lkICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgIGNyZWF0ZSBhIHRhYmxlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjUKK21zZ2lkICIgLXMsIC0tc2VwYXJhdG9yIDxzdHJpbmc+IHBvc3NpYmxlIHRhYmxlIGRlbGltaXRlcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyNgorbXNnaWQgIiIKKyIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8c3RyaW5nPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucyBzZXBhcmF0b3IgZm9yIHRhYmxlIG91dHB1dDsgZGVmYXVsdCBpcyB0d28gc3BhY2VzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjgKK21zZ2lkICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgIGZpbGwgcm93cyBiZWZvcmUgY29sdW1uc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTgyCittc2dpZCAiaW52YWxpZCBjb2x1bW5zIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDIyCisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQgaXMgdG9vIGxvbmcsIG91dHB1dCB3aWxsIGJlIHRydW5jYXRlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTUgdGV4dC11dGlscy9tb3JlLmM6MjI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPi4uLlxuIgorbXNnc3RyICIgJXMgW29wY2lqZV0gZGF0b3Rla2FcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU4Cittc2dpZCAiRGlzcGxheSBmaWxlIGNvbnRlbnRzIGluIGhleGFkZWNpbWFsLCBkZWNpbWFsLCBvY3RhbCwgb3IgYXNjaWkuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYxCittc2dpZCAiIC1iLCAtLW9uZS1ieXRlLW9jdGFsICAgICAgb25lLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MgorbXNnaWQgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgIG9uZS1ieXRlIGNoYXJhY3RlciBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYzCittc2dpZCAiIC1DLCAtLWNhbm9uaWNhbCAgICAgICAgICAgY2Fub25pY2FsIGhleCtBU0NJSSBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY0Cittc2dpZCAiIC1kLCAtLXR3by1ieXRlcy1kZWNpbWFsICAgdHdvLWJ5dGUgZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY1Cittc2dpZCAiIC1vLCAtLXR3by1ieXRlcy1vY3RhbCAgICAgdHdvLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NgorbXNnaWQgIiAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjcKK21zZ2lkICIgLUwsIC0tY29sb3JbPTxtb2RlPl0gICAgICBpbnRlcnByZXQgY29sb3IgZm9ybWF0dGluZyBzcGVjaWZpZXJzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcwCittc2dpZCAiIC1lLCAtLWZvcm1hdCA8Zm9ybWF0PiAgICAgZm9ybWF0IHN0cmluZyB0byBiZSB1c2VkIGZvciBkaXNwbGF5aW5nIGRhdGFcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzEKK21zZ2lkICIgLWYsIC0tZm9ybWF0LWZpbGUgPGZpbGU+ICBmaWxlIHRoYXQgY29udGFpbnMgZm9ybWF0IHN0cmluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzIKK21zZ2lkICIgLW4sIC0tbGVuZ3RoIDxsZW5ndGg+ICAgICBpbnRlcnByZXQgb25seSBsZW5ndGggYnl0ZXMgb2YgaW5wdXRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzMKK21zZ2lkICIgLXMsIC0tc2tpcCA8b2Zmc2V0PiAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzQKK21zZ2lkICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICBvdXRwdXQgaWRlbnRpY2FsIGxpbmVzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLWRpc3BsYXkuYzozNjUKK21zZ2lkICJhbGwgaW5wdXQgZmlsZSBhcmd1bWVudHMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBieXRlIGNvdW50IGZvciBjb252ZXJzaW9uIGNoYXJhY3RlciAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlJXMgcmVxdWlyZXMgYSBwcmVjaXNpb24gb3IgYSBieXRlIGNvdW50IgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjY1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBmb3JtYXQgeyVzfSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo3MAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29udmVyc2lvbiBjaGFyYWN0ZXIgJSUlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo0MzYKK21zZ2lkICJieXRlIGNvdW50IHdpdGggbXVsdGlwbGUgY29udmVyc2lvbiBjaGFyYWN0ZXJzIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbGluZS5jOjMzCittc2dpZCAiUmVhZCBvbmUgbGluZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMjgKK21zZ2lkICJBIGZpbGUgcGVydXNhbCBmaWx0ZXIgZm9yIENSVCB2aWV3aW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMQorIywgZnV6enkKK21zZ2lkICIgLWQgICAgICAgICAgZGlzcGxheSBoZWxwIGluc3RlYWQgb2YgcmluZ2luZyBiZWxsXG4iCittc2dzdHIgIiAtPyAgICAgICAgIHByaWthxb5pIG92dSBwb21vxIcgaSBpemHEkWlcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjMyCittc2dpZCAiIC1mICAgICAgICAgIGNvdW50IGxvZ2ljYWwgcmF0aGVyIHRoYW4gc2NyZWVuIGxpbmVzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjMzCittc2dpZCAiIC1sICAgICAgICAgIHN1cHByZXNzIHBhdXNlIGFmdGVyIGZvcm0gZmVlZFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNAorbXNnaWQgIiAtYyAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBkaXNwbGF5IHRleHQgYW5kIGNsZWFuIGxpbmUgZW5kc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNQorIywgZnV6enkKK21zZ2lkICIgLXAgICAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIKK21zZ3N0ciAiIC1UICAgICAgICAgbmUgcHJpa2F6dWogbmFzbG92IHByaSBwb2tyZXRhbmp1XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNgorIywgZnV6enkKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIgLVYgICAgICAgICBwb2phc25pIMWhdG8gcHJvZ3JhbSByYWRpXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNworbXNnaWQgIiAtdSAgICAgICAgICBzdXBwcmVzcyB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOAorIywgZnV6enkKK21zZ2lkICIgLTxudW1iZXI+ICAgdGhlIG51bWJlciBvZiBsaW5lcyBwZXIgc2NyZWVuZnVsXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM5Cittc2dpZCAiICs8bnVtYmVyPiAgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBsaW5lIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MAorbXNnaWQgIiArLzxzdHJpbmc+ICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gc2VhcmNoIHN0cmluZyBtYXRjaFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MQorIywgZnV6enkKK21zZ2lkICIgLVYgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAtPyAgICAgICAgIHByaWthxb5pIG92dSBwb21vxIcgaSBpemHEkWlcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIC0lcyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKiAlczogZGlyZWN0b3J5ICoqKlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqKioqKiogJXM6IE5vdCBhIHRleHQgZmlsZSAqKioqKioqKlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjY0NQorIywgYy1mb3JtYXQKK21zZ2lkICJbVXNlIHEgb3IgUSB0byBxdWl0XSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1Nb3JlLS0iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzI2CisjLCBjLWZvcm1hdAorbXNnaWQgIihOZXh0IGZpbGU6ICVzKSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzIHNwYWNlIHRvIGNvbnRpbnVlLCAncScgdG8gcXVpdC5dIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjExNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uYmFjayAlZCBwYWdlIgorbXNnaWRfcGx1cmFsICIuLi5iYWNrICVkIHBhZ2VzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKK21zZ3N0clsyXSAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjEwCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnNraXBwaW5nICVkIGxpbmUiCittc2dpZF9wbHVyYWwgIi4uLnNraXBwaW5nICVkIGxpbmVzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKK21zZ3N0clsyXSAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjQ4Cittc2dpZCAiIgorIlxuIgorIioqKkJhY2sqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjYzCittc2dpZCAiTm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyOTMKK21zZ2lkICIiCisiXG4iCisiTW9zdCBjb21tYW5kcyBvcHRpb25hbGx5IHByZWNlZGVkIGJ5IGludGVnZXIgYXJndW1lbnQgay4gIERlZmF1bHRzIGluIGJyYWNrZXRzLlxuIgorIlN0YXIgKCopIGluZGljYXRlcyBhcmd1bWVudCBiZWNvbWVzIG5ldyBkZWZhdWx0LlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzMDAKK21zZ2lkICIiCisiPHNwYWNlPiAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXSpcbiIKKyI8cmV0dXJuPiAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFsxXSpcbiIKKyJkIG9yIGN0cmwtRCAgICAgICAgICAgICBTY3JvbGwgayBsaW5lcyBbY3VycmVudCBzY3JvbGwgc2l6ZSwgaW5pdGlhbGx5IDExXSpcbiIKKyJxIG9yIFEgb3IgPGludGVycnVwdD4gICBFeGl0IGZyb20gbW9yZVxuIgorInMgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIGxpbmVzIG9mIHRleHQgWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorImIgb3IgY3RybC1CICAgICAgICAgICAgIFNraXAgYmFja3dhcmRzIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIHBsYWNlIHdoZXJlIHByZXZpb3VzIHNlYXJjaCBzdGFydGVkXG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGxpbmUgbnVtYmVyXG4iCisiLzxyZWd1bGFyIGV4cHJlc3Npb24+ICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiByZWd1bGFyIGV4cHJlc3Npb24gWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiBsYXN0IHIuZSBbMV1cbiIKKyIhPGNtZD4gb3IgOiE8Y21kPiAgICAgICBFeGVjdXRlIDxjbWQ+IGluIGEgc3Vic2hlbGxcbiIKKyJ2ICAgICAgICAgICAgICAgICAgICAgICBTdGFydCB1cCAvdXNyL2Jpbi92aSBhdCBjdXJyZW50IGxpbmVcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICBSZWRyYXcgc2NyZWVuXG4iCisiOm4gICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIG5leHQgZmlsZSBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggcHJldmlvdXMgZmlsZSBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlclxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIFJlcGVhdCBwcmV2aW91cyBjb21tYW5kXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTM3MyB0ZXh0LXV0aWxzL21vcmUuYzoxMzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyAnaCcgZm9yIGluc3RydWN0aW9ucy5dIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGxpbmUgJWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQxMgorIywgYy1mb3JtYXQKK21zZ2lkICJbTm90IGEgZmlsZV0gbGluZSAlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDk0Cittc2dpZCAiICBPdmVyZmxvd1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1NDMKK21zZ2lkICIuLi5za2lwcGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1NzcKK21zZ2lkICIiCisiXG4iCisiUGF0dGVybiBub3QgZm91bmRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTgzIHRleHQtdXRpbHMvcGcuYzoxMDI3IHRleHQtdXRpbHMvcGcuYzoxMTczCittc2dpZCAiUGF0dGVybiBub3QgZm91bmQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTYyOQorbXNnaWQgImV4ZWMgZmFpbGVkXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY0MworbXNnaWQgImNhbid0IGZvcmtcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjc3Cittc2dpZCAiIgorIlxuIgorIi4uLlNraXBwaW5nICIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjgxCittc2dpZCAiLi4uU2tpcHBpbmcgdG8gZmlsZSAiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY4MworbXNnaWQgIi4uLlNraXBwaW5nIGJhY2sgdG8gZmlsZSAiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTk3MworbXNnaWQgIkxpbmUgdG9vIGxvbmciCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjAxMAorbXNnaWQgIk5vIHByZXZpb3VzIGNvbW1hbmQgdG8gc3Vic3RpdHV0ZSBmb3IiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjE0NAorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBoICAgICAgICAgICAgICAgICAgICAgICB0aGlzIHNjcmVlblxuIgorIiAgcSBvciBRICAgICAgICAgICAgICAgICAgcXVpdCBwcm9ncmFtXG4iCisiICA8bmV3bGluZT4gICAgICAgICAgICAgICBuZXh0IHBhZ2VcbiIKKyIgIGYgICAgICAgICAgICAgICAgICAgICAgIHNraXAgYSBwYWdlIGZvcndhcmRcbiIKKyIgIGQgb3IgXkQgICAgICAgICAgICAgICAgIG5leHQgaGFsZnBhZ2VcbiIKKyIgIGwgICAgICAgICAgICAgICAgICAgICAgIG5leHQgbGluZVxuIgorIiAgJCAgICAgICAgICAgICAgICAgICAgICAgbGFzdCBwYWdlXG4iCisiICAvcmVnZXgvICAgICAgICAgICAgICAgICBzZWFyY2ggZm9yd2FyZCBmb3IgcmVnZXhcbiIKKyIgID9yZWdleD8gb3IgXnJlZ2V4XiAgICAgIHNlYXJjaCBiYWNrd2FyZCBmb3IgcmVnZXhcbiIKKyIgIC4gb3IgXkwgICAgICAgICAgICAgICAgIHJlZHJhdyBzY3JlZW5cbiIKKyIgIHcgb3IgeiAgICAgICAgICAgICAgICAgIHNldCBwYWdlIHNpemUgYW5kIGdvIHRvIG5leHQgcGFnZVxuIgorIiAgcyBmaWxlbmFtZSAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IGZpbGUgdG8gZmlsZW5hbWVcbiIKKyIgICFjb21tYW5kICAgICAgICAgICAgICAgIHNoZWxsIGVzY2FwZVxuIgorIiAgcCAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gcHJldmlvdXMgZmlsZVxuIgorIiAgbiAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gbmV4dCBmaWxlXG4iCisiXG4iCisiTWFueSBjb21tYW5kcyBhY2NlcHQgcHJlY2VkaW5nIG51bWJlcnMsIGZvciBleGFtcGxlOlxuIgorIisxPG5ld2xpbmU+IChuZXh0IHBhZ2UpOyAtMTxuZXdsaW5lPiAocHJldmlvdXMgcGFnZSk7IDE8bmV3bGluZT4gKGZpcnN0IHBhZ2UpLlxuIgorIlxuIgorIlNlZSBwZygxKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyMgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFsrbGluZV0gWysvcGF0dGVybi9dIFtmaWxlc11cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjI2Cittc2dpZCAiQnJvd3NlIHBhZ2V3aXNlIHRocm91Z2ggdGV4dCBmaWxlcy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjI5Cittc2dpZCAiIC1udW1iZXIgICAgICBsaW5lcyBwZXIgcGFnZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzAKK21zZ2lkICIgLWMgICAgICAgICAgIGNsZWFyIHNjcmVlbiBiZWZvcmUgZGlzcGxheWluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzEKK21zZ2lkICIgLWUgICAgICAgICAgIGRvIG5vdCBwYXVzZSBhdCBlbmQgb2YgYSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMgorbXNnaWQgIiAtZiAgICAgICAgICAgZG8gbm90IHNwbGl0IGxvbmcgbGluZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMzCittc2dpZCAiIC1uICAgICAgICAgICB0ZXJtaW5hdGUgY29tbWFuZCB3aXRoIG5ldyBsaW5lXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNAorbXNnaWQgIiAtcCA8cHJvbXB0PiAgc3BlY2lmeSBwcm9tcHRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM1Cittc2dpZCAiIC1yICAgICAgICAgICBkaXNhbGxvdyBzaGVsbCBlc2NhcGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM2Cittc2dpZCAiIC1zICAgICAgICAgICBwcmludCBtZXNzYWdlcyB0byBzdGRvdXRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM3Cittc2dpZCAiICtudW1iZXIgICAgICBzdGFydCBhdCB0aGUgZ2l2ZW4gbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzgKK21zZ2lkICIgKy9wYXR0ZXJuLyAgIHN0YXJ0IGF0IHRoZSBsaW5lIGNvbnRhaW5pbmcgcGF0dGVyblxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAlcyIKK21zZ3N0ciAiJXMgemFodGlqZXZhIGFyZ3VtZW50IgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgb3B0aW9uIC0tICVzIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNTkKK21zZ2lkICIuLi5za2lwcGluZyBmb3J3YXJkXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjM2MQorbXNnaWQgIi4uLnNraXBwaW5nIGJhY2t3YXJkXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjM3NworbXNnaWQgIk5vIG5leHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzgxCittc2dpZCAiTm8gcHJldmlvdXMgZmlsZSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yIGZyb20gJXMgZmlsZSIKK21zZ3N0ciAiZ3JlxaFrYSDEjWl0YW5qYSBuYSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjg4NgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIEVPRiBpbiAlcyBmaWxlIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gZXJyb3IgaW4gJXMgZmlsZSIKK21zZ3N0ciAiTmVwb3puYXRhIG5hcmVkYmE6ICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTQxCisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIm5lIG1vZ3UgcHJpc3R1cGl0aSBkYXRvdGVjaSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjk1MCB0ZXh0LXV0aWxzL3BnLmM6MTExNCB0ZXh0LXV0aWxzL3BnLmM6MTE0MAorbXNnaWQgIlJFIGVycm9yOiAiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjEwOTcKK21zZ2lkICIoRU9GKSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTEyMiB0ZXh0LXV0aWxzL3BnLmM6MTE0OAorbXNnaWQgIk5vIHJlbWVtYmVyZWQgc2VhcmNoIHN0cmluZyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTIwMworbXNnaWQgImNhbm5vdCBvcGVuICIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI1NQorbXNnaWQgInNhdmVkIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzQ1Cittc2dpZCAiOiAhY29tbWFuZCBub3QgYWxsb3dlZCBpbiByZmxhZyBtb2RlLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzgwCittc2dpZCAiZm9yaygpIGZhaWxlZCwgdHJ5IGFnYWluIGxhdGVyXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjE0NjgKK21zZ2lkICIoTmV4dCBmaWxlOiAiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjE1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXMgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU4NyB0ZXh0LXV0aWxzL3BnLmM6MTY2MAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMgcGVyIHBhZ2UiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9yZXYuYzo3NgorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjgwCittc2dpZCAiUmV2ZXJzZSBsaW5lcyBjaGFyYWN0ZXJ3aXNlLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5jb21wbGV0ZSB3cml0ZSB0byBcIiVzXCIgKHdyaXR0ZW4gJXpkLCBleHBlY3RlZCAlemQpXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoIChsaW1pdCBvZiBpbm90aWZ5IHdhdGNoZXMgd2FzIHJlYWNoZWQpLiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbl0gPGZpbGU+XG4iCittc2dzdHIgIiAlcyBbb3BjaWplXSBkYXRvdGVrYVxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjAwCittc2dpZCAiRm9sbG93IHRoZSBncm93dGggb2YgYSBsb2cgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjAzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1saW5lcyA8bnVtYmVyPiAgIG91dHB1dCB0aGUgbGFzdCA8bnVtYmVyPiBsaW5lc1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMDQKKyMsIGZ1enp5Cittc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgICAgc2FtZSBhcyAnLW4gPG51bWJlcj4nXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIxMAorbXNnaWQgIldhcm5pbmc6IHVzZSBvZiAndGFpbGYnIGlzIGRlcHJlY2F0ZWQsIHVzZSAndGFpbCAtZicgaW5zdGVhZC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjIzIHRleHQtdXRpbHMvdGFpbGYuYzoyNjMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGxpbmVzIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyNzUKK21zZ2lkICJubyBpbnB1dCBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGEgZmlsZSIKK21zZ3N0ciAic3RhdCBuaWplIHVzcGlvICVzIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gLi4uXVxuIgorbXNnc3RyICIgJXMgW29wY2lqZV0gZGF0b3Rla2FcbiIKKworIzogdGV4dC11dGlscy91bC5jOjEzOQorbXNnaWQgIkRvIHVuZGVybGluaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDIKK21zZ2lkICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDMKK21zZ2lkICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMDQKK21zZ2lkICJ0cm91YmxlIHJlYWRpbmcgdGVybWluZm8iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCBgJXMnIGlzIG5vdCBrbm93biwgZGVmYXVsdGluZyB0byBgZHVtYiciCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGVzY2FwZSBzZXF1ZW5jZSBpbiBpbnB1dDogJW8sICVvIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzo2MjQKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAiIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIHNlY2NvbXAgY29udGV4dCIKKyN+IG1zZ3N0ciAibmUgbW9ndSB2cmF0aXRpIHVuYXRyYWcgc3dhcC11cmXEkWFqIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBhZGQgc2VjY29tcCBydWxlIgorI34gbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGxvYWQgc2VjY29tcCBydWxlIgorI34gbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmlsZXN5c3RlbSBsYWJlbDoiCisjfiBtc2dzdHIgIlN0YW5qZSBkYXRvdGXEjW5vZyBzdXN0YXZhPSVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYXJndW1lbnQgZXJyb3I6ICVzIgorI34gbXNnc3RyICJncmXFoWthIG9icmFkZTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG5vdCBzZXR1cCB0aW1lciIKKyN+IG1zZ3N0ciAibmUgbW9ndSB6YXR2b3JpdGkgZGF0b3Rla3UgJXMiCisKKyN+IG1zZ2lkICJjYW5ub3QgYWNjZXNzIGZpbGUgJXMiCisjfiBtc2dzdHIgIm5lIG1vZ3UgcHJpc3R1cGl0aSBkYXRvdGVjaSAlcyIKKworI34gbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIHNwZWNpYWwgZGV2aWNlIgorI34gbXNnc3RyICIlcyBuaWplIGJsb2tvdnNraSBwb3NlYm5pIHVyZcSRYWoiCisKKyN+IG1zZ2lkICIlczogZGV2aWNlIGlzIG1pc2FsaWduZWQiCisjfiBtc2dzdHIgIiVzOiB1cmXEkWFqIGplIG5lcHJhdmlsbm8gcG9yYXZuYW4iCisKKyN+IG1zZ2lkICIiCisjfiAiVmVyeSBsb25nICglenUgYnl0ZXMpIGZpbGVuYW1lIGAlcycgZm91bmQuXG4iCisjfiAiIFBsZWFzZSBpbmNyZWFzZSBNQVhfSU5QVVRfTkFNRUxFTiBpbiBta2NyYW1mcy5jIGFuZCByZWNvbXBpbGUuICBFeGl0aW5nLiIKKyN+IG1zZ3N0ciAiIgorI34gIlByb25hxJFlbm8gamUgdnJsbyBkdWdhxI1rbyAoJXp1IGJhanRvdmEpIGltZSBkYXRvdGVrZSDigJ4lc+KAnS5cbiIKKyN+ICIgTW9saW0gcG92ZcSHYWp0ZSB1IE1BWF9JTlBVVF9OQU1FTEVOIHUgbWtjcmFtZnMuYyBpIHBvbm92byBrb21wYWpsaXJhanRlLiBJemxhemltLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAiJXM6IG5lIG1vZ3UgYWxvY2lyYXRpIG1lxJF1c3ByZW1uaWsgemEgc3VwZXJibG9rIgorCisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzIGZvciBtYXBzIgorI34gbXNnc3RyICIlczogbmUgbW9ndSBhbG9jaXJhdGkgbWXEkXVzcHJlbW5pa2UgemEgbWFwZSIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCisjfiBtc2dzdHIgIiVzOiBuZSBtb2d1IGFsb2NpcmF0aSBtZcSRdXNwcmVtbmlrIHphIGluZGVrc25lIMSNdm9yb3ZlIgorCisjfiBtc2dpZCAiIC12ICBiZSB2ZXJib3NlXG4iCisjfiBtc2dzdHIgIiAtdiAgYnVkaSBvcMWhaXJhblxuIgorCisjfiBtc2dpZCAiJXM6IGJhZCBpbm9kZSBzaXplIgorI34gbXNnc3RyICIlczogbmVpc3ByYXZuYSB2ZWxpxI1pbmEgaW5kZWtzbm9nIMSNdm9yYSIKKworI34gbXNnaWQgIndpbGwgbm90IHRyeSB0byBtYWtlIGZpbGVzeXN0ZW0gb24gJyVzJyIKKyN+IG1zZ3N0ciAibmXEh3UgcG9rdcWhYXRpIG5hcHJhdml0aSBkYXRvdGXEjW5pIHN1c3RhdiBuYSDigJ4lc+KAnSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW4sIC0tbmV0ICAgICAgICAgICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVUsIC0tdXNlciAgICAgICAgICAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJW0iCisjfiBtc2dzdHIgIm5lIG1vZ3Ugb3R2b3JpdGkgJXM6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRvbyBzbWFsbCBwYXJ0aXRpb24gc2l6ZSBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyN+IG1zZ2lkICJzdGF0IGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAic3RhdCBuaWplIHVzcGlvICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorI34gbXNnc3RyICJuaXNhbSB1c3BpbyBhbG9jaXJhdGkgaXRlcmF0b3IiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW46ICVzIgorI34gbXNnc3RyICJuZSBtb2d1IG90dm9yaXRpICVzIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiVXBvcmFiYTogJXMgW29wY2lqZV0gdXJlxJFhalxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1uLCAtLW5vLXZlcmlmeSAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJPcGNpamU6XG4iCisjfiAiIC1uLCAtLW5vLXZlcmlmeSAgb25lbW9ndcSHaSBwcm92amVydSBuYWtvbiBmb3JtYXRpcmFuamFcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBpc3BpxaFpIGluZm9ybWFjaWplIG8gaW5hxI1pY2kgaSBpemHEkWlcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBwcmlrYcW+aSBvdnUgcG9tb8SHIGkgaXphxJFpXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG1rZnMoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJaYSB2acWhZSBpbmZvcm1hY2lqYSBwb2dsZWRhanRlIG1rZnMoOCkuXG4iCisKKyN+IG1zZ2lkICIlcyAoJXMpXG4iCisjfiBtc2dzdHIgIiVzICglcylcbiIKKworI34gbXNnaWQgIkJhZCBzd2FwIGhlYWRlciBzaXplLCBubyBsYWJlbCB3cml0dGVuLiIKKyN+IG1zZ3N0ciAiTmVpc3ByYXZuYSB2ZWxpxI1pbmEgc3dhcCB6YWdsYXZsamEsIG96bmFrYSBuaWplIHphcGlzYW5hLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGVycm9yIG9uICVzIC0gY2Fubm90IHNlZWsgdG8gJWx1IgorI34gbXNnc3RyICJzZWVrIGdyZcWha2EgbmEgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHNlY3RvciBzYXZlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAibmUgbW9ndSB6YXR2b3JpdGkgZGF0b3Rla3UgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZXJyb3Igb24gJXMiCisjfiBtc2dzdHIgImdyZcWha2EgxI1pdGFuamEgbmEgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHN0YXQgcGFydGl0aW9uIHJlc3RvcmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJuZSBtb2d1IHphdHZvcml0aSBkYXRvdGVrdSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcykiCisjfiBtc2dzdHIgIm5lIG1vZ3Ugb3R2b3JpdGkgJXM6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHJlYWRpbmcgJXMiCisjfiBtc2dzdHIgImdyZcWha2EgcHJpIHphdHZhcmFuanUgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gZGV2aWNlICVzIGZvciB3cml0aW5nIgorI34gbXNnc3RyICJuZSBtb2d1IG90dm9yaXRpICVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciB3cml0aW5nIHNlY3RvciAlbHUgb24gJXMiCisjfiBtc2dzdHIgImdyZcWha2EgcHJpIHBpc2FuanUgc3VwZXJibG9rYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJEaXNrICVzOiBjYW5ub3QgZ2V0IHNpemUiCisjfiBtc2dzdHIgIm5lIG1vZ3Ugb3Rrcml0aSB2ZWxpxI1pbnUgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXJyb3IgY2xvc2luZyAlcyIKKyN+IG1zZ3N0ciAiZ3JlxaFrYSBwcmkgemF0dmFyYW5qdSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZXh0ZW5kcyBwYXN0IGVuZCBvZiBkaXNrIgorI34gbXNnc3RyICJ1cG96b3JlbmplOiBkYXRvdGVrYSBzZSBwcm90ZcW+ZSBwcmVrbyB6YXZyxaFldGthIGRhdG90ZcSNbm9nIHN1c3RhdmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYWlsZWQgd3JpdGluZyB0aGUgcGFydGl0aW9uIG9uICVzIgorI34gbXNnc3RyICJuaXNhbSB1c3BpbyB1a2xvbml0aSBwYXJ0aWNpanUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidG9vIG1hbnkgaW5wdXQgZmllbGRzIgorI34gbXNnc3RyICJwcmV2acWhZSB1cmXEkWFqYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIm5pc2FtIHVzcGlvIHVrbG9uaXRpIHBhcnRpY2lqdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+Li4uXG4iCisjfiBtc2dzdHIgIiAlcyBbb3BjaWplXSA8dXJlxJFhaj5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogT0siCisjfiBtc2dzdHIgIiVzOiB1IHJlZHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgZGV0YWlscyBzZWUgbHNsb2dpbnMoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJaYSB2acWhZSBpbmZvcm1hY2lqYSBwb2dsZWRhanRlIG1rZnMoOCkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3J5cHQoKSBmYWlsZWQiCisjfiBtc2dzdHIgImZvcmsgbmlqZSB1c3BpbyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKKyN+IG1zZ3N0ciAiICVzIFtvcGNpamVdIGRhdG90ZWthXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yLCAtLXJlcXVpcmVkIDxhcmc+ICAgIG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudFxuIgorI34gbXNnc3RyICIlcyB6YWh0aWpldmEgYXJndW1lbnQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAtLXh5enp5ICAgICAgICAgICAgIGEgbG9uZyBvcHRpb24gb25seVxuIgorI34gbXNnc3RyICIgLXkgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zZWN1dGl2ZSBsaW5lcyBhcmUgaW50ZW5kZWQgYnkgdHdvIHNwYWNlc1xuIgorI34gbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1oICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscCB0ZXh0XG4iCisjfiBtc2dzdHIgIiAtPyAgICAgICAgIHByaWthxb5pIG92dSBwb21vxIcgaSBpemHEkWlcbiIKKworI34gbXNnaWQgImNvbXBpbGVkIHdpdGhvdXQgLXggc3VwcG9ydCIKKyN+IG1zZ3N0ciAia29tcGFqbGlyYW5vIGJleiBwb2RyxaFrZSB6YSAteCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAid3JpdGUgbmlqZSB1c3BpbzogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU2VjIgorI34gbXNnc3RyICJQb3N0YXZpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gdXNlICVzIGRldmljZSIKKyN+IG1zZ3N0ciAibmUgbW9ndSB2cmF0aXRpIHVuYXRyYWcgc3dhcC11cmXEkWFqIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGV0ZXJtaW5lIHNvdXJjZSIKKyN+IG1zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZmlsZSBkdW1wZmlsZW5hbWVcbiIKKyN+IG1zZ3N0ciAiIC1sICBpc3BpxaFpIHN2ZSBkYXRvdGVrZVxuIgorCisjfiBtc2dpZCAid2FpZHBpZCBmYWlsZWQiCisjfiBtc2dzdHIgIndhaWRwaWQgbmlqZSB1c3BpbyIKKworI34gbXNnaWQgInNldCBibG9ja3NpemUiCisjfiBtc2dzdHIgInBvc3RhdmkgdmVsacSNaW51IGJsb2thIgorCisjfiBtc2dpZCAib25lIGJhZCBibG9ja1xuIgorI34gbXNnc3RyICJqZWRhbiBuZWlzcHJhdm5pIGJsb2tcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gbXNnc3RyICIgJXMgW29wY2lqZV0gPHVyZcSRYWo+XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVhZCBmYWlsZWQgJXMiCisjfiBtc2dzdHIgIsSNaXRhbmplIG5pamUgdXNwamVsbzogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBmYWlsZWQgJXMiCisjfiBtc2dzdHIgInNlZWsgbmlqZSB1c3BpbzogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBmYWlsZWQ6ICVkIgorI34gbXNnc3RyICJzZWVrIG5pamUgdXNwaW86ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGZhaWxlZDogJWQiCisjfiBtc2dzdHIgIndyaXRlIG5pamUgdXNwaW86ICVzIgorCisjfiBtc2dpZCAidXNhZ2U6XG4iCisjfiBtc2dzdHIgInVwb3JhYmE6XG4iCisKKyN+IG1zZ2lkICJcdE5PVEU6IGVsdnR1bmUgb25seSB3b3JrcyB3aXRoIDIuNCBrZXJuZWxzXG4iCisjfiBtc2dzdHIgIlx0TkFQT01FTkE6IGVsdnR1bmUgcmFkaSBzYW1vIHMgamV6Z3JhbWEgMi40XG4iCisKKyN+IG1zZ2lkICJtaXNzaW5nIGJsb2NrZGV2aWNlLCB1c2UgLWggZm9yIGhlbHBcbiIKKyN+IG1zZ3N0ciAibmVkb3N0YWplIGJsb2tvdnNraSB1cmXEkWFqLCBrb3Jpc3RpdGUgLWggemEgcG9tb8SHXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiZWx2dHVuZSBpcyBvbmx5IHVzZWZ1bCBvbiBvbGRlciBrZXJuZWxzO1xuIgorI34gImZvciAyLjYgdXNlIElPIHNjaGVkdWxlciBzeXNmcyB0dW5hYmxlcyBpbnN0ZWFkLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gImVsdnR1bmUgamUga29yaXN0YW4gc2FtbyBuYSBzdGFyaW0gamV6Z3JhbWEsXG4iCisjfiAidW1qZXN0byBuamVnYSBrb3Jpc3RpdGUgSU8gc2NoZWR1bGVyIHN5c2ZzIHR1bmFibGVzIHphIDIuNi5cbiIKKworI34gbXNnaWQgImVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAibmVpc3ByYXZhbiBhcmd1bWVudCBicm9qYSBpemRhbmphIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPFVTRVI+IENPTU1BTkRcbiIKKyN+IG1zZ3N0ciAiICVzIFtvcGNpamVdIDx1cmXEkWFqPlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNyeXB0IGZhaWxlZDogJW1cbiIKKyN+IG1zZ3N0ciAicGlzYW5qZSBuaWplIHVzcGplbG86ICVzIgpkaWZmIC0tZ2l0IGEvcG8vaHUucG8gYi9wby9odS5wbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNGY3YTkwCi0tLSAvZGV2L251bGwKKysrIGIvcG8vaHUucG8KQEAgLTAsMCArMSwyNDE2NCBAQAorIyBIdW5nYXJpYW4gdHJhbnNsYXRpb24gb2YgdXRpbC1saW51eC1uZworIyBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDcsIDIwMDgsIDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSB1dGlsLWxpbnV4LW5nIHBhY2thZ2UuCisjCisjIEfDoWJvciBJc3R2w6FuIDxzdGl2ZUBtZXpvYmVyZW55Lmh1PiwgMjAwMi4KKyMgR2Fib3IgS2VsZW1lbiA8a2VsZW1lbmdAZ25vbWUuaHU+LCAyMDA3LCAyMDA4LCAyMDEwLgorbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdXRpbC1saW51eC1uZyAyLjE4LXJjMlxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiB1dGlsLWxpbnV4QHZnZXIua2VybmVsLm9yZ1xuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE3LTAyLTIyIDEyOjMyKzAxMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDEwLTA3LTAyIDEwOjQ0KzAyMDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IEdhYm9yIEtlbGVtZW4gPGtlbGVtZW5nQGdub21lLmh1PlxuIgorIkxhbmd1YWdlLVRlYW06IEh1bmdhcmlhbiA8dHJhbnNsYXRpb24tdGVhbS1odUBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCisiTGFuZ3VhZ2U6IGh1XG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisiWC1HZW5lcmF0b3I6IEtCYWJlbCAxLjExLjRcbiIKKyJQbHVyYWwtRm9ybXM6ICBucGx1cmFscz0yOyBwbHVyYWw9KG4gIT0gMSk7XG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8c3RhcnQ+IDxsZW5ndGg+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTgKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIGV4aXN0ZW5jZSBvZiBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTYgZGlzay11dGlscy9ibG9ja2Rldi5jOjI3NiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDIwCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDQ2IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzNCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1NworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNyBkaXNrLXV0aWxzL2ZkaXNrLmM6NzE4IGRpc2stdXRpbHMvZmRpc2suYzo5OTQKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjMwMSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNDEKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM2MCBkaXNrLXV0aWxzL2ZzY2suYzoxNDQ4CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTU1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTAKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEzNCBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg5CisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTczIGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjEKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODggZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE5CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIxNSBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NCBkaXNrLXV0aWxzL3BhcnR4LmM6OTk0CisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDEgZGlzay11dGlscy9zZmRpc2suYzo2NDcgZGlzay11dGlscy9zZmRpc2suYzo3MDMKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzU3IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODE2IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODgwCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkyMSBkaXNrLXV0aWxzL3NmZGlzay5jOjk1MSBkaXNrLXV0aWxzL3NmZGlzay5jOjk4OAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTM3IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjAgbGliZmRpc2svc3JjL2JzZC5jOjY0MQorIzogbGliL3BhdGguYzo3MCBsaWIvcGF0aC5jOjgyIGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo4NyBsb2dpbi11dGlscy9sYXN0LmM6NjcyCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDQ2IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0ODMKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzU5CisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4MSBsb2dpbi11dGlscy92aXB3LmM6MjU4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzYKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOTcgbWlzYy11dGlscy9sb2dnZXIuYzoxMTg4IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjExNQorIzogbWlzYy11dGlscy91dWlkZC5jOjIwNyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4MyBzeXMtdXRpbHMvZG1lc2cuYzo1MjIKKyM6IHN5cy11dGlscy9lamVjdC5jOjUwMCBzeXMtdXRpbHMvZWplY3QuYzo3MDAgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM3NAorIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTI4IHN5cy11dGlscy9mc3RyaW0uYzo3MiBzeXMtdXRpbHMvaHdjbG9jay5jOjI4MgorIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjYzOCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxNjIKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI1NiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDEKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQyMiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NjkKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM4OCBzeXMtdXRpbHMvbnNlbnRlci5jOjEyOCBzeXMtdXRpbHMvcnRjd2FrZS5jOjEzNgorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyNzAgc3lzLXV0aWxzL3NldHByaXYuYzoyMzAgc3lzLXV0aWxzL3NldHByaXYuYzo1MjkKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTUyIHN5cy11dGlscy9zd2Fwb24uYzozNzEgc3lzLXV0aWxzL3N3YXBvbi5jOjUxNAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTYzIHN5cy11dGlscy91bnNoYXJlLmM6MTA2IHN5cy11dGlscy91bnNoYXJlLmM6MTIxCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjEgc3lzLXV0aWxzL3dkY3RsLmM6Mzc3IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYxOAorIzogdGVybS11dGlscy9tZXNnLmM6MTI3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDI1IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDMxCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQzMyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjUyMgorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxOTcgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMDAKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjMzMSB0ZXh0LXV0aWxzL2NvbGNydC5jOjI4MiB0ZXh0LXV0aWxzL21vcmUuYzo1MTMKKyM6IHRleHQtdXRpbHMvcmV2LmM6MTQxIHRleHQtdXRpbHMvdGFpbGYuYzo2OCB0ZXh0LXV0aWxzL3RhaWxmLmM6MTAwCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJhKHopICVzIG5lbSBueWl0aGF0w7MgbWVnIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1OSBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MCBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzo5OAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBhcnRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHN0YXJ0IGFyZ3VtZW50IgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGthcGNzb2zDsyIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjEgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbGVuZ3RoIGFyZ3VtZW50IgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGthcGNzb2zDsyIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24iCittc2dzdHIgInBhcnTDrWNpw7NzIHTDoWJsYSDDumpyYW9sdmFzw6FzYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjYzCittc2dpZCAic2V0IHJlYWQtb25seSIKK21zZ3N0ciAiYmXDoWxsw610w6FzIGNzYWsgb2x2YXNoYXTDs3JhIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzAKK21zZ2lkICJzZXQgcmVhZC13cml0ZSIKK21zZ3N0ciAiYmXDoWxsw610w6FzIMOtcmhhdMOzcmEgw6lzIG9sdmFzaGF0w7NyYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjc2Cittc2dpZCAiZ2V0IHJlYWQtb25seSIKK21zZ3N0ciAiY3NhayBvbHZhc2hhdMOzIMOhbGxhcG90IGxla8OpcsOpc2UiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4MgorbXNnaWQgImdldCBkaXNjYXJkIHplcm9lcyBzdXBwb3J0IHN0YXR1cyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODgKK21zZ2lkICJnZXQgbG9naWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICJsb2dpa2FpIGJsb2trIChzemVrdG9yKW3DqXJldCBsZWvDqXLDqXNlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6OTQKK21zZ2lkICJnZXQgcGh5c2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAiZml6aWthaSBibG9rayAoc3pla3Rvciltw6lyZXQgbGVrw6lyw6lzZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwMAorbXNnaWQgImdldCBtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICJtaW5pbcOhbGlzIEkvTyBtw6lyZXQgbGVrw6lyw6lzZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwNgorbXNnaWQgImdldCBvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICJvcHRpbcOhbGlzIEkvTyBtw6lyZXQgbGVrw6lyw6lzZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExMgorIywgZnV6enkKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAiaWdhesOtdMOhc2kgZWx0b2zDoXMgbGVrw6lyw6lzZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExOAorbXNnaWQgImdldCBtYXggc2VjdG9ycyBwZXIgcmVxdWVzdCIKK21zZ3N0ciAia8OpcsOpc2Vua8OpbnRpIG1heC4gc3pla3RvcnN6w6FtIGxla8OpcsOpc2UiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMjQKK21zZ2lkICJnZXQgYmxvY2tzaXplIgorbXNnc3RyICJibG9ra23DqXJldCBsZWvDqXLDqXNlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTMxCittc2dpZCAic2V0IGJsb2Nrc2l6ZSBvbiBmaWxlIGRlc2NyaXB0b3Igb3BlbmluZyB0aGUgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiZ2V0IDMyLWJpdCBzZWN0b3IgY291bnQgKGRlcHJlY2F0ZWQsIHVzZSAtLWdldHN6KSIKK21zZ3N0ciAiMzIgYml0ZXMgc3pla3Rvcm9rIHN6w6Ftw6FuYWsgbGVrw6lyw6lzZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE0MworbXNnaWQgImdldCBzaXplIGluIGJ5dGVzIgorbXNnc3RyICJtw6lyZXQgbGVrw6lyw6lzZSBiw6FqdG9rYmFuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTUwCittc2dpZCAic2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAiZWzFkXJlb2x2YXPDoXMgYmXDoWxsw610w6FzYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1NgorbXNnaWQgImdldCByZWFkYWhlYWQiCittc2dzdHIgImVsxZFyZW9sdmFzw6FzIGxla8OpcsOpc2UiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjMKK21zZ2lkICJzZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgImbDoWpscmVuZHN6ZXIgZWzFkXJlb2x2YXPDoXPDoW5hayBiZcOhbGzDrXTDoXNhIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTY5Cittc2dpZCAiZ2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICJmw6FqbHJlbmRzemVyIGVsxZFyZW9sdmFzw6Fzw6FuYWsgbGVrw6lyw6lzZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3MworbXNnaWQgImZsdXNoIGJ1ZmZlcnMiCittc2dzdHIgInB1ZmZlcmVrIMO8csOtdMOpc2UiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzcKK21zZ2lkICJyZXJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJwYXJ0w61jacOzcyB0w6FibGEgw7pqcmFvbHZhc8Ohc2EiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlMSRzIC1WXG4iCisiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisiXG4iCisiQXZhaWxhYmxlIGNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlLTI1cyBnZXQgc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzXG4iCittc2dzdHIgIm3DqXJldCBsZWvDqXLDqXNlIDUxMiBiw6FqdG9zIHN6ZWt0b3Jva2JhbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMxMQorIywgZnV6enkKK21zZ2lkICJjb3VsZCBub3QgZ2V0IGRldmljZSBzaXplIgorbXNnc3RyICJOZW0gbGVoZXQgbGVrw6lyZGV6bmkgYSBsZW1leiBtw6lyZXTDqXQiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gY29tbWFuZDogJXMiCittc2dzdHIgIiVzOiBJc21lcmV0bGVuIHBhcmFuY3M6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICIlcyBlZ3kgcGFyYW3DqXRlcnQgaWfDqW55ZWxcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM2OCBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiJXM6IGlvY3RsIGhpYmEgYSBrw7Z2ZXRrZXrFkW46ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkLlxuIgorbXNnc3RyICIlcyBtZWdoacO6c3VsdC5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIiVzIHNpa2VyZXMuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzeXNmcyBoYW5kbGVyIgorbXNnc3RyICJOZW0gZm9nbGFsaGF0w7MgbGUgcHVmZmVydC5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiBzdGFydCBmcm9tIHN5c2ZzIgorbXNnc3RyICJwYXJ0w61jacOzcyB0w6FibGEgw7pqcmFvbHZhc8Ohc2EiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk8gICAgUkEgICBTU1ogICBCU1ogICBTdGFydFNlYyAgICAgICAgICAgIFNpemUgICBEZXZpY2VcbiIKK21zZ3N0ciAiw41WICAgIEVPICAgU00gICAgQk0gICAgS2V6ZMWRU3pla3RvciAgICAgICAgTcOpcmV0ICAgRXN6a8O2elxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3OQorbXNnaWQgIkJvb3RhYmxlIgorbXNnc3RyICJBa3TDrXYiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTc5Cittc2dpZCAiVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJBeiBha3R1w6FsaXMgcGFydMOtY2nDsyBpbmTDrXRoYXTDs3bDoSB0w6l0ZWxlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MAorbXNnaWQgIkRlbGV0ZSIKK21zZ3N0ciAiVMO2cmzDqXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgwCittc2dpZCAiRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiQXogYWt0dcOhbGlzIHBhcnTDrWNpw7MgdMO2cmzDqXNlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MQorbXNnaWQgIk5ldyIKK21zZ3N0ciAiw5pqIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MQorbXNnaWQgIkNyZWF0ZSBuZXcgcGFydGl0aW9uIGZyb20gZnJlZSBzcGFjZSIKK21zZ3N0ciAiw5pqIHBhcnTDrWNpw7MgbMOpdHJlaG96w6FzYSBhIHN6YWJhZCB0ZXLDvGxldGVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MgorbXNnaWQgIlF1aXQiCittc2dzdHIgIktpbMOpcMOpcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODIKKyMsIGZ1enp5Cittc2dpZCAiUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBjaGFuZ2VzIgorbXNnc3RyICJLaWzDqXDDqXMgYSBwYXJ0w61jacOzcyB0w6FibGEga2nDrXLDoXNhIG7DqWxrw7xsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MyBsaWJmZGlzay9zcmMvYnNkLmM6NDM5IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIwCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNiBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MAorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMTYKK21zZ2lkICJUeXBlIgorbXNnc3RyICJUw61wdXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgzCisjLCBmdXp6eQorbXNnaWQgIkNoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgIHQgICBlZ3kgcGFydMOtY2nDsyByZW5kc3plcmF6b25vc8OtdMOzasOhbmFrIG3Ds2Rvc8OtdMOhc2EiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0Cittc2dpZCAiSGVscCIKK21zZ3N0ciAiU8O6Z8OzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NAorbXNnaWQgIlByaW50IGhlbHAgc2NyZWVuIgorbXNnc3RyICJTZWfDrXRzw6lnIGtpw61yw6FzYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODUKK21zZ2lkICJTb3J0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1CisjLCBmdXp6eQorbXNnaWQgIkZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICIgICBmICAgcGFydMOtY2nDs3NvcnJlbmQgamF2w610w6FzYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJXcml0ZSIKK21zZ3N0ciAiS2nDrXLDoXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhKSIKK21zZ3N0ciAiQSBwYXJ0w61jacOzcyB0w6FibGEga2nDrXLDoXNhIGEgbGVtZXpyZSAoYWRhdHZlc3p0w6lzdCBva296aGF0KSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEdW1wIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIkR1bXAgcGFydGl0aW9uIHRhYmxlIHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICJLacOtcmphIGEgcGFydMOtY2nDs3MgdMOhYmzDoXQgYSBrw6lwZXJuecWRcmUgdmFneSBlZ3kgZsOhamxiYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzo2MjAgZGlzay11dGlscy9mZGlzay5jOjQxNQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlhbG9nIHR5cGUgJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAobW91bnRlZCkiCittc2dzdHIgInVtb3VudDogJXMgbmVtIHRhbMOhbGhhdMOzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyNzQKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIG5hbWU6IgorbXNnc3RyICJQYXJ0w61jacOzc3rDoW0iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI4MQorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gVVVJRDoiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0w61jacOzOlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyOTMKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHR5cGU6IgorbXNnc3RyICJQYXJ0w61jacOzc3rDoW0iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMwMAorbXNnaWQgIkF0dHJpYnV0ZXM6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMyNAorIywgZnV6enkKK21zZ2lkICJGaWxlc3lzdGVtIFVVSUQ6IgorbXNnc3RyICJBZGphIG1lZyBhIGbDoWpscmVuZHN6ZXIgdMOtcHVzw6F0OiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMzMQorIywgZnV6enkKK21zZ2lkICJGaWxlc3lzdGVtIExBQkVMOiIKK21zZ3N0ciAiQWRqYSBtZWcgYSBmw6FqbHJlbmRzemVyIHTDrXB1c8OhdDogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMzcKKyMsIGZ1enp5Cittc2dpZCAiRmlsZXN5c3RlbToiCittc2dzdHIgIkFkamEgbWVnIGEgZsOhamxyZW5kc3plciB0w61wdXPDoXQ6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzQyCisjLCBmdXp6eQorbXNnaWQgIk1vdW50cG9pbnQ6IgorbXNnc3RyICIlcyBjc2F0b2x2YSB2YW4uXHQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzazogJXMiCittc2dzdHIgImxlbWV6OiAlLipzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2l6ZTogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIiIKKyJcbiIKKyIlcyBsZW1lejogJWx1IGNpbGluZGVyLCAlbHUgZmVqLCAlbHUgc3pla3RvciBzw6F2b25rw6ludFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcywgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIkxlbWV6YXpvbm9zw610w7M6IDB4JTA4eFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcyIKK21zZ3N0ciAiY8OtbWtlOiAlLipzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0NgorbXNnaWQgIk1heSBiZSBmb2xsb3dlZCBieSBNIGZvciBNaUIsIEcgZm9yIEdpQiwgVCBmb3IgVGlCLCBvciBTIGZvciBzZWN0b3JzLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NTIKKyMsIGZ1enp5Cittc2dpZCAiUGxlYXNlLCBzcGVjaWZ5IHNpemUuIgorbXNnc3RyICJBIOKAni0tZGF0ZeKAnSBrYXBjc29sw7MgbmluY3MgbWVnYWR2YS5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNaW5pbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAibcOpcmV0IGxla8OpcsOpc2UgYsOhanRva2JhbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNYXhpbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAibcOpcmV0IGxla8OpcsOpc2UgYsOhanRva2JhbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODkwCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplLiIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0OAorIywgZnV6enkKK21zZ2lkICJTZWxlY3QgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiVkLiBwYXJ0w61jacOzIGtpdsOhbGFzenR2YVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5OTQgZGlzay11dGlscy9jZmRpc2suYzoyMDI0CisjLCBmdXp6eQorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWU6ICIKK21zZ3N0ciAiJXM6IG5lbSDDrXJoYXTDsyBhIHBhcmFuY3Nmw6FqbCwgaGliYTogJXNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTk1CisjLCBmdXp6eQorbXNnaWQgIlRoZSBzY3JpcHQgZmlsZSB3aWxsIGJlIGFwcGxpZWQgdG8gaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIk5lbSBsZXN6IGvDqXBlcyBlcnJlIGEgcGFydMOtY2nDs3MgdMOhYmzDoXJhIMOtcm5pLlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMDQgZGlzay11dGlscy9jZmRpc2suYzoyMDQ2CisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjUgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAiQSh6KSDigJ4lc+KAnSBuZW0gbnlpdGhhdMOzIG1lZ1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMDYgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgImEgdMOtcHVzcGFyYW5jc2bDoWpsICglcykgb2x2YXPDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMDggZGlzay11dGlscy9mZGlzay1tZW51LmM6NDY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0ICVzIgorbXNnc3RyICJhIHTDrXB1c3BhcmFuY3Nmw6FqbCAoJXMpIG9sdmFzw6FzYSBtZWdoacO6c3VsdCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDI1Cittc2dpZCAiVGhlIGN1cnJlbnQgaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZSB3aWxsIGJlIGR1bXBlZCB0byB0aGUgZmlsZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDMzIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ5MQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgIm5lbSBmb2dsYWxoYXTDsyBsZSBraW1lbmV0aSBwdWZmZXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzOQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBkaXNrIGxheW91dCBpbnRvIHNjcmlwdC4iCittc2dzdHIgInBhcnTDrWNpw7NzIHTDoWJsYSDDumpyYW9sdmFzw6FzYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDUzCittc2dpZCAiRGlzayBsYXlvdXQgc3VjY2Vzc2Z1bGx5IGR1bXBlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDU2IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIHNjcmlwdCAlcyIKK21zZ3N0ciAiYSB0w61wdXNwYXJhbmNzZsOhamwgKCVzKSBvbHZhc8Ohc2EgbWVnaGnDunN1bHQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA5MgorIywgZnV6enkKK21zZ2lkICJTZWxlY3QgbGFiZWwgdHlwZSIKK21zZ3N0ciAiw4lydsOpbnl0ZWxlbiB0w61wdXNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDk1IGRpc2stdXRpbHMvZmRpc2suYzoxMDE3CisjLCBmdXp6eQorbXNnaWQgIkRldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJBKHopICVzIGxlbWV6IG5lbSB0YXJ0YWxtYXogw6lydsOpbnllcyBwYXJ0w61jacOzcyB0w6FibMOhdFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMDEKK21zZ2lkICJTZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBsYWJlbCBvciBwcmVzcyAnTCcgdG8gbG9hZCBzY3JpcHQgZmlsZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ2CisjLCBmdXp6eQorbXNnaWQgIlRoaXMgaXMgY2ZkaXNrLCBhIGN1cnNlcy1iYXNlZCBkaXNrIHBhcnRpdGlvbmluZyBwcm9ncmFtLiIKK21zZ3N0ciAiRXogYSBjZmRpc2ssIGVneSBjdXJzZXMgYWxhcMO6IGxlbWV6cGFydGljaW9uw6Fsw7MgcHJvZ3JhbSwgYW1lbGx5ZWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE0NworIywgZnV6enkKK21zZ2lkICJJdCBsZXRzIHlvdSBjcmVhdGUsIGRlbGV0ZSwgYW5kIG1vZGlmeSBwYXJ0aXRpb25zIG9uIGEgYmxvY2sgZGV2aWNlLiIKK21zZ3N0ciAibMOpdHJlaG96aGF0amEsIHTDtnLDtmxoZXRpIMOpcyBtw7Nkb3PDrXRoYXRqYSBhIHBhcnTDrWNpw7NpdCBhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDkKK21zZ2lkICJDb21tYW5kICAgICAgTWVhbmluZyIKK21zZ3N0ciAiUGFyYW5jcyAgICAgSmVsZW50w6lzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTAKK21zZ2lkICItLS0tLS0tICAgICAgLS0tLS0tLSIKK21zZ3N0ciAiLS0tLS0tLSAgICAgIC0tLS0tLS0iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MQorbXNnaWQgIiAgYiAgICAgICAgICBUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgYiAgICAgICAgICBBeiBha3R1w6FsaXMgcGFydMOtY2nDsyBtZWdqZWzDtmzDqXNlIGluZMOtdGhhdMOza8OpbnQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MgorbXNnaWQgIiAgZCAgICAgICAgICBEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGQgICAgICAgICAgQXogYWt0dcOhbGlzIHBhcnTDrWNpw7MgdMO2cmzDqXNlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTMKK21zZ2lkICIgIGggICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCittc2dzdHIgIiAgaCAgICAgICAgICBFemVuIGvDqXBlcm55xZEgbWVnamVsZW7DrXTDqXNlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTQKK21zZ2lkICIgIG4gICAgICAgICAgQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICIgIG4gICAgICAgICAgw5pqIHBhcnTDrWNpw7MgbMOpdHJlaG96w6FzYSBhIHN6YWJhZCB0ZXLDvGxldGLFkWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NQorbXNnaWQgIiAgcSAgICAgICAgICBRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICBxICAgICAgICAgIEtpbMOpcMOpcyBhIHByb2dyYW1iw7NsIGEgcGFydMOtY2nDs3MgdMOhYmxhIGtpw61yw6FzYSBuw6lsa8O8bCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU2CisjLCBmdXp6eQorbXNnaWQgIiAgcyAgICAgICAgICBGaXggcGFydGl0aW9ucyBvcmRlciAob25seSB3aGVuIGluIGRpc2FycmF5KSIKK21zZ3N0ciAiICAgICAgICAgICAgICBwYXJhbcOpdGVyZWtcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU3CisjLCBmdXp6eQorbXNnaWQgIiAgdCAgICAgICAgICBDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgIHQgICAgICAgICAgQSBmw6FqbHJlbmRzemVyIHTDrXB1c8OhbmFrIG1lZ3bDoWx0b3p0YXTDoXNhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTgKK21zZ2lkICIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTkKKyMsIGZ1enp5Cittc2dpZCAiICBXICAgICAgICAgIFdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh5b3UgbXVzdCBlbnRlciB1cHBlcmNhc2UgVyk7IgorbXNnc3RyICIgIFcgICAgICAgICAgS2nDrXJqYSBhIHBhcnTDrWNpw7NzIHTDoWJsw6F0IGEgbGVtZXpyZSAoY3NhayBhIG5hZ3kgVyDDqXJ2w6lueWVzKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgICAgIHNpbmNlIHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhIG9uIHRoZSBkaXNrLCB5b3UgbXVzdCBlaXRoZXIiCittc2dzdHIgIiAgICAgICAgICAgICBFeiBsZXTDtnJsaSBheiDDtnNzemVzIGFkYXRvdCBhIGxlbWV6csWRbCwgZXrDqXJ0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAgICAgICAgICAgY29uZmlybSBvciBkZW55IHRoZSB3cml0ZSBieSBlbnRlcmluZyAneWVzJyBvciAnbm8nIgorbXNnc3RyICIgICAgICAgICAgICAgZXLFkXPDrXRzZSwgdmFneSB0YWdhZGphIG1lZyBheiDDrXLDoXN0IGF6IOKAnmlnZW7igJ0iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MgorIywgZnV6enkKK21zZ2lkICIgIHggICAgICAgICAgRGlzcGxheS9oaWRlIGV4dHJhIGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjMKK21zZ2lkICJVcCBBcnJvdyAgICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIHBhcnRpdGlvbiIKK21zZ3N0ciAiRmVsIG55w61sICAgICBBIGt1cnpvcnQgYXogZWzFkXrFkSBwYXJ0w61jacOzcmEgbW96Z2F0amEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2NAorbXNnaWQgIkRvd24gQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBwYXJ0aXRpb24iCittc2dzdHIgIkxlIG55w61sICAgICAgQSBrdXJ6b3J0IGEga8O2dmV0a2V6xZEgcGFydMOtY2nDs3JhIG1vemdhdGphIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjUKKyMsIGZ1enp5Cittc2dpZCAiTGVmdCBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBtZW51IGl0ZW0iCittc2dzdHIgIkZlbCBuecOtbCAgICAgQSBrdXJ6b3J0IGF6IGVsxZF6xZEgcGFydMOtY2nDs3JhIG1vemdhdGphIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjYKKyMsIGZ1enp5Cittc2dpZCAiUmlnaHQgQXJyb3cgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IG1lbnUgaXRlbSIKK21zZ3N0ciAiTGUgbnnDrWwgICAgICBBIGt1cnpvcnQgYSBrw7Z2ZXRrZXrFkSBwYXJ0w61jacOzcmEgbW96Z2F0amEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2OAorbXNnaWQgIk5vdGU6IEFsbCBvZiB0aGUgY29tbWFuZHMgY2FuIGJlIGVudGVyZWQgd2l0aCBlaXRoZXIgdXBwZXIgb3IgbG93ZXIiCittc2dzdHIgIk1lZ2plZ3l6w6lzOiBBeiDDtnNzemVzIHBhcmFuY3MgYmXDrXJoYXTDsyBraXMgw6lzIG5hZ3kgYmV0xbF2ZWwgaXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2OQorIywgZnV6enkKK21zZ2lkICJjYXNlIGxldHRlcnMgKGV4Y2VwdCBmb3IgV3JpdGUpLiIKK21zZ3N0ciAia2l2w6l2ZSBracOtcsOhc27DoWwgKFcpLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTcxCittc2dpZCAiVXNlIGxzYmxrKDgpIG9yIHBhcnR4KDgpIHRvIHNlZSBtb3JlIGRldGFpbHMgYWJvdXQgdGhlIGRldmljZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzNworIywgZnV6enkKK21zZ2lkICJQcmVzcyBhIGtleSB0byBjb250aW51ZS4iCittc2dzdHIgIk55b21qb24gbWVnIGVneSBiaWxsZW50ecWxdCBhIGZvbHl0YXTDoXNob3oiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI2MAorIywgZnV6enkKK21zZ2lkICJDb3VsZCBub3QgdG9nZ2xlIHRoZSBmbGFnLiIKK21zZ3N0ciAiTmVtIG55aXRoYXTDsyBtZWcgYSBrw7Z2ZXRrZXrFkTogJXNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICIlZC4gcGFydMOtY2nDsyBraXbDoWxhc3p0dmFcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjcyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBoYXMgYmVlbiBkZWxldGVkLiIKK21zZ3N0ciAiQSh6KSAlZC4gcGFydMOtY2nDs25hayBuaW5jcyBhZGF0dGVyw7xsZXRlXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI5MworIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gc2l6ZTogIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydMOtY2nDszpcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIkEoeikgJWQuIHBhcnTDrWNpw7MgcmVuZHN6ZXJ0w61wdXNhIG3Ds2Rvc8OtdHZhIGEga8O2dmV0a2V6xZFyZTogJXggKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSB0eXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkLiIKK21zZ3N0ciAiQSh6KSAlZC4gcGFydMOtY2nDsyByZW5kc3plcnTDrXB1c2EgdsOhbHRvemF0bGFuOiAleCAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM1MyBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NjYgZGlzay11dGlscy9mZGlzay5jOjk5MQorIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTcwCittc2dpZCAiRGV2aWNlIGlzIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM1OAorIywgZnV6enkKK21zZ2lkICJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gd3JpdGUgdGhlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrPyAiCittc2dzdHIgIkJpenRvc2FuIGtpIGFrYXJqYSDDrXJuaSBhIHBhcnTDrWNpw7NzIHTDoWJsw6F0IGEgbGVtZXpyZT8gKGlnZW4gdmFneSBuZW0pOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM2MAorbXNnaWQgIlR5cGUgXCJ5ZXNcIiBvciBcIm5vXCIsIG9yIHByZXNzIEVTQyB0byBsZWF2ZSB0aGlzIGRpYWxvZy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzY1IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE1NDAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1NTAKK21zZ2lkICJ5ZXMiCittc2dzdHIgImlnZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM2NgorIywgZnV6enkKK21zZ2lkICJEaWQgbm90IHdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrLiIKK21zZ3N0ciAiQSBwYXJ0w61jacOzcyB0w6FibGEgbmVtIGtlcsO8bHQgYSBsZW1lenJlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzEKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbC4iCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgc2lrZXJ0ZWxlbiBhIHdyaXRlX3RhYmxlcy1iZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3NCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzgKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiIgorIkEgcGFydMOtY2nDs3MgdMOhYmxhIG3Ds2Rvc8OtdHZhIVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzOTcgZGlzay11dGlscy9jZmRpc2suYzoyNDY4CisjLCBmdXp6eQorbXNnaWQgIk5vdGUgdGhhdCBwYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIgbm93LiIKK21zZ3N0ciAiIgorIlxuIgorIkEgcGFydMOtY2nDs3MgdMOhYmxhIGJlamVneXrDqXNlaSBuZW0gYSBsZW1lemVuIHRhbMOhbGhhdMOzIHNvcnJlbmRiZW4gdmFubmFrXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzNAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZTsgaXQgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDQ1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBuZXcgZGlza2xhYmVsIgorbXNnc3RyICJhIHBvemljaW9uw6Fsw6FzIHNpa2VydGVsZW4gYSB3cml0ZV90YWJsZXMtYmVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9ucyIKK21zZ3N0ciAicGFydMOtY2nDs3MgdMOhYmxhIMO6anJhb2x2YXPDoXNhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz5cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0OSBkaXNrLXV0aWxzL2ZkaXNrLmM6NzM2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMAorIywgZnV6enkKK21zZ2lkICJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgYSBkaXNrIHBhcnRpdGlvbiB0YWJsZS5cbiIKK21zZ3N0ciAicGFydMOtY2nDs3MgdMOhYmxhIMO6anJhb2x2YXPDoXNhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NTIKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTU1CisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgc3RhcnQgd2l0aCB6ZXJvZWQgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU5NCBkaXNrLXV0aWxzL2ZkaXNrLmM6ODgyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA3NworIzogbWlzYy11dGlscy9jYWwuYzozOTAgc3lzLXV0aWxzL2RtZXNnLmM6MTMzMyB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgY29sb3IgbW9kZSIKK21zZ3N0ciAibmluY3MgcGFyYW5jcz9cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjEyIGRpc2stdXRpbHMvZmRpc2suYzo4MTggZGlzay11dGlscy9zZmRpc2suYzoyMjMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgIm5lbSBmb2dsYWxoYXTDsyBsZSBraW1lbmV0aSBwdWZmZXIiCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj5cbiIKK21zZ3N0ciAiaGFzem7DoWxhdDogc2ZkaXNrIC0taWQgZXN6a8O2eiBwYXJ0w61jacOzc3rDoW0gW2F6b25vc8OtdMOzXVxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxOAorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCB0byBmb3JnZXQgYWJvdXQgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjYxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uIgorbXNnc3RyICJwYXJ0w61jacOzcyB0w6FibGEgw7pqcmFvbHZhc8Ohc2EiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICJGb3JtYXR0aW5nIC4uLiAiCittc2dzdHIgIkZvcm3DoXrDoXMgLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjY4IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG9uZVxuIgorbXNnc3RyICJrw6lzelxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmVyaWZ5aW5nIC4uLiAiCittc2dzdHIgIkVsbGVuxZFyesOpcyAuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTA4Cittc2dpZCAiUmVhZDogIgorbXNnc3RyICJPbHZhc8OhczogIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQcm9ibGVtIHJlYWRpbmcgdHJhY2svaGVhZCAldS8ldSwgZXhwZWN0ZWQgJWQsIHJlYWQgJWRcbiIKK21zZ3N0ciAiUHJvYmzDqW1hIGEoeikgJWQuIGNpbGluZGVyIG9sdmFzw6FzYWtvciwgYSB2w6FydCAlZCBoZWx5ZXR0ICVkIGtlcsO8bHQgYmVvbHZhc8Ohc3JhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJiYWQgZGF0YSBpbiB0cmFjay9oZWFkICV1LyV1XG4iCisiQ29udGludWluZyAuLi4gIgorbXNnc3RyICIiCisiaGliw6FzIGFkYXRvayBhKHopICVkLiBjaWxpbmRlcmJlblxuIgorIkZvbHl0YXTDoXMgLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODIKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTE3IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU2IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODQKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0OAorbXNnaWQgIkRvIGEgbG93LWxldmVsIGZvcm1hdHRpbmcgb2YgYSBmbG9wcHkgZGlzay5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUxCittc2dpZCAiIC1mLCAtLWZyb20gPE4+ICAgIHN0YXJ0IGF0IHRoZSB0cmFjayBOIChkZWZhdWx0IDApXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MgorbXNnaWQgIiAtdCwgLS10byA8Tj4gICAgICBzdG9wIGF0IHRoZSB0cmFjayBOXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MworbXNnaWQgIiIKKyIgLXIsIC0tcmVwYWlyIDxOPiAgdHJ5IHRvIHJlcGFpciB0cmFja3MgZmFpbGVkIGR1cmluZ1xuIgorIiAgICAgICAgICAgICAgICAgICAgIHRoZSB2ZXJpZmljYXRpb24gKG1heCBOIHJldHJpZXMpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1NQorbXNnaWQgIiAtbiwgLS1uby12ZXJpZnkgICBkaXNhYmxlIHRoZSB2ZXJpZmljYXRpb24gYWZ0ZXIgdGhlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIGZyb20iCittc2dzdHIgIsOpcnbDqW55dGVsZW4gYXpvbm9zw610w7M6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHRvIgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGF6b25vc8OtdMOzOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjAxCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSByZXBhaXIiCittc2dzdHIgIsOpcnbDqW55dGVsZW4gYXpvbm9zw610w7M6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1MQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4NSBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzM4CisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzQ4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODUKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxNiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0MSBkaXNrLXV0aWxzL3BhcnR4LmM6OTMzCisjOiBsb2dpbi11dGlscy9sYXN0LmM6Njg2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM5IG1pc2MtdXRpbHMvbmFtZWkuYzoxMzUKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjMgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODYgc3lzLXV0aWxzL2RtZXNnLmM6NTI0CisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTk4IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzMSBzeXMtdXRpbHMvZnN0cmltLmM6NzcKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1MTkgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6OTMKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjEzMyB0ZXJtLXV0aWxzL21lc2cuYzoxMjkgdGV4dC11dGlscy9tb3JlLmM6NTA0CisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTAzIHRleHQtdXRpbHMvdGFpbGYuYzoyODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInN0YXQgb2YgJXMgZmFpbGVkIgorbXNnc3RyICJheiBlbMOpcsOpcyBtZWdoacO6c3VsdDogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjQgZGlzay11dGlscy9wYXJ0eC5jOjk5MSBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ4NQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODggc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBleiBuZW0gYmxva2tvcyBlc3prw7Z6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjkKKyMsIGZ1enp5Cittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICJOZW0gc2lrZXLDvGx0IG1lZ2hhdMOhcm96bmkgYXogYWt0dcOhbGlzIGZvcm3DoXrDoXNpIHTDrXB1c3QiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMtc2lkZWQsICVkIHRyYWNrcywgJWQgc2VjL3RyYWNrLiBUb3RhbCBjYXBhY2l0eSAlZCBrQi5cbiIKK21zZ3N0ciAiJXMgb2xkYWwsICVkIHPDoXYsICVkIHN6ZWt0b3Ivc8Ohdi4gVGVsamVzIGthcGFjaXTDoXM6ICVkIGtCLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMyCittc2dpZCAiRG91YmxlIgorbXNnc3RyICJEdXBsYSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMgorbXNnaWQgIlNpbmdsZSIKK21zZ3N0ciAiU3ppbXBsYSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzOQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQxCittc2dpZCAidXNlciBkZWZpbmVkIGVuZCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQzCittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIHVzZXIgZGVmaW5lZCBlbmQgdHJhY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI1MSBtaXNjLXV0aWxzL2xvZ2dlci5jOjk4NworIywgZnV6enkKK21zZ2lkICJjbG9zZSBmYWlsZWQiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgbWVnaGnDunN1bHQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5NSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRG8geW91IHJlYWxseSB3YW50IHRvIHF1aXQ/ICIKK21zZ3N0ciAiVmFsw7NiYW4gZm9seXRhdG5pIGFrYXJqYT8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxNTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdCAoZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCV1LSV1LCBhbGFww6lydGVsbWV6ZXR0ZW4gJXUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIGRlZmF1bHQgcmVzcG9uc2UgJWMuIgorbXNnc3RyICJBeiBhbGFww6lydGVsbWV6ZXR0ICV1IMOpcnTDqWsga2Vyw7xsIGZlbGhhc3puw6Fsw6FzcmFcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjE3NiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjUwIGRpc2stdXRpbHMvZmRpc2suYzozMjUKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTg5IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjc3CisjLCBmdXp6eQorbXNnaWQgIlZhbHVlIG91dCBvZiByYW5nZS4iCittc2dzdHIgIkF6IMOpcnTDqWsga8OtdsO8bCBlc2lrIGEgdGFydG9tw6FueW9uLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICgldS0ldSwgYWxhcMOpcnRlbG1lemV0dGVuICV1KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA4IGRpc2stdXRpbHMvZmRpc2suYzoyNzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICgldS0ldSwgYWxhcMOpcnRlbG1lemV0dGVuICV1KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICgldS0ldSwgYWxhcMOpcnRlbG1lemV0dGVuICV1KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjE3IGRpc2stdXRpbHMvZmRpc2suYzoyNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+LCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCV1LSV1LCBhbGFww6lydGVsbWV6ZXR0ZW4gJXUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYyk6ICIKK21zZ3N0ciAiJXMgKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjIzIGRpc2stdXRpbHMvZmRpc2suYzoyODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzozOTIgZGlzay11dGlscy9zZmRpc2suYzoxOTcKK21zZ2lkICIgW1ldZXMvW05dbzogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0MzMKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHR5cGUgKHR5cGUgTCB0byBsaXN0IGFsbCB0eXBlcyk6ICIKK21zZ3N0ciAiSGV4YSBrw7NkIChhIGvDs2RvayBsaXN0w6FqYSBheiBMIG1lZ255b23DoXPDoXZhbCDDqXJoZXTFkSBlbCk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQzNAorIywgZnV6enkKK21zZ2lkICJIZXggY29kZSAodHlwZSBMIHRvIGxpc3QgYWxsIGNvZGVzKTogIgorbXNnc3RyICJIZXhhIGvDs2QgKGEga8OzZG9rIGxpc3TDoWphIGF6IEwgbWVnbnlvbcOhc8OhdmFsIMOpcmhldMWRIGVsKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTM2CisjLCBmdXp6eQorbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgc2V0IChERVBSRUNBVEVEISkiCittc2dzdHIgIkEgRE9TIGtvbXBhdGliaWxpdMOhc2kgamVsesWRIGJlIHZhbiDDoWxsw610dmFcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjUzNworIywgZnV6enkKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIG5vdCBzZXQiCittc2dzdHIgIkEgRE9TIGtvbXBhdGliaWxpdMOhc2kgamVsesWRIG5pbmNzIGJlw6FsbMOtdHZhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NTggZGlzay11dGlscy9mZGlzay5jOjU5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBleGlzdCB5ZXQhIgorbXNnc3RyICJBKHopICVkLiBwYXJ0w61jacOzIG3DqWcgbmVtIGzDqXRlemlrIVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTYzIGRpc2stdXRpbHMvZmRpc2suYzo1NzIgbGliZmRpc2svc3JjL2Fzay5jOjk5NQorbXNnaWQgIlVua25vd24iCittc2dzdHIgIklzbWVyZXRsZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJyVzJyB0byAnJXMnLiIKK21zZ3N0ciAiQSh6KSAlZC4gcGFydMOtY2nDsyByZW5kc3plcnTDrXB1c2EgbcOzZG9zw610dmEgYSBrw7Z2ZXRrZXrFkXJlOiAleCAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQ6ICVzLiIKK21zZ3N0ciAiQSh6KSAlZC4gcGFydMOtY2nDsyByZW5kc3plcnTDrXB1c2EgdsOhbHRvemF0bGFuOiAleCAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiUxNXM6ICVzIgorbXNnc3RyICJsZW1lejogJS4qc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlczogb2Zmc2V0ID0gJTxQUkl1NjQ+LCBzaXplID0gJXp1IGJ5dGVzLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Njc3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZWVrIgorbXNnc3RyICJhIHByb2dyYW1pbmTDrXTDoXMgbWVnaGnDunN1bHQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2ODIKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgIiVzOiBuZW0gb2x2YXNoYXTDsyBhKHopICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Njk1IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTkgbGliZmRpc2svc3JjL2Rvcy5jOjkzMworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMTAKKyMsIGZ1enp5Cittc2dpZCAiRmlyc3Qgc2VjdG9yIgorbXNnc3RyICJFbHPFkSAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjcyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMiCittc2dzdHIgIkEgQkxLR0VUU0laRSBpb2N0bCBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRbjogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICAgIGNoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyIgJTEkcyBbb3B0aW9uc10gLWwgWzxkaXNrPl0gbGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzM5CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8c2l6ZT4gICAgICBwaHlzaWNhbCBhbmQgbG9naWNhbCBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQwCittc2dpZCAiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIGRvbid0IGVyYXNlIGJvb3RiaXRzIHdoZW4gY3JlYXRpbmcgYSBuZXcgbGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQxCittc2dpZCAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2RlPl0gIG1vZGUgaXMgJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MgorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDUKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgcGFydGl0aW9ucyBhbmQgZXhpdFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ2CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgICAgICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9a2FwY3NvbMOzLWthcmFrdGVybMOhbmMgIEZlbGlzbWVyZW5kxZEgcsO2dmlkIGthcGNzb2zDs2tcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0NworIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgICAgICAgICAgcmVjb2duaXplIHNwZWNpZmllZCBwYXJ0aXRpb24gdGFibGUgdHlwZSBvbmx5XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDgKK21zZ2lkICIgLXUsIC0tdW5pdHNbPTx1bml0Pl0gICAgICAgICAgZGlzcGxheSB1bml0czogJ2N5bGluZGVycycgb3IgJ3NlY3RvcnMnIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDkKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLWdldHN6ICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgZGV2aWNlIHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9ycyBbREVQUkVDQVRFRF1cbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1MAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzUxCisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTMKKyMsIGZ1enp5Cittc2dpZCAiIC1XLCAtLXdpcGUtcGFydGl0aW9ucyA8bW9kZT4gIHdpcGUgc2lnbmF0dXJlcyBmcm9tIG5ldyBwYXJ0aXRpb25zIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTUKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWN5bGluZGVycyA8bnVtYmVyPiAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBjeWxpbmRlcnNcbiIKK21zZ3N0ciAiQWRqYSBtZWcgYSBjaWxpbmRlcmVrIHN6w6Ftw6F0OiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTYKKyMsIGZ1enp5Cittc2dpZCAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBoZWFkc1xuIgorbXNnc3RyICIgICAgLUgjIFt2YWd5IC0taGVhZHMgI106ICAgICAgYSBoYXN6bsOhbGFuZMOzIGZlanN6w6FtIGJlw6FsbMOtdMOhc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTcKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNlY3RvcnMgPG51bWJlcj4gICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFja1xuIgorbXNnc3RyICJBZGphIG1lZyBhIHPDoXZvbmvDqW50aSBzemVrdG9yb2sgc3rDoW3DoXQ6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNlY3RvciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGthcGNzb2zDsyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg0MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGN5bGluZGVycyBhcmd1bWVudCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NTIKKyMsIGZ1enp5Cittc2dpZCAibm90IGZvdW5kIERPUyBsYWJlbCBkcml2ZXIiCittc2dzdHIgIiVzOiBuZW0gdGFsw6FsaGF0w7MgYSh6KSAlcyBlc3prw7Z6ZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbXBhdGliaWxpdHkgbW9kZSAnJXMnIgorbXNnc3RyICJpc21lcmV0bGVuIGVyxZFmb3Jyw6FzdMOtcHVzOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODY3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgaGVhZHMgYXJndW1lbnQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODczCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc2VjdG9ycyBhcmd1bWVudCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2tsYWJlbDogJXMiCittc2dzdHIgIiVzOiBpc21lcmV0bGVuIGFyZ3VtZW50dW06ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MTYgZGlzay11dGlscy9mZGlzay5jOjkyMSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0NgorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB3aXBlIG1vZGUiCittc2dzdHIgIm5pbmNzIHBhcmFuY3M/XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MzQKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGRldmljZSBwcm9wZXJ0aWVzIChzZWN0b3Igc2l6ZSBhbmQgZ2VvbWV0cnkpIHNob3VsZCBiZSB1c2VkIHdpdGggb25lIHNwZWNpZmllZCBkZXZpY2Ugb25seS4iCittc2dzdHIgIkZpZ3llbG1lenRldMOpczogYSAtYiAoc3pla3Rvcm3DqXJldCBiZcOhbGzDrXTDoXNhKSBrYXBjc29sw7Nob3ogbWVnIGtlbGwgYWRuaSBlZ3kgZXN6a8O2enRcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk4MgorIywgYy1mb3JtYXQKK21zZ2lkICJXZWxjb21lIHRvIGZkaXNrICglcykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5ODQgZGlzay11dGlscy9zZmRpc2suYzoxNTg4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisiQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKyJFZ3kgw7pqIFN1biBsZW1lemPDrW1rZSBrZXLDvGwgbMOpdHJlaG96w6FzcmEuIEEgdsOhbHRvesOhc29rIGEgbWVtw7NyacOhYmFuXG4iCisibWFyYWRuYWssIGFtw61nIGVsIG5lbSBtZW50aSBhem9rYXQuIEV6dXTDoW4gdGVybcOpc3pldGVzZW5cbiIKKyJhIGtvcsOhYmJpIHRhcnRhbG9tIGVsdsOpc3ouXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYxMworIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJXMgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMTAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTQyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ4NAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNjIyCittc2dpZCAiVGhlIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxMyBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjUKK21zZ2lkICJJdCBpcyBzdHJvbmdseSByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSBkZXZpY2Ugd2l0aCB3aXBlZnMoOCksIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDIyCittc2dpZCAiQSBoeWJyaWQgR1BUIHdhcyBkZXRlY3RlZC4gWW91IGhhdmUgdG8gc3luYyB0aGUgaHlicmlkIE1CUiBtYW51YWxseSAoZXhwZXJ0IGNvbW1hbmQgJ00nKS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICIiCisiXG4iCisiJXMgbGVtZXo6ICVsdSBjaWxpbmRlciwgJWx1IGZlaiwgJWx1IHN6ZWt0b3Igc8Ohdm9ua8OpbnRcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdlb21ldHJ5OiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzL3RyYWNrLCAlbGx1IGN5bGluZGVycyIKK21zZ3N0ciAiJWQgZmVqLCAlbGx1IHN6ZWt0b3IsICVkIGNpbGluZGVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo1OSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVuaXRzOiAlcyBvZiAlZCAqICVsZCA9ICVsZCBieXRlcyIKK21zZ3N0ciAiRWd5c8OpZzogJXMgJWQgKiAlZCA9ICVkIGLDoWp0XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY1IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2OAorIywgYy1mb3JtYXQKK21zZ2lkICJJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJBbGlnbm1lbnQgb2Zmc2V0OiAlbHUgYnl0ZXMiCittc2dzdHIgImlnYXrDrXTDoXNpIGVsdG9sw6FzIGxla8OpcsOpc2UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgdHlwZTogJXMiCittc2dzdHIgIkxlbWV6bWVnaGFqdMOzOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiTGVtZXphem9ub3PDrXTDszogMHglMDh4XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjEwOSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTkKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNDQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorbXNnc3RyICJuZW0gZm9nbGFsaGF0w7MgbGUga2ltZW5ldGkgcHVmZmVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMTUgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxNTYgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjQ5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgbGluZSIKK21zZ3N0ciAiTmVtIGZvZ2xhbGhhdMOzIGxlIHB1ZmZlcnQuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBzdGFydCBvbiBwaHlzaWNhbCBzZWN0b3IgYm91bmRhcnkuIgorbXNnc3RyICJBKHopICVpLiBwYXJ0w61jacOzIG5lbSBjaWxsaW5kZXJoYXTDoXJvbiBrZXpkxZFkaWs6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE5MgorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuIgorbXNnc3RyICIiCisiXG4iCisiQSBwYXJ0w61jacOzcyB0w6FibGEgYmVqZWd5esOpc2VpIG5lbSBhIGxlbWV6ZW4gdGFsw6FsaGF0w7Mgc29ycmVuZGJlbiB2YW5uYWtcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE1IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAwCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxMiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NCBsaWJmZGlzay9zcmMvc3VuLmM6MTExMAorIywgZnV6enkKK21zZ2lkICJTdGFydCIKK21zZ3N0ciAia2V6ZGV0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTYgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDEKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTEzIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU1IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTExCittc2dpZCAiRW5kIgorbXNnc3RyICJWw6lnZSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE3IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAyCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NiBsaWJmZGlzay9zcmMvc3VuLmM6MTExMgorbXNnaWQgIlNlY3RvcnMiCittc2dzdHIgIlN6ZWt0b3JvayIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE5IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzA0CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1OCBsaWJmZGlzay9zcmMvc3VuLmM6MTExNAorbXNnaWQgIlNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbnBhcnRpdGlvbmVkIHNwYWNlICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiIgorIlxuIgorIiVzIGxlbWV6OiAlbHUgY2lsaW5kZXIsICVsdSBmZWosICVsdSBzemVrdG9yIHPDoXZvbmvDqW50XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLW8pOlxuIgorbXNnc3RyICJFbMOpcmhldMWRIHBhcmFuY3NvazpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgIiVzOiBJc21lcmV0bGVuIHBhcmFuY3M6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk1Cittc2dpZCAiR2VuZXJpYyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NgorIywgZnV6enkKK21zZ2lkICJkZWxldGUgYSBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGQgICBwYXJ0w61jacOzIHTDtnJsw6lzZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTcKKyMsIGZ1enp5Cittc2dpZCAibGlzdCBmcmVlIHVucGFydGl0aW9uZWQgc3BhY2UiCittc2dzdHIgIiAgIGUgICBraXRlcmplc3p0ZXR0IHBhcnTDrWNpw7NrIGZlbHNvcm9sw6FzYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTgKKyMsIGZ1enp5Cittc2dpZCAibGlzdCBrbm93biBwYXJ0aXRpb24gdHlwZXMiCittc2dzdHIgIiAgIGwgICBheiBpc21lcnQgcGFydMOtY2nDs3TDrXB1c29rIGZlbHNvcm9sw6FzYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiYWRkIGEgbmV3IHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgbiAgIMO6aiBwYXJ0w61jacOzIGhvenrDoWFkw6FzYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAwCisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIkNzYWsgbWVnamVsZW7DrXRpIGEgcGFydMOtY2nDs3MgdMOhYmzDoXQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgYSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiICAgdCAgIGVneSBwYXJ0w61jacOzIHJlbmRzemVyYXpvbm9zw610w7Nqw6FuYWsgbcOzZG9zw610w6FzYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAyCisjLCBmdXp6eQorbXNnaWQgInZlcmlmeSB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgICB2ICAgYSBwYXJ0w61jacOzcyB0w6FibGEgZWxsZW7FkXJ6w6lzZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzCisjLCBmdXp6eQorbXNnaWQgInByaW50IGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICIlczogZXogbmVtIGJsb2trb3MgZXN6a8O2elxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICIgICBkICAgYSBwYXJ0w61jacOzcyB0w6FibGEgbnllcnMgYWRhdGFpbmFrIGtpw61yw6FzYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA2CisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZGlza2xhYmVsIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAiICAgZCAgIGEgcGFydMOtY2nDs3MgdMOhYmxhIG55ZXJzIGFkYXRhaW5hayBracOtcsOhc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNworIywgZnV6enkKK21zZ2lkICJmaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAiICAgZiAgIHBhcnTDrWNpw7Nzb3JyZW5kIGphdsOtdMOhc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwOQorbXNnaWQgIk1pc2MiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEwCisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoaXMgbWVudSIKK21zZ3N0ciAiICAgbSAgIGV6ZW4gbWVuw7wga2nDrXLDoXNhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTEKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpc3BsYXkvZW50cnkgdW5pdHMiCittc2dzdHIgIiAgIHUgICBhIG1lZ2plbGVuw610w6lzaS9iZWplZ3l6w6lzZWd5c8OpZ2VrIG1lZ3bDoWx0b3p0YXTDoXNhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTIKKyMsIGZ1enp5Cittc2dpZCAiZXh0cmEgZnVuY3Rpb25hbGl0eSAoZXhwZXJ0cyBvbmx5KSIKK21zZ3N0ciAiICAgeCAgIGV4dHJhIHN6b2xnw6FsdGF0w6Fzb2sgKGNzYWsgc3pha8OpcnTFkWtuZWspIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTQKK21zZ2lkICJTY3JpcHQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE1Cittc2dpZCAibG9hZCBkaXNrIGxheW91dCBmcm9tIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTYKK21zZ2lkICJkdW1wIGRpc2sgbGF5b3V0IHRvIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTgKK21zZ2lkICJTYXZlICYgRXhpdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTkKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdCIKK21zZ3N0ciAiICAgdyAgIGEgdMOhYmxhIGxlbWV6cmUgw61yw6FzYSDDqXMga2lsw6lww6lzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjAKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayIKK21zZ3N0ciAiICAgdyAgIGxlbWV6Y8OtbWtlIMOtcsOhc2EgYSBsZW1lenJlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjEKKyMsIGZ1enp5Cittc2dpZCAicXVpdCB3aXRob3V0IHNhdmluZyBjaGFuZ2VzIgorbXNnc3RyICIgICBxICAga2lsw6lww6lzIG1lbnTDqXMgbsOpbGvDvGwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMgorIywgZnV6enkKK21zZ2lkICJyZXR1cm4gdG8gbWFpbiBtZW51IgorbXNnc3RyICIgICByICAgdmlzc3phIGEgZsWRbWVuw7xiZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTI0Cittc2dpZCAicmV0dXJuIGZyb20gQlNEIHRvIERPUyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzUKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlIGEgbmV3IGxhYmVsIgorbXNnc3RyICIgICBzICAgw7pqLCDDvHJlcyBTdW4gbGVtZXpjw61ta2UgbMOpdHJlaG96w6FzYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM2CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBHUFQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgICBvICAgw7pqLCDDvHJlcyBET1MgcGFydMOtY2nDs3MgdMOhYmxhIGzDqXRyZWhvesOhc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNworIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU0dJIChJUklYKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIG8gICDDumosIMO8cmVzIERPUyBwYXJ0w61jacOzcyB0w6FibGEgbMOpdHJlaG96w6FzYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM4CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgICBvICAgw7pqLCDDvHJlcyBET1MgcGFydMOtY2nDs3MgdMOhYmxhIGzDqXRyZWhvesOhc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOQorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU3VuIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgbyAgIMO6aiwgw7xyZXMgRE9TIHBhcnTDrWNpw7NzIHTDoWJsYSBsw6l0cmVob3rDoXNhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDMKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGFuIElSSVggKFNHSSkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgICBnICAgSVJJWCAoU0dJKSBwYXJ0w61jacOzcyB0w6FibGEgbMOpdHJlaG96w6FzYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTUyCittc2dpZCAiR2VvbWV0cnkiCittc2dzdHIgIkdlb21ldHJpYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTUzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICIgICBjICAgYSBjaWxpbmRlcmVrIHN6w6Ftw6FuYWsgbcOzZG9zw610w6FzYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU0CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgaGVhZHMiCittc2dzdHIgIiAgIGggICBhIGZlamVrIHN6w6Ftw6FuYWsgbcOzZG9zw610w6FzYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU1CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2Ygc2VjdG9ycy90cmFjayIKK21zZ3N0ciAiICAgcyAgIGEgc8Ohdm9ua8OpbnRpIHN6ZWt0b3JvayBzesOhbcOhbmFrIG3Ds2Rvc8OtdMOhc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NQorbXNnaWQgIkdQVCIKK21zZ3N0ciAiR1BUIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpc2sgR1VJRCIKK21zZ3N0ciAibcOzZG9zw610dmEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NgorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIlBhcnTDrWNpw7NzesOhbSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY3CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnTDrWNpw7M6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgdGFibGUgbGVuZ3RoIgorbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY5Cittc2dpZCAiZW50ZXIgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MgorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIGxlZ2FjeSBCSU9TIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiAgIGEgICBpbmTDrXRoYXTDsyBqZWx6xZEgw6F0dsOhbHTDoXNhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSBubyBibG9jayBJTyBwcm90b2NvbCBmbGFnIgorbXNnc3RyICIgICBjICAgYSBET1Mga29tcGF0aWJpbGl0w6FzIGplbHrDqXPDqW5layDDoXR2w6FsdMOhc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NAorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIHJlcXVpcmVkIHBhcnRpdGlvbiBmbGFnIgorbXNnc3RyICIgICBhICAgYSBjc2FrIG9sdmFzaGF0w7MgamVsesWRIMOhdHbDoWx0w6FzYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc1Cittc2dpZCAidG9nZ2xlIHRoZSBHVUlEIHNwZWNpZmljIGJpdHMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg1Cittc2dpZCAiU3VuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NgorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIHJlYWQtb25seSBmbGFnIgorbXNnc3RyICIgICBhICAgYSBjc2FrIG9sdmFzaGF0w7MgamVsesWRIMOhdHbDoWx0w6FzYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg3CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgbW91bnRhYmxlIGZsYWciCittc2dzdHIgIiAgIGMgICBhIGNzYXRvbGhhdMOzIGplbHrFkSDDoXR2w6FsdMOhc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIiAgIGEgICBheiBhbHRlcm5hdMOtdiBjaWxpbmRlcmVrIHN6w6Ftw6FuYWsgbcOzZG9zw610w6FzYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkwCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgZXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgIiAgIGUgICBhIGNpbGluZGVyZW5rw6ludGkgZXh0cmEgc3pla3Rvcm9rIHN6w6Ftw6FuYWsgbcOzZG9zw610w6FzYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkxCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBpbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiICAgaSAgIGF6IMOhdHJlbmRlesOpc2kgdMOpbnllesWRIG3Ds2Rvc8OtdMOhc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MgorIywgZnV6enkKK21zZ2lkICJjaGFuZ2Ugcm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIiAgIG8gICBhIGZvcmfDoXNpIHNlYmVzc8OpZyAocnBtKSBtw7Nkb3PDrXTDoXNhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIiAgIHkgICBhIGZpemlrYWkgY2lsaW5kZXJlayBzesOhbcOhbmFrIG3Ds2Rvc8OtdMOhc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwMgorIywgZnV6enkKK21zZ2lkICJTR0kiCittc2dzdHIgIlNHSSBueWVycyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjAzCisjLCBmdXp6eQorbXNnaWQgInNlbGVjdCBib290YWJsZSBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGEgICBheiBpbmTDrXRoYXTDsyBwYXJ0w61jacOzIGtpdsOhbGFzenTDoXNhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDQKKyMsIGZ1enp5Cittc2dpZCAiZWRpdCBib290ZmlsZSBlbnRyeSIKK21zZ3N0ciAiICAgYiAgIGluZMOtdMOzZsOhamwtYmVqZWd5esOpcyBzemVya2VzenTDqXNlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDUKKyMsIGZ1enp5Cittc2dpZCAic2VsZWN0IHNnaSBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgYyAgIHNnaSBsYXBvesOzcGFydMOtY2nDsyBraXbDoWxhc3p0w6FzYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA2Cittc2dpZCAiY3JlYXRlIFNHSSBpbmZvIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNQorIywgZnV6enkKK21zZ2lkICJET1MgKE1CUikiCittc2dzdHIgIkRPUyBSL08iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNgorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgYSBib290YWJsZSBmbGFnIgorbXNnc3RyICIgICBhICAgaW5kw610aGF0w7MgamVsesWRIMOhdHbDoWx0w6FzYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE3CisjLCBmdXp6eQorbXNnaWQgImVkaXQgbmVzdGVkIEJTRCBkaXNrbGFiZWwiCittc2dzdHIgIiAgIGIgICBic2QgbGVtZXpjw61ta2Ugc3plcmtlc3p0w6lzZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE4CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgZG9zIGNvbXBhdGliaWxpdHkgZmxhZyIKK21zZ3N0ciAiICAgYyAgIGEgRE9TIGtvbXBhdGliaWxpdMOhcyBqZWx6w6lzw6luZWsgw6F0dsOhbHTDoXNhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAibW92ZSBiZWdpbm5pbmcgb2YgZGF0YSBpbiBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgYiAgIGF6IGFkYXRvayBlbGVqw6luZWsgbW96Z2F0w6FzYSBlZ3kgcGFydMOtY2nDs2JhbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIxCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSB0aGUgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICIgICBpICAgYSBsZW1lemF6b25vc8OtdMOzIG3Ds2Rvc8OtdMOhc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMworbXNnaWQgInJldHVybiBmcm9tIHByb3RlY3RpdmUvaHlicmlkIE1CUiB0byBHUFQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjMzCisjLCBmdXp6eQorbXNnaWQgIkJTRCIKK21zZ3N0ciAiQlNEL09TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzQKKyMsIGZ1enp5Cittc2dpZCAiZWRpdCBkcml2ZSBkYXRhIgorbXNnc3RyICIgICBlICAgbWVnaGFqdMOzYWRhdG9rIHN6ZXJrZXN6dMOpc2UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNQorIywgZnV6enkKK21zZ2lkICJpbnN0YWxsIGJvb3RzdHJhcCIKK21zZ3N0ciAiICAgaSAgIHJlbmRzemVydMO2bHTFkSB0ZWxlcMOtdMOpc2UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNgorIywgZnV6enkKK21zZ2lkICJzaG93IGNvbXBsZXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAiICAgcyAgIGEgdGVsamVzIGxlbWV6Y8OtbWtlIG11dGF0w6FzYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM3CisjLCBmdXp6eQorbXNnaWQgImxpbmsgQlNEIHBhcnRpdGlvbiB0byBub24tQlNEIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgeCAgIEJTRCBwYXJ0w61jacOzIGNzYXRvbMOhc2EgZWd5IG5lbSBCU0QgcGFydMOtY2nDs2hveiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwIChleHBlcnQgY29tbWFuZHMpOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM3MSBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwOlxuIgorbXNnc3RyICJTw7pnw7MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UncmUgZWRpdGluZyBuZXN0ZWQgJyVzJyBwYXJ0aXRpb24gdGFibGUsIHByaW1hcnkgcGFydGl0aW9uIHRhYmxlIGlzICclcycuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMQorbXNnaWQgIkV4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJTemFrw6lydMWRaSBwYXJhbmNzIChtID0gc8O6Z8OzKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjMKK21zZ2lkICJDb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJQYXJhbmNzIChtID0gc8O6Z8OzKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVjOiB1bmtub3duIGNvbW1hbmQiCittc2dzdHIgIiVjOiBpc21lcmV0bGVuIHBhcmFuY3NcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDU4IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4NQorIywgZnV6enkKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lIgorbXNnc3RyICIlczogbmVtIMOtcmhhdMOzIGEgcGFyYW5jc2bDoWpsLCBoaWJhOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NzEKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IGFwcGxpZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ5NworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNmb3JtIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0IgorbXNnc3RyICJwYXJ0w61jacOzcyB0w6FibGEgw7pqcmFvbHZhc8Ohc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxMQorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgc2F2ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzNCBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhKHopICVkLiBwYXJ0w61jacOzIGEgMC4gc3pla3RvcnQgaXMgdGFydGFsbWF6emFcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTM3IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ3OQorIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlIHNpZ25hdHVyZT8iCittc2dzdHIgIlZhbMOzYmFuIGxlbWV6cmUgYWthcmphIGV6dCDDrXJuaT8gW3lucV0gIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBzaWtlcnRlbGVuIGEgd3JpdGVfdGFibGVzLWJlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjEzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBmaXggcGFydGl0aW9ucyBvcmRlci4iCittc2dzdHIgIiAgIGYgICBwYXJ0w61jacOzc29ycmVuZCBqYXbDrXTDoXNhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MTUKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9ucyBvcmRlciBmaXhlZC4iCittc2dzdHIgIk5pbmNzZW5layBwYXJ0w61jacOzayBtZWdhZHZhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICIlZC4gcGFydMOtY2nDsyBraXbDoWxhc3p0dmFcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjYwCisjLCBmdXp6eQorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gY3lsaW5kZXJzIChERVBSRUNBVEVEISkuIgorbXNnc3RyICJBIG1lZ2plbGVuw610w6lzaS9iZWplZ3l6w6lzZWd5c8OpZ2VrIG3Ds2Rvc8OtdHZhOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjIKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBzZWN0b3JzLiIKK21zZ3N0ciAiQSBtZWdqZWxlbsOtdMOpc2kvYmVqZWd5esOpc2VneXPDqWdlayBtw7Nkb3PDrXR2YTogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjcyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjg0MgorIywgZnV6enkKK21zZ2lkICJMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuIgorbXNnc3RyICIgICBiICAgYnNkIGxlbWV6Y8OtbWtlIHN6ZXJrZXN6dMOpc2UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjcwOQorbXNnaWQgIk5ldyBtYXhpbXVtIGVudHJpZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzE5CisjLCBmdXp6eQorbXNnaWQgIkVudGVyaW5nIHByb3RlY3RpdmUvaHlicmlkIE1CUiBkaXNrbGFiZWwuIgorbXNnc3RyICIgICBiICAgYnNkIGxlbWV6Y8OtbWtlIHN6ZXJrZXN6dMOpc2UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjczNQorbXNnaWQgIk5ldyBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzUwCisjLCBmdXp6eQorbXNnaWQgIk5ldyBuYW1lIgorbXNnc3RyICLDiXJ2w6lueXRlbGVuIGZlbGhhc3puw6Fsw7Nuw6l2IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4MTMKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXJpbmcgbmVzdGVkIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICIgICBiICAgYnNkIGxlbWV6Y8OtbWtlIHN6ZXJrZXN6dMOpc2UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5OAorbXNnaWQgIk51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgIkNpbGluZGVyZWsgc3rDoW1hIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAyCittc2dpZCAiTnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICJGZWplayBzesOhbWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMDYKK21zZ2lkICJOdW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAiU3pla3Rvcm9rIHN6w6FtYSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkXG4iCittc2dzdHIgIiVzIGNzYXRvbHZhIHZhbi5cdCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbW91bnRlZFxuIgorbXNnc3RyICJ1bW91bnQ6ICVzIG5lbSB0YWzDoWxoYXTDsyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMxIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzQKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1MyBkaXNrLXV0aWxzL3NmZGlzay5jOjI5NyBsaWJmZGlzay9zcmMvYnNkLmM6NjQ2CisjOiBsaWIvcGF0aC5jOjExMCBsaWIvcGF0aC5jOjEzMSBsaWIvcGF0aC5jOjE1MiBsaWIvcGF0aC5jOjIwMAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIxMyBsb2dpbi11dGlscy9sYXN0LmM6MjUwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo2NjQKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjM5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjcxNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkICVzIgorbXNnc3RyICIlczogbmVtIG9sdmFzaGF0w7MgYSh6KSAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMzIGxpYi9wYXRoLmM6MTMzIGxpYi9wYXRoLmM6MTU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJwYXJzZSBlcnJvcjogJXMiCittc2dzdHIgIiVzOiDDrXLDoXNpIGhpYmE6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgJXMiCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTG9ja2luZyBkaXNrIGJ5ICVzIC4uLiAiCittc2dzdHIgIkFkYXRvayBracOtcsOhc2EgYSBsZW1lemVrcmUuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICIod2FpdGluZykgIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGVzZSBhcmUgZm9sbG93dXBzIHRvICJMb2NraW5nIGRpc2suLi4iLgorIzogZGlzay11dGlscy9mc2NrLmM6Mzk0CisjLCBmdXp6eQorbXNnaWQgInN1Y2NlZWRlZCIKK21zZ3N0ciAiJXMgc2lrZXJlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Mzk0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCIKK21zZ3N0ciAiJXMgbWVnaGnDunN1bHQuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5sb2NraW5nICVzLlxuIgorbXNnc3RyICIlcyBoYXN6bsOhbGF0YS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0dXAgZGVzY3JpcHRpb24gZm9yICVzIgorbXNnc3RyICJhIHTDrXB1c3BhcmFuY3Nmw6FqbCAoJXMpIG9sdmFzw6FzYSBtZWdoacO6c3VsdCIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDc0IG1pc2MtdXRpbHMvZmluZG1udC5jOjc4MiBtaXNjLXV0aWxzL2xzYmxrLmM6NDMzCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMDIgc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzoxOSBzeXMtdXRpbHMvdW1vdW50LmM6NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIC0tIGlnbm9yZWQiCittc2dzdHIgImF6IGVsc8WRIHNvciB1dMOhbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6NTA2IGRpc2stdXRpbHMvZnNjay5jOjUwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSBmc3RhYiIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY3OSBsb2dpbi11dGlscy9sb2dpbi5jOjk2OCBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAzNAorIzogbG9naW4tdXRpbHMvdmlwdy5jOjIwNCBzeXMtdXRpbHMvZmxvY2suYzozNDUgc3lzLXV0aWxzL25zZW50ZXIuYzoxNTMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTYgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTkgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MjAKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzgwCisjLCBmdXp6eQorbXNnaWQgImZvcmsgZmFpbGVkIgorbXNnc3RyICJheiBpbmTDrXTDoXMgbWVnaGnDunN1bHRcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0ZSBmYWlsZWQiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgbWVnaGnDunN1bHQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc3NAorbXNnaWQgIndhaXQ6IG5vIG1vcmUgY2hpbGQgcHJvY2Vzcz8hPyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3Nzcgc3lzLXV0aWxzL2Zsb2NrLmM6MzYzIHN5cy11dGlscy9zd2Fwb24uYzozNDgKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDA0IHN5cy11dGlscy91bnNoYXJlLmM6NDI1CisjLCBmdXp6eQorbXNnaWQgIndhaXRwaWQgZmFpbGVkIgorbXNnc3RyICJhIHNldHVpZCgpIGjDrXbDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZy4uLiAlcyBmb3IgZGV2aWNlICVzIGV4aXRlZCB3aXRoIHNpZ25hbCAlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzOiBzdGF0dXMgaXMgJXgsIHNob3VsZCBuZXZlciBoYXBwZW4uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjg0NworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5pc2hlZCB3aXRoICVzIChleGl0IHN0YXR1cyAlZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5MjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yICVkICglbSkgd2hpbGUgZXhlY3V0aW5nIGZzY2suJXMgZm9yICVzIgorbXNnc3RyICJoaWJhIGEoeikgJXMgw61yw6FzYWtvcjogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjk5MQorbXNnaWQgIiIKKyJFaXRoZXIgYWxsIG9yIG5vbmUgb2YgdGhlIGZpbGVzeXN0ZW0gdHlwZXMgcGFzc2VkIHRvIC10IG11c3QgYmUgcHJlZml4ZWRcbiIKKyJ3aXRoICdubycgb3IgJyEnLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBiYWQgbGluZSBpbiAvZXRjL2ZzdGFiOiBiaW5kIG1vdW50IHdpdGggbm9uemVybyBmc2NrIHBhc3MgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBub25leGlzdGVudCBkZXZpY2VcbiIKK21zZ3N0ciAiJXM6IGEoeikgJXMgbmVtIGVneSBww6FyaHV6YW1vcyAobHApIGVzemvDtnouXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vbmV4aXN0ZW50IGRldmljZSAoXCJub2ZhaWxcIiBmc3RhYiBvcHRpb24gbWF5IGJlIHVzZWQgdG8gc2tpcCB0aGlzIGRldmljZSlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgdW5rbm93biBmaWxlc3lzdGVtIHR5cGVcbiIKK21zZ3N0ciAibW91bnQ6IGlzbWVyZXRsZW4gZsOhamxyZW5kc3plcnTDrXB1czog4oCeJXPigJ0iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoZWNrICVzOiBmc2NrLiVzIG5vdCBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjU5CisjLCBmdXp6eQorbXNnaWQgIkNoZWNraW5nIGFsbCBmaWxlIHN5c3RlbXMuXG4iCittc2dzdHIgIkbDoWpscmVuZHN6ZXItZWxsZW7FkXJ6w6lzIGvDqW55c3plcsOtdMOpc2UgYSBrw7Z2ZXRrZXrFkW46IOKAniVz4oCdLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzUwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0td2FpdGluZy0tIChwYXNzICVkKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLS0gW2ZzLW9wdGlvbnNdIFs8ZmlsZXN5c3RlbT4gLi4uXVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM3OQorIywgZnV6enkKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiRsOhamxyZW5kc3plci1lbGxlbsWRcnrDqXMga8OpbnlzemVyw610w6lzZSBhIGvDtnZldGtlesWRbjog4oCeJXPigJ0uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODIKKyMsIGZ1enp5Cittc2dpZCAiIC1BICAgICAgICAgY2hlY2sgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIkbDoWpscmVuZHN6ZXItZWxsZW7FkXJ6w6lzIGvDqW55c3plcsOtdMOpc2UgYSBrw7Z2ZXRrZXrFkW46IOKAniVz4oCdLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzgzCittc2dpZCAiIC1DIFs8ZmQ+XSAgZGlzcGxheSBwcm9ncmVzcyBiYXI7IGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODQKK21zZ2lkICIgLWwgICAgICAgICBsb2NrIHRoZSBkZXZpY2UgdG8gZ3VhcmFudGVlIGV4Y2x1c2l2ZSBhY2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg1CisjLCBmdXp6eQorbXNnaWQgIiAtTSAgICAgICAgIGRvIG5vdCBjaGVjayBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBBIGbDoWpscmVuZHN6ZXIgdMOtcHVzw6FuYWsgbWVndsOhbHRvenRhdMOhc2EiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODYKK21zZ2lkICIgLU4gICAgICAgICBkbyBub3QgZXhlY3V0ZSwganVzdCBzaG93IHdoYXQgd291bGQgYmUgZG9uZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODcKK21zZ2lkICIgLVAgICAgICAgICBjaGVjayBmaWxlc3lzdGVtcyBpbiBwYXJhbGxlbCwgaW5jbHVkaW5nIHJvb3RcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg4Cittc2dpZCAiIC1SICAgICAgICAgc2tpcCByb290IGZpbGVzeXN0ZW07IHVzZWZ1bCBvbmx5IHdpdGggJy1BJ1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODkKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtciBbPGZkPl0gIHJlcG9ydCBzdGF0aXN0aWNzIGZvciBlYWNoIGRldmljZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIgICAgLWwgW3ZhZ3kgLS1saXN0XTogICAgICBracOtcmphIGF6IGVneWVzIGVzemvDtnrDtmsgcGFydMOtY2nDs2l0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkxCisjLCBmdXp6eQorbXNnaWQgIiAtcyAgICAgICAgIHNlcmlhbGl6ZSB0aGUgY2hlY2tpbmcgb3BlcmF0aW9uc1xuIgorbXNnc3RyICIgIGQgICAgICAgICAgQXogYWt0dcOhbGlzIHBhcnTDrWNpw7MgdMO2cmzDqXNlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkyCisjLCBmdXp6eQorbXNnaWQgIiAtVCAgICAgICAgIGRvIG5vdCBzaG93IHRoZSB0aXRsZSBvbiBzdGFydHVwXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICAgIGEgbGVtZXogdMOpbnlsZWdlcyDDrXLDoXPDoW5hayBraWhhZ3nDoXNhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkzCittc2dpZCAiIgorIiAtdCA8dHlwZT4gIHNwZWNpZnkgZmlsZXN5c3RlbSB0eXBlcyB0byBiZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIDx0eXBlPiBpcyBhbGxvd2VkIHRvIGJlIGEgY29tbWEtc2VwYXJhdGVkIGxpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk1CisjLCBmdXp6eQorbXNnaWQgIiAtViAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTYKKyMsIGZ1enp5Cittc2dpZCAiIC0/ICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OQorbXNnaWQgIlNlZSB0aGUgc3BlY2lmaWMgZnNjay4qIGNvbW1hbmRzIGZvciBhdmFpbGFibGUgZnMtb3B0aW9ucy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQzOAorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBkZXZpY2VzIgorbXNnc3RyICIlczogYSh6KSAlcyBuZW0gZWd5IHDDoXJodXphbW9zIChscCkgZXN6a8O2ei5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ1MAorIywgZnV6enkKK21zZ2lkICJJcyAvcHJvYyBtb3VudGVkPyIKK21zZ3N0ciAiJXMgbGV2w6FsYXN6dHZhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm11c3QgYmUgcm9vdCB0byBzY2FuIGZvciBtYXRjaGluZyBmaWxlc3lzdGVtczogJXMiCittc2dzdHIgIkEgbWVnbWFyYWR0IGbDoWpscmVuZHN6ZXJlayBsZXbDoWxhc3p0w6FzYS4uLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgZmluZCBtYXRjaGluZyBmaWxlc3lzdGVtOiAlcyIKK21zZ3N0ciAiQSBtZWdtYXJhZHQgZsOhamxyZW5kc3plcmVrIGxldsOhbGFzenTDoXNhLi4uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDcwIGRpc2stdXRpbHMvZnNjay5jOjE1NjUgbWlzYy11dGlscy9raWxsLmM6MzYzCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyNzkKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgorbXNnc3RyICIlczogaXNtZXJldGxlbiBhcmd1bWVudHVtOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTI1IGRpc2stdXRpbHMvZnNjay5jOjE1MjgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtciIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBhem9ub3PDrXTDszogJXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtcjogJWQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4gYXpvbm9zw610w7M6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2MTgKK21zZ2lkICJ0aGUgLWwgb3B0aW9uIGNhbiBiZSB1c2VkIHdpdGggb25lIGRldmljZSBvbmx5IC0tIGlnbm9yZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPlxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExNgorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBjb21wcmVzc2VkIFJPTSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTkKK21zZ2lkICIgLWEgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIwCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgYmUgbW9yZSB2ZXJib3NlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjEKK21zZ2lkICIgLXkgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIyCittc2dpZCAiIC1iLCAtLWJsb2Nrc2l6ZSA8c2l6ZT4gICB1c2UgdGhpcyBibG9ja3NpemUsIGRlZmF1bHRzIHRvIHBhZ2Ugc2l6ZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjMKK21zZ2lkICIgICAgIC0tZXh0cmFjdFs9PGRpcj5dICAgIHRlc3QgdW5jb21wcmVzc2lvbiwgb3B0aW9uYWxseSBleHRyYWN0IGludG8gPGRpcj5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGZhaWxlZDogdW5hYmxlIHRvIGRldGVybWluZSBkZXZpY2Ugc2l6ZTogJXMiCittc2dzdHIgImF6IGlvY3RsIG1lZ2hpw7pzdWx0OiBuZW0gbGVoZXQgbWVnaGF0w6Fyb3puaSBheiBlc3prw7Z6IG3DqXJldMOpdDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGEgYmxvY2sgZGV2aWNlIG9yIGZpbGU6ICVzIgorbXNnc3RyICJuZW0gYmxva2tvcyBlc3prw7Z6IHZhZ3kgZsOhamw6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTcwIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDYKK21zZ2lkICJmaWxlIGxlbmd0aCB0b28gc2hvcnQiCittc2dzdHIgImEgZsOhamxob3NzeiB0w7psIGtpY3NpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzMKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNDkgbGliZmRpc2svc3JjL2JzZC5jOjcxOCBsaWJmZGlzay9zcmMvYnNkLmM6ODkwCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjA4IGxvZ2luLXV0aWxzL2xhc3QuYzoyNDIgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VlayBvbiAlcyBmYWlsZWQiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgbWVnaGnDunN1bHQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODUgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NworbXNnaWQgInN1cGVyYmxvY2sgbWFnaWMgbm90IGZvdW5kIgorbXNnc3RyICJhIHN6dXBlcmJsb2trIG1hZ2ljIMOpcnTDqWsgbmVtIHRhbMOhbGhhdMOzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImNyYW1mcyBlbmRpYW5uZXNzIGlzICVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MQorbXNnaWQgImJpZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkxCittc2dpZCAibGl0dGxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTUKK21zZ2lkICJ1bnN1cHBvcnRlZCBmaWxlc3lzdGVtIGZlYXR1cmVzIgorbXNnc3RyICJuZW0gdMOhbW9nYXRvdHQgZsOhamxyZW5kc3plci10dWxhamRvbnPDoWdvayIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXBlcmJsb2NrIHNpemUgKCVkKSB0b28gc21hbGwiCittc2dzdHIgImEgc3p1cGVyYmxva2sgbcOpcmV0ZSAoJWQpIHTDumwga2ljc2kiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDQKK21zZ2lkICJ6ZXJvIGZpbGUgY291bnQiCittc2dzdHIgIm51bGxhIGbDoWpsc3rDoW0iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDgKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBleHRlbmRzIHBhc3QgZW5kIG9mIGZpbGVzeXN0ZW0iCittc2dzdHIgImZpZ3llbG1lenRldMOpczogYSBmw6FqbCB0w7psbnnDumxpayBhIGbDoWpscmVuZHN6ZXIgdsOpZ8OpblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjEwCisjLCBmdXp6eQorbXNnaWQgIm9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICJmaWd5ZWxtZXp0ZXTDqXM6IHLDqWdpIGNyYW1mcyBmb3Jtw6F0dW1cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxOQorbXNnaWQgInVuYWJsZSB0byB0ZXN0IENSQzogb2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgImEgQ1JDIG5lbSB0ZXN6dGVsaGV0xZEsIHLDqWdpIGNyYW1mcyBmb3Jtw6F0dW0iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNzIKK21zZ2lkICJjcmMgZXJyb3IiCittc2dzdHIgImNyYy1oaWJhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzAyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU1NAorbXNnaWQgInNlZWsgZmFpbGVkIgorbXNnc3RyICJhIHBvemljaW9uw6Fsw6FzIG1lZ2hpw7pzdWx0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzA2CisjLCBmdXp6eQorbXNnaWQgInJlYWQgcm9tZnMgZmFpbGVkIgorbXNnc3RyICJheiBvbHZhc8OhcyBtZWdoacO6c3VsdDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMzgKK21zZ2lkICJyb290IGlub2RlIGlzIG5vdCBkaXJlY3RvcnkiCittc2dzdHIgImEgZ3nDtmvDqXIgaW5vZGUgbmVtIGvDtm55dnTDoXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHJvb3Qgb2Zmc2V0ICglbHUpIgorbXNnc3RyICJoaWLDoXMgcm9vdCBlbHRvbMOhcyAoJWx1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2MAorbXNnaWQgImRhdGEgYmxvY2sgdG9vIGxhcmdlIgorbXNnc3RyICJheiBhZGF0Ymxva2sgdMO6bCBuYWd5IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkZWNvbXByZXNzaW9uIGVycm9yOiAlcyIKK21zZ3N0ciAia2lib250w6FzaSBoaWJhOiAlcCglZCk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgIGhvbGUgYXQgJWx1ICglenUpXG4iCittc2dzdHIgIiAgbHl1ayBpdHQ6ICVsZCAoJXpkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Mzk3IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgdW5jb21wcmVzc2luZyBibG9jayBhdCAlbHUgdG8gJWx1ICglbHUpXG4iCittc2dzdHIgIiAgYmxva2sga2lib250w6FzYSBpdHQ6ICVsZCBlZGRpZzogJWxkICglbGQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJsb2NrICglbGQpIGJ5dGVzIgorbXNnc3RyICJuZW0gYmxva2sgKCVsZCkgYsOhanRvayIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwOAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tc2l6ZSAoJWxkIHZzICVsZCkgYnl0ZXMiCittc2dzdHIgIm5lbSBtw6lyZXQgYsOhanRvayAoJWxkIHZzICVsZCkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MTMgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxNgorIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDQgbWlzYy11dGlscy91dWlkZC5jOjM3NSBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzgyCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUzNSBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1OCBzeXMtdXRpbHMvc3dhcG9uLmM6Mzg5CisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJheiDDrXLDoXMgbWVnaGnDunN1bHQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI0CisjLCBjLWZvcm1hdAorbXNnaWQgImxjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJheiBsY2hvd24gbWVnaGnDunN1bHQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI4CisjLCBjLWZvcm1hdAorbXNnaWQgImNob3duIGZhaWxlZDogJXMiCittc2dzdHIgImEgY2hvd24gbWVnaGnDunN1bHQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgInV0aW1lIGZhaWxlZDogJXMiCittc2dzdHIgImF6IHV0aW1lIG1lZ2hpw7pzdWx0OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiYSBrw7ZueXZ0w6FyIGlub2RlIG51bGxhIGVsdG9sw6Fzw7ogw6lzIG5lbSBudWxsYSBtw6lyZXTFsTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtkaXIgZmFpbGVkOiAlcyIKK21zZ3N0ciAiYXogbWtkaXIgbWVnaGnDunN1bHQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc2Cittc2dpZCAiZmlsZW5hbWUgbGVuZ3RoIGlzIHplcm8iCittc2dzdHIgImEgZsOhamxuw6l2IG51bGxhIGhvc3N6w7pzw6Fnw7oiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NzgKK21zZ2lkICJiYWQgZmlsZW5hbWUgbGVuZ3RoIgorbXNnc3RyICJoaWLDoXMgZsOhamxuw6l2aG9zc3oiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0ODQKK21zZ2lkICJiYWQgaW5vZGUgb2Zmc2V0IgorbXNnc3RyICJoaWLDoXMgaW5vZGUtZWx0b2zDoXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0OTkKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZSIKK21zZ3N0ciAiYSBmw6FqbCBpbm9kZSBudWxsYSBlbHRvbMOhc8O6IMOpcyBuZW0gbnVsbGEgbcOpcmV0xbEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MDIKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIHNpemUgYW5kIG5vbi16ZXJvIG9mZnNldCIKK21zZ3N0ciAiYSBmw6FqbCBpbm9kZSBudWxsYSBtw6lyZXTFsSDDqXMgbmVtIG51bGxhIGVsdG9sw6Fzw7oiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzEKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIG9mZnNldCIKK21zZ3N0ciAiYSBzemltYm9saWt1cyBsaW5rIG51bGxhIGVsdG9sw6Fzw7oiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzMKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIHNpemUiCittc2dzdHIgImEgc3ppbWJvbGlrdXMgbGluayBudWxsYSBtw6lyZXTFsSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU0MgorIywgYy1mb3JtYXQKK21zZ2lkICJzaXplIGVycm9yIGluIHN5bWxpbms6ICVzIgorbXNnc3RyICJtw6lyZXRoaWJhIGEgc3ppbWJvbGlrdXMgbGlua2JlbjogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3ltbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICJhIHN5bWxpbmsgbWVnaGnDunN1bHQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTY5CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZmlsZSBoYXMgbm9uLXplcm8gb2Zmc2V0OiAlcyIKK21zZ3N0ciAiYSBzcGVjacOhbGlzIGbDoWpsIG5lbSBudWxsYSBlbHRvbMOhc8O6OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU3OQorIywgYy1mb3JtYXQKK21zZ2lkICJmaWZvIGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiYSBmaWZvIG5lbSBudWxsYSBtw6lyZXTFsTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiYSBmb2dsYWxhdCBuZW0gbnVsbGEgbcOpcmV0xbE6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg4CisjLCBjLWZvcm1hdAorbXNnaWQgImJvZ3VzIG1vZGU6ICVzICglbykiCittc2dzdHIgInphdmFyb3MgbcOzZDogJXMgKCVvKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5NworIywgYy1mb3JtYXQKK21zZ2lkICJta25vZCBmYWlsZWQ6ICVzIgorbXNnc3RyICJheiBta25vZCBtZWdoacO6c3VsdDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIHN0YXJ0ICglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQgKCV6dSkiCittc2dzdHIgImEga8O2bnl2dMOhcmFkYXRvayBrZXpkZXRlICglbGQpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQgKCVsZCkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIGVuZCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCittc2dzdHIgImEga8O2bnl2dMOhcmFkYXRvayB2w6lnZSAoJWxkKSBuZW0gZWd5ZXppayBhIGbDoWpsYWRhdG9rIGtlemRldMOpdmVsICglbGQpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjM3Cittc2dpZCAiaW52YWxpZCBmaWxlIGRhdGEgb2Zmc2V0IgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGbDoWpsYWRhdGVsdG9sw6FzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Njg0IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MjYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBibG9ja3NpemUgYXJndW1lbnQiCittc2dzdHIgInVtb3VudDogJXMgw6lydsOpbnl0ZWxlbiBibG9ra2VzemvDtnoiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo3MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IE9LXG4iCittc2dzdHIgIiVzOiBSZW5kYmVuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NAorIywgZnV6enkKK21zZ2lkICJDaGVjayB0aGUgY29uc2lzdGVuY3kgb2YgYSBNaW5peCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJGw6FqbHJlbmRzemVyLWVsbGVuxZFyesOpcyBrw6lueXN6ZXLDrXTDqXNlIGEga8O2dmV0a2V6xZFuOiDigJ4lc+KAnS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg2CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgIGxpc3QgYWxsIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgIFsgLWZpbGUga2nDrXJhdMOhc2lfZsOhamxuw6l2IF1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg3Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgYXV0b21hdGljIHJlcGFpclxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVwYWlyICAgICBpbnRlcmFjdGl2ZSByZXBhaXJcbiIKK21zZ3N0ciAiYXogaW50ZXJha3TDrXYgaGVseXJlw6FsbMOtdMOhc2hveiB0ZXJtaW7DoWwgc3rDvGtzw6lnZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBiZSB2ZXJib3NlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3VwZXIgICAgICBvdXRwdXQgc3VwZXItYmxvY2sgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkxCittc2dpZCAiIC1tLCAtLXVuY2xlYXJlZCAgYWN0aXZhdGUgbW9kZSBub3QgY2xlYXJlZCB3YXJuaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICBmb3JjZSBjaGVja1xuIgorbXNnc3RyICIgIHQgICAgICAgICAgQSBmw6FqbHJlbmRzemVyIHTDrXB1c8OhbmFrIG1lZ3bDoWx0b3p0YXTDoXNhIgorCisjLiBUUkFOU0xBVE9SUzogdGhlc2UgeWVzIG5vIHF1ZXN0aW9ucyB1c2VzIHJwbWF0Y2goKSwgYW5kIHNob3VsZCBiZQorIy4gKiB0cmFuc2xhdGVkLgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICh5L24pPyAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChuL3kpPyAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiblxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkLlx0ICIKK21zZ3N0ciAiJXMgY3NhdG9sdmEgdmFuLlx0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODkKK21zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gY29udGludWUiCittc2dzdHIgIlZhbMOzYmFuIGZvbHl0YXRuaSBha2FyamE/IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2sgYWJvcnRlZC5cbiIKK21zZ3N0ciAiZWxsZW7FkXJ6w6lzIG1lZ3N6YWvDrXR2YS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzE5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yIDwgRklSU1RaT05FIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIlrDs25hc3rDoW0gPCBFTFPFkFrDk05BIGEoeikg4oCeJXPigJ0gZsOhamxiYW4uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPj0gWk9ORVMgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiWsOzbmFzesOhbSA+PSBaw5NOQSBhKHopIOKAniVz4oCdIGbDoWpsYmFuLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzI2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0NworbXNnaWQgIlJlbW92ZSBibG9jayIKK21zZ3N0ciAiQSBibG9rayBlbHTDoXZvbMOtdMOhc2EiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiB1bmFibGUgdG8gc2VlayB0byBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiT2x2YXPDoXNpIGhpYmE6IG5lbSBsZWhldCBhIGJsb2trcmEgcG96aWNpb27DoWxuaSBhKHopIOKAniVz4oCdIGbDoWpsYmFuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIk9sdmFzw6FzaSBoaWJhOiBoaWLDoXMgYmxva2sgYSh6KSDigJ4lc+KAnSBmw6FqbGJhblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkludGVybmFsIGVycm9yOiB0cnlpbmcgdG8gd3JpdGUgYmFkIGJsb2NrXG4iCisiV3JpdGUgcmVxdWVzdCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKyJCZWxzxZEgaGliYToga8Otc8OpcmxldCBoaWLDoXMgYmxva2sgw61yw6Fzw6FyYVxuIgorIiBBeiDDrXLDoXNpIGvDqXLDqXMgZmlneWVsbWVuIGvDrXbDvGwgbWFyYWR0XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4NworbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICJhIHBvemljaW9uw6Fsw6FzIG1lZ2hpw7pzdWx0IGEgd3JpdGVfYmxvY2stYmFuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGUgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiw41yw6FzaSBoaWJhOiBoaWLDoXMgYmxva2sgYSh6KSDigJ4lc+KAnSBmw6FqbGJhblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MDUKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9zdXBlcl9ibG9jayIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBtZWdoacO6c3VsdCBhIHdyaXRlX3N1cGVyX2Jsb2NrLWJhbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTA3Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICJhIHN6dXBlcmJsb2trIG5lbSDDrXJoYXTDsyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTIwCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAiQXogaW5vZGUgdMOpcmvDqXAgbmVtIMOtcmhhdMOzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjMKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgem9uZSBtYXAiCittc2dzdHIgIkEgesOzbmF0w6lya8OpcCBuZW0gw61yaGF0w7MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyNgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgIkF6IGlub2RlLW9rIG5lbSDDrXJoYXTDs2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU1OAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBidWZmZXIgZm9yIHN1cGVyYmxvY2siCittc2dzdHIgIm5lbSBsZWhldCBwdWZmZXJ0IGxlZm9nbGFsbmkgYSBzenVwZXJibG9ra25hayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTYxCittc2dpZCAidW5hYmxlIHRvIHJlYWQgc3VwZXIgYmxvY2siCittc2dzdHIgImEgc3p1cGVyYmxva2sgbmVtIG9sdmFzaGF0w7MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4MworbXNnaWQgImJhZCBtYWdpYyBudW1iZXIgaW4gc3VwZXItYmxvY2siCittc2dzdHIgImhpYsOhcyBixbF2w7ZzIHN6w6FtIGEgc3p1cGVyYmxva2tiYW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4NQorbXNnaWQgIk9ubHkgMWsgYmxvY2tzL3pvbmVzIHN1cHBvcnRlZCIKK21zZ3N0ciAiQ3NhayAxayBibG9ray96w7NuYSB0w6Ftb2dhdG90dCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg3CisjLCBmdXp6eQorbXNnaWQgImJhZCBzX25pbm9kZXMgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgImhpYsOhcyBzX2ltYXBfYmxvY2tzIG1lesWRIGEgc3p1cGVyYmxva2tiYW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4OQorbXNnaWQgImJhZCBzX2ltYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJoaWLDoXMgc19pbWFwX2Jsb2NrcyBtZXrFkSBhIHN6dXBlcmJsb2trYmFuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTEKKyMsIGZ1enp5Cittc2dpZCAiYmFkIHNfZmlyc3RkYXRhem9uZSBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiaGliw6FzIHNfaW1hcF9ibG9ja3MgbWV6xZEgYSBzenVwZXJibG9ra2JhbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk0Cittc2dpZCAiYmFkIHNfem1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgImhpYsOhcyBzX3ptYXBfYmxvY2tzIG1lesWRIGEgc3p1cGVyYmxva2tiYW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxMAorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIG1hcCIKK21zZ3N0ciAiTmVtIGZvZ2xhbGhhdMOzIGxlIHB1ZmZlciBheiBpbm9kZSB0w6lya8OpcG5layIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjEzCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBtYXAiCittc2dzdHIgIk5lbSBmb2dsYWxoYXTDsyBsZSBwdWZmZXIgYSB6w7NuYXTDqXJrw6lwbmVrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTYKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCittc2dzdHIgIk5lbSBmb2dsYWxoYXTDsyBsZSBwdWZmZXIgYXogaW5vZGUtb2tuYWsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxOQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIGNvdW50IgorbXNnc3RyICJOZW0gZm9nbGFsaGF0w7MgbGUgcHVmZmVyIGEgaW5vZGUtb2sgc3rDoW1sw6Fsw7Nqw6FuYWsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyMgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgY291bnQiCittc2dzdHIgIk5lbSBmb2dsYWxoYXTDsyBsZSBwdWZmZXIgYSB6w7NuYSBzesOhbWzDoWzDs2rDoW5hayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI2Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGUgbWFwIgorbXNnc3RyICJBeiBpbm9kZSB0w6lya8OpcCBuZW0gb2x2YXNoYXTDsyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjMwCittc2dpZCAiVW5hYmxlIHRvIHJlYWQgem9uZSBtYXAiCittc2dzdHIgIkEgesOzbmF0w6lya8OpcCBuZW0gb2x2YXNoYXTDsyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM0Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGVzIgorbXNnc3RyICJBeiBpbm9kZS1vayBuZW0gb2x2YXNoYXTDs2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzNgorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIKK21zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBpbm9kZXNcbiIKK21zZ3N0ciAiJWxkIGlub2RlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgYmxvY2tzXG4iCittc2dzdHIgIiVsZCBibG9ra1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGaXJzdGRhdGF6b25lPSVqZCAoJWpkKVxuIgorbXNnc3RyICJFbHPFkSBhZGF0esOzbmE9JWxkICglbGQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0NQorIywgYy1mb3JtYXQKK21zZ2lkICJab25lc2l6ZT0lZFxuIgorbXNnc3RyICJaw7NuYW3DqXJldD0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1heHNpemU9JXp1XG4iCittc2dzdHIgIk1heC4gbcOpcmV0PSVsZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBzdGF0ZT0lZFxuIgorbXNnc3RyICJGw6FqbHJlbmRzemVyIMOhbGxhcG90YT0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJuYW1lbGVuPSV6ZFxuIgorIlxuIgorbXNnc3RyICIiCisibsOpdmhvc3N6PSVkXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY2NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWQgbWFya2VkIHVudXNlZCwgYnV0IHVzZWQgZm9yIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJBKHopICVkIGlub2RlIG5lbSBoYXN6bsOhbHRrw6ludCB2YW4gbWVnamVsw7ZsdmUsIGRlIGEoeikg4oCeJXPigJ0gZsOhamwgaGFzem7DoWxqYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NjcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzE3Cittc2dpZCAiTWFyayBpbiB1c2UiCittc2dzdHIgIk1lZ2plbMO2bMOpcyBoYXN6bsOhbHRrw6ludCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Njg5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjczNworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlsZSBgJXMnIGhhcyBtb2RlICUwNW9cbiIKK21zZ3N0ciAiQSh6KSDigJ4lc+KAnSBmw6FqbCBtw7NkamE6ICUwNW9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Njk2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBpbm9kZSBjb3VudCB0b28gYmlnLlxuIgorbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6IGF6IGlub2RlIHN6w6FtIHTDumwgbmFneS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzU1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2MworbXNnaWQgInJvb3QgaW5vZGUgaXNuJ3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImEgZ3nDtmvDqXIgaW5vZGUgbmVtIGvDtm55dnTDoXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc3NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgaGFzIGJlZW4gdXNlZCBiZWZvcmUuIE5vdyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJBIGJsb2trIG3DoXIgaGFzem7DoWxhdGJhbiB2b2x0LiBNb3N0IGEoeikg4oCeJXPigJ0gZsOhamxiYW4gdmFuLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzc3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgwOAorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTUyCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTk5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDgKK21zZ2lkICJDbGVhciIKK21zZ3N0ciAiVMO2cmzDqXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgJWQgaW4gZmlsZSBgJXMnIGlzIG1hcmtlZCBub3QgaW4gdXNlLiIKK21zZ3N0ciAiQSh6KSAlZCBibG9rayBhKHopIOKAniVz4oCdIGbDoWpsYmFuIG5lbSBoYXN6bsOhbHRrw6ludCB2YW4gbWVnamVsw7ZsdmUuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODIwCittc2dpZCAiQ29ycmVjdCIKK21zZ3N0ciAiSmF2w610w6FzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzMworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGlyZWN0b3J5ICclcycgY29udGFpbnMgYSBiYWQgaW5vZGUgbnVtYmVyIGZvciBmaWxlICclLipzJy4iCittc2dzdHIgIkEoeikg4oCeJXPigJ0ga8O2bnl2dMOhciBoaWLDoXMgaW5vZGUtc3rDoW1vdCB0YXJ0YWxtYXogYSDigJ4lLipz4oCdIGbDoWpsaG96LiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTYxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwMzUKK21zZ2lkICIgUmVtb3ZlIgorbXNnc3RyICIgRWx0w6F2b2zDrXTDoXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIKK21zZ3N0ciAiJXM6IGhpYsOhcyBrw7ZueXZ0w6FyOiBhIOKAni7igJ0gbmVtIGF6IGVsc8WRXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk4NiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIgorbXNnc3RyICIlczogaGliw6FzIGvDtm55dnTDoXI6IGEg4oCeLi7igJ0gbmVtIGEgbcOhc29kaWtcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA5NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTE3Cittc2dpZCAiaW50ZXJuYWwgZXJyb3IiCittc2dzdHIgImJlbHPFkSBoaWJhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDk3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IHNpemUgPCAzMiIKK21zZ3N0ciAiJXM6IGhpYsOhcyBrw7ZueXZ0w6FyLCBhIG3DqXJldCA8IDMyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogaW52YWxpZCBpX3pvbmUsIHVzZSAtLXJlcGFpciB0byBmaXhcbiIKK21zZ3N0ciAiJXM6IGhpYsOhcyBrw7ZueXZ0w6FyOiBhIOKAni7igJ0gbmVtIGF6IGVsc8WRXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMzIKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBiYWRfem9uZSIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBtZWdoacO6c3VsdCBhIGJhZF96b25lLWJhbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbW9kZSBub3QgY2xlYXJlZC4iCittc2dzdHIgIkEoeikgJWQuIGlub2RlIG3Ds2RqYSBuZW0ga2Vyw7xsdCB0w7ZybMOpc3JlLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbm90IHVzZWQsIG1hcmtlZCB1c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICJBKHopICVkLiBpbm9kZSBuaW5jcyBoYXN6bsOhbGF0YmFuLCBhIGJpdHTDqXJrw6lwZW4gbWVnamVsw7ZsdmUgaGFzem7DoWx0a8OpbnQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSB1c2VkLCBtYXJrZWQgdW51c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICJBKHopICVkLiBpbm9kZSBoYXN6bsOhbGF0YmFuLCBhIGJpdHTDqXJrw6lwZW4gbWVnamVsw7ZsdmUgaGFzem7DoWxhdG9uIGvDrXbDvGxpa8OpbnQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTQKK21zZ2lkICJTZXQiCittc2dzdHIgIkJlw6FsbMOtdMOhcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgKG1vZGUgPSAlMDdvKSwgaV9ubGlua3M9JWQsIGNvdW50ZWQ9JWQuIgorbXNnc3RyICIlZC4gaW5vZGUgKG3Ds2QgPSAlMDdvKSwgaV9ubGlua3M9JWQsIHN6w6FtbMOhbHQ9JWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjEKK21zZ2lkICJTZXQgaV9ubGlua3MgdG8gY291bnQiCittc2dzdHIgIkEgaV9ubGlua3MgYmXDoWxsw610w6FzYSBhIHN6w6FtcmEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG1hcmtlZCBpbiB1c2UsIG5vIGZpbGUgdXNlcyBpdC4iCittc2dzdHIgIkEoeikgJWQuIHrDs25hIGhhc3puw6FsdGvDqW50IHZhbiBtZWdqZWzDtmx2ZSwgZGUgZWd5IGbDoWpsIHNlbSBoYXN6bsOhbGphLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE3OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjM1Cittc2dpZCAiVW5tYXJrIgorbXNnc3RyICJNZWdqZWzDtmzDqXMgdMO2cmzDqXNlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTg0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiJWQuIHrDs25hOiBoYXN6bsOhbGF0YmFuLCBzesOhbWzDoWx0PSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiJWQuIHrDs25hOiBuaW5jcyBoYXN6bsOhbGF0YmFuLCBzesOhbWzDoWx0PSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyOTEKK21zZ2lkICJiYWQgaW5vZGUgc2l6ZSIKK21zZ3N0ciAiaGliw6FzIGlub2RlIG3DqXJldCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5MworbXNnaWQgImJhZCB2MiBpbm9kZSBzaXplIgorbXNnc3RyICJoaWLDoXMgdjIgaW5vZGUgbcOpcmV0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzM3Cittc2dpZCAibmVlZCB0ZXJtaW5hbCBmb3IgaW50ZXJhY3RpdmUgcmVwYWlycyIKK21zZ3N0ciAiYXogaW50ZXJha3TDrXYgaGVseXJlw6FsbMOtdMOhc2hveiB0ZXJtaW7DoWwgc3rDvGtzw6lnZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlcyIKK21zZ3N0ciAiYSh6KSAlcyBuZW0gbnlpdGhhdMOzIG1lZyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBjbGVhbiwgbm8gY2hlY2suXG4iCittc2dzdHIgIkEoeikgJXMgdGlzenRhLCBuZW0ga2Vyw7xsIGVsbGVuxZFyesOpc3JlLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiAlcy5cbiIKK21zZ3N0ciAiRsOhamxyZW5kc3plci1lbGxlbsWRcnrDqXMga8OpbnlzemVyw610w6lzZSBhIGvDtnZldGtlesWRbjog4oCeJXPigJ0uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBvbiAlcyBpcyBkaXJ0eSwgbmVlZHMgY2hlY2tpbmcuXG4iCittc2dzdHIgIkEoeikgJXMgZsOhamxyZW5kc3plcmUgbmVtIHRpc3p0YSwgZWxsZW7FkXJpem5pIGtlbGwuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2bGQgaW5vZGVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICIiCisiXG4iCisiJTZsZCBpbm9kZSBoYXN6bsOhbGF0YmFuICglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlNmxkIHpvbmVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICIlNmxkIHrDs25hIGhhc3puw6FsYXRiYW4gKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmQgcmVndWxhciBmaWxlc1xuIgorIiU2ZCBkaXJlY3Rvcmllc1xuIgorIiU2ZCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGJsb2NrIGRldmljZSBmaWxlc1xuIgorIiU2ZCBsaW5rc1xuIgorIiU2ZCBzeW1ib2xpYyBsaW5rc1xuIgorIi0tLS0tLVxuIgorIiU2ZCBmaWxlc1xuIgorbXNnc3RyICIiCisiXG4iCisiJTZkIHN6YWLDoWx5b3MgZsOhamxcbiIKKyIlNmQga8O2bnl2dMOhclxuIgorIiU2ZCBrYXJha3RlcmVzZXN6a8O2ei1mw6FqbFxuIgorIiU2ZCBibG9ra2VzemvDtnpmw6FqbFxuIgorIiU2ZCBsaW5rXG4iCisiJTZkIHN6aW1ib2xpa3VzIGxpbmtcbiIKKyItLS0tLS1cbiIKKyIlNmQgZsOhamxcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQxMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIkZJTEUgU1lTVEVNIEhBUyBCRUVOIENIQU5HRURcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiQSBGw4FKTFJFTkRTWkVSIE1FR1bDgUxUT1pPVFQgXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDIzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgzMworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MzkgZGlzay11dGlscy9wYXJ0eC5jOjEwMzUgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTEyCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5OCBzeXMtdXRpbHMvZG1lc2cuYzo2NTkgc3lzLXV0aWxzL3dkY3RsLmM6MzQ2CisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0MTEgdGVybS11dGlscy9zY3JpcHQuYzoyNzIgdGVybS11dGlscy9zY3JpcHQuYzozNDkKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjQ4CisjLCBmdXp6eQorbXNnaWQgIndyaXRlIGZhaWxlZCIKK21zZ3N0ciAiYXogw61yw6FzIG1lZ2hpw7pzdWx0OiAlcyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtaWdodCBub3QgYmUgYW4gSVNPIGZpbGVzeXN0ZW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZWVrIGVycm9yIG9uICVzIgorbXNnc3RyICIlczogcG96aWNpb27DoWzDoXNpIGhpYmEgYSBrw7Z2ZXRrZXrFkW46ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVhZCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiJXM6IG9sdmFzw6FzaSBoaWJhIGEga8O2dmV0a2V6xZFuOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VjdG9yIGNvdW50OiAlZCwgc2VjdG9yIHNpemU6ICVkXG4iCittc2dzdHIgInN6ZWt0b3JzesOhbTogJWQsIHN6ZWt0b3Jtw6lyZXQ6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8aXNvOTY2MF9pbWFnZV9maWxlPlxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTc0Cittc2dpZCAiU2hvdyB0aGUgbGVuZ3RoIG9mIGFuIElTTy05NjYwIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTc3Cittc2dpZCAiIC1kLCAtLWRpdmlzb3I9PG51bWJlcj4gIGRpdmlkZSB0aGUgYW1vdW50IG9mIGJ5dGVzIGJ5IDxudW1iZXI+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTc4CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBzaG93IHNlY3RvciBjb3VudCBhbmQgc2l6ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoyMTAKK21zZ2lkICJpbnZhbGlkIGRpdmlzb3IgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZSBbYmxvY2stY291bnRdXG4iCittc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzcKK21zZ2lkICJNYWtlIGFuIFNDTyBiZnMgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1OLCAtLWlub2Rlcz1OVU0gICAgc3BlY2lmeSBkZXNpcmVkIG51bWJlciBvZiBpbm9kZXNcbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICBzcGVjaWZ5IHZvbHVtZSBuYW1lXG4iCisiIC1GLCAtLWZuYW1lPU5BTUUgICAgc3BlY2lmeSBmaWxlIHN5c3RlbSBuYW1lXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyIgLWMgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1sICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiICAgICAgICAgICAgICAgICAgICAgLVYgYXMgdmVyc2lvbiBtdXN0IGJlIG9ubHkgb3B0aW9uXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTQ0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAiYSBzb3JvayBzesOhbWEgw6lydsOpbnl0ZWxlbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1MAorbXNnaWQgInZvbHVtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICJhIGvDtnRldG7DqXYgdMO6bCBob3NzesO6IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU3Cittc2dpZCAiZnNuYW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgImEgZsOhamxyZW5kc3plcm7DqXYgdMO6bCBob3NzesO6IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTkzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYmxvY2stY291bnQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAiYSh6KSDigJ4lc+KAnSBtw6lyZXRlIG5lbSBrw6lyaGV0xZEgbGUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2tzIGFyZ3VtZW50IHRvbyBsYXJnZSwgbWF4IGlzICVsbHUiCittc2dzdHIgImEgYmxva2thcmd1bWVudHVtIHTDumwgbmFneSwgYSBtYXhpbXVtICVsbHUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMTkKK21zZ2lkICJ0b28gbWFueSBpbm9kZXMgLSBtYXggaXMgNTEyIgorbXNnc3RyICJ0w7psIHNvayBpbm9kZSwgYSBtYXhpbXVtIDUxMiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlLCBuZWVkIGF0IGxlYXN0ICVsbHUgYmxvY2tzIgorbXNnc3RyICJuaW5jcyBlbMOpZyBoZWx5LCBsZWdhbMOhYmIgJWxsdSBibG9rayBzesO8a3PDqWdlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2U6ICVzXG4iCittc2dzdHIgIkVzemvDtno6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVm9sdW1lOiA8JS02cz5cbiIKK21zZ3N0ciAiS8O2dGV0OiA8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJGU25hbWU6IDwlLTZzPlxuIgorbXNnc3RyICJGw6FqbHJlbmRzemVybsOpdjogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tTaXplOiAlZFxuIgorbXNnc3RyICJCbG9ra23DqXJldDogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluIDEgYmxvY2spXG4iCittc2dzdHIgIklub2RlLW9rOiAlZCAoYmxva2tvbmvDqW50KVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gJWxsdSBibG9ja3MpXG4iCittc2dzdHIgIklub2RlLW9rOiAlZCAoJWxsZCBibG9ra2JhbilcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tzOiAlbGx1XG4iCittc2dzdHIgIkJsb2trb2s6ICVsbGRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSBlbmQ6ICVkLCBEYXRhIGVuZDogJWRcbiIKK21zZ3N0ciAiSW5vZGUtb2sgdsOpZ2U6ICVkLCBhZGF0b2sgdsOpZ2U6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTcKK21zZ2lkICJlcnJvciB3cml0aW5nIHN1cGVyYmxvY2siCittc2dzdHIgImhpYmEgYSBzenVwZXJibG9rayDDrXLDoXNhIGvDtnpiZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNzgKK21zZ2lkICJlcnJvciB3cml0aW5nIHJvb3QgaW5vZGUiCittc2dzdHIgImhpYmEgYSBnecO2a8OpciBpbm9kZSDDrXLDoXNhIGvDtnpiZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODMKK21zZ2lkICJlcnJvciB3cml0aW5nIGlub2RlIgorbXNnc3RyICJoaWJhIGF6IGlub2RlIMOtcsOhc2Frb3IiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODYKK21zZ2lkICJzZWVrIGVycm9yIgorbXNnc3RyICJwb3ppY2lvbsOhbMOhc2kgaGliYSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5MgorbXNnaWQgImVycm9yIHdyaXRpbmcgLiBlbnRyeSIKK21zZ3N0ciAiaGliYSBhIC4gYmVqZWd5esOpcyDDrXLDoXNha29yIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjk2Cittc2dpZCAiZXJyb3Igd3JpdGluZyAuLiBlbnRyeSIKK21zZ3N0ciAiaGliYSBhIC4uIGJlamVneXrDqXMgw61yw6FzYWtvciIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjbG9zaW5nICVzIgorbXNnc3RyICJoaWJhIGEoeikg4oCeJXPigJ0gbGV6w6Fyw6Fza29yIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXQgPHR5cGU+XSBbZnMtb3B0aW9uc10gPGRldmljZT4gWzxzaXplPl1cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogbWtmcyBbLVZdIFstdCBmw6FqbHJlbmRzemVydMOtcHVzXSBbZsOhamxyZW5kc3plci1iZcOhbGzDrXTDoXNva10gZXN6a8O2eiBbbcOpcmV0XVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0OAorIywgZnV6enkKK21zZ2lkICJNYWtlIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiQWRqYSBtZWcgYSBmw6FqbHJlbmRzemVyIHTDrXB1c8OhdDogIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICIgLXQsIC0tdHlwZT08dHlwZT4gIGZpbGVzeXN0ZW0gdHlwZTsgd2hlbiB1bnNwZWNpZmllZCwgZXh0MiBpcyB1c2VkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICBmcy1vcHRpb25zICAgICBwYXJhbWV0ZXJzIGZvciB0aGUgcmVhbCBmaWxlc3lzdGVtIGJ1aWxkZXJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxkZXZpY2U+ICAgICAgIHBhdGggdG8gdGhlIGRldmljZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8c2l6ZT4gICAgICAgICBudW1iZXIgb2YgYmxvY2tzIHRvIGJlIHVzZWQgb24gdGhlIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5aW5nIC1WIG1vcmUgdGhhbiBvbmNlIHdpbGwgY2F1c2UgYSBkcnktcnVuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJzaW9uICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0O1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAtViBhcyAtLXZlcnNpb24gbXVzdCBiZSB0aGUgb25seSBvcHRpb25cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1oLCAtLWhlbHAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjEzOSBsaWIvZXhlY19zaGVsbC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjIzMworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjU3IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk5MgorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwMCBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODA0IHNjaGVkdXRpbHMvY2hydC5jOjU1OAorIzogc2NoZWR1dGlscy9pb25pY2UuYzoyNjAgc2NoZWR1dGlscy90YXNrc2V0LmM6MjM5IHN5cy11dGlscy9mbG9jay5jOjEyMgorIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MzAgc3lzLXV0aWxzL3BybGltaXQuYzo2NDQgc3lzLXV0aWxzL3J0Y3dha2UuYzo1NzcKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzI0IHN5cy11dGlscy9zZXRhcmNoLmM6NDAzIHN5cy11dGlscy9zZXRzaWQuYzoxMTUKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozNDAgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjQyIHN5cy11dGlscy91bnNoYXJlLmM6NDYxCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU4MSB0ZXh0LXV0aWxzL3BnLmM6MTM3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGV4ZWN1dGUgJXMiCittc2dzdHIgImEgdMOtcHVzcGFyYW5jc2bDoWpsICglcykgb2x2YXPDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1c2FnZTogJXMgWy1oXSBbLXZdIFstYiBibGtzaXplXSBbLWUgZWRpdGlvbl0gWy1OIGVuZGlhbl0gWy1pIGZpbGVdIFstbiBuYW1lXSBkaXJuYW1lIG91dGZpbGVcbiIKKyIgLWggICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyIgLXYgICAgICAgICBiZSB2ZXJib3NlXG4iCisiIC1FICAgICAgICAgbWFrZSBhbGwgd2FybmluZ3MgZXJyb3JzIChub24temVybyBleGl0IHN0YXR1cylcbiIKKyIgLWIgYmxrc2l6ZSB1c2UgdGhpcyBibG9ja3NpemUsIG11c3QgZXF1YWwgcGFnZSBzaXplXG4iCisiIC1lIGVkaXRpb24gc2V0IGVkaXRpb24gbnVtYmVyIChwYXJ0IG9mIGZzaWQpXG4iCisiIC1OIGVuZGlhbiAgc2V0IGNyYW1mcyBlbmRpYW5uZXNzIChiaWd8bGl0dGxlfGhvc3QpLCBkZWZhdWx0IGhvc3RcbiIKKyIgLWkgZmlsZSAgICBpbnNlcnQgYSBmaWxlIGltYWdlIGludG8gdGhlIGZpbGVzeXN0ZW0gKHJlcXVpcmVzID49IDIuNC4wKVxuIgorIiAtbiBuYW1lICAgIHNldCBuYW1lIG9mIGNyYW1mcyBmaWxlc3lzdGVtXG4iCisiIC1wICAgICAgICAgcGFkIGJ5ICVkIGJ5dGVzIGZvciBib290IGNvZGVcbiIKKyIgLXMgICAgICAgICBzb3J0IGRpcmVjdG9yeSBlbnRyaWVzIChvbGQgb3B0aW9uLCBpZ25vcmVkKVxuIgorIiAteiAgICAgICAgIG1ha2UgZXhwbGljaXQgaG9sZXMgKHJlcXVpcmVzID49IDIuMy4zOSlcbiIKKyIgZGlybmFtZSAgICByb290IG9mIHRoZSBmaWxlc3lzdGVtIHRvIGJlIGNvbXByZXNzZWRcbiIKKyIgb3V0ZmlsZSAgICBvdXRwdXQgZmlsZVxuIgorbXNnc3RyICIiCisiSGFzem7DoWxhdDogJXMgWy1oXSBbLXZdIFstYiBibG9ra23DqXJldF0gWy1lIGtpYWTDoXNdIFstTiBiw6FqdHNvcnJlbmRdIFstaSBmw6FqbF1cbiIKKyJbLW4gbsOpdl0ga8O2bnl2dMOhcm7DqXYga2ltZW5ldGlmw6FqbFxuIgorIiAtaCAgICAgICAgIGV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorIiAtdiAgICAgICAgIHLDqXN6bGV0ZXMgbcOzZFxuIgorIiAtRSAgICAgICAgIGF6IMO2c3N6ZXMgZmlneWVsbWV6dGV0w6lzIGhpYmEgKG5lbSBudWxsYSB2aXNzemF0w6lyw6lzaSDDqXJ0w6lra2VsKVxuIgorIiAtYiBibG9ra23DqXJldCAgZXplbiBibG9ra23DqXJldCBoYXN6bsOhbGF0YSwgbWVnIGtlbGwgZWd5ZXpuaWUgYSBsYXBtw6lyZXR0ZWxcbiIKKyIgLWUgc3plcmtlc3p0w6lzIGJlw6FsbMOtdGphIGEga2lhZMOhc3N6w6Ftb3QgKGEgZnNpZCByw6lzemUpXG4iCisiIC1OIGLDoWp0c29ycmVuZCBhIGNyYW1mcyBiw6FqdHNvcnJlbmRqZSAoYmlnfGxpdHRsZXxob3N0KSwgYWxhcMOpcnRlbG1lemV0dDogaG9zdFxuIgorIiAtaSBmw6FqbCAgICBlZ3kga8OpcGbDoWpsIGJlc3rDunLDoXNhIGEgZsOhamxyZW5kc3plcmJlICg+PSAyLjQuMCBrZXJuZWwgc3rDvGtzw6lnZXMpXG4iCisiIC1uIG7DqXYgICAgIGEgY3JhbWZzIGbDoWpscmVuZHN6ZXIgbmV2w6luZWsgYmXDoWxsw610w6FzYVxuIgorIiAtcCAgICAgICAgICVkIGLDoWp0bnlpIGtpdMO2bHTDqXMgYSByZW5kc3plcmluZMOtdMOzIGvDs2RuYWtcbiIKKyIgLXMgICAgICAgICBhIGvDtm55dnTDoXJiZWplZ3l6w6lzZWsgcmVuZGV6w6lzZSAoZWxhdnVsdCBrYXBjc29sw7MsIMOpcnbDqW55dGVsZW4pXG4iCisiIC16ICAgICAgICAgbHl1a2FrIGzDqXRyZWhvesOhc2EgKD49IDIuMy4zOSBrZXJuZWwgc3rDvGtzw6lnZXMpXG4iCisiIGvDtm55dnTDoXJuw6l2ICBhIHTDtm3DtnLDrXRlbmTFkSBmw6FqbHJlbmRzemVyIGd5w7Zrw6lya8O2bnl2dMOhcmFcbiIKKyIga2ltZW5ldGlmw6FqbCAgYSBraW1lbmV0aSBmw6FqbFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZWFkbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICJheiBvbHZhc8OhcyBtZWdoacO6c3VsdDogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAiYSBnecO2a8OpciBpbm9kZSBuZW0ga8O2bnl2dMOhciIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjQ0MworIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHRvbyBiaWcuICBFeGl0aW5nLiIKK21zZ3N0ciAiYSBmw6FqbHJlbmRzemVyIHTDumwgbmFneS4gS2lsw6lww6lzLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkFJRUVFOiBibG9jayBcImNvbXByZXNzZWRcIiB0byA+IDIqYmxvY2tsZW5ndGggKCVsZClcbiIKK21zZ3N0ciAiSElCQTogYSBibG9rayBhIGJsb2traG9zc3ogKCVsZCkgdMO2YmIgbWludCBrw6l0c3plcmVzw6lyZSDigJ50w7Ztw7Zyw610dmXigJ1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZCBiw6FqdClcdCVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjbG9zZSBmaWxlICVzIgorbXNnc3RyICJOZW0gbnlpdGhhdMOzIG1lZyBhKHopIOKAniVz4oCdIGbDoWpsIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzMyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZWRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzQyCittc2dpZCAiaW52YWxpZCBlbmRpYW5uZXNzIGdpdmVuOyBtdXN0IGJlICdiaWcnLCAnbGl0dGxlJywgb3IgJ2hvc3QnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGd1ZXN0aW1hdGUgb2YgcmVxdWlyZWQgc2l6ZSAodXBwZXIgYm91bmQpIGlzICVsbGRNQiwgYnV0IG1heGltdW0gaW1hZ2Ugc2l6ZSBpcyAldU1CLiAgV2UgbWlnaHQgZGllIHByZW1hdHVyZWx5LiIKK21zZ3N0ciAiZmlneWVsbWV6dGV0w6lzOiBhIHN6w7xrc8OpZ2VzIGJlY3PDvGx0IG3DqXJldCAoZmVsc8WRIGhhdMOhcmEpICVsbGQgTUIsIGRlIGEgbWF4aW3DoWxpcyBrw6lwZsOhamxtw6lyZXQgJXUgTUIuIEEgZm9seWFtYXQgaWTFkSBlbMWRdHQgYmVmZWplesWRZGhldC5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgzMAorbXNnaWQgIlJPTSBpbWFnZSBtYXAiCittc2dzdHIgIlJPTSBrw6lwdMOpcmvDqXAiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5jbHVkaW5nOiAlc1xuIgorbXNnc3RyICJCZWxlw6lydHZlOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpcmVjdG9yeSBkYXRhOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiS8O2bnl2dMOhcmFkYXRvazogJXpkIGLDoWp0XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXZlcnl0aGluZzogJXpkIGtpbG9ieXRlc1xuIgorbXNnc3RyICLDlnNzemVzZW46ICV6ZCBraWxvYsOhanRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2MQorIywgYy1mb3JtYXQKK21zZ2lkICJTdXBlciBibG9jazogJXpkIGJ5dGVzXG4iCittc2dzdHIgIlN6dXBlcmJsb2trOiAlemQgYsOhanRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICJDUkM6ICV4XG4iCittc2dzdHIgIkNSQzogJXhcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSBhbGxvY2F0ZWQgZm9yIFJPTSBpbWFnZSAoJWxsZCBhbGxvY2F0ZWQsICV6dSB1c2VkKSIKK21zZ3N0ciAibmluY3MgZWzDqWcgaGVseSBsZWZvZ2xhbHZhIGEgUk9NIGvDqXBmw6FqbG5hayAoJWxsZCBsZWZvZ2xhbHZhLCAlenUgaGFzem7DoWxhdGJhbilcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUk9NIGltYWdlIHdyaXRlIGZhaWxlZCAoJXpkICV6ZCkiCittc2dzdHIgIkEgUk9NIGvDqXBmw6FqbCDDrXLDoXNhIG1lZ2hpw7pzdWx0ICglemQgJXpkKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODgyCittc2dpZCAiUk9NIGltYWdlIgorbXNnc3RyICJST00ga8OpcCIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZW5hbWVzIHRydW5jYXRlZCB0byAldSBieXRlcy4iCittc2dzdHIgImZpZ3llbG1lenRldMOpczogYSBmw6FqbG5ldmVrIDI1NSBiw6FqdCBob3NzenJhIGNzb25rw610dmEuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTMKKyMsIGZ1enp5Cittc2dpZCAid2FybmluZzogZmlsZXMgd2VyZSBza2lwcGVkIGR1ZSB0byBlcnJvcnMuIgorbXNnc3RyICJmaWd5ZWxtZXp0ZXTDqXM6IGhpYsOhayB0w7ZydMOpbnRlaywgZW1pYXR0IGbDoWpsb2sga2Vyw7xsdGVrIGtpaGFnecOhc3JhLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlIHNpemVzIHRydW5jYXRlZCB0byAlbHVNQiAobWludXMgMSBieXRlKS4iCittc2dzdHIgImZpZ3llbG1lenRldMOpczogYSBmw6FqbG3DqXJldGVrICVsdSBNQi1yYSAobcOtbnVzeiAxIGLDoWp0KSBjc29ua8OtdHZhLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJmaWd5ZWxtZXp0ZXTDqXM6IGEgZmVsaGFzem7DoWzDs2kgYXpvbm9zw610w7NrICV1IGJpdHJlIGNzb25rw610dmEuIChFeiBiaXp0b25zw6FnaSBwcm9ibMOpbWEgbGVoZXQuKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBnaWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJmaWd5ZWxtZXp0ZXTDqXM6IGEgY3NvcG9ydGF6b25vc8OtdMOzayAldSBiaXRyZSBjc29ua8OtdHZhLihFeiBiaXp0b25zw6FnaSBwcm9ibMOpbWEgbGVoZXQuKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogZGV2aWNlIG51bWJlcnMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICBUaGlzIGFsbW9zdCBjZXJ0YWlubHkgbWVhbnNcbiIKKyJ0aGF0IHNvbWUgZGV2aWNlIGZpbGVzIHdpbGwgYmUgd3JvbmcuIgorbXNnc3RyICIiCisiRklHWUVMTUVaVEVUw4lTOiBheiBlc3prw7Z6c3rDoW1vayAldSBiaXRyZSBjc29ua8OtdHZhLiBFeiBtYWpkbmVtIGJpenRvc2FuIGF6dFxuIgorImplbGVudGksIGhvZ3kgYml6b255b3MgZXN6a8O2embDoWpsb2sgaGliw6FzYWsgbGVzem5lay5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC9kZXYvbmFtZSBbYmxvY2tzXVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgIiAtMSAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAxXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOAorIywgZnV6enkKK21zZ2lkICIgLTIsIC12ICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMlxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzkKKyMsIGZ1enp5Cittc2dpZCAiIC0zICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQwCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uYW1lbGVuZ3RoIDxudW0+ICBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiYSh6KSDigJ4lc+KAnSBuZW0gbnlpdGhhdMOzIG1lZzogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taW5vZGVzIDxudW0+ICAgICAgbnVtYmVyIG9mIGlub2RlcyBmb3IgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiQWRqYSBtZWcgYSBjaWxpbmRlcmVrIHN6w6Ftw6F0OiAiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MgorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgY2hlY2sgdGhlIGRldmljZSBmb3IgYmFkIGJsb2Nrc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDMKK21zZ2lkICIgLWwsIC0tYmFkYmxvY2tzIDxmaWxlPiAgbGlzdCBvZiBiYWQgYmxvY2tzIGZyb20gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgdG8gYm9vdCBibG9jayBmYWlsZWQgIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAiYSByZW5kc3plcmluZMOtdMOzIGJsb2trcmEgcG96aWNpb27DoWzDoXMgbWVnaGnDunN1bHQgYSB3cml0ZV90YWJsZXMtYmVuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gY2xlYXIgYm9vdCBzZWN0b3IiCittc2dzdHIgImEgcmVuZHN6ZXJpbmTDrXTDsyBzemVrdG9ydCBuZW0gbGVoZXQgdMO2csO2bG5pIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgc2lrZXJ0ZWxlbiBhIHdyaXRlX3RhYmxlcy1iZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAiYSBzenVwZXJibG9rayBuZW0gw61yaGF0w7MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgImF6IGlub2RlIHTDqXJrw6lwIG5lbSDDrXJoYXTDsyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICJhIHrDs25hdMOpcmvDqXAgbmVtIMOtcmhhdMOzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICJheiBpbm9kZS1vayBuZW0gw61yaGF0w7NrIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBtZWdoacO6c3VsdCBhIHdyaXRlX2Jsb2NrLWJhbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICJheiDDrXLDoXMgbWVnaGnDunN1bHQgYSB3cml0ZV9ibG9jay1iYW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyMSBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyOTYKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjM0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBtYW55IGJhZCBibG9ja3MiCittc2dzdHIgInTDumwgc29rIGhpYsOhcyBibG9rayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGVub3VnaCBnb29kIGJsb2NrcyIKK21zZ3N0ciAibmluY3MgZWzDqWcgasOzIGJsb2trIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkZpcnN0IGRhdGEgYmxvY2sgYXQgJWpkLCB3aGljaCBpcyB0b28gZmFyIChtYXggJWQpLlxuIgorIlRyeSBzcGVjaWZ5aW5nIGZld2VyIGlub2RlcyBieSBwYXNzaW5nIC0taW5vZGVzIDxudW0+IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWx1IGlub2RlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBpbm9kZXNcbiIKK21zZ3N0clswXSAiJWxkIGlub2RlXG4iCittc2dzdHJbMV0gIiVsZCBpbm9kZVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVsdSBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlbHUgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVsZCBibG9ra1xuIgorbXNnc3RyWzFdICIlbGQgYmxva2tcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJab25lc2l6ZT0lenVcbiIKK21zZ3N0ciAiWsOzbmFtw6lyZXQ9JWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiTWF4c2l6ZT0lenVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIk1heC4gbcOpcmV0PSVsZFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBkdXJpbmcgdGVzdGluZyBvZiBibG9ja3MiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgbWVnaGnDunN1bHQgYSBibG9ra29rIHRlc3p0ZWzDqXNlIGvDtnpiZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJXZWlyZCB2YWx1ZXMgaW4gZG9fY2hlY2s6IHByb2JhYmx5IGJ1Z3NcbiIKK21zZ3N0ciAiU3pva2F0bGFuIMOpcnTDqWtlayBhIGRvX2NoZWNrLWJlbjogZXogdmFsw7NzesOtbsWxbGVnIGhpYsOhdCBqZWxlelxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgbWVnaGnDunN1bHQgYSBjaGVja19ibG9ja3MtYmFuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgYmxvY2tzIGJlZm9yZSBkYXRhLWFyZWE6IGNhbm5vdCBtYWtlIGZzIgorbXNnc3RyICJoaWLDoXMgYmxva2tvayBheiBhZGF0dGVyw7xsZXQgZWzFkXR0OiBuZW0gbGVoZXQgbMOpdHJlaG96bmkgYSBmw6FqbHJlbmRzemVydCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjM5IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgYmFkIGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVkIGJhZCBibG9ja3NcbiIKK21zZ3N0clswXSAiJWQgaGliw6FzIGJsb2trXG4iCittc2dzdHJbMV0gIiVkIGhpYsOhcyBibG9ra1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBvcGVuIGZpbGUgb2YgYmFkIGJsb2NrcyIKK21zZ3N0ciAibmVtIG55aXRoYXTDsyBtZWcgYSBoaWLDoXMgYmxva2tvayBmw6FqbGphIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkYmxvY2sgbnVtYmVyIGlucHV0IGVycm9yIG9uIGxpbmUgJWRcbiIKK21zZ3N0ciAiYmVtZW5ldGkgaGliYSBhIGhpYsOhcyBibG9ra29rIHN6w6Ftw6Fuw6FsIGEoeikgJWQuIHNvcmJhblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBiYWRibG9ja3MgZmlsZSIKK21zZ3N0ciAiaGliw6FzIGJsb2trb2sgZsOhamxqYSBuZW0gb2x2YXNoYXTDsyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk0CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIHNpemUgc21hbGxlciB0aGFuIHBoeXNpY2FsIHNlY3RvciBzaXplIG9mICVzIgorbXNnc3RyICJhIGJsb2trbcOpcmV0IGtpc2ViYiwgbWludCBhIGZpemlrYWkgc3pla3Rvcm3DqXJldCAoJXMpIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBzaXplIG9mICVzIgorbXNnc3RyICJhKHopICVzIG3DqXJldGUgbmVtIMOhbGxhcMOtdGhhdMOzIG1lZyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZXF1ZXN0ZWQgYmxvY2tzICglbGx1KSBleGNlZWRzIGF2YWlsYWJsZSAoJWxsdSkgYmxvY2tzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbnVtYmVyIG9mIGJsb2NrcyB0b28gc21hbGwiCittc2dzdHIgImEgYmxva2tvayBzesOhbWEgdMO6bCBraWNzaSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzIzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbmFtZSBsZW5ndGg6ICVkIgorbXNnc3RyICIlczogaXNtZXJldGxlbiBhcmd1bWVudHVtOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG1pbml4IGZpbGUgc3lzdGVtIHZlcnNpb246ICVkIgorbXNnc3RyICJuZW0gdMOhbW9nYXRvdHQgZsOhamxyZW5kc3plci10dWxhamRvbnPDoWdvayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzY3Cittc2dpZCAiLXYgaXMgYW1iaWd1b3VzLCB1c2UgJy0yJyBpbnN0ZWFkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc3OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzIgorbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzgyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODA2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgYmxvY2tzIgorbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2UgYSBmaWxlc3lzdGVtIGhlcmUhIgorbXNnc3RyICJhKHopICVzIGNzYXRvbHZhIHZhbiwgaXR0IG5lbSBsZXN6IGzDqXRyZWhvenZhIGbDoWpscmVuZHN6ZXIhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCYWQgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICV1IgorbXNnc3RyICJIaWLDoXMgZmVsaGFzem7DoWzDsyDDoWx0YWwgbWVnYWRvdHQgbGFwbcOpcmV0OiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2luZyB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJWQsIGluc3RlYWQgb2YgdGhlIHN5c3RlbSB2YWx1ZSAlZCIKK21zZ3N0ciAiQSBmZWxoYXN6bsOhbMOzIMOhbHRhbCBtZWdhZG90dCAlZCBsYXBtw6lyZXQgaGFzem7DoWxhdGEgYSByZW5kc3plciAlZCDDqXJ0w6lrZSBoZWx5ZXR0XG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTI0CisjLCBmdXp6eQorbXNnaWQgIkxhYmVsIHdhcyB0cnVuY2F0ZWQuIgorbXNnc3RyICJBIGPDrW1rZSBjc29ua8OtdHZhLlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBsYWJlbCwgIgorbXNnc3RyICJuaW5jcyBjw61ta2UsICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gdXVpZFxuIgorbXNnc3RyICJuaW5jcyB1dWlkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXSBkZXZpY2UgW3NpemVdXG4iCittc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1MgorbXNnaWQgIlNldCB1cCBhIExpbnV4IHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICBjaGVjayBiYWQgYmxvY2tzIGJlZm9yZSBjcmVhdGluZyB0aGUgc3dhcCBhcmVhXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgYWxsb3cgc3dhcCBzaXplIGFyZWEgYmUgbGFyZ2VyIHRoYW4gZGV2aWNlXG4iCisiIC1wLCAtLXBhZ2VzaXplIFNJWkUgICAgICAgc3BlY2lmeSBwYWdlIHNpemUgaW4gYnl0ZXNcbiIKKyIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICBzcGVjaWZ5IGxhYmVsXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAgc3BlY2lmeSBzd2FwLXNwYWNlIHZlcnNpb24gbnVtYmVyXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgc3BlY2lmeSB0aGUgdXVpZCB0byB1c2VcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGJhZCBwYWdlczogJWx1IgorbXNnc3RyICJ0w7psIHNvayBoaWLDoXMgbGFwIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE5NQorbXNnaWQgInNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBtZWdoacO6c3VsdCBhIGNoZWNrX2Jsb2Nrcy1iYW4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmFkIHBhZ2VcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJhZCBwYWdlc1xuIgorbXNnc3RyWzBdICIlbHUgaGliw6FzIGxhcFxuIgorbXNnc3RyWzFdICIlbHUgaGliw6FzIGxhcFxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIyOAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBuZXcgbGliYmxraWQgcHJvYmUiCittc2dzdHIgIm5lbSBsZWhldCBsZWZvZ2xhbG5pIGF6IMO6aiBsaWJibGtpZCB2aXpzZ8OhbGF0b3QiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMwCittc2dpZCAidW5hYmxlIHRvIGFzc2lnbiBkZXZpY2UgdG8gbGliYmxraWQgcHJvYmUiCittc2dzdHIgIm5lbSByZW5kZWxoZXTFkSBlc3prw7Z6IGEgbGliYmxraWQgdml6c2fDoWxhdGhveiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2hlY2tpbmcgYmFkIGJsb2NrcyBmcm9tIHN3YXAgZmlsZSBpcyBub3Qgc3VwcG9ydGVkOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI2MSBkaXNrLXV0aWxzL21rc3dhcC5jOjI4NyBkaXNrLXV0aWxzL21rc3dhcC5jOjMzNAorbXNnaWQgInVuYWJsZSB0byByZXdpbmQgc3dhcC1kZXZpY2UiCittc2dzdHIgIm5lbSBsZWhldCB2aXNzemHDoWxsw610YW5pIGEgbGFwb3rDs3RlcsO8bGV0LWVzemvDtnp0IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI5MAorbXNnaWQgInVuYWJsZSB0byBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICJhIHJlbmRzemVyaW5kw610w7NiaXQtc3pla3Rvcm9rYXQgbmVtIGxlaGV0IHTDtnLDtmxuaSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IHdpcGluZyBvbGQgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IGRvbid0IGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgIiVzOiAlczogZmlneWVsbWV6dGV0w6lzOiBuZSB0w7Zyw7ZsamUgYSByZW5kc3plcmluZMOtdMOzYml0LXN6ZWt0b3Jva2F0XG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKCVzIHBhcnRpdGlvbiB0YWJsZSBkZXRlY3RlZCkuICIKK21zZ3N0ciAiICAgICAgICAoJXMgcGFydMOtY2nDs3MgdMOhYmxhIMOpc3psZWx2ZSkuICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoY29tcGlsZWQgd2l0aG91dCBsaWJibGtpZCkuICIKK21zZ3N0ciAiICAgICAgICAoYSBwcm9ncmFtIGEgbGliYmxraWQgbsOpbGvDvGwgbGV0dCBsZWZvcmTDrXR2YSkuICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzZSAtZiB0byBmb3JjZS5cbiIKK21zZ3N0ciAiQSBsaXN0YSBtZWdqZWxlbsOtdMOpc8OpaGV6IGhhc3puw6FsamEgYSBrw7Z2ZXRrZXrFkSBwYXJhbmNzb3Q6ICVzIC1sXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHNpZ25hdHVyZSBwYWdlIgorbXNnc3RyICIlczogJXM6IG5lbSBsZWhldCDDrXJuaSBheiBhbMOhw61yw6FzbGFwcmE6ICVzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4MAorIywgZnV6enkKK21zZ2lkICJwYXJzaW5nIHBhZ2Ugc2l6ZSBmYWlsZWQiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgbWVnaGnDunN1bHQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg2CisjLCBmdXp6eQorbXNnaWQgInBhcnNpbmcgdmVyc2lvbiBudW1iZXIgZmFpbGVkIgorbXNnc3RyICJsZWZvZ2xhbHQgc3plbWFmb3JvayA9ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzd2Fwc3BhY2UgdmVyc2lvbiAlZCBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJhIHNlYmVzc8OpZyAoJWQpIG5lbSB0w6Ftb2dhdG90dCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGlnbm9yaW5nIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQgYnkgJXMpIgorbXNnc3RyICIlMSRzOiBmaWd5ZWxtZXp0ZXTDqXM6IGEgLVUgZmlneWVsbWVuIGvDrXbDvGwgbWFyYWQgKGEoeikgJTEkcyBuZW0gdMOhbW9nYXRqYSBheiBVVUlELWtldClcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MTQKK21zZ2lkICJvbmx5IG9uZSBkZXZpY2UgYXJndW1lbnQgaXMgY3VycmVudGx5IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQyMQorIywgZnV6enkKK21zZ2lkICJlcnJvcjogcGFyc2luZyBVVUlEIGZhaWxlZCIKK21zZ3N0ciAiaGliYTogYXogVVVJRCBmZWxkb2xnb3rDoXMgbWVnaGnDunN1bHQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDMwCisjLCBmdXp6eQorbXNnaWQgImVycm9yOiBOb3doZXJlIHRvIHNldCB1cCBzd2FwIG9uPyIKK21zZ3N0ciAiJXMgaGliYTogTmVtIMOhbGzDrXRqYSBiZSBzZWhvdsOhIGEgbGFwb3rDs3RlcsO8bGV0ZXQ/XG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDM2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYmxvY2sgY291bnQgYXJndW1lbnQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHNpemUgJWxsdSBLaUIgaXMgbGFyZ2VyIHRoYW4gZGV2aWNlIHNpemUgJTxQUkl1NjQ+IEtpQiIKK21zZ3N0ciAiJXM6IGhpYmE6IGEoeikgJWxsdSBLaUIgbcOpcmV0IG5hZ3lvYmIgbWludCBheiBlc3prw7Z6ICVsbHUgS2lCIG3DqXJldGVcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzd2FwIGFyZWEgbmVlZHMgdG8gYmUgYXQgbGVhc3QgJWxkIEtpQiIKK21zZ3N0ciAiJXMgaGliYTogYSBsYXBvesOzdGVyw7xsZXRuZWsgbGVnYWzDoWJiICVsZCBLaUIgbcOpcmV0xbFuZWsga2VsbCBsZW5uaWVcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHRydW5jYXRpbmcgc3dhcCBhcmVhIHRvICVsbHUgS2lCIgorbXNnc3RyICIlczogZmlneWVsbWV6dGV0w6lzOiBhIGxhcG96w7N0ZXLDvGxldCAlbGx1IEtpQiBtw6lyZXRyZSBsZXN6IGNzb25rw610dmFcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIHN3YXBzcGFjZSIKK21zZ3N0ciAiJXM6IGhpYmE6IGEoeikgJXMgY3NhdG9sdmEgdmFuLCBhIGxhcG96w7N0ZXLDvGxldCBuZW0ga2Vyw7xsIGzDqXRyZWhvesOhc3JhLlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ2OCBzeXMtdXRpbHMvc3dhcG9uLmM6NTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgcGVybWlzc2lvbnMgJTA0bywgJTA0byBzdWdnZXN0ZWQuIgorbXNnc3RyICIlczogZmlneWVsbWV6dGV0w6lzOiBhKHopICVzIGpvZ29zdWx0c8OhZ2FpICglMDRvKSBuZW0gYml6dG9uc8OhZ29zYWssIGEgamF2YXNvbHQgw6lydMOpazogJTA0b1xuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ3MiBzeXMtdXRpbHMvc3dhcG9uLmM6NTMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgZmlsZSBvd25lciAlZCwgMCAocm9vdCkgc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IGZpZ3llbG1lenRldMOpczogYSh6KSAlcyBqb2dvc3VsdHPDoWdhaSAoJTA0bykgbmVtIGJpenRvbnPDoWdvc2FrLCBhIGphdmFzb2x0IMOpcnTDqWs6ICUwNG9cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0ODcKK21zZ2lkICJVbmFibGUgdG8gc2V0IHVwIHN3YXAtc3BhY2U6IHVucmVhZGFibGUiCittc2dzdHIgIkEgbGFwb3rDs3RlcsO8bGV0IG5lbSDDoWxsw610aGF0w7MgYmU6IG9sdmFzaGF0YXRsYW4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIHVwIHN3YXBzcGFjZSB2ZXJzaW9uICVkLCBzaXplID0gJXMgKCU8UFJJdTY0PiBieXRlcylcbiIKK21zZ3N0ciAiMS4gdmVyemnDs2rDuiBsYXBvesOzdGVyw7xsZXQgYmXDoWxsw610w6FzYSwgbcOpcmV0ZTogJWxsdSBraUJcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gb2J0YWluIHNlbGludXggZmlsZSBsYWJlbCIKK21zZ3N0ciAiJXM6ICVzOiBhIHNlbGludXggZsOhamxjw61ta2UgbmVtIGvDqXJoZXTFkSBsZTogJXNcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTUKK21zZ2lkICJ1bmFibGUgdG8gbWF0Y2hwYXRoY29uKCkiCittc2dzdHIgIm5lbSBoYWp0aGF0w7MgdsOpZ3JlIGEgbWF0Y2hwYXRoY29uKCkgaMOtdsOhcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTgKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIG5ldyBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIm5lbSBob3poYXTDsyBsw6l0cmUgw7pqIHNlbGludXgga29udGV4dHVzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMAorbXNnaWQgImNvdWxkbid0IGNvbXB1dGUgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJuZW0gc3rDoW3DrXRoYXTDsyBraSBhIHNlbGludXgga29udGV4dHVzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlbGFiZWwgJXMgdG8gJXMiCittc2dzdHIgIiVzOiAlcyBuZW0gY8OtbWvDqXpoZXTFkSDDoXQgKGVycmU6ICVzKTogJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg2CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIlBhcnTDrWNpw7NzesOhbSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg3CisjLCBmdXp6eQorbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIKK21zZ3N0ciAiQ3NhayBtZWdqZWxlbsOtdGkgYSBwYXJ0w61jacOzcyB0w6FibMOhdCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg4CisjLCBmdXp6eQorbXNnaWQgImVuZCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgIk5lbSBzaWtlcsO8bHQgYSBwYXJ0w61jacOzIGtpw61yw6FzYSBhKHopICVzIGVzemvDtnrDtm5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg5CisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJTemVrdG9yb2sgc3rDoW1hIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTAKK21zZ2lkICJodW1hbiByZWFkYWJsZSBzaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MQorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiUGFydMOtY2nDs3N6w6FtIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA4IG1pc2MtdXRpbHMvbHNibGsuYzoxNjgKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0w61jacOzOlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTMKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIHRhYmxlIHR5cGUgKGRvcywgZ3B0LCAuLi4pIgorbXNnc3RyICJQYXJ0w61jacOzcyB0w6FibGEga2nDrXLDoXNhIGEgbGVtZXpyZS4uLiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk0IG1pc2MtdXRpbHMvbHNibGsuYzoxNjkKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIGZsYWdzIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydMOtY2nDszpcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1Cittc2dpZCAicGFydGl0aW9uIHR5cGUgKGEgc3RyaW5nLCBhIFVVSUQsIG9yIGhleCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUwOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjYxNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wY3h0IgorbXNnc3RyICJOZW0gZm9nbGFsaGF0w7MgbGUgcHVmZmVydC5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IG5lbSB0YWzDoWxoYXTDsyBzemFiYWQgaHVyb2tlc3prw7Z6IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gdXNlICclcycgZm9yIHRoZSBsb29wIGRldmljZVxuIgorbXNnc3RyICJtb3VudDogYSh6KSAlcyBodXJva2VzemvDtnoga2Vyw7xsIGZlbGhhc3puw6Fsw6FzcmFcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYmFja2luZyBmaWxlIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEzMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjU1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UiCittc2dzdHIgIm5lbSBsZWhldCB2aXNzemHDoWxsw610YW5pIGEgbGFwb3rDs3RlcsO8bGV0LWVzemvDtnp0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTYxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzA3IG1pc2MtdXRpbHMvZmluZG1udC5jOjM3NgorIzogbWlzYy11dGlscy9sc2Jsay5jOjM1NCBtaXNjLXV0aWxzL2xzbG9ja3MuYzozNDIgc3lzLXV0aWxzL2xvc2V0dXAuYzoxMDcKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM3MiBzeXMtdXRpbHMvbHNpcGMuYzoyMzIgc3lzLXV0aWxzL2xzbnMuYzoxODkKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjc3IHN5cy11dGlscy9zd2Fwb24uYzoxNDcgc3lzLXV0aWxzL3dkY3RsLmM6MTUxCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjE0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICIlczogSXNtZXJldGxlbiBwYXJhbmNzOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJhIHBvemljaW9uw6Fsw6FzIHNpa2VydGVsZW4gYSB3cml0ZV90YWJsZXMtYmVuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjg2IGRpc2stdXRpbHMvcGFydHguYzozMjQgZGlzay11dGlscy9wYXJ0eC5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZpZWQgcmFuZ2UgPCVkOiVkPiBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmFuZ2UgcmVjb3VudDogbWF4IHBhcnRubz0lZCwgbG93ZXI9JWQsIHVwcGVyPSVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJWQuIHBhcnTDrWNpw7Mga2l2w6FsYXN6dHZhXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVtb3ZlZFxuIgorbXNnc3RyICJOaW5jc2VuZWsgcGFydMOtY2nDs2sgbWVnYWR2YVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBkb2Vzbid0IGV4aXN0XG4iCittc2dzdHIgIkV6IGEgcGFydMOtY2nDsyBtw6FyIGzDqXRlemlrLlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZGVsZXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVkLiBwYXJ0w61jacOzIGtpdsOhbGFzenR2YVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAibmVtIHLDqXN6ZSBhKHopICVzIHBhcnTDrWNpw7NuYWtcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6ICVzIHBhcnTDrWNpw7MgIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDA1IGRpc2stdXRpbHMvcGFydHguYzo1MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGFkZGVkXG4iCittc2dzdHIgIk5pbmNzZW5layBwYXJ0w61jacOzayBtZWdhZHZhXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzIG1lZ2hpw7pzdWx0LlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIlZC4gcGFydMOtY2nDsyBraXbDoWxhc3p0dmFcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIkZpZ3llbG1lenRldMOpczogJXMgcGFydMOtY2nDsyAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBwYXJ0aXRpb24gIyVkIgorbXNnc3RyICJOaW5jc2VuZWsgcGFydMOtY2nDs2sgbWVnYWR2YVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZXNpemVkXG4iCittc2dzdHIgIk5pbmNzZW5layBwYXJ0w61jacOzayBtZWdhZHZhXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1cGRhdGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJWQuIHBhcnTDrWNpw7Mga2l2w6FsYXN6dHZhXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvciwgJTZqdSBNQilcbiIKK21zZ2lkX3BsdXJhbCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvcnMsICU2anUgTUIpXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTgxIG1pc2MtdXRpbHMvZmluZG1udC5jOjY4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MDUKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM5MSBzeXMtdXRpbHMvbHNucy5jOjQ1NgorbXNnaWQgImZhaWxlZCB0byBhZGQgbGluZSB0byBvdXRwdXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY0NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWRkIGRhdGEgdG8gb3V0cHV0IHRhYmxlIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY2NyBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjkyMiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTg1CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg3NCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NTEgc3lzLXV0aWxzL2xvc2V0dXAuYzozMTAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MTMgc3lzLXV0aWxzL2xzaXBjLmM6MzM4IHN5cy11dGlscy9sc25zLmM6NTExCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI5NyBzeXMtdXRpbHMvc3dhcG9uLmM6MjgwIHN5cy11dGlscy93ZGN0bC5jOjI1OQorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo0ODQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY3OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjExIG1pc2MtdXRpbHMvbHNibGsuYzoxODk2CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NjUgc3lzLXV0aWxzL2xvc2V0dXAuYzozMjIgc3lzLXV0aWxzL2xvc2V0dXAuYzozNTgKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MTggc3lzLXV0aWxzL2xzbnMuYzo1MzIgc3lzLXV0aWxzL3BybGltaXQuYzozMDYKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyODkgc3lzLXV0aWxzL3dkY3RsLmM6MjcwIHN5cy11dGlscy96cmFtY3RsLmM6NDkzCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBibGtpZCBmaWx0ZXIgZm9yICclcyciCittc2dzdHIgIk5lbSBmb2dsYWxoYXTDsyBsZSBwdWZmZXJ0LlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJwYXJ0w61jacOzcyB0w6FibGEgw7pqcmFvbHZhc8Ohc2EiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgdHlwZSAnJXMnIGRldGVjdGVkXG4iCittc2dzdHIgIiAgICAgICAgKCVzIHBhcnTDrWNpw7NzIHTDoWJsYSDDqXN6bGVsdmUpLiAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgd2l0aCBubyBwYXJ0aXRpb25zIgorbXNnc3RyICJBKHopICVzIGxlbWV6IG5lbSB0YXJ0YWxtYXogw6lydsOpbnllcyBwYXJ0w61jacOzcyB0w6FibMOhdFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLWF8LWR8LXN8LXVdIFstLW5yIDxuOm0+IHwgPHBhcnRpdGlvbj5dIDxkaXNrPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTYKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIHByZXNlbmNlIGFuZCBudW1iZXJpbmcgb2YgcGFydGl0aW9ucy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzU5Cittc2dpZCAiIC1hLCAtLWFkZCAgICAgICAgICAgIGFkZCBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjAKK21zZ2lkICIgLWQsIC0tZGVsZXRlICAgICAgICAgZGVsZXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MQorbXNnaWQgIiAtdSwgLS11cGRhdGUgICAgICAgICB1cGRhdGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYyCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLXMsIC0tc2hvdyAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zXG4iCisiXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgcGFyYW3DqXRlcmVrXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjMgbWlzYy11dGlscy9sc2Jsay5jOjE2MjMKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY0Cittc2dpZCAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLXNob3dcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY1Cittc2dpZCAiIC1uLCAtLW5yIDxuOm0+ICAgICAgIHNwZWNpZnkgdGhlIHJhbmdlIG9mIHBhcnRpdGlvbnMgKGUuZy4gLS1uciAyOjQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9a2FwY3NvbMOzLWthcmFrdGVybMOhbmMgIEZlbGlzbWVyZW5kxZEgcsO2dmlkIGthcGNzb2zDs2tcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NyBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNworIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY4IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM4CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICBzcGVjaWZ5IHRoZSBwYXJ0aXRpb24gdHlwZSAoZG9zLCBic2QsIHNvbGFyaXMsIGV0Yy4pXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Nzc2CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdywgLS1yYXcgb3IgLS1wYWlycyk6XG4iCittc2dzdHIgIkVsw6lyaGV0xZEgcGFyYW5jc29rOlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODQ5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLW5yIDxNLU4+IHJhbmdlIgorbXNnc3RyICJBIHN6ZW3DqWx5aXPDqWcgYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTI0CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBhbmQgZGlzayBuYW1lIGRvIG5vdCBtYXRjaCIKK21zZ3N0ciAiIgorIkEgcGFydMOtY2nDs3MgdMOhYmxhIG3Ds2Rvc8OtdHZhIVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTUyCittc2dpZCAiLS1uciBhbmQgPHBhcnRpdGlvbj4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTcxCisjLCBjLWZvcm1hdAorbXNnaWQgInBhcnRpdGlvbjogJXMsIGRpc2s6ICVzLCBsb3dlcjogJWQsIHVwcGVyOiAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlIHBhcnRpdGlvbnMiCittc2dzdHIgIk5lbSB0w7Zyw7ZsaGV0IMO8cmVzIHBhcnTDrWNpw7N0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJhIHNlYmVzc8OpZyAoJWQpIG5lbSB0w6Ftb2dhdG90dCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBibGtpZCBwcm9iZXIiCittc2dzdHIgIk5lbSBmb2dsYWxoYXTDsyBsZSBwdWZmZXJ0LlxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyAlMiRzcmF3TiA8bWFqb3I+IDxtaW5vcj5cbiIKKyIgJTEkcyAlMiRzcmF3TiAvZGV2LzxibG9ja2RldmljZT5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTgKK21zZ2lkICJCaW5kIGEgcmF3IGNoYXJhY3RlciBkZXZpY2UgdG8gYSBibG9jayBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MQorbXNnaWQgIiAtcSwgLS1xdWVyeSAgICBzZXQgcXVlcnkgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjIKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgcXVlcnkgYWxsIHJhdyBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgdGhlIGNvbnRyb2wgcmF3IGRldmljZSAodXNlIHJhdzxOPiB3aGVyZSA8Tj4gaXMgZ3JlYXRlciB0aGFuIHplcm8pIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIGJsb2NrIGRldmljZSAnJXMnIgorbXNnc3RyICJOZW0gbGVoZXQgesOhcm9sbmkgYSh6KSAlcyB6w6Fyb2zDoXNpIGbDoWpsdDogJXNcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoxODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhKHopICVzIG5lbSBibG9ra2VzemvDtnpcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoxOTMgZGlzay11dGlscy9yYXcuYzoxOTYgc3lzLXV0aWxzL2lwY3JtLmM6MzUxCisjOiBzeXMtdXRpbHMvaXBjcm0uYzozNjQgc3lzLXV0aWxzL2lwY3JtLmM6Mzc3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBhcmd1bWVudCIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICJhKHopIOKAniVz4oCdIGVzemvDtnogbmVtIMOpcmhldMWRIGVsIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSByYXcgZGV2aWNlICclcyciCittc2dzdHIgImEoeikg4oCeJXPigJ0gZXN6a8O2eiBuZW0gw6lyaGV0xZEgZWwiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJSYXcgZGV2aWNlICclcycgaXMgbm90IGEgY2hhcmFjdGVyIGRldiIKK21zZ3N0ciAiL2Rldi8lczogbmVtIGVneSBrYXJha3RlcmVzemvDtnoiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSByYXcgZGV2IgorbXNnc3RyICIlcyBuZW0gc29yb3Mgdm9uYWwiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjQ1CisjLCBmdXp6eQorbXNnaWQgIkVycm9yIHF1ZXJ5aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgImhpYmEgYSBzem9sZ8OhbHRhdMOhcyBsZcOhbGzDrXTDoXNha29yOiDigJ4lc+KAnSIKKworIzogZGlzay11dGlscy9yYXcuYzoyNTQgZGlzay11dGlscy9yYXcuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNyYXclZDogIGJvdW5kIHRvIG1ham9yICVkLCBtaW5vciAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjY4CisjLCBmdXp6eQorbXNnaWQgIkVycm9yIHNldHRpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAiaGliYSBhIHN6b2xnw6FsdGF0w6FzIGxlw6FsbMOtdMOhc2Frb3I6IOKAniVz4oCdIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxsZW5ndGg+XG4iCittc2dzdHIgImhhc3puw6FsYXQ6IHNmZGlzayAtLWlkIGVzemvDtnogcGFydMOtY2nDs3N6w6FtIFthem9ub3PDrXTDs11cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjMKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBudW1iZXIgJXMiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgc2lrZXJ0ZWxlbiBhIHdyaXRlX3RhYmxlcy1iZW4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiIKK21zZ3N0ciAicGFydMOtY2nDs3MgdMOhYmxhIMO6anJhb2x2YXPDoXNhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIzMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbmVzdGVkIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgIm5lbSBmb2dsYWxoYXTDsyBsZSBraW1lbmV0aSBwdWZmZXIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2VlayAlcyIKK21zZ3N0ciAiYSBwcm9ncmFtaW5kw610w6FzIG1lZ2hpw7pzdWx0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMwMiBsaWJmZGlzay9zcmMvYnNkLmM6NzIzIGxpYmZkaXNrL3NyYy9ic2QuYzo4OTQKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTYzIHN5cy11dGlscy9od2Nsb2NrLmM6MTY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgJXMiCittc2dzdHIgImEoeikgJXMgbmVtIG55aXRoYXTDsyBtZWciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiUxMnMgKG9mZnNldCAlNWp1LCBzaXplICU1anUpOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAiCittc2dzdHIgIiVzOiAlczogbmVtIGxlaGV0IMOtcm5pIGF6IGFsw6HDrXLDoXNsYXByYTogJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzI4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAgZmlsZSwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICIlczogJXM6IG5lbSBsZWhldCDDrXJuaSBheiBhbMOhw61yw6FzbGFwcmE6ICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM1NAorbXNnaWQgIkJhY2t1cCBmaWxlczoiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozNzkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbmV3IHBhcnRpdGlvbiBmcm9tIGRldmljZTsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgInBhcnTDrWNpw7NzIHTDoWJsYSDDumpyYW9sdmFzw6FzYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBzaWtlcnRlbGVuIGEgd3JpdGVfdGFibGVzLWJlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgc2lrZXJ0ZWxlbiBhIHdyaXRlX3RhYmxlcy1iZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgc2lrZXJ0ZWxlbiBhIHdyaXRlX3RhYmxlcy1iZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJhIHBvemljaW9uw6Fsw6FzIHNpa2VydGVsZW4gYSB3cml0ZV90YWJsZXMtYmVuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4OQorIywgZnV6enkKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGhhcyBub3QgYmVlbiBtb3ZlZDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgc2lrZXJ0ZWxlbiBhIHdyaXRlX3RhYmxlcy1iZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkxCittc2dpZCAibmV3IHBhcnRpdGlvbiBpcyBzbWFsbGVyIHRoYW4gb3JpZ2luYWw7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQxCittc2dpZCAiRGF0YSBtb3ZlOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIHR5cGVzY3JpcHQgZmlsZTogJXMiCittc2dzdHIgIm5lbSBueWl0aGF0w7MgbWVnIGEgdMOtcHVzcGFyYW5jc2bDoWpsICglcykiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiBvbGQgc3RhcnQ6ICVqdSwgbmV3IHN0YXJ0OiAlanUgKG1vdmUgJWp1IHNlY3RvcnMpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTEKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gbW92ZSBwYXJ0aXRpb24gZGF0YT8iCittc2dzdHIgIlZhbMOzYmFuIGxlbWV6cmUgYWthcmphIGV6dCDDrXJuaT8gW3lucV0gIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1MyBkaXNrLXV0aWxzL3NmZGlzay5jOjE3ODMKK21zZ2lkICJMZWF2aW5nLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjUyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBtb3ZlIGRhdGEiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0MQorIywgZnV6enkKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGlzIHVuY2hhbmdlZCAoLS1uby1hY3QpLiIKK21zZ3N0ciAiIgorIkEgcGFydMOtY2nDs3MgdMOhYmxhIG3Ds2Rvc8OtdHZhIVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0NworIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiIgorIkEgcGFydMOtY2nDs3MgdMOhYmxhIG3Ds2Rvc8OtdHZhIVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbGFiZWwgJyVzJyIKK21zZ3N0ciAiJXM6IGlzbWVyZXRsZW4gYXJndW1lbnR1bTogJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MjYKK21zZ2lkICIiCisiSWQgIE5hbWVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkF6b25vc8OtdMOzICBOw6l2XG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjU2CisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUgdHlwZSIKK21zZ3N0ciAiICVzOiBhem9ub3PDrXRhdGxhbiBwYXJ0w61jacOzc3TDoWJsYS10w61wdXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAiTmVtIGvDqXJoZXTFkSBsZSBhKHopICVzIG3DqXJldGVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRvdGFsOiAlanUgYmxvY2tzXG4iCittc2dzdHIgIsO2c3N6ZXNlbjogJWxsdSBibG9ra1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgwOCBkaXNrLXV0aWxzL3NmZGlzay5jOjg3NiBkaXNrLXV0aWxzL3NmZGlzay5jOjkxNworIzogZGlzay11dGlscy9zZmRpc2suYzo5NDcgZGlzay11dGlscy9zZmRpc2suYzoxMDE0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA3OAorIzogZGlzay11dGlscy9zZmRpc2suYzoxMTMzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE4OSBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MzMKKyMsIGZ1enp5Cittc2dpZCAibm8gZGlzayBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJtb3VudDogYSBodXJva2VzemvDtnp0IGvDqXRzemVyIGFkdGEgbWVnIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgxOQorbXNnaWQgInRvZ2dsZSBib290IGZsYWdzIGlzIHN1cHBvcnRlZCBmb3IgTUJSIG9ubHkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NTAgZGlzay11dGlscy9zZmRpc2suYzo4OTYgZGlzay11dGlscy9zZmRpc2suYzoxMDE5CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODMgZGlzay11dGlscy9zZmRpc2suYzoxMTM4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5NAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTMxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBzaWtlcnRlbGVuIGEgd3JpdGVfdGFibGVzLWJlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlZDogZmFpbGVkIHRvIHRvZ2dsZSBib290YWJsZSBmbGFnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODkxIGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGRlbGV0ZSIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBzaWtlcnRlbGVuIGEgd3JpdGVfdGFibGVzLWJlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIkEoeikgJXMgbGVtZXogbmVtIHRhcnRhbG1heiDDqXJ2w6lueWVzIHBhcnTDrWNpw7NzIHTDoWJsw6F0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTU4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBkdW1wIHN0cnVjdCIKK21zZ3N0ciAibmVtIGZvZ2xhbGhhdMOzIGxlIHB1ZmZlcnRlcsO8bGV0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkdW1wIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAicGFydMOtY2nDs3MgdMOhYmxhIMO6anJhb2x2YXPDoXNhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiB0YWJsZSBmb3VuZCIKK21zZ3N0ciAiTmluY3MgamVsZW4gcGFydMOtY2nDs3MgdMOhYmxhLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICJBKHopICVzIGxlbWV6IG5lbSB0YXJ0YWxtYXogw6lydsOpbnllcyBwYXJ0w61jacOzcyB0w6FibMOhdFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiBpcyB1bnVzZWQiCittc2dzdHIgIkZpZ3llbG1lenRldMOpczogYSh6KSAlZC4gcGFydMOtY2nDsyDDoXRmZWRpIGEoeikgJWQgcGFydMOtY2nDs3QuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxOCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODIgZGlzay11dGlscy9zZmRpc2suYzoxMTM3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTMKKyMsIGZ1enp5Cittc2dpZCAibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiCittc2dzdHIgIkEg4oCeLS1kYXRl4oCdIGthcGNzb2zDsyBuaW5jcyBtZWdhZHZhLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMjQgZGlzay11dGlscy9zZmRpc2suYzoxMDg4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE0MworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTk5CisjLCBmdXp6eQorbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnRzIgorbXNnc3RyICJhIHbDoXJ0IHN6w6FtIGhlbHlldHQg4oCeJXPigJ0gdGFsw6FsaGF0w7MiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgc2lrZXJ0ZWxlbiBhIHdyaXRlX3RhYmxlcy1iZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIHBhcnRpdGlvbiB0eXBlICclcyciCittc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIG55aXRoYXTDsyBtZWc6ICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJBKHopICVzIGxlbWV6IG5lbSB0YXJ0YWxtYXogw6lydsOpbnllcyBwYXJ0w61jacOzcyB0w6FibMOhdFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJBKHopICVzIGxlbWV6IG5lbSB0YXJ0YWxtYXogw6lydsOpbnllcyBwYXJ0w61jacOzcyB0w6FibMOhdFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMTMgZGlzay11dGlscy9zZmRpc2suYzoxMTY4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIyMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG9iamVjdCIKK21zZ3N0ciAibmVtIGZvZ2xhbGhhdMOzIGxlIGtpbWVuZXRpIHB1ZmZlciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiQSh6KSAlcyBsZW1leiBuZW0gdGFydGFsbWF6IMOpcnbDqW55ZXMgcGFydMOtY2nDs3MgdMOhYmzDoXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBzaWtlcnRlbGVuIGEgd3JpdGVfdGFibGVzLWJlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBzaWtlcnRlbGVuIGEgd3JpdGVfdGFibGVzLWJlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gYXR0cmlidXRlcyIKK21zZ3N0ciAiQSh6KSAlcyBsZW1leiBuZW0gdGFydGFsbWF6IMOpcnbDqW55ZXMgcGFydMOtY2nDs3MgdMOhYmzDoXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjY5CisjLCBmdXp6eQorbXNnaWQgIiBDb21tYW5kczpcbiIKK21zZ3N0ciAiRWzDqXJoZXTFkSBwYXJhbmNzb2s6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3MQorIywgZnV6enkKK21zZ2lkICIgICB3cml0ZSAgICB3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0XG4iCittc2dzdHIgIiAgIHcgICBhIHTDoWJsYSBsZW1lenJlIMOtcsOhc2Egw6lzIGtpbMOpcMOpcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjcyCittc2dpZCAiICAgcXVpdCAgICAgc2hvdyBuZXcgc2l0dWF0aW9uIGFuZCB3YWl0IGZvciB1c2VyJ3MgZmVlZGJhY2sgYmVmb3JlIHdyaXRlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjczCittc2dpZCAiICAgYWJvcnQgICAgZXhpdCBzZmRpc2sgc2hlbGxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzQKKyMsIGZ1enp5Cittc2dpZCAiICAgcHJpbnQgICAgZGlzcGxheSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgIHAgICBCU0QgcGFydMOtY2nDs3MgdMOhYmxhIGtpw61yw6FzYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjc1CisjLCBmdXp6eQorbXNnaWQgIiAgIGhlbHAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjc3Cittc2dpZCAiICAgQ3RybC1EICAgdGhlIHNhbWUgYXMgJ3F1aXQnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjgxCittc2dpZCAiIElucHV0IGZvcm1hdDpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODMKK21zZ2lkICIgICA8c3RhcnQ+LCA8c2l6ZT4sIDx0eXBlPiwgPGJvb3RhYmxlPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4NgorbXNnaWQgIiIKKyIgICA8c3RhcnQ+ICBCZWdpbm5pbmcgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgdGhlIGZpcnN0IGZyZWUgc3BhY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkxCittc2dpZCAiIgorIiAgIDxzaXplPiAgIFNpemUgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgYWxsIGF2YWlsYWJsZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTYKK21zZ2lkICIgICA8dHlwZT4gICBUaGUgcGFydGl0aW9uIHR5cGUuICBEZWZhdWx0IGlzIGEgTGludXggZGF0YSBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk3Cittc2dpZCAiICAgICAgICAgICAgTUJSOiBoZXggb3IgTCxTLEUsWCBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk4Cittc2dpZCAiICAgICAgICAgICAgR1BUOiBVVUlEIG9yIEwsUyxIIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDEKKyMsIGZ1enp5Cittc2dpZCAiICAgPGJvb3RhYmxlPiAgVXNlICcqJyB0byBtYXJrIGFuIE1CUiBwYXJ0aXRpb24gYXMgYm9vdGFibGUuXG4iCittc2dzdHIgIk5lbSBsZXN6IGvDqXBlcyBlcnJlIGEgcGFydMOtY2nDs3MgdMOhYmzDoXJhIMOtcm5pLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDUKK21zZ2lkICIgRXhhbXBsZTpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDcKKyMsIGZ1enp5Cittc2dpZCAiICAgLCA0RyAgICAgQ3JlYXRlcyBhIDRHaUIgcGFydGl0aW9uIGF0IGRlZmF1bHQgc3RhcnQgb2Zmc2V0LlxuIgorbXNnc3RyICIgIG4gICAgICAgICAgw5pqIHBhcnTDrWNpw7MgbMOpdHJlaG96w6FzYSBhIHN6YWJhZCB0ZXLDvGxldGLFkWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMzOSBzeXMtdXRpbHMvZG1lc2cuYzoxNDU1CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgIm5pbmNzIHBhcmFuY3M/XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibGluZSAlZDogdW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAibmluY3MgcGFyYW5jcz9cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTAwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAicGFydMOtY2nDs3MgdMOhYmxhIMO6anJhb2x2YXPDoXNhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NDEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICJuZW0gZm9nbGFsaGF0w7MgbGUga2ltZW5ldGkgcHVmZmVyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogbm8gcGFydGl0aW9uIHRhYmxlIHdhcyBmb3VuZCIKK21zZ3N0ciAicGFydMOtY2nDs3MgdMOhYmxhIMO6anJhb2x2YXPDoXNhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogcGFydGl0aW9uIHRhYmxlIGNvbnRhaW5zIG9ubHkgJXp1IHBhcnRpdGlvbnMiCittc2dzdHIgIkEoeikgJXMgbGVtZXogbmVtIHRhcnRhbG1heiDDqXJ2w6lueWVzIHBhcnTDrWNpw7NzIHTDoWJsw6F0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXM6IHBhcnRpdGlvbiAlZCBpcyBub3QgZGVmaW5lZCB5ZXQiCittc2dzdHIgIk3DqWcgbmluY3MgbWVnYWR2YSBwYXJ0w61jacOzIVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIldlbGNvbWUgdG8gc2ZkaXNrICglcykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NAorIywgZnV6enkKK21zZ2lkICJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIKK21zZ3N0ciAiRWxsZW7FkXJ6w6lzcmUga2Vyw7xsLCBob2d5IHBpbGxhbmF0bnlpbGFnIHNlbmtpIHNlbSBoYXN6bsOhbGphIGEgbGVtZXp0Li4uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NworbXNnaWQgIiIKKyIgRkFJTEVEXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjAwCisjLCBmdXp6eQorbXNnaWQgIiIKKyJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZSAtIHJlcGFydGl0aW9uaW5nIGlzIHByb2JhYmx5IGEgYmFkIGlkZWEuXG4iCisiVW1vdW50IGFsbCBmaWxlIHN5c3RlbXMsIGFuZCBzd2Fwb2ZmIGFsbCBzd2FwIHBhcnRpdGlvbnMgb24gdGhpcyBkaXNrLlxuIgorIlVzZSB0aGUgLS1uby1yZXJlYWQgZmxhZyB0byBzdXBwcmVzcyB0aGlzIGNoZWNrLlxuIgorbXNnc3RyICIiCisiXG4iCisiQSBsZW1leiBqZWxlbmxlZyBoYXN6bsOhbGF0YmFuIHZhbjsgYXogw7pqcmFwYXJ0aWNpb27DoWzDoXNhIHJvc3N6IMO2dGxldC5cbiIKKyJWw6FsYXNzemEgbGUgYXogw7Zzc3plcyBmw6FqbHJlbmRzemVydCDDqXMgaGFzem7DoWxqYSBhIHN3YXBvZmYgcGFyYW5jc290IGFcbiIKKyJsYXBvesOzcGFydMOtY2nDs2sga2lrYXBjc29sw6Fzw6Fob3ouIEhhc3puw6FsamEgYSAtLW5vLXJlcmVhZCBrYXBjc29sw7N0IGV6ZW5cbiIKKyJlbGxlbsWRcnrDqXMgbGV0aWx0w6Fzw6Fob3ouXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNQorIywgZnV6enkKK21zZ2lkICJVc2UgdGhlIC0tZm9yY2UgZmxhZyB0byBvdmVycnVsZSBhbGwgY2hlY2tzLiIKK21zZ3N0ciAiSGFzem7DoWxqYSBhIC0tZm9yY2Uga2FwY3NvbMOzdCBheiDDtnNzemVzIGVsbGVuxZFyesOpcyBmZWzDvGxiw61yw6Fsw6Fzw6Fob3ouXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNworIywgZnV6enkKK21zZ2lkICIiCisiIE9LXG4iCisiXG4iCittc2dzdHIgIiVzOiBSZW5kYmVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYzNgorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiT2xkIHNpdHVhdGlvbjoiCittc2dzdHIgIlLDqWdpIGhlbHl6ZXQ6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY1NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisic2ZkaXNrIGlzIGdvaW5nIHRvIGNyZWF0ZSBhIG5ldyAnJXMnIGRpc2sgbGFiZWwuXG4iCisiVXNlICdsYWJlbDogPG5hbWU+JyBiZWZvcmUgeW91IGRlZmluZSBhIGZpcnN0IHBhcnRpdGlvblxuIgorInRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NTcKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlR5cGUgJ2hlbHAnIHRvIGdldCBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisiJXM6ICVzXG4iCisiVG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgYWRqYSBraSBhIOKAniVzIC0taGVscOKAnSBwYXJhbmNzb3QuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY3NQorIywgZnV6enkKK21zZ2lkICJBbGwgcGFydGl0aW9ucyB1c2VkLiIKK21zZ3N0ciAiTmVtIHRhbMOhbGhhdMOzayBwYXJ0w61jacOza1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MDMKKyMsIGZ1enp5Cittc2dpZCAiRG9uZS5cbiIKK21zZ3N0ciAiIgorIkvDqXN6XG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcxNQorIywgZnV6enkKK21zZ2lkICJJZ25vcmluZyBwYXJ0aXRpb24uIgorbXNnc3RyICJOZSBob3p6b24gbMOpdHJlIHBhcnTDrWNpw7N0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MjQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCBoZWFkZXJzLCBkaXNrIGxhYmVsIG5vdCBjcmVhdGVkLiIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBzaWtlcnRlbGVuIGEgd3JpdGVfdGFibGVzLWJlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkICMlZCBwYXJ0aXRpb24iCittc2dzdHIgInBhcnTDrWNpw7NzIHTDoWJsYSDDumpyYW9sdmFzw6FzYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzYzCittc2dpZCAiU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzcyCisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJOZXcgc2l0dWF0aW9uOiIKK21zZ3N0ciAiw5pqIGhlbHl6ZXQ6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc4MQorIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byB3cml0ZSB0aGlzIHRvIGRpc2s/IgorbXNnc3RyICJWYWzDs2JhbiBsZW1lenJlIGFrYXJqYSBlenQgw61ybmk/IFt5bnFdICIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzkzCittc2dpZCAiTGVhdmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogbmFtZWkgWy1teF0gw7p0dm9uYWwgW8O6dHZvbmFsIC4uLl1cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEyCittc2dpZCAiIgorIlxuIgorIkNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMworbXNnaWQgIiAtQSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gbGlzdCBvciBzZXQgYm9vdGFibGUgTUJSIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSAodXNhYmxlIGZvciBsYXRlciBpbnB1dClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTUKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSBpbiBKU09OIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNgorbXNnaWQgIiAtZywgLS1zaG93LWdlb21ldHJ5IFs8ZGV2PiAuLi5dICAgbGlzdCBnZW9tZXRyeSBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTcKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgWzxkZXY+IC4uLl0gICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE4CisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1saXN0LWZyZWUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCB1bnBhcnRpdGlvbmVkIGZyZWUgYXJlYXMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE5CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZW9yZGVyIDxkZXY+ICAgICAgICAgICAgICAgZml4IHBhcnRpdGlvbnMgb3JkZXIgKGJ5IHN0YXJ0IG9mZnNldClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjAKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNob3ctc2l6ZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHNpemVzIG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgICAgIEEgZ2V0b3B0KDEpIHZlcnppw7MgdGVzenRlbMOpc2VcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIxCisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJlY29nbml6ZWQgdHlwZXMgKHNlZSAtWClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjIKKyMsIGZ1enp5Cittc2dpZCAiIC1WLCAtLXZlcmlmeSBbPGRldj4gLi4uXSAgICAgICAgICB0ZXN0IHdoZXRoZXIgcGFydGl0aW9ucyBzZWVtIGNvcnJlY3RcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIzCittc2dpZCAiICAgICAtLWRlbGV0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gICBkZWxldGUgYWxsIG9yIHNwZWNpZmllZCBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI2Cittc2dpZCAiIC0tcGFydC1sYWJlbCA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGxhYmVsXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI3Cittc2dpZCAiIC0tcGFydC10eXBlIDxkZXY+IDxwYXJ0PiBbPHR5cGU+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjgKKyMsIGZ1enp5Cittc2dpZCAiIC0tcGFydC11dWlkIDxkZXY+IDxwYXJ0PiBbPHV1aWQ+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHV1aWRcbiIKK21zZ3N0ciAiICAgIC1jIFt2YWd5IC0taWRdOiAgICAgICAga2nDrXJqYSB2YWd5IG3Ds2Rvc8OtdGphIGVneSBwYXJ0w61jacOzIGF6b25vc8OtdMOzasOhdCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI5Cittc2dpZCAiIC0tcGFydC1hdHRycyA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGF0dHJpYnV0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzIKKyMsIGZ1enp5Cittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgZGV2aWNlICh1c3VhbGx5IGRpc2spIHBhdGhcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODMzCisjLCBmdXp6eQorbXNnaWQgIiA8cGFydD4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiICAgIC1OIyA6ICAgICAgICAgICAgICAgICAgY3NhayBhIG1lZ2Fkb3R0IHN6w6Ftw7ogcGFydMOtY2nDsyBtw7Nkb3PDrXTDoXNhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzQKK21zZ2lkICIgPHR5cGU+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gdHlwZSwgR1VJRCBmb3IgR1BULCBoZXggZm9yIE1CUlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzNworIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICBhcHBlbmQgcGFydGl0aW9ucyB0byBleGlzdGluZyBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM4CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1iYWNrdXAgICAgICAgICAgICAgIGJhY2t1cCBwYXJ0aXRpb24gdGFibGUgc2VjdG9ycyAoc2VlIC1PKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzkKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDAKK21zZ2lkICIgICAgIC0tbW92ZS1kYXRhWz08dHlwZXNjcmlwdD5dIG1vdmUgcGFydGl0aW9uIGRhdGEgYWZ0ZXIgcmVsb2NhdGlvbiAocmVxdWlyZXMgLU4pXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQxCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGNvbnNpc3RlbmN5IGNoZWNraW5nXG4iCittc2dzdHIgIkxldGlsdGhhdGphIGF6IMO2c3N6ZXMga29uemlzenRlbmNpYS1lbGxlbsWRcnrDqXN0IGEga8O2dmV0a2V6xZFra2VsOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDUKKyMsIGZ1enp5Cittc2dpZCAiIC1OLCAtLXBhcnRubyA8bnVtPiAgICAgICAgc3BlY2lmeSBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiAgICAtSCMgW3ZhZ3kgLS1oZWFkcyAjXTogICAgICBhIGhhc3puw6FsYW5kw7MgZmVqc3rDoW0gYmXDoWxsw610w6FzYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ2CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHdyaXRlIHRvIGRldmljZVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NworIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIGlzIGluIHVzZVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm8tdGVsbC1rZXJuZWwgICAgICBkbyBub3QgdGVsbCBrZXJuZWwgYWJvdXQgY2hhbmdlc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgICBhIGxlbWV6IHTDqW55bGVnZXMgw61yw6Fzw6FuYWsga2loYWd5w6FzYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ5Cittc2dpZCAiIC1PLCAtLWJhY2t1cC1maWxlIDxwYXRoPiAgb3ZlcnJpZGUgZGVmYXVsdCBiYWNrdXAgZmlsZSBuYW1lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUwCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1rYXBjc29sw7Mta2FyYWt0ZXJsw6FuYyAgRmVsaXNtZXJlbmTFkSByw7Z2aWQga2FwY3NvbMOza1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTEKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcHJlc3MgZXh0cmEgaW5mbyBtZXNzYWdlc1xuIgorbXNnc3RyICIgICAgLXEgIFt2YWd5IC0tcXVpZXRdOiAgICBmaWd5ZWxtZXp0ZXTFkSDDvHplbmV0ZWsgZWxuw6ltw610w6FzYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUyCisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTQKKyMsIGZ1enp5Cittc2dpZCAiIC1YLCAtLWxhYmVsIDxuYW1lPiAgICAgICAgc3BlY2lmeSBsYWJlbCB0eXBlIChkb3MsIGdwdCwgLi4uKVxuIgorbXNnc3RyICIiCisiICAtcywgLS1zaGVsbD1wYXJhbmNzw6lydGVsbWV6xZEgICAgIEEgcGFyYW5jc8OpcnRlbG1lesWRIGlkw6l6w6lzaSBtZWfDoWxsYXBvZMOhc2FpbmFrXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlw6FsbMOtdMOhc2FcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU1Cittc2dpZCAiIC1ZLCAtLWxhYmVsLW5lc3RlZCA8bmFtZT4gc3BlY2lmeSBuZXN0ZWQgbGFiZWwgdHlwZSAoZG9zLCBic2QpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU3Cittc2dpZCAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgZGVwcmVjYXRlZCwgYWxpYXMgdG8gLS1zaG93LWdlb21ldHJ5XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU4CisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTkKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVuaXQgUyAgICAgICAgICAgICAgZGVwcmVjYXRlZCwgb25seSBzZWN0b3IgdW5pdCBpcyBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjMgbG9naW4tdXRpbHMvY2hmbi5jOjEwMiBsb2dpbi11dGlscy9jaHNoLmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NzMKK21zZ2lkICItLWlkIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk4OQorbXNnaWQgIi0tc2hvdy1wdC1nZW9tZXRyeSBpcyBubyBtb3JlIGltcGxlbWVudGVkLiBVc2luZyAtLXNob3ctZ2VvbWV0cnkuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAwMAorbXNnaWQgIi0tTGludXggb3B0aW9uIGlzIHVubmVjZXNzYXJ5IGFuZCBkZXByZWNhdGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgdW5pdCAnJWMnIgorbXNnc3RyICIlczogaXNtZXJldGxlbiBhcmd1bWVudHVtOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMzIgaW5jbHVkZS9jLmg6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXNcbiIKK21zZ3N0ciAiJXMgYSh6KSAlcyBjc29tYWdiw7NsXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjEwOQorbXNnaWQgIi0tbW92ZWRhdGEgcmVxdWlyZXMgLU4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIFVVSUQ6ICVzIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgVVVJRCIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgVVVJRCIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIGxhYmVsICIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAibGFiZWwgaXMgdG9vIGxvbmcuIFRydW5jYXRpbmcgaXQgdG8gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIGxhYmVsIgorbXNnc3RyICJhIHBvemljaW9uw6Fsw6FzIHNpa2VydGVsZW4gYSB3cml0ZV90YWJsZXMtYmVuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyMQorbXNnaWQgIkRpc3BsYXkgb3IgY2hhbmdlIHRoZSBsYWJlbCBvciBVVUlEIG9mIGEgc3dhcCBhcmVhLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTI0Cittc2dpZCAiIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+IHNwZWNpZnkgYSBuZXcgbGFiZWxcbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICBzcGVjaWZ5IGEgbmV3IHV1aWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjE2NworIywgZnV6enkKK21zZ2lkICJpZ25vcmUgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCkiCittc2dzdHIgIiUxJHM6IGZpZ3llbG1lenRldMOpczogYSAtVSBmaWd5ZWxtZW4ga8OtdsO8bCBtYXJhZCAoYSh6KSAlMSRzIG5lbSB0w6Ftb2dhdGphIGF6IFVVSUQta2V0KVxuIgorCisjOiBpbmNsdWRlL2MuaDoyOTkKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorbXNnc3RyICJIYXN6bsOhbGF0OlxuIgorCisjOiBpbmNsdWRlL2MuaDozMDAKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0w61jacOzOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMDIKK21zZ2lkICIgLWgsIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2MuaDozMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1WLCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkZvciBtb3JlIGRldGFpbHMgc2VlICVzLlxuIgorbXNnc3RyICIiCisiXG4iCisiVG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgdGVraW50c2UgbWVnIGEgc2V0YXJjaCg4KSBrw6l6aWvDtm55dm9sZGFsdC5cbiIKKworIzogaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ2IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0OCBsb2dpbi11dGlscy92aXB3LmM6MjczCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjkyIHN5cy11dGlscy9ydGN3YWtlLmM6MjgwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjgwNQorIzogdGV4dC11dGlscy9jb2wuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgZXJyb3IiCittc2dzdHIgImNvbDogw61yw6FzaSBoaWJhLlxuIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI3CisjLCBmdXp6eQorbXNnaWQgImNvbG9ycyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICJBIGJlamVsZW50a2V6w6lzICVzIGfDqXByZSBhKHopICVzIGfDqXByxZFsIGFsYXDDqXJ0ZWxtZXrDqXNiZW4gbWVndGFnYWR2YS5cbiIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyOQorIywgZnV6enkKK21zZ2lkICJjb2xvcnMgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgIkEgYmVqZWxlbnRrZXrDqXMgJXMgZ8OpcHJlIGEoeikgJXMgZ8OpcHLFkWwgYWxhcMOpcnRlbG1lesOpc2JlbiBtZWd0YWdhZHZhLlxuIgorCisjOiBpbmNsdWRlL2Vudi5oOjE4IGxpYi9wYWdlci5jOjE1MSBsb2dpbi11dGlscy9sb2dpbi5jOjEwNTIKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTA1NiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MjkKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTE2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgZW52aXJvbm1lbnQgdmFyaWFibGUiCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IGluY2x1ZGUvb3B0dXRpbHMuaDo4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZXNlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZToiCittc2dzdHIgIiVzOiBBeiAtLWFkamZpbGUgw6lzIGEgLS1ub2FkamZpbGUga8O2bGNzw7Zuw7ZzZW4ga2l6w6FyasOhayBlZ3ltw6FzdCwgZGUgbWluZGtldHTFkXQgbWVnYWR0YS5cbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MQorbXNnaWQgIkVtcHR5IgorbXNnc3RyICLDnHJlcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MgorbXNnaWQgIkZBVDEyIgorbXNnc3RyICJGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MworbXNnaWQgIlhFTklYIHJvb3QiCittc2dzdHIgIlhFTklYIHJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQKK21zZ2lkICJYRU5JWCB1c3IiCittc2dzdHIgIlhFTklYIHVzciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NQorbXNnaWQgIkZBVDE2IDwzMk0iCittc2dzdHIgIkZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYKK21zZ2lkICJFeHRlbmRlZCIKK21zZ3N0ciAiS2l0ZXJqZXN6dGV0dCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NworbXNnaWQgIkZBVDE2IgorbXNnc3RyICJGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OAorIywgZnV6enkKK21zZ2lkICJIUEZTL05URlMvZXhGQVQiCittc2dzdHIgIkhQRlMvTlRGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OQorbXNnaWQgIkFJWCIKK21zZ3N0ciAiQUlYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMAorbXNnaWQgIkFJWCBib290YWJsZSIKK21zZ3N0ciAiQUlYIGluZMOtdGhhdMOzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMQorbXNnaWQgIk9TLzIgQm9vdCBNYW5hZ2VyIgorbXNnc3RyICJPUy8yIFJlbmRzemVyaW5kw610w6FzLWtlemVsxZEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEyCittc2dpZCAiVzk1IEZBVDMyIgorbXNnc3RyICJXOTUgRkFUMzIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEzCittc2dpZCAiVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICJXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE0Cittc2dpZCAiVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICJXOTUgRkFUMTYgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE1Cittc2dpZCAiVzk1IEV4dCdkIChMQkEpIgorbXNnc3RyICJXOTUga2l0ZXJqLiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTYKK21zZ2lkICJPUFVTIgorbXNnc3RyICJPUFVTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNworbXNnaWQgIkhpZGRlbiBGQVQxMiIKK21zZ3N0ciAiUmVqdGV0dCBGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTgKK21zZ2lkICJDb21wYXEgZGlhZ25vc3RpY3MiCittc2dzdHIgIkNvbXBhcSBkaWFnbm9zenRpa2FpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOQorbXNnaWQgIkhpZGRlbiBGQVQxNiA8MzJNIgorbXNnc3RyICJSZWp0ZXR0IEZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIwCittc2dpZCAiSGlkZGVuIEZBVDE2IgorbXNnc3RyICJSZWp0ZXR0IEZBVDE2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMQorbXNnaWQgIkhpZGRlbiBIUEZTL05URlMiCittc2dzdHIgIlJlanRldHQgSFBGUy9OVEZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMgorbXNnaWQgIkFTVCBTbWFydFNsZWVwIgorbXNnc3RyICJBU1QgU21hcnRTbGVlcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjMKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIgorbXNnc3RyICJSZWp0ZXR0IFc5NSBGQVQzMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjQKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICJSZWp0ZXR0IFc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjUKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICJSZWp0ZXR0IFc5NSBGQVQxNiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjYKK21zZ2lkICJORUMgRE9TIgorbXNnc3RyICJORUMgRE9TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNworIywgZnV6enkKK21zZ2lkICJIaWRkZW4gTlRGUyBXaW5SRSIKK21zZ3N0ciAiUmVqdGV0dCBIUEZTL05URlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI4Cittc2dpZCAiUGxhbiA5IgorbXNnc3RyICJQbGFuIDkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI5Cittc2dpZCAiUGFydGl0aW9uTWFnaWMgcmVjb3ZlcnkiCittc2dzdHIgIlBhcnRpdGlvbk1hZ2ljIGhlbHlyZcOhbGzDrXTDoXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMwCittc2dpZCAiVmVuaXggODAyODYiCittc2dzdHIgIlZlbml4IDgwMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMQorbXNnaWQgIlBQQyBQUmVQIEJvb3QiCittc2dzdHIgIlBQQyBQUmVQIGluZMOtdMOzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMgorbXNnaWQgIlNGUyIKK21zZ3N0ciAiU0ZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMworbXNnaWQgIlFOWDQueCIKK21zZ3N0ciAiUU5YNC54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNAorbXNnaWQgIlFOWDQueCAybmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IDIuIHBhcnTDrWNpw7MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM1Cittc2dpZCAiUU5YNC54IDNyZCBwYXJ0IgorbXNnc3RyICJRTlg0LnggMy4gcGFydMOtY2nDsyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzYKK21zZ2lkICJPblRyYWNrIERNIgorbXNnc3RyICJPblRyYWNrIERNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNworbXNnaWQgIk9uVHJhY2sgRE02IEF1eDEiCittc2dzdHIgIk9uVHJhY2sgRE02IEF1eDEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM4Cittc2dpZCAiQ1AvTSIKK21zZ3N0ciAiQ1AvTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzkKK21zZ2lkICJPblRyYWNrIERNNiBBdXgzIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MAorbXNnaWQgIk9uVHJhY2tETTYiCittc2dzdHIgIk9uVHJhY2tETTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQxCittc2dpZCAiRVotRHJpdmUiCittc2dzdHIgIkVaLURyaXZlIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MgorbXNnaWQgIkdvbGRlbiBCb3ciCittc2dzdHIgIkdvbGRlbiBCb3ciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQzCittc2dpZCAiUHJpYW0gRWRpc2siCittc2dzdHIgIlByaWFtIEVkaXNrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MQorIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTkKK21zZ2lkICJTcGVlZFN0b3IiCittc2dzdHIgIlNwZWVkU3RvciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDUKK21zZ2lkICJHTlUgSFVSRCBvciBTeXNWIgorbXNnc3RyICJHTlUgSFVSRCB2YWd5IFN5c1YiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ2Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMjg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ3Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMzg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAzODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ4Cittc2dpZCAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorbXNnc3RyICJEaXNrU2VjdXJlIE11bHRpLUJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ5Cittc2dpZCAiUEMvSVgiCittc2dzdHIgIlBDL0lYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MAorbXNnaWQgIk9sZCBNaW5peCIKK21zZ3N0ciAiUsOpZ2kgTWluaXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUxCittc2dpZCAiTWluaXggLyBvbGQgTGludXgiCittc2dzdHIgIk1pbml4IC8gcsOpZ2kgTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUyCittc2dpZCAiTGludXggc3dhcCAvIFNvbGFyaXMiCittc2dzdHIgIkxpbnV4IGxhcG96w7MgLyBTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MworbXNnaWQgIkxpbnV4IgorbXNnc3RyICJMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTQKK21zZ2lkICJPUy8yIGhpZGRlbiBvciBJbnRlbCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NworbXNnaWQgIkxpbnV4IGV4dGVuZGVkIgorbXNnc3RyICJMaW51eCBraXRlcmplc3p0ZXR0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OQorbXNnaWQgIk5URlMgdm9sdW1lIHNldCIKK21zZ3N0ciAiTlRGUyBrw7Z0ZXRrw6lzemxldCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjAKK21zZ2lkICJMaW51eCBwbGFpbnRleHQiCittc2dzdHIgIkxpbnV4IGVneXN6ZXLFsSBzesO2dmVnIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjA1IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MworIzogbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggTFZNIgorbXNnc3RyICJMaW51eCBMVk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYyCittc2dpZCAiQW1vZWJhIgorbXNnc3RyICJBbW9lYmEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYzCittc2dpZCAiQW1vZWJhIEJCVCIKK21zZ3N0ciAiQW1vZWJhIEJCVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjQKK21zZ2lkICJCU0QvT1MiCittc2dzdHIgIkJTRC9PUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjUKK21zZ2lkICJJQk0gVGhpbmtwYWQgaGliZXJuYXRpb24iCittc2dzdHIgIklCTSBUaGlua3BhZCBoaWJlcm7DoWzDoXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY2Cittc2dpZCAiRnJlZUJTRCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjcKK21zZ2lkICJPcGVuQlNEIgorbXNnc3RyICJPcGVuQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OAorbXNnaWQgIk5lWFRTVEVQIgorbXNnc3RyICJOZVhUU1RFUCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjkKK21zZ2lkICJEYXJ3aW4gVUZTIgorbXNnc3RyICJEYXJ3aW4gVUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MAorbXNnaWQgIk5ldEJTRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MQorbXNnaWQgIkRhcndpbiBib290IgorbXNnc3RyICJEYXJ3aW4gaW5kw610w7MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcyCisjLCBmdXp6eQorbXNnaWQgIkhGUyAvIEhGUysiCittc2dzdHIgIk9TLzIgSFBGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzMKK21zZ2lkICJCU0RJIGZzIgorbXNnc3RyICJCU0RJIGZzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NAorbXNnaWQgIkJTREkgc3dhcCIKK21zZ3N0ciAiQlNESSBsYXBvesOzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NQorbXNnaWQgIkJvb3QgV2l6YXJkIGhpZGRlbiIKK21zZ3N0ciAiQm9vdCBXaXphcmQgcmVqdGV0dCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzYKKyMsIGZ1enp5Cittc2dpZCAiQWNyb25pcyBGQVQzMiBMQkEiCittc2dzdHIgIlc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzcgbGliZmRpc2svc3JjL2dwdC5jOjIzMAorbXNnaWQgIlNvbGFyaXMgYm9vdCIKK21zZ3N0ciAiU29sYXJpcyBpbmTDrXTDsyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzgKK21zZ2lkICJTb2xhcmlzIgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTEyKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MAorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2KSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTYpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MgorbXNnaWQgIlN5cmlueCIKK21zZ3N0ciAiU3lyaW54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MworbXNnaWQgIk5vbi1GUyBkYXRhIgorbXNnc3RyICJOZW0gZsOhamxyZW5kc3plcmFkYXRvayIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiQ1AvTSAvIENUT1MgLyAuLi4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg2Cittc2dpZCAiRGVsbCBVdGlsaXR5IgorbXNnc3RyICJEZWxsIFV0aWxpdHkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg3Cittc2dpZCAiQm9vdEl0IgorbXNnc3RyICJCb290SXQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg4Cittc2dpZCAiRE9TIGFjY2VzcyIKK21zZ3N0ciAiRE9TIGVsw6lyw6lzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MAorbXNnaWQgIkRPUyBSL08iCittc2dzdHIgIkRPUyBSL08iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkzCisjLCBmdXp6eQorbXNnaWQgIlJ1ZnVzIGFsaWdubWVudCIKK21zZ3N0ciAiY29sOiBoaWLDoXMgLWwga2FwY3NvbMOzOiAlcy5cbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTQKK21zZ2lkICJCZU9TIGZzIgorbXNnc3RyICJCZU9TIGZzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NgorbXNnaWQgIkVGSSAoRkFULTEyLzE2LzMyKSIKK21zZ3N0ciAiRUZJIChGQVQtMTIvMTYvMzIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NworbXNnaWQgIkxpbnV4L1BBLVJJU0MgYm9vdCIKK21zZ3N0ciAiTGludXgvUEEtUklTQyBpbmTDrXTDsyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAwCittc2dpZCAiRE9TIHNlY29uZGFyeSIKK21zZ3N0ciAiRE9TIG3DoXNvZGxhZ29zIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDEKK21zZ2lkICJWTXdhcmUgVk1GUyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDIKK21zZ2lkICJWTXdhcmUgVk1LQ09SRSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDMgbGliZmRpc2svc3JjL3N1bi5jOjU1Cittc2dpZCAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorbXNnc3RyICJMaW51eCByYWlkIGF1dG9tYXRpa3VzIGZlbGlzbWVyw6lzc2VsIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDYKK21zZ2lkICJMQU5zdGVwIgorbXNnc3RyICJMQU5zdGVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDcKK21zZ2lkICJCQlQiCittc2dzdHIgIkJCVCIKKworIzogbGliL2Jsa2Rldi5jOjI4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXMgaXMgbWlzYWxpZ25lZCIKK21zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhKHopICVzIG5lbSBibG9ra2VzemvDtnpcbiIKKworIzogbGliZmRpc2svc3JjL2FsaWdubWVudC5jOjY3MgorIywgZnV6enkKK21zZ2lkICJDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJpb2N0bCgpIGjDrXbDoXNhIGEgcGFydMOtY2nDs3MgdMOhYmxhIMO6anJhb2x2YXPDoXPDoWhvei5cbiIKKworIzogbGliZmRpc2svc3JjL2FsaWdubWVudC5jOjY4MQorIywgZnV6enkKK21zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLiIKK21zZ3N0ciAiQSBwYXJ0w61jacOzcyB0w6FibGEgw7pqcmFvbHZhc8Ohc2EgLi4uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2ODMKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgdGFibGUuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdCBvciBhZnRlciB5b3UgcnVuIHBhcnRwcm9iZSg4KSBvciBrcGFydHgoOCkuIgorbXNnc3RyICIiCisiXG4iCisiRklHWUVMTUVaVEVUw4lTOiBBIHBhcnTDrWNpw7NzIHTDoWJsYSDDumpyYW9sdmFzw6FzYSBtZWdoacO6c3VsdCBhIFxuIgorImvDtnZldGtlesWRIGhpYsOhdmFsICVkOiAlcy4gQSByZW5kc3plcm1hZyBtw6lnIG1pbmRpZyBhIHLDqWdpdCBoYXN6bsOhbGphLlxuIgorIkF6IMO6aiB0w6FibGEgYSBrw7Z2ZXRrZXrFkSDDumpyYWluZMOtdMOhcyB1dMOhbiBsw6lwIMOpcnbDqW55YmUuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0NzIgbGliZmRpc2svc3JjL2Fzay5jOjQ4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0ZWQgcGFydGl0aW9uICVqdSIKK21zZ3N0ciAiJWQuIHBhcnTDrWNpw7Mga2l2w6FsYXN6dHZhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0NzUKKyMsIGZ1enp5Cittc2dpZCAiTm8gcGFydGl0aW9uIGlzIGRlZmluZWQgeWV0ISIKK21zZ3N0ciAiTcOpZyBuaW5jcyBtZWdhZHZhIHBhcnTDrWNpw7MhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAiTm8gZnJlZSBwYXJ0aXRpb24gYXZhaWxhYmxlISIKK21zZ3N0ciAiTmVtIMOpcmhldMWRIGVsIHN6YWJhZCBzemVrdG9yXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0OTcKK21zZ2lkICJQYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJQYXJ0w61jacOzc3rDoW0iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo5OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgcGFydGl0aW9uICVkIG9mIHR5cGUgJyVzJyBhbmQgb2Ygc2l6ZSAlcy4iCittc2dzdHIgIkEoeikgJWQuIHBhcnTDrWNpw7MgbcOpZyBuZW0gbMOpdGV6aWshXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlemQ6IGhhcyBpbnZhbGlkIHN0YXJ0aW5nIHNlY3RvciAwLiIKK21zZ3N0ciAiQSh6KSDigJ4lc+KAnSBwYXJ0w61jacOzIGF6IMOpcnbDqW55dGVsZW4gMC4gc3pla3RvcmJhbiBrZXpkxZFkaWsuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZXJlIGlzIG5vICpCU0QgcGFydGl0aW9uIG9uICVzLiIKK21zZ3N0ciAiTmluY3MgKkJTRCBwYXJ0w61jacOzIGEga8O2dmV0a2V6xZFuOiAlcy5cbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI1OSBsaWJmZGlzay9zcmMvZG9zLmM6OTMzCisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IGN5bGluZGVyIgorbXNnc3RyICJjaWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5MiBsaWJmZGlzay9zcmMvZG9zLmM6MTE2MQorIywgZnV6enkKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIlV0b2xzw7MgJTEkcywgKyUyJHMgdmFneSArc2l6ZXtLLE0sR30iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTcgbGliZmRpc2svc3JjL2Rvcy5jOjExNjYgbGliZmRpc2svc3JjL2dwdC5jOjIyNTUKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIlV0b2xzw7MgJTEkcywgKyUyJHMgdmFneSArc2l6ZXtLLE0sR30iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZXZpY2UgJXMgZG9lcyBub3QgY29udGFpbiBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAiQSh6KSAlcyBuZW0gdGFydGFsbWF6IGxlbWV6Y8OtbWvDqXQuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODMKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gY3JlYXRlIGEgQlNEIGRpc2tsYWJlbD8iCittc2dzdHIgIkzDqXRyZSBha2FyIGhvem5pIGxlbWV6Y8OtbWvDqXQ/IChpL24pICIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ0OQorIywgZnV6enkKK21zZ2lkICJEaXNrIgorbXNnc3RyICJsZW1lejogJS4qc1xuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDU2Cittc2dpZCAiUGFja25hbWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MyBsaWJmZGlzay9zcmMvc3VuLmM6MTExNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICJKZWxlayIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NgorbXNnaWQgIiByZW1vdmFibGUiCittc2dzdHIgIiBlbHTDoXZvbMOtdGhhdMOzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY3Cittc2dpZCAiIGVjYyIKK21zZ3N0ciAiIGVjYyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2OAorbXNnaWQgIiBiYWRzZWN0IgorbXNnc3RyICIgaGliw6FzIHN6ZWt0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NzYKKyMsIGZ1enp5Cittc2dpZCAiQnl0ZXMvU2VjdG9yIgorbXNnc3RyICJzemVrdG9yb25rw6ludGkgYsOhanRvayIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4MQorIywgZnV6enkKK21zZ2lkICJUcmFja3MvQ3lsaW5kZXIiCittc2dzdHIgImNpbGluZGVyZW5rw6ludGkgc8Ohdm9rIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDg2CisjLCBmdXp6eQorbXNnaWQgIlNlY3RvcnMvQ3lsaW5kZXIiCittc2dzdHIgImNpbGluZGVyZW5rw6ludGkgc3pla3Rvcm9rIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDkxIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE4IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAzCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NyBsaWJmZGlzay9zcmMvc3VuLmM6MTk2IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTEzCittc2dpZCAiQ3lsaW5kZXJzIgorbXNnc3RyICJDaWxpbmRlcmVrIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDk2IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjAKKyMsIGZ1enp5Cittc2dpZCAiUnBtIgorbXNnc3RyICJwZXJjZW5rw6ludGkgZm9yZHVsYXQiCisKKyMgZml4bWU6IHZhbGFtaSDDqXJ0ZWxtZXNldAorIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMSBsaWJmZGlzay9zcmMvc2dpLmM6MjkyIGxpYmZkaXNrL3NyYy9zdW4uYzo3ODAKKyMsIGZ1enp5Cittc2dpZCAiSW50ZXJsZWF2ZSIKK21zZ3N0ciAiw6F0cmVuZGV6w6lzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTA2CisjLCBmdXp6eQorbXNnaWQgIlRyYWNrc2tldyIKK21zZ3N0ciAic8OhdmTDtm50w6lzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTExCisjLCBmdXp6eQorbXNnaWQgIkN5bGluZGVyc2tldyIKK21zZ3N0ciAiY2lsaW5kZXJkw7ZudMOpcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxNgorIywgZnV6enkKK21zZ2lkICJIZWFkc3dpdGNoIgorbXNnc3RyICJmZWprYXBjc29sw6FzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTIxCisjLCBmdXp6eQorbXNnaWQgIlRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgInPDoXZyw7NsIHPDoXZyYSBwb3ppY2lvbsOhbMOhcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMQorbXNnaWQgImJ5dGVzL3NlY3RvciIKK21zZ3N0ciAic3pla3Rvcm9ua8OpbnRpIGLDoWp0b2siCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTQKK21zZ2lkICJzZWN0b3JzL3RyYWNrIgorbXNnc3RyICJzw6F2b25rw6ludGkgc3pla3Rvcm9rIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE1Cittc2dpZCAidHJhY2tzL2N5bGluZGVyIgorbXNnc3RyICJjaWxpbmRlcmVua8OpbnRpIHPDoXZvayIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNgorbXNnaWQgImN5bGluZGVycyIKK21zZ3N0ciAiY2lsaW5kZXJlayIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMAorbXNnaWQgInNlY3RvcnMvY3lsaW5kZXIiCittc2dzdHIgImNpbGluZGVyZW5rw6ludGkgc3pla3Rvcm9rIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIzCittc2dpZCAicnBtIgorbXNnc3RyICJwZXJjZW5rw6ludGkgZm9yZHVsYXQiCisKKyMgZml4bWU6IHZhbGFtaSDDqXJ0ZWxtZXNldAorIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNAorbXNnaWQgImludGVybGVhdmUiCittc2dzdHIgIsOhdHJlbmRlesOpcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNQorbXNnaWQgInRyYWNrc2tldyIKK21zZ3N0ciAic8OhdmTDtm50w6lzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI2Cittc2dpZCAiY3lsaW5kZXJza2V3IgorbXNnc3RyICJjaWxpbmRlcmTDtm50w6lzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI4Cittc2dpZCAiaGVhZHN3aXRjaCIKK21zZ3N0ciAiZmVqa2FwY3NvbMOhcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOQorbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgInPDoXZyw7NsIHPDoXZyYSBwb3ppY2lvbsOhbMOhcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdHN0cmFwIGZpbGUgJXMgc3VjY2Vzc2Z1bGx5IGxvYWRlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwOiAlMSRzYm9vdCAtPiBib290JTEkcyAoZGVmYXVsdCAlMSRzKSIKK21zZ3N0ciAiUmVuZHN6ZXJpbmTDrXTDoXM6ICVzaW5kw610w6FzIC0+IGluZMOtdMOhcyVzICglcyk6ICIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcwNAorIywgZnV6enkKK21zZ2lkICJCb290c3RyYXAgb3ZlcmxhcHMgd2l0aCBkaXNrbGFiZWwhIgorbXNnc3RyICJBIHJlbmRzemVyaW5kw610w7Mgw6F0ZmVkaSBhIGxlbWV6Y8OtbWvDqXQhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcCBpbnN0YWxsZWQgb24gJXMuIgorbXNnc3RyICJBIHJlbmRzemVyaW5kw610w7MgdGVsZXDDrXR2ZSBhIGvDtnZldGtlesWRcmU6ICVzLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiAgKERvbid0IGZvcmdldCB0byB3cml0ZSB0aGUgJXMgZGlza2xhYmVsIHRvby4pIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiIKK21zZ3N0ciAiTGVtZXptZWdoYWp0w7M6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDkgbGliZmRpc2svc3JjL2NvbnRleHQuYzo2NjYKKyMsIGZ1enp5Cittc2dpZCAiU3luY2luZyBkaXNrcy4iCittc2dzdHIgIkFkYXRvayBracOtcsOhc2EgYSBsZW1lemVrcmUuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NTAKK21zZ2lkICJCU0QgbGFiZWwgaXMgbm90IG5lc3RlZCB3aXRoaW4gYSBET1MgcGFydGl0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCU0QgcGFydGl0aW9uICclYycgbGlua2VkIHRvIERPUyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiICAgeCAgIEJTRCBwYXJ0w61jacOzIGNzYXRvbMOhc2EgZWd5IG5lbSBCU0QgcGFydMOtY2nDs2hveiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMTQKK21zZ2lkICJTbGljZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMQorbXNnaWQgIkZzaXplIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIyCittc2dpZCAiQnNpemUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjMKK21zZ2lkICJDcGciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo2NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zZSBkZXZpY2UgZmFpbGVkIgorbXNnc3RyICIlczogYXogbHNlZWsgbWVnaGnDunN1bHQiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODI3CisjLCBmdXp6eQorbXNnaWQgImN5bGluZGVyIgorbXNnaWRfcGx1cmFsICJjeWxpbmRlcnMiCittc2dzdHJbMF0gImNpbGluZGVyIgorbXNnc3RyWzFdICJjaWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4MjgKKyMsIGZ1enp5Cittc2dpZCAic2VjdG9yIgorbXNnaWRfcGx1cmFsICJzZWN0b3JzIgorbXNnc3RyWzBdICJzemVrdG9yIgorbXNnc3RyWzFdICJzemVrdG9yIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjExMzEKK21zZ2lkICJJbmNvbXBsZXRlIGdlb21ldHJ5IHNldHRpbmcuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTQKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBhbHJlYWR5LiIKK21zZ3N0ciAiTcOhciBtaW5kZW4gZWxzxZFkbGVnZXMgcGFydMOtY2nDsyBtZWdhZMOhc3JhIGtlcsO8bHQhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkIGV4dGVuZGVkIHBhcnRpdGlvbiB0YWJsZSAob2Zmc2V0PSVqdSkiCittc2dzdHIgInBhcnTDrWNpw7NzIHTDoWJsYSDDumpyYW9sdmFzw6FzYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjMyOAorIywgZnV6enkKK21zZ2lkICJZb3UgY2FuIHNldCBnZW9tZXRyeSBmcm9tIHRoZSBleHRyYSBmdW5jdGlvbnMgbWVudS4iCittc2dzdHIgIiIKKyIlcyVzLlxuIgorIkV6IGNzYWsgYXogZXh0cmEgc3pvbGfDoWx0YXTDoXNvayBtZW7DvGLFkWwgw6lyaGV0xZEgZWwuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMzEKK21zZ2lkICJET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMzUKK21zZ2lkICJUaGUgZGV2aWNlIHByZXNlbnRzIGEgbG9naWNhbCBzZWN0b3Igc2l6ZSB0aGF0IGlzIHNtYWxsZXIgdGhhbiB0aGUgcGh5c2ljYWwgc2VjdG9yIHNpemUuIEFsaWduaW5nIHRvIGEgcGh5c2ljYWwgc2VjdG9yIChvciBvcHRpbWFsIEkvTykgc2l6ZSBib3VuZGFyeSBpcyByZWNvbW1lbmRlZCwgb3IgcGVyZm9ybWFuY2UgbWF5IGJlIGltcGFjdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQxCittc2dpZCAiQ3lsaW5kZXJzIGFzIGRpc3BsYXkgdW5pdHMgYXJlIGRlcHJlY2F0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHNpemUgb2YgdGhpcyBkaXNrIGlzICVzICglanUgYnl0ZXMpLiBET1MgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCBjYW4gbm90IGJlIHVzZWQgb24gZHJpdmVzIGZvciB2b2x1bWVzIGxhcmdlciB0aGFuICVsdSBieXRlcyBmb3IgJWx1LWJ5dGUgc2VjdG9ycy4gVXNlIEdVSUQgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCAoR1BUKS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjUwMworIywgZnV6enkKK21zZ2lkICJCYWQgb2Zmc2V0IGluIHByaW1hcnkgZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiSGliw6FzIGVsdG9sw6FzIGF6IGVsc8WRZGxlZ2VzIGtpdGVyamVzenRldHQgcGFydMOtY2nDs25cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjUxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiT21pdHRpbmcgcGFydGl0aW9ucyBhZnRlciAjJXp1LiBUaGV5IHdpbGwgYmUgZGVsZXRlZCBpZiB5b3Ugc2F2ZSB0aGlzIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIiIKKyJGaWd5ZWxtZXp0ZXTDqXM6IHBhcnTDrWNpw7NrIGtlcsO8bG5layBraWhhZ3nDoXNyYSBhKHopICVkLiB1dMOhbi5cbiIKKyJFemVrIHTDtnJsw6lzcmUga2Vyw7xsbmVrIGEgcGFydMOtY2nDs3MgdMOhYmxhIG1lbnTDqXNla29yLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJFeHRyYSBsaW5rIHBvaW50ZXIgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIkZpZ3llbG1lenRldMOpczogZsO2bMO2c2xlZ2VzIGxpbmttdXRhdMOzIGEoeikgJWQgcGFydMOtY2nDs3MgdMOhYmzDoWJhblxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBkYXRhIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6IGbDtmzDtnNsZWdlcyBhZGF0b2sgbWFyYWRuYWsgZmlneWVsbWVuIGvDrXbDvGwgYSh6KSAlZCBwYXJ0w61jacOzcyB0w6FibMOhYmFuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9taXR0aW5nIGVtcHR5IHBhcnRpdGlvbiAoJXp1KSIKK21zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiDDvHJlcyBwYXJ0w61jacOzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguIgorbXNnc3RyICIgICBzICAgw7pqLCDDvHJlcyBTdW4gbGVtZXpjw61ta2UgbMOpdHJlaG96w6FzYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY4NQorIywgZnV6enkKK21zZ2lkICJFbnRlciB0aGUgbmV3IGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiICAgaSAgIGEgbGVtZXphem9ub3PDrXTDsyBtw7Nkb3PDrXTDoXNhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjkyCisjLCBmdXp6eQorbXNnaWQgIkluY29ycmVjdCB2YWx1ZS4iCittc2dzdHIgIsOJcnbDqW55dGVsZW4gYmXDoWxsw610b3R0IMOpcnTDqWs6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gMHglMDh4IHRvIDB4JTA4eC4iCittc2dzdHIgIkxlbWV6YXpvbm9zw610w7M6IDB4JTA4eFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBleHRlbmRlZCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJBKHopICVkLiBmw7Zsw7ZzbGVnZXMga2l0ZXJqZXN6dGV0dCBwYXJ0w61jacOzIGZpZ3llbG1lbiBrw612w7xsIG1hcmFkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgZmxhZyAweCUwMnglMDJ4IG9mIEVCUiAoZm9yIHBhcnRpdGlvbiAlenUpIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkuIgorbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6IGEgMHglMDR4IGplbHrFkSDDqXJ2w6lueXRlbGVuIGEoeikgJWQuIHBhcnTDrWNpw7NzIHTDoWJsw6FuLCBleiBhIGtpw61yw6FzIHV0w6FuIGphdsOtdMOhc3JhIGtlcsO8bFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6OTIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTdGFydCBzZWN0b3IgJWp1IG91dCBvZiByYW5nZS4iCittc2dzdHIgIkF6IMOpcnTDqWsga8OtdsO8bCBlc2lrIGEgdGFydG9tw6FueW9uLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTAyNiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzNiBsaWJmZGlzay9zcmMvc2dpLmM6ODM5CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKK21zZ3N0ciAiQSh6KSAlZC4gcGFydMOtY2nDsyBtw6FyIGzDqXRlemlrLiBUw7Zyw7ZsamUgbGUgYXogaXNtw6l0ZWx0IGhvenrDoWFkw6FzIGVsxZF0dC5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlbGx1IGlzIGFscmVhZHkgYWxsb2NhdGVkLiIKK21zZ3N0ciAiQSh6KSAlbGx1LiBzemVrdG9yIG3DoXIgbGUgdmFuIGZvZ2xhbHZhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTMzIGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQ2CisjLCBmdXp6eQorbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGUuIgorbXNnc3RyICJOZW0gw6lyaGV0xZEgZWwgc3phYmFkIHN6ZWt0b3JcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEyODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkFkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIkhpYsOhcyBsb2dpa2FpIHBhcnTDrWNpw7MiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjb250YWlucyBzZWN0b3IgMCIKK21zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhKHopICVkLiBwYXJ0w61jacOzIGEgMC4gc3pla3RvcnQgaXMgdGFydGFsbWF6emFcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGhlYWQgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWQiCittc2dzdHIgIiVkLiBwYXJ0w61jacOzOiBhKHopICVkLiBmZWogbmFneW9iYiwgbWludCBhIG1heGltw6FsaXMgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHNlY3RvciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICIlZC4gcGFydMOtY2nDszogYSh6KSAlZC4gc3pla3RvciBuYWd5b2JiLCBtaW50IGEgbWF4aW3DoWxpcyAlbGx1XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjeWxpbmRlciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICIlZC4gcGFydMOtY2nDszogYSh6KSAlZC4gY2lsaW5kZXIgbmFneW9iYiwgbWludCBhIG1heGltw6FsaXMgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHByZXZpb3VzIHNlY3RvcnMgJXUgZGlzYWdyZWVzIHdpdGggdG90YWwgJXUiCittc2dzdHIgIiVkLiBwYXJ0w61jacOzOiBheiBlbMWResWRICVkIHN6ZWt0b3IgZWx0w6lyIGEgdGVsamVzICVkIMOpcnTDqWt0xZFsXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBiZWdpbm5pbmdzIChub24tTGludXg/KTogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICJBKHopICVkLiBwYXJ0w61jacOzbiBlbHTDqXIgYSBmaXppa2FpIMOpcyBsb2dpa2FpIGtlemRldCAobmVtIExpbnV4Pyk6XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBlbmRpbmdzOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIkEoeikgJWQuIHBhcnTDrWNpw7NuIGVsdMOpciBhIGZpemlrYWkgw6lzIGxvZ2lrYWkgdsOpZzpcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIkEoeikgJWQuIHBhcnTDrWNpw7MgbmVtIGNpbGluZGVyaGF0w6Fyb24gdsOpZ3rFkWRpay5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGJhZCBzdGFydC1vZi1kYXRhLiIKK21zZ3N0ciAiQSh6KSAlZC4gcGFydMOtY2nDs25hayBuaW5jcyBhZGF0dGVyw7xsZXRlXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBvdmVybGFwcyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhKHopICVkLiBwYXJ0w61jacOzIMOhdGZlZGkgYSh6KSAlZCBwYXJ0w61jacOzdC5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGVtcHR5LiIKK21zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhKHopICVkLiBwYXJ0w61jacOzIMO8cmVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMb2dpY2FsIHBhcnRpdGlvbiAlenU6IG5vdCBlbnRpcmVseSBpbiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiQSh6KSAlZC4gbG9naWthaSBwYXJ0w61jacOzIG5pbmNzIHRlbGplc2VuIGJlamVneWV6dmUgYSh6KSAlZC4gcGFydMOtY2nDs25cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRvdGFsIGFsbG9jYXRlZCBzZWN0b3JzICVsbHUgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtICVsbHUuIgorbXNnc3RyICJBeiDDtnNzemVzZW4gbGVmb2dsYWx0IHN6ZWt0b3JvayBzesOhbWEgKCVsZCkgbmFneW9iYiwgbWludCBhIG1heGltw6FsaXMgJWxsZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUmVtYWluaW5nICVsbGQgdW5hbGxvY2F0ZWQgJWxkLWJ5dGUgc2VjdG9ycy4iCittc2dzdHIgIiVsbGQgc3pla3RvciBuaW5jcyBsZWZvZ2xhbHZhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTMyIGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU0CisjLCBmdXp6eQorbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgIkV6IGEgcGFydMOtY2nDsyBtw6FyIGzDqXRlemlrLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU3NQorIywgZnV6enkKK21zZ2lkICJUaGUgbWF4aW11bSBudW1iZXIgb2YgcGFydGl0aW9ucyBoYXMgYmVlbiBjcmVhdGVkLiIKK21zZ3N0ciAiQSBsw6l0cmVob3pvdHQgcGFydMOtY2nDs2sgc3rDoW1hIGVsw6lydGUgYSBtYXhpbXVtb3RcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1ODcKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiIKK21zZ3N0ciAiQXogw7Zzc3plcyBsb2dpa2FpIHBhcnTDrWNpw7MgaGFzem7DoWxhdGJhbiB2YW5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1ODkgbGliZmRpc2svc3JjL2Rvcy5jOjE2MDAKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHNwYWNlIGZvciBwcmltYXJ5IHBhcnRpdGlvbnMgaXMgaW4gdXNlLiIKK21zZ3N0ciAiQXogw7Zzc3plcyBsb2dpa2FpIHBhcnTDrWNpw7MgaGFzem7DoWxhdGJhbiB2YW5cbiIKKworIy4gVFJBTlNMQVRPUlM6IFRyeSB0byBrZWVwIHRoaXMgd2l0aGluIDgwIGNoYXJhY3RlcnMuCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYwMworIywgZnV6enkKK21zZ2lkICJUbyBjcmVhdGUgbW9yZSBwYXJ0aXRpb25zLCBmaXJzdCByZXBsYWNlIGEgcHJpbWFyeSB3aXRoIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIkVsxZFzesO2ciB0w7Zyw7ZsasO2biBuw6low6FueSBwYXJ0w61jacOzdCDDqXMgdmVneWVuIGZlbCBlZ3kga2l0ZXJqZXN6dGV0dCBwYXJ0w61jacOzdFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYwOAorIywgZnV6enkKK21zZ2lkICJBbGwgbG9naWNhbCBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIEFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uLiIKK21zZ3N0ciAiQXogw7Zzc3plcyBsb2dpa2FpIHBhcnTDrWNpw7MgaGFzem7DoWxhdGJhbiB2YW5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzAKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHR5cGUiCittc2dzdHIgIlBhcnTDrWNpw7NzesOhbSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXp1IHByaW1hcnksICVkIGV4dGVuZGVkLCAlenUgZnJlZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzOQorIywgZnV6enkKK21zZ2lkICJwcmltYXJ5IgorbXNnc3RyICJFbHPFkWRsZWdlcyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDEKKyMsIGZ1enp5Cittc2dpZCAiZXh0ZW5kZWQiCittc2dzdHIgIktpdGVyamVzenRldHQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQxCisjLCBmdXp6eQorbXNnaWQgImNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zIgorbXNnc3RyICJIaWLDoXMgbG9naWthaSBwYXJ0w61jacOzIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MworIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIgorbXNnc3RyICJMb2dpa2FpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MworIywgZnV6enkKK21zZ2lkICJudW1iZXJlZCBmcm9tIDUiCittc2dzdHIgImwgICBsb2dpa2FpICg1IHZhZ3kgdMO2YmIpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gdHlwZSBgJWMnLiIKK21zZ3N0ciAiw4lydsOpbnl0ZWxlbiBwYXJ0w61jacOzc3rDoW0gYSh6KSDigJ4lY+KAnSB0w61wdXNob3pcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB3cml0ZSBzZWN0b3IgJWpkOiBzZWVrIGZhaWxlZCIKK21zZ3N0ciAiJXM6IG5lbSDDrXJoYXTDsyBhIHBhcmFuY3Nmw6FqbCwgaGliYTogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE4NTIgbGliZmRpc2svc3JjL2dwdC5jOjEwOTYKKyMsIGZ1enp5Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJMZW1lemF6b25vc8OtdMOzOiAweCUwOHhcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE5NTkKKyMsIGZ1enp5Cittc2dpZCAiVHlwZSAwIG1lYW5zIGZyZWUgc3BhY2UgdG8gbWFueSBzeXN0ZW1zLiBIYXZpbmcgcGFydGl0aW9ucyBvZiB0eXBlIDAgaXMgcHJvYmFibHkgdW53aXNlLiIKK21zZ3N0ciAiIgorIkEgMCB0w61wdXMgbGVndMO2YmIgcmVuZHN6ZXJlbiDDvHJlcyBoZWx5ZXQgamVsZW50XG4iCisiKGRlIG5lbSBMaW51eG9uKS4gMCB0w61wdXPDuiBwYXJ0w61jacOzdCBoYWd5bmkgbmVtXG4iCisib2tvcyBkb2xvZy4gQSBwYXJ0w61jacOzIGEgJ2QnIHBhcmFuY2NzYWwgdMO2csO2bGhldMWRXG4iCisiXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxOTY0Cittc2dpZCAiQ2Fubm90IGNoYW5nZSB0eXBlIG9mIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24gd2hpY2ggaXMgYWxyZWFkeSB1c2VkIGJ5IGxvZ2ljYWwgcGFydGl0aW9ucy4gRGVsZXRlIGxvZ2ljYWwgcGFydGl0aW9ucyBmaXJzdC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxNDMgbGliZmRpc2svc3JjL2dwdC5jOjI4MjEKKyMsIGZ1enp5Cittc2dpZCAiTm90aGluZyB0byBkby4gT3JkZXJpbmcgaXMgY29ycmVjdCBhbHJlYWR5LiIKK21zZ3N0ciAiIgorIk5pbmNzIHRlZW5kxZEuIEEgc29ycmVuZCBtw6FyIGhlbHllcy5cbiIKKyJcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG5vIGRhdGEgYXJlYS4iCittc2dzdHIgIkEoeikgJWQuIHBhcnTDrWNpw7NuYWsgbmluY3MgYWRhdHRlcsO8bGV0ZVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjIyMgorbXNnaWQgIk5ldyBiZWdpbm5pbmcgb2YgZGF0YSIKK21zZ3N0ciAiQXogYWRhdG9rIMO6aiBrZXpkZXRlIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaXMgYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiRklHWUVMTUVaVEVUw4lTOiBBKHopICVkIHBhcnTDrWNpw7MgZWd5IGtpdGVyamVzenRldHQgcGFydMOtY2nDs1xuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIkEoeikgJWQuIHBhcnTDrWNpw7MgcmVuZHN6ZXJ0w61wdXNhIHbDoWx0b3phdGxhbjogJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJBKHopICVkLiBwYXJ0w61jacOzIHJlbmRzemVydMOtcHVzYSB2w6FsdG96YXRsYW46ICV4ICglcylcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyOTggbGliZmRpc2svc3JjL2dwdC5jOjI5MTEgbGliZmRpc2svc3JjL3NnaS5jOjExNTMKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTA5Cittc2dpZCAiRGV2aWNlIgorbXNnc3RyICJFc3prw7Z6IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI5OSBsaWJmZGlzay9zcmMvc3VuLmM6NDEKK21zZ2lkICJCb290IgorbXNnc3RyICJJbmTDrXRoYXTDsyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDUgbGliZmRpc2svc3JjL3NnaS5jOjExNTkgbGliZmRpc2svc3JjL3N1bi5jOjExMTUKK21zZ2lkICJJZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwOQorIywgZnV6enkKK21zZ2lkICJTdGFydC1DL0gvUyIKK21zZ3N0ciAia2V6ZGV0IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMxMAorbXNnaWQgIkVuZC1DL0gvUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMxMSBsaWJmZGlzay9zcmMvZ3B0LmM6MjkyMSBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MQorbXNnaWQgIkF0dHJzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjAKK21zZ2lkICJFRkkgU3lzdGVtIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjIKKyMsIGZ1enp5Cittc2dpZCAiTUJSIHBhcnRpdGlvbiBzY2hlbWUiCittc2dzdHIgIlBhcnTDrWNpw7NzesOhbSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MworbXNnaWQgIkludGVsIEZhc3QgRmxhc2giCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2NgorIywgZnV6enkKK21zZ2lkICJCSU9TIGJvb3QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjkKKyMsIGZ1enp5Cittc2dpZCAiU29ueSBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgYSAgIGF6IGluZMOtdGhhdMOzIHBhcnTDrWNpw7Mga2l2w6FsYXN6dMOhc2EiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzAKKyMsIGZ1enp5Cittc2dpZCAiTGVub3ZvIGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICIgICBhICAgYXogaW5kw610aGF0w7MgcGFydMOtY2nDsyBraXbDoWxhc3p0w6FzYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MworIywgZnV6enkKK21zZ2lkICJQb3dlclBDIFBSZVAgYm9vdCIKK21zZ3N0ciAiUFBDIFBSZVAgaW5kw610w7MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzYKKyMsIGZ1enp5Cittc2dpZCAiT05JRSBib290IgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc3Cittc2dpZCAiT05JRSBjb25maWciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MAorbXNnaWQgIk1pY3Jvc29mdCByZXNlcnZlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgxCittc2dpZCAiTWljcm9zb2Z0IGJhc2ljIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MgorbXNnaWQgIk1pY3Jvc29mdCBMRE0gbWV0YWRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MworbXNnaWQgIk1pY3Jvc29mdCBMRE0gZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg0Cittc2dpZCAiV2luZG93cyByZWNvdmVyeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg1Cittc2dpZCAiSUJNIEdlbmVyYWwgUGFyYWxsZWwgRnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NgorbXNnaWQgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIkhQLVVYIGRhdGEiCittc2dzdHIgIiAgIGQgICBwYXJ0w61jacOzIHTDtnJsw6lzZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MAorIywgZnV6enkKK21zZ2lkICJIUC1VWCBzZXJ2aWNlIgorbXNnc3RyICJOaW5jcyB0w7ZiYiBwYXJ0w61jacOzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2MSBsaWJmZGlzay9zcmMvc3VuLmM6NTIKK21zZ2lkICJMaW51eCBzd2FwIgorbXNnc3RyICJMaW51eCBsYXBvesOzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk0CisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IGZpbGVzeXN0ZW0iCittc2dzdHIgIkFkamEgbWVnIGEgZsOhamxyZW5kc3plciB0w61wdXPDoXQ6ICIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NQorIywgZnV6enkKK21zZ2lkICJMaW51eCBzZXJ2ZXIgZGF0YSIKK21zZ3N0ciAiU3VuT1MgZmVubnRhcnRvdHQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTYKK21zZ2lkICJMaW51eCByb290ICh4ODYpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcKK21zZ2lkICJMaW51eCByb290IChBUk0pIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTgKK21zZ2lkICJMaW51eCByb290ICh4ODYtNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTkKK21zZ2lkICJMaW51eCByb290IChBUk0tNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAKK21zZ2lkICJMaW51eCByb290XHQoSUEtNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDEKKyMsIGZ1enp5Cittc2dpZCAiTGludXggcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIGZlbm50YXJ0b3R0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAyCisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IGhvbWUiCittc2dzdHIgIkxpbnV4IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2NAorbXNnaWQgIkxpbnV4IFJBSUQiCittc2dzdHIgIkxpbnV4IFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQKKyMsIGZ1enp5Cittc2dpZCAiTGludXggZXh0ZW5kZWQgYm9vdCIKK21zZ3N0ciAiTGludXgga2l0ZXJqZXN6dGV0dCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMgorIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIGRhdGEiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTMKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBib290IgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0Qgc3dhcCIKK21zZ3N0ciAiQlNESSBsYXBvesOzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgVUZTIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgWkZTIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgVmludW0iCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAiQXBwbGUgSEZTL0hGUysiCittc2dzdHIgIk9TLzIgSFBGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMQorbXNnaWQgIkFwcGxlIFVGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyCittc2dpZCAiQXBwbGUgUkFJRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzCittc2dpZCAiQXBwbGUgUkFJRCBvZmZsaW5lIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjQKK21zZ2lkICJBcHBsZSBib290IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjUKK21zZ2lkICJBcHBsZSBsYWJlbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI2Cittc2dpZCAiQXBwbGUgVFYgcmVjb3ZlcnkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNworbXNnaWQgIkFwcGxlIENvcmUgc3RvcmFnZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMxCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcm9vdCIKK21zZ3N0ciAiU29sYXJpcyBpbmTDrXTDsyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMworbXNnaWQgIlNvbGFyaXMgL3VzciAmIEFwcGxlIFpGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgc3dhcCIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNQorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIGJhY2t1cCIKK21zZ3N0ciAiU29sYXJpcyBpbmTDrXTDsyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNgorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIC92YXIiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyAvaG9tZSIKK21zZ3N0ciAiU29sYXJpcyBpbmTDrXTDsyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOAorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIGFsdGVybmF0ZSBzZWN0b3IiCittc2dzdHIgInTDumwgc29rIGFsdGVybmF0w612IHNlYmVzc8OpZyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOQorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDEiCittc2dzdHIgIlN1bk9TIGZlbm50YXJ0b3R0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQwCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMiIKK21zZ3N0ciAiU3VuT1MgZmVubnRhcnRvdHQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDEKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAzIgorbXNnc3RyICJTdW5PUyBmZW5udGFydG90dCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MgorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDQiCittc2dzdHIgIlN1bk9TIGZlbm50YXJ0b3R0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQzCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNSIKK21zZ3N0ciAiU3VuT1MgZmVubnRhcnRvdHQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDYKKyMsIGZ1enp5Cittc2dpZCAiTmV0QlNEIHN3YXAiCittc2dzdHIgIkJTREkgbGFwb3rDsyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NworIywgZnV6enkKK21zZ2lkICJOZXRCU0QgRkZTIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgKKyMsIGZ1enp5Cittc2dpZCAiTmV0QlNEIExGUyIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5Cittc2dpZCAiTmV0QlNEIGNvbmNhdGVuYXRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwCittc2dpZCAiTmV0QlNEIGVuY3J5cHRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUxCisjLCBmdXp6eQorbXNnaWQgIk5ldEJTRCBSQUlEIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTQKK21zZ2lkICJDaHJvbWVPUyBrZXJuZWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NQorbXNnaWQgIkNocm9tZU9TIHJvb3QgZnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NgorIywgZnV6enkKK21zZ2lkICJDaHJvbWVPUyByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgZmVubnRhcnRvdHQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTkKK21zZ2lkICJNaWRuaWdodEJTRCBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjAKK21zZ2lkICJNaWRuaWdodEJTRCBib290IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjEKKyMsIGZ1enp5Cittc2dpZCAiTWlkbmlnaHRCU0Qgc3dhcCIKK21zZ3N0ciAiQlNESSBsYXBvesOzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyCittc2dpZCAiTWlkbmlnaHRCU0QgVUZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjMKK21zZ2lkICJNaWRuaWdodEJTRCBaRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NAorbXNnaWQgIk1pZG5pZ2h0QlNEIFZpbnVtIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjcKK21zZ2lkICJDZXBoIEpvdXJuYWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OAorbXNnaWQgIkNlcGggRW5jcnlwdGVkIEpvdXJuYWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OQorbXNnaWQgIkNlcGggT1NEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAKK21zZ2lkICJDZXBoIGNyeXB0IE9TRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcxCittc2dpZCAiQ2VwaCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzIKK21zZ2lkICJDZXBoIGNyeXB0IGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NQorIywgZnV6enkKK21zZ2lkICJPcGVuQlNEIGRhdGEiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzgKKyMsIGZ1enp5Cittc2dpZCAiUU5YNiBmaWxlIHN5c3RlbSIKK21zZ3N0ciAiQWRqYSBtZWcgYSBmw6FqbHJlbmRzemVyIHTDrXB1c8OhdDogIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjgxCisjLCBmdXp6eQorbXNnaWQgIlBsYW4gOSBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGQgICBwYXJ0w61jacOzIHTDtnJsw6lzZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjU0NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR1BUIGhlYWRlciIKK21zZ3N0ciAibmVtIGZvZ2xhbGhhdMOzIGxlIGtpbWVuZXRpIHB1ZmZlciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjYzMAorbXNnaWQgIkZpcnN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjY0MgorbXNnaWQgIkxhc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Nzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIkdQVCBQTUJSIHNpemUgbWlzbWF0Y2ggKCU8UFJJdTY0PiAhPSAlPFBSSXU2ND4pIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3OTIKKyMsIGZ1enp5Cittc2dpZCAiZ3B0OiBzdGF0KCkgZmFpbGVkIgorbXNnc3RyICIlcyBtZWdoacO6c3VsdC5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjgwMgorIywgYy1mb3JtYXQKK21zZ2lkICJncHQ6IGNhbm5vdCBoYW5kbGUgZmlsZXMgd2l0aCBtb2RlICVvIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMDY0Cittc2dpZCAiR1BUIEhlYWRlciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTA2OQorbXNnaWQgIkdQVCBFbnRyaWVzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTAzCisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IExCQSIKK21zZ3N0ciAiRWxzxZEgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTA4CisjLCBmdXp6eQorbXNnaWQgIkxhc3QgTEJBIgorbXNnc3RyICIgVXRvbHPDsyAlcyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBMQkEgKExvZ2ljYWwgQmxvY2sgQWRkcmVzcykgb2YgdGhlIGJhY2t1cCBHUFQgaGVhZGVyLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjExMTQKK21zZ2lkICJBbHRlcm5hdGl2ZSBMQkEiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFydCBvZiB0aGUgYXJyYXkgb2YgcGFydGl0aW9uIGVudHJpZXMuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEyMAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gZW50cmllcyBMQkEiCittc2dzdHIgIiVkLiBwYXJ0w61jacOzIGtpdsOhbGFzenR2YVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEyNQorIywgZnV6enkKK21zZ2lkICJBbGxvY2F0ZWQgcGFydGl0aW9uIGVudHJpZXMiCittc2dzdHIgIiVkLiBwYXJ0w61jacOzIGtpdsOhbGFzenR2YVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTQ0MAorbXNnaWQgIlRoZSBiYWNrdXAgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgcHJpbWFyeSBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE0NDkKK21zZ2lkICJUaGUgcHJpbWFyeSBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBiYWNrdXAgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBHUFQgYXR0cmlidXRlIGJpdCAnJXMnIgorbXNnc3RyICIlczogaXNtZXJldGxlbiBhcmd1bWVudHVtOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIEdQVCBhdHRyaWJ1dGUgc3RyaW5nICclcyciCittc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIG55aXRoYXTDsyBtZWc6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiQSBzemVtw6lseWlzw6lnIGJlw6FsbMOtdMOhc2EgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lIGNoYW5nZWQgZnJvbSAnJXMnIHRvICclLipzJy4iCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzY4CisjLCBmdXp6eQorbXNnaWQgIlRoZSBzdGFydCBvZiB0aGUgcGFydGl0aW9uIHVuZGVyc3RlcHMgRmlyc3RVc2FibGVMQkEuIgorbXNnc3RyICIiCisiXG4iCisiQXogaW5kw610w7NwYXJ0w61jacOzIG5lbSBsw6l0ZXppay5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NzUKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGVuZCBvZiB0aGUgcGFydGl0aW9uIG92ZXJzdGVwcyBMYXN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiTmVtIHNpa2Vyw7xsdCBhIHBhcnTDrWNpw7Mga2nDrXLDoXNhIGEoeikgJXMgZXN6a8O2esO2blxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzNAorbXNnaWQgIlRoZSBkZXZpY2UgY29udGFpbnMgaHlicmlkIE1CUiAtLSB3cml0aW5nIEdQVCBvbmx5LiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBNQlIgbWFudWFsbHkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcxCisjLCBmdXp6eQorbXNnaWQgIkRpc2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICJBKHopICVzIGxlbWV6IG5lbSB0YXJ0YWxtYXogw6lydsOpbnllcyBwYXJ0w61jacOzcyB0w6FibMOhdFxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3NgorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4MAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTg1CisjLCBmdXp6eQorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIGVudHJ5IGNoZWNrc3VtLiIKK21zZ3N0ciAiw4lydsOpbnl0ZWxlbiBwYXJ0w61jacOzc3rDoW0gYSh6KSDigJ4lY+KAnSB0w61wdXNob3pcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OTAKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5NAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OTkKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgcHJpbWFyeSBoZWFkZXIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAzCittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDA4Cittc2dpZCAiRGlzayBpcyB0b28gc21hbGwgdG8gaG9sZCBhbGwgZGF0YS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMTgKK21zZ2lkICJQcmltYXJ5IGFuZCBiYWNrdXAgaGVhZGVyIG1pc21hdGNoLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggcGFydGl0aW9uICV1LiIKK21zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhKHopICVkLiBwYXJ0w61jacOzIMOhdGZlZGkgYSh6KSAlZCBwYXJ0w61jacOzdC5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBpcyB0b28gYmlnIGZvciB0aGUgZGlzay4iCittc2dzdHIgIkVneW3DoXN0IMOhdGZlZMWRIHBhcnTDrWNpw7NrIHRhbMOhbGhhdMOzayBhIGxlbWV6ZW4uIEVsxZFzesO2ciBqYXbDrXRzYSBlenQga2khXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZW5kcyBiZWZvcmUgaXQgc3RhcnRzLiIKK21zZ3N0ciAiQSBwYXJ0w61jacOzIGEgMC4gc3pla3RvciB1dMOhbiBmZWplesWRZGlrIGJlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0NworbXNnaWQgIk5vIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkhlYWRlciB2ZXJzaW9uOiAlcyIKK21zZ3N0ciAiJXM6IMOtcsOhc2kgaGliYTogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nICV1IG91dCBvZiAlZCBwYXJ0aXRpb25zLiIKK21zZ3N0ciAiZnVyY3NhLCBjc2FrICVkIHBhcnTDrWNpw7MgdmFuIG1lZ2FkdmEuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnQuIgorbXNnaWRfcGx1cmFsICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnRzICh0aGUgbGFyZ2VzdCBpcyAlcykuIgorbXNnc3RyWzBdICJOZW0gw6lyaGV0xZEgZWwgc3phYmFkIHN6ZWt0b3JcbiIKK21zZ3N0clsxXSAiTmVtIMOpcmhldMWRIGVsIHN6YWJhZCBzemVrdG9yXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGVycm9yIGRldGVjdGVkLiIKK21zZ2lkX3BsdXJhbCAiJWQgZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQyCisjLCBmdXp6eQorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIGFyZSBhbHJlYWR5IGluIHVzZS4iCittc2dzdHIgIkV6IGEgcGFydMOtY2nDsyBtw6FyIGhhc3puw6FsYXRiYW4gdmFuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5NyBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVqdSBhbHJlYWR5IHVzZWQuIgorbXNnc3RyICJBKHopICVsbHUuIHN6ZWt0b3IgbcOhciBsZSB2YW4gZm9nbGFsdmFcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiTmUgaG96em9uIGzDqXRyZSBwYXJ0w61jacOzdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGxhc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpcnN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IEdQVCBkaXNrbGFiZWwgKEdVSUQ6ICVzKS4iCittc2dzdHIgIiAgIHMgICDDumosIMO8cmVzIFN1biBsZW1lemPDrW1rZSBsw6l0cmVob3rDoXNhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ0NworbXNnaWQgIkVudGVyIG5ldyBkaXNrIFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ1NAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgeW91ciBVVUlELiIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiQSBzemVtw6lseWlzw6lnIGJlw6FsbMOtdMOhc2EgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0ODgKKyMsIGZ1enp5Cittc2dpZCAiTm90IGVub3VnaCBzcGFjZSBmb3IgbmV3IHBhcnRpdGlvbiB0YWJsZSEiCittc2dzdHIgIk5lbSDDqXJoZXTFkSBlbCBzemFiYWQgc3pla3RvclxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5NworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV1IG91dCBvZiByYW5nZSAobWluaW1hbCBzdGFydCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMldSBvdXQgb2YgcmFuZ2UgKG1heGltYWwgZW5kIGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIG51bWJlciBvZiB0aGUgcGFydGl0aW9uIGhhcyBiZSBzbWFsbGVyIHRoYW4gJXp1LiIKK21zZ3N0ciAiQSBsw6l0cmVob3pvdHQgcGFydMOtY2nDs2sgc3rDoW1hIGVsw6lydGUgYSBtYXhpbXVtb3RcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NjMKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGFsbG9jYXRlIG1lbW9yeSEiCittc2dzdHIgImEgcHJvZ3JhbWluZMOtdMOhcyBtZWdoacO6c3VsdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBsZW5ndGggY2hhbmdlZCBmcm9tICU8UFJJdTMyPiB0byAlPFBSSXU2ND4uIgorbXNnc3RyICJBIHN6ZW3DqWx5aXPDqWcgYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGF0dHJpYnV0ZXMgb24gcGFydGl0aW9uICV6dSBjaGFuZ2VkIHRvIDB4JTAxNjxQUkl4NjQ+LiIKK21zZ3N0ciAiQSh6KSAlZC4gcGFydMOtY2nDsyByZW5kc3plcnTDrXB1c2EgdsOhbHRvemF0bGFuOiAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzQyCittc2dpZCAiRW50ZXIgR1VJRCBzcGVjaWZpYyBiaXQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB0b2dnbGUgdW5zdXBwb3J0ZWQgYml0ICVsdSIKK21zZ3N0ciAiYSh6KSDigJ4lc+KAnSBuZW0gbnlpdGhhdMOzIG1lZzogJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIkEoeikgJWQuIHBhcnTDrWNpw7MgcmVuZHN6ZXJ0w61wdXNhIHbDoWx0b3phdGxhbjogJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiQSh6KSAlZC4gcGFydMOtY2nDsyByZW5kc3plcnTDrXB1c2EgdsOhbHRvemF0bGFuOiAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIkEoeikgJWQuIHBhcnTDrWNpw7MgcmVuZHN6ZXJ0w61wdXNhIHbDoWx0b3phdGxhbjogJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxOAorIywgZnV6enkKK21zZ2lkICJUeXBlLVVVSUQiCittc2dzdHIgIlTDrXB1cyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTkKK21zZ2lkICJVVUlEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTIwIGxvZ2luLXV0aWxzL2NoZm4uYzoxNTAgbG9naW4tdXRpbHMvY2hmbi5jOjE1MgorIzogbG9naW4tdXRpbHMvY2hmbi5jOjMwNworbXNnaWQgIk5hbWUiCittc2dzdHIgIk7DqXYiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzo4NDAKKyMsIGZ1enp5Cittc2dpZCAiRnJlZSBzcGFjZSIKK21zZ3N0ciAiU3phYmFkIHRlcsO8bGV0IgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6MTIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24gIyV6dS4iCittc2dzdHIgInBhcnTDrWNpw7NzIHTDoWJsYSDDumpyYW9sdmFzw6FzYSIKKworIzogbGliZmRpc2svc3JjL3BhcnR0eXBlLmM6MjU5IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1NSBzY2hlZHV0aWxzL2NocnQuYzoyMDYKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6Nzkgc3lzLXV0aWxzL2h3Y2xvY2suYzozMzQKK21zZ2lkICJ1bmtub3duIgorbXNnc3RyICJpc21lcmV0bGVuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDcKK21zZ2lkICJTR0kgdm9saGRyIgorbXNnc3RyICJTR0kgdm9saGRyIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDgKK21zZ2lkICJTR0kgdHJrcmVwbCIKK21zZ3N0ciAiU0dJIHRya3JlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OQorbXNnaWQgIlNHSSBzZWNyZXBsIgorbXNnc3RyICJTR0kgc2VjcmVwbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUwCittc2dpZCAiU0dJIHJhdyIKK21zZ3N0ciAiU0dJIG55ZXJzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTEKK21zZ2lkICJTR0kgYnNkIgorbXNnc3RyICJTR0kgYnNkIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTIKK21zZ2lkICJTR0kgc3lzdiIKK21zZ3N0ciAiU0dJIHN5c3YiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MworbXNnaWQgIlNHSSB2b2x1bWUiCittc2dzdHIgIlNHSSBrw7Z0ZXQiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NAorbXNnaWQgIlNHSSBlZnMiCittc2dzdHIgIlNHSSBlZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NQorbXNnaWQgIlNHSSBsdm9sIgorbXNnc3RyICJTR0kgbHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU2Cittc2dpZCAiU0dJIHJsdm9sIgorbXNnc3RyICJTR0kgcmx2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NworbXNnaWQgIlNHSSB4ZnMiCittc2dzdHIgIlNHSSB4ZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OAorbXNnaWQgIlNHSSB4ZnNsb2ciCittc2dzdHIgIlNHSSB4ZnNsb2ciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OQorbXNnaWQgIlNHSSB4bHYiCittc2dzdHIgIlNHSSB4bHYiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MAorbXNnaWQgIlNHSSB4dm0iCittc2dzdHIgIlNHSSB4dm0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MiBsaWJmZGlzay9zcmMvc3VuLmM6NTMKK21zZ2lkICJMaW51eCBuYXRpdmUiCittc2dzdHIgIkxpbnV4IG5hdMOtdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjE1OQorbXNnaWQgIlNHSSBpbmZvIGNyZWF0ZWQgb24gc2Vjb25kIHNlY3Rvci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI1OQorIywgZnV6enkKK21zZ2lkICJEZXRlY3RlZCBhbiBTR0kgZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIgorbXNnc3RyICJBeiBzZ2kgbGVtZXpjw61ta2UgZWxsZW7FkXJ6xZHDtnNzemVnZSBoaWLDoXMuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODIgbGliZmRpc2svc3JjL3N1bi5jOjc3MAorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIkEgZml6aWthaSBjaWxpbmRlcmVrIHN6w6FtYSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4NyBsaWJmZGlzay9zcmMvc3VuLmM6Nzc1CisjLCBmdXp6eQorbXNnaWQgIkV4dHJhIHNlY3RzL2N5bCIKK21zZ3N0ciAiQ2lsaW5kZXJlbmvDqW50aSBleHRyYSBzemVrdG9yb2siCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyOTcKKyMsIGZ1enp5Cittc2dpZCAiQm9vdGZpbGUiCittc2dzdHIgIihLw7Z2ZXRrZXrFkSBmw6FqbDogJXMpIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mzk1CisjLCBmdXp6eQorbXNnaWQgIkludmFsaWQgYm9vdGZpbGUhICBUaGUgYm9vdGZpbGUgbXVzdCBiZSBhbiBhYnNvbHV0ZSBub24temVybyBwYXRobmFtZSwgZS5nLiBcIi91bml4XCIgb3IgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICIiCisiXG4iCisiw4lydsOpbnl0ZWxlbiBpbmTDrXTDs2bDoWpsXG4iCisiXHRBeiBpbmTDrXTDs2bDoWpsbmFrIGFic3pvbMO6dCwgbmVtIMO8cmVzIMO6dHZvbmFsbsOpdm5layBrZWxsIGxlbm5pZSxcbiIKKyJcdHDDqWxkw6F1bCDigJ4vdW5peOKAnSB2YWd5IOKAni91bml4LnNhdmXigJ0uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlIG1heGltdW0uIgorbXNnaWRfcGx1cmFsICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZXMgbWF4aW11bS4iCittc2dzdHJbMF0gIiIKKyJcbiIKKyJcdEF6IGluZMOtdMOzZsOhamwgbmV2ZSB0w7psIGhvc3N6w7o6IE1heGltdW0gMTYgYsOhanQgbGVoZXQuXG4iCittc2dzdHJbMV0gIiIKKyJcbiIKKyJcdEF6IGluZMOtdMOzZsOhamwgbmV2ZSB0w7psIGhvc3N6w7o6IE1heGltdW0gMTYgYsOhanQgbGVoZXQuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDgKKyMsIGZ1enp5Cittc2dpZCAiQm9vdGZpbGUgbXVzdCBoYXZlIGEgZnVsbHkgcXVhbGlmaWVkIHBhdGhuYW1lLiIKK21zZ3N0ciAiIgorIlxuIgorIlx0QXogaW5kw610w7Nmw6FqbG5hayB0ZWxqZXMga8OpcHrDqXPFsSDDunR2b25hbG7DqXZ2ZWwga2VsbCByZW5kZWxrZXpuaWUuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAiQmUgYXdhcmUgdGhhdCB0aGUgYm9vdGZpbGUgaXMgbm90IGNoZWNrZWQgZm9yIGV4aXN0ZW5jZS4gIFNHSSdzIGRlZmF1bHQgaXMgXCIvdW5peFwiLCBhbmQgZm9yIGJhY2t1cCBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIiIKKyJcbiIKKyJcdE5lIGZlbGVkamUsIGhvZ3kgYXogaW5kw610w7Nmw6FqbCBsw6l0ZXrDqXNlIG5lbSBrZXLDvGx0IGVsbGVuxZFyesOpc3JlXG4iCisiXHRBeiBTR0kgYWxhcMOpcnRlbG1lesOpc2UgYSDigJ4vdW5peOKAnSDDqXMgYSBiaXp0b25zw6FnaSBtZW50w6lzIGEg4oCeL3VuaXguc2F2ZeKAnS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGN1cnJlbnQgYm9vdCBmaWxlIGlzOiAlcyIKK21zZ3N0ciAiIgorIlxuIgorIkF6IGFrdHXDoWxpcyBpbmTDrXTDs2bDoWpsOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQxCisjLCBmdXp6eQorbXNnaWQgIkVudGVyIG9mIHRoZSBuZXcgYm9vdCBmaWxlIgorbXNnc3RyICJBZGphIG1lZyBheiDDumogaW5kw610w7Nmw6FqbCBuZXbDqXQ6ICIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0NgorIywgZnV6enkKK21zZ2lkICJCb290IGZpbGUgaXMgdW5jaGFuZ2VkLiIKK21zZ3N0ciAiQXogaW5kw610w7Nmw6FqbCB2w6FsdG96YXRsYW5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQm9vdGZpbGUgaGFzIGJlZW4gY2hhbmdlZCB0byBcIiVzXCIuIgorbXNnc3RyICIiCisiXG4iCisiXHRBeiBpbmTDrXTDs2bDoWpsIGEga8O2dmV0a2V6xZFyZSBtw7Nkb3PDrXR2YTog4oCeJXPigJ0uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OTYKKyMsIGZ1enp5Cittc2dpZCAiTW9yZSB0aGFuIG9uZSBlbnRpcmUgZGlzayBlbnRyeSBwcmVzZW50LiIKK21zZ3N0ciAiVMO2YmIgdGVsamVzIGxlbWV6IGJlamVneXrDqXMgdmFuIGplbGVuLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAzIGxpYmZkaXNrL3NyYy9zdW4uYzo0NTgKKyMsIGZ1enp5Cittc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkLiIKK21zZ3N0ciAiTmluY3NlbmVrIHBhcnTDrWNpw7NrIG1lZ2FkdmFcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxMworIywgZnV6enkKK21zZ2lkICJJUklYIGxpa2VzIGl0IHdoZW4gcGFydGl0aW9uIDExIGNvdmVycyB0aGUgZW50aXJlIGRpc2suIgorbXNnc3RyICJBeiBJUklYIHN6ZXJldGksIGhhIGEgMTEuIHBhcnTDrWNpw7MgZWxmb2dsYWxqYSBhIHRlbGplcyBsZW1lenQuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gc2hvdWxkIHN0YXJ0IGF0IGJsb2NrIDAsIG5vdCBhdCBibG9jayAlZC4iCittc2dzdHIgIiIKKyJBIHRlbGplcyBsZW1lenBhcnTDrWNpw7NuYWsgYSAwLiBibG9ra29uIGtlbGxlbmUga2V6ZMWRZG5pZVxuIgorIsOpcyBuZW0gYSh6KSAlZC4gbGVtZXpibG9ra29uLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjI4CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiAxMSBzaG91bGQgY292ZXIgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiRWd5IHBhcnTDrWNpw7NuYWsgKGEgMTEuLW5laykgbGUga2VsbGVuZSBmZWRuaWUgYSB0ZWxqZXMgbGVtZXp0LlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3Rvci4iCittc2dpZF9wbHVyYWwgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9ycy4iCittc2dzdHJbMF0gIkEoeikgJWQuIMOpcyAlZC4gcGFydMOtY2nDs2sgw6F0ZmVkaWsgZWd5bcOhc3QgJWQgc3pla3RvcnJhbC5cbiIKK21zZ3N0clsxXSAiQSh6KSAlZC4gw6lzICVkLiBwYXJ0w61jacOzayDDoXRmZWRpayBlZ3ltw6FzdCAlZCBzemVrdG9ycmFsLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjYzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3Rvcjogc2VjdG9yICU4dSIKK21zZ2lkX3BsdXJhbCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yczogc2VjdG9ycyAlOHUtJXUiCittc2dzdHJbMF0gIk5lbSBoYXN6bsOhbHQgJTh1IHN6ZWt0b3IgaG9zc3rDuiBow6l6YWcgLSBhKHopICU4dS0ldSBzemVrdG9yb2tcbiIKK21zZ3N0clsxXSAiTmVtIGhhc3puw6FsdCAlOHUgc3pla3RvciBob3NzesO6IGjDqXphZyAtIGEoeikgJTh1LSV1IHN6ZWt0b3Jva1xuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Njk4CisjLCBmdXp6eQorbXNnaWQgIlRoZSBib290IHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIiIKKyJcbiIKKyJBeiBpbmTDrXTDs3BhcnTDrWNpw7MgbmVtIGzDqXRlemlrLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzAyCisjLCBmdXp6eQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIiIKKyJcbiIKKyJBIGxhcG96w7NwYXJ0w61jacOzIG5lbSBsw6l0ZXppay5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwNgorIywgZnV6enkKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gaGFzIG5vIHN3YXAgdHlwZS4iCittc2dzdHIgIiIKKyJcbiIKKyJBIGxhcG96w7NwYXJ0w61jacOzIG5lbSBsYXBvesOzcGFydMOtY2nDsyB0w61wdXPDui5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwOQorIywgZnV6enkKK21zZ2lkICJZb3UgaGF2ZSBjaG9zZW4gYW4gdW51c3VhbCBib290ZmlsZSBuYW1lLiIKK21zZ3N0ciAiXHRTem9rYXRsYW4gaW5kw610w7Nmw6FqbCBuZXZldCB2w6FsYXN6dG90dC5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjc1OQorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4iCittc2dzdHIgIkVneW3DoXN0IMOhdGZlZMWRIHBhcnTDrWNpw7NrIHRhbMOhbGhhdMOzayBhIGxlbWV6ZW4uIEVsxZFzesO2ciBqYXbDrXRzYSBlenQga2khXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDQKKyMsIGZ1enp5Cittc2dpZCAiQXR0ZW1wdGluZyB0byBnZW5lcmF0ZSBlbnRpcmUgZGlzayBlbnRyeSBhdXRvbWF0aWNhbGx5LiIKK21zZ3N0ciAiS8Otc8OpcmxldCBhIHRlbGplcyBsZW1lemJlamVneXrDqXMgYXV0b21hdGlrdXMgZWzFkcOhbGzDrXTDoXPDoXJhLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQ5CisjLCBmdXp6eQorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBpcyBhbHJlYWR5IGNvdmVyZWQgd2l0aCBwYXJ0aXRpb25zLiIKK21zZ3N0ciAiQSBwYXJ0w61jacOzayBtw6FyIGxlZmVkaWsgYSB0ZWxqZXMgbGVtZXp0LlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODUzCisjLCBmdXp6eQorbXNnaWQgIllvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKK21zZ3N0ciAiRWd5bcOhc3Qgw6F0ZmVkxZEgcGFydMOtY2nDs2sgdGFsw6FsaGF0w7NrIGEgbGVtZXplbi4gRWzFkXN6w7ZyIGphdsOtdHNhIGV6dCBraSFcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg3NSBsaWJmZGlzay9zcmMvc3VuLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ICVzIgorbXNnc3RyICJFbHPFkSAlcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg5OSBsaWJmZGlzay9zcmMvc2dpLmM6OTQ5CisjLCBmdXp6eQorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBlbGV2ZW50aCBwYXJ0aXRpb24gY292ZXJzIHRoZSBlbnRpcmUgZGlzayBhbmQgaXMgb2YgdHlwZSAnU0dJIHZvbHVtZScuIgorbXNnc3RyICIiCisiRXLFkXNlbiBhasOhbmxvdHQsIGhvZ3kgYSAxMS4gcGFydMOtY2nDs1xuIgorImxlZmVkamUgYXogZWfDqXN6IGxlbWV6dCDDqXMgJ1NHSSBrw7Z0ZXQnIHTDrXB1c8O6IGxlZ3llbi5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjkxNCBsaWJmZGlzay9zcmMvc3VuLmM6NjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMYXN0ICVzIG9yICslcyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICJVdG9sc8OzICUxJHMsICslMiRzIHZhZ3kgK3NpemV7SyxNLEd9IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTg1IGxpYmZkaXNrL3NyYy9zdW4uYzoyNDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LiBUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLiIKK21zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhIEJMS0dFVFNJWmxFIGlvY3RsIG1lZ2hpw7pzdWx0IGEoeikgJXMgZXN6a8O2esO2bi4gQSh6KSAlZCBnZW9tZXRyaWEtY2lsaW5kZXLDqXJ0w6lrIGtlcsO8bCBmZWxoYXN6bsOhbMOhc3JhLiBFeiBheiDDqXJ0w6lrIGNzb25rw610w6FzcmEga2Vyw7xsaGV0IDMzLDggR0ItbsOhbCBuYWd5b2JiIGVzemvDtnrDtmvDtm4uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDUxCisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU0dJIGRpc2tsYWJlbC4iCittc2dzdHIgIiAgIHMgICDDumosIMO8cmVzIFN1biBsZW1lemPDrW1rZSBsw6l0cmVob3rDoXNhIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3MAorIywgZnV6enkKK21zZ2lkICJTb3JyeSwgb25seSBmb3Igbm9uLWVtcHR5IHBhcnRpdGlvbnMgeW91IGNhbiBjaGFuZ2UgdGhlIHRhZy4iCittc2dzdHIgIkVsbsOpesOpc3QsIGNzYWsgYSByZW5kc3plcmdhemRhIG3Ds2Rvc8OtdGhhdGphIGEgcmVuZHN6ZXLDs3LDoXQuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDc2CisjLCBmdXp6eQorbXNnaWQgIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDkgYXMgdm9sdW1lIGhlYWRlciAoMCksIGFuZCBwYXJ0aXRpb24gMTEgYXMgZW50aXJlIHZvbHVtZSAoNiksIGFzIElSSVggZXhwZWN0cyBpdC4iCittc2dzdHIgIiIKKyJGb250b2xqYSBtZWcgYSA5LWVzIHBhcnTDrWNpw7Mga8O2dGV0ZmVqbMOpY2vDqW50ICgwKSDDqXMgYSAxMS1lc1xuIgorInBhcnTDrWNpw7MgdGVsamVzIGvDtnRldGvDqW50ICg2KSB2YWzDsyBtZWdoYWd5w6Fzw6F0LCBhaG9neWFuIGF6IElSSVggZXp0IGVsdsOhcmphLlxuIgorIlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA4NQorIywgZnV6enkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwIGlzIG9mIHR5cGUgXCJTR0kgdm9saGRyXCIsIHRoZSBJUklYIHN5c3RlbSB3aWxsIHJlbHkgb24gaXQgdG8gcmV0cmlldmUgZnJvbSBpdHMgZGlyZWN0b3J5IHN0YW5kYWxvbmUgdG9vbHMgbGlrZSBzYXNoIGFuZCBmeC4gT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiBBcmUgeW91IHN1cmUgYWJvdXQgdGFnZ2luZyB0aGlzIHBhcnRpdGlvbiBkaWZmZXJlbnRseT8iCittc2dzdHIgIiIKKyJFcsWRc2VuIGFqw6FubG90dCwgaG9neSBhIDAgZWx0b2zDoXNuw6FsIHRhbMOhbGhhdMOzIHBhcnTDrWNpw7Mg4oCeU0dJIHZvbGhkcuKAnVxuIgorInTDrXB1c8O6IGxlZ3llbiwgYXogSVJJWCByZW5kc3plciBlcnJlIGZvZyBoYWd5YXRrb3puaSBhIGvDtm55dnTDoXJiw7NsXG4iCisiw7Zuw6FsbMOzIGVzemvDtnrDtmsgbGVrw6lyZGV6w6lza29yLCBtaW50IGEgc2FzaCDDqXMgYXogZnguXG4iCisiQ3NhayBheiDigJ5TR0kga8O2dGV04oCdIHRlbGplcyBsZW1lenN6YWthc3ogc8OpcnRoZXRpIGV6dCBtZWcuXG4iCisiw41yamEgYmUgYXogSUdFTiBzesOzdCwgaGEgYml6dG9zYW4gZWx0w6lyxZEgbcOzZG9uIGvDrXbDoW5qYSBjw61ta8Opem5pIGV6dCBhIHBhcnTDrWNpw7N0LlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDAKK21zZ2lkICJVbmFzc2lnbmVkIgorbXNnc3RyICJUw6Fyc8OtdGF0bGFuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDIKK21zZ2lkICJTdW5PUyByb290IgorbXNnc3RyICJTdW5PUyBnecO2a8OpciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzCittc2dpZCAiU3VuT1Mgc3dhcCIKK21zZ3N0ciAiU3VuT1MgbGFwb3rDsyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ0Cittc2dpZCAiU3VuT1MgdXNyIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NQorbXNnaWQgIldob2xlIGRpc2siCittc2dzdHIgIlRlbGplcyBsZW1leiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2Cittc2dpZCAiU3VuT1Mgc3RhbmQiCittc2dzdHIgIlN1bk9TIHN0YW5kIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyB2YXIiCittc2dzdHIgIlN1bk9TIHZhciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ4Cittc2dpZCAiU3VuT1MgaG9tZSIKK21zZ3N0ciAiU3VuT1MgaG9tZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ5Cittc2dpZCAiU3VuT1MgYWx0IHNlY3RvcnMiCittc2dzdHIgIlN1bk9TIGFsdCBzemVrdG9yb2siCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MAorbXNnaWQgIlN1bk9TIGNhY2hlZnMiCittc2dzdHIgIlN1bk9TIGNhY2hlZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MQorbXNnaWQgIlN1bk9TIHJlc2VydmVkIgorbXNnc3RyICJTdW5PUyBmZW5udGFydG90dCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEzNworIywgZnV6enkKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIFByb2JhYmx5IHlvdSdsbCBoYXZlIHRvIHNldCBhbGwgdGhlIHZhbHVlcywgZS5nLiBoZWFkcywgc2VjdG9ycywgY3lsaW5kZXJzIGFuZCBwYXJ0aXRpb25zIG9yIGZvcmNlIGEgZnJlc2ggbGFiZWwgKHMgY29tbWFuZCBpbiBtYWluIG1lbnUpIgorbXNnc3RyICIiCisiQSBTdW4gbGVtZXpjw61ta2UgZWxsZW7FkXJ6xZHDtnNzemVnZSBoaWLDoXMuXG4iCisiVmFsw7NzesOtbsWxbGVnIGJlIGtlbGwgw6FsbMOtdGFuaWEgbWluZGVuIMOpcnTDqWtldFxuIgorInDDqWxkw6F1bCBhIGZlamVrLCBzemVrdG9yb2ssIGNpbGluZGVyZWsgw6lzIHBhcnTDrWNpw7NrIHN6w6Ftw6F0XG4iCisidmFneSBrw6lzesOtdHNlbiDDumogY8OtbWvDqXQgKGEgZsWRIG1lbsO8ICdzJyBwYXJhbmNzw6F2YWwpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2ZXJzaW9uIFslZF0uIgorbXNnc3RyICJBIFN1biBsZW1lemPDrW1rZSB2ZXJ6acOzc3rDoW1hIGhpYsOhcyBbMHglMDh4XS5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2Muc2FuaXR5IFsweCUwOHhdLiIKK21zZ3N0ciAiQSBTdW4gbGVtZXpjw61ta2Ugw6FsbGFwb3RhIGhpYsOhcyBbMHglMDh4XS5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2MubnBhcnRzIFsldV0uIgorbXNnc3RyICJBIFN1biBsZW1lemPDrW1rZSBudW1fcGFydGl0aW9uc1sldV0gw6lydMOpa2UgaGliw6FzLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIldhcm5pbmc6IFdyb25nIHZhbHVlcyBuZWVkIHRvIGJlIGZpeGVkIHVwIGFuZCB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpIgorbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6IEEgaGliw6FzIMOpcnTDqWtla2V0IGphdsOtdGFuaSBrZWxsLCBleiBheiDDrXLDoXNrb3IgbWVndMO2cnTDqW5pa1xuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTkyCittc2dpZCAiSGVhZHMiCittc2dzdHIgIkZlamVrIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTk0Cittc2dpZCAiU2VjdG9ycy90cmFjayIKK21zZ3N0ciAiU8Ohdm9ua8OpbnRpIHN6ZWt0b3JvayIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjI5NworIywgZnV6enkKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorbXNnc3RyICIgICBzICAgw7pqLCDDvHJlcyBTdW4gbGVtZXpjw61ta2UgbMOpdHJlaG96w6FzYSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGRvZXNuJ3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiQSh6KSAlZC4gcGFydMOtY2nDsyBuZW0gY2lsaW5kZXJoYXTDoXJvbiB2w6lnesWRZGlrLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBvdGhlcnMgaW4gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIkEoeikgJWQuIHBhcnTDrWNpw7MgbcOhc29rYXQgZmVkIMOhdCBhKHopICVkLSVkIHN6ZWt0b3Jva2JhblxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAwLSV1LiIKK21zZ3N0ciAiTmVtIGhhc3puw6FsdCBow6l6YWcgYSAwLSVkIHN6ZWt0b3Jva29uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjUgbGliZmRpc2svc3JjL3N1bi5jOjQ3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICJOZW0gaGFzem7DoWx0IGjDqXphZyBhKHopICVkLSVkIHN6ZWt0b3Jva29uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MjgKKyMsIGZ1enp5Cittc2dpZCAiT3RoZXIgcGFydGl0aW9ucyBhbHJlYWR5IGNvdmVyIHRoZSB3aG9sZSBkaXNrLiBEZWxldGUgc29tZS9zaHJpbmsgdGhlbSBiZWZvcmUgcmV0cnkuIgorbXNnc3RyICIiCisiQSB0w7ZiYmkgcGFydMOtY2nDsyBtw6FyIGxlZmVkaSBhIHRlbGplcyBsZW1lenQuXG4iCisiVMO2csO2bGrDtm4gdmFneSB6c3Vnb3LDrXRzb24gw7Zzc3plIG7DqWjDoW55YXQgYXogw7pqcmFwcsOzYsOhbGtvesOhcyBlbMWRdHQuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlZCBpcyBhbHJlYWR5IGFsbG9jYXRlZCIKK21zZ3N0ciAiQSh6KSAlZC4gc3pla3RvciBtw6FyIGxlIHZhbiBmb2dsYWx2YVxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NjAwCisjLCBmdXp6eQorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSB0aGlyZCBwYXJ0aXRpb24gY292ZXJzIHRoZSB3aG9sZSBkaXNrIGFuZCBpcyBvZiB0eXBlIGBXaG9sZSBkaXNrJyIKK21zZ3N0ciAiIgorIkVyxZFzZW4gYWrDoW5sb3R0LCBob2d5IGEgMTEuIHBhcnTDrWNpw7NcbiIKKyJsZWZlZGplIGF6IGVnw6lzeiBsZW1lenQgw6lzICdTR0kga8O2dGV0JyB0w61wdXPDuiBsZWd5ZW4uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25pbmcgdGhlIGZpcnN0IHNlY3RvciBmcm9tICV1IHRvICV1IHRvIGJlIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Njg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmVuJ3QgY292ZXJlZCB0aGUgd2hvbGUgZGlzayB3aXRoIHRoZSAzcmQgcGFydGl0aW9uLCBidXQgeW91ciB2YWx1ZVxuIgorIiVsdSAlcyBjb3ZlcnMgc29tZSBvdGhlciBwYXJ0aXRpb24uIFlvdXIgZW50cnkgaGFzIGJlZW4gY2hhbmdlZFxuIgorInRvICVsdSAlcyIKK21zZ3N0ciAiIgorIk5lbSBmb2dsYWx0YSBsZSBhIHRlbGplcyBsZW1lenQgYSAzLiBwYXJ0w61jacOzdmFsLCBkZSBhKHopICVkICVzIMOpcnTDqWtcbiIKKyJsZWZvZ2xhbCBlZ3kgbcOhc2lrIHBhcnTDrWNpw7N0LiBBIGJlamVneXrDqXNlIG3Ds2Rvc8OtdHZhICVkICVzIMOpcnTDqWtyZS5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjcyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gU3VuT1MvU29sYXJpcyBjb21wYXRpYmlsaXR5LCBjb25zaWRlciBsZWF2aW5nIHRoaXMgcGFydGl0aW9uIGFzIFdob2xlIGRpc2sgKDUpLCBzdGFydGluZyBhdCAwLCB3aXRoICV1IHNlY3RvcnMiCittc2dzdHIgIiIKKyJIYSBmZW5uIGFrYXJqYSB0YXJ0YW5pIGEgU3VuT1MvU29sYXJpcyBrb21wYXRpYmlsaXTDoXN0LCBha2tvciBoYWd5amEgYVxuIgorInBhcnTDrWNpw7N0IHRlbGplcyBsZW1lemvDqW50ICg1KSwgYSAwLiBzemVrdG9ydMOzbCAldSBzemVrdG9ycmFsXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NTAKKyMsIGZ1enp5Cittc2dpZCAiTGFiZWwgSUQiCittc2dzdHIgImPDrW1rZTogJS4qc1xuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzU1CisjLCBmdXp6eQorbXNnaWQgIlZvbHVtZSBJRCIKK21zZ3N0ciAiS8O2dGV0OiA8JS02cz5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc2NQorIywgZnV6enkKK21zZ2lkICJBbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJBeiBhbHRlcm5hdMOtdiBjaWxpbmRlcmVrIHN6w6FtYSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg3MQorbXNnaWQgIk51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJBeiBhbHRlcm5hdMOtdiBjaWxpbmRlcmVrIHN6w6FtYSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg5NgorbXNnaWQgIkV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJDaWxpbmRlcmVua8OpbnRpIGV4dHJhIHN6ZWt0b3JvayIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjkyMAorbXNnaWQgIkludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICLDgXRyZW5kZXrDqXNpIHTDqW55ZXrFkSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk0NAorbXNnaWQgIlJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICJGb3Jnw6FzaSBzZWJlc3PDqWcgKHBlcmNlbmvDqW50aSBmb3JkdWxhdCkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5NjgKK21zZ2lkICJOdW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJBIGZpemlrYWkgY2lsaW5kZXJlayBzesOhbWEiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDM3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiAzIGFzIFdob2xlIGRpc2sgKDUpLFxuIgorImFzIFN1bk9TL1NvbGFyaXMgZXhwZWN0cyBpdCBhbmQgZXZlbiBMaW51eCBsaWtlcyBpdC5cbiIKK21zZ3N0ciAiIgorIkZvbnRvbGphIG1lZyBhIDMtYXMgcGFydMOtY2nDsyBlZ8Opc3ogbGVtZXprw6ludCAoNSkgaGFnecOhc8OhdFxuIgorIm1pdmVsIGEgU3VuT1MvU29sYXJpcyBlcnJlIHN6w6Ftw610IMOpcyBhIExpbnV4IGlzIGtlemVsaS5cbiIKKyJcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNDgKKyMsIGZ1enp5Cittc2dpZCAiIgorIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDBcbiIKKyJpcyBVRlMsIEVYVDJGUyBmaWxlc3lzdGVtIG9yIFN1bk9TIHN3YXAuIFB1dHRpbmcgTGludXggc3dhcFxuIgorInRoZXJlIG1heSBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlIGFuZCBib290YmxvY2suXG4iCisiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHRhZyB0aGUgcGFydGl0aW9uIGFzIExpbnV4IHN3YXA/IgorbXNnc3RyICIiCisiRXLFkXNlbiBhasOhbmxvdHQgYSAwIGVsdG9sw6FzbsOhbCB0YWzDoWxoYXTDsyBwYXJ0w61jacOzdCBVRlMsIEVYVDJGUyB2YWd5XG4iCisiU3VuT1MgbGFwb3rDsyBwYXJ0w61jacOzIHTDrXB1c8O6cmEgw6FsbMOtdGFuaS4gTGludXggbGFwb3rDs3BhcnTDrWNpw7NcbiIKKyJsw6l0cmVob3rDoXNha29yIG1lZ3NlbW1pc8O8bGhldCBhIHBhcnTDrWNpw7NzIHTDoWJsYSDDqXMgYXogaW5kw610w7NibG9ray5cbiIKKyLDjXJqYSBiZSBheiBJR0VOIHN6w7N0LCBoYSBhIHBhcnTDrWNpw7MgYml6dG9zYW4gODItZXMgKExpbnV4IGxhcG96w7MpXG4iCisidMOtcHVzw7ogbGVneWVuOiAiCisKKyM6IGxpYi9wYWdlci5jOjExMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FpdHBpZCBmYWlsZWQgKCVzKSIKK21zZ3N0ciAiYSBzZXR1aWQoKSBow612w6FzYSBtZWdoacO6c3VsdCIKKworIzogbGliL3BhdGguYzoyMDkgc3lzLXV0aWxzL2xzY3B1LmM6MTgxOAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY2FsbG9jYXRlIGNwdSBzZXQiCittc2dzdHIgIm5lbSBmb2dsYWxoYXTDsyBsZSBwdWZmZXJ0ZXLDvGxldCIKKworIzogbGliL3BhdGguYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdCAlcyIKK21zZ3N0ciAiYXogaWTFkXrDrXTDqXNmw6FqbCAoJXMpIG9sdmFzw6FzYSBtZWdoacO6c3VsdCIKKworIzogbGliL3BhdGguYzoyMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzayAlcyIKK21zZ3N0ciAiYXogaWTFkXrDrXTDqXNmw6FqbCAoJXMpIG9sdmFzw6FzYSBtZWdoacO6c3VsdCIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MgorIywgZnV6enkKK21zZ2lkICJjYW4gbm90IG9wZW4gVU5JWCBzb2NrZXQiCittc2dzdHIgImEoeikgJXMgbmVtIG55aXRoYXTDsyBtZWciCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzgKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG5vdCBzZXQgb3B0aW9uIGZvciBVTklYIHNvY2tldCIKK21zZ3N0ciAiTmVtIGvDqXJoZXTFkSBsZSBhKHopICVzIGlkxZFrb3Jsw6F0amE6ICVzXG4iCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG5vdCBjb25uZWN0IG9uIFVOSVggc29ja2V0IgorbXNnc3RyICJhKHopICVzIG5lbSBueWl0aGF0w7MgbWVnIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGx5bW91dGggcmVxdWVzdCAlYyBpcyBub3QgaW1wbGVtZW50ZWQiCittc2dzdHIgIiIKKworIzogbGliL3JhbmR1dGlscy5jOjEzNgorbXNnaWQgImxpYmMgcHNldWRvLXJhbmRvbSBmdW5jdGlvbnMiCittc2dzdHIgIiIKKworIzogbGliL3N3YXBwcm9iZXIuYzoxNyBsaWIvc3dhcHByb2Jlci5jOjMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHByb2JlIGRldmljZSIKK21zZ3N0ciAibmVtIGxlaGV0IHZpc3N6YcOhbGzDrXRhbmkgYSBsYXBvesOzdGVyw7xsZXQtZXN6a8O2enQiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYmlndW91cyBwcm9iaW5nIHJlc3VsdDsgdXNlIHdpcGVmcyg4KSIKK21zZ3N0ciAiIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgdmFsaWQgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIiVzOiBuaW5jcyBpbHllbiBwYXJ0w61jacOzXG4iCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6NDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bnN1cHBvcnRlZCBzd2FwIHZlcnNpb24gJyVzJyIKK21zZ3N0ciAiTmVtIHTDoW1vZ2F0b3R0IHV0w7N0YWc6IOKAniVz4oCdLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTAgbG9naW4tdXRpbHMvY2hzaC5jOjY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+XVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiBuYW1laSBbLW14XSDDunR2b25hbCBbw7p0dm9uYWwgLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHlvdXIgZmluZ2VyIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIlcyBmaW5nZXIgaW5mb3Jtw6FjacOzaW5hayBtZWd2w6FsdG96dGF0w6FzYS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk2Cittc2dpZCAiIC1mLCAtLWZ1bGwtbmFtZSA8ZnVsbC1uYW1lPiAgcmVhbCBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk3Cittc2dpZCAiIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICAgb2ZmaWNlIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tb2ZmaWNlLXBob25lIDxwaG9uZT4gICBvZmZpY2UgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiIKKyJbIC1wIGlyb2RhaV9zesOhbSBdXG4iCisiXHRbIC1oIG90dGhvbmlfc3rDoW0gXSAiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OQorbXNnaWQgIiAtaCwgLS1ob21lLXBob25lIDxwaG9uZT4gICAgIGhvbWUgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwMSBsb2dpbi11dGlscy9jaHNoLmM6NzgKK21zZ2lkICIgLXUsIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmaWVsZCAlcyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiYSBtZXrFkSB0w7psIGhvc3N6w7ouXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMjEgbG9naW4tdXRpbHMvY2hzaC5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaGFzIGlsbGVnYWwgY2hhcmFjdGVycyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTUwIGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE2MgorIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbi5kZWZzIGZvcmJpZHMgc2V0dGluZyAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTggbG9naW4tdXRpbHMvY2hmbi5jOjMwOQorIywgZnV6enkKK21zZ2lkICJPZmZpY2UiCittc2dzdHIgIklyb2RhIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjQgbG9naW4tdXRpbHMvY2hmbi5jOjMxMQorbXNnaWQgIk9mZmljZSBQaG9uZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTY4IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzAgbG9naW4tdXRpbHMvY2hmbi5jOjMxMworIywgZnV6enkKK21zZ2lkICJIb21lIFBob25lIgorbXNnc3RyICJPdHRob25pIHRlbGVmb24iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyMzMKKyMsIGZ1enp5Cittc2dpZCAiQWJvcnRlZC4iCittc2dzdHIgIiIKKyJcbiIKKyJNZWdzemFrw610dmEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgaGFzIHVuZXhwZWN0ZWQgdmFsdWU6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgZG9lcyBub3QgYWxsb3cgYW55IGNoYW5nZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci5cbiIKK21zZ3N0ciAiQSBmaW5nZXIgaW5mb3Jtw6FjacOzayAqTkVNKiB2w6FsdG96dGFrLiBQcsOzYsOhbGphIG1lZyDDumpyYSBrw6lzxZFiYi5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gY2hhbmdlZC5cbiIKK21zZ3N0ciAiQSBmaW5nZXIgaW5mb3Jtw6FjacOzayBtZWd2w6FsdG96dGFrLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDA4IGxvZ2luLXV0aWxzL2Noc2guYzoyNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInlvdSAodXNlciAlZCkgZG9uJ3QgZXhpc3QuIgorbXNnc3RyICIlczogYSh6KSAlZCBhem9ub3PDrXTDs2rDuiBmZWxoYXN6bsOhbMOzIG5lbSBsw6l0ZXppay5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQxNCBsb2dpbi11dGlscy9jaHNoLmM6MjQ4IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXNlciBcIiVzXCIgZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICIlczogYSh6KSDigJ4lc+KAnSBmZWxoYXN6bsOhbMOzIG5lbSBsw6l0ZXppay5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQyMCBsb2dpbi11dGlscy9jaHNoLmM6MjU0CisjLCBmdXp6eQorbXNnaWQgImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzIgorbXNnc3RyICIlczogY3NhayBoZWx5aSBiZWplZ3l6w6lzZWsgbcOzZG9zw610aGF0w7NrLCBoYXN6bsOhbGphIGlua8OhYmIgYXogeXAlcyBsZWhldMWRc8OpZ2V0LlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIGZpbmdlciBpbmZvIG9mICVzIgorbXNnc3RyICIlczogJXMgbmluY3MgZmVsaGF0YWxtYXp2YSAlcyBmaW5nZXIgaW5mb3Jtw6FjacOzaW5hayBtw7Nkb3PDrXTDoXPDoXJhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzUgbG9naW4tdXRpbHMvY2hzaC5jOjI3MAorbXNnaWQgIlVua25vd24gdXNlciBjb250ZXh0IgorbXNnc3RyICJpc21lcmV0bGVuIGZlbGhhc3puw6Fsw7NpIGtvbnRleHR1cyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ0MSBsb2dpbi11dGlscy9jaHNoLmM6Mjc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiJXM6IE5lbSDDoWxsw610aGF0w7MgYmUgYXogL2V0Yy9wYXNzd2QgYWxhcMOpcnRlbG1lemV0dCBrb250ZXh0dXNhIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDUyCisjLCBmdXp6eQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiIKKyIlczogQXogYWt0dcOhbGlzIGZlbGhhc3puw6Fsw7MgYXpvbm9zw610w7NqYSAoVUlEKSBuZW0gZWd5ZXppayBhIG3Ds2Rvc8OtdGFuZMOzXG4iCisiZmVsaGFzem7DoWzDsyBhem9ub3PDrXTDs2rDoXZhbCwgYSBtw7Nkb3PDrXTDoXMgbWVndGFnYWR2YVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIGZpbmdlciBpbmZvcm1hdGlvbiBmb3IgJXMuXG4iCittc2dzdHIgIiVzIGZpbmdlciBpbmZvcm3DoWNpw7NpbmFrIG1lZ3bDoWx0b3p0YXTDoXNhLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBub3QgY2hhbmdlZC5cbiIKK21zZ3N0ciAiQSBmaW5nZXIgaW5mb3Jtw6FjacOzayBuZW0gdsOhbHRvenRhay5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjcyCisjLCBmdXp6eQorbXNnaWQgIkNoYW5nZSB5b3VyIGxvZ2luIHNoZWxsLlxuIgorbXNnc3RyICIlcyBwYXJhbmNzw6lydGVsbWV6xZFqw6luZWsgbWVndsOhbHRvenRhdMOhc2EuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgc3BlY2lmeSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIiCisiICAtcywgLS1zaGVsbD1wYXJhbmNzw6lydGVsbWV6xZEgICAgIEEgcGFyYW5jc8OpcnRlbG1lesWRIGlkw6l6w6lzaSBtZWfDoWxsYXBvZMOhc2FpbmFrXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlw6FsbMOtdMOhc2FcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc2Cittc2dpZCAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIHByaW50IGxpc3Qgb2Ygc2hlbGxzIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjEwMAorIywgZnV6enkKK21zZ2lkICJObyBrbm93biBzaGVsbHMuIgorbXNnc3RyICJOaW5jc2VuZWsgaXNtZXJ0IHBhcmFuY3PDqXJ0ZWxtZXrFkWsuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDAKKyMsIGZ1enp5Cittc2dpZCAic2hlbGwgbXVzdCBiZSBhIGZ1bGwgcGF0aCBuYW1lIgorbXNnc3RyICIlczogQSBwYXJhbmNzw6lydGVsbWV6xZEgdGVsamVzIGVsw6lyw6lzaSDDunRqw6F0IG1lZyBrZWxsIGFkbmlhLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiVzOiDigJ4lc+KAnSBuZW0gbMOpdGV6aWsuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBpcyBub3QgZXhlY3V0YWJsZSIKK21zZ3N0ciAiJXM6IOKAniVz4oCdIG5lbSBmdXR0YXRoYXTDsy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuIgorbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6IGF6IC9ldGMvc2hlbGxzIGbDoWpsIG5lbSB0YXJ0YWxtYXp6YSBhIGvDtnZldGtlesWRdDog4oCeJXPigJ1cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIxNCBsb2dpbi11dGlscy9jaHNoLmM6MjE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuXG4iCisiVXNlICVzIC1sIHRvIHNlZSBsaXN0LiIKK21zZ3N0ciAiJXM6IGEoeikg4oCeJXPigJ0gaGnDoW55emlrIGF6IC9ldGMvc2hlbGxzIGbDoWpsYsOzbC5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBzaGVsbCBvZiAlcyIKK21zZ3N0ciAiJXM6ICVzIG5lbSBqb2dvc3VsdCAlcyBwYXJhbmNzw6lydGVsbWV6xZFqw6luZWsgbcOzZG9zw610w6Fzw6FyYVxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6Mjk1CisjLCBmdXp6eQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiIKKyIlczogQXogYWt0dcOhbGlzIGZlbGhhc3puw6Fsw7MgYXpvbm9zw610w7NqYSAoVUlEKSBuZW0gZWd5ZXppayBhIG3Ds2Rvc8OtdGFuZMOzXG4iCisiZmVsaGFzem7DoWzDsyBhem9ub3PDrXTDs2rDoXZhbCwgYSBtw7Nkb3PDrXTDoXMgbWVndGFnYWR2YVxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIHNoZWxsIGlzIG5vdCBpbiAlcywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiIgorIiVzOiBBIHBhcmFuY3PDqXJ0ZWxtZXrFkWplIGhpw6FueXppayBheiAvZXRjL3NoZWxscyBmw6FqbGLDs2wsIGFcbiIKKyJwYXJhbmNzw6lydGVsbWV6xZEgbcOzZG9zw610w6FzYSBtZWd0YWdhZHZhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgc2hlbGwgZm9yICVzLlxuIgorbXNnc3RyICIlcyBwYXJhbmNzw6lydGVsbWV6xZFqw6luZWsgbWVndsOhbHRvenRhdMOhc2EuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMTIKK21zZ2lkICJOZXcgc2hlbGwiCittc2dzdHIgIsOaaiBwYXJhbmNzw6lydGVsbWV6xZEiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjAKKyMsIGZ1enp5Cittc2dpZCAiU2hlbGwgbm90IGNoYW5nZWQuIgorbXNnc3RyICJBIHBhcmFuY3PDqXJ0ZWxtZXrFkSBuZW0gdsOhbHRvem90dC5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyNQorIywgZnV6enkKK21zZ2lkICJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiQSBwYXJhbmNzw6lydGVsbWV6xZEgKk5FTSogdsOhbHRvem90dC4gUHLDs2LDoWxqYSDDumpyYSBrw6lzxZFiYi5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyOQorIywgZnV6enkKK21zZ2lkICIiCisic2V0cHduYW0gZmFpbGVkXG4iCisiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIkEgcGFyYW5jc8OpcnRlbG1lesWRICpORU0qIHbDoWx0b3pvdHQuIFByw7Niw6FsamEgw7pqcmEga8Opc8WRYmIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hlbGwgY2hhbmdlZC5cbiIKK21zZ3N0ciAiQSBwYXJhbmNzw6lydGVsbWV6xZEgbWVndsOhbHRvem90dC5cbiIKKworIzogbG9naW4tdXRpbHMvaXNsb2NhbC5jOjk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgPHBhc3N3b3JkZmlsZT4gPHVzZXJuYW1lPi4uLlxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBbZsOhamxdXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoxNzQgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjIwIHN5cy11dGlscy9kbWVzZy5jOjExOTMKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB0aW1lIGZvcm1hdDogJXMiCittc2dzdHIgIiVzOiBJc21lcmV0bGVuIHBhcmFuY3M6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyODEgbG9naW4tdXRpbHMvbGFzdC5jOjI4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW50ZXJydXB0ZWQgJXMiCittc2dzdHIgIiIKKyJcbiIKKyJtZWdzemFrw610dmE6ICUxMC4xMHMgJTUuNXNcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjQzOSBsb2dpbi11dGlscy9sYXN0LmM6NDUwCittc2dpZCAicHJlYWxsb2NhdGlvbiBzaXplIGV4Y2VlZGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT4uLi5dIFs8dHR5Pi4uLl1cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogbmFtZWkgWy1teF0gw7p0dm9uYWwgW8O6dHZvbmFsIC4uLl1cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3MgorbXNnaWQgIlNob3cgYSBsaXN0aW5nIG9mIGxhc3QgbG9nZ2VkIGluIHVzZXJzLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzUKK21zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzYKK21zZ2lkICIgLWEsIC0taG9zdGxhc3QgICAgICAgZGlzcGxheSBob3N0bmFtZXMgaW4gdGhlIGxhc3QgY29sdW1uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NworbXNnaWQgIiAtZCwgLS1kbnMgICAgICAgICAgICB0cmFuc2xhdGUgdGhlIElQIG51bWJlciBiYWNrIGludG8gYSBob3N0bmFtZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgIHVzZSBhIHNwZWNpZmljIGZpbGUgaW5zdGVhZCBvZiAlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODAKK21zZ2lkICIgLUYsIC0tZnVsbHRpbWVzICAgICAgcHJpbnQgZnVsbCBsb2dpbiBhbmQgbG9nb3V0IHRpbWVzIGFuZCBkYXRlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODEKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlwICAgICAgICAgICAgIGRpc3BsYXkgSVAgbnVtYmVycyBpbiBudW1iZXJzLWFuZC1kb3RzIG5vdGF0aW9uXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODIKK21zZ2lkICIgLW4sIC0tbGltaXQgPG51bWJlcj4gaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODMKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIGRvbid0IGRpc3BsYXkgdGhlIGhvc3RuYW1lIGZpZWxkXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBBIHBhcnTDrWNpw7NzIHTDoWJsYSBracOtcsOhc2EgYSBrw6lwZXJuecWRcmUgdmFneSBmw6FqbGJhIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg0Cittc2dpZCAiIC1zLCAtLXNpbmNlIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHNpbmNlIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODUKK21zZ2lkICIgLXQsIC0tdW50aWwgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgdW50aWwgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NgorbXNnaWQgIiAtcCwgLS1wcmVzZW50IDx0aW1lPiBkaXNwbGF5IHdobyB3ZXJlIHByZXNlbnQgYXQgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NworIywgZnV6enkKK21zZ2lkICIgLXcsIC0tZnVsbG5hbWVzICAgICAgZGlzcGxheSBmdWxsIHVzZXIgYW5kIGRvbWFpbiBuYW1lc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg4Cittc2dpZCAiIC14LCAtLXN5c3RlbSAgICAgICAgIGRpc3BsYXkgc3lzdGVtIHNodXRkb3duIGVudHJpZXMgYW5kIHJ1biBsZXZlbCBjaGFuZ2VzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OQorbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wcyBpbiB0aGUgc3BlY2lmaWVkIDxmb3JtYXQ+OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpbWV8c2hvcnR8ZnVsbHxpc29cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6ODgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXMgYmVnaW5zICVzIgorbXNnc3RyICIiCisiXG4iCisid3RtcCBrZXpkZXRlOiAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk1NiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY0CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIiCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NzcgbG9naW4tdXRpbHMvbGFzdC5jOjk4MiBsb2dpbi11dGlscy9sYXN0LmM6OTg3CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lIHZhbHVlIFwiJXNcIiIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzoyOSBsb2dpbi11dGlscy9saWJ1c2VyLmM6MzEKK21zZ2lkICJDb3VsZG4ndCBkcm9wIGdyb3VwIHByaXZpbGVnZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJsaWJ1c2VyIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJXMuIgorbXNnc3RyICJoaWJhOiBheiBVVUlEIGZlbGRvbGdvesOhcyBtZWdoacO6c3VsdCIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjUyCisjLCBmdXp6eQorbXNnaWQgImNoYW5naW5nIHVzZXIgYXR0cmlidXRlIGZhaWxlZCIKK21zZ3N0ciAibGVmb2dsYWx0IHN6ZW1hZm9yb2sgPSAlZFxuIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICV1IGlzIDYwLgorIzogbG9naW4tdXRpbHMvbG9naW4uYzoxODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRpbWVkIG91dCBhZnRlciAldSBzZWNvbmRzIgorbXNnc3RyICJBIGJlamVsZW50a2V6w6lzICVkIG3DoXNvZHBlcmMgdXTDoW4gdMO6bGzDqXB0ZSBheiBpZMWRa29ybMOhdG90XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogY2FuJ3QgcmVvcGVuIHR0eTogJW0iCittc2dzdHIgIlbDiUdaRVRFUzogbmVtIG55aXRoYXTDsyBtZWcgw7pqcmEgYSB0ZXJtaW7DoWw6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzIGlzIG5vdCBhIHRlcm1pbmFsIgorbXNnc3RyICIlcyBuZW0gc29yb3Mgdm9uYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaG93biAoJXMsICVsdSwgJWx1KSBmYWlsZWQ6ICVtIgorbXNnc3RyICJhIGNob3duIG1lZ2hpw7pzdWx0OiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNobW9kICglcywgJXUpIGZhaWxlZDogJW0iCittc2dzdHIgIi9kZXY6IGEgY2hkaXIoKSBtZWdoacO6c3VsdDogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mzc1Cittc2dpZCAiRkFUQUw6IGJhZCB0dHkiCittc2dzdHIgIlbDiUdaRVRFUzogaGliw6FzIHRlcm1pbsOhbCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzOiBjaGFuZ2UgcGVybWlzc2lvbnMgZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGxvZ2luOiAlLipzICIKK21zZ3N0ciAiVXRvbHPDsyBiZWplbGVudGtlesOpczogJS4qcyAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTMxCisjLCBjLWZvcm1hdAorbXNnaWQgImZyb20gJS4qc1xuIgorbXNnc3RyICJlcnLFkWw6ICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAib24gJS4qc1xuIgorbXNnc3RyICJlemVuOiAlLipzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTUyCisjLCBmdXp6eQorbXNnaWQgIndyaXRlIGxhc3Rsb2cgZmFpbGVkIgorbXNnc3RyICJhIHN6YWJ2w6FueW9zIGtpbWVuZXRyZSDDrXLDoXMgbWVnaGnDunN1bHQiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRJQUxVUCBBVCAlcyBCWSAlcyIKK21zZ3N0ciAiQkVIw41Ww4FTIEVaRU46ICVzIEEgS8OWVkVUS0VaxZBUxZBMOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyBGUk9NICVzIgorbXNnc3RyICJST09UIEJFSkVMRU5US0Vaw4lTIEVaRU46ICVzIEEgS8OWVkVUS0VaxZBSxZBMOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyIKK21zZ3N0ciAiUk9PVCBCRUpFTEVOVEtFWsOJUyBFWkVOOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTE9HSU4gT04gJXMgQlkgJXMgRlJPTSAlcyIKK21zZ3N0ciAiQkVKRUxFTlRLRVrDiVMgRVpFTjogJXMgJXMgRkVMSEFTWk7DgUzDk1TDk0wgQSBLw5ZWRVRLRVrFkFLFkEw6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyIKK21zZ3N0ciAiQkVKRUxFTlRLRVrDiVMgRVpFTjogJXMgJXMgRkVMSEFTWk7DgUzDk1TDk0wiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE5Cittc2dpZCAibG9naW46ICIKK21zZ3N0ciAiZmVsaGFzem7DoWzDs27DqXY6ICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCittc2dzdHIgIiVzOiBqZWxzesOzLWhpdGVsZXPDrXTDqXNpIChQQU0pIGhpYmEsIG1lZ3N6YWvDrXR2YTogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGRuJ3QgaW5pdGlhbGl6ZSBQQU06ICVzIgorbXNnc3RyICJBIGplbHN6w7MtaGl0ZWxlc8OtdMOpcyAoUEFNKSBuZW0gaW5pY2lhbGl6w6FsaGF0w7M6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOICV1IEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiJWQgU0lLRVJURUxFTiBCRUpFTEVOVEtFWsOJUyBFUlLFkEw6ICVzIEEgS8OWVkVUS0VaxZBLw4lOVDogJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgyNSBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTG9naW4gaW5jb3JyZWN0XG4iCisiXG4iCittc2dzdHIgIiIKKyJBIGJlamVsZW50a2V6w6lzIG1lZ2hpw7pzdWx0XG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUT08gTUFOWSBMT0dJTiBUUklFUyAoJXUpIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiVMOaTCBTT0sgQkVKRUxFTlRLRVrDiVNJIEvDjVPDiVJMRVQgKCVkKSBFUlLFkEw6ICVzIEEgS8OWVkVUS0VaxZBLw4lOVDogJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg0NgorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gU0VTU0lPTiBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIkEgTVVOS0FNRU5FVEJFIEJFSkVMRU5US0Vaw4lTIE1FR0hJw5pTVUxUIEVSUsWQTDogJXMgQSBLw5ZWRVRLRVrFkEvDiU5UOiAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKK21zZ3N0ciAiIgorIlxuIgorIkEgYmVqZWxlbnRrZXrDqXMgbWVnaGnDunN1bHRcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4ODIgbG9naW4tdXRpbHMvbG9naW4uYzoxMjMyIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI1NQorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiBzZXR1cCBwcm9ibGVtLCBhYm9ydC4iCittc2dzdHIgIiIKKyJcbiIKKyJNdW5rYW1lbmV0LWJlw6FsbMOtdMOhc2kgcHJvYmzDqW1hLCBtZWdzemFrw610dmEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODgzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTEwgdXNlciBuYW1lIGluICVzOiVkLiBBYm9ydC4iCittc2dzdHIgIsOccmVzIGZlbGhhc3puw6Fsw7Nuw6l2IGEga8O2dmV0a2V6xZFiZW46ICVzOiVkLiBNZWdzemFrw610dmEuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVElPQ1NDVFRZIGZhaWxlZDogJW0iCittc2dzdHIgIlRJT0NTQ1RUWSBtZWdoacO6c3VsdDogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibG9naW46IC1oIGlzIGZvciBzdXBlcnVzZXIgb25seVxuIgorbXNnc3RyICJsb2dpbjogYSAtaCBjc2FrIHJlbmRzemVyZ2F6ZGFrw6ludCDDqXJoZXTFkSBlbC5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogbG9naW4gWy1wXSBbLWggPGhvc3Q+XSBbLUhdIFtbLWZdIDx1c2VybmFtZT5dXG4iCittc2dzdHIgIkhhc3puw6FsYXQ6IGxhc3QgWy0jXSBbLWYgZsOhamxdIFstdCB0ZXJtaW7DoWxdIFstaCBnw6lwbsOpdl0gW2ZlbGhhc3puw6Fsw7MgLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExOTEKKyMsIGZ1enp5Cittc2dpZCAiQmVnaW4gYSBzZXNzaW9uIG9uIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIsOBcm55w6lramVsc3phdmFrYXQgaGFzem7DoWwgYSByZW5kc3plcmVuLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB1c2VyIG5hbWUgXCIlc1wiIGluICVzOiVkLiBBYm9ydC4iCittc2dzdHIgIsOJcnbDqW55dGVsZW4gZmVsaGFzem7DoWzDs27DqXYgKOKAniVz4oCdKSBhIGvDtnZldGtlesWRYmVuOiAlczolZC4gTWVnc3pha8OtdHZhLiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJncm91cHMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiaGliYTogYXogVVVJRCBmZWxkb2xnb3rDoXMgbWVnaGnDunN1bHQiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI3OQorIywgZnV6enkKK21zZ2lkICJzZXRnaWQoKSBmYWlsZWQiCittc2dzdHIgImEgc2V0dWlkKCkgaMOtdsOhc2EgbWVnaGnDunN1bHQiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMwOQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBuZXcgbWFpbC5cbiIKK21zZ3N0ciAiw5pqIGxldmVsZSDDqXJrZXpldHQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMxMQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBtYWlsLlxuIgorbXNnc3RyICJMZXZlbGUgdmFuLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMjUKK21zZ2lkICJzZXR1aWQoKSBmYWlsZWQiCittc2dzdHIgImEgc2V0dWlkKCkgaMOtdsOhc2EgbWVnaGnDunN1bHQiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzMSBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2hhbmdlIGRpcmVjdG9yeSBmYWlsZWQiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgbWVnaGnDunN1bHQiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzOCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2dpbmcgaW4gd2l0aCBob21lID0gXCIvXCIuXG4iCittc2dzdHIgIkJlamVsZW50a2V6w6lzIGEg4oCeL+KAnSBzYWrDoXQga8O2bnl2dMOhcnJhbC5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzY3CisjLCBmdXp6eQorbXNnaWQgImNvdWxkbid0IGV4ZWMgc2hlbGwgc2NyaXB0IgorbXNnc3RyICJsb2dpbjogYSBwYXJhbmNzZsOhamwgbmVtIGZ1dHRhdGhhdMOzOiAlcy5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzY5CisjLCBmdXp6eQorbXNnaWQgIm5vIHNoZWxsIgorbXNnc3RyICJOaW5jcyBwYXJhbmNzw6lydGVsbWV6xZEiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjIwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGNvbnRhaW5zIGludmFsaWQgbnVtZXJpY2FsIHZhbHVlOiAlcyIKK21zZ3N0ciAiw4lydsOpbnl0ZWxlbiBpZMWRa29ybMOhdMOpcnTDqWs6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjM3NQorbXNnaWQgImh1c2ggbG9naW4gc3RhdHVzOiByZXN0b3JlIG9yaWdpbmFsIElEcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDggc3lzLXV0aWxzL2xzY3B1LmM6MTU0MCBzeXMtdXRpbHMvbHNjcHUuYzoxNTUwCittc2dpZCAibm8iCittc2dzdHIgIm5lbSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcgbWlzYy11dGlscy9sc2Jsay5jOjE4MQorIywgZnV6enkKK21zZ2lkICJ1c2VyIG5hbWUiCittc2dzdHIgIsOJcnbDqW55dGVsZW4gZmVsaGFzem7DoWzDs27DqXYiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3CisjLCBmdXp6eQorbXNnaWQgIlVzZXJuYW1lIgorbXNnc3RyICLDiXJ2w6lueXRlbGVuIGZlbGhhc3puw6Fsw7Nuw6l2IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOCBzeXMtdXRpbHMvcmVuaWNlLmM6NTQKKyMsIGZ1enp5Cittc2dpZCAidXNlciBJRCIKK21zZ3N0ciAiZmVsaGFzem7DoWzDsyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKKyMsIGZ1enp5Cittc2dpZCAicGFzc3dvcmQgbm90IHJlcXVpcmVkIgorbXNnc3RyICJKZWxzesOzOiAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE5CisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAiSmVsc3rDszogIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorIywgZnV6enkKK21zZ2lkICJsb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAiJXM6IGEgamVsc3rDs2bDoWpsIGZvZ2xhbHQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCisjLCBmdXp6eQorbXNnaWQgIkxvZ2luIGJ5IHBhc3N3b3JkIGRpc2FibGVkIgorbXNnc3RyICIlczogYSBqZWxzesOzZsOhamwgZm9nbGFsdC5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKK21zZ2lkICJwYXNzd29yZCBkZWZpbmVkLCBidXQgbG9ja2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIGlzIGxvY2tlZCIKK21zZ3N0ciAiSmVsc3rDszogIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorbXNnaWQgImxvZyBpbiBkaXNhYmxlZCBieSBub2xvZ2luKDgpIG9yIHBhbV9ub2xvZ2luKDgpIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCisjLCBmdXp6eQorbXNnaWQgIk5vIGxvZ2luIgorbXNnc3RyICJmZWxoYXN6bsOhbMOzbsOpdjogIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgInByaW1hcnkgZ3JvdXAgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworIywgZnV6enkKK21zZ2lkICJQcmltYXJ5IGdyb3VwIgorbXNnc3RyICJFbHPFkWRsZWdlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjQKK21zZ2lkICJwcmltYXJ5IGdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworIywgZnV6enkKK21zZ2lkICJob21lIGRpcmVjdG9yeSIKK21zZ3N0ciAiTmluY3MgJXMgbmV2xbEga8O2bnl2dMOhciFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKKyMsIGZ1enp5Cittc2dpZCAiSG9tZSBkaXJlY3RvcnkiCittc2dzdHIgIk5pbmNzICVzIG5ldsWxIGvDtm55dnTDoXIhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4CisjLCBmdXp6eQorbXNnaWQgImxvZ2luIHNoZWxsIgorbXNnc3RyICJOaW5jcyBwYXJhbmNzw6lydGVsbWV6xZEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4CisjLCBmdXp6eQorbXNnaWQgIlNoZWxsIgorbXNnc3RyICJOaW5jcyBwYXJhbmNzw6lydGVsbWV6xZEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5CisjLCBmdXp6eQorbXNnaWQgImZ1bGwgdXNlciBuYW1lIgorbXNnc3RyICLDiXJ2w6lueXRlbGVuIGZlbGhhc3puw6Fsw7Nuw6l2IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgIkdlY29zIGZpZWxkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCisjLCBmdXp6eQorbXNnaWQgImRhdGUgb2YgbGFzdCBsb2dpbiIKK21zZ3N0ciAiYXogZWxzxZEgc29yIHV0w6FuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorIywgZnV6enkKK21zZ2lkICJMYXN0IGxvZ2luIgorbXNnc3RyICJVdG9sc8OzIGJlamVsZW50a2V6w6lzOiAlLipzICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJsYXN0IHR0eSB1c2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCisjLCBmdXp6eQorbXNnaWQgIkxhc3QgdGVybWluYWwiCittc2dzdHIgIiVzIG5lbSBzb3JvcyB2b25hbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJob3N0bmFtZSBkdXJpbmcgdGhlIGxhc3Qgc2Vzc2lvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorIywgZnV6enkKK21zZ2lkICJMYXN0IGhvc3RuYW1lIgorbXNnc3RyICJsYXN0OiBnw6lwbsOpdiBmZWxvbGTDoXNhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworIywgZnV6enkKK21zZ2lkICJkYXRlIG9mIGxhc3QgZmFpbGVkIGxvZ2luIgorbXNnc3RyICJheiBsc3RhdCB2w6lncmVoYWp0w6FzYSBheiBlbMOpcsOpc2kgw7p0b24gbWVnaGnDunN1bHRcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJGYWlsZWQgbG9naW4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKKyMsIGZ1enp5Cittc2dpZCAid2hlcmUgZGlkIHRoZSBsb2dpbiBmYWlsPyIKK21zZ3N0ciAiYSBzemFidsOhbnlvcyBraW1lbmV0cmUgw61yw6FzIG1lZ2hpw7pzdWx0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgbG9naW4gdGVybWluYWwiCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAidXNlcidzIGh1c2ggc2V0dGluZ3MiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJIdXNoZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzYKK21zZ2lkICJkYXlzIHVzZXIgaXMgd2FybmVkIG9mIHBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzYKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIHdhcm4gaW50ZXJ2YWwiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzcKK21zZ2lkICJwYXNzd29yZCBleHBpcmF0aW9uIGRhdGUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAiSmVsc3rDszogIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorbXNnaWQgImRhdGUgb2YgbGFzdCBwYXNzd29yZCBjaGFuZ2UiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiUGFzc3dvcmQgY2hhbmdlZCIKK21zZ3N0ciAiSmVsc3rDszogIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIm51bWJlciBvZiBkYXlzIHJlcXVpcmVkIGJldHdlZW4gY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorIywgZnV6enkKK21zZ2lkICJNaW5pbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICIlczogbmVtIHTDtnJ0w6ludCB2w6FsdG96w6FzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAibWF4IG51bWJlciBvZiBkYXlzIGEgcGFzc3dvcmQgbWF5IHJlbWFpbiB1bmNoYW5nZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKKyMsIGZ1enp5Cittc2dpZCAiTWF4aW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAiQSBzemVtw6lseWlzw6lnIGJlw6FsbMOtdMOhc2EgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJ0aGUgdXNlcidzIHNlY3VyaXR5IGNvbnRleHQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKKyMsIGZ1enp5Cittc2dpZCAiU2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJMaW51eCBlZ3lzemVyxbEgc3rDtnZlZyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBydW4gYnkgdGhlIHVzZXIiCittc2dzdHIgInN6ZWdtZW5zZWsgbWF4aW3DoWxpcyBzesOhbWEgPSAlbHVcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAiUnVubmluZyBwcm9jZXNzZXMiCittc2dzdHIgIiVzOiBhKHopIOKAniVz4oCdIGZvbHlhbWF0IG5lbSB0YWzDoWxoYXTDs1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzYgbWlzYy11dGlscy9sc2Jsay5jOjIzMQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGNvbHVtbnMgc3BlY2lmaWVkLCB0aGUgbGltaXQgaXMgJXp1IGNvbHVtbnMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDMgc3lzLXV0aWxzL2xzaXBjLmM6NDU2CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIHRpbWUgdHlwZSIKK21zZ3N0ciAiJXM6IGlzbWVyZXRsZW4gYXJndW1lbnR1bTogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNvbXBvc2UgdGltZSBzdHJpbmciCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjY0OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDcxCisjLCBmdXp6eQorbXNnaWQgImludGVybmFsIGVycm9yOiB1bmtub3duIGNvbHVtbiIKK21zZ3N0ciAiYmVsc8WRIGhpYmEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA3NSBzeXMtdXRpbHMvbHNpcGMuYzo1MDMgc3lzLXV0aWxzL2xzaXBjLmM6NjI1CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo2ODAgc3lzLXV0aWxzL2xzaXBjLmM6ODM4IHN5cy11dGlscy9sc2lwYy5jOjEwMzYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCBkYXRhIgorbXNnc3RyICIlcyBuZW0gw6lyaGV0xZEgZWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTE2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxhc3QgbG9nczpcbiIKK21zZ3N0ciAiVXRvbHPDsyBiZWplbGVudGtlesOpczogJS4qcyAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyOCBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMSBtaXNjLXV0aWxzL21jb29raWUuYzo4MiBtaXNjLXV0aWxzL3V1aWRkLmM6NzAKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI1IHN5cy11dGlscy9kbWVzZy5jOjI2NCBzeXMtdXRpbHMvaXBjbWsuYzo2NgorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2MCBzeXMtdXRpbHMvbHNpcGMuYzoyNzcgc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA0CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjk1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MCB0ZXh0LXV0aWxzL2xpbmUuYzozMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMxCittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBrbm93biB1c2VycyBpbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNAorbXNnaWQgIiAtYSwgLS1hY2MtZXhwaXJhdGlvbiAgICAgZGlzcGxheSBpbmZvIGFib3V0IHBhc3N3b3JkcyBleHBpcmF0aW9uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM1Cittc2dpZCAiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICBkaXNwbGF5IGRhdGEgaW4gYSBmb3JtYXQgc2ltaWxhciB0byAvZXRjL3Bhc3N3ZFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNiBzeXMtdXRpbHMvbHNpcGMuYzoyOTYKKyMsIGZ1enp5Cittc2dpZCAiIC1lLCAtLWV4cG9ydCAgICAgICAgICAgICBkaXNwbGF5IGluIGFuIGV4cG9ydC1hYmxlIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM3CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAgZGlzcGxheSBkYXRhIGFib3V0IHRoZSB1c2VycycgbGFzdCBmYWlsZWQgbG9naW5zXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgZ3JvdXBzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOQorbXNnaWQgIiAtZywgLS1ncm91cHM9PGdyb3Vwcz4gICAgZGlzcGxheSB1c2VycyBiZWxvbmdpbmcgdG8gYSBncm91cCBpbiA8Z3JvdXBzPlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIHNob3cgaW5mbyBhYm91dCB0aGUgdXNlcnMnIGxhc3QgbG9naW4gc2Vzc2lvbnNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxvZ2lucz08bG9naW5zPiAgICBkaXNwbGF5IG9ubHkgdXNlcnMgZnJvbSA8bG9naW5zPlxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDIgc3lzLXV0aWxzL2xzaXBjLmM6Mjk4CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uZXdsaW5lICAgICAgICAgICAgZGlzcGxheSBlYWNoIHBpZWNlIG9mIGluZm9ybWF0aW9uIG9uIGEgbmV3IGxpbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQzIHN5cy11dGlscy9sc2lwYy5jOjI5MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ0IHN5cy11dGlscy9sc2lwYy5jOjI5MgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm90cnVuY2F0ZSAgICAgICAgIGRvbid0IHRydW5jYXRlIG91dHB1dFxuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgICBhIGxlbWV6IHTDqW55bGVnZXMgw61yw6Fzw6FuYWsga2loYWd5w6FzYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0Wz08bGlzdD5dICAgIGRlZmluZSB0aGUgY29sdW1ucyB0byBvdXRwdXRcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPWthcGNzb2zDsy1rYXJha3RlcmzDoW5jICBGZWxpc21lcmVuZMWRIHLDtnZpZCBrYXBjc29sw7NrXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcHdkICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBsb2dpbiBieSBwYXNzd29yZC5cbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ3IHN5cy11dGlscy9sc2lwYy5jOjMwMgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIGRpc3BsYXkgaW4gcmF3IG1vZGVcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ4CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAgZGlzcGxheSBzeXN0ZW0gYWNjb3VudHNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ5IHN5cy11dGlscy9sc2lwYy5jOjI5MworbXNnaWQgIiAgICAgLS10aW1lLWZvcm1hdD08dHlwZT4gZGlzcGxheSBkYXRlcyBpbiBzaG9ydCwgZnVsbCBvciBpc28gZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUwCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2VyLWFjY3MgICAgICAgICAgZGlzcGxheSB1c2VyIGFjY291bnRzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MQorIywgZnV6enkKK21zZ2lkICIgLVosIC0tY29udGV4dCAgICAgICAgICAgIGRpc3BsYXkgU0VMaW51eCBjb250ZXh0c1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTIKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0IHVzZXIgZW50cmllcyB3aXRoIGEgbnVsIGNoYXJhY3RlclxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MworbXNnaWQgIiAgICAgLS13dG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciB3dG1wXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjU0Cittc2dpZCAiICAgICAtLWJ0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIGJ0bXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTkgbWlzYy11dGlscy9maW5kbW50LmM6MTI0NyBzeXMtdXRpbHMvbHNjcHUuYzoxOTc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnM6XG4iCittc2dzdHIgIkVsw6lyaGV0xZEgcGFyYW5jc29rOlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NDIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlcXVlc3Qgc2VsaW51eCBzdGF0ZSIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ1NiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NjAKK21zZ2lkICJPbmx5IG9uZSB1c2VyIG1heSBiZSBzcGVjaWZpZWQuIFVzZSAtbCBmb3IgbXVsdGlwbGUgdXNlcnMuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjU1CisjLCBmdXp6eQorbXNnaWQgImNvdWxkIG5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAiYSh6KSAlcyB0ZXJtaW7DoWxhdHRyaWLDunR1bWFpIG5lbSBrw6lyaGV0xZFrIGxlIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo1NworIywgZnV6enkKK21zZ2lkICJnZXRsaW5lKCkgZmFpbGVkIgorbXNnc3RyICJhIHNldHVpZCgpIGjDrXbDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNDgKK21zZ2lkICJQYXNzd29yZDogIgorbXNnc3RyICJKZWxzesOzOiAiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE1NCBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAwNQorIywgZnV6enkKK21zZ2lkICJjcnlwdCBmYWlsZWQiCittc2dzdHIgImEgbWVtw7NyaWFmb2dsYWzDoXMgc2lrZXJ0ZWxlbiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGdyb3VwPlxuIgorbXNnc3RyICJuZXdncnA6IE5pbmNzIGlseWVuIGNzb3BvcnQuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjkKK21zZ2lkICJMb2cgaW4gdG8gYSBuZXcgZ3JvdXAuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjA3CisjLCBmdXp6eQorbXNnaWQgIndobyBhcmUgeW91PyIKK21zZ3N0ciAibmV3Z3JwOiDDlm4ga2k/IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTEgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjIzIHN5cy11dGlscy9uc2VudGVyLmM6NDIzCisjLCBmdXp6eQorbXNnaWQgInNldGdpZCBmYWlsZWQiCittc2dzdHIgImEgc2V0dWlkKCkgaMOtdsOhc2EgbWVnaGnDunN1bHQiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxNiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTgKKyMsIGZ1enp5Cittc2dpZCAibm8gc3VjaCBncm91cCIKK21zZ3N0ciAibmV3Z3JwOiBOaW5jcyBpbHllbiBjc29wb3J0LiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjIxIHN5cy11dGlscy9tb3VudC5jOjQ5MQorIywgZnV6enkKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCIKK21zZ3N0ciAibW91bnQ6IGhvenrDoWbDqXLDqXMgbWVndGFnYWR2YSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI3IHN5cy11dGlscy9uc2VudGVyLmM6NDI1CisjLCBmdXp6eQorbXNnaWQgInNldHVpZCBmYWlsZWQiCittc2dzdHIgImEgc2V0dWlkKCkgaMOtdsOhc2EgbWVnaGnDunN1bHQiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzoyOQorbXNnaWQgIlBvbGl0ZWx5IHJlZnVzZSBhIGxvZ2luLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzo3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhpcyBhY2NvdW50IGlzIGN1cnJlbnRseSBub3QgYXZhaWxhYmxlLlxuIgorbXNnc3RyICJBIGxlbWV6IGplbGVubGVnIGhhc3puw6FsYXRiYW4gdmFuLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoyOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIHNlc3Npb246ICVzIgorbXNnc3RyICJhKHopICVzIG5lbSBueWl0aGF0w7MgbWVnIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMDQKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBjaGlsZCBwcm9jZXNzIgorbXNnc3RyICJhKHopICVzIGF6b25vc8OtdMOzIG5lbSB0w6F2b2zDrXRoYXTDsyBlbCAoJXMpXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMyMQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgYmxvY2sgc2lnbmFscyIKK21zZ3N0ciAiTmVtIG55aXRoYXTDsyBtZWcgYSh6KSDigJ4lc+KAnSBmw6FqbCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzM1IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM0MworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzQ5IG1pc2MtdXRpbHMvdXVpZGQuYzo0MDcgdGVybS11dGlscy9zY3JpcHQuYzo3NzEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiTmVtIMOhbGzDrXRoYXTDsyBiZSBhIGplbHrDqXNrZXplbMWRIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNzQKK21zZ2lkICIgKGNvcmUgZHVtcGVkKSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZCwga2lsbGluZyBzaGVsbC4uLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAuLi5raWxsZWQuXG4iCittc2dzdHIgIiVzIG1lZ2hpw7pzdWx0LlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0ODYKK21zZ2lkICJtYXkgbm90IGJlIHVzZWQgYnkgbm9uLXJvb3QgdXNlcnMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTE0CisjLCBmdXp6eQorbXNnaWQgImluY29ycmVjdCBwYXNzd29yZCIKK21zZ3N0ciAiSGVseXRlbGVuIGplbHN6w7MuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1OTgKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBncm91cHMiCittc2dzdHIgImEgY3NvcG9ydGF6b25vc8OtdMOzIG5lbSDDoWxsw610aGF0w7MgYmUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjYxMyBzeXMtdXRpbHMvZWplY3QuYzo2NjUKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBncm91cCBpZCIKK21zZ3N0ciAiYSBjc29wb3J0YXpvbm9zw610w7MgbmVtIMOhbGzDrXRoYXTDsyBiZSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjE1IHN5cy11dGlscy9lamVjdC5jOjY2OAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHVzZXIgaWQiCittc2dzdHIgImEgZmVsaGFzem7DoWzDs2F6b25vc8OtdMOzIG5lbSDDoWxsw610aGF0w7MgYmUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAtdSA8dXNlcj4gW1stLV0gPGNvbW1hbmQ+XVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiBuYW1laSBbLW14XSDDunR2b25hbCBbw7p0dm9uYWwgLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2ODkgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgcHJvZ3JhbSBbYXJndW1lbnR1bSAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY5MAorbXNnaWQgIiIKKyJcbiIKKyJSdW4gPGNvbW1hbmQ+IHdpdGggdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCBvZiA8dXNlcj4uICBJZiAtdSBpc1xuIgorIm5vdCBnaXZlbiwgZmFsbCBiYWNrIHRvIHN1KDEpLWNvbXBhdGlibGUgc2VtYW50aWNzIGFuZCBleGVjdXRlIHN0YW5kYXJkIHNoZWxsLlxuIgorIlRoZSBvcHRpb25zIC1jLCAtZiwgLWwsIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLXUuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njk3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2VyIDx1c2VyPiAgICAgICAgICAgICB1c2VybmFtZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDIKK21zZ2lkICIiCisiXG4iCisiQ2hhbmdlIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgdG8gdGhhdCBvZiA8dXNlcj4uXG4iCisiQSBtZXJlIC0gaW1wbGllcyAtbC4gIElmIDx1c2VyPiBpcyBub3QgZ2l2ZW4sIHJvb3QgaXMgYXNzdW1lZC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDkKK21zZ2lkICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBkbyBub3QgcmVzZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzEwCittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgICAgICAgICAgc3BlY2lmeSB0aGUgcHJpbWFyeSBncm91cFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMQorbXNnaWQgIiIKKyIgLUcsIC0tc3VwcC1ncm91cCA8Z3JvdXA+ICAgICAgICBzcGVjaWZ5IGEgc3VwcGxlbWVudGFsIGdyb3VwXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzEzCisjLCBmdXp6eQorbXNnaWQgIiAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgICAgIG1ha2UgdGhlIHNoZWxsIGEgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE0Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE1CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkbyBub3QgY3JlYXRlIGEgbmV3IHNlc3Npb25cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgRWxzxZEgICAgIFV0b2xzw7NcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE3CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgIHBhc3MgLWYgdG8gdGhlIHNoZWxsIChmb3IgY3NoIG9yIHRjc2gpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE4CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHJ1biA8c2hlbGw+IGlmIC9ldGMvc2hlbGxzIGFsbG93cyBpdFxuIgorbXNnc3RyICIiCisiICAtcywgLS1zaGVsbD1wYXJhbmNzw6lydGVsbWV6xZEgICAgIEEgcGFyYW5jc8OpcnRlbG1lesWRIGlkw6l6w6lzaSBtZWfDoWxsYXBvZMOhc2FpbmFrXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlw6FsbMOtdMOhc2FcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzYyCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cCBpcyBub3QgcG9zc2libGUiCittc2dpZF9wbHVyYWwgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cHMgaXMgbm90IHBvc3NpYmxlIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJncm91cCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiJXM6IGEoeikg4oCeJXPigJ0gZmVsaGFzem7DoWzDsyBuZW0gbMOpdGV6aWsuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg4NgorbXNnaWQgImlnbm9yaW5nIC0tcHJlc2VydmUtZW52aXJvbm1lbnQsIGl0J3MgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1sb2dpbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4OTcKK21zZ2lkICJvcHRpb25zIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IGFuZCAtLXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5MDEKKyMsIGZ1enp5Cittc2dpZCAibm8gY29tbWFuZCB3YXMgc3BlY2lmaWVkIgorbXNnc3RyICJBIOKAni0tZGF0ZeKAnSBrYXBjc29sw7MgbmluY3MgbWVnYWR2YS5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTE1Cittc2dpZCAib25seSByb290IGNhbiBzcGVjaWZ5IGFsdGVybmF0aXZlIGdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5MjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzZXIgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiVzOiBhKHopIOKAniVz4oCdIGZlbGhhc3puw6Fsw7MgbmVtIGzDqXRlemlrLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgcmVzdHJpY3RlZCBzaGVsbCAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJBIHN6ZW3DqWx5aXPDqWcgYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTMwCisjLCBmdXp6eQorbXNnaWQgInRjZ2V0YXR0ciBmYWlsZWQiCittc2dzdHIgIiVzOiBheiBlbMOpcsOpcyBtZWdoacO6c3VsdCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjIwNworIywgZnV6enkKK21zZ2lkICJ0Y3NldGF0dHIgZmFpbGVkIgorbXNnc3RyICIlczogYXogZWzDqXLDqXMgbWVnaGnDunN1bHQiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdFxuIgorbXNnc3RyICIlczogbmVtIG55aXRoYXTDsyBtZWcgw61yw6FzcmEgdmFneSBvbHZhc8Ohc3JhIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3QiCittc2dzdHIgIiVzOiBuZW0gbnlpdGhhdMOzIG1lZyDDrXLDoXNyYSB2YWd5IG9sdmFzw6FzcmEiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiByb290IHBhc3N3b3JkIGdhcmJsZWQiCittc2dzdHIgIiVzOiBhIGplbHN6w7Nmw6FqbCBmb2dsYWx0LlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJDYW5ub3Qgb3BlbiBhY2Nlc3MgdG8gY29uc29sZSwgdGhlIHJvb3QgYWNjb3VudCBpcyBsb2NrZWQuXG4iCisiU2VlIHN1bG9naW4oOCkgbWFuIHBhZ2UgZm9yIG1vcmUgZGV0YWlscy5cbiIKKyJcbiIKKyJQcmVzcyBFbnRlciB0byBjb250aW51ZS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIGxvZ2luOiAiCittc2dzdHIgIiVzOiBhIGplbHN6w7Nmw6FqbCBmb2dsYWx0LlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbG9naW46ICIKK21zZ3N0ciAiJXM6IGEgamVsc3rDs2bDoWpsIGZvZ2xhbHQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICIlczogYSBqZWxzesOzZsOhamwgZm9nbGFsdC5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiKG9yIHByZXNzIENvbnRyb2wtRCB0byBjb250aW51ZSk6ICIKK21zZ3N0ciAiVmFsw7NiYW4gZm9seXRhdG5pIGFrYXJqYT8iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3NDIKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSB0byBzeXN0ZW0gcm9vdCBmYWlsZWQiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgbWVnaGnDunN1bHQiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTEKKyMsIGZ1enp5Cittc2dpZCAic2V0ZXhlY2NvbiBmYWlsZWQiCittc2dzdHIgImEgdsOpZ3JlaGFqdMOhcyBtZWdoacO6c3VsdFxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFt0dHkgZGV2aWNlXVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxNAorbXNnaWQgIlNpbmdsZS11c2VyIGxvZ2luLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MTcKK21zZ2lkICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICBzdGFydCBhIGxvZ2luIHNoZWxsXG4iCisiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICBtYXggdGltZSB0byB3YWl0IGZvciBhIHBhc3N3b3JkIChkZWZhdWx0OiBubyBsaW1pdClcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGV4YW1pbmUgcGFzc3dvcmQgZmlsZXMgZGlyZWN0bHkgaWYgZ2V0cHduYW0oMykgZmFpbHNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODcxIG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NjMgc3lzLXV0aWxzL3dkY3RsLmM6NTIzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc1MCB0ZXJtLXV0aWxzL3dhbGwuYzoxMzUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50IgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGthcGNzb2zDsyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg5MworIywgZnV6enkKK21zZ2lkICJvbmx5IHN1cGVydXNlciBjYW4gcnVuIHRoaXMgcHJvZ3JhbSIKK21zZ3N0ciAibW91bnQ6IGV6dCBjc2FrIGEgcmVuZHN6ZXJnYXpkYSB0ZWhldGkgbWVnIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTM2CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIGNvbnNvbGUiCittc2dzdHIgImEoeikgJXMgbmVtIG55aXRoYXTDsyBtZWciCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5NDMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gcGFzc3dvcmQgZGF0YWJhc2UiCittc2dzdHIgImEgZmVsaGFzem7DoWzDs2F6b25vc8OtdMOzIG5lbSDDoWxsw610aGF0w7MgYmUiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2FuIG5vdCBleGVjdXRlIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIk5lbSBsZWhldCBsZWvDqXJkZXpuaSBhIGxlbWV6IG3DqXJldMOpdCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjcKKyMsIGZ1enp5Cittc2dpZCAiIgorIlRpbWVkIG91dFxuIgorIlxuIgorbXNnc3RyICJpZMWRdMO6bGzDqXDDqXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDU5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJDYW4gbm90IHdhaXQgb24gc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiTmVtIGxlaGV0IGxla8OpcmRlem5pIGEgbGVtZXogbcOpcmV0w6l0IgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE3NiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2guIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTg1IHRleHQtdXRpbHMvdGFpbGYuYzoxNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBpbm90aWZ5IGV2ZW50cyIKK21zZ3N0ciAiJXM6ICVzIG5lbSBueWl0aGF0w7MgbWVnXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjQ2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjUxCittc2dpZCAiRXh0cmFuZW91cyBuZXdsaW5lIGluIGZpbGUuIEV4aXRpbmcuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlbmFtZV1cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzEyCittc2dpZCAiRHVtcCBVVE1QIGFuZCBXVE1QIGZpbGVzIGluIHJhdyBmb3JtYXQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTUKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvbGxvdyAgICAgICAgIG91dHB1dCBhcHBlbmRlZCBkYXRhIGFzIHRoZSBmaWxlIGdyb3dzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTYKK21zZ2lkICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgd3JpdGUgYmFjayBkdW1wZWQgZGF0YSBpbnRvIHV0bXAgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8ZmlsZT4gIHdyaXRlIHRvIGZpbGUgaW5zdGVhZCBvZiBzdGFuZGFyZCBvdXRwdXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4NAorbXNnaWQgImZvbGxvd2luZyBzdGFuZGFyZCBpbnB1dCBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIHVuZHVtcCBvZiAlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgZHVtcCBvZiAlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiY2FuJ3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiJXM6IG5lbSBueWl0aGF0w7MgbWVnIGF6IGlkZWlnbGVuZXMgZsOhamwuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjcmVhdGUgYSBsaW5rIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGEoeikgJXMgw6F0bmV2ZXrDqXNlIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXM6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IGdldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiJXM6IE5lbSBrw6lyaGV0xZEgbGUgYSh6KSAlcyBrb250ZXh0dXNhIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBzZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIiVzOiBOZW0gw6FsbMOtdGhhdMOzIGJlIGEoeikgJXMga29udGV4dHVzYSIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjIzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5jaGFuZ2VkIgorbXNnc3RyICIlczogQSh6KSAlcyB2w6FsdG96YXRsYW5cbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI1NAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IGxvY2siCittc2dzdHIgImEgcHJvZ3JhbWluZMOtdMOhcyBtZWdoacO6c3VsdCIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI4MQorIywgZnV6enkKK21zZ2lkICJubyBjaGFuZ2VzIG1hZGUiCittc2dzdHIgIiVzOiBuZW0gdMO2cnTDqW50IHbDoWx0b3rDoXNcbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5MAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY2htb2QgZmlsZSIKK21zZ3N0ciAiTmVtIG55aXRoYXTDsyBtZWcgYSh6KSDigJ4lc+KAnSBmw6FqbCIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjMwNAorbXNnaWQgIkVkaXQgdGhlIHBhc3N3b3JkIG9yIGdyb3VwIGZpbGUuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM1MAorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IGdyb3VwcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAiw4FybnnDqWtjc29wb3J0b2thdCBoYXN6bsOhbCBhIHJlbmRzemVyZW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTEKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBwYXNzd29yZHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIsOBcm55w6lramVsc3phdmFrYXQgaGFzem7DoWwgYSByZW5kc3plcmVuLlxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhpcyBwcm9ncmFtIHVzZXMgZm9yIHkgYW5kIG4gcnBtYXRjaCgzKSwKKyMuICogd2hpY2ggbWVhbnMgdGhleSBjYW4gYmUgdHJhbnNsYXRlZC4KKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV291bGQgeW91IGxpa2UgdG8gZWRpdCAlcyBub3cgW3kvbl0/ICIKK21zZ3N0ciAiS8OtdsOhbmphIHN6ZXJrZXN6dGVuaSBhIGvDtnZldGtlesWRdDogJXMgW2kvbl0/ICIKKworIzogbWlzYy11dGlscy9jYWwuYzozNzIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBtb250aCBhcmd1bWVudCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzgwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgd2VlayBhcmd1bWVudCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzgyCisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogdXNlIDEtNTQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4gbmFww6lydMOpazogaGFzem7DoWxqb24gMS0lZCBrw7Z6w7Z0dGkgw6lydMOpa2V0IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHRpbWVzdGFtcCBvciB1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MzEKKyMsIGZ1enp5Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWUiCittc2dzdHIgIsOJcnbDqW55dGVsZW4gZmVqc3rDoW0iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDMzIG1pc2MtdXRpbHMvY2FsLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlOiB1c2UgMS0lZCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBuYXDDqXJ0w6lrOiBoYXN6bsOhbGpvbiAxLSVkIGvDtnrDtnR0aSDDqXJ0w6lrZXQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDM3IG1pc2MtdXRpbHMvY2FsLmM6NDQ1Cittc2dpZCAiaWxsZWdhbCBtb250aCB2YWx1ZTogdXNlIDEtMTIiCittc2dzdHIgIsOpcnbDqW55dGVsZW4gaMOzbmFww6lydMOpazogaGFzem7DoWxqb24gMS0xMiBrw7Z6w7Z0dGkgw6lydMOpa2V0IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAibG9nZ2VyOiBpc21lcmV0bGVuIHByaW9yaXTDoXNuw6l2OiAlcy5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NDggbWlzYy11dGlscy9jYWwuYzo0NTIKKyMsIGZ1enp5Cittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlIgorbXNnc3RyICLDiXJ2w6lueXRlbGVuIGZlanN6w6FtIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ1MAorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWU6IHVzZSBwb3NpdGl2ZSBpbnRlZ2VyIgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIMOpdsOpcnTDqWs6IGhhc3puw6Fsam9uIDEtOTk5OSBrw7Z6w7Z0dGkgw6lydMOpa2V0IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4MiBtaXNjLXV0aWxzL2NhbC5jOjQ5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB5ZWFyICVkIGRvZXNuJ3QgaGF2ZSB3ZWVrICVkIgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIMOpdsOpcnTDqWs6IGhhc3puw6Fsam9uIDEtOTk5OSBrw7Z6w7Z0dGkgw6lydMOpa2V0IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlMDRkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAlMDRkIgorbXNnc3RyICIlcyAlZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW1tbZGF5XSBtb250aF0geWVhcl1cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogY2FsIFstMTNzbWp5Vl0gW1tbbmFwXSBow7NuYXBdIMOpdl1cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHRpbWVzdGFtcHxtb250aG5hbWU+XG4iCittc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5NworbXNnaWQgIkRpc3BsYXkgYSBjYWxlbmRhciwgb3Igc29tZSBwYXJ0IG9mIGl0LlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk4Cittc2dpZCAiV2l0aG91dCBhbnkgYXJndW1lbnRzLCBkaXNwbGF5IHRoZSBjdXJyZW50IG1vbnRoLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMQorIywgZnV6enkKK21zZ2lkICIgLTEsIC0tb25lICAgICAgICAgICAgIHNob3cgb25seSBhIHNpbmdsZSBtb250aCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDIKKyMsIGZ1enp5Cittc2dpZCAiIC0zLCAtLXRocmVlICAgICAgICAgICBzaG93IHRocmVlIG1vbnRocyBzcGFubmluZyB0aGUgZGF0ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW1vbnRocyA8bnVtPiAgICBzaG93IG51bSBtb250aHMgc3RhcnRpbmcgd2l0aCBkYXRlJ3MgbW9udGhcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA0CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zcGFuICAgICAgICAgICAgc3BhbiB0aGUgZGF0ZSB3aGVuIGRpc3BsYXlpbmcgbXVsdGlwbGUgbW9udGhzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNQorbXNnaWQgIiAtcywgLS1zdW5kYXkgICAgICAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA2Cittc2dpZCAiIC1tLCAtLW1vbmRheSAgICAgICAgICBNb25kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDcKKyMsIGZ1enp5Cittc2dpZCAiIC1qLCAtLWp1bGlhbiAgICAgICAgICBvdXRwdXQgSnVsaWFuIGRhdGVzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwOAorIywgZnV6enkKK21zZ2lkICIgLXksIC0teWVhciAgICAgICAgICAgIHNob3cgdGhlIHdob2xlIHllYXJcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA5CisjLCBmdXp6eQorbXNnaWQgIiAtWSwgLS10d2VsdmUgICAgICAgICAgc2hvdyB0aGUgbmV4dCB0d2VsdmUgbW9udGhzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAxMAorbXNnaWQgIiAtdywgLS13ZWVrWz08bnVtPl0gICAgc2hvdyBVUyBvciBJU08tODYwMSB3ZWVrIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMTEKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbHVlPlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MzIKKyMsIGZ1enp5Cittc2dpZCAiRmluZCBhIGZpbGVzeXN0ZW0gYnkgbGFiZWwgb3IgVVVJRC5cbiIKK21zZ3N0ciAiRsOhamxyZW5kc3plci1lbGxlbsWRcnrDqXMga8OpbnlzemVyw610w6lzZSBhIGvDtnZldGtlesWRbjog4oCeJXPigJ0uXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZXNvbHZlICclcyciCittc2dzdHIgIiVzIG5lbSBueWl0aGF0w7MgbWVnIgorCisjIGV6IGEga8O2dmV0a2V6xZEgaMOhcm9tICVzJXMtYmVuIGF6IGVsc8WRICVzIGxlc3osIG1lZyBrZWxsIG1hamQgb3R0IGZvcmTDrXRhbmkKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjk5CisjLCBmdXp6eQorbXNnaWQgInNvdXJjZSBkZXZpY2UiCittc2dzdHIgImJsb2trZXN6a8O2eiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAwCittc2dpZCAibW91bnRwb2ludCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDEgbWlzYy11dGlscy9sc2Jsay5jOjE2MQorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIkFkamEgbWVnIGEgZsOhamxyZW5kc3plciB0w61wdXPDoXQ6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAyCisjLCBmdXp6eQorbXNnaWQgImFsbCBtb3VudCBvcHRpb25zIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAzCittc2dpZCAiVkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA0CisjLCBmdXp6eQorbXNnaWQgIkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIkhhc3pub3Mga2FwY3NvbMOzazoiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNQorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIGxhYmVsIgorbXNnc3RyICJBZGphIG1lZyBhIGbDoWpscmVuZHN6ZXIgdMOtcHVzw6F0OiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0Cittc2dpZCAiZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNworIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gbGFiZWwiCittc2dzdHIgIlBhcnTDrWNpw7NzesOhbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5IG1pc2MtdXRpbHMvbHNibGsuYzoxNjAKK21zZ2lkICJtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMAorbXNnaWQgImFjdGlvbiBkZXRlY3RlZCBieSAtLXBvbGwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExCittc2dpZCAib2xkIG1vdW50IG9wdGlvbnMgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMgorbXNnaWQgIm9sZCBtb3VudHBvaW50IHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTMKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIgorbXNnc3RyICJBZGphIG1lZyBhIGbDoWpscmVuZHN6ZXIgdMOtcHVzw6F0OiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNAorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgYXZhaWxhYmxlIgorbXNnc3RyICJBZGphIG1lZyBhIGbDoWpscmVuZHN6ZXIgdMOtcHVzw6F0OiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNQorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgdXNlZCIKK21zZ3N0ciAiQWRqYSBtZWcgYSBmw6FqbHJlbmRzemVyIHTDrXB1c8OhdDogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTYKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAiQWRqYSBtZWcgYSBmw6FqbHJlbmRzemVyIHTDrXB1c8OhdDogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSByb290IgorbXNnc3RyICJBZGphIG1lZyBhIGbDoWpscmVuZHN6ZXIgdMOtcHVzw6F0OiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOAorbXNnaWQgInRhc2sgSUQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5CisjLCBmdXp6eQorbXNnaWQgIm1vdW50IElEIgorbXNnc3RyICJuLnN6w6FtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9uYWwgbW91bnQgZmllbGRzIgorbXNnc3RyICJtb3VudDogYSBjc2F0b2zDoXMgbWVnaGnDunN1bHQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMQorIywgZnV6enkKK21zZ2lkICJWRlMgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0w61jacOzOlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIKK21zZ2lkICJkdW1wKDgpIHBlcmlvZCBpbiBkYXlzIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMKK21zZ2lkICJwYXNzIG51bWJlciBvbiBwYXJhbGxlbCBmc2NrKDgpIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYWN0aW9uOiAlcyIKK21zZ3N0ciAiJXM6IElzbWVyZXRsZW4gcGFyYW5jczogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQzCisjLCBmdXp6eQorbXNnaWQgIm1vdW50IgorbXNnc3RyICJuLnN6w6FtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDYKKyMsIGZ1enp5Cittc2dpZCAidW1vdW50IgorbXNnc3RyICJuLnN6w6FtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDkKKyMsIGZ1enp5Cittc2dpZCAicmVtb3VudCIKK21zZ3N0ciAiaWTFkXTDumxsw6lww6lzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTIKKyMsIGZ1enp5Cittc2dpZCAibW92ZSIKK21zZ3N0ciAiIEVsdMOhdm9sw610w6FzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA3NSBzeXMtdXRpbHMvZWplY3QuYzo3MTkKKyM6IHN5cy11dGlscy9tb3VudC5jOjY2OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJsZSIKK21zZ3N0ciAiTmVtIGZvZ2xhbGhhdMOzIGxlIHB1ZmZlcnQuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjgzOSB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCAlcyIKK21zZ3N0ciAiJXM6IG5lbSBvbHZhc2hhdMOzIGEoeikgJXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMTUgbWlzYy11dGlscy9maW5kbW50LmM6MTA4MQorIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjk0IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0ODIKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxODcgc3lzLXV0aWxzL21vdW50LmM6MTM0IHN5cy11dGlscy9tb3VudC5jOjE4MgorIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo1NiBzeXMtdXRpbHMvc3dhcG9mZi5jOjE1NSBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ0CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjc0IHN5cy11dGlscy9zd2Fwb24uYzo3MzMgc3lzLXV0aWxzL3Vtb3VudC5jOjI3NAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGl0ZXJhdG9yIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFiZGlmZiIKK21zZ3N0ciAiTmVtIGZvZ2xhbGhhdMOzIGxlIHB1ZmZlcnQuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMTUKKyMsIGZ1enp5Cittc2dpZCAicG9sbCgpIGZhaWxlZCIKK21zZ3N0ciAiYSBtZW3Ds3JpYWZvZ2xhbMOhcyBzaWtlcnRlbGVuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gfCA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZSA8ZGV2aWNlPl0gWy0tdGFyZ2V0IDxwYXRoPiB8IC0tbW91bnRwb2ludCA8ZGlyPl1cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk2CisjLCBmdXp6eQorbXNnaWQgIkZpbmQgYSAobW91bnRlZCkgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiQWRqYSBtZWcgYSBmw6FqbHJlbmRzemVyIHTDrXB1c8OhdDogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk5CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1mc3RhYiAgICAgICAgICAgIHNlYXJjaCBpbiBzdGF0aWMgdGFibGUgb2YgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAwCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tdGFiICAgICAgICAgICAgIHNlYXJjaCBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDEKK21zZ2lkICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgc2VhcmNoIGluIGtlcm5lbCB0YWJsZSBvZiBtb3VudGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlc3lzdGVtcyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wb2xsWz08bGlzdD5dICAgIG1vbml0b3IgY2hhbmdlcyBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgIGwgICBheiBpc21lcnQgZsOhamxyZW5kc3plcnTDrXB1c29rIGZlbHNvcm9sw6FzYSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNQorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxudW0+ICAgIHVwcGVyIGxpbWl0IGluIG1pbGxpc2Vjb25kcyB0aGF0IC0tcG9sbCB3aWxsIGJsb2NrXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOAorIywgZnV6enkKK21zZ2lkICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOQorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgQVNDSUkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEwCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTEKK21zZ2lkICIgLUMsIC0tbm9jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgd2hlbiBjb21wYXJpbmcgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEyCittc2dpZCAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEzCisjLCBmdXp6eQorbXNnaWQgIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRhdGUgdGhlIG91dHB1dCBvZiBkZigxKVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTQKK21zZ2lkICIgLWQsIC0tZGlyZWN0aW9uIDx3b3JkPiBkaXJlY3Rpb24gb2Ygc2VhcmNoLCAnZm9yd2FyZCcgb3IgJ2JhY2t3YXJkJ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTUKK21zZ2lkICIiCisiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgY29udmVydCB0YWdzIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkZXZpY2UgbmFtZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE3Cittc2dpZCAiIC1GLCAtLXRhYi1maWxlIDxwYXRoPiAgYWx0ZXJuYXRpdmUgZmlsZSBmb3IgLXMsIC1tIG9yIC1rIG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE4CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIHByaW50IHRoZSBmaXJzdCBmb3VuZCBmaWxlc3lzdGVtIG9ubHlcbiIKK21zZ3N0ciAiICAgbCAgIGF6IGlzbWVydCBmw6FqbHJlbmRzemVydMOtcHVzb2sgZmVsc29yb2zDoXNhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE5CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVydCB0aGUgc2Vuc2Ugb2YgbWF0Y2hpbmdcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDcgc3lzLXV0aWxzL2xzbnMuYzo2MTkKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIxIHN5cy11dGlscy9sc25zLmM6NjIwCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMgorbXNnaWQgIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIHVzZSBhbHRlcm5hdGl2ZSBuYW1lc3BhY2UgKC9wcm9jLzx0aWQ+L21vdW50aW5mbyBmaWxlKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgY29sdW1uIGhlYWRpbmdzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNAorbXNnaWQgIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjUKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgdGhlIG91dHB1dCBjb2x1bW5zIHRvIGJlIHNob3duXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1rYXBjc29sw7Mta2FyYWt0ZXJsw6FuYyAgRmVsaXNtZXJlbmTFkSByw7Z2aWQga2FwY3NvbMOza1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI2CisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNworIywgZnV6enkKK21zZ2lkICIgLVIsIC0tc3VibW91bnRzICAgICAgICBwcmludCBhbGwgc3VibW91bnRzIGZvciB0aGUgbWF0Y2hpbmcgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI4CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5Cittc2dpZCAiIgorIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzEKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRhcmdldCA8cGF0aD4gICAgdGhlIHBhdGggdG8gdGhlIGZpbGVzeXN0ZW0gdG8gdXNlXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1rYXBjc29sw7Mta2FyYWt0ZXJsw6FuYyAgRmVsaXNtZXJlbmTFkSByw7Z2aWQga2FwY3NvbMOza1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMyCisjLCBmdXp6eQorbXNnaWQgIiAtTSwgLS1tb3VudHBvaW50IDxkaXI+IHRoZSBtb3VudHBvaW50IGRpcmVjdG9yeVxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9a2FwY3NvbMOzLWthcmFrdGVybMOhbmMgIEZlbGlzbWVyZW5kxZEgcsO2dmlkIGthcGNzb2zDs2tcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMworIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IEZTIHR5cGVzXG4iCittc2dzdHIgIiAgIGwgICBheiBpc21lcnQgZsOhamxyZW5kc3plcnTDrXB1c29rIGZlbHNvcm9sw6FzYSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNAorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdW5pcSAgICAgICAgICAgICBpZ25vcmUgZmlsZXN5c3RlbXMgd2l0aCBkdXBsaWNhdGUgdGFyZ2V0XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzUgbWlzYy11dGlscy9sc2xvY2tzLmM6NTEzIHN5cy11dGlscy9sc25zLmM6NjI1CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGRvbid0IHRydW5jYXRlIHRleHQgaW4gY29sdW1uc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzYKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzkKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXZlcmlmeSAgICAgICAgICAgdmVyaWZ5IG1vdW50IHRhYmxlIGNvbnRlbnQgKGRlZmF1bHQgaXMgZnN0YWIpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0MAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTM2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBkaXJlY3Rpb24gJyVzJyIKK21zZ3N0ciAiaXNtZXJldGxlbiBlcsWRZm9ycsOhc3TDrXB1czogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTQ0MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFRJRCBhcmd1bWVudCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBhem9ub3PDrXTDszogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUwOQorbXNnaWQgIi0tcG9sbCBhY2NlcHRzIG9ubHkgb25lIGZpbGUsIGJ1dCBtb3JlIHNwZWNpZmllZCBieSAtLXRhYi1maWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MTMKK21zZ2lkICJvcHRpb25zIC0tdGFyZ2V0IGFuZCAtLXNvdXJjZSBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggY29tbWFuZCBsaW5lIGVsZW1lbnQgdGhhdCBpcyBub3QgYW4gb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1NjIKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBjYWNoZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNvbHVtbiBpcyByZXF1ZXN0ZWQsIGJ1dCAtLXBvbGwgaXMgbm90IGVuYWJsZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExNgorIywgZnV6enkKK21zZ2lkICJ0YXJnZXQgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJUw7ZiYiBjaWxpbmRlcnQgYWRvdHQgbWVnLCBtaW50IGFtZW5ueWkgZWxmw6lyIGEgbGVtZXplbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBvcmRlcjogJXMgc3BlY2lmaWVkIGJlZm9yZSAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTMzCittc2dpZCAidW5kZWZpbmVkIHRhcmdldCAoZnNfZmlsZSkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tY2Fub25pY2FsIHRhcmdldCBwYXRoIChyZWFsOiAlcykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHRhcmdldDogJW0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgdGFyZ2V0OiAlbSIKK21zZ3N0ciAiQSh6KSAlcyBuZW0gb2x2YXNoYXTDs1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTUxCisjLCBmdXp6eQorbXNnaWQgInRhcmdldCBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImEgZ3nDtmvDqXIgaW5vZGUgbmVtIGvDtm55dnTDoXIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTMKK21zZ2lkICJ0YXJnZXQgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCBzb3VyY2U6ICVzPSVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlOiAlcz0lcyIKK21zZ3N0ciAiYXogb2x2YXPDoXMgbWVnaGnDunN1bHQ6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcz0lcyB0cmFuc2xhdGVkIHRvICVzIgorbXNnc3RyICJmaWd5ZWxtZXp0ZXTDqXM6IGEoeikgJXMgbcOhciB0w6Fyc8OtdHZhIHZhbiBhIGvDtnZldGtlesWRaMO2ejogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5MAorbXNnaWQgInVuZGVmaW5lZCBzb3VyY2UgKGZzX3NwZWMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHNvdXJjZSB0YWc6ICVzIgorbXNnc3RyICIlczogaXNtZXJldGxlbiBhcmd1bWVudHVtOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBzb3VyY2UgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHNvdXJjZTogJXM6ICVtIgorbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmluZCBtb3VudCBzb3VyY2UgJXMgaXMgYSBkaXJlY3Rvcnkgb3IgcmVndWxhciBmaWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBleiBuZW0gYmxva2tvcyBlc3prw7Z6XG4iCisKKyMgZXogYSBrw7Z2ZXRrZXrFkSBow6Fyb20gJXMlcy1iZW4gYXogZWxzxZEgJXMgbGVzeiwgbWVnIGtlbGwgbWFqZCBvdHQgZm9yZMOtdGFuaQorIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic291cmNlICVzIGV4aXN0cyIKK21zZ3N0ciAiYmxva2tlc3prw7Z6IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJWRlMgb3B0aW9uczogJXMiCittc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzZXJzcGFjZSBvcHRpb25zOiAlcyIKK21zZ3N0ciAiVmVzesOpbHllcyBrYXBjc29sw7NrOiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc3dhcGFyZWEgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICIlczogaXNtZXJldGxlbiBhcmd1bWVudHVtOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjYwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzd2FwYXJlYSBwcmlvcml0eSBvcHRpb24iCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIEZTIHR5cGUgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MDYKK21zZ2lkICJcIm5vbmVcIiBGUyB0eXBlIGlzIHJlY29tbWVuZGVkIGZvciBiaW5kIG9yIG1vdmUgb3ByYXRpb25zIG9ubHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyMCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIxCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBkZXRlY3Qgb24tZGlzayBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIm1vdW50OiBpc21lcmV0bGVuIGbDoWpscmVuZHN6ZXJ0w61wdXM6IOKAniVz4oCdIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRvZXMgbm90IG1hdGNoIHdpdGggb24tZGlzayAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIm9uLWRpc2sgJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZTIHR5cGUgaXMgJXMiCittc2dzdHIgInTDrXB1czogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWNvbW1lbmRlZCByb290IEZTIHBhc3NubyBpcyAxIChjdXJyZW50IGlzICVkKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCBwYXJzZSBlcnJvciIKK21zZ2lkX3BsdXJhbCAiJWQgcGFyc2UgZXJyb3JzIgorbXNnc3RyWzBdICJmZWxkb2xnb3rDoXNpIGhpYmFcbiIKK21zZ3N0clsxXSAiZmVsZG9sZ296w6FzaSBoaWJhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgZXJyb3IiCittc2dpZF9wbHVyYWwgIiwgJWQgZXJyb3JzIgorbXNnc3RyWzBdICIsIGhpYmEiCittc2dzdHJbMV0gIiwgaGliYSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxNAorIywgYy1mb3JtYXQKK21zZ2lkICIsICVkIHdhcm5pbmciCittc2dpZF9wbHVyYWwgIiwgJWQgd2FybmluZ3MiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3MsIG5vIGVycm9ycyBvciB3YXJuaW5ncyBkZXRlY3RlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MjQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKyIlczogJXNcbiIKKyJUb3bDoWJiaSBpbmZvcm3DoWNpw7Nrw6lydCBhZGphIGtpIGEg4oCeJXMgLS1oZWxw4oCdIHBhcmFuY3NvdC5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMDQKK21zZ2lkICJlbXB0eSBsb25nIG9wdGlvbiBhZnRlciAtbCBvciAtLWxvbmcgYXJndW1lbnQiCittc2dzdHIgIsO8cmVzIGhvc3N6w7oga2FwY3NvbMOzIGEgLWwgdmFneSAtLWxvbmcgcGFyYW3DqXRlciB1dMOhbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMjUKK21zZ2lkICJ1bmtub3duIHNoZWxsIGFmdGVyIC1zIG9yIC0tc2hlbGwgYXJndW1lbnQiCittc2dzdHIgImlzbWVyZXRsZW4gcGFyYW5jc8OpcnRlbG1lesWRIGEgLXMgdmFneSAtLXNoZWxsIHBhcmFtw6l0ZXIgdXTDoW4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLV0gPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIC1vfC0tb3B0aW9ucyA8b3B0c3RyaW5nPiBbb3B0aW9uc10gWy0tXSA8cGFyYW1ldGVycz5cbiIKK21zZ3N0ciAiICAgICAgIGdldG9wdCBba2FwY3NvbMOza10gLW98LS1vcHRpb25zIGthcGNzb2zDsy1rYXJha3RlcmzDoW5jIFtrYXBjc29sw7NrXSBbLS1dXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzM4CisjLCBmdXp6eQorbXNnaWQgIlBhcnNlIGNvbW1hbmQgb3B0aW9ucy5cbiIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQxCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgICBhbGxvdyBsb25nIG9wdGlvbnMgc3RhcnRpbmcgd2l0aCBzaW5nbGUgLVxuIgorbXNnc3RyICIiCisiICAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgICAgICBFbmdlZMOpbHllemkgYSBrw7Z0xZFqZWxsZWwga2V6ZMWRZMWRIGhvc3N6w7pcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2FwY3NvbMOza2F0XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQyCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb25nb3B0aW9ucyA8bG9uZ29wdHM+ICB0aGUgbG9uZyBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIKK21zZ3N0ciAiICAtbCwgLS1sb25nb3B0aW9ucz1ob3NzesO6X2thcGNzb2zDs2sgICAgRmVsaXNtZXJlbmTFkSBob3NzesO6IGthcGNzb2zDs2tcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5hbWUgPHByb2duYW1lPiAgICAgICAgIHRoZSBuYW1lIHVuZGVyIHdoaWNoIGVycm9ycyBhcmUgcmVwb3J0ZWRcbiIKK21zZ3N0ciAiICAtbiwgLS1uYW1lPXByb2dyYW1uw6l2ICAgICAgICAgICAgQSBoaWLDoWsgZXplbiBuw6l2IGFsYXR0IGtlcsO8bG5layBqZWxlbnTDqXNyZVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICAgdGhlIHNob3J0IG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9a2FwY3NvbMOzLWthcmFrdGVybMOhbmMgIEZlbGlzbWVyZW5kxZEgcsO2dmlkIGthcGNzb2zDs2tcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDUKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGRpc2FibGUgZXJyb3IgcmVwb3J0aW5nIGJ5IGdldG9wdCgzKVxuIgorbXNnc3RyICIgIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgICAgIEEgaGliYWplbGVudMOpcyBsZXRpbHTDoXNhIGEgZ2V0b3B0KDMpLW5ha1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NgorIywgZnV6enkKK21zZ2lkICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgbm8gbm9ybWFsIG91dHB1dFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgc2V0IHF1b3RpbmcgY29udmVudGlvbnMgdG8gdGhvc2Ugb2YgPHNoZWxsPlxuIgorbXNnc3RyICIiCisiICAtcywgLS1zaGVsbD1wYXJhbmNzw6lydGVsbWV6xZEgICAgIEEgcGFyYW5jc8OpcnRlbG1lesWRIGlkw6l6w6lzaSBtZWfDoWxsYXBvZMOhc2FpbmFrXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlw6FsbMOtdMOhc2FcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDgKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIHRlc3QgZm9yIGdldG9wdCgxKSB2ZXJzaW9uXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgICAgQSBnZXRvcHQoMSkgdmVyemnDsyB0ZXN6dGVsw6lzZVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0OQorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdW5xdW90ZWQgICAgICAgICAgICAgICAgZG8gbm90IHF1b3RlIHRoZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM5OSBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1OQorbXNnaWQgIm1pc3Npbmcgb3B0c3RyaW5nIGFyZ3VtZW50IgorbXNnc3RyICJoacOhbnl6w7Mga2FwY3NvbMOzLWthcmFrdGVybMOhbmMgcGFyYW3DqXRlciIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzo0NTQKK21zZ2lkICJpbnRlcm5hbCBlcnJvciwgY29udGFjdCB0aGUgYXV0aG9yLiIKK21zZ3N0ciAiYmVsc8WRIGhpYmEsIHZlZ3llIGZlbCBhIGthcGNzb2xhdG90IGEgc3plcnrFkXZlbC4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjIzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWwgJXM7IHZhbGlkIHNpZ25hbHM6IgorbXNnc3RyICIlczogaXNtZXJldGxlbiBqZWx6w6lzOiAlczsgYXogw6lydsOpbnllcyBqZWx6w6lzZWs6XG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGlkPnw8bmFtZT4uLi5cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwNQorbXNnaWQgIkZvcmNpYmx5IHRlcm1pbmF0ZSBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzA4Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRvIG5vdCByZXN0cmljdCB0aGUgbmFtZS10by1waWQgY29udmVyc2lvbiB0byBwcm9jZXNzZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggdGhlIHNhbWUgdWlkIGFzIHRoZSBwcmVzZW50IHByb2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTAKK21zZ2lkICIgLXMsIC0tc2lnbmFsIDxzaWduYWw+ICBzZW5kIHRoaXMgPHNpZ25hbD4gaW5zdGVhZCBvZiBTSUdURVJNXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzEyCittc2dpZCAiIC1xLCAtLXF1ZXVlIDx2YWx1ZT4gICAgdXNlIHNpZ3F1ZXVlKDIpLCBub3Qga2lsbCgyKSwgYW5kIHBhc3MgPHZhbHVlPiBhcyBkYXRhXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICAgIHByaW50IHBpZHMgd2l0aG91dCBzaWduYWxpbmcgdGhlbVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNQorbXNnaWQgIiAtbCwgLS1saXN0Wz08c2lnbmFsPl0gIGxpc3Qgc2lnbmFsIG5hbWVzLCBvciBjb252ZXJ0IGEgc2lnbmFsIG51bWJlciB0byBhIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTYKK21zZ2lkICIgLUwsIC0tdGFibGUgICAgICAgICAgICBsaXN0IHNpZ25hbCBuYW1lcyBhbmQgbnVtYmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNworIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBwaWRzIHRoYXQgd2lsbCBiZSBzaWduYWxlZFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozNjcgbWlzYy11dGlscy9raWxsLmM6Mzc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbDogJXMiCittc2dzdHIgIiVzOiBpc21lcmV0bGVuIGplbHrDqXM6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM4NyBtaXNjLXV0aWxzL2tpbGwuYzozOTAgbWlzYy11dGlscy9raWxsLmM6Mzk5CisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MTEgbWlzYy11dGlscy9raWxsLmM6NDM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiJXM6IEF6IC0tYWRqZmlsZSDDqXMgYSAtLW5vYWRqZmlsZSBrw7ZsY3PDtm7DtnNlbiBraXrDoXJqw6FrIGVneW3DoXN0LCBkZSBtaW5ka2V0dMWRdCBtZWdhZHRhLlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozOTYgbWlzYy11dGlscy9raWxsLmM6NDM4IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTc0CisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjAgdGVybS11dGlscy9hZ2V0dHkuYzo3ODkgdGVybS11dGlscy9hZ2V0dHkuYzo3OTgKKyMsIGZ1enp5Cittc2dpZCAibm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIlTDumwga2V2w6lzIGFyZ3VtZW50dW0iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uICclcycgcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgIiVzIGVneSBwYXJhbcOpdGVydCBpZ8OpbnllbFxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MTQgc3lzLXV0aWxzL2VqZWN0LmM6MjA1IHN5cy11dGlscy9lamVjdC5jOjIzMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2ODkgc3lzLXV0aWxzL3R1bmVscC5jOjE2MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTY4CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTc1IHN5cy11dGlscy90dW5lbHAuYzoxODIgc3lzLXV0aWxzL3R1bmVscC5jOjE4OQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE5NSBzeXMtdXRpbHMvdHVuZWxwLmM6MTk5IHN5cy11dGlscy90dW5lbHAuYzoyMDYKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyMzEgdGVybS11dGlscy9zZXR0ZXJtLmM6MjEzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxNgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTEgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk4CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMDAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzEyIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxNAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzIzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMzMSB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzYyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNzMgdGVybS11dGlscy9zZXR0ZXJtLmM6NTM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0MAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTQ1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NzQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU3OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODQgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg5CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTQgdGVybS11dGlscy9zZXR0ZXJtLmM6NTk5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwNworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NjQwCisjLCBmdXp6eQorbXNnaWQgImFyZ3VtZW50IGVycm9yIgorbXNnc3RyICIlczogUGFyYW3DqXRlcmhpYmEsIGhhc3puw6FsYXQ6XG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzaWduYWwgbmFtZSBvciBudW1iZXI6ICVzIgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGthcGNzb2zDsyIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCAlZCB0byBwaWQgJWRcbiIKK21zZ3N0ciAiJXM6IGEoeikgJXMgw6F0bmV2ZXrDqXNlIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXM6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQ2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogYSh6KSAlcyDDoXRuZXZlesOpc2UgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlczogJXNcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCBwcm9jZXNzIFwiJXNcIiIKK21zZ3N0ciAiJXM6IGEoeikg4oCeJXPigJ0gZm9seWFtYXQgbmVtIHRhbMOhbGhhdMOzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5IG5hbWU6ICVzIgorbXNnc3RyICJsb2dnZXI6IGlzbWVyZXRsZW4gc3pvbGfDoWx0YXTDoXNuw6l2OiAlcy5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpb3JpdHkgbmFtZTogJXMiCittc2dzdHIgImxvZ2dlcjogaXNtZXJldGxlbiBwcmlvcml0w6FzbsOpdjogJXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVubG9nICVzOiBwYXRobmFtZSB0b28gbG9uZyIKK21zZ3N0ciAiQSBmZWxoYXN6bsOhbMOzbsOpdiB0w7psIGhvc3N6w7ouXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgJXMiCittc2dzdHIgIkJsb2trbcOpcmV0OiAlZFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgbmFtZSAlcyBwb3J0ICVzOiAlcyIKK21zZ3N0ciAiYSh6KSDigJ4lc+KAnSBuZW0gbnlpdGhhdMOzIG1lZzogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY29ubmVjdCB0byAlcyBwb3J0ICVzIgorbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4aW11bSBpbnB1dCBsaW5lcyAoJWQpIGV4Y2VlZGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NDg3CisjLCBmdXp6eQorbXNnaWQgInNlbmQgbWVzc2FnZSBmYWlsZWQiCittc2dzdHIgImEgc2V0dWlkKCkgaMOtdsOhc2EgbWVnaGnDunN1bHQiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTU4CisjLCBjLWZvcm1hdAorbXNnaWQgInN0cnVjdHVyZWQgZGF0YSBJRCAnJXMnIGlzIG5vdCB1bmlxdWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1zZC1pZCB3YXMgbm90IHNwZWNpZmllZCBmb3IgLS1zZC1wYXJhbSAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc1NAorIywgZnV6enkKK21zZ2lkICJsb2NhbHRpbWUoKSBmYWlsZWQiCittc2dzdHIgImEgbWFsbG9jIG1lZ2hpw7pzdWx0IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaG9zdG5hbWUgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiYSBtZXrFkSB0w7psIGhvc3N6w7ouXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0YWcgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiYSBtZXrFkSB0w7psIGhvc3N6w7ouXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyB1bmtub3duIG9wdGlvbiBhcmd1bWVudDogJXMiCittc2dzdHIgIiVzOiBpc21lcmV0bGVuIGFyZ3VtZW50dW06ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlczogdXNpbmcgYXV0b21hdGljIGVycm9ycyIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBhem9ub3PDrXTDszogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo5OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6OTk3CisjLCBmdXp6eQorbXNnaWQgIkVudGVyIG1lc3NhZ2VzIGludG8gdGhlIHN5c3RlbSBsb2cuXG4iCittc2dzdHIgIkEgcmVuZHN6ZXLDs3JhIG5lbSDDoWxsw610aGF0w7MgYmUuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMAorIywgZnV6enkKK21zZ2lkICIgLWkgICAgICAgICAgICAgICAgICAgICAgIGxvZyB0aGUgbG9nZ2VyIGNvbW1hbmQncyBQSURcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAxCittc2dpZCAiICAgICAtLWlkWz08aWQ+XSAgICAgICAgICBsb2cgdGhlIGdpdmVuIDxpZD4sIG9yIG90aGVyd2lzZSB0aGUgUElEXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgICAgbG9nIHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAzCisjLCBmdXp6eQorbXNnaWQgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgZG8gbm90IGxvZyBlbXB0eSBsaW5lcyB3aGVuIHByb2Nlc3NpbmcgZmlsZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgICAgYSBsZW1leiB0w6lueWxlZ2VzIMOtcsOhc8OhbmFrIGtpaGFnecOhc2EiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm8tYWN0ICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSB3cml0ZSB0aGUgbG9nXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA1Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBtYXJrIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA2Cittc2dpZCAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICB1c2UgcmZjNjU4NyBvY3RldCBjb3VudGluZ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNworbXNnaWQgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAgbG9vayBmb3IgYSBwcmVmaXggb24gZXZlcnkgbGluZSByZWFkIGZyb20gc3RkaW5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDgKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICBvdXRwdXQgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvciBhcyB3ZWxsXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwOQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgIG1heGltdW0gc2l6ZSBmb3IgYSBzaW5nbGUgbWVzc2FnZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTAKK21zZ2lkICIgLXQsIC0tdGFnIDx0YWc+ICAgICAgICAgIG1hcmsgZXZlcnkgbGluZSB3aXRoIHRoaXMgdGFnXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDExCittc2dpZCAiIC1uLCAtLXNlcnZlciA8bmFtZT4gICAgICB3cml0ZSB0byB0aGlzIHJlbW90ZSBzeXNsb2cgc2VydmVyXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEyCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wb3J0IDxwb3J0PiAgICAgICAgdXNlIHRoaXMgcG9ydCBmb3IgVURQIG9yIFRDUCBjb25uZWN0aW9uXG4iCittc2dzdHIgIiIKKyIgIC1zLCAtLXNoZWxsPXBhcmFuY3PDqXJ0ZWxtZXrFkSAgICAgQSBwYXJhbmNzw6lydGVsbWV6xZEgaWTDqXrDqXNpIG1lZ8OhbGxhcG9kw6FzYWluYWtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmXDoWxsw610w6FzYVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTMKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICB1c2UgVENQIG9ubHlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE0CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIHVzZSB0aGUgb2Jzb2xldGUgQlNEIHN5c2xvZyBwcm90b2NvbFxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgICAgIEEgZ2V0b3B0KDEpIHZlcnppw7MgdGVzenRlbMOpc2VcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE2Cittc2dpZCAiIgorIiAgICAgLS1yZmM1NDI0Wz08c25pcD5dICAgdXNlIHRoZSBzeXNsb2cgcHJvdG9jb2wgKHRoZSBkZWZhdWx0IGZvciByZW1vdGUpO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c25pcD4gY2FuIGJlIG5vdGltZSwgb3Igbm90cSwgYW5kL29yIG5vaG9zdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxOAorbXNnaWQgIiAgICAgLS1zZC1pZCA8aWQ+ICAgICAgICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgSURcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTkKK21zZ2lkICIgICAgIC0tc2QtcGFyYW0gPGRhdGE+ICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIG5hbWU9dmFsdWVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjAKK21zZ2lkICIgICAgIC0tbXNnaWQgPG1zZ2lkPiAgICAgIHNldCByZmM1NDI0IG1lc3NhZ2UgaWQgZmllbGRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjEKK21zZ2lkICIgLXUsIC0tc29ja2V0IDxzb2NrZXQ+ICAgIHdyaXRlIHRvIHRoaXMgVW5peCBzb2NrZXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjIKK21zZ2lkICIiCisiICAgICAtLXNvY2tldC1lcnJvcnNbPTxvbnxvZmZ8YXV0bz5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludCBjb25uZWN0aW9uIGVycm9ycyB3aGVuIHVzaW5nIFVuaXggc29ja2V0c1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyNQorbXNnaWQgIiAgICAgLS1qb3VybmFsZFs9PGZpbGU+XSAgd3JpdGUgam91cm5hbGQgZW50cnlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpbGUgJXMiCittc2dzdHIgIihLw7Z2ZXRrZXrFkSBmw6FqbDogJXMpIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExMjcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGlkIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTQ1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtZXNzYWdlIHNpemUiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODAKK21zZ2lkICItLW1zZ2lkIGNhbm5vdCBjb250YWluIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgSUQ6ICclcyciCittc2dzdHIgIsOpcnbDqW55dGVsZW4gYXpvbm9zw610w7M6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICJoaWLDoXMgaWTFkWtvcmzDoXTDqXJ0w6lrOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjE4Cittc2dpZCAiLS1maWxlIDxmaWxlPiBhbmQgPG1lc3NhZ2U+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIG1lc3NhZ2UgaXMgaWdub3JlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMjUKK21zZ2lkICJqb3VybmFsZCBlbnRyeSBjb3VsZCBub3QgYmUgd3JpdHRlbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHN0cmluZz4gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM1OAorbXNnaWQgIkRpc3BsYXkgbGluZXMgYmVnaW5uaW5nIHdpdGggYSBzcGVjaWZpZWQgc3RyaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MQorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgIHVzZSB0aGUgYWx0ZXJuYXRpdmUgZGljdGlvbmFyeVxuIgorbXNnc3RyICIiCisiICAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgICAgICBFbmdlZMOpbHllemkgYSBrw7Z0xZFqZWxsZWwga2V6ZMWRZMWRIGhvc3N6w7pcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2FwY3NvbMOza2F0XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MgorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tYWxwaGFudW0gICAgICAgICAgIGNvbXBhcmUgb25seSBibGFua3MgYW5kIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MworIywgZnV6enkKK21zZ2lkICIgLWYsIC0taWdub3JlLWNhc2UgICAgICAgIGlnbm9yZSBjYXNlIGRpZmZlcmVuY2VzIHdoZW4gY29tcGFyaW5nXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2NAorbXNnaWQgIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgZGVmaW5lIHRoZSBzdHJpbmctdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NworbXNnaWQgImRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTgKK21zZ2lkICJpbnRlcm5hbCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OQorbXNnaWQgImludGVybmFsIHBhcmVudCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MiBzeXMtdXRpbHMvenJhbWN0bC5jOjg0Cittc2dpZCAid2hlcmUgdGhlIGRldmljZSBpcyBtb3VudGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMKK21zZ2lkICJmaWxlc3lzdGVtIExBQkVMIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIHR5cGUgVVVJRCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnTDrWNpw7M6XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjcKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIExBQkVMIgorbXNnc3RyICJQYXJ0w61jacOzc3rDoW0iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzEKKyMsIGZ1enp5Cittc2dpZCAicmVhZC1haGVhZCBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJhIHN0YXQgdsOpZ3JlaGFqdMOhc2EgYXogZWzDqXLDqXNpIMO6dG9uIG1lZ2hpw7pzdWx0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzIgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NQorIywgZnV6enkKK21zZ2lkICJyZWFkLW9ubHkgZGV2aWNlIgorbXNnc3RyICJiZcOhbGzDrXTDoXMgY3NhayBvbHZhc2hhdMOzcmEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAicmVtb3ZhYmxlIGRldmljZSIKK21zZ3N0ciAiIGVsdMOhdm9sw610aGF0w7MiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzQKK21zZ2lkICJyZW1vdmFibGUgb3IgaG90cGx1ZyBkZXZpY2UgKHVzYiwgcGNtY2lhLCAuLi4pIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzUKK21zZ2lkICJyb3RhdGlvbmFsIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc2Cittc2dpZCAiYWRkcyByYW5kb21uZXNzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzcKK21zZ2lkICJkZXZpY2UgaWRlbnRpZmllciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc4Cittc2dpZCAiZGlzayBzZXJpYWwgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzkKK21zZ2lkICJzaXplIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MAorIywgZnV6enkKK21zZ2lkICJzdGF0ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJhIHN0YXQgdsOpZ3JlaGFqdMOhc2EgYXogZWzDqXLDqXNpIMO6dG9uIG1lZ2hpw7pzdWx0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODIKK21zZ2lkICJncm91cCBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODMKK21zZ2lkICJkZXZpY2Ugbm9kZSBwZXJtaXNzaW9ucyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg0CisjLCBmdXp6eQorbXNnaWQgImFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgImlnYXrDrXTDoXNpIGVsdG9sw6FzIGxla8OpcsOpc2UiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODUKKyMsIGZ1enp5Cittc2dpZCAibWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAibWluaW3DoWxpcyBJL08gbcOpcmV0IGxla8OpcsOpc2UiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAib3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAib3B0aW3DoWxpcyBJL08gbcOpcmV0IGxla8OpcsOpc2UiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAicGh5c2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgImZpemlrYWkgYmxva2sgKHN6ZWt0b3IpbcOpcmV0IGxla8OpcsOpc2UiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODgKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAibG9naWthaSBibG9rayAoc3pla3Rvciltw6lyZXQgbGVrw6lyw6lzZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OQorbXNnaWQgIkkvTyBzY2hlZHVsZXIgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwCittc2dpZCAicmVxdWVzdCBxdWV1ZSBzaXplIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTEKK21zZ2lkICJkZXZpY2UgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkyCisjLCBmdXp6eQorbXNnaWQgImRpc2NhcmQgYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAiaWdhesOtdMOhc2kgZWx0b2zDoXMgbGVrw6lyw6lzZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MworbXNnaWQgImRpc2NhcmQgZ3JhbnVsYXJpdHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NAorbXNnaWQgImRpc2NhcmQgbWF4IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTUKK21zZ2lkICJkaXNjYXJkIHplcm9lcyBkYXRhIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTYKK21zZ2lkICJ3cml0ZSBzYW1lIG1heCBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk3CisjLCBmdXp6eQorbXNnaWQgInVuaXF1ZSBzdG9yYWdlIGlkZW50aWZpZXIiCittc2dzdHIgIiAgIGkgICBhIGxlbWV6YXpvbm9zw610w7MgbcOzZG9zw610w6FzYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OAorbXNnaWQgIkhvc3Q6Q2hhbm5lbDpUYXJnZXQ6THVuIGZvciBTQ1NJIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTkKK21zZ2lkICJkZXZpY2UgdHJhbnNwb3J0IHR5cGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMAorbXNnaWQgImRlLWR1cGxpY2F0ZWQgY2hhaW4gb2Ygc3Vic3lzdGVtcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAxCisjLCBmdXp6eQorbXNnaWQgImRldmljZSByZXZpc2lvbiIKK21zZ3N0ciAibG9vcDogbmVtIG55aXRoYXTDsyBtZWcgYSh6KSAlcyBlc3prw7Z6OiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAyCittc2dpZCAiZGV2aWNlIHZlbmRvciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTI3NgorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRldmljZSBkaXJlY3RvcnkgaW4gc3lzZnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY29tcG9zZSBzeXNmcyBwYXRoIgorbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBsaW5rIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN5c2ZzIG5hbWUiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgd2hvbGUtZGlzayBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NTEgbWlzYy11dGlscy9sc2Jsay5jOjE1NTMgbWlzYy11dGlscy9sc2Jsay5jOjE1NzgKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGlzdCAnJXMnIgorbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgZXhjbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTg1CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGluY2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxNiBzeXMtdXRpbHMvd2RjdGwuYzoxNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjE5CisjLCBmdXp6eQorbXNnaWQgIkxpc3QgaW5mb3JtYXRpb24gYWJvdXQgYmxvY2sgZGV2aWNlcy5cbiIKK21zZ3N0ciAiJXM6IGV6IG5lbSBibG9ra29zIGVzemvDtnpcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjIKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI0CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1ub2RlcHMgICAgICAgICBkb24ndCBwcmludCBzbGF2ZXMgb3IgaG9sZGVyc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgICBhIGxlbWV6IHTDqW55bGVnZXMgw61yw6Fzw6FuYWsga2loYWd5w6FzYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjUKK21zZ2lkICIgLUQsIC0tZGlzY2FyZCAgICAgICAgcHJpbnQgZGlzY2FyZCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNgorbXNnaWQgIiAtZSwgLS1leGNsdWRlIDxsaXN0PiBleGNsdWRlIGRldmljZXMgYnkgbWFqb3IgbnVtYmVyIChkZWZhdWx0OiBSQU0gZGlza3MpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjcKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZzICAgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjgKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWFzY2lpICAgICAgICAgIHVzZSBhc2NpaSBjaGFyYWN0ZXJzIG9ubHlcbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICAgICBBIGdldG9wdCgxKSB2ZXJ6acOzIHRlc3p0ZWzDqXNlXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI5Cittc2dpZCAiIC1JLCAtLWluY2x1ZGUgPGxpc3Q+IHNob3cgb25seSBkZXZpY2VzIHdpdGggc3BlY2lmaWVkIG1ham9yIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMAorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMgorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tcGVybXMgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNAorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM1CisjLCBmdXp6eQorbXNnaWQgIiAtTywgLS1vdXRwdXQtYWxsICAgICBvdXRwdXQgYWxsIGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPWthcGNzb2zDsy1rYXJha3RlcmzDoW5jICBGZWxpc21lcmVuZMWRIHLDtnZpZCBrYXBjc29sw7NrXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM2CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wYXRocyAgICAgICAgICBwcmludCBjb21wbGV0ZSBkZXZpY2UgcGF0aFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzOQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDAKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNjc2kgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IFNDU0kgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MQorbXNnaWQgIiAtdCwgLS10b3BvbG9neSAgICAgICBvdXRwdXQgaW5mbyBhYm91dCB0b3BvbG9neVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQyCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1zb3J0IDxjb2x1bW4+ICBzb3J0IG91dHB1dCBieSA8Y29sdW1uPlxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9a2FwY3NvbMOzLWthcmFrdGVybMOhbmMgIEZlbGlzbWVyZW5kxZEgcsO2dmlkIGthcGNzb2zDs2tcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDcgbWlzYy11dGlscy9sc2xvY2tzLmM6NTE5IHN5cy11dGlscy9sc25zLmM6NjMyCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE5NiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1vdXRwdXQpOlxuIgorbXNnc3RyICJFbMOpcmhldMWRIHBhcmFuY3NvazpcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhY2Nlc3Mgc3lzZnMgZGlyZWN0b3J5OiAlcyIKK21zZ3N0ciAiYSh6KSDigJ4lc+KAnSBuZW0gbnlpdGhhdMOzIG1lZzogJXMiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjczCittc2dpZCAiY29tbWFuZCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc0Cittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzUKK21zZ2lkICJraW5kIG9mIGxvY2s6IEZMX0ZMT0NLIG9yIEZMX1BPU0lYLiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NgorIywgZnV6enkKK21zZ2lkICJzaXplIG9mIHRoZSBsb2NrIgorbXNnc3RyICJhIHN0YXQgdsOpZ3JlaGFqdMOhc2EgYXogZWzDqXLDqXNpIMO6dG9uIG1lZ2hpw7pzdWx0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc3CisjLCBmdXp6eQorbXNnaWQgImxvY2sgYWNjZXNzIG1vZGUiCittc2dzdHIgIm5lbSBkw6ltb25pesOhbGhhdMOzIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OAorbXNnaWQgIm1hbmRhdG9yeSBzdGF0ZSBvZiB0aGUgbG9jazogMCAobm9uZSksIDEgKHNldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzkKK21zZ2lkICJyZWxhdGl2ZSBieXRlIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MAorbXNnaWQgImVuZGluZyBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAicGF0aCBvZiB0aGUgbG9ja2VkIGZpbGUiCittc2dzdHIgIk5lbSBueWl0aGF0w7MgbWVnIGEoeikg4oCeJXPigJ0gZsOhamwiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgyCittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGJsb2NraW5nIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI1OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSUQiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODEgc3lzLXV0aWxzL25zZW50ZXIuYzoyMzIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBpZCIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4NAorIywgZnV6enkKK21zZ2lkICIodW5rbm93bikiCittc2dzdHIgImlzbWVyZXRsZW4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI5MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozMDAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVuZCIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNAorIywgZnV6enkKK21zZ2lkICJMaXN0IGxvY2FsIHN5c3RlbSBsb2Nrcy5cbiIKK21zZ3N0ciAiQSByZW5kc3plcsOzcmEgbmVtIMOhbGzDrXRoYXTDsyBiZS5cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA4Cittc2dpZCAiIC1pLCAtLW5vaW5hY2Nlc3NpYmxlICAgaWdub3JlIGxvY2tzIHdpdGhvdXQgcmVhZCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwOSBzeXMtdXRpbHMvbHNucy5jOjYyMQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMCBzeXMtdXRpbHMvbHNucy5jOjYyMgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1rYXBjc29sw7Mta2FyYWt0ZXJsw6FuYyAgRmVsaXNtZXJlbmTFkSByw7Z2aWQga2FwY3NvbMOza1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTEKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBkaXNwbGF5IG9ubHkgbG9ja3MgaGVsZCBieSB0aGlzIHByb2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTIgc3lzLXV0aWxzL2xzbnMuYzo2MjQKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1NzAgc2NoZWR1dGlscy9jaHJ0LmM6NDc4IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc3CisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxNjMgc3lzLXV0aWxzL2xzbnMuYzo2OTkgc3lzLXV0aWxzL3BybGltaXQuYzo1ODYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBQSUQgYXJndW1lbnQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4gYXpvbm9zw610w7M6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg1Cittc2dpZCAiR2VuZXJhdGUgbWFnaWMgY29va2llcyBmb3IgeGF1dGguXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODgKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgIHVzZSBmaWxlIGFzIGEgY29va2llIHNlZWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OQorbXNnaWQgIiAtbSwgLS1tYXgtc2l6ZSA8bnVtPiAgbGltaXQgaG93IG11Y2ggaXMgcmVhZCBmcm9tIHNlZWQgZmlsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo5MAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR290ICV6dSBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICV6dSBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIiVkIGLDoWp0IMOpcmtlemV0dCBhIGvDtnZldGtlesWRdMWRbDogJXNcbiIKK21zZ3N0clsxXSAiJWQgYsOhanQgw6lya2V6ZXR0IGEga8O2dmV0a2V6xZF0xZFsOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNsb3NpbmcgJXMgZmFpbGVkIgorbXNnc3RyICJhIHbDqWdyZWhhanTDoXMgbWVnaGnDunN1bHRcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTY0IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTQ2IHN5cy11dGlscy9mc3RyaW0uYzozMDgKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGVuZ3RoIgorbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTc3Cittc2dpZCAiLS1tYXgtc2l6ZSBpZ25vcmVkIHdoZW4gdXNlZCB3aXRob3V0IC0tZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlZCBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICVkIGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAiJWQgYsOhanQgw6lya2V6ZXR0IGEga8O2dmV0a2V6xZF0xZFsOiAlc1xuIgorbXNnc3RyWzFdICIlZCBiw6FqdCDDqXJrZXpldHQgYSBrw7Z2ZXRrZXrFkXTFkWw6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3ltbGluazogJXMiCittc2dzdHIgImF6IGlkxZF6w610w6lzZsOhamwgKCVzKSBvbHZhc8Ohc2EgbWVnaGnDunN1bHQiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzoyODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIC0gTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeVxuIgorbXNnc3RyICJhIGd5w7Zrw6lyIGlub2RlIG5lbSBrw7ZueXZ0w6FyIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwYXRobmFtZT4uLi5cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzYKK21zZ2lkICJGb2xsb3cgYSBwYXRobmFtZSB1bnRpbCBhIHRlcm1pbmFsIHBvaW50IGlzIGZvdW5kLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzkKK21zZ2lkICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheXMgdGhpcyBoZWxwIHRleHRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAteCwgLS1tb3VudHBvaW50cyAgIHNob3cgbW91bnQgcG9pbnQgZGlyZWN0b3JpZXMgd2l0aCBhICdEJ1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIHNob3cgdGhlIG1vZGUgYml0cyBvZiBlYWNoIGZpbGVcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBzaG93IG93bmVyIGFuZCBncm91cCBuYW1lIG9mIGVhY2ggZmlsZVxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIHVzZSBhIGxvbmcgbGlzdGluZyBmb3JtYXQgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICBkb24ndCBmb2xsb3cgc3ltbGlua3NcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICB2ZXJ0aWNhbCBhbGlnbiBvZiBtb2RlcyBhbmQgb3duZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQwOAorIywgZnV6enkKK21zZ2lkICJwYXRobmFtZSBhcmd1bWVudCBpcyBtaXNzaW5nIgorbXNnc3RyICJBIC0tZGF0ZSBwYXJhbcOpdGVyZSB0w7psIGhvc3N6w7pcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNCBzeXMtdXRpbHMvbHNucy5jOjc2NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgVUlEIGNhY2hlIgorbXNnc3RyICJuZW0gZm9nbGFsaGF0w7MgbGUga2ltZW5ldGkgcHVmZmVyIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHSUQgY2FjaGUiCittc2dzdHIgIm5lbSBmb2dsYWxoYXTDsyBsZSBraW1lbmV0aSBwdWZmZXIiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4Y2VlZGVkIGxpbWl0IG9mIHN5bWxpbmtzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICIlczogZXogbmVtIGJsb2trb3MgZXN6a8O2elxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZGxpbmsgZmFpbGVkIgorbXNnc3RyICJheiBvcGVucHR5IG1lZ2hpw7pzdWx0XG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmxpbmsgZmFpbGVkIgorbXNnc3RyICIlczogYXogbHNlZWsgbWVnaGnDunN1bHQiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzeW1saW5raW5nIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGEoeikgJXMgw6F0bmV2ZXrDqXNlIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXM6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVuYW1lIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGEoeikgJXMgw6F0bmV2ZXrDqXNlIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXM6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxleHByZXNzaW9uPiA8cmVwbGFjZW1lbnQ+IDxmaWxlPi4uLlxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAiUmVuYW1lIGZpbGVzLlxuIgorbXNnc3RyICJhIHBvemljaW9uw6Fsw6FzIG1lZ2hpw7pzdWx0IgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyNQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyNgorbXNnaWQgIiAtcywgLS1zeW1saW5rICAgIGFjdCBvbiB0aGUgdGFyZ2V0IG9mIHN5bWxpbmtzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcyCittc2dpZCAiQSBkYWVtb24gZm9yIGdlbmVyYXRpbmcgVVVJRHMuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgPHBhdGg+ICAgICAgICBwYXRoIHRvIHBpZCBmaWxlXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1rYXBjc29sw7Mta2FyYWt0ZXJsw6FuYyAgRmVsaXNtZXJlbmTFkSByw7Z2aWQga2FwY3NvbMOza1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNvY2tldCA8cGF0aD4gICAgIHBhdGggdG8gc29ja2V0XG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1rYXBjc29sw7Mta2FyYWt0ZXJsw6FuYyAgRmVsaXNtZXJlbmTFkSByw7Z2aWQga2FwY3NvbMOza1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRpbWVvdXQgPHNlYz4gICAgIHNwZWNpZnkgaW5hY3Rpdml0eSB0aW1lb3V0XG4iCittc2dzdHIgIiIKKyIgIC1zLCAtLXNoZWxsPXBhcmFuY3PDqXJ0ZWxtZXrFkSAgICAgQSBwYXJhbmNzw6lydGVsbWV6xZEgaWTDqXrDqXNpIG1lZ8OhbGxhcG9kw6FzYWluYWtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmXDoWxsw610w6FzYVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGtpbGwgcnVubmluZyBkYWVtb25cbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc4CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3OQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgdGVzdCB0aW1lLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICAgICBBIGdldG9wdCgxKSB2ZXJ6acOzIHRlc3p0ZWzDqXNlXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tdXVpZHMgPG51bT4gICAgICAgcmVxdWVzdCBudW1iZXIgb2YgdXVpZHNcbiIKK21zZ3N0ciAiICAgIC1IIyBbdmFneSAtLWhlYWRzICNdOiAgICAgIGEgaGFzem7DoWxhbmTDsyBmZWpzesOhbSBiZcOhbGzDrXTDoXNhIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEEgcGFydMOtY2nDs3MgdMOhYmxhIGtpw61yw6FzYSBhIGvDqXBlcm55xZFyZSB2YWd5IGbDoWpsYmEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MgorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODMKK21zZ2lkICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjg0CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBydW4gaW4gZGVidWdnaW5nIG1vZGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjg1CisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0dXJuIG9uIHF1aWV0IG1vZGVcbiIKK21zZ3N0ciAiICAgIC1xICBbdmFneSAtLXF1aWV0XTogICAgZmlneWVsbWV6dGV0xZEgw7x6ZW5ldGVrIGVsbsOpbcOtdMOhc2EiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMTgKKyMsIGZ1enp5Cittc2dpZCAiYmFkIGFyZ3VtZW50cyIKK21zZ3N0ciAiY29sOiBoaWLDoXMgLWwga2FwY3NvbMOzOiAlcy5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEyNQorIywgZnV6enkKK21zZ2lkICJzb2NrZXQiCittc2dzdHIgImZvZ2xhbGF0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTM2CisjLCBmdXp6eQorbXNnaWQgImNvbm5lY3QiCittc2dzdHIgIm4uc3rDoW0iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNTYKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUiCittc2dzdHIgIsOtcsOhcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE2NAorIywgZnV6enkKK21zZ2lkICJyZWFkIGNvdW50IgorbXNnc3RyICJpZMWRdMO6bGzDqXDDqXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNzAKK21zZ2lkICJiYWQgcmVzcG9uc2UgbGVuZ3RoIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBsb2NrICVzIgorbXNnc3RyICJhKHopICVzIG5lbSBueWl0aGF0w7MgbWVnIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjQ2CisjLCBmdXp6eQorbXNnaWQgImNvdWxkbid0IGNyZWF0ZSB1bml4IHN0cmVhbSBzb2NrZXQiCittc2dzdHIgIk5lbSBsZWhldCB6w6Fyb2xuaSBhKHopICVzIHrDoXJvbMOhc2kgZsOhamx0OiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBiaW5kIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICJzaHV0ZG93bjogTmVtIGxlaGV0IGxldsOhbGFzenRhbmkgYSBrw7Z2ZXRrZXrFkXQ6ICVzOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mjk4CisjLCBmdXp6eQorbXNnaWQgInJlY2VpdmluZyBzaWduYWwgZmFpbGVkIgorbXNnc3RyICIlczogYSh6KSAlcyDDoXRuZXZlesOpc2UgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlczogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjMxMQorbXNnaWQgInRpbWVkIG91dCIKK21zZ3N0ciAiaWTFkXTDumxsw6lww6lzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzQ1IHN5cy11dGlscy9mbG9jay5jOjI3MQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHVwIHRpbWVyIgorbXNnc3RyICJhIGNzb3BvcnRhem9ub3PDrXTDsyBuZW0gw6FsbMOtdGhhdMOzIGJlIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgInV1aWRkIGRhZW1vbiBpcyBhbHJlYWR5IHJ1bm5pbmcgYXQgcGlkICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGxpc3RlbiBvbiB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAiTmVtIGxlaGV0IHrDoXJvbG5pIGEoeikgJXMgesOhcm9sw6FzaSBmw6FqbHQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB0cnVuY2F0ZSBmaWxlOiAlcyIKK21zZ3N0ciAiYSh6KSDigJ4lc+KAnSBuZW0gw6lyaGV0xZEgZWwiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODYKKyMsIGZ1enp5Cittc2dpZCAic2RfbGlzdGVuX2ZkcygpIGZhaWxlZCIKK21zZ3N0ciAiQSBzZXR0aW1lb2ZkYXkoKSBuZW0gc2lrZXLDvGx0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzg5Cittc2dpZCAibm8gZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgc3lzdGVtY3RsIHN0YXR1cyB1dWlkZC5zb2NrZXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM5MgorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayB1dWlkZC5zb2NrZXQiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgbWVnaGnDunN1bHQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MjAgdGVybS11dGlscy9zY3JpcHQuYzo0NTUKKyMsIGZ1enp5Cittc2dpZCAicG9sbCBmYWlsZWQiCittc2dzdHIgImEgbWVtw7NyaWFmb2dsYWzDoXMgc2lrZXJ0ZWxlbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltZW91dCBbJWQgc2VjXVxuIgorbXNnc3RyICJBIGJlamVsZW50a2V6w6lzICVkIG3DoXNvZHBlcmMgdXTDoW4gdMO6bGzDqXB0ZSBheiBpZMWRa29ybMOhdG90XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDMgdGV4dC11dGlscy9jb2x1bW4uYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBmYWlsZWQiCittc2dzdHIgImF6IG9sdmFzw6FzIG1lZ2hpw7pzdWx0OiAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciByZWFkaW5nIGZyb20gY2xpZW50LCBsZW4gPSAlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZCwgaW5jb21pbmcgbnVtID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAiTmVtIHRhbMOhbGhhdMOzayBwYXJ0w61jacOza1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQ6ICVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgcmFuZG9tIFVVSUQ6ICVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCAlZCBVVUlEOlxuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgJWQgVVVJRHM6XG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIG9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGthcGNzb2zDsyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUzOQorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIHJlcGx5IGxlbmd0aCBmcm9tIHNlcnZlciAlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjAwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXV1aWRzIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYxNworbXNnaWQgInV1aWRkIGhhcyBiZWVuIGJ1aWx0IHdpdGhvdXQgc3VwcG9ydCBmb3Igc29ja2V0IGFjdGl2YXRpb24iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYzNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10aW1lb3V0IgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1MworbXNnaWQgIkJvdGggLS1zb2NrZXQtYWN0aXZhdGlvbiBhbmQgLS1zb2NrZXQgc3BlY2lmaWVkLiBJZ25vcmluZyAtLXNvY2tldC4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2MCBtaXNjLXV0aWxzL3V1aWRkLmM6Njg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjYWxsaW5nIHV1aWRkIGRhZW1vbiAoJXMpIgorbXNnc3RyICJoaWJhIGEoeikgJXMgbcOzZGrDoW5hayBtw7Nkb3PDrXTDoXNha29yOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYxIG1pc2MtdXRpbHMvdXVpZGQuYzo2ODkKKyMsIGZ1enp5Cittc2dpZCAidW5leHBlY3RlZCBlcnJvciIKK21zZ3N0ciAiJXM6ICVzOiB2w6FyYXRsYW4gZsOhamxmb3Jtw6F0dW1cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEXG4iCittc2dpZF9wbHVyYWwgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURzXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjczCisjLCBjLWZvcm1hdAorbXNnaWQgIkxpc3Qgb2YgVVVJRHM6XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3Qga2lsbCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZCIKK21zZ3N0ciAic2h1dGRvd246IE5lbSBsZWhldCBsZXbDoWxhc3p0YW5pIGEga8O2dmV0a2V6xZF0OiAlczogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiS2lsbGVkIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkLlxuIgorbXNnc3RyICJzaHV0ZG93bjogTmVtIGxlaGV0IGxldsOhbGFzenRhbmkgYSBrw7Z2ZXRrZXrFkXQ6ICVzOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyOAorIywgZnV6enkKK21zZ2lkICJDcmVhdGUgYSBuZXcgVVVJRCB2YWx1ZS5cbiIKK21zZ3N0ciAiICAgcyAgIMO6aiwgw7xyZXMgU3VuIGxlbWV6Y8OtbWtlIGzDqXRyZWhvesOhc2EiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjMxCittc2dpZCAiIgorIiAtciwgLS1yYW5kb20gICAgIGdlbmVyYXRlIHJhbmRvbS1iYXNlZCB1dWlkXG4iCisiIC10LCAtLXRpbWUgICAgICAgZ2VuZXJhdGUgdGltZS1iYXNlZCB1dWlkXG4iCisiIC1WLCAtLXZlcnNpb24gICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLUJNUyA8ZGlyPi4uLiAtZl0gPG5hbWU+XG4iCittc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTIKK21zZ2lkICJMb2NhdGUgdGhlIGJpbmFyeSwgc291cmNlLCBhbmQgbWFudWFsLXBhZ2UgZmlsZXMgZm9yIGEgY29tbWFuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTUKKyMsIGZ1enp5Cittc2dpZCAiIC1iICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIGJpbmFyaWVzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICAgIGEgbGVtZXogdMOpbnlsZWdlcyDDrXLDoXPDoW5hayBraWhhZ3nDoXNhIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTYKK21zZ2lkICIgLUIgPGRpcnM+ICBkZWZpbmUgYmluYXJpZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTcKKyMsIGZ1enp5Cittc2dpZCAiIC1tICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIG1hbnVhbHMgYW5kIGluZm9zXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICAgIGEgbGVtZXogdMOpbnlsZWdlcyDDrXLDoXPDoW5hayBraWhhZ3nDoXNhIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTgKK21zZ2lkICIgLU0gPGRpcnM+ICBkZWZpbmUgbWFuIGFuZCBpbmZvIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk5Cittc2dpZCAiIC1zICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIHNvdXJjZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDAKK21zZ2lkICIgLVMgPGRpcnM+ICBkZWZpbmUgc291cmNlcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMQorIywgZnV6enkKK21zZ2lkICIgLWYgICAgICAgICB0ZXJtaW5hdGUgPGRpcnM+IGFyZ3VtZW50IGxpc3RcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAyCittc2dpZCAiIC11ICAgICAgICAgc2VhcmNoIGZvciB1bnVzdWFsIGVudHJpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDMKK21zZ2lkICIgLWwgICAgICAgICBvdXRwdXQgZWZmZWN0aXZlIGxvb2t1cCBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjYxOQorIywgZnV6enkKK21zZ2lkICJvcHRpb24gLWYgaXMgbWlzc2luZyIKK21zZ3N0ciAiQSAtLWRhdGUgcGFyYW3DqXRlcmUgdMO6bCBob3NzesO6XG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTk2CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiUGFydMOtY2nDs3N6w6FtIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjI2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBwcm9iaW5nIGluaXRpYWxpemF0aW9uIGZhaWxlZCIKK21zZ3N0ciAiaGliYTogYXogVVVJRCBmZWxkb2xnb3rDoXMgbWVnaGnDunN1bHQiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGVyYXNlICVzIG1hZ2ljIHN0cmluZyBhdCBvZmZzZXQgMHglMDhqeCIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dpZF9wbHVyYWwgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzBdICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKK21zZ3N0clsxXSAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAiCittc2dzdHIgIiVzOiAlczogbmVtIGxlaGV0IMOtcm5pIGF6IGFsw6HDrXLDoXNsYXByYTogJXMiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FsbGluZyBpb2N0bCB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZTogJW1cbiIKK21zZ3N0ciAiaW9jdGwoKSBow612w6FzYSBhIHBhcnTDrWNpw7NzIHTDoWJsYSDDumpyYW9sdmFzw6Fzw6Fob3ouXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6Mzg1Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaWdub3JpbmcgbmVzdGVkIFwiJXNcIiBwYXJ0aXRpb24gdGFibGUgb24gbm9uLXdob2xlIGRpc2sgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0IDB4JWp4IG5vdCBmb3VuZCIKK21zZ3N0ciAidW1vdW50OiAlcyBuZW0gdGFsw6FsaGF0w7MiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDM1CisjLCBmdXp6eQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBvcHRpb24gdG8gZm9yY2UgZXJhc2UuIgorbXNnc3RyICJIYXN6bsOhbGphIGEgLS1mb3JjZSBrYXBjc29sw7N0IGF6IMO2c3N6ZXMgZWxsZW7FkXJ6w6lzIGZlbMO8bGLDrXLDoWzDoXPDoWhvei5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0NTkKK21zZ2lkICJXaXBlIHNpZ25hdHVyZXMgZnJvbSBhIGRldmljZS5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ2MgorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICB3aXBlIGFsbCBtYWdpYyBzdHJpbmdzIChCRSBDQVJFRlVMISlcbiIKKyIgLWIsIC0tYmFja3VwICAgICAgICBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIGluICRIT01FXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgZm9yY2UgZXJhc3VyZVxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKKyIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgYWN0dWFsIHdyaXRlKCkgY2FsbFxuIgorIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCB0byBlcmFzZSwgaW4gYnl0ZXNcbiIKKyIgLXAsIC0tcGFyc2FibGUgICAgICBwcmludCBvdXQgaW4gcGFyc2FibGUgaW5zdGVhZCBvZiBwcmludGFibGUgZm9ybWF0XG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcHJlc3Mgb3V0cHV0IG1lc3NhZ2VzXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtLCBSQUlEcyBvciBwYXJ0aXRpb24gdGFibGVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjUzMworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG9mZnNldCBhcmd1bWVudCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTU4Cittc2dpZCAiVGhlIC0tYmFja3VwIG9wdGlvbiBpcyBtZWFuaW5nbGVzcyBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM1Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlYWwtdGltZSBzY2hlZHVsaW5nIGF0dHJpYnV0ZXMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNworbXNnaWQgIiIKKyJTZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSA8cHJpb3JpdHk+IDxjb21tYW5kPiBbPGFyZz4uLi5dXG4iCisiIGNocnQgW29wdGlvbnNdIC0tcGlkIDxwcmlvcml0eT4gPHBpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDEKK21zZ2lkICIiCisiR2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gLXAgPHBpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDUKKyMsIGZ1enp5Cittc2dpZCAiUG9saWN5IG9wdGlvbnM6XG4iCittc2dzdHIgIlZlc3rDqWx5ZXMga2FwY3NvbMOzazoiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NgorbXNnaWQgIiAtYiwgLS1iYXRjaCAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0JBVENIXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ3CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kZWFkbGluZSAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0RFQURMSU5FXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgcGFyYW3DqXRlcmVrXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlmbyAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9GSUZPXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgcGFyYW3DqXRlcmVrXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OQorbXNnaWQgIiAtaSwgLS1pZGxlICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTAKK21zZ2lkICIgLW8sIC0tb3RoZXIgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcnIgICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTQKKyMsIGZ1enp5Cittc2dpZCAiU2NoZWR1bGluZyBvcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydMOtY2nDszpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU1Cittc2dpZCAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgc2V0IFNDSEVEX1JFU0VUX09OX0ZPUksgZm9yIEZJRk8gb3IgUlJcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTYKK21zZ2lkICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBydW50aW1lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTcKK21zZ2lkICIgLVAsIC0tc2NoZWQtcGVyaW9kIDxucz4gICBwZXJpb2QgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1OAorbXNnaWQgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IGRlYWRsaW5lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiT3RoZXIgb3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnTDrWNpw7M6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MgorbXNnaWQgIiAtYSwgLS1hbGwtdGFza3MgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MworIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbWF4ICAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjIzMiBzY2hlZHV0aWxzL2NocnQuYzoyNTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJBIHN6ZW3DqWx5aXPDqWcgYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhdHRyaWJ1dGVzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2NworIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcHJpb3JpdHk6ICVkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMDAgc2NoZWR1dGlscy9jaHJ0LmM6Mzk2CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvYnRhaW4gdGhlIGxpc3Qgb2YgdGFza3MiCittc2dzdHIgIiVzOiBuZW0gdGFsw6FsaGF0w7MgYSh6KSAlcyBlc3prw7Z6ZVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbWluL21heCBwcmlvcml0eVx0OiAlZC8lZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IHN1cHBvcnRlZD9cbiIKK21zZ3N0ciAidW1vdW50OiAlcyBuZW0gdGFsw6FsaGF0w7MiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aWQgJWQncyBwb2xpY3kiCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHJ1bnRpbWUgYXJndW1lbnQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwZXJpb2QgYXJndW1lbnQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBkZWFkbGluZSBhcmd1bWVudCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUxNworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5IGFyZ3VtZW50IgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGthcGNzb2zDsyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTIxCittc2dpZCAiLS1yZXNldC1vbi1mb3JrIG9wdGlvbiBpcyBzdXBwb3J0ZWQgZm9yIFNDSEVEX0ZJRk8gYW5kIFNDSEVEX1JSIHBvbGljaWVzIG9ubHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTI2Cittc2dpZCAiLS1zY2hlZC17cnVudGltZSxkZWFkbGluZSxwZXJpb2R9IG9wdGlvbnMgYXJlIHN1cHBvcnRlZCBmb3IgU0NIRURfREVBRExJTkUgb25seSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1NDEKK21zZ2lkICJTQ0hFRF9ERUFETElORSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJpb3JpdHkgdmFsdWUgZm9yIHRoZSBwb2xpY3k6ICVkOiBzZWUgLS1tYXggZm9yIHZhbGlkIHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAiaW9wcmlvX2dldCBmYWlsZWQiCittc2dzdHIgImF6IG9wZW5wdHkgbWVnaGnDunN1bHRcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHByaW8gJWx1XG4iCittc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjk4CisjLCBmdXp6eQorbXNnaWQgImlvcHJpb19zZXQgZmFpbGVkIgorbXNnc3RyICJheiBvcGVucHR5IG1lZ2hpw7pzdWx0XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXAgPHBpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC11IDx1aWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTEwCittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIEkvTy1zY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTMKK21zZ2lkICIiCisiIC1jLCAtLWNsYXNzIDxjbGFzcz4gICAgbmFtZSBvciBudW1iZXIgb2Ygc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IG5vbmUsIDE6IHJlYWx0aW1lLCAyOiBiZXN0LWVmZm9ydCwgMzogaWRsZVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE1Cittc2dpZCAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPG51bT4gIHByaW9yaXR5ICgwLi43KSBpbiB0aGUgc3BlY2lmaWVkIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IGZvciB0aGUgcmVhbHRpbWUgYW5kIGJlc3QtZWZmb3J0IGNsYXNzZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNworbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4uLi4gICAgIGFjdCBvbiB0aGVzZSBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTgKK21zZ2lkICIgLVAsIC0tcGdpZCA8cGdycD4uLi4gICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBpbiB0aGVzZSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0taWdub3JlICAgICAgICAgICBpZ25vcmUgZmFpbHVyZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMjAKK21zZ2lkICIgLXUsIC0tdWlkIDx1aWQ+Li4uICAgICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBvd25lZCBieSB0aGVzZSB1c2Vyc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY2xhc3MgZGF0YSBhcmd1bWVudCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTYzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY2xhc3MgYXJndW1lbnQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4gYXpvbm9zw610w7M6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNjaGVkdWxpbmcgY2xhc3M6ICclcyciCittc2dzdHIgIiVzOiBJc21lcmV0bGVuIHBhcmFuY3M6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc2IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg0IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkyCittc2dpZCAiY2FuIGhhbmRsZSBvbmx5IG9uZSBvZiBwaWQsIHBnaWQgb3IgdWlkIGF0IG9uY2UiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBQR0lEIGFyZ3VtZW50IgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGF6b25vc8OtdMOzOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFVJRCBhcmd1bWVudCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBhem9ub3PDrXTDszogJXNcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMTIKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBub25lIGNsYXNzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjIwCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3IgaWRsZSBjbGFzcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvIGNsYXNzICVkIgorbXNnc3RyICJpc21lcmV0bGVuIGhpYmEgYXogYXpvbm9zw610w7NiYW4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiVXNhZ2U6ICVzIFtvcHRpb25zXSBbbWFzayB8IGNwdS1saXN0XSBbcGlkfGNtZCBbYXJncy4uLl1dXG4iCisiXG4iCittc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1NQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBDUFUgYWZmaW5pdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJPcHRpb25zOlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICBkaXNwbGF5IGFuZCBzcGVjaWZ5IGNwdXMgaW4gbGlzdCBmb3JtYXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHBcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gcnVuIGEgbmV3IGNvbW1hbmQ6XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisiWW91IGNhbiByZXRyaWV2ZSB0aGUgbWFzayBvZiBhbiBleGlzdGluZyB0YXNrOlxuIgorIiAgICAlMSRzIC1wIDcwMFxuIgorIk9yIHNldCBpdDpcbiIKKyIgICAgJTEkcyAtcCAwMyA3MDBcbiIKKyJMaXN0IGZvcm1hdCB1c2VzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QgaW5zdGVhZCBvZiBhIG1hc2s6XG4iCisiICAgICUxJHMgLXBjIDAsMyw3LTExIDcwMFxuIgorIlJhbmdlcyBpbiBsaXN0IGZvcm1hdCBjYW4gdGFrZSBhIHN0cmlkZSBhcmd1bWVudDpcbiIKKyIgICAgZS5nLiAwLTMxOjIgaXMgZXF1aXZhbGVudCB0byBtYXNrIDB4NTU1NTU1NTVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk5CisjLCBmdXp6eQorbXNnaWQgImludGVybmFsIGVycm9yOiBjb252ZXJzaW9uIGZyb20gY3B1c2V0IHRvIHN0cmluZyBmYWlsZWQiCittc2dzdHIgInJ0YyBpZMWRIMOhdGFsYWvDrXTDoXNhIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMDkgc2NoZWR1dGlscy90YXNrc2V0LmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICJBIHN6ZW3DqWx5aXPDqWcgYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxODYgc3lzLXV0aWxzL2NoY3B1LmM6Mjg5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgTlJfQ1BVUzsgYWJvcnRpbmciCittc2dzdHIgImEoeikgJXMgbcOpcmV0ZSBuZW0gw6FsbGFww610aGF0w7MgbWVnIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxOTUgc2NoZWR1dGlscy90YXNrc2V0LmM6MjA4IHN5cy11dGlscy9jaGNwdS5jOjI5NQorIywgZnV6enkKK21zZ2lkICJjcHVzZXRfYWxsb2MgZmFpbGVkIgorbXNnc3RyICJhIG1hbGxvYyBtZWdoacO6c3VsdCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjE1IHN5cy11dGlscy9jaGNwdS5jOjIzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAiYXogaWTFkXrDrXTDqXNmw6FqbCAoJXMpIG9sdmFzw6FzYSBtZWdoacO6c3VsdCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2s6ICVzIgorbXNnc3RyICJheiBpZMWResOtdMOpc2bDoWpsICglcykgb2x2YXPDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBaZXJvLWZpbGxlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IERpc2NhcmRlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODcKK21zZ2lkICJEaXNjYXJkIHRoZSBjb250ZW50IG9mIHNlY3RvcnMgb24gYSBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iCittc2dzdHIgIiAgICAtQyMgW3ZhZ3kgLS1jeWxpbmRlcnMgI106ICBhIGhhc3puw6FsYW5kw7MgY2lsaW5kZXJzesOhbSBiZcOhbGzDrXTDoXNhIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkxCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgICAgLUMjIFt2YWd5IC0tY3lsaW5kZXJzICNdOiAgYSBoYXN6bsOhbGFuZMOzIGNpbGluZGVyc3rDoW0gYmXDoWxsw610w6FzYSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTQKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXplcm9vdXQgICAgICAgemVyby1maWxsIHJhdGhlciB0aGFuIGRpc2NhcmRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTUwIHN5cy11dGlscy9mc3RyaW0uYzozMTIgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NzMKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjEyNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IgorbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0ZXAiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3MiBzeXMtdXRpbHMvenJhbWN0bC5jOjY4MiBzeXMtdXRpbHMvenJhbWN0bC5jOjcwOAorIywgZnV6enkKK21zZ2lkICJubyBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJtb3VudDogYSBodXJva2VzemvDtnp0IGvDqXRzemVyIGFkdGEgbWVnIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3NyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzUxCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjIgc3lzLXV0aWxzL2ZzdHJpbS5jOjMzNAorIywgZnV6enkKK21zZ2lkICJ1bmV4cGVjdGVkIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgImEgdsOhcnQgc3rDoW0gaGVseWV0dCDigJ4lc+KAnSB0YWzDoWxoYXTDsyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJBIEJMS0dFVFNJWkUgaW9jdGwgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkW46ICVzXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU1NaR0VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXMgbWVnaGnDunN1bHQuXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0IGlzIGdyZWF0ZXIgdGhhbiBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAiTmVtIGxlaGV0IGxla8OpcmRlem5pIGEgbGVtZXogbcOpcmV0w6l0IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGVuZ3RoICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1pFUk9PVVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlcyBtZWdoacO6c3VsdC5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTRUNESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXMgbWVnaGnDunN1bHQuXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzIG1lZ2hpw7pzdWx0LlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo4NyBzeXMtdXRpbHMvY2hjcHUuYzoxNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiJXM6IOKAniVz4oCdIG5lbSBsw6l0ZXppay5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgaG90IHBsdWdnYWJsZSIKK21zZ3N0ciAiJXM6IOKAniVz4oCdIG5lbSBmdXR0YXRoYXTDsy5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGVuYWJsZWRcbiIKK21zZ3N0ciAiQSh6KSAlZC4gc3pla3RvciBtw6FyIGxlIHZhbiBmb2dsYWx2YVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIkEoeikgJWQuIHN6ZWt0b3IgbcOhciBsZSB2YW4gZm9nbGFsdmFcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCAoQ1BVIGlzIGRlY29uZmlndXJlZCkiCittc2dzdHIgIkEoeikgJWQuIHN6ZWt0b3IgbcOhciBsZSB2YW4gZm9nbGFsdmFcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCIKK21zZ3N0ciAiQSh6KSAlZC4gc3pla3RvciBtw6FyIGxlIHZhbiBmb2dsYWx2YVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGVkXG4iCittc2dzdHIgIkEoeikgJWQuIHN6ZWt0b3IgbcOhciBsZSB2YW4gZm9nbGFsdmFcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQgKGxhc3QgZW5hYmxlZCBDUFUpIgorbXNnc3RyICJBKHopICVkLiBzemVrdG9yIG3DoXIgbGUgdmFuIGZvZ2xhbHZhXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICJBKHopICVkLiBzemVrdG9yIG3DoXIgbGUgdmFuIGZvZ2xhbHZhXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGVkXG4iCittc2dzdHIgIkEoeikgJWQuIHN6ZWt0b3IgbcOhciBsZSB2YW4gZm9nbGFsdmFcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCByZXNjYW5uaW5nIG9mIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byB0cmlnZ2VyIHJlc2NhbiBvZiBDUFVzIgorbXNnc3RyICJBIHN6ZW3DqWx5aXPDqWcgYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJpZ2dlcmVkIHJlc2NhbiBvZiBDUFVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTUxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBzZXR0aW5nIHRoZSBkaXNwYXRjaGluZyBtb2RlIG9mIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU1CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICJBIHN6ZW3DqWx5aXPDqWcgYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1OQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHZlcnRpY2FsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCB2ZXJ0aWNhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBjb25maWd1cmFibGUiCittc2dzdHIgIiVzOiDigJ4lc+KAnSBuZW0gZnV0dGF0aGF0w7MuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgY29uZmlndXJlZFxuIgorbXNnc3RyICJBKHopICVkLiBzemVrdG9yIG3DoXIgbGUgdmFuIGZvZ2xhbHZhXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIkEoeikgJWQuIHN6ZWt0b3IgbcOhciBsZSB2YW4gZm9nbGFsdmFcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIChDUFUgaXMgZW5hYmxlZCkiCittc2dzdHIgIiVzOiDigJ4lc+KAnSBuZW0gZnV0dGF0aGF0w7MuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIiVzOiDigJ4lc+KAnSBuZW0gZnV0dGF0aGF0w7MuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiJXM6IOKAniVz4oCdIG5lbSBmdXR0YXRoYXTDsy5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICIlczog4oCeJXPigJ0gbmVtIGZ1dHRhdGhhdMOzLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiJXM6IOKAniVz4oCdIG5lbSBmdXR0YXRoYXTDsy5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIENQVSBudW1iZXIgaW4gQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICJhIHNvcm9rIHN6w6FtYSDDqXJ2w6lueXRlbGVuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzggdGV4dC11dGlscy9jb2wuYzoxMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDIKK21zZ2lkICJDb25maWd1cmUgQ1BVcyBpbiBhIG11bHRpLXByb2Nlc3NvciBzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQ0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyIgIC1lLCAtLWVuYWJsZSA8Y3B1LWxpc3Q+ICAgICAgIGVuYWJsZSBjcHVzXG4iCisiICAtZCwgLS1kaXNhYmxlIDxjcHUtbGlzdD4gICAgICBkaXNhYmxlIGNwdXNcbiIKKyIgIC1jLCAtLWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICAgIGNvbmZpZ3VyZSBjcHVzXG4iCisiICAtZywgLS1kZWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICBkZWNvbmZpZ3VyZSBjcHVzXG4iCisiICAtcCwgLS1kaXNwYXRjaCA8bW9kZT4gICAgICAgICBzZXQgZGlzcGF0Y2hpbmcgbW9kZVxuIgorIiAgLXIsIC0tcmVzY2FuICAgICAgICAgICAgICAgICAgdHJpZ2dlciByZXNjYW4gb2YgY3B1c1xuIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzozMjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiJXM6IGlzbWVyZXRsZW4gYXJndW1lbnR1bTogJXNcbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzoyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIGhhcmR8c29mdFxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiBjdHJsYWx0ZGVsIGhhcmR8c29mdFxuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldCB0aGUgZnVuY3Rpb24gb2YgdGhlIEN0cmwtQWx0LURlbCBjb21iaW5hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUxCittc2dpZCAiaW1wbGljaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB2YWx1ZSBpbiAlczogJWp1IgorbXNnc3RyICJ2w6FyYXRsYW4gZsOhamx2w6lnZSBhIGvDtnZldGtlesWRbjogJXMiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NjMKKyMsIGZ1enp5Cittc2dpZCAiWW91IG11c3QgYmUgcm9vdCB0byBzZXQgdGhlIEN0cmwtQWx0LURlbCBiZWhhdmlvciIKK21zZ3N0ciAiQ3NhayByZW5kc3plcmdhemRhIMOhbGzDrXRoYXRqYSBiZSBhIEN0cmwtQWx0LURlbCB2aXNlbGtlZMOpc8OpdC5cbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo3MSBzeXMtdXRpbHMvaXBjcm0uYzozOTIgc3lzLXV0aWxzL2lwY3JtLmM6NDE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiJXM6IGlzbWVyZXRsZW4gYXJndW1lbnR1bTogJXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEwCisjLCBmdXp6eQorbXNnaWQgInN5c3RlbSBpcyB1bnVzYWJsZSIKK21zZ3N0ciAiRXogYSBwYXJ0w61jacOzIGhhc3puw6FsaGF0YXRsYW4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMQorbXNnaWQgImFjdGlvbiBtdXN0IGJlIHRha2VuIGltbWVkaWF0ZWx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMgorbXNnaWQgImNyaXRpY2FsIGNvbmRpdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEzCisjLCBmdXp6eQorbXNnaWQgImVycm9yIGNvbmRpdGlvbnMiCittc2dzdHIgImhpYmEgYSh6KSDigJ4lc+KAnSBsZXrDoXLDoXNrb3IiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNAorIywgZnV6enkKK21zZ2lkICJ3YXJuaW5nIGNvbmRpdGlvbnMiCittc2dzdHIgIkZpZ3llbG1lenRldMOpczogJXMgcGFydMOtY2nDsyAiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNQorbXNnaWQgIm5vcm1hbCBidXQgc2lnbmlmaWNhbnQgY29uZGl0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNgorbXNnaWQgImluZm9ybWF0aW9uYWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE3Cittc2dpZCAiZGVidWctbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMxCisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBtZXNzYWdlcyIKK21zZ3N0ciAiw7x6ZW5ldGVrIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzIKK21zZ2lkICJyYW5kb20gdXNlci1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzMKKyMsIGZ1enp5Cittc2dpZCAibWFpbCBzeXN0ZW0iCittc2dzdHIgIkFkamEgbWVnIGEgZsOhamxyZW5kc3plciB0w61wdXPDoXQ6ICIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM0Cittc2dpZCAic3lzdGVtIGRhZW1vbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1Cittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzYKK21zZ2lkICJtZXNzYWdlcyBnZW5lcmF0ZWQgaW50ZXJuYWxseSBieSBzeXNsb2dkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNworbXNnaWQgImxpbmUgcHJpbnRlciBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM4Cittc2dpZCAibmV0d29yayBuZXdzIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzkKK21zZ2lkICJVVUNQIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDAKKyMsIGZ1enp5Cittc2dpZCAiY2xvY2sgZGFlbW9uIgorbXNnc3RyICJuZW0gZMOpbW9uaXrDoWxoYXTDsyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQxCittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyAocHJpdmF0ZSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQyCisjLCBmdXp6eQorbXNnaWQgIkZUUCBkYWVtb24iCittc2dzdHIgIm5lbSBkw6ltb25pesOhbGhhdMOzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNjcKK21zZ2lkICJEaXNwbGF5IG9yIGNvbnRyb2wgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlci5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzAKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICBjbGVhciB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIHJlYWQgYW5kIGNsZWFyIGFsbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzIKKyMsIGZ1enp5Cittc2dpZCAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICBkaXNhYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjczCisjLCBmdXp6eQorbXNnaWQgIiAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAgZW5hYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc0Cittc2dpZCAiIC1GLCAtLWZpbGUgPGZpbGU+ICAgICAgICAgICB1c2UgdGhlIGZpbGUgaW5zdGVhZCBvZiB0aGUga2VybmVsIGxvZyBidWZmZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzUKK21zZ2lkICIgLWYsIC0tZmFjaWxpdHkgPGxpc3Q+ICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGZhY2lsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzYKKyMsIGZ1enp5Cittc2dpZCAiIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICBodW1hbiByZWFkYWJsZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzcKKyMsIGZ1enp5Cittc2dpZCAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICBkaXNwbGF5IGtlcm5lbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzgKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODEKK21zZ2lkICIgLWwsIC0tbGV2ZWwgPGxpc3Q+ICAgICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGxldmVsc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MgorbXNnaWQgIiAtbiwgLS1jb25zb2xlLWxldmVsIDxsZXZlbD4gc2V0IGxldmVsIG9mIG1lc3NhZ2VzIHByaW50ZWQgdG8gY29uc29sZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MworIywgZnV6enkKK21zZ2lkICIgLVAsIC0tbm9wYWdlciAgICAgICAgICAgICAgIGRvIG5vdCBwaXBlIG91dHB1dCBpbnRvIGEgcGFnZXJcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODQKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg1CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgZm9yY2UgdG8gdXNlIHN5c2xvZygyKSByYXRoZXIgdGhhbiAvZGV2L2ttc2dcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODYKK21zZ2lkICIgLXMsIC0tYnVmZmVyLXNpemUgPHNpemU+ICAgIGJ1ZmZlciBzaXplIHRvIHF1ZXJ5IHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODcKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICBkaXNwbGF5IHVzZXJzcGFjZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODgKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICB3YWl0IGZvciBuZXcgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg5Cittc2dpZCAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBkZWNvZGUgZmFjaWxpdHkgYW5kIGxldmVsIHRvIHJlYWRhYmxlIHN0cmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIHNob3cgdGltZSBkZWx0YSBiZXR3ZWVuIHByaW50ZWQgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTEKK21zZ2lkICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIHNob3cgbG9jYWwgdGltZSBhbmQgdGltZSBkZWx0YSBpbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTIKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICBzaG93IGh1bWFuLXJlYWRhYmxlIHRpbWVzdGFtcCAobWF5IGJlIGluYWNjdXJhdGUhKVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MworIywgZnV6enkKK21zZ2lkICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIGRvbid0IHNob3cgYW55IHRpbWVzdGFtcCB3aXRoIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk0Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXAgdXNpbmcgdGhlIGdpdmVuIGZvcm1hdDpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyJTdXNwZW5kaW5nL3Jlc3VtZSB3aWxsIG1ha2UgY3RpbWUgYW5kIGlzbyB0aW1lc3RhbXBzIGluYWNjdXJhdGUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzAwCittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgZmFjaWxpdGllczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDYKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBsZXZlbHMgKHByaW9yaXRpZXMpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxldmVsICclcyciCittc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIG55aXRoYXTDsyBtZWc6ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbGV2ZWwgJyVzJyIKK21zZ3N0ciAiJXM6IElzbWVyZXRsZW4gcGFyYW5jczogJXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mzk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAiYSh6KSDigJ4lc+KAnSBuZW0gbnlpdGhhdMOzIG1lZzogJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjQwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSAnJXMnIgorbXNnc3RyICJpc21lcmV0bGVuIGVyxZFmb3Jyw6FzdMOtcHVzOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtbWFwOiAlcyIKK21zZ3N0ciAiYSh6KSAlcyBuZW0gbnlpdGhhdMOzIG1lZyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1NgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGJ1ZmZlciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGthcGNzb2zDsyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQwOQorbXNnaWQgIi0tc2hvdy1kZWx0YSBpcyBpZ25vcmVkIHdoZW4gdXNlZCB0b2dldGhlciB3aXRoIGlzbzg2MDEgdGltZSBmb3JtYXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQzMgorbXNnaWQgIi0tcmF3IGNhbiBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1sZXZlbCBvciAtLWZhY2lsaXR5IG9ubHkgd2hlbiByZWFkaW5nIG1lc3NhZ2VzIGZyb20gL2Rldi9rbXNnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0NDIKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBrZXJuZWwgYnVmZmVyIGZhaWxlZCIKK21zZ3N0ciAicnRjIGlkxZEgb2x2YXPDoXNhIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDYxCisjLCBmdXp6eQorbXNnaWQgImtsb2djdGwgZmFpbGVkIgorbXNnc3RyICJheiBmc3luYyBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPnw8bW91bnRwb2ludD5dXG4iCittc2dzdHIgIiIKKyJIYXN6bsOhbGF0OiAlcyVzIFtrYXBjc29sw7NrXSBbcHJvZ3JhbSBbcHJvZ3JhbSBhcmd1bWVudHVtYWldXVxuIgorIlxuIgorIkthcGNzb2zDs2s6XG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNworIywgZnV6enkKK21zZ2lkICJFamVjdCByZW1vdmFibGUgbWVkaWEuXG4iCittc2dzdHIgIiBlbHTDoXZvbMOtdGhhdMOzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNDAKK21zZ2lkICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICB0dXJuIGF1dG8tZWplY3QgZmVhdHVyZSBvbiBvciBvZmZcbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHNsb3Q+ICAgIHN3aXRjaCBkaXNjcyBvbiBhIENELVJPTSBjaGFuZ2VyXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBkaXNwbGF5IGRlZmF1bHQgZGV2aWNlXG4iCisiIC1mLCAtLWZsb3BweSAgICAgICAgICAgICAgICBlamVjdCBmbG9wcHlcbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIGRvbid0IGNhcmUgYWJvdXQgZGV2aWNlIHR5cGVcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIHRvZ2dsZSBtYW51YWwgZWplY3QgcHJvdGVjdGlvbiBvbi9vZmZcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIGRvIG5vdCB1bm1vdW50IGRldmljZSBldmVuIGlmIGl0IGlzIG1vdW50ZWRcbiIKKyIgLU0sIC0tbm8tcGFydGl0aW9ucy11bm1vdW50IGRvIG5vdCB1bm1vdW50IGFub3RoZXIgcGFydGl0aW9uc1xuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgZG9uJ3QgZWplY3QsIGp1c3Qgc2hvdyBkZXZpY2UgZm91bmRcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIHVzZSAvcHJvYy9tb3VudHMgaW5zdGVhZCBvZiAvZXRjL210YWJcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIGVqZWN0IHRhcGVcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIGVqZWN0IENELVJPTVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgZWplY3QgU0NTSSBkZXZpY2VcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIGNsb3NlIHRyYXlcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIHRvZ2dsZSB0cmF5XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICBlbmFibGUgdmVyYm9zZSBvdXRwdXRcbiIKKyIgLXgsIC0tY2RzcGVlZCA8c3BlZWQ+ICAgICAgIHNldCBDRC1ST00gbWF4IHNwZWVkXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICBsaXN0IENELVJPTSBhdmFpbGFibGUgc3BlZWRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTY0Cittc2dpZCAiIgorIlxuIgorIkJ5IGRlZmF1bHQgdHJpZXMgLXIsIC1zLCAtZiwgYW5kIC1xIGluIG9yZGVyIHVudGlsIHN1Y2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjEwCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNoYW5nZXJzbG90Ly1jIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNkc3BlZWQvLXggb3B0aW9uIgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGF6b25vc8OtdMOzOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMjYKK21zZ2lkICJDRC1ST00gYXV0by1lamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDAKKyMsIGZ1enp5Cittc2dpZCAiQ0QtUk9NIGRvb3IgbG9jayBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJhIHNlYmVzc8OpZyAoJWQpIG5lbSB0w6Ftb2dhdG90dCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQyCittc2dpZCAib3RoZXIgdXNlcnMgaGF2ZSB0aGUgZHJpdmUgb3BlbiBhbmQgbm90IENBUF9TWVNfQURNSU4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQ0Cittc2dpZCAiQ0QtUk9NIGxvY2sgZG9vciBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDkKK21zZ2lkICJDRC1Ecml2ZSBtYXkgTk9UIGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM1MQorbXNnaWQgIkNELURyaXZlIG1heSBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjIKK21zZ2lkICJDRC1ST00gc2VsZWN0IGRpc2MgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY2Cittc2dpZCAiQ0QtUk9NIGxvYWQgZnJvbSBzbG90IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2OAorbXNnaWQgIklERS9BVEFQSSBDRC1ST00gY2hhbmdlciBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg2Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg4Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDA1CisjLCBmdXp6eQorbXNnaWQgIkNELVJPTSBlamVjdCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiYSBzZWJlc3PDqWcgKCVkKSBuZW0gdMOhbW9nYXRvdHQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzMyBzeXMtdXRpbHMvZWplY3QuYzo0NTYgc3lzLXV0aWxzL2VqZWN0LmM6MTAxMQorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzYKK21zZ2lkICJubyBDRC1ST00gaW5mb3JtYXRpb24gYXZhaWxhYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzOQorbXNnaWQgIkNELVJPTSBkcml2ZSBpcyBub3QgcmVhZHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgyCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODQgc3lzLXV0aWxzL2VqZWN0LmM6NTcwCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmRpbmcgQ0QtUk9NIG5hbWUiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU0NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiQSh6KSAlcyBuZW0gb2x2YXNoYXTDs1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1ODgKKyMsIGZ1enp5Cittc2dpZCAibm90IGFuIHNnIGRldmljZSwgb3Igb2xkIHNnIGRyaXZlciIKK21zZ3N0ciAibmVtIGJsb2trb3MgZXN6a8O2eiB2YWd5IGbDoWpsOiAlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5tb3VudGluZyIKK21zZ3N0ciAiYSBjc2F0b2zDoXMgbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGV4ZWMgL2Jpbi91bW91bnQgb2YgYCVzJyIKK21zZ3N0ciAiYSB0w61wdXNwYXJhbmNzZsOhamwgKCVzKSBvbHZhc8Ohc2EgbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY3OAorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZm9yayIKK21zZ3N0ciAiJXMgbmVtIG55aXRoYXTDsyBtZWciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAibW91bnQ6IGEoeikgJXMgY3NhdG9sw6FzaSBwb250IG5lbSBsw6l0ZXppayIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZmFpbGVkXG4iCittc2dzdHIgIiVzOiBhKHopICVzIMOhdG5ldmV6w6lzZSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3MzAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IHRhYmxlIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzkxIHN5cy11dGlscy9lamVjdC5jOjg5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50ZWQgb24gJXMiCittc2dzdHIgInVtb3VudDogJXMgbmVtIHRhbMOhbGhhdMOzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MzMKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byBhdXRvIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzNQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byAlbGRYIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg2MQorIywgYy1mb3JtYXQKK21zZ2lkICJkZWZhdWx0IGRldmljZTogYCVzJyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIGRlZmF1bHQgZGV2aWNlIGAlcyciCittc2dzdHIgIkF6IGFsYXDDqXJ0ZWxtZXpldHQgJXUgw6lydMOpayBrZXLDvGwgZmVsaGFzem7DoWzDoXNyYVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODYgc3lzLXV0aWxzL3J0Y3dha2UuYzozNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gZmluZCBkZXZpY2UiCittc2dzdHIgIm5lbSBsZWhldCB2aXNzemHDoWxsw610YW5pIGEgbGFwb3rDs3RlcsO8bGV0LWVzemvDtnp0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBuYW1lIGlzIGAlcyciCittc2dzdHIgImxvb3A6IG5lbSBueWl0aGF0w7MgbWVnIGEoeikgJXMgZXN6a8O2ejogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODk0IHN5cy11dGlscy91bW91bnQuYzoyMDYgc3lzLXV0aWxzL3Vtb3VudC5jOjIzNQorIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQwOSBzeXMtdXRpbHMvdW1vdW50LmM6NDMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG1vdW50ZWQiCittc2dzdHIgInVtb3VudDogJXMgbmVtIHRhbMOhbGhhdMOzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2MgZGV2aWNlOiAlcyAoZGlzayBkZXZpY2Ugd2lsbCBiZSB1c2VkIGZvciBlamVjdCkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQgbW91bnRwb2ludCBvciBkZXZpY2Ugd2l0aCB0aGUgZ2l2ZW4gbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyB3aG9sZS1kaXNrIGRldmljZSIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBob3QtcGx1Z2dhYmxlIGRldmljZSIKK21zZ3N0ciAiJXM6IGV6IG5lbSBibG9ra29zIGVzemvDtnpcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgaXMgYCVzJyIKK21zZ3N0ciAibG9vcDogbmVtIG55aXRoYXTDsyBtZWcgYSh6KSAlcyBlc3prw7Z6OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTgKK21zZ2lkICJleGl0aW5nIGR1ZSB0byAtbi8tLW5vb3Agb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZW5hYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NpbmcgdHJheSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsaXN0aW5nIENELVJPTSBzcGVlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogZGV2aWNlIGluIHVzZSIKK21zZ3N0ciAibW91bnQ6IGEoeikgJXMgZm9nbGFsdCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWxlY3RpbmcgQ0QtUk9NIGRpc2MgIyVsZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgQ0QtUk9NIGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMAorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgU0NTSSBjb21tYW5kcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE3CisjLCBmdXp6eQorbXNnaWQgIlNDU0kgZWplY3Qgc3VjY2VlZGVkIgorbXNnc3RyICIlcyBzaWtlcmVzLlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE4CisjLCBmdXp6eQorbXNnaWQgIlNDU0kgZWplY3QgZmFpbGVkIgorbXNnc3RyICJhIHbDqWdyZWhhanTDoXMgbWVnaGnDunN1bHRcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIGZsb3BweSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjQKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNQorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgdGFwZSBvZmZsaW5lIGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMQorbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDMyCisjLCBmdXp6eQorbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiYSBrw7ZueXZ0w6FyIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0XG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzYKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGVqZWN0IgorbXNnc3RyICJhIHTDrXB1c3BhcmFuY3Nmw6FqbCAoJXMpIG9sdmFzw6FzYSBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlbmFtZT5cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4MQorbXNnaWQgIlByZWFsbG9jYXRlIHNwYWNlIHRvLCBvciBkZWFsbG9jYXRlIHNwYWNlIGZyb20gYSBmaWxlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NAorbXNnaWQgIiAtYywgLS1jb2xsYXBzZS1yYW5nZSByZW1vdmUgYSByYW5nZSBmcm9tIHRoZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg1CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kaWctaG9sZXMgICAgICBkZXRlY3QgemVyb2VzIGFuZCByZXBsYWNlIHdpdGggaG9sZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgICAgYSBsZW1leiB0w6lueWxlZ2VzIMOtcsOhc8OhbmFrIGtpaGFnecOhc2EiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICAgbGVuZ3RoIGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIgICAgLUMjIFt2YWd5IC0tY3lsaW5kZXJzICNdOiAgYSBoYXN6bsOhbGFuZMOzIGNpbGluZGVyc3rDoW0gYmXDoWxsw610w6FzYSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg3CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1rZWVwLXNpemUgICAgICBtYWludGFpbiB0aGUgYXBwYXJlbnQgc2l6ZSBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgQSBwYXJ0w61jacOzcyB0w6FibGEga2nDrXLDoXNhIGEga8OpcGVybnnFkXJlIHZhZ3kgZsOhamxiYSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg4Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgIG9mZnNldCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODkKK21zZ2lkICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVwbGFjZSBhIHJhbmdlIHdpdGggYSBob2xlIChpbXBsaWVzIC1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MAorbXNnaWQgIiAteiwgLS16ZXJvLXJhbmdlICAgICB6ZXJvIGFuZCBlbnN1cmUgYWxsb2NhdGlvbiBvZiBhIHJhbmdlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEyNgorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQ6IGtlZXAgc2l6ZSBtb2RlIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMjcKKyMsIGZ1enp5Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZCIKK21zZ3N0ciAiYSBtYWxsb2MgbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIGZhaWxlZCIKK21zZ3N0ciAiYXogb3BlbnB0eSBtZWdoacO6c3VsdFxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJWp1IGJ5dGVzKSBjb252ZXJ0ZWQgdG8gc3BhcnNlIGhvbGVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNDYgc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTE4Cittc2dpZCAibm8gZmlsZW5hbWUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTggc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgIsOJcnbDqW55dGVsZW4gYmXDoWxsw610b3R0IMOpcnTDqWs6ICVzXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjIKKyMsIGZ1enp5Cittc2dpZCAibm8gbGVuZ3RoIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAiVMO6bCBrZXbDqXMgYXJndW1lbnR1bSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG9mZnNldCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgIsOJcnbDqW55dGVsZW4gYmXDoWxsw610b3R0IMOpcnTDqWs6ICVzXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IDxjb21tYW5kPiBbPGFyZ3VtZW50Pi4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IC1jIDxjb21tYW5kPlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZSBkZXNjcmlwdG9yIG51bWJlcj5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo1OQorIywgZnV6enkKK21zZ2lkICJNYW5hZ2UgZmlsZSBsb2NrcyBmcm9tIHNoZWxsIHNjcmlwdHMuXG4iCittc2dzdHIgImxvZ2luOiBuaW5jcyBtZW3Ds3JpYSBhIHBhcmFuY3Nmw6FqbG5hay5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjIKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBnZXQgYSBzaGFyZWQgbG9ja1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MworIywgZnV6enkKK21zZ2lkICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIGdldCBhbiBleGNsdXNpdmUgbG9jayAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIHJlbW92ZSBhIGxvY2tcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjUKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICBmYWlsIHJhdGhlciB0aGFuIHdhaXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjYKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8c2Vjcz4gICAgIHdhaXQgZm9yIGEgbGltaXRlZCBhbW91bnQgb2YgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY3Cittc2dpZCAiIC1FLCAtLWNvbmZsaWN0LWV4aXQtY29kZSA8bnVtYmVyPiAgZXhpdCBjb2RlIGFmdGVyIGNvbmZsaWN0IG9yIHRpbWVvdXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tY2xvc2UgICAgICAgICAgICAgIGNsb3NlIGZpbGUgZGVzY3JpcHRvciBiZWZvcmUgcnVubmluZyBjb21tYW5kXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjkKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gIHJ1biBhIHNpbmdsZSBjb21tYW5kIHN0cmluZyB0aHJvdWdoIHRoZSBzaGVsbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcwCisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAgZXhlY3V0ZSBjb21tYW5kIHdpdGhvdXQgZm9ya2luZ1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICAgIGluY3JlYXNlIHZlcmJvc2l0eVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoxMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlcyIKK21zZ3N0ciAiTmVtIG55aXRoYXTDsyBtZWcgYSh6KSDigJ4lc+KAnSBmw6FqbCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjA1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgdGltZW91dCB2YWx1ZSIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIwOQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGV4aXQgY29kZSIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBhem9ub3PDrXTDsyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjI4Cittc2dpZCAidGhlIC0tbm8tZm9yayBhbmQgLS1jbG9zZSBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBleGFjdGx5IG9uZSBjb21tYW5kIGFyZ3VtZW50IgorbXNnc3RyICIlcyBlZ3kgcGFyYW3DqXRlcnQgaWfDqW55ZWxcbiIKKworIyBleiBhIGvDtnZldGtlesWRIGjDoXJvbSAlcyVzLWJlbiBheiBlbHPFkSAlcyBsZXN6LCBtZWcga2VsbCBtYWpkIG90dCBmb3Jkw610YW5pCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTQKKyMsIGZ1enp5Cittc2dpZCAiYmFkIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAiYmxva2tlc3prw7Z6IgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTcKKyMsIGZ1enp5Cittc2dpZCAicmVxdWlyZXMgZmlsZSBkZXNjcmlwdG9yLCBmaWxlIG9yIGRpcmVjdG9yeSIKK21zZ3N0ciAiYSBnecO2a8OpciBpbm9kZSBuZW0ga8O2bnl2dMOhciIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjgxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgbG9jayIKK21zZ3N0ciAiJXMgbmVtIMOpcmhldMWRIGVsIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODgKK21zZ2lkICJ0aW1lb3V0IHdoaWxlIHdhaXRpbmcgdG8gZ2V0IGxvY2siCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0dGluZyBsb2NrIHRvb2sgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXMgICUuNmYgbcOhc29kcGVyY1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAiSGliYSBhIGvDtnZldGtlesWRIGZ1dHRhdMOhc2Frb3I6XHQlc1xuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnRwb2ludD5cbiIKK21zZ3N0ciAiIgorIkhhc3puw6FsYXQ6ICVzJXMgW2thcGNzb2zDs2tdIFtwcm9ncmFtIFtwcm9ncmFtIGFyZ3VtZW50dW1haV1dXG4iCisiXG4iCisiS2FwY3NvbMOzazpcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTMKK21zZ2lkICJTdXNwZW5kIGFjY2VzcyB0byBhIGZpbGVzeXN0ZW0gKGV4dDMvNCwgUmVpc2VyRlMsIEpGUywgWEZTKS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1NgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZnJlZXplICAgICAgZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBBIGbDoWpscmVuZHN6ZXIgdMOtcHVzw6FuYWsgbWVndsOhbHRvenRhdMOhc2EiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjU3Cittc2dpZCAiIC11LCAtLXVuZnJlZXplICAgIHVuZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTE2Cittc2dpZCAibmVpdGhlciAtLWZyZWV6ZSBvciAtLXVuZnJlZXplIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImEgZ3nDtmvDqXIgaW5vZGUgbmVtIGvDtm55dnTDoXIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjE0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZyZWV6ZSBmYWlsZWQiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjE0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJhIGd5w7Zrw6lyIGlub2RlIG5lbSBrw7ZueXZ0w6FyIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBGSVRSSU0gaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlcyBtZWdoacO6c3VsdC5cbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBoZXJlIGlzIGEgdmVyeSBsYXJnZSBudW1iZXIuCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJTxQUkl1NjQ+IGJ5dGVzKSB0cmltbWVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE5MSBzeXMtdXRpbHMvc3dhcG9uLmM6NzI5IHN5cy11dGlscy91bW91bnQuYzozMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50IHBvaW50PlxuIgorbXNnc3RyICIiCisiSGFzem7DoWxhdDogJXMlcyBba2FwY3NvbMOza10gW3Byb2dyYW0gW3Byb2dyYW0gYXJndW1lbnR1bWFpXV1cbiIKKyJcbiIKKyJLYXBjc29sw7NrOlxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU0Cittc2dpZCAiRGlzY2FyZCB1bnVzZWQgYmxvY2tzIG9uIGEgbW91bnRlZCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTcKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgdHJpbSBhbGwgbW91bnRlZCBmaWxlc3lzdGVtcyB0aGF0IGFyZSBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1OAorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIHRoZSBvZmZzZXQgaW4gYnl0ZXMgdG8gc3RhcnQgZGlzY2FyZGluZyBmcm9tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1OQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiICAgIC1DIyBbdmFneSAtLWN5bGluZGVycyAjXTogIGEgaGFzem7DoWxhbmTDsyBjaWxpbmRlcnN6w6FtIGJlw6FsbMOtdMOhc2EiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjAKK21zZ2lkICIgLW0sIC0tbWluaW11bSA8bnVtPiB0aGUgbWluaW11bSBleHRlbnQgbGVuZ3RoIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IG51bWJlciBvZiBkaXNjYXJkZWQgYnl0ZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMxNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWluaW11bSBleHRlbnQgbGVuZ3RoIgorbXNnc3RyICJheiBpZMWResOtdMOpc2bDoWpsICglcykgb2x2YXPDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzI5CisjLCBmdXp6eQorbXNnaWQgIm5vIG1vdW50cG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICJBIOKAni0tZGF0ZeKAnSBrYXBjc29sw7MgbmluY3MgbWVnYWR2YS5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjM0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZSBkaXNjYXJkIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJhIHNlYmVzc8OpZyAoJWQpIG5lbSB0w6Ftb2dhdG90dCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXNzdW1pbmcgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiAlcyB0aW1lLlxuIgorbXNnc3RyICJGZWx0ZXNzesO8aywgaG9neSBhIGhhcmR2ZXLDs3JhIGEoeikgJXMgaWTFkWJlbiBtYXJhZC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNDcgc3lzLXV0aWxzL2h3Y2xvY2suYzozMzQKK21zZ2lkICJVVEMiCittc2dzdHIgIlVUQyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNDcgc3lzLXV0aWxzL2h3Y2xvY2suYzozMzMKK21zZ2lkICJsb2NhbCIKK21zZ3N0ciAiaGVseWkiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzE4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJXYXJuaW5nOiB1bnJlY29nbml6ZWQgdGhpcmQgbGluZSBpbiBhZGp0aW1lIGZpbGVcbiIKKyIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pIgorbXNnc3RyICIlczogRmlneWVsbWV6dGV0w6lzOiBheiBhZGp0aW1lIGbDoWpsIGhhcm1hZGlrIHNvcmEgaXNtZXJldGxlblxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMyNworIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGRyaWZ0IGFkanVzdG1lbnQgZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIlV0b2xzw7MgY3PDunN6w7MgaWdhesOtdMOhczogMTk2OSB1dMOhbiAlbGQgbcOhc29kcGVyY2NlbFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGNhbGlicmF0aW9uIGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICJVdG9sc8OzIGJlw6FsbMOtdMOhczogMTk2OSB1dMOhbiAlbGQgbcOhc29kcGVyY2NlbFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMzMQorIywgYy1mb3JtYXQKK21zZ2lkICJIYXJkd2FyZSBjbG9jayBpcyBvbiAlcyB0aW1lXG4iCittc2dzdHIgIkEgaGFyZHZlcsOzcmEgYSh6KSAlcyBpZMWRdCBtdXRhdGphXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzU4CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgZm9yIGNsb2NrIHRpY2suLi5cbiIKK21zZ3N0ciAiVsOhcmFrb3rDoXMgYXogw7NyYSDDvHTDqXPDqXJlLi4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnN5bmNocm9uaXphdGlvbiBmYWlsZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5nb3QgY2xvY2sgdGlja1xuIgorbXNnc3RyICIgICBheiDDs3Jhw7x0w6lzIG1lZ3ZhblxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQyMgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHZhbHVlcyBpbiBoYXJkd2FyZSBjbG9jazogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorbXNnc3RyICLDiXJ2w6lueXRlbGVuIMOpcnTDqWtlayBhIGhhcmR2ZXLDs3LDoWJhbjogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJIdyBjbG9jayB0aW1lIDogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiQSBoYXJkdmVyw7NyYSBpZGVqZTogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBtw6Fzb2RwZXJjIDE5Njkgw7N0YVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ2NQorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHJlYWQgZnJvbSBIYXJkd2FyZSBDbG9jazogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorbXNnc3RyICJBIGhhcmR2ZXLDs3LDoWLDs2wgb2x2YXNvdHQgaWTFkTogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIEhhcmR3YXJlIENsb2NrIHRvICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICJBIGhhcmR2ZXLDs3JhIGJlw6FsbMOtdMOhc2EgJS4yZDolLjJkOiUuMmQgPSAlbGQgbcOhc29kcGVyYyAxOTY5IMOzdGFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2xvY2sgbm90IGNoYW5nZWQgLSB0ZXN0aW5nIG9ubHkuXG4iCittc2dzdHIgIkF6IMOzcmEgbmVtIHbDoWx0b3pvdHQgLSBjc2FrIHRlc3p0LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYwMworIywgYy1mb3JtYXQKK21zZ2lkICJzbGVlcGluZyB+JWQgdXNlY1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjE0CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUganVtcGVkIGJhY2t3YXJkICUuNmYgc2Vjb25kcyB0byAlbGQuJTA2bGQgLSByZXRhcmdldGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZC4lMDZsZCA8ICVsZC4lMDZsZCAoJS42ZilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciBwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVsZC4lMDZsZCBpcyBjbG9zZSBlbm91Z2ggdG8gJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyJTZXQgUlRDIHRvICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2bGQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODgKKyMsIGZ1enp5Cittc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIHJlZ2lzdGVycyBjb250YWluIHZhbHVlcyB0aGF0IGFyZSBlaXRoZXIgaW52YWxpZCAoZS5nLiA1MHRoIGRheSBvZiBtb250aCkgb3IgYmV5b25kIHRoZSByYW5nZSB3ZSBjYW4gaGFuZGxlIChlLmcuIFllYXIgMjA5NSkuIgorbXNnc3RyICJBIGhhcmR2ZXLDs3JhIHJlZ2lzenRlcmVpIMOpcnbDqW55dGVsZW4gKHDDqWxkw6F1bCBhIGjDs25hcCA1MC4gbmFwamEpIHZhZ3kgYSBrZXplbGhldMWRbiB0w7psaSB0YXJ0b23DoW55YmFuIGzDqXbFkSAocMOpbGTDoXVsIDIwOTUtw7ZzIMOpdikgw6lydMOpa2V0IHRhcnRhbG1hem5ha1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjcyOAorIywgZnV6enkKK21zZ2lkICJObyAtLWRhdGUgb3B0aW9uIHNwZWNpZmllZC4iCittc2dzdHIgIkEg4oCeLS1kYXRl4oCdIGthcGNzb2zDsyBuaW5jcyBtZWdhZHZhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjczNAorIywgZnV6enkKK21zZ2lkICItLWRhdGUgYXJndW1lbnQgdG9vIGxvbmciCittc2dzdHIgIkEgLS1kYXRlIHBhcmFtw6l0ZXJlIHTDumwgaG9zc3rDulxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc0MQorIywgZnV6enkKK21zZ2lkICIiCisiVGhlIHZhbHVlIG9mIHRoZSAtLWRhdGUgb3B0aW9uIGlzIG5vdCBhIHZhbGlkIGRhdGUuXG4iCisiSW4gcGFydGljdWxhciwgaXQgY29udGFpbnMgcXVvdGF0aW9uIG1hcmtzLiIKK21zZ3N0ciAiIgorIkEgLS1kYXRlIGthcGNzb2zDsyDDqXJ0w6lrZSBuZW0gZWd5IMOpcnbDqW55ZXMgZMOhdHVtLlxuIgorIlBvbnRvc2FiYmFuOiBpZMOpesWRamVsZWtldCB0YXJ0YWxtYXouXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIklzc3VpbmcgZGF0ZSBjb21tYW5kOiAlc1xuIgorbXNnc3RyICJEw6F0dW0gcGFyYW5jcyBraWFkw6FzYTogJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NTMKK21zZ2lkICJVbmFibGUgdG8gcnVuICdkYXRlJyBwcm9ncmFtIGluIC9iaW4vc2ggc2hlbGwuIHBvcGVuKCkgZmFpbGVkIgorbXNnc3RyICJBIOKAnmRhdGXigJ0gcHJvZ3JhbSBuZW0gZnV0dGF0aGF0w7MgYSAvYmluL3NoIHBhcmFuY3PDqXJ0ZWxtZXrFkWJlbi4gQSBwb3BlbigpIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc2MQorIywgYy1mb3JtYXQKK21zZ2lkICJyZXNwb25zZSBmcm9tIGRhdGUgY29tbWFuZCA9ICVzXG4iCittc2dzdHIgImEgZGF0ZSBwYXJhbmNzIHbDoWxhc3phID0gJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCB1bmV4cGVjdGVkIHJlc3VsdHMuXG4iCisiVGhlIGNvbW1hbmQgd2FzOlxuIgorIiAgJXNcbiIKKyJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorIiAgJXMiCittc2dzdHIgIiIKKyJBKHopICVzIMOhbHRhbCBtZWdow612b3R0IGRhdGUgcGFyYW5jcyB2w6FyYXRsYW4gZXJlZG3DqW55dCBhZG90dCB2aXNzemEuXG4iCisiQSBraWFkb3R0IHBhcmFuY3M6XG4iCisiICAlc1xuIgorIkEgdsOhbGFzejpcbiIKKyIgICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhbiBpbnRlZ2VyIHdoZXJlIHRoZSBjb252ZXJ0ZWQgdGltZSB2YWx1ZSB3YXMgZXhwZWN0ZWQuXG4iCisiVGhlIGNvbW1hbmQgd2FzOlxuIgorIiAgJXNcbiIKKyJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorIiAlc1xuIgorbXNnc3RyICIiCisiQSh6KSAlcyDDoWx0YWwgbWVnaMOtdm90dCBkYXRlIHBhcmFuY3MgYXogw6F0YWxha8OtdG90dCBpZMWRw6lydMOpayBoZWx5w6luIG5lbSBlZ3kgZWfDqXN6IHN6w6Ftb3QgYWRvdHQgdmlzc3phLlxuIgorIkEga2lhZG90dCBwYXJhbmNzOlxuIgorIiAgJXNcbiIKKyJBIHbDoWxhc3o6XG4iCisiICAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc4NgorIywgYy1mb3JtYXQKK21zZ2lkICJkYXRlIHN0cmluZyAlcyBlcXVhdGVzIHRvICVsZCBzZWNvbmRzIHNpbmNlIDE5NjkuXG4iCittc2dzdHIgImEoeikgJXMgZMOhdHVtIGthcmFrdGVybMOhbmMgZWd5ZW5sxZEgJWxkIG3DoXNvZHBlcmNjZWwgMTk2OSDDs3RhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgyNAorIywgZnV6enkKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBzZXQgdGhlIFN5c3RlbSBUaW1lIGZyb20gaXQuIgorbXNnc3RyICJBIGhhcmR2ZXLDs3JhIG5lbSB0YXJ0YWxtYXogw6lydsOpbnllcyBpZMWRdCwgw61neSBuZW0gbGVoZXQgYmXDoWxsw610YW5pIGEgcmVuZHN6ZXJpZMWRdC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NDMgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXk6XG4iCittc2dzdHIgIkEgc2V0dGltZW9mZGF5IGjDrXbDoXNhOlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg0NCBzeXMtdXRpbHMvaHdjbG9jay5jOjkzMgorIywgYy1mb3JtYXQKK21zZ2lkICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorbXNnc3RyICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg0NiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzNAorIywgYy1mb3JtYXQKK21zZ2lkICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKK21zZ3N0ciAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODUwIHN5cy11dGlscy9od2Nsb2NrLmM6OTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIHN5c3RlbSBjbG9jayBiZWNhdXNlIHJ1bm5pbmcgaW4gdGVzdCBtb2RlLlxuIgorbXNnc3RyICJBIHJlbmRzemVyw7NyYSB0ZXN6dCBtw7NkYmFuIG5lbSBrZXLDvGwgYmXDoWxsw610w6FzcmEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODY2IHN5cy11dGlscy9od2Nsb2NrLmM6OTYyCisjLCBmdXp6eQorbXNnaWQgIk11c3QgYmUgc3VwZXJ1c2VyIHRvIHNldCBzeXN0ZW0gY2xvY2suIgorbXNnc3RyICJSZW5kc3plcmdhemRhaSBqb2cgc3rDvGtzw6lnZXMgYSByZW5kc3plcsOzcmEgYmXDoWxsw610w6Fzw6Fob3ouXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODY5IHN5cy11dGlscy9od2Nsb2NrLmM6OTY1Cittc2dpZCAic2V0dGltZW9mZGF5KCkgZmFpbGVkIgorbXNnc3RyICJBIHNldHRpbWVvZmRheSgpIG5lbSBzaWtlcsO8bHQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDdXJyZW50IHN5c3RlbSB0aW1lOiAlbGQgPSAlc1xuIgorbXNnc3RyICJyZW5kc3plcmlkxZEgb2x2YXPDoXNhIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzMQorIywgYy1mb3JtYXQKK21zZ2lkICJcdFVUQzogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgLS11cGRhdGUtZHJpZnQgb3B0aW9uIHdhcyBub3QgdXNlZC5cbiIKK21zZ3N0ciAiQSBjc8O6c3p0YXTDoXNpIHTDqW55ZXrFkSBuZW0ga2Vyw7xsIGJlw6FsbMOtdMOhc3JhLCBtZXJ0IGEgaGFyZHZlcsOzcmEga29yw6FiYmFuIHN6ZW1ldGV0IHRhcnRhbG1hem90dC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIEhhcmR3YXJlIENsb2NrIHByZXZpb3VzbHkgY29udGFpbmVkIGdhcmJhZ2UuXG4iCittc2dzdHIgIkEgY3PDunN6dGF0w6FzaSB0w6lueWV6xZEgbmVtIGtlcsO8bCBiZcOhbGzDrXTDoXNyYSwgbWVydCBhIGhhcmR2ZXLDs3JhIGtvcsOhYmJhbiBzemVtZXRldCB0YXJ0YWxtYXpvdHQuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAwNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBsYXN0IGNhbGlicmF0aW9uIHRpbWUgaXMgemVybyxcbiIKKyJzbyBoaXN0b3J5IGlzIGJhZCBhbmQgY2FsaWJyYXRpb24gc3RhcnRvdmVyIGlzIG5lY2Vzc2FyeS5cbiIKK21zZ3N0ciAiIgorIkEgY3PDunN6dGF0w6FzaSB0w6lueWV6xZEgbmVtIGtlcsO8bCBiZcOhbGzDrXTDoXNyYSwgbWVydCBheiB1dG9sc8OzIGthbGlicsOhY2nDsyBpZGVqZSAwLFxuIgorIsOtZ3kgYXogZWzFkXptw6lueWVrIGhpYsOhc2FrIMOpcyDDumoga2FsaWJyw6FjacOzIHN6w7xrc8OpZ2VzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgaXQgaGFzIGJlZW4gbGVzcyB0aGFuIGZvdXIgaG91cnMgc2luY2UgdGhlIGxhc3QgY2FsaWJyYXRpb24uXG4iCittc2dzdHIgIkEgY3PDunN6dGF0w6FzaSB0w6lueWV6xZEgbmVtIGtlcsO8bCBiZcOhbGzDrXTDoXNyYSwgbWVydCBtw6lnIG5lbSB0ZWx0IGVsIGVneSBuYXAgYXogdXRvbHPDsyBrYWxpYnLDoWNpw7Mgw7N0YS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdCBmYWN0b3Igd2FzIGNhbGN1bGF0ZWQgYXMgJWYgc2Vjb25kcy9kYXkuXG4iCisiSXQgaXMgZmFyIHRvbyBtdWNoLiBSZXNldHRpbmcgdG8gemVyby5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdGVkICVmIHNlY29uZHMgaW4gdGhlIHBhc3QgJWYgc2Vjb25kc1xuIgorImluIHNwaXRlIG9mIGEgZHJpZnQgZmFjdG9yIG9mICVmIHNlY29uZHMvZGF5LlxuIgorIkFkanVzdGluZyBkcmlmdCBmYWN0b3IgYnkgJWYgc2Vjb25kcy9kYXlcbiIKK21zZ3N0ciAiIgorIkF6IMOzcmEgJS4xZiBtw6Fzb2RwZXJjZXQgY3PDunN6b3R0IGF6IGVsbcO6bHQgJWQgbcOhc29kcGVyY2JlbiwgYSBuYXBpICVmIG3DoXNvZHBlcmMgY3PDunN6dGF0w6FzaSB0w6lueWV6xZEgZWxsZW7DqXJlLlxuIgorIkEgY3PDunN6dGF0w6FzaSB0w6lueWV6xZEgYmXDoWxsw610dmEgbmFwaSAlZiBtw6Fzb2RwZXJjcmVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlZCBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWQgc2Vjb25kc1xuIgorbXNnc3RyWzBdICJBeiB1dG9sc8OzIGlnYXrDrXTDoXMgw7N0YSBlbHRlbHQgaWTFkSAlZCBtw6Fzb2RwZXJjXG4iCittc2dzdHJbMV0gIkF6IHV0b2xzw7MgaWdhesOtdMOhcyDDs3RhIGVsdGVsdCBpZMWRICVkIG3DoXNvZHBlcmNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYWxjdWxhdGVkIEhhcmR3YXJlIENsb2NrIGRyaWZ0IGlzICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiVzICAlLjZmIG3DoXNvZHBlcmNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTMzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCB1cGRhdGluZyBhZGp0aW1lIGZpbGUgYmVjYXVzZSBvZiB0ZXN0aW5nIG1vZGUuXG4iCittc2dzdHIgIkF6IGFkanRpbWUgZsOhamwgdGVzenQgbcOzZGJhbiBuZW0ga2Vyw7xsIG3Ds2Rvc8OtdMOhc3JhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldvdWxkIGhhdmUgd3JpdHRlbiB0aGUgZm9sbG93aW5nIHRvICVzOlxuIgorIiVzIgorbXNnc3RyICIiCisiQSh6KSAlcyBmw6FqbGJhIGEga8O2dmV0a2V6xZEga2Vyw7xsdCB2b2xuYSBracOtcsOhc3JhOlxuIgorIiVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgaW4gaXQgKCVzKSBmb3Igd3JpdGluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNDkgc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCB1cGRhdGUgZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgKCVzKSBpbiBpdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNjQKKyMsIGZ1enp5Cittc2dpZCAiRHJpZnQgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIG5vdCB1cGRhdGVkLiIKK21zZ3N0ciAiQSBjc8O6c3p0YXTDoXMgcGFyYW3DqXRlcmVpIG5lbSBrZXLDvGx0ZWsgZnJpc3PDrXTDqXNyZS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjAwCisjLCBmdXp6eQorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IGFkanVzdCBpdC4iCittc2dzdHIgIkEgaGFyZHZlcsOzcmEgbmVtIHRhcnRhbG1heiDDqXJ2w6lueWVzIGlkxZF0LCDDrWd5IG5lbSBsZWhldCBpZ2F6w610YW5pLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgbGFzdCBhZGp1c3RtZW50IHRpbWUgaXMgemVybywgc28gaGlzdG9yeSBpcyBiYWQuXG4iCittc2dzdHIgIiIKKyJBIGNzw7pzenRhdMOhc2kgdMOpbnllesWRIG5lbSBrZXLDvGwgYmXDoWxsw610w6FzcmEsIG1lcnQgYXogdXRvbHPDsyBrYWxpYnLDoWNpw7MgaWRlamUgMCxcbiIKKyLDrWd5IGF6IGVsxZF6bcOpbnllayBoaWLDoXNhayDDqXMgw7pqIGthbGlicsOhY2nDsyBzesO8a3PDqWdlcy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGRyaWZ0IGZhY3RvciAlZiBpcyBmYXIgdG9vIGhpZ2guXG4iCittc2dzdHIgIiIKKyJBIGNzw7pzenRhdMOhc2kgdMOpbnllesWRIG5lbSBrZXLDvGwgYmXDoWxsw610w6FzcmEsIG1lcnQgYXogdXRvbHPDsyBrYWxpYnLDoWNpw7MgaWRlamUgMCxcbiIKKyLDrWd5IGF6IGVsxZF6bcOpbnllayBoaWLDoXNhayDDqXMgw7pqIGthbGlicsOhY2nDsyBzesO8a3PDqWdlcy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHVzYWJsZSBjbG9jayBpbnRlcmZhY2UgZm91bmQuXG4iCittc2dzdHIgIk5lbSB0YWzDoWxoYXTDsyBoYXN6bsOhbGhhdMOzIMOzcmFmZWzDvGxldFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmVlZGVkIGFkanVzdG1lbnQgaXMgbGVzcyB0aGFuIG9uZSBzZWNvbmQsIHNvIG5vdCBzZXR0aW5nIGNsb2NrLlxuIgorbXNnc3RyICJBIHN6w7xrc8OpZ2VzIGlnYXrDrXTDoXMga2V2ZXNlYmIgbWludCBlZ3kgbcOhc29kcGVyYywgw61neSBuZW0ga2Vyw7xsIGJlw6FsbMOtdMOhc3JhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzODggc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBzZXQgc3lzdGVtIGNsb2NrLlxuIgorbXNnc3RyICJBIHJlbmRzemVyw7NyYSBuZW0gw6FsbMOtdGhhdMOzIGJlLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OSwgUlRDIGlzIHByZWRpY3RlZCB0byByZWFkICVsZCBzZWNvbmRzIGFmdGVyIDE5NjkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDMxCisjLCBmdXp6eQorbXNnaWQgIiIKKyJUaGUga2VybmVsIGtlZXBzIGFuIGVwb2NoIHZhbHVlIGZvciB0aGUgSGFyZHdhcmUgQ2xvY2sgb25seSBvbiBhbiBBbHBoYSBtYWNoaW5lLlxuIgorIlRoaXMgY29weSBvZiBod2Nsb2NrIHdhcyBidWlsdCBmb3IgYSBtYWNoaW5lIG90aGVyIHRoYW4gQWxwaGFcbiIKKyIoYW5kIHRodXMgaXMgcHJlc3VtYWJseSBub3QgcnVubmluZyBvbiBhbiBBbHBoYSBub3cpLiAgTm8gYWN0aW9uIHRha2VuLiIKK21zZ3N0ciAiIgorIkEgcmVuZHN6ZXJtYWcgYSBoYXJkdmVyw7Nyw6Fob3ogY3NhayBBbHBoYSBnw6lwZWtlbiB0w6Fyb2wgZXBvY2ggw6lydMOpa2V0LlxuIgorIkEgaHdjb2xvY2sgZXplbiBtw6Fzb2xhdGEgbmVtIEFscGhhIGfDqXByZSBrw6lzesO8bHRcbiIKKyIow6lzIMOtZ3kgZmVsdMOpdGVsZXpoZXTFkWVuIG1vc3Qgc2VtIEFscGhhIGfDqXBlbiBmdXQpLiBOaW5jcyB0ZWVuZMWRLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NDgKKyMsIGZ1enp5Cittc2dpZCAiVW5hYmxlIHRvIGdldCB0aGUgZXBvY2ggdmFsdWUgZnJvbSB0aGUga2VybmVsLiIKK21zZ3N0ciAiTmVtIGxlaGV0IGxla8Opcm5pIGF6IGVwb2NoIMOpcnTDqWvDqXQgYSByZW5kc3plcm1hZ2LDs2wuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgaXMgYXNzdW1pbmcgYW4gZXBvY2ggdmFsdWUgb2YgJWx1XG4iCittc2dzdHIgIkEgcmVuZHN6ZXJtYWcgZmVsdMOpdGVsZXppLCBob2d5IGF6IGVwb2NoIMOpcnTDqWtlICVsdVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NTUKKyMsIGZ1enp5Cittc2dpZCAiVG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSwgeW91IG11c3QgdXNlIHRoZSAnZXBvY2gnIG9wdGlvbiB0byB0ZWxsIHRvIHdoYXQgdmFsdWUgdG8gc2V0IGl0LiIKK21zZ3N0ciAiQSBiZcOhbGzDrXRhbmTDsyBlcG9jaCDDqXJ0w6lrIG1lZ2Fkw6Fzw6Fob3ogaGFzem7DoWxqYSBheiDigJ5lcG9jaOKAnSBrYXBjc29sw7N0LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIHRoZSBlcG9jaCB0byAlbHUgLSB0ZXN0aW5nIG9ubHkuXG4iCittc2dzdHIgIkF6IGVwb2NoIMOpcnTDqWtlIG5lbSBrZXLDvGwgYmXDoWxsw610w6FzcmEgKCVkIMOpcnTDqWtyZSkgLSBleiBjc2FrIHRlc3p0LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIHNldCB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbC5cbiIKK21zZ3N0ciAiTmVtIGxlaGV0IGJlw6FsbMOtdGFuaSBheiBlcG9jaCDDqXJ0w6lrZXQgYSByZW5kc3plcm1hZ2Jhbi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTU2Cittc2dpZCAiIGh3Y2xvY2sgW2Z1bmN0aW9uXSBbb3B0aW9uLi4uXVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU1OQorbXNnaWQgIlF1ZXJ5IG9yIHNldCB0aGUgaGFyZHdhcmUgY2xvY2suXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTYxCisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJGdW5jdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0w61jacOzOlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjIKK21zZ2lkICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgIHNob3cgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyIgLXIsIC0tc2hvdyAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisiICAgICAtLWdldCAgICAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IGRyaWZ0IGNvcnJlY3RlZCByZXN1bHRcbiIKKyIgICAgIC0tc2V0ICAgICAgICAgICAgc2V0IHRoZSBSVEMgdG8gdGhlIHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjYKK21zZ2lkICIiCisiIC1zLCAtLWhjdG9zeXMgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyIgLXcsIC0tc3lzdG9oYyAgICAgICAgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayBmcm9tIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lXG4iCisiICAgICAtLXN5c3R6ICAgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgYmFzZWQgb24gdGhlIGN1cnJlbnQgdGltZXpvbmVcbiIKKyIgICAgIC0tYWRqdXN0ICAgICAgICAgYWRqdXN0IHRoZSBSVEMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCBzaW5jZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjbG9jayB3YXMgbGFzdCBzZXQgb3IgYWRqdXN0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NzEKK21zZ2lkICIgLWMsIC0tY29tcGFyZSAgICAgICAgcGVyaW9kaWNhbGx5IGNvbXBhcmUgdGhlIHN5c3RlbSBjbG9jayB3aXRoIHRoZSBDTU9TIGNsb2NrXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTczCittc2dpZCAiIgorIiAgICAgLS1nZXRlcG9jaCAgICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisiICAgICAtLXNldGVwb2NoICAgICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGdpdmVuIHdpdGggLS1lcG9jaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU3NworbXNnaWQgIiIKKyIgICAgIC0tcHJlZGljdCAgICAgICAgcHJlZGljdCBSVEMgcmVhZGluZyBhdCB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4MQorbXNnaWQgIiIKKyIgLXUsIC0tdXRjICAgICAgICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gVVRDXG4iCisiICAgICAtLWxvY2FsdGltZSAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIGxvY2FsIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODQKK21zZ2lkICIgLWYsIC0tcnRjIDxmaWxlPiAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1kaXJlY3Rpc2EgICAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorIiAgICAgLS1iYWR5ZWFyICAgICAgICBpZ25vcmUgUlRDJ3MgeWVhciBiZWNhdXNlIHRoZSBCSU9TIGlzIGJyb2tlblxuIgorIiAgICAgLS1kYXRlIDx0aW1lPiAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorIiAgICAgLS1lcG9jaCA8eWVhcj4gICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBoYXJkd2FyZSBjbG9jaydzIGVwb2NoIHZhbHVlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIGRyaWZ0IGZhY3RvciBpbiAlMSRzIChyZXF1aXJlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIC0tc2V0IG9yIC0tc3lzdG9oYylcbiIKKyIgICAgIC0tbm9hZGpmaWxlICAgICAgZG8gbm90IGFjY2VzcyAlMSRzOyB0aGlzIHJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWVcbiIKKyIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlMSRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTk5Cittc2dpZCAiIgorIiAgICAgLS10ZXN0ICAgICAgICAgICBkbyBub3QgdXBkYXRlIGFueXRoaW5nLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBoYXBwZW5cbiIKKyIgLUQsIC0tZGVidWcgICAgICAgICAgZGVidWdnaW5nIG1vZGVcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE2MDIKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtSnwtLWplbnNlbiwgLUF8LS1hcmMsIC1TfC0tc3JtLCAtRnwtLWZ1bmt5LXRveVxuIgorIiAgICAgIHRlbGwgaHdjbG9jayB0aGUgdHlwZSBvZiBBbHBoYSB5b3UgaGF2ZSAoc2VlIGh3Y2xvY2soOCkpXG4iCisiXG4iCittc2dzdHIgIiIKKyIgIC0tamVuc2VuLCAtLWFyYywgLS1zcm0sIC0tZnVua3ktdG95XG4iCisiICAgICAgICAgICAgICAgIG1lZ2FkamEgYSBod2Nsb2NrbmFrIGEgaGFzem7DoWx0IGFscGhhIGfDqXAgdMOtcHVzw6F0XG4iCisiICAgICAgICAgICAgICAgICAgKGzDoXNkIGEgaHdjbG9jayg4KSBrw6l6aWvDtm55dm9sZGFsdClcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNzI4CisjLCBmdXp6eQorbXNnaWQgIlVuYWJsZSB0byBjb25uZWN0IHRvIGF1ZGl0IHN5c3RlbSIKK21zZ3N0ciAiJXM6IE5lbSBsZWhldCBhIG1lZ2ZpZ3llbMWRcmVuZHN6ZXJoZXogY3NhdGxha296bmkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTgyNgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGVwb2NoIGFyZ3VtZW50IgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGthcGNzb2zDsyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHRha2VzIG5vIG5vbi1vcHRpb24gYXJndW1lbnRzLiAgWW91IHN1cHBsaWVkICVkLlxuIgorbXNnc3RyICJBKHopICVzIG5lbSB2w6FyIG5lbSBrYXBjc29sw7MgcGFyYW3DqXRlcmVrZXQuIEEga8O2dmV0a2V6xZF0IGFkdGEgbWVnOiAlZC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODgwCisjLCBmdXp6eQorbXNnaWQgIldpdGggLS1ub2FkamZpbGUsIHlvdSBtdXN0IHNwZWNpZnkgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lIgorbXNnc3RyICIlczogQSAtLW5vYWRqZmlsZSBrYXBjc29sw7N2YWwgaGFzem7DoWxuaWEga2VsbCBhIC0tdXRjIHZhZ3kgLS1sb2NhbHRpbWUgZWd5aWvDqXRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODkzCisjLCBmdXp6eQorbXNnaWQgIk5vIHVzYWJsZSBzZXQtdG8gdGltZS4gIENhbm5vdCBzZXQgY2xvY2suIgorbXNnc3RyICJOZW0gaGFzem7DoWxoYXTDsyBhIGJlw6FsbMOtdGFuZMOzIGlkxZEuIEF6IMOzcmEgbmVtIMOhbGzDrXRoYXTDsyBiZS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxOTE3CisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBhY2Nlc3MgdGhlIEhhcmR3YXJlIENsb2NrIHZpYSBhbnkga25vd24gbWV0aG9kLiIKK21zZ3N0ciAiQSBoYXJkdmVyw7NyYSBlZ3lldGxlbiBpc21lcnQgbcOzZG9uIHNlbSDDqXJoZXTFkSBlbC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxOTIwCisjLCBmdXp6eQorbXNnaWQgIlVzZSB0aGUgLS1kZWJ1ZyBvcHRpb24gdG8gc2VlIHRoZSBkZXRhaWxzIG9mIG91ciBzZWFyY2ggZm9yIGFuIGFjY2VzcyBtZXRob2QuIgorbXNnc3RyICJIYXN6bsOhbGphIGEgLS1kZWJ1ZyBrYXBjc29sw7N0IGF6IGVsw6lyw6lzaSBtw7NkIGtlcmVzw6lzw6l2ZWwga2FwY3NvbGF0b3MgcsOpc3psZXRlayBtZWdqZWxlbsOtdMOpc8OpaGV6LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgImJvb3RlZCBmcm9tIE1JTE9cbiIKK21zZ3N0ciAiYSBNSUxPLXLDs2wgaW5kdWx0XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUnVmZmlhbiBCQ0QgY2xvY2tcbiIKK21zZ3N0ciAiUnVmZmlhbiBCQ0Qgw7NyYVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb2NrcG9ydCBhZGp1c3RlZCB0byAweCV4XG4iCittc2dzdHIgImF6IMOzcmFwb3J0IDB4JXggw6lydMOpa2hleiBpZ2F6w610dmFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJmdW5reSBUT1khXG4iCittc2dzdHIgInN6b2thdGxhbiBUT1kgKFRpbWUgb2YgWWVhcikhXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImF0b21pYyAlcyBmYWlsZWQgZm9yIDEwMDAgaXRlcmF0aW9ucyEiCittc2dzdHIgIiVzOiBheiBhdG9taSAlcyBtZWdoacO6c3VsdCAxMDAwIGlzbcOpdGzDqXNiZW4hIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3NfcmVhZCgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc19yZWFkKCk6IHJlYWQgZnJvbSBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NDUKKyMsIGZ1enp5Cittc2dpZCAiSSBmYWlsZWQgdG8gZ2V0IHBlcm1pc3Npb24gYmVjYXVzZSBJIGRpZG4ndCB0cnkuIgorbXNnc3RyICJOZW0gc2lrZXLDvGx0IGVuZ2Vkw6lseXQga2FwbmksIG1pdmVsIG5lbSBpcyBwcsOzYsOhbHRhbS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY0OAorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZ2V0IEkvTyBwb3J0IGFjY2VzczogIHRoZSBpb3BsKDMpIGNhbGwgZmFpbGVkLiIKK21zZ3N0ciAiJXMgbmVtIGvDqXBlcyBtZWdrYXBuaSBheiBJL08gcG9ydCBlbMOpcsOpc8OpdC4gQXogaW9wbCgzKSBow612w6FzYSBtZWdoacO6c3VsdC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY1MQorbXNnaWQgIlByb2JhYmx5IHlvdSBuZWVkIHJvb3QgcHJpdmlsZWdlcy5cbiIKK21zZ3N0ciAiVmFsw7NzesOtbsWxbGVnIHJvb3Qgam9nb3N1bHRzw6FnIHN6w7xrc8OpZ2VzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjU4Cittc2dpZCAiVXNpbmcgZGlyZWN0IEkvTyBpbnN0cnVjdGlvbnMgdG8gSVNBIGNsb2NrLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byByZWFkIHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiYSh6KSAlcyBpZGVqw6luZWsga2lvbHZhc8Ohc2Egw6lyZGVrw6liZW4ga2lhZG90dCBpb2N0bCgpIG1lZ2hpw7pzdWx0LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gJXMgdG8gY2hhbmdlXG4iCittc2dzdHIgIklzbcOpdGVsdCB2w6FyYWtvesOhcyBhKHopICVzIGlkZWrDqW5layB2w6FsdG96w6Fzw6FyYVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMzYKKyMsIGZ1enp5Cittc2dpZCAiVGltZWQgb3V0IHdhaXRpbmcgZm9yIHRpbWUgY2hhbmdlLiIKK21zZ3N0ciAiSWTFkXTDumxsw6lww6lzIGF6IGlkxZEgdsOhbHRvesOhc8OhcmEgdMO2cnTDqW7FkSB2w6FyYWtvesOhcyBzb3LDoW4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBoYXZlIGludGVycnVwdCBmdW5jdGlvbnMuICIKK21zZ3N0ciAiJXMgbmVtIHJlbmRlbGtlemlrIG1lZ3N6YWvDrXTDoXNpIGZ1bmtjacOza2thbC4gIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCittc2dzdHIgImEgc2VsZWN0KCkgJXMgaMOtdsOhcyBheiDDs3Jhw7x0w6lzcmUgdsOhcmFrb3rDoXNob3ogbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayB0aW1lZCBvdXQiCittc2dzdHIgImEgc2VsZWN0KCkgJXMgaMOtdsOhcyBheiDDs3Jhw7x0w6lzcmUgdsOhcmFrb3rDoXNob3ogdMO6bGzDqXB0ZSBheiBpZMWRa29ybMOhdG90XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb2ZmIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCIKK21zZ3N0ciAiYXogaW9jdGwoKSAlcyBow612w6FzIGEgZnJpc3PDrXTDqXNpIG1lZ3N6YWvDrXTDoXNvayBraWthcGNzb2zDoXPDoWhveiBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvbiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQgdW5leHBlY3RlZGx5IgorbXNnc3RyICJheiBpb2N0bCgpICVzIGjDrXbDoXMgYSBmcmlzc8OtdMOpc2kgbWVnc3pha8OtdMOhc29rIGJla2FwY3NvbMOhc8OhaG96IHbDoXJhdGxhbnVsIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byBzZXQgdGhlIHRpbWUgZmFpbGVkLiIKK21zZ3N0ciAiYXogaW9jdGwoKSAlcyBow612w6FzIGF6IGlkxZEgYmXDoWxsw610w6Fzw6Fob3ogbWVnaGnDunN1bHQuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgd2FzIHN1Y2Nlc3NmdWwuXG4iCittc2dzdHIgImF6IGlvY3RsKCVzKSBzaWtlcsO8bHQuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM4NworbXNnaWQgIlVzaW5nIHRoZSAvZGV2IGludGVyZmFjZSB0byB0aGUgY2xvY2suIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQxNyBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRvIG1hbmlwdWxhdGUgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwsIHdlIG11c3QgYWNjZXNzIHRoZSBMaW51eCAncnRjJyBkZXZpY2UgZHJpdmVyIHZpYSB0aGUgZGV2aWNlIHNwZWNpYWwgZmlsZSAlcy4gIFRoaXMgZmlsZSBkb2VzIG5vdCBleGlzdCBvbiB0aGlzIHN5c3RlbS4iCittc2dzdHIgIkEgcmVuZHN6ZXJtYWcgZXBvY2ggw6lydMOpa8OpbmVrIGtlemVsw6lzw6loZXogZWwga2VsbCDDqXJuaSBhIExpbnV4IHJ0YyBlc3prw7Z6bWVnaGFqdMOzasOhdCBhIHNwZWNpw6FsaXMgJXMgZXN6a8O2embDoWpsb24ga2VyZXN6dMO8bC4gQSBmw6FqbCBlemVuIGEgcmVuZHN6ZXJlbiBuZW0gbMOpdGV6aWsuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQyOQorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bChSVENfRVBPQ0hfUkVBRCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJheiBpb2N0bChSVENfRVBPQ0hfUkVBRCkgJXMgaMOtdsOhcyBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3ZSBoYXZlIHJlYWQgZXBvY2ggJWx1IGZyb20gJXMgd2l0aCBSVENfRVBPQ0hfUkVBRCBpb2N0bC5cbiIKK21zZ3N0ciAiYSh6KSAlbGQgZXBvY2ggYmVvbHZhc3ZhIGEoeikgJXMgZXN6a8O2enLFkWwgYXogUlRDX0VQT0NIX1JFQUQgaW9jdGwgc2Vnw610c8OpZ8OpdmVsLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlcG9jaCB2YWx1ZSBtYXkgbm90IGJlIGxlc3MgdGhhbiAxOTAwLiAgWW91IHJlcXVlc3RlZCAlbGQiCittc2dzdHIgIkF6IGVwb2NoIMOpcnTDqWtlIG5lbSBsZWhldCBrZXZlc2ViYiwgbWludCAxOTAwLiBBIGvDqXJ0IMOpcnTDqWs6ICVsZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgZXBvY2ggdG8gJWx1IHdpdGggUlRDX0VQT0NIX1NFVCBpb2N0bCB0byAlcy5cbiIKK21zZ3N0ciAiYXogZXBvY2ggYmXDoWxsw610w6FzYSAlbGQgw6lydMOpa3JlIGEoeikgJXMgZXN6a8O2esO2biBheiBSVENfRVBPQ0hfU0VUIGlvY3RsIHNlZ8OtdHPDqWfDqXZlbC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUga2VybmVsIGRldmljZSBkcml2ZXIgZm9yICVzIGRvZXMgbm90IGhhdmUgdGhlIFJUQ19FUE9DSF9TRVQgaW9jdGwuIgorbXNnc3RyICJBIHJlbmRzemVybWFnICVzIGVzemvDtnptZWdoYWp0w7Nqw6FiYW4gbmluY3MgUlRDX0VQT0NIX1NFVCBpb2N0bC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKFJUQ19FUE9DSF9TRVQpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiYSh6KSAlcyBpb2N0bChSVENfRVBPQ0hfU0VUKSBow612w6FzYSBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NjkKK21zZ2lkICJDcmVhdGUgdmFyaW91cyBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjcyCittc2dpZCAiIC1NLCAtLXNobWVtIDxzaXplPiAgICAgICBjcmVhdGUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IG9mIHNpemUgPHNpemU+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzMKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlIDxudW1iZXI+IGNyZWF0ZSBzZW1hcGhvcmUgYXJyYXkgd2l0aCA8bnVtYmVyPiBlbGVtZW50c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc0CisjLCBmdXp6eQorbXNnaWQgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgY3JlYXRlIG1lc3NhZ2UgcXVldWVcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzUKK21zZ2lkICIgLXAsIC0tbW9kZSA8bW9kZT4gICAgICAgIHBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZSAoZGVmYXVsdCBpcyAwNjQ0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExMCBzeXMtdXRpbHMvbG9zZXR1cC5jOjY5NyBzeXMtdXRpbHMvenJhbWN0bC5jOjYyMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWxlbWVudHMiCittc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIG55aXRoYXTDsyBtZWc6ICVzIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDEKK21zZ2lkICJjcmVhdGUgc2hhcmUgbWVtb3J5IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNoYXJlZCBtZW1vcnkgaWQ6ICVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJPc3p0b3R0IG1lbcOzcmlhc3plZ21lbnMgby5tLmF6ID0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDkKK21zZ2lkICJjcmVhdGUgbWVzc2FnZSBxdWV1ZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIHF1ZXVlIGlkOiAlZFxuIgorbXNnc3RyICIiCisiXG4iCisiw5x6ZW5ldHNvciDDvHouYXo9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBzZW1hcGhvcmUgZmFpbGVkIgorbXNnc3RyICJsZWZvZ2xhbHQgc3plbWFmb3JvayA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VtYXBob3JlIGlkOiAlZFxuIgorbXNnc3RyICIiCisiXG4iCisiU3plbWFmb3J0w7ZtYiBzemVtLmF6PSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPGlkPi4uLlxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTQKK21zZ2lkICJSZW1vdmUgY2VydGFpbiBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU3CisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1zaG1lbS1pZCA8aWQ+ICAgICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGlkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJPc3p0b3R0IG1lbcOzcmlhc3plZ21lbnMgby5tLmF6ID0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OAorbXNnaWQgIiAtTSwgLS1zaG1lbS1rZXkgPGtleT4gICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGtleVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU5Cittc2dpZCAiIC1xLCAtLXF1ZXVlLWlkIDxpZD4gICAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjAKK21zZ2lkICIgLVEsIC0tcXVldWUta2V5IDxrZXk+ICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkga2V5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjEKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlLWlkIDxpZD4gICAgcmVtb3ZlIHNlbWFwaG9yZSBieSBpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYyCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGtleT4gIHJlbW92ZSBzZW1hcGhvcmUgYnkga2V5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjMKK21zZ2lkICIgLWEsIC0tYWxsWz1zaG18bXNnfHNlbV0gICAgcmVtb3ZlIGFsbCAoaW4gdGhlIHNwZWNpZmllZCBjYXRlZ29yeSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBpZCBgJWQnXG4iCittc2dzdHIgIiIKKyJcbiIKKyJPc3p0b3R0IG1lbcOzcmlhc3plZ21lbnMgby5tLmF6ID0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVtb3ZpbmcgbWVzc2FnZSBxdWV1ZSBpZCBgJWQnXG4iCittc2dzdHIgIiIKKyJcbiIKKyLDnHplbmV0c29yIMO8ei5hej0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVtb3Zpbmcgc2VtYXBob3JlIGlkIGAlZCdcbiIKK21zZ3N0ciAiIgorIlxuIgorIlN6ZW1hZm9ydMO2bWIgc3plbS5hej0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDggc3lzLXV0aWxzL2lwY3JtLmM6MjIyCittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGtleSIKK21zZ3N0ciAiYSBrdWxjcyBlbMOpcsOpc2UgbWVndGFnYWR2YSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGlkIgorbXNnc3RyICJheiBhem9ub3PDrXTDsyBlbMOpcsOpc2UgbWVndGFnYWR2YSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExIHN5cy11dGlscy9pcGNybS5jOjIyOAorbXNnaWQgImludmFsaWQga2V5IgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGt1bGNzIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEKK21zZ2lkICJpbnZhbGlkIGlkIgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGF6b25vc8OtdMOzIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQgc3lzLXV0aWxzL2lwY3JtLmM6MjI1Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGtleSIKK21zZ3N0ciAiYSBrdWxjcyBtw6FyIGVsIHZhbiB0w6F2b2zDrXR2YSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGlkIgorbXNnc3RyICJheiBhem9ub3PDrXTDsyBtw6FyIGVsIHZhbiB0w6F2b2zDrXR2YSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE3IHN5cy11dGlscy9pcGNybS5jOjIzMQorIywgZnV6enkKK21zZ2lkICJrZXkgZmFpbGVkIgorbXNnc3RyICJhIHBvemljaW9uw6Fsw6FzIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiaWQgZmFpbGVkIgorbXNnc3RyICJhIHNldHVpZCgpIGjDrXbDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWQ6ICVzIgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGF6b25vc8OtdMOzOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzb3VyY2UocykgZGVsZXRlZFxuIgorbXNnc3RyICJlcsWRZm9ycsOhc29rIHTDtnLDtmx2ZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwga2V5ICglcykiCittc2dzdHIgIiVzOiDDqXJ2w6lueXRlbGVuIGt1bGNzICglcylcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjU2CisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAiYSByZW5kc3plcm1hZyBuaW5jcyBiZcOhbGzDrXR2YSBvc3p0b3R0IG1lbcOzcmlhIGhhc3puw6FsYXTDoXJhXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI2OQorIywgZnV6enkKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXMiCittc2dzdHIgImEgcmVuZHN6ZXJtYWcgbmluY3MgYmXDoWxsw610dmEgc3plbWFmb3JvayBoYXN6bsOhbGF0w6FyYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyOTAKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiYSByZW5kc3plcm1hZyBuaW5jcyBiZcOhbGzDrXR2YSDDvHplbmV0c29yb2sgaGFzem7DoWxhdMOhcmFcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW3Jlc291cmNlLW9wdGlvbi4uLl0gW291dHB1dC1vcHRpb25dXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTYgc3lzLXV0aWxzL2xzaXBjLmM6MjgwCisjLCBmdXp6eQorbXNnaWQgIlNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMuXG4iCittc2dzdHIgIiIKKyJBKHopICVzIGluZm9ybcOhY2nDs2thdCBhZCBheiBlbMOpcmhldMWRIGlwYyBzem9sZ8OhbHRhdMOhc29rcsOzbCwgYW1lbHlla1xuIgorIm9sdmFzw6Fzw6FyYSBqb2dvc3VsdC5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiLWkgYXpvbm9zw610w7MgWy1zIC1xIC1tXSA6IGF6IGF6b25vc8OtdMOzdmFsIG1lZ2Fkb3R0IGVyxZFmb3Jyw6FzLWF6b25vc8OtdMOzIHLDqXN6bGV0ZWlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NCBzeXMtdXRpbHMvbHNpcGMuYzoyODMKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2Ugb3B0aW9uczpcbiIKK21zZ3N0ciAiVmVzesOpbHllcyBrYXBjc29sw7NrOiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NSBzeXMtdXRpbHMvbHNpcGMuYzoyODQKK21zZ2lkICIgLW0sIC0tc2htZW1zICAgICAgc2hhcmVkIG1lbW9yeSBzZWdtZW50c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjYgc3lzLXV0aWxzL2xzaXBjLmM6Mjg1Cittc2dpZCAiIC1xLCAtLXF1ZXVlcyAgICAgIG1lc3NhZ2UgcXVldWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NyBzeXMtdXRpbHMvbHNpcGMuYzoyODYKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlcyAgc2VtYXBob3Jlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjgKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgYWxsIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiT3V0cHV0IG9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0w61jacOzOlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcyCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgIHNob3cgUElEcyBvZiBjcmVhdG9yIGFuZCBsYXN0IG9wZXJhdG9yXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzQKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzUKK21zZ2lkICIgLWwsIC0tbGltaXRzICAgICAgc2hvdyByZXNvdXJjZSBsaW1pdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc2Cittc2dpZCAiIC11LCAtLXN1bW1hcnkgICAgIHNob3cgc3RhdHVzIHN1bW1hcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1odW1hbiAgICAgICBzaG93IHNpemVzIGluIGh1bWFuLXJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzgKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgc2hvdyBzaXplcyBpbiBieXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MTY0Cittc2dpZCAid2hlbiB1c2luZyBhbiBJRCwgYSBzaW5nbGUgcmVzb3VyY2UgbXVzdCBiZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzaGFyZWQgbWVtb3J5IGxpbWl0c1xuIgorbXNnc3RyICJ0ZWxqZXMgb3N6dG90dCBtZW3Ds3JpYSBtYXhpbcOhbGlzIG3DqXJldGUgKGtpbG9iw6FqdCkgPSAlbGx1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tLS0tIE9zenRvdHQgbWVtw7NyaWEga29ybMOhdGFpIC0tLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2Ygc2VnbWVudHMgPSAlanVcbiIKK21zZ3N0ciAic3plZ21lbnNlayBtYXhpbcOhbGlzIHN6w6FtYSA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwOQorIywgZnV6enkKK21zZ2lkICJtYXggc2VnIHNpemUiCittc2dzdHIgImhpYsOhcyBpbm9kZSBtw6lyZXQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjExCisjLCBmdXp6eQorbXNnaWQgIm1heCB0b3RhbCBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICJ0ZWxqZXMgb3N6dG90dCBtZW3Ds3JpYSBtYXhpbcOhbGlzIG3DqXJldGUgKGtpbG9iw6FqdCkgPSAlbGx1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjE0CisjLCBmdXp6eQorbXNnaWQgIm1pbiBzZWcgc2l6ZSIKK21zZ3N0ciAibWluaW3DoWxpcyBJL08gbcOpcmV0IGxla8OpcsOpc2UiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjI2CisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeVxuIgorbXNnc3RyICJhIHJlbmRzemVybWFnIG5pbmNzIGJlw6FsbMOtdHZhIG9zenRvdHQgbWVtw7NyaWEgaGFzem7DoWxhdMOhcmFcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0gT3N6dG90dCBtZW3Ds3JpYSDDoWxsYXBvdGEgLS0tLS0tLS1cbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoaXMgb3V0cHV0IGZvcm1hdCBpcyBtYWludGFpbmVkIGZvciBiYWNrd2FyZAorIy4gY29tcGF0aWJpbGl0eSBhcyBpcGNzIGlzIHVzZWQgaW4gc2NyaXB0cy4gRm9yIGNvbnNpc3RlbmN5CisjLiB3aXRoIHRoZSByZXN0LCB0aGUgdHJhbnNsYXRlZCBmb3JtIGNhbiBmb2xsb3cgdGhpcyBtb2RlbDoKKyMuICoKKyMuICJzZWdtZW50cyBhbGxvY2F0ZWQgPSAlZFxuIgorIy4gInBhZ2VzIGFsbG9jYXRlZCA9ICVsZFxuIgorIy4gInBhZ2VzIHJlc2lkZW50ID0gJWxkXG4iCisjLiAicGFnZXMgc3dhcHBlZCA9ICVsZFxuIgorIy4gInN3YXAgcGVyZm9ybWFuY2UgPSAlbGQgYXR0ZW1wdHMsICVsZCBzdWNjZXNzZXNcbiIKKyMuCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisic2VnbWVudHMgYWxsb2NhdGVkICVkXG4iCisicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorInBhZ2VzIHJlc2lkZW50ICAlbGRcbiIKKyJwYWdlcyBzd2FwcGVkICAgJWxkXG4iCisiU3dhcCBwZXJmb3JtYW5jZTogJWxkIGF0dGVtcHRzXHQgJWxkIHN1Y2Nlc3Nlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnQgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0gT3N6dG90dCBtZW3Ds3JpYXN6ZWdtZW5zIGzDqXRyZWhvesOzaS90dWxhamRvbm9zYWkgLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjc0CisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgInNobWlkIgorbXNnc3RyICJvLm0uLWF6IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjI4MCBzeXMtdXRpbHMvaXBjcy5jOjM4NgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo0ODkgc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJwZXJtcyIKK21zZ3N0ciAiam9nb2siCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiY3VpZCIKK21zZ3N0ciAibC5maC5heiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJjZ2lkIgorbXNnc3RyICJsLmNzLmF6IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgInVpZCIKK21zZ3N0ciAiZmguYXoiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiZ2lkIgorbXNnc3RyICJjcy5heiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQXR0YWNoL0RldGFjaC9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tLS0gT3N6dG90dCBtZW3Ds3JpYSBjc2F0b2zDoXNpL2xldsOhbGFzenTDoXNpL23Ds2Rvc8OtdMOhc2kgc3rDoW1haSAtLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjc0IHN5cy11dGlscy9pcGNzLmM6MjgwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQwMSBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEgc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJvd25lciIKK21zZ3N0ciAidHVsYWpkb25vcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcKK21zZ2lkICJhdHRhY2hlZCIKK21zZ3N0ciAiY3NhdG9sdmEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3Cittc2dpZCAiZGV0YWNoZWQiCittc2dzdHIgImxldsOhbGFzenR2YSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjgKK21zZ2lkICJjaGFuZ2VkIgorbXNnc3RyICJtw7Nkb3PDrXR2YSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IENyZWF0b3IvTGFzdC1vcCBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0tIE9zenRvdHQgbWVtw7NyaWEgbMOpdHJlaG96w7NqYS91dG9sc8OzIG3FsXZlbGV0ZSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3NAorbXNnaWQgImNwaWQiCittc2dzdHIgImwuZi5heiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzQKK21zZ2lkICJscGlkIgorbXNnc3RyICJ1LmYuYXoiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0gT3N6dG90dCBtZW3Ds3JpYXN6ZWdtZW5zZWsgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJrZXkiCittc2dzdHIgImt1bGNzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MSBzeXMtdXRpbHMvaXBjcy5jOjUwOAorbXNnaWQgInNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODEgc3lzLXV0aWxzL3BybGltaXQuYzo3NSBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4IHN5cy11dGlscy9wcmxpbWl0LmM6Nzkgc3lzLXV0aWxzL3BybGltaXQuYzo4MQorIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJieXRlcyIKK21zZ3N0ciAiYsOhanQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgyCittc2dpZCAibmF0dGNoIgorbXNnc3RyICJjc2F0LnN6w6FtIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MgorbXNnaWQgInN0YXR1cyIKK21zZ3N0ciAiw6FsbGFwb3QiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzA2IHN5cy11dGlscy9pcGNzLmM6MzA4IHN5cy11dGlscy9pcGNzLmM6MzEwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQyNCBzeXMtdXRpbHMvaXBjcy5jOjQyNiBzeXMtdXRpbHMvaXBjcy5jOjUzMgorIzogc3lzLXV0aWxzL2lwY3MuYzo1MzQgc3lzLXV0aWxzL2lwY3MuYzo1MzYgc3lzLXV0aWxzL2lwY3MuYzo1OTAKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkyIHN5cy11dGlscy9pcGNzLmM6NjIxIHN5cy11dGlscy9pcGNzLmM6NjIzCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyNSBzeXMtdXRpbHMvaXBjcy5jOjY0OQorbXNnaWQgIk5vdCBzZXQiCittc2dzdHIgIk5pbmNzIGJlw6FsbMOtdHZhIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMzNiBzeXMtdXRpbHMvbHNpcGMuYzo5NzYgc3lzLXV0aWxzL2xzaXBjLmM6OTgyCittc2dpZCAiZGVzdCIKK21zZ3N0ciAidMO2csO2bHQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzM3IHN5cy11dGlscy9sc2lwYy5jOjk3NyBzeXMtdXRpbHMvbHNpcGMuYzo5OTAKK21zZ2lkICJsb2NrZWQiCittc2dzdHIgInrDoXJvbHZhIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNlbWFwaG9yZSBsaW1pdHNcbiIKK21zZ3N0ciAiQSBzemVtw6lseWlzw6lnIGJlw6FsbMOtdMOhc2EgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tLS0gU3plbWFmb3JvayBrb3Jsw6F0YWkgLS0tLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBhcnJheXMgPSAlZFxuIgorbXNnc3RyICJhIHTDtm1iw7ZrIG1heGltw6FsaXMgc3rDoW1hID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgcGVyIGFycmF5ID0gJWRcbiIKK21zZ3N0ciAic3plbWFmb3JvayB0w7ZtYsO2bmvDqW50IG1heGltw6FsaXMgc3rDoW1hID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICJyZW5kc3plcnN6aW50xbEgc3plbWFmb3JvayBtYXhpbcOhbGlzIHN6w6FtYSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBvcHMgcGVyIHNlbW9wIGNhbGwgPSAlZFxuIgorbXNnc3RyICJzemVtYWZvciBow612w6Fzb25rw6ludGkgbcWxdmVsZXRlayBtYXhpbcOhbGlzIHN6w6FtYSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZW1hcGhvcmUgbWF4IHZhbHVlID0gJXVcbiIKK21zZ3N0ciAic3plbWFmb3IgbWF4aW3DoWxpcyDDqXJ0w6lrZSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc0CisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3Jlc1xuIgorbXNnc3RyICJhIHJlbmRzemVybWFnIG5pbmNzIGJlw6FsbMOtdHZhIHN6ZW1hZm9yb2sgaGFzem7DoWxhdMOhcmFcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tLS0tIFN6ZW1hZm9yw6FsbGFwb3QgLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGFycmF5cyA9ICVkXG4iCittc2dzdHIgImhhc3puw6FsdCB0w7ZtYsO2ayA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBzZW1hcGhvcmVzID0gJWRcbiIKK21zZ3N0ciAibGVmb2dsYWx0IHN6ZW1hZm9yb2sgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tLSBBIHN6ZW1hZm9ydMO2bWLDtmsgbMOpdHJlaG96w7NpL3R1bGFqZG9ub3NhaSAtLS0tLS0tIFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQwMQorbXNnaWQgInNlbWlkIgorbXNnc3RyICJzemVtLmF6IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIE9wZXJhdGlvbi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tLS0tLSBTemVtYWZvcm3FsXZlbGV0ZWsvbcOzZG9zw610w6Fzb2sgc3rDoW1haSAtLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyCittc2dpZCAibGFzdC1vcCIKK21zZ3N0ciAidXQubcWxdmVsZXQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyCittc2dpZCAibGFzdC1jaGFuZ2VkIgorbXNnc3RyICJ1dC52w6FsdG96w6FzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tIFN6ZW1hZm9ydMO2bWLDtmsgLS0tLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwMQorbXNnaWQgIm5zZW1zIgorbXNnc3RyICJzemVtLnN6IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIG1lc3NhZ2UgbGltaXRzXG4iCittc2dzdHIgIkZlamVrIHN6w6FtYSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiICAgICAgICAgw5x6ZW5ldGVrOiBrb3Jsw6F0b2sgLS0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBxdWV1ZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICJyZW5kc3plcnN6aW50xbEgc29yb2sgbWF4aW3DoWxpc2FuID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjUKKyMsIGZ1enp5Cittc2dpZCAibWF4IHNpemUgb2YgbWVzc2FnZSIKK21zZ3N0ciAibWF4aW3DoWxpcyDDvHplbmV0bcOpcmV0IChiw6FqdCkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2NworIywgZnV6enkKK21zZ2lkICJkZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIgorbXNnc3RyICJzb3IgYWxhcMOpcnRlbG1lemV0dCBtYXhpbcOhbGlzIG3DqXJldGUgKGLDoWp0KSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiYSByZW5kc3plcm1hZyBuaW5jcyBiZcOhbGzDrXR2YSDDvHplbmV0c29yb2sgaGFzem7DoWxhdMOhcmFcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIMOcemVuZXRlazogw6FsbGFwb3QgLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3OQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgcXVldWVzID0gJWRcbiIKK21zZ3N0ciAibGVmb2dsYWx0IHNvcm9rID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBoZWFkZXJzID0gJWRcbiIKK21zZ3N0ciAiaGFzem7DoWx0IGZlamzDqWNlayA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgyCisjLCBmdXp6eQorbXNnaWQgInVzZWQgc3BhY2UiCittc2dzdHIgImhhc3puw6FsdCB0ZXLDvGxldCA9ICVkIGLDoWp0XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgzCisjLCBmdXp6eQorbXNnaWQgIiBieXRlc1xuIgorbXNnc3RyICJiw6FqdCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIMOcemVuZXRzb3JvazogbMOpdHJlaG96w7NrL3R1bGFqZG9ub3NvayAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OSBzeXMtdXRpbHMvaXBjcy5jOjQ5NSBzeXMtdXRpbHMvaXBjcy5jOjUwMQorIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJtc3FpZCIKK21zZ3N0ciAiw7x6LmF6IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgU2VuZC9SZWN2L0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tLSDDnHplbmV0c29yb2sga8O8bGTDqXNlay9mb2dhZMOhc29rL23Ds2Rvc8OtdMOhc29rIHN6w6FtYWkgLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgInNlbmQiCittc2dzdHIgImvDvGxkw6lzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgInJlY3YiCittc2dzdHIgImZvZ2Fkw6FzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImNoYW5nZSIKK21zZ3N0ciAibcOzZG9zw610w6FzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLSDDnHplbmV0c29yb2sgUElELWplaSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImxzcGlkIgorbXNnc3RyICJ1LmsuZi5heiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJscnBpZCIKK21zZ3N0ciAidS5mLmYuYXoiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tIMOcemVuZXRzb3JvayAtLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDgKK21zZ2lkICJ1c2VkLWJ5dGVzIgorbXNnc3RyICJoYXN6bsOhbHQgYsOhanRvayIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDkKK21zZ2lkICJtZXNzYWdlcyIKK21zZ3N0ciAiw7x6ZW5ldGVrIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU3NCBzeXMtdXRpbHMvaXBjcy5jOjYwNCBzeXMtdXRpbHMvaXBjcy5jOjYzNworIzogc3lzLXV0aWxzL2xzaXBjLmM6NTM2IHN5cy11dGlscy9sc2lwYy5jOjcyMiBzeXMtdXRpbHMvbHNpcGMuYzo4NzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlkICVkIG5vdCBmb3VuZCIKK21zZ3N0ciAidW1vdW50OiAlcyBuZW0gdGFsw6FsaGF0w7MiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQgbWVtb3J5IFNlZ21lbnQgc2htaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9zenRvdHQgbWVtw7NyaWFzemVnbWVucyBvLm0uYXogPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVxuIgorbXNnc3RyICJmLmF6PSVkXHRjcy5hej0lZFx0bC5maC5hej0lZFx0bC5jcy5hej0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjb1x0YWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICJtw7NkPSUjb1x0aG96esOhZsOpcsOpc2lfam9nPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorbXNnaWQgInNpemU9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg0CisjLCBmdXp6eQorbXNnaWQgImJ5dGVzPSIKK21zZ3N0ciAiYsOhanQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJscGlkPSV1XHRjcGlkPSV1XHRuYXR0Y2g9JWpkXG4iCittc2dzdHIgImLDoWp0PSVsZFx0dS5mLmF6PSVkXHRsLmYuYXo9JWRcdGNzYXQuc3rDoW09JWxkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgImF0dF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImNzYXRsX2lkxZE9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAibGV2X2lkxZE9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTMgc3lzLXV0aWxzL2lwY3MuYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAibcOzZG9zw610w6FzaV9pZMWRPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlIFF1ZXVlIG1zcWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyLDnHplbmV0c29yIMO8ei5hej0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG1vZGU9JSNvXG4iCittc2dzdHIgImYuYXo9JWRcdGNzLmF6PSVkXHRsLmZoLmF6PSVkXHRsLmNzLmF6PSVkXHRtw7NkPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxMworbXNnaWQgImNzaXplPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxMworIywgZnV6enkKK21zZ2lkICJjYnl0ZXM9IgorbXNnc3RyICJiw6FqdCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKK21zZ2lkICJxc2l6ZT0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKKyMsIGZ1enp5Cittc2dpZCAicWJ5dGVzPSIKK21zZ3N0ciAiYsOhanQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIwCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJrw7xsZMOpc2lfaWTFkT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJyY3ZfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJmb2dhZMOhc2lfaWTFkT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIEFycmF5IHNlbWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTemVtYWZvcnTDtm1iIHN6ZW0uYXo9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0IGdpZD0ldVx0IGN1aWQ9JXVcdCBjZ2lkPSV1XG4iCittc2dzdHIgImYuYXo9JWRcdCBjcy5hej0lZFx0IGwuZmguYXo9JWRcdCBsLmNzLmF6PSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvLCBhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgIm3Ds2Q9JSNvLCBob3p6w6Fmw6lyw6lzaV9qb2c9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJuc2VtcyA9ICVqdVxuIgorbXNnc3RyICJzemVtLnN6w6FtID0gJWxkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIm90aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAib2lkxZEgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJjdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgImNpZMWRID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJzZW1udW0iCittc2dzdHIgInN6ZW1hZm9yc3rDoW0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAidmFsdWUiCittc2dzdHIgIsOpcnTDqWsiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAibmNvdW50IgorbXNnc3RyICJuLnN6w6FtIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInpjb3VudCIKK21zZ3N0ciAiei5zesOhbSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJwaWQiCittc2dzdHIgImYuYXoiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjIzMCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzQgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM4CisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiJXMgbWVnaGnDunN1bHQuXG4iCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKGJ5dGVzKSA9ICIKK21zZ3N0ciAiYsOhanQiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKGtieXRlcykgPSAiCittc2dzdHIgImLDoWp0IgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxODAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBpZmxhZyIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBhem9ub3PDrXTDszogJXNcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxsZGlzYz4gPGRldmljZT5cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE5OQorbXNnaWQgIkF0dGFjaCBhIGxpbmUgZGlzY2lwbGluZSB0byBhIHNlcmlhbCBsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMworbXNnaWQgIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICBzZXQgc2VyaWFsIGxpbmUgc3BlZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDQKK21zZ2lkICIgLWMsIC0taW50cm8tY29tbWFuZCA8c3RyaW5nPiBpbnRybyBzZW50IGJlZm9yZSBsZGF0dGFjaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNQorbXNnaWQgIiAtcCwgLS1wYXVzZSA8c2Vjb25kcz4gICBwYXVzZSBiZXR3ZWVuIGludHJvIGFuZCBsZGF0dGFjaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNgorbXNnaWQgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gNyBiaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA3Cittc2dpZCAiIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA4IGJpdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDgKK21zZ2lkICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgc2V0IHBhcml0eSB0byBub25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA5Cittc2dpZCAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIHNldCBwYXJpdHkgdG8gZXZlblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMAorbXNnaWQgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICBzZXQgcGFyaXR5IHRvIG9kZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMQorbXNnaWQgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBzZXQgc3RvcCBiaXRzIHRvIG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMgorbXNnaWQgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBzZXQgc3RvcCBiaXRzIHRvIHR3b1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMworbXNnaWQgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBzZXQgaW5wdXQgbW9kZSBmbGFnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE5Cittc2dpZCAiIgorIlxuIgorIktub3duIDxsZGlzYz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJJc21lcnQgPGxsZW1lej4gbmV2ZWs6XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIyMworIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGlmbGFnPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIklzbWVydCA8bGxlbWV6PiBuZXZlazpcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc3BlZWQgYXJndW1lbnQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwYXVzZSBhcmd1bWVudCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM1OQorbXNnaWQgImludmFsaWQgb3B0aW9uIgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGthcGNzb2zDsyIKKworIyBmaXhtZTogbWkgZXo/CisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNzAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBsaW5lIGRpc2NpcGxpbmUgYXJndW1lbnQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4gc29yZWx2OiAlcyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHNlcmlhbCBsaW5lIgorbXNnc3RyICIlcyBuZW0gc29yb3Mgdm9uYWwiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5NworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICJhKHopICVzIHRlcm1pbsOhbGF0dHJpYsO6dHVtYWkgbmVtIGvDqXJoZXTFkWsgbGUiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVlZCAlZCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiYSBzZWJlc3PDqWcgKCVkKSBuZW0gdMOhbW9nYXRvdHQiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICJhKHopICVzIHRlcm1pbsOhbGF0dHJpYsO6dHVtYWkgbmVtIMOhbGzDrXRoYXTDs2sgYmUiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlIGludHJvIGNvbW1hbmQgdG8gJXMiCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ2OQorbXNnaWQgImNhbm5vdCBzZXQgbGluZSBkaXNjaXBsaW5lIgorbXNnc3RyICJuZW0gw6FsbMOtdGhhdMOzIGJlIGEgc29yZWx2IgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NzkKK21zZ2lkICJjYW5ub3QgZGFlbW9uaXplIgorbXNnc3RyICJuZW0gZMOpbW9uaXrDoWxoYXTDsyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2OAorbXNnaWQgImF1dG9jbGVhciBmbGFnIHNldCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY5CisjLCBmdXp6eQorbXNnaWQgImRldmljZSBiYWNraW5nIGZpbGUiCittc2dzdHIgInBhcnTDrWNpw7NzIHTDoWJsYSDDumpyYW9sdmFzw6FzYSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MAorbXNnaWQgImJhY2tpbmcgZmlsZSBpbm9kZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MQorbXNnaWQgImJhY2tpbmcgZmlsZSBtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzIKKyMsIGZ1enp5Cittc2dpZCAibG9vcCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibW91bnQ6IGEoeikgJXMgZXN6a8O2eiBpc21lcmV0bGVuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjczCittc2dpZCAib2Zmc2V0IGZyb20gdGhlIGJlZ2lubmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc0CisjLCBmdXp6eQorbXNnaWQgInBhcnRzY2FuIGZsYWcgc2V0IgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydMOtY2nDszpcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NgorIywgZnV6enkKK21zZ2lkICJzaXplIGxpbWl0IG9mIHRoZSBmaWxlIGluIGJ5dGVzIgorbXNnc3RyICJpZ2F6w610w6FzaSBlbHRvbMOhcyBsZWvDqXLDqXNlIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3Cittc2dpZCAibG9vcCBkZXZpY2UgbWFqb3I6bWlub3IgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzgKK21zZ2lkICJhY2Nlc3MgYmFja2luZyBmaWxlIHdpdGggZGlyZWN0LWlvIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM1IHN5cy11dGlscy9sb3NldHVwLmM6MTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsIG9mZnNldCAlanUiCittc2dzdHIgIiwgZWx0b2zDoXM6ICVkIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCBzaXplbGltaXQgJWp1IgorbXNnc3RyICIsIG3DqXJldGtvcmzDoXQ6ICU8UFJJdTY0PiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiwgZW5jcnlwdGlvbiAlcyAodHlwZSAldSkiCittc2dzdHIgIiwgJXMgdGl0a29zw610w6FzICh0w61wdXM6ICU8UFJJdTMyPikiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZGV0YWNoIGZhaWxlZCIKK21zZ3N0ciAiJXMgbWVnaGnDunN1bHQuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzI5IHN5cy11dGlscy9sc2NwdS5jOjE3MzUgc3lzLXV0aWxzL3BybGltaXQuYzoyMjkKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxNzYgc3lzLXV0aWxzL3dkY3RsLmM6MjE1IHN5cy11dGlscy96cmFtY3RsLmM6NDA1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBsaW5lIgorbXNnc3RyICJOZW0gZm9nbGFsaGF0w7MgbGUgcHVmZmVydC5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSBbPGxvb3BkZXY+XVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxsb29wZGV2PiA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM4NgorbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCBsb29wIGRldmljZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODkKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2Pi4uLiAgICAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTEKKyMsIGZ1enp5Cittc2dpZCAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIGRldGFjaCBhbGwgdXNlZCBkZXZpY2VzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICBmaW5kIGZpcnN0IHVudXNlZCBkZXZpY2VcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTMKK21zZ2lkICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5NAorbXNnaWQgIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5NQorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICAgICAgYXZvaWQgcG9zc2libGUgY29uZmxpY3QgYmV0d2VlbiBkZXZpY2VzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgICAgICAgICAgIHN0YXJ0IGF0IG9mZnNldCA8bnVtPiBpbnRvIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMAorbXNnaWQgIiAgICAgLS1zaXplbGltaXQgPG51bT4gICAgICAgICBkZXZpY2UgaXMgbGltaXRlZCB0byA8bnVtPiBieXRlcyBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAxCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICBjcmVhdGUgYSBwYXJ0aXRpb25lZCBsb29wIGRldmljZVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBzZXQgdXAgYSByZWFkLW9ubHkgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMworbXNnaWQgIiAgICAgLS1kaXJlY3QtaW9bPTxvbnxvZmY+XSAgICBvcGVuIGJhY2tpbmcgZmlsZSB3aXRoIE9fRElSRUNUXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDQKK21zZ2lkICIgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICAgcHJpbnQgZGV2aWNlIG5hbWUgYWZ0ZXIgc2V0dXAgKHdpdGggLWYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwOQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgbGlzdCBpbmZvIGFib3V0IGFsbCBvciBzcGVjaWZpZWQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgICAgQSBnZXRvcHQoMSkgdmVyemnDsyB0ZXN6dGVsw6lzZVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMAorbXNnaWQgIiAtTywgLS1vdXRwdXQgPGNvbHM+ICAgICAgICAgICBzcGVjaWZ5IGNvbHVtbnMgdG8gb3V0cHV0IGZvciAtLWxpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tbGlzdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgdXNlIHJhdyAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMworIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTkKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSAtLWxpc3QgY29sdW1uczpcbiIKK21zZ3N0ciAiRWzDqXJoZXTFkSBwYXJhbmNzb2s6XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGlzIHNtYWxsZXIgdGhhbiA1MTIgYnl0ZXM7IHRoZSBsb29wIGRldmljZSBtYXkgYmUgdXNlbGVzcyBvciBpbnZpc2libGUgZm9yIHN5c3RlbSB0b29scy4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFdhcm5pbmc6IGZpbGUgZG9lcyBub3QgZml0IGludG8gYSA1MTItYnl0ZSBzZWN0b3I7IHRoZSBlbmQgb2YgdGhlIGZpbGUgd2lsbCBiZSBpZ25vcmVkLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ2NCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUxNiBzeXMtdXRpbHMvbW91bnQuYzo0NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzOiBhKHopICVzIG5lbSBlZ3kgcMOhcmh1emFtb3MgKGxwKSBlc3prw7Z6LlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgcmVhZC1vbmx5IGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgZW5jcnlwdGVkIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZS11c2UgbG9vcCBkZXZpY2UiCittc2dzdHIgIm5lbSBsZWhldCB2aXNzemHDoWxsw610YW5pIGEgbGFwb3rDs3RlcsO8bGV0LWVzemvDtnp0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ5NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5zcGVjdCBsb29wIGRldmljZXMiCittc2dzdHIgIm1vdW50OiBhIGh1cm9rZXN6a8O2eiBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNoZWNrIGZvciBjb25mbGljdGluZyBsb29wIGRldmljZXMiCittc2dzdHIgIm5lbSBsZWhldCB2aXNzemHDoWxsw610YW5pIGEgbGFwb3rDs3RlcsO8bGV0LWVzemvDtnp0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUyOSBzeXMtdXRpbHMvbG9zZXR1cC5jOjgyNgorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZmluZCBhbiB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiBuZW0gdGFsw6FsaGF0w7MgYSh6KSAlcyBlc3prw7Z6ZVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgYmFja2luZyBmaWxlIgorbXNnc3RyICJwYXJ0w61jacOzcyB0w6FibGEgw7pqcmFvbHZhc8Ohc2EiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjMxIHN5cy11dGlscy9sb3NldHVwLmM6NjQxIHN5cy11dGlscy9sb3NldHVwLmM6NzUzCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgZGV2aWNlIgorbXNnc3RyICJuZW0gbGVoZXQgdmlzc3phw6FsbMOtdGFuaSBhIGxhcG96w7N0ZXLDvGxldC1lc3prw7Z6dCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NjQKKyMsIGZ1enp5Cittc2dpZCAibm8gbG9vcCBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJtb3VudDogYSBodXJva2VzemvDtnp0IGvDqXRzemVyIGFkdGEgbWVnIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3MgorIywgZnV6enkKK21zZ2lkICJubyBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAiQSDigJ4tLWRhdGXigJ0ga2FwY3NvbMOzIG5pbmNzIG1lZ2FkdmEuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzc5CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBvcHRpb25zICVzIGFyZSBhbGxvd2VkIGR1cmluZyBsb29wIGRldmljZSBzZXR1cCBvbmx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzg0Cittc2dpZCAidGhlIG9wdGlvbiAtLW9mZnNldCBpcyBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgY2FwYWNpdHkgZmFpbGVkIgorbXNnc3RyICIlcyBtZWdoacO6c3VsdC5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgZGlyZWN0IGlvIGZhaWxlZCIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTA4CisjLCBmdXp6eQorbXNnaWQgIm5vbmUiCittc2dzdHIgIm5pbmNzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMDkKKyMsIGZ1enp5Cittc2dpZCAicGFyYSIKK21zZ3N0ciAiYmVrIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMTAKKyMsIGZ1enp5Cittc2dpZCAiZnVsbCIKK21zZ3N0ciAidGVsamVzZW4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjExMQorbXNnaWQgImNvbnRhaW5lciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzMKK21zZ2lkICJob3Jpem9udGFsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NAorbXNnaWQgInZlcnRpY2FsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0NgorbXNnaWQgImxvZ2ljYWwgQ1BVIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDcKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBjb3JlIG51bWJlciIKK21zZ3N0ciAibG9naWthaSBibG9rayAoc3pla3Rvciltw6lyZXQgbGVrw6lyw6lzZSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ4CisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgc29ja2V0IG51bWJlciIKK21zZ3N0ciAibG9naWthaSBibG9rayAoc3pla3Rvciltw6lyZXQgbGVrw6lyw6lzZSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ5Cittc2dpZCAibG9naWNhbCBOVU1BIG5vZGUgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MAorbXNnaWQgImxvZ2ljYWwgYm9vayBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUxCisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgZHJhd2VyIG51bWJlciIKK21zZ3N0ciAibG9naWthaSBibG9rayAoc3pla3Rvciltw6lyZXQgbGVrw6lyw6lzZSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUyCittc2dpZCAic2hvd3MgaG93IGNhY2hlcyBhcmUgc2hhcmVkIGJldHdlZW4gQ1BVcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTMKK21zZ2lkICJDUFUgZGlzcGF0Y2hpbmcgbW9kZSBvbiB2aXJ0dWFsIGhhcmR3YXJlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NAorbXNnaWQgInBoeXNpY2FsIGFkZHJlc3Mgb2YgYSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU1Cittc2dpZCAic2hvd3MgaWYgdGhlIGh5cGVydmlzb3IgaGFzIGFsbG9jYXRlZCB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NgorbXNnaWQgInNob3dzIGlmIExpbnV4IGN1cnJlbnRseSBtYWtlcyB1c2Ugb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTcKK21zZ2lkICJzaG93cyB0aGUgbWF4aW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTgKK21zZ2lkICJzaG93cyB0aGUgbWluaW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo1NTAKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3I6IHVuYW1lIGZhaWxlZCIKK21zZ3N0ciAiaGliYTogYXogVVVJRCBmZWxkb2xnb3rDoXMgbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjYzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBudW1iZXIgb2YgQ1BVczogJXMiCittc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIG55aXRoYXTDsyBtZWc6ICVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo4OTEKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3I6IGNhbiBub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJOZW0gw6FsbMOtdGhhdMOzIGJlIGEgamVsesOpc2tlemVsxZEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjg5NgorIywgZnV6enkKK21zZ2lkICJlcnJvcjogY2FuIG5vdCByZXN0b3JlIHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJOZW0gw6FsbMOtdGhhdMOzIGJlIGEgamVsesOpc2tlemVsxZEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgZnJvbTogJXMiCittc2dzdHIgIkEoeikgJXMgbmVtIG9sdmFzaGF0w7NcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQxMAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gZXh0cmFjdCB0aGUgbm9kZSBudW1iZXIiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgc2lrZXJ0ZWxlbiBhIHdyaXRlX3RhYmxlcy1iZW4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1Mzcgc3lzLXV0aWxzL2xzY3B1LmM6MTU0NworbXNnaWQgIlkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTUzNyBzeXMtdXRpbHMvbHNjcHUuYzoxNTQ3CisjLCBmdXp6eQorbXNnaWQgIk4iCittc2dzdHIgIk5DIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlclxuIgorIiMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSURcbiIKKyIjIHN0YXJ0aW5nIGZyb20gemVyby5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzgxCittc2dpZCAiQXJjaGl0ZWN0dXJlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzk1Cittc2dpZCAiQ1BVIG9wLW1vZGUocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3OTggc3lzLXV0aWxzL2xzY3B1LmM6MTgwMAorbXNnaWQgIkJ5dGUgT3JkZXI6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDIKK21zZ2lkICJDUFUocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDUKK21zZ2lkICJPbi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA2Cittc2dpZCAiT24tbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNQorbXNnaWQgIk9mZi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI2Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjIKK21zZ2lkICJUaHJlYWQocykgcGVyIGNvcmU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjQKK21zZ2lkICJDb3JlKHMpIHBlciBzb2NrZXQ6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjcKK21zZ2lkICJTb2NrZXQocykgcGVyIGJvb2s6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzAKK21zZ2lkICJCb29rKHMpIHBlciBkcmF3ZXI6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzIKK21zZ2lkICJEcmF3ZXIocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzQKK21zZ2lkICJCb29rKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODc3CisjLCBmdXp6eQorbXNnaWQgIlNvY2tldChzKToiCittc2dzdHIgImZvZ2xhbGF0IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgxCittc2dpZCAiTlVNQSBub2RlKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgzCittc2dpZCAiVmVuZG9yIElEOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg1CisjLCBmdXp6eQorbXNnaWQgIk1hY2hpbmUgdHlwZToiCittc2dzdHIgIlBhcnTDrWNpw7NzesOhbSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4NworbXNnaWQgIkNQVSBmYW1pbHk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODkKKyMsIGZ1enp5Cittc2dpZCAiTW9kZWw6IgorbXNnc3RyICJUw61wdXM6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODkxCisjLCBmdXp6eQorbXNnaWQgIk1vZGVsIG5hbWU6IgorbXNnc3RyICJUw61wdXM6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODkzCittc2dpZCAiU3RlcHBpbmc6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTUKK21zZ2lkICJDUFUgTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk3Cittc2dpZCAiQ1BVIGR5bmFtaWMgTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk5Cittc2dpZCAiQ1BVIHN0YXRpYyBNSHo6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDEKK21zZ2lkICJDUFUgbWF4IE1IejoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMworbXNnaWQgIkNQVSBtaW4gTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA1Cittc2dpZCAiQm9nb01JUFM6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDggc3lzLXV0aWxzL2xzY3B1LmM6MTkxMAorIywgZnV6enkKK21zZ2lkICJWaXJ0dWFsaXphdGlvbjoiCittc2dzdHIgIlLDqWdpIGhlbHl6ZXQ6XG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTMKK21zZ2lkICJIeXBlcnZpc29yOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE1Cittc2dpZCAiSHlwZXJ2aXNvciB2ZW5kb3I6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTYKK21zZ2lkICJWaXJ0dWFsaXphdGlvbiB0eXBlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE5Cittc2dpZCAiRGlzcGF0Y2hpbmcgbW9kZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkyNSBzeXMtdXRpbHMvbHNjcHUuYzoxOTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNhY2hlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTUEgbm9kZSVkIENQVShzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0NgorIywgZnV6enkKK21zZ2lkICJGbGFnczoiCittc2dzdHIgIkplbGVrIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQ5CisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIHNvY2tldHM6IgorbXNnc3RyICJBIGZpemlrYWkgY2lsaW5kZXJlayBzesOhbWEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NTAKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY2hpcHM6IgorbXNnc3RyICJBIGZpemlrYWkgY2lsaW5kZXJlayBzesOhbWEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NTEKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY29yZXMvY2hpcDoiCittc2dzdHIgImZpemlrYWkgYmxva2sgKHN6ZWt0b3IpbcOpcmV0IGxla8OpcsOpc2UiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjMKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBDUFUgYXJjaGl0ZWN0dXJlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjYKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IGJvdGggb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY3CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBwcmludCBvbmxpbmUgQ1BVcyBvbmx5IChkZWZhdWx0IGZvciAtcClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY4CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICBwcmludCBvZmZsaW5lIENQVXMgb25seVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY5Cittc2dpZCAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcwCittc2dpZCAiIC1wLCAtLXBhcnNlWz08bGlzdD5dICAgIHByaW50IG91dCBhIHBhcnNhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzEKK21zZ2lkICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAgdXNlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcyCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1oZXggICAgICAgICAgICAgICBwcmludCBoZXhhZGVjaW1hbCBtYXNrcyByYXRoZXIgdGhhbiBsaXN0cyBvZiBDUFVzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzMKKyMsIGZ1enp5Cittc2dpZCAiIC15LCAtLXBoeXNpY2FsICAgICAgICAgIHByaW50IHBoeXNpY2FsIGluc3RlYWQgb2YgbG9naWNhbCBJRHNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3B0aW9ucyAtLWFsbCwgLS1vbmxpbmUgYW5kIC0tb2ZmbGluZSBtYXkgb25seSBiZSB1c2VkIHdpdGggb3B0aW9ucyAtLWV4dGVuZGVkIG9yIC0tcGFyc2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIGtleSIKK21zZ3N0ciAiw4lydsOpbnl0ZWxlbiBmZWxoYXN6bsOhbMOzbsOpdiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5CisjLCBmdXp6eQorbXNnaWQgIktleSIKK21zZ3N0ciAia3VsY3MiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBJRCIKK21zZ3N0ciAiw4lydsOpbnl0ZWxlbiBmZWxoYXN6bsOhbMOzbsOpdiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCittc2dpZCAiSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCittc2dpZCAiT3duZXIncyB1c2VybmFtZSBvciBVSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCisjLCBmdXp6eQorbXNnaWQgIk93bmVyIgorbXNnc3RyICJ0dWxhamRvbm9zIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTIKKyMsIGZ1enp5Cittc2dpZCAiUGVybWlzc2lvbnMiCittc2dzdHIgIm1vdW50OiBob3p6w6Fmw6lyw6lzIG1lZ3RhZ2FkdmEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MworbXNnaWQgIkNyZWF0b3IgVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NAorbXNnaWQgIkNyZWF0b3IgdXNlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTUKK21zZ2lkICJDcmVhdG9yIEdJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTYKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRvciBncm91cCIKK21zZ3N0ciAiRWxzxZFkbGVnZXMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworIywgZnV6enkKK21zZ2lkICJVc2VyIElEIgorbXNnc3RyICJmZWxoYXN6bsOhbMOzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKK21zZ2lkICJVSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU4CisjLCBmdXp6eQorbXNnaWQgIlVzZXIgbmFtZSIKK21zZ3N0ciAiw4lydsOpbnl0ZWxlbiBmZWxoYXN6bsOhbMOzbsOpdiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR3JvdXAgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5CisjLCBmdXp6eQorbXNnaWQgIkdJRCIKK21zZ3N0ciAiU0dJIG55ZXJzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjAKKyMsIGZ1enp5Cittc2dpZCAiR3JvdXAgbmFtZSIKK21zZ3N0ciAiw4lydsOpbnl0ZWxlbiBmZWxoYXN6bsOhbMOzbsOpdiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCisjLCBmdXp6eQorbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3QgY2hhbmdlIgorbXNnc3RyICJhIHN0YXQgdsOpZ3JlaGFqdMOhc2EgYXogZWzDqXLDqXNpIMO6dG9uIG1lZ2hpw7pzdWx0XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorIywgZnV6enkKK21zZ2lkICJMYXN0IGNoYW5nZSIKK21zZ3N0ciAidXQudsOhbHRvesOhcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY0CisjLCBmdXp6eQorbXNnaWQgIkJ5dGVzIHVzZWQiCittc2dzdHIgIk1lZ2plbMO2bMOpcyBoYXN6bsOhbHRrw6ludCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlcyIKK21zZ3N0ciAiRmVqZWsgc3rDoW1hIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiTWVzc2FnZXMiCittc2dzdHIgIsO8emVuZXRlayIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2CisjLCBmdXp6eQorbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgc2VudCIKK21zZ3N0ciAiYXogZWxzxZEgc29yIHV0w6FuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKK21zZ2lkICJNc2cgc2VudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHJlY2VpdmVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIk1zZyByZWNlaXZlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjgKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHNlbmRlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjgKK21zZ2lkICJNc2cgc2VuZGVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgcmVjZWl2ZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiTXNnIHJlY2VpdmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MgorIywgZnV6enkKK21zZ2lkICJTZWdtZW50IHNpemUiCittc2dzdHIgImJsb2trbcOpcmV0IGxla8OpcsOpc2UiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MworIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2YgYXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICJzemVnbWVuc2VrIG1heGltw6FsaXMgc3rDoW1hID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MworbXNnaWQgIkF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzQKKyMsIGZ1enp5Cittc2dpZCAiU3RhdHVzIgorbXNnc3RyICLDoWxsYXBvdCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc1CisjLCBmdXp6eQorbXNnaWQgIkF0dGFjaCB0aW1lIgorbXNnc3RyICJjc2F0b2x2YSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc2CisjLCBmdXp6eQorbXNnaWQgIkRldGFjaCB0aW1lIgorbXNnc3RyICJsZXbDoWxhc3p0dmEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQiCittc2dzdHIgIm5pbmNzIHBhcmFuY3M/XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIlBJRCBvZiB0aGUgY3JlYXRvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJDcmVhdG9yIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJQSUQgb2YgbGFzdCB1c2VyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OQorIywgZnV6enkKK21zZ2lkICJMYXN0IHVzZXIgUElEIgorbXNnc3RyICJmZWxoYXN6bsOhbMOzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODIKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgIlN6ZWt0b3JvayBzesOhbWEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorIywgZnV6enkKK21zZ2lkICJTZW1hcGhvcmVzIgorbXNnc3RyICIiCisiXG4iCisiU3plbWFmb3J0w7ZtYiBzemVtLmF6PSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworIywgZnV6enkKK21zZ2lkICJMYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAiTmVtIHRhbMOhbGhhdMOzayBwYXJ0w61jacOza1xuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAiw4lydsOpbnl0ZWxlbiBmZWxoYXN6bsOhbMOzbsOpdiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIgorbXNnc3RyICLDiXJ2w6lueXRlbGVuIGZlbGhhc3puw6Fsw7Nuw6l2IgorCisjIGV6IGEga8O2dmV0a2V6xZEgaMOhcm9tICVzJXMtYmVuIGF6IGVsc8WRICVzIGxlc3osIG1lZyBrZWxsIG1hamQgb3R0IGZvcmTDrXRhbmkKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiYmxva2tlc3prw7Z6IgorCisjIGV6IGEga8O2dmV0a2V6xZEgaMOhcm9tICVzJXMtYmVuIGF6IGVsc8WRICVzIGxlc3osIG1lZyBrZWxsIG1hamQgb3R0IGZvcmTDrXRhbmkKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworIywgZnV6enkKK21zZ2lkICJEZXNjcmlwdGlvbiIKK21zZ3N0ciAiYmxva2tlc3prw7Z6IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJDdXJyZW50bHkgdXNlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJVc2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorIywgZnV6enkKK21zZ2lkICJDdXJyZW50bHkgdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIkFkamEgbWVnIGEgZsOhamxyZW5kc3plciB0w61wdXPDoXQ6ICIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIlVzZSIKK21zZ3N0ciAiSGFzem7DoWxhdDoiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIlN5c3RlbS13aWRlIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIkxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb2x1bW4gJXMgZG9lcyBub3QgYXBwbHkgdG8gdGhlIHNwZWNpZmllZCBJUEMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg3Cittc2dpZCAiIC1nLCAtLWdsb2JhbCAgICAgIGluZm8gYWJvdXQgc3lzdGVtLXdpZGUgdXNhZ2UgKG1heSBiZSB1c2VkIHdpdGggLW0sIC1xIGFuZCAtcylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODgKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gICAgIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIi1pIGF6b25vc8OtdMOzIFstcyAtcSAtbV0gOiBheiBhem9ub3PDrXTDs3ZhbCBtZWdhZG90dCBlcsWRZm9ycsOhcy1hem9ub3PDrXTDsyByw6lzemxldGVpXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NAorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk1CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICAgICAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTcKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICB1c2UgdGhlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTkKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICBmb3JjZSBsaXN0IG91dHB1dCBmb3JtYXQgKGZvciBleGFtcGxlIHdpdGggLS1pZClcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAxCittc2dpZCAiIC1QLCAtLW51bWVyaWMtcGVybXMgICAgICBwcmludCBudW1lcmljIHBlcm1pc3Npb25zIChQRVJNUyBjb2x1bW4pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAzCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiR2VuZXJpYyBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydMOtY2nDszpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkLW1lbW9yeSBjb2x1bW5zICgtLXNobWVtcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJPc3p0b3R0IG1lbcOzcmlhc3plZ21lbnMgby5tLmF6ID0lZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlLXF1ZXVlIGNvbHVtbnMgKC0tcXVldWVzKTpcbiIKK21zZ3N0ciAiRWzDqXJoZXTFkSBwYXJhbmNzb2s6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBjb2x1bW5zICgtLXNlbWFwaG9yZXMpOlxuIgorbXNnc3RyICJFbMOpcmhldMWRIHBhcmFuY3NvazpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTdW1tYXJ5IGNvbHVtbnMgKC0tZ2xvYmFsKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkVsZW1lbnRzOlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwNQorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlIGlkZW50aWZpZXJzIgorbXNnc3RyICJTemVrdG9yb2sgc3rDoW1hIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDYKKyMsIGZ1enp5Cittc2dpZCAiVG90YWwgbnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgIlN6ZWt0b3JvayBzesOhbWEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwNworIywgZnV6enkKK21zZ2lkICJNYXggc2VtYXBob3JlcyBwZXIgc2VtYXBob3JlIHNldC4iCittc2dzdHIgInN6ZW1hZm9yb2sgdMO2bWLDtm5rw6ludCBtYXhpbcOhbGlzIHN6w6FtYSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwOAorIywgZnV6enkKK21zZ2lkICJNYXggbnVtYmVyIG9mIG9wZXJhdGlvbnMgcGVyIHNlbW9wKDIpIgorbXNnc3RyICJzemVnbWVuc2VrIG1heGltw6FsaXMgc3rDoW1hID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwOQorIywgZnV6enkKK21zZ2lkICJTZW1hcGhvcmUgbWF4IHZhbHVlIgorbXNnc3RyICJzemVtYWZvciBtYXhpbcOhbGlzIMOpcnTDqWtlID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODYzCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiRmVqZWsgc3rDoW1hIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjQKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNpemUgb2YgbWVzc2FnZSAoYnl0ZXMpIgorbXNnc3RyICJtYXhpbcOhbGlzIMO8emVuZXRtw6lyZXQgKGLDoWp0KSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg2NQorIywgZnV6enkKK21zZ2lkICJEZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIChieXRlcykiCittc2dzdHIgInNvciBhbGFww6lydGVsbWV6ZXR0IG1heGltw6FsaXMgbcOpcmV0ZSAoYsOhanQpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTc4IHN5cy11dGlscy9sc2lwYy5jOjk5NworbXNnaWQgImh1Z2V0bGIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTc5IHN5cy11dGlscy9sc2lwYy5jOjEwMDQKKyMsIGZ1enp5Cittc2dpZCAibm9yZXNlcnZlIgorbXNnc3RyICJTdW5PUyBmZW5udGFydG90dCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MQorIywgZnV6enkKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIgorbXNnc3RyICIiCisiXG4iCisiT3N6dG90dCBtZW3Ds3JpYXN6ZWdtZW5zIG8ubS5heiA9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MgorIywgZnV6enkKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHBhZ2VzIgorbXNnc3RyICIiCisiXG4iCisiT3N6dG90dCBtZW3Ds3JpYXN6ZWdtZW5zIG8ubS5heiA9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MworIywgZnV6enkKK21zZ2lkICJNYXggc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAibWF4aW3DoWxpcyDDvHplbmV0bcOpcmV0IChiw6FqdCkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDY0CisjLCBmdXp6eQorbXNnaWQgIk1pbiBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICJtYXhpbcOhbGlzIMO8emVuZXRtw6lyZXQgKGLDoWp0KSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjExMzUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElQQyBpZGVudGlmaWVyIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTIyOQorIywgZnV6enkKK21zZ2lkICItLWdsb2JhbCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWNyZWF0b3IsIC0taWQgYW5kIC0tdGltZSIKK21zZ3N0ciAiJXM6IEF6IC0tYWRqZmlsZSDDqXMgYSAtLW5vYWRqZmlsZSBrw7ZsY3PDtm7DtnNlbiBraXrDoXJqw6FrIGVneW3DoXN0LCBkZSBtaW5ka2V0dMWRdCBtZWdhZHRhLlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjgzCittc2dpZCAibmFtZXNwYWNlIGlkZW50aWZpZXIgKGlub2RlIG51bWJlcikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NAorbXNnaWQgImtpbmQgb2YgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODUKKyMsIGZ1enp5Cittc2dpZCAicGF0aCB0byB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJhIHN0YXQgdsOpZ3JlaGFqdMOhc2EgYXogZWzDqXLDqXNpIMO6dG9uIG1lZ2hpw7pzdWx0XG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODYKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJzemVnbWVuc2VrIG1heGltw6FsaXMgc3rDoW1hID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODcKK21zZ2lkICJsb3dlc3QgUElEIGluIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OAorbXNnaWQgIlBQSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5Cittc2dpZCAiY29tbWFuZCBsaW5lIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MAorbXNnaWQgIlVJRCBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTEKK21zZ2lkICJ1c2VybmFtZSBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bmFtZXNwYWNlPl1cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjE2CisjLCBmdXp6eQorbXNnaWQgIkxpc3Qgc3lzdGVtIG5hbWVzcGFjZXMuXG4iCittc2dzdHIgIkEgcmVuZHN6ZXLDs3JhIG5lbSDDoWxsw610aGF0w7MgYmUuXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjIzCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS10YXNrIDxwaWQ+ICAgICAgIHByaW50IHByb2Nlc3MgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYyNgorbXNnaWQgIiAtdCwgLS10eXBlIDxuYW1lPiAgICAgIG5hbWVzcGFjZSB0eXBlIChtbnQsIG5ldCwgaXBjLCB1c2VyLCBwaWQsIHV0cywgY2dyb3VwKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG5hbWVzcGFjZSB0eXBlOiAlcyIKK21zZ3N0ciAiaXNtZXJldGxlbiBlcsWRZm9ycsOhc3TDrXB1czogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MzUKKyMsIGZ1enp5Cittc2dpZCAiLS10YXNrIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxuYW1lc3BhY2U+IgorbXNnc3RyICIlczogQXogLS1hZGpmaWxlIMOpcyBhIC0tbm9hZGpmaWxlIGvDtmxjc8O2bsO2c2VuIGtpesOhcmrDoWsgZWd5bcOhc3QsIGRlIG1pbmRrZXR0xZF0IG1lZ2FkdGEuXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzM2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbmFtZXNwYWNlIGFyZ3VtZW50IgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGthcGNzb2zDsyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGZvdW5kIG5hbWVzcGFjZTogJWp1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY2IHN5cy11dGlscy91bW91bnQuYzoxMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIm1vdW50OiBlenQgY3NhayBhIHJlbmRzemVyZ2F6ZGEgdGVoZXRpIG1lZyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njkgc3lzLXV0aWxzL3Vtb3VudC5jOjEyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiBkbyB0aGF0IChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAibW91bnQ6IGV6dCBjc2FrIGEgcmVuZHN6ZXJnYXpkYSB0ZWhldGkgbWVnIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MyBzeXMtdXRpbHMvdW1vdW50LmM6MTI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24iCittc2dzdHIgIm1vdW50OiBjc2FrIGEgcmVuZHN6ZXJnYXpkYSBjc2F0b2xoYXRqYSBhKHopICVzIGVzemvDtnp0IGEoeikgJXMgaGVseXJlIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NCBzeXMtdXRpbHMvdW1vdW50LmM6MTI1CisjLCBmdXp6eQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKK21zZ3N0ciAibW91bnQ6IGV6dCBjc2FrIGEgcmVuZHN6ZXJnYXpkYSB0ZWhldGkgbWVnIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4NSBzeXMtdXRpbHMvdW1vdW50LmM6NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgKGxpYm1vdW50ICVzIgorbXNnc3RyICIlcyBhKHopICVzIGNzb21hZ2LDs2xcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTMwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIG10YWIiCittc2dzdHIgIkEoeikgJXMgbmVtIG9sdmFzaGF0w7NcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkyIHN5cy11dGlscy91bW91bnQuYzoyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBhbHJlYWR5IG1vdW50ZWRcbiIKK21zZ3N0ciAibW91bnQ6IGEoeikgJXMgbcOhciBjc2F0b2x2YSB2YW4gYSh6KSAlcyBhbMOhXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdmVkIHRvICVzLlxuIgorbXNnc3RyICJ1bW91bnQ6ICVzIG5lbSB0YWzDoWxoYXTDsyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgYm91bmQgb24gJXMuXG4iCittc2dzdHIgInVtb3VudDogJXMgbmVtIHRhbMOhbGhhdMOzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTQgc3lzLXV0aWxzL21vdW50LmM6MjU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW91bnRlZCBvbiAlcy5cbiIKK21zZ3N0ciAidW1vdW50OiAlcyBuZW0gdGFsw6FsaGF0w7MiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgcHJvcGFnYXRpb24gZmxhZ3MgY2hhbmdlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm1vdW50OiAlcyBkb2VzIG5vdCBjb250YWluIFNFTGludXggbGFiZWxzLlxuIgorIiAgICAgICBZb3UganVzdCBtb3VudGVkIGFuIGZpbGUgc3lzdGVtIHRoYXQgc3VwcG9ydHMgbGFiZWxzIHdoaWNoIGRvZXMgbm90XG4iCisiICAgICAgIGNvbnRhaW4gbGFiZWxzLCBvbnRvIGFuIFNFTGludXggYm94LiBJdCBpcyBsaWtlbHkgdGhhdCBjb25maW5lZFxuIgorIiAgICAgICBhcHBsaWNhdGlvbnMgd2lsbCBnZW5lcmF0ZSBBVkMgbWVzc2FnZXMgYW5kIG5vdCBiZSBhbGxvd2VkIGFjY2VzcyB0b1xuIgorIiAgICAgICB0aGlzIGZpbGUgc3lzdGVtLiAgRm9yIG1vcmUgZGV0YWlscyBzZWUgcmVzdG9yZWNvbig4KSBhbmQgbW91bnQoOCkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Mzc4CisjLCBmdXp6eQorbXNnaWQgIldBUk5JTkc6IGZhaWxlZCB0byBhcHBseSBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKK21zZ3N0ciAibW91bnQ6IGNzYWsgYSByZW5kc3plcmdhemRhIGNzYXRvbGhhdGphIGEoeikgJXMgZXN6a8O2enQgYSh6KSAlcyBoZWx5cmUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYWxyZWFkeSBtb3VudGVkIgorbXNnc3RyICJtb3VudDogYSh6KSAlcyBtw6FyIGNzYXRvbHZhIHZhbiBhKHopICVzIGFsw6FcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB1c2VkIGFzIHJlYWQgb25seSBsb29wLCBtb3VudGluZyByZWFkLW9ubHkiCittc2dzdHIgIm1vdW50OiBhKHopICUyJHMlMSRzIMOtcsOhc3bDqWRldHQsIGNzYXRvbMOhcyBjc2FrIG9sdmFzaGF0w7Nrw6ludCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kICVzIGluICVzIgorbXNnc3RyICJtb3VudDogYSh6KSAlcyBuZW0gdGFsw6FsaGF0w7MgYSh6KSAlcyB2YWd5IGEoeikgJXMgYWxhdHQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudHBvaW50ICVzIGluICVzIgorbXNnc3RyICJtb3VudDogYSh6KSAlcyBuZW0gdGFsw6FsaGF0w7MgYSh6KSAlcyB2YWd5IGEoeikgJXMgYWxhdHQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBzb3VyY2UgJXMgaW4gJXMiCittc2dzdHIgIm1vdW50OiBhKHopICVzIG5lbSB0YWzDoWxoYXTDsyBhKHopICVzIHZhZ3kgYSh6KSAlcyBhbGF0dCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlczogbW9yZSBmaWxlc3lzdGVtcyBkZXRlY3RlZC4gVGhpcyBzaG91bGQgbm90IGhhcHBlbixcbiIKKyIgICAgICAgdXNlIC10IDx0eXBlPiB0byBleHBsaWNpdGx5IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSBvclxuIgorIiAgICAgICB1c2Ugd2lwZWZzKDgpIHRvIGNsZWFuIHVwIHRoZSBkZXZpY2UuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzNgorIywgZnV6enkKK21zZ2lkICJJIGNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGZpbGVzeXN0ZW0gdHlwZSwgYW5kIG5vbmUgd2FzIHNwZWNpZmllZCIKK21zZ3N0ciAibW91bnQ6IG5lbSBoYXTDoXJvemhhdMOzIG1lZyBhIGbDoWpscmVuZHN6ZXIgdMOtcHVzYSDDqXMgbmVtIGlzIGFkdGEgYXp0IG1lZyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDM5CisjLCBmdXp6eQorbXNnaWQgInlvdSBtdXN0IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAibW91bnQ6IG1lZyBrZWxsIGFkbmlhIGEgZsOhamxyZW5kc3plciB0w61wdXPDoXQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCAlcyIKK21zZ3N0ciAiJXM6IG5lbSBob3poYXTDsyBsw6l0cmUgbGluayBhKHopICVzIGbDoWpscmE6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0NworIywgZnV6enkKK21zZ2lkICJtb3VudCBzb3VyY2Ugbm90IGRlZmluZWQiCittc2dzdHIgIm1vdW50OiBhIGNzYXRvbMOhcyBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDUxIHN5cy11dGlscy9tb3VudC5jOjQ1MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiYSh6KSDigJ4lc+KAnSBuZW0gbnlpdGhhdMOzIG1lZzogJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSIKK21zZ3N0ciAibmVtIGxlaGV0IHZpc3N6YcOhbGzDrXRhbmkgYSBsYXBvesOzdGVyw7xsZXQtZXN6a8O2enQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50IGZhaWxlZCIKK21zZ3N0ciAiYSBjc2F0b2zDoXMgbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZpbGVzeXN0ZW0gbW91bnRlZCwgYnV0IG1vdW50KDgpIGZhaWxlZCIKK21zZ3N0ciAibW91bnQ6IGEgY3NhdG9sw6FzIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0ODkgc3lzLXV0aWxzL21vdW50LmM6NTQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIm1vdW50OiBhKHopICVzIGNzYXRvbMOhc2kgcG9udCBuZW0gZWd5IGvDtm55dnTDoXIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ5MworIywgZnV6enkKK21zZ2lkICJtdXN0IGJlIHN1cGVydXNlciB0byB1c2UgbW91bnQiCittc2dzdHIgIm1vdW50OiBjc2FrIGEgcmVuZHN6ZXJnYXpkYSBoYXN6bsOhbGhhdGphIGEgbW91bnQgcGFyYW5jc290IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGJ1c3kiCittc2dzdHIgIm1vdW50OiBhKHopICVzIGZvZ2xhbHQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9yICVzIGJ1c3kiCittc2dzdHIgIm1vdW50OiBhKHopICVzIG3DoXIgY3NhdG9sdmEgdmFuLCB2YWd5IGEoeikgJXMgZm9nbGFsdCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzXG4iCittc2dzdHIgIm1vdW50OiBhKHopICVzIG3DoXIgY3NhdG9sdmEgdmFuIGEoeikgJXMgYWzDoVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50ICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJtb3VudDogYSh6KSAlcyBjc2F0b2zDoXNpIHBvbnQgbmVtIGzDqXRlemlrIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50ICVzIGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIgorbXNnc3RyICJtb3VudDogYSh6KSAlcyBjc2F0b2zDoXNpIHBvbnQgZWd5IHN6aW1ib2xpa3VzIGxpbmsgYSBzZW1taWJlIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJtb3VudDogYSh6KSAlcyBzcGVjacOhbGlzIGVzemvDtnogbmVtIGzDqXRlemlrIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MzYgc3lzLXV0aWxzL21vdW50LmM6NTM4IHN5cy11dGlscy9tb3VudC5jOjU0MAorIzogc3lzLXV0aWxzL21vdW50LmM6NTU1CisjLCBmdXp6eQorbXNnaWQgIm1vdW50KDIpIGZhaWxlZCIKK21zZ3N0ciAiYSBjc2F0b2zDoXMgbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KSIKK21zZ3N0ciAiIgorIm1vdW50OiBhKHopICVzIHNwZWNpw6FsaXMgZXN6a8O2eiBuZW0gbMOpdGV6aWtcbiIKKyIgICAgICAgKGF6IGVsw6lyw6lzaSDDunQgZWd5IGVsxZF0YWdqYSBuZW0ga8O2bnl2dMOhcilcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICJtb3VudDogYSh6KSAlcyBtw6lnIG5pbmNzIGNzYXRvbHZhLCB2YWd5IGEga2FwY3NvbMOzIGhpYsOhcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbW91bnRwb2ludCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICJtb3VudDogYSh6KSAlcyBtw6lnIG5pbmNzIGNzYXRvbHZhLCB2YWd5IGEga2FwY3NvbMOzIGhpYsOhcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTY1Cittc2dpZCAiIgorImJhZCBvcHRpb24uIE5vdGUgdGhhdCBtb3ZpbmcgYSBtb3VudCByZXNpZGluZyB1bmRlciBhIHNoYXJlZFxuIgorIiAgICAgICBtb3VudCBpcyB1bnN1cHBvcnRlZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisid3JvbmcgZnMgdHlwZSwgYmFkIG9wdGlvbiwgYmFkIHN1cGVyYmxvY2sgb24gJXMsXG4iCisiICAgICAgIG1pc3NpbmcgY29kZXBhZ2Ugb3IgaGVscGVyIHByb2dyYW0sIG9yIG90aGVyIGVycm9yIgorbXNnc3RyICIiCisibW91bnQ6IGhpYsOhcyBmw6FqbHJlbmRzemVydMOtcHVzLCBoaWLDoXMga2FwY3NvbMOzLCBoaWLDoXMgc3p1cGVyYmxva2sgYSh6KVxuIgorIiAgICAgICAlcyBlc3prw7Z6w7ZuLCBoacOhbnl6w7Mga8OzZGxhcCB2YWd5IHNlZ8OpZHByb2dyYW0sIHZhZ3kgZWd5w6liIGhpYmEiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgICAoZm9yIHNldmVyYWwgZmlsZXN5c3RlbXMgKGUuZy4gbmZzLCBjaWZzKSB5b3UgbWlnaHRcbiIKKyIgICAgICAgbmVlZCBhIC9zYmluL21vdW50Ljx0eXBlPiBoZWxwZXIgcHJvZ3JhbSlcbiIKK21zZ3N0ciAiIgorIiAgICAgICAoc3rDoW1vcyBmw6FqbHJlbmRzemVyIChww6lsZMOhdWwgbmZzLCBjaWZzKSBlc2V0w6luIHN6w7xrc8OpZ2VzXG4iCisiICAgICAgIGxlaGV0IGVneSAvc2Jpbi9tb3VudC48dMOtcHVzPiBzZWfDqWRwcm9ncmFtKSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiICAgICAgIEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gaXMgZm91bmQgaW4gc3lzbG9nIC0gdHJ5XG4iCisiICAgICAgIGRtZXNnIHwgdGFpbCBvciBzby5cbiIKK21zZ3N0ciAiIgorIiAgICAgICBFZ3llcyBlc2V0ZWtiZW4gaGFzem5vcyBpbmZvcm3DoWNpw7NrIHRhbMOhbGhhdMOzayBhIHN5c2xvZ2JhblxuIgorIiAgICAgICBwcsOzYsOhbGphIGtpYWRuaSBhIGRtZXNnIHwgdGFpbCBwYXJhbmNzb3QgdmFneSBlZ3kgZWhoZXogaGFzb25sw7N0XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU4MworbXNnaWQgIm1vdW50IHRhYmxlIGZ1bGwiCittc2dzdHIgImEgY3NhdG9sw6FzaSB0w6FibGEgbWVndGVsdCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIgorbXNnc3RyICJtb3VudDogbmVtIGxlaGV0IG9sdmFzbmkgYSh6KSAlcyBzenVwZXJibG9ra2rDoXQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKK21zZ3N0ciAibW91bnQ6IGlzbWVyZXRsZW4gZsOhamxyZW5kc3plcnTDrXB1czog4oCeJXPigJ0iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU5NAorIywgZnV6enkKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAibW91bnQ6IGlzbWVyZXRsZW4gZsOhamxyZW5kc3plcnTDrXB1czog4oCeJXPigJ0iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCgyKSBmYWlscz8iCittc2dzdHIgIm1vdW50OiBhKHopICVzIG5lbSBibG9ra2VzemvDtnogw6lzIGF6IGVsw6lyw6lzIG1lZ2hpw7pzdWx0LiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisidGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2VcbiIKKyIgICAgICAgKG1heWJlIGBtb2Rwcm9iZSBkcml2ZXInPykiCittc2dzdHIgIiIKKyJtb3VudDogYSByZW5kc3plcm1hZyBuZW0gaXNtZXJpIGZlbCBhKHopICVzIGJsb2trZXN6a8O2enRcbiIKKyIgICAgICAgKHRhbMOhbiBraSBrZWxsZW5lIGFkbmlhIGF6IOKAnmluc21vZCBtZWdoYWp0w7PigJ0gcGFyYW5jc290PykiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIChtYXliZSB0cnkgYC1vIGxvb3AnPykiCittc2dzdHIgIm1vdW50OiBhKHopICVzIG5lbSBibG9ra2VzemvDtnogKHByw7Niw6FsamEgaGFzem7DoWxuaSBhIOKAni1vIGxvb3DigJ0ga2FwY3NvbMOzdCkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXM6IGV6IG5lbSBibG9ra29zIGVzemvDtnpcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIm1vdW50OiBhKHopICVzIG5lbSBlZ3kgw6lydsOpbnllcyBibG9ra2VzemvDtnoiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50ICVzIHJlYWQtb25seSIKK21zZ3N0ciAibW91bnQ6IGEoeikgJTIkcyUxJHMgbmVtIGNzYXRvbGhhdMOzIMOtcsOhc3bDqWRldHRrw6ludCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IGAtdycgZmxhZyBnaXZlbiIKK21zZ3N0ciAibW91bnQ6IGEoeikgJTIkcyUxJHMgw61yw6FzdsOpZGV0dCwgZGUgbWVnYWTDoXNyYSBrZXLDvGx0IGEg4oCeLXfigJ0ga2FwY3NvbMOzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZW1vdW50ICVzIHJlYWQtd3JpdGUsIGlzIHdyaXRlLXByb3RlY3RlZCIKK21zZ3N0ciAibW91bnQ6IGEoeikgJTIkcyUxJHMgbmVtIGNzYXRvbGhhdMOzIMOtcsOhc3bDqWRldHRrw6ludCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjMxIHN5cy11dGlscy9tb3VudC5jOjY1NCBzeXMtdXRpbHMvdW5zaGFyZS5jOjE4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgb24gJXMgZmFpbGVkIgorbXNnc3RyICIlczogYSh6KSAlcyDDoXRuZXZlesOpc2UgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlczogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50aW5nIHJlYWQtb25seSIKK21zZ3N0ciAibW91bnQ6IGEoeikgJTIkcyUxJHMgw61yw6FzdsOpZGV0dCwgY3NhdG9sw6FzIGNzYWsgb2x2YXNoYXTDs2vDqW50IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKK21zZ3N0ciAibW91bnQ6IGEoeikgJXMgbcOhciBjc2F0b2x2YSB2YW4gYSh6KSAlcyBhbMOhXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3B0aW9uIGZvcm1hdDogJXMiCittc2dzdHIgIiVzOiBpc21lcmV0bGVuIGFyZ3VtZW50dW06ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFwcGVuZCBvcHRpb24gJyVzJyIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjczNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZV0gPHNvdXJjZT4gfCBbLS10YXJnZXRdIDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgPG9wZXJhdGlvbj4gPG1vdW50cG9pbnQ+IFs8dGFyZ2V0Pl1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NDQKKyMsIGZ1enp5Cittc2dpZCAiTW91bnQgYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJGw6FqbHJlbmRzemVyLWVsbGVuxZFyesOpcyBrw6lueXN6ZXLDrXTDqXNlIGEga8O2dmV0a2V6xZFuOiDigJ4lc+KAnS5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW91bnQgYWxsIGZpbGVzeXN0ZW1zIG1lbnRpb25lZCBpbiBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgbW91bnQoMikgc3lzY2FsbFxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBmb3JrIG9mZiBmb3IgZWFjaCBkZXZpY2UgKHVzZSB3aXRoIC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8cGF0aD4gICAgICBhbHRlcm5hdGl2ZSBmaWxlIHRvIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgc2hvdyBhbHNvIGZpbGVzeXN0ZW0gbGFiZWxzXG4iCittc2dzdHIgIiAgWyAtZmlsZSBracOtcmF0w6FzaV9mw6FqbG7DqXYgXVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTggc3lzLXV0aWxzL3Vtb3VudC5jOjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbW91bnQgb3B0aW9uc1xuIgorIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC1vbmx5IChzYW1lIGFzIC1vIHJvKVxuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1zb3VyY2UgPHNyYz4gICAgICBleHBsaWNpdGx5IHNwZWNpZmllcyBzb3VyY2UgKHBhdGgsIGxhYmVsLCB1dWlkKVxuIgorIiAgICAgLS10YXJnZXQgPHRhcmdldD4gICBleHBsaWNpdGx5IHNwZWNpZmllcyBtb3VudHBvaW50XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzY4IHN5cy11dGlscy91bW91bnQuYzo5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHNheSB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU291cmNlOlxuIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXRoXG4iCisiIDxkaXJlY3Rvcnk+ICAgICAgICAgICAgIG1vdW50cG9pbnQgZm9yIGJpbmQgbW91bnRzIChzZWUgLS1iaW5kL3JiaW5kKVxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgICByZWd1bGFyIGZpbGUgZm9yIGxvb3BkZXYgc2V0dXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wZXJhdGlvbnM6XG4iCisiIC1CLCAtLWJpbmQgICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBzb21ld2hlcmUgZWxzZSAoc2FtZSBhcyAtbyBiaW5kKVxuIgorIiAtTSwgLS1tb3ZlICAgICAgICAgICAgICBtb3ZlIGEgc3VidHJlZSB0byBzb21lIG90aGVyIHBsYWNlXG4iCisiIC1SLCAtLXJiaW5kICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBhbmQgYWxsIHN1Ym1vdW50cyBzb21ld2hlcmUgZWxzZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc5NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1zaGFyZWQgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2Utc2xhdmUgICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcHJpdmF0ZSAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS11bmJpbmRhYmxlICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2UtcnNoYXJlZCAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXJzbGF2ZSAgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXJwcml2YXRlICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtcnVuYmluZGFibGUgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6ODg3IHN5cy11dGlscy91bW91bnQuYzo1NDgKKyMsIGZ1enp5Cittc2dpZCAibGlibW91bnQgY29udGV4dCBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibW91bnQ6IGEgY3NhdG9sw6FzIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo5NDQgc3lzLXV0aWxzL3Vtb3VudC5jOjYwMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IG9wdGlvbnMgcGF0dGVybiIKK21zZ3N0ciAiQSBzemVtw6lseWlzw6lnIGJlw6FsbMOtdMOhc2EgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTA5NworIywgZnV6enkKK21zZ2lkICJzb3VyY2Ugc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJUw7ZiYiBjaWxpbmRlcnQgYWRvdHQgbWVnLCBtaW50IGFtZW5ueWkgZWxmw6lyIGEgbGVtZXplbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstcWRdIC9wYXRoL3RvL2RpcmVjdG9yeVxuIgorIiAlMSRzIC14IC9kZXYvZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjIKK21zZ2lkICJDaGVjayB3aGV0aGVyIGEgZGlyZWN0b3J5IG9yIGZpbGUgaXMgYSBtb3VudHBvaW50LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTI1Cittc2dpZCAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgcXVpZXQgbW9kZSAtIGRvbid0IHByaW50IGFueXRoaW5nXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgYmxvY2sgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiYSBnecO2a8OpciBpbm9kZSBuZW0ga8O2bnl2dMOhciIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoyMDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyBjc2F0b2x2YSB2YW4uXHQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzIgc3lzLXV0aWxzL3NldHByaXYuYzo5MyBzeXMtdXRpbHMvdW5zaGFyZS5jOjI0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXG4iCittc2dzdHIgIkhhc3puw6FsYXQ6ICVzIHByb2dyYW0gW2FyZ3VtZW50dW0gLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjc2Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIG5hbWVzcGFjZXMgb2Ygb3RoZXIgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzkKK21zZ2lkICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICB0YXJnZXQgcHJvY2VzcyB0byBnZXQgbmFtZXNwYWNlcyBmcm9tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MAorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICBlbnRlciBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MQorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICBlbnRlciBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODIKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgZW50ZXIgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgIGVudGVyIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgZW50ZXIgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg1CisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gIGVudGVyIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NgorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICBlbnRlciB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg3CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZXR1aWQgPHVpZD4gICAgIHNldCB1aWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODkKK21zZ2lkICIgICAgIC0tcHJlc2VydmUtY3JlZGVudGlhbHMgZG8gbm90IHRvdWNoIHVpZHMgb3IgZ2lkc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTAKK21zZ2lkICIgLXIsIC0tcm9vdFs9PGRpcj5dICAgICBzZXQgdGhlIHJvb3QgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MQorbXNnaWQgIiAtdywgLS13ZFs9PGRpcj5dICAgICAgIHNldCB0aGUgd29ya2luZyBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkyCittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgZG8gbm90IGZvcmsgYmVmb3JlIGV4ZWMnaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTQKK21zZ2lkICIgLVosIC0tZm9sbG93LWNvbnRleHQgICBzZXQgU0VMaW51eCBjb250ZXh0IGFjY29yZGluZyB0byAtLXRhcmdldCBQSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJuZWl0aGVyIGZpbGVuYW1lIG5vciB0YXJnZXQgcGlkIHN1cHBsaWVkIGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjI3NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdWlkIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoyODEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGdpZCIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzE3Cittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tZm9sbG93LWNvbnRleHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgJWQgU0VMaW51eCBjb250ZXh0IgorbXNnc3RyICJuZW0gaG96aGF0w7MgbMOpdHJlIMO6aiBzZWxpbnV4IGtvbnRleHR1cyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgZXhlYyBjb250ZXh0IHRvICclcyciCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mzc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZWFzc29jaWF0ZSB0byBuYW1lc3BhY2UgJyVzJyBmYWlsZWQiCittc2dzdHIgInJlbmRzemVyaWTFkSBvbHZhc8Ohc2EiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzkwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBhKHopICVzIG5lbSBmdXR0YXRoYXTDszogJW0iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mzk3CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgcm9vdCBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICJhIHBvemljaW9uw6Fsw6FzIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQwMAorIywgZnV6enkKK21zZ2lkICJjaHJvb3QgZmFpbGVkIgorbXNnc3RyICJhIGNzYXRvbMOhcyBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MTAKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSB3b3JraW5nIGRpcmVjdG9yeSBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICJhIHBvemljaW9uw6Fsw6FzIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQyMSBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxNSBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxOQorIywgZnV6enkKK21zZ2lkICJzZXRncm91cHMgZmFpbGVkIgorbXNnc3RyICJhIHNldHVpZCgpIGjDrXbDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIG5ld19yb290IHB1dF9vbGRcbiIKK21zZ3N0ciAiIgorIkhhc3puw6FsYXQ6ICVzJXMgW2thcGNzb2zDs2tdIFtwcm9ncmFtIFtwcm9ncmFtIGFyZ3VtZW50dW1haV1dXG4iCisiXG4iCisiS2FwY3NvbMOzazpcbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozNworIywgZnV6enkKK21zZ2lkICJDaGFuZ2UgdGhlIHJvb3QgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiRsOhamxyZW5kc3plci1lbGxlbsWRcnrDqXMga8OpbnlzemVyw610w6lzZSBhIGvDtnZldGtlesWRbjog4oCeJXPigJ0uXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCBmcm9tIGAlcycgdG8gYCVzJyIKK21zZ3N0ciAiQSBzemVtw6lseWlzw6lnIGJlw6FsbMOtdMOhc2EgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NQorbXNnaWQgImFkZHJlc3Mgc3BhY2UgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIywgZnV6enkKK21zZ2lkICJtYXggY29yZSBmaWxlIHNpemUiCittc2dzdHIgIk5lbSBueWl0aGF0w7MgbWVnIGEoeikg4oCeJXPigJ0gZsOhamwiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJDUFUgdGltZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3CisjLCBmdXp6eQorbXNnaWQgInNlY29uZHMiCittc2dzdHIgIkRPUyBtw6Fzb2RsYWdvcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OAorbXNnaWQgIm1heCBkYXRhIHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OQorIywgZnV6enkKK21zZ2lkICJtYXggZmlsZSBzaXplIgorbXNnc3RyICJoaWLDoXMgaW5vZGUgbcOpcmV0IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2YgZmlsZSBsb2NrcyBoZWxkIgorbXNnc3RyICJzemVnbWVuc2VrIG1heGltw6FsaXMgc3rDoW1hID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKKyMsIGZ1enp5Cittc2dpZCAibG9ja3MiCittc2dzdHIgIiVsZCBibG9ra1xuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCittc2dpZCAibWF4IGxvY2tlZC1pbi1tZW1vcnkgYWRkcmVzcyBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyCittc2dpZCAibWF4IGJ5dGVzIGluIFBPU0lYIG1xdWV1ZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MworbXNnaWQgIm1heCBuaWNlIHByaW8gYWxsb3dlZCB0byByYWlzZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0CisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2Ygb3BlbiBmaWxlcyIKK21zZ3N0ciAic3plZ21lbnNlayBtYXhpbcOhbGlzIHN6w6FtYSA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0CisjLCBmdXp6eQorbXNnaWQgImZpbGVzIgorbXNnc3RyICIoS8O2dmV0a2V6xZEgZsOhamw6ICVzKSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIHByb2Nlc3NlcyIKK21zZ3N0ciAic3plZ21lbnNlayBtYXhpbcOhbGlzIHN6w6FtYSA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1CisjLCBmdXp6eQorbXNnaWQgInByb2Nlc3NlcyIKK21zZ3N0ciAiJXM6IGEoeikg4oCeJXPigJ0gZm9seWFtYXQgbmVtIHRhbMOhbGhhdMOzXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODYKK21zZ2lkICJtYXggcmVzaWRlbnQgc2V0IHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NworIywgZnV6enkKK21zZ2lkICJtYXggcmVhbC10aW1lIHByaW9yaXR5IgorbXNnc3RyICJwcmlvcml0w6FzIGxla8OpcsOpc2UiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJ0aW1lb3V0IGZvciByZWFsLXRpbWUgdGFza3MiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgIm1pY3Jvc2VjcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5CisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzIgorbXNnc3RyICJzemVnbWVuc2VrIG1heGltw6FsaXMgc3rDoW1hID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJzaWduYWxzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJtYXggc3RhY2sgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyMworIywgZnV6enkKK21zZ2lkICJyZXNvdXJjZSBuYW1lIgorbXNnc3RyICLDiXJ2w6lueXRlbGVuIGZlbGhhc3puw6Fsw7Nuw6l2IgorCisjIGV6IGEga8O2dmV0a2V6xZEgaMOhcm9tICVzJXMtYmVuIGF6IGVsc8WRICVzIGxlc3osIG1lZyBrZWxsIG1hamQgb3R0IGZvcmTDrXRhbmkKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI0CisjLCBmdXp6eQorbXNnaWQgInJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJibG9ra2VzemvDtnoiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI1Cittc2dpZCAic29mdCBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNgorbXNnaWQgImhhcmQgbGltaXQgKGNlaWxpbmcpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI3CisjLCBmdXp6eQorbXNnaWQgInVuaXRzIgorbXNnc3RyICJFZ3lzw6lnIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXAgUElEXVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gQ09NTUFORFxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjYKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVzb3VyY2UgbGltaXRzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiR2VuZXJhbCBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydMOtY2nDszpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjkKK21zZ2lkICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG91dHB1dFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3NworIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiUmVzb3VyY2VzIE9wdGlvbnM6XG4iCittc2dzdHIgIlZlc3rDqWx5ZXMga2FwY3NvbMOzazoiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc4Cittc2dpZCAiIgorIiAtYywgLS1jb3JlICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBjb3JlIGZpbGVzIGNyZWF0ZWRcbiIKKyIgLWQsIC0tZGF0YSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgYSBwcm9jZXNzJ3MgZGF0YSBzZWdtZW50XG4iCisiIC1lLCAtLW5pY2UgICAgICAgICAgICAgbWF4aW11bSBuaWNlIHByaW9yaXR5IGFsbG93ZWQgdG8gcmFpc2VcbiIKKyIgLWYsIC0tZnNpemUgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgZmlsZXMgd3JpdHRlbiBieSB0aGUgcHJvY2Vzc1xuIgorIiAtaSwgLS1zaWdwZW5kaW5nICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFsc1xuIgorIiAtbCwgLS1tZW1sb2NrICAgICAgICAgIG1heGltdW0gc2l6ZSBhIHByb2Nlc3MgbWF5IGxvY2sgaW50byBtZW1vcnlcbiIKKyIgLW0sIC0tcnNzICAgICAgICAgICAgICBtYXhpbXVtIHJlc2lkZW50IHNldCBzaXplXG4iCisiIC1uLCAtLW5vZmlsZSAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2Ygb3BlbiBmaWxlc1xuIgorIiAtcSwgLS1tc2dxdWV1ZSAgICAgICAgIG1heGltdW0gYnl0ZXMgaW4gUE9TSVggbWVzc2FnZSBxdWV1ZXNcbiIKKyIgLXIsIC0tcnRwcmlvICAgICAgICAgICBtYXhpbXVtIHJlYWwtdGltZSBzY2hlZHVsaW5nIHByaW9yaXR5XG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAgbWF4aW11bSBzdGFjayBzaXplXG4iCisiIC10LCAtLWNwdSAgICAgICAgICAgICAgbWF4aW11bSBhbW91bnQgb2YgQ1BVIHRpbWUgaW4gc2Vjb25kc1xuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHVzZXIgcHJvY2Vzc2VzXG4iCisiIC12LCAtLWFzICAgICAgICAgICAgICAgc2l6ZSBvZiB2aXJ0dWFsIG1lbW9yeVxuIgorIiAteCwgLS1sb2NrcyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIGZpbGUgbG9ja3NcbiIKKyIgLXksIC0tcnR0aW1lICAgICAgICAgICBDUFUgdGltZSBpbiBtaWNyb3NlY29uZHMgYSBwcm9jZXNzIHNjaGVkdWxlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVyIHJlYWwtdGltZSBzY2hlZHVsaW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoyNDMgc3lzLXV0aWxzL3BybGltaXQuYzoyNDkgc3lzLXV0aWxzL3BybGltaXQuYzozNjYKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzcxCittc2dpZCAidW5saW1pdGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IG9sZCAlcyBsaW1pdCIKK21zZ3N0ciAiQSBzemVtw6lseWlzw6lnIGJlw6FsbMOtdMOhc2EgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHNvZnQgbGltaXQgJXMgY2Fubm90IGV4Y2VlZCB0aGUgaGFyZCBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJOZXcgJXMgbGltaXQgZm9yIHBpZCAlZDogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mzc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIKK21zZ3N0ciAiQSBzemVtw6lseWlzw6lnIGJlw6FsbMOtdMOhc2EgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICJBIHN6ZW3DqWx5aXPDqWcgYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjQ1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIGxpbWl0IgorbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo1ODUKK21zZ2lkICJvcHRpb24gLS1waWQgbWF5IGJlIHNwZWNpZmllZCBvbmx5IG9uY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo2MTYKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9ucyAtLXBpZCBhbmQgQ09NTUFORCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIlczogQXogLS1hZGpmaWxlIMOpcyBhIC0tbm9hZGpmaWxlIGvDtmxjc8O2bsO2c2VuIGtpesOhcmrDoWsgZWd5bcOhc3QsIGRlIG1pbmRrZXR0xZF0IG1lZ2FkdGEuXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNworbXNnaWQgIkRpc3BsYXkga2VybmVsIHByb2ZpbGluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1tLCAtLW1hcGZpbGUgPG1hcGZpbGU+ICAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJXNcIilcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgRWxzxZEgICAgIFV0b2xzw7NcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtcCwgLS1wcm9maWxlIDxwcm8tZmlsZT4gIChkZWZhdWx0OiAgXCIlc1wiKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNgorbXNnaWQgIiAtTSwgLS1tdWx0aXBsaWVyIDxtdWx0PiAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIHByaW50IG9ubHkgaW5mbyBhYm91dCB0aGUgc2FtcGxpbmcgc3RlcFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBwcmludCB2ZXJib3NlIGRhdGFcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE5CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIHByaW50IGFsbCBzeW1ib2xzLCBldmVuIGlmIGNvdW50IGlzIDBcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIwCittc2dpZCAiIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMQorbXNnaWQgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgY291bnRlcnMgd2l0aGluIGZ1bmN0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgICAgQSBnZXRvcHQoMSkgdmVyemnDsyB0ZXN6dGVsw6lzZVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjMKK21zZ2lkICIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHdyaXRpbmcgJXMiCittc2dzdHIgImhpYmEgYSh6KSAlcyDDrXLDoXNha29yOiAlcyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjcxCittc2dpZCAiQXNzdW1pbmcgcmV2ZXJzZWQgYnl0ZSBvcmRlci4gVXNlIC1uIHRvIGZvcmNlIG5hdGl2ZSBieXRlIG9yZGVyLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNhbXBsaW5nX3N0ZXA6ICV1XG4iCittc2dzdHIgIk1pbnRhdsOpdGVsZXrDqXNpX2zDqXDDqXM6ICVpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMwMiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzKCVpKTogd3JvbmcgbWFwIGxpbmUiCittc2dzdHIgIiVzOiAlcyglaSk6IGhpYsOhcyBsZWvDqXBlesOpc3NvclxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgXCJfc3RleHRcIiBpbiAlcyIKK21zZ3N0ciAiJXM6IG5lbSB0YWzDoWxoYXTDsyBheiDigJ5fc3RleHTigJ0gYSBrw7Z2ZXRrZXrFkWJlbjogJXNcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzQ2CisjLCBmdXp6eQorbXNnaWQgInByb2ZpbGUgYWRkcmVzcyBvdXQgb2YgcmFuZ2UuIFdyb25nIG1hcCBmaWxlPyIKK21zZ3N0ciAiJXM6IGEgcHJvZmlsIGPDrW1lIGvDrXbDvGwgZXNpayBhIHRhcnRvbcOhbnlvbi4gVGFsw6FuIGhpYsOhcyBhIGxla8OpcGV6w6lzZsOhamw/XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjQwNAorbXNnaWQgInRvdGFsIgorbXNnc3RyICLDtnNzemVzZW4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MgorbXNnaWQgInByb2Nlc3MgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUzCittc2dpZCAicHJvY2VzcyBncm91cCBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gWy1wfC0tcGlkXSA8cGlkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLWd8LS1wZ3JwIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLXV8LS11c2VyIDx1c2VyPi4uLlxuIgorbXNnc3RyICIiCisiXG4iCisiSGFzem7DoWxhdDpcbiIKKyIgcmVuaWNlIHByaW9yaXTDoXMgWy1wfC0tcGlkXSBwaWQgWy4uLiBwaWRdXG4iCisiIHJlbmljZSBwcmlvcml0w6FzICAtZ3wtLXBncnAgcGdycCBbLi4uIHBncnBdXG4iCisiIHJlbmljZSBwcmlvcml0w6FzICAtdXwtLXVzZXIgZmVsaGFzem7DoWzDsyBbLi4uIGZlbGhhc3puw6Fsw7NdXG4iCisiIHJlbmljZSAtaCB8IC0taGVscFxuIgorIiByZW5pY2UgLXYgfCAtLXZlcnNpb25cbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjY3Cittc2dpZCAiQWx0ZXIgdGhlIHByaW9yaXR5IG9mIHJ1bm5pbmcgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorbXNnc3RyICJBZGphIG1lZyBhIGNpbGluZGVyZWsgc3rDoW3DoXQ6ICIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcxCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MgorbXNnaWQgIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIGdyb3VwIElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjczCittc2dpZCAiIC11LCAtLXVzZXIgPG5hbWU+fDxpZD4gaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHVzZXJuYW1lIG9yIHVzZXIgSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiQSBzemVtw6lseWlzw6lnIGJlw6FsbMOtdMOhc2EgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlcyIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjEwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgKCVzKSBvbGQgcHJpb3JpdHkgJWQsIG5ldyBwcmlvcml0eSAlZFxuIgorbXNnc3RyICIlZDogcsOpZ2kgcHJpb3JpdMOhczogJWQsIMO6aiBwcmlvcml0w6FzOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHVzZXIgJXMiCittc2dzdHIgIiVzOiBJc21lcmV0bGVuIHBhcmFuY3M6ICVzXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgb25lIG9mIHRoZSBhYm92ZQorIy4gKiB0aHJlZSBJRCBuYW1lcy4gUmVhZDogImJhZCB2YWx1ZSBmb3IgJXM6ICVzIgorIzogc3lzLXV0aWxzL3JlbmljZS5jOjE4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkICVzIHZhbHVlOiAlcyIKK21zZ3N0ciAiaGliw6FzIGlkxZFrb3Jsw6F0w6lydMOpazogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6OTgKK21zZ2lkICJFbnRlciBhIHN5c3RlbSBzbGVlcCBzdGF0ZSB1bnRpbCBhIHNwZWNpZmllZCB3YWtldXAgdGltZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMQorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICAgICAgICAgIHJlYWRzIHRoZSBjbG9jayBtb2RlIGZyb20gYWRqdXN0IGZpbGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLUEsIC0tYWRqZmlsZSA8ZmlsZT4gICAgIHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRlZmF1bHQgaXMgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNQorbXNnaWQgIiAgICAgLS1kYXRlIDx0aW1lc3RhbXA+ICAgZGF0ZSB0aW1lIG9mIHRpbWVzdGFtcCB0byB3YWtlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDYKK21zZ2lkICIgLWQsIC0tZGV2aWNlIDxkZXZpY2U+ICAgIHNlbGVjdCBydGMgZGV2aWNlIChydGMwfHJ0YzF8Li4uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA3Cittc2dpZCAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBkb2VzIGV2ZXJ5dGhpbmcsIGJ1dCBzdXNwZW5kXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDgKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICBSVEMgdXNlcyBsb2NhbCB0aW1lem9uZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOQorbXNnaWQgIiAgICAgLS1saXN0LW1vZGVzICAgICAgICAgbGlzdCBhdmFpbGFibGUgbW9kZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMAorbXNnaWQgIiAtbSwgLS1tb2RlIDxtb2RlPiAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMQorbXNnaWQgIiAtcywgLS1zZWNvbmRzIDxzZWNvbmRzPiAgc2Vjb25kcyB0byBzbGVlcFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEyCittc2dpZCAiIC10LCAtLXRpbWUgPHRpbWVfdD4gICAgICB0aW1lIHRvIHdha2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMworIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2VzIFVUQ1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNjcKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgInJ0YyBpZMWRIG9sdmFzw6FzYSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBzeXN0ZW0gdGltZSBmYWlsZWQiCittc2dzdHIgInJlbmRzemVyaWTFkSBvbHZhc8Ohc2EiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgImNvbnZlcnQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICJydGMgaWTFkSDDoXRhbGFrw610w6FzYSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAic2V0IHJ0YyB3YWtlIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAicnRjIMOpYnJlc3p0w6lzaSByaWFzenTDoXMgYmXDoWxsw610w6FzYSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdGhpcmQgbGluZSBpbjogJXM6ICVzIgorbXNnc3RyICJ2w6FyYXRsYW4gZsOhamx2w6lnZSBhIGvDtnZldGtlesWRbjogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzIwIHN5cy11dGlscy9ydGN3YWtlLmM6NjI0CisjLCBmdXp6eQorbXNnaWQgInJlYWQgcnRjIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAicnRjIHJpYXN6dMOhcyBlbmdlZMOpbHllesOpc2UiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvZmZcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMzOAorIywgZnV6enkKK21zZ2lkICJjb252ZXJ0IHRpbWUgZmFpbGVkIgorbXNnc3RyICJydGMgaWTFkSDDoXRhbGFrw610w6FzYSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9uICAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQ6ICVzIgorbXNnc3RyICJOZW0gb2x2YXNoYXTDsyBhIGvDtnZldGtlesWROiAlc1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHN1c3BlbmQgc3RhdGUgJyVzJyIKK21zZ3N0ciAiJXM6IGlzbWVyZXRsZW4gZmVsZsO8Z2dlc3p0w6lzaSDDoWxsYXBvdDog4oCeJXPigJ1cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0NzUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzZWNvbmRzIGFyZ3VtZW50IgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGthcGNzb2zDsyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0NzkKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lIGFyZ3VtZW50IgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGthcGNzb2zDsyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIKK21zZ3N0ciAiJXM6IGZlbHTDqXRlbGV6ZW0sIGhvZ3kgYXogUlRDIFVUQy10IGhhc3puw6FsIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxMQorbXNnaWQgIlVzaW5nIFVUQyB0aW1lLlxuIgorbXNnc3RyICJVVEMgaWTFkSBoYXN6bsOhbGF0YS5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTIKK21zZ2lkICJVc2luZyBsb2NhbCB0aW1lLlxuIgorbXNnc3RyICJIZWx5aSBpZMWRIGhhc3puw6FsYXRhLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxNQorIywgZnV6enkKK21zZ2lkICJtdXN0IHByb3ZpZGUgd2FrZSB0aW1lIChzZWUgLS1zZWNvbmRzLCAtLXRpbWUgYW5kIC0tZGF0ZSBvcHRpb25zKSIKK21zZ3N0ciAiJXM6IG1lZyBrZWxsIGFkbmlhIGEgZmVsw6licmVzenTDqXNpIGlkxZF0XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgZW5hYmxlZCBmb3Igd2FrZXVwIGV2ZW50cyIKK21zZ3N0ciAiJXM6IGEoeikgJXMgbmVtIHTDoW1vZ2F0amEgYXogw6licmVzenTDqXNpIGVzZW3DqW55ZWtldFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyOAorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybSAlbGQsIHN5c190aW1lICVsZCwgcnRjX3RpbWUgJWxkLCBzZWNvbmRzICV1XG4iCittc2dzdHIgIiVsZC4gcmlhc3p0w6FzLCByZW5kc3plcmlkxZE6ICVsZCwgcnRjIGlkxZE6ICVsZCwgJXUgbcOhc29kcGVyY1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltZSBkb2Vzbid0IGdvIGJhY2t3YXJkIHRvICVzIgorbXNnc3RyICIlczogYXogaWTFkSBuZW0gbWVneSB2aXNzemEgZWRkaWc6ICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlczogw6licmVzenTDqXMgYSh6KSDigJ4lc+KAnSBlc3prw7Z6csWRbCAlcyBzZWfDrXRzw6lnw6l2ZWwgZWtrb3I6ICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIGZyb20gXCIlc1wiIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlczogw6licmVzenTDqXMgYSh6KSDigJ4lc+KAnSBlc3prw7Z6csWRbCAlcyBzZWfDrXRzw6lnw6l2ZWwgZWtrb3I6ICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTU5CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogbm87IGxlYXZpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9mZjsgZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvbjsgcmVhZGluZyBydGNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU5MgorIywgZnV6enkKK21zZ2lkICJydGMgcmVhZCBmYWlsZWQiCittc2dzdHIgImF6IG9sdmFzw6FzIG1lZ2hpw7pzdWx0OiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBkaXNhYmxlOyBkaXNhYmxpbmcgYWxhcm1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYxNQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6ICVzOyBzdXNwZW5kaW5nIHN5c3RlbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjI5CisjLCBmdXp6eQorbXNnaWQgImRpc2FibGUgcnRjIGFsYXJtIGludGVycnVwdCBmYWlsZWQiCittc2dzdHIgInJ0YyByaWFzenTDoXNpIG1lZ3N6YWvDrXTDoXMgbGV0aWx0w6FzYSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo0OAorIywgYy1mb3JtYXQKK21zZ2lkICJTd2l0Y2hpbmcgb24gJXMuXG4iCittc2dzdHIgIiVzIGJla2FwY3NvbMOhc2EuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8YXJjaD4gW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBwcm9ncmFtIFthcmd1bWVudHVtIC4uLl1cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgcHJvZ3JhbSBbYXJndW1lbnR1bSAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTYKK21zZ2lkICJDaGFuZ2UgdGhlIHJlcG9ydGVkIGFyY2hpdGVjdHVyZSBhbmQgc2V0IHBlcnNvbmFsaXR5IGZsYWdzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTkKK21zZ2lkICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIHR1cm5zIG9uIEFERFJfTElNSVRfMzJCSVRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMAorbXNnaWQgIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAgbWFrZXMgZnVuY3Rpb24gcG9pbnRlcnMgcG9pbnQgdG8gZGVzY3JpcHRvcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMQorbXNnaWQgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgdHVybnMgb24gU0hPUlRfSU5PREVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMgorbXNnaWQgIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQgY2hhbmdlcyB0aGUgd2F5IHZpcnR1YWwgbWVtb3J5IGlzIGFsbG9jYXRlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAzCittc2dpZCAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBkaXNhYmxlcyByYW5kb21pemF0aW9uIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNAorbXNnaWQgIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgdHVybnMgb24gV0hPTEVfU0VDT05EU1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA1Cittc2dpZCAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0dXJucyBvbiBTVElDS1lfVElNRU9VVFNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNgorbXNnaWQgIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgdHVybnMgb24gUkVBRF9JTVBMSUVTX0VYRUNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNworbXNnaWQgIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgdHVybnMgb24gTU1BUF9QQUdFX1pFUk9cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOAorbXNnaWQgIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgbGltaXRzIHRoZSB1c2VkIGFkZHJlc3Mgc3BhY2UgdG8gYSBtYXhpbXVtIG9mIDMgR0JcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOQorbXNnaWQgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMAorbXNnaWQgIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgdHVybnMgb24gVU5BTUUyNlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTExCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgc2F5IHdoYXQgb3B0aW9ucyBhcmUgYmVpbmcgc3dpdGNoZWQgb25cbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWxpc3QgICAgICAgICAgICAgICBsaXN0IHNldHRhYmxlIGFyY2hpdGVjdHVyZXMsIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlc1xuIgorIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCittc2dzdHIgIiIKKyIlczogJXNcbiIKKyJUb3bDoWJiaSBpbmZvcm3DoWNpw7Nrw6lydCBhZGphIGtpIGEg4oCeJXMgLS1oZWxw4oCdIHBhcmFuY3NvdC5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCittc2dzdHIgIiIKKyIlczogJXNcbiIKKyJUb3bDoWJiaSBpbmZvcm3DoWNpw7Nrw6lydCBhZGphIGtpIGEg4oCeJXMgLS1oZWxw4oCdIHBhcmFuY3NvdC5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFVucmVjb2duaXplZCBhcmNoaXRlY3R1cmUiCittc2dzdHIgIiVzOiBpc21lcmV0bGVuIGFyY2hpdGVrdMO6cmEiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgY2Fubm90IHNldCBhcmNoaXRlY3R1cmUgdG8gJXMiCittc2dzdHIgIk5lbSBrw6lyaGV0xZEgbGUgYSh6KSAlcyBpZMWRa29ybMOhdGphOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjMwNQorbXNnaWQgIk5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJUw7psIGtldsOpcyBhcmd1bWVudHVtIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjMyMgorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICJBIHN6ZW3DqWx5aXPDqWcgYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM3OQorIywgZnV6enkKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICctLWxpc3QnIgorbXNnc3RyICJhem9ub3PDrXRhdGxhbiBiZW1lbmV0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM4NworIywgZnV6enkKK21zZ2lkICJubyBhcmNoaXRlY3R1cmUgYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJUw7psIGtldsOpcyBhcmd1bWVudHVtIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAiQSBzemVtw6lseWlzw6lnIGJlw6FsbMOtdMOhc2EgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGUgY29tbWFuZCBgJXMnLlxuIgorbXNnc3RyICJEw6F0dW0gcGFyYW5jcyBraWFkw6FzYTogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NworbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBkaWZmZXJlbnQgcHJpdmlsZWdlIHNldHRpbmdzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTAwCittc2dpZCAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICBzaG93IGN1cnJlbnQgc3RhdGUgKGFuZCBkbyBub3QgZXhlYyBhbnl0aGluZylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMQorbXNnaWQgIiAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAgZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMgorbXNnaWQgIiAtLWluaC1jYXBzIDxjYXBzLC4uLj4gICAgc2V0IGluaGVyaXRhYmxlIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTAzCittc2dpZCAiIC0tYm91bmRpbmctc2V0IDxjYXBzPiAgICBzZXQgY2FwYWJpbGl0eSBib3VuZGluZyBzZXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNAorIywgZnV6enkKK21zZ2lkICIgLS1ydWlkIDx1aWQ+ICAgICAgICAgICAgIHNldCByZWFsIHVpZFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNQorbXNnaWQgIiAtLWV1aWQgPHVpZD4gICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNgorbXNnaWQgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgc2V0IHJlYWwgZ2lkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDcKK21zZ2lkICIgLS1lZ2lkIDxnaWQ+ICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDgKK21zZ2lkICIgLS1yZXVpZCA8dWlkPiAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDkKK21zZ2lkICIgLS1yZWdpZCA8Z2lkPiAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTAKK21zZ2lkICIgLS1jbGVhci1ncm91cHMgICAgICAgICAgIGNsZWFyIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTEKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMgorbXNnaWQgIiAtLWdyb3VwcyA8Z3JvdXAsLi4uPiAgICAgc2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTMKK21zZ2lkICIgLS1zZWN1cmViaXRzIDxiaXRzPiAgICAgIHNldCBzZWN1cmViaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTQKK21zZ2lkICIgLS1zZWxpbnV4LWxhYmVsIDxsYWJlbD4gIHNldCBTRUxpbnV4IGxhYmVsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTUKK21zZ2lkICIgLS1hcHBhcm1vci1wcm9maWxlIDxwcj4gIHNldCBBcHBBcm1vciBwcm9maWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjEKK21zZ2lkICIgVGhpcyB0b29sIGNhbiBiZSBkYW5nZXJvdXMuICBSZWFkIHRoZSBtYW5wYWdlLCBhbmQgYmUgY2FyZWZ1bC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE5MyBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2NworbXNnaWQgImdldHRpbmcgcHJvY2VzcyBzZWN1cmUgYml0cyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdXJlYml0czogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV1cbiIKK21zZ3N0ciAibmluY3MiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIGxvbmciCittc2dzdHIgIkEgc29yIHTDumwgaG9zc3rDuiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3MyBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyMSBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyNgorIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzIgc3lzLXV0aWxzL3NldHByaXYuYzozMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIltub25lXSIKK21zZ3N0ciAibmluY3MiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgInVpZDogJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICJldWlkOiAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1aWQ6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTkgc3lzLXV0aWxzL3NldHByaXYuYzozOTEKKyMsIGZ1enp5Cittc2dpZCAiZ2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAiYSBzZXR1aWQoKSBow612w6FzYSBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMDggc3lzLXV0aWxzL3NldHByaXYuYzo0MDYKKyMsIGZ1enp5Cittc2dpZCAiZ2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAiYSBzZXR1aWQoKSBow612w6FzYSBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRWZmZWN0aXZlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBlcm1pdHRlZCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzMAorIywgYy1mb3JtYXQKK21zZ2lkICJJbmhlcml0YWJsZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzNQorIywgYy1mb3JtYXQKK21zZ2lkICJDYXBhYmlsaXR5IGJvdW5kaW5nIHNldDogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQzCisjLCBmdXp6eQorbXNnaWQgIlNFTGludXggbGFiZWwiCittc2dzdHIgIkxpbnV4IGVneXN6ZXLFsSBzesO2dmVnIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0NgorbXNnaWQgIkFwcEFybW9yIHByb2ZpbGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FwICVkOiBsaWJjYXAtbmcgaXMgYnJva2VuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzgyCittc2dpZCAiSW52YWxpZCBzdXBwbGVtZW50YXJ5IGdyb3VwIGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzk5CisjLCBmdXp6eQorbXNnaWQgInNldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgImEgc2V0dWlkKCkgaMOtdsOhc2EgbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDE0CisjLCBmdXp6eQorbXNnaWQgInNldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgImEgc2V0dWlkKCkgaMOtdsOhc2EgbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDM1Cittc2dpZCAiYmFkIGNhcGFiaWxpdHkgc3RyaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDQzCittc2dpZCAibGliY2FwLW5nIGlzIHRvbyBvbGQgZm9yIFwiYWxsXCIgY2FwcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjYXBhYmlsaXR5IFwiJXNcIiIKK21zZ3N0ciAiaXNtZXJldGxlbiBlcsWRZm9ycsOhc3TDrXB1czogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NzYKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCBzZXQgLS0gcmVmdXNpbmcgdG8gYWRqdXN0IgorbXNnc3RyICJpc21lcmV0bGVuIGZvcm3DoXR1bSAtIGEgc3pla3Rvcm9rIGtlcsO8bG5layBmZWxoYXN6bsOhbMOhc3JhXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDgwCittc2dpZCAiYmFkIHNlY3VyZWJpdHMgc3RyaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDg3CisjLCBmdXp6eQorbXNnaWQgIithbGwgc2VjdXJlYml0cyBpcyBub3QgYWxsb3dlZCIKK21zZ3N0ciAiQSh6KSDigJ4lY+KAnSBuZW0gZW5nZWTDqWx5ZXpldHQuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTAwCittc2dpZCAiYWRqdXN0aW5nIGtlZXBfY2FwcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTA0CisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQiCittc2dzdHIgImF6b25vc8OtdGF0bGFuIGJlbWVuZXQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTI0Cittc2dpZCAiU0VMaW51eCBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2xvc2UgZmFpbGVkOiAlcyIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NDcKK21zZ2lkICJBcHBBcm1vciBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY1OAorbXNnaWQgImR1cGxpY2F0ZSAtLW5vLW5ldy1wcml2cyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NjMKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY2NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcnVpZCIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjY5Cittc2dpZCAiZHVwbGljYXRlIGV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGV1aWQiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY3NQorbXNnaWQgImR1cGxpY2F0ZSBydWlkIG9yIGV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJldWlkIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODEKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmdpZCIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njg3Cittc2dpZCAiZHVwbGljYXRlIGVnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVnaWQiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY5MworbXNnaWQgImR1cGxpY2F0ZSByZ2lkIG9yIGVnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2OTUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJlZ2lkIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MDAKK21zZ2lkICJkdXBsaWNhdGUgLS1jbGVhci1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzA2Cittc2dpZCAiZHVwbGljYXRlIC0ta2VlcC1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzEyCittc2dpZCAiZHVwbGljYXRlIC0tZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcyMQorbXNnaWQgImR1cGxpY2F0ZSAtLWluaC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcyNworbXNnaWQgImR1cGxpY2F0ZSAtLWJvdW5kaW5nLXNldCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MzMKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWN1cmViaXRzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjczOQorbXNnaWQgImR1cGxpY2F0ZSAtLXNlbGludXgtbGFiZWwgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzQ1Cittc2dpZCAiZHVwbGljYXRlIC0tYXBwYXJtb3ItcHJvZmlsZSBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJyVjJyIKK21zZ3N0ciAiYXpvbm9zw610YXRsYW4gYmVtZW5ldDogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NjMKK21zZ2lkICItLWR1bXAgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzEKK21zZ2lkICItLWxpc3QtY2FwcyBtdXN0IGJlIHNwZWNpZmllZCBhbG9uZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3NworIywgZnV6enkKK21zZ2lkICJObyBwcm9ncmFtIHNwZWNpZmllZCIKK21zZ3N0ciAiQSDigJ4tLWRhdGXigJ0ga2FwY3NvbMOzIG5pbmNzIG1lZ2FkdmEuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgyCittc2dpZCAiLS1bcmVdZ2lkIHJlcXVpcmVzIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCBvciAtLWdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4NQorbXNnaWQgImRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MworbXNnaWQgImtlZXAgcHJvY2VzcyBjYXBhYmlsaXRpZXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODAxCittc2dpZCAiYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA3Cittc2dpZCAicmVhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjMKKyMsIGZ1enp5Cittc2dpZCAic2V0IHByb2Nlc3Mgc2VjdXJlYml0cyBmYWlsZWQiCittc2dzdHIgImEgc2V0dWlkKCkgaMOtdsOhc2EgbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODI5Cittc2dpZCAiYXBwbHkgYm91bmRpbmcgc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODM1Cittc2dpZCAiYXBwbHkgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZXhlY3V0ZTogJXMiCittc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIMOpcmhldMWRIGVsIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFthcmd1bWVudHMgLi4uXVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBwcm9ncmFtIFthcmd1bWVudHVtIC4uLl1cbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjM2Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSBpbiBhIG5ldyBzZXNzaW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozOQorbXNnaWQgIiAtYywgLS1jdHR5ICAgICBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIHRvIHRoZSBjdXJyZW50IG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MAorbXNnaWQgIiAtdywgLS13YWl0ICAgICB3YWl0IHByb2dyYW0gdG8gZXhpdCwgYW5kIHVzZSB0aGUgc2FtZSByZXR1cm5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiZm9yayIKK21zZ3N0ciAicHJvZ3JhbWluZMOtdMOhczogJXMiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNoaWxkICVkIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAibW91bnQ6IGEoeikgJXMgY3NhdG9sw6FzaSBwb250IG5lbSBsw6l0ZXppayIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExMAorIywgZnV6enkKK21zZ2lkICJzZXRzaWQgZmFpbGVkIgorbXNnc3RyICJhIHNldHVpZCgpIGjDrXbDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIgorbXNnc3RyICJBIHN6ZW3DqWx5aXPDqWcgYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb2ZmICVzXG4iCittc2dzdHIgIiVzIGEga8O2dmV0a2V6xZFuOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNQorIywgZnV6enkKK21zZ2lkICJOb3Qgc3VwZXJ1c2VyLiIKK21zZ3N0ciAiTmVtIHJlbmRzemVyZ2F6ZGEuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9mZiBmYWlsZWQiCittc2dzdHIgIiVzIG1lZ2hpw7pzdWx0LlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyMiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8c3BlYz5dXG4iCittc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyNQorbXNnaWQgIkRpc2FibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjgKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgc3dhcHMgZnJvbSAvcHJvYy9zd2Fwc1xuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTM1CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIkEgPHNwZWNpw6FsaXM+IHBhcmFtw6l0ZXI6XG4iCisiIHstTCBjw61ta2UgfCBMQUJFTD1jw61ta2V9ICAgICAgICAgICAgIGEgaGFzem7DoWxhbmTDsyBlc3prw7Z6IEPDjU1Lw4lKRVxuIgorIiB7LVUgdXVpZCAgfCBVVUlEPXV1aWR9ICAgICAgICAgICAgICAgYSBoYXN6bsOhbGFuZMOzIGVzemvDtnogVVVJRC1qZVxuIgorIiA8ZXN6a8O2ej4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgaGFzem7DoWxhbmTDsyBlc3prw7Z6IG5ldmVcbiIKKyIgPGbDoWpsPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIGhhc3puw6FsYW5kw7MgZsOhamwgbmV2ZVxuIgorIlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIGZpbGUgb3IgcGFydGl0aW9uIHBhdGgiCittc2dzdHIgIiAgIGQgICBwYXJ0w61jacOzIHTDtnJsw6lzZSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk0CisjLCBmdXp6eQorbXNnaWQgInR5cGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAiYSBzdGF0IHbDqWdyZWhhanTDoXNhIGF6IGVsw6lyw6lzaSDDunRvbiBtZWdoacO6c3VsdFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTUKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBvZiB0aGUgc3dhcCBhcmVhIgorbXNnc3RyICJhIHN0YXQgdsOpZ3JlaGFqdMOhc2EgYXogZWzDqXLDqXNpIMO6dG9uIG1lZ2hpw7pzdWx0XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NgorIywgZnV6enkKK21zZ2lkICJieXRlcyBpbiB1c2UiCittc2dzdHIgIk1lZ2plbMO2bMOpcyBoYXN6bsOhbHRrw6ludCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk3CisjLCBmdXp6eQorbXNnaWQgInN3YXAgcHJpb3JpdHkiCittc2dzdHIgInByaW9yaXTDoXMgYmXDoWxsw610w6FzYSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk4Cittc2dpZCAic3dhcCB1dWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OQorIywgZnV6enkKK21zZ2lkICJzd2FwIGxhYmVsIgorbXNnc3RyICJuaW5jcyBjw61ta2UsICIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlc1x0XHRcdFx0VHlwZVx0XHRTaXplXHRVc2VkXHRQcmlvcml0eVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNDYKK21zZ2lkICJGaWxlbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVpbml0aWFsaXppbmcgdGhlIHN3YXAuIgorbXNnc3RyICIlczogJXM6IHN6b2Z0dmVyZXMgZmVsZsO8Z2dlc3p0w6lzaSBhZGF0b2sgdGFsw6FsaGF0w7NrLiBBIGxhcG96w7N0ZXLDvGxldCBpc23DqXRlbHQgZWzFkWvDqXN6w610w6lzZS5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxzZWVrIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGF6IGxzZWVrIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgc2lnbmF0dXJlIGZhaWxlZCIKK21zZ3N0ciAiYSBzemFidsOhbnlvcyBraW1lbmV0cmUgw61yw6FzIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgLSBpdCBhcHBlYXJzIHRvIGhhdmUgaG9sZXMuIgorbXNnc3RyICIlczogQSh6KSAlcyBmw6FqbCBraWhhZ3nDoXNhIC0gw7pneSB0xbFuaWssIGx5dWthayB2YW5uYWsgYmVubmUuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXQgc2l6ZSBmYWlsZWQiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgc3dhcCBoZWFkZXIgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZvdW5kIHNpZ25hdHVyZSBbcGFnZXNpemU9JWQsIHNpZ25hdHVyZT0lc10iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFnZXNpemU9JWQsIHN3YXBzaXplPSVsbHUsIGRldnNpemU9JWxsdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsYXN0X3BhZ2UgMHglMDhsbHggaXMgbGFyZ2VyIHRoYW4gYWN0dWFsIHNpemUgb2Ygc3dhcHNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4gKFVzZSAtLWZpeHBnc3ogdG8gcmVpbml0aWFsaXplIGl0LikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNvZnR3YXJlIHN1c3BlbmQgZGF0YSBkZXRlY3RlZC4gUmV3cml0aW5nIHRoZSBzd2FwIHNpZ25hdHVyZS4iCittc2dzdHIgIiVzOiAlczogc3pvZnR2ZXJlcyBmZWxmw7xnZ2VzenTDqXNpIGFkYXRvayB0YWzDoWxoYXTDs2suIEEgbGFwb3rDs3RlcsO8bGV0IGlzbcOpdGVsdCBlbMWRa8Opc3rDrXTDqXNlLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb24gJXNcbiIKK21zZ3N0ciAiJXMgYSBrw7Z2ZXRrZXrFkW46ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb24gZmFpbGVkIgorbXNnc3RyICIlcyBtZWdoacO6c3VsdC5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vYXV0byBvcHRpb24gLS0gaWdub3JlZCIKK21zZ3N0ciAiYXogZWxzxZEgc29yIHV0w6FuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBhY3RpdmUgLS0gaWdub3JlZCIKK21zZ3N0ciAiYXogZWxzxZEgc29yIHV0w6FuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaW5hY2Nlc3NpYmxlIC0tIGlnbm9yZWQiCittc2dzdHIgImF6IGlub2RlLW9rIG5lbSDDrXJoYXTDs2siCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTEKK21zZ2lkICJFbmFibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTUKK21zZ2lkICIgLWQsIC0tZGlzY2FyZFs9PHBvbGljeT5dIGVuYWJsZSBzd2FwIGRpc2NhcmRzLCBpZiBzdXBwb3J0ZWQgYnkgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NgorbXNnaWQgIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgc2lsZW50bHkgc2tpcCBkZXZpY2VzIHRoYXQgZG8gbm90IGV4aXN0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NworbXNnaWQgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTgKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHN3YXAgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTkKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDAKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBkaXNwbGF5IHN1bW1hcnkgYWJvdXQgdXNlZCBzd2FwIGRldmljZXMgKERFUFJFQ0FURUQpXG4iCittc2dzdHIgIiAgICAtbCBbdmFneSAtLWxpc3RdOiAgICAgIGtpw61yamEgYXogZWd5ZXMgZXN6a8O2esO2ayBwYXJ0w61jacOzaXQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDEKK21zZ2lkICIgICAgIC0tc2hvd1s9PGNvbHVtbnM+XSAgIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgdGFibGUgaGVhZGluZyAod2l0aCAtLXNob3cpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMworIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA0CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHNpemUgaW4gYnl0ZXMgaW4gLS1zaG93IG91dHB1dFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTEKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisiQSA8c3BlY2nDoWxpcz4gcGFyYW3DqXRlcjpcbiIKKyIgey1MIGPDrW1rZSB8IExBQkVMPWPDrW1rZX0gICAgICAgICAgICAgYSBoYXN6bsOhbGFuZMOzIGVzemvDtnogQ8ONTUvDiUpFXG4iCisiIHstVSB1dWlkICB8IFVVSUQ9dXVpZH0gICAgICAgICAgICAgICBhIGhhc3puw6FsYW5kw7MgZXN6a8O2eiBVVUlELWplXG4iCisiIDxlc3prw7Z6PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSBoYXN6bsOhbGFuZMOzIGVzemvDtnogbmV2ZVxuIgorIiA8ZsOhamw+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgaGFzem7DoWxhbmTDsyBmw6FqbCBuZXZlXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MjEKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGRpc2NhcmQgcG9saWN5IHR5cGVzIChmb3IgLS1kaXNjYXJkKTpcbiIKKyIgb25jZSAgICA6IG9ubHkgc2luZ2xlLXRpbWUgYXJlYSBkaXNjYXJkcyBhcmUgaXNzdWVkXG4iCisiIHBhZ2VzICAgOiBmcmVlZCBwYWdlcyBhcmUgZGlzY2FyZGVkIGJlZm9yZSB0aGV5IGFyZSByZXVzZWRcbiIKKyJJZiBubyBwb2xpY3kgaXMgc2VsZWN0ZWQsIGJvdGggZGlzY2FyZCB0eXBlcyBhcmUgZW5hYmxlZCAoZGVmYXVsdCkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgyNgorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3cpOlxuIgorbXNnc3RyICJFbMOpcmhldMWRIHBhcmFuY3NvazpcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkwNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcHJpb3JpdHkiCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAiJXM6IGlzbWVyZXRsZW4gYXJndW1lbnR1bTogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzo3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgdGhlIGRldmljZSBmb3IgJXMiCittc2dzdHIgIiVzOiBuZW0gdGFsw6FsaGF0w7MgYSh6KSAlcyBlc3prw7Z6ZVxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo1OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2NworIywgZnV6enkKK21zZ2lkICJzdGF0IGZhaWxlZCIKK21zZ3N0ciAiJXM6IGF6IGVsw6lyw6lzIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo3OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBkaXJlY3RvcnkiCittc2dzdHIgImEgZ3nDtmvDqXIgaW5vZGUgbmVtIGvDtm55dnTDoXIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjExMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVubGluayAlcyIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAlcyIKK21zZ3N0ciAiYSh6KSDigJ4lc+KAnSBuZW0gbnlpdGhhdMOzIG1lZzogJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZm9yY2luZyB1bm1vdW50IG9mICVzIgorbXNnc3RyICJLw61zw6lybGV0IGEga8O2dmV0a2V6xZEgbGV2w6FsYXN6dMOhc8OhcmE6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAvIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTc1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCIKK21zZ3N0ciAiQSBzemVtw6lseWlzw6lnIGJlw6FsbMOtdMOhc2EgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTg4Cittc2dpZCAib2xkIHJvb3QgZmlsZXN5c3RlbSBpcyBub3QgYW4gaW5pdHJhbWZzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bmV3cm9vdGRpcj4gPGluaXQ+IDxhcmdzIHRvIGluaXQ+XG4iCittc2dzdHIgIiIKKyJIYXN6bsOhbGF0OiAlcyVzIFtrYXBjc29sw7NrXSBbcHJvZ3JhbSBbcHJvZ3JhbSBhcmd1bWVudHVtYWldXVxuIgorIlxuIgorIkthcGNzb2zDs2s6XG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwNAorbXNnaWQgIlN3aXRjaCB0byBhbm90aGVyIGZpbGVzeXN0ZW0gYXMgdGhlIHJvb3Qgb2YgdGhlIG1vdW50IHRyZWUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjM2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZC4gU29ycnkuIgorbXNnc3RyICIlcyBtZWdoacO6c3VsdC5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgYWNjZXNzICVzIgorbXNnc3RyICJOZW0gbnlpdGhhdMOzIG1lZyBhKHopIOKAniVz4oCdIGbDoWpsIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTQKK21zZ2lkICJTZXQgdmFyaW91cyBwYXJhbWV0ZXJzIGZvciB0aGUgbGluZSBwcmludGVyLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5NworbXNnaWQgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIHNwZWNpZnkgcGFyYWxsZWwgcG9ydCBpcnFcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTgKK21zZ2lkICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICBkcml2ZXIgd2FpdCB0aW1lIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5OQorbXNnaWQgIiAtYywgLS1jaGFycyA8bnVtPiAgICAgICAgICAgIG51bWJlciBvZiBvdXRwdXQgY2hhcmFjdGVycyBiZWZvcmUgc2xlZXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAwCittc2dpZCAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgc3Ryb2JlIHdhaXQgaW4gbWljcm8gc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBkbyBub3QgdHJhbnNsYXRlIDxvbnxvZmY+IGFyZ3VtZW50cy4gVGhlCisjLiBhcmd1bWVudCByZWFkZXIgZG9lcyBub3QgcmVjb2duaXplIGxvY2FsZSwgdW5sZXNzIGBvbicgaXMKKyMuIGV4YWN0bHkgdGhhdCB2ZXJ5IHNhbWUgc3RyaW5nLgorIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNAorbXNnaWQgIiAtYSwgLS1hYm9ydCA8b258b2ZmPiAgICAgICAgIGFib3J0IG9uIGVycm9yXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNQorbXNnaWQgIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gIGNoZWNrIHByaW50ZXIgc3RhdHVzIGJlZm9yZSBwcmludGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDYKK21zZ2lkICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICBleHRyYSBjaGVja2luZyB0byBzdGF0dXMgY2hlY2tcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA3CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIHF1ZXJ5IHByaW50ZXIgc3RhdHVzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOAorbXNnaWQgIiAtVCwgLS10cnVzdC1pcnEgPG9ufG9mZj4gICAgIG1ha2UgZHJpdmVyIHRvIHRydXN0IGlycVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDkKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcmVzZXQgdGhlIHBvcnRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEwCittc2dpZCAiIC1xLCAtLXByaW50LWlycSA8b258b2ZmPiAgICAgZGlzcGxheSBjdXJyZW50IGlycSBzZXR0aW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGFuIGxwIGRldmljZSIKK21zZ3N0ciAiJXM6IGEoeikgJXMgbmVtIGVneSBww6FyaHV6YW1vcyAobHApIGVzemvDtnouXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODAKKyMsIGZ1enp5Cittc2dpZCAiTFBHRVRTVEFUVVMgZXJyb3IiCittc2dzdHIgIkxQR0VUSVJRIGhpYmEiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3RhdHVzIGlzICVkIgorbXNnc3RyICIlcyDDoWxsYXBvdGE6ICVkIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgYnVzeSIKK21zZ3N0ciAiLCBmb2dsYWx0IgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgcmVhZHkiCittc2dzdHIgIiwga8Opc3oiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvdXQgb2YgcGFwZXIiCittc2dzdHIgIiwga2lmb2d5b3R0IGEgcGFww61yIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb24tbGluZSIKK21zZ3N0ciAiLCBlbMOpcmhldMWRIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZXJyb3IiCittc2dzdHIgIiwgaGliYSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMwMAorIywgZnV6enkKK21zZ2lkICJpb2N0bCBmYWlsZWQiCittc2dzdHIgImF6IGZzeW5jIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzEwCittc2dpZCAiTFBHRVRJUlEgZXJyb3IiCittc2dzdHIgIkxQR0VUSVJRIGhpYmEiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgSVJRICVkXG4iCittc2dzdHIgIiVzIGEoeikgJWQuIG1lZ3N6YWvDrXTDoXN0IGhhc3puw6FsamFcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBwb2xsaW5nXG4iCittc2dzdHIgIiVzIGxla8OpcmRlesOpc3QgaGFzem7DoWxcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiB8IDxkaXJlY3Rvcnk+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjgxCisjLCBmdXp6eQorbXNnaWQgIlVubW91bnQgZmlsZXN5c3RlbXMuXG4iCittc2dzdHIgIkFkamEgbWVnIGEgZsOhamxyZW5kc3plciB0w61wdXPDoXQ6ICIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg0CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICB1bm1vdW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODUKK21zZ2lkICIiCisiIC1BLCAtLWFsbC10YXJnZXRzICAgICAgIHVubW91bnQgYWxsIG1vdW50cG9pbnRzIGZvciB0aGUgZ2l2ZW4gZGV2aWNlIGluIHRoZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg3Cittc2dpZCAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OAorbXNnaWQgIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICBpZiBtb3VudGVkIGxvb3AgZGV2aWNlLCBhbHNvIGZyZWUgdGhpcyBsb29wIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OQorbXNnaWQgIiAgICAgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSB1bW91bnQoMikgc3lzY2FsbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MAorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBmb3JjZSB1bm1vdW50IChpbiBjYXNlIG9mIGFuIHVucmVhY2hhYmxlIE5GUyBzeXN0ZW0pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkxCittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIHVtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgZGV0YWNoIHRoZSBmaWxlc3lzdGVtIG5vdywgY2xlYW4gdXAgdGhpbmdzIGxhdGVyXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NAorbXNnaWQgIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTUKK21zZ2lkICIgLVIsIC0tcmVjdXJzaXZlICAgICAgICAgcmVjdXJzaXZlbHkgdW5tb3VudCBhIHRhcmdldCB3aXRoIGFsbCBpdHMgY2hpbGRyZW5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTYKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIGluIGNhc2UgdW5tb3VudGluZyBmYWlscywgdHJ5IHRvIHJlbW91bnQgcmVhZC1vbmx5XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk3CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiICAgbCAgIGF6IGlzbWVydCBmw6FqbHJlbmRzemVydMOtcHVzb2sgZmVsc29yb2zDoXNhIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMpIHVubW91bnRlZCIKK21zZ3N0ciAiJXMgY3NhdG9sdmEgdmFuLlx0IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyB1bm1vdW50ZWQiCittc2dzdHIgInVtb3VudDogJXMgbmVtIHRhbMOhbGhhdMOzIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW1vdW50IGZhaWxlZCIKK21zZ3N0ciAiYSBjc2F0b2zDoXMgbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCittc2dzdHIgIm1vdW50OiBhIGNzYXRvbMOhcyBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJ1bW91bnQ6ICVzIMOpcnbDqW55dGVsZW4gYmxva2tlc3prw7Z6IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKK21zZ3N0ciAibW91bnQ6IG5lbSBsZWhldCBvbHZhc25pIGEoeikgJXMgc3p1cGVyYmxva2tqw6F0IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiJXM6IHRhcmdldCBpcyBidXN5XG4iCisiICAgICAgICAoSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBhYm91dCBwcm9jZXNzZXMgdGhhdFxuIgorIiAgICAgICAgIHVzZSB0aGUgZGV2aWNlIGlzIGZvdW5kIGJ5IGxzb2YoOCkgb3IgZnVzZXIoMSkuKSIKK21zZ3N0ciAiIgorInVtb3VudDogJXM6IGF6IGVzemvDtnogZm9nbGFsdC5cbiIKKyIgICAgICAgIChFZ3llcyBlc2V0ZWtiZW4gYXogZXN6a8O2enQgaGFzem7DoWzDsyBmb2x5YW1hdG9rcsOzbCBoYXN6bm9zXG4iCisiICAgICAgICAgaW5mb3Jtw6FjacOza2F0IHRhbMOhbCBheiBsc29mKDgpIHZhZ3kgZnVzZXIoMSkpIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnRwb2ludCBub3QgZm91bmQiCittc2dzdHIgInVtb3VudDogJXMgbmVtIHRhbMOhbGhhdMOzIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjUwCisjLCBmdXp6eQorbXNnaWQgInVuZGVmaW5lZCBtb3VudHBvaW50IgorbXNnc3RyICJtb3VudDogYSh6KSAlcyBuZW0gdGFsw6FsaGF0w7MgYSh6KSAlcyB2YWd5IGEoeikgJXMgYWxhdHQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtdXN0IGJlIHN1cGVydXNlciB0byB1bm1vdW50IgorbXNnc3RyICJ1bW91bnQ6ICVzIGxldsOhbGFzenTDoXPDoWhveiByZW5kc3plcmdhemRhaSBqb2cgc3rDvGtzw6lnZXMiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBibG9jayBkZXZpY2VzIGFyZSBub3QgcGVybWl0dGVkIG9uIGZpbGVzeXN0ZW0iCittc2dzdHIgInVtb3VudDogYSBibG9ra2VzemvDtnrDtmsgbmVtIGVuZ2Vkw6lseWV6ZXR0ZWsgZXplbiBhIGbDoWpscmVuZHN6ZXJlbiAoJXMpIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzA3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgdW1vdW50IHRhcmdldCIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozMjMKKyMsIGZ1enp5Cittc2dpZCAibGlibW91bnQgdGFibGUgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIm1vdW50OiBhIGNzYXRvbMOhcyBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjM2NiBzeXMtdXRpbHMvdW1vdW50LmM6NDQ2CisjLCBmdXp6eQorbXNnaWQgImxpYm1vdW50IGl0ZXJhdG9yIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJtb3VudDogYSBjc2F0b2zDoXMgbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgY2hpbGQgZnMgb2YgJXMiCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo0MTAgc3lzLXV0aWxzL3Vtb3VudC5jOjQzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBmb3VuZCIKK21zZ3N0ciAidW1vdW50OiAlcyBuZW0gdGFsw6FsaGF0w7MiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo0NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlICgtLWFsbC10YXJnZXRzIGlzIHVuc3VwcG9ydGVkIG9uIHN5c3RlbXMgd2l0aCByZWd1bGFyIG10YWIgZmlsZSkuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIC0tc2V0Z3JvdXBzIGFyZ3VtZW50ICclcyciCittc2dzdHIgIiVzOiBpc21lcmV0bGVuIGFyZ3VtZW50dW06ICVzXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTEwIHN5cy11dGlscy91bnNoYXJlLmM6MTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQgJXMiCittc2dzdHIgImF6IMOtcsOhcyBtZWdoacO6c3VsdDogJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcm9wYWdhdGlvbiBtb2RlOiAlcyIKK21zZ3N0ciAiJXM6IGlzbWVyZXRsZW4gYXJndW1lbnR1bTogJXNcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNoYW5nZSByb290IGZpbGVzeXN0ZW0gcHJvcGFnYXRpb24iCittc2dzdHIgIkbDoWpscmVuZHN6ZXItZWxsZW7FkXJ6w6lzIGvDqW55c3plcsOtdMOpc2UgYSBrw7Z2ZXRrZXrFkW46IOKAniVz4oCdLlxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHN0YXQgJXMiCittc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIMOpcmhldMWRIGVsIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIxMworIywgZnV6enkKK21zZ2lkICJwaXBlIGZhaWxlZCIKK21zZ3N0ciAiYSBtZWdueWl0w6FzIG1lZ2hpw7pzdWx0OiAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGlwZSIKK21zZ3N0ciAiQSh6KSAlcyBuZW0gb2x2YXNoYXTDs1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1MAorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBzb21lIG5hbWVzcGFjZXMgdW5zaGFyZWQgZnJvbSB0aGUgcGFyZW50LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUzCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTUKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU2CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTcKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU4CisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgICAgdW5zaGFyZSBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYwCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JrICAgICAgICAgICAgICAgIGZvcmsgYmVmb3JlIGxhdW5jaGluZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MQorbXNnaWQgIiAgICAgLS1tb3VudC1wcm9jWz08ZGlyPl0gIG1vdW50IHByb2MgZmlsZXN5c3RlbSBmaXJzdCAoaW1wbGllcyAtLW1vdW50KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYyCittc2dpZCAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbWFwIGN1cnJlbnQgdXNlciB0byByb290IChpbXBsaWVzIC0tdXNlcilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MworbXNnaWQgIiIKKyIgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZ5IG1vdW50IHByb3BhZ2F0aW9uIGluIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY1CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zZXRncm91cHMgYWxsb3d8ZGVueSAgY29udHJvbCB0aGUgc2V0Z3JvdXBzIHN5c2NhbGwgaW4gdXNlciBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6Mzg2CisjLCBmdXp6eQorbXNnaWQgInVuc2hhcmUgZmFpbGVkIgorbXNnc3RyICJhIHBvemljaW9uw6Fsw6FzIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzMAorIywgZnV6enkKK21zZ2lkICJjaGlsZCBleGl0IGZhaWxlZCIKK21zZ3N0ciAiYSBzZXR1aWQoKSBow612w6FzYSBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzcKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9ucyAtLXNldGdyb3Vwcz1hbGxvdyBhbmQgLS1tYXAtcm9vdC11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiVzOiBBeiAtLWFkamZpbGUgw6lzIGEgLS1ub2FkamZpbGUga8O2bGNzw7Zuw7ZzZW4ga2l6w6FyasOhayBlZ3ltw6FzdCwgZGUgbWluZGtldHTFkXQgbWVnYWR0YS5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIGZhaWxlZCIKK21zZ3N0ciAiYSBjc2F0b2zDoXMgbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjczCittc2dpZCAiQ2FyZCBwcmV2aW91c2x5IHJlc2V0IHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzQKK21zZ2lkICJFeHRlcm5hbCByZWxheSAxIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc1Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NgorIywgZnV6enkKK21zZ2lkICJGYW4gZmFpbGVkIgorbXNnc3RyICIlcyBtZWdoacO6c3VsdC5cbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzcKK21zZ2lkICJLZWVwIGFsaXZlIHBpbmcgcmVwbHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzgKK21zZ2lkICJTdXBwb3J0cyBtYWdpYyBjbG9zZSBjaGFyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc5Cittc2dpZCAiUmVzZXQgZHVlIHRvIENQVSBvdmVyaGVhdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MAorbXNnaWQgIlBvd2VyIG92ZXIgdm9sdGFnZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MQorbXNnaWQgIlBvd2VyIGJhZC9wb3dlciBmYXVsdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MgorIywgZnV6enkKK21zZ2lkICJQcmV0aW1lb3V0IChpbiBzZWNvbmRzKSIKK21zZ3N0ciAiQSBiZWplbGVudGtlesOpcyAlZCBtw6Fzb2RwZXJjIHV0w6FuIHTDumxsw6lwdGUgYXogaWTFkWtvcmzDoXRvdFxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MworIywgZnV6enkKK21zZ2lkICJTZXQgdGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIkEgYmVqZWxlbnRrZXrDqXMgJWQgbcOhc29kcGVyYyB1dMOhbiB0w7psbMOpcHRlIGF6IGlkxZFrb3Jsw6F0b3RcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODQKK21zZ2lkICJOb3QgdHJpZ2dlciByZWJvb3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAwCittc2dpZCAiZmxhZyBuYW1lIgorbXNnc3RyICIiCisKKyMgZXogYSBrw7Z2ZXRrZXrFkSBow6Fyb20gJXMlcy1iZW4gYXogZWxzxZEgJXMgbGVzeiwgbWVnIGtlbGwgbWFqZCBvdHQgZm9yZMOtdGFuaQorIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgImZsYWcgZGVzY3JpcHRpb24iCittc2dzdHIgImJsb2trZXN6a8O2eiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgImZsYWcgc3RhdHVzIgorbXNnc3RyICLDoWxsYXBvdCIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAzCisjLCBmdXp6eQorbXNnaWQgImZsYWcgYm9vdCBzdGF0dXMiCittc2dzdHIgIiVzIG5lbSDDqXJoZXTFkSBlbCIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTA0CisjLCBmdXp6eQorbXNnaWQgIndhdGNoZG9nIGRldmljZSBuYW1lIgorbXNnc3RyICJtb3VudDogYSh6KSAlcyBlc3prw7Z6IGlzbWVyZXRsZW4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmbGFnOiAlcyIKK21zZ3N0ciAiJXM6IGlzbWVyZXRsZW4gYXJndW1lbnR1bTogJXNcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTc3Cittc2dpZCAiU2hvdyB0aGUgc3RhdHVzIG9mIHRoZSBoYXJkd2FyZSB3YXRjaGRvZy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxODAKK21zZ2lkICIiCisiIC1mLCAtLWZsYWdzIDxsaXN0PiAgICAgcHJpbnQgc2VsZWN0ZWQgZmxhZ3Mgb25seVxuIgorIiAtRiwgLS1ub2ZsYWdzICAgICAgICAgIGRvbid0IHByaW50IGluZm9ybWF0aW9uIGFib3V0IGZsYWdzXG4iCisiIC1JLCAtLW5vaWRlbnQgICAgICAgICAgZG9uJ3QgcHJpbnQgd2F0Y2hkb2cgaWRlbnRpdHkgaW5mb3JtYXRpb25cbiIKKyIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLU8sIC0tb25lbGluZSAgICAgICAgICBwcmludCBhbGwgaW5mb3JtYXRpb24gb24gb25lIGxpbmVcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBvdXRwdXQgY29sdW1ucyBvZiB0aGUgZmxhZ3NcbiIKKyIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXQgZm9yIGZsYWdzIHRhYmxlXG4iCisiIC1ULCAtLW5vdGltZW91dHMgICAgICAgZG9uJ3QgcHJpbnQgd2F0Y2hkb2cgdGltZW91dHNcbiIKKyIgLXMsIC0tc2V0dGltZW91dCA8c2VjPiBzZXQgd2F0Y2hkb2cgdGltZW91dFxuIgorIiAteCwgLS1mbGFncy1vbmx5ICAgICAgIHByaW50IG9ubHkgZmxhZ3MgdGFibGUgKHNhbWUgYXMgLUkgLVQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGVmYXVsdCBkZXZpY2UgaXMgJXMuXG4iCittc2dzdHIgImxvb3A6IG5lbSBueWl0aGF0w7MgbWVnIGEoeikgJXMgZXN6a8O2ejogJXNcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk5CisjLCBmdXp6eQorbXNnaWQgIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorbXNnc3RyICJFbMOpcmhldMWRIHBhcmFuY3NvazpcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6Mjg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biBmbGFncyAweCV4XG4iCittc2dzdHIgIiVzOiBpc21lcmV0bGVuIGplbHrDqXM6ICVzXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMxOSBzeXMtdXRpbHMvd2RjdGwuYzozNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhdGNoZG9nIGFscmVhZHkgaW4gdXNlLCB0ZXJtaW5hdGluZy4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzMzIHN5cy11dGlscy93ZGN0bC5jOjQwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkaXNhcm0gd2F0Y2hkb2ciCittc2dzdHIgIm5lbSBsZWhldCB2aXNzemHDoWxsw610YW5pIGEgbGFwb3rDs3RlcsO8bGV0LWVzemvDtnp0IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGltZW91dCBmb3IgJXMiCittc2dzdHIgIk5lbSBrw6lyaGV0xZEgbGUgYSh6KSAlcyBpZMWRa29ybMOhdGphOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZC5cbiIKK21zZ2lkX3BsdXJhbCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kcy5cbiIKK21zZ3N0clswXSAiQXogdXRvbHPDsyBpZ2F6w610w6FzIMOzdGEgZWx0ZWx0IGlkxZEgJWQgbcOhc29kcGVyY1xuIgorbXNnc3RyWzFdICJBeiB1dG9sc8OzIGlnYXrDrXTDoXMgw7N0YSBlbHRlbHQgaWTFkSAlZCBtw6Fzb2RwZXJjXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgd2F0Y2hkb2ciCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgc2lrZXJ0ZWxlbiBhIHdyaXRlX3RhYmxlcy1iZW4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NCBzeXMtdXRpbHMvd2RjdGwuYzo0Njcgc3lzLXV0aWxzL3dkY3RsLmM6NDcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlLTE0cyAlMmkgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIiUtMTRzICUyaSBzZWNvbmRzXG4iCittc2dzdHJbMF0gIiVzICAlLjZmIG3DoXNvZHBlcmNcbiIKK21zZ3N0clsxXSAiJXMgICUuNmYgbcOhc29kcGVyY1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjUKK21zZ2lkICJUaW1lb3V0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjgKKyMsIGZ1enp5Cittc2dpZCAiUHJlLXRpbWVvdXQ6IgorbXNnc3RyICJpZMWRdMO6bGzDqXDDqXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ3MQorbXNnaWQgIlRpbWVsZWZ0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDUKKyMsIGZ1enp5Cittc2dpZCAiRGV2aWNlOiIKK21zZ3N0ciAiRXN6a8O2eiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA3Cittc2dpZCAiSWRlbnRpdHk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwOQorbXNnaWQgInZlcnNpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MworIywgZnV6enkKK21zZ2lkICJ6cmFtIGRldmljZSBuYW1lIgorbXNnc3RyICJtb3VudDogYSh6KSAlcyBlc3prw7Z6IGlzbWVyZXRsZW4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzQKK21zZ2lkICJsaW1pdCBvbiB0aGUgdW5jb21wcmVzc2VkIGFtb3VudCBvZiBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzUKK21zZ2lkICJ1bmNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc2Cittc2dpZCAiY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzcKK21zZ2lkICJ0aGUgc2VsZWN0ZWQgY29tcHJlc3Npb24gYWxnb3JpdGhtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzgKK21zZ2lkICJudW1iZXIgb2YgY29uY3VycmVudCBjb21wcmVzcyBvcGVyYXRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiZW1wdHkgcGFnZXMgd2l0aCBubyBhbGxvY2F0ZWQgbWVtb3J5IgorbXNnc3RyICJuZW0gZm9nbGFsaGF0w7MgbGUga2ltZW5ldGkgcHVmZmVyIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgwCittc2dpZCAiYWxsIG1lbW9yeSBpbmNsdWRpbmcgYWxsb2NhdG9yIGZyYWdtZW50YXRpb24gYW5kIG1ldGFkYXRhIG92ZXJoZWFkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODEKK21zZ2lkICJtZW1vcnkgbGltaXQgdXNlZCB0byBzdG9yZSBjb21wcmVzc2VkIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MgorbXNnaWQgIm1lbW9yeSB6cmFtIGhhdmUgYmVlbiBjb25zdW1lZCB0byBzdG9yZSBjb21wcmVzc2VkIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MworbXNnaWQgIm51bWJlciBvZiBvYmplY3RzIG1pZ3JhdGVkIGJ5IGNvbXBhY3Rpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzozNjMgc3lzLXV0aWxzL3pyYW1jdGwuYzozNzQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIG1tX3N0YXQiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorIiAlMSRzIC1yIDxkZXZpY2U+IFsuLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGRldmljZT4gLXMgPHNpemU+XG4iCittc2dzdHIgIkhhc3puw6FsYXQ6IG1rZnMgWy1WXSBbLXQgZsOhamxyZW5kc3plcnTDrXB1c10gW2bDoWpscmVuZHN6ZXItYmXDoWxsw610w6Fzb2tdIGVzemvDtnogW23DqXJldF1cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MjcKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgenJhbSBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMwCittc2dpZCAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0ICAgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIHVzZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMxCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIGZpbmQgYSBmcmVlIGRldmljZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM0CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIGNvbHVtbnMgdG8gdXNlIGZvciBzdGF0dXMgb3V0cHV0XG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1rYXBjc29sw7Mta2FyYWt0ZXJsw6FuYyAgRmVsaXNtZXJlbmTFkSByw7Z2aWQga2FwY3NvbMOza1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzNQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICB1c2UgcmF3IHN0YXR1cyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM2CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzNworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzOAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tc3RyZWFtcyA8bnVtYmVyPiAgICBudW1iZXIgb2YgY29tcHJlc3Npb24gc3RyZWFtc1xuIgorbXNnc3RyICIgICAgLVMjIFt2YWd5IC0tc2VjdG9ycyAjXTogICAgYSBoYXN6bsOhbGFuZMOzIHN6ZWt0b3JzesOhbSBiZcOhbGzDrXTDoXNhIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYWxnb3JpdGhtOiAlcyIKK21zZ3N0ciAiJXM6IGlzbWVyZXRsZW4gYXJndW1lbnR1bTogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2MjYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0cmVhbXMiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY0OAorIywgZnV6enkKK21zZ2lkICJvcHRpb24gLS1maW5kIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxkZXZpY2U+IgorbXNnc3RyICIlczogQXogLS1hZGpmaWxlIMOpcyBhIC0tbm9hZGpmaWxlIGvDtmxjc8O2bsO2c2VuIGtpesOhcmrDoWsgZWd5bcOhc3QsIGRlIG1pbmRrZXR0xZF0IG1lZ2FkdGEuXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjU0Cittc2dpZCAib25seSBvbmUgPGRldmljZT4gYXQgYSB0aW1lIGlzIGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NTcKK21zZ2lkICJvcHRpb25zIC0tYWxnb3JpdGhtIGFuZCAtLXN0cmVhbXMgbXVzdCBiZSBjb21iaW5lZCB3aXRoIC0tc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY4NyBzeXMtdXRpbHMvenJhbWN0bC5jOjcxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZXNldCIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njk4IHN5cy11dGlscy96cmFtY3RsLmM6NzA2Cittc2dpZCAibm8gZnJlZSB6cmFtIGRldmljZSBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgbnVtYmVyIG9mIHN0cmVhbXMiCittc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIG55aXRoYXTDsyBtZWc6ICVzIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYWxnb3JpdGhtIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGRpc2tzaXplICglanUgYnl0ZXMpIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMlcyAoYXV0b21hdGljIGxvZ2luKVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHJvb3QgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiJXM6IGEoeikgJXMgbmVtIGZ1dHRhdGhhdMOzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugd29ya2luZyBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczogYSh6KSAlcyBuZW0gZnV0dGF0aGF0w7M6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSBwcm9jZXNzIHByaW9yaXR5OiAlbSIKK21zZ3N0ciAiJXM6IGEoeikg4oCeJXPigJ0gZm9seWFtYXQgbmVtIHRhbMOhbGhhdMOzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBleGVjICVzOiAlbSIKK21zZ3N0ciAiJXM6IGEoeikgJXMgbmVtIGZ1dHRhdGhhdMOzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1NTUgdGVybS11dGlscy9hZ2V0dHkuYzo4NDEgdGVybS11dGlscy9hZ2V0dHkuYzo4NTMKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODcwIHRlcm0tdXRpbHMvYWdldHR5LmM6MTQxNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MzMKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ2OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NzkgdGVybS11dGlscy9hZ2V0dHkuYzoxNTE2CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NzggdGVybS11dGlscy9hZ2V0dHkuYzoyNTIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5OiAlbSIKK21zZ3N0ciAibmVtIGZvZ2xhbGhhdMOzIGxlIGtpbWVuZXRpIHB1ZmZlciIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo2ODAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBkZWxheSBhcmd1bWVudCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzE5CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLS1sb2NhbC1saW5lIgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGF6b25vc8OtdMOzOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjczOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG5pY2UgYXJndW1lbnQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3BlZWQ6ICVzIgorbXNnc3RyICJoaWLDoXMgc2ViZXNzw6lnOiAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzcKK21zZ2lkICJ0b28gbWFueSBhbHRlcm5hdGUgc3BlZWRzIgorbXNnc3RyICJ0w7psIHNvayBhbHRlcm5hdMOtdiBzZWJlc3PDqWciCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAwNiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMTAgdGVybS11dGlscy9hZ2V0dHkuYzoxMDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBvcGVuIGFzIHN0YW5kYXJkIGlucHV0OiAlbSIKK21zZ3N0ciAiL2Rldi8lczogbmVtIG55aXRoYXTDsyBtZWcgc3phYnbDoW55b3MgYmVtZW5ldGvDqW50OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIGNoYXJhY3RlciBkZXZpY2UiCittc2dzdHIgIi9kZXYvJXM6IG5lbSBlZ3kga2FyYWt0ZXJlc3prw7Z6IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIHR0eSIKK21zZ3N0ciAiYSBnecO2a8OpciBpbm9kZSBuZW0ga8O2bnl2dMOhciIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDM1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IGdldCBjb250cm9sbGluZyB0dHk6ICVtIgorbXNnc3RyICIvZGV2LyVzOiBuZW0gbnlpdGhhdMOzIG1lZyBzemFidsOhbnlvcyBiZW1lbmV0a8OpbnQ6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IHZoYW5ndXAoKSBmYWlsZWQ6ICVtIgorbXNnc3RyICIlczogYSBjYWxsb2MoKSBzaWtlcnRlbGVuOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBvcGVuIGZvciByZWFkL3dyaXRlIgorbXNnc3RyICIlczogbmVtIG55aXRoYXTDsyBtZWcgw61yw6FzcmEgdmFneSBvbHZhc8Ohc3JhIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBzZXQgcHJvY2VzcyBncm91cDogJW0iCittc2dzdHIgIiVzOiBhKHopIOKAniVz4oCdIGZvbHlhbWF0IG5lbSB0YWzDoWxoYXTDs1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGR1cCBwcm9ibGVtOiAlbSIKK21zZ3N0ciAiJXM6IGtldHTFkXrDqXNpIHByb2Jsw6ltYTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTExNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgImEoeikgJXMgdGVybWluw6FsYXR0cmliw7p0dW1haSBuZW0ga8OpcmhldMWRayBsZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMzIxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZhaWxlZDogJW0iCittc2dzdHIgImEoeikgJXMgdGVybWluw6FsYXR0cmliw7p0dW1haSBuZW0gw6FsbMOtdGhhdMOzayBiZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDU5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIG9zLXJlbGVhc2UgZmlsZSIKK21zZ3N0ciAiTmVtIG55aXRoYXTDsyBtZWcgYSh6KSDigJ4lc+KAnSBmw6FqbCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNjM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHJlbG9hZCBmaWxlOiAlczogJW0iCittc2dzdHIgImEgdMOtcHVzcGFyYW5jc2bDoWpsICglcykgb2x2YXPDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3MzYKK21zZ2lkICJbcHJlc3MgRU5URVIgdG8gbG9naW5dIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2MAorbXNnaWQgIk51bSBMb2NrIG9mZiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjMKK21zZ2lkICJOdW0gTG9jayBvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjYKK21zZ2lkICJDYXBzIExvY2sgb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzY5Cittc2dpZCAiU2Nyb2xsIExvY2sgb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiSGludDogJXNcbiIKKyJcbiIKK21zZ3N0ciAidMOtcHVzOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQ6ICVtIgorbXNnc3RyICIlczogb2x2YXPDoXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlucHV0IG92ZXJydW4iCittc2dzdHIgIiVzOiBhIGJlbWVuZXQgdMO6bGNzb3JkdWx0IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NzQgdGVybS11dGlscy9hZ2V0dHkuYzoxOTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciBjb252ZXJzaW9uIGZvciBsb2dpbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgMHgleCBpbiBsb2dpbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgImEoeikgJXMgdGVybWluw6FsYXR0cmliw7p0dW1haSBuZW0gw6FsbMOtdGhhdMOzayBiZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGxpbmU+IFs8YmF1ZF9yYXRlPiwuLi5dIFs8dGVybXR5cGU+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8YmF1ZF9yYXRlPiwuLi4gPGxpbmU+IFs8dGVybXR5cGU+XVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExMworbXNnaWQgIk9wZW4gYSB0ZXJtaW5hbCBhbmQgc2V0IGl0cyBtb2RlLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExNgorIywgZnV6enkKK21zZ2lkICIgLTgsIC0tOGJpdHMgICAgICAgICAgICAgICAgYXNzdW1lIDgtYml0IHR0eVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExNworbXNnaWQgIiAtYSwgLS1hdXRvbG9naW4gPHVzZXI+ICAgICBsb2dpbiB0aGUgc3BlY2lmaWVkIHVzZXIgYXV0b21hdGljYWxseVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExOAorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAgZG8gbm90IHJlc2V0IGNvbnRyb2wgbW9kZVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExOQorIywgZnV6enkKK21zZ2lkICIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAgdXNlIC1yIDxob3N0bmFtZT4gZm9yIGxvZ2luKDEpXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMAorbXNnaWQgIiAtZiwgLS1pc3N1ZS1maWxlIDxmaWxlPiAgICBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjEKK21zZ2lkICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgZW5hYmxlIGhhcmR3YXJlIGZsb3cgY29udHJvbFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMgorIywgZnV6enkKK21zZ2lkICIgLUgsIC0taG9zdCA8aG9zdG5hbWU+ICAgICAgc3BlY2lmeSBsb2dpbiBob3N0XG4iCittc2dzdHIgIiIKKyIgIC1zLCAtLXNoZWxsPXBhcmFuY3PDqXJ0ZWxtZXrFkSAgICAgQSBwYXJhbmNzw6lydGVsbWV6xZEgaWTDqXrDqXNpIG1lZ8OhbGxhcG9kw6FzYWluYWtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmXDoWxsw610w6FzYVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjMKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGRvIG5vdCBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEEgcGFydMOtY2nDs3MgdMOhYmxhIGtpw61yw6FzYSBhIGvDqXBlcm55xZFyZSB2YWd5IGbDoWpsYmEiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNAorbXNnaWQgIiAtSSwgLS1pbml0LXN0cmluZyA8c3RyaW5nPiBzZXQgaW5pdCBzdHJpbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjUKKyMsIGZ1enp5Cittc2dpZCAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIGRvIG5vdCBjbGVhciB0aGUgc2NyZWVuIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjYKK21zZ2lkICIgLWwsIC0tbG9naW4tcHJvZ3JhbSA8ZmlsZT4gc3BlY2lmeSBsb2dpbiBwcm9ncmFtXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI3Cittc2dpZCAiIC1MLCAtLWxvY2FsLWxpbmVbPTxtb2RlPl0gIGNvbnRyb2wgdGhlIGxvY2FsIGxpbmUgZmxhZ1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyOAorbXNnaWQgIiAtbSwgLS1leHRyYWN0LWJhdWQgICAgICAgICBleHRyYWN0IGJhdWQgcmF0ZSBkdXJpbmcgY29ubmVjdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyOQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAgZG8gbm90IHByb21wdCBmb3IgbG9naW5cbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgICAgYSBsZW1leiB0w6lueWxlZ2VzIMOtcsOhc8OhbmFrIGtpaGFnecOhc2EiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMAorIywgZnV6enkKK21zZ2lkICIgLU4gIC0tbm9uZXdsaW5lICAgICAgICAgICAgZG8gbm90IHByaW50IGEgbmV3bGluZSBiZWZvcmUgaXNzdWVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEEgcGFydMOtY2nDs3MgdMOhYmxhIGtpw61yw6FzYSBhIGvDqXBlcm55xZFyZSB2YWd5IGbDoWpsYmEiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMQorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8b3B0cz4gb3B0aW9ucyB0aGF0IGFyZSBwYXNzZWQgdG8gbG9naW5cbiIKK21zZ3N0ciAiICAtbCwgLS1sb25nb3B0aW9ucz1ob3NzesO6X2thcGNzb2zDs2sgICAgRmVsaXNtZXJlbmTFkSBob3NzesO6IGthcGNzb2zDs2tcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMyCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICB3YWl0IGZvciBhbnkga2V5IGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgICAgYSBsZW1leiB0w6lueWxlZ2VzIMOtcsOhc8OhbmFrIGtpaGFnecOhc2EiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMworbXNnaWQgIiAtciwgLS1jaHJvb3QgPGRpcj4gICAgICAgICBjaGFuZ2Ugcm9vdCB0byB0aGUgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM0CisjLCBmdXp6eQorbXNnaWQgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICBkbyB2aXJ0dWFsbHkgaGFuZ3VwIG9uIHRoZSB0dHlcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzUKK21zZ2lkICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgdHJ5IHRvIGtlZXAgYmF1ZCByYXRlIGFmdGVyIGJyZWFrXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM2Cittc2dpZCAiIC10LCAtLXRpbWVvdXQgPG51bWJlcj4gICAgIGxvZ2luIHByb2Nlc3MgdGltZW91dFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNworbXNnaWQgIiAtVSwgLS1kZXRlY3QtY2FzZSAgICAgICAgICBkZXRlY3QgdXBwZXJjYXNlIHRlcm1pbmFsXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM4CisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICB3YWl0IGNhcnJpYWdlLXJldHVyblxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzOQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAgZG8gbm90IHByaW50IGhpbnRzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICAgIGEgbGVtZXogdMOpbnlsZWdlcyDDrXLDoXPDoW5hayBraWhhZ3nDoXNhIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgIG5vIGhvc3RuYW1lIGF0IGFsbCB3aWxsIGJlIHNob3duXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBBIHBhcnTDrWNpw7NzIHTDoWJsYSBracOtcsOhc2EgYSBrw6lwZXJuecWRcmUgdmFneSBmw6FqbGJhIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDEKK21zZ2lkICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgc2hvdyBmdWxsIHF1YWxpZmllZCBob3N0bmFtZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MgorbXNnaWQgIiAgICAgLS1lcmFzZS1jaGFycyA8c3RyaW5nPiBhZGRpdGlvbmFsIGJhY2tzcGFjZSBjaGFyc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MworbXNnaWQgIiAgICAgLS1raWxsLWNoYXJzIDxzdHJpbmc+ICBhZGRpdGlvbmFsIGtpbGwgY2hhcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDQKK21zZ2lkICIgICAgIC0tY2hkaXIgPGRpcmVjdG9yeT4gICAgY2hkaXIgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tZGVsYXkgPG51bWJlcj4gICAgICAgc2xlZXAgc2Vjb25kcyBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ2Cittc2dpZCAiICAgICAtLW5pY2UgPG51bWJlcj4gICAgICAgIHJ1biBsb2dpbiB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgIHJlbG9hZCBwcm9tcHRzIG9uIHJ1bm5pbmcgYWdldHR5IGluc3RhbmNlc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgICBhIGxlbWV6IHTDqW55bGVnZXMgw61yw6Fzw6FuYWsga2loYWd5w6FzYSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ4CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1oZWxwICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDkKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcnNpb24gICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjQ4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgdXNlciIKK21zZ2lkX3BsdXJhbCAiJWQgdXNlcnMiCittc2dzdHJbMF0gImZlbGhhc3puw6Fsw7MiCittc2dzdHJbMV0gImZlbGhhc3puw6Fsw7MiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hlY2tuYW1lIGZhaWxlZDogJW0iCittc2dzdHIgImEgY2hvd24gbWVnaGnDunN1bHQ6ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB0b3VjaCBmaWxlICVzIgorbXNnc3RyICJOZW0gbnlpdGhhdMOzIG1lZyBhKHopIOKAniVz4oCdIGbDoWpsIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MjUKK21zZ2lkICItLXJlbG9hZCBpcyB1bnN1cHBvcnRlZCBvbiB5b3VyIHN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbeSB8IG5dXG4iCittc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3OAorbXNnaWQgIkNvbnRyb2wgd3JpdGUgYWNjZXNzIG9mIG90aGVyIHVzZXJzIHRvIHlvdXIgdGVybWluYWwuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEyNQorIywgZnV6enkKK21zZ2lkICJ0dHluYW1lIGZhaWxlZCIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBtZWdoacO6c3VsdCIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM0CisjLCBmdXp6eQorbXNnaWQgImlzIHkiCittc2dzdHIgIm1vc3QgaWdlblxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiaXMgbiIKK21zZ3N0ciAibW9zdCBuZW1cbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTQ4IHRlcm0tdXRpbHMvbWVzZy5jOjE1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlICVzIG1vZGUgZmFpbGVkIgorbXNnc3RyICJsZWZvZ2xhbHQgc3plbWFmb3JvayA9ICVkXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTU3Cittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgZGVuaWVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXMiCittc2dzdHIgIsOpcnbDqW55dGVsZW4gYXpvbm9zw610w7M6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjIKK21zZ2lkICJNYWtlIGEgdHlwZXNjcmlwdCBvZiBhIHRlcm1pbmFsIHNlc3Npb24uXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjUKK21zZ2lkICIiCisiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgIGFwcGVuZCB0aGUgb3V0cHV0XG4iCisiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+IHJ1biBjb21tYW5kIHJhdGhlciB0aGFuIGludGVyYWN0aXZlIHNoZWxsXG4iCisiIC1lLCAtLXJldHVybiAgICAgICAgICAgIHJldHVybiBleGl0IGNvZGUgb2YgdGhlIGNoaWxkIHByb2Nlc3NcbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAgcnVuIGZsdXNoIGFmdGVyIGVhY2ggd3JpdGVcbiIKKyIgICAgIC0tZm9yY2UgICAgICAgICAgICAgdXNlIG91dHB1dCBmaWxlIGV2ZW4gd2hlbiBpdCBpcyBhIGxpbmtcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgYmUgcXVpZXRcbiIKKyIgLXQsIC0tdGltaW5nWz08ZmlsZT5dICAgb3V0cHV0IHRpbWluZyBkYXRhIHRvIHN0ZGVyciAob3IgdG8gRklMRSlcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIm91dHB1dCBmaWxlIGAlcycgaXMgYSBsaW5rXG4iCisiVXNlIC0tZm9yY2UgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC5cbiIKKyJQcm9ncmFtIG5vdCBzdGFydGVkLiIKK21zZ3N0ciAiIgorIkZpZ3llbG1lenRldMOpczogYSh6KSDigJ4lc+KAnSBlZ3kgbGlua1xuIgorIkhhc3puw6FsamEgYSh6KSDigJ4lcyBba2FwY3NvbMOza10gJXPigJ0gcGFyYW5jc290LCBoYSB2YWzDs2JhblxuIgorImhhc3puw6FsbmkgYWthcmphLiBBIHBhcmFuY3Nmw6FqbCBuZW0gaW5kdWx0IGVsLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgZG9uZSwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICJBIHBhcmFuY3Nmw6FqbCBrw6lzeiwgYSBmw6FqbDogJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyNjIKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHdyaXRlIHNjcmlwdCBmaWxlIgorbXNnc3RyICIlczogbmVtIMOtcmhhdMOzIGEgcGFyYW5jc2bDoWpsLCBoaWJhOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDM4CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkIG9uICVzIgorbXNnc3RyICJBIHBhcmFuY3Nmw6FqbCBlbGluZHVsdCBla2tvcjogJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTY3JpcHQgZG9uZSBvbiAlcyIKK21zZ3N0ciAiIgorIlxuIgorIkEgcGFyYW5jc2bDoWpsIGvDqXN6IGVra29yOiAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2MDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJhKHopICVzIHRlcm1pbsOhbGF0dHJpYsO6dHVtYWkgbmVtIGvDqXJoZXTFkWsgbGUiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjE0CisjLCBmdXp6eQorbXNnaWQgIm9wZW5wdHkgZmFpbGVkIgorbXNnc3RyICJheiBvcGVucHR5IG1lZ2hpw7pzdWx0XG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjUyCisjLCBmdXp6eQorbXNnaWQgIm91dCBvZiBwdHkncyIKK21zZ3N0ciAiRWxmb2d5dGFrIGEgcHN6ZXVkb3Rlcm1pbsOhbG9rXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIkEgcGFyYW5jc2bDoWpsIGVsaW5kdWx0LCBhIGbDoWpsOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy10XSB0aW1pbmdmaWxlIFt0eXBlc2NyaXB0XSBbZGl2aXNvcl1cbiIKK21zZ3N0ciAiJXMgPGlkxZF6w610w6lzZsOhamw+IFs8dMOtcHVzcGFyYW5jc2bDoWpsPiBbPGVsdsOhbGFzenTDsz5dXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQ3Cittc2dpZCAiUGxheSBiYWNrIHRlcm1pbmFsIHR5cGVzY3JpcHRzLCB1c2luZyB0aW1pbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo1MAorbXNnaWQgIiIKKyIgLXQsIC0tdGltaW5nIDxmaWxlPiAgICAgc2NyaXB0IHRpbWluZyBvdXRwdXQgZmlsZVxuIgorIiAtcywgLS10eXBlc2NyaXB0IDxmaWxlPiBzY3JpcHQgdGVybWluYWwgc2Vzc2lvbiBvdXRwdXQgZmlsZVxuIgorIiAtZCwgLS1kaXZpc29yIDxudW0+ICAgICBzcGVlZCB1cCBvciBzbG93IGRvd24gZXhlY3V0aW9uIHdpdGggdGltZSBkaXZpc29yXG4iCisiIC1tLCAtLW1heGRlbGF5IDxudW0+ICAgIHdhaXQgYXQgbW9zdCB0aGlzIG1hbnkgc2Vjb25kcyBiZXR3ZWVuIHVwZGF0ZXNcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExMgorbXNnaWQgIndyaXRlIHRvIHN0ZG91dCBmYWlsZWQiCittc2dzdHIgImEgc3phYnbDoW55b3Mga2ltZW5ldHJlIMOtcsOhcyBtZWdoacO6c3VsdCIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSBvbiAlcyIKK21zZ3N0ciAidsOhcmF0bGFuIGbDoWpsdsOpZ2UgYSBrw7Z2ZXRrZXrFkW46ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0eXBlc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgImEgdMOtcHVzcGFyYW5jc2bDoWpsICglcykgb2x2YXPDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE4NAorIywgZnV6enkKK21zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJhIHbDoXJ0IHN6w6FtIGhlbHlldHQg4oCeJXPigJ0gdGFsw6FsaGF0w7MiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHRpbWluZyBmaWxlICVzIgorbXNnc3RyICJheiBpZMWResOtdMOpc2bDoWpsICglcykgb2x2YXPDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltaW5nIGZpbGUgJXM6IGxpbmUgJWx1OiB1bmV4cGVjdGVkIGZvcm1hdCIKK21zZ3N0ciAiJXMgaWTFkXrDrXTDqXNmw6FqbDogJWx1OiB2w6FydCBmb3Jtw6F0dW0iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYXJndW1lbnQgZXJyb3I6IGJyaWdodCAlcyBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJhIHNlYmVzc8OpZyAoJWQpIG5lbSB0w6Ftb2dhdG90dCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI4CisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IHRhYnMiCittc2dzdHIgIiVzOiBpc21lcmV0bGVuIGFyZ3VtZW50dW06ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MworbXNnaWQgIlNldCB0aGUgYXR0cmlidXRlcyBvZiBhIHRlcm1pbmFsLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NgorbXNnaWQgIiAtLXRlcm0gICAgICAgICAgPHRlcm1pbmFsX25hbWU+ICAgb3ZlcnJpZGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NworIywgZnV6enkKK21zZ2lkICIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHRvIHBvd2VyLW9uIHN0YXRlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg4CisjLCBmdXp6eQorbXNnaWQgIiAtLWluaXRpYWxpemUgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBpbml0IHN0cmluZywgYW5kIHVzZSBkZWZhdWx0IHNldHRpbmdzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OQorIywgZnV6enkKK21zZ2lkICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBkZWZhdWx0IHRlcm1pbmFsIHNldHRpbmdzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MAorbXNnaWQgIiAtLXN0b3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IHRlcm1pbmFsIHNldHRpbmdzIGFzIGRlZmF1bHRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTEKKyMsIGZ1enp5Cittc2dpZCAiIC0tY3Vyc29yICAgICAgICBbb258b2ZmXSAgICAgICAgICBkaXNwbGF5IGN1cnNvclxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTIKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVwZWF0ICAgICAgICBbb258b2ZmXSAgICAgICAgICBrZXlib2FyZCByZXBlYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTMKK21zZ2lkICIgLS1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdICAgICAgICAgIGN1cnNvciBrZXkgYXBwbGljYXRpb24gbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NAorIywgZnV6enkKK21zZ2lkICIgLS1saW5ld3JhcCAgICAgIFtvbnxvZmZdICAgICAgICAgIGNvbnRpbnVlIG9uIGEgbmV3IGxpbmUgd2hlbiBhIGxpbmUgaXMgZnVsbFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTUKK21zZ2lkICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIHN3YXAgY29sb3JzIGZvciB0aGUgd2hvbGUgc2NyZWVuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk2Cittc2dpZCAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgZm9yZWdyb3VuZCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NworbXNnaWQgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGJhY2tncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTgKK21zZ2lkICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCB1bmRlcmxpbmVkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTkKK21zZ2lkICIgLS1oYmNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCBib2xkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDAKK21zZ2lkICIgICAgICAgICAgICAgICAgIDxjb2xvcj46IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMQorIywgZnV6enkKK21zZ2lkICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJvbGRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAyCisjLCBmdXp6eQorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiAgWyAtaGFsZi1icmlnaHQgW29ufG9mZl0gXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDMKK21zZ2lkICIgLS1ibGluayAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJsaW5rXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA0CisjLCBmdXp6eQorbXNnaWQgIiAtLXVuZGVybGluZSAgICAgW29ufG9mZl0gICAgICAgICAgdW5kZXJsaW5lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNQorbXNnaWQgIiAtLXJldmVyc2UgICAgICAgW29ufG9mZl0gICAgICAgICAgc3dhcCBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9yc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNgorIywgZnV6enkKK21zZ2lkICIgLS1jbGVhciAgICAgICAgIFthbGx8cmVzdF0gICAgICAgIGNsZWFyIHNjcmVlbiBhbmQgc2V0IGN1cnNvciBwb3NpdGlvblxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNworIywgZnV6enkKK21zZ2lkICIgLS10YWJzICAgICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIHNldCB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIHNob3cgdGhlbVxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgICAgIEEgZ2V0b3B0KDEpIHZlcnppw7MgdGVzenRlbMOpc2VcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA4CisjLCBmdXp6eQorbXNnaWQgIiAtLWNscnRhYnMgICAgICAgWzxudW1iZXI+Li4uXSAgICAgY2xlYXIgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBhbGxcbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICAgICBBIGdldG9wdCgxKSB2ZXJ6acOzIHRlc3p0ZWzDqXNlXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOQorIywgZnV6enkKK21zZ2lkICIgLS1yZWd0YWJzICAgICAgIFsxLTE2MF0gICAgICAgICAgIHNldCBhIHJlZ3VsYXIgdGFiIHN0b3AgaW50ZXJ2YWxcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTAKK21zZ2lkICIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIHNldCB0aW1lIG9mIGluYWN0aXZpdHkgYmVmb3JlIHNjcmVlbiBibGFua3NcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTEKK21zZ2lkICIgLS1kdW1wICAgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIHdyaXRlIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMgorbXNnaWQgIiAtLWFwcGVuZCAgICAgICAgWzxudW1iZXI+XSAgICAgICAgYXBwZW5kIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMworbXNnaWQgIiAtLWZpbGUgICAgICAgICAgPGZpbGVuYW1lPiAgICAgICAgbmFtZSBvZiB0aGUgZHVtcCBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE0CisjLCBmdXp6eQorbXNnaWQgIiAtLW1zZyAgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgc2VuZCBrZXJuZWwgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTUKKyMsIGZ1enp5Cittc2dpZCAiIC0tbXNnbGV2ZWwgICAgICAwLTggICAgICAgICAgICAgICBrZXJuZWwgY29uc29sZSBsb2cgbGV2ZWxcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE2CisjLCBmdXp6eQorbXNnaWQgIiAtLXBvd2Vyc2F2ZSAgICAgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdXG4iCittc2dzdHIgIiAgWyAtcG93ZXJzYXZlIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXSBdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNworIywgZnV6enkKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCB2ZXNhIHBvd2Vyc2F2aW5nIGZlYXR1cmVzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgIEVsc8WRICAgICBVdG9sc8OzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxOAorbXNnaWQgIiAtLXBvd2VyZG93biAgICAgWzAtNjBdICAgICAgICAgICAgc2V0IHZlc2EgcG93ZXJkb3duIGludGVydmFsIGluIG1pbnV0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTkKK21zZ2lkICIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIGR1cmF0aW9uIG9mIHRoZSBiZWxsIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMAorbXNnaWQgIiAtLWJmcmVxICAgICAgICAgPG51bWJlcj4gICAgICAgICAgYmVsbCBmcmVxdWVuY3kgaW4gSGVydHpcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjEKKyMsIGZ1enp5Cittc2dpZCAiIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICBzaG93IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIyCisjLCBmdXp6eQorbXNnaWQgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDMwCittc2dpZCAiZHVwbGljYXRlIHVzZSBvZiBhbiBvcHRpb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzM0CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmb3JjZSBibGFuayIKK21zZ3N0ciAiYXogw7xyw610w6lzIG5lbSBrw6lueXN6ZXLDrXRoZXTFkVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MzkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGZvcmNlIHVuYmxhbmsiCittc2dzdHIgImEgdmlzc3phw6FsbMOtdMOhcyBuZW0ga8OpbnlzemVyw610aGV0xZFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQ1CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgYmxhbmsgc3RhdHVzIgorbXNnc3RyICJheiDDvHLDrXTDqXMgw6FsbGFwb3RhIG5lbSBrw6lyaGV0xZEgbGVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4gbm90IG9wZW4gZHVtcCBmaWxlICVzIGZvciBvdXRwdXQiCittc2dzdHIgImEoeikgJXMgZXN6a8O2eiBuZW0gbnlpdGhhdMOzIG1lZyDDrXLDoXNyYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsICVzIGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgIiVzOiBhKHopIOKAniVz4oCdIGZlbGhhc3puw6Fsw7MgbmVtIGzDqXRlemlrLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo5ODgKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90ICh1bilzZXQgcG93ZXJzYXZlIG1vZGUiCittc2dzdHIgIm5lbSBsZWhldCDDoXR2w6FsdGFuaSBheiBlbmVyZ2lhdGFrYXLDqWtvcyBtw7Nkb3RcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTAwNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDE2CisjLCBmdXp6eQorbXNnaWQgImtsb2djdGwgZXJyb3IiCittc2dzdHIgImtsb2djdGwgaGliYTogJXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTAzNworIywgZnV6enkKK21zZ2lkICIkVEVSTSBpcyBub3QgZGVmaW5lZC4iCittc2dzdHIgIiVzOiBBICRURVJNIG5pbmNzIG1lZ2FkdmEuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDQKK21zZ2lkICJ0ZXJtaW5mbyBkYXRhYmFzZSBjYW5ub3QgYmUgZm91bmQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gdGVybWluYWwgdHlwZSIKK21zZ3N0ciAiJXM6IGlzbWVyZXRsZW4gamVsesOpczogJXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0OAorbXNnaWQgInRlcm1pbmFsIGlzIGhhcmRjb3B5IgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB0b28gbWFueSBpb3YncyIKK21zZ3N0ciAiYmVsc8WRIGhpYmEiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhjZXNzaXZlbHkgbG9uZyBsaW5lIGFyZyIKK21zZ3N0ciAidMO6bHPDoWdvc2FuIGhvc3N6w7ogc29yYXJndW1lbnR1bSIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wZW4gZmFpbGVkIgorbXNnc3RyICJhIG1lZ255aXTDoXMgbWVnaGnDunN1bHQ6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZm9yazogJW0iCittc2dzdHIgInByb2dyYW1pbmTDrXTDoXM6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZm9yayIKK21zZ3N0ciAiYSBwcm9ncmFtaW5kw610w6FzIG1lZ2hpw7pzdWx0IgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkFEIEVSUk9SLCBtZXNzYWdlIGlzIGZhciB0b28gbG9uZyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IHwgPG1lc3NhZ2U+XVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODYKK21zZ2lkICJXcml0ZSBhIG1lc3NhZ2UgdG8gYWxsIHVzZXJzLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg5CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBkbyBub3QgcHJpbnQgYmFubmVyLCB3b3JrcyBvbmx5IGZvciByb290XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTAKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8dGltZW91dD4gd3JpdGUgdGltZW91dCBpbiBzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6MTMyCittc2dpZCAiLS1ub2Jhbm5lciBpcyBhdmFpbGFibGUgb25seSBmb3Igcm9vdCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudDogJXMiCittc2dzdHIgImhpYsOhcyBpZMWRa29ybMOhdMOpcnTDqWs6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyNjkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGdldCBwYXNzd2QgdWlkIgorbXNnc3RyICJhIGZlbGhhc3puw6Fsw7Nhem9ub3PDrXTDsyBuZW0gw6FsbMOtdGhhdMOzIGJlIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyNzQKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGdldCB0dHkgbmFtZSIKK21zZ3N0ciAiTmVtIGxlaGV0IGxla8OpcmRlem5pIGEgbGVtZXogbcOpcmV0w6l0IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXNAJXMgKCVzKSAoJXMpOiIKK21zZ3N0ciAiU3rDs3J0IMO8emVuZXQgYSBrw7Z2ZXRrZXrFkXTFkWw6ICVzQCVzIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozMjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IHJlYWQgJXMgLSB1c2Ugc3RkaW4uIgorbXNnc3RyICIlczogbmVtIG9sdmFzaGF0w7MgYSh6KSAlcyAtIGEgc3phYnbDoW55b3MgYmVtZW5ldCBrZXLDvGwgZmVsaGFzem7DoWzDoXNyYS5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1c2VyPiBbPHR0eW5hbWU+XVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiBuYW1laSBbLW14XSDDunR2b25hbCBbw7p0dm9uYWwgLi4uXVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6OTAKK21zZ2lkICJTZW5kIGEgbWVzc2FnZSB0byBhbm90aGVyIHVzZXIuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICJlZmZlY3RpdmUgZ2lkIGRvZXMgbm90IG1hdGNoIGdyb3VwIG9mICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4iCittc2dzdHIgIndyaXRlOiAlcyBuaW5jcyBiZWplbGVudGtlenZlXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDcKKyMsIGZ1enp5Cittc2dpZCAiY2FuJ3QgZmluZCB5b3VyIHR0eSdzIG5hbWUiCittc2dzdHIgIndyaXRlOiBuZW0gdGFsw6FsaGF0w7MgYSB0ZXJtaW7DoWwgbmV2ZVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQiCittc2dzdHIgIndyaXRlOiAlcyBsZXRpbHRvdHRhIGF6IMO8emVuZXRla2V0XG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGxvZ2dlZCBpbiBtb3JlIHRoYW4gb25jZTsgd3JpdGluZyB0byAlcyIKK21zZ3N0ciAid3JpdGU6ICVzIHTDtmJiIGhlbHllbiBpcyBiZWzDqXBldHQsIMOtcsOhcyBhIGvDtnZldGtlesWRcmU6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiY2FyZWZ1bHB1dGMgZmFpbGVkIgorbXNnc3RyICJhIG1hbGxvYyBtZWdoacO6c3VsdCIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIChhcyAlcykgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiw5x6ZW5ldCAlc0AlcyBmZWxoYXN6bsOhbMOzdMOzbCAobWludCAlcykgZXplbjogJXMgZWtrb3I6ICVzIC4uLiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIsOcemVuZXQgJXNAJXMgZmVsaGFzem7DoWzDs3TDs2wgZXplbjogJXMgZWtrb3I6ICVzIC4uLiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjMzMQorIywgZnV6enkKK21zZ2lkICJ5b3UgaGF2ZSB3cml0ZSBwZXJtaXNzaW9uIHR1cm5lZCBvZmYiCittc2dzdHIgIndyaXRlOiBheiDDrXLDoXNpIGpvZ29zdWx0c8OhZyBraSB2YW4ga2FwY3NvbHZhLlxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIG9uICVzIgorbXNnc3RyICJ3cml0ZTogJXMgbmluY3MgYmVqZWxlbnRrZXp2ZSBhIGvDtnZldGtlesWRbjogJXMuXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCBvbiAlcyIKK21zZ3N0ciAid3JpdGU6ICVzIGxldGlsdG90dGEgYXogw7x6ZW5ldGVrZXQgYSBrw7Z2ZXRrZXrFkW46ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM0Cittc2dpZCAiRmlsdGVyIG91dCByZXZlcnNlIGxpbmUgZmVlZHMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAgZG8gbm90IG91dHB1dCBiYWNrc3BhY2VzXG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAgcGVybWl0IGZvcndhcmQgaGFsZiBsaW5lIGZlZWRzXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAgcGFzcyB1bmtub3duIGNvbnRyb2wgc2VxdWVuY2VzXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgY29udmVydCBzcGFjZXMgdG8gdGFic1xuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIGNvbnZlcnQgdGFicyB0byBzcGFjZXNcbiIKKyIgLWwsIC0tbGluZXMgTlVNICAgICAgICBidWZmZXIgYXQgbGVhc3QgTlVNIGxpbmVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLUgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTQ4IHRleHQtdXRpbHMvY29scm0uYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXMgcmVhZHMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MjEyCisjLCBmdXp6eQorbXNnaWQgImJhZCAtbCBhcmd1bWVudCIKK21zZ3N0ciAiY29sOiBoaWLDoXMgLWwga2FwY3NvbMOzOiAlcy5cbiIKKworIyBhICVzIGEga8O2dmV0a2V6xZEga2V0dMWRIGVneWlrZQorIzogdGV4dC11dGlscy9jb2wuYzozMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbid0IGJhY2sgdXAgJXMuIgorbXNnc3RyICJjb2w6IGZpZ3llbG1lenRldMOpczogbmVtIMOhbGzDrXRoYXTDsyB2aXNzemEgJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM3Cittc2dpZCAicGFzdCBmaXJzdCBsaW5lIgorbXNnc3RyICJheiBlbHPFkSBzb3IgdXTDoW4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM3Cittc2dpZCAiLS0gbGluZSBhbHJlYWR5IGZsdXNoZWQiCittc2dzdHIgIi0tIGEgc29yIG3DoXIga2kgdmFuIMO8csOtdHZlIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjgxIHRleHQtdXRpbHMvY29sdW1uLmM6MTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg0Cittc2dpZCAiRmlsdGVyIG5yb2ZmIG91dHB1dCBmb3IgQ1JUIHByZXZpZXdpbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NworbXNnaWQgIiAtLCAgLS1uby11bmRlcmxpbmluZyAgICBzdXBwcmVzcyBhbGwgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg4CisjLCBmdXp6eQorbXNnaWQgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBwcmludCBhbGwgaGFsZi1saW5lc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW3N0YXJ0Y29sIFtlbmRjb2xdXVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjY0Cittc2dpZCAiRmlsdGVyIG91dCB0aGUgc3BlY2lmaWVkIGNvbHVtbnMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NQorIywgZnV6enkKK21zZ2lkICJmaXJzdCBhcmd1bWVudCIKK21zZ3N0ciAiY29sOiBoaWLDoXMgLWwga2FwY3NvbMOzOiAlcy5cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NworIywgZnV6enkKK21zZ2lkICJzZWNvbmQgYXJndW1lbnQiCittc2dzdHIgImNvbDogaGliw6FzIC1sIGthcGNzb2zDszogJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTIwCittc2dpZCAiQ29sdW1uYXRlIGxpc3RzLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTIzCittc2dpZCAiIC1jLCAtLWNvbHVtbnMgPHdpZHRoPiAgICB3aWR0aCBvZiBvdXRwdXQgaW4gbnVtYmVyIG9mIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyNAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgIGNyZWF0ZSBhIHRhYmxlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI1Cittc2dpZCAiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiBwb3NzaWJsZSB0YWJsZSBkZWxpbWl0ZXJzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjYKK21zZ2lkICIiCisiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0cmluZz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnMgc2VwYXJhdG9yIGZvciB0YWJsZSBvdXRwdXQ7IGRlZmF1bHQgaXMgdHdvIHNwYWNlc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI4CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1maWxscm93cyAgICAgICAgICAgZmlsbCByb3dzIGJlZm9yZSBjb2x1bW5zXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTgyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY29sdW1ucyBhcmd1bWVudCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDIyCisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQgaXMgdG9vIGxvbmcsIG91dHB1dCB3aWxsIGJlIHRydW5jYXRlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTUgdGV4dC11dGlscy9tb3JlLmM6MjI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPi4uLlxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU4Cittc2dpZCAiRGlzcGxheSBmaWxlIGNvbnRlbnRzIGluIGhleGFkZWNpbWFsLCBkZWNpbWFsLCBvY3RhbCwgb3IgYXNjaWkuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYxCittc2dpZCAiIC1iLCAtLW9uZS1ieXRlLW9jdGFsICAgICAgb25lLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MgorbXNnaWQgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgIG9uZS1ieXRlIGNoYXJhY3RlciBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYzCittc2dpZCAiIC1DLCAtLWNhbm9uaWNhbCAgICAgICAgICAgY2Fub25pY2FsIGhleCtBU0NJSSBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY0Cittc2dpZCAiIC1kLCAtLXR3by1ieXRlcy1kZWNpbWFsICAgdHdvLWJ5dGUgZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY1Cittc2dpZCAiIC1vLCAtLXR3by1ieXRlcy1vY3RhbCAgICAgdHdvLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NgorbXNnaWQgIiAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjcKK21zZ2lkICIgLUwsIC0tY29sb3JbPTxtb2RlPl0gICAgICBpbnRlcnByZXQgY29sb3IgZm9ybWF0dGluZyBzcGVjaWZpZXJzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcwCittc2dpZCAiIC1lLCAtLWZvcm1hdCA8Zm9ybWF0PiAgICAgZm9ybWF0IHN0cmluZyB0byBiZSB1c2VkIGZvciBkaXNwbGF5aW5nIGRhdGFcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzEKK21zZ2lkICIgLWYsIC0tZm9ybWF0LWZpbGUgPGZpbGU+ICBmaWxlIHRoYXQgY29udGFpbnMgZm9ybWF0IHN0cmluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzIKK21zZ2lkICIgLW4sIC0tbGVuZ3RoIDxsZW5ndGg+ICAgICBpbnRlcnByZXQgb25seSBsZW5ndGggYnl0ZXMgb2YgaW5wdXRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzMKK21zZ2lkICIgLXMsIC0tc2tpcCA8b2Zmc2V0PiAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgb3V0cHV0IGlkZW50aWNhbCBsaW5lc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtZGlzcGxheS5jOjM2NQorIywgZnV6enkKK21zZ2lkICJhbGwgaW5wdXQgZmlsZSBhcmd1bWVudHMgZmFpbGVkIgorbXNnc3RyICJydGMgcmlhc3p0w6FzIGVuZ2Vkw6lseWV6w6lzZSIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCBieXRlIGNvdW50IGZvciBjb252ZXJzaW9uIGNoYXJhY3RlciAlcyIKK21zZ3N0ciAiaGV4ZHVtcDogaGliw6FzIGLDoWp0c3rDoW0gYSBrw7Z2ZXRrZXrFkSDDoXRhbGFrw610w6FzaSBrYXJha3RlcmhlejogJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlJXMgcmVxdWlyZXMgYSBwcmVjaXNpb24gb3IgYSBieXRlIGNvdW50IgorbXNnc3RyICJoZXhkdW1wOiBhKHopICUlcyBwb250b3Nzw6Fnb3QgdmFneSBiw6FqdHN6w6Ftb3QgaWfDqW55ZWwuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgZm9ybWF0IHslc30iCittc2dzdHIgImhleGR1bXA6IGhpYsOhcyBmb3Jtw6F0dW0geyVzfVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbnZlcnNpb24gY2hhcmFjdGVyICUlJXMiCittc2dzdHIgImhleGR1bXA6IGhpYsOhcyDDoXRhbGFrw610w6FzaSBrYXJha3RlcjogJSUlcy5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NDM2CisjLCBmdXp6eQorbXNnaWQgImJ5dGUgY291bnQgd2l0aCBtdWx0aXBsZSBjb252ZXJzaW9uIGNoYXJhY3RlcnMiCittc2dzdHIgImhleGR1bXA6IGLDoWp0c3rDoW0gdMO2YmIgw6F0YWxha8OtdMOhc2kga2FyYWt0ZXJyZWwuXG4iCisKKyM6IHRleHQtdXRpbHMvbGluZS5jOjMzCittc2dpZCAiUmVhZCBvbmUgbGluZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMjgKK21zZ2lkICJBIGZpbGUgcGVydXNhbCBmaWx0ZXIgZm9yIENSVCB2aWV3aW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMQorIywgZnV6enkKK21zZ2lkICIgLWQgICAgICAgICAgZGlzcGxheSBoZWxwIGluc3RlYWQgb2YgcmluZ2luZyBiZWxsXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMgorIywgZnV6enkKK21zZ2lkICIgLWYgICAgICAgICAgY291bnQgbG9naWNhbCByYXRoZXIgdGhhbiBzY3JlZW4gbGluZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgICAgYSBsZW1leiB0w6lueWxlZ2VzIMOtcsOhc8OhbmFrIGtpaGFnecOhc2EiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMworIywgZnV6enkKK21zZ2lkICIgLWwgICAgICAgICAgc3VwcHJlc3MgcGF1c2UgYWZ0ZXIgZm9ybSBmZWVkXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBBIHBhcnTDrWNpw7NzIHTDoWJsYSBracOtcsOhc2EgYSBrw6lwZXJuecWRcmUgdmFneSBmw6FqbGJhIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzQKKyMsIGZ1enp5Cittc2dpZCAiIC1jICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGRpc3BsYXkgdGV4dCBhbmQgY2xlYW4gbGluZSBlbmRzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICAgIGEgbGVtZXogdMOpbnlsZWdlcyDDrXLDoXPDoW5hayBraWhhZ3nDoXNhIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzUKKyMsIGZ1enp5Cittc2dpZCAiIC1wICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGNsZWFuIHNjcmVlbiBhbmQgZGlzcGxheSB0ZXh0XG4iCittc2dzdHIgIiAgcCAgICAgICAgICBBIHBhcnTDrWNpw7NzIHTDoWJsYSBracOtcsOhc2EgYSBrw6lwZXJuecWRcmUgdmFneSBmw6FqbGJhIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzYKKyMsIGZ1enp5Cittc2dpZCAiIC1zICAgICAgICAgIHNxdWVlemUgbXVsdGlwbGUgYmxhbmsgbGluZXMgaW50byBvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM3Cittc2dpZCAiIC11ICAgICAgICAgIHN1cHByZXNzIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM4CisjLCBmdXp6eQorbXNnaWQgIiAtPG51bWJlcj4gICB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKK21zZ3N0ciAiQWRqYSBtZWcgYSBjaWxpbmRlcmVrIHN6w6Ftw6F0OiAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOQorbXNnaWQgIiArPG51bWJlcj4gICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gbGluZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDAKK21zZ2lkICIgKy88c3RyaW5nPiAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIHNlYXJjaCBzdHJpbmcgbWF0Y2hcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1WICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo0ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIC0lcyIKK21zZ3N0ciAiJXM6IGlzbWVyZXRsZW4ga2FwY3NvbMOzOiDigJ4tJWPigJ1cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKiogJXM6IGRpcmVjdG9yeSAqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKiAlczoga8O2bnl2dMOhciAqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKioqKioqKiAlczogTm90IGEgdGV4dCBmaWxlICoqKioqKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKioqKioqKiAlczogRXogbmVtIGVneSBzesO2dmVnZsOhamwgKioqKioqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIltVc2UgcSBvciBRIHRvIHF1aXRdIgorbXNnc3RyICJbSGFzem7DoWxqYSBhIHEgdmFneSBhIFEgZWd5aWvDqXQgYSBraWzDqXDDqXNoZXpdIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1Nb3JlLS0iCittc2dzdHIgIi0tVG92w6FiYi0tIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiKE5leHQgZmlsZTogJXMpIgorbXNnc3RyICIoS8O2dmV0a2V6xZEgZsOhamw6ICVzKSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyBzcGFjZSB0byBjb250aW51ZSwgJ3EnIHRvIHF1aXQuXSIKK21zZ3N0ciAiW055b21qYSBsZSBhIHN6w7Nrw7Z6dCBhIGZvbHl0YXTDoXNob3ogdmFneSBhIHEgYmlsbGVudHnFsXQgYSBraWzDqXDDqXNoZXouXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTE2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLi4uYmFjayAlZCBwYWdlIgorbXNnaWRfcGx1cmFsICIuLi5iYWNrICVkIHBhZ2VzIgorbXNnc3RyWzBdICIuLi52aXNzemEgJWQgb2xkYWxsYWwiCittc2dzdHJbMV0gIi4uLnZpc3N6YSAlZCBvbGRhbGxhbCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTIxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLi4uc2tpcHBpbmcgJWQgbGluZSIKK21zZ2lkX3BsdXJhbCAiLi4uc2tpcHBpbmcgJWQgbGluZXMiCittc2dzdHJbMF0gIi4uLiAlZCBzb3Iga2loYWd5w6FzYSIKK21zZ3N0clsxXSAiLi4uICVkIHNvciBraWhhZ3nDoXNhIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjQ4Cittc2dpZCAiIgorIlxuIgorIioqKkJhY2sqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKlZpc3N6YSoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjYzCisjLCBmdXp6eQorbXNnaWQgIk5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKK21zZ3N0ciAiQSByZWd1bMOhcmlzIGtpZmVqZXrDqXMgaGliw6FzIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjkzCittc2dpZCAiIgorIlxuIgorIk1vc3QgY29tbWFuZHMgb3B0aW9uYWxseSBwcmVjZWRlZCBieSBpbnRlZ2VyIGFyZ3VtZW50IGsuICBEZWZhdWx0cyBpbiBicmFja2V0cy5cbiIKKyJTdGFyICgqKSBpbmRpY2F0ZXMgYXJndW1lbnQgYmVjb21lcyBuZXcgZGVmYXVsdC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkEgbGVndMO2YmIgcGFyYW5jc290IG1lZ2VsxZF6aGV0aSBlZ3kgayBlZ8Opc3ogc3rDoW0uIEF6IGFsYXDDqXJ0ZWxtZXrDqXNlayBbXSBrw7Z6w7Z0dFxuIgorInZhbm5hay4gQSBjc2lsbGFnICgqKSBqZWx6aSwgaGEgYXogYXJndW1lbnR1bSBheiDDumogYWxhcMOpcnRlbG1lesOpc3PDqSB2w6FsaWsuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzMDAKK21zZ2lkICIiCisiPHNwYWNlPiAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXSpcbiIKKyI8cmV0dXJuPiAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFsxXSpcbiIKKyJkIG9yIGN0cmwtRCAgICAgICAgICAgICBTY3JvbGwgayBsaW5lcyBbY3VycmVudCBzY3JvbGwgc2l6ZSwgaW5pdGlhbGx5IDExXSpcbiIKKyJxIG9yIFEgb3IgPGludGVycnVwdD4gICBFeGl0IGZyb20gbW9yZVxuIgorInMgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIGxpbmVzIG9mIHRleHQgWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorImIgb3IgY3RybC1CICAgICAgICAgICAgIFNraXAgYmFja3dhcmRzIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIHBsYWNlIHdoZXJlIHByZXZpb3VzIHNlYXJjaCBzdGFydGVkXG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGxpbmUgbnVtYmVyXG4iCisiLzxyZWd1bGFyIGV4cHJlc3Npb24+ICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiByZWd1bGFyIGV4cHJlc3Npb24gWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiBsYXN0IHIuZSBbMV1cbiIKKyIhPGNtZD4gb3IgOiE8Y21kPiAgICAgICBFeGVjdXRlIDxjbWQ+IGluIGEgc3Vic2hlbGxcbiIKKyJ2ICAgICAgICAgICAgICAgICAgICAgICBTdGFydCB1cCAvdXNyL2Jpbi92aSBhdCBjdXJyZW50IGxpbmVcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICBSZWRyYXcgc2NyZWVuXG4iCisiOm4gICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIG5leHQgZmlsZSBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggcHJldmlvdXMgZmlsZSBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlclxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIFJlcGVhdCBwcmV2aW91cyBjb21tYW5kXG4iCittc2dzdHIgIiIKKyI8c3rDs2vDtno+ICAgICAgICAgICAgICAgIEvDtnZldGtlesWRIGsgc29yIHN6w7Z2ZWcgW2plbGVubGVnaSBrw6lwZXJuecWRbcOpcmV0XVxuIgorInogICAgICAgICAgICAgICAgICAgICAgIEvDtnZldGtlesWRIGsgc29yIHN6w7Z2ZWcgW2plbGVubGVnaSBrw6lwZXJuecWRbcOpcmV0XSpcbiIKKyI8ZW50ZXI+ICAgICAgICAgICAgICAgICBLw7Z2ZXRrZXrFkSBrIHNvciBzesO2dmVnIFsxXSpcbiIKKyJkIHZhZ3kgY3RybC1EICAgICAgICAgICBHw7ZyZ2V0w6lzIGsgc29ycmFsIFtqZWxlbmxlZ2kgZ8O2cmdldMOpc23DqXJldCwgMTFdKlxuIgorInEsIFEgdmFneSA8bWVnc3pha8OtdMOhcz4gS2lsw6lww6lzIGEgbW9yZS1iw7NsXG4iCisicyAgICAgICAgICAgICAgICAgICAgICAgVWdyw6FzIGVsxZFyZSBrIHNvciBzesO2dmVnZ2VsIFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFVncsOhcyBlbMWRcmUgayBrw6lwZXJuecWRbnlpIHN6w7Z2ZWdnZWwgWzFdXG4iCisiYiB2YWd5IGN0cmwtQiAgICAgICAgICAgVWdyw6FzIHZpc3N6YSBrIGvDqXBlcm55xZFueWkgc3rDtnZlZ2dlbCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBVZ3LDoXMgYXogZWzFkXrFkSBrZXJlc8OpcyBraWluZHVsw7Nwb250asOhaG96XG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAgSmVsZW5sZWdpIHNvcnN6w6FtIG1lZ2plbGVuw610w6lzZVxuIgorIi88cmVndWzDoXJpcyBraWZlamV6w6lzPiAgQSByZWd1bMOhcmlzIGtpZmVqZXrDqXMgay4gZWzFkWZvcmR1bMOhc8OhbmFrIGtlcmVzw6lzZSBbMV1cbiIKKyJuICAgICAgICAgICAgICAgICAgICAgICBBeiB1dG9sc8OzIHJlZ3Vsw6FyaXMga2lmLiBrLiBlbMWRZm9yZHVsw6Fzw6FuYWsga2VyZXPDqXNlIFsxXVxuIgorIiE8cGFyPiB2YWd5IDohPHBhcj4gICAgIEEgPHBhcj4gcGFyYW5jcyB2w6lncmVoYWp0w6FzYSBwYXJhbmNzw6lydGVsbWV6xZFiZW5cbiIKKyJ2ICAgICAgICAgICAgICAgICAgICAgICBhIC91c3IvYmluL3ZpIGluZMOtdMOhc2EgYSBqZWxlbmxlZ2kgc29yYmFuXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgS8OpcGVybnnFkSDDumpyYXJhanpvbMOhc2FcbiIKKyI6biAgICAgICAgICAgICAgICAgICAgICBVZ3LDoXMgYSBrLiBrw7Z2ZXRrZXrFkSBmw6FqbHJhIFsxXVxuIgorIjpwICAgICAgICAgICAgICAgICAgICAgIFVncsOhcyBhIGsuIGVsxZF6xZEgZsOhamxyYSBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICBKZWxlbmxlZ2kgZsOhamxuw6l2IMOpcyBzb3JzesOhbSBtZWdqZWxlbsOtdMOpc2VcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBFbMWResWRIHBhcmFuY3MgbWVnaXNtw6l0bMOpc2VcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTM3MyB0ZXh0LXV0aWxzL21vcmUuYzoxMzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyAnaCcgZm9yIGluc3RydWN0aW9ucy5dIgorbXNnc3RyICJbU2Vnw610c8OpZ8OpcnQgbnlvbWphIG1lZyBhIOKAnmjigJ0gYmlsbGVudHnFsXQuXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgbGluZSAlZCIKK21zZ3N0ciAi4oCeJXPigJ0gJWQuIHNvciIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQxMgorIywgYy1mb3JtYXQKK21zZ2lkICJbTm90IGEgZmlsZV0gbGluZSAlZCIKK21zZ3N0ciAiW05lbSBmw6FqbF0gJWQuIHNvciIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQ5NAorbXNnaWQgIiAgT3ZlcmZsb3dcbiIKK21zZ3N0ciAiICBUw7psY3NvcmR1bMOhc1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTQzCittc2dpZCAiLi4uc2tpcHBpbmdcbiIKK21zZ3N0ciAiICBraWhhZ3nDoXNcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU3NworbXNnaWQgIiIKKyJcbiIKKyJQYXR0ZXJuIG5vdCBmb3VuZFxuIgorbXNnc3RyICIiCisiXG4iCisiQSBtaW50YSBuZW0gdGFsw6FsaGF0w7NcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU4MyB0ZXh0LXV0aWxzL3BnLmM6MTAyNyB0ZXh0LXV0aWxzL3BnLmM6MTE3MworbXNnaWQgIlBhdHRlcm4gbm90IGZvdW5kIgorbXNnc3RyICJBIG1pbnRhIG5lbSB0YWzDoWxoYXTDsyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTYyOQorbXNnaWQgImV4ZWMgZmFpbGVkXG4iCittc2dzdHIgImEgdsOpZ3JlaGFqdMOhcyBtZWdoacO6c3VsdFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjQzCittc2dpZCAiY2FuJ3QgZm9ya1xuIgorbXNnc3RyICJuZW0gaW5kw610aGF0w7MgcHJvZ3JhbVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjc3Cittc2dpZCAiIgorIlxuIgorIi4uLlNraXBwaW5nICIKK21zZ3N0ciAiIgorIlxuIgorIi4uLlVncsOhcyAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2ODEKK21zZ2lkICIuLi5Ta2lwcGluZyB0byBmaWxlICIKK21zZ3N0ciAiLi4uVWdyw6FzIGbDoWpscmE6ICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY4MworbXNnaWQgIi4uLlNraXBwaW5nIGJhY2sgdG8gZmlsZSAiCittc2dzdHIgIi4uLlVncsOhcyBlZ3kgZsOhamxsYWwgdmlzc3phOiAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE5NzMKK21zZ2lkICJMaW5lIHRvbyBsb25nIgorbXNnc3RyICJBIHNvciB0w7psIGhvc3N6w7oiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIwMTAKK21zZ2lkICJObyBwcmV2aW91cyBjb21tYW5kIHRvIHN1YnN0aXR1dGUgZm9yIgorbXNnc3RyICJOaW5jcyBlbMWResWRIHBhcmFuY3MgYSBoZWx5ZXR0ZXPDrXTDqXNoZXoiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNDQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBzY3JlZW5cbiIKKyIgIHEgb3IgUSAgICAgICAgICAgICAgICAgIHF1aXQgcHJvZ3JhbVxuIgorIiAgPG5ld2xpbmU+ICAgICAgICAgICAgICAgbmV4dCBwYWdlXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBza2lwIGEgcGFnZSBmb3J3YXJkXG4iCisiICBkIG9yIF5EICAgICAgICAgICAgICAgICBuZXh0IGhhbGZwYWdlXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBuZXh0IGxpbmVcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIGxhc3QgcGFnZVxuIgorIiAgL3JlZ2V4LyAgICAgICAgICAgICAgICAgc2VhcmNoIGZvcndhcmQgZm9yIHJlZ2V4XG4iCisiICA/cmVnZXg/IG9yIF5yZWdleF4gICAgICBzZWFyY2ggYmFja3dhcmQgZm9yIHJlZ2V4XG4iCisiICAuIG9yIF5MICAgICAgICAgICAgICAgICByZWRyYXcgc2NyZWVuXG4iCisiICB3IG9yIHogICAgICAgICAgICAgICAgICBzZXQgcGFnZSBzaXplIGFuZCBnbyB0byBuZXh0IHBhZ2VcbiIKKyIgIHMgZmlsZW5hbWUgICAgICAgICAgICAgIHNhdmUgY3VycmVudCBmaWxlIHRvIGZpbGVuYW1lXG4iCisiICAhY29tbWFuZCAgICAgICAgICAgICAgICBzaGVsbCBlc2NhcGVcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIHByZXZpb3VzIGZpbGVcbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIG5leHQgZmlsZVxuIgorIlxuIgorIk1hbnkgY29tbWFuZHMgYWNjZXB0IHByZWNlZGluZyBudW1iZXJzLCBmb3IgZXhhbXBsZTpcbiIKKyIrMTxuZXdsaW5lPiAobmV4dCBwYWdlKTsgLTE8bmV3bGluZT4gKHByZXZpb3VzIHBhZ2UpOyAxPG5ld2xpbmU+IChmaXJzdCBwYWdlKS5cbiIKKyJcbiIKKyJTZWUgcGcoMSkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyNgorbXNnaWQgIkJyb3dzZSBwYWdld2lzZSB0aHJvdWdoIHRleHQgZmlsZXMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyOQorbXNnaWQgIiAtbnVtYmVyICAgICAgbGluZXMgcGVyIHBhZ2VcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMwCittc2dpZCAiIC1jICAgICAgICAgICBjbGVhciBzY3JlZW4gYmVmb3JlIGRpc3BsYXlpbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMxCisjLCBmdXp6eQorbXNnaWQgIiAtZSAgICAgICAgICAgZG8gbm90IHBhdXNlIGF0IGVuZCBvZiBhIGZpbGVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEEgcGFydMOtY2nDs3MgdMOhYmxhIGtpw61yw6FzYSBhIGvDqXBlcm55xZFyZSB2YWd5IGbDoWpsYmEiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzIKKyMsIGZ1enp5Cittc2dpZCAiIC1mICAgICAgICAgICBkbyBub3Qgc3BsaXQgbG9uZyBsaW5lc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgICBhIGxlbWV6IHTDqW55bGVnZXMgw61yw6Fzw6FuYWsga2loYWd5w6FzYSIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMworbXNnaWQgIiAtbiAgICAgICAgICAgdGVybWluYXRlIGNvbW1hbmQgd2l0aCBuZXcgbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzQKK21zZ2lkICIgLXAgPHByb21wdD4gIHNwZWNpZnkgcHJvbXB0XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNQorbXNnaWQgIiAtciAgICAgICAgICAgZGlzYWxsb3cgc2hlbGwgZXNjYXBlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNgorIywgZnV6enkKK21zZ2lkICIgLXMgICAgICAgICAgIHByaW50IG1lc3NhZ2VzIHRvIHN0ZG91dFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM3Cittc2dpZCAiICtudW1iZXIgICAgICBzdGFydCBhdCB0aGUgZ2l2ZW4gbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzgKK21zZ2lkICIgKy9wYXR0ZXJuLyAgIHN0YXJ0IGF0IHRoZSBsaW5lIGNvbnRhaW5pbmcgcGF0dGVyblxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAlcyIKK21zZ3N0ciAiJXM6IGEga2FwY3NvbMOzIGFyZ3VtZW50dW1vdCBpZ8OpbnllbCAtLSAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIG9wdGlvbiAtLSAlcyIKK21zZ3N0ciAiJXM6IMOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIC0tICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNTkKK21zZ2lkICIuLi5za2lwcGluZyBmb3J3YXJkXG4iCittc2dzdHIgIi4uLnVncsOhcyBlbMWRcmVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM2MQorbXNnaWQgIi4uLnNraXBwaW5nIGJhY2t3YXJkXG4iCittc2dzdHIgIi4uLnVncsOhcyB2aXNzemFcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM3NworbXNnaWQgIk5vIG5leHQgZmlsZSIKK21zZ3N0ciAiTmluY3Mga8O2dmV0a2V6xZEgZsOhamwiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODEKK21zZ2lkICJObyBwcmV2aW91cyBmaWxlIgorbXNnc3RyICJOaW5jcyBlbMWResWRIGbDoWpsIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yIGZyb20gJXMgZmlsZSIKK21zZ3N0ciAiJXM6IE9sdmFzw6FzaSBoaWJhIGEoeikgJXMgZsOhamxiYW5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjg4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCBFT0YgaW4gJXMgZmlsZSIKK21zZ3N0ciAiJXM6IFbDoXJhdGxhbiBmw6FqbCB2w6lnZSBqZWwgYSh6KSAlcyBmw6FqbGJhblxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGVycm9yIGluICVzIGZpbGUiCittc2dzdHIgIiVzOiBJc21lcmV0bGVuIGhpYmEgYSh6KSAlcyBmw6FqbGJhblxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTQxCisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIiVzOiBOZW0gaG96aGF0w7MgbMOpdHJlIGlkZWlnbGVuZXMgZsOhamxcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjk1MCB0ZXh0LXV0aWxzL3BnLmM6MTExNCB0ZXh0LXV0aWxzL3BnLmM6MTE0MAorbXNnaWQgIlJFIGVycm9yOiAiCittc2dzdHIgIlJFIGhpYmE6ICIKKworIzogdGV4dC11dGlscy9wZy5jOjEwOTcKK21zZ2lkICIoRU9GKSIKK21zZ3N0ciAiKEbDoWpsIHbDqWdlKSIKKworIzogdGV4dC11dGlscy9wZy5jOjExMjIgdGV4dC11dGlscy9wZy5jOjExNDgKK21zZ2lkICJObyByZW1lbWJlcmVkIHNlYXJjaCBzdHJpbmciCittc2dzdHIgIk5pbmNzIG1lbnRldHQga2VyZXPDqXNpIGtpZmVqZXrDqXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjAzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuICIKK21zZ3N0ciAiYSh6KSAlcyBuZW0gbnlpdGhhdMOzIG1lZyIKKworIzogdGV4dC11dGlscy9wZy5jOjEyNTUKK21zZ2lkICJzYXZlZCIKK21zZ3N0ciAiZWxtZW50dmUiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzQ1Cittc2dpZCAiOiAhY29tbWFuZCBub3QgYWxsb3dlZCBpbiByZmxhZyBtb2RlLlxuIgorbXNnc3RyICI6ICFwYXJhbmNzIG5lbSBoYXN6bsOhbGhhdMOzIHJmbGFnIG3Ds2RiYW4uXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzgwCittc2dpZCAiZm9yaygpIGZhaWxlZCwgdHJ5IGFnYWluIGxhdGVyXG4iCittc2dzdHIgImEgZm9yaygpIGjDrXbDoXMgbWVnaGnDunN1bHQsIHByw7Niw6FsamEgw7pqcmEga8Opc8WRYmJcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjE0NjgKK21zZ2lkICIoTmV4dCBmaWxlOiAiCittc2dzdHIgIihLw7Z2ZXRrZXrFkSBmw6FqbDogIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTUzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlcyBDb3B5cmlnaHQgKGMpIDIwMDAtMjAwMSBHdW5uYXIgUml0dGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTg3IHRleHQtdXRpbHMvcGcuYzoxNjYwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMgcGVyIHBhZ2UiCittc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIG55aXRoYXTDsyBtZWc6ICVzIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6ODAKK21zZ2lkICJSZXZlcnNlIGxpbmVzIGNoYXJhY3Rlcndpc2UuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjExNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW5jb21wbGV0ZSB3cml0ZSB0byBcIiVzXCIgKHdyaXR0ZW4gJXpkLCBleHBlY3RlZCAlemQpXG4iCittc2dzdHIgImJlZmVqZXpldGxlbiDDrXLDoXMgYSBrw7Z2ZXRrZXrFkWJlOiDigJ4lc+KAnSAoa2nDrXJ2YTogJWxkLCB2w6FydDogJWxkKVxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2ggKGxpbWl0IG9mIGlub3RpZnkgd2F0Y2hlcyB3YXMgcmVhY2hlZCkuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxOTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uXSA8ZmlsZT5cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMDAKK21zZ2lkICJGb2xsb3cgdGhlIGdyb3d0aCBvZiBhIGxvZyBmaWxlLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLWxpbmVzIDxudW1iZXI+ICAgb3V0cHV0IHRoZSBsYXN0IDxudW1iZXI+IGxpbmVzXG4iCittc2dzdHIgIkFkamEgbWVnIGEgY2lsaW5kZXJlayBzesOhbcOhdDogIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjA0CisjLCBmdXp6eQorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICAgIHNhbWUgYXMgJy1uIDxudW1iZXI+J1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjEwCittc2dpZCAiV2FybmluZzogdXNlIG9mICd0YWlsZicgaXMgZGVwcmVjYXRlZCwgdXNlICd0YWlsIC1mJyBpbnN0ZWFkLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMjMgdGV4dC11dGlscy90YWlsZi5jOjI2MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGxpbmVzIgorbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjI3NQorIywgZnV6enkKK21zZ2lkICJubyBpbnB1dCBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAiQSDigJ4tLWRhdGXigJ0ga2FwY3NvbMOzIG5pbmNzIG1lZ2FkdmEuXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBmaWxlIgorbXNnc3RyICJhIGd5w7Zrw6lyIGlub2RlIG5lbSBrw7ZueXZ0w6FyIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gLi4uXVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogdGV4dC11dGlscy91bC5jOjEzOQorbXNnaWQgIkRvIHVuZGVybGluaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDIKK21zZ2lkICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDMKK21zZ2lkICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMDQKK21zZ2lkICJ0cm91YmxlIHJlYWRpbmcgdGVybWluZm8iCittc2dzdHIgImhpYmEgYSB0ZXJtaW5mbyBvbHZhc8Ohc2Frb3IiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgYCVzJyBpcyBub3Qga25vd24sIGRlZmF1bHRpbmcgdG8gYGR1bWInIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZXNjYXBlIHNlcXVlbmNlIGluIGlucHV0OiAlbywgJW8iCittc2dzdHIgIklzbWVyZXRsZW4gZXNjYXBlLXNvcm96YXQgYSBiZW1lbmV0YmVuOiAlbywgJW9cbiIKKworIzogdGV4dC11dGlscy91bC5jOjYyNAorIywgZnV6enkKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAiQSBiZW1lbmV0aSBzb3IgdMO6bCBob3NzesO6LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIHVzZSB0aGUgSGFyZHdhcmUgQ2xvY2suIgorI34gbXNnc3RyICJFbG7DqXrDqXN0LCBjc2FrIGEgcmVuZHN6ZXJnYXpkYSBtw7Nkb3PDrXRoYXRqYSBhIGhhcmR2ZXLDs3LDoXQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgc2VjY29tcCBjb250ZXh0IgorI34gbXNnc3RyICJOZW0gZm9nbGFsaGF0w7MgbGUgcHVmZmVydC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gYWRkIHNlY2NvbXAgcnVsZSIKKyN+IG1zZ3N0ciAiQSh6KSAlcyBuZW0gb2x2YXNoYXTDs1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBsb2FkIHNlY2NvbXAgcnVsZSIKKyN+IG1zZ3N0ciAiQSh6KSAlcyBuZW0gb2x2YXNoYXTDs1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZpbGVzeXN0ZW0gbGFiZWw6IgorI34gbXNnc3RyICJBZGphIG1lZyBhIGbDoWpscmVuZHN6ZXIgdMOtcHVzw6F0OiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHNldCBQQVRIIgorI34gbXNnc3RyICIlcyBuZW0gw6lyaGV0xZEgZWwiCisKKyN+IG1zZ2lkICJleHBlY3RlZCBhIG51bWJlciwgYnV0IGdvdCAnJXMnIgorI34gbXNnc3RyICJhIHbDoXJ0IHN6w6FtIGhlbHlldHQg4oCeJXPigJ0gdGFsw6FsaGF0w7MiCisKKyN+IG1zZ2lkICJkaXZpc29yICclcyciCisjfiBtc2dzdHIgIuKAniVz4oCdIGVsdsOhbGFzenTDsyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJhcmd1bWVudCBlcnJvcjogJXMiCisjfiBtc2dzdHIgIiVzOiBQYXJhbcOpdGVyaGliYSwgaGFzem7DoWxhdDpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0dHkgcGF0aCAlcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiQSBiZW1lbmV0aSBzb3IgdMO6bCBob3NzesO6LlxuIgorCisjfiBtc2dpZCAiYmFkIHRpbWVvdXQgdmFsdWU6ICVzIgorI34gbXNnc3RyICJoaWLDoXMgaWTFkWtvcmzDoXTDqXJ0w6lrOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCIKKyN+IG1zZ3N0ciAiYXogZWxzxZEgc29yIHV0w6FuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvcjogaWdub3JlIGVudHJ5IGF0IGxpbmUgJWQuIgorI34gbXNnc3RyICJheiBlbHPFkSBzb3IgdXTDoW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG5vdCBzZXR1cCB0aW1lciIKKyN+IG1zZ3N0ciAiYSBjc29wb3J0YXpvbm9zw610w7MgbmVtIMOhbGzDrXRoYXTDsyBiZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzYW1lIgorI34gbXNnc3RyICJOw6l2IgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBhY2Nlc3MgZmlsZSAlcyIKKyN+IG1zZ3N0ciAiTmVtIG55aXRoYXTDsyBtZWcgYSh6KSDigJ4lc+KAnSBmw6FqbCIKKworI34gbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIHNwZWNpYWwgZGV2aWNlIgorI34gbXNnc3RyICJhKHopICVzIG5lbSBlZ3kgc3BlY2nDoWxpcyBibG9ra29zIGVzemvDtnoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGRldmljZSBpcyBtaXNhbGlnbmVkIgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlcyBmb2dsYWx0IgorCisjfiBtc2dpZCAiT1MvMiBoaWRkZW4gQzogZHJpdmUiCisjfiBtc2dzdHIgIk9TLzIgcmVqdGV0dCBDOiBtZWdoYWp0w7MiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgZGV2aWNlIHBhdGgiCisjfiBtc2dzdHIgIm5lbSBsZWhldCB2aXNzemHDoWxsw610YW5pIGEgbGFwb3rDs3RlcsO8bGV0LWVzemvDtnp0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmtub3duIGRldmljZSBuYW1lIgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlcyBlc3prw7Z6IGlzbWVyZXRsZW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgZG0gbmFtZSIKKyN+IG1zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgIC4lMDZkIHNlY29uZHNcbiIKKyN+IG1zZ3N0ciAiJXMgICUuNmYgbcOhc29kcGVyY1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhZ2VzIgorI34gbXNnc3RyICLDvHplbmV0ZWsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlZlcnkgbG9uZyAoJXp1IGJ5dGVzKSBmaWxlbmFtZSBgJXMnIGZvdW5kLlxuIgorI34gIiBQbGVhc2UgaW5jcmVhc2UgTUFYX0lOUFVUX05BTUVMRU4gaW4gbWtjcmFtZnMuYyBhbmQgcmVjb21waWxlLiAgRXhpdGluZy4iCisjfiBtc2dzdHIgIiIKKyN+ICJOYWd5b24gKCV6dSBiw6FqdCkgaG9zc3rDuiBmw6FqbG7DqXY6IOKAniVz4oCdLlxuIgorI34gIk7DtnZlbGplIGEgTUFYX0lOUFVUX05BTUVMRU4gw6lydMOpa2V0IGF6IG1rY3JhbWZzLmMtYmVuIMOpcyBmb3Jkw610c2Egw7pqcmEuIEtpbMOpcMOpcy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAibmVtIGxlaGV0IHB1ZmZlcnQgbGVmb2dsYWxuaSBhIHN6dXBlcmJsb2trbmFrIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVycyBmb3IgbWFwcyIKKyN+IG1zZ3N0ciAibmVtIGxlaGV0IHB1ZmZlcmVrZXQgbGVmb2dsYWxuaSBhIHTDqXJrw6lwZWtuZWsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKKyN+IG1zZ3N0ciAibmVtIGxlaGV0IHB1ZmZlcmVrZXQgbGVmb2dsYWxuaSBheiBpbm9kZS1va25hayIKKworIywgZnV6enkKKyN+IG1zZ2lkICJOdW1iZXIgb2YgU2VtYXBob3JlIElEcyIKKyN+IG1zZ3N0ciAiU3pla3Rvcm9rIHN6w6FtYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1jIHwgLWwgZmlsZW5hbWVdIFstblhYXSBbLWlYWF0gL2Rldi9uYW1lIFtibG9ja3NdIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBbLWMgfCAtbCBmw6FqbG7DqXZdIFstblhYXSBbLWlYWF0gL2Rldi9uw6l2IFtibG9ra29rXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBiYWQgaW5vZGUgc2l6ZSIKKyN+IG1zZ3N0ciAiaGliw6FzIGlub2RlIG3DqXJldCIKKworI34gbXNnaWQgIndpbGwgbm90IHRyeSB0byBtYWtlIGZpbGVzeXN0ZW0gb24gJyVzJyIKKyN+IG1zZ3N0ciAiYSh6KSDigJ4lc+KAnSBlc3prw7Z6w7ZuIG5lbSB0w7ZydMOpbmlrIGvDrXPDqXJsZXQgYSBmw6FqbHJlbmRzemVyIGzDqXRyZWhvesOhc8OhcmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHlwZTogJWQiCisjfiBtc2dzdHIgInTDrXB1czogJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJkaXNrOiAlLipzIgorI34gbXNnc3RyICJsZW1lejogJS4qc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxhYmVsOiAlLipzIgorI34gbXNnc3RyICJjw61ta2U6ICUuKnNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmbGFnczogJXMiCisjfiBtc2dzdHIgImplbHrFkWs6IgorCisjLCBmdXp6eQorI34gbXNnaWQgImJ5dGVzL3NlY3RvcjogJWxkIgorI34gbXNnc3RyICJzemVrdG9yb25rw6ludGkgYsOhanRvazogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VjdG9ycy90cmFjazogJWxkIgorI34gbXNnc3RyICJzw6F2b25rw6ludGkgc3pla3Rvcm9rOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmFja3MvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAiY2lsaW5kZXJlbmvDqW50aSBzw6F2b2s6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlY3RvcnMvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAiY2lsaW5kZXJlbmvDqW50aSBzemVrdG9yb2s6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImN5bGluZGVyczogJWxkIgorI34gbXNnc3RyICJjaWxpbmRlcmVrOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJycG06ICVkIgorI34gbXNnc3RyICJmb3JkdWxhdHN6w6FtOiAlZFxuIgorCisjIGZpeG1lOiB2YWxhbWkgw6lydGVsbWVzZXQKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW50ZXJsZWF2ZTogJWQiCisjfiBtc2dzdHIgIsOhdHJlbmRlesOpczogJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmFja3NrZXc6ICVkIgorI34gbXNnc3RyICJzw6F2ZMO2bnTDqXM6ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3lsaW5kZXJza2V3OiAlZCIKKyN+IG1zZ3N0ciAiY2lsaW5kZXJkw7ZudMOpczogJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJoZWFkc3dpdGNoOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgImZlanbDoWx0w6FzOiAlbGRcdFx0IyBlenJlZG3DoXNvZHBlcmNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmFjay10by10cmFjayBzZWVrOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgInPDoXZyw7NsIHPDoXZyYSBwb3ppY2lvbsOhbMOhczogJWxkXHQgZXpyZWRtw6Fzb2RwZXJjXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uczogJWQiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlZCBwYXJ0w61jacOzOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIllvdSBjYW5ub3QgY2hhbmdlIGEgcGFydGl0aW9uIGludG8gYW4gZXh0ZW5kZWQgb25lIG9yIHZpY2UgdmVyc2EuIERlbGV0ZSBpdCBmaXJzdC4iCisjfiBtc2dzdHIgIiIKKyN+ICJBIHBhcnTDrWNpw7N0IG5lbSB2w6FsdG96dGF0aGF0w7Mga2l0ZXJqZXN6dGV0dCBwYXJ0w61jacOzdsOhIHZhZ3kgdmlzc3phXG4iCisjfiAiRWzFkXN6w7ZyIHTDtnLDtmxqZSBsZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiTGFiZWwgZ2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnNcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWxsdSBjeWxpbmRlcnMsICVkIHBoeXNpY2FsIGN5bGluZGVyc1xuIgorI34gIiAgICAgICAgICAgICAgICAlZCBleHRyYSBzZWN0cy9jeWwsIGludGVybGVhdmUgJWQ6MVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiJXMgbGVtZXogKFNHSSBsZW1lemPDrW1rZSk6ICVkIGZlaiwgJWxsdSBzemVrdG9yXG4iCisjfiAiJWQgY2lsaW5kZXIsICVkIGZpemlrYWkgY2lsaW5kZXJcbiIKKyN+ICIlZCBleHRyYSBzemVrdC9jaWwsIMOhdHJlbmRlesOpczogJWQ6MVxuIgorI34gIiVzXG4iCisjfiAiRWd5c8OpZyA9ICVzLCDDtnNzemVzZW4gJWQgKiAlZCBiw6FqdFxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIjxub25lPiIKKyN+IG1zZ3N0ciAibmluY3MiCisKKyN+IG1zZ2lkICJnZXR0aW1lb2ZkYXkgZmFpbGVkIgorI34gbXNnc3RyICJhIGdldHRpbWVvZmRheSBow612w6FzIG1lZ2hpw7pzdWx0IgorCisjLCBmdXp6eQorI34gbXNnaWQgInN5c2luZm8gZmFpbGVkIgorI34gbXNnc3RyICJheiBmc3luYyBtZWdoacO6c3VsdCIKKworI34gbXNnaWQgInVzYWdlOiBsYXN0IFstI10gWy1mIGZpbGVdIFstdCB0dHldIFstaCBob3N0bmFtZV0gW3VzZXIgLi4uXVxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiBsYXN0IFstI10gWy1mIGbDoWpsXSBbLXQgdGVybWluw6FsXSBbLWggZ8OpcG7DqXZdIFtmZWxoYXN6bsOhbMOzIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogbW1hcCBmYWlsZWQiCisjfiBtc2dzdHIgIiVzIG1lZ2hpw7pzdWx0LlxuIgorCisjfiBtc2dpZCAiICBzdGlsbCBsb2dnZWQgaW4iCisjfiBtc2dzdHIgIiAgYmVqZWxlbnRrZXp2ZSIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJ3dG1wIGJlZ2lucyAlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gInd0bXAga2V6ZGV0ZTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZ2V0aG9zdG5hbWUgZmFpbGVkIgorI34gbXNnc3RyICJoaWJhOiBheiBVVUlEIGZlbGRvbGdvesOhcyBtZWdoacO6c3VsdCIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJpbnRlcnJ1cHRlZCAlMTAuMTBzICU1LjVzIFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAibWVnc3pha8OtdHZhOiAlMTAuMTBzICU1LjVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWF1dG8vLWEgb3B0aW9uIgorI34gbXNnc3RyICLDqXJ2w6lueXRlbGVuIGF6b25vc8OtdMOzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIGNoYW5nZSB0aGUgU3lzdGVtIENsb2NrLiIKKyN+IG1zZ3N0ciAiRWxuw6l6w6lzdCwgY3NhayBhIHJlbmRzemVyZ2F6ZGEgbcOzZG9zw610aGF0amEgYSByZW5kc3plcsOzcsOhdC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiBjaGFuZ2UgdGhlIEhhcmR3YXJlIENsb2NrIGVwb2NoIGluIHRoZSBrZXJuZWwuIgorI34gbXNnc3RyICJFbG7DqXrDqXN0LCBjc2FrIGEgcmVuZHN6ZXJnYXpkYSBtw7Nkb3PDrXRoYXRqYSBhIGhhcmR2ZXLDs3JhIGVwb2NoIMOpcnTDqWvDqXQgYSByZW5kc3plcm1hZ2Jhbi5cbiIKKworI34gbXNnaWQgInJlYWQoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKKyN+IG1zZ3N0ciAiYSByZWFkKCkgJXMgaMOtdsOhcyBheiDDs3Jhw7x0w6lzcmUgdsOhcmFrb3rDoXNob3ogbWVnaGnDunN1bHQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2V0IHJ0YyBhbGFybSBmYWlsZWQiCisjfiBtc2dzdHIgInJ0YyByaWFzenTDoXMgYmXDoWxsw610w6FzYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlbmFibGUgcnRjIGFsYXJtIGZhaWxlZCIKKyN+IG1zZ3N0ciAicnRjIHJpYXN6dMOhcyBlbmdlZMOpbHllesOpc2UiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIHZhbHVlIgorI34gbXNnc3RyICJoaWLDoXMgaWTFkWtvcmzDoXTDqXJ0w6lrOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW0sIC0tbW91bnQgICAgICAgICAgICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXUsIC0tdXRzICAgICAgICAgICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWksIC0taXBjICAgICAgICAgICAgICAgICB1bnNoYXJlIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW4sIC0tbmV0ICAgICAgICAgICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1VLCAtLXVzZXIgICAgICAgICAgICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlbSIKKyN+IG1zZ3N0ciAiYSh6KSAlcyBuZW0gbnlpdGhhdMOzIG1lZyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmcmVhZCBmYWlsZWQiCisjfiBtc2dzdHIgImF6IG9sdmFzw6FzIG1lZ2hpw7pzdWx0OiAlcyIKKworI34gbXNnaWQgIkhlbHAgU2NyZWVuIGZvciBjZmRpc2siCisjfiBtc2dzdHIgIkEgY2ZkaXNrIHPDumfDs2phIgorCisjfiBtc2dpZCAiZGlzayBkcml2ZS4iCisjfiBtc2dzdHIgIm1lcmV2bGVtZXplbi4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgYG5vJyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIHZhZ3kg4oCebmVt4oCdIGJlw61yw6Fzw6F2YWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVG9vIHNtYWxsIHBhcnRpdGlvbiBzaXplIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIk5pbmNzZW5layBwYXJ0w61jacOzayBtZWdhZHZhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3RhdCBmYWlsZWQgJXMiCisjfiBtc2dzdHIgImF6IGVsw6lyw6lzIG1lZ2hpw7pzdWx0OiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZCB0byBhbGxvY2F0ZSBpdGVyYXRvciIKKyN+IG1zZ3N0ciAibmVtIGZvZ2xhbGhhdMOzIGxlIGtpbWVuZXRpIHB1ZmZlciIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbjogJXMiCisjfiBtc2dzdHIgImEoeikgJXMgbmVtIG55aXRoYXTDsyBtZWciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHN0YXQgZmFpbGVkIgorI34gbXNnc3RyICIlcyBtZWdoacO6c3VsdC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogbHN0YXQgZmFpbGVkIgorI34gbXNnc3RyICIlcyBtZWdoacO6c3VsdC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJQbGVhc2UsIHNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGRpc2sgbGFiZWwuIgorI34gbXNnc3RyICJMw6l0cmUgYWthciBob3puaSBsZW1lemPDrW1rw6l0PyAoaS9uKSAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVHlwZSBvZiB0aGUgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorI34gbXNnc3RyICJBKHopICVkLiBwYXJ0w61jacOzIHJlbmRzemVydMOtcHVzYSB2w6FsdG96YXRsYW46ICV4ICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGZpbGVcbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6XG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBta2ZzKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgdGVraW50c2UgbWVnIGEgc2V0YXJjaCg4KSBrw6l6aWvDtm55dm9sZGFsdC5cbiIKKworI34gbXNnaWQgIiVzICglcylcbiIKKyN+IG1zZ3N0ciAiJXMgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJhZCBzd2FwIGhlYWRlciBzaXplLCBubyBsYWJlbCB3cml0dGVuLiIKKyN+IG1zZ3N0ciAiQSBzd2FwIGZlamzDqWNtw6lyZXRlIGhpYsOhcywgbmVtIGtlcsO8bHQga2nDrXLDoXNyYSBjw61ta2UuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyAtIGNhbm5vdCBzZWVrIHRvICVsdSIKKyN+IG1zZ3N0ciAicG96aWNpb27DoWzDoXNpIGhpYmEgYSh6KSAlcyBlc3prw7Z6w7ZuIC0gbmVtIGxlaGV0IGEoeikgJWx1IGhlbHlyZSBwb3ppY2lvbsOhbG5pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBlcnJvcjogd2FudGVkIDB4JTA4eCUwOHgsIGdvdCAweCUwOHglMDh4IgorI34gbXNnc3RyICJwb3ppY2lvbsOhbMOhc2kgaGliYTogYSB2w6FydCAweCUwOHglMDh4IGhlbHlldHQgMHglMDh4JTA4eCDDqXJrZXpldHRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZWFkIGVycm9yIG9uICVzIC0gY2Fubm90IHJlYWQgc2VjdG9yICVsbHUiCisjfiBtc2dzdHIgIm9sdmFzw6FzaSBoaWJhIGEoeikgJXMgZXN6a8O2esO2biAtIGEoeikgJWx1LiBzemVrdG9yIG5lbSBvbHZhc2hhdMOzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZXJyb3Igb24gJXMgLSBjYW5ub3Qgd3JpdGUgc2VjdG9yICVsbHUiCisjfiBtc2dzdHIgIsOtcsOhc2kgaGliYSBhKHopICVzIGVzemvDtnrDtm4gLSBuZW0gbGVoZXQgw61ybmkgYSh6KSAlbHUuIHN6ZWt0b3JyYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuIHBhcnRpdGlvbiBzZWN0b3Igc2F2ZSBmaWxlICglcykiCisjfiBtc2dzdHIgIm5lbSBueWl0aGF0w7MgbWVnIGEgcGFydMOtY2nDsyBzemVrdG9ybWVudMOpcyBmw6FqbGphICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyIKKyN+IG1zZ3N0ciAiw61yw6FzaSBoaWJhIGEoeikgJXMgZXN6a8O2esO2blxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzdGF0IHBhcnRpdGlvbiByZXN0b3JlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAibmVtIMOpcmhldMWRIGVsIGEgcGFydMOtY2nDsyB2aXNzemHDoWxsw610w7Nmw6FqbGphICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gcmVzdG9yZSBmaWxlIGhhcyB3cm9uZyBzaXplIC0gbm90IHJlc3RvcmluZyIKKyN+IG1zZ3N0ciAiYSBwYXJ0w61jacOzIHZpc3N6YcOhbGzDrXTDs2bDoWpsasOhbmFrIG3DqXJldGUgaGliw6FzIC0gbmVtIGtlcsO8bCB2aXNzemHDoWxsw610w6FzcmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcykiCisjfiBtc2dzdHIgImEgcGFydMOtY2nDsyB2aXNzemHDoWxsw610w7Nmw6FqbGphIG5lbSBueWl0aGF0w7MgbWVnICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciByZWFkaW5nICVzIgorI34gbXNnc3RyICJoaWJhIGEoeikgJXMgb2x2YXPDoXNha29yXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gZGV2aWNlICVzIGZvciB3cml0aW5nIgorI34gbXNnc3RyICJhKHopICVzIGVzemvDtnogbmVtIG55aXRoYXTDsyBtZWcgw61yw6FzcmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciB3cml0aW5nIHNlY3RvciAlbHUgb24gJXMiCisjfiBtc2dzdHIgImhpYmEgYSh6KSAlbHUuIHN6ZWt0b3Igw61yw6FzYSBrw7Z6YmVuIGEoeikgJXMgZXN6a8O2esO2blxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkRpc2sgJXM6IGNhbm5vdCBnZXQgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIiVzIGxlbWV6OiBuZW0ga8OpcmhldMWRIGxlIGEgZ2VvbWV0cmlhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBzaXplIgorI34gbXNnc3RyICIlcyBsZW1lejogbmVtIGvDqXJoZXTFkSBsZSBhIG3DqXJldFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzdGFydD0lbHUgLSB0aGlzIGxvb2tzIGxpa2UgYSBwYXJ0aXRpb24gcmF0aGVyIHRoYW5cbiIKKyN+ICJ0aGUgZW50aXJlIGRpc2suIFVzaW5nIGZkaXNrIG9uIGl0IGlzIHByb2JhYmx5IG1lYW5pbmdsZXNzLlxuIgorI34gIltVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIGlmIHlvdSByZWFsbHkgd2FudCB0aGlzXSIKKyN+IG1zZ3N0ciAiIgorI34gIkZpZ3llbG1lenRldMOpczogS2V6ZMOpcz0lbHUgLSBleiBwYXJ0w61jacOzbmFrIHTFsW5payDDqXMgbmVtIGEgdGVsamVzXG4iCisjfiAibGVtZXpuZWsuIEF6IGZkaXNrIGhhc3puw6FsYXRhIHZhbMOzc3rDrW7FsWxlZyDDqXJ0ZWxtZXRsZW4uIFtIYSB2YWzDs2JhblxuIgorI34gImV6dCBha2FyamEsIGFra29yIGEgLS1mb3JjZSBrYXBjc29sw7N2YWwgdGVoZXRpIG1lZ11cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBIRElPX0dFVEdFTyBzYXlzIHRoYXQgdGhlcmUgYXJlICVsdSBoZWFkcyIKKyN+IG1zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhIEhESU9fR0VUR0VPICVsdSBmZWogamVsZW5sw6l0w6l0w6l0IGplbHppXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhIEhESU9fR0VUR0VPICVsdSBzemVrdG9yIGplbGVubMOpdMOpdMOpdCBqZWx6aVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IEJMS0dFVFNJWkUvSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgY3lsaW5kZXJzIgorI34gbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6IGEgQkxLR0VUU0laRS9IRElPX0dFVEdFTyAlbHUgY2lsaW5kZXIgamVsZW5sw6l0w6l0w6l0IGplbHppXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHVubGlrZWx5IG51bWJlciBvZiBzZWN0b3JzICglbHUpIC0gdXN1YWxseSBhdCBtb3N0IDYzXG4iCisjfiAiVGhpcyB3aWxsIGdpdmUgcHJvYmxlbXMgd2l0aCBhbGwgc29mdHdhcmUgdGhhdCB1c2VzIEMvSC9TIGFkZHJlc3NpbmcuIgorI34gbXNnc3RyICIiCisjfiAiRmlneWVsbWV6dGV0w6lzOiBhIHN6ZWt0b3JvayBzesOhbWEgKCVsdSkgdmFsw7NzesOtbsWxdGxlbiAtIMOhbHRhbMOhYmFuXG4iCisjfiAibGVnZmVsamViYiA2My4gRXogYSBwcm9ibMOpbcOha2F0IGZvZyBva296bmkgYXogw7Zzc3plcyBDL0gvUyBjw61tesOpc3RcbiIKKyN+ICJoYXN6bsOhbMOzIHN6b2Z0dmVyYmVuLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsdSBjeWxpbmRlcnMsICVsdSBoZWFkcywgJWx1IHNlY3RvcnMvdHJhY2tcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIiVzIGxlbWV6OiAlbHUgY2lsaW5kZXIsICVsdSBmZWosICVsdSBzemVrdG9yIHPDoXZvbmvDqW50XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBoZWFkOiAlbHUgKHNob3VsZCBiZSBpbiAwLSVsdSkiCisjfiBtc2dzdHIgIkEoeikgJCUycyBwYXJ0w61jacOzICQlMXMgw6lydMOpa2UgbGVoZXRldGxlbiBmZWpzesOhbW90IGFkIG1lZzogJCUzbHUgKDAtJCU0bHUga8O2esO2dHQga2VsbGVuZSBsZW5uaWUpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBzZWN0b3I6ICVsdSAoc2hvdWxkIGJlIGluIDEtJWx1KSIKKyN+IG1zZ3N0ciAiQSh6KSAkJTJzIHBhcnTDrWNpw7MgJCUxcyDDqXJ0w6lrZSBsZWhldGV0bGVuIHN6ZWt0b3JzesOhbW90IGFkIG1lZzogJCUzbHUgKDAtJCU0bHUga8O2esO2dHQga2VsbGVuZSBsZW5uaWUpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBjeWxpbmRlcnM6ICVsdSAoc2hvdWxkIGJlIGluIDAtJWx1KSIKKyN+IG1zZ3N0ciAiQSh6KSAkJTJzIHBhcnTDrWNpw7MgJCUxcyDDqXJ0w6lrZSBsZWhldGV0bGVuIGNpbGluZGVyc3rDoW1vdCBhZCBtZWc6ICQlM2x1ICgwLSQlNGx1IGvDtnrDtnR0IGtlbGxlbmUgbGVubmllKVxuIgorCisjfiBtc2dpZCAiUmUtcmVhZGluZyB0aGUgcGFydGl0aW9uIHRhYmxlIC4uLlxuIgorI34gbXNnc3RyICJBIHBhcnTDrWNpw7NzIHTDoWJsYSDDumpyYW9sdmFzw6FzYSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGNvbW1hbmQgdG8gcmUtcmVhZCB0aGUgcGFydGl0aW9uIHRhYmxlIGZhaWxlZC5cbiIKKyN+ICJSdW4gcGFydHByb2JlKDgpLCBrcGFydHgoOCkgb3IgcmVib290IHlvdXIgc3lzdGVtIG5vdyxcbiIKKyN+ICJiZWZvcmUgdXNpbmcgbWtmcyIKKyN+IG1zZ3N0ciAiIgorI34gIkEgcGFydMOtY2nDs3MgdMOhYmxhIMO6anJhb2x2YXPDoXMgcGFyYW5jc2EgbWVnaGnDunN1bHRcbiIKKyN+ICJJbmTDrXRzYSDDumpyYSBtb3N0IGEgcmVuZHN6ZXJ0IGF6IG1rZnMgaGFzem7DoWxhdGEgZWzFkXR0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXJyb3IgY2xvc2luZyAlcyIKKyN+IG1zZ3N0ciAiSGliYSBhKHopICVzIGxlesOhcsOhc2Frb3JcbiIKKworI34gbXNnaWQgIiVzOiBubyBzdWNoIHBhcnRpdGlvblxuIgorI34gbXNnc3RyICIlczogbmluY3MgaWx5ZW4gcGFydMOtY2nDs1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVucmVjb2duaXplZCBmb3JtYXQgLSB1c2luZyBzZWN0b3JzIgorI34gbXNnc3RyICJpc21lcmV0bGVuIGZvcm3DoXR1bSAtIGEgc3pla3Rvcm9rIGtlcsO8bG5layBmZWxoYXN6bsOhbMOhc3JhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5pbXBsZW1lbnRlZCBmb3JtYXQgLSB1c2luZyAlcyIKKyN+IG1zZ3N0ciAibWVndmFsw7Nzw610YXRsYW4gZm9ybcOhdHVtIC0gYSh6KSAlcyBrZXLDvGwgZmVsaGFzem7DoWzDoXNyYVxuIgorCisjfiBtc2dpZCAic2VjdG9ycyIKKyN+IG1zZ3N0ciAic3pla3Rvcm9rIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVbml0czogY3lsaW5kZXJzIG9mICVsdSBieXRlcywgYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkVneXPDqWcgPSAlbHUgYsOhanRvcyBjaWxpbmRlcmVrLCAxMDI0IGLDoWp0b3MgYmxva2tvaywga2V6ZMWRc29yc3rDoW06ICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCBTdGFydCAgICAgRW5kICAgI2N5bHMgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICBFc3prw7Z6IEluZMOtdMOhcyBLZXpkZXQgVsOpZ2UgICAgI2NpbGwgICAgI2Jsb2trICAgQXogIFJlbmRzemVyXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiBzZWN0b3JzIG9mIDUxMiBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiRWd5c8OpZyA9IDUxMiBiw6FqdG9zIHN6ZWt0b3Jvaywga2V6ZMWRc29yc3rDoW06ICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgICBTdGFydCAgICAgICBFbmQgICAjc2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgIEVzemvDtnogSW5kw610w6FzIEtlemRldCAgICAgIFbDqWdlICAgI3N6ZWt0b3IgIEF6IFJlbmRzemVyXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiRWd5c8OpZyA9IDEwMjQgYsOhanRvcyBibG9ra29rLCBrZXpkxZFzb3JzesOhbTogJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290ICAgU3RhcnQgICAgICAgRW5kICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiAgRXN6a8O2eiBJbmTDrXTDoXMgIEtlemRldCAgICBWw6lnZSAgICAgI2Jsb2trICAgQXogIFJlbmRzemVyXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiAxTWlCID0gMTAyNCoxMDI0IGJ5dGVzLCBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiRWd5c8OpZyA9IDEwNDg1NzYgYsOhanRvcyBtZWJpYsOhanQsIDEwMjQgYsOhanRvcyBibG9ra29rLCBrZXpkxZFzb3JzesOhbTogJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290IFN0YXJ0ICAgRW5kICAgIE1pQiAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICJFc3prw7Z6IEluZMOtdMOhcyBLZXpkZXQgVsOpZ2UgICAgTWlCICAgI2Jsb2trb2sgICBBeiAgUmVuZHN6ZXJcbiIKKworI34gbXNnaWQgIlx0XHRzdGFydDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiXHRcdGtlemRldDogKGMsaCxzKSB2w6FydDogKCVsZCwlbGQsJWxkKSB0YWzDoWx0OiAoJWxkLCVsZCwlbGQpXG4iCisKKyN+IG1zZ2lkICJcdFx0ZW5kOiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICJcdFx0dsOpZ2U6IChjLGgscykgdsOhcnQ6ICglbGQsJWxkLCVsZCkgdGFsw6FsdDogKCVsZCwlbGQsJWxkKVxuIgorCisjfiBtc2dpZCAicGFydGl0aW9uIGVuZHMgb24gY3lsaW5kZXIgJWxkLCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZGlza1xuIgorI34gbXNnc3RyICJhIHBhcnTDrWNpw7MgYSh6KSAlbGQgY2lsaW5kZXJlbiB2w6lnesWRZGlrLCBhIGxlbWV6IHbDqWdlIHV0w6FuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IFRoZSBwYXJ0aXRpb24gdGFibGUgbG9va3MgbGlrZSBpdCB3YXMgbWFkZVxuIgorI34gIiAgZm9yIEMvSC9TPSovJWxkLyVsZCAoaW5zdGVhZCBvZiAlbGQvJWxkLyVsZCkuXG4iCisjfiAiRm9yIHRoaXMgbGlzdGluZyBJJ2xsIGFzc3VtZSB0aGF0IGdlb21ldHJ5LiIKKyN+IG1zZ3N0ciAiIgorI34gIkZpZ3llbG1lenRldMOpczogw5pneSB0xbFuaWssIGEgcGFydMOtY2nDs3MgdMOhYmxhIGFcbiIKKyN+ICIgIEMvSC9TPSovJWxkLyVsZCDDqXJ0w6lrZWtoZXoga8Opc3rDvGx0ICglbGQvJWxkLyVsZCBoZWx5ZXR0KS5cbiIKKyN+ICJFaGhleiBhIGxpc3TDoWhveiBleiBsZXN6IGEgZmVsdMOpdGVsZXpldHQgZ2VvbWV0cmlhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5vIHBhcnRpdGlvbiB0YWJsZSBwcmVzZW50LiIKKyN+IG1zZ3N0ciAibmluY3MgamVsZW4gcGFydMOtY2nDs3MgdMOhYmxhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInN0cmFuZ2UsIG9ubHkgJWQgcGFydGl0aW9ucyBkZWZpbmVkLiIKKyN+IG1zZ3N0ciAiZnVyY3NhLCBjc2FrICVkIHBhcnTDrWNpw7MgdmFuIG1lZ2FkdmEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYnV0IGlzIG5vdCBtYXJrZWQgRW1wdHkiCisjfiBtc2dzdHIgIkZpZ3llbG1lenRldMOpczogYSh6KSAlcyBwYXJ0w61jacOzIG3DqXJldGUgMCwgZGUgbmluY3Mgw7xyZXNrw6ludCBtZWdqZWzDtmx2ZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGFuZCBpcyBib290YWJsZSIKKyN+IG1zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhKHopICVzIHBhcnTDrWNpw7MgbcOpcmV0ZSAwIMOpcyBpbmTDrXRoYXTDs1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGFuZCBub256ZXJvIHN0YXJ0IgorI34gbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6IGEoeikgJXMgcGFydMOtY2nDsyBtw6lyZXRlIDAgw6lzIG5lbSBudWxsw6Fyw7NsIGluZHVsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGlzIG5vdCBjb250YWluZWQgaW4gcGFydGl0aW9uICVzIgorI34gbXNnc3RyICJuZW0gcsOpc3plIGEoeikgJXMgcGFydMOtY2nDs25ha1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbnMgJXMgYW5kICVzIG92ZXJsYXAiCisjfiBtc2dzdHIgIkZpZ3llbG1lenRldMOpczogYSh6KSAlZC4gcGFydMOtY2nDsyDDvHJlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgY29udGFpbnMgcGFydCBvZiB0aGUgcGFydGl0aW9uIHRhYmxlIChzZWN0b3IgJWxsdSksXG4iCisjfiAiYW5kIHdpbGwgZGVzdHJveSBpdCB3aGVuIGZpbGxlZCIKKyN+IG1zZ3N0ciAiIgorI34gIkZpZ3llbG1lenRldMOpczogYSh6KSAlcyB0YXJ0YWxtYXp6YSBhIHBhcnTDrWNpw7NzIHTDoWJsYSBlZ3kgcsOpc3rDqXRcbiIKKyN+ICIoJWx1LiBzemVrdG9yKSDDqXMgbWVnc2VtbWlzw610aSBhenQgYSBraXTDtmx0w6lza29yXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIHN0YXJ0cyBhdCBzZWN0b3IgMCIKKyN+IG1zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhKHopICVzIHBhcnTDrWNpw7MgYSAwLiBzemVrdG9ybsOhbCBrZXpkxZFkaWtcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZXh0ZW5kcyBwYXN0IGVuZCBvZiBkaXNrIgorI34gbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6IGEoeikgJXMgcGFydMOtY2nDsyB0w7psbnnDumxpayBhIGxlbWV6ZW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiQW1vbmcgdGhlIHByaW1hcnkgcGFydGl0aW9ucywgYXQgbW9zdCBvbmUgY2FuIGJlIGV4dGVuZGVkXG4iCisjfiAiIChhbHRob3VnaCB0aGlzIGlzIG5vdCBhIHByb2JsZW0gdW5kZXIgTGludXgpIgorI34gbXNnc3RyICIiCisjfiAiQXogZWxzxZFkbGVnZXMgcGFydMOtY2nDs2sga8O2esO8bCBsZWdmZWxqZWJiIGVneSBsZWhldCBraXRlcmplc3p0ZXR0XG4iCisjfiAiKG5vaGEgZXogTGludXggYWxhdHQgbmVtIHByb2Jsw6ltYSlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZG9lcyBub3Qgc3RhcnQgYXQgYSBjeWxpbmRlciBib3VuZGFyeSIKKyN+IG1zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhKHopICVzIHBhcnTDrWNpw7MgbmVtIGNpbGluZGVyaGF0w6Fyb24ga2V6ZMWRZGlrLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBlbmQgYXQgYSBjeWxpbmRlciBib3VuZGFyeSIKKyN+IG1zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhKHopICVzIHBhcnTDrWNpw7MgbmVtIGNpbGluZGVyaGF0w6Fyb24gdsOpZ3rFkWRpay5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogbW9yZSB0aGFuIG9uZSBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLiIKKyN+IG1zZ3N0ciAiIgorI34gIkZpZ3llbG1lenRldMOpczogdMO2YmIgZWxzxZFkbGVnZXMgcGFydMOtY2nDsyB2YW4gaW5kw610aGF0w7Nrw6ludCBtZWdqZWzDtmx2ZS5cbiIKKyN+ICJFeiBuZW0gcHJvYmzDqW1hIGEgTElMTy1uYWssIGRlIGEgRE9TIE1CUiBuZW0gZm9nIGVsaW5kdWxuaSBlcnLFkWwgYSBsZW1lenLFkWwuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHVzdWFsbHkgb25lIGNhbiBib290IGZyb20gcHJpbWFyeSBwYXJ0aXRpb25zIG9ubHlcbiIKKyN+ICJMSUxPIGRpc3JlZ2FyZHMgdGhlIGBib290YWJsZScgZmxhZy4iCisjfiBtc2dzdHIgIiIKKyN+ICJGaWd5ZWxtZXp0ZXTDqXM6IMOhbHRhbMOhYmFuIGNzYWsgZWxzxZFkbGVnZXMgcGFydMOtY2nDs3LDs2wgbGVoZXQgcmVuZHN6ZXJ0XG4iCisjfiAiaW5kw610YW5pLiBBIExJTE8gbmVtIHZlc3ppIGZpZ3llbGVtYmUgYXog4oCeaW5kw610aGF0w7PigJ0gamVsesWRdC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogbm8gcHJpbWFyeSBwYXJ0aXRpb24gaXMgbWFya2VkIGJvb3RhYmxlIChhY3RpdmUpXG4iCisjfiAiVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sIGJ1dCB0aGUgRE9TIE1CUiB3aWxsIG5vdCBib290IHRoaXMgZGlzay4iCisjfiBtc2dzdHIgIiIKKyN+ICJGaWd5ZWxtZXp0ZXTDqXM6IG5lbSBlbHPFkWRsZWdlcyBwYXJ0w61jacOzIHZhbiBtZWdqZWzDtmx2ZSBpbmTDrXRoYXTDs2vDqW50IChha3TDrXYpLlxuIgorI34gIkV6IG5lbSBwcm9ibMOpbWEgYSBMSUxPLW5haywgZGUgYSBET1MgTUJSIG5lbSBmb2cgZWxpbmR1bG5pIGVycsWRbCBhIGxlbWV6csWRbC5cbiIKKworI34gbXNnaWQgInN0YXJ0IgorI34gbXNnc3RyICJrZXpkZXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uICVzOiBzdGFydDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgIiIKKyN+ICIlcyBwYXJ0w61jacOzOiBrZXpkZXRlOiAoYyxoLHMpIGEgdsOhcnQgKCVsZCwlbGQsJWxkKSBoZWx5ZXR0XG4iCisjfiAiKCVsZCwlbGQsJWxkKSB0YWzDoWxoYXTDs1xuIgorCisjfiBtc2dpZCAiZW5kIgorI34gbXNnc3RyICJ2w6lnIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiAlczogZW5kOiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKSIKKyN+IG1zZ3N0ciAiIgorI34gIiVzIHBhcnTDrWNpw7M6IHbDqWdlOiAoYyxoLHMpIGEgdsOhcnQgKCVsZCwlbGQsJWxkKSBoZWx5ZXR0XG4iCisjfiAiKCVsZCwlbGQsJWxkKSB0YWzDoWxoYXTDs1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiAlcyBlbmRzIG9uIGN5bGluZGVyICVsZCwgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGRpc2siCisjfiBtc2dzdHIgImEgcGFydMOtY2nDsyAoJXMpIGEoeikgJWxkLiBjaWxpbmRlcmVuIHbDqWd6xZFkaWssIGEgbGVtZXogdsOpZ2UgZWzFkXR0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHNoaWZ0ZWQgc3RhcnQgb2YgdGhlIGV4dGQgcGFydGl0aW9uIGZyb20gJWxsZCB0byAlbGxkXG4iCisjfiAiKEZvciBsaXN0aW5nIHB1cnBvc2VzIG9ubHkuIERvIG5vdCBjaGFuZ2UgaXRzIGNvbnRlbnRzLikiCisjfiBtc2dzdHIgIiIKKyN+ICJGaWd5ZWxtZXp0ZXTDqXM6IGEga2l0ZXJqZXN6dGV0dCBwYXJ0w61jacOzIGtlemRldGUgZWx0b2x2YTogJWxkIC0+ICVsZFxuIgorI34gIihDc2FrIGtpw61yYXTDoXNob3ouIE5lIHbDoWx0b3p0YXNzYSBtZWcgYSB0YXJ0YWxtw6F0LilcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogZXh0ZW5kZWQgcGFydGl0aW9uIGRvZXMgbm90IHN0YXJ0IGF0IGEgY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiAiRE9TIGFuZCBMaW51eCB3aWxsIGludGVycHJldCB0aGUgY29udGVudHMgZGlmZmVyZW50bHkuIgorI34gbXNnc3RyICIiCisjfiAiRmlneWVsbWV6dGV0w6lzOiBhIGtpdGVyamVzenRldHQgcGFydMOtY2nDsyBuZW0gY2lsaW5kZXJoYXTDoXJuw6FsIGtlemTFkWRpay5cbiIKKyN+ICJBIERPUyDDqXMgTGludXggYSB0YXJ0YWxtw6F0IGVsdMOpcsWRZW4gZm9namEgw6lydGVsbWV6bmkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRVJST1I6IHNlY3RvciAlbGx1IGRvZXMgbm90IGhhdmUgYW4gbXNkb3Mgc2lnbmF0dXJlIgorI34gbXNnc3RyICJISUJBOiBhKHopICVsdS4gc3pla3RvciBuZW0gcmVuZGVsa2V6aWsgbXNkb3MgYWzDocOtcsOhc3NhbFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRvbyBtYW55IHBhcnRpdGlvbnMgLSBpZ25vcmluZyB0aG9zZSBwYXN0IG5yICglenUpIgorI34gbXNnc3RyICJ0w7psIHNvayBwYXJ0w61jacOzIC0gYSh6KSAlZC4gdXTDoW5pYWsgZmlneWVsbWVuIGvDrXbDvGwgbWFyYWRuYWtcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmVlIG9mIHBhcnRpdGlvbnM/IgorI34gbXNnc3RyICJwYXJ0w61jacOzZmE/XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZGV0ZWN0ZWQgRGlzayBNYW5hZ2VyIC0gdW5hYmxlIHRvIGhhbmRsZSB0aGF0IgorI34gbXNnc3RyICJheiDDqXJ6w6lrZWx0IERpc2sgTWFuYWdlciBuZW0ga2V6ZWxoZXTFkVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkRNNiBzaWduYXR1cmUgZm91bmQgLSBnaXZpbmcgdXAiCisjfiBtc2dzdHIgIkRNNiBhbMOhw61yw6FzdCB0YWzDoWxoYXTDsyAtIGZlbGFkb21cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdHJhbmdlLi4uLCBhbiBleHRlbmRlZCBwYXJ0aXRpb24gb2Ygc2l6ZSAwPyIKKyN+IG1zZ3N0ciAiZnVyY3NhLi4uIGEga2l0ZXJqZXN6dGV0dCBwYXJ0w61jacOzIG3DqXJldGUgMD9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdHJhbmdlLi4uLCBhIEJTRCBwYXJ0aXRpb24gb2Ygc2l6ZSAwPyIKKyN+IG1zZ3N0ciAiZnVyY3NhLi4uIGEgQlNEIHBhcnTDrWNpw7MgbcOpcmV0ZSAwP1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIi1uIGZsYWcgd2FzIGdpdmVuOiBOb3RoaW5nIGNoYW5nZWQiCisjfiBtc2dzdHIgIm1lZ2FkdGEgYSAtbiBrYXBjc29sw7N0OiBTZW1taSBzZW0gbcOzZG9zdWx0XG4iCisKKyN+IG1zZ2lkICJGYWlsZWQgc2F2aW5nIHRoZSBvbGQgc2VjdG9ycyAtIGFib3J0aW5nXG4iCisjfiBtc2dzdHIgIk5lbSBzaWtlcsO8bHQgZWxtZW50ZW5pIGEgcsOpZ2kgc3pla3Rvcm9rYXQgLSBtZWdzemFrw610w6FzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmFpbGVkIHdyaXRpbmcgdGhlIHBhcnRpdGlvbiBvbiAlcyIKKyN+IG1zZ3N0ciAiTmVtIHNpa2Vyw7xsdCBhIHBhcnTDrWNpw7Mga2nDrXLDoXNhIGEoeikgJXMgZXN6a8O2esO2blxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxvbmcgb3IgaW5jb21wbGV0ZSBpbnB1dCBsaW5lIC0gcXVpdHRpbmciCisjfiBtc2dzdHIgImhvc3N6w7ogdmFneSBoacOhbnlvcyBiZW1lbmV0aSBzb3IgLSBraWzDqXDDqXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnB1dCBlcnJvcjogYD0nIGV4cGVjdGVkIGFmdGVyICVzIGZpZWxkIgorI34gbXNnc3RyICJiZW1lbmV0aSBoaWJhOiBhKHopICVzIG1lesWRdCDigJ494oCdIGplbG5layBrZWxsZW5lIGvDtnZldG5pZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImlucHV0IGVycm9yOiB1bmV4cGVjdGVkIGNoYXJhY3RlciAlYyBhZnRlciAlcyBmaWVsZCIKKyN+IG1zZ3N0ciAiYmVtZW5ldGkgaGliYTogdsOhcmF0bGFuIGthcmFrdGVyICglYykgYSh6KSAlcyBtZXrFkSB1dMOhblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVucmVjb2duaXplZCBpbnB1dDogJXMiCisjfiBtc2dzdHIgImF6b25vc8OtdGF0bGFuIGJlbWVuZXQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibnVtYmVyIHRvbyBiaWciCisjfiBtc2dzdHIgImEgc3rDoW0gdMO6bCBuYWd5XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHJhaWxpbmcganVuayBhZnRlciBudW1iZXIiCisjfiBtc2dzdHIgImJlZmVqZXrFkSBzemVtw6l0IGVneSBzesOhbSB1dMOhblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5vIHJvb20gZm9yIHBhcnRpdGlvbiBkZXNjcmlwdG9yIgorI34gbXNnc3RyICJuaW5jcyBoZWx5IGEgcGFydMOtY2nDs2xlw61yw7NuYWtcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgYnVpbGQgc3Vycm91bmRpbmcgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICJuZW0gbGVoZXQgZmVsw6lww610ZW5pIGEga8O2csO8bHZldsWRIGtpdGVyamVzenRldHQgcGFydMOtY2nDs3RcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0b28gbWFueSBpbnB1dCBmaWVsZHMiCisjfiBtc2dzdHIgInTDumwgc29rIGJlbWVuZXRpIG1lesWRXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm8gcm9vbSBmb3IgbW9yZSIKKyN+IG1zZ3N0ciAiTmluY3MgaGVseSB0w7ZiYiBlbGVtIHN6w6Ftw6FyYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIklsbGVnYWwgdHlwZSIKKyN+IG1zZ3N0ciAiw4lydsOpbnl0ZWxlbiB0w61wdXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBnaXZlbiBzaXplICglbGx1KSBleGNlZWRzIG1heCBhbGxvd2FibGUgc2l6ZSAoJWxsdSkiCisjfiBtc2dzdHIgIkZpZ3llbG1lenRldMOpczogYSBtZWdhZG90dCBtw6lyZXQgKCVsdSkgdMO6bGzDqXB0ZSBheiBlbmdlZMOpbHllemhldMWRIGxlZ25hZ3lvYmIgbcOpcmV0ZXQgKCVsdSlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIkZpZ3llbG1lenRldMOpczogw7xyZXMgcGFydMOtY2nDs1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IGJhZCBwYXJ0aXRpb24gc3RhcnQgKGVhcmxpZXN0ICVsbHUpIgorI34gbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6IGhpYsOhcyBhIHBhcnTDrWNpw7Mga2V6ZGV0ZSAobGVnZWxzxZEgJWx1KVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVucmVjb2duaXplZCBib290YWJsZSBmbGFnIC0gY2hvb3NlIC0gb3IgKiIKKyN+IG1zZ3N0ciAiYXpvbm9zw610YXRsYW4gaW5kw610aGF0w7MgamVsesWRIC0gdsOhbGFzc3phIGEgLSB2YWd5ICogZWd5aWvDqXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aWFsIGMsaCxzIHNwZWNpZmljYXRpb24/IgorI34gbXNnc3RyICJyw6lzemxlZ2VzIGMsaCxzIG1lZ2hhdMOhcm96w6FzP1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBub3Qgd2hlcmUgZXhwZWN0ZWQiCisjfiBtc2dzdHIgIkEga2l0ZXJqZXN6dGV0dCBwYXJ0w61jacOzIG5lbSBhIHbDoXJ0IGhlbHllbiB2YW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJiYWQgaW5wdXQiCisjfiBtc2dzdHIgImhpYsOhcyBiZW1lbmV0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidG9vIG1hbnkgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAidMO6bCBzb2sgcGFydMOtY2nDs1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJJbnB1dCBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDsgYWJzZW50IGZpZWxkcyBnZXQgYSBkZWZhdWx0IHZhbHVlLlxuIgorI34gIjxzdGFydD4gPHNpemU+IDx0eXBlIFtFLFMsTCxYLGhleF0+IDxib290YWJsZSBbLSwqXT4gPGMsaCxzPiA8YyxoLHM+XG4iCisjfiAiVXN1YWxseSB5b3Ugb25seSBuZWVkIHRvIHNwZWNpZnkgPHN0YXJ0PiBhbmQgPHNpemU+IChhbmQgcGVyaGFwcyA8dHlwZT4pLiIKKyN+IG1zZ3N0ciAiIgorI34gIkhhc3puw6FsamEgYXogYWzDoWJiaSBmb3Jtw6F0OyBhIGhpw6FueXrDsyBtZXrFkWsgYWxhcMOpcnRlbG1lemV0dCDDqXJ0w6lrZXQga2FwbmFrLlxuIgorI34gIjxrZXpkZXQ+IDxtw6lyZXQ+IDx0w61wdXMgW0UsUyxMLFgsaGV4XT4gPGluZMOtdGhhdMOzIFstLCpdPiA8YyxoLHM+IDxjLGgscz5cbiIKKyN+ICLDgWx0YWzDoWJhbiBjc2FrIGEgPGtlemRldD4gw6lzIGEgPG3DqXJldD4gbWVnYWTDoXNhIHN6w7xrc8OpZ2VzICjDqXMgbsOpaGEgYSA8dMOtcHVzPikuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8ZGV2aWNlPi4uLlxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGFuZ2Vyb3VzIG9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIlZlc3rDqWx5ZXMga2FwY3NvbMOzazoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtZywgLS1zaG93LWdlb21ldHJ5ICAgICAgIHByaW50IHRoZSBrZXJuZWwncyBpZGVhIG9mIHRoZSBnZW9tZXRyeVxuIgorI34gIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIHByaW50IGdlb21ldHJ5IGd1ZXNzZWQgZnJvbSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCisjfiBtc2dzdHIgIiAgICAtZyBbdmFneSAtLXNob3ctZ2VvbWV0cnldOiBracOtcmphIGEgZ2VvbWV0cmnDoXQgYSBwYXJ0w61jacOzcyB0w6FibGEgYWxhcGrDoW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtQSwgLS1hY3RpdmF0ZVs9PGRldmljZT5dIGFjdGl2YXRlIHRoZSBib290YWJsZSBmbGFnXG4iCisjfiAiIC1VLCAtLXVuaGlkZVs9PGRldmljZT5dICAgc2V0IHBhcnRpdGlvbiBhcyB1bmhpZGRlblxuIgorI34gIiAteCwgLS1zaG93LWV4dGVuZGVkICAgICAgIGFsc28gbGlzdCBleHRlbmRlZCBwYXJ0aXRpb25zIGluIHRoZSBvdXRwdXQsXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBleHBlY3QgZGVzY3JpcHRvcnMgZm9yIHRoZW0gaW4gdGhlIGlucHV0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgLXggW3ZhZ3kgLS1zaG93LWV4dGVuZGVkXTogZmVsc29yb2xqYSBhIGtpYsWRdsOtdGV0dCBwYXJ0w61jacOza2F0IGlzXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFneSBsZcOtcsOza2F0IHbDoXIgaG96esOhanVrIGEgYmVtZW5ldHLFkWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzJXNkZXZpY2UgICAgICAgICAgICBsaXN0IGFjdGl2ZSBwYXJ0aXRpb25zIG9uIGRldmljZVxuIgorI34gbXNnc3RyICIlcyBlc3prw7Z6XHRcdCBheiBlc3prw7Z6IGFrdMOtdiBwYXJ0w61jacOzaW5hayBmZWxzb3JvbMOhc2FcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMlc2RldmljZSBuMSBuMiAuLi4gIGFjdGl2YXRlIHBhcnRpdGlvbnMgbjEgLi4uLCBpbmFjdGl2YXRlIHRoZSByZXN0XG4iCisjfiBtc2dzdHIgIiVzIGVzemvDtnogbjEgbjIuLi4gIGF6IG4xLi4uIHBhcnTDrWNpw7NrIGFrdGl2w6Fsw6FzYSwgYSB0w7ZiYmkgZGVha3RpdsOhbMOhc2FcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiBwYXJ0aXRpb25zIGFyZ3VtZW50IgorI34gbXNnc3RyICJhIHNvcm9rIHN6w6FtYSDDqXJ2w6lueXRlbGVuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiYSh6KSDigJ4lc+KAnSBuZW0gbnlpdGhhdMOzIG1lZ1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1wcmludC1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciIKKyN+IG1zZ3N0ciAiaGFzem7DoWxhdDogc2ZkaXNrIC0tcHJpbnQtaWQgZXN6a8O2eiBwYXJ0w61jacOzc3rDoW1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0tY2hhbmdlLWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyIElkIgorI34gbXNnc3RyICJoYXN6bsOhbGF0OiBzZmRpc2sgLS1jaGFuZ2UtaWQgZXN6a8O2eiBwYXJ0w61jacOzc3rDoW0gYXpvbm9zw610w7NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0taWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIgW0lkXSIKKyN+IG1zZ3N0ciAiaGFzem7DoWxhdDogc2ZkaXNrIC0taWQgZXN6a8O2eiBwYXJ0w61jacOzc3rDoW0gW2F6b25vc8OtdMOzXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbiBzcGVjaWZ5IG9ubHkgb25lIGRldmljZSAoZXhjZXB0IHdpdGggLWwgb3IgLXMpIgorI34gbXNnc3RyICJjc2FrIGVneSBlc3prw7Z6IGFkaGF0w7MgbWVnIChraXbDqXZlIGEgLWwgdmFneSAtcyBrYXBjc29sw7N0KVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuICVzIHJlYWQtd3JpdGUiCisjfiBtc2dzdHIgImEoeikgJXMgbmVtIG55aXRoYXTDsyBtZWcgw61yw6FzcmEgw6lzIG9sdmFzw6FzcmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyBmb3IgcmVhZGluZyIKKyN+IG1zZ3N0ciAiYSh6KSAlcyBuZW0gbnlpdGhhdMOzIG1lZyBvbHZhc8Ohc3JhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IE9LIgorI34gbXNnc3RyICIlczogUmVuZGJlblxuIgorCisjfiBtc2dpZCAiJXM6ICVsZCBjeWxpbmRlcnMsICVsZCBoZWFkcywgJWxkIHNlY3RvcnMvdHJhY2tcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCBjaWxpbmRlciwgJWxkIGZlaiwgJWxkIHPDoXYgc3pla3Rvcm9ua8OpbnRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJiYWQgYWN0aXZlIGJ5dGU6IDB4JXggaW5zdGVhZCBvZiAweDgwIgorI34gbXNnc3RyICJoaWLDoXMgYWt0w612IGLDoWp0OiAweCV4IGEgMHg4MCBoZWx5ZXR0XG4iCisKKyN+IG1zZ2lkICJEb25lIgorI34gbXNnc3RyICJLw6lzeiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiWW91IGhhdmUgJWQgYWN0aXZlIHByaW1hcnkgcGFydGl0aW9ucy4gVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sXG4iCisjfiAiYnV0IHRoZSBET1MgTUJSIHdpbGwgb25seSBib290IGEgZGlzayB3aXRoIDEgYWN0aXZlIHBhcnRpdGlvbi4iCisjfiBtc2dzdHIgIiIKKyN+ICIlZCBha3TDrXYgZWxzxZFkbGVnZXMgcGFydMOtY2nDsyB0YWzDoWxoYXTDsy4gRXogbmVtIHByb2Jsw6ltYSBhIExJTE8tbmFrLCBkZSBhIERPU1xuIgorI34gIk1CUiBjc2FrIGEgcG9udG9zYW4gZWd5IGFrdMOtdiBwYXJ0w61jacOzdCB0YXJ0YWxtYXrDsyBsZW1lenLFkWwga8OpcGVzIGVsaW5kdWxuaS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgaGFzIGlkICV4IGFuZCBpcyBub3QgaGlkZGVuIgorI34gbXNnc3RyICJhKHopICVzIHBhcnTDrWNpw7MgYXpvbm9zw610w7NqYSAleCDDqXMgbmVtIHJlanRldHRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCYWQgSWQgJWx4IgorI34gbXNnc3RyICJIaWLDoXMgYXpvbm9zw610w7M6ICVseFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoaXMgZGlzayBpcyBjdXJyZW50bHkgaW4gdXNlLiIKKyN+IG1zZ3N0ciAiQSBsZW1leiBqZWxlbmxlZyBoYXN6bsOhbGF0YmFuIHZhbi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYXRhbCBlcnJvcjogY2Fubm90IGZpbmQgJXMiCisjfiBtc2dzdHIgIlbDqWd6ZXRlcyBoaWJhOiBhKHopIOKAniVz4oCdIG5lbSB0YWzDoWxoYXTDs1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhKHopICVzIG5lbSBibG9ra2VzemvDtnpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJPSyIKKyN+IG1zZ3N0ciAiUmVuZGJlblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBleGlzdCwgY2Fubm90IGNoYW5nZSBpdCIKKyN+IG1zZ3N0ciAiQSh6KSAlZC4gcGFydMOtY2nDsyBuZW0gbMOpdGV6aWssIG5lbSBsZWhldCBtw7Nkb3PDrXRhbmlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiSSBkb24ndCBsaWtlIHRoZXNlIHBhcnRpdGlvbnMgLSBub3RoaW5nIGNoYW5nZWQuXG4iCisjfiAiKElmIHlvdSByZWFsbHkgd2FudCB0aGlzLCB1c2UgdGhlIC0tZm9yY2Ugb3B0aW9uLikiCisjfiBtc2dzdHIgIiIKKyN+ICJOZW0gc3plcmV0ZW0gZXpla2V0IGEgcGFydMOtY2nDs2thdCAtIHNlbW1pdCBzZW0gdsOhbHRvem90dC5cbiIKKyN+ICIoSGEgdMOpbnlsZWcgZXp0IGFrYXJqYSwgaGFzem7DoWxqYSBhIC0tZm9yY2Uga2FwY3NvbMOzdC4pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSSBkb24ndCBsaWtlIHRoaXMgLSBwcm9iYWJseSB5b3Ugc2hvdWxkIGFuc3dlciBObyIKKyN+IG1zZ3N0ciAiTmVtIHN6ZXJldGVtIGV6dCAtIEFqw6FubG90dCBhIE5lbSB2w6FsYXN6XG4iCisKKyN+IG1zZ2lkICJBcmUgeW91IHNhdGlzZmllZCB3aXRoIHRoaXM/IFt5bnFdICIKKyN+IG1zZ3N0ciAiRWzDqWdlZGV0dCBlenplbD8gW3lucV0gIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlF1aXR0aW5nIC0gbm90aGluZyBjaGFuZ2VkIgorI34gbXNnc3RyICJLaWzDqXDDqXMgLSBzZW1taSBzZW0gdsOhbHRvem90dFxuIgorCisjfiBtc2dpZCAiUGxlYXNlIGFuc3dlciBvbmUgb2YgeSxuLHFcbiIKKyN+IG1zZ3N0ciAiQXogeSwgbiwgcSAoaWdlbiwgbmVtLCBraWzDqXDDqXMpIGVneWlrw6l2ZWwgdsOhbGFzem9sam9uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiU3VjY2Vzc2Z1bGx5IHdyb3RlIHRoZSBuZXcgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJBeiDDumogcGFydMOtY2nDs3MgdMOhYmxhIHNpa2VyZXNlbiBracOtcnZhXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIklmIHlvdSBjcmVhdGVkIG9yIGNoYW5nZWQgYSBET1MgcGFydGl0aW9uLCAvZGV2L2ZvbzcsIHNheSwgdGhlbiB1c2UgZGQoMSlcbiIKKyN+ICJ0byB6ZXJvIHRoZSBmaXJzdCA1MTIgYnl0ZXM6ICBkZCBpZj0vZGV2L3plcm8gb2Y9L2Rldi9mb283IGJzPTUxMiBjb3VudD0xXG4iCisjfiAiKFNlZSBmZGlzayg4KS4pIgorI34gbXNnc3RyICIiCisjfiAiSGEgRE9TIHBhcnTDrWNpw7N0IGhvem90dCBsw6l0cmUgdmFneSBtw7Nkb3PDrXRvdHQsIHDDqWxkw6F1bDogL2Rldi9mb283LCBha2tvclxuIgorI34gImhhc3puw6FsamEgYSBkZCgxKSBwYXJhbmNzb3QgYXogZWxzxZEgNTEyIGLDoWp0IGtpbnVsbMOhesOhc2hvejpcbiIKKyN+ICJkZCBpZj0vZGV2L3plcm8gb2Y9L2Rldi9mb283IGJzPTUxMiBjb3VudD0xXG4iCisjfiAiKE7DqXp6ZSBtZWcgYXogZmRpc2soOCkga8Opemlrw7ZueXZvbGRhbHQpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCisjfiBtc2dzdHIgIiVzOiBBeiAtLWFkamZpbGUgw6lzIGEgLS1ub2FkamZpbGUga8O2bGNzw7Zuw7ZzZW4ga2l6w6FyasOhayBlZ3ltw6FzdCwgZGUgbWluZGtldHTFkXQgbWVnYWR0YS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueSBET1MgNi54IHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGZkaXNrIGRvY3VtZW50YXRpb24gZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRklHWUVMTUVaVEVUw4lTOiBIYSBET1MgNi54IHBhcnTDrWNpw7N0IGhvem90dFxuIgorI34gImzDqXRyZSB2YWd5IG3Ds2Rvc8OtdG90dCwgYWtrb3IgdG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnRcbiIKKyN+ICJvbHZhc3NhIGVsIGEgY2ZkaXNrIGvDqXppa8O2bnl2IG9sZGFsw6F0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZpZWxkIGlzIHRvbyBsb25nIgorI34gbXNnc3RyICJhIG1lesWRIHTDumwgaG9zc3rDui5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogJyVjJyBpcyBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJXM6IOKAniVj4oCdIG5lbSBlbmdlZMOpbHllemV0dC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICInJWMnIGlzIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICJBKHopIOKAniVj4oCdIG5lbSBlbmdlZMOpbHllemV0dC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY29udHJvbCBjaGFyYWN0ZXJzIGFyZSBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJXM6IEEgdmV6w6lybMWRa2FyYWt0ZXJlayBuZW0gZW5nZWTDqWx5ZXpldHRlay5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICJBIHZlesOpcmzFkWthcmFrdGVyZWsgbmVtIGVuZ2Vkw6lseWV6ZXR0ZWsuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMuIgorI34gbXNnc3RyICIlczogY3NhayBoZWx5aSBiZWplZ3l6w6lzZWsgbcOzZG9zw610aGF0w7NrLCBoYXN6bsOhbGphIGlua8OhYmIgYXogeXAlcyBsZWhldMWRc8OpZ2V0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm90aW1lfHNob3J0fGZ1bGx8aXNvXVxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICBFbHPFkSAgICAgVXRvbHPDs1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBkZXRhaWxzIHNlZSBsc2xvZ2lucygxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlRvdsOhYmJpIGluZm9ybcOhY2nDs2vDqXJ0IHRla2ludHNlIG1lZyBhIHNldGFyY2goOCkga8Opemlrw7ZueXZvbGRhbHQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3J5cHQoKSBmYWlsZWQiCisjfiBtc2dzdHIgImEgbWVtw7NyaWFmb2dsYWzDoXMgc2lrZXJ0ZWxlbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDT01NQU5EIG5vdCBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJBIOKAni0tZGF0ZeKAnSBrYXBjc29sw7MgbmluY3MgbWVnYWR2YS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUaGlzIHNtYWxsIHVzYWdlIGd1aWRlXG4iCisjfiBtc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgT3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIHBhdGhuYW1lIFtwYXRobmFtZSAuLi5dXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6IG5hbWVpIFstbXhdIMO6dHZvbmFsIFvDunR2b25hbCAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBuYW1laSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlRvdsOhYmJpIGluZm9ybcOhY2nDs2vDqXJ0IHRla2ludHNlIG1lZyBhIHNldGFyY2goOCkga8Opemlrw7ZueXZvbGRhbHQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB3aXBlZnMoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJUb3bDoWJiaSBpbmZvcm3DoWNpw7Nrw6lydCB0ZWtpbnRzZSBtZWcgYSBzZXRhcmNoKDgpIGvDqXppa8O2bnl2b2xkYWx0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgdGFza3NldCgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlRvdsOhYmJpIGluZm9ybcOhY2nDs2vDqXJ0IHRla2ludHNlIG1lZyBhIHNldGFyY2goOCkga8Opemlrw7ZueXZvbGRhbHQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGlzIHJlbW92YWJsZSBkZXZpY2UiCisjfiBtc2dzdHIgIiBlbHTDoXZvbMOtdGhhdMOzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIkEg4oCeLS1kYXRl4oCdIGthcGNzb2zDsyBuaW5jcyBtZWdhZHZhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRpbWVvdXQgY2Fubm90IGJlIHplcm8iCisjfiBtc2dzdHIgIm1vdW50OiBuZW0gw6FsbMOtdGhhdMOzIGJlIGEgZmVsaGFzem7DoWzDs2F6b25vc8OtdMOzOiAlcyIKKworI34gbXNnaWQgIk5lZWQgdG8gaW5zZXJ0ICVkIHNlY29uZHMgYW5kIHJlZmVyIHRpbWUgYmFjayAlLjZmIHNlY29uZHMgYWdvXG4iCisjfiBtc2dzdHIgIiVkIG3DoXNvZHBlcmMgYmVzesO6csOhc2Egc3rDvGtzw6lnZXMgw6lzIGF6IGlkxZEgdmlzc3phw6FsbMOtdMOhc2EgJS42ZiBtw6Fzb2RwZXJjY2VsXG4iCisKKyN+IG1zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSBLREdIV0NMSyB0byBjaGFuZ2VcbiIKKyN+IG1zZ3N0ciAiSXNtw6l0ZWx0IHbDoXJha296w6FzIGEgbWVndsOhbHRvenRhdGFuZMOzIGlkxZFyZSBhIEtER0hXQ0xLLXTFkWxcbiIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIHRvIHJlYWQgdGltZSBmYWlsZWQiCisjfiBtc2dzdHIgIkF6IGlkxZEgYmVvbHZhc8Ohc2Egw6lyZGVrw6liZW4ga2lhZG90dCBLREdIV0NMSyBpb2N0bCBtZWdoacO6c3VsdCIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIHRvIHJlYWQgdGltZSBmYWlsZWQgaW4gbG9vcCIKKyN+IG1zZ3N0ciAiQXogaWTFkSBiZW9sdmFzw6FzYSDDqXJkZWvDqWJlbiBraWFkb3R0IEtER0hXQ0xLIGlvY3RsIGlzbcOpdGVsdGVuIG1lZ2hpw7pzdWx0IgorCisjfiBtc2dpZCAiaW9jdGwoKSBmYWlsZWQgdG8gcmVhZCB0aW1lIGZyb20gJXMiCisjfiBtc2dzdHIgIkEoeikgJXMgaWRlasOpbmVrIGJlb2x2YXPDoXNhIMOpcmRla8OpYmVuIGtpYWRvdHQgaW9jdGwoKSBtZWdoacO6c3VsdCIKKworI34gbXNnaWQgImlvY3RsIEtEU0hXQ0xLIGZhaWxlZCIKKyN+IG1zZ3N0ciAiYSBLRFNIV0NMSyBpb2N0bCBtZWdoacO6c3VsdCIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gL2Rldi90dHkxIG9yIC9kZXYvdmMvMSIKKyN+IG1zZ3N0ciAiTmVtIG55aXRoYXTDsyBtZWcgYSAvZGV2L3R0eTEgdmFneSAvZGV2L3ZjLzEgZXN6a8O2eiIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAiYSBLRFNIV0NMSyBpb2N0bCBtZWdoacO6c3VsdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgZGV0YWlscyBzZWUgbHNjcHUoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJUb3bDoWJiaSBpbmZvcm3DoWNpw7Nrw6lydCB0ZWtpbnRzZSBtZWcgYSBzZXRhcmNoKDgpIGvDqXppa8O2bnl2b2xkYWx0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFthcmdzLi4uXVxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBwcm9ncmFtIFthcmd1bWVudHVtIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHJlbmljZSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlRvdsOhYmJpIGluZm9ybcOhY2nDs2vDqXJ0IHRla2ludHNlIG1lZyBhIHNldGFyY2goOCkga8Opemlrw7ZueXZvbGRhbHQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzJXMgW29wdGlvbnNdIFtwcm9ncmFtIFtwcm9ncmFtIGFyZ3VtZW50c11dXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJIYXN6bsOhbGF0OiAlcyVzIFtrYXBjc29sw7NrXSBbcHJvZ3JhbSBbcHJvZ3JhbSBhcmd1bWVudHVtYWldXVxuIgorI34gIlxuIgorI34gIkthcGNzb2zDs2s6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworI34gbXNnaWQgIi4uLmJhY2sgMSBwYWdlIgorI34gbXNnc3RyICIuLi52aXNzemEgMSBvbGRhbGxhbCIKKworI34gbXNnaWQgIi4uLnNraXBwaW5nIG9uZSBsaW5lIgorI34gbXNnc3RyICIuLi4gZWd5IHNvciBraWhhZ3nDoXNhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcmV2KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgdGVraW50c2UgbWVnIGEgc2V0YXJjaCg4KSBrw6l6aWvDtm55dm9sZGFsdC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25dIGZpbGVcbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbiwgLS1uby1hcmd1bWVudCAgICAgICBvcHRpb24gZG9lcyBub3QgdXNlIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXIsIC0tcmVxdWlyZWQgPGFyZz4gICAgb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIiVzOiBhIGthcGNzb2zDsyBhcmd1bWVudHVtb3QgaWfDqW55ZWwgLS0gJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgIC0teHl6enkgICAgICAgICAgICAgYSBsb25nIG9wdGlvbiBvbmx5XG4iCisjfiBtc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICAgIGEgbGVtZXogdMOpbnlsZWdlcyDDrXLDoXPDoW5hayBraWhhZ3nDoXNhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNlY3V0aXZlIGxpbmVzIGFyZSBpbnRlbmRlZCBieSB0d28gc3BhY2VzXG4iCisjfiBtc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1mLCAtLWZvb2JhciAgICAgICAgICAgIG5leHQgb3B0aW9uIGRlc2NyaXB0aW9uIHJlc2V0cyBpbmRlbnRcbiIKKyN+IG1zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaCAgICAgICAgICAgICAgICBwcmludCB0aGlzIGhlbHAgdGV4dFxuIgorI34gbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtLXZlcnNpb25cbiIKKyN+IG1zZ3N0ciAiWyAtLWhlbHAgXSBbIC0tdmVyc2lvbiBdXG4iCisKKyN+IG1zZ2lkICJjb21waWxlZCB3aXRob3V0IC14IHN1cHBvcnQiCisjfiBtc2dzdHIgImEgcHJvZ3JhbSBhIC14IHTDoW1vZ2F0w6FzYSBuw6lsa8O8bCBsZXR0IGxlZm9yZMOtdHZhIgorCisjfiBtc2dpZCAiJXM6IE91dCBvZiBtZW1vcnkhXG4iCisjfiBtc2dzdHIgIiVzOiBBIG1lbcOzcmlhIGVsZm9neW90dCFcbiIKKworI34gbXNnaWQgIlVudXNhYmxlIgorI34gbXNnc3RyICJIYXN6bsOhbGhhdGF0bGFuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGZhaWxlZFxuIgorI34gbXNnc3RyICJheiDDrXLDoXMgbWVnaGnDunN1bHQ6ICVzIgorCisjfiBtc2dpZCAiRGlzayBoYXMgYmVlbiBjaGFuZ2VkLlxuIgorI34gbXNnc3RyICJBIGxlbWV6IG1lZ3bDoWx0b3pvdHQuXG4iCisKKyN+IG1zZ2lkICJSZWJvb3QgdGhlIHN5c3RlbSB0byBlbnN1cmUgdGhlIHBhcnRpdGlvbiB0YWJsZSBpcyBjb3JyZWN0bHkgdXBkYXRlZC5cbiIKKyN+IG1zZ3N0ciAiQSByZW5kc3plciDDumpyYWluZMOtdMOhc8OhdmFsIGJpenRvc8OtdGhhdGphIGEgcGFydMOtY2nDs3MgdMOhYmxhIG1lZ2ZlbGVsxZEgZnJpc3PDrXTDqXPDqXQuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnlcbiIKKyN+ICJET1MgNi54IHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGNmZGlzayBtYW51YWxcbiIKKyN+ICJwYWdlIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRklHWUVMTUVaVEVUw4lTOiBIYSBET1MgNi54IHBhcnTDrWNpw7N0IGhvem90dFxuIgorI34gImzDqXRyZSB2YWd5IG3Ds2Rvc8OtdG90dCwgYWtrb3IgdG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnRcbiIKKyN+ICJvbHZhc3NhIGVsIGEgY2ZkaXNrIGvDqXppa8O2bnl2IG9sZGFsw6F0LlxuIgorCisjfiBtc2dpZCAiRkFUQUwgRVJST1IiCisjfiBtc2dzdHIgIlbDiUdaRVRFUyBISUJBICIKKworI34gbXNnaWQgIlByZXNzIGFueSBrZXkgdG8gZXhpdCBjZmRpc2siCisjfiBtc2dzdHIgIsOcc3PDtm4gbGUgZWd5IGJpbGxlbnR5xbF0IGEga2lsw6lww6lzaGV6IgorCisjfiBtc2dpZCAiQ2Fubm90IHNlZWsgb24gZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiTmVtIGxlaGV0IHBvemljaW9uw6FsbmkgYSBsZW1lem1lZ2hhanTDs24iCisKKyN+IG1zZ2lkICJDYW5ub3QgcmVhZCBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJBIGxlbWV6bWVnaGFqdMOzIG5lbSBvbHZhc2hhdMOzIgorCisjfiBtc2dpZCAiQ2Fubm90IHdyaXRlIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIkEgbGVtZXptZWdoYWp0w7MgbmVtIMOtcmhhdMOzIgorCisjfiBtc2dpZCAiVG9vIG1hbnkgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiVMO6bCBzb2sgcGFydMOtY2nDsyIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBiZWdpbnMgYmVmb3JlIHNlY3RvciAwIgorI34gbXNnc3RyICJBIHBhcnTDrWNpw7MgYSAwLiBzemVrdG9yIGVsxZF0dCBrZXpkxZFkaWsiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIkEgcGFydMOtY2nDsyBhIDAuIHN6ZWt0b3IgdXTDoW4gZmVqZXrFkWRpayBiZSIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBiZWdpbnMgYWZ0ZXIgZW5kLW9mLWRpc2siCisjfiBtc2dzdHIgIkEgcGFydMOtY2nDsyBhIGxlbWV6IHbDqWdlIHV0w6FuIGtlemTFkWRpayIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICJBIHBhcnTDrWNpw7MgYSBsZW1lem1lZ2hhanTDsyB1dMOhbiB2w6lnesWRZGlrIgorCisjfiBtc2dpZCAibG9naWNhbCBwYXJ0aXRpb25zIG5vdCBpbiBkaXNrIG9yZGVyIgorI34gbXNnc3RyICJhIGxvZ2lrYWkgcGFydMOtY2nDs2sgbmluY3NlbmVrIGEgbGVtZXpsaXN0w6FiYW4iCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAibG9naWthaSBwYXJ0w61jacOzayBmZWRpayBlZ3ltw6FzdCIKKworI34gbXNnaWQgImVubGFyZ2VkIGxvZ2ljYWwgcGFydGl0aW9ucyBvdmVybGFwIgorI34gbXNnc3RyICJtZWduw7Z2ZWx0IGxvZ2lrYWkgcGFydMOtY2nDs2sgZmVkaWsgZWd5bcOhc3QiCisKKyN+IG1zZ2lkICIhISEhIEludGVybmFsIGVycm9yIGNyZWF0aW5nIGxvZ2ljYWwgZHJpdmUgd2l0aCBubyBleHRlbmRlZCBwYXJ0aXRpb24gISEhISIKKyN+IG1zZ3N0ciAiQmVsc8WRIGhpYmEgbG9naWthaSBwYXJ0w61jacOzIGtpdGVyamVzenRldHQgcGFydMOtY2nDsyBuw6lsa8O8bGkgbMOpdHJlaG96w6FzYSBzb3LDoW4hIgorCisjfiBtc2dpZCAiQ2Fubm90IGNyZWF0ZSBsb2dpY2FsIGRyaXZlIGhlcmUgLS0gd291bGQgY3JlYXRlIHR3byBleHRlbmRlZCBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJOZW0gaG96aGF0w7MgbMOpdHJlIGxvZ2lrYWkgbWVnaGFqdMOzIC0tIGV6IGvDqXQga2l0ZXJqZXN6dGV0dCBwYXJ0w61jacOzdCBob3puYSBsw6l0cmUiCisKKyN+IG1zZ2lkICJNZW51IGl0ZW0gdG9vIGxvbmcuIE1lbnUgbWF5IGxvb2sgb2RkLiIKKyN+IG1zZ3N0ciAiQSBtZW7DvGVsZW0gdMO6bCBob3NzesO6LiBBIG1lbsO8IGZ1cmNzw6FuIGplbGVuaGV0IG1lZy4iCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGtleSIKKyN+IG1zZ3N0ciAiw4lydsOpbnl0ZWxlbiBiaWxsZW50ecWxIgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICLDmmogZWxzxZFkbGVnZXMgcGFydMOtY2nDsyBsw6l0cmVob3rDoXNhIgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IGxvZ2ljYWwgcGFydGl0aW9uIgorI34gbXNnc3RyICLDmmogbG9naWthaSBwYXJ0w61jacOzIGzDqXRyZWhvesOhc2EiCisKKyN+IG1zZ2lkICJDYW5jZWwiCisjfiBtc2dzdHIgIk3DqWdzZW0iCisKKyN+IG1zZ2lkICJEb24ndCBjcmVhdGUgYSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIk5lIGhvenpvbiBsw6l0cmUgcGFydMOtY2nDs3QiCisKKyN+IG1zZ2lkICIhISEgSW50ZXJuYWwgZXJyb3IgISEhIgorI34gbXNnc3RyICIhISEgQmVsc8WRIGhpYmEgISEhIgorCisjfiBtc2dpZCAiU2l6ZSAoaW4gTUIpOiAiCisjfiBtc2dzdHIgIk3DqXJldCAoTUIpOiAiCisKKyN+IG1zZ2lkICJCZWdpbm5pbmciCisjfiBtc2dzdHIgIktlemRldCIKKworI34gbXNnaWQgIkFkZCBwYXJ0aXRpb24gYXQgYmVnaW5uaW5nIG9mIGZyZWUgc3BhY2UiCisjfiBtc2dzdHIgIlBhcnTDrWNpw7MgaG96esOhYWTDoXNhIGEgc3phYmFkIHRlcsO8bGV0IGVsZWrDqW4iCisKKyN+IG1zZ2lkICJBZGQgcGFydGl0aW9uIGF0IGVuZCBvZiBmcmVlIHNwYWNlIgorI34gbXNnc3RyICJQYXJ0w61jacOzIGhvenrDoWFkw6FzYSBhIHN6YWJhZCB0ZXLDvGxldCB2w6lnw6luIgorCisjfiBtc2dpZCAiTm8gcm9vbSB0byBjcmVhdGUgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiTmluY3MgaGVseSBhIGtpdGVyamVzenRldHQgcGFydMOtY2nDsyBsw6l0cmVob3rDoXPDoWhveiIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbiB0YWJsZS4gU3RhcnRpbmcgd2l0aCB6ZXJvIHRhYmxlLiIKKyN+IG1zZ3N0ciAiTmluY3MgcGFydMOtY2nDs3MgdMOhYmxhLiBJbmTDrXTDoXMgw7xyZXMgdMOhYmzDoXZhbC4iCisKKyN+IG1zZ2lkICJCYWQgc2lnbmF0dXJlIG9uIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiQSBwYXJ0w61jacOzcyB0w6FibGEgYWzDocOtcsOhc2EgaGliw6FzIgorCisjfiBtc2dpZCAiVW5rbm93biBwYXJ0aXRpb24gdGFibGUgdHlwZSIKKyN+IG1zZ3N0ciAiQSBwYXJ0w61jacOzcyB0w6FibGEgdMOtcHVzYSBpc21lcmV0bGVuIgorCisjfiBtc2dpZCAiRG8geW91IHdpc2ggdG8gc3RhcnQgd2l0aCBhIHplcm8gdGFibGUgW3kvTl0gPyIKKyN+IG1zZ3N0ciAiw5xyZXMgdMOhYmzDoXZhbCBzemVyZXRuZSBpbmR1bG5pIFtpL05dPyIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIk5lbSBueWl0aGF0w7MgbWVnIGEgbGVtZXptZWdoYWp0w7MiCisKKyN+IG1zZ2lkICJPcGVuZWQgZGlzayByZWFkLW9ubHkgLSB5b3UgaGF2ZSBubyBwZXJtaXNzaW9uIHRvIHdyaXRlIgorI34gbXNnc3RyICJBIG1lZ255aXRvdHQgbGVtZXogY3NhayBvbHZhc2hhdMOzIC0gbmluY3Mgam9nYSDDrXJuaSByw6EiCisKKyN+IG1zZ2lkICJDYW5ub3QgZ2V0IGRpc2sgc2l6ZSIKKyN+IG1zZ3N0ciAiTmVtIGxlaGV0IGxla8OpcmRlem5pIGEgbGVtZXogbcOpcmV0w6l0IgorCisjfiBtc2dpZCAiQmFkIHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICJIaWLDoXMgZWxzxZFkbGVnZXMgcGFydMOtY2nDsyIKKworI34gbXNnaWQgIldhcm5pbmchISAgVGhpcyBtYXkgZGVzdHJveSBkYXRhIG9uIHlvdXIgZGlzayEiCisjfiBtc2dzdHIgIkZpZ3llbG1lenRldMOpczogZXogbWVnc2VtbWlzw610aGV0aSBhIGxlbWV6ZW4gdGFsw6FsaGF0w7MgYWRhdGFpdCEiCisKKyN+IG1zZ2lkICJQbGVhc2UgZW50ZXIgYHllcycgb3IgYG5vJyIKKyN+IG1zZ3N0ciAiQXog4oCeaWdlbuKAnSB2YWd5IOKAnm5lbeKAnSBlZ3lpa8OpdCDDrXJqYSBiZSIKKworI34gbXNnaWQgIldyaXRpbmcgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2suLi4iCisjfiBtc2dzdHIgIlBhcnTDrWNpw7NzIHTDoWJsYSBracOtcsOhc2EgYSBsZW1lenJlLi4uIgorCisjfiBtc2dpZCAiV3JvdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2siCisjfiBtc2dzdHIgIkEgcGFydMOtY2nDs3MgdMOhYmxhIGtpw61ydmEgYSBsZW1lenJlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSwgYnV0IHJlLXJlYWQgdGFibGUgZmFpbGVkLiAgUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB0byB1cGRhdGUgdGFibGUuIgorI34gbXNnc3RyICJBIHBhcnTDrWNpw7NzIHTDoWJsYSBracOtcnZhLCBkZSDDumpyYW9sdmFzbmkgbmVtIHNpa2Vyw7xsdC4gw5pqcmFpbmTDrXTDoXMgc3rDvGtzw6lnZXMuIgorCisjfiBtc2dpZCAiTm8gcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBtYXJrZWQgYm9vdGFibGUuIERPUyBNQlIgY2Fubm90IGJvb3QgdGhpcy4iCisjfiBtc2dzdHIgIkVneSBlbHPFkWRsZWdlcyBwYXJ0w61jacOzIHNpbmNzIGluZMOtdGhhdMOza8OpbnQga2lqZWzDtmx2ZS4gQSBET1MgTUJSIGV6dCBuZW0gdHVkamEgZWxpbmTDrXRhbmkuIgorCisjfiBtc2dpZCAiTW9yZSB0aGFuIG9uZSBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUuIERPUyBNQlIgY2Fubm90IGJvb3QgdGhpcy4iCisjfiBtc2dzdHIgIlTDtmJiIGVsc8WRZGxlZ2VzIHBhcnTDrWNpw7MgdmFuIGluZMOtdGhhdMOza8OpbnQga2lqZWzDtmx2ZS4gQSBET1MgTUJSIGV6dCBuZW0gdHVkamEgZWxpbmTDrXRhbmkuIgorCisjfiBtc2dpZCAiRW50ZXIgZmlsZW5hbWUgb3IgcHJlc3MgUkVUVVJOIHRvIGRpc3BsYXkgb24gc2NyZWVuOiAiCisjfiBtc2dzdHIgIkFkam9uIG1lZyBmw6FqbG5ldmV0IHZhZ3kgbnlvbWphIG1lZyBheiBFTlRFUi10IGEga8OpcGVybnnFkSBtZWdqZWxlbsOtdMOpc2hlejogIgorCisjfiBtc2dpZCAiRGlzayBEcml2ZTogJXNcbiIKKyN+IG1zZ3N0ciAiTGVtZXptZWdoYWp0w7M6ICVzXG4iCisKKyN+IG1zZ2lkICJTZWN0b3IgMDpcbiIKKyN+IG1zZ3N0ciAiMC4gc3pla3RvcjpcbiIKKworI34gbXNnaWQgIlNlY3RvciAlZDpcbiIKKyN+IG1zZ3N0ciAiJWQuIHN6ZWt0b3I6XG4iCisKKyN+IG1zZ2lkICIgICBOb25lICAgIgorI34gbXNnc3RyICIgICBOaW5jcyAgIgorCisjfiBtc2dpZCAiICAgUHJpL0xvZyIKKyN+IG1zZ3N0ciAiICAgRWxzL0xvZyIKKworI34gbXNnaWQgIiAgIFByaW1hcnkiCisjfiBtc2dzdHIgIiAgIEVsc8WRZGxlZ2VzIgorCisjfiBtc2dpZCAiICAgTG9naWNhbCIKKyN+IG1zZ3N0ciAiICAgTG9naWthaSIKKworI34gbXNnaWQgIiglMDJYKSIKKyN+IG1zZ3N0ciAiKCUwMlgpIgorCisjfiBtc2dpZCAiTm9uZSIKKyN+IG1zZ3N0ciAiTmluY3MiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gVGFibGUgZm9yICVzXG4iCisjfiBtc2dzdHIgIkEoeikg4oCeJXPigJ0gcGFydMOtY2nDs3MgdMOhYmzDoWphXG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICBGaXJzdCAgICAgICBMYXN0XG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgIEVsc8WRICAgICBVdG9sc8OzXG4iCisKKyN+IG1zZ2lkICIgIyBUeXBlICAgICAgIFNlY3RvciAgICAgIFNlY3RvciAgIE9mZnNldCAgICBMZW5ndGggICBGaWxlc3lzdGVtIFR5cGUgKElEKSBGbGFnXG4iCisjfiBtc2dzdHIgIiAjIFTDrXB1cyAgICAgU3pla3RvciAgIFN6ZWt0b3IgICBFbHRvbMOhcyAgIEhvc3N6ICBGw6FqbHJlbmRzemVyIFTDrXB1cyAoSUQpICBKZWx6xZFcbiIKKworI34gbXNnaWQgIi0tIC0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS1cbiIKKyN+IG1zZ3N0ciAiLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLVxuIgorCisjfiBtc2dpZCAiICAgICAgICAgLS0tU3RhcnRpbmctLS0tICAgICAgLS0tLUVuZGluZy0tLS0tICAgIFN0YXJ0ICAgICBOdW1iZXIgb2ZcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgLS0tS2V6ZGV0LS0gICAgICAgICAgLS0tVsOpZy0tLSAgICAgICBLZXpkZXQgICAgIFN6w6FtXG4iCisKKyN+IG1zZ2lkICIgIyBGbGFncyBIZWFkIFNlY3QgIEN5bCAgIElEICBIZWFkIFNlY3QgIEN5bCAgICAgU2VjdG9yICAgIFNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiICMgSmVsesWRayBGZWogU3pla3QgQ2lsICAgSUQgIEZlaiBTemVrdG9yIENpbCAgICBTemVrdG9yIFN6ZWt0b3Jva1xuIgorCisjfiBtc2dpZCAiLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tXG4iCisjfiBtc2dzdHIgIi0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLVxuIgorCisjfiBtc2dpZCAiUmF3IgorI34gbXNnc3RyICJOeWVycyIKKworI34gbXNnaWQgIlByaW50IHRoZSB0YWJsZSB1c2luZyByYXcgZGF0YSBmb3JtYXQiCisjfiBtc2dzdHIgIlTDoWJsYSBtZWdqZWxlbsOtdMOpc2UgbnllcnMgZm9ybcOhYmFuIgorCisjfiBtc2dpZCAiUHJpbnQgdGhlIHRhYmxlIG9yZGVyZWQgYnkgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiVMOhYmxhIG1lZ2plbGVuw610w6lzZSBzemVrdG9yb2sgc3plcmludCIKKworI34gbXNnaWQgIlRhYmxlIgorI34gbXNnc3RyICJUw6FibMOhemF0IgorCisjfiBtc2dpZCAiSnVzdCBwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJDc2FrIG1lZ2plbGVuw610aSBhIHBhcnTDrWNpw7NzIHTDoWJsw6F0IgorCisjfiBtc2dpZCAiRG9uJ3QgcHJpbnQgdGhlIHRhYmxlIgorI34gbXNnc3RyICJOZSBqZWxlbmplbiBtZWcgYSB0w6FibGEiCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMTk5OSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIiCisjfiBtc2dzdHIgIkNvcHlyaWdodCAoQykgMTk5NC0xOTk5IEtldmluIEUuIE1hcnRpbiAmIGFlYiIKKworI34gbXNnaWQgIiAgZyAgICAgICAgICBDaGFuZ2UgY3lsaW5kZXJzLCBoZWFkcywgc2VjdG9ycy1wZXItdHJhY2sgcGFyYW1ldGVycyIKKyN+IG1zZ3N0ciAiICBnICAgICAgICAgIEEgY2lsaW5kZXItLCBmZWotLCDDqXMgc8Ohdm9ua8OpbnRpIHN6ZWt0b3JzesOhbSBtw7Nkb3PDrXTDoXNhIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFdBUk5JTkc6IFRoaXMgb3B0aW9uIHNob3VsZCBvbmx5IGJlIHVzZWQgYnkgcGVvcGxlIHdobyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIEZJR1lFTE1FWlRFVMOJUzogRXp0IGEgbGVoZXTFkXPDqWdldCBjc2FrIGFra29yIGhhc3puw6FsamEsIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGtub3cgd2hhdCB0aGV5IGFyZSBkb2luZy4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBoYSB0dWRqYSwgaG9neSBtaXQgY3NpbsOhbC4iCisKKyN+IG1zZ2lkICIgIG0gICAgICAgICAgTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgbSAgICAgICAgICBBeiBha3R1w6FsaXMgcGFydMOtY2nDsyBsZW1lemtpaGFzem7DoWzDoXPDoW5hayBtYXhpbWFsaXrDoWzDoXNhIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIE5vdGU6IFRoaXMgbWF5IG1ha2UgdGhlIHBhcnRpdGlvbiBpbmNvbXBhdGlibGUgd2l0aCIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIE1lZ2plZ3l6w6lzOiBFeiBpbmtvbXBhdGliaWxpc3PDqSB0ZWhldGkgYSBwYXJ0w61jacOzdCBhICIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBET1MsIE9TLzIsIC4uLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIERPUy1zYWwsIE9TLzItdmVsLCAuLi4iCisKKyN+IG1zZ2lkICIgIHAgICAgICAgICAgUHJpbnQgcGFydGl0aW9uIHRhYmxlIHRvIHRoZSBzY3JlZW4gb3IgdG8gYSBmaWxlIgorI34gbXNnc3RyICIgIHAgICAgICAgICAgQSBwYXJ0w61jacOzcyB0w6FibGEga2nDrXLDoXNhIGEga8OpcGVybnnFkXJlIHZhZ3kgZsOhamxiYSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBUaGVyZSBhcmUgc2V2ZXJhbCBkaWZmZXJlbnQgZm9ybWF0cyBmb3IgdGhlIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIFN6w6Ftb3Mga8O8bMO2bmLDtnrFkSBwYXJ0w61jacOzZm9ybcOhdHVtIGzDqXRlemlrLCIKKworI34gbXNnaWQgIiAgICAgICAgICAgICB0aGF0IHlvdSBjYW4gY2hvb3NlIGZyb206IgorI34gbXNnc3RyICIgICAgICAgICAgICAgYW1lbHllayBrw7Z6w7xsIHbDoWxhc3p0aGF0OiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICByIC0gUmF3IGRhdGEgKGV4YWN0bHkgd2hhdCB3b3VsZCBiZSB3cml0dGVuIHRvIGRpc2spIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgciAtIE55ZXJzIGFkYXRvayAocG9udG9zYW4gYXosIGFtaSBraSBsZXN6IMOtcnZhIGEgbGVtZXpyZSkiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgcyAtIFRhYmxlIG9yZGVyZWQgYnkgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6FibMOhemF0IHN6ZWt0b3JvayBzemVyaW50IHJlbmRlenZlIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHQgLSBUYWJsZSBpbiByYXcgZm9ybWF0IgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgdCAtIFTDoWJsw6F6YXQgbnllcnMgZm9ybcOhYmFuIgorCisjfiBtc2dpZCAiICB1ICAgICAgICAgIENoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSIKKyN+IG1zZ3N0ciAiICB1ICAgICAgICAgIEEgcGFydMOtY2nDs23DqXJldCBraWplbHrDqXNpIGVneXPDqWfDqW5layBtZWd2w6FsdG96dGF0w6FzYSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBSb3RhdGVzIHRocm91Z2ggTUIsIHNlY3RvcnMgYW5kIGN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIFbDoWxhc3p0aGF0IE1CLW9rLCBzemVrdG9yb2sgw6lzIGNpbGluZGVyZWsga8O2esO2dHQiCisKKyN+IG1zZ2lkICJDVFJMLUwgICAgICAgUmVkcmF3cyB0aGUgc2NyZWVuIgorI34gbXNnc3RyICJDdHJsLUwgICAgICAgw5pqcmFyYWp6b2xqYSBhIGvDqXBlcm55xZF0IgorCisjfiBtc2dpZCAiICA/ICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorI34gbXNnc3RyICIgID8gICAgICAgICAgRXogYSBrw6lwZXJuecWRIgorCisjfiBtc2dpZCAiQ2hhbmdlIGN5bGluZGVyIGdlb21ldHJ5IgorI34gbXNnc3RyICJDaWxpbmRlcmVrIGdlb21ldHJpw6Fqw6FuYWsgbWVndsOhbHRvenRhdMOhc2EiCisKKyN+IG1zZ2lkICJDaGFuZ2UgaGVhZCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiRmVqZWsgZ2VvbWV0cmnDoWrDoW5hayBtZWd2w6FsdG96dGF0w6FzYSIKKworI34gbXNnaWQgIkNoYW5nZSBzZWN0b3IgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIlN6ZWt0b3JvayBnZW9tZXRyacOhasOhbmFrIG1lZ3bDoWx0b3p0YXTDoXNhIgorCisjfiBtc2dpZCAiRG9uZSB3aXRoIGNoYW5naW5nIGdlb21ldHJ5IgorI34gbXNnc3RyICJBIGdlb21ldHJpYSBtZWd2w6FsdG96dGF0w6FzYSBrw6lzeiIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzOiAiCisjfiBtc2dzdHIgIkFkamEgbWVnIGEgY2lsaW5kZXJlayBzesOhbcOhdDogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBjeWxpbmRlcnMgdmFsdWUiCisjfiBtc2dzdHIgIsOJcnbDqW55dGVsZW4gY2lsaW5kZXLDqXJ0w6lrIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBoZWFkczogIgorI34gbXNnc3RyICJBZGphIG1lZyBhIGZlamVrIHN6w6Ftw6F0OiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGhlYWRzIHZhbHVlIgorI34gbXNnc3RyICLDiXJ2w6lueXRlbGVuIGZlanN6w6FtIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFjazogIgorI34gbXNnc3RyICJBZGphIG1lZyBhIHPDoXZvbmvDqW50aSBzemVrdG9yb2sgc3rDoW3DoXQ6ICIKKworI34gbXNnaWQgIklsbGVnYWwgc2VjdG9ycyB2YWx1ZSIKKyN+IG1zZ3N0ciAiw4lydsOpbnl0ZWxlbiBzemVrdG9yc3rDoW0iCisKKyN+IG1zZ2lkICJFbnRlciBmaWxlc3lzdGVtIHR5cGU6ICIKKyN+IG1zZ3N0ciAiQWRqYSBtZWcgYSBmw6FqbHJlbmRzemVyIHTDrXB1c8OhdDogIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSBGUyBUeXBlIHRvIGVtcHR5IgorI34gbXNnc3RyICJBIGbDoWpscmVuZHN6ZXIgdMOtcHVzYSBuZW0gbcOzZG9zw610aGF0w7Mgw7xyZXNyZSIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgRlMgVHlwZSB0byBleHRlbmRlZCIKKyN+IG1zZ3N0ciAiQSBmw6FqbHJlbmRzemVyIHTDrXB1c2EgbmVtIG3Ds2Rvc8OtdGhhdMOzIGtpdGVyamVzenRldHRyZSIKKworI34gbXNnaWQgIlVuayglMDJYKSIKKyN+IG1zZ3N0ciAiSXNtKCUwMlgpIgorCisjfiBtc2dpZCAiLCBOQyIKKyN+IG1zZ3N0ciAiLCBOQyIKKworI34gbXNnaWQgIk5DIgorI34gbXNnc3RyICJOQyIKKworI34gbXNnaWQgIlByaS9Mb2ciCisjfiBtc2dzdHIgIkVscy9Mb2ciCisKKyN+IG1zZ2lkICJVbmtub3duICglMDJYKSIKKyN+IG1zZ3N0ciAiSXNtZXJldGxlbiAoJTAyWCkiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlcyIKKyN+IG1zZ3N0ciAiTGVtZXptZWdoYWp0w7M6ICVzIgorCisjfiBtc2dpZCAiU2l6ZTogJWxsZCBieXRlcywgJWxsZCBNQiIKKyN+IG1zZ3N0ciAiTcOpcmV0OiAlbGxkIGLDoWp0LCAlbGxkIE1CIgorCisjfiBtc2dpZCAiU2l6ZTogJWxsZCBieXRlcywgJWxsZC4lbGxkIEdCIgorI34gbXNnc3RyICJNw6lyZXQ6ICVsbGQgYsOhanQsICVsbGQuJWxsZCBHQiIKKworI34gbXNnaWQgIkhlYWRzOiAlZCAgIFNlY3RvcnMgcGVyIFRyYWNrOiAlZCAgIEN5bGluZGVyczogJWxsZCIKKyN+IG1zZ3N0ciAiRmVqZWs6ICVkICAgU8Ohdm9ua8OpbnRpIHN6ZWt0b3JzesOhbTogJWQgICBDaWxpbmRlcmVrOiAlbGxkIgorCisjfiBtc2dpZCAiUGFydCBUeXBlIgorI34gbXNnc3RyICJQYXJ0LiB0w61wdXMiCisKKyN+IG1zZ2lkICJGUyBUeXBlIgorI34gbXNnc3RyICJGUiB0w61wdXMiCisKKyN+IG1zZ2lkICJbTGFiZWxdIgorI34gbXNnc3RyICJbQ8OtbWtlXSIKKworI34gbXNnaWQgIiAgICBTZWN0b3JzIgorI34gbXNnc3RyICIgICBTemVrdG9yb2siCisKKyN+IG1zZ2lkICIgIEN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICBDaWxpbmRlcmVrIgorCisjfiBtc2dpZCAiICBTaXplIChNQikiCisjfiBtc2dzdHIgIiAgTcOpcmV0IChNQikiCisKKyN+IG1zZ2lkICIgIFNpemUgKEdCKSIKKyN+IG1zZ3N0ciAiICBNw6lyZXQgKEdCKSIKKworI34gbXNnaWQgIk5vIG1vcmUgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiTmluY3MgdMO2YmIgcGFydMOtY2nDsyIKKworI34gbXNnaWQgIkNoYW5nZSBkaXNrIGdlb21ldHJ5IChleHBlcnRzIG9ubHkpIgorI34gbXNnc3RyICJBIGxlbWV6Z2VvbWV0cmlhIG3Ds2Rvc8OtdMOhc2EgKGNzYWsgaGFsYWTDs2tuYWspIgorCisjfiBtc2dpZCAiTWF4aW1pemUiCisjfiBtc2dzdHIgIk1heGltYWwuIgorCisjfiBtc2dpZCAiTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24gKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIk1heGltYWxpesOhbGphIGF6IGFrdHXDoWxpcyBwYXJ0w61jacOzIGxlbWV6a2loYXN6bsOhbMOhc8OhdCAoY3NhayBoYWxhZMOzbmFrKSIKKworI34gbXNnaWQgIlByaW50IgorI34gbXNnc3RyICJNZWduw6l6w6lzIgorCisjfiBtc2dpZCAiQ2hhbmdlIHRoZSBmaWxlc3lzdGVtIHR5cGUgKERPUywgTGludXgsIE9TLzIgYW5kIHNvIG9uKSIKKyN+IG1zZ3N0ciAiQSBmw6FqbHJlbmRzemVyIHTDrXB1c8OhbmFrIG3Ds2Rvc8OtdMOhc2EgKERPUywgTGludXgsIE9TLzIsIHN0YikiCisKKyN+IG1zZ2lkICJVbml0cyIKKyN+IG1zZ3N0ciAiRWd5c8OpZyIKKworI34gbXNnaWQgIkNoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSAoTUIsIHNlY3QsIGN5bCkiCisjfiBtc2dzdHIgIkEgcGFydMOtY2nDs23DqXJldCBraWplbHrDqXNpIGVneXPDqWfDqW5layBtZWd2w6FsdG96dGF0w6FzYSAoTUIsIFN6ZWt0LiwgQ2lsLikiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWFrZSB0aGlzIHBhcnRpdGlvbiBib290YWJsZSIKKyN+IG1zZ3N0ciAiRXogYSBwYXJ0w61jacOzIG5lbSB0ZWhldMWRIGluZMOtdGhhdMOzdsOhIgorCisjfiBtc2dpZCAiQ2Fubm90IGRlbGV0ZSBhbiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIk5lbSB0w7Zyw7ZsaGV0IMO8cmVzIHBhcnTDrWNpw7N0IgorCisjfiBtc2dpZCAiQ2Fubm90IG1heGltaXplIHRoaXMgcGFydGl0aW9uIgorI34gbXNnc3RyICJOZW0gbWF4aW1hbGl6w6FsaGF0amEgZXp0IGEgcGFydMOtY2nDs3QiCisKKyN+IG1zZ2lkICJUaGlzIHBhcnRpdGlvbiBpcyB1bnVzYWJsZSIKKyN+IG1zZ3N0ciAiRXogYSBwYXJ0w61jacOzIGhhc3puw6FsaGF0YXRsYW4iCisKKyN+IG1zZ2lkICJUaGlzIHBhcnRpdGlvbiBpcyBhbHJlYWR5IGluIHVzZSIKKyN+IG1zZ3N0ciAiRXogYSBwYXJ0w61jacOzIG3DoXIgaGFzem7DoWxhdGJhbiB2YW4iCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIHRoZSB0eXBlIG9mIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiw5xyZXMgcGFydMOtY2nDsyB0w61wdXNhIG5lbSBtw7Nkb3PDrXRoYXTDsyIKKworI34gbXNnaWQgIklsbGVnYWwgY29tbWFuZCIKKyN+IG1zZ3N0ciAiw4lydsOpbnl0ZWxlbiBwYXJhbmNzIgorCisjfiBtc2dpZCAiQ29weXJpZ2h0IChDKSAxOTk0LTIwMDIgS2V2aW4gRS4gTWFydGluICYgYWViXG4iCisjfiBtc2dzdHIgIkNvcHlyaWdodCAoQykgMTk5NC0yMDAyIEtldmluIEUuIE1hcnRpbiAmIGFlYlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgIHNldCB0aGUgbnVtYmVyIG9mIGhlYWRzIHRvIHVzZVxuIgorI34gbXNnc3RyICIgICAgLUgjIFt2YWd5IC0taGVhZHMgI106ICAgICAgYSBoYXN6bsOhbGFuZMOzIGZlanN6w6FtIGJlw6FsbMOtdMOhc2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1nLCAtLWd1ZXNzICAgICAgICAgICAgICAgZ3Vlc3MgYSBnZW9tZXRyeSBmcm9tIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1QLCAtLXByaW50IDxyfHN8dD4gICAgICAgcHJpbnQgcGFydGl0aW9uIHRhYmxlIGluIHNwZWNpZmllZCBmb3JtYXRcbiIKKyN+IG1zZ3N0ciAiICBwICAgICAgICAgIEEgcGFydMOtY2nDs3MgdMOhYmxhIGtpw61yw6FzYSBhIGvDqXBlcm55xZFyZSB2YWd5IGbDoWpsYmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1hLCAtLWFycm93ICAgICAgICAgICAgICAgdXNlIGFycm93IGZvciBoaWdobGlnaHRpbmcgdGhlIGN1cnJlbnQgcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiAgZCAgICAgICAgICBBeiBha3R1w6FsaXMgcGFydMOtY2nDsyB0w7ZybMOpc2UiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIiAgIGMgICBhIGNpbGluZGVyZWsgc3rDoW3DoW5hayBtw7Nkb3PDrXTDoXNhIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2YgaGVhZHMiCisjfiBtc2dzdHIgImEoeikgJXMgbmVtIG55aXRoYXTDsyBtZWciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBzZWN0b3JzIgorI34gbXNnc3RyICJhKHopICVzIG5lbSBueWl0aGF0w7MgbWVnIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgIGUgICBleHRlbmRlZCIKKyN+IG1zZ3N0ciAiZSAgIGtpdGVyamVzenRldHQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTnIiCisjfiBtc2dzdHIgIk5DIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNlYyIKKyN+IG1zZ3N0ciAiQmXDoWxsw610w6FzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoaXMgZG9lc24ndCBsb29rIGxpa2UgYSBwYXJ0aXRpb24gdGFibGUuIFByb2JhYmx5IHlvdSBzZWxlY3RlZCB0aGUgd3JvbmcgZGV2aWNlLiIKKyN+IG1zZ3N0ciAiIgorI34gIkV6IG5lbSB0xbFuaWsgcGFydMOtY2nDs3MgdMOhYmzDoW5ha1xuIgorI34gIlZhbMOzc3rDrW7FsWxlZyBuZW0gYSBtZWdmZWxlbMWRIGVzemvDtnp0IHbDoWxhc3p0b3R0YSBraS5cbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCbG9ja3MgIgorI34gbXNnc3RyICIlbGQgYmxva2tcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTZWN0b3IiCisjfiBtc2dzdHIgIlN6ZWt0b3JvayIKKworIywgZnV6enkKKyN+IG1zZ2lkICJZb3Ugd2lsbCBnZXQgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKKyN+IG1zZ3N0ciAiRWd5bcOhc3Qgw6F0ZmVkxZEgcGFydMOtY2nDs2sgbGVzem5layBhIGxlbWV6ZW4uIEVsxZFzesO2ciBqYXbDrXRzYSBlenQga2khXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmxhZyIKKyN+IG1zZ3N0ciAiSmVsZWsiCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiBlcnJvciByZWFkaW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAiZmlneWVsbWV6dGV0w6lzOiBoaWJhIGEga8O2dmV0a2V6xZEgb2x2YXPDoXNha29yOiAlczolcyIKKworI34gbXNnaWQgIndhcm5pbmc6IGNhbid0IG9wZW4gJXM6ICVzIgorI34gbXNnc3RyICJmaWd5ZWxtZXp0ZXTDqXM6IG5lbSBueWl0aGF0w7MgbWVnIGEga8O2dmV0a2V6xZE6ICVzOiVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNvdWxkIG5vdCBvcGVuICVzIC0gdXNpbmcgJXMgaW5zdGVhZFxuIgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlcyBuZW0gbnlpdGhhdMOzIG1lZyAtIGhlbHlldHRlIGEoeikgJXMga2Vyw7xsIGZlbGhhc3puw6Fsw6FzcmFcbiIKKworI34gbXNnaWQgImNhbid0IGNyZWF0ZSBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgImEoeikgJXMgesOhcm9sw6FzaSBmw6FqbCBuZW0gaG96aGF0w7MgbMOpdHJlOiAlcyAoaGFzem7DoWxqYSBhIC1uIGthcGNzb2zDs3QgYSBmZWzDvGxiw61yw6Fsw6FzaG96KSIKKworI34gbXNnaWQgImNhbid0IGxpbmsgbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICJhKHopICVzIHrDoXJvbMOhc2kgZsOhamxyYSBuZW0gaG96aGF0w7MgbMOpdHJlIGxpbms6ICVzIChoYXN6bsOhbGphIGEgLW4ga2FwY3NvbMOzdCBhIGZlbMO8bGLDrXLDoWzDoXNob3opIgorCisjfiBtc2dpZCAiY2FuJ3Qgb3BlbiBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgImEoeikgJXMgesOhcm9sw6FzaSBmw6FqbCBuZW0gbnlpdGhhdMOzIG1lZzogJXMgKGhhc3puw6FsamEgYSAtbiBrYXBjc29sw7N0IGEgZmVsw7xsYsOtcsOhbMOhc2hveikiCisKKyN+IG1zZ2lkICJDYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiTmVtIGxlaGV0IHrDoXJvbG5pIGEoeikgJXMgesOhcm9sw6FzaSBmw6FqbHQ6ICVzXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXMiCisjfiBtc2dzdHIgIk5lbSBsZWhldCB6w6Fyb2xuaSBhKHopICVzIHrDoXJvbMOhc2kgZsOhamx0OiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJDYW5ub3QgY3JlYXRlIGxpbmsgJXNcbiIKKyN+ICJQZXJoYXBzIHRoZXJlIGlzIGEgc3RhbGUgbG9jayBmaWxlP1xuIgorI34gbXNnc3RyICIiCisjfiAiTmVtIGxlaGV0IGzDqXRyZWhvem5pIGEoeikgJXMgbGlua2V0XG4iCisjfiAiTGVoZXQsIGhvZ3kgZWd5IGVsw6FydnVsdCBhIHrDoXJvbMOhc2kgZsOhamwgbWlhdHQ/XG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyAoJXMpIC0gbXRhYiBub3QgdXBkYXRlZCIKKyN+IG1zZ3N0ciAibmVtIG55aXRoYXTDsyBtZWcgYSh6KSAlcyBmw6FqbCAoJXMpIC0gYXogbXRhYiBuZW0gZnJpc3PDvGx0IgorCisjfiBtc2dpZCAiZXJyb3Igd3JpdGluZyAlczogJXMiCisjfiBtc2dzdHIgImhpYmEgYSh6KSAlcyDDrXLDoXNha29yOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2Fubm90IGZmbHVzaCBjaGFuZ2VzOiAlcyIKKyN+IG1zZ3N0ciAiJXM6IG5lbSBob3poYXTDsyBsw6l0cmUgbGluayBhKHopICVzIGbDoWpscmE6ICVzXG4iCisKKyN+IG1zZ2lkICJlcnJvciBjaGFuZ2luZyBtb2RlIG9mICVzOiAlc1xuIgorI34gbXNnc3RyICJoaWJhIGEoeikgJXMgbcOzZGrDoW5hayBtw7Nkb3PDrXTDoXNha29yOiAlc1xuIgorCisjfiBtc2dpZCAiZXJyb3IgY2hhbmdpbmcgb3duZXIgb2YgJXM6ICVzXG4iCisjfiBtc2dzdHIgImhpYmEgYSh6KSAlcyB0dWxhamRvbm9zw6FuYWsgbcOzZG9zw610w6FzYWtvcjogJXNcbiIKKworI34gbXNnaWQgImNhbid0IHJlbmFtZSAlcyB0byAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXMgbmVtIG5ldmV6aGV0xZEgw6F0ICVzIG7DqXZyZTogJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiBpbXByb3Blcmx5IHF1b3RlZCBvcHRpb24gc3RyaW5nICclcyciCisjfiBtc2dzdHIgIm1vdW50OiBoZWx5dGVsZW7DvGwgaWTDqXrFkWplbGV6ZXR0IGthcGNzb2zDsy1rYXJha3RlcnNvcm96YXQ6IOKAniVz4oCdIgorCisjfiBtc2dpZCAibW91bnQ6IHRyYW5zbGF0ZWQgJXMgJyVzJyB0byAnJXMnXG4iCisjfiBtc2dzdHIgIm1vdW50OiBhKHopICVzIOKAniVz4oCdIGxlZm9yZMOtdHZhIGEga8O2dmV0a2V6xZFyZTog4oCeJXPigJ1cbiIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogYXogbXRhYiBhbGFwasOhbiBhKHopICVzIG3DoXIgY3NhdG9sdmEgdmFuIGEga8O2dmV0a2V6xZFuOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgbW91bnRlZCBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGF6IG10YWIgYWxhcGrDoW4gYSh6KSAlcyBhIGvDtnZldGtlesWRIGFsw6EgdmFuIGNzYXRvbHZhOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBvcGVuICVzIGZvciB3cml0aW5nOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGEoeikgJXMgbmVtIG55aXRoYXTDsyBtZWcgw61yw6FzcmE6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIHdyaXRpbmcgJXM6ICVzIgorI34gbXNnc3RyICJtb3VudDogaGliYSBhKHopICVzIMOtcsOhc2Frb3I6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIGNoYW5naW5nIG1vZGUgb2YgJXM6ICVzIgorI34gbXNnc3RyICJtb3VudDogaGliYSBhKHopICVzIG3Ds2Rqw6FuYWsgbcOzZG9zw610w6FzYWtvcjogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDogbmVtIMOhbGzDrXRoYXTDsyBiZSBhIGNzb3BvcnRhem9ub3PDrXTDszogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgdXNlciBpZDogJW0iCisjfiBtc2dzdHIgIm1vdW50OiBuZW0gw6FsbMOtdGhhdMOzIGJlIGEgZmVsaGFzem7DoWzDs2F6b25vc8OtdMOzOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgZm9yazogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBuZW0gaW5kw610aGF0w7MgYSBwcm9ncmFtOiAlcyIKKworI34gbXNnaWQgIlRyeWluZyAlc1xuIgorI34gbXNnc3RyICJLw61zw6lybGV0OiAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IHlvdSBkaWRuJ3Qgc3BlY2lmeSBhIGZpbGVzeXN0ZW0gdHlwZSBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG5lbSBhZHRhIG1lZyBhIGvDtnZldGtlesWRIGbDoWpscmVuZHN6ZXLDqXQ6ICVzXG4iCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSBhbGwgdHlwZXMgbWVudGlvbmVkIGluICVzIG9yICVzXG4iCisjfiBtc2dzdHIgIiAgICAgICBLw61zw6lybGV0IGEoeikgJXMgdmFneSBhKHopICVzIGbDoWpsYmFuIGVtbMOtdGV0dCDDtnNzemVzIHTDrXB1c3NhbFxuIgorCisjfiBtc2dpZCAiICAgICAgIGFuZCBpdCBsb29rcyBsaWtlIHRoaXMgaXMgc3dhcHNwYWNlXG4iCisjfiBtc2dzdHIgIiAgICAgIMOpcyDDumd5IHTFsW5paywgZXogZWd5IGxhcG96w7N0ZXLDvGxldFxuIgorCisjfiBtc2dpZCAiICAgICAgIEkgd2lsbCB0cnkgdHlwZSAlc1xuIgorI34gbXNnc3RyICIgICAgICBLw61zw6lybGV0IGEoeikgJXMgdMOtcHVzc2FsXG4iCisKKyN+IG1zZ2lkICIlcyBsb29rcyBsaWtlIHN3YXBzcGFjZSAtIG5vdCBtb3VudGVkIgorI34gbXNnc3RyICIlcyBsYXBvesOzdGVyw7xsZXRuZWsgdMWxbmlrIC0gbmVtIGtlcsO8bHQgY3NhdG9sw6FzcmEiCisKKyN+IG1zZ2lkICJtb3VudCBmYWlsZWQiCisjfiBtc2dzdHIgImEgY3NhdG9sw6FzIG1lZ2hpw7pzdWx0IgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiBjc2FrIGEgcmVuZHN6ZXJnYXpkYSBjc2F0b2xoYXRqYSBhKHopICVzIGVzemvDtnp0IGEoeikgJXMgaGVseXJlIgorCisjfiBtc2dpZCAibW91bnQ6IGxvb3AgZGV2aWNlIHNwZWNpZmllZCB0d2ljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IGEgaHVyb2tlc3prw7Z6dCBrw6l0c3plciBhZHRhIG1lZyIKKworI34gbXNnaWQgIm1vdW50OiB0eXBlIHNwZWNpZmllZCB0d2ljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IGEgdMOtcHVzdCBrw6l0c3plciBhZHRhIG1lZyIKKworI34gbXNnaWQgIm1vdW50OiBza2lwcGluZyB0aGUgc2V0dXAgb2YgYSBsb29wIGRldmljZVxuIgorI34gbXNnc3RyICJtb3VudDogYSBodXJva2VzemvDtnogYmXDoWxsw610w6Fzw6FuYWsga2loYWd5w6FzYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBlbmFibGluZyBhdXRvY2xlYXIgbG9vcGRldiBmbGFnXG4iCisjfiBtc2dzdHIgIm1vdW50OiBhKHopICVzIGh1cm9rZXN6a8O2eiBrZXLDvGwgZmVsaGFzem7DoWzDoXNyYVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlcyBhcyBsb29wIgorI34gbXNnc3RyICJtb3VudDogYXogbXRhYiBhbGFwasOhbiBhKHopICVzIG3DoXIgY3NhdG9sdmEgdmFuIGh1cm9rZXN6a8O2emvDqW50IGEga8O2dmV0a2V6xZFuOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGRldiBjb250ZXh0IgorI34gbXNnc3RyICJOZW0gZm9nbGFsaGF0w7MgbGUgcHVmZmVydC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIHVzZSAlcyBkZXZpY2UiCisjfiBtc2dzdHIgIm5lbSBsZWhldCB2aXNzemHDoWxsw610YW5pIGEgbGFwb3rDs3RlcsO8bGV0LWVzemvDtnp0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gZm91bmQgZnJlZSBsb29wIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IGEgaHVyb2tlc3prw7Z6IGJlw6FsbMOtdMOhc2EgbWVnaGnDunN1bHRcbiIKKworI34gbXNnaWQgIm1vdW50OiBnb2luZyB0byB1c2UgdGhlIGxvb3AgZGV2aWNlICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBhKHopICVzIGh1cm9rZXN6a8O2eiBrZXLDvGwgZmVsaGFzem7DoWzDoXNyYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiAlczogZmFpbGVkIHRvIHNldCBsb29wZGV2IGF0dHJpYnV0ZXMiCisjfiBtc2dzdHIgIm1vdW50OiBhIGh1cm9rZXN6a8O2eiBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgc2V0dGluZyB1cCBsb29wIGRldmljZTogJW0iCisjfiBtc2dzdHIgIm1vdW50OiBhIGh1cm9rZXN6a8O2eiBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0XG4iCisKKyN+IG1zZ2lkICJtb3VudDogc3RvbGVuIGxvb3A9JXMgLi4udHJ5aW5nIGFnYWluXG4iCisjfiBtc2dzdHIgIm1vdW50OiBhKHopICVzIGh1cm9rZXN6a8O2enQgZWd5IG3DoXNpayBmb2x5YW1hdCBlbGxvcHRhLi4uIMO6anJhcHLDs2LDoWxvbVxuIgorCisjfiBtc2dpZCAibW91bnQ6IHN0b2xlbiBsb29wPSVzIgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlcyBodXJva2VzemvDtnp0IGVneSBtw6FzaWsgZm9seWFtYXQgZWxsb3B0YSIKKworI34gbXNnaWQgIm1vdW50OiBzZXR1cCBsb29wIGRldmljZSBzdWNjZXNzZnVsbHlcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGEgaHVyb2tlc3prw7Z6IGJlw6FsbMOtdMOhc2Egc2lrZXLDvGx0XG4iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gJXMgZm91bmQgLSBjcmVhdGluZyBpdC4uXG4iCisjfiBtc2dzdHIgIm1vdW50OiBuZW0gdGFsw6FsaGF0w7MgYSh6KSAlcyAtIGzDqXRyZWhvesOhcy4uLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBvcGVuICVzIGZvciBzZXR0aW5nIHNwZWVkIgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlcyBuZW0gbnlpdGhhdMOzIG1lZyBhIHNlYmVzc8OpZyBiZcOhbGzDrXTDoXPDoWhveiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCBzcGVlZDogJW0iCisjfiBtc2dzdHIgIm1vdW50OiBuZW0gw6FsbMOtdGhhdMOzIGJlIGEgc2ViZXNzw6lnOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBheiBtdGFiIGFsYXBqw6FuIGEoeikgJXMgbcOhciBjc2F0b2x2YSB2YW4gYSBrw7Z2ZXRrZXrFkW46ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IHdhcm5pbmc6ICVzIHNlZW1zIHRvIGJlIG1vdW50ZWQgcmVhZC13cml0ZS5cbiIKKyN+IG1zZ3N0ciAidW1vdW50OiBhKHopICVzIGZvZ2xhbHQgLSDDumpyYWNzYXRvbHZhIGNzYWsgb2x2YXNoYXTDs2vDqW50XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IHdhcm5pbmc6ICVzIHNlZW1zIHRvIGJlIG1vdW50ZWQgcmVhZC1vbmx5LlxuIgorI34gbXNnc3RyICJ1bW91bnQ6IGEoeikgJXMgZm9nbGFsdCAtIMO6anJhY3NhdG9sdmEgY3NhayBvbHZhc2hhdMOza8OpbnRcbiIKKworI34gbXNnaWQgIm1vdW50OiBJIGNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGZpbGVzeXN0ZW0gdHlwZSwgYW5kIG5vbmUgd2FzIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibW91bnQ6IG5lbSBoYXTDoXJvemhhdMOzIG1lZyBhIGbDoWpscmVuZHN6ZXIgdMOtcHVzYSDDqXMgbmVtIGlzIGFkdGEgYXp0IG1lZyIKKworI34gbXNnaWQgIm1vdW50OiB5b3UgbXVzdCBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUiCisjfiBtc2dzdHIgIm1vdW50OiBtZWcga2VsbCBhZG5pYSBhIGbDoWpscmVuZHN6ZXIgdMOtcHVzw6F0IgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGEgY3NhdG9sw6FzIG1lZ2hpw7pzdWx0IgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGlzIG5vdCBhIGRpcmVjdG9yeSIKKyN+IG1zZ3N0ciAibW91bnQ6IGEoeikgJXMgY3NhdG9sw6FzaSBwb250IG5lbSBlZ3kga8O2bnl2dMOhciIKKworI34gbXNnaWQgIm1vdW50OiBwZXJtaXNzaW9uIGRlbmllZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGhvenrDoWbDqXLDqXMgbWVndGFnYWR2YSIKKworI34gbXNnaWQgIm1vdW50OiBtdXN0IGJlIHN1cGVydXNlciB0byB1c2UgbW91bnQiCisjfiBtc2dzdHIgIm1vdW50OiBjc2FrIGEgcmVuZHN6ZXJnYXpkYSBoYXN6bsOhbGhhdGphIGEgbW91bnQgcGFyYW5jc290IgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIGJ1c3kiCisjfiBtc2dzdHIgIm1vdW50OiBhKHopICVzIGZvZ2xhbHQiCisKKyN+IG1zZ2lkICJtb3VudDogcHJvYyBhbHJlYWR5IG1vdW50ZWQiCisjfiBtc2dzdHIgIm1vdW50OiBhIHByb2MgZsOhamxyZW5kc3plciBtw6FyIGNzYXRvbHZhIHZhbiIKKworI34gbXNnaWQgIm1vdW50OiAlcyBhbHJlYWR5IG1vdW50ZWQgb3IgJXMgYnVzeSIKKyN+IG1zZ3N0ciAibW91bnQ6IGEoeikgJXMgbcOhciBjc2F0b2x2YSB2YW4sIHZhZ3kgYSh6KSAlcyBmb2dsYWx0IgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGRvZXMgbm90IGV4aXN0IgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlcyBjc2F0b2zDoXNpIHBvbnQgbmVtIGzDqXRlemlrIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlcyBjc2F0b2zDoXNpIHBvbnQgZWd5IHN6aW1ib2xpa3VzIGxpbmsgYSBzZW1taWJlIgorCisjfiBtc2dpZCAibW91bnQ6IHNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlcyBzcGVjacOhbGlzIGVzemvDtnogbmVtIGzDqXRlemlrIgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiBzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdFxuIgorI34gIiAgICAgICAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogYSh6KSAlcyBzcGVjacOhbGlzIGVzemvDtnogbmVtIGzDqXRlemlrXG4iCisjfiAiICAgICAgIChheiBlbMOpcsOpc2kgw7p0IGVneSBlbMWRdGFnamEgbmVtIGvDtm55dnTDoXIpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6ICVzIG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCisjfiBtc2dzdHIgIm1vdW50OiBhKHopICVzIG3DqWcgbmluY3MgY3NhdG9sdmEsIHZhZ3kgYSBrYXBjc29sw7MgaGliw6FzIgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiB3cm9uZyBmcyB0eXBlLCBiYWQgb3B0aW9uLCBiYWQgc3VwZXJibG9jayBvbiAlcyxcbiIKKyN+ICIgICAgICAgbWlzc2luZyBjb2RlcGFnZSBvciBoZWxwZXIgcHJvZ3JhbSwgb3Igb3RoZXIgZXJyb3IiCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogaGliw6FzIGbDoWpscmVuZHN6ZXJ0w61wdXMsIGhpYsOhcyBrYXBjc29sw7MsIGhpYsOhcyBzenVwZXJibG9rayBhKHopXG4iCisjfiAiICAgICAgICVzIGVzemvDtnrDtm4sIGhpw6FueXrDsyBrw7NkbGFwIHZhZ3kgc2Vnw6lkcHJvZ3JhbSwgdmFneSBlZ3nDqWIgaGliYSIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgKGZvciBzZXZlcmFsIGZpbGVzeXN0ZW1zIChlLmcuIG5mcywgY2lmcykgeW91IG1pZ2h0XG4iCisjfiAiICAgICAgIG5lZWQgYSAvc2Jpbi9tb3VudC48dHlwZT4gaGVscGVyIHByb2dyYW0pIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgIChzesOhbW9zIGbDoWpscmVuZHN6ZXIgKHDDqWxkw6F1bCBuZnMsIGNpZnMpIGVzZXTDqW4gc3rDvGtzw6lnZXNcbiIKKyN+ICIgICAgICAgbGVoZXQgZWd5IC9zYmluL21vdW50Ljx0w61wdXM+IHNlZ8OpZHByb2dyYW0pIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoY291bGQgdGhpcyBiZSB0aGUgSURFIGRldmljZSB3aGVyZSB5b3UgaW4gZmFjdCB1c2VcbiIKKyN+ICIgICAgICAgaWRlLXNjc2kgc28gdGhhdCBzcjAgb3Igc2RhIG9yIHNvIGlzIG5lZWRlZD8pIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgIChsZWhldCwgaG9neSBleiBlZ3kgSURFIGVzemvDtnosIG1pa8O2emJlbiBpZGUtc2NzaS10XG4iCisjfiAiICAgICAgIGhhc3puw6FsLCDDrWd5IGF6IHNyMCB2YWd5IHNkYSB2YWd5IGhhc29ubMOzIHN6w7xrc8OpZ2VzPykiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIChhcmVuJ3QgeW91IHRyeWluZyB0byBtb3VudCBhbiBleHRlbmRlZCBwYXJ0aXRpb24sXG4iCisjfiAiICAgICAgIGluc3RlYWQgb2Ygc29tZSBsb2dpY2FsIHBhcnRpdGlvbiBpbnNpZGU/KSIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAobGVoZXQsIGhvZ3kgZWd5IGtpdGVyamVzenRldHQgcGFydMOtY2nDs3QgcHLDs2LDoWwgY3NhdG9sbmlcbiIKKyN+ICIgICAgICAgYXogw6FsdGFsYSB0YXJ0YWxtYXpvdHQgdmFsYW1lbHlpayBsb2dpa2FpIHBhcnTDrWNpw7MgaGVseWV0dD8pIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICBJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGlzIGZvdW5kIGluIHN5c2xvZyAtIHRyeVxuIgorI34gIiAgICAgICBkbWVzZyB8IHRhaWwgIG9yIHNvXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAgRWd5ZXMgZXNldGVrYmVuIGhhc3pub3MgaW5mb3Jtw6FjacOzayB0YWzDoWxoYXTDs2sgYSBzeXNsb2diYW5cbiIKKyN+ICIgICAgICAgcHLDs2LDoWxqYSBraWFkbmkgYSBkbWVzZyB8IHRhaWwgcGFyYW5jc290IHZhZ3kgZWd5IGVoaGV6IGhhc29ubMOzdFxuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiBjYW4ndCByZWFkIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgIm1vdW50OiBuZW0gbGVoZXQgb2x2YXNuaSBhKHopICVzIHN6dXBlcmJsb2trasOhdCIKKworI34gbXNnaWQgIm1vdW50OiAlczogdW5rbm93biBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiBhKHopICVzIGVzemvDtnogaXNtZXJldGxlbiIKKworI34gbXNnaWQgIm1vdW50OiB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSAnJXMnIgorI34gbXNnc3RyICJtb3VudDogaXNtZXJldGxlbiBmw6FqbHJlbmRzemVydMOtcHVzOiDigJ4lc+KAnSIKKworI34gbXNnaWQgIm1vdW50OiBwcm9iYWJseSB5b3UgbWVhbnQgJXMiCisjfiBtc2dzdHIgIm1vdW50OiB0YWzDoW4gYSBrw7Z2ZXRrZXrFkXJlIGdvbmRvbHQ6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IG1heWJlIHlvdSBtZWFudCAnaXNvOTY2MCc/IgorI34gbXNnc3RyICJtb3VudDogdGFsw6FuIGF6IOKAnmlzbzk2NjDigJ0gdMOtcHVzcmEgZ29uZG9sdD8iCisKKyN+IG1zZ2lkICJtb3VudDogbWF5YmUgeW91IG1lYW50ICd2ZmF0Jz8iCisjfiBtc2dzdHIgIm1vdW50OiB0YWzDoW4gYSDigJ52ZmF04oCdIHTDrXB1c3JhIGdvbmRvbHQ/IgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGhhcyB3cm9uZyBkZXZpY2UgbnVtYmVyIG9yIGZzIHR5cGUgJXMgbm90IHN1cHBvcnRlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGEoeikgJXMgZXN6a8O2enN6w6FtYSBoaWLDoXMgdmFneSBhKHopICVzIGbDoWpscmVuZHN6ZXIgbmVtIHTDoW1vZ2F0b3R0IgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQgZmFpbHM/IgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlcyBuZW0gYmxva2tlc3prw7Z6IMOpcyBheiBlbMOpcsOpcyBtZWdoacO6c3VsdC4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIm1vdW50OiB0aGUga2VybmVsIGRvZXMgbm90IHJlY29nbml6ZSAlcyBhcyBhIGJsb2NrIGRldmljZVxuIgorI34gIiAgICAgICAobWF5YmUgYG1vZHByb2JlIGRyaXZlcic/KSIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiBhIHJlbmRzemVybWFnIG5lbSBpc21lcmkgZmVsIGEoeikgJXMgYmxva2tlc3prw7Z6dFxuIgorI34gIiAgICAgICAodGFsw6FuIGtpIGtlbGxlbmUgYWRuaWEgYXog4oCeaW5zbW9kIG1lZ2hhanTDs+KAnSBwYXJhbmNzb3Q/KSIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UgKG1heWJlIHRyeSBgLW8gbG9vcCc/KSIKKyN+IG1zZ3N0ciAibW91bnQ6IGEoeikgJXMgbmVtIGJsb2trZXN6a8O2eiAocHLDs2LDoWxqYSBoYXN6bsOhbG5pIGEg4oCeLW8gbG9vcOKAnSBrYXBjc29sw7N0KSIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiBhKHopICVzIG5lbSBibG9ra2VzemvDtnoiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgdmFsaWQgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlcyBuZW0gZWd5IMOpcnbDqW55ZXMgYmxva2tlc3prw7Z6IgorCisjIGV6IGEga8O2dmV0a2V6xZEgaMOhcm9tICVzJXMtYmVuIGF6IGVsc8WRICVzIGxlc3osIG1lZyBrZWxsIG1hamQgb3R0IGZvcmTDrXRhbmkKKyN+IG1zZ2lkICJibG9jayBkZXZpY2UgIgorI34gbXNnc3RyICJibG9ra2VzemvDtnoiCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IG1vdW50ICVzJXMgcmVhZC1vbmx5IgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlMiRzJTEkcyBuZW0gY3NhdG9saGF0w7Mgw61yw6FzdsOpZGV0dGvDqW50IgorCisjfiBtc2dpZCAibW91bnQ6ICVzJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCBgLXcnIGZsYWcgZ2l2ZW4iCisjfiBtc2dzdHIgIm1vdW50OiBhKHopICUyJHMlMSRzIMOtcsOhc3bDqWRldHQsIGRlIG1lZ2Fkw6FzcmEga2Vyw7xsdCBhIOKAni134oCdIGthcGNzb2zDsyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHJlbW91bnQgJXMlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCisjfiBtc2dzdHIgIm1vdW50OiBhKHopICUyJHMlMSRzIG5lbSBjc2F0b2xoYXTDsyDDrXLDoXN2w6lkZXR0a8OpbnQiCisKKyN+IG1zZ2lkICJtb3VudDogJXMlcyBpcyB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50aW5nIHJlYWQtb25seSIKKyN+IG1zZ3N0ciAibW91bnQ6IGEoeikgJTIkcyUxJHMgw61yw6FzdsOpZGV0dCwgY3NhdG9sw6FzIGNzYWsgb2x2YXNoYXTDs2vDqW50IgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBubyBtZWRpdW0gZm91bmQgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiBhKHopICVzIG3DoXIgY3NhdG9sdmEgdmFuIGEoeikgJXMgYWzDoVxuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHR5cGUgd2FzIGdpdmVuIC0gSSdsbCBhc3N1bWUgbmZzIGJlY2F1c2Ugb2YgdGhlIGNvbG9uXG4iCisjfiBtc2dzdHIgIm1vdW50OiBuZW0gYWRvdHQgbWVnIHTDrXB1c3QgLSBhIGtldHTFkXNwb250IG1pYXR0IG5mcyB0w61wdXN0IGZlbHTDqXRlbGV6ZWtcbiIKKworI34gbXNnaWQgIm1vdW50OiBubyB0eXBlIHdhcyBnaXZlbiAtIEknbGwgYXNzdW1lIGNpZnMgYmVjYXVzZSBvZiB0aGUgLy8gcHJlZml4XG4iCisjfiBtc2dzdHIgIm1vdW50OiBuZW0gYWRvdHQgbWVnIHTDrXB1c3QgLSBhIC8vIGVsxZF0YWcgbWlhdHQgY2lmcyB0w61wdXN0IGZlbHTDqXRlbGV6ZWtcbiIKKworI34gbXNnaWQgIm1vdW50OiAlcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGEoeikgJXMgbcOhciBjc2F0b2x2YSB2YW4gYSh6KSAlcyBhbMOhXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IG1vdW50IC1WICAgICAgICAgICAgICAgICA6IHByaW50IHZlcnNpb25cbiIKKyN+ICIgICAgICAgbW91bnQgLWggICAgICAgICAgICAgICAgIDogcHJpbnQgdGhpcyBoZWxwXG4iCisjfiAiICAgICAgIG1vdW50ICAgICAgICAgICAgICAgICAgICA6IGxpc3QgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorI34gIiAgICAgICBtb3VudCAtbCAgICAgICAgICAgICAgICAgOiBpZGVtLCBpbmNsdWRpbmcgdm9sdW1lIGxhYmVsc1xuIgorI34gIlNvIGZhciB0aGUgaW5mb3JtYXRpb25hbCBwYXJ0LiBOZXh0IHRoZSBtb3VudGluZy5cbiIKKyN+ICJUaGUgY29tbWFuZCBpcyBgbW91bnQgWy10IGZzdHlwZV0gc29tZXRoaW5nIHNvbWV3aGVyZScuXG4iCisjfiAiRGV0YWlscyBmb3VuZCBpbiAvZXRjL2ZzdGFiIG1heSBiZSBvbWl0dGVkLlxuIgorI34gIiAgICAgICBtb3VudCAtYSBbLXR8LU9dIC4uLiAgICAgOiBtb3VudCBhbGwgc3R1ZmYgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiICAgICAgIG1vdW50IGRldmljZSAgICAgICAgICAgICA6IG1vdW50IGRldmljZSBhdCB0aGUga25vd24gcGxhY2VcbiIKKyN+ICIgICAgICAgbW91bnQgZGlyZWN0b3J5ICAgICAgICAgIDogbW91bnQga25vd24gZGV2aWNlIGhlcmVcbiIKKyN+ICIgICAgICAgbW91bnQgLXQgdHlwZSBkZXYgZGlyICAgIDogb3JkaW5hcnkgbW91bnQgY29tbWFuZFxuIgorI34gIk5vdGUgdGhhdCBvbmUgZG9lcyBub3QgcmVhbGx5IG1vdW50IGEgZGV2aWNlLCBvbmUgbW91bnRzXG4iCisjfiAiYSBmaWxlc3lzdGVtIChvZiB0aGUgZ2l2ZW4gdHlwZSkgZm91bmQgb24gdGhlIGRldmljZS5cbiIKKyN+ICJPbmUgY2FuIGFsc28gbW91bnQgYW4gYWxyZWFkeSB2aXNpYmxlIGRpcmVjdG9yeSB0cmVlIGVsc2V3aGVyZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1iaW5kIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJvciBtb3ZlIGEgc3VidHJlZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tb3ZlIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBtb3VudCBjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2hhcmVkIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2xhdmUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1wcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtdW5iaW5kYWJsZSBkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBhbGwgdGhlIG1vdW50cyBpbiBhIG1vdW50IHN1YnRyZWVcbiIKKyN+ICJjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzbGF2ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJwcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnVuYmluZGFibGUgZGlyXG4iCisjfiAiQSBkZXZpY2UgY2FuIGJlIGdpdmVuIGJ5IG5hbWUsIHNheSAvZGV2L2hkYTEgb3IgL2Rldi9jZHJvbSxcbiIKKyN+ICJvciBieSBsYWJlbCwgdXNpbmcgIC1MIGxhYmVsICBvciBieSB1dWlkLCB1c2luZyAgLVUgdXVpZCAuXG4iCisjfiAiT3RoZXIgb3B0aW9uczogWy1uZkZyc3Z3XSBbLW8gb3B0aW9uc10gWy1wIHBhc3N3ZGZkXS5cbiIKKyN+ICJGb3IgbWFueSBtb3JlIGRldGFpbHMsIHNheSAgbWFuIDggbW91bnQgLlxuIgorI34gbXNnc3RyICIiCisjfiAiSGFzem7DoWxhdDogXG4iCisjfiAiICAgICAgIG1vdW50IC1WICAgICAgICAgICAgICAgICAgICAgICA6IHZlcnppw7NzesOhbSBracOtcsOhc2FcbiIKKyN+ICIgICAgICAgbW91bnQgLWggICAgICAgICAgICAgICAgICAgICAgIDogZXogYSBzw7pnw7NcbiIKKyN+ICIgICAgICAgbW91bnQgICAgICAgICAgICAgICAgICAgICAgICAgIDogYSBjc2F0b2x0IGbDoWpscmVuZHN6ZXJlayBmZWxzb3JvbMOhc2FcbiIKKyN+ICIgICAgICAgbW91bnQgLWwgICAgICAgICAgICAgICAgICAgICAgIDogdWd5YW5heiwgZGUgYSBrw7Z0ZXRjw61ta8Opa2tlbFxuIgorI34gIkV6IGF6IGluZm9ybcOhbGlzIHLDqXN6IHZvbHQuIEEga8O2dmV0a2V6xZEgYSBjc2F0b2zDoXNyw7NsIHN6w7NsLlxuIgorI34gIkEgcGFyYW5jcyDDoWx0YWzDoW5vcyBhbGFramE6IOKAnm1vdW50IFstdCBmw6FqbHJlbmRzemVydMOtcHVzXSBtaXQgaG92w6HigJ0uXG4iCisjfiAiQXogL2V0Yy9mc3RhYiBmw6FqbGJhbiBtZWd0YWzDoWxoYXTDsyByw6lzemxldGVrIGtpaGFneWhhdMOzay5cbiIKKyN+ICIgICAgICAgbW91bnQgLWEgWy10fC1PXSAgICAgICAgICAgICAgIDogbWluZGVudCBjc2F0b2wgYXogL2V0Yy9mc3RhYiBmw6FqbGLDs2xcbiIKKyN+ICIgICAgICAgbW91bnQgZXN6a8O2eiAgICAgICAgICAgICAgICAgICA6IGF6IGVzemvDtnogY3NhdG9sw6FzYSBheiBpc21lcnQgaGVseXJlXG4iCisjfiAiICAgICAgIG1vdW50IGvDtm55dnTDoXIgICAgICAgICAgICAgICAgIDogaXNtZXJ0IGVzemvDtnogY3NhdG9sw6FzYSBhIGvDtm55dnTDoXJiYVxuIgorI34gIiAgICAgICBtb3VudCAtdCB0w61wdXMgZXN6a8O2eiBrw7ZueXZ0w6FyIDogYSBwYXJhbmNzIMOhbHRhbMOhbm9zIGFsYWtqYVxuIgorI34gIk5lIGZlbGVkamUsIGhvZ3kgZXogdmFsw7Nqw6FiYW4gbmVtIGNzYXRvbCBlc3prw7Z6w7ZrZXQsIHTDqW55bGVnZXNlbiBheiBlc3prw7Z6w7ZuXG4iCisjfiAidGFsw6FsaGF0w7MgKGFkb3R0IHTDrXB1c8O6KSBmw6FqbHJlbmRzemVydCBjc2F0b2xqYS5cbiIKKyN+ICJFZ3kgbcOhciBsw6F0aGF0w7Mga8O2bnl2w6FyZmEgbcOhc2lrIGvDtm55dnTDoXJiYSBpcyBjc2F0b2xoYXTDszpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1iaW5kIHLDqWdpa8O2bnl2dMOhciDDumprw7ZueXZ0w6FyXG4iCisjfiAidmFneSDDoXRoZWx5ZXpoZXQgZWd5IHLDqXN6ZsOhdDpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tb3ZlIHLDqWdpa8O2bnl2dMOhciDDumprw7ZueXZ0w6FyXG4iCisjfiAiTcOzZG9zw610aGF0w7MgYSBrw7ZueXZ0w6FyIGNzYXRvbMOhc2kgdMOtcHVzYSBpczpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNoYXJlZCBrw7ZueXZ0w6FyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1zbGF2ZSBrw7ZueXZ0w6FyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1wcml2YXRlIGvDtm55dnTDoXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXVuYmluZGFibGUga8O2bnl2dMOhclxuIgorI34gIkVneSBjc2F0b2x0IHLDqXN6ZmEgYWRvdHQga8O2bnl2dMOhcsOhdCB0YXJ0YWxtYXrDsyDDtnNzemVzIGNzYXRvbMOhc3TDrXB1c8OhbmFrXG4iCisjfiAibcOzZG9zw610w6FzYTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzaGFyZWQga8O2bnl2dMOhclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNsYXZlIGvDtm55dnTDoXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJwcml2YXRlIGvDtm55dnTDoXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJ1bmJpbmRhYmxlIGvDtm55dnTDoXJcbiIKKyN+ICJBeiBlc3prw7Z6IG1lZ2FkaGF0w7MgbsOpdiBzemVyaW50LCBww6lsZMOhdWw6IC9kZXYvaGRhMSB2YWd5IC9kZXYvY2Ryb20sXG4iCisjfiAidmFneSBjw61ta2Ugc3plcmludCBhIOKAni1MIGPDrW1rZeKAnSwgaWxsZXR2ZSB1dWlkIHN6ZXJpbnQgYSDigJ4tVSB1dWlk4oCdXG4iCisjfiAia2FwY3NvbMOzIGhhc3puw6FsYXTDoXZhbC5cbiIKKyN+ICJFZ3nDqWIga2FwY3NvbMOzazogWy1uZkZyc3Z3XSBbLW8ga2FwY3NvbMOza10uXG4iCisjfiAiVG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgYWRqYSBraSBhIOKAnm1hbiA4IG1vdW504oCdIHBhcmFuY3NvdC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogb25seSByb290IGNhbiBkbyB0aGF0IChlZmZlY3RpdmUgVUlEIGlzICV1KSIKKyN+IG1zZ3N0ciAibW91bnQ6IGV6dCBjc2FrIGEgcmVuZHN6ZXJnYXpkYSB0ZWhldGkgbWVnIgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKKyN+IG1zZ3N0ciAibW91bnQ6IGV6dCBjc2FrIGEgcmVuZHN6ZXJnYXpkYSB0ZWhldGkgbWVnIgorCisjfiBtc2dpZCAibm90aGluZyB3YXMgbW91bnRlZCIKKyN+IG1zZ3N0ciAic2VtbWkgbmVtIGxldHQgY3NhdG9sdmEiCisKKyN+IG1zZ2lkICJtb3VudDogbm8gc3VjaCBwYXJ0aXRpb24gZm91bmQiCisjfiBtc2dzdHIgIm1vdW50OiBuaW5jcyBpbHllbiBwYXJ0w61jacOzIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IGZpbmQgJXMgaW4gJXMgb3IgJXMiCisjfiBtc2dzdHIgIm1vdW50OiBhKHopICVzIG5lbSB0YWzDoWxoYXTDsyBhKHopICVzIHZhZ3kgYSh6KSAlcyBhbGF0dCIKKworI34gbXNnaWQgIlttbnRlbnRdOiB3YXJuaW5nOiBubyBmaW5hbCBuZXdsaW5lIGF0IHRoZSBlbmQgb2YgJXNcbiIKKyN+IG1zZ3N0ciAiW21udGVudF06IGZpZ3llbG1lenRldMOpczogbmluY3MgYmVmZWplesWRIMO6anNvciBhKHopICVzIHbDqWfDqW5cbiIKKworI34gbXNnaWQgIlttbnRlbnRdOiBsaW5lICVkIGluICVzIGlzIGJhZCVzXG4iCisjfiBtc2dzdHIgIlttbnRlbnRdOiBhKHopICVkLiBzb3IgaGliw6FzIGEoeikgJXMgZsOhamxiYW4lc1xuIgorCisjfiBtc2dpZCAiOyByZXN0IG9mIGZpbGUgaWdub3JlZCIKKyN+IG1zZ3N0ciAiOyBhIGbDoWpsIHTDtmJiaSByw6lzemUgZmlneWVsbWVuIGvDrXbDvGwgbWFyYWQiCisKKyN+IG1zZ2lkICJub3QgZW5vdWdoIG1lbW9yeSIKKyN+IG1zZ3N0ciAibmluY3MgZWzDqWcgbWVtw7NyaWEiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNvbXBpbGVkIHdpdGhvdXQgc3VwcG9ydCBmb3IgLWZcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiBhIHByb2dyYW0gYSAtZiBrYXBjc29sw7MgdMOhbW9nYXTDoXNhIG7DqWxrw7xsIGxldHQgbGVmb3Jkw610dmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVtIgorI34gbXNnc3RyICJ1bW91bnQ6IG5lbSDDoWxsw610aGF0w7MgYmUgYSBjc29wb3J0YXpvbm9zw610w7M6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogY2Fubm90IHNldCB1c2VyIGlkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IG5lbSDDoWxsw610aGF0w7MgYmUgYSBmZWxoYXN6bsOhbMOzYXpvbm9zw610w7M6ICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgZm9yazogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBuZW0gaW5kw610aGF0w7MgcHJvZ3JhbTogJXMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBpbnZhbGlkIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyDDqXJ2w6lueXRlbGVuIGJsb2trZXN6a8O2eiIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG5vdCBtb3VudGVkIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIG5pbmNzIGNzYXRvbHZhIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBzenVwZXJibG9ra2phIG5lbSDDrXJoYXTDsyIKKworI34gbXNnaWQgIiIKKyN+ICJ1bW91bnQ6ICVzOiBkZXZpY2UgaXMgYnVzeS5cbiIKKyN+ICIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0IHVzZVxuIgorI34gIiAgICAgICAgIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKSkiCisjfiBtc2dzdHIgIiIKKyN+ICJ1bW91bnQ6ICVzOiBheiBlc3prw7Z6IGZvZ2xhbHQuXG4iCisjfiAiICAgICAgICAoRWd5ZXMgZXNldGVrYmVuIGF6IGVzemvDtnp0IGhhc3puw6Fsw7MgZm9seWFtYXRva3LDs2wgaGFzem5vc1xuIgorI34gIiAgICAgICAgIGluZm9ybcOhY2nDs2thdCB0YWzDoWwgYXogbHNvZig4KSB2YWd5IGZ1c2VyKDEpKSIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG5vdCBmb3VuZCIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBuZW0gdGFsw6FsaGF0w7MiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBtdXN0IGJlIHN1cGVydXNlciB0byB1bW91bnQiCisjfiBtc2dzdHIgInVtb3VudDogJXMgbGV2w6FsYXN6dMOhc8OhaG96IHJlbmRzemVyZ2F6ZGFpIGpvZyBzesO8a3PDqWdlcyIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGJsb2NrIGRldmljZXMgbm90IHBlcm1pdHRlZCBvbiBmcyIKKyN+IG1zZ3N0ciAidW1vdW50OiBhIGJsb2trZXN6a8O2esO2ayBuZW0gZW5nZWTDqWx5ZXpldHRlayBlemVuIGEgZsOhamxyZW5kc3plcmVuICglcykiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiAlcyIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gY2hkaXIgdG8gJXM6ICVtIgorI34gbXNnc3RyICJtb3VudDogaGliYSBhKHopICVzIG3Ds2Rqw6FuYWsgbcOzZG9zw610w6FzYWtvcjogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gb2J0YWluIGN1cnJlbnQgZGlyZWN0b3J5OiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IGhpYmEgYSh6KSAlcyBtw7NkasOhbmFrIG3Ds2Rvc8OtdMOhc2Frb3I6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogbW91bnRwb2ludCBtb3ZlZCAoJXMgLT4gJXMpIgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlcyBjc2F0b2zDoXNpIHBvbnQgbmVtIGzDqXRlemlrIgorCisjfiBtc2dpZCAibm8gdW1vdW50MiwgdHJ5aW5nIHVtb3VudC4uLlxuIgorI34gbXNnc3RyICJuZW0gdGFsw6FsaGF0w7MgYXogdW1vdW50Miwga8Otc8OpcmxldCBheiB1bW91bnQgaGFzem7DoWxhdMOhcmEuLi5cbiIKKworI34gbXNnaWQgInVtb3VudDogJXMgYnVzeSAtIHJlbW91bnRlZCByZWFkLW9ubHlcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiBhKHopICVzIGZvZ2xhbHQgLSDDumpyYWNzYXRvbHZhIGNzYWsgb2x2YXNoYXTDs2vDqW50XG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNvdWxkIG5vdCByZW1vdW50ICVzIHJlYWQtb25seVxuIgorI34gbXNnc3RyICJ1bW91bnQ6IG5lbSBjc2F0b2xoYXTDsyDDumpyYSBjc2FrIG9sdmFzaGF0w7Nrw6ludCBhIGvDtnZldGtlesWROiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIGhhcyBiZWVuIHVubW91bnRlZFxuIgorI34gbXNnc3RyICIlcyBsZXbDoWxhc3p0dmFcbiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IGZpbmQgbGlzdCBvZiBmaWxlc3lzdGVtcyB0byB1bm1vdW50IgorI34gbXNnc3RyICJ1bW91bnQ6IG5lbSB0YWzDoWxoYXTDsyBhIGxldsOhbGFzenRhbmTDsyBmw6FqbHJlbmRzemVyZWsgbGlzdMOhamEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiB1bW91bnQgLWggfCAtVlxuIgorI34gIiAgICAgICB1bW91bnQgLWEgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIFstdCB2ZnN0eXBlc10gWy1PIG9wdHNdXG4iCisjfiAiICAgICAgIHVtb3VudCBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gc3BlY2lhbCB8IG5vZGUuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkhhc3puw6FsYXQ6IHVtb3VudCBbLWhWXVxuIgorI34gIiAgICAgICAgICAgdW1vdW50IC1hIFstZl0gWy1yXSBbLW5dIFstdl0gWy10IGbDoWpscmVuZHN6ZXJ0w61wdXNdIFstTyBrYXBjc29sw7NrXVxuIgorI34gIiAgICAgICAgICAgdW1vdW50IFstZl0gWy1yXSBbLW5dIFstdl0gc3BlY2nDoWxpcyB8IGNzb23Ds3BvbnQuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJ29mZnNldD0lcycgb3B0aW9uc1xuIgorI34gbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJkZXZpY2UgJXMgaXMgYXNzb2NpYXRlZCB3aXRoICVzXG4iCisjfiBtc2dzdHIgImZpZ3llbG1lenRldMOpczogYSh6KSAlcyBtw6FyIHTDoXJzw610dmEgdmFuIGEga8O2dmV0a2V6xZFow7Z6OiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImRldmljZSAlcyBpcyBub3QgYXNzb2NpYXRlZCB3aXRoICVzXG4iCisjfiBtc2dzdHIgImZpZ3llbG1lenRldMOpczogYSh6KSAlcyBtw6FyIHTDoXJzw610dmEgdmFuIGEga8O2dmV0a2V6xZFow7Z6OiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNhbm5vdCB1bm1vdW50IFwiXCJcbiIKKyN+IG1zZ3N0ciAiTmVtIHbDoWxhc3p0aGF0w7MgbGU6IOKAnuKAnVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRyeWluZyB0byB1bm1vdW50ICVzXG4iCisjfiBtc2dzdHIgIkvDrXPDqXJsZXQgYSBrw7Z2ZXRrZXrFkSBsZXbDoWxhc3p0w6Fzw6FyYTogJXNcbiIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBmaW5kICVzIGluIG10YWJcbiIKKyN+IG1zZ3N0ciAiQSh6KSAlcyBuZW0gdGFsw6FsaGF0w7MgYXogbXRhYiBmw6FqbGJhblxuIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBpcyBub3QgbW91bnRlZCAoYWNjb3JkaW5nIHRvIG10YWIpIgorI34gbXNnc3RyICJ1bW91bnQ6IGEoeikgJXMgbmluY3MgY3NhdG9sdmEgKGF6IG10YWIgZsOhamwgYWxhcGrDoW4pIgorCisjfiBtc2dpZCAidW1vdW50OiBpdCBzZWVtcyAlcyBpcyBtb3VudGVkIG11bHRpcGxlIHRpbWVzIgorI34gbXNnc3RyICJ1bW91bnQ6IMO6Z3kgdMWxbmlrLCBob2d5IGEoeikgJXMgdMO2YmJzesO2ciBrZXLDvGx0IGNzYXRvbMOhc3JhIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBpcyBub3QgaW4gdGhlIGZzdGFiIChhbmQgeW91IGFyZSBub3Qgcm9vdCkiCisjfiBtc2dzdHIgInVtb3VudDogYSh6KSAlcyBuaW5jcyBheiBmc3RhYiBmw6FqbGJhbiAow6lzIMOWbiBuZW0gcmVuZHN6ZXJnYXpkYSkiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIG1vdW50IGRpc2FncmVlcyB3aXRoIHRoZSBmc3RhYiIKKyN+IG1zZ3N0ciAidW1vdW50OiBhKHopICVzIGNzYXRvbMOhcyBuZW0gZWd5ZXppayBheiBmc3RhYiB0YXJ0YWxtw6F2YWwiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IG9ubHkgJXMgY2FuIHVubW91bnQgJXMgZnJvbSAlcyIKKyN+IG1zZ3N0ciAidW1vdW50OiBjc2FrIGEoeikgJXMgZmVsaGFzem7DoWzDsyB2w6FsYXN6dGhhdGphIGxlIGEoeikgJXMgZXN6a8O2enQgYSh6KSAlcyBhbMOzbCIKKworI34gbXNnaWQgInVtb3VudDogb25seSByb290IGNhbiBkbyB0aGF0IgorI34gbXNnc3RyICJ1bW91bnQ6IGV6dCBjc2FrIGEgcmVuZHN6ZXJnYXpkYSB0ZWhldGkgbWVnIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPHR0eT4gWy4uLl1cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1TLCAtLXNldC1kZWZhdWx0LXRocmVzaG9sZCA8bnVtPiAgc2V0IGRlZmF1bHQgdGhyZXNob2xkIHZhbHVlXG4iCisjfiBtc2dzdHIgIiVzOiBheiBhbGFww6lydGVsbWV6ZXR0IGvDvHN6w7Ziw6lydMOpazogJWxkLCBheiBhbGFww6lydGVsbWV6ZXR0IGlkxZFrb3Jsw6F0OiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiRmlsZSAlcywgRm9yIHRocmVzaG9sZCB2YWx1ZSAlbHUsIE1heGltdW0gY2hhcmFjdGVycyBpbiBmaWZvIHdlcmUgJWQsXG4iCisjfiAiYW5kIHRoZSBtYXhpbXVtIHRyYW5zZmVyIHJhdGUgaW4gY2hhcmFjdGVycy9zZWNvbmQgd2FzICVmIgorI34gbXNnc3RyICIiCisjfiAiQSh6KSAlcyBmw6FqbCAlbHUga8O8c3rDtmLDqXJ0w6lrw6loZXogYSBtYXhpbcOhbGlzIGthcmFrdGVyc3rDoW0gYSBmaWZvLWJhbjogJWRcbiIKKyN+ICLDqXMgYSBtYXhpbcOhbGlzIMOhdHZpdGVsaSBzZWJlc3PDqWc6ICVmIGthcmFrdGVyL23DoXNvZHBlcmMgdm9sdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJGaWxlICVzLCBGb3IgdGhyZXNob2xkIHZhbHVlICVsdSBhbmQgdGltZW91dCB2YWx1ZSAlbHUsIE1heGltdW0gY2hhcmFjdGVycyBpbiBmaWZvIHdlcmUgJWQsXG4iCisjfiAiYW5kIHRoZSBtYXhpbXVtIHRyYW5zZmVyIHJhdGUgaW4gY2hhcmFjdGVycy9zZWNvbmQgd2FzICVmIgorI34gbXNnc3RyICIiCisjfiAiQSh6KSAlcyBmw6FqbCAlbHUga8O8c3rDtmLDqXJ0w6lrw6loZXogw6lzICVsdSBpZMWRa29ybMOhdGrDoWhveiBhIG1heGltw6FsaXMga2FyYWt0ZXJzesOhbSBhIGZpZm8tYmFuOiAlZFxuIgorI34gIsOpcyBhIG1heGltw6FsaXMgw6F0dml0ZWxpIHNlYmVzc8OpZzogJWYga2FyYWt0ZXIvbcOhc29kcGVyYyB2b2x0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGlzc3VlIENZR0VUTU9OIG9uICVzIgorI34gbXNnc3RyICJOZW0gYWRoYXTDsyBraSBhIENZR0VUTU9OIGjDrXbDoXMgYSBrw7Z2ZXRrZXrFkW46ICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBnZXQgdGhyZXNob2xkIGZvciAlcyIKKyN+IG1zZ3N0ciAiTmVtIGvDqXJoZXTFkSBsZSBhKHopICVzIGvDvHN6w7Ziw6lydMOpa2U6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGdldCB0aW1lb3V0IGZvciAlcyIKKyN+IG1zZ3N0ciAiTmVtIGvDqXJoZXTFkSBsZSBhKHopICVzIGlkxZFrb3Jsw6F0amE6ICVzXG4iCisKKyN+IG1zZ2lkICIlczogJWx1IGludHMsICVsdS8lbHUgY2hhcnM7IGZpZm86ICVsdSB0aHJlc2gsICVsdSB0bW91dCwgJWx1IG1heCwgJWx1IG5vd1xuIgorI34gbXNnc3RyICIlczogJWx1IGVnw6lzeiwgJWx1LyVsdSBrYXJha3RlcjsgZmlmbzogJWx1IGvDvHN6w7ZiLCAlbHUgaWTFkWtvcmzDoXQsICVsdSBtYXgsICVsdSBtb3N0XG4iCisKKyN+IG1zZ2lkICIgICAlZiBpbnQvc2VjOyAlZiByZWMsICVmIHNlbmQgKGNoYXIvc2VjKVxuIgorI34gbXNnc3RyICIgICAlZiAgZWfDqXN6L21wOyAlZiByw7ZnesOtdHZlLCAlZiBrw7xsZHZlIChrYXIvbXApXG4iCisKKyN+IG1zZ2lkICIlczogJWx1IGludHMsICVsdSBjaGFyczsgZmlmbzogJWx1IHRocmVzaCwgJWx1IHRtb3V0LCAlbHUgbWF4LCAlbHUgbm93XG4iCisjfiBtc2dzdHIgIiVzOiAlbHUgZWfDqXN6LCAlbHUga2FyYWt0ZXI7IGZpZm86ICVsdSBrw7xzesO2YiwgJWx1IGlkxZFrb3Jsw6F0LCAlbHUgbWF4LCAlbHUgbW9zdFxuIgorCisjfiBtc2dpZCAiICAgJWYgaW50L3NlYzsgJWYgcmVjIChjaGFyL3NlYylcbiIKKyN+IG1zZ3N0ciAiICAgJWYgZWfDqXN6L21wOyAlZiByw7ZnesOtdHZlIChrYXIvbXApXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBpbnRlcnZhbCB2YWx1ZSIKKyN+IG1zZ3N0ciAiw4lydsOpbnl0ZWxlbiBpZMWRa29ybMOhdMOpcnTDqWs6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBpbnRlcnZhbCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIsOJcnbDqW55dGVsZW4gaWTFkWtvcmzDoXTDqXJ0w6lrOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgc2V0IHZhbHVlIgorI34gbXNnc3RyICLDiXJ2w6lueXRlbGVuIGJlw6FsbMOtdG90dCDDqXJ0w6lrOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgc2V0IHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiw4lydsOpbnl0ZWxlbiBiZcOhbGzDrXRvdHQgw6lydMOpazogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdmFsdWUiCisjfiBtc2dzdHIgIsOJcnbDqW55dGVsZW4gYWxhcMOpcnRlbG1lemV0dCDDqXJ0w6lrOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIsOJcnbDqW55dGVsZW4gYWxhcMOpcnRlbG1lemV0dCDDqXJ0w6lrOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgc2V0IHRpbWUgdmFsdWUiCisjfiBtc2dzdHIgIsOJcnbDqW55dGVsZW4gYmXDoWxsw610b3R0IGlkxZHDqXJ0w6lrOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgc2V0IHRpbWUgdmFsdWU6ICVkIgorI34gbXNnc3RyICLDiXJ2w6lueXRlbGVuIGJlw6FsbMOtdG90dCBpZMWRw6lydMOpazogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdGltZSB2YWx1ZSIKKyN+IG1zZ3N0ciAiw4lydsOpbnl0ZWxlbiBhbGFww6lydGVsbWV6ZXR0IGlkxZHDqXJ0w6lrOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB0aW1lIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiw4lydsOpbnl0ZWxlbiBhbGFww6lydGVsbWV6ZXR0IGlkxZHDqXJ0w6lrOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzZXQgJXMgdG8gdGhyZXNob2xkICVkIgorI34gbXNnc3RyICJBKHopICVzIGvDvHN6w7Ziw6lydMOpa2UgbmVtIMOhbGzDrXRoYXTDsyAlZCDDqXJ0w6lrcmU6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHNldCAlcyB0byB0aW1lIHRocmVzaG9sZCAlZCIKKyN+IG1zZ3N0ciAiQSh6KSAlcyBuZW0gw6FsbMOtdGhhdMOzIGJlIGEoeikgJWQgaWTFkWvDvHN6w7Ziw6lydMOpa3JlOiAlc1xuIgorCisjfiBtc2dpZCAiJXM6ICVsZCBjdXJyZW50IHRocmVzaG9sZCBhbmQgJWxkIGN1cnJlbnQgdGltZW91dFxuIgorI34gbXNnc3RyICIlczogYXogYWt0dcOhbGlzIGvDvHN6w7Ziw6lydMOpazogJWxkLCBheiBha3R1w6FsaXMgaWTFkWtvcmzDoXQ6ICVsZFxuIgorCisjfiBtc2dpZCAiJXM6ICVsZCBkZWZhdWx0IHRocmVzaG9sZCBhbmQgJWxkIGRlZmF1bHQgdGltZW91dFxuIgorI34gbXNnc3RyICIlczogYXogYWxhcMOpcnRlbG1lemV0dCBrw7xzesO2YsOpcnTDqWs6ICVsZCwgYXogYWxhcMOpcnRlbG1lemV0dCBpZMWRa29ybMOhdDogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlRpbWUgZWxhcHNlZCBzaW5jZSByZWZlcmVuY2UgdGltZSBoYXMgYmVlbiAlLjZmIHNlY29uZHMuXG4iCisjfiAiRGVsYXlpbmcgZnVydGhlciB0byByZWFjaCB0aGUgbmV3IHRpbWUuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJBIHJlZmVyZW5jaWEgaWTFkSDDs3RhIGVsdGVsdCBpZMWRICUuNmYgbcOhc29kcGVyYy5cbiIKKyN+ICJWw6FyYWtvesOhcyBhIGvDtnZldGtlesWRIGVnw6lzeiBtw6Fzb2RwZXJjaWcuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlIgorI34gbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXRlcm0gPHRlcm1pbmFsX25hbWU+XG4iCisjfiBtc2dzdHIgIiAgWyAtdGVybSB0ZXJtaW7DoWxfbsOpdiBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yZXNldFxuIgorI34gbXNnc3RyICIgIFsgLXJlc2V0IF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWluaXRpYWxpemVcbiIKKyN+IG1zZ3N0ciAiICBbIC1pbml0aWFsaXplIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWN1cnNvciA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWN1cnNvciBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yZXBlYXQgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1yZXBlYXQgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYXBwY3Vyc29ya2V5cyA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbGluZXdyYXAgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1saW5ld3JhcCBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1kZWZhdWx0XG4iCisjfiBtc2dzdHIgIiAgWyAtZGVmYXVsdCBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1pbnZlcnNlc2NyZWVuIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtaW52ZXJzZXNjcmVlbiBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1ib2xkIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtYm9sZCBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1ibGluayA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWJsaW5rIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXJldmVyc2UgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1yZXZlcnNlIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXVuZGVybGluZSA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLXVuZGVybGluZSBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1zdG9yZVxuIgorI34gbXNnc3RyICIgIFsgLXN0b3JlIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWNsZWFyIDxhbGx8cmVzdD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1jbGVhciBbYWxsfHJlc3RdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICAgICAodGFibiA9IDEtMTYwKVxuIgorI34gbXNnc3RyICIgIFsgLXRhYnMgWyB0YWIxIHRhYjIgdGFiMyAuLi4gXSBdICAgICAgKHRhYm4gPSAxLTE2MClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWNscnRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICAodGFibiA9IDEtMTYwKVxuIgorI34gbXNnc3RyICIgIFsgLWNscnRhYnMgWyB0YWIxIHRhYjIgdGFiMyAuLi4gXSBdICAgKHRhYm4gPSAxLTE2MClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXJlZ3RhYnMgPDEtMTYwPlxuIgorI34gbXNnc3RyICIgIFsgLXJlZ3RhYnMgWzEtMTYwXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1ibGFuayA8MC02MHxmb3JjZXxwb2tlPlxuIgorI34gbXNnc3RyICIgIFsgLWJsYW5rIFswLTYwfGZvcmNlfHBva2VdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWR1bXAgICA8MS1OUl9DT05TT0xFUz5cbiIKKyN+IG1zZ3N0ciAiICBbIC1kdW1wICAgWzEtS09OWk9MT0tfU1rDgU1BXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1hcHBlbmQgPDEtTlJfQ09OU09MRVM+XG4iCisjfiBtc2dzdHIgIiAgWyAtYXBwZW5kIFsxLUtPTlpPTE9LX1Naw4FNQV0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZmlsZSBkdW1wZmlsZW5hbWVcbiIKKyN+IG1zZ3N0ciAiICBbIC1maWxlIGtpw61yYXTDoXNpX2bDoWpsbsOpdiBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1tc2cgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1tc2cgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbXNnbGV2ZWwgPDAtOD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1tc2dsZXZlbCBbMC04XSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1wb3dlcmRvd24gPDAtNjA+XG4iCisjfiBtc2dzdHIgIiAgWyAtcG93ZXJkb3duIFswLTYwXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1ibGVuZ3RoIDwwLTIwMDA+XG4iCisjfiBtc2dzdHIgIiAgWyAtYmxlbmd0aCBbMC0yMDAwXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1iZnJlcSBmcmVxbnVtYmVyXG4iCisjfiBtc2dzdHIgIiAgWyAtYmZyZXEgZnJla3ZlbmNpYSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXJyb3Igd3JpdGluZyBzY3JlZW5kdW1wIgorI34gbXNnc3RyICJIaWJhIGEga8OpcGVybnnFkS1racOtcmF0w6FzIMOtcsOhc2Ega8O2emJlblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNvdWxkbid0IHJlYWQgbmVpdGhlciAvZGV2L3Zjc2EwIG5vciAvZGV2L3Zjc2EiCisjfiBtc2dzdHIgIk5lbSBueWl0aGF0w7MgbWVnIGEgL2Rldi90dHkxIHZhZ3kgL2Rldi92Yy8xIGVzemvDtnoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gIlxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworI34gbXNnaWQgImxpbmUgdG9vIGxvbmciCisjfiBtc2dzdHIgImEgc29yIHTDumwgaG9zc3rDuiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YWlkcGlkIGZhaWxlZCIKKyN+IG1zZ3N0ciAiYSBzZXR1aWQoKSBow612w6FzYSBtZWdoacO6c3VsdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorI34gbXNnc3RyICJBKHopICVkLiBwYXJ0w61jacOzIG3DoXIgbMOpdGV6aWsuIFTDtnLDtmxqZSBsZSBheiBpc23DqXRlbHQgaG96esOhYWTDoXMgZWzFkXR0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAlemQgaXMgYWxyZWFkeSBkZWZpbmVkLiBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCisjfiBtc2dzdHIgIkEoeikgJWQuIHBhcnTDrWNpw7MgbcOhciBsw6l0ZXppay4gVMO2csO2bGplIGxlIGF6IGlzbcOpdGVsdCBob3p6w6FhZMOhcyBlbMWRdHQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogIEJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LiBUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLiIKKyN+IG1zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhIEJMS0dFVFNJWmxFIGlvY3RsIG1lZ2hpw7pzdWx0IGEoeikgJXMgZXN6a8O2esO2bi4gQSh6KSAlZCBnZW9tZXRyaWEtY2lsaW5kZXLDqXJ0w6lrIGtlcsO8bCBmZWxoYXN6bsOhbMOhc3JhLiBFeiBheiDDqXJ0w6lrIGNzb25rw610w6FzcmEga2Vyw7xsaGV0IDMzLDggR0ItbsOhbCBuYWd5b2JiIGVzemvDtnrDtmvDtm4uXG4iCisKKyN+IG1zZ2lkICJzZXQgYmxvY2tzaXplIgorI34gbXNnc3RyICJibG9ra23DqXJldCBiZcOhbGzDrXTDoXNhIgorCisjfiBtc2dpZCAib25lIGJhZCBibG9ja1xuIgorI34gbXNnc3RyICJlZ3kgaGliw6FzIGJsb2trXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uIHR5cGUgaGV4IG9yIHV1aWQiCisjfiBtc2dzdHIgImF6IGF6b25vc8OtdMOzIGVsw6lyw6lzZSBtZWd0YWdhZHZhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJlYWQgZmFpbGVkICVzIgorI34gbXNnc3RyICJheiBvbHZhc8OhcyBtZWdoacO6c3VsdDogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBmYWlsZWQgJXMiCisjfiBtc2dzdHIgImEgcG96aWNpb27DoWzDoXMgbWVnaGnDunN1bHQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBmYWlsZWQ6ICVkIgorI34gbXNnc3RyICJhIHBvemljaW9uw6Fsw6FzIG1lZ2hpw7pzdWx0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGZhaWxlZDogJWQiCisjfiBtc2dzdHIgImF6IMOtcsOhcyBtZWdoacO6c3VsdDogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkIgorI34gbXNnc3RyICJOaW5jc2VuZWsgcGFydMOtY2nDs2sgbWVnYWR2YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgbGlzdCBhbGwgdXNlZCBkZXZpY2VzXG4iCisjfiAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4gWy4uLl0gIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCisjfiAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIGRldGFjaCBhbGwgdXNlZCBkZXZpY2VzXG4iCisjfiAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorI34gIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICByZXNpemUgZGV2aWNlXG4iCisjfiAiIC1qLCAtLWFzc29jaWF0ZWQgPGZpbGU+ICAgICAgIGxpc3QgYWxsIGRldmljZXMgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiSGFzem7DoWxhdDpcbiIKKyN+ICIgJTEkcyBodXJva19lc3prw7Z6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mb3Jtw6FjacOza8OpcsOpc1xuIgorI34gIiAlMSRzIC1hIHwgLS1hbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc3puw6FsdGFrIGZlbHNvcm9sw6FzYVxuIgorI34gIiAlMSRzIC1kIHwgLS1kZXRhY2ggaHVyb2tlc3prw7Z6ICAgICAgICAgICAgICAgICAgICB0w7ZybMOpc1xuIgorI34gIiAlMSRzIC1mIHwgLS1maW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5lbSBoYXN6bsOhbHRhayBrZXJlc8Opc2VcbiIKKyN+ICIgJTEkcyAtaiB8IC0tYXNzb2NpYXRlZCA8ZsOhamw+IFstbyA8c3rDoW0+XSAgYSA8ZsOhamw+LWhveiB0w6Fyc8OtdG90dGFrIGZlbHNvcm9sw6FzYVxuIgorI34gIiAlMSRzIFsga2FwY3NvbMOzayBdIHstZnwtLWZpbmR8aHVyb2tlc3prw7Z6fSBmw6FqbCAgIGJlw6FsbMOtdMOhc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlLCBvZmZzZXQgaXMgbm90IDUxMi1ieXRlIGFsaWduZWQuIgorI34gbXNnc3RyICJuZW0gbGVoZXQgdmlzc3phw6FsbMOtdGFuaSBhIGxhcG96w7N0ZXLDvGxldC1lc3prw7Z6dCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnNzdXBvcnRlZCAtLWxvY2FsLWxpbmUgbW9kZSBhcmd1bWVudCIKKyN+IG1zZ3N0ciAiJXM6IGlzbWVyZXRsZW4gYXJndW1lbnR1bTogJXNcbiIKKworI34gbXNnaWQgInVzYWdlOlxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OlxuIgorCisjfiBtc2dpZCAiXHROT1RFOiBlbHZ0dW5lIG9ubHkgd29ya3Mgd2l0aCAyLjQga2VybmVsc1xuIgorI34gbXNnc3RyICJcdE1FR0pFR1law4lTOiBheiBlbHZ0dW5lIGNzYWsgMi40LWVzIGtlcm5lbGVra2VsIG3FsWvDtmRpa1xuIgorCisjfiBtc2dpZCAibWlzc2luZyBibG9ja2RldmljZSwgdXNlIC1oIGZvciBoZWxwXG4iCisjfiBtc2dzdHIgImhpw6FueXrDsyBibG9ra2VzemvDtnosIHNlZ8OtdHPDqWfDqXJ0IGhhc3puw6FsamEgYSAtaCBrYXBjc29sw7N0XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiZWx2dHVuZSBpcyBvbmx5IHVzZWZ1bCBvbiBvbGRlciBrZXJuZWxzO1xuIgorI34gImZvciAyLjYgdXNlIElPIHNjaGVkdWxlciBzeXNmcyB0dW5hYmxlcyBpbnN0ZWFkLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkF6IGVsdnR1bmUgY3NhayByw6lnZWJiaSBrZXJuZWxla2tlbCBoYXN6bsOhbGhhdMOzLlxuIgorI34gIkEgMi42LWhveiBoYXN6bsOhbGphIGF6IElPIMO8dGVtZXrFkSBzeXNmcyBhbGF0dGkgYmXDoWxsw610w7NmZWzDvGxldMOpdC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlZGl0aW9uIG51bWJlciBhcmd1bWVudCBmYWlsZWQiCisjfiBtc2dzdHIgInJ0YyByaWFzenTDoXMgZW5nZWTDqWx5ZXrDqXNlIgorCisjfiBtc2dpZCAiZnN5bmMgZmFpbGVkIgorI34gbXNnc3RyICJheiBmc3luYyBtZWdoacO6c3VsdCIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICJQcmludCB2ZXJzaW9uOlxuIgorI34gIiAgICAgICAgJXMgLXZcbiIKKyN+ICJQcmludCBwYXJ0aXRpb24gdGFibGU6XG4iCisjfiAiICAgICAgICAlcyAtUCB7cnxzfHR9IFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+ICJJbnRlcmFjdGl2ZSB1c2U6XG4iCisjfiAiICAgICAgICAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICItYTogVXNlIGFycm93IGluc3RlYWQgb2YgaGlnaGxpZ2h0aW5nO1xuIgorI34gIi16OiBTdGFydCB3aXRoIGEgemVybyBwYXJ0aXRpb24gdGFibGUsIGluc3RlYWQgb2YgcmVhZGluZyB0aGUgcHQgZnJvbSBkaXNrO1xuIgorI34gIi1jIEMgLWggSCAtcyBTOiBPdmVycmlkZSB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgbnVtYmVyIG9mIGN5bGluZGVycyxcbiIKKyN+ICIgICAgICAgICAgICAgICAgdGhlIG51bWJlciBvZiBoZWFkcyBhbmQgdGhlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiSGFzem7DoWxhdDpcbiIKKyN+ICJWZXJ6acOzIGtpw61yw6FzYTpcbiIKKyN+ICIgICAgICAgICAlcyAtdlxuIgorI34gIlBhcnTDrWNpw7NzIHTDoWJsYSBracOtcsOhc2E6XG4iCisjfiAiICAgICAgICAgJXMgLVAge3J8c3x0fSBba2FwY3NvbMOza10gZXN6a8O2elxuIgorI34gIkludGVyYWt0w612IGhhc3puw6FsYXQ6XG4iCisjfiAiICAgICAgICAgJXMgW2thcGNzb2zDs2tdIGVzemvDtnpcbiIKKyN+ICJcbiIKKyN+ICJLYXBjc29sw7NrOlxuIgorI34gIi1hOiBOeWlsYWsgaGFzem7DoWxhdGEga2lqZWzDtmzDqXMgaGVseWV0dDtcbiIKKyN+ICItejogSW5kw610w6FzIMO8cmVzIHBhcnTDrWNpw7NzIHTDoWJsw6F2YWwsIGEgbGVtZXpyxZFsIHTDtnJ0w6luxZEgYmVvbHZhc8OhcyBoZWx5ZXR0O1xuIgorI34gIi1jIEMgLWggRiAtcyBTOiBBIGtlcm5lbCDDoWx0YWwgZmVsaXNtZXJ0IGNpbGluZGVyLSwgZmVqLSwgw6lzXG4iCisjfiAiICAgICAgICAgICAgICAgICAgc3pla3RvcnN6w6FtLcOpcnTDqWtlayBmZWzDvGxiw61yw6Fsw6FzYS5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIldyaXRpbmcgZGlza2xhYmVsIHRvICVzLlxuIgorI34gbXNnc3RyICJMZW1lemPDrW1rZSDDrXLDoXNhIGEga8O2dmV0a2V6xZFyZTogJXMuXG4iCisKKyN+IG1zZ2lkICJMYXN0ICVzIG9yICtzaXplIG9yICtzaXplTSBvciArc2l6ZUsiCisjfiBtc2dzdHIgIlV0b2xzw7MgJXMgdmFneSArbcOpcmV0IHZhZ3kgK23DqXJldE0gdmFneSArbcOpcmV0SyIKKworI34gbXNnaWQgIlJlYWRpbmcgZGlza2xhYmVsIG9mICVzIGF0IHNlY3RvciAlZC5cbiIKKyN+IG1zZ3N0ciAiQSh6KSAlcyBsZW1lemPDrW1rZSBvbHZhc8Ohc2EgYSh6KSAlZC4gc3pla3Rvcm7DoWwuXG4iCisKKyN+IG1zZ2lkICJCU0QgZGlza2xhYmVsIGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCisjfiBtc2dzdHIgIkJTRCBsZW1lemPDrW1rZSBwYXJhbmNzIChtID0gc8O6Z8OzKTogIgorCisjfiBtc2dpZCAiZHJpdmVkYXRhOiAiCisjfiBtc2dzdHIgIm1lZ2hhanTDs2FkYXRvazogIgorCisjfiBtc2dpZCAiIyAgICAgICBzdGFydCAgICAgICBlbmQgICAgICBzaXplICAgICBmc3R5cGUgICBbZnNpemUgYnNpemUgICBjcGddXG4iCisjfiBtc2dzdHIgIiMgICAgICAga2V6ZGV0ICAgICAgdsOpZyAgICAgIG3DqXJldCAgICBmcnTDrXB1cyAgICBbZm3DqXJldCBibcOpcmV0IGNwZ11cbiIKKworI34gbXNnaWQgIk11c3QgYmUgPD0gc2VjdG9ycy90cmFjayAqIHRyYWNrcy9jeWxpbmRlciAoZGVmYXVsdCkuXG4iCisjfiBtc2dzdHIgIkV6IG5lbSBsZWhldCBuYWd5b2JiLCBtaW50IGEgc8Ohdm9ua8OpbnRpIHN6ZWt0b3JvayBzesOhbWEgKiBjaWxpbmRlcmVua8OpbnRpIHPDoXZvayBzesOhbWEgKGFsYXDDqXJ0ZWxtZXpldHQpLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIChhLSVjKTogIgorI34gbXNnc3RyICJQYXJ0w61jacOzIChhLSVjKTogIgorCisjfiBtc2dpZCAiV2FybmluZzogdG9vIG1hbnkgcGFydGl0aW9ucyAoJWQsIG1heGltdW0gaXMgJWQpLlxuIgorI34gbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6IHTDumwgc29rIHBhcnTDrWNpw7MgKCVkLCBhIG1heGltdW06ICVkKS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJTeW5jaW5nIGRpc2tzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGVtZXplayBzemlua3Jvbml6w6Fsw6FzYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gc2VlayBvbiAlcyIKKyN+IG1zZ3N0ciAiTmVtIGxlaGV0IGEoeikgJXMgZXN6a8O2esO2biBwb3ppY2lvbsOhbG5pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgorI34gbXNnc3RyICJBKHopICVzIG5lbSDDrXJoYXTDs1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhdGFsIGVycm9yIgorI34gbXNnc3RyICJWw6lnemV0ZXMgaGliYVxuIgorCisjfiBtc2dpZCAiQ29tbWFuZCBhY3Rpb24iCisjfiBtc2dzdHIgIlBhcmFuY3MgTcWxdmVsZXQiCisKKyN+IG1zZ2lkICJZb3UgbXVzdCBzZXQiCisjfiBtc2dzdHIgIkJlw6FsbMOtdGFuZMOzIgorCisjfiBtc2dpZCAiaGVhZHMiCisjfiBtc2dzdHIgImZlamVrIgorCisjfiBtc2dpZCAiIGFuZCAiCisjfiBtc2dzdHIgIiDDqXMgIgorCisjfiBtc2dpZCAiVW5zdXBwb3J0ZWQgc3VmZml4OiAnJXMnLlxuIgorI34gbXNnc3RyICJOZW0gdMOhbW9nYXRvdHQgdXTDs3RhZzog4oCeJXPigJ0uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiU3VwcG9ydGVkOiAxMF5OOiBLQiAoS2lsb0J5dGUpLCBNQiAoTWVnYUJ5dGUpLCBHQiAoR2lnYUJ5dGUpXG4iCisjfiAiICAgICAgICAgICAgMl5OOiBLICAoS2liaUJ5dGUpLCBNICAoTWViaUJ5dGUpLCBHICAoR2liaUJ5dGUpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJUw6Ftb2dhdG90dDogMTBeTjogS0IgKEtpbG9CeXRlKSwgTUIgKE1lZ2FCeXRlKSwgR0IgKEdpZ2FCeXRlKVxuIgorI34gIiAgICAgICAgICAgIDJeTjogSyAgKEtpYmlCeXRlKSwgTSAgKE1lYmlCeXRlKSwgRyAgKEdpYmlCeXRlKVxuIgorCisjfiBtc2dpZCAiVXNpbmcgZGVmYXVsdCB2YWx1ZSAldVxuIgorI34gbXNnc3RyICJBeiBhbGFww6lydGVsbWV6ZXR0ICV1IMOpcnTDqWsga2Vyw7xsIGZlbGhhc3puw6Fsw6FzcmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkIE1CLCAlbGxkIGJ5dGVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiJXMgbGVtZXo6ICVsZCBNQiwgJWxsZCkgYsOhanRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkLiVsZCBHQiwgJWxsdSBieXRlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIiVzIGxlbWV6OiAlbGQuJWxkIEdCLCAlbGxkIGLDoWp0XG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLCAlbGx1IHNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiLCDDtnNzemVzZW4gJWxsdSBzemVrdG9yIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCB3cml0ZSBkaXNrIGxhYmVsIgorI34gbXNnc3RyICJBIGxlbWV6bWVnaGFqdMOzIG5lbSDDrXJoYXTDsyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJFcnJvciBjbG9zaW5nIGZpbGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkhpYmEgYSBmw6FqbCBsZXrDoXLDoXNha29yXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogc2V0dGluZyBzZWN0b3Igb2Zmc2V0IGZvciBET1MgY29tcGF0aWJpbGl0eVxuIgorI34gbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6IGEgc3pla3RvcmVsdG9sw6FzIGJlw6FsbMOtdMOhc2EgRE9TLWtvbXBhdGliaWxpdGlzIG3Ds2RyYVxuIgorCisjfiBtc2dpZCAiRGV0ZWN0ZWQgYW4gT1NGLzEgZGlza2xhYmVsIG9uICVzLCBlbnRlcmluZyBkaXNrbGFiZWwgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiT1NGLzEgbGVtZXpjw61ta2UgdGFsw6FsaGF0w7MgYSh6KSAlcyBlc3prw7Z6w7ZuLCBsZW1lemPDrW1rZSBtw7NkcmEgdsOhbHTDoXMuXG4iCisKKyN+IG1zZ2lkICJOZXcgZGlzayBpZGVudGlmaWVyIChjdXJyZW50IDB4JTA4eCk6ICIKKyN+IG1zZ3N0ciAiw5pqIGxlbWV6YXpvbm9zw610w7MgKGplbGVubGVnIDB4JTA4eCk6ICIKKworI34gbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGVcbiIKKyN+IG1zZ3N0ciAiTmVtIMOpcmhldMWRIGVsIHN6YWJhZCBzemVrdG9yXG4iCisKKyN+IG1zZ2lkICJMYXN0ICUxJHMsICslMiRzIG9yICtzaXple0ssTSxHfSIKKyN+IG1zZ3N0ciAiVXRvbHPDsyAlMSRzLCArJTIkcyB2YWd5ICtzaXple0ssTSxHfSIKKworI34gbXNnaWQgIiAgICAgcGh5cz0oJWQsICVkLCAlZCkgIgorI34gbXNnc3RyICIgICAgIGZpemlrYWk9KCVkLCAlZCwgJWQpICIKKworI34gbXNnaWQgImxvZ2ljYWw9KCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgImxvZ2lrYWk9KCVkLCAlZCwgJWQpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogYmFkIHN0YXJ0LW9mLWRhdGEgaW4gcGFydGl0aW9uICV6ZFxuIgorI34gbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6IGF6IGFkYXRvayBrZXpkZXRlIGhpYsOhcyBhKHopICVkIHBhcnTDrWNpw7NuXG4iCisKKyN+IG1zZ2lkICJBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvblxuIgorI34gbXNnc3RyICJFbHPFkWRsZWdlcyBwYXJ0w61jacOzIGhvenrDoWFkw6FzYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueSBET1MgNi54cGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgZmRpc2sgbWFudWFsIHBhZ2UgZm9yIGFkZGl0aW9uYWxpbmZvcm1hdGlvbi5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkZJR1lFTE1FWlRFVMOJUzogSGEgRE9TIDYueCBwYXJ0w61jacOzdCBob3pvdHQgbMOpdHJlIHZhZ3kgbcOzZG9zw610b3R0XG4iCisjfiAiYWtrb3IgdG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgb2x2YXNzYSBlbCBhIGNmZGlzayBrw6l6aWvDtm55dm9sZGFsw6F0LlxuIgorCisjfiBtc2dpZCAiJSpzIEJvb3QgICAgICBTdGFydCAgICAgICAgIEVuZCAgICAgIEJsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiJSpzIEluZMOtdMOhcyAgIEVsZWplICAgICAgICAgVsOpZ2UgICAgICBCbG9ra29rICBBeiAgUmVuZHN6ZXJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIiVzIGxlbWV6OiAlZCBmZWosICVsbHUgc3pla3RvciwgJWQgY2lsaW5kZXJcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIk5yIEFGICBIZCBTZWMgIEN5bCAgSGQgU2VjICBDeWwgICAgIFN0YXJ0ICAgICAgU2l6ZSBJRFxuIgorI34gbXNnc3RyICJTesOhbSBBRiAgRmVqIFN6ZWsgIENpbCAgRmVqIFN6ZWsgIENpbCAgIEtlemRldCAgTcOpcmV0IEF6XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRUaGVyZSBpcyBhIHZhbGlkIE1hYyBsYWJlbCBvbiB0aGlzIGRpc2suXG4iCisjfiAiXHRVbmZvcnR1bmF0ZWx5IGZkaXNrKDEpIGNhbm5vdCBoYW5kbGUgdGhlc2UgZGlza3MuXG4iCisjfiAiXHRVc2UgZWl0aGVyIHBkaXNrIG9yIHBhcnRlZCB0byBtb2RpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZS5cbiIKKyN+ICJcdE5ldmVydGhlbGVzcyBzb21lIGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0w4lydsOpbnllcyBNYWMgY8OtbWtlIHZhbiBhIGxlbWV6ZW4uXG4iCisjfiAiXHRTYWpub3MgYSBmZGlzaygxKSBqZWxlbmxlZyBuZW0gdHVkamEgZXpla2V0IGEgbGVtZXpla2V0XG4iCisjfiAiXHRrZXplbG5pLiBBIHBhcnTDrWNpw7NzIHTDoWJsYSBtw7Nkb3PDrXTDoXPDoWhveiBoYXN6bsOhbGphIGEgcGRpc2tcbiIKKyN+ICJcdHZhZ3kgcGFydGVkIHByb2dyYW1vdC4gRW5uZWsgZWxsZW7DqXJlIG7DqWjDoW55IHRhbsOhY3M6XG4iCisjfiAiXHQxLiBBeiBmZGlzayBtZWdzZW1taXPDrXRpIGEgdGFydGFsbcOhdCBheiDDrXLDoXMgc29yw6FuXG4iCisjfiAiXHQyLiBHecWResWRZGrDtm4gbWVnIGFycsOzbCBob2d5IGEgbGVtZXogTkVNIMOpbMWRIHLDqXN6ZSBlZ3lcbiIKKyN+ICJcdCAgICBrw7Z0ZXRjc29wb3J0bmFrLiAoRWd5w6lia8OpbnQgbGV0w7Zyw7ZsaGV0aSBhXG4iCisjfiAiXHQgICAgdMO2YmJpIG5lbSB0w7xrcsO2esO2dHQgbGVtZXp0IGlzLilcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdFNvcnJ5IC0gdGhpcyBmZGlzayBjYW5ub3QgaGFuZGxlIE1hYyBkaXNrIGxhYmVscy5cbiIKKyN+ICJcdElmIHlvdSB3YW50IHRvIGFkZCBET1MtdHlwZSBwYXJ0aXRpb25zLCBjcmVhdGVcbiIKKyN+ICJcdGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUgZmlyc3QuIChVc2Ugby4pXG4iCisjfiAiXHRXQVJOSU5HOiBUaGlzIHdpbGwgZGVzdHJveSB0aGUgcHJlc2VudCBkaXNrIGNvbnRlbnRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXHRFbG7DqXrDqXN0IC0gZXogYXogZmRpc2sgbmVtIGtlemVsaSBhIE1hYyBsZW1lemPDrW1rw6lrZXQuXG4iCisjfiAiXHRIYSBET1MgdMOtcHVzw7ogcGFydMOtY2nDs2thdCBha2FyIGhvenrDoWFkbmksIGFra29yIGVsxZFiYlxuIgorI34gIlx0aG96em9uIGzDqXRyZSBlZ3kgw7xyZXMgRE9TIHBhcnTDrWNpw7NzIHTDoWJsw6F0IChoYXN6bsOhbGphIGF6ICdvJy10KVxuIgorI34gIlx0RklHWUVMTUVaVEVUw4lTOiBFeiBtZWdzZW1taXPDrXRpIGEgbGVtZXogamVsZW5sZWdpIHRlbGplcyB0YXJ0YWxtw6F0LlxuIgorCisjfiBtc2dpZCAiQWNjb3JkaW5nIHRvIE1JUFMgQ29tcHV0ZXIgU3lzdGVtcywgSW5jIHRoZSBMYWJlbCBtdXN0IG5vdCBjb250YWluIG1vcmUgdGhhbiA1MTIgYnl0ZXNcbiIKKyN+IG1zZ3N0ciAiQSBNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYyBzemVyaW50IGEgY8OtbWtlIG5lbSBsZWhldCA1MTIgYsOhanRuw6FsIGhvc3N6YWJiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFNHSSBkaXNrIGxhYmVsKTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogJWxkIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlcyBsZW1leiAoU0dJIGxlbWV6Y8OtbWtlKTogJWQgZmVqLCAlbGx1IHN6ZWt0b3IsICVkIGNpbGluZGVyXG4iCisjfiAiRWd5c8OpZyA9ICVzLCDDtnNzemVzZW4gJWQgKiAlZCBiw6FqdFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIi0tLS0tIHBhcnRpdGlvbnMgLS0tLS1cbiIKKyN+ICJQdCMgJSpzICBJbmZvICAgICBTdGFydCAgICAgICBFbmQgICBTZWN0b3JzICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLS0tLSBwYXJ0w61jacOzayAtLS0tLVxuIgorI34gIlB0IyAlKnMgIEluZm8gICAgIEtlemRldCAgICAgIFbDqWdlICBTemVrdG9yb2sgQXogIFJlbmRzemVyXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiLS0tLS0gQm9vdGluZm8gLS0tLS1cbiIKKyN+ICJCb290ZmlsZTogJXNcbiIKKyN+ICItLS0tLSBEaXJlY3RvcnkgRW50cmllcyAtLS0tLVxuIgorI34gbXNnc3RyICIiCisjfiAiLS0tLS0gSW5kw610w6FzaSBpbmZvcm3DoWNpw7NrIC0tLS0tXG4iCisjfiAiSW5kw610w7Nmw6FqbDogJXNcbiIKKyN+ICItLS0tLSBLw7ZueXZ0w6FyYmVqZWd5esOpc2VrIC0tLS0tXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJTJ6ZDogJS0xMHMgc2VjdG9yJTV1IHNpemUlOHVcbiIKKyN+IG1zZ3N0ciAiJTJkOiAlLTEwcyBzemVrdG9yOiAlNXUgbcOpcmV0OiAlOHVcbiIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZFxuIgorI34gbXNnc3RyICJOaW5jc2VuZWsgcGFydMOtY2nDs2sgbWVnYWR2YVxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gaXMgb25seSAlZCBkaXNrYmxvY2sgbGFyZ2UsXG4iCisjfiAiYnV0IHRoZSBkaXNrIGlzICVkIGRpc2tibG9ja3MgbG9uZy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkEgdGVsamVzIGxlbWV6cGFydMOtY2nDsyBjc2FrICVkIGxlbWV6Ymxva2sgbcOpcmV0xbEsXG4iCisjfiAiZGUgYSBsZW1leiAlZCBsZW1lemJsb2trIGhvc3N6w7ouXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3Qgc3RhcnQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIkEoeikgJWQuIHBhcnTDrWNpw7MgbmVtIGNpbGluZGVyaGF0w6Fyb24ga2V6ZMWRZGlrLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiQSh6KSAlZC4gcGFydMOtY2nDsyBuZW0gY2lsaW5kZXJoYXTDoXJvbiB2w6lnesWRZGlrLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAlemQgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuXG4iCisjfiBtc2dzdHIgIkEoeikgJWQuIHBhcnTDrWNpw7MgbcOhciBsw6l0ZXppay4gVMO2csO2bGplIGxlIGF6IGlzbcOpdGVsdCBob3p6w6FhZMOhcyBlbMWRdHQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSERJT19HRVRHRU8gaW9jdGwgZmFpbGVkIG9uICVzIgorI34gbXNnc3RyICJBIEJMS0dFVFNJWkUgaW9jdGwgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkW46ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6ICBCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuXG4iCisjfiAiVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi5cbiIKKyN+IG1zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhIEJMS0dFVFNJWmxFIGlvY3RsIG1lZ2hpw7pzdWx0IGEoeikgJXMgZXN6a8O2esO2bi4gQSh6KSAlZCBnZW9tZXRyaWEtY2lsaW5kZXLDqXJ0w6lrIGtlcsO8bCBmZWxoYXN6bsOhbMOhc3JhLiBFeiBheiDDqXJ0w6lrIGNzb25rw610w6FzcmEga2Vyw7xsaGV0IDMzLDggR0ItbsOhbCBuYWd5b2JiIGVzemvDtnrDtmvDtm4uXG4iCisKKyN+IG1zZ2lkICJJRD0lMDJ4XHRTVEFSVD0lZFx0TEVOR1RIPSVkXG4iCisjfiBtc2dzdHIgIkFaPSUwMnhcdEtFWkRFVD0lZFx0SE9TU1o9JWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUcnlpbmcgdG8ga2VlcCBwYXJhbWV0ZXJzIG9mIHBhcnRpdGlvbnMgYWxyZWFkeSBzZXQuXG4iCisjfiBtc2dzdHIgIkvDrXPDqXJsZXQgYSh6KSAlZC4gcGFydMOtY2nDsyBwYXJhbcOpdGVyZWluZWsgbWVndGFydMOhc8OhcmEuXG4iCisKKyN+IG1zZ2lkICJZRVNcbiIKKyN+IG1zZ3N0ciAiSUdFTlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJ1aWxkaW5nIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorI34gbXNnc3RyICJBKHopICVzIG5lbSB0YXJ0YWxtYXogbGVtZXpjw61ta8OpdC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgbGFiZWwpOiAldSBoZWFkcywgJWxsdSBzZWN0b3JzLCAlZCBycG1cbiIKKyN+ICIlbGx1IGN5bGluZGVycywgJWQgYWx0ZXJuYXRlIGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiJWQgZXh0cmEgc2VjdHMvY3lsLCBpbnRlcmxlYXZlICVkOjFcbiIKKyN+ICJMYWJlbCBJRDogJXNcbiIKKyN+ICJWb2x1bWUgSUQ6ICVzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqIDUxMiBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGVtZXogJXMgKFN1biBsZW1lemPDrW1rZSk6ICVkIGZlaiwgJWxsdSBzemVrdG9yLCAlZCBmb3JkdWxhdCBwZXJjZW5rw6ludFxuIgorI34gIiVkIGNpbGluZGVyLCAlZCBhbHRlcm5hdMOtdiBjaWxpbmRlciwgJWQgZml6aWthaSBjaWxpbmRlclxuIgorI34gIiVkIGV4dHJhIHN6ZWt0L2NpbCwgw6F0cmVuZGV6w6lzOiAlZDoxXG4iCisjfiAiQ8OtbWtlYXpvbm9zw610w7M6ICVzXG4iCisjfiAiS8O2dGV0YXpvbm9zw610w7M6ICVzXG4iCisjfiAiRWd5c8OpZyA9ICVzLCDDtnNzemVzZW4gJWQgKiA1MTIgYsOhanRcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgbGFiZWwpOiAldSBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiA1MTIgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkxlbWV6ICVzIChTdW4gbGVtZXpjw61ta2UpOiAlZCBmZWosICVsbHUgc3pla3RvciwgJWQgY2lsaW5kZXJcbiIKKyN+ICJFZ3lzw6lnID0gJXMsIMO2c3N6ZXNlbiAlZCAqIDUxMiBiw6FqdFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiJSpzIEZsYWcgICAgU3RhcnQgICAgICAgRW5kICAgIEJsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiJSpzIEplbHrFkSAgIEtlemRldCAgICAgIFbDqWdlICAgQmxva2tvayAgQXogIFJlbmRzemVyXG4iCisKKyN+IG1zZ2lkICIlcyAtQW4gZGV2aWNlXHQgYWN0aXZhdGUgcGFydGl0aW9uIG4sIGluYWN0aXZhdGUgdGhlIG90aGVyIG9uZXNcbiIKKyN+IG1zZ3N0ciAiJXMgLUFuIGVzemvDtnpcdCBheiBuLiBwYXJ0w61jacOzIGFrdGl2w6Fsw6FzYSwgYSB0w7ZiYmkgZGVha3RpdsOhbMOhc2FcbiIKKworI34gbXNnaWQgIiIKKyN+ICJEb25lXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJLw6lzelxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNyZWF0ZWQgcGFydGl0aW9uICV6ZFxuIgorI34gbXNnc3RyICIlZC4gcGFydMOtY2nDsyBraXbDoWxhc3p0dmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIC11IDxVU0VSPiBDT01NQU5EXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFtVU0VSIFthcmddLi4uXVxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBwcm9ncmFtIFthcmd1bWVudHVtIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjcnlwdCBmYWlsZWQ6ICVtXG4iCisjfiBtc2dzdHIgImF6IMOtcsOhcyBtZWdoacO6c3VsdDogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2FuIG5vdCBmb3JrOiAlbVxuIgorI34gbXNnc3RyICIlczogTmVtIGluZMOtdGhhdMOzIGEgcHJvZ3JhbVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB0byBvcGVuL2NyZWF0ZSAlczogJW1cbiIKKyN+IG1zZ3N0ciAiYSh6KSDigJ4lc+KAnSBuZW0gbnlpdGhhdMOzIG1lZzogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmFpbGVkIHRvIGxvY2sgJXM6ICVtXG4iCisjfiBtc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIG55aXRoYXTDsyBtZWc6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIGZhaWxlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGEgY3NhdG9sw6FzIG1lZ2hpw7pzdWx0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyN+IG1zZ2lkICJidWcgaW4geHN0cm5kdXAgY2FsbCIKKyN+IG1zZ3N0ciAiaGliYSBheiB4c3RybmR1cCBow612w6FzYmFuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvbm5lY3QgJXMiCisjfiBtc2dzdHIgIm4uc3rDoW0iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtZCwgLS1kZXZpY2UgPGRldmljZT4gICAgc2VsZWN0IHJ0YyBkZXZpY2UgKHJ0YzB8cnRjMXwuLi4pXG4iCisjfiAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBkb2VzIGV2ZXJ5dGhpbmcsIGJ1dCBzdXNwZW5kXG4iCisjfiAiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICBSVEMgdXNlcyBsb2NhbCB0aW1lem9uZVxuIgorI34gIiAtbSwgLS1tb2RlIDxtb2RlPiAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwIG1vZGVcbiIKKyN+ICIgLXMsIC0tc2Vjb25kcyA8c2Vjb25kcz4gIHNlY29uZHMgdG8gc2xlZXBcbiIKKyN+ICIgLXQsIC0tdGltZSA8dGltZV90PiAgICAgIHRpbWUgdG8gd2FrZVxuIgorI34gIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIHVzZXMgVVRDXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1lc3NhZ2VzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza11cbiIKKyN+ICIgICAgLWQgfCAtLWRldmljZSA8ZXN6a8O2ej4gICAgIHJ0YyBlc3prw7Z6IGtpdsOhbGFzenTDoXNhIChydGMwfHJ0YzF8Li4uKVxuIgorI34gIiAgICAtbCB8IC0tbG9jYWwgICAgICAgICAgICAgICBheiBSVEMgaGVseWkgaWTFkXrDs27DoXQgaGFzem7DoWxcbiIKKyN+ICIgICAgLW0gfCAtLW1vZGUgICAgICAgICAgICAgICAgc3RhbmRieXxtZW18Li4uIGFsdsOhc2kgbcOzZFxuIgorI34gIiAgICAtcyB8IC0tc2Vjb25kcyA8bcOhc29kcGVyYz4gYWx2w6FzIGVubnlpIG3DoXNvZHBlcmNpZ1xuIgorI34gIiAgICAtdCB8IC0tdGltZSA8dGltZV90PiAgICAgICBmZWzDqWJyZWTDqXMgaWRlamVcbiIKKyN+ICIgICAgLXUgfCAtLXV0YyAgICAgICAgICAgICAgICAgYXogUlRDIGF6IFVUQy10IGhhc3puw6FsamFcbiIKKyN+ICIgICAgLXYgfCAtLXZlcmJvc2UgICAgICAgICAgICAgcsOpc3psZXRlcyDDvHplbmV0ZWtcbiIKKyN+ICIgICAgLVYgfCAtLXZlcnNpb24gICAgICAgICAgICAgdmVyemnDs3N6w6FtIG1lZ2plbGVuw610w6lzZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheXMgd2hhdCBvcHRpb25zIGFyZSBiZWluZyBzd2l0Y2hlZCBvblxuIgorI34gIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgZGlzYWJsZXMgcmFuZG9taXphdGlvbiBvZiB0aGUgdmlydHVhbCBhZGRyZXNzIHNwYWNlXG4iCisjfiAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorI34gIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgdHVybnMgb24gTU1BUF9QQUdFX1pFUk9cbiIKKyN+ICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKKyN+ICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCisjfiAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB0dXJucyBvbiBBRERSX0xJTUlUXzMyQklUXG4iCisjfiAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICB0dXJucyBvbiBTSE9SVF9JTk9ERVxuIgorI34gIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgdHVybnMgb24gV0hPTEVfU0VDT05EU1xuIgorI34gIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgdHVybnMgb24gU1RJQ0tZX1RJTUVPVVRTXG4iCisjfiAiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBsaW1pdHMgdGhlIHVzZWQgYWRkcmVzcyBzcGFjZSB0byBhIG1heGltdW0gb2YgMyBHQlxuIgorI34gIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKKyN+ICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHR1cm5zIG9uIFVOQU1FMjZcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgZXplbiBzw7pnw7NzesO2dmVnIG1lZ2plbGVuw610w6lzZVxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgZmVsc29yb2xqYSBhIGJla2FwY3NvbHQgbGVoZXTFkXPDqWdla2V0XG4iCisjfiAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBsZXRpbHRqYSBhIHZpcnR1w6FsaXMgY8OtbXTDqXIgdsOpbGV0bGVuc3plcsWxc8OtdMOpc8OpdFxuIgorI34gIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAgYSBmw7xnZ3bDqW55bXV0YXTDs2thdCBsZcOtcsOza3JhIG11dGF0w7Nra8OhIHRlc3ppXG4iCisjfiAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICBiZWthcGNzb2xqYSBheiBNTUFQX1BBR0VfWkVSTyB0dWxhamRvbnPDoWdvdFxuIgorI34gIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQgbWVndsOhbHRvenRhdGphIGEgdmlydHXDoWxpcyBtZW3Ds3JpYSBsZWZvZ2xhbMOhc2kgbcOzZGrDoXRcbiIKKyN+ICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIGJla2FwY3NvbGphIGEgUkVBRF9JTVBMSUVTX0VYRUMgdHVsYWpkb25zw6Fnb3RcbiIKKyN+ICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIGJla2FwY3NvbGphIGF6IEFERFJfTElNSVRfMzJCSVQgdHVsYWpkb25zw6Fnb3RcbiIKKyN+ICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIGJla2FwY3NvbGphIGEgU0hPUlRfSU5PREUgdHVsYWpkb25zw6Fnb3RcbiIKKyN+ICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIGJla2FwY3NvbGphIGEgV0hPTEVfU0VDT05EUyB0dWxhamRvbnPDoWdvdFxuIgorI34gIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgYmVrYXBjc29samEgYSBTVElDS1lfVElNRU9VVFMgdHVsYWpkb25zw6Fnb3RcbiIKKyN+ICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGEgaGFzem7DoWx0IGPDrW10ZXJldCBtYXhpbcOhbGlzYW4gMyBHQi1yZSBrb3Jsw6F0b3p6YVxuIgorI34gIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgZmlneWVsbWVuIGvDrXbDvGwgbWFyYWQgKGNzYWsgYSB2aXNzemFmZWzDqSBrb21wYXRpYmlsaXTDoXMgbWVnxZFyesOpc8OpcmUpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGUuLi5dXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjfiBtc2dpZCAibWtmcyAoJXMpXG4iCisjfiBtc2dzdHIgIm1rZnMgKCVzKVxuIgorCisjfiBtc2dpZCAic3RydG9sIGVycm9yOiBudW1iZXIgb2YgYmxvY2tzIG5vdCBzcGVjaWZpZWQiCisjfiBtc2dzdHIgInN0cnRvbCBoaWJhOiBhIGJsb2trb2sgc3rDoW1hIG5pbmNzIG1lZ2hhdMOhcm96dmEiCisKKyN+IG1zZ2lkICJvbmUgYmFkIHBhZ2VcbiIKKyN+IG1zZ3N0ciAiZWd5IGhpYsOhcyBsYXBcbiIKKworI34gbXNnaWQgIiAgICAgICAgb24gd2hvbGUgZGlzay4gIgorI34gbXNnc3RyICIgICAgICAgIHRlbGplcyBsZW1lemVuLiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZG9lcyBub3Qgc3VwcG9ydCBzd2Fwc3BhY2UgdmVyc2lvbiAlZC4iCisjfiBtc2dzdHIgIiVzOiBuZW0gdMOhbW9nYXRqYSBhKHopICVkIGxhcG96w7N0ZXLDvGxldC12ZXJ6acOzc3rDoW1vdFxuIgorCisjfiBtc2dpZCAiV2FybmluZyEhICBVbnN1cHBvcnRlZCBHUFQgKEdVSUQgUGFydGl0aW9uIFRhYmxlKSBkZXRlY3RlZC4gVXNlIEdOVSBQYXJ0ZWQuIgorI34gbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6IE5lbSB0w6Ftb2dhdG90dCBHUFQgKEdVSUQgcGFydMOtY2nDs3MgdMOhYmxhKS4gSGFzem7DoWxqYSBhIEdOVSBQYXJ0ZWQtZXQuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0VGhlcmUgaXMgYSB2YWxpZCBBSVggbGFiZWwgb24gdGhpcyBkaXNrLlxuIgorI34gIlx0VW5mb3J0dW5hdGVseSBMaW51eCBjYW5ub3QgaGFuZGxlIHRoZXNlXG4iCisjfiAiXHRkaXNrcyBhdCB0aGUgbW9tZW50LiAgTmV2ZXJ0aGVsZXNzIHNvbWVcbiIKKyN+ICJcdGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+ICJcdDMuIEJlZm9yZSBkZWxldGluZyB0aGlzIHBoeXNpY2FsIHZvbHVtZSBiZSBzdXJlXG4iCisjfiAiXHQgICB0byByZW1vdmUgdGhlIGRpc2sgbG9naWNhbGx5IGZyb20geW91ciBBSVhcbiIKKyN+ICJcdCAgIG1hY2hpbmUuICAoT3RoZXJ3aXNlIHlvdSBiZWNvbWUgYW4gQUlYcGVydCkuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHTDiXJ2w6lueWVzIEFJWCBjw61ta2UgdmFuIGEgbGVtZXplbi5cbiIKKyN+ICJcdFNham5vcyBhIExpbnV4IGplbGVubGVnIG5lbSB0dWRqYSBlemVrZXQgYSBsZW1lemVrZXRcbiIKKyN+ICJcdGtlemVsbmkuIEVubmVrIGVsbGVuw6lyZSBuw6low6FueSB0YW7DoWNzOlxuIgorI34gIlx0MS4gQXogZmRpc2sgbWVnc2VtbWlzw610aSBhIHRhcnRhbG3DoXQgYXogw61yw6FzIHNvcsOhblxuIgorI34gIlx0Mi4gR3nFkXrFkWRqw7ZuIG1lZyBhcnLDs2wgaG9neSBhIGxlbWV6IE5FTSDDqWzFkSByw6lzemUgZWd5XG4iCisjfiAiXHQgICAga8O2dGV0Y3NvcG9ydG5hay4gKEVnecOpYmvDqW50IGxldMO2csO2bGhldGkgYVxuIgorI34gIlx0ICAgIHTDtmJiaSBuZW0gdMO8a3LDtnrDtnR0IGxlbWV6dCBpcy4pXG4iCisjfiAiXHQzLiBBIGZpemlrYWkga8O2dGV0IHTDtnJsw6lzZSBlbMWRdHQgZ3nFkXrFkWRqw7ZuIG1lZywgaG9neSBhXG4iCisjfiAiXHQgICAgbGVtZXp0IGJpenRvc2FuIGVsdMOhdm9sw610b3R0YSBsb2dpa2FpbGFnIGF6IEFJWCBnw6lwcsWRbFxuIgorI34gIlx0ICAgIChFbGxlbmtlesWRIGVzZXRiZW4gYWRhdHZlc3p0w6lzIHbDoXJoYXTDsy4pLiIKKworI34gbXNnaWQgIiIKKyN+ICJcdFNvcnJ5IC0gdGhpcyBmZGlzayBjYW5ub3QgaGFuZGxlIEFJWCBkaXNrIGxhYmVscy5cbiIKKyN+ICJcdElmIHlvdSB3YW50IHRvIGFkZCBET1MtdHlwZSBwYXJ0aXRpb25zLCBjcmVhdGVcbiIKKyN+ICJcdGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUgZmlyc3QuIChVc2Ugby4pXG4iCisjfiAiXHRXQVJOSU5HOiBUaGlzIHdpbGwgZGVzdHJveSB0aGUgcHJlc2VudCBkaXNrIGNvbnRlbnRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXHRFbG7DqXrDqXN0IC0gZXogYXogZmRpc2sgbmVtIGtlemVsaSBheiBBSVggbGVtZXpjw61ta8Opa2V0LlxuIgorI34gIlx0SGEgRE9TIHTDrXB1c8O6IHBhcnTDrWNpw7NrYXQgYWthciBob3p6w6FhZG5pLCBha2tvciBlbMWRYmJcbiIKKyN+ICJcdGhvenpvbiBsw6l0cmUgZWd5IMO8cmVzIERPUyBwYXJ0w61jacOzcyB0w6FibMOhdCAoaGFzem7DoWxqYSBheiAnbyctdClcbiIKKyN+ICJcdEZJR1lFTE1FWlRFVMOJUzogRXogbWVnc2VtbWlzw610aSBhIGxlbWV6IGplbGVubGVnaSB0ZWxqZXMgdGFydGFsbcOhdC5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJCU0QgbGFiZWwgZm9yIGRldmljZTogJXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkJTRCBjw61ta2UgYSBrw7Z2ZXRrZXrFkSBlc3prw7Z6w7ZuOiAlc1xuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVkIGhhcyBlbXB0eSB0eXBlXG4iCisjfiBtc2dzdHIgIkZpZ3llbG1lenRldMOpczogYSh6KSAlZCBwYXJ0w61jacOzIHTDrXB1c2Egw7xyZXNcbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlaSBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIkEoeikgJWkuIHBhcnTDrWNpw7MgbmVtIGNpbGluZGVyaGF0w6Fyb24gdsOpZ3rFkWRpay5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBHUFQgKEdVSUQgUGFydGl0aW9uIFRhYmxlKSBkZXRlY3RlZCBvbiAnJXMnISBUaGUgdXRpbCBmZGlzayBkb2Vzbid0IHN1cHBvcnQgR1BULiBVc2UgR05VIFBhcnRlZC5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkZJR1lFTE1FWlRFVMOJUzogQSh6KSDigJ4lc+KAnSBlc3prw7Z6w7ZuIEdQVCAoR1VJRCBwYXJ0w61jacOzcyB0w6FibGEpIHRhbMOhbGhhdMOzISBBeiBmZGlzayBzZWfDqWRwcm9ncmFtIG5lbSB0w6Ftb2dhdGphIGEgR1BULXQuIEhhc3puw6FsamEgYSBHTlUgcGFydGVkIHByb2dyYW1vdC5cbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJOb3RlOiBzZWN0b3Igc2l6ZSBpcyAlbGQgKG5vdCAlZClcbiIKKyN+IG1zZ3N0ciAiTWVnamVneXrDqXM6IGEgc3pla3Rvcm3DqXJldDogJWQgKMOpcyBuZW0gJWQpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogR1BUIChHVUlEIFBhcnRpdGlvbiBUYWJsZSkgZGV0ZWN0ZWQgb24gJyVzJyEgVGhlIHV0aWwgc2ZkaXNrIGRvZXNuJ3Qgc3VwcG9ydCBHUFQuIFVzZSBHTlUgUGFydGVkLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRklHWUVMTUVaVEVUw4lTOiBBKHopIOKAniVz4oCdIGVzemvDtnrDtm4gR1BUIChHVUlEIFBhcnRpdGlvbiBUYWJsZSkgdGFsw6FsaGF0w7MhXG4iCisjfiAiQXogc2ZkaXNrIHNlZ8OpZHByb2dyYW0gbmVtIHTDoW1vZ2F0amEgYSBHUFQtdC4gSGFzem7DoWxqYSBhIEdOVSBQYXJ0ZWQgcHJvZ3JhbW90LlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiVXNlIHRoZSAtLWZvcmNlIGZsYWcgdG8gb3ZlcnJ1bGUgdGhpcyBjaGVjay5cbiIKKyN+IG1zZ3N0ciAiRXp0IGF6IGVsbGVuxZFyesOpc3QgYSAtLWZvcmNlIGthcGNzb2zDsyBzZWfDrXRzw6lnw6l2ZWwgYsOtcsOhbGhhdGphIGZlbMO8bC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleGVjICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAiYSB2w6lncmVoYWp0w6FzIG1lZ2hpw7pzdWx0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGV4ZWMgZmFpbGVkIgorI34gbXNnc3RyICIlczogYXogbHNlZWsgbWVnaGnDunN1bHQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVElPQ1NDVFRZOiBpb2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgIlRJT0NTQ1RUWSBtZWdoacO6c3VsdDogJW0iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWytmb3JtYXRdIFtkYXkgbW9udGggeWVhcl1cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgWytmb3Jtw6F0dW1dIFtuYXAgaMOzbmFwIMOpdl1cbiIKKworI34gbXNnaWQgIlN0LiBUaWIncyBEYXkiCisjfiBtc2dzdHIgIlN6ZW50IFRpYiBuYXBqYSIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC1zIHNpZ25hbCB8IC1wIF0gWyAtYSBdIHBpZCAuLi5cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgWyAtcyBqZWx6w6lzIHwgLXAgXSBbIC1hIF0gZm9seWFtYXRhem9ub3PDrXTDsyAuLi5cbiIKKworI34gbXNnaWQgIiAgICAgICAlcyAtbCBbIHNpZ25hbCBdXG4iCisjfiBtc2dzdHIgIiAgICAgICAlcyAtbCBbIGplbHrDqXMgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgcG9ydCBudW1iZXIgYXJndW1lbnQiCisjfiBtc2dzdHIgIsOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjb3VsZG4ndCBsb2NrIGludG8gbWVtb3J5IgorI34gbXNnc3RyICJOZW0gbGVoZXQgesOhcm9sbmkgYSBtZW3Ds3Jpw6FiYSwga2lsw6lww6lzLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGFyZ3VtZW50IHRvIC1wIG9yIC0tcGFzcy1mZCBtdXN0IGJlIGEgbnVtYmVyIgorI34gbXNnc3RyICJtb3VudDogYSAtcCB2YWd5IC0tcGFzcy1mZCBhcmd1bWVudHVtw6FuYWsgc3rDoW1uYWsga2VsbCBsZW5uaWUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXhlY3V0aW5nICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAiYSB2w6lncmVoYWp0w6FzIG1lZ2hpw7pzdWx0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZWplY3Q6IGNhbm5vdCBzZXQgdXNlciBpZCIKKyN+IG1zZ3N0ciAiYSBmZWxoYXN6bsOhbMOzYXpvbm9zw610w7MgbmVtIMOhbGzDrXRoYXTDsyBiZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZzZnJlZXplKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgdGVraW50c2UgbWVnIGEgc2V0YXJjaCg4KSBrw6l6aWvDtm55dm9sZGFsdC5cbiIKKworI34gbXNnaWQgIm1heCBzZWcgc2l6ZSAoa2J5dGVzKSA9ICVsdVxuIgorI34gbXNnc3RyICJtYXhpbcOhbGlzIHN6ZWdtZW5zbcOpcmV0IChraWxvYsOhanQpID0gJWx1XG4iCisKKyN+IG1zZ2lkICJtaW4gc2VnIHNpemUgKGJ5dGVzKSA9ICVsdVxuIgorI34gbXNnc3RyICJtaW5pbcOhbGlzIHN6ZWdtZW5zbcOpcmV0ID0gJWx1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2htY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAiYXogZnN5bmMgbWVnaGnDunN1bHQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibXNnY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAiYXogZnN5bmMgbWVnaGnDunN1bHQiCisKKyN+IG1zZ2lkICJjYnl0ZXM9JWxkXHRxYnl0ZXM9JWxkXHRxbnVtPSVsZFx0bHNwaWQ9JWRcdGxycGlkPSVkXG4iCisjfiBtc2dzdHIgImwuYsOhanQ9JWxkXHRzLmLDoWp0PSVsZFx0cy5zesOhbT0lbGRcdHUuay5mLmF6PSVkXHR1LmYuZi5hej0lZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlbWN0bCBmYWlsZWQiCisjfiBtc2dzdHIgImEgcG96aWNpb27DoWzDoXMgbWVnaGnDunN1bHQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtZSwgLS1lbmNyeXB0aW9uIDx0eXBlPiAgICAgICBlbmFibGUgZW5jcnlwdGlvbiB3aXRoIHNwZWNpZmllZCA8bmFtZS9udW0+XG4iCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAgICAgICAgICAgIHN0YXJ0IGF0IG9mZnNldCA8bnVtPiBpbnRvIGZpbGVcbiIKKyN+ICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZGV2aWNlIGxpbWl0ZWQgdG8gPG51bT4gYnl0ZXMgb2YgdGhlIGZpbGVcbiIKKyN+ICIgLXAsIC0tcGFzcy1mZCA8bnVtPiAgICAgICAgICAgcmVhZCBwYXNzcGhyYXNlIGZyb20gZmlsZSBkZXNjcmlwdG9yIDxudW0+XG4iCisjfiAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyZWF0ZSBwYXJ0aXRpb25lZCBsb29wIGRldmljZVxuIgorI34gIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBzZXR1cCByZWFkLW9ubHkgbG9vcCBkZXZpY2VcbiIKKyN+ICIgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICAgcHJpbnQgZGV2aWNlIG5hbWUgYWZ0ZXIgc2V0dXAgKHdpdGggLWYpXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiS2FwY3NvbMOzazpcbiIKKyN+ICIgLWUgfCAtLWVuY3J5cHRpb24gPHTDrXB1cz4gYXogYWRvdHQgPG5ldsWxL3N6w6Ftw7o+IGFkYXR0aXRrb3PDrXTDoXMgZW5nZWTDqWx5ZXrDqXNlXG4iCisjfiAiIC1oIHwgLS1oZWxwICAgICAgICAgICAgICAgZXogYSBzw7pnw7NcbiIKKyN+ICIgLW8gfCAtLW9mZnNldCA8c3rDoW0+ICAgICAga2V6ZMOpcyA8c3rDoW0+IGVsdG9sw6Fzc2FsIGEgZsOhamxiYW5cbiIKKyN+ICIgICAgICAtLXNpemVsaW1pdCA8c3rDoW0+ICAgYSBodXJvayBrb3Jsw6F0b3rDoXNhIGNzYWsgPHN6w6FtPiBiw6FqdHJhIGEgZsOhamxiYW5cbiIKKyN+ICIgLXAgfCAtLXBhc3MtZmQgPHN6w6FtPiAgICAgamVsbW9uZGF0IGJlb2x2YXPDoXNhIGEgPHN6w6FtPiBmw6FqbGxlw61yw7Niw7NsXG4iCisjfiAiIC1yIHwgLS1yZWFkLW9ubHkgICAgICAgICAgY3NhayBvbHZhc2hhdMOzIGh1cm9rZXN6a8O2eiBiZcOhbGzDrXTDoXNhXG4iCisjfiAiICAgICAgLS1zaG93ICAgICAgICAgICAgICAgZXN6a8O2em7DqXYga2nDrXJhdMOhc2EgKGEgLWYgPGbDoWpsPiBrYXBjc29sw7N2YWwpXG4iCisjfiAiIC12IHwgLS12ZXJib3NlICAgICAgICAgICAgcsOpc3psZXRlcyBtw7NkXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgZmFpbGVkIHRvIHVzZSBkZXZpY2UiCisjfiBtc2dzdHIgIm5lbSBsZWhldCB2aXNzemHDoWxsw610YW5pIGEgbGFwb3rDs3RlcsO8bGV0LWVzemvDtnp0IgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvdWxkbid0IGxvY2sgaW50byBtZW1vcnkiCisjfiBtc2dzdHIgIk5lbSBsZWhldCB6w6Fyb2xuaSBhIG1lbcOzcmnDoWJhLCBraWzDqXDDqXMuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSAocHJvYmFibHkgdW5rbm93biBlbmNyeXB0aW9uIHR5cGUpIgorI34gbXNnc3RyICJuZW0gbGVoZXQgdmlzc3phw6FsbMOtdGFuaSBhIGxhcG96w7N0ZXLDvGxldC1lc3prw7Z6dCIKKworI34gbXNnaWQgInJlbmljZSBmcm9tICVzXG4iCisjfiBtc2dzdHIgInJlbmljZSBlcnLFkWw6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIGV4ZWN1dGUgJXMiCisjfiBtc2dzdHIgImEgdMOtcHVzcGFyYW5jc2bDoWpsICglcykgb2x2YXPDoXNhIG1lZ2hpw7pzdWx0IgorCisjLCBmdXp6eQorI34gbXNnaWQgImV4ZWN2cCBmYWlsZWQiCisjfiBtc2dzdHIgImEgdsOpZ3JlaGFqdMOhcyBtZWdoacO6c3VsdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImV4ZWN2IGZhaWxlZCIKKyN+IG1zZ3N0ciAiYSB2w6lncmVoYWp0w6FzIG1lZ2hpw7pzdWx0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJS0xNXMlcyBbdmVyc2lvbiAleF1cbiIKKyN+IG1zZ3N0ciAiJXM6ICVzIHZlcnppw7NcbiIKKworI34gbXNnaWQgInVzZXJzIgorI34gbXNnc3RyICJmZWxoYXN6bsOhbMOzIgorCisjfiBtc2dpZCAidG9vIG1hbnkgaW92J3MgKGNoYW5nZSBjb2RlIGluIHdhbGwvdHR5bXNnLmMpIgorI34gbXNnc3RyICJ0w7psIHNvayBpb3YgKG3Ds2Rvc8OtdHNhIGEgd2FsbC90dHltc2cuYyBrw7NkasOhdCkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZXJyb3IuIgorI34gbXNnc3RyICJjb2w6IMOtcsOhc2kgaGliYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgY29sdW1uKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgdGVraW50c2UgbWVnIGEgc2V0YXJjaCg4KSBrw6l6aWvDtm55dm9sZGFsdC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3JlICglcylcbiIKKyN+IG1zZ3N0ciAibWtmcyAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHN0YXQgZmlsZSAlcyIKKyN+IG1zZ3N0ciAiYSh6KSDigJ4lc+KAnSBlc3prw7Z6IG5lbSDDqXJoZXTFkSBlbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjb3VsZG4ndCBvcGVuICVzIgorI34gbXNnc3RyICJOZW0gbnlpdGhhdMOzIG1lZyBhIGvDtnZldGtlesWROiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBvcGVuICVzIgorI34gbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworI34gbXNnaWQgImNhbm5vdCBzdGF0IGRldmljZSAlcyIKKyN+IG1zZ3N0ciAiYSh6KSDigJ4lc+KAnSBlc3prw7Z6IG5lbSDDqXJoZXTFkSBlbCIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIGZpbGUgJyVzJyIKKyN+IG1zZ3N0ciAiTmVtIG55aXRoYXTDsyBtZWcgYSh6KSDigJ4lc+KAnSBmw6FqbCIKKworI34gbXNnaWQgIiIKKyN+ICJUaGlzIGRpc2sgaGFzIGJvdGggRE9TIGFuZCBCU0QgbWFnaWMuXG4iCisjfiAiR2l2ZSB0aGUgJ2InIGNvbW1hbmQgdG8gZ28gdG8gQlNEIG1vZGUuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFeiBhIGxlbWV6IERPUyDDqXMgQlNEIG3Ds2RiYW4gaXMgbcWxa8O2ZGhldC5cbiIKKyN+ICJIYXN6bsOhbGphIGEg4oCeYuKAnSBwYXJhbmNzb3QgYSBCU0QgbcOzZGhvei5cbiIKKworI34gbXNnaWQgInVuYWJsZSB0byBvcGVuICVzIgorI34gbXNnc3RyICIlcyBuZW0gbnlpdGhhdMOzIG1lZyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogY2Fubm90IG9wZW4gJXMiCisjfiBtc2dzdHIgIiVzOiAlcyBuZW0gbnlpdGhhdMOzIG1lZ1xuIgorCisjfiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMgZm9yIHJlYWRpbmcsIGV4aXRpbmcuIgorI34gbXNnc3RyICJBKHopICVzIG5lbSBueWl0aGF0w7MgbWVnIG9sdmFzw6FzcmEsIGtpbMOpcMOpcy4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IGF6IGVsw6lyw6lzIG1lZ2hpw7pzdWx0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNhbm5vdCBvcGVuIC9kZXYvcG9ydCIKKyN+IG1zZ3N0ciAiQSAvZGV2L3BvcnQgZXN6a8O2eiBuZW0gbnlpdGhhdMOzIG1lZzogJXMiCisKKyN+IG1zZ2lkICJvcGVuKCkgb2YgJXMgZmFpbGVkIgorI34gbXNnc3RyICJhKHopICVzIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0IgorCisjfiBtc2dpZCAiT3BlbiBvZiAlcyBmYWlsZWQiCisjfiBtc2dzdHIgIkEoeikgJXMgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQiCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gb3BlbiAlcyIKKyN+IG1zZ3N0ciAiJXMgbmVtIG55aXRoYXTDsyBtZWciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHNvdXJjZSBidWZmZXIiCisjfiBtc2dzdHIgIm5lbSBmb2dsYWxoYXTDsyBsZSBraW1lbmV0aSBwdWZmZXIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgZGlyZWN0b3J5IgorI34gbXNnc3RyICIlcyBuZW0gw6lyaGV0xZEgZWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgZGlyZWN0b3J5ICVzIgorI34gbXNnc3RyICIlcyBuZW0gw6lyaGV0xZEgZWwiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiB0aW1pbmcgZmlsZSAlcyIKKyN+IG1zZ3N0ciAibmVtIG55aXRoYXTDsyBtZWcgYXogaWTFkXrDrXTDqXNmw6FqbCAoJXMpIgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gIgorI34gbXNnc3RyICJOZW0gbnlpdGhhdMOzIG1lZzogIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gXCIlc1wiIGZvciByZWFkIgorI34gbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnIG9sdmFzw6FzcmEiCisKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBcIiVzXCIiCisjfiBtc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIMOpcmhldMWRIGVsIgorCisjfiBtc2dpZCAiIgorI34gInVzYWdlOiAlcyBbLWh2XSBbLXggZGlyXSBmaWxlXG4iCisjfiAiIC1oICAgICAgICAgcHJpbnQgdGhpcyBoZWxwXG4iCisjfiAiIC14IGRpciAgICAgZXh0cmFjdCBpbnRvIGRpclxuIgorI34gIiAtdiAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIgorI34gIiBmaWxlICAgICAgIGZpbGUgdG8gdGVzdFxuIgorI34gbXNnc3RyICIiCisjfiAiSGFzem7DoWxhdCAgJXMgWy1odl0gWy14IGvDtm55dnTDoXJdIGbDoWpsXG4iCisjfiAiIC1oICAgICAgICAgICAgIGV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorI34gIiAteCBrw7ZueXZ0w6FyICAgIGtpYm9udMOhcyBlYmJlIGEga8O2bnl2dMOhcmJhXG4iCisjfiAiIC12ICAgICAgICAgICAgIHLDqXN6bGV0ZXMgbcOzZFxuIgorI34gIiBmw6FqbCAgICAgICAgICAgdGVzenRlbGVuZMWRIGbDoWpsXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1sYXJ2c21mXSAvZGV2L25hbWVcbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgWy1sYXJ2c21mXSAvZGV2L27DqXZcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYmxvY2tzaXplIGFyZ3VtZW50IgorI34gbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogd2lsbCBub3QgdHJ5IHRvIG1ha2Ugc3dhcGRldmljZSBvbiAnJXMnIgorI34gbXNnc3RyICIlczogaGliYTogYSBsYXBvesOzZXN6a8O2eiBsw6l0cmVob3rDoXPDoXJhIG5lbSB0w7ZydMOpbmlrIGvDrXPDqXJsZXQgYSh6KSDigJ4lc+KAnSBlc3prw7Z6w7ZuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyAoJXMpXG4iCisjfiBtc2dzdHIgImEoeikg4oCeJXPigJ0gZXN6a8O2eiBuZW0gw6lyaGV0xZEgZWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHN3YXBsYWJlbCg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlRvdsOhYmJpIGluZm9ybcOhY2nDs2vDqXJ0IHRla2ludHNlIG1lZyBhIHNldGFyY2goOCkga8Opemlrw7ZueXZvbGRhbHQuXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWkgZG9lcyBub3Qgc3RhcnQgb24gY3lsaW5kZXIgYm91bmRhcnk6XG4iCisjfiBtc2dzdHIgIkEoeikgJWkuIHBhcnTDrWNpw7MgbmVtIGNpbGxpbmRlcmhhdMOhcm9uIGtlemTFkWRpazpcbiIKKworI34gbXNnaWQgInNob3VsZCBiZSAoJWQsICVkLCAxKVxuIgorI34gbXNnc3RyICJhIHbDoXJ0IMOpcnTDqWs6ICglZCwgJWQsIDEpXG4iCisKKyN+IG1zZ2lkICJzaG91bGQgYmUgKCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgImEgdsOhcnQgw6lydMOpazogKCVkLCAlZCwgJWQpXG4iCisKKyN+IG1zZ2lkICJUaGlzIGtlcm5lbCBmaW5kcyB0aGUgc2VjdG9yIHNpemUgaXRzZWxmIC0gLWIgb3B0aW9uIGlnbm9yZWRcbiIKKyN+IG1zZ3N0ciAiRXogYSByZW5kc3plcm1hZyBhIHN6ZWt0b3Jtw6lyZXRldCDDtm7DoWxsw7NhbiDDoWxsYXDDrXRqYSBtZWcgLSBhIC1iIGthcGNzb2zDsyBmaWd5ZWxtZW4ga8OtdsO8bCBtYXJhZHRcbiIKKworI34gbXNnaWQgIm91dCBvZiBtZW1vcnk/XG4iCisjfiBtc2dzdHIgImVsZm9neW90dCBhIG1lbcOzcmlhP1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gInNmZGlzazogcHJlbWF0dXJlIGVuZCBvZiBpbnB1dFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAic2ZkaXNrOiBpZMWRIGVsxZF0dCB2w6lnZSBhIGJlbWVuZXRuZWtcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXQVJOSU5HOiBjb3VsZG4ndCBvcGVuICVzIgorI34gbXNnc3RyICIlczogJXMgbmVtIG55aXRoYXTDsyBtZWc6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVwb2NoIgorI34gbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiWW91IGhhdmUgc3BlY2lmaWVkIG11bHRpcGxlIGZ1bmN0aW9ucy5cbiIKKyN+ICJZb3UgY2FuIG9ubHkgcGVyZm9ybSBvbmUgZnVuY3Rpb24gYXQgYSB0aW1lLiIKKyN+IG1zZ3N0ciAiIgorI34gIlTDtmJiIG3FsXZlbGV0ZXQgYWRvdHQgbWVnIGVneXN6ZXJyZS5cbiIKKyN+ICJFZ3lzemVycmUgY3NhayBlZ3kgbcWxdmVsZXQgaGFzem7DoWxoYXTDsy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgLS11dGMgYW5kIC0tbG9jYWx0aW1lIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogQXogLS11dGMgw6lzIGEgLS1sb2NhdGltZSBrw7ZsY3PDtm7DtnNlbiBraXrDoXJqw6FrIGVneW3DoXN0LlxuIgorI34gIk3DqWdpcyBtaW5ka2V0dMWRdCBtZWdhZHRhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSAtLWFkanVzdCBhbmQgLS1ub2FkamZpbGUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiAgWW91IHNwZWNpZmllZCBib3RoLiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBBeiAtLWFkanVzdCDDqXMgYSAtLW5vYWRqZmlsZSBrw7ZsY3PDtm7DtnNlbiBraXrDoXJqw6FrIGVneW3DoXN0LlxuIgorI34gIk3DqWdpcyBtaW5ka2V0dMWRdCBtZWdhZHRhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSAtLWFkamZpbGUgYW5kIC0tbm9hZGpmaWxlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC4iCisjfiBtc2dzdHIgIiVzOiBBeiAtLWFkamZpbGUgw6lzIGEgLS1ub2FkamZpbGUga8O2bGNzw7Zuw7ZzZW4ga2l6w6FyasOhayBlZ3ltw6FzdCwgZGUgbWluZGtldHTFkXQgbWVnYWR0YS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgbG9jayBncm91cCBmaWxlIgorI34gbXNnc3RyICJhIGNzb3BvcnRhem9ub3PDrXTDsyBuZW0gw6FsbMOtdGhhdMOzIGJlIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRoZSAlcyBmaWxlIGlzIGJ1c3kgKCVzIHByZXNlbnQpIgorI34gbXNnc3RyICIlczogYSh6KSAlcyBmw6FqbCBmb2dsYWx0ICglcyBqZWxlbiB2YW4pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmaW5kbW50KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgdGVraW50c2UgbWVnIGEgc2V0YXJjaCg4KSBrw6l6aWvDtm55dm9sZGFsdC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2lndmFsIgorI34gbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwb3J0IGAlbGQnIG91dCBvZiByYW5nZSIKKyN+IG1zZ3N0ciAiQXogw6lydMOpayBrw612w7xsIGVzaWsgYSB0YXJ0b23DoW55b24uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBsc2Jsayg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlRvdsOhYmJpIGluZm9ybcOhY2nDs2vDqXJ0IHRla2ludHNlIG1lZyBhIHNldGFyY2goOCkga8Opemlrw7ZueXZvbGRhbHQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBvZmZzZXQgdmFsdWUgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIsOJcnbDqW55dGVsZW4gYmXDoWxsw610b3R0IMOpcnTDqWs6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2FybmluZzogZmFpbGVkIHRvIHJlYWQgbXRhYiIKKyN+IG1zZ3N0ciAiQSh6KSAlcyBuZW0gb2x2YXNoYXTDs1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjbGFzcyBkYXRhIgorI34gbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY2xhc3MiCisjfiBtc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIG55aXRoYXTDsyBtZWc6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBidWZmZXIgc2l6ZSIKKyN+IG1zZ3N0ciAiYSh6KSDigJ4lc+KAnSBuZW0gbnlpdGhhdMOzIG1lZzogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmYWxsb2NhdGUoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJUb3bDoWJiaSBpbmZvcm3DoWNpw7Nrw6lydCB0ZWtpbnRzZSBtZWcgYSBzZXRhcmNoKDgpIGvDqXppa8O2bnl2b2xkYWx0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgZnN0cmltKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgdGVraW50c2UgbWVnIGEgc2V0YXJjaCg4KSBrw6l6aWvDtm55dm9sZGFsdC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIHNwZWVkIgorI34gbXNnc3RyICLDqXJ2w6lueXRlbGVuIHNlYmVzc8OpZzogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBvZmZzZXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIsOJcnbDqW55dGVsZW4gYmXDoWxsw610b3R0IMOpcnTDqWs6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBzaXplICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICLDiXJ2w6lueXRlbGVuIGJlw6FsbMOtdG90dCDDqXJ0w6lrOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbW91bnRwb2ludCgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlRvdsOhYmJpIGluZm9ybcOhY2nDs2vDqXJ0IHRla2ludHNlIG1lZyBhIHNldGFyY2goOCkga8Opemlrw7ZueXZvbGRhbHQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIFBJRCIKKyN+IG1zZ3N0ciAiYSh6KSAlcyBuZW0gbnlpdGhhdMOzIG1lZyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2Vjb25kcyB2YWx1ZSIKKyN+IG1zZ3N0ciAiYSh6KSDigJ4lc+KAnSBuZW0gbnlpdGhhdMOzIG1lZzogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHRpbWVfdCB2YWx1ZSIKKyN+IG1zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBsc2JsaygxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlRvdsOhYmJpIGluZm9ybcOhY2nDs2vDqXJ0IHRla2ludHNlIG1lZyBhIHNldGFyY2goOCkga8Opemlrw7ZueXZvbGRhbHQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYXJndW1lbnQgJWx1IGlzIHRvbyBsYXJnZSIKKyN+IG1zZ3N0ciAiYXogYWRhdGJsb2trIHTDumwgbmFneSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0ZXJtaW5hbCBlbnZpcm9ubWVudCBDT0xVTU5TIGZhaWxlZCIKKyN+IG1zZ3N0ciAibGVmb2dsYWx0IHN6ZW1hZm9yb2sgPSAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImJhZCBsZW5ndGggdmFsdWUiCisjfiBtc2dzdHIgImhleGR1bXA6IGhpYsOhcyBob3NzesO6c8OhZ8OpcnTDqWsuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIHNraXAgdmFsdWUiCisjfiBtc2dzdHIgImhleGR1bXA6IGhpYsOhcyBraWhhZ3nDoXNpIMOpcnTDqWsuXG4iCisKKyN+IG1zZ2lkICIlczogVXNhZ2U6ICVzIFstbnVtYmVyXSBbLXAgc3RyaW5nXSBbLWNlZm5yc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIgorI34gbXNnc3RyICIlczogSGFzem7DoWxhdDogJXMgWy1zesOhbV0gWy1wIGthcmFrdGVybMOhbmNdIFstY2VmbnJzXSBbK3Nvcl0gWysvbWludGEvXSBbZsOhamxva11cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogJWQ6IHBhcnNlIGVycm9yIC0tIGxpbmUgaWdub3JlZC5cbiIKKyN+IG1zZ3N0ciAiYXogZWxzxZEgc29yIHV0w6FuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhcm5pbmc6IGZhaWxlZCB0byBwYXJzZSAlcyIKKyN+IG1zZ3N0ciAiQSh6KSAlcyBuZW0gb2x2YXNoYXTDs1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUtMjVzOiBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgImF6IGluZMOtdMOhcyBtZWdoacO6c3VsdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUtMjVzOiBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAiJXMgbWVnaGnDunN1bHQuXG4iCisKKyN+IG1zZ2lkICIgICBkICAgZGVsZXRlIGEgQlNEIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgZCAgICBCU0QgcGFydMOtY2nDsyB0w7ZybMOpc2UiCisKKyN+IG1zZ2lkICIgICBuICAgYWRkIGEgbmV3IEJTRCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgIG4gICAgw7pqIEJTRCBwYXJ0w61jacOzIGhvenrDoWFkw6FzYSIKKworI34gbXNnaWQgIiAgIHQgICBjaGFuZ2UgYSBwYXJ0aXRpb24ncyBmaWxlc3lzdGVtIGlkIgorI34gbXNnc3RyICIgICB0ICAgYSBwYXJ0w61jacOzIGbDoWpscmVuZHN6ZXItYXpvbm9zw610w7Nqw6FuYWsgbcOzZG9zw610w6FzYSIKKworI34gbXNnaWQgIiAgIHUgICBjaGFuZ2UgdW5pdHMgKGN5bGluZGVycy9zZWN0b3JzKSIKKyN+IG1zZ3N0ciAiICAgdSAgIGEgbcOpcmV0w6lrZWd5c8OpZ2VrIG3Ds2Rvc8OtdMOhc2EgKGNpbGluZGVyZWsvc3pla3Rvcm9rKSIKKworI34gbXNnaWQgIiAgIHAgICBwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICIgICBwICAgYSBwYXJ0w61jacOzcyB0w6FibGEga2nDrXLDoXNhIgorCisjfiBtc2dpZCAiIgorI34gIkJ1aWxkaW5nIGEgbmV3IERPUyBkaXNrbGFiZWwgd2l0aCBkaXNrIGlkZW50aWZpZXIgMHglMDh4LlxuIgorI34gIkNoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS5cbiIKKyN+ICJBZnRlciB0aGF0LCBvZiBjb3Vyc2UsIHRoZSBwcmV2aW91cyBjb250ZW50IHdvbid0IGJlIHJlY292ZXJhYmxlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiRWd5IMO6aiBET1MgbGVtZXpjw61ta2Uga2Vyw7xsIGzDqXRyZWhvesOhc3JhIDB4JTA4eCBsZW1lemF6b25vc8OtdMOzdmFsLlxuIgorI34gIkEgdsOhbHRvesOhc29rIGEgbWVtw7NyacOhYmFuIG1hcmFkbmFrIGFtw61nIGtpIG5lbSDDrXJqYSBhem9rYXQuXG4iCisjfiAiRXp1dMOhbiB0ZXJtw6lzemV0ZXNlbiBhIGtvcsOhYmJpIHRhcnRhbG9tIG5lbSBsZXN6IHZpc3N6YcOhbGzDrXRoYXTDsy5cbiIKKworI34gbXNnaWQgIkRldmljZSBjb250YWlucyBuZWl0aGVyIGEgdmFsaWQgRE9TIHBhcnRpdGlvbiB0YWJsZSwgbm9yIFN1biwgU0dJIG9yIE9TRiBkaXNrbGFiZWxcbiIKKyN+IG1zZ3N0ciAiQXogZXN6a8O2eiBuZW0gdGFydGFsbWF6IMOpcnbDqW55ZXMgRE9TIHBhcnTDrWNpw7NzIHTDoWJsw6F0LCBzZW0gU3VuLCBTR0kgdmFneSBPU0YgbGVtZXpjw61ta8OpdFxuIgorCisjfiBtc2dpZCAiSW50ZXJuYWwgZXJyb3JcbiIKKyN+IG1zZ3N0ciAiQmVsc8WRIGhpYmFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJcdFNvcnJ5LCBubyBleHBlcnRzIG1lbnUgZm9yIFNHSSBwYXJ0aXRpb24gdGFibGVzIGF2YWlsYWJsZS5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0RWxuw6l6w6lzdCwgbmluY3Mgc3pha8OpcnTFkWkgbWVuw7wgYXogU0dJIHBhcnTDrWNpw7NzIHTDoWJsw6FraG96LlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiRG8gWW91IGtub3csIFlvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzaz9cbiIKKyN+IG1zZ3N0ciAiVHVkdGEsIGhvZ3kgYSBsZW1lesOpbiBlZ3ltw6FzdCBmZWRpayBhIHBhcnTDrWNpw7NrP1xuIgorCisjfiBtc2dpZCAiIgorI34gIkJ1aWxkaW5nIGEgbmV3IFNHSSBkaXNrbGFiZWwuIENoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksXG4iCisjfiAidW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLiBBZnRlciB0aGF0LCBvZiBjb3Vyc2UsIHRoZSBwcmV2aW91c1xuIgorI34gImNvbnRlbnQgd2lsbCBiZSB1bnJlY292ZXJhYmx5IGxvc3QuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFZ3kgw7pqIFNHSSBsZW1lemPDrW1rZSBrZXLDvGwgbMOpdHJlaG96w6FzcmEuIEEgdsOhbHRvesOhc29rIGEgbWVtw7NyacOhYmFuXG4iCisjfiAibWFyYWRuYWssIGFtw61nIGVsIG5lbSBtZW50aSBhem9rYXQuIEV6dXTDoW4gdGVybcOpc3pldGVzZW5cbiIKKyN+ICJhIGtvcsOhYmJpIHRhcnRhbG9tIHZpc3N6YXZvbmhhdGF0bGFudWwgZWx2w6lzei5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIm91dCBvZiBtZW1vcnkgLSBnaXZpbmcgdXBcbiIKKyN+IG1zZ3N0ciAiZWxmb2d5b3R0IGEgbWVtw7NyaWEgLSBmZWxhZG9tXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBtb3VudCg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlRvdsOhYmJpIGluZm9ybcOhY2nDs2vDqXJ0IHRla2ludHNlIG1lZyBhIHNldGFyY2goOCkga8Opemlrw7ZueXZvbGRhbHQuXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogbWVtb3J5IGxvdywgbG9naW4gbWF5IGZhaWxcbiIKKyN+IG1zZ3N0ciAibG9naW46IGtldsOpcyBtZW3Ds3JpYSwgYSBiZWplbGVudGtlesOpcyBtZWdoacO6c3VsaGF0XG4iCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgZm9yIHR0eWNsYXNzIgorI34gbXNnc3RyICJuZW0gbGVoZXQgbWVtw7NyacOhdCBmb2dsYWxuaSBhIHR0eWNsYXNzbmFrIgorCisjfiBtc2dpZCAiY2FuJ3QgbWFsbG9jIGZvciBncnBsaXN0IgorI34gbXNnc3RyICJuZW0gbGVoZXQgbWVtw7NyacOhdCBmb2dsYWxuaSBhIGdycGxpc3RuZWsiCisKKyN+IG1zZ2lkICJMb2dpbiBvbiAlcyBmcm9tICVzIGRlbmllZC5cbiIKKyN+IG1zZ3N0ciAiQSBiZWplbGVudGtlesOpcyAlcyBnw6lwcmUgYSh6KSAlcyBnw6lwcsWRbCBtZWd0YWdhZHZhLlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsgLWYgZnVsbC1uYW1lIF0gWyAtbyBvZmZpY2UgXSAiCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFsgLWYgdGVsamVzX27DqXYgXSBbIC1vIGlyb2RhIF0gIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorI34gbXNnc3RyICIlczogamVsc3rDsy1oaXRlbGVzw610w6lzaSAoUEFNKSBoaWJhLCBtZWdzemFrw610dmE6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlMSRzIFstcyBzaGVsbF0gW3VzZXJuYW1lXVxuIgorI34gIiAgIG9yOiAlMSRzICgtLWxpc3Qtc2hlbGxzIHwgLS1oZWxwIHwgLS12ZXJzaW9uKVxuIgorI34gbXNnc3RyICIiCisjfiAiSGFzem7DoWxhdDogJXMgWyAtcyBwYXJhbmNzw6lydGVsbWV6xZEgXSBbIC0tbGlzdC1zaGVsbHMgXSBbIC0taGVscCBdIFsgLS12ZXJzaW9uIF1cbiIKKyN+ICIgICAgICAgWyBmZWxoYXN6bsOhbMOzbsOpdiBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzLiIKKyN+IG1zZ3N0ciAiJXM6IGNzYWsgaGVseWkgYmVqZWd5esOpc2VrIG3Ds2Rvc8OtdGhhdMOzaywgaGFzem7DoWxqYSBpbmvDoWJiIGF6IHlwJXMgbGVoZXTFkXPDqWdldC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2FuJ3Qgc2V0IGRlZmF1bHQgY29udGV4dCBmb3IgL2V0Yy9wYXNzd2QiCisjfiBtc2dzdHIgIiVzOiBOZW0gw6FsbMOtdGhhdMOzIGJlIGF6IC9ldGMvcGFzc3dkIGFsYXDDqXJ0ZWxtZXpldHQga29udGV4dHVzYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZXRwd25hbSBmYWlsZWQiCisjfiBtc2dzdHIgImEgc2V0dWlkKCkgaMOtdsOhc2EgbWVnaGnDunN1bHQiCisKKyN+IG1zZ2lkICIlczogVXNlIC1sIG9wdGlvbiB0byBzZWUgbGlzdC5cbiIKKyN+IG1zZ3N0ciAiJXM6IEhhc3puw6FsamEgYSDigJ4tbOKAnSBrYXBjc29sw7N0IGEgbGlzdGEgbWVnamVsZW7DrXTDqXPDqWhlei5cbiIKKworI34gbXNnaWQgInVzYWdlOiBsb2dpbiBbLWZwXSBbdXNlcm5hbWVdXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6IGxvZ2luIFstZnBdIFtmZWxoYXN6bsOhbMOzbsOpdl1cbiIKKworI34gbXNnaWQgIm91dCBvZiBtZW1vcnkiCisjfiBtc2dzdHIgImVsZm9neW90dCBhIG1lbcOzcmlhIgorCisjfiBtc2dpZCAiSWxsZWdhbCB1c2VybmFtZSIKKyN+IG1zZ3N0ciAiw4lydsOpbnl0ZWxlbiBmZWxoYXN6bsOhbMOzbsOpdiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyBsb2dpbiByZWZ1c2VkIG9uIHRoaXMgdGVybWluYWwuIgorI34gbXNnc3RyICIlcyBiZWplbGVudGtlesOpc2UgbWVndGFnYWR2YSBlemVuIGEgdGVybWluw6Fsb24uXG4iCisKKyN+IG1zZ2lkICJMT0dJTiAlcyBSRUZVU0VEIEZST00gJXMgT04gVFRZICVzIgorI34gbXNnc3RyICIlcyBCRUpFTEVOVEtFWsOJU0UgTUVHVEFHQURWQSBFUlLFkEw6ICVzIEEgS8OWVkVUS0VaxZAgVEVSTUlOw4FMT046ICVzIgorCisjfiBtc2dpZCAiTE9HSU4gJXMgUkVGVVNFRCBPTiBUVFkgJXMiCisjfiBtc2dzdHIgIiVzIEJFSkVMRU5US0Vaw4lTRSBNRUdUQUdBRFZBIEEgS8OWVkVUS0VaxZAgVEVSTUlOw4FMT046ICVzIgorCisjfiBtc2dpZCAiTG9naW4gaW5jb3JyZWN0XG4iCisjfiBtc2dzdHIgIkEgYmVqZWxlbnRrZXrDqXMgbWVnaGnDunN1bHRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjaGFuZ2UgdGVybWluYWwgb3duZXIgZmFpbGVkIgorI34gbXNnc3RyICJsZWZvZ2xhbHQgc3plbWFmb3JvayA9ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbHVyZSBmb3JraW5nIgorI34gbXNnc3RyICJsb2dpbjogYSBwcm9ncmFtaW5kw610w6FzIG1lZ2hpw7pzdWx0OiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICIlcyBsb2dpbjogIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiJXMgZmVsaGFzem7DoWzDs27DqXY6ICIKKworI34gbXNnaWQgIk5BTUUgdG9vIGxvbmciCisjfiBtc2dzdHIgIkEgTsOJViB0w7psIGhvc3N6w7oiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9naW4gbmFtZSBtdWNoIHRvbyBsb25nLiIKKyN+IG1zZ3N0ciAiQSBmZWxoYXN6bsOhbMOzbsOpdiB0w7psIGhvc3N6w7ouXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9naW4gbmFtZXMgbWF5IG5vdCBzdGFydCB3aXRoICctJy4iCisjfiBtc2dzdHIgIkEgZmVsaGFzem7DoWzDs25ldmVrIG5lbSBrZXpkxZFkaGV0bmVrIOKAni3igJ0gamVsbGVsLlxuIgorCisjfiBtc2dpZCAiRVhDRVNTSVZFIGxpbmVmZWVkcyIKKyN+IG1zZ3N0ciAiVMOaTCBTT0sgc29yZW1lbMOpcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0b28gbWFueSBiYXJlIGxpbmVmZWVkcy4iCisjfiBtc2dzdHIgInTDumwgc29rIMO8cmVzIHNvcmVtZWzDqXMuXG4iCisKKyN+IG1zZ2lkICJMT0dJTiBGQUlMVVJFIEZST00gJXMsICVzIgorI34gbXNnc3RyICJCRUpFTEVOVEtFWsOJU0kgSElCQSBFUlLFkEw6ICVzLCAlcyIKKworI34gbXNnaWQgIkxPR0lOIEZBSUxVUkUgT04gJXMsICVzIgorI34gbXNnc3RyICJCRUpFTEVOVEtFWsOJU0kgSElCQSBFWkVOOiAlcywgJXMiCisKKyN+IG1zZ2lkICIlZCBMT0dJTiBGQUlMVVJFUyBGUk9NICVzLCAlcyIKKyN+IG1zZ3N0ciAiJWQgQkVKRUxFTlRLRVrDiVNJIEhJQkEgRVJSxZBMOiAlcywgJXMiCisKKyN+IG1zZ2lkICIlZCBMT0dJTiBGQUlMVVJFUyBPTiAlcywgJXMiCisjfiBtc2dzdHIgIiVkIEJFSkVMRU5US0Vaw4lTSSBISUJBIEVaRU46ICVzLCAlcyIKKworI34gbXNnaWQgIiVzOiB0aGUgZ3JvdXAgZmlsZSBpcyBidXN5LlxuIgorI34gbXNnc3RyICIlczogYSBjc29wb3J0ZsOhamwgZm9nbGFsdC5cbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCB1bmxvY2sgJXM6ICVzICh5b3VyIGNoYW5nZXMgYXJlIHN0aWxsIGluICVzKVxuIgorI34gbXNnc3RyICIlczogYSh6KSAlcyB6w6Fyb2zDoXNhIG5lbSBvbGRoYXTDsyBmZWw6ICVzIChhIHbDoWx0b3p0YXTDoXNhaSBtw6lnIG1pbmRpZyBhIGvDtnZldGtlesWRYmVuIHZhbm5hazogJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2FsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAiYSBtYWxsb2MgbWVnaGnDunN1bHQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV0FSTklORzogJXM6IGFwcGVhcnMgdG8gY29udGFpbiAnJXMnIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiQSh6KSAlcyBsZW1leiBuZW0gdGFydGFsbWF6IMOpcnbDqW55ZXMgcGFydMOtY2nDs3MgdMOhYmzDoXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogd3JpdGUgZmFpbGVkIgorI34gbXNnc3RyICIlcyBtZWdoacO6c3VsdC5cbiIKKworI34gbXNnaWQgIiVzOiAvZGV2IGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdC4iCisjfiBtc2dzdHIgIiVzOiBhIC9kZXYga8O2bnl2dMOhciBuZW0gbMOpdGV6aWsuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxvb3A6IGNhbid0IHNldCBjYXBhY2l0eSBvbiBkZXZpY2UgJXM6ICVzXG4iCisjfiBtc2dzdHIgImxvb3A6IG5lbSBrYXBoYXTDs2sgaW5mb3Jtw6FjacOzayBhKHopICVzIGVzemvDtnpyxZFsOiAlc1xuIgorCisjfiBtc2dpZCAiLCBvZmZzZXQgJTxQUkl1NjQ+IgorI34gbXNnc3RyICIsIGVsdG9sw6FzOiAlPFBSSXU2ND4iCisKKyN+IG1zZ2lkICIsIGVuY3J5cHRpb24gdHlwZSAlZFxuIgorI34gbXNnc3RyICIsIHRpdGtvc8OtdMOhc3TDrXB1czogJWRcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IGdldCBpbmZvIG9uIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDogbmVtIGthcGhhdMOzayBpbmZvcm3DoWNpw7NrIGEoeikgJXMgZXN6a8O2enLFkWw6ICVzXG4iCisKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBvcGVuIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDogbmVtIG55aXRoYXTDsyBtZWcgYSh6KSAlcyBlc3prw7Z6OiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBubyBwZXJtaXNzaW9uIHRvIGxvb2sgYXQgL2Rldi9sb29wJXM8Tj4iCisjfiBtc2dzdHIgIiVzOiBuaW5jcyBqb2dvc3VsdHPDoWdhIGEgL2Rldi9sb29wIyBtZWdqZWxlbsOtdMOpc8OpaGV6IgorCisjfiBtc2dpZCAiIgorI34gIiVzOiBDb3VsZCBub3QgZmluZCBhbnkgbG9vcCBkZXZpY2UuIE1heWJlIHRoaXMga2VybmVsIGRvZXMgbm90IGtub3dcbiIKKyN+ICIgICAgICAgYWJvdXQgdGhlIGxvb3AgZGV2aWNlPyAoSWYgc28sIHJlY29tcGlsZSBvciBgbW9kcHJvYmUgbG9vcCcuKSIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBOZW0gdGFsw6FsaGF0w7MgZWd5IGh1cm9rZXN6a8O2eiBzZW0uIExlaGV0LCBob2d5IGV6IGEgcmVuZHN6ZXJtYWcgbmVtXG4iCisjfiAiICAgICAgIGlzbWVyaSBhIGh1cm9rZXN6a8O2enQ/LiAoZm9yZMOtdHNhIMO6anJhIGEgcmVuZHN6ZXJtYWdvdCB2YWd5XG4iCisjfiAiICAgICAgIGFkamEga2kgYSDigJ5tb2Rwcm9iZSBsb29w4oCdIHBhcmFuY3NvdC4pIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk91dCBvZiBtZW1vcnkgd2hpbGUgcmVhZGluZyBwYXNzcGhyYXNlIgorI34gbXNnc3RyICJFbGZvZ3lvdHQgYSBtZW3Ds3JpYSBhIHB1ZmZlciBuw7Z2ZWzDqXNla29yLlxuIgorCisjfiBtc2dpZCAid2FybmluZzogJXMgaXMgYWxyZWFkeSBhc3NvY2lhdGVkIHdpdGggJXNcbiIKKyN+IG1zZ3N0ciAiZmlneWVsbWV6dGV0w6lzOiBhKHopICVzIG3DoXIgdMOhcnPDrXR2YSB2YW4gYSBrw7Z2ZXRrZXrFkWjDtno6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2FybmluZzogJXM6IGlzIHdyaXRlLXByb3RlY3RlZCwgdXNpbmcgcmVhZC1vbmx5LlxuIgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlMiRzJTEkcyDDrXLDoXN2w6lkZXR0LCBjc2F0b2zDoXMgY3NhayBvbHZhc2hhdMOza8OpbnQiCisKKyN+IG1zZ2lkICJpb2N0bCBMT09QX1NFVF9GRCBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgIkEgTE9PUF9TRVRfRkQgaW9jdGwgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyN+IG1zZ2lkICJzZXRfbG9vcCglcywlcywlbGx1LCVsbHUpOiBzdWNjZXNzXG4iCisjfiBtc2dzdHIgInNldF9sb29wKCVzLCVzLCVsbHUsJWxsdSk6IHNpa2VyXG4iCisKKyN+IG1zZ2lkICJkZWxfbG9vcCglcyk6IHN1Y2Nlc3NcbiIKKyN+IG1zZ3N0ciAiZGVsX2xvb3AoJXMpOiBzaWtlclxuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3QgZGVsZXRlIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDogbmVtIHTDtnLDtmxoZXTFkSBhKHopICVzIGVzemvDtno6ICVzXG4iCisKKyN+IG1zZ2lkICJUaGlzIG1vdW50IHdhcyBjb21waWxlZCB3aXRob3V0IGxvb3Agc3VwcG9ydC4gUGxlYXNlIHJlY29tcGlsZS5cbiIKKyN+IG1zZ3N0ciAiRXogYSDigJ5tb3VudOKAnSBwYXJhbmNzIGh1cm9rZXN6a8O2ei10w6Ftb2dhdMOhcyBuw6lsa8O8bCBsZXR0IGxlZm9yZMOtdHZhLiBGb3Jkw610c2Egw7pqcmEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3RvbGVuIGxvb3A9JXMuLi50cnlpbmcgYWdhaW5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGEoeikgJXMgaHVyb2tlc3prw7Z6dCBlZ3kgbcOhc2lrIGZvbHlhbWF0IGVsbG9wdGEuLi4gw7pqcmFwcsOzYsOhbG9tXG4iCisKKyN+IG1zZ2lkICJObyBsb29wIHN1cHBvcnQgd2FzIGF2YWlsYWJsZSBhdCBjb21waWxlIHRpbWUuIFBsZWFzZSByZWNvbXBpbGUuXG4iCisjfiBtc2dzdHIgIkEgJ2xvb3AnIHTDoW1vZ2F0w6FzIG5lbSB2b2x0IGVsw6lyaGV0xZEgZm9yZMOtdMOhc2tvci4gRm9yZMOtdHNhIMO6anJhIGEgcHJvZ3JhbW90LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcGFydHgoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJUb3bDoWJiaSBpbmZvcm3DoWNpw7Nrw6lydCB0ZWtpbnRzZSBtZWcgYSBzZXRhcmNoKDgpIGvDqXppa8O2bnl2b2xkYWx0LlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstcSBbLWkgaW50ZXJ2YWxdXSAoWy1zIHZhbHVlXXxbLVMgdmFsdWVdKSAoWy10IHZhbHVlXXxbLVQgdmFsdWVdKSBbLWd8LUddIGZpbGUgW2ZpbGUuLi5dXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFstcSBbLWkgaWTFkWtvcmzDoXRdXSAoWy1zIMOpcnTDqWtdfFstUyDDqXJ0w6lrXSkgKFstdCDDqXJ0w6lrXXxbLVQgw6lydMOpa10pIFstZ3wtR10gZsOhamwgW2bDoWpsLi4uXVxuIgorCisjfiBtc2dpZCAiQ2FuJ3Qgb3BlbiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXMgbmVtIG55aXRoYXTDsyBtZWc6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6ICVzIG5lbSBueWl0aGF0w7MgbWVnOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBiYWQgbnVtYmVyOiAlc1xuIgorI34gbXNnc3RyICIlczogaGliw6FzIMOpcnTDqWtcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZm9yayBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgImF6IGluZMOtdMOhcyBtZWdoacO6c3VsdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgaXBjbWsoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJUb3bDoWJiaSBpbmZvcm3DoWNpw7Nrw6lydCB0ZWtpbnRzZSBtZWcgYSBzZXRhcmNoKDgpIGvDqXppa8O2bnl2b2xkYWx0LlxuIgorCisjfiBtc2dpZCAiZGVwcmVjYXRlZCB1c2FnZTogJXMge3NobSB8IG1zZyB8IHNlbX0gaWQgLi4uXG4iCisjfiBtc2dzdHIgImVsYXZ1bHQgaGFzem7DoWxhdDogJXMge3NobSB8IG1zZyB8IHNlbX0gYXpvbm9zw610w7MgLi4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAidXNhZ2U6ICVzIFsgWy1xIG1zcWlkXSBbLW0gc2htaWRdIFstcyBzZW1pZF1cbiIKKyN+ICIgICAgICAgICAgWy1RIG1zZ2tleV0gWy1NIHNobWtleV0gWy1TIHNlbWtleV0gLi4uIF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkhhc3puw6FsYXQ6ICVzIFsgWy1xIMO8emVuZXRhem9ub3PDrXTDs10gWy1tIG9zenRvdHRtZW3Ds3JpYS1hem9ub3PDrXTDs11cbiIKKyN+ICIgICAgICAgICAgICAgIFstcyBzemVtYWZvcmF6b25vc8OtdMOzXVxuIgorI34gIiAgICAgICAgICAgICAgWy1RIMO8emVuZXRrdWxjc10gWy1NIG9zenRvdHRtZW3Ds3JpYS1rdWxjc10gWy1TIHN6ZW1hZm9ya3VsY3NdIC4uLiBdXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIGVycm9yIGluIGtleSIKKyN+IG1zZ3N0ciAiaXNtZXJldGxlbiBoaWJhIGEga3VsY3NiYW4iCisKKyN+IG1zZ2lkICJ1bmtub3duIGVycm9yIGluIGlkIgorI34gbXNnc3RyICJpc21lcmV0bGVuIGhpYmEgYXogYXpvbm9zw610w7NiYW4iCisKKyN+IG1zZ2lkICIlczogJXMgKCVzKVxuIgorI34gbXNnc3RyICIlczogJXMgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbIC1kaFY3OG5lbzEyIF0gWyAtcyA8c3BlZWQ+IF0gWyAtaSBbLV08aWZsYWc+IF0gPGxkaXNjPiA8ZGV2aWNlPlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiSGFzem7DoWxhdDogJXMgWyAtZGhWNzhuZW8xMiBdIFsgLXMgPHNlYmVzc8OpZz4gXSA8bGxlbWV6PiA8ZXN6a8O2ej5cbiIKKworI34gbXNnaWQgImxkYXR0YWNoIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAibGRhdHRhY2ggaW5uZW46ICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IFVzYWdlOiBcIiVzIFtvcHRpb25zXVxuIgorI34gIlx0IC1tIDxtYXBmaWxlPiAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCisjfiAiXHRcdFx0XHQgIFwiJXNcIilcbiIKKyN+ICJcdCAtcCA8cHJvLWZpbGU+IChkZWZhdWx0OiBcIiVzXCIpXG4iCisjfiAiXHQgLU0gPG11bHQ+ICAgICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorI34gIlx0IC1pICAgICAgICAgICAgcHJpbnQgb25seSBpbmZvIGFib3V0IHRoZSBzYW1wbGluZyBzdGVwXG4iCisjfiAiXHQgLXYgICAgICAgICAgICBwcmludCB2ZXJib3NlIGRhdGFcbiIKKyN+ICJcdCAtYSAgICAgICAgICAgIHByaW50IGFsbCBzeW1ib2xzLCBldmVuIGlmIGNvdW50IGlzIDBcbiIKKyN+ICJcdCAtYiAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgaGlzdG9ncmFtLWJpbiBjb3VudHNcbiIKKyN+ICJcdCAtcyAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgY291bnRlcnMgd2l0aGluIGZ1bmN0aW9uc1xuIgorI34gIlx0IC1yICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorI34gIlx0IC1uICAgICAgICAgICAgZGlzYWJsZSBieXRlIG9yZGVyIGF1dG8tZGV0ZWN0aW9uXG4iCisjfiAiXHQgLVYgICAgICAgICAgICBwcmludCB2ZXJzaW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogSGFzem7DoWxhdDog4oCeJXMgW2thcGNzb2zDs2tdXG4iCisjfiAiXHQgLW0gPGxla8OpcGV6w6lzaSBmw6FqbD4gIChhbGFww6lydGVsbWV6w6lzID0g4oCeJXPigJ0pIMOpc1xuIgorI34gIlx0XHRcdFx0ICDigJ4lc+KAnSlcbiIKKyN+ICJcdCAtcCA8cHJvZmlsZS1mw6FqbD4gKGFsYXDDqXJ0ZWxtZXrDqXMgPSDigJ4lc+KAnSlcbiIKKyN+ICJcdCAtTSA8c3pvcnrDsz4gICBhIHByb2ZpbG96w6FzaSBzem9yesOzIGJlw6FsbMOtdMOhc2EgYSA8c3pvcnrDs3JhPlxuIgorI34gIlx0IC1pICAgICAgICAgICAgY3NhayBhIG1pbnRhdsOpdGVsZXrDqXNpIGzDqXDDqXNyxZFsIGFkIGluZm9ybcOhY2nDs3RcbiIKKyN+ICJcdCAtdiAgICAgICAgICAgIHLDqXN6bGV0ZXMgYWRhdG9rIGtpw61yw6FzYVxuIgorI34gIlx0IC1hICAgICAgICAgICAga2nDrXJqYSBheiDDtnNzemVzIHN6aW1iw7NsdW1vdCwgbcOpZyBoYSBheiDDqXJ0w6lrZSAwIGlzXG4iCisjfiAiXHQgLWIgICAgICAgICAgICBlZ3llZGkgaGlzenRvZ3JhbS1iaW4gc3rDoW1vayBracOtcsOhc2FcbiIKKyN+ICJcdCAtcyAgICAgICAgICAgIGVneWVkaSBzesOhbWzDoWzDs2sga2nDrXLDoXNhIGEgZsO8Z2d2w6lueWVrZW4gYmVsw7xsXG4iCisjfiAiXHQgLXIgICAgICAgICAgICBheiDDtnNzemVzIHN6w6FtbMOhbMOzIGxlbnVsbMOhesOhc2EgKGNzYWsgcmVuZHN6ZXJnYXpkYSBqb2dnYWwpXG4iCisjfiAiXHQgLW4gICAgICAgICAgICBhIGLDoWp0c29ycmVuZCBhdXRvbWF0aWt1cyBmZWxpc21lcsOpc8OpbmVrIGxldGlsdMOhc2FcbiIKKyN+ICJcdCAtViAgICAgICAgICAgIGEgdmVyemnDs3N6w6FtIGtpw61yw6FzYSDDqXMga2lsw6lww6lzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVhZHByb2ZpbGU6IGVycm9yIHdyaXRpbmcgJXM6ICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBoaWJhIGEoeikgJXMgw61yw6FzYWtvcjogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBydGN3YWtlKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgdGVraW50c2UgbWVnIGEgc2V0YXJjaCg4KSBrw6l6aWvDtm55dm9sZGFsdC5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgc2V0YXJjaCg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlRvdsOhYmJpIGluZm9ybcOhY2nDs2vDqXJ0IHRla2ludHNlIG1lZyBhIHNldGFyY2goOCkga8Opemlrw7ZueXZvbGRhbHQuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6ICVzXG4iCisjfiAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiJXM6ICVzXG4iCisjfiAiVG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgYWRqYSBraSBhIOKAniVzIC0taGVscOKAnSBwYXJhbmNzb3QuXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgcHJvZ3JhbSBbYXJnIC4uLl1cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgcHJvZ3JhbSBbYXJndW1lbnR1bSAuLi5dXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIDxkZXZpY2U+IFsgLWkgPElSUT4gfCAtdCA8VElNRT4gfCAtYyA8Q0hBUlM+IHwgLXcgPFdBSVQ+IHwgXG4iCisjfiAiICAgICAgICAgIC1hIFtvbnxvZmZdIHwgLW8gW29ufG9mZl0gfCAtQyBbb258b2ZmXSB8IC1xIFtvbnxvZmZdIHwgLXMgfCBcbiIKKyN+ICIgICAgICAgICAgLVQgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIiCisjfiAiSGFzem7DoWxhdDogJXMgPGVzemvDtno+IFsgLWkgPG1lZ3N6YWvDrXTDoXM+IHwgLXQgPGlkxZE+IHwgLWMgPGthcmFrdGVyZWs+IHwgLXcgPHbDoXJha296w6FzPiB8IFxuIgorI34gIiAgICAgICAgICAtYSBbb258b2ZmXSB8IC1vIFtvbnxvZmZdIHwgLUMgW29ufG9mZl0gfCAtcSBbb258b2ZmXSB8IC1zIHwgXG4iCisjfiAiICAgICAgICAgIC1UIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiVzOiBiYWQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAiJXM6IGhpYsOhcyDDqXJ0w6lrXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB1bnNoYXJlKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgdGVraW50c2UgbWVnIGEgc2V0YXJjaCg4KSBrw6l6aWvDtm55dm9sZGFsdC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjbG9zaW5nIGZpbGUgJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJIaWJhIGEgZsOhamwgbGV6w6Fyw6FzYWtvclxuIgorCisjfiBtc2dpZCAiU29ycnkgWW91IG1heSBjaGFuZ2UgdGhlIFRhZyBvZiBub24tZW1wdHkgcGFydGl0aW9ucy5cbiIKKyN+IG1zZ3N0ciAiRWxuw6l6w6lzdCwgbWVndsOhbHRvenRhdGhhdGphIG5lbSDDvHJlcyBwYXJ0w61jacOzayBjw61ta8OpasOpdC5cbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyAiCisjfiBtc2dzdHIgIkZpZ3llbG1lenRldMOpczogJXMgcGFydMOtY2nDsyAiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb25zICVzICIKKyN+IG1zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiAlcyBwYXJ0w61jacOzICIKKworI34gbXNnaWQgImFuZCAlcyBvdmVybGFwXG4iCisjfiBtc2dzdHIgIsOpcyBhKHopICVzIMOhdGZlZGlrIGVneW3DoXN0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAgJXMgW29wdGlvbnNdIGRldmljZSBbLi4uXVxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJEZXZpY2UgaXMgc29tZXRoaW5nIGxpa2UgL2Rldi9oZGEgb3IgL2Rldi9zZGFcbiIKKyN+IG1zZ3N0ciAiZXN6a8O2ejogL2Rldi9oZGEsIC9kZXYvc2RhIHZhZ3kgZXpla2hleiBoYXNvbmzDsyBlc3prw7Z6bsOpdiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICUxJHMgLWEgWy1lXSBbLXZdIFstZl0gICAgICAgICAgICAgZW5hYmxlIGFsbCBzd2FwcyBmcm9tIC9ldGMvZnN0YWJcbiIKKyN+ICIgJTEkcyBbLXAgcHJpb3JpdHldIFstZF0gWy12XSBbLWZdIDxzcGVjaWFsPiAgZW5hYmxlIGdpdmVuIHN3YXBcbiIKKyN+ICIgJTEkcyAtcyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgdXNhZ2Ugc3VtbWFyeVxuIgorI34gIiAlMSRzIC1oICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaGVscFxuIgorI34gIiAlMSRzIC1WICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdmVyc2lvblxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiSGFzem7DoWxhdDpcbiIKKyN+ICIgJTEkcyAtYSBbLWVdIFstdl0gICAgICAgICAgICAgICAgICBheiAvZXRjL2ZzdGFiIG1pbmRlbiBsYXBvesOzdGVyw7xsZXTDqW5la1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVrYXBjc29sw6FzYVxuIgorI34gIiAlMSRzIFstcCBwcmlvcml0w6FzXSBbLXZdIDxzcGVjacOhbGlzPiAgYWRvdHQgbGFwb3rDs3RlcsO8bGV0IGJla2FwY3NvbMOhc2FcbiIKKyN+ICIgJTEkcyAtcyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXBvesOzdGVyw7xsZXQtaGFzem7DoWxhdCDDtnNzemVnesOpc8OpbmVrXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZWdqZWxlbsOtdMOpc2VcbiIKKyN+ICIgJTEkcyAtaCAgICAgICAgICAgICAgICAgICAgICAgICAgICBzw7pnw7MgbWVnamVsZW7DrXTDqXNlXG4iCisjfiAiICUxJHMgLVYgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyemnDsyBtZWdqZWxlbsOtdMOpc2VcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJTEkcyAtYSBbLXZdICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIHN3YXBzXG4iCisjfiAiICUxJHMgWy12XSA8c3BlY2lhbD4gICAgICAgICAgICAgICBkaXNhYmxlIGdpdmVuIHN3YXBcbiIKKyN+ICIgJTEkcyAtaCAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaGVscFxuIgorI34gIiAlMSRzIC1WICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJIYXN6bsOhbGF0OlxuIgorI34gIiAlMSRzIC1hIFstdl0gICAgICAgICAgICAgICAgICAgICAgbWluZGVuIGxhcG96w7N0ZXLDvGxldCBraWthcGNzb2zDoXNhXG4iCisjfiAiICUxJHMgWy12XSA8c3BlY2nDoWxpcz4gICAgICAgICAgICAgYWRvdHQgbGFwb3rDs3RlcsO8bGV0IGtpa2FwY3NvbMOhc2FcbiIKKyN+ICIgJTEkcyAtaCAgICAgICAgICAgICAgICAgICAgICAgICAgIHPDumfDsyBtZWdqZWxlbsOtdMOpc2VcbiIKKyN+ICIgJTEkcyAtViAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnppw7MgbWVnamVsZW7DrXTDqXNlXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gPGZpbGVuYW1lPlxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJIYXN6bsOhbGF0OiAlcyVzIFtrYXBjc29sw7NrXSBbcHJvZ3JhbSBbcHJvZ3JhbSBhcmd1bWVudHVtYWldXVxuIgorI34gIlxuIgorI34gIkthcGNzb2zDs2s6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc11cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc11cbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyN+IG1zZ2lkICIgICVzIC1WXG4iCisjfiBtc2dzdHIgIiAgJXMgLVZcbiIKKworI34gbXNnaWQgIiAgJXMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisjfiBtc2dzdHIgIiAgJXMgLS1yZXBvcnQgW2VzemvDtnrDtmtdXG4iCisKKyN+IG1zZ2lkICIgICVzIFstdnwtcV0gY29tbWFuZHMgZGV2aWNlc1xuIgorI34gbXNnc3RyICIgICVzIFstdnwtcV0gcGFyYW5jc29rIGVzemvDtnrDtmtcbiIKKworI34gbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbiAlc1xuIgorI34gbXNnc3RyICIlczogJXMgbmVtIG55aXRoYXTDsyBtZWdcbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC1uIF0gZGV2aWNlXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFstbl0gZXN6a8O2elxuIgorCisjfiBtc2dpZCAibWFsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAiYSBtYWxsb2MgbWVnaGnDunN1bHQiCisKKyN+IG1zZ2lkICIlczogb3B0aW9uIHBhcnNlIGVycm9yXG4iCisjfiBtc2dzdHIgIiVzOiBrYXBjc29sw7NmZWxkb2xnb3rDoXNpIGhpYmFcbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLXhdIFstZCA8bnVtPl0gaXNvOTY2MC1pbWFnZVxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBbLXhdIFstZCA8c3rDoW0+XSBpc285NjYwLWvDqXBcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgWy12XSBbLU4gbnItb2YtaW5vZGVzXSBbLVYgdm9sdW1lLW5hbWVdXG4iCisjfiAiICAgICAgIFstRiBmc25hbWVdIGRldmljZSBbYmxvY2stY291bnRdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJIYXN6bsOhbGF0OiAlcyBbLXZdIFstTiBpbm9kZS1vayBzesOhbWFdIFstViBrw7Z0ZXRuw6l2XVxuIgorI34gIiAgICAgICBbLUYgZsOhamxyZW5kc3plcm7DqXZdIGVzemvDtnogW2Jsb2trc3rDoW1dXG4iCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gc3RhdCAlcyIKKyN+IG1zZ3N0ciAiJXMgbmVtIMOpcmhldMWRIGVsIgorCisjfiBtc2dpZCAiY2Fubm90IGRldGVybWluZSBzZWN0b3Igc2l6ZSBmb3IgJXMiCisjfiBtc2dzdHIgImEoeikgJXMgc3pla3Rvcm3DqXJldGUgbmVtIMOhbGxhcMOtdGhhdMOzIG1lZyIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWNdIFstcFBBR0VTWl0gWy1MIGxhYmVsXSBbLVUgVVVJRF0gL2Rldi9uYW1lIFtibG9ja3NdXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFstY10gWy1wTEFQTcOJUkVUXSBbLUwgY8OtbWtlXSBbLVUgVVVJRF0gL2Rldi9uw6l2IFtibG9ra29rXVxuIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSIKKyN+IG1zZ3N0ciAiTmluY3MgZWzDqWcgbWVtw7NyaWEiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6XG4iCisjfiAiICAlcyAiCisjfiBtc2dzdHIgIiIKKyN+ICJIYXN6bsOhbGF0OlxuIgorI34gIiAgJXMgIgorCisjfiBtc2dpZCAiTWVudSB3aXRob3V0IGRpcmVjdGlvbi4gRGVmYXVsdGluZyB0byBob3Jpem9udGFsLiIKKyN+IG1zZ3N0ciAiQSBtZW7DvG5layBuaW5jcyBpcsOhbnlhLiBBbGFww6lydGVsbWV6ZXR0ZW4gdsOtenN6aW50ZXMga2Vyw7xsIGZlbGhhc3puw6Fsw6FzcmEuIgorCisjfiBtc2dpZCAiIgorI34gIkNvbW1hbmQgYWN0aW9uXG4iCisjfiAiICAgJXNcbiIKKyN+ICIgICBwICAgcHJpbWFyeSBwYXJ0aXRpb24gKDEtNClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlBhcmFuY3MgTcWxdmVsZXRcbiIKKyN+ICIgJXNcbiIKKyN+ICIgICBwICAgZWxzxZFkbGVnZXMgcGFydMOtY2nDsyAoMS00KVxuIgorCisjfiBtc2dpZCAiICAgIC1zIFtvciAtLXNob3ctc2l6ZV06IGxpc3Qgc2l6ZSBvZiBhIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgIC1zIFt2YWd5IC0tc2hvdy1zaXplXToga2nDrXJqYSBlZ3kgcGFydMOtY2nDsyBtw6lyZXTDqXQiCisKKyN+IG1zZ2lkICIgICAgLWQgW29yIC0tZHVtcF06ICAgICAgaWRlbSwgYnV0IGluIGEgZm9ybWF0IHN1aXRhYmxlIGZvciBsYXRlciBpbnB1dCIKKyN+IG1zZ3N0ciAiICAgIC1kIFt2YWd5IC0tZHVtcF06ICAgICAgdWd5YW5heiwgZGUga8Opc8WRYmJpIGJlbWVuZXRuZWsgbWVnZmVsZWzFkSBmb3Jtw6FiYW4iCisKKyN+IG1zZ2lkICIgICAgLWkgW29yIC0taW5jcmVtZW50XTogbnVtYmVyIGN5bGluZGVycyBldGMuIGZyb20gMSBpbnN0ZWFkIG9mIGZyb20gMCIKKyN+IG1zZ3N0ciAiICAgIC1pIFt2YWd5IC0taW5jcmVtZW50XTogY2lsaW5kZXJlayBzdGIuIHN6w6Ftb3rDoXNhIDEtdMWRbCDDqXMgbmVtIDAtdMOzbCIKKworI34gbXNnaWQgIiAgICAtdVMsIC11QiwgLXVDLCAtdU06ICBhY2NlcHQvcmVwb3J0IGluIHVuaXRzIG9mIHNlY3RvcnMvYmxvY2tzL2N5bGluZGVycy9NQiIKKyN+IG1zZ3N0ciAiICAgIC11UywgLXVCLCAtdUMsIC11TTogIGVsZm9nYWTDoXMvamVsZW50w6lzIHN6ZWt0b3IvYmxva2svY2lsaW5kZXIvTUIgZWd5c8OpZ2JlbiIKKworI34gbXNnaWQgIiAgICAtVCBbb3IgLS1saXN0LXR5cGVzXTpsaXN0IHRoZSBrbm93biBwYXJ0aXRpb24gdHlwZXMiCisjfiBtc2dzdHIgIiAgICAtVCBbdmFneSAtLWxpc3QtdHlwZXNdOmF6IGlzbWVydCBwYXJ0w61jacOzdMOtcHVzb2sga2nDrXLDoXNhIgorCisjfiBtc2dpZCAiICAgIC1EIFtvciAtLURPU106ICAgICAgIGZvciBET1MtY29tcGF0aWJpbGl0eTogd2FzdGUgYSBsaXR0bGUgc3BhY2UiCisjfiBtc2dzdHIgIiAgICAtRCBbdmFneSAtLURPU106ICAgICAgIGEgRE9TIGtvbXBhdGliaWxpdMOhc2hveiBlZ3kga2V2w6lzIGhlbHkgZWxwYXphcmzDoXNhIgorCisjfiBtc2dpZCAiICAgIC1SIFtvciAtLXJlLXJlYWRdOiAgIG1ha2Uga2VybmVsIHJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIiAgICAtUiBbdmFneSAtLXJlLXJlYWRdOiAgIGEgcmVuZHN6ZXJtYWcgw7pqcmFvbHZhc3NhIGEgcGFydMOtY2nDs3MgdMOhYmzDoXQiCisKKyN+IG1zZ2lkICIgICAgLU8gZmlsZSA6ICAgICAgICAgICAgc2F2ZSB0aGUgc2VjdG9ycyB0aGF0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gdG8gZmlsZSIKKyN+IG1zZ3N0ciAiICAgIC1PIGbDoWpsIDogICAgICAgICAgICAgIGEgZmVsw7xsw61yYW5kw7Mgc3pla3Rvcm9rIGbDoWpsYmEgbWVudMOpc2UiCisKKyN+IG1zZ2lkICIgICAgLUkgZmlsZSA6ICAgICAgICAgICAgcmVzdG9yZSB0aGVzZSBzZWN0b3JzIGFnYWluIgorI34gbXNnc3RyICIgICAgLUkgZsOhamwgOiAgICAgICAgICAgICAgYXogZWzFkWJiaXZlbCBtZW50ZXR0IHN6ZWt0b3JvayB2aXNzemHDoWxsw610w6FzYSIKKworI34gbXNnaWQgIiAgICAtdiBbb3IgLS12ZXJzaW9uXTogICBwcmludCB2ZXJzaW9uIgorI34gbXNnc3RyICIgICAgLXYgW3ZhZ3kgLS12ZXJzaW9uXTogICB2ZXJ6acOzc3rDoW0ga2nDrXLDoXNhIgorCisjfiBtc2dpZCAiICAgIC0/IFtvciAtLWhlbHBdOiAgICAgIHByaW50IHRoaXMgbWVzc2FnZSIKKyN+IG1zZ3N0ciAiICAgIC0/IFt2YWd5IC0taGVscF06ICAgICAgZXplbiBzw7pnw7Mga2nDrXLDoXNhIgorCisjfiBtc2dpZCAiICAgIC1nIFtvciAtLXNob3ctZ2VvbWV0cnldOiBwcmludCB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIiAgICAtZyBbdmFneSAtLXNob3ctZ2VvbWV0cnldOiBracOtcmphIGEgcmVuZHN6ZXJtYWcgZWxrw6lwemVsw6lzw6l0IGEgZ2VvbWV0cmnDoXLDs2wiCisKKyN+IG1zZ2lkICIgICAgLUwgIFtvciAtLUxpbnV4XTogICAgICBkbyBub3QgY29tcGxhaW4gYWJvdXQgdGhpbmdzIGlycmVsZXZhbnQgZm9yIExpbnV4IgorI34gbXNnc3RyICIgICAgLUwgIFt2YWd5IC0tTGludXhdOiAgICBuZW0gamVsZXogTGludXggYWxhdHQgbMOpbnllZ3RlbGVuIGRvbGdvayBtaWF0dCIKKworI34gbXNnaWQgIiAgICBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZXRlY3RlZCBnZW9tZXRyeSB1c2luZzoiCisjfiBtc2dzdHIgIkZlbMO8bGLDrXLDoWxoYXRqYSBheiDDqXJ6w6lrZWx0IGdlb21ldHJpw6F0IGEga8O2dmV0a2V6xZFra2VsOiIKKworI34gbXNnaWQgIiAgICAtZiAgW29yIC0tZm9yY2VdOiAgICAgIGRvIHdoYXQgSSBzYXksIGV2ZW4gaWYgaXQgaXMgc3R1cGlkIgorI34gbXNnc3RyICIgICAgLWYgIFt2YWd5IC0tZm9yY2VdOiAgICBwYXJhbmNzIHbDqWdyZWhhanTDoXNhLCBha2tvciBpcyBoYSDDqXJ0ZWxtZXRsZW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ291bGRuJ3QgYWxsb2NhdGUgbWVtb3J5IGZvciBmaWxlc3lzdGVtIHR5cGVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBtZWcga2VsbCBhZG5pYSBhIGbDoWpscmVuZHN6ZXIgdMOtcHVzw6F0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiBmc2NrIFstQU1OUFJUVl0gWyAtQyBbIGZkIF0gXSBbLXQgZnN0eXBlXSBbZnMtb3B0aW9uc10gW2ZpbGVzeXMgLi4uXVxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiBta2ZzIFstVl0gWy10IGbDoWpscmVuZHN6ZXJ0w61wdXNdIFtmw6FqbHJlbmRzemVyLWJlw6FsbMOtdMOhc29rXSBlc3prw7Z6IFttw6lyZXRdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ291bGRuJ3Qgb3BlbiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXMgbmVtIG55aXRoYXTDsyBtZWc6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZnNjayBmcm9tICVzXG4iCisjfiBtc2dzdHIgIiVzIGEoeikgJXMgY3NvbWFnYsOzbFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBVbmFibGUgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciBmc2NrX3BhdGhcbiIKKyN+IG1zZ3N0ciAiTmVtIGZvZ2xhbGhhdMOzIGxlIHB1ZmZlciBheiBpbm9kZS1va25hayIKKworI34gbXNnaWQgIlRyeSBgZ2V0b3B0IC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIlRvdsOhYmJpIGluZm9ybcOhY2nDs8OpcnQgYWRqYSBraSBhIOKAnmdldG9wdCAtLWhlbHDigJ0gcGFyYW5jc290LlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6IGdldG9wdCBvcHRzdHJpbmcgcGFyYW1ldGVyc1xuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiBnZXRvcHQga2FwY3NvbMOzLWthcmFrdGVybMOhbmMgcGFyYW3DqXRlcmVrXG4iCisKKyN+IG1zZ2lkICIgICAgICAgZ2V0b3B0IFtvcHRpb25zXSBbLS1dIG9wdHN0cmluZyBwYXJhbWV0ZXJzXG4iCisjfiBtc2dzdHIgIiAgICAgICBnZXRvcHQgW2thcGNzb2zDs2tdIFstLV0ga2FwY3NvbMOzLWthcmFrdGVybMOhbmMgcGFyYW3DqXRlcmVrXG4iCisKKyN+IG1zZ2lkICJnZXRvcHQgKGVuaGFuY2VkKSAxLjEuNFxuIgorI34gbXNnc3RyICJnZXRvcHQgKGtpYsWRdsOtdGV0dCkgMS4xLjRcbiIKKworI34gbXNnaWQgIihFeHBlY3RlZDogYFVUQycgb3IgYExPQ0FMJyBvciBub3RoaW5nLilcbiIKKyN+IG1zZ3N0ciAiKFbDoXJ0IMOpcnTDqWs6IOKAnlVUQ+KAnSB2YWd5IOKAnkxPQ0FM4oCdIHZhZ3kgc2VtbWkuKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJod2Nsb2NrIC0gcXVlcnkgYW5kIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgKFJUQylcbiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogaHdjbG9jayBbZnVuY3Rpb25dIFtvcHRpb25zLi4uXVxuIgorI34gIlxuIgorI34gIkZ1bmN0aW9uczpcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgc2hvdyB0aGlzIGhlbHBcbiIKKyN+ICIgIC1yIHwgLS1zaG93ICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisjfiAiICAgICAgIC0tc2V0ICAgICAgICAgIHNldCB0aGUgcnRjIHRvIHRoZSB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiICAtcyB8IC0taGN0b3N5cyAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgIC13IHwgLS1zeXN0b2hjICAgICAgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayB0byB0aGUgY3VycmVudCBzeXN0ZW0gdGltZVxuIgorI34gIiAgICAgICAtLXN5c3R6ICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRpbWV6b25lXG4iCisjfiAiICAgICAgIC0tYWRqdXN0ICAgICAgIGFkanVzdCB0aGUgcnRjIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgc2luY2VcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgdGhlIGNsb2NrIHdhcyBsYXN0IHNldCBvciBhZGp1c3RlZFxuIgorI34gIiAgICAgICAtLWdldGVwb2NoICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisjfiAiICAgICAgIC0tc2V0ZXBvY2ggICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBnaXZlbiB3aXRoIC0tZXBvY2hcbiIKKyN+ICIgICAgICAgLS1wcmVkaWN0ICAgICAgcHJlZGljdCBydGMgcmVhZGluZyBhdCB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiICAtdiB8IC0tdmVyc2lvbiAgICAgIHByaW50IG91dCB0aGUgdmVyc2lvbiBvZiBod2Nsb2NrIHRvIHN0ZG91dFxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6IFxuIgorI34gIiAgLXUgfCAtLXV0YyAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyN+ICIgICAgICAgLS1sb2NhbHRpbWUgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorI34gIiAgLWYgfCAtLXJ0Yz1wYXRoICAgICBzcGVjaWFsIC9kZXYvLi4uIGZpbGUgdG8gdXNlIGluc3RlYWQgb2YgZGVmYXVsdFxuIgorI34gIiAgICAgICAtLWRpcmVjdGlzYSAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorI34gIiAgICAgICAtLWJhZHllYXIgICAgICBpZ25vcmUgcnRjJ3MgeWVhciBiZWNhdXNlIHRoZSBiaW9zIGlzIGJyb2tlblxuIgorI34gIiAgICAgICAtLWRhdGUgICAgICAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAgICAgICAtLWVwb2NoPXllYXIgICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGUgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIGNsb2NrJ3MgZXBvY2ggdmFsdWVcbiIKKyN+ICIgICAgICAgLS1ub2FkamZpbGUgICAgZG8gbm90IGFjY2VzcyAvZXRjL2FkanRpbWUuIFJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lXG4iCisjfiAiICAgICAgIC0tYWRqZmlsZT1wYXRoIHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGUgKGRlZmF1bHQgaXNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgL2V0Yy9hZGp0aW1lKVxuIgorI34gIiAgICAgICAtLXRlc3QgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCBhY3R1YWxseSB1cGRhdGluZyB0aGUgaGFyZHdhcmVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgY2xvY2sgb3IgYW55dGhpbmcgZWxzZVxuIgorI34gIiAgLUQgfCAtLWRlYnVnICAgICAgICBkZWJ1ZyBtb2RlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJod2Nsb2NrIC0gYSBoYXJkdmVyw7NyYSBsZWvDqXJkZXrDqXNlIMOpcyBiZcOhbGzDrXTDoXNhIChSVEMpXG4iCisjfiAiXG4iCisjfiAiSGFzem7DoWxhdDogaHdjbG9jayBbZnVua2Npw7NdIFtrYXBjc29sw7NrLi4uXVxuIgorI34gIlxuIgorI34gIkZ1bmtjacOzazpcbiIKKyN+ICIgIC0taGVscCAgICAgICAgZXogYSBzw7pnw7NzesO2dmVnXG4iCisjfiAiICAtLXNob3cgICAgICAgIGtpb2x2YXNzYSBhIGhhcmR2ZXLDs3LDoXQgw6lzIG1lZ2plbGVuw610aSBheiBlcmVkbcOpbnl0XG4iCisjfiAiICAtLXNldCAgICAgICAgIGJlw6FsbMOtdGphIGF6IHJ0Yy10IGEgLS1kYXRlIGthcGNzb2zDs3ZhbCBtZWdhZG90dCBpZMWRcmVcbiIKKyN+ICIgIC0taGN0b3N5cyAgICAgYmXDoWxsw610amEgYSByZW5kc3plcmlkxZF0IGEgaGFyZHZlcsOzcsOhYsOzbFxuIgorI34gIiAgLS1zeXN0b2hjICAgICBiZcOhbGzDrXRqYSBhIGhhcmR2ZXLDs3LDoXQgYSBqZWxlbmxlZ2kgcmVuZHN6ZXJpZMWRcmVcbiIKKyN+ICIgIC0tYWRqdXN0ICAgICAgYmXDoWxsw610amEgYXogcnRjLXQgYXogw7NyYSB1dG9sc8OzIGJlw6FsbMOtdMOhc2EgdmFneSBpZ2F6w610w6FzYVxuIgorI34gIiAgICAgICAgICAgICAgICAgIMOzdGEgYmVrw7Z2ZXRrZXpldHQgcmVuZHN6ZXJjc8O6c3rDoXMgZmlneWVsZW1iZSB2w6l0ZWzDqXZlbFxuIgorI34gIiAgLS1nZXRlcG9jaCAgICBracOtcmphIGEgcmVuZHN6ZXJtYWcgaGFyZHZlcsOzcsOhasOhbmFrIGVwb2NoIMOpcnTDqWvDqXRcbiIKKyN+ICIgIC0tc2V0ZXBvY2ggICAgYmXDoWxsw610amEgYSByZW5kc3plcm1hZyBoYXJkdmVyw7Nyw6Fqw6FuYWsgZXBvY2ggw6lydMOpa8OpdFxuIgorI34gIiAgICAgICAgICAgICAgICAgIGF6IC0tZXBvY2gga2FwY3NvbMOzdmFsIG1lZ2Fkb3R0IMOpcnTDqWtyZVxuIgorI34gIiAgLS12ZXJzaW9uICAgICBracOtcmphIGEgaHdjbG9jayB2ZXJ6acOzc3rDoW3DoXQgYSBzemFidsOhbnlvcyBraW1lbmV0cmVcbiIKKyN+ICJcbiIKKyN+ICJLYXBjc29sw7NrOlxuIgorI34gIiAgLS11dGMgICAgICAgICBhIGhhcmR2ZXLDs3JhIGF6IMO2c3N6ZWhhbmdvbHQgdmlsw6FnaWTFkWJlbiDDqXJ0ZWxtZXplbmTFkVxuIgorI34gIiAgLS1sb2NhbHRpbWUgICBhIGhhcmR2ZXLDs3JhIGEgaGVseWkgaWTFkWJlbiDDqXJ0ZWxtZXplbmTFkVxuIgorI34gIiAgLS1ydGM9cGF0aCAgICBheiBhbGFww6lydGVsbWV6ZXR0IGhlbHlldHQgaGFzem7DoWxhbmTDsyBzcGVjacOhbGlzIC9kZXYvLi4uIGbDoWpsXG4iCisjfiAiICAtLWRpcmVjdGlzYSAgIGF6IElTQSBidXN6IGvDtnp2ZXRsZW4gZWzDqXLDqXNlIGEoeikgJXMgaGVseWV0dFxuIgorI34gIiAgLS1iYWR5ZWFyICAgICBheiBydGMgw6l2IMOpcnTDqWvDqW5layBmaWd5ZWxtZW4ga8OtdsO8bCBoYWd5w6FzYSwgbWVydCBhIEJJT1MgaGliw6FzXG4iCisjfiAiICAtLWRhdGUgICAgICAgIG1lZ2FkamEgYXp0IGF6IGlkxZF0LCBhbWVseXJlIGEgaGFyZHZlcsOzcsOhdCBiZSBrZWxsIMOhbGzDrXRhbmlcbiIKKyN+ICIgIC0tZXBvY2g9w6l2ICAgIG1lZ2FkamEgYXp6IGF6IMOpdmV0LCBhbWVseWV0IGEgaGFyZHZlcsOzcmEgZXBvY2gta8OpbnQga2V6ZWxcbiIKKyN+ICIgIC0tbm9hZGpmaWxlICAgbmVtIGhhc3puw6FsamEgYXogL2V0Yy9hZGp0aW1lIGbDoWpsdC4gTWVna8O2dmV0ZWxpIGEgLS11dGMgdmFneVxuIgorI34gIiAgICAgICAgICAgICAgICAgIGEgLS1sb2NhbHRpbWUga2FwY3NvbMOzayBlZ3lpa8OpbmVrIGhhc3puw6FsYXTDoXRcbiIKKyN+ICIgIC0tYWRqZmlsZT3DunR2b25hbCBtZWdhZGphIGF6IGlnYXrDrXTDoXNpIGbDoWpsIMO6dHZvbmFsw6F0IChheiBhbGFww6lydGVsbWV6ZXR0IGF6XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIC9ldGMvYWRqdGltZSlcbiIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBpbml0c3RyaW5nIgorI34gbXNnc3RyICJuZW0gbGVoZXQgbGVmb2dsYWxuaSBhIGtpaW5kdWzDsyBzesO2dmVnZXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbLThoaUxtc1V3XSBbLWwgbG9naW5fcHJvZ3JhbV0gWy10IHRpbWVvdXRdIFstSSBpbml0c3RyaW5nXSBbLUggbG9naW5faG9zdF0gYmF1ZF9yYXRlLC4uLiBsaW5lIFt0ZXJtdHlwZV1cbiIKKyN+ICJvclx0Wy1oaUxtd10gWy1sIGxvZ2luX3Byb2dyYW1dIFstdCB0aW1lb3V0XSBbLUkgaW5pdHN0cmluZ10gWy1IIGxvZ2luX2hvc3RdIGxpbmUgYmF1ZF9yYXRlLC4uLiBbdGVybXR5cGVdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJIYXN6bsOhbGF0OiAlcyBbLThoaUxtVXddIFstbCBiZWzDqXB0ZXTFkV9wcm9ncmFtXSBbLXQgaWTFkXTDumxsw6lww6lzXSBbLUkga2lpbmR1bMOzX3N6w7Z2ZWddIFstSCBiZWplbGVudGtlesOpc2lfZ8OpcG7DqXZdIMOhdHZpdGVsaV9zZWJlc3PDqWcsLi4uIHZvbmFsIFt0ZXJtaW7DoWx0w61wdXNdXG4iCisjfiAidmFneVx0Wy1oaUxtd10gWy1sIGJlbMOpcHRldMWRX3Byb2dyYW1dIFstdCBpZMWRdMO6bGzDqXDDqXNdIFstSSBraWluZHVsw7Nfc3rDtnZlZ10gWy1IIGJlamVsZW50a2V6w6lzaV9nw6lwbsOpdl0gdm9uYWwgw6F0dml0ZWxpX3NlYmVzc8OpZywuLi4gW3Rlcm1pbsOhbHTDrXB1c11cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgW3kgfCBuXSIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogbWVzZyBbeSB8IG5dXG4iCisKKyN+IG1zZ2lkICIlczogQkFEIEVSUk9SIgorI34gbXNnc3RyICIlczogUk9TU1ogSElCQSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWy1uXSBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2bDoWpsXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbid0IHJlYWQ6ICVzIgorI34gbXNnc3RyICIlczogbmVtIG9sdmFzaGF0w7MgYSh6KSAlcy5cbiIKKworI34gbXNnaWQgImxvZ2dlcjogJXM6ICVzLlxuIgorI34gbXNnc3RyICJsb2dnZXI6ICVzOiAlcy5cbiIKKworI34gbXNnaWQgInVzYWdlOiBsb2dnZXIgWy1pc10gWy1mIGZpbGVdIFstcCBwcmldIFstdCB0YWddIFstdSBzb2NrZXRdIFsgbWVzc2FnZSAuLi4gXVxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiBsb2dnZXIgWy1pc10gWy1mIGbDoWpsXSBbLXAgcHJpXSBbLXQgY8OtbWtlXSBbLXUgZm9nbGFsYXRdIFsgw7x6ZW5ldCAuLi4gXVxuIgorCisjfiBtc2dpZCAidXNhZ2U6IGxvb2sgWy1kZmFdIFstdCBjaGFyXSBzdHJpbmcgW2ZpbGVdXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQgOiBsb29rIFstZGZhXSBbLXQga2FyYWt0ZXJdIGthcmFrdGVybMOhbmMgW2bDoWpsXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm91dCBvZiBtZW1vcnk/IgorI34gbXNnc3RyICJlbGZvZ3lvdHQgYSBtZW3Ds3JpYT9cbiIKKworI34gbXNnaWQgImNhbGw6ICVzIGZyb20gdG8gZmlsZXMuLi5cbiIKKyN+IG1zZ3N0ciAiaMOtdsOhczogJXMgYSBmw6FqbG9raG96Li4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHNjcmlwdCBbLWFdIFstZV0gWy1mXSBbLXFdIFstdF0gW2ZpbGVdXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6IHNjcmlwdCBbLWFdIFstZl0gWy1xXSBbLXRdIFtmw6FqbF1cbiIKKworI34gbXNnaWQgIiVzOiB3cml0ZSBlcnJvciAlZDogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6ICVkLiDDrXLDoXNpIGhpYmE6ICVzXG4iCisKKyN+IG1zZ2lkICIlczogd3JpdGUgZXJyb3I6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiDDrXLDoXNpIGhpYmE6ICVzXG4iCisKKyN+IG1zZ2lkICIgIFsgLXNub3cgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLXNub3cgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1zb2Z0c2Nyb2xsIFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1zb2Z0c2Nyb2xsIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtZm9yZWdyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtZm9yZWdyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQgXVxuIgorI34gbXNnc3RyICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQgXVxuIgorCisjfiBtc2dpZCAiICBbIC1iYWNrZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1iYWNrZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtdWxjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC11bGNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZSBdXG4iCisjfiBtc2dzdHIgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGUgXVxuIgorCisjfiBtc2dpZCAiICBbIC11bGNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtdWxjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAiICBbIC1oYmNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWhiY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLWhiY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1oYmNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLXN0YW5kb3V0IFsgYXR0ciBdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1zdGFuZG91dCBbIGF0dHIgXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstZF0gWy1wIHBpZGZpbGVdIFstcyBzb2NrZXRwYXRoXSBbLVQgdGltZW91dF1cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogbGFzdCBbLSNdIFstZiBmw6FqbF0gWy10IHRlcm1pbsOhbF0gWy1oIGfDqXBuw6l2XSBbZmVsaGFzem7DoWzDsyAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICVzIC1rXG4iCisjfiBtc2dzdHIgIiAgICAgICAlcyAtbCBbIGplbHrDqXMgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLXJdIFstdF1cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2bDoWpsXVxuIgorCisjfiBtc2dpZCAid2hlcmVpcyBbIC1zYm11IF0gWyAtU0JNIGRpciAuLi4gLWYgXSBuYW1lLi4uXG4iCisjfiBtc2dzdHIgIndoZXJlaXMgWyAtc2JtdSBdIFsgLVNCTSBrw7ZueXZ0w6FyIC4uLiAtZiBdIG7DqXYuLi5cbiIKKworI34gbXNnaWQgInVzYWdlOiB3cml0ZSB1c2VyIFt0dHldXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6IHdyaXRlIGZlbGhhc3puw6Fsw7MgW3Rlcm1pbsOhbF1cbiIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBvcGVuICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGEoeikgJXMgbmVtIG55aXRoYXTDsyBtZWc6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVua25vd25cbiIKKyN+IG1zZ3N0ciAiaXNtZXJldGxlbiIKKworI34gbXNnaWQgIlVzYWdlOiBzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fGhoOnNzfCttaW5zXVxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiBzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fMOzw7M6cHB8K3BlcmNdXG4iCisKKyN+IG1zZ2lkICJTaHV0ZG93biBwcm9jZXNzIGFib3J0ZWQiCisjfiBtc2dzdHIgIkEgbGXDoWxsw610w6FzaSBmb2x5YW1hdCBtZWdzemFrw610dmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAib25seSByb290IGNhbiBzaHV0IGEgc3lzdGVtIGRvd24uIgorI34gbXNnc3RyICIlczogQ3NhayByZW5kc3plcmdhemRhIMOhbGzDrXRoYXRqYSBsZSBhIHJlbmRzemVydC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0aGF0IG11c3QgYmUgdG9tb3Jyb3csIGNhbid0IHlvdSB3YWl0IHRpbGwgdGhlbj8iCisjfiBtc2dzdHIgIkV6dCBob2xuYXAga2VsbCwgbmVtIHR1ZCBhZGRpZyB2w6Fybmk/XG4iCisKKyN+IG1zZ2lkICJmb3IgbWFpbnRlbmFuY2U7IGJvdW5jZSwgYm91bmNlIgorI34gbXNnc3RyICJrYXJiYW50YXJ0w6FzaSBjw6lsbGFsOyBwYXR0LCBwYXR0IgorCisjfiBtc2dpZCAiVGhlIHN5c3RlbSBpcyBiZWluZyBzaHV0IGRvd24gd2l0aGluIDUgbWludXRlcyIKKyN+IG1zZ3N0ciAiQSByZW5kc3plciA1IHBlcmNlbiBiZWzDvGwgbGXDoWxsIgorCisjfiBtc2dpZCAiTG9naW4gaXMgdGhlcmVmb3JlIHByb2hpYml0ZWQuIgorI34gbXNnc3RyICJBIGJlamVsZW50a2V6w6lzIGVtaWF0dCBsZSB2YW4gdGlsdHZhLiIKKworI34gbXNnaWQgInJlYm9vdGVkIGJ5ICVzOiAlcyIKKyN+IG1zZ3N0ciAiw7pqcmFpbmTDrXRvdHRhOiAlczogJXMiCisKKyN+IG1zZ2lkICJoYWx0ZWQgYnkgJXM6ICVzIgorI34gbXNnc3RyICJsZcOhbGzDrXRvdHRhOiAlczogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV2h5IGFtIEkgc3RpbGwgYWxpdmUgYWZ0ZXIgcmVib290PyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk1pw6lydCDDqWxlayBheiDDumpyYWluZMOtdMOhcyB1dMOhbj8iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiTm93IHlvdSBjYW4gdHVybiBvZmYgdGhlIHBvd2VyLi4uIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTW9zdCBtw6FyIGtpa2FwY3NvbGhhdGphIGEgc3rDoW3DrXTDs2fDqXBldC4uLiIKKworI34gbXNnaWQgIkNhbGxpbmcga2VybmVsIHBvd2VyLW9mZiBmYWNpbGl0eS4uLlxuIgorI34gbXNnc3RyICJBIHJlbmRzemVybWFnIGtpa2FwY3NvbMOhc2kgc3pvbGfDoWx0YXTDoXPDoW5hayBow612w6FzYS4uLlxuIgorCisjfiBtc2dpZCAiRXJyb3IgcG93ZXJpbmcgb2ZmXHQlc1xuIgorI34gbXNnc3RyICJIaWJhIGEga2lrYXBjc29sw6FzIHNvcsOhblx0JXNcbiIKKworI34gbXNnaWQgIkV4ZWN1dGluZyB0aGUgcHJvZ3JhbSBcIiVzXCIgLi4uXG4iCisjfiBtc2dzdHIgIuKAniVz4oCdIHByb2dyYW0gZnV0dGF0w6FzYS4uLlxuIgorCisjfiBtc2dpZCAiVVJHRU5UOiBicm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzOiIKKyN+IG1zZ3N0ciAiU8OcUkfFkFM6IHN6w7NydCDDvHplbmV0IGEga8O2dmV0a2V6xZF0xZFsOiAlczoiCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAlZCBob3VycyAlZCBtaW51dGVzIgorI34gbXNnc3RyICJBIHJlbmRzemVyICVkIMOzcmEgJWQgcGVyYyBtw7psdmEgbGXDoWxsIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gMSBob3VyICVkIG1pbnV0ZXMiCisjfiBtc2dzdHIgIkEgcmVuZHN6ZXIgMSDDs3JhICVkIHBlcmMgbcO6bHZhIGxlw6FsbCIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluICVkIG1pbnV0ZXNcbiIKKyN+IG1zZ3N0ciAiQSByZW5kc3plciAlZCBwZXJjIG3Dumx2YSBsZcOhbGxcbiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluIDEgbWludXRlXG4iCisjfiBtc2dzdHIgIkEgcmVuZHN6ZXIgMSBwZXJjIG3Dumx2YSBsZcOhbGxcbiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIElNTUVESUFURUxZIVxuIgorI34gbXNnc3RyICJBIHJlbmRzemVyIEFaT05OQUwgbGXDoWxsIVxuIgorCisjfiBtc2dpZCAiXHQuLi4gJXMgLi4uXG4iCisjfiBtc2dzdHIgIlx0Li4uICVzIC4uLlxuIgorCisjfiBtc2dpZCAiQ2Fubm90IGZvcmsgZm9yIHN3YXBvZmYuIFNocnVnISIKKyN+IG1zZ3N0ciAiTmVtIGxlaGV0IGVsaW5kw610YW5pIGEgc3dhcG9mZiBwcm9ncmFtb3QuIgorCisjfiBtc2dpZCAiQ2Fubm90IGV4ZWMgc3dhcG9mZiwgaG9waW5nIHVtb3VudCB3aWxsIGRvIHRoZSB0cmljay4iCisjfiBtc2dzdHIgIk5lbSBsZWhldCB2w6lncmVoYWp0YW5pIGEgc3dhcG9mZiBwcm9ncmFtb3QsIHRhbMOhbiBheiB1bW91bnQgbWVnb2xkamEuIgorCisjfiBtc2dpZCAiQ2Fubm90IGZvcmsgZm9yIHVtb3VudCwgdHJ5aW5nIG1hbnVhbGx5LiIKKyN+IG1zZ3N0ciAiTmVtIGxlaGV0IGVsaW5kw610YW5pIGF6IHVtb3VudCBwcm9ncmFtb3QsIHByw7Niw6FsamEgbWVnIHNhasOhdCBrZXrFsWxlZy4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyAlcywgdHJ5aW5nIHVtb3VudC5cbiIKKyN+IG1zZ3N0ciAiQSh6KSAlcyBuZW0gaGFqdGhhdMOzIHbDqWdyZSwga8Otc8OpcmxldCBheiB1bW91bnQgdsOpZ3JlaGFqdMOhc8OhcmEuXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyB1bW91bnQsIGdpdmluZyB1cCBvbiB1bW91bnQuIgorI34gbXNnc3RyICJOZW0gbGVoZXQgdsOpZ3JlaGFqdGFuaSBheiB1bW91bnQgcHJvZ3JhbW90LCBmZWxhZG9tIGEga8Otc8OpcmxldGV0LiIKKworI34gbXNnaWQgIlVubW91bnRpbmcgYW55IHJlbWFpbmluZyBmaWxlc3lzdGVtcy4uLiIKKyN+IG1zZ3N0ciAiQSBtZWdtYXJhZHQgZsOhamxyZW5kc3plcmVrIGxldsOhbGFzenTDoXNhLi4uIgorCisjfiBtc2dpZCAic2h1dGRvd246IENvdWxkbid0IHVtb3VudCAlczogJXNcbiIKKyN+IG1zZ3N0ciAic2h1dGRvd246IE5lbSBsZWhldCBsZXbDoWxhc3p0YW5pIGEga8O2dmV0a2V6xZF0OiAlczogJXNcbiIKKworI34gbXNnaWQgIkJvb3RpbmcgdG8gc2luZ2xlIHVzZXIgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiSW5kdWzDoXMgZWd5IGZlbGhhc3puw6Fsw7NzIG3Ds2RiYW4uXG4iCisKKyN+IG1zZ2lkICJleGVjIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICJheiBlZ3kgZmVsaGFzem7DoWzDs3MgcGFyYW5jc8OpcnRlbG1lesWRIHbDqWdyZWhhanTDoXNhIG1lZ2hpw7pzdWx0XG4iCisKKyN+IG1zZ2lkICJmb3JrIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICJheiBlZ3kgZmVsaGFzem7DoWzDs3MgcGFyYW5jc8OpcnRlbG1lesWRIGluZMOtdMOhc2EgbWVnaGnDunN1bHRcbiIKKworI34gbXNnaWQgImVycm9yIG9wZW5pbmcgZmlmb1xuIgorI34gbXNnc3RyICJoaWJhIGEgZmlmbyBtZWdueWl0w6FzYSBrw7Z6YmVuXG4iCisKKyN+IG1zZ2lkICJlcnJvciBzZXR0aW5nIGNsb3NlLW9uLWV4ZWMgb24gL2Rldi9pbml0Y3RsIgorI34gbXNnc3RyICJoaWJhIGEgYmV6w6Fyw6FzIHbDqWdyZWhhanTDoXNrb3IgYml0IGJlw6FsbMOtdMOhc2Frb3IgYSAvZGV2L2luaXRjdGwiCisKKyN+IG1zZ2lkICJlcnJvciBydW5uaW5nIGZpbmFscHJvZ1xuIgorI34gbXNnc3RyICJoaWJhIGF6IHV0b2xzw7MgcHJvZ3JhbSBmdXR0YXTDoXNhIHNvcsOhblxuIgorCisjfiBtc2dpZCAiZXJyb3IgZm9ya2luZyBmaW5hbHByb2dcbiIKKyN+IG1zZ3N0ciAiaGliYSBheiB1dG9sc8OzIHByb2dyYW0gaW5kw610w6FzYSBzb3LDoW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXcm9uZyBwYXNzd29yZC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlJvc3N6IGplbHN6w7MuXG4iCisKKyN+IG1zZ2lkICJmb3JrIGZhaWxlZFxuIgorI34gbXNnc3RyICJheiBpbmTDrXTDoXMgbWVnaGnDunN1bHRcbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIGluaXR0YWJcbiIKKyN+IG1zZ3N0ciAibmVtIG55aXRoYXTDsyBtZWcgYXogaW5pdHRhYiBmw6FqbFxuIgorCisjfiBtc2dpZCAibm8gVEVSTSBvciBjYW5ub3Qgc3RhdCB0dHlcbiIKKyN+IG1zZ3N0ciAibmluY3MgVEVSTSB2YWd5IG5lbSDDqXJoZXTFkSBlbCBhIHRlcm1pbsOhbHRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciBhdCBzdG9wcGluZyBzZXJ2aWNlIFwiJXNcIlxuIgorI34gbXNnc3RyICJoaWJhIGEgc3pvbGfDoWx0YXTDoXMgbGXDoWxsw610w6FzYWtvcjog4oCeJXPigJ0iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU3RvcHBlZCBzZXJ2aWNlOiAlc1xuIgorI34gbXNnc3RyICJoaWJhIGEgc3pvbGfDoWx0YXTDoXMgbGXDoWxsw610w6FzYWtvcjog4oCeJXPigJ0iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgYXQgc3RhcnRpbmcgc2VydmljZSBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAiaGliYSBhIHN6b2xnw6FsdGF0w6FzIGxlw6FsbMOtdMOhc2Frb3I6IOKAniVz4oCdIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLWNdIFstbiBsZXZlbF0gWy1yXSBbLXMgYnVmc2l6ZV1cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgWy1jXSBbLW4gc3ppbnRdIFstcyBwdWZmZXJtw6lyZXRdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6IHN0cmR1cCBmYWlsZWQiCisjfiBtc2dzdHIgImEgc3phYnbDoW55b3Mga2ltZW5ldHJlIMOtcsOhcyBtZWdoacO6c3VsdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogY2FsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAiYSBtYWxsb2MgbWVnaGnDunN1bHQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6ICVzIFstYmZweF0gWy1sIG5saW5lXSIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogY29sIFstYmZweF0gWy1sIHNvcnN6w6FtXVxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLSBdIFsgLTIgXSBbIGZpbGUgLi4uIF1cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgWyAtIF0gWyAtMiBdIFsgZsOhamwgLi4uIF1cbiIKKworI34gbXNnaWQgImhleGR1bXA6IFstYmNDZG92eF0gWy1lIGZtdF0gWy1mIGZtdF9maWxlXSBbLW4gbGVuZ3RoXSBbLXMgc2tpcF0gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJoZXhkdW1wOiBbLWJjQ2RvdnhdIFstZSBmb3Jtw6F0dW1dIFstZiBmb3Jtw6F0dW1fZsOhamxdIFstbiBob3Nzel0gWy1zIGtpaGFnecOhc10gW2bDoWpsIC4uLl1cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbLWRmbHBjc3VdIFsrbGluZW51bSB8ICsvcGF0dGVybl0gbmFtZTEgbmFtZTIgLi4uXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFstZGZscGNzdV0gWytzb3JzesOhbSB8ICsvbWludGFdIG7DqXYxIG7DqXYyIC4uLlxuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogY2FuJ3QgcmVhZCAlcy5cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogbmVtIG9sdmFzaGF0w7MgYSh6KSAlcy5cbiIKKworI34gbXNnaWQgImhleGR1bXA6IGxpbmUgdG9vIGxvbmcuXG4iCisjfiBtc2dzdHIgImhleGR1bXA6IGEgc29yIHTDumwgaG9zc3rDui5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZWFsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAiYSBtYWxsb2MgbWVnaGnDunN1bHQiCisKKyN+IG1zZ2lkICJ1c2FnZTogdGFpbGYgWy1uIE4gfCAtTl0gbG9nZmlsZSIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogdGFpbGYgWy1uIE4gfCAtTl0gbmFwbMOzZsOhamwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsgLWkgXSBbIC10VGVybSBdIGZpbGUuLi5cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgWyAtaSBdIFsgLXRUZXJtIF0gZsOhamwuLi5cbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBvcGVuICVzXG4iCisjfiBtc2dzdHIgIkEoeikgJXMgbmVtIG55aXRoYXTDsyBtZWdcbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBhbnkgbW9yZSBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAiTmVtIGZvZ2xhbGhhdMOzIGxlIHTDtmJiIG1lbcOzcmlhXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiZ290IEVPRiB0aHJpY2UgLSBleGl0aW5nLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkjDoXJvbSBFT0Ygw6lya2V6ZXR0IC0tIGtpbMOpcMOpcy4uXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBpbiB0aGUgZmluYWwgcGFydGlhbCBjeWxpbmRlciIKKyN+IG1zZ3N0ciAiQSBwYXJ0w61jacOzIGF6IHV0b2xzw7MgcsOpc3psZWdlcyBjaWxpbmRlciB1dMOhbiB2w6lnesWRZGlrIgorCisjfiBtc2dpZCAibGFzdDogbWFsbG9jIGZhaWx1cmUuXG4iCisjfiBtc2dzdHIgImxhc3Q6IG1lbcOzcmlhZm9nbGFsw6FzaSBoaWJhLlxuIgorCisjfiBtc2dpZCAibG9naW46IE91dCBvZiBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAibG9naW46IEVsZm9neW90dCBhIG1lbcOzcmlhXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogbm8gc2hlbGw6ICVzLlxuIgorI34gbXNnc3RyICJsb2dpbjogbmluY3MgcGFyYW5jc8OpcnRlbG1lesWROiAlcy5cbiIKKworI34gbXNnaWQgIm5ld2dycDogc2V0Z2lkIgorI34gbXNnc3RyICJuZXdncnA6IHNldGdpZCIKKworI34gbXNnaWQgIm5ld2dycDogUGVybWlzc2lvbiBkZW5pZWQiCisjfiBtc2dzdHIgIm5ld2dycDogSG96esOhZsOpcsOpcyBtZWd0YWdhZHZhIgorCisjfiBtc2dpZCAibmV3Z3JwOiBzZXR1aWQiCisjfiBtc2dzdHIgIm5ld2dycDogc2V0dWlkIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHJlYWQgJXMuXG4iCisjfiBtc2dzdHIgIiVzOiBuZW0gb2x2YXNoYXTDsyBhKHopICVzLlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHN0YXQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVzOiBuZW0gw6lyaGV0xZEgZWwgYXogaWRlaWdsZW5lcyBmw6FqbC5cbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCByZWFkIHRlbXBvcmFyeSBmaWxlLlxuIgorI34gbXNnc3RyICIlczogbmVtIG9sdmFzaGF0w7MgYXogaWRlaWdsZW5lcyBmw6FqbC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3I6ICVzIgorI34gbXNnc3RyICIlczogw61yw6FzaSBoaWJhOiAlc1xuIgorCisjfiBtc2dpZCAiJXM6IG91dCBvZiBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAiJXM6IGVsZm9neW90dCBhIG1lbcOzcmlhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIGFuZCAlZC4iCisjfiBtc2dzdHIgIiDDqXMgIgorCisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgb3B0aW9uIC0tICVjXG4iCisjfiBtc2dzdHIgIiVzOiDDqXJ2w6lueXRlbGVuIGthcGNzb2zDsyAtLSAlY1xuIgorCisjfiBtc2dpZCAic2VnbWVudHMgYWxsb2NhdGVkICVkXG4iCisjfiBtc2dzdHIgImxlZm9nbGFsdCBzemVnbWVuc2VrOiAgICAlZFxuIgorCisjfiBtc2dpZCAicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorI34gbXNnc3RyICJsZWZvZ2xhbHQgbGFwb2s6ICAgICAgICAgJWxkXG4iCisKKyN+IG1zZ2lkICJwYWdlcyByZXNpZGVudCAgJWxkXG4iCisjfiBtc2dzdHIgIm1lbcOzcmnDoWJhbiBtYXJhZMOzIGxhcG9rOiAlbGRcbiIKKworI34gbXNnaWQgInBhZ2VzIHN3YXBwZWQgICAlbGRcbiIKKyN+IG1zZ3N0ciAia2lsYXBvem90dCBsYXBvazogICAgICAgICVsZFxuIgorCisjfiBtc2dpZCAiU3dhcCBwZXJmb3JtYW5jZTogJWxkIGF0dGVtcHRzXHQgJWxkIHN1Y2Nlc3Nlc1xuIgorI34gbXNnc3RyICJMYXBvesOzdGVyw7xsZXQgdGVsamVzw610bcOpbnllOiAlbGQga8Otc8OpcmxldFx0ICVsZCBzaWtlcmVzXG4iCisKKyN+IG1zZ2lkICJyZW5pY2U6ICVzOiB1bmtub3duIHVzZXJcbiIKKyN+IG1zZ3N0ciAicmVuaWNlOiBpc21lcmV0bGVuIGZlbGhhc3puw6Fsw7MgKCVzKVxuIgorCisjfiBtc2dpZCAicmVuaWNlOiAlczogYmFkIHZhbHVlXG4iCisjfiBtc2dzdHIgInJlbmljZTogaGliw6FzIMOpcnTDqWsgKCVzKVxuIgorCisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgaW50ZXJ2YWwgJXMgc2Vjb25kc1xuIgorI34gbXNnc3RyICIlczogw6lydsOpbnl0ZWxlbiBpZMWRa8O2eiAoJXMgbcOhc29kcGVyYylcbiIKKworI34gbXNnaWQgIiVzOiBpbGxlZ2FsIHRpbWVfdCB2YWx1ZSAlc1xuIgorI34gbXNnc3RyICIlczogw6lydsOpbnl0ZWxlbiB0aW1lX3Qgw6lydMOpayAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBleGVjdXRlICVzOiAlc1xuIgorI34gbXNnc3RyICIlczogJXMgbmVtIGPDrW1rw6l6aGV0xZEgw6F0IChlcnJlOiAlcyk6ICVzXG4iCisKKyN+IG1zZ2lkICJydGMgcmVhZCIKKyN+IG1zZ3N0ciAicnRjIG9sdmFzw6FzIgorCisjfiBtc2dpZCAibWFsbG9jIGVycm9yIgorI34gbXNnc3RyICJtZW3Ds3JpYWZvZ2xhbMOhc2kgaGliYSIKKworI34gbXNnaWQgInVzYWdlOiBjb2x1bW4gWy10eF0gWy1jIGNvbHVtbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdCA6IGNvbHVtbiBbLXR4XSBbLWMgb3N6bG9wb2tdIFtmw6FqbCAuLi5dXG4iCisKKyN+IG1zZ2lkICJvZDogb2QoMSkgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgaGV4ZHVtcCgxKS5cbiIKKyN+IG1zZ3N0ciAib2Q6IGF6IG9kKDEpIGVsYXZ1bHQsIGEgaGV4ZHVtcCgxKSBoYXN6bsOhbGFuZMOzLlxuIgorCisjfiBtc2dpZCAib2Q6IGhleGR1bXAoMSkgY29tcGF0aWJpbGl0eSBkb2Vzbid0IHN1cHBvcnQgdGhlIC0lYyBvcHRpb24lc1xuIgorI34gbXNnc3RyICJvZDogYSBoZXhkdW1wKDEpIGtvbXBhdGliaWxpdMOhcyBuZW0gdMOhbW9nYXRqYSBhIC0lYyBrYXBjc29sw7N0JXNcbiIKKworI34gbXNnaWQgIjsgc2VlIHN0cmluZ3MoMSkuIgorI34gbXNnc3RyICI7IGzDoXNkIHN0cmluZ3MoMSkuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk91dCBvZiBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAiTmluY3MgZWzDqWcgbWVtw7NyaWEiCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyc3BhY2UiCisjfiBtc2dzdHIgIm5lbSBmb2dsYWxoYXTDsyBsZSBwdWZmZXJ0ZXLDvGxldCIKKworI34gbXNnaWQgInVzYWdlOiByZXYgW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiByZXYgW2bDoWpsIC4uLl1cbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIuXG4iCisjfiBtc2dzdHIgIk5lbSBmb2dsYWxoYXTDsyBsZSBwdWZmZXJ0LlxuIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSB3aGVuIGdyb3dpbmcgYnVmZmVyLlxuIgorI34gbXNnc3RyICJFbGZvZ3lvdHQgYSBtZW3Ds3JpYSBhIHB1ZmZlciBuw7Z2ZWzDqXNla29yLlxuIgpkaWZmIC0tZ2l0IGEvcG8vaWQucG8gYi9wby9pZC5wbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZGQ3MTg5Ci0tLSAvZGV2L251bGwKKysrIGIvcG8vaWQucG8KQEAgLTAsMCArMSwyNDk4NSBAQAorIyBQZXNhbiBCYWhhc2EgSW5kb25lc2lhIHVudHVrIHV0aWwtbGludXgKKyMgQ29weXJpZ2h0IChDKSAyMDA1IEFkcmlhbiBCdW5rIDxidW5rQHN0dXN0YS5kZT4KKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIHV0aWwtbGludXggcGFja2FnZS4KKyMgUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGZyZWVseSBjb3B5IGFuZCBkaXN0cmlidXRlCisjIHRoaXMgZmlsZSBhbmQgbW9kaWZpZWQgdmVyc2lvbnMsIHByb3ZpZGVkIHRoYXQgdGhpcworIyBoZWFkZXIgaXMgbm90IHJlbW92ZWQgYW5kIG1vZGlmaWVkIHZlcnNpb25zIGFyZSBtYXJrZWQKKyMgYXMgc3VjaC4KKyMgQXJpZiBFLiBOdWdyb2hvIDxhcmlmX2VuZHJvQHlhaG9vLmNvbT4sIDIwMDYsIDIwMDgsIDIwMDksIDIwMTAuCisjCittc2dpZCAiIgorbXNnc3RyICIiCisiUHJvamVjdC1JZC1WZXJzaW9uOiB1dGlsLWxpbnV4LW5nIDIuMTcuMS1yYzFcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogdXRpbC1saW51eEB2Z2VyLmtlcm5lbC5vcmdcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNy0wMi0yMiAxMjozMiswMTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxMC0wMi0xOCAwNDowMCswNzAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBBcmlmIEUuIE51Z3JvaG8gPGFyaWZfZW5kcm9AeWFob28uY29tPlxuIgorIkxhbmd1YWdlLVRlYW06IEluZG9uZXNpYW4gPHRyYW5zbGF0aW9uLXRlYW0taWRAbGlzdHMuc291cmNlZm9yZ2UubmV0PlxuIgorIkxhbmd1YWdlOiBpZFxuIgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTFcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8c3RhcnQ+IDxsZW5ndGg+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTgKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIGV4aXN0ZW5jZSBvZiBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTYgZGlzay11dGlscy9ibG9ja2Rldi5jOjI3NiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDIwCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDQ2IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzNCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1NworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNyBkaXNrLXV0aWxzL2ZkaXNrLmM6NzE4IGRpc2stdXRpbHMvZmRpc2suYzo5OTQKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjMwMSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNDEKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM2MCBkaXNrLXV0aWxzL2ZzY2suYzoxNDQ4CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTU1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTAKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEzNCBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg5CisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTczIGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjEKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODggZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE5CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIxNSBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NCBkaXNrLXV0aWxzL3BhcnR4LmM6OTk0CisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDEgZGlzay11dGlscy9zZmRpc2suYzo2NDcgZGlzay11dGlscy9zZmRpc2suYzo3MDMKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzU3IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODE2IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODgwCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkyMSBkaXNrLXV0aWxzL3NmZGlzay5jOjk1MSBkaXNrLXV0aWxzL3NmZGlzay5jOjk4OAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTM3IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjAgbGliZmRpc2svc3JjL2JzZC5jOjY0MQorIzogbGliL3BhdGguYzo3MCBsaWIvcGF0aC5jOjgyIGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo4NyBsb2dpbi11dGlscy9sYXN0LmM6NjcyCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDQ2IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0ODMKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzU5CisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4MSBsb2dpbi11dGlscy92aXB3LmM6MjU4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzYKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOTcgbWlzYy11dGlscy9sb2dnZXIuYzoxMTg4IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjExNQorIzogbWlzYy11dGlscy91dWlkZC5jOjIwNyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4MyBzeXMtdXRpbHMvZG1lc2cuYzo1MjIKKyM6IHN5cy11dGlscy9lamVjdC5jOjUwMCBzeXMtdXRpbHMvZWplY3QuYzo3MDAgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM3NAorIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTI4IHN5cy11dGlscy9mc3RyaW0uYzo3MiBzeXMtdXRpbHMvaHdjbG9jay5jOjI4MgorIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjYzOCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxNjIKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI1NiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDEKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQyMiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NjkKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM4OCBzeXMtdXRpbHMvbnNlbnRlci5jOjEyOCBzeXMtdXRpbHMvcnRjd2FrZS5jOjEzNgorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyNzAgc3lzLXV0aWxzL3NldHByaXYuYzoyMzAgc3lzLXV0aWxzL3NldHByaXYuYzo1MjkKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTUyIHN5cy11dGlscy9zd2Fwb24uYzozNzEgc3lzLXV0aWxzL3N3YXBvbi5jOjUxNAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTYzIHN5cy11dGlscy91bnNoYXJlLmM6MTA2IHN5cy11dGlscy91bnNoYXJlLmM6MTIxCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjEgc3lzLXV0aWxzL3dkY3RsLmM6Mzc3IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYxOAorIzogdGVybS11dGlscy9tZXNnLmM6MTI3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDI1IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDMxCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQzMyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjUyMgorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxOTcgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMDAKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjMzMSB0ZXh0LXV0aWxzL2NvbGNydC5jOjI4MiB0ZXh0LXV0aWxzL21vcmUuYzo1MTMKKyM6IHRleHQtdXRpbHMvcmV2LmM6MTQxIHRleHQtdXRpbHMvdGFpbGYuYzo2OCB0ZXh0LXV0aWxzL3RhaWxmLmM6MTAwCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWthICVzIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1OSBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MCBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzo5OAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBhcnRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgInBpbGloYW4gdGlkYWsgdmFsaWQiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc3RhcnQgYXJndW1lbnQiCittc2dzdHIgInBpbGloYW4gdGlkYWsgdmFsaWQiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYxIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIKK21zZ3N0ciAicGlsaWhhbiB0aWRhayB2YWxpZCIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24iCittc2dzdHIgIm1lbWJhY2EgbGFnaSB0YWJlbCBwYXJ0aXNpIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NjMKK21zZ2lkICJzZXQgcmVhZC1vbmx5IgorbXNnc3RyICJzZXQgaGFueWEtYmFjYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjcwCittc2dpZCAic2V0IHJlYWQtd3JpdGUiCittc2dzdHIgInNldCBiYWNhLXR1bGlzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzYKK21zZ2lkICJnZXQgcmVhZC1vbmx5IgorbXNnc3RyICJnZXQgaGFueWEtYmFjYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjgyCittc2dpZCAiZ2V0IGRpc2NhcmQgemVyb2VzIHN1cHBvcnQgc3RhdHVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4OAorbXNnaWQgImdldCBsb2dpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgImdldCB1a3VyYW4gbG9naWthbCBibG9rIChzZWt0b3IpIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6OTQKK21zZ2lkICJnZXQgcGh5c2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAiZ2V0IHVrdXJhbiBmaXNpayBibG9rIChzZWt0b3IpIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTAwCittc2dpZCAiZ2V0IG1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgImdldCB1a3VyYW4gbWluaW1hbCBJL08iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDYKK21zZ2lkICJnZXQgb3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAiZ2V0IHVrdXJhbiBvcHRpbWFsIEkvTyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExMgorIywgZnV6enkKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAiZ2V0IHBlbnllc3VhaWFuIG9mc2V0IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTE4Cittc2dpZCAiZ2V0IG1heCBzZWN0b3JzIHBlciByZXF1ZXN0IgorbXNnc3RyICJnZXQgbWFrc2ltYWwgc2VrdG9yIHNldGlhcCBwZXJtaW50YWFuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTI0Cittc2dpZCAiZ2V0IGJsb2Nrc2l6ZSIKK21zZ3N0ciAiZ2V0IGJsb2Nrc2l6ZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzMQorbXNnaWQgInNldCBibG9ja3NpemUgb24gZmlsZSBkZXNjcmlwdG9yIG9wZW5pbmcgdGhlIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgImdldCAzMi1iaXQgc2VjdG9yIGNvdW50IChkZXByZWNhdGVkLCB1c2UgLS1nZXRzeikiCittc2dzdHIgImdldCAzMi1iaXQgc2VjdG9yIGNvdW50IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTQzCittc2dpZCAiZ2V0IHNpemUgaW4gYnl0ZXMiCittc2dzdHIgImdldCBzaXplIGluIGJ5dGVzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTUwCittc2dpZCAic2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAic2V0IHJlYWRhaGVhZCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1NgorbXNnaWQgImdldCByZWFkYWhlYWQiCittc2dzdHIgImdldCByZWFkYWhlYWQiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjMKK21zZ2lkICJzZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgInNldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2OQorbXNnaWQgImdldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAiZ2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTczCittc2dpZCAiZmx1c2ggYnVmZmVycyIKK21zZ3N0ciAiZmx1c2ggYnVmZmVycyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3NworbXNnaWQgInJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIm1lbWJhY2EgbGFnaSB0YWJlbCBwYXJ0aXNpIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJTEkcyAtVlxuIgorIiAlMSRzIC0tcmVwb3J0IFtkZXZpY2VzXVxuIgorIiAlMSRzIFstdnwtcV0gY29tbWFuZHMgZGV2aWNlc1xuIgorIlxuIgorIkF2YWlsYWJsZSBjb21tYW5kczpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJS0yNXMgZ2V0IHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9yc1xuIgorbXNnc3RyICJEYXBhdGthbiB1a3VyYW4gZGFsYW0gNTEyLWJ5dGUgc2VrdG9yIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzExCisjLCBmdXp6eQorbXNnaWQgImNvdWxkIG5vdCBnZXQgZGV2aWNlIHNpemUiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbXBlcm9sZWggdWt1cmFuIGRpc2siCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gY29tbWFuZDogJXMiCittc2dzdHIgIiVzOiBQZXJpbnRhaCB0aWRhayBkaWtldGFodWk6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICIlcyBtZW1idXR1aGthbiBzZWJ1YWggYXJndW1lbnRcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM2OCBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiJXM6IGlvY3RsIGVycm9yIHBhZGEgJXNcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQuXG4iCittc2dzdHIgIiVzIGdhZ2FsLlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiJXMgc3Vrc2VzLlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgc3lzZnMgaGFuZGxlciIKK21zZ3N0ciAiZ2FnYWwgbWVuZ2luaXNpYWxpc2FzaSBiYXJpcyBwZW55YW5nZ2FcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiBzdGFydCBmcm9tIHN5c2ZzIgorbXNnc3RyICJtZW1iYWNhIGxhZ2kgdGFiZWwgcGFydGlzaSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICJSTyAgICBSQSAgIFNTWiAgIEJTWiAgIFN0YXJ0U2VjICAgICAgICAgICAgU2l6ZSAgIERldmljZVxuIgorbXNnc3RyICJSTyAgICBSQSAgIFNTWiAgIEJTWiAgIEF3YWxTZWt0ICAgICAgICAgICAgVWt1cmFuIFBlcmFuZ2thdFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3OQorbXNnaWQgIkJvb3RhYmxlIgorbXNnc3RyICJCb290YWJsZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzkKK21zZ2lkICJUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIlViYWggdGFuZGEgYm9vdGFibGUgZGFyaSBwYXJ0aXNpIHRlcnBpbGloIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MAorbXNnaWQgIkRlbGV0ZSIKK21zZ3N0ciAiSGFwdXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgwCittc2dpZCAiRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiSGFwdXMgcGFydGlzaSB0ZXJwaWxpaCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODEKK21zZ2lkICJOZXciCittc2dzdHIgIkJhcnUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgxCittc2dpZCAiQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICJCdWF0IHBhcnRpc2kgYmFydSBkYXJpIHJ1YW5nIGtvc29uZyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODIKK21zZ2lkICJRdWl0IgorbXNnc3RyICJCZXJoZW50aSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODIKKyMsIGZ1enp5Cittc2dpZCAiUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBjaGFuZ2VzIgorbXNnc3RyICJCZXJoZW50aSBkYXJpIGFwbGlrYXNpIHRhbnBhIG1lbnVsaXMgdGFiZWwgcGFydGlzaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODMgbGliZmRpc2svc3JjL2JzZC5jOjQzOSBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMAorIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDYgbGliZmRpc2svc3JjL2dwdC5jOjI5MTYgbGliZmRpc2svc3JjL3NnaS5jOjExNjAKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE2Cittc2dpZCAiVHlwZSIKK21zZ3N0ciAiVGlwZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODMKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiICAgdCAgIHViYWggaWQgZGFyaSBwYXJ0aXNpIHN5c3RlbSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQKK21zZ2lkICJIZWxwIgorbXNnc3RyICJCYW50dWFuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NAorbXNnaWQgIlByaW50IGhlbHAgc2NyZWVuIgorbXNnc3RyICJDZXRhayBsYXlhciBiYW50dWFuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NQorbXNnaWQgIlNvcnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiRml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIiAgIGYgICBiZXR1bGthbiB1cnV0YW4gZGFyaSBwYXJ0aXNpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIldyaXRlIgorbXNnc3RyICJUdWxpcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAodGhpcyBtaWdodCBkZXN0cm95IGRhdGEpIgorbXNnc3RyICJUdWxpcyB0YWJlbCBwYXJ0aXNpIGtlIGRpc2sgKEluaSBtdW5na2luIGFrYW4gbWVuZ2hhbmN1cmthbiBkYXRhKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEdW1wIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIkR1bXAgcGFydGl0aW9uIHRhYmxlIHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICJDZXRhayB0YWJlbCBwYXJ0aXNpIGRpIGxheWFyIGF0YXUga2Ugc2VidWFoIGZpbGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6NjIwIGRpc2stdXRpbHMvZmRpc2suYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVuc3VwcG9ydGVkIGRpYWxvZyB0eXBlICVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKG1vdW50ZWQpIgorbXNnc3RyICJmc2NrOiAlczogdGlkYWsgZGl0ZW11a2FuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI3NAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gbmFtZToiCittc2dzdHIgIk5vbW9yIHBhcnRpc2kiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI4MQorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gVVVJRDoiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXNpOlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyOTMKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHR5cGU6IgorbXNnc3RyICJOb21vciBwYXJ0aXNpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMDAKK21zZ2lkICJBdHRyaWJ1dGVzOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMjQKKyMsIGZ1enp5Cittc2dpZCAiRmlsZXN5c3RlbSBVVUlEOiIKK21zZ3N0ciAiTWFzdWtrYW4gdGlwZSBmaWxlc3lzdGVtOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMzMQorIywgZnV6enkKK21zZ2lkICJGaWxlc3lzdGVtIExBQkVMOiIKK21zZ3N0ciAiTWFzdWtrYW4gdGlwZSBmaWxlc3lzdGVtOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMzNworIywgZnV6enkKK21zZ2lkICJGaWxlc3lzdGVtOiIKK21zZ3N0ciAiTWFzdWtrYW4gdGlwZSBmaWxlc3lzdGVtOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM0MgorIywgZnV6enkKK21zZ2lkICJNb3VudHBvaW50OiIKK21zZ3N0ciAiJXMgdGVsYWggZGkgbW91bnQuXHQgIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2s6ICVzIgorbXNnc3RyICJkaXNrOiAlLipzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2l6ZTogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIiIKKyJcbiIKKyJEaXNrICVzOiAlbHUgY3lsaW5kZXJzLCAlbHUgaGVhZHMsICVsdSBzZWN0b3JzL3RyYWNrXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzLCBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiSWRlbnRpZmlrYXNpIGRpc2s6IDB4JTA4eFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcyIKK21zZ3N0ciAibGFiZWw6ICUuKnNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQ2Cittc2dpZCAiTWF5IGJlIGZvbGxvd2VkIGJ5IE0gZm9yIE1pQiwgRyBmb3IgR2lCLCBUIGZvciBUaUIsIG9yIFMgZm9yIHNlY3RvcnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1MgorIywgZnV6enkKK21zZ2lkICJQbGVhc2UsIHNwZWNpZnkgc2l6ZS4iCittc2dzdHIgIm5hbWEgYmVya2FzIHRpZGFrIGRpc3Blc2lmaWthc2lrYW4uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1pbmltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICJnZXQgc2l6ZSBpbiBieXRlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNYXhpbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAiZ2V0IHNpemUgaW4gYnl0ZXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5MAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2l6ZS4iCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQ4CisjLCBmdXp6eQorbXNnaWQgIlNlbGVjdCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiUGFydGlzaSB5YW5nIHRlcnBpbGloICVkXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk5NCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjQKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZTogIgorbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVudWxpcyBiZXJrYXMgc2NyaXB0LCBlcnJvcjogJXNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTk1CisjLCBmdXp6eQorbXNnaWQgIlRoZSBzY3JpcHQgZmlsZSB3aWxsIGJlIGFwcGxpZWQgdG8gaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIkFuZGEgdGlkYWsgYWthbiBkYXBhdCBtZW51bGlzIGtlIHRhYmVsIHBhcnRpc2kuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwNCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNDYKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2NSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWthICVzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwNiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAiZ2FnYWwgbWVtYmFjYSB0eXBlc2NyaXB0IGJlcmthcyAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDA4IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCAlcyIKK21zZ3N0ciAiZ2FnYWwgbWVtYmFjYSB0eXBlc2NyaXB0IGJlcmthcyAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDI1Cittc2dpZCAiVGhlIGN1cnJlbnQgaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZSB3aWxsIGJlIGR1bXBlZCB0byB0aGUgZmlsZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDMzIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ5MQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgImdhZ2FsIG1lbmdhbG9rYXNpa2FuIG91dGJ1ZmZlciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDM5CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byByZWFkIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0LiIKK21zZ3N0ciAiZ2FnYWwgbWVuZ2Fsb2thc2lrYW4gb3V0YnVmZmVyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNTMKK21zZ2lkICJEaXNrIGxheW91dCBzdWNjZXNzZnVsbHkgZHVtcGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNTYgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgc2NyaXB0ICVzIgorbXNnc3RyICJnYWdhbCBtZW1iYWNhIHR5cGVzY3JpcHQgYmVya2FzICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwOTIKKyMsIGZ1enp5Cittc2dpZCAiU2VsZWN0IGxhYmVsIHR5cGUiCittc2dzdHIgIlRpcGUgaWxlZ2FsXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA5NSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxNworIywgZnV6enkKK21zZ2lkICJEZXZpY2UgZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiRGlzayAlcyB0aWRhayBtZW1pbGlraSBzZWJ1YWggdGFiZWwgcGFydGlzaSB5YW5nIHZhbGlkXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjEwMQorbXNnaWQgIlNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGxhYmVsIG9yIHByZXNzICdMJyB0byBsb2FkIHNjcmlwdCBmaWxlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDYKKyMsIGZ1enp5Cittc2dpZCAiVGhpcyBpcyBjZmRpc2ssIGEgY3Vyc2VzLWJhc2VkIGRpc2sgcGFydGl0aW9uaW5nIHByb2dyYW0uIgorbXNnc3RyICJJbmkgYWRhbGFoIGNmZGlzaywgc2VidWFoIHByb2dyYW0gdW50dWsgbWVtcGFydGlzaSBkaXNrIGJlcmJhc2lzIGN1cnNlcywgeWFuZyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ3CisjLCBmdXp6eQorbXNnaWQgIkl0IGxldHMgeW91IGNyZWF0ZSwgZGVsZXRlLCBhbmQgbW9kaWZ5IHBhcnRpdGlvbnMgb24gYSBibG9jayBkZXZpY2UuIgorbXNnc3RyICJtZW11bmdraW5rYW4gYW5kYSB1bnR1ayBtZW1idWF0LCBtZW5naGFwdXMsIGRhbiBtZW1vZGlmaWthc2kgcGFydGlzaSBkaSBwZXJhbmdrYXQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE0OQorbXNnaWQgIkNvbW1hbmQgICAgICBNZWFuaW5nIgorbXNnc3RyICJQZXJpbnRhaCAgICAgQXJ0aSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUwCittc2dpZCAiLS0tLS0tLSAgICAgIC0tLS0tLS0iCittc2dzdHIgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTEKK21zZ2lkICIgIGIgICAgICAgICAgVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGIgICAgICAgICAgVWJhaCB0YW5kYSBib290YWJsZSBwYWRhIHBhcnRpc2kgdGVycGlsaWgiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MgorbXNnaWQgIiAgZCAgICAgICAgICBEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGQgICAgICAgICAgSGFwdXMgcGFydGlzaSB0ZXJwaWxpaCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUzCittc2dpZCAiICBoICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorbXNnc3RyICIgIGggICAgICAgICAgQ2V0YWsgbGF5YXIgaW5pIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTQKK21zZ2lkICIgIG4gICAgICAgICAgQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICIgIG4gICAgICAgICAgTWVtYnVhdCBwYXJ0aXNpIGJhcnUgZGFyaSBydWFuZyB5YW5nIHRlcnNpc2Eva29zb25nIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTUKK21zZ2lkICIgIHEgICAgICAgICAgUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgcSAgICAgICAgICBLZWx1YXIgZGFyaSBwcm9ncmFtIHRhbnBhIG1lbnVsaXMgdGFiZWwgcGFydGlzaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU2CisjLCBmdXp6eQorbXNnaWQgIiAgcyAgICAgICAgICBGaXggcGFydGl0aW9ucyBvcmRlciAob25seSB3aGVuIGluIGRpc2FycmF5KSIKK21zZ3N0ciAiICAgICAgICAgICAgICBwYXJhbWV0ZXJzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NworIywgZnV6enkKK21zZ2lkICIgIHQgICAgICAgICAgQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiICB0ICAgICAgICAgIFViYWggdGlwZSBmaWxlc3lzdGVtIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTgKK21zZ2lkICIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTkKKyMsIGZ1enp5Cittc2dpZCAiICBXICAgICAgICAgIFdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh5b3UgbXVzdCBlbnRlciB1cHBlcmNhc2UgVyk7IgorbXNnc3RyICIgIFcgICAgICAgICAgVHVsaXMgdGFiZWwgcGFydGlzaSBrZSBkaXNrIChoYXJ1cyBtZW5nZXRpa2thbiBodXJ1ZiBiZXNhciBXKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgICAgIHNpbmNlIHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhIG9uIHRoZSBkaXNrLCB5b3UgbXVzdCBlaXRoZXIiCittc2dzdHIgIiAgICAgICAgICAgICBLYXJlbiBpbmkgbXVuZ2tpbiBtZW5naGFuY3Vya2FuIGRhdGEgZGkgZGlzaywgYW5kYSBoYXJ1cyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgICAgIGNvbmZpcm0gb3IgZGVueSB0aGUgd3JpdGUgYnkgZW50ZXJpbmcgJ3llcycgb3IgJ25vJyIKK21zZ3N0ciAiICAgICAgICAgICAgIG1lbmdrb25maXJtYXNpa2FuIGF0YXUgbWVub2xhayBwZW51bGlzYW4gZGVuZ2FuIG1lbmdldGlra2FuICd5ZXMnIGF0YXUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MgorIywgZnV6enkKK21zZ2lkICIgIHggICAgICAgICAgRGlzcGxheS9oaWRlIGV4dHJhIGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjMKK21zZ2lkICJVcCBBcnJvdyAgICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIHBhcnRpdGlvbiIKK21zZ3N0ciAiUGFuYWggQXRhcyAgIE1lbWluZGFoa2FuIGN1cnNvciBrZSBwYXJ0aXNpIHNlYmVsdW1ueWEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2NAorbXNnaWQgIkRvd24gQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBwYXJ0aXRpb24iCittc2dzdHIgIlBhbmFoIEJhd2FoICBNZW1pbmRhaGthbiBjdXJzb3Iga2UgcGFydGlzaSBzZXN1ZGFobnlhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjUKKyMsIGZ1enp5Cittc2dpZCAiTGVmdCBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBtZW51IGl0ZW0iCittc2dzdHIgIlBhbmFoIEF0YXMgICBNZW1pbmRhaGthbiBjdXJzb3Iga2UgcGFydGlzaSBzZWJlbHVtbnlhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjYKKyMsIGZ1enp5Cittc2dpZCAiUmlnaHQgQXJyb3cgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IG1lbnUgaXRlbSIKK21zZ3N0ciAiUGFuYWggQmF3YWggIE1lbWluZGFoa2FuIGN1cnNvciBrZSBwYXJ0aXNpIHNlc3VkYWhueWEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2OAorbXNnaWQgIk5vdGU6IEFsbCBvZiB0aGUgY29tbWFuZHMgY2FuIGJlIGVudGVyZWQgd2l0aCBlaXRoZXIgdXBwZXIgb3IgbG93ZXIiCittc2dzdHIgIkNhdGF0YW46IFNlbXVhIHBlcmludGFoIGRhcGF0IGRpa2V0aWtrYW4gZGVuZ2FuIG1lbmdndW5ha2FuIGh1cnVmICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY5CisjLCBmdXp6eQorbXNnaWQgImNhc2UgbGV0dGVycyAoZXhjZXB0IGZvciBXcml0ZSkuIgorbXNnc3RyICJiZXNhciBhdGF1IGh1cnVmIGtlY2lsIChrZWN1YWxpIHVudHVrIHBlbnVsaXNhbiBrZSBkaXNrKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTcxCittc2dpZCAiVXNlIGxzYmxrKDgpIG9yIHBhcnR4KDgpIHRvIHNlZSBtb3JlIGRldGFpbHMgYWJvdXQgdGhlIGRldmljZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzNworIywgZnV6enkKK21zZ2lkICJQcmVzcyBhIGtleSB0byBjb250aW51ZS4iCittc2dzdHIgIlRla2FuIHNlYnVhaCB0b21ib2wgdW50dWsgbWVsYW5qdXRrYW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI2MAorIywgZnV6enkKK21zZ2lkICJDb3VsZCBub3QgdG9nZ2xlIHRoZSBmbGFnLiIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYnVrYSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIlBhcnRpc2kgeWFuZyB0ZXJwaWxpaCAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNzIgZGlzay11dGlscy9mZGlzay1tZW51LmM6NjMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGhhcyBiZWVuIGRlbGV0ZWQuIgorbXNnc3RyICJQYXJ0aXNpICVkIHRpZGFrIG1lbWlsaWtpIGFyZWEgZGF0YVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyOTMKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHNpemU6ICIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpc2k6XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJNZW5ndWJhIHRpcGUgc2lzdGVtIHBhcnRpc2kgZGFyaSAlZCBtZW5qYWRpICV4ICglcylcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgdHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIlRpcGUgc2lzdGVtIGRhcmkgcGFyaXNpICVkIHRpZGFrIGJlcnViYWg6ICV4ICglcylcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzUzIGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ2NiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTkxCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzAKK21zZ2lkICJEZXZpY2UgaXMgb3BlbiBpbiByZWFkLW9ubHkgbW9kZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzU4CisjLCBmdXp6eQorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAiQXBha2FoIGFuZGEgeWFraW4gaW5naW4gbWVudWxpcyB0YWJlbCBwYXJ0aXNpIGtlIGRpc2s/ICh5YSBhdGF1IHRpZGFrKTogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjAKK21zZ2lkICJUeXBlIFwieWVzXCIgb3IgXCJub1wiLCBvciBwcmVzcyBFU0MgdG8gbGVhdmUgdGhpcyBkaWFsb2cuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM2NSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOSBzeXMtdXRpbHMvbHNjcHUuYzoxNTQwCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTUwCittc2dpZCAieWVzIgorbXNnc3RyICJ5YSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzY2CisjLCBmdXp6eQorbXNnaWQgIkRpZCBub3Qgd3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2suIgorbXNnc3RyICJUaWRhayBtZW51bGlzIHRhYmVsIHBhcnRpc2kgZGkgZGlzayIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzcxCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwuIgorbXNnc3RyICJzZWVrIGdhZ2FsIGRhbGFtIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzc0IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU3OAorIywgZnV6enkKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICIiCisiVGFiZWwgcGFydGlzaSB0ZWxhaCBkaXViYWghXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM5NyBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NjgKKyMsIGZ1enp5Cittc2dpZCAiTm90ZSB0aGF0IHBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlciBub3cuIgorbXNnc3RyICIiCisiXG4iCisiTWFzdWthbiB0YWJlbCBwYXJ0aXNpIHRpZGFrIGRhbGFtIHVydXRhbiBkaXNrXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzNAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZTsgaXQgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDQ1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBuZXcgZGlza2xhYmVsIgorbXNnc3RyICJzZWVrIGdhZ2FsIGRhbGFtIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDUzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIHBhcnRpdGlvbnMiCittc2dzdHIgIm1lbWJhY2EgbGFnaSB0YWJlbCBwYXJ0aXNpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz5cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTQ5IGRpc2stdXRpbHMvZmRpc2suYzo3MzYgZGlzay11dGlscy9zZmRpc2suYzoxODEwCisjLCBmdXp6eQorbXNnaWQgIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSBhIGRpc2sgcGFydGl0aW9uIHRhYmxlLlxuIgorbXNnc3RyICJtZW1iYWNhIGxhZ2kgdGFiZWwgcGFydGlzaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTUyCisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NTUKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXplcm8gICAgICAgICAgICAgICBzdGFydCB3aXRoIHplcm9lZCBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU5NCBkaXNrLXV0aWxzL2ZkaXNrLmM6ODgyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA3NworIzogbWlzYy11dGlscy9jYWwuYzozOTAgc3lzLXV0aWxzL2RtZXNnLmM6MTMzMyB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgY29sb3IgbW9kZSIKK21zZ3N0ciAidGlkYWsgYWRhIHBlcmludGFoP1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MTIgZGlzay11dGlscy9mZGlzay5jOjgxOCBkaXNrLXV0aWxzL3NmZGlzay5jOjIyMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAiZ2FnYWwgbWVuZ2Fsb2thc2lrYW4gb3V0YnVmZmVyIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+XG4iCittc2dzdHIgInBlbmdndW5hYW46IHNmZGlzayAtLWlkIHBlcmFuZ2thdCBub21vci1wYXJ0aXNpIFtJZF1cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTgKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgdG8gZm9yZ2V0IGFib3V0IGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlIHBhcnRpdGlvbiIKK21zZ3N0ciAibWVtYmFjYSBsYWdpIHRhYmVsIHBhcnRpc2kiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICJGb3JtYXR0aW5nIC4uLiAiCittc2dzdHIgIk1lbWZvcm1hdCAuLi4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo2OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgImRvbmVcbiIKK21zZ3N0ciAic2VsZXNhaVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmVyaWZ5aW5nIC4uLiAiCittc2dzdHIgIlZlcmlmaWthc2kgLi4uIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTA4Cittc2dpZCAiUmVhZDogIgorbXNnc3RyICJCYWNhOiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlByb2JsZW0gcmVhZGluZyB0cmFjay9oZWFkICV1LyV1LCBleHBlY3RlZCAlZCwgcmVhZCAlZFxuIgorbXNnc3RyICJNYXNhbGFoIGRhbGFtIG1lbWJhY2EgY3lsaW5kZXIgJWQsIGRpcGVya2lyYWthbiAlZCwgdGVyYmFjYSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiYmFkIGRhdGEgaW4gdHJhY2svaGVhZCAldS8ldVxuIgorIkNvbnRpbnVpbmcgLi4uICIKK21zZ3N0ciAiIgorImRhdGEgamVsZWsgZGFsYW0gY3lsICVkXG4iCisiTWVsYW5qdXRrYW4gLi4uIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4MgorIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMTcgbWlzYy11dGlscy93aXBlZnMuYzo0NTYgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4NAorIzogc3lzLXV0aWxzL3R1bmVscC5jOjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDgKK21zZ2lkICJEbyBhIGxvdy1sZXZlbCBmb3JtYXR0aW5nIG9mIGEgZmxvcHB5IGRpc2suXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MQorbXNnaWQgIiAtZiwgLS1mcm9tIDxOPiAgICBzdGFydCBhdCB0aGUgdHJhY2sgTiAoZGVmYXVsdCAwKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTIKK21zZ2lkICIgLXQsIC0tdG8gPE4+ICAgICAgc3RvcCBhdCB0aGUgdHJhY2sgTlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTMKK21zZ2lkICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIHRyeSB0byByZXBhaXIgdHJhY2tzIGZhaWxlZCBkdXJpbmdcbiIKKyIgICAgICAgICAgICAgICAgICAgICB0aGUgdmVyaWZpY2F0aW9uIChtYXggTiByZXRyaWVzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTUKK21zZ2lkICIgLW4sIC0tbm8tdmVyaWZ5ICAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSBmcm9tIgorbXNnc3RyICJpZCB0aWRhayB2YWxpZDogJXNcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5OAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gdG8iCittc2dzdHIgImlkIHRpZGFrIHZhbGlkOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjAxCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSByZXBhaXIiCittc2dzdHIgImlkIHRpZGFrIHZhbGlkOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjIxIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTEKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODUgZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMzOAorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc0OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzg1CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTYgZGlzay11dGlscy9ta3N3YXAuYzoyNDEgZGlzay11dGlscy9wYXJ0eC5jOjkzMworIzogbG9naW4tdXRpbHMvbGFzdC5jOjY4NiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzOSBtaXNjLXV0aWxzL25hbWVpLmM6MTM1CisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjYzIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg2IHN5cy11dGlscy9kbWVzZy5jOjUyNAorIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjE5OCBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzEgc3lzLXV0aWxzL2ZzdHJpbS5jOjc3CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTE5IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjkzCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMzMgdGVybS11dGlscy9tZXNnLmM6MTI5IHRleHQtdXRpbHMvbW9yZS5jOjUwNAorIzogdGV4dC11dGlscy90YWlsZi5jOjEwMyB0ZXh0LXV0aWxzL3RhaWxmLmM6MjgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzdGF0IG9mICVzIGZhaWxlZCIKK21zZ3N0ciAic3RhdCBnYWdhbDogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjQgZGlzay11dGlscy9wYXJ0eC5jOjk5MSBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ4NQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODggc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBidWthbiBzZWJ1YWggYmxvY2sgZGV2aWNlXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjkKKyMsIGZ1enp5Cittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW5lbnR1a2FuIHRpcGUgZm9ybWF0IHNhYXQgaW5pIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzLXNpZGVkLCAlZCB0cmFja3MsICVkIHNlYy90cmFjay4gVG90YWwgY2FwYWNpdHkgJWQga0IuXG4iCittc2dzdHIgIiVzLXNpZGVkLCAlZCB0cmFja3MsICVkIHNlYy90cmFjay4gVG90YWwga2FwYXNpdGFzICVkIGtCLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMyCittc2dpZCAiRG91YmxlIgorbXNnc3RyICJSYW5na2FwIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMyCittc2dpZCAiU2luZ2xlIgorbXNnc3RyICJTYXR1IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM5Cittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDEKK21zZ2lkICJ1c2VyIGRlZmluZWQgZW5kIHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDMKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgdXNlciBkZWZpbmVkIGVuZCB0cmFjayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjUxIG1pc2MtdXRpbHMvbG9nZ2VyLmM6OTg3CisjLCBmdXp6eQorbXNnaWQgImNsb3NlIGZhaWxlZCIKK21zZ3N0ciAiZ2FnYWwgc2VlayIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk1IGRpc2stdXRpbHMvZmRpc2suYzoxMTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gcXVpdD8gIgorbXNnc3RyICJBcGFrYWggYW5kYSBiZW5hciAtIGJlbmFyIGluZ2luIG1lbGFuanV0a2FuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3QgKGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICgldS0ldSwgZGVmYXVsdCAldSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjE2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgZGVmYXVsdCByZXNwb25zZSAlYy4iCittc2dzdHIgIk1lbmdndW5ha2FuIG5pbGFpIGRlZmF1bHQgJXVcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjE3NiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjUwIGRpc2stdXRpbHMvZmRpc2suYzozMjUKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTg5IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjc3CisjLCBmdXp6eQorbXNnaWQgIlZhbHVlIG91dCBvZiByYW5nZS4iCittc2dzdHIgIk5pbGFpIGRpbHVhciBkYXJpIGphbmdrYXVhbi5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJXUtJXUsIGRlZmF1bHQgJXUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDggZGlzay11dGlscy9mZGlzay5jOjI3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCV1LSV1LCBkZWZhdWx0ICV1KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICgldS0ldSwgZGVmYXVsdCAldSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIxNyBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0PiwgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICgldS0ldSwgZGVmYXVsdCAldSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjKTogIgorbXNnc3RyICIlcyAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMjMgZGlzay11dGlscy9mZGlzay5jOjI4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglcylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjM5MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NworbXNnaWQgIiBbWV1lcy9bTl1vOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQzMworIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSAodHlwZSBMIHRvIGxpc3QgYWxsIHR5cGVzKTogIgorbXNnc3RyICJLb2RlIGhleCAoa2V0aWsgTCB1bnR1ayBkYWZ0YXIgZGFyaSBrb2RlKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDM0CisjLCBmdXp6eQorbXNnaWQgIkhleCBjb2RlICh0eXBlIEwgdG8gbGlzdCBhbGwgY29kZXMpOiAiCittc2dzdHIgIktvZGUgaGV4IChrZXRpayBMIHVudHVrIGRhZnRhciBkYXJpIGtvZGUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1MzYKKyMsIGZ1enp5Cittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBzZXQgKERFUFJFQ0FURUQhKSIKK21zZ3N0ciAiVGFuZGEga29tcGF0aWJpbGl0YXMgRE9TIHRlbGFoIGRpc2V0XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1MzcKKyMsIGZ1enp5Cittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBub3Qgc2V0IgorbXNnc3RyICJUYW5kYSBrb21wYXRpYmlsaWFzIERPUyBiZWx1bSBkaXNldFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTU4IGRpc2stdXRpbHMvZmRpc2suYzo1OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3QgZXhpc3QgeWV0ISIKK21zZ3N0ciAiUGFydGlzaSAlZCBiZWx1bSBhZGEhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NjMgZGlzay11dGlscy9mZGlzay5jOjU3MiBsaWJmZGlzay9zcmMvYXNrLmM6OTk1Cittc2dpZCAiVW5rbm93biIKK21zZ3N0ciAiVGlkYWsgZGlrZXRhaHVpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICclcycgdG8gJyVzJy4iCittc2dzdHIgIk1lbmd1YmEgdGlwZSBzaXN0ZW0gcGFydGlzaSBkYXJpICVkIG1lbmphZGkgJXggKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUeXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkOiAlcy4iCittc2dzdHIgIlRpcGUgc2lzdGVtIGRhcmkgcGFyaXNpICVkIHRpZGFrIGJlcnViYWg6ICV4ICglcylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJTE1czogJXMiCittc2dzdHIgImRpc2s6ICUuKnNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXM6IG9mZnNldCA9ICU8UFJJdTY0Piwgc2l6ZSA9ICV6dSBieXRlcy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY3NworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2VlayIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVsYWt1a2FuIGZvcmsiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2ODIKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW1iYWNhICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Njk1IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTkgbGliZmRpc2svc3JjL2Rvcy5jOjkzMworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMTAKKyMsIGZ1enp5Cittc2dpZCAiRmlyc3Qgc2VjdG9yIgorbXNnc3RyICJQZXJ0YW1hICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcyIKK21zZ3N0ciAiQkxLR0VUU0laRSBpb2N0bCBnYWdhbCBkaSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRpc2s+ICAgICAgY2hhbmdlIHBhcnRpdGlvbiB0YWJsZVxuIgorIiAlMSRzIFtvcHRpb25zXSAtbCBbPGRpc2s+XSBsaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MzkKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLXNlY3Rvci1zaXplIDxzaXplPiAgICAgIHBoeXNpY2FsIGFuZCBsb2dpY2FsIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDAKK21zZ2lkICIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAgZG9uJ3QgZXJhc2UgYm9vdGJpdHMgd2hlbiBjcmVhdGluZyBhIG5ldyBsYWJlbFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDEKK21zZ2lkICIgLWMsIC0tY29tcGF0aWJpbGl0eVs9PG1vZGU+XSAgbW9kZSBpcyAnZG9zJyBvciAnbm9uZG9zJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQyCisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDUKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgcGFydGl0aW9ucyBhbmQgZXhpdFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ2CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgICAgICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9b3B0c3RyaW5nICAgICAgUGlsaWhhbiBwZW5kZWsgeWFuZyBkaWtlbmFsXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDcKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgICAgICAgICAgIHJlY29nbml6ZSBzcGVjaWZpZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUgb25seVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0OAorbXNnaWQgIiAtdSwgLS11bml0c1s9PHVuaXQ+XSAgICAgICAgICBkaXNwbGF5IHVuaXRzOiAnY3lsaW5kZXJzJyBvciAnc2VjdG9ycycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0OQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgZGlzcGxheSBkZXZpY2Ugc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzIFtERVBSRUNBVEVEXVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzUwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzUxCisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTIgZGlzay11dGlscy9zZmRpc2suYzoxODUzCisjLCBmdXp6eQorbXNnaWQgIiAtVywgLS13aXBlLXBhcnRpdGlvbnMgPG1vZGU+ICB3aXBlIHNpZ25hdHVyZXMgZnJvbSBuZXcgcGFydGl0aW9ucyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1NQorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorbXNnc3RyICJNYXN1a2thbiBqdW1sYWggZGFyaSBjeWxpbmRlcjogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU2CisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgaGVhZHNcbiIKK21zZ3N0ciAiICAgIC1IIyBbYXRhdSAtLWhlYWRzICNdOiAgc2V0IGp1bWxhaCBkYXJpIGhlYWRzIHlhbmcgZGlndW5ha2FuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU3CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKK21zZ3N0ciAiTWFzdWtrYW4ganVtbGFoIHNla3RvciBwZXIgdHJhY2s6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNlY3RvciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJwaWxpaGFuIHRpZGFrIHZhbGlkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODQwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY3lsaW5kZXJzIGFyZ3VtZW50IgorbXNnc3RyICJwaWxpaGFuIHRpZGFrIHZhbGlkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODUyCisjLCBmdXp6eQorbXNnaWQgIm5vdCBmb3VuZCBET1MgbGFiZWwgZHJpdmVyIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5lbXVrYW4gcGVyYW5na2F0ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbXBhdGliaWxpdHkgbW9kZSAnJXMnIgorbXNnc3RyICJCdWthbiBkaXJla3RvcmkgJXMhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NjcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBoZWFkcyBhcmd1bWVudCIKK21zZ3N0ciAicGlsaWhhbiB0aWRhayB2YWxpZCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg3MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNlY3RvcnMgYXJndW1lbnQiCittc2dzdHIgInBpbGloYW4gdGlkYWsgdmFsaWQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2tsYWJlbDogJXMiCittc2dzdHIgIiVzOiBhcmd1bWVudCB0aWRhayBkaWtldGFodWk6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MTYgZGlzay11dGlscy9mZGlzay5jOjkyMSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0NgorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB3aXBlIG1vZGUiCittc2dzdHIgInRpZGFrIGFkYSBwZXJpbnRhaD9cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkzNAorIywgZnV6enkKK21zZ2lkICJUaGUgZGV2aWNlIHByb3BlcnRpZXMgKHNlY3RvciBzaXplIGFuZCBnZW9tZXRyeSkgc2hvdWxkIGJlIHVzZWQgd2l0aCBvbmUgc3BlY2lmaWVkIGRldmljZSBvbmx5LiIKK21zZ3N0ciAiUGVyaW5nYXRhbjogcGlsaWhhbiAtYiAoc2V0IHVrdXJhbiBzZWt0b3IpIHNlaGFydXNueWEgZGlndW5ha2FuIGRlbmdhbiBzYWxhaCBzYXR1cGVyYW5na2F0IHlhbmcgZGlndW5ha2FuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VsY29tZSB0byBmZGlzayAoJXMpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4OAorIywgZnV6enkKK21zZ2lkICIiCisiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorIkJlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLlxuIgorbXNnc3RyICIiCisiTWVtYnVhdCBzZWJ1YWggZGlza2xhYmVsIHN1biBiYXJ1LiBQZXJ1YmFoYW4gYWthbiB0ZXRhcCBiZXJhZGEgZGkgbWVtb3JpLFxuIgorInNhbXBhaSBhbmRhIG1lbXV0dXNrYW4gdW50dWsgbWVudWxpcyBwZXJ1YmFoYW4gdGVyc2VidXQuIFNlc3VkYWggaXR1LCB0ZW50dVxuIgorIiwgaXNpIHNlYmVsdW1ueWEgdGlkYWsgZGFwYXQgZGkga2VtYmFsaWthbi5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMDEgZGlzay11dGlscy9zZmRpc2suYzoxNjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAlcyBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxMCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NDIgZGlzay11dGlscy9zZmRpc2suYzoxNDg0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjIKK21zZ2lkICJUaGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDEzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyNQorbXNnaWQgIkl0IGlzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSwgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMjIKK21zZ2lkICJBIGh5YnJpZCBHUFQgd2FzIGRldGVjdGVkLiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBoeWJyaWQgTUJSIG1hbnVhbGx5IChleHBlcnQgY29tbWFuZCAnTScpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzayAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIiIKKyJcbiIKKyJEaXNrICVzOiAlbHUgY3lsaW5kZXJzLCAlbHUgaGVhZHMsICVsdSBzZWN0b3JzL3RyYWNrXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycy90cmFjaywgJWxsdSBjeWxpbmRlcnMiCittc2dzdHIgIiVkIGhlYWRzLCAlbGx1IHNla3Rvci90cmFjaywgJWQgY3lsaW5kZXJzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo1OSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVuaXRzOiAlcyBvZiAlZCAqICVsZCA9ICVsZCBieXRlcyIKK21zZ3N0ciAiVW5pdHMgPSAlcyBkYXJpICVkICogJWQgPSAlZCBieXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2NSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorbXNnc3RyICJVa3VyYW4gc2VrdG9yIChsb2dpa2FsL2Zpc2lrYWwpOiAldSBieXRlcyAvICVsdSBieXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiVWt1cmFuIEkvTyAobWluaW1hbC9vcHRpbWFsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJBbGlnbm1lbnQgb2Zmc2V0OiAlbHUgYnl0ZXMiCittc2dzdHIgIlBlbnllc3VhaWFuIG9mc2V0OiAlbHUgYnl0ZXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB0eXBlOiAlcyIKK21zZ3N0ciAiRGlzayBEcml2ZTogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIklkZW50aWZpa2FzaSBkaXNrOiAweCUwOHhcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTA5IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxOQorIzogZGlzay11dGlscy9mc2NrLmM6MTI0NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCittc2dzdHIgImdhZ2FsIG1lbmdhbG9rYXNpa2FuIG91dGJ1ZmZlciIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTE1IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJnYWdhbCBtZW5naW5pc2lhbGlzYXNpIGJhcmlzIHBlbnlhbmdnYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxNTYgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjQ5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgbGluZSIKK21zZ3N0ciAiZ2FnYWwgbWVuZ2luaXNpYWxpc2FzaSBiYXJpcyBwZW55YW5nZ2FcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4iCittc2dzdHIgIlBhcnRpc2kgJWkgdGlkYWsgYmVyYXdhbCBkaSBwZXJiYXRhc2FuIHNla3RvciBmaXNpay5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTkyCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4iCittc2dzdHIgIiIKKyJcbiIKKyJNYXN1a2FuIHRhYmVsIHBhcnRpc2kgdGlkYWsgZGFsYW0gdXJ1dGFuIGRpc2tcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE1IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAwCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxMiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NCBsaWJmZGlzay9zcmMvc3VuLmM6MTExMAorIywgZnV6enkKK21zZ2lkICJTdGFydCIKK21zZ3N0ciAiYXdhbCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE2IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAxCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxMyBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NSBsaWJmZGlzay9zcmMvc3VuLmM6MTExMQorbXNnaWQgIkVuZCIKK21zZ3N0ciAiQWtoaXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNyBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMgorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTQgbGliZmRpc2svc3JjL3NnaS5jOjExNTYgbGliZmRpc2svc3JjL3N1bi5jOjExMTIKK21zZ2lkICJTZWN0b3JzIgorbXNnc3RyICJTZWt0b3IiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOSBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNAorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTUgbGliZmRpc2svc3JjL3NnaS5jOjExNTggbGliZmRpc2svc3JjL3N1bi5jOjExMTQKK21zZ2lkICJTaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5wYXJ0aXRpb25lZCBzcGFjZSAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIiIKKyJcbiIKKyJEaXNrICVzOiAlbHUgY3lsaW5kZXJzLCAlbHUgaGVhZHMsICVsdSBzZWN0b3JzL3RyYWNrXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLW8pOlxuIgorbXNnc3RyICJQZXJpbnRhaCB5YW5nIHRlcnNlZGlhOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAiJXM6IFBlcmludGFoIHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTUKK21zZ2lkICJHZW5lcmljIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk2CisjLCBmdXp6eQorbXNnaWQgImRlbGV0ZSBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgZCAgIGhhcHVzIHNlYnVhaCBwYXJ0aXNpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NworIywgZnV6enkKK21zZ2lkICJsaXN0IGZyZWUgdW5wYXJ0aXRpb25lZCBzcGFjZSIKK21zZ3N0ciAiICAgZSAgIGxpc3QgcGFydGlzaSBleHRlbmRlZCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTgKKyMsIGZ1enp5Cittc2dpZCAibGlzdCBrbm93biBwYXJ0aXRpb24gdHlwZXMiCittc2dzdHIgIiAgIGwgICBsaXN0IHRpcGUgcGFydGlzaSB5YW5nIGRpa2V0YWh1aSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiYWRkIGEgbmV3IHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgbiAgIHRhbWJhaGthbiBzZWJ1YWggcGFydGlzaSBiYXJ1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiSGFueWEgY2V0YWsgdGFiZWwgcGFydGlzaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAxCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBhIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgICB0ICAgdWJhaCBpZCBkYXJpIHBhcnRpc2kgc3lzdGVtIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAidmVyaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIHYgICB2ZXJpZmlrYXNpIHRhYmVsIHBhcnRpc2kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMworIywgZnV6enkKK21zZ2lkICJwcmludCBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiJXM6IGJ1a2FuIHNlYnVhaCBibG9jayBkZXZpY2VcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1CisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAiICAgZCAgIGNldGFrIGRhdGEgbWVudGFoIChyYXcpIGRpIHRhYmVsIHBhcnRpc2kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNgorIywgZnV6enkKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGRpc2tsYWJlbCBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgIiAgIGQgICBjZXRhayBkYXRhIG1lbnRhaCAocmF3KSBkaSB0YWJlbCBwYXJ0aXNpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAiZml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIiAgIGYgICBiZXR1bGthbiB1cnV0YW4gZGFyaSBwYXJ0aXNpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDkKK21zZ2lkICJNaXNjIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMAorIywgZnV6enkKK21zZ2lkICJwcmludCB0aGlzIG1lbnUiCittc2dzdHIgIiAgIG0gICBjZXRhayBtZW51IGluaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTExCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXNwbGF5L2VudHJ5IHVuaXRzIgorbXNnc3RyICIgICB1ICAgdWJhaCBzYXR1YW4gZGFyaSB0YW1waWxhbi9tYXN1a2FuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTIKKyMsIGZ1enp5Cittc2dpZCAiZXh0cmEgZnVuY3Rpb25hbGl0eSAoZXhwZXJ0cyBvbmx5KSIKK21zZ3N0ciAiICAgeCAgIGZ1bmdzaSB0YW1iYWhhbiAoZXhwZXJ0IG9ubHkpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTQKK21zZ2lkICJTY3JpcHQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE1Cittc2dpZCAibG9hZCBkaXNrIGxheW91dCBmcm9tIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTYKK21zZ2lkICJkdW1wIGRpc2sgbGF5b3V0IHRvIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTgKK21zZ2lkICJTYXZlICYgRXhpdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTkKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdCIKK21zZ3N0ciAiICAgdyAgIHR1bGlzIHRhYmVsIGtlIGRpc2sgZGFuIGtlbHVhciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIwCisjLCBmdXp6eQorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2siCittc2dzdHIgIiAgIHcgICB0dWxpcyBkaXNrbGFiZWwgZGkgZGlzayIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIxCisjLCBmdXp6eQorbXNnaWQgInF1aXQgd2l0aG91dCBzYXZpbmcgY2hhbmdlcyIKK21zZ3N0ciAiICAgcSAgIGtlbHVhciB0YW5wYSBtZW55aW1wYW4gcGVydWJhaGFuIHlhbmcgdGVsYWggZGlsYWt1a2FuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAicmV0dXJuIHRvIG1haW4gbWVudSIKK21zZ3N0ciAiICAgciAgIGtlbWJhbGkga2UgbWVudSB1dGFtYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTI0Cittc2dpZCAicmV0dXJuIGZyb20gQlNEIHRvIERPUyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzUKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlIGEgbmV3IGxhYmVsIgorbXNnc3RyICIgICBzICAgYnVhdCBzZWJ1YWggZGlza2xhYmVsIFN1biB5YW5nIGtvc29uZyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM2CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBHUFQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgICBvICAgYnVhdCBzZWJ1YWggdGFiZWwgcGFydGlzaSBET1MgYmFydSB5YW5nIGtvc29uZyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTR0kgKElSSVgpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgbyAgIGJ1YXQgc2VidWFoIHRhYmVsIHBhcnRpc2kgRE9TIGJhcnUgeWFuZyBrb3NvbmciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOAorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgbyAgIGJ1YXQgc2VidWFoIHRhYmVsIHBhcnRpc2kgRE9TIGJhcnUgeWFuZyBrb3NvbmciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOQorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU3VuIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgbyAgIGJ1YXQgc2VidWFoIHRhYmVsIHBhcnRpc2kgRE9TIGJhcnUgeWFuZyBrb3NvbmciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0MworIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYW4gSVJJWCAoU0dJKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIGcgICBidWF0IHNlYnVhaCBJUklYIChTR0kpIHRhYmVsIHBhcnRpc2kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1MgorbXNnaWQgIkdlb21ldHJ5IgorbXNnc3RyICJHZW9tZXRyaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTUzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICIgICBjICAgdWJhaCBub21vciBkYXJpIGN5bGluZGVycyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU0CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgaGVhZHMiCittc2dzdHIgIiAgIGggICB1YmFoIGp1bWxhaCBkYXJpIGhlYWRzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTUKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrIgorbXNnc3RyICIgICBzICAgdWJhaCBqdW1sYWggc2VrdG9yL3RyYWNrIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjQgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTUKK21zZ2lkICJHUFQiCittc2dzdHIgIkdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY1CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXNrIEdVSUQiCittc2dzdHIgImJlcnViYWgiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NgorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIk5vbW9yIHBhcnRpc2kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXNpOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjgKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHRhYmxlIGxlbmd0aCIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjkKK21zZ2lkICJlbnRlciBwcm90ZWN0aXZlL2h5YnJpZCBNQlIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTcyCisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgbGVnYWN5IEJJT1MgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiICAgYSAgIHViYWggdGFuZGEgYm9vdGFibGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MworIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIG5vIGJsb2NrIElPIHByb3RvY29sIGZsYWciCittc2dzdHIgIiAgIGMgICB1YmFoIHRhbmRhIGtvbXBhdGliaWxpdGFzIGRvcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc0CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgcmVxdWlyZWQgcGFydGl0aW9uIGZsYWciCittc2dzdHIgIiAgIGEgICB1YmFoIHRhbmRhIHJlYWQgb25seSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc1Cittc2dpZCAidG9nZ2xlIHRoZSBHVUlEIHNwZWNpZmljIGJpdHMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg1Cittc2dpZCAiU3VuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NgorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIHJlYWQtb25seSBmbGFnIgorbXNnc3RyICIgICBhICAgdWJhaCB0YW5kYSByZWFkIG9ubHkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NworIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIG1vdW50YWJsZSBmbGFnIgorbXNnc3RyICIgICBjICAgdWJhaCB0YW5kYSBkYXBhdCBkaSBtb3VudCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg5CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiICAgYSAgIHViYWggbm9tb3IgZGFyaSBhbHRlcm5hdGlmIGN5bGluZGVycyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkwCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgZXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgIiAgIGUgICB1YmFoIGp1bWxhaCBzZWt0b3IgbGViaWggZGFyaSBzZXRpYXAgY3lsaW5kZXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgaW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIiAgIGkgICB1YmFoIGZha3RvciBpbnRlcmxlYXZlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTIKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICIgICBvICAgdWJhaCBrZWNlcGF0YW4gcm90YXNpIChycG0pIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIiAgIHkgICB1YmFoIGp1bWxhaCBkYXJpIHBoeXNpY2FsIGN5bGluZGVycyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjAyCisjLCBmdXp6eQorbXNnaWQgIlNHSSIKK21zZ3N0ciAiU0dJIHJhdyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjAzCisjLCBmdXp6eQorbXNnaWQgInNlbGVjdCBib290YWJsZSBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGEgICBwaWxpaCBwYXJ0aXNpIHlhbmcgYm9vdGFibGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNAorIywgZnV6enkKK21zZ2lkICJlZGl0IGJvb3RmaWxlIGVudHJ5IgorbXNnc3RyICIgICBiICAgZWRpdCBtYXN1a2FuIGJvb3RmaWxlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDUKKyMsIGZ1enp5Cittc2dpZCAic2VsZWN0IHNnaSBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgYyAgIHBpbGloIHBhcnRpc2kgc3dhcCBzZ2kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNgorbXNnaWQgImNyZWF0ZSBTR0kgaW5mbyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTUKKyMsIGZ1enp5Cittc2dpZCAiRE9TIChNQlIpIgorbXNnc3RyICJET1MgUi9PIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTYKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIGEgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiICAgYSAgIHViYWggdGFuZGEgYm9vdGFibGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNworIywgZnV6enkKK21zZ2lkICJlZGl0IG5lc3RlZCBCU0QgZGlza2xhYmVsIgorbXNnc3RyICIgICBiICAgZWRpdCBic2QgZGlza2xhYmVsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTgKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSBkb3MgY29tcGF0aWJpbGl0eSBmbGFnIgorbXNnc3RyICIgICBjICAgdWJhaCB0YW5kYSBrb21wYXRpYmlsaXRhcyBkb3MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMAorIywgZnV6enkKK21zZ2lkICJtb3ZlIGJlZ2lubmluZyBvZiBkYXRhIGluIGEgcGFydGl0aW9uIgorbXNnc3RyICIgICBiICAgcGluZGFoa2FuIGF3YWwgZGFyaSBkYXRhIGRhbGFtIHNlYnVhaCBwYXJ0aXNpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjEKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHRoZSBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIiAgIGkgICB1YmFoIGlkZW50aWZpa2FzaSBkaXNrIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjMKK21zZ2lkICJyZXR1cm4gZnJvbSBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgdG8gR1BUIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzMworIywgZnV6enkKK21zZ2lkICJCU0QiCittc2dzdHIgIkJTRC9PUyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM0CisjLCBmdXp6eQorbXNnaWQgImVkaXQgZHJpdmUgZGF0YSIKK21zZ3N0ciAiICAgZSAgIGVkaXQgZGF0YSBkcml2ZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM1CisjLCBmdXp6eQorbXNnaWQgImluc3RhbGwgYm9vdHN0cmFwIgorbXNnc3RyICIgICBpICAgaW5zdGFsbCBib290c3RyYXAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNgorIywgZnV6enkKK21zZ2lkICJzaG93IGNvbXBsZXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAiICAgcyAgIHRhbXBpbGthbiBkaXNrbGFiZWwgc2VjYXJhIGxlbmdrYXAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNworIywgZnV6enkKK21zZ2lkICJsaW5rIEJTRCBwYXJ0aXRpb24gdG8gbm9uLUJTRCBwYXJ0aXRpb24iCittc2dzdHIgIiAgIHggICBzYW1idW5nIEJTRCBwYXJ0aXNpIGtlIG5vbi1CU0QgcGFydGlzaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwIChleHBlcnQgY29tbWFuZHMpOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM3MSBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwOlxuIgorbXNnc3RyICJCYW50dWFuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91J3JlIGVkaXRpbmcgbmVzdGVkICclcycgcGFydGl0aW9uIHRhYmxlLCBwcmltYXJ5IHBhcnRpdGlvbiB0YWJsZSBpcyAnJXMnLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjEKK21zZ2lkICJFeHBlcnQgY29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAiUGVyaW50YWggZXhwZXJ0IChtIHVudHVrIGJhbnR1YW4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMworbXNnaWQgIkNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIlBlcmludGFoIChtIHVudHVrIGJhbnR1YW4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWM6IHVua25vd24gY29tbWFuZCIKK21zZ3N0ciAiJWM6IHBlcmludGFoIHRpZGFrIGRpa2V0YWh1aVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NTggZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg1CisjLCBmdXp6eQorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWUiCittc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW51bGlzIGJlcmthcyBzY3JpcHQsIGVycm9yOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NzEKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IGFwcGxpZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ5NworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNmb3JtIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0IgorbXNnc3RyICJnYWdhbCBtZW5nYWxva2FzaWthbiBvdXRidWZmZXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxMQorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgc2F2ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzNCBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiUGVyaW5nYXRhbjogcGFydGlzaSAlZCBiZXJpc2kgc2VrdG9yIDBcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTM3IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ3OQorIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlIHNpZ25hdHVyZT8iCittc2dzdHIgIkFuZGEgaW5naW4gbWVudWxpcyBpbmkga2UgZGlzaz8gW3lucV0gIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAic2VlayBnYWdhbCBkYWxhbSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYxMworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gZml4IHBhcnRpdGlvbnMgb3JkZXIuIgorbXNnc3RyICIgICBmICAgYmV0dWxrYW4gdXJ1dGFuIGRhcmkgcGFydGlzaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjE1CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbnMgb3JkZXIgZml4ZWQuIgorbXNnc3RyICJUaWRhayBhZGEgcGFydGlzaSB5YW5nIGRpZGVmaW5pc2lrYW5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIlBhcnRpc2kgeWFuZyB0ZXJwaWxpaCAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjAKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBjeWxpbmRlcnMgKERFUFJFQ0FURUQhKS4iCittc2dzdHIgIk1lbmd1YmFoIHNhdHVhbiB0YW1waWxhbi9tYXN1a2FuIG1lbmphZGkgJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjYyCisjLCBmdXp6eQorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gc2VjdG9ycy4iCittc2dzdHIgIk1lbmd1YmFoIHNhdHVhbiB0YW1waWxhbi9tYXN1a2FuIG1lbmphZGkgJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjcyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjg0MgorIywgZnV6enkKK21zZ2lkICJMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuIgorbXNnc3RyICIgICBiICAgZWRpdCBic2QgZGlza2xhYmVsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MDkKK21zZ2lkICJOZXcgbWF4aW11bSBlbnRyaWVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjcxOQorIywgZnV6enkKK21zZ2lkICJFbnRlcmluZyBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgZGlza2xhYmVsLiIKK21zZ3N0ciAiICAgYiAgIGVkaXQgYnNkIGRpc2tsYWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzM1Cittc2dpZCAiTmV3IFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NTAKKyMsIGZ1enp5Cittc2dpZCAiTmV3IG5hbWUiCittc2dzdHIgIlVzZXJuYW1lIChwZW5nZ3VuYSkgdGlkYWsgbGVnYWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjgxMworIywgZnV6enkKK21zZ2lkICJFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIiAgIGIgICBlZGl0IGJzZCBkaXNrbGFiZWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5OAorbXNnaWQgIk51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgIkp1bWxhaCBkYXJpIGN5bGluZGVycyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAwMgorbXNnaWQgIk51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAiSnVtbGFoIGRhcmkgaGVhZHMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMDYKK21zZ2lkICJOdW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAiSnVtbGFoIGRhcmkgc2VrdG9yIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgdGVsYWggZGkgbW91bnQuXHQgIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudGVkXG4iCittc2dzdHIgImZzY2s6ICVzOiB0aWRhayBkaXRlbXVrYW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMxIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzQKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1MyBkaXNrLXV0aWxzL3NmZGlzay5jOjI5NyBsaWJmZGlzay9zcmMvYnNkLmM6NjQ2CisjOiBsaWIvcGF0aC5jOjExMCBsaWIvcGF0aC5jOjEzMSBsaWIvcGF0aC5jOjE1MiBsaWIvcGF0aC5jOjIwMAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIxMyBsb2dpbi11dGlscy9sYXN0LmM6MjUwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo2NjQKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjM5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjcxNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkICVzIgorbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVtYmFjYSAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMzIGxpYi9wYXRoLmM6MTMzIGxpYi9wYXRoLmM6MTU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJwYXJzZSBlcnJvcjogJXMiCittc2dzdHIgImVycm9yIG1lbmdhbWJpbFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJuYW1laTogdGlkYWsgZGFwYXQgbWVtcGVyb2xlaCBkaXJla3Rvcmkgc2FhdCBpbmkgLSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxvY2tpbmcgZGlzayBieSAlcyAuLi4gIgorbXNnc3RyICJTaW5rcm9uaXNhc2kgZGlza3MuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICIod2FpdGluZykgIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGVzZSBhcmUgZm9sbG93dXBzIHRvICJMb2NraW5nIGRpc2suLi4iLgorIzogZGlzay11dGlscy9mc2NrLmM6Mzk0CisjLCBmdXp6eQorbXNnaWQgInN1Y2NlZWRlZCIKK21zZ3N0ciAiJXMgc3Vrc2VzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIgorbXNnc3RyICIlcyBnYWdhbC5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbmxvY2tpbmcgJXMuXG4iCittc2dzdHIgIk1lbmdndW5ha2FuICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXR1cCBkZXNjcmlwdGlvbiBmb3IgJXMiCittc2dzdHIgImdhZ2FsIG1lbWJhY2EgdHlwZXNjcmlwdCBiZXJrYXMgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ3NCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3ODIgbWlzYy11dGlscy9sc2Jsay5jOjQzMworIzogc3lzLXV0aWxzL21vdW50LmM6MTAyIHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6MTkgc3lzLXV0aWxzL3Vtb3VudC5jOjQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCAtLSBpZ25vcmVkIgorbXNnc3RyICJlcnJvciBtZW5nYW1iaWxcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6NTA2IGRpc2stdXRpbHMvZnNjay5jOjUwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSBmc3RhYiIKK21zZ3N0ciAiJXM6IGdhZ2FsIHVudHVrIG1lbWJ1a2E6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY3OSBsb2dpbi11dGlscy9sb2dpbi5jOjk2OCBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAzNAorIzogbG9naW4tdXRpbHMvdmlwdy5jOjIwNCBzeXMtdXRpbHMvZmxvY2suYzozNDUgc3lzLXV0aWxzL25zZW50ZXIuYzoxNTMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTYgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTkgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MjAKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzgwCittc2dpZCAiZm9yayBmYWlsZWQiCittc2dzdHIgImdhZ2FsIGZvcmsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGUgZmFpbGVkIgorbXNnc3RyICIlczogZ2FnYWwgbWVudWxpcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzc0CisjLCBmdXp6eQorbXNnaWQgIndhaXQ6IG5vIG1vcmUgY2hpbGQgcHJvY2Vzcz8hPyIKK21zZ3N0ciAiJXM6IHR1bmdndTogVGlkYSBhZGEgcHJvc2VzIGFuYWsgbGFnaT8hP1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3Nzcgc3lzLXV0aWxzL2Zsb2NrLmM6MzYzIHN5cy11dGlscy9zd2Fwb24uYzozNDgKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDA0IHN5cy11dGlscy91bnNoYXJlLmM6NDI1Cittc2dpZCAid2FpdHBpZCBmYWlsZWQiCittc2dzdHIgIndhaXRwaWQgZ2FnYWwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZy4uLiAlcyBmb3IgZGV2aWNlICVzIGV4aXRlZCB3aXRoIHNpZ25hbCAlZC4iCittc2dzdHIgIlBlcmluZ2F0YW4uLi4gJXMgdW50dWsgcGVyYW5na2F0ICVzIGtlbHVhciBkZW5nYW4gc2lueWFsICVkLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICVzOiBzdGF0dXMgaXMgJXgsIHNob3VsZCBuZXZlciBoYXBwZW4uIgorbXNnc3RyICIlcyAlczogc3RhdHVzIGFkYWxhaCAleCwgc2VoYXJ1c255YSB0aWRhayBwZXJuYWggdGVyamFkaS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmlzaGVkIHdpdGggJXMgKGV4aXQgc3RhdHVzICVkKVxuIgorbXNnc3RyICJTZWxlc2FpIGRlbmdhbiAlcyAoc3RhdHVzIGtlbHVhciAlZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6OTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvciAlZCAoJW0pIHdoaWxlIGV4ZWN1dGluZyBmc2NrLiVzIGZvciAlcyIKK21zZ3N0ciAiJXM6IEVycm9yICVkIGtldGlrYSBtZW5qYWxhbmthbiBmc2NrLiVzIHVudHVrICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjk5MQorIywgZnV6enkKK21zZ2lkICIiCisiRWl0aGVyIGFsbCBvciBub25lIG9mIHRoZSBmaWxlc3lzdGVtIHR5cGVzIHBhc3NlZCB0byAtdCBtdXN0IGJlIHByZWZpeGVkXG4iCisid2l0aCAnbm8nIG9yICchJy4iCittc2dzdHIgIiIKKyJCYWlrIHNlbHVydWggYXRhdSBrb3NvbmcgZGFyaSB0aXBlIHNpc3RlbSBiZXJrYXMgZGlsZXdhdGthbiBrZSAtdCBoYXJ1c1xuIgorImRpYXdhbGkgZGVuZ2FuICdubycgYXRhdSAnIScuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBiYWQgbGluZSBpbiAvZXRjL2ZzdGFiOiBiaW5kIG1vdW50IHdpdGggbm9uemVybyBmc2NrIHBhc3MgbnVtYmVyIgorbXNnc3RyICIlczogbWVsZXdhdGthbiBiYXJpcyBidXJ1ayBkYWxhbSAvZXRjL2ZzdGFiOiBqYWxhbmthbiBtb3VudCBkZW5nYW4gdGFoYXAgYnVrYW4gbm9sIGRpIGZzY2tcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTExOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgbm9uZXhpc3RlbnQgZGV2aWNlXG4iCittc2dzdHIgIiVzOiBtZWxld2F0a2FuIHBlcmFuZ2thdCB5YW5nIHRpZGFrIGFkYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub25leGlzdGVudCBkZXZpY2UgKFwibm9mYWlsXCIgZnN0YWIgb3B0aW9uIG1heSBiZSB1c2VkIHRvIHNraXAgdGhpcyBkZXZpY2UpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIHVua25vd24gZmlsZXN5c3RlbSB0eXBlXG4iCittc2dzdHIgIm1vdW50OiB0aXBlIGZpbGVzeXN0ZW0gdGlkYWsgZGlrZXRhaHVpICclcyciCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGVjayAlczogZnNjay4lcyBub3QgZm91bmQiCittc2dzdHIgImZzY2s6IHRpZGFrIGRhcGF0IG1lbWVyaWtzYSAlczogZnNjay4lcyB0aWRhayBkaXRlbXVrYW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTI1OQorbXNnaWQgIkNoZWNraW5nIGFsbCBmaWxlIHN5c3RlbXMuXG4iCittc2dzdHIgIk1lbWVyaWtzYSBzZWx1cnVoIHNpc3RlbSBiZXJrYXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS13YWl0aW5nLS0gKHBhc3MgJWQpXG4iCittc2dzdHIgIi0tbWVudW5nZ3UtLSAodGFoYXAgJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLS0gW2ZzLW9wdGlvbnNdIFs8ZmlsZXN5c3RlbT4gLi4uXVxuIgorbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gcGVyYW5na2F0IC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzc5CisjLCBmdXp6eQorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJNZW1lcmlrc2Egc2VsdXJ1aCBzaXN0ZW0gYmVya2FzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzgyCisjLCBmdXp6eQorbXNnaWQgIiAtQSAgICAgICAgIGNoZWNrIGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICJNZW1lcmlrc2Egc2VsdXJ1aCBzaXN0ZW0gYmVya2FzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzgzCittc2dpZCAiIC1DIFs8ZmQ+XSAgZGlzcGxheSBwcm9ncmVzcyBiYXI7IGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODQKK21zZ2lkICIgLWwgICAgICAgICBsb2NrIHRoZSBkZXZpY2UgdG8gZ3VhcmFudGVlIGV4Y2x1c2l2ZSBhY2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg1CisjLCBmdXp6eQorbXNnaWQgIiAtTSAgICAgICAgIGRvIG5vdCBjaGVjayBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBVYmFoIHRpcGUgZmlsZXN5c3RlbSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NgorbXNnaWQgIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NworbXNnaWQgIiAtUCAgICAgICAgIGNoZWNrIGZpbGVzeXN0ZW1zIGluIHBhcmFsbGVsLCBpbmNsdWRpbmcgcm9vdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODgKK21zZ2lkICIgLVIgICAgICAgICBza2lwIHJvb3QgZmlsZXN5c3RlbTsgdXNlZnVsIG9ubHkgd2l0aCAnLUEnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4OQorIywgZnV6enkKK21zZ2lkICIiCisiIC1yIFs8ZmQ+XSAgcmVwb3J0IHN0YXRpc3RpY3MgZm9yIGVhY2ggZGV2aWNlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiAgICAtbCBbYXRhdSAtLWxpc3RdOiAgICB0YW1waWxrYW4gcGFydGlzaSBkaSBzZXRpYXAgcGVyYW5na2F0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkxCisjLCBmdXp6eQorbXNnaWQgIiAtcyAgICAgICAgIHNlcmlhbGl6ZSB0aGUgY2hlY2tpbmcgb3BlcmF0aW9uc1xuIgorbXNnc3RyICIgIGQgICAgICAgICAgSGFwdXMgcGFydGlzaSB0ZXJwaWxpaCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MgorIywgZnV6enkKK21zZ2lkICIgLVQgICAgICAgICBkbyBub3Qgc2hvdyB0aGUgdGl0bGUgb24gc3RhcnR1cFxuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgdGlkYWsgbWVudWxpcyBzZWJlbmFybnlhIGtlIGRpc2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTMKK21zZ2lkICIiCisiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgPHR5cGU+IGlzIGFsbG93ZWQgdG8gYmUgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTUKKyMsIGZ1enp5Cittc2dpZCAiIC1WICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NgorIywgZnV6enkKK21zZ2lkICIgLT8gICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk5Cittc2dpZCAiU2VlIHRoZSBzcGVjaWZpYyBmc2NrLiogY29tbWFuZHMgZm9yIGF2YWlsYWJsZSBmcy1vcHRpb25zLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDM4CisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IGRldmljZXMiCittc2dzdHIgIiVzOiB0ZXJsYWx1IGJhbnlhayBwZXJhbmdrYXRcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ1MAorIywgZnV6enkKK21zZ2lkICJJcyAvcHJvYyBtb3VudGVkPyIKK21zZ3N0ciAiQXBha2FoIC9wcm9jIHRlbGFoIHRlcnBhc2FuZz9cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSByb290IHRvIHNjYW4gZm9yIG1hdGNoaW5nIGZpbGVzeXN0ZW1zOiAlcyIKK21zZ3N0ciAiSGFydXMgcm9vdCB1bnR1ayBkYXBhdCBtZW1pbmRhaSB1bnR1ayBtZW5jb2Nva2FuIHNpc3RlbSBiZXJrYXM6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGZpbmQgbWF0Y2hpbmcgZmlsZXN5c3RlbTogJXMiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmVtdWthbiBzaXN0ZW0gYmVya2FzIHlhbmcgY29jb2s6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NzAgZGlzay11dGlscy9mc2NrLmM6MTU2NSBtaXNjLXV0aWxzL2tpbGwuYzozNjMKKyM6IHN5cy11dGlscy9lamVjdC5jOjI3OQorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCittc2dzdHIgIiVzOiB0ZXJsYWx1IGJhbnlhayBhcmd1bWVuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1MjUgZGlzay11dGlscy9mc2NrLmM6MTUyOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yIgorbXNnc3RyICJpZCB0aWRhayB2YWxpZDogJXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtcjogJWQiCittc2dzdHIgImlkIHRpZGFrIHZhbGlkOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNjE4Cittc2dpZCAidGhlIC1sIG9wdGlvbiBjYW4gYmUgdXNlZCB3aXRoIG9uZSBkZXZpY2Ugb25seSAtLSBpZ25vcmUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT5cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExNgorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBjb21wcmVzc2VkIFJPTSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTkKK21zZ2lkICIgLWEgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIwCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgYmUgbW9yZSB2ZXJib3NlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjEKK21zZ2lkICIgLXkgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIyCittc2dpZCAiIC1iLCAtLWJsb2Nrc2l6ZSA8c2l6ZT4gICB1c2UgdGhpcyBibG9ja3NpemUsIGRlZmF1bHRzIHRvIHBhZ2Ugc2l6ZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjMKK21zZ2lkICIgICAgIC0tZXh0cmFjdFs9PGRpcj5dICAgIHRlc3QgdW5jb21wcmVzc2lvbiwgb3B0aW9uYWxseSBleHRyYWN0IGludG8gPGRpcj5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGZhaWxlZDogdW5hYmxlIHRvIGRldGVybWluZSBkZXZpY2Ugc2l6ZTogJXMiCittc2dzdHIgImlvY3RsIGdhZ2FsOiB0aWRhayBkYXBhdCBtZW5lbnR1a2FuIHVrdXJhbiBwZXJhbmdrYXQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGJsb2NrIGRldmljZSBvciBmaWxlOiAlcyIKK21zZ3N0ciAiYnVrYW4gc2VidWFoIHBlcmFuZ2thdCBibG9rIGF0YXUgYmVya2FzOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3MCBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA2Cittc2dpZCAiZmlsZSBsZW5ndGggdG9vIHNob3J0IgorbXNnc3RyICJwYW5qYW5nIGJlcmthcyB0ZXJsYWx1IHBlbmRlayIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3OSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjMzCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjQ5IGxpYmZkaXNrL3NyYy9ic2QuYzo3MTggbGliZmRpc2svc3JjL2JzZC5jOjg5MAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwOCBsb2dpbi11dGlscy9sYXN0LmM6MjQyIHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlZWsgb24gJXMgZmFpbGVkIgorbXNnc3RyICJnYWdhbCBzZWVrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODcKK21zZ2lkICJzdXBlcmJsb2NrIG1hZ2ljIG5vdCBmb3VuZCIKK21zZ3N0ciAidGFuZGEgc3VwZXIgYmxvayB0aWRhayBkaXRlbXVrYW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3JhbWZzIGVuZGlhbm5lc3MgaXMgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkxCittc2dpZCAiYmlnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTEKK21zZ2lkICJsaXR0bGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5NQorbXNnaWQgInVuc3VwcG9ydGVkIGZpbGVzeXN0ZW0gZmVhdHVyZXMiCittc2dzdHIgIkxheWFuYW4gc2lzdGVtIGJlcmthcyB0aWRhayBkaWR1a3VuZyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXBlcmJsb2NrIHNpemUgKCVkKSB0b28gc21hbGwiCittc2dzdHIgInVrdXJhbiBzdXBlciBibG9rICglZCkgdGVybGFsdSBrZWNpbCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNAorbXNnaWQgInplcm8gZmlsZSBjb3VudCIKK21zZ3N0ciAiYmVya2FzIGJldWt1cmFuIGtvc29uZyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwOAorIywgZnV6enkKK21zZ2lkICJmaWxlIGV4dGVuZHMgcGFzdCBlbmQgb2YgZmlsZXN5c3RlbSIKK21zZ3N0ciAiUGVyaW5nYXRhbjogYmVya2FzIG1lbGV3YXRpIGFraGlyIGRhcmkgc2lzdGVtIGJlcmthc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjEwCisjLCBmdXp6eQorbXNnaWQgIm9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICJwZXJpbmdhdGFuOiBmb3JtYXQgY3JhbWZzIGxhbWFcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxOQorbXNnaWQgInVuYWJsZSB0byB0ZXN0IENSQzogb2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbWVyaWtzYSBDUkM6IGZvcm1hdCBjcmFtZnMgbGFtYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI3MgorbXNnaWQgImNyYyBlcnJvciIKK21zZ3N0ciAiY3JjIGVycm9yIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzAyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU1NAorbXNnaWQgInNlZWsgZmFpbGVkIgorbXNnc3RyICJnYWdhbCBzZWVrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzA2CisjLCBmdXp6eQorbXNnaWQgInJlYWQgcm9tZnMgZmFpbGVkIgorbXNnc3RyICJnYWdhbCBtZW1iYWNhOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMzOAorbXNnaWQgInJvb3QgaW5vZGUgaXMgbm90IGRpcmVjdG9yeSIKK21zZ3N0ciAiYWthciBpbm9kZSBidWthbiBzZWJ1YWggZGlyZWt0b3JpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByb290IG9mZnNldCAoJWx1KSIKK21zZ3N0ciAib2ZzZXQgYWthciBidXJ1ayAoJWx1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2MAorbXNnaWQgImRhdGEgYmxvY2sgdG9vIGxhcmdlIgorbXNnc3RyICJkYXRhIGJsb2sgdGVybGFsdSBiZXNhciIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGVjb21wcmVzc2lvbiBlcnJvcjogJXMiCittc2dzdHIgImRla29tcHJlc2kgZXJyb3IgJXAoJWQpOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICBob2xlIGF0ICVsdSAoJXp1KVxuIgorbXNnc3RyICIgIGx1YmFuZyBkaSAlbGQgKCV6ZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5NyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgIHVuY29tcHJlc3NpbmcgYmxvY2sgYXQgJWx1IHRvICVsdSAoJWx1KVxuIgorbXNnc3RyICIgIG1lbmdla3N0cmFrIGJsb2NrIGRpICVsZCBrZSAlbGQgKCVsZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmxvY2sgKCVsZCkgYnl0ZXMiCittc2dzdHIgIkJ1a2FuIGJsb2NrICglbGQpIGJ5dGVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1zaXplICglbGQgdnMgJWxkKSBieXRlcyIKK21zZ3N0ciAiYnVrYW4gdWt1cmFuICglbGQgdnMgJWxkKSBieXRlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxMyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE2CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwNCBtaXNjLXV0aWxzL3V1aWRkLmM6Mzc1IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODIKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM1IHN5cy11dGlscy9zZXRwcml2LmM6NTU4IHN5cy11dGlscy9zd2Fwb24uYzozODkKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZDogJXMiCittc2dzdHIgImdhZ2FsIG1lbnVsaXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI0CisjLCBjLWZvcm1hdAorbXNnaWQgImxjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJsY2hvd24gZ2FnYWw6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI4CisjLCBjLWZvcm1hdAorbXNnaWQgImNob3duIGZhaWxlZDogJXMiCittc2dzdHIgImNob3duIGdhZ2FsOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQzMworIywgYy1mb3JtYXQKK21zZ2lkICJ1dGltZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJ1dGltZSBnYWdhbDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgImRpcmVrdG9yaSBpbm9kZSBtZW1pbGlraSBvZnNldCBrb3NvbmcgZGFuIHVrdXJhbiB0aWRhayBrb3Nvbmc6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1rZGlyIGZhaWxlZDogJXMiCittc2dzdHIgImdhZ2FsIG1rZGlyOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3NgorbXNnaWQgImZpbGVuYW1lIGxlbmd0aCBpcyB6ZXJvIgorbXNnc3RyICJwYW5qYW5nIG5hbWEgYmVya2FzIG5vbCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3OAorbXNnaWQgImJhZCBmaWxlbmFtZSBsZW5ndGgiCittc2dzdHIgInBhbmphbmcgbmFtYSBiZXJrYXMgYnVydWsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0ODQKK21zZ2lkICJiYWQgaW5vZGUgb2Zmc2V0IgorbXNnc3RyICJvZnNldCBpbm9kZSBidXJ1ayIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ5OQorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplIgorbXNnc3RyICJiZXJrYXMgaW5vZGUgbWVtaWxpa2kgb2ZzZXQgbm9sIGRhbiB1a3VyYW4gYnVrYW4gbm9sIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTAyCittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBzaXplIGFuZCBub24temVybyBvZmZzZXQiCittc2dzdHIgImJlcmthcyBpbm9kZSBtZW1pbGlraSB1a3VyYW4gbm9sIGRhbiBvZnNldCBidWthbiBub2wiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzEKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIG9mZnNldCIKK21zZ3N0ciAibGluayBzaW1ib2xpayBtZW1pbGlraSBvZnNldCBub2wiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzMKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIHNpemUiCittc2dzdHIgImxpbmsgc2ltYm9saWsgbWVtaWxpa2kgdWt1cmFuIG5vbCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU0MgorIywgYy1mb3JtYXQKK21zZ2lkICJzaXplIGVycm9yIGluIHN5bWxpbms6ICVzIgorbXNnc3RyICJrZXNhbGFoYW4gdWt1cmFuIGRhbGFtIHN5bWxpbmsgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3ltbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICJzeW1saW5rIGdhZ2FsOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU2OQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGZpbGUgaGFzIG5vbi16ZXJvIG9mZnNldDogJXMiCittc2dzdHIgImJlcmthcyBzcGVzaWFsIG1lbWlsaWtpIG9mc2V0IGJ1a2FuIG5vbDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlmbyBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgImZpZm8gbWVtaWxpa2kgdWt1cmFuIGJ1a2FuIG5vbDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAic29rZXQgbWVtaWxpa2kgdWt1cmFuIGJ1a2FuIG5vbDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYm9ndXMgbW9kZTogJXMgKCVvKSIKK21zZ3N0ciAibW9kZSBwYWxzdTogJXMgKCVvKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5NworIywgYy1mb3JtYXQKK21zZ2lkICJta25vZCBmYWlsZWQ6ICVzIgorbXNnc3RyICJta25vZCBnYWdhbDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIHN0YXJ0ICglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQgKCV6dSkiCittc2dzdHIgImRpcmVrdG9yaSBkYXRhIGJlcmF3YWwgKCVsZCkgPCBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikgKyBhd2FsICglbGQpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBlbmQgKCVsdSkgIT0gZmlsZSBkYXRhIHN0YXJ0ICglbHUpIgorbXNnc3RyICJha2hpciBkYXRhIGRpcmVrdG9yaSAoJWxkKSAhPSBiZXJrYXMgZGF0YSBzdGFydCAoJWxkKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzNworbXNnaWQgImludmFsaWQgZmlsZSBkYXRhIG9mZnNldCIKK21zZ3N0ciAib2ZzZXQgYmVya2FzIGRhdGEgdGlkYWsgdmFsaWQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2ODQgZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjcyNgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGJsb2Nrc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAidW1vdW50OiAlczogcGVyYW5na2F0IGJsb2NrIHRpZGFrIHZhbGlkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBPS1xuIgorbXNnc3RyICIlczogT0tcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg0CisjLCBmdXp6eQorbXNnaWQgIkNoZWNrIHRoZSBjb25zaXN0ZW5jeSBvZiBhIE1pbml4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIk1lbWVyaWtzYSBzZWx1cnVoIHNpc3RlbSBiZXJrYXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICBsaXN0IGFsbCBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiICBbIC1maWxlIGR1bXBmaWxlbmFtZSBdXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NworbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgIGF1dG9tYXRpYyByZXBhaXJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODgKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlcGFpciAgICAgaW50ZXJhY3RpdmUgcmVwYWlyXG4iCittc2dzdHIgImJ1dHVoIHRlcm1pbmFsIHVudHVrIGludGVyYXRpdmUgcmVwYWlycyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGJlIHZlcmJvc2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkwCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zdXBlciAgICAgIG91dHB1dCBzdXBlci1ibG9jayBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTEKK21zZ2lkICIgLW0sIC0tdW5jbGVhcmVkICBhY3RpdmF0ZSBtb2RlIG5vdCBjbGVhcmVkIHdhcm5pbmdzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgIGZvcmNlIGNoZWNrXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBVYmFoIHRpcGUgZmlsZXN5c3RlbSIKKworIy4gVFJBTlNMQVRPUlM6IHRoZXNlIHllcyBubyBxdWVzdGlvbnMgdXNlcyBycG1hdGNoKCksIGFuZCBzaG91bGQgYmUKKyMuICogdHJhbnNsYXRlZC4KKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoeS9uKT8gIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAobi95KT8gIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ5XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZC5cdCAiCittc2dzdHIgIiVzIHRlbGFoIGRpIG1vdW50Llx0ICIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg5Cittc2dpZCAiRG8geW91IHJlYWxseSB3YW50IHRvIGNvbnRpbnVlIgorbXNnc3RyICJBcGFrYWggYW5kYSBiZW5hciAtIGJlbmFyIGluZ2luIG1lbGFuanV0a2FuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2sgYWJvcnRlZC5cbiIKK21zZ3N0ciAibWVtYmF0YWxrYW4gcGVtZXJpa3NhYW4uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMxOSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA8IEZJUlNUWk9ORSBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJab25lIG5yIDwgRklSU1RaT05FIGRhbGFtIGZpbGUgYCVzJy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA+PSBaT05FUyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJab25lIG5yID49IFpPTkVTIGRhbGFtIGZpbGUgYCVzJy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyNiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDcKK21zZ2lkICJSZW1vdmUgYmxvY2siCittc2dzdHIgIkhhcHVzIGJsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogdW5hYmxlIHRvIHNlZWsgdG8gYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIlJlYWQgZXJyb3I6IHRpZGFrIGRhcGF0IG1lbi1zZWVrIGtlIGJsb2NrIGRhbGFtIGZpbGUgYCVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJSZWFkIGVycm9yOiBibG9jayBidXJ1ayBkYWxhbSBmaWxlICclcydcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJbnRlcm5hbCBlcnJvcjogdHJ5aW5nIHRvIHdyaXRlIGJhZCBibG9ja1xuIgorIldyaXRlIHJlcXVlc3QgaWdub3JlZFxuIgorbXNnc3RyICIiCisiS2VzYWxhaGFuIGludGVybmFsOiBtZW5jb2JhIHVudHVrIG1lbnVsaXMgYmFkIGJsb2NrXG4iCisiUGVybWludGFhbiBtZW51bGlzIGRpYWJhaWthblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAic2VlayBnYWdhbCBkYWxhbSB3cml0ZV9ibG9jayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIldyaXRlIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIldyaXRlIGVycm9yOiBiYWQgYmxvY2sgZGFsYW0gZmlsZSAnJXMnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUwNQorbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX3N1cGVyX2Jsb2NrIgorbXNnc3RyICJzZWVrIGZhaWxlZCBkYWxhbSB3cml0ZV9zdXBlcl9ibG9jayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTA3Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW51bGlzIHN1cGVyLWJsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjAKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICJUaWRhayBtZW51bGlzIHBldGEgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyMworbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVudWxpcyBwZXRhIHpvbmUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyNgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbnVsaXMgaW5vZGVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NTgKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorbXNnc3RyICJ0aWRhayBtZW5nYWxva2FzaWthbiBwZW55YW5nZ2EgdW50dWsgYmxvayBzdXBlciIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTYxCittc2dpZCAidW5hYmxlIHRvIHJlYWQgc3VwZXIgYmxvY2siCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJhY2Egc3VwZXIgYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4MworbXNnaWQgImJhZCBtYWdpYyBudW1iZXIgaW4gc3VwZXItYmxvY2siCittc2dzdHIgImp1bWxhaCBtYWdpYyB0aWRhayBiYWlrIGRhbGFtIHN1cGVyLWJsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODUKK21zZ2lkICJPbmx5IDFrIGJsb2Nrcy96b25lcyBzdXBwb3J0ZWQiCittc2dzdHIgIkhhbnlhIDFrIGJsb2NrL3pvbmVzIHlhbmcgZGlsYXlhbmkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4NworIywgZnV6enkKK21zZ2lkICJiYWQgc19uaW5vZGVzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJmaWVsZCBzX2ltYXBfYmxvY2tzIGJ1cnVrIGRhbGFtIHN1cGVyLWJsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODkKK21zZ2lkICJiYWQgc19pbWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiZmllbGQgc19pbWFwX2Jsb2NrcyBidXJ1ayBkYWxhbSBzdXBlci1ibG9jayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkxCisjLCBmdXp6eQorbXNnaWQgImJhZCBzX2ZpcnN0ZGF0YXpvbmUgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgImZpZWxkIHNfaW1hcF9ibG9ja3MgYnVydWsgZGFsYW0gc3VwZXItYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5NAorbXNnaWQgImJhZCBzX3ptYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJmaWVsZCBzX3ptYXBfYmxvY2sgYnVydWsgZGFsYW0gc3VwZXItYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxMAorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIG1hcCIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuZ2Fsb2thc2lrYW4gYnVmZmVyIHVudHVrIHBldGEgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxMworbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgbWFwIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW5nYWxva2FzaWthbiBidWZmZXIgdW50dWsgcGV0YSBkYWVyYWggKHpvbmUgbWFwKSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE2Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW5nYWxva2FzaWthbiBidWZmZXIgdW50dWsgaW5vZGVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTkKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBjb3VudCIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuZ2Fsb2thc2lrYW4gYnVmZmVyIHVudHVrIG1lbmdoaXR1bmcgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyMgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgY291bnQiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmdhbG9rYXNpa2FuIGJ1ZmZlciB1bnR1ayBtZW5naGl0dW5nIHpvbmUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyNgorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlIG1hcCIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYmFjYSBwZXRhIGlub2RlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzAKK21zZ2lkICJVbmFibGUgdG8gcmVhZCB6b25lIG1hcCIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYmFjYSBwZXRhIHpvbmUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzNAorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlcyIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYmFjYSBpbm9kZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzNgorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIKK21zZ3N0ciAiUGVyaW5nYXRhbjogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgaW5vZGVzXG4iCittc2dzdHIgIiVsZCBpbm9kZXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBibG9ja3NcbiIKK21zZ3N0ciAiJWxkIGJsb2Nrc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGaXJzdGRhdGF6b25lPSVqZCAoJWpkKVxuIgorbXNnc3RyICJGaXJzdGRhdGF6b25lPSVsZCAoJWxkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JWRcbiIKK21zZ3N0ciAiWm9uZXNpemU9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNYXhzaXplPSV6dVxuIgorbXNnc3RyICJNYXhzaXplPSVsZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBzdGF0ZT0lZFxuIgorbXNnc3RyICJLZWFkYWFuIGZpbGVzeXN0ZW09JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisibmFtZWxlbj0lemRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIm5hbWVsZW49JWRcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjY0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcxNAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlZCBtYXJrZWQgdW51c2VkLCBidXQgdXNlZCBmb3IgZmlsZSAnJXMnXG4iCittc2dzdHIgIklub2RlICVkIGRpdGFuZGFpIHRpZGFrIGRpZ3VuYWthbiwgdGV0YXBpIGRpZ3VuYWthbiB1bnR1ayBmaWxlICclcydcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjY3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcxNworbXNnaWQgIk1hcmsgaW4gdXNlIgorbXNnc3RyICJkaXRhbmRhaSBzZWRhbmcgZGlndW5ha2FuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2ODkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaWxlIGAlcycgaGFzIG1vZGUgJTA1b1xuIgorbXNnc3RyICJGaWxlIGAlcycgbWVtaWxpa2kgbW9kZSAlMDVvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY5NiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogaW5vZGUgY291bnQgdG9vIGJpZy5cbiIKK21zZ3N0ciAiUGVyaW5nYXRhbjoganVtbGFoIGlub2RlIHRlcmxhbHUgYmVzYXIuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc1NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NjMKK21zZ2lkICJyb290IGlub2RlIGlzbid0IGEgZGlyZWN0b3J5IgorbXNnc3RyICJyb290IGlub2RlIHRpZGFrIGJlcnVwYSBzZWJ1YWggZGlyZWt0b3JpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NzUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrIGhhcyBiZWVuIHVzZWQgYmVmb3JlLiBOb3cgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiQmxvY2sgdGVsYWggZGlndW5ha2FuIHNlYmVsdW1ueWEuIFNla2FyYW5nIGRhbGFtIGZpbGUgYCVzJy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MDgKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1MgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA4Cittc2dpZCAiQ2xlYXIiCittc2dzdHIgIkJlcnNpaCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzg3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayAlZCBpbiBmaWxlIGAlcycgaXMgbWFya2VkIG5vdCBpbiB1c2UuIgorbXNnc3RyICJCbG9jayAlZCBkYWxhbSBmaWxlIGAlcycgZGkgdGFuZGFpIHRpZGFrIHNlZGFuZyBkaWd1bmFrYW4uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODIwCittc2dpZCAiQ29ycmVjdCIKK21zZ3N0ciAiQmVuYXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk1OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkaXJlY3RvcnkgJyVzJyBjb250YWlucyBhIGJhZCBpbm9kZSBudW1iZXIgZm9yIGZpbGUgJyUuKnMnLiIKK21zZ3N0ciAiRGlyZWt0b3JpICclcycgYmVyaXNpIGp1bWxhaCBpbm9kZSB5YW5nIGJ1cnVrIHVudHVrIGZpbGUgJyUuKnMnLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTYxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwMzUKK21zZ2lkICIgUmVtb3ZlIgorbXNnc3RyICIgSGFwdXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIKK21zZ3N0ciAiJXM6IGRpcmVrdG9yaSBidXJ1azogJy4nIGJ1a2FuIHlhbmcgcGVydGFtYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5ODYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4uJyBpc24ndCBzZWNvbmRcbiIKK21zZ3N0ciAiJXM6IGRpcmVrdG9yaSBidXJ1azogJy4uJyB0aWRhayBrZWR1YVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDk0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMTcKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAia2VzYWxhaGFuIGludGVybmFsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDk3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IHNpemUgPCAzMiIKK21zZ3N0ciAiJXM6IGRpcmVrdG9yaSBidXJ1azogdWt1cmFuIDwgMzIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBpbnZhbGlkIGlfem9uZSwgdXNlIC0tcmVwYWlyIHRvIGZpeFxuIgorbXNnc3RyICIlczogZGlyZWt0b3JpIGJ1cnVrOiAnLicgYnVrYW4geWFuZyBwZXJ0YW1hXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMzIKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBiYWRfem9uZSIKK21zZ3N0ciAiZ2FnYWwgc2VlayBkYWxhbSBiYWRfem9uZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbW9kZSBub3QgY2xlYXJlZC4iCittc2dzdHIgIk1vZGUgSW5vZGUgJWQgdGlkYWsgZGliZXJzaWhrYW4uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTUxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBub3QgdXNlZCwgbWFya2VkIHVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIklub2RlICVkIHRpZGFrIGRpZ3VuYWthbiwgZGl0YW5kYWkgZGlndW5ha2FuIGRhbGFtIGJpdG1hcC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IHVzZWQsIG1hcmtlZCB1bnVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIklub2RlICVkIGRpZ3VuYWthbiwgZGl0YW5kYWkgZGlndW5ha2FuIGRhbGFtIGJpdG1hcC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTggZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxNAorbXNnaWQgIlNldCIKK21zZ3N0ciAiU2V0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTYyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSAobW9kZSA9ICUwN28pLCBpX25saW5rcz0lZCwgY291bnRlZD0lZC4iCittc2dzdHIgIklub2RlICVkIChtb2RlID0gJTA3byksIGlfbmxpbmtzPSVkLCB0ZXJoaXR1bmc9JWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjEKK21zZ2lkICJTZXQgaV9ubGlua3MgdG8gY291bnQiCittc2dzdHIgIlNldCBpX25saW5rcyBrZSBqdW1sYWgiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG1hcmtlZCBpbiB1c2UsIG5vIGZpbGUgdXNlcyBpdC4iCittc2dzdHIgIlpvbmUgJWQ6IGRpdGFuZGFpIHNlZGFuZyBkaWd1bmFrYW4sIHRpZGFrIGFkYSBmaWxlIHlhbmcgbWVuZ2d1bmFrYW5ueWEuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTc5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzUKK21zZ2lkICJVbm1hcmsiCittc2dzdHIgIlRpZGFrIGRpdGFuZGFpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTg0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiWm9uZSAlZDogc2VkYW5nIGRpZ3VuYWthbiwgdGVyaGl0dW5nPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiWm9uZSAlZDogdGlkYWsgc2VkYW5nIGRpZ3VuYWthbiwgdGVyaGl0dW5nPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyOTEKK21zZ2lkICJiYWQgaW5vZGUgc2l6ZSIKK21zZ3N0ciAidWt1cmFuIGlub2RlIGJ1cnVrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjkzCittc2dpZCAiYmFkIHYyIGlub2RlIHNpemUiCittc2dzdHIgInVrdXJhbiBpbm9kZSB2MiBidXJ1ayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTMzNworbXNnaWQgIm5lZWQgdGVybWluYWwgZm9yIGludGVyYWN0aXZlIHJlcGFpcnMiCittc2dzdHIgImJ1dHVoIHRlcm1pbmFsIHVudHVrIGludGVyYXRpdmUgcmVwYWlycyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWthICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGNsZWFuLCBubyBjaGVjay5cbiIKK21zZ3N0ciAiJXMgYmVyc2loLCB0aWRhayBwZXJsdSBkaWNoZWNrLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiAlcy5cbiIKK21zZ3N0ciAiTWVtYWtzYSBwZW1lcmlrc2FhbiBmaWxlc3lzdGVtIGRpICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzU3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gb24gJXMgaXMgZGlydHksIG5lZWRzIGNoZWNraW5nLlxuIgorbXNnc3RyICJGaWxlc3lzdGVtIGRpICVzIGtvdG9yLCBwZXJsdSB1bnR1ayBkaWNoZWNrLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmxkIGlub2RlcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2bGQgaW5vZGVzIGRpZ3VuYWthbiAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTZsZCB6b25lcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiJTZsZCB6b25lcyBkaWd1bmFrYW4gKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmQgcmVndWxhciBmaWxlc1xuIgorIiU2ZCBkaXJlY3Rvcmllc1xuIgorIiU2ZCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGJsb2NrIGRldmljZSBmaWxlc1xuIgorIiU2ZCBsaW5rc1xuIgorIiU2ZCBzeW1ib2xpYyBsaW5rc1xuIgorIi0tLS0tLVxuIgorIiU2ZCBmaWxlc1xuIgorbXNnc3RyICIiCisiXG4iCisiJTZkIHJlZ3VsYXIgZmlsZXNcbiIKKyIlNmQgZGlyZWt0b3JpZXNcbiIKKyIlNmQgY2hhcmFjdGVyIGRldmljZSBmaWxlc1xuIgorIiU2ZCBibG9jayBkZXZpY2UgZmlsZXMlNmQgbGlua3NcbiIKKyIlNmQgc3ltYm9saWMgbGlua3NcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmlsZXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQxMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIkZJTEUgU1lTVEVNIEhBUyBCRUVOIENIQU5HRURcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBGSUxFIFNZU1RFTSBURUxBSCBCRVJVQkFIIFxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MzMKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTM5IGRpc2stdXRpbHMvcGFydHguYzoxMDM1IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMgorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTggc3lzLXV0aWxzL2RtZXNnLmM6NjU5IHN5cy11dGlscy93ZGN0bC5jOjM0NgorIzogc3lzLXV0aWxzL3dkY3RsLmM6NDExIHRlcm0tdXRpbHMvc2NyaXB0LmM6MjcyIHRlcm0tdXRpbHMvc2NyaXB0LmM6MzQ5CisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI0OAorIywgZnV6enkKK21zZ2lkICJ3cml0ZSBmYWlsZWQiCittc2dzdHIgImdhZ2FsIG1lbnVsaXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1pZ2h0IG5vdCBiZSBhbiBJU08gZmlsZXN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlZWsgZXJyb3Igb24gJXMiCittc2dzdHIgIiVzOiBzZWVrIGVycm9yIGRpICVzXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVhZCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiJXM6IGVycm9yIG1lbWJhY2EgZGkgJXNcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlY3RvciBjb3VudDogJWQsIHNlY3RvciBzaXplOiAlZFxuIgorbXNnc3RyICJzZWN0b3IgdGVyaGl0dW5nOiAlZCwgc2VjdG9yIHNpemU6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8aXNvOTY2MF9pbWFnZV9maWxlPlxuIgorbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gcGVyYW5na2F0IC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzQKK21zZ2lkICJTaG93IHRoZSBsZW5ndGggb2YgYW4gSVNPLTk2NjAgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzcKK21zZ2lkICIgLWQsIC0tZGl2aXNvcj08bnVtYmVyPiAgZGl2aWRlIHRoZSBhbW91bnQgb2YgYnl0ZXMgYnkgPG51bWJlcj5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzgKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHNob3cgc2VjdG9yIGNvdW50IGFuZCBzaXplXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjIxMAorbXNnaWQgImludmFsaWQgZGl2aXNvciBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc3Cittc2dpZCAiTWFrZSBhbiBTQ08gYmZzIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtTiwgLS1pbm9kZXM9TlVNICAgIHNwZWNpZnkgZGVzaXJlZCBudW1iZXIgb2YgaW5vZGVzXG4iCisiIC1WLCAtLXZuYW1lPU5BTUUgICAgc3BlY2lmeSB2b2x1bWUgbmFtZVxuIgorIiAtRiwgLS1mbmFtZT1OQU1FICAgIHNwZWNpZnkgZmlsZSBzeXN0ZW0gbmFtZVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisiIC1jICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorIiAtbCAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAgICAgICAgICAgICAgICAgICAgIC1WIGFzIHZlcnNpb24gbXVzdCBiZSBvbmx5IG9wdGlvblxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE0NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG51bWJlciBvZiBpbm9kZXMiCittc2dzdHIgIkp1bWxhaCBkYXJpIGJhcmlzIHRpZGFrIHZhbGlkIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTUwCittc2dpZCAidm9sdW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm5hbWEgdm9sdW1lIHRlcmxhbHUgcGFuamFuZyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1NworbXNnaWQgImZzbmFtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICJmc25hbWUgbmFtYSB0ZXJsYWx1IHBhbmphbmciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBibG9jay1jb3VudCIKK21zZ3N0ciAicGlsaWhhbiB0aWRhayB2YWxpZCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbXBlcm9sZWggdWt1cmFuIGRhcmkgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2tzIGFyZ3VtZW50IHRvbyBsYXJnZSwgbWF4IGlzICVsbHUiCittc2dzdHIgImJsb2NrIGFyZ3VtZW50IHRlcmxhbHUgYmVzYXIsIG1ha3NpbWFsIGFkYWxhaCAlbGx1IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjE5Cittc2dpZCAidG9vIG1hbnkgaW5vZGVzIC0gbWF4IGlzIDUxMiIKK21zZ3N0ciAidGVybGFsdSBiYW55YWsgaW5vZGVzIC0gbWFrc2ltYWwgYWRhbGFoIDUxMiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlLCBuZWVkIGF0IGxlYXN0ICVsbHUgYmxvY2tzIgorbXNnc3RyICJydWFuZyB0aWRhayBjdWt1cCwgYnV0dWggcGFsaW5nIHRpZGFrICVsbHUgYmxvayIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2U6ICVzXG4iCittc2dzdHIgIlBlcmFuZ2thdDogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJWb2x1bWU6IDwlLTZzPlxuIgorbXNnc3RyICJWb2x1bWU6IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZTbmFtZTogPCUtNnM+XG4iCittc2dzdHIgIkZTbmFtZTogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tTaXplOiAlZFxuIgorbXNnc3RyICJCbG9ja1NpemU6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAxIGJsb2NrKVxuIgorbXNnc3RyICJJbm9kZXM6ICVkIChkYWxhbSAxIGJsb2NrKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gJWxsdSBibG9ja3MpXG4iCittc2dzdHIgIklub2RlczogJWQgKGRhbGFtICVsbGQgYmxvaylcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tzOiAlbGx1XG4iCittc2dzdHIgIkJsb2s6ICVsbGRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSBlbmQ6ICVkLCBEYXRhIGVuZDogJWRcbiIKK21zZ3N0ciAiSW5vZGUgYWtoaXI6ICVkLCBEYXRhIGFraGlyOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU3Cittc2dpZCAiZXJyb3Igd3JpdGluZyBzdXBlcmJsb2NrIgorbXNnc3RyICJlcnJvciBtZW51bGlzIHN1cGVyYmxvayIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI3OAorbXNnaWQgImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIKK21zZ3N0ciAiZXJyb3IgbWVudWxpcyBpbm9kZSByb290IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjgzCittc2dpZCAiZXJyb3Igd3JpdGluZyBpbm9kZSIKK21zZ3N0ciAiZXJyb3IgbWVudWxpcyBpbm9kZSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4NgorbXNnaWQgInNlZWsgZXJyb3IiCittc2dzdHIgInNlZWsgZXJyb3IiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTIKK21zZ2lkICJlcnJvciB3cml0aW5nIC4gZW50cnkiCittc2dzdHIgImVycm9yIG1lbnVsaXMgLiBlbnRyeSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5NgorbXNnaWQgImVycm9yIHdyaXRpbmcgLi4gZW50cnkiCittc2dzdHIgImVycm9yIG1lbnVsaXMgLi4gZW50cnkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2xvc2luZyAlcyIKK21zZ3N0ciAiZXJyb3IgbWVudXR1cCAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy10IDx0eXBlPl0gW2ZzLW9wdGlvbnNdIDxkZXZpY2U+IFs8c2l6ZT5dXG4iCittc2dzdHIgIlBlbmdndW5hYW46IG1rZnMgWy1WXSBbLXQgZnN0eXBlXSBbZnMtb3B0aW9uc10gZGV2aWNlIFtzaXplXVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0OAorIywgZnV6enkKK21zZ2lkICJNYWtlIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiTWFzdWtrYW4gdGlwZSBmaWxlc3lzdGVtOiAiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdCwgLS10eXBlPTx0eXBlPiAgZmlsZXN5c3RlbSB0eXBlOyB3aGVuIHVuc3BlY2lmaWVkLCBleHQyIGlzIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIGZzLW9wdGlvbnMgICAgIHBhcmFtZXRlcnMgZm9yIHRoZSByZWFsIGZpbGVzeXN0ZW0gYnVpbGRlclxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxzaXplPiAgICAgICAgIG51bWJlciBvZiBibG9ja3MgdG8gYmUgdXNlZCBvbiB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJib3NlICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmU7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnlpbmcgLVYgbW9yZSB0aGFuIG9uY2Ugd2lsbCBjYXVzZSBhIGRyeS1ydW5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcnNpb24gICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQ7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIC1WIGFzIC0tdmVyc2lvbiBtdXN0IGJlIHRoZSBvbmx5IG9wdGlvblxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLWgsIC0taGVscCAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6MTM5IGxpYi9leGVjX3NoZWxsLmM6NDkgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjMzCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2NTcgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTkyCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODAwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDQgc2NoZWR1dGlscy9jaHJ0LmM6NTU4CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjI2MCBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMzkgc3lzLXV0aWxzL2Zsb2NrLmM6MTIyCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQzMCBzeXMtdXRpbHMvcHJsaW1pdC5jOjY0NCBzeXMtdXRpbHMvcnRjd2FrZS5jOjU3NworIzogc3lzLXV0aWxzL3NldGFyY2guYzozMjQgc3lzLXV0aWxzL3NldGFyY2guYzo0MDMgc3lzLXV0aWxzL3NldHNpZC5jOjExNQorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM0MCBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNDIgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NjEKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTgxIHRleHQtdXRpbHMvcGcuYzoxMzc1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBleGVjdXRlICVzIgorbXNnc3RyICJnYWdhbCBtZW5qYWxhbmthbiAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidXNhZ2U6ICVzIFstaF0gWy12XSBbLWIgYmxrc2l6ZV0gWy1lIGVkaXRpb25dIFstTiBlbmRpYW5dIFstaSBmaWxlXSBbLW4gbmFtZV0gZGlybmFtZSBvdXRmaWxlXG4iCisiIC1oICAgICAgICAgcHJpbnQgdGhpcyBoZWxwXG4iCisiIC12ICAgICAgICAgYmUgdmVyYm9zZVxuIgorIiAtRSAgICAgICAgIG1ha2UgYWxsIHdhcm5pbmdzIGVycm9ycyAobm9uLXplcm8gZXhpdCBzdGF0dXMpXG4iCisiIC1iIGJsa3NpemUgdXNlIHRoaXMgYmxvY2tzaXplLCBtdXN0IGVxdWFsIHBhZ2Ugc2l6ZVxuIgorIiAtZSBlZGl0aW9uIHNldCBlZGl0aW9uIG51bWJlciAocGFydCBvZiBmc2lkKVxuIgorIiAtTiBlbmRpYW4gIHNldCBjcmFtZnMgZW5kaWFubmVzcyAoYmlnfGxpdHRsZXxob3N0KSwgZGVmYXVsdCBob3N0XG4iCisiIC1pIGZpbGUgICAgaW5zZXJ0IGEgZmlsZSBpbWFnZSBpbnRvIHRoZSBmaWxlc3lzdGVtIChyZXF1aXJlcyA+PSAyLjQuMClcbiIKKyIgLW4gbmFtZSAgICBzZXQgbmFtZSBvZiBjcmFtZnMgZmlsZXN5c3RlbVxuIgorIiAtcCAgICAgICAgIHBhZCBieSAlZCBieXRlcyBmb3IgYm9vdCBjb2RlXG4iCisiIC1zICAgICAgICAgc29ydCBkaXJlY3RvcnkgZW50cmllcyAob2xkIG9wdGlvbiwgaWdub3JlZClcbiIKKyIgLXogICAgICAgICBtYWtlIGV4cGxpY2l0IGhvbGVzIChyZXF1aXJlcyA+PSAyLjMuMzkpXG4iCisiIGRpcm5hbWUgICAgcm9vdCBvZiB0aGUgZmlsZXN5c3RlbSB0byBiZSBjb21wcmVzc2VkXG4iCisiIG91dGZpbGUgICAgb3V0cHV0IGZpbGVcbiIKK21zZ3N0ciAiIgorInBlbmdndW5hYW46ICVzIFstaF0gWy12XSBbLWIgYmxrc2l6ZV0gWy1lIGVkaXRpb25dIFstTiBlbmRpYW5dIFstaSBmaWxlXSBbLW4gbmFtZV0gZGlybmFtZSBvdXRmaWxlXG4iCisiIC1oICAgICAgICAgdGFtcGlsa2FuIGJhbnR1YW4gaW5pXG4iCisiIC12ICAgICAgICAgbWVuamFkaSBsZWJpaCB2ZXJib3NlXG4iCisiIC1FICAgICAgICAgbWVtYnVhdCBzZW11YSBwZXJpbmdhdGFuIG1lbmphZGkgZXJyb3JzIChzdGF0dXMgZXhpdCB5YW5nIHRpZGFrIG5vbClcbiIKKyIgLWIgYmxrc2l6ZSBtZW5nZ3VuYWthbiB1a3VyYW4gYmxrc3osIGhhcnVzIHNhbWEgZGVuZ2FuIHVrdXJhbiBwYWdlXG4iCisiIC1lIGVkaXRpb24gbWVuc2V0IG5vbW9yIGVkaXNpIChiYWdpYW4gZGFyaSBmc2lkKVxuIgorIiAtTiBlbmRpYW4gIHNldCB0aXBlIGVuZGlhbiBkYXJpIGNyYW1mcyAoYmlnfGxpdHRsZXxob3N0KSwgYmFrdSBob3N0XG4iCisiIC1pIGZpbGUgICAgbWVtYXN1a2thbiBmaWxlIGltYWdlIGtlZGFsYW0gZmlsZXN5c3RlbSAoYnV0dWgga2VybmVsID49IDIuNC4wKVxuIgorIiAtbiBuYW1lICAgIG1lbnNldCBuYW1hIGRhcmkgZmlsZXN5c3RlbSBjcmFtZnNcbiIKKyIgLXAgICAgICAgICBwYWQgZGVuZ2FuICVkIGJ5dGVzIGRhcmkgYm9vdCBjb2RlXG4iCisiIC1zICAgICAgICAgc29ydCBtYXN1a2FuIGRpcmVrdG9yaSAocGlsaWhhbiBsYW1hLCBkaWFiYWlrYW4pXG4iCisiIC16ICAgICAgICAgbWVtYnVhdCBsb2Jhbmcgc2VjYXJhIGVrc3BsaXNpdCAoYnV0dWgga2VybmVsID49IDIuMy4zOSlcbiIKKyIgZGlybmFtZSAgICBha2FyIGRhcmkgZmlsZXN5c3RlbSB5YW5nIGFrYW4gZGkga29tcHJlc3NcbiIKKyIgb3V0ZmlsZSAgICBvdXRwdXQgZmlsZVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZWFkbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICJnYWdhbCBtZW1iYWNhOiAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJha2FyIGlub2RlIGJ1a2FuIHNlYnVhaCBkaXJla3RvcmkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo0NDMKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSB0b28gYmlnLiAgRXhpdGluZy4iCittc2dzdHIgImZpbGVzeXN0ZW0gdGVybGFsdSBiZXNhcnIuIEtlbHVhci5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYwMgorIywgYy1mb3JtYXQKK21zZ2lkICJBSUVFRTogYmxvY2sgXCJjb21wcmVzc2VkXCIgdG8gPiAyKmJsb2NrbGVuZ3RoICglbGQpXG4iCittc2dzdHIgIkFJRUVFOiBibG9jayBcImNvbXByZXNzZWRcIiBtZW5qYWRpID4gMipibG9ja2xlbmd0aCAoJWxkKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiU2LjJmJSUgKCUrbGQgYnl0ZXMpXHQlc1xuIgorbXNnc3RyICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNsb3NlIGZpbGUgJXMiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbWJ1a2EgZmlsZSAnJXMnIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzMyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZWRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgInBpbGloYW4gdGlkYWsgdmFsaWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ3Vlc3RpbWF0ZSBvZiByZXF1aXJlZCBzaXplICh1cHBlciBib3VuZCkgaXMgJWxsZE1CLCBidXQgbWF4aW11bSBpbWFnZSBzaXplIGlzICV1TUIuICBXZSBtaWdodCBkaWUgcHJlbWF0dXJlbHkuIgorbXNnc3RyICJwZXJpbmdhdGFuOiBwZXJraXJhYW4gZGFyaSB1a3VyYW4geWFuZyBkaWJ1dHVoa2FuIChiYXRhcyBhdGFzKSBhZGFsYWggJWxsZE1CLCB0ZXRhcGkgbWFrc2ltYWwgdWt1cmFuIGltYWdlIGFkYWxhaCAldU1CLiBLaXRhIG11bmdraW4gYWthbiBtYXRpIHNlY2FyYSBwcmVtYXR1cmUuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MzAKK21zZ2lkICJST00gaW1hZ2UgbWFwIgorbXNnc3RyICJwZXRhIGltYWdlIFJPTSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg0MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbmNsdWRpbmc6ICVzXG4iCittc2dzdHIgIlRlcm1hc3VrOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpcmVjdG9yeSBkYXRhOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiRGF0YSBkaXJla3Rvcmk6ICV6ZCBieXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkV2ZXJ5dGhpbmc6ICV6ZCBraWxvYnl0ZXNcbiIKK21zZ3N0ciAiU2VsdXJ1aG55YTogJXpkIGtpbG9ieXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODYxCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cGVyIGJsb2NrOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiU3VwZXIgYmxvazogJXpkIGJ5dGVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1JDOiAleFxuIgorbXNnc3RyICJDUkM6ICV4XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UgYWxsb2NhdGVkIGZvciBST00gaW1hZ2UgKCVsbGQgYWxsb2NhdGVkLCAlenUgdXNlZCkiCittc2dzdHIgInRpZGFrIGN1a3VwIHJ1YW5nIHVudHVrIG1lbmdhbG9rYXNpa2FuIGltYWdlIFJPTSAoJWxsZCB0ZXJhbG9rYXNpLCAlenUgZGlndW5ha2FuKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJST00gaW1hZ2Ugd3JpdGUgZmFpbGVkICglemQgJXpkKSIKK21zZ3N0ciAiZ2FnYWwgbWVudWxpcyBpbWFnZSBST00gKCV6ZCAlemQpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODIKK21zZ2lkICJST00gaW1hZ2UiCittc2dzdHIgImltYWdlIFJPTSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZW5hbWVzIHRydW5jYXRlZCB0byAldSBieXRlcy4iCittc2dzdHIgInBlcmluZ2F0YW46IGZpbGVuYW1lcyBkaWtlY2lsa2FuIG1lbmphZGkgMjU1IGJ5dGVzLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODkzCisjLCBmdXp6eQorbXNnaWQgIndhcm5pbmc6IGZpbGVzIHdlcmUgc2tpcHBlZCBkdWUgdG8gZXJyb3JzLiIKK21zZ3N0ciAicGVyaW5nYXRhbjogZmlsZSBkaWxld2F0aSBrYXJlbmEgYWRhIGVycm9yLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlIHNpemVzIHRydW5jYXRlZCB0byAlbHVNQiAobWludXMgMSBieXRlKS4iCittc2dzdHIgInBlcmluZ2F0YW46IHVrdXJhbiBmaWxlIGRpa2VjaWxrYW4gbWVuamFkaSAlbHVNQiAoa3VyYW5nIDEgYnl0ZSkuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHVpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgIlBlcmluZ2F0YW46IHVpZHMgZGlwb3RvbmcgbWVuamFkaSAldSBiaXRzLiAoSW5pIG11bmdraW4gbWVydXBha2FuIG1hc2FsYWgga2VhbWFuYW4uKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBnaWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJQZXJpbmdhdGFuOiBnaWRzIGRpcG90b25nIG1lbmphZGkgJXUgYml0cy4gKEluaSBtdW5na2luIG1lcnVwYWthbiBtYXNhbGFoIGtlYW1hbmFuLilcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIldBUk5JTkc6IGRldmljZSBudW1iZXJzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgVGhpcyBhbG1vc3QgY2VydGFpbmx5IG1lYW5zXG4iCisidGhhdCBzb21lIGRldmljZSBmaWxlcyB3aWxsIGJlIHdyb25nLiIKK21zZ3N0ciAiIgorIlBFUklOR0FUQU46IG5vbW9yIHBlcmFuZ2thdCBkaXBvdG9uZyBtZW5qYWRpICV1IGJpdHMuIEluaSBtdW5na2luIGJlcmFydGlcbiIKKyJiZWJlcmFwYSBkZXZpY2UgZmlsZXMgbXVuZ2tpbiBzYWxhaC5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC9kZXYvbmFtZSBbYmxvY2tzXVxuIgorbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gcGVyYW5na2F0IC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiIC0xICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDFcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM4CisjLCBmdXp6eQorbXNnaWQgIiAtMiwgLXYgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAyXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBJbmkgc2VkaWtpdCBwZXR1bmp1ayBwZW5nZ3VuYWFuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOQorIywgZnV6enkKK21zZ2lkICIgLTMgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gM1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5hbWVsZW5ndGggPG51bT4gIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lc1xuIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taW5vZGVzIDxudW0+ICAgICAgbnVtYmVyIG9mIGlub2RlcyBmb3IgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiTWFzdWtrYW4ganVtbGFoIGRhcmkgY3lsaW5kZXI6ICIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQyCisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jaGVjayAgICAgICAgICAgICBjaGVjayB0aGUgZGV2aWNlIGZvciBiYWQgYmxvY2tzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDMKK21zZ2lkICIgLWwsIC0tYmFkYmxvY2tzIDxmaWxlPiAgbGlzdCBvZiBiYWQgYmxvY2tzIGZyb20gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgdG8gYm9vdCBibG9jayBmYWlsZWQgIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAic2VlayB1bnR1ayBib290IGJsb2NrIGdhZ2FsIGRhbGFtIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGNsZWFyIGJvb3Qgc2VjdG9yIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1iZXJzaWhrYW4gYm9vdCBzZWN0b3IiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAic2VlayBnYWdhbCBkYWxhbSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVudWxpcyBzdXBlci1ibG9jayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVudWxpcyBpbm9kZSBtYXAiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVudWxpcyB6b25lIG1hcCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVudWxpcyBpbm9kZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICJzZWVrIGdhZ2FsIGRhbGFtIHdyaXRlX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgImdhZ2FsIG1lbnVsaXMgZGFsYW0gd3JpdGVfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyMSBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyOTYKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjM0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBtYW55IGJhZCBibG9ja3MiCittc2dzdHIgInRlcmxhbHUgYmFueWFrIGJhZCBibG9ja3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBlbm91Z2ggZ29vZCBibG9ja3MiCittc2dzdHIgInRpZGFrIGN1a3VwIGdvb2QgYmxvY2tzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkZpcnN0IGRhdGEgYmxvY2sgYXQgJWpkLCB3aGljaCBpcyB0b28gZmFyIChtYXggJWQpLlxuIgorIlRyeSBzcGVjaWZ5aW5nIGZld2VyIGlub2RlcyBieSBwYXNzaW5nIC0taW5vZGVzIDxudW0+IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWx1IGlub2RlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBpbm9kZXNcbiIKK21zZ3N0clswXSAiJWxkIGlub2Rlc1xuIgorbXNnc3RyWzFdICIlbGQgaW5vZGVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVsdSBibG9ja3NcbiIKK21zZ3N0clswXSAiJWxkIGJsb2Nrc1xuIgorbXNnc3RyWzFdICIlbGQgYmxvY2tzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JXp1XG4iCittc2dzdHIgIlpvbmVzaXplPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIk1heHNpemU9JXp1XG4iCisiXG4iCittc2dzdHIgIiIKKyJVa3VyYW4gTWFrc2ltYWw9JWxkXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGR1cmluZyB0ZXN0aW5nIG9mIGJsb2NrcyIKK21zZ3N0ciAic2VlayBnYWdhbCBzZWxhbWEgcGVuZ2V0ZXNhbiBibG9ja3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJXZWlyZCB2YWx1ZXMgaW4gZG9fY2hlY2s6IHByb2JhYmx5IGJ1Z3NcbiIKK21zZ3N0ciAiTmlsYWkgYW5laCBkYWxhbSBkb19jaGVjazogbXVuZ2tpbiBidWdzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAic2VlayBnYWdhbCBkYWxhbSBjaGVja19ibG9ja3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBibG9ja3MgYmVmb3JlIGRhdGEtYXJlYTogY2Fubm90IG1ha2UgZnMiCittc2dzdHIgImJhZCBibG9ja3Mgc2ViZWx1bSBkYWVyYWggZGF0YTogdGlkYWsgZGFwYXQgbWVtYnVhayBmcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjM5IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgYmFkIGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVkIGJhZCBibG9ja3NcbiIKK21zZ3N0clswXSAiJWQgYmFkIGJsb2Nrc1xuIgorbXNnc3RyWzFdICIlZCBiYWQgYmxvY2tzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IG9wZW4gZmlsZSBvZiBiYWQgYmxvY2tzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWthIGZpbGUgZGFyaSBiYWQgYmxvY2tzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkYmxvY2sgbnVtYmVyIGlucHV0IGVycm9yIG9uIGxpbmUgJWRcbiIKK21zZ3N0ciAiYmFkYmxvY2sgbm9tb3IgbWFzdWthbiBlcnJvciBkaSBiYXJpcyAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBiYWRibG9ja3MgZmlsZSIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYmFjYSBiZXJrYXMgYmxvayBidXJ1ayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk0CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIHNpemUgc21hbGxlciB0aGFuIHBoeXNpY2FsIHNlY3RvciBzaXplIG9mICVzIgorbXNnc3RyICJ1a3VyYW4gYmxvayBsZWJpaCBrZWNpbCBkYXJpIHVrdXJhbiBzZWt0b3IgZmlzaWsgZGFyaSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgc2l6ZSBvZiAlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZW50dWthbiB1a3VyYW4gZGFyaSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZXF1ZXN0ZWQgYmxvY2tzICglbGx1KSBleGNlZWRzIGF2YWlsYWJsZSAoJWxsdSkgYmxvY2tzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbnVtYmVyIG9mIGJsb2NrcyB0b28gc21hbGwiCittc2dzdHIgIkp1bWxhaCBkYXJpIGJsb2sgdGVybGFsdSBrZWNpbCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzIzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbmFtZSBsZW5ndGg6ICVkIgorbXNnc3RyICIlczogYXJndW1lbnQgdGlkYWsgZGlrZXRhaHVpOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG1pbml4IGZpbGUgc3lzdGVtIHZlcnNpb246ICVkIgorbXNnc3RyICJMYXlhbmFuIHNpc3RlbSBiZXJrYXMgdGlkYWsgZGlkdWt1bmciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc2NworbXNnaWQgIi12IGlzIGFtYmlndW91cywgdXNlICctMicgaW5zdGVhZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NzgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lcyIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBpbm9kZXMiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODA2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgYmxvY2tzIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIGEgZmlsZXN5c3RlbSBoZXJlISIKK21zZ3N0ciAiJXMgdGVyLW1vdW50OyB0aWRhayBha2FuIG1lbWJ1YXQgZmlsZXN5c3RlbSBoZXJlISIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQmFkIHVzZXItc3BlY2lmaWVkIHBhZ2Ugc2l6ZSAldSIKK21zZ3N0ciAiVWt1cmFuIHBhZ2UgJWQgeWFuZyBkaXNwZXNpZmlrYXNpa2FuIHBlbmdndW5hIHRpZGFrIGJhaWtcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICVkLCBpbnN0ZWFkIG9mIHRoZSBzeXN0ZW0gdmFsdWUgJWQiCittc2dzdHIgIk1lbmdndW5ha2FuIHVrdXJhbiBwYWdlICVkIHlhbmcgZGlzcGVzaWZpa2FzaWthbiBwZW5nZ3VuYSwgZGFyaSBwYWRhIG1lbmdndW5ha2FuIHVrdXJhbiBzeXN0ZW0gJWRcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAiTGFiZWwgd2FzIHRydW5jYXRlZC4iCittc2dzdHIgIkxhYmVsIHRlbGFoIGRpcG90b25nLlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBsYWJlbCwgIgorbXNnc3RyICJ0aWRhayB0ZXJkYXBhdCBsYWJlbCwgIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyB1dWlkXG4iCittc2dzdHIgInRpZGFrIGFkYSB1dWlkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXSBkZXZpY2UgW3NpemVdXG4iCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTUyCittc2dpZCAiU2V0IHVwIGEgTGludXggc3dhcCBhcmVhLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIGNoZWNrIGJhZCBibG9ja3MgYmVmb3JlIGNyZWF0aW5nIHRoZSBzd2FwIGFyZWFcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBhbGxvdyBzd2FwIHNpemUgYXJlYSBiZSBsYXJnZXIgdGhhbiBkZXZpY2VcbiIKKyIgLXAsIC0tcGFnZXNpemUgU0laRSAgICAgICBzcGVjaWZ5IHBhZ2Ugc2l6ZSBpbiBieXRlc1xuIgorIiAtTCwgLS1sYWJlbCBMQUJFTCAgICAgICAgIHNwZWNpZnkgbGFiZWxcbiIKKyIgLXYsIC0tc3dhcHZlcnNpb24gTlVNICAgICBzcGVjaWZ5IHN3YXAtc3BhY2UgdmVyc2lvbiBudW1iZXJcbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICBzcGVjaWZ5IHRoZSB1dWlkIHRvIHVzZVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgYmFkIHBhZ2VzOiAlbHUiCittc2dzdHIgInRlcmxhbHUgYmFueWFrIHBhZ2VzIHlhbmcgYnVydWsiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTk1Cittc2dpZCAic2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIgorbXNnc3RyICJzZWVrIGdhZ2FsIGRhbGFtIGNoZWNrX2Jsb2NrcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVsdSBiYWQgcGFnZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgYmFkIHBhZ2VzXG4iCittc2dzdHJbMF0gIiVsdSBwYWdlIGJ1cnVrXG4iCittc2dzdHJbMV0gIiVsdSBwYWdlIGJ1cnVrXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjI4Cittc2dpZCAidW5hYmxlIHRvIGFsbG9jIG5ldyBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZ2Fsb2thc2lrYW4gcHJvYmUgbGliYmxraWQgYmFydSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMzAKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGFzc2lnbiBkZXZpY2UgdG8gbGliYmxraWQgcHJvYmUiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbmVtcGF0a2FuIHBlcmFuZ2thdCBrZSBwZW5lbGl0aWFuIGxpYmxraWQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjaGVja2luZyBiYWQgYmxvY2tzIGZyb20gc3dhcCBmaWxlIGlzIG5vdCBzdXBwb3J0ZWQ6ICVzIgorbXNnc3RyICJQZXJpbmdhdGFuOiBwaWxpaGFuIHVudHVrIG5vbG9jayB0aWRhayBkaWxheWFuaS5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNjEgZGlzay11dGlscy9ta3N3YXAuYzoyODcgZGlzay11dGlscy9ta3N3YXAuYzozMzQKK21zZ2lkICJ1bmFibGUgdG8gcmV3aW5kIHN3YXAtZGV2aWNlIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZXJld2luZCBwZXJhbmdrYXQgc3dhcCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyOTAKK21zZ2lkICJ1bmFibGUgdG8gZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZ2hhcHVzIHNla3RvciBib290Yml0cyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IHdpcGluZyBvbGQgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IGRvbid0IGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgIiVzOiAlczogcGVyaW5nYXRhbjogamFuZ2FuIGhhcHVzIHNla3RvciBib290Yml0c1xuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICglcyBwYXJ0aXRpb24gdGFibGUgZGV0ZWN0ZWQpLiAiCittc2dzdHIgIiAgICAgICAgKCVzIHRhYmVsIHBhcnRpc2kgdGVyZGV0ZWtzaSkuICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoY29tcGlsZWQgd2l0aG91dCBsaWJibGtpZCkuICIKK21zZ3N0ciAiICAgICAgICAoZGlrb21waWxhc2kgdGFucGEgbGliYmxraWQpLiAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2UgLWYgdG8gZm9yY2UuXG4iCittc2dzdHIgIkd1bmFrYW4gJXMgLWwgdW50dWsgbWVsaWhhdCBsaXN0LlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzaWduYXR1cmUgcGFnZSIKK21zZ3N0ciAiJXM6ICVzOiB0aWRhayBkYXBhdCBtZW51bGlzIHBhZ2Ugc2lnbmF0dXJlOiAlcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODAKKyMsIGZ1enp5Cittc2dpZCAicGFyc2luZyBwYWdlIHNpemUgZmFpbGVkIgorbXNnc3RyICIlczogZ2FnYWwgbWVuZGFwYXRrYW4gdWt1cmFuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4NgorIywgZnV6enkKK21zZ2lkICJwYXJzaW5nIHZlcnNpb24gbnVtYmVyIGZhaWxlZCIKK21zZ3N0ciAicGVtYnVhdGFuIHNlbWFwaG9yIGdhZ2FsIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3dhcHNwYWNlIHZlcnNpb24gJWQgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAia2VjZXBhdGFuICVkIHRpZGFrIGRpZHVrdW5nIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogaWdub3JpbmcgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCBieSAlcykiCittc2dzdHIgIiUxJHM6IHBlcmluZ2F0YW46IG1lbmdhYmFpa2FuIC1VIChVVUlEcyB0aWRhayBkaWR1a3VuZyBvbGVoICUxJHMpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDE0Cittc2dpZCAib25seSBvbmUgZGV2aWNlIGFyZ3VtZW50IGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MjEKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3I6IHBhcnNpbmcgVVVJRCBmYWlsZWQiCittc2dzdHIgImVycm9yOiBVVUlEIHBhcnNpbmcgZ2FnYWwiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDMwCisjLCBmdXp6eQorbXNnaWQgImVycm9yOiBOb3doZXJlIHRvIHNldCB1cCBzd2FwIG9uPyIKK21zZ3N0ciAiJXM6IGVycm9yOiBUaWRhayBhZGEgdGVtcGF0IHVudHVrIG1lbnNldCBzd2FwP1xuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzNgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGJsb2NrIGNvdW50IGFyZ3VtZW50IgorbXNnc3RyICJwaWxpaGFuIHRpZGFrIHZhbGlkIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHNpemUgJWxsdSBLaUIgaXMgbGFyZ2VyIHRoYW4gZGV2aWNlIHNpemUgJTxQUkl1NjQ+IEtpQiIKK21zZ3N0ciAiJXM6IGVycm9yOiB1a3VyYW4gJWxsdSBLaUIgbGViaWggYmVzYXIgZGFyaSB1a3VyYW4gcGVyYW5na2F0ICVsbHUgS2lCXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc3dhcCBhcmVhIG5lZWRzIHRvIGJlIGF0IGxlYXN0ICVsZCBLaUIiCittc2dzdHIgIiVzOiBlcnJvcjogZGFlcmFoIHN3YXAgbWVtYnV0dWhrYW4gc2V0aWRha255YSAlbGQga2lCXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB0cnVuY2F0aW5nIHN3YXAgYXJlYSB0byAlbGx1IEtpQiIKK21zZ3N0ciAiJXM6IHBlcmluZ2F0YW46IG1lbW90b25nIGRhZXJhaCBzd2FwIG1lbmphZGkgJWxsdSBraUJcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIHN3YXBzcGFjZSIKK21zZ3N0ciAiJXM6IGVycm9yOiAlcyB0ZXItbW91bnQ7IHRpZGFrIGFrYW4gbWVtYnVhdCBzd2Fwc3BhY2UuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDY4IHN5cy11dGlscy9zd2Fwb24uYzo1MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIHBlcm1pc3Npb25zICUwNG8sICUwNG8gc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IG1vZGUgdGlkYWsgYW1hbiAlMDRvLCBkaXNhcmFua2FuIG1lbmdndW5ha2FuIG1vZGUgJTA0by4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDcyIHN5cy11dGlscy9zd2Fwb24uYzo1MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBmaWxlIG93bmVyICVkLCAwIChyb290KSBzdWdnZXN0ZWQuIgorbXNnc3RyICIlczogbW9kZSB0aWRhayBhbWFuICUwNG8sIGRpc2FyYW5rYW4gbWVuZ2d1bmFrYW4gbW9kZSAlMDRvLiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0ODcKK21zZ2lkICJVbmFibGUgdG8gc2V0IHVwIHN3YXAtc3BhY2U6IHVucmVhZGFibGUiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbiBzZXQtdXAgc3dhcC1zcGFjZTogdGlkYWsgZGFwYXQgZGliYWNhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyB1cCBzd2Fwc3BhY2UgdmVyc2lvbiAlZCwgc2l6ZSA9ICVzICglPFBSSXU2ND4gYnl0ZXMpXG4iCittc2dzdHIgIk1lbWJ1YXQgc3dhcHNwYWNlIHZlcnNpIDEsIHVrdXJhbiA9ICVsbHUga2lCXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIG9idGFpbiBzZWxpbnV4IGZpbGUgbGFiZWwiCittc2dzdHIgIiVzOiAlczogdGlkYWsgZGFwYXQgbWVtcGVyb2xlaCBzZWxpbnV4IGZpbGUgbGFiZWw6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE1Cittc2dpZCAidW5hYmxlIHRvIG1hdGNocGF0aGNvbigpIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZWxha3VrYW4gbWF0Y2hwYXRoY29uKCkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE4Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBuZXcgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWF0IGNvbnRleHQgc2VsaW51eCBiYXJ1IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMAorbXNnaWQgImNvdWxkbid0IGNvbXB1dGUgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5lbnR1a2FuIGNvbnRleHQgc2VsaW51eCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZWxhYmVsICVzIHRvICVzIgorbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVuZ2dhbnRpIG5hbWEgJXMgbWVuamFkaSAlczogJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg2CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIk5vbW9yIHBhcnRpc2kiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NworIywgZnV6enkKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgIkhhbnlhIGNldGFrIHRhYmVsIHBhcnRpc2kiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OAorIywgZnV6enkKK21zZ2lkICJlbmQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICJHYWdhbCBtZW51bGlzIHBhcnRpc2kgZGkgJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg5CisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJKdW1sYWggZGFyaSBzZWt0b3IiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MAorbXNnaWQgImh1bWFuIHJlYWRhYmxlIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkxCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJOb21vciBwYXJ0aXNpIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA4IG1pc2MtdXRpbHMvbHNibGsuYzoxNjgKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXNpOlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTMKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIHRhYmxlIHR5cGUgKGRvcywgZ3B0LCAuLi4pIgorbXNnc3RyICJNZW51bGlzIHRhYmVsIHBhcnRpc2kgZGkgZGlzay4uLiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk0IG1pc2MtdXRpbHMvbHNibGsuYzoxNjkKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIGZsYWdzIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGlzaTpcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1Cittc2dpZCAicGFydGl0aW9uIHR5cGUgKGEgc3RyaW5nLCBhIFVVSUQsIG9yIGhleCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUwOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjYxNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wY3h0IgorbXNnc3RyICJnYWdhbCBtZW5naW5pc2lhbGlzYXNpIGJhcmlzIHBlbnlhbmdnYVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVuZW11a2FuIHBlcmFuZ2thdCBsb29wIHlhbmcgdGlkYWsgZGlwYWthaSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvIHVzZSAnJXMnIGZvciB0aGUgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAibW91bnQ6IGFrYW4gbWVuZ2d1bmFrYW4gcGVyYW5na2F0IGxvb3AgJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYmFja2luZyBmaWxlIgorbXNnc3RyICIlczogZ2FnYWwgdW50dWsgYmVycGluZGFoIGtlIG9mc2V0IDB4JWp4IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTMxIHN5cy11dGlscy9sb3NldHVwLmM6NTUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB1cCBsb29wIGRldmljZSIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVyZXdpbmQgcGVyYW5na2F0IHN3YXAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxNjEgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozMDcgbWlzYy11dGlscy9maW5kbW50LmM6Mzc2CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MzU0IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM0MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEwNworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzcyIHN5cy11dGlscy9sc2lwYy5jOjIzMiBzeXMtdXRpbHMvbHNucy5jOjE4OQorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyNzcgc3lzLXV0aWxzL3N3YXBvbi5jOjE0NyBzeXMtdXRpbHMvd2RjdGwuYzoxNTEKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6MTQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgIiVzOiBQZXJpbnRhaCB0aWRhayBkaWtldGFodWk6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgInNlZWsgZ2FnYWwgZGFsYW0gd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjg2IGRpc2stdXRpbHMvcGFydHguYzozMjQgZGlzay11dGlscy9wYXJ0eC5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZpZWQgcmFuZ2UgPCVkOiVkPiBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmFuZ2UgcmVjb3VudDogbWF4IHBhcnRubz0lZCwgbG93ZXI9JWQsIHVwcGVyPSVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiUGFydGlzaSB5YW5nIHRlcnBpbGloICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVtb3ZlZFxuIgorbXNnc3RyICJUaWRhayBhZGEgcGFydGlzaSB5YW5nIGRpZGVmaW5pc2lrYW5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgZG9lc24ndCBleGlzdFxuIgorbXNnc3RyICJQYXJ0aXNpIGluaSBzdWRhaCBhZGEuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZWxldGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiUGFydGlzaSB5YW5nIHRlcnBpbGloICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICJ0aWRhayBiZXJhZGEgZGkgcGFydGlzaSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIlBlcmluZ2F0YW46IHBhcnRpc2kgJXMgIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDA1IGRpc2stdXRpbHMvcGFydHguYzo1MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGFkZGVkXG4iCittc2dzdHIgIlRpZGFrIGFkYSBwYXJ0aXNpIHlhbmcgZGlkZWZpbmlzaWthblxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYWRkaW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlczogc3dhcG9uIGdhZ2FsIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICJQYXJ0aXNpIHlhbmcgdGVycGlsaWggJWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIlBlcmluZ2F0YW46IHBhcnRpc2kgJXMgIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uICMlZCIKK21zZ3N0ciAiVGlkYWsgYWRhIHBhcnRpc2kgeWFuZyBkaWRlZmluaXNpa2FuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlc2l6ZWRcbiIKK21zZ3N0ciAiVGlkYWsgYWRhIHBhcnRpc2kgeWFuZyBkaWRlZmluaXNpa2FuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1cGRhdGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiUGFydGlzaSB5YW5nIHRlcnBpbGloICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvciwgJTZqdSBNQilcbiIKK21zZ2lkX3BsdXJhbCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvcnMsICU2anUgTUIpXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTgxIG1pc2MtdXRpbHMvZmluZG1udC5jOjY4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MDUKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM5MSBzeXMtdXRpbHMvbHNucy5jOjQ1NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWRkIGxpbmUgdG8gb3V0cHV0IgorbXNnc3RyICJnYWdhbCBtZW5nYWxva2FzaWthbiBvdXRidWZmZXIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NDQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBkYXRhIHRvIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAiZ2FnYWwgbWVuZ2Fsb2thc2lrYW4gb3V0YnVmZmVyIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjY3IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTIyIG1pc2MtdXRpbHMvZmluZG1udC5jOjE1ODUKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODc0IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ1MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjMxMAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTcxMyBzeXMtdXRpbHMvbHNpcGMuYzozMzggc3lzLXV0aWxzL2xzbnMuYzo1MTEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjk3IHN5cy11dGlscy9zd2Fwb24uYzoyODAgc3lzLXV0aWxzL3dkY3RsLmM6MjU5CisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjQ4NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgImdhZ2FsIG1lbmdpbmlzaWFsaXNhc2kgYmFyaXMgcGVueWFuZ2dhXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NzggbWlzYy11dGlscy9maW5kbW50LmM6MTYxMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5NgorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDY1IHN5cy11dGlscy9sb3NldHVwLmM6MzIyIHN5cy11dGlscy9sb3NldHVwLmM6MzU4CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzE4IHN5cy11dGlscy9sc25zLmM6NTMyIHN5cy11dGlscy9wcmxpbWl0LmM6MzA2CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjg5IHN5cy11dGlscy93ZGN0bC5jOjI3MCBzeXMtdXRpbHMvenJhbWN0bC5jOjQ5MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICJnYWdhbCBtZW5naW5pc2lhbGlzYXNpIGJhcmlzIHBlbnlhbmdnYVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBibGtpZCBmaWx0ZXIgZm9yICclcyciCittc2dzdHIgImdhZ2FsIG1lbmdpbmlzaWFsaXNhc2kgYmFyaXMgcGVueWFuZ2dhXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIm1lbWJhY2EgbGFnaSB0YWJlbCBwYXJ0aXNpIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHR5cGUgJyVzJyBkZXRlY3RlZFxuIgorbXNnc3RyICIgICAgICAgICglcyB0YWJlbCBwYXJ0aXNpIHRlcmRldGVrc2kpLiAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgd2l0aCBubyBwYXJ0aXRpb25zIgorbXNnc3RyICJEaXNrICVzIHRpZGFrIG1lbWlsaWtpIHNlYnVhaCB0YWJlbCBwYXJ0aXNpIHlhbmcgdmFsaWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0aXRpb24+XSA8ZGlzaz5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzU2Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBwcmVzZW5jZSBhbmQgbnVtYmVyaW5nIG9mIHBhcnRpdGlvbnMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1OQorbXNnaWQgIiAtYSwgLS1hZGQgICAgICAgICAgICBhZGQgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYwCittc2dpZCAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIGRlbGV0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjEKK21zZ2lkICIgLXUsIC0tdXBkYXRlICAgICAgICAgdXBkYXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MgorIywgZnV6enkKK21zZ2lkICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgIGxpc3QgcGFydGl0aW9uc1xuIgorIlxuIgorbXNnc3RyICIgICAgICAgICAgICAgIHBhcmFtZXRlcnNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MyBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyMworbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjQKK21zZ2lkICIgLWcsIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tc2hvd1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjUKK21zZ2lkICIgLW4sIC0tbnIgPG46bT4gICAgICAgc3BlY2lmeSB0aGUgcmFuZ2Ugb2YgcGFydGl0aW9ucyAoZS5nLiAtLW5yIDI6NClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY2CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1vcHRzdHJpbmcgICAgICBQaWxpaGFuIHBlbmRlayB5YW5nIGRpa2VuYWxcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NyBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNworIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY4IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM4CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICBzcGVjaWZ5IHRoZSBwYXJ0aXRpb24gdHlwZSAoZG9zLCBic2QsIHNvbGFyaXMsIGV0Yy4pXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Nzc2CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdywgLS1yYXcgb3IgLS1wYWlycyk6XG4iCittc2dzdHIgIlBlcmludGFoIHlhbmcgdGVyc2VkaWE6XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NDkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tbnIgPE0tTj4gcmFuZ2UiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkyNAorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gYW5kIGRpc2sgbmFtZSBkbyBub3QgbWF0Y2giCittc2dzdHIgIiIKKyJUYWJlbCBwYXJ0aXNpIHRlbGFoIGRpdWJhaCFcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1MgorIywgZnV6enkKK21zZ2lkICItLW5yIGFuZCA8cGFydGl0aW9uPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItLW9mZnNldCBkYW4gLS1hbGwgYWRhbGFoICdtdXR1YWxseSBleGNsdXNpdmUnIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTcxCisjLCBjLWZvcm1hdAorbXNnaWQgInBhcnRpdGlvbjogJXMsIGRpc2s6ICVzLCBsb3dlcjogJWQsIHVwcGVyOiAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlIHBhcnRpdGlvbnMiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmdoYXB1cyBzZWJ1YWggcGFydGlzaSBrb3NvbmciCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb25lZCBsb29wIGRldmljZXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgImtlY2VwYXRhbiAlZCB0aWRhayBkaWR1a3VuZyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBibGtpZCBwcm9iZXIiCittc2dzdHIgImdhZ2FsIG1lbmdpbmlzaWFsaXNhc2kgYmFyaXMgcGVueWFuZ2dhXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzICUyJHNyYXdOIDxtYWpvcj4gPG1pbm9yPlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPGJsb2NrZGV2aWNlPlxuIgorIiAlMSRzIC1xICUyJHNyYXdOXG4iCisiICUxJHMgLXFhXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo1OAorbXNnaWQgIkJpbmQgYSByYXcgY2hhcmFjdGVyIGRldmljZSB0byBhIGJsb2NrIGRldmljZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYxCittc2dpZCAiIC1xLCAtLXF1ZXJ5ICAgIHNldCBxdWVyeSBtb2RlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICBxdWVyeSBhbGwgcmF3IGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgdGhlIGNvbnRyb2wgcmF3IGRldmljZSAodXNlIHJhdzxOPiB3aGVyZSA8Tj4gaXMgZ3JlYXRlciB0aGFuIHplcm8pIgorbXNnc3RyICJQZXJhbmdrYXQgJyVzJyBhZGFsYWggcGVyYW5na2F0IGtvbnRyb2wgcmF3IChndW5ha2FuIHJhdzxOPiBkaW1hbmEgPE4+IGxlYmloIGJlc2FyIGRhcmkgbm9sKVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSBibG9jayBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVsb2thc2lrYW4gcGVyYW5na2F0IGJsb2sgJyVzJyAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIlBlcmFuZ2thdCAnJXMnIGJ1a2FuIHNlYnVhaCBwZXJhbmdrYXQgYmxva1xuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE5MyBkaXNrLXV0aWxzL3Jhdy5jOjE5NiBzeXMtdXRpbHMvaXBjcm0uYzozNTEKKyM6IHN5cy11dGlscy9pcGNybS5jOjM2NCBzeXMtdXRpbHMvaXBjcm0uYzozNzcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGFyZ3VtZW50IgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWthIHBlcmFuZ2thdCBtYXN0ZXIgcmF3ICciCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZ2Fsb2thc2lrYW4gcGVyYW5na2F0IHJhdyAnJXMnICglcylcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJhdyBkZXZpY2UgJyVzJyBpcyBub3QgYSBjaGFyYWN0ZXIgZGV2IgorbXNnc3RyICJQZXJhbmdrYXQgcmF3ICclcycgYnVrYW4gc2VidWFoIHBlcmFuZ2thdCBrYXJha3RlclxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgcmF3IGRldiIKK21zZ3N0ciAiUGVyYW5na2F0ICclcycgYnVrYW4gc2VidWFoIHBlcmFuZ2thdCByYXdcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNDUKKyMsIGZ1enp5Cittc2dpZCAiRXJyb3IgcXVlcnlpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAiRXJyb3IgbWVuYW55YWthbiBwZXJhbmdrYXQgcmF3ICglcylcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNTQgZGlzay11dGlscy9yYXcuYzoyNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzcmF3JWQ6ICBib3VuZCB0byBtYWpvciAlZCwgbWlub3IgJWRcbiIKK21zZ3N0ciAicmF3JWQ6XHR0ZXJpa2F0IGtlIG1ham9yICVkLCBtaW5vciAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI2OAorIywgZnV6enkKK21zZ2lkICJFcnJvciBzZXR0aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIkVycm9yIG1lbmdrb25maWd1cmFzaSBwZXJhbmdrYXQgcmF3ICglcylcbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8bGVuZ3RoPlxuIgorbXNnc3RyICJwZW5nZ3VuYWFuOiBzZmRpc2sgLS1pZCBwZXJhbmdrYXQgbm9tb3ItcGFydGlzaSBbSWRdXG4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjIzCittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBuZXcgc2l6ZSBvZiBhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gbnVtYmVyICVzIgorbXNnc3RyICJzZWVrIGdhZ2FsIGRhbGFtIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uIgorbXNnc3RyICJtZW1iYWNhIGxhZ2kgdGFiZWwgcGFydGlzaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG5lc3RlZCBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICJnYWdhbCBtZW5nYWxva2FzaWthbiBvdXRidWZmZXIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2VlayAlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVsYWt1a2FuIGZvcmsiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzAyIGxpYmZkaXNrL3NyYy9ic2QuYzo3MjMgbGliZmRpc2svc3JjL2JzZC5jOjg5NAorIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNjMgc3lzLXV0aWxzL2h3Y2xvY2suYzoxNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSAlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVrYSAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTEycyAob2Zmc2V0ICU1anUsIHNpemUgJTVqdSk6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCIKK21zZ3N0ciAiJXM6ICVzOiB0aWRhayBkYXBhdCBtZW51bGlzIHBhZ2Ugc2lnbmF0dXJlOiAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMjgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCBmaWxlLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgIiVzOiAlczogdGlkYWsgZGFwYXQgbWVudWxpcyBwYWdlIHNpZ25hdHVyZTogJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzU0Cittc2dpZCAiQmFja3VwIGZpbGVzOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM3OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBuZXcgcGFydGl0aW9uIGZyb20gZGV2aWNlOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAibWVtYmFjYSBsYWdpIHRhYmVsIHBhcnRpc2kiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgInNlZWsgZ2FnYWwgZGFsYW0gd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAic2VlayBnYWdhbCBkYWxhbSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgInNlZWsgZ2FnYWwgZGFsYW0gd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAic2VlayBnYWdhbCBkYWxhbSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg5CisjLCBmdXp6eQorbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaGFzIG5vdCBiZWVuIG1vdmVkOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAic2VlayBnYWdhbCBkYWxhbSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkxCittc2dpZCAibmV3IHBhcnRpdGlvbiBpcyBzbWFsbGVyIHRoYW4gb3JpZ2luYWw7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQxCittc2dpZCAiRGF0YSBtb3ZlOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIHR5cGVzY3JpcHQgZmlsZTogJXMiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbWJ1a2EgYmVya2FzIHR5cGVzY3JpcHQgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiBvbGQgc3RhcnQ6ICVqdSwgbmV3IHN0YXJ0OiAlanUgKG1vdmUgJWp1IHNlY3RvcnMpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTEKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gbW92ZSBwYXJ0aXRpb24gZGF0YT8iCittc2dzdHIgIkFuZGEgaW5naW4gbWVudWxpcyBpbmkga2UgZGlzaz8gW3lucV0gIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1MyBkaXNrLXV0aWxzL3NmZGlzay5jOjE3ODMKK21zZ2lkICJMZWF2aW5nLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjUyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBtb3ZlIGRhdGEiCittc2dzdHIgIiVzOiBnYWdhbCB1bnR1ayBtZW1idWthOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0MQorIywgZnV6enkKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGlzIHVuY2hhbmdlZCAoLS1uby1hY3QpLiIKK21zZ3N0ciAiIgorIlRhYmVsIHBhcnRpc2kgdGVsYWggZGl1YmFoIVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0NworIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiIgorIlRhYmVsIHBhcnRpc2kgdGVsYWggZGl1YmFoIVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbGFiZWwgJyVzJyIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MjYKK21zZ2lkICIiCisiSWQgIE5hbWVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIk5hbWEgSWRcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2NTYKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorbXNnc3RyICIgJXM6IHRpcGUgdGFiZWwgcGFydGlzaSB0aWRhayBkaWtldGFodWlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtcGVyb2xlaCB1a3VyYW4gZGFyaSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidG90YWw6ICVqdSBibG9ja3NcbiIKK21zZ3N0ciAianVtbGFoOiAlbGx1IGJsb2Nrc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgwOCBkaXNrLXV0aWxzL3NmZGlzay5jOjg3NiBkaXNrLXV0aWxzL3NmZGlzay5jOjkxNworIzogZGlzay11dGlscy9zZmRpc2suYzo5NDcgZGlzay11dGlscy9zZmRpc2suYzoxMDE0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA3OAorIzogZGlzay11dGlscy9zZmRpc2suYzoxMTMzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE4OSBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MzMKKyMsIGZ1enp5Cittc2dpZCAibm8gZGlzayBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJtb3VudDogcGVyYW5na2F0IGxvb3AgZGlzcGVzaWZpa2FzaWthbiBkdWEga2FsaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MTkKK21zZ2lkICJ0b2dnbGUgYm9vdCBmbGFncyBpcyBzdXBwb3J0ZWQgZm9yIE1CUiBvbmx5IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODUwIGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxOQorIzogZGlzay11dGlscy9zZmRpc2suYzoxMDgzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzOCBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTQKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUzMSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgInNlZWsgZ2FnYWwgZGFsYW0gd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICVkOiBmYWlsZWQgdG8gdG9nZ2xlIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4OTEgZGlzay11dGlscy9zZmRpc2suYzo4OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZGVsZXRlIgorbXNnc3RyICJzZWVrIGdhZ2FsIGRhbGFtIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIkRpc2sgJXMgdGlkYWsgbWVtaWxpa2kgc2VidWFoIHRhYmVsIHBhcnRpc2kgeWFuZyB2YWxpZFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk1OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgZHVtcCBzdHJ1Y3QiCittc2dzdHIgImdhZ2FsIG1lbmdhbG9rYXNpa2FuIG91dGJ1ZmZlciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZHVtcCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIm1lbWJhY2EgbGFnaSB0YWJlbCBwYXJ0aXNpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiB0YWJsZSBmb3VuZCIKK21zZ3N0ciAiVGlkYWsgYWRhIHRhYmVsIHBhcnRpc2kuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIHRhYmxlIGNvbnRhaW5zIG9ubHkgJXp1IHBhcnRpdGlvbnMiCittc2dzdHIgIkRpc2sgJXMgdGlkYWsgbWVtaWxpa2kgc2VidWFoIHRhYmVsIHBhcnRpc2kgeWFuZyB2YWxpZFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiBpcyB1bnVzZWQiCittc2dzdHIgIlBlcmluZ2F0YW46IHBhcnRpc2kgJWQgb3ZlcmxhcHMgcGFydGlzaSAlZC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDE4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4MiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzcKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5MworIywgZnV6enkKK21zZ2lkICJubyBwYXJ0aXRpb24gbnVtYmVyIHNwZWNpZmllZCIKK21zZ3N0ciAibmFtYSBiZXJrYXMgdGlkYWsgZGlzcGVzaWZpa2FzaWthbi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAyNCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODggZGlzay11dGlscy9zZmRpc2suYzoxMTQzCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTkKKyMsIGZ1enp5Cittc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudHMiCittc2dzdHIgImRpZHVnYSBzZWJ1YWggbm9tb3IsIHRldGFwaSBkaXBlcm9sZWggJyVzJyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAic2VlayBnYWdhbCBkYWxhbSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIHBhcnRpdGlvbiB0eXBlICclcyciCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiRGlzayAlcyB0aWRhayBtZW1pbGlraSBzZWJ1YWggdGFiZWwgcGFydGlzaSB5YW5nIHZhbGlkXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIkRpc2sgJXMgdGlkYWsgbWVtaWxpa2kgc2VidWFoIHRhYmVsIHBhcnRpc2kgeWFuZyB2YWxpZFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMTMgZGlzay11dGlscy9zZmRpc2suYzoxMTY4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIyMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG9iamVjdCIKK21zZ3N0ciAiZ2FnYWwgbWVuZ2Fsb2thc2lrYW4gb3V0YnVmZmVyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJEaXNrICVzIHRpZGFrIG1lbWlsaWtpIHNlYnVhaCB0YWJlbCBwYXJ0aXNpIHlhbmcgdmFsaWRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAic2VlayBnYWdhbCBkYWxhbSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgInNlZWsgZ2FnYWwgZGFsYW0gd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBhdHRyaWJ1dGVzIgorbXNnc3RyICJEaXNrICVzIHRpZGFrIG1lbWlsaWtpIHNlYnVhaCB0YWJlbCBwYXJ0aXNpIHlhbmcgdmFsaWRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjY5CisjLCBmdXp6eQorbXNnaWQgIiBDb21tYW5kczpcbiIKK21zZ3N0ciAiUGVyaW50YWggeWFuZyB0ZXJzZWRpYTpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjcxCisjLCBmdXp6eQorbXNnaWQgIiAgIHdyaXRlICAgIHdyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgdyAgIHR1bGlzIHRhYmVsIGtlIGRpc2sgZGFuIGtlbHVhciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjcyCittc2dpZCAiICAgcXVpdCAgICAgc2hvdyBuZXcgc2l0dWF0aW9uIGFuZCB3YWl0IGZvciB1c2VyJ3MgZmVlZGJhY2sgYmVmb3JlIHdyaXRlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjczCittc2dpZCAiICAgYWJvcnQgICAgZXhpdCBzZmRpc2sgc2hlbGxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzQKKyMsIGZ1enp5Cittc2dpZCAiICAgcHJpbnQgICAgZGlzcGxheSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgIHAgICBjZXRhayB0YWJlbCBwYXJ0aXNpIEJTRCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjc1CisjLCBmdXp6eQorbXNnaWQgIiAgIGhlbHAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjc3Cittc2dpZCAiICAgQ3RybC1EICAgdGhlIHNhbWUgYXMgJ3F1aXQnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjgxCittc2dpZCAiIElucHV0IGZvcm1hdDpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODMKK21zZ2lkICIgICA8c3RhcnQ+LCA8c2l6ZT4sIDx0eXBlPiwgPGJvb3RhYmxlPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4NgorbXNnaWQgIiIKKyIgICA8c3RhcnQ+ICBCZWdpbm5pbmcgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgdGhlIGZpcnN0IGZyZWUgc3BhY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkxCittc2dpZCAiIgorIiAgIDxzaXplPiAgIFNpemUgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgYWxsIGF2YWlsYWJsZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTYKK21zZ2lkICIgICA8dHlwZT4gICBUaGUgcGFydGl0aW9uIHR5cGUuICBEZWZhdWx0IGlzIGEgTGludXggZGF0YSBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk3Cittc2dpZCAiICAgICAgICAgICAgTUJSOiBoZXggb3IgTCxTLEUsWCBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk4Cittc2dpZCAiICAgICAgICAgICAgR1BUOiBVVUlEIG9yIEwsUyxIIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDEKKyMsIGZ1enp5Cittc2dpZCAiICAgPGJvb3RhYmxlPiAgVXNlICcqJyB0byBtYXJrIGFuIE1CUiBwYXJ0aXRpb24gYXMgYm9vdGFibGUuXG4iCittc2dzdHIgIkFuZGEgdGlkYWsgYWthbiBkYXBhdCBtZW51bGlzIGtlIHRhYmVsIHBhcnRpc2kuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNQorbXNnaWQgIiBFeGFtcGxlOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNworIywgZnV6enkKK21zZ2lkICIgICAsIDRHICAgICBDcmVhdGVzIGEgNEdpQiBwYXJ0aXRpb24gYXQgZGVmYXVsdCBzdGFydCBvZmZzZXQuXG4iCittc2dzdHIgIiAgbiAgICAgICAgICBNZW1idWF0IHBhcnRpc2kgYmFydSBkYXJpIHJ1YW5nIHlhbmcgdGVyc2lzYS9rb3NvbmciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMzOSBzeXMtdXRpbHMvZG1lc2cuYzoxNDU1CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgInRpZGFrIGFkYSBwZXJpbnRhaD9cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICJ0aWRhayBhZGEgcGVyaW50YWg/XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUwMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIm1lbWJhY2EgbGFnaSB0YWJlbCBwYXJ0aXNpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NDEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICJnYWdhbCBtZW5nYWxva2FzaWthbiBvdXRidWZmZXIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBubyBwYXJ0aXRpb24gdGFibGUgd2FzIGZvdW5kIgorbXNnc3RyICJtZW1iYWNhIGxhZ2kgdGFiZWwgcGFydGlzaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICJEaXNrICVzIHRpZGFrIG1lbWlsaWtpIHNlYnVhaCB0YWJlbCBwYXJ0aXNpIHlhbmcgdmFsaWRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlczogcGFydGl0aW9uICVkIGlzIG5vdCBkZWZpbmVkIHlldCIKK21zZ3N0ciAiVGlkYWsgYWRhIHBhcnRpc2kgeWFuZyBzdWRhaCBkaWRlZmluaXNpa2FuIVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIldlbGNvbWUgdG8gc2ZkaXNrICglcykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NAorIywgZnV6enkKK21zZ2lkICJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIKK21zZ3N0ciAiTWVuZ2VjaGVjayBhcGFrYWggYWRhIHlhbmcgc2VkYW5nIG1lbmdndW5ha2FuIGRpc2sgc2FhdCBpbmkgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NworbXNnaWQgIiIKKyIgRkFJTEVEXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjAwCisjLCBmdXp6eQorbXNnaWQgIiIKKyJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZSAtIHJlcGFydGl0aW9uaW5nIGlzIHByb2JhYmx5IGEgYmFkIGlkZWEuXG4iCisiVW1vdW50IGFsbCBmaWxlIHN5c3RlbXMsIGFuZCBzd2Fwb2ZmIGFsbCBzd2FwIHBhcnRpdGlvbnMgb24gdGhpcyBkaXNrLlxuIgorIlVzZSB0aGUgLS1uby1yZXJlYWQgZmxhZyB0byBzdXBwcmVzcyB0aGlzIGNoZWNrLlxuIgorbXNnc3RyICIiCisiXG4iCisiRGlzayBpbmkgc2FhdCBpbmkgc2VkYW5nIGRpZ3VuYWthbiAtIHJlcGFydGl0aW9uaW5nIG11bmdraW4gbWVydXBha2FuIGlkZSBcbiIKKyJCdXJ1ay4gVW1vdW50IHNlbHVydWggZmlsZXN5c3RlbSwgZGFuIHN3YXBvZmYgc2VsdXJ1aCBwYXJ0aXNpIHN3YXAgZGkgZGlzayBcbiIKKyJpbmkuIEd1bmFrYW4gcGlsaWhhbiAtLW5vLXJlcmVhZCB1bnR1ayBtZW5la2FuIHBlbmdlY2hla2FuIGluaS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjA1CisjLCBmdXp6eQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIgorbXNnc3RyICJHdW5ha2FuIHBpbGloYW4gLS1mb3JjZSB1bnR1ayBtZW1ha3NhIHBlbWVyaWtzYWFuIHNlY2FyYSBrZXNlbHVydWhhbi5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjA3CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgT0tcbiIKKyJcbiIKK21zZ3N0ciAiJXM6IE9LXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYzNgorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiT2xkIHNpdHVhdGlvbjoiCittc2dzdHIgIktlYWRhYW4gbGFtYTpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKyJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY1NworIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiVHlwZSAnaGVscCcgdG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKyIlczogJXNcbiIKKyJDb2JhIGAlcyAtLWhlbHAnIHVudHVrIGluZm9ybWFzaSBsZWJpaCBsYW5qdXQuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY3NQorIywgZnV6enkKK21zZ2lkICJBbGwgcGFydGl0aW9ucyB1c2VkLiIKK21zZ3N0ciAiVGlkYWsgYWRhIHBhcnRpc2kgeWFuZyBkaXRlbXVrYW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzAzCisjLCBmdXp6eQorbXNnaWQgIkRvbmUuXG4iCittc2dzdHIgIlNlbGVzYWkuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcxNQorIywgZnV6enkKK21zZ2lkICJJZ25vcmluZyBwYXJ0aXRpb24uIgorbXNnc3RyICJKYW5nYW4gbWVtYnVhdCBzZWJ1YWggcGFydGlzaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzI0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgaGVhZGVycywgZGlzayBsYWJlbCBub3QgY3JlYXRlZC4iCittc2dzdHIgInNlZWsgZ2FnYWwgZGFsYW0gd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhZGQgIyVkIHBhcnRpdGlvbiIKK21zZ3N0ciAibWVtYmFjYSBsYWdpIHRhYmVsIHBhcnRpc2kiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc2MworbXNnaWQgIlNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc3MgorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiTmV3IHNpdHVhdGlvbjoiCittc2dzdHIgIktlYWRhYW4gYmFydTpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzgxCisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHdyaXRlIHRoaXMgdG8gZGlzaz8iCittc2dzdHIgIkFuZGEgaW5naW4gbWVudWxpcyBpbmkga2UgZGlzaz8gW3lucV0gIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3OTMKK21zZ2lkICJMZWF2aW5nLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2PiBbWy1OXSA8cGFydD5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBMQUJFTD08bmFtYT58VVVJRD08dXVpZD5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEyCittc2dpZCAiIgorIlxuIgorIkNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMworbXNnaWQgIiAtQSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gbGlzdCBvciBzZXQgYm9vdGFibGUgTUJSIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSAodXNhYmxlIGZvciBsYXRlciBpbnB1dClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE1CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgaW4gSlNPTiBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE2Cittc2dpZCAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxkZXY+IC4uLl0gICBsaXN0IGdlb21ldHJ5IG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCBbPGRldj4gLi4uXSAgICAgICAgICAgIGxpc3QgcGFydGl0aW9ucyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTgKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLWxpc3QtZnJlZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHVucGFydGl0aW9uZWQgZnJlZSBhcmVhcyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTkKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlb3JkZXIgPGRldj4gICAgICAgICAgICAgICBmaXggcGFydGl0aW9ucyBvcmRlciAoYnkgc3RhcnQgb2Zmc2V0KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjAKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNob3ctc2l6ZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHNpemVzIG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgVGVzdCB1bnR1ayB2ZXJzaSBnZXRvcHQoMSlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIxCisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJlY29nbml6ZWQgdHlwZXMgKHNlZSAtWClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIyCisjLCBmdXp6eQorbXNnaWQgIiAtViwgLS12ZXJpZnkgWzxkZXY+IC4uLl0gICAgICAgICAgdGVzdCB3aGV0aGVyIHBhcnRpdGlvbnMgc2VlbSBjb3JyZWN0XG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBJbmkgc2VkaWtpdCBwZXR1bmp1ayBwZW5nZ3VuYWFuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMworbXNnaWQgIiAgICAgLS1kZWxldGUgPGRldj4gWzxwYXJ0PiAuLi5dICAgZGVsZXRlIGFsbCBvciBzcGVjaWZpZWQgcGFydGl0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNgorbXNnaWQgIiAtLXBhcnQtbGFiZWwgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBsYWJlbFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNworbXNnaWQgIiAtLXBhcnQtdHlwZSA8ZGV2PiA8cGFydD4gWzx0eXBlPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI4CisjLCBmdXp6eQorbXNnaWQgIiAtLXBhcnQtdXVpZCA8ZGV2PiA8cGFydD4gWzx1dWlkPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB1dWlkXG4iCittc2dzdHIgIiAgICAtYyBbYXRhdSAtLWlkXTogICAgICBtZW5jZXRhayBhdGF1IG1lbmd1YmFiIElkIGRhcmkgcGFydGlzaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI5Cittc2dpZCAiIC0tcGFydC1hdHRycyA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGF0dHJpYnV0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzIKKyMsIGZ1enp5Cittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgZGV2aWNlICh1c3VhbGx5IGRpc2spIHBhdGhcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODMzCisjLCBmdXp6eQorbXNnaWQgIiA8cGFydD4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiICAgIC1OIyA6ICAgICAgICAgICAgICAgIGhhbnlhIG1lbmd1YmFoIHBhcnRpc2kgbm9tb3IgIyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM0Cittc2dpZCAiIDx0eXBlPiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIHR5cGUsIEdVSUQgZm9yIEdQVCwgaGV4IGZvciBNQlJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzcKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgYXBwZW5kIHBhcnRpdGlvbnMgdG8gZXhpc3RpbmcgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzgKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAgYmFja3VwIHBhcnRpdGlvbiB0YWJsZSBzZWN0b3JzIChzZWUgLU8pXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzkKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQwCittc2dpZCAiICAgICAtLW1vdmUtZGF0YVs9PHR5cGVzY3JpcHQ+XSBtb3ZlIHBhcnRpdGlvbiBkYXRhIGFmdGVyIHJlbG9jYXRpb24gKHJlcXVpcmVzIC1OKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZ1xuIgorbXNnc3RyICJBbmRhIGRhcGF0IG1lbWF0aWthbiBzZWx1cnVoIHBlbWVyaWtzYWFuIGtvbnNpc3RlbnNpIGRlbmdhbjoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NQorIywgZnV6enkKK21zZ2lkICIgLU4sIC0tcGFydG5vIDxudW0+ICAgICAgICBzcGVjaWZ5IHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiICAgIC1IIyBbYXRhdSAtLWhlYWRzICNdOiAgc2V0IGp1bWxhaCBkYXJpIGhlYWRzIHlhbmcgZGlndW5ha2FuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDYKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgd3JpdGUgdG8gZGV2aWNlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NworIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIGlzIGluIHVzZVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDgKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgZG8gbm90IHRlbGwga2VybmVsIGFib3V0IGNoYW5nZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIHRpZGFrIG1lbnVsaXMgc2ViZW5hcm55YSBrZSBkaXNrIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDkKK21zZ2lkICIgLU8sIC0tYmFja3VwLWZpbGUgPHBhdGg+ICBvdmVycmlkZSBkZWZhdWx0IGJhY2t1cCBmaWxlIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTAKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW9wdHN0cmluZyAgICAgIFBpbGloYW4gcGVuZGVrIHlhbmcgZGlrZW5hbFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTEKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcHJlc3MgZXh0cmEgaW5mbyBtZXNzYWdlc1xuIgorbXNnc3RyICIgICAgLXEgIFthdGF1IC0tcXVpZXRdOiAgICBtZW5la2FuIHBlc2FuIHBlcmluZ2F0YW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MgorIywgZnV6enkKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NAorIywgZnV6enkKK21zZ2lkICIgLVgsIC0tbGFiZWwgPG5hbWU+ICAgICAgICBzcGVjaWZ5IGxhYmVsIHR5cGUgKGRvcywgZ3B0LCAuLi4pXG4iCittc2dzdHIgIiAgLXMsIC0tc2hlbGw9c2hlbGwgICAgICAgICAgICBNZW5nZXNldCBzaGVsbCBxdW90aW5nIGNvbnZlbnRpb25zXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NQorbXNnaWQgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPG5hbWU+IHNwZWNpZnkgbmVzdGVkIGxhYmVsIHR5cGUgKGRvcywgYnNkKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NworbXNnaWQgIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIGRlcHJlY2F0ZWQsIGFsaWFzIHRvIC0tc2hvdy1nZW9tZXRyeVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OQorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IHNlY3RvciB1bml0IGlzIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjMgbG9naW4tdXRpbHMvY2hmbi5jOjEwMiBsb2dpbi11dGlscy9jaHNoLmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NzMKK21zZ2lkICItLWlkIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk4OQorbXNnaWQgIi0tc2hvdy1wdC1nZW9tZXRyeSBpcyBubyBtb3JlIGltcGxlbWVudGVkLiBVc2luZyAtLXNob3ctZ2VvbWV0cnkuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAwMAorbXNnaWQgIi0tTGludXggb3B0aW9uIGlzIHVubmVjZXNzYXJ5IGFuZCBkZXByZWNhdGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgdW5pdCAnJWMnIgorbXNnc3RyICIlczogYXJndW1lbnQgdGlkYWsgZGlrZXRhaHVpOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMzIgaW5jbHVkZS9jLmg6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXNcbiIKK21zZ3N0ciAiJXMgZGFyaSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIxMDkKK21zZ2lkICItLW1vdmVkYXRhIHJlcXVpcmVzIC1OIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBVVUlEOiAlcyIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBVVUlEIgorbXNnc3RyICIlczogZ2FnYWwgdW50dWsgYmVycGluZGFoIGtlIG9mc2V0IDB4JWp4IgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIFVVSUQiCittc2dzdHIgIiVzOiBnYWdhbCB1bnR1ayBtZW1idWthOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBsYWJlbCAiCittc2dzdHIgIiVzOiBnYWdhbCB1bnR1ayBiZXJwaW5kYWgga2Ugb2ZzZXQgMHglangiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAibGFiZWwgaXMgdG9vIGxvbmcuIFRydW5jYXRpbmcgaXQgdG8gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIGxhYmVsIgorbXNnc3RyICJzZWVrIGdhZ2FsIGRhbGFtIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjEKK21zZ2lkICJEaXNwbGF5IG9yIGNoYW5nZSB0aGUgbGFiZWwgb3IgVVVJRCBvZiBhIHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyNAorbXNnaWQgIiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiBzcGVjaWZ5IGEgbmV3IGxhYmVsXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgc3BlY2lmeSBhIG5ldyB1dWlkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxNjcKKyMsIGZ1enp5Cittc2dpZCAiaWdub3JlIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQpIgorbXNnc3RyICIlMSRzOiBwZXJpbmdhdGFuOiBtZW5nYWJhaWthbiAtVSAoVVVJRHMgdGlkYWsgZGlkdWt1bmcgb2xlaCAlMSRzKVxuIgorCisjOiBpbmNsdWRlL2MuaDoyOTkKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorbXNnc3RyICJQZW5nZ3VuYWFuOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMDAKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBpbGloYW46XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwMgorbXNnaWQgIiAtaCwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjMwMworIywgZnV6enkKK21zZ2lkICIgLVYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogaW5jbHVkZS9jLmg6MzA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRm9yIG1vcmUgZGV0YWlscyBzZWUgJXMuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJVbnR1ayBpbmZvcm1hc2kgbGViaWggbGFuanV0IGxpaGF0IHdpcGVmcyg4KS5cbiIKKyJcbiIKKworIzogaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ2IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0OCBsb2dpbi11dGlscy92aXB3LmM6MjczCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjkyIHN5cy11dGlscy9ydGN3YWtlLmM6MjgwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjgwNQorIzogdGV4dC11dGlscy9jb2wuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgZXJyb3IiCittc2dzdHIgImNvbDogd3JpdGUgZXJyb3IuXG4iCisKKyM6IGluY2x1ZGUvY29sb3JzLmg6MjcKKyMsIGZ1enp5Cittc2dpZCAiY29sb3JzIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgIkxvZ2luIGRpICVzIGRhcmkgJXMgZGl0b2xhayBzZWNhcmEgZGFmYXVsdC5cbiIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyOQorIywgZnV6enkKK21zZ2lkICJjb2xvcnMgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgIkxvZ2luIGRpICVzIGRhcmkgJXMgZGl0b2xhayBzZWNhcmEgZGFmYXVsdC5cbiIKKworIzogaW5jbHVkZS9lbnYuaDoxOCBsaWIvcGFnZXIuYzoxNTEgbG9naW4tdXRpbHMvbG9naW4uYzoxMDUyCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwNTYgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTI5CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICJnYWdhbCBtZW5zZXQga2ViaWpha2FuIHBpZCAlZCIKKworIzogaW5jbHVkZS9vcHR1dGlscy5oOjgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdGhlc2Ugb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlOiIKK21zZ3N0ciAiLS1vZmZzZXQgZGFuIC0tYWxsIGFkYWxhaCAnbXV0dWFsbHkgZXhjbHVzaXZlJyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MQorbXNnaWQgIkVtcHR5IgorbXNnc3RyICJLb3NvbmciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIKK21zZ2lkICJGQVQxMiIKK21zZ3N0ciAiRkFUMTIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMKK21zZ2lkICJYRU5JWCByb290IgorbXNnc3RyICJYRU5JWCByb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0Cittc2dpZCAiWEVOSVggdXNyIgorbXNnc3RyICJYRU5JWCB1c3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUKK21zZ2lkICJGQVQxNiA8MzJNIgorbXNnc3RyICJGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2Cittc2dpZCAiRXh0ZW5kZWQiCittc2dzdHIgIkV4dGVuZGVkIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3Cittc2dpZCAiRkFUMTYiCittc2dzdHIgIkZBVDE2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4CisjLCBmdXp6eQorbXNnaWQgIkhQRlMvTlRGUy9leEZBVCIKK21zZ3N0ciAiSFBGUy9OVEZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5Cittc2dpZCAiQUlYIgorbXNnc3RyICJBSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwCittc2dpZCAiQUlYIGJvb3RhYmxlIgorbXNnc3RyICJBSVggYm9vdGFibGUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjExCittc2dpZCAiT1MvMiBCb290IE1hbmFnZXIiCittc2dzdHIgIk9TLzIgQm9vdCBNYW5hZ2VyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMgorbXNnaWQgIlc5NSBGQVQzMiIKK21zZ3N0ciAiVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMworbXNnaWQgIlc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNAorbXNnaWQgIlc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNQorbXNnaWQgIlc5NSBFeHQnZCAoTEJBKSIKK21zZ3N0ciAiVzk1IEV4dCdkIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNgorbXNnaWQgIk9QVVMiCittc2dzdHIgIk9QVVMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE3Cittc2dpZCAiSGlkZGVuIEZBVDEyIgorbXNnc3RyICJGQVQxMiBUZXJzZW1idW55aSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTgKK21zZ2lkICJDb21wYXEgZGlhZ25vc3RpY3MiCittc2dzdHIgIkNvbXBhcSBkaWFnbm9zdGljcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTkKK21zZ2lkICJIaWRkZW4gRkFUMTYgPDMyTSIKK21zZ3N0ciAiRkFUMTYgVGVyc2VtYnVueWkgPDMyTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjAKK21zZ2lkICJIaWRkZW4gRkFUMTYiCittc2dzdHIgIkZBVDE2IFRlcnNlbWJ1bnlpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMQorbXNnaWQgIkhpZGRlbiBIUEZTL05URlMiCittc2dzdHIgIkhQRlMvTlRGUyBUZXJzZW1idW55aSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjIKK21zZ2lkICJBU1QgU21hcnRTbGVlcCIKK21zZ3N0ciAiQVNUIFNtYXJ0U2xlZXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIzCittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiIKK21zZ3N0ciAiVzk1IEZBVDMyIFRlcnNlbWJ1bnlpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNAorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIlc5NSBGQVQzMiAoTEJBKSBUZXJzZW1idW55aSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjUKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICJXOTUgRkFUMTYgKExCQSkgVGVyc2VtYnVueWkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI2Cittc2dpZCAiTkVDIERPUyIKK21zZ3N0ciAiTkVDIERPUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjcKKyMsIGZ1enp5Cittc2dpZCAiSGlkZGVuIE5URlMgV2luUkUiCittc2dzdHIgIkhQRlMvTlRGUyBUZXJzZW1idW55aSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjgKK21zZ2lkICJQbGFuIDkiCittc2dzdHIgIlBsYW4gOSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjkKK21zZ2lkICJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIKK21zZ3N0ciAiUGFydGl0aW9uTWFnaWMgcmVjb3ZlcnkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMwCittc2dpZCAiVmVuaXggODAyODYiCittc2dzdHIgIlZlbml4IDgwMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMQorbXNnaWQgIlBQQyBQUmVQIEJvb3QiCittc2dzdHIgIlBQQyBQUmVQIEJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMyCittc2dpZCAiU0ZTIgorbXNnc3RyICJTRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMzCittc2dpZCAiUU5YNC54IgorbXNnc3RyICJRTlg0LngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM0Cittc2dpZCAiUU5YNC54IDJuZCBwYXJ0IgorbXNnc3RyICJRTlg0LnggMm5kIHBhcnQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM1Cittc2dpZCAiUU5YNC54IDNyZCBwYXJ0IgorbXNnc3RyICJRTlg0LnggM3JkIHBhcnQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM2Cittc2dpZCAiT25UcmFjayBETSIKK21zZ3N0ciAiT25UcmFjayBETSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzcKK21zZ2lkICJPblRyYWNrIERNNiBBdXgxIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgxIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOAorbXNnaWQgIkNQL00iCittc2dzdHIgIkNQL00iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM5Cittc2dpZCAiT25UcmFjayBETTYgQXV4MyIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDAKK21zZ2lkICJPblRyYWNrRE02IgorbXNnc3RyICJPblRyYWNrRE02IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MQorbXNnaWQgIkVaLURyaXZlIgorbXNnc3RyICJFWi1Ecml2ZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDIKK21zZ2lkICJHb2xkZW4gQm93IgorbXNnc3RyICJHb2xkZW4gQm93IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MworbXNnaWQgIlByaWFtIEVkaXNrIgorbXNnc3RyICJQcmlhbSBFZGlzayIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDQgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTEKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk5Cittc2dpZCAiU3BlZWRTdG9yIgorbXNnc3RyICJTcGVlZFN0b3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ1Cittc2dpZCAiR05VIEhVUkQgb3IgU3lzViIKK21zZ3N0ciAiR05VIEhVUkQgYXRhdXMgU3lzViIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDYKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAyODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDcKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAzODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDM4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDgKK21zZ2lkICJEaXNrU2VjdXJlIE11bHRpLUJvb3QiCittc2dzdHIgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDkKK21zZ2lkICJQQy9JWCIKK21zZ3N0ciAiUEMvSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUwCittc2dpZCAiT2xkIE1pbml4IgorbXNnc3RyICJPbGQgTWluaXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUxCittc2dpZCAiTWluaXggLyBvbGQgTGludXgiCittc2dzdHIgIk1pbml4IC8gb2xkIExpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MgorbXNnaWQgIkxpbnV4IHN3YXAgLyBTb2xhcmlzIgorbXNnc3RyICJMaW51eCBzd2FwIC8gU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTMKK21zZ2lkICJMaW51eCIKK21zZ3N0ciAiTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU0Cittc2dpZCAiT1MvMiBoaWRkZW4gb3IgSW50ZWwgaGliZXJuYXRpb24iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTcKK21zZ2lkICJMaW51eCBleHRlbmRlZCIKK21zZ3N0ciAiTGludXggZXh0ZW5kZWQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU5Cittc2dpZCAiTlRGUyB2b2x1bWUgc2V0IgorbXNnc3RyICJOVEZTIHZvbHVtZSBzZXQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYwCittc2dpZCAiTGludXggcGxhaW50ZXh0IgorbXNnc3RyICJMaW51eCBwbGFpbnRleHQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYxIGxpYmZkaXNrL3NyYy9ncHQuYzoyMDUgbGliZmRpc2svc3JjL3NnaS5jOjYzCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTQKK21zZ2lkICJMaW51eCBMVk0iCittc2dzdHIgIkxpbnV4IExWTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjIKK21zZ2lkICJBbW9lYmEiCittc2dzdHIgIkFtb2ViYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjMKK21zZ2lkICJBbW9lYmEgQkJUIgorbXNnc3RyICJBbW9lYmEgQkJUIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NAorbXNnaWQgIkJTRC9PUyIKK21zZ3N0ciAiQlNEL09TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NQorbXNnaWQgIklCTSBUaGlua3BhZCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiSUJNIFRoaW5rcGFkIGhpYmVybmF0aW9uIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NgorbXNnaWQgIkZyZWVCU0QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY3Cittc2dpZCAiT3BlbkJTRCIKK21zZ3N0ciAiT3BlbkJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjgKK21zZ2lkICJOZVhUU1RFUCIKK21zZ3N0ciAiTmV4dFNURVAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY5Cittc2dpZCAiRGFyd2luIFVGUyIKK21zZ3N0ciAiRGFyd2luIFVGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzAKK21zZ2lkICJOZXRCU0QiCittc2dzdHIgIk5ldEJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzEKK21zZ2lkICJEYXJ3aW4gYm9vdCIKK21zZ3N0ciAiRGFyd2luIGJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcyCittc2dpZCAiSEZTIC8gSEZTKyIKK21zZ3N0ciAiSEZTIC8gSFBGKyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzMKK21zZ2lkICJCU0RJIGZzIgorbXNnc3RyICJCU0RJIGZzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NAorbXNnaWQgIkJTREkgc3dhcCIKK21zZ3N0ciAiQlNESSBzd2FwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NQorbXNnaWQgIkJvb3QgV2l6YXJkIGhpZGRlbiIKK21zZ3N0ciAiQm9vdCBXaXphcmQgaGlkZGVuIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NgorIywgZnV6enkKK21zZ2lkICJBY3JvbmlzIEZBVDMyIExCQSIKK21zZ3N0ciAiVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NyBsaWJmZGlzay9zcmMvZ3B0LmM6MjMwCittc2dpZCAiU29sYXJpcyBib290IgorbXNnc3RyICJTb2xhcmlzIGJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc4Cittc2dpZCAiU29sYXJpcyIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzkKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xMikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTEyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODAKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODEKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTE2KSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODIKK21zZ2lkICJTeXJpbngiCittc2dzdHIgIlN5cmlueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODMKK21zZ2lkICJOb24tRlMgZGF0YSIKK21zZ3N0ciAiTm9uLUZTIGRhdGEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg0Cittc2dpZCAiQ1AvTSAvIENUT1MgLyAuLi4iCittc2dzdHIgIkNQL00gLyBDVE9TIC8gLi4uIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NgorbXNnaWQgIkRlbGwgVXRpbGl0eSIKK21zZ3N0ciAiRGVsbCBVdGlsaXR5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NworbXNnaWQgIkJvb3RJdCIKK21zZ3N0ciAiQm9vdEl0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4OAorbXNnaWQgIkRPUyBhY2Nlc3MiCittc2dzdHIgIkRPUyBhY2Nlc3MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkwCittc2dpZCAiRE9TIFIvTyIKK21zZ3N0ciAiRE9TIFIvTyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTMKKyMsIGZ1enp5Cittc2dpZCAiUnVmdXMgYWxpZ25tZW50IgorbXNnc3RyICJhcmd1bWVuIHRpZGFrIGJhaWsiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk0Cittc2dpZCAiQmVPUyBmcyIKK21zZ3N0ciAiQmVPUyBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTYKK21zZ2lkICJFRkkgKEZBVC0xMi8xNi8zMikiCittc2dzdHIgIkVGSSAoRkFULTEyLzE2LzMyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTcKK21zZ2lkICJMaW51eC9QQS1SSVNDIGJvb3QiCittc2dzdHIgIkxpbnV4L1BBLVJJU0MgYm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAwCittc2dpZCAiRE9TIHNlY29uZGFyeSIKK21zZ3N0ciAiRE9TIHNlY29uZGFyeSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAxCittc2dpZCAiVk13YXJlIFZNRlMiCittc2dzdHIgIlZNd2FyZSBWTUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDIKK21zZ2lkICJWTXdhcmUgVk1LQ09SRSIKK21zZ3N0ciAiVk13YXJlIFZNS0NPUkUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMyBsaWJmZGlzay9zcmMvc3VuLmM6NTUKK21zZ2lkICJMaW51eCByYWlkIGF1dG9kZXRlY3QiCittc2dzdHIgIkxpbnV4IHJhaWQgYXV0b2RldGVjdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA2Cittc2dpZCAiTEFOc3RlcCIKK21zZ3N0ciAiTEFOc3RlcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA3Cittc2dpZCAiQkJUIgorbXNnc3RyICJCQlQiCisKKyM6IGxpYi9ibGtkZXYuYzoyODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzIGlzIG1pc2FsaWduZWQiCittc2dzdHIgIlBlcmluZ2F0YW46ICVzIGJ1a2FuIHNlYnVhaCBwZXJhbmdrYXQgYmxvY2tcbiIKKworIzogbGliZmRpc2svc3JjL2FsaWdubWVudC5jOjY3MgorIywgZnV6enkKK21zZ2lkICJDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJNZW1hbmdnaWwgaW9jdGwoKSB1bnR1ayBtZW1iYWNhIGtlbWJhbGkgdGFiZWwgcGFydGlzaS5cbiIKKworIzogbGliZmRpc2svc3JjL2FsaWdubWVudC5jOjY4MQorIywgZnV6enkKK21zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLiIKK21zZ3N0ciAiTWVtYmFjYSBrZW1iYWxpIHRhYmVsIHBhcnRpc2kgLi4uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2ODMKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgdGFibGUuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdCBvciBhZnRlciB5b3UgcnVuIHBhcnRwcm9iZSg4KSBvciBrcGFydHgoOCkuIgorbXNnc3RyICIiCisiXG4iCisiUEVSSU5HQVRBTjogTWVtYmFjYSBrZW1iYWxpIHRhYmxlIHBhcnRpc2kgZ2FnYWwgZGVuZ2FuIGVycm9yICVkOiAlcy5cbiIKKyJLZXJuZWwgbWFzaWggbWVuZ2d1bmFrYW4gdGFiZWwgeWFuZyBsYW1hLlRhYmVsIHlhbmcgYmFydSBha2FuIGRpZ3VuYWthblxuIgorInNldGVsYWggcmVib290IGF0YXUgc2V0ZWxhaCBhbmRhIG1lbmphbGFua2FuIHBhcnRwcm9iZSg4KSBhdGF1IGtwYXJ0eCg4KVxuIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDcyIGxpYmZkaXNrL3NyYy9hc2suYzo0ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdGVkIHBhcnRpdGlvbiAlanUiCittc2dzdHIgIlBhcnRpc2kgeWFuZyB0ZXJwaWxpaCAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDc1CisjLCBmdXp6eQorbXNnaWQgIk5vIHBhcnRpdGlvbiBpcyBkZWZpbmVkIHlldCEiCittc2dzdHIgIlRpZGFrIGFkYSBwYXJ0aXNpIHlhbmcgc3VkYWggZGlkZWZpbmlzaWthbiFcbiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ4NworIywgZnV6enkKK21zZ2lkICJObyBmcmVlIHBhcnRpdGlvbiBhdmFpbGFibGUhIgorbXNnc3RyICJUaWRhayBhZGEgc2VrdG9yIHlhbmcga29zb25nXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0OTcKK21zZ2lkICJQYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJOb21vciBwYXJ0aXNpIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6OTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IHBhcnRpdGlvbiAlZCBvZiB0eXBlICclcycgYW5kIG9mIHNpemUgJXMuIgorbXNnc3RyICJQYXJ0aXNpICVkIGJlbHVtIGFkYSFcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICJQYXJ0aXNpICVzIG1lbXB1bnlhaSBzZWt0b3IgMCBhd2FsIHlhbmcgdGlkYWsgdmFsaWQuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZXJlIGlzIG5vICpCU0QgcGFydGl0aW9uIG9uICVzLiIKK21zZ3N0ciAiVGlkYWsgYWRhIHBhcnRpc2kgKkJTRCBkaSAlcy5cbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI1OSBsaWJmZGlzay9zcmMvZG9zLmM6OTMzCisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IGN5bGluZGVyIgorbXNnc3RyICJjeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5MiBsaWJmZGlzay9zcmMvZG9zLmM6MTE2MQorIywgZnV6enkKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIlRlcmFraGlyICUxJHMsICslMiRzIGF0YXUgK3NpemV7SyxNLEd9IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6Mjk3IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTY2IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjU1CisjLCBmdXp6eQorbXNnaWQgIkxhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICJUZXJha2hpciAlMSRzLCArJTIkcyBhdGF1ICtzaXple0ssTSxHfSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRldmljZSAlcyBkb2VzIG5vdCBjb250YWluIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICIlcyB0aWRhayB0ZXJkYXBhdCBkaXNrbGFiZWwuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODMKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gY3JlYXRlIGEgQlNEIGRpc2tsYWJlbD8iCittc2dzdHIgIkFuZGEgaW5naW4gbWVtYnVhdCBzZWJ1YWggZGlza2xhYmVsPyAoeS9uKSAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NDkKKyMsIGZ1enp5Cittc2dpZCAiRGlzayIKK21zZ3N0ciAiZGlzazogJS4qc1xuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDU2Cittc2dpZCAiUGFja25hbWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MyBsaWJmZGlzay9zcmMvc3VuLmM6MTExNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICJUYW5kYSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NgorbXNnaWQgIiByZW1vdmFibGUiCittc2dzdHIgIiByZW1vdmFibGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjcKK21zZ2lkICIgZWNjIgorbXNnc3RyICIgZWNjIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY4Cittc2dpZCAiIGJhZHNlY3QiCittc2dzdHIgIiBiYWRzZWN0IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDc2CisjLCBmdXp6eQorbXNnaWQgIkJ5dGVzL1NlY3RvciIKK21zZ3N0ciAiYnl0ZXMvc2VrdG9yIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDgxCisjLCBmdXp6eQorbXNnaWQgIlRyYWNrcy9DeWxpbmRlciIKK21zZ3N0ciAidHJhY2tzL2N5bGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDg2CisjLCBmdXp6eQorbXNnaWQgIlNlY3RvcnMvQ3lsaW5kZXIiCittc2dzdHIgInNla3Rvci9jeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5MSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOCBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMworIzogbGliZmRpc2svc3JjL3NnaS5jOjExNTcgbGliZmRpc2svc3JjL3N1bi5jOjE5NiBsaWJmZGlzay9zcmMvc3VuLmM6MTExMworbXNnaWQgIkN5bGluZGVycyIKK21zZ3N0ciAiQ3lsaW5kZXJzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDk2IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjAKKyMsIGZ1enp5Cittc2dpZCAiUnBtIgorbXNnc3RyICJycG0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDEgbGliZmRpc2svc3JjL3NnaS5jOjI5MiBsaWJmZGlzay9zcmMvc3VuLmM6NzgwCisjLCBmdXp6eQorbXNnaWQgIkludGVybGVhdmUiCittc2dzdHIgImludGVybGVhdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDYKKyMsIGZ1enp5Cittc2dpZCAiVHJhY2tza2V3IgorbXNnc3RyICJ0cmFja3NrZXciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTEKKyMsIGZ1enp5Cittc2dpZCAiQ3lsaW5kZXJza2V3IgorbXNnc3RyICJjeWxpbmRlcnNrZXciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTYKKyMsIGZ1enp5Cittc2dpZCAiSGVhZHN3aXRjaCIKK21zZ3N0ciAiaGVhZHN3aXRjaCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUyMQorIywgZnV6enkKK21zZ2lkICJUcmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICJ0cmFjay10by10cmFjayBzZWVrIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjExCittc2dpZCAiYnl0ZXMvc2VjdG9yIgorbXNnc3RyICJieXRlcy9zZWt0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTQKK21zZ2lkICJzZWN0b3JzL3RyYWNrIgorbXNnc3RyICJzZWt0b3IvdHJhY2siCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTUKK21zZ2lkICJ0cmFja3MvY3lsaW5kZXIiCittc2dzdHIgInRyYWNrcy9jeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNgorbXNnaWQgImN5bGluZGVycyIKK21zZ3N0ciAiY3lsaW5kZXJzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIwCittc2dpZCAic2VjdG9ycy9jeWxpbmRlciIKK21zZ3N0ciAic2VrdG9yL2N5bGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIzCittc2dpZCAicnBtIgorbXNnc3RyICJycG0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjQKK21zZ2lkICJpbnRlcmxlYXZlIgorbXNnc3RyICJpbnRlcmxlYXZlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI1Cittc2dpZCAidHJhY2tza2V3IgorbXNnc3RyICJ0cmFja3NrZXciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjYKK21zZ2lkICJjeWxpbmRlcnNrZXciCittc2dzdHIgImN5bGluZGVyc2tldyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOAorbXNnaWQgImhlYWRzd2l0Y2giCittc2dzdHIgImhlYWRzd2l0Y2giCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjkKK21zZ2lkICJ0cmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICJ0cmFjay10by10cmFjayBzZWVrIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290c3RyYXAgZmlsZSAlcyBzdWNjZXNzZnVsbHkgbG9hZGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXA6ICUxJHNib290IC0+IGJvb3QlMSRzIChkZWZhdWx0ICUxJHMpIgorbXNnc3RyICJCb290c3RyYXA6ICVzYm9vdCAtPiBib290JXMgKCVzKTogIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzA0CisjLCBmdXp6eQorbXNnaWQgIkJvb3RzdHJhcCBvdmVybGFwcyB3aXRoIGRpc2tsYWJlbCEiCittc2dzdHIgIkJvb3RzdHJhcCBvdmVybGFwcyBkZW5nYW4gZGlzayBsYWJlbCFcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwIGluc3RhbGxlZCBvbiAlcy4iCittc2dzdHIgIkJvb3RzdHJhcCBkaXBhc2FuZyBkaSAlcy5cbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwMAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4gIChEb24ndCBmb3JnZXQgdG8gd3JpdGUgdGhlICVzIGRpc2tsYWJlbCB0b28uKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4iCittc2dzdHIgIkRpc2sgRHJpdmU6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDkgbGliZmRpc2svc3JjL2NvbnRleHQuYzo2NjYKKyMsIGZ1enp5Cittc2dpZCAiU3luY2luZyBkaXNrcy4iCittc2dzdHIgIlNpbmtyb25pc2FzaSBkaXNrcy5cbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk1MAorbXNnaWQgIkJTRCBsYWJlbCBpcyBub3QgbmVzdGVkIHdpdGhpbiBhIERPUyBwYXJ0aXRpb24uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJTRCBwYXJ0aXRpb24gJyVjJyBsaW5rZWQgdG8gRE9TIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICIgICB4ICAgc2FtYnVuZyBCU0QgcGFydGlzaSBrZSBub24tQlNEIHBhcnRpc2kiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE0Cittc2dpZCAiU2xpY2UiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjEKKyMsIGZ1enp5Cittc2dpZCAiRnNpemUiCittc2dzdHIgIiwgYmVzYXI9JTlsdSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjIKKyMsIGZ1enp5Cittc2dpZCAiQnNpemUiCittc2dzdHIgIiwgYmVzYXI9JTlsdSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjMKK21zZ2lkICJDcGciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo2NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zZSBkZXZpY2UgZmFpbGVkIgorbXNnc3RyICIlczogbHNlZWsgZ2FnYWwiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODI3CisjLCBmdXp6eQorbXNnaWQgImN5bGluZGVyIgorbXNnaWRfcGx1cmFsICJjeWxpbmRlcnMiCittc2dzdHJbMF0gImN5bGluZGVyIgorbXNnc3RyWzFdICJjeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4MjgKKyMsIGZ1enp5Cittc2dpZCAic2VjdG9yIgorbXNnaWRfcGx1cmFsICJzZWN0b3JzIgorbXNnc3RyWzBdICJzZWt0b3IiCittc2dzdHJbMV0gInNla3RvciIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMTMxCittc2dpZCAiSW5jb21wbGV0ZSBnZW9tZXRyeSBzZXR0aW5nLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE0CisjLCBmdXp6eQorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgaGF2ZSBiZWVuIGRlZmluZWQgYWxyZWFkeS4iCittc2dzdHIgIlNlbHVydWggcGFydGlzaSBwcmltYXJ5IHRlbGFoIGRpZGVmaW5pc2lrYW4hXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkIGV4dGVuZGVkIHBhcnRpdGlvbiB0YWJsZSAob2Zmc2V0PSVqdSkiCittc2dzdHIgIm1lbWJhY2EgbGFnaSB0YWJlbCBwYXJ0aXNpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzI4CisjLCBmdXp6eQorbXNnaWQgIllvdSBjYW4gc2V0IGdlb21ldHJ5IGZyb20gdGhlIGV4dHJhIGZ1bmN0aW9ucyBtZW51LiIKK21zZ3N0ciAiIgorIiVzJXMuXG4iCisiQW5kYSBkYXBhdCBtZWxha3VrYW4gaW5pIGRhcmkgbWVudSBmdW5nc2kgdGFtYmFoYW4uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMzEKK21zZ2lkICJET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMzUKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGRldmljZSBwcmVzZW50cyBhIGxvZ2ljYWwgc2VjdG9yIHNpemUgdGhhdCBpcyBzbWFsbGVyIHRoYW4gdGhlIHBoeXNpY2FsIHNlY3RvciBzaXplLiBBbGlnbmluZyB0byBhIHBoeXNpY2FsIHNlY3RvciAob3Igb3B0aW1hbCBJL08pIHNpemUgYm91bmRhcnkgaXMgcmVjb21tZW5kZWQsIG9yIHBlcmZvcm1hbmNlIG1heSBiZSBpbXBhY3RlZC4iCittc2dzdHIgIiIKKyJcbiIKKyJQZXJhbmdrYXQgbWVuYW1waWxrYW4gc2VidWFoIHVrdXJhbiBzZWt0b3IgbG9naWthbCB5YW5nIGxlYmloIGtlY2lsIGRhcmlwYWRhXG4iCisidWt1cmFuIHNla3RvciBmaXNpay4gTWVueWVzdWFpa2FuIGtlIGJhdGFzIHNla3RvciBmaXNpayAoYXRhdSBvcHRpbWFsIEkvTykgYWRhbGFoIGxhbmdrYWggeWFuZ1xuIgorImRpcmVrb21lbmRhc2lrYW4sIGF0YXUgbXVuZ2tpbiBiZXJkYW1wYWsgcGFkYSBwZXJmb3JtYW5zaSBwZXJhbmdrYXQuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDEKK21zZ2lkICJDeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIHNpemUgb2YgdGhpcyBkaXNrIGlzICVzICglanUgYnl0ZXMpLiBET1MgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCBjYW4gbm90IGJlIHVzZWQgb24gZHJpdmVzIGZvciB2b2x1bWVzIGxhcmdlciB0aGFuICVsdSBieXRlcyBmb3IgJWx1LWJ5dGUgc2VjdG9ycy4gVXNlIEdVSUQgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCAoR1BUKS4iCittc2dzdHIgIiIKKyJcbiIKKyJQRVJJTkdBVEFOOiBVa3VyYW4gZGFyaSBkaXNrIGluaSBhZGFsYWggJWQuJWQgVEIgKCVsbHUgYnl0ZXMpLlxuIgorIkZvcm1hdCB0YWJlbCBwYXJ0aXNpIERPUyB0aWRhayBkYXBhdCBkaWd1bmFrYW4gZGkgZHJpdmUgdW50dWtcbiIKKyJpc2kgbGViaWggYmVzYXIgZGFyaSAoJWxsdSBieXRlcykgdW50dWsgJWQtYnl0ZSBzZWt0b3IuIEd1bmFrYW5cbiIKKyJwYXJ0ZWQoMSkgZm9ybWF0IHRhYmVsIHBhcnRpc2kgR1VJRCAoR1BUKS5cbiIKKyJcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjUwMworIywgZnV6enkKK21zZ2lkICJCYWQgb2Zmc2V0IGluIHByaW1hcnkgZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiQmFkIG9mZnNldCBkYWxhbSBwYXJ0aXNpIGV4dGVuZGVkIHByaW1hcnlcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjUxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiT21pdHRpbmcgcGFydGl0aW9ucyBhZnRlciAjJXp1LiBUaGV5IHdpbGwgYmUgZGVsZXRlZCBpZiB5b3Ugc2F2ZSB0aGlzIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIiIKKyJQZXJpbmdhdGFuOiBtZW5nYWJhaWthbiBwYXJ0aXNpIHNlc3VkYWggIyVkLlxuIgorIk1lcmVrYSBtdW5na2luIHRlbGFoIG1lbmdoYXB1cyBqaWthIGFuZGEgbWVueWltcGFuIHRhYmVsIHBhcnRpc2kuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkV4dHJhIGxpbmsgcG9pbnRlciBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiUGVyaW5nYXRhbjogZXh0cmEgcG9pbnRlciBsaW5rIGRhbGFtIHRhYmVsIHBhcnRpc2kgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZGF0YSBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiUGVyaW5nYXRhbjogbWVuZ2FiYWlrYW4gZXh0cmEgZGF0YSBkYWxhbSB0YWJlbCBwYXJ0aXNpICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9taXR0aW5nIGVtcHR5IHBhcnRpdGlvbiAoJXp1KSIKK21zZ3N0ciAibWVuZ2FiYWlrYW4gcGFydGlzaSBrb3NvbmcgKCVkKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IERPUyBkaXNrbGFiZWwgd2l0aCBkaXNrIGlkZW50aWZpZXIgMHglMDh4LiIKK21zZ3N0ciAiICAgcyAgIGJ1YXQgc2VidWFoIGRpc2tsYWJlbCBTdW4geWFuZyBrb3NvbmciCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2ODUKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXIgdGhlIG5ldyBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIiAgIGkgICB1YmFoIGlkZW50aWZpa2FzaSBkaXNrIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjkyCisjLCBmdXp6eQorbXNnaWQgIkluY29ycmVjdCB2YWx1ZS4iCittc2dzdHIgIk5pbGFpIHNldCB0aWRhayB2YWxpZDogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAweCUwOHggdG8gMHglMDh4LiIKK21zZ3N0ciAiSWRlbnRpZmlrYXNpIGRpc2s6IDB4JTA4eFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBleHRlbmRlZCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJNZW5nYWJhaWthbiBleHRyYSBwYXJ0aXNpIGV4dGVuZGVkICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgZmxhZyAweCUwMnglMDJ4IG9mIEVCUiAoZm9yIHBhcnRpdGlvbiAlenUpIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkuIgorbXNnc3RyICJQZXJpbmdhdGFuOiB0YW5kYSB0aWRhayB2YWxpZCAweCUwNHggZGFyaSB0YWJlbCBwYXJ0aXNpICVkIGFrYW4gZGliZXR1bGthbiB3KHJpdGUpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo5MjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN0YXJ0IHNlY3RvciAlanUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiTmlsYWkgZGlsdWFyIGRhcmkgamFuZ2thdWFuLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTAyNiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzNiBsaWJmZGlzay9zcmMvc2dpLmM6ODM5CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKK21zZ3N0ciAiUGFydGlzaSAlZCBzdWRhaCBkaWRlZmluaXNpa2FuLiBIYXB1cyBpbmkgc2ViZWx1bSBtZW5hbWJhaGthbm55YS5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlbGx1IGlzIGFscmVhZHkgYWxsb2NhdGVkLiIKK21zZ3N0ciAiU2VrdG9yICVsbHUgc3VkYWggZGlhbG9rYXNpa2FuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTMzIGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQ2CisjLCBmdXp6eQorbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGUuIgorbXNnc3RyICJUaWRhayBhZGEgc2VrdG9yIHlhbmcga29zb25nXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJQYXJ0aXNpIGxvZ2ljYWwgdGlkYWsgYmFpayIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGNvbnRhaW5zIHNlY3RvciAwIgorbXNnc3RyICJQZXJpbmdhdGFuOiBwYXJ0aXNpICVkIGJlcmlzaSBzZWt0b3IgMFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaGVhZCAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlZCIKK21zZ3N0ciAiUGFydGlzaSAlZDogaGVhZCAlZCBsZWJpaCBiZXNhciBkYXJpIG1ha3NpbWFsICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBzZWN0b3IgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiUGFydGlzaSAlZDogc2VrdG9yICVkIGxlYmloIGJlc2FyIGRhcmkgbWFrc2ltYWwgJWxsdVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY3lsaW5kZXIgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiUGFydGlzaSAlZDogY3lsaW5kZXIgJWQgbGViaWggYmVzYXIgZGFyaSBtYWtzaW1hbCAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogcHJldmlvdXMgc2VjdG9ycyAldSBkaXNhZ3JlZXMgd2l0aCB0b3RhbCAldSIKK21zZ3N0ciAiUGFydGlzaSAlZDogc2VrdG9yIHNlYmVsdW1ueWEgJWQgdGlkYWsgc2VzdWFpIGRlbmdhbiB0b3RhbCAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgYmVnaW5uaW5ncyAobm9uLUxpbnV4Pyk6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiUGFydGlzaSAlZCBtZW1pbGlraSBwaHlzaWNhbC9sb2dpY2FsIGF3YWwgeWFuZyBiZXJiZWRhIChidWthbi1MaW51eD8pOlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgZW5kaW5nczogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICJQYXJ0aXNpICVkIG1lbWlsaWtpIHBoeXNpY2FsL2xvZ2ljYWwgZW5kaW5ncyB5YW5nIGJlcmJlZGE6XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJQYXJ0aXNpICVkIHRpZGFrIGJlcmFraGlyIGRpIGJhdGFzIGN5bGluZGVyLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogYmFkIHN0YXJ0LW9mLWRhdGEuIgorbXNnc3RyICJQYXJ0aXNpICVkIHRpZGFrIG1lbWlsaWtpIGFyZWEgZGF0YVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogb3ZlcmxhcHMgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIlBlcmluZ2F0YW46IHBhcnRpc2kgJWQgb3ZlcmxhcHMgcGFydGlzaSAlZC5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGVtcHR5LiIKK21zZ3N0ciAiUGVyaW5nYXRhbjogcGFydGlzaSAlZCBrb3NvbmdcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxvZ2ljYWwgcGFydGl0aW9uICV6dTogbm90IGVudGlyZWx5IGluIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJQYXJ0aXNpIGxvZ2ljYWwgJWQgdGlkYWsgc2VsdXJ1aG55YSBiZXJhZGEgZGkgcGFydGlzaSAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVG90YWwgYWxsb2NhdGVkIHNlY3RvcnMgJWxsdSBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gJWxsdS4iCittc2dzdHIgIlRvdGFsIHNla3RvciB0ZXJhbG9rYXNpICVsbHUgbGViaWggYmVzYXIgZGFyaSBwYWRhIG1ha3NpbWFsICVsbHVcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJlbWFpbmluZyAlbGxkIHVuYWxsb2NhdGVkICVsZC1ieXRlIHNlY3RvcnMuIgorbXNnc3RyICJTaXNhICVsbGQgc2VrdG9yIHRpZGFrIGRpYWxva2FzaWthbiAlZC1ieXRlIHNla3RvclxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUzMiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1NAorIywgZnV6enkKK21zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gYWxyZWFkeSBleGlzdHMuIgorbXNnc3RyICJQYXJ0aXNpIGluaSBzdWRhaCBhZGEuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTc1CisjLCBmdXp6eQorbXNnaWQgIlRoZSBtYXhpbXVtIG51bWJlciBvZiBwYXJ0aXRpb25zIGhhcyBiZWVuIGNyZWF0ZWQuIgorbXNnc3RyICJNYWtzaW11bSBqdW1sYWggcGFydGlzaSB0ZWxhaCBkaWJ1YXRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1ODcKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiIKK21zZ3N0ciAiU2VsdXJ1aCBwYXJ0aXNpIGxvZ2ljYWwgc2VkYW5nIGRpZ3VuYWthblxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU4OSBsaWJmZGlzay9zcmMvZG9zLmM6MTYwMAorIywgZnV6enkKK21zZ2lkICJBbGwgc3BhY2UgZm9yIHByaW1hcnkgcGFydGl0aW9ucyBpcyBpbiB1c2UuIgorbXNnc3RyICJTZWx1cnVoIHBhcnRpc2kgbG9naWNhbCBzZWRhbmcgZGlndW5ha2FuXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUcnkgdG8ga2VlcCB0aGlzIHdpdGhpbiA4MCBjaGFyYWN0ZXJzLgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDMKKyMsIGZ1enp5Cittc2dpZCAiVG8gY3JlYXRlIG1vcmUgcGFydGl0aW9ucywgZmlyc3QgcmVwbGFjZSBhIHByaW1hcnkgd2l0aCBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJBbmRhIGhhcnVzIG1lbmdoYXB1cyBiZWJlcmFwYSBwYXJ0aXNpIGRhbiBtZW5hbWJhaGthbiBzZWJ1YWggcGFydGlzaSBleHRlbmRlZCB0ZXJsZWJpaCBkYWh1bHVcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDgKKyMsIGZ1enp5Cittc2dpZCAiQWxsIGxvZ2ljYWwgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiBBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvbi4iCittc2dzdHIgIlNlbHVydWggcGFydGlzaSBsb2dpY2FsIHNlZGFuZyBkaWd1bmFrYW5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzAKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHR5cGUiCittc2dzdHIgIk5vbW9yIHBhcnRpc2kiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiV6dSBwcmltYXJ5LCAlZCBleHRlbmRlZCwgJXp1IGZyZWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzkKKyMsIGZ1enp5Cittc2dpZCAicHJpbWFyeSIKK21zZ3N0ciAiVXRhbWEiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQxCisjLCBmdXp6eQorbXNnaWQgImV4dGVuZGVkIgorbXNnc3RyICJFeHRlbmRlZCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDEKKyMsIGZ1enp5Cittc2dpZCAiY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMiCittc2dzdHIgIlBhcnRpc2kgbG9naWNhbCB0aWRhayBiYWlrIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MworIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIgorbXNnc3RyICJMb2dpY2FsIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MworIywgZnV6enkKK21zZ2lkICJudW1iZXJlZCBmcm9tIDUiCittc2dzdHIgImwgICBsb2dpY2FsICg1IGF0YXUgbGViaWgpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gdHlwZSBgJWMnLiIKK21zZ3N0ciAiTm9tb3IgcGFydGlzaSB0aWRhayB2YWxpZCB1bnR1ayB0aXBlIGAlYydcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB3cml0ZSBzZWN0b3IgJWpkOiBzZWVrIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbnVsaXMgYmVya2FzIHNjcmlwdCwgZXJyb3I6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxODUyIGxpYmZkaXNrL3NyYy9ncHQuYzoxMDk2CisjLCBmdXp6eQorbXNnaWQgIkRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiSWRlbnRpZmlrYXNpIGRpc2s6IDB4JTA4eFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1OQorIywgZnV6enkKK21zZ2lkICJUeXBlIDAgbWVhbnMgZnJlZSBzcGFjZSB0byBtYW55IHN5c3RlbXMuIEhhdmluZyBwYXJ0aXRpb25zIG9mIHR5cGUgMCBpcyBwcm9iYWJseSB1bndpc2UuIgorbXNnc3RyICIiCisiVGlwZSAwIGJlcmFydGkgcnVhbmcga29zb25nIHBhZGEga2ViYW55YWthbiBzeXN0ZW1cbiIKKyIodGV0YXBpIGJ1a2FuIHVudHVrIExpbnV4KS4gTWVtaWxpa2kgcGFydGlzaSBkZW5nYW4gdGlwZSAwIFxuIgorIm11bmdraW4gdGlkYWsgYmFpay4gQW5kYSBkYXBhdCBtZW5naGFwdXMgc2VidWFoIHBhcnRpc2lcbiIKKyJkZW5nYW4gbWVuZ2d1bmFrYW4gcGVyaW50YWggYGQnLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk2NAorbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdHlwZSBvZiB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIHdoaWNoIGlzIGFscmVhZHkgdXNlZCBieSBsb2dpY2FsIHBhcnRpdGlvbnMuIERlbGV0ZSBsb2dpY2FsIHBhcnRpdGlvbnMgZmlyc3QuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTQzIGxpYmZkaXNrL3NyYy9ncHQuYzoyODIxCisjLCBmdXp6eQorbXNnaWQgIk5vdGhpbmcgdG8gZG8uIE9yZGVyaW5nIGlzIGNvcnJlY3QgYWxyZWFkeS4iCittc2dzdHIgIiIKKyJUaWRhayBhZGEgeWFuZyBkaWxha3VrYW4uIFVydXRhbiBzdWRhaCBkaWJldHVsa2FuLlxuIgorIlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogbm8gZGF0YSBhcmVhLiIKK21zZ3N0ciAiUGFydGlzaSAlZCB0aWRhayBtZW1pbGlraSBhcmVhIGRhdGFcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyMjIKK21zZ2lkICJOZXcgYmVnaW5uaW5nIG9mIGRhdGEiCittc2dzdHIgIkF3YWwgYmFydSBkYXJpIGRhdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBpcyBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJQRVJJTkdBVEFOOiBQYXJ0aXNpICVkIGFkYWxhaCBzZWJ1YWggcGFydGlzaSBleHRlbmRlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIlRpcGUgc2lzdGVtIGRhcmkgcGFyaXNpICVkIHRpZGFrIGJlcnViYWg6ICV4ICglcylcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiVGlwZSBzaXN0ZW0gZGFyaSBwYXJpc2kgJWQgdGlkYWsgYmVydWJhaDogJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI5OCBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxMSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1MworIzogbGliZmRpc2svc3JjL3N1bi5jOjExMDkKK21zZ2lkICJEZXZpY2UiCittc2dzdHIgIlBlcmFuZ2thdCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyOTkgbGliZmRpc2svc3JjL3N1bi5jOjQxCittc2dpZCAiQm9vdCIKK21zZ3N0ciAiQm9vdCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDUgbGliZmRpc2svc3JjL3NnaS5jOjExNTkgbGliZmRpc2svc3JjL3N1bi5jOjExMTUKK21zZ2lkICJJZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwOQorIywgZnV6enkKK21zZ2lkICJTdGFydC1DL0gvUyIKK21zZ3N0ciAiYXdhbCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTAKK21zZ2lkICJFbmQtQy9IL1MiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTEgbGliZmRpc2svc3JjL2dwdC5jOjI5MjEgbGliZmRpc2svc3JjL3NnaS5jOjExNjEKK21zZ2lkICJBdHRycyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYwCittc2dpZCAiRUZJIFN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYyCisjLCBmdXp6eQorbXNnaWQgIk1CUiBwYXJ0aXRpb24gc2NoZW1lIgorbXNnc3RyICJOb21vciBwYXJ0aXNpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzCittc2dpZCAiSW50ZWwgRmFzdCBGbGFzaCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY2CisjLCBmdXp6eQorbXNnaWQgIkJJT1MgYm9vdCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OQorIywgZnV6enkKK21zZ2lkICJTb255IGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICIgICBhICAgcGlsaWggcGFydGlzaSB5YW5nIGJvb3RhYmxlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTcwCisjLCBmdXp6eQorbXNnaWQgIkxlbm92byBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgYSAgIHBpbGloIHBhcnRpc2kgeWFuZyBib290YWJsZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MworIywgZnV6enkKK21zZ2lkICJQb3dlclBDIFBSZVAgYm9vdCIKK21zZ3N0ciAiUFBDIFBSZVAgQm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NgorIywgZnV6enkKK21zZ2lkICJPTklFIGJvb3QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzcKK21zZ2lkICJPTklFIGNvbmZpZyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwCittc2dpZCAiTWljcm9zb2Z0IHJlc2VydmVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODEKK21zZ2lkICJNaWNyb3NvZnQgYmFzaWMgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgyCittc2dpZCAiTWljcm9zb2Z0IExETSBtZXRhZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgzCittc2dpZCAiTWljcm9zb2Z0IExETSBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODQKK21zZ2lkICJXaW5kb3dzIHJlY292ZXJ5IGVudmlyb25tZW50IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODUKK21zZ2lkICJJQk0gR2VuZXJhbCBQYXJhbGxlbCBGcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg2Cittc2dpZCAiTWljcm9zb2Z0IFN0b3JhZ2UgU3BhY2VzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiSFAtVVggZGF0YSIKK21zZ3N0ciAiICAgZCAgIGhhcHVzIHNlYnVhaCBwYXJ0aXNpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkwCisjLCBmdXp6eQorbXNnaWQgIkhQLVVYIHNlcnZpY2UiCittc2dzdHIgIlRpZGFrIGFkYSBwYXJ0aXNpIGxhZ2kiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTMgbGliZmRpc2svc3JjL3NnaS5jOjYxIGxpYmZkaXNrL3NyYy9zdW4uYzo1MgorbXNnaWQgIkxpbnV4IHN3YXAiCittc2dzdHIgIkxpbnV4IHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTQKKyMsIGZ1enp5Cittc2dpZCAiTGludXggZmlsZXN5c3RlbSIKK21zZ3N0ciAiTWFzdWtrYW4gdGlwZSBmaWxlc3lzdGVtOiAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUKKyMsIGZ1enp5Cittc2dpZCAiTGludXggc2VydmVyIGRhdGEiCittc2dzdHIgIlN1bk9TIHJlc2VydmVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk2Cittc2dpZCAiTGludXggcm9vdCAoeDg2KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3Cittc2dpZCAiTGludXggcm9vdCAoQVJNKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4Cittc2dpZCAiTGludXggcm9vdCAoeDg2LTY0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5Cittc2dpZCAiTGludXggcm9vdCAoQVJNLTY0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwCittc2dpZCAiTGludXggcm9vdFx0KElBLTY0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAxCisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IHJlc2VydmVkIgorbXNnc3RyICJTdW5PUyByZXNlcnZlZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMgorIywgZnV6enkKK21zZ2lkICJMaW51eCBob21lIgorbXNnc3RyICJMaW51eCBjdXN0b20iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMgbGliZmRpc2svc3JjL3NnaS5jOjY0Cittc2dpZCAiTGludXggUkFJRCIKK21zZ3N0ciAiTGludXggUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNAorIywgZnV6enkKK21zZ2lkICJMaW51eCBleHRlbmRlZCBib290IgorbXNnc3RyICJMaW51eCBleHRlbmRlZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMgorIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIGRhdGEiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTMKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBib290IgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0Qgc3dhcCIKK21zZ3N0ciAiQlNESSBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgVUZTIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgWkZTIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgVmludW0iCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAiQXBwbGUgSEZTL0hGUysiCittc2dzdHIgIkhGUyAvIEhQRisiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEKK21zZ2lkICJBcHBsZSBVRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMgorbXNnaWQgIkFwcGxlIFJBSUQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMworbXNnaWQgIkFwcGxlIFJBSUQgb2ZmbGluZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0Cittc2dpZCAiQXBwbGUgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1Cittc2dpZCAiQXBwbGUgbGFiZWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNgorbXNnaWQgIkFwcGxlIFRWIHJlY292ZXJ5IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjcKK21zZ2lkICJBcHBsZSBDb3JlIHN0b3JhZ2UiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMQorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJvb3QiCittc2dzdHIgIlNvbGFyaXMgYm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMworbXNnaWQgIlNvbGFyaXMgL3VzciAmIEFwcGxlIFpGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgc3dhcCIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNQorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIGJhY2t1cCIKK21zZ3N0ciAiU29sYXJpcyBib290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM2CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgL3ZhciIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNworIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIC9ob21lIgorbXNnc3RyICJTb2xhcmlzIGJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyBhbHRlcm5hdGUgc2VjdG9yIgorbXNnc3RyICJ0ZXJsYWx1IGJhbnlhbiBrZWNlcGF0YW4gYWx0ZXJuYXRpdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzkKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAxIgorbXNnc3RyICJTdW5PUyByZXNlcnZlZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MAorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDIiCittc2dzdHIgIlN1bk9TIHJlc2VydmVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMyIKK21zZ3N0ciAiU3VuT1MgcmVzZXJ2ZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA0IgorbXNnc3RyICJTdW5PUyByZXNlcnZlZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MworIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDUiCittc2dzdHIgIlN1bk9TIHJlc2VydmVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2CisjLCBmdXp6eQorbXNnaWQgIk5ldEJTRCBzd2FwIgorbXNnc3RyICJCU0RJIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDcKKyMsIGZ1enp5Cittc2dpZCAiTmV0QlNEIEZGUyIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4CisjLCBmdXp6eQorbXNnaWQgIk5ldEJTRCBMRlMiCittc2dzdHIgIk5ldEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OQorbXNnaWQgIk5ldEJTRCBjb25jYXRlbmF0ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MAorbXNnaWQgIk5ldEJTRCBlbmNyeXB0ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MQorIywgZnV6enkKK21zZ2lkICJOZXRCU0QgUkFJRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0Cittc2dpZCAiQ2hyb21lT1Mga2VybmVsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTUKK21zZ2lkICJDaHJvbWVPUyByb290IGZzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTYKKyMsIGZ1enp5Cittc2dpZCAiQ2hyb21lT1MgcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIHJlc2VydmVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5Cittc2dpZCAiTWlkbmlnaHRCU0QgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYwCittc2dpZCAiTWlkbmlnaHRCU0QgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYxCisjLCBmdXp6eQorbXNnaWQgIk1pZG5pZ2h0QlNEIHN3YXAiCittc2dzdHIgIkJTREkgc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MgorbXNnaWQgIk1pZG5pZ2h0QlNEIFVGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYzCittc2dpZCAiTWlkbmlnaHRCU0QgWkZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjQKK21zZ2lkICJNaWRuaWdodEJTRCBWaW51bSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY3Cittc2dpZCAiQ2VwaCBKb3VybmFsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjgKK21zZ2lkICJDZXBoIEVuY3J5cHRlZCBKb3VybmFsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjkKK21zZ2lkICJDZXBoIE9TRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcwCittc2dpZCAiQ2VwaCBjcnlwdCBPU0QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MQorbXNnaWQgIkNlcGggZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcyCittc2dpZCAiQ2VwaCBjcnlwdCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzUKKyMsIGZ1enp5Cittc2dpZCAiT3BlbkJTRCBkYXRhIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc4CisjLCBmdXp6eQorbXNnaWQgIlFOWDYgZmlsZSBzeXN0ZW0iCittc2dzdHIgIk1hc3Vra2FuIHRpcGUgZmlsZXN5c3RlbTogIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjgxCisjLCBmdXp6eQorbXNnaWQgIlBsYW4gOSBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGQgICBoYXB1cyBzZWJ1YWggcGFydGlzaSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjU0NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR1BUIGhlYWRlciIKK21zZ3N0ciAiZ2FnYWwgbWVuZ2Fsb2thc2lrYW4gb3V0YnVmZmVyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NjMwCittc2dpZCAiRmlyc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NjQyCittc2dpZCAiTGFzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR1BUIFBNQlIgc2l6ZSBtaXNtYXRjaCAoJTxQUkl1NjQ+ICE9ICU8UFJJdTY0Pikgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjc5MgorIywgZnV6enkKK21zZ2lkICJncHQ6IHN0YXQoKSBmYWlsZWQiCittc2dzdHIgIiVzOiBzdGF0IGdhZ2FsIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6ODAyCisjLCBjLWZvcm1hdAorbXNnaWQgImdwdDogY2Fubm90IGhhbmRsZSBmaWxlcyB3aXRoIG1vZGUgJW8iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEwNjQKK21zZ2lkICJHUFQgSGVhZGVyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMDY5Cittc2dpZCAiR1BUIEVudHJpZXMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExMDMKKyMsIGZ1enp5Cittc2dpZCAiRmlyc3QgTEJBIgorbXNnc3RyICJQZXJ0YW1hICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEwOAorIywgZnV6enkKK21zZ2lkICJMYXN0IExCQSIKK21zZ3N0ciAiIFRlcmFraGlyICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIExCQSAoTG9naWNhbCBCbG9jayBBZGRyZXNzKSBvZiB0aGUgYmFja3VwIEdQVCBoZWFkZXIuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTExNAorbXNnaWQgIkFsdGVybmF0aXZlIExCQSIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YXJ0IG9mIHRoZSBhcnJheSBvZiBwYXJ0aXRpb24gZW50cmllcy4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTIwCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBlbnRyaWVzIExCQSIKK21zZ3N0ciAiUGFydGlzaSB5YW5nIHRlcnBpbGloICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTI1CisjLCBmdXp6eQorbXNnaWQgIkFsbG9jYXRlZCBwYXJ0aXRpb24gZW50cmllcyIKK21zZ3N0ciAiUGFydGlzaSB5YW5nIHRlcnBpbGloICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNDQwCittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBwcmltYXJ5IGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTQ0OQorbXNnaWQgIlRoZSBwcmltYXJ5IEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIGJhY2t1cCBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIEdQVCBhdHRyaWJ1dGUgYml0ICclcyciCittc2dzdHIgIiVzOiBhcmd1bWVudCB0aWRhayBkaWtldGFodWk6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgR1BUIGF0dHJpYnV0ZSBzdHJpbmcgJyVzJyIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiR2FnYWwgbWVuc2V0IHBlcnNvbmFsaXR5IGtlICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIG5hbWUgY2hhbmdlZCBmcm9tICclcycgdG8gJyUuKnMnLiIKK21zZ3N0ciAiR2FnYWwgbWVuc2V0IHBlcnNvbmFsaXR5IGtlICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc2OAorIywgZnV6enkKK21zZ2lkICJUaGUgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiB1bmRlcnN0ZXBzIEZpcnN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiIgorIlxuIgorIlBhcnRpc2kgYm9vdCB0aWRhayBhZGEuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzc1CisjLCBmdXp6eQorbXNnaWQgIlRoZSBlbmQgb2YgdGhlIHBhcnRpdGlvbiBvdmVyc3RlcHMgTGFzdFVzYWJsZUxCQS4iCittc2dzdHIgIkdhZ2FsIG1lbnVsaXMgcGFydGlzaSBkaSAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzNAorbXNnaWQgIlRoZSBkZXZpY2UgY29udGFpbnMgaHlicmlkIE1CUiAtLSB3cml0aW5nIEdQVCBvbmx5LiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBNQlIgbWFudWFsbHkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcxCisjLCBmdXp6eQorbXNnaWQgIkRpc2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICJEaXNrICVzIHRpZGFrIG1lbWlsaWtpIHNlYnVhaCB0YWJlbCBwYXJ0aXNpIHlhbmcgdmFsaWRcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NzYKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5ODAKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4NQorIywgZnV6enkKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiBlbnRyeSBjaGVja3N1bS4iCittc2dzdHIgIk5vbW9yIHBhcnRpc2kgdGlkYWsgdmFsaWQgdW50dWsgdGlwZSBgJWMnXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTkwCittc2dpZCAiSW52YWxpZCBwcmltYXJ5IGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OTQKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTk5Cittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IHByaW1hcnkgaGVhZGVyLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwMworbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwOAorbXNnaWQgIkRpc2sgaXMgdG9vIHNtYWxsIHRvIGhvbGQgYWxsIGRhdGEuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDE4Cittc2dpZCAiUHJpbWFyeSBhbmQgYmFja3VwIGhlYWRlciBtaXNtYXRjaC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIHBhcnRpdGlvbiAldS4iCittc2dzdHIgIlBlcmluZ2F0YW46IHBhcnRpc2kgJWQgb3ZlcmxhcHMgcGFydGlzaSAlZC5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBpcyB0b28gYmlnIGZvciB0aGUgZGlzay4iCittc2dzdHIgIkFuZGEgbWVtcGVyb2xlaCBzZWJ1YWggcGFydGlzaSB5YW5nIG92ZXJsYXAgZGkgZGlzay4gQmV0dWxrYW4gaW5pIHRlcmxlYmloIGRhaHVsdSFcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBlbmRzIGJlZm9yZSBpdCBzdGFydHMuIgorbXNnc3RyICJQYXJ0aXNpIGJlcmFraGlyIHNlYmVsdW0gc2VrdG9yIDAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQ3Cittc2dpZCAiTm8gZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSGVhZGVyIHZlcnNpb246ICVzIgorbXNnc3RyICJlcnJvciBtZW5nYW1iaWxcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nICV1IG91dCBvZiAlZCBwYXJ0aXRpb25zLiIKK21zZ3N0ciAiYW5laCwgaGFueWEgJWQgcGFydGlzaSB5YW5nIGRpZGVmaW5pc2lrYW4uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnQuIgorbXNnaWRfcGx1cmFsICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnRzICh0aGUgbGFyZ2VzdCBpcyAlcykuIgorbXNnc3RyWzBdICJUaWRhayBhZGEgc2VrdG9yIHlhbmcga29zb25nXG4iCittc2dzdHJbMV0gIlRpZGFrIGFkYSBzZWt0b3IgeWFuZyBrb3NvbmdcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgZXJyb3IgZGV0ZWN0ZWQuIgorbXNnaWRfcGx1cmFsICIlZCBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNDIKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgYXJlIGFscmVhZHkgaW4gdXNlLiIKK21zZ3N0ciAiUGFydGlzaSBpbmkgc3VkYWggZGlwYWthaSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOTcgbGliZmRpc2svc3JjL2dwdC5jOjIyMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlanUgYWxyZWFkeSB1c2VkLiIKK21zZ3N0ciAiU2VrdG9yICVsbHUgc3VkYWggZGlhbG9rYXNpa2FuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIkphbmdhbiBtZW1idWF0IHNlYnVhaCBwYXJ0aXNpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgbGFzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlyc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgR1BUIGRpc2tsYWJlbCAoR1VJRDogJXMpLiIKK21zZ3N0ciAiICAgcyAgIGJ1YXQgc2VidWFoIGRpc2tsYWJlbCBTdW4geWFuZyBrb3NvbmciCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDQ3Cittc2dpZCAiRW50ZXIgbmV3IGRpc2sgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDU0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSB5b3VyIFVVSUQuIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiR2FnYWwgbWVuc2V0IHBlcnNvbmFsaXR5IGtlICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4OAorIywgZnV6enkKK21zZ2lkICJOb3QgZW5vdWdoIHNwYWNlIGZvciBuZXcgcGFydGl0aW9uIHRhYmxlISIKK21zZ3N0ciAiVGlkYWsgYWRhIHNla3RvciB5YW5nIGtvc29uZ1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5NworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV1IG91dCBvZiByYW5nZSAobWluaW1hbCBzdGFydCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMldSBvdXQgb2YgcmFuZ2UgKG1heGltYWwgZW5kIGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIG51bWJlciBvZiB0aGUgcGFydGl0aW9uIGhhcyBiZSBzbWFsbGVyIHRoYW4gJXp1LiIKK21zZ3N0ciAiTWFrc2ltdW0ganVtbGFoIHBhcnRpc2kgdGVsYWggZGlidWF0XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTYzCisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBhbGxvY2F0ZSBtZW1vcnkhIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZWxha3VrYW4gZm9yayIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBsZW5ndGggY2hhbmdlZCBmcm9tICU8UFJJdTMyPiB0byAlPFBSSXU2ND4uIgorbXNnc3RyICJHYWdhbCBtZW5zZXQgcGVyc29uYWxpdHkga2UgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgYXR0cmlidXRlcyBvbiBwYXJ0aXRpb24gJXp1IGNoYW5nZWQgdG8gMHglMDE2PFBSSXg2ND4uIgorbXNnc3RyICJUaXBlIHNpc3RlbSBkYXJpIHBhcmlzaSAlZCB0aWRhayBiZXJ1YmFoOiAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzQyCittc2dpZCAiRW50ZXIgR1VJRCBzcGVjaWZpYyBiaXQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB0b2dnbGUgdW5zdXBwb3J0ZWQgYml0ICVsdSIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJUaXBlIHNpc3RlbSBkYXJpIHBhcmlzaSAlZCB0aWRhayBiZXJ1YmFoOiAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzcxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJUaXBlIHNpc3RlbSBkYXJpIHBhcmlzaSAlZCB0aWRhayBiZXJ1YmFoOiAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIlRpcGUgc2lzdGVtIGRhcmkgcGFyaXNpICVkIHRpZGFrIGJlcnViYWg6ICV4ICglcylcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTgKKyMsIGZ1enp5Cittc2dpZCAiVHlwZS1VVUlEIgorbXNnc3RyICJUaXBlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxOQorbXNnaWQgIlVVSUQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MjAgbG9naW4tdXRpbHMvY2hmbi5jOjE1MCBsb2dpbi11dGlscy9jaGZuLmM6MTUyCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzA3Cittc2dpZCAiTmFtZSIKK21zZ3N0ciAiTmFtYSIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjg0MAorIywgZnV6enkKK21zZ2lkICJGcmVlIHNwYWNlIgorbXNnc3RyICJTcGFjZSBrb3NvbmciCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzoxMjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiAjJXp1LiIKK21zZ3N0ciAibWVtYmFjYSBsYWdpIHRhYmVsIHBhcnRpc2kiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0dHlwZS5jOjI1OSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTUgc2NoZWR1dGlscy9jaHJ0LmM6MjA2CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc5IHN5cy11dGlscy9od2Nsb2NrLmM6MzM0Cittc2dpZCAidW5rbm93biIKK21zZ3N0ciAidGlkYWsgZGlrZXRhaHVpIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDcKK21zZ2lkICJTR0kgdm9saGRyIgorbXNnc3RyICJTR0kgdm9saGRyIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDgKK21zZ2lkICJTR0kgdHJrcmVwbCIKK21zZ3N0ciAiU0dJIHRya3JlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OQorbXNnaWQgIlNHSSBzZWNyZXBsIgorbXNnc3RyICJTR0kgc2VjcmVwbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUwCittc2dpZCAiU0dJIHJhdyIKK21zZ3N0ciAiU0dJIHJhdyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUxCittc2dpZCAiU0dJIGJzZCIKK21zZ3N0ciAiU0dJIGJzZCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUyCittc2dpZCAiU0dJIHN5c3YiCittc2dzdHIgIlNHSSBzeXN2IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTMKK21zZ2lkICJTR0kgdm9sdW1lIgorbXNnc3RyICJTR0kgdm9sdW1lIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTQKK21zZ2lkICJTR0kgZWZzIgorbXNnc3RyICJTR0kgZWZzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTUKK21zZ2lkICJTR0kgbHZvbCIKK21zZ3N0ciAiU0dJIGx2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NgorbXNnaWQgIlNHSSBybHZvbCIKK21zZ3N0ciAiU0dJIHJsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTcKK21zZ2lkICJTR0kgeGZzIgorbXNnc3RyICJTR0kgeGZzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTgKK21zZ2lkICJTR0kgeGZzbG9nIgorbXNnc3RyICJTR0kgeGZzbG9nIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTkKK21zZ2lkICJTR0kgeGx2IgorbXNnc3RyICJTR0kgeGx2IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAKK21zZ2lkICJTR0kgeHZtIgorbXNnc3RyICJTR0kgeHZtIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjIgbGliZmRpc2svc3JjL3N1bi5jOjUzCittc2dpZCAiTGludXggbmF0aXZlIgorbXNnc3RyICJMaW51eCBuYXRpdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxNTkKK21zZ2lkICJTR0kgaW5mbyBjcmVhdGVkIG9uIHNlY29uZCBzZWN0b3IuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiRGV0ZWN0ZWQgYW4gU0dJIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiIKK21zZ3N0ciAiVGVyZGV0ZWtzaSBzZ2kgZGlza2xhYmVsIGRlbmdhbiBjaGVja3N1bSBzYWxhaC5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4MiBsaWJmZGlzay9zcmMvc3VuLmM6NzcwCittc2dpZCAiUGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJDeWxpbmRlciBQaHlzaWNhbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4NyBsaWJmZGlzay9zcmMvc3VuLmM6Nzc1CisjLCBmdXp6eQorbXNnaWQgIkV4dHJhIHNlY3RzL2N5bCIKK21zZ3N0ciAiRXh0cmEgc2VrdG9yIHBlciBjeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI5NworIywgZnV6enkKK21zZ2lkICJCb290ZmlsZSIKK21zZ3N0ciAiKEZpbGUgc2VsYW5qdXRueWE6ICVzKSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjM5NQorIywgZnV6enkKK21zZ2lkICJJbnZhbGlkIGJvb3RmaWxlISAgVGhlIGJvb3RmaWxlIG11c3QgYmUgYW4gYWJzb2x1dGUgbm9uLXplcm8gcGF0aG5hbWUsIGUuZy4gXCIvdW5peFwiIG9yIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAiIgorIlxuIgorIkJvb3RmaWxlIHRpZGFrIHZhbGlkIVxuIgorIlx0Qm9vdGZpbGUgaGFydXMgc2VidWFoIHBhdGhuYW1lIHlhbmcgdGlkYWsga29zb25nbSxcbiIKKyJcdGUuZy4gXCIvdW5peFwiIGF0YXUgXCIvdW5peC5zYXZlXCIuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlIG1heGltdW0uIgorbXNnaWRfcGx1cmFsICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZXMgbWF4aW11bS4iCittc2dzdHJbMF0gIiIKKyJcbiIKKyJcdE5hbWEgZGFyaSBCb290ZmlsZSB0ZXJsYWx1IHBhbmphbmc6IDE2IGJ5dGVzIG1ha3NpbWFsLlxuIgorbXNnc3RyWzFdICIiCisiXG4iCisiXHROYW1hIGRhcmkgQm9vdGZpbGUgdGVybGFsdSBwYW5qYW5nOiAxNiBieXRlcyBtYWtzaW1hbC5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwOAorIywgZnV6enkKK21zZ2lkICJCb290ZmlsZSBtdXN0IGhhdmUgYSBmdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUuIgorbXNnc3RyICIiCisiXG4iCisiXHRCb290ZmlsZSBoYXJ1cyBtZW1pbGlraSBzZWJ1YWggZnVsbHkgcXVhbGlmaWVkIHBhdGhuYW1lLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDE0CisjLCBmdXp6eQorbXNnaWQgIkJlIGF3YXJlIHRoYXQgdGhlIGJvb3RmaWxlIGlzIG5vdCBjaGVja2VkIGZvciBleGlzdGVuY2UuICBTR0kncyBkZWZhdWx0IGlzIFwiL3VuaXhcIiwgYW5kIGZvciBiYWNrdXAgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICIiCisiXG4iCisiXHRIYXRpIC0gaGF0aSwgYm9vdGZpbGUgdGlkYWsgZGkgcGVyaWtzYSBrZWJlcmFkYWFubnlhLlxuIgorIlx0U0dJJ3MgZGVmYXVsdCBhZGFsYWggXCIvdW5peFwiIGRhbiB1bnR1ayBiYWNrdXAgXCIvdW5peC5zYXZlXCIuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBjdXJyZW50IGJvb3QgZmlsZSBpczogJXMiCittc2dzdHIgIiIKKyJcbiIKKyJCb290IGZpbGUgeWFuZyBzYWF0IGluaSBkaWd1bmFrYW46ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDEKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXIgb2YgdGhlIG5ldyBib290IGZpbGUiCittc2dzdHIgIlRvbG9uZyBtYXN1a2thbiBuYW1hIGRhcmkgYm9vdCBmaWxlIHlhbmcgYmFydTogIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQ2CisjLCBmdXp6eQorbXNnaWQgIkJvb3QgZmlsZSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJCb290IGZpbGUgdGlkYWsgZGl1YmFoXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJvb3RmaWxlIGhhcyBiZWVuIGNoYW5nZWQgdG8gXCIlc1wiLiIKK21zZ3N0ciAiIgorIlxuIgorIlx0Qm9vdGZpbGUgYmVydWJhaCBtZW5qYWRpIFwiJXNcIi5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5NgorIywgZnV6enkKK21zZ2lkICJNb3JlIHRoYW4gb25lIGVudGlyZSBkaXNrIGVudHJ5IHByZXNlbnQuIgorbXNnc3RyICJMZWJpaCBkYXJpIHNhdHUgbWFzdWthbiBzZWx1cnVoIGRpc2sgeWFuZyBhZGEuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MDMgbGliZmRpc2svc3JjL3N1bi5jOjQ1OAorIywgZnV6enkKK21zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQuIgorbXNnc3RyICJUaWRhayBhZGEgcGFydGlzaSB5YW5nIGRpZGVmaW5pc2lrYW5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxMworIywgZnV6enkKK21zZ2lkICJJUklYIGxpa2VzIGl0IHdoZW4gcGFydGl0aW9uIDExIGNvdmVycyB0aGUgZW50aXJlIGRpc2suIgorbXNnc3RyICJJUklYIHNlcGVydGkga2V0aWthIFBhcnRpc2kgMTEgbWVsaXB1dGkgc2VsdXJ1aCBkaXNrLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIHNob3VsZCBzdGFydCBhdCBibG9jayAwLCBub3QgYXQgYmxvY2sgJWQuIgorbXNnc3RyICIiCisiU2VsdXJ1aCBkaXNrIHBhcnRpc2kgc2VoYXJ1c255YSBiZXJhd2FsIGRpIGJsb2NrIDAsXG4iCisiYnVrYW4gZGkgZGlza2Jsb2NrICVkLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjI4CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiAxMSBzaG91bGQgY292ZXIgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiU2F0dSBQYXJ0aXNpICgjMTEpIHNlaGFydXNueWEgbWVtZW51aGkgc2VsdXJ1aCBkaXNrLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3Rvci4iCittc2dpZF9wbHVyYWwgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9ycy4iCittc2dzdHJbMF0gIlBhcnRpc2kgJWQgZGFuICVkIG92ZXJsYXAgJWQgc2VrdG9yLlxuIgorbXNnc3RyWzFdICJQYXJ0aXNpICVkIGRhbiAlZCBvdmVybGFwICVkIHNla3Rvci5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY2MyBsaWJmZGlzay9zcmMvc2dpLmM6Njg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3I6IHNlY3RvciAlOHUiCittc2dpZF9wbHVyYWwgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3RvcnM6IHNlY3RvcnMgJTh1LSV1IgorbXNnc3RyWzBdICJHYXAgeWFuZyB0aWRhayBkaWd1bmFrYW4gc2ViYW55YWsgJTh1IHNla3RvciAtIHNla3RvciAlOHUtJXVcbiIKK21zZ3N0clsxXSAiR2FwIHlhbmcgdGlkYWsgZGlndW5ha2FuIHNlYmFueWFrICU4dSBzZWt0b3IgLSBzZWt0b3IgJTh1LSV1XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2OTgKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGJvb3QgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiIgorIlxuIgorIlBhcnRpc2kgYm9vdCB0aWRhayBhZGEuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDIKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiIgorIlxuIgorIlBhcnRpc2kgc3dhcCB0aWRhayBhZGEuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDYKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGhhcyBubyBzd2FwIHR5cGUuIgorbXNnc3RyICIiCisiXG4iCisiUGFydGlzaSBzd2FwIHRpZGFrIG1lbWlsaWtpIHRpcGUgc3dhcC5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwOQorIywgZnV6enkKK21zZ2lkICJZb3UgaGF2ZSBjaG9zZW4gYW4gdW51c3VhbCBib290ZmlsZSBuYW1lLiIKK21zZ3N0ciAiXHRBbmRhIHRlbGFoIG1lbWlsaWggc2VidWFoIG5hbWEgZmlsZSBib290IHlhbmcgdGlkYWsgYmlhc2EuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3NTkKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIgorbXNnc3RyICJBbmRhIG1lbXBlcm9sZWggc2VidWFoIHBhcnRpc2kgeWFuZyBvdmVybGFwIGRpIGRpc2suIEJldHVsa2FuIGluaSB0ZXJsZWJpaCBkYWh1bHUhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDQKKyMsIGZ1enp5Cittc2dpZCAiQXR0ZW1wdGluZyB0byBnZW5lcmF0ZSBlbnRpcmUgZGlzayBlbnRyeSBhdXRvbWF0aWNhbGx5LiIKK21zZ3N0ciAiTWVuY29iYSB1bnR1ayBtZW1idWF0IHNlbHVydWggbWFzdWthbiBkaXNrIHNlY2FyYSBvdG9tYXRpcy5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0OQorIywgZnV6enkKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgaXMgYWxyZWFkeSBjb3ZlcmVkIHdpdGggcGFydGl0aW9ucy4iCittc2dzdHIgIlNlbHVydWggZGlzayBzdWRhaCBkaWxpbmdrdXBpIG9sZWggcGFydGlzaS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg1MworIywgZnV6enkKK21zZ2lkICJZb3UgZ290IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCEiCittc2dzdHIgIkFuZGEgbWVtcGVyb2xlaCBzZWJ1YWggcGFydGlzaSB5YW5nIG92ZXJsYXAgZGkgZGlzay4gQmV0dWxrYW4gaW5pIHRlcmxlYmloIGRhaHVsdSFcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg3NSBsaWJmZGlzay9zcmMvc3VuLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ICVzIgorbXNnc3RyICJQZXJ0YW1hICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODk5IGxpYmZkaXNrL3NyYy9zZ2kuYzo5NDkKKyMsIGZ1enp5Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIGVsZXZlbnRoIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrIGFuZCBpcyBvZiB0eXBlICdTR0kgdm9sdW1lJy4iCittc2dzdHIgIiIKKyJJbmkgc2FuZ2F0IGRpcmVrb21lbmRhc2lrYW4gdW50dWsgcGFydGlzaSBrZXNlYmVsYXNcbiIKKyJtZW5jYWt1cGkgc2VsdXJ1aCBkaXNrIGRhbiBtZW1wdW55YWkgdGlwZSBgU0dJIHZvbHVtZSdcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjkxNCBsaWJmZGlzay9zcmMvc3VuLmM6NjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMYXN0ICVzIG9yICslcyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICJUZXJha2hpciAlMSRzLCArJTIkcyBhdGF1ICtzaXple0ssTSxHfSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjk4NSBsaWJmZGlzay9zcmMvc3VuLmM6MjQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi4iCittc2dzdHIgIiIKKyJQZXJpbmdhdGFuOiBCTEtHRVRTSVpFIGlvY3RsIGdhZ2FsIGRpICVzLiBNZW5nZ3VuYWthbiBuaWxhaSBnZW9tZXRyaSBjeWxpbmRlciBkYXJpICVkLlxuIgorIk5pbGFpIGluaSBtdW5na2luIGFrYW4gZGlwb3RvbmcgdW50dWsgcGVyYW5na2F0IHlhbmcgYmVydWt1cmFuID4gMzMuOCBHQi5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNTEKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTR0kgZGlza2xhYmVsLiIKK21zZ3N0ciAiICAgcyAgIGJ1YXQgc2VidWFoIGRpc2tsYWJlbCBTdW4geWFuZyBrb3NvbmciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDcwCisjLCBmdXp6eQorbXNnaWQgIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIKK21zZ3N0ciAiTWFhZiwgaGFueWEgc3VwZXJ1c2VyIHlhbmcgZGFwYXQgbWVuZ3ViYWggU3lzdGVtIENsb2NrLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3NgorIywgZnV6enkKK21zZ2lkICJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiA5IGFzIHZvbHVtZSBoZWFkZXIgKDApLCBhbmQgcGFydGl0aW9uIDExIGFzIGVudGlyZSB2b2x1bWUgKDYpLCBhcyBJUklYIGV4cGVjdHMgaXQuIgorbXNnc3RyICIiCisiUGVydGltYmFuZ2thbiB1bnR1ayBtZW5pbmdnYWxrYW4gcGFydGlzaSA5IHNlYmFnYWkgdm9sdW1lIGhlYWRlciAoMCksXG4iCisiZGFuIHBhcnRpc2kgMTEgc2ViYWdhaSBzZWx1cnVoIHZvbHVtZSAoNikgc2VwZXJ0aSBJUklYIG1lbmR1Z2FueWEuXG4iCisiXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDg1CisjLCBmdXp6eQorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDAgaXMgb2YgdHlwZSBcIlNHSSB2b2xoZHJcIiwgdGhlIElSSVggc3lzdGVtIHdpbGwgcmVseSBvbiBpdCB0byByZXRyaWV2ZSBmcm9tIGl0cyBkaXJlY3Rvcnkgc3RhbmRhbG9uZSB0b29scyBsaWtlIHNhc2ggYW5kIGZ4LiBPbmx5IHRoZSBcIlNHSSB2b2x1bWVcIiBlbnRpcmUgZGlzayBzZWN0aW9uIG1heSB2aW9sYXRlIHRoaXMuIEFyZSB5b3Ugc3VyZSBhYm91dCB0YWdnaW5nIHRoaXMgcGFydGl0aW9uIGRpZmZlcmVudGx5PyIKK21zZ3N0ciAiIgorIkluaSBzYW5nYXQgZGlzYXJhbmthbiBiYWh3YSBwYXJ0aXNpIGRpIG9mZnNldCAwIG1lbWlsaWtpIHRpcGVcbiIKKyJcIlNHSSB2b2xoZHJcIiwgSVJJWCBzeXN0ZW0gYWthbiBiZXJnYW50dW5nIHBhZGEgaW5pIHVudHVrIG1lbmVyaW1hXG4iCisicGVyYW5na2F0IGRpcmVrdG9yaSBzdGFuZGFsb25lIHNlcGVydGkgc2FzaCBkYW4gZnguIEhhbnlhIFwiU0dJIHZvbHVtZVwiIFxuIgorImRpIGJhZ2lhbiBrZXNlbHVydWhhbiBkaXNrIGFrYW4gbWVuZ2dhbmdndSBpbmkuIEtldGlrIFlFUyBqaWthIGFuZGEgeWFraW5cbiIKKyJtZW5nZW5haSB0YWdnaW5nIHBhcnRpc2kgaW5pIHNlY2FyYSBiZXJiZWRhLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDAKK21zZ2lkICJVbmFzc2lnbmVkIgorbXNnc3RyICJUaWRhayBkaSBhc3NpZ24iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MgorbXNnaWQgIlN1bk9TIHJvb3QiCittc2dzdHIgIlN1bk9TIHJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MworbXNnaWQgIlN1bk9TIHN3YXAiCittc2dzdHIgIlN1bk9TIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NAorbXNnaWQgIlN1bk9TIHVzciIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDUKK21zZ2lkICJXaG9sZSBkaXNrIgorbXNnc3RyICJTZWx1cnVoIGRpc2siCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NgorbXNnaWQgIlN1bk9TIHN0YW5kIgorbXNnc3RyICJTdW5PUyBzdGFuZCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ3Cittc2dpZCAiU3VuT1MgdmFyIgorbXNnc3RyICJTdW5PUyB2YXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0OAorbXNnaWQgIlN1bk9TIGhvbWUiCittc2dzdHIgIlN1bk9TIGhvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0OQorbXNnaWQgIlN1bk9TIGFsdCBzZWN0b3JzIgorbXNnc3RyICJTdW5PUyBhbHQgc2VrdG9yIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTAKK21zZ2lkICJTdW5PUyBjYWNoZWZzIgorbXNnc3RyICJTdW5PUyBjYWNoZWZzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTEKK21zZ2lkICJTdW5PUyByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgcmVzZXJ2ZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiBQcm9iYWJseSB5b3UnbGwgaGF2ZSB0byBzZXQgYWxsIHRoZSB2YWx1ZXMsIGUuZy4gaGVhZHMsIHNlY3RvcnMsIGN5bGluZGVycyBhbmQgcGFydGl0aW9ucyBvciBmb3JjZSBhIGZyZXNoIGxhYmVsIChzIGNvbW1hbmQgaW4gbWFpbiBtZW51KSIKK21zZ3N0ciAiIgorIlRlcmRldGVrc2kgZGlza2xhYmVsIHN1biBkZW5nYW4gY2hlY2tzdW0geWFuZyBzYWxhaC5cbiIKKyJNdW5na2luIGFuZGEgaGFydXMgbWVuc2V0IHNlbXVhIG5pbGFpLCBoZWFkcywgc2VjdG9ycywgXG4iCisiY3lsaW5kZXJzIGRhbiBwYXJ0aXNpIHVudHVrIG1lbWFrc2EgZnJlc2ggbGFiZWwgXG4iCisiKHBlcmludGFoIHMgZGFsYW0gbWFpbiBtZW51KVxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdmVyc2lvbiBbJWRdLiIKK21zZ3N0ciAiVGVyZGV0ZWtzaSBzdW4gZGlza2xhYmVsIGRlbmdhbiB2ZXJzaSBzYWxhaCBbMHglMDh4XS5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2Muc2FuaXR5IFsweCUwOHhdLiIKK21zZ3N0ciAiVGVyZGV0ZWtzaSBzdW4gZGlza2xhYmVsIGRlbmdhbiBzYW5pdHkgc2FsYWggWzB4JTA4eF0uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLm5wYXJ0cyBbJXVdLiIKK21zZ3N0ciAiVGVyZGV0ZWtzaSBzdW4gZGlza2xhYmVsIGRlbmdhbiBudW1fcGFydGl0aW9ucyBzYWxhaCBbJXVdLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIldhcm5pbmc6IFdyb25nIHZhbHVlcyBuZWVkIHRvIGJlIGZpeGVkIHVwIGFuZCB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpIgorbXNnc3RyICJQZXJpbmdhdGFuOiBOaWxhaSBzYWxhaCBidXR1aCB1bnR1ayBwZXJiYWlraSBkYW4gYWthbiBkaXBlcmJhaWtpIHcocml0ZSlcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE5MgorbXNnaWQgIkhlYWRzIgorbXNnc3RyICJIZWFkcyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE5NAorbXNnaWQgIlNlY3RvcnMvdHJhY2siCittc2dzdHIgIlNla3Rvci90cmFjayIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjI5NworIywgZnV6enkKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorbXNnc3RyICIgICBzICAgYnVhdCBzZWJ1YWggZGlza2xhYmVsIFN1biB5YW5nIGtvc29uZyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGRvZXNuJ3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiUGFydGlzaSAlZCB0aWRhayBiZXJha2hpciBkYWxhbSBiYXRhcyBjeWxpbmRlclxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBvdGhlcnMgaW4gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIlBhcnRpc2kgJWQgb3ZlcmxhcCBkZW5nYW4geWFuZyBsYWlubnlhIGRpIHNla3RvciAlZC0lZFxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAwLSV1LiIKK21zZ3N0ciAiR2FwIHlhbmcgdGlkYWsgZGlndW5ha2FuIC0gc2VrdG9yIDAtJWRcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NSBsaWJmZGlzay9zcmMvc3VuLmM6NDcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIkdhcCB5YW5nIHRpZGFrIGRpZ3VuYWthbiBzZWt0b3IgJWQtJWRcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUyOAorIywgZnV6enkKK21zZ2lkICJPdGhlciBwYXJ0aXRpb25zIGFscmVhZHkgY292ZXIgdGhlIHdob2xlIGRpc2suIERlbGV0ZSBzb21lL3NocmluayB0aGVtIGJlZm9yZSByZXRyeS4iCittc2dzdHIgIiIKKyJQYXJ0aXNpIGxhaW4gc3VkYWggbWVsaW5na3VwaSBzZWx1cnVoIGRpc2suXG4iCisiSGFwdXMgc2ViYWdpYW4va2VjaWxrYW4gbWVyZWthIHNlYmVsdW0gbWVuY29iYSBsYWdpLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWQgaXMgYWxyZWFkeSBhbGxvY2F0ZWQiCittc2dzdHIgIlNla3RvciAlZCBzdWRhaCBkaWFsb2thc2lrYW5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYwMAorIywgZnV6enkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgdGhpcmQgcGFydGl0aW9uIGNvdmVycyB0aGUgd2hvbGUgZGlzayBhbmQgaXMgb2YgdHlwZSBgV2hvbGUgZGlzayciCittc2dzdHIgIiIKKyJJbmkgc2FuZ2F0IGRpcmVrb21lbmRhc2lrYW4gcGFydGlzaSBrZXRpa2EgbWVsaW5na3VwaSBzZWx1cnVoIGRpc2tcbiIKKyJkYW4gbWVtaWxpa2kgdGlwZSBgV2hvbGUgZGlzaydcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYxMAorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbmluZyB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gJXUgdG8gJXUgdG8gYmUgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZW4ndCBjb3ZlcmVkIHRoZSB3aG9sZSBkaXNrIHdpdGggdGhlIDNyZCBwYXJ0aXRpb24sIGJ1dCB5b3VyIHZhbHVlXG4iCisiJWx1ICVzIGNvdmVycyBzb21lIG90aGVyIHBhcnRpdGlvbi4gWW91ciBlbnRyeSBoYXMgYmVlbiBjaGFuZ2VkXG4iCisidG8gJWx1ICVzIgorbXNnc3RyICIiCisiQW5kYSBiZWx1bSBtZWxpbmdrdXBpIHNlbHVydWggZGlzayBkZW5nYW4gcGFydGlzaSBrZSB0aWdhLCB0ZXRhcGkgbmlsYWkgYW5kYVxuIgorIiVkICVzIG1lbGluZ2t1cGkgYmViZXJhcGEgcGFydGlzaSB5YW5nIGxhaW4uIE1hc3VrYW4gYW5kYSB0ZWxhaCBiZXJ1YmFoIFxuIgorIm1lbmphZGkgJWQgJXNcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjcyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gU3VuT1MvU29sYXJpcyBjb21wYXRpYmlsaXR5LCBjb25zaWRlciBsZWF2aW5nIHRoaXMgcGFydGl0aW9uIGFzIFdob2xlIGRpc2sgKDUpLCBzdGFydGluZyBhdCAwLCB3aXRoICV1IHNlY3RvcnMiCittc2dzdHIgIiIKKyJKaWthIGFuZGEgaW5naW4gbWVuamFnYSBrb21wYXRpYmlsaXRhcyBkZW5nYW4gU3VuT1MvU29sYXJpcywgcGVydGltYmFuZ2thbiBcbiIKKyJ1bnR1ayBtZW5pbmdnYWxrYW4gcGFydGlzaSBpbmkgc2ViYWdhaSBXaG9sZSBkaXNrICg1KSwgbXVsYWkgZGkgMCwgZGVuZ2FuICV1IHNlY3RvcnNcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc1MAorIywgZnV6enkKK21zZ2lkICJMYWJlbCBJRCIKK21zZ3N0ciAibGFiZWw6ICUuKnNcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc1NQorIywgZnV6enkKK21zZ2lkICJWb2x1bWUgSUQiCittc2dzdHIgIlZvbHVtZTogPCUtNnM+XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjUKK21zZ2lkICJBbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJDeWxpbmRlciBhbHRlcm5hdGl2ZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg3MQorbXNnaWQgIk51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJKdW1sYWggZGFyaSBjeWxpbmRlciBhbHRlcm5hdGl2ZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg5NgorbXNnaWQgIkV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJFeHRyYSBzZWt0b3IgcGVyIGN5bGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTIwCittc2dpZCAiSW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIkZha3RvciBJbnRlcmxlYXZlIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTQ0Cittc2dpZCAiUm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIktlY2VwYXRhbiByb3Rhc2kgKHJwbSkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5NjgKK21zZ2lkICJOdW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJKdW1sYWggZGFyaSBwaHlzaWNhbCBjeWxpbmRlcnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDM3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiAzIGFzIFdob2xlIGRpc2sgKDUpLFxuIgorImFzIFN1bk9TL1NvbGFyaXMgZXhwZWN0cyBpdCBhbmQgZXZlbiBMaW51eCBsaWtlcyBpdC5cbiIKK21zZ3N0ciAiIgorIlBlcnRpbWJhbmdrYW4gdW50dWsgbWVuaW5nZ2Fsa2FuIHBhcnRpc2kgMyBzZWJhZ2FpIFdob2xlIGRpc2sgKDUpLFxuIgorInNlYmFnYWkgU3VuT1MvU29sYXJpcyBtZW5kdWdhIGluaSBkYW4gbXVuZ2tpbiBMaW51eCBtZW55dWthaW55YS5cbiIKKyJcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNDgKKyMsIGZ1enp5Cittc2dpZCAiIgorIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDBcbiIKKyJpcyBVRlMsIEVYVDJGUyBmaWxlc3lzdGVtIG9yIFN1bk9TIHN3YXAuIFB1dHRpbmcgTGludXggc3dhcFxuIgorInRoZXJlIG1heSBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlIGFuZCBib290YmxvY2suXG4iCisiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHRhZyB0aGUgcGFydGl0aW9uIGFzIExpbnV4IHN3YXA/IgorbXNnc3RyICIiCisiSW5pIHNhbmdhdCBkaXJla29tZW5kYXNpa2FuIGJhaHdhIHBhcnRpc2kgZGkgb2Zmc2V0IDAgYWRhbGFoIFVGUywgRVhUMkZTIFxuIgorImZpbGVzeXN0ZW0gYXRhdSBTdW5PUyBzd2FwLiBNZW5lbXBhdGthbiBMaW51eCBzd2FwIGRpc2FuYSBtdW5na2luIGFrYW4gXG4iCisibWVuZ2hhbmN1cmthbiB0YWJlbCBwYXJ0aXNpIGFuZGEgZGFuIGJvb3RibG9jay4gS2V0aWsgWUVTIGppa2EgYW5kYSBzYW5nYXQgXG4iCisieWFraW4sIGFrYW5rYWggYW5kYSBtZW5zZXQgKHRhZykgcGFydGlzaSB0ZXJzZWJ1dCBkZW5nYW4gdGlwZSA4MiAoTGludXggc3dhcCk6ICIKKworIzogbGliL3BhZ2VyLmM6MTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCAoJXMpIgorbXNnc3RyICJ3YWl0cGlkIGdhZ2FsIgorCisjOiBsaWIvcGF0aC5jOjIwOSBzeXMtdXRpbHMvbHNjcHUuYzoxODE4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjYWxsb2NhdGUgY3B1IHNldCIKK21zZ3N0ciAiZ2FnYWwgbWVuZ2Fsb2thc2lrYW4gb3V0YnVmZmVyIgorCisjOiBsaWIvcGF0aC5jOjIxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0ICVzIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IGxpYi9wYXRoLmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2sgJXMiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MgorIywgZnV6enkKK21zZ2lkICJjYW4gbm90IG9wZW4gVU5JWCBzb2NrZXQiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1a2EgJXMiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzgKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG5vdCBzZXQgb3B0aW9uIGZvciBVTklYIHNvY2tldCIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtcGVyb2xlaCBuaWxhaSB0aW1lb3V0IHVudHVrICVzOiAlc1xuIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjkxCisjLCBmdXp6eQorbXNnaWQgImNhbiBub3QgY29ubmVjdCBvbiBVTklYIHNvY2tldCIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVrYSAlcyIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHBseW1vdXRoIHJlcXVlc3QgJWMgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICIiCisKKyM6IGxpYi9yYW5kdXRpbHMuYzoxMzYKK21zZ2lkICJsaWJjIHBzZXVkby1yYW5kb20gZnVuY3Rpb25zIgorbXNnc3RyICIiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MTcgbGliL3N3YXBwcm9iZXIuYzozMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBwcm9iZSBkZXZpY2UiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lcmV3aW5kIHBlcmFuZ2thdCBzd2FwIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcHJvYmluZyByZXN1bHQ7IHVzZSB3aXBlZnMoOCkiCittc2dzdHIgIiIKKworIzogbGliL3N3YXBwcm9iZXIuYzozNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHZhbGlkIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICIlczogdGlkYWsgYWRhIHBhcnRpc2kgc2VwZXJ0aSBpdHVcbiIKKworIzogbGliL3N3YXBwcm9iZXIuYzo0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuc3VwcG9ydGVkIHN3YXAgdmVyc2lvbiAnJXMnIgorbXNnc3RyICIlczogdGlkYWsgbWVuZHVrdW5nIHZlcnNpIHN3YXBzYXBjZSAlZC5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjkwIGxvZ2luLXV0aWxzL2Noc2guYzo2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAiIgorIlxuIgorIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwYXRobmFtZSBbcGF0aG5hbWUgLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHlvdXIgZmluZ2VyIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJNZW5ndWJhaCBpbmZvcm1hc2kgZmluZ2VyIHVudHVrICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTYKK21zZ2lkICIgLWYsIC0tZnVsbC1uYW1lIDxmdWxsLW5hbWU+ICByZWFsIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTcKK21zZ2lkICIgLW8sIC0tb2ZmaWNlIDxvZmZpY2U+ICAgICAgICBvZmZpY2UgbnVtYmVyXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk4CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1vZmZpY2UtcGhvbmUgPHBob25lPiAgIG9mZmljZSBwaG9uZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorIlsgLXAgb2ZmaWNlLXBob25lIF1cbiIKKyJcdFsgLWggaG9tZS1waG9uZSBdICIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk5Cittc2dpZCAiIC1oLCAtLWhvbWUtcGhvbmUgPHBob25lPiAgICAgaG9tZSBwaG9uZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAxIGxvZ2luLXV0aWxzL2Noc2guYzo3OAorbXNnaWQgIiAtdSwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpZWxkICVzIGlzIHRvbyBsb25nIgorbXNnc3RyICJmaWVsZCB0ZXJsYWx1IHBhbmphbmcuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMjEgbG9naW4tdXRpbHMvY2hzaC5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaGFzIGlsbGVnYWwgY2hhcmFjdGVycyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTUwIGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE2MgorIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbi5kZWZzIGZvcmJpZHMgc2V0dGluZyAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTggbG9naW4tdXRpbHMvY2hmbi5jOjMwOQorbXNnaWQgIk9mZmljZSIKK21zZ3N0ciAiS2FudG9yIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjQgbG9naW4tdXRpbHMvY2hmbi5jOjMxMQorbXNnaWQgIk9mZmljZSBQaG9uZSIKK21zZ3N0ciAiVGVsZXBvbiBLYW50b3IiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjggbG9naW4tdXRpbHMvY2hmbi5jOjE3MCBsb2dpbi11dGlscy9jaGZuLmM6MzEzCittc2dpZCAiSG9tZSBQaG9uZSIKK21zZ3N0ciAiVGVsZXBvbiBSdW1haCIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjIzMworIywgZnV6enkKK21zZ2lkICJBYm9ydGVkLiIKK21zZ3N0ciAiIgorIlxuIgorIkRpYmF0YWxrYW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgaGFzIHVuZXhwZWN0ZWQgdmFsdWU6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgZG9lcyBub3QgYWxsb3cgYW55IGNoYW5nZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci5cbiIKK21zZ3N0ciAiSW5mb3JtYXNpIGZpbmdlciAqVElEQVQqIGRpdWJhaC4gQ29iYSBsYWdpIG5hbnRpLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBjaGFuZ2VkLlxuIgorbXNnc3RyICJJbmZvcm1hc2kgZmluZ2VyIGJlcnViYWguXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MDggbG9naW4tdXRpbHMvY2hzaC5jOjI0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAieW91ICh1c2VyICVkKSBkb24ndCBleGlzdC4iCittc2dzdHIgIiVzOiBhbmRhIChwZW5nZ3VuYSAlZCkgdGlkYWsgYWRhLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDE0IGxvZ2luLXV0aWxzL2Noc2guYzoyNDggbG9naW4tdXRpbHMvbGlidXNlci5jOjU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIFwiJXNcIiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIiVzOiBwZW5nZ3VuYSBcIiVzXCIgdGlkYWsgYWRhLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDIwIGxvZ2luLXV0aWxzL2Noc2guYzoyNTQKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMiCittc2dzdHIgIiVzOiBoYW55YSBkYXBhdCBtZW5ndWJhaCBtYXN1a2FuIGxvY2FsOyBndW5ha2FuIHlwJXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgZmluZ2VyIGluZm8gb2YgJXMiCittc2dzdHIgIiVzOiAlcyB0aWRhayBkaXBlcmJvbGVoa2FuIHVudHVrIG1lbmd1YmFoIGluZm9ybWFzaSBmaW5nZXIgZGFyaSAlc1xuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDM1IGxvZ2luLXV0aWxzL2Noc2guYzoyNzAKK21zZ2lkICJVbmtub3duIHVzZXIgY29udGV4dCIKK21zZ3N0ciAiQ29udGV4dCBwZW5nZ3VuYSB0aWRhayBkaWtldGFodWkiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NDEgbG9naW4tdXRpbHMvY2hzaC5jOjI3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgc2V0IGRlZmF1bHQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIiVzOiBUaWRhayBkYXBhdCBtZW5zZXQgZGVmYXVsdCBjb250ZXh0IHVudHVrIC9ldGMvcGFzc3dkIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDUyCisjLCBmdXp6eQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiVzOiBVSUQgeWFuZyBkaWd1bmFrYW4gdGlkYWsgY29jb2sgZGVuZ2FuIFVJRCBkYXJpIHBlbmdndW5hIHlhbmcgbWVuZ3ViYWhueWEsIHBlcnViYWhhbiBzaGVsbCBkaXRvbGFrXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgZmluZ2VyIGluZm9ybWF0aW9uIGZvciAlcy5cbiIKK21zZ3N0ciAiTWVuZ3ViYWggaW5mb3JtYXNpIGZpbmdlciB1bnR1ayAlcy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gbm90IGNoYW5nZWQuXG4iCittc2dzdHIgIkluZm9ybWFzaSBmaW5nZXIgdGlkYWsgYmVydWJhaC5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjcyCisjLCBmdXp6eQorbXNnaWQgIkNoYW5nZSB5b3VyIGxvZ2luIHNoZWxsLlxuIgorbXNnc3RyICJNZXJ1YmFoIHNoZWxsIHVudHVrICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gIHNwZWNpZnkgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiICAtcywgLS1zaGVsbD1zaGVsbCAgICAgICAgICAgIE1lbmdlc2V0IHNoZWxsIHF1b3RpbmcgY29udmVudGlvbnNcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc2Cittc2dpZCAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIHByaW50IGxpc3Qgb2Ygc2hlbGxzIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjEwMAorIywgZnV6enkKK21zZ2lkICJObyBrbm93biBzaGVsbHMuIgorbXNnc3RyICJUaWRhayBhZGEgc2hlbGxzIHlhbmcgZGlrZXRhaHVpLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjAwCisjLCBmdXp6eQorbXNnaWQgInNoZWxsIG11c3QgYmUgYSBmdWxsIHBhdGggbmFtZSIKK21zZ3N0ciAiJXM6IHNoZWxsIGhhcnVzIGJlcmFkYSBkYWxhbSBmdWxsIHBhdGggbmFtZS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIlczogXCIlc1wiIHRpZGFrIGFkYS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGlzIG5vdCBleGVjdXRhYmxlIgorbXNnc3RyICIlczogXCIlc1wiIGJ1a2FuIHNlYnVhaCBleGVjdXRhYmxlLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy4iCittc2dzdHIgIlBlcmluZ2F0YW46IFwiJXNcIiB0aWRhayB0ZXJkYWZ0YXIgZGFsYW0gL2V0Yy9zaGVsbHMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMTQgbG9naW4tdXRpbHMvY2hzaC5jOjIxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLlxuIgorIlVzZSAlcyAtbCB0byBzZWUgbGlzdC4iCittc2dzdHIgIiVzOiBcIiVzXCIgdGlkYWsgdGVyZGFmdGFyIGRhbGFtIC9ldGMvc2hlbGxzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIHNoZWxsIG9mICVzIgorbXNnc3RyICIlczogJXMgdGlkYWsgZGlpamlua2FuIHVudHVrIG1lbmd1YmFoIHNoZWxsIGRhcmkgJXNcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI5NQorIywgZnV6enkKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICIlczogVUlEIHlhbmcgZGlndW5ha2FuIHRpZGFrIGNvY29rIGRlbmdhbiBVSUQgZGFyaSBwZW5nZ3VuYSB5YW5nIG1lbmd1YmFobnlhLCBwZXJ1YmFoYW4gc2hlbGwgZGl0b2xha1xuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIHNoZWxsIGlzIG5vdCBpbiAlcywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiJXM6IFNoZWxsIGFuZGEgdGlkYWsgYWRhIGRhbGFtIGRhZnRhciAvZXRjL3NoZWxscywgcGVydWJhaGFuIHNoZWxsIGRpdG9sYWtcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBzaGVsbCBmb3IgJXMuXG4iCittc2dzdHIgIk1lcnViYWggc2hlbGwgdW50dWsgJXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMTIKK21zZ2lkICJOZXcgc2hlbGwiCittc2dzdHIgIlNoZWxsIGJhcnUiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjAKKyMsIGZ1enp5Cittc2dpZCAiU2hlbGwgbm90IGNoYW5nZWQuIgorbXNnc3RyICJTaGVsbCB0aWRhayBiZXJ1YmFoLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzI1CisjLCBmdXp6eQorbXNnaWQgIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICJTaGVsbCAqVElEQUsqIGJlcnViYWguIENvYmEgbGFnaSBuYW50aS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyOQorIywgZnV6enkKK21zZ2lkICIiCisic2V0cHduYW0gZmFpbGVkXG4iCisiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIlNoZWxsICpUSURBSyogYmVydWJhaC4gQ29iYSBsYWdpIG5hbnRpLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoZWxsIGNoYW5nZWQuXG4iCittc2dzdHIgIlNoZWxsIGJlcnViYWguXG4iCisKKyM6IGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIDxwYXNzd29yZGZpbGU+IDx1c2VybmFtZT4uLi5cbiIKK21zZ3N0ciAicGVuZ2d1bmFhbjogJXMgW2ZpbGVdXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoxNzQgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjIwIHN5cy11dGlscy9kbWVzZy5jOjExOTMKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB0aW1lIGZvcm1hdDogJXMiCittc2dzdHIgIiVzOiBQZXJpbnRhaCB0aWRhayBkaWtldGFodWk6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyODEgbG9naW4tdXRpbHMvbGFzdC5jOjI4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW50ZXJydXB0ZWQgJXMiCittc2dzdHIgIiIKKyJcbiIKKyJpbnRlcnVwc2kgJTEwLjEwcyAlNS41cyBcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjQzOSBsb2dpbi11dGlscy9sYXN0LmM6NDUwCittc2dpZCAicHJlYWxsb2NhdGlvbiBzaXplIGV4Y2VlZGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT4uLi5dIFs8dHR5Pi4uLl1cbiIKK21zZ3N0ciAiIgorIlxuIgorIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwYXRobmFtZSBbcGF0aG5hbWUgLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTcyCittc2dpZCAiU2hvdyBhIGxpc3Rpbmcgb2YgbGFzdCBsb2dnZWQgaW4gdXNlcnMuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NQorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NgorbXNnaWQgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBkaXNwbGF5IGhvc3RuYW1lcyBpbiB0aGUgbGFzdCBjb2x1bW5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc3Cittc2dpZCAiIC1kLCAtLWRucyAgICAgICAgICAgIHRyYW5zbGF0ZSB0aGUgSVAgbnVtYmVyIGJhY2sgaW50byBhIGhvc3RuYW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OQorIywgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgdXNlIGEgc3BlY2lmaWMgZmlsZSBpbnN0ZWFkIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MAorbXNnaWQgIiAtRiwgLS1mdWxsdGltZXMgICAgICBwcmludCBmdWxsIGxvZ2luIGFuZCBsb2dvdXQgdGltZXMgYW5kIGRhdGVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taXAgICAgICAgICAgICAgZGlzcGxheSBJUCBudW1iZXJzIGluIG51bWJlcnMtYW5kLWRvdHMgbm90YXRpb25cbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODIKK21zZ2lkICIgLW4sIC0tbGltaXQgPG51bWJlcj4gaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODMKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIGRvbid0IGRpc3BsYXkgdGhlIGhvc3RuYW1lIGZpZWxkXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBDZXRhayB0YWJlbCBwYXJ0aXNpIGRpIGxheWFyIGF0YXUga2Ugc2VidWFoIGZpbGUiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODQKK21zZ2lkICIgLXMsIC0tc2luY2UgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgc2luY2UgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NQorbXNnaWQgIiAtdCwgLS11bnRpbCA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyB1bnRpbCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg2Cittc2dpZCAiIC1wLCAtLXByZXNlbnQgPHRpbWU+IGRpc3BsYXkgd2hvIHdlcmUgcHJlc2VudCBhdCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg3CisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS1mdWxsbmFtZXMgICAgICBkaXNwbGF5IGZ1bGwgdXNlciBhbmQgZG9tYWluIG5hbWVzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg4Cittc2dpZCAiIC14LCAtLXN5c3RlbSAgICAgICAgIGRpc3BsYXkgc3lzdGVtIHNodXRkb3duIGVudHJpZXMgYW5kIHJ1biBsZXZlbCBjaGFuZ2VzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OQorbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wcyBpbiB0aGUgc3BlY2lmaWVkIDxmb3JtYXQ+OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpbWV8c2hvcnR8ZnVsbHxpc29cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6ODgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXMgYmVnaW5zICVzIgorbXNnc3RyICIiCisiXG4iCisid3RtcCBkaW11bGFpICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTU2IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjQKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcHJpb3JpdGFzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTc3IGxvZ2luLXV0aWxzL2xhc3QuYzo5ODIgbG9naW4tdXRpbHMvbGFzdC5jOjk4NworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZSB2YWx1ZSBcIiVzXCIiCittc2dzdHIgInBpbGloYW4gdGlkYWsgdmFsaWQiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzoyOSBsb2dpbi11dGlscy9saWJ1c2VyLmM6MzEKK21zZ2lkICJDb3VsZG4ndCBkcm9wIGdyb3VwIHByaXZpbGVnZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJsaWJ1c2VyIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJXMuIgorbXNnc3RyICJlcnJvcjogJXM6IGdhZ2FsIG1lbGFrdWthbiBpbmlzaWFsaXNhc2kgcHJvYmluZyIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjUyCisjLCBmdXp6eQorbXNnaWQgImNoYW5naW5nIHVzZXIgYXR0cmlidXRlIGZhaWxlZCIKK21zZ3N0ciAicGVtYnVhdGFuIHNlbWFwaG9yIGdhZ2FsIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICV1IGlzIDYwLgorIzogbG9naW4tdXRpbHMvbG9naW4uYzoxODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRpbWVkIG91dCBhZnRlciAldSBzZWNvbmRzIgorbXNnc3RyICJXYWt0dSBoYWJpcyB1bnR1ayBMb2dpbiBzZXN1ZGFoICVkIGRldGlrXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogY2FuJ3QgcmVvcGVuIHR0eTogJW0iCittc2dzdHIgIkZBVEFMOiB0aWRhayBkYXBhdCBtZW1idWthIHR0eTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlcyBpcyBub3QgYSB0ZXJtaW5hbCIKK21zZ3N0ciAiRkFUQUw6ICVzIGJ1a2FuIHNlYnVhaCB0ZXJtaW5hbCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNob3duICglcywgJWx1LCAlbHUpIGZhaWxlZDogJW0iCittc2dzdHIgImNob3duIGdhZ2FsOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNobW9kICglcywgJXUpIGZhaWxlZDogJW0iCittc2dzdHIgIi9kZXY6IGNoZGlyKCkgZ2FnYWw6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM3NQorbXNnaWQgIkZBVEFMOiBiYWQgdHR5IgorbXNnc3RyICJGQVRBTDogdHR5IGJ1cnVrIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXM6IGNoYW5nZSBwZXJtaXNzaW9ucyBmYWlsZWQ6ICVtIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgbG9naW46ICUuKnMgIgorbXNnc3RyICJMb2dpbiB0ZXJha2hpcjogJS4qcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnJvbSAlLipzXG4iCittc2dzdHIgImRhcmkgJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUzNAorIywgYy1mb3JtYXQKK21zZ2lkICJvbiAlLipzXG4iCittc2dzdHIgImRpICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1NTIKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgbGFzdGxvZyBmYWlsZWQiCittc2dzdHIgImdhZ2FsIG1lbnVsaXMga2Ugc3Rkb3V0IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJESUFMVVAgQVQgJXMgQlkgJXMiCittc2dzdHIgIkRJQUxVUCBQQURBICVzIE9MRUggJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMgRlJPTSAlcyIKK21zZ3N0ciAiUk9PVCBMT0dJTiBESSAlcyBEQVJJICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2MAorIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIgorbXNnc3RyICJST09UIExPR0lOIERJICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorbXNnc3RyICJMT0dJTiBESSAlcyBPTEVIICVzIERBUkkgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIgorbXNnc3RyICJMT0dJTiBESSAlcyBPTEVIICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjcxOQorbXNnaWQgImxvZ2luOiAiCittc2dzdHIgImxvZ2luOiAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorbXNnc3RyICIlczogUEFNIEdhZ2FsLCBtZW1iYXRhbGthbjogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGRuJ3QgaW5pdGlhbGl6ZSBQQU06ICVzIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW5naW5pdGlhbGlzYXNpIFBBTTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gJXUgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJHQUdBTCBMT0dJTiAlZCBEQVJJICVzIFVOVFVLICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MjUgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxvZ2luIGluY29ycmVjdFxuIgorIlxuIgorbXNnc3RyICIiCisiTG9naW4gdGlkYWsgYmVuYXJcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRPTyBNQU5ZIExPR0lOIFRSSUVTICgldSkgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJURVJMQUxVIEJBTllBSyBMT0dJTiBESUNPQkEgKCVkKSBEQVJJICVzIFVOVFVLICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOIFNFU1NJT04gRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJHQUdBTCBTRVNJIExPR0lOIERBUkkgJXMgVU5UVUsgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg1NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTG9naW4gaW5jb3JyZWN0XG4iCittc2dzdHIgIiIKKyJcbiIKKyJMb2dpbiB0aWRhayBiZW5hclxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg4MiBsb2dpbi11dGlscy9sb2dpbi5jOjEyMzIgbG9naW4tdXRpbHMvbG9naW4uYzoxMjU1CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHNldHVwIHByb2JsZW0sIGFib3J0LiIKK21zZ3N0ciAiIgorIlxuIgorIk1hc2FsYWggZGFyaSBzZXNpIHNldHVwLCBiYXRhbC5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVMTCB1c2VyIG5hbWUgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiS09TT05HIGRpIHBlbmdndW5hICh1c2VybmFtZSkgZGFsYW0gJXM6ICVkLiBCYXRhbC4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAyMAorIywgYy1mb3JtYXQKK21zZ2lkICJUSU9DU0NUVFkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiVElPQ1NDVFRZIGdhZ2FsOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJsb2dpbjogLWggaXMgZm9yIHN1cGVydXNlciBvbmx5XG4iCittc2dzdHIgImxvZ2luOiAtaCBoYW55YSB1bnR1ayBzdXBlci11c2VyLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiBsb2dpbiBbLXBdIFstaCA8aG9zdD5dIFstSF0gW1stZl0gPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAicGVuZ2d1bmFhbjogbGFzdCBbLSNdIFstZiBmaWxlXSBbLXQgdHR5XSBbLWggaG9zdG5hbWVdIFtwZW5nZ3VuYSAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE5MQorIywgZnV6enkKK21zZ2lkICJCZWdpbiBhIHNlc3Npb24gb24gdGhlIHN5c3RlbS5cbiIKK21zZ3N0ciAiQW5kYSBtZW5nZ3VuYWthbiBzaGFkb3cgcGFzc3dvcmQgZGkgc3lzdGVtIGluaS5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdXNlciBuYW1lIFwiJXNcIiBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICJQZW5nZ3VuYSAodXNlcm5hbWUpIHRpZGFrIHZhbGlkIFwiJXNcIiBkYWxhbSAlczolZC4gQmF0YWwuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImdyb3VwcyBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICJlcnJvcjogJXM6IGdhZ2FsIG1lbGFrdWthbiBpbmlzaWFsaXNhc2kgcHJvYmluZyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjc5CisjLCBmdXp6eQorbXNnaWQgInNldGdpZCgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgZ2FnYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMwOQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBuZXcgbWFpbC5cbiIKK21zZ3N0ciAiQW5kYSBtZW1pbGlraSBtYWlsIGJhcnUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMxMQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBtYWlsLlxuIgorbXNnc3RyICJBbmRhIG1lbWlsaWtpIG1haWwuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMyNQorbXNnaWQgInNldHVpZCgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgZ2FnYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzMSBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2hhbmdlIGRpcmVjdG9yeSBmYWlsZWQiCittc2dzdHIgIiVzOiBnYWdhbCBtZW5kYXBhdGthbiB1a3VyYW4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzOCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2dpbmcgaW4gd2l0aCBob21lID0gXCIvXCIuXG4iCittc2dzdHIgIkxvZ2dpbmcgaW4gZGVuZ2FuIGhvbWUgPSBcIi9cIi5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzY3CisjLCBmdXp6eQorbXNnaWQgImNvdWxkbid0IGV4ZWMgc2hlbGwgc2NyaXB0IgorbXNnc3RyICJsb2dpbjogdGlkYWsgZGFwYXQgbWVuZ2Vrc2VrdXNpIHNoZWxsIHNjcmlwdDogJXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM2OQorIywgZnV6enkKK21zZ2lkICJubyBzaGVsbCIKK21zZ3N0ciAiVGlkYWsgYWRhIHNoZWxsIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzoyMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBjb250YWlucyBpbnZhbGlkIG51bWVyaWNhbCB2YWx1ZTogJXMiCittc2dzdHIgIk5pbGFpIGludGVydmFsIHRpZGFrIHZhbGlkOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzozNzUKK21zZ2lkICJodXNoIGxvZ2luIHN0YXR1czogcmVzdG9yZSBvcmlnaW5hbCBJRHMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA4IHN5cy11dGlscy9sc2NwdS5jOjE1NDAgc3lzLXV0aWxzL2xzY3B1LmM6MTU1MAorbXNnaWQgIm5vIgorbXNnc3RyICJ0aWRhayIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcgbWlzYy11dGlscy9sc2Jsay5jOjE4MQorIywgZnV6enkKK21zZ2lkICJ1c2VyIG5hbWUiCittc2dzdHIgIlVzZXJuYW1lIChwZW5nZ3VuYSkgdGlkYWsgbGVnYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3CisjLCBmdXp6eQorbXNnaWQgIlVzZXJuYW1lIgorbXNnc3RyICJVc2VybmFtZSAocGVuZ2d1bmEpIHRpZGFrIGxlZ2FsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOCBzeXMtdXRpbHMvcmVuaWNlLmM6NTQKKyMsIGZ1enp5Cittc2dpZCAidXNlciBJRCIKK21zZ3N0ciAicGVuZ2d1bmEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE5CisjLCBmdXp6eQorbXNnaWQgInBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAiUGFzc3dvcmQgZXJyb3IuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorIywgZnV6enkKK21zZ2lkICJQYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIlBhc3N3b3JkIGVycm9yLiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAibG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIiVzOiBmaWxlIHBhc3N3b3JkIHNlZGFuZyBzaWJ1ay5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAiTG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIiVzOiBmaWxlIHBhc3N3b3JkIHNlZGFuZyBzaWJ1ay5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKK21zZ2lkICJwYXNzd29yZCBkZWZpbmVkLCBidXQgbG9ja2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIGlzIGxvY2tlZCIKK21zZ3N0ciAiUGFzc3dvcmQ6ICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJsb2cgaW4gZGlzYWJsZWQgYnkgbm9sb2dpbig4KSBvciBwYW1fbm9sb2dpbig4KSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorIywgZnV6enkKK21zZ2lkICJObyBsb2dpbiIKK21zZ3N0ciAibG9naW46ICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJwcmltYXJ5IGdyb3VwIG5hbWUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKKyMsIGZ1enp5Cittc2dpZCAiUHJpbWFyeSBncm91cCIKK21zZ3N0ciAiVXRhbWEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI0Cittc2dpZCAicHJpbWFyeSBncm91cCBJRCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgbmFtZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKKyMsIGZ1enp5Cittc2dpZCAiaG9tZSBkaXJlY3RvcnkiCittc2dzdHIgIkJ1a2FuIGRpcmVrdG9yaSAlcyFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKKyMsIGZ1enp5Cittc2dpZCAiSG9tZSBkaXJlY3RvcnkiCittc2dzdHIgIkJ1a2FuIGRpcmVrdG9yaSAlcyFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKKyMsIGZ1enp5Cittc2dpZCAibG9naW4gc2hlbGwiCittc2dzdHIgIlRpZGFrIGFkYSBzaGVsbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKKyMsIGZ1enp5Cittc2dpZCAiU2hlbGwiCittc2dzdHIgIlRpZGFrIGFkYSBzaGVsbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKKyMsIGZ1enp5Cittc2dpZCAiZnVsbCB1c2VyIG5hbWUiCittc2dzdHIgIlVzZXJuYW1lIChwZW5nZ3VuYSkgdGlkYWsgbGVnYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiR2Vjb3MgZmllbGQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKKyMsIGZ1enp5Cittc2dpZCAiZGF0ZSBvZiBsYXN0IGxvZ2luIgorbXNnc3RyICJtZWxld2F0aSBiYXJpcyBwZXJ0YW1hIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorIywgZnV6enkKK21zZ2lkICJMYXN0IGxvZ2luIgorbXNnc3RyICJMb2dpbiB0ZXJha2hpcjogJS4qcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJsYXN0IHR0eSB1c2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCisjLCBmdXp6eQorbXNnaWQgIkxhc3QgdGVybWluYWwiCittc2dzdHIgIkZBVEFMOiAlcyBidWthbiBzZWJ1YWggdGVybWluYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiaG9zdG5hbWUgZHVyaW5nIHRoZSBsYXN0IHNlc3Npb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBob3N0bmFtZSIKK21zZ3N0ciAibGFzdDogZ2V0aG9zdG5hbWUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCisjLCBmdXp6eQorbXNnaWQgImRhdGUgb2YgbGFzdCBmYWlsZWQgbG9naW4iCittc2dzdHIgImdhZ2FsIGxzdGF0IGRhcmkgcGF0aFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworbXNnaWQgIkZhaWxlZCBsb2dpbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorIywgZnV6enkKK21zZ2lkICJ3aGVyZSBkaWQgdGhlIGxvZ2luIGZhaWw/IgorbXNnc3RyICJnYWdhbCBtZW51bGlzIGtlIHN0ZG91dCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIGxvZ2luIHRlcm1pbmFsIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBhdHJpYnV0IHBpZCAlZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJ1c2VyJ3MgaHVzaCBzZXR0aW5ncyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgIkh1c2hlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgImRheXMgdXNlciBpcyB3YXJuZWQgb2YgcGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24gd2FybiBpbnRlcnZhbCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgInBhc3N3b3JkIGV4cGlyYXRpb24gZGF0ZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworIywgZnV6enkKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICJQYXNzd29yZCBlcnJvci4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4Cittc2dpZCAiZGF0ZSBvZiBsYXN0IHBhc3N3b3JkIGNoYW5nZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorIywgZnV6enkKK21zZ2lkICJQYXNzd29yZCBjaGFuZ2VkIgorbXNnc3RyICJQYXNzd29yZDogIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIm51bWJlciBvZiBkYXlzIHJlcXVpcmVkIGJldHdlZW4gY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorIywgZnV6enkKK21zZ2lkICJNaW5pbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICIlczogdGlkYWsgYWRhIHBlcnViYWhhbiB5YW5nIGRpbGFrdWthblxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZGF5cyBhIHBhc3N3b3JkIG1heSByZW1haW4gdW5jaGFuZ2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCisjLCBmdXp6eQorbXNnaWQgIk1heGltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHByaW9yaXRhcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJ0aGUgdXNlcidzIHNlY3VyaXR5IGNvbnRleHQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKKyMsIGZ1enp5Cittc2dpZCAiU2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJMaW51eCBwbGFpbnRleHQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgcnVuIGJ5IHRoZSB1c2VyIgorbXNnc3RyICJtYXggbm9tb3IgZGFyaSBzZWdtZW50cyA9ICVsdVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorIywgZnV6enkKK21zZ2lkICJSdW5uaW5nIHByb2Nlc3NlcyIKK21zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbmVtdWthbiBwcm9jZXNzIFwiJXNcIlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzYgbWlzYy11dGlscy9sc2Jsay5jOjIzMQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGNvbHVtbnMgc3BlY2lmaWVkLCB0aGUgbGltaXQgaXMgJXp1IGNvbHVtbnMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDMgc3lzLXV0aWxzL2xzaXBjLmM6NDU2CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIHRpbWUgdHlwZSIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNvbXBvc2UgdGltZSBzdHJpbmciCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo2NDgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzEKKyMsIGZ1enp5Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVua25vd24gY29sdW1uIgorbXNnc3RyICJrZXNhbGFoYW4gaW50ZXJuYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA3NSBzeXMtdXRpbHMvbHNpcGMuYzo1MDMgc3lzLXV0aWxzL2xzaXBjLmM6NjI1CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo2ODAgc3lzLXV0aWxzL2xzaXBjLmM6ODM4IHN5cy11dGlscy9sc2lwYy5jOjEwMzYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCBkYXRhIgorbXNnc3RyICJnYWdhbCB1bnR1ayBtZW5kYXBhdGthbiBzdGF0aXN0aWs6ICVzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjExNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMYXN0IGxvZ3M6XG4iCittc2dzdHIgIkxvZ2luIHRlcmFraGlyOiAlLipzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjggbG9naW4tdXRpbHMvbm9sb2dpbi5jOjI2CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDEgbWlzYy11dGlscy9tY29va2llLmM6ODIgbWlzYy11dGlscy91dWlkZC5jOjcwCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyNSBzeXMtdXRpbHMvZG1lc2cuYzoyNjQgc3lzLXV0aWxzL2lwY21rLmM6NjYKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjAgc3lzLXV0aWxzL2xzaXBjLmM6Mjc3IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNAorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo5NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODAgdGV4dC11dGlscy9saW5lLmM6MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzMQorbXNnaWQgIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQga25vd24gdXNlcnMgaW4gdGhlIHN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzQKK21zZ2lkICIgLWEsIC0tYWNjLWV4cGlyYXRpb24gICAgIGRpc3BsYXkgaW5mbyBhYm91dCBwYXNzd29yZHMgZXhwaXJhdGlvblxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNQorbXNnaWQgIiAtYywgLS1jb2xvbi1zZXBhcmF0ZSAgICAgZGlzcGxheSBkYXRhIGluIGEgZm9ybWF0IHNpbWlsYXIgdG8gL2V0Yy9wYXNzd2RcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzYgc3lzLXV0aWxzL2xzaXBjLmM6Mjk2CisjLCBmdXp6eQorbXNnaWQgIiAtZSwgLS1leHBvcnQgICAgICAgICAgICAgZGlzcGxheSBpbiBhbiBleHBvcnQtYWJsZSBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNworIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIGRpc3BsYXkgZGF0YSBhYm91dCB0aGUgdXNlcnMnIGxhc3QgZmFpbGVkIGxvZ2luc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM4CisjLCBmdXp6eQorbXNnaWQgIiAtRywgLS1zdXBwLWdyb3VwcyAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBncm91cHNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM5Cittc2dpZCAiIC1nLCAtLWdyb3Vwcz08Z3JvdXBzPiAgICBkaXNwbGF5IHVzZXJzIGJlbG9uZ2luZyB0byBhIGdyb3VwIGluIDxncm91cHM+XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQwCisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1sYXN0ICAgICAgICAgICAgICAgc2hvdyBpbmZvIGFib3V0IHRoZSB1c2VycycgbGFzdCBsb2dpbiBzZXNzaW9uc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxvZ2lucz08bG9naW5zPiAgICBkaXNwbGF5IG9ubHkgdXNlcnMgZnJvbSA8bG9naW5zPlxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQyIHN5cy11dGlscy9sc2lwYy5jOjI5OAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGRpc3BsYXkgZWFjaCBwaWVjZSBvZiBpbmZvcm1hdGlvbiBvbiBhIG5ldyBsaW5lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MyBzeXMtdXRpbHMvbHNpcGMuYzoyOTEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDQgc3lzLXV0aWxzL2xzaXBjLmM6MjkyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub3RydW5jYXRlICAgICAgICAgZG9uJ3QgdHJ1bmNhdGUgb3V0cHV0XG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICB0aWRhayBtZW51bGlzIHNlYmVuYXJueWEga2UgZGlzayIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0Wz08bGlzdD5dICAgIGRlZmluZSB0aGUgY29sdW1ucyB0byBvdXRwdXRcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW9wdHN0cmluZyAgICAgIFBpbGloYW4gcGVuZGVrIHlhbmcgZGlrZW5hbFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDYKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gbG9naW4gYnkgcGFzc3dvcmQuXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NyBzeXMtdXRpbHMvbHNpcGMuYzozMDIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICBkaXNwbGF5IGluIHJhdyBtb2RlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDgKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICBkaXNwbGF5IHN5c3RlbSBhY2NvdW50c1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ5IHN5cy11dGlscy9sc2lwYy5jOjI5MworbXNnaWQgIiAgICAgLS10aW1lLWZvcm1hdD08dHlwZT4gZGlzcGxheSBkYXRlcyBpbiBzaG9ydCwgZnVsbCBvciBpc28gZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUwCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2VyLWFjY3MgICAgICAgICAgZGlzcGxheSB1c2VyIGFjY291bnRzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTEKKyMsIGZ1enp5Cittc2dpZCAiIC1aLCAtLWNvbnRleHQgICAgICAgICAgICBkaXNwbGF5IFNFTGludXggY29udGV4dHNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MgorIywgZnV6enkKK21zZ2lkICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgIGRlbGltaXQgdXNlciBlbnRyaWVzIHdpdGggYSBudWwgY2hhcmFjdGVyXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MworbXNnaWQgIiAgICAgLS13dG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciB3dG1wXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjU0Cittc2dpZCAiICAgICAtLWJ0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIGJ0bXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTkgbWlzYy11dGlscy9maW5kbW50LmM6MTI0NyBzeXMtdXRpbHMvbHNjcHUuYzoxOTc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnM6XG4iCittc2dzdHIgIlBlcmludGFoIHlhbmcgdGVyc2VkaWE6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ0MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVxdWVzdCBzZWxpbnV4IHN0YXRlIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ1NiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NjAKK21zZ2lkICJPbmx5IG9uZSB1c2VyIG1heSBiZSBzcGVjaWZpZWQuIFVzZSAtbCBmb3IgbXVsdGlwbGUgdXNlcnMuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjU1CisjLCBmdXp6eQorbXNnaWQgImNvdWxkIG5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVtcGVyb2xlaCBhdHJpYnV0IHRlcm1pbmFsICVzIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo1NworIywgZnV6enkKK21zZ2lkICJnZXRsaW5lKCkgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBnYWdhbCIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTQ4Cittc2dpZCAiUGFzc3dvcmQ6ICIKK21zZ3N0ciAiUGFzc3dvcmQ6ICIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTU0IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDA1CisjLCBmdXp6eQorbXNnaWQgImNyeXB0IGZhaWxlZCIKK21zZ3N0ciAibWFsbG9jKCkgZ2FnYWwiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxncm91cD5cbiIKK21zZ3N0ciAibmV3Z3JwOiBUaWRhayBncm91cCBzZXBlcnRpIGl0dS4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE2OQorbXNnaWQgIkxvZyBpbiB0byBhIG5ldyBncm91cC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMDcKKyMsIGZ1enp5Cittc2dpZCAid2hvIGFyZSB5b3U/IgorbXNnc3RyICJuZXdncnA6IFNpYXBhIGFuZGE/IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTEgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjIzIHN5cy11dGlscy9uc2VudGVyLmM6NDIzCisjLCBmdXp6eQorbXNnaWQgInNldGdpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGdhZ2FsIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTYgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjE4CisjLCBmdXp6eQorbXNnaWQgIm5vIHN1Y2ggZ3JvdXAiCittc2dzdHIgIm5ld2dycDogVGlkYWsgZ3JvdXAgc2VwZXJ0aSBpdHUuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjEgc3lzLXV0aWxzL21vdW50LmM6NDkxCisjLCBmdXp6eQorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIgorbXNnc3RyICJtb3VudDogaWppbiBkaXRvbGFrIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjcgc3lzLXV0aWxzL25zZW50ZXIuYzo0MjUKKyMsIGZ1enp5Cittc2dpZCAic2V0dWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgZ2FnYWwiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzoyOQorbXNnaWQgIlBvbGl0ZWx5IHJlZnVzZSBhIGxvZ2luLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzo3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhpcyBhY2NvdW50IGlzIGN1cnJlbnRseSBub3QgYXZhaWxhYmxlLlxuIgorbXNnc3RyICJEaXNrIGluaSBzYWF0IGluaSBzZWRhbmcgZGlndW5ha2FuLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoyOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIHNlc3Npb246ICVzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWthICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMDQKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBjaGlsZCBwcm9jZXNzIgorbXNnc3RyICIlczogdHVuZ2d1OiBUaWRhIGFkYSBwcm9zZXMgYW5hayBsYWdpPyE/XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIm5hbWVpOiB0aWRhayBkYXBhdCBtZW1wZXJvbGVoIGRpcmVrdG9yaSBzYWF0IGluaSAtICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMyMQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgYmxvY2sgc2lnbmFscyIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYnVrYSBmaWxlICclcyciCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMzNSBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNDMKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM0OSBtaXNjLXV0aWxzL3V1aWRkLmM6NDA3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzcxCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbnNldCBwZW5nb2xhaCBzaW55YWwiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM3NAorbXNnaWQgIiAoY29yZSBkdW1wZWQpIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLCBraWxsaW5nIHNoZWxsLi4uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC4uLmtpbGxlZC5cbiIKK21zZ3N0ciAiJXMgZ2FnYWwuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQ4NgorbXNnaWQgIm1heSBub3QgYmUgdXNlZCBieSBub24tcm9vdCB1c2VycyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MTQKKyMsIGZ1enp5Cittc2dpZCAiaW5jb3JyZWN0IHBhc3N3b3JkIgorbXNnc3RyICJQYXNzd29yZCBzYWxhaC4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjU5OAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwcyIKK21zZ3N0ciAibW91bnQgdGlkYWsgZGFwYXQgbWVuc2V0IGdydXAgaWQ6ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2MTMgc3lzLXV0aWxzL2VqZWN0LmM6NjY1CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXAgaWQiCittc2dzdHIgIm1vdW50IHRpZGFrIGRhcGF0IG1lbnNldCBncnVwIGlkOiAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjE1IHN5cy11dGlscy9lamVjdC5jOjY2OAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHVzZXIgaWQiCittc2dzdHIgIm1vdW50OiB0aWRhayBkYXBhdCBtZW5zZXQgaWQgcGVuZ2d1bmE6ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKK21zZ3N0ciAiIgorIlxuIgorIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwYXRobmFtZSBbcGF0aG5hbWUgLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2ODkgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAicGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIDxhcGxpa2FzaT4gW2FyZyAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY5MAorbXNnaWQgIiIKKyJcbiIKKyJSdW4gPGNvbW1hbmQ+IHdpdGggdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCBvZiA8dXNlcj4uICBJZiAtdSBpc1xuIgorIm5vdCBnaXZlbiwgZmFsbCBiYWNrIHRvIHN1KDEpLWNvbXBhdGlibGUgc2VtYW50aWNzIGFuZCBleGVjdXRlIHN0YW5kYXJkIHNoZWxsLlxuIgorIlRoZSBvcHRpb25zIC1jLCAtZiwgLWwsIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLXUuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njk3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2VyIDx1c2VyPiAgICAgICAgICAgICB1c2VybmFtZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDIKK21zZ2lkICIiCisiXG4iCisiQ2hhbmdlIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgdG8gdGhhdCBvZiA8dXNlcj4uXG4iCisiQSBtZXJlIC0gaW1wbGllcyAtbC4gIElmIDx1c2VyPiBpcyBub3QgZ2l2ZW4sIHJvb3QgaXMgYXNzdW1lZC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDkKK21zZ2lkICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBkbyBub3QgcmVzZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzEwCittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgICAgICAgICAgc3BlY2lmeSB0aGUgcHJpbWFyeSBncm91cFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMQorbXNnaWQgIiIKKyIgLUcsIC0tc3VwcC1ncm91cCA8Z3JvdXA+ICAgICAgICBzcGVjaWZ5IGEgc3VwcGxlbWVudGFsIGdyb3VwXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzEzCisjLCBmdXp6eQorbXNnaWQgIiAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgICAgIG1ha2UgdGhlIHNoZWxsIGEgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE0Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE1CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkbyBub3QgY3JlYXRlIGEgbmV3IHNlc3Npb25cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgUGVydGFtYSAgICAgQWtoaXJcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE3CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgIHBhc3MgLWYgdG8gdGhlIHNoZWxsIChmb3IgY3NoIG9yIHRjc2gpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxOAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgICBydW4gPHNoZWxsPiBpZiAvZXRjL3NoZWxscyBhbGxvd3MgaXRcbiIKK21zZ3N0ciAiICAtcywgLS1zaGVsbD1zaGVsbCAgICAgICAgICAgIE1lbmdlc2V0IHNoZWxsIHF1b3RpbmcgY29udmVudGlvbnNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzYyCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cCBpcyBub3QgcG9zc2libGUiCittc2dpZF9wbHVyYWwgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cHMgaXMgbm90IHBvc3NpYmxlIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJncm91cCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiJXM6IHBlbmdndW5hIFwiJXNcIiB0aWRhayBhZGEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg4NgorbXNnaWQgImlnbm9yaW5nIC0tcHJlc2VydmUtZW52aXJvbm1lbnQsIGl0J3MgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1sb2dpbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4OTcKK21zZ2lkICJvcHRpb25zIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IGFuZCAtLXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5MDEKKyMsIGZ1enp5Cittc2dpZCAibm8gY29tbWFuZCB3YXMgc3BlY2lmaWVkIgorbXNnc3RyICJuYW1hIGJlcmthcyB0aWRhayBkaXNwZXNpZmlrYXNpa2FuLiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTE1Cittc2dpZCAib25seSByb290IGNhbiBzcGVjaWZ5IGFsdGVybmF0aXZlIGdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5MjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzZXIgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiVzOiBwZW5nZ3VuYSBcIiVzXCIgdGlkYWsgYWRhLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgcmVzdHJpY3RlZCBzaGVsbCAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJuYW1laTogdGlkYWsgZGFwYXQgbWVtcGVyb2xlaCBkaXJla3Rvcmkgc2FhdCBpbmkgLSAlc1xuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTMwCisjLCBmdXp6eQorbXNnaWQgInRjZ2V0YXR0ciBmYWlsZWQiCittc2dzdHIgIiVzOiBzdGF0IGdhZ2FsIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MjA3CisjLCBmdXp6eQorbXNnaWQgInRjc2V0YXR0ciBmYWlsZWQiCittc2dzdHIgIiVzOiBzdGF0IGdhZ2FsIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbWJ1a2EgdW50dWsgYmFjYS90dWxpcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290IgorbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVtYnVrYSB1bnR1ayBiYWNhL3R1bGlzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcm9vdCBwYXNzd29yZCBnYXJibGVkIgorbXNnc3RyICIlczogZmlsZSBwYXNzd29yZCBzZWRhbmcgc2lidWsuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkNhbm5vdCBvcGVuIGFjY2VzcyB0byBjb25zb2xlLCB0aGUgcm9vdCBhY2NvdW50IGlzIGxvY2tlZC5cbiIKKyJTZWUgc3Vsb2dpbig4KSBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLlxuIgorIlxuIgorIlByZXNzIEVudGVyIHRvIGNvbnRpbnVlLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbG9naW46ICIKK21zZ3N0ciAiJXM6IGZpbGUgcGFzc3dvcmQgc2VkYW5nIHNpYnVrLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbG9naW46ICIKK21zZ3N0ciAiJXM6IGZpbGUgcGFzc3dvcmQgc2VkYW5nIHNpYnVrLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAiJXM6IGZpbGUgcGFzc3dvcmQgc2VkYW5nIHNpYnVrLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIob3IgcHJlc3MgQ29udHJvbC1EIHRvIGNvbnRpbnVlKTogIgorbXNnc3RyICJBcGFrYWggYW5kYSBiZW5hciAtIGJlbmFyIGluZ2luIG1lbGFuanV0a2FuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzQyCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgdG8gc3lzdGVtIHJvb3QgZmFpbGVkIgorbXNnc3RyICIlczogZ2FnYWwgbWVuZGFwYXRrYW4gdWt1cmFuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzkxCisjLCBmdXp6eQorbXNnaWQgInNldGV4ZWNjb24gZmFpbGVkIgorbXNnc3RyICJnYWdhbCBla3Nla3VzaSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbdHR5IGRldmljZV1cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxNAorbXNnaWQgIlNpbmdsZS11c2VyIGxvZ2luLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MTcKK21zZ2lkICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICBzdGFydCBhIGxvZ2luIHNoZWxsXG4iCisiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICBtYXggdGltZSB0byB3YWl0IGZvciBhIHBhc3N3b3JkIChkZWZhdWx0OiBubyBsaW1pdClcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGV4YW1pbmUgcGFzc3dvcmQgZmlsZXMgZGlyZWN0bHkgaWYgZ2V0cHduYW0oMykgZmFpbHNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODcxIG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NjMgc3lzLXV0aWxzL3dkY3RsLmM6NTIzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc1MCB0ZXJtLXV0aWxzL3dhbGwuYzoxMzUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50IgorbXNnc3RyICJwaWxpaGFuIHRpZGFrIHZhbGlkIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODkzCisjLCBmdXp6eQorbXNnaWQgIm9ubHkgc3VwZXJ1c2VyIGNhbiBydW4gdGhpcyBwcm9ncmFtIgorbXNnc3RyICJtb3VudDogaGFueWEgcm9vdCB5YW5nIGRhcGF0IG1lbGFrdWthbiBpdHUiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5MzYKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gY29uc29sZSIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVrYSAlcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjk0MworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYXNzd29yZCBkYXRhYmFzZSIKK21zZ3N0ciAibW91bnQ6IHRpZGFrIGRhcGF0IG1lbnNldCBpZCBwZW5nZ3VuYTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2FuIG5vdCBleGVjdXRlIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbXBlcm9sZWggdWt1cmFuIGRpc2siCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDI3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJUaW1lZCBvdXRcbiIKKyJcbiIKK21zZ3N0ciAid2FrdHUgaGFiaXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDU5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJDYW4gbm90IHdhaXQgb24gc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtcGVyb2xlaCB1a3VyYW4gZGlzayIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxNzYgdGV4dC11dGlscy90YWlsZi5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoLiIKK21zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbmFtYmFoa2FuIHBlbWFudGF1YW4gaW5vdGlmeS4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTg1IHRleHQtdXRpbHMvdGFpbGYuYzoxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGlub3RpZnkgZXZlbnRzIgorbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVtYmFjYSBldmVudCBpbm90aWZ5IgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI0NiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI1MQorbXNnaWQgIkV4dHJhbmVvdXMgbmV3bGluZSBpbiBmaWxlLiBFeGl0aW5nLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZW5hbWVdXG4iCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzEyCittc2dpZCAiRHVtcCBVVE1QIGFuZCBXVE1QIGZpbGVzIGluIHJhdyBmb3JtYXQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTUKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvbGxvdyAgICAgICAgIG91dHB1dCBhcHBlbmRlZCBkYXRhIGFzIHRoZSBmaWxlIGdyb3dzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE2Cittc2dpZCAiIC1yLCAtLXJldmVyc2UgICAgICAgIHdyaXRlIGJhY2sgZHVtcGVkIGRhdGEgaW50byB1dG1wIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxNworbXNnaWQgIiAtbywgLS1vdXRwdXQgPGZpbGU+ICB3cml0ZSB0byBmaWxlIGluc3RlYWQgb2Ygc3RhbmRhcmQgb3V0cHV0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODQKK21zZ2lkICJmb2xsb3dpbmcgc3RhbmRhcmQgaW5wdXQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCB1bmR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIGR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTQxCisjLCBmdXp6eQorbXNnaWQgImNhbid0IG9wZW4gdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW1idWthIGZpbGUgc2VtZW50YXJhLlxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY3JlYXRlIGEgbGluayB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBtZW5ndWJhaCBuYW1hICVzIGtlICVzIGdhZ2FsOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBnZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIiVzOiBUaWRhayBkYXBhdCBtZW1wZXJvbGVoIGNvbnRleHQgdW50dWsgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IHNldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiJXM6IFRpZGFrIGRhcGF0IG1lbnNldCBjb250ZXh0IHVudHVrICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmNoYW5nZWQiCittc2dzdHIgIiVzOiAlcyB0aWRhayBkaXViYWhcbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI1NAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IGxvY2siCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbGFrdWthbiBmb3JrIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjgxCisjLCBmdXp6eQorbXNnaWQgIm5vIGNoYW5nZXMgbWFkZSIKK21zZ3N0ciAiJXM6IHRpZGFrIGFkYSBwZXJ1YmFoYW4geWFuZyBkaWxha3VrYW5cbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5MAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY2htb2QgZmlsZSIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYnVrYSBmaWxlICclcyciCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozMDQKK21zZ2lkICJFZGl0IHRoZSBwYXNzd29yZCBvciBncm91cCBmaWxlLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTAKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBncm91cHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIkFuZGEgbWVuZ2d1bmFrYW4gc2hhZG93IGdyb3VwIGRpIHN5c3RlbSBpbmkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTEKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBwYXNzd29yZHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIkFuZGEgbWVuZ2d1bmFrYW4gc2hhZG93IHBhc3N3b3JkIGRpIHN5c3RlbSBpbmkuXG4iCisKKyMuIFRSQU5TTEFUT1JTOiB0aGlzIHByb2dyYW0gdXNlcyBmb3IgeSBhbmQgbiBycG1hdGNoKDMpLAorIy4gKiB3aGljaCBtZWFucyB0aGV5IGNhbiBiZSB0cmFuc2xhdGVkLgorIzogbG9naW4tdXRpbHMvdmlwdy5jOjM1NQorIywgYy1mb3JtYXQKK21zZ2lkICJXb3VsZCB5b3UgbGlrZSB0byBlZGl0ICVzIG5vdyBbeS9uXT8gIgorbXNnc3RyICJBcGFrYWggYW5kYSBpbmdpbiBtZW5nZWRpciAlcyBzZWthcmFuZyBbeS9uXT8gIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjM3MgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG1vbnRoIGFyZ3VtZW50IgorbXNnc3RyICJwaWxpaGFuIHRpZGFrIHZhbGlkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjM4MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHdlZWsgYXJndW1lbnQiCittc2dzdHIgInBpbGloYW4gdGlkYWsgdmFsaWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzgyCisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogdXNlIDEtNTQiCittc2dzdHIgIm5pbGFpIGhhcmkgaWxlZ2FsOiBndW5ha2FuIDEtJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZXN0YW1wIG9yIHVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MzEKKyMsIGZ1enp5Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWUiCittc2dzdHIgIkp1bWxhaCBoZWFkIHRpZGFrIHZhbGlkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQzMyBtaXNjLXV0aWxzL2NhbC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZTogdXNlIDEtJWQiCittc2dzdHIgIm5pbGFpIGhhcmkgaWxlZ2FsOiBndW5ha2FuIDEtJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDM3IG1pc2MtdXRpbHMvY2FsLmM6NDQ1Cittc2dpZCAiaWxsZWdhbCBtb250aCB2YWx1ZTogdXNlIDEtMTIiCittc2dzdHIgIm5pbGFpIGJ1bGFuIGlsZWdhbDogZ3VuYWthbiAxLTEyIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAibG9nZ2VyOiBuYW1hIHByaW9yaXR5IHRpZGFrIGRpa2V0YWh1aTogJXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDQ4IG1pc2MtdXRpbHMvY2FsLmM6NDUyCisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZSIKK21zZ3N0ciAiSnVtbGFoIGhlYWQgdGlkYWsgdmFsaWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDUwCisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZTogdXNlIHBvc2l0aXZlIGludGVnZXIiCittc2dzdHIgIm5pbGFpIHRhaHVuIGlsZWdhbDogZ3VuYWthbiAxLTk5OTkiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDgyIG1pc2MtdXRpbHMvY2FsLmM6NDk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHllYXIgJWQgZG9lc24ndCBoYXZlIHdlZWsgJWQiCittc2dzdHIgIm5pbGFpIHRhaHVuIGlsZWdhbDogZ3VuYWthbiAxLTk5OTkiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6Njc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6Njg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiUwNGQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo2OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICUwNGQiCittc2dzdHIgIiVzICVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbW1tkYXldIG1vbnRoXSB5ZWFyXVxuIgorbXNnc3RyICJwZW5nZ3VuYWFuOiBjYWwgWy0xM3NtanlWXSBbW1toYXJpXSBidWxhbl0gdGFodW5dXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx0aW1lc3RhbXB8bW9udGhuYW1lPlxuIgorbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gcGVyYW5na2F0IC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5NworbXNnaWQgIkRpc3BsYXkgYSBjYWxlbmRhciwgb3Igc29tZSBwYXJ0IG9mIGl0LlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk4Cittc2dpZCAiV2l0aG91dCBhbnkgYXJndW1lbnRzLCBkaXNwbGF5IHRoZSBjdXJyZW50IG1vbnRoLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMQorIywgZnV6enkKK21zZ2lkICIgLTEsIC0tb25lICAgICAgICAgICAgIHNob3cgb25seSBhIHNpbmdsZSBtb250aCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDAyCisjLCBmdXp6eQorbXNnaWQgIiAtMywgLS10aHJlZSAgICAgICAgICAgc2hvdyB0aHJlZSBtb250aHMgc3Bhbm5pbmcgdGhlIGRhdGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDAzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1tb250aHMgPG51bT4gICAgc2hvdyBudW0gbW9udGhzIHN0YXJ0aW5nIHdpdGggZGF0ZSdzIG1vbnRoXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNAorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc3BhbiAgICAgICAgICAgIHNwYW4gdGhlIGRhdGUgd2hlbiBkaXNwbGF5aW5nIG11bHRpcGxlIG1vbnRoc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA1Cittc2dpZCAiIC1zLCAtLXN1bmRheSAgICAgICAgICBTdW5kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDYKK21zZ2lkICIgLW0sIC0tbW9uZGF5ICAgICAgICAgIE1vbmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNworIywgZnV6enkKK21zZ2lkICIgLWosIC0tanVsaWFuICAgICAgICAgIG91dHB1dCBKdWxpYW4gZGF0ZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA4CisjLCBmdXp6eQorbXNnaWQgIiAteSwgLS15ZWFyICAgICAgICAgICAgc2hvdyB0aGUgd2hvbGUgeWVhclxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDkKKyMsIGZ1enp5Cittc2dpZCAiIC1ZLCAtLXR3ZWx2ZSAgICAgICAgICBzaG93IHRoZSBuZXh0IHR3ZWx2ZSBtb250aHNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDEwCittc2dpZCAiIC13LCAtLXdlZWtbPTxudW0+XSAgICBzaG93IFVTIG9yIElTTy04NjAxIHdlZWsgbnVtYmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAxMQorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10ge0xBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMfT08dmFsdWU+XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzozMgorIywgZnV6enkKK21zZ2lkICJGaW5kIGEgZmlsZXN5c3RlbSBieSBsYWJlbCBvciBVVUlELlxuIgorbXNnc3RyICJNZW1ha3NhIHBlbWVyaWtzYWFuIGZpbGVzeXN0ZW0gZGkgJXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgJyVzJyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZW50dWthbiAnJXMnIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo5OQorIywgZnV6enkKK21zZ2lkICJzb3VyY2UgZGV2aWNlIgorbXNnc3RyICJwZXJhbmdrYXQgYmxvY2sgIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDAKK21zZ2lkICJtb3VudHBvaW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxCisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAiTWFzdWtrYW4gdGlwZSBmaWxlc3lzdGVtOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMgorIywgZnV6enkKK21zZ2lkICJhbGwgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDMKK21zZ2lkICJWRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAiRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAicGlsaWhhbiB5YW5nIGJlcmd1bmE6IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDUKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSBsYWJlbCIKK21zZ3N0ciAiTWFzdWtrYW4gdGlwZSBmaWxlc3lzdGVtOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0Cittc2dpZCAiZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNworIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gbGFiZWwiCittc2dzdHIgIk5vbW9yIHBhcnRpc2kiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOSBtaXNjLXV0aWxzL2xzYmxrLmM6MTYwCittc2dpZCAibWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTAKK21zZ2lkICJhY3Rpb24gZGV0ZWN0ZWQgYnkgLS1wb2xsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMQorbXNnaWQgIm9sZCBtb3VudCBvcHRpb25zIHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTIKK21zZ2lkICJvbGQgbW91bnRwb2ludCBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEzCisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSIKK21zZ3N0ciAiTWFzdWtrYW4gdGlwZSBmaWxlc3lzdGVtOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNAorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgYXZhaWxhYmxlIgorbXNnc3RyICJNYXN1a2thbiB0aXBlIGZpbGVzeXN0ZW06ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE1CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSB1c2VkIgorbXNnc3RyICJNYXN1a2thbiB0aXBlIGZpbGVzeXN0ZW06ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE2CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIk1hc3Vra2FuIHRpcGUgZmlsZXN5c3RlbTogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSByb290IgorbXNnc3RyICJNYXN1a2thbiB0aXBlIGZpbGVzeXN0ZW06ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE4Cittc2dpZCAidGFzayBJRCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkKKyMsIGZ1enp5Cittc2dpZCAibW91bnQgSUQiCittc2dzdHIgIm5jb3VudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwCisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbmFsIG1vdW50IGZpZWxkcyIKK21zZ3N0ciAibW91bnQ6IG1vdW50IGdhZ2FsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEKKyMsIGZ1enp5Cittc2dpZCAiVkZTIHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGlzaTpcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyCittc2dpZCAiZHVtcCg4KSBwZXJpb2QgaW4gZGF5cyBbZnN0YWIgb25seV0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzCittc2dpZCAicGFzcyBudW1iZXIgb24gcGFyYWxsZWwgZnNjayg4KSBbZnN0YWIgb25seV0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFjdGlvbjogJXMiCittc2dzdHIgIiVzOiBQZXJpbnRhaCB0aWRhayBkaWtldGFodWk6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0MworIywgZnV6enkKK21zZ2lkICJtb3VudCIKK21zZ3N0ciAibmNvdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDYKKyMsIGZ1enp5Cittc2dpZCAidW1vdW50IgorbXNnc3RyICJuY291bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0OQorIywgZnV6enkKK21zZ2lkICJyZW1vdW50IgorbXNnc3RyICJqdW1sYWggeWFuZyB0ZXJiYWNhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTIKKyMsIGZ1enp5Cittc2dpZCAibW92ZSIKK21zZ3N0ciAiIEhhcHVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA3NSBzeXMtdXRpbHMvZWplY3QuYzo3MTkKKyM6IHN5cy11dGlscy9tb3VudC5jOjY2OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJsZSIKK21zZ3N0ciAiZ2FnYWwgbWVuZ2luaXNpYWxpc2FzaSBiYXJpcyBwZW55YW5nZ2FcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODM5IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCByZWFkICVzIgorbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVtYmFjYSAlcy5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxNSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDgxCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6OTQgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ4MgorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE4NyBzeXMtdXRpbHMvbW91bnQuYzoxMzQgc3lzLXV0aWxzL21vdW50LmM6MTgyCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjU2IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTU1IHN5cy11dGlscy9zd2Fwb24uYzoyNDQKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNzQgc3lzLXV0aWxzL3N3YXBvbi5jOjczMyBzeXMtdXRpbHMvdW1vdW50LmM6Mjc0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGl0ZXJhdG9yIgorbXNnc3RyICJnYWdhbCBtZW5naW5pc2lhbGlzYXNpIGJhcmlzIHBlbnlhbmdnYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDg3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmRpZmYiCittc2dzdHIgImdhZ2FsIG1lbmdpbmlzaWFsaXNhc2kgYmFyaXMgcGVueWFuZ2dhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMTUKKyMsIGZ1enp5Cittc2dpZCAicG9sbCgpIGZhaWxlZCIKK21zZ3N0ciAibWFsbG9jKCkgZ2FnYWwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiB8IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlIDxkZXZpY2U+XSBbLS10YXJnZXQgPHBhdGg+IHwgLS1tb3VudHBvaW50IDxkaXI+XVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTYKKyMsIGZ1enp5Cittc2dpZCAiRmluZCBhIChtb3VudGVkKSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJNYXN1a2thbiB0aXBlIGZpbGVzeXN0ZW06ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5OQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW10YWIgICAgICAgICAgICAgc2VhcmNoIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMQorbXNnaWQgIiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICBzZWFyY2ggaW4ga2VybmVsIHRhYmxlIG9mIG1vdW50ZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzeXN0ZW1zIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBvbGxbPTxsaXN0Pl0gICAgbW9uaXRvciBjaGFuZ2VzIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAgbCAgIGxpc3QgdGlwZSBmaWxlc3lzdGVtIHlhbmcgZGlrZXRhaHVpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA1Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPG51bT4gICAgdXBwZXIgbGltaXQgaW4gbWlsbGlzZWNvbmRzIHRoYXQgLS1wb2xsIHdpbGwgYmxvY2tcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA4CisjLCBmdXp6eQorbXNnaWQgIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGJ1aWx0LWluIGZpbHRlcnMsIHByaW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA5CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBBU0NJSSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTAKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTEKK21zZ2lkICIgLUMsIC0tbm9jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgd2hlbiBjb21wYXJpbmcgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEyCittc2dpZCAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEzCisjLCBmdXp6eQorbXNnaWQgIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRhdGUgdGhlIG91dHB1dCBvZiBkZigxKVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE0Cittc2dpZCAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE1Cittc2dpZCAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNworbXNnaWQgIiAtRiwgLS10YWItZmlsZSA8cGF0aD4gIGFsdGVybmF0aXZlIGZpbGUgZm9yIC1zLCAtbSBvciAtayBvcHRpb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBwcmludCB0aGUgZmlyc3QgZm91bmQgZmlsZXN5c3RlbSBvbmx5XG4iCittc2dzdHIgIiAgIGwgICBsaXN0IHRpcGUgZmlsZXN5c3RlbSB5YW5nIGRpa2V0YWh1aSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnQgdGhlIHNlbnNlIG9mIG1hdGNoaW5nXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjAgbWlzYy11dGlscy9sc2xvY2tzLmM6NTA3IHN5cy11dGlscy9sc25zLmM6NjE5CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMSBzeXMtdXRpbHMvbHNucy5jOjYyMAorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIyCittc2dpZCAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNlIGFsdGVybmF0aXZlIG5hbWVzcGFjZSAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIGZpbGUpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBjb2x1bW4gaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNAorbXNnaWQgIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjUKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgdGhlIG91dHB1dCBjb2x1bW5zIHRvIGJlIHNob3duXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1vcHRzdHJpbmcgICAgICBQaWxpaGFuIHBlbmRlayB5YW5nIGRpa2VuYWxcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNgorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjcKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgcHJpbnQgYWxsIHN1Ym1vdW50cyBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjgKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjkKK21zZ2lkICIiCisiIC1TLCAtLXNvdXJjZSA8c3RyaW5nPiAgdGhlIGRldmljZSB0byBtb3VudCAoYnkgbmFtZSwgbWFqOm1pbiwgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMQorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGFyZ2V0IDxwYXRoPiAgICB0aGUgcGF0aCB0byB0aGUgZmlsZXN5c3RlbSB0byB1c2VcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW9wdHN0cmluZyAgICAgIFBpbGloYW4gcGVuZGVrIHlhbmcgZGlrZW5hbFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMyCisjLCBmdXp6eQorbXNnaWQgIiAtTSwgLS1tb3VudHBvaW50IDxkaXI+IHRoZSBtb3VudHBvaW50IGRpcmVjdG9yeVxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9b3B0c3RyaW5nICAgICAgUGlsaWhhbiBwZW5kZWsgeWFuZyBkaWtlbmFsXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzMKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBGUyB0eXBlc1xuIgorbXNnc3RyICIgICBsICAgbGlzdCB0aXBlIGZpbGVzeXN0ZW0geWFuZyBkaWtldGFodWkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzQKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVuaXEgICAgICAgICAgICAgaWdub3JlIGZpbGVzeXN0ZW1zIHdpdGggZHVwbGljYXRlIHRhcmdldFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNSBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTMgc3lzLXV0aWxzL2xzbnMuYzo2MjUKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzYKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM5CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS12ZXJpZnkgICAgICAgICAgIHZlcmlmeSBtb3VudCB0YWJsZSBjb250ZW50IChkZWZhdWx0IGlzIGZzdGFiKVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IG1vcmUgZGV0YWlsc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGRpcmVjdGlvbiAnJXMnIgorbXNnc3RyICJCdWthbiBkaXJla3RvcmkgJXMhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NDAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBUSUQgYXJndW1lbnQiCittc2dzdHIgImlkIHRpZGFrIHZhbGlkOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTA5Cittc2dpZCAiLS1wb2xsIGFjY2VwdHMgb25seSBvbmUgZmlsZSwgYnV0IG1vcmUgc3BlY2lmaWVkIGJ5IC0tdGFiLWZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUxMworbXNnaWQgIm9wdGlvbnMgLS10YXJnZXQgYW5kIC0tc291cmNlIGNhbid0IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBjb21tYW5kIGxpbmUgZWxlbWVudCB0aGF0IGlzIG5vdCBhbiBvcHRpb24iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU2MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBjYWNoZSIKK21zZ3N0ciAiZ2FnYWwgbWVuZ2luaXNpYWxpc2FzaSBiYXJpcyBwZW55YW5nZ2FcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTYwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjb2x1bW4gaXMgcmVxdWVzdGVkLCBidXQgLS1wb2xsIGlzIG5vdCBlbmFibGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTYKKyMsIGZ1enp5Cittc2dpZCAidGFyZ2V0IHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAiQW5kYSBtZW5zcGVzaWZpa2FzaWthbiBjeWxpbmRlciB5YW5nIGxlYmloIGJlc2FyIGRhcmkgdWt1cmFuIGRpIGRpc2siCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgb3JkZXI6ICVzIHNwZWNpZmllZCBiZWZvcmUgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzMworbXNnaWQgInVuZGVmaW5lZCB0YXJnZXQgKGZzX2ZpbGUpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWNhbm9uaWNhbCB0YXJnZXQgcGF0aCAocmVhbDogJXMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCB0YXJnZXQ6ICVtIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHRhcmdldDogJW0iCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbWJhY2EgJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MQorIywgZnV6enkKK21zZ2lkICJ0YXJnZXQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJha2FyIGlub2RlIGJ1a2FuIHNlYnVhaCBkaXJla3RvcmkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTMKK21zZ2lkICJ0YXJnZXQgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCBzb3VyY2U6ICVzPSVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlOiAlcz0lcyIKK21zZ3N0ciAiZ2FnYWwgbWVtYmFjYTogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzPSVzIHRyYW5zbGF0ZWQgdG8gJXMiCittc2dzdHIgInBlcmFuZ2thdCAlcyBzdWRhaCBkaWFzb3NpYXNpa2FuIGRlbmdhbiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTkwCittc2dpZCAidW5kZWZpbmVkIHNvdXJjZSAoZnNfc3BlYykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc291cmNlIHRhZzogJXMiCittc2dzdHIgIiVzOiBhcmd1bWVudCB0aWRhayBkaWtldGFodWk6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIHNvdXJjZSAocHNldWRvL25ldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgc291cmNlOiAlczogJW0iCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1a2EgJyVzJzogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJpbmQgbW91bnQgc291cmNlICVzIGlzIGEgZGlyZWN0b3J5IG9yIHJlZ3VsYXIgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogYnVrYW4gc2VidWFoIGJsb2NrIGRldmljZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgZXhpc3RzIgorbXNnc3RyICJwZXJhbmdrYXQgYmxvY2sgIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJWRlMgb3B0aW9uczogJXMiCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzZXJzcGFjZSBvcHRpb25zOiAlcyIKK21zZ3N0ciAicGlsaWhhbiB5YW5nIGJlcmJhaGF5YToiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHN3YXBhcmVhIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI2MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3dhcGFyZWEgcHJpb3JpdHkgb3B0aW9uIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwcmlvcml0YXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIEZTIHR5cGUgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MDYKK21zZ2lkICJcIm5vbmVcIiBGUyB0eXBlIGlzIHJlY29tbWVuZGVkIGZvciBiaW5kIG9yIG1vdmUgb3ByYXRpb25zIG9ubHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyMCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIxCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBkZXRlY3Qgb24tZGlzayBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIm1vdW50OiB0aXBlIGZpbGVzeXN0ZW0gdGlkYWsgZGlrZXRhaHVpICclcyciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgbWF0Y2ggd2l0aCBvbi1kaXNrICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAib24tZGlzayAlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRlMgdHlwZSBpcyAlcyIKK21zZ3N0ciAidGlwZTogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWNvbW1lbmRlZCByb290IEZTIHBhc3NubyBpcyAxIChjdXJyZW50IGlzICVkKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCBwYXJzZSBlcnJvciIKK21zZ2lkX3BsdXJhbCAiJWQgcGFyc2UgZXJyb3JzIgorbXNnc3RyWzBdICJlcnJvciBtZW5nYW1iaWxcbiIKK21zZ3N0clsxXSAiZXJyb3IgbWVuZ2FtYmlsXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgZXJyb3IiCittc2dpZF9wbHVyYWwgIiwgJWQgZXJyb3JzIgorbXNnc3RyWzBdICIsIGVycm9yIgorbXNnc3RyWzFdICIsIGVycm9yIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgd2FybmluZyIKK21zZ2lkX3BsdXJhbCAiLCAlZCB3YXJuaW5ncyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzcywgbm8gZXJyb3JzIG9yIHdhcm5pbmdzIGRldGVjdGVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzoyNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorIiVzOiAlc1xuIgorIkNvYmEgYCVzIC0taGVscCcgdW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dC5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMDQKK21zZ2lkICJlbXB0eSBsb25nIG9wdGlvbiBhZnRlciAtbCBvciAtLWxvbmcgYXJndW1lbnQiCittc2dzdHIgImxvbmcgcGlsaWhhbiBrb3Nvbmcgc2V0ZWxhaCBwaWxpaGFuIC1sIGF0YXUgLS1sb25nIGFyZ3VtZW4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzI1Cittc2dpZCAidW5rbm93biBzaGVsbCBhZnRlciAtcyBvciAtLXNoZWxsIGFyZ3VtZW50IgorbXNnc3RyICJ0aWRhayBkaWtldGFodWkgc2hlbGwgc2V0ZWxhaCBwaWxpaGFuIC1zIGF0YXUgLS1zaGVsbCBhcmd1bWVuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1dIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSAtb3wtLW9wdGlvbnMgPG9wdHN0cmluZz4gW29wdGlvbnNdIFstLV0gPHBhcmFtZXRlcnM+XG4iCittc2dzdHIgIiAgICAgICBnZXRvcHQgW3BpbGloYW5dIC1vIHwgLS1vcHRpb25zIG9wdHN0cmluZyBbcGlsaWhhbl0gWy0tXVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzOAorIywgZnV6enkKK21zZ2lkICJQYXJzZSBjb21tYW5kIG9wdGlvbnMuXG4iCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIGFsbG93IGxvbmcgb3B0aW9ucyBzdGFydGluZyB3aXRoIHNpbmdsZSAtXG4iCittc2dzdHIgIiAgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICBNZW1ib2xlaGthbiBwaWxpaGFuIHBhbmphbmcgZGltdWxhaSBkZW5nYW4gc2VidWFoIC1cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxvbmdvcHRpb25zIDxsb25nb3B0cz4gIHRoZSBsb25nIG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgIC1sLCAtLWxvbmdvcHRpb25zPWxvbmdvcHRzICAgUGlsaWhhbiBwYW5qYW5nIHlhbmcgZGlrZW5hbFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICAgdGhlIG5hbWUgdW5kZXIgd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZFxuIgorbXNnc3RyICIgIC1uLCAtLW5hbWU9cHJvZ25hbWUgICAgICAgICAgTmFtYSBkaW1hbmEgZXJyb3IgdGVyc2VidXQgZGlsYXBvcmthblxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICAgdGhlIHNob3J0IG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9b3B0c3RyaW5nICAgICAgUGlsaWhhbiBwZW5kZWsgeWFuZyBkaWtlbmFsXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ1CisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBkaXNhYmxlIGVycm9yIHJlcG9ydGluZyBieSBnZXRvcHQoMylcbiIKK21zZ3N0ciAiICAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgIE1lbWF0aWthbiBsYXBvcmFuIGVycm9yIG9sZWggZ2V0b3B0KDMpXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ2CisjLCBmdXp6eQorbXNnaWQgIiAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICBubyBub3JtYWwgb3V0cHV0XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgc2V0IHF1b3RpbmcgY29udmVudGlvbnMgdG8gdGhvc2Ugb2YgPHNoZWxsPlxuIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsPXNoZWxsICAgICAgICAgICAgTWVuZ2VzZXQgc2hlbGwgcXVvdGluZyBjb252ZW50aW9uc1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0OAorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgdGVzdCBmb3IgZ2V0b3B0KDEpIHZlcnNpb25cbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgIFRlc3QgdW50dWsgdmVyc2kgZ2V0b3B0KDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ5CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICBkbyBub3QgcXVvdGUgdGhlIG91dHB1dFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM5OSBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1OQorbXNnaWQgIm1pc3Npbmcgb3B0c3RyaW5nIGFyZ3VtZW50IgorbXNnc3RyICJoaWxhbmcgYXJndW1lbnQgb3B0c3RyaW5nIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1NAorbXNnaWQgImludGVybmFsIGVycm9yLCBjb250YWN0IHRoZSBhdXRob3IuIgorbXNnc3RyICJrZXJ1c2FrYW4gaW50ZXJuYWwsIGh1YnVuZ2kgYXV0aG9yLiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbCAlczsgdmFsaWQgc2lnbmFsczoiCittc2dzdHIgIiVzOiBzaWduYWwgdGlkYWsgZGlrZXRhaHVpICVzOyB2YWxpZCBzaWduYWxzOlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBpZD58PG5hbWU+Li4uXG4iCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwNQorbXNnaWQgIkZvcmNpYmx5IHRlcm1pbmF0ZSBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzA4Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRvIG5vdCByZXN0cmljdCB0aGUgbmFtZS10by1waWQgY29udmVyc2lvbiB0byBwcm9jZXNzZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggdGhlIHNhbWUgdWlkIGFzIHRoZSBwcmVzZW50IHByb2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTAKK21zZ2lkICIgLXMsIC0tc2lnbmFsIDxzaWduYWw+ICBzZW5kIHRoaXMgPHNpZ25hbD4gaW5zdGVhZCBvZiBTSUdURVJNXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzEyCittc2dpZCAiIC1xLCAtLXF1ZXVlIDx2YWx1ZT4gICAgdXNlIHNpZ3F1ZXVlKDIpLCBub3Qga2lsbCgyKSwgYW5kIHBhc3MgPHZhbHVlPiBhcyBkYXRhXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICAgIHByaW50IHBpZHMgd2l0aG91dCBzaWduYWxpbmcgdGhlbVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTUKK21zZ2lkICIgLWwsIC0tbGlzdFs9PHNpZ25hbD5dICBsaXN0IHNpZ25hbCBuYW1lcywgb3IgY29udmVydCBhIHNpZ25hbCBudW1iZXIgdG8gYSBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE2Cittc2dpZCAiIC1MLCAtLXRhYmxlICAgICAgICAgICAgbGlzdCBzaWduYWwgbmFtZXMgYW5kIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgcGlkcyB0aGF0IHdpbGwgYmUgc2lnbmFsZWRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzY3IG1pc2MtdXRpbHMva2lsbC5jOjM3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWw6ICVzIgorbXNnc3RyICIlczogc2lnbmFsIHRpZGFrIGRpa2V0YWh1aSAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozODcgbWlzYy11dGlscy9raWxsLmM6MzkwIG1pc2MtdXRpbHMva2lsbC5jOjM5OQorIzogbWlzYy11dGlscy9raWxsLmM6NDExIG1pc2MtdXRpbHMva2lsbC5jOjQzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIi0tb2Zmc2V0IGRhbiAtLWFsbCBhZGFsYWggJ211dHVhbGx5IGV4Y2x1c2l2ZSciCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM5NiBtaXNjLXV0aWxzL2tpbGwuYzo0MzggbWlzYy11dGlscy9yZW5hbWUuYzoxNzQKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc4OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc5OAorIywgZnV6enkKK21zZ2lkICJub3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAiQXJndW1lbiB0aWRhayBjdWt1cCIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXMgbWVtYnV0dWhrYW4gc2VidWFoIGFyZ3VtZW50XG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQxNCBzeXMtdXRpbHMvZWplY3QuYzoyMDUgc3lzLXV0aWxzL2VqZWN0LmM6MjMwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY4OSBzeXMtdXRpbHMvdHVuZWxwLmM6MTYxIHN5cy11dGlscy90dW5lbHAuYzoxNjgKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxNzUgc3lzLXV0aWxzL3R1bmVscC5jOjE4MiBzeXMtdXRpbHMvdHVuZWxwLmM6MTg5CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTk1IHN5cy11dGlscy90dW5lbHAuYzoxOTkgc3lzLXV0aWxzL3R1bmVscC5jOjIwNgorIzogc3lzLXV0aWxzL3R1bmVscC5jOjIzMSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTMgdGVybS11dGlscy9zZXR0ZXJtLmM6MjE2CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzUgdGVybS11dGlscy9zZXR0ZXJtLmM6MjM3IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3MgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mjc0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5MSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTgKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMwMCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTIgdGVybS11dGlscy9zZXR0ZXJtLmM6MzE0CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjMgdGVybS11dGlscy9zZXR0ZXJtLmM6MzMxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0NgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM2MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM3MyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1MzUgdGVybS11dGlscy9zZXR0ZXJtLmM6NTQwCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDUgdGVybS11dGlscy9zZXR0ZXJtLmM6NTUwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU3NAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTc5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODkKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTkgdGVybS11dGlscy9zZXR0ZXJtLmM6NjA3CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2NDAKKyMsIGZ1enp5Cittc2dpZCAiYXJndW1lbnQgZXJyb3IiCittc2dzdHIgIiVzOiBBcmd1bWVudCBlcnJvciwgcGVuZ2d1bmFhblxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2lnbmFsIG5hbWUgb3IgbnVtYmVyOiAlcyIKK21zZ3N0ciAicGlsaWhhbiB0aWRhayB2YWxpZCIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCAlZCB0byBwaWQgJWRcbiIKK21zZ3N0ciAiJXM6IG1lbmd1YmFoIG5hbWEgJXMga2UgJXMgZ2FnYWw6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQ2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogbWVuZ3ViYWggbmFtYSAlcyBrZSAlcyBnYWdhbDogJXNcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCBwcm9jZXNzIFwiJXNcIiIKK21zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbmVtdWthbiBwcm9jZXNzIFwiJXNcIlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSBuYW1lOiAlcyIKK21zZ3N0ciAibG9nZ2VyOiBuYW1hIGZhc2lsaXRhcyB0aWRhayBkaWtldGFodWk6ICVzLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAibG9nZ2VyOiBuYW1hIHByaW9yaXR5IHRpZGFrIGRpa2V0YWh1aTogJXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVubG9nICVzOiBwYXRobmFtZSB0b28gbG9uZyIKK21zZ3N0ciAicGVuY2F0YXQ6IG9wZW5sb2c6IG5hbWEgamFsdXIgdGVybGFsdSBwYW5qYW5nXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgJXMiCittc2dzdHIgInNvY2tldDogJXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBuYW1lICVzIHBvcnQgJXM6ICVzIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY29ubmVjdCB0byAlcyBwb3J0ICVzIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heGltdW0gaW5wdXQgbGluZXMgKCVkKSBleGNlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjQ4NworIywgZnV6enkKK21zZ2lkICJzZW5kIG1lc3NhZ2UgZmFpbGVkIgorbXNnc3RyICJwZW1idWF0YW4gYXRyaWFuIHBlc2FuIGdhZ2FsIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU1OAorIywgYy1mb3JtYXQKK21zZ2lkICJzdHJ1Y3R1cmVkIGRhdGEgSUQgJyVzJyBpcyBub3QgdW5pcXVlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tc2QtaWQgd2FzIG5vdCBzcGVjaWZpZWQgZm9yIC0tc2QtcGFyYW0gJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NTQKKyMsIGZ1enp5Cittc2dpZCAibG9jYWx0aW1lKCkgZmFpbGVkIgorbXNnc3RyICIlczogZmFsbG9jYXRlIGdhZ2FsIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaG9zdG5hbWUgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiZmllbGQgdGVybGFsdSBwYW5qYW5nLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGFnICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgImZpZWxkIHRlcmxhbHUgcGFuamFuZy5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIHVua25vd24gb3B0aW9uIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzOiB1c2luZyBhdXRvbWF0aWMgZXJyb3JzIgorbXNnc3RyICJpZCB0aWRhayB2YWxpZDogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo5OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiIgorIlxuIgorIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXVxuIgorIlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjk5NworIywgZnV6enkKK21zZ2lkICJFbnRlciBtZXNzYWdlcyBpbnRvIHRoZSBzeXN0ZW0gbG9nLlxuIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW5zZXQgc3lzdGVtIGNsb2NrLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1pICAgICAgICAgICAgICAgICAgICAgICBsb2cgdGhlIGxvZ2dlciBjb21tYW5kJ3MgUElEXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBJbmkgc2VkaWtpdCBwZXR1bmp1ayBwZW5nZ3VuYWFuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMQorbXNnaWQgIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgbG9nIHRoZSBnaXZlbiA8aWQ+LCBvciBvdGhlcndpc2UgdGhlIFBJRFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgICAgIGxvZyB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMworIywgZnV6enkKK21zZ2lkICIgLWUsIC0tc2tpcC1lbXB0eSAgICAgICAgIGRvIG5vdCBsb2cgZW1wdHkgbGluZXMgd2hlbiBwcm9jZXNzaW5nIGZpbGVzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICB0aWRhayBtZW51bGlzIHNlYmVuYXJueWEga2UgZGlzayIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA0CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby1hY3QgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIHdyaXRlIHRoZSBsb2dcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA1Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBtYXJrIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA2Cittc2dpZCAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICB1c2UgcmZjNjU4NyBvY3RldCBjb3VudGluZ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNworbXNnaWQgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAgbG9vayBmb3IgYSBwcmVmaXggb24gZXZlcnkgbGluZSByZWFkIGZyb20gc3RkaW5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDgKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICBvdXRwdXQgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvciBhcyB3ZWxsXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwOQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgIG1heGltdW0gc2l6ZSBmb3IgYSBzaW5nbGUgbWVzc2FnZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTAKK21zZ2lkICIgLXQsIC0tdGFnIDx0YWc+ICAgICAgICAgIG1hcmsgZXZlcnkgbGluZSB3aXRoIHRoaXMgdGFnXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDExCittc2dpZCAiIC1uLCAtLXNlcnZlciA8bmFtZT4gICAgICB3cml0ZSB0byB0aGlzIHJlbW90ZSBzeXNsb2cgc2VydmVyXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEyCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wb3J0IDxwb3J0PiAgICAgICAgdXNlIHRoaXMgcG9ydCBmb3IgVURQIG9yIFRDUCBjb25uZWN0aW9uXG4iCittc2dzdHIgIiAgLXMsIC0tc2hlbGw9c2hlbGwgICAgICAgICAgICBNZW5nZXNldCBzaGVsbCBxdW90aW5nIGNvbnZlbnRpb25zXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMworIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGNwICAgICAgICAgICAgICAgIHVzZSBUQ1Agb25seVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTQKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLXVkcCAgICAgICAgICAgICAgICB1c2UgVURQIG9ubHlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE1CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yZmMzMTY0ICAgICAgICAgICAgdXNlIHRoZSBvYnNvbGV0ZSBCU0Qgc3lzbG9nIHByb3RvY29sXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICBUZXN0IHVudHVrIHZlcnNpIGdldG9wdCgxKVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTYKK21zZ2lkICIiCisiICAgICAtLXJmYzU0MjRbPTxzbmlwPl0gICB1c2UgdGhlIHN5c2xvZyBwcm90b2NvbCAodGhlIGRlZmF1bHQgZm9yIHJlbW90ZSk7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiBjYW4gYmUgbm90aW1lLCBvciBub3RxLCBhbmQvb3Igbm9ob3N0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE4Cittc2dpZCAiICAgICAtLXNkLWlkIDxpZD4gICAgICAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBJRFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxOQorbXNnaWQgIiAgICAgLS1zZC1wYXJhbSA8ZGF0YT4gICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgbmFtZT12YWx1ZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMAorbXNnaWQgIiAgICAgLS1tc2dpZCA8bXNnaWQ+ICAgICAgc2V0IHJmYzU0MjQgbWVzc2FnZSBpZCBmaWVsZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMQorbXNnaWQgIiAtdSwgLS1zb2NrZXQgPHNvY2tldD4gICAgd3JpdGUgdG8gdGhpcyBVbml4IHNvY2tldFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMgorbXNnaWQgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50IGNvbm5lY3Rpb24gZXJyb3JzIHdoZW4gdXNpbmcgVW5peCBzb2NrZXRzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDI1Cittc2dpZCAiICAgICAtLWpvdXJuYWxkWz08ZmlsZT5dICB3cml0ZSBqb3VybmFsZCBlbnRyeVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTExMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmlsZSAlcyIKK21zZ3N0ciAiKEZpbGUgc2VsYW5qdXRueWE6ICVzKSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTI3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBpZCIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1lc3NhZ2Ugc2l6ZSIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODAKK21zZ2lkICItLW1zZ2lkIGNhbm5vdCBjb250YWluIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgSUQ6ICclcyciCittc2dzdHIgImlkIHRpZGFrIHZhbGlkOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc3RydWN0dXJlZCBkYXRhIHBhcmFtZXRlcjogJyVzJyIKK21zZ3N0ciAibmlsYWkgd2FrdHUgdGltZW91dCBidXJ1azogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIxOAorIywgZnV6enkKK21zZ2lkICItLWZpbGUgPGZpbGU+IGFuZCA8bWVzc2FnZT4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSwgbWVzc2FnZSBpcyBpZ25vcmVkIgorbXNnc3RyICItLW9mZnNldCBkYW4gLS1hbGwgYWRhbGFoICdtdXR1YWxseSBleGNsdXNpdmUnIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMjUKK21zZ2lkICJqb3VybmFsZCBlbnRyeSBjb3VsZCBub3QgYmUgd3JpdHRlbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHN0cmluZz4gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzU4Cittc2dpZCAiRGlzcGxheSBsaW5lcyBiZWdpbm5pbmcgd2l0aCBhIHNwZWNpZmllZCBzdHJpbmcuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYxCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgdXNlIHRoZSBhbHRlcm5hdGl2ZSBkaWN0aW9uYXJ5XG4iCittc2dzdHIgIiAgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICBNZW1ib2xlaGthbiBwaWxpaGFuIHBhbmphbmcgZGltdWxhaSBkZW5nYW4gc2VidWFoIC1cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYyCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1hbHBoYW51bSAgICAgICAgICAgY29tcGFyZSBvbmx5IGJsYW5rcyBhbmQgYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYzCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY0Cittc2dpZCAiIC10LCAtLXRlcm1pbmF0ZSA8Y2hhcj4gICBkZWZpbmUgdGhlIHN0cmluZy10ZXJtaW5hdGlvbiBjaGFyYWN0ZXJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU3Cittc2dpZCAiZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OAorbXNnaWQgImludGVybmFsIGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU5Cittc2dpZCAiaW50ZXJuYWwgcGFyZW50IGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyIHN5cy11dGlscy96cmFtY3RsLmM6ODQKK21zZ2lkICJ3aGVyZSB0aGUgZGV2aWNlIGlzIG1vdW50ZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MworbXNnaWQgImZpbGVzeXN0ZW0gTEFCRUwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NgorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSBVVUlEIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGlzaTpcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NworIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gTEFCRUwiCittc2dzdHIgIk5vbW9yIHBhcnRpc2kiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzEKKyMsIGZ1enp5Cittc2dpZCAicmVhZC1haGVhZCBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJnYWdhbCBtZW1wZXJvbGVoIHN0YXRpc3RpayBkYXJpIHBhdGhcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1CisjLCBmdXp6eQorbXNnaWQgInJlYWQtb25seSBkZXZpY2UiCittc2dzdHIgInNldCBoYW55YS1iYWNhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTczCisjLCBmdXp6eQorbXNnaWQgInJlbW92YWJsZSBkZXZpY2UiCittc2dzdHIgIiByZW1vdmFibGUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzQKK21zZ2lkICJyZW1vdmFibGUgb3IgaG90cGx1ZyBkZXZpY2UgKHVzYiwgcGNtY2lhLCAuLi4pIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzUKK21zZ2lkICJyb3RhdGlvbmFsIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc2Cittc2dpZCAiYWRkcyByYW5kb21uZXNzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzcKK21zZ2lkICJkZXZpY2UgaWRlbnRpZmllciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc4Cittc2dpZCAiZGlzayBzZXJpYWwgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzkKK21zZ2lkICJzaXplIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MAorIywgZnV6enkKK21zZ2lkICJzdGF0ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJnYWdhbCBtZW1wZXJvbGVoIHN0YXRpc3RpayBkYXJpIHBhdGhcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MgorbXNnaWQgImdyb3VwIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MworbXNnaWQgImRldmljZSBub2RlIHBlcm1pc3Npb25zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODQKKyMsIGZ1enp5Cittc2dpZCAiYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAiZ2V0IHBlbnllc3VhaWFuIG9mc2V0IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg1CisjLCBmdXp6eQorbXNnaWQgIm1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgImdldCB1a3VyYW4gbWluaW1hbCBJL08iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAib3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAiZ2V0IHVrdXJhbiBvcHRpbWFsIEkvTyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NworIywgZnV6enkKK21zZ2lkICJwaHlzaWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAiZ2V0IHVrdXJhbiBmaXNpayBibG9rIChzZWt0b3IpIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg4CisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgImdldCB1a3VyYW4gbG9naWthbCBibG9rIChzZWt0b3IpIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5Cittc2dpZCAiSS9PIHNjaGVkdWxlciBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTAKK21zZ2lkICJyZXF1ZXN0IHF1ZXVlIHNpemUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MQorbXNnaWQgImRldmljZSB0eXBlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTIKKyMsIGZ1enp5Cittc2dpZCAiZGlzY2FyZCBhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICJnZXQgcGVueWVzdWFpYW4gb2ZzZXQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMKK21zZ2lkICJkaXNjYXJkIGdyYW51bGFyaXR5IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTQKK21zZ2lkICJkaXNjYXJkIG1heCBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk1Cittc2dpZCAiZGlzY2FyZCB6ZXJvZXMgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk2Cittc2dpZCAid3JpdGUgc2FtZSBtYXggYnl0ZXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NworIywgZnV6enkKK21zZ2lkICJ1bmlxdWUgc3RvcmFnZSBpZGVudGlmaWVyIgorbXNnc3RyICIgICBpICAgdWJhaCBpZGVudGlmaWthc2kgZGlzayIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OAorbXNnaWQgIkhvc3Q6Q2hhbm5lbDpUYXJnZXQ6THVuIGZvciBTQ1NJIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTkKK21zZ2lkICJkZXZpY2UgdHJhbnNwb3J0IHR5cGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMAorbXNnaWQgImRlLWR1cGxpY2F0ZWQgY2hhaW4gb2Ygc3Vic3lzdGVtcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAxCisjLCBmdXp6eQorbXNnaWQgImRldmljZSByZXZpc2lvbiIKK21zZ3N0ciAiUGVyYW5na2F0IGxvb3AgYWRhbGFoICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDIKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIHZlbmRvciIKK21zZ3N0ciAiUGVtYnVhdCBIeXBlcnZpc29yOiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjEyNzYKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkZXZpY2UgZGlyZWN0b3J5IGluIHN5c2ZzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNvbXBvc2Ugc3lzZnMgcGF0aCIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIGxpbmsiCittc2dzdHIgIiVzOiBnYWdhbCB1bnR1ayBtZW1idWthOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3lzZnMgbmFtZSIKK21zZ3N0ciAiJXM6IGdhZ2FsIHVudHVrIG1lbWJ1a2E6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB3aG9sZS1kaXNrIGRldmljZSBudW1iZXIiCittc2dzdHIgIiVzOiBnYWdhbCB1bnR1ayBiZXJwaW5kYWgga2Ugb2ZzZXQgMHglangiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTUxIG1pc2MtdXRpbHMvbHNibGsuYzoxNTUzIG1pc2MtdXRpbHMvbHNibGsuYzoxNTc4CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxpc3QgJyVzJyIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1OAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBleGNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgaW5jbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjE2IHN5cy11dGlscy93ZGN0bC5jOjE3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIgorbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gcGVyYW5na2F0IC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxOQorIywgZnV6enkKK21zZ2lkICJMaXN0IGluZm9ybWF0aW9uIGFib3V0IGJsb2NrIGRldmljZXMuXG4iCittc2dzdHIgIiVzOiBidWthbiBzZWJ1YWggYmxvY2sgZGV2aWNlXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIyCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICBwcmludCBhbGwgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tbm9kZXBzICAgICAgICAgZG9uJ3QgcHJpbnQgc2xhdmVzIG9yIGhvbGRlcnNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIHRpZGFrIG1lbnVsaXMgc2ViZW5hcm55YSBrZSBkaXNrIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNQorbXNnaWQgIiAtRCwgLS1kaXNjYXJkICAgICAgICBwcmludCBkaXNjYXJkIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI2Cittc2dpZCAiIC1lLCAtLWV4Y2x1ZGUgPGxpc3Q+IGV4Y2x1ZGUgZGV2aWNlcyBieSBtYWpvciBudW1iZXIgKGRlZmF1bHQ6IFJBTSBkaXNrcylcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNworIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZnMgICAgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjgKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWFzY2lpICAgICAgICAgIHVzZSBhc2NpaSBjaGFyYWN0ZXJzIG9ubHlcbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgIFRlc3QgdW50dWsgdmVyc2kgZ2V0b3B0KDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI5Cittc2dpZCAiIC1JLCAtLWluY2x1ZGUgPGxpc3Q+IHNob3cgb25seSBkZXZpY2VzIHdpdGggc3BlY2lmaWVkIG1ham9yIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMAorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzIKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLXBlcm1zICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMzCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzQKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNQorIywgZnV6enkKK21zZ2lkICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgb3V0cHV0IGFsbCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1vcHRzdHJpbmcgICAgICBQaWxpaGFuIHBlbmRlayB5YW5nIGRpa2VuYWxcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzYKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBhdGhzICAgICAgICAgIHByaW50IGNvbXBsZXRlIGRldmljZSBwYXRoXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBJbmkgc2VkaWtpdCBwZXR1bmp1ayBwZW5nZ3VuYWFuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM5CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1pbnZlcnNlICAgICAgICBpbnZlcnNlIGRlcGVuZGVuY2llc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MAorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2NzaSAgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgU0NTSSBkZXZpY2VzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQxCittc2dpZCAiIC10LCAtLXRvcG9sb2d5ICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHRvcG9sb2d5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDIKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXNvcnQgPGNvbHVtbj4gIHNvcnQgb3V0cHV0IGJ5IDxjb2x1bW4+XG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1vcHRzdHJpbmcgICAgICBQaWxpaGFuIHBlbmRlayB5YW5nIGRpa2VuYWxcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDcgbWlzYy11dGlscy9sc2xvY2tzLmM6NTE5IHN5cy11dGlscy9sc25zLmM6NjMyCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE5NiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1vdXRwdXQpOlxuIgorbXNnc3RyICJQZXJpbnRhaCB5YW5nIHRlcnNlZGlhOlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFjY2VzcyBzeXNmcyBkaXJlY3Rvcnk6ICVzIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjczCittc2dpZCAiY29tbWFuZCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc0Cittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzUKK21zZ2lkICJraW5kIG9mIGxvY2s6IEZMX0ZMT0NLIG9yIEZMX1BPU0lYLiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NgorIywgZnV6enkKK21zZ2lkICJzaXplIG9mIHRoZSBsb2NrIgorbXNnc3RyICJnYWdhbCBtZW1wZXJvbGVoIHN0YXRpc3RpayBkYXJpIHBhdGhcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAibG9jayBhY2Nlc3MgbW9kZSIKK21zZ3N0ciAidGlkYWsgZGFwYXQgZGFlbW9uaXplIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OAorbXNnaWQgIm1hbmRhdG9yeSBzdGF0ZSBvZiB0aGUgbG9jazogMCAobm9uZSksIDEgKHNldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzkKK21zZ2lkICJyZWxhdGl2ZSBieXRlIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MAorbXNnaWQgImVuZGluZyBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAicGF0aCBvZiB0aGUgbG9ja2VkIGZpbGUiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbWJ1a2EgZmlsZSAnJXMnIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MgorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBibG9ja2luZyB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElEIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4MSBzeXMtdXRpbHMvbnNlbnRlci5jOjIzMgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwaWQiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6Mjg0CisjLCBmdXp6eQorbXNnaWQgIih1bmtub3duKSIKK21zZ3N0ciAidGlkYWsgZGlrZXRhaHVpIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjMwMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNAorIywgZnV6enkKK21zZ2lkICJMaXN0IGxvY2FsIHN5c3RlbSBsb2Nrcy5cbiIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuc2V0IHN5c3RlbSBjbG9jay5cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA4Cittc2dpZCAiIC1pLCAtLW5vaW5hY2Nlc3NpYmxlICAgaWdub3JlIGxvY2tzIHdpdGhvdXQgcmVhZCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwOSBzeXMtdXRpbHMvbHNucy5jOjYyMQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTAgc3lzLXV0aWxzL2xzbnMuYzo2MjIKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9b3B0c3RyaW5nICAgICAgUGlsaWhhbiBwZW5kZWsgeWFuZyBkaWtlbmFsXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMQorbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIGRpc3BsYXkgb25seSBsb2NrcyBoZWxkIGJ5IHRoaXMgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMiBzeXMtdXRpbHMvbHNucy5jOjYyNAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjU3MCBzY2hlZHV0aWxzL2NocnQuYzo0Nzggc2NoZWR1dGlscy9pb25pY2UuYzoxNzcKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE2MyBzeXMtdXRpbHMvbHNucy5jOjY5OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFBJRCBhcmd1bWVudCIKK21zZ3N0ciAiaWQgdGlkYWsgdmFsaWQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg1Cittc2dpZCAiR2VuZXJhdGUgbWFnaWMgY29va2llcyBmb3IgeGF1dGguXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODgKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgIHVzZSBmaWxlIGFzIGEgY29va2llIHNlZWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OQorbXNnaWQgIiAtbSwgLS1tYXgtc2l6ZSA8bnVtPiAgbGltaXQgaG93IG11Y2ggaXMgcmVhZCBmcm9tIHNlZWQgZmlsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo5MAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR290ICV6dSBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICV6dSBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIk1lbXBlcm9sZWggJWQgYnl0ZXMgZGFyaSAlc1xuIgorbXNnc3RyWzFdICJNZW1wZXJvbGVoICVkIGJ5dGVzIGRhcmkgJXNcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjbG9zaW5nICVzIGZhaWxlZCIKK21zZ3N0ciAiZ2FnYWwgbWVuamFsYW5rYW4gJXMiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE2NCBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE0NiBzeXMtdXRpbHMvZnN0cmltLmM6MzA4CisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxlbmd0aCIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNzcKK21zZ2lkICItLW1heC1zaXplIGlnbm9yZWQgd2hlbiB1c2VkIHdpdGhvdXQgLS1maWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR290ICVkIGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJWQgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICJNZW1wZXJvbGVoICVkIGJ5dGVzIGRhcmkgJXNcbiIKK21zZ3N0clsxXSAiTWVtcGVyb2xlaCAlZCBieXRlcyBkYXJpICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzeW1saW5rOiAlcyIKK21zZ3N0ciAiZ2FnYWwgbWVtYmFjYSBzeW1saW5rOiAlcyIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjI4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgLSBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5XG4iCittc2dzdHIgIiVzOiBtZW1idXR1aGthbiBiZXJrYXMgZGVza3JpcHNpLCBiZXJrYXMgYXRhdSBkaXJla3RvcmlcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGF0aG5hbWU+Li4uXG4iCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzYKK21zZ2lkICJGb2xsb3cgYSBwYXRobmFtZSB1bnRpbCBhIHRlcm1pbmFsIHBvaW50IGlzIGZvdW5kLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzkKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtaCwgLS1oZWxwICAgICAgICAgIGRpc3BsYXlzIHRoaXMgaGVscCB0ZXh0XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICBzaG93IG1vdW50IHBvaW50IGRpcmVjdG9yaWVzIHdpdGggYSAnRCdcbiIKKyIgLW0sIC0tbW9kZXMgICAgICAgICBzaG93IHRoZSBtb2RlIGJpdHMgb2YgZWFjaCBmaWxlXG4iCisiIC1vLCAtLW93bmVycyAgICAgICAgc2hvdyBvd25lciBhbmQgZ3JvdXAgbmFtZSBvZiBlYWNoIGZpbGVcbiIKKyIgLWwsIC0tbG9uZyAgICAgICAgICB1c2UgYSBsb25nIGxpc3RpbmcgZm9ybWF0ICgtbSAtbyAtdikgXG4iCisiIC1uLCAtLW5vc3ltbGlua3MgICAgZG9uJ3QgZm9sbG93IHN5bWxpbmtzXG4iCisiIC12LCAtLXZlcnRpY2FsICAgICAgdmVydGljYWwgYWxpZ24gb2YgbW9kZXMgYW5kIG93bmVyc1xuIgorbXNnc3RyICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgdGFtcGlsa2FuIHRla3MgYmFudHVhbiBpbmlcbiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICB0YW1waWxrYW4gdGl0aWsgcGVtYXNhbmdhbiBkaXJla3RvcmkgZGVuZ2FuIHNlYnVhaCAnRCdcbiIKKyIgLW0sIC0tbW9kZXMgICAgICAgICB0YW1waWxrYW4gbW9kZSBiaXQgZGFyaSBzZXRpYXAgYmVya2FzXG4iCisiIC1vLCAtLW93bmVycyAgICAgICAgdGFtcGlsa2FuIG5hbWEgcGVtaWxpayBhdGF1IGdydXAgZGFyaSBzZXRpYXAgYmVya2FzXG4iCisiIC1sLCAtLWxvbmcgICAgICAgICAgZ3VuYWthbiBzZWJ1YWggZm9ybWF0IHBlbmFtcGlsYW4gcGFuamFuZyAoLW0gLW8gLXYpXG4iCisiIC1uLCAtLW5vc3ltbGlua3MgICAgamFuZ2FuIGlrdXRpIHN5bWxpbmtzXG4iCisiIC12LCAtLXZlcnRpY2FsICAgICAgc2VzdWFpa2FuIHZlcnRpa2FsIGRhcmkgbW9kZSBkYW4gcGVtaWxpa1xuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDA4CisjLCBmdXp6eQorbXNnaWQgInBhdGhuYW1lIGFyZ3VtZW50IGlzIG1pc3NpbmciCittc2dzdHIgImFyZ3VtZW4gLS1kYXRlIHRlcmxhbHUgcGFuamFuZ1xuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE0IHN5cy11dGlscy9sc25zLmM6NzY0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBVSUQgY2FjaGUiCittc2dzdHIgImdhZ2FsIG1lbmdhbG9rYXNpa2FuIG91dGJ1ZmZlciIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR0lEIGNhY2hlIgorbXNnc3RyICJnYWdhbCBtZW5nYWxva2FzaWthbiBvdXRidWZmZXIiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4Y2VlZGVkIGxpbWl0IG9mIHN5bWxpbmtzIgorbXNnc3RyICIlczogbWVsZXdhdGkgYmF0YXMgZGFyaSBzeW1saW5rcyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHN5bWJvbGljIGxpbmsiCittc2dzdHIgIiVzOiBidWthbiBzZWJ1YWggYmxvY2sgZGV2aWNlXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkbGluayBmYWlsZWQiCittc2dzdHIgIiVzOiBnYWdhbCBtZW1idWthIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5saW5rIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGxzZWVrIGdhZ2FsIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc3ltbGlua2luZyB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBtZW5ndWJhaCBuYW1hICVzIGtlICVzIGdhZ2FsOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlbmFtZSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBtZW5ndWJhaCBuYW1hICVzIGtlICVzIGdhZ2FsOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjExOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZXhwcmVzc2lvbj4gPHJlcGxhY2VtZW50PiA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAiUmVuYW1lIGZpbGVzLlxuIgorbXNnc3RyICJ1bnNoYXJlIGdhZ2FsIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyNQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyNgorbXNnaWQgIiAtcywgLS1zeW1saW5rICAgIGFjdCBvbiB0aGUgdGFyZ2V0IG9mIHN5bWxpbmtzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcyCittc2dpZCAiQSBkYWVtb24gZm9yIGdlbmVyYXRpbmcgVVVJRHMuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgPHBhdGg+ICAgICAgICBwYXRoIHRvIHBpZCBmaWxlXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1vcHRzdHJpbmcgICAgICBQaWxpaGFuIHBlbmRlayB5YW5nIGRpa2VuYWxcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc1CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zb2NrZXQgPHBhdGg+ICAgICBwYXRoIHRvIHNvY2tldFxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9b3B0c3RyaW5nICAgICAgUGlsaWhhbiBwZW5kZWsgeWFuZyBkaWtlbmFsXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NgorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKK21zZ3N0ciAiICAtcywgLS1zaGVsbD1zaGVsbCAgICAgICAgICAgIE1lbmdlc2V0IHNoZWxsIHF1b3RpbmcgY29udmVudGlvbnNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc3CisjLCBmdXp6eQorbXNnaWQgIiAtaywgLS1raWxsICAgICAgICAgICAgICBraWxsIHJ1bm5pbmcgZGFlbW9uXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBJbmkgc2VkaWtpdCBwZXR1bmp1ayBwZW5nZ3VuYWFuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3OAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdCByYW5kb20tYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICBUZXN0IHVudHVrIHZlcnNpIGdldG9wdCgxKVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODAKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCittc2dzdHIgIiAgICAtSCMgW2F0YXUgLS1oZWFkcyAjXTogIHNldCBqdW1sYWggZGFyaSBoZWFkcyB5YW5nIGRpZ3VuYWthbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgxCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1uby1waWQgICAgICAgICAgICBkbyBub3QgY3JlYXRlIHBpZCBmaWxlXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBDZXRhayB0YWJlbCBwYXJ0aXNpIGRpIGxheWFyIGF0YXUga2Ugc2VidWFoIGZpbGUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MgorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgzCittc2dpZCAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIGRvIG5vdCBjcmVhdGUgbGlzdGVuaW5nIHNvY2tldFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4NAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4NQorIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgdHVybiBvbiBxdWlldCBtb2RlXG4iCittc2dzdHIgIiAgICAtcSAgW2F0YXUgLS1xdWlldF06ICAgIG1lbmVrYW4gcGVzYW4gcGVyaW5nYXRhbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjExOAorbXNnaWQgImJhZCBhcmd1bWVudHMiCittc2dzdHIgImFyZ3VtZW4gdGlkYWsgYmFpayIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEyNQorbXNnaWQgInNvY2tldCIKK21zZ3N0ciAic29rZXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMzYKK21zZ2lkICJjb25uZWN0IgorbXNnc3RyICJ0ZXJodWJ1bmciCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNTYKK21zZ2lkICJ3cml0ZSIKK21zZ3N0ciAidHVsaXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNjQKK21zZ2lkICJyZWFkIGNvdW50IgorbXNnc3RyICJqdW1sYWggeWFuZyB0ZXJiYWNhIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTcwCittc2dpZCAiYmFkIHJlc3BvbnNlIGxlbmd0aCIKK21zZ3N0ciAicGFuamFuZyBiYWxhc2FuIGJ1cnVrIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbG9jayAlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVrYSAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI0NgorIywgZnV6enkKK21zZ2lkICJjb3VsZG4ndCBjcmVhdGUgdW5peCBzdHJlYW0gc29ja2V0IgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWF0IGFsaXJhbiBzb2tldCB1bml4OiAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgYmluZCB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuZ2lrYXQgc29rZXQgdW5peCAlczogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI5OAorIywgZnV6enkKK21zZ2lkICJyZWNlaXZpbmcgc2lnbmFsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IG1lbmd1YmFoIG5hbWEgJXMga2UgJXMgZ2FnYWw6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozMTEKK21zZ2lkICJ0aW1lZCBvdXQiCittc2dzdHIgIndha3R1IGhhYmlzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzQ1IHN5cy11dGlscy9mbG9jay5jOjI3MQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHVwIHRpbWVyIgorbXNnc3RyICJtb3VudCB0aWRhayBkYXBhdCBtZW5zZXQgZ3J1cCBpZDogJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInV1aWRkIGRhZW1vbiBpcyBhbHJlYWR5IHJ1bm5pbmcgYXQgcGlkICVzIgorbXNnc3RyICJkYWVtb24gdXVpZGQgdGVsYWggYmVyamFsYW4gZGVuZ2FuIHBpZCAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBsaXN0ZW4gb24gdW5peCBzb2NrZXQgJXMiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmRlbmdhcmthbiBkaSBzb2tldCB1bml4ICVzOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgdHJ1bmNhdGUgZmlsZTogJXMiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbXBlcm9sZWggc3RhdGlzdGlrICclcyciCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODYKKyMsIGZ1enp5Cittc2dpZCAic2RfbGlzdGVuX2ZkcygpIGZhaWxlZCIKK21zZ3N0ciAic2V0dGltZW9mZGF5KCkgZ2FnYWwiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODkKK21zZ2lkICJubyBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayBzeXN0ZW1jdGwgc3RhdHVzIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzkyCisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAiJXM6IGdhZ2FsIG1lbmRhcGF0a2FuIHVrdXJhbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQyMCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ1NQorIywgZnV6enkKK21zZ2lkICJwb2xsIGZhaWxlZCIKK21zZ3N0ciAibWFsbG9jKCkgZ2FnYWwiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRpbWVvdXQgWyVkIHNlY11cbiIKK21zZ3N0ciAiV2FrdHUgaGFiaXMgdW50dWsgTG9naW4gc2VzdWRhaCAlZCBkZXRpa1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQzIHRleHQtdXRpbHMvY29sdW1uLmM6NDE0CisjLCBmdXp6eQorbXNnaWQgInJlYWQgZmFpbGVkIgorbXNnc3RyICJnYWdhbCBtZW1iYWNhOiAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgcmVhZGluZyBmcm9tIGNsaWVudCwgbGVuID0gJWQiCittc2dzdHIgIkVycm9yIG1lbWJhY2EgZGFyaSBrbGllbiwgcGFuamFuZyA9ICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkLCBpbmNvbWluZyBudW0gPSAlZFxuIgorbXNnc3RyICJvcGVyYXNpICVkLCBtYXN1a2FuIGp1bWxhaCA9ICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICJPcGVyYXNpICVkIHRpZGFrIHZhbGlkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRDogJXNcbiIKK21zZ3N0ciAiVVVJRCB3YWt0dSB5YW5nIGRpaGFzaWxrYW46ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHJhbmRvbSBVVUlEOiAlc1xuIgorbXNnc3RyICJVVUlEIGFjYWsgeWFuZyBkaWhhc2lsa2FuOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dzdHJbMF0gIlVVSUQgd2FrdHUgeWFuZyBkaWhhc2lsa2FuICVzIGRhbiAlZCB5YW5nIG1lbmdpa3V0aW55YVxuIgorbXNnc3RyWzFdICJVVUlEIHdha3R1IHlhbmcgZGloYXNpbGthbiAlcyBkYW4gJWQgeWFuZyBtZW5naWt1dGlueWFcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkICVkIFVVSUQ6XG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCAlZCBVVUlEczpcbiIKK21zZ3N0clswXSAiTWVuZ2hhc2lsa2FuICVkIFVVSUQ6XG4iCittc2dzdHJbMV0gIk1lbmdoYXNpbGthbiAlZCBVVUlEOlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgb3BlcmF0aW9uICVkXG4iCittc2dzdHIgIk9wZXJhc2kgJWQgdGlkYWsgdmFsaWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCByZXBseSBsZW5ndGggZnJvbSBzZXJ2ZXIgJWQiCittc2dzdHIgIlBhbmphbmcgYmFsYXNhbiBkYXJpIHNlcnZlciB0aWRhayB0ZXJkdWdhICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MDAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdXVpZHMiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYxNworbXNnaWQgInV1aWRkIGhhcyBiZWVuIGJ1aWx0IHdpdGhvdXQgc3VwcG9ydCBmb3Igc29ja2V0IGFjdGl2YXRpb24iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYzNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10aW1lb3V0IgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NTMKK21zZ2lkICJCb3RoIC0tc29ja2V0LWFjdGl2YXRpb24gYW5kIC0tc29ja2V0IHNwZWNpZmllZC4gSWdub3JpbmcgLS1zb2NrZXQuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjAgbWlzYy11dGlscy91dWlkZC5jOjY4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2FsbGluZyB1dWlkZCBkYWVtb24gKCVzKSIKK21zZ3N0ciAiRXJyb3IgbWVtYW5nZ2lsIGRhZW1vbiB1dWlkZCAoJXMpOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYxIG1pc2MtdXRpbHMvdXVpZGQuYzo2ODkKKyMsIGZ1enp5Cittc2dpZCAidW5leHBlY3RlZCBlcnJvciIKK21zZ3N0ciAiJXM6IGZvcm1hdCBiZXJrYXMgdGlkYWsgdGVyZHVnYSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRFxuIgorbXNnaWRfcGx1cmFsICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEc1xuIgorbXNnc3RyWzBdICIlcyBkYW4gVVVJRCAlZCBzZWxhbmp1dG55YVxuIgorbXNnc3RyWzFdICIlcyBkYW4gVVVJRCAlZCBzZWxhbmp1dG55YVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMaXN0IG9mIFVVSURzOlxuIgorbXNnc3RyICJEYWZ0YXIgZGFyaSBVVUlEOlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBraWxsIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW1hdGlrYW4gdXVpZGQgeWFuZyBiZXJqYWxhbiBkZW5nYW4gcGlkICVkOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJLaWxsZWQgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQuXG4iCittc2dzdHIgIkRpbWF0aWthbiB1dWlkZCB5YW5nIGJlcmphbGFuIGRlbmdhbiBwaWQgJWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjgKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlIGEgbmV3IFVVSUQgdmFsdWUuXG4iCittc2dzdHIgIiAgIHMgICBidWF0IHNlYnVhaCBkaXNrbGFiZWwgU3VuIHlhbmcga29zb25nIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozMQorbXNnaWQgIiIKKyIgLXIsIC0tcmFuZG9tICAgICBnZW5lcmF0ZSByYW5kb20tYmFzZWQgdXVpZFxuIgorIiAtdCwgLS10aW1lICAgICAgIGdlbmVyYXRlIHRpbWUtYmFzZWQgdXVpZFxuIgorIiAtViwgLS12ZXJzaW9uICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1CTVMgPGRpcj4uLi4gLWZdIDxuYW1lPlxuIgorbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gcGVyYW5na2F0IC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTIKK21zZ2lkICJMb2NhdGUgdGhlIGJpbmFyeSwgc291cmNlLCBhbmQgbWFudWFsLXBhZ2UgZmlsZXMgZm9yIGEgY29tbWFuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTUKKyMsIGZ1enp5Cittc2dpZCAiIC1iICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIGJpbmFyaWVzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICB0aWRhayBtZW51bGlzIHNlYmVuYXJueWEga2UgZGlzayIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk2Cittc2dpZCAiIC1CIDxkaXJzPiAgZGVmaW5lIGJpbmFyaWVzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk3CisjLCBmdXp6eQorbXNnaWQgIiAtbSAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBtYW51YWxzIGFuZCBpbmZvc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgdGlkYWsgbWVudWxpcyBzZWJlbmFybnlhIGtlIGRpc2siCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5OAorbXNnaWQgIiAtTSA8ZGlycz4gIGRlZmluZSBtYW4gYW5kIGluZm8gbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTkKK21zZ2lkICIgLXMgICAgICAgICBzZWFyY2ggb25seSBmb3Igc291cmNlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMAorbXNnaWQgIiAtUyA8ZGlycz4gIGRlZmluZSBzb3VyY2VzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAxCisjLCBmdXp6eQorbXNnaWQgIiAtZiAgICAgICAgIHRlcm1pbmF0ZSA8ZGlycz4gYXJndW1lbnQgbGlzdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDIKK21zZ2lkICIgLXUgICAgICAgICBzZWFyY2ggZm9yIHVudXN1YWwgZW50cmllc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMworbXNnaWQgIiAtbCAgICAgICAgIG91dHB1dCBlZmZlY3RpdmUgbG9va3VwIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NjE5CisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbiAtZiBpcyBtaXNzaW5nIgorbXNnc3RyICJhcmd1bWVuIC0tZGF0ZSB0ZXJsYWx1IHBhbmphbmdcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxOTYKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJOb21vciBwYXJ0aXNpIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IHByb2JpbmcgaW5pdGlhbGl6YXRpb24gZmFpbGVkIgorbXNnc3RyICJlcnJvcjogJXM6IGdhZ2FsIG1lbGFrdWthbiBpbmlzaWFsaXNhc2kgcHJvYmluZyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZXJhc2UgJXMgbWFnaWMgc3RyaW5nIGF0IG9mZnNldCAweCUwOGp4IgorbXNnc3RyICIlczogZ2FnYWwgdW50dWsgYmVycGluZGFoIGtlIG9mc2V0IDB4JWp4IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICV6ZCBieXRlIHdhcyBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnaWRfcGx1cmFsICIlczogJXpkIGJ5dGVzIHdlcmUgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIKK21zZ3N0clswXSAiXSBkaWhhcHVzIGRpIG9mc2V0IDB4JWp4ICglcylcbiIKK21zZ3N0clsxXSAiXSBkaWhhcHVzIGRpIG9mc2V0IDB4JWp4ICglcylcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCIKK21zZ3N0ciAiJXM6ICVzOiB0aWRhayBkYXBhdCBtZW51bGlzIHBhZ2Ugc2lnbmF0dXJlOiAlcyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYWxsaW5nIGlvY3RsIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlOiAlbVxuIgorbXNnc3RyICJNZW1hbmdnaWwgaW9jdGwoKSB1bnR1ayBtZW1iYWNhIGtlbWJhbGkgdGFiZWwgcGFydGlzaS5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozODUKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpZ25vcmluZyBuZXN0ZWQgXCIlc1wiIHBhcnRpdGlvbiB0YWJsZSBvbiBub24td2hvbGUgZGlzayBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgMHglanggbm90IGZvdW5kIgorbXNnc3RyICJ1bW91bnQ6ICVzOiB0aWRhayBkaXRlbXVrYW4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDM1CisjLCBmdXp6eQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBvcHRpb24gdG8gZm9yY2UgZXJhc2UuIgorbXNnc3RyICJHdW5ha2FuIHBpbGloYW4gLS1mb3JjZSB1bnR1ayBtZW1ha3NhIHBlbWVyaWtzYWFuIHNlY2FyYSBrZXNlbHVydWhhbi5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0NTkKK21zZ2lkICJXaXBlIHNpZ25hdHVyZXMgZnJvbSBhIGRldmljZS5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ2MgorIywgZnV6enkKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpXG4iCisiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgIGZvcmNlIGVyYXN1cmVcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCisiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGxcbiIKKyIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgdG8gZXJhc2UsIGluIGJ5dGVzXG4iCisiIC1wLCAtLXBhcnNhYmxlICAgICAgcHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdFxuIgorIiAtcSwgLS1xdWlldCAgICAgICAgIHN1cHByZXNzIG91dHB1dCBtZXNzYWdlc1xuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSwgUkFJRHMgb3IgcGFydGl0aW9uIHRhYmxlc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICBoYXB1cyBzZWx1cnVoICdtYWdpYyBzdHJpbmdzJyAoSEFUSS1IQVRJKVxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgIHBlc2FuIGJhbnR1YW4gaW5pXG4iCisiIC1uLCAtLW5vLWFjdCAgICAgICAgc2VtdWEgeWFuZyBoYXJ1cyBkaWxha3VrYW4ga2VjdWFsaSB1bnR1ayBwZW1hbmdnaWxhbiB3cml0ZSgpXG4iCisiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IHVudHVrIG1lbmdoYXB1cywgZGFsYW0gYnl0ZXNcbiIKKyIgLXAsIC0tcGFyc2FibGUgICAgICB0YW1waWxrYW4gZGFsYW0gZm9ybWF0IHlhbmcgbXVkYWggZGlwYXJzZSBkYXJpcGFkYSBmb3JtYXQgY2V0YWtcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MzMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBvZmZzZXQgYXJndW1lbnQiCittc2dzdHIgInBpbGloYW4gdGlkYWsgdmFsaWQiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTU4Cittc2dpZCAiVGhlIC0tYmFja3VwIG9wdGlvbiBpcyBtZWFuaW5nbGVzcyBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM1Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlYWwtdGltZSBzY2hlZHVsaW5nIGF0dHJpYnV0ZXMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNworbXNnaWQgIiIKKyJTZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSA8cHJpb3JpdHk+IDxjb21tYW5kPiBbPGFyZz4uLi5dXG4iCisiIGNocnQgW29wdGlvbnNdIC0tcGlkIDxwcmlvcml0eT4gPHBpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDEKK21zZ2lkICIiCisiR2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gLXAgPHBpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDUKKyMsIGZ1enp5Cittc2dpZCAiUG9saWN5IG9wdGlvbnM6XG4iCittc2dzdHIgInBpbGloYW4geWFuZyBiZXJiYWhheWE6IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDYKK21zZ2lkICIgLWIsIC0tYmF0Y2ggICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NworIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGVhZGxpbmUgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9ERUFETElORVxuIgorbXNnc3RyICIgICAgICAgICAgICAgIHBhcmFtZXRlcnNcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ4CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maWZvICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICBwYXJhbWV0ZXJzXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OQorbXNnaWQgIiAtaSwgLS1pZGxlICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTAKK21zZ2lkICIgLW8sIC0tb3RoZXIgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcnIgICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU0CisjLCBmdXp6eQorbXNnaWQgIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBpbGloYW46XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NQorbXNnaWQgIiAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgIHNldCBTQ0hFRF9SRVNFVF9PTl9GT1JLIGZvciBGSUZPIG9yIFJSXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU2Cittc2dpZCAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAgcnVudGltZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU3Cittc2dpZCAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTgKK21zZ2lkICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYxCisjLCBmdXp6eQorbXNnaWQgIk90aGVyIG9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJQaWxpaGFuOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjIKK21zZ2lkICIgLWEsIC0tYWxsLXRhc2tzICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjMKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1heCAgICAgICAgICAgIHNob3cgbWluIGFuZCBtYXggdmFsaWQgcHJpb3JpdGllc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjIzMiBzY2hlZHV0aWxzL2NocnQuYzoyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIGtlYmlqYWthbiBwaWQgJWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGF0dHJpYnV0ZXMiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIGF0cmlidXQgcGlkICVkIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgInBpZCAlZCAlcyBrZWJpamFrYW4gYW50cmlhbjogIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICJwaWQgJWQgJXMga2ViaWpha2FuIGFudHJpYW46ICIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAicGlkICVkICVzIHByaW9yaXRhcyBhbnRyaWFuOiAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAicGlkICVkICVzIHByaW9yaXRhcyBhbnRyaWFuOiAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgInBpZCAlZCAlcyBwcmlvcml0YXMgYW50cmlhbjogJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzAwIHNjaGVkdXRpbHMvY2hydC5jOjM5NgorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb2J0YWluIHRoZSBsaXN0IG9mIHRhc2tzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5lbXVrYW4gcGVyYW5na2F0ICVzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG1pbi9tYXggcHJpb3JpdHlcdDogJWQvJWRcbiIKK21zZ3N0ciAiU0NIRURfJXMgbWluL21heCBwcmlvcml0YXNcdDogJWQvJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3Qgc3VwcG9ydGVkP1xuIgorbXNnc3RyICJTQ0hFRF8lcyB0aWRhayBkaWR1a3VuZz9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiZ2FnYWwgbWVuc2V0IGtlYmlqYWthbiBwaWQgJWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiZ2FnYWwgbWVuc2V0IGtlYmlqYWthbiBwaWQgJWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHJ1bnRpbWUgYXJndW1lbnQiCittc2dzdHIgInBpbGloYW4gdGlkYWsgdmFsaWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ5MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBlcmlvZCBhcmd1bWVudCIKK21zZ3N0ciAicGlsaWhhbiB0aWRhayB2YWxpZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDkzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZGVhZGxpbmUgYXJndW1lbnQiCittc2dzdHIgInBpbGloYW4gdGlkYWsgdmFsaWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUxNworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5IGFyZ3VtZW50IgorbXNnc3RyICJwaWxpaGFuIHRpZGFrIHZhbGlkIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MjEKK21zZ2lkICItLXJlc2V0LW9uLWZvcmsgb3B0aW9uIGlzIHN1cHBvcnRlZCBmb3IgU0NIRURfRklGTyBhbmQgU0NIRURfUlIgcG9saWNpZXMgb25seSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MjYKK21zZ2lkICItLXNjaGVkLXtydW50aW1lLGRlYWRsaW5lLHBlcmlvZH0gb3B0aW9ucyBhcmUgc3VwcG9ydGVkIGZvciBTQ0hFRF9ERUFETElORSBvbmx5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0MQorIywgZnV6enkKK21zZ2lkICJTQ0hFRF9ERUFETElORSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiU0NIRURfJXMgdGlkYWsgZGlkdWt1bmc/XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcmlvcml0eSB2YWx1ZSBmb3IgdGhlIHBvbGljeTogJWQ6IHNlZSAtLW1heCBmb3IgdmFsaWQgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo3NgorbXNnaWQgImlvcHJpb19nZXQgZmFpbGVkIgorbXNnc3RyICJpb3ByaW9fZ2V0IGdhZ2FsIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcHJpbyAlbHVcbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6OTgKK21zZ2lkICJpb3ByaW9fc2V0IGZhaWxlZCIKK21zZ3N0ciAiaW9wcmlvX3NldCBnYWdhbCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSAtcCA8cGlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtUCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTAKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgSS9PLXNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExMworbXNnaWQgIiIKKyIgLWMsIC0tY2xhc3MgPGNsYXNzPiAgICBuYW1lIG9yIG51bWJlciBvZiBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTUKK21zZ2lkICIiCisiIC1uLCAtLWNsYXNzZGF0YSA8bnVtPiAgcHJpb3JpdHkgKDAuLjcpIGluIHRoZSBzcGVjaWZpZWQgc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHkgZm9yIHRoZSByZWFsdGltZSBhbmQgYmVzdC1lZmZvcnQgY2xhc3Nlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE3Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPi4uLiAgICAgYWN0IG9uIHRoZXNlIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOAorbXNnaWQgIiAtUCwgLS1wZ2lkIDxwZ3JwPi4uLiAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIGluIHRoZXNlIGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE5CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIGlnbm9yZSBmYWlsdXJlc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMAorbXNnaWQgIiAtdSwgLS11aWQgPHVpZD4uLi4gICAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIG93bmVkIGJ5IHRoZXNlIHVzZXJzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjbGFzcyBkYXRhIGFyZ3VtZW50IgorbXNnc3RyICJwaWxpaGFuIHRpZGFrIHZhbGlkIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGNsYXNzIGFyZ3VtZW50IgorbXNnc3RyICJpZCB0aWRhayB2YWxpZDogJXNcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2NoZWR1bGluZyBjbGFzczogJyVzJyIKK21zZ3N0ciAiJXM6IFBlcmludGFoIHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNzYgc2NoZWR1dGlscy9pb25pY2UuYzoxODQgc2NoZWR1dGlscy9pb25pY2UuYzoxOTIKK21zZ2lkICJjYW4gaGFuZGxlIG9ubHkgb25lIG9mIHBpZCwgcGdpZCBvciB1aWQgYXQgb25jZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFBHSUQgYXJndW1lbnQiCittc2dzdHIgImlkIHRpZGFrIHZhbGlkOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFVJRCBhcmd1bWVudCIKK21zZ3N0ciAiaWQgdGlkYWsgdmFsaWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjEyCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3Igbm9uZSBjbGFzcyIKK21zZ3N0ciAibWVuZ2FiYWlrYW4gZGF0YSBrZWxhcyB5YW5nIGRpYmVyaWthbiB1bnR1ayBrZWxhcyBrb3NvbmciCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjIwCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3IgaWRsZSBjbGFzcyIKK21zZ3N0ciAibWVuZ2FiYWlrYW4gZGF0YSBrZWxhcyB5YW5nIGRpYmVyaWthbiB1bnR1ayBrZWxhcyBrb3NvbmciCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHByaW8gY2xhc3MgJWQiCittc2dzdHIgInByaW9yaXRhcyBrZWxhcyAlZCBidXJ1ayIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJVc2FnZTogJXMgW29wdGlvbnNdIFttYXNrIHwgY3B1LWxpc3RdIFtwaWR8Y21kIFthcmdzLi4uXV1cbiIKKyJcbiIKK21zZ3N0ciAicGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIDxhcGxpa2FzaT4gW2FyZyAuLi5dXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU1Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIENQVSBhZmZpbml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk9wdGlvbnM6XG4iCisiIC1hLCAtLWFsbC10YXNrcyAgICAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisiIC1wLCAtLXBpZCAgICAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCisiIC1jLCAtLWNwdS1saXN0ICAgICAgICAgIGRpc3BsYXkgYW5kIHNwZWNpZnkgY3B1cyBpbiBsaXN0IGZvcm1hdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvblxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBydW4gYSBuZXcgY29tbWFuZDpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyJZb3UgY2FuIHJldHJpZXZlIHRoZSBtYXNrIG9mIGFuIGV4aXN0aW5nIHRhc2s6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiT3Igc2V0IGl0OlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorIkxpc3QgZm9ybWF0IHVzZXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBpbnN0ZWFkIG9mIGEgbWFzazpcbiIKKyIgICAgJTEkcyAtcGMgMCwzLDctMTEgNzAwXG4iCisiUmFuZ2VzIGluIGxpc3QgZm9ybWF0IGNhbiB0YWtlIGEgc3RyaWRlIGFyZ3VtZW50OlxuIgorIiAgICBlLmcuIDAtMzE6MiBpcyBlcXVpdmFsZW50IHRvIG1hc2sgMHg1NTU1NTU1NVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkwCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IGNvbnZlcnNpb24gZnJvbSBjcHVzZXQgdG8gc3RyaW5nIGZhaWxlZCIKK21zZ3N0ciAidWJhaCB3YWt0dSBydGMiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwOSBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIGtlYmlqYWthbiBwaWQgJWQiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjExOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAiZ2FnYWwgbWVuc2V0IGtlYmlqYWthbiBwaWQgJWQiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE4NiBzeXMtdXRpbHMvY2hjcHUuYzoyODkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBOUl9DUFVTOyBhYm9ydGluZyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZW50dWthbiB1a3VyYW4gZGFyaSAlcyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTk1IHNjaGVkdXRpbHMvdGFza3NldC5jOjIwOCBzeXMtdXRpbHMvY2hjcHUuYzoyOTUKKyMsIGZ1enp5Cittc2dpZCAiY3B1c2V0X2FsbG9jIGZhaWxlZCIKK21zZ3N0ciAiY2FsbG9jIGdhZ2FsIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMTUgc3lzLXV0aWxzL2NoY3B1LmM6MjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrOiAlcyIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBaZXJvLWZpbGxlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IERpc2NhcmRlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODcKK21zZ2lkICJEaXNjYXJkIHRoZSBjb250ZW50IG9mIHNlY3RvcnMgb24gYSBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iCittc2dzdHIgIiAgICAtQyMgW2F0YXUgLS1jeWxpbmRlcnMgI106c2V0IGp1bWxhaCBkYXJpIGN5bGluZGVycyB5YW5nIGRpZ3VuYWthbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiICAgIC1DIyBbYXRhdSAtLWN5bGluZGVycyAjXTpzZXQganVtbGFoIGRhcmkgY3lsaW5kZXJzIHlhbmcgZGlndW5ha2FuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkyCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1zdGVwIDxudW0+ICAgIHNpemUgb2YgdGhlIGRpc2NhcmQgaXRlcmF0aW9ucyB3aXRoaW4gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkzCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zZWN1cmUgICAgICAgIHBlcmZvcm0gc2VjdXJlIGRpc2NhcmRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NAorIywgZnV6enkKK21zZ2lkICIgLXosIC0temVyb291dCAgICAgICB6ZXJvLWZpbGwgcmF0aGVyIHRoYW4gZGlzY2FyZFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTUwIHN5cy11dGlscy9mc3RyaW0uYzozMTIgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NzMKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjEyNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTU0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGVwIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTcyIHN5cy11dGlscy96cmFtY3RsLmM6NjgyIHN5cy11dGlscy96cmFtY3RsLmM6NzA4CisjLCBmdXp6eQorbXNnaWQgIm5vIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIm1vdW50OiBwZXJhbmdrYXQgbG9vcCBkaXNwZXNpZmlrYXNpa2FuIGR1YSBrYWxpIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3NyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzUxCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjIgc3lzLXV0aWxzL2ZzdHJpbS5jOjMzNAorIywgZnV6enkKK21zZ2lkICJ1bmV4cGVjdGVkIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgImRpZHVnYSBzZWJ1YWggbm9tb3IsIHRldGFwaSBkaXBlcm9sZWggJyVzJyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJCTEtHRVRTSVpFIGlvY3RsIGdhZ2FsIGRpICVzXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU1NaR0VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGdhZ2FsIG1lbnVsaXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0IGlzIGdyZWF0ZXIgdGhhbiBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtcGVyb2xlaCB1a3VyYW4gZGlzayIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxlbmd0aCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtaRVJPT1VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGdhZ2FsIG1lbnVsaXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU0VDRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBnYWdhbCBtZW51bGlzIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogZ2FnYWwgbWVudWxpcyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6ODcgc3lzLXV0aWxzL2NoY3B1LmM6MTc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiVzOiBcIiVzXCIgdGlkYWsgYWRhLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBob3QgcGx1Z2dhYmxlIgorbXNnc3RyICIlczogXCIlc1wiIGJ1a2FuIHNlYnVhaCBleGVjdXRhYmxlLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZW5hYmxlZFxuIgorbXNnc3RyICJTZWt0b3IgJWQgc3VkYWggZGlhbG9rYXNpa2FuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAiU2VrdG9yICVkIHN1ZGFoIGRpYWxva2FzaWthblxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIChDUFUgaXMgZGVjb25maWd1cmVkKSIKK21zZ3N0ciAiU2VrdG9yICVkIHN1ZGFoIGRpYWxva2FzaWthblxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIgorbXNnc3RyICJBdXRvY29uZmlndXJlIGdhZ2FsLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGVkXG4iCittc2dzdHIgIkF1dG9jb25maWd1cmUgZ2FnYWwuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIChsYXN0IGVuYWJsZWQgQ1BVKSIKK21zZ3N0ciAiU2VrdG9yICVkIHN1ZGFoIGRpYWxva2FzaWthblxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCIKK21zZ3N0ciAiU2VrdG9yICVkIHN1ZGFoIGRpYWxva2FzaWthblxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlZFxuIgorbXNnc3RyICJTZWt0b3IgJWQgc3VkYWggZGlhbG9rYXNpa2FuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgcmVzY2FubmluZyBvZiBDUFVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gdHJpZ2dlciByZXNjYW4gb2YgQ1BVcyIKK21zZ3N0ciAiR2FnYWwgbWVuc2V0IHBlcnNvbmFsaXR5IGtlICVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJpZ2dlcmVkIHJlc2NhbiBvZiBDUFVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTUxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBzZXR0aW5nIHRoZSBkaXNwYXRjaGluZyBtb2RlIG9mIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU1CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICJHYWdhbCBtZW5zZXQgcGVyc29uYWxpdHkga2UgJXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCBob3Jpem9udGFsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAiR2FnYWwgbWVuc2V0IHBlcnNvbmFsaXR5IGtlICVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTkKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHNldCB2ZXJ0aWNhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICJHYWdhbCBtZW5zZXQgcGVyc29uYWxpdHkga2UgJXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCB2ZXJ0aWNhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIkdhZ2FsIG1lbnNldCBwZXJzb25hbGl0eSBrZSAlcyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGNvbmZpZ3VyYWJsZSIKK21zZ3N0ciAiJXM6IFwiJXNcIiBidWthbiBzZWJ1YWggZXhlY3V0YWJsZS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBjb25maWd1cmVkXG4iCittc2dzdHIgIlNla3RvciAlZCBzdWRhaCBkaWFsb2thc2lrYW5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiU2VrdG9yICVkIHN1ZGFoIGRpYWxva2FzaWthblxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiQXV0b2NvbmZpZ3VyZSBnYWdhbC5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiQXV0b2NvbmZpZ3VyZSBnYWdhbC5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlZFxuIgorbXNnc3RyICJBdXRvY29uZmlndXJlIGdhZ2FsLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIkF1dG9jb25maWd1cmUgZ2FnYWwuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJBdXRvY29uZmlndXJlIGdhZ2FsLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgQ1BVIG51bWJlciBpbiBDUFUgbGlzdDogJXMiCittc2dzdHIgIkp1bWxhaCBkYXJpIGJhcmlzIHRpZGFrIHZhbGlkIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzggdGV4dC11dGlscy9jb2wuYzoxMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl1cbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQyCittc2dpZCAiQ29uZmlndXJlIENQVXMgaW4gYSBtdWx0aS1wcm9jZXNzb3Igc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0NAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhpcyBoZWxwXG4iCisiICAtZSwgLS1lbmFibGUgPGNwdS1saXN0PiAgICAgICBlbmFibGUgY3B1c1xuIgorIiAgLWQsIC0tZGlzYWJsZSA8Y3B1LWxpc3Q+ICAgICAgZGlzYWJsZSBjcHVzXG4iCisiICAtYywgLS1jb25maWd1cmUgPGNwdS1saXN0PiAgICBjb25maWd1cmUgY3B1c1xuIgorIiAgLWcsIC0tZGVjb25maWd1cmUgPGNwdS1saXN0PiAgZGVjb25maWd1cmUgY3B1c1xuIgorIiAgLXAsIC0tZGlzcGF0Y2ggPG1vZGU+ICAgICAgICAgc2V0IGRpc3BhdGNoaW5nIG1vZGVcbiIKKyIgIC1yLCAtLXJlc2NhbiAgICAgICAgICAgICAgICAgIHRyaWdnZXIgcmVzY2FuIG9mIGNwdXNcbiIKKyIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MzI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBhcmd1bWVudDogJXMiCittc2dzdHIgIiVzOiBhcmd1bWVudCB0aWRhayBkaWtldGFodWk6ICVzXG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBoYXJkfHNvZnRcbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogY3RybGFsdGRlbCBoYXJkfHNvZnRcbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICJTZXQgdGhlIGZ1bmN0aW9uIG9mIHRoZSBDdHJsLUFsdC1EZWwgY29tYmluYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MQorbXNnaWQgImltcGxpY2l0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdmFsdWUgaW4gJXM6ICVqdSIKK21zZ3N0ciAiYWtoaXIgZGFyaSBiZXJrYXMgdGlkYWsgZGlkdWdhIGRpICVzIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjYzCisjLCBmdXp6eQorbXNnaWQgIllvdSBtdXN0IGJlIHJvb3QgdG8gc2V0IHRoZSBDdHJsLUFsdC1EZWwgYmVoYXZpb3IiCittc2dzdHIgIkFuZGEgaGFydXMgbWVuamFkaSByb290IHVudHVrIG1lbmdlc2V0IHJlYWtzaSBkYXJpIEN0cmwtQWx0LURlbC5cbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo3MSBzeXMtdXRpbHMvaXBjcm0uYzozOTIgc3lzLXV0aWxzL2lwY3JtLmM6NDE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEwCisjLCBmdXp6eQorbXNnaWQgInN5c3RlbSBpcyB1bnVzYWJsZSIKK21zZ3N0ciAiUGFydGlzaSBpbmkgdGlkYWsgZGFwYXQgZGlndW5ha2FuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTEKK21zZ2lkICJhY3Rpb24gbXVzdCBiZSB0YWtlbiBpbW1lZGlhdGVseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTIKK21zZ2lkICJjcml0aWNhbCBjb25kaXRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMworIywgZnV6enkKK21zZ2lkICJlcnJvciBjb25kaXRpb25zIgorbXNnc3RyICJlcnJvciBtZW51dHVwICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAid2FybmluZyBjb25kaXRpb25zIgorbXNnc3RyICJQZXJpbmdhdGFuOiBwYXJ0aXNpICVzICIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE1Cittc2dpZCAibm9ybWFsIGJ1dCBzaWduaWZpY2FudCBjb25kaXRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE2Cittc2dpZCAiaW5mb3JtYXRpb25hbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTcKK21zZ2lkICJkZWJ1Zy1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzEKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIG1lc3NhZ2VzIgorbXNnc3RyICJwZXNhbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMyCittc2dpZCAicmFuZG9tIHVzZXItbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMzCisjLCBmdXp6eQorbXNnaWQgIm1haWwgc3lzdGVtIgorbXNnc3RyICJNYXN1a2thbiB0aXBlIGZpbGVzeXN0ZW06ICIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM0Cittc2dpZCAic3lzdGVtIGRhZW1vbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1Cittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzYKK21zZ2lkICJtZXNzYWdlcyBnZW5lcmF0ZWQgaW50ZXJuYWxseSBieSBzeXNsb2dkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNworbXNnaWQgImxpbmUgcHJpbnRlciBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM4Cittc2dpZCAibmV0d29yayBuZXdzIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzkKK21zZ2lkICJVVUNQIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDAKKyMsIGZ1enp5Cittc2dpZCAiY2xvY2sgZGFlbW9uIgorbXNnc3RyICJ0aWRhayBkYXBhdCBkYWVtb25pemUiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MQorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMgKHByaXZhdGUpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MgorIywgZnV6enkKK21zZ2lkICJGVFAgZGFlbW9uIgorbXNnc3RyICJ0aWRhayBkYXBhdCBkYWVtb25pemUiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI2NworbXNnaWQgIkRpc3BsYXkgb3IgY29udHJvbCB0aGUga2VybmVsIHJpbmcgYnVmZmVyLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MAorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGNsZWFyIHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIHJlYWQgYW5kIGNsZWFyIGFsbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjcyCisjLCBmdXp6eQorbXNnaWQgIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAgZGlzYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MworIywgZnV6enkKK21zZ2lkICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIGVuYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NAorbXNnaWQgIiAtRiwgLS1maWxlIDxmaWxlPiAgICAgICAgICAgdXNlIHRoZSBmaWxlIGluc3RlYWQgb2YgdGhlIGtlcm5lbCBsb2cgYnVmZmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc1Cittc2dpZCAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0PiAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBmYWNpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc2CisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAgaHVtYW4gcmVhZGFibGUgb3V0cHV0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NworIywgZnV6enkKK21zZ2lkICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIGRpc3BsYXkga2VybmVsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzgKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgxCittc2dpZCAiIC1sLCAtLWxldmVsIDxsaXN0PiAgICAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBsZXZlbHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODIKK21zZ2lkICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bGV2ZWw+IHNldCBsZXZlbCBvZiBtZXNzYWdlcyBwcmludGVkIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODMKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICBkbyBub3QgcGlwZSBvdXRwdXQgaW50byBhIHBhZ2VyXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByYXcgbWVzc2FnZSBidWZmZXJcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg1CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgZm9yY2UgdG8gdXNlIHN5c2xvZygyKSByYXRoZXIgdGhhbiAvZGV2L2ttc2dcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg2Cittc2dpZCAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgZGlzcGxheSB1c2Vyc3BhY2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OAorIywgZnV6enkKK21zZ2lkICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg5Cittc2dpZCAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBkZWNvZGUgZmFjaWxpdHkgYW5kIGxldmVsIHRvIHJlYWRhYmxlIHN0cmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIHNob3cgdGltZSBkZWx0YSBiZXR3ZWVuIHByaW50ZWQgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkxCittc2dpZCAiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBzaG93IGxvY2FsIHRpbWUgYW5kIHRpbWUgZGVsdGEgaW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkyCisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbi1yZWFkYWJsZSB0aW1lc3RhbXAgKG1heSBiZSBpbmFjY3VyYXRlISlcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkzCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAgZG9uJ3Qgc2hvdyBhbnkgdGltZXN0YW1wIHdpdGggbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk0Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXAgdXNpbmcgdGhlIGdpdmVuIGZvcm1hdDpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyJTdXNwZW5kaW5nL3Jlc3VtZSB3aWxsIG1ha2UgY3RpbWUgYW5kIGlzbyB0aW1lc3RhbXBzIGluYWNjdXJhdGUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzAwCittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgZmFjaWxpdGllczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDYKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBsZXZlbHMgKHByaW9yaXRpZXMpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxldmVsICclcyciCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGxldmVsICclcyciCittc2dzdHIgIiVzOiBQZXJpbnRhaCB0aWRhayBkaWtldGFodWk6ICVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGZhY2lsaXR5ICclcyciCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5ICclcyciCittc2dzdHIgIkJ1a2FuIGRpcmVrdG9yaSAlcyFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW1hcDogJXMiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1a2EgJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNTYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBidWZmZXIgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAicGlsaWhhbiB0aWRhayB2YWxpZCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQwOQorbXNnaWQgIi0tc2hvdy1kZWx0YSBpcyBpZ25vcmVkIHdoZW4gdXNlZCB0b2dldGhlciB3aXRoIGlzbzg2MDEgdGltZSBmb3JtYXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQzMgorbXNnaWQgIi0tcmF3IGNhbiBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1sZXZlbCBvciAtLWZhY2lsaXR5IG9ubHkgd2hlbiByZWFkaW5nIG1lc3NhZ2VzIGZyb20gL2Rldi9rbXNnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0NDIKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBrZXJuZWwgYnVmZmVyIGZhaWxlZCIKK21zZ3N0ciAiYmFjYSBiYXJpcyBydGMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0NjEKKyMsIGZ1enp5Cittc2dpZCAia2xvZ2N0bCBmYWlsZWQiCittc2dzdHIgIm1zZ2N0bCBnYWdhbCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPnw8bW91bnRwb2ludD5dXG4iCittc2dzdHIgIiIKKyJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gPG5hbWEgYmVya2FzPlxuIgorIlxuIgorIlBpbGloYW46XG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNworIywgZnV6enkKK21zZ2lkICJFamVjdCByZW1vdmFibGUgbWVkaWEuXG4iCittc2dzdHIgIiByZW1vdmFibGUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjE0MAorbXNnaWQgIiIKKyIgLWEsIC0tYXV0byA8b258b2ZmPiAgICAgICAgIHR1cm4gYXV0by1lamVjdCBmZWF0dXJlIG9uIG9yIG9mZlxuIgorIiAtYywgLS1jaGFuZ2Vyc2xvdCA8c2xvdD4gICAgc3dpdGNoIGRpc2NzIG9uIGEgQ0QtUk9NIGNoYW5nZXJcbiIKKyIgLWQsIC0tZGVmYXVsdCAgICAgICAgICAgICAgIGRpc3BsYXkgZGVmYXVsdCBkZXZpY2VcbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIGVqZWN0IGZsb3BweVxuIgorIiAtRiwgLS1mb3JjZSAgICAgICAgICAgICAgICAgZG9uJ3QgY2FyZSBhYm91dCBkZXZpY2UgdHlwZVxuIgorIiAtaSwgLS1tYW51YWxlamVjdCA8b258b2ZmPiAgdG9nZ2xlIG1hbnVhbCBlamVjdCBwcm90ZWN0aW9uIG9uL29mZlxuIgorIiAtbSwgLS1uby11bm1vdW50ICAgICAgICAgICAgZG8gbm90IHVubW91bnQgZGV2aWNlIGV2ZW4gaWYgaXQgaXMgbW91bnRlZFxuIgorIiAtTSwgLS1uby1wYXJ0aXRpb25zLXVubW91bnQgZG8gbm90IHVubW91bnQgYW5vdGhlciBwYXJ0aXRpb25zXG4iCisiIC1uLCAtLW5vb3AgICAgICAgICAgICAgICAgICBkb24ndCBlamVjdCwganVzdCBzaG93IGRldmljZSBmb3VuZFxuIgorIiAtcCwgLS1wcm9jICAgICAgICAgICAgICAgICAgdXNlIC9wcm9jL21vdW50cyBpbnN0ZWFkIG9mIC9ldGMvbXRhYlxuIgorIiAtcSwgLS10YXBlICAgICAgICAgICAgICAgICAgZWplY3QgdGFwZVxuIgorIiAtciwgLS1jZHJvbSAgICAgICAgICAgICAgICAgZWplY3QgQ0QtUk9NXG4iCisiIC1zLCAtLXNjc2kgICAgICAgICAgICAgICAgICBlamVjdCBTQ1NJIGRldmljZVxuIgorIiAtdCwgLS10cmF5Y2xvc2UgICAgICAgICAgICAgY2xvc2UgdHJheVxuIgorIiAtVCwgLS10cmF5dG9nZ2xlICAgICAgICAgICAgdG9nZ2xlIHRyYXlcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIGVuYWJsZSB2ZXJib3NlIG91dHB1dFxuIgorIiAteCwgLS1jZHNwZWVkIDxzcGVlZD4gICAgICAgc2V0IENELVJPTSBtYXggc3BlZWRcbiIKKyIgLVgsIC0tbGlzdHNwZWVkICAgICAgICAgICAgIGxpc3QgQ0QtUk9NIGF2YWlsYWJsZSBzcGVlZHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNjQKK21zZ2lkICIiCisiXG4iCisiQnkgZGVmYXVsdCB0cmllcyAtciwgLXMsIC1mLCBhbmQgLXEgaW4gb3JkZXIgdW50aWwgc3VjY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTAKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2hhbmdlcnNsb3QvLWMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxNAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2RzcGVlZC8teCBvcHRpb24iCittc2dzdHIgImlkIHRpZGFrIHZhbGlkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMjYKK21zZ2lkICJDRC1ST00gYXV0by1lamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDAKKyMsIGZ1enp5Cittc2dpZCAiQ0QtUk9NIGRvb3IgbG9jayBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJQZXJpbmdhdGFuOiBwaWxpaGFuIHVudHVrIG5vbG9jayB0aWRhayBkaWxheWFuaS5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQyCittc2dpZCAib3RoZXIgdXNlcnMgaGF2ZSB0aGUgZHJpdmUgb3BlbiBhbmQgbm90IENBUF9TWVNfQURNSU4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQ0Cittc2dpZCAiQ0QtUk9NIGxvY2sgZG9vciBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDkKK21zZ2lkICJDRC1Ecml2ZSBtYXkgTk9UIGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM1MQorbXNnaWQgIkNELURyaXZlIG1heSBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjIKK21zZ2lkICJDRC1ST00gc2VsZWN0IGRpc2MgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY2Cittc2dpZCAiQ0QtUk9NIGxvYWQgZnJvbSBzbG90IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2OAorbXNnaWQgIklERS9BVEFQSSBDRC1ST00gY2hhbmdlciBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg2Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg4Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDA1CisjLCBmdXp6eQorbXNnaWQgIkNELVJPTSBlamVjdCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAia2VjZXBhdGFuICVkIHRpZGFrIGRpZHVrdW5nIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzMgc3lzLXV0aWxzL2VqZWN0LmM6NDU2IHN5cy11dGlscy9lamVjdC5jOjEwMTEKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM2Cittc2dpZCAibm8gQ0QtUk9NIGluZm9ybWF0aW9uIGF2YWlsYWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzkKK21zZ2lkICJDRC1ST00gZHJpdmUgaXMgbm90IHJlYWR5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4MgorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDg0IHN5cy11dGlscy9lamVjdC5jOjU3MAorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kaW5nIENELVJPTSBuYW1lIgorbXNnc3RyICIlczogZ2FnYWwgdW50dWsgbWVtYnVrYTogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgIiVzOiBnYWdhbCB1bnR1ayBtZW1idWthOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1NDQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgImdhZ2FsIHVudHVrIG1lbmRhcGF0a2FuIHN0YXRpc3RpazogJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU4OAorIywgZnV6enkKK21zZ2lkICJub3QgYW4gc2cgZGV2aWNlLCBvciBvbGQgc2cgZHJpdmVyIgorbXNnc3RyICJidWthbiBzZWJ1YWggcGVyYW5na2F0IGJsb2sgYXRhdSBiZXJrYXM6ICVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bm1vdW50aW5nIgorbXNnc3RyICJtb3VudCBnYWdhbCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZXhlYyAvYmluL3Vtb3VudCBvZiBgJXMnIgorbXNnc3RyICJnYWdhbCBtZW5qYWxhbmthbiAlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njc4CisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBmb3JrIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWthICVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgIm1vdW50OiB0aXRpayBtb3VudCAlcyB0aWRhayBhZGEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGZhaWxlZFxuIgorbXNnc3RyICIlczogbWVuZ3ViYWggbmFtYSAlcyBrZSAlcyBnYWdhbDogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzMwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3OTEgc3lzLXV0aWxzL2VqZWN0LmM6ODkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAiZnNjazogJXM6IHRpZGFrIGRpdGVtdWthblxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MzMKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byBhdXRvIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzNQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byAlbGRYIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg2MQorIywgYy1mb3JtYXQKK21zZ2lkICJkZWZhdWx0IGRldmljZTogYCVzJyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIGRlZmF1bHQgZGV2aWNlIGAlcyciCittc2dzdHIgIk1lbmdndW5ha2FuIG5pbGFpIGRlZmF1bHQgJXVcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg2IHN5cy11dGlscy9ydGN3YWtlLmM6Mzc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGZpbmQgZGV2aWNlIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZXJld2luZCBwZXJhbmdrYXQgc3dhcCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgbmFtZSBpcyBgJXMnIgorbXNnc3RyICJQZXJhbmdrYXQgbG9vcCBhZGFsYWggJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODk0IHN5cy11dGlscy91bW91bnQuYzoyMDYgc3lzLXV0aWxzL3Vtb3VudC5jOjIzNQorIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQwOSBzeXMtdXRpbHMvdW1vdW50LmM6NDMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG1vdW50ZWQiCittc2dzdHIgImZzY2s6ICVzOiB0aWRhayBkaXRlbXVrYW5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNjIGRldmljZTogJXMgKGRpc2sgZGV2aWNlIHdpbGwgYmUgdXNlZCBmb3IgZWplY3QpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIG1vdW50cG9pbnQgb3IgZGV2aWNlIHdpdGggdGhlIGdpdmVuIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgd2hvbGUtZGlzayBkZXZpY2UiCittc2dzdHIgIiVzOiBnYWdhbCB1bnR1ayBiZXJwaW5kYWgga2Ugb2ZzZXQgMHglangiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBob3QtcGx1Z2dhYmxlIGRldmljZSIKK21zZ3N0ciAiJXM6IGJ1a2FuIHNlYnVhaCBibG9jayBkZXZpY2VcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgaXMgYCVzJyIKK21zZ3N0ciAiUGVyYW5na2F0IGxvb3AgYWRhbGFoICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxOAorbXNnaWQgImV4aXRpbmcgZHVlIHRvIC1uLy0tbm9vcCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlbmFibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNhYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2luZyB0cmF5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9nZ2xpbmcgdHJheSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxpc3RpbmcgQ0QtUk9NIHNwZWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBkZXZpY2UgaW4gdXNlIgorbXNnc3RyICIlczogJXM6IHBlcmFuZ2thdCBzZWRhbmcgc2lidWsiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VsZWN0aW5nIENELVJPTSBkaXNjICMlbGQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIENELVJPTSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTAKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIFNDU0kgY29tbWFuZHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxNworIywgZnV6enkKK21zZ2lkICJTQ1NJIGVqZWN0IHN1Y2NlZWRlZCIKK21zZ3N0ciAiJXMgc3Vrc2VzLlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE4CisjLCBmdXp6eQorbXNnaWQgIlNDU0kgZWplY3QgZmFpbGVkIgorbXNnc3RyICJnYWdhbCBla3Nla3VzaSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIGZsb3BweSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjQKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNQorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgdGFwZSBvZmZsaW5lIGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMQorbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDMyCisjLCBmdXp6eQorbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiZ2FnYWwgbWVtYnVrYSBkaXJla3RvcmlcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzNgorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZWplY3QiCittc2dzdHIgImdhZ2FsIG1lbmphbGFua2FuICVzIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGVuYW1lPlxuIgorbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gcGVyYW5na2F0IC4uLlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODEKK21zZ2lkICJQcmVhbGxvY2F0ZSBzcGFjZSB0bywgb3IgZGVhbGxvY2F0ZSBzcGFjZSBmcm9tIGEgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODQKK21zZ2lkICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgcmVtb3ZlIGEgcmFuZ2UgZnJvbSB0aGUgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGlnLWhvbGVzICAgICAgZGV0ZWN0IHplcm9lcyBhbmQgcmVwbGFjZSB3aXRoIGhvbGVzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICB0aWRhayBtZW51bGlzIHNlYmVuYXJueWEga2UgZGlzayIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg2CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gICBsZW5ndGggZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iCittc2dzdHIgIiAgICAtQyMgW2F0YXUgLS1jeWxpbmRlcnMgI106c2V0IGp1bWxhaCBkYXJpIGN5bGluZGVycyB5YW5nIGRpZ3VuYWthbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg3CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1rZWVwLXNpemUgICAgICBtYWludGFpbiB0aGUgYXBwYXJlbnQgc2l6ZSBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgQ2V0YWsgdGFiZWwgcGFydGlzaSBkaSBsYXlhciBhdGF1IGtlIHNlYnVhaCBmaWxlIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODgKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgb2Zmc2V0IGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4OQorbXNnaWQgIiAtcCwgLS1wdW5jaC1ob2xlICAgICByZXBsYWNlIGEgcmFuZ2Ugd2l0aCBhIGhvbGUgKGltcGxpZXMgLW4pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkwCittc2dpZCAiIC16LCAtLXplcm8tcmFuZ2UgICAgIHplcm8gYW5kIGVuc3VyZSBhbGxvY2F0aW9uIG9mIGEgcmFuZ2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTI2CisjLCBmdXp6eQorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQ6IGtlZXAgc2l6ZSBtb2RlIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJtb2RlIGphZ2EgdWt1cmFuICgtbiBwaWxpaGFuKSB0aWRhayBkaWR1a3VuZyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEyNworIywgZnV6enkKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkIgorbXNnc3RyICIlczogZmFsbG9jYXRlIGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBmYWlsZWQiCittc2dzdHIgIiVzOiBnYWdhbCBtZW1idWthIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJWp1IGJ5dGVzKSBjb252ZXJ0ZWQgdG8gc3BhcnNlIGhvbGVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNDYgc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTE4CisjLCBmdXp6eQorbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZCIKK21zZ3N0ciAibmFtYSBiZXJrYXMgdGlkYWsgZGlzcGVzaWZpa2FzaWthbi4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTggc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2NAorbXNnaWQgImludmFsaWQgbGVuZ3RoIHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAibmlsYWkgcGFuamFuZyB5YW5nIGRpc3Blc2lmaWthc2lrYW4gdGlkYWsgdmFsaWQiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjIKK21zZ2lkICJubyBsZW5ndGggYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJwYW5qYW5nIGFyZ3VtZW4gdGlkYWsgZGlzcGVzaWZpa2FzaWthbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2NworbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAibmlsYWkgb2ZzZXQgeWFuZyBkaXNwZXNpZmlrYXNpa2FuIHRpZGFrIHZhbGlkIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxmaWxlPnw8ZGlyZWN0b3J5PiA8Y29tbWFuZD4gWzxhcmd1bWVudD4uLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlPnw8ZGlyZWN0b3J5PiAtYyA8Y29tbWFuZD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGUgZGVzY3JpcHRvciBudW1iZXI+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTkKKyMsIGZ1enp5Cittc2dpZCAiTWFuYWdlIGZpbGUgbG9ja3MgZnJvbSBzaGVsbCBzY3JpcHRzLlxuIgorbXNnc3RyICJsb2dpbjogdGlkYWsgYWRhIG1lbW9yeSB1bnR1ayBzaGVsbCBzY3JpcHQuXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYyCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGFyZWQgICAgICAgICAgICAgZ2V0IGEgc2hhcmVkIGxvY2tcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYzCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAgZ2V0IGFuIGV4Y2x1c2l2ZSBsb2NrIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIHJlbW92ZSBhIGxvY2tcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY1CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub25ibG9jayAgICAgICAgICAgZmFpbCByYXRoZXIgdGhhbiB3YWl0XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NgorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjcKK21zZ2lkICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxudW1iZXI+ICBleGl0IGNvZGUgYWZ0ZXIgY29uZmxpY3Qgb3IgdGltZW91dFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY4CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1jbG9zZSAgICAgICAgICAgICAgY2xvc2UgZmlsZSBkZXNjcmlwdG9yIGJlZm9yZSBydW5uaW5nIGNvbW1hbmRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjkKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gIHJ1biBhIHNpbmdsZSBjb21tYW5kIHN0cmluZyB0aHJvdWdoIHRoZSBzaGVsbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcwCisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAgZXhlY3V0ZSBjb21tYW5kIHdpdGhvdXQgZm9ya2luZ1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICBpbmNyZWFzZSB2ZXJib3NpdHlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBsb2NrIGZpbGUgJXMiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbWJ1a2EgZmlsZSAnJXMnIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IHZhbHVlIgorbXNnc3RyICJwaWxpaGFuIHRpZGFrIHZhbGlkIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDkKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBleGl0IGNvZGUiCittc2dzdHIgImlkIHRpZGFrIHZhbGlkIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMjgKK21zZ2lkICJ0aGUgLS1uby1mb3JrIGFuZCAtLWNsb3NlIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGNvbW1hbmQgYXJndW1lbnQiCittc2dzdHIgIiVzOiAlcyBtZW1idXR1aGthbiB0ZXBhdCBzZWJ1YWggYXJndW1lbnQgcGVyaW50YWhcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjU0CisjLCBmdXp6eQorbXNnaWQgImJhZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgInBlcmFuZ2thdCBibG9jayAiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NworIywgZnV6enkKK21zZ2lkICJyZXF1aXJlcyBmaWxlIGRlc2NyaXB0b3IsIGZpbGUgb3IgZGlyZWN0b3J5IgorbXNnc3RyICIlczogbWVtYnV0dWhrYW4gYmVya2FzIGRlc2tyaXBzaSwgYmVya2FzIGF0YXUgZGlyZWt0b3JpXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGxvY2siCittc2dzdHIgImdhZ2FsIHVudHVrIG1lbmRhcGF0a2FuIHN0YXRpc3RpazogJXMiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4OAorbXNnaWQgInRpbWVvdXQgd2hpbGUgd2FpdGluZyB0byBnZXQgbG9jayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXR0aW5nIGxvY2sgdG9vayAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICIlcyAgJS42ZiBkZXRpa1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAiRXJyb3IgbWVuamFsYW5rYW5cdCVzXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxtb3VudHBvaW50PlxuIgorbXNnc3RyICIiCisiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIDxuYW1hIGJlcmthcz5cbiIKKyJcbiIKKyJQaWxpaGFuOlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1MworbXNnaWQgIlN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbSAoZXh0My80LCBSZWlzZXJGUywgSkZTLCBYRlMpLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjU2CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mcmVlemUgICAgICBmcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiICB0ICAgICAgICAgIFViYWggdGlwZSBmaWxlc3lzdGVtIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1NworbXNnaWQgIiAtdSwgLS11bmZyZWV6ZSAgICB1bmZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExNgorbXNnaWQgIm5laXRoZXIgLS1mcmVlemUgb3IgLS11bmZyZWV6ZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJha2FyIGlub2RlIGJ1a2FuIHNlYnVhaCBkaXJla3RvcmkiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjE0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIiVzOiBnYWdhbCBtZW51bGlzIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIiVzOiBnYWdhbCBtZW51bGlzIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImFrYXIgaW5vZGUgYnVrYW4gc2VidWFoIGRpcmVrdG9yaSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogRklUUklNIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGdhZ2FsIG1lbnVsaXMiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgaGVyZSBpcyBhIHZlcnkgbGFyZ2UgbnVtYmVyLgorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCU8UFJJdTY0PiBieXRlcykgdHJpbW1lZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxOTEgc3lzLXV0aWxzL3N3YXBvbi5jOjcyOSBzeXMtdXRpbHMvdW1vdW50LmM6MzI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnQgcG9pbnQ+XG4iCittc2dzdHIgIiIKKyJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gPG5hbWEgYmVya2FzPlxuIgorIlxuIgorIlBpbGloYW46XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTQKK21zZ2lkICJEaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NworIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB0cmltIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIHRoYXQgYXJlIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU4Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgdGhlIG9mZnNldCBpbiBieXRlcyB0byBzdGFydCBkaXNjYXJkaW5nIGZyb21cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU5CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gZGlzY2FyZFxuIgorbXNnc3RyICIgICAgLUMjIFthdGF1IC0tY3lsaW5kZXJzICNdOnNldCBqdW1sYWggZGFyaSBjeWxpbmRlcnMgeWFuZyBkaWd1bmFrYW4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjAKK21zZ2lkICIgLW0sIC0tbWluaW11bSA8bnVtPiB0aGUgbWluaW11bSBleHRlbnQgbGVuZ3RoIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IG51bWJlciBvZiBkaXNjYXJkZWQgYnl0ZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMxNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWluaW11bSBleHRlbnQgbGVuZ3RoIgorbXNnc3RyICJnYWdhbCBtZW1iYWNhIGJlcmthcyBwZXdha3R1ICVzIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzI5CisjLCBmdXp6eQorbXNnaWQgIm5vIG1vdW50cG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICJuYW1hIGJlcmthcyB0aWRhayBkaXNwZXNpZmlrYXNpa2FuLiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjM0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZSBkaXNjYXJkIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJrZWNlcGF0YW4gJWQgdGlkYWsgZGlkdWt1bmciCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkFzc3VtaW5nIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gJXMgdGltZS5cbiIKK21zZ3N0ciAiRGlhc3Vtc2lrYW4gY2xvY2sgaGFyZHdhcmUgdGV0YXAgZGkgd2FrdHUgJXMuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ3IHN5cy11dGlscy9od2Nsb2NrLmM6MzM0Cittc2dpZCAiVVRDIgorbXNnc3RyICJVVEMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ3IHN5cy11dGlscy9od2Nsb2NrLmM6MzMzCittc2dpZCAibG9jYWwiCittc2dzdHIgImxva2FsIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMxOAorIywgZnV6enkKK21zZ2lkICIiCisiV2FybmluZzogdW5yZWNvZ25pemVkIHRoaXJkIGxpbmUgaW4gYWRqdGltZSBmaWxlXG4iCisiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKSIKK21zZ3N0ciAiJXM6IFBlcmluZ2F0YW46IHRpZGFrIGRpa2VuYWwgYmFyaXMga2V0aWdhIGRpIGFkanRpbWUgZmlsZVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMyNworIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGRyaWZ0IGFkanVzdG1lbnQgZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIlBlbnllc3VhaWFuIGRyaWZ0IHRlcmFraGlyIGRpbGFrdWthbiBwYWRhICVsZCBkZXRpayBzZXRlbGFoIDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBjYWxpYnJhdGlvbiBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiS2FsaWJyYXNpIHRlcmFraGlyIGRpbGFrdWthIGRpICVsZCBkZXRpayBzZXRlbGFoIDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGFyZHdhcmUgY2xvY2sgaXMgb24gJXMgdGltZVxuIgorbXNnc3RyICJIYXJkd2FyZSBjbG9jayBhZGFsYWggZGkgd2FrdHUgJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBmb3IgY2xvY2sgdGljay4uLlxuIgorbXNnc3RyICJNZW51bmdndSB1bnR1ayBjbG9jayB0aWNrLi4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnN5bmNocm9uaXphdGlvbiBmYWlsZWRcbiIKK21zZ3N0ciAiLi4uc2lua3JvbmlzYXNpIGdhZ2FsXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmdvdCBjbG9jayB0aWNrXG4iCittc2dzdHIgIi4uLmRpcGVyb2xlaCBjbG9jayB0aWNrXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDIyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdmFsdWVzIGluIGhhcmR3YXJlIGNsb2NrOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCittc2dzdHIgIk5pbGFpIHRpZGFrIHZhbGlkIGRpIGhhcmR3YXJlIGNsb2NrOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkh3IGNsb2NrIHRpbWUgOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICJIdyBjbG9jayB0aW1lIDogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBkZXRpayBzZWphayAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDY1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgcmVhZCBmcm9tIEhhcmR3YXJlIENsb2NrOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCittc2dzdHIgIldha3R1IHRlcmJhY2EgZGFyaSBIYXJkd2FyZSBDbG9jazogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIEhhcmR3YXJlIENsb2NrIHRvICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICJNZW5zZXQgSGFyZHdhcmUgQ2xvY2sgbWVuamFkaSAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBkZXRpayBzZW1lbmphayAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNsb2NrIG5vdCBjaGFuZ2VkIC0gdGVzdGluZyBvbmx5LlxuIgorbXNnc3RyICJDbG9jayB0aWRhayBkaXViYWggLSBoYW55YSBtZW5jb2JhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYwMworIywgYy1mb3JtYXQKK21zZ2lkICJzbGVlcGluZyB+JWQgdXNlY1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjE0CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUganVtcGVkIGJhY2t3YXJkICUuNmYgc2Vjb25kcyB0byAlbGQuJTA2bGQgLSByZXRhcmdldGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZC4lMDZsZCA8ICVsZC4lMDZsZCAoJS42ZilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciBwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVsZC4lMDZsZCBpcyBjbG9zZSBlbm91Z2ggdG8gJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyJTZXQgUlRDIHRvICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2bGQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODgKKyMsIGZ1enp5Cittc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIHJlZ2lzdGVycyBjb250YWluIHZhbHVlcyB0aGF0IGFyZSBlaXRoZXIgaW52YWxpZCAoZS5nLiA1MHRoIGRheSBvZiBtb250aCkgb3IgYmV5b25kIHRoZSByYW5nZSB3ZSBjYW4gaGFuZGxlIChlLmcuIFllYXIgMjA5NSkuIgorbXNnc3RyICJSZWdpc3RlciBIYXJkd2FyZSBDbG9jayBiZXJpc2kgbmlsYWkgeWFuZyB0aWRhayB2YWxpZCAoaGFyaSBrZSA1MCBkYXJpIGJ1bGFuKSBhdGF1IGRpbHVhciBkYXJpIGphbmdrYXVhbiB5YW5nIGRhcGF0IGtpdGEgdGFuZ2FuaSAoVGFodW4gMjA5NSkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzI4CisjLCBmdXp6eQorbXNnaWQgIk5vIC0tZGF0ZSBvcHRpb24gc3BlY2lmaWVkLiIKK21zZ3N0ciAiUGlsaWhhbiAtLWRhdGUgdGlkYWsgZGlzcGVzaWZpa2FzaWthbi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MzQKKyMsIGZ1enp5Cittc2dpZCAiLS1kYXRlIGFyZ3VtZW50IHRvbyBsb25nIgorbXNnc3RyICJhcmd1bWVuIC0tZGF0ZSB0ZXJsYWx1IHBhbmphbmdcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NDEKKyMsIGZ1enp5Cittc2dpZCAiIgorIlRoZSB2YWx1ZSBvZiB0aGUgLS1kYXRlIG9wdGlvbiBpcyBub3QgYSB2YWxpZCBkYXRlLlxuIgorIkluIHBhcnRpY3VsYXIsIGl0IGNvbnRhaW5zIHF1b3RhdGlvbiBtYXJrcy4iCittc2dzdHIgIiIKKyJOaWxhaSBkYXJpIHBpbGloYW4gLS1kYXRlIHRpZGFrIG1ldXBha2FuIHRhbmdnYWwgeWFuZyBzYWguXG4iCisiS2FkYW5nIGthbGEsIGl0dSBiZXJpc2kgdGFuZGEgcGV0aWsuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIklzc3VpbmcgZGF0ZSBjb21tYW5kOiAlc1xuIgorbXNnc3RyICJNZW5naXN1a2FuIHBlcmludGFoIGRhdGU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzUzCittc2dpZCAiVW5hYmxlIHRvIHJ1biAnZGF0ZScgcHJvZ3JhbSBpbiAvYmluL3NoIHNoZWxsLiBwb3BlbigpIGZhaWxlZCIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuamFsYW5rYW4gYXBsaWthc2kgJ2RhdGUnIGRpIHNoZWxsIC9iaW4vc2guIHBvcGVuKCkgZ2FnYWwiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzYxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlc3BvbnNlIGZyb20gZGF0ZSBjb21tYW5kID0gJXNcbiIKK21zZ3N0ciAicmVzcG9uIGRhcmkgcGVyaW50YWggZGF0ZSA9ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgdW5leHBlY3RlZCByZXN1bHRzLlxuIgorIlRoZSBjb21tYW5kIHdhczpcbiIKKyIgICVzXG4iCisiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyIgICVzIgorbXNnc3RyICIiCisiUGVyaW50YWggZGF0ZSBkaWJlcmlrYW4gb2xlaCAlcyBtZW1iZXJpa2FuIGhhc2lsIHlhbmcgdGlkYWsgZGlwZXJraXJha2FuLlxuIgorIlBlcmludGFoIGFkYWxhaDpcbiIKKyIgICVzXG4iCisiUmVzcG9uIGFkYWxhaDpcbiIKKyIgICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhbiBpbnRlZ2VyIHdoZXJlIHRoZSBjb252ZXJ0ZWQgdGltZSB2YWx1ZSB3YXMgZXhwZWN0ZWQuXG4iCisiVGhlIGNvbW1hbmQgd2FzOlxuIgorIiAgJXNcbiIKKyJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorIiAlc1xuIgorbXNnc3RyICIiCisiUGVyaW50YWggZGF0ZSBkaWJlcmlrYW4gb2xlaCAlcyBtZW1iZXJpa2FuIHNlc3VhdHUgc2VsYWluIGludGVnZXIgZGltYW5hIG5pbGFpIHdha3R1IHlhbmcgZGljb252ZXJ0IHNlcGVydGkgZGlwZXJraXJha2FuLlxuIgorIlBlcmludGFoIGFkYWxhaDpcbiIKKyIgICVzXG4iCisiICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzg2CisjLCBjLWZvcm1hdAorbXNnaWQgImRhdGUgc3RyaW5nICVzIGVxdWF0ZXMgdG8gJWxkIHNlY29uZHMgc2luY2UgMTk2OS5cbiIKK21zZ3N0ciAiZGF0ZSBzdHJpbmcgJXMgc2FtYSBkZW5nYW4gJWxkIGRldGlrIHNlbWVuamFrIDE5NjkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODI0CisjLCBmdXp6eQorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IHNldCB0aGUgU3lzdGVtIFRpbWUgZnJvbSBpdC4iCittc2dzdHIgIkhhcmR3YXJlIENsb2NrIHRpZGFrIGJlcmlzaSB3YWt0dSB5YW5nIHZhbGlkLCBqYWRpIGtpdGEgdGlkYWsgZGFwYXQgbWVuc2V0IFdha3R1IFN5c3RlbSBkYXJpIHdha3R1IGluaS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NDMgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXk6XG4iCittc2dzdHIgIk1lbWFuZ2dpbCBzZXR0aW1lb2ZkYXk6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQ0IHN5cy11dGlscy9od2Nsb2NrLmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCittc2dzdHIgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQ2IHN5cy11dGlscy9od2Nsb2NrLmM6OTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorbXNnc3RyICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTAgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgc3lzdGVtIGNsb2NrIGJlY2F1c2UgcnVubmluZyBpbiB0ZXN0IG1vZGUuXG4iCittc2dzdHIgIlRpZGFrIG1lbnNldCBzeXN0ZW0gY2xvY2sga2FyZW5hIGJlcmphbGFuIGRhbGFtIG1vZGUgdGVzdC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NjYgc3lzLXV0aWxzL2h3Y2xvY2suYzo5NjIKKyMsIGZ1enp5Cittc2dpZCAiTXVzdCBiZSBzdXBlcnVzZXIgdG8gc2V0IHN5c3RlbSBjbG9jay4iCittc2dzdHIgIkhhcnVzIG1lbmphZGkgc3VwZXJ1c2VyIHVudHVrIG1lbnNldCBzeXN0ZW0gY2xvY2suXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODY5IHN5cy11dGlscy9od2Nsb2NrLmM6OTY1Cittc2dpZCAic2V0dGltZW9mZGF5KCkgZmFpbGVkIgorbXNnc3RyICJzZXR0aW1lb2ZkYXkoKSBnYWdhbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3VycmVudCBzeXN0ZW0gdGltZTogJWxkID0gJXNcbiIKK21zZ3N0ciAiV2FrdHUgc2lzdGVtIHNla2FyYW5nOiAlbGQgPSAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzMQorIywgYy1mb3JtYXQKK21zZ2lkICJcdFVUQzogJXNcbiIKK21zZ3N0ciAiXHRVVEM6ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSAtLXVwZGF0ZS1kcmlmdCBvcHRpb24gd2FzIG5vdCB1c2VkLlxuIgorbXNnc3RyICJUaWRhayBtZW55ZXN1YWlrYW4gZmFrdG9yIGRyaWZ0IGthcmVuYSBDbG9jayBIYXJkd3JlIHNlYmVsdW1ueWEgYmVyaXNpIHNhbXBhaC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIEhhcmR3YXJlIENsb2NrIHByZXZpb3VzbHkgY29udGFpbmVkIGdhcmJhZ2UuXG4iCittc2dzdHIgIlRpZGFrIG1lbnllc3VhaWthbiBmYWt0b3IgZHJpZnQga2FyZW5hIENsb2NrIEhhcmR3cmUgc2ViZWx1bW55YSBiZXJpc2kgc2FtcGFoLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgbGFzdCBjYWxpYnJhdGlvbiB0aW1lIGlzIHplcm8sXG4iCisic28gaGlzdG9yeSBpcyBiYWQgYW5kIGNhbGlicmF0aW9uIHN0YXJ0b3ZlciBpcyBuZWNlc3NhcnkuXG4iCittc2dzdHIgIiIKKyJUaWRhayBtZW55ZXN1YWlrYW4gZmFrdG9yIGRyaWZ0IGthcmVuYSB3YWt0dSBrYWxpYnJhc2kgdGVyYWtoaXIgYWRhbGFoIG5vbCxcbiIKKyJqYWRpIGhpc3RvcnkgYnVydWsgZGFuIHBlbmd1bGFuZ2FuIGthbGlicmFzaSBkaXBlcmx1a2FuLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgaXQgaGFzIGJlZW4gbGVzcyB0aGFuIGZvdXIgaG91cnMgc2luY2UgdGhlIGxhc3QgY2FsaWJyYXRpb24uXG4iCittc2dzdHIgIlRpZGFrIG1lbnllc3VhaWthbiBmYWt0b3IgZHJpZnQga2FyZW5hIGluaSBsZWJpaCBrZWNpbCBkYXJpIGhhcmkgc2VtZW5qYWsgdGVyYWtoaXIgZGlrYWxpYnJhc2kuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnQgZmFjdG9yIHdhcyBjYWxjdWxhdGVkIGFzICVmIHNlY29uZHMvZGF5LlxuIgorIkl0IGlzIGZhciB0b28gbXVjaC4gUmVzZXR0aW5nIHRvIHplcm8uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnRlZCAlZiBzZWNvbmRzIGluIHRoZSBwYXN0ICVmIHNlY29uZHNcbiIKKyJpbiBzcGl0ZSBvZiBhIGRyaWZ0IGZhY3RvciBvZiAlZiBzZWNvbmRzL2RheS5cbiIKKyJBZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJ5ICVmIHNlY29uZHMvZGF5XG4iCittc2dzdHIgIiIKKyJDbG9jayBkaWdlc2VyICUuMWYgZGV0aWsgZGFyaSB3YWt0dSBzZWJlbHVtbnlhLCAlZCBkZXRpayAgZGFyaSBwYWRhIGZha3RvciBkcmlmdCAlZiBkZXRpay9oYXJpLlxuIgorIm1lbnllc3VhaWthbiBmYWt0b3IgZHJpZnQgc2ViZXNhciAlZiBkZXRpay9oYXJpLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVkIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlZCBzZWNvbmRzXG4iCittc2dzdHJbMF0gIldha3R1IHNlbWVuamFrIHBlbnllc3VhaWFuIHRlcmFraGlyIGFkYWxhaCAlZCBkZXRpa1xuIgorbXNnc3RyWzFdICJXYWt0dSBzZW1lbmphayBwZW55ZXN1YWlhbiB0ZXJha2hpciBhZGFsYWggJWQgZGV0aWtcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYWxjdWxhdGVkIEhhcmR3YXJlIENsb2NrIGRyaWZ0IGlzICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiVzICAlLjZmIGRldGlrXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEzMworIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgdXBkYXRpbmcgYWRqdGltZSBmaWxlIGJlY2F1c2Ugb2YgdGVzdGluZyBtb2RlLlxuIgorbXNnc3RyICJUaWRhayBtZW5nLXVwZGF0ZSBhZGp0aW1lIGZpbGUga2FyZW4gZGFsYW0gbW9kZSB0ZXN0aW5nLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldvdWxkIGhhdmUgd3JpdHRlbiB0aGUgZm9sbG93aW5nIHRvICVzOlxuIgorIiVzIgorbXNnc3RyICIiCisiSW5naW5rYWggYW5kYSBtZW51bGlzIGJlcmlrdXQgaW5pIGtlICVzOlxuIgorIiVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgaW4gaXQgKCVzKSBmb3Igd3JpdGluZyIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYnVrYSBiZXJrYXMgZGVuZ2FuIHBhcmFtZXRlciBwZW55ZXN1YWlhbiBqYW0gZGlkYWxhbW55YSAoJXMpIHVudHVrIGRpdHVsaXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE0OSBzeXMtdXRpbHMvaHdjbG9jay5jOjExNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHVwZGF0ZSBmaWxlIHdpdGggdGhlIGNsb2NrIGFkanVzdG1lbnQgcGFyYW1ldGVycyAoJXMpIGluIGl0IgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW1wZXJiYXJ1aSBiZXJrYXMgZGVuZ2FuIHBhcmFtZXRlciBwZW55ZXN1YWlhbiBqYW0gKCVzKSBkaWRhbGFtbnlhIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNjQKKyMsIGZ1enp5Cittc2dpZCAiRHJpZnQgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIG5vdCB1cGRhdGVkLiIKK21zZ3N0ciAiUGFyYW1ldGVyIGFkanVzbWVudCBkcmlmdCB0aWRhayBkaSB1cGRhdGUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIwMAorIywgZnV6enkKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBhZGp1c3QgaXQuIgorbXNnc3RyICJDbG9jayBoYXJkd2FyZSB0aWRhayBiZXJpc2kgd2FrdHUgeWFuZyB2YWxpZCwgamFkaSBraXRhIHRpZGFrIGJpc2EgbWVtYmV0dWxrYW5ueWEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBsYXN0IGFkanVzdG1lbnQgdGltZSBpcyB6ZXJvLCBzbyBoaXN0b3J5IGlzIGJhZC5cbiIKK21zZ3N0ciAiVGlkYWsgbWVueWVzdWFpa2FuIGphbSBrYXJlbmEgd2FrdHUga2FsaWJyYXNpIHRlcmFraGlyIGFkYWxhaCBub2wsIGphZGkgc2VqYXJhaCBidXJ1ay4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBkcmlmdCBmYWN0b3IgJWYgaXMgZmFyIHRvbyBoaWdoLlxuIgorbXNnc3RyICJUaWRhayBtZW55ZXN1YWlrYW4gamFtIGthcmVuYSB3YWt0dSBrYWxpYnJhc2kgdGVyYWtoaXIgYWRhbGFoIG5vbCwgamFkaSBzZWphcmFoIGJ1cnVrLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHVzYWJsZSBjbG9jayBpbnRlcmZhY2UgZm91bmQuXG4iCittc2dzdHIgIlRpZGFrIGRpdGVtdWthbiBhbnRhcm11a2EgY2xvY2sgeWFuZyBiZXJndW5hLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmVlZGVkIGFkanVzdG1lbnQgaXMgbGVzcyB0aGFuIG9uZSBzZWNvbmQsIHNvIG5vdCBzZXR0aW5nIGNsb2NrLlxuIgorbXNnc3RyICJQZW55ZXN1YWlhbiB5YW5nIGRpYnV0dWhrYW4gbXVuZ2tpbiBsZWJpaCBrZWNpbCBkYXJpIHNhdHUgZGV0aWssIGphZGkgdGlkYWsgbWVuc2V0IGNsb2NrLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzODggc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBzZXQgc3lzdGVtIGNsb2NrLlxuIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW5zZXQgc3lzdGVtIGNsb2NrLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OSwgUlRDIGlzIHByZWRpY3RlZCB0byByZWFkICVsZCBzZWNvbmRzIGFmdGVyIDE5NjkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDMxCisjLCBmdXp6eQorbXNnaWQgIiIKKyJUaGUga2VybmVsIGtlZXBzIGFuIGVwb2NoIHZhbHVlIGZvciB0aGUgSGFyZHdhcmUgQ2xvY2sgb25seSBvbiBhbiBBbHBoYSBtYWNoaW5lLlxuIgorIlRoaXMgY29weSBvZiBod2Nsb2NrIHdhcyBidWlsdCBmb3IgYSBtYWNoaW5lIG90aGVyIHRoYW4gQWxwaGFcbiIKKyIoYW5kIHRodXMgaXMgcHJlc3VtYWJseSBub3QgcnVubmluZyBvbiBhbiBBbHBoYSBub3cpLiAgTm8gYWN0aW9uIHRha2VuLiIKK21zZ3N0ciAiIgorIktlcm5lbCBtZW55aW1wYW4gbmlsYWkgZXBvY2ggZGFyaSBIYXJkd2FyZSBjbG9jayBoYW55YSBkaSBzZWJ1YWggbWVzaW4gQWxwaGEgU2FsaW5hbiBkYXJpIGh3Y2xvY2sgaW5pIHRlbGFoIGRpYnVhdCB1bnR1ayBtZXNpbiBzZWxhaW4gQWxwaGFcbiIKKyIoZGFuIGphZGkgZGlhc3Vtc2lrYW4gc2FhdCBpbmkgdGlkYWsgYmVyamFsYW4gZGkgQWxwaGEpLlxuIgorIlRpZGFrIGFkYSBha3NpIHlhbmcgZGlsYWt1a2FuLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NDgKKyMsIGZ1enp5Cittc2dpZCAiVW5hYmxlIHRvIGdldCB0aGUgZXBvY2ggdmFsdWUgZnJvbSB0aGUga2VybmVsLiIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtcGVyb2xlaCBuaWxhaSBlcG9jaCBkYXJpIGtlcm5lbC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIktlcm5lbCBpcyBhc3N1bWluZyBhbiBlcG9jaCB2YWx1ZSBvZiAlbHVcbiIKK21zZ3N0ciAiS2VybmVsIG1lbmdhc3Vtc2lrYW4gbWVuZ2d1bmFrYW4gbmlsYWkgZXBvY2ggZGFyaSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDU1CisjLCBmdXp6eQorbXNnaWQgIlRvIHNldCB0aGUgZXBvY2ggdmFsdWUsIHlvdSBtdXN0IHVzZSB0aGUgJ2Vwb2NoJyBvcHRpb24gdG8gdGVsbCB0byB3aGF0IHZhbHVlIHRvIHNldCBpdC4iCittc2dzdHIgIlVudHVrIG1lbnNldCBuaWxhaSBlcG9jaCwgYW5kYSBoYXJ1cyBtZW5nZ3VuYWthbiBwaWxpaGFuICdlcG9jaCcgdW50dWsgbWVtYmVyaXRhaHVrYW4gbmlsYWkgdW50dWsgbWVuc2V0bnlhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIHRoZSBlcG9jaCB0byAlbHUgLSB0ZXN0aW5nIG9ubHkuXG4iCittc2dzdHIgIlRpZGFrIG1lbnNldCBlcG9jaCBrZSAlZCAtIG1hc2loIGRhbGFtIHBlbmdldGVzYW4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLlxuIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW5zZXQgbmlsYWkgZXBvY2ggZGFsYW0ga2VybmVsLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NTYKK21zZ2lkICIgaHdjbG9jayBbZnVuY3Rpb25dIFtvcHRpb24uLi5dXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTU5Cittc2dpZCAiUXVlcnkgb3Igc2V0IHRoZSBoYXJkd2FyZSBjbG9jay5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjEKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkZ1bmN0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBpbGloYW46XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2MgorbXNnaWQgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorIiAtciwgLS1zaG93ICAgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCByZXN1bHRcbiIKKyIgICAgIC0tZ2V0ICAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgZHJpZnQgY29ycmVjdGVkIHJlc3VsdFxuIgorIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2NgorbXNnaWQgIiIKKyIgLXMsIC0taGN0b3N5cyAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorIiAtdywgLS1zeXN0b2hjICAgICAgICBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIGZyb20gdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWVcbiIKKyIgICAgIC0tc3lzdHogICAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBiYXNlZCBvbiB0aGUgY3VycmVudCB0aW1lem9uZVxuIgorIiAgICAgLS1hZGp1c3QgICAgICAgICBhZGp1c3QgdGhlIFJUQyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IHNpbmNlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNsb2NrIHdhcyBsYXN0IHNldCBvciBhZGp1c3RlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU3MQorbXNnaWQgIiAtYywgLS1jb21wYXJlICAgICAgICBwZXJpb2RpY2FsbHkgY29tcGFyZSB0aGUgc3lzdGVtIGNsb2NrIHdpdGggdGhlIENNT1MgY2xvY2tcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NzMKK21zZ2lkICIiCisiICAgICAtLWdldGVwb2NoICAgICAgIHByaW50IG91dCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWVcbiIKKyIgICAgIC0tc2V0ZXBvY2ggICAgICAgc2V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZSB0byB0aGUgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgZ2l2ZW4gd2l0aCAtLWVwb2NoXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTc3Cittc2dpZCAiIgorIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IFJUQyByZWFkaW5nIGF0IHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTgxCittc2dpZCAiIgorIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyIgICAgIC0tbG9jYWx0aW1lICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4NAorbXNnaWQgIiAtZiwgLS1ydGMgPGZpbGU+ICAgICBzcGVjaWFsIC9kZXYvLi4uIGZpbGUgdG8gdXNlIGluc3RlYWQgb2YgZGVmYXVsdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLWRpcmVjdGlzYSAgICAgIGFjY2VzcyB0aGUgSVNBIGJ1cyBkaXJlY3RseSBpbnN0ZWFkIG9mICVzXG4iCisiICAgICAtLWJhZHllYXIgICAgICAgIGlnbm9yZSBSVEMncyB5ZWFyIGJlY2F1c2UgdGhlIEJJT1MgaXMgYnJva2VuXG4iCisiICAgICAtLWRhdGUgPHRpbWU+ICAgIHNwZWNpZmllcyB0aGUgdGltZSB0byB3aGljaCB0byBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisiICAgICAtLWVwb2NoIDx5ZWFyPiAgIHNwZWNpZmllcyB0aGUgeWVhciB3aGljaCBpcyB0aGUgYmVnaW5uaW5nIG9mIHRoZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIGNsb2NrJ3MgZXBvY2ggdmFsdWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS11cGRhdGUtZHJpZnQgICB1cGRhdGUgZHJpZnQgZmFjdG9yIGluICUxJHMgKHJlcXVpcmVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgLS1zZXQgb3IgLS1zeXN0b2hjKVxuIgorIiAgICAgLS1ub2FkamZpbGUgICAgICBkbyBub3QgYWNjZXNzICUxJHM7IHRoaXMgcmVxdWlyZXMgdGhlIHVzZSBvZlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZVxuIgorIiAgICAgLS1hZGpmaWxlIDxmaWxlPiBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICUxJHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1OTkKK21zZ2lkICIiCisiICAgICAtLXRlc3QgICAgICAgICAgIGRvIG5vdCB1cGRhdGUgYW55dGhpbmcsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGhhcHBlblxuIgorIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBkZWJ1Z2dpbmcgbW9kZVxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTYwMgorIywgZnV6enkKK21zZ2lkICIiCisiIC1KfC0tamVuc2VuLCAtQXwtLWFyYywgLVN8LS1zcm0sIC1GfC0tZnVua3ktdG95XG4iCisiICAgICAgdGVsbCBod2Nsb2NrIHRoZSB0eXBlIG9mIEFscGhhIHlvdSBoYXZlIChzZWUgaHdjbG9jayg4KSlcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAgLUp8LS1qZW5zZW4sIC1BfC0tYXJjLCAtQXwtLXNybSwgLUZ8LS1mdW5reS10b3lcbiIKKyIgICAgICAgYmVyaXRhaHUgaHdjbG9jayB0aXBlIGRhcmkgYWxwaGEgeWFuZyBhbmRhIG1pbGlraSAobGloYXQgaHdjbG9jayAoOCkpXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTcyOAorIywgZnV6enkKK21zZ2lkICJVbmFibGUgdG8gY29ubmVjdCB0byBhdWRpdCBzeXN0ZW0iCittc2dzdHIgIiVzOiBUaWRhayBkYXBhdCBtZW5naHVidW5naSBrZSBzaXN0ZW0gYXVkaXRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODI2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZXBvY2ggYXJndW1lbnQiCittc2dzdHIgInBpbGloYW4gdGlkYWsgdmFsaWQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTg3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB0YWtlcyBubyBub24tb3B0aW9uIGFyZ3VtZW50cy4gIFlvdSBzdXBwbGllZCAlZC5cbiIKK21zZ3N0ciAiJXMgdGlkYWsgbWVtYnV0dWhrYW4gYXJndW1lbnQuIEFuZGEgbWVtYmVyaWthbiAlZC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODgwCisjLCBmdXp6eQorbXNnaWQgIldpdGggLS1ub2FkamZpbGUsIHlvdSBtdXN0IHNwZWNpZnkgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lIgorbXNnc3RyICIlczogRGVuZ2FuIC0tbm9hZGpmaWxlLCBhbmRhIGhhcnVzIG1lbnNwZXNpZmlrYXNpIGJhaWsgLS11dGMgYXRhdSAtLWxvY2FsdGltZVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4OTMKKyMsIGZ1enp5Cittc2dpZCAiTm8gdXNhYmxlIHNldC10byB0aW1lLiAgQ2Fubm90IHNldCBjbG9jay4iCittc2dzdHIgIlRpZGFrIGFkYSBzZXQtdG8gdGltZSB5YW5nIGJlcmd1bmEuIFRpZGFrIGRhcGF0IG1lbnNldCBjbG9jay5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxOTE3CisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBhY2Nlc3MgdGhlIEhhcmR3YXJlIENsb2NrIHZpYSBhbnkga25vd24gbWV0aG9kLiIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuZ2Frc2VzIEhhcmR3YXJlIENsb2NrIG1lbGFsdWkgc2VtdWEgbWV0b2RlIHlhbmcgZGlrZXRhaHVpLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE5MjAKKyMsIGZ1enp5Cittc2dpZCAiVXNlIHRoZSAtLWRlYnVnIG9wdGlvbiB0byBzZWUgdGhlIGRldGFpbHMgb2Ygb3VyIHNlYXJjaCBmb3IgYW4gYWNjZXNzIG1ldGhvZC4iCittc2dzdHIgIkd1bmFrYW4gcGlsaWhhbiAtLWRlYnVnIHVudHVrIG1lbGloYXQgZGV0YWlsIGRhcmkgcGVuY2FyaWFuIGtpdGEgdW50dWsgc2VidWFoIG1ldG9kZSBha3Nlcy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjIyMworIywgYy1mb3JtYXQKK21zZ2lkICJib290ZWQgZnJvbSBNSUxPXG4iCittc2dzdHIgImRpYm9vdCBkYXJpIE1JTE9cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJSdWZmaWFuIEJDRCBjbG9ja1xuIgorbXNnc3RyICJSdWZmaWFuIEJDRCBjbG9ja1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb2NrcG9ydCBhZGp1c3RlZCB0byAweCV4XG4iCittc2dzdHIgImNsb2NrcG9ydCBkaXNldCBrZSAweCV4XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnVua3kgVE9ZIVxuIgorbXNnc3RyICJmdW5reSBUT1khXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImF0b21pYyAlcyBmYWlsZWQgZm9yIDEwMDAgaXRlcmF0aW9ucyEiCittc2dzdHIgIiVzOiBhdG9taWMgJXMgZ2FnYWwgdW50dWsgMTAwMCBpdGVyYXNpISIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjMyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY21vc19yZWFkKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgImNtb3NfcmVhZCgpOiBwZW51bGlzYW4ga2UgYWxhbWF0IGtvbnRyb2wgJVggZ2FnYWw6ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNtb3NfcmVhZCgpOiByZWFkIGZyb20gZGF0YSBhZGRyZXNzICVYIGZhaWxlZCIKK21zZ3N0ciAiY21vc19yZWFkKCk6IHBlbnVsaXNhbiBrZSBhbGFtYXQgZGF0YSAlWCBnYWdhbDogJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICJjbW9zX3dyaXRlKCk6IHBlbnVsaXNhbiBrZSBhbGFtYXQga29udHJvbCAlWCBnYWdhbDogJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICJjbW9zX3dyaXRlKCk6IHBlbnVsaXNhbiBrZSBhbGFtYXQgZGF0YSAlWCBnYWdhbDogJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY0NQorIywgZnV6enkKK21zZ2lkICJJIGZhaWxlZCB0byBnZXQgcGVybWlzc2lvbiBiZWNhdXNlIEkgZGlkbid0IHRyeS4iCittc2dzdHIgIlNheWEgZ2FnYWwgbWVtcGVyb2xlaCBpamluIGthcmVuIFNheWEgdGlkYWsgbWVuY29iYW55YS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY0OAorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZ2V0IEkvTyBwb3J0IGFjY2VzczogIHRoZSBpb3BsKDMpIGNhbGwgZmFpbGVkLiIKK21zZ3N0ciAiJXMgdGlkYWsgZGFwYXQgbWVtcGVyb2xlaCBpamluIEkvTyBwb3J0IGFrc2VzOiBpb3BsKDMpIHBhbmdnaWxhbiBnYWdhbC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY1MQorbXNnaWQgIlByb2JhYmx5IHlvdSBuZWVkIHJvb3QgcHJpdmlsZWdlcy5cbiIKK21zZ3N0ciAiTXVuZ2tpbiBhbmRhIGJ1dHVrIGtld2VuYW5nYW4gcm9vdC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY1OAorbXNnaWQgIlVzaW5nIGRpcmVjdCBJL08gaW5zdHJ1Y3Rpb25zIHRvIElTQSBjbG9jay4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gcmVhZCB0aGUgdGltZSBmYWlsZWQiCittc2dzdHIgImlvY3RsKCkgdW50dWsgJXMgdW50dWsgbWVtYmFjYSB3YWt0dSBnYWdhbC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tICVzIHRvIGNoYW5nZVxuIgorbXNnc3RyICJNZW51bmdndSBkYWxhbSBsb29wIHVudHVrIHdha3R1IGRhcmkgJXMgdW50dWsgcGVydWJhaGFuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIzNgorIywgZnV6enkKK21zZ2lkICJUaW1lZCBvdXQgd2FpdGluZyBmb3IgdGltZSBjaGFuZ2UuIgorbXNnc3RyICJXYWt0dSBoYWJpcyBtZW51bmdndSB1bnR1ayBwZXJ1YmFoYW4gd2FrdHUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBoYXZlIGludGVycnVwdCBmdW5jdGlvbnMuICIKK21zZ3N0ciAiJXMgdGlkYWsgbWVtaWxpa2kgZnVuZ3NpIGludGVydXBzaS4gIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCittc2dzdHIgInNlbGVjdCgpIHVudHVrICVzIHVudHVrIG1lbnVuZ2d1IGNsb2NrIHRpY2sgZ2FnYWwiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayB0aW1lZCBvdXQiCittc2dzdHIgInNlbGVjdCgpIHVudHVrICVzIHdha3R1IGhhYmlzIHVudHVrIG1lbnVuZ2d1IGNsb2NrIHRpY2tcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvZmYgdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIgorbXNnc3RyICJpb2N0bCgpIHVudHVrICVzIHVudHVrIG1lbWF0aWthbiBpbnRlcnVwc2kgdXBkYXRlIGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9uIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCB1bmV4cGVjdGVkbHkiCittc2dzdHIgImlvY3RsKCkgdW50dWsgJXMgdW50dWsgbWVueWFsYWthbiB1cGRhdGUgaW50ZXJ1cHNpIGdhZ2FsIHNlY2FyYSB0aWRhayB0ZXJkdWdhIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byBzZXQgdGhlIHRpbWUgZmFpbGVkLiIKK21zZ3N0ciAiaW9jdGwoKSB1bnR1ayAlcyB1bnR1ayBtZW5zZXQgd2FrdHUgZ2FnYWwuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgd2FzIHN1Y2Nlc3NmdWwuXG4iCittc2dzdHIgImlvY3RsKCVzKSBiZXJoYXNpbC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mzg3Cittc2dpZCAiVXNpbmcgdGhlIC9kZXYgaW50ZXJmYWNlIHRvIHRoZSBjbG9jay4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDE3IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVG8gbWFuaXB1bGF0ZSB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbCwgd2UgbXVzdCBhY2Nlc3MgdGhlIExpbnV4ICdydGMnIGRldmljZSBkcml2ZXIgdmlhIHRoZSBkZXZpY2Ugc3BlY2lhbCBmaWxlICVzLiAgVGhpcyBmaWxlIGRvZXMgbm90IGV4aXN0IG9uIHRoaXMgc3lzdGVtLiIKK21zZ3N0ciAiVW50dWsgbWVtYW5pcHVsYXNpIG5pbGFpIGVwb2NoIGRhbGFtIGtlcm5lbCwga2l0YSBoYXJ1cyBtZW5nYWtzZXMgTGludXggJ3J0YycgZGV2aWNlIGRyaXZlciBtZWxhbHVpIGZpbGUgc3Blc2lhbCAlcy4gRmlsZSBpbmkgbXVuZ2tpbiB0aWRhayBhZGEgZGkgc3lzdGVtIGluaS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDI5CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSB0byAlcyBmYWlsZWQiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSB1bnR1ayAlcyBnYWdhbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3ZSBoYXZlIHJlYWQgZXBvY2ggJWx1IGZyb20gJXMgd2l0aCBSVENfRVBPQ0hfUkVBRCBpb2N0bC5cbiIKK21zZ3N0ciAia2l0YSB0ZWxhaCBtZW1iYWNhIGVwb2NoICVsZCBkYXJpICVzIGRlbmdhbiBSVENfRVBPQ0hfUkVBRCBpb2N0bC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgZXBvY2ggdmFsdWUgbWF5IG5vdCBiZSBsZXNzIHRoYW4gMTkwMC4gIFlvdSByZXF1ZXN0ZWQgJWxkIgorbXNnc3RyICJOaWxhaSBlcG9jaCBtdW5na2luIHRpZGFrIGt1cmFuZyBkYXJpIDE5MDAuIEFuZGEgbWVtaW50YSAlbGRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIGVwb2NoIHRvICVsdSB3aXRoIFJUQ19FUE9DSF9TRVQgaW9jdGwgdG8gJXMuXG4iCittc2dzdHIgIk1lbnNldCBlcG9jaCBtZW5qYWRpICVsZCBkZW5nYW4gUlRDX0VQT0NIX1NFVCBpb2N0bCBtZW5qYWRpICVzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBrZXJuZWwgZGV2aWNlIGRyaXZlciBmb3IgJXMgZG9lcyBub3QgaGF2ZSB0aGUgUlRDX0VQT0NIX1NFVCBpb2N0bC4iCittc2dzdHIgIktlcm5lbCBkZXZpY2UgZHJpdmVyIHVudHVrICVzIHRpZGFrIG1lbWlsaWtpIGlvY3RsIFJUQ19FUE9DSF9TRVQuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bChSVENfRVBPQ0hfU0VUKSB0byAlcyBmYWlsZWQiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9TRVQpIGtlICVzIGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo2OQorbXNnaWQgIkNyZWF0ZSB2YXJpb3VzIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzIKK21zZ2lkICIgLU0sIC0tc2htZW0gPHNpemU+ICAgICAgIGNyZWF0ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgb2Ygc2l6ZSA8c2l6ZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MworbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUgPG51bWJlcj4gY3JlYXRlIHNlbWFwaG9yZSBhcnJheSB3aXRoIDxudW1iZXI+IGVsZW1lbnRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzQKKyMsIGZ1enp5Cittc2dpZCAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICBjcmVhdGUgbWVzc2FnZSBxdWV1ZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzUKK21zZ2lkICIgLXAsIC0tbW9kZSA8bW9kZT4gICAgICAgIHBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZSAoZGVmYXVsdCBpcyAwNjQ0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExMCBzeXMtdXRpbHMvbG9zZXR1cC5jOjY5NyBzeXMtdXRpbHMvenJhbWN0bC5jOjYyMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVsZW1lbnRzIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MQorbXNnaWQgImNyZWF0ZSBzaGFyZSBtZW1vcnkgZmFpbGVkIgorbXNnc3RyICJwZW1idWF0YW4gbWVtb3JpIHRlcmJhZ2kgZ2FnYWwiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MworIywgYy1mb3JtYXQKK21zZ2lkICJTaGFyZWQgbWVtb3J5IGlkOiAlZFxuIgorbXNnc3RyICJJZGVudGl0YXMgbWVtb3JpIHRlcmJhZ2k6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0OQorbXNnaWQgImNyZWF0ZSBtZXNzYWdlIHF1ZXVlIGZhaWxlZCIKK21zZ3N0ciAicGVtYnVhdGFuIGF0cmlhbiBwZXNhbiBnYWdhbCIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgcXVldWUgaWQ6ICVkXG4iCittc2dzdHIgIklkZW50aXRhcyBhbnRyaWFuIHBlc2FuOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTcKK21zZ2lkICJjcmVhdGUgc2VtYXBob3JlIGZhaWxlZCIKK21zZ3N0ciAicGVtYnVhdGFuIHNlbWFwaG9yIGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VtYXBob3JlIGlkOiAlZFxuIgorbXNnc3RyICJJZGVudGl0YXMgc2VtYXBob3I6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPGlkPi4uLlxuIgorbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gcGVyYW5na2F0IC4uLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1NAorbXNnaWQgIlJlbW92ZSBjZXJ0YWluIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTcKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLXNobWVtLWlkIDxpZD4gICAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkgaWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIkJhZ2lhbiBtZW1vcnkgc2hhcmUgc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTgKK21zZ2lkICIgLU0sIC0tc2htZW0ta2V5IDxrZXk+ICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBrZXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OQorbXNnaWQgIiAtcSwgLS1xdWV1ZS1pZCA8aWQ+ICAgICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYwCittc2dpZCAiIC1RLCAtLXF1ZXVlLWtleSA8a2V5PiAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGtleVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYxCittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8aWQ+ICAgIHJlbW92ZSBzZW1hcGhvcmUgYnkgaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MgorbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUta2V5IDxrZXk+ICByZW1vdmUgc2VtYXBob3JlIGJ5IGtleVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYzCittc2dpZCAiIC1hLCAtLWFsbFs9c2htfG1zZ3xzZW1dICAgIHJlbW92ZSBhbGwgKGluIHRoZSBzcGVjaWZpZWQgY2F0ZWdvcnkpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgaWQgYCVkJ1xuIgorbXNnc3RyICIiCisiXG4iCisiQmFnaWFuIG1lbW9yeSBzaGFyZSBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVtb3ZpbmcgbWVzc2FnZSBxdWV1ZSBpZCBgJWQnXG4iCittc2dzdHIgIklkZW50aXRhcyBhbnRyaWFuIHBlc2FuOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVtb3Zpbmcgc2VtYXBob3JlIGlkIGAlZCdcbiIKK21zZ3N0ciAiSWRlbnRpdGFzIHNlbWFwaG9yOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDggc3lzLXV0aWxzL2lwY3JtLmM6MjIyCittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGtleSIKK21zZ3N0ciAiaWppbiBkaXRvbGFrIHVudHVrIGt1bmNpIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDgKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3IgaWQiCittc2dzdHIgImlqaW4gZGl0b2xhayB1bnR1ayBpZCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExIHN5cy11dGlscy9pcGNybS5jOjIyOAorbXNnaWQgImludmFsaWQga2V5IgorbXNnc3RyICJrdW5jaSB0aWRhayB2YWxpZCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExCittc2dpZCAiaW52YWxpZCBpZCIKK21zZ3N0ciAiaWQgdGlkYWsgdmFsaWQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNCBzeXMtdXRpbHMvaXBjcm0uYzoyMjUKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQga2V5IgorbXNnc3RyICJrdW5jaSBzdWRhaCBkaWhhcHVzIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQgaWQiCittc2dzdHIgImlkIHN1ZGFoIGRpaGFwdXMiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNyBzeXMtdXRpbHMvaXBjcm0uYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAia2V5IGZhaWxlZCIKK21zZ3N0ciAiZ2FnYWwgc2VlayIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgImlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgZ2FnYWwiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZDogJXMiCittc2dzdHIgImlkIHRpZGFrIHZhbGlkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzb3VyY2UocykgZGVsZXRlZFxuIgorbXNnc3RyICJyZXNvdXJjZShzKSBkaWhhcHVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjIwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBrZXkgKCVzKSIKK21zZ3N0ciAiJXM6IGt1bmNpIGlsbGVnYWwgKCVzKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNTYKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICJrZXJuZWwgdGlkYWsgZGlrb25maWd1cmFzdSB1bnR1ayBzaGFyZWQgbWVtb3J5XG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI2OQorIywgZnV6enkKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXMiCittc2dzdHIgImtlcm5lbCB0aWRhayBkaWtvbmZpZ3VyYXNpa2FuIHVudHVrIHNlbWFwaG9yZXNcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjkwCisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgImtlcm5lbCB0aWRhayBkaWtvbmZpZ3VyYXNpa2FuIHVudHVrIG1lc3NhZ2UgcXVldWVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtyZXNvdXJjZS1vcHRpb24uLi5dIFtvdXRwdXQtb3B0aW9uXVxuIgorIiAlMSRzIC1tfC1xfC1zIC1pIDxpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU2IHN5cy11dGlscy9sc2lwYy5jOjI4MAorIywgZnV6enkKK21zZ2lkICJTaG93IGluZm9ybWF0aW9uIG9uIElQQyBmYWNpbGl0aWVzLlxuIgorbXNnc3RyICIlcyBtZW1iZXJpa2FuIGluZm9ybWFzaSBkaSBmYXNpbGl0YXMgaXBjIGRpbWFuYSBhbmRhIG1lbWlsaWtpIGlqaW4gdW50dWsgbWVtYmFjYS5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiLWkgaWQgWy1zIC1xIC1tXSA6IGRldGFpbCBkaSByZXNvdXJjZSB5YW5nIGRpIGlkZW50aWZpa2FzaSBvbGVoIGlkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQgc3lzLXV0aWxzL2xzaXBjLmM6MjgzCisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIG9wdGlvbnM6XG4iCittc2dzdHIgInBpbGloYW4geWFuZyBiZXJiYWhheWE6IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1IHN5cy11dGlscy9sc2lwYy5jOjI4NAorbXNnaWQgIiAtbSwgLS1zaG1lbXMgICAgICBzaGFyZWQgbWVtb3J5IHNlZ21lbnRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NiBzeXMtdXRpbHMvbHNpcGMuYzoyODUKK21zZ2lkICIgLXEsIC0tcXVldWVzICAgICAgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY3IHN5cy11dGlscy9sc2lwYy5jOjI4NgorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hcGhvcmVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2OAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICBhbGwgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MQorIywgZnV6enkKK21zZ2lkICJPdXRwdXQgb3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBpbGloYW46XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzIKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgc2hvdyBQSURzIG9mIGNyZWF0b3IgYW5kIGxhc3Qgb3BlcmF0b3JcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NAorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NQorbXNnaWQgIiAtbCwgLS1saW1pdHMgICAgICBzaG93IHJlc291cmNlIGxpbWl0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKK21zZ2lkICIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWh1bWFuICAgICAgIHNob3cgc2l6ZXMgaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzgKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgc2hvdyBzaXplcyBpbiBieXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MTY0Cittc2dpZCAid2hlbiB1c2luZyBhbiBJRCwgYSBzaW5nbGUgcmVzb3VyY2UgbXVzdCBiZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzaGFyZWQgbWVtb3J5IGxpbWl0c1xuIgorbXNnc3RyICJtYXggdG90YWwgc2hhcmVkIG1lbW9yeSAoa2J5dGVzKSA9ICVsbHVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBCYXRhcyBTaGFyZWQgTWVtb3J5ICAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBzZWdtZW50cyA9ICVqdVxuIgorbXNnc3RyICJtYXggbm9tb3IgZGFyaSBzZWdtZW50cyA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwOQorIywgZnV6enkKK21zZ2lkICJtYXggc2VnIHNpemUiCittc2dzdHIgInVrdXJhbiBpbm9kZSBidXJ1ayIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTEKKyMsIGZ1enp5Cittc2dpZCAibWF4IHRvdGFsIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgIm1heCB0b3RhbCBzaGFyZWQgbWVtb3J5IChrYnl0ZXMpID0gJWxsdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxNAorIywgZnV6enkKK21zZ2lkICJtaW4gc2VnIHNpemUiCittc2dzdHIgImdldCB1a3VyYW4gbWluaW1hbCBJL08iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjI2CisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeVxuIgorbXNnc3RyICJrZXJuZWwgdGlkYWsgZGlrb25maWd1cmFzdSB1bnR1ayBzaGFyZWQgbWVtb3J5XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTdGF0dXMgLS0tLS0tLS1cbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoaXMgb3V0cHV0IGZvcm1hdCBpcyBtYWludGFpbmVkIGZvciBiYWNrd2FyZAorIy4gY29tcGF0aWJpbGl0eSBhcyBpcGNzIGlzIHVzZWQgaW4gc2NyaXB0cy4gRm9yIGNvbnNpc3RlbmN5CisjLiB3aXRoIHRoZSByZXN0LCB0aGUgdHJhbnNsYXRlZCBmb3JtIGNhbiBmb2xsb3cgdGhpcyBtb2RlbDoKKyMuICoKKyMuICJzZWdtZW50cyBhbGxvY2F0ZWQgPSAlZFxuIgorIy4gInBhZ2VzIGFsbG9jYXRlZCA9ICVsZFxuIgorIy4gInBhZ2VzIHJlc2lkZW50ID0gJWxkXG4iCisjLiAicGFnZXMgc3dhcHBlZCA9ICVsZFxuIgorIy4gInN3YXAgcGVyZm9ybWFuY2UgPSAlbGQgYXR0ZW1wdHMsICVsZCBzdWNjZXNzZXNcbiIKKyMuCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisic2VnbWVudHMgYWxsb2NhdGVkICVkXG4iCisicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorInBhZ2VzIHJlc2lkZW50ICAlbGRcbiIKKyJwYWdlcyBzd2FwcGVkICAgJWxkXG4iCisiU3dhcCBwZXJmb3JtYW5jZTogJWxkIGF0dGVtcHRzXHQgJWxkIHN1Y2Nlc3Nlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnQgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnQgUGVtYnVhdC9QZW1pbGlrIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjc0CisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgInNobWlkIgorbXNnc3RyICJzaG1pZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzozODYKKyM6IHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NDg5IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAicGVybXMiCittc2dzdHIgInBlcm1zIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgImN1aWQiCittc2dzdHIgImN1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiY2dpZCIKK21zZ3N0ciAiY2dpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJ1aWQiCittc2dzdHIgInVpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJnaWQiCittc2dzdHIgImdpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQXR0YWNoL0RldGFjaC9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQXR0YWNoL0RldGFjaC9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyNzQgc3lzLXV0aWxzL2lwY3MuYzoyODAKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NDk1CisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMSBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgIm93bmVyIgorbXNnc3RyICJwZW1pbGlrIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NworbXNnaWQgImF0dGFjaGVkIgorbXNnc3RyICJhdHRhY2hlZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcKK21zZ2lkICJkZXRhY2hlZCIKK21zZ3N0ciAiZGV0YWNoZWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY4Cittc2dpZCAiY2hhbmdlZCIKK21zZ3N0ciAiYmVydWJhaCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IENyZWF0b3IvTGFzdC1vcCBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFBlbWJ1YXQvTGFzdC1vcCAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3NAorbXNnaWQgImNwaWQiCittc2dzdHIgImNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc0Cittc2dpZCAibHBpZCIKK21zZ3N0ciAibHBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudHMgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJrZXkiCittc2dzdHIgImt1bmNpIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MSBzeXMtdXRpbHMvaXBjcy5jOjUwOAorbXNnaWQgInNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODEgc3lzLXV0aWxzL3BybGltaXQuYzo3NSBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4IHN5cy11dGlscy9wcmxpbWl0LmM6Nzkgc3lzLXV0aWxzL3BybGltaXQuYzo4MQorIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJieXRlcyIKK21zZ3N0ciAiYnl0ZXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgyCittc2dpZCAibmF0dGNoIgorbXNnc3RyICJuYXR0Y2giCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgyCittc2dpZCAic3RhdHVzIgorbXNnc3RyICJzdGF0dXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzA2IHN5cy11dGlscy9pcGNzLmM6MzA4IHN5cy11dGlscy9pcGNzLmM6MzEwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQyNCBzeXMtdXRpbHMvaXBjcy5jOjQyNiBzeXMtdXRpbHMvaXBjcy5jOjUzMgorIzogc3lzLXV0aWxzL2lwY3MuYzo1MzQgc3lzLXV0aWxzL2lwY3MuYzo1MzYgc3lzLXV0aWxzL2lwY3MuYzo1OTAKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkyIHN5cy11dGlscy9pcGNzLmM6NjIxIHN5cy11dGlscy9pcGNzLmM6NjIzCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyNSBzeXMtdXRpbHMvaXBjcy5jOjY0OQorbXNnaWQgIk5vdCBzZXQiCittc2dzdHIgIlRpZGFrIGRpc2V0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMzNiBzeXMtdXRpbHMvbHNpcGMuYzo5NzYgc3lzLXV0aWxzL2xzaXBjLmM6OTgyCittc2dpZCAiZGVzdCIKK21zZ3N0ciAiZGVzdCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMzcgc3lzLXV0aWxzL2xzaXBjLmM6OTc3IHN5cy11dGlscy9sc2lwYy5jOjk5MAorbXNnaWQgImxvY2tlZCIKK21zZ3N0ciAidGVya3VuY2kiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2VtYXBob3JlIGxpbWl0c1xuIgorbXNnc3RyICJnYWdhbCBtZW5zZXQga2ViaWpha2FuIHBpZCAlZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEJhdGFzIFNlbWFwaG9yZSAgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBhcnJheXMgPSAlZFxuIgorbXNnc3RyICJtYXggbm9tb3IgZGFyaSBhcnJheXMgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBwZXIgYXJyYXkgPSAlZFxuIgorbXNnc3RyICJtYXggc2VtYXBob3JzIHBlciBhcnJheSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAibWF4IHNlbWFwaG9ycyBzeXN0ZW0gd2lkZSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBvcHMgcGVyIHNlbW9wIGNhbGwgPSAlZFxuIgorbXNnc3RyICJtYXggb3BzIHBlciBzZW1vcCBjYWxsID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbWFwaG9yZSBtYXggdmFsdWUgPSAldVxuIgorbXNnc3RyICJuaWxhaSBtYWtzaW1hbCBzZW1hcGhvcmUgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAia2VybmVsIHRpZGFrIGRpa29uZmlndXJhc2lrYW4gdW50dWsgc2VtYXBob3Jlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU2VtYXBob3JlIFN0YXR1cyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGFycmF5cyA9ICVkXG4iCittc2dzdHIgImFycmF5cyB5YW5nIGRpZ3VuYWthbiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBzZW1hcGhvcmVzID0gJWRcbiIKK21zZ3N0ciAic2VtYXBob3JlcyB5YW5nIGRpYWxva2FzaWthbiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU2VtYXBob3JlIEFycmF5IFBlbWJ1YXQvUGVtaWxpayAgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0MDEKK21zZ2lkICJzZW1pZCIKK21zZ3N0ciAic2VtaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgT3BlcmF0aW9uL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gT3BlcmFzaSBTZW1hcGhvcmUvUGVydWJhaGFuIFdha3R1IC0tLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorbXNnaWQgImxhc3Qtb3AiCittc2dzdHIgImxhc3Qtb3AiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyCittc2dpZCAibGFzdC1jaGFuZ2VkIgorbXNnc3RyICJsYXN0LWNoYW5nZWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDAxCittc2dpZCAibnNlbXMiCittc2dzdHIgIm5zZW1zIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIG1lc3NhZ2UgbGltaXRzXG4iCittc2dzdHIgIkp1bWxhaCBkYXJpIGhlYWRzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gTWVzc2FnZXM6IExpbWl0cyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggcXVldWVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAibWF4IHF1ZXVlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY1CisjLCBmdXp6eQorbXNnaWQgIm1heCBzaXplIG9mIG1lc3NhZ2UiCittc2dzdHIgInVrdXJhbiBtYWtzaW1hbCBkYXJpIHBlc2FuIChieXRlcykgPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY3CisjLCBmdXp6eQorbXNnaWQgImRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUiCittc2dzdHIgInVrdXJhbiBtYWtzaW1hbCBkZWZhdWx0IGRhcmkgYW50cmlhbiAoYnl0ZXMpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICJrZXJuZWwgdGlkYWsgZGlrb25maWd1cmFzaWthbiB1bnR1ayBtZXNzYWdlIHF1ZXVlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gUGVzYW46IFN0YXR1cyAtLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHF1ZXVlcyA9ICVkXG4iCittc2dzdHIgImFsb2thc2kgYW50cmlhbiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgaGVhZGVycyA9ICVkXG4iCittc2dzdHIgInBlbmdndW5hYW4gaGVhZGVycyA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgyCisjLCBmdXp6eQorbXNnaWQgInVzZWQgc3BhY2UiCittc2dzdHIgInBlbmdndW5hYW4gc3BhY2UgPSAlZCBieXRlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MworIywgZnV6enkKK21zZ2lkICIgYnl0ZXNcbiIKK21zZ3N0ciAiYnl0ZXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBQZXNhbiBBbnRyaWFuOiBQZW1idWF0L1BlbWlsaWsgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODkgc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MDEKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibXNxaWQiCittc2dzdHIgIm1zZ2lkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgU2VuZC9SZWN2L0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gUGVzYW4gQW50cmlhbiBLaXJpbS9UZXJpbWEvS2VtYmFsaSBXYWt0dSAoVGltZXMpIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAic2VuZCIKK21zZ3N0ciAia2lyaW0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAicmVjdiIKK21zZ3N0ciAicmVjdiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJjaGFuZ2UiCittc2dzdHIgImtlbWJhbGkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBQZXNhbiBBbnRyaWFuIFBJRHMgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJsc3BpZCIKK21zZ3N0ciAibHNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAibHJwaWQiCittc2dzdHIgImxycGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFBlc2FuIEFudHJpYW4gLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDgKK21zZ2lkICJ1c2VkLWJ5dGVzIgorbXNnc3RyICJieXRlIHlhbmcgZGlndW5ha2FuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwOQorbXNnaWQgIm1lc3NhZ2VzIgorbXNnc3RyICJwZXNhbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzQgc3lzLXV0aWxzL2lwY3MuYzo2MDQgc3lzLXV0aWxzL2lwY3MuYzo2MzcKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUzNiBzeXMtdXRpbHMvbHNpcGMuYzo3MjIgc3lzLXV0aWxzL2xzaXBjLmM6ODc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpZCAlZCBub3QgZm91bmQiCittc2dzdHIgImZzY2s6ICVzOiB0aWRhayBkaXRlbXVrYW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZCBtZW1vcnkgU2VnbWVudCBzaG1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisiQmFnaWFuIG1lbW9yeSBzaGFyZSBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSVkXHRnaWQ9JWRcdHVpZD0lZFx0Y2dpZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjb1x0YWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICJtb2RlPSUjb1x0YWNjZXNzX3Blcm1zPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorIywgZnV6enkKK21zZ2lkICJzaXplPSIKK21zZ3N0ciAiLCBiZXNhcj0lOWx1IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorIywgZnV6enkKK21zZ2lkICJieXRlcz0iCittc2dzdHIgImJ5dGVzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibHBpZD0ldVx0Y3BpZD0ldVx0bmF0dGNoPSVqZFxuIgorbXNnc3RyICJieXRlcz0lbGRcdGxwaWQ9JWRcdGNwaWQ9JWRcdG5hdHRjaD0lbGRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXR0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiYXR0X3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiZGV0X3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTMgc3lzLXV0aWxzL2lwY3MuYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UgUXVldWUgbXNxaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIkFudHJpYW4gUGVzYW4gbXNnaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHRtb2RlPSUjb1xuIgorbXNnc3RyICJ1aWQ9JWRcdGdpZD0lZFx0Y3VpZD0lZFx0Y2dpZD0lZFx0bW9kZT0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTMKK21zZ2lkICJjc2l6ZT0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTMKKyMsIGZ1enp5Cittc2dpZCAiY2J5dGVzPSIKK21zZ3N0ciAiYnl0ZXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE1Cittc2dpZCAicXNpemU9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE1CisjLCBmdXp6eQorbXNnaWQgInFieXRlcz0iCittc2dzdHIgImJ5dGVzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAic2VuZF90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgInJjdl90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgInJjdl90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgQXJyYXkgc2VtaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlbWFwaG9yZSBBcnJheSBzZW1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSVkXHQgZ2lkPSVkXHQgY3VpZD0lZFx0IGNnaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5zZW1zID0gJWp1XG4iCittc2dzdHIgIm5zZW1zID0gJWxkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIm90aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAib3RpbWUgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJjdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgImN0aW1lID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJzZW1udW0iCittc2dzdHIgInNlbW51bSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJ2YWx1ZSIKK21zZ3N0ciAibmlsYWkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAibmNvdW50IgorbXNnc3RyICJuY291bnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAiemNvdW50IgorbXNnc3RyICJ6Y291bmQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAicGlkIgorbXNnc3RyICJwaWQiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjIzMCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzQgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM4CisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiJXMgZ2FnYWwuXG4iCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKGJ5dGVzKSA9ICIKK21zZ3N0ciAiJXpkIGJ5dGVzIFsiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKGtieXRlcykgPSAiCittc2dzdHIgIiV6ZCBieXRlcyBbIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxODAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBpZmxhZyIKK21zZ3N0ciAiaWQgdGlkYWsgdmFsaWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bGRpc2M+IDxkZXZpY2U+XG4iCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE5OQorbXNnaWQgIkF0dGFjaCBhIGxpbmUgZGlzY2lwbGluZSB0byBhIHNlcmlhbCBsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMworbXNnaWQgIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICBzZXQgc2VyaWFsIGxpbmUgc3BlZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDQKK21zZ2lkICIgLWMsIC0taW50cm8tY29tbWFuZCA8c3RyaW5nPiBpbnRybyBzZW50IGJlZm9yZSBsZGF0dGFjaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNQorbXNnaWQgIiAtcCwgLS1wYXVzZSA8c2Vjb25kcz4gICBwYXVzZSBiZXR3ZWVuIGludHJvIGFuZCBsZGF0dGFjaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNgorbXNnaWQgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gNyBiaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA3Cittc2dpZCAiIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA4IGJpdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDgKK21zZ2lkICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgc2V0IHBhcml0eSB0byBub25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA5Cittc2dpZCAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIHNldCBwYXJpdHkgdG8gZXZlblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMAorbXNnaWQgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICBzZXQgcGFyaXR5IHRvIG9kZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMQorbXNnaWQgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBzZXQgc3RvcCBiaXRzIHRvIG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMgorbXNnaWQgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBzZXQgc3RvcCBiaXRzIHRvIHR3b1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMworbXNnaWQgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBzZXQgaW5wdXQgbW9kZSBmbGFnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE5Cittc2dpZCAiIgorIlxuIgorIktub3duIDxsZGlzYz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJOYW1hIDxsZGlzYz4gZGlrZW5hbDpcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjIzCisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8aWZsYWc+IG5hbWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiTmFtYSA8bGRpc2M+IGRpa2VuYWw6XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNwZWVkIGFyZ3VtZW50IgorbXNnc3RyICJwaWxpaGFuIHRpZGFrIHZhbGlkIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwYXVzZSBhcmd1bWVudCIKK21zZ3N0ciAicGlsaWhhbiB0aWRhayB2YWxpZCIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzU5Cittc2dpZCAiaW52YWxpZCBvcHRpb24iCittc2dzdHIgInBpbGloYW4gdGlkYWsgdmFsaWQiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM3MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGxpbmUgZGlzY2lwbGluZSBhcmd1bWVudCIKK21zZ3N0ciAiYmFyaXMgZGlzaXBsaW4gdGlkYWsgdmFsaWQ6ICVzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgc2VyaWFsIGxpbmUiCittc2dzdHIgIiVzIGJ1a2FuIHNlYnVhaCBiYXJpcyBzZXJpYWwiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5NworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1wZXJvbGVoIGF0cmlidXQgdGVybWluYWwgJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVlZCAlZCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAia2VjZXBhdGFuICVkIHRpZGFrIGRpZHVrdW5nIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuc2V0IGF0cmlidXQgdGVybWluYWwgdW50dWsgJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlIGludHJvIGNvbW1hbmQgdG8gJXMiCittc2dzdHIgIm5hbWVpOiB0aWRhayBkYXBhdCBtZW1wZXJvbGVoIGRpcmVrdG9yaSBzYWF0IGluaSAtICVzXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ2OQorbXNnaWQgImNhbm5vdCBzZXQgbGluZSBkaXNjaXBsaW5lIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW5zZXQgYmFyaXMgZGlzaXBsaW4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ3OQorbXNnaWQgImNhbm5vdCBkYWVtb25pemUiCittc2dzdHIgInRpZGFrIGRhcGF0IGRhZW1vbml6ZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2OAorbXNnaWQgImF1dG9jbGVhciBmbGFnIHNldCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY5CisjLCBmdXp6eQorbXNnaWQgImRldmljZSBiYWNraW5nIGZpbGUiCittc2dzdHIgIm1lbWJhY2EgbGFnaSB0YWJlbCBwYXJ0aXNpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwCittc2dpZCAiYmFja2luZyBmaWxlIGlub2RlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcxCittc2dpZCAiYmFja2luZyBmaWxlIG1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MgorIywgZnV6enkKK21zZ2lkICJsb29wIGRldmljZSBuYW1lIgorbXNnc3RyICJtb3VudDogJXM6IHBlcmFuZ2thdCB0aWRhayBkaWtldGFodWkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzMKK21zZ2lkICJvZmZzZXQgZnJvbSB0aGUgYmVnaW5uaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzQKKyMsIGZ1enp5Cittc2dpZCAicGFydHNjYW4gZmxhZyBzZXQiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXNpOlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2CisjLCBmdXp6eQorbXNnaWQgInNpemUgbGltaXQgb2YgdGhlIGZpbGUgaW4gYnl0ZXMiCittc2dzdHIgImdldCBwZW55ZXN1YWlhbiBvZnNldCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NworbXNnaWQgImxvb3AgZGV2aWNlIG1ham9yOm1pbm9yIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4Cittc2dpZCAiYWNjZXNzIGJhY2tpbmcgZmlsZSB3aXRoIGRpcmVjdC1pbyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzNSBzeXMtdXRpbHMvbG9zZXR1cC5jOjE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCBvZmZzZXQgJWp1IgorbXNnc3RyICIsIG9mZnNldCAlZCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxMzggc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiwgc2l6ZWxpbWl0ICVqdSIKK21zZ3N0ciAiLCBzaXplbGltaXQgJTxQUkl1NjQ+IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCBlbmNyeXB0aW9uICVzICh0eXBlICV1KSIKK21zZ3N0ciAiLCBlbmtyaXBzaSAlcyAodGlwZSAlPFBSSXUzMj4pIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRldGFjaCBmYWlsZWQiCittc2dzdHIgIiVzOiBzdGF0IGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjMyOSBzeXMtdXRpbHMvbHNjcHUuYzoxNzM1IHN5cy11dGlscy9wcmxpbWl0LmM6MjI5CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTc2IHN5cy11dGlscy93ZGN0bC5jOjIxNSBzeXMtdXRpbHMvenJhbWN0bC5jOjQwNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgbGluZSIKK21zZ3N0ciAiZ2FnYWwgbWVuZ2luaXNpYWxpc2FzaSBiYXJpcyBwZW55YW5nZ2FcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSBbPGxvb3BkZXY+XVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxsb29wZGV2PiA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM4NgorbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCBsb29wIGRldmljZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODkKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2Pi4uLiAgICAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTEKKyMsIGZ1enp5Cittc2dpZCAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIGRldGFjaCBhbGwgdXNlZCBkZXZpY2VzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBJbmkgc2VkaWtpdCBwZXR1bmp1ayBwZW5nZ3VuYWFuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICBmaW5kIGZpcnN0IHVudXNlZCBkZXZpY2VcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkzCittc2dpZCAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcGRldj4gIHJlc2l6ZSB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTQKK21zZ2lkICIgLWosIC0tYXNzb2NpYXRlZCA8ZmlsZT4gICAgICAgbGlzdCBhbGwgZGV2aWNlcyBhc3NvY2lhdGVkIHdpdGggPGZpbGU+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTUKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLW5vb3ZlcmxhcCAgICAgICAgICAgICAgIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0IGJldHdlZW4gZGV2aWNlc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAwCittc2dpZCAiICAgICAtLXNpemVsaW1pdCA8bnVtPiAgICAgICAgIGRldmljZSBpcyBsaW1pdGVkIHRvIDxudW0+IGJ5dGVzIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDEKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBzZXQgdXAgYSByZWFkLW9ubHkgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDMKK21zZ2lkICIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAgb3BlbiBiYWNraW5nIGZpbGUgd2l0aCBPX0RJUkVDVFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA0Cittc2dpZCAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHByaW50IGRldmljZSBuYW1lIGFmdGVyIHNldHVwICh3aXRoIC1mKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDkKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGxpc3QgaW5mbyBhYm91dCBhbGwgb3Igc3BlY2lmaWVkIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgVGVzdCB1bnR1ayB2ZXJzaSBnZXRvcHQoMSlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTAKK21zZ2lkICIgLU8sIC0tb3V0cHV0IDxjb2xzPiAgICAgICAgICAgc3BlY2lmeSBjb2x1bW5zIHRvIG91dHB1dCBmb3IgLS1saXN0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLWxpc3Qgb3V0cHV0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1c2UgcmF3IC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEzCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOQorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIC0tbGlzdCBjb2x1bW5zOlxuIgorbXNnc3RyICJQZXJpbnRhaCB5YW5nIHRlcnNlZGlhOlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBpcyBzbWFsbGVyIHRoYW4gNTEyIGJ5dGVzOyB0aGUgbG9vcCBkZXZpY2UgbWF5IGJlIHVzZWxlc3Mgb3IgaW52aXNpYmxlIGZvciBzeXN0ZW0gdG9vbHMuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGRvZXMgbm90IGZpdCBpbnRvIGEgNTEyLWJ5dGUgc2VjdG9yOyB0aGUgZW5kIG9mIHRoZSBmaWxlIHdpbGwgYmUgaWdub3JlZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NjQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MTYgc3lzLXV0aWxzL21vdW50LmM6NDU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlczogJXMgYnVrYW4gc2VidWFoIHBlcmFuZ2thdCBscC5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIHJlYWQtb25seSBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGVuY3J5cHRlZCBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmUtdXNlIGxvb3AgZGV2aWNlIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZXJld2luZCBwZXJhbmdrYXQgc3dhcCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0OTQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluc3BlY3QgbG9vcCBkZXZpY2VzIgorbXNnc3RyICJtb3VudDogZ2FnYWwgbWVuc2V0LXVwIHBlcmFuZ2thdCBsb29wXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNoZWNrIGZvciBjb25mbGljdGluZyBsb29wIGRldmljZXMiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lcmV3aW5kIHBlcmFuZ2thdCBzd2FwIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUyOSBzeXMtdXRpbHMvbG9zZXR1cC5jOjgyNgorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZmluZCBhbiB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbmVtdWthbiBwZXJhbmdrYXQgJXMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBiYWNraW5nIGZpbGUiCittc2dzdHIgIm1lbWJhY2EgbGFnaSB0YWJlbCBwYXJ0aXNpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjYzMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjY0MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1MworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3Njcgc3lzLXV0aWxzL2xvc2V0dXAuYzo4MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGRldmljZSIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVyZXdpbmQgcGVyYW5na2F0IHN3YXAiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzY0CisjLCBmdXp6eQorbXNnaWQgIm5vIGxvb3AgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAibW91bnQ6IHBlcmFuZ2thdCBsb29wIGRpc3Blc2lmaWthc2lrYW4gZHVhIGthbGkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzcyCisjLCBmdXp6eQorbXNnaWQgIm5vIGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICJuYW1hIGJlcmthcyB0aWRhayBkaXNwZXNpZmlrYXNpa2FuLiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRoZSBvcHRpb25zICVzIGFyZSBhbGxvd2VkIGR1cmluZyBsb29wIGRldmljZSBzZXR1cCBvbmx5IgorbXNnc3RyICItLW9mZnNldCBkYW4gLS1hbGwgYWRhbGFoICdtdXR1YWxseSBleGNsdXNpdmUnIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4NAorbXNnaWQgInRoZSBvcHRpb24gLS1vZmZzZXQgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGNhcGFjaXR5IGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN0YXQgZ2FnYWwiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGRpcmVjdCBpbyBmYWlsZWQiCittc2dzdHIgIiVzOiBnYWdhbCBtZW5kYXBhdGthbiB1a3VyYW4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjEwOAorbXNnaWQgIm5vbmUiCittc2dzdHIgImtvc29uZyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTA5Cittc2dpZCAicGFyYSIKK21zZ3N0ciAicGFyYSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTEwCittc2dpZCAiZnVsbCIKK21zZ3N0ciAicGVudWgiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjExMQorbXNnaWQgImNvbnRhaW5lciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzMKK21zZ2lkICJob3Jpem9udGFsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NAorbXNnaWQgInZlcnRpY2FsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0NgorbXNnaWQgImxvZ2ljYWwgQ1BVIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDcKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBjb3JlIG51bWJlciIKK21zZ3N0ciAiZ2V0IHVrdXJhbiBsb2dpa2FsIGJsb2sgKHNla3RvcikiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0OAorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIHNvY2tldCBudW1iZXIiCittc2dzdHIgImdldCB1a3VyYW4gbG9naWthbCBibG9rIChzZWt0b3IpIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDkKK21zZ2lkICJsb2dpY2FsIE5VTUEgbm9kZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUwCittc2dpZCAibG9naWNhbCBib29rIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTEKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBkcmF3ZXIgbnVtYmVyIgorbXNnc3RyICJnZXQgdWt1cmFuIGxvZ2lrYWwgYmxvayAoc2VrdG9yKSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUyCittc2dpZCAic2hvd3MgaG93IGNhY2hlcyBhcmUgc2hhcmVkIGJldHdlZW4gQ1BVcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTMKK21zZ2lkICJDUFUgZGlzcGF0Y2hpbmcgbW9kZSBvbiB2aXJ0dWFsIGhhcmR3YXJlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NAorbXNnaWQgInBoeXNpY2FsIGFkZHJlc3Mgb2YgYSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU1Cittc2dpZCAic2hvd3MgaWYgdGhlIGh5cGVydmlzb3IgaGFzIGFsbG9jYXRlZCB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NgorbXNnaWQgInNob3dzIGlmIExpbnV4IGN1cnJlbnRseSBtYWtlcyB1c2Ugb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTcKK21zZ2lkICJzaG93cyB0aGUgbWF4aW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTgKK21zZ2lkICJzaG93cyB0aGUgbWluaW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo1NTAKK21zZ2lkICJlcnJvcjogdW5hbWUgZmFpbGVkIgorbXNnc3RyICJlcnJvcjogdW5hbWUgZ2FnYWwiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjYzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBudW1iZXIgb2YgQ1BVczogJXMiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6ODkxCisjLCBmdXp6eQorbXNnaWQgImVycm9yOiBjYW4gbm90IHNldCBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuc2V0IHBlbmdvbGFoIHNpbnlhbCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6ODk2CisjLCBmdXp6eQorbXNnaWQgImVycm9yOiBjYW4gbm90IHJlc3RvcmUgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbnNldCBwZW5nb2xhaCBzaW55YWwiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgZnJvbTogJXMiCittc2dzdHIgImdhZ2FsIHVudHVrIG1lbmRhcGF0a2FuIHN0YXRpc3RpazogJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MTAKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGV4dHJhY3QgdGhlIG5vZGUgbnVtYmVyIgorbXNnc3RyICJzZWVrIGdhZ2FsIGRhbGFtIHdyaXRlX3RhYmxlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTUzNyBzeXMtdXRpbHMvbHNjcHUuYzoxNTQ3Cittc2dpZCAiWSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTM3IHN5cy11dGlscy9sc2NwdS5jOjE1NDcKKyMsIGZ1enp5Cittc2dpZCAiTiIKK21zZ3N0ciAiTkMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlclxuIgorIiMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSURcbiIKKyIjIHN0YXJ0aW5nIGZyb20gemVyby5cbiIKK21zZ3N0ciAiIgorIiMgQmVyaWt1dCBhZGFsYWggZm9ybWF0IHlhbmcgZGFwYXQgZGlhbWJpbCwgeWFuZyBkYXBhdCBkaW1hc3VrYW4ga2VcbiIKKyIjIGFwbGlrYXNpIGxhaW4uIFNldGlhcCBiYWdpYW4geWFuZyBiZXJiZWRhIGRhbGFtIHNldGlhcCBrb2xvbSBtZW1pbGlraVxuIgorIiMgSUQgdW5payBiZXJhd2FsIGRhcmkgbm9sLlxuIgorIiMgQ1BVLENvcmUsU29rZXQsTm9kZSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc4MQorbXNnaWQgIkFyY2hpdGVjdHVyZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc5NQorbXNnaWQgIkNQVSBvcC1tb2RlKHMpOiIKK21zZ3N0ciAiQ1BVIG9wLW1vZGU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzk4IHN5cy11dGlscy9sc2NwdS5jOjE4MDAKK21zZ2lkICJCeXRlIE9yZGVyOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODAyCisjLCBmdXp6eQorbXNnaWQgIkNQVShzKToiCittc2dzdHIgIkNQVSBzb2tldDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDUKK21zZ2lkICJPbi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA2Cittc2dpZCAiT24tbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNQorbXNnaWQgIk9mZi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI2Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjIKK21zZ2lkICJUaHJlYWQocykgcGVyIGNvcmU6IgorbXNnc3RyICJUaHJlYWQocykgc2V0aWFwIGludGk6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODY0Cittc2dpZCAiQ29yZShzKSBwZXIgc29ja2V0OiIKK21zZ3N0ciAiSW50aSBzZXRpYXAgc29rZXQ6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODY3CisjLCBmdXp6eQorbXNnaWQgIlNvY2tldChzKSBwZXIgYm9vazoiCittc2dzdHIgIkludGkgc2V0aWFwIHNva2V0OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3MAorbXNnaWQgIkJvb2socykgcGVyIGRyYXdlcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3MgorbXNnaWQgIkRyYXdlcihzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3NAorbXNnaWQgIkJvb2socyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzcKKyMsIGZ1enp5Cittc2dpZCAiU29ja2V0KHMpOiIKK21zZ3N0ciAiQ1BVIHNva2V0OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MQorbXNnaWQgIk5VTUEgbm9kZShzKToiCittc2dzdHIgIlRpdGlrIE5VTUE6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgzCittc2dpZCAiVmVuZG9yIElEOiIKK21zZ3N0ciAiSUQgUGVtYnVhdDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODUKKyMsIGZ1enp5Cittc2dpZCAiTWFjaGluZSB0eXBlOiIKK21zZ3N0ciAiTm9tb3IgcGFydGlzaSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4NworbXNnaWQgIkNQVSBmYW1pbHk6IgorbXNnc3RyICJLZWx1YXJnYSBDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg5Cittc2dpZCAiTW9kZWw6IgorbXNnc3RyICJNb2RlbDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTEKKyMsIGZ1enp5Cittc2dpZCAiTW9kZWwgbmFtZToiCittc2dzdHIgIk1vZGVsOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5MworbXNnaWQgIlN0ZXBwaW5nOiIKK21zZ3N0ciAiU3RlcHBpbmc6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk1Cittc2dpZCAiQ1BVIE1IejoiCittc2dzdHIgIkNQVSBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk3CisjLCBmdXp6eQorbXNnaWQgIkNQVSBkeW5hbWljIE1IejoiCittc2dzdHIgIkNQVSBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk5CisjLCBmdXp6eQorbXNnaWQgIkNQVSBzdGF0aWMgTUh6OiIKK21zZ3N0ciAiQ1BVIE1IejoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDEKKyMsIGZ1enp5Cittc2dpZCAiQ1BVIG1heCBNSHo6IgorbXNnc3RyICJDUFUgTUh6OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMworIywgZnV6enkKK21zZ2lkICJDUFUgbWluIE1IejoiCittc2dzdHIgIkNQVSBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA1Cittc2dpZCAiQm9nb01JUFM6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDggc3lzLXV0aWxzL2xzY3B1LmM6MTkxMAorbXNnaWQgIlZpcnR1YWxpemF0aW9uOiIKK21zZ3N0ciAiVmlydHVhbGlzYXNpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMworIywgZnV6enkKK21zZ2lkICJIeXBlcnZpc29yOiIKK21zZ3N0ciAiUGVtYnVhdCBIeXBlcnZpc29yOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxNQorbXNnaWQgIkh5cGVydmlzb3IgdmVuZG9yOiIKK21zZ3N0ciAiUGVtYnVhdCBIeXBlcnZpc29yOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxNgorbXNnaWQgIlZpcnR1YWxpemF0aW9uIHR5cGU6IgorbXNnc3RyICJUaXBlIHZpcnR1YWxpc2FzaToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTkKK21zZ2lkICJEaXNwYXRjaGluZyBtb2RlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTI1IHN5cy11dGlscy9sc2NwdS5jOjE5MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY2FjaGU6IgorbXNnc3RyICIlcyBwZXJzZWRpYWFuOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTlVNQSBub2RlJWQgQ1BVKHMpOiIKK21zZ3N0ciAiVGl0aWsgTlVNQToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NDYKKyMsIGZ1enp5Cittc2dpZCAiRmxhZ3M6IgorbXNnc3RyICJUYW5kYSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0OQorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBzb2NrZXRzOiIKK21zZ3N0ciAiQ3lsaW5kZXIgUGh5c2ljYWwiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NTAKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY2hpcHM6IgorbXNnc3RyICJDeWxpbmRlciBQaHlzaWNhbCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk1MQorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBjb3Jlcy9jaGlwOiIKK21zZ3N0ciAiZ2V0IHVrdXJhbiBmaXNpayBibG9rIChzZWt0b3IpIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTYzCittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ1BVIGFyY2hpdGVjdHVyZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY2CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBwcmludCBib3RoIG9ubGluZSBhbmQgb2ZmbGluZSBDUFVzIChkZWZhdWx0IGZvciAtZSlcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2NworIywgZnV6enkKK21zZ2lkICIgLWIsIC0tb25saW5lICAgICAgICAgICAgcHJpbnQgb25saW5lIENQVXMgb25seSAoZGVmYXVsdCBmb3IgLXApXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjgKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjkKK21zZ2lkICIgLWUsIC0tZXh0ZW5kZWRbPTxsaXN0Pl0gcHJpbnQgb3V0IGFuIGV4dGVuZGVkIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzAKK21zZ2lkICIgLXAsIC0tcGFyc2VbPTxsaXN0Pl0gICAgcHJpbnQgb3V0IGEgcGFyc2FibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MQorbXNnaWQgIiAtcywgLS1zeXNyb290IDxkaXI+ICAgICB1c2Ugc3BlY2lmaWVkIGRpcmVjdG9yeSBhcyBzeXN0ZW0gcm9vdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzIKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHByaW50IGhleGFkZWNpbWFsIG1hc2tzIHJhdGhlciB0aGFuIGxpc3RzIG9mIENQVXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MworIywgZnV6enkKK21zZ2lkICIgLXksIC0tcGh5c2ljYWwgICAgICAgICAgcHJpbnQgcGh5c2ljYWwgaW5zdGVhZCBvZiBsb2dpY2FsIElEc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvcHRpb25zIC0tYWxsLCAtLW9ubGluZSBhbmQgLS1vZmZsaW5lIG1heSBvbmx5IGJlIHVzZWQgd2l0aCBvcHRpb25zIC0tZXh0ZW5kZWQgb3IgLS1wYXJzZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNDkKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2Uga2V5IgorbXNnc3RyICJVc2VybmFtZSAocGVuZ2d1bmEpIHRpZGFrIGxlZ2FsIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNDkKKyMsIGZ1enp5Cittc2dpZCAiS2V5IgorbXNnc3RyICJrdW5jaSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIElEIgorbXNnc3RyICJVc2VybmFtZSAocGVuZ2d1bmEpIHRpZGFrIGxlZ2FsIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKK21zZ2lkICJPd25lcidzIHVzZXJuYW1lIG9yIFVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKKyMsIGZ1enp5Cittc2dpZCAiT3duZXIiCittc2dzdHIgInBlbWlsaWsiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MgorIywgZnV6enkKK21zZ2lkICJQZXJtaXNzaW9ucyIKK21zZ3N0ciAibW91bnQ6IGlqaW4gZGl0b2xhayIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUzCittc2dpZCAiQ3JlYXRvciBVSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU0Cittc2dpZCAiQ3JlYXRvciB1c2VyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NQorbXNnaWQgIkNyZWF0b3IgR0lEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NgorIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGdyb3VwIgorbXNnc3RyICJVdGFtYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgIlVzZXIgSUQiCittc2dzdHIgInBlbmdndW5hIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKK21zZ2lkICJVSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU4CisjLCBmdXp6eQorbXNnaWQgIlVzZXIgbmFtZSIKK21zZ3N0ciAiVXNlcm5hbWUgKHBlbmdndW5hKSB0aWRhayBsZWdhbCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR3JvdXAgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5CisjLCBmdXp6eQorbXNnaWQgIkdJRCIKK21zZ3N0ciAiU0dJIHJhdyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYwCisjLCBmdXp6eQorbXNnaWQgIkdyb3VwIG5hbWUiCittc2dzdHIgIlVzZXJuYW1lIChwZW5nZ3VuYSkgdGlkYWsgbGVnYWwiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorIywgZnV6enkKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIKK21zZ3N0ciAiZ2FnYWwgbWVtcGVyb2xlaCBzdGF0aXN0aWsgZGFyaSBwYXRoXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorIywgZnV6enkKK21zZ2lkICJMYXN0IGNoYW5nZSIKK21zZ3N0ciAibGFzdC1jaGFuZ2VkIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjQKKyMsIGZ1enp5Cittc2dpZCAiQnl0ZXMgdXNlZCIKK21zZ3N0ciAiZGl0YW5kYWkgc2VkYW5nIGRpZ3VuYWthbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlcyIKK21zZ3N0ciAiSnVtbGFoIGRhcmkgaGVhZHMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorIywgZnV6enkKK21zZ2lkICJNZXNzYWdlcyIKK21zZ3N0ciAicGVzYW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorIywgZnV6enkKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHNlbnQiCittc2dzdHIgIm1lbGV3YXRpIGJhcmlzIHBlcnRhbWEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIk1zZyBzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgcmVjZWl2ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiTXNnIHJlY2VpdmVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgc2VuZGVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIk1zZyBzZW5kZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyByZWNlaXZlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJNc2cgcmVjZWl2ZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTcyCisjLCBmdXp6eQorbXNnaWQgIlNlZ21lbnQgc2l6ZSIKK21zZ3N0ciAiZ2V0IGJsb2Nrc2l6ZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBhdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIm1heCBub21vciBkYXJpIHNlZ21lbnRzID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MworbXNnaWQgIkF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzQKKyMsIGZ1enp5Cittc2dpZCAiU3RhdHVzIgorbXNnc3RyICJzdGF0dXMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NQorIywgZnV6enkKK21zZ2lkICJBdHRhY2ggdGltZSIKK21zZ3N0ciAiYXR0YWNoZWQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NgorIywgZnV6enkKK21zZ2lkICJEZXRhY2ggdGltZSIKK21zZ3N0ciAiZGV0YWNoZWQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRvciBjb21tYW5kIgorbXNnc3RyICJ0aWRhayBhZGEgcGVyaW50YWg/XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIlBJRCBvZiB0aGUgY3JlYXRvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJDcmVhdG9yIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJQSUQgb2YgbGFzdCB1c2VyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OQorIywgZnV6enkKK21zZ2lkICJMYXN0IHVzZXIgUElEIgorbXNnc3RyICJwZW5nZ3VuYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgyCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJKdW1sYWggZGFyaSBzZWt0b3IiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorIywgZnV6enkKK21zZ2lkICJTZW1hcGhvcmVzIgorbXNnc3RyICJJZGVudGl0YXMgc2VtYXBob3I6ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworIywgZnV6enkKK21zZ2lkICJMYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAiT3BlcmFzaSAlZCB0aWRhayB2YWxpZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAiVXNlcm5hbWUgKHBlbmdndW5hKSB0aWRhayBsZWdhbCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIgorbXNnc3RyICJVc2VybmFtZSAocGVuZ2d1bmEpIHRpZGFrIGxlZ2FsIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgInBlcmFuZ2thdCBibG9jayAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworIywgZnV6enkKK21zZ2lkICJEZXNjcmlwdGlvbiIKK21zZ3N0ciAicGVyYW5na2F0IGJsb2NrICIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiQ3VycmVudGx5IHVzZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiVXNlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiQ3VycmVudGx5IHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICJNYXN1a2thbiB0aXBlIGZpbGVzeXN0ZW06ICIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIlVzZSIKK21zZ3N0ciAiUGVuZ2d1bmFhbjoiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIlN5c3RlbS13aWRlIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIkxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb2x1bW4gJXMgZG9lcyBub3QgYXBwbHkgdG8gdGhlIHNwZWNpZmllZCBJUEMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg3Cittc2dpZCAiIC1nLCAtLWdsb2JhbCAgICAgIGluZm8gYWJvdXQgc3lzdGVtLXdpZGUgdXNhZ2UgKG1heSBiZSB1c2VkIHdpdGggLW0sIC1xIGFuZCAtcylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODgKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gICAgIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIi1pIGlkIFstcyAtcSAtbV0gOiBkZXRhaWwgZGkgcmVzb3VyY2UgeWFuZyBkaSBpZGVudGlmaWthc2kgb2xlaCBpZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTQKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTUKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgICAgICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NworIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIHVzZSB0aGUgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5OQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgIGZvcmNlIGxpc3Qgb3V0cHV0IGZvcm1hdCAoZm9yIGV4YW1wbGUgd2l0aCAtLWlkKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAxCittc2dpZCAiIC1QLCAtLW51bWVyaWMtcGVybXMgICAgICBwcmludCBudW1lcmljIHBlcm1pc3Npb25zIChQRVJNUyBjb2x1bW4pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAzCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkdlbmVyaWMgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBpbGloYW46XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZC1tZW1vcnkgY29sdW1ucyAoLS1zaG1lbXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiQmFnaWFuIG1lbW9yeSBzaGFyZSBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlLXF1ZXVlIGNvbHVtbnMgKC0tcXVldWVzKTpcbiIKK21zZ3N0ciAiUGVyaW50YWggeWFuZyB0ZXJzZWRpYTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIGNvbHVtbnMgKC0tc2VtYXBob3Jlcyk6XG4iCittc2dzdHIgIlBlcmludGFoIHlhbmcgdGVyc2VkaWE6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU3VtbWFyeSBjb2x1bW5zICgtLWdsb2JhbCk6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJFbGVtZW50czpcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDUKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZSBpZGVudGlmaWVycyIKK21zZ3N0ciAiSnVtbGFoIGRhcmkgc2VrdG9yIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDYKKyMsIGZ1enp5Cittc2dpZCAiVG90YWwgbnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgIkp1bWxhaCBkYXJpIHNla3RvciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA3CisjLCBmdXp6eQorbXNnaWQgIk1heCBzZW1hcGhvcmVzIHBlciBzZW1hcGhvcmUgc2V0LiIKK21zZ3N0ciAibWF4IHNlbWFwaG9ycyBwZXIgYXJyYXkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDgKKyMsIGZ1enp5Cittc2dpZCAiTWF4IG51bWJlciBvZiBvcGVyYXRpb25zIHBlciBzZW1vcCgyKSIKK21zZ3N0ciAibWF4IG5vbW9yIGRhcmkgc2VnbWVudHMgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA5CisjLCBmdXp6eQorbXNnaWQgIlNlbWFwaG9yZSBtYXggdmFsdWUiCittc2dzdHIgIm5pbGFpIG1ha3NpbWFsIHNlbWFwaG9yZSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg2MworIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgIkp1bWxhaCBkYXJpIGhlYWRzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjQKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNpemUgb2YgbWVzc2FnZSAoYnl0ZXMpIgorbXNnc3RyICJ1a3VyYW4gbWFrc2ltYWwgZGFyaSBwZXNhbiAoYnl0ZXMpID0lZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjUKKyMsIGZ1enp5Cittc2dpZCAiRGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSAoYnl0ZXMpIgorbXNnc3RyICJ1a3VyYW4gbWFrc2ltYWwgZGVmYXVsdCBkYXJpIGFudHJpYW4gKGJ5dGVzKSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk3OCBzeXMtdXRpbHMvbHNpcGMuYzo5OTcKK21zZ2lkICJodWdldGxiIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk3OSBzeXMtdXRpbHMvbHNpcGMuYzoxMDA0CisjLCBmdXp6eQorbXNnaWQgIm5vcmVzZXJ2ZSIKK21zZ3N0ciAiU3VuT1MgcmVzZXJ2ZWQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjEKKyMsIGZ1enp5Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBzZWdtZW50cyIKK21zZ3N0ciAiIgorIlxuIgorIkJhZ2lhbiBtZW1vcnkgc2hhcmUgc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MgorIywgZnV6enkKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHBhZ2VzIgorbXNnc3RyICJJZGVudGl0YXMgbWVtb3JpIHRlcmJhZ2k6ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjMKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgInVrdXJhbiBtYWtzaW1hbCBkYXJpIHBlc2FuIChieXRlcykgPSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjQKKyMsIGZ1enp5Cittc2dpZCAiTWluIHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgInVrdXJhbiBtYWtzaW1hbCBkYXJpIHBlc2FuIChieXRlcykgPSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjExMzUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElQQyBpZGVudGlmaWVyIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEyMjkKKyMsIGZ1enp5Cittc2dpZCAiLS1nbG9iYWwgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1jcmVhdG9yLCAtLWlkIGFuZCAtLXRpbWUiCittc2dzdHIgIi0tb2Zmc2V0IGRhbiAtLWFsbCBhZGFsYWggJ211dHVhbGx5IGV4Y2x1c2l2ZSciCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODMKK21zZ2lkICJuYW1lc3BhY2UgaWRlbnRpZmllciAoaW5vZGUgbnVtYmVyKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg0Cittc2dpZCAia2luZCBvZiBuYW1lc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NQorIywgZnV6enkKK21zZ2lkICJwYXRoIHRvIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgImdhZ2FsIG1lbXBlcm9sZWggc3RhdGlzdGlrIGRhcmkgcGF0aFxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg2CisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAibWF4IG5vbW9yIGRhcmkgc2VnbWVudHMgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NworbXNnaWQgImxvd2VzdCBQSUQgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg4Cittc2dpZCAiUFBJRCBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODkKK21zZ2lkICJjb21tYW5kIGxpbmUgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkwCittc2dpZCAiVUlEIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MQorbXNnaWQgInVzZXJuYW1lIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo2MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxuYW1lc3BhY2U+XVxuIgorbXNnc3RyICIiCisiXG4iCisiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjE2CisjLCBmdXp6eQorbXNnaWQgIkxpc3Qgc3lzdGVtIG5hbWVzcGFjZXMuXG4iCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbnNldCBzeXN0ZW0gY2xvY2suXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjIzCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS10YXNrIDxwaWQ+ICAgICAgIHByaW50IHByb2Nlc3MgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYyNgorbXNnaWQgIiAtdCwgLS10eXBlIDxuYW1lPiAgICAgIG5hbWVzcGFjZSB0eXBlIChtbnQsIG5ldCwgaXBjLCB1c2VyLCBwaWQsIHV0cywgY2dyb3VwKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG5hbWVzcGFjZSB0eXBlOiAlcyIKK21zZ3N0ciAidGlwZSByZXNvdXJjZSB0aWRhayBkaWtldGFodWk6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzM1CisjLCBmdXp6eQorbXNnaWQgIi0tdGFzayBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8bmFtZXNwYWNlPiIKK21zZ3N0ciAiLS1vZmZzZXQgZGFuIC0tYWxsIGFkYWxhaCAnbXV0dWFsbHkgZXhjbHVzaXZlJyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MzYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBuYW1lc3BhY2UgYXJndW1lbnQiCittc2dzdHIgInBpbGloYW4gdGlkYWsgdmFsaWQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6Nzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBmb3VuZCBuYW1lc3BhY2U6ICVqdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NiBzeXMtdXRpbHMvdW1vdW50LmM6MTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24gKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICJtb3VudDogaGFueWEgcm9vdCB5YW5nIGRhcGF0IG1lbGFrdWthbiBpdHUgKFVJRCBlZmVrdGlmIGFkYWxhaCAlZCkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY5IHN5cy11dGlscy91bW91bnQuYzoxMjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIm1vdW50OiBoYW55YSByb290IHlhbmcgZGFwYXQgbWVsYWt1a2FuIGl0dSAoVUlEIGVmZWt0aWYgYWRhbGFoICVkKSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzMgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIgorbXNnc3RyICJtb3VudDogaGFueWEgcm9vdCB5YW5nIGRhcGF0IG1lbGFrdWthbiBtb3VudCAlcyBkaSAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzQgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNQorIywgZnV6enkKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCittc2dzdHIgIm1vdW50OiBoYW55YSByb290IHlhbmcgZGFwYXQgbWVsYWt1a2FuIGl0dSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6ODUgc3lzLXV0aWxzL3Vtb3VudC5jOjU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzIChsaWJtb3VudCAlcyIKK21zZ3N0ciAiJXMgZGFyaSAlcyVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEzMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBtdGFiIgorbXNnc3RyICJnYWdhbCB1bnR1ayBtZW5kYXBhdGthbiBzdGF0aXN0aWs6ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTIgc3lzLXV0aWxzL3Vtb3VudC5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGFscmVhZHkgbW91bnRlZFxuIgorbXNnc3RyICJtb3VudDogJXMgdGVsYWggZGltb3VudCBkaSAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3ZlZCB0byAlcy5cbiIKK21zZ3N0ciAiZnNjazogJXM6IHRpZGFrIGRpdGVtdWthblxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBib3VuZCBvbiAlcy5cbiIKK21zZ3N0ciAiZnNjazogJXM6IHRpZGFrIGRpdGVtdWthblxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTQgc3lzLXV0aWxzL21vdW50LmM6MjU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW91bnRlZCBvbiAlcy5cbiIKK21zZ3N0ciAiZnNjazogJXM6IHRpZGFrIGRpdGVtdWthblxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIHByb3BhZ2F0aW9uIGZsYWdzIGNoYW5nZWQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJtb3VudDogJXMgZG9lcyBub3QgY29udGFpbiBTRUxpbnV4IGxhYmVscy5cbiIKKyIgICAgICAgWW91IGp1c3QgbW91bnRlZCBhbiBmaWxlIHN5c3RlbSB0aGF0IHN1cHBvcnRzIGxhYmVscyB3aGljaCBkb2VzIG5vdFxuIgorIiAgICAgICBjb250YWluIGxhYmVscywgb250byBhbiBTRUxpbnV4IGJveC4gSXQgaXMgbGlrZWx5IHRoYXQgY29uZmluZWRcbiIKKyIgICAgICAgYXBwbGljYXRpb25zIHdpbGwgZ2VuZXJhdGUgQVZDIG1lc3NhZ2VzIGFuZCBub3QgYmUgYWxsb3dlZCBhY2Nlc3MgdG9cbiIKKyIgICAgICAgdGhpcyBmaWxlIHN5c3RlbS4gIEZvciBtb3JlIGRldGFpbHMgc2VlIHJlc3RvcmVjb24oOCkgYW5kIG1vdW50KDgpLlxuIgorbXNnc3RyICIiCisibW91bnQ6ICVzIHRpZGFrIGJlcmlzaSBsYWJlbCBTRUxpbnV4LlxuIgorIiAgICAgICBBbmRhIHRlbGFoIG1lbWFzYW5nIHNpc3RlbSBiZXJrYXMgeWFuZyBtZW5kdWt1bmcgbGFiZWwgeWFuZyB0aWRha1xuIgorIiAgICAgICBiZXJpc2kgbGFiZWwsIGtlZGFsYW0ga290YWsgU0VMaW51eC4gSW5pIHNlcGVydGlueWEgYmVyaXNpIGFwbGlrYXNpXG4iCisiICAgICAgIHlhbmcgYWthbiBtZW5naGFzaWxrYW4gcGVzYW4gQVZDIGRhbiB0aWRhayBkaXBlcmJvbGVoa2FuIG1lbmdha3NlcyBrZVxuIgorIiAgICAgICBzaXN0ZW0gYmVya2FzIGluaS4gVW50dWsgbGViaWggbGVuZ2thcG55YSBsaWhhdCByZXN0b3JlY29uKDgpIGRhbiBtb3VudCg4KS5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Mzc4CisjLCBmdXp6eQorbXNnaWQgIldBUk5JTkc6IGZhaWxlZCB0byBhcHBseSBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCittc2dzdHIgIm1vdW50OiBoYW55YSByb290IHlhbmcgZGFwYXQgbWVsYWt1a2FuIG1vdW50ICVzIGRpICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCIKK21zZ3N0ciAibW91bnQ6ICVzIHRlbGFoIGRpbW91bnQgZGkgJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB1c2VkIGFzIHJlYWQgb25seSBsb29wLCBtb3VudGluZyByZWFkLW9ubHkiCittc2dzdHIgIm1vdW50OiAlcyVzIG1lbWlsaWtpIHByb3Rla3NpIHVudHVrIGRpdHVsaXMsIG1lbW91bnQgc2VjYXJhIGhhbnlhLWJhY2EiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCAlcyBpbiAlcyIKK21zZ3N0ciAibW91bnQ6IHRpZGFrIGRhcGF0IG1lbmVtdWthbiAlcyBkYWxhbSAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50cG9pbnQgJXMgaW4gJXMiCittc2dzdHIgIm1vdW50OiB0aWRhayBkYXBhdCBtZW5lbXVrYW4gJXMgZGFsYW0gJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBzb3VyY2UgJXMgaW4gJXMiCittc2dzdHIgIm1vdW50OiB0aWRhayBkYXBhdCBtZW5lbXVrYW4gJXMgZGFsYW0gJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXM6IG1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQuIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sXG4iCisiICAgICAgIHVzZSAtdCA8dHlwZT4gdG8gZXhwbGljaXRseSBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUgb3JcbiIKKyIgICAgICAgdXNlIHdpcGVmcyg4KSB0byBjbGVhbiB1cCB0aGUgZGV2aWNlLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzYKKyMsIGZ1enp5Cittc2dpZCAiSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgIm1vdW50OiBTYXlhIHRpZGFrIGRhcGF0IG1lbmVudHVrYW4gdGlwZSBkYXJpIGZpbGVzeXN0ZW0sIGRhbiB0aWRhayBkaWJlcmlrYW4gc3Blc2lmaWthc2kgZGkgYXJndW1lbnQgcGVyaW50YWgiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzOQorIywgZnV6enkKK21zZ2lkICJ5b3UgbXVzdCBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIm1vdW50OiBhbmRhIGhhcnVzIG1lbnNwZXNpZmlrYXNpa2FuIHRpcGUgZmlsZXN5c3RlbSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kICVzIgorbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVubGluayAlczogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ3CisjLCBmdXp6eQorbXNnaWQgIm1vdW50IHNvdXJjZSBub3QgZGVmaW5lZCIKK21zZ3N0ciAibW91bnQ6IG1vdW50IGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTEgc3lzLXV0aWxzL21vdW50LmM6NDUzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVyZXdpbmQgcGVyYW5na2F0IHN3YXAiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50IGZhaWxlZCIKK21zZ3N0ciAibW91bnQgZ2FnYWwiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZpbGVzeXN0ZW0gbW91bnRlZCwgYnV0IG1vdW50KDgpIGZhaWxlZCIKK21zZ3N0ciAibW91bnQ6IG1vdW50IGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0ODkgc3lzLXV0aWxzL21vdW50LmM6NTQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIm1vdW50OiB0aXRpayBtb3VudCAlcyBidWthbiBiZXJ1cGEgc2VidWFoIGRpcmVrdG9yaSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDkzCisjLCBmdXp6eQorbXNnaWQgIm11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKK21zZ3N0ciAibW91bnQ6IGhhcnVzIG1lbmphZGkgc3VwZXJ1c2VyIHVudHVrIG1lbmdndW5ha2FuIG1vdW50IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGJ1c3kiCittc2dzdHIgIm1vdW50OiAlcyBzZWRhbmcgc2lidWsiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9yICVzIGJ1c3kiCittc2dzdHIgIm1vdW50OiAlcyB0ZWxhaCBkaW1vdW50IGF0YXUgJXMgc2VkYW5nIHNpYnVrIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKK21zZ3N0ciAibW91bnQ6ICVzIHRlbGFoIGRpbW91bnQgZGkgJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAibW91bnQ6IHRpdGlrIG1vdW50ICVzIHRpZGFrIGFkYSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBpcyBhIHN5bWJvbGljIGxpbmsgdG8gbm93aGVyZSIKK21zZ3N0ciAibW91bnQ6IHRpdGlrIG1vdW50ICVzIGJlcnVwYSBzeW1ib2xpYyBsaW5rIGtlIHN1YXR1IHRlbXBhdCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAibW91bnQ6IHBlcmFuZ2thdCBzcGVzaWFsICVzIHRpZGFrIGFkYSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTM2IHN5cy11dGlscy9tb3VudC5jOjUzOCBzeXMtdXRpbHMvbW91bnQuYzo1NDAKKyM6IHN5cy11dGlscy9tb3VudC5jOjU1NQorIywgZnV6enkKK21zZ2lkICJtb3VudCgyKSBmYWlsZWQiCittc2dzdHIgIm1vdW50IGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IChhIHBhdGggcHJlZml4IGlzIG5vdCBhIGRpcmVjdG9yeSkiCittc2dzdHIgIiIKKyJtb3VudDogcGVyYW5na2F0IHNwZXNpYWwgJXMgdGlkYWsgYWRhXG4iCisiICAgICAgIChzZWJ1YWggcGF0aCBwcmVmaXggYnVrYW4gYmVydXBhIHNlYnVhaCBkaXJla3RvcmkpXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IG1vdW50ZWQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAibW91bnQ6ICVzIHN1ZGFoIHRpZGFrIGRpbW91bnQsIGF0YXUgcGlsaWhhbiBidXJ1ayIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbW91bnRwb2ludCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICJtb3VudDogJXMgc3VkYWggdGlkYWsgZGltb3VudCwgYXRhdSBwaWxpaGFuIGJ1cnVrIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjUKK21zZ2lkICIiCisiYmFkIG9wdGlvbi4gTm90ZSB0aGF0IG1vdmluZyBhIG1vdW50IHJlc2lkaW5nIHVuZGVyIGEgc2hhcmVkXG4iCisiICAgICAgIG1vdW50IGlzIHVuc3VwcG9ydGVkLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ3cm9uZyBmcyB0eXBlLCBiYWQgb3B0aW9uLCBiYWQgc3VwZXJibG9jayBvbiAlcyxcbiIKKyIgICAgICAgbWlzc2luZyBjb2RlcGFnZSBvciBoZWxwZXIgcHJvZ3JhbSwgb3Igb3RoZXIgZXJyb3IiCittc2dzdHIgIiIKKyJtb3VudDogdGlwZSBmcyBzYWxhaCwgcGlsaWhhbiBidXJ1aywgc3VwZXJibG9jayBidXJ1ayBkaSAlcyxcbiIKKyIgICAgICAgaGlsYW5nIGNvZGVwYWdlIGF0YXUgYXBsaWthc2kgcGVtYmFudHUsIGF0YXUgZXJyb3IgbGFpbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAgIChmb3Igc2V2ZXJhbCBmaWxlc3lzdGVtcyAoZS5nLiBuZnMsIGNpZnMpIHlvdSBtaWdodFxuIgorIiAgICAgICBuZWVkIGEgL3NiaW4vbW91bnQuPHR5cGU+IGhlbHBlciBwcm9ncmFtKVxuIgorbXNnc3RyICIiCisiICAgICAgICh1bnR1ayBiZWJlcmFwYSBmaWxlc3lzdGVtIChlLmcuIG5mcywgY2lmcykgYW5kYSBtdW5na2luXG4iCisiICAgICAgIG1lbWJ1dHVoa2FuIGFwbGlrYXNpIHBlbWJhbnR1IC9zYmluL21vdW50Ljx0aXBlPikiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiAgICAgICBJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGlzIGZvdW5kIGluIHN5c2xvZyAtIHRyeVxuIgorIiAgICAgICBkbWVzZyB8IHRhaWwgb3Igc28uXG4iCittc2dzdHIgIiIKKyIgICAgICAgRGFsYW0gYmViZXJhcGEga2FzdXMgaW5mb3JtYXNpIGJlcmd1bmEgZGFwYXQgZGl0ZW11a2FuIGRpIHN5c2xvZyAtIGNvYmFcbiIKKyIgICAgICAgZG1lc2cgfCB0YWlsIGF0YXUgeWFuZyBzZXJ1cGFcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTgzCittc2dpZCAibW91bnQgdGFibGUgZnVsbCIKK21zZ3N0ciAidGFiZWwgbW91bnQgcGVudWgiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IHJlYWQgc3VwZXJibG9jayIKK21zZ3N0ciAibW91bnQ6ICVzOiB0aWRhayBkYXBhdCBtZW1iYWNhIHN1cGVyYmxvY2siCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKK21zZ3N0ciAibW91bnQ6IHRpcGUgZmlsZXN5c3RlbSB0aWRhayBkaWtldGFodWkgJyVzJyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTk0CisjLCBmdXp6eQorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJtb3VudDogdGlwZSBmaWxlc3lzdGVtIHRpZGFrIGRpa2V0YWh1aSAnJXMnIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQoMikgZmFpbHM/IgorbXNnc3RyICJtb3VudDogJXMgYnVrYW4gc2VidWFrIHBlcmFuZ2thdCBibG9jaywgZGFuIGdhZ2FsIG1lbXBlcm9sZWggc3RhdGlzdGlrPyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisidGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2VcbiIKKyIgICAgICAgKG1heWJlIGBtb2Rwcm9iZSBkcml2ZXInPykiCittc2dzdHIgIiIKKyJtb3VudDoga2VybmVsIHRpZGFrIG1lbmdlbmFsICVzIHNlYmFnYWkgc2VidWFoIHBlcmFuZ2thdCBibG9ja1xuIgorIiAgICAgICAobXVuZ2tpbiBgbW9kcHJvYmUgZHJpdmVyJz8pIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSAobWF5YmUgdHJ5IGAtbyBsb29wJz8pIgorbXNnc3RyICJtb3VudDogJXMgYnVrYW4gc2VidWFoIHBlcmFuZ2thdCBibG9jayAobXVuZ2tpbiBkaWNvYmEgZGVuZ2FuIG1lbmdndW5ha2FuIHBpbGloYW4gYC1vIGxvb3AnPyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogYnVrYW4gc2VidWFoIGJsb2NrIGRldmljZVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAibW91bnQ6ICVzIGJ1a2FuIHNlYnVhaCBwZXJhbmdrYXQgYmxvY2sgeWFuZyB2YWxpZCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQgJXMgcmVhZC1vbmx5IgorbXNnc3RyICJtb3VudDogdGlkYWsgZGFwYXQgbWUtbW91bnQgJXMlcyBoYW55YS1iYWNhIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHdyaXRlLXByb3RlY3RlZCBidXQgZXhwbGljaXQgYC13JyBmbGFnIGdpdmVuIgorbXNnc3RyICJtb3VudDogJXMlcyBtZW1pbGlraSBwcm90ZWtzaSB1bnR1ayBkaXR1bGlzIHRldGFwaSBzZWNhcmEgZWtzcGxpc2l0IHBpbGloYW4gYC13JyBkaWJlcmlrYW4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlbW91bnQgJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorbXNnc3RyICJtb3VudDogdGlkYWsgZGFwYXQgbWVtYXNhbmcga2VtYmFsaSAlcyVzIHNlY2FyYSBiYWNhLXR1bGlzLCB0ZXJwcm90ZWtzaS10dWxpcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjMxIHN5cy11dGlscy9tb3VudC5jOjY1NCBzeXMtdXRpbHMvdW5zaGFyZS5jOjE4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgb24gJXMgZmFpbGVkIgorbXNnc3RyICIlczogbWVuZ3ViYWggbmFtYSAlcyBrZSAlcyBnYWdhbDogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50aW5nIHJlYWQtb25seSIKK21zZ3N0ciAibW91bnQ6ICVzJXMgbWVtaWxpa2kgcHJvdGVrc2kgdW50dWsgZGl0dWxpcywgbWVtb3VudCBzZWNhcmEgaGFueWEtYmFjYSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJubyBtZWRpdW0gZm91bmQgb24gJXMiCittc2dzdHIgIm1vdW50OiB0aWRhayBhZGEgbWVkaWEgZGl0ZW11a2FuIGRpICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UiCittc2dzdHIgIiVzOiBnYWdhbCB1bnR1ayBtZW1idWthOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG9wdGlvbiBmb3JtYXQ6ICVzIgorbXNnc3RyICIlczogYXJndW1lbnQgdGlkYWsgZGlrZXRhaHVpOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhcHBlbmQgb3B0aW9uICclcyciCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWxoVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlXSA8c291cmNlPiB8IFstLXRhcmdldF0gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyA8b3BlcmF0aW9uPiA8bW91bnRwb2ludD4gWzx0YXJnZXQ+XVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0NAorIywgZnV6enkKK21zZ2lkICJNb3VudCBhIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIk1lbWVyaWtzYSBzZWx1cnVoIHNpc3RlbSBiZXJrYXMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIG1vdW50IGFsbCBmaWxlc3lzdGVtcyBtZW50aW9uZWQgaW4gZnN0YWJcbiIKKyIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCisiIC1mLCAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIG1vdW50KDIpIHN5c2NhbGxcbiIKKyIgLUYsIC0tZm9yayAgICAgICAgICAgICAgZm9yayBvZmYgZm9yIGVhY2ggZGV2aWNlICh1c2Ugd2l0aCAtYSlcbiIKKyIgLVQsIC0tZnN0YWIgPHBhdGg+ICAgICAgYWx0ZXJuYXRpdmUgZmlsZSB0byAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSBtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIHNob3cgYWxzbyBmaWxlc3lzdGVtIGxhYmVsc1xuIgorbXNnc3RyICIgIFsgLWZpbGUgZHVtcGZpbGVuYW1lIF1cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU4IHN5cy11dGlscy91bW91bnQuYzo5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIGRvbid0IHdyaXRlIHRvIC9ldGMvbXRhYlxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtb3VudCBvcHRpb25zXG4iCisiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLW9ubHkgKHNhbWUgYXMgLW8gcm8pXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc2NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLXNvdXJjZSA8c3JjPiAgICAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIHNvdXJjZSAocGF0aCwgbGFiZWwsIHV1aWQpXG4iCisiICAgICAtLXRhcmdldCA8dGFyZ2V0PiAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3Njggc3lzLXV0aWxzL3Vtb3VudC5jOjk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtd3JpdGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTb3VyY2U6XG4iCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc5MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3BlcmF0aW9uczpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIHNvbWV3aGVyZSBlbHNlIChzYW1lIGFzIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG1vdmUgYSBzdWJ0cmVlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjgwMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4ODcgc3lzLXV0aWxzL3Vtb3VudC5jOjU0OAorIywgZnV6enkKK21zZ2lkICJsaWJtb3VudCBjb250ZXh0IGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJtb3VudDogbW91bnQgZ2FnYWwiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjk0NCBzeXMtdXRpbHMvdW1vdW50LmM6NjAxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgb3B0aW9ucyBwYXR0ZXJuIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBhdHJpYnV0IHBpZCAlZCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTA5NworIywgZnV6enkKK21zZ2lkICJzb3VyY2Ugc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJBbmRhIG1lbnNwZXNpZmlrYXNpa2FuIGN5bGluZGVyIHlhbmcgbGViaWggYmVzYXIgZGFyaSB1a3VyYW4gZGkgZGlzayIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstcWRdIC9wYXRoL3RvL2RpcmVjdG9yeVxuIgorIiAlMSRzIC14IC9kZXYvZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjIKK21zZ2lkICJDaGVjayB3aGV0aGVyIGEgZGlyZWN0b3J5IG9yIGZpbGUgaXMgYSBtb3VudHBvaW50LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTI1Cittc2dpZCAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgcXVpZXQgbW9kZSAtIGRvbid0IHByaW50IGFueXRoaW5nXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgYmxvY2sgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiYWthciBpbm9kZSBidWthbiBzZWJ1YWggZGlyZWt0b3JpIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjIwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzIHRlbGFoIGRpIG1vdW50Llx0ICIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkzIHN5cy11dGlscy91bnNoYXJlLmM6MjQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1cbiIKK21zZ3N0ciAicGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIDxhcGxpa2FzaT4gW2FyZyAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzYKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggbmFtZXNwYWNlcyBvZiBvdGhlciBwcm9jZXNzZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3OQorbXNnaWQgIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgIHRhcmdldCBwcm9jZXNzIHRvIGdldCBuYW1lc3BhY2VzIGZyb21cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgwCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgIGVudGVyIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgxCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgIGVudGVyIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MgorIywgZnV6enkKK21zZ2lkICIgLWksIC0taXBjWz08ZmlsZT5dICAgICBlbnRlciBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgZW50ZXIgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgZW50ZXIgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NQorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICBlbnRlciBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBJbmkgc2VkaWtpdCBwZXR1bmp1ayBwZW5nZ3VuYWFuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODYKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgZW50ZXIgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NworIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2V0dWlkIDx1aWQ+ICAgICBzZXQgdWlkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODgKKyMsIGZ1enp5Cittc2dpZCAiIC1HLCAtLXNldGdpZCA8Z2lkPiAgICAgc2V0IGdpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg5Cittc2dpZCAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzIGRvIG5vdCB0b3VjaCB1aWRzIG9yIGdpZHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkwCittc2dpZCAiIC1yLCAtLXJvb3RbPTxkaXI+XSAgICAgc2V0IHRoZSByb290IGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTEKK21zZ2lkICIgLXcsIC0td2RbPTxkaXI+XSAgICAgICBzZXQgdGhlIHdvcmtpbmcgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MgorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgIGRvIG5vdCBmb3JrIGJlZm9yZSBleGVjJ2luZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjk0Cittc2dpZCAiIC1aLCAtLWZvbGxvdy1jb250ZXh0ICAgc2V0IFNFTGludXggY29udGV4dCBhY2NvcmRpbmcgdG8gLS10YXJnZXQgUElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAibmVpdGhlciBmaWxlbmFtZSBub3IgdGFyZ2V0IHBpZCBzdXBwbGllZCBmb3IgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoyNzcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHVpZCIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjI4MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZ2lkIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzE3Cittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tZm9sbG93LWNvbnRleHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgJWQgU0VMaW51eCBjb250ZXh0IgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWF0IGNvbnRleHQgc2VsaW51eCBiYXJ1IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBleGVjIGNvbnRleHQgdG8gJyVzJyIKK21zZ3N0ciAiR2FnYWwgbWVuc2V0IHBlcnNvbmFsaXR5IGtlICVzIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVhc3NvY2lhdGUgdG8gbmFtZXNwYWNlICclcycgZmFpbGVkIgorbXNnc3RyICJiYWNhIHdha3R1IHNpc3RlbSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozOTAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAiZXJyb3I6IG1lbmd1YmFoIGRpcmVrdG9yaSBrZXJqYSBrZSAlcy4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mzk3CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgcm9vdCBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICIlczogZ2FnYWwgbWVuZGFwYXRrYW4gdWt1cmFuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQwMAorIywgZnV6enkKK21zZ2lkICJjaHJvb3QgZmFpbGVkIgorbXNnc3RyICJtb3VudCBnYWdhbCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MTAKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSB3b3JraW5nIGRpcmVjdG9yeSBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICIlczogZ2FnYWwgbWVuZGFwYXRrYW4gdWt1cmFuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQyMSBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxNSBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxOQorIywgZnV6enkKK21zZ2lkICJzZXRncm91cHMgZmFpbGVkIgorbXNnc3RyICJzdHJkdXAgZ2FnYWwiCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gbmV3X3Jvb3QgcHV0X29sZFxuIgorbXNnc3RyICIiCisiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIDxuYW1hIGJlcmthcz5cbiIKKyJcbiIKKyJQaWxpaGFuOlxuIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjM3CisjLCBmdXp6eQorbXNnaWQgIkNoYW5nZSB0aGUgcm9vdCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJNZW1lcmlrc2Egc2VsdXJ1aCBzaXN0ZW0gYmVya2FzLlxuIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QgZnJvbSBgJXMnIHRvIGAlcyciCittc2dzdHIgIkdhZ2FsIG1lbnNldCBwZXJzb25hbGl0eSBrZSAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NQorbXNnaWQgImFkZHJlc3Mgc3BhY2UgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIywgZnV6enkKK21zZ2lkICJtYXggY29yZSBmaWxlIHNpemUiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbWJ1a2EgZmlsZSAnJXMnIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAiQ1BVIHRpbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworIywgZnV6enkKK21zZ2lkICJzZWNvbmRzIgorbXNnc3RyICJET1Mgc2Vjb25kYXJ5IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4Cittc2dpZCAibWF4IGRhdGEgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5CisjLCBmdXp6eQorbXNnaWQgIm1heCBmaWxlIHNpemUiCittc2dzdHIgInVrdXJhbiBpbm9kZSBidXJ1ayIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIGZpbGUgbG9ja3MgaGVsZCIKK21zZ3N0ciAibWF4IG5vbW9yIGRhcmkgc2VnbWVudHMgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorIywgZnV6enkKK21zZ2lkICJsb2NrcyIKK21zZ3N0ciAiJWxkIGJsb2Nrc1xuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCittc2dpZCAibWF4IGxvY2tlZC1pbi1tZW1vcnkgYWRkcmVzcyBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyCittc2dpZCAibWF4IGJ5dGVzIGluIFBPU0lYIG1xdWV1ZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MworbXNnaWQgIm1heCBuaWNlIHByaW8gYWxsb3dlZCB0byByYWlzZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0CisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2Ygb3BlbiBmaWxlcyIKK21zZ3N0ciAibWF4IG5vbW9yIGRhcmkgc2VnbWVudHMgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorIywgZnV6enkKK21zZ2lkICJmaWxlcyIKK21zZ3N0ciAiKEZpbGUgc2VsYW5qdXRueWE6ICVzKSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIHByb2Nlc3NlcyIKK21zZ3N0ciAibWF4IG5vbW9yIGRhcmkgc2VnbWVudHMgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorIywgZnV6enkKK21zZ2lkICJwcm9jZXNzZXMiCittc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW5lbXVrYW4gcHJvY2VzcyBcIiVzXCJcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NgorbXNnaWQgIm1heCByZXNpZGVudCBzZXQgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg3CisjLCBmdXp6eQorbXNnaWQgIm1heCByZWFsLXRpbWUgcHJpb3JpdHkiCittc2dzdHIgImdldHByaW9yaXR5IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAidGltZW91dCBmb3IgcmVhbC10aW1lIHRhc2tzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJtaWNyb3NlY3MiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscyIKK21zZ3N0ciAibWF4IG5vbW9yIGRhcmkgc2VnbWVudHMgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorbXNnaWQgInNpZ25hbHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgIm1heCBzdGFjayBzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTIzCisjLCBmdXp6eQorbXNnaWQgInJlc291cmNlIG5hbWUiCittc2dzdHIgIlVzZXJuYW1lIChwZW5nZ3VuYSkgdGlkYWsgbGVnYWwiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI0CisjLCBmdXp6eQorbXNnaWQgInJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJwZXJhbmdrYXQgYmxvY2sgIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNQorbXNnaWQgInNvZnQgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjYKK21zZ2lkICJoYXJkIGxpbWl0IChjZWlsaW5nKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNworIywgZnV6enkKK21zZ2lkICJ1bml0cyIKK21zZ3N0ciAiU2F0dWFuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXAgUElEXVxuIgorbXNnc3RyICIiCisiXG4iCisiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIENPTU1BTkRcbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY2Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlc291cmNlIGxpbWl0cyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjgKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkdlbmVyYWwgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBpbGloYW46XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY5Cittc2dpZCAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHByb2Nlc3MgaWRcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCisiICAgICAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyIgICAgIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCisiICAgICAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBvdXRwdXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzcKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlJlc291cmNlcyBPcHRpb25zOlxuIgorbXNnc3RyICJwaWxpaGFuIHlhbmcgYmVyYmFoYXlhOiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzgKK21zZ2lkICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGNvcmUgZmlsZXMgY3JlYXRlZFxuIgorIiAtZCwgLS1kYXRhICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBhIHByb2Nlc3MncyBkYXRhIHNlZ21lbnRcbiIKKyIgLWUsIC0tbmljZSAgICAgICAgICAgICBtYXhpbXVtIG5pY2UgcHJpb3JpdHkgYWxsb3dlZCB0byByYWlzZVxuIgorIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBmaWxlcyB3cml0dGVuIGJ5IHRoZSBwcm9jZXNzXG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAgbWF4aW11bSBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAgbWF4aW11bSBzaXplIGEgcHJvY2VzcyBtYXkgbG9jayBpbnRvIG1lbW9yeVxuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgIG1heGltdW0gcmVzaWRlbnQgc2V0IHNpemVcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBvcGVuIGZpbGVzXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgbWF4aW11bSBieXRlcyBpbiBQT1NJWCBtZXNzYWdlIHF1ZXVlc1xuIgorIiAtciwgLS1ydHByaW8gICAgICAgICAgIG1heGltdW0gcmVhbC10aW1lIHNjaGVkdWxpbmcgcHJpb3JpdHlcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICBtYXhpbXVtIHN0YWNrIHNpemVcbiIKKyIgLXQsIC0tY3B1ICAgICAgICAgICAgICBtYXhpbXVtIGFtb3VudCBvZiBDUFUgdGltZSBpbiBzZWNvbmRzXG4iCisiIC11LCAtLW5wcm9jICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgdXNlciBwcm9jZXNzZXNcbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICBzaXplIG9mIHZpcnR1YWwgbWVtb3J5XG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgZmlsZSBsb2Nrc1xuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgIENQVSB0aW1lIGluIG1pY3Jvc2Vjb25kcyBhIHByb2Nlc3Mgc2NoZWR1bGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXIgcmVhbC10aW1lIHNjaGVkdWxpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0MyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzEKK21zZ2lkICJ1bmxpbWl0ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgb2xkICVzIGxpbWl0IgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBrZWJpamFrYW4gcGlkICVkIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM1NgorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgc29mdCBsaW1pdCAlcyBjYW5ub3QgZXhjZWVkIHRoZSBoYXJkIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5ldyAlcyBsaW1pdCBmb3IgcGlkICVkOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICJnYWdhbCBtZW5zZXQga2ViaWpha2FuIHBpZCAlZCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBrZWJpamFrYW4gcGlkICVkIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjQ1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIGxpbWl0IgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NTg1Cittc2dpZCAib3B0aW9uIC0tcGlkIG1heSBiZSBzcGVjaWZpZWQgb25seSBvbmNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NjE2CisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbnMgLS1waWQgYW5kIENPTU1BTkQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLS1vZmZzZXQgZGFuIC0tYWxsIGFkYWxhaCAnbXV0dWFsbHkgZXhjbHVzaXZlJyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA3Cittc2dpZCAiRGlzcGxheSBrZXJuZWwgcHJvZmlsaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICIgLW0sIC0tbWFwZmlsZSA8bWFwZmlsZT4gICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIlc1wiKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICBQZXJ0YW1hICAgICBBa2hpclxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1wLCAtLXByb2ZpbGUgPHByby1maWxlPiAgKGRlZmF1bHQ6ICBcIiVzXCIpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE2Cittc2dpZCAiIC1NLCAtLW11bHRpcGxpZXIgPG11bHQ+ICAgc2V0IHRoZSBwcm9maWxpbmcgbXVsdGlwbGllciB0byA8bXVsdD5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgcHJpbnQgb25seSBpbmZvIGFib3V0IHRoZSBzYW1wbGluZyBzdGVwXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBwcmludCB2ZXJib3NlIGRhdGFcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE5CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIHByaW50IGFsbCBzeW1ib2xzLCBldmVuIGlmIGNvdW50IGlzIDBcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIwCittc2dpZCAiIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMQorbXNnaWQgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgY291bnRlcnMgd2l0aGluIGZ1bmN0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICBUZXN0IHVudHVrIHZlcnNpIGdldG9wdCgxKVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjMKK21zZ2lkICIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHdyaXRpbmcgJXMiCittc2dzdHIgImVycm9yIG1lbnVsaXMgJXM6ICVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyNzEKKyMsIGZ1enp5Cittc2dpZCAiQXNzdW1pbmcgcmV2ZXJzZWQgYnl0ZSBvcmRlci4gVXNlIC1uIHRvIGZvcmNlIG5hdGl2ZSBieXRlIG9yZGVyLiIKK21zZ3N0ciAiTWVuZ2FzdW1zaWthbiB1cnV0YW4gYnl0ZSB0ZXJiYWxpay4gR3VuYWthbiAtbiB1bnR1ayBtZW1ha3NhIHVydXRhbiBieXRlIGFzYWwuXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2FtcGxpbmdfc3RlcDogJXVcbiIKK21zZ3N0ciAiU2FtcGxpbmdfc3RlcDogJWlcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzAyIHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMoJWkpOiB3cm9uZyBtYXAgbGluZSIKK21zZ3N0ciAiJXM6ICVzKCVpKTogc2FsYWggYmFyaXMgbWFwXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBcIl9zdGV4dFwiIGluICVzIgorbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVuY2FyaSBcIl9zdGV4dFwiIGRhbGFtICVzXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjM0NgorIywgZnV6enkKK21zZ2lkICJwcm9maWxlIGFkZHJlc3Mgb3V0IG9mIHJhbmdlLiBXcm9uZyBtYXAgZmlsZT8iCittc2dzdHIgIiVzOiBwcm9maWxlIGFsYW1hdCBkaWx1YXIgamFuZ2thdWFuLiBTYWxhaCBmaWxlIG1hcD9cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6NDA0Cittc2dpZCAidG90YWwiCittc2dzdHIgInRvdGFsIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTIKK21zZ2lkICJwcm9jZXNzIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MworbXNnaWQgInByb2Nlc3MgZ3JvdXAgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+IFstcHwtLXBpZF0gPHBpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC1nfC0tcGdycCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC11fC0tdXNlciA8dXNlcj4uLi5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlBlbmdndW5hYW46XG4iCisiIHJlbmljZSBbLW5dIHByaW9yaXRhcyBbLXB8LS1waWRdIHBpZCBbLi4uIHBpZF1cbiIKKyIgcmVuaWNlIFstbl0gcHJpb3JpdGFzICAtZ3wtLXBncnAgcGdycCBbLi4uIHBncnBdXG4iCisiIHJlbmljZSBbLW5dIHByaW9yaXRhcyAgLXV8LS11c2VyIHVzZXIgWy4uLiB1c2VyXVxuIgorIiByZW5pY2UgLWggfCAtLWhlbHBcbiIKKyIgcmVuaWNlIC12IHwgLS12ZXJzaW9uXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2NworbXNnaWQgIkFsdGVyIHRoZSBwcmlvcml0eSBvZiBydW5uaW5nIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXByaW9yaXR5IDxudW0+ICAgc3BlY2lmeSB0aGUgbmljZSBpbmNyZW1lbnQgdmFsdWVcbiIKK21zZ3N0ciAiTWFzdWtrYW4ganVtbGFoIGRhcmkgY3lsaW5kZXI6ICIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcxCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzIKK21zZ2lkICIgLWcsIC0tcGdycCA8aWQ+ICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBncm91cCBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MworbXNnaWQgIiAtdSwgLS11c2VyIDxuYW1lPnw8aWQ+IGludGVycHJldCBhcmd1bWVudCBhcyB1c2VybmFtZSBvciB1c2VyIElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICJHYWdhbCBtZW5zZXQgcGVyc29uYWxpdHkga2UgJXMiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiR2FnYWwgbWVuc2V0IHBlcnNvbmFsaXR5IGtlICVzIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCAoJXMpIG9sZCBwcmlvcml0eSAlZCwgbmV3IHByaW9yaXR5ICVkXG4iCittc2dzdHIgIiVkOiBwcmlvcml0YXMgc2ViZWx1bW55YSAlZCwgcHJpb3JpdGFzIGJhcnUgJWRcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjE3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB1c2VyICVzIgorbXNnc3RyICIlczogUGVyaW50YWggdGlkYWsgZGlrZXRhaHVpOiAlc1xuIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIG9uZSBvZiB0aGUgYWJvdmUKKyMuICogdGhyZWUgSUQgbmFtZXMuIFJlYWQ6ICJiYWQgdmFsdWUgZm9yICVzOiAlcyIKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCAlcyB2YWx1ZTogJXMiCittc2dzdHIgIm5pbGFpIHdha3R1IHRpbWVvdXQgYnVydWs6ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjk4Cittc2dpZCAiRW50ZXIgYSBzeXN0ZW0gc2xlZXAgc3RhdGUgdW50aWwgYSBzcGVjaWZpZWQgd2FrZXVwIHRpbWUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgICAgICAgICByZWFkcyB0aGUgY2xvY2sgbW9kZSBmcm9tIGFkanVzdCBmaWxlIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDUKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZXN0YW1wPiAgIGRhdGUgdGltZSBvZiB0aW1lc3RhbXAgdG8gd2FrZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA2Cittc2dpZCAiIC1kLCAtLWRldmljZSA8ZGV2aWNlPiAgICBzZWxlY3QgcnRjIGRldmljZSAocnRjMHxydGMxfC4uLilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNworbXNnaWQgIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgZG9lcyBldmVyeXRoaW5nLCBidXQgc3VzcGVuZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA4CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIHVzZXMgbG9jYWwgdGltZXpvbmVcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDkKK21zZ2lkICIgICAgIC0tbGlzdC1tb2RlcyAgICAgICAgIGxpc3QgYXZhaWxhYmxlIG1vZGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTAKK21zZ2lkICIgLW0sIC0tbW9kZSA8bW9kZT4gICAgICAgIHN0YW5kYnl8bWVtfC4uLiBzbGVlcCBtb2RlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTEKK21zZ2lkICIgLXMsIC0tc2Vjb25kcyA8c2Vjb25kcz4gIHNlY29uZHMgdG8gc2xlZXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMgorbXNnaWQgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTMKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBSVEMgdXNlcyBVVENcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTY3CisjLCBmdXp6eQorbXNnaWQgInJlYWQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICJiYWNhIGJhcmlzIHJ0YyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBzeXN0ZW0gdGltZSBmYWlsZWQiCittc2dzdHIgImJhY2Egd2FrdHUgc2lzdGVtIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE4OQorIywgZnV6enkKK21zZ2lkICJjb252ZXJ0IHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAidWJhaCB3YWt0dSBydGMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgInNldCBydGMgd2FrZSBhbGFybSBmYWlsZWQiCittc2dzdHIgInNldCBhbGFybSBiYW5ndW4gcnRjIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB0aGlyZCBsaW5lIGluOiAlczogJXMiCittc2dzdHIgImFraGlyIGRhcmkgYmVya2FzIHRpZGFrIGRpZHVnYSBkaSAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjAgc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjQKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBydGMgYWxhcm0gZmFpbGVkIgorbXNnc3RyICJha3RpZmthbiBhbGFybSBydGMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvZmZcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMzOAorIywgZnV6enkKK21zZ2lkICJjb252ZXJ0IHRpbWUgZmFpbGVkIgorbXNnc3RyICJ1YmFoIHdha3R1IHJ0YyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9uICAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQ6ICVzIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW1iYWNhICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgc3VzcGVuZCBzdGF0ZSAnJXMnIgorbXNnc3RyICIgJXM6IGtvbmRpc2kgc3VzcGVuZCB0aWRhayBkaWtlbmFsICclcydcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0NzUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzZWNvbmRzIGFyZ3VtZW50IgorbXNnc3RyICJwaWxpaGFuIHRpZGFrIHZhbGlkIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ3OQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHRpbWUgYXJndW1lbnQiCittc2dzdHIgInBpbGloYW4gdGlkYWsgdmFsaWQiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhc3N1bWluZyBSVEMgdXNlcyBVVEMgLi4uXG4iCittc2dzdHIgIiVzOiBtZW5nYXN1bXNpa2FuIFJUQyBtZW5nZ3VuYWthbiBVVEMgLi4uXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTExCittc2dpZCAiVXNpbmcgVVRDIHRpbWUuXG4iCittc2dzdHIgIk1lbmdndW5ha2FuIHdha3R1IFVUQy5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTIKK21zZ2lkICJVc2luZyBsb2NhbCB0aW1lLlxuIgorbXNnc3RyICJNZW5nZ3VuYWthbiB3YWt0dSBsb2thbC5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTUKKyMsIGZ1enp5Cittc2dpZCAibXVzdCBwcm92aWRlIHdha2UgdGltZSAoc2VlIC0tc2Vjb25kcywgLS10aW1lIGFuZCAtLWRhdGUgb3B0aW9ucykiCittc2dzdHIgIiVzOiBoYXJ1cyBtZW55ZWRpYWthbiB3YWt0dSBiYW5ndW5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBlbmFibGVkIGZvciB3YWtldXAgZXZlbnRzIgorbXNnc3RyICIlczogJXMgdGlkYWsgYWt0aWYgdW50dWsgZXZlbiBiYW5ndW5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm0gJWxkLCBzeXNfdGltZSAlbGQsIHJ0Y190aW1lICVsZCwgc2Vjb25kcyAldVxuIgorbXNnc3RyICJhbGFybSAlbGQsIHN5c190aW1lICVsZCwgcnRjX3RpbWUgJWxkLCBkZXRpayAldVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltZSBkb2Vzbid0IGdvIGJhY2t3YXJkIHRvICVzIgorbXNnc3RyICIlczogd2FrdHUgdGlkYWsgcGVyZ2kgbXVuZHVyIGtlICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlczogYmFuZ3VuIGRhcmkgXCIlc1wiIG1lbmdndW5ha2FuICVzIGRpICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIGZyb20gXCIlc1wiIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlczogYmFuZ3VuIGRhcmkgXCIlc1wiIG1lbmdndW5ha2FuICVzIGRpICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTU5CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogbm87IGxlYXZpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9mZjsgZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvbjsgcmVhZGluZyBydGNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU5MgorIywgZnV6enkKK21zZ2lkICJydGMgcmVhZCBmYWlsZWQiCittc2dzdHIgImdhZ2FsIG1lbWJhY2E6ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwNAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IGRpc2FibGU7IGRpc2FibGluZyBhbGFybVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjA4CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogc2hvdzsgcHJpbnRpbmcgYWxhcm0gaW5mb1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjE1CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogJXM7IHN1c3BlbmRpbmcgc3lzdGVtXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjkKKyMsIGZ1enp5Cittc2dpZCAiZGlzYWJsZSBydGMgYWxhcm0gaW50ZXJydXB0IGZhaWxlZCIKK21zZ3N0ciAibWVub25ha3RpZmthbiBpbnRlcnVwc2kgYWxhcm0gcnRjIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlN3aXRjaGluZyBvbiAlcy5cbiIKK21zZ3N0ciAiTWVuZ2FrdGlma2FuICVzLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGFyY2g+IFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAicGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIDxhcGxpa2FzaT4gW2FyZyAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgInBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSA8YXBsaWthc2k+IFthcmcgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk2Cittc2dpZCAiQ2hhbmdlIHRoZSByZXBvcnRlZCBhcmNoaXRlY3R1cmUgYW5kIHNldCBwZXJzb25hbGl0eSBmbGFncy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk5Cittc2dpZCAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB0dXJucyBvbiBBRERSX0xJTUlUXzMyQklUXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDAKK21zZ2lkICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIG1ha2VzIGZ1bmN0aW9uIHBvaW50ZXJzIHBvaW50IHRvIGRlc2NyaXB0b3JzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDEKK21zZ2lkICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIHR1cm5zIG9uIFNIT1JUX0lOT0RFXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDIKK21zZ2lkICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMworbXNnaWQgIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgZGlzYWJsZXMgcmFuZG9taXphdGlvbiBvZiB0aGUgdmlydHVhbCBhZGRyZXNzIHNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDQKK21zZ2lkICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHR1cm5zIG9uIFdIT0xFX1NFQ09ORFNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNQorbXNnaWQgIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgdHVybnMgb24gU1RJQ0tZX1RJTUVPVVRTXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDYKK21zZ2lkICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDcKK21zZ2lkICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHR1cm5zIG9uIE1NQVBfUEFHRV9aRVJPXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDgKK21zZ2lkICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDkKK21zZ2lkICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGlnbm9yZWQgKGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IG9ubHkpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTAKK21zZ2lkICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHR1cm5zIG9uIFVOQU1FMjZcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheSB3aGF0IG9wdGlvbnMgYXJlIGJlaW5nIHN3aXRjaGVkIG9uXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTE0CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1saXN0ICAgICAgICAgICAgICAgbGlzdCBzZXR0YWJsZSBhcmNoaXRlY3R1cmVzLCBhbmQgZXhpdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzXG4iCisiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKK21zZ3N0ciAiIgorIiVzOiAlc1xuIgorIkNvYmEgYCVzIC0taGVscCcgdW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dC5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCittc2dzdHIgIiIKKyIlczogJXNcbiIKKyJDb2JhIGAlcyAtLWhlbHAnIHVudHVrIGluZm9ybWFzaSBsZWJpaCBsYW5qdXQuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBVbnJlY29nbml6ZWQgYXJjaGl0ZWN0dXJlIgorbXNnc3RyICIlczogQXJzaXRla3R1ciB0aWRhayBkaWtlbmFsIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiS2VybmVsIGNhbm5vdCBzZXQgYXJjaGl0ZWN0dXJlIHRvICVzIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW1wZXJvbGVoIG5pbGFpIHRpbWVvdXQgdW50dWsgJXM6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzA1Cittc2dpZCAiTm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIkFyZ3VtZW4gdGlkYWsgY3VrdXAiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzIyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIkdhZ2FsIG1lbnNldCBwZXJzb25hbGl0eSBrZSAlcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNzkKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnLS1saXN0JyIKK21zZ3N0ciAiaW5wdXQgdGlkYWsgZGlrZXRhaHVpOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM4NworIywgZnV6enkKK21zZ2lkICJubyBhcmNoaXRlY3R1cmUgYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJwYW5qYW5nIGFyZ3VtZW4gdGlkYWsgZGlzcGVzaWZpa2FzaWthbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIkdhZ2FsIG1lbnNldCBwZXJzb25hbGl0eSBrZSAlcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGUgY29tbWFuZCBgJXMnLlxuIgorbXNnc3RyICJNZW5naXN1a2FuIHBlcmludGFoIGRhdGU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggZGlmZmVyZW50IHByaXZpbGVnZSBzZXR0aW5ncy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMAorbXNnaWQgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgc2hvdyBjdXJyZW50IHN0YXRlIChhbmQgZG8gbm90IGV4ZWMgYW55dGhpbmcpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDEKK21zZ2lkICIgLS1ubnAsIC0tbm8tbmV3LXByaXZzICAgIGRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDIKK21zZ2lkICIgLS1pbmgtY2FwcyA8Y2FwcywuLi4+ICAgIHNldCBpbmhlcml0YWJsZSBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMworbXNnaWQgIiAtLWJvdW5kaW5nLXNldCA8Y2Fwcz4gICAgc2V0IGNhcGFiaWxpdHkgYm91bmRpbmcgc2V0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAiIC0tcnVpZCA8dWlkPiAgICAgICAgICAgICBzZXQgcmVhbCB1aWRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA1Cittc2dpZCAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA2Cittc2dpZCAiIC0tcmdpZCA8Z2lkPiAgICAgICAgICAgICBzZXQgcmVhbCBnaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNworbXNnaWQgIiAtLWVnaWQgPGdpZD4gICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwOAorbXNnaWQgIiAtLXJldWlkIDx1aWQ+ICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwOQorbXNnaWQgIiAtLXJlZ2lkIDxnaWQ+ICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMAorbXNnaWQgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgY2xlYXIgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMQorbXNnaWQgIiAtLWtlZXAtZ3JvdXBzICAgICAgICAgICAga2VlcCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEyCittc2dpZCAiIC0tZ3JvdXBzIDxncm91cCwuLi4+ICAgICBzZXQgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMworbXNnaWQgIiAtLXNlY3VyZWJpdHMgPGJpdHM+ICAgICAgc2V0IHNlY3VyZWJpdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNAorbXNnaWQgIiAtLXNlbGludXgtbGFiZWwgPGxhYmVsPiAgc2V0IFNFTGludXggbGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNQorbXNnaWQgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgc2V0IEFwcEFybW9yIHByb2ZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyMQorbXNnaWQgIiBUaGlzIHRvb2wgY2FuIGJlIGRhbmdlcm91cy4gIFJlYWQgdGhlIG1hbnBhZ2UsIGFuZCBiZSBjYXJlZnVsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTkzIHN5cy11dGlscy9zZXRwcml2LmM6NDY3Cittc2dpZCAiZ2V0dGluZyBwcm9jZXNzIHNlY3VyZSBiaXRzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN1cmViaXRzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIltub25lXVxuIgorbXNnc3RyICJrb3NvbmciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIGxvbmciCittc2dzdHIgIkJhcmlzIHRlcmxhbHUgcGFuamFuZyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3MyBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyMSBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyNgorIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzIgc3lzLXV0aWxzL3NldHByaXYuYzozMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIltub25lXSIKK21zZ3N0ciAia29zb25nIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXVpZDogJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJzdWlkOiAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjk5IHN5cy11dGlscy9zZXRwcml2LmM6MzkxCisjLCBmdXp6eQorbXNnaWQgImdldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMwOCBzeXMtdXRpbHMvc2V0cHJpdi5jOjQwNgorIywgZnV6enkKK21zZ2lkICJnZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBnYWdhbCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRWZmZWN0aXZlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBlcm1pdHRlZCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzMAorIywgYy1mb3JtYXQKK21zZ2lkICJJbmhlcml0YWJsZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzNQorIywgYy1mb3JtYXQKK21zZ2lkICJDYXBhYmlsaXR5IGJvdW5kaW5nIHNldDogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQzCisjLCBmdXp6eQorbXNnaWQgIlNFTGludXggbGFiZWwiCittc2dzdHIgIkxpbnV4IHBsYWludGV4dCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDYKK21zZ2lkICJBcHBBcm1vciBwcm9maWxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzU5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhcCAlZDogbGliY2FwLW5nIGlzIGJyb2tlbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4MgorbXNnaWQgIkludmFsaWQgc3VwcGxlbWVudGFyeSBncm91cCBpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5OQorIywgZnV6enkKK21zZ2lkICJzZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBnYWdhbCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAic2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgZ2FnYWwiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDM1Cittc2dpZCAiYmFkIGNhcGFiaWxpdHkgc3RyaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDQzCittc2dpZCAibGliY2FwLW5nIGlzIHRvbyBvbGQgZm9yIFwiYWxsXCIgY2FwcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjYXBhYmlsaXR5IFwiJXNcIiIKK21zZ3N0ciAiQnVrYW4gZGlyZWt0b3JpICVzIVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ3NgorIywgZnV6enkKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IHNldCAtLSByZWZ1c2luZyB0byBhZGp1c3QiCittc2dzdHIgImZvcm1hdCB0aWRhayBkaWtlbmFsaSAtIG1lbmdndW5ha2FuIHNla3RvclxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ4MAorbXNnaWQgImJhZCBzZWN1cmViaXRzIHN0cmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ4NworIywgZnV6enkKK21zZ2lkICIrYWxsIHNlY3VyZWJpdHMgaXMgbm90IGFsbG93ZWQiCittc2dzdHIgIiclYycgdGlkYWsgZGlwZXJib2xlaGthbi5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDAKK21zZ2lkICJhZGp1c3Rpbmcga2VlcF9jYXBzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDQKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAiaW5wdXQgdGlkYWsgZGlrZXRhaHVpOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUyNAorbXNnaWQgIlNFTGludXggaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNsb3NlIGZhaWxlZDogJXMiCittc2dzdHIgImdhZ2FsIHNlZWsiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTQ3Cittc2dpZCAiQXBwQXJtb3IgaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NTgKK21zZ2lkICJkdXBsaWNhdGUgLS1uby1uZXctcHJpdnMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjYzCittc2dpZCAiZHVwbGljYXRlIHJ1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NjUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJ1aWQiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NjkKK21zZ2lkICJkdXBsaWNhdGUgZXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY3MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXVpZCIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY3NQorbXNnaWQgImR1cGxpY2F0ZSBydWlkIG9yIGV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJldWlkIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjgxCittc2dpZCAiZHVwbGljYXRlIHJnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJnaWQiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODcKK21zZ2lkICJkdXBsaWNhdGUgZWdpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWdpZCIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY5MworbXNnaWQgImR1cGxpY2F0ZSByZ2lkIG9yIGVnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2OTUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJlZ2lkIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzAwCittc2dpZCAiZHVwbGljYXRlIC0tY2xlYXItZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcwNgorbXNnaWQgImR1cGxpY2F0ZSAtLWtlZXAtZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcxMgorbXNnaWQgImR1cGxpY2F0ZSAtLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MjEKK21zZ2lkICJkdXBsaWNhdGUgLS1pbmgtY2FwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MjcKK21zZ2lkICJkdXBsaWNhdGUgLS1ib3VuZGluZy1zZXQgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzMzCittc2dpZCAiZHVwbGljYXRlIC0tc2VjdXJlYml0cyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MzkKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWxpbnV4LWxhYmVsIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc0NQorbXNnaWQgImR1cGxpY2F0ZSAtLWFwcGFybW9yLXByb2ZpbGUgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICclYyciCittc2dzdHIgImlucHV0IHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NjMKK21zZ2lkICItLWR1bXAgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzEKK21zZ2lkICItLWxpc3QtY2FwcyBtdXN0IGJlIHNwZWNpZmllZCBhbG9uZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3NworIywgZnV6enkKK21zZ2lkICJObyBwcm9ncmFtIHNwZWNpZmllZCIKK21zZ3N0ciAibmFtYSBiZXJrYXMgdGlkYWsgZGlzcGVzaWZpa2FzaWthbi4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgyCittc2dpZCAiLS1bcmVdZ2lkIHJlcXVpcmVzIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCBvciAtLWdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4NQorbXNnaWQgImRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MworbXNnaWQgImtlZXAgcHJvY2VzcyBjYXBhYmlsaXRpZXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODAxCittc2dpZCAiYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA3Cittc2dpZCAicmVhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjMKKyMsIGZ1enp5Cittc2dpZCAic2V0IHByb2Nlc3Mgc2VjdXJlYml0cyBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyOQorbXNnaWQgImFwcGx5IGJvdW5kaW5nIHNldCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgzNQorbXNnaWQgImFwcGx5IGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGV4ZWN1dGU6ICVzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1wZXJvbGVoIHN0YXRpc3RpayBcIiVzXCIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3VtZW50cyAuLi5dXG4iCittc2dzdHIgInBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSA8YXBsaWthc2k+IFthcmcgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzYKK21zZ2lkICJSdW4gYSBwcm9ncmFtIGluIGEgbmV3IHNlc3Npb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjM5Cittc2dpZCAiIC1jLCAtLWN0dHkgICAgIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwgdG8gdGhlIGN1cnJlbnQgb25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQwCittc2dpZCAiIC13LCAtLXdhaXQgICAgIHdhaXQgcHJvZ3JhbSB0byBleGl0LCBhbmQgdXNlIHRoZSBzYW1lIHJldHVyblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo5MworIywgZnV6enkKK21zZ2lkICJmb3JrIgorbXNnc3RyICJmb3JrOiAlcyIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjEwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hpbGQgJWQgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJtb3VudDogdGl0aWsgbW91bnQgJXMgdGlkYWsgYWRhIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEwCisjLCBmdXp6eQorbXNnaWQgInNldHNpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBhdHJpYnV0IHBpZCAlZCIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3dhcG9mZiAlc1xuIgorbXNnc3RyICIlcyBkaSAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNQorbXNnaWQgIk5vdCBzdXBlcnVzZXIuIgorbXNnc3RyICJCdWthbiBzdXBlcnVzZXIuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9mZiBmYWlsZWQiCittc2dzdHIgIiVzOiBnYWdhbCBzd2Fwb2ZmIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyMiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8c3BlYz5dXG4iCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI1Cittc2dpZCAiRGlzYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyOAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBzd2FwcyBmcm9tIC9wcm9jL3N3YXBzXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMzUKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisiUGFyYW1ldGVyIDxzcGVzaWFsPjpcbiIKKyIgey1MIGxhYmVsIHwgTEFCRUw9bGFiZWx9ICAgICAgICAgICAgIExBQkVMIGRhcmkgcGVyYW5na2F0IHlhbmcgZGlndW5ha2FuXG4iCisiIHstVSB1dWlkICB8IFVVSUQ9dXVpZH0gICAgICAgICAgICAgICBVVUlEIGRhcmkgcGVyYW5na2F0IHlhbmcgZGlndW5ha2FuXG4iCisiIDxwZXJhbmdrYXQ+ICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1hIGRhcmkgcGVyYW5na2F0IHlhbmcgZGlndW5ha2FuXG4iCisiIDxiZXJrYXM+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1hIGRhcmkgYmVya2FzIHlhbmcgZGlndW5ha2FuXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MworIywgZnV6enkKK21zZ2lkICJkZXZpY2UgZmlsZSBvciBwYXJ0aXRpb24gcGF0aCIKK21zZ3N0ciAiICAgZCAgIGhhcHVzIHNlYnVhaCBwYXJ0aXNpIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTQKKyMsIGZ1enp5Cittc2dpZCAidHlwZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJnYWdhbCBtZW1wZXJvbGVoIHN0YXRpc3RpayBkYXJpIHBhdGhcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk1CisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIHN3YXAgYXJlYSIKK21zZ3N0ciAiZ2FnYWwgbWVtcGVyb2xlaCBzdGF0aXN0aWsgZGFyaSBwYXRoXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NgorIywgZnV6enkKK21zZ2lkICJieXRlcyBpbiB1c2UiCittc2dzdHIgImRpdGFuZGFpIHNlZGFuZyBkaWd1bmFrYW4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NworIywgZnV6enkKK21zZ2lkICJzd2FwIHByaW9yaXR5IgorbXNnc3RyICJzZXRwcmlvcml0eSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk4Cittc2dpZCAic3dhcCB1dWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OQorIywgZnV6enkKK21zZ2lkICJzd2FwIGxhYmVsIgorbXNnc3RyICJ0aWRhayB0ZXJkYXBhdCBsYWJlbCwgIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzXHRcdFx0XHRUeXBlXHRcdFNpemVcdFVzZWRcdFByaW9yaXR5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI0NgorbXNnaWQgIkZpbGVuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlaW5pdGlhbGl6aW5nIHRoZSBzd2FwLiIKK21zZ3N0ciAiJXM6IE1lbmdpbmlzaWFsaXNhc2kgdWxhbmcgc3dhcC4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxzZWVrIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGxzZWVrIGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBzaWduYXR1cmUgZmFpbGVkIgorbXNnc3RyICIlczogZ2FnYWwgbWVudWxpcyB0YW5kYSB0YW5nYW4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIC0gaXQgYXBwZWFycyB0byBoYXZlIGhvbGVzLiIKK21zZ3N0ciAiJXM6IGRpbGV3YXRrYW4gIC0ga2VsaWhhdGFubnlhIG1lbWlsaWtpIGx1YmFuZy4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldCBzaXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGdhZ2FsIG1lbmRhcGF0a2FuIHVrdXJhbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBzd2FwIGhlYWRlciBmYWlsZWQiCittc2dzdHIgIiVzOiBwZW1iYWNhYW4gaGVhZGVyIHN3YXAgZ2FnYWwiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmb3VuZCBzaWduYXR1cmUgW3BhZ2VzaXplPSVkLCBzaWduYXR1cmU9JXNdIgorbXNnc3RyICIlczogZGl0ZW11a2FuIHRhbmRhIHBhcnRpc2kgc3dhcDogdmVyc2kgJWQsIHVrdXJhbi1oYWxhbWFuICVkLCBzdXN1bmFuIGJ5dGUgJXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhZ2VzaXplPSVkLCBzd2Fwc2l6ZT0lbGx1LCBkZXZzaXplPSVsbHUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGFzdF9wYWdlIDB4JTA4bGx4IGlzIGxhcmdlciB0aGFuIGFjdHVhbCBzaXplIG9mIHN3YXBzcGFjZSIKK21zZ3N0ciAiJXM6IGxhc3RfcGFnZSAweCUwOGxseCBiZXJ1a3VyYW4gbGViaWggYmVzYXIgZGFyaSBzd2Fwc3BhY2Ugc2ViZW5hcm55YSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIgorbXNnc3RyICIlczogZm9ybWF0IHN3YXAgcGFnZXNpemUgdGlkYWsgY29jb2suIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4gKFVzZSAtLWZpeHBnc3ogdG8gcmVpbml0aWFsaXplIGl0LikiCittc2dzdHIgIiVzOiBmb3JtYXQgc3dhcCBwYWdlc2l6ZSB0aWRhayBjb2Nvay4gKEd1bmFrYW4gLS1maXhwZ3N6IHVudHVrIG1lbmdpbmlzaWFsaXNhc2kgdWxhbmcuKSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc29mdHdhcmUgc3VzcGVuZCBkYXRhIGRldGVjdGVkLiBSZXdyaXRpbmcgdGhlIHN3YXAgc2lnbmF0dXJlLiIKK21zZ3N0ciAiJXM6IGFwbGlrYXNpIHN1c3BlbmQgZGF0YSB0ZXJkZXRla3NpLiBNZW51bGlzIHVsYW5nIHRhbmRhIHN3YXAuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb24gJXNcbiIKK21zZ3N0ciAiJXMgZGkgJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9uIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN3YXBvbiBnYWdhbCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vYXV0byBvcHRpb24gLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IHBpbGloYW4gdGlkYWsgZGlrZXRhaHVpIFwiLSVjXCJcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgYWN0aXZlIC0tIGlnbm9yZWQiCittc2dzdHIgImVycm9yIG1lbmdhbWJpbFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaW5hY2Nlc3NpYmxlIC0tIGlnbm9yZWQiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbnVsaXMgaW5vZGVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzkxCittc2dpZCAiRW5hYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTQKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICBlbmFibGUgYWxsIHN3YXBzIGZyb20gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk1Cittc2dpZCAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTYKK21zZ2lkICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHNpbGVudGx5IHNraXAgZGV2aWNlcyB0aGF0IGRvIG5vdCBleGlzdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTcKK21zZ2lkICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHJlaW5pdGlhbGl6ZSB0aGUgc3dhcCBzcGFjZSBpZiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk4Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBzd2FwIG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk5Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBzcGVjaWZ5IHRoZSBwcmlvcml0eSBvZiB0aGUgc3dhcCBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAwCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgZGlzcGxheSBzdW1tYXJ5IGFib3V0IHVzZWQgc3dhcCBkZXZpY2VzIChERVBSRUNBVEVEKVxuIgorbXNnc3RyICIgICAgLWwgW2F0YXUgLS1saXN0XTogICAgdGFtcGlsa2FuIHBhcnRpc2kgZGkgc2V0aWFwIHBlcmFuZ2thdCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMQorbXNnaWQgIiAgICAgLS1zaG93Wz08Y29sdW1ucz5dICAgZGlzcGxheSBzdW1tYXJ5IGluIGRlZmluYWJsZSB0YWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCB0YWJsZSBoZWFkaW5nICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMworIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA0CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHNpemUgaW4gYnl0ZXMgaW4gLS1zaG93IG91dHB1dFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTEKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisiUGFyYW1ldGVyIDxzcGVzaWFsPjpcbiIKKyIgey1MIGxhYmVsIHwgTEFCRUw9bGFiZWx9ICAgICAgICAgICAgIExBQkVMIGRhcmkgcGVyYW5na2F0IHlhbmcgZGlndW5ha2FuXG4iCisiIHstVSB1dWlkICB8IFVVSUQ9dXVpZH0gICAgICAgICAgICAgICBVVUlEIGRhcmkgcGVyYW5na2F0IHlhbmcgZGlndW5ha2FuXG4iCisiIDxwZXJhbmdrYXQ+ICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1hIGRhcmkgcGVyYW5na2F0IHlhbmcgZGlndW5ha2FuXG4iCisiIDxiZXJrYXM+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1hIGRhcmkgYmVya2FzIHlhbmcgZGlndW5ha2FuXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MjEKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGRpc2NhcmQgcG9saWN5IHR5cGVzIChmb3IgLS1kaXNjYXJkKTpcbiIKKyIgb25jZSAgICA6IG9ubHkgc2luZ2xlLXRpbWUgYXJlYSBkaXNjYXJkcyBhcmUgaXNzdWVkXG4iCisiIHBhZ2VzICAgOiBmcmVlZCBwYWdlcyBhcmUgZGlzY2FyZGVkIGJlZm9yZSB0aGV5IGFyZSByZXVzZWRcbiIKKyJJZiBubyBwb2xpY3kgaXMgc2VsZWN0ZWQsIGJvdGggZGlzY2FyZCB0eXBlcyBhcmUgZW5hYmxlZCAoZGVmYXVsdCkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgyNgorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3cpOlxuIgorbXNnc3RyICJQZXJpbnRhaCB5YW5nIHRlcnNlZGlhOlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTA0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHByaW9yaXR5IgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwcmlvcml0YXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCB0aGUgZGV2aWNlIGZvciAlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZW11a2FuIHBlcmFuZ2thdCAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NTkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGlyZWN0b3J5IgorbXNnc3RyICIlczogZ2FnYWwgdW50dWsgbWVtYnVrYTogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjcKKyMsIGZ1enp5Cittc2dpZCAic3RhdCBmYWlsZWQiCittc2dzdHIgIiVzOiBzdGF0IGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo3OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBkaXJlY3RvcnkiCittc2dzdHIgImFrYXIgaW5vZGUgYnVrYW4gc2VidWFoIGRpcmVrdG9yaSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdW5saW5rICVzIgorbXNnc3RyICIlczogZ2FnYWwgdW50dWsgbWVtYnVrYTogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvICVzIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZm9yY2luZyB1bm1vdW50IG9mICVzIgorbXNnc3RyICJNZW5jb2JhIHVudHVrIHVtb3VudCAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJuYW1laTogdGlkYWsgZGFwYXQgbWVtcGVyb2xlaCBkaXJla3Rvcmkgc2FhdCBpbmkgLSAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gLyIKK21zZ3N0ciAiJXM6IGdhZ2FsIHVudHVrIG1lbWJ1a2E6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHByaW9yaXRhcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTg4Cittc2dpZCAib2xkIHJvb3QgZmlsZXN5c3RlbSBpcyBub3QgYW4gaW5pdHJhbWZzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bmV3cm9vdGRpcj4gPGluaXQ+IDxhcmdzIHRvIGluaXQ+XG4iCittc2dzdHIgIiIKKyJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gPG5hbWEgYmVya2FzPlxuIgorIlxuIgorIlBpbGloYW46XG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwNAorbXNnaWQgIlN3aXRjaCB0byBhbm90aGVyIGZpbGVzeXN0ZW0gYXMgdGhlIHJvb3Qgb2YgdGhlIG1vdW50IHRyZWUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjM2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZC4gU29ycnkuIgorbXNnc3RyICIlcyBnYWdhbC5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgYWNjZXNzICVzIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWthIGZpbGUgJyVzJyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk0Cittc2dpZCAiU2V0IHZhcmlvdXMgcGFyYW1ldGVycyBmb3IgdGhlIGxpbmUgcHJpbnRlci5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTcKK21zZ2lkICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICBzcGVjaWZ5IHBhcmFsbGVsIHBvcnQgaXJxXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk4Cittc2dpZCAiIC10LCAtLXRpbWUgPG1zPiAgICAgICAgICAgICAgZHJpdmVyIHdhaXQgdGltZSBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTkKK21zZ2lkICIgLWMsIC0tY2hhcnMgPG51bT4gICAgICAgICAgICBudW1iZXIgb2Ygb3V0cHV0IGNoYXJhY3RlcnMgYmVmb3JlIHNsZWVwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMAorbXNnaWQgIiAtdywgLS13YWl0IDx1cz4gICAgICAgICAgICAgIHN0cm9iZSB3YWl0IGluIG1pY3JvIHNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSA8b258b2ZmPiBhcmd1bWVudHMuIFRoZQorIy4gYXJndW1lbnQgcmVhZGVyIGRvZXMgbm90IHJlY29nbml6ZSBsb2NhbGUsIHVubGVzcyBgb24nIGlzCisjLiBleGFjdGx5IHRoYXQgdmVyeSBzYW1lIHN0cmluZy4KKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDQKK21zZ2lkICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhYm9ydCBvbiBlcnJvclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDUKK21zZ2lkICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBjaGVjayBwcmludGVyIHN0YXR1cyBiZWZvcmUgcHJpbnRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA2Cittc2dpZCAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAgZXh0cmEgY2hlY2tpbmcgdG8gc3RhdHVzIGNoZWNrXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICBxdWVyeSBwcmludGVyIHN0YXR1c1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA4Cittc2dpZCAiIC1ULCAtLXRydXN0LWlycSA8b258b2ZmPiAgICAgbWFrZSBkcml2ZXIgdG8gdHJ1c3QgaXJxXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICByZXNldCB0aGUgcG9ydFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEwCittc2dpZCAiIC1xLCAtLXByaW50LWlycSA8b258b2ZmPiAgICAgZGlzcGxheSBjdXJyZW50IGlycSBzZXR0aW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGFuIGxwIGRldmljZSIKK21zZ3N0ciAiJXM6ICVzIGJ1a2FuIHNlYnVhaCBwZXJhbmdrYXQgbHAuXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODAKKyMsIGZ1enp5Cittc2dpZCAiTFBHRVRTVEFUVVMgZXJyb3IiCittc2dzdHIgIkxQR0VUSVJRIGVycm9yIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN0YXR1cyBpcyAlZCIKK21zZ3N0ciAiJXMgc3RhdHVzIGFkYWxhaCAlZCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIsIGJ1c3kiCittc2dzdHIgIiwgc2lidWsiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCByZWFkeSIKK21zZ3N0ciAiLCBzaWFwIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb3V0IG9mIHBhcGVyIgorbXNnc3RyICIsIGtlaGFiaXNhbiBrZXJ0YXMiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvbi1saW5lIgorbXNnc3RyICIsIG9uLWxpbmUiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBlcnJvciIKK21zZ3N0ciAiLCBlcnJvciIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMwMAorIywgZnV6enkKK21zZ2lkICJpb2N0bCBmYWlsZWQiCittc2dzdHIgIm1zZ2N0bCBnYWdhbCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxMAorbXNnaWQgIkxQR0VUSVJRIGVycm9yIgorbXNnc3RyICJMUEdFVElSUSBlcnJvciIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBJUlEgJWRcbiIKK21zZ3N0ciAiJXMgbWVuZ2d1bmFrYW4gSVJRICVkXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgcG9sbGluZ1xuIgorbXNnc3RyICIlcyBtZW5nZ3VuYWthbiBwb2xsaW5nXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gfCA8ZGlyZWN0b3J5PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4MQorIywgZnV6enkKK21zZ2lkICJVbm1vdW50IGZpbGVzeXN0ZW1zLlxuIgorbXNnc3RyICJNYXN1a2thbiB0aXBlIGZpbGVzeXN0ZW06ICIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg0CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICB1bm1vdW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODUKK21zZ2lkICIiCisiIC1BLCAtLWFsbC10YXJnZXRzICAgICAgIHVubW91bnQgYWxsIG1vdW50cG9pbnRzIGZvciB0aGUgZ2l2ZW4gZGV2aWNlIGluIHRoZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg3Cittc2dpZCAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OAorbXNnaWQgIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICBpZiBtb3VudGVkIGxvb3AgZGV2aWNlLCBhbHNvIGZyZWUgdGhpcyBsb29wIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OQorbXNnaWQgIiAgICAgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSB1bW91bnQoMikgc3lzY2FsbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MAorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBmb3JjZSB1bm1vdW50IChpbiBjYXNlIG9mIGFuIHVucmVhY2hhYmxlIE5GUyBzeXN0ZW0pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkxCittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIHVtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgZGV0YWNoIHRoZSBmaWxlc3lzdGVtIG5vdywgY2xlYW4gdXAgdGhpbmdzIGxhdGVyXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTQKK21zZ2lkICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk1Cittc2dpZCAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IHVubW91bnQgYSB0YXJnZXQgd2l0aCBhbGwgaXRzIGNoaWxkcmVuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk2CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBpbiBjYXNlIHVubW91bnRpbmcgZmFpbHMsIHRyeSB0byByZW1vdW50IHJlYWQtb25seVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTcKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIgICBsICAgbGlzdCB0aXBlIGZpbGVzeXN0ZW0geWFuZyBkaWtldGFodWkiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglcykgdW5tb3VudGVkIgorbXNnc3RyICIlcyB0ZWxhaCBkaSBtb3VudC5cdCAiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHVubW91bnRlZCIKK21zZ3N0ciAiZnNjazogJXM6IHRpZGFrIGRpdGVtdWthblxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW1vdW50IGZhaWxlZCIKK21zZ3N0ciAibW91bnQgZ2FnYWwiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCittc2dzdHIgIm1vdW50OiBtb3VudCBnYWdhbCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBwZXJhbmdrYXQgYmxvY2sgdGlkYWsgdmFsaWQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorbXNnc3RyICJtb3VudDogJXM6IHRpZGFrIGRhcGF0IG1lbWJhY2Egc3VwZXJibG9jayIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzOiB0YXJnZXQgaXMgYnVzeVxuIgorIiAgICAgICAgKEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gYWJvdXQgcHJvY2Vzc2VzIHRoYXRcbiIKKyIgICAgICAgICB1c2UgdGhlIGRldmljZSBpcyBmb3VuZCBieSBsc29mKDgpIG9yIGZ1c2VyKDEpLikiCittc2dzdHIgIiIKKyJ1bW91bnQ6ICVzOiBwZXJhbmdrYXQgc2lidWsuXG4iCisiICAgICAgICAoRGFsYW0gYmViZXJhcGEga2FzdXMgaW5mb3JtYXNpIGJlcmhhcmdhIHRlbnRhbmcgcHJvc2VzIHlhbmcgZGlndW5ha2FuXG4iCisiICAgICAgICAgb2xlaCBwZXJhbmdrYXQgZGFwYXQgZGl0ZW11a2FuIG9sZWggbHNvZig4KSBhdGF1IGZ1c2VyKDEpKSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50cG9pbnQgbm90IGZvdW5kIgorbXNnc3RyICJmc2NrOiAlczogdGlkYWsgZGl0ZW11a2FuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNTAKKyMsIGZ1enp5Cittc2dpZCAidW5kZWZpbmVkIG1vdW50cG9pbnQiCittc2dzdHIgIm1vdW50OiB0aWRhayBkYXBhdCBtZW5lbXVrYW4gJXMgZGFsYW0gJXMiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtdXN0IGJlIHN1cGVydXNlciB0byB1bm1vdW50IgorbXNnc3RyICJ1bW91bnQ6ICVzOiBoYXJ1cyBzdXBlcnVzZXIgdW50dWsgbWVsYWt1a2FuIHVtb3VudCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJsb2NrIGRldmljZXMgYXJlIG5vdCBwZXJtaXR0ZWQgb24gZmlsZXN5c3RlbSIKK21zZ3N0ciAidW1vdW50OiAlczogcGVyYW5na2F0IGJsb2NrIHRpZGFrIGRpaWppbmthbiBkaSBmcyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMwNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHVtb3VudCB0YXJnZXQiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMyMworIywgZnV6enkKK21zZ2lkICJsaWJtb3VudCB0YWJsZSBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibW91bnQ6IG1vdW50IGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzY2IHN5cy11dGlscy91bW91bnQuYzo0NDYKKyMsIGZ1enp5Cittc2dpZCAibGlibW91bnQgaXRlcmF0b3IgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIm1vdW50OiBtb3VudCBnYWdhbCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjM3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBjaGlsZCBmcyBvZiAlcyIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4ga2ViaWpha2FuIHBpZCAlZCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQxMCBzeXMtdXRpbHMvdW1vdW50LmM6NDMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIgorbXNnc3RyICJmc2NrOiAlczogdGlkYWsgZGl0ZW11a2FuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo0NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlICgtLWFsbC10YXJnZXRzIGlzIHVuc3VwcG9ydGVkIG9uIHN5c3RlbXMgd2l0aCByZWd1bGFyIG10YWIgZmlsZSkuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIC0tc2V0Z3JvdXBzIGFyZ3VtZW50ICclcyciCittc2dzdHIgIiVzOiBhcmd1bWVudCB0aWRhayBkaWtldGFodWk6ICVzXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTEwIHN5cy11dGlscy91bnNoYXJlLmM6MTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQgJXMiCittc2dzdHIgImdhZ2FsIG1lbnVsaXM6ICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJvcGFnYXRpb24gbW9kZTogJXMiCittc2dzdHIgIiVzOiBhcmd1bWVudCB0aWRhayBkaWtldGFodWk6ICVzXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjaGFuZ2Ugcm9vdCBmaWxlc3lzdGVtIHByb3BhZ2F0aW9uIgorbXNnc3RyICJNZW1lcmlrc2Egc2VsdXJ1aCBzaXN0ZW0gYmVya2FzLlxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHN0YXQgJXMiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbXBlcm9sZWggc3RhdGlzdGlrIFwiJXNcIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTMKKyMsIGZ1enp5Cittc2dpZCAicGlwZSBmYWlsZWQiCittc2dzdHIgImdhZ2FsIG1lbWJ1a2E6ICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIyNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwaXBlIgorbXNnc3RyICJnYWdhbCB1bnR1ayBtZW5kYXBhdGthbiBzdGF0aXN0aWs6ICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1MAorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBzb21lIG5hbWVzcGFjZXMgdW5zaGFyZWQgZnJvbSB0aGUgcGFyZW50LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUzCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTUKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU2CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU3CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTgKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OQorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICAgICB1bnNoYXJlIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjAKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmsgICAgICAgICAgICAgICAgZm9yayBiZWZvcmUgbGF1bmNoaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MQorbXNnaWQgIiAgICAgLS1tb3VudC1wcm9jWz08ZGlyPl0gIG1vdW50IHByb2MgZmlsZXN5c3RlbSBmaXJzdCAoaW1wbGllcyAtLW1vdW50KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYyCittc2dpZCAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbWFwIGN1cnJlbnQgdXNlciB0byByb290IChpbXBsaWVzIC0tdXNlcilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MworbXNnaWQgIiIKKyIgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZ5IG1vdW50IHByb3BhZ2F0aW9uIGluIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY1CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zZXRncm91cHMgYWxsb3d8ZGVueSAgY29udHJvbCB0aGUgc2V0Z3JvdXBzIHN5c2NhbGwgaW4gdXNlciBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6Mzg2Cittc2dpZCAidW5zaGFyZSBmYWlsZWQiCittc2dzdHIgInVuc2hhcmUgZ2FnYWwiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDMwCisjLCBmdXp6eQorbXNnaWQgImNoaWxkIGV4aXQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBnYWdhbCIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzcKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9ucyAtLXNldGdyb3Vwcz1hbGxvdyBhbmQgLS1tYXAtcm9vdC11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIi0tb2Zmc2V0IGRhbiAtLWFsbCBhZGFsYWggJ211dHVhbGx5IGV4Y2x1c2l2ZSciCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBmYWlsZWQiCittc2dzdHIgIm1vdW50IGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3MworbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc0Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NQorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAiRmFuIGZhaWxlZCIKK21zZ3N0ciAiJXMgZ2FnYWwuXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc3Cittc2dpZCAiS2VlcCBhbGl2ZSBwaW5nIHJlcGx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc4Cittc2dpZCAiU3VwcG9ydHMgbWFnaWMgY2xvc2UgY2hhciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OQorbXNnaWQgIlJlc2V0IGR1ZSB0byBDUFUgb3ZlcmhlYXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODAKK21zZ2lkICJQb3dlciBvdmVyIHZvbHRhZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODEKK21zZ2lkICJQb3dlciBiYWQvcG93ZXIgZmF1bHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODIKKyMsIGZ1enp5Cittc2dpZCAiUHJldGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIldha3R1IGhhYmlzIHVudHVrIExvZ2luIHNlc3VkYWggJWQgZGV0aWtcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAiU2V0IHRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJXYWt0dSBoYWJpcyB1bnR1ayBMb2dpbiBzZXN1ZGFoICVkIGRldGlrXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjg0Cittc2dpZCAiTm90IHRyaWdnZXIgcmVib290IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMAorbXNnaWQgImZsYWcgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAicGVyYW5na2F0IGJsb2NrICIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgImZsYWcgc3RhdHVzIgorbXNnc3RyICJzdGF0dXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMworIywgZnV6enkKK21zZ2lkICJmbGFnIGJvb3Qgc3RhdHVzIgorbXNnc3RyICJnYWdhbCB1bnR1ayBtZW5kYXBhdGthbiBzdGF0aXN0aWs6ICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAid2F0Y2hkb2cgZGV2aWNlIG5hbWUiCittc2dzdHIgIm1vdW50OiAlczogcGVyYW5na2F0IHRpZGFrIGRpa2V0YWh1aSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZsYWc6ICVzIgorbXNnc3RyICIlczogYXJndW1lbnQgdGlkYWsgZGlrZXRhaHVpOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxNzcKK21zZ2lkICJTaG93IHRoZSBzdGF0dXMgb2YgdGhlIGhhcmR3YXJlIHdhdGNoZG9nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE4MAorbXNnaWQgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICBwcmludCBzZWxlY3RlZCBmbGFncyBvbmx5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciBmbGFncyB0YWJsZVxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdCBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgcHJpbnQgb25seSBmbGFncyB0YWJsZSAoc2FtZSBhcyAtSSAtVClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZWZhdWx0IGRldmljZSBpcyAlcy5cbiIKK21zZ3N0ciAiUGVyYW5na2F0IGxvb3AgYWRhbGFoICVzXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE5OQorIywgZnV6enkKK21zZ2lkICJBdmFpbGFibGUgY29sdW1uczpcbiIKK21zZ3N0ciAiUGVyaW50YWggeWFuZyB0ZXJzZWRpYTpcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6Mjg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biBmbGFncyAweCV4XG4iCittc2dzdHIgIiVzOiBzaWduYWwgdGlkYWsgZGlrZXRhaHVpICVzXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMxOSBzeXMtdXRpbHMvd2RjdGwuYzozNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhdGNoZG9nIGFscmVhZHkgaW4gdXNlLCB0ZXJtaW5hdGluZy4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzMzIHN5cy11dGlscy93ZGN0bC5jOjQwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkaXNhcm0gd2F0Y2hkb2ciCittc2dzdHIgInRpZGFrIGRhcGF0IG1lcmV3aW5kIHBlcmFuZ2thdCBzd2FwIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGltZW91dCBmb3IgJXMiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbXBlcm9sZWggbmlsYWkgdGltZW91dCB1bnR1ayAlczogJXNcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmQuXG4iCittc2dpZF9wbHVyYWwgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZHMuXG4iCittc2dzdHJbMF0gIldha3R1IHNlbWVuamFrIHBlbnllc3VhaWFuIHRlcmFraGlyIGFkYWxhaCAlZCBkZXRpa1xuIgorbXNnc3RyWzFdICJXYWt0dSBzZW1lbmphayBwZW55ZXN1YWlhbiB0ZXJha2hpciBhZGFsYWggJWQgZGV0aWtcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB3YXRjaGRvZyIKK21zZ3N0ciAic2VlayBnYWdhbCBkYWxhbSB3cml0ZV90YWJsZXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NCBzeXMtdXRpbHMvd2RjdGwuYzo0Njcgc3lzLXV0aWxzL3dkY3RsLmM6NDcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlLTE0cyAlMmkgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIiUtMTRzICUyaSBzZWNvbmRzXG4iCittc2dzdHJbMF0gIiVzICAlLjZmIGRldGlrXG4iCittc2dzdHJbMV0gIiVzICAlLjZmIGRldGlrXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NQorbXNnaWQgIlRpbWVvdXQ6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2OAorIywgZnV6enkKK21zZ2lkICJQcmUtdGltZW91dDoiCittc2dzdHIgIndha3R1IGhhYmlzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NzEKK21zZ2lkICJUaW1lbGVmdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA1CisjLCBmdXp6eQorbXNnaWQgIkRldmljZToiCittc2dzdHIgIlBlcmFuZ2thdCIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA3Cittc2dpZCAiSWRlbnRpdHk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwOQorbXNnaWQgInZlcnNpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MworIywgZnV6enkKK21zZ2lkICJ6cmFtIGRldmljZSBuYW1lIgorbXNnc3RyICJtb3VudDogJXM6IHBlcmFuZ2thdCB0aWRhayBkaWtldGFodWkiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzQKK21zZ2lkICJsaW1pdCBvbiB0aGUgdW5jb21wcmVzc2VkIGFtb3VudCBvZiBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzUKK21zZ2lkICJ1bmNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc2Cittc2dpZCAiY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzcKK21zZ2lkICJ0aGUgc2VsZWN0ZWQgY29tcHJlc3Npb24gYWxnb3JpdGhtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzgKK21zZ2lkICJudW1iZXIgb2YgY29uY3VycmVudCBjb21wcmVzcyBvcGVyYXRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiZW1wdHkgcGFnZXMgd2l0aCBubyBhbGxvY2F0ZWQgbWVtb3J5IgorbXNnc3RyICJnYWdhbCBtZW5nYWxva2FzaWthbiBvdXRidWZmZXIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODAKK21zZ2lkICJhbGwgbWVtb3J5IGluY2x1ZGluZyBhbGxvY2F0b3IgZnJhZ21lbnRhdGlvbiBhbmQgbWV0YWRhdGEgb3ZlcmhlYWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MQorbXNnaWQgIm1lbW9yeSBsaW1pdCB1c2VkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgyCittc2dpZCAibWVtb3J5IHpyYW0gaGF2ZSBiZWVuIGNvbnN1bWVkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgzCittc2dpZCAibnVtYmVyIG9mIG9iamVjdHMgbWlncmF0ZWQgYnkgY29tcGFjdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjM2MyBzeXMtdXRpbHMvenJhbWN0bC5jOjM3NAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgbW1fc3RhdCIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorIiAlMSRzIC1yIDxkZXZpY2U+IFsuLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGRldmljZT4gLXMgPHNpemU+XG4iCittc2dzdHIgIlBlbmdndW5hYW46IG1rZnMgWy1WXSBbLXQgZnN0eXBlXSBbZnMtb3B0aW9uc10gZGV2aWNlIFtzaXplXVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUyNworbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCB6cmFtIGRldmljZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzAKK21zZ2lkICIgLWEsIC0tYWxnb3JpdGhtIGx6b3xsejQgICBjb21wcmVzc2lvbiBhbGdvcml0aG0gdG8gdXNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzEKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIGZpbmQgYSBmcmVlIGRldmljZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzQKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW9wdHN0cmluZyAgICAgIFBpbGloYW4gcGVuZGVrIHlhbmcgZGlrZW5hbFxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzNQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICB1c2UgcmF3IHN0YXR1cyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM2CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzNworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzOAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tc3RyZWFtcyA8bnVtYmVyPiAgICBudW1iZXIgb2YgY29tcHJlc3Npb24gc3RyZWFtc1xuIgorbXNnc3RyICIgICAgLVMjIFthdGF1IC0tc2VjdG9ycyAjXTogc2V0IGp1bWxhaCBkYXJpIHNlY3RvcnMgeWFuZyBkaWd1bmFrYW4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBhbGdvcml0aG06ICVzIgorbXNnc3RyICIlczogYXJndW1lbnQgdGlkYWsgZGlrZXRhaHVpOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYyNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RyZWFtcyIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY0OAorIywgZnV6enkKK21zZ2lkICJvcHRpb24gLS1maW5kIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxkZXZpY2U+IgorbXNnc3RyICItLW9mZnNldCBkYW4gLS1hbGwgYWRhbGFoICdtdXR1YWxseSBleGNsdXNpdmUnIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NAorbXNnaWQgIm9ubHkgb25lIDxkZXZpY2U+IGF0IGEgdGltZSBpcyBhbGxvd2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjU3Cittc2dpZCAib3B0aW9ucyAtLWFsZ29yaXRobSBhbmQgLS1zdHJlYW1zIG11c3QgYmUgY29tYmluZWQgd2l0aCAtLXNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODcgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVzZXQiCittc2dzdHIgIiVzOiBnYWdhbCB1bnR1ayBtZW1idWthOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY5OCBzeXMtdXRpbHMvenJhbWN0bC5jOjcwNgorbXNnaWQgIm5vIGZyZWUgenJhbSBkZXZpY2UgZm91bmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IG51bWJlciBvZiBzdHJlYW1zIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBhbGdvcml0aG0iCittc2dzdHIgIiVzOiBnYWdhbCB1bnR1ayBiZXJwaW5kYWgga2Ugb2ZzZXQgMHglangiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBkaXNrc2l6ZSAoJWp1IGJ5dGVzKSIKK21zZ3N0ciAiJXM6IGdhZ2FsIHVudHVrIGJlcnBpbmRhaCBrZSBvZnNldCAweCVqeCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMlcyAoYXV0b21hdGljIGxvZ2luKVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHJvb3QgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbmdla3Nla3VzaSAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHdvcmtpbmcgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiZXJyb3I6IG1lbmd1YmFoIGRpcmVrdG9yaSBrZXJqYSBrZSAlcy4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHByb2Nlc3MgcHJpb3JpdHk6ICVtIgorbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVuZW11a2FuIHByb2Nlc3MgXCIlc1wiXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBleGVjICVzOiAlbSIKK21zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbmdla3Nla3VzaSAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTU1IHRlcm0tdXRpbHMvYWdldHR5LmM6ODQxIHRlcm0tdXRpbHMvYWdldHR5LmM6ODUzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MTUgdGVybS11dGlscy9hZ2V0dHkuYzoxNDMzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NjkgdGVybS11dGlscy9hZ2V0dHkuYzoxNDc5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTUxNgorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTc4IHRlcm0tdXRpbHMvYWdldHR5LmM6MjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeTogJW0iCittc2dzdHIgImdhZ2FsIG1lbmdhbG9rYXNpa2FuIG91dGJ1ZmZlciIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo2ODAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBkZWxheSBhcmd1bWVudCIKK21zZ3N0ciAicGlsaWhhbiB0aWRhayB2YWxpZCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3MTkKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtLWxvY2FsLWxpbmUiCittc2dzdHIgImlkIHRpZGFrIHZhbGlkOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjczOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG5pY2UgYXJndW1lbnQiCittc2dzdHIgInBpbGloYW4gdGlkYWsgdmFsaWQiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODc1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzcGVlZDogJXMiCittc2dzdHIgImtlY2VwYXRhbiB5YW5nIGJ1cnVrOiAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzcKK21zZ2lkICJ0b28gbWFueSBhbHRlcm5hdGUgc3BlZWRzIgorbXNnc3RyICJ0ZXJsYWx1IGJhbnlhbiBrZWNlcGF0YW4gYWx0ZXJuYXRpdmUiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAwNiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMTAgdGVybS11dGlscy9hZ2V0dHkuYzoxMDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBvcGVuIGFzIHN0YW5kYXJkIGlucHV0OiAlbSIKK21zZ3N0ciAiL2Rldi8lczogdGlkYWsgZGFwYXQgbWVtYnVrYSBzZWJhZ2FpIHN0YW5kYXJkIGlucHV0OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIGNoYXJhY3RlciBkZXZpY2UiCittc2dzdHIgIi9kZXYvJXM6IGJ1a2FuIHNlYnVhaCBjaGFyYWN0ZXIgZGV2aWNlIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIHR0eSIKK21zZ3N0ciAiYWthciBpbm9kZSBidWthbiBzZWJ1YWggZGlyZWt0b3JpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzUgdGVybS11dGlscy9hZ2V0dHkuYzoxMDY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3QgZ2V0IGNvbnRyb2xsaW5nIHR0eTogJW0iCittc2dzdHIgIi9kZXYvJXM6IHRpZGFrIGRhcGF0IG1lbWJ1a2Egc2ViYWdhaSBzdGFuZGFyZCBpbnB1dDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogdmhhbmd1cCgpIGZhaWxlZDogJW0iCittc2dzdHIgIiVzOiBnYWdhbCBmb3JrOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBvcGVuIGZvciByZWFkL3dyaXRlIgorbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVtYnVrYSB1bnR1ayBiYWNhL3R1bGlzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBzZXQgcHJvY2VzcyBncm91cDogJW0iCittc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW5lbXVrYW4gcHJvY2VzcyBcIiVzXCJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkdXAgcHJvYmxlbTogJW0iCittc2dzdHIgIiVzOiBtYXNhbGFoIGR1cDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTExNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbXBlcm9sZWggYXRyaWJ1dCB0ZXJtaW5hbCAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMzIxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZhaWxlZDogJW0iCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbnNldCBhdHJpYnV0IHRlcm1pbmFsIHVudHVrICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NTkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gb3MtcmVsZWFzZSBmaWxlIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWthIGZpbGUgJyVzJyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNjM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHJlbG9hZCBmaWxlOiAlczogJW0iCittc2dzdHIgImdhZ2FsIG1lbWJhY2EgdHlwZXNjcmlwdCBiZXJrYXMgJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTczNgorbXNnaWQgIltwcmVzcyBFTlRFUiB0byBsb2dpbl0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzYwCittc2dpZCAiTnVtIExvY2sgb2ZmIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2MworbXNnaWQgIk51bSBMb2NrIG9uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2NgorbXNnaWQgIkNhcHMgTG9jayBvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjkKK21zZ2lkICJTY3JvbGwgTG9jayBvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJIaW50OiAlc1xuIgorIlxuIgorbXNnc3RyICJ0aXBlOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQ6ICVtIgorbXNnc3RyICIlczogbWVtYmFjYTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk1OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5wdXQgb3ZlcnJ1biIKK21zZ3N0ciAiJXM6IG1hc3VrYW4gb3ZlcnJ1biIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTc0IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgY29udmVyc2lvbiBmb3IgbG9naW4gbmFtZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgY2hhcmFjdGVyIDB4JXggaW4gbG9naW4gbmFtZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5zZXQgYXRyaWJ1dCB0ZXJtaW5hbCB1bnR1ayAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGxpbmU+IFs8YmF1ZF9yYXRlPiwuLi5dIFs8dGVybXR5cGU+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8YmF1ZF9yYXRlPiwuLi4gPGxpbmU+IFs8dGVybXR5cGU+XVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExMworbXNnaWQgIk9wZW4gYSB0ZXJtaW5hbCBhbmQgc2V0IGl0cyBtb2RlLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExNgorIywgZnV6enkKK21zZ2lkICIgLTgsIC0tOGJpdHMgICAgICAgICAgICAgICAgYXNzdW1lIDgtYml0IHR0eVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTcKK21zZ2lkICIgLWEsIC0tYXV0b2xvZ2luIDx1c2VyPiAgICAgbG9naW4gdGhlIHNwZWNpZmllZCB1c2VyIGF1dG9tYXRpY2FsbHlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTgKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGRvIG5vdCByZXNldCBjb250cm9sIG1vZGVcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE5CisjLCBmdXp6eQorbXNnaWQgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICB1c2UgLXIgPGhvc3RuYW1lPiBmb3IgbG9naW4oMSlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIwCittc2dpZCAiIC1mLCAtLWlzc3VlLWZpbGUgPGZpbGU+ICAgIGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMQorbXNnaWQgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBlbmFibGUgaGFyZHdhcmUgZmxvdyBjb250cm9sXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIyCisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS1ob3N0IDxob3N0bmFtZT4gICAgICBzcGVjaWZ5IGxvZ2luIGhvc3RcbiIKK21zZ3N0ciAiICAtcywgLS1zaGVsbD1zaGVsbCAgICAgICAgICAgIE1lbmdlc2V0IHNoZWxsIHF1b3RpbmcgY29udmVudGlvbnNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIzCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICBkbyBub3QgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBDZXRhayB0YWJlbCBwYXJ0aXNpIGRpIGxheWFyIGF0YXUga2Ugc2VidWFoIGZpbGUiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNAorbXNnaWQgIiAtSSwgLS1pbml0LXN0cmluZyA8c3RyaW5nPiBzZXQgaW5pdCBzdHJpbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjUKKyMsIGZ1enp5Cittc2dpZCAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIGRvIG5vdCBjbGVhciB0aGUgc2NyZWVuIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI2Cittc2dpZCAiIC1sLCAtLWxvZ2luLXByb2dyYW0gPGZpbGU+IHNwZWNpZnkgbG9naW4gcHJvZ3JhbVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNworbXNnaWQgIiAtTCwgLS1sb2NhbC1saW5lWz08bW9kZT5dICBjb250cm9sIHRoZSBsb2NhbCBsaW5lIGZsYWdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjgKK21zZ2lkICIgLW0sIC0tZXh0cmFjdC1iYXVkICAgICAgICAgZXh0cmFjdCBiYXVkIHJhdGUgZHVyaW5nIGNvbm5lY3RcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjkKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGRvIG5vdCBwcm9tcHQgZm9yIGxvZ2luXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICB0aWRhayBtZW51bGlzIHNlYmVuYXJueWEga2UgZGlzayIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMwCisjLCBmdXp6eQorbXNnaWQgIiAtTiAgLS1ub25ld2xpbmUgICAgICAgICAgICBkbyBub3QgcHJpbnQgYSBuZXdsaW5lIGJlZm9yZSBpc3N1ZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgQ2V0YWsgdGFiZWwgcGFydGlzaSBkaSBsYXlhciBhdGF1IGtlIHNlYnVhaCBmaWxlIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzEKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPG9wdHM+IG9wdGlvbnMgdGhhdCBhcmUgcGFzc2VkIHRvIGxvZ2luXG4iCittc2dzdHIgIiAgLWwsIC0tbG9uZ29wdGlvbnM9bG9uZ29wdHMgICBQaWxpaGFuIHBhbmphbmcgeWFuZyBkaWtlbmFsXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICB0aWRhayBtZW51bGlzIHNlYmVuYXJueWEga2UgZGlzayIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMzCittc2dpZCAiIC1yLCAtLWNocm9vdCA8ZGlyPiAgICAgICAgIGNoYW5nZSByb290IHRvIHRoZSBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzQKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgIGRvIHZpcnR1YWxseSBoYW5ndXAgb24gdGhlIHR0eVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzUKK21zZ2lkICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgdHJ5IHRvIGtlZXAgYmF1ZCByYXRlIGFmdGVyIGJyZWFrXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM2Cittc2dpZCAiIC10LCAtLXRpbWVvdXQgPG51bWJlcj4gICAgIGxvZ2luIHByb2Nlc3MgdGltZW91dFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNworbXNnaWQgIiAtVSwgLS1kZXRlY3QtY2FzZSAgICAgICAgICBkZXRlY3QgdXBwZXJjYXNlIHRlcm1pbmFsXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM4CisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICB3YWl0IGNhcnJpYWdlLXJldHVyblxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzkKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIGRvIG5vdCBwcmludCBoaW50c1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgdGlkYWsgbWVudWxpcyBzZWJlbmFybnlhIGtlIGRpc2siCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAgbm8gaG9zdG5hbWUgYXQgYWxsIHdpbGwgYmUgc2hvd25cbiIKK21zZ3N0ciAiICBwICAgICAgICAgIENldGFrIHRhYmVsIHBhcnRpc2kgZGkgbGF5YXIgYXRhdSBrZSBzZWJ1YWggZmlsZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQxCittc2dpZCAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIHNob3cgZnVsbCBxdWFsaWZpZWQgaG9zdG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDIKK21zZ2lkICIgICAgIC0tZXJhc2UtY2hhcnMgPHN0cmluZz4gYWRkaXRpb25hbCBiYWNrc3BhY2UgY2hhcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDMKK21zZ2lkICIgICAgIC0ta2lsbC1jaGFycyA8c3RyaW5nPiAgYWRkaXRpb25hbCBraWxsIGNoYXJzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ0Cittc2dpZCAiICAgICAtLWNoZGlyIDxkaXJlY3Rvcnk+ICAgIGNoZGlyIGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWRlbGF5IDxudW1iZXI+ICAgICAgIHNsZWVwIHNlY29uZHMgYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDYKK21zZ2lkICIgICAgIC0tbmljZSA8bnVtYmVyPiAgICAgICAgcnVuIGxvZ2luIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NworIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgcmVsb2FkIHByb21wdHMgb24gcnVubmluZyBhZ2V0dHkgaW5zdGFuY2VzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICB0aWRhayBtZW51bGlzIHNlYmVuYXJueWEga2UgZGlzayIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ4CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1oZWxwICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDkKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcnNpb24gICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjQ4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgdXNlciIKK21zZ2lkX3BsdXJhbCAiJWQgdXNlcnMiCittc2dzdHJbMF0gInBlbmdndW5hIgorbXNnc3RyWzFdICJwZW5nZ3VuYSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaGVja25hbWUgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2hvd24gZ2FnYWw6ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB0b3VjaCBmaWxlICVzIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWthIGZpbGUgJyVzJyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjI1Cittc2dpZCAiLS1yZWxvYWQgaXMgdW5zdXBwb3J0ZWQgb24geW91ciBzeXN0ZW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3kgfCBuXVxuIgorbXNnc3RyICIiCisiXG4iCisiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dXG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc4Cittc2dpZCAiQ29udHJvbCB3cml0ZSBhY2Nlc3Mgb2Ygb3RoZXIgdXNlcnMgdG8geW91ciB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo4MQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTI1CisjLCBmdXp6eQorbXNnaWQgInR0eW5hbWUgZmFpbGVkIgorbXNnc3RyICJ1bnNoYXJlIGdhZ2FsIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzQKKyMsIGZ1enp5Cittc2dpZCAiaXMgeSIKK21zZ3N0ciAiYWRhbGFoIHlcbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM3CisjLCBmdXp6eQorbXNnaWQgImlzIG4iCittc2dzdHIgImFkYWxhaCBuXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE0OCB0ZXJtLXV0aWxzL21lc2cuYzoxNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZSAlcyBtb2RlIGZhaWxlZCIKK21zZ3N0ciAicGVtYnVhdGFuIHNlbWFwaG9yIGdhZ2FsIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNTAKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBhbGxvd2VkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1NworbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGRlbmllZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJpZCB0aWRhayB2YWxpZDogJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVdXG4iCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTYyCittc2dpZCAiTWFrZSBhIHR5cGVzY3JpcHQgb2YgYSB0ZXJtaW5hbCBzZXNzaW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTY1Cittc2dpZCAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICBhcHBlbmQgdGhlIG91dHB1dFxuIgorIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiBydW4gY29tbWFuZCByYXRoZXIgdGhhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgorIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICByZXR1cm4gZXhpdCBjb2RlIG9mIHRoZSBjaGlsZCBwcm9jZXNzXG4iCisiIC1mLCAtLWZsdXNoICAgICAgICAgICAgIHJ1biBmbHVzaCBhZnRlciBlYWNoIHdyaXRlXG4iCisiICAgICAtLWZvcmNlICAgICAgICAgICAgIHVzZSBvdXRwdXQgZmlsZSBldmVuIHdoZW4gaXQgaXMgYSBsaW5rXG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIGJlIHF1aWV0XG4iCisiIC10LCAtLXRpbWluZ1s9PGZpbGU+XSAgIG91dHB1dCB0aW1pbmcgZGF0YSB0byBzdGRlcnIgKG9yIHRvIEZJTEUpXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJvdXRwdXQgZmlsZSBgJXMnIGlzIGEgbGlua1xuIgorIlVzZSAtLWZvcmNlIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuXG4iCisiUHJvZ3JhbSBub3Qgc3RhcnRlZC4iCittc2dzdHIgIiIKKyJQZXJpbmdhdGFuOiBgJXMnIGFkYWxhaCBzZWJ1YWggbGluay5cbiIKKyJQZW5nZ3VuYWFuIGAlcyBbcGlsaWhhbl0gJXMnIGppa2EgYW5kYSBiZW5hciAtIGJlbmFyIGluZ2luIG1lbmdndW5ha2FubnlhLlxuIgorIlNjcmlwdCB0aWRhayBiZXJqYWxhbi5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IGRvbmUsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiU2NyaXB0IHNlbGVzYWksIGZpbGUgYWRhbGFoICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MjYyCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCB3cml0ZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbnVsaXMgYmVya2FzIHNjcmlwdCwgZXJyb3I6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXMiCittc2dzdHIgIlNjcmlwdCBkaW11bGFpIGRpICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2NyaXB0IGRvbmUgb24gJXMiCittc2dzdHIgIiIKKyJcbiIKKyJTY3JpcHQgc2VsZXNhaSBkaSAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2MDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1wZXJvbGVoIGF0cmlidXQgdGVybWluYWwgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjE0CisjLCBmdXp6eQorbXNnaWQgIm9wZW5wdHkgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IGdhZ2FsXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjUyCisjLCBmdXp6eQorbXNnaWQgIm91dCBvZiBwdHkncyIKK21zZ3N0ciAiT3V0IG9mIHB0eSdzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIlNjcmlwdCBkaW11bGFpLCBmaWxlIGFkYWxhaCAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy10XSB0aW1pbmdmaWxlIFt0eXBlc2NyaXB0XSBbZGl2aXNvcl1cbiIKK21zZ3N0ciAiJXMgPGJlcmthc3Bld2FrdHU+IFs8dGlwZXNjcmlwdD4gWzxwZW1iYWdpPl1dXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDcKK21zZ2lkICJQbGF5IGJhY2sgdGVybWluYWwgdHlwZXNjcmlwdHMsIHVzaW5nIHRpbWluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjUwCittc2dpZCAiIgorIiAtdCwgLS10aW1pbmcgPGZpbGU+ICAgICBzY3JpcHQgdGltaW5nIG91dHB1dCBmaWxlXG4iCisiIC1zLCAtLXR5cGVzY3JpcHQgPGZpbGU+IHNjcmlwdCB0ZXJtaW5hbCBzZXNzaW9uIG91dHB1dCBmaWxlXG4iCisiIC1kLCAtLWRpdmlzb3IgPG51bT4gICAgIHNwZWVkIHVwIG9yIHNsb3cgZG93biBleGVjdXRpb24gd2l0aCB0aW1lIGRpdmlzb3JcbiIKKyIgLW0sIC0tbWF4ZGVsYXkgPG51bT4gICAgd2FpdCBhdCBtb3N0IHRoaXMgbWFueSBzZWNvbmRzIGJldHdlZW4gdXBkYXRlc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTEyCittc2dpZCAid3JpdGUgdG8gc3Rkb3V0IGZhaWxlZCIKK21zZ3N0ciAiZ2FnYWwgbWVudWxpcyBrZSBzdGRvdXQiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUgb24gJXMiCittc2dzdHIgImFraGlyIGRhcmkgYmVya2FzIHRpZGFrIGRpZHVnYSBkaSAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdHlwZXNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJnYWdhbCBtZW1iYWNhIHR5cGVzY3JpcHQgYmVya2FzICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE4NAorIywgZnV6enkKK21zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJkaWR1Z2Egc2VidWFoIG5vbW9yLCB0ZXRhcGkgZGlwZXJvbGVoICclcyciCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHRpbWluZyBmaWxlICVzIgorbXNnc3RyICJnYWdhbCBtZW1iYWNhIGJlcmthcyBwZXdha3R1ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltaW5nIGZpbGUgJXM6IGxpbmUgJWx1OiB1bmV4cGVjdGVkIGZvcm1hdCIKK21zZ3N0ciAiYmVya2FzIHBld2FrdHUgJXM6ICVsdTogZm9ybWF0IHlhbmcgdGlkYWsgdGVyZHVnYSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJhcmd1bWVudCBlcnJvcjogYnJpZ2h0ICVzIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgImtlY2VwYXRhbiAlZCB0aWRhayBkaWR1a3VuZyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI4CisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IHRhYnMiCittc2dzdHIgIiVzOiB0ZXJsYWx1IGJhbnlhayBhcmd1bWVuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MworbXNnaWQgIlNldCB0aGUgYXR0cmlidXRlcyBvZiBhIHRlcm1pbmFsLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NgorbXNnaWQgIiAtLXRlcm0gICAgICAgICAgPHRlcm1pbmFsX25hbWU+ICAgb3ZlcnJpZGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NworIywgZnV6enkKK21zZ2lkICIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHRvIHBvd2VyLW9uIHN0YXRlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OAorIywgZnV6enkKK21zZ2lkICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5pdCBzdHJpbmcsIGFuZCB1c2UgZGVmYXVsdCBzZXR0aW5nc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODkKKyMsIGZ1enp5Cittc2dpZCAiIC0tZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgZGVmYXVsdCB0ZXJtaW5hbCBzZXR0aW5nc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTAKK21zZ2lkICIgLS1zdG9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhdmUgY3VycmVudCB0ZXJtaW5hbCBzZXR0aW5ncyBhcyBkZWZhdWx0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkxCisjLCBmdXp6eQorbXNnaWQgIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAgZGlzcGxheSBjdXJzb3JcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MgorIywgZnV6enkKK21zZ2lkICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGtleWJvYXJkIHJlcGVhdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTMKK21zZ2lkICIgLS1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdICAgICAgICAgIGN1cnNvciBrZXkgYXBwbGljYXRpb24gbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NAorIywgZnV6enkKK21zZ2lkICIgLS1saW5ld3JhcCAgICAgIFtvbnxvZmZdICAgICAgICAgIGNvbnRpbnVlIG9uIGEgbmV3IGxpbmUgd2hlbiBhIGxpbmUgaXMgZnVsbFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTUKK21zZ2lkICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIHN3YXAgY29sb3JzIGZvciB0aGUgd2hvbGUgc2NyZWVuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk2Cittc2dpZCAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgZm9yZWdyb3VuZCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NworbXNnaWQgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGJhY2tncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTgKK21zZ2lkICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCB1bmRlcmxpbmVkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTkKK21zZ2lkICIgLS1oYmNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCBib2xkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDAKK21zZ2lkICIgICAgICAgICAgICAgICAgIDxjb2xvcj46IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMQorIywgZnV6enkKK21zZ2lkICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJvbGRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAyCisjLCBmdXp6eQorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiAgWyAtaGFsZi1icmlnaHQgW29ufG9mZl0gXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDMKK21zZ2lkICIgLS1ibGluayAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJsaW5rXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA0CisjLCBmdXp6eQorbXNnaWQgIiAtLXVuZGVybGluZSAgICAgW29ufG9mZl0gICAgICAgICAgdW5kZXJsaW5lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNQorbXNnaWQgIiAtLXJldmVyc2UgICAgICAgW29ufG9mZl0gICAgICAgICAgc3dhcCBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9yc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNgorIywgZnV6enkKK21zZ2lkICIgLS1jbGVhciAgICAgICAgIFthbGx8cmVzdF0gICAgICAgIGNsZWFyIHNjcmVlbiBhbmQgc2V0IGN1cnNvciBwb3NpdGlvblxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDcKKyMsIGZ1enp5Cittc2dpZCAiIC0tdGFicyAgICAgICAgICBbPG51bWJlcj4uLi5dICAgICBzZXQgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBzaG93IHRoZW1cbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgIFRlc3QgdW50dWsgdmVyc2kgZ2V0b3B0KDEpXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOAorIywgZnV6enkKK21zZ2lkICIgLS1jbHJ0YWJzICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIGNsZWFyIHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3IgYWxsXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICBUZXN0IHVudHVrIHZlcnNpIGdldG9wdCgxKVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDkKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICBzZXQgYSByZWd1bGFyIHRhYiBzdG9wIGludGVydmFsXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMAorbXNnaWQgIiAtLWJsYW5rICAgICAgICAgWzAtNjB8Zm9yY2V8cG9rZV0gc2V0IHRpbWUgb2YgaW5hY3Rpdml0eSBiZWZvcmUgc2NyZWVuIGJsYW5rc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMQorbXNnaWQgIiAtLWR1bXAgICAgICAgICAgWzxudW1iZXI+XSAgICAgICAgd3JpdGUgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEyCittc2dpZCAiIC0tYXBwZW5kICAgICAgICBbPG51bWJlcj5dICAgICAgICBhcHBlbmQgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEzCittc2dpZCAiIC0tZmlsZSAgICAgICAgICA8ZmlsZW5hbWU+ICAgICAgICBuYW1lIG9mIHRoZSBkdW1wIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBzZW5kIGtlcm5lbCBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNQorIywgZnV6enkKK21zZ2lkICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIGtlcm5lbCBjb25zb2xlIGxvZyBsZXZlbFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE2CisjLCBmdXp6eQorbXNnaWQgIiAtLXBvd2Vyc2F2ZSAgICAgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdXG4iCittc2dzdHIgIiAgWyAtcG93ZXJzYXZlIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXSBdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNworIywgZnV6enkKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCB2ZXNhIHBvd2Vyc2F2aW5nIGZlYXR1cmVzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgIFBlcnRhbWEgICAgIEFraGlyXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxOAorbXNnaWQgIiAtLXBvd2VyZG93biAgICAgWzAtNjBdICAgICAgICAgICAgc2V0IHZlc2EgcG93ZXJkb3duIGludGVydmFsIGluIG1pbnV0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTkKK21zZ2lkICIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIGR1cmF0aW9uIG9mIHRoZSBiZWxsIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMAorbXNnaWQgIiAtLWJmcmVxICAgICAgICAgPG51bWJlcj4gICAgICAgICAgYmVsbCBmcmVxdWVuY3kgaW4gSGVydHpcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjEKKyMsIGZ1enp5Cittc2dpZCAiIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICBzaG93IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIyCisjLCBmdXp6eQorbXNnaWQgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDMwCittc2dpZCAiZHVwbGljYXRlIHVzZSBvZiBhbiBvcHRpb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzM0CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmb3JjZSBibGFuayIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYWtzYSBwZW5naGFwdXNhblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MzkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGZvcmNlIHVuYmxhbmsiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbWFrc2EgdW5ibGFua1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NDUKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGdldCBibGFuayBzdGF0dXMiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbXBlcm9sZWggc3RhdHVzIHBlbmdoYXB1c2FuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuIG5vdCBvcGVuIGR1bXAgZmlsZSAlcyBmb3Igb3V0cHV0IgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWthIHBlcmFuZ2thdCAlcyB1bnR1ayBtZW51bGlzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjgxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgJXMgZG9lcyBub3Qgc3VwcG9ydCAlcyIKK21zZ3N0ciAiJXM6IHBlbmdndW5hIFwiJXNcIiB0aWRhayBhZGEuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjk4OAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgKHVuKXNldCBwb3dlcnNhdmUgbW9kZSIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZy11bnNldCBtb2RlIHBvd2Vyc2F2ZVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDA3IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwMTYKKyMsIGZ1enp5Cittc2dpZCAia2xvZ2N0bCBlcnJvciIKK21zZ3N0ciAia2xvZ2N0bCBlcnJvcjogJXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTAzNworIywgZnV6enkKK21zZ2lkICIkVEVSTSBpcyBub3QgZGVmaW5lZC4iCittc2dzdHIgIiVzOiAkVEVSTSB0aWRhayBkaWRlZmluaXNpa2FuLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDQ0Cittc2dpZCAidGVybWluZm8gZGF0YWJhc2UgY2Fubm90IGJlIGZvdW5kIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIHRlcm1pbmFsIHR5cGUiCittc2dzdHIgIiVzOiBzaWduYWwgdGlkYWsgZGlrZXRhaHVpICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDgKK21zZ2lkICJ0ZXJtaW5hbCBpcyBoYXJkY29weSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdG9vIG1hbnkgaW92J3MiCittc2dzdHIgImtlc2FsYWhhbiBpbnRlcm5hbCIKKworIzogdGVybS11dGlscy90dHltc2cuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICJleGNlc3NpdmVseSBsb25nIGxpbmUgYXJnIgorbXNnc3RyICJhcmcgYmFyaXMgdGVybGFsdSBwYW5qYW5nIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjEwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3BlbiBmYWlsZWQiCittc2dzdHIgImdhZ2FsIG1lbWJ1a2E6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZm9yazogJW0iCittc2dzdHIgImZvcms6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZm9yayIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVsYWt1a2FuIGZvcmsiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCQUQgRVJST1IsIG1lc3NhZ2UgaXMgZmFyIHRvbyBsb25nIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gfCA8bWVzc2FnZT5dXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl1cbiIKKyJcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODYKK21zZ2lkICJXcml0ZSBhIG1lc3NhZ2UgdG8gYWxsIHVzZXJzLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg5CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBkbyBub3QgcHJpbnQgYmFubmVyLCB3b3JrcyBvbmx5IGZvciByb290XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjkwCittc2dpZCAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEzMgorbXNnaWQgIi0tbm9iYW5uZXIgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIHJvb3QiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6MTM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJuaWxhaSB3YWt0dSB0aW1lb3V0IGJ1cnVrOiAlcyIKKworIzogdGVybS11dGlscy93YWxsLmM6MjY5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgcGFzc3dkIHVpZCIKK21zZ3N0ciAibW91bnQ6IHRpZGFrIGRhcGF0IG1lbnNldCBpZCBwZW5nZ3VuYTogJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjI3NAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IHR0eSBuYW1lIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW1wZXJvbGVoIHVrdXJhbiBkaXNrIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXNAJXMgKCVzKSAoJXMpOiIKK21zZ3N0ciAiUGVzYW4gQnJvYWRjYXN0IGRhcmkgJXNAJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjMyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgcmVhZCAlcyAtIHVzZSBzdGRpbi4iCittc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW1iYWNhICVzIC0gZ3VuYWthbiBzdGRpbi5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1c2VyPiBbPHR0eW5hbWU+XVxuIgorbXNnc3RyICIiCisiXG4iCisiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBhdGhuYW1lIFtwYXRobmFtZSAuLi5dXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo5MAorbXNnaWQgIlNlbmQgYSBtZXNzYWdlIHRvIGFub3RoZXIgdXNlci5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgImVmZmVjdGl2ZSBnaWQgZG9lcyBub3QgbWF0Y2ggZ3JvdXAgb2YgJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiIKK21zZ3N0ciAid3JpdGU6ICVzIHRpZGFrIGRpY2F0YXQgZGlcbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwNworIywgZnV6enkKK21zZ2lkICJjYW4ndCBmaW5kIHlvdXIgdHR5J3MgbmFtZSIKK21zZ3N0ciAid3JpdGU6IHRpZGFrIGRhcGF0IG1lbmNhcmkgbmFtYSBkYXJpIHR0eSdzIGFuZGFcbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIgorbXNnc3RyICJ3cml0ZTogJXMgbWVtaWxpa2kgbWVzc2FnZSBkaW1hdGlrYW5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbG9nZ2VkIGluIG1vcmUgdGhhbiBvbmNlOyB3cml0aW5nIHRvICVzIgorbXNnc3RyICJ3cml0ZTogJXMgZGljYXRhdCBkYWxhbSBsZWJpaCBkYXJpIHNhdHU7IG1lbnVsaXMgZGkgJXNcbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIzOAorIywgZnV6enkKK21zZ2lkICJjYXJlZnVscHV0YyBmYWlsZWQiCittc2dzdHIgImNhbGxvYyBnYWdhbCIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIChhcyAlcykgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiUGVzYW4gZGFyaSAlc0AlcyAoc2ViYWdhaSAlcykgZGkgJXMgcGFkYSAlcyAuLi4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICJQZXNhbiBkYXJpICVzQCVzIGRpICVzIHBhZGEgJXMgLi4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzMxCisjLCBmdXp6eQorbXNnaWQgInlvdSBoYXZlIHdyaXRlIHBlcm1pc3Npb24gdHVybmVkIG9mZiIKK21zZ3N0ciAid3JpdGU6IGlqaSBtZW51bGlzIGFuZGEgdGlkYWsgYWt0aWYuXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4gb24gJXMiCittc2dzdHIgIndyaXRlOiAlcyB0aWRhayBkaSBjYXRhdCBkaSAlcy5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIG9uICVzIgorbXNnc3RyICJ3cml0ZTogJXMgbWVtaWxpa2kgbWVzc2FnZSBkaW1hdGlrYW4gZGkgJXNcbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzQKK21zZ2lkICJGaWx0ZXIgb3V0IHJldmVyc2UgbGluZSBmZWVkcy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWIsIC0tbm8tYmFja3NwYWNlcyAgICBkbyBub3Qgb3V0cHV0IGJhY2tzcGFjZXNcbiIKKyIgLWYsIC0tZmluZSAgICAgICAgICAgICBwZXJtaXQgZm9yd2FyZCBoYWxmIGxpbmUgZmVlZHNcbiIKKyIgLXAsIC0tcGFzcyAgICAgICAgICAgICBwYXNzIHVua25vd24gY29udHJvbCBzZXF1ZW5jZXNcbiIKKyIgLWgsIC0tdGFicyAgICAgICAgICAgICBjb252ZXJ0IHNwYWNlcyB0byB0YWJzXG4iCisiIC14LCAtLXNwYWNlcyAgICAgICAgICAgY29udmVydCB0YWJzIHRvIHNwYWNlc1xuIgorIiAtbCwgLS1saW5lcyBOVU0gICAgICAgIGJ1ZmZlciBhdCBsZWFzdCBOVU0gbGluZXNcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtSCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxNDggdGV4dC11dGlscy9jb2xybS5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlcyByZWFkcyBmcm9tIHN0YW5kYXJkIGlucHV0IGFuZCB3cml0ZXMgdG8gc3RhbmRhcmQgb3V0cHV0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2wuYzoyMTIKKyMsIGZ1enp5Cittc2dpZCAiYmFkIC1sIGFyZ3VtZW50IgorbXNnc3RyICJjb2w6IGFyZ3VtZW4gJXMgdW50dWsgcGlsaWhhbiAtbCB0aWRhayBiYWlrLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjMzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2FuJ3QgYmFjayB1cCAlcy4iCittc2dzdHIgImNvbDogcGVyaW5nYXRhbjogdGlkYWsgZGFwYXQgbWVtIGJhY2sgdXAgJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM3Cittc2dpZCAicGFzdCBmaXJzdCBsaW5lIgorbXNnc3RyICJtZWxld2F0aSBiYXJpcyBwZXJ0YW1hIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjMzNworbXNnaWQgIi0tIGxpbmUgYWxyZWFkeSBmbHVzaGVkIgorbXNnc3RyICItLSBiYXJpcyBzdWRhaCBkaSBmbHVzaCIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4MSB0ZXh0LXV0aWxzL2NvbHVtbi5jOjExNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gcGVyYW5na2F0IC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg0Cittc2dpZCAiRmlsdGVyIG5yb2ZmIG91dHB1dCBmb3IgQ1JUIHByZXZpZXdpbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NworbXNnaWQgIiAtLCAgLS1uby11bmRlcmxpbmluZyAgICBzdXBwcmVzcyBhbGwgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg4CisjLCBmdXp6eQorbXNnaWQgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBwcmludCBhbGwgaGFsZi1saW5lc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW3N0YXJ0Y29sIFtlbmRjb2xdXVxuIgorbXNnc3RyICIiCisiXG4iCisiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo2NAorbXNnaWQgIkZpbHRlciBvdXQgdGhlIHNwZWNpZmllZCBjb2x1bW5zLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiZmlyc3QgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW4gdGlkYWsgYmFpayIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NworIywgZnV6enkKK21zZ2lkICJzZWNvbmQgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW4gdGlkYWsgYmFpayIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjAKK21zZ2lkICJDb2x1bW5hdGUgbGlzdHMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjMKK21zZ2lkICIgLWMsIC0tY29sdW1ucyA8d2lkdGg+ICAgIHdpZHRoIG9mIG91dHB1dCBpbiBudW1iZXIgb2YgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI0CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10YWJsZSAgICAgICAgICAgICAgY3JlYXRlIGEgdGFibGVcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI1Cittc2dpZCAiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiBwb3NzaWJsZSB0YWJsZSBkZWxpbWl0ZXJzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjYKK21zZ2lkICIiCisiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0cmluZz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnMgc2VwYXJhdG9yIGZvciB0YWJsZSBvdXRwdXQ7IGRlZmF1bHQgaXMgdHdvIHNwYWNlc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI4CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1maWxscm93cyAgICAgICAgICAgZmlsbCByb3dzIGJlZm9yZSBjb2x1bW5zXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTgyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY29sdW1ucyBhcmd1bWVudCIKK21zZ3N0ciAicGlsaWhhbiB0aWRhayB2YWxpZCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlZCBpcyB0b28gbG9uZywgb3V0cHV0IHdpbGwgYmUgdHJ1bmNhdGVkIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1NSB0ZXh0LXV0aWxzL21vcmUuYzoyMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+Li4uXG4iCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1OAorbXNnaWQgIkRpc3BsYXkgZmlsZSBjb250ZW50cyBpbiBoZXhhZGVjaW1hbCwgZGVjaW1hbCwgb2N0YWwsIG9yIGFzY2lpLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MQorbXNnaWQgIiAtYiwgLS1vbmUtYnl0ZS1vY3RhbCAgICAgIG9uZS1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjIKK21zZ2lkICIgLWMsIC0tb25lLWJ5dGUtY2hhciAgICAgICBvbmUtYnl0ZSBjaGFyYWN0ZXIgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MworbXNnaWQgIiAtQywgLS1jYW5vbmljYWwgICAgICAgICAgIGNhbm9uaWNhbCBoZXgrQVNDSUkgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NAorbXNnaWQgIiAtZCwgLS10d28tYnl0ZXMtZGVjaW1hbCAgIHR3by1ieXRlIGRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NQorbXNnaWQgIiAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIHR3by1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjYKK21zZ2lkICIgLXgsIC0tdHdvLWJ5dGVzLWhleCAgICAgICB0d28tYnl0ZSBoZXhhZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY3Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08bW9kZT5dICAgICAgaW50ZXJwcmV0IGNvbG9yIGZvcm1hdHRpbmcgc3BlY2lmaWVyc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MAorbXNnaWQgIiAtZSwgLS1mb3JtYXQgPGZvcm1hdD4gICAgIGZvcm1hdCBzdHJpbmcgdG8gYmUgdXNlZCBmb3IgZGlzcGxheWluZyBkYXRhXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcxCittc2dpZCAiIC1mLCAtLWZvcm1hdC1maWxlIDxmaWxlPiAgZmlsZSB0aGF0IGNvbnRhaW5zIGZvcm1hdCBzdHJpbmdzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcyCittc2dpZCAiIC1uLCAtLWxlbmd0aCA8bGVuZ3RoPiAgICAgaW50ZXJwcmV0IG9ubHkgbGVuZ3RoIGJ5dGVzIG9mIGlucHV0XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTczCittc2dpZCAiIC1zLCAtLXNraXAgPG9mZnNldD4gICAgICAgc2tpcCBvZmZzZXQgYnl0ZXMgZnJvbSB0aGUgYmVnaW5uaW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTc0CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS1uby1zcXVlZXppbmcgICAgICAgIG91dHB1dCBpZGVudGljYWwgbGluZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLWRpc3BsYXkuYzozNjUKKyMsIGZ1enp5Cittc2dpZCAiYWxsIGlucHV0IGZpbGUgYXJndW1lbnRzIGZhaWxlZCIKK21zZ3N0ciAiYWt0aWZrYW4gYWxhcm0gcnRjIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkIGJ5dGUgY291bnQgZm9yIGNvbnZlcnNpb24gY2hhcmFjdGVyICVzIgorbXNnc3RyICJoZXhkdW1wOiBwZW5naGl0dW5nIGJ5dGUgYnVydWsgdW50dWsga29udmVyc2kga2FyYWt0ZXIgJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlJXMgcmVxdWlyZXMgYSBwcmVjaXNpb24gb3IgYSBieXRlIGNvdW50IgorbXNnc3RyICJoZXhkdW1wOiAlJXMgbWVtYnV0dWhrYW4gc2VidWFoIHByZXNpc2kgYXRhdSBzZWJ1YWggcGVuZ2hpdHVuZyBieXRlLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkIGZvcm1hdCB7JXN9IgorbXNnc3RyICJoZXhkdW1wOiBmb3JtYXQgYnVydWsgeyVzfVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbnZlcnNpb24gY2hhcmFjdGVyICUlJXMiCittc2dzdHIgImhleGR1bXA6IGthcmFrdGVyIGtvbnZlcnNpIGJ1cnVrICUlJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjQzNgorIywgZnV6enkKK21zZ2lkICJieXRlIGNvdW50IHdpdGggbXVsdGlwbGUgY29udmVyc2lvbiBjaGFyYWN0ZXJzIgorbXNnc3RyICJoZXhkdW1wOiBieXRlIGNvdW50IGRlbmdhbiBiZWJlcmFwYSBrb252ZXJzaSBrYXJha3Rlci5cbiIKKworIzogdGV4dC11dGlscy9saW5lLmM6MzMKK21zZ2lkICJSZWFkIG9uZSBsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIyOAorbXNnaWQgIkEgZmlsZSBwZXJ1c2FsIGZpbHRlciBmb3IgQ1JUIHZpZXdpbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjMxCisjLCBmdXp6eQorbXNnaWQgIiAtZCAgICAgICAgICBkaXNwbGF5IGhlbHAgaW5zdGVhZCBvZiByaW5naW5nIGJlbGxcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjMyCisjLCBmdXp6eQorbXNnaWQgIiAtZiAgICAgICAgICBjb3VudCBsb2dpY2FsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgdGlkYWsgbWVudWxpcyBzZWJlbmFybnlhIGtlIGRpc2siCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMworIywgZnV6enkKK21zZ2lkICIgLWwgICAgICAgICAgc3VwcHJlc3MgcGF1c2UgYWZ0ZXIgZm9ybSBmZWVkXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBDZXRhayB0YWJlbCBwYXJ0aXNpIGRpIGxheWFyIGF0YXUga2Ugc2VidWFoIGZpbGUiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNAorIywgZnV6enkKK21zZ2lkICIgLWMgICAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIHRpZGFrIG1lbnVsaXMgc2ViZW5hcm55YSBrZSBkaXNrIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzUKKyMsIGZ1enp5Cittc2dpZCAiIC1wICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGNsZWFuIHNjcmVlbiBhbmQgZGlzcGxheSB0ZXh0XG4iCittc2dzdHIgIiAgcCAgICAgICAgICBDZXRhayB0YWJlbCBwYXJ0aXNpIGRpIGxheWFyIGF0YXUga2Ugc2VidWFoIGZpbGUiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNgorIywgZnV6enkKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzcKK21zZ2lkICIgLXUgICAgICAgICAgc3VwcHJlc3MgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiIC08bnVtYmVyPiAgIHRoZSBudW1iZXIgb2YgbGluZXMgcGVyIHNjcmVlbmZ1bFxuIgorbXNnc3RyICJNYXN1a2thbiBqdW1sYWggZGFyaSBjeWxpbmRlcjogIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzkKK21zZ2lkICIgKzxudW1iZXI+ICAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIGxpbmUgbnVtYmVyXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQwCittc2dpZCAiICsvPHN0cmluZz4gIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBzZWFyY2ggc3RyaW5nIG1hdGNoXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQxCisjLCBmdXp6eQorbXNnaWQgIiAtViAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NDg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbiAtJXMiCittc2dzdHIgIiVzOiBwaWxpaGFuIHRpZGFrIGRpa2V0YWh1aSBcIi0lY1wiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjUwOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqICVzOiBkaXJlY3RvcnkgKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKiogJXM6IGRpcmVrdG9yaSAqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKioqKioqKiAlczogTm90IGEgdGV4dCBmaWxlICoqKioqKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKioqKioqKiAlczogQnVrYW4gc2VidWFoIGZpbGUgdGV4dCAqKioqKioqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1VzZSBxIG9yIFEgdG8gcXVpdF0iCittc2dzdHIgIltHdW5ha2FuIHEgYXRhdSBRIHVudHVrIGJlcmhlbnRpXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tTW9yZS0tIgorbXNnc3RyICItLUxlYmloLS0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjcyNgorIywgYy1mb3JtYXQKK21zZ2lkICIoTmV4dCBmaWxlOiAlcykiCittc2dzdHIgIihGaWxlIHNlbGFuanV0bnlhOiAlcykiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjczNAorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3Mgc3BhY2UgdG8gY29udGludWUsICdxJyB0byBxdWl0Ll0iCittc2dzdHIgIltUZWthbiBzcGFzaSB1bnR1ayBtZWxhbmp1dGthbiwgJ3EnIHVudHVrIGJlcmhlbnRpLl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjExNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi4uLmJhY2sgJWQgcGFnZSIKK21zZ2lkX3BsdXJhbCAiLi4uYmFjayAlZCBwYWdlcyIKK21zZ3N0clswXSAiLi4ua2VtYmFsaSAlZCBoYWxhbWFuIgorbXNnc3RyWzFdICIuLi5rZW1iYWxpICVkIGhhbGFtYW4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi4uLnNraXBwaW5nICVkIGxpbmUiCittc2dpZF9wbHVyYWwgIi4uLnNraXBwaW5nICVkIGxpbmVzIgorbXNnc3RyWzBdICIuLi5tZWxld2F0aSAlZCBiYXJpcyIKK21zZ3N0clsxXSAiLi4ubWVsZXdhdGkgJWQgYmFyaXMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNDgKK21zZ2lkICIiCisiXG4iCisiKioqQmFjayoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqS2VtYmFsaSoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjYzCisjLCBmdXp6eQorbXNnaWQgIk5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKK21zZ3N0ciAiUmVndWxhciBleHByZXNzaW9uIGJvdGNoIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjkzCittc2dpZCAiIgorIlxuIgorIk1vc3QgY29tbWFuZHMgb3B0aW9uYWxseSBwcmVjZWRlZCBieSBpbnRlZ2VyIGFyZ3VtZW50IGsuICBEZWZhdWx0cyBpbiBicmFja2V0cy5cbiIKKyJTdGFyICgqKSBpbmRpY2F0ZXMgYXJndW1lbnQgYmVjb21lcyBuZXcgZGVmYXVsdC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlYmFnaWFuIGJlc2FyIHBlcmludGFoIGJpc2EgZGlhd2FsaSBkZW5nYW4gYXJndW1lbiBpbnRlZ2VyIGsuIERlZmF1bHQgZGFsYW0gYnJhY2tldHMuXG4iCisiQmludGFuZyAoKikgbWVuZ2luZGlrYXNpa2FuIGFyZ3VtZW50IG1lbmphZGkgYmFydSBzZWNhcmEgZGVmYXVsdC5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTMwMAorbXNnaWQgIiIKKyI8c3BhY2U+ICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXVxuIgorInogICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdKlxuIgorIjxyZXR1cm4+ICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgWzFdKlxuIgorImQgb3IgY3RybC1EICAgICAgICAgICAgIFNjcm9sbCBrIGxpbmVzIFtjdXJyZW50IHNjcm9sbCBzaXplLCBpbml0aWFsbHkgMTFdKlxuIgorInEgb3IgUSBvciA8aW50ZXJydXB0PiAgIEV4aXQgZnJvbSBtb3JlXG4iCisicyAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgbGluZXMgb2YgdGV4dCBbMV1cbiIKKyJmICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBzY3JlZW5mdWxzIG9mIHRleHQgWzFdXG4iCisiYiBvciBjdHJsLUIgICAgICAgICAgICAgU2tpcCBiYWNrd2FyZHMgayBzY3JlZW5mdWxzIG9mIHRleHQgWzFdXG4iCisiJyAgICAgICAgICAgICAgICAgICAgICAgR28gdG8gcGxhY2Ugd2hlcmUgcHJldmlvdXMgc2VhcmNoIHN0YXJ0ZWRcbiIKKyI9ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgbGluZSBudW1iZXJcbiIKKyIvPHJlZ3VsYXIgZXhwcmVzc2lvbj4gICBTZWFyY2ggZm9yIGt0aCBvY2N1cnJlbmNlIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbiBbMV1cbiIKKyJuICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggZm9yIGt0aCBvY2N1cnJlbmNlIG9mIGxhc3Qgci5lIFsxXVxuIgorIiE8Y21kPiBvciA6ITxjbWQ+ICAgICAgIEV4ZWN1dGUgPGNtZD4gaW4gYSBzdWJzaGVsbFxuIgorInYgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0IHVwIC91c3IvYmluL3ZpIGF0IGN1cnJlbnQgbGluZVxuIgorImN0cmwtTCAgICAgICAgICAgICAgICAgIFJlZHJhdyBzY3JlZW5cbiIKKyI6biAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggbmV4dCBmaWxlIFsxXVxuIgorIjpwICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBwcmV2aW91cyBmaWxlIFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBmaWxlIG5hbWUgYW5kIGxpbmUgbnVtYmVyXG4iCisiLiAgICAgICAgICAgICAgICAgICAgICAgUmVwZWF0IHByZXZpb3VzIGNvbW1hbmRcbiIKK21zZ3N0ciAiIgorIjxzcGFzaT4gICAgICAgICAgICAgICAgIFRhbXBpbGthbiBrIGJhcmlzIGJlcmlrdXRueWEgZGFyaSB0ZXh0IFt1a3VyYW4gc2NyZWVuIHNhYXQgaW5pXVxuIgorInogICAgICAgICAgICAgICAgICAgICAgIFRhbXBpbGthbiBrIGJhcmlzIGJlcmlrdXRueWEgZGFyaSB0ZXh0IFt1a3VyYW4gc2NyZWVuIHNhYXQgaW5pXSpcbiIKKyI8cmV0dXJuPiAgICAgICAgICAgICAgICBUYW1waWxrYW4gayBiYXJpcyBiZXJpa3V0bnlhIGRhcmkgdGV4dCBbMV0qXG4iCisiZCBhdGF1IGN0cmwtRCAgICAgICAgICAgU2Nyb2xsIGsgYmFyaXMgWyB1a3VyYW4gc2Nyb2xsIHNhYXQgaW5pLCBpbmlzaWFsIDExXSpcbiIKKyJxIGF0YXUgUSBhdGF1IDxpbnRlcnVwPiBLZWx1YXIgZGFyaSBtb3JlXG4iCisicyAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgYmFyaXMgZGFyaSB0ZXh0IFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgZGFyaSB0ZXh0IFsxXVxuIgorImIgYXRhdSBjdHJsLUIgICAgICAgICAgIFNraXAgYmFja3dhcmRzIGsgc2NyZWVuZnVscyBkYXJpIHRleHQgWzFdXG4iCisiJyAgICAgICAgICAgICAgICAgICAgICAgUGVyZ2kga2UgdGVtcGF0IGRpbWFuYSBwZW5jYXJpYW4gc2ViZWx1bW55YSBkaW11bGFpXG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAgVGFtcGlsa2FuIG5vbW9yIGJhcmlzIHNhYXQgaW5pXG4iCisiLzxyZWd1bGFyIGV4cHJlc3Npb24+ICAgUGVuY2FyaWFuIHVudHVrIGtlIGsga2VqYWRpYW4gZGFyaSByZWd1YWxhciBleHByZXNzaW9uIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFBlbmNhcmlhbiB1bnR1ayBrZSBrIGtlamFkaWFuIGRhcmkgdGVyYWtoaXIgci5lIFsxXVxuIgorIiE8Y21kPiBhdGF1IDohPGNtZD4gICAgIE1lbmphbGFua2FuIDxjbWQ+IGRhbGFtIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgdXAgL3Vzci9iaW4vdmkgZGkgYmFyaXMgc2FhdCBpbmlcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICBHYW1iYXIgdWxhbmcgbGF5YXJcbiIKKyI6biAgICAgICAgICAgICAgICAgICAgICBQZXJnaSBrZSBrIGZpbGUgc2VsYW5qdXRueWEgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgUGVyZ2kga2UgayBmaWxlIHNlYmVsdW1ueWEgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgVGFtcGlsa2FuIG5hbWEgZmlsZSBzYWF0IGluaSBkYW4gbm9tb3IgYmFyaXNcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBVbGFuZ2kgcGVyaW50YWggc2ViZWx1bW55YVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzczIHRleHQtdXRpbHMvbW9yZS5jOjEzNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzICdoJyBmb3IgaW5zdHJ1Y3Rpb25zLl0iCittc2dzdHIgIltUZWthbiAnaCcgdW50dWsgaW5zdHJ1a3NpLl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGxpbmUgJWQiCittc2dzdHIgIlwiJXNcIiBiYXJpcyAlZCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQxMgorIywgYy1mb3JtYXQKK21zZ2lkICJbTm90IGEgZmlsZV0gbGluZSAlZCIKK21zZ3N0ciAiW0J1a2FuIHNlYnVhaCBmaWxlXSBiYXJpcyAlZCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQ5NAorbXNnaWQgIiAgT3ZlcmZsb3dcbiIKK21zZ3N0ciAiICBPdmVyZmxvd1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTQzCittc2dpZCAiLi4uc2tpcHBpbmdcbiIKK21zZ3N0ciAiLi4ubWVsZXdhdGlcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU3NworbXNnaWQgIiIKKyJcbiIKKyJQYXR0ZXJuIG5vdCBmb3VuZFxuIgorbXNnc3RyICIiCisiXG4iCisiUGF0dGVybiB0aWRhayBkaXRlbXVrYW5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU4MyB0ZXh0LXV0aWxzL3BnLmM6MTAyNyB0ZXh0LXV0aWxzL3BnLmM6MTE3MworbXNnaWQgIlBhdHRlcm4gbm90IGZvdW5kIgorbXNnc3RyICJQYXR0ZXJuIHRpZGFrIGRpdGVtdWthbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTYyOQorbXNnaWQgImV4ZWMgZmFpbGVkXG4iCittc2dzdHIgImdhZ2FsIGVrc2VrdXNpXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NDMKK21zZ2lkICJjYW4ndCBmb3JrXG4iCittc2dzdHIgInRpZGFrIGRhcGF0IGZvcmtcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY3NworbXNnaWQgIiIKKyJcbiIKKyIuLi5Ta2lwcGluZyAiCittc2dzdHIgIiIKKyJcbiIKKyIuLi5NZWxld2F0aSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY4MQorbXNnaWQgIi4uLlNraXBwaW5nIHRvIGZpbGUgIgorbXNnc3RyICIuLi5NZWxld2F0aSBrZSBmaWxlICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY4MworbXNnaWQgIi4uLlNraXBwaW5nIGJhY2sgdG8gZmlsZSAiCittc2dzdHIgIi4uLk1lbGV3YXRpIGtlbWJhbGkga2UgZmlsZSAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE5NzMKK21zZ2lkICJMaW5lIHRvbyBsb25nIgorbXNnc3RyICJCYXJpcyB0ZXJsYWx1IHBhbmphbmciCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIwMTAKK21zZ2lkICJObyBwcmV2aW91cyBjb21tYW5kIHRvIHN1YnN0aXR1dGUgZm9yIgorbXNnc3RyICJUaWRhayBhZGFsYWggcGVyaW50YWggc2ViZWx1bW55YSB1bnR1ayBkaWdhbnRpa2FuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTQ0CisjLCBmdXp6eQorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBoICAgICAgICAgICAgICAgICAgICAgICB0aGlzIHNjcmVlblxuIgorIiAgcSBvciBRICAgICAgICAgICAgICAgICAgcXVpdCBwcm9ncmFtXG4iCisiICA8bmV3bGluZT4gICAgICAgICAgICAgICBuZXh0IHBhZ2VcbiIKKyIgIGYgICAgICAgICAgICAgICAgICAgICAgIHNraXAgYSBwYWdlIGZvcndhcmRcbiIKKyIgIGQgb3IgXkQgICAgICAgICAgICAgICAgIG5leHQgaGFsZnBhZ2VcbiIKKyIgIGwgICAgICAgICAgICAgICAgICAgICAgIG5leHQgbGluZVxuIgorIiAgJCAgICAgICAgICAgICAgICAgICAgICAgbGFzdCBwYWdlXG4iCisiICAvcmVnZXgvICAgICAgICAgICAgICAgICBzZWFyY2ggZm9yd2FyZCBmb3IgcmVnZXhcbiIKKyIgID9yZWdleD8gb3IgXnJlZ2V4XiAgICAgIHNlYXJjaCBiYWNrd2FyZCBmb3IgcmVnZXhcbiIKKyIgIC4gb3IgXkwgICAgICAgICAgICAgICAgIHJlZHJhdyBzY3JlZW5cbiIKKyIgIHcgb3IgeiAgICAgICAgICAgICAgICAgIHNldCBwYWdlIHNpemUgYW5kIGdvIHRvIG5leHQgcGFnZVxuIgorIiAgcyBmaWxlbmFtZSAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IGZpbGUgdG8gZmlsZW5hbWVcbiIKKyIgICFjb21tYW5kICAgICAgICAgICAgICAgIHNoZWxsIGVzY2FwZVxuIgorIiAgcCAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gcHJldmlvdXMgZmlsZVxuIgorIiAgbiAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gbmV4dCBmaWxlXG4iCisiXG4iCisiTWFueSBjb21tYW5kcyBhY2NlcHQgcHJlY2VkaW5nIG51bWJlcnMsIGZvciBleGFtcGxlOlxuIgorIisxPG5ld2xpbmU+IChuZXh0IHBhZ2UpOyAtMTxuZXdsaW5lPiAocHJldmlvdXMgcGFnZSk7IDE8bmV3bGluZT4gKGZpcnN0IHBhZ2UpLlxuIgorIlxuIgorIlNlZSBwZygxKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyJTZW11YSBoYWsgZGlsaW5kdW5naS5cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBoICAgICAgICAgICAgICAgICAgICAgICBsaWhhdCBsYXlhclxuIgorIiAgcSBhdGF1IFEgICAgICAgICAgICAgICAgYmVyaGVudGkgZGFyaSBhcGxpa2FzaVxuIgorIiAgPGJhcmlzIGJhcnU+ICAgICAgICAgICAgaGFsYW1hbiBzZWxhbmp1dG55YVxuIgorIiAgZiAgICAgICAgICAgICAgICAgICAgICAgbGV3YXRrYW4gc2VidWFoIGhhbGFtYW4ga2VkZXBhblxuIgorIiAgZCBhdGF1IF5EICAgICAgICAgICAgICAgc2VsYW5qdXRueWEgc2V0ZW5nYWggaGFsYW1hblxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgYmFyaXMgc2VsYW5qdXRueWFcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIGhhbGFtYW4gdGVyYWtoaXJcbiIKKyIgIC9yZWdleC8gICAgICAgICAgICAgICAgIGNhcmkga2VkZXBhbiB1bnR1ayByZWdleFxuIgorIiAgP3JlZ2V4PyBhdGF1IF5yZWdleF4gICAgY2FyaSBrZWJlbGFrYW5nIHVudHVrIHJlZ2V4XG4iCisiICAuIGF0YXUgXkwgICAgICAgICAgICAgICBnYW1iYXIgdWxhbmcgbGF5YXJcbiIKKyIgIHcgYXRhdSB6ICAgICAgICAgICAgICAgIHNldCB1a3VyYW4gaGFsYW1hbiBkYW4gcGVyZ2kga2UgaGFsYW1hbiBzZWxhbmp1dG55YVxuIgorIiAgcyBuYW1hIGJlcmthcyAgICAgICAgICAgc2ltcGFuIGJlcmthcyBzZWthcmFuZyBrZSBuYW1hIGJlcmthc1xuIgorIiAgIXBlcmludGFoICAgICAgICAgICAgICAga2VsdWFyIGtlIHNoZWxsXG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICBwZXJnaSBrZSBiZXJrYXMgc2ViZWx1bW55YVxuIgorIiAgbiAgICAgICAgICAgICAgICAgICAgICAgcGVyZ2kga2UgYmVya2FzIHNlbGFuanV0bnlhXG4iCisiXG4iCisiQmFueWFrIHBlcmludGFoIG1lbmVyaW1hIGF3YWxhbiBhbmdrYSwgc2ViYWdhaSBjb250b2g6XG4iCisiKzE8YmFyaXMgYmFydT4gKGhhbGFtYW4gc2VsYW5qdXRueWEpOyAtMTxiYXJpcyBiYXJ1PiAoaGFsYW1hbiBzZWJlbHVtbnlhKTsgMTxiYXJpcyBiYXJ1PiAoaGFsYW1hbiBwZXJ0YW1hKS5cbiIKKyJcbiIKKyJMaWhhdCBwZygxKSB1bnR1ayBpbmZvcm1hc2kgbGViaWggbGFuanV0LlxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMjYKK21zZ2lkICJCcm93c2UgcGFnZXdpc2UgdGhyb3VnaCB0ZXh0IGZpbGVzLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMjkKK21zZ2lkICIgLW51bWJlciAgICAgIGxpbmVzIHBlciBwYWdlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMAorbXNnaWQgIiAtYyAgICAgICAgICAgY2xlYXIgc2NyZWVuIGJlZm9yZSBkaXNwbGF5aW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMQorIywgZnV6enkKK21zZ2lkICIgLWUgICAgICAgICAgIGRvIG5vdCBwYXVzZSBhdCBlbmQgb2YgYSBmaWxlXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBDZXRhayB0YWJlbCBwYXJ0aXNpIGRpIGxheWFyIGF0YXUga2Ugc2VidWFoIGZpbGUiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzIKKyMsIGZ1enp5Cittc2dpZCAiIC1mICAgICAgICAgICBkbyBub3Qgc3BsaXQgbG9uZyBsaW5lc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgdGlkYWsgbWVudWxpcyBzZWJlbmFybnlhIGtlIGRpc2siCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzMKK21zZ2lkICIgLW4gICAgICAgICAgIHRlcm1pbmF0ZSBjb21tYW5kIHdpdGggbmV3IGxpbmVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM0Cittc2dpZCAiIC1wIDxwcm9tcHQ+ICBzcGVjaWZ5IHByb21wdFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzUKK21zZ2lkICIgLXIgICAgICAgICAgIGRpc2FsbG93IHNoZWxsIGVzY2FwZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzYKKyMsIGZ1enp5Cittc2dpZCAiIC1zICAgICAgICAgICBwcmludCBtZXNzYWdlcyB0byBzdGRvdXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNworbXNnaWQgIiArbnVtYmVyICAgICAgc3RhcnQgYXQgdGhlIGdpdmVuIGxpbmVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM4Cittc2dpZCAiICsvcGF0dGVybi8gICBzdGFydCBhdCB0aGUgbGluZSBjb250YWluaW5nIHBhdHRlcm5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gJXMiCittc2dzdHIgIiVzOiBwaWxpaGFuIG1lbWJ1dHVoa2FuIHNlYnVhaCBhcmd1bWVuIC0tICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgb3B0aW9uIC0tICVzIgorbXNnc3RyICIlczogcGlsaWhhbiBpbGxlZ2FsIC0tICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNTkKK21zZ2lkICIuLi5za2lwcGluZyBmb3J3YXJkXG4iCittc2dzdHIgIi4uLm1lbGV3YXRpIGZvcndhcmRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM2MQorbXNnaWQgIi4uLnNraXBwaW5nIGJhY2t3YXJkXG4iCittc2dzdHIgIi4uLm1lbGV3YXRpIGJhY2t3YXJkXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNzcKK21zZ2lkICJObyBuZXh0IGZpbGUiCittc2dzdHIgIlRpZGFrIGFkYSBmaWxlIHNlbGFuanV0bnlhIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzgxCittc2dpZCAiTm8gcHJldmlvdXMgZmlsZSIKK21zZ3N0ciAiVGlkYWsgYWRhIGZpbGUgc2ViZWx1bW55YSIKKworIzogdGV4dC11dGlscy9wZy5jOjg4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvciBmcm9tICVzIGZpbGUiCittc2dzdHIgIiVzOiBSZWFkIGVycm9yIGRhcmkgZmlsZSAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIEVPRiBpbiAlcyBmaWxlIgorbXNnc3RyICIlczogRU9GIHRpZGFrIGRpcGVya2lyYWthbiBkYWxhbSBmaWxlICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gZXJyb3IgaW4gJXMgZmlsZSIKK21zZ3N0ciAiJXM6IEVycm9yIHRpZGFrIGRpa2V0YWh1aSBkYWxhbSBmaWxlICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NDEKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiJXM6IFRpZGFrIGRhcGF0IG1lbWJ1YXQgdGVtcGZpbGVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjk1MCB0ZXh0LXV0aWxzL3BnLmM6MTExNCB0ZXh0LXV0aWxzL3BnLmM6MTE0MAorbXNnaWQgIlJFIGVycm9yOiAiCittc2dzdHIgIlJFIGVycm9yOiAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMDk3Cittc2dpZCAiKEVPRikiCittc2dzdHIgIihFT0YpIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTEyMiB0ZXh0LXV0aWxzL3BnLmM6MTE0OAorbXNnaWQgIk5vIHJlbWVtYmVyZWQgc2VhcmNoIHN0cmluZyIKK21zZ3N0ciAiVGlkYWsgYWRhIHlhbmcgZGlpbmdhdCBzdHJpbmcgcGVuY2FyaWFuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTIwMworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiAiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1a2EgJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjU1Cittc2dpZCAic2F2ZWQiCittc2dzdHIgImRpc2ltcGFuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM0NQorbXNnaWQgIjogIWNvbW1hbmQgbm90IGFsbG93ZWQgaW4gcmZsYWcgbW9kZS5cbiIKK21zZ3N0ciAiOiAhY29tbWFuZCB0aWRhayBkaXBlcmJvbGVoa2FuIGRhbGFtIG1vZGUgcmZsYWcuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzgwCittc2dpZCAiZm9yaygpIGZhaWxlZCwgdHJ5IGFnYWluIGxhdGVyXG4iCittc2dzdHIgImZvcmsoKSBnYWdhbCwgY29iYSBsYWdpIG5hbnRpXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNDY4Cittc2dpZCAiKE5leHQgZmlsZTogIgorbXNnc3RyICIoRmlsZSBzZWxhbmp1dG55YTogIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTUzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlcyBDb3B5cmlnaHQgKGMpIDIwMDAtMjAwMSBHdW5uYXIgUml0dGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTg3IHRleHQtdXRpbHMvcGcuYzoxNjYwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMgcGVyIHBhZ2UiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogdGV4dC11dGlscy9yZXYuYzo3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6ODAKK21zZ2lkICJSZXZlcnNlIGxpbmVzIGNoYXJhY3Rlcndpc2UuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJpbmNvbXBsZXRlIHdyaXRlIHRvIFwiJXNcIiAod3JpdHRlbiAlemQsIGV4cGVjdGVkICV6ZClcbiIKK21zZ3N0ciAicGVudWxpc2FuIHRpZGFrIGxlbmdrYXAga2UgXCIlc1wiIChkaXR1bGlzICV6ZCwgZGlwZXJraXJha2FuICV6ZClcbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoIChsaW1pdCBvZiBpbm90aWZ5IHdhdGNoZXMgd2FzIHJlYWNoZWQpLiIKK21zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbmFtYmFoa2FuIHBlbWFudGF1YW4gaW5vdGlmeSAoYmF0YXMgZGFyaSBwZW1hbnRhdSBpbm90aWZ5IHRlbGFoIHRlcmNhcGFpKS4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxOTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uXSA8ZmlsZT5cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwMAorbXNnaWQgIkZvbGxvdyB0aGUgZ3Jvd3RoIG9mIGEgbG9nIGZpbGUuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbGluZXMgPG51bWJlcj4gICBvdXRwdXQgdGhlIGxhc3QgPG51bWJlcj4gbGluZXNcbiIKK21zZ3N0ciAiTWFzdWtrYW4ganVtbGFoIGRhcmkgY3lsaW5kZXI6ICIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwNAorIywgZnV6enkKK21zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgICBzYW1lIGFzICctbiA8bnVtYmVyPidcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIxMAorbXNnaWQgIldhcm5pbmc6IHVzZSBvZiAndGFpbGYnIGlzIGRlcHJlY2F0ZWQsIHVzZSAndGFpbCAtZicgaW5zdGVhZC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjIzIHRleHQtdXRpbHMvdGFpbGYuYzoyNjMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6Mjc1CisjLCBmdXp6eQorbXNnaWQgIm5vIGlucHV0IGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICJuYW1hIGJlcmthcyB0aWRhayBkaXNwZXNpZmlrYXNpa2FuLiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjI4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBhIGZpbGUiCittc2dzdHIgImFrYXIgaW5vZGUgYnVrYW4gc2VidWFoIGRpcmVrdG9yaSIKKworIzogdGV4dC11dGlscy91bC5jOjEzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IC4uLl1cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIzogdGV4dC11dGlscy91bC5jOjEzOQorbXNnaWQgIkRvIHVuZGVybGluaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDIKK21zZ2lkICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDMKK21zZ2lkICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMDQKK21zZ2lkICJ0cm91YmxlIHJlYWRpbmcgdGVybWluZm8iCittc2dzdHIgImJlcm1hc2FsYWggZGFsYW0gcGVtYmFjYWFuIHRlcm1pbmZvIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsIGAlcycgaXMgbm90IGtub3duLCBkZWZhdWx0aW5nIHRvIGBkdW1iJyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6Mjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGVzY2FwZSBzZXF1ZW5jZSBpbiBpbnB1dDogJW8sICVvIgorbXNnc3RyICJlc2NhcGUgc2VxdWVuY2UgdGlkYWsgZGlrZXRhaHVpIHBhZGEgaW5wdXQ6ICVvLCAlb1xuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6NjI0CisjLCBmdXp6eQorbXNnaWQgIklucHV0IGxpbmUgdG9vIGxvbmcuIgorbXNnc3RyICJCYXJpcyBpbnB1dCB0ZXJsYWx1IHBhbmphbmcuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gdXNlIHRoZSBIYXJkd2FyZSBDbG9jay4iCisjfiBtc2dzdHIgIk1hYWYsIGhhbnlhIHN1cGVydXNlciB5YW5nIGRhcGF0IG1lbmd1YmFoIEhhcmR3YXJlIENsb2NrLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIHNlY2NvbXAgY29udGV4dCIKKyN+IG1zZ3N0ciAiZ2FnYWwgbWVuZ2luaXNpYWxpc2FzaSBiYXJpcyBwZW55YW5nZ2FcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gYWRkIHNlY2NvbXAgcnVsZSIKKyN+IG1zZ3N0ciAiZ2FnYWwgdW50dWsgbWVuZGFwYXRrYW4gc3RhdGlzdGlrOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gbG9hZCBzZWNjb21wIHJ1bGUiCisjfiBtc2dzdHIgImdhZ2FsIHVudHVrIG1lbmRhcGF0a2FuIHN0YXRpc3RpazogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmlsZXN5c3RlbSBsYWJlbDoiCisjfiBtc2dzdHIgIk1hc3Vra2FuIHRpcGUgZmlsZXN5c3RlbTogIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBzZXQgUEFUSCIKKyN+IG1zZ3N0ciAiZ2FnYWwgdW50dWsgbWVuZGFwYXRrYW4gc3RhdGlzdGlrOiAlcyIKKworI34gbXNnaWQgImV4cGVjdGVkIGEgbnVtYmVyLCBidXQgZ290ICclcyciCisjfiBtc2dzdHIgImRpZHVnYSBzZWJ1YWggbm9tb3IsIHRldGFwaSBkaXBlcm9sZWggJyVzJyIKKworI34gbXNnaWQgImRpdmlzb3IgJyVzJyIKKyN+IG1zZ3N0ciAicGVtYmFnaSAnJXMnIgorCisjLCBmdXp6eQorI34gbXNnaWQgImFyZ3VtZW50IGVycm9yOiAlcyIKKyN+IG1zZ3N0ciAiJXM6IEFyZ3VtZW50IGVycm9yLCBwZW5nZ3VuYWFuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHR5IHBhdGggJXMgdG9vIGxvbmciCisjfiBtc2dzdHIgIkJhcmlzIGlucHV0IHRlcmxhbHUgcGFuamFuZy5cbiIKKworI34gbXNnaWQgImJhZCB0aW1lb3V0IHZhbHVlOiAlcyIKKyN+IG1zZ3N0ciAibmlsYWkgd2FrdHUgdGltZW91dCBidXJ1azogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQiCisjfiBtc2dzdHIgImVycm9yIG1lbmdhbWJpbFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvcjogaWdub3JlIGVudHJ5IGF0IGxpbmUgJWQuIgorI34gbXNnc3RyICJlcnJvciBtZW5nYW1iaWxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgbm90IHNldHVwIHRpbWVyIgorI34gbXNnc3RyICJtb3VudCB0aWRhayBkYXBhdCBtZW5zZXQgZ3J1cCBpZDogJXMiCisKKyN+IG1zZ2lkICJkaWZmZXJlbnQiCisjfiBtc2dzdHIgImJlcmJlZGEiCisKKyN+IG1zZ2lkICJzYW1lIgorI34gbXNnc3RyICJzYW1hIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBhY2Nlc3MgZmlsZSAlcyIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYnVrYSBmaWxlICclcyciCisKKyN+IG1zZ2lkICIlcyBpcyBub3QgYSBibG9jayBzcGVjaWFsIGRldmljZSIKKyN+IG1zZ3N0ciAiJXMgYnVrYW4gc2VidWFoIHBlcmFuZ2thdCBibG9jayBzcGVzaWFsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBkZXZpY2UgaXMgbWlzYWxpZ25lZCIKKyN+IG1zZ3N0ciAiJXM6ICVzOiBwZXJhbmdrYXQgc2VkYW5nIHNpYnVrIgorCisjfiBtc2dpZCAiT1MvMiBoaWRkZW4gQzogZHJpdmUiCisjfiBtc2dzdHIgIk9TLzIgaGlkZGVkIEM6IGRyaXZlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRldmljZSBwYXRoIgorI34gbXNnc3RyICJ0aWRhayBkYXBhdCBtZXJld2luZCBwZXJhbmdrYXQgc3dhcCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5rbm93biBkZXZpY2UgbmFtZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzOiBwZXJhbmdrYXQgdGlkYWsgZGlrZXRhaHVpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRtIG5hbWUiCisjfiBtc2dzdHIgIiVzOiBnYWdhbCB1bnR1ayBtZW1idWthOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVua25vd24gc2NoZWR1bGluZyBwb2xpY3kiCisjfiBtc2dzdHIgInBpZCAlZCAlcyBrZWJpamFrYW4gYW50cmlhbjogIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzICAuJTA2ZCBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVzICAlLjZmIGRldGlrXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFnZXMiCisjfiBtc2dzdHIgInBlc2FuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJWZXJ5IGxvbmcgKCV6dSBieXRlcykgZmlsZW5hbWUgYCVzJyBmb3VuZC5cbiIKKyN+ICIgUGxlYXNlIGluY3JlYXNlIE1BWF9JTlBVVF9OQU1FTEVOIGluIG1rY3JhbWZzLmMgYW5kIHJlY29tcGlsZS4gIEV4aXRpbmcuIgorI34gbXNnc3RyICIiCisjfiAiU2FuZ2F0IHBhbmphbmcgKCV6dSBieXRlcykgbmFtYSBiZXJrYXMgYCVzJyBkaXRlbXVrYW4uXG4iCisjfiAiVG9sb25nIHRpbmdrYXRrYW4gTUFYX0lOUFVUX05BTUVMRU4gZGkgbWtjcmFtZnMuYyBkYW4gcmVjb21waWxlLiBLZWx1YXIuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgInRpZGFrIG1lbmdhbG9rYXNpa2FuIHBlbnlhbmdnYSB1bnR1ayBibG9rIHN1cGVyIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVycyBmb3IgbWFwcyIKKyN+IG1zZ3N0ciAidGlkYWsgbWVuZ2Fsb2thc2lrYW4gYnVmZmVyIHVudHVrIG1hcHMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKKyN+IG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZ2Fsb2thc2lrYW4gYnVmZmVyIHVudHVrIGlub2RlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJOdW1iZXIgb2YgU2VtYXBob3JlIElEcyIKKyN+IG1zZ3N0ciAiSnVtbGFoIGRhcmkgc2VrdG9yIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLWMgfCAtbCBmaWxlbmFtZV0gWy1uWFhdIFstaVhYXSAvZGV2L25hbWUgW2Jsb2Nrc10iCisjfiBtc2dzdHIgIlBlbmdndW5hYW46ICVzIFstYyB8IC1sIGZpbGVuYW1lXSBbLW5YWF0gWy1pWFhdIC9kZXYvbmFtZSBbYmxvY2tzXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBiYWQgaW5vZGUgc2l6ZSIKKyN+IG1zZ3N0ciAidWt1cmFuIGlub2RlIGJ1cnVrIgorCisjfiBtc2dpZCAid2lsbCBub3QgdHJ5IHRvIG1ha2UgZmlsZXN5c3RlbSBvbiAnJXMnIgorI34gbXNnc3RyICJ0aWRhayBha2FuIG1lbmNvYmEgdW50dWsgbWVtYnVhdCBmaWxlc3lzdGVtIHBhZGEgJyVzJyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0eXBlOiAlZCIKKyN+IG1zZ3N0ciAidGlwZTogJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJkaXNrOiAlLipzIgorI34gbXNnc3RyICJkaXNrOiAlLipzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibGFiZWw6ICUuKnMiCisjfiBtc2dzdHIgImxhYmVsOiAlLipzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmxhZ3M6ICVzIgorI34gbXNnc3RyICJ0YW5kYToiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYnl0ZXMvc2VjdG9yOiAlbGQiCisjfiBtc2dzdHIgImJ5dGVzL3Nla3RvcjogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VjdG9ycy90cmFjazogJWxkIgorI34gbXNnc3RyICJzZWt0b3IvdHJhY2s6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyYWNrcy9jeWxpbmRlcjogJWxkIgorI34gbXNnc3RyICJ0cmFja3MvY3lsaW5kZXI6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlY3RvcnMvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAic2VrdG9yL2N5bGluZGVyOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjeWxpbmRlcnM6ICVsZCIKKyN+IG1zZ3N0ciAiY3lsaW5kZXJzOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJycG06ICVkIgorI34gbXNnc3RyICJycG06ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW50ZXJsZWF2ZTogJWQiCisjfiBtc2dzdHIgImludGVybGVhdmU6ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHJhY2tza2V3OiAlZCIKKyN+IG1zZ3N0ciAidHJhY2tza2V3OiAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImN5bGluZGVyc2tldzogJWQiCisjfiBtc2dzdHIgImN5bGluZGVyc2tldzogJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJoZWFkc3dpdGNoOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgImhlYWRzd2l0Y2g6ICVsZFx0XHQjIG1pbGxpc2Vjb25kc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWs6ICVsZCAobWlsbGlzZWNvbmRzKSIKKyN+IG1zZ3N0ciAidHJhY2stdG8tdHJhY2sgc2VlazogJWxkXHQjIG1pbGxpc2Vjb25kc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbnM6ICVkIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiJWQgcGFydGlzaTpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJZb3UgY2Fubm90IGNoYW5nZSBhIHBhcnRpdGlvbiBpbnRvIGFuIGV4dGVuZGVkIG9uZSBvciB2aWNlIHZlcnNhLiBEZWxldGUgaXQgZmlyc3QuIgorI34gbXNnc3RyICIiCisjfiAiQW5kYSB0aWRhayBkYXBhdCBtZW5ndWJhaCBzZWJ1YWggcGFydGlzaSBtZW5qYWRpIHNlYnVhaCBleHRlbmRlZCBhdGF1IFxuIgorI34gInNlYmFsaWtueWEuIEhhcHVzIGluaSB0ZXJsZWJpaCBkYWh1bHUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkxhYmVsIGdlb21ldHJ5OiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzXG4iCisjfiAiICAgICAgICAgICAgICAgICVsbHUgY3lsaW5kZXJzLCAlZCBwaHlzaWNhbCBjeWxpbmRlcnNcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWQgZXh0cmEgc2VjdHMvY3lsLCBpbnRlcmxlYXZlICVkOjFcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFNHSSBkaXNrIGxhYmVsKTogJWQgaGVhZHMsICVsbHUgc2VrdG9yXG4iCisjfiAiJWQgc2lsaW5kZXIsICVkIHBoeXNpY2FsIHNpbGluZGVyXG4iCisjfiAiJWQgZXh0cmEgc2VjdHMvY3lsLCBpbnRlcmxlYXZlICVkOjFcbiIKKyN+ICIlc1xuIgorI34gIlVuaXRzID0gJXMgZGFyaSAlZCAqICVkIGJ5dGVzXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiPG5vbmU+IgorI34gbXNnc3RyICJrb3NvbmciCisKKyN+IG1zZ2lkICJnZXR0aW1lb2ZkYXkgZmFpbGVkIgorI34gbXNnc3RyICJnZXR0aW1lb2ZkYXkgZ2FnYWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3lzaW5mbyBmYWlsZWQiCisjfiBtc2dzdHIgImZzeW5jIGdhZ2FsIgorCisjfiBtc2dpZCAidXNhZ2U6IGxhc3QgWy0jXSBbLWYgZmlsZV0gWy10IHR0eV0gWy1oIGhvc3RuYW1lXSBbdXNlciAuLi5dXG4iCisjfiBtc2dzdHIgInBlbmdndW5hYW46IGxhc3QgWy0jXSBbLWYgZmlsZV0gWy10IHR0eV0gWy1oIGhvc3RuYW1lXSBbcGVuZ2d1bmEgLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBtbWFwIGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IHN3YXBvbiBnYWdhbCIKKworI34gbXNnaWQgIiAgc3RpbGwgbG9nZ2VkIGluIgorI34gbXNnc3RyICIgIHRldGFwIGxvZ2dlZCBpbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJ3dG1wIGJlZ2lucyAlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gInd0bXAgZGltdWxhaSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJnZXRob3N0bmFtZSBmYWlsZWQiCisjfiBtc2dzdHIgImVycm9yOiB1bmFtZSBnYWdhbCIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJpbnRlcnJ1cHRlZCAlMTAuMTBzICU1LjVzIFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiaW50ZXJ1cHNpICUxMC4xMHMgJTUuNXMgXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWF1dG8vLWEgb3B0aW9uIgorI34gbXNnc3RyICJpZCB0aWRhayB2YWxpZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiBjaGFuZ2UgdGhlIFN5c3RlbSBDbG9jay4iCisjfiBtc2dzdHIgIk1hYWYsIGhhbnlhIHN1cGVydXNlciB5YW5nIGRhcGF0IG1lbmd1YmFoIFN5c3RlbSBDbG9jay5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiBjaGFuZ2UgdGhlIEhhcmR3YXJlIENsb2NrIGVwb2NoIGluIHRoZSBrZXJuZWwuIgorI34gbXNnc3RyICJNYWFmLCBoYW55YSBzdXBlcnVzZXIgeWFuZyBkYXBhdCBtZW5ndWJhaCBIYXJkd2FyZSBDbG9jayBlcG9jaCBkaSBkYWxhbSBrZXJuZWwuXG4iCisKKyN+IG1zZ2lkICJyZWFkKCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCisjfiBtc2dzdHIgInJlYWQoKSB1bnR1ayAlcyB1bnR1ayBtZW51bmdndSBjbG9jayB0aWNrIGdhZ2FsIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNldCBydGMgYWxhcm0gZmFpbGVkIgorI34gbXNnc3RyICJzZXQgYWxhcm0gcnRjIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVuYWJsZSBydGMgYWxhcm0gZmFpbGVkIgorI34gbXNnc3RyICJha3RpZmthbiBhbGFybSBydGMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIHZhbHVlIgorI34gbXNnc3RyICJuaWxhaSB3YWt0dSB0aW1lb3V0IGJ1cnVrOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW0sIC0tbW91bnQgICAgICAgICAgICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXUsIC0tdXRzICAgICAgICAgICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWksIC0taXBjICAgICAgICAgICAgICAgICB1bnNoYXJlIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW4sIC0tbmV0ICAgICAgICAgICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICAgICAgIHVuc2hhcmUgcGlkIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVUsIC0tdXNlciAgICAgICAgICAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVtIgorI34gbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWthICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZyZWFkIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZ2FnYWwgbWVtYmFjYTogJXMiCisKKyN+IG1zZ2lkICJIZWxwIFNjcmVlbiBmb3IgY2ZkaXNrIgorI34gbXNnc3RyICJMYXlhciBiYW50dWFuIHVudHVrIGNmZGlzayIKKworI34gbXNnaWQgImRpc2sgZHJpdmUuIgorI34gbXNnc3RyICJkaXNrIGRyaXZlLiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBgbm8nIgorI34gbXNnc3RyICIgICAgICAgICAgICAgIGBubyciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVG9vIHNtYWxsIHBhcnRpdGlvbiBzaXplIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIlRpZGFrIGFkYSBwYXJ0aXNpIHlhbmcgZGlkZWZpbmlzaWthblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInN0YXQgZmFpbGVkICVzIgorI34gbXNnc3RyICJzdGF0IGdhZ2FsOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZCB0byBhbGxvY2F0ZSBpdGVyYXRvciIKKyN+IG1zZ3N0ciAiZ2FnYWwgbWVuZ2Fsb2thc2lrYW4gb3V0YnVmZmVyIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuOiAlcyIKKyN+IG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVrYSAlcyIKKworI34gbXNnaWQgIiVzOiBzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IHN0YXQgZ2FnYWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGxzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IHN0YXQgZ2FnYWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGxlYXNlLCBzZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBkaXNrIGxhYmVsLiIKKyN+IG1zZ3N0ciAiQW5kYSBpbmdpbiBtZW1idWF0IHNlYnVhaCBkaXNrbGFiZWw/ICh5L24pICIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUeXBlIG9mIHRoZSBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCisjfiBtc2dzdHIgIlRpcGUgc2lzdGVtIGRhcmkgcGFyaXNpICVkIHRpZGFrIGJlcnViYWg6ICV4ICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gcGVyYW5na2F0IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZmlsZVxuIgorI34gbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gcGVyYW5na2F0IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOlxuIgorI34gbXNnc3RyICJQZW5nZ3VuYWFuOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbWtmcyg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlVudHVrIGluZm9ybWFzaSBsZWJpaCBsYW5qdXQgbGloYXQgd2lwZWZzKDgpLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiJXMgKCVzKVxuIgorI34gbXNnc3RyICIlcyAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQmFkIHN3YXAgaGVhZGVyIHNpemUsIG5vIGxhYmVsIHdyaXR0ZW4uIgorI34gbXNnc3RyICJVa3VyYW4gc3dhcCBoZWFkZXIgdGlkYWsgYmFpaywgbGFiZWwgdGlkYWsgYWthbiBkaXR1bGlzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlZWsgZXJyb3Igb24gJXMgLSBjYW5ub3Qgc2VlayB0byAlbHUiCisjfiBtc2dzdHIgInNlZWsgZXJyb3IgZGkgJXMgLSB0aWRhayBkYXBhdCBzZWVrIGtlICVsdVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlZWsgZXJyb3I6IHdhbnRlZCAweCUwOHglMDh4LCBnb3QgMHglMDh4JTA4eCIKKyN+IG1zZ3N0ciAic2VlayBlcnJvcjogZGlpbmdpbmthbiAweCUwOHglMDh4LCBkaXBlcm9sZWggMHglMDh4JTA4eFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJlYWQgZXJyb3Igb24gJXMgLSBjYW5ub3QgcmVhZCBzZWN0b3IgJWxsdSIKKyN+IG1zZ3N0ciAiZXJyb3IgZGFsYW0gbWVtYmFjYSBkaSAlcyAtIHRpZGFrIGRhcGF0IG1lbWJhY2EgZGkgc2VrdG9yICVsdVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGVycm9yIG9uICVzIC0gY2Fubm90IHdyaXRlIHNlY3RvciAlbGx1IgorI34gbXNnc3RyICJrZXNhbGFoYW4gZGFsYW0gbWVudWxpcyBkaSAlcyAtIHRpZGFrIGRhcGF0IG1lbnVsaXMgZGkgc2VrdG9yICVsdVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuIHBhcnRpdGlvbiBzZWN0b3Igc2F2ZSBmaWxlICglcykiCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1a2EgcGFydGlzaSBzZWt0b3Igc2F2ZSBmaWxlICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyIKKyN+IG1zZ3N0ciAiZXJyb3IgbWVudWxpcyBkaSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzdGF0IHBhcnRpdGlvbiByZXN0b3JlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVtcGVyb2xlaCBzdGF0aXN0aWsgZGFyaSBmaWxlIHJlc3RvcmUgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiByZXN0b3JlIGZpbGUgaGFzIHdyb25nIHNpemUgLSBub3QgcmVzdG9yaW5nIgorI34gbXNnc3RyICJmaWxlIHBhcnRpc2kgdW50dWsgcmVzdG9yZSBtZW1pbGlraSB1a3VyYW4geWFuZyBzYWxhaCAtIHRpZGFrIG1lbGFrdWthbiByZXN0b3JlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHJlc3RvcmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWthIHBhcnRpc2kgcmVzdG9yZSBmaWxlICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciByZWFkaW5nICVzIgorI34gbXNnc3RyICJlcnJvciBkYWxhbSBtZW1iYWNhICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gZGV2aWNlICVzIGZvciB3cml0aW5nIgorI34gbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWthIHBlcmFuZ2thdCAlcyB1bnR1ayBtZW51bGlzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3Igd3JpdGluZyBzZWN0b3IgJWx1IG9uICVzIgorI34gbXNnc3RyICJlcnJvciBkYWxhbSBtZW51bGlzIHNla3RvciAlbHUgZGkgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJEaXNrICVzOiBjYW5ub3QgZ2V0IGdlb21ldHJ5IgorI34gbXNnc3RyICJEaXNrICVzOiB0aWRhayBkYXBhdCBtZW1wZXJvbGVoIGdlb21ldHJpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBzaXplIgorI34gbXNnc3RyICJEaXNrICVzOiB0aWRhayBkYXBhdCBtZW1wZXJvbGVoIHVrdXJhblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzdGFydD0lbHUgLSB0aGlzIGxvb2tzIGxpa2UgYSBwYXJ0aXRpb24gcmF0aGVyIHRoYW5cbiIKKyN+ICJ0aGUgZW50aXJlIGRpc2suIFVzaW5nIGZkaXNrIG9uIGl0IGlzIHByb2JhYmx5IG1lYW5pbmdsZXNzLlxuIgorI34gIltVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIGlmIHlvdSByZWFsbHkgd2FudCB0aGlzXSIKKyN+IG1zZ3N0ciAiIgorI34gIlBlcmluZ2F0YW46IHN0YXJ0PSVsdSAtIGluaSBtdW5na2luIHNlcGVydGkgc2VidWFoIHBhcnRpc2kgZGFyaSBwYWRhXG4iCisjfiAic2VsdXJ1aCBkaXNrLiBNZW5nZ3VuYWthbiBmZGlzayB1bnR1ayBpbmkgbXVuZ2tpbiB0aWRhayBiZXJhcnRpLlxuIgorI34gIltHdW5ha2FuIHBpbGloYW4gLS1mb3JjZSBqaWthIGFuZGEgYmVuYXIgLSBiZW5hciBtZW5naW5naW5rYW4gaGFsIGluaV1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBIRElPX0dFVEdFTyBzYXlzIHRoYXQgdGhlcmUgYXJlICVsdSBoZWFkcyIKKyN+IG1zZ3N0ciAiUGVyaW5nYXRhbjogSERJT19HRVRHRU8gbWVuZ2F0YWthbiBiYWh3YSBkaXNhbmEgYWRhICVsdSBoZWFkc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IHNlY3RvcnMiCisjfiBtc2dzdHIgIlBlcmluZ2F0YW46IEhESU9fR0VUR0VPIG1lbmdhdGFrYW4gYmFod2EgZGlzYW5hIGFkYSAlbHUgc2VrdG9yXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogQkxLR0VUU0laRS9IRElPX0dFVEdFTyBzYXlzIHRoYXQgdGhlcmUgYXJlICVsdSBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIlBlcmluZ2F0YW46IEJMS0dFVFNJWkUvSERJT19HRVRHRU8gbWVuZ2F0YWthbiBiYWh3YSBkaXNhbmEgYWRhICVsdSBjeWxpbmRlcnNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogdW5saWtlbHkgbnVtYmVyIG9mIHNlY3RvcnMgKCVsdSkgLSB1c3VhbGx5IGF0IG1vc3QgNjNcbiIKKyN+ICJUaGlzIHdpbGwgZ2l2ZSBwcm9ibGVtcyB3aXRoIGFsbCBzb2Z0d2FyZSB0aGF0IHVzZXMgQy9IL1MgYWRkcmVzc2luZy4iCisjfiBtc2dzdHIgIiIKKyN+ICJQZXJpbmdhdGFuOiB0aWRhayBzZXBlcnRpIGp1bWxhaCBzZWt0b3IgKCVsdSkgLSBiaWFzYW55YSBhZGEgZGkgNjNcbiIKKyN+ICJJbmkgYWthbiBtZW1iZXJpa2FuIG1hc2FsYWggZGVuZ2FuIHNlbHVydWggc29mdHdhcmUgeWFuZyBwZW5nYWxhbWF0YW4gbWVuZ3VuYWthbiBDL0gvUy5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbHUgY3lsaW5kZXJzLCAlbHUgaGVhZHMsICVsdSBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbHUgY3lsaW5kZXJzLCAlbHUgaGVhZHMsICVsdSBzZWN0b3JzL3RyYWNrXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBoZWFkOiAlbHUgKHNob3VsZCBiZSBpbiAwLSVsdSkiCisjfiBtc2dzdHIgIiVzIGRhcmkgcGFydGlzaSAlcyBtZW1pbGlraSBqdW1sYWggaGVhZCB5YW5nIHRpZGFrIG11bmdraW46ICVsdSAoc2VoYXJ1c255YSBiZXJhZGEgZGFsYW0gMC0lbHUpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBzZWN0b3I6ICVsdSAoc2hvdWxkIGJlIGluIDEtJWx1KSIKKyN+IG1zZ3N0ciAiJXMgZGFyaSBwYXJ0aXNpICVzIG1lbWlsaWtpIGp1bWxhaCBzZWt0b3IgeWFuZyB0aWRhayBtdW5na2luOiAlbHUgKHNlaGFydXNueWEgYmVyYWRhIGRhbGFtIDEtJWx1KVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3IgY3lsaW5kZXJzOiAlbHUgKHNob3VsZCBiZSBpbiAwLSVsdSkiCisjfiBtc2dzdHIgIiVzIGRhcmkgcGFydGlzaSAlcyBtZW1pbGlraSBqdW1sYWggY3lsaW5kZXJzIHlhbmcgdGlkYWsgbXVuZ2tpbjogJWx1IChzZWhhcnVzbnlhIGJlcmFkYSBkYWxhbSAwLSVsdSlcbiIKKworI34gbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSAuLi5cbiIKKyN+IG1zZ3N0ciAiTWVtYmFjYSBrZW1iYWxpIHRhYmVsIHBhcnRpc2kgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlRoZSBjb21tYW5kIHRvIHJlLXJlYWQgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuXG4iCisjfiAiUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB5b3VyIHN5c3RlbSBub3csXG4iCisjfiAiYmVmb3JlIHVzaW5nIG1rZnMiCisjfiBtc2dzdHIgIiIKKyN+ICJQZXJpbnRhaCB1bnR1ayBtZW1iYWNhIGtlbWJhbGkgdGFiZWwgcGFydGlzaSBnYWdhbC5cbiIKKyN+ICJKYWxhbmthbiBwYXJ0cHJvYmUoOCksIGtwYXJ0eCg4KSBhdGF1IHJlYm9vdCBzaXN0ZW0gYW5kYSBzZWthcmFuZyxcbiIKKyN+ICJzZWJlbHVtIG1lbmdndW5ha2FuIG1rZnNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJFcnJvciBjbG9zaW5nICVzIgorI34gbXNnc3RyICJFcnJvciBtZW51dHVwICVzXG4iCisKKyN+IG1zZ2lkICIlczogbm8gc3VjaCBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiJXM6IHRpZGFrIGFkYSBwYXJ0aXNpIHNlcGVydGkgaXR1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGZvcm1hdCAtIHVzaW5nIHNlY3RvcnMiCisjfiBtc2dzdHIgImZvcm1hdCB0aWRhayBkaWtlbmFsaSAtIG1lbmdndW5ha2FuIHNla3RvclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuaW1wbGVtZW50ZWQgZm9ybWF0IC0gdXNpbmcgJXMiCisjfiBtc2dzdHIgImZvcm1hdCB0aWRhayBkaWltcGxlbWVudGFzaWthbiAtIG1lbmdndW5ha2FuICVzXG4iCisKKyN+IG1zZ2lkICJzZWN0b3JzIgorI34gbXNnc3RyICJzZWt0b3IiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiBjeWxpbmRlcnMgb2YgJWx1IGJ5dGVzLCBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiU2F0dWFuID0gY3lsaW5kZXJzIGRhcmkgJWx1IGJ5dGVzLCBibG9jayBkYXJpIDEwMjQgYnl0ZXMsIGRpaGl0dW5nIGRhcmkgJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290IFN0YXJ0ICAgICBFbmQgICAjY3lscyAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBEZXZpY2UgQm9vdCBBd2FsICAgICAgQWtoaXIgI2N5bHMgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IHNlY3RvcnMgb2YgNTEyIGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJTYXR1YW4gPSBzZWt0b3IgZGFyaSA1MTIgYnl0ZXMsIGRpaGl0dW5nIGRhcmkgJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290ICAgIFN0YXJ0ICAgICAgIEVuZCAgICNzZWN0b3JzICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiAgIERldmljZSBCb290ICAgIEF3YWwgICAgICAgIEFraGlyICNzZWN0b3JzICBJZCAgU3lzdGVtXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiU2F0dWFuID0gYmxvY2tzIGRhcmkgMTAyNCBieXRlcywgZGloaXR1bmcgZGFyaSAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgICBTdGFydCAgICAgICBFbmQgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAgRGV2aWNlIEJvb3QgICBBd2FsICAgICAgICBBa2hpciAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IDFNaUIgPSAxMDI0KjEwMjQgYnl0ZXMsIGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJTYXR1YW4gPSBtZWJpYnl0ZXMgZGFyaSAxMDQ4NTc2IGJ5dGVzLCBibG9ja3MgZGFyaSAxMDI0IGJ5dGVzLCBkaWhpdHVuZyBkYXJpICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCBTdGFydCAgIEVuZCAgICBNaUIgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAgRGV2aWNlIEJvb3QgQXdhbCAgICBBa2hpciAgTWlCICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisKKyN+IG1zZ2lkICJcdFx0c3RhcnQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpXG4iCisjfiBtc2dzdHIgIlx0XHRhd2FsOiAoYyxoLHMpIGRpcGVya2lyYWthbiAoJWxkLCVsZCwlbGQpIGRpdGVtdWthbiAoJWxkLCVsZCwlbGQpXG4iCisKKyN+IG1zZ2lkICJcdFx0ZW5kOiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICJcdFx0YWtoaXI6IChjLGgscykgZGlwZXJraXJha2FuICglbGQsJWxkLCVsZCkgZGl0ZW11a2FuICglbGQsJWxkLCVsZClcbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiBlbmRzIG9uIGN5bGluZGVyICVsZCwgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGRpc2tcbiIKKyN+IG1zZ3N0ciAicGFydGlzaSB0aWRhayBiZXJha2hpciBkaSBjeWxpbmRlciAlbGQsIGRpbHVhciBkYXJpIGFraGlyIGRhcmkgZGlza1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBUaGUgcGFydGl0aW9uIHRhYmxlIGxvb2tzIGxpa2UgaXQgd2FzIG1hZGVcbiIKKyN+ICIgIGZvciBDL0gvUz0qLyVsZC8lbGQgKGluc3RlYWQgb2YgJWxkLyVsZC8lbGQpLlxuIgorI34gIkZvciB0aGlzIGxpc3RpbmcgSSdsbCBhc3N1bWUgdGhhdCBnZW9tZXRyeS4iCisjfiBtc2dzdHIgIiIKKyN+ICJQZXJpbmdhdGFuOiBUYWJlbCBwYXJ0aXNpIHNlcGVydGlueWEgc2VwZXJ0aSB0ZWthbCBkaWJ1YXQgdW50dWtcbiIKKyN+ICJDL0gvUz0qLyVsZC8lbGQgKGRhcmlwYWRhIHVudHVrICVsZC8lbGQvJWxkKS5cbiIKKyN+ICJVbnR1ayBkYWZ0YXIgaW5pIFNheWEgYWthbiBiZXJhc3Vtc2kgZGVuZ2FuIG1lbmdndW5ha2FuIGdlb210cmkgdGVyc2VidXQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibm8gcGFydGl0aW9uIHRhYmxlIHByZXNlbnQuIgorI34gbXNnc3RyICJ0aWRhayBhZGEgdGFiZWwgcGFydGlzaSB5YW5nIGFkYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdHJhbmdlLCBvbmx5ICVkIHBhcnRpdGlvbnMgZGVmaW5lZC4iCisjfiBtc2dzdHIgImFuZWgsIGhhbnlhICVkIHBhcnRpc2kgeWFuZyBkaWRlZmluaXNpa2FuLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGJ1dCBpcyBub3QgbWFya2VkIEVtcHR5IgorI34gbXNnc3RyICJQZXJpbmdhdGFuOiBwYXJ0aXNpICVzIG1lbWlsaWtpIHVrdXJhbiAwIHRldGFwaSB0aWRhayBkaXRhbmRhaSBLb3NvbmdcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBhbmQgaXMgYm9vdGFibGUiCisjfiBtc2dzdHIgIlBlcmluZ2F0YW46IHBhcnRpc2kgJXMgbWVtaWxpa2kgdWt1cmFuIDAgZGFuIGJvb3RhYmxlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIG5vbnplcm8gc3RhcnQiCisjfiBtc2dzdHIgIlBlcmluZ2F0YW46IHBhcnRpc2kgJXMgbWVtaWxpa2kgdWt1cmFuIDAgZGFuIGF3YWwgeWFuZyB0aWRhayBrb3NvbmdcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaXMgbm90IGNvbnRhaW5lZCBpbiBwYXJ0aXRpb24gJXMiCisjfiBtc2dzdHIgInRpZGFrIGJlcmFkYSBkaSBwYXJ0aXNpICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9ucyAlcyBhbmQgJXMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAiUGVyaW5nYXRhbjogcGFydGlzaSAlZCBrb3NvbmdcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogcGFydGl0aW9uICVzIGNvbnRhaW5zIHBhcnQgb2YgdGhlIHBhcnRpdGlvbiB0YWJsZSAoc2VjdG9yICVsbHUpLFxuIgorI34gImFuZCB3aWxsIGRlc3Ryb3kgaXQgd2hlbiBmaWxsZWQiCisjfiBtc2dzdHIgIiIKKyN+ICJQZXJpbmdhdGFuOiBwYXJ0aXNpICVzIGJlcmlzaSBiYWdpYW4gZGFyaSB0YWJlbCBwYXJ0aXNpIChzZWt0b3IgJWx1KSxcbiIKKyN+ICJkYW4gYWthbiBtZW5naGFuY3Vya2FubnlhIGtldGlrYSB0ZXJpc2kuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIHN0YXJ0cyBhdCBzZWN0b3IgMCIKKyN+IG1zZ3N0ciAiUGVyaW5nYXRhbjogcGFydGlzaSAlcyBiZXJhd2FsIGRpIHNla3RvciAwXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGV4dGVuZHMgcGFzdCBlbmQgb2YgZGlzayIKKyN+IG1zZ3N0ciAiUGVyaW5nYXRhbjogcGFydGlzaSAlcyBtZWx1YXMgbWVsZXdhdGkgYWtoaXIgZGFyaSBkaXNrXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkFtb25nIHRoZSBwcmltYXJ5IHBhcnRpdGlvbnMsIGF0IG1vc3Qgb25lIGNhbiBiZSBleHRlbmRlZFxuIgorI34gIiAoYWx0aG91Z2ggdGhpcyBpcyBub3QgYSBwcm9ibGVtIHVuZGVyIExpbnV4KSIKKyN+IG1zZ3N0ciAiIgorI34gIkRpYW50YXJhIHBhcnRpc2kgcHJpbWFyeSwgcGFsaW5nIHRpZGFrIHNhdHUgZGFwYXQgbWVuamFkaSBleHRlbmRlZFxuIgorI34gIih3YWxhdXB1biBpbmkgYnVrYW4gbWVuamFkaSBtYXNhbGFoIGRhbGFtIExpbnV4KVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5IgorI34gbXNnc3RyICJQZXJpbmdhdGFuOiBwYXJ0aXNpICVzIHRpZGFrIGJlcmF3YWwgZGFsYW0gYmF0YXMgY3lsaW5kZXJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZG9lcyBub3QgZW5kIGF0IGEgY3lsaW5kZXIgYm91bmRhcnkiCisjfiBtc2dzdHIgIlBlcmluZ2F0YW46IHBhcnRpc2kgJXMgdGlkYWsgYmVyYWtoaXIgZGFsYW0gYmF0YXMgY3lsaW5kZXJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogbW9yZSB0aGFuIG9uZSBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLiIKKyN+IG1zZ3N0ciAiIgorI34gIlBlcmluZ2F0YW46IGxlYmloIGRhcmkgc2F0dSBwYXJ0aXMgcHJpbWFyeSB5YW5nIGRpdGFuZGFpIGJvb3RhYmxlIChhY3RpdmUpXG4iCisjfiAiSW5pIHRpZGFrIG1lbmphZGkgbWFzYWxhaCB1bnR1ayBMSUxPLCB0ZXRhcGkgRE9TIE1CUiB0aWRhayBha2FuIG1lbS1ib290IGRpc2sgaW5pLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiB1c3VhbGx5IG9uZSBjYW4gYm9vdCBmcm9tIHByaW1hcnkgcGFydGl0aW9ucyBvbmx5XG4iCisjfiAiTElMTyBkaXNyZWdhcmRzIHRoZSBgYm9vdGFibGUnIGZsYWcuIgorI34gbXNnc3RyICIiCisjfiAiUGVyaW5nYXRhbjogYmlhc2FueWEgaGFueWEgc2F0dSB5YW5nIGRhcGF0IGRpIGJvb3QgZGFyaSBwYXJ0aXNpIHByaW1hcnlcbiIKKyN+ICJMSUxPIG1lbmdhYmFpa2FuIHRhbmRhIGBib290YWJsZScuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IG5vIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZSAoYWN0aXZlKVxuIgorI34gIlRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLCBidXQgdGhlIERPUyBNQlIgd2lsbCBub3QgYm9vdCB0aGlzIGRpc2suIgorI34gbXNnc3RyICIiCisjfiAiUGVyaW5nYXRhbjogdGlkYWsgYWRhIHBhcnRpc2kgcHJpbWFyeSB5YW5nIGRpdGFuZGFpIGJvb3RhYmxlIChhY3RpdmUpXG4iCisjfiAiSW5pIHRpZGFrIG1lbmphZGkgbWFzYWxhaCB1bnR1ayBMSUxPLCB0ZXRhcGkgRE9TIE1CUiB0aWRhayBha2FuIGRhcGF0IG1lbS1ib290IGRpc2sgaW5pLlxuIgorCisjfiBtc2dpZCAic3RhcnQiCisjfiBtc2dzdHIgImF3YWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uICVzOiBzdGFydDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgInBhcnRpc2kgJXM6IGF3YWw6IChjLGgscykgZGlwZXJraXJha2FuICglbGQsJWxkLCVsZCkgZGl0ZW11a2FuICglbGQsJWxkLCVsZClcbiIKKworI34gbXNnaWQgImVuZCIKKyN+IG1zZ3N0ciAiYWtoaXIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uICVzOiBlbmQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpIgorI34gbXNnc3RyICJwYXJ0aXNpICVzOiBha2hpcjogKGMsaCxzKSBkaXBlcmtpcmFrYW4gKCVsZCwlbGQsJWxkKSBkaXRlbXVrYW4gKCVsZCwlbGQsJWxkKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiAlcyBlbmRzIG9uIGN5bGluZGVyICVsZCwgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGRpc2siCisjfiBtc2dzdHIgInBhcnRpc2kgJXMgYmVyYWtoaXIgZGkgY3lsaW5kZXIgJWxkLCBkaWx1YXIgZGFyaSBha2hpciBkYXJpIGRpc2tcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogc2hpZnRlZCBzdGFydCBvZiB0aGUgZXh0ZCBwYXJ0aXRpb24gZnJvbSAlbGxkIHRvICVsbGRcbiIKKyN+ICIoRm9yIGxpc3RpbmcgcHVycG9zZXMgb25seS4gRG8gbm90IGNoYW5nZSBpdHMgY29udGVudHMuKSIKKyN+IG1zZ3N0ciAiIgorI34gIlBlcmluZ2F0YW46IGF3YWwgdGVyZ2VzZXIgZGFyaSBleHRkIHBhcnRpc2kgZGFyaSAlbGQgbWVuamFkaSAlbGRcbiIKKyN+ICIoSGFueWEgdW50dWsgdHVqdWFuIHBlbmRhZnRhcmFuLiBKYW5nYW4gbWVuZ3ViYWggaXNpbnlhLilcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogZXh0ZW5kZWQgcGFydGl0aW9uIGRvZXMgbm90IHN0YXJ0IGF0IGEgY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiAiRE9TIGFuZCBMaW51eCB3aWxsIGludGVycHJldCB0aGUgY29udGVudHMgZGlmZmVyZW50bHkuIgorI34gbXNnc3RyICIiCisjfiAiUGVyaW5nYXRhbjogcGFydGlzaSBleHRlbmRlZCB0aWRhayBiZXJhd2FsIGRpIGJhdGFzIGN5bGluZGVyLlxuIgorI34gIkRPUyBkYW4gTGludXggYWthbiBtZW5naW50ZXJwcmV0YXNpa2FuIGlzaSBzZWNhcmEgYmVyYmVkYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJFUlJPUjogc2VjdG9yICVsbHUgZG9lcyBub3QgaGF2ZSBhbiBtc2RvcyBzaWduYXR1cmUiCisjfiBtc2dzdHIgIkVSUk9SOiBzZWt0b3IgJWx1IHRpZGFrIG1lbWlsaWtpIHNlYnVhaCBtc2RvcyBzaWduYXR1cmVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0b28gbWFueSBwYXJ0aXRpb25zIC0gaWdub3JpbmcgdGhvc2UgcGFzdCBuciAoJXp1KSIKKyN+IG1zZ3N0ciAidGVybGFsdSBiYW55YWsgcGFydGlzaSAtIG1lbmdhYmFpa2FuIHBhcnRpc2kgeWFuZyBtZWxld2F0aSBuciAoJWQpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHJlZSBvZiBwYXJ0aXRpb25zPyIKKyN+IG1zZ3N0ciAidHJlZSBkYXJpIHBhcnRpc2k/XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZGV0ZWN0ZWQgRGlzayBNYW5hZ2VyIC0gdW5hYmxlIHRvIGhhbmRsZSB0aGF0IgorI34gbXNnc3RyICJ0ZXJkZXRla3NpIERpc2sgTWFuYWdlciAtIHRpZGFrIGRhcGF0IG1lbmFuZ2FuaSBpbmlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJETTYgc2lnbmF0dXJlIGZvdW5kIC0gZ2l2aW5nIHVwIgorI34gbXNnc3RyICJETTYgc2lnbmF0dXJlIGRpdGVtdWthbiAtIG1lbnllcmFoXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3RyYW5nZS4uLiwgYW4gZXh0ZW5kZWQgcGFydGl0aW9uIG9mIHNpemUgMD8iCisjfiBtc2dzdHIgImFuZWguLi4sIHNlYnVhaCBleHRlbmRlZCBwYXJ0aXNpIHlhbmcgYmVydWt1cmFuIDA/XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3RyYW5nZS4uLiwgYSBCU0QgcGFydGl0aW9uIG9mIHNpemUgMD8iCisjfiBtc2dzdHIgImFuZWguLi4sIHNlYnVhaCBCU0QgcGFydGlzaSB5YW5nIGJlcnVrdXJhbiAwP1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIi1uIGZsYWcgd2FzIGdpdmVuOiBOb3RoaW5nIGNoYW5nZWQiCisjfiBtc2dzdHIgInBpbGloYW4gLW4gdGVsYWggZGliZXJpa2FuOiBUaWRhayBhZGEgeWFuZyBiZXJ1YmFoXG4iCisKKyN+IG1zZ2lkICJGYWlsZWQgc2F2aW5nIHRoZSBvbGQgc2VjdG9ycyAtIGFib3J0aW5nXG4iCisjfiBtc2dzdHIgIkdhZ2FsIG1lbnlpbXBhbiBzZWt0b3IgbGFtYSAtIG1lbWJhdGFsa2FuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmFpbGVkIHdyaXRpbmcgdGhlIHBhcnRpdGlvbiBvbiAlcyIKKyN+IG1zZ3N0ciAiR2FnYWwgbWVudWxpcyBwYXJ0aXNpIGRpICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9uZyBvciBpbmNvbXBsZXRlIGlucHV0IGxpbmUgLSBxdWl0dGluZyIKKyN+IG1zZ3N0ciAicGFuamFuZyBhdGF1IGJhcmlzIGlucHV0IHRpZGFrIGNvbXBsZXRlIC0gYmVyaGVudGlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnB1dCBlcnJvcjogYD0nIGV4cGVjdGVkIGFmdGVyICVzIGZpZWxkIgorI34gbXNnc3RyICJpbnB1dCBlcnJvcjogYD0nIGRpcGVya2lyYWthbiBzZXRlbGFoICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW5wdXQgZXJyb3I6IHVuZXhwZWN0ZWQgY2hhcmFjdGVyICVjIGFmdGVyICVzIGZpZWxkIgorI34gbXNnc3RyICJpbnB1dCBlcnJvcjogdW5leHBlY3RlZCBjaGFyYWN0ZXIgJWMgc2V0ZWxhaCAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVucmVjb2duaXplZCBpbnB1dDogJXMiCisjfiBtc2dzdHIgImlucHV0IHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJudW1iZXIgdG9vIGJpZyIKKyN+IG1zZ3N0ciAibm9tb3IgdGVybGFsdSBiZXNhclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyYWlsaW5nIGp1bmsgYWZ0ZXIgbnVtYmVyIgorI34gbXNnc3RyICJ0cmFpbGluZyBqdW5rIHNlc3VkYWggbm9tb3JcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJubyByb29tIGZvciBwYXJ0aXRpb24gZGVzY3JpcHRvciIKKyN+IG1zZ3N0ciAidGlkYWsgYWRhIHJ1YW5nIHVudHVrIHBhcnRpc2kgZGVza3JpcHNpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGJ1aWxkIHN1cnJvdW5kaW5nIGV4dGVuZGVkIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVhdCBleHRlbmRlZCBwYXJ0aXNpIGRpc2VraXRhcm55YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRvbyBtYW55IGlucHV0IGZpZWxkcyIKKyN+IG1zZ3N0ciAidGVybGFsdSBiYW55YSBpbnB1dFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vIHJvb20gZm9yIG1vcmUiCisjfiBtc2dzdHIgIlRpZGFrIGFkYSBydWFuZyBsYWdpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSWxsZWdhbCB0eXBlIgorI34gbXNnc3RyICJUaXBlIGlsZWdhbFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IGdpdmVuIHNpemUgKCVsbHUpIGV4Y2VlZHMgbWF4IGFsbG93YWJsZSBzaXplICglbGx1KSIKKyN+IG1zZ3N0ciAiUGVyaW5nYXRhbjogZGliZXJpa2FuIHVrdXJhbiAoJWx1KSBtZWxlYmloaSB1a3VyYW4gbWFrc2ltYWwgeWFuZyBkaWlqaW5rYW4gKCVsdSlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlBlcmluZ2F0YW46IHBhcnRpc2kga29zb25nXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogYmFkIHBhcnRpdGlvbiBzdGFydCAoZWFybGllc3QgJWxsdSkiCisjfiBtc2dzdHIgIlBlcmluZ2F0YW46IHBhcnRpc2kgbWVtaWxpa2kgYXdhbCB5YW5nIGJ1cnVrICh0ZXJsYWx1IGF3YWwgJWx1KVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVucmVjb2duaXplZCBib290YWJsZSBmbGFnIC0gY2hvb3NlIC0gb3IgKiIKKyN+IG1zZ3N0ciAidGFuZGEgYm9vdGFibGUgdGlkYWsgZGlrZXRhaHVpIC0gcGlsaWggLSBhdGF1ICpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aWFsIGMsaCxzIHNwZWNpZmljYXRpb24/IgorI34gbXNnc3RyICJwYXJ0aWFsIGMsaCxzIHNwZXNpZmlrYXNpP1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBub3Qgd2hlcmUgZXhwZWN0ZWQiCisjfiBtc2dzdHIgIkV4dGVuZGVkIHBhcnRpc2kgdGlkYWsgZGlwZXJraXJha2FuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIGlucHV0IgorI34gbXNnc3RyICJpbnB1dCB0aWRhayBiYWlrXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidG9vIG1hbnkgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAidGVybGFsdSBiYW55YWsgcGFydGlzaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJJbnB1dCBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDsgYWJzZW50IGZpZWxkcyBnZXQgYSBkZWZhdWx0IHZhbHVlLlxuIgorI34gIjxzdGFydD4gPHNpemU+IDx0eXBlIFtFLFMsTCxYLGhleF0+IDxib290YWJsZSBbLSwqXT4gPGMsaCxzPiA8YyxoLHM+XG4iCisjfiAiVXN1YWxseSB5b3Ugb25seSBuZWVkIHRvIHNwZWNpZnkgPHN0YXJ0PiBhbmQgPHNpemU+IChhbmQgcGVyaGFwcyA8dHlwZT4pLiIKKyN+IG1zZ3N0ciAiIgorI34gIk1hc3Vra2FuIGRlbmdhbiBtZW5nZ3VuYWthbiBmb3JtYXQgYmVyaWt1dDsgZmllbGQgeWFuZyBrb3NvbmcgYWthbiBtZW1wZXJvbGVoXG4iCisjfiAibmlsYWkgZGVmYXVsdC4gPGF3YWw+IDx1a3VyYW4+IDx0aXBlIFtFLFMsTCxYLGhleF0+IDxib290YWJsZSBbLSwqXSA8YyxoLHM+XG4iCisjfiAiPGMsaCxzPiBiaWFzYW55YSBhbmRhIGhhbnlhIHBlcmx1IHVudHVrIG1lbnNwZXNpa2FuIDxhd2FsPiBkYW4gPHVrdXJhbj4gKGRhbiBtdW5na2luIDx0aXBlPikuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8ZGV2aWNlPi4uLlxuIgorI34gbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gcGVyYW5na2F0IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEYW5nZXJvdXMgb3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAicGlsaWhhbiB5YW5nIGJlcmJhaGF5YToiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtZywgLS1zaG93LWdlb21ldHJ5ICAgICAgIHByaW50IHRoZSBrZXJuZWwncyBpZGVhIG9mIHRoZSBnZW9tZXRyeVxuIgorI34gIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIHByaW50IGdlb21ldHJ5IGd1ZXNzZWQgZnJvbSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCisjfiBtc2dzdHIgIiAgICAtRyBbYXRhdSAtLXNob3ctcHQtZ2VvbWV0cnldOiB0YW1waWxrYW4gZ2VvbWV0cnkgeWFuZyBkaXRlYmFrIGRhcmkgdGFiZWwgcGFydGlzaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1BLCAtLWFjdGl2YXRlWz08ZGV2aWNlPl0gYWN0aXZhdGUgdGhlIGJvb3RhYmxlIGZsYWdcbiIKKyN+ICIgLVUsIC0tdW5oaWRlWz08ZGV2aWNlPl0gICBzZXQgcGFydGl0aW9uIGFzIHVuaGlkZGVuXG4iCisjfiAiIC14LCAtLXNob3ctZXh0ZW5kZWQgICAgICAgYWxzbyBsaXN0IGV4dGVuZGVkIHBhcnRpdGlvbnMgaW4gdGhlIG91dHB1dCxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIGV4cGVjdCBkZXNjcmlwdG9ycyBmb3IgdGhlbSBpbiB0aGUgaW5wdXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAteCBbYXRhdSAtLXNob3ctZXh0ZW5kZWRdOiBqdWdhIG1lbmFtcGlsa2FuIHBhcnRpc2kgZXh0ZW5kZWQgZGFsYW0gb3V0cHV0XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0YXUgbWVtcGVya2lyYWthbiBkZXNrcmlwc2kgZGFyaSBwYXJ0aXNpIGRpIGlucHV0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyVzZGV2aWNlICAgICAgICAgICAgbGlzdCBhY3RpdmUgcGFydGl0aW9ucyBvbiBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiJXMgcGVyYW5na2F0XHRcdCBkYWZ0YXIgZGFyaSBwYXJ0aXNpIGFrdGlmIGRpIHBlcmFuZ2thdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyVzZGV2aWNlIG4xIG4yIC4uLiAgYWN0aXZhdGUgcGFydGl0aW9ucyBuMSAuLi4sIGluYWN0aXZhdGUgdGhlIHJlc3RcbiIKKyN+IG1zZ3N0ciAiJXMgcGVyYW5na2F0IG4xIG4yIC4uLiBha3RpdmFzaSBwYXJ0aXNpIG4xIC4uLiwgbWVub25ha3RpZmthbiBzaXNhbnlhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgcGFydGl0aW9ucyBhcmd1bWVudCIKKyN+IG1zZ3N0ciAiSnVtbGFoIGRhcmkgYmFyaXMgdGlkYWsgdmFsaWQiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlc1xuIgorI34gbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWthICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLXByaW50LWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyIgorI34gbXNnc3RyICJwZW5nZ3VuYWFuOiBzZmRpc2sgLS1wcmludC1pZCBwZXJhbmdrYXQgbm9tb3ItcGFydGlzaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1jaGFuZ2UtaWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIgSWQiCisjfiBtc2dzdHIgInBlbmdndW5hYW46IHNmZGlzayAtLWNoYW5nZS1pZCBwZXJhbmdrYXQgbm9tb3ItcGFydGlzaSBJZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciBbSWRdIgorI34gbXNnc3RyICJwZW5nZ3VuYWFuOiBzZmRpc2sgLS1pZCBwZXJhbmdrYXQgbm9tb3ItcGFydGlzaSBbSWRdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2FuIHNwZWNpZnkgb25seSBvbmUgZGV2aWNlIChleGNlcHQgd2l0aCAtbCBvciAtcykiCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbnNwZXNpZmlrYXNpa2FuIGhhbnlhIHVudHVrIHNhdHUgcGVyYW5na2F0IChrZWN1YWxpIGRlbmdhbiBwaWxpaGFuIC1sIGF0YXUgLXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgcmVhZC13cml0ZSIKKyN+IG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVrYSAlcyB1bnR1ayBiYWNhLXR1bGlzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgZm9yIHJlYWRpbmciCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1a2EgJXMgdW50dWsgbWVtYmFjYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBPSyIKKyN+IG1zZ3N0ciAiJXM6IE9LXG4iCisKKyN+IG1zZ2lkICIlczogJWxkIGN5bGluZGVycywgJWxkIGhlYWRzLCAlbGQgc2VjdG9ycy90cmFja1xuIgorI34gbXNnc3RyICIlczogJWxkIGN5bGluZGVycywgJWxkIGhlYWRzLCAlbGQgc2VjdG9ycy90cmFja1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImJhZCBhY3RpdmUgYnl0ZTogMHgleCBpbnN0ZWFkIG9mIDB4ODAiCisjfiBtc2dzdHIgImFjdGl2ZSBieXRlIHRpZGFrIGJhaWs6IDB4JXggZGFyaXBhZGEgMHg4MFxuIgorCisjfiBtc2dpZCAiRG9uZSIKKyN+IG1zZ3N0ciAiU2VsZXNhaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiWW91IGhhdmUgJWQgYWN0aXZlIHByaW1hcnkgcGFydGl0aW9ucy4gVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sXG4iCisjfiAiYnV0IHRoZSBET1MgTUJSIHdpbGwgb25seSBib290IGEgZGlzayB3aXRoIDEgYWN0aXZlIHBhcnRpdGlvbi4iCisjfiBtc2dzdHIgIiIKKyN+ICJBbmRhIG1lbWlsaWtpICVkIHByaW1hcnkgcGFydGlzaSB5YW5nIGFrdGlmLiBJbmkgdGlkYWsgYmVybWFzYWxhaCB1bnR1ayBMSUxPLFxuIgorI34gInRldGFwaSBET1MgTUJSIGhhbnlhIGFrYW4gbWVtYm9vdCBzZWJ1YWggZGlzayBkZW5nYW4gMSBhY3RpdmUgcGFydGlzaS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgaGFzIGlkICV4IGFuZCBpcyBub3QgaGlkZGVuIgorI34gbXNnc3RyICJwYXJ0aXNpICVzIG1lbWlsaWtpIGlkICV4IGRhbiBpbmkgdGlkYWsgZGlzZW1idW55aWthblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJhZCBJZCAlbHgiCisjfiBtc2dzdHIgIkJhZCBJZCAlbHhcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZS4iCisjfiBtc2dzdHIgIkRpc2sgaW5pIHNhYXQgaW5pIHNlZGFuZyBkaWd1bmFrYW4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmF0YWwgZXJyb3I6IGNhbm5vdCBmaW5kICVzIgorI34gbXNnc3RyICJGYXRhbCBlcnJvcjogdGlkYWsgZGFwYXQgbWVuZW11a2FuICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJQZXJpbmdhdGFuOiAlcyBidWthbiBzZWJ1YWggcGVyYW5na2F0IGJsb2NrXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiT0siCisjfiBtc2dzdHIgIk9LXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGRvZXMgbm90IGV4aXN0LCBjYW5ub3QgY2hhbmdlIGl0IgorI34gbXNnc3RyICJQYXJ0aXNpICVkIHRpZGFrIGFkYSwgdGlkYWsgZGFwYXQgbWVuZ3ViYWhueWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiSSBkb24ndCBsaWtlIHRoZXNlIHBhcnRpdGlvbnMgLSBub3RoaW5nIGNoYW5nZWQuXG4iCisjfiAiKElmIHlvdSByZWFsbHkgd2FudCB0aGlzLCB1c2UgdGhlIC0tZm9yY2Ugb3B0aW9uLikiCisjfiBtc2dzdHIgIiIKKyN+ICJTYXlhIHRpZGFrIHN1a2EgcGFydGlzaSBpbmkgLS0gdGlkYWggYWRhIHlhbmcgZGl1YmFoLlxuIgorI34gIihKaWthIGFuZGEgYmVuYXIgLSBiZW5hciBtZW5naW5naW5rYW4gaW5pLCBndW5ha2FuIHBpbGloYW4gLS1mb3JjZS4pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSSBkb24ndCBsaWtlIHRoaXMgLSBwcm9iYWJseSB5b3Ugc2hvdWxkIGFuc3dlciBObyIKKyN+IG1zZ3N0ciAiU2F5YSB0aWRhayBtZW55dWthaSBpbmkgLSBtdW5na2luIGFuZGEgc2VoYXJ1c255YSBtZW5qYXdhYiBOb1xuIgorCisjfiBtc2dpZCAiQXJlIHlvdSBzYXRpc2ZpZWQgd2l0aCB0aGlzPyBbeW5xXSAiCisjfiBtc2dzdHIgIkFwYWthbiBhbmRhIHB1YXMgZGVuZ2FuIGtlYWRhYW4gaW5pPyBbeW5xXSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJRdWl0dGluZyAtIG5vdGhpbmcgY2hhbmdlZCIKKyN+IG1zZ3N0ciAiU2VsZXNhaSAtIHRpZGFrIGFkYSB5YW5nIGRpdWJhaFxuIgorCisjfiBtc2dpZCAiUGxlYXNlIGFuc3dlciBvbmUgb2YgeSxuLHFcbiIKKyN+IG1zZ3N0ciAiVG9sb25nIGphd2FuIHNhbGFoIHNhdHUgZGFyaSB5LG4scVxuIgorCisjfiBtc2dpZCAiIgorI34gIlN1Y2Nlc3NmdWxseSB3cm90ZSB0aGUgbmV3IHBhcnRpdGlvbiB0YWJsZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiU3Vrc2VzIG1lbnVsaXMgdGFiZWwgcGFydGlzaSBiYXJ1XG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIklmIHlvdSBjcmVhdGVkIG9yIGNoYW5nZWQgYSBET1MgcGFydGl0aW9uLCAvZGV2L2ZvbzcsIHNheSwgdGhlbiB1c2UgZGQoMSlcbiIKKyN+ICJ0byB6ZXJvIHRoZSBmaXJzdCA1MTIgYnl0ZXM6ICBkZCBpZj0vZGV2L3plcm8gb2Y9L2Rldi9mb283IGJzPTUxMiBjb3VudD0xXG4iCisjfiAiKFNlZSBmZGlzayg4KS4pIgorI34gbXNnc3RyICIiCisjfiAiSmlrYSBhbmRhIG1lbWJ1YXQgYXRhdSBtZW5ndWJhcyBzZWJ1YWggRE9TIHBhcnRpc2ksIGthdGFrYW5sYWggL2Rldi9mb283LFxuIgorI34gImtlbXVkaWFuIGd1bmFrYW4gZGQoMSkgdW50dWsgbWVub2xrYW4gNTEyIGJ5dGVzIHBlcnRhbWE6IGRkIGlmPS9kZXYvemVybyBcbiIKKyN+ICJvZj0vZGV2L2ZvbzcgYnM9NTEyIGNvdW50PTEgKExpaGF0IGZkaXNrKDgpLilcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKKyN+IG1zZ3N0ciAiLS1vZmZzZXQgZGFuIC0tYWxsIGFkYWxhaCAnbXV0dWFsbHkgZXhjbHVzaXZlJyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueSBET1MgNi54IHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGZkaXNrIGRvY3VtZW50YXRpb24gZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUEVSSU5HQVRBTjogSmlrYSBhbmRhIG1lbWJ1YXQgYXRhdSBtZW1vZGlmaWthc2kgcGFydGlzaSBcbiIKKyN+ICJET1MgNi54LCB0b2xvbmcgbGloYXQgbWFudWFsIGRhcmkgY2ZkaXNrIHVudHVrIGluZm9ybWFzaSBcbiIKKyN+ICJsZWJpaCBsYW5qdXQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmllbGQgaXMgdG9vIGxvbmciCisjfiBtc2dzdHIgImZpZWxkIHRlcmxhbHUgcGFuamFuZy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogJyVjJyBpcyBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJXM6ICclYycgdGlkYWsgZGlwZXJib2xlaGthbi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICInJWMnIGlzIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICInJWMnIHRpZGFrIGRpcGVyYm9sZWhrYW4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNvbnRyb2wgY2hhcmFjdGVycyBhcmUgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIiVzOiBLYXJha3RlciBLb250cm9sIHRpZGFrIGRpcGVyYm9sZWhrYW4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY29udHJvbCBjaGFyYWN0ZXJzIGFyZSBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiQ2hhcmFjdGVyIGNvbnRyb2wgdGlkYWsgZGlwZXJib2xlaGthbi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcy4iCisjfiBtc2dzdHIgIiVzOiBoYW55YSBkYXBhdCBtZW5ndWJhaCBtYXN1a2FuIGxvY2FsOyBndW5ha2FuIHlwJXMuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub3RpbWV8c2hvcnR8ZnVsbHxpc29dXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgIFBlcnRhbWEgICAgIEFraGlyXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGRldGFpbHMgc2VlIGxzbG9naW5zKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dCBsaWhhdCB3aXBlZnMoOCkuXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3J5cHQoKSBmYWlsZWQiCisjfiBtc2dzdHIgIm1hbGxvYygpIGdhZ2FsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNPTU1BTkQgbm90IHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIm5hbWEgYmVya2FzIHRpZGFrIGRpc3Blc2lmaWthc2lrYW4uIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFRoaXMgc21hbGwgdXNhZ2UgZ3VpZGVcbiIKKyN+IG1zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBPdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvblxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gcGF0aG5hbWUgW3BhdGhuYW1lIC4uLl1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwYXRobmFtZSBbcGF0aG5hbWUgLi4uXVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBuYW1laSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlVudHVrIGluZm9ybWFzaSBsZWJpaCBsYW5qdXQgbGloYXQgbmFtZWkoMSkuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHdpcGVmcyg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlVudHVrIGluZm9ybWFzaSBsZWJpaCBsYW5qdXQgbGloYXQgd2lwZWZzKDgpLlxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgdGFza3NldCgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlVudHVrIGluZm9ybWFzaSBsZWJpaCBsYW5qdXQgbGloYXQgbmFtZWkoMSkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGlzIHJlbW92YWJsZSBkZXZpY2UiCisjfiBtc2dzdHIgIiByZW1vdmFibGUiCisKKyN+IG1zZ2lkICJubyBmaWxlbmFtZSBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJuYW1hIGJlcmthcyB0aWRhayBkaXNwZXNpZmlrYXNpa2FuLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0aW1lb3V0IGNhbm5vdCBiZSB6ZXJvIgorI34gbXNnc3RyICJtb3VudDogdGlkYWsgZGFwYXQgbWVuc2V0IGlkIHBlbmdndW5hOiAlcyIKKworI34gbXNnaWQgIk5lZWQgdG8gaW5zZXJ0ICVkIHNlY29uZHMgYW5kIHJlZmVyIHRpbWUgYmFjayAlLjZmIHNlY29uZHMgYWdvXG4iCisjfiBtc2dzdHIgIkJ1dHVoIHVudHVrIG1lbWFzdWtrYW4gJWQgZGV0aWsgZGFuIHJlZmVyZW5zaSB3YWt0dSBrZW1iYWxpICUuNmYgZGV0aWsgeWFuZyBsYWx1XG4iCisKKyN+IG1zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSBLREdIV0NMSyB0byBjaGFuZ2VcbiIKKyN+IG1zZ3N0ciAiTWVudW5nZ3UgZGFsYW0gbG9vcCB1bnR1ayB3YWt0dSBkYXJpIEtER0hXQ0xLIHVudHVrIGJlcnViYWhcbiIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIHRvIHJlYWQgdGltZSBmYWlsZWQiCisjfiBtc2dzdHIgIktER0hXQ0xLIGlvY3RsIHVudHVrIG1lbWJhY2Egd2FrdHUgZ2FnYWwiCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCB0byByZWFkIHRpbWUgZmFpbGVkIGluIGxvb3AiCisjfiBtc2dzdHIgIktER0hXQ0xLIGlvY3RsIHVudHVrIG1lbWJhY2Egd2FrdHUgZ2FnYWwgZGFsYW0gbG9vcCIKKworI34gbXNnaWQgImlvY3RsKCkgZmFpbGVkIHRvIHJlYWQgdGltZSBmcm9tICVzIgorI34gbXNnc3RyICJpb2N0bCgpIGdhZ2FsIHVudHVrIG1lbWJhY2Egd2FrdHUgZGFyaSAlcyIKKworI34gbXNnaWQgImlvY3RsIEtEU0hXQ0xLIGZhaWxlZCIKKyN+IG1zZ3N0ciAiaW9jdGwgS0RTSFdDTEsgZ2FnYWwiCisKKyN+IG1zZ2lkICJDYW4ndCBvcGVuIC9kZXYvdHR5MSBvciAvZGV2L3ZjLzEiCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbWJ1a2EgL2Rldi90dHkxIGF0YXUgL2Rldi92Yy8xIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgZmFpbGVkIgorI34gbXNnc3RyICJLREdIV0NMSyBpb2N0bCBnYWdhbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgZGV0YWlscyBzZWUgbHNjcHUoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJVbnR1ayBpbmZvcm1hc2kgbGViaWggbGFuanV0IGxpaGF0IHdpcGVmcyg4KS5cbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJncy4uLl1cbiIKKyN+IG1zZ3N0ciAicGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIDxhcGxpa2FzaT4gW2FyZyAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSByZW5pY2UoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJVbnR1ayBpbmZvcm1hc2kgbGViaWggbGFuanV0IGxpaGF0IHVuc2hhcmUoMSkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzJXMgW29wdGlvbnNdIFtwcm9ncmFtIFtwcm9ncmFtIGFyZ3VtZW50c11dXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQZW5nZ3VuYWFuOiAlcyVzIFtwaWxpaGFuXSBbYXBsaWthc2kgW2FwbGlrYXNpIGFyZ3VtZW5dXVxuIgorI34gIlxuIgorI34gIlBpbGloYW46XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gcGVyYW5na2F0IC4uLlxuIgorCisjfiBtc2dpZCAiLi4uYmFjayAxIHBhZ2UiCisjfiBtc2dzdHIgIi4uLmtlbWJhbGkgMSBoYWxhbWFuIgorCisjfiBtc2dpZCAiLi4uc2tpcHBpbmcgb25lIGxpbmUiCisjfiBtc2dzdHIgIi4uLm1lbGV3YXRpIHNhdHUgYmFyaXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSByZXYoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJVbnR1ayBpbmZvcm1hc2kgbGViaWggbGFuanV0IGxpaGF0IHVuc2hhcmUoMSkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uXSBmaWxlXG4iCisjfiBtc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCisjfiBtc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1uLCAtLW5vLWFyZ3VtZW50ICAgICAgIG9wdGlvbiBkb2VzIG5vdCB1c2UgYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXIsIC0tcmVxdWlyZWQgPGFyZz4gICAgb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIiVzOiBwaWxpaGFuIG1lbWJ1dHVoa2FuIHNlYnVhaCBhcmd1bWVuIC0tICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAtLXh5enp5ICAgICAgICAgICAgIGEgbG9uZyBvcHRpb24gb25seVxuIgorI34gbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgdGlkYWsgbWVudWxpcyBzZWJlbmFybnlhIGtlIGRpc2siCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc2VjdXRpdmUgbGluZXMgYXJlIGludGVuZGVkIGJ5IHR3byBzcGFjZXNcbiIKKyN+IG1zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1mLCAtLWZvb2JhciAgICAgICAgICAgIG5leHQgb3B0aW9uIGRlc2NyaXB0aW9uIHJlc2V0cyBpbmRlbnRcbiIKKyN+IG1zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWggICAgICAgICAgICAgICAgcHJpbnQgdGhpcyBoZWxwIHRleHRcbiIKKyN+IG1zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLS12ZXJzaW9uXG4iCisjfiBtc2dzdHIgIlsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorCisjfiBtc2dpZCAiY29tcGlsZWQgd2l0aG91dCAteCBzdXBwb3J0IgorI34gbXNnc3RyICJkaWtvbXBpbGUgdGFucGEgZHVrdW5nYW4gLXgiCisKKyN+IG1zZ2lkICIlczogT3V0IG9mIG1lbW9yeSFcbiIKKyN+IG1zZ3N0ciAiJXM6IEtlaGFiaXNhbiBtZW1vcmkhXG4iCisKKyN+IG1zZ2lkICJVbnVzYWJsZSIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgZGlndW5ha2FuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGZhaWxlZFxuIgorI34gbXNnc3RyICJnYWdhbCBtZW51bGlzOiAlcyIKKworI34gbXNnaWQgIkRpc2sgaGFzIGJlZW4gY2hhbmdlZC5cbiIKKyN+IG1zZ3N0ciAiRGlzayBzdWRhaCBiZXJ1YmFoLlxuIgorCisjfiBtc2dpZCAiUmVib290IHRoZSBzeXN0ZW0gdG8gZW5zdXJlIHRoZSBwYXJ0aXRpb24gdGFibGUgaXMgY29ycmVjdGx5IHVwZGF0ZWQuXG4iCisjfiBtc2dzdHIgIlJlYm9vdCBrb21wdXRlciBhbmRhIHVudHVrIG1lbWFzdGlrYW4gdGFiZWwgcGFydGlzaSB0ZWxhaCBiZW5hciAtIGJlbmFyIGRpLXVwZGF0ZS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueVxuIgorI34gIkRPUyA2LnggcGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgY2ZkaXNrIG1hbnVhbFxuIgorI34gInBhZ2UgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQRVJJTkdBVEFOOiBKaWthIGFuZGEgbWVtYnVhdCBhdGF1IG1lbW9kaWZpa2FzaSBwYXJ0aXNpIFxuIgorI34gIkRPUyA2LngsIHRvbG9uZyBsaWhhdCBtYW51YWwgZGFyaSBjZmRpc2sgdW50dWsgaW5mb3JtYXNpIFxuIgorI34gImxlYmloIGxhbmp1dC5cbiIKKworI34gbXNnaWQgIkZBVEFMIEVSUk9SIgorI34gbXNnc3RyICJGQVRBTCBFUlJPUiIKKworI34gbXNnaWQgIlByZXNzIGFueSBrZXkgdG8gZXhpdCBjZmRpc2siCisjfiBtc2dzdHIgIlRla2FuIHRvbWJvbCBtYW5hcHVuIHVudHVrIGtlbHVhciBkYXJpIGNmZGlzayIKKworI34gbXNnaWQgIkNhbm5vdCBzZWVrIG9uIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmNhcmkgZGkgZGlzayBkcml2ZSIKKworI34gbXNnaWQgIkNhbm5vdCByZWFkIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbWJhY2EgZGlzayBkcml2ZSIKKworI34gbXNnaWQgIkNhbm5vdCB3cml0ZSBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW51bGlzIGRpc2sgZHJpdmUiCisKKyN+IG1zZ2lkICJUb28gbWFueSBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJUZXJsYWx1IGJhbnlhayBwYXJ0aXNpIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGJlZ2lucyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIlBhcnRpc2kgbXVsYWkgc2ViZWx1bSBzZWt0b3IgMCIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGJlZm9yZSBzZWN0b3IgMCIKKyN+IG1zZ3N0ciAiUGFydGlzaSBiZXJha2hpciBzZWJlbHVtIHNla3RvciAwIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGJlZ2lucyBhZnRlciBlbmQtb2YtZGlzayIKKyN+IG1zZ3N0ciAiUGFydGlzaSBtdWxhaSBzZXN1ZGFrIGFraGlyIGRhcmkgZGlzayIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICJQYXJ0aXNpIGJlcmFraGlyIHNlc3VkYWggYWtoaXIgZGFyaSBkaXNrIgorCisjfiBtc2dpZCAibG9naWNhbCBwYXJ0aXRpb25zIG5vdCBpbiBkaXNrIG9yZGVyIgorI34gbXNnc3RyICJwYXJ0aXNpIGxvZ2ljYWwgdGlkYWsgZGFsYW0gdXJ1dGFuIGRpc2siCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAicGFydGlzaSBsb2dpY2FsIHNhbGluZyBiZXJvdmVybGFwIgorCisjfiBtc2dpZCAiZW5sYXJnZWQgbG9naWNhbCBwYXJ0aXRpb25zIG92ZXJsYXAiCisjfiBtc2dzdHIgIm1lbXBlcmJlc2FyIHBhcnRpc2kgbG9naWNhbCB5YW5nIHNhbGluZyBiZXJvdmVybGFwIgorCisjfiBtc2dpZCAiISEhISBJbnRlcm5hbCBlcnJvciBjcmVhdGluZyBsb2dpY2FsIGRyaXZlIHdpdGggbm8gZXh0ZW5kZWQgcGFydGl0aW9uICEhISEiCisjfiBtc2dzdHIgIiEhISEgS2VzYWxhaGFuIGludGVybmFsIG1lbWJ1YXQgZHJpdmUgbG9naWNhbCBkZW5nYW4gdGlkYWsgbWVuZ2d1bmFrYW4gcGFydGlzaSBleHRlbmRlZCAhISEhIgorCisjfiBtc2dpZCAiQ2Fubm90IGNyZWF0ZSBsb2dpY2FsIGRyaXZlIGhlcmUgLS0gd291bGQgY3JlYXRlIHR3byBleHRlbmRlZCBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWF0IGRyaXZlIGxvZ2ljYWwgZGlzaW5pIC0tIGFwYWthaCBhbmRhIGFrYW4gbWVtYnVhdCBkdWEgcGFydGlzaSBleHRlbmRlZCIKKworI34gbXNnaWQgIk1lbnUgaXRlbSB0b28gbG9uZy4gTWVudSBtYXkgbG9vayBvZGQuIgorI34gbXNnc3RyICJNZW51IGl0ZW0gdGVybGFsdSBwYW5qYW5nLiBNZW51IG11bmdraW4ga2VsaWhhdGFuIGphbmdnYWwuIgorCisjfiBtc2dpZCAiSWxsZWdhbCBrZXkiCisjfiBtc2dzdHIgIkt1bmNpIHRpZGFrIHZhbGlkIgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICJCdWF0IHNlYnVhaCBwYXJ0aXNpIHByaW1hcnkgYmFydSIKKworI34gbXNnaWQgIkNyZWF0ZSBhIG5ldyBsb2dpY2FsIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiQnVhdCBzZWJ1YWggcGFydGlzaSBsb2dpY2FsIGJhcnUiCisKKyN+IG1zZ2lkICJDYW5jZWwiCisjfiBtc2dzdHIgIkJhdGFsIgorCisjfiBtc2dpZCAiRG9uJ3QgY3JlYXRlIGEgcGFydGl0aW9uIgorI34gbXNnc3RyICJKYW5nYW4gbWVtYnVhdCBzZWJ1YWggcGFydGlzaSIKKworI34gbXNnaWQgIiEhISBJbnRlcm5hbCBlcnJvciAhISEiCisjfiBtc2dzdHIgIiEhISBLZXNhbGFoYW4gaW50ZXJuYWwgISEhIgorCisjfiBtc2dpZCAiU2l6ZSAoaW4gTUIpOiAiCisjfiBtc2dzdHIgIlVrdXJhbiAoZGFsYW0gTUIpOiAiCisKKyN+IG1zZ2lkICJCZWdpbm5pbmciCisjfiBtc2dzdHIgIkRpYXdhbGkiCisKKyN+IG1zZ2lkICJBZGQgcGFydGl0aW9uIGF0IGJlZ2lubmluZyBvZiBmcmVlIHNwYWNlIgorI34gbXNnc3RyICJUYW1iYWhrYW4gcGFydGlzaSBkaSBhd2FsIHJ1YW5nIGtvc29uZyIKKworI34gbXNnaWQgIkFkZCBwYXJ0aXRpb24gYXQgZW5kIG9mIGZyZWUgc3BhY2UiCisjfiBtc2dzdHIgIlRhbWJhaGthbiBwYXJ0aXNpIGRpIGFraGlyIHJ1YW5nIGtvc29uZyIKKworI34gbXNnaWQgIk5vIHJvb20gdG8gY3JlYXRlIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlRpZGFrIGFkYSB0ZW1wYXQgdW50dWsgbWVtYnVhdCBwYXJ0aXNpIGV4dGVuZGVkIgorCisjfiBtc2dpZCAiTm8gcGFydGl0aW9uIHRhYmxlLiBTdGFydGluZyB3aXRoIHplcm8gdGFibGUuIgorI34gbXNnc3RyICJUaWRhayBhZGEgdGFiZWwgcGFydGlzaSwgRGltdWxhaSBkZW5nYW4gdGFiZWwgbm9sLiIKKworI34gbXNnaWQgIkJhZCBzaWduYXR1cmUgb24gcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJTaWduYXR1cmUgdGlkYWsgc2VzdWFpIGRpIHRhYmVsIHBhcnRpc2kiCisKKyN+IG1zZ2lkICJVbmtub3duIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorI34gbXNnc3RyICJUaXBlIHRhYmVsIHBhcnRpc2kgdGlkYWsgZGlrZXRhaHVpIgorCisjfiBtc2dpZCAiRG8geW91IHdpc2ggdG8gc3RhcnQgd2l0aCBhIHplcm8gdGFibGUgW3kvTl0gPyIKKyN+IG1zZ3N0ciAiQXBha2FuIGFuZGEgaW5naW4gbWVtdWxhaSBkZW5nYW4gdGFiZWwgbm9sIFt5L05dID8iCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWthbiBkaXNrIGRyaXZlIgorCisjfiBtc2dpZCAiT3BlbmVkIGRpc2sgcmVhZC1vbmx5IC0geW91IGhhdmUgbm8gcGVybWlzc2lvbiB0byB3cml0ZSIKKyN+IG1zZ3N0ciAiRGlzayB0ZXJidWthIGhhbnlhLWJhY2EgLSBhbmRhIHRpZGFrIG1lbXB1bnlhaSBpamluIHVudHVrIG1lbnVsaXMiCisKKyN+IG1zZ2lkICJDYW5ub3QgZ2V0IGRpc2sgc2l6ZSIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtcGVyb2xlaCB1a3VyYW4gZGlzayIKKworI34gbXNnaWQgIkJhZCBwcmltYXJ5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiUGFydGlzaSBwcmltYXJ5IHRpZGFrIGJhaWsiCisKKyN+IG1zZ2lkICJXYXJuaW5nISEgIFRoaXMgbWF5IGRlc3Ryb3kgZGF0YSBvbiB5b3VyIGRpc2shIgorI34gbXNnc3RyICJQZXJpbmdhdGFuISEgSW5pIG11bmdraW4gYWthbiBtZW5naGFuY3Vya2FuIGRhdGEgZGkgZGlzayBhbmRhISIKKworI34gbXNnaWQgIlBsZWFzZSBlbnRlciBgeWVzJyBvciBgbm8nIgorI34gbXNnc3RyICJUb2xvbmcgamF3YWIgJ3lhJyBhdGF1ICd0aWRhayciCisKKyN+IG1zZ2lkICJXcml0aW5nIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrLi4uIgorI34gbXNnc3RyICJNZW51bGlzIHRhYmVsIHBhcnRpc2kgZGkgZGlzay4uLiIKKworI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrIgorI34gbXNnc3RyICJUYWJlbCBwYXJ0aXNpIHRlbGFoIHRlcnR1bGlzIGRpIGRpc2siCisKKyN+IG1zZ2lkICJXcm90ZSBwYXJ0aXRpb24gdGFibGUsIGJ1dCByZS1yZWFkIHRhYmxlIGZhaWxlZC4gIFJ1biBwYXJ0cHJvYmUoOCksIGtwYXJ0eCg4KSBvciByZWJvb3QgdG8gdXBkYXRlIHRhYmxlLiIKKyN+IG1zZ3N0ciAiVGFiZWwgcGFydGlzaSB0ZWxhaCBkaXR1bGlzLCB0ZXRhcGkgZ2FnYWwgdW50dWsgbWVtYmFjYSB1bGFuZyB0YWJlbCBwYXJ0aXNpLiBKYWxhbmthbiBwYXJ0cHJvYmUoOCksIGtwYXJ0eCg4KSBhdGF1IHJlYm9vdCB1bnR1ayBtZW1wZXJiYXJ1aSB0YWJlbC4iCisKKyN+IG1zZ2lkICJObyBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIG1hcmtlZCBib290YWJsZS4gRE9TIE1CUiBjYW5ub3QgYm9vdCB0aGlzLiIKKyN+IG1zZ3N0ciAiVGlkYWsgYWRhIHBhcnRpc2kgcHJpbWFyeSB5YW5nIGRpYmVyaSB0YW5kYSBib290YWJsZS4gRE9TIE1CUiB0aWRhayBkYXBhdCBtZW1ib290IGRpc2sgaW5pLiIKKworI34gbXNnaWQgIk1vcmUgdGhhbiBvbmUgcHJpbWFyeSBwYXJ0aXRpb24gaXMgbWFya2VkIGJvb3RhYmxlLiBET1MgTUJSIGNhbm5vdCBib290IHRoaXMuIgorI34gbXNnc3RyICJMZWJpaCBkYXJpIHNhdHUgcGFydGlzaSBwcmltYXJ5IHlhbmcgZGliZXJpIHRhbmRhIGJvb3RhYmxlLiBET1MgTUJSIHRpZGFrIGRhcGF0IG1lbWJvb3QgZGlzayBpbmkuIgorCisjfiBtc2dpZCAiRW50ZXIgZmlsZW5hbWUgb3IgcHJlc3MgUkVUVVJOIHRvIGRpc3BsYXkgb24gc2NyZWVuOiAiCisjfiBtc2dzdHIgIk1hc3Vra2FuIG5hbWEgZmlsZSBhdGF1IHRla2FuIFJFVFVSTiB1bnR1ayBtZW5hbXBpbGthbiBkaXNwbGF5IGRpIGxheWFyOiAiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlc1xuIgorI34gbXNnc3RyICJEaXNrIERyaXZlOiAlc1xuIgorCisjfiBtc2dpZCAiU2VjdG9yIDA6XG4iCisjfiBtc2dzdHIgIlNla3RvciAwOlxuIgorCisjfiBtc2dpZCAiU2VjdG9yICVkOlxuIgorI34gbXNnc3RyICJTZWt0b3IgJWQ6XG4iCisKKyN+IG1zZ2lkICIgICBOb25lICAgIgorI34gbXNnc3RyICIgICBOb25lICAgIgorCisjfiBtc2dpZCAiICAgUHJpL0xvZyIKKyN+IG1zZ3N0ciAiICAgUHJpL0xvZyIKKworI34gbXNnaWQgIiAgIFByaW1hcnkiCisjfiBtc2dzdHIgIiAgIFByaW1hcnkiCisKKyN+IG1zZ2lkICIgICBMb2dpY2FsIgorI34gbXNnc3RyICIgICBMb2dpY2FsIgorCisjfiBtc2dpZCAiKCUwMlgpIgorI34gbXNnc3RyICIoJTAyWCkiCisKKyN+IG1zZ2lkICJOb25lIgorI34gbXNnc3RyICJLb3NvbmciCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gVGFibGUgZm9yICVzXG4iCisjfiBtc2dzdHIgIlRhYmVsIHBhcnRpc2kgdW50dWsgJXNcbiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgIEZpcnN0ICAgICAgIExhc3RcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgUGVydGFtYSAgICAgQWtoaXJcbiIKKworI34gbXNnaWQgIiAjIFR5cGUgICAgICAgU2VjdG9yICAgICAgU2VjdG9yICAgT2Zmc2V0ICAgIExlbmd0aCAgIEZpbGVzeXN0ZW0gVHlwZSAoSUQpIEZsYWdcbiIKKyN+IG1zZ3N0ciAiICMgVGlwZSAgICAgICBTZWt0b3IgICAgICBTZWt0b3IgICBPZmZzZXQgICAgIExlbmd0aCAgVGlwZSBGaWxlc3lzdGVtIChJRCkgVGFuZGFcbiIKKworI34gbXNnaWQgIi0tIC0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS1cbiIKKyN+IG1zZ3N0ciAiLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLVxuIgorCisjfiBtc2dpZCAiICAgICAgICAgLS0tU3RhcnRpbmctLS0tICAgICAgLS0tLUVuZGluZy0tLS0tICAgIFN0YXJ0ICAgICBOdW1iZXIgb2ZcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgLS0tLUJlcmF3YWwtLS0tICAgICAgLS0tLUJlcmFraGlyLS0tLSAgIEF3YWwgICAgICBOb21vciBkYXJpXG4iCisKKyN+IG1zZ2lkICIgIyBGbGFncyBIZWFkIFNlY3QgIEN5bCAgIElEICBIZWFkIFNlY3QgIEN5bCAgICAgU2VjdG9yICAgIFNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiICMgVGFuZGEgSGVhZCBTZWN0ICBDeWwgICBJRCAgSGVhZCBTZWN0ICBDeWwgICAgIFNlY3RvciAgICBTZWN0b3JzXG4iCisKKyN+IG1zZ2lkICItLSAtLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS1cbiIKKyN+IG1zZ3N0ciAiLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tXG4iCisKKyN+IG1zZ2lkICJSYXciCisjfiBtc2dzdHIgIk1lbnRhaCIKKworI34gbXNnaWQgIlByaW50IHRoZSB0YWJsZSB1c2luZyByYXcgZGF0YSBmb3JtYXQiCisjfiBtc2dzdHIgIkNldGFrIHRhYmVsIGRlbmdhbiBtZW5nZ3VuYWthbiBmb3JtYXQgZGF0YSBtZW50YWgiCisKKyN+IG1zZ2lkICJQcmludCB0aGUgdGFibGUgb3JkZXJlZCBieSBzZWN0b3JzIgorI34gbXNnc3RyICJDZXRhayB0YWJlbCBkaXVydXQgYmVyZGFzYXJrYW4gc2VrdG9yIgorCisjfiBtc2dpZCAiVGFibGUiCisjfiBtc2dzdHIgIlRhYmVsIgorCisjfiBtc2dpZCAiSnVzdCBwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJIYW55YSBjZXRhayB0YWJlbCBwYXJ0aXNpIgorCisjfiBtc2dpZCAiRG9uJ3QgcHJpbnQgdGhlIHRhYmxlIgorI34gbXNnc3RyICJKYW5nYW4gbWVuY2V0YWsgdGFiZWwiCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMTk5OSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIiCisjfiBtc2dzdHIgIkhhayBDaXB0YSAoQykgMTk5NC0xOTk5IEtldmluIEUuIE1hcnRpbiAmIGFlYiIKKworI34gbXNnaWQgIiAgZyAgICAgICAgICBDaGFuZ2UgY3lsaW5kZXJzLCBoZWFkcywgc2VjdG9ycy1wZXItdHJhY2sgcGFyYW1ldGVycyIKKyN+IG1zZ3N0ciAiICBnICAgICAgICAgIFViYWggcGFyYW1ldGVyIGN5bGluZGVycywgaGVhZHMsIHNlY3Rvci1wZXItdHJhY2tzIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFdBUk5JTkc6IFRoaXMgb3B0aW9uIHNob3VsZCBvbmx5IGJlIHVzZWQgYnkgcGVvcGxlIHdobyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIFBFUklOR0FUQU46IFBpbGloYW4gaW5pIHNlaGFydXNueWEgaGFueWEgYm9sZWggZGlndW5ha2FuIG9sZWggb3JhbmcgeWFuZyIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBrbm93IHdoYXQgdGhleSBhcmUgZG9pbmcuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgdGFodSBhcGEgeWFuZyBtZXJla2Ega2VyamFrYW4uIgorCisjfiBtc2dpZCAiICBtICAgICAgICAgIE1heGltaXplIGRpc2sgdXNhZ2Ugb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorI34gbXNnc3RyICIgIG0gICAgICAgICAgTWFrc2ltYWxrYW4gcGVuZ2d1bmFhbiBkaXNrIGRhcmkgcGFydGlzaSB0ZXJwaWxpaCIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBOb3RlOiBUaGlzIG1heSBtYWtlIHRoZSBwYXJ0aXRpb24gaW5jb21wYXRpYmxlIHdpdGgiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBDYXRhdGFuOiBJbmkgbXVuZ2tpbiBha2FuIG1lbWJ1YXQgcGFydGlzaSB0aWRhayBrb21wYXRpYmVsIGRlbmdhbiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBET1MsIE9TLzIsIC4uLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIERPUywgT1MvMiwgLi4uIgorCisjfiBtc2dpZCAiICBwICAgICAgICAgIFByaW50IHBhcnRpdGlvbiB0YWJsZSB0byB0aGUgc2NyZWVuIG9yIHRvIGEgZmlsZSIKKyN+IG1zZ3N0ciAiICBwICAgICAgICAgIENldGFrIHRhYmVsIHBhcnRpc2kgZGkgbGF5YXIgYXRhdSBrZSBzZWJ1YWggZmlsZSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBUaGVyZSBhcmUgc2V2ZXJhbCBkaWZmZXJlbnQgZm9ybWF0cyBmb3IgdGhlIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIFRlcmRhcGF0IGJlYmVyYXBhIGZvcm1hdCB5YW5nIGJlcmJlZGEgdW50dWsgcGFydGlzaSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICB0aGF0IHlvdSBjYW4gY2hvb3NlIGZyb206IgorI34gbXNnc3RyICIgICAgICAgICAgICAgeWFuZyBkYXBhdCBhbmRhIHBpbGloIGRhcmk6IgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHIgLSBSYXcgZGF0YSAoZXhhY3RseSB3aGF0IHdvdWxkIGJlIHdyaXR0ZW4gdG8gZGlzaykiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICByIC0gRGF0YSBtZW50YWggKHNhbWEgc2VwZXJ0aSB5YW5nIGFrYW4gZGl0dWxpcyBkaSBkaXNrKSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICBzIC0gVGFibGUgb3JkZXJlZCBieSBzZWN0b3JzIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFRhYmVsIGRpdXJ1dCBiZXJkYXNhcmthbiBkYXJpIHNla3RvciIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICB0IC0gVGFibGUgaW4gcmF3IGZvcm1hdCIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHQgLSBUYWJlbCBkYWxhbSBmb3JtYXQgbWVudGFoIChyYXcpIgorCisjfiBtc2dpZCAiICB1ICAgICAgICAgIENoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSIKKyN+IG1zZ3N0ciAiICB1ICAgICAgICAgIFViYWggc2F0dWFuIGRhcmkgdWt1cmFuIHBhcnRpc2kgeWFuZyBkaXRhbXBpbGthbiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBSb3RhdGVzIHRocm91Z2ggTUIsIHNlY3RvcnMgYW5kIGN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIFJvdGFzaSBtZWxhbHVpIE1CLCBzZWt0b3IsIGRhbiBjeWxpbmRlcnMiCisKKyN+IG1zZ2lkICJDVFJMLUwgICAgICAgUmVkcmF3cyB0aGUgc2NyZWVuIgorI34gbXNnc3RyICJDVFJMLUwgICAgICAgTWVuZ2dhbWJhciB1bGFuZyBsYXlhciIKKworI34gbXNnaWQgIiAgPyAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKKyN+IG1zZ3N0ciAiICA/ICAgICAgICAgIE1lbmNldGFrIHRhbXBpbGFuIGluaSIKKworI34gbXNnaWQgIkNoYW5nZSBjeWxpbmRlciBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiVWJhaCBnZW9tZXRyaSBjeWxpbmRlciIKKworI34gbXNnaWQgIkNoYW5nZSBoZWFkIGdlb21ldHJ5IgorI34gbXNnc3RyICJVYmFoIGdlb21ldHJpIGhlYWQiCisKKyN+IG1zZ2lkICJDaGFuZ2Ugc2VjdG9yIGdlb21ldHJ5IgorI34gbXNnc3RyICJVYmFoIGdlb21ldHJpIHNla3RvciIKKworI34gbXNnaWQgIkRvbmUgd2l0aCBjaGFuZ2luZyBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiU2VsZXNhaSB0YW5wYSBtZW5ndWJhaCBnZW9tZXRyaSIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzOiAiCisjfiBtc2dzdHIgIk1hc3Vra2FuIGp1bWxhaCBkYXJpIGN5bGluZGVyOiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGN5bGluZGVycyB2YWx1ZSIKKyN+IG1zZ3N0ciAiSnVtbGFoIGN5bGluZGVycyB0aWRhayB2YWxpZCIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2YgaGVhZHM6ICIKKyN+IG1zZ3N0ciAiTWFzdWtrYW4ganVtbGFoIGhlYWRzOiIKKworI34gbXNnaWQgIklsbGVnYWwgaGVhZHMgdmFsdWUiCisjfiBtc2dzdHIgIkp1bWxhaCBoZWFkIHRpZGFrIHZhbGlkIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFjazogIgorI34gbXNnc3RyICJNYXN1a2thbiBqdW1sYWggc2VrdG9yIHBlciB0cmFjazogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBzZWN0b3JzIHZhbHVlIgorI34gbXNnc3RyICJKdW1sYWggc2VrdG9yIHRpZGFrIHZhbGlkIgorCisjfiBtc2dpZCAiRW50ZXIgZmlsZXN5c3RlbSB0eXBlOiAiCisjfiBtc2dzdHIgIk1hc3Vra2FuIHRpcGUgZmlsZXN5c3RlbTogIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSBGUyBUeXBlIHRvIGVtcHR5IgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW5ndWJhaCBGUyB0eXBlIG1lbmphZGkga29zb25nIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSBGUyBUeXBlIHRvIGV4dGVuZGVkIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW5ndWJhaCBGUyB0aXBlIG1lbmphZGkgZXh0ZW5kZWQiCisKKyN+IG1zZ2lkICJVbmsoJTAyWCkiCisjfiBtc2dzdHIgIlVuayglMjBYKSIKKworI34gbXNnaWQgIiwgTkMiCisjfiBtc2dzdHIgIiwgTkMiCisKKyN+IG1zZ2lkICJOQyIKKyN+IG1zZ3N0ciAiTkMiCisKKyN+IG1zZ2lkICJQcmkvTG9nIgorI34gbXNnc3RyICJQcmkvTG9nIgorCisjfiBtc2dpZCAiVW5rbm93biAoJTAyWCkiCisjfiBtc2dzdHIgIlRpZGFrIGRpa2V0YWh1aSAoJTAyWCkiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlcyIKKyN+IG1zZ3N0ciAiRGlzayBEcml2ZTogJXMiCisKKyN+IG1zZ2lkICJTaXplOiAlbGxkIGJ5dGVzLCAlbGxkIE1CIgorI34gbXNnc3RyICJVa3VyYW46ICVsbGQgYnl0ZXMsICVsbGQgTUIiCisKKyN+IG1zZ2lkICJTaXplOiAlbGxkIGJ5dGVzLCAlbGxkLiVsbGQgR0IiCisjfiBtc2dzdHIgIlVrdXJhbjogJWxsZCBieXRlcywgJWxsZC4lbGxkIEdCIgorCisjfiBtc2dpZCAiSGVhZHM6ICVkICAgU2VjdG9ycyBwZXIgVHJhY2s6ICVkICAgQ3lsaW5kZXJzOiAlbGxkIgorI34gbXNnc3RyICJIZWFkczogJWQgICAgU2VrdG9yIHBlciBUcmFjazogJWQgICBDeWxpbmRlcnM6ICVsbGQiCisKKyN+IG1zZ2lkICJQYXJ0IFR5cGUiCisjfiBtc2dzdHIgIlRpcGUgUGFydGlzaSIKKworI34gbXNnaWQgIkZTIFR5cGUiCisjfiBtc2dzdHIgIlRpcGUgRlMiCisKKyN+IG1zZ2lkICJbTGFiZWxdIgorI34gbXNnc3RyICJbTGFiZWxdIgorCisjfiBtc2dpZCAiICAgIFNlY3RvcnMiCisjfiBtc2dzdHIgIiAgICBTZWt0b3IiCisKKyN+IG1zZ2lkICIgIEN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICBDeWxpbmRlcnMiCisKKyN+IG1zZ2lkICIgIFNpemUgKE1CKSIKKyN+IG1zZ3N0ciAiICBVa3VyYW4gKE1CKSIKKworI34gbXNnaWQgIiAgU2l6ZSAoR0IpIgorI34gbXNnc3RyICIgIFVrdXJhbiAoR0IpIgorCisjfiBtc2dpZCAiTm8gbW9yZSBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJUaWRhayBhZGEgcGFydGlzaSBsYWdpIgorCisjfiBtc2dpZCAiQ2hhbmdlIGRpc2sgZ2VvbWV0cnkgKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIlViYWggZ2VvbWV0cmkgZGlzayAoZXhwZXJ0IG9ubHkpIgorCisjfiBtc2dpZCAiTWF4aW1pemUiCisjfiBtc2dzdHIgIk1ha3NpbWFsa2FuIgorCisjfiBtc2dpZCAiTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24gKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIk1ha3NpbWFsa2FuIHBlbmdndW5hYW4gZGlzayBwYWRhIHBhcnRpc2kgdGVycGlsaWggKGV4cGVydCBvbmx5KSIKKworI34gbXNnaWQgIlByaW50IgorI34gbXNnc3RyICJDZXRhayIKKworI34gbXNnaWQgIkNoYW5nZSB0aGUgZmlsZXN5c3RlbSB0eXBlIChET1MsIExpbnV4LCBPUy8yIGFuZCBzbyBvbikiCisjfiBtc2dzdHIgIlViYWggdGlwZSBmaWxlc3lzdGVtIChET1MsIExpbnV4LCBPUy8yLCBkYW4gc2VsYW5qdXRueWEpIgorCisjfiBtc2dpZCAiVW5pdHMiCisjfiBtc2dzdHIgIlNhdHVhbiIKKworI34gbXNnaWQgIkNoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSAoTUIsIHNlY3QsIGN5bCkiCisjfiBtc2dzdHIgIlViYWggc2F0dWFuIGRhcmkgdWt1cmFuIHBhcnRpc2kgeWFuZyBkaXRhbXBpbGthbiAoTUIsIHNlY3QsIGN5bCkiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWFrZSB0aGlzIHBhcnRpdGlvbiBib290YWJsZSIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYnVhdCBwYXJ0aXNpIGluaSBtZW5qYWRpIGJvb3RhYmxlIgorCisjfiBtc2dpZCAiQ2Fubm90IGRlbGV0ZSBhbiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmdoYXB1cyBzZWJ1YWggcGFydGlzaSBrb3NvbmciCisKKyN+IG1zZ2lkICJDYW5ub3QgbWF4aW1pemUgdGhpcyBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbWFrc2ltYWxrYW4gcGFydGlzaSBpbmkiCisKKyN+IG1zZ2lkICJUaGlzIHBhcnRpdGlvbiBpcyB1bnVzYWJsZSIKKyN+IG1zZ3N0ciAiUGFydGlzaSBpbmkgdGlkYWsgZGFwYXQgZGlndW5ha2FuIgorCisjfiBtc2dpZCAiVGhpcyBwYXJ0aXRpb24gaXMgYWxyZWFkeSBpbiB1c2UiCisjfiBtc2dzdHIgIlBhcnRpc2kgaW5pIHN1ZGFoIGRpcGFrYWkiCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIHRoZSB0eXBlIG9mIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuZ3ViYWggdGlwZSBkYXJpIHNlYnVhaCBwYXJ0aXNpIGtvc29uZyIKKworI34gbXNnaWQgIklsbGVnYWwgY29tbWFuZCIKKyN+IG1zZ3N0ciAiUGVyaW50YWggdGlkYWsgdmFsaWQiCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMjAwMiBLZXZpbiBFLiBNYXJ0aW4gJiBhZWJcbiIKKyN+IG1zZ3N0ciAiSGFrIENpcHRhIChDKSAxOTk0LTIwMDIgS2V2aW4gRS4gTWFydGluICYgYWViXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1oLCAtLWhlYWRzIDxudW1iZXI+ICAgICAgc2V0IHRoZSBudW1iZXIgb2YgaGVhZHMgdG8gdXNlXG4iCisjfiBtc2dzdHIgIiAgICAtSCMgW2F0YXUgLS1oZWFkcyAjXTogIHNldCBqdW1sYWggZGFyaSBoZWFkcyB5YW5nIGRpZ3VuYWthbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWcsIC0tZ3Vlc3MgICAgICAgICAgICAgICBndWVzcyBhIGdlb21ldHJ5IGZyb20gcGFydGl0aW9uIHRhYmxlXG4iCisjfiBtc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1QLCAtLXByaW50IDxyfHN8dD4gICAgICAgcHJpbnQgcGFydGl0aW9uIHRhYmxlIGluIHNwZWNpZmllZCBmb3JtYXRcbiIKKyN+IG1zZ3N0ciAiICBwICAgICAgICAgIENldGFrIHRhYmVsIHBhcnRpc2kgZGkgbGF5YXIgYXRhdSBrZSBzZWJ1YWggZmlsZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWEsIC0tYXJyb3cgICAgICAgICAgICAgICB1c2UgYXJyb3cgZm9yIGhpZ2hsaWdodGluZyB0aGUgY3VycmVudCBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiICBkICAgICAgICAgIEhhcHVzIHBhcnRpc2kgdGVycGlsaWgiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIiAgIGMgICB1YmFoIG5vbW9yIGRhcmkgY3lsaW5kZXJzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2YgaGVhZHMiCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbmRhcGF0a2FuIGFuZ2thICclcyciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBzZWN0b3JzIgorI34gbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5kYXBhdGthbiBhbmdrYSAnJXMnIgorCisjLCBmdXp6eQorI34gbXNnaWQgImJzaXplIgorI34gbXNnc3RyICIsIGJlc2FyPSU5bHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgZSAgIGV4dGVuZGVkIgorI34gbXNnc3RyICJlICAgZXh0ZW5kZWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTnIiCisjfiBtc2dzdHIgIk5DIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNlYyIKKyN+IG1zZ3N0ciAiU2V0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoaXMgZG9lc24ndCBsb29rIGxpa2UgYSBwYXJ0aXRpb24gdGFibGUuIFByb2JhYmx5IHlvdSBzZWxlY3RlZCB0aGUgd3JvbmcgZGV2aWNlLiIKKyN+IG1zZ3N0ciAiIgorI34gIkluaSB0aWRhayBzZXBlcnRpIHNlYnVhaCB0YWJlbCBwYXJ0aXNpXG4iCisjfiAiTXVuZ2tpbiBhbmRhIG1lbWlsaWggcGVyYW5na2F0IHlhbmcgc2FsYWhcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCbG9ja3MgIgorI34gbXNnc3RyICIlbGQgYmxvY2tzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU2VjdG9yIgorI34gbXNnc3RyICJTZWt0b3IiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiWW91IHdpbGwgZ2V0IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCEiCisjfiBtc2dzdHIgIkFuZGEgYWthbiBtZW1wZXJvbGVoIHNlYnVhaCBwYXJ0aXNpIHlhbmcgb3ZlcmxhcCBkaSBkaXNrLiBCZXR1bGthbiBpbmkgdGVybGViaWggZGFodWx1IVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZsYWciCisjfiBtc2dzdHIgIlRhbmRhIgorCisjfiBtc2dpZCAid2FybmluZzogZXJyb3IgcmVhZGluZyAlczogJXMiCisjfiBtc2dzdHIgInBlcmluZ2F0YW46IGVycm9yIG1lbWJhY2EgJXM6ICVzIgorCisjfiBtc2dpZCAid2FybmluZzogY2FuJ3Qgb3BlbiAlczogJXMiCisjfiBtc2dzdHIgInBlcmluZ2F0YW46IHRpZGFrIGRhcGF0IG1lbWJ1a2EgJXM6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNvdWxkIG5vdCBvcGVuICVzIC0gdXNpbmcgJXMgaW5zdGVhZFxuIgorI34gbXNnc3RyICJtb3VudDogdGlkYWsgZGFwYXQgbWVtYnVrYSAlcyAtIG1lbmdndW5ha2FuICVzXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBjcmVhdGUgbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWF0IGZpbGUga3VuY2kgJXM6ICVzIChndW5ha2FuIHBpbGloYW4gLW4gdW50dWsgbWVtYWtzYSBtZW5qYWxhbmthbikiCisKKyN+IG1zZ2lkICJjYW4ndCBsaW5rIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVubGluayBmaWxlIGt1bmNpICVzOiAlcyAoZ3VuYWthbiBwaWxpaGFuIC1uIHVudHVrIG1lbWFrc2EgbWVuamFsYW5rYW4pIgorCisjfiBtc2dpZCAiY2FuJ3Qgb3BlbiBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1a2EgZmlsZSBrdW5jaSAlczogJXMgKGd1bmFrYW4gcGlsaWhhbiAtbiB1bnR1ayBtZW1ha3NhIG1lbmphbGFua2FuKSIKKworI34gbXNnaWQgIkNhbid0IGxvY2sgbG9jayBmaWxlICVzOiAlc1xuIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW5ndW5jaSBmaWxlIGt1bmNpICVzOiAlc1xuIgorCisjfiBtc2dpZCAiY2FuJ3QgbG9jayBsb2NrIGZpbGUgJXM6ICVzIgorI34gbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5ndW5jaSBmaWxlIGt1bmNpICVzOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJDYW5ub3QgY3JlYXRlIGxpbmsgJXNcbiIKKyN+ICJQZXJoYXBzIHRoZXJlIGlzIGEgc3RhbGUgbG9jayBmaWxlP1xuIgorI34gbXNnc3RyICIiCisjfiAiVGlkYWsgZGFwdCBtZW1idWF0IGxpbmsgJXNcbiIKKyN+ICJNdW5na2luIGRpc2FuYSBhZGEgc2VidWFoIGZpbGUga3VuY2kgeWFuZyBtYXNpaCBhZGE/XG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyAoJXMpIC0gbXRhYiBub3QgdXBkYXRlZCIKKyN+IG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVrYSAlcyAoJXMpIC0gbXRhYiB0aWRhayBkaXVwZGF0ZSIKKworI34gbXNnaWQgImVycm9yIHdyaXRpbmcgJXM6ICVzIgorI34gbXNnc3RyICJlcnJvciBtZW51bGlzICVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2Fubm90IGZmbHVzaCBjaGFuZ2VzOiAlcyIKKyN+IG1zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbXBlcm9sZWggc3RhdGlzdGlrICVzOiAlc1xuIgorCisjfiBtc2dpZCAiZXJyb3IgY2hhbmdpbmcgbW9kZSBvZiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiZXJyb3IgbWVuZ3ViYWggbW9kZSBkYXJpICVzOiAlc1xuIgorCisjfiBtc2dpZCAiZXJyb3IgY2hhbmdpbmcgb3duZXIgb2YgJXM6ICVzXG4iCisjfiBtc2dzdHIgImVycm9yIG1lbmd1YmFoIGtlcGVtaWxpa2FuIGRhcmkgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJjYW4ndCByZW5hbWUgJXMgdG8gJXM6ICVzXG4iCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbmdnYW50aSBuYW1hICVzIG1lbmphZGkgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAibW91bnQ6IHdhcm5pbmc6IC9ldGMvbXRhYiBpcyBub3Qgd3JpdGFibGUgKGUuZy4gcmVhZC1vbmx5IGZpbGVzeXN0ZW0pLlxuIgorI34gIiAgICAgICBJdCdzIHBvc3NpYmxlIHRoYXQgaW5mb3JtYXRpb24gcmVwb3J0ZWQgYnkgbW91bnQoOCkgaXMgbm90XG4iCisjfiAiICAgICAgIHVwIHRvIGRhdGUuIEZvciBhY3R1YWwgaW5mb3JtYXRpb24gYWJvdXQgc3lzdGVtIG1vdW50IHBvaW50c1xuIgorI34gIiAgICAgICBjaGVjayB0aGUgL3Byb2MvbW91bnRzIGZpbGUuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJtb3VudDogcGVyaW5nYXRhbjogL2V0Yy9tdGFiIHRpZGFrIGRhcGF0IGRpdHVsaXMgKG11bmdraW4gc2lzdGVtIGJlcmthcyBiYWNhLXNhamEpLlxuIgorI34gIiAgICAgICBJbmkgbWVtdW5na2lua2FuIGppa2EgaW5mb3JtYXNpIHlhbmcgZGl0YW1waWxrYW4gb2xlaCBtb3VudCg4KSB0aWRhayBiYXJ1LlxuIgorI34gIiAgICAgICBVbnR1ayBpbmZvcm1hc2kgYWt0dWFsIG1lbmdlbmFpIHRpdGlrIHBlbWFzYW5nYW4gc2lzdGVtIHBlcmlrc2EgYmVya2FzXG4iCisjfiAiICAgICAgIC9wcm9jL21vdW50cy5cbiIKKworI34gbXNnaWQgIm1vdW50OiBpbXByb3Blcmx5IHF1b3RlZCBvcHRpb24gc3RyaW5nICclcyciCisjfiBtc2dzdHIgIm1vdW50OiBwaWxpaGFuIHN0cmluZyB0aWRhayBkaW55YXRha2FuIGRlbmdhbiBiZW5hciAnJXMnIgorCisjfiBtc2dpZCAibW91bnQ6IHRyYW5zbGF0ZWQgJXMgJyVzJyB0byAnJXMnXG4iCisjfiBtc2dzdHIgIm1vdW50OiBkaXRyYW5zbGFzaWthbiAlcyAnJXMnIGtlICclcydcbiIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogbWVudXJ1dCBtdGFiLCAlcyB0ZWxhaCBkaW1vdW50IGRpICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBtb3VudGVkIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogbWVudXJ1dCBtdGFiLCAlcyB0ZWxhaCBkaSBtb3VudCBkaSAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBvcGVuICVzIGZvciB3cml0aW5nOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpZGFrIGRhcGF0IG1lbWJ1a2EgJXMgdW50dWsgbWVudWxpczogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogZXJyb3Igd3JpdGluZyAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBlcnJvciBkYWxhbSBtZW51bGlzICVzOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBlcnJvciBjaGFuZ2luZyBtb2RlIG9mICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGVycm9yIG1lbmd1YmFoIG1vZGUgZGFyaSAlczogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVtIgorI34gbXNnc3RyICJtb3VudCB0aWRhayBkYXBhdCBtZW5zZXQgZ3J1cCBpZDogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgdXNlciBpZDogJW0iCisjfiBtc2dzdHIgIm1vdW50OiB0aWRhayBkYXBhdCBtZW5zZXQgaWQgcGVuZ2d1bmE6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBmb3JrOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpZGFrIGRhcGF0IG1lbGFrdWthbiBmb3JrOiAlcyIKKworI34gbXNnaWQgIlRyeWluZyAlc1xuIgorI34gbXNnc3RyICJNZW5jb2JhICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogeW91IGRpZG4ndCBzcGVjaWZ5IGEgZmlsZXN5c3RlbSB0eXBlIGZvciAlc1xuIgorI34gbXNnc3RyICJtb3VudDogYW5kYSB0aWRhayBtZW5zcGVzaWZpa2FzaWthbiBzZWJ1YWggdGlwZSBkYXJpIGZpbGVzeXN0ZW0gdW50dWsgJXNcbiIKKworI34gbXNnaWQgIiAgICAgICBJIHdpbGwgdHJ5IGFsbCB0eXBlcyBtZW50aW9uZWQgaW4gJXMgb3IgJXNcbiIKKyN+IG1zZ3N0ciAiICAgICAgIFNheWEgYWthbiBtZW5jb2JhIHNlbXVhIHRpcGUgeWFuZyBkaXNlYnV0a2FuIGRhbGFtICVzIGF0YXUgJXNcbiIKKworI34gbXNnaWQgIiAgICAgICBhbmQgaXQgbG9va3MgbGlrZSB0aGlzIGlzIHN3YXBzcGFjZVxuIgorI34gbXNnc3RyICIgICAgICAgZGFuIGluaSBzZXBlcnRpbnlhIG1lcnVwYWthbiBzZWJ1YWggc3dhcHNwYWNlXG4iCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSB0eXBlICVzXG4iCisjfiBtc2dzdHIgIiAgICAgICBTYXlhIGFrYW4gbWVuY29iYSB0aXBlICVzXG4iCisKKyN+IG1zZ2lkICIlcyBsb29rcyBsaWtlIHN3YXBzcGFjZSAtIG5vdCBtb3VudGVkIgorI34gbXNnc3RyICIlcyBrZWxpaGF0YW5ueWEgc2VwZXJ0aSBzd2Fwc3BhY2UgLSB0aWRhayBkaSBtb3VudCIKKworI34gbXNnaWQgIm1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAibW91bnQgZ2FnYWwiCisKKyN+IG1zZ2lkICJtb3VudDogb25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGhhbnlhIHJvb3QgeWFuZyBkYXBhdCBtZWxha3VrYW4gbW91bnQgJXMgZGkgJXMiCisKKyN+IG1zZ2lkICJtb3VudDogbG9vcCBkZXZpY2Ugc3BlY2lmaWVkIHR3aWNlIgorI34gbXNnc3RyICJtb3VudDogcGVyYW5na2F0IGxvb3AgZGlzcGVzaWZpa2FzaWthbiBkdWEga2FsaSIKKworI34gbXNnaWQgIm1vdW50OiB0eXBlIHNwZWNpZmllZCB0d2ljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpcGUgZGlzcGVzaWZpa2FzaWthbiBkdWEga2FsaSIKKworI34gbXNnaWQgIm1vdW50OiBza2lwcGluZyB0aGUgc2V0dXAgb2YgYSBsb29wIGRldmljZVxuIgorI34gbXNnc3RyICJtb3VudDogbWVsZXdhdGthbiBzZXR1cCBkYXJpIHBlcmFuZ2thdCBsb29wXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGVuYWJsaW5nIGF1dG9jbGVhciBsb29wZGV2IGZsYWdcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGFrYW4gbWVuZ2d1bmFrYW4gcGVyYW5na2F0IGxvb3AgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogaW52YWxpZCBvZmZzZXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm5pbGFpIG9mc2V0ICclcycgdGlkYWsgdmFsaWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGludmFsaWQgc2l6ZWxpbWl0ICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICJuaWxhaSBvZnNldCAnJXMnIHRpZGFrIHZhbGlkIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlcyBhcyBsb29wIgorI34gbXNnc3RyICJtb3VudDogbWVudXJ1dCBtdGFiLCAlcyB0ZWxhaCBkaW1vdW50IGRpICVzIHNlYmFnYWkgbG9vcCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGRldiBjb250ZXh0IgorI34gbXNnc3RyICJnYWdhbCBtZW5naW5pc2lhbGlzYXNpIGJhcmlzIHBlbnlhbmdnYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gdXNlICVzIGRldmljZSIKKyN+IG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVyZXdpbmQgcGVyYW5na2F0IHN3YXAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byBmb3VuZCBmcmVlIGxvb3AgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudDogZ2FnYWwgbWVuc2V0LXVwIHBlcmFuZ2thdCBsb29wXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ29pbmcgdG8gdXNlIHRoZSBsb29wIGRldmljZSAlc1xuIgorI34gbXNnc3RyICJtb3VudDogYWthbiBtZW5nZ3VuYWthbiBwZXJhbmdrYXQgbG9vcCAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiAlczogZmFpbGVkIHRvIHNldCBsb29wZGV2IGF0dHJpYnV0ZXMiCisjfiBtc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIGF0cmlidXQgcGlkICVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiAlczogZmFpbGVkIHNldHRpbmcgdXAgbG9vcCBkZXZpY2U6ICVtIgorI34gbXNnc3RyICJtb3VudDogZ2FnYWwgbWVuc2V0LXVwIHBlcmFuZ2thdCBsb29wXG4iCisKKyN+IG1zZ2lkICJtb3VudDogc3RvbGVuIGxvb3A9JXMgLi4udHJ5aW5nIGFnYWluXG4iCisjfiBtc2dzdHIgIm1vdW50OiB0ZXJjdXJpIGxvb3A9JXMgLi4ubWVuY29iYSBsYWdpXG4iCisKKyN+IG1zZ2lkICJtb3VudDogc3RvbGVuIGxvb3A9JXMiCisjfiBtc2dzdHIgInVtb3VudDogdGVyY3VyaSBsb29wPSVzIgorCisjfiBtc2dpZCAibW91bnQ6IHNldHVwIGxvb3AgZGV2aWNlIHN1Y2Nlc3NmdWxseVxuIgorI34gbXNnc3RyICJtb3VudDogc2V0dXAgcGVyYW5na2F0IGxvb3AgdGVsYWggYmVyaGFzaWxcbiIKKworI34gbXNnaWQgIm1vdW50OiBubyAlcyBmb3VuZCAtIGNyZWF0aW5nIGl0Li5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIHRpZGFrIGRpdGVtdWthbiAtIG1lbWJ1YXRueWEuLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBvcGVuICVzIGZvciBzZXR0aW5nIHNwZWVkIgorI34gbXNnc3RyICJtb3VudDogdGlkYWsgZGFwYXQgbWVtYnVrYSAlcyB1bnR1ayBtZW5zZXQga2VjZXBhdGFuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHNwZWVkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQgdGlkYWsgZGFwYXQgbWVuc2V0IGtlY2VwYXRhbjogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorI34gbXNnc3RyICJtb3VudDogbWVudXJ1dCBtdGFiLCAlcyB0ZWxhaCBkaW1vdW50IGRpICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogJXMgc2VlbXMgdG8gYmUgbW91bnRlZCByZWFkLXdyaXRlLlxuIgorI34gbXNnc3RyICJtb3VudDogcGVyaW5nYXRhbjogJXMga2VsaWhhdGFubnlhIHRlbGFoIGRpcGFzYW4gYmFjYS10dWxpcy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogJXMgc2VlbXMgdG8gYmUgbW91bnRlZCByZWFkLW9ubHkuXG4iCisjfiBtc2dzdHIgIm1vdW50OiBwZXJpbmdhdGFuOiAlcyBrZWxpaGF0YW5ueWEgdGVsYWggZGlwYXNhbiBiYWNhLXR1bGlzLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IEkgY291bGQgbm90IGRldGVybWluZSB0aGUgZmlsZXN5c3RlbSB0eXBlLCBhbmQgbm9uZSB3YXMgc3BlY2lmaWVkIgorI34gbXNnc3RyICJtb3VudDogU2F5YSB0aWRhayBkYXBhdCBtZW5lbnR1a2FuIHRpcGUgZGFyaSBmaWxlc3lzdGVtLCBkYW4gdGlkYWsgZGliZXJpa2FuIHNwZXNpZmlrYXNpIGRpIGFyZ3VtZW50IHBlcmludGFoIgorCisjfiBtc2dpZCAibW91bnQ6IHlvdSBtdXN0IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSIKKyN+IG1zZ3N0ciAibW91bnQ6IGFuZGEgaGFydXMgbWVuc3Blc2lmaWthc2lrYW4gdGlwZSBmaWxlc3lzdGVtIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IG1vdW50IGdhZ2FsIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGlzIG5vdCBhIGRpcmVjdG9yeSIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpdGlrIG1vdW50ICVzIGJ1a2FuIGJlcnVwYSBzZWJ1YWggZGlyZWt0b3JpIgorCisjfiBtc2dpZCAibW91bnQ6IHBlcm1pc3Npb24gZGVuaWVkIgorI34gbXNnc3RyICJtb3VudDogaWppbiBkaXRvbGFrIgorCisjfiBtc2dpZCAibW91bnQ6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKKyN+IG1zZ3N0ciAibW91bnQ6IGhhcnVzIG1lbmphZGkgc3VwZXJ1c2VyIHVudHVrIG1lbmdndW5ha2FuIG1vdW50IgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIGJ1c3kiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBzZWRhbmcgc2lidWsiCisKKyN+IG1zZ2lkICJtb3VudDogcHJvYyBhbHJlYWR5IG1vdW50ZWQiCisjfiBtc2dzdHIgIm1vdW50OiBwcm9jIHRlbGFoIGRpbW91bnQiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgYWxyZWFkeSBtb3VudGVkIG9yICVzIGJ1c3kiCisjfiBtc2dzdHIgIm1vdW50OiAlcyB0ZWxhaCBkaW1vdW50IGF0YXUgJXMgc2VkYW5nIHNpYnVrIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGRvZXMgbm90IGV4aXN0IgorI34gbXNnc3RyICJtb3VudDogdGl0aWsgbW91bnQgJXMgdGlkYWsgYWRhIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIgorI34gbXNnc3RyICJtb3VudDogdGl0aWsgbW91bnQgJXMgYmVydXBhIHN5bWJvbGljIGxpbmsga2Ugc3VhdHUgdGVtcGF0IgorCisjfiBtc2dpZCAibW91bnQ6IHNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorI34gbXNnc3RyICJtb3VudDogcGVyYW5na2F0IHNwZXNpYWwgJXMgdGlkYWsgYWRhIgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiBzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdFxuIgorI34gIiAgICAgICAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogcGVyYW5na2F0IHNwZXNpYWwgJXMgdGlkYWsgYWRhXG4iCisjfiAiICAgICAgIChzZWJ1YWggcGF0aCBwcmVmaXggYnVrYW4gYmVydXBhIHNlYnVhaCBkaXJla3RvcmkpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6ICVzIG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCisjfiBtc2dzdHIgIm1vdW50OiAlcyBzdWRhaCB0aWRhayBkaW1vdW50LCBhdGF1IHBpbGloYW4gYnVydWsiCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHdyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLFxuIgorI34gIiAgICAgICBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiB0aXBlIGZzIHNhbGFoLCBwaWxpaGFuIGJ1cnVrLCBzdXBlcmJsb2NrIGJ1cnVrIGRpICVzLFxuIgorI34gIiAgICAgICBoaWxhbmcgY29kZXBhZ2UgYXRhdSBhcGxpa2FzaSBwZW1iYW50dSwgYXRhdSBlcnJvciBsYWluIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoZm9yIHNldmVyYWwgZmlsZXN5c3RlbXMgKGUuZy4gbmZzLCBjaWZzKSB5b3UgbWlnaHRcbiIKKyN+ICIgICAgICAgbmVlZCBhIC9zYmluL21vdW50Ljx0eXBlPiBoZWxwZXIgcHJvZ3JhbSkiCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAgKHVudHVrIGJlYmVyYXBhIGZpbGVzeXN0ZW0gKGUuZy4gbmZzLCBjaWZzKSBhbmRhIG11bmdraW5cbiIKKyN+ICIgICAgICAgbWVtYnV0dWhrYW4gYXBsaWthc2kgcGVtYmFudHUgL3NiaW4vbW91bnQuPHRpcGU+KSIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgKGNvdWxkIHRoaXMgYmUgdGhlIElERSBkZXZpY2Ugd2hlcmUgeW91IGluIGZhY3QgdXNlXG4iCisjfiAiICAgICAgIGlkZS1zY3NpIHNvIHRoYXQgc3IwIG9yIHNkYSBvciBzbyBpcyBuZWVkZWQ/KSIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAoYXBha2FoIGluaSBtdW5na2luIHNlYnVhaCBwZXJhbmdrYXQgSURFIGRpbWFuYSBhbmRhIG1lbmdndW5ha2FuXG4iCisjfiAiICAgICAgIGlkZS1zY3NpIHNlaGluZ2dhIHNyMCBhdGF1IHNkYSBhdGF1IHBlcmFuZ2thdCBzZXBlcnRpbnlhIHlhbmcgZGlwZXJsdWthbj8pIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoYXJlbid0IHlvdSB0cnlpbmcgdG8gbW91bnQgYW4gZXh0ZW5kZWQgcGFydGl0aW9uLFxuIgorI34gIiAgICAgICBpbnN0ZWFkIG9mIHNvbWUgbG9naWNhbCBwYXJ0aXRpb24gaW5zaWRlPykiCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAgKGFwYWthaCBhbmRhIG1lbmNvYmEgbWVtb3VudCBzZWJ1YWggcGFydGlzaSBleHRlbmRlZCxcbiIKKyN+ICIgICAgICAgZGFyaXBhZGEgc2VidWFoIHBhcnRpc2kgbG9naWNhbCBkaWRhbGFtbnlhPykiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gaXMgZm91bmQgaW4gc3lzbG9nIC0gdHJ5XG4iCisjfiAiICAgICAgIGRtZXNnIHwgdGFpbCAgb3Igc29cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICBEYWxhbSBiZWJlcmFwYSBrYXN1cyBpbmZvcm1hc2kgYmVyZ3VuYSBkYXBhdCBkaXRlbXVrYW4gZGkgc3lzbG9nIC0gY29iYVxuIgorI34gIiAgICAgICBkbWVzZyB8IHRhaWwgYXRhdSB5YW5nIHNlcnVwYVxuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiBjYW4ndCByZWFkIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgIm1vdW50OiAlczogdGlkYWsgZGFwYXQgbWVtYmFjYSBzdXBlcmJsb2NrIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiB1bmtub3duIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzOiBwZXJhbmdrYXQgdGlkYWsgZGlrZXRhaHVpIgorCisjfiBtc2dpZCAibW91bnQ6IHVua25vd24gZmlsZXN5c3RlbSB0eXBlICclcyciCisjfiBtc2dzdHIgIm1vdW50OiB0aXBlIGZpbGVzeXN0ZW0gdGlkYWsgZGlrZXRhaHVpICclcyciCisKKyN+IG1zZ2lkICJtb3VudDogcHJvYmFibHkgeW91IG1lYW50ICVzIgorI34gbXNnc3RyICJtb3VudDogbXVuZ2tpbiB5YW5nIGFuZGEgbWFrc3Vka2FuICVzIgorCisjfiBtc2dpZCAibW91bnQ6IG1heWJlIHlvdSBtZWFudCAnaXNvOTY2MCc/IgorI34gbXNnc3RyICJtb3VudDogbXVuZ2tpbiB5YW5nIGFuZGEgbWFrc3VkICdpc285NjYwJz8iCisKKyN+IG1zZ2lkICJtb3VudDogbWF5YmUgeW91IG1lYW50ICd2ZmF0Jz8iCisjfiBtc2dzdHIgIm1vdW50OiBtdW5na2luIHlhbmcgYW5kYSBtYWtzdWQgJ3ZmYXQnPyIKKworI34gbXNnaWQgIm1vdW50OiAlcyBoYXMgd3JvbmcgZGV2aWNlIG51bWJlciBvciBmcyB0eXBlICVzIG5vdCBzdXBwb3J0ZWQiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBtZW1pbGlraSBub21vciBwZXJhbmdrYXQgeWFuZyBzYWxhaCBhdGF1IHRpcGUgZnMgJXMgdGlkYWsgZGlzdXBwb3J0IgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQgZmFpbHM/IgorI34gbXNnc3RyICJtb3VudDogJXMgYnVrYW4gc2VidWFrIHBlcmFuZ2thdCBibG9jaywgZGFuIGdhZ2FsIG1lbXBlcm9sZWggc3RhdGlzdGlrPyIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogdGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2VcbiIKKyN+ICIgICAgICAgKG1heWJlIGBtb2Rwcm9iZSBkcml2ZXInPykiCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDoga2VybmVsIHRpZGFrIG1lbmdlbmFsICVzIHNlYmFnYWkgc2VidWFoIHBlcmFuZ2thdCBibG9ja1xuIgorI34gIiAgICAgICAobXVuZ2tpbiBgbW9kcHJvYmUgZHJpdmVyJz8pIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSAobWF5YmUgdHJ5IGAtbyBsb29wJz8pIgorI34gbXNnc3RyICJtb3VudDogJXMgYnVrYW4gc2VidWFoIHBlcmFuZ2thdCBibG9jayAobXVuZ2tpbiBkaWNvYmEgZGVuZ2FuIG1lbmdndW5ha2FuIHBpbGloYW4gYC1vIGxvb3AnPyIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBidWthbiBzZWJ1YWggcGVyYW5na2F0IGJsb2NrIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGJ1a2FuIHNlYnVhaCBwZXJhbmdrYXQgYmxvY2sgeWFuZyB2YWxpZCIKKworI34gbXNnaWQgImJsb2NrIGRldmljZSAiCisjfiBtc2dzdHIgInBlcmFuZ2thdCBibG9jayAiCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IG1vdW50ICVzJXMgcmVhZC1vbmx5IgorI34gbXNnc3RyICJtb3VudDogdGlkYWsgZGFwYXQgbWUtbW91bnQgJXMlcyBoYW55YS1iYWNhIgorCisjfiBtc2dpZCAibW91bnQ6ICVzJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCBgLXcnIGZsYWcgZ2l2ZW4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyVzIG1lbWlsaWtpIHByb3Rla3NpIHVudHVrIGRpdHVsaXMgdGV0YXBpIHNlY2FyYSBla3NwbGlzaXQgcGlsaWhhbiBgLXcnIGRpYmVyaWthbiIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgcmVtb3VudCAlcyVzIHJlYWQtd3JpdGUsIGlzIHdyaXRlLXByb3RlY3RlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpZGFrIGRhcGF0IG1lbWFzYW5nIGtlbWJhbGkgJXMlcyBzZWNhcmEgYmFjYS10dWxpcywgdGVycHJvdGVrc2ktdHVsaXMiCisKKyN+IG1zZ2lkICJtb3VudDogJXMlcyBpcyB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50aW5nIHJlYWQtb25seSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzJXMgbWVtaWxpa2kgcHJvdGVrc2kgdW50dWsgZGl0dWxpcywgbWVtb3VudCBzZWNhcmEgaGFueWEtYmFjYSIKKworI34gbXNnaWQgIm1vdW50OiBubyBtZWRpdW0gZm91bmQgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiB0aWRhayBhZGEgbWVkaWEgZGl0ZW11a2FuIGRpICVzIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHR5cGUgd2FzIGdpdmVuIC0gSSdsbCBhc3N1bWUgbmZzIGJlY2F1c2Ugb2YgdGhlIGNvbG9uXG4iCisjfiBtc2dzdHIgIm1vdW50OiB0aXBlIHRpZGFrIGRpYmVyaWthbiAtIFNheWEgYWthbiBtZW5nYXN1bXNpa2FuIG5mcyBrYXJlbmEgYWRhbnlhIGNvbG9uXG4iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gdHlwZSB3YXMgZ2l2ZW4gLSBJJ2xsIGFzc3VtZSBjaWZzIGJlY2F1c2Ugb2YgdGhlIC8vIHByZWZpeFxuIgorI34gbXNnc3RyICJtb3VudDogdGlwZSB0aWRhayBkaWJlcmlrYW4gLSBTYXlhIGFrYW4gbWVuZ2FzdW1zaWthbiBjaWZzIGthcmVuYSBhZGFueWEgYXdhbGFuIC8vXG4iCisKKyN+IG1zZ2lkICJtb3VudDogJXMgYWxyZWFkeSBtb3VudGVkIG9uICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyB0ZWxhaCBkaW1vdW50IGRpICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IG1vdW50IC1WICAgICAgICAgICAgICAgICA6IHByaW50IHZlcnNpb25cbiIKKyN+ICIgICAgICAgbW91bnQgLWggICAgICAgICAgICAgICAgIDogcHJpbnQgdGhpcyBoZWxwXG4iCisjfiAiICAgICAgIG1vdW50ICAgICAgICAgICAgICAgICAgICA6IGxpc3QgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorI34gIiAgICAgICBtb3VudCAtbCAgICAgICAgICAgICAgICAgOiBpZGVtLCBpbmNsdWRpbmcgdm9sdW1lIGxhYmVsc1xuIgorI34gIlNvIGZhciB0aGUgaW5mb3JtYXRpb25hbCBwYXJ0LiBOZXh0IHRoZSBtb3VudGluZy5cbiIKKyN+ICJUaGUgY29tbWFuZCBpcyBgbW91bnQgWy10IGZzdHlwZV0gc29tZXRoaW5nIHNvbWV3aGVyZScuXG4iCisjfiAiRGV0YWlscyBmb3VuZCBpbiAvZXRjL2ZzdGFiIG1heSBiZSBvbWl0dGVkLlxuIgorI34gIiAgICAgICBtb3VudCAtYSBbLXR8LU9dIC4uLiAgICAgOiBtb3VudCBhbGwgc3R1ZmYgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiICAgICAgIG1vdW50IGRldmljZSAgICAgICAgICAgICA6IG1vdW50IGRldmljZSBhdCB0aGUga25vd24gcGxhY2VcbiIKKyN+ICIgICAgICAgbW91bnQgZGlyZWN0b3J5ICAgICAgICAgIDogbW91bnQga25vd24gZGV2aWNlIGhlcmVcbiIKKyN+ICIgICAgICAgbW91bnQgLXQgdHlwZSBkZXYgZGlyICAgIDogb3JkaW5hcnkgbW91bnQgY29tbWFuZFxuIgorI34gIk5vdGUgdGhhdCBvbmUgZG9lcyBub3QgcmVhbGx5IG1vdW50IGEgZGV2aWNlLCBvbmUgbW91bnRzXG4iCisjfiAiYSBmaWxlc3lzdGVtIChvZiB0aGUgZ2l2ZW4gdHlwZSkgZm91bmQgb24gdGhlIGRldmljZS5cbiIKKyN+ICJPbmUgY2FuIGFsc28gbW91bnQgYW4gYWxyZWFkeSB2aXNpYmxlIGRpcmVjdG9yeSB0cmVlIGVsc2V3aGVyZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1iaW5kIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJvciBtb3ZlIGEgc3VidHJlZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tb3ZlIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBtb3VudCBjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2hhcmVkIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2xhdmUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1wcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtdW5iaW5kYWJsZSBkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBhbGwgdGhlIG1vdW50cyBpbiBhIG1vdW50IHN1YnRyZWVcbiIKKyN+ICJjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzbGF2ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJwcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnVuYmluZGFibGUgZGlyXG4iCisjfiAiQSBkZXZpY2UgY2FuIGJlIGdpdmVuIGJ5IG5hbWUsIHNheSAvZGV2L2hkYTEgb3IgL2Rldi9jZHJvbSxcbiIKKyN+ICJvciBieSBsYWJlbCwgdXNpbmcgIC1MIGxhYmVsICBvciBieSB1dWlkLCB1c2luZyAgLVUgdXVpZCAuXG4iCisjfiAiT3RoZXIgb3B0aW9uczogWy1uZkZyc3Z3XSBbLW8gb3B0aW9uc10gWy1wIHBhc3N3ZGZkXS5cbiIKKyN+ICJGb3IgbWFueSBtb3JlIGRldGFpbHMsIHNheSAgbWFuIDggbW91bnQgLlxuIgorI34gbXNnc3RyICIiCisjfiAiUGVuZ2d1bmFuOiBtb3VudCAtViAgICAgICAgICAgICA6IHRhbXBpbGthbiB2ZXJzaVxuIgorI34gIiAgICAgICAgICAgbW91bnQgLWggICAgICAgICAgICAgOiB0YW1waWxrYW4gYmFudHVhbiBpbmlcbiIKKyN+ICIgICAgICAgICAgIG1vdW50ICAgICAgICAgICAgICAgIDogdGFtcGlsa2FuIHNlbHVydWggZmlsZXN5c3RlbSB5YW5nIGRpIG1vdW50XG4iCisjfiAiICAgICAgICAgICBtb3VudCAtbCAgICAgICAgICAgICA6IGlkZW0sIHRlcm1hc3VrIHZvbHVtZSBsYWJlbHNcbiIKKyN+ICJTZWJlbHVtbnlhIGFkYWxhaCBiYWdpYW4gdW50dWsgaW5mb3JtYXNpLiBTZWxhbmp1dG55YSBtZW5nZW5haSBtb3VudGluZy5cbiIKKyN+ICJQZXJpbnRhaCBhZGFsYWggYG1vdW50IFstdCBmc3R5cGVdIHNlc3VhdHUgc3VhdHUtdGVtcGF0Jy5cbiIKKyN+ICJEZXRhaWwgeWFuZyBkaXRlbXVrYW4gZGFsYW0gL2V0Yy9mc3RhYiBtdW5na2luIGRpIGFiYWlrYW4uXG4iCisjfiAiICAgICAgICAgICBtb3VudCAtYSBbLXR8LU9dIC4uLiA6IG1vdW50IHNlbHVydWggZmlsZXN5c3RlbSBkYXJpIC9ldGMvZnN0YWJcbiIKKyN+ICIgICAgICAgICAgIG1vdW50IHBlcmFuZ2thdCAgICAgIDogbW91bnQgcGVyYW5na2F0IGRpIHRlbXBhdCB5YW5nIGRpa2V0YWh1aVxuIgorI34gIiAgICAgICAgICAgbW91bnQgZGlyZWt0b3JpICAgICAgOiBtb3VudCBwZXJhbmdrYXQgeWFuZyBkaWtldGFodWkgZGlzaW5pXG4iCisjfiAiICAgICAgICAgICBtb3VudCAtdCB0eXBlIGRldiBkaXI6IHBlcmludGFoIG1vdW50IGJpYXNhXG4iCisjfiAiQ2F0YXRhbjogYmVyaWt1dCBhZGFsYWggcGVyaW50YWggbW91bnQgeWFuZyB0aWRhayBiZW5hciAtIGJlbmFyIG1lbW91bnRzXG4iCisjfiAic2VidWFoIGZpbGVzeXN0ZW0gKGRhcmkgdGlwZSB5YW5nIGRpYmVyaWthbikgeWFuZyBkaXRlbXVrYW4gZGFyaSBwZXJhbmdrYXQuXG4iCisjfiAiU2VzZW9yYW5nIGp1Z2EgZGFwYXQgbWUgbW91bnQgZGlyZWt0b3JpIHlhbmcgc3VkYWggZGkgbW91bnQga2UgdGVtcGF0IGxhaW46XG4iCisjfiAiICAgICAgICAgICBtb3VudCAtLWJpbmQgb2xkZGlyIG5ld2RpclxuIgorI34gImF0YXUgbWVtaW5kYWhrYW4gc2VidWFoIHN1YnRyZWU6XG4iCisjfiAiICAgICAgICAgICBtb3VudCAtLW1vdmUgb2xkZGlyIG5ld2RpclxuIgorI34gImF0YXUgZGFwYXQgbWVuZ3ViYWggdGlwZSBkYXJpIG1vdW50IHlhbmcgYmVyaXNpIGRhcmkgZGlyZWt0b3JpIGRpcjpcbiIKKyN+ICIgICAgICAgICAgIG1vdW50IC0tbWFrZS1zaGFyZWQgZGlyXG4iCisjfiAiICAgICAgICAgICBtb3VudCAtLW1ha2Utc2xhdmUgZGlyXG4iCisjfiAiICAgICAgICAgICBtb3VudCAtLW1ha2UtcHJpdmF0ZSBkaXJcbiIKKyN+ICIgICAgICAgICAgIG1vdW50IC0tbWFrZS11bmJpbmRhYmxlIGRpclxuIgorI34gIkF0YXUgZGFwYXQgbWVuZ3ViYWggdGlwZSBkYXJpIHNlbHVydWggbW91bnQgZGFsYW0gc2VidWFoIG1vdW50IHN1YnRyZWVcbiIKKyN+ICJ5YW5nIGJlcmlzaSBkaXJla3RvcmkgZGlyOlxuIgorI34gIiAgICAgICAgICAgbW91bnQgLS1tYWtlLXJzaGFyZWQgZGlyXG4iCisjfiAiICAgICAgICAgICBtb3VudCAtLW1ha2UtcnNsYXZlIGRpclxuIgorI34gIiAgICAgICAgICAgbW91bnQgLS1tYWtlLXJwaXZhdGUgZGlyXG4iCisjfiAiICAgICAgICAgICBtb3VudCAtLW1ha2UtcnVuYmluZGFibGUgZGlyXG4iCisjfiAiU2VidWFoIHBlcmFuZ2thdCBkYXBhdCBkaWJlcmlrYW4gYmVyZGFzYXJrYW4gbmFtYSwga2F0YWthbmxhaCAvZGV2L2hkYTEgYXRhdVxuIgorI34gIi9kZXYvY2Ryb20sIGF0YXUgbWVsYWx1aSBsYWJlbCwgZGVuZ2FuIG1lbmdndW5ha2FuIHBpbGloYW4gLUwgbGFiZWwgYXRhdSBtZWxhbHVpXG4iCisjfiAidXVpZC4gUGlsaWhhbiBsYWluOiBbLW5mRnJzdnddIFstbyBwaWxpaGFuXSBbLXAgcGFzc3dkZmRdLlxuIgorI34gIlVudHVrIGluZm9ybWFzaSBsZWJpaCBkZXRhaWwsIGxpaGF0IG1hbiA4IG1vdW50LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorI34gbXNnc3RyICJtb3VudDogaGFueWEgcm9vdCB5YW5nIGRhcGF0IG1lbGFrdWthbiBpdHUgKFVJRCBlZmVrdGlmIGFkYWxhaCAlZCkiCisKKyN+IG1zZ2lkICJtb3VudDogb25seSByb290IGNhbiBkbyB0aGF0IgorI34gbXNnc3RyICJtb3VudDogaGFueWEgcm9vdCB5YW5nIGRhcGF0IG1lbGFrdWthbiBpdHUiCisKKyN+IG1zZ2lkICJub3RoaW5nIHdhcyBtb3VudGVkIgorI34gbXNnc3RyICJ0aWRhayBhZGEgeWFuZyB0ZWxhaCBkaW1vdW50IgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHN1Y2ggcGFydGl0aW9uIGZvdW5kIgorI34gbXNnc3RyICJtb3VudDogcGFydGlzaSBzZXBlcnRpIGl0dSB0aWRhayBkaXRlbXVrYW4iCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3QgZmluZCAlcyBpbiAlcyBvciAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpZGFrIGRhcGF0IG1lbmVtdWthbiAlcyBkYWxhbSAlcyBhdGF1ICVzIgorCisjfiBtc2dpZCAiW21udGVudF06IHdhcm5pbmc6IG5vIGZpbmFsIG5ld2xpbmUgYXQgdGhlIGVuZCBvZiAlc1xuIgorI34gbXNnc3RyICJbbW50ZW50XTogcGVyaW5nYXRhbjogdGlkYWsgYWRhIGJhcmlzIGJhcnUgZmluYWwgcGFkYSBha2hpciBkYXJpICVzXG4iCisKKyN+IG1zZ2lkICJbbW50ZW50XTogbGluZSAlZCBpbiAlcyBpcyBiYWQlc1xuIgorI34gbXNnc3RyICJbbW50ZW50XTogYmFyaXMgJWQgZGFsYW0gJXMgYnVydWslc1xuIgorCisjfiBtc2dpZCAiOyByZXN0IG9mIGZpbGUgaWdub3JlZCIKKyN+IG1zZ3N0ciAiOyBzZXRlcnVzbnlhIGRhcmkgZmlsZSBkaWFiYWlrYW4iCisKKyN+IG1zZ2lkICJub3QgZW5vdWdoIG1lbW9yeSIKKyN+IG1zZ3N0ciAibWVtb3J5IHRpZGFrIGN1a3VwIgorCisjfiBtc2dpZCAidW1vdW50OiBjb21waWxlZCB3aXRob3V0IHN1cHBvcnQgZm9yIC1mXG4iCisjfiBtc2dzdHIgInVtb3VudDogZGlrb21waWxhc2kgdGFucGEgZGlzdXBwb3J0IHVudHVrIC1mXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3Qgc2V0IGdyb3VwIGlkOiAlbSIKKyN+IG1zZ3N0ciAidW1vdW50OiB0aWRhayBkYXBhdCBtZW5zZXQgaWQgZ3J1cDogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3Qgc2V0IHVzZXIgaWQ6ICVtIgorI34gbXNnc3RyICJ1bW91bnQ6IHRpZGFrIGRhcGF0IG1lbnNldCBpZCBwZW5nZ3VuYTogJXMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBmb3JrOiAlcyIKKyN+IG1zZ3N0ciAidW1vdW50OiB0aWRhayBkYXBhdCBtZWxha3VrYW4gZm9yazogJXMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBpbnZhbGlkIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogcGVyYW5na2F0IGJsb2NrIHRpZGFrIHZhbGlkIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogbm90IG1vdW50ZWQiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IHRpZGFrIGRpbW91bnQiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiB0aWRhayBkYXBhdCBtZW51bGlzIHN1cGVyYmxvY2siCisKKyN+IG1zZ2lkICIiCisjfiAidW1vdW50OiAlczogZGV2aWNlIGlzIGJ1c3kuXG4iCisjfiAiICAgICAgICAoSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBhYm91dCBwcm9jZXNzZXMgdGhhdCB1c2VcbiIKKyN+ICIgICAgICAgICB0aGUgZGV2aWNlIGlzIGZvdW5kIGJ5IGxzb2YoOCkgb3IgZnVzZXIoMSkpIgorI34gbXNnc3RyICIiCisjfiAidW1vdW50OiAlczogcGVyYW5na2F0IHNpYnVrLlxuIgorI34gIiAgICAgICAgKERhbGFtIGJlYmVyYXBhIGthc3VzIGluZm9ybWFzaSBiZXJoYXJnYSB0ZW50YW5nIHByb3NlcyB5YW5nIGRpZ3VuYWthblxuIgorI34gIiAgICAgICAgIG9sZWggcGVyYW5na2F0IGRhcGF0IGRpdGVtdWthbiBvbGVoIGxzb2YoOCkgYXRhdSBmdXNlcigxKSkiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBub3QgZm91bmQiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IHRpZGFrIGRpdGVtdWthbiIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVtb3VudCIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogaGFydXMgc3VwZXJ1c2VyIHVudHVrIG1lbGFrdWthbiB1bW91bnQiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBibG9jayBkZXZpY2VzIG5vdCBwZXJtaXR0ZWQgb24gZnMiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IHBlcmFuZ2thdCBibG9jayB0aWRhayBkaWlqaW5rYW4gZGkgZnMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiAlcyIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gY2hkaXIgdG8gJXM6ICVtIgorI34gbXNnc3RyICJuYW1laTogdGlkYWsgZGFwYXQgY2hkaXIga2UgJXMgLSAlcyAoJWQpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gb2J0YWluIGN1cnJlbnQgZGlyZWN0b3J5OiAlbSIKKyN+IG1zZ3N0ciAibmFtZWk6IHRpZGFrIGRhcGF0IG1lbXBlcm9sZWggZGlyZWt0b3JpIHNhYXQgaW5pIC0gJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IG1vdW50cG9pbnQgbW92ZWQgKCVzIC0+ICVzKSIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpdGlrIG1vdW50ICVzIHRpZGFrIGFkYSIKKworI34gbXNnaWQgIm5vIHVtb3VudDIsIHRyeWluZyB1bW91bnQuLi5cbiIKKyN+IG1zZ3N0ciAidGlkYWsgYWRhIHVtb3VudDIsIG1lbmNvYmEgdW1vdW50Li4uXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGJ1c3kgLSByZW1vdW50ZWQgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgc2lidWsgLSBkaSBtb3VudCBsYWdpIHNlY2FyYSBoYW55YS1iYWNhXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNvdWxkIG5vdCByZW1vdW50ICVzIHJlYWQtb25seVxuIgorI34gbXNnc3RyICJ1bW91bnQ6IHRpZGFrIGRhcGF0IG1lbGFrdWthbiBtb3VudCAlcyBzZWNhcmEgaGFueWEtYmFjYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIGhhcyBiZWVuIHVubW91bnRlZFxuIgorI34gbXNnc3RyICIlcyBzdWRhaCB0aWRhayBkaW1vdW50XG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBmaW5kIGxpc3Qgb2YgZmlsZXN5c3RlbXMgdG8gdW5tb3VudCIKKyN+IG1zZ3N0ciAidW1vdW50OiB0aWRhayBkYXBhdCBtZW5jYXJpIGRhZnRhciBkYXJpIGZpbGVzeXN0ZW1zIHVudHVrIGRpIHVubW91bnQiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IHVtb3VudCAtaCB8IC1WXG4iCisjfiAiICAgICAgIHVtb3VudCAtYSBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gWy10IHZmc3R5cGVzXSBbLU8gb3B0c11cbiIKKyN+ICIgICAgICAgdW1vdW50IFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBzcGVjaWFsIHwgbm9kZS4uLlxuIgorI34gbXNnc3RyICIiCisjfiAiUGVuZ2d1bmFhbjogdW1vdW50IC1oIHwgLVZcbiIKKyN+ICIgICAgICAgICAgICB1bW91bnQgLWEgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIFstdCB2ZnN0eXBlc10gWy1PIG9wdHNdXG4iCisjfiAiICAgICAgICAgICAgdW1vdW50IFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBzcGVjaWFsIHwgdGl0aWsuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJ29mZnNldD0lcycgb3B0aW9uc1xuIgorI34gbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyN+IG1zZ2lkICJkZXZpY2UgJXMgaXMgYXNzb2NpYXRlZCB3aXRoICVzXG4iCisjfiBtc2dzdHIgInBlcmFuZ2thdCAlcyBzdWRhaCBkaWFzb3NpYXNpa2FuIGRlbmdhbiAlc1xuIgorCisjfiBtc2dpZCAiZGV2aWNlICVzIGlzIG5vdCBhc3NvY2lhdGVkIHdpdGggJXNcbiIKKyN+IG1zZ3N0ciAicGVyYW5na2F0ICVzIHN1ZGFoIGRpYXNvc2lhc2lrYW4gZGVuZ2FuICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2Fubm90IHVubW91bnQgXCJcIlxuIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCB1bW91bnQgXCJcIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRyeWluZyB0byB1bm1vdW50ICVzXG4iCisjfiBtc2dzdHIgIk1lbmNvYmEgdW50dWsgdW1vdW50ICVzXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNvbmZ1c2VkIHdoZW4gYW5hbHl6aW5nIG10YWIiCisjfiBtc2dzdHIgInVtb3VudDogYmluZ3VuZyBrZXRpa2EgbWVuZ2FuYWxpc2EgbXRhYiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCB1bm1vdW50ICVzIC0tICVzIGlzIG1vdW50ZWQgb3ZlciBpdCBvbiB0aGUgc2FtZSBwb2ludCIKKyN+IG1zZ3N0ciAidW1vdW50OiB0aWRhayBkYXBhdCB1bW91bnQgJXMgLS0gJXMgdGVsYWggZGlwYXNhbmcgZGkgdGl0aWsgeWFuZyBzYW1hLiIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBmaW5kICVzIGluIG10YWJcbiIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuY2FyaSAlcyBkYWxhbSBtdGFiXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGlzIG5vdCBtb3VudGVkIChhY2NvcmRpbmcgdG8gbXRhYikiCisjfiBtc2dzdHIgInVtb3VudDogJXMgdGlkYWsgZGkgbW91bnQgKG1lbnVydXQgY2F0YXRhbiBkaSBtdGFiKSIKKworI34gbXNnaWQgInVtb3VudDogaXQgc2VlbXMgJXMgaXMgbW91bnRlZCBtdWx0aXBsZSB0aW1lcyIKKyN+IG1zZ3N0ciAidW1vdW50OiBrZWxpaGF0YW5ueWEgJXMgdGVsYWggZGkgbW91bnQgYmViZXJhcGEga2FsaSIKKworI34gbXNnaWQgInVtb3VudDogJXMgaXMgbm90IGluIHRoZSBmc3RhYiAoYW5kIHlvdSBhcmUgbm90IHJvb3QpIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIHRpZGFrIGFkYSBkYWxhbSBmc3RhYiAoZGFuIGFuZGEgYnVrYW4gcm9vdCkiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIG1vdW50IGRpc2FncmVlcyB3aXRoIHRoZSBmc3RhYiIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBtb3VudCB0aWRhayBjb2NvayBkZW5nYW4gY2F0YXRhbiBkaSBmc3RhYiIKKworI34gbXNnaWQgInVtb3VudDogb25seSAlcyBjYW4gdW5tb3VudCAlcyBmcm9tICVzIgorI34gbXNnc3RyICJ1bW91bnQ6IGhhbnlhICVzIHlhbmcgZGFwYXQgdW5tb3VudCAlcyBkYXJpICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCisjfiBtc2dzdHIgInVtb3VudDogaGFueWEgcm9vdCB5YW5nIGRhcGF0IG1lbGFrdWthbiBpdHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8dHR5PiBbLi4uXVxuIgorI34gbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gcGVyYW5na2F0IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtUywgLS1zZXQtZGVmYXVsdC10aHJlc2hvbGQgPG51bT4gIHNldCBkZWZhdWx0IHRocmVzaG9sZCB2YWx1ZVxuIgorI34gbXNnc3RyICIlczogJWxkIG5pbGFpIGRlZmF1bHQgdGhyZXNob2xkIGRhbiAlbGQgbmlsYWkgZGVmYXVsdCB0aW1lb3V0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkZpbGUgJXMsIEZvciB0aHJlc2hvbGQgdmFsdWUgJWx1LCBNYXhpbXVtIGNoYXJhY3RlcnMgaW4gZmlmbyB3ZXJlICVkLFxuIgorI34gImFuZCB0aGUgbWF4aW11bSB0cmFuc2ZlciByYXRlIGluIGNoYXJhY3RlcnMvc2Vjb25kIHdhcyAlZiIKKyN+IG1zZ3N0ciAiIgorI34gIkZpbGUgJXMsIFVudHVrIG5pbGFpIHRocmVzaG9sZCAlbHUsIE1ha3NpbWFsIGNoYXJhY3RlciBkYWxhbSBmaWZvIGFkYWxhaCAlZCxcbiIKKyN+ICJkYW4gbWFrc2ltdW0gZGFyaSBrZWNlcGF0YW4gdHJhbnNmZXIgZGFsYW0gY2hhcmFjdGVycy9kZXRpayBhZGFsYWggJWZcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiRmlsZSAlcywgRm9yIHRocmVzaG9sZCB2YWx1ZSAlbHUgYW5kIHRpbWVvdXQgdmFsdWUgJWx1LCBNYXhpbXVtIGNoYXJhY3RlcnMgaW4gZmlmbyB3ZXJlICVkLFxuIgorI34gImFuZCB0aGUgbWF4aW11bSB0cmFuc2ZlciByYXRlIGluIGNoYXJhY3RlcnMvc2Vjb25kIHdhcyAlZiIKKyN+IG1zZ3N0ciAiIgorI34gIkZpbGUgJXMsIFVudHVrIG5pbGFpIHRocmVzaG9sZCAlbHUgZGFuIG5pbGFpIHRpbXJvdXQgJWx1LCBNYWtzaW1hbCBjaGFyYWN0ZXJzIGRhbGFtIGZpZm8gYWRhbGFoICVkLFxuIgorI34gImRhbiBtYWtzaW11bSBkYXJpIGtlY2VwYXRhbiB0cmFuc2ZlciBkYWxhbSBjaGFyYWN0ZXJzL2RldGlrIGFkYWxhaCAlZlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBpc3N1ZSBDWUdFVE1PTiBvbiAlcyIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuZ2lzdWthbiBDWUdFVE1PTiBkaSAlczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRocmVzaG9sZCBmb3IgJXMiCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbXBlcm9sZWggbmlsYWkgdGhyZXNob2xkIHVudHVrICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBnZXQgdGltZW91dCBmb3IgJXMiCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbXBlcm9sZWggbmlsYWkgdGltZW91dCB1bnR1ayAlczogJXNcbiIKKworI34gbXNnaWQgIiVzOiAlbHUgaW50cywgJWx1LyVsdSBjaGFyczsgZmlmbzogJWx1IHRocmVzaCwgJWx1IHRtb3V0LCAlbHUgbWF4LCAlbHUgbm93XG4iCisjfiBtc2dzdHIgIiVzOiAlbHUgaW50cywgJWx1LyVsdSBjaGFyczsgZmlmbzogJWx1IHRocmVzaCwgJWx1IHRtb3V0LCAlbHUgbWF4LCAlbHUgbm93XG4iCisKKyN+IG1zZ2lkICIgICAlZiBpbnQvc2VjOyAlZiByZWMsICVmIHNlbmQgKGNoYXIvc2VjKVxuIgorI34gbXNnc3RyICIgICAlZiBpbnQvc2VjOyAlZiByZWMsICVmIHNlbmQgKGNoYXIvc2VjKVxuIgorCisjfiBtc2dpZCAiJXM6ICVsdSBpbnRzLCAlbHUgY2hhcnM7IGZpZm86ICVsdSB0aHJlc2gsICVsdSB0bW91dCwgJWx1IG1heCwgJWx1IG5vd1xuIgorI34gbXNnc3RyICIlczogJWx1IGludHMsICVsdSBjaGFyczsgZmlmbzogJWx1IHRocmVzaCwgJWx1IHRtb3V0LCAlbHUgbWF4LCAlbHUgbm93XG4iCisKKyN+IG1zZ2lkICIgICAlZiBpbnQvc2VjOyAlZiByZWMgKGNoYXIvc2VjKVxuIgorI34gbXNnc3RyICIgICAlZiBpbnQvc2VjOyAlZiByZWMgKGNoYXIvc2VjKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgaW50ZXJ2YWwgdmFsdWUiCisjfiBtc2dzdHIgIk5pbGFpIGludGVydmFsIHRpZGFrIHZhbGlkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgaW50ZXJ2YWwgdmFsdWU6ICVkIgorI34gbXNnc3RyICJOaWxhaSBpbnRlcnZhbCB0aWRhayB2YWxpZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB2YWx1ZSIKKyN+IG1zZ3N0ciAiTmlsYWkgc2V0IHRpZGFrIHZhbGlkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgc2V0IHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiTmlsYWkgc2V0IHRpZGFrIHZhbGlkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB2YWx1ZSIKKyN+IG1zZ3N0ciAiTmlsYWkgZGVmYXVsdCB0aWRhayB2YWxpZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdmFsdWU6ICVkIgorI34gbXNnc3RyICJOaWxhaSBkZWZhdWx0IHRpZGFrIHZhbGlkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgc2V0IHRpbWUgdmFsdWUiCisjfiBtc2dzdHIgIk5pbGFpIHNldCB3YWt0dSB0aWRhayB2YWxpZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiTmlsYWkgc2V0IHdha3R1IHRpZGFrIHZhbGlkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICJOaWxhaSBkYWZhdWx0IHdha3R1IHRpZGFrIHZhbGlkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB0aW1lIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiTmlsYWkgZGFmYXVsdCB3YWt0dSB0aWRhayB2YWxpZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgc2V0ICVzIHRvIHRocmVzaG9sZCAlZCIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuc2V0ICVzIGtlIG5pbGFpIHRocmVzaG9sZCAlZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgc2V0ICVzIHRvIHRpbWUgdGhyZXNob2xkICVkIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW5zZXQgJXMga2Ugd2FrdHUgdGhyZXNob2xkICVkOiAlc1xuIgorCisjfiBtc2dpZCAiJXM6ICVsZCBjdXJyZW50IHRocmVzaG9sZCBhbmQgJWxkIGN1cnJlbnQgdGltZW91dFxuIgorI34gbXNnc3RyICIlczogJWxkIG5pbGFpIHRocmVzaG9sZCBzYWF0IGluaSBkYW4gJWxkIG5pbGFpIHRpbWVvdXQgc2FhdCBpbmlcbiIKKworI34gbXNnaWQgIiVzOiAlbGQgZGVmYXVsdCB0aHJlc2hvbGQgYW5kICVsZCBkZWZhdWx0IHRpbWVvdXRcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCBuaWxhaSBkZWZhdWx0IHRocmVzaG9sZCBkYW4gJWxkIG5pbGFpIGRlZmF1bHQgdGltZW91dFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLW4sIC0ta2VlcC1zaXplICAgICBkb24ndCBtb2RpZnkgdGhlIGxlbmd0aCBvZiB0aGUgZmlsZVxuIgorI34gIiAtcCwgLS1wdW5jaC1ob2xlICAgIHB1bmNoIGhvbGVzIGluIHRoZSBmaWxlXG4iCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IG9mIHRoZSBhbGxvY2F0aW9uLCBpbiBieXRlc1xuIgorI34gIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiB0aGUgYWxsb2NhdGlvbiwgaW4gYnl0ZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgIHBlc2FuIGJhbnR1YW4gaW5pXG4iCisjfiAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgamFuZ2FuIG1vZGlmaWthc2kgcGFuamFuZyBkYXJpIGJlcmthc1xuIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mc2V0IGRhcmkgYWxva2FzaSwgZGFsYW0gYnl0ZXNcbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBwYW5qYW5nIGRhcmkgYWxva2FzaSwgZGFsYW0gYnl0ZXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaW1lIGVsYXBzZWQgc2luY2UgcmVmZXJlbmNlIHRpbWUgaGFzIGJlZW4gJS42ZiBzZWNvbmRzLlxuIgorI34gIkRlbGF5aW5nIGZ1cnRoZXIgdG8gcmVhY2ggdGhlIG5ldyB0aW1lLlxuIgorI34gbXNnc3RyICIiCisjfiAiV2FrdHUgdGVybGV3YXRrYW4gc2VqYWsgcmVmZXJlbnNpIHdha3R1IHRlbGFoIGxld2F0ICUuNmYgZGV0aWsuXG4iCisjfiAiTWVudW5kYSBsZWJpaCBqYXVoIHVudHVrIG1lbmNhcGFpIHdha3R1IGJhcnUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlIgorI34gbXNnc3RyICIlczogZ2FnYWwgdW50dWsgbWVtYnVrYTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXRlcm0gPHRlcm1pbmFsX25hbWU+XG4iCisjfiBtc2dzdHIgIiAgWyAtdGVybSB0ZXJtaW5hbF9uYW1lIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXJlc2V0XG4iCisjfiBtc2dzdHIgIiAgWyAtcmVzZXQgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaW5pdGlhbGl6ZVxuIgorI34gbXNnc3RyICIgIFsgLWluaXRpYWxpemUgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtY3Vyc29yIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtY3Vyc29yIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXJlcGVhdCA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLXJlcGVhdCBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1hcHBjdXJzb3JrZXlzIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtYXBwY3Vyc29ya2V5cyBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1saW5ld3JhcCA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWxpbmV3cmFwIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWRlZmF1bHRcbiIKKyN+IG1zZ3N0ciAiICBbIC1kZWZhdWx0IF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWludmVyc2VzY3JlZW4gPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWJvbGQgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1ib2xkIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWJsaW5rIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtYmxpbmsgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtcmV2ZXJzZSA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLXJldmVyc2UgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdW5kZXJsaW5lIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtdW5kZXJsaW5lIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXN0b3JlXG4iCisjfiBtc2dzdHIgIiAgWyAtc3RvcmUgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtY2xlYXIgPGFsbHxyZXN0PlxuIgorI34gbXNnc3RyICIgIFsgLWNsZWFyIFthbGx8cmVzdF0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdGFicyA8dGFiMSB0YWIyIHRhYjMgLi4uPiAgICAgICh0YWJuID0gMS0xNjApXG4iCisjfiBtc2dzdHIgIiAgWyAtdGFicyBbIHRhYjEgdGFiMiB0YWIzIC4uLiBdIF0gICAgICAodGFibiA9IDEtMTYwKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtY2xydGFicyA8dGFiMSB0YWIyIHRhYjMgLi4uPiAgICh0YWJuID0gMS0xNjApXG4iCisjfiBtc2dzdHIgIiAgWyAtY2xydGFicyBbIHRhYjEgdGFiMiB0YWIzIC4uLiBdIF0gICAodGFibiA9IDEtMTYwKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtcmVndGFicyA8MS0xNjA+XG4iCisjfiBtc2dzdHIgIiAgWyAtcmVndGFicyBbMS0xNjBdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWJsYW5rIDwwLTYwfGZvcmNlfHBva2U+XG4iCisjfiBtc2dzdHIgIiAgWyAtYmxhbmsgWzAtNjB8Zm9yY2V8cG9rZV0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZHVtcCAgIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gbXNnc3RyICIgIFsgLWR1bXAgICBbMS1OUl9DT05TT0xFU10gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYXBwZW5kIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gbXNnc3RyICIgIFsgLWFwcGVuZCBbMS1OUl9DT05TT0xFU10gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZmlsZSBkdW1wZmlsZW5hbWVcbiIKKyN+IG1zZ3N0ciAiICBbIC1maWxlIGR1bXBmaWxlbmFtZSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1tc2cgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1tc2cgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbXNnbGV2ZWwgPDAtOD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1tc2dsZXZlbCBbMC04XSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1wb3dlcmRvd24gPDAtNjA+XG4iCisjfiBtc2dzdHIgIiAgWyAtcG93ZXJkb3duIFswLTYwXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1ibGVuZ3RoIDwwLTIwMDA+XG4iCisjfiBtc2dzdHIgIiAgWyAtYmxlbmd0aCBbMC0yMDAwXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1iZnJlcSBmcmVxbnVtYmVyXG4iCisjfiBtc2dzdHIgIiAgWyAtYmZyZXEgZnJlcW51bWJlciBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXJyb3Igd3JpdGluZyBzY3JlZW5kdW1wIgorI34gbXNnc3RyICJFcnJvciBtZW51bGlzIHNjcmVlbmR1bXBcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDb3VsZG4ndCByZWFkIG5laXRoZXIgL2Rldi92Y3NhMCBub3IgL2Rldi92Y3NhIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWthIC9kZXYvdHR5MSBhdGF1IC9kZXYvdmMvMSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyN+IG1zZ2lkICJsaW5lIHRvbyBsb25nIgorI34gbXNnc3RyICJiYXJpcyB0ZXJsYWx1IHBhbmphbmciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2FpZHBpZCBmYWlsZWQiCisjfiBtc2dzdHIgIndhaXRwaWQgZ2FnYWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKKyN+IG1zZ3N0ciAiUGFydGlzaSAlZCBzdWRhaCBkaWRlZmluaXNpa2FuLiBIYXB1cyBpbmkgc2ViZWx1bSBtZW5hbWJhaGthbm55YS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJXpkIGlzIGFscmVhZHkgZGVmaW5lZC4gRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorI34gbXNnc3RyICJQYXJ0aXNpICVkIHN1ZGFoIGRpZGVmaW5pc2lrYW4uIEhhcHVzIGluaSBzZWJlbHVtIG1lbmFtYmFoa2FubnlhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6ICBCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi4iCisjfiBtc2dzdHIgIiIKKyN+ICJQZXJpbmdhdGFuOiBCTEtHRVRTSVpFIGlvY3RsIGdhZ2FsIGRpICVzLiBNZW5nZ3VuYWthbiBuaWxhaSBnZW9tZXRyaSBjeWxpbmRlciBkYXJpICVkLlxuIgorI34gIk5pbGFpIGluaSBtdW5na2luIGFrYW4gZGlwb3RvbmcgdW50dWsgcGVyYW5na2F0IHlhbmcgYmVydWt1cmFuID4gMzMuOCBHQi5cbiIKKworI34gbXNnaWQgInNldCBibG9ja3NpemUiCisjfiBtc2dzdHIgInNldCBibG9ja3NpemUiCisKKyN+IG1zZ2lkICJvbmUgYmFkIGJsb2NrXG4iCisjfiBtc2dzdHIgInNhdHUgYmFkIGJsb2NrXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uIHR5cGUgaGV4IG9yIHV1aWQiCisjfiBtc2dzdHIgIiMgdGFiZWwgcGFydGlzaSBkYXJpICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZWFkIGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAiZ2FnYWwgbWVtYmFjYTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBmYWlsZWQgJXMiCisjfiBtc2dzdHIgImdhZ2FsIHNlZWsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBmYWlsZWQ6ICVkIgorI34gbXNnc3RyICJnYWdhbCBzZWVrIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGZhaWxlZDogJWQiCisjfiBtc2dzdHIgImdhZ2FsIG1lbnVsaXM6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZCIKKyN+IG1zZ3N0ciAiVGlkYWsgYWRhIHBhcnRpc2kgeWFuZyBkaWRlZmluaXNpa2FuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkIGRldmljZXNcbiIKKyN+ICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2PiBbLi4uXSAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKKyN+ICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKKyN+ICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZmluZCBmaXJzdCB1bnVzZWQgZGV2aWNlXG4iCisjfiAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcGRldj4gIHJlc2l6ZSBkZXZpY2VcbiIKKyN+ICIgLWosIC0tYXNzb2NpYXRlZCA8ZmlsZT4gICAgICAgbGlzdCBhbGwgZGV2aWNlcyBhc3NvY2lhdGVkIHdpdGggPGZpbGU+XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQZW5nZ3VuYWFuOlxuIgorI34gIiAlMSRzIGxvb3BfZGV2aWNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1iZXJpa2FuIGluZm9cbiIKKyN+ICIgJTEkcyAtYSB8IC0tYWxsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGFmdGFyIHNlbHVydWggeWFuZyBkaWd1bmFrYW5cbiIKKyN+ICIgJTEkcyAtZCB8IC0tZGV0YWNoIDxsb29wZGV2PiBbPGxvb3BkZXY+IC4uLl0gbWVuZ2hhcHVzXG4iCisjfiAiICUxJHMgLWYgfCAtLWZpbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbmNhcmkgeWFuZyB0aWRhayBkaWd1bmFrYW5cbiIKKyN+ICIgJTElcyAtYyB8IC0tc2V0LWNhcGFjaXR5IDxwZXJhbmdrYXQgbG9vcD4gICAgdWJhaCB1a3VyYW4gJTEkcyAtaiB8IC0tYXNzb2NpYXRlZCA8YmVya2FzPiBbLW8gPG51bT5dICAgZGFmdGFyIHNlbHVydWggYXNvc2lhc2kgZGVuZ2FuIDxiZXJrYXM+XG4iCisjfiAiICUxJHMgWyBwaWxpaGFuIF0gey1mfC0tZmluZHxsb29wZGV2fSA8YmVya2FzPiBrb25maWd1cmFzaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlLCBvZmZzZXQgaXMgbm90IDUxMi1ieXRlIGFsaWduZWQuIgorI34gbXNnc3RyICJ0aWRhayBkYXBhdCBtZXJld2luZCBwZXJhbmdrYXQgc3dhcCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnNzdXBvcnRlZCAtLWxvY2FsLWxpbmUgbW9kZSBhcmd1bWVudCIKKyN+IG1zZ3N0ciAiJXM6IGFyZ3VtZW50IHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworI34gbXNnaWQgInVzYWdlOlxuIgorI34gbXNnc3RyICJwZW5nZ3VuYWFuOlxuIgorCisjfiBtc2dpZCAiXHROT1RFOiBlbHZ0dW5lIG9ubHkgd29ya3Mgd2l0aCAyLjQga2VybmVsc1xuIgorI34gbXNnc3RyICJcdE5PVEU6IGVsdnR1bmUgaGFueWEgYmVrZXJqYSBkZW5nYW4ga2VybmVscyAyLjRcbiIKKworI34gbXNnaWQgIm1pc3NpbmcgYmxvY2tkZXZpY2UsIHVzZSAtaCBmb3IgaGVscFxuIgorI34gbXNnc3RyICJoaWxhbmcgcGVyYW5na2F0IGJsb2ssIGd1bmFrYW4gLWggdW50dWsgYmFudHVhblxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImVsdnR1bmUgaXMgb25seSB1c2VmdWwgb24gb2xkZXIga2VybmVscztcbiIKKyN+ICJmb3IgMi42IHVzZSBJTyBzY2hlZHVsZXIgc3lzZnMgdHVuYWJsZXMgaW5zdGVhZC4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJlbHZ0dW5lIGhhbnlhIGJlcmd1bmEgdW50dWsga2VybmFsIGxhbWE7XG4iCisjfiAidW50dWsgMi42IGxlYmloIGJhaWsgZ3VuYWthbiBJTyBzY2hlZHVsZXIgc3lzZnMgdHVuZWJsZXMuLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAiYWt0aWZrYW4gYWxhcm0gcnRjIgorCisjfiBtc2dpZCAiZnN5bmMgZmFpbGVkIgorI34gbXNnc3RyICJmc3luYyBnYWdhbCIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICJQcmludCB2ZXJzaW9uOlxuIgorI34gIiAgICAgICAgJXMgLXZcbiIKKyN+ICJQcmludCBwYXJ0aXRpb24gdGFibGU6XG4iCisjfiAiICAgICAgICAlcyAtUCB7cnxzfHR9IFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+ICJJbnRlcmFjdGl2ZSB1c2U6XG4iCisjfiAiICAgICAgICAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICItYTogVXNlIGFycm93IGluc3RlYWQgb2YgaGlnaGxpZ2h0aW5nO1xuIgorI34gIi16OiBTdGFydCB3aXRoIGEgemVybyBwYXJ0aXRpb24gdGFibGUsIGluc3RlYWQgb2YgcmVhZGluZyB0aGUgcHQgZnJvbSBkaXNrO1xuIgorI34gIi1jIEMgLWggSCAtcyBTOiBPdmVycmlkZSB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgbnVtYmVyIG9mIGN5bGluZGVycyxcbiIKKyN+ICIgICAgICAgICAgICAgICAgdGhlIG51bWJlciBvZiBoZWFkcyBhbmQgdGhlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGVuZ2d1bmFhbjpcbiIKKyN+ICJUYW1waWxrYW4gdmVyc2kgZGFyaSBhcGxpa2FzaTpcbiIKKyN+ICIgICAgICAgICAgICAgJXMgLXZcbiIKKyN+ICJUYW1waWxrYW4gdGFiZWwgcGFydGlzaTpcbiIKKyN+ICIgICAgICAgICAgICAgJXMgLVAge3J8c3x0fSBbcGlsaWhhbl0gcGVyYW5na2F0XG4iCisjfiAiUGVuZ2d1bmFhbiBpbnRlcmFrdGl2ZTpcbiIKKyN+ICIgICAgICAgICAgICAgJXMgW3BpbGloYW5dIHBlcmFuZ2thdFxuIgorI34gIlxuIgorI34gIlBpbGloYW46XG4iCisjfiAiLWE6IEd1bmFrYW4gcGFuYWggZGFyaXBhZGEgcGVub25qb2xhbjtcbiIKKyN+ICItejogTXVsYWkgZGFyaSBzZWJ1YWggdGFiZWwgcGFydGlzaSBrb3NvbmcsIGRhcmkgcGFkYSBtZW1iYWNhIGRhcmkgdGFiZWwgcGFydGlzaSBkaXNrO1xuIgorI34gIi1jIEMgLWggSCAtcyBTOyBtZW1ha3NhIGlkZSBrZXJuZWwgbWVuZ2VuYWkganVtbGFoIGN5bGluZGVycywganVtbGFoIGhlYWRzLCBcbiIKKyN+ICIgICAgICAgICAgICAgICAgZGFuIGp1bWxhaCBkYXJpIHNlY3RvcnMvdHJhY2suXG4iCisKKyN+IG1zZ2lkICJXcml0aW5nIGRpc2tsYWJlbCB0byAlcy5cbiIKKyN+IG1zZ3N0ciAiTWVudWxpcyBkaXNrbGFiZWwgZGkgJXMuXG4iCisKKyN+IG1zZ2lkICJMYXN0ICVzIG9yICtzaXplIG9yICtzaXplTSBvciArc2l6ZUsiCisjfiBtc2dzdHIgIlRlcmFraGlyICVzIGF0YXUgK3NpemUgYXRhdSArc2l6ZU0gYXRhdSArc2l6ZUsiCisKKyN+IG1zZ2lkICJSZWFkaW5nIGRpc2tsYWJlbCBvZiAlcyBhdCBzZWN0b3IgJWQuXG4iCisjfiBtc2dzdHIgIk1lbWJhY2EgZGlza2xhYmVsIGRhcmkgJXMgZGkgc2VrdG9yICVkLlxuIgorCisjfiBtc2dpZCAiQlNEIGRpc2tsYWJlbCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorI34gbXNnc3RyICJQZXJpbnRhaCBCU0QgZGlza2xhYmVsIChtIHVudHVrIGJhbnR1YW4pOiAiCisKKyN+IG1zZ2lkICJkcml2ZWRhdGE6ICIKKyN+IG1zZ3N0ciAiZHJpdmVkYXRhOiAiCisKKyN+IG1zZ2lkICIjICAgICAgIHN0YXJ0ICAgICAgIGVuZCAgICAgIHNpemUgICAgIGZzdHlwZSAgIFtmc2l6ZSBic2l6ZSAgIGNwZ11cbiIKKyN+IG1zZ3N0ciAiIyAgICAgICBhd2FsICAgICAgICBha2hpciAgICB1a3VyYW4gICBmc3R5cGUgICBbZnNpemUgYnNpemUgICBjcGddXG4iCisKKyN+IG1zZ2lkICJNdXN0IGJlIDw9IHNlY3RvcnMvdHJhY2sgKiB0cmFja3MvY3lsaW5kZXIgKGRlZmF1bHQpLlxuIgorI34gbXNnc3RyICJIYXJ1cyA8PSBzZWt0b3IvdHJhY2sgKiB0cmFja3MvY3lsaW5kZXIgKGRlZmF1bHQpLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIChhLSVjKTogIgorI34gbXNnc3RyICJQYXJ0aXNpIChhLSVjKTogIgorCisjfiBtc2dpZCAiV2FybmluZzogdG9vIG1hbnkgcGFydGl0aW9ucyAoJWQsIG1heGltdW0gaXMgJWQpLlxuIgorI34gbXNnc3RyICJQZXJpbmdhdGFuOiB0ZXJsYWx1IGJhbnlhayBwYXJ0aXNpICglZCwgbWFrc2ltdW0gYWRhbGFoICVkKS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJTeW5jaW5nIGRpc2tzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiU2lua3JvbmlzYXNpIGRpc2suXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOlxuIgorI34gIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz4gICAgY2hhbmdlIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gIiAlMSRzIFtvcHRpb25zXSAtbCA8ZGlzaz4gbGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKKyN+ICIgJTEkcyAtcyA8cGFydGl0aW9uPiAgICAgIGdpdmUgcGFydGl0aW9uIHNpemUocykgaW4gYmxvY2tzXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLWIgPHNpemU+ICAgICAgICAgICAgIHNlY3RvciBzaXplICg1MTIsIDEwMjQsIDIwNDggb3IgNDA5NilcbiIKKyN+ICIgLWNbPTxtb2RlPl0gICAgICAgICAgIGNvbXBhdGlibGUgbW9kZTogJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCisjfiAiIC1oICAgICAgICAgICAgICAgICAgICBwcmludCB0aGlzIGhlbHAgdGV4dFxuIgorI34gIiAtdVs9PHVuaXQ+XSAgICAgICAgICAgZGlzcGxheSB1bml0czogJ2N5bGluZGVycycgb3IgJ3NlY3RvcnMnIChkZWZhdWx0KVxuIgorI34gIiAtdiAgICAgICAgICAgICAgICAgICAgcHJpbnQgcHJvZ3JhbSB2ZXJzaW9uXG4iCisjfiAiIC1DIDxudW1iZXI+ICAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzXG4iCisjfiAiIC1IIDxudW1iZXI+ICAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgaGVhZHNcbiIKKyN+ICIgLVMgPG51bWJlcj4gICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFja1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiUGVuZ2d1bmFhbjpcbiIKKyN+ICIgZmRpc2sgW3BpbGloYW5dIDxkaXNrPiAgICB1YmFoIHRhYmVsIHBhcnRpc2lcbiIKKyN+ICIgZmRpc2sgW3BpbGloYW5dIC1sIDxkaXNrPiB0YW1waWxrYW4gdGFiZWwgcGFydGlzaVxuIgorI34gIiBmZGlzayAtcyA8cGFydGlzaT4gICAgICAgIGJlcmkgdWt1cmFuIHBhcnRpc2kgZGFsYW0gYmxva1xuIgorI34gIlxuIgorI34gIlBpbGloYW46XG4iCisjfiAiIC1iIDxiZXNhcj4gICAgICAgICAgICAgICAgdWt1cmFuIHNla3RvciAoNTEyLCAxMDI0LCAyMDQ4IGF0YXUgNDA5NilcbiIKKyN+ICIgLWMgICAgICAgICAgICAgICAgICAgICAgICBub24tYWt0aWZrYW4gbW9kZSBET1Mta29tcGF0aWJlbFxuIgorI34gIiAtaCAgICAgICAgICAgICAgICAgICAgICAgIHRhbXBpbGthbiBiYW50dWFuXG4iCisjfiAiIC11IDxiZXNhcj4gICAgICAgICAgICAgICAgYmVyaWthbiB1a3VyYW4gZGFsYW0gc2VrdG9yIGRhcmlwYWRhIHNpbGluZGVyXG4iCisjfiAiIC12ICAgICAgICAgICAgICAgICAgICAgICAgdGFtcGlsa2FuIHZlcnNpXG4iCisjfiAiIC1DIDxqdW1sYWg+ICAgICAgICAgICAgICAgc3Blc2lmaWthc2lrYW4ganVtbGFoIGRhcmkgc2lsaW5kZXJcbiIKKyN+ICIgLUggPGp1bWxhaD4gICAgICAgICAgICAgICBzcGVzaWZpa2FzaWthbiBqdW1sYWggZGFyaSBoZWFkXG4iCisjfiAiIC1TIDxqdW1sYWg+ICAgICAgICAgICAgICAgc3Blc2lmaWthc2lrYW4ganVtbGFoIGRhcmkgc2VrdG9yIHBlciB0cmFja1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBzZWVrIG9uICVzIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW5jYXJpIGRpICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW51bGlzICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmF0YWwgZXJyb3IiCisjfiBtc2dzdHIgIkZhdGFsIGVycm9yXG4iCisKKyN+IG1zZ2lkICJDb21tYW5kIGFjdGlvbiIKKyN+IG1zZ3N0ciAiQWtzaSBwZXJpbnRhaCIKKworI34gbXNnaWQgIllvdSBtdXN0IHNldCIKKyN+IG1zZ3N0ciAiQW5kYSBoYXJ1cyBtZW5zZXQiCisKKyN+IG1zZ2lkICJoZWFkcyIKKyN+IG1zZ3N0ciAiaGVhZHMiCisKKyN+IG1zZ2lkICIgYW5kICIKKyN+IG1zZ3N0ciAiIGRhbiAiCisKKyN+IG1zZ2lkICJVbnN1cHBvcnRlZCBzdWZmaXg6ICclcycuXG4iCisjfiBtc2dzdHIgIkFraGlyYW4gdGlkYWsgZGlkdWt1bmc6ICclcycuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiU3VwcG9ydGVkOiAxMF5OOiBLQiAoS2lsb0J5dGUpLCBNQiAoTWVnYUJ5dGUpLCBHQiAoR2lnYUJ5dGUpXG4iCisjfiAiICAgICAgICAgICAgMl5OOiBLICAoS2liaUJ5dGUpLCBNICAoTWViaUJ5dGUpLCBHICAoR2liaUJ5dGUpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJZYW5nIGRpZHVrdW5nOiAxMF5OOiBLQiAoS2lsb0J5dGUpLCBNQiAoTWVnYUJ5dGUpLCBHQiAoR2lnYUJ5dGUpXG4iCisjfiAiICAgICAgICAgICAgICAgIDJeTjogSyAgKEtpYmlCeXRlKSwgTSAgKE1lYmlCeXRlKSwgRyAgKEdpYmlCeXRlKVxuIgorCisjfiBtc2dpZCAiVXNpbmcgZGVmYXVsdCB2YWx1ZSAldVxuIgorI34gbXNnc3RyICJNZW5nZ3VuYWthbiBuaWxhaSBkZWZhdWx0ICV1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZCBNQiwgJWxsZCBieXRlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZCBNQiwgJWxsZCBieXRlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbGQuJWxkIEdCLCAlbGx1IGJ5dGVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkLiVsZCBHQiwgJWxsZCBieXRlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiwgJWxsdSBzZWN0b3JzXG4iCisjfiBtc2dzdHIgIiwgdG90YWwgJWxsdSBzZWt0b3IiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHdyaXRlIGRpc2sgbGFiZWwiCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbnVsaXMgZGlzayBkcml2ZSIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJFcnJvciBjbG9zaW5nIGZpbGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkVycm9yIGRhbGFtIG1lbnV0dXAgZmlsZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHNldHRpbmcgc2VjdG9yIG9mZnNldCBmb3IgRE9TIGNvbXBhdGliaWxpdHlcbiIKKyN+IG1zZ3N0ciAiUGVyaW5nYXRhbjogc2V0dGluZyBzZWt0b3Igb2Zmc2V0IHVudHVrIERPUyBrb21wYXRpYmlsaXRhc1xuIgorCisjfiBtc2dpZCAiRGV0ZWN0ZWQgYW4gT1NGLzEgZGlza2xhYmVsIG9uICVzLCBlbnRlcmluZyBkaXNrbGFiZWwgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiVGVyZGV0ZWtzaSBzZWJ1YWggT1NGLzEgZGlza2xhYmVsIGRpICVzLCBtZW1hc3VraSBtb2RlIGRpc2tsYWJlbC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogRE9TLWNvbXBhdGlibGUgbW9kZSBpcyBkZXByZWNhdGVkLiBJdCdzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvXG4iCisjfiAiICAgICAgICAgc3dpdGNoIG9mZiB0aGUgbW9kZSAod2l0aCBjb21tYW5kICdjJykuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUEVSSU5HQVRBTjogTU9ERSBrb21wYXRpYmVsIERPUyB0ZWxhaCBkaXRpbmdnYWxrYW4uIEluaSBzYW5nYXQgZGlhbmp1cmthblxuIgorI34gIiAgICAgICAgICAgIHVudHVrIG1lbm9uYWt0aWZrYW4gbW9kZSB0ZXJzZWJ1dCAocGVyaW50YWggJ2MnKSIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBjeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4gVXNlIGNvbW1hbmQgJ3UnIHRvXG4iCisjfiAiICAgICAgICAgY2hhbmdlIHVuaXRzIHRvIHNlY3RvcnMuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQRVJJTkdBVEFOOiBwZW5hbXBpbGFuIHNpbGluZGVyIHNlYmFnYWkgc2F0dWFuIHN1ZGFoIGRpdGluZ2dhbGthbi5cbiIKKyN+ICIgICAgICAgICAgICBHdW5ha2FuIHBlcmludGFoICd1JyB1bnR1ayBtZW5ndWJhaCBzYXR1YW4ga2Ugc2VrdG9yLlxuIgorCisjfiBtc2dpZCAiTmV3IGRpc2sgaWRlbnRpZmllciAoY3VycmVudCAweCUwOHgpOiAiCisjfiBtc2dzdHIgIklkZW50aWZpa2FzaSBkaXNrIGJhcnUgKHNla2FyYW5nIDB4JTA4eCk6ICIKKworI34gbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGVcbiIKKyN+IG1zZ3N0ciAiVGlkYWsgYWRhIHNla3RvciB5YW5nIGtvc29uZ1xuIgorCisjfiBtc2dpZCAiTGFzdCAlMSRzLCArJTIkcyBvciArc2l6ZXtLLE0sR30iCisjfiBtc2dzdHIgIlRlcmFraGlyICUxJHMsICslMiRzIGF0YXUgK3NpemV7SyxNLEd9IgorCisjfiBtc2dpZCAiICAgICBwaHlzPSglZCwgJWQsICVkKSAiCisjfiBtc2dzdHIgIiAgICAgcGh5cz0oJWQsICVkLCAlZCkgIgorCisjfiBtc2dpZCAibG9naWNhbD0oJWQsICVkLCAlZClcbiIKKyN+IG1zZ3N0ciAibG9naWNhbD0oJWQsICVkLCAlZClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBiYWQgc3RhcnQtb2YtZGF0YSBpbiBwYXJ0aXRpb24gJXpkXG4iCisjfiBtc2dzdHIgIlBlcmluZ2F0YW46IGF3YWwgZGFyaSBkYXRhIHRpZGFrIGJhaWsgZGFsYW0gcGFydGlzaSAlZFxuIgorCisjfiBtc2dpZCAiQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiTWVuYW1iYWhrYW4gc2VidWFoIHBhcnRpc2kgcHJpbWFyeVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueSBET1MgNi54cGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgZmRpc2sgbWFudWFsIHBhZ2UgZm9yIGFkZGl0aW9uYWxpbmZvcm1hdGlvbi5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBFUklOR0FUQU46IEppa2EgYW5kYSBtZW1idWF0IGF0YXUgbWVtb2RpZmlrYXNpIHBhcnRpc2kgRE9TIDYueFxuIgorI34gIiwgbW9ob24gbGloYXQgbWFudWFsIGRhcmkgZmRpc2sgdW50dWsgaW5mb3JtYXNpXG4iCisjfiAibGViaWggbGFuanV0LlxuIgorCisjfiBtc2dpZCAiJSpzIEJvb3QgICAgICBTdGFydCAgICAgICAgIEVuZCAgICAgIEJsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiJSpzIEJvb3QgICAgICBBd2FsICAgICAgICAgIEFraGlyICAgIEJsb2NrcyAgIElkICBTeXN0ZW1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMsICVkIGN5bGluZGVyc1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiTnIgQUYgIEhkIFNlYyAgQ3lsICBIZCBTZWMgIEN5bCAgICAgU3RhcnQgICAgICBTaXplIElEXG4iCisjfiBtc2dzdHIgIk5yIEFmICBIZCBTZWMgIEN5bCAgSGQgU2VjICBDeWwgICAgIFN0YXJ0ICAgICAgU2l6ZSBJRFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0VGhlcmUgaXMgYSB2YWxpZCBNYWMgbGFiZWwgb24gdGhpcyBkaXNrLlxuIgorI34gIlx0VW5mb3J0dW5hdGVseSBmZGlzaygxKSBjYW5ub3QgaGFuZGxlIHRoZXNlIGRpc2tzLlxuIgorI34gIlx0VXNlIGVpdGhlciBwZGlzayBvciBwYXJ0ZWQgdG8gbW9kaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUuXG4iCisjfiAiXHROZXZlcnRoZWxlc3Mgc29tZSBhZHZpY2U6XG4iCisjfiAiXHQxLiBmZGlzayB3aWxsIGRlc3Ryb3kgaXRzIGNvbnRlbnRzIG9uIHdyaXRlLlxuIgorI34gIlx0Mi4gQmUgc3VyZSB0aGF0IHRoaXMgZGlzayBpcyBOT1QgYSBzdGlsbCB2aXRhbFxuIgorI34gIlx0ICAgcGFydCBvZiBhIHZvbHVtZSBncm91cC4gKE90aGVyd2lzZSB5b3UgbWF5XG4iCisjfiAiXHQgICBlcmFzZSB0aGUgb3RoZXIgZGlza3MgYXMgd2VsbCwgaWYgdW5taXJyb3JlZC4pXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJcdFRlcmRhcGF0IHNlYnVhaCBNYWMgbGFiZWwgeWFuZyB2YWxpZCBkaSBkaXNrIGluaS5cbiIKKyN+ICJcdFNheWFuZ255YSBmZGlzaygxKSB0aWRhayBkYXBhdCBtZW5hbmdhbmkgZGlzayBpbmkgc2FhdFxuIgorI34gIlx0R3VuYWthbiBwZGlzayBhdGF1IHBhcnRlZCB1bnR1ayBtZW1vZGlmaWthc2kgdGFiZWwgcGFydGlzaS5cbiIKKyN+ICJcdEJlYmVyYXBhIHNhcmFuOlxuIgorI34gIlx0MS4gZmRpc2sgYWthbiBtZW5naGFuY3Vya2FuIGlzaSBwYWRhIHdha3R1IG1lbnVsaXMga2UgZGlzay5cbiIKKyN+ICJcdDIuIFBhc3Rpa2FuIGRpc2sgaW5pIEJVS0FOIGJhZ2lhbiB2aXRhbCBkYXJpIHZvbHVtZSBncm91cC4gKEppa2EgXG4iCisjfiAiXHQgICBhbmRhIG11bmdraW4gYWthbiBtZW5naGFwdXMgZGlzayBsYWluIGp1Z2EsIGppa2EgdGlkYWsgZGkgbWlycm9yLilcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdFNvcnJ5IC0gdGhpcyBmZGlzayBjYW5ub3QgaGFuZGxlIE1hYyBkaXNrIGxhYmVscy5cbiIKKyN+ICJcdElmIHlvdSB3YW50IHRvIGFkZCBET1MtdHlwZSBwYXJ0aXRpb25zLCBjcmVhdGVcbiIKKyN+ICJcdGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUgZmlyc3QuIChVc2Ugby4pXG4iCisjfiAiXHRXQVJOSU5HOiBUaGlzIHdpbGwgZGVzdHJveSB0aGUgcHJlc2VudCBkaXNrIGNvbnRlbnRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXHRNYWFmIC0gZmRpc2sgaW5pIHRpZGFrIG1lbmFuZ2FuaSBNYWMgZGlzayBsYWJlbHMuXG4iCisjfiAiXHRKaWthIGFuZGEgaW5naW4gbWVuYW1iYWhrYW4gcGFydGlzaSB0aXBlIERPUywgYnVhdCBzZWJ1YWhcbiIKKyN+ICJcdHRhYmVsIHBhcnRpc2kgRE9TIGJhcnUgeWFuZyBrb3NvbmcgdGVybGViaWggZGFodWx1LiAoR3VuYWthbiBvLilcbiIKKyN+ICJcdFBFUklOR0FUQU46IEluaSBtdW5na2luIGFrYW4gbWVuZ2hhbmN1cmthbiBzZWx1cnVoIGlzaSBkaXNrLlxuIgorCisjfiBtc2dpZCAiQWNjb3JkaW5nIHRvIE1JUFMgQ29tcHV0ZXIgU3lzdGVtcywgSW5jIHRoZSBMYWJlbCBtdXN0IG5vdCBjb250YWluIG1vcmUgdGhhbiA1MTIgYnl0ZXNcbiIKKyN+IG1zZ3N0ciAiTWVudXJ1dCBNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYy4gbGFiZWwgaGFydXMgYmVyaXNpIHRpZGFrIGxlYmloIGRhcmkgNTEyIGJ5dGVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFNHSSBkaXNrIGxhYmVsKTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogJWxkIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTR0kgZGlzayBsYWJlbCk6ICVkIGhlYWRzLCAlbGx1IHNla3RvciwgJWQgc2lsaW5kZXJcbiIKKyN+ICJTYXR1YW4gPSAlcyBkYXJpICVkICogJWQgYnl0ZXNcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICItLS0tLSBwYXJ0aXRpb25zIC0tLS0tXG4iCisjfiAiUHQjICUqcyAgSW5mbyAgICAgU3RhcnQgICAgICAgRW5kICAgU2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIiCisjfiAiLS0tLS0gcGFydGlzaSAtLS0tLS1cbiIKKyN+ICJQdCMgJSpzICBJbmZvICAgICBBd2FsICAgICAgICBBa2hpciBTZWt0b3IgICBJZCAgU3lzdGVtXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiLS0tLS0gQm9vdGluZm8gLS0tLS1cbiIKKyN+ICJCb290ZmlsZTogJXNcbiIKKyN+ICItLS0tLSBEaXJlY3RvcnkgRW50cmllcyAtLS0tLVxuIgorI34gbXNnc3RyICIiCisjfiAiLS0tLS0gQm9vdGluZm8gLS0tLS1cbiIKKyN+ICJCb290ZmlsZTogJXNcbiIKKyN+ICItLS0tLSBNYXN1a2FuIERpcmVrdG9yaSAtLS0tLVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUyemQ6ICUtMTBzIHNlY3RvciU1dSBzaXplJTh1XG4iCisjfiBtc2dzdHIgIiUyZDogJS0xMHMgc2VjdG9yJTV1IHNpemUlOHVcbiIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZFxuIgorI34gbXNnc3RyICJUaWRhayBhZGEgcGFydGlzaSB5YW5nIGRpZGVmaW5pc2lrYW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIGlzIG9ubHkgJWQgZGlza2Jsb2NrIGxhcmdlLFxuIgorI34gImJ1dCB0aGUgZGlzayBpcyAlZCBkaXNrYmxvY2tzIGxvbmcuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJTZWx1cnVoIGRpc2sgcGFydGlzaSBoYW55YSBzZWJlc2FyICVkIGRpc2tibG9jayxcbiIKKyN+ICJ0ZXRhcGkgYmVzYXIgZGlzayBhZGFsYWggJWQuXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3Qgc3RhcnQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIlBhcnRpc2kgJWQgdGlkYWsgYmVyYXdhbCBkaSBiYXRhcyBjeWxpbmRlci5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIlBhcnRpc2kgJWQgdGlkYWsgYmVyYWtoaXIgZGkgYmF0YXMgY3lsaW5kZXIuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGFydGl0aW9uICV6ZCBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC5cbiIKKyN+IG1zZ3N0ciAiUGFydGlzaSAlZCBzdWRhaCBkaWRlZmluaXNpa2FuLiBIYXB1cyBpbmkgc2ViZWx1bSBtZW5hbWJhaGthbm55YS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJIRElPX0dFVEdFTyBpb2N0bCBmYWlsZWQgb24gJXMiCisjfiBtc2dzdHIgIkJMS0dFVFNJWkUgaW9jdGwgZ2FnYWwgZGkgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogIEJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiAgVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS5cbiIKKyN+ICJUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLlxuIgorI34gbXNnc3RyICIiCisjfiAiUGVyaW5nYXRhbjogQkxLR0VUU0laRSBpb2N0bCBnYWdhbCBkaSAlcy4gTWVuZ2d1bmFrYW4gbmlsYWkgZ2VvbWV0cmkgY3lsaW5kZXIgZGFyaSAlZC5cbiIKKyN+ICJOaWxhaSBpbmkgbXVuZ2tpbiBha2FuIGRpcG90b25nIHVudHVrIHBlcmFuZ2thdCB5YW5nIGJlcnVrdXJhbiA+IDMzLjggR0IuXG4iCisKKyN+IG1zZ2lkICJJRD0lMDJ4XHRTVEFSVD0lZFx0TEVOR1RIPSVkXG4iCisjfiBtc2dzdHIgIklEPSUwMnhcdEFXQUw9JWRcdFBBTkpBTkc9JWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUcnlpbmcgdG8ga2VlcCBwYXJhbWV0ZXJzIG9mIHBhcnRpdGlvbnMgYWxyZWFkeSBzZXQuXG4iCisjfiBtc2dzdHIgIk1lbmNvYmEgdW50dWsgbWVueWltcGFuIHBhcmFtZXRlciBkYXJpIHBhcnRpc2kgJWQuXG4iCisKKyN+IG1zZ2lkICJZRVNcbiIKKyN+IG1zZ3N0ciAiWUFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCdWlsZGluZyBhIG5ldyBTdW4gZGlza2xhYmVsLiIKKyN+IG1zZ3N0ciAiJXMgdGlkYWsgdGVyZGFwYXQgZGlza2xhYmVsLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTdW4gZGlzayBsYWJlbCk6ICV1IGhlYWRzLCAlbGx1IHNlY3RvcnMsICVkIHJwbVxuIgorI34gIiVsbHUgY3lsaW5kZXJzLCAlZCBhbHRlcm5hdGUgY3lsaW5kZXJzLCAlZCBwaHlzaWNhbCBjeWxpbmRlcnNcbiIKKyN+ICIlZCBleHRyYSBzZWN0cy9jeWwsIGludGVybGVhdmUgJWQ6MVxuIgorI34gIkxhYmVsIElEOiAlc1xuIgorI34gIlZvbHVtZSBJRDogJXNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogNTEyIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTdW4gZGlzayBsYWJlbCk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMsICVkIHJwbVxuIgorI34gIiVkIGN5bGluZGVycywgJWQgYWx0ZXJuYXRlIGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiJWQgZXh0cmEgc2VjdHMvY3lsLCBpbnRlcmxlYXZlICVkOjFcbiIKKyN+ICJMYWJlbCBJRDogJXNcbiIKKyN+ICJWb2x1bWUgSUQ6ICVzXG4iCisjfiAiU2F0dWFuID0gJXMgZGFyaSAlZCAqIDUxMiBieXRlc1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTdW4gZGlzayBsYWJlbCk6ICV1IGhlYWRzLCAlbGx1IHNlY3RvcnMsICVsbHUgY3lsaW5kZXJzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqIDUxMiBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgbGFiZWwpOiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzLCAlZCBjeWxpbmRlcnNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogNTEyIGJ5dGVzXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIlKnMgRmxhZyAgICBTdGFydCAgICAgICBFbmQgICAgQmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIlKnMgVGFuZGEgICBBd2FsICAgICAgICBBa2hpciAgQmxvY2tzICAgSWQgIFN5c3RlbVxuIgorCisjfiBtc2dpZCAiJXMgLUFuIGRldmljZVx0IGFjdGl2YXRlIHBhcnRpdGlvbiBuLCBpbmFjdGl2YXRlIHRoZSBvdGhlciBvbmVzXG4iCisjfiBtc2dzdHIgIiVzIC1BbiBwZXJhbmdrYXRcdCBha3RpdmFzaSBwYXJ0aXNpIG4sIG1lbm9uYWt0aWZrYW4geWFuZyBsYWlubnlhXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRG9uZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiU2VsZXNhaVxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNyZWF0ZWQgcGFydGl0aW9uICV6ZFxuIgorI34gbXNnc3RyICJQYXJ0aXNpIHlhbmcgdGVycGlsaWggJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIC11IDxVU0VSPiBDT01NQU5EXG4iCisjfiBtc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFtVU0VSIFthcmddLi4uXVxuIgorI34gbXNnc3RyICJwZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gPGFwbGlrYXNpPiBbYXJnIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjcnlwdCBmYWlsZWQ6ICVtXG4iCisjfiBtc2dzdHIgImdhZ2FsIG1lbnVsaXM6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNhbiBub3QgZm9yazogJW1cbiIKKyN+IG1zZ3N0ciAiJXM6IFRpZGFrIGRhcGF0IG1lbGFrdWthbiBmb3JrOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB0byBvcGVuL2NyZWF0ZSAlczogJW1cbiIKKyN+IG1zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB0byBsb2NrICVzOiAlbVxuIgorI34gbXNnc3RyICJnYWdhbCB1bnR1ayBtZW5kYXBhdGthbiBzdGF0aXN0aWs6ICVzIgorCisjfiBtc2dpZCAiQmFkIG51bWJlcjogJXNcbiIKKyN+IG1zZ3N0ciAiQW5na2EgYnVydWs6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmluZCB1bnVzZWQgbG9vcCBkZXZpY2UgZmFpbGVkIgorI34gbXNnc3RyICJtb3VudDogbW91bnQgZ2FnYWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gcGVyYW5na2F0IC4uLlxuIgorCisjfiBtc2dpZCAiYnVnIGluIHhzdHJuZHVwIGNhbGwiCisjfiBtc2dzdHIgImt1dHUvYnVnIGRhbGFtIHBlbWFuZ2dpbGFuIHhzdHJuZHVwIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvbm5lY3QgJXMiCisjfiBtc2dzdHIgInRlcmh1YnVuZzogJXMuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtZCwgLS1kZXZpY2UgPGRldmljZT4gICAgc2VsZWN0IHJ0YyBkZXZpY2UgKHJ0YzB8cnRjMXwuLi4pXG4iCisjfiAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBkb2VzIGV2ZXJ5dGhpbmcsIGJ1dCBzdXNwZW5kXG4iCisjfiAiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICBSVEMgdXNlcyBsb2NhbCB0aW1lem9uZVxuIgorI34gIiAtbSwgLS1tb2RlIDxtb2RlPiAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwIG1vZGVcbiIKKyN+ICIgLXMsIC0tc2Vjb25kcyA8c2Vjb25kcz4gIHNlY29uZHMgdG8gc2xlZXBcbiIKKyN+ICIgLXQsIC0tdGltZSA8dGltZV90PiAgICAgIHRpbWUgdG8gd2FrZVxuIgorI34gIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIHVzZXMgVVRDXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1lc3NhZ2VzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJwZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl1cbiIKKyN+ICIgICAgLWQgfCAtLWRldmljZSA8cGVyYW5na2F0PiBwaWxpaCBwZXJhbmdrYXQgcnRjIChydGMwfHJ0YzF8Li4uKVxuIgorI34gIiAgICAtbCB8IC0tbG9jYWwgICAgICAgICAgICAgIFJUQyBtZW5nZ3VuYWthbiBkYWVyYWggd2FrdHUgbG9rYWxcbiIKKyN+ICIgICAgLW0gfCAtLW1vZGUgICAgICAgICAgICAgICBzdGFuZGJ5fG1lbS4uLiBtb2RlIHRpZHVyXG4iCisjfiAiICAgIC1zIHwgLS1zZWNvbmRzIDxkZXRpaz4gICAgZGV0aWsga2UgdGlkdXJcbiIKKyN+ICIgICAgLXQgfCAtLXRpbWUgPHRpbWVfdD4gICAgICB3YWt0dSB1bnR1ayBiYW5ndW5cbiIKKyN+ICIgICAgLXUgfCAtLXV0YyAgICAgICAgICAgICAgICBSVEMgbWVuZ2d1bmFrYW4gVVRDXG4iCisjfiAiICAgIC12IHwgLS12ZXJib3NlICAgICAgICAgICAgcGVzYW4gdmVyYm9zZVxuIgorI34gIiAgICAtViB8IC0tdmVyc2lvbiAgICAgICAgICAgIHRhbXBpbGthbiB2ZXJzaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheXMgd2hhdCBvcHRpb25zIGFyZSBiZWluZyBzd2l0Y2hlZCBvblxuIgorI34gIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgZGlzYWJsZXMgcmFuZG9taXphdGlvbiBvZiB0aGUgdmlydHVhbCBhZGRyZXNzIHNwYWNlXG4iCisjfiAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorI34gIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgdHVybnMgb24gTU1BUF9QQUdFX1pFUk9cbiIKKyN+ICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKKyN+ICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCisjfiAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB0dXJucyBvbiBBRERSX0xJTUlUXzMyQklUXG4iCisjfiAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICB0dXJucyBvbiBTSE9SVF9JTk9ERVxuIgorI34gIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgdHVybnMgb24gV0hPTEVfU0VDT05EU1xuIgorI34gIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgdHVybnMgb24gU1RJQ0tZX1RJTUVPVVRTXG4iCisjfiAiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBsaW1pdHMgdGhlIHVzZWQgYWRkcmVzcyBzcGFjZSB0byBhIG1heGltdW0gb2YgMyBHQlxuIgorI34gIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKKyN+ICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHR1cm5zIG9uIFVOQU1FMjZcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgdGFtcGlsa2FuIHBlc2FuIGJhbnR1YW4gaW5pXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB0YW1waWxrYW4gcGlsaWhhbiBhcGEgc2FqYSB5YW5nIHNlZGFuZyBha3RpZlxuIgorI34gIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgbWVub25ha3RpZmthbiByYW5kb21pemF0aW9uIGRhcmkgdmlydHVhbCBhZGRyZXNzIHNwYWNlXG4iCisjfiAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBidWF0IHBvaW50ZXIgZnVuZ3NpIG1lbnVuanVrIGtlIGRlc2tyaXBzaVxuIgorI34gIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgYWt0aWZrYW4gTU1BUF9QQUdFX1pFUk9cbiIKKyN+ICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IHViYWggY2FyYSBwZW5nYWxva2FzaWFuIG1lbW9yaSB2aXJ0dWFsXG4iCisjfiAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICBha3RpZmthbiBSRUFEX0lNUExJRVNfRVhFQ1xuIgorI34gIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgYWt0aWZrYW4gQUREUl9MSU1JVF8zMkJJVFxuIgorI34gIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgYWt0aWZrYW4gU0hPUlRfSU5PREVcbiIKKyN+ICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIGFrdGlma2FuIFdIT0xFX1NFQ09EU1xuIgorI34gIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgYWt0aWZrYW4gU1RJQ0tZX1RJTUVPVVRTXG4iCisjfiAiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBiYXRhc2kgcGVuZ2d1bmFhbiBhZGRyZXNzIHNwYWNlIGtlIG1ha3NpbWFsIDMgR0JcbiIKKyN+ICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGFiYWlrYW4gKGhhbnlhIHVudHVrIGtvbXBhYmlsaXRhcyBrZSB2ZXJzaSBzZWJlbHVtbnlhIHNhamEpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGUuLi5dXG4iCisjfiBtc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyN+IG1zZ2lkICJta2ZzICglcylcbiIKKyN+IG1zZ3N0ciAibWtmcyAoJXMpXG4iCisKKyN+IG1zZ2lkICJzdHJ0b2wgZXJyb3I6IG51bWJlciBvZiBibG9ja3Mgbm90IHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAic3RydG9sIGVycm9yOiBqdW1sYWggZGFyaSBibG9jayB0aWRhayBkaXNwZXNpZmlrYXNpa2FuIgorCisjfiBtc2dpZCAib25lIGJhZCBwYWdlXG4iCisjfiBtc2dzdHIgInNlYnVhaCBwYWdlIGJ1cnVrXG4iCisKKyN+IG1zZ2lkICIgICAgICAgIG9uIHdob2xlIGRpc2suICIKKyN+IG1zZ3N0ciAiICAgICAgICBkaXNlbHVydWggZGlzay4gIgorCisjLCBmdXp6eQorI34gbXNnaWQgImRvZXMgbm90IHN1cHBvcnQgc3dhcHNwYWNlIHZlcnNpb24gJWQuIgorI34gbXNnc3RyICIlczogdGlkYWsgbWVuZHVrdW5nIHZlcnNpIHN3YXBzYXBjZSAlZC5cbiIKKworI34gbXNnaWQgIldhcm5pbmchISAgVW5zdXBwb3J0ZWQgR1BUIChHVUlEIFBhcnRpdGlvbiBUYWJsZSkgZGV0ZWN0ZWQuIFVzZSBHTlUgUGFydGVkLiIKKyN+IG1zZ3N0ciAiUGVyaW5nYXRhbiEhIEdQVCBUaWRhayBkaWR1a3VuZyAoR1VJRCBUYWJlbCBQYXJ0aXNpKSBUZXJkZXRla3NpLiBHdW5ha2FuIEdOVSBQYXJ0ZWQuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0VGhlcmUgaXMgYSB2YWxpZCBBSVggbGFiZWwgb24gdGhpcyBkaXNrLlxuIgorI34gIlx0VW5mb3J0dW5hdGVseSBMaW51eCBjYW5ub3QgaGFuZGxlIHRoZXNlXG4iCisjfiAiXHRkaXNrcyBhdCB0aGUgbW9tZW50LiAgTmV2ZXJ0aGVsZXNzIHNvbWVcbiIKKyN+ICJcdGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+ICJcdDMuIEJlZm9yZSBkZWxldGluZyB0aGlzIHBoeXNpY2FsIHZvbHVtZSBiZSBzdXJlXG4iCisjfiAiXHQgICB0byByZW1vdmUgdGhlIGRpc2sgbG9naWNhbGx5IGZyb20geW91ciBBSVhcbiIKKyN+ICJcdCAgIG1hY2hpbmUuICAoT3RoZXJ3aXNlIHlvdSBiZWNvbWUgYW4gQUlYcGVydCkuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHRUZXJkYXBhdCBzZWJ1YWggQUlYIGxhYmVsIHlhbmcgdmFsaWQgZGkgZGlzayBpbmkuXG4iCisjfiAiXHRTYXlhbmdueWEgTGludXggdGlkYWsgZGFwYXQgbWVuYW5nYW5pIGRpc2sgaW5pIHNhYXRcbiIKKyN+ICJcdGluaS4gQmViZXJhcGEgc2FyYW46XG4iCisjfiAiXHQxLiBmZGlzayBha2FuIG1lbmdoYW5jdXJrYW4gaXNpIGRhcmkgQUlYIGxhYmVsIHBhZGEgd2FrdHUgbWVudWxpcyBrZSBkaXNrLlxuIgorI34gIlx0Mi4gUGFzdGlrYW4gZGlzayBpbmkgQlVLQU4gYmFnaWFuIHZpdGFsIGRhcmkgdm9sdW1lIGdyb3VwLiAoSmlrYSBcbiIKKyN+ICJcdCAgIGFuZGEgbXVuZ2tpbiBha2FuIG1lbmdoYXB1cyBkaXNrIGxhaW4ganVnYSwgamlrYSB0aWRhayBkaSBtaXJyb3IuKVxuIgorI34gIlx0My4gU2ViZWx1bSBtZW5naGFwdXMgcGh5c2ljYWwgdm9sdW1lIGluaSBwYXN0aWthbiB1bnR1ayBtZW5naGFwdXMgZGlza1xuIgorI34gIlx0ICAgc2VjYXJhIGxvZ2ljYWwgZGFyaSBtZXNpbiBBSVggYW5kYS4gKEppa2EgdGlkYWsgYW5kYSBha2FuIG1lbmphZGkgXG4iCisjfiAiXHQgICBzZW9yYW5nIEFJWHBlcnQpLiIKKworI34gbXNnaWQgIiIKKyN+ICJcdFNvcnJ5IC0gdGhpcyBmZGlzayBjYW5ub3QgaGFuZGxlIEFJWCBkaXNrIGxhYmVscy5cbiIKKyN+ICJcdElmIHlvdSB3YW50IHRvIGFkZCBET1MtdHlwZSBwYXJ0aXRpb25zLCBjcmVhdGVcbiIKKyN+ICJcdGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUgZmlyc3QuIChVc2Ugby4pXG4iCisjfiAiXHRXQVJOSU5HOiBUaGlzIHdpbGwgZGVzdHJveSB0aGUgcHJlc2VudCBkaXNrIGNvbnRlbnRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXHRNYWFmIC0gZmRpc2sgaW5pIHRpZGFrIG1lbmFuZ2FuaSBBSVggZGlzayBsYWJlbHMuXG4iCisjfiAiXHRKaWthIGFuZGEgaW5naW4gbWVuYW1iYWhrYW4gcGFydGlzaSB0aXBlIERPUywgYnVhdCBzZWJ1YWhcbiIKKyN+ICJcdHRhYmVsIHBhcnRpc2kgRE9TIGJhcnUgeWFuZyBrb3NvbmcgdGVybGViaWggZGFodWx1LiAoR3VuYWthbiBvLilcbiIKKyN+ICJcdFBFUklOR0FUQU46IEluaSBtdW5na2luIGFrYW4gbWVuZ2hhbmN1cmthbiBzZWx1cnVoIGlzaSBkaXNrLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkJTRCBsYWJlbCBmb3IgZGV2aWNlOiAlc1xuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQlNEIGxhYmVsIHVudHVrIHBlcmFuZ2thdDogJXNcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlZCBoYXMgZW1wdHkgdHlwZVxuIgorI34gbXNnc3RyICJQZXJpbmdhdGFuOiBwYXJ0aXNpICVkIG1lbWlsaWtpIHRpcGUga29zb25nXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWkgZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gbXNnc3RyICJQYXJ0aXNpICVpIHRpZGFrIGJlcmFraGlyIGRpIGJhdGFzIGN5bGluZGVyLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IEdQVCAoR1VJRCBQYXJ0aXRpb24gVGFibGUpIGRldGVjdGVkIG9uICclcychIFRoZSB1dGlsIGZkaXNrIGRvZXNuJ3Qgc3VwcG9ydCBHUFQuIFVzZSBHTlUgUGFydGVkLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUEVSSU5HQVRBTjogR1BUIChHVUlEIFRhYmVsIFBhcnRpc2kpIHRlcmRldGVrc2kgZGkgJyVzJyEgYXBsaWthc2kgZmRpc2sgdGlkYWsgbWVuZHVrdW5nIEdQVC4gR3VuYWthbiBHTlUgUGFydGVkLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vdGU6IHNlY3RvciBzaXplIGlzICVsZCAobm90ICVkKVxuIgorI34gbXNnc3RyICJOb3RlOiB1a3VyYW4gc2VjdG9yIGFkYWxhaCAlZCAoYnVrYW4gJWQpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogR1BUIChHVUlEIFBhcnRpdGlvbiBUYWJsZSkgZGV0ZWN0ZWQgb24gJyVzJyEgVGhlIHV0aWwgc2ZkaXNrIGRvZXNuJ3Qgc3VwcG9ydCBHUFQuIFVzZSBHTlUgUGFydGVkLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUEVSSU5HQVRBTjogR1BUIChHVUlEIFRhYmVsIFBhcnRpc2kpIHRlcmRldGVrc2kgZGkgJyVzJyEgQXBsaWthc2kgc2ZkaXNrIHRpZGFrIG1lbmR1a3VuZyBHUFQuIEd1bmFrYW4gR05VIFBhcnRlZC5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIHRoaXMgY2hlY2suXG4iCisjfiBtc2dzdHIgIkd1bmFrYW4gcGlsaWhhbiAtLWZvcmNlIHVudHVrIG1lbWFrc2EgcGVtZXJpa3NhYW4gaW5pLlxuIgorCisjfiBtc2dpZCAiZXhlYyAlcyBmYWlsZWQiCisjfiBtc2dzdHIgImdhZ2FsIG1lbmphbGFua2FuICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBleGVjIGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IGxzZWVrIGdhZ2FsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRJT0NTQ1RUWTogaW9jdGwgZmFpbGVkIgorI34gbXNnc3RyICJUSU9DU0NUVFkgZ2FnYWw6ICVtIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsrZm9ybWF0XSBbZGF5IG1vbnRoIHllYXJdXG4iCisjfiBtc2dzdHIgInBlbmdndW5hYW46ICVzIFsrZm9ybWF0XSBbaGFyaSBidWxhbiB0YWh1bl1cbiIKKworI34gbXNnaWQgIlN0LiBUaWIncyBEYXkiCisjfiBtc2dzdHIgIlN0LiBUaWIncyBEYXkiCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtcyBzaWduYWwgfCAtcCBdIFsgLWEgXSBwaWQgLi4uXG4iCisjfiBtc2dzdHIgInBlbmdndW5hYW46ICVzIFsgLXMgc2lnbmFsIHwgLXAgXSBbIC1hIF0gcGlkIC4uLlxuIgorCisjfiBtc2dpZCAiICAgICAgICVzIC1sIFsgc2lnbmFsIF1cbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIC1sIFsgc2lnbmFsIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIHBvcnQgbnVtYmVyIGFyZ3VtZW50IgorI34gbXNnc3RyICJwaWxpaGFuIHRpZGFrIHZhbGlkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCisjfiBtc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNvdWxkbid0IGxvY2sgaW50byBtZW1vcnkiCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmd1bmNpIGtlIG1lbW9yeSwga2VsdWFyLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGFyZ3VtZW50IHRvIC1wIG9yIC0tcGFzcy1mZCBtdXN0IGJlIGEgbnVtYmVyIgorI34gbXNnc3RyICJtb3VudDogYXJndW1lbnQgdW50dWsgLXAgYXRhdSAtLXBhc3MtZmQgaGFydXMgYmVydXBhIHNlYnVhaCBub21vciIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleGVjdXRpbmcgJXMgZmFpbGVkIgorI34gbXNnc3RyICJnYWdhbCBtZW5qYWxhbmthbiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlamVjdDogY2Fubm90IHNldCB1c2VyIGlkIgorI34gbXNnc3RyICJtb3VudDogdGlkYWsgZGFwYXQgbWVuc2V0IGlkIHBlbmdndW5hOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZzZnJlZXplKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dCBsaWhhdCB3aXBlZnMoOCkuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJtYXggc2VnIHNpemUgKGtieXRlcykgPSAlbHVcbiIKKyN+IG1zZ3N0ciAibWF4IHNlZCBzaXplIChrYnl0ZXMpID0gJWx1XG4iCisKKyN+IG1zZ2lkICJtaW4gc2VnIHNpemUgKGJ5dGVzKSA9ICVsdVxuIgorI34gbXNnc3RyICJtaW4gc2VnIHNpemUgKGJ5dGVzKSA9ICVsdVxuIgorCisjfiBtc2dpZCAic2htY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAic2htY3RsIGdhZ2FsIgorCisjfiBtc2dpZCAibXNnY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAibXNnY3RsIGdhZ2FsIgorCisjfiBtc2dpZCAiY2J5dGVzPSVsZFx0cWJ5dGVzPSVsZFx0cW51bT0lbGRcdGxzcGlkPSVkXHRscnBpZD0lZFxuIgorI34gbXNnc3RyICJjYnl0ZXM9JWxkXHRxYnl0ZXM9JWxkXHRxbnVtPSVsZFx0bHNwaWQ9JWRcdGxycGlkPSVkXG4iCisKKyN+IG1zZ2lkICJzZW1jdGwgZmFpbGVkIgorI34gbXNnc3RyICJzZW1jdGwgZ2FnYWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtZSwgLS1lbmNyeXB0aW9uIDx0eXBlPiAgICAgICBlbmFibGUgZW5jcnlwdGlvbiB3aXRoIHNwZWNpZmllZCA8bmFtZS9udW0+XG4iCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAgICAgICAgICAgIHN0YXJ0IGF0IG9mZnNldCA8bnVtPiBpbnRvIGZpbGVcbiIKKyN+ICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZGV2aWNlIGxpbWl0ZWQgdG8gPG51bT4gYnl0ZXMgb2YgdGhlIGZpbGVcbiIKKyN+ICIgLXAsIC0tcGFzcy1mZCA8bnVtPiAgICAgICAgICAgcmVhZCBwYXNzcGhyYXNlIGZyb20gZmlsZSBkZXNjcmlwdG9yIDxudW0+XG4iCisjfiAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyZWF0ZSBwYXJ0aXRpb25lZCBsb29wIGRldmljZVxuIgorI34gIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBzZXR1cCByZWFkLW9ubHkgbG9vcCBkZXZpY2VcbiIKKyN+ICIgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICAgcHJpbnQgZGV2aWNlIG5hbWUgYWZ0ZXIgc2V0dXAgKHdpdGggLWYpXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGlsaWhhbjpcbiIKKyN+ICIgLWUgfCAtLWVuY3J5cHRpb24gPHRpcGU+IG1lbmdha3RpZmthbiBkYXRhIGVua3JpcHNpIGRlbmdhbiBzcGVzaWZpa2FzaSA8bmFtYS9ub21vcj5cbiIKKyN+ICIgLWggfCAtLWhlbHAgICAgICAgICAgICAgIGJhbnR1YW4gaW5pXG4iCisjfiAiIC1vIHwgLS1vZmZzZXQgPG5vbW9yPiAgICBhd2FsIGRhcmkgb2Zmc2V0IDxub21vcj4ga2VkYWxhbSBiZXJrYXNcbiIKKyN+ICIgICAgICAtLXNpemVsaW1pdCA8bm9tb3I+IGxvb3AgZGliYXRhc2kgaGFueWEgPG5vbW9yPiBieXRlcyBkYXJpIGJlcmthc1xuIgorI34gIiAtcCB8IC0tcGFzcy1mZCA8bm9tb3I+ICAgYmFjYSBrYXRhLWt1bmNpIGRhcmkgYmVya2FzIGRlc2tyaXBzaSA8bm9tb3I+XG4iCisjfiAiIC1yIHwgLS1yZWFkLW9ubHkgICAgICAgICBwYXNhbmcgYmFjYS1zYWphIHBlcmFuZ2thdCBsb29wXG4iCisjfiAiICAgICAgLS1zaG93ICAgICAgICAgICAgICB0YW1waWxrYW4gbmFtYSBwZXJhbmdrYXQgKGRlbmdhbiAtZiA8YmVya2FzPilcbiIKKyN+ICIgLXYgfCAtLXZlcmJvc2UgICAgICAgICAgIG1vZGUgdmVyYm9zZVxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIGZhaWxlZCB0byB1c2UgZGV2aWNlIgorI34gbXNnc3RyICJ0aWRhayBkYXBhdCBtZXJld2luZCBwZXJhbmdrYXQgc3dhcCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjb3VsZG4ndCBsb2NrIGludG8gbWVtb3J5IgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW5ndW5jaSBrZSBtZW1vcnksIGtlbHVhci5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIChwcm9iYWJseSB1bmtub3duIGVuY3J5cHRpb24gdHlwZSkiCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lcmV3aW5kIHBlcmFuZ2thdCBzd2FwIgorCisjfiBtc2dpZCAicmVuaWNlIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAicmVuaWNlIGRhcmkgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZXhlY3V0ZSAlcyIKKyN+IG1zZ3N0ciAiZ2FnYWwgbWVuamFsYW5rYW4gJXMiCisKKyN+IG1zZ2lkICJleGVjdnAgZmFpbGVkIgorI34gbXNnc3RyICJnYWdhbCBla3Nla3VzaSIKKworI34gbXNnaWQgImV4ZWN2IGZhaWxlZCIKKyN+IG1zZ3N0ciAiZ2FnYWwgZWtzZWt1c2kiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtbSwgLS1tb3VudCAgICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKKyN+ICIgLXUsIC0tdXRzICAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCisjfiAiIC1pLCAtLWlwYyAgICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorI34gIiAtbiwgLS1uZXQgICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJKYWxhbmthbiBhcGxpa2FzaSBkZW5nYW4gYmViZXJhcGEgcnVhbmcgbmFtYSB0aWRhayB0ZXJiYWdpIGRhcmkgaW5kdWtueWFcbiIKKyN+ICJcbiIKKyN+ICIgIC1oLCAtLWhlbHAgICAgICAgIGluZm9ybWFzaSBwZW5nZ3VuYWFuIChwZXNhbiBpbmkpXG4iCisjfiAiICAtbSwgLS1tb3VudCAgICAgICB1bnNoYXJlIHJ1YW5nIG5hbWEgcGVtYXNhbmdhblxuIgorI34gIiAgLXUsIC0tdXRzICAgICAgICAgdW5zaGFyZSBydWFuZyBuYW1hIFVUUyAoaG9zdG5hbWUgZGxsKVxuIgorI34gIiAgLWksIC0taXBjICAgICAgICAgdW5zaGFyZSBydWFuZyBuYW1hIFNpc3RlbSBWIElQQ1xuIgorI34gIiAgLW4sIC0tbmV0ICAgICAgICAgdW5zaGFyZSBydWFuZyBuYW1hIGphcmluZ2FuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJS0xNXMlcyBbdmVyc2lvbiAleF1cbiIKKyN+IG1zZ3N0ciAiJXM6IHZlcnNpICVzXG4iCisKKyN+IG1zZ2lkICJ1c2VycyIKKyN+IG1zZ3N0ciAicGVuZ2d1bmEiCisKKyN+IG1zZ2lkICJ0b28gbWFueSBpb3YncyAoY2hhbmdlIGNvZGUgaW4gd2FsbC90dHltc2cuYykiCisjfiBtc2dzdHIgInRlcmxhbHUgYmFueWFrIGlvdidzICh1YmFoIGtvZGUgZGFsYW0gd2FsbC90dHltc2cuYykiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZXJyb3IuIgorI34gbXNnc3RyICJjb2w6IHdyaXRlIGVycm9yLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGNvbHVtbigxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlVudHVrIGluZm9ybWFzaSBsZWJpaCBsYW5qdXQgbGloYXQgaXBjbWsoMSkuXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW9yZSAoJXMpXG4iCisjfiBtc2dzdHIgIm1rZnMgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzdGF0IGZpbGUgJXMiCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbXBlcm9sZWggc3RhdGlzdGlrIHBlcmFuZ2thdCAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjb3VsZG4ndCBvcGVuICVzIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWthICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gJXMiCisjfiBtc2dzdHIgIiVzOiBnYWdhbCB1bnR1ayBtZW1idWthOiAlc1xuIgorCisjfiBtc2dpZCAiY2Fubm90IHN0YXQgZGV2aWNlICVzIgorI34gbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1wZXJvbGVoIHN0YXRpc3RpayBwZXJhbmdrYXQgJXMiCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiBmaWxlICclcyciCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbWJ1a2EgZmlsZSAnJXMnIgorCisjfiBtc2dpZCAiIgorI34gIlRoaXMgZGlzayBoYXMgYm90aCBET1MgYW5kIEJTRCBtYWdpYy5cbiIKKyN+ICJHaXZlIHRoZSAnYicgY29tbWFuZCB0byBnbyB0byBCU0QgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkRpc2sgaW5pIG1lbWlsaWtpIERPUyBkYW4gQlNEIG1hZ2ljLlxuIgorI34gIkJlcmlrYW4gcGVyaW50YWggJ2InIHVudHVrIGJlcnViYWgga2UgbW9kZSBCU0QuXG4iCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlcyIKKyN+IG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVrYSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogY2Fubm90IG9wZW4gJXMiCisjfiBtc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW1idWthICVzXG4iCisKKyN+IG1zZ2lkICJGYWlsZWQgdG8gb3BlbiAlcyBmb3IgcmVhZGluZywgZXhpdGluZy4iCisjfiBtc2dzdHIgIkdhZ2FsIG1lbWJ1a2EgJXMgdW50dWsgbWVtYmFjYSwga2VsdWFyLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZnN0YXQgZmFpbGVkIgorI34gbXNnc3RyICIlczogc3RhdCBnYWdhbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiAvZGV2L3BvcnQiCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbWJ1a2EgL2Rldi9wb3J0OiAlcyIKKworI34gbXNnaWQgIm9wZW4oKSBvZiAlcyBmYWlsZWQiCisjfiBtc2dzdHIgIm9wZW4oKSBkYXJpICVzIGdhZ2FsIgorCisjfiBtc2dpZCAiT3BlbiBvZiAlcyBmYWlsZWQiCisjfiBtc2dzdHIgIk1lbWJ1a2EgdW50dWsgJXMgZ2FnYWwiCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gb3BlbiAlcyIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYnVrYSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc291cmNlIGJ1ZmZlciIKKyN+IG1zZ3N0ciAiZ2FnYWwgbWVuZ2Fsb2thc2lrYW4gb3V0YnVmZmVyIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBzdGF0IGRpcmVjdG9yeSIKKyN+IG1zZ3N0ciAiZ2FnYWwgdW50dWsgbWVuZGFwYXRrYW4gc3RhdGlzdGlrOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc3RhdCBkaXJlY3RvcnkgJXMiCisjfiBtc2dzdHIgImdhZ2FsIHVudHVrIG1lbmRhcGF0a2FuIHN0YXRpc3RpazogJXMiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiB0aW1pbmcgZmlsZSAlcyIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYnVrYSBiZXJrYXMgcGV3YWt0dSAlcyIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuICIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgZGlidWthICIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIFwiJXNcIiBmb3IgcmVhZCIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYnVrYSBcIiVzXCIgdW50dWsgZGliYWNhIgorCisjfiBtc2dpZCAiY2Fubm90IHN0YXQgXCIlc1wiIgorI34gbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1wZXJvbGVoIHN0YXRpc3RpayBcIiVzXCIiCisKKyN+IG1zZ2lkICIiCisjfiAidXNhZ2U6ICVzIFstaHZdIFsteCBkaXJdIGZpbGVcbiIKKyN+ICIgLWggICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyN+ICIgLXggZGlyICAgICBleHRyYWN0IGludG8gZGlyXG4iCisjfiAiIC12ICAgICAgICAgYmUgbW9yZSB2ZXJib3NlXG4iCisjfiAiIGZpbGUgICAgICAgZmlsZSB0byB0ZXN0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJwZW5nZ3VuYWFuOiAlcyBbLWh2XSBbLXggZGlyXSBmaWxlXG4iCisjfiAiIC1oICAgICAgICAgdGFtcGlsa2FuIHBlc2FuIGluaVxuIgorI34gIiAteCBkaXIgICAgIGV4dHJhY3Qga2VkYWxhbSBkaXJla3RvcmlcbiIKKyN+ICIgLXYgICAgICAgICBsZWJpaCB2ZXJib3NlXG4iCisjfiAiIGZpbGUgICAgICAgZmlsZSB1bnR1ayBkaXRlc3RcbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWxhcnZzbWZdIC9kZXYvbmFtZVxuIgorI34gbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbLWxhcnZzbWZdIC9kZXYvbmFtZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBibG9ja3NpemUgYXJndW1lbnQiCisjfiBtc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogd2lsbCBub3QgdHJ5IHRvIG1ha2Ugc3dhcGRldmljZSBvbiAnJXMnIgorI34gbXNnc3RyICIlczogZXJyb3I6IFRpZGFrIGFrYW4gbWVuY29iYSB1bnR1ayBtZW1idWF0IHBlcmFuZ2thdCBzd2FwIGRpICclcydcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnICglcylcbiIKKyN+IG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZ2Fsb2thc2lrYW4gcGVyYW5na2F0IHJhdyAnJXMnICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gPG5hbWEgYmVya2FzPlxuIgorI34gIlxuIgorI34gIlBpbGloYW46XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBzd2FwbGFiZWwoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJVbnR1ayBpbmZvcm1hc2kgbGViaWggbGFuanV0IGxpaGF0IHdpcGVmcyg4KS5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlaSBkb2VzIG5vdCBzdGFydCBvbiBjeWxpbmRlciBib3VuZGFyeTpcbiIKKyN+IG1zZ3N0ciAiUGFydGlzaSAlaSB0aWRhayBiZXJhd2FsIGRpIGJhdGFzIGN5bGluZGVyOlxuIgorCisjfiBtc2dpZCAic2hvdWxkIGJlICglZCwgJWQsIDEpXG4iCisjfiBtc2dzdHIgInNlaGFydXNueWEgKCVkLCAlZCwgMSlcbiIKKworI34gbXNnaWQgInNob3VsZCBiZSAoJWQsICVkLCAlZClcbiIKKyN+IG1zZ3N0ciAic2VoYXJ1c255YSAoJWQsICVkLCAlZClcbiIKKworI34gbXNnaWQgIlRoaXMga2VybmVsIGZpbmRzIHRoZSBzZWN0b3Igc2l6ZSBpdHNlbGYgLSAtYiBvcHRpb24gaWdub3JlZFxuIgorI34gbXNnc3RyICJLZXJuZWwgaW5pIG1lbmNhcmkgdWt1cmFuIHNla3Rvcm55YSBzZW5kaXJpIC0gcGlsaWhhbiAtYiBkaWFiYWlrYW5cbiIKKworI34gbXNnaWQgIm91dCBvZiBtZW1vcnk/XG4iCisjfiBtc2dzdHIgImtlaGFiaXNhbiBtZW1vcnk/XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAic2ZkaXNrOiBwcmVtYXR1cmUgZW5kIG9mIGlucHV0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJzZmRpc2s6IHByZW1hdHVyZSBkaWFraGlyIGRhcmkgbWFzdWthblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldBUk5JTkc6IGNvdWxkbid0IG9wZW4gJXMiCisjfiBtc2dzdHIgIlBFUklOR0FUQU46IHRpZGFrIGRhcGF0IG1lbWJ1a2EgJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV0FSTklORzogYmFkIGZvcm1hdCBvbiBsaW5lICVkIG9mICVzIgorI34gbXNnc3RyICJQRVJJTkdBVEFOOiBmb3JtYXQgYnVydWsgZGkgYmFyaXMgJWQgZGFyaSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXQVJOSU5HOiBZb3VyIC9ldGMvZnN0YWIgZG9lcyBub3QgY29udGFpbiB0aGUgZnNjayBwYXNzbm9cbiIKKyN+ICJcdGZpZWxkLiAgSSB3aWxsIGtsdWRnZSBhcm91bmQgdGhpbmdzIGZvciB5b3UsIGJ1dCB5b3VcbiIKKyN+ICJcdHNob3VsZCBmaXggeW91ciAvZXRjL2ZzdGFiIGZpbGUgYXMgc29vbiBhcyB5b3UgY2FuLlxuIgorI34gbXNnc3RyICIiCisjfiAiUEVSSU5HQVRBTjogL2V0Yy9mc3RhYiBhbmRhIHRpZGEgYmVyaXNpIGJhZ2lhbiBub21vciB0YWhhcFxuIgorI34gIlx0ZnNjay4gc2F5YSBha2FuIG1lbWJlbnR1bGthbiBpbmkgdW50dWsgYW5kYSwgdGV0YXBpIGFuZGFcbiIKKyN+ICJcdHNlaGFydXNueWEgbWVtYmV0dWxrYW4gYmVya2FzIC9ldGMvZnN0YWIgYW5kYSBzZWNlcGF0bnlhLlxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlcG9jaCIKKyN+IG1zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJZb3UgaGF2ZSBzcGVjaWZpZWQgbXVsdGlwbGUgZnVuY3Rpb25zLlxuIgorI34gIllvdSBjYW4gb25seSBwZXJmb3JtIG9uZSBmdW5jdGlvbiBhdCBhIHRpbWUuIgorI34gbXNnc3RyICIiCisjfiAiQW5kYSB0ZWxhaCBtZW5zcGVzaWZpa2FzaSBiZWJlcmFwYSBmdW5nc2kuXG4iCisjfiAiQW5kYSBoYW55YSBkYXBhdCBtZWxha3VrYW4gc2F0dSBmdW5nc2kgZGFsYW0gc2F0dSB3YWt0dS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgLS11dGMgYW5kIC0tbG9jYWx0aW1lIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC4iCisjfiBtc2dzdHIgIiVzOiBQaWxpaGFuIC0tdXRjIGRhbiAtLWxvY2FsdGltZSBhZGFsYWggbXV0dWFsbHkgZWtza2x1c2l2ZS4gQW5kYSBtZW5zcGVzaWZpa2FzaWthbiBrZWR1YW55YS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgLS1hZGp1c3QgYW5kIC0tbm9hZGpmaWxlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC4iCisjfiBtc2dzdHIgIiVzOiBQaWxpaGFuIC0tYWRqdXN0IGRhbiAtLW5vYWRqZmlsZSBhZGFsYWggbXV0dWFsbHkgZWtza2x1c2l2ZS4gQW5kYSBtZW5zcGVzaWZpa2FzaWthbiBrZWR1YW55YS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgLS1hZGpmaWxlIGFuZCAtLW5vYWRqZmlsZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuICBZb3Ugc3BlY2lmaWVkIGJvdGguIgorI34gbXNnc3RyICIlczogUGlsaWhhbiAtLWFkamZpbGUgZGFuIC0tbm9hZGpmaWxlIGFkYWxhaCBtdXR1YWxseSBla3NrbHVzaXZlLiBBbmRhIG1lbnNwZXNpZmlrYXNpa2FuIGtlZHVhbnlhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBsb2NrIGdyb3VwIGZpbGUiCisjfiBtc2dzdHIgIm1vdW50IHRpZGFrIGRhcGF0IG1lbnNldCBncnVwIGlkOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0aGUgJXMgZmlsZSBpcyBidXN5ICglcyBwcmVzZW50KSIKKyN+IG1zZ3N0ciAiJXM6IGZpbGUgJXMgc2VkYW5nIHNpYnVrICglcyBhZGEpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmaW5kbW50KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dCBsaWhhdCBuYW1laSgxKS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2lndmFsIgorI34gbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicG9ydCBgJWxkJyBvdXQgb2YgcmFuZ2UiCisjfiBtc2dzdHIgIk5pbGFpIGRpbHVhciBkYXJpIGphbmdrYXVhbi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGxzYmxrKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dCBsaWhhdCB3aXBlZnMoOCkuXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBvZmZzZXQgdmFsdWUgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm5pbGFpIG9mc2V0IHlhbmcgZGlzcGVzaWZpa2FzaWthbiB0aWRhayB2YWxpZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiBmYWlsZWQgdG8gcmVhZCBtdGFiIgorI34gbXNnc3RyICJnYWdhbCB1bnR1ayBtZW5kYXBhdGthbiBzdGF0aXN0aWs6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjbGFzcyBkYXRhIgorI34gbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNsYXNzIgorI34gbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGJ1ZmZlciBzaXplIgorI34gbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZhbGxvY2F0ZSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlVudHVrIGluZm9ybWFzaSBsZWJpaCBsYW5qdXQgbGloYXQgZmFsbG9jYXRlKDEpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgZnN0cmltKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dCBsaWhhdCBuYW1laSgxKS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIHNwZWVkIgorI34gbXNnc3RyICJrZWNlcGF0YW4gdGlkYWsgdmFsaWQ6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgb2Zmc2V0ICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICJuaWxhaSBvZnNldCAnJXMnIHRpZGFrIHZhbGlkIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgc2l6ZSAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibmlsYWkgb2ZzZXQgJyVzJyB0aWRhayB2YWxpZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleHRlbmRlZCBhbmQgcGFyc2FibGUgZm9ybWF0cyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorI34gbXNnc3RyICItLW9mZnNldCBkYW4gLS1hbGwgYWRhbGFoICdtdXR1YWxseSBleGNsdXNpdmUnIgorCisjLCBmdXp6eQorI34gbXNnaWQgIi0tYWxsLCAtLW9ubGluZSBhbmQgLS1vZmZsaW5lIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKKyN+IG1zZ3N0ciAiLS1vZmZzZXQgZGFuIC0tYWxsIGFkYWxhaCAnbXV0dWFsbHkgZXhjbHVzaXZlJyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG1vdW50cG9pbnQoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJVbnR1ayBpbmZvcm1hc2kgbGViaWggbGFuanV0IGxpaGF0IGlwY21rKDEpLlxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBQSUQiCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1a2EgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNlY29uZHMgdmFsdWUiCisjfiBtc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZV90IHZhbHVlIgorI34gbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyN+IG1zZ2lkICInJXMnIGlzIHVuc3VwcG9ydGVkIHByb2dyYW0gbmFtZSAobXVzdCBiZSAnc3dhcG9uJyBvciAnc3dhcG9mZicpLiIKKyN+IG1zZ3N0ciAiJyVzJyBhZGFsYWggbmFtYSBhcGxpa2FzaSB5YW5nIHRpZGFrIGRpZHVrdW5nIChoYXJ1cyBiZXJ1cGEgJ3N3YXBvbicgYXRhdSAnc3dhcG9mZicpLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGxzYmxrKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dCBsaWhhdCB3aXBlZnMoOCkuXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYXJndW1lbnQgJWx1IGlzIHRvbyBsYXJnZSIKKyN+IG1zZ3N0ciAiZGF0YSBibG9rIHRlcmxhbHUgYmVzYXIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidGVybWluYWwgZW52aXJvbm1lbnQgQ09MVU1OUyBmYWlsZWQiCisjfiBtc2dzdHIgInBlbWJ1YXRhbiBzZW1hcGhvciBnYWdhbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJiYWQgbGVuZ3RoIHZhbHVlIgorI34gbXNnc3RyICJoZXhkdW1wOiBhbmdrYSBwYW5qYW5nIHRpZGFrIGJhaWsuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIHNraXAgdmFsdWUiCisjfiBtc2dzdHIgImhleGR1bXA6IGFuZ2thIHNraXAgdGlkYWsgYmFpay5cbiIKKworI34gbXNnaWQgIiVzOiBVc2FnZTogJXMgWy1udW1iZXJdIFstcCBzdHJpbmddIFstY2VmbnJzXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCisjfiBtc2dzdHIgIiVzOiBQZW5nZ3VuYWFuOiAlcyBbLW51bWJlcl0gWy1wIHN0cmluZ10gWy1jZWZucnNdIFsrbGluZV0gWysvcGF0dGVybi9dIFtmaWxlc11cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogJWQ6IHBhcnNlIGVycm9yIC0tIGxpbmUgaWdub3JlZC5cbiIKKyN+IG1zZ3N0ciAiZXJyb3IgbWVuZ2FtYmlsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2FybmluZzogZmFpbGVkIHRvIHBhcnNlICVzIgorI34gbXNnc3RyICIlczogZ2FnYWwgdW50dWsgbWVtYnVrYTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlLTI1czogZmFpbGVkOiAlc1xuIgorI34gbXNnc3RyICIlczogZ2FnYWwgZm9yazogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlLTI1czogZmFpbGVkXG4iCisjfiBtc2dzdHIgIiVzIGdhZ2FsLlxuIgorCisjfiBtc2dpZCAiICAgZCAgIGRlbGV0ZSBhIEJTRCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgIGQgICBoYXB1cyBzZWJ1YWggcGFydGlzaSBCU0QiCisKKyN+IG1zZ2lkICIgICBuICAgYWRkIGEgbmV3IEJTRCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgIG4gICB0YW1iYWhrYW4gc2VidWFoIHBhcnRpc2kgQlNEIGJhcnUiCisKKyN+IG1zZ2lkICIgICB0ICAgY2hhbmdlIGEgcGFydGl0aW9uJ3MgZmlsZXN5c3RlbSBpZCIKKyN+IG1zZ3N0ciAiICAgdCAgIHViYWggaWQgcGFydGlzaSBmaWxlc3lzdGVtIgorCisjfiBtc2dpZCAiICAgdSAgIGNoYW5nZSB1bml0cyAoY3lsaW5kZXJzL3NlY3RvcnMpIgorI34gbXNnc3RyICIgICB1ICAgdWJhaCBzYXR1YW4gKGN5bGluZGVycy9zZWt0b3IpIgorCisjfiBtc2dpZCAiICAgcCAgIHByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIiAgIHAgICBjZXRhayB0YWJlbCBwYXJ0aXNpIgorCisjfiBtc2dpZCAiIgorI34gIkJ1aWxkaW5nIGEgbmV3IERPUyBkaXNrbGFiZWwgd2l0aCBkaXNrIGlkZW50aWZpZXIgMHglMDh4LlxuIgorI34gIkNoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS5cbiIKKyN+ICJBZnRlciB0aGF0LCBvZiBjb3Vyc2UsIHRoZSBwcmV2aW91cyBjb250ZW50IHdvbid0IGJlIHJlY292ZXJhYmxlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiTWVtYnVhdCBzZWJ1YWggRE9TIGRpc2tsYWJlbCBiYXJ1IGRlbmdhbiBpZGVudGlmaWthc2kgZGlzayAweCUwOHguXG4iCisjfiAiUGVydWJhaGFuIGFrYW4gdGV0YXAgYmVyYWRhIGRpIG1lbW9yaSwgc2FtcGFpIGFuZGEgbWVtdXR1c2thbiB1bnR1ayBtZW51bGlzbnlhLlxuIgorI34gIlNlc3VkYWggaXR1LCB0ZW50dSwgaXNpIHNlYmVsdW1ueWEgdGlkYWsgZGFwYXQgZGlrZW1iYWxpa2FuIGxhZ2kuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJEZXZpY2UgY29udGFpbnMgbmVpdGhlciBhIHZhbGlkIERPUyBwYXJ0aXRpb24gdGFibGUsIG5vciBTdW4sIFNHSSBvciBPU0YgZGlza2xhYmVsXG4iCisjfiBtc2dzdHIgIlBlcmFuZ2thdCB0aWRhayBiZXJpc2kgdGFiZWwgcGFydGlzaSB5YW5nIHZhbGlkIGJhaWsgdW50dWsgRE9TLCBTdW4sIFNHSSBhdGF1cHVuIE9TRiBkaXNrbGFiZWxcbiIKKworI34gbXNnaWQgIkludGVybmFsIGVycm9yXG4iCisjfiBtc2dzdHIgIktlc2FsYWhhbiBpbnRlcm5hbFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0U29ycnksIG5vIGV4cGVydHMgbWVudSBmb3IgU0dJIHBhcnRpdGlvbiB0YWJsZXMgYXZhaWxhYmxlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHRNYWFmLCB0aWRhayBhZGEgbWVudSBleHBlcnRzIHVudHVrIHRhYmVsIHBhcnRpc2kgU0dJLlxuIgorCisjfiBtc2dpZCAiRG8gWW91IGtub3csIFlvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzaz9cbiIKKyN+IG1zZ3N0ciAiQXBha2FoIGFuZGEgdGFodSwgQW5kYSBtZW1wZXJvbGVoIHNlYnVhaCBwYXJ0aXNpIHlhbmcgb3ZlcmxhcCBkaSBkaXNrP1xuIgorCisjfiBtc2dpZCAiIgorI34gIkJ1aWxkaW5nIGEgbmV3IFNHSSBkaXNrbGFiZWwuIENoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksXG4iCisjfiAidW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLiBBZnRlciB0aGF0LCBvZiBjb3Vyc2UsIHRoZSBwcmV2aW91c1xuIgorI34gImNvbnRlbnQgd2lsbCBiZSB1bnJlY292ZXJhYmx5IGxvc3QuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJNZW1idWFoIHNlYnVhaCBkaXNrbGFiZWwgU0dJIHlhbmcgYmFydS4gUGVydWJhaGFuIGhhbnlhIGFrYW4gYWRhIGRpIG1lbW9yaSxcbiIKKyN+ICJzYW1wYWkgYW5kYSBtZW11dHVza2FuIHVudHVrIG1lbnVsaXNueWEuIFNlc3VkYWggaXR1LCB0ZW50dSwgaXNpIHNlYmVsdW1ueWFcbiIKKyN+ICJha2FuIGhpbGFuZyBkYW4gdGlkYWsgZGFwYXQgZGlrZW1iYWxpa2FuLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeSAtIGdpdmluZyB1cFxuIgorI34gbXNnc3RyICJrZWhhYmlzYW4gbWVtb3J5IC0gbWVueWVyYWhcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG1vdW50KDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dCBsaWhhdCBpcGNtaygxKS5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImxvZ2luOiBtZW1vcnkgbG93LCBsb2dpbiBtYXkgZmFpbFxuIgorI34gbXNnc3RyICJsb2dpbjogbWVtb3J5IHNlZGlraXQsIGxvZ2luIG11bmdraW4gZ2FnYWxcbiIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBmb3IgdHR5Y2xhc3MiCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbGFrdWthbiBtYWxsb2MgdW50dWsgdHR5Y2xhc3MiCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgZm9yIGdycGxpc3QiCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbGFrdWthbiBtYWxsb2MgdW50dWsgZ3JwbGlzdCIKKworI34gbXNnaWQgIkxvZ2luIG9uICVzIGZyb20gJXMgZGVuaWVkLlxuIgorI34gbXNnc3RyICJMb2dpbiBkaSAlcyBkYXJpICVzIGRpdG9sYWsuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWyAtZiBmdWxsLW5hbWUgXSBbIC1vIG9mZmljZSBdICIKKyN+IG1zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgWyAtZiBmdWxsLW5hbWUgXSBbIC1vIG9mZmljZSBdICIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogUEFNIGZhaWx1cmUsIGFib3J0aW5nOiAlcyIKKyN+IG1zZ3N0ciAiJXM6IFBBTSBHYWdhbCwgbWVtYmF0YWxrYW46ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlMSRzIFstcyBzaGVsbF0gW3VzZXJuYW1lXVxuIgorI34gIiAgIG9yOiAlMSRzICgtLWxpc3Qtc2hlbGxzIHwgLS1oZWxwIHwgLS12ZXJzaW9uKVxuIgorI34gbXNnc3RyICIiCisjfiAiUGVuZ2d1bmFhbjogJXMgWyAtcyBzaGVsbCBdIFsgLS1saXN0LXNoZWxscyBdIFsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorI34gIiAgICAgICBbIHVzZXJuYW1lIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMuIgorI34gbXNnc3RyICIlczogaGFueWEgZGFwYXQgbWVuZ3ViYWggbWFzdWthbiBsb2NhbDsgZ3VuYWthbiB5cCVzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAvZXRjL3Bhc3N3ZCIKKyN+IG1zZ3N0ciAiJXM6IFRpZGFrIGRhcGF0IG1lbnNldCBkZWZhdWx0IGNvbnRleHQgdW50dWsgL2V0Yy9wYXNzd2QiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2V0cHduYW0gZmFpbGVkIgorI34gbXNnc3RyICJzZW1jdGwgZ2FnYWwiCisKKyN+IG1zZ2lkICIlczogVXNlIC1sIG9wdGlvbiB0byBzZWUgbGlzdC5cbiIKKyN+IG1zZ3N0ciAiJXM6IGd1bmFrYW4gcGlsaWhhbiAtbCB1bnR1ayBtZWxpaGF0IGRhZnRhci5cbiIKKworI34gbXNnaWQgInVzYWdlOiBsb2dpbiBbLWZwXSBbdXNlcm5hbWVdXG4iCisjfiBtc2dzdHIgInBlbmdndW5hYW46IGxvZ2luIFstZnBdIFtwZW5nZ3VuYV1cbiIKKworI34gbXNnaWQgIm91dCBvZiBtZW1vcnkiCisjfiBtc2dzdHIgImtlaGFiaXNhbiBtZW1vcmkiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIHVzZXJuYW1lIgorI34gbXNnc3RyICJVc2VybmFtZSAocGVuZ2d1bmEpIHRpZGFrIGxlZ2FsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIGxvZ2luIHJlZnVzZWQgb24gdGhpcyB0ZXJtaW5hbC4iCisjfiBtc2dzdHIgIiVzIGxvZ2luIGRpdG9sYWsgZGkgdGVybWluYWwgaW5pLlxuIgorCisjfiBtc2dpZCAiTE9HSU4gJXMgUkVGVVNFRCBGUk9NICVzIE9OIFRUWSAlcyIKKyN+IG1zZ3N0ciAiTE9HSU4gJXMgRElUT0xBSyBEQVJJICVzIERJIFRUWSAlcyIKKworI34gbXNnaWQgIkxPR0lOICVzIFJFRlVTRUQgT04gVFRZICVzIgorI34gbXNnc3RyICJMT0dJTiAlcyBESVRPTEFLIERJIFRUWSAlcyIKKworI34gbXNnaWQgIkxvZ2luIGluY29ycmVjdFxuIgorI34gbXNnc3RyICJMb2dpbiB0aWRhayBiZW5hclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNoYW5nZSB0ZXJtaW5hbCBvd25lciBmYWlsZWQiCisjfiBtc2dzdHIgInBlbWJ1YXRhbiBzZW1hcGhvciBnYWdhbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsdXJlIGZvcmtpbmciCisjfiBtc2dzdHIgImxvZ2luOiBnYWdhbCBmb3JraW5nOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICIlcyBsb2dpbjogIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiJXMgbG9naW46ICIKKworI34gbXNnaWQgIk5BTUUgdG9vIGxvbmciCisjfiBtc2dzdHIgIk5BTUEgdGVybGFsdSBwYW5qYW5nIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxvZ2luIG5hbWUgbXVjaCB0b28gbG9uZy4iCisjfiBtc2dzdHIgIm5hbWEgbG9naW4gdGVybGFsdSBwYW5qYW5nLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxvZ2luIG5hbWVzIG1heSBub3Qgc3RhcnQgd2l0aCAnLScuIgorI34gbXNnc3RyICJuYW1hIGxvZ2luIHRpZGFrIGJvbGVoIGRpYXdhbGkgZGVuZ2FuICctJy5cbiIKKworI34gbXNnaWQgIkVYQ0VTU0lWRSBsaW5lZmVlZHMiCisjfiBtc2dzdHIgIlRFUkxBTFUgQkFOWUFLIGxpbmVmZWVkcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0b28gbWFueSBiYXJlIGxpbmVmZWVkcy4iCisjfiBtc2dzdHIgInRlcmxhbHUgYmFueWFrIGxpbmVmZWVkcyBiYXJlLlxuIgorCisjfiBtc2dpZCAiTE9HSU4gRkFJTFVSRSBGUk9NICVzLCAlcyIKKyN+IG1zZ3N0ciAiTE9HSU4gR0FHQUwgREFSSSAlcywgJXMiCisKKyN+IG1zZ2lkICJMT0dJTiBGQUlMVVJFIE9OICVzLCAlcyIKKyN+IG1zZ3N0ciAiTE9HSU4gR0FHQUwgREkgJXMsICVzIgorCisjfiBtc2dpZCAiJWQgTE9HSU4gRkFJTFVSRVMgRlJPTSAlcywgJXMiCisjfiBtc2dzdHIgIiVkIExPR0lOIEdBR0FMIERBUkkgJXMsICVzIgorCisjfiBtc2dpZCAiJWQgTE9HSU4gRkFJTFVSRVMgT04gJXMsICVzIgorI34gbXNnc3RyICIlZCBMT0dJTiBHQUdBTCBESSAlcywgJXMiCisKKyN+IG1zZ2lkICIlczogdGhlIGdyb3VwIGZpbGUgaXMgYnVzeS5cbiIKKyN+IG1zZ3N0ciAiJXM6IGZpbGUgZ3JvdXAgc2VkYW5nIHNpYnVrLlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHVubG9jayAlczogJXMgKHlvdXIgY2hhbmdlcyBhcmUgc3RpbGwgaW4gJXMpXG4iCisjfiBtc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW1idWthICVzOiAlcyAocGVydWJhaGFuIHlhbmcgYW5kYSBsYWt1a2FuIG1hc2loIGJlcmFkYSBkYWxhbSAlcylcbiIKKworI34gbXNnaWQgImNhbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgImNhbGxvYyBnYWdhbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXQVJOSU5HOiAlczogYXBwZWFycyB0byBjb250YWluICclcycgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJlcnJvcjogJXM6IHNlcGVydGlueWEgYmVyaXNpICclcycgdGFiZWwgcGFydGlzaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJubyBtYWdpYyBzdHJpbmcgZm91bmQgYXQgb2Zmc2V0IDB4JWp4IC0tIGlnbm9yZWQiCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbmVtdWthbiBzZWJ1YWggc3RyaW5nIG1hZ2ljIGRpIG9mc2V0IDB4JWp4IC0gZGlhYmFpa2FuLiIKKworI34gbXNnaWQgIiVzOiB3cml0ZSBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiBnYWdhbCBtZW51bGlzIgorCisjfiBtc2dpZCAiJXM6IC9kZXYgZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0LiIKKyN+IG1zZ3N0ciAiJXM6IC9kZXYgZGlyZWt0b3JpIHRpZGFrIGFkYS4iCisKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBzZXQgY2FwYWNpdHkgb24gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiB0aWRhayBkYXBhdCBtZW5zZXQga2FwYXNpdGFzIGRpIHBlcmFuZ2thdCAlczogJXNcbiIKKworI34gbXNnaWQgIiwgb2Zmc2V0ICU8UFJJdTY0PiIKKyN+IG1zZ3N0ciAiLCBvZmZzZXQgJTxQUkl1NjQ+IgorCisjfiBtc2dpZCAiLCBlbmNyeXB0aW9uIHR5cGUgJWRcbiIKKyN+IG1zZ3N0ciAiLCBlbmNyeXB0aW9uIHR5cGUgJWRcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IGdldCBpbmZvIG9uIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDogdGlkYWsgZGFwYXQgbWVtcGVyb2xlaCBpbmZvIGRpIHBlcmFuZ2thdCAlczogJXNcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IG9wZW4gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiB0aWRhayBkYXBhdCBtZW1idWthIHBlcmFuZ2thdCAlczogJXNcbiIKKworI34gbXNnaWQgIiVzOiBubyBwZXJtaXNzaW9uIHRvIGxvb2sgYXQgL2Rldi9sb29wJXM8Tj4iCisjfiBtc2dzdHIgIiVzOiB0aWRhayBhZGEgaWppbiB1bnR1ayBtZWxpaGF0IGRpIC9kZXYvbG9vcCVzPE4+IgorCisjfiBtc2dpZCAiIgorI34gIiVzOiBDb3VsZCBub3QgZmluZCBhbnkgbG9vcCBkZXZpY2UuIE1heWJlIHRoaXMga2VybmVsIGRvZXMgbm90IGtub3dcbiIKKyN+ICIgICAgICAgYWJvdXQgdGhlIGxvb3AgZGV2aWNlPyAoSWYgc28sIHJlY29tcGlsZSBvciBgbW9kcHJvYmUgbG9vcCcuKSIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBUaWRhayBkYXBhdCBtZW5lbXVrYW4gcGVyYW5na2F0IGxvb3AuIE11bmdraW4ga2VybmVsIGluaSB0aWRhayBtZW5nZXRhaHVpXG4iCisjfiAiICAgIG1lbmdlbmFpIHBlcmFuZ2thdCBsb29wPyAoSmlrYSBkZW1pa2lhbiwgcmVjb21waWxlIGF0YXUgYG1vZHByb2JlIGxvb3AnLikiCisKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5IHdoaWxlIHJlYWRpbmcgcGFzc3BocmFzZSIKKyN+IG1zZ3N0ciAiS2VoYWJpc2FuIG1lbW9yaSBrZXRpa2EgbWVtYmFjYSBrYXRhIHNhbmRpIgorCisjfiBtc2dpZCAid2FybmluZzogJXMgaXMgYWxyZWFkeSBhc3NvY2lhdGVkIHdpdGggJXNcbiIKKyN+IG1zZ3N0ciAicGVyaW5nYXRhbjogJXMgc3VkYWggZGlhc29zaWFzaWthbiBkZW5nYW4gJXNcbiIKKworI34gbXNnaWQgIndhcm5pbmc6ICVzOiBpcyB3cml0ZS1wcm90ZWN0ZWQsIHVzaW5nIHJlYWQtb25seS5cbiIKKyN+IG1zZ3N0ciAicGVyaW5nYXRhbjogJXM6IG1lbWlsaWtpIHByb3Rla3NpIHVudHVrIGRpdHVsaXMsIG1lbmdndW5ha2FuIGJhY2Etc2FqYS5cbiIKKworI34gbXNnaWQgImlvY3RsIExPT1BfU0VUX0ZEIGZhaWxlZDogJXNcbiIKKyN+IG1zZ3N0ciAiaW9jdGwgTE9PUF9TRVRfRkQgZ2FnYWw6ICVzXG4iCisKKyN+IG1zZ2lkICJzZXRfbG9vcCglcywlcywlbGx1LCVsbHUpOiBzdWNjZXNzXG4iCisjfiBtc2dzdHIgInNldF9sb29wKCVzLCVzLCVsbHUsICVsbHUpOiBiZXJoYXNpbFxuIgorCisjfiBtc2dpZCAiZGVsX2xvb3AoJXMpOiBzdWNjZXNzXG4iCisjfiBtc2dzdHIgImRlbF9sb29wKCVzKTogYmVyaGFzaWxcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IGRlbGV0ZSBkZXZpY2UgJXM6ICVzXG4iCisjfiBtc2dzdHIgImxvb3A6IHRpZGFrIGRhcGF0IG1lbmdoYXB1cyBwZXJhbmdrYXQgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJUaGlzIG1vdW50IHdhcyBjb21waWxlZCB3aXRob3V0IGxvb3Agc3VwcG9ydC4gUGxlYXNlIHJlY29tcGlsZS5cbiIKKyN+IG1zZ3N0ciAiTW91bnQgaW5pIHRlbGFoIGRpa29tcGlsZSB0YW5wYSBsYXlhbmFuIGxvb3AuIFRvbG9uZyBkaSByZWtvbXBpbGUuXG4iCisKKyN+IG1zZ2lkICJzdG9sZW4gbG9vcD0lcy4uLnRyeWluZyBhZ2FpblxuIgorI34gbXNnc3RyICJ0ZXJjdXJpIGxvb3A9JXMgLi4ubWVuY29iYSBsYWdpXG4iCisKKyN+IG1zZ2lkICJObyBsb29wIHN1cHBvcnQgd2FzIGF2YWlsYWJsZSBhdCBjb21waWxlIHRpbWUuIFBsZWFzZSByZWNvbXBpbGUuXG4iCisjfiBtc2dzdHIgIkxheWFuYW4gbG9vcCB0aWRhayBhZGEgcGFkYSB3YWt0dSBkaWtvbXBpbGUuIFRvbG9uZyBkaSByZWtvbXBpbGUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBwYXJ0eCg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlVudHVrIGluZm9ybWFzaSBsZWJpaCBsYW5qdXQgbGloYXQgbmFtZWkoMSkuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1xIFstaSBpbnRlcnZhbF1dIChbLXMgdmFsdWVdfFstUyB2YWx1ZV0pIChbLXQgdmFsdWVdfFstVCB2YWx1ZV0pIFstZ3wtR10gZmlsZSBbZmlsZS4uLl1cbiIKKyN+IG1zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgWy1xIFstaSBpbnRlcnZhbF1dIChbLXMgbmlsYWldfFstUyBuaWxhaV0pIChbLXQgbmlsYWldfFstVCBuaWxhaV0pIFstZ3wtR10gZmlsZSBbZmlsZS4uLl1cbiIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gJXM6ICVzXG4iCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbWJ1a2EgJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtcyAgLS1zaGFyZWQgICAgIEdldCBhIHNoYXJlZCBsb2NrXG4iCisjfiAiIC14ICAtLWV4Y2x1c2l2ZSAgR2V0IGFuIGV4Y2x1c2l2ZSBsb2NrXG4iCisjfiAiIC11ICAtLXVubG9jayAgICAgUmVtb3ZlIGEgbG9ja1xuIgorI34gIiAtbiAgLS1ub25ibG9jayAgIEZhaWwgcmF0aGVyIHRoYW4gd2FpdFxuIgorI34gIiAtdyAgLS10aW1lb3V0ICAgIFdhaXQgZm9yIGEgbGltaXRlZCBhbW91bnQgb2YgdGltZVxuIgorI34gIiAtbyAgLS1jbG9zZSAgICAgIENsb3NlIGZpbGUgZGVzY3JpcHRvciBiZWZvcmUgcnVubmluZyBjb21tYW5kXG4iCisjfiAiIC1jICAtLWNvbW1hbmQgICAgUnVuIGEgc2luZ2xlIGNvbW1hbmQgc3RyaW5nIHRocm91Z2ggdGhlIHNoZWxsXG4iCisjfiAiIC1oICAtLWhlbHAgICAgICAgRGlzcGxheSB0aGlzIHRleHRcbiIKKyN+ICIgLVYgIC0tdmVyc2lvbiAgICBEaXNwbGF5IHZlcnNpb25cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlBlbmdndW5hYW46ICUxJHMgWy1zeHVuXVstdyAjXSBmZCNcbiIKKyN+ICIgICAgICAgICAgICAlMSRzIFstc3hvbl1bLXcgI10gYmVya2FzIFstY10gcGVyaW50YWguLi5cbiIKKyN+ICIgICAgICAgICAgICAlMSRzIFstc3hvbl1bLXcgI10gZGlyZWt0b3JpIFstY10gcGVyaW50YWguLi5cbiIKKyN+ICIgIC1zICAtLXNoYXJlZCAgICAgRGFwYXRrYW4gc2VidWFoIGt1bmNpIHRlcmJhZ2lcbiIKKyN+ICIgIC14ICAtLWV4Y2x1c2l2ZSAgRGFwYXRrYW4gc2VidWFoIGt1bmNpIGVrc2x1c2l2ZVxuIgorI34gIiAgLXUgIC0tdW5sb2NrICAgICBIYXB1cyBzZWJ1YWgga3VuY2lcbiIKKyN+ICIgIC1uICAtLW5vbmJsb2NrICAgR2FnYWxrYW4gZGFyaXBhZGEgbWVudW5nZ3VcbiIKKyN+ICIgIC13ICAtLXRpbWVvdXQgICAgVHVuZ2d1IGJlYmVyYXBhIHNhYXQgZGVuZ2FuIGxhbWEgdGVyYmF0YXNcbiIKKyN+ICIgIC1vICAtLWNsb3NlICAgICAgVHV0dXAgYmVya2FzIGRlc2tyaXBzaSBzZWJlbHVtIG1lbmphbGFua2FuIHBlcmludGFoXG4iCisjfiAiICAtYyAgLS1jb21tYW5kICAgIEphbGFua2FuIHNlYnVhaCBrYXRhIHBlcmludGFoIHR1bmdnYWwgbWVsYWx1aSBzaGVsbFxuIgorI34gIiAgLWggIC0taGVscCAgICAgICBUYW1waWxrYW4gdGVrcyBpbmlcbiIKKyN+ICIgIC1WICAtLXZlcnNpb24gICAgVGFtcGlsa2FuIHZlcnNpXG4iCisKKyN+IG1zZ2lkICIlczogY2Fubm90IG9wZW4gbG9jayBmaWxlICVzOiAlc1xuIgorI34gbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVtYnVrYSBiZXJrYXMga3VuY2klczogJXNcbiIKKworI34gbXNnaWQgIiVzOiBiYWQgbnVtYmVyOiAlc1xuIgorI34gbXNnc3RyICIlczogYW5na2EgYnVydWs6ICVzXG4iCisKKyN+IG1zZ2lkICIlczogZm9yayBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBnYWdhbCBmb3JrOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLU0gPHNpemU+ICAgICBjcmVhdGUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IG9mIHNpemUgPHNpemU+XG4iCisjfiAiIC1TIDxuc2Vtcz4gICAgY3JlYXRlIHNlbWFwaG9yZSBhcnJheSB3aXRoIDxuc2Vtcz4gZWxlbWVudHNcbiIKKyN+ICIgLVEgICAgICAgICAgICBjcmVhdGUgbWVzc2FnZSBxdWV1ZVxuIgorI34gIiAtcCA8bW9kZT4gICAgIHBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZSAoZGVmYXVsdCBpcyAwNjQ0KVxuIgorI34gbXNnc3RyICIiCisjfiAiICAtTSA8YmVzYXI+ICAgIGJ1YXQgYmFnaWFuIG1lbW9yaSB0ZXJiYWdpIGRhbGFtIHVrdXJhbiA8YmVzYXI+XG4iCisjfiAiICAtUyA8bnNlbXM+ICAgIGJ1YXQgcmFuZ2thaWFuIHNlbWFwaG9yIGRlbmdhbiA8bnNlbXM+IGVsZW1lblxuIgorI34gIiAgLVEgICAgICAgICAgICBidWF0IGFudHJpYW4gcGVzYW5cbiIKKyN+ICIgIC1wIDxtb2RlPiAgICAgaWppbiB1bnR1ayBzdW1iZXIgZGF5YSAoYmFrdSBhZGFsYWggMDY0NClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGlwY21rKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dCBsaWhhdCBpcGNtaygxKS5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImNhbm5vdCByZW1vdmUgaWQgJXMgKCVzKVxuIgorI34gbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5naGFwdXMgaWQgJXMgKCVzKVxuIgorCisjfiBtc2dpZCAiZGVwcmVjYXRlZCB1c2FnZTogJXMge3NobSB8IG1zZyB8IHNlbX0gaWQgLi4uXG4iCisjfiBtc2dzdHIgInBlbmdndW5hYW4geWFuZyBzdWRhaCBkaXRpbmdnYWw6ICVzIHtzaG0gfCBtc2cgfCBzZW19IGlkIC4uLlxuIgorCisjfiBtc2dpZCAiIgorI34gInVzYWdlOiAlcyBbIFstcSBtc3FpZF0gWy1tIHNobWlkXSBbLXMgc2VtaWRdXG4iCisjfiAiICAgICAgICAgIFstUSBtc2drZXldIFstTSBzaG1rZXldIFstUyBzZW1rZXldIC4uLiBdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJwZW5nZ3VuYWFuOiAlcyBbIFstcSBtc2dpZF0gWy1tIHNobWlkXSBbLXMgc2VtaWRdXG4iCisjfiAiICAgICAgICAgICAgICAgWy1RIG1zZ2tleV0gWy1NIHNobWtleV0gWy1TIHNlbWtleV0gLi4uIF1cbiIKKworI34gbXNnaWQgInVua25vd24gZXJyb3IgaW4ga2V5IgorI34gbXNnc3RyICJrZXNhbGFoYW4gdGlkYWsgZGlrZXRhaHVpIGRhbGFtIGt1bmNpIgorCisjfiBtc2dpZCAidW5rbm93biBlcnJvciBpbiBpZCIKKyN+IG1zZ3N0ciAiZXJyb3IgdGlkYWsgZGlrZXRhaHVpIGRhbGFtIGlkIgorCisjfiBtc2dpZCAiJXM6ICVzICglcylcbiIKKyN+IG1zZ3N0ciAiJXM6ICVzICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgWyAtZGhWNzhuZW8xMiBdIFsgLXMgPHNwZWVkPiBdIFsgLWkgWy1dPGlmbGFnPiBdIDxsZGlzYz4gPGRldmljZT5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBlbmdndW5hYW46ICVzIFsgLWRoVjc4bmVvMTIgXSBbIC1zIDxrZWNlcGF0YW4+IF0gPGxkaXNjPiA8cGVyYW5na2F0PlxuIgorCisjfiBtc2dpZCAibGRhdHRhY2ggZnJvbSAlc1xuIgorI34gbXNnc3RyICJsZGF0dGFjaCBkYXJpICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorI34gIiAtcCwgLS1wYXJzZSA8bGlzdD4gIHByaW50IG91dCBhIHBhcnNhYmxlIGluc3RlYWQgb2YgYSByZWFkYWJsZSBmb3JtYXRcbiIKKyN+ICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiB1c2UgZGlyZWN0b3J5IERJUiBhcyBzeXN0ZW0gcm9vdFxuIgorI34gIiAteCwgLS1oZXggICAgICAgICAgIHByaW50IGhleGFkZWNpbWFsIG1hc2tzIHJhdGhlciB0aGFuIGxpc3RzIG9mIENQVXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkluZm9ybWFzaSBwZW1iYW50dSBhcnNpdGVrdHVyIENQVVxuIgorI34gIlxuIgorI34gIiAgLWgsIC0taGVscCAgICAgaW5mb3JtYXNpIHBlbmdndW5hYW5cbiIKKyN+ICIgIC1wLCAtLXBhcnNlICAgIHRhbXBpbGthbiBkYWxhbSBiZW50dWsgeWFuZyBkYXBhdCBkaWFtYmlsIGRhcmlwYWRhIGZvcm1hdCB0ZXJjZXRhay5cbiIKKyN+ICIgIC1zLCAtLXN5c3Jvb3QgICBndW5ha2FuIGRpcmVrdG9yaSBzZWJhZ2FpIHNpc3RlbSByb290IGJhcnUuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IFVzYWdlOiBcIiVzIFtvcHRpb25zXVxuIgorI34gIlx0IC1tIDxtYXBmaWxlPiAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCisjfiAiXHRcdFx0XHQgIFwiJXNcIilcbiIKKyN+ICJcdCAtcCA8cHJvLWZpbGU+IChkZWZhdWx0OiBcIiVzXCIpXG4iCisjfiAiXHQgLU0gPG11bHQ+ICAgICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorI34gIlx0IC1pICAgICAgICAgICAgcHJpbnQgb25seSBpbmZvIGFib3V0IHRoZSBzYW1wbGluZyBzdGVwXG4iCisjfiAiXHQgLXYgICAgICAgICAgICBwcmludCB2ZXJib3NlIGRhdGFcbiIKKyN+ICJcdCAtYSAgICAgICAgICAgIHByaW50IGFsbCBzeW1ib2xzLCBldmVuIGlmIGNvdW50IGlzIDBcbiIKKyN+ICJcdCAtYiAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgaGlzdG9ncmFtLWJpbiBjb3VudHNcbiIKKyN+ICJcdCAtcyAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgY291bnRlcnMgd2l0aGluIGZ1bmN0aW9uc1xuIgorI34gIlx0IC1yICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorI34gIlx0IC1uICAgICAgICAgICAgZGlzYWJsZSBieXRlIG9yZGVyIGF1dG8tZGV0ZWN0aW9uXG4iCisjfiAiXHQgLVYgICAgICAgICAgICBwcmludCB2ZXJzaW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogUGVuZ2d1bmFhbjogXCIlcyBbcGlsaWhhbl1cbiIKKyN+ICJcdCAtbSA8bWFwZmlsZT4gKGRlZmF1bHRzOiBcIiVzXCIgZGFuIFxuIgorI34gIlx0XHRcdFx0ICBcIiVzXCIpXG4iCisjfiAiXHQgLXAgPHByby1maWxlPiAoZGVmYXVsdDogXCIlc1wiKVxuIgorI34gIlx0IC1NIDxtdWx0PiAgICAgc2V0IHRoZSBwcm9maWxpbmcgbXVsdGlwbGllciBrZSA8bXVsdD5cbiIKKyN+ICJcdCAtaSAgICAgICAgICAgIHRhbXBpbGthbiBpbmZvIGhhbnlhIG1lbmdlbmFpIHNhbXBsaW5nIHN0ZXBcbiIKKyN+ICJcdCAtdiAgICAgICAgICAgIHRhbXBpbGthbiB2ZXJib3NlIGRhdGFcbiIKKyN+ICJcdCAtYSAgICAgICAgICAgIHRhbXBpbGthbiBzZWx1cnVoIHN5bWJvbHMsIG1lc2tpcHVuIHRlcmhpdHVuZyAwXG4iCisjfiAiXHQgLWIgICAgICAgICAgICB0YW1waWxrYW4gaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorI34gIlx0IC1zICAgICAgICAgICAgdGFtcGlsa2FuIGluZGl2aWR1YWwgY291bnRlcnMgZGlkYWxhbSBmdW5nc2lcbiIKKyN+ICJcdCAtciAgICAgICAgICAgIHJlc2V0IHNlbHVydWggY291bnRlcnMgKGhhbnlhIHJvb3QpXG4iCisjfiAiXHQgLW4gICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIKKyN+ICJcdCAtViAgICAgICAgICAgIHRhbXBpbGthbiB2ZXJzaSBkYW4ga2VsdWFyXG4iCisKKyN+IG1zZ2lkICJyZWFkcHJvZmlsZTogZXJyb3Igd3JpdGluZyAlczogJXNcbiIKKyN+IG1zZ3N0ciAicmVhZHByb2ZpbGU6IGVycm9yIGRhbGFtIG1lbnVsaXMgJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBydGN3YWtlKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dCBsaWhhdCBuYW1laSgxKS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgc2V0YXJjaCg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlVudHVrIGluZm9ybWFzaSBsZWJpaCBsYW5qdXQgbGloYXQgc2V0YXJjaCg4KS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICIlczogJXNcbiIKKyN+ICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogJXNcbiIKKyN+ICJDb2JhIGAlcyAtLWhlbHAnIHVudHVrIGluZm9ybWFzaSBsZWJpaCBsYW5qdXQuXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgcHJvZ3JhbSBbYXJnIC4uLl1cbiIKKyN+IG1zZ3N0ciAicGVuZ2d1bmFhbjogJXMgcHJvZ3JhbSBbYXJnIC4uLl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgPGRldmljZT4gWyAtaSA8SVJRPiB8IC10IDxUSU1FPiB8IC1jIDxDSEFSUz4gfCAtdyA8V0FJVD4gfCBcbiIKKyN+ICIgICAgICAgICAgLWEgW29ufG9mZl0gfCAtbyBbb258b2ZmXSB8IC1DIFtvbnxvZmZdIHwgLXEgW29ufG9mZl0gfCAtcyB8IFxuIgorI34gIiAgICAgICAgICAtVCBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQZW5nZ3VuYWFuOiAlcyA8cGVyYW5na2F0PiBbIC1pIDxJUlE+IHwgLXQgPFRJTUU+IHwgLWMgPENIQVJTPiB8IC13IDxXQUlUPiB8IFxuIgorI34gIiAgICAgICAgICAgICAgIC1hIFtvbnxvZmZdIHwgLW8gW255YWxhfG1hdGldIHwgLUMgW255YWxhfG1hdGldIHwgLXEgW255YWxhfG1hdGldIHwgLXMgfCBcbiIKKyN+ICIgICAgICAgICAgICAgICAtVCBbbnlhbGF8bWF0aV0gXVxuIgorCisjfiBtc2dpZCAiJXM6IGJhZCB2YWx1ZVxuIgorI34gbXNnc3RyICIlczogbmlsYWkgdGlkYWsgYmFpa1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB1bnNoYXJlKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dCBsaWhhdCB1bnNoYXJlKDEpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNsb3NpbmcgZmlsZSAlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkVycm9yIGRhbGFtIG1lbnV0dXAgZmlsZVxuIgorCisjfiBtc2dpZCAiU29ycnkgWW91IG1heSBjaGFuZ2UgdGhlIFRhZyBvZiBub24tZW1wdHkgcGFydGl0aW9ucy5cbiIKKyN+IG1zZ3N0ciAiTWFhZiBBbmRhIG11bmdraW4gdGVsYWggbWVydWJhaCBUYWcgZGFyaSBzZWJ1YWggcGFydGlzaSB5YW5nIHRpZGFrIGtvc29uZy5cbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyAiCisjfiBtc2dzdHIgIlBlcmluZ2F0YW46IHBhcnRpc2kgJXMgIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9ucyAlcyAiCisjfiBtc2dzdHIgIlBlcmluZ2F0YW46IHBhcnRpc2kgJXMgIgorCisjfiBtc2dpZCAiYW5kICVzIG92ZXJsYXBcbiIKKyN+IG1zZ3N0ciAiZGFuICVzIG92ZXJsYXBcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICAlcyBbb3B0aW9uc10gZGV2aWNlIFsuLi5dXG4iCisjfiBtc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRGV2aWNlIGlzIHNvbWV0aGluZyBsaWtlIC9kZXYvaGRhIG9yIC9kZXYvc2RhXG4iCisjfiBtc2dzdHIgInBlcmFuZ2thdDogc2VzdWF0dSBzZXBlcnRpIC9kZXYvaGRhIGF0YXUgL2Rldi9zZGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlMSRzIC1hIFstZV0gWy12XSBbLWZdICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiICUxJHMgWy1wIHByaW9yaXR5XSBbLWRdIFstdl0gWy1mXSA8c3BlY2lhbD4gIGVuYWJsZSBnaXZlbiBzd2FwXG4iCisjfiAiICUxJHMgLXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHVzYWdlIHN1bW1hcnlcbiIKKyN+ICIgJTEkcyAtaCAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGhlbHBcbiIKKyN+ICIgJTEkcyAtViAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHZlcnNpb25cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBlbmdndW5hYW46XG4iCisjfiAiICUxJHMgLWEgWy1lXSBbLXZdIFstZl0gICAgICAgICAgICAgbWVuZ2FrdGlma2FuIHNlbHVydWggc3dhcCBkYXJpIC9ldGMvZnN0YWJcbiIKKyN+ICIgJTEkcyBbLXAgcHJpb3JpdGFzXSBbLXZdIFstZl0gPHNwZXNpYWw+IG1lbmdha3RpZmthbiBzd2FwIHlhbmcgZGliZXJpa2FuXG4iCisjfiAiICUxJHMgLXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVuYW1waWxrYW4gcmluZ2thc2FuIHBlbmd1bmFhbiBzd2FwXG4iCisjfiAiICUxJHMgLWggICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVuYW1waWxrYW4gYmFudHVhblxuIgorI34gIiAlMSRzIC1WICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbmFtcGlsa2FuIHZlcnNpXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICUxJHMgLWEgWy12XSAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBzd2Fwc1xuIgorI34gIiAlMSRzIFstdl0gPHNwZWNpYWw+ICAgICAgICAgICAgICAgZGlzYWJsZSBnaXZlbiBzd2FwXG4iCisjfiAiICUxJHMgLWggICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGhlbHBcbiIKKyN+ICIgJTEkcyAtViAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdmVyc2lvblxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGVuZ2d1bmFhbjpcbiIKKyN+ICIgJTEkcyAtYSBbLXZdICAgICAgICAgICAgICAgICAgICAgIG1lbm9uYWt0aWZrYW4gc2VsdXJ1aCBzd2Fwc1xuIgorI34gIiAlMSRzIFstdl0gPHNwZXNpYWw+ICAgICAgICAgICAgICAgbWVub25ha3RpZmthbiBzd2FwIHlhbmcgZGliZXJpa2FuXG4iCisjfiAiICUxJHMgLWggICAgICAgICAgICAgICAgICAgICAgICAgICBtZW5hbXBpbGthbiBiYW50dWFuXG4iCisjfiAiICUxJHMgLVYgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW5hbXBpbGthbiB2ZXJzaVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gPGZpbGVuYW1lPlxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gPG5hbWEgYmVya2FzPlxuIgorI34gIlxuIgorI34gIlBpbGloYW46XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc11cbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gbXNnc3RyICIiCisjfiAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIDxuYW1hIGJlcmthcz5cbiIKKyN+ICJcbiIKKyN+ICJQaWxpaGFuOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorI34gbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gcGVyYW5na2F0IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgJXMgLVZcbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIC1rXG4iCisKKyN+IG1zZ2lkICIgICVzIC0tcmVwb3J0IFtkZXZpY2VzXVxuIgorI34gbXNnc3RyICIgICVzIC0tcmVwb3J0IFtwZXJhbmdrYXRdXG4iCisKKyN+IG1zZ2lkICIgICVzIFstdnwtcV0gY29tbWFuZHMgZGV2aWNlc1xuIgorI34gbXNnc3RyICIgICVzIFstdnwtcV0gcGVyaW50YWggcGVyYW5na2F0XG4iCisKKyN+IG1zZ2lkICIlczogY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbWJ1a2EgJXNcbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC1uIF0gZGV2aWNlXG4iCisjfiBtc2dzdHIgInBlbmdndW5hYW46ICVzIFsgLW4gXSBwZXJhbmdrYXRcbiIKKworI34gbXNnaWQgIm1hbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgIm1hbGxvYyBnYWdhbCIKKworI34gbXNnaWQgIiVzOiBvcHRpb24gcGFyc2UgZXJyb3JcbiIKKyN+IG1zZ3N0ciAiJXM6IG9wdGlvbiBwYXJzZSBlcnJvclxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsteF0gWy1kIDxudW0+XSBpc285NjYwLWltYWdlXG4iCisjfiBtc2dzdHIgIlBlbmdndW5hYW46ICVzIFsteF0gWy1kIDxudW0+XSBpc285NjYwLWltYWdlXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFstdl0gWy1OIG5yLW9mLWlub2Rlc10gWy1WIHZvbHVtZS1uYW1lXVxuIgorI34gIiAgICAgICBbLUYgZnNuYW1lXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorI34gbXNnc3RyICIiCisjfiAiUGVuZ2d1bmFhbjogJXMgWy12XSBbLU4gbnItb2YtaW5vZGVzXSBbLVYgbmFtYS12b2x1bWVdXG4iCisjfiAiICAgICAgICAgICAgWy1GIGZzbmFtZV0gcGVyYW5na2F0IFtibG9jay1jb3VudF1cbiIKKworI34gbXNnaWQgInVuYWJsZSB0byBzdGF0ICVzIgorI34gbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1wZXJvbGVoIHN0YXRpc3RpayAlcyIKKworI34gbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgc2VjdG9yIHNpemUgZm9yICVzIgorI34gbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5lbnR1a2FuIHVrdXJhbiBzZWt0b3IgZGFyaSAlcyIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWNdIFstcFBBR0VTWl0gWy1MIGxhYmVsXSBbLVUgVVVJRF0gL2Rldi9uYW1lIFtibG9ja3NdXG4iCisjfiBtc2dzdHIgIlBlbmdndW5hYW46ICVzIFstY10gWy1wUEFHRVNaXSBbLUwgbGFiZWxdIFstVSBVVUlEXSAvZGV2L25hbWUgW2Jsb2tdXG4iCisKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5IgorI34gbXNnc3RyICJLZWt1cmFuZ2FuIG1lbW9yeSIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgICVzICIKKyN+IG1zZ3N0ciAiIgorI34gIlBlbmdndW5hYW46XG4iCisjfiAiICAlcyAiCisKKyN+IG1zZ2lkICJNZW51IHdpdGhvdXQgZGlyZWN0aW9uLiBEZWZhdWx0aW5nIHRvIGhvcml6b250YWwuIgorI34gbXNnc3RyICJNZW51IHRhbnBhIGRpcmVrc2kuIERlZmF1bHQga2UgYXJhaCBob3Jpc29udGFsLiIKKworI34gbXNnaWQgIiIKKyN+ICJDb21tYW5kIGFjdGlvblxuIgorI34gIiAgICVzXG4iCisjfiAiICAgcCAgIHByaW1hcnkgcGFydGl0aW9uICgxLTQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJBa3NpIHBlcmludGFoXG4iCisjfiAiICAgJXNcbiIKKyN+ICIgICBwICAgcGFydGlzaSBwcmltYXJ5ICgxLTQpXG4iCisKKyN+IG1zZ2lkICIgICAgLXMgW29yIC0tc2hvdy1zaXplXTogbGlzdCBzaXplIG9mIGEgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICAgLXMgW2F0YXUgLS1zaG93LXNpemVdOiB0YW1waWxrYW4gdWt1cmFuIHNldGlhcCBwYXJ0aXNpIgorCisjfiBtc2dpZCAiICAgIC1kIFtvciAtLWR1bXBdOiAgICAgIGlkZW0sIGJ1dCBpbiBhIGZvcm1hdCBzdWl0YWJsZSBmb3IgbGF0ZXIgaW5wdXQiCisjfiBtc2dzdHIgIiAgICAtZCBbYXRhdSAtLWR1bXBdOiAgICBpZGVtLCB0ZXRhcGkgZGFsYW0gc2VidWFoIGZvcm1hdCB5YW5nIHNlc3VhaSB1bnR1ayBpbnB1dCBzZWxhbmp1dG55YSIKKworI34gbXNnaWQgIiAgICAtaSBbb3IgLS1pbmNyZW1lbnRdOiBudW1iZXIgY3lsaW5kZXJzIGV0Yy4gZnJvbSAxIGluc3RlYWQgb2YgZnJvbSAwIgorI34gbXNnc3RyICIgICAgLWkgW2F0YXUgLS1pbmNyZW1lbnRdOiBub21vciBjeWxpbmRlcnMgZXRjLiBkYXJpIDEgZGFyaSBwYWRhIGRhcmkgMCIKKworI34gbXNnaWQgIiAgICAtdVMsIC11QiwgLXVDLCAtdU06ICBhY2NlcHQvcmVwb3J0IGluIHVuaXRzIG9mIHNlY3RvcnMvYmxvY2tzL2N5bGluZGVycy9NQiIKKyN+IG1zZ3N0ciAiICAgIC11UywgLXVCLCAtdUMsIC11TTogIG1lbmVyaW1hL21lbGFwb3JrYW4gZGFsYW0gc2F0dWFuIGRhcmkgc2VrdG9yL2Jsb2NrL2N5bGluZGVycy9NQiIKKworI34gbXNnaWQgIiAgICAtVCBbb3IgLS1saXN0LXR5cGVzXTpsaXN0IHRoZSBrbm93biBwYXJ0aXRpb24gdHlwZXMiCisjfiBtc2dzdHIgIiAgICAtVCBbYXRhdSAtLWxpc3QtdHlwZXNdOnRhbXBpbGthbiBkYWZ0YXIgZGFyaSB0aXBlIHBhcnRpc2kgeWFuZyBkaWtldGFodWkiCisKKyN+IG1zZ2lkICIgICAgLUQgW29yIC0tRE9TXTogICAgICAgZm9yIERPUy1jb21wYXRpYmlsaXR5OiB3YXN0ZSBhIGxpdHRsZSBzcGFjZSIKKyN+IG1zZ3N0ciAiICAgIC1EIFthdGF1IC0tRE9TXTogICAgIHVudHVrIERPUy1rb21wYXRpYmlsaXRhczogbWVtYnVhdCBzZWRpa2l0IHJ1YW5nIgorCisjfiBtc2dpZCAiICAgIC1SIFtvciAtLXJlLXJlYWRdOiAgIG1ha2Uga2VybmVsIHJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIiAgICAtUiBbYXRhdSAtLXJlLXJlYWRdICBtZW1idWF0IGtlcm5lbCBtZW1iYWNhIGtlbWJhbGkgdGFiZWwgcGFydGlzaSIKKworI34gbXNnaWQgIiAgICAtTyBmaWxlIDogICAgICAgICAgICBzYXZlIHRoZSBzZWN0b3JzIHRoYXQgd2lsbCBiZSBvdmVyd3JpdHRlbiB0byBmaWxlIgorI34gbXNnc3RyICIgICAgLU8gZmlsZSA6ICAgICAgICAgICAgbWVueWltcGFuIHNlY3RvcnMgeWFuZyBha2FuIGRpdHVsaXMga2UgZmlsZSIKKworI34gbXNnaWQgIiAgICAtSSBmaWxlIDogICAgICAgICAgICByZXN0b3JlIHRoZXNlIHNlY3RvcnMgYWdhaW4iCisjfiBtc2dzdHIgIiAgICAtSSBmaWxlIDogICAgICAgICAgICBtZW5nZW1iYWxpa2FuIHNla3RvciBpdHUga2VtYmFsaSIKKworI34gbXNnaWQgIiAgICAtdiBbb3IgLS12ZXJzaW9uXTogICBwcmludCB2ZXJzaW9uIgorI34gbXNnc3RyICIgICAgLXYgW2F0YXUgLS12ZXJzaW9uXTogdGFtcGlsa2FuIHZlcnNpIGRhcmkgYXBsaWthc2kiCisKKyN+IG1zZ2lkICIgICAgLT8gW29yIC0taGVscF06ICAgICAgcHJpbnQgdGhpcyBtZXNzYWdlIgorI34gbXNnc3RyICIgICAgLT8gW2F0YXUgLS1oZWxwXTogICAgdGFtcGlsa2FuIHBlc2FuIGluaSIKKworI34gbXNnaWQgIiAgICAtZyBbb3IgLS1zaG93LWdlb21ldHJ5XTogcHJpbnQgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIGdlb21ldHJ5IgorI34gbXNnc3RyICIgICAgLWcgW2F0YXUgLS1zaG93LWdlb21ldHJ5XTogdGFtcGlsa2FuIGlkZSBrZXJuZWwgbWVuZ2VuYWkgZ2VvbWV0cmkiCisKKyN+IG1zZ2lkICIgICAgLUwgIFtvciAtLUxpbnV4XTogICAgICBkbyBub3QgY29tcGxhaW4gYWJvdXQgdGhpbmdzIGlycmVsZXZhbnQgZm9yIExpbnV4IgorI34gbXNnc3RyICIgICAgLUwgIFthdGF1IC0tTGludXhdOiAgICBqYW5nYW4gbWVuZ2tvbXBsYWluIG1lbmdlbmFpIHNlc3VhdHUgeWFuZyB0aWRhayBiZXJodWJ1bmdhbiBkZW5nYW4gTGludXgiCisKKyN+IG1zZ2lkICIgICAgWW91IGNhbiBvdmVycmlkZSB0aGUgZGV0ZWN0ZWQgZ2VvbWV0cnkgdXNpbmc6IgorI34gbXNnc3RyICIgICAgQW5kYSBkYXBhdCBtZW1ha3NhIHBlbmRldGVrc2lhbiBnZW9tZXRyaSBkZW5nYW4gbWVuZ2d1bmFrYW46IgorCisjfiBtc2dpZCAiICAgIC1mICBbb3IgLS1mb3JjZV06ICAgICAgZG8gd2hhdCBJIHNheSwgZXZlbiBpZiBpdCBpcyBzdHVwaWQiCisjfiBtc2dzdHIgIiAgICAtZiAgW2F0YXUgLS1mb3JjZV06ICAgIGxha3VrYW4gc2VwZXJ0aSB5YW5nIFNBWUEga2F0YWthbiwgbWVza2lwdW4gaW5pIG1lcnVwYWthbiBwZXJidWF0YW4geWFuZyBib2RvaCIKKworI34gbXNnaWQgIkNvdWxkbid0IGFsbG9jYXRlIG1lbW9yeSBmb3IgZmlsZXN5c3RlbSB0eXBlc1xuIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW5nYWxva2FzaWthbiBtZW1vcmkgdW50dWsgdGlwZSBzaXN0ZW0gYmVya2FzXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogZnNjayBbLUFNTlBSVFZdIFsgLUMgWyBmZCBdIF0gWy10IGZzdHlwZV0gW2ZzLW9wdGlvbnNdIFtmaWxlc3lzIC4uLl1cbiIKKyN+IG1zZ3N0ciAiUGVuZ2d1bmFhbjogZnNjayBbLUFNTlBSVFZdIFsgLUMgWyBmZCBdIF0gWy10IGZzdHlwZV0gW2ZzLW9wdG9pbnNdIFtmaWxlc3lzIC4uLl1cbiIKKworI34gbXNnaWQgIkNvdWxkbid0IG9wZW4gJXM6ICVzXG4iCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbWJ1a2EgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJmc2NrIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAiZnNjayBkYXJpICVzXG4iCisKKyN+IG1zZ2lkICIlczogVW5hYmxlIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgZnNja19wYXRoXG4iCisjfiBtc2dzdHIgIiVzOiBUaWRhayBkYXBhdCBtZW5nYWxva2FzaWthbiBtZW1vcmkgdW50dWsgZnNja19wYXRoXG4iCisKKyN+IG1zZ2lkICJUcnkgYGdldG9wdCAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICJDb2JhIGBnZXRvcHQgLS1oZWxwJyB1bnR1ayBpbmZvcm1hc2kgbGViaWggbGFuanV0LlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6IGdldG9wdCBvcHRzdHJpbmcgcGFyYW1ldGVyc1xuIgorI34gbXNnc3RyICJQZW5nZ3VuYWFuOiBnZXRvcHQgb3B0c3RyaW5nIHBhcmFtZXRlcnNcbiIKKworI34gbXNnaWQgIiAgICAgICBnZXRvcHQgW29wdGlvbnNdIFstLV0gb3B0c3RyaW5nIHBhcmFtZXRlcnNcbiIKKyN+IG1zZ3N0ciAiICAgICAgIGdldG9wdCBbcGlsaWhhbl0gWy0tXSBvcHRzdHJpbmcgcGFyYW1ldGVyc1xuIgorCisjfiBtc2dpZCAiZ2V0b3B0IChlbmhhbmNlZCkgMS4xLjRcbiIKKyN+IG1zZ3N0ciAiZ2V0b3B0IChkaXRpbmdrYXRrYW4pIDEuMS40XG4iCisKKyN+IG1zZ2lkICIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pXG4iCisjfiBtc2dzdHIgIihEaXBlcmtpcmFrYW46IGBVVEMnIGF0YXUgYExPS0FMJyBhdGF1IGtvc29uZy4pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gImh3Y2xvY2sgLSBxdWVyeSBhbmQgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayAoUlRDKVxuIgorI34gIlxuIgorI34gIlVzYWdlOiBod2Nsb2NrIFtmdW5jdGlvbl0gW29wdGlvbnMuLi5dXG4iCisjfiAiXG4iCisjfiAiRnVuY3Rpb25zOlxuIgorI34gIiAgLWggfCAtLWhlbHAgICAgICAgICBzaG93IHRoaXMgaGVscFxuIgorI34gIiAgLXIgfCAtLXNob3cgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCByZXN1bHRcbiIKKyN+ICIgICAgICAgLS1zZXQgICAgICAgICAgc2V0IHRoZSBydGMgdG8gdGhlIHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyN+ICIgIC1zIHwgLS1oY3Rvc3lzICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAgLXcgfCAtLXN5c3RvaGMgICAgICBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIHRvIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lXG4iCisjfiAiICAgICAgIC0tc3lzdHogICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgYmFzZWQgb24gdGhlIGN1cnJlbnQgdGltZXpvbmVcbiIKKyN+ICIgICAgICAgLS1hZGp1c3QgICAgICAgYWRqdXN0IHRoZSBydGMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCBzaW5jZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICB0aGUgY2xvY2sgd2FzIGxhc3Qgc2V0IG9yIGFkanVzdGVkXG4iCisjfiAiICAgICAgIC0tZ2V0ZXBvY2ggICAgIHByaW50IG91dCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWVcbiIKKyN+ICIgICAgICAgLS1zZXRlcG9jaCAgICAgc2V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZSB0byB0aGUgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGdpdmVuIHdpdGggLS1lcG9jaFxuIgorI34gIiAgICAgICAtLXByZWRpY3QgICAgICBwcmVkaWN0IHJ0YyByZWFkaW5nIGF0IHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyN+ICIgIC12IHwgLS12ZXJzaW9uICAgICAgcHJpbnQgb3V0IHRoZSB2ZXJzaW9uIG9mIGh3Y2xvY2sgdG8gc3Rkb3V0XG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczogXG4iCisjfiAiICAtdSB8IC0tdXRjICAgICAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIFVUQ1xuIgorI34gIiAgICAgICAtLWxvY2FsdGltZSAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBsb2NhbCB0aW1lXG4iCisjfiAiICAtZiB8IC0tcnRjPXBhdGggICAgIHNwZWNpYWwgL2Rldi8uLi4gZmlsZSB0byB1c2UgaW5zdGVhZCBvZiBkZWZhdWx0XG4iCisjfiAiICAgICAgIC0tZGlyZWN0aXNhICAgIGFjY2VzcyB0aGUgSVNBIGJ1cyBkaXJlY3RseSBpbnN0ZWFkIG9mICVzXG4iCisjfiAiICAgICAgIC0tYmFkeWVhciAgICAgIGlnbm9yZSBydGMncyB5ZWFyIGJlY2F1c2UgdGhlIGJpb3MgaXMgYnJva2VuXG4iCisjfiAiICAgICAgIC0tZGF0ZSAgICAgICAgIHNwZWNpZmllcyB0aGUgdGltZSB0byB3aGljaCB0byBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiICAgICAgIC0tZXBvY2g9eWVhciAgIHNwZWNpZmllcyB0aGUgeWVhciB3aGljaCBpcyB0aGUgYmVnaW5uaW5nIG9mIHRoZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgaGFyZHdhcmUgY2xvY2sncyBlcG9jaCB2YWx1ZVxuIgorI34gIiAgICAgICAtLW5vYWRqZmlsZSAgICBkbyBub3QgYWNjZXNzIC9ldGMvYWRqdGltZS4gUmVxdWlyZXMgdGhlIHVzZSBvZlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWVcbiIKKyN+ICIgICAgICAgLS1hZGpmaWxlPXBhdGggc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZSAoZGVmYXVsdCBpc1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAvZXRjL2FkanRpbWUpXG4iCisjfiAiICAgICAgIC0tdGVzdCAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IGFjdHVhbGx5IHVwZGF0aW5nIHRoZSBoYXJkd2FyZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBjbG9jayBvciBhbnl0aGluZyBlbHNlXG4iCisjfiAiICAtRCB8IC0tZGVidWcgICAgICAgIGRlYnVnIG1vZGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gImh3Y2xvY2sgLSBtZWxpaGF0IGRhbiBtZW5zZXQgaGFyZHdhcmUgY2xvY2sgKFJUQylcbiIKKyN+ICJcbiIKKyN+ICJQZW5nZ3VuYWFuOiBod2Nsb2NrIFtmdW5nc2ldIFtwaWxpaGFuLi4uXVxuIgorI34gIlxuIgorI34gIkZ1bmdzaTpcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgdGFtcGlsa2FuIGJhbnR1YW4gaW5pXG4iCisjfiAiICAtciB8IC0tc2hvdyAgICAgICAgIGJhY2EgaGFyZHdhcmUgY2xvY2sgZGFuIHRhbXBpbGthbiBoYXNpbG55YVxuIgorI34gIiAgICAgICAtLXNldCAgICAgICAgICBzZXQgcnRjIGtlIHdha3R1IHlhbmcgdGVsYWggZGliZXJpa2FuIGRlbmdhbiAtLWRhdGVcbiIKKyN+ICIgIC1zIHwgLS1oY3Rvc3lzICAgICAgc2V0IHdha3R1IHN5c3RlbSBkYXJpIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiICAtdyB8IC0tc3lzdG9oYyAgICAgIHNldCBoYXJkd2FyZSBjbG9jayBrZSB3YWt0dSBzeXN0ZW0gc2FhdCBpbmlcbiIKKyN+ICIgICAgICAgLS1zeXN0eiAgICAgICAgc2V0IHdha3R1IHNpc3RlbSBiZXJkYXNhcmthbiB6b25hIHdha3R1IHNla2FyYW5nXG4iCisjfiAiICAgICAgIC0tYWRqdXN0ICAgICAgIGFkanVzdCB0aGUgcnRjIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgc2luY2UgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIHRoZSBjbG9jayB3YXMgbGFzdCBzZXQgb3IgYWRqdXN0ZWRcbiIKKyN+ICIgICAgICAgLS1nZXRlcG9jaCAgICAgdGFtcGlsa2FuIG5pbGFpIGVwb2NoIGRhcmkga2VybmVsIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiICAgICAgIC0tc2V0ZXBvY2ggICAgIHNldCBuaWxhaSBlcG9jaCBrZXJuZWwgaGFyZHdhcmUgY2xvY2sga2UgbmlsYWkgeWFuZyBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgZGliZXJpa2FuIG9sZWggLS1lcG9jaFxuIgorI34gIiAgICAgICAtLXZlcnNpb24gICAgICB0YW1waWxrYW4gdmVyc2kgZGFyaSBod2Nsb2NrIGtlIHN0ZG91dFxuIgorI34gIlxuIgorI34gIlBpbGloYW46IFxuIgorI34gIiAgLXUgfCAtLXV0YyAgICAgICAgICBoYXJkd2FyZSBjbG9jayBkaXNpbXBhbiBkYWxhbSBjb29yZGluYXQgdW5pdmVyc2FsIHRpbWVcbiIKKyN+ICIgICAgICAgLS1sb2NhbHRpbWUgICAgaGFyZHdhcmUgY2xvY2sgZGlzaW1wYW4gZGFsYW0gbG9jYWwgdGltZVxuIgorI34gIiAgLWYgfCAtLXJ0Yz1qYWx1ciAgICBtZW5nZ3VuYWthbiBiZXJrYXMgL2Rldi4uLiBzcGVzaWFsIGRhcmlwYWRhIGJha3VcbiIKKyN+ICIgICAgICAgLS1kaXJlY3Rpc2EgICAgYWtzZXMgSVNBIGJ1cyBzZWNhcmEgbGFuZ3N1bmcgZGFyaSBwYWRhICVzXG4iCisjfiAiICAgICAgIC0tYmFkeWVhciAgICAgIGFiYWlrYW4gcnRjJ3MgdGFodW4ga2FyZW4gYmlvcyBydXNha1xuIgorI34gIiAgICAgICAtLWRhdGUgICAgICAgICBzcGVzaWZpa2FzaWthbiB3YWt0dSB1bnR1ayBtZW5zZXQgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgICAgICAgLS1lcG9jaD10YWh1biAgc3Blc2lmaWthc2lrYW4gdGFodW4gZGltYW5hIGF3YWwgZGFyaSBuaWxhaSBkYXJpXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIG5pbGFpIGVwb2NoIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiICAgICAgIC0tbm9hZGpmaWxlICAgIGphbmdhbiBtZW5nYWtzZXMgZmlsZSAvZXRjL2FkanRpbWUuIERpYnV0dWhrYW4gc2FhdCBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgbWVuZ2d1bmFrYW4gcGlsaWhhbiAtLXV0YyBhdGF1IC0tbG9jYWx0aW1lLlxuIgorI34gIiAgICAgICAtLWFkamZpbGU9cGF0aCBzcGVzaWZpa2FzaWthbiBwYXRoIGtlIGJlcmthcyBhZGp1c3QgKGRlZmF1bHQgYWRhbGFoXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIC9ldGMvYWRqdGltZSlcbiIKKyN+ICIgICAgICAgLS10ZXN0ICAgICAgICAgbGFrdWthbiBhcGFwdW4ga2VjdWFsaSB0YW5wYSBtZW1wZXJiYXJ1aSBwZXJhbmdrYXQgd2FrdHVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgYXRhdSBoYWwgbGFpbm55YVxuIgorI34gIiAgLUQgfCAtLWRlYnVnICAgICAgICBtb2RlIHBlbmVsdXN1cmFuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgaW5pdHN0cmluZyIKKyN+IG1zZ3N0ciAidGlkYWsgZGFwdCBtZWxha3VrYW4gbWFsbG9jIGluaXRzdHJpbmciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbLThoaUxtc1V3XSBbLWwgbG9naW5fcHJvZ3JhbV0gWy10IHRpbWVvdXRdIFstSSBpbml0c3RyaW5nXSBbLUggbG9naW5faG9zdF0gYmF1ZF9yYXRlLC4uLiBsaW5lIFt0ZXJtdHlwZV1cbiIKKyN+ICJvclx0Wy1oaUxtd10gWy1sIGxvZ2luX3Byb2dyYW1dIFstdCB0aW1lb3V0XSBbLUkgaW5pdHN0cmluZ10gWy1IIGxvZ2luX2hvc3RdIGxpbmUgYmF1ZF9yYXRlLC4uLiBbdGVybXR5cGVdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQZW5nZ3VuYWFuOiAlcyBbLThoaUxtVXddIFstbCBsb2dpbl9wcm9ncmFtXSBbLXQgdGltZW91dF0gWy1JIGluaXRzdHJpbmddIFstSCBsb2dpbl9ob3N0XSBiYXVkX3JhdGUsLi4uIGJhcmlzIFt0ZXJtdHlwZV1cbiIKKyN+ICJhdGF1XHRbLWhpTG13XSBbLWwgbG9naW5fcHJvZ3JhbV0gWy10IHRpbWVvdXRdIFstSSBpbml0c3RyaW5nXSBbLUggbG9naW5faG9zdF0gbGluZSBiYXVkX3JhdGUsIC4uLiBbdGVybXR5cGVdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFt5IHwgbl0iCisjfiBtc2dzdHIgInBlbmdndW5hYW46IG1lc2cgW3kgfCBuXVxuIgorCisjfiBtc2dpZCAiJXM6IEJBRCBFUlJPUiIKKyN+IG1zZ3N0ciAiJXM6IEJBRCBFUlJPUiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWy1uXSBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAicGVuZ2d1bmFhbjogJXMgW2ZpbGVdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2FuJ3QgcmVhZDogJXMiCisjfiBtc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW1iYWNhICVzLlxuIgorCisjfiBtc2dpZCAibG9nZ2VyOiAlczogJXMuXG4iCisjfiBtc2dzdHIgImxvZ2dlcjogJXM6ICVzLlxuIgorCisjfiBtc2dpZCAidXNhZ2U6IGxvZ2dlciBbLWlzXSBbLWYgZmlsZV0gWy1wIHByaV0gWy10IHRhZ10gWy11IHNvY2tldF0gWyBtZXNzYWdlIC4uLiBdXG4iCisjfiBtc2dzdHIgInBlbmdndW5hYW46IGxvZ2dlciBbLWlzXSBbLWYgZmlsZV0gWy1wIHByaV0gWy10IHRhZ10gWy11IHNvY2tldF0gWyBtZXNzYWdlIC4uLl1cbiIKKworI34gbXNnaWQgInVzYWdlOiBsb29rIFstZGZhXSBbLXQgY2hhcl0gc3RyaW5nIFtmaWxlXVxuIgorI34gbXNnc3RyICJwZW5nZ3VuYWFuOiBsb29wIFstZGZhXSBbLXQgY2hhcl0gc3RyaW5nIFtmaWxlXVxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeT8iCisjfiBtc2dzdHIgImtlaGFiaXNhbiBtZW1vcnk/IgorCisjfiBtc2dpZCAiY2FsbDogJXMgZnJvbSB0byBmaWxlcy4uLlxuIgorI34gbXNnc3RyICJjYWxsOiAlcyBkYXJpIGtlIGZpbGVzLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHNjcmlwdCBbLWFdIFstZV0gWy1mXSBbLXFdIFstdF0gW2ZpbGVdXG4iCisjfiBtc2dzdHIgInBlbmdndW5hYW46IHNjcmlwdCBbLWFdIFstZl0gWy1xXSBbLXRdIFtmaWxlXVxuIgorCisjfiBtc2dpZCAiJXM6IHdyaXRlIGVycm9yICVkOiAlc1xuIgorI34gbXNnc3RyICIlczogZXJyb3IgbWVudWxpcyBkaSAlZDogJXNcbiIKKworI34gbXNnaWQgIiVzOiB3cml0ZSBlcnJvcjogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGVycm9yIG1lbnVsaXM6ICVzXG4iCisKKyN+IG1zZ2lkICIgIFsgLXNub3cgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLXNub3cgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1zb2Z0c2Nyb2xsIFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1zb2Z0c2Nyb2xsIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtZm9yZWdyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtZm9yZWdyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQgXVxuIgorI34gbXNnc3RyICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQgXVxuIgorCisjfiBtc2dpZCAiICBbIC1iYWNrZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1iYWNrZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtdWxjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC11bGNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZSBdXG4iCisjfiBtc2dzdHIgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGUgXVxuIgorCisjfiBtc2dpZCAiICBbIC11bGNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtdWxjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAiICBbIC1oYmNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWhiY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLWhiY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1oYmNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLXN0YW5kb3V0IFsgYXR0ciBdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1zdGFuZG91dCBbIGF0dHIgXSBdXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1kXSBbLXAgcGlkZmlsZV0gWy1zIHNvY2tldHBhdGhdIFstVCB0aW1lb3V0XVxuIgorI34gbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbLWRdIFstcCBiZXJrYXMgcGlkXSBbLXMgamFsdXIgc29rZXRdIFstVCB3YWt0dSBoYWJpc11cbiIKKworI34gbXNnaWQgIiAgICAgICAlcyBbLXJ8dF0gWy1uIG51bV0gWy1zIHNvY2tldHBhdGhdXG4iCisjfiBtc2dzdHIgIiAgICAgICAlcyBbLXJ8dF0gWy1uIGp1bWxhaF0gWy1zIGphbHVyIHNva2V0XVxuIgorCisjfiBtc2dpZCAiICAgICAgICVzIC1rXG4iCisjfiBtc2dzdHIgIiAgICAgICAlcyAta1xuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstcl0gWy10XVxuIgorI34gbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbLXJdIFstdF1cbiIKKworI34gbXNnaWQgIndoZXJlaXMgWyAtc2JtdSBdIFsgLVNCTSBkaXIgLi4uIC1mIF0gbmFtZS4uLlxuIgorI34gbXNnc3RyICJ3aGVyZWlzIFsgLXNibXUgXSBbIC1TQk0gZGlyIC4uLiAtZiBdIG5hbWEuLi5cbiIKKworI34gbXNnaWQgInVzYWdlOiB3cml0ZSB1c2VyIFt0dHldXG4iCisjfiBtc2dzdHIgInBlbmdndW5hYW46IHdyaXRlIHBlbmdndW5hIFt0dHldXG4iCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3Qgb3BlbiAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiB0aWRhayBkYXBhdCBtZW1idWthICVzOiAlcyIKKworI34gbXNnaWQgInVua25vd25cbiIKKyN+IG1zZ3N0ciAidGlkYWsgZGlrZXRhaHVpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImlvbmljZSAtIHNldHMgb3IgZ2V0cyBwcm9jZXNzIGlvIHNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5LlxuIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAgaW9uaWNlIFsgb3B0aW9ucyBdIC1wIDxwaWQ+IFs8cGlkPiAuLi5dXG4iCisjfiAiICBpb25pY2UgWyBvcHRpb25zIF0gPGNvbW1hbmQ+IFs8YXJnPiAuLi5dXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgIC1uIDxjbGFzc2RhdGE+ICAgICAgY2xhc3MgZGF0YSAoMC03LCBsb3dlciBiZWluZyBoaWdoZXIgcHJpbylcbiIKKyN+ICIgIC1jIDxjbGFzcz4gICAgICAgICAgc2NoZWR1bGluZyBjbGFzc1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKKyN+ICIgIC10ICAgICAgICAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCisjfiAiICAtaCAgICAgICAgICAgICAgICAgIHRoaXMgaGVscFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiaW9uaWNlIC0gc2V0IGF0YXUgZGFwYXRrYW4ga2VsYXMgZGFuIHByaW9yaXRhcyBhbnRyaWFuIGRhbGFtIHByb3Nlcy5cbiIKKyN+ICJcbiIKKyN+ICJQZW5nZ3VuYWFuOlxuIgorI34gIiAgaW9uaWNlIFsgcGlsaWhhbiBdIC1wIDxwaWQ+IFs8cGlkPiAuLi5dXG4iCisjfiAiICBpb25pY2UgWyBwaWxpaGFuIF0gPHBlcmludGFoPiBbPGFyZz4gLi4uXVxuIgorI34gIlxuIgorI34gIlBpbGloYW46XG4iCisjfiAiICAtbiA8ZGF0YWtlbGFzPiAgICAgIGRhdGEga2VsYXMgKDAtNywgbGViaWggcmVuZGFoIG1lbmphZGkgcHJpb3JpdGFzIGxlYmloIHRpbmdnaSlcbiIKKyN+ICIgIC1jIDxrZWxhcz4gICAgICAgICAga2VsYXMgYW50cmlhblxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAwOiBrb3NvbmcsIDE6IHdha3R1LW55YXRhLCAyOiB1c2FoYS10ZXJiYWlrLCAzOiBkaWFtXG4iCisjfiAiICAtdCAgICAgICAgICAgICAgICAgIGFiYWlrYW4ga2VnYWdhbGFuXG4iCisjfiAiICAtaCAgICAgICAgICAgICAgICAgIGJhbnR1YW4gaW5pXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogc2h1dGRvd24gWy1ofC1yXSBbLWZxc10gW25vd3xoaDpzc3wrbWluc11cbiIKKyN+IG1zZ3N0ciAiUGVuZ2d1bmFhbjogc2h1dGRvd24gWy1ofC1yXSBbLWZxc10gW25vd3xoaDpzc3wrbWluc11cbiIKKworI34gbXNnaWQgIlNodXRkb3duIHByb2Nlc3MgYWJvcnRlZCIKKyN+IG1zZ3N0ciAiUHJvc2VzIHNodXRkb3duIGRpYmF0YWxrYW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAib25seSByb290IGNhbiBzaHV0IGEgc3lzdGVtIGRvd24uIgorI34gbXNnc3RyICIlczogSGFueWEgcm9vdCB5YW5nIGRhcGF0IG1lbWF0aWthbiBzeXN0ZW0uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidGhhdCBtdXN0IGJlIHRvbW9ycm93LCBjYW4ndCB5b3Ugd2FpdCB0aWxsIHRoZW4/IgorI34gbXNnc3RyICJJdHUgcGFzdGkgYmVzb2ssIGRhcGF0a2FoIGFuZGEgbWVudW5nZ3Ugc2FtcGFpIG5hbnRpP1xuIgorCisjfiBtc2dpZCAiZm9yIG1haW50ZW5hbmNlOyBib3VuY2UsIGJvdW5jZSIKKyN+IG1zZ3N0ciAidW50dWsgcGVyYXdhdGFuOyBib3VuY2UsIGJvdW5jZSIKKworI34gbXNnaWQgIlRoZSBzeXN0ZW0gaXMgYmVpbmcgc2h1dCBkb3duIHdpdGhpbiA1IG1pbnV0ZXMiCisjfiBtc2dzdHIgIlN5c3RlbSBha2FuIGRpbWF0aWthbiBkYWxhbSA1IG1lbml0IgorCisjfiBtc2dpZCAiTG9naW4gaXMgdGhlcmVmb3JlIHByb2hpYml0ZWQuIgorI34gbXNnc3RyICJPbGVoIGthcmVuYSBpdHUgbG9naW4gZGlsYXJhbmcuIgorCisjfiBtc2dpZCAicmVib290ZWQgYnkgJXM6ICVzIgorI34gbXNnc3RyICJkaSByZWJvb3Qgb2xlaCAlczogJXMiCisKKyN+IG1zZ2lkICJoYWx0ZWQgYnkgJXM6ICVzIgorI34gbXNnc3RyICJkaSBtYXRpa2FuIG9sZWggJXM6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldoeSBhbSBJIHN0aWxsIGFsaXZlIGFmdGVyIHJlYm9vdD8iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJLZW5hcGEgU2F5YSBtYXNpaCBoaWR1cCBzZXRlbGFoIGRpIHJlYm9vdD8iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiTm93IHlvdSBjYW4gdHVybiBvZmYgdGhlIHBvd2VyLi4uIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiU2VrYXJhbmcgYW5kYSBkYXBhdCBtZW1hdGlrYW4gcG93ZXIuLi4iCisKKyN+IG1zZ2lkICJDYWxsaW5nIGtlcm5lbCBwb3dlci1vZmYgZmFjaWxpdHkuLi5cbiIKKyN+IG1zZ3N0ciAiTWVtYW5nZ2lsIGtlcm5lbCB1bnR1ayBmYXNpbGl0YXMgcG93ZXItb2ZmLi4uXG4iCisKKyN+IG1zZ2lkICJFcnJvciBwb3dlcmluZyBvZmZcdCVzXG4iCisjfiBtc2dzdHIgIkVycm9yIG1lbWF0aWthblx0JXNcbiIKKworI34gbXNnaWQgIkV4ZWN1dGluZyB0aGUgcHJvZ3JhbSBcIiVzXCIgLi4uXG4iCisjfiBtc2dzdHIgIk1lbmphbGFua2FuIGFwbGlrYXNpIFwiJXNcIiAuLi5cbiIKKworI34gbXNnaWQgIlVSR0VOVDogYnJvYWRjYXN0IG1lc3NhZ2UgZnJvbSAlczoiCisjfiBtc2dzdHIgIlBFTlRJTkc6IHBlc2FuIGJyb2FkY2FzdCBkYXJpICVzOiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluICVkIGhvdXJzICVkIG1pbnV0ZXMiCisjfiBtc2dzdHIgIlN5c3RlbSBha2FuIGRpbWF0aWthbiBkYWxhbSAlZCBqYW0gJWQgbWVuaXQiCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAxIGhvdXIgJWQgbWludXRlcyIKKyN+IG1zZ3N0ciAiU3lzdGVtIGFrYW4gZGltYXRpa2FuIGRhbGFtIDEgamFtICVkIG1lbml0IgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gJWQgbWludXRlc1xuIgorI34gbXNnc3RyICJTeXN0ZW0gYWthbiBkaW1hdGlrYW4gZGFsYW0gJWQgbWVuaXRcbiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluIDEgbWludXRlXG4iCisjfiBtc2dzdHIgIlN5c3RlbSBha2FuIGRpbWF0aWthbiBkYWxhbSAxIG1lbml0XG4iCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBJTU1FRElBVEVMWSFcbiIKKyN+IG1zZ3N0ciAiU3lzdGVtIGFrYW4gU0VHRVJBIGRpbWF0aWthbiFcbiIKKworI34gbXNnaWQgIlx0Li4uICVzIC4uLlxuIgorI34gbXNnc3RyICJcdC4uLiAlcyAuLi5cbiIKKworI34gbXNnaWQgIkNhbm5vdCBmb3JrIGZvciBzd2Fwb2ZmLiBTaHJ1ZyEiCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbGFrdWthbiBmb3JrIHVudHVrIHN3YXBvZmYuIFNocnVnISIKKworI34gbXNnaWQgIkNhbm5vdCBleGVjIHN3YXBvZmYsIGhvcGluZyB1bW91bnQgd2lsbCBkbyB0aGUgdHJpY2suIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW5qYWxhbmthbiBzd2Fwb2ZmLCBzZW1vZ2EgdW1vdW50IGFrYW4gbWVsYWt1a2FuIHNlYnVhaCB0cmljay4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZm9yayBmb3IgdW1vdW50LCB0cnlpbmcgbWFudWFsbHkuIgorI34gbXNnc3RyICJUaWRhayBtZWxha3VrYW4gZm9yayB1bnR1ayB1bW91bnQsIGNvYmEgc2VjYXJhIG1hbnVhbC4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyAlcywgdHJ5aW5nIHVtb3VudC5cbiIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuamFsYW5rYW4gJXMsIG1lbmNvYmEgZGVuZ2FuIHVtb3VudC5cbiIKKworI34gbXNnaWQgIkNhbm5vdCBleGVjIHVtb3VudCwgZ2l2aW5nIHVwIG9uIHVtb3VudC4iCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmphbGFua2FuIHVtb3VudCwgbWVueWVyYWggZGkgdW1vdW50LiIKKworI34gbXNnaWQgIlVubW91bnRpbmcgYW55IHJlbWFpbmluZyBmaWxlc3lzdGVtcy4uLiIKKyN+IG1zZ3N0ciAiVW5tb3VudGluZyBzZWx1cnVoIGZpbGVzeXN0ZW0geWFuZyBhZGEuLi4iCisKKyN+IG1zZ2lkICJzaHV0ZG93bjogQ291bGRuJ3QgdW1vdW50ICVzOiAlc1xuIgorI34gbXNnc3RyICJzaHV0ZG93bjogVGlkYWsgZGFwYXQgbWVsYWt1a2FuIHVtb3VudCAlczogJXNcbiIKKworI34gbXNnaWQgIkJvb3RpbmcgdG8gc2luZ2xlIHVzZXIgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiQm9vdGluZyBrZSBtb2RlIHNhdHUgcGVuZ2d1bmEuXG4iCisKKyN+IG1zZ2lkICJleGVjIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICJla3Nla3VzaSBkYXJpIHNoZWxsIHNhdHUgcGVuZ2d1bmEgZ2FnYWxcbiIKKworI34gbXNnaWQgImZvcmsgb2Ygc2luZ2xlIHVzZXIgc2hlbGwgZmFpbGVkXG4iCisjfiBtc2dzdHIgImZvcmsgZGFyaSBzaGVsbCBzYXR1IHBlbmdndW5hIGdhZ2FsXG4iCisKKyN+IG1zZ2lkICJlcnJvciBvcGVuaW5nIGZpZm9cbiIKKyN+IG1zZ3N0ciAiZXJyb3IgbWVtYnVrYSBmaWZvXG4iCisKKyN+IG1zZ2lkICJlcnJvciBzZXR0aW5nIGNsb3NlLW9uLWV4ZWMgb24gL2Rldi9pbml0Y3RsIgorI34gbXNnc3RyICJlcnJvciBtZW5zZXQgY2xvc2Utb24tZXhlYyBkaSAvZGV2L2luaXRjdGwiCisKKyN+IG1zZ2lkICJlcnJvciBydW5uaW5nIGZpbmFscHJvZ1xuIgorI34gbXNnc3RyICJlcnJvciBtZW5qYWxhbmthbiBmaW5hbHByb2dcbiIKKworI34gbXNnaWQgImVycm9yIGZvcmtpbmcgZmluYWxwcm9nXG4iCisjfiBtc2dzdHIgImVycm9yIGZvcmtpbmcgZmluYWxwcm9nXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV3JvbmcgcGFzc3dvcmQuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJLYXRhIHNhbmRpIHNhbGFoLlxuIgorCisjfiBtc2dpZCAicmVzcGF3bmluZzogXCIlc1wiIHRvbyBmYXN0OiBxdWVuY2hpbmcgZW50cnlcbiIKKyN+IG1zZ3N0ciAicmVzcGF3bmluZzogXCIlc1wiIHRlcmxhbHUgY2VwYXQ6IG1lbmFoYW4gbWFzdWthblxuIgorCisjfiBtc2dpZCAiZm9yayBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAiZ2FnYWwgZm9ya1xuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gaW5pdHRhYlxuIgorI34gbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWthIGluaXR0YWJcbiIKKworI34gbXNnaWQgIm5vIFRFUk0gb3IgY2Fubm90IHN0YXQgdHR5XG4iCisjfiBtc2dzdHIgInRpZGFrIGFkYSBURVJNIGF0YXUgdGlkYWsgZGFwYXQgbWVtcGVyb2xlaCBzdGF0aXN0aWsgdHR5XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgYXQgc3RvcHBpbmcgc2VydmljZSBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAiZXJyb3IgbWVuZ2hlbnRpa2FuIGxheWFuYW46IFwiJXNcIlxuIgorCisjfiBtc2dpZCAiU3RvcHBlZCBzZXJ2aWNlOiAlc1xuIgorI34gbXNnc3RyICJMYXlhbmFuIHRlcmhlbnQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgYXQgc3RhcnRpbmcgc2VydmljZSBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAiZXJyb3IgbWVuZ2hlbnRpa2FuIGxheWFuYW46IFwiJXNcIlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstY10gWy1uIGxldmVsXSBbLXJdIFstcyBidWZzaXplXVxuIgorI34gbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbLWNdIFstbiBsZXZlbF0gWy1yXSBbLXMgYnVmc2l6ZV1cbiIKKworI34gbXNnaWQgImVycm9yOiBzdHJkdXAgZmFpbGVkIgorI34gbXNnc3RyICJlcnJvcjogc3RyZHVwIGdhZ2FsIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yOiBjYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJlcnJvcjogbWFsbG9jIGdhZ2FsIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiAlcyBbLWJmcHhdIFstbCBubGluZV0iCisjfiBtc2dzdHIgInBlbmdndW5hYW46IGNvbCBbLWJmcHhdIFstbCBubGluZV1cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC0gXSBbIC0yIF0gWyBmaWxlIC4uLiBdXG4iCisjfiBtc2dzdHIgInBlbmdndW5hYW46ICVzIFsgLSBdIFsgLTIgXSBbIGZpbGUgLi4uIF1cbiIKKworI34gbXNnaWQgImhleGR1bXA6IFstYmNDZG92eF0gWy1lIGZtdF0gWy1mIGZtdF9maWxlXSBbLW4gbGVuZ3RoXSBbLXMgc2tpcF0gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJoZXhkdW1wOiBbLWJjQ2RvdnhdIFstZSBmbXRdIFstZiBmbXRfZmlsZV0gWy1uIHBhbmphbmddIFstcyBza2lwXSBbZmlsZSAuLi5dXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWy1kZmxwY3N1XSBbK2xpbmVudW0gfCArL3BhdHRlcm5dIG5hbWUxIG5hbWUyIC4uLlxuIgorI34gbXNnc3RyICJwZW5nZ3VuYWFuOiAlcyBbLWRmbHBjc3VdIFsrbGluZW51bSB8ICsvcGF0dGVybl0gbmFtZTEgbmFtZTIgLi4uXG4iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaW5lIGJ1ZmZlclxuIgorI34gbXNnc3RyICJnYWdhbCBtZW5naW5pc2lhbGlzYXNpIGJhcmlzIHBlbnlhbmdnYVxuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogY2FuJ3QgcmVhZCAlcy5cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogdGlkYWsgZGFwYXQgbWVtYmFjYSAlcy5cbiIKKworI34gbXNnaWQgImhleGR1bXA6IGxpbmUgdG9vIGxvbmcuXG4iCisjfiBtc2dzdHIgImhleGR1bXA6IGJhcmlzIHRlcmxhbHUgcGFuamFuZy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZWFsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAibWFsbG9jIGdhZ2FsIgorCisjfiBtc2dpZCAidXNhZ2U6IHRhaWxmIFstbiBOIHwgLU5dIGxvZ2ZpbGUiCisjfiBtc2dzdHIgIlBlbmdndW5hYW46IHRhaWxmIFstbiBOIHwgLU5dIGxvZ2ZpbGUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsgLWkgXSBbIC10VGVybSBdIGZpbGUuLi5cbiIKKyN+IG1zZ3N0ciAicGVuZ2d1bmFhbjogJXMgWy1pIF0gWyAtdFRlcm0gXSBmaWxlLi4uXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gb3BlbiAlc1xuIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWthICVzXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYW55IG1vcmUgbWVtb3J5XG4iCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmdhbG9rYXNpa2FuIG1lbW9yaSBsYWdpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiZ290IEVPRiB0aHJpY2UgLSBleGl0aW5nLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIm1lbXBlcm9sZWggRU9GIHRocmljZSAtIGtlbHVhci4uXG4iCisKKyN+IG1zZ2lkICJsYXN0OiBtYWxsb2MgZmFpbHVyZS5cbiIKKyN+IG1zZ3N0ciAibGFzdDogbWFsbG9jIGdhZ2FsLlxuIgorCisjfiBtc2dpZCAibG9naW46IE91dCBvZiBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAibG9naW46IEtlaGFiaXNhbiBtZW1vcnlcbiIKKworI34gbXNnaWQgImxvZ2luOiBubyBzaGVsbDogJXMuXG4iCisjfiBtc2dzdHIgImxvZ2luOiB0aWRhayBhZGEgc2hlbGw6ICVzLlxuIgorCisjfiBtc2dpZCAibmV3Z3JwOiBzZXRnaWQiCisjfiBtc2dzdHIgIm5ld2dycDogc2V0Z2lkIgorCisjfiBtc2dpZCAibmV3Z3JwOiBQZXJtaXNzaW9uIGRlbmllZCIKKyN+IG1zZ3N0ciAibmV3Z3JwOiBJamluIGRpdG9sYWsiCisKKyN+IG1zZ2lkICJuZXdncnA6IHNldHVpZCIKKyN+IG1zZ3N0ciAibmV3Z3JwOiBzZXR1aWQiCisKKyN+IG1zZ2lkICIlczogQ2Fubm90IGZvcmtcbiIKKyN+IG1zZ3N0ciAiJXM6IFRpZGFrIGRhcGF0IG1lbGFrdWthbiBmb3JrXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3QgcmVhZCAlcy5cbiIKKyN+IG1zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbWJhY2EgJXMuXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3Qgc3RhdCB0ZW1wb3JhcnkgZmlsZS5cbiIKKyN+IG1zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbXBlcm9sZWggc3RhdGlzdGlrIGZpbGUgc2VtZW50YXJhLlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHJlYWQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW1iYWNhIGZpbGUgc2VtZW50YXJhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvcjogJXMiCisjfiBtc2dzdHIgIiVzOiBlcnJvciBtZW51bGlzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnNlIGVycm9yIGF0IGxpbmVzOiAiCisjfiBtc2dzdHIgImVycm9yIG1lbmdhbWJpbFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiBhbmQgJWQuIgorI34gbXNnc3RyICIgZGFuICIKKworI34gbXNnaWQgInJlbmljZTogJXM6IHVua25vd24gdXNlclxuIgorI34gbXNnc3RyICJyZW5pY2U6ICVzOiBwZW5nZ3VuYSB0aWRhayBhZGFcbiIKKworI34gbXNnaWQgInJlbmljZTogJXM6IGJhZCB2YWx1ZVxuIgorI34gbXNnc3RyICJyZW5pY2U6ICVzOiBuaWxhaSBidXJ1a1xuIgorCisjfiBtc2dpZCAib2Q6IG9kKDEpIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIGhleGR1bXAoMSkuXG4iCisjfiBtc2dzdHIgIm9kOiBvZCgxKSBzdWRhaCBkaXRpbmdnYWxrYW4gdW50dWsgaGV4ZHVtcCgxKS5cbiIKKworI34gbXNnaWQgIm9kOiBoZXhkdW1wKDEpIGNvbXBhdGliaWxpdHkgZG9lc24ndCBzdXBwb3J0IHRoZSAtJWMgb3B0aW9uJXNcbiIKKyN+IG1zZ3N0ciAib2Q6IGhleGR1bXAoMSkga29tcGF0aWJpbGl0YXMgdGlkYWsgbWVuc3VwcG9ydCBwaWxpaGFuIC0lYyAlc1xuIgorCisjfiBtc2dpZCAiOyBzZWUgc3RyaW5ncygxKS4iCisjfiBtc2dzdHIgIjsgbGloYXQgc3RyaW5ncygxKS4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBpbiB0aGUgZmluYWwgcGFydGlhbCBjeWxpbmRlciIKKyN+IG1zZ3N0ciAiUGFydGlzaSBiZXJha2hpciBkaSB1anVuZyBzZWJhZ2lhbiBjeWxpbmRlciIKKworI34gbXNnaWQgIiVzOiBvdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgIiVzOiBrZWhhYmlzYW4gbWVtb3JpXG4iCisKKyN+IG1zZ2lkICIlczogaWxsZWdhbCBpbnRlcnZhbCAlcyBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVzOiBpbnRlcnZhbCBpbGVnYWwgJXMgZGV0aWtcbiIKKworI34gbXNnaWQgIiVzOiBpbGxlZ2FsIHRpbWVfdCB2YWx1ZSAlc1xuIgorI34gbXNnc3RyICIlczogbmlsYWkgdGltZV90ICVzIGlsZWdhbFxuIgorCisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBleGVjdXRlICVzOiAlc1xuIgorI34gbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVuamFsYW5rYW4gJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJydGMgcmVhZCIKKyN+IG1zZ3N0ciAiYmFjYSBydGMiCisKKyN+IG1zZ2lkICJtYWxsb2MgZXJyb3IiCisjfiBtc2dzdHIgIm1hbGxvYyBlcnJvciIKKworI34gbXNnaWQgInVzYWdlOiBjb2x1bW4gWy10eF0gWy1jIGNvbHVtbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAicGVuZ2d1bmFhbjogY29sdW1uIFstdHhdIFstYyBjb2x1bW54XSBbZmlsZSAuLi5dXG4iCisKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgIktlaGFiaXNhbiBtZW1vcmlcbiIKKworI34gbXNnaWQgInVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzcGFjZSIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuZ2Fsb2thc2lrYW4gYnVmZmVyc3BhY2UiCisKKyN+IG1zZ2lkICJ1c2FnZTogcmV2IFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAicGVuZ2d1bmFhbjogcmV2IFtmaWxlIC4uLl1cbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIuXG4iCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmdhbG9rYXNpa2FuIGJ1ZmZlci5cbiIKKworI34gbXNnaWQgIk91dCBvZiBtZW1vcnkgd2hlbiBncm93aW5nIGJ1ZmZlci5cbiIKKyN+IG1zZ3N0ciAiS2VoYWJpc2FuIG1lbW9yaSBrZXRpa2EgbWVuaW5na2F0a2FuIGJ1ZmZlci5cbiIKKworI34gbXNnaWQgIiVzOiBpbGxlZ2FsIG9wdGlvbiAtLSAlY1xuIgorI34gbXNnc3RyICIlczogcGlsaWhhbiBpbGxlZ2FsIC0tICVjXG4iCisKKyN+IG1zZ2lkICJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyN+IG1zZ3N0ciAiYmFnaWFuIHlhbmcgZGkgYWxva2FzaWthbiAlZFxuIgorCisjfiBtc2dpZCAicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorI34gbXNnc3RyICJwYWdlcyB5YW5nIGRpIGFsb2thc2lrYW4gJWxkXG4iCisKKyN+IG1zZ2lkICJwYWdlcyByZXNpZGVudCAgJWxkXG4iCisjfiBtc2dzdHIgInBhZ2VzIHJlc2lkZW50ICVsZFxuIgorCisjfiBtc2dpZCAicGFnZXMgc3dhcHBlZCAgICVsZFxuIgorI34gbXNnc3RyICJwYWdlcyB5YW5nIGRpIHN3YXAgJWxkXG4iCisKKyN+IG1zZ2lkICJTd2FwIHBlcmZvcm1hbmNlOiAlbGQgYXR0ZW1wdHNcdCAlbGQgc3VjY2Vzc2VzXG4iCisjfiBtc2dzdHIgIlBlcmZvcm1hbmNlIHN3YXA6ICVsZCBtZW5jb2JhXHQgJWxkIGJlcmhhc2lsXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIGFuZCBjaGFuZ2UgZGlzcGxheSB1bml0cyB0b1xuIgorI34gIiAgICAgICAgIHNlY3RvcnMgKGNvbW1hbmQgJ3UnKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiBkYW4gdWJhaCB0YW1waWxhbiBzYXR1YW4ga2VcbiIKKyN+ICIgICAgICAgICBzZWt0b3IgKHBlcmludGFoICd1JykuXG4iCisKKyN+IG1zZ2lkICJlcnJvciBydW5uaW5nIHByb2dyYW1tZTogXCIlc1wiXG4iCisjfiBtc2dzdHIgImVycm9yIG1lbmphbGFua2FuIGFwbGlrYXNpOiBcIiVzXCJcbiIKKworI34gbXNnaWQgImludmFsaWQgb2Zmc2V0ICclcycgdmFsdWUgc3BlY2lmaWVkIgorI34gbXNnc3RyICJuaWxhaSBvZnNldCAnJXMnIHRpZGFrIHZhbGlkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJjaHJ0IC0gbWFuaXB1bGF0ZSByZWFsLXRpbWUgYXR0cmlidXRlcyBvZiBhIHByb2Nlc3MuXG4iCisjfiAiXG4iCisjfiAiU2V0IHBvbGljeTpcbiIKKyN+ICIgIGNocnQgW29wdGlvbnNdIDxwb2xpY3k+IDxwcmlvcml0eT4gezxwaWQ+IHwgPGNvbW1hbmQ+IFs8YXJnPiAuLi5dfVxuIgorI34gIlxuIgorI34gIkdldCBwb2xpY3k6XG4iCisjfiAiICBjaHJ0IFtvcHRpb25zXSB7PHBpZD4gfCA8Y29tbWFuZD4gWzxhcmc+IC4uLl19XG4iCisjfiAiXG4iCisjfiAiXG4iCisjfiAiU2NoZWR1bGluZyBwb2xpY2llczpcbiIKKyN+ICIgIC1iIHwgLS1iYXRjaCAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfQkFUQ0hcbiIKKyN+ICIgIC1mIHwgLS1maWZvICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfRklGT1xuIgorI34gIiAgLWkgfCAtLWlkbGUgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9JRExFXG4iCisjfiAiICAtbyB8IC0tb3RoZXIgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX09USEVSXG4iCisjfiAiICAtciB8IC0tcnIgICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX1JSIChkZWZhdWx0KVxuIgorI34gIlxuIgorI34gIlNjaGVkdWxpbmcgZmxhZ3M6XG4iCisjfiAiICAtUiB8IC0tcmVzZXQtb24tZm9yayBzZXQgU0NIRURfUkVTRVRfT05fRk9SSyBmb3IgRklGTyBvciBSUlxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscFxuIgorI34gIiAgLXAgfCAtLXBpZCAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKKyN+ICIgIC1tIHwgLS1tYXggICAgICAgICAgIHNob3cgbWluIGFuZCBtYXggdmFsaWQgcHJpb3JpdGllc1xuIgorI34gIiAgLXYgfCAtLXZlcmJvc2UgICAgICAgZGlzcGxheSBzdGF0dXMgaW5mb3JtYXRpb25cbiIKKyN+ICIgIC1WIHwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJjaHJ0IC0gbWFuaXB1bGFzaSBhdHJpYnV0IHdha3R1LW55YXRhIGRhcmkgc2VidWFoIHByb3Nlcy5cbiIKKyN+ICJcbiIKKyN+ICJTZXQga2ViaWpha2FuOlxuIgorI34gIiAgY2hydCBbcGlsaWhhbl0gPGtlYmlqYWthbj4gPHByaW9yaXRhcz4gezxwaWQ+IHwgPHBlcmludGFoPiBbPGFyZ3VtZW4gLi4uXX1cbiIKKyN+ICJcbiIKKyN+ICJEYXBhdGthbiBrZWJpamFrYW46XG4iCisjfiAiICBjaHJ0IFtwaWxpaGFuXSB7PHBpZD4gfCA8cGVyaW50YWg+IFs8YXJndW1lbj4gLi4uXX1cbiIKKyN+ICJcbiIKKyN+ICJcbiIKKyN+ICJLZWJpamFrYW4gYW50cmlhbjpcbiIKKyN+ICIgIC1iIHwgLS1iYXRjaCAgICAgICAgc2V0IGtlYmlqYWthbiBrZSBTQ0hFRF9CQVRDSFxuIgorI34gIiAgLWYgfCAtLWZpZm8gICAgICAgICBzZXQga2ViaWpha2FuIGtlIFNDSEVEX0ZJRk9cbiIKKyN+ICIgIC1pIHwgLS1pZGxlICAgICAgICAgc2V0IGtlYmlqYWthbiBrZSBTQ0hFRF9JRExFXG4iCisjfiAiICAtbyB8IC0tb3RoZXIgICAgICAgIHNldCBrZWJpamFrYW4ga2UgU0NIRURfT1RIRVJcbiIKKyN+ICIgIC1yIHwgLS1yciAgICAgICAgICAgc2V0IGtlYmlqYWthbiBrZSBTQ0hFRF9SUiAoYmFrdSlcbiIKKyN+ICJcbiIKKyN+ICJQaWxpaGFuOlxuIgorI34gIiAgLWggfCAtLWhlbHAgICAgICAgICB0YW1waWxrYW4gYmFudHVhbiBpbmlcbiIKKyN+ICIgIC1wIHwgLS1waWQgICAgICAgICAgYmVyb3BlcmFzaSBkaSBwaWQgZGliZXJpa2FuIHlhbmcgdGVsYWggYWRhXG4iCisjfiAiICAtbSB8IC0tbWF4ICAgICAgICAgIHRhbXBpbGthbiBtaW4gZGFuIG1heCBwcmlvcml0YXMgeWFuZyBzYWhcbiIKKyN+ICIgIC12IHwgLS12ZXJib3NlICAgICAgdGFtcGlsa2FuIGluZm9ybWFzaSBrZWFkYWFuXG4iCisjfiAiICAtViB8IC0tdmVyc2lvbiAgICAgIGtlbHVhcmthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImN1cnJlbnQiCisjfiBtc2dzdHIgInNla2FyYW5nIgorCisjfiBtc2dpZCAibmV3IgorI34gbXNnc3RyICJiYXJ1IgorCisjfiBtc2dpZCAiTGludXggZXh0MiIKKyN+IG1zZ3N0ciAiTGludXggZXh0MiIKKworI34gbXNnaWQgIkxpbnV4IGV4dDMiCisjfiBtc2dzdHIgIkxpbnV4IGV4dDMiCisKKyN+IG1zZ2lkICJMaW51eCBYRlMiCisjfiBtc2dzdHIgIkxpbnV4IEZTIgorCisjfiBtc2dpZCAiTGludXggSkZTIgorI34gbXNnc3RyICJMaW51eCBKRlMiCisKKyN+IG1zZ2lkICJMaW51eCBSZWlzZXJGUyIKKyN+IG1zZ3N0ciAiTGludXggUmVpc2VyRlMiCisKKyN+IG1zZ2lkICJPUy8yIEhQRlMiCisjfiBtc2dzdHIgIk9TLzIgSFBGUyIKKworI34gbXNnaWQgIk9TLzIgSUZTIgorI34gbXNnc3RyICJPUy8yIElGUyIKKworI34gbXNnaWQgIk5URlMiCisjfiBtc2dzdHIgIk5URlMiCisKKyN+IG1zZ2lkICJtb3VudDogbm8gbWVkaXVtIGZvdW5kIG9uICVzIC4uLnRyeWluZyBhZ2FpblxuIgorI34gbXNnc3RyICJtb3VudDogdGlkYWsgYWRhIG1lZGlhIGRpdGVtdWthbiBkaSAlcyAuLi5tZW5jb2JhIGxhZ2lcbiIKKworI34gbXNnaWQgInVzYWdlIDogJXMgLWFzbXEgLXRjbHVwIFxuIgorI34gbXNnc3RyICJwZW5nZ3VuYWFuOiAlcyAtYXNtcSAtdGNsdXAgXG4iCisKKyN+IG1zZ2lkICJcdCVzIFstcyAtbSAtcV0gLWkgaWRcbiIKKyN+IG1zZ3N0ciAiXHQlcyBbLXMgLW0gLXFdIC1pIGlkXG4iCisKKyN+IG1zZ2lkICJcdCVzIC1oIGZvciBoZWxwLlxuIgorI34gbXNnc3RyICJcdCVzIC1oIHVudHVrIGJhbnR1YW4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiUmVzb3VyY2UgU3BlY2lmaWNhdGlvbjpcbiIKKyN+ICJcdC1tIDogc2hhcmVkX21lbVxuIgorI34gIlx0LXEgOiBtZXNzYWdlc1xuIgorI34gbXNnc3RyICIiCisjfiAiU3Blc2lmaWthc2kgUmVzb3VyY2U6XG4iCisjfiAiXHQtbSA6IHNoYXJlZF9tZW1cbiIKKyN+ICJcdC1xIDogbWVzc2FnZXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdC1zIDogc2VtYXBob3Jlc1xuIgorI34gIlx0LWEgOiBhbGwgKGRlZmF1bHQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcdC1zIDogc2VtYXBob3Jlc1xuIgorI34gIlx0LWEgOiBhbGwgKGRlZmF1bHQpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiT3V0cHV0IEZvcm1hdDpcbiIKKyN+ICJcdC10IDogdGltZVxuIgorI34gIlx0LXAgOiBwaWRcbiIKKyN+ICJcdC1jIDogY3JlYXRvclxuIgorI34gbXNnc3RyICIiCisjfiAiRm9ybWF0IE91dHB1dDpcbiIKKyN+ICJcdC10IDogdGltZVxuIgorI34gIlx0LXAgOiBwaWRcbiIKKyN+ICJcdC1jIDogY3JlYXRvclxuIgorCisjfiBtc2dpZCAiIgorI34gIlx0LWwgOiBsaW1pdHNcbiIKKyN+ICJcdC11IDogc3VtbWFyeVxuIgorI34gbXNnc3RyICIiCisjfiAiXHQtbCA6IGJhdGFzXG4iCisjfiAiXHQtdSA6IHJpbmdrYXNhblxuIgorCisjfiBtc2dpZCAiZXJyb3I6ICVzIgorI34gbXNnc3RyICJlcnJvcjogJXMiCisKKyN+IG1zZ2lkICJlcnJvciBwYXJzZTogJXMiCisjfiBtc2dzdHIgImVycm9yIG1lbmdhbWJpbDogJXMiCisKKyN+IG1zZ2lkICJlcnJvcjogL3N5cyBmaWxlc3lzdGVtIGlzIG5vdCBhY2Nlc3NhYmxlLiIKKyN+IG1zZ3N0ciAiZXJyb3I6IHNpc3RlbSBiZXJrYXMgL3N5cyB0aWRhayBkYXBhdCBkaWFrc2VzLiIKKworI34gbXNnaWQgInVzYWdlOiByZGV2IFsgLXJ2IF0gWyAtbyBPRkZTRVQgXSBbIElNQUdFIFsgVkFMVUUgWyBPRkZTRVQgXSBdIF0iCisjfiBtc2dzdHIgInBlbmdndW5hYW46IHJkZXYgWyAtcnYgXSBbIC1vIE9GRlNFVCBdIFsgSU1BR0UgWyBWQUxVRSBbIE9GRlNFVCBdIF0gXSIKKworI34gbXNnaWQgIiAgcmRldiAvZGV2L2ZkMCAgKG9yIHJkZXYgL2xpbnV4LCBldGMuKSBkaXNwbGF5cyB0aGUgY3VycmVudCBST09UIGRldmljZSIKKyN+IG1zZ3N0ciAiICByZGV2IC9kZXYvZmQwICAoYXRhdSByZGV2IC9saW51eCwgZXRjLikgdGFtcGlsa2FuIFJPT1QgZGV2aWNlIHlhbmcgZGlwYWthaSIKKworI34gbXNnaWQgIiAgcmRldiAvZGV2L2ZkMCAvZGV2L2hkYTIgICAgICAgICBzZXRzIFJPT1QgdG8gL2Rldi9oZGEyIgorI34gbXNnc3RyICIgIHJkZXYgL2Rldi9mZDAgL2Rldi9oZGEyICAgICAgICAgc2V0cyBST09UIHBhZGEgL2Rldi9oZGEyIgorCisjfiBtc2dpZCAiICByZGV2IC1SIC9kZXYvZmQwIDEgICAgICAgICAgICAgIHNldCB0aGUgUk9PVEZMQUdTIChyZWFkb25seSBzdGF0dXMpIgorI34gbXNnc3RyICIgIHJkZXYgLVIgL2Rldi9mZDAgMSAgICAgICAgICAgICAgc2V0IFJPT1RGTEFHUyAocmVhZG9ubHkgc3RhdHVzKSIKKworI34gbXNnaWQgIiAgcmRldiAtciAvZGV2L2ZkMCA2MjcgICAgICAgICAgICBzZXQgdGhlIFJBTURJU0sgc2l6ZSIKKyN+IG1zZ3N0ciAiICByZGV2IC1yIC9kZXYvZmQwIDYyNyAgICAgICAgICAgIHNldCB1a3VyYW4gUkFNRElTSyIKKworI34gbXNnaWQgIiAgcmRldiAtdiAvZGV2L2ZkMCAxICAgICAgICAgICAgICBzZXQgdGhlIGJvb3R1cCBWSURFT01PREUiCisjfiBtc2dzdHIgIiAgcmRldiAtdiAvZGV2L2ZkMCAxICAgICAgICAgICAgICBzZXQgYm9vdHVwIFZJREVPTU9ERSIKKworI34gbXNnaWQgIiAgcmRldiAtbyBOIC4uLiAgICAgICAgICAgICAgICAgICB1c2UgdGhlIGJ5dGUgb2Zmc2V0IE4iCisjfiBtc2dzdHIgIiAgcmRldiAtbyBOIC4uLiAgICAgICAgICAgICAgICAgICBtZW5nZ3VuYWthbiBvZmZzZXQgYnl0ZSBOIgorCisjfiBtc2dpZCAiICByb290ZmxhZ3MgLi4uICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgcmRldiAtUiIKKyN+IG1zZ3N0ciAiICByb290ZmxhZ3MgLi4uICAgICAgICAgICAgICAgICAgIHNhbWEgZGVuZ2FuIHJkZXYgLVIiCisKKyN+IG1zZ2lkICIgIHJhbXNpemUgLi4uICAgICAgICAgICAgICAgICAgICAgc2FtZSBhcyByZGV2IC1yIgorI34gbXNnc3RyICIgIHVrdXJhbiByYW0gLi4uICAgICAgICAgICAgICAgICAgc2FtYSBkZW5nYW4gcmRldiAtciIKKworI34gbXNnaWQgIiAgdmlkbW9kZSAuLi4gICAgICAgICAgICAgICAgICAgICBzYW1lIGFzIHJkZXYgLXYiCisjfiBtc2dzdHIgIiAgdmlkbW9kZSAuLi4gICAgICAgICAgICAgICAgICAgICBzYW1hIGRlbmdhbiByZGV2IC12IgorCisjfiBtc2dpZCAiTm90ZTogdmlkZW8gbW9kZXMgYXJlOiAtMz1Bc2ssIC0yPUV4dGVuZGVkLCAtMT1Ob3JtYWxWZ2EsIDE9a2V5MSwgMj1rZXkyLC4uLiIKKyN+IG1zZ3N0ciAiQ2F0YXRhbjogbW9kZSB2aWRlbyBhZGFsYWg6IC0zPVRhbnlhLCAtMj1FeHRlbmRlZCwgLTE9Tm9ybWFsVmdhLCAxPWt1bmNpMSwgMj1rdW5jaTIsLi4uIgorCisjfiBtc2dpZCAiICAgICAgdXNlIC1SIDEgdG8gbW91bnQgcm9vdCByZWFkb25seSwgLVIgMCBmb3IgcmVhZC93cml0ZS4iCisjfiBtc2dzdHIgIiAgICAgIGd1bmFrYW4gLVIgMSB1bnR1ayBtZW1vdW50IHJvb3QgcmVhZG9ubHksIC1SIDAgdW50dWsgcmVhZC93cml0ZS4iCisKKyN+IG1zZ2lkICJtaXNzaW5nIGNvbW1hIgorI34gbXNnc3RyICJoaWxhbmcga29tYSIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogZmRpc2sgWy1iIFNTWl0gWy11XSBESVNLICAgICBDaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiICAgICAgIGZkaXNrIC1sIFstYiBTU1pdIFstdV0gRElTSyAgTGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKKyN+ICIgICAgICAgZmRpc2sgLXMgUEFSVElUSU9OICAgICAgICAgICBHaXZlIHBhcnRpdGlvbiBzaXplKHMpIGluIGJsb2Nrc1xuIgorI34gIiAgICAgICBmZGlzayAtdiAgICAgICAgICAgICAgICAgICAgIEdpdmUgZmRpc2sgdmVyc2lvblxuIgorI34gIkhlcmUgRElTSyBpcyBzb21ldGhpbmcgbGlrZSAvZGV2L2hkYiBvciAvZGV2L3NkYVxuIgorI34gImFuZCBQQVJUSVRJT04gaXMgc29tZXRoaW5nIGxpa2UgL2Rldi9oZGE3XG4iCisjfiAiLXU6IGdpdmUgU3RhcnQgYW5kIEVuZCBpbiBzZWN0b3IgKGluc3RlYWQgb2YgY3lsaW5kZXIpIHVuaXRzXG4iCisjfiAiLWIgMjA0ODogKGZvciBjZXJ0YWluIE1PIGRpc2tzKSB1c2UgMjA0OC1ieXRlIHNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlBlbmdndW5hYW46IGZkaXNrIFstYiBTU1pdIFstdV0gRElTSyAgICAgVWJhaCB0YWJlbCBwYXJ0aXNpXG4iCisjfiAiICAgICAgICAgICAgZmRpc2sgLWwgWy1iIFNTWl0gWy11XSBESVNLICBUYW1waWxrYW4gZGFmdGFyIHRhYmVsIHBhcnRpc2lcbiIKKyN+ICIgICAgICAgICAgICBmZGlzayAtcyBQQVJUSVNJICAgICAgICAgICAgIEJlcmlrYW4gdWt1cmFuIHBhcnRpc2kgZGFsYW0gYmxvY2tzXG4iCisjfiAiICAgICAgICAgICAgZmRpc2sgLXYgICAgICAgICAgICAgICAgICAgICBUYW1waWxrYW4gdmVyc2kgZGFyaSBmZGlza1xuIgorI34gIkRpc2luaSBESVNLICBtZW1pbGlraSBuYW1hIHNlcGVydGkgL2Rldi9oZGIgYXRhdSAvZGV2L3NkYVxuIgorI34gImRhbiBQQVJUSVNJIGluaSBtZW1pbGlraSBuYW1hIHNlcGVydGkgL2Rldi9oZGE3XG4iCisjfiAiLXU6IG1lbWJlcmlrYW4gQXdhbCBkYW4gQWtoaXIgZGFsYW0gc2F0dWFuIHNlY3RvciAoZGFyaSBwYWRhIGRhbGFtIGN5bGluZGVycylcbiIKKyN+ICItYiAyMDQ4OiAodW50dWsgYmViZXJhcGEgTU8gZGlza3MpIGd1bmFrYW4gMjA0OC1ieXRlIGRhcmkgc2VjdG9yXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IGZkaXNrIFstbF0gWy1iIFNTWl0gWy11XSBkZXZpY2VcbiIKKyN+ICJFLmcuOiBmZGlzayAvZGV2L2hkYSAgKGZvciB0aGUgZmlyc3QgSURFIGRpc2spXG4iCisjfiAiICBvcjogZmRpc2sgL2Rldi9zZGMgIChmb3IgdGhlIHRoaXJkIFNDU0kgZGlzaylcbiIKKyN+ICIgIG9yOiBmZGlzayAvZGV2L2VkYSAgKGZvciB0aGUgZmlyc3QgUFMvMiBFU0RJIGRyaXZlKVxuIgorI34gIiAgb3I6IGZkaXNrIC9kZXYvcmQvYzBkMCAgb3I6IGZkaXNrIC9kZXYvaWRhL2MwZDAgIChmb3IgUkFJRCBkZXZpY2VzKVxuIgorI34gIiAgLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQZW5nZ3VuYWFuOiBmZGlzayBbLWxdIFstYiBTU1pdIFstdV0gcGVyYW5na2F0XG4iCisjfiAiRS5nLjogZmRpc2sgL2Rldi9oZGEgICh1bnR1ayBJREUgZGlzayB5YW5nIHBlcnRhbWEpXG4iCisjfiAiYXRhdTogZmRpc2sgL2Rldi9zZGMgICh1bnR1ayBTQ1NJIERJU0sgeWFuZyBrZXRpZ2EpXG4iCisjfiAiYXRhdTogZmRpc2sgL2Rldi9lZGEgICh1bnR1ayBQUy8yIEVTREkgZHJpdmUpXG4iCisjfiAiYXRhdTogZmRpc2sgL2Rldi9yZC9jMGQwIGF0YXU6IGZkaXNrIC9kZXYvaWRhL2MwZDAgKHVudHVrIHBlcmFuZ2thdCBSQUlEKVxuIgorI34gIi4uLi5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJUaGUgbnVtYmVyIG9mIGN5bGluZGVycyBmb3IgdGhpcyBkaXNrIGlzIHNldCB0byAlZC5cbiIKKyN+ICJUaGVyZSBpcyBub3RoaW5nIHdyb25nIHdpdGggdGhhdCwgYnV0IHRoaXMgaXMgbGFyZ2VyIHRoYW4gMTAyNCxcbiIKKyN+ICJhbmQgY291bGQgaW4gY2VydGFpbiBzZXR1cHMgY2F1c2UgcHJvYmxlbXMgd2l0aDpcbiIKKyN+ICIxKSBzb2Z0d2FyZSB0aGF0IHJ1bnMgYXQgYm9vdCB0aW1lIChlLmcuLCBvbGQgdmVyc2lvbnMgb2YgTElMTylcbiIKKyN+ICIyKSBib290aW5nIGFuZCBwYXJ0aXRpb25pbmcgc29mdHdhcmUgZnJvbSBvdGhlciBPU3NcbiIKKyN+ICIgICAoZS5nLiwgRE9TIEZESVNLLCBPUy8yIEZESVNLKVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiSnVtbGFoIGRhcmkgY3lsaW5kZXIgdW50dWsgZGlzayBpbmkgZGkgc2V0IGtlICVkLlxuIgorI34gIlRpZGFrIGFkYSB5YW5nIHNhbGFoIGRlbmdhbiBoYWwgaW5pLCB0ZXRhcGkgaW5pIGxlYmloIGJlc2FyIGRhcmkgMTAyNCxcbiIKKyN+ICJkYW4gZGFwYXQgbWVtYnVhdCBtZW55ZWJhYmthbiBtYXNhbGFoIGRhbGFtIGJlYmVyYXBhIHNldHVwIGRlbmdhbjpcbiIKKyN+ICIxKSBhcGxpa2FzaSB5YW5nIGJlcmphbGFuIHBhZGEgd2FrdHUgYm9vdCAoZS5nLiwgdmVyc2kgbGFtYSBkYXJpIExJTE8pXG4iCisjfiAiMikgYm9vdGluZyBkYW4gcGFydGl0aW9uaW5nIHNvZnR3YXJlIGRhcmkgT1MgeWFuZyBsYWluXG4iCisjfiAiICAgKGUuZy4sIERPUyBGRElTSywgT1MvMiBGRElTSylcbiIKKworI34gbXNnaWQgIiIKKyN+ICJXQVJOSU5HOiBUaGUgZGV2aWNlIGRvZXMgbm90IHByb3ZpZGUgY29tcGVuc2F0aW9uIChhbGlnbm1lbnRfb2Zmc2V0KVxuIgorI34gImZvciBET1MtY29tcGF0aWJsZSBwYXJ0aXRpb25pbmcsIGJ1dCBET1MtY29tcGF0aWJsZSBtb2RlIGlzIGVuYWJsZWQuXG4iCisjfiAiVXNlIGNvbW1hbmQgJ2MnIHRvIHN3aXRjaC1vZmYgRE9TIG1vZGUuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQRVJJTkdBVEFOOiBQZXJhbmdrYXQgdGlkYWsgbWVueWVkaWFrYW4ga29tcGVuc2FzaSAoYWxpZ25tZW50X29mZnNldClcbiIKKyN+ICJ1bnR1ayBwZW1iYWdpYW4gRE9TLWtvbXBhdGliZWwsIHRldGFwaSBtb2RlIERPUy1rb21wYXRpYmVsIGRpYWt0aWZrYW4uXG4iCisjfiAiR3VuYWthbiBwZXJpbnRhaCAnYycgdW50dWsgbWVub25ha3RpZmthbiBtb2RlIERPUy5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiB0aGUgZGV2aWNlIHByb3ZpZGVzIGFsaWdubWVudF9vZmZzZXQsIGJ1dCB0aGUgb2Zmc2V0IGRvZXMgbm90XG4iCisjfiAibWF0Y2ggd2l0aCBkZXZpY2UgZ2VvbWV0cnkuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQRVJJTkdBVEFOOiBwZXJhbmdrYXQgbWVueWVkaWFrYW4gYWxpZ25tZW50X29mZnNldCwgdGV0YXBpIG9mc2V0IHRpZGFrXG4iCisjfiAiY29jb2sgZGVuZ2FuIGdlb21ldHJpIHBlcmFuZ2thdC5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJ1bml0OiBzZWN0b3JzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJzYXR1YW46IHNla3RvclxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIHN0YXJ0PSU5bHUiCisjfiBtc2dzdHIgIiBhd2FsPSU5bHUiCisKKyN+IG1zZ2lkICIsIGJvb3RhYmxlIgorI34gbXNnc3RyICIsIGRhcGF0IGRpIGJvb3QiCisKKyN+IG1zZ2lkICJDbG9jayBpbiBVVEMsIG5vdCBjaGFuZ2VkLlxuIgorI34gbXNnc3RyICJKYW0gZGFsYW0gVVRDLCB0aWRhayBkaXViYWguXG4iCisKKyN+IG1zZ2lkICIlczogZm91bmQgJXNzd2FwIHYlZCBzaWduYXR1cmUgc3RyaW5nIGZvciAlZCBLaUIgUEFHRV9TSVpFXG4iCisjfiBtc2dzdHIgIiVzOiBkaXRlbXVrYW4gdGFuZGEgJXNzd2FwIHYlZCB1bnR1ayAlZCBLaUIgUEFHRV9TSVpFXG4iCisKKyN+IG1zZ2lkICIlczogZXJyb3I6IGxhYmVsIG9ubHkgd2l0aCB2MSBzd2FwIGFyZWFcbiIKKyN+IG1zZ3N0ciAiJXM6IGVycm9yOiBoYW55YSBsYWJlbCBkZW5nYW4gbWVuZ2d1bmFrYW4gc3dhcCBhcmVhIHZlcnNpIHYxXG4iCisKKyN+IG1zZ2lkICJmYXRhbDogZmlyc3QgcGFnZSB1bnJlYWRhYmxlIgorI34gbXNnc3RyICJmYXRhbDogcGFnZSBwZXJ0YW1hIHRpZGFrIGRhcGF0IGRpYmFjYSIKKworI34gbXNnaWQgIiIKKyN+ICIlczogRGV2aWNlICclcycgY29udGFpbnMgYSB2YWxpZCBTdW4gZGlza2xhYmVsLlxuIgorI34gIlRoaXMgcHJvYmFibHkgbWVhbnMgY3JlYXRpbmcgdjAgc3dhcCB3b3VsZCBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlLlxuIgorI34gIk5vIHN3YXAgd2FzIGNyZWF0ZWQuIElmIHlvdSByZWFsbHkgd2FudCB0byBjcmVhdGUgdjAgc3dhcCBvbiB0aGF0IGRldmljZSxcbiIKKyN+ICJ1c2UgdGhlIC1mIG9wdGlvbiB0byBmb3JjZSBpdC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBQZXJhbmdrYXQgJyVzJyBtZW1pbGlraSBzZWJ1YWggZGlza2xhYmVsIFN1biB5YW5nIHZhbGlkLlxuIgorI34gIkluaSBtdW5na2luIGJlcmFydGkgbWVtYnVhdCBzd2FwIHZlcnNpIDAgYWthbiBtZW5naGFuY3Vya2FuIHRhYmVsIHBhcnRpc2kgXG4iCisjfiAiYW5kYSwgU3dhcCB0aWRhayBkaWJ1YXQuIEppa2EgYW5kYSBiZW5hciAtIGJlbmFyIGluZ2luIG1lbWJ1YXQgc3dhcCB2MCBkaSBcbiIKKyN+ICJwZXJhbmdrYXQgaXR1LCBndW5ha2FuIHBpbGloYW4gLWYgdW50dWsgbWVtYWtzYW55YS5cbiIKKworI34gbXNnaWQgIm5hbWVpOiBjb3VsZCBub3QgY2hkaXIgdG8gcm9vdCFcbiIKKyN+IG1zZ3N0ciAibmFtZWk6IHRpZGFrIGRhcGF0IGNoZGlyIGtlIHJvb3QhXG4iCisKKyN+IG1zZ2lkICJuYW1laTogY291bGQgbm90IHN0YXQgcm9vdCFcbiIKKyN+IG1zZ3N0ciAibmFtZWk6IHRpZGFrIGRhcGF0IG1lbXBlcm9sZWggc3RhdGlzdGlrIHJvb3QhXG4iCisKKyN+IG1zZ2lkICJuYW1laTogYnVmIG92ZXJmbG93XG4iCisjfiBtc2dzdHIgIm5hbWVpOiBidWYgb3ZlcmZsb3dcbiIKKworI34gbXNnaWQgIiA/IGNvdWxkIG5vdCBjaGRpciBpbnRvICVzIC0gJXMgKCVkKVxuIgorI34gbXNnc3RyICIgPyB0aWRhayBkYXBhdCBjaGRpciBrZSBkYWxhbSAlcyAtICVzICglZClcbiIKKworI34gbXNnaWQgIiA/IHByb2JsZW1zIHJlYWRpbmcgc3ltbGluayAlcyAtICVzICglZClcbiIKKyN+IG1zZ3N0ciAiID8gbWFzYWxhaCBkYWxhbSBtZW1iYWNhIHN5bWxpbmsgJXMgLSAlcyAoJWQpXG4iCisKKyN+IG1zZ2lkICIgICoqKiBFWENFRURFRCBVTklYIExJTUlUIE9GIFNZTUxJTktTICoqKlxuIgorI34gbXNnc3RyICIgICoqKiBNRUxFV0FUSSBCQVRBUyBKVU1MQUggU1lNTElOS1MgREkgVU5JWCAqKipcbiIKKworI34gbXNnaWQgIm5hbWVpOiB1bmtub3duIGZpbGUgdHlwZSAwJTA2byBvbiBmaWxlICVzXG4iCisjfiBtc2dzdHIgIm5hbWVpOiB0aXBlIGZpbGUgdGlkYWsgZGlrZXRhaHVpIDAlMDZvIGRhbGFtIGZpbGUgJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiBnb2luZyB0byBtb3VudCAlcyBieSAlc1xuIgorI34gbXNnc3RyICJtb3VudDogYWthbiBtZW1vdW50ICVzIG9sZWggJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiBubyBMQUJFTD0sIG5vIFVVSUQ9LCBnb2luZyB0byBtb3VudCAlcyBieSBwYXRoXG4iCisjfiBtc2dzdHIgIm1vdW50OiBubyBMQUJFTD0sIG5vIFVVSUQ9LCBha2FuIG1lbW91bnQgJXMgZGVuZ2FuIGphbHVyXG4iCisKKyN+IG1zZ2lkICIlczogd2FpdHBpZDogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IHdhaXRwaWQ6ICVzXG4iCisKKyN+IG1zZ2lkICJjb3VsZCBub3QgdW1vdW50ICVzIC0gdHJ5aW5nICVzIGluc3RlYWRcbiIKKyN+IG1zZ3N0ciAidGlkYWsgZGFwYXQgdW1vdW50ICVzIC0gbWVuY29iYSAlcyBzZWJhbGlrbnlhXG4iCisKKyN+IG1zZ2lkICJgJXMnOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIKKyN+IG1zZ3N0ciAiYCVzJzogYmFkIGRpcmVjdG9yeTogJy4nIHRpZGFrIHlhbmcgcGVydGFtYVxuIgorCisjfiBtc2dpZCAiYCVzJzogYmFkIGRpcmVjdG9yeTogJy4uJyBpc24ndCBzZWNvbmRcbiIKKyN+IG1zZ3N0ciAiYCVzJzogZGlyZWt0b3JpIGJ1cnVrOiAnLi4nIHRpZGFrIHlhbmcga2VkdWFcbiIKKworI34gbXNnaWQgImNhbGxpbmcgb3Blbl90dHlcbiIKKyN+IG1zZ3N0ciAibWVtYW5nZ2lsIG9wZW5fdHR5XG4iCisKKyN+IG1zZ2lkICJjYWxsaW5nIHRlcm1pb19pbml0XG4iCisjfiBtc2dzdHIgIm1lbWFuZ2dpbCB0ZXJtaW9faW5pdFxuIgorCisjfiBtc2dpZCAid3JpdGluZyBpbml0IHN0cmluZ1xuIgorI34gbXNnc3RyICJtZW51bGlzIGluaXQgc3RyaW5nXG4iCisKKyN+IG1zZ2lkICJiZWZvcmUgYXV0b2JhdWRcbiIKKyN+IG1zZ3N0ciAic2ViZWx1bSBhdXRvYmF1ZFxuIgorCisjfiBtc2dpZCAid2FpdGluZyBmb3IgY3ItbGZcbiIKKyN+IG1zZ3N0ciAibWVudW5nZ3UgdW50dWsgY3ItbGZcbiIKKworI34gbXNnaWQgInJlYWRpbmcgbG9naW4gbmFtZVxuIgorI34gbXNnc3RyICJtZW1iYWNhIG5hbWEgbG9naW5cbiIKKworI34gbXNnaWQgImFmdGVyIGdldG9wdCBsb29wXG4iCisjfiBtc2dzdHIgImxvb3Agc2V0ZWxhaCBnZXRvcHRcbiIKKworI34gbXNnaWQgImV4aXRpbmcgcGFyc2VhcmdzXG4iCisjfiBtc2dzdHIgImtlbHVhciBkYXJpIHBhcnNlYXJnc1xuIgorCisjfiBtc2dpZCAiZW50ZXJlZCBwYXJzZV9zcGVlZHNcbiIKKyN+IG1zZ3N0ciAibWVtYXN1a2kgcGFyc2Vfc3BlZWRzXG4iCisKKyN+IG1zZ2lkICJleGl0aW5nIHBhcnNlc3BlZWRzXG4iCisjfiBtc2dzdHIgImtlbHVhciBkYXJpIHBhcnNlc3BlZWRzXG4iCisKKyN+IG1zZ2lkICJvcGVuKDIpXG4iCisjfiBtc2dzdHIgIm9wZW4oMilcbiIKKworI34gbXNnaWQgImR1cGluZ1xuIgorI34gbXNnc3RyICJkdXBpbmdcbiIKKworI34gbXNnaWQgInRlcm1faW8gMlxuIgorI34gbXNnc3RyICJ0ZXJtX2lvIDJcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IFwiJXNcIiBpcyBub3QgbGlzdGVkIGluIC9ldGMvc2hlbGxzXG4iCisjfiBtc2dzdHIgIlBlcmluZ2F0YW46IFwiJXNcIiB0aWRhayB0ZXJkYWZ0YXIgZGFsYW0gL2V0Yy9zaGVsbHNcbiIKKworI34gbXNnaWQgIkNhbid0IHJlYWQgJXMsIGV4aXRpbmcuIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW1iYWNhICVzLCBrZWx1YXIuIgorCisjfiBtc2dpZCAidGltZW91dCA9ICVkLCBxdWlldCA9ICVkLCByZWJvb3QgPSAlZFxuIgorI34gbXNnc3RyICJ0aW1lb3V0ID0gJWQsIHF1aWV0ID0gJWQsIHJlYm9vdCA9ICVkXG4iCisKKyN+IG1zZ2lkICJjb3VsZG4ndCByZWFkICVzLCBhbmQgY2Fubm90IGlvY3RsIGR1bXBcbiIKKyN+IG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYmFjYSAlcywgZGFuIHRpZGFrIGRhcGF0IG1lbGFrdWthbiBpb2N0bCBkdW1wXG4iCisKKyN+IG1zZ2lkICIsIG9mZnNldCAlbGxkIgorI34gbXNnc3RyICIsIG9mZnNldCAlbGxkIgorCisjfiBtc2dpZCAiJXM6IGNvdWxkIG5vdCBmaW5kIGFueSBkZXZpY2UgL2Rldi9sb29wIyIKKyN+IG1zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbmVtdWthbiBwZXJhbmdrYXQgYXBhcHVuIC9kZXYvbG9vcCMiCisKKyN+IG1zZ2lkICJtb3VudDogYmFja2dyb3VuZGluZyBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGJhY2tncm91bmRpbmcgXCIlc1wiXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ2l2aW5nIHVwIFwiJXNcIlxuIgorI34gbXNnc3RyICJtb3VudDogbWVueWVyYWggXCIlc1wiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAidXNhZ2U6ICVzIFstaFZdXG4iCisjfiAiICAgICAgICVzIC1hIFstZV0gWy12XVxuIgorI34gIiAgICAgICAlcyBbLXZdIFstcCBwcmlvcml0eV0gc3BlY2lhbHxMQUJFTD12b2x1bWVfbmFtZSAuLi5cbiIKKyN+ICIgICAgICAgJXMgWy1zXVxuIgorI34gbXNnc3RyICIiCisjfiAicGVuZ2d1bmFhbjogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgICAgICAlcyAtYSBbLWVdIFstdl1cbiIKKyN+ICIgICAgICAgICAgICAlcyBbLXZdIFstcCBwcmlvcml0eV0gc3BlY2lhbHxMQUJFTD12b2x1bWVfbmFtZSAuLi5cbiIKKyN+ICIgICAgICAgICAgICAlcyBbLXNdXG4iCisKKyN+IG1zZ2lkICIiCisjfiAidXNhZ2U6ICVzIFstaFZdXG4iCisjfiAiICAgICAgICVzIC1hIFstdl1cbiIKKyN+ICIgICAgICAgJXMgWy12XSBzcGVjaWFsIC4uLlxuIgorI34gbXNnc3RyICIiCisjfiAicGVuZ2d1bmFhbjogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgICAgICAlcyAtYSBbLXZdXG4iCisjfiAiICAgICAgICAgICAgJXMgWy12XSBzcGVjaWFsIC4uLlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbm5vdCBjYW5vbmljYWxpemUgJXM6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW1idWthICVzOiAlc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnNcbiIKKworI34gbXNnaWQgIiUtOHMgJS0xMHMgJS0yNi4yNHMgJS0yNi4yNHNcbiIKKyN+IG1zZ3N0ciAiJS04cyAlLTEwcyAlLTI2LjI0cyAlLTI2LjI0c1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKworI34gbXNnaWQgIiUtOHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKyN+IG1zZ3N0ciAiJS04cyAlLTEwcyAlLTIwcyAlLTIwcyAlLTIwc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnMgJS0xMnNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnMgJS0xMnNcbiIKKworI34gbXNnaWQgInVzYWdlOiByZW5pY2UgcHJpb3JpdHkgWyBbIC1wIF0gcGlkcyBdIFsgWyAtZyBdIHBncnBzIF0gWyBbIC11IF0gdXNlcnMgXVxuIgorI34gbXNnc3RyICJwZW5nZ3VuYWFuOiByZW5pY2UgcHJpb3JpdHkgWyBbIC1wIF0gcGlkcyBdIFsgWyAtZyBdIHBncnBzIF0gWyBbIC11IF0gcGVuZ2d1bmEgXVxuIgorCisjfiBtc2dpZCAiRXhjZWVkZWQgTUFYRU5UUklFUy4gIFJhaXNlIHRoaXMgdmFsdWUgaW4gbWtjcmFtZnMuYyBhbmQgcmVjb21waWxlLiAgRXhpdGluZy5cbiIKKyN+IG1zZ3N0ciAiTWVsZWJpaGkgTUFYRU5UUklFUy4gTmFpa2thbiBuaWxhaSBpbmkgZGFsYW0gbWtjcmFtZnMuYyBkYW4gcmVjb21waWxlLiBLZWx1YXIuXG4iCisKKyN+IG1zZ2lkICJBc3N1bWluZyBwYWdlcyBvZiBzaXplICVkIChub3QgJWQpXG4iCisjfiBtc2dzdHIgIk1lbmdhc3Vtc2lrYW4gdWt1cmFuIHBhZ2UgJWQgKGJ1a2FuICVkKVxuIgorCisjfiBtc2dpZCAiQXV0b2NvbmZpZ3VyZSBmb3VuZCBhICVzJXMlc1xuIgorI34gbXNnc3RyICJBdXRvY29uZmlndXJhc2kgbWVuZW11a2FuIHNlYnVhaCAlcyVzJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJEcml2ZSB0eXBlXG4iCisjfiAiICAgPyAgIGF1dG8gY29uZmlndXJlXG4iCisjfiAiICAgMCAgIGN1c3RvbSAod2l0aCBoYXJkd2FyZSBkZXRlY3RlZCBkZWZhdWx0cykiCisjfiBtc2dzdHIgIiIKKyN+ICJUaXBlIERyaXZlXG4iCisjfiAiICAgPyAgIGF1dG8gY29uZmlndXJlXG4iCisjfiAiICAgMCAgIGN1c3RvbSAoZGVuZ2FuIGhhcmR3YXJlIHRlcmRldGVrc2kgZGVmYXVsdHMpIgorCisjfiBtc2dpZCAiU2VsZWN0IHR5cGUgKD8gZm9yIGF1dG8sIDAgZm9yIGN1c3RvbSk6ICIKKyN+IG1zZ3N0ciAiUGlsaWggdGlwZSAoPyB1bnR1ayBhdXRvLCAwIHVudHVrIGN1c3RvbSk6ICIKKworI34gbXNnaWQgIllvdSBtYXkgY2hhbmdlIGFsbCB0aGUgZGlzayBwYXJhbXMgZnJvbSB0aGUgeCBtZW51IgorI34gbXNnc3RyICJBbmRhIGJvbGVoIG1lbmd1YmFoIHNlbHVydWggcGFyYW1ldGVyIGRpc2sgZGFyaSB4IG1lbnUiCisKKyN+IG1zZ2lkICIzLDVcIiBmbG9wcHkiCisjfiBtc2dzdHIgIjMsNVwiIGZsb3BweSIKKworI34gbXNnaWQgIiVzIGZyb20gdXRpbC1saW51eC0lc1xuIgorI34gbXNnc3RyICIlcyBkYXJpIHV0aWwtbGludXgtJXNcbiIKKworI34gbXNnaWQgIiVzOiBlcnJvcjogdGhlIGxhYmVsICVzIG9jY3VycyBvbiBib3RoICVzIGFuZCAlc1xuIgorI34gbXNnc3RyICIlczogZXJyb3I6IGxhYmVsICVzIHRlcmphZGkgZGkga2VkdWEgJXMgZGFuICVzXG4iCisKKyN+IG1zZ2lkICIlczogY291bGQgbm90IG9wZW4gJXMsIHNvIFVVSUQgYW5kIExBQkVMIGNvbnZlcnNpb24gY2Fubm90IGJlIGRvbmUuXG4iCisjfiBtc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW1idWthICVzLCBqYWRpIFVVSUQgZGFuIExBQkVMIGNvbnZlcnNpIHRpZGFrIGRhcGF0IGRpbGFrdWthbi5cbiIKKworI34gbXNnaWQgIiVzOiBiYWQgVVVJRCIKKyN+IG1zZ3N0ciAiJXM6IGJhZCBVVUlEIgorCisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB3aXRoIG5mcyBtb3VudCB2ZXJzaW9uIDQsIHRyeWluZyAzLi5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGdhZ2FsIGRlbmdhbiBuZnMgbW91bnQgdmVyc2kgNCwgbWVuY29iYSB2ZXJzaSAzLi5cbiIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudGluZyAlc1xuIgorI34gbXNnc3RyICJtb3VudDogbWVtb3VudCAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIHdoaWxlIGd1ZXNzaW5nIGZpbGVzeXN0ZW0gdHlwZVxuIgorI34gbXNnc3RyICJtb3VudDogZXJyb3Iga2V0aWthIG1lbmViYWsgdGlwZSBmaWxlc3lzdGVtXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZXhjZXNzaXZlbHkgbG9uZyBob3N0OmRpciBhcmd1bWVudFxuIgorI34gbXNnc3RyICJtb3VudDogYXJndW1lbnQgaG9zdDpkaXIgdGVybGFsdSBwYW5qYW5nXG4iCisKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogbXVsdGlwbGUgaG9zdG5hbWVzIG5vdCBzdXBwb3J0ZWRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHBlcmluZ2F0YW46IG11bHRpcGxlIGhvc3RuYW1lIHRpZGFrIGRpbGF5YW5pXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZGlyZWN0b3J5IHRvIG1vdW50IG5vdCBpbiBob3N0OmRpciBmb3JtYXRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGRpcmVrdG9yaSB1bnR1ayBtb3VudCB0aWRhayBkYWxhbSBmb3JtYXQgaG9zdDpkaXJcbiIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBnZXQgYWRkcmVzcyBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpZGFrIGRhcGF0IG1lbXBlcm9sZWggYWxhbWF0IHVudHVrICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ290IGJhZCBocC0+aF9sZW5ndGhcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG1lbXBlcm9sZWggaHAtaF9sZW5ndGggeWFuZyBidXJ1a1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGV4Y2Vzc2l2ZWx5IGxvbmcgb3B0aW9uIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIm1vdW50OiBwaWxpaGFuIGFyZ3VtZW50IHRlcmxhbHUgcGFuamFuZ1xuIgorCisjfiBtc2dpZCAiV2FybmluZzogVW5yZWNvZ25pemVkIHByb3RvPSBvcHRpb24uXG4iCisjfiBtc2dzdHIgIlBlcmluZ2F0YW46IHBpbGloYW4gcHJvdG89IHRpZGFrIGRpa2VuYWwuXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBPcHRpb24gbmFtbGVuIGlzIG5vdCBzdXBwb3J0ZWQuXG4iCisjfiBtc2dzdHIgIlBlcmluZ2F0YW46IFBpbGloYW4gbmFtbGVuIHRpZGFrIGRpbGF5YW5pLlxuIgorCisjfiBtc2dpZCAidW5rbm93biBuZnMgbW91bnQgcGFyYW1ldGVyOiAlcz0lZFxuIgorI34gbXNnc3RyICJwYXJhbWV0ZXIgdW50dWsgbmZzIG1vdW50IHRpZGFrIGRpa2V0YWh1aTogJXM9JWRcbiIKKworI34gbXNnaWQgInVua25vd24gbmZzIG1vdW50IG9wdGlvbjogJXMlc1xuIgorI34gbXNnc3RyICJwaWxpaGFuIHVudHVrIG1vdW50IG5mcyB0aWRhayBkaWtldGFodWk6ICVzJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiBnb3QgYmFkIGhwLT5oX2xlbmd0aD9cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG1lbXBlcm9sZWggaHAtPmhfbGVuZ3RoIHlhbmcgYnVydWs/XG4iCisKKyN+IG1zZ2lkICJuZnMgYmluZHJlc3Zwb3J0IgorI34gbXNnc3RyICJuZnMgYmluZHJlc3Zwb3J0IgorCisjfiBtc2dpZCAibmZzIHNlcnZlciByZXBvcnRlZCBzZXJ2aWNlIHVuYXZhaWxhYmxlIgorI34gbXNnc3RyICJuZnMgc2VydmVyIG1lbGFwb3JrYW4gbGF5YW5hbiB0aWRhayBha3RpZiIKKworI34gbXNnaWQgInVzZWQgcG9ydG1hcHBlciB0byBmaW5kIE5GUyBwb3J0XG4iCisjfiBtc2dzdHIgIm1lbmdndW5ha2FuIHBvcnRtYXBwZXIgdW50dWsgbWVuY2FyaSBwb3J0IGRhcmkgTkZTXG4iCisKKyN+IG1zZ2lkICJ1c2luZyBwb3J0ICVkIGZvciBuZnMgZGVhbW9uXG4iCisjfiBtc2dzdHIgIm1lbmdndW5ha2FuIHBvcnQgJWQgdW50dWsgbmZzIGRhZW1vblxuIgorCisjfiBtc2dpZCAidW5rbm93biBuZnMgc3RhdHVzIHJldHVybiB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIm5pbGFpIHN0YXR1cyBiYWxpayBuZnMgdGlkYWsgZGlrZXRhaHVpOiAlZCIKKworI34gbXNnaWQgImhvc3Q6ICVzLCBkaXJlY3Rvcnk6ICVzXG4iCisjfiBtc2dzdHIgImhvc3Q6ICVzLCBkaXJla3Rvcmk6ICVzXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbid0IGdldCBhZGRyZXNzIGZvciAlc1xuIgorI34gbXNnc3RyICJ1bW91bnQ6IHRpZGFrIGRhcGF0IG1lbXBlcm9sZWggcGVyYW5na2F0IHVudHVrICVzXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGdvdCBiYWQgaG9zdHAtPmhfbGVuZ3RoXG4iCisjfiBtc2dzdHIgInVtb3VudDogbWVuZGFwYXRrYW4gaG9zdHAtPmhfbGVuZ3RoIHRpZGFrIGJhaWtcbiIKKworI34gbXNnaWQgIiVzOiBpbnZhbGlkIGNyYW1mcy0tYmFkIHBhdGggbGVuZ3RoXG4iCisjfiBtc2dzdHIgIiVzOiBjcmFtZnMgdGlkYWsgdmFsaWQgLS0gcGFuamFuZyBwYXRoIGJ1cnVrXG4iCisKKyN+IG1zZ2lkICIlczogaW52YWxpZCBjcmFtZnMtLXdyb25nIG1hZ2ljXG4iCisjfiBtc2dzdHIgIiVzOiBjcmFtZnMgdGlkYWsgdmFsaWQtLW1hZ2ljIHNhbGFoXG4iCisKKyN+IG1zZ2lkICIlczogd2FybmluZy0tZmlsZSBsZW5ndGggdG9vIGxvbmcsIHBhZGRlZCBpbWFnZT9cbiIKKyN+IG1zZ3N0ciAiJXM6IHBlcmluZ2F0YW4tLXBhbmphbmcgZmlsZSB0ZXJsYWx1IHBhbmphbmcsIHBhZGRlZCBpbWFnZT9cbiIKKworI34gbXNnaWQgIiVzOiBpbnZhbGlkIGNyYW1mcy0tY3JjIGVycm9yXG4iCisjfiBtc2dzdHIgIiVzOiBjcmFtZnMgdGlkYWsgdmFsaWQtLWNyYyBzYWxhaFxuIgorCisjfiBtc2dpZCAiJXM6IGludmFsaWQgY3JhbWZzLS1iYWQgc3VwZXJibG9ja1xuIgorI34gbXNnc3RyICIlczogY3JhbWZzIHRpZGFrIHZhbGlkLS1zdXBlcmJsb2NrIGJ1cnVrXG4iCisKKyN+IG1zZ2lkICJmbG9jazogdW5rbm93biBvcHRpb24sIGFib3J0aW5nLlxuIgorI34gbXNnc3RyICJmbG9jazogcGlsaWhhbiB0aWRhayBkaWtldGFodWksIGRpYmF0YWxrYW4uXG4iCisKKyN+IG1zZ2lkICJVc2FnZSBmbG9jayBbLS1zaGFyZWRdIFstLXRpbWVvdXQ9c2Vjb25kc10gZmlsZW5hbWUgY29tbWFuZCB7YXJnIGFyZy4uLn1cbiIKKyN+IG1zZ3N0ciAiUGVuZ2d1bmFhbjogZmxvY2sgWy0tc2hhcmVkXSBbLS10aW1lb3V0PWRldGlrXSBmaWxlbmFtZSBjb21tYW5kIHthcmcgYXJnLi4ufVxuIgpkaWZmIC0tZ2l0IGEvcG8vaXQucG8gYi9wby9pdC5wbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMzRiNDM4Ci0tLSAvZGV2L251bGwKKysrIGIvcG8vaXQucG8KQEAgLTAsMCArMSwyNDM3NyBAQAorIyBJdGFsaWFuIG1lc3NhZ2VzIGZvciB1dGlsLWxpbnV4LW5nLgorIyBDb3B5cmlnaHQgKEMpIDIwMDAsIDIwMDUsIDIwMDYsIDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UuCisjIE1hcmNvIENvbG9tYm8gPG0uY29sb21ib0BlZC5hYy51az4sIDIwMDUsIDIwMDYsIDIwMDguCisjIEJldGggUG93ZWxsIDxicG93ZWxsQHR1cmJvbGludXguY29tPiwgMjAwMC4KKyMKKyMgcGFydGl0aW9uIHRhYmxlOiB0YXZvbGEgZGVsbGUgcGFydGl6aW9uaT8gdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pPworbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdXRpbC1saW51eC1uZyAyLjEzLjEtcmMxXG4iCisiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IHV0aWwtbGludXhAdmdlci5rZXJuZWwub3JnXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTctMDItMjIgMTI6MzIrMDEwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMDgtMDQtMTggMTM6NDQrMDEwMFxuIgorIkxhc3QtVHJhbnNsYXRvcjogTWFyY28gQ29sb21ibyA8bS5jb2xvbWJvQGVkLmFjLnVrPlxuIgorIkxhbmd1YWdlLVRlYW06IEl0YWxpYW4gPHRwQGxpc3RzLmxpbnV4Lml0PlxuIgorIkxhbmd1YWdlOiBpdFxuIgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCisiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPHN0YXJ0PiA8bGVuZ3RoPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE4Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBleGlzdGVuY2Ugb2YgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjU2IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyNzYgZGlzay11dGlscy9ibG9ja2Rldi5jOjQyMAorIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ0NiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzQgZGlzay11dGlscy9kZWxwYXJ0LmM6NTcKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjcgZGlzay11dGlscy9mZGlzay5jOjcxOCBkaXNrLXV0aWxzL2ZkaXNrLmM6OTk0CisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozMDEgZGlzay11dGlscy9mZGlzay1saXN0LmM6MzQxCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNjAgZGlzay11dGlscy9mc2NrLmM6MTQ0OAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1NSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTEwCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMzQgZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4OQorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE3MyBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjYxCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzg4IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxOQorIzogZGlzay11dGlscy9ta3N3YXAuYzoyMTUgZGlzay11dGlscy9ta3N3YXAuYzoyNDQgZGlzay11dGlscy9wYXJ0eC5jOjk5NAorIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6NjQ3IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzAzCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc1NyBkaXNrLXV0aWxzL3NmZGlzay5jOjgxNiBkaXNrLXV0aWxzL3NmZGlzay5jOjg4MAorIzogZGlzay11dGlscy9zZmRpc2suYzo5MjEgZGlzay11dGlscy9zZmRpc2suYzo5NTEgZGlzay11dGlscy9zZmRpc2suYzo5ODgKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUzNyBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjYwIGxpYmZkaXNrL3NyYy9ic2QuYzo2NDEKKyM6IGxpYi9wYXRoLmM6NzAgbGliL3BhdGguYzo4MiBsb2dpbi11dGlscy9pc2xvY2FsLmM6ODcgbG9naW4tdXRpbHMvbGFzdC5jOjY3MgorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ0NiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDgzCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM1OQorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODEgbG9naW4tdXRpbHMvdmlwdy5jOjI1OCBsb2dpbi11dGlscy92aXB3LmM6Mjc2CisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDk3IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE4OCBtaXNjLXV0aWxzL21jb29raWUuYzoxMTUKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMDcgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODMgc3lzLXV0aWxzL2RtZXNnLmM6NTIyCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MDAgc3lzLXV0aWxzL2VqZWN0LmM6NzAwIHN5cy11dGlscy9mYWxsb2NhdGUuYzozNzQKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyOCBzeXMtdXRpbHMvZnN0cmltLmM6NzIgc3lzLXV0aWxzL2h3Y2xvY2suYzoyODIKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2Mzggc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTYyCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNTYgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDAxCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MjIgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDY5CisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozODggc3lzLXV0aWxzL25zZW50ZXIuYzoxMjggc3lzLXV0aWxzL3J0Y3dha2UuYzoxMzYKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MjcwIHN5cy11dGlscy9zZXRwcml2LmM6MjMwIHN5cy11dGlscy9zZXRwcml2LmM6NTI5CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1MiBzeXMtdXRpbHMvc3dhcG9uLmM6MzcxIHN5cy11dGlscy9zd2Fwb24uYzo1MTQKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2MyBzeXMtdXRpbHMvdW5zaGFyZS5jOjEwNiBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyMQorIzogc3lzLXV0aWxzL3dkY3RsLmM6MzIxIHN5cy11dGlscy93ZGN0bC5jOjM3NyB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MTgKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEyNyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQyNSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQzMQorIzogdGVybS11dGlscy9zY3JpcHQuYzo0MzMgdGVybS11dGlscy9zY3JpcHQuYzo1MjIKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTk3IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjAwCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozMzEgdGV4dC11dGlscy9jb2xjcnQuYzoyODIgdGV4dC11dGlscy9tb3JlLmM6NTEzCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjE0MSB0ZXh0LXV0aWxzL3RhaWxmLmM6NjggdGV4dC11dGlscy90YWlsZi5jOjEwMAorIzogdGV4dC11dGlscy91bC5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlICVzIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1OSBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MCBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzo5OAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBhcnRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc3RhcnQgYXJndW1lbnQiCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYxIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24iCittc2dzdHIgInJpbGVnZ2kgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NjMKK21zZ2lkICJzZXQgcmVhZC1vbmx5IgorbXNnc3RyICJpbXBvc3RhIHNvbGEgbGV0dHVyYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjcwCittc2dpZCAic2V0IHJlYWQtd3JpdGUiCittc2dzdHIgImltcG9zdGEgbGV0dHVyYS1zY3JpdHR1cmEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3NgorbXNnaWQgImdldCByZWFkLW9ubHkiCittc2dzdHIgInZpc3VhbGl6emEgc29sYSBsZXR0dXJhIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODIKK21zZ2lkICJnZXQgZGlzY2FyZCB6ZXJvZXMgc3VwcG9ydCBzdGF0dXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjg4CisjLCBmdXp6eQorbXNnaWQgImdldCBsb2dpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgInZpc3VhbGl6emEgbGEgZGltZW5zaW9uZSBkZWwgc2V0dG9yZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjk0CisjLCBmdXp6eQorbXNnaWQgImdldCBwaHlzaWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICJ2aXN1YWxpenphIGxhIGRpbWVuc2lvbmUgZGVsIHNldHRvcmUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDAKK21zZ2lkICJnZXQgbWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTA2Cittc2dpZCAiZ2V0IG9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExMgorIywgZnV6enkKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAiZGltZW5zaW9uZSBpbm9kZSBub24gY29ycmV0dGEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTgKKyMsIGZ1enp5Cittc2dpZCAiZ2V0IG1heCBzZWN0b3JzIHBlciByZXF1ZXN0IgorbXNnc3RyICJTZXR0b3JpIHN1cHBsZW1lbnRhcmkgcGVyIGNpbGluZHJvIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTI0Cittc2dpZCAiZ2V0IGJsb2Nrc2l6ZSIKK21zZ3N0ciAidmlzdWFsaXp6YSBsYSBkaW1lbnNpb25lIGRlbCBibG9jY28iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzEKK21zZ2lkICJzZXQgYmxvY2tzaXplIG9uIGZpbGUgZGVzY3JpcHRvciBvcGVuaW5nIHRoZSBibG9jayBkZXZpY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzNworbXNnaWQgImdldCAzMi1iaXQgc2VjdG9yIGNvdW50IChkZXByZWNhdGVkLCB1c2UgLS1nZXRzeikiCittc2dzdHIgIiIKKworIyBGSVhNRQorIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE0MworbXNnaWQgImdldCBzaXplIGluIGJ5dGVzIgorbXNnc3RyICJ2aXN1YWxpenphIGxhIGRpbWVuc2lvbmUgaW4gYnl0ZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1MAorbXNnaWQgInNldCByZWFkYWhlYWQiCittc2dzdHIgImltcG9zdGEgcmVhZGFoZWFkIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTU2Cittc2dpZCAiZ2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAidmlzdWFsaXp6YSByZWFkYWhlYWQiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjMKK21zZ2lkICJzZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgImltcG9zdGEgZmlsZSBzeXN0ZW0gcmVhZGFoZWFkIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTY5Cittc2dpZCAiZ2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICJ2aXN1YWxpenphIGZpbGUgc3lzdGVtIHJlYWRhaGVhZCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3MworbXNnaWQgImZsdXNoIGJ1ZmZlcnMiCittc2dzdHIgInNjYXJpY2EgaSBidWZmZXIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzcKK21zZ2lkICJyZXJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJyaWxlZ2dpIGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICUxJHMgLVZcbiIKKyIgJTEkcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyIgJTEkcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyJcbiIKKyJBdmFpbGFibGUgY29tbWFuZHM6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICUtMjVzIGdldCBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnNcbiIKK21zZ3N0ciAidmlzdWFsaXp6YSBsYSBkaW1lbnNpb25lIGluIHNldHRvcmkgZGEgNTEyIGJ5dGUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMTEKKyMsIGZ1enp5Cittc2dpZCAiY291bGQgbm90IGdldCBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgb3R0ZW5lcmUgbGEgZGltZW5zaW9uZSBkZWwgZGlzY28iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gY29tbWFuZDogJXMiCittc2dzdHIgIiVzOiBDb21hbmRvIHNjb25vc2NpdXRvOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXMgcmljaGllZGUgdW4gYXJnb21lbnRvXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNjggZGlzay11dGlscy9ibG9ja2Rldi5jOjQ3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZXJyb3Igb24gJXMiCittc2dzdHIgIiVzOiBlcnJvcmUgZGkgaW9jdGwgc3UgJXNcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQuXG4iCittc2dzdHIgIiVzIG5vbiByaXVzY2l0by5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIiVzIHJpdXNjaXRvLlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgc3lzZnMgaGFuZGxlciIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYWxsb2NhcmUgaWwgYnVmZmVyLlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHN0YXJ0IGZyb20gc3lzZnMiCittc2dzdHIgInJpbGVnZ2kgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU3RhcnRTZWMgICAgICAgICAgICBTaXplICAgRGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzkKK21zZ2lkICJCb290YWJsZSIKK21zZ3N0ciAiQXZ2aWFiaWxlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3OQorbXNnaWQgIlRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiIENhbWJpYSBmbGFnIGF2dmlhYmlsZSBwZXIgbGEgcGFydGl6aW9uZSBjb3JyZW50ZSAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgwCittc2dpZCAiRGVsZXRlIgorbXNnc3RyICJFbGltaW5hIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MAorbXNnaWQgIkRlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIkVsaW1pbmEgbGEgcGFydGl6aW9uZSBjb3JyZW50ZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODEKK21zZ2lkICJOZXciCittc2dzdHIgIk51b3ZhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MQorbXNnaWQgIkNyZWF0ZSBuZXcgcGFydGl0aW9uIGZyb20gZnJlZSBzcGFjZSIKK21zZ3N0ciAiQ3JlYXppb25lIGRpIHVuYSBudW92YSBwYXJ0aXppb25lIG5lbGxvIHNwYXppbyBkaXNwb25pYmlsZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODIKK21zZ2lkICJRdWl0IgorbXNnc3RyICJFc2NpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MgorIywgZnV6enkKK21zZ2lkICJRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIGNoYW5nZXMiCittc2dzdHIgIkVzY2kgZGFsIHByb2dyYW1tYSBzZW56YSBzY3JpdmVyZSBuZWxsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgzIGxpYmZkaXNrL3NyYy9ic2QuYzo0MzkgbGliZmRpc2svc3JjL2JzZC5jOjEwMjAKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzA2IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE2IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTYwCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTExNgorbXNnaWQgIlR5cGUiCittc2dzdHIgIlRpcG8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgzCisjLCBmdXp6eQorbXNnaWQgIkNoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgIHQgICBtb2RpZmljYSBsJ2lkIGRpIHNpc3RlbWEgZGkgdW5hIHBhcnRpemlvbmUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0Cittc2dpZCAiSGVscCIKK21zZ3N0ciAiR3VpZGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0Cittc2dpZCAiUHJpbnQgaGVscCBzY3JlZW4iCittc2dzdHIgIk1vc3RyYSBkZWxsYSBzY2hlcm1hdGEgZGVsbGEgZ3VpZGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1Cittc2dpZCAiU29ydCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NQorIywgZnV6enkKK21zZ2lkICJGaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAiICAgZiAgIGFnZ2l1c3RhIGwnb3JkaW5lIGRlbGxlIHBhcnRpemlvbmkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiV3JpdGUiCittc2dzdHIgIlNjcml2aSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAodGhpcyBtaWdodCBkZXN0cm95IGRhdGEpIgorbXNnc3RyICJTY3JpdmkgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIHN1bCBkaXNjbyAoaSBkYXRpIHBvdHJlYmJlcm8gdmVuaXIgcGVyc2kpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworbXNnaWQgIkR1bXAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiRHVtcCBwYXJ0aXRpb24gdGFibGUgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIlN0YW1wYSBkZWxsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgc3Ugc2NoZXJtbyBvIHN1IGZpbGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6NjIwIGRpc2stdXRpbHMvZmRpc2suYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVuc3VwcG9ydGVkIGRpYWxvZyB0eXBlICVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKG1vdW50ZWQpIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBub24gdHJvdmF0byIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjc0CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBuYW1lOiIKK21zZ3N0ciAiTnVtZXJvIGRlbGxhIHBhcnRpemlvbmUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI4MQorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gVVVJRDoiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXppb25pOlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyOTMKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHR5cGU6IgorbXNnc3RyICJOdW1lcm8gZGVsbGEgcGFydGl6aW9uZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzAwCittc2dpZCAiQXR0cmlidXRlczoiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzI0CisjLCBmdXp6eQorbXNnaWQgIkZpbGVzeXN0ZW0gVVVJRDoiCittc2dzdHIgIkltbWV0dGVyZSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW06ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzMxCisjLCBmdXp6eQorbXNnaWQgIkZpbGVzeXN0ZW0gTEFCRUw6IgorbXNnc3RyICJJbW1ldHRlcmUgaWwgdGlwbyBkaSBmaWxlc3lzdGVtOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMzNworIywgZnV6enkKK21zZ2lkICJGaWxlc3lzdGVtOiIKK21zZ3N0ciAiSW1tZXR0ZXJlIGlsIHRpcG8gZGkgZmlsZXN5c3RlbTogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNDIKKyMsIGZ1enp5Cittc2dpZCAiTW91bnRwb2ludDoiCittc2dzdHIgIiVzIMOoIG1vbnRhdG8uXHQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzazogJXMiCittc2dzdHIgImRpc2NvOiAlLipzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2l6ZTogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIiIKKyJcbiIKKyJEaXNjbyAlczogJWx1IGNpbGluZHJpLCAlbHUgdGVzdGluZSwgJWx1IHNldHRvcmkvdHJhY2NpYVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcywgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIklkZW50aWZpY2F0aXZvIGRpc2NvOiAweCUwOHhcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMiCittc2dzdHIgImV0aWNoZXR0YTogJS4qc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NDYKK21zZ2lkICJNYXkgYmUgZm9sbG93ZWQgYnkgTSBmb3IgTWlCLCBHIGZvciBHaUIsIFQgZm9yIFRpQiwgb3IgUyBmb3Igc2VjdG9ycy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODUyCisjLCBmdXp6eQorbXNnaWQgIlBsZWFzZSwgc3BlY2lmeSBzaXplLiIKK21zZ3N0ciAiT3B6aW9uZSAtLWRhdGUgbm9uIHNwZWNpZmljYXRhLlxuIgorCisjIEZJWE1FCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1pbmltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICJ2aXN1YWxpenphIGxhIGRpbWVuc2lvbmUgaW4gYnl0ZSIKKworIyBGSVhNRQorIzogZGlzay11dGlscy9jZmRpc2suYzoxODgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNYXhpbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAidmlzdWFsaXp6YSBsYSBkaW1lbnNpb25lIGluIGJ5dGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5MAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2l6ZS4iCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0OAorIywgZnV6enkKK21zZ2lkICJTZWxlY3QgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIlBhcnRpemlvbmUgc2VsZXppb25hdGEgJWRcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTk0IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAyNAorIywgZnV6enkKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lOiAiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSB0cm92YXJlIGlsIGRpc3Bvc2l0aXZvIHBlciAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5OTUKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHNjcmlwdCBmaWxlIHdpbGwgYmUgYXBwbGllZCB0byBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgc2NyaXZlcmUgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pLlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMDQgZGlzay11dGlscy9jZmRpc2suYzoyMDQ2CisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjUgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYXByaXJlICVzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwNiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAiaW9jdGwoKSBub24gw6ggcml1c2NpdG8gYSBsZWdnZXJlIGwnb3JhcmlvIGRhICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMDggZGlzay11dGlscy9mZGlzay1tZW51LmM6NDY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0ICVzIgorbXNnc3RyICJpb2N0bCgpIG5vbiDDqCByaXVzY2l0byBhIGxlZ2dlcmUgbCdvcmFyaW8gZGEgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAyNQorbXNnaWQgIlRoZSBjdXJyZW50IGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUgd2lsbCBiZSBkdW1wZWQgdG8gdGhlIGZpbGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0OTEKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzOQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBkaXNrIGxheW91dCBpbnRvIHNjcmlwdC4iCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDUzCittc2dpZCAiRGlzayBsYXlvdXQgc3VjY2Vzc2Z1bGx5IGR1bXBlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDU2IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIHNjcmlwdCAlcyIKK21zZ3N0ciAiaW9jdGwoKSBub24gw6ggcml1c2NpdG8gYSBsZWdnZXJlIGwnb3JhcmlvIGRhICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwOTIKKyMsIGZ1enp5Cittc2dpZCAiU2VsZWN0IGxhYmVsIHR5cGUiCittc2dzdHIgIlRpcG8gbm9uIHZhbGlkb1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwOTUgZGlzay11dGlscy9mZGlzay5jOjEwMTcKKyMsIGZ1enp5Cittc2dpZCAiRGV2aWNlIGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIklsIGRpc2NvICVzIG5vbiBjb250aWVuZSB1bmEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIHZhbGlkYVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMDEKK21zZ2lkICJTZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBsYWJlbCBvciBwcmVzcyAnTCcgdG8gbG9hZCBzY3JpcHQgZmlsZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ2CisjLCBmdXp6eQorbXNnaWQgIlRoaXMgaXMgY2ZkaXNrLCBhIGN1cnNlcy1iYXNlZCBkaXNrIHBhcnRpdGlvbmluZyBwcm9ncmFtLiIKK21zZ3N0ciAiUXVlc3RvIMOoIGNmZGlzaywgdW4gcHJvZ3JhbW1hIHBlciBsYSBwYXJ0aXppb25lIGRlaSBkaXNjaGkgYmFzYXRvIHN1IGN1cnNlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ3CisjLCBmdXp6eQorbXNnaWQgIkl0IGxldHMgeW91IGNyZWF0ZSwgZGVsZXRlLCBhbmQgbW9kaWZ5IHBhcnRpdGlvbnMgb24gYSBibG9jayBkZXZpY2UuIgorbXNnc3RyICJjb25zZW50ZSBkaSBjcmVhcmUsIGNhbmNlbGxhcmUgZSBtb2RpZmljYXJlIGxlIHBhcnRpemlvbmkgc3VsIGRpc2NvIGZpc3NvIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDkKK21zZ2lkICJDb21tYW5kICAgICAgTWVhbmluZyIKK21zZ3N0ciAiQ29tYW5kbyAgICAgc2lnbmlmaWNhdG8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MAorbXNnaWQgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorbXNnc3RyICItLS0tLS0tICAgICAgLS0tLS0tLSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUxCittc2dpZCAiICBiICAgICAgICAgIFRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiIGIgICAgICAgICAgQ2FtYmlhIGZsYWcgYXZ2aWFiaWxlIHBlciBsYSBwYXJ0aXppb25lIGNvcnJlbnRlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTIKK21zZ2lkICIgIGQgICAgICAgICAgRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiIGQgICAgICAgICAgRWxpbWluYSBsYSBwYXJ0aXppb25lIGNvcnJlbnRlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTMKK21zZ2lkICIgIGggICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCittc2dzdHIgIiBoICAgICAgICAgIFN0YW1wYXJlIHF1ZXN0YSBzY2hlcm1hdGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NAorbXNnaWQgIiAgbiAgICAgICAgICBDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIiBuICAgICAgICAgIENyZWF6aW9uZSBkaSB1bmEgbnVvdmEgcGFydGl6aW9uZSBuZWxsbyBzcGF6aW8gZGlzcG9uaWJpbGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NQorbXNnaWQgIiAgcSAgICAgICAgICBRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICBxICAgICAgICAgIEVzY2UgZGFsIHByb2dyYW1tYSBzZW56YSBzY3JpdmVyZSBuZWxsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NgorIywgZnV6enkKK21zZ2lkICIgIHMgICAgICAgICAgRml4IHBhcnRpdGlvbnMgb3JkZXIgKG9ubHkgd2hlbiBpbiBkaXNhcnJheSkiCittc2dzdHIgIiAgICAgICAgICAgICBwYXJhbWV0cmlcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU3CisjLCBmdXp6eQorbXNnaWQgIiAgdCAgICAgICAgICBDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgdCAgICAgICAgICBDYW1iaWEgaWwgdGlwbyBkaSBmaWxlc3lzdGVtIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTgKK21zZ2lkICIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTkKKyMsIGZ1enp5Cittc2dpZCAiICBXICAgICAgICAgIFdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh5b3UgbXVzdCBlbnRlciB1cHBlcmNhc2UgVyk7IgorbXNnc3RyICIgVyAgICAgICAgICBTY3JpdHR1cmEgZGVsbGEgdGFiZWxsYSBkaSBwYXJ0aXppb25lIHN1bCBkaXNjbyAoc2kgZGV2ZSBpbnNlcmlyZSBsYSBXIG1haXVzY29sYSkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MAorIywgZnV6enkKK21zZ2lkICIgICAgICAgICAgICAgICBzaW5jZSB0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSBvbiB0aGUgZGlzaywgeW91IG11c3QgZWl0aGVyIgorbXNnc3RyICIgICAgICAgICAgICBEYXRvIGNoZSBpbiBxdWVzdG8gbW9kbyDDqCBwb3NzaWJpbGUgZWxpbWluYXJlIGRhdGkgc3VsIGRpc2NvLCBzaSBkZXZlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAgICAgICAgICAgY29uZmlybSBvciBkZW55IHRoZSB3cml0ZSBieSBlbnRlcmluZyAneWVzJyBvciAnbm8nIgorbXNnc3RyICIgICAgICAgICAgICBjb25mZXJtYXJlIG8gbmVnYXJlIGxhIHNjcml0dHVyYSBpbnNlcmVuZG8gXCJzaVwiIG8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MgorIywgZnV6enkKK21zZ2lkICIgIHggICAgICAgICAgRGlzcGxheS9oaWRlIGV4dHJhIGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjMKK21zZ2lkICJVcCBBcnJvdyAgICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIHBhcnRpdGlvbiIKK21zZ3N0ciAiRnJlY2NpYSBTdSAgICAgIHNwb3N0YSBpbCBjdXJzb3JlIGFsbGEgcGFydGl6aW9uZSBwcmVjZWRlbnRlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjQKK21zZ2lkICJEb3duIEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgcGFydGl0aW9uIgorbXNnc3RyICJGcmVjY2lhIEdpw7kgICBzcG9zdGEgaWwgY3Vyc29yZSBhbGxhIHBhcnRpemlvbmUgc3VjY2Vzc2l2YSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY1CisjLCBmdXp6eQorbXNnaWQgIkxlZnQgQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgbWVudSBpdGVtIgorbXNnc3RyICJGcmVjY2lhIFN1ICAgICAgc3Bvc3RhIGlsIGN1cnNvcmUgYWxsYSBwYXJ0aXppb25lIHByZWNlZGVudGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2NgorIywgZnV6enkKK21zZ2lkICJSaWdodCBBcnJvdyAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgbWVudSBpdGVtIgorbXNnc3RyICJGcmVjY2lhIEdpw7kgICBzcG9zdGEgaWwgY3Vyc29yZSBhbGxhIHBhcnRpemlvbmUgc3VjY2Vzc2l2YSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY4Cittc2dpZCAiTm90ZTogQWxsIG9mIHRoZSBjb21tYW5kcyBjYW4gYmUgZW50ZXJlZCB3aXRoIGVpdGhlciB1cHBlciBvciBsb3dlciIKK21zZ3N0ciAiTm90YTogw6ggcG9zc2liaWxlIGltbWV0dGVyZSB0dXR0aSBpIGNvbWFuZGkgaW4gbWFpdXNjb2xvIG8gbWludXNjb2xvIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjkKKyMsIGZ1enp5Cittc2dpZCAiY2FzZSBsZXR0ZXJzIChleGNlcHQgZm9yIFdyaXRlKS4iCittc2dzdHIgImxldHRlcmUgbWFpdXNjb2xlL21pbnVzY29sZSAoZmF0dGEgZWNjZXppb25lIHBlciBXcml0ZXMpLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTcxCittc2dpZCAiVXNlIGxzYmxrKDgpIG9yIHBhcnR4KDgpIHRvIHNlZSBtb3JlIGRldGFpbHMgYWJvdXQgdGhlIGRldmljZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzNworIywgZnV6enkKK21zZ2lkICJQcmVzcyBhIGtleSB0byBjb250aW51ZS4iCittc2dzdHIgIlByZW1lcmUgdW4gdGFzdG8gcGVyIGNvbnRpbnVhcmUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI2MAorIywgZnV6enkKK21zZ2lkICJDb3VsZCBub3QgdG9nZ2xlIHRoZSBmbGFnLiIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYXByaXJlICVzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiUGFydGl6aW9uZSBzZWxlemlvbmF0YSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNzIgZGlzay11dGlscy9mZGlzay1tZW51LmM6NjMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGhhcyBiZWVuIGRlbGV0ZWQuIgorbXNnc3RyICJMYSBwYXJ0aXppb25lICVkIG5vbiBoYSBhcmVhIGRhdGlcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjkzCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBzaXplOiAiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXppb25pOlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiTW9kaWZpY2F0byBpbCB0aXBvIGRpIHNpc3RlbWEgZGVsbGEgcGFydGl6aW9uZSAlZCBpbiAleCAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIHR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJNb2RpZmljYXRvIGlsIHRpcG8gZGkgc2lzdGVtYSBkZWxsYSBwYXJ0aXppb25lICVkIGluICV4ICglcylcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzUzIGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ2NiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTkxCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzAKK21zZ2lkICJEZXZpY2UgaXMgb3BlbiBpbiByZWFkLW9ubHkgbW9kZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzU4CisjLCBmdXp6eQorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAiU2ljdXJvIGRpIHZvbGVyIHNjcml2ZXJlIGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBzdSBkaXNjbz8gKHNpIG8gbm8pOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM2MAorbXNnaWQgIlR5cGUgXCJ5ZXNcIiBvciBcIm5vXCIsIG9yIHByZXNzIEVTQyB0byBsZWF2ZSB0aGlzIGRpYWxvZy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzY1IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE1NDAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1NTAKK21zZ2lkICJ5ZXMiCittc2dzdHIgInNpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjYKKyMsIGZ1enp5Cittc2dpZCAiRGlkIG5vdCB3cml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4iCittc2dzdHIgIlNjcml0dHVyYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgc3UgZGlzY28gbm9uIGVmZmV0dHVhdGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3MQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsLiIKK21zZ3N0ciAicmljZXJjYSBpbiB3cml0ZV90YWJsZXMgbm9uIHJpdXNjaXRhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzQgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTc4CisjLCBmdXp6eQorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIiIKKyJMYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgw6ggc3RhdGEgYWx0ZXJhdGEhXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM5NyBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NjgKKyMsIGZ1enp5Cittc2dpZCAiTm90ZSB0aGF0IHBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlciBub3cuIgorbXNnc3RyICIiCisiXG4iCisiTGUgdm9jaSBuZWxsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgbm9uIHNvbm8gbmVsbG8gc3Rlc3NvIG9yZGluZSBkZWwgZGlzY29cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlOyBpdCB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIG5ldyBkaXNrbGFiZWwiCittc2dzdHIgInJpY2VyY2EgaW4gd3JpdGVfdGFibGVzIG5vbiByaXVzY2l0YSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDUzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIHBhcnRpdGlvbnMiCittc2dzdHIgInJpbGVnZ2kgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz5cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTQ5IGRpc2stdXRpbHMvZmRpc2suYzo3MzYgZGlzay11dGlscy9zZmRpc2suYzoxODEwCisjLCBmdXp6eQorbXNnaWQgIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSBhIGRpc2sgcGFydGl0aW9uIHRhYmxlLlxuIgorbXNnc3RyICJyaWxlZ2dpIGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTUyCisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTU1CisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgc3RhcnQgd2l0aCB6ZXJvZWQgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTk0IGRpc2stdXRpbHMvZmRpc2suYzo4ODIgZGlzay11dGlscy9zZmRpc2suYzoyMDc3CisjOiBtaXNjLXV0aWxzL2NhbC5jOjM5MCBzeXMtdXRpbHMvZG1lc2cuYzoxMzMzIHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNAorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb2xvciBtb2RlIgorbXNnc3RyICJuZXNzdW4gY29tYW5kbz9cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjEyIGRpc2stdXRpbHMvZmRpc2suYzo4MTggZGlzay11dGlscy9zZmRpc2suYzoyMjMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPlxuIgorbXNnc3RyICJVc286IHNmZGlzayAtLWlkIG51bWVybyBwYXJ0aXppb25lIGRpc3Bvc2l0aXZvIFtJZF1cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTgKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgdG8gZm9yZ2V0IGFib3V0IGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlIHBhcnRpdGlvbiIKK21zZ3N0ciAicmlsZWdnaSBsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICJGb3JtYXR0aW5nIC4uLiAiCittc2dzdHIgIkZvcm1hdHRhemlvbmUgaW4gY29yc28uLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NjggZGlzay11dGlscy9mZGZvcm1hdC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJkb25lXG4iCittc2dzdHIgImZhdHRvXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJWZXJpZnlpbmcgLi4uICIKK21zZ3N0ciAiVmVyaWZpY2EgaW4gY29yc28uLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTA4Cittc2dpZCAiUmVhZDogIgorbXNnc3RyICJMZWdnZXJlOiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlByb2JsZW0gcmVhZGluZyB0cmFjay9oZWFkICV1LyV1LCBleHBlY3RlZCAlZCwgcmVhZCAlZFxuIgorbXNnc3RyICJQcm9ibGVtYSBkdXJhbnRlIGxhIGxldHR1cmEgZGVsIGNpbGluZHJvICVkLCAlZCBwcmV2aXN0bywgbGV0dHVyYSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiYmFkIGRhdGEgaW4gdHJhY2svaGVhZCAldS8ldVxuIgorIkNvbnRpbnVpbmcgLi4uICIKK21zZ3N0ciAiIgorImRhdGkgZGFubmVnZ2lhdGkgbmVsIGNpbCAlZFxuIgorIkNvbnRpbnVhIC4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTgyCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjExNyBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1NiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg0CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0OAorbXNnaWQgIkRvIGEgbG93LWxldmVsIGZvcm1hdHRpbmcgb2YgYSBmbG9wcHkgZGlzay5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUxCittc2dpZCAiIC1mLCAtLWZyb20gPE4+ICAgIHN0YXJ0IGF0IHRoZSB0cmFjayBOIChkZWZhdWx0IDApXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MgorbXNnaWQgIiAtdCwgLS10byA8Tj4gICAgICBzdG9wIGF0IHRoZSB0cmFjayBOXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MworbXNnaWQgIiIKKyIgLXIsIC0tcmVwYWlyIDxOPiAgdHJ5IHRvIHJlcGFpciB0cmFja3MgZmFpbGVkIGR1cmluZ1xuIgorIiAgICAgICAgICAgICAgICAgICAgIHRoZSB2ZXJpZmljYXRpb24gKG1heCBOIHJldHJpZXMpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1NQorbXNnaWQgIiAtbiwgLS1uby12ZXJpZnkgICBkaXNhYmxlIHRoZSB2ZXJpZmljYXRpb24gYWZ0ZXIgdGhlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIGZyb20iCittc2dzdHIgImlkIG5vbiB2YWxpZG86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHRvIgorbXNnc3RyICJpZCBub24gdmFsaWRvOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjAxCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSByZXBhaXIiCittc2dzdHIgImlkIG5vbiB2YWxpZG86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1MQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4NSBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzM4CisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzQ4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODUKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxNiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0MSBkaXNrLXV0aWxzL3BhcnR4LmM6OTMzCisjOiBsb2dpbi11dGlscy9sYXN0LmM6Njg2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM5IG1pc2MtdXRpbHMvbmFtZWkuYzoxMzUKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjMgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODYgc3lzLXV0aWxzL2RtZXNnLmM6NTI0CisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTk4IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzMSBzeXMtdXRpbHMvZnN0cmltLmM6NzcKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1MTkgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6OTMKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjEzMyB0ZXJtLXV0aWxzL21lc2cuYzoxMjkgdGV4dC11dGlscy9tb3JlLmM6NTA0CisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTAzIHRleHQtdXRpbHMvdGFpbGYuYzoyODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInN0YXQgb2YgJXMgZmFpbGVkIgorbXNnc3RyICIoRmlsZSBzdWNjZXNzaXZvOiAlcykiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjQgZGlzay11dGlscy9wYXJ0eC5jOjk5MSBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ4NQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODggc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBub24gc2kgdHJhdHRhIGRpIHVuIGRpc3Bvc2l0aXZvIGEgYmxvY2NoaVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI5CisjLCBmdXp6eQorbXNnaWQgImNvdWxkIG5vdCBkZXRlcm1pbmUgY3VycmVudCBmb3JtYXQgdHlwZSIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgZGV0ZXJtaW5hcmUgaWwgdGlwbyBkaSBmb3JtYXRvIGF0dHVhbGUiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMtc2lkZWQsICVkIHRyYWNrcywgJWQgc2VjL3RyYWNrLiBUb3RhbCBjYXBhY2l0eSAlZCBrQi5cbiIKK21zZ3N0ciAiZmFjY2lhICVzLCAlZCB0cmFjY2UsICVkIHNlYy90cmFjY2lhLiBDYXBhY2l0w6AgdG90YWxlICVkIGtCLlxuIgorCisjIFF1ZXN0byBtZXNzYWdnaW8gZSBxdWVsbG8gc3VjY2Vzc2l2byBjb25jb3JkYW5vIGNvbiAiZmFjY2lhIiBkZWwgbWVzc2FnZ2lvIAorIyBzb3ByYS4KKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzIKK21zZ2lkICJEb3VibGUiCittc2dzdHIgImRvcHBpYSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMgorbXNnaWQgIlNpbmdsZSIKK21zZ3N0ciAic2luZ29sYSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzOQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQxCittc2dpZCAidXNlciBkZWZpbmVkIGVuZCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQzCittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIHVzZXIgZGVmaW5lZCBlbmQgdHJhY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI1MSBtaXNjLXV0aWxzL2xvZ2dlci5jOjk4NworIywgZnV6enkKK21zZ2lkICJjbG9zZSBmYWlsZWQiCittc2dzdHIgInJpY2VyY2Egbm9uIHJpdXNjaXRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTUgZGlzay11dGlscy9mZGlzay5jOjExMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkRvIHlvdSByZWFsbHkgd2FudCB0byBxdWl0PyAiCittc2dzdHIgIkNvbnRpbnVhcmU/IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3QgKGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICgldS0ldSwgcHJlZGVmaW5pdG8gJXUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIGRlZmF1bHQgcmVzcG9uc2UgJWMuIgorbXNnc3RyICJVdGlsaXp6byBkZWwgdmFsb3JlIHByZWRlZmluaXRvICV1XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxNzYgZGlzay11dGlscy9mZGlzay5jOjI1MCBkaXNrLXV0aWxzL2ZkaXNrLmM6MzI1CisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTE4OSBsaWJmZGlzay9zcmMvZ3B0LmM6MjI3NworIywgZnV6enkKK21zZ2lkICJWYWx1ZSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJWYWxvcmUgZnVvcmkgaW50ZXJ2YWxsby5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJXUtJXUsIHByZWRlZmluaXRvICV1KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA4IGRpc2stdXRpbHMvZmRpc2suYzoyNzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICgldS0ldSwgcHJlZGVmaW5pdG8gJXUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCV1LSV1LCBwcmVkZWZpbml0byAldSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIxNyBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0PiwgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICgldS0ldSwgcHJlZGVmaW5pdG8gJXUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYyk6ICIKK21zZ3N0ciAiJXMgKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjIzIGRpc2stdXRpbHMvZmRpc2suYzoyODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzozOTIgZGlzay11dGlscy9zZmRpc2suYzoxOTcKK21zZ2lkICIgW1ldZXMvW05dbzogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0MzMKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHR5cGUgKHR5cGUgTCB0byBsaXN0IGFsbCB0eXBlcyk6ICIKK21zZ3N0ciAiQ29kaWNlIGVzYWRlY2ltYWxlIChkaWdpdGFyZSBMIHBlciBlbGVuY2FyZSBpIGNvZGljaSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQzNAorIywgZnV6enkKK21zZ2lkICJIZXggY29kZSAodHlwZSBMIHRvIGxpc3QgYWxsIGNvZGVzKTogIgorbXNnc3RyICJDb2RpY2UgZXNhZGVjaW1hbGUgKGRpZ2l0YXJlIEwgcGVyIGVsZW5jYXJlIGkgY29kaWNpKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTM2CisjLCBmdXp6eQorbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgc2V0IChERVBSRUNBVEVEISkiCittc2dzdHIgIkltcG9zdGF0byBpbCBmbGFnIGNvbXBhdGliaWxlIGNvbiBET1NcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjUzNworIywgZnV6enkKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIG5vdCBzZXQiCittc2dzdHIgIklsIGZsYWcgY29tcGF0aWJpbGUgY29uIERPUyBub24gw6ggaW1wb3N0YXRvXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NTggZGlzay11dGlscy9mZGlzay5jOjU5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBleGlzdCB5ZXQhIgorbXNnc3RyICJMYSBwYXJ0aXppb25lICVkIG5vbiBlc2lzdGUgYW5jb3JhIVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTYzIGRpc2stdXRpbHMvZmRpc2suYzo1NzIgbGliZmRpc2svc3JjL2Fzay5jOjk5NQorbXNnaWQgIlVua25vd24iCittc2dzdHIgIlNjb25vc2NpdXRvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICclcycgdG8gJyVzJy4iCittc2dzdHIgIk1vZGlmaWNhdG8gaWwgdGlwbyBkaSBzaXN0ZW1hIGRlbGxhIHBhcnRpemlvbmUgJWQgaW4gJXggKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUeXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkOiAlcy4iCittc2dzdHIgIk1vZGlmaWNhdG8gaWwgdGlwbyBkaSBzaXN0ZW1hIGRlbGxhIHBhcnRpemlvbmUgJWQgaW4gJXggKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlMTVzOiAlcyIKK21zZ3N0ciAiZGlzY286ICUuKnNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXM6IG9mZnNldCA9ICU8UFJJdTY0Piwgc2l6ZSA9ICV6dSBieXRlcy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY3NworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2VlayIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZWZmZXR0dWFyZSBpbCBmb3JrIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjgyCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCByZWFkIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgbGVnZ2VyZSAlcy5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY5NSBsaWJmZGlzay9zcmMvYnNkLmM6MjU5IGxpYmZkaXNrL3NyYy9kb3MuYzo5MzMKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEwCisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IHNlY3RvciIKK21zZ3N0ciAiUHJpbW8gJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzIgorbXNnc3RyICJCTEtHRVRTSVpFIGlvY3RsIG5vbiByaXVzY2l0byBzdSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRpc2s+ICAgICAgY2hhbmdlIHBhcnRpdGlvbiB0YWJsZVxuIgorIiAlMSRzIFtvcHRpb25zXSAtbCBbPGRpc2s+XSBsaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MzkKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLXNlY3Rvci1zaXplIDxzaXplPiAgICAgIHBoeXNpY2FsIGFuZCBsb2dpY2FsIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDAKK21zZ2lkICIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAgZG9uJ3QgZXJhc2UgYm9vdGJpdHMgd2hlbiBjcmVhdGluZyBhIG5ldyBsYWJlbFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDEKK21zZ2lkICIgLWMsIC0tY29tcGF0aWJpbGl0eVs9PG1vZGU+XSAgbW9kZSBpcyAnZG9zJyBvciAnbm9uZG9zJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQyCisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ1CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHBhcnRpdGlvbnMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ2CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgICAgICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9b3B0c3RyaW5nICAgICAgT3B6aW9uaSBicmV2aSBkYSByaWNvbm9zY2VyZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ3CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICAgICAgICAgICByZWNvZ25pemUgc3BlY2lmaWVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIG9ubHlcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ4Cittc2dpZCAiIC11LCAtLXVuaXRzWz08dW5pdD5dICAgICAgICAgIGRpc3BsYXkgdW5pdHM6ICdjeWxpbmRlcnMnIG9yICdzZWN0b3JzJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ5CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1nZXRzeiAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGRldmljZSBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnMgW0RFUFJFQ0FURURdXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzUwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1MQorIywgZnV6enkKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTMKKyMsIGZ1enp5Cittc2dpZCAiIC1XLCAtLXdpcGUtcGFydGl0aW9ucyA8bW9kZT4gIHdpcGUgc2lnbmF0dXJlcyBmcm9tIG5ldyBwYXJ0aXRpb25zIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1NQorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorbXNnc3RyICJJbW1ldHRlcmUgaWwgbnVtZXJvIGRpIGNpbGluZHJpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTYKKyMsIGZ1enp5Cittc2dpZCAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBoZWFkc1xuIgorbXNnc3RyICIgICAgLUgjIFtvIC0taGVhZHMgI106ICAgIGltcG9zdGEgaWwgbnVtZXJvIGRpIHRlc3RpbmUgZGEgdXRpbGl6emFyZSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1NworIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2VjdG9ycyA8bnVtYmVyPiAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrXG4iCittc2dzdHIgIkltbWV0dGVyZSBpbCBudW1lcm8gZGVpIHNldHRvcmkgcGVyIHRyYWNjaWE6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNlY3RvciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJpZCBub24gdmFsaWRvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODQwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY3lsaW5kZXJzIGFyZ3VtZW50IgorbXNnc3RyICJpZCBub24gdmFsaWRvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODUyCisjLCBmdXp6eQorbXNnaWQgIm5vdCBmb3VuZCBET1MgbGFiZWwgZHJpdmVyIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgdHJvdmFyZSBpbCBkaXNwb3NpdGl2byBwZXIgJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb21wYXRpYmlsaXR5IG1vZGUgJyVzJyIKK21zZ3N0ciAiTmVzc3VuYSBkaXJlY3RvcnkgJXMhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NjcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBoZWFkcyBhcmd1bWVudCIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg3MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNlY3RvcnMgYXJndW1lbnQiCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2tsYWJlbDogJXMiCittc2dzdHIgIiVzOiBhcmdvbWVudG8gc2Nvbm9zY2l1dG86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MTYgZGlzay11dGlscy9mZGlzay5jOjkyMSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0NgorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB3aXBlIG1vZGUiCittc2dzdHIgIm5lc3N1biBjb21hbmRvP1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTM0CisjLCBmdXp6eQorbXNnaWQgIlRoZSBkZXZpY2UgcHJvcGVydGllcyAoc2VjdG9yIHNpemUgYW5kIGdlb21ldHJ5KSBzaG91bGQgYmUgdXNlZCB3aXRoIG9uZSBzcGVjaWZpZWQgZGV2aWNlIG9ubHkuIgorbXNnc3RyICJBdHRlbnppb25lOiBsJ29wemlvbmUgLWIgKG1wb3N0YXppb25lIGRlbGxhIGRpbWVuc2lvbmUgZGVsIHNldHRvcmUpIHNpIGRvdnJlYmJlIHV0aWxpenphcmUgY29uIHVuIGRpc3Bvc2l0aXZvIHNwZWNpZmljYXRvXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VsY29tZSB0byBmZGlzayAoJXMpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4OAorIywgZnV6enkKK21zZ2lkICIiCisiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorIkJlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLlxuIgorbXNnc3RyICIiCisiQ3JlYXppb25lIGRpIHVuYSBudW92YSBkaXNrbGFiZWwgc3VuLiBMZSBtb2RpZmljaGUgcmltYXJyYW5ubyBtZW1vcml6emF0ZVxuIgorInNvbGFtZW50ZSBmaW5vIGEgcXVhbmRvIHNpIGRlY2lkZSBkaSBzY3JpdmVybGUuIERvcG9kaWNow6ksIGNoaWFyYW1lbnRlLCBpbFxuIgorImNvbnRlbnV0byBwcmVjZWRlbnRlIG5vbiBzYXLDoCByZWN1cGVyYWJpbGUuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYxMworIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJXMgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMTAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTQyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ4NAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNjIyCittc2dpZCAiVGhlIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxMyBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjUKK21zZ2lkICJJdCBpcyBzdHJvbmdseSByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSBkZXZpY2Ugd2l0aCB3aXBlZnMoOCksIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDIyCittc2dpZCAiQSBoeWJyaWQgR1BUIHdhcyBkZXRlY3RlZC4gWW91IGhhdmUgdG8gc3luYyB0aGUgaHlicmlkIE1CUiBtYW51YWxseSAoZXhwZXJ0IGNvbW1hbmQgJ00nKS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICIiCisiXG4iCisiRGlzY28gJXM6ICVsdSBjaWxpbmRyaSwgJWx1IHRlc3RpbmUsICVsdSBzZXR0b3JpL3RyYWNjaWFcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdlb21ldHJ5OiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzL3RyYWNrLCAlbGx1IGN5bGluZGVycyIKK21zZ3N0ciAiJWQgdGVzdGluZSwgJWxsdSBzZXR0b3JpL3RyYWNjZSwgJWQgY2lsaW5kcmkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjU5IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5pdHM6ICVzIG9mICVkICogJWxkID0gJWxkIGJ5dGVzIgorbXNnc3RyICJVbml0w6AgPSAlcyBkaSAlZCAqICVkID0gJWQgYnl0ZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2NSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25tZW50IG9mZnNldDogJWx1IGJ5dGVzIgorbXNnc3RyICJkaW1lbnNpb25lIGlub2RlIG5vbiBjb3JyZXR0YSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB0eXBlOiAlcyIKK21zZ3N0ciAiVW5pdMOgIGRpc2NvOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiSWRlbnRpZmljYXRpdm8gZGlzY286IDB4JTA4eFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMDkgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjE5CisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjQ0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBpdGVyYXRvciIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYWxsb2NhcmUgaWwgYnVmZmVyLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMTUgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTU2IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI0OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4iCittc2dzdHIgIkxhIHBhcnRpemlvbmUgJWkgbm9uIGluaXppYSBhbCBsaW1pdGUgZGVsIGNpbGluZHJvOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxOTIKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLiIKK21zZ3N0ciAiIgorIlxuIgorIkxlIHZvY2kgbmVsbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIG5vbiBzb25vIG5lbGxvIHN0ZXNzbyBvcmRpbmUgZGVsIGRpc2NvXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNSBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMAorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTIgbGliZmRpc2svc3JjL3NnaS5jOjExNTQgbGliZmRpc2svc3JjL3N1bi5jOjExMTAKKyMsIGZ1enp5Cittc2dpZCAiU3RhcnQiCittc2dzdHIgImluaXppbyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE2IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAxCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxMyBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NSBsaWJmZGlzay9zcmMvc3VuLmM6MTExMQorbXNnaWQgIkVuZCIKK21zZ3N0ciAiRmluZSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE3IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAyCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NiBsaWJmZGlzay9zcmMvc3VuLmM6MTExMgorbXNnaWQgIlNlY3RvcnMiCittc2dzdHIgIlNldHRvcmkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOSBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNAorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTUgbGliZmRpc2svc3JjL3NnaS5jOjExNTggbGliZmRpc2svc3JjL3N1bi5jOjExMTQKK21zZ2lkICJTaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5wYXJ0aXRpb25lZCBzcGFjZSAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIiIKKyJcbiIKKyJEaXNjbyAlczogJWx1IGNpbGluZHJpLCAlbHUgdGVzdGluZSwgJWx1IHNldHRvcmkvdHJhY2NpYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC1vKTpcbiIKK21zZ3N0ciAiQ29tYW5kaSBkaXNwb25pYmlsaTpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgIiVzOiBDb21hbmRvIHNjb25vc2NpdXRvOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NQorbXNnaWQgIkdlbmVyaWMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTYKKyMsIGZ1enp5Cittc2dpZCAiZGVsZXRlIGEgcGFydGl0aW9uIgorbXNnc3RyICIgICBkICAgY2FuY2VsbGF6aW9uZSBkaSB1bmEgcGFydGl6aW9uZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTcKKyMsIGZ1enp5Cittc2dpZCAibGlzdCBmcmVlIHVucGFydGl0aW9uZWQgc3BhY2UiCittc2dzdHIgIiAgIGUgICBlbGVuY28gZGVsbGUgcGFydGl6aW9uaSBlc3Rlc2UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk4CisjLCBmdXp6eQorbXNnaWQgImxpc3Qga25vd24gcGFydGl0aW9uIHR5cGVzIgorbXNnc3RyICIgICBsICAgZWxlbmNvIGRlaSB0aXBpIGRpIHBhcnRpemlvbmUgY29ub3NjaXV0aSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiYWRkIGEgbmV3IHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgbiAgIGFnZ2l1bnRhIGRpIHVuYSBudW92YSBwYXJ0aXppb25lIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiU3RhbXBhcmUgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGEgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgIHQgICBtb2RpZmljYSBsJ2lkIGRpIHNpc3RlbWEgZGkgdW5hIHBhcnRpemlvbmUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMgorIywgZnV6enkKK21zZ2lkICJ2ZXJpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgdiAgIHZlcmlmaWNhIGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzCisjLCBmdXp6eQorbXNnaWQgInByaW50IGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICIlczogbm9uIHNpIHRyYXR0YSBkaSB1biBkaXNwb3NpdGl2byBhIGJsb2NjaGlcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1CisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAiICAgZCAgIHN0YW1wYSBkZWkgZGF0aSBncmV6emkgbmVsbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDYKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBkaXNrbGFiZWwgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICIgICBkICAgc3RhbXBhIGRlaSBkYXRpIGdyZXp6aSBuZWxsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNworIywgZnV6enkKK21zZ2lkICJmaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAiICAgZiAgIGFnZ2l1c3RhIGwnb3JkaW5lIGRlbGxlIHBhcnRpemlvbmkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwOQorbXNnaWQgIk1pc2MiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEwCisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoaXMgbWVudSIKK21zZ3N0ciAiICAgbSAgIHN0YW1wYSBkaSBxdWVzdG8gbWVudSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTExCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXNwbGF5L2VudHJ5IHVuaXRzIgorbXNnc3RyICIgICB1ICAgbW9kaWZpY2EgZGVsbGUgdW5pdMOgIGRpIHZpc3VhbGl6emF6aW9uZS9kaSBpbW1pc3Npb25lIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTIKKyMsIGZ1enp5Cittc2dpZCAiZXh0cmEgZnVuY3Rpb25hbGl0eSAoZXhwZXJ0cyBvbmx5KSIKK21zZ3N0ciAiIHggICB1bHRlcmlvcmkgZnVuemlvbmkgKHNvbG8gcGVyIGVzcGVydGkpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTQKK21zZ2lkICJTY3JpcHQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE1Cittc2dpZCAibG9hZCBkaXNrIGxheW91dCBmcm9tIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTYKK21zZ2lkICJkdW1wIGRpc2sgbGF5b3V0IHRvIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTgKK21zZ2lkICJTYXZlICYgRXhpdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTkKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdCIKK21zZ3N0ciAiICAgdyAgIHNjcml2aSBsYSB0YWJlbGxhIHN1IGRpc2NvIGVkIGVzY2kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMAorIywgZnV6enkKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIgorbXNnc3RyICIgICB3ICAgc2NyaXR0dXJhIGRlbCBkaXNrbGFiZWwgc3UgZGlzY28iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMQorIywgZnV6enkKK21zZ2lkICJxdWl0IHdpdGhvdXQgc2F2aW5nIGNoYW5nZXMiCittc2dzdHIgIiAgIHEgICB1c2NpdGEgc2VuemEgc2FsdmF0YWdnaW8gZGVsbGUgbW9kaWZpY2hlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAicmV0dXJuIHRvIG1haW4gbWVudSIKK21zZ3N0ciAiICAgciAgIHJpdG9ybm8gYWwgbWVudSBwcmluY2lwYWxlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjQKK21zZ2lkICJyZXR1cm4gZnJvbSBCU0QgdG8gRE9TIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNQorIywgZnV6enkKK21zZ2lkICJDcmVhdGUgYSBuZXcgbGFiZWwiCittc2dzdHIgIiAgIHMgICBjcmVhemlvbmUgZGkgdW5hIG51b3ZhIGRpc2tsYWJlbCBTdW4gdnVvdGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNgorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgR1BUIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgbyAgIGNyZWF6aW9uZSBkaSB1bmEgbnVvdmEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIERPUyB2dW90YSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTR0kgKElSSVgpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgbyAgIGNyZWF6aW9uZSBkaSB1bmEgbnVvdmEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIERPUyB2dW90YSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM4CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgICBvICAgY3JlYXppb25lIGRpIHVuYSBudW92YSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgRE9TIHZ1b3RhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzkKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFN1biBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIG8gICBjcmVhemlvbmUgZGkgdW5hIG51b3ZhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBET1MgdnVvdGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0MworIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYW4gSVJJWCAoU0dJKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIGcgICBjcmVhIHVuYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgSVJJWCAoU0dJKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTUyCittc2dpZCAiR2VvbWV0cnkiCittc2dzdHIgIkdlb21ldHJpYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTUzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICIgICBjICAgbW9kaWZpY2EgZGVsIG51bWVybyBkaSBjaWxpbmRyaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU0CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgaGVhZHMiCittc2dzdHIgIiAgIGggICBtb2RpZmljYSBkZWwgbnVtZXJvIGRpIHRlc3RpbmUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2siCittc2dzdHIgIiAgIHMgICBtb2RpZmljYSBkZWwgbnVtZXJvIGRpIHNldHRvcmkvdHJhY2NpYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk1CisjLCBmdXp6eQorbXNnaWQgIkdQVCIKK21zZ3N0ciAiRUZJIEdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY1CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXNrIEdVSUQiCittc2dzdHIgImNhbWJpYXRvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjYKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJOdW1lcm8gZGVsbGEgcGFydGl6aW9uZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY3CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpemlvbmk6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgdGFibGUgbGVuZ3RoIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjkKK21zZ2lkICJlbnRlciBwcm90ZWN0aXZlL2h5YnJpZCBNQlIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTcyCisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgbGVnYWN5IEJJT1MgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiICAgYSAgQ2FtYmlhIGJvb3RhYmxlIGZsYWciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MworIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIG5vIGJsb2NrIElPIHByb3RvY29sIGZsYWciCittc2dzdHIgIiAgIGMgICBjYW1iaWEgaWwgZmxhZyBjb21wYXRpYmlsZSBjb24gaWwgZG9zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzQKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSByZXF1aXJlZCBwYXJ0aXRpb24gZmxhZyIKK21zZ3N0ciAiICAgYSAgIGF0dGl2YXppb25lL2Rpc2F0dGl2YXppb25lIGRpIHVuIGZsYWcgZGkgc29sYSBsZXR0dXJhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzUKK21zZ2lkICJ0b2dnbGUgdGhlIEdVSUQgc3BlY2lmaWMgYml0cyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODUKK21zZ2lkICJTdW4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg2CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgcmVhZC1vbmx5IGZsYWciCittc2dzdHIgIiAgIGEgICBhdHRpdmF6aW9uZS9kaXNhdHRpdmF6aW9uZSBkaSB1biBmbGFnIGRpIHNvbGEgbGV0dHVyYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg3CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgbW91bnRhYmxlIGZsYWciCittc2dzdHIgIiAgIGMgICBhdHRpdmF6aW9uZS9kaXNhdHRpdmF6aW9uZSBkZWwgZmxhZyBtb250YWJpbGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIiAgIGEgICBtb2RpZmljYSBkZWwgbnVtZXJvIGRpIGNpbGluZHJpIGFsdGVybmF0aXZpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTAKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBleHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAiICAgZSAgIG1vZGlmaWNhIGRlbCBudW1lcm8gZGVpIHNldHRvcmkgc3VwcGxlbWVudGFyaSBwZXIgY2lsaW5kcm8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgaW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIiAgIGkgICBtb2RpZmljYSBkZWwgZmF0dG9yZSBkaSBpbnRlcmxlYXZlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTIKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICIgICBvICAgbW9kaWZpY2EgZGVsbGEgdmVsb2NpdMOgIGRpIHJvdGF6aW9uZSAocnBtKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICIgICB5ICAgbW9kaWZpY2EgZGVsIG51bWVybyBkaSBjaWxpbmRyaSBmaXNpY2kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwMgorIywgZnV6enkKK21zZ2lkICJTR0kiCittc2dzdHIgIlNHSSByYXciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwMworIywgZnV6enkKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICIgICBhICAgc2VsZXppb25lIGRlbGxhIHBhcnRpemlvbmUgY2hlIMOoIHBvc3NpYmlsZSBhdnZpYXJlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDQKKyMsIGZ1enp5Cittc2dpZCAiZWRpdCBib290ZmlsZSBlbnRyeSIKK21zZ3N0ciAiICAgYiAgIG1vZGlmaWNhIGRlbGxhIHZvY2UgYm9vdGZpbGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNQorIywgZnV6enkKK21zZ2lkICJzZWxlY3Qgc2dpIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICIgICBjICAgc2VsZXppb25lIGRlbGxhIHBhcnRpemlvbmUgc3dhcCBzZ2kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNgorbXNnaWQgImNyZWF0ZSBTR0kgaW5mbyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTUKKyMsIGZ1enp5Cittc2dpZCAiRE9TIChNQlIpIgorbXNnc3RyICJET1MgUi9PIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTYKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIGEgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiICAgYSAgQ2FtYmlhIGJvb3RhYmxlIGZsYWciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNworIywgZnV6enkKK21zZ2lkICJlZGl0IG5lc3RlZCBCU0QgZGlza2xhYmVsIgorbXNnc3RyICIgICBiICAgbW9kaWZpY2EgZGkgYnNkIGRpc2tsYWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE4CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgZG9zIGNvbXBhdGliaWxpdHkgZmxhZyIKK21zZ3N0ciAiICAgYyAgIGNhbWJpYSBpbCBmbGFnIGNvbXBhdGliaWxlIGNvbiBpbCBkb3MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMAorIywgZnV6enkKK21zZ2lkICJtb3ZlIGJlZ2lubmluZyBvZiBkYXRhIGluIGEgcGFydGl0aW9uIgorbXNnc3RyICIgICBiICAgc3Bvc3RhbWVudG8gZGVsbCdpbml6aW8gZGkgZGF0aSBpbiB1bmEgcGFydGl6aW9uZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIxCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSB0aGUgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICIgICBpICAgY2FtYmlhIGwnaWRlbnRpZmljYXRpdm8gZGVsIGRpc2NvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjMKK21zZ2lkICJyZXR1cm4gZnJvbSBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgdG8gR1BUIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzMworIywgZnV6enkKK21zZ2lkICJCU0QiCittc2dzdHIgIkJTRC9PUyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM0CisjLCBmdXp6eQorbXNnaWQgImVkaXQgZHJpdmUgZGF0YSIKK21zZ3N0ciAiICAgZSAgIG1vZGlmaWNhIGRlaSBkYXRpIGRlbGwndW5pdMOgIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzUKKyMsIGZ1enp5Cittc2dpZCAiaW5zdGFsbCBib290c3RyYXAiCittc2dzdHIgIiAgIGkgICBpbnN0YWxsYXppb25lIGRpIGJvb3RzdHJhcCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM2CisjLCBmdXp6eQorbXNnaWQgInNob3cgY29tcGxldGUgZGlza2xhYmVsIgorbXNnc3RyICIgICBzICAgdmlzdWFsaXp6YXppb25lIGRlbCBkaXNrbGFiZWwgY29tcGxldG8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNworIywgZnV6enkKK21zZ2lkICJsaW5rIEJTRCBwYXJ0aXRpb24gdG8gbm9uLUJTRCBwYXJ0aXRpb24iCittc2dzdHIgIiAgIHggICBjb2xsZWdhbWVudG8gZGVsbGEgcGFydGl6aW9uZSBCU0QgYSB1bmEgbm9uLUJTRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwIChleHBlcnQgY29tbWFuZHMpOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM3MSBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwOlxuIgorbXNnc3RyICJHdWlkYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzkxCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSdyZSBlZGl0aW5nIG5lc3RlZCAnJXMnIHBhcnRpdGlvbiB0YWJsZSwgcHJpbWFyeSBwYXJ0aXRpb24gdGFibGUgaXMgJyVzJy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDIxCittc2dpZCAiRXhwZXJ0IGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIkNvbWFuZG8gcGVyIGVzcGVydGkgKG0gcGVyIHJpY2hpYW1hcmUgbGEgZ3VpZGEpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMworbXNnaWQgIkNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIkNvbWFuZG8gKG0gcGVyIHJpY2hpYW1hcmUgbGEgZ3VpZGEpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWM6IHVua25vd24gY29tbWFuZCIKK21zZ3N0ciAiJWM6IGNvbWFuZG8gc2Nvbm9zY2l1dG9cbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDU4IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4NQorIywgZnV6enkKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgdHJvdmFyZSBpbCBkaXNwb3NpdGl2byBwZXIgJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDcxCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBhcHBsaWVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0OTcKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHRyYW5zZm9ybSBkaXNrIGxheW91dCBpbnRvIHNjcmlwdCIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYWxsb2NhcmUgaWwgYnVmZmVyLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTEKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IHNhdmVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzQgZGlzay11dGlscy9zZmRpc2suYzoxNDc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIkF0dGVuemlvbmU6IGxhIHBhcnRpemlvbmUgJWQgY29udGllbmUgaWwgc2V0dG9yZSAwXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzNyBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzkKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gcmVtb3ZlIHRoZSBzaWduYXR1cmU/IgorbXNnc3RyICJTY3JpdmVyZSBxdWVzdG8gc3UgZGlzY28/IFt5bnFdICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTc1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwiCittc2dzdHIgInJpY2VyY2EgaW4gd3JpdGVfdGFibGVzIG5vbiByaXVzY2l0YSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjEzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBmaXggcGFydGl0aW9ucyBvcmRlci4iCittc2dzdHIgIiAgIGYgICBhZ2dpdXN0YSBsJ29yZGluZSBkZWxsZSBwYXJ0aXppb25pIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MTUKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9ucyBvcmRlciBmaXhlZC4iCittc2dzdHIgIk5lc3N1bmEgcGFydGl6aW9uZSBkZWZpbml0YVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiUGFydGl6aW9uZSBzZWxlemlvbmF0YSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjAKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBjeWxpbmRlcnMgKERFUFJFQ0FURUQhKS4iCittc2dzdHIgIk1vZGlmaWNhIGRlbGxlIHVuaXTDoCBkaSB2aXN1YWxpenphemlvbmUvaW1taXNzaW9uZSBzdSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjIKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBzZWN0b3JzLiIKK21zZ3N0ciAiTW9kaWZpY2EgZGVsbGUgdW5pdMOgIGRpIHZpc3VhbGl6emF6aW9uZS9pbW1pc3Npb25lIHN1ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY3MiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4NDIKKyMsIGZ1enp5Cittc2dpZCAiTGVhdmluZyBuZXN0ZWQgZGlza2xhYmVsLiIKK21zZ3N0ciAiICAgYiAgIG1vZGlmaWNhIGRpIGJzZCBkaXNrbGFiZWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjcwOQorbXNnaWQgIk5ldyBtYXhpbXVtIGVudHJpZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzE5CisjLCBmdXp6eQorbXNnaWQgIkVudGVyaW5nIHByb3RlY3RpdmUvaHlicmlkIE1CUiBkaXNrbGFiZWwuIgorbXNnc3RyICIgICBiICAgbW9kaWZpY2EgZGkgYnNkIGRpc2tsYWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzM1Cittc2dpZCAiTmV3IFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NTAKKyMsIGZ1enp5Cittc2dpZCAiTmV3IG5hbWUiCittc2dzdHIgIk5vbWUgdXRlbnRlIG5vbiB2YWxpZG8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjgxMworIywgZnV6enkKK21zZ2lkICJFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIiAgIGIgICBtb2RpZmljYSBkaSBic2QgZGlza2xhYmVsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OTgKK21zZ2lkICJOdW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICJOdW1lcm8gZGkgY2lsaW5kcmkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMDIKK21zZ2lkICJOdW1iZXIgb2YgaGVhZHMiCittc2dzdHIgIk51bWVybyBkaSB0ZXN0aW5lIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDA2Cittc2dpZCAiTnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIk51bWVybyBkaSBzZXR0b3JpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgw6ggbW9udGF0by5cdCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbW91bnRlZFxuIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBub24gdHJvdmF0byIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMxIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzQKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1MyBkaXNrLXV0aWxzL3NmZGlzay5jOjI5NyBsaWJmZGlzay9zcmMvYnNkLmM6NjQ2CisjOiBsaWIvcGF0aC5jOjExMCBsaWIvcGF0aC5jOjEzMSBsaWIvcGF0aC5jOjE1MiBsaWIvcGF0aC5jOjIwMAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIxMyBsb2dpbi11dGlscy9sYXN0LmM6MjUwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo2NjQKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjM5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjcxNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkICVzIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgbGVnZ2VyZSAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMzIGxpYi9wYXRoLmM6MTMzIGxpYi9wYXRoLmM6MTU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJwYXJzZSBlcnJvcjogJXMiCittc2dzdHIgImVycm9yZSBkaSBwb3NpemlvbmFtZW50byIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAibmFtZWk6IGltcG9zc2liaWxlIG90dGVuZXJlIGxhIGRpcmVjdG9yeSBjb3JyZW50ZSAtICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTG9ja2luZyBkaXNrIGJ5ICVzIC4uLiAiCittc2dzdHIgIlNpbmNyb25penphemlvbmUgZGVpIGRpc2NoaSBpbiBjb3Jzby5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgIih3YWl0aW5nKSAiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZXNlIGFyZSBmb2xsb3d1cHMgdG8gIkxvY2tpbmcgZGlzay4uLiIuCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTQKKyMsIGZ1enp5Cittc2dpZCAic3VjY2VlZGVkIgorbXNnc3RyICIlcyByaXVzY2l0by5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Mzk0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCIKK21zZ3N0ciAiJXMgbm9uIHJpdXNjaXRvLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVubG9ja2luZyAlcy5cbiIKK21zZ3N0ciAiVXRpbGl6em8gZGkgJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGRlc2NyaXB0aW9uIGZvciAlcyIKK21zZ3N0ciAiaW9jdGwoKSBub24gw6ggcml1c2NpdG8gYSBsZWdnZXJlIGwnb3JhcmlvIGRhICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NzQgbWlzYy11dGlscy9maW5kbW50LmM6NzgyIG1pc2MtdXRpbHMvbHNibGsuYzo0MzMKKyM6IHN5cy11dGlscy9tb3VudC5jOjEwMiBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjE5IHN5cy11dGlscy91bW91bnQuYzo0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQgLS0gaWdub3JlZCIKK21zZ3N0ciAiZXJyb3JlIGRpIHBvc2l6aW9uYW1lbnRvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo1MDYgZGlzay11dGlscy9mc2NrLmM6NTA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIGZzdGFiIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2NzkgbG9naW4tdXRpbHMvbG9naW4uYzo5NjggbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMzQKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMDQgc3lzLXV0aWxzL2Zsb2NrLmM6MzQ1IHN5cy11dGlscy9uc2VudGVyLmM6MTUzCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzE2IHN5cy11dGlscy91bnNoYXJlLmM6MjE5IHN5cy11dGlscy91bnNoYXJlLmM6NDIwCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc4MAorIywgZnV6enkKK21zZ2lkICJmb3JrIGZhaWxlZCIKK21zZ3N0ciAiZm9yayBub24gcml1c2NpdG9cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0ZSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgbm9uIHJpdXNjaXRhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc3NAorbXNnaWQgIndhaXQ6IG5vIG1vcmUgY2hpbGQgcHJvY2Vzcz8hPyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3Nzcgc3lzLXV0aWxzL2Zsb2NrLmM6MzYzIHN5cy11dGlscy9zd2Fwb24uYzozNDgKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDA0IHN5cy11dGlscy91bnNoYXJlLmM6NDI1CisjLCBmdXp6eQorbXNnaWQgIndhaXRwaWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBub24gcml1c2NpdG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc5NQorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nLi4uICVzIGZvciBkZXZpY2UgJXMgZXhpdGVkIHdpdGggc2lnbmFsICVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXM6IHN0YXR1cyBpcyAleCwgc2hvdWxkIG5ldmVyIGhhcHBlbi4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmlzaGVkIHdpdGggJXMgKGV4aXQgc3RhdHVzICVkKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjkyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgJWQgKCVtKSB3aGlsZSBleGVjdXRpbmcgZnNjay4lcyBmb3IgJXMiCittc2dzdHIgIiVzOiBlcnJvcmUgJWQgZHVyYW50ZSBsYSBkZWNvbXByZXNzaW9uZSEgJXAoJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjk5MQorbXNnaWQgIiIKKyJFaXRoZXIgYWxsIG9yIG5vbmUgb2YgdGhlIGZpbGVzeXN0ZW0gdHlwZXMgcGFzc2VkIHRvIC10IG11c3QgYmUgcHJlZml4ZWRcbiIKKyJ3aXRoICdubycgb3IgJyEnLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBiYWQgbGluZSBpbiAvZXRjL2ZzdGFiOiBiaW5kIG1vdW50IHdpdGggbm9uemVybyBmc2NrIHBhc3MgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBub25leGlzdGVudCBkZXZpY2VcbiIKK21zZ3N0ciAiJXM6ICVzIG5vIMOoIHVuIGxwIGRldmljZS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9uZXhpc3RlbnQgZGV2aWNlIChcIm5vZmFpbFwiIGZzdGFiIG9wdGlvbiBtYXkgYmUgdXNlZCB0byBza2lwIHRoaXMgZGV2aWNlKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZVxuIgorbXNnc3RyICJtb3VudDogdGlwbyBkaSBmaWxlc3lzdGVtICclcycgc2Nvbm9zY2l1dG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoZWNrICVzOiBmc2NrLiVzIG5vdCBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjU5CisjLCBmdXp6eQorbXNnaWQgIkNoZWNraW5nIGFsbCBmaWxlIHN5c3RlbXMuXG4iCittc2dzdHIgIkZvcnphdHVyYSBjb250cm9sbG8gZmlsZXN5c3RlbSBzdSAlcyBpbiBjb3Jzby5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM1MAorIywgYy1mb3JtYXQKK21zZ2lkICItLXdhaXRpbmctLSAocGFzcyAlZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC0tIFtmcy1vcHRpb25zXSBbPGZpbGVzeXN0ZW0+IC4uLl1cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM3OQorIywgZnV6enkKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiRm9yemF0dXJhIGNvbnRyb2xsbyBmaWxlc3lzdGVtIHN1ICVzIGluIGNvcnNvLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzgyCisjLCBmdXp6eQorbXNnaWQgIiAtQSAgICAgICAgIGNoZWNrIGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICJGb3J6YXR1cmEgY29udHJvbGxvIGZpbGVzeXN0ZW0gc3UgJXMgaW4gY29yc28uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODMKK21zZ2lkICIgLUMgWzxmZD5dICBkaXNwbGF5IHByb2dyZXNzIGJhcjsgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NAorbXNnaWQgIiAtbCAgICAgICAgIGxvY2sgdGhlIGRldmljZSB0byBndWFyYW50ZWUgZXhjbHVzaXZlIGFjY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODUKKyMsIGZ1enp5Cittc2dpZCAiIC1NICAgICAgICAgZG8gbm90IGNoZWNrIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIHQgICAgICAgICAgQ2FtYmlhIGlsIHRpcG8gZGkgZmlsZXN5c3RlbSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NgorbXNnaWQgIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NworbXNnaWQgIiAtUCAgICAgICAgIGNoZWNrIGZpbGVzeXN0ZW1zIGluIHBhcmFsbGVsLCBpbmNsdWRpbmcgcm9vdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODgKK21zZ2lkICIgLVIgICAgICAgICBza2lwIHJvb3QgZmlsZXN5c3RlbTsgdXNlZnVsIG9ubHkgd2l0aCAnLUEnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4OQorIywgZnV6enkKK21zZ2lkICIiCisiIC1yIFs8ZmQ+XSAgcmVwb3J0IHN0YXRpc3RpY3MgZm9yIGVhY2ggZGV2aWNlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiAgICAtbCBbbyAtLWxpc3RdOiAgICAgIGVsZW5jbyBkZWxsZSBwYXJ0aXppb25pIGRpIGNpYXNjdW4gZGlzcG9zaXRpdm8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTEKKyMsIGZ1enp5Cittc2dpZCAiIC1zICAgICAgICAgc2VyaWFsaXplIHRoZSBjaGVja2luZyBvcGVyYXRpb25zXG4iCittc2dzdHIgIiBkICAgICAgICAgIEVsaW1pbmEgbGEgcGFydGl6aW9uZSBjb3JyZW50ZSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MgorIywgZnV6enkKK21zZ2lkICIgLVQgICAgICAgICBkbyBub3Qgc2hvdyB0aGUgdGl0bGUgb24gc3RhcnR1cFxuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgbm9uIHNjcml2ZSByZWFsbWVudGUgc3VsIGRpc2NvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkzCittc2dpZCAiIgorIiAtdCA8dHlwZT4gIHNwZWNpZnkgZmlsZXN5c3RlbSB0eXBlcyB0byBiZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIDx0eXBlPiBpcyBhbGxvd2VkIHRvIGJlIGEgY29tbWEtc2VwYXJhdGVkIGxpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk1CisjLCBmdXp6eQorbXNnaWQgIiAtViAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTYKKyMsIGZ1enp5Cittc2dpZCAiIC0/ICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk5Cittc2dpZCAiU2VlIHRoZSBzcGVjaWZpYyBmc2NrLiogY29tbWFuZHMgZm9yIGF2YWlsYWJsZSBmcy1vcHRpb25zLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDM4CisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IGRldmljZXMiCittc2dzdHIgIiVzOiAlcyBubyDDqCB1biBscCBkZXZpY2UuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NTAKKyMsIGZ1enp5Cittc2dpZCAiSXMgL3Byb2MgbW91bnRlZD8iCittc2dzdHIgImVzZWd1aXRvIHVtb3VudCBkaSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHJvb3QgdG8gc2NhbiBmb3IgbWF0Y2hpbmcgZmlsZXN5c3RlbXM6ICVzIgorbXNnc3RyICJTbW9udGFnZ2lvIGluIGNvcnNvIGRpIHF1YWxzaWFzaSBmaWxlc3lzdGVtIHJpbWFuZW50ZS4uLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgZmluZCBtYXRjaGluZyBmaWxlc3lzdGVtOiAlcyIKK21zZ3N0ciAiU21vbnRhZ2dpbyBpbiBjb3JzbyBkaSBxdWFsc2lhc2kgZmlsZXN5c3RlbSByaW1hbmVudGUuLi4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NzAgZGlzay11dGlscy9mc2NrLmM6MTU2NSBtaXNjLXV0aWxzL2tpbGwuYzozNjMKKyM6IHN5cy11dGlscy9lamVjdC5jOjI3OQorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCittc2dzdHIgIiVzOiBhcmdvbWVudG8gc2Nvbm9zY2l1dG86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1MjUgZGlzay11dGlscy9mc2NrLmM6MTUyOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yIgorbXNnc3RyICJpZCBub24gdmFsaWRvOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yOiAlZCIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbzogJXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTYxOAorbXNnaWQgInRoZSAtbCBvcHRpb24gY2FuIGJlIHVzZWQgd2l0aCBvbmUgZGV2aWNlIG9ubHkgLS0gaWdub3JlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+XG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTYKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgY29tcHJlc3NlZCBST00gZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE5Cittc2dpZCAiIC1hICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIxCittc2dpZCAiIC15ICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMgorbXNnaWQgIiAtYiwgLS1ibG9ja3NpemUgPHNpemU+ICAgdXNlIHRoaXMgYmxvY2tzaXplLCBkZWZhdWx0cyB0byBwYWdlIHNpemVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIzCittc2dpZCAiICAgICAtLWV4dHJhY3RbPTxkaXI+XSAgICB0ZXN0IHVuY29tcHJlc3Npb24sIG9wdGlvbmFsbHkgZXh0cmFjdCBpbnRvIDxkaXI+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZmFpbGVkOiB1bmFibGUgdG8gZGV0ZXJtaW5lIGRldmljZSBzaXplOiAlcyIKK21zZ3N0ciAiJXM6IGF0dGVuemlvbmUgLS0gaW1wb3NzaWJpbGUgZGV0ZXJtaW5hcmUgbGEgZGltZW5zaW9uZSBkZWwgZmlsZXN5c3RlbSBcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IGEgYmxvY2sgZGV2aWNlIG9yIGZpbGU6ICVzIgorbXNnc3RyICIlcyBub24gw6ggdW4gZGlzcG9zaXRpdm8gYSBibG9jY2hpIG8gdW4gZmlsZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTcwIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDYKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBsZW5ndGggdG9vIHNob3J0IgorbXNnc3RyICIlczogY3JhbWZzIG5vbiB2YWxpZG8gLS0gbHVuZ2hlenphIGRlbCBmaWxlIHRyb3BwbyBjb3J0YVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzMKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNDkgbGliZmRpc2svc3JjL2JzZC5jOjcxOCBsaWJmZGlzay9zcmMvYnNkLmM6ODkwCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjA4IGxvZ2luLXV0aWxzL2xhc3QuYzoyNDIgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VlayBvbiAlcyBmYWlsZWQiCittc2dzdHIgInJpY2VyY2Egbm9uIHJpdXNjaXRhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODcKK21zZ2lkICJzdXBlcmJsb2NrIG1hZ2ljIG5vdCBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImNyYW1mcyBlbmRpYW5uZXNzIGlzICVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MQorbXNnaWQgImJpZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkxCittc2dpZCAibGl0dGxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTUKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgZmlsZXN5c3RlbSBmZWF0dXJlcyIKK21zZ3N0ciAiSW1tZXR0ZXJlIGlsIHRpcG8gZGkgZmlsZXN5c3RlbTogIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzdXBlcmJsb2NrIHNpemUgKCVkKSB0b28gc21hbGwiCittc2dzdHIgIk51bWVybyBkaSBzZXR0b3JpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA0Cittc2dpZCAiemVybyBmaWxlIGNvdW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDgKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBleHRlbmRzIHBhc3QgZW5kIG9mIGZpbGVzeXN0ZW0iCittc2dzdHIgIkF0dGVuemlvbmU6IGxhIHBhcnRpemlvbmUgJXMgc2kgZXN0ZW5kZSBkb3BvIGxhIGZpbmUgZGVsIGRpc2NvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMTAKKyMsIGZ1enp5Cittc2dpZCAib2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgIiVzOiBhdHRlbnppb25lIC0tIHZlY2NoaWEgaW1tYWdpbmUgY3JhbWZzLCBuZXNzdW4gQ1JDXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMTkKK21zZ2lkICJ1bmFibGUgdG8gdGVzdCBDUkM6IG9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNzIKKyMsIGZ1enp5Cittc2dpZCAiY3JjIGVycm9yIgorbXNnc3RyICIsIGVycm9yZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NTQKK21zZ2lkICJzZWVrIGZhaWxlZCIKK21zZ3N0ciAicmljZXJjYSBub24gcml1c2NpdGEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDYKKyMsIGZ1enp5Cittc2dpZCAicmVhZCByb21mcyBmYWlsZWQiCittc2dzdHIgIihGaWxlIHN1Y2Nlc3Npdm86ICVzKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMzOAorIywgZnV6enkKK21zZ2lkICJyb290IGlub2RlIGlzIG5vdCBkaXJlY3RvcnkiCittc2dzdHIgImwnaW5vZGUgcmFkaWNlIG5vbiDDqCB1bmEgZGlyZWN0b3J5IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByb290IG9mZnNldCAoJWx1KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzYwCittc2dpZCAiZGF0YSBibG9jayB0b28gbGFyZ2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGVjb21wcmVzc2lvbiBlcnJvcjogJXMiCittc2dzdHIgImVycm9yZSBkaSBwb3NpemlvbmFtZW50byIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICBob2xlIGF0ICVsdSAoJXp1KVxuIgorbXNnc3RyICIgIGJ1Y28gaW4gJWxkICglZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5NyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgdW5jb21wcmVzc2luZyBibG9jayBhdCAlbHUgdG8gJWx1ICglbHUpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm9uLWJsb2NrICglbGQpIGJ5dGVzIgorbXNnc3RyICJTdXBlcmJsb2NjbzogJWQgYnl0ZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1zaXplICglbGQgdnMgJWxkKSBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDEzIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTYKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTA0IG1pc2MtdXRpbHMvdXVpZGQuYzozNzUgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4MgorIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzUgc3lzLXV0aWxzL3NldHByaXYuYzo1NTggc3lzLXV0aWxzL3N3YXBvbi5jOjM4OQorIzogdGVybS11dGlscy90dHltc2cuYzoxNzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZDogJXMiCittc2dzdHIgIihGaWxlIHN1Y2Nlc3Npdm86ICVzKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibGNob3duIGZhaWxlZDogJXMiCittc2dzdHIgIm1vdW50IG5vbiByaXVzY2l0byIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAibW91bnQgbm9uIHJpdXNjaXRvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1dGltZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJ2YWxvcmUgZGkgdGltZW91dCBub24gdmFsaWRvOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJta2RpciBmYWlsZWQ6ICVzIgorbXNnc3RyICIvZGV2OiBjaGRpcigpIG5vbiByaXVzY2l0bzogJW0iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NzYKK21zZ2lkICJmaWxlbmFtZSBsZW5ndGggaXMgemVybyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc4Cittc2dpZCAiYmFkIGZpbGVuYW1lIGxlbmd0aCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDg0CisjLCBmdXp6eQorbXNnaWQgImJhZCBpbm9kZSBvZmZzZXQiCittc2dzdHIgImRpbWVuc2lvbmUgaW5vZGUgbm9uIGNvcnJldHRhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDk5Cittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUwMgorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gc2l6ZSBhbmQgbm9uLXplcm8gb2Zmc2V0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzEKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIG9mZnNldCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTMzCittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBzaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNpemUgZXJyb3IgaW4gc3ltbGluazogJXMiCittc2dzdHIgIiVzOiBlcnJvcmUgZGkgZGltZW5zaW9uZSBuZWwgY29sbGVnYW1lbnRvIHNpbWJvbGljbyBcIiVzXCJcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3ltbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICJmc3luYyBub24gcml1c2NpdG8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTY5CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZmlsZSBoYXMgbm9uLXplcm8gb2Zmc2V0OiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgImZpZm8gaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg4CisjLCBjLWZvcm1hdAorbXNnaWQgImJvZ3VzIG1vZGU6ICVzICglbykiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibWtub2QgZmFpbGVkOiAlcyIKK21zZ3N0ciAibW91bnQgbm9uIHJpdXNjaXRvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjI5CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIHN0YXJ0ICglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQgKCV6dSkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzMworIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBlbmQgKCVsdSkgIT0gZmlsZSBkYXRhIHN0YXJ0ICglbHUpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBmaWxlIGRhdGEgb2Zmc2V0IgorbXNnc3RyICJpZCBub24gdmFsaWRvOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Njg0IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MjYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBibG9ja3NpemUgYXJndW1lbnQiCittc2dzdHIgInVtb3VudDogJXM6IGRpc3Bvc2l0aXZvIGRpIGJsb2NjaGkgbm9uIHZhbGlkbyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogT0tcbiIKK21zZ3N0ciAiJXM6IE9LXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NAorIywgZnV6enkKK21zZ2lkICJDaGVjayB0aGUgY29uc2lzdGVuY3kgb2YgYSBNaW5peCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJGb3J6YXR1cmEgY29udHJvbGxvIGZpbGVzeXN0ZW0gc3UgJXMgaW4gY29yc28uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICBsaXN0IGFsbCBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiICBbIC1maWxlIGR1bXBmaWxlbmFtZSBdXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NworbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgIGF1dG9tYXRpYyByZXBhaXJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODgKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlcGFpciAgICAgaW50ZXJhY3RpdmUgcmVwYWlyXG4iCittc2dzdHIgInRlcm1pbmFsZSBuZWNlc3NhcmlvIHBlciBsZSByaXBhcmF6aW9uaSBpbnRlcmF0dGl2ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGJlIHZlcmJvc2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkwCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zdXBlciAgICAgIG91dHB1dCBzdXBlci1ibG9jayBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTEKK21zZ2lkICIgLW0sIC0tdW5jbGVhcmVkICBhY3RpdmF0ZSBtb2RlIG5vdCBjbGVhcmVkIHdhcm5pbmdzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgIGZvcmNlIGNoZWNrXG4iCittc2dzdHIgIiB0ICAgICAgICAgIENhbWJpYSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW0iCisKKyMuIFRSQU5TTEFUT1JTOiB0aGVzZSB5ZXMgbm8gcXVlc3Rpb25zIHVzZXMgcnBtYXRjaCgpLCBhbmQgc2hvdWxkIGJlCisjLiAqIHRyYW5zbGF0ZWQuCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKHkvbik/ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG4veSk/ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAieVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQuXHQgIgorbXNnc3RyICIlcyDDqCBtb250YXRvLlx0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODkKK21zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gY29udGludWUiCittc2dzdHIgIkNvbnRpbnVhcmU/IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2sgYWJvcnRlZC5cbiIKK21zZ3N0ciAiY29udHJvbGxvIGludGVycm90dG8uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMxOSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA8IEZJUlNUWk9ORSBpbiBmaWxlIGAlcycuIgorbXNnc3RyICIgTi4gem9uYSA8IEZJUlNUWk9ORSBuZWwgZmlsZSBgJXMnIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPj0gWk9ORVMgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiTi4gWm9uYSA+PSBaT05FUyBuZWwgZmlsZSBgJXMnIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQ3Cittc2dpZCAiUmVtb3ZlIGJsb2NrIgorbXNnc3RyICJSaW11b3ZlcmUgYmxvY2NvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogdW5hYmxlIHRvIHNlZWsgdG8gYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIkVycm9yZSBkaSBsZXR0dXJhOiByaWNlcmNhIGRlbCBibG9jY28gbmVsIGZpbGUgJyVzJyBpbXBvc3NpYmlsZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJFcnJvcmUgZGkgbGV0dHVyYTogYmxvY2NvIGRhbm5lZ2dpYXRvIG5lbCBmaWxlICclcydcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJbnRlcm5hbCBlcnJvcjogdHJ5aW5nIHRvIHdyaXRlIGJhZCBibG9ja1xuIgorIldyaXRlIHJlcXVlc3QgaWdub3JlZFxuIgorbXNnc3RyICIiCisiRXJyb3JlIGludGVybm86IG5lbCB0ZW50YXRpdm8gZGkgc2NyaXZlcmUgaWwgYmxvY2NvIGRhbm5lZ2dpYXRvXG4iCisiaWdub3JhdGEgbGEgcmljaGllc3RhIGRpIHNjcml0dHVyYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAidGVudGF0aXZvIGZhbGxpdG8gaW4gd3JpdGVfYmxvY2sgIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGUgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiRXJyb3JlIGRpIHNjcml0dHVyYTogYmxvY2NvIGRhbm5lZ2dpYXRvIG5lbCBmaWxlICclcydcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTA1Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfc3VwZXJfYmxvY2siCittc2dzdHIgInJpY2VyY2EgZmFsbGl0YSBpbiB3cml0ZV9zdXBlcl9ibG9jayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTA3Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICJpbXBvc3NpYmlsZSBzY3JpdmVyZSBpbiBzdXBlci1ibG9jayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTIwCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgc2NyaXZlcmUgbmVsbGEgbWFwcGEgZGkgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyMworbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgc2NyaXZlcmUgbmVsbGEgbWFwcGEgZGkgem9uYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTI2Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgc2NyaXZlcmUgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU1OAorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhbGxvY2FyZSBpIGJ1ZmZlciBwZXIgbGUgbWFwcGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2MQorbXNnaWQgInVuYWJsZSB0byByZWFkIHN1cGVyIGJsb2NrIgorbXNnc3RyICJpbXBvc3NpYmlsZSBsZWdnZXJlIHN1cGVyIGJsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODMKK21zZ2lkICJiYWQgbWFnaWMgbnVtYmVyIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJudW1lcm8gbWFnaWNvIGRhbm5lZ2dpYXRvIGluIHN1cGVyLWJsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODUKK21zZ2lkICJPbmx5IDFrIGJsb2Nrcy96b25lcyBzdXBwb3J0ZWQiCittc2dzdHIgIsOIIHN1cHBvcnRhdG8gc29sYW1lbnRlIDFrIGJsb2NjaGkvem9uZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg3CisjLCBmdXp6eQorbXNnaWQgImJhZCBzX25pbm9kZXMgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgImNhbXBvIHNfaW1hcF9ibG9ja3MgZGFubmVnZ2lhdG8gaW4gc3VwZXItYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4OQorbXNnaWQgImJhZCBzX2ltYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJjYW1wbyBzX2ltYXBfYmxvY2tzIGRhbm5lZ2dpYXRvIGluIHN1cGVyLWJsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTEKKyMsIGZ1enp5Cittc2dpZCAiYmFkIHNfZmlyc3RkYXRhem9uZSBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiY2FtcG8gc19pbWFwX2Jsb2NrcyBkYW5uZWdnaWF0byBpbiBzdXBlci1ibG9jayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk0Cittc2dpZCAiYmFkIHNfem1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgImNhbXBvIHNfem1hcF9ibG9ja3MgZGFubmVnZ2lhdG8gaW4gc3VwZXItYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxMAorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIG1hcCIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYWxsb2NhcmUgaWwgYnVmZmVyIHBlciBsYSBtYXBwYSBpbm9kZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjEzCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBtYXAiCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlciBwZXIgbGEgbWFwcGEgem9uZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE2Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIgcGVyIGdsaSBpbm9kZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE5Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgY291bnQiCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlciBwZXIgaWwgY29udGVnZ2lvIGlub2RlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjIKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIGNvdW50IgorbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIgcGVyIGlsIGNvbnRlZ2dpbyB6b25hIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjYKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZSBtYXAiCittc2dzdHIgIkltcG9zc2liaWxlIGxlZ2dlcmUgbGEgbWFwcGEgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzMAorbXNnaWQgIlVuYWJsZSB0byByZWFkIHpvbmUgbWFwIgorbXNnc3RyICJJbXBvc3NpYmlsZSBsZWdnZXJlIGxhIG1hcHBhIGRpIHpvbmEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzNAorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlcyIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgbGVnZ2VyZSBnbGkgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzNgorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIKK21zZ3N0ciAiQXR0ZW56aW9uZTogcHJpbWEgem9uYSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGlub2Rlc1xuIgorbXNnc3RyICJJbm9kZSAlbGRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBibG9ja3NcbiIKK21zZ3N0ciAiYmxvY2NoaSAlbGRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmlyc3RkYXRhem9uZT0lamQgKCVqZClcbiIKK21zZ3N0ciAiUHJpbWEgem9uYSBkYXRpPSVsZCAoJWxkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JWRcbiIKK21zZ3N0ciAiRGltZW5zaW9uZSB6b25hPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWF4c2l6ZT0lenVcbiIKK21zZ3N0ciAiRGltZW5zaW9uZSBtYXNzaW1hPSVsZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBzdGF0ZT0lZFxuIgorbXNnc3RyICJTdGF0byBkZWwgZmlsZXN5c3RlbT0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJuYW1lbGVuPSV6ZFxuIgorIlxuIgorbXNnc3RyICIiCisibHVuZ2hlenphbm9tPSVkXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY2NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWQgbWFya2VkIHVudXNlZCwgYnV0IHVzZWQgZm9yIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJJbm9kZSAlZCBjb250cmFzc2VnbmF0byBub24gdXRpbGl6emF0bywgbWEgdXRpbGl6emF0byBwZXIgaWwgZmlsZSAnJXMnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY2NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MTcKK21zZ2lkICJNYXJrIGluIHVzZSIKK21zZ3N0ciAiU2Vnbm8gaW4gdXNvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2ODkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaWxlIGAlcycgaGFzIG1vZGUgJTA1b1xuIgorbXNnc3RyICJJbCBmaWxlIGAlcycgaGEgbW9kYWxpdMOgICUwNW9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Njk2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBpbm9kZSBjb3VudCB0b28gYmlnLlxuIgorbXNnc3RyICJBdHRlbnppb25lOiBjb250ZWdnaW8gaW5vZGUgdHJvcHBvIGdyYW5kZS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzU1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2MworbXNnaWQgInJvb3QgaW5vZGUgaXNuJ3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImwnaW5vZGUgcmFkaWNlIG5vbiDDqCB1bmEgZGlyZWN0b3J5IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NzUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrIGhhcyBiZWVuIHVzZWQgYmVmb3JlLiBOb3cgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiSWwgYmxvY2NvIMOoIHN0YXRvIHV0aWxpenphdG8gaW4gcHJlY2VkZW56YS4gT3JhIG5lbCBmaWxlIGAlcyciCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MDgKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1MgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA4Cittc2dpZCAiQ2xlYXIiCittc2dzdHIgIkNhbmNlbGxhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrICVkIGluIGZpbGUgYCVzJyBpcyBtYXJrZWQgbm90IGluIHVzZS4iCittc2dzdHIgIklsIGJsb2NjbyAlZCBuZWwgZmlsZSBgJXMnIMOoIG1hcmNhdG8gY29tZSBub24gaW4gdXNvLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzg5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgyMAorbXNnaWQgIkNvcnJlY3QiCittc2dzdHIgIkNvcnJldHRvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzMworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGlyZWN0b3J5ICclcycgY29udGFpbnMgYSBiYWQgaW5vZGUgbnVtYmVyIGZvciBmaWxlICclLipzJy4iCittc2dzdHIgIkxhIGRpcmVjdG9yeSAnJXMnIGNvbnRpZW5lIHVuIG51bWVybyBpbm9kZSBub24gY29ycmV0dG8gcGVyIGlsIGZpbGUgJyUuKnMnLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTYxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwMzUKK21zZ2lkICIgUmVtb3ZlIgorbXNnc3RyICIgUmltdW92ZXJlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4nIGlzbid0IGZpcnN0XG4iCittc2dzdHIgIiVzOiBkaXJlY3RvcnkgZGFubmVnZ2lhdGE6ICcuJyBub24gw6ggbGEgcHJpbWFcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTg2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuLicgaXNuJ3Qgc2Vjb25kXG4iCittc2dzdHIgIiVzOiBkaXJlY3RvcnkgZGFubmVnZ2lhdGE6ICcuLicgbm9uIMOoIGxhIHNlY29uZGFcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA5NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTE3Cittc2dpZCAiaW50ZXJuYWwgZXJyb3IiCittc2dzdHIgImVycm9yZSBpbnRlcm5vIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDk3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IHNpemUgPCAzMiIKK21zZ3N0ciAiJXM6IGRpcmVjdG9yeSBkYW5uZWdnaWF0YTogZGltZW5zaW9uZSA8IDMyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogaW52YWxpZCBpX3pvbmUsIHVzZSAtLXJlcGFpciB0byBmaXhcbiIKK21zZ3N0ciAiJXM6IGRpcmVjdG9yeSBkYW5uZWdnaWF0YTogJy4nIG5vbiDDqCBsYSBwcmltYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTMyCittc2dpZCAic2VlayBmYWlsZWQgaW4gYmFkX3pvbmUiCittc2dzdHIgInJpY2VyY2EgaW4gYmFkX3pvbmUgbm9uIHJpdXNjaXRhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBtb2RlIG5vdCBjbGVhcmVkLiIKK21zZ3N0ciAiTW9kYWxpdMOgIGRlbGwnaW5vZGUgJWQgbm9uIGNhbmNlbGxhdGEuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTUxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBub3QgdXNlZCwgbWFya2VkIHVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIklub2RlICVkIG5vbiB1dGlsaXp6YXRvLCBpbm9kZSBjb250cmFzc2VnbmF0byB1dGlsaXp6YXRvIGluIGJpdG1hcCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgdXNlZCwgbWFya2VkIHVudXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiSW5vZGUgJWQgdXRpbGl6emF0bywgaW5vZGUgY29udHJhc3NlZ25hdG8gbm9uIHV0aWxpenphdG8gaW4gYml0bWFwLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1OCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE0Cittc2dpZCAiU2V0IgorbXNnc3RyICJJbXBvc3RhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTYyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSAobW9kZSA9ICUwN28pLCBpX25saW5rcz0lZCwgY291bnRlZD0lZC4iCittc2dzdHIgIklub2RlICVkIChtb2RhbGl0w6AgPSAlMDdvKSwgaV9ubGlua3M9JWQsIGNvbnRlZ2dpYXRpPSVkLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjIxCittc2dpZCAiU2V0IGlfbmxpbmtzIHRvIGNvdW50IgorbXNnc3RyICJJbXBvc3RhcmUgaV9ubGlua3MgZGEgY29udGVnZ2lhcmUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG1hcmtlZCBpbiB1c2UsIG5vIGZpbGUgdXNlcyBpdC4iCittc2dzdHIgIlpvbmEgJWQ6IGNvbnRyYXNzZWduYXRhIGluIHVzbywgbmVzc3VuIGZpbGUgbGEgdXRpbGl6emEuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTc5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzUKK21zZ2lkICJVbm1hcmsiCittc2dzdHIgIk5vbiBjb250cmFzc2VnbmF0YSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogaW4gdXNlLCBjb3VudGVkPSVkXG4iCittc2dzdHIgIlpvbmEgJWQ6IHV0aWxpenphdGEsIGNvbnRlZ2dpYXRpPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiWm9uYSAlZDogbm9uIGluIHVzbywgY29udGVnZ2lhdGk9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5MQorbXNnaWQgImJhZCBpbm9kZSBzaXplIgorbXNnc3RyICJkaW1lbnNpb25lIGlub2RlIG5vbiBjb3JyZXR0YSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5MworbXNnaWQgImJhZCB2MiBpbm9kZSBzaXplIgorbXNnc3RyICJkaW1lbnNpb25lIGlub2RlIHYyIG5vbiBjb3JyZXR0YSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTMzNworbXNnaWQgIm5lZWQgdGVybWluYWwgZm9yIGludGVyYWN0aXZlIHJlcGFpcnMiCittc2dzdHIgInRlcm1pbmFsZSBuZWNlc3NhcmlvIHBlciBsZSByaXBhcmF6aW9uaSBpbnRlcmF0dGl2ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgY2xlYW4sIG5vIGNoZWNrLlxuIgorbXNnc3RyICInJXMnIMOoIGNvcnJldHRvLCBub24gY29udHJvbGxhcmUuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9yY2luZyBmaWxlc3lzdGVtIGNoZWNrIG9uICVzLlxuIgorbXNnc3RyICJGb3J6YXR1cmEgY29udHJvbGxvIGZpbGVzeXN0ZW0gc3UgJXMgaW4gY29yc28uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBvbiAlcyBpcyBkaXJ0eSwgbmVlZHMgY2hlY2tpbmcuXG4iCittc2dzdHIgIklsIGZpbGVzeXN0ZW0gc3UgJXMgw6ggZGFubmVnZ2lhdG8sIGNvbnRyb2xsbyBuZWNlc3NhcmlvLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmxkIGlub2RlcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2bGQgaW5vZGUgdXRpbGl6emF0aSAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTZsZCB6b25lcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiJTZsZCB6b25lIHV0aWxpenphdGUgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmQgcmVndWxhciBmaWxlc1xuIgorIiU2ZCBkaXJlY3Rvcmllc1xuIgorIiU2ZCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGJsb2NrIGRldmljZSBmaWxlc1xuIgorIiU2ZCBsaW5rc1xuIgorIiU2ZCBzeW1ib2xpYyBsaW5rc1xuIgorIi0tLS0tLVxuIgorIiU2ZCBmaWxlc1xuIgorbXNnc3RyICIiCisiXG4iCisiJTZkIGZpbGUgcmVnb2xhcmlcbiIKKyIlNmQgZGlyZWN0b3J5XG4iCisiJTZkIGZpbGUgZGkgZGlzcG9zaXRpdm8gYSBjYXJhdHRlcmlcbiIKKyIlNmQgZmlsZSBkaSBkaXNwb3NpdGl2byBhIGJsb2NjaGlcbiIKKyIlNmQgY29sbGVnYW1lbnRpXG4iCisiJTZkIGNvbGxlZ2FtZW50aSBzaW1ib2xpY2lcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmlsZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDExCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiRklMRSBTWVNURU0gSEFTIEJFRU4gQ0hBTkdFRFxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIklMIEZJTEUgU1lTVEVNIMOIIFNUQVRPIE1PRElGSUNBVE9cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MzMKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTM5IGRpc2stdXRpbHMvcGFydHguYzoxMDM1IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMgorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTggc3lzLXV0aWxzL2RtZXNnLmM6NjU5IHN5cy11dGlscy93ZGN0bC5jOjM0NgorIzogc3lzLXV0aWxzL3dkY3RsLmM6NDExIHRlcm0tdXRpbHMvc2NyaXB0LmM6MjcyIHRlcm0tdXRpbHMvc2NyaXB0LmM6MzQ5CisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI0OAorIywgZnV6enkKK21zZ2lkICJ3cml0ZSBmYWlsZWQiCittc2dzdHIgIihGaWxlIHN1Y2Nlc3Npdm86ICVzKSIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtaWdodCBub3QgYmUgYW4gSVNPIGZpbGVzeXN0ZW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZWVrIGVycm9yIG9uICVzIgorbXNnc3RyICIlczogZXJyb3JlIGRpIHBvc2l6aW9uYW1lbnRvIHN1ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVhZCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiJXM6IGVycm9yZSBkaSBsZXR0dXJhIHN1ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZWN0b3IgY291bnQ6ICVkLCBzZWN0b3Igc2l6ZTogJWRcbiIKK21zZ3N0ciAibnVtZXJvIHNldHRvcmk6ICVkLCBkaW1lbnNpb25lIHNldHRvcmk6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8aXNvOTY2MF9pbWFnZV9maWxlPlxuIgorbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzQKK21zZ2lkICJTaG93IHRoZSBsZW5ndGggb2YgYW4gSVNPLTk2NjAgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzcKK21zZ2lkICIgLWQsIC0tZGl2aXNvcj08bnVtYmVyPiAgZGl2aWRlIHRoZSBhbW91bnQgb2YgYnl0ZXMgYnkgPG51bWJlcj5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzgKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHNob3cgc2VjdG9yIGNvdW50IGFuZCBzaXplXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjIxMAorbXNnaWQgImludmFsaWQgZGl2aXNvciBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc3Cittc2dpZCAiTWFrZSBhbiBTQ08gYmZzIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtTiwgLS1pbm9kZXM9TlVNICAgIHNwZWNpZnkgZGVzaXJlZCBudW1iZXIgb2YgaW5vZGVzXG4iCisiIC1WLCAtLXZuYW1lPU5BTUUgICAgc3BlY2lmeSB2b2x1bWUgbmFtZVxuIgorIiAtRiwgLS1mbmFtZT1OQU1FICAgIHNwZWNpZnkgZmlsZSBzeXN0ZW0gbmFtZVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisiIC1jICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorIiAtbCAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAgICAgICAgICAgICAgICAgICAgIC1WIGFzIHZlcnNpb24gbXVzdCBiZSBvbmx5IG9wdGlvblxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE0NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG51bWJlciBvZiBpbm9kZXMiCittc2dzdHIgIk51bWVybyBub24gdmFsaWRvOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTUwCittc2dpZCAidm9sdW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm5vbWUgZGkgdm9sdW1lIHRyb3BwbyBsdW5nbyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1NworbXNnaWQgImZzbmFtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICJub21lIGRlbCBmaWxlc3lzdGVtIHRyb3BwbyBsdW5nbyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGJsb2NrLWNvdW50IgorbXNnc3RyICJpZCBub24gdmFsaWRvIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgb3R0ZW5lcmUgbGEgZGltZW5zaW9uZSBkaSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmxvY2tzIGFyZ3VtZW50IHRvbyBsYXJnZSwgbWF4IGlzICVsbHUiCittc2dzdHIgImFyZ29tZW50byBkZWkgYmxvY2NoaSB0cm9wcG8gbGFyZ28sIGlsIG1hc3NpbW8gw6ggJWx1IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjE5Cittc2dpZCAidG9vIG1hbnkgaW5vZGVzIC0gbWF4IGlzIDUxMiIKK21zZ3N0ciAidHJvcHBpIGlub2RlIC0gaWwgbWFzc2ltbyDDqCA1MTIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UsIG5lZWQgYXQgbGVhc3QgJWxsdSBibG9ja3MiCittc2dzdHIgInNwYXppbyBpbnN1ZmZpY2llbnRlLCBzb25vIG5lY2Vzc2FyaSBhbG1lbm8gJWx1IGJsb2NjaGkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlOiAlc1xuIgorbXNnc3RyICJEaXNwb3NpdGl2bzogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJWb2x1bWU6IDwlLTZzPlxuIgorbXNnc3RyICJWb2x1bWU6IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZTbmFtZTogPCUtNnM+XG4iCittc2dzdHIgIk5vbWUgZmlsZXN5c3RlbTogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tTaXplOiAlZFxuIgorbXNnc3RyICJEaW1lbnNpb25pIGJsb2NjbzogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluIDEgYmxvY2spXG4iCittc2dzdHIgIklub2RlOiAlZCAoaW4gMSBibG9jY28pXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAlbGx1IGJsb2NrcylcbiIKK21zZ3N0ciAiSW5vZGU6ICVkIChpbiAlbGQgYmxvY2NoaSlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tzOiAlbGx1XG4iCittc2dzdHIgIkJsb2NjaGk6ICVsZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlIGVuZDogJWQsIERhdGEgZW5kOiAlZFxuIgorbXNnc3RyICJGaW5lIGlub2RlOiAlZCwgZmluZSBkYXRpOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU3Cittc2dpZCAiZXJyb3Igd3JpdGluZyBzdXBlcmJsb2NrIgorbXNnc3RyICJlcnJvcmUgZHVyYW50ZSBsYSBzY3JpdHR1cmEgZGVsIHN1cGVyYmxvY2NvIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjc4Cittc2dpZCAiZXJyb3Igd3JpdGluZyByb290IGlub2RlIgorbXNnc3RyICJlcnJvcmUgZHVyYW50ZSBsYSBzY3JpdHR1cmEgZGVsbCdpbm9kZSByYWRpY2UiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODMKK21zZ2lkICJlcnJvciB3cml0aW5nIGlub2RlIgorbXNnc3RyICJlcnJvcmUgZHVyYW50ZSBsYSBzY3JpdHR1cmEgZGVsbCdpbm9kZSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4NgorbXNnaWQgInNlZWsgZXJyb3IiCittc2dzdHIgImVycm9yZSBkaSBwb3NpemlvbmFtZW50byIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5MgorbXNnaWQgImVycm9yIHdyaXRpbmcgLiBlbnRyeSIKK21zZ3N0ciAiZXJyb3JlIGR1cmFudGUgbGEgc2NyaXR0dXJhIGRpIFwiLlwiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjk2Cittc2dpZCAiZXJyb3Igd3JpdGluZyAuLiBlbnRyeSIKK21zZ3N0ciAiZXJyb3JlIGR1cmFudGUgbGEgc2NyaXR0dXJhIGRpIFwiLi5cIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjbG9zaW5nICVzIgorbXNnc3RyICJlcnJvcmUgZHVyYW50ZSBsYSBjaGl1c3VyYSBkaSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy10IDx0eXBlPl0gW2ZzLW9wdGlvbnNdIDxkZXZpY2U+IFs8c2l6ZT5dXG4iCittc2dzdHIgIlVzbzogbWtmcyBbLVZdIFstdCB0aXBvZnNdIFtvcHppb25pLWZzXSBkaXNwb3NpdGl2byBbZGltZW5zaW9uZV1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDgKKyMsIGZ1enp5Cittc2dpZCAiTWFrZSBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkltbWV0dGVyZSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW06ICIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC10LCAtLXR5cGU9PHR5cGU+ICBmaWxlc3lzdGVtIHR5cGU7IHdoZW4gdW5zcGVjaWZpZWQsIGV4dDIgaXMgdXNlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgZnMtb3B0aW9ucyAgICAgcGFyYW1ldGVycyBmb3IgdGhlIHJlYWwgZmlsZXN5c3RlbSBidWlsZGVyXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8ZGV2aWNlPiAgICAgICBwYXRoIHRvIHRoZSBkZXZpY2UgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPHNpemU+ICAgICAgICAgbnVtYmVyIG9mIGJsb2NrcyB0byBiZSB1c2VkIG9uIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeWluZyAtViBtb3JlIHRoYW4gb25jZSB3aWxsIGNhdXNlIGEgZHJ5LXJ1blxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdDtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgLVYgYXMgLS12ZXJzaW9uIG11c3QgYmUgdGhlIG9ubHkgb3B0aW9uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjEzOSBsaWIvZXhlY19zaGVsbC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjIzMworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjU3IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk5MgorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwMCBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODA0IHNjaGVkdXRpbHMvY2hydC5jOjU1OAorIzogc2NoZWR1dGlscy9pb25pY2UuYzoyNjAgc2NoZWR1dGlscy90YXNrc2V0LmM6MjM5IHN5cy11dGlscy9mbG9jay5jOjEyMgorIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MzAgc3lzLXV0aWxzL3BybGltaXQuYzo2NDQgc3lzLXV0aWxzL3J0Y3dha2UuYzo1NzcKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzI0IHN5cy11dGlscy9zZXRhcmNoLmM6NDAzIHN5cy11dGlscy9zZXRzaWQuYzoxMTUKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozNDAgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjQyIHN5cy11dGlscy91bnNoYXJlLmM6NDYxCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU4MSB0ZXh0LXV0aWxzL3BnLmM6MTM3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGV4ZWN1dGUgJXMiCittc2dzdHIgImlvY3RsKCkgbm9uIMOoIHJpdXNjaXRvIGEgbGVnZ2VyZSBsJ29yYXJpbyBkYSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidXNhZ2U6ICVzIFstaF0gWy12XSBbLWIgYmxrc2l6ZV0gWy1lIGVkaXRpb25dIFstTiBlbmRpYW5dIFstaSBmaWxlXSBbLW4gbmFtZV0gZGlybmFtZSBvdXRmaWxlXG4iCisiIC1oICAgICAgICAgcHJpbnQgdGhpcyBoZWxwXG4iCisiIC12ICAgICAgICAgYmUgdmVyYm9zZVxuIgorIiAtRSAgICAgICAgIG1ha2UgYWxsIHdhcm5pbmdzIGVycm9ycyAobm9uLXplcm8gZXhpdCBzdGF0dXMpXG4iCisiIC1iIGJsa3NpemUgdXNlIHRoaXMgYmxvY2tzaXplLCBtdXN0IGVxdWFsIHBhZ2Ugc2l6ZVxuIgorIiAtZSBlZGl0aW9uIHNldCBlZGl0aW9uIG51bWJlciAocGFydCBvZiBmc2lkKVxuIgorIiAtTiBlbmRpYW4gIHNldCBjcmFtZnMgZW5kaWFubmVzcyAoYmlnfGxpdHRsZXxob3N0KSwgZGVmYXVsdCBob3N0XG4iCisiIC1pIGZpbGUgICAgaW5zZXJ0IGEgZmlsZSBpbWFnZSBpbnRvIHRoZSBmaWxlc3lzdGVtIChyZXF1aXJlcyA+PSAyLjQuMClcbiIKKyIgLW4gbmFtZSAgICBzZXQgbmFtZSBvZiBjcmFtZnMgZmlsZXN5c3RlbVxuIgorIiAtcCAgICAgICAgIHBhZCBieSAlZCBieXRlcyBmb3IgYm9vdCBjb2RlXG4iCisiIC1zICAgICAgICAgc29ydCBkaXJlY3RvcnkgZW50cmllcyAob2xkIG9wdGlvbiwgaWdub3JlZClcbiIKKyIgLXogICAgICAgICBtYWtlIGV4cGxpY2l0IGhvbGVzIChyZXF1aXJlcyA+PSAyLjMuMzkpXG4iCisiIGRpcm5hbWUgICAgcm9vdCBvZiB0aGUgZmlsZXN5c3RlbSB0byBiZSBjb21wcmVzc2VkXG4iCisiIG91dGZpbGUgICAgb3V0cHV0IGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZWFkbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICIoRmlsZSBzdWNjZXNzaXZvOiAlcykiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAibCdpbm9kZSByYWRpY2Ugbm9uIMOoIHVuYSBkaXJlY3RvcnkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo0NDMKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSB0b28gYmlnLiAgRXhpdGluZy4iCittc2dzdHIgImZpbGVzeXN0ZW0gdHJvcHBvIGdyYW5kZS4gVXNjaXRhLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkFJRUVFOiBibG9jayBcImNvbXByZXNzZWRcIiB0byA+IDIqYmxvY2tsZW5ndGggKCVsZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStkIGJ5dGUpXHQlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2xvc2UgZmlsZSAlcyIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYXByaXJlIGlsIGZpbGUgJyVzJyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjczMgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICJpZCBub24gdmFsaWRvIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzQyCittc2dpZCAiaW52YWxpZCBlbmRpYW5uZXNzIGdpdmVuOyBtdXN0IGJlICdiaWcnLCAnbGl0dGxlJywgb3IgJ2hvc3QnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ3Vlc3RpbWF0ZSBvZiByZXF1aXJlZCBzaXplICh1cHBlciBib3VuZCkgaXMgJWxsZE1CLCBidXQgbWF4aW11bSBpbWFnZSBzaXplIGlzICV1TUIuICBXZSBtaWdodCBkaWUgcHJlbWF0dXJlbHkuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MzAKK21zZ2lkICJST00gaW1hZ2UgbWFwIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5jbHVkaW5nOiAlc1xuIgorbXNnc3RyICJJbmNsdXNvOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgZGF0YTogJXpkIGJ5dGVzXG4iCittc2dzdHIgIkRhdGkgZGlyZWN0b3J5OiAlZCBieXRlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkV2ZXJ5dGhpbmc6ICV6ZCBraWxvYnl0ZXNcbiIKK21zZ3N0ciAiVHV0dG86ICVkIGtpbG9ieXRlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN1cGVyIGJsb2NrOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiU3VwZXJibG9jY286ICVkIGJ5dGVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICJDUkM6ICV4XG4iCittc2dzdHIgIkNSQzogJXhcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSBhbGxvY2F0ZWQgZm9yIFJPTSBpbWFnZSAoJWxsZCBhbGxvY2F0ZWQsICV6dSB1c2VkKSIKK21zZ3N0ciAic3BhemlvIGluc3VmZmljaWVudGUgYWxsb2NhdG8gcGVyIGwnaW1tYWdpbmUgUk9NICglbGxkIGFsbG9jYXRpLCAlZCB1c2F0aSlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUk9NIGltYWdlIHdyaXRlIGZhaWxlZCAoJXpkICV6ZCkiCittc2dzdHIgIlNjcml0dHVyYSBkZWxsJ2ltbWFnaW5lIFJPTSBub24gcml1c2NpdGEgKCVkICVkKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODgyCittc2dpZCAiUk9NIGltYWdlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGVuYW1lcyB0cnVuY2F0ZWQgdG8gJXUgYnl0ZXMuIgorbXNnc3RyICJhdHRlbnppb25lOiBub21pIGRpIGZpbGUgdHJvbmNhdGkgYSAyNTUgYnl0ZS5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MworIywgZnV6enkKK21zZ2lkICJ3YXJuaW5nOiBmaWxlcyB3ZXJlIHNraXBwZWQgZHVlIHRvIGVycm9ycy4iCittc2dzdHIgImF0dGVuemlvbmU6IGFsY3VuaSBmaWxlIHNvbm8gc3RhdGkgaWdub3JhdGkgYSBjYXVzYSBkaSBlcnJvcmkuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGUgc2l6ZXMgdHJ1bmNhdGVkIHRvICVsdU1CIChtaW51cyAxIGJ5dGUpLiIKK21zZ3N0ciAiYXR0ZW56aW9uZTogZGltZW5zaW9uaSBkZWkgZmlsZSB0cm9uY2F0ZSBhICVsdU1CIChtZW5vIDEgYnl0ZSkuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHVpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgImF0dGVuemlvbmU6IHVpZCB0cm9uY2F0aSBhICV1IGJpdC4gKFF1ZXN0byBwdcOyIGVzc2VyZSB1biBwcm9ibGVtYSBkaSBzaWN1cmV6emEpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGdpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgImF0dGVuemlvbmU6IGdpZCB0cm9uY2F0aSBhICV1IGJpdC4gKFF1ZXN0byBwdcOyIGVzc2VyZSB1biBwcm9ibGVtYSBkaSBzaWN1cmV6emEpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXQVJOSU5HOiBkZXZpY2UgbnVtYmVycyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIFRoaXMgYWxtb3N0IGNlcnRhaW5seSBtZWFuc1xuIgorInRoYXQgc29tZSBkZXZpY2UgZmlsZXMgd2lsbCBiZSB3cm9uZy4iCittc2dzdHIgIiIKKyJBVFRFTlpJT05FOiBudW1lcmkgZGkgZGV2aWNlIHRyb25jYXRpIGEgJXUgYml0LiBRdWVzdG8gc2lnbmlmaWNhIHF1YXNpXG4iCisiY2VydGFtZW50ZSBjaGUgYWxjdW5pIGZpbGUgZGkgZGV2aWNlIHNhcmFubm8gc2JhZ2xpYXRpLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gL2Rldi9uYW1lIFtibG9ja3NdXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzNworIywgZnV6enkKK21zZ2lkICIgLTEgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOAorIywgZnV6enkKK21zZ2lkICIgLTIsIC12ICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMlxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOQorIywgZnV6enkKK21zZ2lkICIgLTMgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gM1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmFtZWxlbmd0aCA8bnVtPiAgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzXG4iCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taW5vZGVzIDxudW0+ICAgICAgbnVtYmVyIG9mIGlub2RlcyBmb3IgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiSW1tZXR0ZXJlIGlsIG51bWVybyBkaSBjaWxpbmRyaTogIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIGNoZWNrIHRoZSBkZXZpY2UgZm9yIGJhZCBibG9ja3NcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDMKK21zZ2lkICIgLWwsIC0tYmFkYmxvY2tzIDxmaWxlPiAgbGlzdCBvZiBiYWQgYmxvY2tzIGZyb20gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgdG8gYm9vdCBibG9jayBmYWlsZWQgIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAidGVudGF0aXZvIGRpIGVmZmV0dHVhcmUgaWwgYm9vdCBkZWwgYmxvY2NvIGluIHdyaXRlX3RhYmxlcyBub24gcml1c2NpdG8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBjbGVhciBib290IHNlY3RvciIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgY2FuY2VsbGFyZSBpbCBzZXR0b3JlIGRpIGJvb3QiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAicmljZXJjYSBpbiB3cml0ZV90YWJsZXMgbm9uIHJpdXNjaXRhIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgImltcG9zc2liaWxlIHNjcml2ZXJlIGluIHN1cGVyLWJsb2NrIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICJpbXBvc3NpYmlsZSBzY3JpdmVyZSBuZWxsYSBtYXBwYSBkZWdsaSBpbm9kZSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICJpbXBvc3NpYmlsZSBzY3JpdmVyZSBuZWxsYSBtYXBwYSBkZWxsZSB6b25lIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBzY3JpdmVyZSBpbm9kZSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgInRlbnRhdGl2byBmYWxsaXRvIGluIHdyaXRlX2Jsb2NrICIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICJzY3JpdHR1cmEgaW4gd3JpdGVfYmxvY2sgbm9uIHJpdXNjaXRhIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMjEgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Mjk2CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzozNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbWFueSBiYWQgYmxvY2tzIgorbXNnc3RyICJ0cm9wcGkgYmxvY2NoaSBkYW5uZWdnaWF0aSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGVub3VnaCBnb29kIGJsb2NrcyIKK21zZ3N0ciAibnVtZXJvIGluc3VmZmljaWVudGUgZGkgYmxvY2NoaSBjb3JyZXR0aSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJGaXJzdCBkYXRhIGJsb2NrIGF0ICVqZCwgd2hpY2ggaXMgdG9vIGZhciAobWF4ICVkKS5cbiIKKyJUcnkgc3BlY2lmeWluZyBmZXdlciBpbm9kZXMgYnkgcGFzc2luZyAtLWlub2RlcyA8bnVtPiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIklub2RlICVsZFxuIgorbXNnc3RyWzFdICJJbm9kZSAlbGRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJsb2Nrc1xuIgorbXNnc3RyWzBdICJibG9jY2hpICVsZFxuIgorbXNnc3RyWzFdICJibG9jY2hpICVsZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSV6dVxuIgorbXNnc3RyICJEaW1lbnNpb25lIHpvbmE9JWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiTWF4c2l6ZT0lenVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkRpbWVuc2lvbmUgbWF4PSVsZFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBkdXJpbmcgdGVzdGluZyBvZiBibG9ja3MiCittc2dzdHIgInJpY2VyY2Egbm9uIHJpdXNjaXRhIGR1cmFudGUgaWwgY29udHJvbGxvIGRlaSBibG9jY2hpIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VpcmQgdmFsdWVzIGluIGRvX2NoZWNrOiBwcm9iYWJseSBidWdzXG4iCittc2dzdHIgIlZhbG9yaSBzdHJhbmkgaW4gZG9fY2hlY2s6IHByb2JhYmlsbWVudGUgc29ubyBwcmVzZW50aSBkZWkgYnVnXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAicmljZXJjYSBpbiBjaGVja19ibG9ja3Mgbm9uIHJpdXNjaXRhIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgYmxvY2tzIGJlZm9yZSBkYXRhLWFyZWE6IGNhbm5vdCBtYWtlIGZzIgorbXNnc3RyICJibG9jY2hpIGRhbm5lZ2dpYXRpIHByaW1hIGRlbGwnYXJlYSBkYXRpOiBpbXBvc3NpYmlsZSBjcmVhcmUgZnMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzOSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIGJhZCBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlZCBiYWQgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVkIGJsb2NjaGkgZGFubmVnZ2lhdGlcbiIKK21zZ3N0clsxXSAiJWQgYmxvY2NoaSBkYW5uZWdnaWF0aVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBvcGVuIGZpbGUgb2YgYmFkIGJsb2NrcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlIGlsIGZpbGUgZGVpIGJsb2NjaGkgZGFubmVnZ2lhdGkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1MworIywgYy1mb3JtYXQKK21zZ2lkICJiYWRibG9jayBudW1iZXIgaW5wdXQgZXJyb3Igb24gbGluZSAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGJhZGJsb2NrcyBmaWxlIgorbXNnc3RyICJJbXBvc3NpYmlsZSBsZWdnZXJlIGwndW5pdMOgIGRpc2NvIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgc2l6ZSBzbWFsbGVyIHRoYW4gcGh5c2ljYWwgc2VjdG9yIHNpemUgb2YgJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNpemUgb2YgJXMiCittc2dzdHIgImltcG9zc2liaWxlIG90dGVuZXJlIGxhIGRpbWVuc2lvbmUgZGkgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVxdWVzdGVkIGJsb2NrcyAoJWxsdSkgZXhjZWVkcyBhdmFpbGFibGUgKCVsbHUpIGJsb2Nrc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG51bWJlciBvZiBibG9ja3MgdG9vIHNtYWxsIgorbXNnc3RyICJOdW1lcm8gZGkgc2V0dG9yaSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzIzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbmFtZSBsZW5ndGg6ICVkIgorbXNnc3RyICIlczogYXJnb21lbnRvIHNjb25vc2NpdXRvOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG1pbml4IGZpbGUgc3lzdGVtIHZlcnNpb246ICVkIgorbXNnc3RyICJJbW1ldHRlcmUgaWwgdGlwbyBkaSBmaWxlc3lzdGVtOiAiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc2NworbXNnaWQgIi12IGlzIGFtYmlndW91cywgdXNlICctMicgaW5zdGVhZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NzgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzgyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MDYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBibG9ja3MiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIGEgZmlsZXN5c3RlbSBoZXJlISIKK21zZ3N0ciAiJXMgw6ggbW9udGF0YTsgcXVpIG5vbiB2ZXJyw6AgY3JlYXRvIHVuIGZpbGVzeXN0ZW0hIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCYWQgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICV1IgorbXNnc3RyICJkaW1lbnNpb25lIHBhZ2luYSAlZCBzcGVjaWZpY2F0YSBkYWxsJ3V0ZW50ZSBub24gY29ycmV0dGFcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICVkLCBpbnN0ZWFkIG9mIHRoZSBzeXN0ZW0gdmFsdWUgJWQiCittc2dzdHIgIlV0aWxpenpvIGxhIGRpbWVuc2lvbmUgcGFnaW5hICVkIHNwZWNpZmljYXRhIGRhbGwndXRlbnRlLCBhbCBwb3N0byBkZWwgdmFsb3JlIGRpIHNpc3RlbWEgJWRcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAiTGFiZWwgd2FzIHRydW5jYXRlZC4iCittc2dzdHIgIkwnZXRpY2hldHRhIMOoIHN0YXRhIHRyb25jYXRhLlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBsYWJlbCwgIgorbXNnc3RyICJuZXNzdW5hIGV0aWNoZXR0YSwgIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyB1dWlkXG4iCittc2dzdHIgIm5lc3N1biB1dWlkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXSBkZXZpY2UgW3NpemVdXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTUyCittc2dpZCAiU2V0IHVwIGEgTGludXggc3dhcCBhcmVhLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIGNoZWNrIGJhZCBibG9ja3MgYmVmb3JlIGNyZWF0aW5nIHRoZSBzd2FwIGFyZWFcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBhbGxvdyBzd2FwIHNpemUgYXJlYSBiZSBsYXJnZXIgdGhhbiBkZXZpY2VcbiIKKyIgLXAsIC0tcGFnZXNpemUgU0laRSAgICAgICBzcGVjaWZ5IHBhZ2Ugc2l6ZSBpbiBieXRlc1xuIgorIiAtTCwgLS1sYWJlbCBMQUJFTCAgICAgICAgIHNwZWNpZnkgbGFiZWxcbiIKKyIgLXYsIC0tc3dhcHZlcnNpb24gTlVNICAgICBzcGVjaWZ5IHN3YXAtc3BhY2UgdmVyc2lvbiBudW1iZXJcbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICBzcGVjaWZ5IHRoZSB1dWlkIHRvIHVzZVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgYmFkIHBhZ2VzOiAlbHUiCittc2dzdHIgInRyb3BwZSBwYWdpbmUgZGFubmVnZ2lhdGUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTk1Cittc2dpZCAic2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIgorbXNnc3RyICJyaWNlcmNhIGluIGNoZWNrX2Jsb2NrcyBub24gcml1c2NpdGEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmFkIHBhZ2VcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJhZCBwYWdlc1xuIgorbXNnc3RyWzBdICIlbHUgcGFnaW5lIGRhbm5lZ2dpYXRlXG4iCittc2dzdHJbMV0gIiVsdSBwYWdpbmUgZGFubmVnZ2lhdGVcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMjgKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGFsbG9jIG5ldyBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYWxsb2NhcmUgaWwgYnVmZmVyIHBlciBnbGkgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMwCisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBhc3NpZ24gZGV2aWNlIHRvIGxpYmJsa2lkIHByb2JlIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIgcGVyIGdsaSBpbm9kZSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNoZWNraW5nIGJhZCBibG9ja3MgZnJvbSBzd2FwIGZpbGUgaXMgbm90IHN1cHBvcnRlZDogJXMiCittc2dzdHIgIkF0dGVuemlvbmU6IEwnb3B6aW9uZSBuYW1sZW4gbm9uIMOoIGdlc3RpdGEuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjYxIGRpc2stdXRpbHMvbWtzd2FwLmM6Mjg3IGRpc2stdXRpbHMvbWtzd2FwLmM6MzM0Cittc2dpZCAidW5hYmxlIHRvIHJld2luZCBzd2FwLWRldmljZSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgcmlhdnZvbGdlcmUgaWwgZGlzcG9zaXRpdm8gc3dhcCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyOTAKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgImltcG9zc2liaWxlIGNhbmNlbGxhcmUgaWwgc2V0dG9yZSBkaSBib290IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogd2lwaW5nIG9sZCAlcyBzaWduYXR1cmUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogZG9uJ3QgZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgY2FuY2VsbGFyZSBpbCBzZXR0b3JlIGRpIGJvb3QiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICglcyBwYXJ0aXRpb24gdGFibGUgZGV0ZWN0ZWQpLiAiCittc2dzdHIgIiAgIHAgICBzdGFtcGEgZGVsbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIEJTRCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKGNvbXBpbGVkIHdpdGhvdXQgbGliYmxraWQpLiAiCittc2dzdHIgIiAgIHMgICB2aXN1YWxpenphemlvbmUgZGVsIGRpc2tsYWJlbCBjb21wbGV0byIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzZSAtZiB0byBmb3JjZS5cbiIKK21zZ3N0ciAiVXRpbGl6emFyZSAlcyAtbCBwZXIgY29uc3VsdGFyZSBsJ2VsZW5jby5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc2lnbmF0dXJlIHBhZ2UiCittc2dzdHIgImltcG9zc2liaWxlIHNjcml2ZXJlIHN1bGxhIHBhZ2luYSBkaSBmaXJtYSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODAKKyMsIGZ1enp5Cittc2dpZCAicGFyc2luZyBwYWdlIHNpemUgZmFpbGVkIgorbXNnc3RyICJyaWNlcmNhIG5vbiByaXVzY2l0YSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODYKKyMsIGZ1enp5Cittc2dpZCAicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiCittc2dzdHIgInNlbWFmb3JpIGFsbG9jYXRpID0gJWRcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcHNwYWNlIHZlcnNpb24gJWQgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBpZ25vcmluZyAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkIGJ5ICVzKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQxNAorbXNnaWQgIm9ubHkgb25lIGRldmljZSBhcmd1bWVudCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDIxCisjLCBmdXp6eQorbXNnaWQgImVycm9yOiBwYXJzaW5nIFVVSUQgZmFpbGVkIgorbXNnc3RyICIiCisiXG4iCisiRXJyb3JlIGR1cmFudGUgbGEgY2hpdXN1cmEgZGVsIGZpbGVcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzAKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3I6IE5vd2hlcmUgdG8gc2V0IHVwIHN3YXAgb24/IgorbXNnc3RyICIlczogZXJyb3JlOiBub24gw6ggcG9zc2liaWxlIGltcG9zdGFyZSBzd2FwIGluIG5lc3N1bmEgcG9zaXppb25lP1xuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzNgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGJsb2NrIGNvdW50IGFyZ3VtZW50IgorbXNnc3RyICJpZCBub24gdmFsaWRvIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHNpemUgJWxsdSBLaUIgaXMgbGFyZ2VyIHRoYW4gZGV2aWNlIHNpemUgJTxQUkl1NjQ+IEtpQiIKK21zZ3N0ciAiJXM6IGVycm9yZTogbGEgZGltZW5zaW9uZSAlbHUgw6ggbWFnZ2lvcmUgZGkgcXVlbGxhIGRlbCBkaXNwb3NpdGl2byAlbHVcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzd2FwIGFyZWEgbmVlZHMgdG8gYmUgYXQgbGVhc3QgJWxkIEtpQiIKK21zZ3N0ciAiJXM6IGVycm9yZTogbCdhcmVhIGRpIHN3YXAgZGV2ZSBlcXVpdmFsZXJlIGFsbWVubyBhICVsZGtCXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB0cnVuY2F0aW5nIHN3YXAgYXJlYSB0byAlbGx1IEtpQiIKK21zZ3N0ciAiJXM6IGF0dGVuemlvbmU6IHRyb25jYW1lbnRvIGFyZWEgc3dhcCBhICVsZGtCXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBzd2Fwc3BhY2UiCittc2dzdHIgIiVzOiBlcnJvcmU6ICVzIMOoIG1vbnRhdGE7IHF1aSBub24gdmVycsOgIGNyZWF0byB1bm8gc3BhemlvIGRpIHN3YXAuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDY4IHN5cy11dGlscy9zd2Fwb24uYzo1MjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBwZXJtaXNzaW9ucyAlMDRvLCAlMDRvIHN1Z2dlc3RlZC4iCittc2dzdHIgIiVzOiBhdHRlbnppb25lOiAlcyBoYSBwZXJtZXNzaSAlMDRvIG5vbiBzaWN1cmksIHNpIHN1Z2dlcmlzY2UgJTA0b1xuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ3MiBzeXMtdXRpbHMvc3dhcG9uLmM6NTMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgZmlsZSBvd25lciAlZCwgMCAocm9vdCkgc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IGF0dGVuemlvbmU6ICVzIGhhIHBlcm1lc3NpICUwNG8gbm9uIHNpY3VyaSwgc2kgc3VnZ2VyaXNjZSAlMDRvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDg3Cittc2dpZCAiVW5hYmxlIHRvIHNldCB1cCBzd2FwLXNwYWNlOiB1bnJlYWRhYmxlIgorbXNnc3RyICJJbXBvc3NpYmlsZSBpbXBvc3RhcmUgbG8gc3BhemlvLXN3YXA6IG5vbiBsZWdnaWJpbGUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIHVwIHN3YXBzcGFjZSB2ZXJzaW9uICVkLCBzaXplID0gJXMgKCU8UFJJdTY0PiBieXRlcylcbiIKK21zZ3N0ciAiSW1wb3N0YXppb25lIHNwYXppbyBkaSBzd2FwIHZlcnNpb25lICVkLCBkaW1lbnNpb25lID0gJWxsdSBrQlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBvYnRhaW4gc2VsaW51eCBmaWxlIGxhYmVsIgorbXNnc3RyICJpbXBvc3NpYmlsZSByaWF2dm9sZ2VyZSBpbCBkaXNwb3NpdGl2byBzd2FwIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxNQorbXNnaWQgInVuYWJsZSB0byBtYXRjaHBhdGhjb24oKSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZmFyZSBtYXRjaHBhdGhjb24oKSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTgKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIG5ldyBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgImltcG9zc2liaWxlIGNyZWFyZSB1biBudW92byBjb250ZXN0byBzZWxpbnV4IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMAorbXNnaWQgImNvdWxkbid0IGNvbXB1dGUgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVsYWJlbCAlcyB0byAlcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIHJpbm9taW5hcmUgJXMgaW4gJXM6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NgorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJOdW1lcm8gZGVsbGEgcGFydGl6aW9uZSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg3CisjLCBmdXp6eQorbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIKK21zZ3N0ciAiU3RhbXBhcmUgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODgKKyMsIGZ1enp5Cittc2dpZCAiZW5kIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIKK21zZ3N0ciAiU2NyaXR0dXJhIGRlbGxhIHBhcnRpemlvbmUgc3UgJXMgbm9uIHJpdXNjaXRhXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OQorIywgZnV6enkKK21zZ2lkICJudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAiTnVtZXJvIGRpIHNldHRvcmkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MAorbXNnaWQgImh1bWFuIHJlYWRhYmxlIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkxCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJOdW1lcm8gZGVsbGEgcGFydGl6aW9uZSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkyIG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY4CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGl6aW9uaTpcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkzCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiB0YWJsZSB0eXBlIChkb3MsIGdwdCwgLi4uKSIKK21zZ3N0ciAiU2NyaXR0dXJhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBzdSBkaXNjbyBpbiBjb3Jzby4uLiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk0IG1pc2MtdXRpbHMvbHNibGsuYzoxNjkKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIGZsYWdzIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGl6aW9uaTpcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1Cittc2dpZCAicGFydGl0aW9uIHR5cGUgKGEgc3RyaW5nLCBhIFVVSUQsIG9yIGhleCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUwOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjYxNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wY3h0IgorbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIuXG4iCisKKyMgRklYTUUKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZCB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSB0cm92YXJlIHVuIGxvb3AgZGV2aWNlIGxpYmVybyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvIHVzZSAnJXMnIGZvciB0aGUgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAibW91bnQ6IHNpIGludGVuZGUgdXRpbGl6emFyZSBpbCBsb29wIGRldmljZSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBiYWNraW5nIGZpbGUiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo1NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlIgorbXNnc3RyICJpbXBvc3NpYmlsZSByaWF2dm9sZ2VyZSBpbCBkaXNwb3NpdGl2byBzd2FwIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTYxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzA3IG1pc2MtdXRpbHMvZmluZG1udC5jOjM3NgorIzogbWlzYy11dGlscy9sc2Jsay5jOjM1NCBtaXNjLXV0aWxzL2xzbG9ja3MuYzozNDIgc3lzLXV0aWxzL2xvc2V0dXAuYzoxMDcKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM3MiBzeXMtdXRpbHMvbHNpcGMuYzoyMzIgc3lzLXV0aWxzL2xzbnMuYzoxODkKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjc3IHN5cy11dGlscy9zd2Fwb24uYzoxNDcgc3lzLXV0aWxzL3dkY3RsLmM6MTUxCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjE0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICIlczogQ29tYW5kbyBzY29ub3NjaXV0bzogJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjIwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAicmljZXJjYSBpbiB3cml0ZV90YWJsZXMgbm9uIHJpdXNjaXRhIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjg2IGRpc2stdXRpbHMvcGFydHguYzozMjQgZGlzay11dGlscy9wYXJ0eC5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZpZWQgcmFuZ2UgPCVkOiVkPiBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmFuZ2UgcmVjb3VudDogbWF4IHBhcnRubz0lZCwgbG93ZXI9JWQsIHVwcGVyPSVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiUGFydGl6aW9uZSBzZWxlemlvbmF0YSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlbW92ZWRcbiIKK21zZ3N0ciAiTmVzc3VuYSBwYXJ0aXppb25lIGRlZmluaXRhXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGRvZXNuJ3QgZXhpc3RcbiIKK21zZ3N0ciAiUXVlc3RhIHBhcnRpemlvbmUgZXNpc3RlIGdpw6AuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZWxldGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiUGFydGl6aW9uZSBzZWxlemlvbmF0YSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAibm9uIMOoIGNvbnRlbnV0YSBuZWxsYSBwYXJ0aXppb25lICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiQXR0ZW56aW9uZTogbGUgcGFydGl6aW9uaSAlcyAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MDUgZGlzay11dGlscy9wYXJ0eC5jOjUxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIKK21zZ3N0ciAiTmVzc3VuYSBwYXJ0aXppb25lIGRlZmluaXRhXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzIG5vbiByaXVzY2l0by5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiUGFydGl6aW9uZSBzZWxlemlvbmF0YSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiQXR0ZW56aW9uZTogbGUgcGFydGl6aW9uaSAlcyAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBwYXJ0aXRpb24gIyVkIgorbXNnc3RyICJOZXNzdW5hIHBhcnRpemlvbmUgZGVmaW5pdGFcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVzaXplZFxuIgorbXNnc3RyICJOZXNzdW5hIHBhcnRpemlvbmUgZGVmaW5pdGFcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVwZGF0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICJQYXJ0aXppb25lIHNlbGV6aW9uYXRhICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvciwgJTZqdSBNQilcbiIKK21zZ2lkX3BsdXJhbCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvcnMsICU2anUgTUIpXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTgxIG1pc2MtdXRpbHMvZmluZG1udC5jOjY4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MDUKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM5MSBzeXMtdXRpbHMvbHNucy5jOjQ1NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWRkIGxpbmUgdG8gb3V0cHV0IgorbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NDQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBkYXRhIHRvIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYWxsb2NhcmUgaWwgYnVmZmVyLlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjY3IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTIyIG1pc2MtdXRpbHMvZmluZG1udC5jOjE1ODUKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODc0IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ1MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjMxMAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTcxMyBzeXMtdXRpbHMvbHNpcGMuYzozMzggc3lzLXV0aWxzL2xzbnMuYzo1MTEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjk3IHN5cy11dGlscy9zd2Fwb24uYzoyODAgc3lzLXV0aWxzL3dkY3RsLmM6MjU5CisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjQ4NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY3OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjExIG1pc2MtdXRpbHMvbHNibGsuYzoxODk2CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NjUgc3lzLXV0aWxzL2xvc2V0dXAuYzozMjIgc3lzLXV0aWxzL2xvc2V0dXAuYzozNTgKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MTggc3lzLXV0aWxzL2xzbnMuYzo1MzIgc3lzLXV0aWxzL3BybGltaXQuYzozMDYKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyODkgc3lzLXV0aWxzL3dkY3RsLmM6MjcwIHN5cy11dGlscy96cmFtY3RsLmM6NDkzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjcyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgZmlsdGVyIGZvciAnJXMnIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInJpbGVnZ2kgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHR5cGUgJyVzJyBkZXRlY3RlZFxuIgorbXNnc3RyICIgICBwICAgc3RhbXBhIGRlbGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBCU0QiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgd2l0aCBubyBwYXJ0aXRpb25zIgorbXNnc3RyICJJbCBkaXNjbyAlcyBub24gY29udGllbmUgdW5hIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSB2YWxpZGFcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0aXRpb24+XSA8ZGlzaz5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzU2Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBwcmVzZW5jZSBhbmQgbnVtYmVyaW5nIG9mIHBhcnRpdGlvbnMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1OQorbXNnaWQgIiAtYSwgLS1hZGQgICAgICAgICAgICBhZGQgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYwCittc2dpZCAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIGRlbGV0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjEKK21zZ2lkICIgLXUsIC0tdXBkYXRlICAgICAgICAgdXBkYXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MgorIywgZnV6enkKK21zZ2lkICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgIGxpc3QgcGFydGl0aW9uc1xuIgorIlxuIgorbXNnc3RyICIgICAgICAgICAgICAgcGFyYW1ldHJpXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjMgbWlzYy11dGlscy9sc2Jsay5jOjE2MjMKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY0Cittc2dpZCAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLXNob3dcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY1Cittc2dpZCAiIC1uLCAtLW5yIDxuOm0+ICAgICAgIHNwZWNpZnkgdGhlIHJhbmdlIG9mIHBhcnRpdGlvbnMgKGUuZy4gLS1uciAyOjQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9b3B0c3RyaW5nICAgICAgT3B6aW9uaSBicmV2aSBkYSByaWNvbm9zY2VyZVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY3IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM3CisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjggbWlzYy11dGlscy9sc2Jsay5jOjE2MzgKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY5Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgIHNwZWNpZnkgdGhlIHBhcnRpdGlvbiB0eXBlIChkb3MsIGJzZCwgc29sYXJpcywgZXRjLilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzcwIHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzYKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93LCAtLXJhdyBvciAtLXBhaXJzKTpcbiIKK21zZ3N0ciAiQ29tYW5kaSBkaXNwb25pYmlsaTpcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg0OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS1uciA8TS1OPiByYW5nZSIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkyNAorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gYW5kIGRpc2sgbmFtZSBkbyBub3QgbWF0Y2giCittc2dzdHIgIiIKKyJMYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgw6ggc3RhdGEgYWx0ZXJhdGEhXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NTIKK21zZ2lkICItLW5yIGFuZCA8cGFydGl0aW9uPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFydGl0aW9uOiAlcywgZGlzazogJXMsIGxvd2VyOiAlZCwgdXBwZXI6ICVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBkZWxldGUgcGFydGl0aW9ucyIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgY2FuY2VsbGFyZSB1bmEgcGFydGl6aW9uZSB2dW90YSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgcHJvYmVyIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIuXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzICUyJHNyYXdOIDxtYWpvcj4gPG1pbm9yPlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPGJsb2NrZGV2aWNlPlxuIgorIiAlMSRzIC1xICUyJHNyYXdOXG4iCisiICUxJHMgLXFhXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo1OAorbXNnaWQgIkJpbmQgYSByYXcgY2hhcmFjdGVyIGRldmljZSB0byBhIGJsb2NrIGRldmljZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYxCittc2dpZCAiIC1xLCAtLXF1ZXJ5ICAgIHNldCBxdWVyeSBtb2RlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICBxdWVyeSBhbGwgcmF3IGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyB0aGUgY29udHJvbCByYXcgZGV2aWNlICh1c2UgcmF3PE4+IHdoZXJlIDxOPiBpcyBncmVhdGVyIHRoYW4gemVybykiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoxODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgYmxvY2sgZGV2aWNlICclcyciCittc2dzdHIgIkltcG9zc2liaWxlIGZhcmUgaWwgbG9jayBkZWwgZmlsZSBkaSBsb2NrICVzOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJBdHRlbnppb25lOiAlcyBub24gw6ggdW4gZGlzcG9zaXRpdm8gYSBibG9jY2hpXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTkzIGRpc2stdXRpbHMvcmF3LmM6MTk2IHN5cy11dGlscy9pcGNybS5jOjM1MQorIzogc3lzLXV0aWxzL2lwY3JtLmM6MzY0IHN5cy11dGlscy9pcGNybS5jOjM3NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSBzdGF0IHN1bCBkaXNwb3NpdGl2byAlcyIKKworIzogZGlzay11dGlscy9yYXcuYzoyMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSBzdGF0IHN1bCBkaXNwb3NpdGl2byAlcyIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJhdyBkZXZpY2UgJyVzJyBpcyBub3QgYSBjaGFyYWN0ZXIgZGV2IgorbXNnc3RyICIvZGV2LyVzOiBub24gw6ggdW4gZGlzcG9zaXRpdm8gZGkgY2FyYXR0ZXJpIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgcmF3IGRldiIKK21zZ3N0ciAiJXMgbm9uIMOoIHVuIGRpc3Bvc2l0aXZvIHNwZWNpYWxlIGEgYmxvY2NoaSIKKworIzogZGlzay11dGlscy9yYXcuYzoyNDUKKyMsIGZ1enp5Cittc2dpZCAiRXJyb3IgcXVlcnlpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAiZXJyb3JlIGZlcm1hbmRvIGlsIHNlcnZpemlvIFwiJXNcIiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNTQgZGlzay11dGlscy9yYXcuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNyYXclZDogIGJvdW5kIHRvIG1ham9yICVkLCBtaW5vciAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjY4CisjLCBmdXp6eQorbXNnaWQgIkVycm9yIHNldHRpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAiZXJyb3JlIGZlcm1hbmRvIGlsIHNlcnZpemlvIFwiJXNcIiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8bGVuZ3RoPlxuIgorbXNnc3RyICJVc286IHNmZGlzayAtLWlkIG51bWVybyBwYXJ0aXppb25lIGRpc3Bvc2l0aXZvIFtJZF1cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjMKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBudW1iZXIgJXMiCittc2dzdHIgInJpY2VyY2EgaW4gd3JpdGVfdGFibGVzIG5vbiByaXVzY2l0YSIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uIgorbXNnc3RyICJyaWxlZ2dpIGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG5lc3RlZCBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2VlayAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZWZmZXR0dWFyZSBpbCBmb3JrIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMwMiBsaWJmZGlzay9zcmMvYnNkLmM6NzIzIGxpYmZkaXNrL3NyYy9ic2QuYzo4OTQKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTYzIHN5cy11dGlscy9od2Nsb2NrLmM6MTY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgJXMiCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTEycyAob2Zmc2V0ICU1anUsIHNpemUgJTVqdSk6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgc2NyaXZlcmUgc3VsbGEgcGFnaW5hIGRpIGZpcm1hIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMyOAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIGZpbGUsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgc2NyaXZlcmUgc3VsbGEgcGFnaW5hIGRpIGZpcm1hIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM1NAorbXNnaWQgIkJhY2t1cCBmaWxlczoiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozNzkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbmV3IHBhcnRpdGlvbiBmcm9tIGRldmljZTsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgInJpbGVnZ2kgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJyaWNlcmNhIGluIHdyaXRlX3RhYmxlcyBub24gcml1c2NpdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJyaWNlcmNhIGluIHdyaXRlX3RhYmxlcyBub24gcml1c2NpdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgInJpY2VyY2EgaW4gd3JpdGVfdGFibGVzIG5vbiByaXVzY2l0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgInJpY2VyY2EgaW4gd3JpdGVfdGFibGVzIG5vbiByaXVzY2l0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODkKKyMsIGZ1enp5Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBoYXMgbm90IGJlZW4gbW92ZWQ7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJyaWNlcmNhIGluIHdyaXRlX3RhYmxlcyBub24gcml1c2NpdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkxCittc2dpZCAibmV3IHBhcnRpdGlvbiBpcyBzbWFsbGVyIHRoYW4gb3JpZ2luYWw7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQxCittc2dpZCAiRGF0YSBtb3ZlOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIHR5cGVzY3JpcHQgZmlsZTogJXMiCittc2dzdHIgIkltcG9zc2liaWxlIGFwcmlyZSBpbCBmaWxlICclcyciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiBvbGQgc3RhcnQ6ICVqdSwgbmV3IHN0YXJ0OiAlanUgKG1vdmUgJWp1IHNlY3RvcnMpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTEKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gbW92ZSBwYXJ0aXRpb24gZGF0YT8iCittc2dzdHIgIlNjcml2ZXJlIHF1ZXN0byBzdSBkaXNjbz8gW3lucV0gIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1MyBkaXNrLXV0aWxzL3NmZGlzay5jOjE3ODMKK21zZ2lkICJMZWF2aW5nLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjUyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBtb3ZlIGRhdGEiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQxCisjLCBmdXp6eQorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaXMgdW5jaGFuZ2VkICgtLW5vLWFjdCkuIgorbXNnc3RyICIiCisiTGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIMOoIHN0YXRhIGFsdGVyYXRhIVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0NworIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiIgorIkxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSDDqCBzdGF0YSBhbHRlcmF0YSFcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGxhYmVsICclcyciCittc2dzdHIgIiVzOiBhcmdvbWVudG8gc2Nvbm9zY2l1dG86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjI2Cittc2dpZCAiIgorIklkICBOYW1lXG4iCisiXG4iCittc2dzdHIgIiIKKyJOb21lIElkXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjU2CisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUgdHlwZSIKK21zZ3N0ciAiICVzOiB0aXBvIGRpIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBub24gcmljb25vc2NpdXRvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgImltcG9zc2liaWxlIG90dGVuZXJlIGxhIGRpbWVuc2lvbmUgZGkgJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRvdGFsOiAlanUgYmxvY2tzXG4iCittc2dzdHIgInRvdGFsZTogJWxsdSBibG9jY2hpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODA4IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODc2IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk0NyBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTQgZGlzay11dGlscy9zZmRpc2suYzoxMDc4CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzMgZGlzay11dGlscy9zZmRpc2suYzoxMTg5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUzMworIywgZnV6enkKK21zZ2lkICJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIm1vdW50OiBsb29wIGRldmljZSBzcGVjaWZpY2F0byBkdWUgdm9sdGUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODE5Cittc2dpZCAidG9nZ2xlIGJvb3QgZmxhZ3MgaXMgc3VwcG9ydGVkIGZvciBNQlIgb25seSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg1MCBkaXNrLXV0aWxzL3NmZGlzay5jOjg5NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTkKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4MyBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzggZGlzay11dGlscy9zZmRpc2suYzoxMTk0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MzEgZGlzay11dGlscy9zZmRpc2suYzoyMDEzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJyaWNlcmNhIGluIHdyaXRlX3RhYmxlcyBub24gcml1c2NpdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJWQ6IGZhaWxlZCB0byB0b2dnbGUgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg5MSBkaXNrLXV0aWxzL3NmZGlzay5jOjg5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBkZWxldGUiCittc2dzdHIgInJpY2VyY2EgaW4gd3JpdGVfdGFibGVzIG5vbiByaXVzY2l0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIklsIGRpc2NvICVzIG5vbiBjb250aWVuZSB1bmEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIHZhbGlkYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk1OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgZHVtcCBzdHJ1Y3QiCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZHVtcCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInJpbGVnZ2kgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiB0YWJsZSBmb3VuZCIKK21zZ3N0ciAiTmVzc3VuYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIHRhYmxlIGNvbnRhaW5zIG9ubHkgJXp1IHBhcnRpdGlvbnMiCittc2dzdHIgIklsIGRpc2NvICVzIG5vbiBjb250aWVuZSB1bmEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIHZhbGlkYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiBpcyB1bnVzZWQiCittc2dzdHIgIkF0dGVuemlvbmU6IGxhIHBhcnRpemlvbmUgJWQgc2kgc292cmFwcG9uZSBhbGxhIHBhcnRpemlvbmUgJWQuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxOCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODIgZGlzay11dGlscy9zZmRpc2suYzoxMTM3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTMKKyMsIGZ1enp5Cittc2dpZCAibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiCittc2dzdHIgIk9wemlvbmUgLS1kYXRlIG5vbiBzcGVjaWZpY2F0YS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4OCBkaXNrLXV0aWxzL3NmZGlzay5jOjExNDMKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5OQorIywgZnV6enkKK21zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50cyIKK21zZ3N0ciAibnVtZXJvIG1hc3NpbW8gZGkgc2VnbWVudGkgPSAlbHVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAicmljZXJjYSBpbiB3cml0ZV90YWJsZXMgbm9uIHJpdXNjaXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBwYXJ0aXRpb24gdHlwZSAnJXMnIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJJbCBkaXNjbyAlcyBub24gY29udGllbmUgdW5hIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSB2YWxpZGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiSWwgZGlzY28gJXMgbm9uIGNvbnRpZW5lIHVuYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgdmFsaWRhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTExMyBkaXNrLXV0aWxzL3NmZGlzay5jOjExNjggZGlzay11dGlscy9zZmRpc2suYzoxMjIyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gb2JqZWN0IgorbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTExNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIklsIGRpc2NvICVzIG5vbiBjb250aWVuZSB1bmEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIHZhbGlkYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJyaWNlcmNhIGluIHdyaXRlX3RhYmxlcyBub24gcml1c2NpdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgInJpY2VyY2EgaW4gd3JpdGVfdGFibGVzIG5vbiByaXVzY2l0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gYXR0cmlidXRlcyIKK21zZ3N0ciAiSWwgZGlzY28gJXMgbm9uIGNvbnRpZW5lIHVuYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgdmFsaWRhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI2OQorIywgZnV6enkKK21zZ2lkICIgQ29tbWFuZHM6XG4iCittc2dzdHIgIkNvbWFuZGkgZGlzcG9uaWJpbGk6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3MQorIywgZnV6enkKK21zZ2lkICIgICB3cml0ZSAgICB3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0XG4iCittc2dzdHIgIiAgIHcgICBzY3JpdmkgbGEgdGFiZWxsYSBzdSBkaXNjbyBlZCBlc2NpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzIKK21zZ2lkICIgICBxdWl0ICAgICBzaG93IG5ldyBzaXR1YXRpb24gYW5kIHdhaXQgZm9yIHVzZXIncyBmZWVkYmFjayBiZWZvcmUgd3JpdGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzMKK21zZ2lkICIgICBhYm9ydCAgICBleGl0IHNmZGlzayBzaGVsbFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3NAorIywgZnV6enkKK21zZ2lkICIgICBwcmludCAgICBkaXNwbGF5IHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiICAgcCAgIHN0YW1wYSBkZWxsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgQlNEIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzUKKyMsIGZ1enp5Cittc2dpZCAiICAgaGVscCAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3NworbXNnaWQgIiAgIEN0cmwtRCAgIHRoZSBzYW1lIGFzICdxdWl0J1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MQorbXNnaWQgIiBJbnB1dCBmb3JtYXQ6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjgzCittc2dpZCAiICAgPHN0YXJ0PiwgPHNpemU+LCA8dHlwZT4sIDxib290YWJsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODYKK21zZ2lkICIiCisiICAgPHN0YXJ0PiAgQmVnaW5uaW5nIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIHRoZSBmaXJzdCBmcmVlIHNwYWNlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MQorbXNnaWQgIiIKKyIgICA8c2l6ZT4gICBTaXplIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIGFsbCBhdmFpbGFibGUgc3BhY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk2Cittc2dpZCAiICAgPHR5cGU+ICAgVGhlIHBhcnRpdGlvbiB0eXBlLiAgRGVmYXVsdCBpcyBhIExpbnV4IGRhdGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NworbXNnaWQgIiAgICAgICAgICAgIE1CUjogaGV4IG9yIEwsUyxFLFggc2hvcnRjdXRzLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5OAorbXNnaWQgIiAgICAgICAgICAgIEdQVDogVVVJRCBvciBMLFMsSCBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzAxCisjLCBmdXp6eQorbXNnaWQgIiAgIDxib290YWJsZT4gIFVzZSAnKicgdG8gbWFyayBhbiBNQlIgcGFydGl0aW9uIGFzIGJvb3RhYmxlLlxuIgorbXNnc3RyICJJbXBvc3NpYmlsZSBzY3JpdmVyZSBsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNQorbXNnaWQgIiBFeGFtcGxlOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNworIywgZnV6enkKK21zZ2lkICIgICAsIDRHICAgICBDcmVhdGVzIGEgNEdpQiBwYXJ0aXRpb24gYXQgZGVmYXVsdCBzdGFydCBvZmZzZXQuXG4iCittc2dzdHIgIiBuICAgICAgICAgIENyZWF6aW9uZSBkaSB1bmEgbnVvdmEgcGFydGl6aW9uZSBuZWxsbyBzcGF6aW8gZGlzcG9uaWJpbGUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMzOSBzeXMtdXRpbHMvZG1lc2cuYzoxNDU1CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgIm5lc3N1biBjb21hbmRvP1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzNDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQ6IHVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgIm5lc3N1biBjb21hbmRvP1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MDAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJyaWxlZ2dpIGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTQxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYWxsb2NhcmUgaWwgYnVmZmVyLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogbm8gcGFydGl0aW9uIHRhYmxlIHdhcyBmb3VuZCIKK21zZ3N0ciAicmlsZWdnaSBsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiSWwgZGlzY28gJXMgbm9uIGNvbnRpZW5lIHVuYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgdmFsaWRhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXM6IHBhcnRpdGlvbiAlZCBpcyBub3QgZGVmaW5lZCB5ZXQiCittc2dzdHIgIk5lc3N1bmEgcGFydGl6aW9uZSBkZWZpbml0YVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIldlbGNvbWUgdG8gc2ZkaXNrICglcykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NAorIywgZnV6enkKK21zZ2lkICJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIKK21zZ3N0ciAiVmVyaWZpY2EgaW4gY29yc28gY2hlIGluIHF1ZXN0byBtb21lbnRvIG5lc3N1bm8gc3RpYSB1dGlsaXp6YW5kbyBxdWVzdG8gZGlzY28uLi5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTk3Cittc2dpZCAiIgorIiBGQUlMRURcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MDAKKyMsIGZ1enp5Cittc2dpZCAiIgorIlRoaXMgZGlzayBpcyBjdXJyZW50bHkgaW4gdXNlIC0gcmVwYXJ0aXRpb25pbmcgaXMgcHJvYmFibHkgYSBiYWQgaWRlYS5cbiIKKyJVbW91bnQgYWxsIGZpbGUgc3lzdGVtcywgYW5kIHN3YXBvZmYgYWxsIHN3YXAgcGFydGl0aW9ucyBvbiB0aGlzIGRpc2suXG4iCisiVXNlIHRoZSAtLW5vLXJlcmVhZCBmbGFnIHRvIHN1cHByZXNzIHRoaXMgY2hlY2suXG4iCittc2dzdHIgIiIKKyJcbiIKKyJRdWVzdG8gZGlzY28gw6ggYXR0dWFsbWVudGUgaW4gdXNvOiByaXBhcnRpcmxvIMOoIHByb2JhYmlsbWVudGUgdW5hIGNhdHRpdmEgaWRlYS5cbiIKKyJTbW9udGFyZSB0dXR0aSBpIGZpbGUgc3lzdGVtIGUgYXJyZXN0YXJlIGxlIHBhcnRpemlvbmkgc3dhcCBzdSBxdWVzdG8gZGlzY28uXG4iCisiVXNhcmUgbCdvcHppb25lIC0tbm8tcmVyZWFkIHBlciBlbGltaW5hcmUgcXVlc3RvIGNvbnRyb2xsby5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjA1CisjLCBmdXp6eQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIgorbXNnc3RyICJVdGlsaXp6YXJlIGlsIGZsYWcgLWZvcmNlIHBlciBvbHRyZXBhc3NhcmUgdHV0dGkgaSBjb250cm9sbGkuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNworIywgZnV6enkKK21zZ2lkICIiCisiIE9LXG4iCisiXG4iCittc2dzdHIgIiVzOiBPS1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzYKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIk9sZCBzaXR1YXRpb246IgorbXNnc3RyICJWZWNjaGlhIHNpdHVhemlvbmU6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY1NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisic2ZkaXNrIGlzIGdvaW5nIHRvIGNyZWF0ZSBhIG5ldyAnJXMnIGRpc2sgbGFiZWwuXG4iCisiVXNlICdsYWJlbDogPG5hbWU+JyBiZWZvcmUgeW91IGRlZmluZSBhIGZpcnN0IHBhcnRpdGlvblxuIgorInRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NTcKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlR5cGUgJ2hlbHAnIHRvIGdldCBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisiJXM6ICVzXG4iCisiUHJvdmFyZSBcIiVzIC0taGVscFwiIHBlciB1bHRlcmlvcmkgaW5mb3JtYXppb25pLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NzUKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgdXNlZC4iCittc2dzdHIgIk5vbiBzaSDDqCB0cm92YXRhIGFsY3VuYSBwYXJ0aXppb25lXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcwMworIywgZnV6enkKK21zZ2lkICJEb25lLlxuIgorbXNnc3RyICIiCisiRmluZVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MTUKKyMsIGZ1enp5Cittc2dpZCAiSWdub3JpbmcgcGFydGl0aW9uLiIKK21zZ3N0ciAiTm9uIGNyZWFyZSB1bmEgcGFydGl6aW9uZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzI0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgaGVhZGVycywgZGlzayBsYWJlbCBub3QgY3JlYXRlZC4iCittc2dzdHIgInJpY2VyY2EgaW4gd3JpdGVfdGFibGVzIG5vbiByaXVzY2l0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkICMlZCBwYXJ0aXRpb24iCittc2dzdHIgInJpbGVnZ2kgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NjMKK21zZ2lkICJTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NzIKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIk5ldyBzaXR1YXRpb246IgorbXNnc3RyICJOdW92YSBzaXR1YXppb25lOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3ODEKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gd3JpdGUgdGhpcyB0byBkaXNrPyIKK21zZ3N0ciAiU2NyaXZlcmUgcXVlc3RvIHN1IGRpc2NvPyBbeW5xXSAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc5MworbXNnaWQgIkxlYXZpbmcuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXY+IFtbLU5dIDxwYXJ0Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIlVzbzogbmFtZWkgWy1teF0gbm9tZSBwZXJjb3JzbyBbbm9tZSBwZXJjb3JzbyAuLi5dXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMgorbXNnaWQgIiIKKyJcbiIKKyJDb21tYW5kczpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTMKK21zZ2lkICIgLUEsIC0tYWN0aXZhdGUgPGRldj4gWzxwYXJ0PiAuLi5dIGxpc3Qgb3Igc2V0IGJvb3RhYmxlIE1CUiBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSAodXNhYmxlIGZvciBsYXRlciBpbnB1dClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogZGlzay11dGlscy9zZmRpc2suYzoxODE1CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgaW4gSlNPTiBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNgorbXNnaWQgIiAtZywgLS1zaG93LWdlb21ldHJ5IFs8ZGV2PiAuLi5dICAgbGlzdCBnZW9tZXRyeSBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTcKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgWzxkZXY+IC4uLl0gICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTgKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLWxpc3QtZnJlZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHVucGFydGl0aW9uZWQgZnJlZSBhcmVhcyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogZGlzay11dGlscy9zZmRpc2suYzoxODE5CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZW9yZGVyIDxkZXY+ICAgICAgICAgICAgICAgZml4IHBhcnRpdGlvbnMgb3JkZXIgKGJ5IHN0YXJ0IG9mZnNldClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hvdy1zaXplIFs8ZGV2PiAuLi5dICAgICAgIGxpc3Qgc2l6ZXMgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICBQcm92YSBkZWxsYSB2ZXJzaW9uZSBnZXRvcHQoMSlcbiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjEKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmVjb2duaXplZCB0eXBlcyAoc2VlIC1YKVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIyCisjLCBmdXp6eQorbXNnaWQgIiAtViwgLS12ZXJpZnkgWzxkZXY+IC4uLl0gICAgICAgICAgdGVzdCB3aGV0aGVyIHBhcnRpdGlvbnMgc2VlbSBjb3JyZWN0XG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIzCittc2dpZCAiICAgICAtLWRlbGV0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gICBkZWxldGUgYWxsIG9yIHNwZWNpZmllZCBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI2Cittc2dpZCAiIC0tcGFydC1sYWJlbCA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGxhYmVsXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI3Cittc2dpZCAiIC0tcGFydC10eXBlIDxkZXY+IDxwYXJ0PiBbPHR5cGU+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjgKKyMsIGZ1enp5Cittc2dpZCAiIC0tcGFydC11dWlkIDxkZXY+IDxwYXJ0PiBbPHV1aWQ+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHV1aWRcbiIKK21zZ3N0ciAiICAgIC1jIFtvIC0taWRdOiAgICAgICAgc3RhbXBhIG8gbW9kaWZpY2EgZGVsbCdJZCBkZWxsYSBwYXJ0aXppb25lIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjkKK21zZ2lkICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gYXR0cmlidXRlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzMgorIywgZnV6enkKK21zZ2lkICIgPGRldj4gICAgICAgICAgICAgICAgICAgICBkZXZpY2UgKHVzdWFsbHkgZGlzaykgcGF0aFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzMworIywgZnV6enkKK21zZ2lkICIgPHBhcnQ+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiAgICAtTiMgOiAgICAgICAgICAgICAgICBtb2RpZmljYSBzb2xhbWVudGUgbGEgcGFydGl6aW9uZSBjb24gbnVtZXJvICMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzNAorbXNnaWQgIiA8dHlwZT4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiB0eXBlLCBHVUlEIGZvciBHUFQsIGhleCBmb3IgTUJSXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM3CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgIGFwcGVuZCBwYXJ0aXRpb25zIHRvIGV4aXN0aW5nIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzOAorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmFja3VwICAgICAgICAgICAgICBiYWNrdXAgcGFydGl0aW9uIHRhYmxlIHNlY3RvcnMgKHNlZSAtTylcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzOQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQwCittc2dpZCAiICAgICAtLW1vdmUtZGF0YVs9PHR5cGVzY3JpcHQ+XSBtb3ZlIHBhcnRpdGlvbiBkYXRhIGFmdGVyIHJlbG9jYXRpb24gKHJlcXVpcmVzIC1OKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZ1xuIgorbXNnc3RyICLDiCBwb3NzaWJpbGUgZGlzYXR0aXZhcmUgdHV0dGUgbGUgdmVyaWZpY2hlIGRpIGNvZXJlbnphIGNvbjoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDUKKyMsIGZ1enp5Cittc2dpZCAiIC1OLCAtLXBhcnRubyA8bnVtPiAgICAgICAgc3BlY2lmeSBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiAgICAtSCMgW28gLS1oZWFkcyAjXTogICAgaW1wb3N0YSBpbCBudW1lcm8gZGkgdGVzdGluZSBkYSB1dGlsaXp6YXJlIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NgorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB3cml0ZSB0byBkZXZpY2VcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBkZXZpY2UgaXMgaW4gdXNlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDgKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgZG8gbm90IHRlbGwga2VybmVsIGFib3V0IGNoYW5nZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5vbiBzY3JpdmUgcmVhbG1lbnRlIHN1bCBkaXNjbyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ5Cittc2dpZCAiIC1PLCAtLWJhY2t1cC1maWxlIDxwYXRoPiAgb3ZlcnJpZGUgZGVmYXVsdCBiYWNrdXAgZmlsZSBuYW1lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUwCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1vcHRzdHJpbmcgICAgICBPcHppb25pIGJyZXZpIGRhIHJpY29ub3NjZXJlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MQorIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBzdXBwcmVzcyBleHRyYSBpbmZvIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgICAtcSAgW28gLS1xdWlldF06ICAgICAgZWxpbWluYSBpIG1lc3NhZ2dpIGRpIGF2dmVydGltZW50byIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUyCisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NAorIywgZnV6enkKK21zZ2lkICIgLVgsIC0tbGFiZWwgPG5hbWU+ICAgICAgICBzcGVjaWZ5IGxhYmVsIHR5cGUgKGRvcywgZ3B0LCAuLi4pXG4iCittc2dzdHIgIiAgLXMsIC0tc2hlbGw9c2hlbGwgICAgICAgICAgICBJbXBvc3RhIGxhIHNoZWxsIFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTUKK21zZ2lkICIgLVksIC0tbGFiZWwtbmVzdGVkIDxuYW1lPiBzcGVjaWZ5IG5lc3RlZCBsYWJlbCB0eXBlIChkb3MsIGJzZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTcKK21zZ2lkICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBkZXByZWNhdGVkLCBhbGlhcyB0byAtLXNob3ctZ2VvbWV0cnlcbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OQorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IHNlY3RvciB1bml0IGlzIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYzIGxvZ2luLXV0aWxzL2NoZm4uYzoxMDIgbG9naW4tdXRpbHMvY2hzaC5jOjc5CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxOTczCittc2dpZCAiLS1pZCBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5ODkKK21zZ2lkICItLXNob3ctcHQtZ2VvbWV0cnkgaXMgbm8gbW9yZSBpbXBsZW1lbnRlZC4gVXNpbmcgLS1zaG93LWdlb21ldHJ5LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMDAKK21zZ2lkICItLUxpbnV4IG9wdGlvbiBpcyB1bm5lY2Vzc2FyeSBhbmQgZGVwcmVjYXRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHVuaXQgJyVjJyIKK21zZ3N0ciAiJXM6IGFyZ29tZW50byBzY29ub3NjaXV0bzogJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDMyIGluY2x1ZGUvYy5oOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzXG4iCittc2dzdHIgIiVzIGRhICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjEwOQorbXNnaWQgIi0tbW92ZWRhdGEgcmVxdWlyZXMgLU4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIFVVSUQ6ICVzIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBVVUlEIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIFVVSUQiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIGxhYmVsICIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICJsYWJlbCBpcyB0b28gbG9uZy4gVHJ1bmNhdGluZyBpdCB0byAnJXMnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6OTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgbGFiZWwiCittc2dzdHIgInJpY2VyY2EgaW4gd3JpdGVfdGFibGVzIG5vbiByaXVzY2l0YSIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjEKK21zZ2lkICJEaXNwbGF5IG9yIGNoYW5nZSB0aGUgbGFiZWwgb3IgVVVJRCBvZiBhIHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyNAorbXNnaWQgIiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiBzcGVjaWZ5IGEgbmV3IGxhYmVsXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgc3BlY2lmeSBhIG5ldyB1dWlkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxNjcKK21zZ2lkICJpZ25vcmUgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jLmg6Mjk5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKK21zZ3N0ciAiVXNvOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMDAKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXppb25pOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMDIKK21zZ2lkICIgLWgsIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2MuaDozMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1WLCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkZvciBtb3JlIGRldGFpbHMgc2VlICVzLlxuIgorbXNnc3RyICIiCisiXG4iCisiUGVyIG1hZ2dpb3JpIGluZm9ybWF6aW9uaSB2ZWRlcmUgc2V0YXJjaCg4KS5cbiIKKworIzogaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ2IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0OCBsb2dpbi11dGlscy92aXB3LmM6MjczCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjkyIHN5cy11dGlscy9ydGN3YWtlLmM6MjgwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjgwNQorIzogdGV4dC11dGlscy9jb2wuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgZXJyb3IiCittc2dzdHIgImNvbDogZXJyb3JlIGluIHNjcml0dHVyYS5cbiIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyNworIywgZnV6enkKK21zZ2lkICJjb2xvcnMgYXJlIGVuYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAiTG9naW4gYSAlcyBkYSAlcyBuZWdhdG8gcGVyIGltcG9zdGF6aW9uZSBwcmVkZWZpbml0YS5cbiIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyOQorIywgZnV6enkKK21zZ2lkICJjb2xvcnMgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgIkxvZ2luIGEgJXMgZGEgJXMgbmVnYXRvIHBlciBpbXBvc3RhemlvbmUgcHJlZGVmaW5pdGEuXG4iCisKKyM6IGluY2x1ZGUvZW52Lmg6MTggbGliL3BhZ2VyLmM6MTUxIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTA1MgorIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMDU2IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjUyOQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyBlbnZpcm9ubWVudCB2YXJpYWJsZSIKK21zZ3N0ciAiU2NyaXR0dXJhIGRlbGxhIHBhcnRpemlvbmUgc3UgJXMgbm9uIHJpdXNjaXRhXG4iCisKKyM6IGluY2x1ZGUvb3B0dXRpbHMuaDo4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZXNlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZToiCittc2dzdHIgIiVzOiBMZSBvcHppb25pIC0tYWRqdXN0IGUgLW5vYWRqZmlsZSBzaSBlc2NsdWRvbm8gdmljZW5kZXZvbG1lbnRlLiBTb25vIHN0YXRlIHNwZWNpZmljYXRlIGVudHJhbWJlLlxuIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxCittc2dpZCAiRW1wdHkiCittc2dzdHIgIlZ1b3RvIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyCittc2dpZCAiRkFUMTIiCittc2dzdHIgIkZBVDEyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozCittc2dpZCAiWEVOSVggcm9vdCIKK21zZ3N0ciAiWEVOSVggcm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NAorbXNnaWQgIlhFTklYIHVzciIKK21zZ3N0ciAiWEVOSVggdXNyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1Cittc2dpZCAiRkFUMTYgPDMyTSIKK21zZ3N0ciAiRkFUMTYgPDMyTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NgorbXNnaWQgIkV4dGVuZGVkIgorbXNnc3RyICJFc3Rlc28iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcKK21zZ2lkICJGQVQxNiIKK21zZ3N0ciAiRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgKKyMsIGZ1enp5Cittc2dpZCAiSFBGUy9OVEZTL2V4RkFUIgorbXNnc3RyICJIUEZTL05URlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkKK21zZ2lkICJBSVgiCittc2dzdHIgIkFJWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAKK21zZ2lkICJBSVggYm9vdGFibGUiCittc2dzdHIgIkFJWCBhdnZpYWJpbGUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjExCittc2dpZCAiT1MvMiBCb290IE1hbmFnZXIiCittc2dzdHIgIk9TLzIgQm9vdCBNYW5hZ2VyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMgorbXNnaWQgIlc5NSBGQVQzMiIKK21zZ3N0ciAiVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMworbXNnaWQgIlc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNAorbXNnaWQgIlc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNQorbXNnaWQgIlc5NSBFeHQnZCAoTEJBKSIKK21zZ3N0ciAiVzk1IEVzdGVzbyAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTYKK21zZ2lkICJPUFVTIgorbXNnc3RyICJPUFVTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNworbXNnaWQgIkhpZGRlbiBGQVQxMiIKK21zZ3N0ciAiRkFUMTIgbmFzY29zdG8iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE4Cittc2dpZCAiQ29tcGFxIGRpYWdub3N0aWNzIgorbXNnc3RyICJEaWFnbm9zdGljYSBDb21wYXEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE5Cittc2dpZCAiSGlkZGVuIEZBVDE2IDwzMk0iCittc2dzdHIgIkZBVDE2IG5hc2Nvc3RvIDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIwCittc2dpZCAiSGlkZGVuIEZBVDE2IgorbXNnc3RyICJGQVQxNiBuYXNjb3N0byIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjEKK21zZ2lkICJIaWRkZW4gSFBGUy9OVEZTIgorbXNnc3RyICJIUEZTL05URlMgbmFzY29zdG8iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIyCittc2dpZCAiQVNUIFNtYXJ0U2xlZXAiCittc2dzdHIgIkFTVCBTbWFydFNsZWVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMworbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIiCittc2dzdHIgIlc5NSBGQVQzMiBuYXNjb3N0byIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjQKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICJXOTUgRkFUMzIgKExCQSkgbmFzY29zdG8iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI1Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDE2IChMQkEpIG5hc2Nvc3RvIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNgorbXNnaWQgIk5FQyBET1MiCittc2dzdHIgIk5FQyBET1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI3CisjLCBmdXp6eQorbXNnaWQgIkhpZGRlbiBOVEZTIFdpblJFIgorbXNnc3RyICJIUEZTL05URlMgbmFzY29zdG8iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI4Cittc2dpZCAiUGxhbiA5IgorbXNnc3RyICJQbGFuIDkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI5Cittc2dpZCAiUGFydGl0aW9uTWFnaWMgcmVjb3ZlcnkiCittc2dzdHIgIlJlY3VwZXJvIFBhcnRpdGlvbk1hZ2ljIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMAorbXNnaWQgIlZlbml4IDgwMjg2IgorbXNnc3RyICJWZW5peCA4MDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzEKK21zZ2lkICJQUEMgUFJlUCBCb290IgorbXNnc3RyICJQUEMgUFJlUCBCb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMgorbXNnaWQgIlNGUyIKK21zZ3N0ciAiU0ZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMworbXNnaWQgIlFOWDQueCIKK21zZ3N0ciAiUU5YNC54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNAorbXNnaWQgIlFOWDQueCAybmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IDJhIHBhcnRpei4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM1Cittc2dpZCAiUU5YNC54IDNyZCBwYXJ0IgorbXNnc3RyICJRTlg0LnggM3JkIHBhcnRpei4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM2Cittc2dpZCAiT25UcmFjayBETSIKK21zZ3N0ciAiT25UcmFjayBETSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzcKK21zZ2lkICJPblRyYWNrIERNNiBBdXgxIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgxIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOAorbXNnaWQgIkNQL00iCittc2dzdHIgIkNQL00iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM5Cittc2dpZCAiT25UcmFjayBETTYgQXV4MyIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDAKK21zZ2lkICJPblRyYWNrRE02IgorbXNnc3RyICJPblRyYWNrRE02IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MQorbXNnaWQgIkVaLURyaXZlIgorbXNnc3RyICIgRVotRHJpdmUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQyCittc2dpZCAiR29sZGVuIEJvdyIKK21zZ3N0ciAiR29sZGVuIEJvdyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDMKK21zZ2lkICJQcmlhbSBFZGlzayIKK21zZ3N0ciAiUHJpYW0gRWRpc2siCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkxCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OQorbXNnaWQgIlNwZWVkU3RvciIKK21zZ3N0ciAiIFNwZWVkU3RvciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDUKK21zZ2lkICJHTlUgSFVSRCBvciBTeXNWIgorbXNnc3RyICJHTlUgSFVSRCBvIFN5c1YiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ2Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMjg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ3Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMzg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAzODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ4Cittc2dpZCAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorbXNnc3RyICJEaXNrU2VjdXJlIE11bHRpLUJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ5Cittc2dpZCAiUEMvSVgiCittc2dzdHIgIlBDL0lYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MAorbXNnaWQgIk9sZCBNaW5peCIKK21zZ3N0ciAiVmVjY2hpbyBNaW5peCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTEKK21zZ2lkICJNaW5peCAvIG9sZCBMaW51eCIKK21zZ3N0ciAiTWluaXggLyB2ZWNjaGlvIExpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MgorbXNnaWQgIkxpbnV4IHN3YXAgLyBTb2xhcmlzIgorbXNnc3RyICJMaW51eCBzd2FwIC8gU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTMKK21zZ2lkICJMaW51eCIKK21zZ3N0ciAiTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU0Cittc2dpZCAiT1MvMiBoaWRkZW4gb3IgSW50ZWwgaGliZXJuYXRpb24iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTcKK21zZ2lkICJMaW51eCBleHRlbmRlZCIKK21zZ3N0ciAiTGludXggZXN0ZXNvIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OQorbXNnaWQgIk5URlMgdm9sdW1lIHNldCIKK21zZ3N0ciAic2V0IHZvbHVtZSBOVEZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MAorbXNnaWQgIkxpbnV4IHBsYWludGV4dCIKK21zZ3N0ciAiTGludXggcGxhaW50ZXh0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjA1IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MworIzogbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggTFZNIgorbXNnc3RyICJMaW51eCBMVk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYyCittc2dpZCAiQW1vZWJhIgorbXNnc3RyICJBbW9lYmEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYzCittc2dpZCAiQW1vZWJhIEJCVCIKK21zZ3N0ciAiQW1vZWJhIEJCVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjQKK21zZ2lkICJCU0QvT1MiCittc2dzdHIgIkJTRC9PUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjUKK21zZ2lkICJJQk0gVGhpbmtwYWQgaGliZXJuYXRpb24iCittc2dzdHIgIkliZXJuYXppb25lIElCTSBUaGlua3BhZCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjYKK21zZ2lkICJGcmVlQlNEIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NworbXNnaWQgIk9wZW5CU0QiCittc2dzdHIgIk9wZW5CU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY4Cittc2dpZCAiTmVYVFNURVAiCittc2dzdHIgIk5lWFRTVEVQIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OQorbXNnaWQgIkRhcndpbiBVRlMiCittc2dzdHIgIkRhcndpbiBVRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcwCittc2dpZCAiTmV0QlNEIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcxCittc2dpZCAiRGFyd2luIGJvb3QiCittc2dzdHIgIkRhcndpbiBib290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MgorIywgZnV6enkKK21zZ2lkICJIRlMgLyBIRlMrIgorbXNnc3RyICJPUy8yIEhQRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjczCittc2dpZCAiQlNESSBmcyIKK21zZ3N0ciAiQlNESSBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzQKK21zZ2lkICJCU0RJIHN3YXAiCittc2dzdHIgIkJTREkgc3dhcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzUKK21zZ2lkICJCb290IFdpemFyZCBoaWRkZW4iCittc2dzdHIgIkJvb3QgV2l6YXJkIGhpZGRlbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzYKKyMsIGZ1enp5Cittc2dpZCAiQWNyb25pcyBGQVQzMiBMQkEiCittc2dzdHIgIlc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzcgbGliZmRpc2svc3JjL2dwdC5jOjIzMAorbXNnaWQgIlNvbGFyaXMgYm9vdCIKK21zZ3N0ciAiU29sYXJpcyBib290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OAorbXNnaWQgIlNvbGFyaXMiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc5Cittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTIpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xMikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgwCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgxCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgyCittc2dpZCAiU3lyaW54IgorbXNnc3RyICJTeXJpbngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgzCittc2dpZCAiTm9uLUZTIGRhdGEiCittc2dzdHIgIk5vbi1GUyBkYXRhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NAorbXNnaWQgIkNQL00gLyBDVE9TIC8gLi4uIgorbXNnc3RyICJDUC9NIC8gQ1RPUyAvIC4uLiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODYKK21zZ2lkICJEZWxsIFV0aWxpdHkiCittc2dzdHIgIkRlbGwgVXRpbGl0eSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODcKKyMsIGZ1enp5Cittc2dpZCAiQm9vdEl0IgorbXNnc3RyICJBdnZpbyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODgKK21zZ2lkICJET1MgYWNjZXNzIgorbXNnc3RyICJhY2Nlc3NvIERPUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTAKK21zZ2lkICJET1MgUi9PIgorbXNnc3RyICJET1MgUi9PIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MworIywgZnV6enkKK21zZ2lkICJSdWZ1cyBhbGlnbm1lbnQiCittc2dzdHIgImNvbDogYXJnb21lbnRvIC1sIG5vbiB2YWxpZG8gcGVyICVzLlxuIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NAorbXNnaWQgIkJlT1MgZnMiCittc2dzdHIgIkJlT1MgZnMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk2Cittc2dpZCAiRUZJIChGQVQtMTIvMTYvMzIpIgorbXNnc3RyICJFRkkgKEZBVC0xMi8xNi8zMikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk3Cittc2dpZCAiTGludXgvUEEtUklTQyBib290IgorbXNnc3RyICJMaW51eC9QQS1SSVNDIGJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMAorbXNnaWQgIkRPUyBzZWNvbmRhcnkiCittc2dzdHIgIkRPUyBzZWNvbmRhcmlvIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDEKK21zZ2lkICJWTXdhcmUgVk1GUyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDIKK21zZ2lkICJWTXdhcmUgVk1LQ09SRSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDMgbGliZmRpc2svc3JjL3N1bi5jOjU1Cittc2dpZCAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorbXNnc3RyICJBdXRvcmlsZXZhbWVudG8gcmFpZCBkaSBMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA2Cittc2dpZCAiTEFOc3RlcCIKK21zZ3N0ciAiTEFOc3RlcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA3Cittc2dpZCAiQkJUIgorbXNnc3RyICJCQlQiCisKKyM6IGxpYi9ibGtkZXYuYzoyODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzIGlzIG1pc2FsaWduZWQiCittc2dzdHIgIkF0dGVuemlvbmU6ICVzIG5vbiDDqCB1biBkaXNwb3NpdGl2byBhIGJsb2NjaGlcbiIKKworIzogbGliZmRpc2svc3JjL2FsaWdubWVudC5jOjY3MgorIywgZnV6enkKK21zZ2lkICJDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJDaGlhbWF0YSBkaSBpb2N0bCgpIHBlciByaWxlZ2dlcmUgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYWxpZ25tZW50LmM6NjgxCisjLCBmdXp6eQorbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuIgorbXNnc3RyICJSaWxldHR1cmEgZGVsbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIGluIGNvcnNvLi4uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2ODMKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgdGFibGUuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdCBvciBhZnRlciB5b3UgcnVuIHBhcnRwcm9iZSg4KSBvciBrcGFydHgoOCkuIgorbXNnc3RyICIiCisiXG4iCisiQVRURU5aSU9ORTogUmlsZXR0dXJhIGRlbGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBmYWxsaXRhIGNvbiBlcnJvcmUgJWQ6ICVzLlxuIgorIklsIGtlcm5lbCB1c2EgYW5jb3JhIGxhIHRhYmVsbGEgcHJlY2VkZW50ZS5cbiIKKyJMYSBudW92YSB0YWJlbGxhIHNhcsOgIHVzYXRhIGFsIHByb3NzaW1vIHJpYXZ2aW8uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0NzIgbGliZmRpc2svc3JjL2Fzay5jOjQ4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0ZWQgcGFydGl0aW9uICVqdSIKK21zZ3N0ciAiUGFydGl6aW9uZSBzZWxlemlvbmF0YSAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDc1CisjLCBmdXp6eQorbXNnaWQgIk5vIHBhcnRpdGlvbiBpcyBkZWZpbmVkIHlldCEiCittc2dzdHIgIk5lc3N1bmEgcGFydGl6aW9uZSBkZWZpbml0YVxuIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDg3CisjLCBmdXp6eQorbXNnaWQgIk5vIGZyZWUgcGFydGl0aW9uIGF2YWlsYWJsZSEiCittc2dzdHIgIk5vbiBjaSBzb25vIHNldHRvcmkgbGliZXJpIGRpc3BvbmliaWxpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0OTcKK21zZ2lkICJQYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJOdW1lcm8gZGVsbGEgcGFydGl6aW9uZSIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjk5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBwYXJ0aXRpb24gJWQgb2YgdHlwZSAnJXMnIGFuZCBvZiBzaXplICVzLiIKK21zZ3N0ciAiTGEgcGFydGl6aW9uZSAlZCBub24gZXNpc3RlIGFuY29yYSFcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICJMYSBwYXJ0aXppb25lICVzIGhhIHNldHRvcmUgZGkgaW5pemlvIDAgbm9uIHZhbGlkby5cbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlcmUgaXMgbm8gKkJTRCBwYXJ0aXRpb24gb24gJXMuIgorbXNnc3RyICJOb24gZXNpc3RlIHBhcnRpemlvbmUgKkJTRCBzdSAlcy5cbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI1OSBsaWJmZGlzay9zcmMvZG9zLmM6OTMzCisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IGN5bGluZGVyIgorbXNnc3RyICJjaWxpbmRybyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5MiBsaWJmZGlzay9zcmMvZG9zLmM6MTE2MQorIywgZnV6enkKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIlVsdGltbyAlcyBvICtzaXplIG8gK3NpemVNIG8gK3NpemVLICIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5NyBsaWJmZGlzay9zcmMvZG9zLmM6MTE2NiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1NQorIywgZnV6enkKK21zZ2lkICJMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiVWx0aW1vICVzIG8gK3NpemUgbyArc2l6ZU0gbyArc2l6ZUsgIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGV2aWNlICVzIGRvZXMgbm90IGNvbnRhaW4gQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIiVzIG5vbiBjb250aWVuZSBkaXNrbGFiZWwuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODMKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gY3JlYXRlIGEgQlNEIGRpc2tsYWJlbD8iCittc2dzdHIgIkNyZWFyZSB1biBkaXNrbGFiZWw/IChzL24pIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDQ5CisjLCBmdXp6eQorbXNnaWQgIkRpc2siCittc2dzdHIgImRpc2NvOiAlLipzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NTYKK21zZ2lkICJQYWNrbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDYzIGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE3Cittc2dpZCAiRmxhZ3MiCittc2dzdHIgIkZsYWciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjYKK21zZ2lkICIgcmVtb3ZhYmxlIgorbXNnc3RyICIgcmltb3ZpYmlsZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NworbXNnaWQgIiBlY2MiCittc2dzdHIgIiBlY2MiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjgKK21zZ2lkICIgYmFkc2VjdCIKK21zZ3N0ciAiIGJhZHNlY3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NzYKKyMsIGZ1enp5Cittc2dpZCAiQnl0ZXMvU2VjdG9yIgorbXNnc3RyICJieXRlL3NldHRvcmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODEKKyMsIGZ1enp5Cittc2dpZCAiVHJhY2tzL0N5bGluZGVyIgorbXNnc3RyICJ0cmFjY2UvY2lsaW5kcm8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODYKKyMsIGZ1enp5Cittc2dpZCAiU2VjdG9ycy9DeWxpbmRlciIKK21zZ3N0ciAic2V0dG9yaS9jaWxpbmRybyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5MSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOCBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMworIzogbGliZmRpc2svc3JjL3NnaS5jOjExNTcgbGliZmRpc2svc3JjL3N1bi5jOjE5NiBsaWJmZGlzay9zcmMvc3VuLmM6MTExMworbXNnaWQgIkN5bGluZGVycyIKK21zZ3N0ciAiQ2lsaW5kcmkiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTYgbGliZmRpc2svc3JjL3N1bi5jOjc2MAorIywgZnV6enkKK21zZ2lkICJScG0iCittc2dzdHIgInJwbSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMSBsaWJmZGlzay9zcmMvc2dpLmM6MjkyIGxpYmZkaXNrL3NyYy9zdW4uYzo3ODAKKyMsIGZ1enp5Cittc2dpZCAiSW50ZXJsZWF2ZSIKK21zZ3N0ciAiaW50ZXJsZWF2ZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwNgorIywgZnV6enkKK21zZ2lkICJUcmFja3NrZXciCittc2dzdHIgInRyYWNrc2tldyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxMQorIywgZnV6enkKK21zZ2lkICJDeWxpbmRlcnNrZXciCittc2dzdHIgImN5bGluZGVyc2tldyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxNgorIywgZnV6enkKK21zZ2lkICJIZWFkc3dpdGNoIgorbXNnc3RyICJoZWFkc3dpdGNoIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTIxCisjLCBmdXp6eQorbXNnaWQgIlRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgInJpY2VyY2EgdHJhY2NpYS1hLXRyYWNjaWEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTEKK21zZ2lkICJieXRlcy9zZWN0b3IiCittc2dzdHIgImJ5dGUvc2V0dG9yZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNAorbXNnaWQgInNlY3RvcnMvdHJhY2siCittc2dzdHIgInNldHRvcmkvdHJhY2NpYSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNQorbXNnaWQgInRyYWNrcy9jeWxpbmRlciIKK21zZ3N0ciAidHJhY2NlL2NpbGluZHJvIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE2Cittc2dpZCAiY3lsaW5kZXJzIgorbXNnc3RyICJjaWxpbmRyaSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMAorbXNnaWQgInNlY3RvcnMvY3lsaW5kZXIiCittc2dzdHIgInNldHRvcmkvY2lsaW5kcm8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjMKK21zZ2lkICJycG0iCittc2dzdHIgInJwbSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNAorbXNnaWQgImludGVybGVhdmUiCittc2dzdHIgImludGVybGVhdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjUKK21zZ2lkICJ0cmFja3NrZXciCittc2dzdHIgInRyYWNrc2tldyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNgorbXNnaWQgImN5bGluZGVyc2tldyIKK21zZ3N0ciAiY3lsaW5kZXJza2V3IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI4Cittc2dpZCAiaGVhZHN3aXRjaCIKK21zZ3N0ciAiaGVhZHN3aXRjaCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOQorbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgInJpY2VyY2EgdHJhY2NpYS1hLXRyYWNjaWEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RzdHJhcCBmaWxlICVzIHN1Y2Nlc3NmdWxseSBsb2FkZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcDogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKGRlZmF1bHQgJTEkcykiCittc2dzdHIgIkJvb3RzdHJhcDogJXNib290IC0+IGJvb3QlcyAoJXMpOiAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MDQKKyMsIGZ1enp5Cittc2dpZCAiQm9vdHN0cmFwIG92ZXJsYXBzIHdpdGggZGlza2xhYmVsISIKK21zZ3N0ciAiU292cmFwcG9zaXppb25lIGRlbCBib290c3RyYXAgY29uIGlsIGRpc2tsYWJlbCFcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwIGluc3RhbGxlZCBvbiAlcy4iCittc2dzdHIgIkJvb3RzdHJhcCBpbnN0YWxsYXRvIHN1ICVzLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiAgKERvbid0IGZvcmdldCB0byB3cml0ZSB0aGUgJXMgZGlza2xhYmVsIHRvby4pIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiIKK21zZ3N0ciAiVW5pdMOgIGRpc2NvOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTA5IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjY2CisjLCBmdXp6eQorbXNnaWQgIlN5bmNpbmcgZGlza3MuIgorbXNnc3RyICJTaW5jcm9uaXp6YXppb25lIGRlaSBkaXNjaGkgaW4gY29yc28uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NTAKK21zZ2lkICJCU0QgbGFiZWwgaXMgbm90IG5lc3RlZCB3aXRoaW4gYSBET1MgcGFydGl0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCU0QgcGFydGl0aW9uICclYycgbGlua2VkIHRvIERPUyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiICAgeCAgIGNvbGxlZ2FtZW50byBkZWxsYSBwYXJ0aXppb25lIEJTRCBhIHVuYSBub24tQlNEIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNAorbXNnaWQgIlNsaWNlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIxCittc2dpZCAiRnNpemUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjIKK21zZ2lkICJCc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMworbXNnaWQgIkNwZyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NlIGRldmljZSBmYWlsZWQiCittc2dzdHIgInJpY2VyY2Egbm9uIHJpdXNjaXRhIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjgyNworIywgZnV6enkKK21zZ2lkICJjeWxpbmRlciIKK21zZ2lkX3BsdXJhbCAiY3lsaW5kZXJzIgorbXNnc3RyWzBdICJjaWxpbmRybyIKK21zZ3N0clsxXSAiY2lsaW5kcm8iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODI4CisjLCBmdXp6eQorbXNnaWQgInNlY3RvciIKK21zZ2lkX3BsdXJhbCAic2VjdG9ycyIKK21zZ3N0clswXSAic2V0dG9yZSIKK21zZ3N0clsxXSAic2V0dG9yZSIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMTMxCittc2dpZCAiSW5jb21wbGV0ZSBnZW9tZXRyeSBzZXR0aW5nLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE0CisjLCBmdXp6eQorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgaGF2ZSBiZWVuIGRlZmluZWQgYWxyZWFkeS4iCittc2dzdHIgIlR1dHRlIGxlIHBhcnRpemlvbmkgcHJpbWFyaWUgc29ubyBzdGF0ZSBnacOgIGRlZmluaXRlIVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBleHRlbmRlZCBwYXJ0aXRpb24gdGFibGUgKG9mZnNldD0lanUpIgorbXNnc3RyICJyaWxlZ2dpIGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjMyOAorIywgZnV6enkKK21zZ2lkICJZb3UgY2FuIHNldCBnZW9tZXRyeSBmcm9tIHRoZSBleHRyYSBmdW5jdGlvbnMgbWVudS4iCittc2dzdHIgIiIKKyIlcyVzLlxuIgorIsOIIHBvc3NpYmlsZSBlZmZldHR1YXJlIHF1ZXN0YSBvcGVyYXppb25lIGRhbCBtZW51IGRlbGxlIGZ1bnppb25pIHN1cHBsZW1lbnRhcmkuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMzEKK21zZ2lkICJET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMzUKK21zZ2lkICJUaGUgZGV2aWNlIHByZXNlbnRzIGEgbG9naWNhbCBzZWN0b3Igc2l6ZSB0aGF0IGlzIHNtYWxsZXIgdGhhbiB0aGUgcGh5c2ljYWwgc2VjdG9yIHNpemUuIEFsaWduaW5nIHRvIGEgcGh5c2ljYWwgc2VjdG9yIChvciBvcHRpbWFsIEkvTykgc2l6ZSBib3VuZGFyeSBpcyByZWNvbW1lbmRlZCwgb3IgcGVyZm9ybWFuY2UgbWF5IGJlIGltcGFjdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQxCittc2dpZCAiQ3lsaW5kZXJzIGFzIGRpc3BsYXkgdW5pdHMgYXJlIGRlcHJlY2F0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHNpemUgb2YgdGhpcyBkaXNrIGlzICVzICglanUgYnl0ZXMpLiBET1MgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCBjYW4gbm90IGJlIHVzZWQgb24gZHJpdmVzIGZvciB2b2x1bWVzIGxhcmdlciB0aGFuICVsdSBieXRlcyBmb3IgJWx1LWJ5dGUgc2VjdG9ycy4gVXNlIEdVSUQgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCAoR1BUKS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjUwMworIywgZnV6enkKK21zZ2lkICJCYWQgb2Zmc2V0IGluIHByaW1hcnkgZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiT2Zmc2V0IGVycmF0byBuZWxsYSBwYXJ0aXppb25lIGVzdGVzYSBwcmltYXJpYVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIk9taXR0aW5nIHBhcnRpdGlvbnMgYWZ0ZXIgIyV6dS4gVGhleSB3aWxsIGJlIGRlbGV0ZWQgaWYgeW91IHNhdmUgdGhpcyBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkV4dHJhIGxpbmsgcG9pbnRlciBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiQXR0ZW56aW9uZTogcHVudGF0b3JlIGRpIGNvbGxlZ2FtZW50byBzdXBwbGVtZW50YXJlIG5lbGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBkYXRhIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJBdHRlbnppb25lOiBpIGRhdGkgc3VwcGxlbWVudGFyaSBuZWxsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgJWQgdmVuZ29ubyBpZ25vcmF0aVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbWl0dGluZyBlbXB0eSBwYXJ0aXRpb24gKCV6dSkiCittc2dzdHIgIkF0dGVuemlvbmU6IHBhcnRpemlvbmUgdnVvdGFcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC4iCittc2dzdHIgIiAgIHMgICBjcmVhemlvbmUgZGkgdW5hIG51b3ZhIGRpc2tsYWJlbCBTdW4gdnVvdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2ODUKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXIgdGhlIG5ldyBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIiAgIGkgICBjYW1iaWEgbCdpZGVudGlmaWNhdGl2byBkZWwgZGlzY28iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2OTIKKyMsIGZ1enp5Cittc2dpZCAiSW5jb3JyZWN0IHZhbHVlLiIKK21zZ3N0ciAiVmFsb3JlIGltcG9zdGF0byBub24gdmFsaWRvOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tIDB4JTA4eCB0byAweCUwOHguIgorbXNnc3RyICJJZGVudGlmaWNhdGl2byBkaXNjbzogMHglMDh4XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGV4dGVuZGVkIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIlBhcnRpemlvbmUgZXN0ZXNhIHN1cHBsZW1lbnRhcmUgaWdub3JhdGEgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjgwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBmbGFnIDB4JTAyeCUwMnggb2YgRUJSIChmb3IgcGFydGl0aW9uICV6dSkgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIkF0dGVuemlvbmU6IGlsIGZsYWcgMHglMDR4IG5vbiB2YWxpZG8gZGVsbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pICVkIHZlcnLDoCBjb3JyZXR0byBjb24gdyhyaXRlKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6OTIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTdGFydCBzZWN0b3IgJWp1IG91dCBvZiByYW5nZS4iCittc2dzdHIgIlZhbG9yZSBmdW9yaSBpbnRlcnZhbGxvLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTAyNiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzNiBsaWJmZGlzay9zcmMvc2dpLmM6ODM5CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKK21zZ3N0ciAiTGEgcGFydGl6aW9uZSAlZCDDqCBnacOgIGRlZmluaXRhLiAgQ2FuY2VsbGFybGEgcHJpbWEgZGkgcmlhZ2dpdW5nZXJsYS5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlbGx1IGlzIGFscmVhZHkgYWxsb2NhdGVkLiIKK21zZ3N0ciAiSWwgc2V0dG9yZSAlbGx1IMOoIGdpw6AgYWxsb2NhdG9cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjExMzMgbGliZmRpc2svc3JjL2dwdC5jOjIxNDYKKyMsIGZ1enp5Cittc2dpZCAiTm8gZnJlZSBzZWN0b3JzIGF2YWlsYWJsZS4iCittc2dzdHIgIk5vbiBjaSBzb25vIHNldHRvcmkgbGliZXJpIGRpc3BvbmliaWxpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJQYXJ0aXppb25lIGxvZ2ljYSBkYW5uZWdnaWF0YSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGNvbnRhaW5zIHNlY3RvciAwIgorbXNnc3RyICJBdHRlbnppb25lOiBsYSBwYXJ0aXppb25lICVkIGNvbnRpZW5lIGlsIHNldHRvcmUgMFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaGVhZCAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlZCIKK21zZ3N0ciAiUGFydGl6aW9uZSAlZDogdGVzdGluYSAlZCBwacO5IGdyYW5kZSBkZWwgbWFzc2ltbyAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogc2VjdG9yICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIlBhcnRpemlvbmUgJWQ6IHNldHRvcmUgJWQgcGnDuSBncmFuZGUgZGVsIG1hc3NpbW8gJWxsdVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY3lsaW5kZXIgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiUGFydGl6aW9uZSAlZDogY2lsaW5kcm8gJWQgcGnDuSBncmFuZGUgZGVsIG1hc3NpbW8gJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHByZXZpb3VzIHNlY3RvcnMgJXUgZGlzYWdyZWVzIHdpdGggdG90YWwgJXUiCittc2dzdHIgIlBhcnRpemlvbmUgJWQ6IGRpc3NlbnNvIGRlaSBzZXR0b3JpIHByZWNlZGVudGkgJWQgY29uIGlsIHRvdGFsZSAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgYmVnaW5uaW5ncyAobm9uLUxpbnV4Pyk6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiTGEgcGFydGl6aW9uZSAlZCBoYSBkaXZlcnNpIGVsZW1lbnRpIGluaXppYWxpIGZpc2ljaS9sb2dpY2kgKG5vbiBMaW51eD8pOlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgZW5kaW5nczogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICJMYSBwYXJ0aXppb25lICVkIGhhIGRpdmVyc2kgZWxlbWVudGkgZmluYWxpIGZpc2ljaS9sb2dpY2k6XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJMYSBwYXJ0aXppb25lICVkIG5vbiB0ZXJtaW5hIGFsIGxpbWl0ZSBkZWwgY2lsaW5kcm8uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBiYWQgc3RhcnQtb2YtZGF0YS4iCittc2dzdHIgIkxhIHBhcnRpemlvbmUgJWQgbm9uIGhhIGFyZWEgZGF0aVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogb3ZlcmxhcHMgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIkF0dGVuemlvbmU6IGxhIHBhcnRpemlvbmUgJWQgc2kgc292cmFwcG9uZSBhbGxhIHBhcnRpemlvbmUgJWQuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBlbXB0eS4iCittc2dzdHIgIkF0dGVuemlvbmU6IGxhIHBhcnRpemlvbmUgJWQgw6ggdnVvdGFcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxvZ2ljYWwgcGFydGl0aW9uICV6dTogbm90IGVudGlyZWx5IGluIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJMYSBwYXJ0aXppb25lIGxvZ2ljYSAlZCBub24gw6ggaW50ZXJhbWVudGUgbmVsbGEgcGFydGl6aW9uZSAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVG90YWwgYWxsb2NhdGVkIHNlY3RvcnMgJWxsdSBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gJWxsdS4iCittc2dzdHIgIk51bWVybyB0b3RhbGUgZGVpIHNldHRvcmkgYWxsb2NhdGkgJWxkIHN1cGVyaW9yZSBhbCBtYXNzaW1vICVsbGRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJlbWFpbmluZyAlbGxkIHVuYWxsb2NhdGVkICVsZC1ieXRlIHNlY3RvcnMuIgorbXNnc3RyICIlbGxkIHNldHRvcmkgbm9uIGFsbG9jYXRpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTMyIGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU0CisjLCBmdXp6eQorbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgIlF1ZXN0YSBwYXJ0aXppb25lIGVzaXN0ZSBnacOgLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU3NQorIywgZnV6enkKK21zZ2lkICJUaGUgbWF4aW11bSBudW1iZXIgb2YgcGFydGl0aW9ucyBoYXMgYmVlbiBjcmVhdGVkLiIKK21zZ3N0ciAiw4ggc3RhdG8gY3JlYXRvIGlsIG51bWVybyBtYXNzaW1vIGRpIHBhcnRpemlvbmlcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1ODcKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiIKK21zZ3N0ciAiVHV0dGUgbGUgcGFydGl6aW9uaSBsb2dpY2hlIHNvbm8gdXNhdGVcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1ODkgbGliZmRpc2svc3JjL2Rvcy5jOjE2MDAKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHNwYWNlIGZvciBwcmltYXJ5IHBhcnRpdGlvbnMgaXMgaW4gdXNlLiIKK21zZ3N0ciAiVHV0dGUgbGUgcGFydGl6aW9uaSBsb2dpY2hlIHNvbm8gdXNhdGVcbiIKKworIy4gVFJBTlNMQVRPUlM6IFRyeSB0byBrZWVwIHRoaXMgd2l0aGluIDgwIGNoYXJhY3RlcnMuCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYwMworIywgZnV6enkKK21zZ2lkICJUbyBjcmVhdGUgbW9yZSBwYXJ0aXRpb25zLCBmaXJzdCByZXBsYWNlIGEgcHJpbWFyeSB3aXRoIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIlNpIGRldm9ubyBlbGltaW5hcmUgYWxjdW5lIHBhcnRpemlvbmkgZSBhZ2dpdW5nZXJlIGFueml0dXR0byB1bmEgcGFydGl6aW9uZSBlc3Rlc2FcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDgKKyMsIGZ1enp5Cittc2dpZCAiQWxsIGxvZ2ljYWwgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiBBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvbi4iCittc2dzdHIgIlR1dHRlIGxlIHBhcnRpemlvbmkgbG9naWNoZSBzb25vIHVzYXRlXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjMwCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJOdW1lcm8gZGVsbGEgcGFydGl6aW9uZSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXp1IHByaW1hcnksICVkIGV4dGVuZGVkLCAlenUgZnJlZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzOQorIywgZnV6enkKK21zZ2lkICJwcmltYXJ5IgorbXNnc3RyICJQcmltYXJpYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDEKKyMsIGZ1enp5Cittc2dpZCAiZXh0ZW5kZWQiCittc2dzdHIgIkVzdGVzbyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDEKKyMsIGZ1enp5Cittc2dpZCAiY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMiCittc2dzdHIgIlBhcnRpemlvbmUgbG9naWNhIGRhbm5lZ2dpYXRhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MworIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIgorbXNnc3RyICJMb2dpY2EiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQzCisjLCBmdXp6eQorbXNnaWQgIm51bWJlcmVkIGZyb20gNSIKK21zZ3N0ciAibCAgIGxvZ2ljYSAoNSBvZCBvbHRyZSkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiB0eXBlIGAlYycuIgorbXNnc3RyICJOdW1lcm8gZGkgcGFydGl6aW9uaSBub24gdmFsaWRvIHBlciBpbCB0aXBvIFwiJWNcIlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlIHNlY3RvciAlamQ6IHNlZWsgZmFpbGVkIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgdHJvdmFyZSBpbCBkaXNwb3NpdGl2byBwZXIgJXNcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE4NTIgbGliZmRpc2svc3JjL2dwdC5jOjEwOTYKKyMsIGZ1enp5Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJJZGVudGlmaWNhdGl2byBkaXNjbzogMHglMDh4XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU5CisjLCBmdXp6eQorbXNnaWQgIlR5cGUgMCBtZWFucyBmcmVlIHNwYWNlIHRvIG1hbnkgc3lzdGVtcy4gSGF2aW5nIHBhcnRpdGlvbnMgb2YgdHlwZSAwIGlzIHByb2JhYmx5IHVud2lzZS4iCittc2dzdHIgIiIKKyJUaXBvIDAgc2lnbmlmaWNhIHNwYXppbyBkaXNwb25pYmlsZSBwZXIgZGl2ZXJzaSBzaXN0ZW1pXG4iCisiKG1hIG5vbiBwZXIgTGludXgpLiBBdmVyZSBwYXJ0aXppb25pIGRpXG4iCisidGlwbyAwIHByb2JhYmlsbWVudGUgbm9uIMOoIGNvbnNpZ2xpYWJpbGUuIMOIIHBvc3NpYmlsZSBlbGltaW5hcmVcbiIKKyJ1bmEgcGFydGl6aW9uZSB1dGlsaXp6YW5kbyBpbCBjb21hbmRvIFwiZFwiLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk2NAorbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdHlwZSBvZiB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIHdoaWNoIGlzIGFscmVhZHkgdXNlZCBieSBsb2dpY2FsIHBhcnRpdGlvbnMuIERlbGV0ZSBsb2dpY2FsIHBhcnRpdGlvbnMgZmlyc3QuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTQzIGxpYmZkaXNrL3NyYy9ncHQuYzoyODIxCisjLCBmdXp6eQorbXNnaWQgIk5vdGhpbmcgdG8gZG8uIE9yZGVyaW5nIGlzIGNvcnJlY3QgYWxyZWFkeS4iCittc2dzdHIgIk5pZW50ZSBkYSBmYXJlLiBMJ29yZGluZSDDqCBnacOgIGNvcnJldHRvLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogbm8gZGF0YSBhcmVhLiIKK21zZ3N0ciAiTGEgcGFydGl6aW9uZSAlZCBub24gaGEgYXJlYSBkYXRpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjIyCittc2dpZCAiTmV3IGJlZ2lubmluZyBvZiBkYXRhIgorbXNnc3RyICJOdW92byBpbml6aW8gZGF0aSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyNzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGlzIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIkFUVEVOWklPTkU6IGxhIHBhcnRpemlvbmUgJWQgw6ggdW5hIHBhcnRpemlvbmUgZXN0ZXNhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiTW9kaWZpY2F0byBpbCB0aXBvIGRpIHNpc3RlbWEgZGVsbGEgcGFydGl6aW9uZSAlZCBpbiAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIk1vZGlmaWNhdG8gaWwgdGlwbyBkaSBzaXN0ZW1hIGRlbGxhIHBhcnRpemlvbmUgJWQgaW4gJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI5OCBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxMSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1MworIzogbGliZmRpc2svc3JjL3N1bi5jOjExMDkKK21zZ2lkICJEZXZpY2UiCittc2dzdHIgIkRpc3Bvc2l0aXZvIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI5OSBsaWJmZGlzay9zcmMvc3VuLmM6NDEKK21zZ2lkICJCb290IgorbXNnc3RyICJBdnZpbyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDUgbGliZmRpc2svc3JjL3NnaS5jOjExNTkgbGliZmRpc2svc3JjL3N1bi5jOjExMTUKK21zZ2lkICJJZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwOQorIywgZnV6enkKK21zZ2lkICJTdGFydC1DL0gvUyIKK21zZ3N0ciAiaW5pemlvIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMxMAorbXNnaWQgIkVuZC1DL0gvUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMxMSBsaWJmZGlzay9zcmMvZ3B0LmM6MjkyMSBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MQorbXNnaWQgIkF0dHJzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjAKK21zZ2lkICJFRkkgU3lzdGVtIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjIKKyMsIGZ1enp5Cittc2dpZCAiTUJSIHBhcnRpdGlvbiBzY2hlbWUiCittc2dzdHIgIk51bWVybyBkZWxsYSBwYXJ0aXppb25lIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzCittc2dpZCAiSW50ZWwgRmFzdCBGbGFzaCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY2CisjLCBmdXp6eQorbXNnaWQgIkJJT1MgYm9vdCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OQorIywgZnV6enkKK21zZ2lkICJTb255IGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICIgICBhICAgc2VsZXppb25lIGRlbGxhIHBhcnRpemlvbmUgY2hlIMOoIHBvc3NpYmlsZSBhdnZpYXJlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTcwCisjLCBmdXp6eQorbXNnaWQgIkxlbm92byBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgYSAgIHNlbGV6aW9uZSBkZWxsYSBwYXJ0aXppb25lIGNoZSDDqCBwb3NzaWJpbGUgYXZ2aWFyZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MworIywgZnV6enkKK21zZ2lkICJQb3dlclBDIFBSZVAgYm9vdCIKK21zZ3N0ciAiUFBDIFBSZVAgQm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NgorIywgZnV6enkKK21zZ2lkICJPTklFIGJvb3QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzcKK21zZ2lkICJPTklFIGNvbmZpZyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwCittc2dpZCAiTWljcm9zb2Z0IHJlc2VydmVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODEKK21zZ2lkICJNaWNyb3NvZnQgYmFzaWMgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgyCittc2dpZCAiTWljcm9zb2Z0IExETSBtZXRhZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgzCittc2dpZCAiTWljcm9zb2Z0IExETSBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODQKK21zZ2lkICJXaW5kb3dzIHJlY292ZXJ5IGVudmlyb25tZW50IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODUKK21zZ2lkICJJQk0gR2VuZXJhbCBQYXJhbGxlbCBGcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg2Cittc2dpZCAiTWljcm9zb2Z0IFN0b3JhZ2UgU3BhY2VzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiSFAtVVggZGF0YSIKK21zZ3N0ciAiICAgZCAgIGNhbmNlbGxhemlvbmUgZGkgdW5hIHBhcnRpemlvbmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTAKKyMsIGZ1enp5Cittc2dpZCAiSFAtVVggc2VydmljZSIKK21zZ3N0ciAiTmVzc3VuJ2FsdHJhIHBhcnRpemlvbmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTMgbGliZmRpc2svc3JjL3NnaS5jOjYxIGxpYmZkaXNrL3NyYy9zdW4uYzo1MgorbXNnaWQgIkxpbnV4IHN3YXAiCittc2dzdHIgIkxpbnV4IHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTQKKyMsIGZ1enp5Cittc2dpZCAiTGludXggZmlsZXN5c3RlbSIKK21zZ3N0ciAiSW1tZXR0ZXJlIGlsIHRpcG8gZGkgZmlsZXN5c3RlbTogIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk1CisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IHNlcnZlciBkYXRhIgorbXNnc3RyICJTdW5PUyByaXNlcnZhdG8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTYKK21zZ2lkICJMaW51eCByb290ICh4ODYpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcKK21zZ2lkICJMaW51eCByb290IChBUk0pIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTgKK21zZ2lkICJMaW51eCByb290ICh4ODYtNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTkKK21zZ2lkICJMaW51eCByb290IChBUk0tNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAKK21zZ2lkICJMaW51eCByb290XHQoSUEtNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDEKKyMsIGZ1enp5Cittc2dpZCAiTGludXggcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIHJpc2VydmF0byIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMgorIywgZnV6enkKK21zZ2lkICJMaW51eCBob21lIgorbXNnc3RyICJMaW51eCBjdXN0b20iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMgbGliZmRpc2svc3JjL3NnaS5jOjY0Cittc2dpZCAiTGludXggUkFJRCIKK21zZ3N0ciAiTGludXggUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNAorIywgZnV6enkKK21zZ2lkICJMaW51eCBleHRlbmRlZCBib290IgorbXNnc3RyICJMaW51eCBlc3Rlc28iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTIKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBkYXRhIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzCisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgYm9vdCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNAorIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIHN3YXAiCittc2dzdHIgIkJTREkgc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNQorIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIFVGUyIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNgorIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIFpGUyIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNworIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIFZpbnVtIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIwCisjLCBmdXp6eQorbXNnaWQgIkFwcGxlIEhGUy9IRlMrIgorbXNnc3RyICJPUy8yIEhQRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEKK21zZ2lkICJBcHBsZSBVRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMgorbXNnaWQgIkFwcGxlIFJBSUQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMworbXNnaWQgIkFwcGxlIFJBSUQgb2ZmbGluZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0Cittc2dpZCAiQXBwbGUgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1Cittc2dpZCAiQXBwbGUgbGFiZWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNgorbXNnaWQgIkFwcGxlIFRWIHJlY292ZXJ5IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjcKK21zZ2lkICJBcHBsZSBDb3JlIHN0b3JhZ2UiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMQorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJvb3QiCittc2dzdHIgIlNvbGFyaXMgYm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMworbXNnaWQgIlNvbGFyaXMgL3VzciAmIEFwcGxlIFpGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgc3dhcCIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNQorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIGJhY2t1cCIKK21zZ3N0ciAiU29sYXJpcyBib290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM2CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgL3ZhciIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNworIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIC9ob21lIgorbXNnc3RyICJTb2xhcmlzIGJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyBhbHRlcm5hdGUgc2VjdG9yIgorbXNnc3RyICJ0cm9wcGUgdmVsb2NpdMOgIGFsdGVybmF0aXZlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM5CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMSIKK21zZ3N0ciAiU3VuT1MgcmlzZXJ2YXRvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQwCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMiIKK21zZ3N0ciAiU3VuT1MgcmlzZXJ2YXRvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMyIKK21zZ3N0ciAiU3VuT1MgcmlzZXJ2YXRvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNCIKK21zZ3N0ciAiU3VuT1MgcmlzZXJ2YXRvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQzCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNSIKK21zZ3N0ciAiU3VuT1MgcmlzZXJ2YXRvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2CisjLCBmdXp6eQorbXNnaWQgIk5ldEJTRCBzd2FwIgorbXNnc3RyICJCU0RJIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDcKKyMsIGZ1enp5Cittc2dpZCAiTmV0QlNEIEZGUyIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4CisjLCBmdXp6eQorbXNnaWQgIk5ldEJTRCBMRlMiCittc2dzdHIgIk5ldEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OQorbXNnaWQgIk5ldEJTRCBjb25jYXRlbmF0ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MAorbXNnaWQgIk5ldEJTRCBlbmNyeXB0ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MQorIywgZnV6enkKK21zZ2lkICJOZXRCU0QgUkFJRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0Cittc2dpZCAiQ2hyb21lT1Mga2VybmVsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTUKK21zZ2lkICJDaHJvbWVPUyByb290IGZzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTYKKyMsIGZ1enp5Cittc2dpZCAiQ2hyb21lT1MgcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIHJpc2VydmF0byIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OQorbXNnaWQgIk1pZG5pZ2h0QlNEIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MAorbXNnaWQgIk1pZG5pZ2h0QlNEIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MQorIywgZnV6enkKK21zZ2lkICJNaWRuaWdodEJTRCBzd2FwIgorbXNnc3RyICJCU0RJIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjIKK21zZ2lkICJNaWRuaWdodEJTRCBVRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MworbXNnaWQgIk1pZG5pZ2h0QlNEIFpGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY0Cittc2dpZCAiTWlkbmlnaHRCU0QgVmludW0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NworbXNnaWQgIkNlcGggSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4Cittc2dpZCAiQ2VwaCBFbmNyeXB0ZWQgSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5Cittc2dpZCAiQ2VwaCBPU0QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MAorbXNnaWQgIkNlcGggY3J5cHQgT1NEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzEKK21zZ2lkICJDZXBoIGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MgorbXNnaWQgIkNlcGggY3J5cHQgZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1CisjLCBmdXp6eQorbXNnaWQgIk9wZW5CU0QgZGF0YSIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3OAorIywgZnV6enkKK21zZ2lkICJRTlg2IGZpbGUgc3lzdGVtIgorbXNnc3RyICJJbW1ldHRlcmUgaWwgdGlwbyBkaSBmaWxlc3lzdGVtOiAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyODEKKyMsIGZ1enp5Cittc2dpZCAiUGxhbiA5IHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgZCAgIGNhbmNlbGxhemlvbmUgZGkgdW5hIHBhcnRpemlvbmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo1NDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdQVCBoZWFkZXIiCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjYzMAorbXNnaWQgIkZpcnN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjY0MgorbXNnaWQgIkxhc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Nzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIkdQVCBQTUJSIHNpemUgbWlzbWF0Y2ggKCU8UFJJdTY0PiAhPSAlPFBSSXU2ND4pIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3OTIKKyMsIGZ1enp5Cittc2dpZCAiZ3B0OiBzdGF0KCkgZmFpbGVkIgorbXNnc3RyICIlcyBub24gcml1c2NpdG8uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo4MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3B0OiBjYW5ub3QgaGFuZGxlIGZpbGVzIHdpdGggbW9kZSAlbyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTA2NAorbXNnaWQgIkdQVCBIZWFkZXIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEwNjkKK21zZ2lkICJHUFQgRW50cmllcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEwMworIywgZnV6enkKK21zZ2lkICJGaXJzdCBMQkEiCittc2dzdHIgIlByaW1vICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEwOAorIywgZnV6enkKK21zZ2lkICJMYXN0IExCQSIKK21zZ3N0ciAiIFVsdGltbyAlcyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBMQkEgKExvZ2ljYWwgQmxvY2sgQWRkcmVzcykgb2YgdGhlIGJhY2t1cCBHUFQgaGVhZGVyLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjExMTQKK21zZ2lkICJBbHRlcm5hdGl2ZSBMQkEiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFydCBvZiB0aGUgYXJyYXkgb2YgcGFydGl0aW9uIGVudHJpZXMuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEyMAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gZW50cmllcyBMQkEiCittc2dzdHIgIlBhcnRpemlvbmUgc2VsZXppb25hdGEgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExMjUKKyMsIGZ1enp5Cittc2dpZCAiQWxsb2NhdGVkIHBhcnRpdGlvbiBlbnRyaWVzIgorbXNnc3RyICJQYXJ0aXppb25lIHNlbGV6aW9uYXRhICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNDQwCittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBwcmltYXJ5IGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTQ0OQorbXNnaWQgIlRoZSBwcmltYXJ5IEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIGJhY2t1cCBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIEdQVCBhdHRyaWJ1dGUgYml0ICclcyciCittc2dzdHIgIiVzOiBhcmdvbWVudG8gc2Nvbm9zY2l1dG86ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgR1BUIGF0dHJpYnV0ZSBzdHJpbmcgJyVzJyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBVVUlEIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIlNjcml0dHVyYSBkZWxsYSBwYXJ0aXppb25lIHN1ICVzIG5vbiByaXVzY2l0YVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIG5hbWUgY2hhbmdlZCBmcm9tICclcycgdG8gJyUuKnMnLiIKK21zZ3N0ciAiU2NyaXR0dXJhIGRlbGxhIHBhcnRpemlvbmUgc3UgJXMgbm9uIHJpdXNjaXRhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzY4CisjLCBmdXp6eQorbXNnaWQgIlRoZSBzdGFydCBvZiB0aGUgcGFydGl0aW9uIHVuZGVyc3RlcHMgRmlyc3RVc2FibGVMQkEuIgorbXNnc3RyICIiCisiXG4iCisibGEgcGFydGl6aW9uZSBkaSBhdnZpbyBub24gZXNpc3RlLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc3NQorIywgZnV6enkKK21zZ2lkICJUaGUgZW5kIG9mIHRoZSBwYXJ0aXRpb24gb3ZlcnN0ZXBzIExhc3RVc2FibGVMQkEuIgorbXNnc3RyICJTY3JpdHR1cmEgZGVsbGEgcGFydGl6aW9uZSBzdSAlcyBub24gcml1c2NpdGFcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MzQKK21zZ2lkICJUaGUgZGV2aWNlIGNvbnRhaW5zIGh5YnJpZCBNQlIgLS0gd3JpdGluZyBHUFQgb25seS4gWW91IGhhdmUgdG8gc3luYyB0aGUgTUJSIG1hbnVhbGx5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3MQorIywgZnV6enkKK21zZ2lkICJEaXNrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiSWwgZGlzY28gJXMgbm9uIGNvbnRpZW5lIHVuYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgdmFsaWRhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTc2Cittc2dpZCAiSW52YWxpZCBwcmltYXJ5IGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTgwCittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5ODUKKyMsIGZ1enp5Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gZW50cnkgY2hlY2tzdW0uIgorbXNnc3RyICJOdW1lcm8gZGkgcGFydGl6aW9uaSBub24gdmFsaWRvIHBlciBpbCB0aXBvIFwiJWNcIlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5MAorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTk0Cittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5OQorbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBwcmltYXJ5IGhlYWRlci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMDMKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMDgKK21zZ2lkICJEaXNrIGlzIHRvbyBzbWFsbCB0byBob2xkIGFsbCBkYXRhLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAxOAorbXNnaWQgIlByaW1hcnkgYW5kIGJhY2t1cCBoZWFkZXIgbWlzbWF0Y2guIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBwYXJ0aXRpb24gJXUuIgorbXNnc3RyICJBdHRlbnppb25lOiBsYSBwYXJ0aXppb25lICVkIHNpIHNvdnJhcHBvbmUgYWxsYSBwYXJ0aXppb25lICVkLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGlzIHRvbyBiaWcgZm9yIHRoZSBkaXNrLiIKK21zZ3N0ciAiU292cmFwcG9zaXppb25lIGRpIHBhcnRpemlvbmkgc3VsIGRpc2NvLiBSaXNvbHZlcmUgYW56aXR1dHRvIHF1ZXN0byBwcm9ibGVtYS5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBlbmRzIGJlZm9yZSBpdCBzdGFydHMuIgorbXNnc3RyICJMYSBwYXJ0aXppb25lIHRlcm1pbmEgcHJpbWEgZGVsIHNldHRvcmUgMCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDcKK21zZ2lkICJObyBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJIZWFkZXIgdmVyc2lvbjogJXMiCittc2dzdHIgImVycm9yZSBkaSBwb3NpemlvbmFtZW50byIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nICV1IG91dCBvZiAlZCBwYXJ0aXRpb25zLiIKK21zZ3N0ciAic3RyYW5vLCBzb25vIGRlZmluaXRlIHNvbG8gJWQgcGFydGl6aW9uaS5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudC4iCittc2dpZF9wbHVyYWwgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudHMgKHRoZSBsYXJnZXN0IGlzICVzKS4iCittc2dzdHJbMF0gIk5vbiBjaSBzb25vIHNldHRvcmkgbGliZXJpIGRpc3BvbmliaWxpXG4iCittc2dzdHJbMV0gIk5vbiBjaSBzb25vIHNldHRvcmkgbGliZXJpIGRpc3BvbmliaWxpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGVycm9yIGRldGVjdGVkLiIKK21zZ2lkX3BsdXJhbCAiJWQgZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQyCisjLCBmdXp6eQorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIGFyZSBhbHJlYWR5IGluIHVzZS4iCittc2dzdHIgIlF1ZXN0YSBwYXJ0aXppb25lIMOoIGdpw6AgaW4gdXNvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5NyBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVqdSBhbHJlYWR5IHVzZWQuIgorbXNnc3RyICJJbCBzZXR0b3JlICVsbHUgw6ggZ2nDoCBhbGxvY2F0b1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJOb24gY3JlYXJlIHVuYSBwYXJ0aXppb25lIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgbGFzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlyc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgR1BUIGRpc2tsYWJlbCAoR1VJRDogJXMpLiIKK21zZ3N0ciAiICAgcyAgIGNyZWF6aW9uZSBkaSB1bmEgbnVvdmEgZGlza2xhYmVsIFN1biB2dW90YSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NDcKK21zZ2lkICJFbnRlciBuZXcgZGlzayBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NTQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHlvdXIgVVVJRC4iCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiU2NyaXR0dXJhIGRlbGxhIHBhcnRpemlvbmUgc3UgJXMgbm9uIHJpdXNjaXRhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDg4CisjLCBmdXp6eQorbXNnaWQgIk5vdCBlbm91Z2ggc3BhY2UgZm9yIG5ldyBwYXJ0aXRpb24gdGFibGUhIgorbXNnc3RyICJOb24gY2kgc29ubyBzZXR0b3JpIGxpYmVyaSBkaXNwb25pYmlsaVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5NworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV1IG91dCBvZiByYW5nZSAobWluaW1hbCBzdGFydCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMldSBvdXQgb2YgcmFuZ2UgKG1heGltYWwgZW5kIGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIG51bWJlciBvZiB0aGUgcGFydGl0aW9uIGhhcyBiZSBzbWFsbGVyIHRoYW4gJXp1LiIKK21zZ3N0ciAiw4ggc3RhdG8gY3JlYXRvIGlsIG51bWVybyBtYXNzaW1vIGRpIHBhcnRpemlvbmlcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NjMKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGFsbG9jYXRlIG1lbW9yeSEiCittc2dzdHIgImltcG9zc2liaWxlIGVmZmV0dHVhcmUgaWwgZm9yayIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBsZW5ndGggY2hhbmdlZCBmcm9tICU8UFJJdTMyPiB0byAlPFBSSXU2ND4uIgorbXNnc3RyICJTY3JpdHR1cmEgZGVsbGEgcGFydGl6aW9uZSBzdSAlcyBub24gcml1c2NpdGFcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBhdHRyaWJ1dGVzIG9uIHBhcnRpdGlvbiAlenUgY2hhbmdlZCB0byAweCUwMTY8UFJJeDY0Pi4iCittc2dzdHIgIk1vZGlmaWNhdG8gaWwgdGlwbyBkaSBzaXN0ZW1hIGRlbGxhIHBhcnRpemlvbmUgJWQgaW4gJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc0MgorbXNnaWQgIkVudGVyIEdVSUQgc3BlY2lmaWMgYml0IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdG9nZ2xlIHVuc3VwcG9ydGVkIGJpdCAlbHUiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIk1vZGlmaWNhdG8gaWwgdGlwbyBkaSBzaXN0ZW1hIGRlbGxhIHBhcnRpemlvbmUgJWQgaW4gJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiTW9kaWZpY2F0byBpbCB0aXBvIGRpIHNpc3RlbWEgZGVsbGEgcGFydGl6aW9uZSAlZCBpbiAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIk1vZGlmaWNhdG8gaWwgdGlwbyBkaSBzaXN0ZW1hIGRlbGxhIHBhcnRpemlvbmUgJWQgaW4gJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxOAorIywgZnV6enkKK21zZ2lkICJUeXBlLVVVSUQiCittc2dzdHIgIlRpcG8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE5Cittc2dpZCAiVVVJRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkyMCBsb2dpbi11dGlscy9jaGZuLmM6MTUwIGxvZ2luLXV0aWxzL2NoZm4uYzoxNTIKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMDcKK21zZ2lkICJOYW1lIgorbXNnc3RyICJOb21lIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6ODQwCisjLCBmdXp6eQorbXNnaWQgIkZyZWUgc3BhY2UiCittc2dzdHIgIlNwYXppbyBkaXNwb25pYmlsZSIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjEyMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uICMlenUuIgorbXNnc3RyICJyaWxlZ2dpIGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSIKKworIzogbGliZmRpc2svc3JjL3BhcnR0eXBlLmM6MjU5IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1NSBzY2hlZHV0aWxzL2NocnQuYzoyMDYKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6Nzkgc3lzLXV0aWxzL2h3Y2xvY2suYzozMzQKK21zZ2lkICJ1bmtub3duIgorbXNnc3RyICJzY29ub3NjaXV0byIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ3Cittc2dpZCAiU0dJIHZvbGhkciIKK21zZ3N0ciAiU0dJIHZvbGhkciIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ4Cittc2dpZCAiU0dJIHRya3JlcGwiCittc2dzdHIgIlNHSSB0cmtyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDkKK21zZ2lkICJTR0kgc2VjcmVwbCIKK21zZ3N0ciAiU0dJIHNlY3JlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MAorbXNnaWQgIlNHSSByYXciCittc2dzdHIgIlNHSSByYXciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MQorbXNnaWQgIlNHSSBic2QiCittc2dzdHIgIlNHSSBic2QiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MgorbXNnaWQgIlNHSSBzeXN2IgorbXNnc3RyICJTR0kgc3lzdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUzCittc2dpZCAiU0dJIHZvbHVtZSIKK21zZ3N0ciAiU0dJIHZvbHVtZSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU0Cittc2dpZCAiU0dJIGVmcyIKK21zZ3N0ciAiU0dJIGVmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU1Cittc2dpZCAiU0dJIGx2b2wiCittc2dzdHIgIlNHSSBsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTYKK21zZ2lkICJTR0kgcmx2b2wiCittc2dzdHIgIlNHSSBybHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU3Cittc2dpZCAiU0dJIHhmcyIKK21zZ3N0ciAiU0dJIHhmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU4Cittc2dpZCAiU0dJIHhmc2xvZyIKK21zZ3N0ciAiU0dJIHhmc2xvZyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5Cittc2dpZCAiU0dJIHhsdiIKK21zZ3N0ciAiU0dJIHhsdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYwCittc2dpZCAiU0dJIHh2bSIKK21zZ3N0ciAiU0dJIHh2bSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyIGxpYmZkaXNrL3NyYy9zdW4uYzo1MworbXNnaWQgIkxpbnV4IG5hdGl2ZSIKK21zZ3N0ciAiTGludXggbmF0aXZvIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTU5Cittc2dpZCAiU0dJIGluZm8gY3JlYXRlZCBvbiBzZWNvbmQgc2VjdG9yLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjU5CisjLCBmdXp6eQorbXNnaWQgIkRldGVjdGVkIGFuIFNHSSBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4iCittc2dzdHIgIlJpbGV2YXRvIHVuIGRpc2tsYWJlbCBzZ2kgY29uIGNoZWNrc3VtIGVycmF0by5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4MiBsaWJmZGlzay9zcmMvc3VuLmM6NzcwCittc2dpZCAiUGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJDaWxpbmRyaSBmaXNpY2kiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODcgbGliZmRpc2svc3JjL3N1bi5jOjc3NQorIywgZnV6enkKK21zZ2lkICJFeHRyYSBzZWN0cy9jeWwiCittc2dzdHIgIlNldHRvcmkgc3VwcGxlbWVudGFyaSBwZXIgY2lsaW5kcm8iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyOTcKKyMsIGZ1enp5Cittc2dpZCAiQm9vdGZpbGUiCittc2dzdHIgIihGaWxlIHN1Y2Nlc3Npdm86ICVzKSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjM5NQorIywgZnV6enkKK21zZ2lkICJJbnZhbGlkIGJvb3RmaWxlISAgVGhlIGJvb3RmaWxlIG11c3QgYmUgYW4gYWJzb2x1dGUgbm9uLXplcm8gcGF0aG5hbWUsIGUuZy4gXCIvdW5peFwiIG9yIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAiIgorIlxuIgorIkZpbGUgZGkgYXZ2aW8gbm9uIHZhbGlkbyFcbiIKKyJcdElsIGZpbGUgZGkgYXZ2aW8gZGV2ZSBlc3NlcmUgdW4gcGF0aCBhc3NvbHV0byBub24gbnVsbG8sXG4iCisiXHRlcy4gXCIvdW5peFwiIG8gXCIvdW5peC5zYXZlXCIuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlIG1heGltdW0uIgorbXNnaWRfcGx1cmFsICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZXMgbWF4aW11bS4iCittc2dzdHJbMF0gIiIKKyJcbiIKKyJcdE5vbWUgZGVsIGZpbGUgZGkgYXZ2aW8gdHJvcHBvIGx1bmdvOiAgZGV2ZSBlc3NlcmUgZGkgMTYgYnl0ZSBhbCBtYXNzaW1vLlxuIgorbXNnc3RyWzFdICIiCisiXG4iCisiXHROb21lIGRlbCBmaWxlIGRpIGF2dmlvIHRyb3BwbyBsdW5nbzogIGRldmUgZXNzZXJlIGRpIDE2IGJ5dGUgYWwgbWFzc2ltby5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwOAorIywgZnV6enkKK21zZ2lkICJCb290ZmlsZSBtdXN0IGhhdmUgYSBmdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUuIgorbXNnc3RyICIiCisiXG4iCisiXHRJbCBmaWxlIGRpIGF2dmlvIGRldmUgYXZlcmUgdW4gcGF0aCBjb21wbGV0by5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQxNAorIywgZnV6enkKK21zZ2lkICJCZSBhd2FyZSB0aGF0IHRoZSBib290ZmlsZSBpcyBub3QgY2hlY2tlZCBmb3IgZXhpc3RlbmNlLiAgU0dJJ3MgZGVmYXVsdCBpcyBcIi91bml4XCIsIGFuZCBmb3IgYmFja3VwIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAiIgorIlxuIgorIlx0U2kgdGVuZ2EgY29udG8gZGVsIGZhdHRvIGNoZSBub24gdmllbmUgdmVyaWZpY2F0YSBsJ2VzaXN0ZW56YSBkZWwgZmlsZSBkaSBhdnZpby5cbiIKKyJcdEwnaW1wb3N0YXppb25lIHByZWRlZmluaXRhIGRpIFNHSSDDqCBcIi91bml4XCIgZSBwZXIgaWwgYmFja3VwIFwiL3VuaXguc2F2ZVwiLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgY3VycmVudCBib290IGZpbGUgaXM6ICVzIgorbXNnc3RyICIiCisiXG4iCisiSWwgZmlsZSBkJ2F2dmlvIGNvcnJlbnRlIMOoOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQxCisjLCBmdXp6eQorbXNnaWQgIkVudGVyIG9mIHRoZSBuZXcgYm9vdCBmaWxlIgorbXNnc3RyICJJbW1ldHRlcmUgaWwgbm9tZSBkZWwgbnVvdm8gZmlsZSBkJ2F2dmlvOiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0NgorIywgZnV6enkKK21zZ2lkICJCb290IGZpbGUgaXMgdW5jaGFuZ2VkLiIKK21zZ3N0ciAiRmlsZSBkJ2F2dmlvIGltbXV0YXRvXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJvb3RmaWxlIGhhcyBiZWVuIGNoYW5nZWQgdG8gXCIlc1wiLiIKK21zZ3N0ciAiIgorIlxuIgorIlx0RmlsZSBkaSBhdnZpbyBjYW1iaWF0byBpbiBcIiVzXCIuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OTYKKyMsIGZ1enp5Cittc2dpZCAiTW9yZSB0aGFuIG9uZSBlbnRpcmUgZGlzayBlbnRyeSBwcmVzZW50LiIKK21zZ3N0ciAiUHJlc2VudGUgcGnDuSBkaSB1bmEgdm9jZSBkaXNjbyBpbnRlcm8uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MDMgbGliZmRpc2svc3JjL3N1bi5jOjQ1OAorIywgZnV6enkKK21zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQuIgorbXNnc3RyICJOZXNzdW5hIHBhcnRpemlvbmUgZGVmaW5pdGFcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxMworIywgZnV6enkKK21zZ2lkICJJUklYIGxpa2VzIGl0IHdoZW4gcGFydGl0aW9uIDExIGNvdmVycyB0aGUgZW50aXJlIGRpc2suIgorbXNnc3RyICJJUklYIGdyYWRpc2NlIGNoZSBsYSBwYXJ0aXppb25lIDExIGNvbXByZW5kYSBsJ2ludGVybyBkaXNjby5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIHBhcnRpdGlvbiBzaG91bGQgc3RhcnQgYXQgYmxvY2sgMCwgbm90IGF0IGJsb2NrICVkLiIKK21zZ3N0ciAiIgorIkxhIHBhcnRpemlvbmUgZGVsbCdpbnRlcm8gZGlzY28gZG92cmViYmUgaW5pemlhcmUgYWwgYmxvY2NvIDAsXG4iCisibm9uIGFsIGJsb2NjbyAlZC5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyOAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gMTEgc2hvdWxkIGNvdmVyIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIlVuYSBwYXJ0aXppb25lICgjMTEpIGRvdnJlYmJlIGNvbXByZW5kZXJlIGlsIGRpc2NvIGludGVyby5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3IuIgorbXNnaWRfcGx1cmFsICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3RvcnMuIgorbXNnc3RyWzBdICJMZSBwYXJ0aXppb25pICVkIGUgJWQgc2kgc292cmFwcG9uZ29ubyBkaSAlZCBzZXR0b3JpLlxuIgorbXNnc3RyWzFdICJMZSBwYXJ0aXppb25pICVkIGUgJWQgc2kgc292cmFwcG9uZ29ubyBkaSAlZCBzZXR0b3JpLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjYzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3Rvcjogc2VjdG9yICU4dSIKK21zZ2lkX3BsdXJhbCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yczogc2VjdG9ycyAlOHUtJXUiCittc2dzdHJbMF0gIkludGVydmFsbG8gZGkgJTh1IHNldHRvcmkgbm9uIHV0aWxpenphdG8gLSBzZXR0b3JpICU4dS0ldVxuIgorbXNnc3RyWzFdICJJbnRlcnZhbGxvIGRpICU4dSBzZXR0b3JpIG5vbiB1dGlsaXp6YXRvIC0gc2V0dG9yaSAlOHUtJXVcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY5OAorIywgZnV6enkKK21zZ2lkICJUaGUgYm9vdCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICIiCisiXG4iCisibGEgcGFydGl6aW9uZSBkaSBhdnZpbyBub24gZXNpc3RlLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzAyCisjLCBmdXp6eQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIiIKKyJcbiIKKyJMYSBwYXJ0aXppb25lIGRpIHN3YXAgbm9uIGVzaXN0ZS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwNgorIywgZnV6enkKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gaGFzIG5vIHN3YXAgdHlwZS4iCittc2dzdHIgIiIKKyJcbiIKKyJMYSBwYXJ0aXppb25lIGRpIHN3YXAgbm9uIGhhIHRpcG8gc3dhcC5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwOQorIywgZnV6enkKK21zZ2lkICJZb3UgaGF2ZSBjaG9zZW4gYW4gdW51c3VhbCBib290ZmlsZSBuYW1lLiIKK21zZ3N0ciAiXHRTaSDDqCBzZWxlemlvbmF0byB1biBub21lIGZpbGUgZGkgYXZ2aW8gbm9uIGNvbXVuZS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjc1OQorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4iCittc2dzdHIgIlNvdnJhcHBvc2l6aW9uZSBkaSBwYXJ0aXppb25pIHN1bCBkaXNjby4gUmlzb2x2ZXJlIGFueml0dXR0byBxdWVzdG8gcHJvYmxlbWEuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDQKKyMsIGZ1enp5Cittc2dpZCAiQXR0ZW1wdGluZyB0byBnZW5lcmF0ZSBlbnRpcmUgZGlzayBlbnRyeSBhdXRvbWF0aWNhbGx5LiIKK21zZ3N0ciAiVGVudGF0aXZvIGRpIGdlbmVyYXJlIGF1dG9tYXRpY2FtZW50ZSBsYSB2b2NlIHBlciBsJ2ludGVybyBkaXNjby5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0OQorIywgZnV6enkKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgaXMgYWxyZWFkeSBjb3ZlcmVkIHdpdGggcGFydGl0aW9ucy4iCittc2dzdHIgIkwnaW50ZXJvIGRpc2NvIMOoIGdpw6AgY29wZXJ0byBkYSBwYXJ0aXppb25pLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODUzCisjLCBmdXp6eQorbXNnaWQgIllvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKK21zZ3N0ciAiU292cmFwcG9zaXppb25lIGRpIHBhcnRpemlvbmkgc3VsIGRpc2NvLiBSaXNvbHZlcmUgYW56aXR1dHRvIHF1ZXN0byBwcm9ibGVtYS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg3NSBsaWJmZGlzay9zcmMvc3VuLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ICVzIgorbXNnc3RyICJQcmltbyAlcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg5OSBsaWJmZGlzay9zcmMvc2dpLmM6OTQ5CisjLCBmdXp6eQorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBlbGV2ZW50aCBwYXJ0aXRpb24gY292ZXJzIHRoZSBlbnRpcmUgZGlzayBhbmQgaXMgb2YgdHlwZSAnU0dJIHZvbHVtZScuIgorbXNnc3RyICIiCisiU2kgcmFjY29tYW5kYSBjaGUgbCd1bmRpY2VzaW1hIHBhcnRpemlvbmVcbiIKKyJjb3ByYSBsJ2ludGVybyBkaXNjbyBlIHNpYSBkaSB0aXBvIFwiU0dJIHZvbHVtZVwiXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5MTQgbGliZmRpc2svc3JjL3N1bi5jOjYzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTGFzdCAlcyBvciArJXMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiVWx0aW1vICVzIG8gK3NpemUgbyArc2l6ZU0gbyArc2l6ZUsgIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTg1IGxpYmZkaXNrL3NyYy9zdW4uYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuIFRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDUxCisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU0dJIGRpc2tsYWJlbC4iCittc2dzdHIgIiAgIHMgICBjcmVhemlvbmUgZGkgdW5hIG51b3ZhIGRpc2tsYWJlbCBTdW4gdnVvdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDcwCisjLCBmdXp6eQorbXNnaWQgIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIKK21zZ3N0ciAiU3BpYWNlbnRlLCBzb2xhbWVudGUgaWwgc3VwZXJ1dGVudGUgcHXDsiBtb2RpZmljYXJlIGlsIGNsb2NrIGRpIHNpc3RlbWEuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDc2CisjLCBmdXp6eQorbXNnaWQgIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDkgYXMgdm9sdW1lIGhlYWRlciAoMCksIGFuZCBwYXJ0aXRpb24gMTEgYXMgZW50aXJlIHZvbHVtZSAoNiksIGFzIElSSVggZXhwZWN0cyBpdC4iCittc2dzdHIgIiIKKyJQb25pYW1vIGRpIGxhc2NpYXJlIGxhIHBhcnRpemlvbmUgOSBjb21lIGludGVzdGF6aW9uZSBkaSB2b2x1bWUgKDApLFxuIgorImUgbGEgcGFydGl6aW9uZSAxMSBjb21lIHZvbHVtZSBpbnRlcm8gKDYpIHBvaWNow6kgSVJJWCBsbyBwcmV2ZWRlLlxuIgorIlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA4NQorIywgZnV6enkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwIGlzIG9mIHR5cGUgXCJTR0kgdm9saGRyXCIsIHRoZSBJUklYIHN5c3RlbSB3aWxsIHJlbHkgb24gaXQgdG8gcmV0cmlldmUgZnJvbSBpdHMgZGlyZWN0b3J5IHN0YW5kYWxvbmUgdG9vbHMgbGlrZSBzYXNoIGFuZCBmeC4gT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiBBcmUgeW91IHN1cmUgYWJvdXQgdGFnZ2luZyB0aGlzIHBhcnRpdGlvbiBkaWZmZXJlbnRseT8iCittc2dzdHIgIiIKKyJTaSByYWNjb21hbmRhIGNoZSBsYSBwYXJ0aXppb25lIGluIG9mZnNldCAwXG4iCisic2lhIGRpIHRpcG8gXCJTR0kgdm9saGRyXCIsIGlsIHNpc3RlbWEgSVJJWCBzaSBiYXNlcsOgIHN1IGRpIGVzc2EgcGVyXG4iCisicmVjdXBlcmFyZSBkYWxsYSBkaXJlY3RvcnkgZ2xpIHN0cnVtZW50aSBzdGFuZGFsb25lIGNvbWUgc2FzaCBlIGZ4LlxuIgorIlNvbGFtZW50ZSBsYSBzZXppb25lIGRlbGwnaW50ZXJvIGRpc2NvIFwiU0dJIHZvbHVtZVwiIHB1w7IgdmlvbGFybGEuXG4iCisiRGlnaXRhcmUgWUVTIChzw6wpIHNlIHNpIMOoIGNlcnRpIGRpIHZvbGVyIGNvZGlmaWNhcmUgcXVlc3RhIHBhcnRpemlvbmUgaW4gbW9kbyBkaWZmZXJlbnRlLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDAKK21zZ2lkICJVbmFzc2lnbmVkIgorbXNnc3RyICJOb24gYXNzZWduYXRvIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDIKK21zZ2lkICJTdW5PUyByb290IgorbXNnc3RyICJTdW5PUyByb290IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDMKK21zZ2lkICJTdW5PUyBzd2FwIgorbXNnc3RyICJTdW5PUyBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDQKK21zZ2lkICJTdW5PUyB1c3IiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ1Cittc2dpZCAiV2hvbGUgZGlzayIKK21zZ3N0ciAiRGlzY28gaW50ZXJvIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDYKK21zZ2lkICJTdW5PUyBzdGFuZCIKK21zZ3N0ciAiU3VuT1Mgc3RhbmQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NworbXNnaWQgIlN1bk9TIHZhciIKK21zZ3N0ciAiU3VuT1MgdmFyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDgKK21zZ2lkICJTdW5PUyBob21lIgorbXNnc3RyICJTdW5PUyBob21lIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDkKK21zZ2lkICJTdW5PUyBhbHQgc2VjdG9ycyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTAKK21zZ2lkICJTdW5PUyBjYWNoZWZzIgorbXNnc3RyICJTdW5PUyBjYWNoZWZzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTEKK21zZ2lkICJTdW5PUyByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgcmlzZXJ2YXRvIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTM3CisjLCBmdXp6eQorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4gUHJvYmFibHkgeW91J2xsIGhhdmUgdG8gc2V0IGFsbCB0aGUgdmFsdWVzLCBlLmcuIGhlYWRzLCBzZWN0b3JzLCBjeWxpbmRlcnMgYW5kIHBhcnRpdGlvbnMgb3IgZm9yY2UgYSBmcmVzaCBsYWJlbCAocyBjb21tYW5kIGluIG1haW4gbWVudSkiCittc2dzdHIgIiIKKyJSaWxldmF0YSB1bmEgZGlza2xhYmVsIHN1biBjb24gY2hlY2tzdW0gZXJyYXRvLlxuIgorIlByb2JhYmlsbWVudGUgc2kgZG92cmFubm8gaW1wb3N0YXJlIHR1dHRpIGkgdmFsb3JpLFxuIgorInBlciBlcy4gdGVzdGluZSwgc2V0dG9yaSwgY2lsaW5kcmkgZSBwYXJ0aXppb25pXG4iCisibyBmb3J6YXJlIHVuJ2V0aWNoZXR0YSBudW92YSAoY29tYW5kbyBzIG5lbCBtZW51IHByaW5jaXBhbGUpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2ZXJzaW9uIFslZF0uIgorbXNnc3RyICJSaWxldmF0byB1biBkaXNrbGFiZWwgY29uIHZlcnNpb25lIGVycmF0YSBbMHglMDh4XS5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2Muc2FuaXR5IFsweCUwOHhdLiIKK21zZ3N0ciAiUmlsZXZhdG8gdW4gZGlza2xhYmVsIGNvbiBzYW5pdHkgZXJyYXRvIFsweCUwOHhdLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5ucGFydHMgWyV1XS4iCittc2dzdHIgIlJpbGV2YXRvIHVuIGRpc2tsYWJlbCBjb24gbnVtX3BhcnRpdGlvbnMgZXJyYXRvIFsldV0uXG4iCisKKyMgRklYTUUKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiV2FybmluZzogV3JvbmcgdmFsdWVzIG5lZWQgdG8gYmUgZml4ZWQgdXAgYW5kIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkiCittc2dzdHIgIkF0dGVuemlvbmU6IGkgdmFsb3JpIG5vbiB2YWxpZGkgZGV2b25vIGVzc2VyZSBjb3JyZXR0aSBjb24gdyhyaXRlKVxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTkyCittc2dpZCAiSGVhZHMiCittc2dzdHIgIlRlc3RpbmUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTQKK21zZ2lkICJTZWN0b3JzL3RyYWNrIgorbXNnc3RyICJTZXR0b3JpL3RyYWNjaWEiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoyOTcKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTdW4gZGlza2xhYmVsLiIKK21zZ3N0ciAiICAgcyAgIGNyZWF6aW9uZSBkaSB1bmEgbnVvdmEgZGlza2xhYmVsIFN1biB2dW90YSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGRvZXNuJ3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiTGEgcGFydGl6aW9uZSAlZCBub24gZmluaXNjZSBhbCBsaW1pdGUgZGVsIGNpbGluZHJvXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIG90aGVycyBpbiBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiTGEgcGFydGl6aW9uZSAlZCBzaSBzb3ZyYXBwb25lIGFkIGFsdHJlIG5laSBzZXR0b3JpICVkLSVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzIDAtJXUuIgorbXNnc3RyICJJbnRlcnZhbGxvIGludXRpbGl6emF0byAtIHNldHRvcmkgMC0lZFxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDY1IGxpYmZkaXNrL3NyYy9zdW4uYzo0NzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiSW50ZXJ2YWxsbyBpbnV0aWxpenphdG8gLSBzZXR0b3JpICVkLSVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MjgKKyMsIGZ1enp5Cittc2dpZCAiT3RoZXIgcGFydGl0aW9ucyBhbHJlYWR5IGNvdmVyIHRoZSB3aG9sZSBkaXNrLiBEZWxldGUgc29tZS9zaHJpbmsgdGhlbSBiZWZvcmUgcmV0cnkuIgorbXNnc3RyICIiCisiQWx0cmUgcGFydGl6aW9uaSBjb3Byb25vIGdpw6AgaWwgZGlzY28gaW50ZXJvLlxuIgorIkVsaW1pbmFybmUgYWxjdW5lL3JpbXBpY2Npb2xpcmxlIHByaW1hIGRpIHJpcHJvdmFyZS5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVkIGlzIGFscmVhZHkgYWxsb2NhdGVkIgorbXNnc3RyICJJbCBzZXR0b3JlICVkIMOoIGdpw6AgYWxsb2NhdG9cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYwMAorIywgZnV6enkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgdGhpcmQgcGFydGl0aW9uIGNvdmVycyB0aGUgd2hvbGUgZGlzayBhbmQgaXMgb2YgdHlwZSBgV2hvbGUgZGlzayciCittc2dzdHIgIiIKKyJTaSByYWNjb21hbmRhIGNoZSBsJ3VuZGljZXNpbWEgcGFydGl6aW9uZVxuIgorImNvcHJhIGwnaW50ZXJvIGRpc2NvIGUgc2lhIGRpIHRpcG8gXCJTR0kgdm9sdW1lXCJcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYxMAorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbmluZyB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gJXUgdG8gJXUgdG8gYmUgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZW4ndCBjb3ZlcmVkIHRoZSB3aG9sZSBkaXNrIHdpdGggdGhlIDNyZCBwYXJ0aXRpb24sIGJ1dCB5b3VyIHZhbHVlXG4iCisiJWx1ICVzIGNvdmVycyBzb21lIG90aGVyIHBhcnRpdGlvbi4gWW91ciBlbnRyeSBoYXMgYmVlbiBjaGFuZ2VkXG4iCisidG8gJWx1ICVzIgorbXNnc3RyICIiCisiTm9uIHNpIMOoIGNvcGVydG8gbCdpbnRlcm8gZGlzY28gY29uIGxhIHRlcnphIHBhcnRpemlvbmUsIG1hIGlsIHZhbG9yZVxuIgorIiVkICVzIGNvcHJlIGFsY3VuZSBhbHRyZSBwYXJ0aXppb25pLiBMYSB2b2NlIGltbWVzc2Egw6ggc3RhdGEgY2FtYmlhdGFcbiIKKyJpbiAlZCAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJZiB5b3Ugd2FudCB0byBtYWludGFpbiBTdW5PUy9Tb2xhcmlzIGNvbXBhdGliaWxpdHksIGNvbnNpZGVyIGxlYXZpbmcgdGhpcyBwYXJ0aXRpb24gYXMgV2hvbGUgZGlzayAoNSksIHN0YXJ0aW5nIGF0IDAsIHdpdGggJXUgc2VjdG9ycyIKK21zZ3N0ciAiIgorIlNlIHNpIHZ1b2xlIG1hbnRlbmVyZSBsYSBjb21wYXRpYmlsaXTDoCBjb24gU3VuT1MvU29sYXJpcywgcHJlbmRlcmVcbiIKKyJpbiBjb25zaWRlcmF6aW9uZSBkaSBsYXNjaWFyZSBxdWVzdGEgcGFydGl6aW9uZSBjb21lIGRpc2NvIGludGVybyAoNSksIHBhcnRlbmRvIGRhIDAsIGNvbiAldSBzZXR0b3JpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NTAKKyMsIGZ1enp5Cittc2dpZCAiTGFiZWwgSUQiCittc2dzdHIgImV0aWNoZXR0YTogJS4qc1xuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzU1CisjLCBmdXp6eQorbXNnaWQgIlZvbHVtZSBJRCIKK21zZ3N0ciAiVm9sdW1lOiA8JS02cz5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc2NQorbXNnaWQgIkFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIkNpbGluZHJpIGFsdGVybmF0aXZpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6ODcxCittc2dpZCAiTnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIk51bWVybyBkaSBjaWxpbmRyaSBhbHRlcm5hdGl2aSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg5NgorbXNnaWQgIkV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJTZXR0b3JpIHN1cHBsZW1lbnRhcmkgcGVyIGNpbGluZHJvIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTIwCittc2dpZCAiSW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIkZhdHRvcmUgZGkgaW50ZXJsZWF2ZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk0NAorbXNnaWQgIlJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICJWZWxvY2l0w6AgZGkgcm90YXppb25lIChycG0pIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTY4Cittc2dpZCAiTnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiTnVtZXJvIGRlaSBjaWxpbmRyaSBmaXNpY2kiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDM3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiAzIGFzIFdob2xlIGRpc2sgKDUpLFxuIgorImFzIFN1bk9TL1NvbGFyaXMgZXhwZWN0cyBpdCBhbmQgZXZlbiBMaW51eCBsaWtlcyBpdC5cbiIKK21zZ3N0ciAiIgorIlBvbmlhbW8gZGkgbGFzY2lhcmUgbGEgcGFydGl6aW9uZSAzIGNvbWUgZGlzY28gaW50ZXJvICg1KSxcbiIKKyJwb2ljaMOpIFN1bk9TL1NvbGFyaXMgbG8gcHJldmVkZSBlIGNpw7Igw6ggZ3JhZGl0byBhbmNoZSBhIExpbnV4LlxuIgorIlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA0OAorIywgZnV6enkKK21zZ2lkICIiCisiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMFxuIgorImlzIFVGUywgRVhUMkZTIGZpbGVzeXN0ZW0gb3IgU3VuT1Mgc3dhcC4gUHV0dGluZyBMaW51eCBzd2FwXG4iCisidGhlcmUgbWF5IGRlc3Ryb3kgeW91ciBwYXJ0aXRpb24gdGFibGUgYW5kIGJvb3RibG9jay5cbiIKKyJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdGFnIHRoZSBwYXJ0aXRpb24gYXMgTGludXggc3dhcD8iCittc2dzdHIgIiIKKyJTaSByYWNjb21hbmRhIGNoZSBsYSBwYXJ0aXppb25lIGEgb2Zmc2V0IDBcbiIKKyJzaWEgdW4gZmlsZXN5c3RlbSBVRlMsIEVYVDJGUyBvIHN3YXAgU3VuT1MgLiBMYSBjb2xsb2NhemlvbmUgaW4gcXVlbGxhIHBvc2l6aW9uZSBkZWxsbyBzd2FwIExpbnV4XG4iCisicG90cmViYmUgcHJvdm9jYXJlIGwnZWxpbWluYXppb25lIGRlbGxhIHRhYmVsbGUgZGVsbGUgcGFydGl6aW9uaSBlIGRlbCBib290YmxvY2suXG4iCisiRGlnaXRhcmUgWUVTICAoc8OsKSBzZSBzaSDDqCBjZXJ0aSBkaSB2b2xlcmUgY2hlIHF1ZWxsYSBwYXJ0aXppb25lXG4iCisidmVuZ2EgY29kaWZpY2F0YSBjb24gODIgKHN3YXAgTGludXggKTogIgorCisjOiBsaWIvcGFnZXIuYzoxMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhaXRwaWQgZmFpbGVkICglcykiCittc2dzdHIgInNldHVpZCgpIG5vbiByaXVzY2l0byIKKworIzogbGliL3BhdGguYzoyMDkgc3lzLXV0aWxzL2xzY3B1LmM6MTgxOAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY2FsbG9jYXRlIGNwdSBzZXQiCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIzogbGliL3BhdGguYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdCAlcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogbGliL3BhdGguYzoyMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzayAlcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MgorIywgZnV6enkKK21zZ2lkICJjYW4gbm90IG9wZW4gVU5JWCBzb2NrZXQiCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAlcyIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3OAorIywgZnV6enkKK21zZ2lkICJjYW4gbm90IHNldCBvcHRpb24gZm9yIFVOSVggc29ja2V0IgorbXNnc3RyICJJbXBvc3NpYmlsZSBvdHRlbmVyZSBpbCB0aW1lb3V0IHBlciAlczogJXNcbiIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo5MQorIywgZnV6enkKK21zZ2lkICJjYW4gbm90IGNvbm5lY3Qgb24gVU5JWCBzb2NrZXQiCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAlcyIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHBseW1vdXRoIHJlcXVlc3QgJWMgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICIiCisKKyM6IGxpYi9yYW5kdXRpbHMuYzoxMzYKK21zZ2lkICJsaWJjIHBzZXVkby1yYW5kb20gZnVuY3Rpb25zIgorbXNnc3RyICIiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MTcgbGliL3N3YXBwcm9iZXIuYzozMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBwcm9iZSBkZXZpY2UiCittc2dzdHIgImltcG9zc2liaWxlIHJpYXZ2b2xnZXJlIGlsIGRpc3Bvc2l0aXZvIHN3YXAiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYmlndW91cyBwcm9iaW5nIHJlc3VsdDsgdXNlIHdpcGVmcyg4KSIKK21zZ3N0ciAiIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgdmFsaWQgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIiVzOiBuZXNzdW5hIHBhcnRpemlvbmUgZGkgcXVlc3RvIHRpcG9cbiIKKworIzogbGliL3N3YXBwcm9iZXIuYzo0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuc3VwcG9ydGVkIHN3YXAgdmVyc2lvbiAnJXMnIgorbXNnc3RyICIlczogZXJyb3JlOiB2ZXJzaW9uZSBzY29ub3NjaXV0YSAlZFxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTAgbG9naW4tdXRpbHMvY2hzaC5jOjY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+XVxuIgorbXNnc3RyICJVc286IG5hbWVpIFstbXhdIG5vbWUgcGVyY29yc28gW25vbWUgcGVyY29yc28gLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHlvdXIgZmluZ2VyIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJNb2RpZmljYSBkZWxsZSBpbmZvcm1hemlvbmkgZmluZ2VyIHBlciAlcyBpbiBjb3Jzby5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk2Cittc2dpZCAiIC1mLCAtLWZ1bGwtbmFtZSA8ZnVsbC1uYW1lPiAgcmVhbCBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk3Cittc2dpZCAiIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICAgb2ZmaWNlIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tb2ZmaWNlLXBob25lIDxwaG9uZT4gICBvZmZpY2UgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiIKKyJbIC1wIHRlbC4gdWZmaWNpb11cbiIKKyJcdFsgLWggdGVsLiBjYXNhIF0gIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTkKK21zZ2lkICIgLWgsIC0taG9tZS1waG9uZSA8cGhvbmU+ICAgICBob21lIHBob25lIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDEgbG9naW4tdXRpbHMvY2hzaC5jOjc4Cittc2dpZCAiIC11LCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjExNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmllbGQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgImlsIGNhbXBvIMOoIHRyb3BwbyBsdW5nby5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyMSBsb2dpbi11dGlscy9jaHNoLmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBoYXMgaWxsZWdhbCBjaGFyYWN0ZXJzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTAgbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTYyCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luLmRlZnMgZm9yYmlkcyBzZXR0aW5nICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE1OCBsb2dpbi11dGlscy9jaGZuLmM6MzA5Cittc2dpZCAiT2ZmaWNlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIgbG9naW4tdXRpbHMvY2hmbi5jOjE2NCBsb2dpbi11dGlscy9jaGZuLmM6MzExCittc2dpZCAiT2ZmaWNlIFBob25lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjggbG9naW4tdXRpbHMvY2hmbi5jOjE3MCBsb2dpbi11dGlscy9jaGZuLmM6MzEzCittc2dpZCAiSG9tZSBQaG9uZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MjMzCisjLCBmdXp6eQorbXNnaWQgIkFib3J0ZWQuIgorbXNnc3RyICIiCisiXG4iCisiaW50ZXJyb3R0by5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBoYXMgdW5leHBlY3RlZCB2YWx1ZTogJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjI5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBkb2VzIG5vdCBhbGxvdyBhbnkgY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLlxuIgorbXNnc3RyICJMZSBpbmZvcm1hemlvbmkgZmluZ2VyICpOT04qIHNvbm8gc3RhdGUgbW9kaWZpY2F0ZS4gUmlwcm92YXJlIHN1Y2Nlc3NpdmFtZW50ZS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gY2hhbmdlZC5cbiIKK21zZ3N0ciAiTGUgaW5mb3JtYXppb25pIGZpbmdlciBzb25vIHN0YXRlIG1vZGlmaWNhdGUuXG4iCisKKyMgRklYTUUKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MDggbG9naW4tdXRpbHMvY2hzaC5jOjI0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAieW91ICh1c2VyICVkKSBkb24ndCBleGlzdC4iCittc2dzdHIgIiVzOiBub24gc2kgZXNpc3RlIChjb21lIHV0ZW50ZSAlZCkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MTQgbG9naW4tdXRpbHMvY2hzaC5jOjI0OCBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzZXIgXCIlc1wiIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiJXM6IGwndXRlbnRlIFwiJXNcIiBub24gZXNpc3RlLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDIwIGxvZ2luLXV0aWxzL2Noc2guYzoyNTQKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMiCittc2dzdHIgIiVzOiDDqCBwb3NzaWJpbGUgbW9kaWZpY2FyZSBzb2xvIGxlIHZvY2kgbG9jYWxpOyB1dGlsaXp6YXJlIGludmVjZSB5cCVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIGZpbmdlciBpbmZvIG9mICVzIgorbXNnc3RyICIlczogJXMgbm9uIMOoIGF1dG9yaXp6YXRvIGEgY2FtYmlhcmUgbGUgaW5mb3JtYXppb25pIGZpbmdlciBkaSAlc1xuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDM1IGxvZ2luLXV0aWxzL2Noc2guYzoyNzAKK21zZ2lkICJVbmtub3duIHVzZXIgY29udGV4dCIKK21zZ3N0ciAiQ29udGVzdG8gdXRlbnRlIHNjb25vc2NpdXRvIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDQxIGxvZ2luLXV0aWxzL2Noc2guYzoyNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHNldCBkZWZhdWx0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgaW1wb3N0YXJlIGlsIGNvbnRlc3RvIHByZWRlZmluaXRvIHBlciAvZXRjL3Bhc3N3ZCIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MgorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBmaW5nZXIgaW5mb3JtYXRpb24gZm9yICVzLlxuIgorbXNnc3RyICJNb2RpZmljYSBkZWxsZSBpbmZvcm1hemlvbmkgZmluZ2VyIHBlciAlcyBpbiBjb3Jzby5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gbm90IGNoYW5nZWQuXG4iCittc2dzdHIgIkxlIGluZm9ybWF6aW9uaSBmaW5nZXIgbm9uIHNvbm8gc3RhdGUgbW9kaWZpY2F0ZS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjcyCisjLCBmdXp6eQorbXNnaWQgIkNoYW5nZSB5b3VyIGxvZ2luIHNoZWxsLlxuIgorbXNnc3RyICJNb2RpZmljYSBzaGVsbCBwZXIgJXMgaW4gY29yc28uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgc3BlY2lmeSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsPXNoZWxsICAgICAgICAgICAgSW1wb3N0YSBsYSBzaGVsbCBcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc2Cittc2dpZCAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIHByaW50IGxpc3Qgb2Ygc2hlbGxzIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjEwMAorIywgZnV6enkKK21zZ2lkICJObyBrbm93biBzaGVsbHMuIgorbXNnc3RyICJOZXNzdW5hIHNoZWxsIGNvbm9zY2l1dGEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDAKKyMsIGZ1enp5Cittc2dpZCAic2hlbGwgbXVzdCBiZSBhIGZ1bGwgcGF0aCBuYW1lIgorbXNnc3RyICIlczogbGEgc2hlbGwgZGV2ZSBlc3NlcmUgdW4gbm9tZSBwZXJjb3JzbyBjb21wbGV0by5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIlczogXCIlc1wiIG5vbiBlc2lzdGUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBpcyBub3QgZXhlY3V0YWJsZSIKK21zZ3N0ciAiJXM6IFwiJXNcIiBub24gZXNlZ3VpYmlsZS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuIgorbXNnc3RyICJBdHRlbnppb25lOiBcIiVzXCIgbm9uIMOoIGVsZW5jYXRvIGluIC9ldGMvc2hlbGxzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjE0IGxvZ2luLXV0aWxzL2Noc2guYzoyMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy5cbiIKKyJVc2UgJXMgLWwgdG8gc2VlIGxpc3QuIgorbXNnc3RyICIlczogXCIlc1wiIG5vbiDDqCBlbGVuY2F0byBpbiAvZXRjL3NoZWxscy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBzaGVsbCBvZiAlcyIKK21zZ3N0ciAiJXM6ICVzIG5vbiDDqCBhdXRvcml6emF0byBhIGNhbWJpYXJlIGxhIHNoZWxsZGkgJXNcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI5NQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAieW91ciBzaGVsbCBpcyBub3QgaW4gJXMsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiVzOiBsYSBzaGVsbCBub24gw6ggaW4gL2V0Yy9zaGVsbHMsIG1vZGlmaWNhIGRlbGxhIHNoZWxsIG5lZ2F0YVxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIHNoZWxsIGZvciAlcy5cbiIKK21zZ3N0ciAiTW9kaWZpY2Egc2hlbGwgcGVyICVzIGluIGNvcnNvLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzEyCittc2dpZCAiTmV3IHNoZWxsIgorbXNnc3RyICJOdW92YSBzaGVsbCIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyMAorIywgZnV6enkKK21zZ2lkICJTaGVsbCBub3QgY2hhbmdlZC4iCittc2dzdHIgIlNoZWxsIG5vbiBtb2RpZmljYXRhLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzI1CisjLCBmdXp6eQorbXNnaWQgIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICJTaGVsbCAqTk9OKiBtb2RpZmljYXRhLiAgUmlwcm92YXJlIHN1Y2Nlc3NpdmFtZW50ZS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyOQorIywgZnV6enkKK21zZ2lkICIiCisic2V0cHduYW0gZmFpbGVkXG4iCisiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIlNoZWxsICpOT04qIG1vZGlmaWNhdGEuICBSaXByb3ZhcmUgc3VjY2Vzc2l2YW1lbnRlLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoZWxsIGNoYW5nZWQuXG4iCittc2dzdHIgIlNoZWxsIG1vZGlmaWNhdGEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIDxwYXNzd29yZGZpbGU+IDx1c2VybmFtZT4uLi5cbiIKK21zZ3N0ciAiVXNvOiAlcyBbZmlsZV1cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjE3NCBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjAgc3lzLXV0aWxzL2RtZXNnLmM6MTE5MworIzogc3lzLXV0aWxzL2xzaXBjLmM6MjY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHRpbWUgZm9ybWF0OiAlcyIKK21zZ3N0ciAiJXM6IENvbWFuZG8gc2Nvbm9zY2l1dG86ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyODEgbG9naW4tdXRpbHMvbGFzdC5jOjI4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW50ZXJydXB0ZWQgJXMiCittc2dzdHIgIiIKKyJcbiIKKyJpbnRlcnJvdHRvICUxMC4xMHMgJTUuNXMgXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo0MzkgbG9naW4tdXRpbHMvbGFzdC5jOjQ1MAorbXNnaWQgInByZWFsbG9jYXRpb24gc2l6ZSBleGNlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+Li4uXSBbPHR0eT4uLi5dXG4iCittc2dzdHIgIlVzbzogbmFtZWkgWy1teF0gbm9tZSBwZXJjb3JzbyBbbm9tZSBwZXJjb3JzbyAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzIKK21zZ2lkICJTaG93IGEgbGlzdGluZyBvZiBsYXN0IGxvZ2dlZCBpbiB1c2Vycy5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc1Cittc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgIGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc2Cittc2dpZCAiIC1hLCAtLWhvc3RsYXN0ICAgICAgIGRpc3BsYXkgaG9zdG5hbWVzIGluIHRoZSBsYXN0IGNvbHVtblxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzcKK21zZ2lkICIgLWQsIC0tZG5zICAgICAgICAgICAgdHJhbnNsYXRlIHRoZSBJUCBudW1iZXIgYmFjayBpbnRvIGEgaG9zdG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICB1c2UgYSBzcGVjaWZpYyBmaWxlIGluc3RlYWQgb2YgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgwCittc2dpZCAiIC1GLCAtLWZ1bGx0aW1lcyAgICAgIHByaW50IGZ1bGwgbG9naW4gYW5kIGxvZ291dCB0aW1lcyBhbmQgZGF0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgxCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pcCAgICAgICAgICAgICBkaXNwbGF5IElQIG51bWJlcnMgaW4gbnVtYmVycy1hbmQtZG90cyBub3RhdGlvblxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODIKK21zZ2lkICIgLW4sIC0tbGltaXQgPG51bWJlcj4gaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODMKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIGRvbid0IGRpc3BsYXkgdGhlIGhvc3RuYW1lIGZpZWxkXG4iCittc2dzdHIgIiBwICAgICAgICAgIFN0YW1wYSBkZWxsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgc3Ugc2NoZXJtbyBvIHN1IGZpbGUiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODQKK21zZ2lkICIgLXMsIC0tc2luY2UgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgc2luY2UgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NQorbXNnaWQgIiAtdCwgLS11bnRpbCA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyB1bnRpbCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg2Cittc2dpZCAiIC1wLCAtLXByZXNlbnQgPHRpbWU+IGRpc3BsYXkgd2hvIHdlcmUgcHJlc2VudCBhdCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg3CisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS1mdWxsbmFtZXMgICAgICBkaXNwbGF5IGZ1bGwgdXNlciBhbmQgZG9tYWluIG5hbWVzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OAorbXNnaWQgIiAteCwgLS1zeXN0ZW0gICAgICAgICBkaXNwbGF5IHN5c3RlbSBzaHV0ZG93biBlbnRyaWVzIGFuZCBydW4gbGV2ZWwgY2hhbmdlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODkKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcHMgaW4gdGhlIHNwZWNpZmllZCA8Zm9ybWF0PjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjg4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzIGJlZ2lucyAlcyIKK21zZ3N0ciAiIgorIlxuIgorInd0bXAgaW5pemlhICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTU2IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjQKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciIKK21zZ3N0ciAiU2NyaXR0dXJhIGRlbGxhIHBhcnRpemlvbmUgc3UgJXMgbm9uIHJpdXNjaXRhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NzcgbG9naW4tdXRpbHMvbGFzdC5jOjk4MiBsb2dpbi11dGlscy9sYXN0LmM6OTg3CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lIHZhbHVlIFwiJXNcIiIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjI5IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzozMQorbXNnaWQgIkNvdWxkbid0IGRyb3AgZ3JvdXAgcHJpdmlsZWdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxpYnVzZXIgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlcy4iCittc2dzdHIgIiIKKyJcbiIKKyJFcnJvcmUgZHVyYW50ZSBsYSBjaGl1c3VyYSBkZWwgZmlsZVxuIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTIKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdpbmcgdXNlciBhdHRyaWJ1dGUgZmFpbGVkIgorbXNnc3RyICJzZW1hZm9yaSBhbGxvY2F0aSA9ICVkXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo2NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIGF0dHJpYnV0ZSBub3QgY2hhbmdlZDogJXMiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJXUgaXMgNjAuCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjE4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltZWQgb3V0IGFmdGVyICV1IHNlY29uZHMiCittc2dzdHIgIkxvZ2luIHNjYWR1dG8gZG9wbyAlZCBzZWNvbmRpXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogY2FuJ3QgcmVvcGVuIHR0eTogJW0iCittc2dzdHIgIkZBVEFMRTogaW1wb3NzaWJpbGUgcmlhcHJpcmUgbGEgdHR5OiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlcyBpcyBub3QgYSB0ZXJtaW5hbCIKK21zZ3N0ciAiJXMgbm9uIMOoIHVuIGRpc3Bvc2l0aXZvIHNwZWNpYWxlIGEgYmxvY2NoaSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNob3duICglcywgJWx1LCAlbHUpIGZhaWxlZDogJW0iCittc2dzdHIgIm1vdW50IG5vbiByaXVzY2l0byIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNobW9kICglcywgJXUpIGZhaWxlZDogJW0iCittc2dzdHIgIi9kZXY6IGNoZGlyKCkgbm9uIHJpdXNjaXRvOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozNzUKK21zZ2lkICJGQVRBTDogYmFkIHR0eSIKK21zZ3N0ciAiRkFUQUxFOiB0dHkgbm9uIHZhbGlkYSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzOiBjaGFuZ2UgcGVybWlzc2lvbnMgZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGxvZ2luOiAlLipzICIKK21zZ3N0ciAiVWx0aW1vIGxvZ2luOiAlLipzICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnJvbSAlLipzXG4iCittc2dzdHIgImRhICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAib24gJS4qc1xuIgorbXNnc3RyICJzdSAlLipzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTUyCisjLCBmdXp6eQorbXNnaWQgIndyaXRlIGxhc3Rsb2cgZmFpbGVkIgorbXNnc3RyICJBcGVydHVyYSBkaSAlcyBub24gcml1c2NpdGEiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRJQUxVUCBBVCAlcyBCWSAlcyIKK21zZ3N0ciAiIENPTk5FU1NJT05FIERJIEFDQ0VTU08gUkVNT1RPIEEgJXMgQVRUUkFWRVJTTyAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyBGUk9NICVzIgorbXNnc3RyICJMT0dJTiBESSBST09UIEEgJXMgREEgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMiCittc2dzdHIgIkxPR0lOIERJIFJPT1QgQSAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTE9HSU4gT04gJXMgQlkgJXMgRlJPTSAlcyIKK21zZ3N0ciAiTE9HSU4gQSAlcyBBVFRSQVZFUlNPICVzIERBICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyIKK21zZ3N0ciAiTE9HSU4gQSAlcyBBVFRSQVZFUlNPICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjcxOQorbXNnaWQgImxvZ2luOiAiCittc2dzdHIgImxvZ2luOiAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorbXNnc3RyICJjaHNoOiBlcnJvcmUgUEFNLCBpbnRlcnJ1emlvbmUgaW4gY29yc286ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkbid0IGluaXRpYWxpemUgUEFNOiAlcyIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgaW5pemlhbGl6emFyZSBQQU06ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOICV1IEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiRkFMTElUTyBJTCBMT0dJTiAlZCBEQSAlcyBQRVIgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgyNSBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTG9naW4gaW5jb3JyZWN0XG4iCisiXG4iCittc2dzdHIgIiIKKyJMb2dpbiBub24gY29ycmV0dG9cbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRPTyBNQU5ZIExPR0lOIFRSSUVTICgldSkgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJUUk9QUEkgVEVOVEFUSVZJIERJIExPR0lOICglZCkgREEgJXMgUEVSICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOIFNFU1NJT04gRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJGQUxMSVRBIFNFU1NJT05FIERJIExPR0lOIERBICVzIFBFUiAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKK21zZ3N0ciAiIgorIlxuIgorIkxvZ2luIG5vbiBjb3JyZXR0b1xuIgorCisjIEZJWE1FCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg4MiBsb2dpbi11dGlscy9sb2dpbi5jOjEyMzIgbG9naW4tdXRpbHMvbG9naW4uYzoxMjU1CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHNldHVwIHByb2JsZW0sIGFib3J0LiIKK21zZ3N0ciAiIgorIlxuIgorIlByb2JsZW1hIG5lbGwnYXZ2aWFyZSBsYSBzZXNzaW9uZSwgaW50ZXJyb3R0by5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVMTCB1c2VyIG5hbWUgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiTm9tZSB1dGVudGUgTlVMTCBpbiAlczolZC4gSW50ZXJyb3R0by4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAyMAorIywgYy1mb3JtYXQKK21zZ2lkICJUSU9DU0NUVFkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiVElPQ1NDVFRZIG5vbiByaXVzY2l0bzogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibG9naW46IC1oIGlzIGZvciBzdXBlcnVzZXIgb25seVxuIgorbXNnc3RyICJsb2dpbjogLWggc29sYW1lbnRlIHBlciBzdXBlci11c2VyLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiBsb2dpbiBbLXBdIFstaCA8aG9zdD5dIFstSF0gW1stZl0gPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAiVXNvOiBsYXN0IFstI10gWy1mIGZpbGVdIFstdCB0dHldIFstaCBob3N0bmFtZV0gW3V0ZW50ZSAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE5MQorIywgZnV6enkKK21zZ2lkICJCZWdpbiBhIHNlc3Npb24gb24gdGhlIHN5c3RlbS5cbiIKK21zZ3N0ciAiUGFzc3dvcmQgc2hhZG93IHNvbm8gdXNhdGUgc3UgcXVlc3RvIHNpc3RlbWEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTIzMworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHVzZXIgbmFtZSBcIiVzXCIgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiTm9tZSB1dGVudGUgXCIlc1wiIG5vbiB2YWxpZG8gaW4gJXM6JWQuIEludGVycm90dG8uIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImdyb3VwcyBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICIiCisiXG4iCisiRXJyb3JlIGR1cmFudGUgbGEgY2hpdXN1cmEgZGVsIGZpbGVcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjc5CisjLCBmdXp6eQorbXNnaWQgInNldGdpZCgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgbm9uIHJpdXNjaXRvIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbmV3IG1haWwuXG4iCittc2dzdHIgIkMnw6ggbnVvdmEgcG9zdGEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMxMQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBtYWlsLlxuIgorbXNnc3RyICJDJ8OoIHBvc3RhLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMjUKK21zZ2lkICJzZXR1aWQoKSBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIG5vbiByaXVzY2l0byIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzMxIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjaGFuZ2UgZGlyZWN0b3J5IGZhaWxlZCIKK21zZ3N0ciAicmljZXJjYSBub24gcml1c2NpdGEiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzOCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2dpbmcgaW4gd2l0aCBob21lID0gXCIvXCIuXG4iCittc2dzdHIgIkNvbm5lc3Npb25lIGNvbiBob21lID0gXCIvXCIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM2NworIywgZnV6enkKK21zZ2lkICJjb3VsZG4ndCBleGVjIHNoZWxsIHNjcmlwdCIKK21zZ3N0ciAibG9naW46IGV4ZWMgZGVsbG8gc2NyaXB0IHNoZWxsIGltcG9zc2liaWxlOiAlcy5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzY5CisjLCBmdXp6eQorbXNnaWQgIm5vIHNoZWxsIgorbXNnc3RyICJOZXNzdW5hIHNoZWxsIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzoyMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBjb250YWlucyBpbnZhbGlkIG51bWVyaWNhbCB2YWx1ZTogJXMiCittc2dzdHIgIlZhbG9yZSBpbnRlcnZhbGxvIG5vbiB2YWxpZG86ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjM3NQorbXNnaWQgImh1c2ggbG9naW4gc3RhdHVzOiByZXN0b3JlIG9yaWdpbmFsIElEcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDggc3lzLXV0aWxzL2xzY3B1LmM6MTU0MCBzeXMtdXRpbHMvbHNjcHUuYzoxNTUwCittc2dpZCAibm8iCittc2dzdHIgIm5vIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNyBtaXNjLXV0aWxzL2xzYmxrLmM6MTgxCisjLCBmdXp6eQorbXNnaWQgInVzZXIgbmFtZSIKK21zZ3N0ciAiTm9tZSB1dGVudGUgbm9uIHZhbGlkbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcKKyMsIGZ1enp5Cittc2dpZCAiVXNlcm5hbWUiCittc2dzdHIgIk5vbWUgdXRlbnRlIG5vbiB2YWxpZG8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE4IHN5cy11dGlscy9yZW5pY2UuYzo1NAorIywgZnV6enkKK21zZ2lkICJ1c2VyIElEIgorbXNnc3RyICJ1dGVudGUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE5CisjLCBmdXp6eQorbXNnaWQgInBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAiUGFzc3dvcmQgbm9uIG1vZGlmaWNhdGEuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorIywgZnV6enkKK21zZ2lkICJQYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIlBhc3N3b3JkIG5vbiBtb2RpZmljYXRhLiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAibG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIiVzOiBpbCBmaWxlIGRlbGxlIHBhc3N3b3JkIMOoIG9jY3VwYXRvLlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorIywgZnV6enkKK21zZ2lkICJMb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAiJXM6IGlsIGZpbGUgZGVsbGUgcGFzc3dvcmQgw6ggb2NjdXBhdG8uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCisjLCBmdXp6eQorbXNnaWQgInBhc3N3b3JkIGRlZmluZWQsIGJ1dCBsb2NrZWQiCittc2dzdHIgInBhc3N3b3JkIG1vZGlmaWNhdGEsIHV0ZW50ZSAlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKKyMsIGZ1enp5Cittc2dpZCAiUGFzc3dvcmQgaXMgbG9ja2VkIgorbXNnc3RyICJQYXNzd29yZCBub24gbW9kaWZpY2F0YS4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAibG9nIGluIGRpc2FibGVkIGJ5IG5vbG9naW4oOCkgb3IgcGFtX25vbG9naW4oOCkiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKKyMsIGZ1enp5Cittc2dpZCAiTm8gbG9naW4iCittc2dzdHIgImxvZ2luOiAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCittc2dpZCAicHJpbWFyeSBncm91cCBuYW1lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCisjLCBmdXp6eQorbXNnaWQgIlByaW1hcnkgZ3JvdXAiCittc2dzdHIgIlByaW1hcmlhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNAorbXNnaWQgInByaW1hcnkgZ3JvdXAgSUQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIG5hbWVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3CisjLCBmdXp6eQorbXNnaWQgImhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICJOZXNzdW5hIGRpcmVjdG9yeSAlcyFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKKyMsIGZ1enp5Cittc2dpZCAiSG9tZSBkaXJlY3RvcnkiCittc2dzdHIgIk5lc3N1bmEgZGlyZWN0b3J5ICVzIVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorIywgZnV6enkKK21zZ2lkICJsb2dpbiBzaGVsbCIKK21zZ3N0ciAiTmVzc3VuYSBzaGVsbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKKyMsIGZ1enp5Cittc2dpZCAiU2hlbGwiCittc2dzdHIgIk5lc3N1bmEgc2hlbGwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5CisjLCBmdXp6eQorbXNnaWQgImZ1bGwgdXNlciBuYW1lIgorbXNnc3RyICJOb21lIHV0ZW50ZSBub24gdmFsaWRvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgIkdlY29zIGZpZWxkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCisjLCBmdXp6eQorbXNnaWQgImRhdGUgb2YgbGFzdCBsb2dpbiIKK21zZ3N0ciAiZG9wbyBsYSBwcmltYSBsaW5lYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBsb2dpbiIKK21zZ3N0ciAiVWx0aW1vIGxvZ2luOiAlLipzICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJsYXN0IHR0eSB1c2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCisjLCBmdXp6eQorbXNnaWQgIkxhc3QgdGVybWluYWwiCittc2dzdHIgIiVzIG5vbiDDqCB1biBkaXNwb3NpdGl2byBzcGVjaWFsZSBhIGJsb2NjaGkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiaG9zdG5hbWUgZHVyaW5nIHRoZSBsYXN0IHNlc3Npb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBob3N0bmFtZSIKK21zZ3N0ciAibGFzdDogZ2V0aG9zdG5hbWUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCisjLCBmdXp6eQorbXNnaWQgImRhdGUgb2YgbGFzdCBmYWlsZWQgbG9naW4iCittc2dzdHIgImxzdGF0IGRlbCBwZXJjb3JzbyBub24gcml1c2NpdG9cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJGYWlsZWQgbG9naW4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKKyMsIGZ1enp5Cittc2dpZCAid2hlcmUgZGlkIHRoZSBsb2dpbiBmYWlsPyIKK21zZ3N0ciAiQXBlcnR1cmEgZGkgJXMgbm9uIHJpdXNjaXRhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgbG9naW4gdGVybWluYWwiCittc2dzdHIgIlNjcml0dHVyYSBkZWxsYSBwYXJ0aXppb25lIHN1ICVzIG5vbiByaXVzY2l0YVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgInVzZXIncyBodXNoIHNldHRpbmdzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAiSHVzaGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiZGF5cyB1c2VyIGlzIHdhcm5lZCBvZiBwYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiB3YXJuIGludGVydmFsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAicGFzc3dvcmQgZXhwaXJhdGlvbiBkYXRlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIkVycm9yZSBwYXNzd29yZC4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4CisjLCBmdXp6eQorbXNnaWQgImRhdGUgb2YgbGFzdCBwYXNzd29yZCBjaGFuZ2UiCittc2dzdHIgIkltbWV0dGVyZSB2ZWNjaGlhIHBhc3N3b3JkOiAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4CisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIGNoYW5nZWQiCittc2dzdHIgIlBhc3N3b3JkIG1vZGlmaWNhdGEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAibnVtYmVyIG9mIGRheXMgcmVxdWlyZWQgYmV0d2VlbiBjaGFuZ2VzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5CisjLCBmdXp6eQorbXNnaWQgIk1pbmltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIiVzOiBuZXNzdW5hIG1vZGlmaWNhIGVmZmV0dHVhdGFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKK21zZ2lkICJtYXggbnVtYmVyIG9mIGRheXMgYSBwYXNzd29yZCBtYXkgcmVtYWluIHVuY2hhbmdlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorIywgZnV6enkKK21zZ2lkICJNYXhpbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICJTY3JpdHR1cmEgZGVsbGEgcGFydGl6aW9uZSBzdSAlcyBub24gcml1c2NpdGFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJ0aGUgdXNlcidzIHNlY3VyaXR5IGNvbnRleHQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKKyMsIGZ1enp5Cittc2dpZCAiU2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJMaW51eCBwbGFpbnRleHQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgcnVuIGJ5IHRoZSB1c2VyIgorbXNnc3RyICJudW1lcm8gbWFzc2ltbyBkaSBzZWdtZW50aSA9ICVsdVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorIywgZnV6enkKK21zZ2lkICJSdW5uaW5nIHByb2Nlc3NlcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIHRyb3ZhcmUgaWwgcHJvY2Vzc28gXCIlc1wiXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6Mjg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNiBtaXNjLXV0aWxzL2xzYmxrLmM6MjMxCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgY29sdW1ucyBzcGVjaWZpZWQsIHRoZSBsaW1pdCBpcyAlenUgY29sdW1ucyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0MyBzeXMtdXRpbHMvbHNpcGMuYzo0NTYKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgdGltZSB0eXBlIgorbXNnc3RyICIlczogYXJnb21lbnRvIHNjb25vc2NpdXRvOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY29tcG9zZSB0aW1lIHN0cmluZyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo2NDgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDcxCisjLCBmdXp6eQorbXNnaWQgImludGVybmFsIGVycm9yOiB1bmtub3duIGNvbHVtbiIKK21zZ3N0ciAiZXJyb3JlIGludGVybm8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA3NSBzeXMtdXRpbHMvbHNpcGMuYzo1MDMgc3lzLXV0aWxzL2xzaXBjLmM6NjI1CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo2ODAgc3lzLXV0aWxzL2xzaXBjLmM6ODM4IHN5cy11dGlscy9sc2lwYy5jOjEwMzYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCBkYXRhIgorbXNnc3RyICJpbXBvc3NpYmlsZSBmYXJlIHN0YXQgZGkgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTE2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxhc3QgbG9nczpcbiIKK21zZ3N0ciAiVWx0aW1vIGxvZ2luOiAlLipzICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjI4IGxvZ2luLXV0aWxzL25vbG9naW4uYzoyNgorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTAxIG1pc2MtdXRpbHMvbWNvb2tpZS5jOjgyIG1pc2MtdXRpbHMvdXVpZGQuYzo3MAorIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjUgc3lzLXV0aWxzL2RtZXNnLmM6MjY0IHN5cy11dGlscy9pcGNtay5jOjY2CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTYwIHN5cy11dGlscy9sc2lwYy5jOjI3NyBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDQKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6OTUgdGVybS11dGlscy9zZXR0ZXJtLmM6MzgwIHRleHQtdXRpbHMvbGluZS5jOjMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzMQorbXNnaWQgIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQga25vd24gdXNlcnMgaW4gdGhlIHN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzQKK21zZ2lkICIgLWEsIC0tYWNjLWV4cGlyYXRpb24gICAgIGRpc3BsYXkgaW5mbyBhYm91dCBwYXNzd29yZHMgZXhwaXJhdGlvblxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNQorbXNnaWQgIiAtYywgLS1jb2xvbi1zZXBhcmF0ZSAgICAgZGlzcGxheSBkYXRhIGluIGEgZm9ybWF0IHNpbWlsYXIgdG8gL2V0Yy9wYXNzd2RcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzYgc3lzLXV0aWxzL2xzaXBjLmM6Mjk2CisjLCBmdXp6eQorbXNnaWQgIiAtZSwgLS1leHBvcnQgICAgICAgICAgICAgZGlzcGxheSBpbiBhbiBleHBvcnQtYWJsZSBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNworIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIGRpc3BsYXkgZGF0YSBhYm91dCB0aGUgdXNlcnMnIGxhc3QgZmFpbGVkIGxvZ2luc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgZ3JvdXBzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOQorbXNnaWQgIiAtZywgLS1ncm91cHM9PGdyb3Vwcz4gICAgZGlzcGxheSB1c2VycyBiZWxvbmdpbmcgdG8gYSBncm91cCBpbiA8Z3JvdXBzPlxuIgorbXNnc3RyICIiCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQwCisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1sYXN0ICAgICAgICAgICAgICAgc2hvdyBpbmZvIGFib3V0IHRoZSB1c2VycycgbGFzdCBsb2dpbiBzZXNzaW9uc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQxCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb2dpbnM9PGxvZ2lucz4gICAgZGlzcGxheSBvbmx5IHVzZXJzIGZyb20gPGxvZ2lucz5cbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDIgc3lzLXV0aWxzL2xzaXBjLmM6Mjk4CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uZXdsaW5lICAgICAgICAgICAgZGlzcGxheSBlYWNoIHBpZWNlIG9mIGluZm9ybWF0aW9uIG9uIGEgbmV3IGxpbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDMgc3lzLXV0aWxzL2xzaXBjLmM6MjkxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NCBzeXMtdXRpbHMvbHNpcGMuYzoyOTIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBkb24ndCB0cnVuY2F0ZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5vbiBzY3JpdmUgcmVhbG1lbnRlIHN1bCBkaXNjbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0Wz08bGlzdD5dICAgIGRlZmluZSB0aGUgY29sdW1ucyB0byBvdXRwdXRcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW9wdHN0cmluZyAgICAgIE9wemlvbmkgYnJldmkgZGEgcmljb25vc2NlcmVcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ2CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGxvZ2luIGJ5IHBhc3N3b3JkLlxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDcgc3lzLXV0aWxzL2xzaXBjLmM6MzAyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgZGlzcGxheSBpbiByYXcgbW9kZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3lzdGVtLWFjY3MgICAgICAgIGRpc3BsYXkgc3lzdGVtIGFjY291bnRzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ5IHN5cy11dGlscy9sc2lwYy5jOjI5MworbXNnaWQgIiAgICAgLS10aW1lLWZvcm1hdD08dHlwZT4gZGlzcGxheSBkYXRlcyBpbiBzaG9ydCwgZnVsbCBvciBpc28gZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUwCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2VyLWFjY3MgICAgICAgICAgZGlzcGxheSB1c2VyIGFjY291bnRzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUxCisjLCBmdXp6eQorbXNnaWQgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgZGlzcGxheSBTRUxpbnV4IGNvbnRleHRzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTIKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0IHVzZXIgZW50cmllcyB3aXRoIGEgbnVsIGNoYXJhY3RlclxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUzCittc2dpZCAiICAgICAtLXd0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIHd0bXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTQKK21zZ2lkICIgICAgIC0tYnRtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3IgYnRtcFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1OSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ3IHN5cy11dGlscy9sc2NwdS5jOjE5NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1uczpcbiIKK21zZ3N0ciAiQ29tYW5kaSBkaXNwb25pYmlsaTpcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDQyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZXF1ZXN0IHNlbGludXggc3RhdGUiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ1NiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NjAKK21zZ2lkICJPbmx5IG9uZSB1c2VyIG1heSBiZSBzcGVjaWZpZWQuIFVzZSAtbCBmb3IgbXVsdGlwbGUgdXNlcnMuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjU1CisjLCBmdXp6eQorbXNnaWQgImNvdWxkIG5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgb3R0ZW5lcmUgbGEgZGltZW5zaW9uZSBkaSAlcyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTcKKyMsIGZ1enp5Cittc2dpZCAiZ2V0bGluZSgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgbm9uIHJpdXNjaXRvIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNDgKK21zZ2lkICJQYXNzd29yZDogIgorbXNnc3RyICJQYXNzd29yZDogIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNTQgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMDUKKyMsIGZ1enp5Cittc2dpZCAiY3J5cHQgZmFpbGVkIgorbXNnc3RyICJtYWxsb2MoKSBub24gcml1c2NpdGEiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxncm91cD5cbiIKK21zZ3N0ciAibmV3Z3JwOiBuZXNzdW4gZ3J1cHBvIGRpIHF1ZXN0byBnZW5lcmUuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjkKK21zZ2lkICJMb2cgaW4gdG8gYSBuZXcgZ3JvdXAuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjA3CisjLCBmdXp6eQorbXNnaWQgIndobyBhcmUgeW91PyIKK21zZ3N0ciAibmV3Z3JwOiBjaGkgc2VpPyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjExIGxvZ2luLXV0aWxzL25ld2dycC5jOjIyMyBzeXMtdXRpbHMvbnNlbnRlci5jOjQyMworIywgZnV6enkKK21zZ2lkICJzZXRnaWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBub24gcml1c2NpdG8iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxNiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTgKKyMsIGZ1enp5Cittc2dpZCAibm8gc3VjaCBncm91cCIKK21zZ3N0ciAibmV3Z3JwOiBuZXNzdW4gZ3J1cHBvIGRpIHF1ZXN0byBnZW5lcmUuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjEgc3lzLXV0aWxzL21vdW50LmM6NDkxCisjLCBmdXp6eQorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIgorbXNnc3RyICJtb3VudDogYXV0b3JpenphemlvbmUgbmVnYXRhIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjcgc3lzLXV0aWxzL25zZW50ZXIuYzo0MjUKKyMsIGZ1enp5Cittc2dpZCAic2V0dWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgbm9uIHJpdXNjaXRvIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjkKK21zZ2lkICJQb2xpdGVseSByZWZ1c2UgYSBsb2dpbi5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoaXMgYWNjb3VudCBpcyBjdXJyZW50bHkgbm90IGF2YWlsYWJsZS5cbiIKK21zZ3N0ciAiUXVlc3RvIGRpc2NvIMOoIGF0dHVhbG1lbnRlIGluIHVzby5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBzZXNzaW9uOiAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMDQKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBjaGlsZCBwcm9jZXNzIgorbXNnc3RyICJpbXBvc3NpYmlsZSByaW11b3ZlcmUgbCdpZCAlcyAlc1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJuYW1laTogaW1wb3NzaWJpbGUgb3R0ZW5lcmUgbGEgZGlyZWN0b3J5IGNvcnJlbnRlIC0gJXNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzIxCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBibG9jayBzaWduYWxzIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhcHJpcmUgaWwgZmlsZSAnJXMnIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMzUgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzQzCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNDkgbWlzYy11dGlscy91dWlkZC5jOjQwNyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc3MQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJJbXBvc3NpYmlsZSBpbXBvc3RhcmUgdW4gZ2VzdG9yZSBkZWwgc2VnbmFsZSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Mzc0Cittc2dpZCAiIChjb3JlIGR1bXBlZCkiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQsIGtpbGxpbmcgc2hlbGwuLi4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NDA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLi4ua2lsbGVkLlxuIgorbXNnc3RyICIlcyBub24gcml1c2NpdG8uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQ4NgorbXNnaWQgIm1heSBub3QgYmUgdXNlZCBieSBub24tcm9vdCB1c2VycyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MTQKKyMsIGZ1enp5Cittc2dpZCAiaW5jb3JyZWN0IHBhc3N3b3JkIgorbXNnc3RyICJQYXNzd29yZCBub24gY29ycmV0dGEuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1OTgKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBncm91cHMiCittc2dzdHIgIm1vdW50OiBpbXBvc3NpYmlsZSBpbXBvc3RhcmUgbCdpZCBkaSBncnVwcG86ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2MTMgc3lzLXV0aWxzL2VqZWN0LmM6NjY1CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXAgaWQiCittc2dzdHIgIm1vdW50OiBpbXBvc3NpYmlsZSBpbXBvc3RhcmUgbCdpZCBkaSBncnVwcG86ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2MTUgc3lzLXV0aWxzL2VqZWN0LmM6NjY4CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgdXNlciBpZCIKK21zZ3N0ciAibW91bnQ6IGltcG9zc2liaWxlIGltcG9zdGFyZSBsJ2lkIHV0ZW50ZTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAtdSA8dXNlcj4gW1stLV0gPGNvbW1hbmQ+XVxuIgorbXNnc3RyICJVc286IG5hbWVpIFstbXhdIG5vbWUgcGVyY29yc28gW25vbWUgcGVyY29yc28gLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2ODkgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiVXNvOiAlcyBwcm9ncmFtbWEgW2FyZyAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY5MAorbXNnaWQgIiIKKyJcbiIKKyJSdW4gPGNvbW1hbmQ+IHdpdGggdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCBvZiA8dXNlcj4uICBJZiAtdSBpc1xuIgorIm5vdCBnaXZlbiwgZmFsbCBiYWNrIHRvIHN1KDEpLWNvbXBhdGlibGUgc2VtYW50aWNzIGFuZCBleGVjdXRlIHN0YW5kYXJkIHNoZWxsLlxuIgorIlRoZSBvcHRpb25zIC1jLCAtZiwgLWwsIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLXUuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njk3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2VyIDx1c2VyPiAgICAgICAgICAgICB1c2VybmFtZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDIKK21zZ2lkICIiCisiXG4iCisiQ2hhbmdlIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgdG8gdGhhdCBvZiA8dXNlcj4uXG4iCisiQSBtZXJlIC0gaW1wbGllcyAtbC4gIElmIDx1c2VyPiBpcyBub3QgZ2l2ZW4sIHJvb3QgaXMgYXNzdW1lZC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDkKK21zZ2lkICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBkbyBub3QgcmVzZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzEwCittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgICAgICAgICAgc3BlY2lmeSB0aGUgcHJpbWFyeSBncm91cFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMQorbXNnaWQgIiIKKyIgLUcsIC0tc3VwcC1ncm91cCA8Z3JvdXA+ICAgICAgICBzcGVjaWZ5IGEgc3VwcGxlbWVudGFsIGdyb3VwXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzEzCisjLCBmdXp6eQorbXNnaWQgIiAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgICAgIG1ha2UgdGhlIHNoZWxsIGEgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTQKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTUKK21zZ2lkICIiCisiIC0tc2Vzc2lvbi1jb21tYW5kIDxjb21tYW5kPiAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZG8gbm90IGNyZWF0ZSBhIG5ldyBzZXNzaW9uXG4iCittc2dzdHIgIiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTcKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgICAgcGFzcyAtZiB0byB0aGUgc2hlbGwgKGZvciBjc2ggb3IgdGNzaClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxOAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgICBydW4gPHNoZWxsPiBpZiAvZXRjL3NoZWxscyBhbGxvd3MgaXRcbiIKK21zZ3N0ciAiICAtcywgLS1zaGVsbD1zaGVsbCAgICAgICAgICAgIEltcG9zdGEgbGEgc2hlbGwgXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc2MgorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXAgaXMgbm90IHBvc3NpYmxlIgorbXNnaWRfcGx1cmFsICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXBzIGlzIG5vdCBwb3NzaWJsZSIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXAgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiVzOiBsJ3V0ZW50ZSBcIiVzXCIgbm9uIGVzaXN0ZS5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODg2Cittc2dpZCAiaWdub3JpbmcgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg5NworbXNnaWQgIm9wdGlvbnMgLS17c2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbn0gYW5kIC0tdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkwMQorIywgZnV6enkKK21zZ2lkICJubyBjb21tYW5kIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgIk9wemlvbmUgLS1kYXRlIG5vbiBzcGVjaWZpY2F0YS5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTE1Cittc2dpZCAib25seSByb290IGNhbiBzcGVjaWZ5IGFsdGVybmF0aXZlIGdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5MjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzZXIgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiVzOiBsJ3V0ZW50ZSBcIiVzXCIgbm9uIGVzaXN0ZS5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTYyCisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIHJlc3RyaWN0ZWQgc2hlbGwgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAibmFtZWk6IGltcG9zc2liaWxlIG90dGVuZXJlIGxhIGRpcmVjdG9yeSBjb3JyZW50ZSAtICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMzAKKyMsIGZ1enp5Cittc2dpZCAidGNnZXRhdHRyIGZhaWxlZCIKK21zZ3N0ciAiJXMgbm9uIHJpdXNjaXRvLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MjA3CisjLCBmdXp6eQorbXNnaWQgInRjc2V0YXR0ciBmYWlsZWQiCittc2dzdHIgIiVzIG5vbiByaXVzY2l0by5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290XG4iCittc2dzdHIgIiVzOiBub24gw6ggYXBlcnRvIHBlciBsZXR0dXJhL3Njcml0dHVyYSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290IgorbXNnc3RyICIlczogbm9uIMOoIGFwZXJ0byBwZXIgbGV0dHVyYS9zY3JpdHR1cmEiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiByb290IHBhc3N3b3JkIGdhcmJsZWQiCittc2dzdHIgIiVzOiBpbCBmaWxlIGRlbGxlIHBhc3N3b3JkIMOoIG9jY3VwYXRvLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJDYW5ub3Qgb3BlbiBhY2Nlc3MgdG8gY29uc29sZSwgdGhlIHJvb3QgYWNjb3VudCBpcyBsb2NrZWQuXG4iCisiU2VlIHN1bG9naW4oOCkgbWFuIHBhZ2UgZm9yIG1vcmUgZGV0YWlscy5cbiIKKyJcbiIKKyJQcmVzcyBFbnRlciB0byBjb250aW51ZS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIGxvZ2luOiAiCittc2dzdHIgIiVzOiBpbCBmaWxlIGRlbGxlIHBhc3N3b3JkIMOoIG9jY3VwYXRvLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbG9naW46ICIKK21zZ3N0ciAiJXM6IGlsIGZpbGUgZGVsbGUgcGFzc3dvcmQgw6ggb2NjdXBhdG8uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICIlczogaWwgZmlsZSBkZWxsZSBwYXNzd29yZCDDqCBvY2N1cGF0by5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiKG9yIHByZXNzIENvbnRyb2wtRCB0byBjb250aW51ZSk6ICIKK21zZ3N0ciAiQ29udGludWFyZT8iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3NDIKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSB0byBzeXN0ZW0gcm9vdCBmYWlsZWQiCittc2dzdHIgInJpY2VyY2Egbm9uIHJpdXNjaXRhIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzkxCisjLCBmdXp6eQorbXNnaWQgInNldGV4ZWNjb24gZmFpbGVkIgorbXNnc3RyICJleGVjIGZhbGxpdGFcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbdHR5IGRldmljZV1cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxNAorbXNnaWQgIlNpbmdsZS11c2VyIGxvZ2luLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MTcKK21zZ2lkICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICBzdGFydCBhIGxvZ2luIHNoZWxsXG4iCisiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICBtYXggdGltZSB0byB3YWl0IGZvciBhIHBhc3N3b3JkIChkZWZhdWx0OiBubyBsaW1pdClcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGV4YW1pbmUgcGFzc3dvcmQgZmlsZXMgZGlyZWN0bHkgaWYgZ2V0cHduYW0oMykgZmFpbHNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODcxIG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NjMgc3lzLXV0aWxzL3dkY3RsLmM6NTIzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc1MCB0ZXJtLXV0aWxzL3dhbGwuYzoxMzUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50IgorbXNnc3RyICJpZCBub24gdmFsaWRvIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODkzCisjLCBmdXp6eQorbXNnaWQgIm9ubHkgc3VwZXJ1c2VyIGNhbiBydW4gdGhpcyBwcm9ncmFtIgorbXNnc3RyICJtb3VudDogw6ggcG9zc2liaWxlIHNvbG8gcGVyIHJvb3QiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5MzYKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gY29uc29sZSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlICVzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTQzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIHBhc3N3b3JkIGRhdGFiYXNlIgorbXNnc3RyICJtb3VudDogaW1wb3NzaWJpbGUgaW1wb3N0YXJlIGwnaWQgdXRlbnRlOiAlcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDYW4gbm90IGV4ZWN1dGUgc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiRXhlYyAlcyBpbXBvc3NpYmlsZTogJXNcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjcKKyMsIGZ1enp5Cittc2dpZCAiIgorIlRpbWVkIG91dFxuIgorIlxuIgorbXNnc3RyICJzY2FkdXRvIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTA1OQorIywgZnV6enkKK21zZ2lkICIiCisiQ2FuIG5vdCB3YWl0IG9uIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIkV4ZWMgJXMgaW1wb3NzaWJpbGU6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTc2IHRleHQtdXRpbHMvdGFpbGYuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxODUgdGV4dC11dGlscy90YWlsZi5jOjE3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGlub3RpZnkgZXZlbnRzIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjQ2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjUxCittc2dpZCAiRXh0cmFuZW91cyBuZXdsaW5lIGluIGZpbGUuIEV4aXRpbmcuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlbmFtZV1cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTIKK21zZ2lkICJEdW1wIFVUTVAgYW5kIFdUTVAgZmlsZXMgaW4gcmF3IGZvcm1hdC5cbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE1CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb2xsb3cgICAgICAgICBvdXRwdXQgYXBwZW5kZWQgZGF0YSBhcyB0aGUgZmlsZSBncm93c1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTYKK21zZ2lkICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgd3JpdGUgYmFjayBkdW1wZWQgZGF0YSBpbnRvIHV0bXAgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8ZmlsZT4gIHdyaXRlIHRvIGZpbGUgaW5zdGVhZCBvZiBzdGFuZGFyZCBvdXRwdXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4NAorbXNnaWQgImZvbGxvd2luZyBzdGFuZGFyZCBpbnB1dCBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIHVuZHVtcCBvZiAlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgZHVtcCBvZiAlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiY2FuJ3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZSBpbCBmaWxlIHRlbXBvcmFuZW8uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjcmVhdGUgYSBsaW5rIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIHJpbm9taW5hcmUgJXMgaW4gJXM6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IGdldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIG90dGVuZXJlIGlsIGNvbnRlc3RvIHBlciAlcyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3Qgc2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgaW1wb3N0YXJlIGlsIGNvbnRlc3RvIHBlciAlcyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjIzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5jaGFuZ2VkIgorbXNnc3RyICIlczogJXMgaW1tdXRhdG9cbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI1NAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IGxvY2siCittc2dzdHIgImltcG9zc2liaWxlIGVmZmV0dHVhcmUgaWwgZm9yayIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI4MQorIywgZnV6enkKK21zZ2lkICJubyBjaGFuZ2VzIG1hZGUiCittc2dzdHIgIiVzOiBuZXNzdW5hIG1vZGlmaWNhIGVmZmV0dHVhdGFcbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5MAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY2htb2QgZmlsZSIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYXByaXJlIGlsIGZpbGUgJyVzJyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjMwNAorbXNnaWQgIkVkaXQgdGhlIHBhc3N3b3JkIG9yIGdyb3VwIGZpbGUuXG4iCittc2dzdHIgIiIKKworIyBGSVhNRTogc2hhZG93OiBpbnZhcmlhdG8/IG9tYnJhPworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM1MAorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IGdyb3VwcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAiR3J1cHBpIHNoYWRvdyBzb25vIHVzYXRpIHN1IHF1ZXN0byBzaXN0ZW1hLlxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzUxCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgcGFzc3dvcmRzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICJQYXNzd29yZCBzaGFkb3cgc29ubyB1c2F0ZSBzdSBxdWVzdG8gc2lzdGVtYS5cbiIKKworIy4gVFJBTlNMQVRPUlM6IHRoaXMgcHJvZ3JhbSB1c2VzIGZvciB5IGFuZCBuIHJwbWF0Y2goMyksCisjLiAqIHdoaWNoIG1lYW5zIHRoZXkgY2FuIGJlIHRyYW5zbGF0ZWQuCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHlvdSBsaWtlIHRvIGVkaXQgJXMgbm93IFt5L25dPyAiCittc2dzdHIgIlZvbGV0ZSBtb2RpZmljYXJlICVzIGFkZXNzbyBbeS9uXT8iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzcyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbW9udGggYXJndW1lbnQiCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzgwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgd2VlayBhcmd1bWVudCIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogbWlzYy11dGlscy9jYWwuYzozODIKKyMsIGZ1enp5Cittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB1c2UgMS01NCIKK21zZ3N0ciAidmFsb3JlIGRlbGwnYW5ubyBub24gdmFsaWRvOiB1c2FyZSAxLTk5OTkiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZXN0YW1wIG9yIHVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDMxCisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlIgorbXNnc3RyICJWYWxvcmUgdGVzdGluZSBub24gdmFsaWRvIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQzMyBtaXNjLXV0aWxzL2NhbC5jOjQ1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWU6IHVzZSAxLSVkIgorbXNnc3RyICJ2YWxvcmUgZGVsbCdhbm5vIG5vbiB2YWxpZG86IHVzYXJlIDEtOTk5OSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MzcgbWlzYy11dGlscy9jYWwuYzo0NDUKK21zZ2lkICJpbGxlZ2FsIG1vbnRoIHZhbHVlOiB1c2UgMS0xMiIKK21zZ3N0ciAidmFsb3JlIGRlbCBtZXNlIG5vbiB2YWxpZG86IHVzYXJlIDEtMTIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICJsb2dnZXI6IG5vbWUgcHJpb3JpdMOgIHNjb25vc2NpdXRvOiAlcy5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NDggbWlzYy11dGlscy9jYWwuYzo0NTIKKyMsIGZ1enp5Cittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlIgorbXNnc3RyICJWYWxvcmUgdGVzdGluZSBub24gdmFsaWRvIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ1MAorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWU6IHVzZSBwb3NpdGl2ZSBpbnRlZ2VyIgorbXNnc3RyICJ2YWxvcmUgZGVsbCdhbm5vIG5vbiB2YWxpZG86IHVzYXJlIDEtOTk5OSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0ODIgbWlzYy11dGlscy9jYWwuYzo0OTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogeWVhciAlZCBkb2Vzbid0IGhhdmUgd2VlayAlZCIKK21zZ3N0ciAidmFsb3JlIGRlbGwnYW5ubyBub24gdmFsaWRvOiB1c2FyZSAxLTk5OTkiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6Njc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6Njg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiUwNGQiCittc2dzdHIgIiIKKworIyBGSVhNRQorIzogbWlzYy11dGlscy9jYWwuYzo2OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICUwNGQiCittc2dzdHIgIiVzICVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbW1tkYXldIG1vbnRoXSB5ZWFyXVxuIgorbXNnc3RyICJVc286IGNhbCBbLTEzc21qeVZdIFtbbWVzZV0gYW5ub11cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHRpbWVzdGFtcHxtb250aG5hbWU+XG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk3Cittc2dpZCAiRGlzcGxheSBhIGNhbGVuZGFyLCBvciBzb21lIHBhcnQgb2YgaXQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTgKK21zZ2lkICJXaXRob3V0IGFueSBhcmd1bWVudHMsIGRpc3BsYXkgdGhlIGN1cnJlbnQgbW9udGguXG4iCittc2dzdHIgIiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDEKKyMsIGZ1enp5Cittc2dpZCAiIC0xLCAtLW9uZSAgICAgICAgICAgICBzaG93IG9ubHkgYSBzaW5nbGUgbW9udGggKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDIKKyMsIGZ1enp5Cittc2dpZCAiIC0zLCAtLXRocmVlICAgICAgICAgICBzaG93IHRocmVlIG1vbnRocyBzcGFubmluZyB0aGUgZGF0ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW1vbnRocyA8bnVtPiAgICBzaG93IG51bSBtb250aHMgc3RhcnRpbmcgd2l0aCBkYXRlJ3MgbW9udGhcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA0CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zcGFuICAgICAgICAgICAgc3BhbiB0aGUgZGF0ZSB3aGVuIGRpc3BsYXlpbmcgbXVsdGlwbGUgbW9udGhzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA1Cittc2dpZCAiIC1zLCAtLXN1bmRheSAgICAgICAgICBTdW5kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDYKK21zZ2lkICIgLW0sIC0tbW9uZGF5ICAgICAgICAgIE1vbmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNworIywgZnV6enkKK21zZ2lkICIgLWosIC0tanVsaWFuICAgICAgICAgIG91dHB1dCBKdWxpYW4gZGF0ZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA4CisjLCBmdXp6eQorbXNnaWQgIiAteSwgLS15ZWFyICAgICAgICAgICAgc2hvdyB0aGUgd2hvbGUgeWVhclxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDkKKyMsIGZ1enp5Cittc2dpZCAiIC1ZLCAtLXR3ZWx2ZSAgICAgICAgICBzaG93IHRoZSBuZXh0IHR3ZWx2ZSBtb250aHNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDEwCittc2dpZCAiIC13LCAtLXdlZWtbPTxudW0+XSAgICBzaG93IFVTIG9yIElTTy04NjAxIHdlZWsgbnVtYmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAxMQorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10ge0xBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMfT08dmFsdWU+XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzozMgorIywgZnV6enkKK21zZ2lkICJGaW5kIGEgZmlsZXN5c3RlbSBieSBsYWJlbCBvciBVVUlELlxuIgorbXNnc3RyICJGb3J6YXR1cmEgY29udHJvbGxvIGZpbGVzeXN0ZW0gc3UgJXMgaW4gY29yc28uXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZXNvbHZlICclcyciCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6OTkKKyMsIGZ1enp5Cittc2dpZCAic291cmNlIGRldmljZSIKK21zZ3N0ciAiZGlzcG9zaXRpdm8gYSBibG9jY2hpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDAKK21zZ2lkICJtb3VudHBvaW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxCisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAiSW1tZXR0ZXJlIGlsIHRpcG8gZGkgZmlsZXN5c3RlbTogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAiYWxsIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMworbXNnaWQgIlZGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNAorIywgZnV6enkKK21zZ2lkICJGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICJvcHppb25pIHV0aWxpOiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA1CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gbGFiZWwiCittc2dzdHIgIkltbWV0dGVyZSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW06ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA2IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQKK21zZ2lkICJmaWxlc3lzdGVtIFVVSUQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA3CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBsYWJlbCIKK21zZ3N0ciAiTnVtZXJvIGRlbGxhIHBhcnRpemlvbmUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOSBtaXNjLXV0aWxzL2xzYmxrLmM6MTYwCittc2dpZCAibWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTAKK21zZ2lkICJhY3Rpb24gZGV0ZWN0ZWQgYnkgLS1wb2xsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMQorbXNnaWQgIm9sZCBtb3VudCBvcHRpb25zIHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTIKK21zZ2lkICJvbGQgbW91bnRwb2ludCBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEzCisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSIKK21zZ3N0ciAiSW1tZXR0ZXJlIGlsIHRpcG8gZGkgZmlsZXN5c3RlbTogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIGF2YWlsYWJsZSIKK21zZ3N0ciAiSW1tZXR0ZXJlIGlsIHRpcG8gZGkgZmlsZXN5c3RlbTogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTUKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIHVzZWQiCittc2dzdHIgIkltbWV0dGVyZSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW06ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE2CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIkltbWV0dGVyZSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW06ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE3CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gcm9vdCIKK21zZ3N0ciAiSW1tZXR0ZXJlIGlsIHRpcG8gZGkgZmlsZXN5c3RlbTogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTgKK21zZ2lkICJ0YXNrIElEIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOQorIywgZnV6enkKK21zZ2lkICJtb3VudCBJRCIKK21zZ3N0ciAibmNvdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9uYWwgbW91bnQgZmllbGRzIgorbXNnc3RyICJtb3VudDogbW91bnQgbm9uIHJpdXNjaXRvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEKKyMsIGZ1enp5Cittc2dpZCAiVkZTIHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGl6aW9uaTpcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyCittc2dpZCAiZHVtcCg4KSBwZXJpb2QgaW4gZGF5cyBbZnN0YWIgb25seV0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzCittc2dpZCAicGFzcyBudW1iZXIgb24gcGFyYWxsZWwgZnNjayg4KSBbZnN0YWIgb25seV0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFjdGlvbjogJXMiCittc2dzdHIgIiVzOiBDb21hbmRvIHNjb25vc2NpdXRvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDMKKyMsIGZ1enp5Cittc2dpZCAibW91bnQiCittc2dzdHIgIm5jb3VudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ2CisjLCBmdXp6eQorbXNnaWQgInVtb3VudCIKK21zZ3N0ciAibmNvdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDkKKyMsIGZ1enp5Cittc2dpZCAicmVtb3VudCIKK21zZ3N0ciAibGV0dHVyYSBkaSAlY1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTIKKyMsIGZ1enp5Cittc2dpZCAibW92ZSIKK21zZ3N0ciAiIFJpbXVvdmVyZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODEyIG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNzUgc3lzLXV0aWxzL2VqZWN0LmM6NzE5CisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NjkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFibGUiCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODM5IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCByZWFkICVzIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgbGVnZ2VyZSAlcy5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxNSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDgxCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6OTQgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ4MgorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE4NyBzeXMtdXRpbHMvbW91bnQuYzoxMzQgc3lzLXV0aWxzL21vdW50LmM6MTgyCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjU2IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTU1IHN5cy11dGlscy9zd2Fwb24uYzoyNDQKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNzQgc3lzLXV0aWxzL3N3YXBvbi5jOjczMyBzeXMtdXRpbHMvdW1vdW50LmM6Mjc0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGl0ZXJhdG9yIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFiZGlmZiIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYWxsb2NhcmUgaWwgYnVmZmVyLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTE1CisjLCBmdXp6eQorbXNnaWQgInBvbGwoKSBmYWlsZWQiCittc2dzdHIgIm1hbGxvYygpIG5vbiByaXVzY2l0YSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IHwgPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2UgPGRldmljZT5dIFstLXRhcmdldCA8cGF0aD4gfCAtLW1vdW50cG9pbnQgPGRpcj5dXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5NgorIywgZnV6enkKK21zZ2lkICJGaW5kIGEgKG1vdW50ZWQpIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkltbWV0dGVyZSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW06ICIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk5CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1mc3RhYiAgICAgICAgICAgIHNlYXJjaCBpbiBzdGF0aWMgdGFibGUgb2YgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW10YWIgICAgICAgICAgICAgc2VhcmNoIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAxCittc2dpZCAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIHNlYXJjaCBpbiBrZXJuZWwgdGFibGUgb2YgbW91bnRlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXN5c3RlbXMgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcG9sbFs9PGxpc3Q+XSAgICBtb25pdG9yIGNoYW5nZXMgaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgICBsICAgZWxlbmNvIGRlaSB0aXBpIGRpIGZpbGVzeXN0ZW0gY29ub3NjaXV0aSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNQorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxudW0+ICAgIHVwcGVyIGxpbWl0IGluIG1pbGxpc2Vjb25kcyB0aGF0IC0tcG9sbCB3aWxsIGJsb2NrXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOAorIywgZnV6enkKK21zZ2lkICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA5CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBBU0NJSSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMAorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTEKK21zZ2lkICIgLUMsIC0tbm9jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgd2hlbiBjb21wYXJpbmcgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEyCittc2dpZCAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTMKKyMsIGZ1enp5Cittc2dpZCAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGF0ZSB0aGUgb3V0cHV0IG9mIGRmKDEpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE0Cittc2dpZCAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE1Cittc2dpZCAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNworbXNnaWQgIiAtRiwgLS10YWItZmlsZSA8cGF0aD4gIGFsdGVybmF0aXZlIGZpbGUgZm9yIC1zLCAtbSBvciAtayBvcHRpb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBwcmludCB0aGUgZmlyc3QgZm91bmQgZmlsZXN5c3RlbSBvbmx5XG4iCittc2dzdHIgIiAgIGwgICBlbGVuY28gZGVpIHRpcGkgZGkgZmlsZXN5c3RlbSBjb25vc2NpdXRpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE5CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVydCB0aGUgc2Vuc2Ugb2YgbWF0Y2hpbmdcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDcgc3lzLXV0aWxzL2xzbnMuYzo2MTkKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIxIHN5cy11dGlscy9sc25zLmM6NjIwCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIyCittc2dpZCAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNlIGFsdGVybmF0aXZlIG5hbWVzcGFjZSAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIGZpbGUpXG4iCittc2dzdHIgIiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGNvbHVtbiBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNAorbXNnaWQgIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjUKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgdGhlIG91dHB1dCBjb2x1bW5zIHRvIGJlIHNob3duXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1vcHRzdHJpbmcgICAgICBPcHppb25pIGJyZXZpIGRhIHJpY29ub3NjZXJlXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjYKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjcKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgcHJpbnQgYWxsIHN1Ym1vdW50cyBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI4CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5Cittc2dpZCAiIgorIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzEKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRhcmdldCA8cGF0aD4gICAgdGhlIHBhdGggdG8gdGhlIGZpbGVzeXN0ZW0gdG8gdXNlXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1vcHRzdHJpbmcgICAgICBPcHppb25pIGJyZXZpIGRhIHJpY29ub3NjZXJlXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzIKKyMsIGZ1enp5Cittc2dpZCAiIC1NLCAtLW1vdW50cG9pbnQgPGRpcj4gdGhlIG1vdW50cG9pbnQgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1vcHRzdHJpbmcgICAgICBPcHppb25pIGJyZXZpIGRhIHJpY29ub3NjZXJlXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzMKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBGUyB0eXBlc1xuIgorbXNnc3RyICIgICBsICAgZWxlbmNvIGRlaSB0aXBpIGRpIGZpbGVzeXN0ZW0gY29ub3NjaXV0aSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNAorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdW5pcSAgICAgICAgICAgICBpZ25vcmUgZmlsZXN5c3RlbXMgd2l0aCBkdXBsaWNhdGUgdGFyZ2V0XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM1IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMyBzeXMtdXRpbHMvbHNucy5jOjYyNQorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNgorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzkKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXZlcmlmeSAgICAgICAgICAgdmVyaWZ5IG1vdW50IHRhYmxlIGNvbnRlbnQgKGRlZmF1bHQgaXMgZnN0YWIpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IG1vcmUgZGV0YWlsc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGRpcmVjdGlvbiAnJXMnIgorbXNnc3RyICJOZXNzdW5hIGRpcmVjdG9yeSAlcyFcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTQ0MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFRJRCBhcmd1bWVudCIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbzogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUwOQorbXNnaWQgIi0tcG9sbCBhY2NlcHRzIG9ubHkgb25lIGZpbGUsIGJ1dCBtb3JlIHNwZWNpZmllZCBieSAtLXRhYi1maWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MTMKK21zZ2lkICJvcHRpb25zIC0tdGFyZ2V0IGFuZCAtLXNvdXJjZSBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggY29tbWFuZCBsaW5lIGVsZW1lbnQgdGhhdCBpcyBub3QgYW4gb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1NjIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgY2FjaGUiCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTYwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjb2x1bW4gaXMgcmVxdWVzdGVkLCBidXQgLS1wb2xsIGlzIG5vdCBlbmFibGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTYKKyMsIGZ1enp5Cittc2dpZCAidGFyZ2V0IHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAiU2kgw6ggc3BlY2lmaWNhdG8gdW4gbnVtZXJvIGRpIGNpbGluZHJpIHN1cGVyaW9yZSBhIHF1ZWxsaSBjb250ZW51dGkgc3UgZGlzY28iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgb3JkZXI6ICVzIHNwZWNpZmllZCBiZWZvcmUgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzMworbXNnaWQgInVuZGVmaW5lZCB0YXJnZXQgKGZzX2ZpbGUpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWNhbm9uaWNhbCB0YXJnZXQgcGF0aCAocmVhbDogJXMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCB0YXJnZXQ6ICVtIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHRhcmdldDogJW0iCittc2dzdHIgIkltcG9zc2liaWxlIGxlZ2dlcmUgJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MQorIywgZnV6enkKK21zZ2lkICJ0YXJnZXQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJsJ2lub2RlIHJhZGljZSBub24gw6ggdW5hIGRpcmVjdG9yeSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MworbXNnaWQgInRhcmdldCBleGlzdHMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHNvdXJjZTogJXM9JXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGU6ICVzPSVzIgorbXNnc3RyICIoRmlsZSBzdWNjZXNzaXZvOiAlcykiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzPSVzIHRyYW5zbGF0ZWQgdG8gJXMiCittc2dzdHIgIklsIHNldHRvcmUgJWQgw6ggZ2nDoCBhbGxvY2F0b1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTkwCittc2dpZCAidW5kZWZpbmVkIHNvdXJjZSAoZnNfc3BlYykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc291cmNlIHRhZzogJXMiCittc2dzdHIgIiVzOiBhcmdvbWVudG8gc2Nvbm9zY2l1dG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIHNvdXJjZSAocHNldWRvL25ldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgc291cmNlOiAlczogJW0iCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAnJXMnIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjEyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1iaW5kIG1vdW50IHNvdXJjZSAlcyBpcyBhIGRpcmVjdG9yeSBvciByZWd1bGFyIGZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic291cmNlICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXM6IG5vbiBzaSB0cmF0dGEgZGkgdW4gZGlzcG9zaXRpdm8gYSBibG9jY2hpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBleGlzdHMiCittc2dzdHIgImRpc3Bvc2l0aXZvIGEgYmxvY2NoaSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXNlcnNwYWNlIG9wdGlvbnM6ICVzIgorbXNnc3RyICJvcHppb25pIHBlcmljb2xvc2U6IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzd2FwYXJlYSBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIiVzOiBhcmdvbWVudG8gc2Nvbm9zY2l1dG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNjAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN3YXBhcmVhIHByaW9yaXR5IG9wdGlvbiIKK21zZ3N0ciAiU2NyaXR0dXJhIGRlbGxhIHBhcnRpemlvbmUgc3UgJXMgbm9uIHJpdXNjaXRhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIEZTIHR5cGUgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MDYKK21zZ2lkICJcIm5vbmVcIiBGUyB0eXBlIGlzIHJlY29tbWVuZGVkIGZvciBiaW5kIG9yIG1vdmUgb3ByYXRpb25zIG9ubHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyMCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIxCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBkZXRlY3Qgb24tZGlzayBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIm1vdW50OiB0aXBvIGRpIGZpbGVzeXN0ZW0gJyVzJyBzY29ub3NjaXV0byIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBtYXRjaCB3aXRoIG9uLWRpc2sgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJvbi1kaXNrICVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyB0eXBlIGlzICVzIgorbXNnc3RyICJ0aXBvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY29tbWVuZGVkIHJvb3QgRlMgcGFzc25vIGlzIDEgKGN1cnJlbnQgaXMgJWQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIHBhcnNlIGVycm9yIgorbXNnaWRfcGx1cmFsICIlZCBwYXJzZSBlcnJvcnMiCittc2dzdHJbMF0gImVycm9yZSBkaSBwb3NpemlvbmFtZW50byIKK21zZ3N0clsxXSAiZXJyb3JlIGRpIHBvc2l6aW9uYW1lbnRvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsICVkIGVycm9yIgorbXNnaWRfcGx1cmFsICIsICVkIGVycm9ycyIKK21zZ3N0clswXSAiLCBlcnJvcmUiCittc2dzdHJbMV0gIiwgZXJyb3JlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgd2FybmluZyIKK21zZ2lkX3BsdXJhbCAiLCAlZCB3YXJuaW5ncyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzcywgbm8gZXJyb3JzIG9yIHdhcm5pbmdzIGRldGVjdGVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzoyNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorIiVzOiAlc1xuIgorIlByb3ZhcmUgXCIlcyAtLWhlbHBcIiBwZXIgdWx0ZXJpb3JpIGluZm9ybWF6aW9uaS5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMDQKK21zZ2lkICJlbXB0eSBsb25nIG9wdGlvbiBhZnRlciAtbCBvciAtLWxvbmcgYXJndW1lbnQiCittc2dzdHIgIm9wemlvbmUgbHVuZ2EgdnVvdGEgZG9wbyBwYXJhbWV0cm8gLWwgbyAtLWxvbmciCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzI1Cittc2dpZCAidW5rbm93biBzaGVsbCBhZnRlciAtcyBvciAtLXNoZWxsIGFyZ3VtZW50IgorbXNnc3RyICJzaGVsbCBzY29ub3NjaXV0YSBkb3BvIHBhcmFtZXRybyAtcyBvIC0tc2hlbGwiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLV0gPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIC1vfC0tb3B0aW9ucyA8b3B0c3RyaW5nPiBbb3B0aW9uc10gWy0tXSA8cGFyYW1ldGVycz5cbiIKK21zZ3N0ciAiICAgICAgZ2V0b3B0IFtvcHppb25pXSAtb3wtLW9wdGlvbnMgb3B0c3RyaW5nIFtvcHppb25pXSBbLS1dXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzM4CisjLCBmdXp6eQorbXNnaWQgIlBhcnNlIGNvbW1hbmQgb3B0aW9ucy5cbiIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIGFsbG93IGxvbmcgb3B0aW9ucyBzdGFydGluZyB3aXRoIHNpbmdsZSAtXG4iCittc2dzdHIgIiAgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICBDb25zZW50ZSBsZSBvcHppb25pIGx1bmdoZSBjaGUgaW5pemlhbm8gY29uIHVuIHNpbmdvbG8gLVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiAgdGhlIGxvbmcgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAgLWwsIC0tbG9uZ29wdGlvbnM9bG9uZ29wdHMgICBPcHppb25pIGx1bmdoZSBkYSByaWNvbm9zY2VyZVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICAgdGhlIG5hbWUgdW5kZXIgd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZFxuIgorbXNnc3RyICIgIC1uLCAtLW5hbWU9cHJvZ25hbWUgICAgICAgICAgSWwgbm9tZSBjb24gaWwgcXVhbGUgdmVuZ29ubyByaXBvcnRhdGkgZ2xpIGVycm9yaVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICAgdGhlIHNob3J0IG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9b3B0c3RyaW5nICAgICAgT3B6aW9uaSBicmV2aSBkYSByaWNvbm9zY2VyZVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NQorIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBlcnJvciByZXBvcnRpbmcgYnkgZ2V0b3B0KDMpXG4iCittc2dzdHIgIiAgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICBEaXNhdHRpdmEgZXJyb3JlIHJpcG9ydGF0byBkYSBnZXRvcHQoMylcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDYKKyMsIGZ1enp5Cittc2dpZCAiIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgIG5vIG5vcm1hbCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgc2V0IHF1b3RpbmcgY29udmVudGlvbnMgdG8gdGhvc2Ugb2YgPHNoZWxsPlxuIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsPXNoZWxsICAgICAgICAgICAgSW1wb3N0YSBsYSBzaGVsbCBcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDgKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIHRlc3QgZm9yIGdldG9wdCgxKSB2ZXJzaW9uXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICBQcm92YSBkZWxsYSB2ZXJzaW9uZSBnZXRvcHQoMSlcbiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0OQorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdW5xdW90ZWQgICAgICAgICAgICAgICAgZG8gbm90IHF1b3RlIHRoZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6Mzk5IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDU5Cittc2dpZCAibWlzc2luZyBvcHRzdHJpbmcgYXJndW1lbnQiCittc2dzdHIgImFyZ29tZW50byBvcHRzdHJpbmcgbWFuY2FudGUiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDU0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3IsIGNvbnRhY3QgdGhlIGF1dGhvci4iCittc2dzdHIgImVycm9yZSBpbnRlcm5vLCBjb250YXR0YXJlIGwnYXV0b3JlLiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbCAlczsgdmFsaWQgc2lnbmFsczoiCittc2dzdHIgIiVzOiBzZWduYWxlIHNjb25vc2NpdXRvICVzOyBzZWduYWxpIHZhbGlkaTpcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwaWQ+fDxuYW1lPi4uLlxuIgorbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDUKK21zZ2lkICJGb3JjaWJseSB0ZXJtaW5hdGUgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwOAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkbyBub3QgcmVzdHJpY3QgdGhlIG5hbWUtdG8tcGlkIGNvbnZlcnNpb24gdG8gcHJvY2Vzc2VzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIHRoZSBzYW1lIHVpZCBhcyB0aGUgcHJlc2VudCBwcm9jZXNzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzEwCittc2dpZCAiIC1zLCAtLXNpZ25hbCA8c2lnbmFsPiAgc2VuZCB0aGlzIDxzaWduYWw+IGluc3RlYWQgb2YgU0lHVEVSTVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMgorbXNnaWQgIiAtcSwgLS1xdWV1ZSA8dmFsdWU+ICAgIHVzZSBzaWdxdWV1ZSgyKSwgbm90IGtpbGwoMiksIGFuZCBwYXNzIDx2YWx1ZT4gYXMgZGF0YVxuIgorbXNnc3RyICIiCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogbWlzYy11dGlscy9raWxsLmM6MzE0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICAgIHByaW50IHBpZHMgd2l0aG91dCBzaWduYWxpbmcgdGhlbVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE1Cittc2dpZCAiIC1sLCAtLWxpc3RbPTxzaWduYWw+XSAgbGlzdCBzaWduYWwgbmFtZXMsIG9yIGNvbnZlcnQgYSBzaWduYWwgbnVtYmVyIHRvIGEgbmFtZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNgorbXNnaWQgIiAtTCwgLS10YWJsZSAgICAgICAgICAgIGxpc3Qgc2lnbmFsIG5hbWVzIGFuZCBudW1iZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IHBpZHMgdGhhdCB3aWxsIGJlIHNpZ25hbGVkXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM2NyBtaXNjLXV0aWxzL2tpbGwuYzozNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsOiAlcyIKK21zZ3N0ciAiJXM6IHNlZ25hbGUgc2Nvbm9zY2l1dG8gJXNcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6Mzg3IG1pc2MtdXRpbHMva2lsbC5jOjM5MCBtaXNjLXV0aWxzL2tpbGwuYzozOTkKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQxMSBtaXNjLXV0aWxzL2tpbGwuYzo0MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIlczogTGUgb3B6aW9uaSAtLWFkanVzdCBlIC1ub2FkamZpbGUgc2kgZXNjbHVkb25vIHZpY2VuZGV2b2xtZW50ZS4gU29ubyBzdGF0ZSBzcGVjaWZpY2F0ZSBlbnRyYW1iZS5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6Mzk2IG1pc2MtdXRpbHMva2lsbC5jOjQzOCBtaXNjLXV0aWxzL3JlbmFtZS5jOjE3NAorIzogc3lzLXV0aWxzL2lwY3JtLmM6MTYwIHRlcm0tdXRpbHMvYWdldHR5LmM6Nzg5IHRlcm0tdXRpbHMvYWdldHR5LmM6Nzk4CisjLCBmdXp6eQorbXNnaWQgIm5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJBcmdvbWVudGkgaW5zdWZmaWNpZW50aSIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXMgcmljaGllZGUgdW4gYXJnb21lbnRvXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQxNCBzeXMtdXRpbHMvZWplY3QuYzoyMDUgc3lzLXV0aWxzL2VqZWN0LmM6MjMwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY4OSBzeXMtdXRpbHMvdHVuZWxwLmM6MTYxIHN5cy11dGlscy90dW5lbHAuYzoxNjgKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxNzUgc3lzLXV0aWxzL3R1bmVscC5jOjE4MiBzeXMtdXRpbHMvdHVuZWxwLmM6MTg5CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTk1IHN5cy11dGlscy90dW5lbHAuYzoxOTkgc3lzLXV0aWxzL3R1bmVscC5jOjIwNgorIzogc3lzLXV0aWxzL3R1bmVscC5jOjIzMSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTMgdGVybS11dGlscy9zZXR0ZXJtLmM6MjE2CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzUgdGVybS11dGlscy9zZXR0ZXJtLmM6MjM3IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3MgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mjc0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5MSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTgKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMwMCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTIgdGVybS11dGlscy9zZXR0ZXJtLmM6MzE0CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjMgdGVybS11dGlscy9zZXR0ZXJtLmM6MzMxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0NgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM2MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM3MyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1MzUgdGVybS11dGlscy9zZXR0ZXJtLmM6NTQwCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDUgdGVybS11dGlscy9zZXR0ZXJtLmM6NTUwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU3NAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTc5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODkKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTkgdGVybS11dGlscy9zZXR0ZXJtLmM6NjA3CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2NDAKKyMsIGZ1enp5Cittc2dpZCAiYXJndW1lbnQgZXJyb3IiCittc2dzdHIgIiVzOiBhcmdvbWVudG8gZXJyYXRvLCB1c29cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNpZ25hbCBuYW1lIG9yIG51bWJlcjogJXMiCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQ0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgJWQgdG8gcGlkICVkXG4iCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSByaW5vbWluYXJlICVzIGluICVzOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0NjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIHJpbm9taW5hcmUgJXMgaW4gJXM6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjUwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgcHJvY2VzcyBcIiVzXCIiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSB0cm92YXJlIGlsIHByb2Nlc3NvIFwiJXNcIlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSBuYW1lOiAlcyIKK21zZ3N0ciAibG9nZ2VyOiBub21lIGZ1bnppb25hbGl0w6Agc2Nvbm9zY2l1dG86ICVzLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAibG9nZ2VyOiBub21lIHByaW9yaXTDoCBzY29ub3NjaXV0bzogJXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVubG9nICVzOiBwYXRobmFtZSB0b28gbG9uZyIKK21zZ3N0ciAiaWwgbm9tZSBkaSBsb2dpbiDDqCB0cm9wcG8gbHVuZ28uXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgJXMiCittc2dzdHIgIkRpbWVuc2lvbmkgYmxvY2NvOiAlZFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgbmFtZSAlcyBwb3J0ICVzOiAlcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjb25uZWN0IHRvICVzIHBvcnQgJXMiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heGltdW0gaW5wdXQgbGluZXMgKCVkKSBleGNlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjQ4NworIywgZnV6enkKK21zZ2lkICJzZW5kIG1lc3NhZ2UgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBub24gcml1c2NpdG8iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTU4CisjLCBjLWZvcm1hdAorbXNnaWQgInN0cnVjdHVyZWQgZGF0YSBJRCAnJXMnIGlzIG5vdCB1bmlxdWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1zZC1pZCB3YXMgbm90IHNwZWNpZmllZCBmb3IgLS1zZC1wYXJhbSAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc1NAorIywgZnV6enkKK21zZ2lkICJsb2NhbHRpbWUoKSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgbm9uIHJpdXNjaXRhXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJob3N0bmFtZSAnJXMnIGlzIHRvbyBsb25nIgorbXNnc3RyICJpbCBjYW1wbyDDqCB0cm9wcG8gbHVuZ28uXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0YWcgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiaWwgY2FtcG8gw6ggdHJvcHBvIGx1bmdvLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjgzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdW5rbm93biBvcHRpb24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICIlczogYXJnb21lbnRvIHNjb25vc2NpdXRvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjg0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXM6IHVzaW5nIGF1dG9tYXRpYyBlcnJvcnMiCittc2dzdHIgImlkIG5vbiB2YWxpZG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6OTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bWVzc2FnZT5dXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6OTk3CisjLCBmdXp6eQorbXNnaWQgIkVudGVyIG1lc3NhZ2VzIGludG8gdGhlIHN5c3RlbSBsb2cuXG4iCittc2dzdHIgIkltcG9zc2liaWxlIGltcG9zdGFyZSBpbCBjbG9jayBkaSBzaXN0ZW1hLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1pICAgICAgICAgICAgICAgICAgICAgICBsb2cgdGhlIGxvZ2dlciBjb21tYW5kJ3MgUElEXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAxCittc2dpZCAiICAgICAtLWlkWz08aWQ+XSAgICAgICAgICBsb2cgdGhlIGdpdmVuIDxpZD4sIG9yIG90aGVyd2lzZSB0aGUgUElEXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgICAgbG9nIHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAzCisjLCBmdXp6eQorbXNnaWQgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgZG8gbm90IGxvZyBlbXB0eSBsaW5lcyB3aGVuIHByb2Nlc3NpbmcgZmlsZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5vbiBzY3JpdmUgcmVhbG1lbnRlIHN1bCBkaXNjbyIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDQKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgd3JpdGUgdGhlIGxvZ1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA1Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBtYXJrIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA2Cittc2dpZCAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICB1c2UgcmZjNjU4NyBvY3RldCBjb3VudGluZ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNworbXNnaWQgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAgbG9vayBmb3IgYSBwcmVmaXggb24gZXZlcnkgbGluZSByZWFkIGZyb20gc3RkaW5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDgKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICBvdXRwdXQgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvciBhcyB3ZWxsXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwOQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgIG1heGltdW0gc2l6ZSBmb3IgYSBzaW5nbGUgbWVzc2FnZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTAKK21zZ2lkICIgLXQsIC0tdGFnIDx0YWc+ICAgICAgICAgIG1hcmsgZXZlcnkgbGluZSB3aXRoIHRoaXMgdGFnXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDExCittc2dpZCAiIC1uLCAtLXNlcnZlciA8bmFtZT4gICAgICB3cml0ZSB0byB0aGlzIHJlbW90ZSBzeXNsb2cgc2VydmVyXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEyCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wb3J0IDxwb3J0PiAgICAgICAgdXNlIHRoaXMgcG9ydCBmb3IgVURQIG9yIFRDUCBjb25uZWN0aW9uXG4iCittc2dzdHIgIiAgLXMsIC0tc2hlbGw9c2hlbGwgICAgICAgICAgICBJbXBvc3RhIGxhIHNoZWxsIFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTMKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICB1c2UgVENQIG9ubHlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE0CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIHVzZSB0aGUgb2Jzb2xldGUgQlNEIHN5c2xvZyBwcm90b2NvbFxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgUHJvdmEgZGVsbGEgdmVyc2lvbmUgZ2V0b3B0KDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNgorbXNnaWQgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIHVzZSB0aGUgc3lzbG9nIHByb3RvY29sICh0aGUgZGVmYXVsdCBmb3IgcmVtb3RlKTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNuaXA+IGNhbiBiZSBub3RpbWUsIG9yIG5vdHEsIGFuZC9vciBub2hvc3RcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTgKK21zZ2lkICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIElEXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE5Cittc2dpZCAiICAgICAtLXNkLXBhcmFtIDxkYXRhPiAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBuYW1lPXZhbHVlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDIwCittc2dpZCAiICAgICAtLW1zZ2lkIDxtc2dpZD4gICAgICBzZXQgcmZjNTQyNCBtZXNzYWdlIGlkIGZpZWxkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDIxCittc2dpZCAiIC11LCAtLXNvY2tldCA8c29ja2V0PiAgICB3cml0ZSB0byB0aGlzIFVuaXggc29ja2V0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDIyCittc2dpZCAiIgorIiAgICAgLS1zb2NrZXQtZXJyb3JzWz08b258b2ZmfGF1dG8+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQgY29ubmVjdGlvbiBlcnJvcnMgd2hlbiB1c2luZyBVbml4IHNvY2tldHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjUKK21zZ2lkICIgICAgIC0tam91cm5hbGRbPTxmaWxlPl0gIHdyaXRlIGpvdXJuYWxkIGVudHJ5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmaWxlICVzIgorbXNnc3RyICIoRmlsZSBzdWNjZXNzaXZvOiAlcykiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTEyNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgaWQiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE0NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWVzc2FnZSBzaXplIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODAKK21zZ2lkICItLW1zZ2lkIGNhbm5vdCBjb250YWluIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgSUQ6ICclcyciCittc2dzdHIgImlkIG5vbiB2YWxpZG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICJ2YWxvcmUgZGkgdGltZW91dCBub24gdmFsaWRvOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjE4Cittc2dpZCAiLS1maWxlIDxmaWxlPiBhbmQgPG1lc3NhZ2U+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIG1lc3NhZ2UgaXMgaWdub3JlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMjUKK21zZ2lkICJqb3VybmFsZCBlbnRyeSBjb3VsZCBub3QgYmUgd3JpdHRlbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHN0cmluZz4gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzU4Cittc2dpZCAiRGlzcGxheSBsaW5lcyBiZWdpbm5pbmcgd2l0aCBhIHNwZWNpZmllZCBzdHJpbmcuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYxCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgdXNlIHRoZSBhbHRlcm5hdGl2ZSBkaWN0aW9uYXJ5XG4iCittc2dzdHIgIiAgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICBDb25zZW50ZSBsZSBvcHppb25pIGx1bmdoZSBjaGUgaW5pemlhbm8gY29uIHVuIHNpbmdvbG8gLVxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjIKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBjb21wYXJlIG9ubHkgYmxhbmtzIGFuZCBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MworIywgZnV6enkKK21zZ2lkICIgLWYsIC0taWdub3JlLWNhc2UgICAgICAgIGlnbm9yZSBjYXNlIGRpZmZlcmVuY2VzIHdoZW4gY29tcGFyaW5nXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2NAorbXNnaWQgIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgZGVmaW5lIHRoZSBzdHJpbmctdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NworbXNnaWQgImRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTgKK21zZ2lkICJpbnRlcm5hbCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OQorbXNnaWQgImludGVybmFsIHBhcmVudCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MiBzeXMtdXRpbHMvenJhbWN0bC5jOjg0Cittc2dpZCAid2hlcmUgdGhlIGRldmljZSBpcyBtb3VudGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMKK21zZ2lkICJmaWxlc3lzdGVtIExBQkVMIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIHR5cGUgVVVJRCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpemlvbmk6XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjcKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIExBQkVMIgorbXNnc3RyICJOdW1lcm8gZGVsbGEgcGFydGl6aW9uZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MQorIywgZnV6enkKK21zZ2lkICJyZWFkLWFoZWFkIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgInN0YXQgZGVsIHBlcmNvcnNvIG5vbiByaXVzY2l0b1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcyIHN5cy11dGlscy9sb3NldHVwLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAiaW1wb3N0YSBzb2xhIGxldHR1cmEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAicmVtb3ZhYmxlIGRldmljZSIKK21zZ3N0ciAiIHJpbW92aWJpbGUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzQKK21zZ2lkICJyZW1vdmFibGUgb3IgaG90cGx1ZyBkZXZpY2UgKHVzYiwgcGNtY2lhLCAuLi4pIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzUKK21zZ2lkICJyb3RhdGlvbmFsIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc2Cittc2dpZCAiYWRkcyByYW5kb21uZXNzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzcKK21zZ2lkICJkZXZpY2UgaWRlbnRpZmllciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc4Cittc2dpZCAiZGlzayBzZXJpYWwgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzkKK21zZ2lkICJzaXplIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MAorIywgZnV6enkKK21zZ2lkICJzdGF0ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJzdGF0IGRlbCBwZXJjb3JzbyBub24gcml1c2NpdG9cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MgorbXNnaWQgImdyb3VwIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MworbXNnaWQgImRldmljZSBub2RlIHBlcm1pc3Npb25zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODQKKyMsIGZ1enp5Cittc2dpZCAiYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAiZGltZW5zaW9uZSBpbm9kZSBub24gY29ycmV0dGEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODUKK21zZ2lkICJtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODYKK21zZ2lkICJvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAicGh5c2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgInZpc3VhbGl6emEgbGEgZGltZW5zaW9uZSBkZWwgc2V0dG9yZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OAorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJ2aXN1YWxpenphIGxhIGRpbWVuc2lvbmUgZGVsIHNldHRvcmUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODkKK21zZ2lkICJJL08gc2NoZWR1bGVyIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MAorbXNnaWQgInJlcXVlc3QgcXVldWUgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkxCittc2dpZCAiZGV2aWNlIHR5cGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MgorIywgZnV6enkKK21zZ2lkICJkaXNjYXJkIGFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgImRpbWVuc2lvbmUgaW5vZGUgbm9uIGNvcnJldHRhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkzCittc2dpZCAiZGlzY2FyZCBncmFudWxhcml0eSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk0Cittc2dpZCAiZGlzY2FyZCBtYXggYnl0ZXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NQorbXNnaWQgImRpc2NhcmQgemVyb2VzIGRhdGEiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NgorbXNnaWQgIndyaXRlIHNhbWUgbWF4IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTcKKyMsIGZ1enp5Cittc2dpZCAidW5pcXVlIHN0b3JhZ2UgaWRlbnRpZmllciIKK21zZ3N0ciAiICAgaSAgIGNhbWJpYSBsJ2lkZW50aWZpY2F0aXZvIGRlbCBkaXNjbyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OAorbXNnaWQgIkhvc3Q6Q2hhbm5lbDpUYXJnZXQ6THVuIGZvciBTQ1NJIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTkKK21zZ2lkICJkZXZpY2UgdHJhbnNwb3J0IHR5cGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMAorbXNnaWQgImRlLWR1cGxpY2F0ZWQgY2hhaW4gb2Ygc3Vic3lzdGVtcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAxCisjLCBmdXp6eQorbXNnaWQgImRldmljZSByZXZpc2lvbiIKK21zZ3N0ciAidmVyc2lvbmUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDIKK21zZ2lkICJkZXZpY2UgdmVuZG9yIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxMjc2Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGV2aWNlIGRpcmVjdG9yeSBpbiBzeXNmcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjb21wb3NlIHN5c2ZzIHBhdGgiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgbGluayIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN5c2ZzIG5hbWUiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB3aG9sZS1kaXNrIGRldmljZSBudW1iZXIiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTUxIG1pc2MtdXRpbHMvbHNibGsuYzoxNTUzIG1pc2MtdXRpbHMvbHNibGsuYzoxNTc4CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxpc3QgJyVzJyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgZXhjbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTg1CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGluY2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxNiBzeXMtdXRpbHMvd2RjdGwuYzoxNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MTkKKyMsIGZ1enp5Cittc2dpZCAiTGlzdCBpbmZvcm1hdGlvbiBhYm91dCBibG9jayBkZXZpY2VzLlxuIgorbXNnc3RyICIlczogbm9uIHNpIHRyYXR0YSBkaSB1biBkaXNwb3NpdGl2byBhIGJsb2NjaGlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjIKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjQKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLW5vZGVwcyAgICAgICAgIGRvbid0IHByaW50IHNsYXZlcyBvciBob2xkZXJzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBub24gc2NyaXZlIHJlYWxtZW50ZSBzdWwgZGlzY28iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI1Cittc2dpZCAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHByaW50IGRpc2NhcmQgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjYKK21zZ2lkICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorbXNnc3RyICIiCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjcKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZzICAgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyOAorIywgZnV6enkKK21zZ2lkICIgLWksIC0tYXNjaWkgICAgICAgICAgdXNlIGFzY2lpIGNoYXJhY3RlcnMgb25seVxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgUHJvdmEgZGVsbGEgdmVyc2lvbmUgZ2V0b3B0KDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI5Cittc2dpZCAiIC1JLCAtLWluY2x1ZGUgPGxpc3Q+IHNob3cgb25seSBkZXZpY2VzIHdpdGggc3BlY2lmaWVkIG1ham9yIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMAorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMyCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1wZXJtcyAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMworbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM0Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzUKKyMsIGZ1enp5Cittc2dpZCAiIC1PLCAtLW91dHB1dC1hbGwgICAgIG91dHB1dCBhbGwgY29sdW1uc1xuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9b3B0c3RyaW5nICAgICAgT3B6aW9uaSBicmV2aSBkYSByaWNvbm9zY2VyZVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGF0aHMgICAgICAgICAgcHJpbnQgY29tcGxldGUgZGV2aWNlIHBhdGhcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzOQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDAKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNjc2kgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IFNDU0kgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MQorbXNnaWQgIiAtdCwgLS10b3BvbG9neSAgICAgICBvdXRwdXQgaW5mbyBhYm91dCB0b3BvbG9neVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQyCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1zb3J0IDxjb2x1bW4+ICBzb3J0IG91dHB1dCBieSA8Y29sdW1uPlxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9b3B0c3RyaW5nICAgICAgT3B6aW9uaSBicmV2aSBkYSByaWNvbm9zY2VyZVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NyBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTkgc3lzLXV0aWxzL2xzbnMuYzo2MzIKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTk2IHN5cy11dGlscy96cmFtY3RsLmM6NTQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLW91dHB1dCk6XG4iCittc2dzdHIgIkNvbWFuZGkgZGlzcG9uaWJpbGk6XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWNjZXNzIHN5c2ZzIGRpcmVjdG9yeTogJXMiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjczCittc2dpZCAiY29tbWFuZCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc0Cittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzUKK21zZ2lkICJraW5kIG9mIGxvY2s6IEZMX0ZMT0NLIG9yIEZMX1BPU0lYLiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NgorIywgZnV6enkKK21zZ2lkICJzaXplIG9mIHRoZSBsb2NrIgorbXNnc3RyICJzdGF0IGRlbCBwZXJjb3JzbyBub24gcml1c2NpdG9cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAibG9jayBhY2Nlc3MgbW9kZSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlICVzIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OAorbXNnaWQgIm1hbmRhdG9yeSBzdGF0ZSBvZiB0aGUgbG9jazogMCAobm9uZSksIDEgKHNldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzkKK21zZ2lkICJyZWxhdGl2ZSBieXRlIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MAorbXNnaWQgImVuZGluZyBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAicGF0aCBvZiB0aGUgbG9ja2VkIGZpbGUiCittc2dzdHIgIkltcG9zc2liaWxlIGFwcmlyZSBpbCBmaWxlICclcyciCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgyCittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGJsb2NraW5nIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI1OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSUQiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4MSBzeXMtdXRpbHMvbnNlbnRlci5jOjIzMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGlkIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODQKKyMsIGZ1enp5Cittc2dpZCAiKHVua25vd24pIgorbXNnc3RyICJzY29ub3NjaXV0byIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjkzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGFydCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzAwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbmQiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNAorIywgZnV6enkKK21zZ2lkICJMaXN0IGxvY2FsIHN5c3RlbSBsb2Nrcy5cbiIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgaW1wb3N0YXJlIGlsIGNsb2NrIGRpIHNpc3RlbWEuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwOAorbXNnaWQgIiAtaSwgLS1ub2luYWNjZXNzaWJsZSAgIGlnbm9yZSBsb2NrcyB3aXRob3V0IHJlYWQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwOSBzeXMtdXRpbHMvbHNucy5jOjYyMQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTEwIHN5cy11dGlscy9sc25zLmM6NjIyCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW9wdHN0cmluZyAgICAgIE9wemlvbmkgYnJldmkgZGEgcmljb25vc2NlcmVcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTExCittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgZGlzcGxheSBvbmx5IGxvY2tzIGhlbGQgYnkgdGhpcyBwcm9jZXNzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTEyIHN5cy11dGlscy9sc25zLmM6NjI0CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTcwIHNjaGVkdXRpbHMvY2hydC5jOjQ3OCBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTYzIHN5cy11dGlscy9sc25zLmM6Njk5IHN5cy11dGlscy9wcmxpbWl0LmM6NTg2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgUElEIGFyZ3VtZW50IgorbXNnc3RyICJpZCBub24gdmFsaWRvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4NQorbXNnaWQgIkdlbmVyYXRlIG1hZ2ljIGNvb2tpZXMgZm9yIHhhdXRoLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg4Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICB1c2UgZmlsZSBhcyBhIGNvb2tpZSBzZWVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODkKK21zZ2lkICIgLW0sIC0tbWF4LXNpemUgPG51bT4gIGxpbWl0IGhvdyBtdWNoIGlzIHJlYWQgZnJvbSBzZWVkIGZpbGVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6OTAKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlenUgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlenUgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICJPdHRlbnV0aSAlZCBieXRlIGRhICVzXG4iCittc2dzdHJbMV0gIk90dGVudXRpICVkIGJ5dGUgZGEgJXNcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjbG9zaW5nICVzIGZhaWxlZCIKK21zZ3N0ciAiZXhlYyBmYWxsaXRhXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE2NCBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE0NiBzeXMtdXRpbHMvZnN0cmltLmM6MzA4CisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxlbmd0aCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTc3Cittc2dpZCAiLS1tYXgtc2l6ZSBpZ25vcmVkIHdoZW4gdXNlZCB3aXRob3V0IC0tZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlZCBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICVkIGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAiT3R0ZW51dGkgJWQgYnl0ZSBkYSAlc1xuIgorbXNnc3RyWzFdICJPdHRlbnV0aSAlZCBieXRlIGRhICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3ltbGluazogJXMiCittc2dzdHIgImlvY3RsKCkgbm9uIMOoIHJpdXNjaXRvIGEgbGVnZ2VyZSBsJ29yYXJpbyBkYSAlcyIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjI4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgLSBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5XG4iCittc2dzdHIgImwnaW5vZGUgcmFkaWNlIG5vbiDDqCB1bmEgZGlyZWN0b3J5IgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwYXRobmFtZT4uLi5cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzNgorbXNnaWQgIkZvbGxvdyBhIHBhdGhuYW1lIHVudGlsIGEgdGVybWluYWwgcG9pbnQgaXMgZm91bmQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzOQorbXNnaWQgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICBkaXNwbGF5cyB0aGlzIGhlbHAgdGV4dFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC14LCAtLW1vdW50cG9pbnRzICAgc2hvdyBtb3VudCBwb2ludCBkaXJlY3RvcmllcyB3aXRoIGEgJ0QnXG4iCisiIC1tLCAtLW1vZGVzICAgICAgICAgc2hvdyB0aGUgbW9kZSBiaXRzIG9mIGVhY2ggZmlsZVxuIgorIiAtbywgLS1vd25lcnMgICAgICAgIHNob3cgb3duZXIgYW5kIGdyb3VwIG5hbWUgb2YgZWFjaCBmaWxlXG4iCisiIC1sLCAtLWxvbmcgICAgICAgICAgdXNlIGEgbG9uZyBsaXN0aW5nIGZvcm1hdCAoLW0gLW8gLXYpIFxuIgorIiAtbiwgLS1ub3N5bWxpbmtzICAgIGRvbid0IGZvbGxvdyBzeW1saW5rc1xuIgorIiAtdiwgLS12ZXJ0aWNhbCAgICAgIHZlcnRpY2FsIGFsaWduIG9mIG1vZGVzIGFuZCBvd25lcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDA4CisjLCBmdXp6eQorbXNnaWQgInBhdGhuYW1lIGFyZ3VtZW50IGlzIG1pc3NpbmciCittc2dzdHIgIi0tZGF0ZSBhcmdvbWVudG8gdHJvcHBvIGx1bmdvXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTQgc3lzLXV0aWxzL2xzbnMuYzo3NjQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIFVJRCBjYWNoZSIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYWxsb2NhcmUgaWwgYnVmZmVyLlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHSUQgY2FjaGUiCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhjZWVkZWQgbGltaXQgb2Ygc3ltbGlua3MiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHN5bWJvbGljIGxpbmsiCittc2dzdHIgIiVzOiBub24gc2kgdHJhdHRhIGRpIHVuIGRpc3Bvc2l0aXZvIGEgYmxvY2NoaVxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZGxpbmsgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IG5vbiByaXVzY2l0YVxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5saW5rIGZhaWxlZCIKK21zZ3N0ciAicmljZXJjYSBub24gcml1c2NpdGEiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzeW1saW5raW5nIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIHJpbm9taW5hcmUgJXMgaW4gJXM6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVuYW1lIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIHJpbm9taW5hcmUgJXMgaW4gJXM6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxleHByZXNzaW9uPiA8cmVwbGFjZW1lbnQ+IDxmaWxlPi4uLlxuIgorbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyMgorIywgZnV6enkKK21zZ2lkICJSZW5hbWUgZmlsZXMuXG4iCittc2dzdHIgInJpY2VyY2Egbm9uIHJpdXNjaXRhIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyNQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyNgorbXNnaWQgIiAtcywgLS1zeW1saW5rICAgIGFjdCBvbiB0aGUgdGFyZ2V0IG9mIHN5bWxpbmtzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcyCittc2dpZCAiQSBkYWVtb24gZm9yIGdlbmVyYXRpbmcgVVVJRHMuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgPHBhdGg+ICAgICAgICBwYXRoIHRvIHBpZCBmaWxlXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1vcHRzdHJpbmcgICAgICBPcHppb25pIGJyZXZpIGRhIHJpY29ub3NjZXJlXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW9wdHN0cmluZyAgICAgIE9wemlvbmkgYnJldmkgZGEgcmljb25vc2NlcmVcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc2CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10aW1lb3V0IDxzZWM+ICAgICBzcGVjaWZ5IGluYWN0aXZpdHkgdGltZW91dFxuIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsPXNoZWxsICAgICAgICAgICAgSW1wb3N0YSBsYSBzaGVsbCBcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc3CisjLCBmdXp6eQorbXNnaWQgIiAtaywgLS1raWxsICAgICAgICAgICAgICBraWxsIHJ1bm5pbmcgZGFlbW9uXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc4CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3OQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgdGVzdCB0aW1lLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgIFByb3ZhIGRlbGxhIHZlcnNpb25lIGdldG9wdCgxKVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODAKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCittc2dzdHIgIiAgICAtSCMgW28gLS1oZWFkcyAjXTogICAgaW1wb3N0YSBpbCBudW1lcm8gZGkgdGVzdGluZSBkYSB1dGlsaXp6YXJlIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKK21zZ3N0ciAiIHAgICAgICAgICAgU3RhbXBhIGRlbGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBzdSBzY2hlcm1vIG8gc3UgZmlsZSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgyCisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkbyBub3QgZGFlbW9uaXplIHVzaW5nIGRvdWJsZS1mb3JrXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgzCittc2dpZCAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIGRvIG5vdCBjcmVhdGUgbGlzdGVuaW5nIHNvY2tldFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4NAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4NQorIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgdHVybiBvbiBxdWlldCBtb2RlXG4iCittc2dzdHIgIiAgICAtcSAgW28gLS1xdWlldF06ICAgICAgZWxpbWluYSBpIG1lc3NhZ2dpIGRpIGF2dmVydGltZW50byIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjExOAorIywgZnV6enkKK21zZ2lkICJiYWQgYXJndW1lbnRzIgorbXNnc3RyICJjb2w6IGFyZ29tZW50byAtbCBub24gdmFsaWRvIHBlciAlcy5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEyNQorIywgZnV6enkKK21zZ2lkICJzb2NrZXQiCittc2dzdHIgIm5mcyBzb2NrZXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMzYKKyMsIGZ1enp5Cittc2dpZCAiY29ubmVjdCIKK21zZ3N0ciAibmZzIGNvbm5lY3QiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNTYKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUiCittc2dzdHIgIlNjcml2aSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE2NAorIywgZnV6enkKK21zZ2lkICJyZWFkIGNvdW50IgorbXNnc3RyICJsZXR0dXJhIGRpICVjXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNzAKK21zZ2lkICJiYWQgcmVzcG9uc2UgbGVuZ3RoIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBsb2NrICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyNDYKKyMsIGZ1enp5Cittc2dpZCAiY291bGRuJ3QgY3JlYXRlIHVuaXggc3RyZWFtIHNvY2tldCIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYXByaXJlICVzOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBiaW5kIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhcHJpcmUgJXM6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyOTgKKyMsIGZ1enp5Cittc2dpZCAicmVjZWl2aW5nIHNpZ25hbCBmYWlsZWQiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSByaW5vbWluYXJlICVzIGluICVzOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzExCittc2dpZCAidGltZWQgb3V0IgorbXNnc3RyICJzY2FkdXRvIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzQ1IHN5cy11dGlscy9mbG9jay5jOjI3MQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHVwIHRpbWVyIgorbXNnc3RyICJtb3VudDogaW1wb3NzaWJpbGUgaW1wb3N0YXJlIGwnaWQgZGkgZ3J1cHBvOiAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICJ1dWlkZCBkYWVtb24gaXMgYWxyZWFkeSBydW5uaW5nIGF0IHBpZCAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBsaXN0ZW4gb24gdW5peCBzb2NrZXQgJXMiCittc2dzdHIgIkltcG9zc2liaWxlIGFwcmlyZSAlczogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHRydW5jYXRlIGZpbGU6ICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSBzdGF0IHN1bCBkaXNwb3NpdGl2byAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4NgorIywgZnV6enkKK21zZ2lkICJzZF9saXN0ZW5fZmRzKCkgZmFpbGVkIgorbXNnc3RyICIgc2V0dGltZW9mZGF5KCkgbm9uIHJpdXNjaXRvIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzg5Cittc2dpZCAibm8gZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgc3lzdGVtY3RsIHN0YXR1cyB1dWlkZC5zb2NrZXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM5MgorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayB1dWlkZC5zb2NrZXQiCittc2dzdHIgInJpY2VyY2Egbm9uIHJpdXNjaXRhIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDIwIHRlcm0tdXRpbHMvc2NyaXB0LmM6NDU1CisjLCBmdXp6eQorbXNnaWQgInBvbGwgZmFpbGVkIgorbXNnc3RyICJtYWxsb2MoKSBub24gcml1c2NpdGEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRpbWVvdXQgWyVkIHNlY11cbiIKK21zZ3N0ciAiTG9naW4gc2NhZHV0byBkb3BvICVkIHNlY29uZGlcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0MyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQxNAorIywgZnV6enkKK21zZ2lkICJyZWFkIGZhaWxlZCIKK21zZ3N0ciAiKEZpbGUgc3VjY2Vzc2l2bzogJXMpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvciByZWFkaW5nIGZyb20gY2xpZW50LCBsZW4gPSAlZCIKK21zZ3N0ciAiRXJyb3JlIGR1cmFudGUgbGEgbGV0dHVyYSBkaSAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZCwgaW5jb21pbmcgbnVtID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ3MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHJhbmRvbSBVVUlEOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgYW5kICVkIGZvbGxvd2luZ1xuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgJWQgVVVJRDpcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkICVkIFVVSURzOlxuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUzOQorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIHJlcGx5IGxlbmd0aCBmcm9tIHNlcnZlciAlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjAwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXV1aWRzIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjE3Cittc2dpZCAidXVpZGQgaGFzIGJlZW4gYnVpbHQgd2l0aG91dCBzdXBwb3J0IGZvciBzb2NrZXQgYWN0aXZhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjM2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRpbWVvdXQiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NTMKK21zZ2lkICJCb3RoIC0tc29ja2V0LWFjdGl2YXRpb24gYW5kIC0tc29ja2V0IHNwZWNpZmllZC4gSWdub3JpbmcgLS1zb2NrZXQuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjAgbWlzYy11dGlscy91dWlkZC5jOjY4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2FsbGluZyB1dWlkZCBkYWVtb24gKCVzKSIKK21zZ3N0ciAiZXJyb3JlIGR1cmFudGUgaWwgY2FtYmlhbWVudG8gZGVsbGEgbW9kYWxpdMOgIGRpICVzOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYxIG1pc2MtdXRpbHMvdXVpZGQuYzo2ODkKKyMsIGZ1enp5Cittc2dpZCAidW5leHBlY3RlZCBlcnJvciIKK21zZ3N0ciAiJXM6IEVPRiBub24gcHJldmlzdG8gbmVsIGZpbGUgJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEXG4iCittc2dpZF9wbHVyYWwgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURzXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjczCisjLCBjLWZvcm1hdAorbXNnaWQgIkxpc3Qgb2YgVVVJRHM6XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3Qga2lsbCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZCIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYXByaXJlICVzOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJLaWxsZWQgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQuXG4iCittc2dzdHIgIkltcG9zc2liaWxlIGFwcmlyZSAlczogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjgKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlIGEgbmV3IFVVSUQgdmFsdWUuXG4iCittc2dzdHIgIiAgIHMgICBjcmVhemlvbmUgZGkgdW5hIG51b3ZhIGRpc2tsYWJlbCBTdW4gdnVvdGEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjMxCittc2dpZCAiIgorIiAtciwgLS1yYW5kb20gICAgIGdlbmVyYXRlIHJhbmRvbS1iYXNlZCB1dWlkXG4iCisiIC10LCAtLXRpbWUgICAgICAgZ2VuZXJhdGUgdGltZS1iYXNlZCB1dWlkXG4iCisiIC1WLCAtLXZlcnNpb24gICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLUJNUyA8ZGlyPi4uLiAtZl0gPG5hbWU+XG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5MgorbXNnaWQgIkxvY2F0ZSB0aGUgYmluYXJ5LCBzb3VyY2UsIGFuZCBtYW51YWwtcGFnZSBmaWxlcyBmb3IgYSBjb21tYW5kLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5NQorIywgZnV6enkKK21zZ2lkICIgLWIgICAgICAgICBzZWFyY2ggb25seSBmb3IgYmluYXJpZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5vbiBzY3JpdmUgcmVhbG1lbnRlIHN1bCBkaXNjbyIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk2Cittc2dpZCAiIC1CIDxkaXJzPiAgZGVmaW5lIGJpbmFyaWVzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk3CisjLCBmdXp6eQorbXNnaWQgIiAtbSAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBtYW51YWxzIGFuZCBpbmZvc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgbm9uIHNjcml2ZSByZWFsbWVudGUgc3VsIGRpc2NvIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTgKK21zZ2lkICIgLU0gPGRpcnM+ICBkZWZpbmUgbWFuIGFuZCBpbmZvIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk5Cittc2dpZCAiIC1zICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIHNvdXJjZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDAKK21zZ2lkICIgLVMgPGRpcnM+ICBkZWZpbmUgc291cmNlcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMQorIywgZnV6enkKK21zZ2lkICIgLWYgICAgICAgICB0ZXJtaW5hdGUgPGRpcnM+IGFyZ3VtZW50IGxpc3RcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAyCittc2dpZCAiIC11ICAgICAgICAgc2VhcmNoIGZvciB1bnVzdWFsIGVudHJpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDMKK21zZ2lkICIgLWwgICAgICAgICBvdXRwdXQgZWZmZWN0aXZlIGxvb2t1cCBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjYxOQorIywgZnV6enkKK21zZ2lkICJvcHRpb24gLWYgaXMgbWlzc2luZyIKK21zZ3N0ciAiLS1kYXRlIGFyZ29tZW50byB0cm9wcG8gbHVuZ29cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxOTYKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJOdW1lcm8gZGVsbGEgcGFydGl6aW9uZSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoyNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogcHJvYmluZyBpbml0aWFsaXphdGlvbiBmYWlsZWQiCittc2dzdHIgIiIKKyJcbiIKKyJFcnJvcmUgZHVyYW50ZSBsYSBjaGl1c3VyYSBkZWwgZmlsZVxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBlcmFzZSAlcyBtYWdpYyBzdHJpbmcgYXQgb2Zmc2V0IDB4JTA4angiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dpZF9wbHVyYWwgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzBdICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorbXNnc3RyWzFdICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjM0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIgorbXNnc3RyICJpbXBvc3NpYmlsZSBzY3JpdmVyZSBzdWxsYSBwYWdpbmEgZGkgZmlybWEiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FsbGluZyBpb2N0bCB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZTogJW1cbiIKK21zZ3N0ciAiQ2hpYW1hdGEgZGkgaW9jdGwoKSBwZXIgcmlsZWdnZXJlIGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaS5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozODUKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpZ25vcmluZyBuZXN0ZWQgXCIlc1wiIHBhcnRpdGlvbiB0YWJsZSBvbiBub24td2hvbGUgZGlzayBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgMHglanggbm90IGZvdW5kIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBub24gdHJvdmF0byIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MzUKKyMsIGZ1enp5Cittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiB0byBmb3JjZSBlcmFzZS4iCittc2dzdHIgIlV0aWxpenphcmUgaWwgZmxhZyAtZm9yY2UgcGVyIG9sdHJlcGFzc2FyZSB0dXR0aSBpIGNvbnRyb2xsaS5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0NTkKK21zZ2lkICJXaXBlIHNpZ25hdHVyZXMgZnJvbSBhIGRldmljZS5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ2MgorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICB3aXBlIGFsbCBtYWdpYyBzdHJpbmdzIChCRSBDQVJFRlVMISlcbiIKKyIgLWIsIC0tYmFja3VwICAgICAgICBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIGluICRIT01FXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgZm9yY2UgZXJhc3VyZVxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKKyIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgYWN0dWFsIHdyaXRlKCkgY2FsbFxuIgorIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCB0byBlcmFzZSwgaW4gYnl0ZXNcbiIKKyIgLXAsIC0tcGFyc2FibGUgICAgICBwcmludCBvdXQgaW4gcGFyc2FibGUgaW5zdGVhZCBvZiBwcmludGFibGUgZm9ybWF0XG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcHJlc3Mgb3V0cHV0IG1lc3NhZ2VzXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtLCBSQUlEcyBvciBwYXJ0aXRpb24gdGFibGVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjUzMworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG9mZnNldCBhcmd1bWVudCIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1NTgKK21zZ2lkICJUaGUgLS1iYWNrdXAgb3B0aW9uIGlzIG1lYW5pbmdsZXNzIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzUKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVhbC10aW1lIHNjaGVkdWxpbmcgYXR0cmlidXRlcyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM3Cittc2dpZCAiIgorIlNldCBwb2xpY3k6XG4iCisiIGNocnQgW29wdGlvbnNdIDxwcmlvcml0eT4gPGNvbW1hbmQ+IFs8YXJnPi4uLl1cbiIKKyIgY2hydCBbb3B0aW9uc10gLS1waWQgPHByaW9yaXR5PiA8cGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0MQorbXNnaWQgIiIKKyJHZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSAtcCA8cGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NQorIywgZnV6enkKK21zZ2lkICJQb2xpY3kgb3B0aW9uczpcbiIKK21zZ3N0ciAib3B6aW9uaSBwZXJpY29sb3NlOiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ2Cittc2dpZCAiIC1iLCAtLWJhdGNoICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfQkFUQ0hcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDcKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRlYWRsaW5lICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfREVBRExJTkVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgIHBhcmFtZXRyaVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDgKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpZm8gICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfRklGT1xuIgorbXNnc3RyICIgICAgICAgICAgICAgcGFyYW1ldHJpXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OQorbXNnaWQgIiAtaSwgLS1pZGxlICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTAKK21zZ2lkICIgLW8sIC0tb3RoZXIgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorbXNnc3RyICIiCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUxCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yciAgICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX1JSIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU0CisjLCBmdXp6eQorbXNnaWQgIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpemlvbmk6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NQorbXNnaWQgIiAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgIHNldCBTQ0hFRF9SRVNFVF9PTl9GT1JLIGZvciBGSUZPIG9yIFJSXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU2Cittc2dpZCAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAgcnVudGltZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU3Cittc2dpZCAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTgKK21zZ2lkICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYxCisjLCBmdXp6eQorbXNnaWQgIk90aGVyIG9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXppb25pOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjIKK21zZ2lkICIgLWEsIC0tYWxsLXRhc2tzICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MworIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbWF4ICAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICBkaXNwbGF5IHN0YXR1cyBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyMzIgc2NoZWR1dGlscy9jaHJ0LmM6MjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiU2NyaXR0dXJhIGRlbGxhIHBhcnRpemlvbmUgc3UgJXMgbm9uIHJpdXNjaXRhXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGF0dHJpYnV0ZXMiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY3CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMwMCBzY2hlZHV0aWxzL2NocnQuYzozOTYKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9idGFpbiB0aGUgbGlzdCBvZiB0YXNrcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIHRyb3ZhcmUgaWwgZGlzcG9zaXRpdm8gcGVyICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBtaW4vbWF4IHByaW9yaXR5XHQ6ICVkLyVkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3Qgc3VwcG9ydGVkP1xuIgorbXNnc3RyICJORlMgYXR0cmF2ZXJzbyBUQ1Agbm9uIHN1cHBvcnRhdG8uXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aWQgJWQncyBwb2xpY3kiCittc2dzdHIgIlNjcml0dHVyYSBkZWxsYSBwYXJ0aXppb25lIHN1ICVzIG5vbiByaXVzY2l0YVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJTY3JpdHR1cmEgZGVsbGEgcGFydGl6aW9uZSBzdSAlcyBub24gcml1c2NpdGFcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDg3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcnVudGltZSBhcmd1bWVudCIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDkwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcGVyaW9kIGFyZ3VtZW50IgorbXNnc3RyICJpZCBub24gdmFsaWRvIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBkZWFkbGluZSBhcmd1bWVudCIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcHJpb3JpdHkgYXJndW1lbnQiCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyMQorbXNnaWQgIi0tcmVzZXQtb24tZm9yayBvcHRpb24gaXMgc3VwcG9ydGVkIGZvciBTQ0hFRF9GSUZPIGFuZCBTQ0hFRF9SUiBwb2xpY2llcyBvbmx5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyNgorbXNnaWQgIi0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgZm9yIFNDSEVEX0RFQURMSU5FIG9ubHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQxCisjLCBmdXp6eQorbXNnaWQgIlNDSEVEX0RFQURMSU5FIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJORlMgYXR0cmF2ZXJzbyBUQ1Agbm9uIHN1cHBvcnRhdG8uXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcmlvcml0eSB2YWx1ZSBmb3IgdGhlIHBvbGljeTogJWQ6IHNlZSAtLW1heCBmb3IgdmFsaWQgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo3NgorIywgZnV6enkKK21zZ2lkICJpb3ByaW9fZ2V0IGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBub24gcml1c2NpdGFcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHByaW8gJWx1XG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6OTgKKyMsIGZ1enp5Cittc2dpZCAiaW9wcmlvX3NldCBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgbm9uIHJpdXNjaXRhXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXAgPHBpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC11IDx1aWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTEwCittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIEkvTy1zY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTMKK21zZ2lkICIiCisiIC1jLCAtLWNsYXNzIDxjbGFzcz4gICAgbmFtZSBvciBudW1iZXIgb2Ygc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IG5vbmUsIDE6IHJlYWx0aW1lLCAyOiBiZXN0LWVmZm9ydCwgMzogaWRsZVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE1Cittc2dpZCAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPG51bT4gIHByaW9yaXR5ICgwLi43KSBpbiB0aGUgc3BlY2lmaWVkIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IGZvciB0aGUgcmVhbHRpbWUgYW5kIGJlc3QtZWZmb3J0IGNsYXNzZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNworbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4uLi4gICAgIGFjdCBvbiB0aGVzZSBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTgKK21zZ2lkICIgLVAsIC0tcGdpZCA8cGdycD4uLi4gICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBpbiB0aGVzZSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0taWdub3JlICAgICAgICAgICBpZ25vcmUgZmFpbHVyZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMjAKK21zZ2lkICIgLXUsIC0tdWlkIDx1aWQ+Li4uICAgICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBvd25lZCBieSB0aGVzZSB1c2Vyc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY2xhc3MgZGF0YSBhcmd1bWVudCIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjbGFzcyBhcmd1bWVudCIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbzogJXNcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2NoZWR1bGluZyBjbGFzczogJyVzJyIKK21zZ3N0ciAiJXM6IENvbWFuZG8gc2Nvbm9zY2l1dG86ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc2IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg0IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkyCittc2dpZCAiY2FuIGhhbmRsZSBvbmx5IG9uZSBvZiBwaWQsIHBnaWQgb3IgdWlkIGF0IG9uY2UiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBQR0lEIGFyZ3VtZW50IgorbXNnc3RyICJpZCBub24gdmFsaWRvOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFVJRCBhcmd1bWVudCIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbzogJXNcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMTIKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBub25lIGNsYXNzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjIwCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3IgaWRsZSBjbGFzcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvIGNsYXNzICVkIgorbXNnc3RyICJlcnJvcmUgc2Nvbm9zY2l1dGkgaW4gaWQiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiVXNhZ2U6ICVzIFtvcHRpb25zXSBbbWFzayB8IGNwdS1saXN0XSBbcGlkfGNtZCBbYXJncy4uLl1dXG4iCisiXG4iCittc2dzdHIgIlVzbzogJXMgcHJvZ3JhbW1hIFthcmcgLi4uXVxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1NQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBDUFUgYWZmaW5pdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJPcHRpb25zOlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICBkaXNwbGF5IGFuZCBzcGVjaWZ5IGNwdXMgaW4gbGlzdCBmb3JtYXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHBcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gcnVuIGEgbmV3IGNvbW1hbmQ6XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisiWW91IGNhbiByZXRyaWV2ZSB0aGUgbWFzayBvZiBhbiBleGlzdGluZyB0YXNrOlxuIgorIiAgICAlMSRzIC1wIDcwMFxuIgorIk9yIHNldCBpdDpcbiIKKyIgICAgJTEkcyAtcCAwMyA3MDBcbiIKKyJMaXN0IGZvcm1hdCB1c2VzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QgaW5zdGVhZCBvZiBhIG1hc2s6XG4iCisiICAgICUxJHMgLXBjIDAsMyw3LTExIDcwMFxuIgorIlJhbmdlcyBpbiBsaXN0IGZvcm1hdCBjYW4gdGFrZSBhIHN0cmlkZSBhcmd1bWVudDpcbiIKKyIgICAgZS5nLiAwLTMxOjIgaXMgZXF1aXZhbGVudCB0byBtYXNrIDB4NTU1NTU1NTVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk5CisjLCBmdXp6eQorbXNnaWQgImludGVybmFsIGVycm9yOiBjb252ZXJzaW9uIGZyb20gY3B1c2V0IHRvIHN0cmluZyBmYWlsZWQiCittc2dzdHIgIiIKKyJcbiIKKyJFcnJvcmUgZHVyYW50ZSBsYSBjaGl1c3VyYSBkZWwgZmlsZVxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMDkgc2NoZWR1dGlscy90YXNrc2V0LmM6MTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICJTY3JpdHR1cmEgZGVsbGEgcGFydGl6aW9uZSBzdSAlcyBub24gcml1c2NpdGFcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICJTY3JpdHR1cmEgZGVsbGEgcGFydGl6aW9uZSBzdSAlcyBub24gcml1c2NpdGFcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTg2IHN5cy11dGlscy9jaGNwdS5jOjI4OQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIE5SX0NQVVM7IGFib3J0aW5nIgorbXNnc3RyICJpbXBvc3NpYmlsZSBvdHRlbmVyZSBsYSBkaW1lbnNpb25lIGRpICVzIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxOTUgc2NoZWR1dGlscy90YXNrc2V0LmM6MjA4IHN5cy11dGlscy9jaGNwdS5jOjI5NQorIywgZnV6enkKK21zZ2lkICJjcHVzZXRfYWxsb2MgZmFpbGVkIgorbXNnc3RyICJtYWxsb2Mgbm9uIHJpdXNjaXRhIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMTUgc3lzLXV0aWxzL2NoY3B1LmM6MjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzazogJXMiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFplcm8tZmlsbGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogRGlzY2FyZGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4NworbXNnaWQgIkRpc2NhcmQgdGhlIGNvbnRlbnQgb2Ygc2VjdG9ycyBvbiBhIGRldmljZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkwCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKK21zZ3N0ciAiICAgIC1DIyBbbyAtLWN5bGluZHJlcyAjXTppbXBvc3RhIGlsIG51bWVybyBkaSBjaWxpbmRyaSBkYSB1dGlsaXp6YXJlIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkxCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgICAgLUMjIFtvIC0tY3lsaW5kcmVzICNdOmltcG9zdGEgaWwgbnVtZXJvIGRpIGNpbGluZHJpIGRhIHV0aWxpenphcmUiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXN0ZXAgPG51bT4gICAgc2l6ZSBvZiB0aGUgZGlzY2FyZCBpdGVyYXRpb25zIHdpdGhpbiB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNlY3VyZSAgICAgICAgcGVyZm9ybSBzZWN1cmUgZGlzY2FyZFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk0CisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS16ZXJvb3V0ICAgICAgIHplcm8tZmlsbCByYXRoZXIgdGhhbiBkaXNjYXJkXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTUwIHN5cy11dGlscy9mc3RyaW0uYzozMTIgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NzMKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjEyNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RlcCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzIgc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODIgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDgKKyMsIGZ1enp5Cittc2dpZCAibm8gZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAibW91bnQ6IGxvb3AgZGV2aWNlIHNwZWNpZmljYXRvIGR1ZSB2b2x0ZSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzcgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM1MQorIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTIyIHN5cy11dGlscy9mc3RyaW0uYzozMzQKKyMsIGZ1enp5Cittc2dpZCAidW5leHBlY3RlZCBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJudW1lcm8gbWFzc2ltbyBkaSBzZWdtZW50aSA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0dFVFNJWkU2NCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIkJMS0dFVFNJWkUgaW9jdGwgbm9uIHJpdXNjaXRvIHN1ICVzXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU1NaR0VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBub24gcml1c2NpdGFcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgaXMgZ3JlYXRlciB0aGFuIGRldmljZSBzaXplIgorbXNnc3RyICJJbXBvc3NpYmlsZSBvdHRlbmVyZSBsYSBkaW1lbnNpb25lIGRlbCBkaXNjbyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxlbmd0aCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtaRVJPT1VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBub24gcml1c2NpdGFcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTRUNESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBub24gcml1c2NpdGFcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBub24gcml1c2NpdGFcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6ODcgc3lzLXV0aWxzL2NoY3B1LmM6MTc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiVzOiBcIiVzXCIgbm9uIGVzaXN0ZS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgaG90IHBsdWdnYWJsZSIKK21zZ3N0ciAiJXM6IFwiJXNcIiBub24gZXNlZ3VpYmlsZS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGVuYWJsZWRcbiIKK21zZ3N0ciAiSWwgc2V0dG9yZSAlZCDDqCBnacOgIGFsbG9jYXRvXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAiSWwgc2V0dG9yZSAlZCDDqCBnacOgIGFsbG9jYXRvXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQgKENQVSBpcyBkZWNvbmZpZ3VyZWQpIgorbXNnc3RyICJJbCBzZXR0b3JlICVkIMOoIGdpw6AgYWxsb2NhdG9cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCIKK21zZ3N0ciAiQXV0b2NvbmZpZ3VyYXppb25lIG5vbiByaXVzY2l0YS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlZFxuIgorbXNnc3RyICJBdXRvY29uZmlndXJhemlvbmUgbm9uIHJpdXNjaXRhLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCAobGFzdCBlbmFibGVkIENQVSkiCittc2dzdHIgIklsIHNldHRvcmUgJWQgw6ggZ2nDoCBhbGxvY2F0b1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCIKK21zZ3N0ciAiSWwgc2V0dG9yZSAlZCDDqCBnacOgIGFsbG9jYXRvXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGVkXG4iCittc2dzdHIgIklsIHNldHRvcmUgJWQgw6ggZ2nDoCBhbGxvY2F0b1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHJlc2Nhbm5pbmcgb2YgQ1BVcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHRyaWdnZXIgcmVzY2FuIG9mIENQVXMiCittc2dzdHIgIlNjcml0dHVyYSBkZWxsYSBwYXJ0aXppb25lIHN1ICVzIG5vbiByaXVzY2l0YVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJpZ2dlcmVkIHJlc2NhbiBvZiBDUFVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTUxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBzZXR0aW5nIHRoZSBkaXNwYXRjaGluZyBtb2RlIG9mIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU1CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICJTY3JpdHR1cmEgZGVsbGEgcGFydGl6aW9uZSBzdSAlcyBub24gcml1c2NpdGFcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IGhvcml6b250YWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICJTY3JpdHR1cmEgZGVsbGEgcGFydGl6aW9uZSBzdSAlcyBub24gcml1c2NpdGFcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU5CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBzZXQgdmVydGljYWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiU2NyaXR0dXJhIGRlbGxhIHBhcnRpemlvbmUgc3UgJXMgbm9uIHJpdXNjaXRhXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCB2ZXJ0aWNhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIlNjcml0dHVyYSBkZWxsYSBwYXJ0aXppb25lIHN1ICVzIG5vbiByaXVzY2l0YVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgY29uZmlndXJhYmxlIgorbXNnc3RyICIlczogXCIlc1wiIG5vbiBlc2VndWliaWxlLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiSWwgc2V0dG9yZSAlZCDDqCBnacOgIGFsbG9jYXRvXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIklsIHNldHRvcmUgJWQgw6ggZ2nDoCBhbGxvY2F0b1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiQXV0b2NvbmZpZ3VyYXppb25lIG5vbiByaXVzY2l0YS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiQXV0b2NvbmZpZ3VyYXppb25lIG5vbiByaXVzY2l0YS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlZFxuIgorbXNnc3RyICJBdXRvY29uZmlndXJhemlvbmUgbm9uIHJpdXNjaXRhLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIkF1dG9jb25maWd1cmF6aW9uZSBub24gcml1c2NpdGEuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJBdXRvY29uZmlndXJhemlvbmUgbm9uIHJpdXNjaXRhLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgQ1BVIG51bWJlciBpbiBDUFUgbGlzdDogJXMiCittc2dzdHIgIk51bWVybyBub24gdmFsaWRvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzggdGV4dC11dGlscy9jb2wuYzoxMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0MgorbXNnaWQgIkNvbmZpZ3VyZSBDUFVzIGluIGEgbXVsdGktcHJvY2Vzc29yIHN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorIiAgLWUsIC0tZW5hYmxlIDxjcHUtbGlzdD4gICAgICAgZW5hYmxlIGNwdXNcbiIKKyIgIC1kLCAtLWRpc2FibGUgPGNwdS1saXN0PiAgICAgIGRpc2FibGUgY3B1c1xuIgorIiAgLWMsIC0tY29uZmlndXJlIDxjcHUtbGlzdD4gICAgY29uZmlndXJlIGNwdXNcbiIKKyIgIC1nLCAtLWRlY29uZmlndXJlIDxjcHUtbGlzdD4gIGRlY29uZmlndXJlIGNwdXNcbiIKKyIgIC1wLCAtLWRpc3BhdGNoIDxtb2RlPiAgICAgICAgIHNldCBkaXNwYXRjaGluZyBtb2RlXG4iCisiICAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICB0cmlnZ2VyIHJlc2NhbiBvZiBjcHVzXG4iCisiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjMyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICIlczogYXJnb21lbnRvIHNjb25vc2NpdXRvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgaGFyZHxzb2Z0XG4iCittc2dzdHIgIlVzbzogY3RybGFsdGRlbCBoYXJkfHNvZnRcbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICJTZXQgdGhlIGZ1bmN0aW9uIG9mIHRoZSBDdHJsLUFsdC1EZWwgY29tYmluYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MQorbXNnaWQgImltcGxpY2l0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdmFsdWUgaW4gJXM6ICVqdSIKK21zZ3N0ciAibnVtZXJvIG1hc3NpbW8gZGkgc2VnbWVudGkgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo2MworIywgZnV6enkKK21zZ2lkICJZb3UgbXVzdCBiZSByb290IHRvIHNldCB0aGUgQ3RybC1BbHQtRGVsIGJlaGF2aW9yIgorbXNnc3RyICJCaXNvZ25hIGVzc2VyZSByb290IHBlciBpbXBvc3RhcmUgbW9kYWxpdMOgIEN0cmwtQWx0LURlbC5cbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo3MSBzeXMtdXRpbHMvaXBjcm0uYzozOTIgc3lzLXV0aWxzL2lwY3JtLmM6NDE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiJXM6IGFyZ29tZW50byBzY29ub3NjaXV0bzogJXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEwCisjLCBmdXp6eQorbXNnaWQgInN5c3RlbSBpcyB1bnVzYWJsZSIKK21zZ3N0ciAiUXVlc3RhIHBhcnRpemlvbmUgw6ggdXRpbGl6emFiaWxlIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTEKK21zZ2lkICJhY3Rpb24gbXVzdCBiZSB0YWtlbiBpbW1lZGlhdGVseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTIKK21zZ2lkICJjcml0aWNhbCBjb25kaXRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMworIywgZnV6enkKK21zZ2lkICJlcnJvciBjb25kaXRpb25zIgorbXNnc3RyICJlcnJvcmUgZHVyYW50ZSBsYSBjaGl1c3VyYSBkaSAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE0CisjLCBmdXp6eQorbXNnaWQgIndhcm5pbmcgY29uZGl0aW9ucyIKK21zZ3N0ciAiQXR0ZW56aW9uZTogbGEgcGFydGl6aW9uZSAlcyAiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNQorbXNnaWQgIm5vcm1hbCBidXQgc2lnbmlmaWNhbnQgY29uZGl0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNgorbXNnaWQgImluZm9ybWF0aW9uYWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE3Cittc2dpZCAiZGVidWctbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMxCisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBtZXNzYWdlcyIKK21zZ3N0ciAibWVzc2FnZ2kiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMgorbXNnaWQgInJhbmRvbSB1c2VyLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMworIywgZnV6enkKK21zZ2lkICJtYWlsIHN5c3RlbSIKK21zZ3N0ciAiSW1tZXR0ZXJlIGlsIHRpcG8gZGkgZmlsZXN5c3RlbTogIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzQKK21zZ2lkICJzeXN0ZW0gZGFlbW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzUKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNgorbXNnaWQgIm1lc3NhZ2VzIGdlbmVyYXRlZCBpbnRlcm5hbGx5IGJ5IHN5c2xvZ2QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM3Cittc2dpZCAibGluZSBwcmludGVyIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzgKK21zZ2lkICJuZXR3b3JrIG5ld3Mgc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOQorbXNnaWQgIlVVQ1Agc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MAorIywgZnV6enkKK21zZ2lkICJjbG9jayBkYWVtb24iCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQxCittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyAocHJpdmF0ZSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQyCisjLCBmdXp6eQorbXNnaWQgIkZUUCBkYWVtb24iCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjY3Cittc2dpZCAiRGlzcGxheSBvciBjb250cm9sIHRoZSBrZXJuZWwgcmluZyBidWZmZXIuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjcwCisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgY2xlYXIgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIHJlYWQgYW5kIGNsZWFyIGFsbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MgorIywgZnV6enkKK21zZ2lkICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIGRpc2FibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzMKKyMsIGZ1enp5Cittc2dpZCAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBlbmFibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzQKK21zZ2lkICIgLUYsIC0tZmlsZSA8ZmlsZT4gICAgICAgICAgIHVzZSB0aGUgZmlsZSBpbnN0ZWFkIG9mIHRoZSBrZXJuZWwgbG9nIGJ1ZmZlclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NQorbXNnaWQgIiAtZiwgLS1mYWNpbGl0eSA8bGlzdD4gICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgZmFjaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc2CisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAgaHVtYW4gcmVhZGFibGUgb3V0cHV0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzcKKyMsIGZ1enp5Cittc2dpZCAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICBkaXNwbGF5IGtlcm5lbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3OAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgxCittc2dpZCAiIC1sLCAtLWxldmVsIDxsaXN0PiAgICAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBsZXZlbHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODIKK21zZ2lkICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bGV2ZWw+IHNldCBsZXZlbCBvZiBtZXNzYWdlcyBwcmludGVkIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MworIywgZnV6enkKK21zZ2lkICIgLVAsIC0tbm9wYWdlciAgICAgICAgICAgICAgIGRvIG5vdCBwaXBlIG91dHB1dCBpbnRvIGEgcGFnZXJcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg0CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJhdyBtZXNzYWdlIGJ1ZmZlclxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODUKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICBmb3JjZSB0byB1c2Ugc3lzbG9nKDIpIHJhdGhlciB0aGFuIC9kZXYva21zZ1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg2Cittc2dpZCAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgZGlzcGxheSB1c2Vyc3BhY2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODgKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICB3YWl0IGZvciBuZXcgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODkKK21zZ2lkICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIGRlY29kZSBmYWNpbGl0eSBhbmQgbGV2ZWwgdG8gcmVhZGFibGUgc3RyaW5nXG4iCittc2dzdHIgIiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTAKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICBzaG93IHRpbWUgZGVsdGEgYmV0d2VlbiBwcmludGVkIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTEKK21zZ2lkICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIHNob3cgbG9jYWwgdGltZSBhbmQgdGltZSBkZWx0YSBpbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MgorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHNob3cgaHVtYW4tcmVhZGFibGUgdGltZXN0YW1wIChtYXkgYmUgaW5hY2N1cmF0ZSEpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MworIywgZnV6enkKK21zZ2lkICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIGRvbid0IHNob3cgYW55IHRpbWVzdGFtcCB3aXRoIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTQKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcCB1c2luZyB0aGUgZ2l2ZW4gZm9ybWF0OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsdGF8cmVsdGltZXxjdGltZXxub3RpbWV8aXNvXVxuIgorIlN1c3BlbmRpbmcvcmVzdW1lIHdpbGwgbWFrZSBjdGltZSBhbmQgaXNvIHRpbWVzdGFtcHMgaW5hY2N1cmF0ZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDAKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBmYWNpbGl0aWVzOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwNgorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGxldmVscyAocHJpb3JpdGllcyk6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGV2ZWwgJyVzJyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGxldmVsICclcyciCittc2dzdHIgIiVzOiBDb21hbmRvIHNjb25vc2NpdXRvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBmYWNpbGl0eSAnJXMnIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo0MDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAiTmVzc3VuYSBkaXJlY3RvcnkgJXMhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1tYXA6ICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNTYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBidWZmZXIgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQwOQorbXNnaWQgIi0tc2hvdy1kZWx0YSBpcyBpZ25vcmVkIHdoZW4gdXNlZCB0b2dldGhlciB3aXRoIGlzbzg2MDEgdGltZSBmb3JtYXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQzMgorbXNnaWQgIi0tcmF3IGNhbiBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1sZXZlbCBvciAtLWZhY2lsaXR5IG9ubHkgd2hlbiByZWFkaW5nIG1lc3NhZ2VzIGZyb20gL2Rldi9rbXNnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0NDIKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBrZXJuZWwgYnVmZmVyIGZhaWxlZCIKK21zZ3N0ciAiZ2V0dGltZW9mZGF5IG5vbiByaXVzY2l0byIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQ2MQorIywgZnV6enkKK21zZ2lkICJrbG9nY3RsIGZhaWxlZCIKK21zZ3N0ciAiZnN5bmMgbm9uIHJpdXNjaXRvICIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPnw8bW91bnRwb2ludD5dXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNworIywgZnV6enkKK21zZ2lkICJFamVjdCByZW1vdmFibGUgbWVkaWEuXG4iCittc2dzdHIgIiByaW1vdmliaWxlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNDAKK21zZ2lkICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICB0dXJuIGF1dG8tZWplY3QgZmVhdHVyZSBvbiBvciBvZmZcbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHNsb3Q+ICAgIHN3aXRjaCBkaXNjcyBvbiBhIENELVJPTSBjaGFuZ2VyXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBkaXNwbGF5IGRlZmF1bHQgZGV2aWNlXG4iCisiIC1mLCAtLWZsb3BweSAgICAgICAgICAgICAgICBlamVjdCBmbG9wcHlcbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIGRvbid0IGNhcmUgYWJvdXQgZGV2aWNlIHR5cGVcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIHRvZ2dsZSBtYW51YWwgZWplY3QgcHJvdGVjdGlvbiBvbi9vZmZcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIGRvIG5vdCB1bm1vdW50IGRldmljZSBldmVuIGlmIGl0IGlzIG1vdW50ZWRcbiIKKyIgLU0sIC0tbm8tcGFydGl0aW9ucy11bm1vdW50IGRvIG5vdCB1bm1vdW50IGFub3RoZXIgcGFydGl0aW9uc1xuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgZG9uJ3QgZWplY3QsIGp1c3Qgc2hvdyBkZXZpY2UgZm91bmRcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIHVzZSAvcHJvYy9tb3VudHMgaW5zdGVhZCBvZiAvZXRjL210YWJcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIGVqZWN0IHRhcGVcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIGVqZWN0IENELVJPTVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgZWplY3QgU0NTSSBkZXZpY2VcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIGNsb3NlIHRyYXlcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIHRvZ2dsZSB0cmF5XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICBlbmFibGUgdmVyYm9zZSBvdXRwdXRcbiIKKyIgLXgsIC0tY2RzcGVlZCA8c3BlZWQ+ICAgICAgIHNldCBDRC1ST00gbWF4IHNwZWVkXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICBsaXN0IENELVJPTSBhdmFpbGFibGUgc3BlZWRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTY0Cittc2dpZCAiIgorIlxuIgorIkJ5IGRlZmF1bHQgdHJpZXMgLXIsIC1zLCAtZiwgYW5kIC1xIGluIG9yZGVyIHVudGlsIHN1Y2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjEwCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNoYW5nZXJzbG90Ly1jIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNkc3BlZWQvLXggb3B0aW9uIgorbXNnc3RyICJpZCBub24gdmFsaWRvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMjYKK21zZ2lkICJDRC1ST00gYXV0by1lamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDAKKyMsIGZ1enp5Cittc2dpZCAiQ0QtUk9NIGRvb3IgbG9jayBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICLDiCBzdXBwb3J0YXRvIHNvbGFtZW50ZSAxayBibG9jY2hpL3pvbmUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MgorbXNnaWQgIm90aGVyIHVzZXJzIGhhdmUgdGhlIGRyaXZlIG9wZW4gYW5kIG5vdCBDQVBfU1lTX0FETUlOIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0NAorbXNnaWQgIkNELVJPTSBsb2NrIGRvb3IgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQ5Cittc2dpZCAiQ0QtRHJpdmUgbWF5IE5PVCBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNTEKK21zZ2lkICJDRC1Ecml2ZSBtYXkgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzYyCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBkaXNjIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NgorbXNnaWQgIkNELVJPTSBsb2FkIGZyb20gc2xvdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjgKK21zZ2lkICJJREUvQVRBUEkgQ0QtUk9NIGNoYW5nZXIgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NgorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4OAorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQwNQorbXNnaWQgIkNELVJPTSBlamVjdCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzMgc3lzLXV0aWxzL2VqZWN0LmM6NDU2IHN5cy11dGlscy9lamVjdC5jOjEwMTEKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM2Cittc2dpZCAibm8gQ0QtUk9NIGluZm9ybWF0aW9uIGF2YWlsYWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzkKK21zZ2lkICJDRC1ST00gZHJpdmUgaXMgbm90IHJlYWR5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4MgorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDg0IHN5cy11dGlscy9lamVjdC5jOjU3MAorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kaW5nIENELVJPTSBuYW1lIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTQ0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICJpbXBvc3NpYmlsZSBmYXJlIHN0YXQgZGkgJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU4OAorIywgZnV6enkKK21zZ2lkICJub3QgYW4gc2cgZGV2aWNlLCBvciBvbGQgc2cgZHJpdmVyIgorbXNnc3RyICIlcyBub24gw6ggdW4gZGlzcG9zaXRpdm8gYSBibG9jY2hpIG8gdW4gZmlsZVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bm1vdW50aW5nIgorbXNnc3RyICJtb3VudCBub24gcml1c2NpdG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGV4ZWMgL2Jpbi91bW91bnQgb2YgYCVzJyIKK21zZ3N0ciAiaW9jdGwoKSBub24gw6ggcml1c2NpdG8gYSBsZWdnZXJlIGwnb3JhcmlvIGRhICVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzgKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGZvcmsiCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJtb3VudDogaWwgbW91bnQgcG9pbnQgJXMgbm9uIGVzaXN0ZSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZmFpbGVkXG4iCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSByaW5vbWluYXJlICVzIGluICVzOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3MzAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IHRhYmxlIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3OTEgc3lzLXV0aWxzL2VqZWN0LmM6ODkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAidW1vdW50OiAlczogbm9uIHRyb3ZhdG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzMworbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvIGF1dG8iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODM1CisjLCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvICVsZFgiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODYxCisjLCBjLWZvcm1hdAorbXNnaWQgImRlZmF1bHQgZGV2aWNlOiBgJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgZGVmYXVsdCBkZXZpY2UgYCVzJyIKK21zZ3N0ciAiVXRpbGl6em8gZGVsIHZhbG9yZSBwcmVkZWZpbml0byAldVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODYgc3lzLXV0aWxzL3J0Y3dha2UuYzozNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gZmluZCBkZXZpY2UiCittc2dzdHIgImltcG9zc2liaWxlIHJpYXZ2b2xnZXJlIGlsIGRpc3Bvc2l0aXZvIHN3YXAiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIG5hbWUgaXMgYCVzJyIKK21zZ3N0ciAibG9vcDogaW1wb3NzaWJpbGUgYXByaXJlIGlsIGRldmljZSAlczogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODk0IHN5cy11dGlscy91bW91bnQuYzoyMDYgc3lzLXV0aWxzL3Vtb3VudC5jOjIzNQorIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQwOSBzeXMtdXRpbHMvdW1vdW50LmM6NDMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG1vdW50ZWQiCittc2dzdHIgInVtb3VudDogJXM6IG5vbiB0cm92YXRvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2MgZGV2aWNlOiAlcyAoZGlzayBkZXZpY2Ugd2lsbCBiZSB1c2VkIGZvciBlamVjdCkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQgbW91bnRwb2ludCBvciBkZXZpY2Ugd2l0aCB0aGUgZ2l2ZW4gbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyB3aG9sZS1kaXNrIGRldmljZSIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGhvdC1wbHVnZ2FibGUgZGV2aWNlIgorbXNnc3RyICIlczogbm9uIHNpIHRyYXR0YSBkaSB1biBkaXNwb3NpdGl2byBhIGJsb2NjaGlcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgaXMgYCVzJyIKK21zZ3N0ciAibG9vcDogaW1wb3NzaWJpbGUgYXByaXJlIGlsIGRldmljZSAlczogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTE4Cittc2dpZCAiZXhpdGluZyBkdWUgdG8gLW4vLS1ub29wIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVuYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2FibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zaW5nIHRyYXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b2dnbGluZyB0cmF5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGlzdGluZyBDRC1ST00gc3BlZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IGRldmljZSBpbiB1c2UiCittc2dzdHIgInVtb3VudDogJXM6IGRldmljZSBvY2N1cGF0byIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWxlY3RpbmcgQ0QtUk9NIGRpc2MgIyVsZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgQ0QtUk9NIGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMAorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgU0NTSSBjb21tYW5kcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE3CisjLCBmdXp6eQorbXNnaWQgIlNDU0kgZWplY3Qgc3VjY2VlZGVkIgorbXNnc3RyICIlcyByaXVzY2l0by5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxOAorIywgZnV6enkKK21zZ2lkICJTQ1NJIGVqZWN0IGZhaWxlZCIKK21zZ3N0ciAiZXhlYyBmYWxsaXRhXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBmbG9wcHkgZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI0Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjUKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIHRhcGUgb2ZmbGluZSBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzEKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMgorIywgZnV6enkKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgImFwZXJ0dXJhIGRlbGxhIGRpcmVjdG9yeSBub24gcml1c2NpdGFcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzNgorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZWplY3QiCittc2dzdHIgImlvY3RsKCkgbm9uIMOoIHJpdXNjaXRvIGEgbGVnZ2VyZSBsJ29yYXJpbyBkYSAlcyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlbmFtZT5cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjgxCittc2dpZCAiUHJlYWxsb2NhdGUgc3BhY2UgdG8sIG9yIGRlYWxsb2NhdGUgc3BhY2UgZnJvbSBhIGZpbGUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg0Cittc2dpZCAiIC1jLCAtLWNvbGxhcHNlLXJhbmdlIHJlbW92ZSBhIHJhbmdlIGZyb20gdGhlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODUKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRpZy1ob2xlcyAgICAgIGRldGVjdCB6ZXJvZXMgYW5kIHJlcGxhY2Ugd2l0aCBob2xlc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgbm9uIHNjcml2ZSByZWFsbWVudGUgc3VsIGRpc2NvIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODYKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgIGxlbmd0aCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiICAgIC1DIyBbbyAtLWN5bGluZHJlcyAjXTppbXBvc3RhIGlsIG51bWVybyBkaSBjaWxpbmRyaSBkYSB1dGlsaXp6YXJlIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODcKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgIG1haW50YWluIHRoZSBhcHBhcmVudCBzaXplIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiBwICAgICAgICAgIFN0YW1wYSBkZWxsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgc3Ugc2NoZXJtbyBvIHN1IGZpbGUiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4OAorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICBvZmZzZXQgZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg5Cittc2dpZCAiIC1wLCAtLXB1bmNoLWhvbGUgICAgIHJlcGxhY2UgYSByYW5nZSB3aXRoIGEgaG9sZSAoaW1wbGllcyAtbilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTAKK21zZ2lkICIgLXosIC0temVyby1yYW5nZSAgICAgemVybyBhbmQgZW5zdXJlIGFsbG9jYXRpb24gb2YgYSByYW5nZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMjYKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkOiBrZWVwIHNpemUgbW9kZSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTI3CisjLCBmdXp6eQorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgbm9uIHJpdXNjaXRhXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBub24gcml1c2NpdGFcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjI2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCVqdSBieXRlcykgY29udmVydGVkIHRvIHNwYXJzZSBob2xlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzQ2IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExOAorIywgZnV6enkKK21zZ2lkICJubyBmaWxlbmFtZSBzcGVjaWZpZWQiCittc2dzdHIgIk9wemlvbmUgLS1kYXRlIG5vbiBzcGVjaWZpY2F0YS5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM1OCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzY0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbGVuZ3RoIHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAiVmFsb3JlIGltcG9zdGF0byBub24gdmFsaWRvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzYyCisjLCBmdXp6eQorbXNnaWQgIm5vIGxlbmd0aCBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgIkFyZ29tZW50aSBpbnN1ZmZpY2llbnRpIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzY3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAiVmFsb3JlIGltcG9zdGF0byBub24gdmFsaWRvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxmaWxlPnw8ZGlyZWN0b3J5PiA8Y29tbWFuZD4gWzxhcmd1bWVudD4uLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlPnw8ZGlyZWN0b3J5PiAtYyA8Y29tbWFuZD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGUgZGVzY3JpcHRvciBudW1iZXI+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTkKKyMsIGZ1enp5Cittc2dpZCAiTWFuYWdlIGZpbGUgbG9ja3MgZnJvbSBzaGVsbCBzY3JpcHRzLlxuIgorbXNnc3RyICJsb2dpbjogbmVzc3VuYSBtZW1vcmlhIHBlciBsbyBzY3JpcHQgc2hlbGwuXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYyCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGFyZWQgICAgICAgICAgICAgZ2V0IGEgc2hhcmVkIGxvY2tcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHN5cy11dGlscy9mbG9jay5jOjYzCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAgZ2V0IGFuIGV4Y2x1c2l2ZSBsb2NrIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjQKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVubG9jayAgICAgICAgICAgICByZW1vdmUgYSBsb2NrXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjUKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICBmYWlsIHJhdGhlciB0aGFuIHdhaXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NgorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjcKK21zZ2lkICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxudW1iZXI+ICBleGl0IGNvZGUgYWZ0ZXIgY29uZmxpY3Qgb3IgdGltZW91dFxuIgorbXNnc3RyICIiCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjgKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBjbG9zZSBmaWxlIGRlc2NyaXB0b3IgYmVmb3JlIHJ1bm5pbmcgY29tbWFuZFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjkKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gIHJ1biBhIHNpbmdsZSBjb21tYW5kIHN0cmluZyB0aHJvdWdoIHRoZSBzaGVsbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcwCisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAgZXhlY3V0ZSBjb21tYW5kIHdpdGhvdXQgZm9ya2luZ1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgaW5jcmVhc2UgdmVyYm9zaXR5XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjEwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gbG9jayBmaWxlICVzIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhcHJpcmUgaWwgZmlsZSAnJXMnIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IHZhbHVlIgorbXNnc3RyICJpZCBub24gdmFsaWRvIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDkKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBleGl0IGNvZGUiCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIyOAorbXNnaWQgInRoZSAtLW5vLWZvcmsgYW5kIC0tY2xvc2Ugb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgZXhhY3RseSBvbmUgY29tbWFuZCBhcmd1bWVudCIKK21zZ3N0ciAiJXMgcmljaGllZGUgdW4gYXJnb21lbnRvXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NAorIywgZnV6enkKK21zZ2lkICJiYWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICJkaXNwb3NpdGl2byBhIGJsb2NjaGkiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NworIywgZnV6enkKK21zZ2lkICJyZXF1aXJlcyBmaWxlIGRlc2NyaXB0b3IsIGZpbGUgb3IgZGlyZWN0b3J5IgorbXNnc3RyICJsJ2lub2RlIHJhZGljZSBub24gw6ggdW5hIGRpcmVjdG9yeSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjgxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgbG9jayIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZmFyZSBzdGF0IGRpICVzIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODgKK21zZ2lkICJ0aW1lb3V0IHdoaWxlIHdhaXRpbmcgdG8gZ2V0IGxvY2siCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0dGluZyBsb2NrIHRvb2sgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXMgICUuNmYgc2Vjb25kaVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAiRXJyb3JlIGR1cmFudGUgbCdlc2VjdXppb25lIGRpXHQlc1xuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnRwb2ludD5cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTMKK21zZ2lkICJTdXNwZW5kIGFjY2VzcyB0byBhIGZpbGVzeXN0ZW0gKGV4dDMvNCwgUmVpc2VyRlMsIEpGUywgWEZTKS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1NgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZnJlZXplICAgICAgZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiB0ICAgICAgICAgIENhbWJpYSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW0iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjU3Cittc2dpZCAiIC11LCAtLXVuZnJlZXplICAgIHVuZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTE2Cittc2dpZCAibmVpdGhlciAtLWZyZWV6ZSBvciAtLXVuZnJlZXplIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImwnaW5vZGUgcmFkaWNlIG5vbiDDqCB1bmEgZGlyZWN0b3J5IgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmcmVlemUgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IG5vbiByaXVzY2l0YVxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgbm9uIHJpdXNjaXRhXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAibCdpbm9kZSByYWRpY2Ugbm9uIMOoIHVuYSBkaXJlY3RvcnkiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEZJVFJJTSBpb2N0bCBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgbm9uIHJpdXNjaXRhXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgaGVyZSBpcyBhIHZlcnkgbGFyZ2UgbnVtYmVyLgorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCU8UFJJdTY0PiBieXRlcykgdHJpbW1lZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxOTEgc3lzLXV0aWxzL3N3YXBvbi5jOjcyOSBzeXMtdXRpbHMvdW1vdW50LmM6MzI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50IHBvaW50PlxuIgorbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU0Cittc2dpZCAiRGlzY2FyZCB1bnVzZWQgYmxvY2tzIG9uIGEgbW91bnRlZCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTcKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgdHJpbSBhbGwgbW91bnRlZCBmaWxlc3lzdGVtcyB0aGF0IGFyZSBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU4Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgdGhlIG9mZnNldCBpbiBieXRlcyB0byBzdGFydCBkaXNjYXJkaW5nIGZyb21cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU5CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gZGlzY2FyZFxuIgorbXNnc3RyICIgICAgLUMjIFtvIC0tY3lsaW5kcmVzICNdOmltcG9zdGEgaWwgbnVtZXJvIGRpIGNpbGluZHJpIGRhIHV0aWxpenphcmUiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjAKK21zZ2lkICIgLW0sIC0tbWluaW11bSA8bnVtPiB0aGUgbWluaW11bSBleHRlbnQgbGVuZ3RoIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IG51bWJlciBvZiBkaXNjYXJkZWQgYnl0ZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMxNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWluaW11bSBleHRlbnQgbGVuZ3RoIgorbXNnc3RyICJpb2N0bCgpIG5vbiDDqCByaXVzY2l0byBhIGxlZ2dlcmUgbCdvcmFyaW8gZGEgJXMiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMjkKKyMsIGZ1enp5Cittc2dpZCAibm8gbW91bnRwb2ludCBzcGVjaWZpZWQiCittc2dzdHIgIk9wemlvbmUgLS1kYXRlIG5vbiBzcGVjaWZpY2F0YS5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjM0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZSBkaXNjYXJkIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJBdHRlbnppb25lOiBsJ29wemlvbmUgbm9sb2NrIG5vbiDDqCBnZXN0aXRhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJBc3N1bWluZyBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluICVzIHRpbWUuXG4iCittc2dzdHIgIlNpIHByZXN1cHBvbmUgY2hlIGlsIGNsb2NrIGhhcmR3YXJlIHNpYSBtYW50ZW51dG8gbmVsbCdvcmFyaW8gJXMuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ3IHN5cy11dGlscy9od2Nsb2NrLmM6MzM0Cittc2dpZCAiVVRDIgorbXNnc3RyICJVVEMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ3IHN5cy11dGlscy9od2Nsb2NrLmM6MzMzCittc2dpZCAibG9jYWwiCittc2dzdHIgImxvY2FsZSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMTgKKyMsIGZ1enp5Cittc2dpZCAiIgorIldhcm5pbmc6IHVucmVjb2duaXplZCB0aGlyZCBsaW5lIGluIGFkanRpbWUgZmlsZVxuIgorIihFeHBlY3RlZDogYFVUQycgb3IgYExPQ0FMJyBvciBub3RoaW5nLikiCittc2dzdHIgIiVzOiBhdHRlbnppb25lOiB0ZXJ6YSBsaW5lYSBub24gcmljb25vc2NpdXRhIG5lbCBmaWxlIGFkanRpbWVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBkcmlmdCBhZGp1c3RtZW50IGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICJVbHRpbWEgcmVnb2xhemlvbmUgZGVsbGEgZGVyaXZhIGVmZmV0dHVhdGEgJWxkIHNlY29uZGkgZG9wbyBpbCAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgY2FsaWJyYXRpb24gZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIlVsdGltYSBjYWxpYnJhemlvbmUgZWZmZXR0dWF0YSAlbGQgc2Vjb25kaSBkb3BvIGlsIDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGFyZHdhcmUgY2xvY2sgaXMgb24gJXMgdGltZVxuIgorbXNnc3RyICJJbCBjbG9jayBoYXJkd2FyZSDDqCBzdWxsJ29yYXJpbyAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM1OAorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGZvciBjbG9jayB0aWNrLi4uXG4iCittc2dzdHIgIkF0dGVzYSBkZWwgc2VnbmFsZSBkYWwgY2xvY2suLi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc3luY2hyb25pemF0aW9uIGZhaWxlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmdvdCBjbG9jayB0aWNrXG4iCittc2dzdHIgIi4uLnJpY2V2dXRvIHNlZ25hbGUgZGFsIGNsb2NrXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDIyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdmFsdWVzIGluIGhhcmR3YXJlIGNsb2NrOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCittc2dzdHIgIiBWYWxvcmkgbm9uIHZhbGlkaSBuZWwgY2xvY2sgaGFyZHdhcmU6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHcgY2xvY2sgdGltZSA6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIk9yYXJpbyBjbG9jayBoYXJkd2FyZSA6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kaSBkYWwgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ2NQorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHJlYWQgZnJvbSBIYXJkd2FyZSBDbG9jazogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorbXNnc3RyICJPcmFyaW8gbGV0dG8gZGFsIGNsb2NrIGhhcmR3YXJlOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgSGFyZHdhcmUgQ2xvY2sgdG8gJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIkltcG9zdGF6aW9uZSBkZWwgY2xvY2sgaGFyZHdhcmUgYSAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRpIGRhbCAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNsb2NrIG5vdCBjaGFuZ2VkIC0gdGVzdGluZyBvbmx5LlxuIgorbXNnc3RyICJDbG9jayBub24gY2FtYmlhdG8gLSBzb2xhbWVudGUgdmVyaWZpY2F0by5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAic2xlZXBpbmcgfiVkIHVzZWNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGp1bXBlZCBiYWNrd2FyZCAlLjZmIHNlY29uZHMgdG8gJWxkLiUwNmxkIC0gcmV0YXJnZXRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQuJTA2bGQgPCAlbGQuJTA2bGQgKCUuNmYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2VkIGl0IC0gJWxkLiUwNmxkIGlzIHRvbyBmYXIgcGFzdCAlbGQuJTA2bGQgKCUuNmYgPiAlLjZmKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlbGQuJTA2bGQgaXMgY2xvc2UgZW5vdWdoIHRvICVsZC4lMDZsZCAoJS42ZiA8ICUuNmYpXG4iCisiU2V0IFJUQyB0byAlbGQgKCVsZCArICVkOyByZWZzeXN0aW1lID0gJWxkLiUwNmxkKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Njg4CisjLCBmdXp6eQorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayByZWdpc3RlcnMgY29udGFpbiB2YWx1ZXMgdGhhdCBhcmUgZWl0aGVyIGludmFsaWQgKGUuZy4gNTB0aCBkYXkgb2YgbW9udGgpIG9yIGJleW9uZCB0aGUgcmFuZ2Ugd2UgY2FuIGhhbmRsZSAoZS5nLiBZZWFyIDIwOTUpLiIKK21zZ3N0ciAiSSByZWdpc3RyaSBkZWwgY2xvY2sgaGFyZHdhcmUgY29udGVuZ29ubyB2YWxvcmkgY2hlIG5vbiBzb25vIHZhbGlkaSAocGVyIGVzLiA1MGVzaW1vIGdpb3JubyBkZWwgbWVzZSkgb3BwdXJlIG9sdHJlIGwnaW50ZXJ2YWxsbyBjaGUgw6ggcG9zc2liaWxlIGdlc3RpcmUgKHBlciBlcy4gYW5ubyAyMDk1KS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MjgKKyMsIGZ1enp5Cittc2dpZCAiTm8gLS1kYXRlIG9wdGlvbiBzcGVjaWZpZWQuIgorbXNnc3RyICJPcHppb25lIC0tZGF0ZSBub24gc3BlY2lmaWNhdGEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzM0CisjLCBmdXp6eQorbXNnaWQgIi0tZGF0ZSBhcmd1bWVudCB0b28gbG9uZyIKK21zZ3N0ciAiLS1kYXRlIGFyZ29tZW50byB0cm9wcG8gbHVuZ29cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NDEKKyMsIGZ1enp5Cittc2dpZCAiIgorIlRoZSB2YWx1ZSBvZiB0aGUgLS1kYXRlIG9wdGlvbiBpcyBub3QgYSB2YWxpZCBkYXRlLlxuIgorIkluIHBhcnRpY3VsYXIsIGl0IGNvbnRhaW5zIHF1b3RhdGlvbiBtYXJrcy4iCittc2dzdHIgIiIKKyJJbCB2YWxvcmUgZGVsbCdvcHppb25lIC0tZGF0ZSBub24gw6ggdW5hIGRhdGEgdmFsaWRhLlxuIgorIkluIHBhcnRpY29sYXJlLCBjb250aWVuZSB2aXJnb2xldHRlLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJJc3N1aW5nIGRhdGUgY29tbWFuZDogJXNcbiIKK21zZ3N0ciAiRXNlY3V6aW9uZSBjb21hbmRvIGRhdGU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzUzCittc2dpZCAiVW5hYmxlIHRvIHJ1biAnZGF0ZScgcHJvZ3JhbSBpbiAvYmluL3NoIHNoZWxsLiBwb3BlbigpIGZhaWxlZCIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgZXNlZ3VpcmUgaWwgcHJvZ3JhbW1hICdkYXRlJyBuZWxsYSBzaGVsbCAvYmluL3NoLiBwb3BlbigpIGZhbGxpdG8iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzYxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlc3BvbnNlIGZyb20gZGF0ZSBjb21tYW5kID0gJXNcbiIKK21zZ3N0ciAicmlzcG9zdGEgZGFsIGNvbWFuZG8gZGF0ZSA9ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgdW5leHBlY3RlZCByZXN1bHRzLlxuIgorIlRoZSBjb21tYW5kIHdhczpcbiIKKyIgICVzXG4iCisiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyIgICVzIgorbXNnc3RyICIiCisiSWwgY29tYW5kbyBkYXRlIGVtZXNzbyBkYSAlcyByaXBvcnRhIHJpc3VsdGF0aSBpbXByZXZpc3RpLlxuIgorIklsIGNvbWFuZG8gZXJhOlxuIgorIiAgJXNcbiIKKyJMYSByaXNwb3N0YSDDqCBzdGF0YTpcbiIKKyIgICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhbiBpbnRlZ2VyIHdoZXJlIHRoZSBjb252ZXJ0ZWQgdGltZSB2YWx1ZSB3YXMgZXhwZWN0ZWQuXG4iCisiVGhlIGNvbW1hbmQgd2FzOlxuIgorIiAgJXNcbiIKKyJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorIiAlc1xuIgorbXNnc3RyICIiCisiSWwgY29tYW5kbyBkYXRlIGVtZXNzbyBkYSAlcyByaXBvcnRhIHF1YWxjb3NhIGQnYWx0cm8gcmlzcGV0dG8gYWQgdW4gbnVtZXJvIGludGVybyBsYWRkb3ZlIGVyYSBwcmV2aXN0byBpbCB2YWxvcmUgZGVsbCdvcmFyaW8gY29udmVydGl0by5cbiIKKyJJbCBjb21hbmRvIGVyYTpcbiIKKyIgICVzXG4iCisiTGEgcmlzcG9zdGEgw6ggc3RhdGE6XG4iCisiICAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc4NgorIywgYy1mb3JtYXQKK21zZ2lkICJkYXRlIHN0cmluZyAlcyBlcXVhdGVzIHRvICVsZCBzZWNvbmRzIHNpbmNlIDE5NjkuXG4iCittc2dzdHIgImxhIHN0cmluZ2EgZGVsbGEgZGF0YSAlcyBlcXVpdmFsZSBhICVsZCBzZWNvbmRpIGRhbCAxOTY5LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgyNAorIywgZnV6enkKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBzZXQgdGhlIFN5c3RlbSBUaW1lIGZyb20gaXQuIgorbXNnc3RyICJJbCBjbG9jayBoYXJkd2FyZSBub24gY29udGllbmUgdW4gb3JhcmlvIHZhbGlkbywgcGVyY2nDsiBub24gw6ggcG9zc2liaWxlIGltcG9zdGFyZSBsJ29yYSBkZWwgc2lzdGVtYSBhIHBhcnRpcmUgZGEgZXNzby5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NDMgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXk6XG4iCittc2dzdHIgIiBDaGlhbWF0YSBzZXR0aW1lb2ZkYXkgaW4gY29yc286XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQ0IHN5cy11dGlscy9od2Nsb2NrLmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCittc2dzdHIgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQ2IHN5cy11dGlscy9od2Nsb2NrLmM6OTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorbXNnc3RyICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTAgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgc3lzdGVtIGNsb2NrIGJlY2F1c2UgcnVubmluZyBpbiB0ZXN0IG1vZGUuXG4iCittc2dzdHIgIklsIGNsb2NrIGRpIHNpc3RlbWEgbm9uIHZpZW5lIGltcG9zdGF0byBwZXJjaMOpIHN0YSBmdW56aW9uYW5kbyBpbiBtb2RhbGl0w6AgdGVzdC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NjYgc3lzLXV0aWxzL2h3Y2xvY2suYzo5NjIKKyMsIGZ1enp5Cittc2dpZCAiTXVzdCBiZSBzdXBlcnVzZXIgdG8gc2V0IHN5c3RlbSBjbG9jay4iCittc2dzdHIgIkJpc29nbmEgZXNzZXJlIHN1cGVydXNlciBwZXIgaW1wb3N0YXJlIGlsIGNsb2NrIGRlbCBzaXN0ZW1hXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODY5IHN5cy11dGlscy9od2Nsb2NrLmM6OTY1Cittc2dpZCAic2V0dGltZW9mZGF5KCkgZmFpbGVkIgorbXNnc3RyICIgc2V0dGltZW9mZGF5KCkgbm9uIHJpdXNjaXRvIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkwNQorIywgYy1mb3JtYXQKK21zZ2lkICJDdXJyZW50IHN5c3RlbSB0aW1lOiAlbGQgPSAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlx0VVRDOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSAtLXVwZGF0ZS1kcmlmdCBvcHRpb24gd2FzIG5vdCB1c2VkLlxuIgorbXNnc3RyICJOb24gdmllbmUgZWZmZXR0dWF0YSBsYSByZWdvbGF6aW9uZSBkZWwgZmF0dG9yZSBkaSBkZXJpdmEgcG9pY2jDqSBpbiBwcmVjZWRlbnphIGlsIGNsb2NrIGhhcmR3YXJlY29udGVuZXZhIGVsZW1lbnRpIGluc29saXRpLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgSGFyZHdhcmUgQ2xvY2sgcHJldmlvdXNseSBjb250YWluZWQgZ2FyYmFnZS5cbiIKK21zZ3N0ciAiTm9uIHZpZW5lIGVmZmV0dHVhdGEgbGEgcmVnb2xhemlvbmUgZGVsIGZhdHRvcmUgZGkgZGVyaXZhIHBvaWNow6kgaW4gcHJlY2VkZW56YSBpbCBjbG9jayBoYXJkd2FyZWNvbnRlbmV2YSBlbGVtZW50aSBpbnNvbGl0aS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGxhc3QgY2FsaWJyYXRpb24gdGltZSBpcyB6ZXJvLFxuIgorInNvIGhpc3RvcnkgaXMgYmFkIGFuZCBjYWxpYnJhdGlvbiBzdGFydG92ZXIgaXMgbmVjZXNzYXJ5LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBpdCBoYXMgYmVlbiBsZXNzIHRoYW4gZm91ciBob3VycyBzaW5jZSB0aGUgbGFzdCBjYWxpYnJhdGlvbi5cbiIKK21zZ3N0ciAiTm9uIHZpZW5lIGVmZmV0dHVhdGEgbGEgcmVnb2xhemlvbmUgZGVsIGZhdHRvcmUgZGkgZGVyaXZhIHBvaWNow6kgw6ggdHJhc2NvcnNvIG1lbm8gZGkgdW4gZ2lvcm5vZGFsbCd1bHRpbWEgY2FsaWJyYXppb25lLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0IGZhY3RvciB3YXMgY2FsY3VsYXRlZCBhcyAlZiBzZWNvbmRzL2RheS5cbiIKKyJJdCBpcyBmYXIgdG9vIG11Y2guIFJlc2V0dGluZyB0byB6ZXJvLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0ZWQgJWYgc2Vjb25kcyBpbiB0aGUgcGFzdCAlZiBzZWNvbmRzXG4iCisiaW4gc3BpdGUgb2YgYSBkcmlmdCBmYWN0b3Igb2YgJWYgc2Vjb25kcy9kYXkuXG4iCisiQWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBieSAlZiBzZWNvbmRzL2RheVxuIgorbXNnc3RyICIiCisiSWwgY2xvY2sgaGEgYWNjdW11bGF0byB1bmEgZGVyaXZhIGRpICUuMWYgc2Vjb25kaSBuZWdsaSB1bHRpbWkgJWQgc2Vjb25kaSBub25vc3RhbnRlIGlsIGZhdHRvcmUgZGkgZGVyaXZhIGZvc3NlIGRpICVmIHNlY29uZGkvZ2lvcm5vLlxuIgorIlJlZ29sYXppb25lIGRlbCBmYXR0b3JlIGRpIGRlcml2YSBhICVmIHNlY29uZGkvZ2lvcm5vXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWQgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVkIHNlY29uZHNcbiIKK21zZ3N0clswXSAiSWwgdGVtcG8gdHJhc2NvcnNvIGRhbGwndWx0aW1hIHJlZ29sYXppb25lIMOoIGRpICVkIHNlY29uZGlcbiIKK21zZ3N0clsxXSAiSWwgdGVtcG8gdHJhc2NvcnNvIGRhbGwndWx0aW1hIHJlZ29sYXppb25lIMOoIGRpICVkIHNlY29uZGlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYWxjdWxhdGVkIEhhcmR3YXJlIENsb2NrIGRyaWZ0IGlzICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiVzICAlLjZmIHNlY29uZGlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTMzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCB1cGRhdGluZyBhZGp0aW1lIGZpbGUgYmVjYXVzZSBvZiB0ZXN0aW5nIG1vZGUuXG4iCittc2dzdHIgIklsIGZpbGUgYWRqdGltZSBub24gdmllbmUgYWdnaW9ybmF0byBhIGNhdXNhIGRlbGxhIG1vZGFsaXTDoCB0ZXN0LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldvdWxkIGhhdmUgd3JpdHRlbiB0aGUgZm9sbG93aW5nIHRvICVzOlxuIgorIiVzIgorbXNnc3RyICIiCisiU2kgc2FyZWJiZSBzY3JpdHRvIHF1YW50byBzZWd1ZSBpbiAlczpcbiIKKyIlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIGluIGl0ICglcykgZm9yIHdyaXRpbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTQ5IHN5cy11dGlscy9od2Nsb2NrLmM6MTE1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgdXBkYXRlIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzICglcykgaW4gaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTY0CisjLCBmdXp6eQorbXNnaWQgIkRyaWZ0IGFkanVzdG1lbnQgcGFyYW1ldGVycyBub3QgdXBkYXRlZC4iCittc2dzdHIgIlBhcmFtZXRyaSBkaSByZWdvbGF6aW9uZSBkZWxsYSBkZXJpdmEgbm9uIGFnZ2lvcm5hdGkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIwMAorIywgZnV6enkKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBhZGp1c3QgaXQuIgorbXNnc3RyICJJbCBjbG9jayBoYXJkd2FyZSBub24gY29udGllbmUgdW4nb3JhIHZhbGlkYSwgcGVyY2nDsiBub24gw6ggcG9zc2liaWxlIHJlZ29sYXJsby5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGxhc3QgYWRqdXN0bWVudCB0aW1lIGlzIHplcm8sIHNvIGhpc3RvcnkgaXMgYmFkLlxuIgorbXNnc3RyICJJbCBjbG9jayBkaSBzaXN0ZW1hIG5vbiB2aWVuZSBpbXBvc3RhdG8gcGVyY2jDqSBzdGEgZnVuemlvbmFuZG8gaW4gbW9kYWxpdMOgIHRlc3QuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBkcmlmdCBmYWN0b3IgJWYgaXMgZmFyIHRvbyBoaWdoLlxuIgorbXNnc3RyICJJbCBjbG9jayBkaSBzaXN0ZW1hIG5vbiB2aWVuZSBpbXBvc3RhdG8gcGVyY2jDqSBzdGEgZnVuemlvbmFuZG8gaW4gbW9kYWxpdMOgIHRlc3QuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJObyB1c2FibGUgY2xvY2sgaW50ZXJmYWNlIGZvdW5kLlxuIgorbXNnc3RyICJJbXBvc3NpYmlsZSB0cm92YXJlIHVuJ2ludGVyZmFjY2lhIGNsb2NrIHV0aWxpenphYmlsZS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5lZWRlZCBhZGp1c3RtZW50IGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kLCBzbyBub3Qgc2V0dGluZyBjbG9jay5cbiIKK21zZ3N0ciAiTGEgcmVnb2xhemlvbmUgbmVjZXNzYXJpYSBlcXVpdmFsZSBhIG1lbm8gZGkgdW4gc2Vjb25kbywgcGVyY2nDsiBpbCBjbG9jayBub24gdmllbmUgaW1wb3N0YXRvLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzODggc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBzZXQgc3lzdGVtIGNsb2NrLlxuIgorbXNnc3RyICJJbXBvc3NpYmlsZSBpbXBvc3RhcmUgaWwgY2xvY2sgZGkgc2lzdGVtYS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjksIFJUQyBpcyBwcmVkaWN0ZWQgdG8gcmVhZCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQzMQorIywgZnV6enkKK21zZ2lkICIiCisiVGhlIGtlcm5lbCBrZWVwcyBhbiBlcG9jaCB2YWx1ZSBmb3IgdGhlIEhhcmR3YXJlIENsb2NrIG9ubHkgb24gYW4gQWxwaGEgbWFjaGluZS5cbiIKKyJUaGlzIGNvcHkgb2YgaHdjbG9jayB3YXMgYnVpbHQgZm9yIGEgbWFjaGluZSBvdGhlciB0aGFuIEFscGhhXG4iCisiKGFuZCB0aHVzIGlzIHByZXN1bWFibHkgbm90IHJ1bm5pbmcgb24gYW4gQWxwaGEgbm93KS4gIE5vIGFjdGlvbiB0YWtlbi4iCittc2dzdHIgIiIKKyJJbCBrZXJuZWwgbWFudGllbmUgdW4gdmFsb3JlIGVwb2NoIHBlciBpbCBjbG9jayBoYXJkd2FyZSBzb2xvIHN1IGRpIHVuYSBtYWNjaGluYUFscGhhLlxuIgorIlF1ZXN0YSBjb3BpYSBkaSBod2Nsb2NrIMOoIHN0YXRhIHJlYWxpenphdGEgcGVyIHVuYSBtYWNjaGluYSBkaXZlcnNhIGRhIEFscGhhXG4iCisiKGUgcXVpbmRpLCBwcmVzdW1pYmlsbWVudGUsIG5vbiBwdcOyIGVzc2VyZSBlc2VndWl0YSBzdSB1biBBbHBoYSBpbiBxdWVzdG8gbW9tZW50bykuIE5lc3N1bmEgYXppb25lIGludHJhcHJlc2EuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ0OAorIywgZnV6enkKK21zZ2lkICJVbmFibGUgdG8gZ2V0IHRoZSBlcG9jaCB2YWx1ZSBmcm9tIHRoZSBrZXJuZWwuIgorbXNnc3RyICJJbXBvc3NpYmlsZSBvdHRlbmVyZSBpbCB2YWxvcmUgZXBvY2ggZGFsIGtlcm5lbC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIktlcm5lbCBpcyBhc3N1bWluZyBhbiBlcG9jaCB2YWx1ZSBvZiAlbHVcbiIKK21zZ3N0ciAiSWwga2VybmVsIHByZXNzdXBwb25lIHVuIHZhbG9yZSBlcG9jaCBkaSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDU1CisjLCBmdXp6eQorbXNnaWQgIlRvIHNldCB0aGUgZXBvY2ggdmFsdWUsIHlvdSBtdXN0IHVzZSB0aGUgJ2Vwb2NoJyBvcHRpb24gdG8gdGVsbCB0byB3aGF0IHZhbHVlIHRvIHNldCBpdC4iCittc2dzdHIgIlBlciBpbXBvc3RhcmUgaWwgdmFsb3JlIGVwb2NoIHNpIGRldmUgdXRpbGl6emFyZSBsJ29wemlvbmUgJ2Vwb2NoJyBwZXIgaW5kaWNhcmUgc3UgcXVhbGUgdmFsb3JlIGltcG9zdGFybG8uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgdGhlIGVwb2NoIHRvICVsdSAtIHRlc3Rpbmcgb25seS5cbiIKK21zZ3N0ciAiTm9uIHZpZW5lIGltcG9zdGF0byBpbCB2YWxvcmUgZXBvY2ggYSAlZCAtIHNpIHRyYXR0YSBzb2xhbWVudGUgZGkgdW5hIHZlcmlmaWNhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIHNldCB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbC5cbiIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgaW1wb3N0YXJlIGlsIHZhbG9yZSBlcG9jaCBuZWwga2VybmVsLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NTYKK21zZ2lkICIgaHdjbG9jayBbZnVuY3Rpb25dIFtvcHRpb24uLi5dXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTU5Cittc2dpZCAiUXVlcnkgb3Igc2V0IHRoZSBoYXJkd2FyZSBjbG9jay5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjEKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkZ1bmN0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpemlvbmk6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2MgorbXNnaWQgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorIiAtciwgLS1zaG93ICAgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCByZXN1bHRcbiIKKyIgICAgIC0tZ2V0ICAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgZHJpZnQgY29ycmVjdGVkIHJlc3VsdFxuIgorIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2NgorbXNnaWQgIiIKKyIgLXMsIC0taGN0b3N5cyAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorIiAtdywgLS1zeXN0b2hjICAgICAgICBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIGZyb20gdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWVcbiIKKyIgICAgIC0tc3lzdHogICAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBiYXNlZCBvbiB0aGUgY3VycmVudCB0aW1lem9uZVxuIgorIiAgICAgLS1hZGp1c3QgICAgICAgICBhZGp1c3QgdGhlIFJUQyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IHNpbmNlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNsb2NrIHdhcyBsYXN0IHNldCBvciBhZGp1c3RlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU3MQorbXNnaWQgIiAtYywgLS1jb21wYXJlICAgICAgICBwZXJpb2RpY2FsbHkgY29tcGFyZSB0aGUgc3lzdGVtIGNsb2NrIHdpdGggdGhlIENNT1MgY2xvY2tcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NzMKK21zZ2lkICIiCisiICAgICAtLWdldGVwb2NoICAgICAgIHByaW50IG91dCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWVcbiIKKyIgICAgIC0tc2V0ZXBvY2ggICAgICAgc2V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZSB0byB0aGUgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgZ2l2ZW4gd2l0aCAtLWVwb2NoXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTc3Cittc2dpZCAiIgorIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IFJUQyByZWFkaW5nIGF0IHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTgxCittc2dpZCAiIgorIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyIgICAgIC0tbG9jYWx0aW1lICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4NAorbXNnaWQgIiAtZiwgLS1ydGMgPGZpbGU+ICAgICBzcGVjaWFsIC9kZXYvLi4uIGZpbGUgdG8gdXNlIGluc3RlYWQgb2YgZGVmYXVsdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLWRpcmVjdGlzYSAgICAgIGFjY2VzcyB0aGUgSVNBIGJ1cyBkaXJlY3RseSBpbnN0ZWFkIG9mICVzXG4iCisiICAgICAtLWJhZHllYXIgICAgICAgIGlnbm9yZSBSVEMncyB5ZWFyIGJlY2F1c2UgdGhlIEJJT1MgaXMgYnJva2VuXG4iCisiICAgICAtLWRhdGUgPHRpbWU+ICAgIHNwZWNpZmllcyB0aGUgdGltZSB0byB3aGljaCB0byBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisiICAgICAtLWVwb2NoIDx5ZWFyPiAgIHNwZWNpZmllcyB0aGUgeWVhciB3aGljaCBpcyB0aGUgYmVnaW5uaW5nIG9mIHRoZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIGNsb2NrJ3MgZXBvY2ggdmFsdWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS11cGRhdGUtZHJpZnQgICB1cGRhdGUgZHJpZnQgZmFjdG9yIGluICUxJHMgKHJlcXVpcmVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgLS1zZXQgb3IgLS1zeXN0b2hjKVxuIgorIiAgICAgLS1ub2FkamZpbGUgICAgICBkbyBub3QgYWNjZXNzICUxJHM7IHRoaXMgcmVxdWlyZXMgdGhlIHVzZSBvZlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZVxuIgorIiAgICAgLS1hZGpmaWxlIDxmaWxlPiBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICUxJHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1OTkKK21zZ2lkICIiCisiICAgICAtLXRlc3QgICAgICAgICAgIGRvIG5vdCB1cGRhdGUgYW55dGhpbmcsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGhhcHBlblxuIgorIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBkZWJ1Z2dpbmcgbW9kZVxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTYwMgorIywgZnV6enkKK21zZ2lkICIiCisiIC1KfC0tamVuc2VuLCAtQXwtLWFyYywgLVN8LS1zcm0sIC1GfC0tZnVua3ktdG95XG4iCisiICAgICAgdGVsbCBod2Nsb2NrIHRoZSB0eXBlIG9mIEFscGhhIHlvdSBoYXZlIChzZWUgaHdjbG9jayg4KSlcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAgLS1qZW5zZW4sIC0tYXJjLCAtLXNybSwgLS1mdW5reS10b3lcbiIKKyIgICAgICAgICAgICAgICAgaW5kaWNhbm8gYWwgaHdjbG9jayBpbCB0aXBvIGRpIGFscGhhIHV0aWxpenphdG8gKGNvbnN1bHRhcmUgaHdjbG9jayg4KSlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNzI4CisjLCBmdXp6eQorbXNnaWQgIlVuYWJsZSB0byBjb25uZWN0IHRvIGF1ZGl0IHN5c3RlbSIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgaW1wb3N0YXJlIGlsIGNsb2NrIGRpIHNpc3RlbWEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTgyNgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGVwb2NoIGFyZ3VtZW50IgorbXNnc3RyICJpZCBub24gdmFsaWRvIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdGFrZXMgbm8gbm9uLW9wdGlvbiBhcmd1bWVudHMuICBZb3Ugc3VwcGxpZWQgJWQuXG4iCittc2dzdHIgIiVzIG5vbiBjb25zaWRlcmEgYXJnb21lbnRpIGNoZSBub24gc2lhbm8gb3B6aW9uaS4gw4ggc3RhdG8gZm9ybml0byAlZC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODgwCisjLCBmdXp6eQorbXNnaWQgIldpdGggLS1ub2FkamZpbGUsIHlvdSBtdXN0IHNwZWNpZnkgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lIgorbXNnc3RyICIlczogQ29uIC0tbm9hZGpmaWxlLCBvY2NvcnJlIHNwZWNpZmljYXJlIG8gLS11dGMgbyAtLWxvY2FsdGltZVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4OTMKKyMsIGZ1enp5Cittc2dpZCAiTm8gdXNhYmxlIHNldC10byB0aW1lLiAgQ2Fubm90IHNldCBjbG9jay4iCittc2dzdHIgIkltcG9zc2liaWxlIHV0aWxpenphcmUgbCdvcmEgaW1wb3N0YXRhLiBJbXBvc3NpYmlsZSBpbXBvc3RhcmUgaWwgY2xvY2suXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTkxNworbXNnaWQgIkNhbm5vdCBhY2Nlc3MgdGhlIEhhcmR3YXJlIENsb2NrIHZpYSBhbnkga25vd24gbWV0aG9kLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE5MjAKKyMsIGZ1enp5Cittc2dpZCAiVXNlIHRoZSAtLWRlYnVnIG9wdGlvbiB0byBzZWUgdGhlIGRldGFpbHMgb2Ygb3VyIHNlYXJjaCBmb3IgYW4gYWNjZXNzIG1ldGhvZC4iCittc2dzdHIgIlVzYXJlIGwnb3B6aW9uZSAtLWRlYnVnIHBlciB2ZWRlcmUgaSBkZXR0YWdsaSBkZWxsYSByaWNlcmNhIGRpIHVuIG1ldG9kbyBkaSBhY2Nlc3NvLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgImJvb3RlZCBmcm9tIE1JTE9cbiIKK21zZ3N0ciAiYXZ2aWF0byBkYSBNSUxPXG4iCisKKyMgTmRUOiBjcmVkbyBjaGUgUnVmZmlhbiBzaWEgdW4gdGlwbyBkaSBzY2hlZGEgbyBjcHUgcGVyIGFscGhhCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIlJ1ZmZpYW4gQkNEIGNsb2NrXG4iCittc2dzdHIgIk9yb2xvZ2lvIEJDRCBSdWZmaWFuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvY2twb3J0IGFkanVzdGVkIHRvIDB4JXhcbiIKK21zZ3N0ciAicG9ydGEgY2xvY2sgcmVnb2xhdGEgc3UgMHgleFxuIgorCisjIE5kVDogVE9ZID0gVGltZSBPZiBZZWFyCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjcwCisjLCBjLWZvcm1hdAorbXNnaWQgImZ1bmt5IFRPWSFcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mjk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJhdG9taWMgJXMgZmFpbGVkIGZvciAxMDAwIGl0ZXJhdGlvbnMhIgorbXNnc3RyICIlczogJXMgYXRvbWljbyBub24gw6ggcml1c2NpdG8gcGVyIDEwMDAgaXRlcmF6aW9uaSEiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc19yZWFkKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjMyOAorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3JlYWQoKTogcmVhZCBmcm9tIGRhdGEgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3dyaXRlKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3dyaXRlKCk6IHdyaXRlIHRvIGRhdGEgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY0NQorIywgZnV6enkKK21zZ2lkICJJIGZhaWxlZCB0byBnZXQgcGVybWlzc2lvbiBiZWNhdXNlIEkgZGlkbid0IHRyeS4iCittc2dzdHIgIk5vbiBzb25vIHJpdXNjaXRvIGFkIG90dGVuZXJlIGwnYXV0b3JpenphemlvbmUgcGVyY2jDqSBub24gaG8gcHJvdmF0by5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY0OAorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZ2V0IEkvTyBwb3J0IGFjY2VzczogIHRoZSBpb3BsKDMpIGNhbGwgZmFpbGVkLiIKK21zZ3N0ciAiJXMgbm9uIHJpZXNjZSBhIG90dGVuZXJlIGwnYWNjZXNzbyBhbGxhIHBvcnRhIEkvTzogIGNoaWFtYXRhIGlvcGwoMylub24gcml1c2NpdGEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NTEKK21zZ2lkICJQcm9iYWJseSB5b3UgbmVlZCByb290IHByaXZpbGVnZXMuXG4iCittc2dzdHIgIlByb2JhYmlsbWVudGUgc29ubyBuZWNlc3NhcmkgcHJpdmlsZWdpIGRpIHJvb3QuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NTgKK21zZ2lkICJVc2luZyBkaXJlY3QgSS9PIGluc3RydWN0aW9ucyB0byBJU0EgY2xvY2suIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHJlYWQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICJMZXR0dXJhIGRlbGwnb3JhcmlvIGF0dHJhdmVyc28gaW9jdGwoKSBzdSAlcyBub24gcml1c2NpdGEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSAlcyB0byBjaGFuZ2VcbiIKK21zZ3N0ciAiQXR0ZXNhIGluIGxvb3AgcGVyIGlsIGNhbWJpbyBvcmEgZGEgJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjM2CisjLCBmdXp6eQorbXNnaWQgIlRpbWVkIG91dCB3YWl0aW5nIGZvciB0aW1lIGNoYW5nZS4iCittc2dzdHIgIlRlbXBvIGQnYXR0ZXNhIHBlciBpbCBjYW1iaW8gb3JhIGVzYXVyaXRvLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgaGF2ZSBpbnRlcnJ1cHQgZnVuY3Rpb25zLiAiCittc2dzdHIgIiVzIG5vbiBoYSBmdW56aW9uaSBkaSBpbnRlcnJ1cHQuICIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzAyCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgZmFpbGVkIgorbXNnc3RyICJzZWxlY3QoKSBzdSAlcyBwZXIgbCdhdHRlc2EgZGVsIHNlZ25hbGUgZGFsIGNsb2NrIGZhbGxpdGEiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayB0aW1lZCBvdXQiCittc2dzdHIgInNlbGVjdCgpIHN1ICVzIHBlciBsJ2F0dGVzYSBkZWwgc2VnbmFsZSBkYWwgY2xvY2sgc2NhZHV0YVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9mZiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQiCittc2dzdHIgIk5vbiByaXVzY2l0YSBsYSBkaXNhdHRpdmF6aW9uZSBkZWdsaSBpbnRlcnJ1cHQgZCdhZ2dpb3JuYW1lbnRvIGF0dHJhdmVyc28gaW9jdGwoKSBzdSAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvbiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQgdW5leHBlY3RlZGx5IgorbXNnc3RyICJpb2N0bCgpIHN1ICVzIHBlciBhdHRpdmFyZSBnbGkgaW50ZXJydXB0IGRpIGFnZ2lvcm5hbWVudG8gbm9uIHJpdXNjaXRhIGluYXNwZXR0YXRhbWVudGUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHNldCB0aGUgdGltZSBmYWlsZWQuIgorbXNnc3RyICJpb2N0bCgpIHN1ICVzIHBlciBpbXBvc3RhcmUgbCdvcmEgbm9uIHJpdXNjaXRhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHdhcyBzdWNjZXNzZnVsLlxuIgorbXNnc3RyICJpb2N0bCglcykgaGEgZnVuemlvbmF0by5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mzg3Cittc2dpZCAiVXNpbmcgdGhlIC9kZXYgaW50ZXJmYWNlIHRvIHRoZSBjbG9jay4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDE3IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVG8gbWFuaXB1bGF0ZSB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbCwgd2UgbXVzdCBhY2Nlc3MgdGhlIExpbnV4ICdydGMnIGRldmljZSBkcml2ZXIgdmlhIHRoZSBkZXZpY2Ugc3BlY2lhbCBmaWxlICVzLiAgVGhpcyBmaWxlIGRvZXMgbm90IGV4aXN0IG9uIHRoaXMgc3lzdGVtLiIKK21zZ3N0ciAiUGVyIG1vZGlmaWNhcmUgaWwgdmFsb3JlIGVwb2NoIG5lbCBrZXJuZWwsIHNpIGRldmUgYWNjZWRlcmUgYWwgZHJpdmVyIGRpIHBlcmlmZXJpY2EgJ3J0YycgZGkgTGludXggYXR0cmF2ZXJzbyBpbCBmaWxlIHNwZWNpYWxlIGRlbGxhIHBlcmlmZXJpY2EgJXMuICBRdWVzdG8gZmlsZSBub24gZXNpc3RlIHN1IHF1ZXN0byBzaXN0ZW1hLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoUlRDX0VQT0NIX1JFQUQpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoUlRDX0VQT0NIX1JFQUQpIHN1ICVzIG5vbiByaXVzY2l0YSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3ZSBoYXZlIHJlYWQgZXBvY2ggJWx1IGZyb20gJXMgd2l0aCBSVENfRVBPQ0hfUkVBRCBpb2N0bC5cbiIKK21zZ3N0ciAibGV0dHVyYSBkaSBlcG9jaCAlbGQgZGEgJXMgY29uIFJUQ19FUE9DSF9SRUFEIGlvY3RsLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlcG9jaCB2YWx1ZSBtYXkgbm90IGJlIGxlc3MgdGhhbiAxOTAwLiAgWW91IHJlcXVlc3RlZCAlbGQiCittc2dzdHIgIklsIHZhbG9yZSBlcG9jaCBub24gcHXDsiBlc3NlcmUgaW5mZXJpb3JlIGEgMTkwMC4gU2kgw6ggcmljaGllc3RvICVsZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgZXBvY2ggdG8gJWx1IHdpdGggUlRDX0VQT0NIX1NFVCBpb2N0bCB0byAlcy5cbiIKK21zZ3N0ciAiaW1wb3N0YXppb25lIGVwb2NoIHN1ICVsZCBjb24gUlRDX0VQT0NIX1NFVCBpb2N0bCBzdSAlcyBpbiBjb3Jzby5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUga2VybmVsIGRldmljZSBkcml2ZXIgZm9yICVzIGRvZXMgbm90IGhhdmUgdGhlIFJUQ19FUE9DSF9TRVQgaW9jdGwuIgorbXNnc3RyICJJbCBkcml2ZXIgZGkgcGVyaWZlcmljYSBwZXIgaWwga2VybmVsIHBlciAlcyBub24gaGEgUlRDX0VQT0NIX1NFVCBpb2N0bC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKFJUQ19FUE9DSF9TRVQpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiTm9uIHJpdXNjaXRvIGlvY3RsKFJUQ19FUE9DSF9TRVQpIHN1ICVzIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo2OQorbXNnaWQgIkNyZWF0ZSB2YXJpb3VzIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzIKK21zZ2lkICIgLU0sIC0tc2htZW0gPHNpemU+ICAgICAgIGNyZWF0ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgb2Ygc2l6ZSA8c2l6ZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MworbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUgPG51bWJlcj4gY3JlYXRlIHNlbWFwaG9yZSBhcnJheSB3aXRoIDxudW1iZXI+IGVsZW1lbnRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzQKKyMsIGZ1enp5Cittc2dpZCAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICBjcmVhdGUgbWVzc2FnZSBxdWV1ZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc1Cittc2dpZCAiIC1wLCAtLW1vZGUgPG1vZGU+ICAgICAgICBwZXJtaXNzaW9uIGZvciB0aGUgcmVzb3VyY2UgKGRlZmF1bHQgaXMgMDY0NClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTAgc3lzLXV0aWxzL2xvc2V0dXAuYzo2OTcgc3lzLXV0aWxzL3pyYW1jdGwuYzo2MjIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNpemUiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWxlbWVudHMiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MQorbXNnaWQgImNyZWF0ZSBzaGFyZSBtZW1vcnkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBpZDogJWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlZ21lbnRvIG1lbW9yaWEgY29uZGl2aXNhIHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0OQorbXNnaWQgImNyZWF0ZSBtZXNzYWdlIHF1ZXVlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgcXVldWUgaWQ6ICVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJDb2RhIGRpIG1lc3NhZ2dpIG1zcWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1NworIywgZnV6enkKK21zZ2lkICJjcmVhdGUgc2VtYXBob3JlIGZhaWxlZCIKK21zZ3N0ciAic2VtYWZvcmkgYWxsb2NhdGkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlbWFwaG9yZSBpZDogJWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIm1hdHJpY2Ugc2VtYWZvcmkgc2VtaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBzaG18bXNnfHNlbSA8aWQ+Li4uXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU0Cittc2dpZCAiUmVtb3ZlIGNlcnRhaW4gSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1NworIywgZnV6enkKK21zZ2lkICIgLW0sIC0tc2htZW0taWQgPGlkPiAgICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBpZFxuIgorbXNnc3RyICIiCisiXG4iCisiU2VnbWVudG8gbWVtb3JpYSBjb25kaXZpc2Egc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTgKK21zZ2lkICIgLU0sIC0tc2htZW0ta2V5IDxrZXk+ICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBrZXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OQorbXNnaWQgIiAtcSwgLS1xdWV1ZS1pZCA8aWQ+ICAgICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYwCittc2dpZCAiIC1RLCAtLXF1ZXVlLWtleSA8a2V5PiAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGtleVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYxCittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8aWQ+ICAgIHJlbW92ZSBzZW1hcGhvcmUgYnkgaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MgorbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUta2V5IDxrZXk+ICByZW1vdmUgc2VtYXBob3JlIGJ5IGtleVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYzCittc2dpZCAiIC1hLCAtLWFsbFs9c2htfG1zZ3xzZW1dICAgIHJlbW92ZSBhbGwgKGluIHRoZSBzcGVjaWZpZWQgY2F0ZWdvcnkpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgaWQgYCVkJ1xuIgorbXNnc3RyICIiCisiXG4iCisiU2VnbWVudG8gbWVtb3JpYSBjb25kaXZpc2Egc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIG1lc3NhZ2UgcXVldWUgaWQgYCVkJ1xuIgorbXNnc3RyICIiCisiXG4iCisiQ29kYSBkaSBtZXNzYWdnaSBtc3FpZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVtb3Zpbmcgc2VtYXBob3JlIGlkIGAlZCdcbiIKK21zZ3N0ciAiIgorIlxuIgorIm1hdHJpY2Ugc2VtYWZvcmkgc2VtaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4IHN5cy11dGlscy9pcGNybS5jOjIyMgorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBrZXkiCittc2dzdHIgImF1dG9yaXp6YXppb25lIG5lZ2F0YSBwZXIgbGEgY2hpYXZlIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDgKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3IgaWQiCittc2dzdHIgImF1dG9yaXp6YXppb25lIG5lZ2F0YSBwZXIgaWQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMSBzeXMtdXRpbHMvaXBjcm0uYzoyMjgKK21zZ2lkICJpbnZhbGlkIGtleSIKK21zZ3N0ciAiY2hpYXZlIG5vbiB2YWxpZGEiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMQorbXNnaWQgImludmFsaWQgaWQiCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNCBzeXMtdXRpbHMvaXBjcm0uYzoyMjUKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQga2V5IgorbXNnc3RyICJjaGlhdmUgZ2nDuSByaW1vc3NhIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQgaWQiCittc2dzdHIgImlkIGdpw6Agcmltb3NzbyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE3IHN5cy11dGlscy9pcGNybS5jOjIzMQorIywgZnV6enkKK21zZ2lkICJrZXkgZmFpbGVkIgorbXNnc3RyICJyaWNlcmNhIG5vbiByaXVzY2l0YSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgImlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgbm9uIHJpdXNjaXRvIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWQ6ICVzIgorbXNnc3RyICJpZCBub24gdmFsaWRvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzb3VyY2UocykgZGVsZXRlZFxuIgorbXNnc3RyICJyaXNvcnNhIGVsaW1pbmF0YVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwga2V5ICglcykiCittc2dzdHIgIiVzOiBjaGlhdmUgaWxsZWdhbGUgKCVzKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNTYKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICJpbCBrZXJuZWwgbm9uIMOoIGNvbmZpZ3VyYXRvIHBlciBsYSBjb25kaXZpc2lvbmUgZGVsbGEgbWVtb3JpYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNjkKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzIgorbXNnc3RyICJrZXJuZWwgbm9uIGNvbmZpZ3VyYXRvIHBlciBpIHNlbWFmb3JpXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI5MAorIywgZnV6enkKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICJrZXJuZWwgbm9uIGNvbmZpZ3VyYXRvIHBlciBsZSBjb2RlIGRpIG1lc3NhZ2dpXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtyZXNvdXJjZS1vcHRpb24uLi5dIFtvdXRwdXQtb3B0aW9uXVxuIgorIiAlMSRzIC1tfC1xfC1zIC1pIDxpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU2IHN5cy11dGlscy9sc2lwYy5jOjI4MAorIywgZnV6enkKK21zZ2lkICJTaG93IGluZm9ybWF0aW9uIG9uIElQQyBmYWNpbGl0aWVzLlxuIgorbXNnc3RyICIlcyBmb3JuaXNjZSBpbmZvcm1hemlvbmkgc3VsbGUgZnVuemlvbmFsaXTDoCBpcGMgYSBjdWkgYXZldGUgYWNjZXNzbyBpbiBsZXR0dXJhLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICItaSBpZCBbLXMgLXEgLW1dIDogZGV0dGFnbGkgc3VsbGEgcmlzb3JzYSBpZGVudGlmaWNhdGEgZGEgaWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NCBzeXMtdXRpbHMvbHNpcGMuYzoyODMKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2Ugb3B0aW9uczpcbiIKK21zZ3N0ciAib3B6aW9uaSBwZXJpY29sb3NlOiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NSBzeXMtdXRpbHMvbHNpcGMuYzoyODQKK21zZ2lkICIgLW0sIC0tc2htZW1zICAgICAgc2hhcmVkIG1lbW9yeSBzZWdtZW50c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjYgc3lzLXV0aWxzL2xzaXBjLmM6Mjg1Cittc2dpZCAiIC1xLCAtLXF1ZXVlcyAgICAgIG1lc3NhZ2UgcXVldWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NyBzeXMtdXRpbHMvbHNpcGMuYzoyODYKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlcyAgc2VtYXBob3Jlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjgKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgYWxsIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiT3V0cHV0IG9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXppb25pOlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcyCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgIHNob3cgUElEcyBvZiBjcmVhdG9yIGFuZCBsYXN0IG9wZXJhdG9yXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzQKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzUKK21zZ2lkICIgLWwsIC0tbGltaXRzICAgICAgc2hvdyByZXNvdXJjZSBsaW1pdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc2Cittc2dpZCAiIC11LCAtLXN1bW1hcnkgICAgIHNob3cgc3RhdHVzIHN1bW1hcnlcbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHN5cy11dGlscy9pcGNzLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWh1bWFuICAgICAgIHNob3cgc2l6ZXMgaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc4Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgIHNob3cgc2l6ZXMgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjE2NAorbXNnaWQgIndoZW4gdXNpbmcgYW4gSUQsIGEgc2luZ2xlIHJlc291cmNlIG11c3QgYmUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2hhcmVkIG1lbW9yeSBsaW1pdHNcbiIKK21zZ3N0ciAidmFsb3JlIG1hc3NpbW8gdG90YWxlIGRpIG1lbW9yaWEgY29uZGl2aXNhIChrYnl0ZSkgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBMaW1pdGkgZGVsbGEgbWVtb3JpYSBjb25kaXZpc2EgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2Ygc2VnbWVudHMgPSAlanVcbiIKK21zZ3N0ciAibnVtZXJvIG1hc3NpbW8gZGkgc2VnbWVudGkgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDkKKyMsIGZ1enp5Cittc2dpZCAibWF4IHNlZyBzaXplIgorbXNnc3RyICJkaW1lbnNpb25lIGlub2RlIG5vbiBjb3JyZXR0YSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTEKKyMsIGZ1enp5Cittc2dpZCAibWF4IHRvdGFsIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgInZhbG9yZSBtYXNzaW1vIHRvdGFsZSBkaSBtZW1vcmlhIGNvbmRpdmlzYSAoa2J5dGUpID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjE0CisjLCBmdXp6eQorbXNnaWQgIm1pbiBzZWcgc2l6ZSIKK21zZ3N0ciAiZGltZW5zaW9uZSBpbm9kZSBub24gY29ycmV0dGEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjI2CisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeVxuIgorbXNnc3RyICJpbCBrZXJuZWwgbm9uIMOoIGNvbmZpZ3VyYXRvIHBlciBsYSBjb25kaXZpc2lvbmUgZGVsbGEgbWVtb3JpYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzMAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIHN0YXRvIGRlbGxhIG1lbW9yaWEgY29uZGl2aXNhIC0tLS0tLS0tXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGlzIG91dHB1dCBmb3JtYXQgaXMgbWFpbnRhaW5lZCBmb3IgYmFja3dhcmQKKyMuIGNvbXBhdGliaWxpdHkgYXMgaXBjcyBpcyB1c2VkIGluIHNjcmlwdHMuIEZvciBjb25zaXN0ZW5jeQorIy4gd2l0aCB0aGUgcmVzdCwgdGhlIHRyYW5zbGF0ZWQgZm9ybSBjYW4gZm9sbG93IHRoaXMgbW9kZWw6CisjLiAqCisjLiAic2VnbWVudHMgYWxsb2NhdGVkID0gJWRcbiIKKyMuICJwYWdlcyBhbGxvY2F0ZWQgPSAlbGRcbiIKKyMuICJwYWdlcyByZXNpZGVudCA9ICVsZFxuIgorIy4gInBhZ2VzIHN3YXBwZWQgPSAlbGRcbiIKKyMuICJzd2FwIHBlcmZvcm1hbmNlID0gJWxkIGF0dGVtcHRzLCAlbGQgc3VjY2Vzc2VzXG4iCisjLgorIzogc3lzLXV0aWxzL2lwY3MuYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInNlZ21lbnRzIGFsbG9jYXRlZCAlZFxuIgorInBhZ2VzIGFsbG9jYXRlZCAlbGRcbiIKKyJwYWdlcyByZXNpZGVudCAgJWxkXG4iCisicGFnZXMgc3dhcHBlZCAgICVsZFxuIgorIlN3YXAgcGVyZm9ybWFuY2U6ICVsZCBhdHRlbXB0c1x0ICVsZCBzdWNjZXNzZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI1OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50IENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU2VnbWVudG8gTWVtLiBDb25kaXYuIENyZWF0b3JpL1Byb3ByLi0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjc0CisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgInNobWlkIgorbXNnc3RyICJzaG1pZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzozODYKKyM6IHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NDg5IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAicGVybXMiCittc2dzdHIgInBlcm1zIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgImN1aWQiCittc2dzdHIgImN1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiY2dpZCIKK21zZ3N0ciAiY2dpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJ1aWQiCittc2dzdHIgInVpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJnaWQiCittc2dzdHIgImdpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQXR0YWNoL0RldGFjaC9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIE1lbS4gQ29uZGl2LiAgQ29ubi4vU2Nvbm4uL0NhbWJpbyAgVm9sdGUgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyNzQgc3lzLXV0aWxzL2lwY3MuYzoyODAKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NDk1CisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMSBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgIm93bmVyIgorbXNnc3RyICJwcm9wcmlldGFyaW8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3Cittc2dpZCAiYXR0YWNoZWQiCittc2dzdHIgImNvbm5lc3NvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NworbXNnaWQgImRldGFjaGVkIgorbXNnc3RyICJkaXNjb25uZXNzbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjgKK21zZ2lkICJjaGFuZ2VkIgorbXNnc3RyICJjYW1iaWF0byIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IENyZWF0b3IvTGFzdC1vcCBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBNZW0uICBDb25kaXYuIENyZWF0b3JlL0xhc3Qtb3AtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3NAorbXNnaWQgImNwaWQiCittc2dzdHIgImNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc0Cittc2dpZCAibHBpZCIKK21zZ3N0ciAibHBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFNlZ20uIE1lbW9yaWEgQ29uZGl2aXNhIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwIHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAia2V5IgorbXNnc3RyICJjaGlhdmUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgxIHN5cy11dGlscy9pcGNzLmM6NTA4Cittc2dpZCAic2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MSBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Nzggc3lzLXV0aWxzL3BybGltaXQuYzo3OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyIHN5cy11dGlscy9wcmxpbWl0LmM6ODYgc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgImJ5dGVzIgorbXNnc3RyICJieXRlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MgorbXNnaWQgIm5hdHRjaCIKK21zZ3N0ciAibmF0dGNoIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MgorbXNnaWQgInN0YXR1cyIKK21zZ3N0ciAic3RhdG8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzA2IHN5cy11dGlscy9pcGNzLmM6MzA4IHN5cy11dGlscy9pcGNzLmM6MzEwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQyNCBzeXMtdXRpbHMvaXBjcy5jOjQyNiBzeXMtdXRpbHMvaXBjcy5jOjUzMgorIzogc3lzLXV0aWxzL2lwY3MuYzo1MzQgc3lzLXV0aWxzL2lwY3MuYzo1MzYgc3lzLXV0aWxzL2lwY3MuYzo1OTAKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkyIHN5cy11dGlscy9pcGNzLmM6NjIxIHN5cy11dGlscy9pcGNzLmM6NjIzCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyNSBzeXMtdXRpbHMvaXBjcy5jOjY0OQorbXNnaWQgIk5vdCBzZXQiCittc2dzdHIgIk5vbiBpbXBvc3RhdG8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzM2IHN5cy11dGlscy9sc2lwYy5jOjk3NiBzeXMtdXRpbHMvbHNpcGMuYzo5ODIKK21zZ2lkICJkZXN0IgorbXNnc3RyICJkZXN0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMzNyBzeXMtdXRpbHMvbHNpcGMuYzo5Nzcgc3lzLXV0aWxzL2xzaXBjLmM6OTkwCittc2dpZCAibG9ja2VkIgorbXNnc3RyICJibG9jY2F0byIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzZW1hcGhvcmUgbGltaXRzXG4iCittc2dzdHIgIlNjcml0dHVyYSBkZWxsYSBwYXJ0aXppb25lIHN1ICVzIG5vbiByaXVzY2l0YVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gTGltaXRpIGRpIHNlbWFmb3JvIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2YgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAibnVtZXJvIG1heCBkaSBtYXRyaWNpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgcGVyIGFycmF5ID0gJWRcbiIKK21zZ3N0ciAibnVtZXJvIG1heCBkaSBzZW1hZm9yaSBwZXIgbWF0cmljZSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAibnVtZXJvIG1heCBkaSBzZW1hZm9yaSBzdSB0dXR0byBpbCBzaXN0ZW1hID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG9wcyBwZXIgc2Vtb3AgY2FsbCA9ICVkXG4iCittc2dzdHIgIm51bWVybyBtYXggb3B6LiBwZXIgY2hpYW1hdGEgc2Vtb3AgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VtYXBob3JlIG1heCB2YWx1ZSA9ICV1XG4iCittc2dzdHIgInZhbG9yZSBtYXggZGVsIHNlbWFmb3JvID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzXG4iCittc2dzdHIgImtlcm5lbCBub24gY29uZmlndXJhdG8gcGVyIGkgc2VtYWZvcmlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFN0YXRvIGRlbCBzZW1hZm9ybyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGFycmF5cyA9ICVkXG4iCittc2dzdHIgIm1hdHJpY2kgdXRpbGl6emF0ZSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBzZW1hcGhvcmVzID0gJWRcbiIKK21zZ3N0ciAic2VtYWZvcmkgYWxsb2NhdGkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIE1hdHJpY2UgZGkgU2VtYWYuIENyZWF0b3JpL1Byb3ByLiAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQwMQorbXNnaWQgInNlbWlkIgorbXNnc3RyICJzZW1pZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgT3BlcmF0aW9uL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gTWVtLiBDb25kaXZpc2EgT3BlcmF6aW9uZS9Nb2RpZi4gVm9sdGUgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIKK21zZ2lkICJsYXN0LW9wIgorbXNnc3RyICJsYXN0LW9wIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorbXNnaWQgImxhc3QtY2hhbmdlZCIKK21zZ3N0ciAidWx0aW1hLW1vZGlmaWNhIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gTWF0cmljaSBzZW1hZm9yaSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwMQorbXNnaWQgIm5zZW1zIgorbXNnc3RyICJuc2VtcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBtZXNzYWdlIGxpbWl0c1xuIgorbXNnc3RyICJOdW1lcm8gZGkgdGVzdGluZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIE1lc3NhZ2dpOiBsaW1pdGkgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHF1ZXVlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgIm51bWVybyBtYXggZGkgY29kZSBzdSB0dXR0byBpbCBzaXN0ZW1hID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjUKKyMsIGZ1enp5Cittc2dpZCAibWF4IHNpemUgb2YgbWVzc2FnZSIKK21zZ3N0ciAiZGltZW5zaW9uZSBtYXggZGVsIG1lc3NhZ2dpbyAoYnl0ZSkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2NworIywgZnV6enkKK21zZ2lkICJkZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIgorbXNnc3RyICJkaW1lbnNpb25lIG1hc3NpbWEgcHJlZGVmaW5pdGEgZGVsbGEgY29kYSAoYnl0ZSkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzXG4iCittc2dzdHIgImtlcm5lbCBub24gY29uZmlndXJhdG8gcGVyIGxlIGNvZGUgZGkgbWVzc2FnZ2lcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIE1lc3NhZ2dpOiBzdGF0byAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3OQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgcXVldWVzID0gJWRcbiIKK21zZ3N0ciAiY29kZSBhbGxvY2F0ZSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgaGVhZGVycyA9ICVkXG4iCittc2dzdHIgImludGVzdGF6aW9uaSB1dGlsaXp6YXRlID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODIKKyMsIGZ1enp5Cittc2dpZCAidXNlZCBzcGFjZSIKK21zZ3N0ciAic3BhemlvIHV0aWxpenphdG8gPSAlZCBieXRlXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgzCisjLCBmdXp6eQorbXNnaWQgIiBieXRlc1xuIgorbXNnc3RyICJieXRlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gQ29kZSBtZXNzYWdnaTogQ3JlYXRvcmkvUHJvcHJpZXRhcmkgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODkgc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MDEKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibXNxaWQiCittc2dzdHIgIm1zcWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgU2VuZC9SZWN2L0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gQ29kZSBtZXNzYWdnaSAgSW52Li9SaWMuL01vZGlmLiBWb2x0ZS0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAic2VuZCIKK21zZ3N0ciAiaW52aW8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAicmVjdiIKK21zZ3N0ciAicmljZXouIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImNoYW5nZSIKK21zZ3N0ciAibW9kaWZpY2EiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBDb2RlIE1lc3NhZ2dpICBQSUQgIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAibHNwaWQiCittc2dzdHIgImxzcGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImxycGlkIgorbXNnc3RyICJscnBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBDb2RlIG1lc3NhZ2dpICAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwOAorbXNnaWQgInVzZWQtYnl0ZXMiCittc2dzdHIgImJ5dGUgdXRpbGl6emF0aSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDkKK21zZ2lkICJtZXNzYWdlcyIKK21zZ3N0ciAibWVzc2FnZ2kiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc0IHN5cy11dGlscy9pcGNzLmM6NjA0IHN5cy11dGlscy9pcGNzLmM6NjM3CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo1MzYgc3lzLXV0aWxzL2xzaXBjLmM6NzIyIHN5cy11dGlscy9sc2lwYy5jOjg3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWQgJWQgbm90IGZvdW5kIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBub24gdHJvdmF0byIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZCBtZW1vcnkgU2VnbWVudCBzaG1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisiU2VnbWVudG8gbWVtb3JpYSBjb25kaXZpc2Egc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCittc2dzdHIgInVpZD0lZFx0Z2lkPSVkXHRjdWlkPSVkXHRjZ2lkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvXHRhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgIm1vZGU9JSNvXHRhY2Nlc3NfcGVybXM9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg0Cittc2dpZCAic2l6ZT0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODQKKyMsIGZ1enp5Cittc2dpZCAiYnl0ZXM9IgorbXNnc3RyICJieXRlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibHBpZD0ldVx0Y3BpZD0ldVx0bmF0dGNoPSVqZFxuIgorbXNnc3RyICJieXRlPSVsZFx0bHBpZD0lZFx0Y3BpZD0lZFx0bmF0dGNoPSVsZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJhdHRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJhdHRfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MQorIywgYy1mb3JtYXQKK21zZ2lkICJkZXRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJkZXRfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MyBzeXMtdXRpbHMvaXBjcy5jOjYyNAorIywgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2VfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJjaGFuZ2VfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZSBRdWV1ZSBtc3FpZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisiQ29kYSBkaSBtZXNzYWdnaSBtc3FpZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG1vZGU9JSNvXG4iCittc2dzdHIgInVpZD0lZFx0Z2lkPSVkXHRjdWlkPSVkXHRjZ2lkPSVkXHRtb2RlPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxMworbXNnaWQgImNzaXplPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxMworIywgZnV6enkKK21zZ2lkICJjYnl0ZXM9IgorbXNnc3RyICJieXRlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxNQorbXNnaWQgInFzaXplPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxNQorIywgZnV6enkKK21zZ2lkICJxYnl0ZXM9IgorbXNnc3RyICJieXRlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAic2VuZF90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgInJjdl90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgInJjdl90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgQXJyYXkgc2VtaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIm1hdHJpY2Ugc2VtYWZvcmkgc2VtaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0IGdpZD0ldVx0IGN1aWQ9JXVcdCBjZ2lkPSV1XG4iCittc2dzdHIgInVpZD0lZFx0IGdpZD0lZFx0IGN1aWQ9JWRcdCBjZ2lkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvLCBhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgIm1vZGFsaXTDoD0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5zZW1zID0gJWp1XG4iCittc2dzdHIgIm5zZW1zID0gJWxkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIm90aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAib3RpbWUgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJjdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgImN0aW1lID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJzZW1udW0iCittc2dzdHIgInNlbW51bSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJ2YWx1ZSIKK21zZ3N0ciAidmFsb3JlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgIm5jb3VudCIKK21zZ3N0ciAibmNvdW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInpjb3VudCIKK21zZ3N0ciAiemNvdW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInBpZCIKK21zZ3N0ciAicGlkIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzAgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM0IHN5cy11dGlscy9pcGN1dGlscy5jOjIzOAorIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQiCittc2dzdHIgIiVzIG5vbiByaXVzY2l0by5cbiIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoYnl0ZXMpID0gIgorbXNnc3RyICJieXRlIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIChrYnl0ZXMpID0gIgorbXNnc3RyICJieXRlIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxODAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBpZmxhZyIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbzogJXNcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxsZGlzYz4gPGRldmljZT5cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTk5Cittc2dpZCAiQXR0YWNoIGEgbGluZSBkaXNjaXBsaW5lIHRvIGEgc2VyaWFsIGxpbmUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAyCittc2dpZCAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgbWVzc2FnZXMgdG8gc3RkZXJyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAzCittc2dpZCAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIHNldCBzZXJpYWwgbGluZSBzcGVlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNAorbXNnaWQgIiAtYywgLS1pbnRyby1jb21tYW5kIDxzdHJpbmc+IGludHJvIHNlbnQgYmVmb3JlIGxkYXR0YWNoXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA1Cittc2dpZCAiIC1wLCAtLXBhdXNlIDxzZWNvbmRzPiAgIHBhdXNlIGJldHdlZW4gaW50cm8gYW5kIGxkYXR0YWNoXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA2Cittc2dpZCAiIC03LCAtLXNldmVuYml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA3IGJpdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDcKK21zZ2lkICIgLTgsIC0tZWlnaHRiaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDggYml0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOAorbXNnaWQgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICBzZXQgcGFyaXR5IHRvIG5vbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDkKK21zZ2lkICIgLWUsIC0tZXZlbnBhcml0eSAgICAgICAgc2V0IHBhcml0eSB0byBldmVuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEwCittc2dpZCAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIHNldCBwYXJpdHkgdG8gb2RkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjExCittc2dpZCAiIC0xLCAtLW9uZXN0b3BiaXQgICAgICAgIHNldCBzdG9wIGJpdHMgdG8gb25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEyCittc2dpZCAiIC0yLCAtLXR3b3N0b3BiaXRzICAgICAgIHNldCBzdG9wIGJpdHMgdG8gdHdvXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEzCittc2dpZCAiIC1pLCAtLWlmbGFnIFstXTxpZmxhZz4gIHNldCBpbnB1dCBtb2RlIGZsYWdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTkKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGxkaXNjPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMjMKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGlmbGFnPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzcGVlZCBhcmd1bWVudCIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcGF1c2UgYXJndW1lbnQiCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM1OQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG9wdGlvbiIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzcwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbGluZSBkaXNjaXBsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJpZCBub24gdmFsaWRvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHNlcmlhbCBsaW5lIgorbXNnc3RyICIlcyBub24gw6ggdW4gZGlzcG9zaXRpdm8gc3BlY2lhbGUgYSBibG9jY2hpIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgImltcG9zc2liaWxlIG90dGVuZXJlIGxhIGRpbWVuc2lvbmUgZGkgJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVlZCAlZCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSBpbnRybyBjb21tYW5kIHRvICVzIgorbXNnc3RyICJuYW1laTogaW1wb3NzaWJpbGUgb3R0ZW5lcmUgbGEgZGlyZWN0b3J5IGNvcnJlbnRlIC0gJXNcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDY5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgbGluZSBkaXNjaXBsaW5lIgorbXNnc3RyICJSaWNlcmNhIHN1bGwndW5pdMOgIGRpc2NvIGltcG9zc2liaWxlIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NzkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGRhZW1vbml6ZSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlICVzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY4Cittc2dpZCAiYXV0b2NsZWFyIGZsYWcgc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjkKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAicmlsZWdnaSBsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzAKK21zZ2lkICJiYWNraW5nIGZpbGUgaW5vZGUgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzEKK21zZ2lkICJiYWNraW5nIGZpbGUgbWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcyCisjLCBmdXp6eQorbXNnaWQgImxvb3AgZGV2aWNlIG5hbWUiCittc2dzdHIgInVtb3VudDogJXM6IGRpc3Bvc2l0aXZvIHNjb25vc2NpdXRvIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjczCittc2dpZCAib2Zmc2V0IGZyb20gdGhlIGJlZ2lubmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc0CisjLCBmdXp6eQorbXNnaWQgInBhcnRzY2FuIGZsYWcgc2V0IgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGl6aW9uaTpcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NgorIywgZnV6enkKK21zZ2lkICJzaXplIGxpbWl0IG9mIHRoZSBmaWxlIGluIGJ5dGVzIgorbXNnc3RyICJkaW1lbnNpb25lIGlub2RlIG5vbiBjb3JyZXR0YSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NworbXNnaWQgImxvb3AgZGV2aWNlIG1ham9yOm1pbm9yIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4Cittc2dpZCAiYWNjZXNzIGJhY2tpbmcgZmlsZSB3aXRoIGRpcmVjdC1pbyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzNSBzeXMtdXRpbHMvbG9zZXR1cC5jOjE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCBvZmZzZXQgJWp1IgorbXNnc3RyICIsIG9mZnNldCAlZCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxMzggc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiwgc2l6ZWxpbWl0ICVqdSIKK21zZ3N0ciAiRGltZW5zaW9uZSBtYXNzaW1hPSVsZFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCBlbmNyeXB0aW9uICVzICh0eXBlICV1KSIKK21zZ3N0ciAiLCBjaWZyYXR1cmEgJXMgKHRpcG8gJWQpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRldGFjaCBmYWlsZWQiCittc2dzdHIgIiVzIG5vbiByaXVzY2l0by5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozMjkgc3lzLXV0aWxzL2xzY3B1LmM6MTczNSBzeXMtdXRpbHMvcHJsaW1pdC5jOjIyOQorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjE3NiBzeXMtdXRpbHMvd2RjdGwuYzoyMTUgc3lzLXV0aWxzL3pyYW1jdGwuYzo0MDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGxpbmUiCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSBbPGxvb3BkZXY+XVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxsb29wZGV2PiA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM4NgorbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCBsb29wIGRldmljZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODkKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkwCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kZXRhY2ggPGxvb3BkZXY+Li4uICAgICBkZXRhY2ggb25lIG9yIG1vcmUgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkxCisjLCBmdXp6eQorbXNnaWQgIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICBmaW5kIGZpcnN0IHVudXNlZCBkZXZpY2VcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MworbXNnaWQgIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICByZXNpemUgdGhlIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk0Cittc2dpZCAiIC1qLCAtLWFzc29jaWF0ZWQgPGZpbGU+ICAgICAgIGxpc3QgYWxsIGRldmljZXMgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk1CisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1ub292ZXJsYXAgICAgICAgICAgICAgICBhdm9pZCBwb3NzaWJsZSBjb25mbGljdCBiZXR3ZWVuIGRldmljZXNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5OQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBzdGFydCBhdCBvZmZzZXQgPG51bT4gaW50byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDAKK21zZ2lkICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZGV2aWNlIGlzIGxpbWl0ZWQgdG8gPG51bT4gYnl0ZXMgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAxCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICBjcmVhdGUgYSBwYXJ0aXRpb25lZCBsb29wIGRldmljZVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0IHVwIGEgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMworbXNnaWQgIiAgICAgLS1kaXJlY3QtaW9bPTxvbnxvZmY+XSAgICBvcGVuIGJhY2tpbmcgZmlsZSB3aXRoIE9fRElSRUNUXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDQKK21zZ2lkICIgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICAgcHJpbnQgZGV2aWNlIG5hbWUgYWZ0ZXIgc2V0dXAgKHdpdGggLWYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwOQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgbGlzdCBpbmZvIGFib3V0IGFsbCBvciBzcGVjaWZpZWQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICBQcm92YSBkZWxsYSB2ZXJzaW9uZSBnZXRvcHQoMSlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTAKK21zZ2lkICIgLU8sIC0tb3V0cHV0IDxjb2xzPiAgICAgICAgICAgc3BlY2lmeSBjb2x1bW5zIHRvIG91dHB1dCBmb3IgLS1saXN0XG4iCittc2dzdHIgIiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tbGlzdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1c2UgcmF3IC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEzCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOQorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIC0tbGlzdCBjb2x1bW5zOlxuIgorbXNnc3RyICJDb21hbmRpIGRpc3BvbmliaWxpOlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBpcyBzbWFsbGVyIHRoYW4gNTEyIGJ5dGVzOyB0aGUgbG9vcCBkZXZpY2UgbWF5IGJlIHVzZWxlc3Mgb3IgaW52aXNpYmxlIGZvciBzeXN0ZW0gdG9vbHMuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGRvZXMgbm90IGZpdCBpbnRvIGEgNTEyLWJ5dGUgc2VjdG9yOyB0aGUgZW5kIG9mIHRoZSBmaWxlIHdpbGwgYmUgaWdub3JlZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NjQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MTYgc3lzLXV0aWxzL21vdW50LmM6NDU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlczogJXMgbm8gw6ggdW4gbHAgZGV2aWNlLlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgcmVhZC1vbmx5IGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgZW5jcnlwdGVkIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZS11c2UgbG9vcCBkZXZpY2UiCittc2dzdHIgImltcG9zc2liaWxlIHJpYXZ2b2xnZXJlIGlsIGRpc3Bvc2l0aXZvIHN3YXAiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDk0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbnNwZWN0IGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAibW91bnQ6IG1hbmNhdGEgaW1wb3N0YXppb25lIGRlbCBsb29wIGRldmljZVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjaGVjayBmb3IgY29uZmxpY3RpbmcgbG9vcCBkZXZpY2VzIgorbXNnc3RyICJpbXBvc3NpYmlsZSByaWF2dm9sZ2VyZSBpbCBkaXNwb3NpdGl2byBzd2FwIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUyOSBzeXMtdXRpbHMvbG9zZXR1cC5jOjgyNgorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZmluZCBhbiB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSB0cm92YXJlIGlsIGRpc3Bvc2l0aXZvIHBlciAlc1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgYmFja2luZyBmaWxlIgorbXNnc3RyICJyaWxlZ2dpIGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2MzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDEgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NTMKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzY3IHN5cy11dGlscy9sb3NldHVwLmM6ODA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBkZXZpY2UiCittc2dzdHIgImltcG9zc2liaWxlIHJpYXZ2b2xnZXJlIGlsIGRpc3Bvc2l0aXZvIHN3YXAiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzY0CisjLCBmdXp6eQorbXNnaWQgIm5vIGxvb3AgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAibW91bnQ6IGxvb3AgZGV2aWNlIHNwZWNpZmljYXRvIGR1ZSB2b2x0ZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NzIKKyMsIGZ1enp5Cittc2dpZCAibm8gZmlsZSBzcGVjaWZpZWQiCittc2dzdHIgIk9wemlvbmUgLS1kYXRlIG5vbiBzcGVjaWZpY2F0YS5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIG9wdGlvbnMgJXMgYXJlIGFsbG93ZWQgZHVyaW5nIGxvb3AgZGV2aWNlIHNldHVwIG9ubHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3ODQKK21zZ2lkICJ0aGUgb3B0aW9uIC0tb2Zmc2V0IGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBjYXBhY2l0eSBmYWlsZWQiCittc2dzdHIgIiVzIG5vbiByaXVzY2l0by5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgZGlyZWN0IGlvIGZhaWxlZCIKK21zZ3N0ciAicmljZXJjYSBub24gcml1c2NpdGEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjEwOAorIywgZnV6enkKK21zZ2lkICJub25lIgorbXNnc3RyICJOZXNzdW5vIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMDkKK21zZ2lkICJwYXJhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjExMAorbXNnaWQgImZ1bGwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTExCittc2dpZCAiY29udGFpbmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MworbXNnaWQgImhvcml6b250YWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0Cittc2dpZCAidmVydGljYWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ2Cittc2dpZCAibG9naWNhbCBDUFUgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0NworIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIGNvcmUgbnVtYmVyIgorbXNnc3RyICJ2aXN1YWxpenphIGxhIGRpbWVuc2lvbmUgZGVsIHNldHRvcmUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0OAorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIHNvY2tldCBudW1iZXIiCittc2dzdHIgInZpc3VhbGl6emEgbGEgZGltZW5zaW9uZSBkZWwgc2V0dG9yZSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ5Cittc2dpZCAibG9naWNhbCBOVU1BIG5vZGUgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MAorbXNnaWQgImxvZ2ljYWwgYm9vayBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUxCisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgZHJhd2VyIG51bWJlciIKK21zZ3N0ciAidmlzdWFsaXp6YSBsYSBkaW1lbnNpb25lIGRlbCBzZXR0b3JlIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTIKK21zZ2lkICJzaG93cyBob3cgY2FjaGVzIGFyZSBzaGFyZWQgYmV0d2VlbiBDUFVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MworbXNnaWQgIkNQVSBkaXNwYXRjaGluZyBtb2RlIG9uIHZpcnR1YWwgaGFyZHdhcmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU0Cittc2dpZCAicGh5c2ljYWwgYWRkcmVzcyBvZiBhIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTUKK21zZ2lkICJzaG93cyBpZiB0aGUgaHlwZXJ2aXNvciBoYXMgYWxsb2NhdGVkIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU2Cittc2dpZCAic2hvd3MgaWYgTGludXggY3VycmVudGx5IG1ha2VzIHVzZSBvZiB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NworbXNnaWQgInNob3dzIHRoZSBtYXhpbXVtIE1IeiBvZiB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1OAorbXNnaWQgInNob3dzIHRoZSBtaW5pbXVtIE1IeiBvZiB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjU1MAorIywgZnV6enkKK21zZ2lkICJlcnJvcjogdW5hbWUgZmFpbGVkIgorbXNnc3RyICIiCisiXG4iCisiRXJyb3JlIGR1cmFudGUgbGEgY2hpdXN1cmEgZGVsIGZpbGVcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGV0ZXJtaW5lIG51bWJlciBvZiBDUFVzOiAlcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6ODkxCisjLCBmdXp6eQorbXNnaWQgImVycm9yOiBjYW4gbm90IHNldCBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgaW1wb3N0YXJlIHVuIGdlc3RvcmUgZGVsIHNlZ25hbGUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjg5NgorIywgZnV6enkKK21zZ2lkICJlcnJvcjogY2FuIG5vdCByZXN0b3JlIHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJJbXBvc3NpYmlsZSBpbXBvc3RhcmUgdW4gZ2VzdG9yZSBkZWwgc2VnbmFsZSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBmcm9tOiAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZmFyZSBzdGF0IGRpICVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDEwCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBleHRyYWN0IHRoZSBub2RlIG51bWJlciIKK21zZ3N0ciAicmljZXJjYSBpbiB3cml0ZV90YWJsZXMgbm9uIHJpdXNjaXRhIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTM3IHN5cy11dGlscy9sc2NwdS5jOjE1NDcKK21zZ2lkICJZIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1Mzcgc3lzLXV0aWxzL2xzY3B1LmM6MTU0NworIywgZnV6enkKK21zZ2lkICJOIgorbXNnc3RyICJOQyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTYzMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXJcbiIKKyIjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElEXG4iCisiIyBzdGFydGluZyBmcm9tIHplcm8uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc4MQorbXNnaWQgIkFyY2hpdGVjdHVyZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc5NQorbXNnaWQgIkNQVSBvcC1tb2RlKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzk4IHN5cy11dGlscy9sc2NwdS5jOjE4MDAKK21zZ2lkICJCeXRlIE9yZGVyOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODAyCittc2dpZCAiQ1BVKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA1Cittc2dpZCAiT24tbGluZSBDUFUocykgbWFzazoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwNgorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjUKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbWFzazoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNgorbXNnaWQgIk9mZi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODYyCittc2dpZCAiVGhyZWFkKHMpIHBlciBjb3JlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODY0Cittc2dpZCAiQ29yZShzKSBwZXIgc29ja2V0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODY3Cittc2dpZCAiU29ja2V0KHMpIHBlciBib29rOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODcwCittc2dpZCAiQm9vayhzKSBwZXIgZHJhd2VyOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODcyCittc2dpZCAiRHJhd2VyKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODc0Cittc2dpZCAiQm9vayhzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3NworIywgZnV6enkKK21zZ2lkICJTb2NrZXQocyk6IgorbXNnc3RyICJuZnMgc29ja2V0IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgxCittc2dpZCAiTlVNQSBub2RlKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgzCittc2dpZCAiVmVuZG9yIElEOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg1CisjLCBmdXp6eQorbXNnaWQgIk1hY2hpbmUgdHlwZToiCittc2dzdHIgIk51bWVybyBkZWxsYSBwYXJ0aXppb25lIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg3Cittc2dpZCAiQ1BVIGZhbWlseToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4OQorbXNnaWQgIk1vZGVsOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODkxCisjLCBmdXp6eQorbXNnaWQgIk1vZGVsIG5hbWU6IgorbXNnc3RyICJOb21lIHV0ZW50ZSBub24gdmFsaWRvIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODkzCittc2dpZCAiU3RlcHBpbmc6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTUKK21zZ2lkICJDUFUgTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk3Cittc2dpZCAiQ1BVIGR5bmFtaWMgTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk5Cittc2dpZCAiQ1BVIHN0YXRpYyBNSHo6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDEKK21zZ2lkICJDUFUgbWF4IE1IejoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMworbXNnaWQgIkNQVSBtaW4gTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA1Cittc2dpZCAiQm9nb01JUFM6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDggc3lzLXV0aWxzL2xzY3B1LmM6MTkxMAorIywgZnV6enkKK21zZ2lkICJWaXJ0dWFsaXphdGlvbjoiCittc2dzdHIgIlZlY2NoaWEgc2l0dWF6aW9uZTpcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMworbXNnaWQgIkh5cGVydmlzb3I6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTUKK21zZ2lkICJIeXBlcnZpc29yIHZlbmRvcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxNgorbXNnaWQgIlZpcnR1YWxpemF0aW9uIHR5cGU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTkKK21zZ2lkICJEaXNwYXRjaGluZyBtb2RlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTI1IHN5cy11dGlscy9sc2NwdS5jOjE5MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY2FjaGU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVNQSBub2RlJWQgQ1BVKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQ2CisjLCBmdXp6eQorbXNnaWQgIkZsYWdzOiIKK21zZ3N0ciAiRmxhZyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0OQorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBzb2NrZXRzOiIKK21zZ3N0ciAiQ2lsaW5kcmkgZmlzaWNpIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTUwCisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIGNoaXBzOiIKK21zZ3N0ciAiQ2lsaW5kcmkgZmlzaWNpIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTUxCisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIGNvcmVzL2NoaXA6IgorbXNnc3RyICJ2aXN1YWxpenphIGxhIGRpbWVuc2lvbmUgZGVsIHNldHRvcmUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjMKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBDUFUgYXJjaGl0ZWN0dXJlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjYKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IGJvdGggb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2NworIywgZnV6enkKK21zZ2lkICIgLWIsIC0tb25saW5lICAgICAgICAgICAgcHJpbnQgb25saW5lIENQVXMgb25seSAoZGVmYXVsdCBmb3IgLXApXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY4CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICBwcmludCBvZmZsaW5lIENQVXMgb25seVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY5Cittc2dpZCAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcwCittc2dpZCAiIC1wLCAtLXBhcnNlWz08bGlzdD5dICAgIHByaW50IG91dCBhIHBhcnNhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzEKK21zZ2lkICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAgdXNlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcyCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1oZXggICAgICAgICAgICAgICBwcmludCBoZXhhZGVjaW1hbCBtYXNrcyByYXRoZXIgdGhhbiBsaXN0cyBvZiBDUFVzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MworIywgZnV6enkKK21zZ2lkICIgLXksIC0tcGh5c2ljYWwgICAgICAgICAgcHJpbnQgcGh5c2ljYWwgaW5zdGVhZCBvZiBsb2dpY2FsIElEc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9wdGlvbnMgLS1hbGwsIC0tb25saW5lIGFuZCAtLW9mZmxpbmUgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIG9wdGlvbnMgLS1leHRlbmRlZCBvciAtLXBhcnNlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBrZXkiCittc2dzdHIgIk5vbWUgdXRlbnRlIG5vbiB2YWxpZG8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorIywgZnV6enkKK21zZ2lkICJLZXkiCittc2dzdHIgImNoaWF2ZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIElEIgorbXNnc3RyICJOb21lIHV0ZW50ZSBub24gdmFsaWRvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKK21zZ2lkICJPd25lcidzIHVzZXJuYW1lIG9yIFVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKKyMsIGZ1enp5Cittc2dpZCAiT3duZXIiCittc2dzdHIgInByb3ByaWV0YXJpbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUyCisjLCBmdXp6eQorbXNnaWQgIlBlcm1pc3Npb25zIgorbXNnc3RyICJ2ZXJzaW9uZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUzCittc2dpZCAiQ3JlYXRvciBVSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU0Cittc2dpZCAiQ3JlYXRvciB1c2VyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NQorbXNnaWQgIkNyZWF0b3IgR0lEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NgorIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGdyb3VwIgorbXNnc3RyICJQcmltYXJpYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgIlVzZXIgSUQiCittc2dzdHIgInV0ZW50ZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3Cittc2dpZCAiVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OAorIywgZnV6enkKK21zZ2lkICJVc2VyIG5hbWUiCittc2dzdHIgIk5vbWUgdXRlbnRlIG5vbiB2YWxpZG8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorbXNnaWQgIkdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorIywgZnV6enkKK21zZ2lkICJHSUQiCittc2dzdHIgIlNHSSByYXciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MAorIywgZnV6enkKK21zZ2lkICJHcm91cCBuYW1lIgorbXNnc3RyICJOb21lIHV0ZW50ZSBub24gdmFsaWRvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBjaGFuZ2UiCittc2dzdHIgInN0YXQgZGVsIHBlcmNvcnNvIG5vbiByaXVzY2l0b1xuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBjaGFuZ2UiCittc2dzdHIgInVsdGltYS1tb2RpZmljYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY0CisjLCBmdXp6eQorbXNnaWQgIkJ5dGVzIHVzZWQiCittc2dzdHIgIlNlZ25vIGluIHVzbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlcyIKK21zZ3N0ciAiTnVtZXJvIGRpIHRlc3RpbmUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorIywgZnV6enkKK21zZ2lkICJNZXNzYWdlcyIKK21zZ3N0ciAibWVzc2FnZ2kiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorIywgZnV6enkKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHNlbnQiCittc2dzdHIgImRvcG8gbGEgcHJpbWEgbGluZWEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIk1zZyBzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgcmVjZWl2ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiTXNnIHJlY2VpdmVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgc2VuZGVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIk1zZyBzZW5kZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyByZWNlaXZlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJNc2cgcmVjZWl2ZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTcyCisjLCBmdXp6eQorbXNnaWQgIlNlZ21lbnQgc2l6ZSIKK21zZ3N0ciAidmlzdWFsaXp6YSBsYSBkaW1lbnNpb25lIGRlbCBibG9jY28iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MworIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2YgYXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICJudW1lcm8gbWFzc2ltbyBkaSBzZWdtZW50aSA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJBdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc0CisjLCBmdXp6eQorbXNnaWQgIlN0YXR1cyIKK21zZ3N0ciAic3RhdG8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NQorIywgZnV6enkKK21zZ2lkICJBdHRhY2ggdGltZSIKK21zZ3N0ciAiY29ubmVzc28iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NgorIywgZnV6enkKK21zZ2lkICJEZXRhY2ggdGltZSIKK21zZ3N0ciAiZGlzY29ubmVzc28iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgY29tbWFuZCIKK21zZ3N0ciAibmVzc3VuIGNvbWFuZG8/XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIlBJRCBvZiB0aGUgY3JlYXRvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJDcmVhdG9yIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJQSUQgb2YgbGFzdCB1c2VyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OQorIywgZnV6enkKK21zZ2lkICJMYXN0IHVzZXIgUElEIgorbXNnc3RyICJ1dGVudGUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAiTnVtZXJvIGRpIHNldHRvcmkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorIywgZnV6enkKK21zZ2lkICJTZW1hcGhvcmVzIgorbXNnc3RyICIiCisiXG4iCisibWF0cmljZSBzZW1hZm9yaSBzZW1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODMKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODMKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBvcGVyYXRpb24iCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NgorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBuYW1lIgorbXNnc3RyICJOb21lIHV0ZW50ZSBub24gdmFsaWRvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UiCittc2dzdHIgIk5vbWUgdXRlbnRlIG5vbiB2YWxpZG8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiZGlzcG9zaXRpdm8gYSBibG9jY2hpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiRGVzY3JpcHRpb24iCittc2dzdHIgImRpc3Bvc2l0aXZvIGEgYmxvY2NoaSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiQ3VycmVudGx5IHVzZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiVXNlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiQ3VycmVudGx5IHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICJJbW1ldHRlcmUgaWwgdGlwbyBkaSBmaWxlc3lzdGVtOiAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorIywgZnV6enkKK21zZ2lkICJVc2UiCittc2dzdHIgIlVzbzoiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIlN5c3RlbS13aWRlIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIkxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb2x1bW4gJXMgZG9lcyBub3QgYXBwbHkgdG8gdGhlIHNwZWNpZmllZCBJUEMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg3Cittc2dpZCAiIC1nLCAtLWdsb2JhbCAgICAgIGluZm8gYWJvdXQgc3lzdGVtLXdpZGUgdXNhZ2UgKG1heSBiZSB1c2VkIHdpdGggLW0sIC1xIGFuZCAtcylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODgKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gICAgIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIi1pIGlkIFstcyAtcSAtbV0gOiBkZXR0YWdsaSBzdWxsYSByaXNvcnNhIGlkZW50aWZpY2F0YSBkYSBpZFxuIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NAorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTUKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgICAgICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NworIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIHVzZSB0aGUgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5OQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgIGZvcmNlIGxpc3Qgb3V0cHV0IGZvcm1hdCAoZm9yIGV4YW1wbGUgd2l0aCAtLWlkKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMQorbXNnaWQgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgcHJpbnQgbnVtZXJpYyBwZXJtaXNzaW9ucyAoUEVSTVMgY29sdW1uKVxuIgorbXNnc3RyICIiCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAzCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmljIGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXppb25pOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQtbWVtb3J5IGNvbHVtbnMgKC0tc2htZW1zKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlZ21lbnRvIG1lbW9yaWEgY29uZGl2aXNhIHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UtcXVldWUgY29sdW1ucyAoLS1xdWV1ZXMpOlxuIgorbXNnc3RyICJDb21hbmRpIGRpc3BvbmliaWxpOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgY29sdW1ucyAoLS1zZW1hcGhvcmVzKTpcbiIKK21zZ3N0ciAiQ29tYW5kaSBkaXNwb25pYmlsaTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTdW1tYXJ5IGNvbHVtbnMgKC0tZ2xvYmFsKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkVsZW1lbnRzOlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwNQorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlIGlkZW50aWZpZXJzIgorbXNnc3RyICJOdW1lcm8gZGkgc2V0dG9yaSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA2CisjLCBmdXp6eQorbXNnaWQgIlRvdGFsIG51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJOdW1lcm8gZGkgc2V0dG9yaSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA3CisjLCBmdXp6eQorbXNnaWQgIk1heCBzZW1hcGhvcmVzIHBlciBzZW1hcGhvcmUgc2V0LiIKK21zZ3N0ciAibnVtZXJvIG1heCBkaSBzZW1hZm9yaSBwZXIgbWF0cmljZSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwOAorIywgZnV6enkKK21zZ2lkICJNYXggbnVtYmVyIG9mIG9wZXJhdGlvbnMgcGVyIHNlbW9wKDIpIgorbXNnc3RyICJudW1lcm8gbWFzc2ltbyBkaSBzZWdtZW50aSA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDkKKyMsIGZ1enp5Cittc2dpZCAiU2VtYXBob3JlIG1heCB2YWx1ZSIKK21zZ3N0ciAidmFsb3JlIG1heCBkZWwgc2VtYWZvcm8gPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjMKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICJOdW1lcm8gZGkgdGVzdGluZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODY0CisjLCBmdXp6eQorbXNnaWQgIk1heCBzaXplIG9mIG1lc3NhZ2UgKGJ5dGVzKSIKK21zZ3N0ciAiZGltZW5zaW9uZSBtYXggZGVsIG1lc3NhZ2dpbyAoYnl0ZSkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjUKKyMsIGZ1enp5Cittc2dpZCAiRGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSAoYnl0ZXMpIgorbXNnc3RyICJkaW1lbnNpb25lIG1hc3NpbWEgcHJlZGVmaW5pdGEgZGVsbGEgY29kYSAoYnl0ZSkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5Nzggc3lzLXV0aWxzL2xzaXBjLmM6OTk3Cittc2dpZCAiaHVnZXRsYiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5Nzkgc3lzLXV0aWxzL2xzaXBjLmM6MTAwNAorIywgZnV6enkKK21zZ2lkICJub3Jlc2VydmUiCittc2dzdHIgIlN1bk9TIHJpc2VydmF0byIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MQorIywgZnV6enkKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIgorbXNnc3RyICIiCisiXG4iCisiU2VnbWVudG8gbWVtb3JpYSBjb25kaXZpc2Egc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MgorIywgZnV6enkKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHBhZ2VzIgorbXNnc3RyICIiCisiXG4iCisiU2VnbWVudG8gbWVtb3JpYSBjb25kaXZpc2Egc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MworIywgZnV6enkKK21zZ2lkICJNYXggc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAiZGltZW5zaW9uZSBtYXggZGVsIG1lc3NhZ2dpbyAoYnl0ZSkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDY0CisjLCBmdXp6eQorbXNnaWQgIk1pbiBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICJkaW1lbnNpb25lIG1heCBkZWwgbWVzc2FnZ2lvIChieXRlKSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjExMzUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElQQyBpZGVudGlmaWVyIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMjI5CisjLCBmdXp6eQorbXNnaWQgIi0tZ2xvYmFsIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tY3JlYXRvciwgLS1pZCBhbmQgLS10aW1lIgorbXNnc3RyICIlczogTGUgb3B6aW9uaSAtLWFkanVzdCBlIC1ub2FkamZpbGUgc2kgZXNjbHVkb25vIHZpY2VuZGV2b2xtZW50ZS4gU29ubyBzdGF0ZSBzcGVjaWZpY2F0ZSBlbnRyYW1iZS5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4MworbXNnaWQgIm5hbWVzcGFjZSBpZGVudGlmaWVyIChpbm9kZSBudW1iZXIpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODQKK21zZ2lkICJraW5kIG9mIG5hbWVzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg1CisjLCBmdXp6eQorbXNnaWQgInBhdGggdG8gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAic3RhdCBkZWwgcGVyY29yc28gbm9uIHJpdXNjaXRvXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODYKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJudW1lcm8gbWFzc2ltbyBkaSBzZWdtZW50aSA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg3Cittc2dpZCAibG93ZXN0IFBJRCBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODgKK21zZ2lkICJQUElEIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OQorbXNnaWQgImNvbW1hbmQgbGluZSBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTAKK21zZ2lkICJVSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkxCittc2dpZCAidXNlcm5hbWUgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG5hbWVzcGFjZT5dXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjE2CisjLCBmdXp6eQorbXNnaWQgIkxpc3Qgc3lzdGVtIG5hbWVzcGFjZXMuXG4iCittc2dzdHIgIkltcG9zc2liaWxlIGltcG9zdGFyZSBpbCBjbG9jayBkaSBzaXN0ZW1hLlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYyMworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tdGFzayA8cGlkPiAgICAgICBwcmludCBwcm9jZXNzIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo2MjYKK21zZ2lkICIgLXQsIC0tdHlwZSA8bmFtZT4gICAgICBuYW1lc3BhY2UgdHlwZSAobW50LCBuZXQsIGlwYywgdXNlciwgcGlkLCB1dHMsIGNncm91cClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjcxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBuYW1lc3BhY2UgdHlwZTogJXMiCittc2dzdHIgInRpcG8gZGkgcmlzb3JzYSBzY29ub3NjaXV0bzogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MzUKKyMsIGZ1enp5Cittc2dpZCAiLS10YXNrIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxuYW1lc3BhY2U+IgorbXNnc3RyICIlczogTGUgb3B6aW9uaSAtLWFkanVzdCBlIC1ub2FkamZpbGUgc2kgZXNjbHVkb25vIHZpY2VuZGV2b2xtZW50ZS4gU29ubyBzdGF0ZSBzcGVjaWZpY2F0ZSBlbnRyYW1iZS5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MzYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBuYW1lc3BhY2UgYXJndW1lbnQiCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IHN5cy11dGlscy9sc25zLmM6Nzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBmb3VuZCBuYW1lc3BhY2U6ICVqdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NiBzeXMtdXRpbHMvdW1vdW50LmM6MTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24gKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICJtb3VudDogw6ggcG9zc2liaWxlIHNvbG8gcGVyIHJvb3QiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY5IHN5cy11dGlscy91bW91bnQuYzoxMjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIm1vdW50OiDDqCBwb3NzaWJpbGUgc29sbyBwZXIgcm9vdCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzMgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIgorbXNnc3RyICJtb3VudDogc29sYW1lbnRlIHJvb3QgcHXDsiBtb250YXJlICVzIHN1ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NCBzeXMtdXRpbHMvdW1vdW50LmM6MTI1CisjLCBmdXp6eQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKK21zZ3N0ciAibW91bnQ6IMOoIHBvc3NpYmlsZSBzb2xvIHBlciByb290IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4NSBzeXMtdXRpbHMvdW1vdW50LmM6NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgKGxpYm1vdW50ICVzIgorbXNnc3RyICIlcyBkYSAlcyVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEzMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBtdGFiIgorbXNnc3RyICJpbXBvc3NpYmlsZSBmYXJlIHN0YXQgZGkgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MiBzeXMtdXRpbHMvdW1vdW50LmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogYWxyZWFkeSBtb3VudGVkXG4iCittc2dzdHIgIm1vdW50OiAlcyBnacOgIG1vbnRhdG8gc3UgJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW92ZWQgdG8gJXMuXG4iCittc2dzdHIgInVtb3VudDogJXM6IG5vbiB0cm92YXRvIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBib3VuZCBvbiAlcy5cbiIKK21zZ3N0ciAidW1vdW50OiAlczogbm9uIHRyb3ZhdG8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1NCBzeXMtdXRpbHMvbW91bnQuYzoyNTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3VudGVkIG9uICVzLlxuIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBub24gdHJvdmF0byIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBwcm9wYWdhdGlvbiBmbGFncyBjaGFuZ2VkLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjMxMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibW91bnQ6ICVzIGRvZXMgbm90IGNvbnRhaW4gU0VMaW51eCBsYWJlbHMuXG4iCisiICAgICAgIFlvdSBqdXN0IG1vdW50ZWQgYW4gZmlsZSBzeXN0ZW0gdGhhdCBzdXBwb3J0cyBsYWJlbHMgd2hpY2ggZG9lcyBub3RcbiIKKyIgICAgICAgY29udGFpbiBsYWJlbHMsIG9udG8gYW4gU0VMaW51eCBib3guIEl0IGlzIGxpa2VseSB0aGF0IGNvbmZpbmVkXG4iCisiICAgICAgIGFwcGxpY2F0aW9ucyB3aWxsIGdlbmVyYXRlIEFWQyBtZXNzYWdlcyBhbmQgbm90IGJlIGFsbG93ZWQgYWNjZXNzIHRvXG4iCisiICAgICAgIHRoaXMgZmlsZSBzeXN0ZW0uICBGb3IgbW9yZSBkZXRhaWxzIHNlZSByZXN0b3JlY29uKDgpIGFuZCBtb3VudCg4KS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozNzgKKyMsIGZ1enp5Cittc2dpZCAiV0FSTklORzogZmFpbGVkIHRvIGFwcGx5IHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCittc2dzdHIgIm1vdW50OiBzb2xhbWVudGUgcm9vdCBwdcOyIG1vbnRhcmUgJXMgc3UgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYWxyZWFkeSBtb3VudGVkIgorbXNnc3RyICJtb3VudDogJXMgZ2nDoCBtb250YXRvIHN1ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgdXNlZCBhcyByZWFkIG9ubHkgbG9vcCwgbW91bnRpbmcgcmVhZC1vbmx5IgorbXNnc3RyICJtb3VudDogJXMlcyDDqCBwcm90ZXR0byBkYSBzY3JpdHR1cmEsIHZpZW5lIG1vbnRhdG8gaW4gc29sYSBsZXR0dXJhIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMgaW4gJXMiCittc2dzdHIgIm1vdW50OiBpbXBvc3NpYmlsZSB0cm92YXJlICVzIGluICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnRwb2ludCAlcyBpbiAlcyIKK21zZ3N0ciAibW91bnQ6IGltcG9zc2liaWxlIHRyb3ZhcmUgJXMgaW4gJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBzb3VyY2UgJXMgaW4gJXMiCittc2dzdHIgIm1vdW50OiBpbXBvc3NpYmlsZSB0cm92YXJlICVzIGluICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzOiBtb3JlIGZpbGVzeXN0ZW1zIGRldGVjdGVkLiBUaGlzIHNob3VsZCBub3QgaGFwcGVuLFxuIgorIiAgICAgICB1c2UgLXQgPHR5cGU+IHRvIGV4cGxpY2l0bHkgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIG9yXG4iCisiICAgICAgIHVzZSB3aXBlZnMoOCkgdG8gY2xlYW4gdXAgdGhlIGRldmljZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDM2CisjLCBmdXp6eQorbXNnaWQgIkkgY291bGQgbm90IGRldGVybWluZSB0aGUgZmlsZXN5c3RlbSB0eXBlLCBhbmQgbm9uZSB3YXMgc3BlY2lmaWVkIgorbXNnc3RyICJtb3VudDogaW1wb3NzaWJpbGUgZGV0ZXJtaW5hcmUgaWwgdGlwbyBkaSBmaWxlc3lzdGVtLCBlIG5vbiDDqCBzdGF0byBzcGVjaWZpY2F0byBuZXNzdW5vIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzkKKyMsIGZ1enp5Cittc2dpZCAieW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJtb3VudDogc2kgZGV2ZSBzcGVjaWZpY2FyZSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW0iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCAlcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGNvbGxlZ2FyZSAlczogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ3CisjLCBmdXp6eQorbXNnaWQgIm1vdW50IHNvdXJjZSBub3QgZGVmaW5lZCIKK21zZ3N0ciAibW91bnQ6IG1vdW50IG5vbiByaXVzY2l0byIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDUxIHN5cy11dGlscy9tb3VudC5jOjQ1MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIgorbXNnc3RyICJpbXBvc3NpYmlsZSByaWF2dm9sZ2VyZSBpbCBkaXNwb3NpdGl2byBzd2FwIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudCBmYWlsZWQiCittc2dzdHIgIm1vdW50IG5vbiByaXVzY2l0byIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmlsZXN5c3RlbSBtb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorbXNnc3RyICJtb3VudDogbW91bnQgbm9uIHJpdXNjaXRvIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0ODkgc3lzLXV0aWxzL21vdW50LmM6NTQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIm1vdW50OiBpbCBtb3VudCBwb2ludCBkaSAlcyBub24gw6ggdW5hIGRpcmVjdG9yeSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDkzCisjLCBmdXp6eQorbXNnaWQgIm11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKK21zZ3N0ciAibW91bnQ6IGJpc29nbmEgZXNzZXJlIHN1cGVydXNlciBwZXIgdXRpbGl6emFyZSBtb3VudCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBidXN5IgorbXNnc3RyICJtb3VudDogJXMgw6ggb2NjdXBhdG8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9yICVzIGJ1c3kiCittc2dzdHIgIm1vdW50OiAlcyBnacOgIG1vbnRhdG8gbyAlcyBvY2N1cGF0byIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzXG4iCittc2dzdHIgIm1vdW50OiAlcyBnacOgIG1vbnRhdG8gc3UgJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAibW91bnQ6IGlsIG1vdW50IHBvaW50ICVzIG5vbiBlc2lzdGUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgJXMgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCittc2dzdHIgIm1vdW50OiBpbCBtb3VudCBwb2ludCAlcyDDqCB1biBjb2xsZWdhbWVudG8gc2ltYm9saWNvIGEgbnVsbGEiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIm1vdW50OiBpbCBkZXZpY2Ugc3BlY2lhbGUgJXMgbm9uIGVzaXN0ZSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTM2IHN5cy11dGlscy9tb3VudC5jOjUzOCBzeXMtdXRpbHMvbW91bnQuYzo1NDAKKyM6IHN5cy11dGlscy9tb3VudC5jOjU1NQorIywgZnV6enkKK21zZ2lkICJtb3VudCgyKSBmYWlsZWQiCittc2dzdHIgIm1vdW50IG5vbiByaXVzY2l0byIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpIgorbXNnc3RyICIiCisibW91bnQ6IGlsIGRldmljZSBzcGVjaWFsZSAlcyBub24gZXNpc3RlXG4iCisiICAgICAgICh1biBwcmVmaXNzbyBkaSBwZXJjb3JzbyBub24gw6ggdW5hIGRpcmVjdG9yeSlcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICJtb3VudDogJXMgbm9uIGFuY29yYSBtb250YXRvLCBvcHB1cmUgbCdvcHppb25lIG5vbiDDqCB2YWxpZGEiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50cG9pbnQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAibW91bnQ6ICVzIG5vbiBhbmNvcmEgbW9udGF0bywgb3BwdXJlIGwnb3B6aW9uZSBub24gw6ggdmFsaWRhIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjUKK21zZ2lkICIiCisiYmFkIG9wdGlvbi4gTm90ZSB0aGF0IG1vdmluZyBhIG1vdW50IHJlc2lkaW5nIHVuZGVyIGEgc2hhcmVkXG4iCisiICAgICAgIG1vdW50IGlzIHVuc3VwcG9ydGVkLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ3cm9uZyBmcyB0eXBlLCBiYWQgb3B0aW9uLCBiYWQgc3VwZXJibG9jayBvbiAlcyxcbiIKKyIgICAgICAgbWlzc2luZyBjb2RlcGFnZSBvciBoZWxwZXIgcHJvZ3JhbSwgb3Igb3RoZXIgZXJyb3IiCittc2dzdHIgIiIKKyJtb3VudDogdGlwbyBmcyBlcnJhdG8sIG9wemlvbmUgbm9uIHZhbGlkYSwgc3VwZXJibG9jY28gc3UgJXMgZGFubmVnZ2lhdG8sXG4iCisiICAgICAgIGNvZGVwYWdlIG8gcHJvZ3JhbW1hIGF1c2lsaWFyaW8gbWFuY2FudGUsIG8gYWx0cm8gZXJyb3JlIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgICAoZm9yIHNldmVyYWwgZmlsZXN5c3RlbXMgKGUuZy4gbmZzLCBjaWZzKSB5b3UgbWlnaHRcbiIKKyIgICAgICAgbmVlZCBhIC9zYmluL21vdW50Ljx0eXBlPiBoZWxwZXIgcHJvZ3JhbSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIgICAgICAgSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBpcyBmb3VuZCBpbiBzeXNsb2cgLSB0cnlcbiIKKyIgICAgICAgZG1lc2cgfCB0YWlsIG9yIHNvLlxuIgorbXNnc3RyICIiCisiICAgICAgIEluIGFsY3VuaSBjYXNpIHNpIHBvc3Nvbm8gdHJvdmFyZSBpbmZvcm1hemlvbmkgdXRpbGkgaW4gc3lzbG9nLiBQcm92YXJlXG4iCisiICAgICAgIGFkIGVzZW1waW8gJ2RtZXNnIHwgdGFpbCdcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTgzCittc2dpZCAibW91bnQgdGFibGUgZnVsbCIKK21zZ3N0ciAibW91bnQgdGFibGUgcGllbmEiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IHJlYWQgc3VwZXJibG9jayIKK21zZ3N0ciAibW91bnQ6ICVzOiBpbXBvc3NpYmlsZSBsZWdnZXJlIGlsIHN1cGVyYmxvY2NvIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlICclcyciCittc2dzdHIgIm1vdW50OiB0aXBvIGRpIGZpbGVzeXN0ZW0gJyVzJyBzY29ub3NjaXV0byIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTk0CisjLCBmdXp6eQorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJtb3VudDogdGlwbyBkaSBmaWxlc3lzdGVtICclcycgc2Nvbm9zY2l1dG8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCgyKSBmYWlscz8iCittc2dzdHIgIm1vdW50OiAlcyBub24gw6ggdW4gZGlzcG9zaXRpdm8gYSBibG9jY2hpIGUgc3RhdCBub24gw6ggcml1c2NpdG8/IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ0aGUga2VybmVsIGRvZXMgbm90IHJlY29nbml6ZSAlcyBhcyBhIGJsb2NrIGRldmljZVxuIgorIiAgICAgICAobWF5YmUgYG1vZHByb2JlIGRyaXZlcic/KSIKK21zZ3N0ciAiIgorIm1vdW50OiBpbCBrZXJuZWwgbm9uIHJpY29ub3NjZSAlcyBjb21lIHVuIGRpc3Bvc2l0aXZvIGEgYmxvY2NoaVxuIgorIiAgICAgICAoZm9yc2UgXCJpbnNtb2QgZHJpdmVyXCI/KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UgKG1heWJlIHRyeSBgLW8gbG9vcCc/KSIKK21zZ3N0ciAibW91bnQ6ICVzICBub24gw6ggdW4gZGlzcG9zaXRpdm8gYSBibG9jY2hpIChmb3JzZSBwcm92YXJlIFwiLW8gbG9vcFwiPykiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXM6IG5vbiBzaSB0cmF0dGEgZGkgdW4gZGlzcG9zaXRpdm8gYSBibG9jY2hpXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJtb3VudDogJXMgbm9uIMOoIHVuIGRpc3Bvc2l0aXZvIGEgYmxvY2NoaSB2YWxpZG8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50ICVzIHJlYWQtb25seSIKK21zZ3N0ciAibW91bnQ6IGltcG9zc2liaWxlIG1vbnRhcmUgJXMlcyBpbiBzb2xhIGxldHR1cmEiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCBgLXcnIGZsYWcgZ2l2ZW4iCittc2dzdHIgIm1vdW50OiAlcyVzIMOoIHByb3RldHRvIGRhIHNjcml0dHVyYSwgbWEgbCdvcHppb25lICctdycgw6ggc3RhdGEgaW5kaWNhdGEiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlbW91bnQgJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorbXNnc3RyICJtb3VudDogaW1wb3NzaWJpbGUgbW9udGFyZSAlcyVzIGluIHNvbGEgbGV0dHVyYSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjMxIHN5cy11dGlscy9tb3VudC5jOjY1NCBzeXMtdXRpbHMvdW5zaGFyZS5jOjE4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgb24gJXMgZmFpbGVkIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgcmlub21pbmFyZSAlcyBpbiAlczogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50aW5nIHJlYWQtb25seSIKK21zZ3N0ciAibW91bnQ6ICVzJXMgw6ggcHJvdGV0dG8gZGEgc2NyaXR0dXJhLCB2aWVuZSBtb250YXRvIGluIHNvbGEgbGV0dHVyYSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJubyBtZWRpdW0gZm91bmQgb24gJXMiCittc2dzdHIgIm1vdW50OiAlcyBnacOgIG1vbnRhdG8gc3UgJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG9wdGlvbiBmb3JtYXQ6ICVzIgorbXNnc3RyICIlczogYXJnb21lbnRvIHNjb25vc2NpdXRvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhcHBlbmQgb3B0aW9uICclcyciCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjczNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZV0gPHNvdXJjZT4gfCBbLS10YXJnZXRdIDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgPG9wZXJhdGlvbj4gPG1vdW50cG9pbnQ+IFs8dGFyZ2V0Pl1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NDQKKyMsIGZ1enp5Cittc2dpZCAiTW91bnQgYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJGb3J6YXR1cmEgY29udHJvbGxvIGZpbGVzeXN0ZW0gc3UgJXMgaW4gY29yc28uXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIG1vdW50IGFsbCBmaWxlc3lzdGVtcyBtZW50aW9uZWQgaW4gZnN0YWJcbiIKKyIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCisiIC1mLCAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIG1vdW50KDIpIHN5c2NhbGxcbiIKKyIgLUYsIC0tZm9yayAgICAgICAgICAgICAgZm9yayBvZmYgZm9yIGVhY2ggZGV2aWNlICh1c2Ugd2l0aCAtYSlcbiIKKyIgLVQsIC0tZnN0YWIgPHBhdGg+ICAgICAgYWx0ZXJuYXRpdmUgZmlsZSB0byAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSBtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIHNob3cgYWxzbyBmaWxlc3lzdGVtIGxhYmVsc1xuIgorbXNnc3RyICIgIFsgLWZpbGUgZHVtcGZpbGVuYW1lIF1cbiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTggc3lzLXV0aWxzL3Vtb3VudC5jOjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtb3VudCBvcHRpb25zXG4iCisiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLW9ubHkgKHNhbWUgYXMgLW8gcm8pXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc2NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLXNvdXJjZSA8c3JjPiAgICAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIHNvdXJjZSAocGF0aCwgbGFiZWwsIHV1aWQpXG4iCisiICAgICAtLXRhcmdldCA8dGFyZ2V0PiAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3Njggc3lzLXV0aWxzL3Vtb3VudC5jOjk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtd3JpdGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTb3VyY2U6XG4iCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc5MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3BlcmF0aW9uczpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIHNvbWV3aGVyZSBlbHNlIChzYW1lIGFzIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG1vdmUgYSBzdWJ0cmVlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjgwMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4ODcgc3lzLXV0aWxzL3Vtb3VudC5jOjU0OAorIywgZnV6enkKK21zZ2lkICJsaWJtb3VudCBjb250ZXh0IGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJtb3VudDogbW91bnQgbm9uIHJpdXNjaXRvIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo5NDQgc3lzLXV0aWxzL3Vtb3VudC5jOjYwMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IG9wdGlvbnMgcGF0dGVybiIKK21zZ3N0ciAiU2NyaXR0dXJhIGRlbGxhIHBhcnRpemlvbmUgc3UgJXMgbm9uIHJpdXNjaXRhXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEwOTcKKyMsIGZ1enp5Cittc2dpZCAic291cmNlIHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAiU2kgw6ggc3BlY2lmaWNhdG8gdW4gbnVtZXJvIGRpIGNpbGluZHJpIHN1cGVyaW9yZSBhIHF1ZWxsaSBjb250ZW51dGkgc3UgZGlzY28iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLXFkXSAvcGF0aC90by9kaXJlY3RvcnlcbiIKKyIgJTEkcyAteCAvZGV2L2RldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTIyCittc2dpZCAiQ2hlY2sgd2hldGhlciBhIGRpcmVjdG9yeSBvciBmaWxlIGlzIGEgbW91bnRwb2ludC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEyNQorbXNnaWQgIiIKKyIgLXEsIC0tcXVpZXQgICAgICAgIHF1aWV0IG1vZGUgLSBkb24ndCBwcmludCBhbnl0aGluZ1xuIgorIiAtZCwgLS1mcy1kZXZubyAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBmaWxlc3lzdGVtXG4iCisiIC14LCAtLWRldm5vICAgICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGJsb2NrIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBtb3VudHBvaW50XG4iCittc2dzdHIgImwnaW5vZGUgcmFkaWNlIG5vbiDDqCB1bmEgZGlyZWN0b3J5IgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjIwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzIMOoIG1vbnRhdG8uXHQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzIgc3lzLXV0aWxzL3NldHByaXYuYzo5MyBzeXMtdXRpbHMvdW5zaGFyZS5jOjI0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXG4iCittc2dzdHIgIlVzbzogJXMgcHJvZ3JhbW1hIFthcmcgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjc2Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIG5hbWVzcGFjZXMgb2Ygb3RoZXIgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzkKK21zZ2lkICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICB0YXJnZXQgcHJvY2VzcyB0byBnZXQgbmFtZXNwYWNlcyBmcm9tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MAorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICBlbnRlciBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgxCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgIGVudGVyIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MgorIywgZnV6enkKK21zZ2lkICIgLWksIC0taXBjWz08ZmlsZT5dICAgICBlbnRlciBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgZW50ZXIgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgIGVudGVyIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg1CisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gIGVudGVyIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg2CisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgIGVudGVyIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODcKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgc2V0IHVpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg4CisjLCBmdXp6eQorbXNnaWQgIiAtRywgLS1zZXRnaWQgPGdpZD4gICAgIHNldCBnaWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OQorbXNnaWQgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyBkbyBub3QgdG91Y2ggdWlkcyBvciBnaWRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MAorbXNnaWQgIiAtciwgLS1yb290Wz08ZGlyPl0gICAgIHNldCB0aGUgcm9vdCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkxCittc2dpZCAiIC13LCAtLXdkWz08ZGlyPl0gICAgICAgc2V0IHRoZSB3b3JraW5nIGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTIKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICBkbyBub3QgZm9yayBiZWZvcmUgZXhlYydpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NAorbXNnaWQgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgIHNldCBTRUxpbnV4IGNvbnRleHQgYWNjb3JkaW5nIHRvIC0tdGFyZ2V0IFBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5laXRoZXIgZmlsZW5hbWUgbm9yIHRhcmdldCBwaWQgc3VwcGxpZWQgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mjc3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB1aWQiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MjgxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBnaWQiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzE3Cittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tZm9sbG93LWNvbnRleHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgJWQgU0VMaW51eCBjb250ZXh0IgorbXNnc3RyICJpbXBvc3NpYmlsZSBjcmVhcmUgdW4gbnVvdm8gY29udGVzdG8gc2VsaW51eCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgZXhlYyBjb250ZXh0IHRvICclcyciCittc2dzdHIgIlNjcml0dHVyYSBkZWxsYSBwYXJ0aXppb25lIHN1ICVzIG5vbiByaXVzY2l0YVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVhc3NvY2lhdGUgdG8gbmFtZXNwYWNlICclcycgZmFpbGVkIgorbXNnc3RyICJzZW1hZm9yaSBhbGxvY2F0aSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzkwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgImVycm9yZSBkdXJhbnRlIGlsIGNhbWJpYW1lbnRvIGRlbGxhIG1vZGFsaXTDoCBkaSAlczogJXNcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozOTcKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSByb290IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgInJpY2VyY2Egbm9uIHJpdXNjaXRhIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQwMAorIywgZnV6enkKK21zZ2lkICJjaHJvb3QgZmFpbGVkIgorbXNnc3RyICJtb3VudCBub24gcml1c2NpdG8iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDEwCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgd29ya2luZyBkaXJlY3RvcnkgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAicmljZXJjYSBub24gcml1c2NpdGEiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDIxIHN5cy11dGlscy9zZXRwcml2LmM6ODE1IHN5cy11dGlscy9zZXRwcml2LmM6ODE5CisjLCBmdXp6eQorbXNnaWQgInNldGdyb3VwcyBmYWlsZWQiCittc2dzdHIgIkFwZXJ0dXJhIGRpICVzIG5vbiByaXVzY2l0YSIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBuZXdfcm9vdCBwdXRfb2xkXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzcKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHRoZSByb290IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkZvcnphdHVyYSBjb250cm9sbG8gZmlsZXN5c3RlbSBzdSAlcyBpbiBjb3Jzby5cbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzo3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IGZyb20gYCVzJyB0byBgJXMnIgorbXNnc3RyICJTY3JpdHR1cmEgZGVsbGEgcGFydGl6aW9uZSBzdSAlcyBub24gcml1c2NpdGFcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NQorbXNnaWQgImFkZHJlc3Mgc3BhY2UgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIywgZnV6enkKK21zZ2lkICJtYXggY29yZSBmaWxlIHNpemUiCittc2dzdHIgIkltcG9zc2liaWxlIGFwcmlyZSBpbCBmaWxlICclcyciCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJDUFUgdGltZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3CisjLCBmdXp6eQorbXNnaWQgInNlY29uZHMiCittc2dzdHIgIkRPUyBzZWNvbmRhcmlvIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4Cittc2dpZCAibWF4IGRhdGEgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5CisjLCBmdXp6eQorbXNnaWQgIm1heCBmaWxlIHNpemUiCittc2dzdHIgImRpbWVuc2lvbmUgaW5vZGUgbm9uIGNvcnJldHRhIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2YgZmlsZSBsb2NrcyBoZWxkIgorbXNnc3RyICJudW1lcm8gbWFzc2ltbyBkaSBzZWdtZW50aSA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCisjLCBmdXp6eQorbXNnaWQgImxvY2tzIgorbXNnc3RyICJibG9jY2hpICVsZFxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCittc2dpZCAibWF4IGxvY2tlZC1pbi1tZW1vcnkgYWRkcmVzcyBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyCittc2dpZCAibWF4IGJ5dGVzIGluIFBPU0lYIG1xdWV1ZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MworbXNnaWQgIm1heCBuaWNlIHByaW8gYWxsb3dlZCB0byByYWlzZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0CisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2Ygb3BlbiBmaWxlcyIKK21zZ3N0ciAibnVtZXJvIG1hc3NpbW8gZGkgc2VnbWVudGkgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorIywgZnV6enkKK21zZ2lkICJmaWxlcyIKK21zZ3N0ciAiKEZpbGUgc3VjY2Vzc2l2bzogJXMpIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1CisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2YgcHJvY2Vzc2VzIgorbXNnc3RyICJudW1lcm8gbWFzc2ltbyBkaSBzZWdtZW50aSA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1CisjLCBmdXp6eQorbXNnaWQgInByb2Nlc3NlcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIHRyb3ZhcmUgaWwgcHJvY2Vzc28gXCIlc1wiXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODYKK21zZ2lkICJtYXggcmVzaWRlbnQgc2V0IHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NworIywgZnV6enkKK21zZ2lkICJtYXggcmVhbC10aW1lIHByaW9yaXR5IgorbXNnc3RyICJnZXRwcmlvcml0eSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgInRpbWVvdXQgZm9yIHJlYWwtdGltZSB0YXNrcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAibWljcm9zZWNzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKKyMsIGZ1enp5Cittc2dpZCAibWF4IG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHMiCittc2dzdHIgIm51bWVybyBtYXNzaW1vIGRpIHNlZ21lbnRpID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJzaWduYWxzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJtYXggc3RhY2sgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyMworIywgZnV6enkKK21zZ2lkICJyZXNvdXJjZSBuYW1lIgorbXNnc3RyICJOb21lIHV0ZW50ZSBub24gdmFsaWRvIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNAorIywgZnV6enkKK21zZ2lkICJyZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiZGlzcG9zaXRpdm8gYSBibG9jY2hpIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNQorbXNnaWQgInNvZnQgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjYKK21zZ2lkICJoYXJkIGxpbWl0IChjZWlsaW5nKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNworIywgZnV6enkKK21zZ2lkICJ1bml0cyIKK21zZ3N0ciAiVW5pdMOgIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXAgUElEXVxuIgorbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBDT01NQU5EXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY2Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlc291cmNlIGxpbWl0cyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjgKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkdlbmVyYWwgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpemlvbmk6XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY5Cittc2dpZCAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHByb2Nlc3MgaWRcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCisiICAgICAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyIgICAgIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCisiICAgICAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBvdXRwdXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzcKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlJlc291cmNlcyBPcHRpb25zOlxuIgorbXNnc3RyICJvcHppb25pIHBlcmljb2xvc2U6IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OAorbXNnaWQgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgY29yZSBmaWxlcyBjcmVhdGVkXG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcydzIGRhdGEgc2VnbWVudFxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIG1heGltdW0gbmljZSBwcmlvcml0eSBhbGxvd2VkIHRvIHJhaXNlXG4iCisiIC1mLCAtLWZzaXplICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlIHByb2Nlc3NcbiIKKyIgLWksIC0tc2lncGVuZGluZyAgICAgICBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHNcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICBtYXhpbXVtIHNpemUgYSBwcm9jZXNzIG1heSBsb2NrIGludG8gbWVtb3J5XG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZVxuIgorIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIG9wZW4gZmlsZXNcbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBtYXhpbXVtIGJ5dGVzIGluIFBPU0lYIG1lc3NhZ2UgcXVldWVzXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eVxuIgorIiAtcywgLS1zdGFjayAgICAgICAgICAgIG1heGltdW0gc3RhY2sgc2l6ZVxuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIG1heGltdW0gYW1vdW50IG9mIENQVSB0aW1lIGluIHNlY29uZHNcbiIKKyIgLXUsIC0tbnByb2MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiB1c2VyIHByb2Nlc3Nlc1xuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIHNpemUgb2YgdmlydHVhbCBtZW1vcnlcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBmaWxlIGxvY2tzXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAgQ1BVIHRpbWUgaW4gbWljcm9zZWNvbmRzIGEgcHJvY2VzcyBzY2hlZHVsZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1bmRlciByZWFsLXRpbWUgc2NoZWR1bGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MjQzIHN5cy11dGlscy9wcmxpbWl0LmM6MjQ5IHN5cy11dGlscy9wcmxpbWl0LmM6MzY2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3MQorbXNnaWQgInVubGltaXRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjMzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBvbGQgJXMgbGltaXQiCittc2dzdHIgIlNjcml0dHVyYSBkZWxsYSBwYXJ0aXppb25lIHN1ICVzIG5vbiByaXVzY2l0YVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM1NgorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgc29mdCBsaW1pdCAlcyBjYW5ub3QgZXhjZWVkIHRoZSBoYXJkIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5ldyAlcyBsaW1pdCBmb3IgcGlkICVkOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICJTY3JpdHR1cmEgZGVsbGEgcGFydGl6aW9uZSBzdSAlcyBub24gcml1c2NpdGFcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICJTY3JpdHR1cmEgZGVsbGEgcGFydGl6aW9uZSBzdSAlcyBub24gcml1c2NpdGFcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo0NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBsaW1pdCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo1ODUKK21zZ2lkICJvcHRpb24gLS1waWQgbWF5IGJlIHNwZWNpZmllZCBvbmx5IG9uY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo2MTYKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9ucyAtLXBpZCBhbmQgQ09NTUFORCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIlczogTGUgb3B6aW9uaSAtLWFkanVzdCBlIC1ub2FkamZpbGUgc2kgZXNjbHVkb25vIHZpY2VuZGV2b2xtZW50ZS4gU29ubyBzdGF0ZSBzcGVjaWZpY2F0ZSBlbnRyYW1iZS5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA3Cittc2dpZCAiRGlzcGxheSBrZXJuZWwgcHJvZmlsaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICIgLW0sIC0tbWFwZmlsZSA8bWFwZmlsZT4gICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiVzXCIpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtcCwgLS1wcm9maWxlIDxwcm8tZmlsZT4gIChkZWZhdWx0OiAgXCIlc1wiKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNgorbXNnaWQgIiAtTSwgLS1tdWx0aXBsaWVyIDxtdWx0PiAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iCittc2dzdHIgIiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgcHJpbnQgb25seSBpbmZvIGFib3V0IHRoZSBzYW1wbGluZyBzdGVwXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTgKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBkYXRhXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOQorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICBwcmludCBhbGwgc3ltYm9scywgZXZlbiBpZiBjb3VudCBpcyAwXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIwCittc2dpZCAiIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMQorbXNnaWQgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgY291bnRlcnMgd2l0aGluIGZ1bmN0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICBQcm92YSBkZWxsYSB2ZXJzaW9uZSBnZXRvcHQoMSlcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIzCittc2dpZCAiIC1uLCAtLW5vLWF1dG8gICAgICAgICAgICAgZGlzYWJsZSBieXRlIG9yZGVyIGF1dG8tZGV0ZWN0aW9uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvciB3cml0aW5nICVzIgorbXNnc3RyICJlcnJvcmUgZHVyYW50ZSBsYSBzY3JpdHR1cmEgZGkgJXM6ICVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyNzEKK21zZ2lkICJBc3N1bWluZyByZXZlcnNlZCBieXRlIG9yZGVyLiBVc2UgLW4gdG8gZm9yY2UgbmF0aXZlIGJ5dGUgb3JkZXIuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2FtcGxpbmdfc3RlcDogJXVcbiIKK21zZ3N0ciAiU2FtcGxpbmdfc3RlcDogJWlcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzAyIHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMoJWkpOiB3cm9uZyBtYXAgbGluZSIKK21zZ3N0ciAiJXM6ICVzKCVpKTogbGluZWEgbWFwcGEgZXJyYXRhXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBcIl9zdGV4dFwiIGluICVzIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgdHJvdmFyZSBcIl9zdGV4dFwiIGluICVzXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjM0NgorbXNnaWQgInByb2ZpbGUgYWRkcmVzcyBvdXQgb2YgcmFuZ2UuIFdyb25nIG1hcCBmaWxlPyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzo0MDQKK21zZ2lkICJ0b3RhbCIKK21zZ3N0ciAidG90YWxlIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTIKK21zZ2lkICJwcm9jZXNzIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MworbXNnaWQgInByb2Nlc3MgZ3JvdXAgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gWy1wfC0tcGlkXSA8cGlkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLWd8LS1wZ3JwIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLXV8LS11c2VyIDx1c2VyPi4uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2NworbXNnaWQgIkFsdGVyIHRoZSBwcmlvcml0eSBvZiBydW5uaW5nIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXByaW9yaXR5IDxudW0+ICAgc3BlY2lmeSB0aGUgbmljZSBpbmNyZW1lbnQgdmFsdWVcbiIKK21zZ3N0ciAiSW1tZXR0ZXJlIGlsIG51bWVybyBkaSBjaWxpbmRyaTogIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MQorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBJRCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MgorbXNnaWQgIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIGdyb3VwIElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjczCittc2dpZCAiIC11LCAtLXVzZXIgPG5hbWU+fDxpZD4gaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHVzZXJuYW1lIG9yIHVzZXIgSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgIlNjcml0dHVyYSBkZWxsYSBwYXJ0aXppb25lIHN1ICVzIG5vbiByaXVzY2l0YVxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgIlNjcml0dHVyYSBkZWxsYSBwYXJ0aXppb25lIHN1ICVzIG5vbiByaXVzY2l0YVxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCAoJXMpIG9sZCBwcmlvcml0eSAlZCwgbmV3IHByaW9yaXR5ICVkXG4iCittc2dzdHIgIiVkOiB2ZWNjaGlhIHByaW9yaXTDoCAlZCwgbnVvdmEgcHJpb3JpdMOgICVkXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdXNlciAlcyIKK21zZ3N0ciAiJXM6IENvbWFuZG8gc2Nvbm9zY2l1dG86ICVzXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgb25lIG9mIHRoZSBhYm92ZQorIy4gKiB0aHJlZSBJRCBuYW1lcy4gUmVhZDogImJhZCB2YWx1ZSBmb3IgJXM6ICVzIgorIzogc3lzLXV0aWxzL3JlbmljZS5jOjE4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkICVzIHZhbHVlOiAlcyIKK21zZ3N0ciAidmFsb3JlIGRpIHRpbWVvdXQgbm9uIHZhbGlkbzogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6OTgKK21zZ2lkICJFbnRlciBhIHN5c3RlbSBzbGVlcCBzdGF0ZSB1bnRpbCBhIHNwZWNpZmllZCB3YWtldXAgdGltZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMQorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICAgICAgICAgIHJlYWRzIHRoZSBjbG9jayBtb2RlIGZyb20gYWRqdXN0IGZpbGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtQSwgLS1hZGpmaWxlIDxmaWxlPiAgICAgc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA1Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICBkYXRlIHRpbWUgb2YgdGltZXN0YW1wIHRvIHdha2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNgorbXNnaWQgIiAtZCwgLS1kZXZpY2UgPGRldmljZT4gICAgc2VsZWN0IHJ0YyBkZXZpY2UgKHJ0YzB8cnRjMXwuLi4pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDcKK21zZ2lkICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGRvZXMgZXZlcnl0aGluZywgYnV0IHN1c3BlbmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOAorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDkKK21zZ2lkICIgICAgIC0tbGlzdC1tb2RlcyAgICAgICAgIGxpc3QgYXZhaWxhYmxlIG1vZGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTAKK21zZ2lkICIgLW0sIC0tbW9kZSA8bW9kZT4gICAgICAgIHN0YW5kYnl8bWVtfC4uLiBzbGVlcCBtb2RlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTEKK21zZ2lkICIgLXMsIC0tc2Vjb25kcyA8c2Vjb25kcz4gIHNlY29uZHMgdG8gc2xlZXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMgorbXNnaWQgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTMKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBSVEMgdXNlcyBVVENcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTY3CisjLCBmdXp6eQorbXNnaWQgInJlYWQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICJnZXR0aW1lb2ZkYXkgbm9uIHJpdXNjaXRvIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE3MworIywgZnV6enkKK21zZ2lkICJyZWFkIHN5c3RlbSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAic2VtYWZvcmkgYWxsb2NhdGkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE4OQorIywgZnV6enkKK21zZ2lkICJjb252ZXJ0IHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiIgorIlxuIgorIkVycm9yZSBkdXJhbnRlIGxhIGNoaXVzdXJhIGRlbCBmaWxlXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MjM3Cittc2dpZCAic2V0IHJ0YyB3YWtlIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHRoaXJkIGxpbmUgaW46ICVzOiAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMyMCBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyNAorIywgZnV6enkKK21zZ2lkICJyZWFkIHJ0YyBhbGFybSBmYWlsZWQiCittc2dzdHIgInNlbWFmb3JpIGFsbG9jYXRpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9mZlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzM4CisjLCBmdXp6eQorbXNnaWQgImNvbnZlcnQgdGltZSBmYWlsZWQiCittc2dzdHIgImdldHRpbWVvZmRheSBub24gcml1c2NpdG8iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvbiAgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkOiAlcyIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYXByaXJlICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgc3VzcGVuZCBzdGF0ZSAnJXMnIgorbXNnc3RyICIgJXM6IHRpcG8gZGkgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIG5vbiByaWNvbm9zY2l1dG9cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0NzUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzZWNvbmRzIGFyZ3VtZW50IgorbXNnc3RyICJpZCBub24gdmFsaWRvIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ3OQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHRpbWUgYXJndW1lbnQiCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhc3N1bWluZyBSVEMgdXNlcyBVVEMgLi4uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTEKKyMsIGZ1enp5Cittc2dpZCAiVXNpbmcgVVRDIHRpbWUuXG4iCittc2dzdHIgIlV0aWxpenpvIGRpICVzLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxMgorIywgZnV6enkKK21zZ2lkICJVc2luZyBsb2NhbCB0aW1lLlxuIgorbXNnc3RyICJVdGlsaXp6byBkaSAlcy5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTUKK21zZ2lkICJtdXN0IHByb3ZpZGUgd2FrZSB0aW1lIChzZWUgLS1zZWNvbmRzLCAtLXRpbWUgYW5kIC0tZGF0ZSBvcHRpb25zKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGVuYWJsZWQgZm9yIHdha2V1cCBldmVudHMiCittc2dzdHIgIiVzOiAlcyBubyDDqCB1biBscCBkZXZpY2UuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTI4CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtICVsZCwgc3lzX3RpbWUgJWxkLCBydGNfdGltZSAlbGQsIHNlY29uZHMgJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzNQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGRvZXNuJ3QgZ28gYmFja3dhcmQgdG8gJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIk1lc3NhZ2dpbyBkYSAlc0AlcyBzdSAlcyBhICVzIC4uLiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgZnJvbSBcIiVzXCIgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIk1lc3NhZ2dpbyBkYSAlc0AlcyBzdSAlcyBhICVzIC4uLiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBubzsgbGVhdmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogb2ZmOyBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9uOyByZWFkaW5nIHJ0Y1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTkyCisjLCBmdXp6eQorbXNnaWQgInJ0YyByZWFkIGZhaWxlZCIKK21zZ3N0ciAiKEZpbGUgc3VjY2Vzc2l2bzogJXMpIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwNAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IGRpc2FibGU7IGRpc2FibGluZyBhbGFybVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjA4CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogc2hvdzsgcHJpbnRpbmcgYWxhcm0gaW5mb1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjE1CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogJXM7IHN1c3BlbmRpbmcgc3lzdGVtXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjkKK21zZ2lkICJkaXNhYmxlIHJ0YyBhbGFybSBpbnRlcnJ1cHQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3dpdGNoaW5nIG9uICVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8YXJjaD4gW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJVc286ICVzIHByb2dyYW1tYSBbYXJnIC4uLl1cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiVXNvOiAlcyBwcm9ncmFtbWEgW2FyZyAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTYKK21zZ2lkICJDaGFuZ2UgdGhlIHJlcG9ydGVkIGFyY2hpdGVjdHVyZSBhbmQgc2V0IHBlcnNvbmFsaXR5IGZsYWdzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTkKK21zZ2lkICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIHR1cm5zIG9uIEFERFJfTElNSVRfMzJCSVRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMAorbXNnaWQgIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAgbWFrZXMgZnVuY3Rpb24gcG9pbnRlcnMgcG9pbnQgdG8gZGVzY3JpcHRvcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMQorbXNnaWQgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgdHVybnMgb24gU0hPUlRfSU5PREVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMgorbXNnaWQgIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQgY2hhbmdlcyB0aGUgd2F5IHZpcnR1YWwgbWVtb3J5IGlzIGFsbG9jYXRlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAzCittc2dpZCAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBkaXNhYmxlcyByYW5kb21pemF0aW9uIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNAorbXNnaWQgIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgdHVybnMgb24gV0hPTEVfU0VDT05EU1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA1Cittc2dpZCAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0dXJucyBvbiBTVElDS1lfVElNRU9VVFNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNgorbXNnaWQgIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgdHVybnMgb24gUkVBRF9JTVBMSUVTX0VYRUNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNworbXNnaWQgIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgdHVybnMgb24gTU1BUF9QQUdFX1pFUk9cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOAorbXNnaWQgIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgbGltaXRzIHRoZSB1c2VkIGFkZHJlc3Mgc3BhY2UgdG8gYSBtYXhpbXVtIG9mIDMgR0JcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOQorbXNnaWQgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMAorbXNnaWQgIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgdHVybnMgb24gVU5BTUUyNlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTExCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgc2F5IHdoYXQgb3B0aW9ucyBhcmUgYmVpbmcgc3dpdGNoZWQgb25cbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExNAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3Qgc2V0dGFibGUgYXJjaGl0ZWN0dXJlcywgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiJXNcbiIKKyJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorbXNnc3RyICIiCisiJXM6ICVzXG4iCisiUHJvdmFyZSBcIiVzIC0taGVscFwiIHBlciB1bHRlcmlvcmkgaW5mb3JtYXppb25pLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKK21zZ3N0ciAiIgorIiVzOiAlc1xuIgorIlByb3ZhcmUgXCIlcyAtLWhlbHBcIiBwZXIgdWx0ZXJpb3JpIGluZm9ybWF6aW9uaS5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFVucmVjb2duaXplZCBhcmNoaXRlY3R1cmUiCittc2dzdHIgIiAlczogYXJjaGl0ZXR0dXJhIG5vbiByaWNvbm9zY2l1dGEiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgY2Fubm90IHNldCBhcmNoaXRlY3R1cmUgdG8gJXMiCittc2dzdHIgIkltcG9zc2liaWxlIG90dGVuZXJlIGlsIHRpbWVvdXQgcGVyICVzOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjMwNQorbXNnaWQgIk5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJBcmdvbWVudGkgaW5zdWZmaWNpZW50aSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIlNjcml0dHVyYSBkZWxsYSBwYXJ0aXppb25lIHN1ICVzIG5vbiByaXVzY2l0YVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM3OQorIywgZnV6enkKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICctLWxpc3QnIgorbXNnc3RyICJpbnB1dCBub24gcmljb25vc2NpdXRvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM4NworIywgZnV6enkKK21zZ2lkICJubyBhcmNoaXRlY3R1cmUgYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJBcmdvbWVudGkgaW5zdWZmaWNpZW50aSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIlNjcml0dHVyYSBkZWxsYSBwYXJ0aXppb25lIHN1ICVzIG5vbiByaXVzY2l0YVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRXhlY3V0ZSBjb21tYW5kIGAlcycuXG4iCittc2dzdHIgIkVzZWN1emlvbmUgY29tYW5kbyBkYXRlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk3Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIGRpZmZlcmVudCBwcml2aWxlZ2Ugc2V0dGluZ3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDAKK21zZ2lkICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgIHNob3cgY3VycmVudCBzdGF0ZSAoYW5kIGRvIG5vdCBleGVjIGFueXRoaW5nKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTAxCittc2dpZCAiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICBkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTAyCittc2dpZCAiIC0taW5oLWNhcHMgPGNhcHMsLi4uPiAgICBzZXQgaW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDMKK21zZ2lkICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgIHNldCBjYXBhYmlsaXR5IGJvdW5kaW5nIHNldFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA0CisjLCBmdXp6eQorbXNnaWQgIiAtLXJ1aWQgPHVpZD4gICAgICAgICAgICAgc2V0IHJlYWwgdWlkXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDUKK21zZ2lkICIgLS1ldWlkIDx1aWQ+ICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDYKK21zZ2lkICIgLS1yZ2lkIDxnaWQ+ICAgICAgICAgICAgIHNldCByZWFsIGdpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA3Cittc2dpZCAiIC0tZWdpZCA8Z2lkPiAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA4Cittc2dpZCAiIC0tcmV1aWQgPHVpZD4gICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA5Cittc2dpZCAiIC0tcmVnaWQgPGdpZD4gICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEwCittc2dpZCAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICBjbGVhciBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTExCittc2dpZCAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICBrZWVwIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTIKK21zZ2lkICIgLS1ncm91cHMgPGdyb3VwLC4uLj4gICAgIHNldCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEzCittc2dpZCAiIC0tc2VjdXJlYml0cyA8Yml0cz4gICAgICBzZXQgc2VjdXJlYml0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE0Cittc2dpZCAiIC0tc2VsaW51eC1sYWJlbCA8bGFiZWw+ICBzZXQgU0VMaW51eCBsYWJlbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE1Cittc2dpZCAiIC0tYXBwYXJtb3ItcHJvZmlsZSA8cHI+ICBzZXQgQXBwQXJtb3IgcHJvZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIxCittc2dpZCAiIFRoaXMgdG9vbCBjYW4gYmUgZGFuZ2Vyb3VzLiAgUmVhZCB0aGUgbWFucGFnZSwgYW5kIGJlIGNhcmVmdWwuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxOTMgc3lzLXV0aWxzL3NldHByaXYuYzo0NjcKK21zZ2lkICJnZXR0aW5nIHByb2Nlc3Mgc2VjdXJlIGJpdHMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3VyZWJpdHM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdXG4iCittc2dzdHIgIk5lc3N1bm8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIGxvbmciCittc2dzdHIgIlJpZ2EgdHJvcHBvIGx1bmdhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjczIHN5cy11dGlscy9zZXRwcml2LmM6MzIxIHN5cy11dGlscy9zZXRwcml2LmM6MzI2CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzMiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdIgorbXNnc3RyICJOZXNzdW5vIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXVpZDogJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJzdWlkOiAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjk5IHN5cy11dGlscy9zZXRwcml2LmM6MzkxCisjLCBmdXp6eQorbXNnaWQgImdldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIG5vbiByaXVzY2l0byIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMDggc3lzLXV0aWxzL3NldHByaXYuYzo0MDYKKyMsIGZ1enp5Cittc2dpZCAiZ2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgbm9uIHJpdXNjaXRvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICJFZmZlY3RpdmUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGVybWl0dGVkIGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkluaGVyaXRhYmxlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzM1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhcGFiaWxpdHkgYm91bmRpbmcgc2V0OiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDMKKyMsIGZ1enp5Cittc2dpZCAiU0VMaW51eCBsYWJlbCIKK21zZ3N0ciAiTGludXggcGxhaW50ZXh0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0NgorbXNnaWQgIkFwcEFybW9yIHByb2ZpbGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FwICVkOiBsaWJjYXAtbmcgaXMgYnJva2VuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzgyCittc2dpZCAiSW52YWxpZCBzdXBwbGVtZW50YXJ5IGdyb3VwIGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzk5CisjLCBmdXp6eQorbXNnaWQgInNldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIG5vbiByaXVzY2l0byIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAic2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgbm9uIHJpdXNjaXRvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQzNQorbXNnaWQgImJhZCBjYXBhYmlsaXR5IHN0cmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ0MworbXNnaWQgImxpYmNhcC1uZyBpcyB0b28gb2xkIGZvciBcImFsbFwiIGNhcHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY2FwYWJpbGl0eSBcIiVzXCIiCittc2dzdHIgIk5lc3N1bmEgZGlyZWN0b3J5ICVzIVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ3NgorIywgZnV6enkKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IHNldCAtLSByZWZ1c2luZyB0byBhZGp1c3QiCittc2dzdHIgImZvcm1hdG8gbm9uIHJpY29ub3NjaXV0byAtIHV0aWxpenpvIGRlaSBzZXR0b3JpIGluIGNvcnNvXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDgwCittc2dpZCAiYmFkIHNlY3VyZWJpdHMgc3RyaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDg3CisjLCBmdXp6eQorbXNnaWQgIithbGwgc2VjdXJlYml0cyBpcyBub3QgYWxsb3dlZCIKK21zZ3N0ciAiJyVjJyBub24gw6ggY29uc2VudGl0by5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDAKK21zZ2lkICJhZGp1c3Rpbmcga2VlcF9jYXBzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDQKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAiaW5wdXQgbm9uIHJpY29ub3NjaXV0bzogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MjQKK21zZ2lkICJTRUxpbnV4IGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjbG9zZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJyaWNlcmNhIG5vbiByaXVzY2l0YSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NDcKK21zZ2lkICJBcHBBcm1vciBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY1OAorbXNnaWQgImR1cGxpY2F0ZSAtLW5vLW5ldy1wcml2cyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NjMKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY2NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcnVpZCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NjkKK21zZ2lkICJkdXBsaWNhdGUgZXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY3MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXVpZCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzUKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCBvciBldWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njc3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZXVpZCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODEKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmdpZCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODcKK21zZ2lkICJkdXBsaWNhdGUgZWdpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWdpZCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2OTMKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCBvciBlZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njk1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZWdpZCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MDAKK21zZ2lkICJkdXBsaWNhdGUgLS1jbGVhci1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzA2Cittc2dpZCAiZHVwbGljYXRlIC0ta2VlcC1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzEyCittc2dpZCAiZHVwbGljYXRlIC0tZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcyMQorbXNnaWQgImR1cGxpY2F0ZSAtLWluaC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcyNworbXNnaWQgImR1cGxpY2F0ZSAtLWJvdW5kaW5nLXNldCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MzMKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWN1cmViaXRzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjczOQorbXNnaWQgImR1cGxpY2F0ZSAtLXNlbGludXgtbGFiZWwgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzQ1Cittc2dpZCAiZHVwbGljYXRlIC0tYXBwYXJtb3ItcHJvZmlsZSBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJyVjJyIKK21zZ3N0ciAiaW5wdXQgbm9uIHJpY29ub3NjaXV0bzogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NjMKK21zZ2lkICItLWR1bXAgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzEKK21zZ2lkICItLWxpc3QtY2FwcyBtdXN0IGJlIHNwZWNpZmllZCBhbG9uZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3NworIywgZnV6enkKK21zZ2lkICJObyBwcm9ncmFtIHNwZWNpZmllZCIKK21zZ3N0ciAiT3B6aW9uZSAtLWRhdGUgbm9uIHNwZWNpZmljYXRhLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4MgorbXNnaWQgIi0tW3JlXWdpZCByZXF1aXJlcyAtLWtlZXAtZ3JvdXBzLCAtLWNsZWFyLWdyb3Vwcywgb3IgLS1ncm91cHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODUKK21zZ2lkICJkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTMKK21zZ2lkICJrZWVwIHByb2Nlc3MgY2FwYWJpbGl0aWVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwMQorbXNnaWQgImFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwNworbXNnaWQgInJlYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODIzCisjLCBmdXp6eQorbXNnaWQgInNldCBwcm9jZXNzIHNlY3VyZWJpdHMgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBub24gcml1c2NpdG8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODI5Cittc2dpZCAiYXBwbHkgYm91bmRpbmcgc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODM1Cittc2dpZCAiYXBwbHkgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZXhlY3V0ZTogJXMiCittc2dzdHIgImltcG9zc2liaWxlIGVzZWd1aXJlIHN0YXQgc3VsIGRpc3Bvc2l0aXZvICVzIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFthcmd1bWVudHMgLi4uXVxuIgorbXNnc3RyICJVc286ICVzIHByb2dyYW1tYSBbYXJnIC4uLl1cbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjM2Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSBpbiBhIG5ldyBzZXNzaW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozOQorbXNnaWQgIiAtYywgLS1jdHR5ICAgICBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIHRvIHRoZSBjdXJyZW50IG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MAorbXNnaWQgIiAtdywgLS13YWl0ICAgICB3YWl0IHByb2dyYW0gdG8gZXhpdCwgYW5kIHVzZSB0aGUgc2FtZSByZXR1cm5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiZm9yayIKK21zZ3N0ciAiZm9yazogJXMiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNoaWxkICVkIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAibW91bnQ6IGlsIG1vdW50IHBvaW50ICVzIG5vbiBlc2lzdGUiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTAKKyMsIGZ1enp5Cittc2dpZCAic2V0c2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgbm9uIHJpdXNjaXRvIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIgorbXNnc3RyICJTY3JpdHR1cmEgZGVsbGEgcGFydGl6aW9uZSBzdSAlcyBub24gcml1c2NpdGFcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3dhcG9mZiAlc1xuIgorbXNnc3RyICIlcyBzdSAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNQorIywgZnV6enkKK21zZ2lkICJOb3Qgc3VwZXJ1c2VyLiIKK21zZ3N0ciAiTm9uIHN1cGVydXRlbnRlLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvZmYgZmFpbGVkIgorbXNnc3RyICIlcyBub24gcml1c2NpdG8uXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTIyIHN5cy11dGlscy9zd2Fwb24uYzo3ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxzcGVjPl1cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjUKK21zZ2lkICJEaXNhYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI4Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIHN3YXBzIGZyb20gL3Byb2Mvc3dhcHNcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEzNQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIGZpbGUgb3IgcGFydGl0aW9uIHBhdGgiCittc2dzdHIgIiAgIGQgICBjYW5jZWxsYXppb25lIGRpIHVuYSBwYXJ0aXppb25lIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTQKKyMsIGZ1enp5Cittc2dpZCAidHlwZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJzdGF0IGRlbCBwZXJjb3JzbyBub24gcml1c2NpdG9cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk1CisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIHN3YXAgYXJlYSIKK21zZ3N0ciAic3RhdCBkZWwgcGVyY29yc28gbm9uIHJpdXNjaXRvXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NgorIywgZnV6enkKK21zZ2lkICJieXRlcyBpbiB1c2UiCittc2dzdHIgIlNlZ25vIGluIHVzbyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk3CisjLCBmdXp6eQorbXNnaWQgInN3YXAgcHJpb3JpdHkiCittc2dzdHIgInNldHByaW9yaXR5IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTgKK21zZ2lkICJzd2FwIHV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk5CisjLCBmdXp6eQorbXNnaWQgInN3YXAgbGFiZWwiCittc2dzdHIgIm5lc3N1bmEgZXRpY2hldHRhLCAiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNcdFx0XHRcdFR5cGVcdFx0U2l6ZVx0VXNlZFx0UHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ2Cittc2dpZCAiRmlsZW5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVpbml0aWFsaXppbmcgdGhlIHN3YXAuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsc2VlayBmYWlsZWQiCittc2dzdHIgInJpY2VyY2Egbm9uIHJpdXNjaXRhIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgc2lnbmF0dXJlIGZhaWxlZCIKK21zZ3N0ciAiQXBlcnR1cmEgZGkgJXMgbm9uIHJpdXNjaXRhIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgLSBpdCBhcHBlYXJzIHRvIGhhdmUgaG9sZXMuIgorbXNnc3RyICIlczogZmlsZSAlcyBpZ25vcmF0byAtIHNlbWJyYSBhdmVyZSBkZWkgYnVjaGkuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXQgc2l6ZSBmYWlsZWQiCittc2dzdHIgInJpY2VyY2Egbm9uIHJpdXNjaXRhIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIHN3YXAgaGVhZGVyIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmb3VuZCBzaWduYXR1cmUgW3BhZ2VzaXplPSVkLCBzaWduYXR1cmU9JXNdIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhZ2VzaXplPSVkLCBzd2Fwc2l6ZT0lbGx1LCBkZXZzaXplPSVsbHUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGFzdF9wYWdlIDB4JTA4bGx4IGlzIGxhcmdlciB0aGFuIGFjdHVhbCBzaXplIG9mIHN3YXBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIChVc2UgLS1maXhwZ3N6IHRvIHJlaW5pdGlhbGl6ZSBpdC4pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNvZnR3YXJlIHN1c3BlbmQgZGF0YSBkZXRlY3RlZC4gUmV3cml0aW5nIHRoZSBzd2FwIHNpZ25hdHVyZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3dhcG9uICVzXG4iCittc2dzdHIgIiVzIHN1ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb24gZmFpbGVkIgorbXNnc3RyICIlcyBub24gcml1c2NpdG8uXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub2F1dG8gb3B0aW9uIC0tIGlnbm9yZWQiCittc2dzdHIgIklnbm9yYXRhIGwnb3B6aW9uZSBzY29ub3NjaXV0YSBcIiVjXCIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbHJlYWR5IGFjdGl2ZSAtLSBpZ25vcmVkIgorbXNnc3RyICJlcnJvcmUgZGkgcG9zaXppb25hbWVudG8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbmFjY2Vzc2libGUgLS0gaWdub3JlZCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgc2NyaXZlcmUgaW5vZGUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTEKK21zZ2lkICJFbmFibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NQorbXNnaWQgIiAtZCwgLS1kaXNjYXJkWz08cG9saWN5Pl0gZW5hYmxlIHN3YXAgZGlzY2FyZHMsIGlmIHN1cHBvcnRlZCBieSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk2Cittc2dpZCAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBzaWxlbnRseSBza2lwIGRldmljZXMgdGhhdCBkbyBub3QgZXhpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk3Cittc2dpZCAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICByZWluaXRpYWxpemUgdGhlIHN3YXAgc3BhY2UgaWYgbmVjZXNzYXJ5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5OAorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2Ygc3dhcCBvcHRpb25zXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5OQorbXNnaWQgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgc3BlY2lmeSB0aGUgcHJpb3JpdHkgb2YgdGhlIHN3YXAgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIGRpc3BsYXkgc3VtbWFyeSBhYm91dCB1c2VkIHN3YXAgZGV2aWNlcyAoREVQUkVDQVRFRClcbiIKK21zZ3N0ciAiICAgIC1sIFtvIC0tbGlzdF06ICAgICAgZWxlbmNvIGRlbGxlIHBhcnRpemlvbmkgZGkgY2lhc2N1biBkaXNwb3NpdGl2byIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMQorbXNnaWQgIiAgICAgLS1zaG93Wz08Y29sdW1ucz5dICAgZGlzcGxheSBzdW1tYXJ5IGluIGRlZmluYWJsZSB0YWJsZVxuIgorbXNnc3RyICIiCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IHRhYmxlIGhlYWRpbmcgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMworIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA0CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHNpemUgaW4gYnl0ZXMgaW4gLS1zaG93IG91dHB1dFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODIxCittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBkaXNjYXJkIHBvbGljeSB0eXBlcyAoZm9yIC0tZGlzY2FyZCk6XG4iCisiIG9uY2UgICAgOiBvbmx5IHNpbmdsZS10aW1lIGFyZWEgZGlzY2FyZHMgYXJlIGlzc3VlZFxuIgorIiBwYWdlcyAgIDogZnJlZWQgcGFnZXMgYXJlIGRpc2NhcmRlZCBiZWZvcmUgdGhleSBhcmUgcmV1c2VkXG4iCisiSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCBib3RoIGRpc2NhcmQgdHlwZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQpLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MjYKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93KTpcbiIKK21zZ3N0ciAiQ29tYW5kaSBkaXNwb25pYmlsaTpcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkwNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcHJpb3JpdHkiCittc2dzdHIgIlNjcml0dHVyYSBkZWxsYSBwYXJ0aXppb25lIHN1ICVzIG5vbiByaXVzY2l0YVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIiVzOiBhcmdvbWVudG8gc2Nvbm9zY2l1dG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHRoZSBkZXZpY2UgZm9yICVzIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgdHJvdmFyZSBpbCBkaXNwb3NpdGl2byBwZXIgJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NTkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGlyZWN0b3J5IgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2NworIywgZnV6enkKK21zZ2lkICJzdGF0IGZhaWxlZCIKK21zZ3N0ciAiJXMgbm9uIHJpdXNjaXRvLlxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo3OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBkaXJlY3RvcnkiCittc2dzdHIgImwnaW5vZGUgcmFkaWNlIG5vbiDDqCB1bmEgZGlyZWN0b3J5IgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJXMiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAlcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmb3JjaW5nIHVubW91bnQgb2YgJXMiCittc2dzdHIgIlRlbnRhdGl2byBkaSBlc2VndWlyZSB1bW91bnQgZGkgJXMgaW4gY29yc29cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAibmFtZWk6IGltcG9zc2liaWxlIG90dGVuZXJlIGxhIGRpcmVjdG9yeSBjb3JyZW50ZSAtICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAvIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNzUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IgorbXNnc3RyICJTY3JpdHR1cmEgZGVsbGEgcGFydGl6aW9uZSBzdSAlcyBub24gcml1c2NpdGFcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTg4Cittc2dpZCAib2xkIHJvb3QgZmlsZXN5c3RlbSBpcyBub3QgYW4gaW5pdHJhbWZzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bmV3cm9vdGRpcj4gPGluaXQ+IDxhcmdzIHRvIGluaXQ+XG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwNAorbXNnaWQgIlN3aXRjaCB0byBhbm90aGVyIGZpbGVzeXN0ZW0gYXMgdGhlIHJvb3Qgb2YgdGhlIG1vdW50IHRyZWUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjM2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZC4gU29ycnkuIgorbXNnc3RyICIlcyBub24gcml1c2NpdG8uXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGFjY2VzcyAlcyIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYXByaXJlIGlsIGZpbGUgJyVzJyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk0Cittc2dpZCAiU2V0IHZhcmlvdXMgcGFyYW1ldGVycyBmb3IgdGhlIGxpbmUgcHJpbnRlci5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTcKK21zZ2lkICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICBzcGVjaWZ5IHBhcmFsbGVsIHBvcnQgaXJxXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk4Cittc2dpZCAiIC10LCAtLXRpbWUgPG1zPiAgICAgICAgICAgICAgZHJpdmVyIHdhaXQgdGltZSBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTkKK21zZ2lkICIgLWMsIC0tY2hhcnMgPG51bT4gICAgICAgICAgICBudW1iZXIgb2Ygb3V0cHV0IGNoYXJhY3RlcnMgYmVmb3JlIHNsZWVwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMAorbXNnaWQgIiAtdywgLS13YWl0IDx1cz4gICAgICAgICAgICAgIHN0cm9iZSB3YWl0IGluIG1pY3JvIHNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSA8b258b2ZmPiBhcmd1bWVudHMuIFRoZQorIy4gYXJndW1lbnQgcmVhZGVyIGRvZXMgbm90IHJlY29nbml6ZSBsb2NhbGUsIHVubGVzcyBgb24nIGlzCisjLiBleGFjdGx5IHRoYXQgdmVyeSBzYW1lIHN0cmluZy4KKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDQKK21zZ2lkICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhYm9ydCBvbiBlcnJvclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDUKK21zZ2lkICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBjaGVjayBwcmludGVyIHN0YXR1cyBiZWZvcmUgcHJpbnRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA2Cittc2dpZCAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAgZXh0cmEgY2hlY2tpbmcgdG8gc3RhdHVzIGNoZWNrXG4iCittc2dzdHIgIiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA3CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIHF1ZXJ5IHByaW50ZXIgc3RhdHVzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA4Cittc2dpZCAiIC1ULCAtLXRydXN0LWlycSA8b258b2ZmPiAgICAgbWFrZSBkcml2ZXIgdG8gdHJ1c3QgaXJxXG4iCittc2dzdHIgIiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA5CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIHJlc2V0IHRoZSBwb3J0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEwCittc2dpZCAiIC1xLCAtLXByaW50LWlycSA8b258b2ZmPiAgICAgZGlzcGxheSBjdXJyZW50IGlycSBzZXR0aW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGFuIGxwIGRldmljZSIKK21zZ3N0ciAiJXM6ICVzIG5vIMOoIHVuIGxwIGRldmljZS5cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4MAorIywgZnV6enkKK21zZ2lkICJMUEdFVFNUQVRVUyBlcnJvciIKK21zZ3N0ciAiZXJyb3JlIExQR0VUSVJRIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN0YXR1cyBpcyAlZCIKK21zZ3N0ciAibG8gc3RhdG8gZGkgJXMgw6ggJWQiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBidXN5IgorbXNnc3RyICIsIG9jY3VwYXRvIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgcmVhZHkiCittc2dzdHIgIiwgcHJvbnRvIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb3V0IG9mIHBhcGVyIgorbXNnc3RyICIsIGNhcnRhIGVzYXVyaXRhIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb24tbGluZSIKK21zZ3N0ciAiLCBvbi1saW5lIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZXJyb3IiCittc2dzdHIgIiwgZXJyb3JlIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzAwCisjLCBmdXp6eQorbXNnaWQgImlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiZnN5bmMgbm9uIHJpdXNjaXRvICIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxMAorbXNnaWQgIkxQR0VUSVJRIGVycm9yIgorbXNnc3RyICJlcnJvcmUgTFBHRVRJUlEiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgSVJRICVkXG4iCittc2dzdHIgIiVzIHV0aWxpenpvIGRpIElSUSAlZCBpbiBjb3Jzb1xuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIHBvbGxpbmdcbiIKK21zZ3N0ciAiJXMgdXRpbGl6em8gZGVsIHBvbGxpbmcgaW4gY29yc29cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiB8IDxkaXJlY3Rvcnk+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjgxCisjLCBmdXp6eQorbXNnaWQgIlVubW91bnQgZmlsZXN5c3RlbXMuXG4iCittc2dzdHIgIkltbWV0dGVyZSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW06ICIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg0CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICB1bm1vdW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NQorbXNnaWQgIiIKKyIgLUEsIC0tYWxsLXRhcmdldHMgICAgICAgdW5tb3VudCBhbGwgbW91bnRwb2ludHMgZm9yIHRoZSBnaXZlbiBkZXZpY2UgaW4gdGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODcKK21zZ2lkICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg4Cittc2dpZCAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGlmIG1vdW50ZWQgbG9vcCBkZXZpY2UsIGFsc28gZnJlZSB0aGlzIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg5Cittc2dpZCAiICAgICAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIHVtb3VudCgyKSBzeXNjYWxsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkwCittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIGZvcmNlIHVubW91bnQgKGluIGNhc2Ugb2YgYW4gdW5yZWFjaGFibGUgTkZTIHN5c3RlbSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTEKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgdW1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkzCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICBkZXRhY2ggdGhlIGZpbGVzeXN0ZW0gbm93LCBjbGVhbiB1cCB0aGluZ3MgbGF0ZXJcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTQKK21zZ2lkICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk1Cittc2dpZCAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IHVubW91bnQgYSB0YXJnZXQgd2l0aCBhbGwgaXRzIGNoaWxkcmVuXG4iCittc2dzdHIgIiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTYKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIGluIGNhc2UgdW5tb3VudGluZyBmYWlscywgdHJ5IHRvIHJlbW91bnQgcmVhZC1vbmx5XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTcKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIgICBsICAgZWxlbmNvIGRlaSB0aXBpIGRpIGZpbGVzeXN0ZW0gY29ub3NjaXV0aSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzKSB1bm1vdW50ZWQiCittc2dzdHIgIiVzIMOoIG1vbnRhdG8uXHQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHVubW91bnRlZCIKK21zZ3N0ciAidW1vdW50OiAlczogbm9uIHRyb3ZhdG8iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bW91bnQgZmFpbGVkIgorbXNnc3RyICJtb3VudCBub24gcml1c2NpdG8iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCittc2dzdHIgIm1vdW50OiBtb3VudCBub24gcml1c2NpdG8iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAidW1vdW50OiAlczogZGlzcG9zaXRpdm8gZGkgYmxvY2NoaSBub24gdmFsaWRvIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKK21zZ3N0ciAibW91bnQ6ICVzOiBpbXBvc3NpYmlsZSBsZWdnZXJlIGlsIHN1cGVyYmxvY2NvIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlczogdGFyZ2V0IGlzIGJ1c3lcbiIKKyIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0XG4iCisiICAgICAgICAgdXNlIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKS4pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudHBvaW50IG5vdCBmb3VuZCIKK21zZ3N0ciAidW1vdW50OiAlczogbm9uIHRyb3ZhdG8iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNTAKKyMsIGZ1enp5Cittc2dpZCAidW5kZWZpbmVkIG1vdW50cG9pbnQiCittc2dzdHIgIm1vdW50OiBpbXBvc3NpYmlsZSB0cm92YXJlICVzIGluICVzIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdW5tb3VudCIKK21zZ3N0ciAidW1vdW50OiAlczogYmlzb2duYSBlc3NlcmUgc3VwZXJ1c2VyIHBlciBlc2VndWlyZSB1bW91bnQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBibG9jayBkZXZpY2VzIGFyZSBub3QgcGVybWl0dGVkIG9uIGZpbGVzeXN0ZW0iCittc2dzdHIgInVtb3VudDogJXM6IGkgZGlzcG9zaXRpdmkgZGkgYmxvY2NoaSBub24gc29ubyBwZXJtZXNzaSBzdSBmcyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMwNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHVtb3VudCB0YXJnZXQiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozMjMKKyMsIGZ1enp5Cittc2dpZCAibGlibW91bnQgdGFibGUgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIm1vdW50OiBtb3VudCBub24gcml1c2NpdG8iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozNjYgc3lzLXV0aWxzL3Vtb3VudC5jOjQ0NgorIywgZnV6enkKK21zZ2lkICJsaWJtb3VudCBpdGVyYXRvciBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibW91bnQ6IG1vdW50IG5vbiByaXVzY2l0byIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjM3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBjaGlsZCBmcyBvZiAlcyIKK21zZ3N0ciAiU2NyaXR0dXJhIGRlbGxhIHBhcnRpemlvbmUgc3UgJXMgbm9uIHJpdXNjaXRhXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo0MTAgc3lzLXV0aWxzL3Vtb3VudC5jOjQzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBmb3VuZCIKK21zZ3N0ciAidW1vdW50OiAlczogbm9uIHRyb3ZhdG8iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo0NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlICgtLWFsbC10YXJnZXRzIGlzIHVuc3VwcG9ydGVkIG9uIHN5c3RlbXMgd2l0aCByZWd1bGFyIG10YWIgZmlsZSkuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIC0tc2V0Z3JvdXBzIGFyZ3VtZW50ICclcyciCittc2dzdHIgIiVzOiBhcmdvbWVudG8gc2Nvbm9zY2l1dG86ICVzXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTEwIHN5cy11dGlscy91bnNoYXJlLmM6MTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQgJXMiCittc2dzdHIgIihGaWxlIHN1Y2Nlc3Npdm86ICVzKSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByb3BhZ2F0aW9uIG1vZGU6ICVzIgorbXNnc3RyICIlczogYXJnb21lbnRvIHNjb25vc2NpdXRvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1NworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY2hhbmdlIHJvb3QgZmlsZXN5c3RlbSBwcm9wYWdhdGlvbiIKK21zZ3N0ciAiRm9yemF0dXJhIGNvbnRyb2xsbyBmaWxlc3lzdGVtIHN1ICVzIGluIGNvcnNvLlxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHN0YXQgJXMiCittc2dzdHIgImltcG9zc2liaWxlIGVzZWd1aXJlIHN0YXQgc3VsIGRpc3Bvc2l0aXZvICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIxMworIywgZnV6enkKK21zZ2lkICJwaXBlIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBub24gcml1c2NpdGFcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGlwZSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZmFyZSBzdGF0IGRpICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1MAorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBzb21lIG5hbWVzcGFjZXMgdW5zaGFyZWQgZnJvbSB0aGUgcGFyZW50LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUzCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU0CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taXBjWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTYKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBuZXR3b3JrIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU3CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU4CisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgICAgdW5zaGFyZSBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICBmb3JrIGJlZm9yZSBsYXVuY2hpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MQorbXNnaWQgIiAgICAgLS1tb3VudC1wcm9jWz08ZGlyPl0gIG1vdW50IHByb2MgZmlsZXN5c3RlbSBmaXJzdCAoaW1wbGllcyAtLW1vdW50KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYyCittc2dpZCAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbWFwIGN1cnJlbnQgdXNlciB0byByb290IChpbXBsaWVzIC0tdXNlcilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MworbXNnaWQgIiIKKyIgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZ5IG1vdW50IHByb3BhZ2F0aW9uIGluIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY1CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zZXRncm91cHMgYWxsb3d8ZGVueSAgY29udHJvbCB0aGUgc2V0Z3JvdXBzIHN5c2NhbGwgaW4gdXNlciBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6Mzg2CisjLCBmdXp6eQorbXNnaWQgInVuc2hhcmUgZmFpbGVkIgorbXNnc3RyICJyaWNlcmNhIG5vbiByaXVzY2l0YSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzAKKyMsIGZ1enp5Cittc2dpZCAiY2hpbGQgZXhpdCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIG5vbiByaXVzY2l0byIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzcKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9ucyAtLXNldGdyb3Vwcz1hbGxvdyBhbmQgLS1tYXAtcm9vdC11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiVzOiBMZSBvcHppb25pIC0tYWRqdXN0IGUgLW5vYWRqZmlsZSBzaSBlc2NsdWRvbm8gdmljZW5kZXZvbG1lbnRlLiBTb25vIHN0YXRlIHNwZWNpZmljYXRlIGVudHJhbWJlLlxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgZmFpbGVkIgorbXNnc3RyICJtb3VudCBub24gcml1c2NpdG8iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjczCittc2dpZCAiQ2FyZCBwcmV2aW91c2x5IHJlc2V0IHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzQKK21zZ2lkICJFeHRlcm5hbCByZWxheSAxIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc1Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NgorIywgZnV6enkKK21zZ2lkICJGYW4gZmFpbGVkIgorbXNnc3RyICIlcyBub24gcml1c2NpdG8uXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc3Cittc2dpZCAiS2VlcCBhbGl2ZSBwaW5nIHJlcGx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc4Cittc2dpZCAiU3VwcG9ydHMgbWFnaWMgY2xvc2UgY2hhciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OQorbXNnaWQgIlJlc2V0IGR1ZSB0byBDUFUgb3ZlcmhlYXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODAKK21zZ2lkICJQb3dlciBvdmVyIHZvbHRhZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODEKK21zZ2lkICJQb3dlciBiYWQvcG93ZXIgZmF1bHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODIKKyMsIGZ1enp5Cittc2dpZCAiUHJldGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIkxvZ2luIHNjYWR1dG8gZG9wbyAlZCBzZWNvbmRpXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgzCisjLCBmdXp6eQorbXNnaWQgIlNldCB0aW1lb3V0IChpbiBzZWNvbmRzKSIKK21zZ3N0ciAiTG9naW4gc2NhZHV0byBkb3BvICVkIHNlY29uZGlcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODQKK21zZ2lkICJOb3QgdHJpZ2dlciByZWJvb3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAwCittc2dpZCAiZmxhZyBuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMQorIywgZnV6enkKK21zZ2lkICJmbGFnIGRlc2NyaXB0aW9uIgorbXNnc3RyICJkaXNwb3NpdGl2byBhIGJsb2NjaGkiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMgorIywgZnV6enkKK21zZ2lkICJmbGFnIHN0YXR1cyIKK21zZ3N0ciAic3RhdG8iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMworIywgZnV6enkKK21zZ2lkICJmbGFnIGJvb3Qgc3RhdHVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBmYXJlIHN0YXQgZGkgJXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwNAorIywgZnV6enkKK21zZ2lkICJ3YXRjaGRvZyBkZXZpY2UgbmFtZSIKK21zZ3N0ciAidW1vdW50OiAlczogZGlzcG9zaXRpdm8gc2Nvbm9zY2l1dG8iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmbGFnOiAlcyIKK21zZ3N0ciAiJXM6IGFyZ29tZW50byBzY29ub3NjaXV0bzogJXNcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTc3Cittc2dpZCAiU2hvdyB0aGUgc3RhdHVzIG9mIHRoZSBoYXJkd2FyZSB3YXRjaGRvZy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxODAKK21zZ2lkICIiCisiIC1mLCAtLWZsYWdzIDxsaXN0PiAgICAgcHJpbnQgc2VsZWN0ZWQgZmxhZ3Mgb25seVxuIgorIiAtRiwgLS1ub2ZsYWdzICAgICAgICAgIGRvbid0IHByaW50IGluZm9ybWF0aW9uIGFib3V0IGZsYWdzXG4iCisiIC1JLCAtLW5vaWRlbnQgICAgICAgICAgZG9uJ3QgcHJpbnQgd2F0Y2hkb2cgaWRlbnRpdHkgaW5mb3JtYXRpb25cbiIKKyIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLU8sIC0tb25lbGluZSAgICAgICAgICBwcmludCBhbGwgaW5mb3JtYXRpb24gb24gb25lIGxpbmVcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBvdXRwdXQgY29sdW1ucyBvZiB0aGUgZmxhZ3NcbiIKKyIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXQgZm9yIGZsYWdzIHRhYmxlXG4iCisiIC1ULCAtLW5vdGltZW91dHMgICAgICAgZG9uJ3QgcHJpbnQgd2F0Y2hkb2cgdGltZW91dHNcbiIKKyIgLXMsIC0tc2V0dGltZW91dCA8c2VjPiBzZXQgd2F0Y2hkb2cgdGltZW91dFxuIgorIiAteCwgLS1mbGFncy1vbmx5ICAgICAgIHByaW50IG9ubHkgZmxhZ3MgdGFibGUgKHNhbWUgYXMgLUkgLVQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGVmYXVsdCBkZXZpY2UgaXMgJXMuXG4iCittc2dzdHIgImxvb3A6IGltcG9zc2liaWxlIGFwcmlyZSBpbCBkZXZpY2UgJXM6ICVzXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE5OQorIywgZnV6enkKK21zZ2lkICJBdmFpbGFibGUgY29sdW1uczpcbiIKK21zZ3N0ciAiQ29tYW5kaSBkaXNwb25pYmlsaTpcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6Mjg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biBmbGFncyAweCV4XG4iCittc2dzdHIgIiVzOiBzZWduYWxlIHNjb25vc2NpdXRvICVzXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMxOSBzeXMtdXRpbHMvd2RjdGwuYzozNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhdGNoZG9nIGFscmVhZHkgaW4gdXNlLCB0ZXJtaW5hdGluZy4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzMzIHN5cy11dGlscy93ZGN0bC5jOjQwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkaXNhcm0gd2F0Y2hkb2ciCittc2dzdHIgImltcG9zc2liaWxlIHJpYXZ2b2xnZXJlIGlsIGRpc3Bvc2l0aXZvIHN3YXAiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0aW1lb3V0IGZvciAlcyIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgb3R0ZW5lcmUgaWwgdGltZW91dCBwZXIgJXM6ICVzXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kLlxuIgorbXNnaWRfcGx1cmFsICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmRzLlxuIgorbXNnc3RyWzBdICJJbCB0ZW1wbyB0cmFzY29yc28gZGFsbCd1bHRpbWEgcmVnb2xhemlvbmUgw6ggZGkgJWQgc2Vjb25kaVxuIgorbXNnc3RyWzFdICJJbCB0ZW1wbyB0cmFzY29yc28gZGFsbCd1bHRpbWEgcmVnb2xhemlvbmUgw6ggZGkgJWQgc2Vjb25kaVxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGluZm9ybWF0aW9uIGFib3V0IHdhdGNoZG9nIgorbXNnc3RyICJyaWNlcmNhIGluIHdyaXRlX3RhYmxlcyBub24gcml1c2NpdGEiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NCBzeXMtdXRpbHMvd2RjdGwuYzo0Njcgc3lzLXV0aWxzL3dkY3RsLmM6NDcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlLTE0cyAlMmkgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIiUtMTRzICUyaSBzZWNvbmRzXG4iCittc2dzdHJbMF0gIiVzICAlLjZmIHNlY29uZGlcbiIKK21zZ3N0clsxXSAiJXMgICUuNmYgc2Vjb25kaVxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjUKK21zZ2lkICJUaW1lb3V0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjgKKyMsIGZ1enp5Cittc2dpZCAiUHJlLXRpbWVvdXQ6IgorbXNnc3RyICJzY2FkdXRvIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NzEKK21zZ2lkICJUaW1lbGVmdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA1CisjLCBmdXp6eQorbXNnaWQgIkRldmljZToiCittc2dzdHIgIkRpc3Bvc2l0aXZvIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDcKK21zZ2lkICJJZGVudGl0eToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA5Cittc2dpZCAidmVyc2lvbiIKK21zZ3N0ciAidmVyc2lvbmUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAienJhbSBkZXZpY2UgbmFtZSIKK21zZ3N0ciAidW1vdW50OiAlczogZGlzcG9zaXRpdm8gc2Nvbm9zY2l1dG8iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzQKK21zZ2lkICJsaW1pdCBvbiB0aGUgdW5jb21wcmVzc2VkIGFtb3VudCBvZiBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzUKK21zZ2lkICJ1bmNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc2Cittc2dpZCAiY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzcKK21zZ2lkICJ0aGUgc2VsZWN0ZWQgY29tcHJlc3Npb24gYWxnb3JpdGhtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzgKK21zZ2lkICJudW1iZXIgb2YgY29uY3VycmVudCBjb21wcmVzcyBvcGVyYXRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiZW1wdHkgcGFnZXMgd2l0aCBubyBhbGxvY2F0ZWQgbWVtb3J5IgorbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIuXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODAKK21zZ2lkICJhbGwgbWVtb3J5IGluY2x1ZGluZyBhbGxvY2F0b3IgZnJhZ21lbnRhdGlvbiBhbmQgbWV0YWRhdGEgb3ZlcmhlYWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MQorbXNnaWQgIm1lbW9yeSBsaW1pdCB1c2VkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgyCittc2dpZCAibWVtb3J5IHpyYW0gaGF2ZSBiZWVuIGNvbnN1bWVkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgzCittc2dpZCAibnVtYmVyIG9mIG9iamVjdHMgbWlncmF0ZWQgYnkgY29tcGFjdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjM2MyBzeXMtdXRpbHMvenJhbWN0bC5jOjM3NAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgbW1fc3RhdCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyIgJTEkcyAtciA8ZGV2aWNlPiBbLi4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxkZXZpY2U+IC1zIDxzaXplPlxuIgorbXNnc3RyICJVc286IG1rZnMgWy1WXSBbLXQgdGlwb2ZzXSBbb3B6aW9uaS1mc10gZGlzcG9zaXRpdm8gW2RpbWVuc2lvbmVdXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTI3Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIHpyYW0gZGV2aWNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMAorbXNnaWQgIiAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NCAgIGNvbXByZXNzaW9uIGFsZ29yaXRobSB0byB1c2VcbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMxCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzIKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgZmluZCBhIGZyZWUgZGV2aWNlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzQKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW9wdHN0cmluZyAgICAgIE9wemlvbmkgYnJldmkgZGEgcmljb25vc2NlcmVcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgdXNlIHJhdyBzdGF0dXMgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzNgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzNworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzOAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tc3RyZWFtcyA8bnVtYmVyPiAgICBudW1iZXIgb2YgY29tcHJlc3Npb24gc3RyZWFtc1xuIgorbXNnc3RyICIgICAgLVMjIFtvIC0tc2VjdG9ycyAjXTogIGltcG9zdGEgaWwgbnVtZXJvIGRpIHNldHRvcmkgZGEgdXRpbGl6emFyZSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGFsZ29yaXRobTogJXMiCittc2dzdHIgIiVzOiBhcmdvbWVudG8gc2Nvbm9zY2l1dG86ICVzXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjI2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdHJlYW1zIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY0OAorIywgZnV6enkKK21zZ2lkICJvcHRpb24gLS1maW5kIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxkZXZpY2U+IgorbXNnc3RyICIlczogTGUgb3B6aW9uaSAtLWFkanVzdCBlIC1ub2FkamZpbGUgc2kgZXNjbHVkb25vIHZpY2VuZGV2b2xtZW50ZS4gU29ubyBzdGF0ZSBzcGVjaWZpY2F0ZSBlbnRyYW1iZS5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NTQKK21zZ2lkICJvbmx5IG9uZSA8ZGV2aWNlPiBhdCBhIHRpbWUgaXMgYWxsb3dlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NworbXNnaWQgIm9wdGlvbnMgLS1hbGdvcml0aG0gYW5kIC0tc3RyZWFtcyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggLS1zaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njg3IHN5cy11dGlscy96cmFtY3RsLmM6NzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlc2V0IgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY5OCBzeXMtdXRpbHMvenJhbWN0bC5jOjcwNgorbXNnaWQgIm5vIGZyZWUgenJhbSBkZXZpY2UgZm91bmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IG51bWJlciBvZiBzdHJlYW1zIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYWxnb3JpdGhtIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgZGlza3NpemUgKCVqdSBieXRlcykiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzJXMgKGF1dG9tYXRpYyBsb2dpbilcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSByb290IGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVzOiBleGVjIGRpICVzIGltcG9zc2liaWxlOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugd29ya2luZyBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICJlcnJvcmUgZHVyYW50ZSBpbCBjYW1iaWFtZW50byBkZWxsYSBtb2RhbGl0w6AgZGkgJXM6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHByb2Nlc3MgcHJpb3JpdHk6ICVtIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgdHJvdmFyZSBpbCBwcm9jZXNzbyBcIiVzXCJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGV4ZWMgJXM6ICVtIgorbXNnc3RyICIlczogZXhlYyBkaSAlcyBpbXBvc3NpYmlsZTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTU1IHRlcm0tdXRpbHMvYWdldHR5LmM6ODQxIHRlcm0tdXRpbHMvYWdldHR5LmM6ODUzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MTUgdGVybS11dGlscy9hZ2V0dHkuYzoxNDMzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NjkgdGVybS11dGlscy9hZ2V0dHkuYzoxNDc5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTUxNgorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTc4IHRlcm0tdXRpbHMvYWdldHR5LmM6MjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeTogJW0iCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo2ODAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBkZWxheSBhcmd1bWVudCIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3MTkKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtLWxvY2FsLWxpbmUiCittc2dzdHIgImlkIG5vbiB2YWxpZG86ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzM4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbmljZSBhcmd1bWVudCIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHNwZWVkOiAlcyIKK21zZ3N0ciAidmVsb2NpdMOgIG5vbiB2YWxpZGE6ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3NworbXNnaWQgInRvbyBtYW55IGFsdGVybmF0ZSBzcGVlZHMiCittc2dzdHIgInRyb3BwZSB2ZWxvY2l0w6AgYWx0ZXJuYXRpdmUiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAwNiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMTAgdGVybS11dGlscy9hZ2V0dHkuYzoxMDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBvcGVuIGFzIHN0YW5kYXJkIGlucHV0OiAlbSIKK21zZ3N0ciAiL2Rldi8lczogaW1wb3NzaWJpbGUgYXByaXJlIGNvbWUgaW5wdXQgc3RhbmRhcmQ6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgY2hhcmFjdGVyIGRldmljZSIKK21zZ3N0ciAiL2Rldi8lczogbm9uIMOoIHVuIGRpc3Bvc2l0aXZvIGRpIGNhcmF0dGVyaSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSB0dHkiCittc2dzdHIgImwnaW5vZGUgcmFkaWNlIG5vbiDDqCB1bmEgZGlyZWN0b3J5IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzUgdGVybS11dGlscy9hZ2V0dHkuYzoxMDY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3QgZ2V0IGNvbnRyb2xsaW5nIHR0eTogJW0iCittc2dzdHIgIi9kZXYvJXM6IGltcG9zc2liaWxlIGFwcmlyZSBjb21lIGlucHV0IHN0YW5kYXJkOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiB2aGFuZ3VwKCkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiZm9yayBub24gcml1c2NpdG9cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3Qgb3BlbiBmb3IgcmVhZC93cml0ZSIKK21zZ3N0ciAiJXM6IG5vbiDDqCBhcGVydG8gcGVyIGxldHR1cmEvc2NyaXR0dXJhIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBzZXQgcHJvY2VzcyBncm91cDogJW0iCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSB0cm92YXJlIGlsIHByb2Nlc3NvIFwiJXNcIlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGR1cCBwcm9ibGVtOiAlbSIKK21zZ3N0ciAiJXM6IHByb2JsZW1hIGR1cDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTExNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgImltcG9zc2liaWxlIG90dGVuZXJlIGxhIGRpbWVuc2lvbmUgZGkgJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTMyMSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzNDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgdGVybWluYWwgYXR0cmlidXRlcyBmYWlsZWQ6ICVtIgorbXNnc3RyICJpbXBvc3NpYmlsZSBvdHRlbmVyZSBsYSBkaW1lbnNpb25lIGRpICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NTkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gb3MtcmVsZWFzZSBmaWxlIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhcHJpcmUgaWwgZmlsZSAnJXMnIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE2MzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcmVsb2FkIGZpbGU6ICVzOiAlbSIKK21zZ3N0ciAiaW9jdGwoKSBub24gw6ggcml1c2NpdG8gYSBsZWdnZXJlIGwnb3JhcmlvIGRhICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3MzYKK21zZ2lkICJbcHJlc3MgRU5URVIgdG8gbG9naW5dIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2MAorbXNnaWQgIk51bSBMb2NrIG9mZiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjMKK21zZ2lkICJOdW0gTG9jayBvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjYKK21zZ2lkICJDYXBzIExvY2sgb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzY5Cittc2dpZCAiU2Nyb2xsIExvY2sgb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiSGludDogJXNcbiIKKyJcbiIKK21zZ3N0ciAidGlwbzogJXNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkOiAlbSIKK21zZ3N0ciAiJXM6IGxldHR1cmE6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlucHV0IG92ZXJydW4iCittc2dzdHIgIiVzOiBzb3ZyYWNjYXJpY28gaW5wdXQiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgY2hhcmFjdGVyIGNvbnZlcnNpb24gZm9yIGxvZ2luIG5hbWUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciAweCV4IGluIGxvZ2luIG5hbWUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAibW91bnQ6IG1hbmNhdGEgaW1wb3N0YXppb25lIGRlbCBsb29wIGRldmljZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8bGluZT4gWzxiYXVkX3JhdGU+LC4uLl0gWzx0ZXJtdHlwZT5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxiYXVkX3JhdGU+LC4uLiA8bGluZT4gWzx0ZXJtdHlwZT5dXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTEzCittc2dpZCAiT3BlbiBhIHRlcm1pbmFsIGFuZCBzZXQgaXRzIG1vZGUuXG4iCittc2dzdHIgIiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTYKKyMsIGZ1enp5Cittc2dpZCAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIGFzc3VtZSA4LWJpdCB0dHlcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExNworbXNnaWQgIiAtYSwgLS1hdXRvbG9naW4gPHVzZXI+ICAgICBsb2dpbiB0aGUgc3BlY2lmaWVkIHVzZXIgYXV0b21hdGljYWxseVxuIgorbXNnc3RyICIiCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE4CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICBkbyBub3QgcmVzZXQgY29udHJvbCBtb2RlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTkKKyMsIGZ1enp5Cittc2dpZCAiIC1FLCAtLXJlbW90ZSAgICAgICAgICAgICAgIHVzZSAtciA8aG9zdG5hbWU+IGZvciBsb2dpbigxKVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjAKK21zZ2lkICIgLWYsIC0taXNzdWUtZmlsZSA8ZmlsZT4gICAgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIxCittc2dpZCAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIGVuYWJsZSBoYXJkd2FyZSBmbG93IGNvbnRyb2xcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjIKKyMsIGZ1enp5Cittc2dpZCAiIC1ILCAtLWhvc3QgPGhvc3RuYW1lPiAgICAgIHNwZWNpZnkgbG9naW4gaG9zdFxuIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsPXNoZWxsICAgICAgICAgICAgSW1wb3N0YSBsYSBzaGVsbCBcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIzCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICBkbyBub3QgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiBwICAgICAgICAgIFN0YW1wYSBkZWxsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgc3Ugc2NoZXJtbyBvIHN1IGZpbGUiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNAorbXNnaWQgIiAtSSwgLS1pbml0LXN0cmluZyA8c3RyaW5nPiBzZXQgaW5pdCBzdHJpbmdcbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNQorIywgZnV6enkKK21zZ2lkICIgLUogIC0tbm9jbGVhciAgICAgICAgICAgICAgZG8gbm90IGNsZWFyIHRoZSBzY3JlZW4gYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI2Cittc2dpZCAiIC1sLCAtLWxvZ2luLXByb2dyYW0gPGZpbGU+IHNwZWNpZnkgbG9naW4gcHJvZ3JhbVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNworbXNnaWQgIiAtTCwgLS1sb2NhbC1saW5lWz08bW9kZT5dICBjb250cm9sIHRoZSBsb2NhbCBsaW5lIGZsYWdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjgKK21zZ2lkICIgLW0sIC0tZXh0cmFjdC1iYXVkICAgICAgICAgZXh0cmFjdCBiYXVkIHJhdGUgZHVyaW5nIGNvbm5lY3RcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjkKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGRvIG5vdCBwcm9tcHQgZm9yIGxvZ2luXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBub24gc2NyaXZlIHJlYWxtZW50ZSBzdWwgZGlzY28iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMAorIywgZnV6enkKK21zZ2lkICIgLU4gIC0tbm9uZXdsaW5lICAgICAgICAgICAgZG8gbm90IHByaW50IGEgbmV3bGluZSBiZWZvcmUgaXNzdWVcbiIKK21zZ3N0ciAiIHAgICAgICAgICAgU3RhbXBhIGRlbGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBzdSBzY2hlcm1vIG8gc3UgZmlsZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMxCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1sb2dpbi1vcHRpb25zIDxvcHRzPiBvcHRpb25zIHRoYXQgYXJlIHBhc3NlZCB0byBsb2dpblxuIgorbXNnc3RyICIgIC1sLCAtLWxvbmdvcHRpb25zPWxvbmdvcHRzICAgT3B6aW9uaSBsdW5naGUgZGEgcmljb25vc2NlcmVcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMyCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICB3YWl0IGZvciBhbnkga2V5IGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5vbiBzY3JpdmUgcmVhbG1lbnRlIHN1bCBkaXNjbyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMzCittc2dpZCAiIC1yLCAtLWNocm9vdCA8ZGlyPiAgICAgICAgIGNoYW5nZSByb290IHRvIHRoZSBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNAorIywgZnV6enkKK21zZ2lkICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgZG8gdmlydHVhbGx5IGhhbmd1cCBvbiB0aGUgdHR5XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzUKK21zZ2lkICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgdHJ5IHRvIGtlZXAgYmF1ZCByYXRlIGFmdGVyIGJyZWFrXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM2Cittc2dpZCAiIC10LCAtLXRpbWVvdXQgPG51bWJlcj4gICAgIGxvZ2luIHByb2Nlc3MgdGltZW91dFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNworbXNnaWQgIiAtVSwgLS1kZXRlY3QtY2FzZSAgICAgICAgICBkZXRlY3QgdXBwZXJjYXNlIHRlcm1pbmFsXG4iCittc2dzdHIgIiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzgKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIHdhaXQgY2FycmlhZ2UtcmV0dXJuXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzkKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIGRvIG5vdCBwcmludCBoaW50c1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgbm9uIHNjcml2ZSByZWFsbWVudGUgc3VsIGRpc2NvIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgIG5vIGhvc3RuYW1lIGF0IGFsbCB3aWxsIGJlIHNob3duXG4iCittc2dzdHIgIiBwICAgICAgICAgIFN0YW1wYSBkZWxsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgc3Ugc2NoZXJtbyBvIHN1IGZpbGUiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MQorbXNnaWQgIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICBzaG93IGZ1bGwgcXVhbGlmaWVkIGhvc3RuYW1lXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQyCittc2dpZCAiICAgICAtLWVyYXNlLWNoYXJzIDxzdHJpbmc+IGFkZGl0aW9uYWwgYmFja3NwYWNlIGNoYXJzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQzCittc2dpZCAiICAgICAtLWtpbGwtY2hhcnMgPHN0cmluZz4gIGFkZGl0aW9uYWwga2lsbCBjaGFyc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NAorbXNnaWQgIiAgICAgLS1jaGRpciA8ZGlyZWN0b3J5PiAgICBjaGRpciBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWRlbGF5IDxudW1iZXI+ICAgICAgIHNsZWVwIHNlY29uZHMgYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ2Cittc2dpZCAiICAgICAtLW5pY2UgPG51bWJlcj4gICAgICAgIHJ1biBsb2dpbiB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgIHJlbG9hZCBwcm9tcHRzIG9uIHJ1bm5pbmcgYWdldHR5IGluc3RhbmNlc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgbm9uIHNjcml2ZSByZWFsbWVudGUgc3VsIGRpc2NvIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDgKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWhlbHAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ5CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI0ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIHVzZXIiCittc2dpZF9wbHVyYWwgIiVkIHVzZXJzIgorbXNnc3RyWzBdICJ1dGVudGUiCittc2dzdHJbMV0gInV0ZW50ZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaGVja25hbWUgZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQgbm9uIHJpdXNjaXRvIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB0b3VjaCBmaWxlICVzIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhcHJpcmUgaWwgZmlsZSAnJXMnIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MjUKK21zZ2lkICItLXJlbG9hZCBpcyB1bnN1cHBvcnRlZCBvbiB5b3VyIHN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbeSB8IG5dXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc4Cittc2dpZCAiQ29udHJvbCB3cml0ZSBhY2Nlc3Mgb2Ygb3RoZXIgdXNlcnMgdG8geW91ciB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo4MQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTI1CisjLCBmdXp6eQorbXNnaWQgInR0eW5hbWUgZmFpbGVkIgorbXNnc3RyICJyaWNlcmNhIG5vbiByaXVzY2l0YSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM0CisjLCBmdXp6eQorbXNnaWQgImlzIHkiCittc2dzdHIgIsOoIHNcbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM3CisjLCBmdXp6eQorbXNnaWQgImlzIG4iCittc2dzdHIgIsOoIG5cbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTQ4IHRlcm0tdXRpbHMvbWVzZy5jOjE1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlICVzIG1vZGUgZmFpbGVkIgorbXNnc3RyICJzZW1hZm9yaSBhbGxvY2F0aSA9ICVkXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTU3Cittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgZGVuaWVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXMiCittc2dzdHIgImlkIG5vbiB2YWxpZG86ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2MgorbXNnaWQgIk1ha2UgYSB0eXBlc2NyaXB0IG9mIGEgdGVybWluYWwgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NQorbXNnaWQgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgYXBwZW5kIHRoZSBvdXRwdXRcbiIKKyIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gcnVuIGNvbW1hbmQgcmF0aGVyIHRoYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgcmV0dXJuIGV4aXQgY29kZSBvZiB0aGUgY2hpbGQgcHJvY2Vzc1xuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICBydW4gZmx1c2ggYWZ0ZXIgZWFjaCB3cml0ZVxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICB1c2Ugb3V0cHV0IGZpbGUgZXZlbiB3aGVuIGl0IGlzIGEgbGlua1xuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICBiZSBxdWlldFxuIgorIiAtdCwgLS10aW1pbmdbPTxmaWxlPl0gICBvdXRwdXQgdGltaW5nIGRhdGEgdG8gc3RkZXJyIChvciB0byBGSUxFKVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisib3V0cHV0IGZpbGUgYCVzJyBpcyBhIGxpbmtcbiIKKyJVc2UgLS1mb3JjZSBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LlxuIgorIlByb2dyYW0gbm90IHN0YXJ0ZWQuIgorbXNnc3RyICIiCisiQXR0ZW56aW9uZTogXCIlc1wiIMOoIHVuIGNvbGxlZ2FtZW50by5cbiIKKyJVc2FyZSBcIiVzIFtvcHppb25pXSAlc1wiIHNlIHNpIHZ1b2xlIHZlcmFtZW50ZSB1c2FybG8uXG4iCisiU2NyaXB0IG5vbiBhdnZpYXRvLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgZG9uZSwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICJTY3JpcHQgZWZmZXR0dWF0bywgaWwgZmlsZSDDqCAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI2MgorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgd3JpdGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSB0cm92YXJlIGlsIGRpc3Bvc2l0aXZvIHBlciAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDM4CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkIG9uICVzIgorbXNnc3RyICJTY3JpcHQgaW5pemlhdG8gc3UgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTY3JpcHQgZG9uZSBvbiAlcyIKK21zZ3N0ciAiIgorIlxuIgorIlNjcmlwdCBlZmZldHR1YXRvIHN1ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYwNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiCittc2dzdHIgImltcG9zc2liaWxlIG90dGVuZXJlIGxhIGRpbWVuc2lvbmUgZGkgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjE0CisjLCBmdXp6eQorbXNnaWQgIm9wZW5wdHkgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IG5vbiByaXVzY2l0YVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjY1MgorIywgZnV6enkKK21zZ2lkICJvdXQgb2YgcHR5J3MiCittc2dzdHIgIkVzYXVyaXRpIHR1dHRpIGkgcHR5IGRpc3BvbmliaWxpXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIlNjcmlwdCBpbml6aWF0bywgaWwgZmlsZSDDqCAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLXRdIHRpbWluZ2ZpbGUgW3R5cGVzY3JpcHRdIFtkaXZpc29yXVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDcKK21zZ2lkICJQbGF5IGJhY2sgdGVybWluYWwgdHlwZXNjcmlwdHMsIHVzaW5nIHRpbWluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjUwCittc2dpZCAiIgorIiAtdCwgLS10aW1pbmcgPGZpbGU+ICAgICBzY3JpcHQgdGltaW5nIG91dHB1dCBmaWxlXG4iCisiIC1zLCAtLXR5cGVzY3JpcHQgPGZpbGU+IHNjcmlwdCB0ZXJtaW5hbCBzZXNzaW9uIG91dHB1dCBmaWxlXG4iCisiIC1kLCAtLWRpdmlzb3IgPG51bT4gICAgIHNwZWVkIHVwIG9yIHNsb3cgZG93biBleGVjdXRpb24gd2l0aCB0aW1lIGRpdmlzb3JcbiIKKyIgLW0sIC0tbWF4ZGVsYXkgPG51bT4gICAgd2FpdCBhdCBtb3N0IHRoaXMgbWFueSBzZWNvbmRzIGJldHdlZW4gdXBkYXRlc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTEyCisjLCBmdXp6eQorbXNnaWQgIndyaXRlIHRvIHN0ZG91dCBmYWlsZWQiCittc2dzdHIgIkFwZXJ0dXJhIGRpICVzIG5vbiByaXVzY2l0YSIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSBvbiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjEyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdHlwZXNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJpb2N0bCgpIG5vbiDDqCByaXVzY2l0byBhIGxlZ2dlcmUgbCdvcmFyaW8gZGEgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTg0CisjLCBmdXp6eQorbXNnaWQgIndyb25nIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgIm51bWVybyBtYXNzaW1vIGRpIHNlZ21lbnRpID0gJWx1XG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aW1pbmcgZmlsZSAlcyIKK21zZ3N0ciAiaW9jdGwoKSBub24gw6ggcml1c2NpdG8gYSBsZWdnZXJlIGwnb3JhcmlvIGRhICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltaW5nIGZpbGUgJXM6IGxpbmUgJWx1OiB1bmV4cGVjdGVkIGZvcm1hdCIKK21zZ3N0ciAiJXM6IEVPRiBub24gcHJldmlzdG8gbmVsIGZpbGUgJXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgImFyZ3VtZW50IGVycm9yOiBicmlnaHQgJXMgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjgKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgdGFicyIKK21zZ3N0ciAiJXM6IGFyZ29tZW50byBzY29ub3NjaXV0bzogJXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzgzCittc2dpZCAiU2V0IHRoZSBhdHRyaWJ1dGVzIG9mIGEgdGVybWluYWwuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg2Cittc2dpZCAiIC0tdGVybSAgICAgICAgICA8dGVybWluYWxfbmFtZT4gICBvdmVycmlkZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODcKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCB0byBwb3dlci1vbiBzdGF0ZVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg4CisjLCBmdXp6eQorbXNnaWQgIiAtLWluaXRpYWxpemUgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBpbml0IHN0cmluZywgYW5kIHVzZSBkZWZhdWx0IHNldHRpbmdzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg5CisjLCBmdXp6eQorbXNnaWQgIiAtLWRlZmF1bHQgICAgICAgICAgICAgICAgICAgICAgICAgdXNlIGRlZmF1bHQgdGVybWluYWwgc2V0dGluZ3NcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTAKK21zZ2lkICIgLS1zdG9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhdmUgY3VycmVudCB0ZXJtaW5hbCBzZXR0aW5ncyBhcyBkZWZhdWx0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkxCisjLCBmdXp6eQorbXNnaWQgIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAgZGlzcGxheSBjdXJzb3JcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MgorIywgZnV6enkKK21zZ2lkICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGtleWJvYXJkIHJlcGVhdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkzCittc2dpZCAiIC0tYXBwY3Vyc29ya2V5cyBbb258b2ZmXSAgICAgICAgICBjdXJzb3Iga2V5IGFwcGxpY2F0aW9uIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTQKKyMsIGZ1enp5Cittc2dpZCAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBjb250aW51ZSBvbiBhIG5ldyBsaW5lIHdoZW4gYSBsaW5lIGlzIGZ1bGxcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTUKK21zZ2lkICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIHN3YXAgY29sb3JzIGZvciB0aGUgd2hvbGUgc2NyZWVuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk2Cittc2dpZCAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgZm9yZWdyb3VuZCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NworbXNnaWQgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGJhY2tncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTgKK21zZ2lkICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCB1bmRlcmxpbmVkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTkKK21zZ2lkICIgLS1oYmNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCBib2xkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDAKK21zZ2lkICIgICAgICAgICAgICAgICAgIDxjb2xvcj46IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMQorIywgZnV6enkKK21zZ2lkICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJvbGRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAyCisjLCBmdXp6eQorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiAgWyAtaGFsZi1icmlnaHQgW29ufG9mZl0gXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDMKK21zZ2lkICIgLS1ibGluayAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJsaW5rXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA0CisjLCBmdXp6eQorbXNnaWQgIiAtLXVuZGVybGluZSAgICAgW29ufG9mZl0gICAgICAgICAgdW5kZXJsaW5lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNQorbXNnaWQgIiAtLXJldmVyc2UgICAgICAgW29ufG9mZl0gICAgICAgICAgc3dhcCBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9yc1xuIgorbXNnc3RyICIiCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA2CisjLCBmdXp6eQorbXNnaWQgIiAtLWNsZWFyICAgICAgICAgW2FsbHxyZXN0XSAgICAgICAgY2xlYXIgc2NyZWVuIGFuZCBzZXQgY3Vyc29yIHBvc2l0aW9uXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDcKKyMsIGZ1enp5Cittc2dpZCAiIC0tdGFicyAgICAgICAgICBbPG51bWJlcj4uLi5dICAgICBzZXQgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBzaG93IHRoZW1cbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgIFByb3ZhIGRlbGxhIHZlcnNpb25lIGdldG9wdCgxKVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDgKKyMsIGZ1enp5Cittc2dpZCAiIC0tY2xydGFicyAgICAgICBbPG51bWJlcj4uLi5dICAgICBjbGVhciB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIGFsbFxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgUHJvdmEgZGVsbGEgdmVyc2lvbmUgZ2V0b3B0KDEpXG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA5CisjLCBmdXp6eQorbXNnaWQgIiAtLXJlZ3RhYnMgICAgICAgWzEtMTYwXSAgICAgICAgICAgc2V0IGEgcmVndWxhciB0YWIgc3RvcCBpbnRlcnZhbFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEwCittc2dpZCAiIC0tYmxhbmsgICAgICAgICBbMC02MHxmb3JjZXxwb2tlXSBzZXQgdGltZSBvZiBpbmFjdGl2aXR5IGJlZm9yZSBzY3JlZW4gYmxhbmtzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDExCittc2dpZCAiIC0tZHVtcCAgICAgICAgICBbPG51bWJlcj5dICAgICAgICB3cml0ZSB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTIKK21zZ2lkICIgLS1hcHBlbmQgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIGFwcGVuZCB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTMKK21zZ2lkICIgLS1maWxlICAgICAgICAgIDxmaWxlbmFtZT4gICAgICAgIG5hbWUgb2YgdGhlIGR1bXAgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNAorIywgZnV6enkKK21zZ2lkICIgLS1tc2cgICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHNlbmQga2VybmVsIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE1CisjLCBmdXp6eQorbXNnaWQgIiAtLW1zZ2xldmVsICAgICAgMC04ICAgICAgICAgICAgICAga2VybmVsIGNvbnNvbGUgbG9nIGxldmVsXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE2CisjLCBmdXp6eQorbXNnaWQgIiAtLXBvd2Vyc2F2ZSAgICAgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdXG4iCittc2dzdHIgIiAgWyAtcG93ZXJzYXZlIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXSBdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNworbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0IHZlc2EgcG93ZXJzYXZpbmcgZmVhdHVyZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTgKK21zZ2lkICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIHNldCB2ZXNhIHBvd2VyZG93biBpbnRlcnZhbCBpbiBtaW51dGVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE5Cittc2dpZCAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICBkdXJhdGlvbiBvZiB0aGUgYmVsbCBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjAKK21zZ2lkICIgLS1iZnJlcSAgICAgICAgIDxudW1iZXI+ICAgICAgICAgIGJlbGwgZnJlcXVlbmN5IGluIEhlcnR6XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIxCisjLCBmdXp6eQorbXNnaWQgIiAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAgc2hvdyB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMgorIywgZnV6enkKK21zZ2lkICIgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDMwCittc2dpZCAiZHVwbGljYXRlIHVzZSBvZiBhbiBvcHRpb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzM0CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmb3JjZSBibGFuayIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZWZmZXR0dWFyZSBpbCBmb3JrIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MzkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGZvcmNlIHVuYmxhbmsiCittc2dzdHIgImltcG9zc2liaWxlIGVmZmV0dHVhcmUgaWwgZm9yayIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQ1CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgYmxhbmsgc3RhdHVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgJXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4gbm90IG9wZW4gZHVtcCBmaWxlICVzIGZvciBvdXRwdXQiCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSBpbCBkaXNwb3NpdGl2byAlcyBwZXIgc2NyaXZlcmVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCAlcyBkb2VzIG5vdCBzdXBwb3J0ICVzIgorbXNnc3RyICIlczogbCd1dGVudGUgXCIlc1wiIG5vbiBlc2lzdGUuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjk4OAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgKHVuKXNldCBwb3dlcnNhdmUgbW9kZSIKK21zZ3N0ciAiIGltcG9zc2liaWxlIChkaXMpaW1wb3N0YXJlIGxhIG1vZGFsaXTDoCByaXNwYXJtaW8gZW5lcmdldGljb1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDA3IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwMTYKKyMsIGZ1enp5Cittc2dpZCAia2xvZ2N0bCBlcnJvciIKK21zZ3N0ciAiZXJyb3JlIGtsb2djdGwgOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDM3CisjLCBmdXp6eQorbXNnaWQgIiRURVJNIGlzIG5vdCBkZWZpbmVkLiIKK21zZ3N0ciAiJXM6ICRURVJNIG5vbiDDqCBkZWZpbml0by5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0NAorbXNnaWQgInRlcm1pbmZvIGRhdGFiYXNlIGNhbm5vdCBiZSBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biB0ZXJtaW5hbCB0eXBlIgorbXNnc3RyICIlczogc2VnbmFsZSBzY29ub3NjaXV0byAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDQ4Cittc2dpZCAidGVybWluYWwgaXMgaGFyZGNvcHkiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy90dHltc2cuYzo4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHRvbyBtYW55IGlvdidzIgorbXNnc3RyICJlcnJvcmUgaW50ZXJubyIKKworIzogdGVybS11dGlscy90dHltc2cuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICJleGNlc3NpdmVseSBsb25nIGxpbmUgYXJnIgorbXNnc3RyICJhcmdvbWVudG8gbGluZWEgZWNjZXNzaXZhbWVudGUgbHVuZ28iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVuIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBub24gcml1c2NpdGFcbiIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZvcms6ICVtIgorbXNnc3RyICJmb3JrOiAlcyIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZvcmsiCittc2dzdHIgImltcG9zc2liaWxlIGVmZmV0dHVhcmUgaWwgZm9yayIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJBRCBFUlJPUiwgbWVzc2FnZSBpcyBmYXIgdG9vIGxvbmciCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiB8IDxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODYKK21zZ2lkICJXcml0ZSBhIG1lc3NhZ2UgdG8gYWxsIHVzZXJzLlxuIgorbXNnc3RyICIiCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogdGVybS11dGlscy93YWxsLmM6ODkKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIGRvIG5vdCBwcmludCBiYW5uZXIsIHdvcmtzIG9ubHkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjkwCittc2dpZCAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEzMgorbXNnaWQgIi0tbm9iYW5uZXIgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIHJvb3QiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6MTM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJ2YWxvcmUgZGkgdGltZW91dCBub24gdmFsaWRvOiAlcyIKKworIzogdGVybS11dGlscy93YWxsLmM6MjY5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgcGFzc3dkIHVpZCIKK21zZ3N0ciAibW91bnQ6IGltcG9zc2liaWxlIGltcG9zdGFyZSBsJ2lkIHV0ZW50ZTogJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjI3NAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IHR0eSBuYW1lIgorbXNnc3RyICJJbXBvc3NpYmlsZSBvdHRlbmVyZSBsYSBkaW1lbnNpb25lIGRlbCBkaXNjbyIKKworIzogdGVybS11dGlscy93YWxsLmM6Mjk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCcm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzQCVzICglcykgKCVzKToiCittc2dzdHIgIk1lc3NhZ2dpbyBicm9hZGNhc3QgZGEgJXNAJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjMyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgcmVhZCAlcyAtIHVzZSBzdGRpbi4iCittc2dzdHIgIiVzOiBub24gdmVycsOgIGxldHRvICVzIC0gdXNhcmUgc3RkaW4uXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXNlcj4gWzx0dHluYW1lPl1cbiIKK21zZ3N0ciAiVXNvOiBuYW1laSBbLW14XSBub21lIHBlcmNvcnNvIFtub21lIHBlcmNvcnNvIC4uLl1cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjkwCittc2dpZCAiU2VuZCBhIG1lc3NhZ2UgdG8gYW5vdGhlciB1c2VyLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoxMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZWZmZWN0aXZlIGdpZCBkb2VzIG5vdCBtYXRjaCBncm91cCBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIgorbXNnc3RyICJ3cml0ZTogJXMgbm9uIMOoIGNvbGxlZ2F0b1xuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjA3CisjLCBmdXp6eQorbXNnaWQgImNhbid0IGZpbmQgeW91ciB0dHkncyBuYW1lIgorbXNnc3RyICJ3cml0ZTogaW1wb3NzaWJpbGUgdHJvdmFyZSBpbCBub21lIGRpIHR0eVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQiCittc2dzdHIgIndyaXRlOiAlcyBoYSBpIG1lc3NhZ2dpIGRpc2F0dGl2YXRpXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGxvZ2dlZCBpbiBtb3JlIHRoYW4gb25jZTsgd3JpdGluZyB0byAlcyIKK21zZ3N0ciAid3JpdGU6ICVzIMOoIGNvbGxlZ2F0byBwacO5IGRpIHVuYSB2b2x0YTsgc2NyaXR0dXJhIHN1ICVzIGluIGNvcnNvXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiY2FyZWZ1bHB1dGMgZmFpbGVkIgorbXNnc3RyICJtYWxsb2Mgbm9uIHJpdXNjaXRhIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgKGFzICVzKSBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICJNZXNzYWdnaW8gZGEgJXNAJXMgKGNvbWUgJXMpIHN1ICVzIGEgJXMgLi4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6Mjg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiTWVzc2FnZ2lvIGRhICVzQCVzIHN1ICVzIGEgJXMgLi4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzMxCisjLCBmdXp6eQorbXNnaWQgInlvdSBoYXZlIHdyaXRlIHBlcm1pc3Npb24gdHVybmVkIG9mZiIKK21zZ3N0ciAid3JpdGU6IGwnYXV0b3JpenphemlvbmUgcGVyIGxhIHNjcml0dHVyYSDDqCBkaXNhdHRpdmF0YS5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiBvbiAlcyIKK21zZ3N0ciAid3JpdGU6ICVzIG5vbiDDqCBjb2xsZWdhdG8gYSAlcy5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIG9uICVzIgorbXNnc3RyICJ3cml0ZTogJXMgaGEgaSBtZXNzYWdnaSBkaXNhdHRpdmF0aSBzdSAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzNAorbXNnaWQgIkZpbHRlciBvdXQgcmV2ZXJzZSBsaW5lIGZlZWRzLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYiwgLS1uby1iYWNrc3BhY2VzICAgIGRvIG5vdCBvdXRwdXQgYmFja3NwYWNlc1xuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIHBlcm1pdCBmb3J3YXJkIGhhbGYgbGluZSBmZWVkc1xuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIHBhc3MgdW5rbm93biBjb250cm9sIHNlcXVlbmNlc1xuIgorIiAtaCwgLS10YWJzICAgICAgICAgICAgIGNvbnZlcnQgc3BhY2VzIHRvIHRhYnNcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICBjb252ZXJ0IHRhYnMgdG8gc3BhY2VzXG4iCisiIC1sLCAtLWxpbmVzIE5VTSAgICAgICAgYnVmZmVyIGF0IGxlYXN0IE5VTSBsaW5lc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1ILCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE0OCB0ZXh0LXV0aWxzL2NvbHJtLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzIHJlYWRzIGZyb20gc3RhbmRhcmQgaW5wdXQgYW5kIHdyaXRlcyB0byBzdGFuZGFyZCBvdXRwdXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjIxMgorIywgZnV6enkKK21zZ2lkICJiYWQgLWwgYXJndW1lbnQiCittc2dzdHIgImNvbDogYXJnb21lbnRvIC1sIG5vbiB2YWxpZG8gcGVyICVzLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjMzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2FuJ3QgYmFjayB1cCAlcy4iCittc2dzdHIgImNvbDogYXR0ZW56aW9uZTogaW1wb3NzaWJpbGUgZXNlZ3VpcmUgaWwgYmFja3VwIGRpICVzLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjMzNworbXNnaWQgInBhc3QgZmlyc3QgbGluZSIKK21zZ3N0ciAiZG9wbyBsYSBwcmltYSBsaW5lYSIKKworIzogdGV4dC11dGlscy9jb2wuYzozMzcKK21zZ2lkICItLSBsaW5lIGFscmVhZHkgZmx1c2hlZCIKK21zZ3N0ciAiLS0gbGluZWEgZ2nDoCBzdnVvdGF0YSIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4MSB0ZXh0LXV0aWxzL2NvbHVtbi5jOjExNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg0Cittc2dpZCAiRmlsdGVyIG5yb2ZmIG91dHB1dCBmb3IgQ1JUIHByZXZpZXdpbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NworbXNnaWQgIiAtLCAgLS1uby11bmRlcmxpbmluZyAgICBzdXBwcmVzcyBhbGwgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg4CisjLCBmdXp6eQorbXNnaWQgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBwcmludCBhbGwgaGFsZi1saW5lc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbc3RhcnRjb2wgW2VuZGNvbF1dXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo2NAorbXNnaWQgIkZpbHRlciBvdXQgdGhlIHNwZWNpZmllZCBjb2x1bW5zLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiZmlyc3QgYXJndW1lbnQiCittc2dzdHIgImNvbDogYXJnb21lbnRvIC1sIG5vbiB2YWxpZG8gcGVyICVzLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgInNlY29uZCBhcmd1bWVudCIKK21zZ3N0ciAiY29sOiBhcmdvbWVudG8gLWwgbm9uIHZhbGlkbyBwZXIgJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTIwCittc2dpZCAiQ29sdW1uYXRlIGxpc3RzLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTIzCittc2dpZCAiIC1jLCAtLWNvbHVtbnMgPHdpZHRoPiAgICB3aWR0aCBvZiBvdXRwdXQgaW4gbnVtYmVyIG9mIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyNAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgIGNyZWF0ZSBhIHRhYmxlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjUKK21zZ2lkICIgLXMsIC0tc2VwYXJhdG9yIDxzdHJpbmc+IHBvc3NpYmxlIHRhYmxlIGRlbGltaXRlcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyNgorbXNnaWQgIiIKKyIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8c3RyaW5nPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucyBzZXBhcmF0b3IgZm9yIHRhYmxlIG91dHB1dDsgZGVmYXVsdCBpcyB0d28gc3BhY2VzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjgKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICBmaWxsIHJvd3MgYmVmb3JlIGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxODIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjb2x1bW5zIGFyZ3VtZW50IgorbXNnc3RyICJpZCBub24gdmFsaWRvIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQyMgorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkIGlzIHRvbyBsb25nLCBvdXRwdXQgd2lsbCBiZSB0cnVuY2F0ZWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU1IHRleHQtdXRpbHMvbW9yZS5jOjIyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU4Cittc2dpZCAiRGlzcGxheSBmaWxlIGNvbnRlbnRzIGluIGhleGFkZWNpbWFsLCBkZWNpbWFsLCBvY3RhbCwgb3IgYXNjaWkuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYxCittc2dpZCAiIC1iLCAtLW9uZS1ieXRlLW9jdGFsICAgICAgb25lLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MgorbXNnaWQgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgIG9uZS1ieXRlIGNoYXJhY3RlciBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYzCittc2dpZCAiIC1DLCAtLWNhbm9uaWNhbCAgICAgICAgICAgY2Fub25pY2FsIGhleCtBU0NJSSBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY0Cittc2dpZCAiIC1kLCAtLXR3by1ieXRlcy1kZWNpbWFsICAgdHdvLWJ5dGUgZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY1Cittc2dpZCAiIC1vLCAtLXR3by1ieXRlcy1vY3RhbCAgICAgdHdvLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NgorbXNnaWQgIiAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjcKK21zZ2lkICIgLUwsIC0tY29sb3JbPTxtb2RlPl0gICAgICBpbnRlcnByZXQgY29sb3IgZm9ybWF0dGluZyBzcGVjaWZpZXJzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcwCittc2dpZCAiIC1lLCAtLWZvcm1hdCA8Zm9ybWF0PiAgICAgZm9ybWF0IHN0cmluZyB0byBiZSB1c2VkIGZvciBkaXNwbGF5aW5nIGRhdGFcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzEKK21zZ2lkICIgLWYsIC0tZm9ybWF0LWZpbGUgPGZpbGU+ICBmaWxlIHRoYXQgY29udGFpbnMgZm9ybWF0IHN0cmluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzIKK21zZ2lkICIgLW4sIC0tbGVuZ3RoIDxsZW5ndGg+ICAgICBpbnRlcnByZXQgb25seSBsZW5ndGggYnl0ZXMgb2YgaW5wdXRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzMKK21zZ2lkICIgLXMsIC0tc2tpcCA8b2Zmc2V0PiAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgb3V0cHV0IGlkZW50aWNhbCBsaW5lc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtZGlzcGxheS5jOjM2NQorIywgZnV6enkKK21zZ2lkICJhbGwgaW5wdXQgZmlsZSBhcmd1bWVudHMgZmFpbGVkIgorbXNnc3RyICJudW1lcm8gbWFzc2ltbyBkaSBzZWdtZW50aSA9ICVsdVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkIGJ5dGUgY291bnQgZm9yIGNvbnZlcnNpb24gY2hhcmFjdGVyICVzIgorbXNnc3RyICJoZXhkdW1wOiBjb250ZWdnaW8gYnl0ZSBlcnJhdG8gcGVyIGlsIGNhcmF0dGVyZSBkaSBjb252ZXJzaW9uZSAlcy5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiUlcyByZXF1aXJlcyBhIHByZWNpc2lvbiBvciBhIGJ5dGUgY291bnQiCittc2dzdHIgImhleGR1bXA6ICUlcyByaWNoaWVkZSB1biBjb250ZWdnaW8gZGkgcHJlY2lzaW9uZSBvIHVuIGNvbnRlZ2dpbyBkZWkgYnl0ZS5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCBmb3JtYXQgeyVzfSIKK21zZ3N0ciAiaGV4ZHVtcDogZm9ybWF0byBub24gdmFsaWRvIHslc31cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb252ZXJzaW9uIGNoYXJhY3RlciAlJSVzIgorbXNnc3RyICJoZXhkdW1wOiBjYXJhdHRlcmUgZGkgY29udmVyc2lvbmUgbm9uIHZhbGlkbyAlJSVzLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo0MzYKKyMsIGZ1enp5Cittc2dpZCAiYnl0ZSBjb3VudCB3aXRoIG11bHRpcGxlIGNvbnZlcnNpb24gY2hhcmFjdGVycyIKK21zZ3N0ciAiaGV4ZHVtcDogY29udGVnZ2lvIGJ5dGUgY29uIGkgY2FyYXR0ZXJpIGRpIGNvbnZlcnNpb25lIG11bHRpcGxhLlxuIgorCisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozMworbXNnaWQgIlJlYWQgb25lIGxpbmUuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjI4Cittc2dpZCAiQSBmaWxlIHBlcnVzYWwgZmlsdGVyIGZvciBDUlQgdmlld2luZy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAiIC1kICAgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmdpbmcgYmVsbFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMgorIywgZnV6enkKK21zZ2lkICIgLWYgICAgICAgICAgY291bnQgbG9naWNhbCByYXRoZXIgdGhhbiBzY3JlZW4gbGluZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5vbiBzY3JpdmUgcmVhbG1lbnRlIHN1bCBkaXNjbyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjMzCisjLCBmdXp6eQorbXNnaWQgIiAtbCAgICAgICAgICBzdXBwcmVzcyBwYXVzZSBhZnRlciBmb3JtIGZlZWRcbiIKK21zZ3N0ciAiIHAgICAgICAgICAgU3RhbXBhIGRlbGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBzdSBzY2hlcm1vIG8gc3UgZmlsZSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIiAtYyAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBkaXNwbGF5IHRleHQgYW5kIGNsZWFuIGxpbmUgZW5kc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgbm9uIHNjcml2ZSByZWFsbWVudGUgc3VsIGRpc2NvIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzUKKyMsIGZ1enp5Cittc2dpZCAiIC1wICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGNsZWFuIHNjcmVlbiBhbmQgZGlzcGxheSB0ZXh0XG4iCittc2dzdHIgIiBwICAgICAgICAgIFN0YW1wYSBkZWxsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgc3Ugc2NoZXJtbyBvIHN1IGZpbGUiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNgorIywgZnV6enkKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzcKK21zZ2lkICIgLXUgICAgICAgICAgc3VwcHJlc3MgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiIC08bnVtYmVyPiAgIHRoZSBudW1iZXIgb2YgbGluZXMgcGVyIHNjcmVlbmZ1bFxuIgorbXNnc3RyICJJbW1ldHRlcmUgaWwgbnVtZXJvIGRpIGNpbGluZHJpOiAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOQorbXNnaWQgIiArPG51bWJlcj4gICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gbGluZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDAKK21zZ2lkICIgKy88c3RyaW5nPiAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIHNlYXJjaCBzdHJpbmcgbWF0Y2hcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1WICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo0ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIC0lcyIKK21zZ3N0ciAiJXM6IG9wemlvbmUgc2Nvbm9zY2l1dGEgXCItJWNcIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKiAlczogZGlyZWN0b3J5ICoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqICVzOiBkaXJlY3RvcnkgKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqKioqKiogJXM6IE5vdCBhIHRleHQgZmlsZSAqKioqKioqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqKioqKiogJXM6IG5vbiDDqCB1biBmaWxlIGRpIHRlc3RvICoqKioqKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjY0NQorIywgYy1mb3JtYXQKK21zZ2lkICJbVXNlIHEgb3IgUSB0byBxdWl0XSIKK21zZ3N0ciAiW1VzYXJlIHEgbyBRIHBlciB1c2NpcmVdIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1Nb3JlLS0iCittc2dzdHIgIi0tQW5jb3JhLS0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjcyNgorIywgYy1mb3JtYXQKK21zZ2lkICIoTmV4dCBmaWxlOiAlcykiCittc2dzdHIgIihGaWxlIHN1Y2Nlc3Npdm86ICVzKSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyBzcGFjZSB0byBjb250aW51ZSwgJ3EnIHRvIHF1aXQuXSIKK21zZ3N0ciAiW1ByZW1lcmUgc3BhemlvIHBlciBjb250aW51YXJlLCAncScgcGVyIHVzY2lyZS5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMTYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIuLi5iYWNrICVkIHBhZ2UiCittc2dpZF9wbHVyYWwgIi4uLmJhY2sgJWQgcGFnZXMiCittc2dzdHJbMF0gIi4uLmluZGlldHJvICVkIHBhZ2luZSIKK21zZ3N0clsxXSAiLi4uaW5kaWV0cm8gJWQgcGFnaW5lIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIuLi5za2lwcGluZyAlZCBsaW5lIgorbXNnaWRfcGx1cmFsICIuLi5za2lwcGluZyAlZCBsaW5lcyIKK21zZ3N0clswXSAiLi4uc3RvIHNhbHRhbmRvICVkIHJpZ2hlIgorbXNnc3RyWzFdICIuLi5zdG8gc2FsdGFuZG8gJWQgcmlnaGUiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNDgKK21zZ2lkICIiCisiXG4iCisiKioqQmFjayoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqSW5kaWV0cm8qKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI2MworIywgZnV6enkKK21zZ2lkICJObyBwcmV2aW91cyByZWd1bGFyIGV4cHJlc3Npb24iCittc2dzdHIgIkVycm9yZSBuZWxsJ2VzcHJlc3Npb25lIHJlZ29sYXJlIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjkzCittc2dpZCAiIgorIlxuIgorIk1vc3QgY29tbWFuZHMgb3B0aW9uYWxseSBwcmVjZWRlZCBieSBpbnRlZ2VyIGFyZ3VtZW50IGsuICBEZWZhdWx0cyBpbiBicmFja2V0cy5cbiIKKyJTdGFyICgqKSBpbmRpY2F0ZXMgYXJndW1lbnQgYmVjb21lcyBuZXcgZGVmYXVsdC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzAwCittc2dpZCAiIgorIjxzcGFjZT4gICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbMV0qXG4iCisiZCBvciBjdHJsLUQgICAgICAgICAgICAgU2Nyb2xsIGsgbGluZXMgW2N1cnJlbnQgc2Nyb2xsIHNpemUsIGluaXRpYWxseSAxMV0qXG4iCisicSBvciBRIG9yIDxpbnRlcnJ1cHQ+ICAgRXhpdCBmcm9tIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBsaW5lcyBvZiB0ZXh0IFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyJiIG9yIGN0cmwtQiAgICAgICAgICAgICBTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBHbyB0byBwbGFjZSB3aGVyZSBwcmV2aW91cyBzZWFyY2ggc3RhcnRlZFxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBsaW5lIG51bWJlclxuIgorIi88cmVndWxhciBleHByZXNzaW9uPiAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgcmVndWxhciBleHByZXNzaW9uIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByLmUgWzFdXG4iCisiITxjbWQ+IG9yIDohPGNtZD4gICAgICAgRXhlY3V0ZSA8Y21kPiBpbiBhIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgdXAgL3Vzci9iaW4vdmkgYXQgY3VycmVudCBsaW5lXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkcmF3IHNjcmVlblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBuZXh0IGZpbGUgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIHByZXZpb3VzIGZpbGUgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXJcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBSZXBlYXQgcHJldmlvdXMgY29tbWFuZFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzNzMgdGV4dC11dGlscy9tb3JlLmM6MTM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3MgJ2gnIGZvciBpbnN0cnVjdGlvbnMuXSIKK21zZ3N0ciAiW1ByZW1lcmUgJ2gnIHBlciB2aXN1YWxpenphcmUgbGUgaXN0cnV6aW9uaS5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBsaW5lICVkIgorbXNnc3RyICJcIiVzXCIgcmlnYSAlZCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQxMgorIywgYy1mb3JtYXQKK21zZ2lkICJbTm90IGEgZmlsZV0gbGluZSAlZCIKK21zZ3N0ciAiW05vbiB1biBmaWxlXSByaWdhICVkIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDk0Cittc2dpZCAiICBPdmVyZmxvd1xuIgorbXNnc3RyICIgIE92ZXJmbG93XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1NDMKK21zZ2lkICIuLi5za2lwcGluZ1xuIgorbXNnc3RyICIuLi5pZ25vcmFcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU3NworbXNnaWQgIiIKKyJcbiIKKyJQYXR0ZXJuIG5vdCBmb3VuZFxuIgorbXNnc3RyICIiCisiXG4iCisiUGF0dGVybiBub24gdHJvdmF0b1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTgzIHRleHQtdXRpbHMvcGcuYzoxMDI3IHRleHQtdXRpbHMvcGcuYzoxMTczCittc2dpZCAiUGF0dGVybiBub3QgZm91bmQiCittc2dzdHIgIlBhdHRlcm4gbm9uIHRyb3ZhdG8iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2MjkKK21zZ2lkICJleGVjIGZhaWxlZFxuIgorbXNnc3RyICJleGVjIGZhbGxpdGFcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY0MworbXNnaWQgImNhbid0IGZvcmtcbiIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZWZmZXR0dWFyZSBmb3JrXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NzcKK21zZ2lkICIiCisiXG4iCisiLi4uU2tpcHBpbmcgIgorbXNnc3RyICIiCisiXG4iCisiLi4uaWdub3JhdG8iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2ODEKK21zZ2lkICIuLi5Ta2lwcGluZyB0byBmaWxlICIKK21zZ3N0ciAiLi4uQW5kYXRvIGFsIGZpbGUgIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjgzCittc2dpZCAiLi4uU2tpcHBpbmcgYmFjayB0byBmaWxlICIKK21zZ3N0ciAiLi4uVG9ybmF0byBhbCBmaWxlICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTk3MworbXNnaWQgIkxpbmUgdG9vIGxvbmciCittc2dzdHIgIlJpZ2EgdHJvcHBvIGx1bmdhIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMDEwCittc2dpZCAiTm8gcHJldmlvdXMgY29tbWFuZCB0byBzdWJzdGl0dXRlIGZvciIKK21zZ3N0ciAiTmVzc3VuIGNvbWFuZG8gcHJlY2VkZW50ZSBkYSBzb3N0aXR1aXJlIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTQ0Cittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyIgIGggICAgICAgICAgICAgICAgICAgICAgIHRoaXMgc2NyZWVuXG4iCisiICBxIG9yIFEgICAgICAgICAgICAgICAgICBxdWl0IHByb2dyYW1cbiIKKyIgIDxuZXdsaW5lPiAgICAgICAgICAgICAgIG5leHQgcGFnZVxuIgorIiAgZiAgICAgICAgICAgICAgICAgICAgICAgc2tpcCBhIHBhZ2UgZm9yd2FyZFxuIgorIiAgZCBvciBeRCAgICAgICAgICAgICAgICAgbmV4dCBoYWxmcGFnZVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgbmV4dCBsaW5lXG4iCisiICAkICAgICAgICAgICAgICAgICAgICAgICBsYXN0IHBhZ2VcbiIKKyIgIC9yZWdleC8gICAgICAgICAgICAgICAgIHNlYXJjaCBmb3J3YXJkIGZvciByZWdleFxuIgorIiAgP3JlZ2V4PyBvciBecmVnZXheICAgICAgc2VhcmNoIGJhY2t3YXJkIGZvciByZWdleFxuIgorIiAgLiBvciBeTCAgICAgICAgICAgICAgICAgcmVkcmF3IHNjcmVlblxuIgorIiAgdyBvciB6ICAgICAgICAgICAgICAgICAgc2V0IHBhZ2Ugc2l6ZSBhbmQgZ28gdG8gbmV4dCBwYWdlXG4iCisiICBzIGZpbGVuYW1lICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgZmlsZSB0byBmaWxlbmFtZVxuIgorIiAgIWNvbW1hbmQgICAgICAgICAgICAgICAgc2hlbGwgZXNjYXBlXG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBwcmV2aW91cyBmaWxlXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBuZXh0IGZpbGVcbiIKKyJcbiIKKyJNYW55IGNvbW1hbmRzIGFjY2VwdCBwcmVjZWRpbmcgbnVtYmVycywgZm9yIGV4YW1wbGU6XG4iCisiKzE8bmV3bGluZT4gKG5leHQgcGFnZSk7IC0xPG5ld2xpbmU+IChwcmV2aW91cyBwYWdlKTsgMTxuZXdsaW5lPiAoZmlyc3QgcGFnZSkuXG4iCisiXG4iCisiU2VlIHBnKDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFsrbGluZV0gWysvcGF0dGVybi9dIFtmaWxlc11cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyNgorbXNnaWQgIkJyb3dzZSBwYWdld2lzZSB0aHJvdWdoIHRleHQgZmlsZXMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyOQorbXNnaWQgIiAtbnVtYmVyICAgICAgbGluZXMgcGVyIHBhZ2VcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMwCittc2dpZCAiIC1jICAgICAgICAgICBjbGVhciBzY3JlZW4gYmVmb3JlIGRpc3BsYXlpbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMxCisjLCBmdXp6eQorbXNnaWQgIiAtZSAgICAgICAgICAgZG8gbm90IHBhdXNlIGF0IGVuZCBvZiBhIGZpbGVcbiIKK21zZ3N0ciAiIHAgICAgICAgICAgU3RhbXBhIGRlbGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBzdSBzY2hlcm1vIG8gc3UgZmlsZSIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMgorIywgZnV6enkKK21zZ2lkICIgLWYgICAgICAgICAgIGRvIG5vdCBzcGxpdCBsb25nIGxpbmVzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBub24gc2NyaXZlIHJlYWxtZW50ZSBzdWwgZGlzY28iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzMKK21zZ2lkICIgLW4gICAgICAgICAgIHRlcm1pbmF0ZSBjb21tYW5kIHdpdGggbmV3IGxpbmVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM0Cittc2dpZCAiIC1wIDxwcm9tcHQ+ICBzcGVjaWZ5IHByb21wdFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzUKK21zZ2lkICIgLXIgICAgICAgICAgIGRpc2FsbG93IHNoZWxsIGVzY2FwZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzYKKyMsIGZ1enp5Cittc2dpZCAiIC1zICAgICAgICAgICBwcmludCBtZXNzYWdlcyB0byBzdGRvdXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNworbXNnaWQgIiArbnVtYmVyICAgICAgc3RhcnQgYXQgdGhlIGdpdmVuIGxpbmVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM4Cittc2dpZCAiICsvcGF0dGVybi8gICBzdGFydCBhdCB0aGUgbGluZSBjb250YWluaW5nIHBhdHRlcm5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gJXMiCittc2dzdHIgIiVzOiBsJ29wemlvbmUgcmljaGllZGUgdW4gYXJnb21lbnRvIC0tICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgb3B0aW9uIC0tICVzIgorbXNnc3RyICIlczogb3B6aW9uZSBpbGxlY2l0YSAtLSAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzU5Cittc2dpZCAiLi4uc2tpcHBpbmcgZm9yd2FyZFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjEKK21zZ2lkICIuLi5za2lwcGluZyBiYWNrd2FyZFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNzcKK21zZ2lkICJObyBuZXh0IGZpbGUiCittc2dzdHIgIk5lc3N1biBmaWxlIHN1Y2Nlc3Npdm8iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODEKK21zZ2lkICJObyBwcmV2aW91cyBmaWxlIgorbXNnc3RyICJOZXNzdW4gZmlsZSBwcmVjZWRlbnRlIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yIGZyb20gJXMgZmlsZSIKK21zZ3N0ciAiJXM6IEVycm9yZSBkaSBsZXR0dXJhIGRhbCBmaWxlICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgRU9GIGluICVzIGZpbGUiCittc2dzdHIgIiVzOiBFT0Ygbm9uIHByZXZpc3RvIG5lbCBmaWxlICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gZXJyb3IgaW4gJXMgZmlsZSIKK21zZ3N0ciAiJXM6IEVycm9yZSBzY29ub3NjaXV0byBuZWwgZmlsZSAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTQxCisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIiVzOiBJbXBvc3NpYmlsZSBjcmVhcmUgaWwgZmlsZSB0ZW1wb3JhbmVvXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NTAgdGV4dC11dGlscy9wZy5jOjExMTQgdGV4dC11dGlscy9wZy5jOjExNDAKK21zZ2lkICJSRSBlcnJvcjogIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMDk3Cittc2dpZCAiKEVPRikiCittc2dzdHIgIihFT0YpIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTEyMiB0ZXh0LXV0aWxzL3BnLmM6MTE0OAorbXNnaWQgIk5vIHJlbWVtYmVyZWQgc2VhcmNoIHN0cmluZyIKK21zZ3N0ciAiTmVzc3VuYSBzdHJpbmdhIGRpIHJpY2VyY2Egcmljb3JkYXRhIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTIwMworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiAiCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjEyNTUKK21zZ2lkICJzYXZlZCIKK21zZ3N0ciAic2FsdmF0byIKKworIzogdGV4dC11dGlscy9wZy5jOjEzNDUKK21zZ2lkICI6ICFjb21tYW5kIG5vdCBhbGxvd2VkIGluIHJmbGFnIG1vZGUuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzODAKK21zZ2lkICJmb3JrKCkgZmFpbGVkLCB0cnkgYWdhaW4gbGF0ZXJcbiIKK21zZ3N0ciAiZm9yaygpIG5vbiByaXVzY2l0bywgcmlwcm92YXJlIHBpw7kgdGFyZGlcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjE0NjgKK21zZ2lkICIoTmV4dCBmaWxlOiAiCittc2dzdHIgIihGaWxlIHN1Y2Nlc3Npdm86ICIKKworIzogdGV4dC11dGlscy9wZy5jOjE1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXMgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU4NyB0ZXh0LXV0aWxzL3BnLmM6MTY2MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGxpbmVzIHBlciBwYWdlIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogdGV4dC11dGlscy9yZXYuYzo4MAorbXNnaWQgIlJldmVyc2UgbGluZXMgY2hhcmFjdGVyd2lzZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgImluY29tcGxldGUgd3JpdGUgdG8gXCIlc1wiICh3cml0dGVuICV6ZCwgZXhwZWN0ZWQgJXpkKVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaCAobGltaXQgb2YgaW5vdGlmeSB3YXRjaGVzIHdhcyByZWFjaGVkKS4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjE5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25dIDxmaWxlPlxuIgorbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjAwCittc2dpZCAiRm9sbG93IHRoZSBncm93dGggb2YgYSBsb2cgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjAzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1saW5lcyA8bnVtYmVyPiAgIG91dHB1dCB0aGUgbGFzdCA8bnVtYmVyPiBsaW5lc1xuIgorbXNnc3RyICJJbW1ldHRlcmUgaWwgbnVtZXJvIGRpIGNpbGluZHJpOiAiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMDQKKyMsIGZ1enp5Cittc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgICAgc2FtZSBhcyAnLW4gPG51bWJlcj4nXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMTAKK21zZ2lkICJXYXJuaW5nOiB1c2Ugb2YgJ3RhaWxmJyBpcyBkZXByZWNhdGVkLCB1c2UgJ3RhaWwgLWYnIGluc3RlYWQuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIyMyB0ZXh0LXV0aWxzL3RhaWxmLmM6MjYzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyNzUKKyMsIGZ1enp5Cittc2dpZCAibm8gaW5wdXQgZmlsZSBzcGVjaWZpZWQiCittc2dzdHIgIk9wemlvbmUgLS1kYXRlIG5vbiBzcGVjaWZpY2F0YS5cbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjI4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBhIGZpbGUiCittc2dzdHIgImwnaW5vZGUgcmFkaWNlIG5vbiDDqCB1bmEgZGlyZWN0b3J5IgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gLi4uXVxuIgorbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTM5Cittc2dpZCAiRG8gdW5kZXJsaW5pbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjE0MgorbXNnaWQgIiAtdCwgLVQsIC0tdGVybWluYWwgVEVSTUlOQUwgIG92ZXJyaWRlIHRoZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjE0MworbXNnaWQgIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICAgIHVuZGVybGluaW5nIGlzIGluZGljYXRlZCB2aWEgYSBzZXBhcmF0ZSBsaW5lXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjIwNAorbXNnaWQgInRyb3VibGUgcmVhZGluZyB0ZXJtaW5mbyIKK21zZ3N0ciAicHJvYmxlbWkgbGVnZ2VuZG8gdGVybWluZm8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgYCVzJyBpcyBub3Qga25vd24sIGRlZmF1bHRpbmcgdG8gYGR1bWInIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZXNjYXBlIHNlcXVlbmNlIGluIGlucHV0OiAlbywgJW8iCittc2dzdHIgIlNlcXVlbnphIGRpIGVzY2FwZSBzY29ub3NjaXV0YSBpbiBpbnB1dDogJW8sICVvXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzo2MjQKKyMsIGZ1enp5Cittc2dpZCAiSW5wdXQgbGluZSB0b28gbG9uZy4iCittc2dzdHIgIkxpbmVhIGRpIGlucHV0IHRyb3BwbyBsdW5nYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiB1c2UgdGhlIEhhcmR3YXJlIENsb2NrLiIKKyN+IG1zZ3N0ciAiU3BpYWNlbnRlLCBzb2xhbWVudGUgaWwgc3VwZXJ1dGVudGUgcHXDsiBtb2RpZmljYXJlIGlsIGNsb2NrIGhhcmR3YXJlLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIHNlY2NvbXAgY29udGV4dCIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgYWxsb2NhcmUgaWwgYnVmZmVyLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBhZGQgc2VjY29tcCBydWxlIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBmYXJlIHN0YXQgZGkgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGxvYWQgc2VjY29tcCBydWxlIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBmYXJlIHN0YXQgZGkgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmlsZXN5c3RlbSBsYWJlbDoiCisjfiBtc2dzdHIgIkltbWV0dGVyZSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW06ICIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc2V0IFBBVEgiCisjfiBtc2dzdHIgImltcG9zc2liaWxlIGZhcmUgc3RhdCBkaSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJhcmd1bWVudCBlcnJvcjogJXMiCisjfiBtc2dzdHIgIiVzOiBhcmdvbWVudG8gZXJyYXRvLCB1c29cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0dHkgcGF0aCAlcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiTGluZWEgZGkgaW5wdXQgdHJvcHBvIGx1bmdhLlxuIgorCisjfiBtc2dpZCAiYmFkIHRpbWVvdXQgdmFsdWU6ICVzIgorI34gbXNnc3RyICJ2YWxvcmUgZGkgdGltZW91dCBub24gdmFsaWRvOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCIKKyN+IG1zZ3N0ciAiZXJyb3JlIGRpIHBvc2l6aW9uYW1lbnRvIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvcjogaWdub3JlIGVudHJ5IGF0IGxpbmUgJWQuIgorI34gbXNnc3RyICJlcnJvcmUgZGkgcG9zaXppb25hbWVudG8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG5vdCBzZXR1cCB0aW1lciIKKyN+IG1zZ3N0ciAibW91bnQ6IGltcG9zc2liaWxlIGltcG9zdGFyZSBsJ2lkIGRpIGdydXBwbzogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2FtZSIKKyN+IG1zZ3N0ciAiTm9tZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgYWNjZXNzIGZpbGUgJXMiCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGFwcmlyZSBpbCBmaWxlICclcyciCisKKyN+IG1zZ2lkICIlcyBpcyBub3QgYSBibG9jayBzcGVjaWFsIGRldmljZSIKKyN+IG1zZ3N0ciAiJXMgbm9uIMOoIHVuIGRpc3Bvc2l0aXZvIHNwZWNpYWxlIGEgYmxvY2NoaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZGV2aWNlIGlzIG1pc2FsaWduZWQiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IGRldmljZSBvY2N1cGF0byIKKworI34gbXNnaWQgIk9TLzIgaGlkZGVuIEM6IGRyaXZlIgorI34gbXNnc3RyICJDIG5hc2Nvc3RvIE9TLzI6IGRyaXZlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRldmljZSBwYXRoIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSByaWF2dm9sZ2VyZSBpbCBkaXNwb3NpdGl2byBzd2FwIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmtub3duIGRldmljZSBuYW1lIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBkaXNwb3NpdGl2byBzY29ub3NjaXV0byIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGdldCBkbSBuYW1lIgorI34gbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzICAuJTA2ZCBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVzICAlLjZmIHNlY29uZGlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYWdlcyIKKyN+IG1zZ3N0ciAibWVzc2FnZ2kiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgImltcG9zc2liaWxlIGFsbG9jYXJlIGkgYnVmZmVyIHBlciBsZSBtYXBwZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlcnMgZm9yIG1hcHMiCisjfiBtc2dzdHIgImltcG9zc2liaWxlIGFsbG9jYXJlIGkgYnVmZmVyIHBlciBsZSBtYXBwZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIgcGVyIGdsaSBpbm9kZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJOdW1iZXIgb2YgU2VtYXBob3JlIElEcyIKKyN+IG1zZ3N0ciAiTnVtZXJvIGRpIHNldHRvcmkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstYyB8IC1sIGZpbGVuYW1lXSBbLW5YWF0gWy1pWFhdIC9kZXYvbmFtZSBbYmxvY2tzXSIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbLWMgfCAtbCBub21lZmlsZV0gWy1uWFhdIFstaVhYXSAvZGV2L25hbWUgW2Jsb2NjaGldXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGJhZCBpbm9kZSBzaXplIgorI34gbXNnc3RyICJkaW1lbnNpb25lIGlub2RlIG5vbiBjb3JyZXR0YSIKKworI34gbXNnaWQgIndpbGwgbm90IHRyeSB0byBtYWtlIGZpbGVzeXN0ZW0gb24gJyVzJyIKKyN+IG1zZ3N0ciAibm9uIHNpIHRlbnRlcsOgIGRpIGNyZWFyZSB1biBmaWxlc3lzdGVtIHN1ICclcyciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHlwZTogJWQiCisjfiBtc2dzdHIgInRpcG86ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZGlzazogJS4qcyIKKyN+IG1zZ3N0ciAiZGlzY286ICUuKnNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsYWJlbDogJS4qcyIKKyN+IG1zZ3N0ciAiZXRpY2hldHRhOiAlLipzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmxhZ3M6ICVzIgorI34gbXNnc3RyICJmbGFnOiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJieXRlcy9zZWN0b3I6ICVsZCIKKyN+IG1zZ3N0ciAiYnl0ZS9zZXR0b3JlOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWN0b3JzL3RyYWNrOiAlbGQiCisjfiBtc2dzdHIgInNldHRvcmkvdHJhY2NpYTogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHJhY2tzL2N5bGluZGVyOiAlbGQiCisjfiBtc2dzdHIgInRyYWNjZS9jaWxpbmRybzogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VjdG9ycy9jeWxpbmRlcjogJWxkIgorI34gbXNnc3RyICJzZXR0b3JpL2NpbGluZHJvOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjeWxpbmRlcnM6ICVsZCIKKyN+IG1zZ3N0ciAiY2lsaW5kcmk6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJwbTogJWQiCisjfiBtc2dzdHIgInJwbTogJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnRlcmxlYXZlOiAlZCIKKyN+IG1zZ3N0ciAiaW50ZXJsZWF2ZTogJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmFja3NrZXc6ICVkIgorI34gbXNnc3RyICJ0cmFja3NrZXc6ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3lsaW5kZXJza2V3OiAlZCIKKyN+IG1zZ3N0ciAiY3lsaW5kZXJza2V3OiAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImhlYWRzd2l0Y2g6ICVsZCAobWlsbGlzZWNvbmRzKSIKKyN+IG1zZ3N0ciAiaGVhZHN3aXRjaDogJWxkXHRcdCMgbWlsbGlzZWNvbmRpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHJhY2stdG8tdHJhY2sgc2VlazogJWxkIChtaWxsaXNlY29uZHMpIgorI34gbXNnc3RyICJyaWNlcmNhIHRyYWNjaWEtYS10cmFjY2lhOiAlbGRcdCMgbWlsbGlzZWNvbmRpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uczogJWQiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlZCBwYXJ0aXppb25pOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIllvdSBjYW5ub3QgY2hhbmdlIGEgcGFydGl0aW9uIGludG8gYW4gZXh0ZW5kZWQgb25lIG9yIHZpY2UgdmVyc2EuIERlbGV0ZSBpdCBmaXJzdC4iCisjfiBtc2dzdHIgIiIKKyN+ICJOb24gw6ggcG9zc2liaWxlIHRyYXNmb3JtYXJlIHVuYSBwYXJ0aXppb25lIGluIHVuYSBlc3Rlc2EgbyB2aWNldmVyc2FcbiIKKyN+ICJQcmltYSBiaXNvZ25hIGVsaW1pbmFybGEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkxhYmVsIGdlb21ldHJ5OiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzXG4iCisjfiAiICAgICAgICAgICAgICAgICVsbHUgY3lsaW5kZXJzLCAlZCBwaHlzaWNhbCBjeWxpbmRlcnNcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWQgZXh0cmEgc2VjdHMvY3lsLCBpbnRlcmxlYXZlICVkOjFcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2NvICVzIChkaXNrIGxhYmVsIFNHSSk6ICVkIHRlc3RpbmUsICVsbHUgc2V0dG9yaVxuIgorI34gIiVkIGNpbGluZHJpLCAlZCBjaWxpbmRyaSBmaXNpY2lcbiIKKyN+ICIlZCBzZXR0L2NpbCBzdXBwbGVtZW50YXJpLCBpbnRlcmxlYXZlICVkOjFcbiIKKyN+ICIlc1xuIgorI34gIlVuaXTDoCA9ICVzIGRpICVkICogJWQgYnl0ZVxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIjxub25lPiIKKyN+IG1zZ3N0ciAiTmVzc3VubyIKKworI34gbXNnaWQgImdldHRpbWVvZmRheSBmYWlsZWQiCisjfiBtc2dzdHIgImdldHRpbWVvZmRheSBub24gcml1c2NpdG8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3lzaW5mbyBmYWlsZWQiCisjfiBtc2dzdHIgImZzeW5jIG5vbiByaXVzY2l0byAiCisKKyN+IG1zZ2lkICJ1c2FnZTogbGFzdCBbLSNdIFstZiBmaWxlXSBbLXQgdHR5XSBbLWggaG9zdG5hbWVdIFt1c2VyIC4uLl1cbiIKKyN+IG1zZ3N0ciAiVXNvOiBsYXN0IFstI10gWy1mIGZpbGVdIFstdCB0dHldIFstaCBob3N0bmFtZV0gW3V0ZW50ZSAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IG1tYXAgZmFpbGVkIgorI34gbXNnc3RyICIlcyBub24gcml1c2NpdG8uXG4iCisKKyN+IG1zZ2lkICIgIHN0aWxsIGxvZ2dlZCBpbiIKKyN+IG1zZ3N0ciAiICB0dXR0b3JhIGNvbGxlZ2F0byIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJ3dG1wIGJlZ2lucyAlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gInd0bXAgaW5pemlhICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImdldGhvc3RuYW1lIGZhaWxlZCIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkVycm9yZSBkdXJhbnRlIGxhIGNoaXVzdXJhIGRlbCBmaWxlXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiaW50ZXJydXB0ZWQgJTEwLjEwcyAlNS41cyBcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gImludGVycm90dG8gJTEwLjEwcyAlNS41cyBcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tYXV0by8tYSBvcHRpb24iCisjfiBtc2dzdHIgImlkIG5vbiB2YWxpZG86ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gY2hhbmdlIHRoZSBTeXN0ZW0gQ2xvY2suIgorI34gbXNnc3RyICJTcGlhY2VudGUsIHNvbGFtZW50ZSBpbCBzdXBlcnV0ZW50ZSBwdcOyIG1vZGlmaWNhcmUgaWwgY2xvY2sgZGkgc2lzdGVtYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiBjaGFuZ2UgdGhlIEhhcmR3YXJlIENsb2NrIGVwb2NoIGluIHRoZSBrZXJuZWwuIgorI34gbXNnc3RyICJTb2xhbWVudGUgaWwgc3VwZXV0ZW50ZSBwdcOyIG1vZGlmaWNhcmUgbCdlcG9jYSBkZWwgY2xvY2sgaGFyZHdhcmUgbmVsIGtlcm5lbC5cbiIKKworI34gbXNnaWQgInJlYWQoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKKyN+IG1zZ3N0ciAicmVhZCgpIHN1ICVzIHBlciBsJ2F0dGVzYSBkZWwgc2VnbmFsZSBkYWwgY2xvY2sgZmFsbGl0YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZXQgcnRjIGFsYXJtIGZhaWxlZCIKKyN+IG1zZ3N0ciAicmljZXJjYSBub24gcml1c2NpdGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIHZhbHVlIgorI34gbXNnc3RyICJ2YWxvcmUgZGkgdGltZW91dCBub24gdmFsaWRvOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW0sIC0tbW91bnQgICAgICAgICAgICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdSwgLS11dHMgICAgICAgICAgICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaSwgLS1pcGMgICAgICAgICAgICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbiwgLS1uZXQgICAgICAgICAgICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICAgICAgIHVuc2hhcmUgcGlkIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1VLCAtLXVzZXIgICAgICAgICAgICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlbSIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZyZWFkIGZhaWxlZCIKKyN+IG1zZ3N0ciAiKEZpbGUgc3VjY2Vzc2l2bzogJXMpIgorCisjfiBtc2dpZCAiSGVscCBTY3JlZW4gZm9yIGNmZGlzayIKKyN+IG1zZ3N0ciAiU2NoZXJtYXRhIEd1aWRhIHBlciBjZmRpc2siCisKKyN+IG1zZ2lkICJkaXNrIGRyaXZlLiIKKyN+IG1zZ3N0ciAidW5pdMOgIGRpc2NvLiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBgbm8nIgorI34gbXNnc3RyICIgICAgICAgICAgICAgXCJub1wiIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRvbyBzbWFsbCBwYXJ0aXRpb24gc2l6ZSBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJOZXNzdW5hIHBhcnRpemlvbmUgZGVmaW5pdGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdGF0IGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAiKEZpbGUgc3VjY2Vzc2l2bzogJXMpIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW46ICVzIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHN0YXQgZmFpbGVkIgorI34gbXNnc3RyICIlcyBub24gcml1c2NpdG8uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGxzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXMgbm9uIHJpdXNjaXRvLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBsZWFzZSwgc2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgZGlzayBsYWJlbC4iCisjfiBtc2dzdHIgIkNyZWFyZSB1biBkaXNrbGFiZWw/IChzL24pIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlR5cGUgb2YgdGhlIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkLiIKKyN+IG1zZ3N0ciAiTW9kaWZpY2F0byBpbCB0aXBvIGRpIHNpc3RlbWEgZGVsbGEgcGFydGl6aW9uZSAlZCBpbiAleCAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGZpbGVcbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTpcbiIKKyN+IG1zZ3N0ciAiVXNvOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbWtmcyg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBlciBtYWdnaW9yaSBpbmZvcm1hemlvbmkgdmVkZXJlIHNldGFyY2goOCkuXG4iCisKKyN+IG1zZ2lkICIlcyAoJXMpXG4iCisjfiBtc2dzdHIgIiVzICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGVycm9yIG9uICVzIC0gY2Fubm90IHNlZWsgdG8gJWx1IgorI34gbXNnc3RyICJlcnJvcmUgZGkgcmljZXJjYSBzdSAlcyAtIGltcG9zc2liaWxlIHJpY2VyY2FyZSBhICVsdVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlZWsgZXJyb3I6IHdhbnRlZCAweCUwOHglMDh4LCBnb3QgMHglMDh4JTA4eCIKKyN+IG1zZ3N0ciAiZXJyb3JlIGRpIHJpY2VyY2E6IHNpIHZvbGV2YSAweCUwOHglMDh4LCBzaSDDqCBvdHRlbnV0byAweCUwOHglMDh4XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVhZCBlcnJvciBvbiAlcyAtIGNhbm5vdCByZWFkIHNlY3RvciAlbGx1IgorI34gbXNnc3RyICJlcnJvcmUgaW4gbGV0dHVyYSBzdSAlcyAtIGltcG9zc2liaWxlIGxlZ2dlcmUgaWwgc2V0dG9yZSAlbHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyAtIGNhbm5vdCB3cml0ZSBzZWN0b3IgJWxsdSIKKyN+IG1zZ3N0ciAiZXJyb3JlIGRpIHNjcml0dHVyYSBzdSAlcyAtIGltcG9zc2liaWxlIHNjcml2ZXJlIGlsIHNldHRvcmUgJWx1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHNlY3RvciBzYXZlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlIGlsIGZpbGUgZGkgc2FsdmF0YWdnaW8gc2V0dG9yZSBwYXJ0aXppb25lICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyIKKyN+IG1zZ3N0ciAiZXJyb3JlIGRpIHNjcml0dHVyYSBzdSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzdGF0IHBhcnRpdGlvbiByZXN0b3JlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgZXNlZ3VpcmUgc3RhdCBkZWwgZmlsZSBkaSByaXByaXN0aW5vIHBhcnRpemlvbmUgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiByZXN0b3JlIGZpbGUgaGFzIHdyb25nIHNpemUgLSBub3QgcmVzdG9yaW5nIgorI34gbXNnc3RyICJpbCBmaWxlIGRpIHJpcHJpc3Rpbm8gcGFydGl6aW9uZSBoYSB1bmEgZGltZW5zaW9uZSBlcnJhdGEgLSBpbCByaXByaXN0aW5vIG5vbiB2aWVuZSBlZmZldHR1YXRvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHJlc3RvcmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgaWwgZmlsZSBkaSByaXByaXN0aW5vIHBhcnRpemlvbmUgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHJlYWRpbmcgJXMiCisjfiBtc2dzdHIgImVycm9yZSBkdXJhbnRlIGxhIGxldHR1cmEgZGkgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBkZXZpY2UgJXMgZm9yIHdyaXRpbmciCisjfiBtc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSBpbCBkaXNwb3NpdGl2byAlcyBwZXIgc2NyaXZlcmVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciB3cml0aW5nIHNlY3RvciAlbHUgb24gJXMiCisjfiBtc2dzdHIgImVycm9yZSBkdXJhbnRlIGxhIHNjcml0dHVyYSBkZWwgc2V0dG9yZSAlbHUgc3UgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJEaXNrICVzOiBjYW5ub3QgZ2V0IGdlb21ldHJ5IgorI34gbXNnc3RyICJEaXNjbyAlczogaW1wb3NzaWJpbGUgb3R0ZW5lcmUgbGEgZ2VvbWV0cmlhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBzaXplIgorI34gbXNnc3RyICJEaXNjbyAlczogaW1wb3NzaWJpbGUgb3R0ZW5lcmUgbGEgZGltZW5zaW9uZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzdGFydD0lbHUgLSB0aGlzIGxvb2tzIGxpa2UgYSBwYXJ0aXRpb24gcmF0aGVyIHRoYW5cbiIKKyN+ICJ0aGUgZW50aXJlIGRpc2suIFVzaW5nIGZkaXNrIG9uIGl0IGlzIHByb2JhYmx5IG1lYW5pbmdsZXNzLlxuIgorI34gIltVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIGlmIHlvdSByZWFsbHkgd2FudCB0aGlzXSIKKyN+IG1zZ3N0ciAiIgorI34gIkF0dGVuemlvbmU6IGluaXppbz0lbHUgLSBzZW1icmEgdW5hIHBhcnRpemlvbmUgcGl1dHRvc3RvIGNoZVxuIgorI34gImwnaW50ZXJvIGRpc2NvLiBVdGlsaXp6YXJlIGZkaXNrIHN1IGRpIGVzc28gcHJvYmFiaWxtZW50ZSBub24gaGEgc2Vuc28uXG4iCisjfiAiW1V0aWxpenphcmUgbCdvcHppb25lIC0tZm9yY2Ugc2UgbG8gc2kgZGVzaWRlcmEgZGF2dmVyb11cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBIRElPX0dFVEdFTyBzYXlzIHRoYXQgdGhlcmUgYXJlICVsdSBoZWFkcyIKKyN+IG1zZ3N0ciAiQXR0ZW56aW9uZTogSERJT19HRVRHRU8gZGljZSBjaGUgdmkgc29ubyAlbHUgdGVzdGluZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IHNlY3RvcnMiCisjfiBtc2dzdHIgIkF0dGVuemlvbmU6IEhESU9fR0VUR0VPIGRpY2UgY2hlIHZpIHNvbm8gJWx1IHNldHRvcmlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBCTEtHRVRTSVpFL0hESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGN5bGluZGVycyIKKyN+IG1zZ3N0ciAiQXR0ZW56aW9uZTogQkxLR0VUU0laRS9IRElPX0dFVEdFTyBkaWNlIGNoZSB2aSBzb25vICVsdSBjaWxpbmRyaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiB1bmxpa2VseSBudW1iZXIgb2Ygc2VjdG9ycyAoJWx1KSAtIHVzdWFsbHkgYXQgbW9zdCA2M1xuIgorI34gIlRoaXMgd2lsbCBnaXZlIHByb2JsZW1zIHdpdGggYWxsIHNvZnR3YXJlIHRoYXQgdXNlcyBDL0gvUyBhZGRyZXNzaW5nLiIKKyN+IG1zZ3N0ciAiIgorI34gIkF0dGVuemlvbmU6IG51bWVybyBpbXByb2JhYmlsZSBkaSBzZXR0b3JpICglbHUpIC0gZGkgc29saXRvIHNvbm8gYWwgbWFzc2ltbyA2M1xuIgorI34gIlF1ZXN0byBjcmVlcsOgIHByb2JsZW1pIGNvbiBpIHNvZnR3YXJlIGNoZSB1dGlsaXp6YSBsJ2luZGlyaXp6YW1lbnRvIEMvSC9TLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsdSBjeWxpbmRlcnMsICVsdSBoZWFkcywgJWx1IHNlY3RvcnMvdHJhY2tcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2NvICVzOiAlbHUgY2lsaW5kcmksICVsdSB0ZXN0aW5lLCAlbHUgc2V0dG9yaS90cmFjY2lhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBoZWFkOiAlbHUgKHNob3VsZCBiZSBpbiAwLSVsdSkiCisjfiBtc2dzdHIgIiVzIGRlbGxhIHBhcnRpemlvbmUgJXMgaGEgdW4gdmFsb3JlIGltcG9zc2liaWxlIHBlciBsYSB0ZXN0aW5hOiAlbHUgKGRvdnJlYmJlIGVzc2VyZSBpbiAwLSVsdSlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIHNlY3RvcjogJWx1IChzaG91bGQgYmUgaW4gMS0lbHUpIgorI34gbXNnc3RyICIlcyBkZWxsYSBwYXJ0aXppb25lICVzIGhhIHVuIHZhbG9yZSBpbXBvc3NpYmlsZSBwZXIgaWwgc2V0dG9yZTogJWx1IChkb3ZyZWJiZSBlc3NlcmUgaW4gMS0lbHUpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBjeWxpbmRlcnM6ICVsdSAoc2hvdWxkIGJlIGluIDAtJWx1KSIKKyN+IG1zZ3N0ciAiJXMgZGVsbGEgcGFydGl6aW9uZSAlcyBoYSB1biB2YWxvcmUgaW1wb3NzaWJpbGUgcGVyIGkgY2lsaW5kcmk6ICVsdSAoZG92cmViYmUgZXNzZXJlIGluIDAtJWx1KVxuIgorCisjfiBtc2dpZCAiUmUtcmVhZGluZyB0aGUgcGFydGl0aW9uIHRhYmxlIC4uLlxuIgorI34gbXNnc3RyICJSaWxldHR1cmEgZGVsbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIGluIGNvcnNvLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlRoZSBjb21tYW5kIHRvIHJlLXJlYWQgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuXG4iCisjfiAiUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB5b3VyIHN5c3RlbSBub3csXG4iCisjfiAiYmVmb3JlIHVzaW5nIG1rZnMiCisjfiBtc2dzdHIgIiIKKyN+ICJJbCBjb21hbmRvIHBlciBsYSByaWxldHR1cmEgZGVsbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIG5vbiDDqCByaXVzY2l0b1xuIgorI34gIlJpYXZ2aWFyZSBhZGVzc28gaWwgc2lzdGVtYSBwcmltYSBkaSB1dGlsaXp6YXJlIG1rZnNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJFcnJvciBjbG9zaW5nICVzIgorI34gbXNnc3RyICJFcnJvcmUgZHVyYW50ZSBsYSBjaGl1c3VyYSBkaSAlc1xuIgorCisjfiBtc2dpZCAiJXM6IG5vIHN1Y2ggcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiVzOiBuZXNzdW5hIHBhcnRpemlvbmUgZGkgcXVlc3RvIHRpcG9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgZm9ybWF0IC0gdXNpbmcgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiZm9ybWF0byBub24gcmljb25vc2NpdXRvIC0gdXRpbGl6em8gZGVpIHNldHRvcmkgaW4gY29yc29cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmltcGxlbWVudGVkIGZvcm1hdCAtIHVzaW5nICVzIgorI34gbXNnc3RyICJmb3JtYXRvIG5vbiBpbXBsZW1lbnRhdG8gLSB1dGlsaXp6byBkaSAlcyBpbiBjb3Jzb1xuIgorCisjfiBtc2dpZCAic2VjdG9ycyIKKyN+IG1zZ3N0ciAic2V0dG9yaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IGN5bGluZGVycyBvZiAlbHUgYnl0ZXMsIGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVbml0w6AgPSBjaWxpbmRyaSBkaSAlbHUgYnl0ZSwgYmxvY2NoaSBkaSAxMDI0IGJ5dGUsIGNvbnRlZ2dpYW5kbyBkYSAlZFxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgIERldmljZSBCb290IFN0YXJ0ICAgICBFbmQgICAjY3lscyAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBEaXNwb3NpdGl2byBCb290IEluaXppbyAgICAgIEZpbmUgICAjY2lsaW4uICAgI2Jsb2NjaGkgICBJZCAgU2lzdGVtYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVbml0czogc2VjdG9ycyBvZiA1MTIgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVuaXTDoCA9IHNldHRvcmkgZGkgNTEyIGJ5dGUsIGNvbnRlZ2dpYW5kbyBkYSAlZFxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgIERldmljZSBCb290ICAgIFN0YXJ0ICAgICAgIEVuZCAgICNzZWN0b3JzICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiAgIERpc3Bvc2l0aXZvIEJvb3QgICAgSW5pemlvICAgICAgRmluZSAgI3NldHRvcmkgSWQgIFNpc3RlbWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVbml0w6AgPSBibG9jY2hpIGRpIDEwMjQgYnl0ZSwgY29udGVnZ2lhbmRvIGRhICVkXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgICBTdGFydCAgICAgICBFbmQgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAgRGlzcG9zaXRpdm8gIEJvb3QgIEluaXppbyAgICAgICBGaW5lICAjYmxvY2NoaSAgSWQgIFNpc3RlbWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IDFNaUIgPSAxMDI0KjEwMjQgYnl0ZXMsIGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVbml0w6AgPSBtZWJpYnl0ZSBkYSAxMDQ4NTc2IGJ5dGUsIGJsb2NjaGkgZGEgMTAyNCBieXRlLCBjb250YW5kbyBkYSAlZFxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgIERldmljZSBCb290IFN0YXJ0ICAgRW5kICAgIE1pQiAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBEaXNwb3NpdGl2byBJbml6aW8gQm9vdCAgIEZpbmUgICAgTUIgICAjYmxvY2NoaSAgSWQgIFNpc3RlbWFcbiIKKworI34gbXNnaWQgIlx0XHRzdGFydDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiXHRcdGluaXppbzogKGMsaCxzKSBwcmV2aXN0byAoJWxkLCVsZCwlbGQpIHRyb3ZhdG8gKCVsZCwlbGQsJWxkKVxuIgorCisjfiBtc2dpZCAiXHRcdGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiXHRcdGVuZGVuemE6IChjLGgscykgcHJldmlzdG8gKCVsZCwlbGQsJWxkKSB0cm92YXRvICglbGQsJWxkLCVsZClcbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiBlbmRzIG9uIGN5bGluZGVyICVsZCwgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGRpc2tcbiIKKyN+IG1zZ3N0ciAibGEgcGFydGl6aW9uZSB0ZXJtaW5hIHN1bCBjaWxpbmRybyAlbGQsIG9sdHJlIGxhIGZpbmUgZGVsIGRpc2NvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IFRoZSBwYXJ0aXRpb24gdGFibGUgbG9va3MgbGlrZSBpdCB3YXMgbWFkZVxuIgorI34gIiAgZm9yIEMvSC9TPSovJWxkLyVsZCAoaW5zdGVhZCBvZiAlbGQvJWxkLyVsZCkuXG4iCisjfiAiRm9yIHRoaXMgbGlzdGluZyBJJ2xsIGFzc3VtZSB0aGF0IGdlb21ldHJ5LiIKKyN+IG1zZ3N0ciAiIgorI34gIkF0dGVuemlvbmU6IGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBzZW1icmEgc2lhIHN0YXRhIGNyZWF0YVxuIgorI34gIiAgcGVyIEMvSC9TPSovJWxkLyVsZCAoYWwgcG9zdG8gZGkgJWxkLyVsZC8lbGQpLlxuIgorI34gIkluIHF1ZXN0byBlbGVuY28gdmVycsOgIGFzc3VudGEgdGFsZSBnZW9tZXRyaWEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibm8gcGFydGl0aW9uIHRhYmxlIHByZXNlbnQuIgorI34gbXNnc3RyICJuZXNzdW5hIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBwcmVzZW50ZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdHJhbmdlLCBvbmx5ICVkIHBhcnRpdGlvbnMgZGVmaW5lZC4iCisjfiBtc2dzdHIgInN0cmFubywgc29ubyBkZWZpbml0ZSBzb2xvICVkIHBhcnRpemlvbmkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYnV0IGlzIG5vdCBtYXJrZWQgRW1wdHkiCisjfiBtc2dzdHIgIkF0dGVuemlvbmU6IGxhIHBhcnRpemlvbmUgJXMgaGEgZGltZW5zaW9uZSAwIG1hIG5vbiDDqCBjb250cmFzc2VnbmF0YSBjb21lIHZ1b3RhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIGlzIGJvb3RhYmxlIgorI34gbXNnc3RyICJBdHRlbnppb25lOiBsYSBwYXJ0aXppb25lICVzIGhhIGRpbWVuc2lvbmUgMCBlZCDDqCBhdnZpYWJpbGVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBhbmQgbm9uemVybyBzdGFydCIKKyN+IG1zZ3N0ciAiQXR0ZW56aW9uZTogbGEgcGFydGl6aW9uZSAlcyBoYSBkaW1lbnNpb25lIDAgZSBpbml6aW8gbm9uIG51bGxvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGlzIG5vdCBjb250YWluZWQgaW4gcGFydGl0aW9uICVzIgorI34gbXNnc3RyICJub24gw6ggY29udGVudXRhIG5lbGxhIHBhcnRpemlvbmUgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb25zICVzIGFuZCAlcyBvdmVybGFwIgorI34gbXNnc3RyICJBdHRlbnppb25lOiBsYSBwYXJ0aXppb25lICVkIMOoIHZ1b3RhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBjb250YWlucyBwYXJ0IG9mIHRoZSBwYXJ0aXRpb24gdGFibGUgKHNlY3RvciAlbGx1KSxcbiIKKyN+ICJhbmQgd2lsbCBkZXN0cm95IGl0IHdoZW4gZmlsbGVkIgorI34gbXNnc3RyICIiCisjfiAiQXR0ZW56aW9uZTogbGEgcGFydGl6aW9uZSAlcyBjb250aWVuZSBwYXJ0ZSBkZWxsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmlcbiIKKyN+ICIoc2V0dG9yZSAlbHUpLCBlIGxhIGRpc3RydWdnZXLDoCBxdWFuZG8gdmllbmUgcmllbXBpdGEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIHN0YXJ0cyBhdCBzZWN0b3IgMCIKKyN+IG1zZ3N0ciAiQXR0ZW56aW9uZTogbGEgcGFydGl6aW9uZSAlcyBpbml6aWEgYWwgc2V0dG9yZSAwXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGV4dGVuZHMgcGFzdCBlbmQgb2YgZGlzayIKKyN+IG1zZ3N0ciAiQXR0ZW56aW9uZTogbGEgcGFydGl6aW9uZSAlcyBzaSBlc3RlbmRlIGRvcG8gbGEgZmluZSBkZWwgZGlzY29cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiQW1vbmcgdGhlIHByaW1hcnkgcGFydGl0aW9ucywgYXQgbW9zdCBvbmUgY2FuIGJlIGV4dGVuZGVkXG4iCisjfiAiIChhbHRob3VnaCB0aGlzIGlzIG5vdCBhIHByb2JsZW0gdW5kZXIgTGludXgpIgorI34gbXNnc3RyICIiCisjfiAiVHJhIGxlIHBhcnRpemlvbmkgcHJpbWFyaWUsIGFsIG1hc3NpbW8gdW5hIHB1w7IgZXNzZXJlIGVzdGVzYVxuIgorI34gIiAgKGFuY2hlIHNlIHF1ZXN0byBub24gw6ggdW4gcHJvYmxlbWEgcGVyIExpbnV4KVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5IgorI34gbXNnc3RyICJBdHRlbnppb25lOiBsYSBwYXJ0aXppb25lICVzIG5vbiBpbml6aWEgYWwgbGltaXRlIGRpIHVuIGNpbGluZHJvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGRvZXMgbm90IGVuZCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5IgorI34gbXNnc3RyICJBdHRlbnppb25lOiBsYSBwYXJ0aXppb25lICVzIG5vbiB0ZXJtaW5hIGFsIGxpbWl0ZSBkaSB1biBjaWxpbmRyb1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBtb3JlIHRoYW4gb25lIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZSAoYWN0aXZlKVxuIgorI34gIlRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLCBidXQgdGhlIERPUyBNQlIgd2lsbCBub3QgYm9vdCB0aGlzIGRpc2suIgorI34gbXNnc3RyICIiCisjfiAiQXR0ZW56aW9uZTogcGnDuSBkaSB1bmEgcGFydGl6aW9uZSBwcmltYXJpYSDDqCBjb250cmFzc2VnbmF0YSBjb21lIGF2dmlhYmlsZSAoYXR0aXZhKVxuIgorI34gIlF1ZXN0byBub24gaGEgaW1wb3J0YW56YSBwZXIgTElMTywgbWEgTUJSIERPUyBub24gYXZ2aWVyw6AgcXVlc3RvIGRpc2NvLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiB1c3VhbGx5IG9uZSBjYW4gYm9vdCBmcm9tIHByaW1hcnkgcGFydGl0aW9ucyBvbmx5XG4iCisjfiAiTElMTyBkaXNyZWdhcmRzIHRoZSBgYm9vdGFibGUnIGZsYWcuIgorI34gbXNnc3RyICIiCisjfiAiQXR0ZW56aW9uZTogZGkgc29saXRvIGwnYXZ2aW8gw6ggcG9zc2liaWxlIHNvbG8gZGEgcGFydGl6aW9uaSBwcmltYXJpZVxuIgorI34gIkxJTE8gbm9uIHByZW5kZSBpbiBjb25zaWRlcmF6aW9uZSBpbCBmbGFnIFwiYm9vdGFibGVcIiAoYXZ2aWFiaWxlKS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogbm8gcHJpbWFyeSBwYXJ0aXRpb24gaXMgbWFya2VkIGJvb3RhYmxlIChhY3RpdmUpXG4iCisjfiAiVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sIGJ1dCB0aGUgRE9TIE1CUiB3aWxsIG5vdCBib290IHRoaXMgZGlzay4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdHRlbnppb25lOiBuZXNzdW5hIHBhcnRpemlvbmUgcHJpbWFyaWEgw6ggY29udHJhc3NlZ25hdGEgY29tZSBhdnZpYWJpbGUgKGF0dGl2YSlcbiIKKyN+ICJRdWVzdG8gbm9uIGhhIGltcG9ydGFuemEgcGVyIExJTE8sIG1hIE1CUiBET1Mgbm9uIGF2dmllcsOgIHF1ZXN0byBkaXNjby5cbiIKKworI34gbXNnaWQgInN0YXJ0IgorI34gbXNnc3RyICJpbml6aW8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uICVzOiBzdGFydDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgInBhcnRpemlvbmUgJXM6IGluaXppbzogKGMsaCxzKSBwcmV2aXN0byAoJWxkLCVsZCwlbGQpIHRyb3ZhdG8gKCVsZCwlbGQsJWxkKVxuIgorCisjfiBtc2dpZCAiZW5kIgorI34gbXNnc3RyICJmaW5lIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiAlczogZW5kOiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKSIKKyN+IG1zZ3N0ciAiIHBhcnRpemlvbmUgJXM6IGZpbmU6IChjLGgscykgcHJldmlzdG8gKCVsZCwlbGQsJWxkKSB0cm92YXRvICglbGQsJWxkLCVsZClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgZW5kcyBvbiBjeWxpbmRlciAlbGQsIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBkaXNrIgorI34gbXNnc3RyICJsYSBwYXJ0aXppb25lICVzIHRlcm1pbmEgc3VsIGNpbGluZHJvICVsZCwgb2x0cmUgbGEgZmluZSBkZWwgZGlzY29cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogZXh0ZW5kZWQgcGFydGl0aW9uIGRvZXMgbm90IHN0YXJ0IGF0IGEgY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiAiRE9TIGFuZCBMaW51eCB3aWxsIGludGVycHJldCB0aGUgY29udGVudHMgZGlmZmVyZW50bHkuIgorI34gbXNnc3RyICIiCisjfiAiQXR0ZW56aW9uZTogbGEgcGFydGl6aW9uZSBlc3Rlc2Egbm9uIGluaXppYSBhbCBsaW1pdGUgZGkgdW4gY2lsaW5kcm8uXG4iCisjfiAiRE9TIGUgTGludXggaW50ZXJwcmV0ZXJhbm5vIGkgY29udGVudXRpIGluIG1vZG8gZGl2ZXJzby5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJFUlJPUjogc2VjdG9yICVsbHUgZG9lcyBub3QgaGF2ZSBhbiBtc2RvcyBzaWduYXR1cmUiCisjfiBtc2dzdHIgIkVSUk9SRTogaWwgc2V0dG9yZSAlbHUgbm9uIGhhIHVuYSBmaXJtYSBtc2Rvc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRvbyBtYW55IHBhcnRpdGlvbnMgLSBpZ25vcmluZyB0aG9zZSBwYXN0IG5yICglenUpIgorI34gbXNnc3RyICJ0cm9wcGUgcGFydGl6aW9uaSAtIHN0byBpZ25vcmFuZG8gcXVlaSBudW1lcmkgcGFzc2F0aSAoJWQpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHJlZSBvZiBwYXJ0aXRpb25zPyIKKyN+IG1zZ3N0ciAic3RydXR0dXJhIGRlbGxlIHBhcnRpemlvbmk/XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZGV0ZWN0ZWQgRGlzayBNYW5hZ2VyIC0gdW5hYmxlIHRvIGhhbmRsZSB0aGF0IgorI34gbXNnc3RyICJyaWxldmF0byBsJ2FtbWluaXN0cmF0b3JlIGRlbCBkaXNjbyAtIGltcG9zc2liaWxlIGRhIGdlc3RpcmVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJETTYgc2lnbmF0dXJlIGZvdW5kIC0gZ2l2aW5nIHVwIgorI34gbXNnc3RyICJ0cm92YXRhIGZpcm1hIERNNiAtIHRlcm1pbmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdHJhbmdlLi4uLCBhbiBleHRlbmRlZCBwYXJ0aXRpb24gb2Ygc2l6ZSAwPyIKKyN+IG1zZ3N0ciAic3RyYW5vLi4uLCB1bmEgcGFydGl6aW9uZSBlc3Rlc2EgZGkgZGltZW5zaW9uZSAwP1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInN0cmFuZ2UuLi4sIGEgQlNEIHBhcnRpdGlvbiBvZiBzaXplIDA/IgorI34gbXNnc3RyICJzdHJhbm8uLi4sIHVuYSBwYXJ0aXppb25lIEJTRCBkaSBkaW1lbnNpb25lIDA/XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLW4gZmxhZyB3YXMgZ2l2ZW46IE5vdGhpbmcgY2hhbmdlZCIKKyN+IG1zZ3N0ciAiZmxhZyAtbiBkYXRvOiBuZXNzdW5hIG1vZGlmaWNhXG4iCisKKyN+IG1zZ2lkICJGYWlsZWQgc2F2aW5nIHRoZSBvbGQgc2VjdG9ycyAtIGFib3J0aW5nXG4iCisjfiBtc2dzdHIgIlNhbHZhdGFnZ2lvIGRlaSB2ZWNjaGkgc2V0dG9yaSBub24gcml1c2NpdG8gLSBpbnRlcnJ1emlvbmUgaW4gY29yc29cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYWlsZWQgd3JpdGluZyB0aGUgcGFydGl0aW9uIG9uICVzIgorI34gbXNnc3RyICJTY3JpdHR1cmEgZGVsbGEgcGFydGl6aW9uZSBzdSAlcyBub24gcml1c2NpdGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsb25nIG9yIGluY29tcGxldGUgaW5wdXQgbGluZSAtIHF1aXR0aW5nIgorI34gbXNnc3RyICJsaW5lYSBkaSBpbnB1dCBsdW5nYSBvIGluY29tcGxldGEgLSB1c2NpdGEgaW4gY29yc29cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnB1dCBlcnJvcjogYD0nIGV4cGVjdGVkIGFmdGVyICVzIGZpZWxkIgorI34gbXNnc3RyICJlcnJvcmUgZGkgaW5wdXQ6IFwiPVwiIHByZXZpc3RvIGRvcG8gaWwgY2FtcG8gJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnB1dCBlcnJvcjogdW5leHBlY3RlZCBjaGFyYWN0ZXIgJWMgYWZ0ZXIgJXMgZmllbGQiCisjfiBtc2dzdHIgImVycm9yZSBkaSBpbnB1dDogY2FyYXR0ZXJlIG5vbiBwcmV2aXN0byAlYyBkb3BvIGlsIGNhbXBvICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGlucHV0OiAlcyIKKyN+IG1zZ3N0ciAiaW5wdXQgbm9uIHJpY29ub3NjaXV0bzogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJudW1iZXIgdG9vIGJpZyIKKyN+IG1zZ3N0ciAibnVtZXJvIHRyb3BwbyBncmFuZGVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmFpbGluZyBqdW5rIGFmdGVyIG51bWJlciIKKyN+IG1zZ3N0ciAic2Vnbmkgc3RyYW5pIGRvcG8gaWwgbnVtZXJvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibm8gcm9vbSBmb3IgcGFydGl0aW9uIGRlc2NyaXB0b3IiCisjfiBtc2dzdHIgIm5vbiBjJ8OoIHNwYXppbyBwZXIgaWwgZGVzY3JpdHRvcmUgZGkgcGFydGl6aW9uZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBidWlsZCBzdXJyb3VuZGluZyBleHRlbmRlZCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgImltcG9zc2liaWxlIGNvc3RpdHVpcmUgdW5hIHBhcnRpemlvbmUgZXN0ZXNhIGFkaWFjZW50ZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRvbyBtYW55IGlucHV0IGZpZWxkcyIKKyN+IG1zZ3N0ciAidHJvcHBpIGNhbXBpIGRpIGlucHV0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm8gcm9vbSBmb3IgbW9yZSIKKyN+IG1zZ3N0ciAiTm9uIGMnw6ggc3BhemlvIHBlciBhbHRyaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIklsbGVnYWwgdHlwZSIKKyN+IG1zZ3N0ciAiVGlwbyBub24gdmFsaWRvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogZ2l2ZW4gc2l6ZSAoJWxsdSkgZXhjZWVkcyBtYXggYWxsb3dhYmxlIHNpemUgKCVsbHUpIgorI34gbXNnc3RyICJBdHRlbnppb25lOiBsYSBkaW1lbnNpb25lIGluZGljYXRhICglbHUpIMOoIHN1cGVyaW9yZSBhbGxhIGRpbWVuc2lvbmUgbWFzc2ltYSBjb25zZW50aXRhICglbHUpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogZW1wdHkgcGFydGl0aW9uIgorI34gbXNnc3RyICJBdHRlbnppb25lOiBwYXJ0aXppb25lIHZ1b3RhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogYmFkIHBhcnRpdGlvbiBzdGFydCAoZWFybGllc3QgJWxsdSkiCisjfiBtc2dzdHIgIkF0dGVuemlvbmU6IGluaXppbyBwYXJ0aXppb25lIG5vbiB2YWxpZG8gKCVsdSB0cm9wcG8gYW50aWNpcGF0bylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgYm9vdGFibGUgZmxhZyAtIGNob29zZSAtIG9yICoiCisjfiBtc2dzdHIgImZsYWcgYXZ2aWFiaWxlIG5vbiByaWNvbm9zY2l1dG8gLSBzY2VnbGllcmUgLSBvICpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aWFsIGMsaCxzIHNwZWNpZmljYXRpb24/IgorI34gbXNnc3RyICJTcGVjaWZpY2F6aW9uZSBjLGgscyBwYXJ6aWFsZT9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gbm90IHdoZXJlIGV4cGVjdGVkIgorI34gbXNnc3RyICJwYXJ0aXppb25lIGVzdGVzYSBpbiBwb3NpemlvbmUgbm9uIHByZXZpc3RhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIGlucHV0IgorI34gbXNnc3RyICJpbnB1dCBub24gdmFsaWRvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidG9vIG1hbnkgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAidHJvcHBlIHBhcnRpemlvbmlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiSW5wdXQgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ7IGFic2VudCBmaWVsZHMgZ2V0IGEgZGVmYXVsdCB2YWx1ZS5cbiIKKyN+ICI8c3RhcnQ+IDxzaXplPiA8dHlwZSBbRSxTLEwsWCxoZXhdPiA8Ym9vdGFibGUgWy0sKl0+IDxjLGgscz4gPGMsaCxzPlxuIgorI34gIlVzdWFsbHkgeW91IG9ubHkgbmVlZCB0byBzcGVjaWZ5IDxzdGFydD4gYW5kIDxzaXplPiAoYW5kIHBlcmhhcHMgPHR5cGU+KS4iCisjfiBtc2dzdHIgIiIKKyN+ICJJbnB1dCBuZWwgc2VndWVudGUgZm9ybWF0bzsgcGVyIGkgY2FtcGkgbWFuY2FudGkgdmllbmUgaW1tZXNzbyB1biB2YWxvcmUgcHJlZGVmaW5pdG8uXG4iCisjfiAiPGluaXppbz4gPGRpbWVuc2lvbmU+IDx0aXBvIFtFLFMsTCxYLGVzYWRlY2ltYWxlXT4gPGF2dmlhYmlsZSBbLSwqXT4gPGNpbGluZHJvLHRlc3RpbmEsc2V0dG9yZT4gPGNpbGluZHJvLHRlc3RpbmEsc2V0dG9yZT5cbiIKKyN+ICJTb2xpdGFtZW50ZSDDqCBuZWNlc3NhcmlvIHNwZWNpZmljYXJlIHNvbGFtZW50ZSA8aW5pemlvPiBlIDxkaW1lbnNpb25lPiAoIGUgZm9yc2UgPHRpcG8+KS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+Li4uXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRhbmdlcm91cyBvcHRpb25zOlxuIgorI34gbXNnc3RyICJvcHppb25pIHBlcmljb2xvc2U6IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLWcsIC0tc2hvdy1nZW9tZXRyeSAgICAgICBwcmludCB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgZ2VvbWV0cnlcbiIKKyN+ICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBwcmludCBnZW9tZXRyeSBndWVzc2VkIGZyb20gdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIiCisjfiAiICAgIC1HIFtvIC0tc2hvdy1wdC1nZW9tZXRyeV06IHN0YW1wYSBsYSBnZW9tZXRyaWEgc3RpbWF0YSBpbiBiYXNlIGFsbGFcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLUEsIC0tYWN0aXZhdGVbPTxkZXZpY2U+XSBhY3RpdmF0ZSB0aGUgYm9vdGFibGUgZmxhZ1xuIgorI34gIiAtVSwgLS11bmhpZGVbPTxkZXZpY2U+XSAgIHNldCBwYXJ0aXRpb24gYXMgdW5oaWRkZW5cbiIKKyN+ICIgLXgsIC0tc2hvdy1leHRlbmRlZCAgICAgICBhbHNvIGxpc3QgZXh0ZW5kZWQgcGFydGl0aW9ucyBpbiB0aGUgb3V0cHV0LFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgZXhwZWN0IGRlc2NyaXB0b3JzIGZvciB0aGVtIGluIHRoZSBpbnB1dFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgIC14IFtvIC0tc2hvdy1leHRlbmRlZF06IGVsZW5jYSBhbmNoZSBsZSBwYXJ0aXppb25pIGVzdGVzZSBpbiBvdXRwdXRcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgbyBwcmV2ZWRlIGkgcmlzcGV0dGl2aSBkZXNjcml0dG9yaSBpbiBpbnB1dCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMlc2RldmljZSAgICAgICAgICAgIGxpc3QgYWN0aXZlIHBhcnRpdGlvbnMgb24gZGV2aWNlXG4iCisjfiBtc2dzdHIgIiVzIGRldmljZVx0XHQgZWxlbmNhIGxlIHBhcnRpemlvbmkgYXR0aXZlIHN1bCBkaXNwb3NpdGl2b1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyVzZGV2aWNlIG4xIG4yIC4uLiAgYWN0aXZhdGUgcGFydGl0aW9ucyBuMSAuLi4sIGluYWN0aXZhdGUgdGhlIHJlc3RcbiIKKyN+IG1zZ3N0ciAiJXMgZGV2aWNlIG4xIG4yIC4uLiBhdHRpdmEgbGUgcGFydGl6aW9uaSBuMSAuLi4sIGRpc2F0dGl2YSBpbCByZXN0b1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHBhcnRpdGlvbnMgYXJndW1lbnQiCisjfiBtc2dzdHIgIk51bWVybyBub24gdmFsaWRvOiAlc1xuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLXByaW50LWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyIgorI34gbXNnc3RyICJVc286IHNmZGlzayAtLXByaW50LWlkIG51bWVybyBwYXJ0aXppb25lIGRpc3Bvc2l0aXZvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLWNoYW5nZS1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciBJZCIKKyN+IG1zZ3N0ciAiVXNvOiBzZmRpc2sgLS1jaGFuZ2UtaWQgbnVtZXJvIHBhcnRpemlvbmUgZGlzcG9zaXRpdm8gSWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0taWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIgW0lkXSIKKyN+IG1zZ3N0ciAiVXNvOiBzZmRpc2sgLS1pZCBudW1lcm8gcGFydGl6aW9uZSBkaXNwb3NpdGl2byBbSWRdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2FuIHNwZWNpZnkgb25seSBvbmUgZGV2aWNlIChleGNlcHQgd2l0aCAtbCBvciAtcykiCisjfiBtc2dzdHIgIsOoIHBvc3NpYmlsZSBzcGVjaWZpY2FyZSBzb2xhbWVudGUgdW4gZGlzcG9zaXRpdm8oZWNjZXR0byBjb24gLWwgbyAtcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyByZWFkLXdyaXRlIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgJXMgaW4gbGV0dHVyYSBlIHNjcml0dHVyYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuICVzIGZvciByZWFkaW5nIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgJXMgaW4gbGV0dHVyYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBPSyIKKyN+IG1zZ3N0ciAiJXM6IE9LXG4iCisKKyN+IG1zZ2lkICIlczogJWxkIGN5bGluZGVycywgJWxkIGhlYWRzLCAlbGQgc2VjdG9ycy90cmFja1xuIgorI34gbXNnc3RyICIlczogJWxkIGNpbGluZHJpLCAlbGQgdGVzdGluZSwgJWxkIHNldHRvcmkvdHJhY2NpZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImJhZCBhY3RpdmUgYnl0ZTogMHgleCBpbnN0ZWFkIG9mIDB4ODAiCisjfiBtc2dzdHIgImJ5dGUgYXR0aXZvIG5vbiB2YWxpZG86IDB4JXggYWwgcG9zdG8gZGkgMHg4MFxuIgorCisjfiBtc2dpZCAiRG9uZSIKKyN+IG1zZ3N0ciAiRmluZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiWW91IGhhdmUgJWQgYWN0aXZlIHByaW1hcnkgcGFydGl0aW9ucy4gVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sXG4iCisjfiAiYnV0IHRoZSBET1MgTUJSIHdpbGwgb25seSBib290IGEgZGlzayB3aXRoIDEgYWN0aXZlIHBhcnRpdGlvbi4iCisjfiBtc2dzdHIgIiIKKyN+ICJDaSBzb25vICVkIHBhcnRpemlvbmkgcHJpbWFyaWUgYXR0aXZlLiBRdWVzdG8gw6ggaXJyZWxldmFudGUgcGVyIExJTE8sXG4iCisjfiAibWEgTUJSIERPUyAgYXZ2aWVyw6Agc29sYW1lbnRlIHVuIGRpc2NvIGNvbiAxIHBhcnRpemlvbmUgYXR0aXZhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiAlcyBoYXMgaWQgJXggYW5kIGlzIG5vdCBoaWRkZW4iCisjfiBtc2dzdHIgImxhIHBhcnRpemlvbmUgJXMgaGEgaWQgJXggZSBub24gw6ggbmFzY29zdGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCYWQgSWQgJWx4IgorI34gbXNnc3RyICJJZCBub24gdmFsaWRvICVseFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoaXMgZGlzayBpcyBjdXJyZW50bHkgaW4gdXNlLiIKKyN+IG1zZ3N0ciAiUXVlc3RvIGRpc2NvIMOoIGF0dHVhbG1lbnRlIGluIHVzby5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYXRhbCBlcnJvcjogY2Fubm90IGZpbmQgJXMiCisjfiBtc2dzdHIgIkVycm9yZSBpcnJldmVyc2liaWxlOiBpbXBvc3NpYmlsZSB0cm92YXJlICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJBdHRlbnppb25lOiAlcyBub24gw6ggdW4gZGlzcG9zaXRpdm8gYSBibG9jY2hpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiT0siCisjfiBtc2dzdHIgIk9LXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGRvZXMgbm90IGV4aXN0LCBjYW5ub3QgY2hhbmdlIGl0IgorI34gbXNnc3RyICJMYSBwYXJ0aXppb25lICVkIG5vbiBlc2lzdGUsIG5vbiDDqCBwb3NzaWJpbGUgbW9kaWZpY2FybGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiSSBkb24ndCBsaWtlIHRoZXNlIHBhcnRpdGlvbnMgLSBub3RoaW5nIGNoYW5nZWQuXG4iCisjfiAiKElmIHlvdSByZWFsbHkgd2FudCB0aGlzLCB1c2UgdGhlIC0tZm9yY2Ugb3B0aW9uLikiCisjfiBtc2dzdHIgIiIKKyN+ICJRdWVzdGUgcGFydGl6aW9uaSBub24gbWkgcGlhY2Npb25vIC0gbmVzc3VuYSBtb2RpZmljYVxuIgorI34gIihzZSBxdWVzdG8gw6ggcXVhbnRvIHNpIGRlc2lkZXJhLCB1dGlsaXp6YXJlIGwnb3B6aW9uZSAtLWZvcmNlLilcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJIGRvbid0IGxpa2UgdGhpcyAtIHByb2JhYmx5IHlvdSBzaG91bGQgYW5zd2VyIE5vIgorI34gbXNnc3RyICJRdWVzdG8gbm9uIG1pIHBpYWNlIC0gcHJvYmFiaWxtZW50ZSBzaSBkb3ZyZWJiZSByaXNwb25kZXJlIG5vXG4iCisKKyN+IG1zZ2lkICJBcmUgeW91IHNhdGlzZmllZCB3aXRoIHRoaXM/IFt5bnFdICIKKyN+IG1zZ3N0ciAiU29kZGlzZmF0dGkgZGkgcXVlc3RvPyBbeW5xXSAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUXVpdHRpbmcgLSBub3RoaW5nIGNoYW5nZWQiCisjfiBtc2dzdHIgIlVzY2l0YSBpbiBjb3JzbyAtIG5lc3N1bmEgbW9kaWZpY2FcbiIKKworI34gbXNnaWQgIlBsZWFzZSBhbnN3ZXIgb25lIG9mIHksbixxXG4iCisjfiBtc2dzdHIgIlNjZWdsaWVyZSB1bidvcHppb25lIHBlciBsYSByaXNwb3N0YSB0cmEgeSxuLHFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJTdWNjZXNzZnVsbHkgd3JvdGUgdGhlIG5ldyBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkxhIG51b3ZhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSDDqCBzdGF0YSBzY3JpdHRhIGNvbiBzdWNjZXNzb1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJJZiB5b3UgY3JlYXRlZCBvciBjaGFuZ2VkIGEgRE9TIHBhcnRpdGlvbiwgL2Rldi9mb283LCBzYXksIHRoZW4gdXNlIGRkKDEpXG4iCisjfiAidG8gemVybyB0aGUgZmlyc3QgNTEyIGJ5dGVzOiAgZGQgaWY9L2Rldi96ZXJvIG9mPS9kZXYvZm9vNyBicz01MTIgY291bnQ9MVxuIgorI34gIihTZWUgZmRpc2soOCkuKSIKKyN+IG1zZ3N0ciAiIgorI34gIlNlIMOoIHN0YXRhIGNyZWF0YSBvIG1vZGlmaWNhdGEgdW5hIHBhcnRpemlvbmUgRE9TLCAvZGV2L2ZvbzcsIHBlciBlc2VtcGlvLCB1dGlsaXp6YXJlIGRkKDEpXG4iCisjfiAiIHBlciBhenplcmFyZSBpIHByaW1pIDUxMiBieXRlOiBkZCBpZj0vZGV2L3plcm8gb2Y9L2Rldi9mb283IGJzPTUxMiBjb3VudD0xXG4iCisjfiAiKENvbnN1bHRhcmUgZmRpc2soOCkuKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgorI34gbXNnc3RyICIlczogTGUgb3B6aW9uaSAtLWFkanVzdCBlIC1ub2FkamZpbGUgc2kgZXNjbHVkb25vIHZpY2VuZGV2b2xtZW50ZS4gU29ubyBzdGF0ZSBzcGVjaWZpY2F0ZSBlbnRyYW1iZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueSBET1MgNi54IHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGZkaXNrIGRvY3VtZW50YXRpb24gZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQVRURU5aSU9ORTogaW4gY2FzbyBkaSBjcmVhemlvbmUgbyBtb2RpZmljYSBkaSBxdWFsc2lhc2lcbiIKKyN+ICJwYXJ0aXppb25lIERPUyA2LngsIGNvbnN1bHRhcmUgbGEgcGFnaW5hIGRlbCBtYW51YWxlIGNmZGlza1xuIgorI34gInBlciB1bHRlcmlvcmkgaW5mb3JtYXppb25pLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZpZWxkIGlzIHRvbyBsb25nIgorI34gbXNnc3RyICJpbCBjYW1wbyDDqCB0cm9wcG8gbHVuZ28uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6ICclYycgaXMgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIiVzOiAnJWMnIG5vbiDDqCBjb25zZW50aXRvLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiclYycgaXMgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIiclYycgbm9uIMOoIGNvbnNlbnRpdG8uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNvbnRyb2wgY2hhcmFjdGVycyBhcmUgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIiVzOiBOb24gc29ubyBhbW1lc3NpIGkgY2FyYXR0ZXJpIGRpIGNvbnRyb2xsby5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICJOb24gc29ubyBhbW1lc3NpIGkgY2FyYXR0ZXJpIGRpIGNvbnRyb2xsby5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcy4iCisjfiBtc2dzdHIgIiVzOiDDqCBwb3NzaWJpbGUgbW9kaWZpY2FyZSBzb2xvIGxlIHZvY2kgbG9jYWxpOyB1dGlsaXp6YXJlIGludmVjZSB5cCVzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBkZXRhaWxzIHNlZSBsc2xvZ2lucygxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBlciBtYWdnaW9yaSBpbmZvcm1hemlvbmkgdmVkZXJlIHNldGFyY2goOCkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3J5cHQoKSBmYWlsZWQiCisjfiBtc2dzdHIgIm1hbGxvYygpIG5vbiByaXVzY2l0YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDT01NQU5EIG5vdCBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJPcHppb25lIC0tZGF0ZSBub24gc3BlY2lmaWNhdGEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgVGhpcyBzbWFsbCB1c2FnZSBndWlkZVxuIgorI34gbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgT3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIHBhdGhuYW1lIFtwYXRobmFtZSAuLi5dXG4iCisjfiBtc2dzdHIgIlVzbzogbmFtZWkgWy1teF0gbm9tZSBwZXJjb3JzbyBbbm9tZSBwZXJjb3JzbyAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBuYW1laSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBlciBtYWdnaW9yaSBpbmZvcm1hemlvbmkgdmVkZXJlIHNldGFyY2goOCkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB3aXBlZnMoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQZXIgbWFnZ2lvcmkgaW5mb3JtYXppb25pIHZlZGVyZSBzZXRhcmNoKDgpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgdGFza3NldCgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBlciBtYWdnaW9yaSBpbmZvcm1hemlvbmkgdmVkZXJlIHNldGFyY2goOCkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGlzIHJlbW92YWJsZSBkZXZpY2UiCisjfiBtc2dzdHIgIiByaW1vdmliaWxlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIk9wemlvbmUgLS1kYXRlIG5vbiBzcGVjaWZpY2F0YS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0aW1lb3V0IGNhbm5vdCBiZSB6ZXJvIgorI34gbXNnc3RyICJtb3VudDogaW1wb3NzaWJpbGUgaW1wb3N0YXJlIGwnaWQgdXRlbnRlOiAlcyIKKworI34gbXNnaWQgIk5lZWQgdG8gaW5zZXJ0ICVkIHNlY29uZHMgYW5kIHJlZmVyIHRpbWUgYmFjayAlLjZmIHNlY29uZHMgYWdvXG4iCisjfiBtc2dzdHIgIsOIIG5lY2Vzc2FyaW8gaW5zZXJpcmUgJWQgc2Vjb25kaSBlIHJpcG9ydGFyZSBsJ29yYSBpbmRpZXRybyBkaSAlLjZmIHNlY29uZGlcbiIKKworI34gbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tIEtER0hXQ0xLIHRvIGNoYW5nZVxuIgorI34gbXNnc3RyICJBdHRlc2EgaW4gbG9vcCBwZXIgaWwgY2FtYmlvIG9yYSBkYSBLREdIV0NMS1xuIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgdG8gcmVhZCB0aW1lIGZhaWxlZCIKKyN+IG1zZ3N0ciAiTGV0dHVyYSBkZWxsJ29yYXJpbyBjb24gS0RHSFdDTEsgaW9jdGwgbm9uIHJpdXNjaXRhIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgdG8gcmVhZCB0aW1lIGZhaWxlZCBpbiBsb29wIgorI34gbXNnc3RyICJMZXR0dXJhIGRlbGwnb3JhcmlvIGNvbiBLREdIV0NMSyBpb2N0bCBub24gcml1c2NpdGEgbmVsIGxvb3AiCisKKyN+IG1zZ2lkICJpb2N0bCgpIGZhaWxlZCB0byByZWFkIHRpbWUgZnJvbSAlcyIKKyN+IG1zZ3N0ciAiaW9jdGwoKSBub24gw6ggcml1c2NpdG8gYSBsZWdnZXJlIGwnb3JhcmlvIGRhICVzIgorCisjfiBtc2dpZCAiaW9jdGwgS0RTSFdDTEsgZmFpbGVkIgorI34gbXNnc3RyICJpb2N0bCBLREdIV0NMSyBub24gcml1c2NpdG8iCisKKyN+IG1zZ2lkICJDYW4ndCBvcGVuIC9kZXYvdHR5MSBvciAvZGV2L3ZjLzEiCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGFwcmlyZSAvZGV2L3R0eTEgbyAvZGV2L3ZjLzEiCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgIiBLREdIV0NMSyBpb2N0bCBub24gcml1c2NpdG8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGRldGFpbHMgc2VlIGxzY3B1KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGVyIG1hZ2dpb3JpIGluZm9ybWF6aW9uaSB2ZWRlcmUgc2V0YXJjaCg4KS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJncy4uLl1cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBwcm9ncmFtbWEgW2FyZyAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSByZW5pY2UoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQZXIgbWFnZ2lvcmkgaW5mb3JtYXppb25pIHZlZGVyZSBzZXRhcmNoKDgpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyVzIFtvcHRpb25zXSBbcHJvZ3JhbSBbcHJvZ3JhbSBhcmd1bWVudHNdXVxuIgorI34gbXNnc3RyICJVc286ICVzIHByb2dyYW1tYSBbYXJnIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyN+IG1zZ2lkICIuLi5iYWNrIDEgcGFnZSIKKyN+IG1zZ3N0ciAiLi4uaW5kaWV0cm8gMSBwYWdpbmEiCisKKyN+IG1zZ2lkICIuLi5za2lwcGluZyBvbmUgbGluZSIKKyN+IG1zZ3N0ciAiLi4uc3RvIHNhbHRhbmRvIHVuYSByaWdhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcmV2KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGVyIG1hZ2dpb3JpIGluZm9ybWF6aW9uaSB2ZWRlcmUgc2V0YXJjaCg4KS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25dIGZpbGVcbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbiwgLS1uby1hcmd1bWVudCAgICAgICBvcHRpb24gZG9lcyBub3QgdXNlIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtciwgLS1yZXF1aXJlZCA8YXJnPiAgICBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAiJXM6IGwnb3B6aW9uZSByaWNoaWVkZSB1biBhcmdvbWVudG8gLS0gJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgIC0teHl6enkgICAgICAgICAgICAgYSBsb25nIG9wdGlvbiBvbmx5XG4iCisjfiBtc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBub24gc2NyaXZlIHJlYWxtZW50ZSBzdWwgZGlzY28iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc2VjdXRpdmUgbGluZXMgYXJlIGludGVuZGVkIGJ5IHR3byBzcGFjZXNcbiIKKyN+IG1zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1mLCAtLWZvb2JhciAgICAgICAgICAgIG5leHQgb3B0aW9uIGRlc2NyaXB0aW9uIHJlc2V0cyBpbmRlbnRcbiIKKyN+IG1zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1oICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscCB0ZXh0XG4iCisjfiBtc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLS12ZXJzaW9uXG4iCisjfiBtc2dzdHIgInZlcnNpb25lIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvbXBpbGVkIHdpdGhvdXQgLXggc3VwcG9ydCIKKyN+IG1zZ3N0ciAiJXM6IMOoIHN0YXRvIGNvbXBpbGF0byBzZW56YSBpbCBzdXBwb3J0byBwZXIgLXhcbiIKKworI34gbXNnaWQgIiVzOiBPdXQgb2YgbWVtb3J5IVxuIgorI34gbXNnc3RyICIlczogTWVtb3JpYSBlc2F1cml0YSFcbiIKKworI34gbXNnaWQgIlVudXNhYmxlIgorI34gbXNnc3RyICJJbnV0aWxpenphYmlsZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAiKEZpbGUgc3VjY2Vzc2l2bzogJXMpIgorCisjfiBtc2dpZCAiRGlzayBoYXMgYmVlbiBjaGFuZ2VkLlxuIgorI34gbXNnc3RyICJJbCBkaXNjbyDDqCBzdGF0byBjYW1iaWF0by5cbiIKKworI34gbXNnaWQgIlJlYm9vdCB0aGUgc3lzdGVtIHRvIGVuc3VyZSB0aGUgcGFydGl0aW9uIHRhYmxlIGlzIGNvcnJlY3RseSB1cGRhdGVkLlxuIgorI34gbXNnc3RyICJSaWF2dmlhcmUgaWwgc2lzdGVtYSBwZXIgYXNzaWN1cmFyc2kgY2hlIGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBzaWEgYWdnaW9ybmF0YSBjb3JyZXR0YW1lbnRlLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IElmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55XG4iCisjfiAiRE9TIDYueCBwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBjZmRpc2sgbWFudWFsXG4iCisjfiAicGFnZSBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkFUVEVOWklPTkU6IGluIGNhc28gZGkgY3JlYXppb25lIG8gbW9kaWZpY2EgZGkgcXVhbHNpYXNpXG4iCisjfiAicGFydGl6aW9uZSBET1MgNi54LCBjb25zdWx0YXJlIGxhIHBhZ2luYSBkZWwgbWFudWFsZSBjZmRpc2tcbiIKKyN+ICJwZXIgdWx0ZXJpb3JpIGluZm9ybWF6aW9uaS5cbiIKKworI34gbXNnaWQgIkZBVEFMIEVSUk9SIgorI34gbXNnc3RyICJFUlJPUkUgSVJSRVZFUlNJQklMRSIKKworI34gbXNnaWQgIlByZXNzIGFueSBrZXkgdG8gZXhpdCBjZmRpc2siCisjfiBtc2dzdHIgIlByZW1lcmUgcXVhbHNpYXNpIHRhc3RvIHBlciB1c2NpcmUgZGEgY2ZkaXNrIgorCisjfiBtc2dpZCAiQ2Fubm90IHNlZWsgb24gZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiUmljZXJjYSBzdWxsJ3VuaXTDoCBkaXNjbyBpbXBvc3NpYmlsZSIKKworI34gbXNnaWQgIkNhbm5vdCByZWFkIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGxlZ2dlcmUgbCd1bml0w6AgZGlzY28iCisKKyN+IG1zZ2lkICJDYW5ub3Qgd3JpdGUgZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgc2NyaXZlcmUgc3VsbCd1bml0w6AgZGlzY28iCisKKyN+IG1zZ2lkICJUb28gbWFueSBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJUcm9wcGUgcGFydGl6aW9uaSIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBiZWdpbnMgYmVmb3JlIHNlY3RvciAwIgorI34gbXNnc3RyICJMYSBwYXJ0aXppb25lIGluaXppYSBwcmltYSBkZWwgc2V0dG9yZSAwIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGVuZHMgYmVmb3JlIHNlY3RvciAwIgorI34gbXNnc3RyICJMYSBwYXJ0aXppb25lIHRlcm1pbmEgcHJpbWEgZGVsIHNldHRvcmUgMCIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBiZWdpbnMgYWZ0ZXIgZW5kLW9mLWRpc2siCisjfiBtc2dzdHIgIkxhIHBhcnRpemlvbmUgaW5pemlhIGRvcG8gbGEgZmluZSBkZWwgZGlzY28iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBhZnRlciBlbmQtb2YtZGlzayIKKyN+IG1zZ3N0ciAiTGEgcGFydGl6aW9uZSB0ZXJtaW5hIGRvcG8gbGEgZmluZSBkZWwgZGlzY28iCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgbm90IGluIGRpc2sgb3JkZXIiCisjfiBtc2dzdHIgImxlIHBhcnRpemlvbmkgbG9naWNoZSBub24gc29ubyBuZWxsJ29yZGluZSBkZWwgZGlzY28iCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAic292cmFwcG9zaXppb25lIGRlbGxlIHBhcnRpemlvbmkgbG9naWNoZSIKKworI34gbXNnaWQgImVubGFyZ2VkIGxvZ2ljYWwgcGFydGl0aW9ucyBvdmVybGFwIgorI34gbXNnc3RyICJzb3ZyYXBwb3NpemlvbmUgZGVsbGUgcGFydGl6aW9uaSBsb2dpY2hlIGFtcGxpYXRlIgorCisjfiBtc2dpZCAiISEhISBJbnRlcm5hbCBlcnJvciBjcmVhdGluZyBsb2dpY2FsIGRyaXZlIHdpdGggbm8gZXh0ZW5kZWQgcGFydGl0aW9uICEhISEiCisjfiBtc2dzdHIgIiEhISEgRXJyb3JlIGludGVybm8gZHVyYW50ZSBsYSBjcmVhemlvbmUgZGkgdW4ndW5pdMOgIGxvZ2ljYSBjb24gcGFydGl6aW9uZSBub24gZXN0ZXNhICEhISEiCisKKyN+IG1zZ2lkICJDYW5ub3QgY3JlYXRlIGxvZ2ljYWwgZHJpdmUgaGVyZSAtLSB3b3VsZCBjcmVhdGUgdHdvIGV4dGVuZGVkIHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGNyZWFyZSB1bid1bml0w6AgbG9naWNhIGluIHF1ZXN0byBjYXNvIC0gc2kgY3JlZXJlYmJlcm8gZHVlIHBhcnRpemlvbmkgZXN0ZXNlIgorCisjfiBtc2dpZCAiTWVudSBpdGVtIHRvbyBsb25nLiBNZW51IG1heSBsb29rIG9kZC4iCisjfiBtc2dzdHIgIlZvY2UgZGkgbWVuw7kgdHJvcHBvIGx1bmdhLiBJbCBtZW51IHB1w7IgYXBwYXJpcmUgc3RyYW5vLiIKKworI34gbXNnaWQgIklsbGVnYWwga2V5IgorI34gbXNnc3RyICJUYXN0byBub24gdmFsaWRvIgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICJDcmVhcmUgdW5hIG51b3ZhIHBhcnRpemlvbmUgcHJpbWFyaWEiCisKKyN+IG1zZ2lkICJDcmVhdGUgYSBuZXcgbG9naWNhbCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIkNyZWFyZSB1bmEgbnVvdmEgcGFydGl6aW9uZSBsb2dpY2EiCisKKyN+IG1zZ2lkICJDYW5jZWwiCisjfiBtc2dzdHIgIkFubnVsbGEiCisKKyN+IG1zZ2lkICJEb24ndCBjcmVhdGUgYSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIk5vbiBjcmVhcmUgdW5hIHBhcnRpemlvbmUiCisKKyN+IG1zZ2lkICIhISEgSW50ZXJuYWwgZXJyb3IgISEhIgorI34gbXNnc3RyICIhISEgRXJyb3JlIGludGVybm8gISEhIgorCisjfiBtc2dpZCAiU2l6ZSAoaW4gTUIpOiAiCisjfiBtc2dzdHIgIkRpbWVuc2lvbmUgKGluIE1CKTogIgorCisjfiBtc2dpZCAiQmVnaW5uaW5nIgorI34gbXNnc3RyICJJbml6aW8iCisKKyN+IG1zZ2lkICJBZGQgcGFydGl0aW9uIGF0IGJlZ2lubmluZyBvZiBmcmVlIHNwYWNlIgorI34gbXNnc3RyICJBZ2dpdW5nZXJlIGxhIHBhcnRpemlvbmUgYWxsJ2luaXppbyBkZWxsbyBzcGF6aW8gZGlzcG9uaWJpbGUiCisKKyN+IG1zZ2lkICJBZGQgcGFydGl0aW9uIGF0IGVuZCBvZiBmcmVlIHNwYWNlIgorI34gbXNnc3RyICJBZ2dpdW5nZXJlIGxhIHBhcnRpemlvbmUgYWxsYSBmaW5lIGRlbGxvIHNwYXppbyBkaXNwb25pYmlsZSIKKworI34gbXNnaWQgIk5vIHJvb20gdG8gY3JlYXRlIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIk5vbiBjJ8OoIHNwYXppbyBwZXIgY3JlYXJlIHVuYSBwYXJ0aXppb25lIGVzdGVzYSIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbiB0YWJsZS4gU3RhcnRpbmcgd2l0aCB6ZXJvIHRhYmxlLiIKKyN+IG1zZ3N0ciAiTmVzc3VuYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkuIFNpIGluaXppYSBjb24gdW5hIHRhYmVsbGEgdnVvdGEuIgorCisjfiBtc2dpZCAiQmFkIHNpZ25hdHVyZSBvbiBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIlNlZ25hdHVyYSBkYW5uZWdnaWF0YSBuZWxsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkiCisKKyN+IG1zZ2lkICJVbmtub3duIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorI34gbXNnc3RyICJUaXBvIGRpIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBzY29ub3NjaXV0byIKKworI34gbXNnaWQgIkRvIHlvdSB3aXNoIHRvIHN0YXJ0IHdpdGggYSB6ZXJvIHRhYmxlIFt5L05dID8iCisjfiBtc2dzdHIgIlNpIHZ1b2xlIGluaXppYXJlIGNvbiB1bmEgdGFiZWxsYSB2dW90YSBbeS9OXT8iCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBhcHJpcmUgbCd1bml0w6AgZGlzY28iCisKKyN+IG1zZ2lkICJPcGVuZWQgZGlzayByZWFkLW9ubHkgLSB5b3UgaGF2ZSBubyBwZXJtaXNzaW9uIHRvIHdyaXRlIgorI34gbXNnc3RyICJEaXNjbyBhcGVydG8gaW4gc29sYSBsZXR0dXJhIC0gc2NyaXR0dXJhIG5vbiBhdXRvcml6emF0YSIKKworI34gbXNnaWQgIkNhbm5vdCBnZXQgZGlzayBzaXplIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBvdHRlbmVyZSBsYSBkaW1lbnNpb25lIGRlbCBkaXNjbyIKKworI34gbXNnaWQgIkJhZCBwcmltYXJ5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiUGFydGl6aW9uZSBwcmltYXJpYSBkYW5uZWdnaWF0YSIKKworI34gbXNnaWQgIldhcm5pbmchISAgVGhpcyBtYXkgZGVzdHJveSBkYXRhIG9uIHlvdXIgZGlzayEiCisjfiBtc2dzdHIgIkF0dGVuemlvbmUhIEkgZGF0aSBzdWwgZGlzY28gcG90cmViYmVybyB2ZW5pcmUgZWxpbWluYXRpISIKKworI34gbXNnaWQgIlBsZWFzZSBlbnRlciBgeWVzJyBvciBgbm8nIgorI34gbXNnc3RyICJJbnNlcmlyZSBcInNpXCIgKHNlbnphIGFjY2VudG8pIG8gXCJub1wiIgorCisjfiBtc2dpZCAiV3JpdGluZyBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4uLiIKKyN+IG1zZ3N0ciAiU2NyaXR0dXJhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBzdSBkaXNjbyBpbiBjb3Jzby4uLiIKKworI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrIgorI34gbXNnc3RyICJFc2VndWl0YSBsJ29wZXJhemlvbmUgZGkgc2NyaXR0dXJhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBzdSBkaXNjbyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXcm90ZSBwYXJ0aXRpb24gdGFibGUsIGJ1dCByZS1yZWFkIHRhYmxlIGZhaWxlZC4gIFJ1biBwYXJ0cHJvYmUoOCksIGtwYXJ0eCg4KSBvciByZWJvb3QgdG8gdXBkYXRlIHRhYmxlLiIKKyN+IG1zZ3N0ciAiVGFiZWxsYSBzY3JpdHRhLCBtYSBsYSByaWxldHR1cmEgw6ggZmFsbGl0YS4gUmlhdnZpYXJlIHBlciBhZ2dpb3JuYXJlIGxhIHRhYmVsbGEuIgorCisjfiBtc2dpZCAiTm8gcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBtYXJrZWQgYm9vdGFibGUuIERPUyBNQlIgY2Fubm90IGJvb3QgdGhpcy4iCisjfiBtc2dzdHIgIiIKKyN+ICJOZXNzdW5hIHBhcnRpemlvbmUgcHJpbWFyaWEgw6ggaW1wb3N0YXRhIGNvbWUgYXZ2aWFiaWxlLiBET1MgTUJSIG5vbiBwdcOyXG4iCisjfiAiYXZ2aWFybGEuIgorCisjfiBtc2dpZCAiTW9yZSB0aGFuIG9uZSBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUuIERPUyBNQlIgY2Fubm90IGJvb3QgdGhpcy4iCisjfiBtc2dzdHIgIiIKKyN+ICJQacO5IGRpIHVuYSBwYXJ0aXppb25lIHByaW1hcmlhIMOoIGltcG9zdGF0YSBjb21lIGF2dmlhYmlsZS4gRE9TIE1CUiBub24gcHXDslxuIgorI34gImF2dmlhcmxhLiIKKworI34gbXNnaWQgIkVudGVyIGZpbGVuYW1lIG9yIHByZXNzIFJFVFVSTiB0byBkaXNwbGF5IG9uIHNjcmVlbjogIgorI34gbXNnc3RyICJJbnNlcmlyZSBpbCBub21lIGRlbCBmaWxlIG8gcHJlbWVyZSBSRVRVUk4gKElOVklPKSBwZXIgdmlzdWFsaXp6YXJlIHN1bGxvIHNjaGVybW86IgorCisjfiBtc2dpZCAiRGlzayBEcml2ZTogJXNcbiIKKyN+IG1zZ3N0ciAiVW5pdMOgIGRpc2NvOiAlc1xuIgorCisjfiBtc2dpZCAiU2VjdG9yIDA6XG4iCisjfiBtc2dzdHIgIlNldHRvcmUgMDpcbiIKKworI34gbXNnaWQgIlNlY3RvciAlZDpcbiIKKyN+IG1zZ3N0ciAiU2V0dG9yZSAlZDpcbiIKKworI34gbXNnaWQgIiAgIE5vbmUgICAiCisjfiBtc2dzdHIgIiAgIE5lc3N1bm8gICAiCisKKyN+IG1zZ2lkICIgICBQcmkvTG9nIgorI34gbXNnc3RyICIgICBQcmkvTG9nIgorCisjfiBtc2dpZCAiICAgUHJpbWFyeSIKKyN+IG1zZ3N0ciAiICAgUHJpbWFyaW8iCisKKyN+IG1zZ2lkICIgICBMb2dpY2FsIgorI34gbXNnc3RyICIgICBMb2dpY28iCisKKyN+IG1zZ2lkICIoJTAyWCkiCisjfiBtc2dzdHIgIiglMDJYKSIKKworI34gbXNnaWQgIk5vbmUiCisjfiBtc2dzdHIgIk5lc3N1bm8iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gVGFibGUgZm9yICVzXG4iCisjfiBtc2dzdHIgIlRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBwZXIgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgIyBUeXBlICAgICAgIFNlY3RvciAgICAgIFNlY3RvciAgIE9mZnNldCAgICBMZW5ndGggICBGaWxlc3lzdGVtIFR5cGUgKElEKSBGbGFnXG4iCisjfiBtc2dzdHIgIiAjIFRpcG8gICAgIHNldHRvcmUgICBzZXR0b3JlICAgb2Zmc2V0ICBsdW5naGV6emEgICB0aXBvIGRpIGZpbGVzeXN0ZW0gIChJRCkgICBmbGFnXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLVxuIgorI34gbXNnc3RyICItLSAtLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICMgRmxhZ3MgSGVhZCBTZWN0ICBDeWwgICBJRCAgSGVhZCBTZWN0ICBDeWwgICAgIFNlY3RvciAgICBTZWN0b3JzXG4iCisjfiBtc2dzdHIgIiAjIEZsYWcgdGVzdGluYSBzZXR0LiBjaWwuICAgSUQgIHRlc3RpbmEgc2V0dC4gY2lsLiAgICBzZXR0b3JlICBzZXR0b3JpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tXG4iCisjfiBtc2dzdHIgIi0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLS0tLS0gLS0tLS0tLS0tXG4iCisKKyN+IG1zZ2lkICJSYXciCisjfiBtc2dzdHIgIkdyZXp6byIKKworI34gbXNnaWQgIlByaW50IHRoZSB0YWJsZSB1c2luZyByYXcgZGF0YSBmb3JtYXQiCisjfiBtc2dzdHIgIlN0YW1wYXJlIGxhIHRhYmVsbGEgdXRpbGl6emFuZG8gaWwgZm9ybWF0byBkYXRpIGdyZXp6aSIKKworI34gbXNnaWQgIlByaW50IHRoZSB0YWJsZSBvcmRlcmVkIGJ5IHNlY3RvcnMiCisjfiBtc2dzdHIgIlN0YW1wYXJlIGxhIHRhYmVsbGEgb3JkaW5hdGEgcGVyIHNldHRvcmkiCisKKyN+IG1zZ2lkICJUYWJsZSIKKyN+IG1zZ3N0ciAiVGFiZWxsYSIKKworI34gbXNnaWQgIkp1c3QgcHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiU3RhbXBhcmUgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIgorCisjfiBtc2dpZCAiRG9uJ3QgcHJpbnQgdGhlIHRhYmxlIgorI34gbXNnc3RyICJOb24gc3RhbXBhcmUgbGEgdGFiZWxsYSIKKworI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMTk5NC0xOTk5IEtldmluIEUuIE1hcnRpbiAmIGFlYiIKKyN+IG1zZ3N0ciAiQ29weXJpZ2h0IChDKSAxOTk0LTE5OTkgS2V2aW4gRS4gTWFydGluICYgYWViIgorCisjfiBtc2dpZCAiICBnICAgICAgICAgIENoYW5nZSBjeWxpbmRlcnMsIGhlYWRzLCBzZWN0b3JzLXBlci10cmFjayBwYXJhbWV0ZXJzIgorI34gbXNnc3RyICIgZyAgICAgICAgICBjYW1iaW8gY2lsaW5kcmksIHRlc3RpbmUsIHBhcmFtZXRyaSBzZXR0b3JpLXBlci10cmFjY2lhIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFdBUk5JTkc6IFRoaXMgb3B0aW9uIHNob3VsZCBvbmx5IGJlIHVzZWQgYnkgcGVvcGxlIHdobyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgQVRURU5aSU9ORTogcXVlc3RhIG9wemlvbmUgZG92cmViYmUgZXNzZXJlIHV0aWxpenphdGEgc29sbyBkYSBwZXJzb25lIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGtub3cgd2hhdCB0aGV5IGFyZSBkb2luZy4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgIGVzcGVydGkuIgorCisjfiBtc2dpZCAiICBtICAgICAgICAgIE1heGltaXplIGRpc2sgdXNhZ2Ugb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorI34gbXNnc3RyICIgbSAgICAgICAgICBNYXNzaW1penphcmUgbCd1dGlsaXp6byBkZWwgZGlzY28gZGVsbGEgcGFydGl6aW9uZSBjb3JyZW50ZSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBOb3RlOiBUaGlzIG1heSBtYWtlIHRoZSBwYXJ0aXRpb24gaW5jb21wYXRpYmxlIHdpdGgiCisjfiBtc2dzdHIgIiAgICAgICAgICAgIE5vdGE6IHF1ZXN0byBwdcOyIHJlbmRlcmUgbGEgcGFydGl6aW9uZSBpbmNvbXBhdGliaWxlIGNvbiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBET1MsIE9TLzIsIC4uLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgRE9TLCBPUy8yLCAuLi4iCisKKyN+IG1zZ2lkICIgIHAgICAgICAgICAgUHJpbnQgcGFydGl0aW9uIHRhYmxlIHRvIHRoZSBzY3JlZW4gb3IgdG8gYSBmaWxlIgorI34gbXNnc3RyICIgcCAgICAgICAgICBTdGFtcGEgZGVsbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIHN1IHNjaGVybW8gbyBzdSBmaWxlIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFRoZXJlIGFyZSBzZXZlcmFsIGRpZmZlcmVudCBmb3JtYXRzIGZvciB0aGUgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICAgICAgICAgICBWaSBzb25vIGRpdmVyc2kgYWx0cmkgZm9ybWF0aSBwZXIgbGEgcGFydGl6aW9uZSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICB0aGF0IHlvdSBjYW4gY2hvb3NlIGZyb206IgorI34gbXNnc3RyICIgICAgICAgICAgICB0cmEgaSBxdWFsaSBzY2VnbGllcmU6IgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHIgLSBSYXcgZGF0YSAoZXhhY3RseSB3aGF0IHdvdWxkIGJlIHdyaXR0ZW4gdG8gZGlzaykiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgIHIgLSBkYXRpIGdyZXp6aSAoZXNhdHRhbWVudGUgY2nDsiBjaGUgdmVycmViYmUgc2NyaXR0byBzdWwgZGlzY28pIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHMgLSBUYWJsZSBvcmRlcmVkIGJ5IHNlY3RvcnMiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgIHMgLSBUYWJlbGxhIG9yZGluYXRhIHBlciBzZXR0b3JpIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHQgLSBUYWJsZSBpbiByYXcgZm9ybWF0IgorI34gbXNnc3RyICIgICAgICAgICAgICAgICB0IC0gVGFiZWxsYSBpbiBmb3JtYXRvIGdyZXp6byIKKworI34gbXNnaWQgIiAgdSAgICAgICAgICBDaGFuZ2UgdW5pdHMgb2YgdGhlIHBhcnRpdGlvbiBzaXplIGRpc3BsYXkiCisjfiBtc2dzdHIgIiB1ICAgICAgICAgIE1vZGlmaWNhIGwndW5pdMOgIGRpIHZpc3VhbGl6emF6aW9uZSBkZWxsYSBkaW1lbnNpb25lIGRlbGxhIHBhcnRpemlvbmUiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgUm90YXRlcyB0aHJvdWdoIE1CLCBzZWN0b3JzIGFuZCBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIiAgICAgICAgICAgIFJ1b3RhIGF0dHJhdmVyc28gTUIsIHNldHRvcmkgZSBjaWxpbmRyaSIKKworI34gbXNnaWQgIkNUUkwtTCAgICAgICBSZWRyYXdzIHRoZSBzY3JlZW4iCisjfiBtc2dzdHIgIkNUUkwtTCAgICAgICBSaWRpc2VnbmEgbG8gc2NoZXJtbyIKKworI34gbXNnaWQgIiAgPyAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKKyN+IG1zZ3N0ciAiICA/ICAgICAgICAgIFN0YW1wYSBxdWVzdGEgc2NoZXJtYXRhIgorCisjfiBtc2dpZCAiQ2hhbmdlIGN5bGluZGVyIGdlb21ldHJ5IgorI34gbXNnc3RyICJNb2RpZmljYSBsYSBnZW9tZXRyaWEgZGVpIGNpbGluZHJpIgorCisjfiBtc2dpZCAiQ2hhbmdlIGhlYWQgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIk1vZGlmaWNhIGxhIGdlb21ldHJpYSBkZWxsZSB0ZXN0aW5lIgorCisjfiBtc2dpZCAiQ2hhbmdlIHNlY3RvciBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiTW9kaWZpY2EgbGEgZ2VvbWV0cmlhIGRlaSBzZXR0b3JpIgorCisjfiBtc2dpZCAiRG9uZSB3aXRoIGNoYW5naW5nIGdlb21ldHJ5IgorI34gbXNnc3RyICJNb2RpZmljYSBkZWxsYSBnZW9tZXRyaWEgZXNlZ3VpdGEiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIGN5bGluZGVyczogIgorI34gbXNnc3RyICJJbW1ldHRlcmUgaWwgbnVtZXJvIGRpIGNpbGluZHJpOiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGN5bGluZGVycyB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmFsb3JlIGNpbGluZHJpIG5vbiB2YWxpZG8iCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIGhlYWRzOiAiCisjfiBtc2dzdHIgIkltbWV0dGVyZSBpbCBudW1lcm8gZGVsbGUgdGVzdGluZTogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBoZWFkcyB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmFsb3JlIHRlc3RpbmUgbm9uIHZhbGlkbyIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2s6ICIKKyN+IG1zZ3N0ciAiSW1tZXR0ZXJlIGlsIG51bWVybyBkZWkgc2V0dG9yaSBwZXIgdHJhY2NpYTogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBzZWN0b3JzIHZhbHVlIgorI34gbXNnc3RyICJWYWxvcmUgc2V0dG9yaSBub24gdmFsaWRvIgorCisjfiBtc2dpZCAiRW50ZXIgZmlsZXN5c3RlbSB0eXBlOiAiCisjfiBtc2dzdHIgIkltbWV0dGVyZSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW06ICIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgRlMgVHlwZSB0byBlbXB0eSIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgY2FtYmlhcmUgaWwgdGlwbyBGUyBpbiB2dW90byIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgRlMgVHlwZSB0byBleHRlbmRlZCIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgY2FtYmlhcmUgaWwgdGlwbyBGUyBpbiBlc3BhbnNvIgorCisjfiBtc2dpZCAiVW5rKCUwMlgpIgorI34gbXNnc3RyICJVbmsoJTAyWCkiCisKKyN+IG1zZ2lkICIsIE5DIgorI34gbXNnc3RyICIsIE5DIgorCisjfiBtc2dpZCAiTkMiCisjfiBtc2dzdHIgIk5DIgorCisjfiBtc2dpZCAiUHJpL0xvZyIKKyN+IG1zZ3N0ciAiUHJpL0xvZyIKKworI34gbXNnaWQgIlVua25vd24gKCUwMlgpIgorI34gbXNnc3RyICJTY29ub3NjaXV0byAoJTAyWCkiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlcyIKKyN+IG1zZ3N0ciAiVW5pdMOgIGRpc2NvOiAlcyIKKworI34gbXNnaWQgIlNpemU6ICVsbGQgYnl0ZXMsICVsbGQgTUIiCisjfiBtc2dzdHIgIkRpbWVuc2lvbmk6ICVsbGQgYnl0ZSwgJWxsZCBNQiIKKworI34gbXNnaWQgIlNpemU6ICVsbGQgYnl0ZXMsICVsbGQuJWxsZCBHQiIKKyN+IG1zZ3N0ciAiRGltZW5zaW9uaTogJWxsZCBieXRlLCAlbGxkLiVsbGQgR0IiCisKKyN+IG1zZ2lkICJIZWFkczogJWQgICBTZWN0b3JzIHBlciBUcmFjazogJWQgICBDeWxpbmRlcnM6ICVsbGQiCisjfiBtc2dzdHIgIlRlc3RpbmU6ICVkICAgU2V0dG9yaSBwZXIgdHJhY2NpYTogJWQgICBDaWxpbmRyaTogJWxsZCIKKworI34gbXNnaWQgIlBhcnQgVHlwZSIKKyN+IG1zZ3N0ciAiVGlwbyBwYXJ0LiIKKworI34gbXNnaWQgIkZTIFR5cGUiCisjfiBtc2dzdHIgIlRpcG8gRlMiCisKKyN+IG1zZ2lkICJbTGFiZWxdIgorI34gbXNnc3RyICJbRXRpY2hldHRhXSIKKworI34gbXNnaWQgIiAgICBTZWN0b3JzIgorI34gbXNnc3RyICIgICAgU2V0dG9yaSIKKworI34gbXNnaWQgIiAgQ3lsaW5kZXJzIgorI34gbXNnc3RyICIgIENpbGluZHJpIgorCisjfiBtc2dpZCAiICBTaXplIChNQikiCisjfiBtc2dzdHIgIiAgRGltLiAoTUIpIgorCisjfiBtc2dpZCAiICBTaXplIChHQikiCisjfiBtc2dzdHIgIiAgRGltLiAoR0IpIgorCisjfiBtc2dpZCAiTm8gbW9yZSBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJOZXNzdW4nYWx0cmEgcGFydGl6aW9uZSIKKworI34gbXNnaWQgIkNoYW5nZSBkaXNrIGdlb21ldHJ5IChleHBlcnRzIG9ubHkpIgorI34gbXNnc3RyICJNb2RpZmljYSBkZWxsYSBnZW9tZXRyaWEgZGVsIGRpc2NvIChzb2xvIHBlciBlc3BlcnRpKSIKKworI34gbXNnaWQgIk1heGltaXplIgorI34gbXNnc3RyICJNYXNzaW1pLiIKKworI34gbXNnaWQgIk1heGltaXplIGRpc2sgdXNhZ2Ugb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIChleHBlcnRzIG9ubHkpIgorI34gbXNnc3RyICJNYXNzaW1penphIGwndXRpbGl6em8gZGVsIGRpc2NvIGRlbGxhIHBhcnRpemlvbmUgY29ycmVudGUgKHNvbG8gcGVyIGVzcGVydGkpIgorCisjfiBtc2dpZCAiUHJpbnQiCisjfiBtc2dzdHIgIlN0YW1wYSIKKworI34gbXNnaWQgIkNoYW5nZSB0aGUgZmlsZXN5c3RlbSB0eXBlIChET1MsIExpbnV4LCBPUy8yIGFuZCBzbyBvbikiCisjfiBtc2dzdHIgIk1vZGlmaWNhIGlsIHRpcG8gZGkgZmlsZXN5c3RlbSAoRE9TLCBMaW51eCwgT1MvMiwgZWNjLikiCisKKyN+IG1zZ2lkICJVbml0cyIKKyN+IG1zZ3N0ciAiVW5pdMOgIgorCisjfiBtc2dpZCAiQ2hhbmdlIHVuaXRzIG9mIHRoZSBwYXJ0aXRpb24gc2l6ZSBkaXNwbGF5IChNQiwgc2VjdCwgY3lsKSIKKyN+IG1zZ3N0ciAiQ2FtYmlhIGwndW5pdMOgIGRpIHZpc3VhbGl6emF6aW9uZSBkZWxsYSBkaW1lbnNpb25lIGRlbGxhIHBhcnRpemlvbmUgKE1CLCBzZXR0LiwgY2lsLikiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWFrZSB0aGlzIHBhcnRpdGlvbiBib290YWJsZSIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgcmVuZGVyZSBxdWVzdGEgcGFydGl6aW9uZSBhdnZpYWJpbGUiCisKKyN+IG1zZ2lkICJDYW5ub3QgZGVsZXRlIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgY2FuY2VsbGFyZSB1bmEgcGFydGl6aW9uZSB2dW90YSIKKworI34gbXNnaWQgIkNhbm5vdCBtYXhpbWl6ZSB0aGlzIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgbWFzc2ltaXp6YXJlIHF1ZXN0YSBwYXJ0aXppb25lIgorCisjfiBtc2dpZCAiVGhpcyBwYXJ0aXRpb24gaXMgdW51c2FibGUiCisjfiBtc2dzdHIgIlF1ZXN0YSBwYXJ0aXppb25lIMOoIHV0aWxpenphYmlsZSIKKworI34gbXNnaWQgIlRoaXMgcGFydGl0aW9uIGlzIGFscmVhZHkgaW4gdXNlIgorI34gbXNnc3RyICJRdWVzdGEgcGFydGl6aW9uZSDDqCBnacOgIGluIHVzbyIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdGhlIHR5cGUgb2YgYW4gZW1wdHkgcGFydGl0aW9uIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBtb2RpZmljYXJlIGlsIHRpcG8gZGkgdW5hIHBhcnRpemlvbmUgdnVvdGEiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGNvbW1hbmQiCisjfiBtc2dzdHIgIkNvbWFuZG8gbm9uIHZhbGlkbyIKKworI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMTk5NC0yMDAyIEtldmluIEUuIE1hcnRpbiAmIGFlYlxuIgorI34gbXNnc3RyICJDb3B5cmlnaHQgKEMpIDE5OTQtMjAwMiBLZXZpbiBFLiBNYXJ0aW4gJiBhZWJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWgsIC0taGVhZHMgPG51bWJlcj4gICAgICBzZXQgdGhlIG51bWJlciBvZiBoZWFkcyB0byB1c2VcbiIKKyN+IG1zZ3N0ciAiICAgIC1IIyBbbyAtLWhlYWRzICNdOiAgICBpbXBvc3RhIGlsIG51bWVybyBkaSB0ZXN0aW5lIGRhIHV0aWxpenphcmUiCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIywgZnV6enkKKyN+IG1zZ2lkICIgLWcsIC0tZ3Vlc3MgICAgICAgICAgICAgICBndWVzcyBhIGdlb21ldHJ5IGZyb20gcGFydGl0aW9uIHRhYmxlXG4iCisjfiBtc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtUCwgLS1wcmludCA8cnxzfHQ+ICAgICAgIHByaW50IHBhcnRpdGlvbiB0YWJsZSBpbiBzcGVjaWZpZWQgZm9ybWF0XG4iCisjfiBtc2dzdHIgIiBwICAgICAgICAgIFN0YW1wYSBkZWxsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgc3Ugc2NoZXJtbyBvIHN1IGZpbGUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1hLCAtLWFycm93ICAgICAgICAgICAgICAgdXNlIGFycm93IGZvciBoaWdobGlnaHRpbmcgdGhlIGN1cnJlbnQgcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiBkICAgICAgICAgIEVsaW1pbmEgbGEgcGFydGl6aW9uZSBjb3JyZW50ZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgbnVtYmVyIG9mIGN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICAgYyAgIG1vZGlmaWNhIGRlbCBudW1lcm8gZGkgY2lsaW5kcmkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBoZWFkcyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2Ygc2VjdG9ycyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgIGUgICBleHRlbmRlZCIKKyN+IG1zZ3N0ciAiIGUgICBlc3Rlc2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTnIiCisjfiBtc2dzdHIgIk5DIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNlYyIKKyN+IG1zZ3N0ciAiSW1wb3N0YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGlzIGRvZXNuJ3QgbG9vayBsaWtlIGEgcGFydGl0aW9uIHRhYmxlLiBQcm9iYWJseSB5b3Ugc2VsZWN0ZWQgdGhlIHdyb25nIGRldmljZS4iCisjfiBtc2dzdHIgIiIKKyN+ICJRdWVzdGEgbm9uIHNlbWJyYSB1bmEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pLlxuIgorI34gIlByb2JhYmlsbWVudGUgw6ggc3RhdG8gc2NlbHRvIGlsIGRpc3Bvc2l0aXZvIHNiYWdsaWF0by5cbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCbG9ja3MgIgorI34gbXNnc3RyICJibG9jY2hpICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNlY3RvciIKKyN+IG1zZ3N0ciAiU2V0dG9yaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJZb3Ugd2lsbCBnZXQgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKKyN+IG1zZ3N0ciAiU2kgYXZyw6AgdW5hIHNvdnJhcHBvc2l6aW9uZSBkaSBwYXJ0aXppb25pIHN1bCBkaXNjby4gUmlzb2x2ZXJlIGFueml0dXR0byBxdWVzdG8gcHJvYmxlbWEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmxhZyIKKyN+IG1zZ3N0ciAiRmxhZyIKKworI34gbXNnaWQgIndhcm5pbmc6IGVycm9yIHJlYWRpbmcgJXM6ICVzIgorI34gbXNnc3RyICJhdHRlbnppb25lOiBlcnJvcmUgZHVyYW50ZSBsYSBsZXR0dXJhIGRpICVzOiAlcyIKKworI34gbXNnaWQgIndhcm5pbmc6IGNhbid0IG9wZW4gJXM6ICVzIgorI34gbXNnc3RyICJhdHRlbnppb25lOiBpbXBvc3NpYmlsZSBhcHJpcmUgJXM6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNvdWxkIG5vdCBvcGVuICVzIC0gdXNpbmcgJXMgaW5zdGVhZFxuIgorI34gbXNnc3RyICJtb3VudDogaW1wb3NzaWJpbGUgYXByaXJlICVzIC0gc2kgc3RhIHV0aWxpenphbmRvIGFsIHN1byBwb3N0byAlc1xuIgorCisjfiBtc2dpZCAiY2FuJ3QgY3JlYXRlIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgY3JlYXJlIHVuIGZpbGUgZGkgbG9jayAlczogJXMgKHVzYXJlIGlsIGZsYWcgLW4gcGVyIGNhbWJpYXJlKSIKKworI34gbXNnaWQgImNhbid0IGxpbmsgbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBjb2xsZWdhcmUgaWwgZmlsZSBkaSBsb2NrICVzOiAlcyAgKHVzYXJlIGlsIGZsYWcgLW4gcGVyIGNhbWJpYXJlKSIKKworI34gbXNnaWQgImNhbid0IG9wZW4gbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgaWwgZmlsZSBkaSBsb2NrICVzOiAlcyAodXNhcmUgZmxhZyAtbiBwZXIgY2FtYmlhcmUpIgorCisjfiBtc2dpZCAiQ2FuJ3QgbG9jayBsb2NrIGZpbGUgJXM6ICVzXG4iCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGZhcmUgaWwgbG9jayBkZWwgZmlsZSBkaSBsb2NrICVzOiAlc1xuIgorCisjfiBtc2dpZCAiY2FuJ3QgbG9jayBsb2NrIGZpbGUgJXM6ICVzIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBmYXJlIGlsIGxvY2sgZGVsIGZpbGUgZGkgbG9jayAlczogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiQ2Fubm90IGNyZWF0ZSBsaW5rICVzXG4iCisjfiAiUGVyaGFwcyB0aGVyZSBpcyBhIHN0YWxlIGxvY2sgZmlsZT9cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkltcG9zc2liaWxlIGNyZWFyZSBpbCBjb2xsZWdhbWVudG8gJXNcbiIKKyN+ICJGb3JzZSBjJ8OoIHVuIHZlY2NoaW8gZmlsZSBkaSBsb2NrP1xuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgKCVzKSAtIG10YWIgbm90IHVwZGF0ZWQiCisjfiBtc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAlcyAoJXMpIC0gbXRhYiBub24gYWdnaW9ybmF0byIKKworI34gbXNnaWQgImVycm9yIHdyaXRpbmcgJXM6ICVzIgorI34gbXNnc3RyICJlcnJvcmUgZHVyYW50ZSBsYSBzY3JpdHR1cmEgZGkgJXM6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYW5ub3QgZmZsdXNoIGNoYW5nZXM6ICVzIgorI34gbXNnc3RyICIlczogaW1wb3NzaWJpbGUgZWZmZXR0dWFyZSBzdGF0IGRpICVzOiAlc1xuIgorCisjfiBtc2dpZCAiZXJyb3IgY2hhbmdpbmcgbW9kZSBvZiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiZXJyb3JlIGR1cmFudGUgaWwgY2FtYmlhbWVudG8gZGVsbGEgbW9kYWxpdMOgIGRpICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIGNoYW5naW5nIG93bmVyIG9mICVzOiAlc1xuIgorI34gbXNnc3RyICJlcnJvcmUgZHVyYW50ZSBpbCBjYW1iaWFtZW50byBkZWxsYSBtb2RhbGl0w6AgZGkgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJjYW4ndCByZW5hbWUgJXMgdG8gJXM6ICVzXG4iCisjfiBtc2dzdHIgImltcG9zc2liaWxlIHJpbm9taW5hcmUgJXMgaW4gJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IHRyYW5zbGF0ZWQgJXMgJyVzJyB0byAnJXMnXG4iCisjfiBtc2dzdHIgIm1vdW50OiBpbXBvc3NpYmlsZSB0cm92YXJlICVzIGluICVzIG8gJXMiCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IHNlY29uZG8gbXRhYiwgJXMgw6ggZ2nDoCBtb250YXRvIHN1ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBtb3VudGVkIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogc2Vjb25kbyBtdGFiLCAlcyDDqCBtb250YXRvIHN1ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IG9wZW4gJXMgZm9yIHdyaXRpbmc6ICVzIgorI34gbXNnc3RyICJtb3VudDogaW1wb3NzaWJpbGUgYXByaXJlICVzIGluIHNjcml0dHVyYTogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogZXJyb3Igd3JpdGluZyAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBlcnJvcmUgZHVyYW50ZSBsYSBzY3JpdHR1cmEgZGkgJXM6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIGNoYW5naW5nIG1vZGUgb2YgJXM6ICVzIgorI34gbXNnc3RyICJtb3VudDogZXJyb3JlIGR1cmFudGUgaWwgY2FtYmlvIGRpIG1vZGFsaXTDoCBkaSAlczogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDogaW1wb3NzaWJpbGUgaW1wb3N0YXJlIGwnaWQgZGkgZ3J1cHBvOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCB1c2VyIGlkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IGltcG9zc2liaWxlIGltcG9zdGFyZSBsJ2lkIHV0ZW50ZTogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IGZvcms6ICVzIgorI34gbXNnc3RyICJtb3VudDogaW1wb3NzaWJpbGUgZWZmZXR0dWFyZSBpbCBmb3JrOiAlcyIKKworI34gbXNnaWQgIlRyeWluZyAlc1xuIgorI34gbXNnc3RyICJQcm92YSBkaSAlcyBpbiBjb3Jzb1xuIgorCisjfiBtc2dpZCAibW91bnQ6IHlvdSBkaWRuJ3Qgc3BlY2lmeSBhIGZpbGVzeXN0ZW0gdHlwZSBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG5vbiBzaSDDqCBzcGVjaWZpY2F0byB1biB0aXBvIGRpIGZpbGVzeXN0ZW0gcGVyICVzXG4iCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSBhbGwgdHlwZXMgbWVudGlvbmVkIGluICVzIG9yICVzXG4iCisjfiBtc2dzdHIgIiAgICAgIFByb3ZlcsOyIHR1dHRpIGkgdGlwaSBjaXRhdGkgaW4gJXMgbyAlc1xuIgorCisjfiBtc2dpZCAiICAgICAgIGFuZCBpdCBsb29rcyBsaWtlIHRoaXMgaXMgc3dhcHNwYWNlXG4iCisjfiBtc2dzdHIgIiAgICAgIGUgc2VtYnJhIGNoZSBxdWVzdG8gc2lhIHN3YXBzcGFjZVxuIgorCisjfiBtc2dpZCAiICAgICAgIEkgd2lsbCB0cnkgdHlwZSAlc1xuIgorI34gbXNnc3RyICIgICAgICBQcm92ZXLDsiBpbCB0aXBvICVzXG4iCisKKyN+IG1zZ2lkICIlcyBsb29rcyBsaWtlIHN3YXBzcGFjZSAtIG5vdCBtb3VudGVkIgorI34gbXNnc3RyICIlcyBhc3NvbWlnbGEgYSBzd2Fwc3BhY2UgLSBub24gbW9udGF0byIKKworI34gbXNnaWQgIm1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAibW91bnQgbm9uIHJpdXNjaXRvIgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiBzb2xhbWVudGUgcm9vdCBwdcOyIG1vbnRhcmUgJXMgc3UgJXMiCisKKyN+IG1zZ2lkICJtb3VudDogbG9vcCBkZXZpY2Ugc3BlY2lmaWVkIHR3aWNlIgorI34gbXNnc3RyICJtb3VudDogbG9vcCBkZXZpY2Ugc3BlY2lmaWNhdG8gZHVlIHZvbHRlIgorCisjfiBtc2dpZCAibW91bnQ6IHR5cGUgc3BlY2lmaWVkIHR3aWNlIgorI34gbXNnc3RyICJtb3VudDogdGlwbyBzcGVjaWZpY2F0byBkdWUgdm9sdGUiCisKKyN+IG1zZ2lkICJtb3VudDogc2tpcHBpbmcgdGhlIHNldHVwIG9mIGEgbG9vcCBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHNpIGlnbm9yYSBsJ2ltcG9zdGF6aW9uZSBkaSB1biBsb29wIGRldmljZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBlbmFibGluZyBhdXRvY2xlYXIgbG9vcGRldiBmbGFnXG4iCisjfiBtc2dzdHIgIm1vdW50OiBzaSBpbnRlbmRlIHV0aWxpenphcmUgaWwgbG9vcCBkZXZpY2UgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogaW52YWxpZCBvZmZzZXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIlZhbG9yZSBpbXBvc3RhdG8gbm9uIHZhbGlkbzogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogaW52YWxpZCBzaXplbGltaXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIlZhbG9yZSBpbXBvc3RhdG8gbm9uIHZhbGlkbzogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIGFzIGxvb3AiCisjfiBtc2dzdHIgIm1vdW50OiBzZWNvbmRvIG10YWIsICVzIMOoIGdpw6AgbW9udGF0byBzdSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGRldiBjb250ZXh0IgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byB1c2UgJXMgZGV2aWNlIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSByaWF2dm9sZ2VyZSBpbCBkaXNwb3NpdGl2byBzd2FwIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gZm91bmQgZnJlZSBsb29wIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IG1hbmNhdGEgaW1wb3N0YXppb25lIGRlbCBsb29wIGRldmljZVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGdvaW5nIHRvIHVzZSB0aGUgbG9vcCBkZXZpY2UgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHNpIGludGVuZGUgdXRpbGl6emFyZSBpbCBsb29wIGRldmljZSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiAlczogZmFpbGVkIHRvIHNldCBsb29wZGV2IGF0dHJpYnV0ZXMiCisjfiBtc2dzdHIgIm1vdW50OiBtYW5jYXRhIGltcG9zdGF6aW9uZSBkZWwgbG9vcCBkZXZpY2VcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogJXM6IGZhaWxlZCBzZXR0aW5nIHVwIGxvb3AgZGV2aWNlOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IG1hbmNhdGEgaW1wb3N0YXppb25lIGRlbCBsb29wIGRldmljZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBzdG9sZW4gbG9vcD0lcyIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogc2V0dXAgbG9vcCBkZXZpY2Ugc3VjY2Vzc2Z1bGx5XG4iCisjfiBtc2dzdHIgIm1vdW50OiBpbXBvc3RhemlvbmUgZGVsIGxvb3AgZGV2aWNlIHJpdXNjaXRhXG4iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gJXMgZm91bmQgLSBjcmVhdGluZyBpdC4uXG4iCisjfiBtc2dzdHIgIm1vdW50OiBuZXNzdW4gJXMgdHJvdmF0byAtIGNyZWF6aW9uZSBpbiBjb3Jzby4uLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBvcGVuICVzIGZvciBzZXR0aW5nIHNwZWVkIgorI34gbXNnc3RyICJtb3VudDogaW1wb3NzaWJpbGUgYXByaXJlICVzIHBlciBpbXBvc3RhcmUgbGEgdmVsb2NpdMOgIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHNwZWVkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IGltcG9zc2liaWxlIGltcG9zdGFyZSBsYSB2ZWxvY2l0w6A6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHNlY29uZG8gbXRhYiwgJXMgw6ggZ2nDoCBtb250YXRvIHN1ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IHdhcm5pbmc6ICVzIHNlZW1zIHRvIGJlIG1vdW50ZWQgcmVhZC13cml0ZS5cbiIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBvY2N1cGF0byAtIHJpbW9udGF0byBzb2xhIGxldHR1cmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogJXMgc2VlbXMgdG8gYmUgbW91bnRlZCByZWFkLW9ubHkuXG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgb2NjdXBhdG8gLSByaW1vbnRhdG8gc29sYSBsZXR0dXJhXG4iCisKKyN+IG1zZ2lkICJtb3VudDogSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW50OiBpbXBvc3NpYmlsZSBkZXRlcm1pbmFyZSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW0sIGUgbm9uIMOoIHN0YXRvIHNwZWNpZmljYXRvIG5lc3N1bm8iCisKKyN+IG1zZ2lkICJtb3VudDogeW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorI34gbXNnc3RyICJtb3VudDogc2kgZGV2ZSBzcGVjaWZpY2FyZSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW0iCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgZmFpbGVkIgorI34gbXNnc3RyICJtb3VudDogbW91bnQgbm9uIHJpdXNjaXRvIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGlzIG5vdCBhIGRpcmVjdG9yeSIKKyN+IG1zZ3N0ciAibW91bnQ6IGlsIG1vdW50IHBvaW50IGRpICVzIG5vbiDDqCB1bmEgZGlyZWN0b3J5IgorCisjfiBtc2dpZCAibW91bnQ6IHBlcm1pc3Npb24gZGVuaWVkIgorI34gbXNnc3RyICJtb3VudDogYXV0b3JpenphemlvbmUgbmVnYXRhIgorCisjfiBtc2dpZCAibW91bnQ6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKKyN+IG1zZ3N0ciAibW91bnQ6IGJpc29nbmEgZXNzZXJlIHN1cGVydXNlciBwZXIgdXRpbGl6emFyZSBtb3VudCIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBidXN5IgorI34gbXNnc3RyICJtb3VudDogJXMgw6ggb2NjdXBhdG8iCisKKyN+IG1zZ2lkICJtb3VudDogcHJvYyBhbHJlYWR5IG1vdW50ZWQiCisjfiBtc2dzdHIgIm1vdW50OiBwcm9jIGdpw6AgbW9udGF0byIKKworI34gbXNnaWQgIm1vdW50OiAlcyBhbHJlYWR5IG1vdW50ZWQgb3IgJXMgYnVzeSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGdpw6AgbW9udGF0byBvICVzIG9jY3VwYXRvIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGRvZXMgbm90IGV4aXN0IgorI34gbXNnc3RyICJtb3VudDogaWwgbW91bnQgcG9pbnQgJXMgbm9uIGVzaXN0ZSIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBwb2ludCAlcyBpcyBhIHN5bWJvbGljIGxpbmsgdG8gbm93aGVyZSIKKyN+IG1zZ3N0ciAibW91bnQ6IGlsIG1vdW50IHBvaW50ICVzIMOoIHVuIGNvbGxlZ2FtZW50byBzaW1ib2xpY28gYSBudWxsYSIKKworI34gbXNnaWQgIm1vdW50OiBzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKKyN+IG1zZ3N0ciAibW91bnQ6IGlsIGRldmljZSBzcGVjaWFsZSAlcyBub24gZXNpc3RlIgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiBzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdFxuIgorI34gIiAgICAgICAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogaWwgZGV2aWNlIHNwZWNpYWxlICVzIG5vbiBlc2lzdGVcbiIKKyN+ICIgICAgICAgKHVuIHByZWZpc3NvIGRpIHBlcmNvcnNvIG5vbiDDqCB1bmEgZGlyZWN0b3J5KVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiAlcyBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorI34gbXNnc3RyICJtb3VudDogJXMgbm9uIGFuY29yYSBtb250YXRvLCBvcHB1cmUgbCdvcHppb25lIG5vbiDDqCB2YWxpZGEiCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHdyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLFxuIgorI34gIiAgICAgICBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiB0aXBvIGZzIGVycmF0bywgb3B6aW9uZSBub24gdmFsaWRhLCBzdXBlcmJsb2NjbyBzdSAlcyBkYW5uZWdnaWF0byxcbiIKKyN+ICIgICAgICAgY29kZXBhZ2UgbyBwcm9ncmFtbWEgYXVzaWxpYXJpbyBtYW5jYW50ZSwgbyBhbHRybyBlcnJvcmUiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gaXMgZm91bmQgaW4gc3lzbG9nIC0gdHJ5XG4iCisjfiAiICAgICAgIGRtZXNnIHwgdGFpbCAgb3Igc29cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICBJbiBhbGN1bmkgY2FzaSBzaSBwb3Nzb25vIHRyb3ZhcmUgaW5mb3JtYXppb25pIHV0aWxpIGluIHN5c2xvZy4gUHJvdmFyZVxuIgorI34gIiAgICAgICBhZCBlc2VtcGlvICdkbWVzZyB8IHRhaWwnXG4iCisKKyN+IG1zZ2lkICJtb3VudDogJXM6IGNhbid0IHJlYWQgc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzOiBpbXBvc3NpYmlsZSBsZWdnZXJlIGlsIHN1cGVyYmxvY2NvIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiB1bmtub3duIGRldmljZSIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogZGlzcG9zaXRpdm8gc2Nvbm9zY2l1dG8iCisKKyN+IG1zZ2lkICJtb3VudDogdW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpcG8gZGkgZmlsZXN5c3RlbSAnJXMnIHNjb25vc2NpdXRvIgorCisjfiBtc2dpZCAibW91bnQ6IHByb2JhYmx5IHlvdSBtZWFudCAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IHByb2JhYmlsbWVudGUgc2kgaW50ZW5kZSAlcyIKKworI34gbXNnaWQgIm1vdW50OiBtYXliZSB5b3UgbWVhbnQgJ2lzbzk2NjAnPyIKKyN+IG1zZ3N0ciAibW91bnQ6IGZvcnNlIHNpIGludGVuZGV2YSAnaXNvOTY2MCc/IgorCisjfiBtc2dpZCAibW91bnQ6IG1heWJlIHlvdSBtZWFudCAndmZhdCc/IgorI34gbXNnc3RyICJtb3VudDogZm9yc2Ugc2kgaW50ZW5kZXZhICd2ZmF0Jz8iCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaGFzIHdyb25nIGRldmljZSBudW1iZXIgb3IgZnMgdHlwZSAlcyBub3Qgc3VwcG9ydGVkIgorI34gbXNnc3RyICJtb3VudDogJXMgaGEgdW4gbnVtZXJvIGRldmljZSBlcnJhdG8gbyBpbCB0aXBvIGRpIGZzICVzIG5vbiDDqCBzdXBwb3J0YXRvIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQgZmFpbHM/IgorI34gbXNnc3RyICJtb3VudDogJXMgbm9uIMOoIHVuIGRpc3Bvc2l0aXZvIGEgYmxvY2NoaSBlIHN0YXQgbm9uIMOoIHJpdXNjaXRvPyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHRoZSBrZXJuZWwgZG9lcyBub3QgcmVjb2duaXplICVzIGFzIGEgYmxvY2sgZGV2aWNlXG4iCisjfiAiICAgICAgIChtYXliZSBgbW9kcHJvYmUgZHJpdmVyJz8pIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IGlsIGtlcm5lbCBub24gcmljb25vc2NlICVzIGNvbWUgdW4gZGlzcG9zaXRpdm8gYSBibG9jY2hpXG4iCisjfiAiICAgICAgIChmb3JzZSBcImluc21vZCBkcml2ZXJcIj8pIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSAobWF5YmUgdHJ5IGAtbyBsb29wJz8pIgorI34gbXNnc3RyICJtb3VudDogJXMgIG5vbiDDqCB1biBkaXNwb3NpdGl2byBhIGJsb2NjaGkgKGZvcnNlIHByb3ZhcmUgXCItbyBsb29wXCI/KSIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBub24gw6ggdW4gZGlzcG9zaXRpdm8gYSBibG9jY2hpIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIG5vbiDDqCB1biBkaXNwb3NpdGl2byBhIGJsb2NjaGkgdmFsaWRvIgorCisjfiBtc2dpZCAiYmxvY2sgZGV2aWNlICIKKyN+IG1zZ3N0ciAiZGlzcG9zaXRpdm8gYSBibG9jY2hpIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBtb3VudCAlcyVzIHJlYWQtb25seSIKKyN+IG1zZ3N0ciAibW91bnQ6IGltcG9zc2liaWxlIG1vbnRhcmUgJXMlcyBpbiBzb2xhIGxldHR1cmEiCisKKyN+IG1zZ2lkICJtb3VudDogJXMlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IGAtdycgZmxhZyBnaXZlbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzJXMgw6ggcHJvdGV0dG8gZGEgc2NyaXR0dXJhLCBtYSBsJ29wemlvbmUgJy13JyDDqCBzdGF0YSBpbmRpY2F0YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHJlbW91bnQgJXMlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCisjfiBtc2dzdHIgIm1vdW50OiBpbXBvc3NpYmlsZSBtb250YXJlICVzJXMgaW4gc29sYSBsZXR0dXJhIgorCisjfiBtc2dpZCAibW91bnQ6ICVzJXMgaXMgd3JpdGUtcHJvdGVjdGVkLCBtb3VudGluZyByZWFkLW9ubHkiCisjfiBtc2dzdHIgIm1vdW50OiAlcyVzIMOoIHByb3RldHRvIGRhIHNjcml0dHVyYSwgdmllbmUgbW9udGF0byBpbiBzb2xhIGxldHR1cmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IG5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGdpw6AgbW9udGF0byBzdSAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHR5cGUgd2FzIGdpdmVuIC0gSSdsbCBhc3N1bWUgbmZzIGJlY2F1c2Ugb2YgdGhlIGNvbG9uXG4iCisjfiBtc2dzdHIgIm1vdW50OiBub24gw6ggc3RhdG8gZGF0byBpbCB0aXBvIC0gU2kgcHJlc3VtZSBuZnMgcGVyY2jDqSBjaSBzb25vIGkgZHVlIHB1bnRpXG4iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gdHlwZSB3YXMgZ2l2ZW4gLSBJJ2xsIGFzc3VtZSBjaWZzIGJlY2F1c2Ugb2YgdGhlIC8vIHByZWZpeFxuIgorI34gbXNnc3RyICJtb3VudDogbm9uIMOoIHN0YXRvIGRhdG8gaWwgdGlwbyAtIFNpIGFzc3VtZSBjaWZzIHBlciBpbCBwcmVmaXNzbyAvL1xuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorI34gbXNnc3RyICJtb3VudDogJXMgZ2nDoCBtb250YXRvIHN1ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCisjfiBtc2dzdHIgIm1vdW50OiDDqCBwb3NzaWJpbGUgc29sbyBwZXIgcm9vdCIKKworI34gbXNnaWQgIm1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCisjfiBtc2dzdHIgIm1vdW50OiDDqCBwb3NzaWJpbGUgc29sbyBwZXIgcm9vdCIKKworI34gbXNnaWQgIm5vdGhpbmcgd2FzIG1vdW50ZWQiCisjfiBtc2dzdHIgIm5vbiDDqCBzdGF0byBtb250YXRvIG5pZW50ZSIKKworI34gbXNnaWQgIm1vdW50OiBubyBzdWNoIHBhcnRpdGlvbiBmb3VuZCIKKyN+IG1zZ3N0ciAibW91bnQ6IG5vbiBzaSDDqCB0cm92YXRhIHRhbGUgcGFydGl6aW9uZSIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBmaW5kICVzIGluICVzIG9yICVzIgorI34gbXNnc3RyICJtb3VudDogaW1wb3NzaWJpbGUgdHJvdmFyZSAlcyBpbiAlcyBvICVzIgorCisjfiBtc2dpZCAiW21udGVudF06IHdhcm5pbmc6IG5vIGZpbmFsIG5ld2xpbmUgYXQgdGhlIGVuZCBvZiAlc1xuIgorI34gbXNnc3RyICJbbW50ZW50XTogYXR0ZW56aW9uZTogbm9uIGMnw6ggdW4nYW5kYXRhIGEgY2FwbyBhbGxhIGZpbmUgZGkgJXNcbiIKKworI34gbXNnaWQgIlttbnRlbnRdOiBsaW5lICVkIGluICVzIGlzIGJhZCVzXG4iCisjfiBtc2dzdHIgIlttbnRlbnRdOiByaWdhICVkIGluICVzIG5vbiB2YWxpZGElc1xuIgorCisjfiBtc2dpZCAiOyByZXN0IG9mIGZpbGUgaWdub3JlZCIKKyN+IG1zZ3N0ciAiOyBpZ25vcmF0byByZXN0byBkZWwgZmlsZSIKKworI34gbXNnaWQgIm5vdCBlbm91Z2ggbWVtb3J5IgorI34gbXNnc3RyICJtZW1vcmlhIGluc3VmZmljaWVudGUiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNvbXBpbGVkIHdpdGhvdXQgc3VwcG9ydCBmb3IgLWZcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiBjb21waWxhdG8gc2VuemEgc3VwcG9ydG8gcGVyIC1mXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3Qgc2V0IGdyb3VwIGlkOiAlbSIKKyN+IG1zZ3N0ciAidW1vdW50OiBpbXBvc3NpYmlsZSBpbXBvc3RhcmUgbCdpZCBkaSBncnVwcG86ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogY2Fubm90IHNldCB1c2VyIGlkOiAlbSIKKyN+IG1zZ3N0ciAidW1vdW50OiBpbXBvc3NpYmlsZSBpbXBvc3RhcmUgbCdpZCB1dGVudGU6ICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgZm9yazogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBpbXBvc3NpYmlsZSBmYXJlIGlsIGZvcms6ICVzIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogaW52YWxpZCBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IGRpc3Bvc2l0aXZvIGRpIGJsb2NjaGkgbm9uIHZhbGlkbyIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG5vdCBtb3VudGVkIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBub24gbW9udGF0byIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGNhbid0IHdyaXRlIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgInVtb3VudDogJXM6IGltcG9zc2liaWxlIHNjcml2ZXJlIHN1cGVyYmxvY2siCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBub3QgZm91bmQiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IG5vbiB0cm92YXRvIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdW1vdW50IgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBiaXNvZ25hIGVzc2VyZSBzdXBlcnVzZXIgcGVyIGVzZWd1aXJlIHVtb3VudCIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGJsb2NrIGRldmljZXMgbm90IHBlcm1pdHRlZCBvbiBmcyIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogaSBkaXNwb3NpdGl2aSBkaSBibG9jY2hpIG5vbiBzb25vIHBlcm1lc3NpIHN1IGZzIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogJXMiCisjfiBtc2dzdHIgInVtb3VudDogJXM6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogZmFpbGVkIHRvIGNoZGlyIHRvICVzOiAlbSIKKyN+IG1zZ3N0ciAibmFtZWk6IGltcG9zc2liaWxlIGVzZWd1aXJlIGNoZGlyIHN1ICVzIC0gJXMgKCVkKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogZmFpbGVkIHRvIG9idGFpbiBjdXJyZW50IGRpcmVjdG9yeTogJW0iCisjfiBtc2dzdHIgIm5hbWVpOiBpbXBvc3NpYmlsZSBvdHRlbmVyZSBsYSBkaXJlY3RvcnkgY29ycmVudGUgLSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogbW91bnRwb2ludCBtb3ZlZCAoJXMgLT4gJXMpIgorI34gbXNnc3RyICJtb3VudDogaWwgbW91bnQgcG9pbnQgJXMgbm9uIGVzaXN0ZSIKKworI34gbXNnaWQgIm5vIHVtb3VudDIsIHRyeWluZyB1bW91bnQuLi5cbiIKKyN+IG1zZ3N0ciAibmVzc3VuIHVtb3VudDIsIHRlbnRhdGl2byBkaSB1bW91bnQgaW4gY29yc28uLi5cbiIKKworI34gbXNnaWQgInVtb3VudDogJXMgYnVzeSAtIHJlbW91bnRlZCByZWFkLW9ubHlcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBvY2N1cGF0byAtIHJpbW9udGF0byBzb2xhIGxldHR1cmFcbiIKKworI34gbXNnaWQgInVtb3VudDogY291bGQgbm90IHJlbW91bnQgJXMgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDogaW1wb3NzaWJpbGUgcmltb250YXJlICVzIGRpIHNvbGEgbGV0dHVyYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIGhhcyBiZWVuIHVubW91bnRlZFxuIgorI34gbXNnc3RyICJlc2VndWl0byB1bW91bnQgZGkgJXNcbiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IGZpbmQgbGlzdCBvZiBmaWxlc3lzdGVtcyB0byB1bm1vdW50IgorI34gbXNnc3RyICJ1bW91bnQ6IGltcG9zc2liaWxlIHRyb3ZhcmUgbCdlbGVuY28gZGVpIGZpbGVzeXN0ZW0gZGEgc21vbnRhcmUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiB1bW91bnQgLWggfCAtVlxuIgorI34gIiAgICAgICB1bW91bnQgLWEgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIFstdCB2ZnN0eXBlc10gWy1PIG9wdHNdXG4iCisjfiAiICAgICAgIHVtb3VudCBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gc3BlY2lhbCB8IG5vZGUuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVzbzogdW1vdW50IFstaFZdXG4iCisjfiAiICAgICB1bW91bnQgLWEgWy1mXSBbLXJdIFstbl0gWy12XSBbLXQgdGlwb2ZzXSBbLU8gb3B6aW9uaV1cbiIKKyN+ICIgICAgIHVtb3VudCBbLWZdIFstcl0gWy1uXSBbLXZdIHNwZWNpYWxlIHwgbm9kby4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSAnb2Zmc2V0PSVzJyBvcHRpb25zXG4iCisjfiBtc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZGV2aWNlICVzIGlzIGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICJJbCBzZXR0b3JlICVkIMOoIGdpw6AgYWxsb2NhdG9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJkZXZpY2UgJXMgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICJJbCBzZXR0b3JlICVkIMOoIGdpw6AgYWxsb2NhdG9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDYW5ub3QgdW5tb3VudCBcIlwiXG4iCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIHNtb250YXJlIFwiXCJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUcnlpbmcgdG8gdW5tb3VudCAlc1xuIgorI34gbXNnc3RyICJUZW50YXRpdm8gZGkgZXNlZ3VpcmUgdW1vdW50IGRpICVzIGluIGNvcnNvXG4iCisKKyN+IG1zZ2lkICJDb3VsZCBub3QgZmluZCAlcyBpbiBtdGFiXG4iCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIHRyb3ZhcmUgJXMgaW4gbXRhYlxuIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBpcyBub3QgbW91bnRlZCAoYWNjb3JkaW5nIHRvIG10YWIpIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIG5vbiDDqCBtb250YXRvIChzZWNvbmRvIG10YWIpIgorCisjfiBtc2dpZCAidW1vdW50OiBpdCBzZWVtcyAlcyBpcyBtb3VudGVkIG11bHRpcGxlIHRpbWVzIgorI34gbXNnc3RyICJ1bW91bnQ6IHNlbWJyYSBjaGUgJXMgc2lhIHN0YXRvIG1vbnRhdG8gZGl2ZXJzZSB2b2x0ZSIKKworI34gbXNnaWQgInVtb3VudDogJXMgaXMgbm90IGluIHRoZSBmc3RhYiAoYW5kIHlvdSBhcmUgbm90IHJvb3QpIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIG5vbiBzaSB0cm92YSBpbiBmc3RhYiAoZSBub24gc2kgw6ggcm9vdCkiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIG1vdW50IGRpc2FncmVlcyB3aXRoIHRoZSBmc3RhYiIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBtb3VudCBub24gY29lcmVudGUgY29uIGZzdGFiIgorCisjfiBtc2dpZCAidW1vdW50OiBvbmx5ICVzIGNhbiB1bm1vdW50ICVzIGZyb20gJXMiCisjfiBtc2dzdHIgInVtb3VudDogc29sbyAlcyBwdcOyIHNtb250YXJlICVzIGRhICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCisjfiBtc2dzdHIgIiB1bW91bnQ6IHNvbG8gcm9vdCBwdcOyIGZhcmxvIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPHR0eT4gWy4uLl1cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVMsIC0tc2V0LWRlZmF1bHQtdGhyZXNob2xkIDxudW0+ICBzZXQgZGVmYXVsdCB0aHJlc2hvbGQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCBzb2dsaWEgcHJlZGVmaW5pdGEgZSAlbGQgdGltZW91dCBwcmVkZWZpbml0b1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJGaWxlICVzLCBGb3IgdGhyZXNob2xkIHZhbHVlICVsdSwgTWF4aW11bSBjaGFyYWN0ZXJzIGluIGZpZm8gd2VyZSAlZCxcbiIKKyN+ICJhbmQgdGhlIG1heGltdW0gdHJhbnNmZXIgcmF0ZSBpbiBjaGFyYWN0ZXJzL3NlY29uZCB3YXMgJWYiCisjfiBtc2dzdHIgIiIKKyN+ICJJbCBmaWxlICVzLCBwZXIgaWwgdmFsb3JlIGxpbWl0ZSAlbHUsIGlsIG51bWVybyBtYXNzaW1vIGRpIGNhcmF0dGVyaSBpbiBmaWZvIGVyYSAlZCxcbiIKKyN+ICJlIGxhIHZlbG9jaXTDoCBtYXNzaW1hIGRpIHRyYXNmZXJpbWVudG8gZGkgY2FyYXR0ZXJpL3NlY29uZG8gZXJhIGRpICVmXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkZpbGUgJXMsIEZvciB0aHJlc2hvbGQgdmFsdWUgJWx1IGFuZCB0aW1lb3V0IHZhbHVlICVsdSwgTWF4aW11bSBjaGFyYWN0ZXJzIGluIGZpZm8gd2VyZSAlZCxcbiIKKyN+ICJhbmQgdGhlIG1heGltdW0gdHJhbnNmZXIgcmF0ZSBpbiBjaGFyYWN0ZXJzL3NlY29uZCB3YXMgJWYiCisjfiBtc2dzdHIgIiIKKyN+ICJJbCBmaWxlICVzLCBwZXIgaWwgdmFsb3JlIGxpbWl0ZSAlbHUgZSBpbCB2YWxvcmUgZGkgdGltZW91dCAlbHUsIGlsIG51bWVybyBtYXNzaW1vIGRpIGNhcmF0dGVyaSBpbiBmaWZvIGVyYSAlZCxcbiIKKyN+ICJlIGxhIHZlbG9jaXTDoCBtYXNzaW1hIGRpIHRyYXNmZXJpbWVudG8gZGkgY2FyYXR0ZXJpL3NlY29uZG8gZXJhIGRpICVmXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGlzc3VlIENZR0VUTU9OIG9uICVzIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBlc2VndWlyZSBDWUdFVE1PTiBzdSAlczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRocmVzaG9sZCBmb3IgJXMiCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIG90dGVuZXJlIGlsIGxpbWl0ZSBwZXIgJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGdldCB0aW1lb3V0IGZvciAlcyIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgb3R0ZW5lcmUgaWwgdGltZW91dCBwZXIgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICIgICAlZiBpbnQvc2VjOyAlZiByZWMsICVmIHNlbmQgKGNoYXIvc2VjKVxuIgorI34gbXNnc3RyICIgICAlZiBpbnQvc2VjOyAlZiByZWMsICVmIHNlbmQgKGNhci9zZWMpXG4iCisKKyN+IG1zZ2lkICIlczogJWx1IGludHMsICVsdSBjaGFyczsgZmlmbzogJWx1IHRocmVzaCwgJWx1IHRtb3V0LCAlbHUgbWF4LCAlbHUgbm93XG4iCisjfiBtc2dzdHIgIiVzOiAlbHUgaW50cywgJWx1IGNoYXJzOyBmaWZvOiAlbHUgdGhyZXNoLCAlbHUgdG1vdXQsICVsdSBtYXgsICVsdSBub3dcbiIKKworI34gbXNnaWQgIiAgICVmIGludC9zZWM7ICVmIHJlYyAoY2hhci9zZWMpXG4iCisjfiBtc2dzdHIgIiAgICVmIGludC9zZWM7ICVmIHJlYyAoY2FyL3NlYylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGludGVydmFsIHZhbHVlIgorI34gbXNnc3RyICJWYWxvcmUgaW50ZXJ2YWxsbyBub24gdmFsaWRvOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgaW50ZXJ2YWwgdmFsdWU6ICVkIgorI34gbXNnc3RyICJWYWxvcmUgaW50ZXJ2YWxsbyBub24gdmFsaWRvOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgc2V0IHZhbHVlIgorI34gbXNnc3RyICJWYWxvcmUgaW1wb3N0YXRvIG5vbiB2YWxpZG86ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdmFsdWU6ICVkIgorI34gbXNnc3RyICJWYWxvcmUgaW1wb3N0YXRvIG5vbiB2YWxpZG86ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHZhbHVlIgorI34gbXNnc3RyICJWYWxvcmUgcHJlZGVmaW5pdG8gbm9uIHZhbGlkbzogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdmFsdWU6ICVkIgorI34gbXNnc3RyICJWYWxvcmUgcHJlZGVmaW5pdG8gbm9uIHZhbGlkbzogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICJPcmEgaW1wb3N0YXRhIG5vbiB2YWxpZGE6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdGltZSB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIk9yYSBpbXBvc3RhdGEgbm9uIHZhbGlkYTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdGltZSB2YWx1ZSIKKyN+IG1zZ3N0ciAiT3JhIHByZWRlZmluaXRhIG5vbiB2YWxpZGE6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHRpbWUgdmFsdWU6ICVkIgorI34gbXNnc3RyICJPcmEgcHJlZGVmaW5pdGEgbm9uIHZhbGlkYTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgc2V0ICVzIHRvIHRocmVzaG9sZCAlZCIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgaW1wb3N0YXJlICVzIGFsbGEgc29nbGlhICVkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzZXQgJXMgdG8gdGltZSB0aHJlc2hvbGQgJWQiCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGltcG9zdGFyZSAlcyBhbCBsaW1pdGUgb3JhICVkOiAlc1xuIgorCisjfiBtc2dpZCAiJXM6ICVsZCBjdXJyZW50IHRocmVzaG9sZCBhbmQgJWxkIGN1cnJlbnQgdGltZW91dFxuIgorI34gbXNnc3RyICIlczogJWxkIHNvZ2xpYSBjb3JyZW50ZSBlICVsZCB0aW1lb3V0IGNvcnJlbnRlXG4iCisKKyN+IG1zZ2lkICIlczogJWxkIGRlZmF1bHQgdGhyZXNob2xkIGFuZCAlbGQgZGVmYXVsdCB0aW1lb3V0XG4iCisjfiBtc2dzdHIgIiVzOiAlbGQgc29nbGlhIHByZWRlZmluaXRhIGUgJWxkIHRpbWVvdXQgcHJlZGVmaW5pdG9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGltZSBlbGFwc2VkIHNpbmNlIHJlZmVyZW5jZSB0aW1lIGhhcyBiZWVuICUuNmYgc2Vjb25kcy5cbiIKKyN+ICJEZWxheWluZyBmdXJ0aGVyIHRvIHJlYWNoIHRoZSBuZXcgdGltZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIklsIHRlbXBvIHRyYXNjb3JzbyBkYWxsJ29yYXJpbyBkaSByaWZlcmltZW50byBlJyBzdGF0byBkaSAlLjZmIHNlY29uZGkuXG4iCisjfiAiQWNjdW11bGFyZSB1bHRlcmlvcmUgcml0YXJkbyBwZXIgcmFnZ2l1bmdlcmUgaWwgc2Vjb25kbyBwaWVubyBzdWNjZXNzaXZvLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGV0ZXJtaW5lIHNvdXJjZSIKKyN+IG1zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXRlcm0gPHRlcm1pbmFsX25hbWU+XG4iCisjfiBtc2dzdHIgIiAgWyAtdGVybSB0ZXJtaW5hbF9uYW1lIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXJlc2V0XG4iCisjfiBtc2dzdHIgIiAgWyAtcmVzZXQgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaW5pdGlhbGl6ZVxuIgorI34gbXNnc3RyICIgIFsgLWluaXRpYWxpemUgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtY3Vyc29yIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtY3Vyc29yIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXJlcGVhdCA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLXJlcGVhdCBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1hcHBjdXJzb3JrZXlzIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtYXBwY3Vyc29ya2V5cyBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1saW5ld3JhcCA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWxpbmV3cmFwIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWRlZmF1bHRcbiIKKyN+IG1zZ3N0ciAiICBbIC1kZWZhdWx0IF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWludmVyc2VzY3JlZW4gPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWJvbGQgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1ib2xkIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWJsaW5rIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtYmxpbmsgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtcmV2ZXJzZSA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLXJldmVyc2UgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdW5kZXJsaW5lIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtdW5kZXJsaW5lIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXN0b3JlXG4iCisjfiBtc2dzdHIgIiAgWyAtc3RvcmUgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtY2xlYXIgPGFsbHxyZXN0PlxuIgorI34gbXNnc3RyICIgIFsgLWNsZWFyIFthbGx8cmVzdF0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdGFicyA8dGFiMSB0YWIyIHRhYjMgLi4uPiAgICAgICh0YWJuID0gMS0xNjApXG4iCisjfiBtc2dzdHIgIiAgWyAtdGFicyBbIHRhYjEgdGFiMiB0YWIzIC4uLiBdIF0gICAgICAodGFibiA9IDEtMTYwKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtY2xydGFicyA8dGFiMSB0YWIyIHRhYjMgLi4uPiAgICh0YWJuID0gMS0xNjApXG4iCisjfiBtc2dzdHIgIiAgWyAtY2xydGFicyBbIHRhYjEgdGFiMiB0YWIzIC4uLiBdIF0gICAodGFibiA9IDEtMTYwKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtcmVndGFicyA8MS0xNjA+XG4iCisjfiBtc2dzdHIgIiAgWyAtcmVndGFicyBbMS0xNjBdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWJsYW5rIDwwLTYwfGZvcmNlfHBva2U+XG4iCisjfiBtc2dzdHIgIiAgWyAtYmxhbmsgWzAtNjBdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWR1bXAgICA8MS1OUl9DT05TT0xFUz5cbiIKKyN+IG1zZ3N0ciAiICBbIC1kdW1wICAgWzEtTlVNX0NPTlNPTEVdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWFwcGVuZCA8MS1OUl9DT05TT0xFUz5cbiIKKyN+IG1zZ3N0ciAiICBbIC1hcHBlbmQgWzEtTlVNX0NPTlNPTEVdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWZpbGUgZHVtcGZpbGVuYW1lXG4iCisjfiBtc2dzdHIgIiAgWyAtZmlsZSBkdW1wZmlsZW5hbWUgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbXNnIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtbXNnIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW1zZ2xldmVsIDwwLTg+XG4iCisjfiBtc2dzdHIgIiAgWyAtbXNnbGV2ZWwgWzAtOF0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtcG93ZXJkb3duIDwwLTYwPlxuIgorI34gbXNnc3RyICIgIFsgLXBvd2VyZG93biBbMC02MF0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYmxlbmd0aCA8MC0yMDAwPlxuIgorI34gbXNnc3RyICIgIFsgLWJsZW5ndGggWzAtMjAwMF0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYmZyZXEgZnJlcW51bWJlclxuIgorI34gbXNnc3RyICIgIFsgLWJmcmVxIGZyZXFudW1iZXIgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkVycm9yIHdyaXRpbmcgc2NyZWVuZHVtcCIKKyN+IG1zZ3N0ciAiRXJyb3JlIGluIHNjcml0dHVyYSBzY3JlZW5kdW1wXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ291bGRuJ3QgcmVhZCBuZWl0aGVyIC9kZXYvdmNzYTAgbm9yIC9kZXYvdmNzYSIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgYXByaXJlIC9kZXYvdHR5MSBvIC9kZXYvdmMvMSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyN+IG1zZ2lkICJsaW5lIHRvbyBsb25nIgorI34gbXNnc3RyICJsaW5lYSB0cm9wcG8gbHVuZ2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2FpZHBpZCBmYWlsZWQiCisjfiBtc2dzdHIgInNldHVpZCgpIG5vbiByaXVzY2l0byIKKworIywgZnV6enkKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorI34gbXNnc3RyICJMYSBwYXJ0aXppb25lICVkIMOoIGdpw6AgZGVmaW5pdGEuICBDYW5jZWxsYXJsYSBwcmltYSBkaSByaWFnZ2l1bmdlcmxhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAlemQgaXMgYWxyZWFkeSBkZWZpbmVkLiBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCisjfiBtc2dzdHIgIkxhIHBhcnRpemlvbmUgJWQgw6ggZ2nDoCBkZWZpbml0YS4gIENhbmNlbGxhcmxhIHByaW1hIGRpIHJpYWdnaXVuZ2VybGEuXG4iCisKKyN+IG1zZ2lkICJzZXQgYmxvY2tzaXplIgorI34gbXNnc3RyICJpbXBvc3RhIGxhIGRpbWVuc2lvbmUgZGVsIGJsb2NjbyIKKworI34gbXNnaWQgIm9uZSBiYWQgYmxvY2tcbiIKKyN+IG1zZ3N0ciAidW4gYmxvY2NvIGRhbm5lZ2dpYXRvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uIHR5cGUgaGV4IG9yIHV1aWQiCisjfiBtc2dzdHIgIiMgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIGRpICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZWFkIGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAiKEZpbGUgc3VjY2Vzc2l2bzogJXMpIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlZWsgZmFpbGVkICVzIgorI34gbXNnc3RyICJyaWNlcmNhIG5vbiByaXVzY2l0YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGZhaWxlZDogJWQiCisjfiBtc2dzdHIgInJpY2VyY2Egbm9uIHJpdXNjaXRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGZhaWxlZDogJWQiCisjfiBtc2dzdHIgIihGaWxlIHN1Y2Nlc3Npdm86ICVzKSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQiCisjfiBtc2dzdHIgIk5lc3N1bmEgcGFydGl6aW9uZSBkZWZpbml0YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlLCBvZmZzZXQgaXMgbm90IDUxMi1ieXRlIGFsaWduZWQuIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSByaWF2dm9sZ2VyZSBpbCBkaXNwb3NpdGl2byBzd2FwIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuc3N1cG9ydGVkIC0tbG9jYWwtbGluZSBtb2RlIGFyZ3VtZW50IgorI34gbXNnc3RyICIlczogYXJnb21lbnRvIHNjb25vc2NpdXRvOiAlc1xuIgorCisjfiBtc2dpZCAidXNhZ2U6XG4iCisjfiBtc2dzdHIgIlVzbzpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtaXNzaW5nIGJsb2NrZGV2aWNlLCB1c2UgLWggZm9yIGhlbHBcbiIKKyN+IG1zZ3N0ciAiJXMgbm9uIMOoIHVuIGRpc3Bvc2l0aXZvIGEgYmxvY2NoaSBvIHVuIGZpbGVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlZGl0aW9uIG51bWJlciBhcmd1bWVudCBmYWlsZWQiCisjfiBtc2dzdHIgIm51bWVybyBtYXNzaW1vIGRpIHNlZ21lbnRpID0gJWx1XG4iCisKKyN+IG1zZ2lkICJmc3luYyBmYWlsZWQiCisjfiBtc2dzdHIgImZzeW5jIG5vbiByaXVzY2l0byAiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiUHJpbnQgdmVyc2lvbjpcbiIKKyN+ICIgICAgICAgICVzIC12XG4iCisjfiAiUHJpbnQgcGFydGl0aW9uIHRhYmxlOlxuIgorI34gIiAgICAgICAgJXMgLVAge3J8c3x0fSBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiAiSW50ZXJhY3RpdmUgdXNlOlxuIgorI34gIiAgICAgICAgJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiLWE6IFVzZSBhcnJvdyBpbnN0ZWFkIG9mIGhpZ2hsaWdodGluZztcbiIKKyN+ICItejogU3RhcnQgd2l0aCBhIHplcm8gcGFydGl0aW9uIHRhYmxlLCBpbnN0ZWFkIG9mIHJlYWRpbmcgdGhlIHB0IGZyb20gZGlzaztcbiIKKyN+ICItYyBDIC1oIEggLXMgUzogT3ZlcnJpZGUgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIG51bWJlciBvZiBjeWxpbmRlcnMsXG4iCisjfiAiICAgICAgICAgICAgICAgIHRoZSBudW1iZXIgb2YgaGVhZHMgYW5kIHRoZSBudW1iZXIgb2Ygc2VjdG9ycy90cmFjay5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlVzbzpcbiIKKyN+ICJTdGFtcGEgdmVyc2lvbmU6XG4iCisjfiAiICAgICAgICAlcyAtdlxuIgorI34gIlN0YW1wYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmk6XG4iCisjfiAiICAgICAgICAlcyAtUCB7cnxzfHR9IFtvcHppb25pXSBkaXNwb3NpdGl2b1xuIgorI34gIlVzbyBpbnRlcmF0dGl2bzpcbiIKKyN+ICIgICAgICAgICVzIFtvcHppb25pXSBkaXNwb3NpdGl2b1xuIgorI34gIlxuIgorI34gIk9wemlvbmk6XG4iCisjfiAiLWE6IFVzYSBmcmVjY2lhIGFsIHBvc3RvIGRlbGwnZXZpZGVuemlhemlvbmU7XG4iCisjfiAiLXo6IEluaXppYSBjb24gdW5hIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSB2dW90YSwgYW56aWNow6kgbGVnZ2VyZSBsYSBcbiIKKyN+ICIgICAgcGFydGl6aW9uZSBkYWwgZGlzY287XG4iCisjfiAiLWMgQyAtaCBIIC1zIFM6IFNvc3RpdHVpc2NlIGwnaWRlYSBkZWwga2VybmVsIHJpZ3VhcmRvIGFsIG51bWVybyBkaSBjaWxpbmRyaSxcbiIKKyN+ICIgICAgICAgICAgICAgICAgYWwgbnVtZXJvIGRpIHRlc3RpbmUgZSBkaSBzZXR0b3JpL3RyYWNjaWEuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJXcml0aW5nIGRpc2tsYWJlbCB0byAlcy5cbiIKKyN+IG1zZ3N0ciAiU2NyaXR0dXJhIGRlbCBkaXNrbGFiZWwgc3UgJXMgaW4gY29yc28uXG4iCisKKyN+IG1zZ2lkICJMYXN0ICVzIG9yICtzaXplIG9yICtzaXplTSBvciArc2l6ZUsiCisjfiBtc2dzdHIgIlVsdGltbyAlcyBvICtzaXplIG8gK3NpemVNIG8gK3NpemVLICIKKworI34gbXNnaWQgIlJlYWRpbmcgZGlza2xhYmVsIG9mICVzIGF0IHNlY3RvciAlZC5cbiIKKyN+IG1zZ3N0ciAiTGV0dHVyYSBkZWwgZGlza2xhYmVsIGRpICVzIGFsIHNldHRvcmUgJWQuXG4iCisKKyN+IG1zZ2lkICJCU0QgZGlza2xhYmVsIGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCisjfiBtc2dzdHIgIkNvbWFuZG8gZGlza2xhYmVsIEJTRCAobSBwZXIgcmljaGlhbWFyZSBsYSBndWlkYSk6ICIKKworI34gbXNnaWQgImRyaXZlZGF0YTogIgorI34gbXNnc3RyICJkYXRpdW5pdMOgOiIKKworI34gbXNnaWQgIiMgICAgICAgc3RhcnQgICAgICAgZW5kICAgICAgc2l6ZSAgICAgZnN0eXBlICAgW2ZzaXplIGJzaXplICAgY3BnXVxuIgorI34gbXNnc3RyICIjICAgICAgIGluaXppbyAgICAgZmluZSAgICAgIHNpemUgICAgIGZzdHlwZSAgIFtmc2l6ZSBic2l6ZSAgIGNwZ11cbiIKKworI34gbXNnaWQgIk11c3QgYmUgPD0gc2VjdG9ycy90cmFjayAqIHRyYWNrcy9jeWxpbmRlciAoZGVmYXVsdCkuXG4iCisjfiBtc2dzdHIgIiBEZXZlIGVzc2VyZSA8PSBzZXR0b3JpL3RyYWNjaWEgKiB0cmFjY2UvY2lsaW5kcm8gKHByZWRlZmluaXRvKS5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAoYS0lYyk6ICIKKyN+IG1zZ3N0ciAiUGFydGl6aW9uZSAoYS0lYyk6ICIKKworI34gbXNnaWQgIldhcm5pbmc6IHRvbyBtYW55IHBhcnRpdGlvbnMgKCVkLCBtYXhpbXVtIGlzICVkKS5cbiIKKyN+IG1zZ3N0ciAiQXR0ZW56aW9uZTogdHJvcHBlIHBhcnRpemlvbmkgKCVkLCBpbCBtYXNzaW1vIMOoICVkKS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJTeW5jaW5nIGRpc2tzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiU2luY3Jvbml6emF6aW9uZSBkZWkgZGlzY2hpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBzZWVrIG9uICVzIgorI34gbXNnc3RyICJSaWNlcmNhIGltcG9zc2liaWxlIHN1ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBzY3JpdmVyZSBzdSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhdGFsIGVycm9yIgorI34gbXNnc3RyICJFcnJvcmUgaXJyZXZlcnNpYmlsZVxuIgorCisjfiBtc2dpZCAiQ29tbWFuZCBhY3Rpb24iCisjfiBtc2dzdHIgIkF6aW9uZSBjb21hbmRvIgorCisjfiBtc2dpZCAiWW91IG11c3Qgc2V0IgorI34gbXNnc3RyICJTaSBkZXZvbm8gaW1wb3N0YXJlIgorCisjfiBtc2dpZCAiaGVhZHMiCisjfiBtc2dzdHIgInRlc3RpbmUiCisKKyN+IG1zZ2lkICIgYW5kICIKKyN+IG1zZ3N0ciAiIGUgIgorCisjfiBtc2dpZCAiVXNpbmcgZGVmYXVsdCB2YWx1ZSAldVxuIgorI34gbXNnc3RyICJVdGlsaXp6byBkZWwgdmFsb3JlIHByZWRlZmluaXRvICV1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZCBNQiwgJWxsZCBieXRlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2NvICVzOiAlbGQgTUIsICVsbGQgYnl0ZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbGQuJWxkIEdCLCAlbGx1IGJ5dGVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzY28gJXM6ICVsZC4lbGQgR0IsICVsbGQgYnl0ZVxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiwgJWxsdSBzZWN0b3JzXG4iCisjfiBtc2dzdHIgIiwgdG90YWxlICVsbHUgc2V0dG9yaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgd3JpdGUgZGlzayBsYWJlbCIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgc2NyaXZlcmUgc3VsbCd1bml0w6AgZGlzY28iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRXJyb3IgY2xvc2luZyBmaWxlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJFcnJvcmUgZHVyYW50ZSBsYSBjaGl1c3VyYSBkZWwgZmlsZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHNldHRpbmcgc2VjdG9yIG9mZnNldCBmb3IgRE9TIGNvbXBhdGliaWxpdHlcbiIKKyN+IG1zZ3N0ciAiQXR0ZW56aW9uZTogaW1wb3N0YXJlIGwnb2Zmc2V0IGRpIHNldHRvcmUgcGVyIGFzc2ljdXJhcmUgY29tcGF0aWJpbGl0w6AgY29uIERPU1xuIgorCisjfiBtc2dpZCAiTmV3IGRpc2sgaWRlbnRpZmllciAoY3VycmVudCAweCUwOHgpOiAiCisjfiBtc2dzdHIgIk51b3ZvIGlkZW50aWZpY2F0aXZvIGRpc2NvIChjb3JyZW50ZSAweCUwOHgpOiAiCisKKyN+IG1zZ2lkICJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlXG4iCisjfiBtc2dzdHIgIk5vbiBjaSBzb25vIHNldHRvcmkgbGliZXJpIGRpc3BvbmliaWxpXG4iCisKKyN+IG1zZ2lkICIgICAgIHBoeXM9KCVkLCAlZCwgJWQpICIKKyN+IG1zZ3N0ciAiICAgIHBoeXM9KCVkLCAlZCwgJWQpICIKKworI34gbXNnaWQgImxvZ2ljYWw9KCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgImxvZ2ljbz0oJWQsICVkLCAlZClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBiYWQgc3RhcnQtb2YtZGF0YSBpbiBwYXJ0aXRpb24gJXpkXG4iCisjfiBtc2dzdHIgIkF0dGVuemlvbmU6IGluaXppbyBkYXRpIGRhbm5lZ2dpYXRvIG5lbGxhIHBhcnRpemlvbmUgJWRcbiIKKworI34gbXNnaWQgIkFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIkFnZ2l1bnRhIGRpIHVuYSBwYXJ0aXppb25lIHByaW1hcmlhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IElmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55IERPUyA2LnhwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBmZGlzayBtYW51YWwgcGFnZSBmb3IgYWRkaXRpb25hbGluZm9ybWF0aW9uLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQVRURU5aSU9ORTogaW4gY2FzbyBkaSBjcmVhemlvbmUgbyBtb2RpZmljYSBkaSBwYXJ0aXppb25pIERPUyA2LngsXG4iCisjfiAiY29uc3VsdGFyZSBsYSBwYWdpbmEgZGVsIG1hbnVhbGUgZmRpc2sgcGVyIHVsdGVyaW9yaVxuIgorI34gImluZm9ybWF6aW9uaS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlKnMgQm9vdCAgICAgIFN0YXJ0ICAgICAgICAgRW5kICAgICAgQmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIlKnMgQXZ2aW8gICAgSW5pemlvICAgIEZpbmUgICBCbG9jY2hpICAgSWQgIFNpc3RlbWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2NvICVzOiAlZCB0ZXN0aW5lLCAlbGx1IHNldHRvcmksICVkIGNpbGluZHJpXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0VGhlcmUgaXMgYSB2YWxpZCBNYWMgbGFiZWwgb24gdGhpcyBkaXNrLlxuIgorI34gIlx0VW5mb3J0dW5hdGVseSBmZGlzaygxKSBjYW5ub3QgaGFuZGxlIHRoZXNlIGRpc2tzLlxuIgorI34gIlx0VXNlIGVpdGhlciBwZGlzayBvciBwYXJ0ZWQgdG8gbW9kaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUuXG4iCisjfiAiXHROZXZlcnRoZWxlc3Mgc29tZSBhZHZpY2U6XG4iCisjfiAiXHQxLiBmZGlzayB3aWxsIGRlc3Ryb3kgaXRzIGNvbnRlbnRzIG9uIHdyaXRlLlxuIgorI34gIlx0Mi4gQmUgc3VyZSB0aGF0IHRoaXMgZGlzayBpcyBOT1QgYSBzdGlsbCB2aXRhbFxuIgorI34gIlx0ICAgcGFydCBvZiBhIHZvbHVtZSBncm91cC4gKE90aGVyd2lzZSB5b3UgbWF5XG4iCisjfiAiXHQgICBlcmFzZSB0aGUgb3RoZXIgZGlza3MgYXMgd2VsbCwgaWYgdW5taXJyb3JlZC4pXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJcdEVzaXN0ZSB1bidldGljaGV0dGEgQUlYIHZhbGlkYSBzdSBxdWVzdG8gZGlzY28uXG4iCisjfiAiXHRTZm9ydHVuYXRhbWVudGUsIGluIHF1ZXN0byBtb21lbnRvIExpbnV4IG5vbiDDqCBpbiBncmFkbyBkaSBnZXN0aXJlIHF1ZXN0aVxuIgorI34gIlx0ZGlzY2hpLiAgQ2nDsiBub25vc3RhbnRlIHNlZ3Vvbm8gYWxjdW5pXG4iCisjfiAiXHRjb25zaWdsaTpcbiIKKyN+ICJcdDEuIGZkaXNrIGVsaW1pZXLDoCBpbCBzdW8gY29udGVudXRvIGFsbGEgc2NyaXR0dXJhLlxuIgorI34gIlx0Mi4gQXNzaWN1cmFyc2kgY2hlIHF1ZXN0byBkaXNjbyBOT04gc2lhIGFuY29yYVxuIgorI34gIlx0ICAgdW5hIHBhcnRlIHZpdGFsZSBkZWwgZ3J1cHBvIGRpIHZvbHVtZSAoYWx0cmltZW50aSDDqCBwb3NzaWJpbGVcbiIKKyN+ICJcdCAgIGNoZSBzaSBjYW5jZWxsaW5vIGFuY2hlIGdsaSBhbHRyaSBkaXNjaGksIHNlIG5vbiBzb2dnZXR0aSBhIG1pcnJvcmluZy4pXG4iCisjfiAiXHQzLiBQcmltYSBkaSBlbGltaW5hcmUgcXVlc3RvIHZvbHVtZSBmaXNpY28gYXNzaWN1cmFyc2lcbiIKKyN+ICJcdCAgIGRpIHJpbXVvdmVyZSBpbiBtYW5pZXJhIGxvZ2ljYSBpbCBkaXNjbyBkYWxsYSBtYWNjaGluYSBBSVggXG4iCisjfiAiXHQgICAoYWx0cmltZW50aSBzaSBkaXZpZW5lIEFJWHBlcnQpLiIKKworI34gbXNnaWQgIkFjY29yZGluZyB0byBNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYyB0aGUgTGFiZWwgbXVzdCBub3QgY29udGFpbiBtb3JlIHRoYW4gNTEyIGJ5dGVzXG4iCisjfiBtc2dzdHIgIlNlY29uZG8gTUlQUyBDb21wdXRlciBTeXN0ZW1zLCBJbmMgbCdldGljaGV0dGEgbm9uIGRldmUgY29udGVuZXJlIHBpw7kgZGkgNTEyIGJ5dGVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU0dJIGRpc2sgbGFiZWwpOiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiAlbGQgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2NvICVzIChkaXNrIGxhYmVsIFNHSSk6ICVkIHRlc3RpbmUsICVsbHUgc2V0dG9yaSwgJWQgY2lsaW5kcmlcbiIKKyN+ICJVbml0w6AgPSAlcyBkaSAlZCAqICVkIGJ5dGVcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICItLS0tLSBwYXJ0aXRpb25zIC0tLS0tXG4iCisjfiAiUHQjICUqcyAgSW5mbyAgICAgU3RhcnQgICAgICAgRW5kICAgU2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIiCisjfiAiLS0tLS0gcGFydGl6aW9uaSAtLS0tLVxuIgorI34gIlB0IyAlKnMgIEluZm8gICAgIEluaXppbyAgICAgIEZpbmUgIFNldHRvcmkgIElkICBTaXN0ZW1hXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIi0tLS0tIEJvb3RpbmZvIC0tLS0tXG4iCisjfiAiQm9vdGZpbGU6ICVzXG4iCisjfiAiLS0tLS0gRGlyZWN0b3J5IEVudHJpZXMgLS0tLS1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIi0tLS0tIEluZm9hdnZpbyAtLS0tLVxuIgorI34gIkZpbGUgZGkgYXZ2aW86ICVzXG4iCisjfiAiLS0tLS0gVm9jaSBkaXJlY3RvcnkgLS0tLS1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlMnpkOiAlLTEwcyBzZWN0b3IlNXUgc2l6ZSU4dVxuIgorI34gbXNnc3RyICIlMmQ6ICUtMTBzIHNldHRvcmUlNXUgZGltZW5zaW9uZSU4dVxuIgorCisjfiBtc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkXG4iCisjfiBtc2dzdHIgIk5lc3N1bmEgcGFydGl6aW9uZSBkZWZpbml0YVxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gaXMgb25seSAlZCBkaXNrYmxvY2sgbGFyZ2UsXG4iCisjfiAiYnV0IHRoZSBkaXNrIGlzICVkIGRpc2tibG9ja3MgbG9uZy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkxhIHBhcnRpemlvbmUgZGVsIGRpc2NvIGludGVybyDDqCBzb2xhbWVudGUgZGkgJWQgYmxvY2NoaSxcbiIKKyN+ICJtYSBpbCBkaXNjbyDDqCBkaSAlZCBibG9jY2hpLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGRvZXMgbm90IHN0YXJ0IG9uIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gbXNnc3RyICJMYSBwYXJ0aXppb25lICVkIG5vbiBpbml6aWEgYWwgbGltaXRlIGRlbCBjaWxpbmRyby5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIkxhIHBhcnRpemlvbmUgJWQgbm9uIHRlcm1pbmEgYWwgbGltaXRlIGRlbCBjaWxpbmRyby5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJXpkIGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LlxuIgorI34gbXNnc3RyICJMYSBwYXJ0aXppb25lICVkIMOoIGdpw6AgZGVmaW5pdGEuICBDYW5jZWxsYXJsYSBwcmltYSBkaSByaWFnZ2l1bmdlcmxhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkhESU9fR0VUR0VPIGlvY3RsIGZhaWxlZCBvbiAlcyIKKyN+IG1zZ3N0ciAiQkxLR0VUU0laRSBpb2N0bCBub24gcml1c2NpdG8gc3UgJXNcbiIKKworI34gbXNnaWQgIklEPSUwMnhcdFNUQVJUPSVkXHRMRU5HVEg9JWRcbiIKKyN+IG1zZ3N0ciAiSUQ9JTAyeFx0SU5JWklPPSVkXHRMVU5HSEVaWkE9JWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUcnlpbmcgdG8ga2VlcCBwYXJhbWV0ZXJzIG9mIHBhcnRpdGlvbnMgYWxyZWFkeSBzZXQuXG4iCisjfiBtc2dzdHIgIlRlbnRhdGl2byBkaSBtYW50ZW5lcmUgaSBwYXJhbWV0cmkgZGVsbGEgcGFydGl6aW9uZSAlZCBpbiBjb3Jzby5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCdWlsZGluZyBhIG5ldyBTdW4gZGlza2xhYmVsLiIKKyN+IG1zZ3N0ciAiJXMgbm9uIGNvbnRpZW5lIGRpc2tsYWJlbC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgbGFiZWwpOiAldSBoZWFkcywgJWxsdSBzZWN0b3JzLCAlZCBycG1cbiIKKyN+ICIlbGx1IGN5bGluZGVycywgJWQgYWx0ZXJuYXRlIGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiJWQgZXh0cmEgc2VjdHMvY3lsLCBpbnRlcmxlYXZlICVkOjFcbiIKKyN+ICJMYWJlbCBJRDogJXNcbiIKKyN+ICJWb2x1bWUgSUQ6ICVzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqIDUxMiBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzY28gJXMgKGRpc2sgbGFiZWwgZGVsbGEgU3VuKTogJWQgdGVzdGluZSwgJWQgc2V0dG9yaSwgJWQgcnBtXG4iCisjfiAiJWQgY2lsaW5kcmksICVkIGNpbGluZHJpIGFsdGVybmF0aXZpLCAlZCBjaWxpbmRyaSBmaXNpY2lcbiIKKyN+ICIlZCBzZXR0Li9jaWwuIHN1cHBsZW1lbnRhcmksIGludGVybGVhdmUgJWQ6MVxuIgorI34gIiVzXG4iCisjfiAiVW5pdMOgID0gJXMgZGkgJWQgKiA1MTIgYnl0ZVxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTdW4gZGlzayBsYWJlbCk6ICV1IGhlYWRzLCAlbGx1IHNlY3RvcnMsICVsbHUgY3lsaW5kZXJzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqIDUxMiBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzY28gJXMgKGV0aWNoZXR0YSBkaXNjbyBTdW4pOiAlZCB0ZXN0aW5lLCAlZCBzZXR0b3JpLCAlZCBjaWxpbmRyaVxuIgorI34gIlVuaXTDoCA9ICVzIGRpICVkICogNTEyIGJ5dGVcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiUqcyBGbGFnICAgIFN0YXJ0ICAgICAgIEVuZCAgICBCbG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiUqcyBGbGFnICAgIEluaXppbyAgICAgICBGaW5lICAgIEJsb2NjaGkgICBJZCAgU2lzdGVtYVxuIgorCisjfiBtc2dpZCAiJXMgLUFuIGRldmljZVx0IGFjdGl2YXRlIHBhcnRpdGlvbiBuLCBpbmFjdGl2YXRlIHRoZSBvdGhlciBvbmVzXG4iCisjfiBtc2dzdHIgIiVzIC1BbiBkZXZpY2VcdCBhdHRpdmEgbGEgcGFydGl6aW9uZSBuLCBkaXNhdHRpdmEgbGUgYWx0cmVcbiIKKworI34gbXNnaWQgIiIKKyN+ICJEb25lXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJGaW5lXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ3JlYXRlZCBwYXJ0aXRpb24gJXpkXG4iCisjfiBtc2dzdHIgIlBhcnRpemlvbmUgc2VsZXppb25hdGEgJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIC11IDxVU0VSPiBDT01NQU5EXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBbLV0gW1VTRVIgW2FyZ10uLi5dXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgcHJvZ3JhbW1hIFthcmcgLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNyeXB0IGZhaWxlZDogJW1cbiIKKyN+IG1zZ3N0ciAiKEZpbGUgc3VjY2Vzc2l2bzogJXMpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNhbiBub3QgZm9yazogJW1cbiIKKyN+IG1zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGVmZmV0dHVhcmUgaWwgZm9ya1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB0byBvcGVuL2NyZWF0ZSAlczogJW1cbiIKKyN+IG1zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYWlsZWQgdG8gbG9jayAlczogJW1cbiIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgZmFyZSBzdGF0IGRpICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJhZCBudW1iZXI6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiB2YWxvcmUgbm9uIHZhbGlkb1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIGZhaWxlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IG1vdW50IG5vbiByaXVzY2l0byIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyN+IG1zZ2lkICJidWcgaW4geHN0cm5kdXAgY2FsbCIKKyN+IG1zZ3N0ciAiYnVnIGluIGNoaWFtYXRhIHhzdHJuZHVwIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvbm5lY3QgJXMiCisjfiBtc2dzdHIgIm5mcyBjb25uZWN0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlLi4uXVxuIgorI34gbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjfiBtc2dpZCAibWtmcyAoJXMpXG4iCisjfiBtc2dzdHIgIm1rZnMgKCVzKVxuIgorCisjfiBtc2dpZCAic3RydG9sIGVycm9yOiBudW1iZXIgb2YgYmxvY2tzIG5vdCBzcGVjaWZpZWQiCisjfiBtc2dzdHIgImVycm9yZSBzdHJ0b2w6IG51bWVybyBkaSBibG9jY2hpIG5vbiBzcGVjaWZpY2F0byIKKworI34gbXNnaWQgIm9uZSBiYWQgcGFnZVxuIgorI34gbXNnc3RyICJ1bmEgcGFnaW5hIGRhbm5lZ2dpYXRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICBvbiB3aG9sZSBkaXNrLiAiCisjfiBtc2dzdHIgIiAgIHMgICB2aXN1YWxpenphemlvbmUgZGVsIGRpc2tsYWJlbCBjb21wbGV0byIKKworIywgZnV6enkKKyN+IG1zZ2lkICJkb2VzIG5vdCBzdXBwb3J0IHN3YXBzcGFjZSB2ZXJzaW9uICVkLiIKKyN+IG1zZ3N0ciAiJXM6IGVycm9yZTogdmVyc2lvbmUgc2Nvbm9zY2l1dGEgJWRcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJcdFRoZXJlIGlzIGEgdmFsaWQgQUlYIGxhYmVsIG9uIHRoaXMgZGlzay5cbiIKKyN+ICJcdFVuZm9ydHVuYXRlbHkgTGludXggY2Fubm90IGhhbmRsZSB0aGVzZVxuIgorI34gIlx0ZGlza3MgYXQgdGhlIG1vbWVudC4gIE5ldmVydGhlbGVzcyBzb21lXG4iCisjfiAiXHRhZHZpY2U6XG4iCisjfiAiXHQxLiBmZGlzayB3aWxsIGRlc3Ryb3kgaXRzIGNvbnRlbnRzIG9uIHdyaXRlLlxuIgorI34gIlx0Mi4gQmUgc3VyZSB0aGF0IHRoaXMgZGlzayBpcyBOT1QgYSBzdGlsbCB2aXRhbFxuIgorI34gIlx0ICAgcGFydCBvZiBhIHZvbHVtZSBncm91cC4gKE90aGVyd2lzZSB5b3UgbWF5XG4iCisjfiAiXHQgICBlcmFzZSB0aGUgb3RoZXIgZGlza3MgYXMgd2VsbCwgaWYgdW5taXJyb3JlZC4pXG4iCisjfiAiXHQzLiBCZWZvcmUgZGVsZXRpbmcgdGhpcyBwaHlzaWNhbCB2b2x1bWUgYmUgc3VyZVxuIgorI34gIlx0ICAgdG8gcmVtb3ZlIHRoZSBkaXNrIGxvZ2ljYWxseSBmcm9tIHlvdXIgQUlYXG4iCisjfiAiXHQgICBtYWNoaW5lLiAgKE90aGVyd2lzZSB5b3UgYmVjb21lIGFuIEFJWHBlcnQpLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0RXNpc3RlIHVuJ2V0aWNoZXR0YSBBSVggdmFsaWRhIHN1IHF1ZXN0byBkaXNjby5cbiIKKyN+ICJcdFNmb3J0dW5hdGFtZW50ZSwgaW4gcXVlc3RvIG1vbWVudG8gTGludXggbm9uIMOoIGluIGdyYWRvIGRpIGdlc3RpcmUgcXVlc3RpXG4iCisjfiAiXHRkaXNjaGkuICBDacOyIG5vbm9zdGFudGUgc2VndW9ubyBhbGN1bmlcbiIKKyN+ICJcdGNvbnNpZ2xpOlxuIgorI34gIlx0MS4gZmRpc2sgZWxpbWllcsOgIGlsIHN1byBjb250ZW51dG8gYWxsYSBzY3JpdHR1cmEuXG4iCisjfiAiXHQyLiBBc3NpY3VyYXJzaSBjaGUgcXVlc3RvIGRpc2NvIE5PTiBzaWEgYW5jb3JhXG4iCisjfiAiXHQgICB1bmEgcGFydGUgdml0YWxlIGRlbCBncnVwcG8gZGkgdm9sdW1lIChhbHRyaW1lbnRpIMOoIHBvc3NpYmlsZVxuIgorI34gIlx0ICAgY2hlIHNpIGNhbmNlbGxpbm8gYW5jaGUgZ2xpIGFsdHJpIGRpc2NoaSwgc2Ugbm9uIHNvZ2dldHRpIGEgbWlycm9yaW5nLilcbiIKKyN+ICJcdDMuIFByaW1hIGRpIGVsaW1pbmFyZSBxdWVzdG8gdm9sdW1lIGZpc2ljbyBhc3NpY3VyYXJzaVxuIgorI34gIlx0ICAgZGkgcmltdW92ZXJlIGluIG1hbmllcmEgbG9naWNhIGlsIGRpc2NvIGRhbGxhIG1hY2NoaW5hIEFJWCBcbiIKKyN+ICJcdCAgIChhbHRyaW1lbnRpIHNpIGRpdmllbmUgQUlYcGVydCkuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkJTRCBsYWJlbCBmb3IgZGV2aWNlOiAlc1xuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRXRpY2hldHRhIEJTRCBwZXIgZGlzcG9zaXRpdm86ICVzXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJWQgaGFzIGVtcHR5IHR5cGVcbiIKKyN+IG1zZ3N0ciAiQXR0ZW56aW9uZTogbGEgcGFydGl6aW9uZSAlZCBoYSB0aXBvIHZ1b3RvXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWkgZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gbXNnc3RyICJMYSBwYXJ0aXppb25lICVpIG5vbiB0ZXJtaW5hIGFsIGxpbWl0ZSBkZWwgY2lsaW5kcm8uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm90ZTogc2VjdG9yIHNpemUgaXMgJWxkIChub3QgJWQpXG4iCisjfiBtc2dzdHIgIk5vdGE6IGxhIGRpbWVuc2lvbmUgZGVsIHNldHRvcmUgw6ggJWQgKG5vbiAlZClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2UgdGhlIC0tZm9yY2UgZmxhZyB0byBvdmVycnVsZSB0aGlzIGNoZWNrLlxuIgorI34gbXNnc3RyICJVdGlsaXp6YXJlIGlsIGZsYWcgLWZvcmNlIHBlciBvbHRyZXBhc3NhcmUgdHV0dGkgaSBjb250cm9sbGkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXhlYyAlcyBmYWlsZWQiCisjfiBtc2dzdHIgImV4ZWMgZmFsbGl0YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBleGVjIGZhaWxlZCIKKyN+IG1zZ3N0ciAicmljZXJjYSBub24gcml1c2NpdGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVElPQ1NDVFRZOiBpb2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgIlRJT0NTQ1RUWSBub24gcml1c2NpdG86ICVtIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsrZm9ybWF0XSBbZGF5IG1vbnRoIHllYXJdXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgWytmb3JtYXRvXSBbZ2lvcm5vIG1lc2UgYW5ub11cbiIKKworI34gbXNnaWQgIlN0LiBUaWIncyBEYXkiCisjfiBtc2dzdHIgIkdpb3JubyBkaSBTLlRpYmVyaW8iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtcyBzaWduYWwgfCAtcCBdIFsgLWEgXSBwaWQgLi4uXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgWyAtcyBzZWduYWxlIHwgLXAgXSBbIC1hIF0gcGlkIC4uLlxuIgorCisjfiBtc2dpZCAiICAgICAgICVzIC1sIFsgc2lnbmFsIF1cbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIC1sIFsgc2VnbmFsZSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBwb3J0IG51bWJlciBhcmd1bWVudCIKKyN+IG1zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIgorI34gbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjb3VsZG4ndCBsb2NrIGludG8gbWVtb3J5IgorI34gbXNnc3RyICJtZW1vcmlhIGVzYXVyaXRhIgorCisjfiBtc2dpZCAibW91bnQ6IGFyZ3VtZW50IHRvIC1wIG9yIC0tcGFzcy1mZCBtdXN0IGJlIGEgbnVtYmVyIgorI34gbXNnc3RyICJtb3VudDogbCdhcmdvbWVudG8gZGkgLXAgbyAtLXBhc3MtZmQgZGV2ZSBlc3NlcmUgdW4gbnVtZXJvIgorCisjLCBmdXp6eQorI34gbXNnaWQgImV4ZWN1dGluZyAlcyBmYWlsZWQiCisjfiBtc2dzdHIgImV4ZWMgZmFsbGl0YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVqZWN0OiBjYW5ub3Qgc2V0IHVzZXIgaWQiCisjfiBtc2dzdHIgIm1vdW50OiBpbXBvc3NpYmlsZSBpbXBvc3RhcmUgbCdpZCB1dGVudGU6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgZnNmcmVlemUoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQZXIgbWFnZ2lvcmkgaW5mb3JtYXppb25pIHZlZGVyZSBzZXRhcmNoKDgpLlxuIgorCisjfiBtc2dpZCAibWF4IHNlZyBzaXplIChrYnl0ZXMpID0gJWx1XG4iCisjfiBtc2dzdHIgImRpbWVuc2lvbmUgbWF4IHNlZyAoa2J5dGUpID0gJWx1XG4iCisKKyN+IG1zZ2lkICJtaW4gc2VnIHNpemUgKGJ5dGVzKSA9ICVsdVxuIgorI34gbXNnc3RyICJkaW1lbnNpb25lIG1pbiBzZWcgKGJ5dGUpID0gJWx1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2htY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZnN5bmMgbm9uIHJpdXNjaXRvICIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtc2djdGwgZmFpbGVkIgorI34gbXNnc3RyICJmc3luYyBub24gcml1c2NpdG8gIgorCisjfiBtc2dpZCAiY2J5dGVzPSVsZFx0cWJ5dGVzPSVsZFx0cW51bT0lbGRcdGxzcGlkPSVkXHRscnBpZD0lZFxuIgorI34gbXNnc3RyICJjYnl0ZT0lbGRcdHFieXRlPSVsZFx0cW51bT0lbGRcdGxzcGlkPSVkXHRscnBpZD0lZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlbWN0bCBmYWlsZWQiCisjfiBtc2dzdHIgInJpY2VyY2Egbm9uIHJpdXNjaXRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIGZhaWxlZCB0byB1c2UgZGV2aWNlIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSByaWF2dm9sZ2VyZSBpbCBkaXNwb3NpdGl2byBzd2FwIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvdWxkbid0IGxvY2sgaW50byBtZW1vcnkiCisjfiBtc2dzdHIgIm1lbW9yaWEgZXNhdXJpdGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSAocHJvYmFibHkgdW5rbm93biBlbmNyeXB0aW9uIHR5cGUpIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSByaWF2dm9sZ2VyZSBpbCBkaXNwb3NpdGl2byBzd2FwIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJlbmljZSBmcm9tICVzXG4iCisjfiBtc2dzdHIgIiVzIGRhICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIGV4ZWN1dGUgJXMiCisjfiBtc2dzdHIgImlvY3RsKCkgbm9uIMOoIHJpdXNjaXRvIGEgbGVnZ2VyZSBsJ29yYXJpbyBkYSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleGVjdnAgZmFpbGVkIgorI34gbXNnc3RyICJleGVjIGZhbGxpdGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleGVjdiBmYWlsZWQiCisjfiBtc2dzdHIgImV4ZWMgZmFsbGl0YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUtMTVzJXMgW3ZlcnNpb24gJXhdXG4iCisjfiBtc2dzdHIgIiVzOiB2ZXJzaW9uZSAlc1xuIgorCisjfiBtc2dpZCAidXNlcnMiCisjfiBtc2dzdHIgInV0ZW50aSIKKworI34gbXNnaWQgInRvbyBtYW55IGlvdidzIChjaGFuZ2UgY29kZSBpbiB3YWxsL3R0eW1zZy5jKSIKKyN+IG1zZ3N0ciAidHJvcHBpIGlvdiAobW9kaWZpY2FyZSBpbCBjb2RpY2UgaW4gd2FsbC90dHltc2cuYykiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZXJyb3IuIgorI34gbXNnc3RyICJjb2w6IGVycm9yZSBpbiBzY3JpdHR1cmEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgY29sdW1uKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGVyIG1hZ2dpb3JpIGluZm9ybWF6aW9uaSB2ZWRlcmUgc2V0YXJjaCg4KS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3JlICglcylcbiIKKyN+IG1zZ3N0ciAibWtmcyAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHN0YXQgZmlsZSAlcyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgZXNlZ3VpcmUgc3RhdCBzdWwgZGlzcG9zaXRpdm8gJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY291bGRuJ3Qgb3BlbiAlcyIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgYXByaXJlICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gJXMiCisjfiBtc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBkZXZpY2UgJXMiCisjfiBtc2dzdHIgImltcG9zc2liaWxlIGVzZWd1aXJlIHN0YXQgc3VsIGRpc3Bvc2l0aXZvICVzIgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gZmlsZSAnJXMnIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBhcHJpcmUgaWwgZmlsZSAnJXMnIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXMiCisjfiBtc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogY2Fubm90IG9wZW4gJXMiCisjfiBtc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmUgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYWlsZWQgdG8gb3BlbiAlcyBmb3IgcmVhZGluZywgZXhpdGluZy4iCisjfiBtc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAlcyBpbiBsZXR0dXJhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgIiVzIG5vbiByaXVzY2l0by5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiAvZGV2L3BvcnQiCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGFwcmlyZSAvZGV2L3BvcnQ6ICVzIgorCisjfiBtc2dpZCAib3BlbigpIG9mICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAib3BlbigpIGRpICVzIGZhbGxpdGEiCisKKyN+IG1zZ2lkICJPcGVuIG9mICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAiQXBlcnR1cmEgZGkgJXMgbm9uIHJpdXNjaXRhIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIG9wZW4gJXMiCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGFwcmlyZSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc291cmNlIGJ1ZmZlciIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgYWxsb2NhcmUgaWwgYnVmZmVyLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBzdGF0IGRpcmVjdG9yeSIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgZmFyZSBzdGF0IGRpICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBzdGF0IGRpcmVjdG9yeSAlcyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgZmFyZSBzdGF0IGRpICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuIHRpbWluZyBmaWxlICVzIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBhcHJpcmUgaWwgZmlsZSAnJXMnIgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBhcHJpcmUgIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuIFwiJXNcIiBmb3IgcmVhZCIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgYXByaXJlIFwiJXNcIiBpbiBsZXR0dXJhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHN0YXQgXCIlc1wiIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSBzdGF0IHN1bCBkaXNwb3NpdGl2byAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWy1odl0gWy14IGRpcl0gZmlsZVxuIgorI34gIiAtaCAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorI34gIiAteCBkaXIgICAgIGV4dHJhY3QgaW50byBkaXJcbiIKKyN+ICIgLXYgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKKyN+ICIgZmlsZSAgICAgICBmaWxlIHRvIHRlc3RcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVzbzogJXMgWy1odl0gWy14IGRpcl0gZmlsZVxuIgorI34gIiAtaCAgICAgICAgIG1vc3RyYSBxdWVzdG8gYWl1dG9cbiIKKyN+ICIgLXggZGlyICAgICBlc3RyYWkgbmVsbGEgZGlyZWN0b3J5IGRpclxuIgorI34gIiAtdiAgICAgICAgIHNpaSBwacO5IHByb2xpc3NvXG4iCisjfiAiIGZpbGUgICAgICAgZmlsZSBkYSB2ZXJpZmljYXJlXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1sYXJ2c21mXSAvZGV2L25hbWVcbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbLWxhcnZzbWZdIC9kZXYvbm9tZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBibG9ja3NpemUgYXJndW1lbnQiCisjfiBtc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6IHdpbGwgbm90IHRyeSB0byBtYWtlIHN3YXBkZXZpY2Ugb24gJyVzJyIKKyN+IG1zZ3N0ciAiJXM6IGVycm9yZTogTm9uIHNpIGNlcmNoZXLDoCBkaSBjcmVhcmUgdW5vIHN3YXBkZXZpY2Ugc3UgJyVzJ1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNhbm5vdCBvcGVuIG1hc3RlciByYXcgZGV2aWNlICclcycgKCVzKVxuIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSBzdGF0IHN1bCBkaXNwb3NpdGl2byAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBzd2FwbGFiZWwoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQZXIgbWFnZ2lvcmkgaW5mb3JtYXppb25pIHZlZGVyZSBzZXRhcmNoKDgpLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVpIGRvZXMgbm90IHN0YXJ0IG9uIGN5bGluZGVyIGJvdW5kYXJ5OlxuIgorI34gbXNnc3RyICJMYSBwYXJ0aXppb25lICVpIG5vbiBpbml6aWEgYWwgbGltaXRlIGRlbCBjaWxpbmRybzpcbiIKKworI34gbXNnaWQgInNob3VsZCBiZSAoJWQsICVkLCAxKVxuIgorI34gbXNnc3RyICJkb3ZyZWJiZSBlc3NlcmUgKCVkLCAlZCwgMSlcbiIKKworI34gbXNnaWQgInNob3VsZCBiZSAoJWQsICVkLCAlZClcbiIKKyN+IG1zZ3N0ciAiZG92cmViYmUgZXNzZXJlICglZCwgJWQsICVkKVxuIgorCisjfiBtc2dpZCAiVGhpcyBrZXJuZWwgZmluZHMgdGhlIHNlY3RvciBzaXplIGl0c2VsZiAtIC1iIG9wdGlvbiBpZ25vcmVkXG4iCisjfiBtc2dzdHIgIlF1ZXN0byBrZXJuZWwgdHJvdmEgbGEgZGltZW5zaW9uZSBkZWwgc2V0dG9yZSBpbiBtYW5pZXJhIGluZGlwZW5kZW50ZSAtIC0gb3B6aW9uZSBiIGlnbm9yYXRhXG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5P1xuIgorI34gbXNnc3RyICJtZW1vcmlhIGluc3VmZmljaWVudGU/XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAic2ZkaXNrOiBwcmVtYXR1cmUgZW5kIG9mIGlucHV0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJzZmRpc2s6IGZpbmUgcHJlbWF0dXJhIGRlbGwnaW5wdXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXQVJOSU5HOiBjb3VsZG4ndCBvcGVuICVzIgorI34gbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlcG9jaCIKKyN+IG1zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiWW91IGhhdmUgc3BlY2lmaWVkIG11bHRpcGxlIGZ1bmN0aW9ucy5cbiIKKyN+ICJZb3UgY2FuIG9ubHkgcGVyZm9ybSBvbmUgZnVuY3Rpb24gYXQgYSB0aW1lLiIKKyN+IG1zZ3N0ciAiIgorI34gIlNvbm8gc3RhdGUgc3BlY2lmaWNhdGUgbXVsdGlwbGUgZnVuemlvbmkuXG4iCisjfiAiw4ggcG9zc2liaWxlIGVzZWd1aXJlIHVuYSBzb2xhIGZ1bnppb25lIHBlciB2b2x0YS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgLS11dGMgYW5kIC0tbG9jYWx0aW1lIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC4iCisjfiBtc2dzdHIgIiVzOiBMZSBvcHppb25pIC0tdXRjIGUgLWxvY2FsdGltZSBzaSBlc2NsdWRvbm8gdmljZW5kZXZvbG1lbnRlLiBTb25vIHN0YXRlIHNwZWNpZmljYXRlIGVudHJhbWJlLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSAtLWFkanVzdCBhbmQgLS1ub2FkamZpbGUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiAgWW91IHNwZWNpZmllZCBib3RoLiIKKyN+IG1zZ3N0ciAiJXM6IExlIG9wemlvbmkgLS1hZGp1c3QgZSAtbm9hZGpmaWxlIHNpIGVzY2x1ZG9ubyB2aWNlbmRldm9sbWVudGUuIFNvbm8gc3RhdGUgc3BlY2lmaWNhdGUgZW50cmFtYmUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIC0tYWRqZmlsZSBhbmQgLS1ub2FkamZpbGUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiAgWW91IHNwZWNpZmllZCBib3RoLiIKKyN+IG1zZ3N0ciAiJXM6IExlIG9wemlvbmkgLS1hZGp1c3QgZSAtbm9hZGpmaWxlIHNpIGVzY2x1ZG9ubyB2aWNlbmRldm9sbWVudGUuIFNvbm8gc3RhdGUgc3BlY2lmaWNhdGUgZW50cmFtYmUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGxvY2sgZ3JvdXAgZmlsZSIKKyN+IG1zZ3N0ciAibW91bnQ6IGltcG9zc2liaWxlIGltcG9zdGFyZSBsJ2lkIGRpIGdydXBwbzogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidGhlICVzIGZpbGUgaXMgYnVzeSAoJXMgcHJlc2VudCkiCisjfiBtc2dzdHIgIiVzOiBpbCBmaWxlICVzIMOoIG9jY3VwYXRvICglcyBwcmVzZW50ZSlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZpbmRtbnQoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQZXIgbWFnZ2lvcmkgaW5mb3JtYXppb25pIHZlZGVyZSBzZXRhcmNoKDgpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaWd2YWwiCisjfiBtc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicG9ydCBgJWxkJyBvdXQgb2YgcmFuZ2UiCisjfiBtc2dzdHIgIlZhbG9yZSBmdW9yaSBpbnRlcnZhbGxvLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbHNibGsoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQZXIgbWFnZ2lvcmkgaW5mb3JtYXppb25pIHZlZGVyZSBzZXRhcmNoKDgpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICJWYWxvcmUgaW1wb3N0YXRvIG5vbiB2YWxpZG86ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2FybmluZzogZmFpbGVkIHRvIHJlYWQgbXRhYiIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgZmFyZSBzdGF0IGRpICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjbGFzcyBkYXRhIgorI34gbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjbGFzcyIKKyN+IG1zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYnVmZmVyIHNpemUiCisjfiBtc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmYWxsb2NhdGUoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQZXIgbWFnZ2lvcmkgaW5mb3JtYXppb25pIHZlZGVyZSBzZXRhcmNoKDgpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgZnN0cmltKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGVyIG1hZ2dpb3JpIGluZm9ybWF6aW9uaSB2ZWRlcmUgc2V0YXJjaCg4KS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIHNwZWVkIgorI34gbXNnc3RyICJpZCBub24gdmFsaWRvOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgb2Zmc2V0ICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICJWYWxvcmUgaW1wb3N0YXRvIG5vbiB2YWxpZG86ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBzaXplICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICJWYWxvcmUgaW1wb3N0YXRvIG5vbiB2YWxpZG86ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBtb3VudHBvaW50KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGVyIG1hZ2dpb3JpIGluZm9ybWF6aW9uaSB2ZWRlcmUgc2V0YXJjaCg4KS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgUElEIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNlY29uZHMgdmFsdWUiCisjfiBtc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHRpbWVfdCB2YWx1ZSIKKyN+IG1zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGxzYmxrKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGVyIG1hZ2dpb3JpIGluZm9ybWF6aW9uaSB2ZWRlcmUgc2V0YXJjaCg4KS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJhcmd1bWVudCAlbHUgaXMgdG9vIGxhcmdlIgorI34gbXNnc3RyICItLWRhdGUgYXJnb21lbnRvIHRyb3BwbyBsdW5nb1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRlcm1pbmFsIGVudmlyb25tZW50IENPTFVNTlMgZmFpbGVkIgorI34gbXNnc3RyICJzZW1hZm9yaSBhbGxvY2F0aSA9ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIGxlbmd0aCB2YWx1ZSIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogdmFsb3JlIGx1bmdoZXp6YSBub24gdmFsaWRvLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImJhZCBza2lwIHZhbHVlIgorI34gbXNnc3RyICJoZXhkdW1wOiB2YWxvcmUgc2tpcCBub24gdmFsaWRvLlxuIgorCisjfiBtc2dpZCAiJXM6IFVzYWdlOiAlcyBbLW51bWJlcl0gWy1wIHN0cmluZ10gWy1jZWZucnNdIFsrbGluZV0gWysvcGF0dGVybi9dIFtmaWxlc11cbiIKKyN+IG1zZ3N0ciAiJXM6IFVzbzogJXMgWy1udW1lcm9dIFstcCBzdHJpbmdhXSBbLWNlZm5yc10gWytyaWdhXSBbKy9tb2RlbGxvL10gW2ZpbGVdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6ICVkOiBwYXJzZSBlcnJvciAtLSBsaW5lIGlnbm9yZWQuXG4iCisjfiBtc2dzdHIgImVycm9yZSBkaSBwb3NpemlvbmFtZW50byIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiBmYWlsZWQgdG8gcGFyc2UgJXMiCisjfiBtc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJS0yNXM6IGZhaWxlZDogJXNcbiIKKyN+IG1zZ3N0ciAiZm9yayBub24gcml1c2NpdG9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlLTI1czogZmFpbGVkXG4iCisjfiBtc2dzdHIgIiVzIG5vbiByaXVzY2l0by5cbiIKKworI34gbXNnaWQgIiAgIGQgICBkZWxldGUgYSBCU0QgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICBkICAgZWxpbWluYW5hemlvbmUgZGkgdW5hIHBhcnRpemlvbmUgQlNEIgorCisjfiBtc2dpZCAiICAgbiAgIGFkZCBhIG5ldyBCU0QgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICBuICAgYWdnaXVudGEgZGkgdW5hIG51b3ZhIHBhcnRpemlvbmUgQlNEIgorCisjfiBtc2dpZCAiICAgdCAgIGNoYW5nZSBhIHBhcnRpdGlvbidzIGZpbGVzeXN0ZW0gaWQiCisjfiBtc2dzdHIgIiAgIHQgICBtb2RpZmljYSBkZWxsJ2lkIGRlbCBmaWxlc3lzdGVtIGRpIHVuYSBwYXJ0aXppb25lIgorCisjfiBtc2dpZCAiICAgdSAgIGNoYW5nZSB1bml0cyAoY3lsaW5kZXJzL3NlY3RvcnMpIgorI34gbXNnc3RyICIgICBjICAgY2FtYmlhIHVuaXTDoCAoY2lsaW5kcmkvc2V0dG9yaSkiCisKKyN+IG1zZ2lkICIgICBwICAgcHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiICAgcCAgIHN0YW1wYSBkZWxsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkJ1aWxkaW5nIGEgbmV3IERPUyBkaXNrbGFiZWwgd2l0aCBkaXNrIGlkZW50aWZpZXIgMHglMDh4LlxuIgorI34gIkNoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS5cbiIKKyN+ICJBZnRlciB0aGF0LCBvZiBjb3Vyc2UsIHRoZSBwcmV2aW91cyBjb250ZW50IHdvbid0IGJlIHJlY292ZXJhYmxlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiQ3JlYXppb25lIGRpIHVuYSBudW92YSBkaXNrbGFiZWwgRE9TLiBMZSBtb2RpZmljaGUgcmltYXJyYW5ubyBtZW1vcml6emF0ZVxuIgorI34gInNvbGFtZW50ZSBmaW5vIGEgcXVhbmRvIHNpIGRlY2lkZSBkaSBzY3JpdmVybGUuIERvcG9kaWNow6ksIG92dmlhbWVudGUsIGlsXG4iCisjfiAiY29udGVudXRvIHByZWNlZGVudGUgbm9uIHBvdHLDoCBlc3NlcmUgcmVjdXBlcmF0by5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIkRldmljZSBjb250YWlucyBuZWl0aGVyIGEgdmFsaWQgRE9TIHBhcnRpdGlvbiB0YWJsZSwgbm9yIFN1biwgU0dJIG9yIE9TRiBkaXNrbGFiZWxcbiIKKyN+IG1zZ3N0ciAiSWwgZGlzcG9zaXRpdm8gbm9uIGNvbnRpZW5lIG7DqSB1bmEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIERPUyB2YWxpZGEsIG7DqSB1bmEgZGlza2xhYmVsIFN1biwgU0dJIG9kIE9TRlxuIgorCisjfiBtc2dpZCAiSW50ZXJuYWwgZXJyb3JcbiIKKyN+IG1zZ3N0ciAiRXJyb3JlIGludGVybm9cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJcdFNvcnJ5LCBubyBleHBlcnRzIG1lbnUgZm9yIFNHSSBwYXJ0aXRpb24gdGFibGVzIGF2YWlsYWJsZS5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0bmVzc3VuIG1lbnUgcGVyIGVzcGVydGkgZGlzcG9uaWJpbGUgcGVyIGxlIHRhYmVsbGUgZGVsbGUgcGFydGl6aW9uaSBTR0kuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJEbyBZb3Uga25vdywgWW91IGdvdCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrP1xuIgorI34gbXNnc3RyICJTaSBzYSBjaGUgc3VsIGRpc2NvIGVzaXN0ZSB1bmEgc292cmFwcG9zaXppb25lIGRpIHBhcnRpemlvbmk/XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiQnVpbGRpbmcgYSBuZXcgU0dJIGRpc2tsYWJlbC4gQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSxcbiIKKyN+ICJ1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uIEFmdGVyIHRoYXQsIG9mIGNvdXJzZSwgdGhlIHByZXZpb3VzXG4iCisjfiAiY29udGVudCB3aWxsIGJlIHVucmVjb3ZlcmFibHkgbG9zdC5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkNyZWF6aW9uZSBkaSB1bmEgbnVvdmEgZGlza2xhYmVsIFNHSS4gTGUgbW9kaWZpY2hlIHJpbWFycmFubm8gaW4gbWVtb3JpYVxuIgorI34gImZpbm8gYSBxdWFuZG8gc2kgZGVjaWRlIGRpIHNjcml2ZXJsZS4gRG9wb2RpY2jDqSwgb3Z2aWFtZW50ZSwgaWwgY29udGVudXRvXG4iCisjfiAicHJlY2VkZW50ZSBzYXLDoCBkZWZpbml0aXZhbWVudGUgcGVyc28uXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5IC0gZ2l2aW5nIHVwXG4iCisjfiBtc2dzdHIgIm1lbW9yaWEgaW5zdWZmaWNpZW50ZSAtIHRlcm1pbmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG1vdW50KDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGVyIG1hZ2dpb3JpIGluZm9ybWF6aW9uaSB2ZWRlcmUgc2V0YXJjaCg4KS5cbiIKKworI34gbXNnaWQgImxvZ2luOiBtZW1vcnkgbG93LCBsb2dpbiBtYXkgZmFpbFxuIgorI34gbXNnc3RyICJsb2dpbjogcG9jYSBtZW1vcmlhLCDDqCBwb3NzaWJpbGUgY2hlIGlsIGxvZ2luIG5vbiByaWVzY2FcbiIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBmb3IgdHR5Y2xhc3MiCisjfiBtc2dzdHIgIm1hbGxvYyBwZXIgdHR5Y2xhc3Mgbm9uIHBvc3NpYmlsZSIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBmb3IgZ3JwbGlzdCIKKyN+IG1zZ3N0ciAibWFsbG9jIHBlciBncnBsaXN0IGltcG9zc2liaWxlIgorCisjfiBtc2dpZCAiTG9naW4gb24gJXMgZnJvbSAlcyBkZW5pZWQuXG4iCisjfiBtc2dzdHIgIkxvZ2luIGEgJXMgZGEgJXMgbmVnYXRvLlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsgLWYgZnVsbC1uYW1lIF0gWyAtbyBvZmZpY2UgXSAiCisjfiBtc2dzdHIgIlVzbzogJXMgWyAtZiBub21lIGludGVybyBdIFsgLW8gdWZmaWNpbyBdIgorCisjfiBtc2dpZCAiWyAtLWhlbHAgXSBbIC0tdmVyc2lvbiBdXG4iCisjfiBtc2dzdHIgIlsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorI34gbXNnc3RyICJjaHNoOiBlcnJvcmUgUEFNLCBpbnRlcnJ1emlvbmUgaW4gY29yc286ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlMSRzIFstcyBzaGVsbF0gW3VzZXJuYW1lXVxuIgorI34gIiAgIG9yOiAlMSRzICgtLWxpc3Qtc2hlbGxzIHwgLS1oZWxwIHwgLS12ZXJzaW9uKVxuIgorI34gbXNnc3RyICIiCisjfiAiVXNvOiAlcyBbIC1zIHNoZWxsIF0gWyAtLWxpc3Qtc2hlbGxzIF0gWyAtLWhlbHAgXSBbIC0tdmVyc2lvbiBdXG4iCisjfiAiICAgICAgIFsgbm9tZXV0ZW50ZSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzLiIKKyN+IG1zZ3N0ciAiJXM6IMOoIHBvc3NpYmlsZSBtb2RpZmljYXJlIHNvbG8gbGUgdm9jaSBsb2NhbGk7IHV0aWxpenphcmUgaW52ZWNlIHlwJXMuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNhbid0IHNldCBkZWZhdWx0IGNvbnRleHQgZm9yIC9ldGMvcGFzc3dkIgorI34gbXNnc3RyICIlczogaW1wb3NzaWJpbGUgaW1wb3N0YXJlIGlsIGNvbnRlc3RvIHByZWRlZmluaXRvIHBlciAvZXRjL3Bhc3N3ZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZXRwd25hbSBmYWlsZWQiCisjfiBtc2dzdHIgInJpY2VyY2Egbm9uIHJpdXNjaXRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBVc2UgLWwgb3B0aW9uIHRvIHNlZSBsaXN0LlxuIgorI34gbXNnc3RyICIlczogdXNhcmUgbCdvcHppb25lIC1sIHBlciB2ZWRlcmUgbCdlbGVuY29cbiIKKworI34gbXNnaWQgInVzYWdlOiBsb2dpbiBbLWZwXSBbdXNlcm5hbWVdXG4iCisjfiBtc2dzdHIgIlVzbzogbG9naW4gWy1mcF0gW25vbWV1dGVudGVdXG4iCisKKyN+IG1zZ2lkICJJbGxlZ2FsIHVzZXJuYW1lIgorI34gbXNnc3RyICJOb21lIHV0ZW50ZSBub24gdmFsaWRvIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIGxvZ2luIHJlZnVzZWQgb24gdGhpcyB0ZXJtaW5hbC4iCisjfiBtc2dzdHIgIiVzIGxvZ2luIHJpZml1dGF0byBzdSBxdWVzdG8gdGVybWluYWxlLlxuIgorCisjfiBtc2dpZCAiTE9HSU4gJXMgUkVGVVNFRCBGUk9NICVzIE9OIFRUWSAlcyIKKyN+IG1zZ3N0ciAiTE9HSU4gJXMgUklGSVVUQVRPIERBICVzIFNVIFRUWSAlcyIKKworI34gbXNnaWQgIkxPR0lOICVzIFJFRlVTRUQgT04gVFRZICVzIgorI34gbXNnc3RyICJMT0dJTiAlcyBSSUZJVVRBVE8gU1UgVFRZICVzIgorCisjfiBtc2dpZCAiTG9naW4gaW5jb3JyZWN0XG4iCisjfiBtc2dzdHIgIkxvZ2luIG5vbiBjb3JyZXR0b1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNoYW5nZSB0ZXJtaW5hbCBvd25lciBmYWlsZWQiCisjfiBtc2dzdHIgInNlbWFmb3JpIGFsbG9jYXRpID0gJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsdXJlIGZvcmtpbmciCisjfiBtc2dzdHIgImxvZ2luOiBlcnJvcmUgaW4gZXNlY3V6aW9uZSBkZWwgZm9yazogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiJXMgbG9naW46ICIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIiVzIGxvZ2luOiAiCisKKyN+IG1zZ2lkICJOQU1FIHRvbyBsb25nIgorI34gbXNnc3RyICJOT01FIHRyb3BwbyBsdW5nbyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsb2dpbiBuYW1lIG11Y2ggdG9vIGxvbmcuIgorI34gbXNnc3RyICJpbCBub21lIGRpIGxvZ2luIMOoIHRyb3BwbyBsdW5nby5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsb2dpbiBuYW1lcyBtYXkgbm90IHN0YXJ0IHdpdGggJy0nLiIKKyN+IG1zZ3N0ciAiSSBub21pIGRpIGxvZ2luIG5vbiBwb3Nzb25vIGluaXppYXJlIGNvbictJy5cbiIKKworI34gbXNnaWQgIkVYQ0VTU0lWRSBsaW5lZmVlZHMiCisjfiBtc2dzdHIgIkxpbmVmZWVkIEVDQ0VTU0lWSSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0b28gbWFueSBiYXJlIGxpbmVmZWVkcy4iCisjfiBtc2dzdHIgInRyb3BwaSBsaW5lZmVlZCB2dW90aS5cbiIKKworI34gbXNnaWQgIkxPR0lOIEZBSUxVUkUgRlJPTSAlcywgJXMiCisjfiBtc2dzdHIgIkVSUk9SRSBESSBMT0dJTiBEQSAlcywgJXMiCisKKyN+IG1zZ2lkICJMT0dJTiBGQUlMVVJFIE9OICVzLCAlcyIKKyN+IG1zZ3N0ciAiRVJST1JFIERJIExPR0lOIFNVICVzLCAlcyIKKworI34gbXNnaWQgIiVkIExPR0lOIEZBSUxVUkVTIEZST00gJXMsICVzIgorI34gbXNnc3RyICIlZCBFUlJPUkkgREkgTE9HSU4gREEgJXMsICVzIgorCisjfiBtc2dpZCAiJWQgTE9HSU4gRkFJTFVSRVMgT04gJXMsICVzIgorI34gbXNnc3RyICIlZCBFUlJPUkkgREkgTE9HSU4gU1UgJXMsICVzIgorCisjfiBtc2dpZCAiJXM6IHRoZSBncm91cCBmaWxlIGlzIGJ1c3kuXG4iCisjfiBtc2dzdHIgIiVzOiBpbCBmaWxlIGRpIGdydXBwbyDDqCBvY2N1cGF0by5cbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCB1bmxvY2sgJXM6ICVzICh5b3VyIGNoYW5nZXMgYXJlIHN0aWxsIGluICVzKVxuIgorI34gbXNnc3RyICIlczogaW1wb3NzaWJpbGUgc2Jsb2NjYXJlICVzOiAlcyAobGUgbW9kaWZpY2hlIGVmZmV0dHVhdGUgc29ubyBhbmNvcmEgaW4gJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2FsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAibWFsbG9jIG5vbiByaXVzY2l0YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXQVJOSU5HOiAlczogYXBwZWFycyB0byBjb250YWluICclcycgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJJbCBkaXNjbyAlcyBub24gY29udGllbmUgdW5hIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSB2YWxpZGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogd3JpdGUgZmFpbGVkIgorI34gbXNnc3RyICJvcGVucHR5IG5vbiByaXVzY2l0YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiAvZGV2IGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdC4iCisjfiBtc2dzdHIgIiVzOiBsJ3V0ZW50ZSBcIiVzXCIgbm9uIGVzaXN0ZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBzZXQgY2FwYWNpdHkgb24gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBpbXBvc3NpYmlsZSBvdHRlbmVyZSBpbmZvcm1hemlvbmkgc3VsIGRldmljZSAlczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIsIG9mZnNldCAlPFBSSXU2ND4iCisjfiBtc2dzdHIgIiwgb2Zmc2V0ICVkIgorCisjfiBtc2dpZCAiLCBlbmNyeXB0aW9uIHR5cGUgJWRcbiIKKyN+IG1zZ3N0ciAiLCB0aXBvIGRpIGNpZnJhdHVyYSAlZFxuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3QgZ2V0IGluZm8gb24gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBpbXBvc3NpYmlsZSBvdHRlbmVyZSBpbmZvcm1hemlvbmkgc3VsIGRldmljZSAlczogJXNcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IG9wZW4gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBpbXBvc3NpYmlsZSBhcHJpcmUgaWwgZGV2aWNlICVzOiAlc1xuIgorCisjIEZJWE1FOiBsb29wIGRldmljZQorI34gbXNnaWQgIiIKKyN+ICIlczogQ291bGQgbm90IGZpbmQgYW55IGxvb3AgZGV2aWNlLiBNYXliZSB0aGlzIGtlcm5lbCBkb2VzIG5vdCBrbm93XG4iCisjfiAiICAgICAgIGFib3V0IHRoZSBsb29wIGRldmljZT8gKElmIHNvLCByZWNvbXBpbGUgb3IgYG1vZHByb2JlIGxvb3AnLikiCisjfiBtc2dzdHIgIiIKKyN+ICIlczogaW1wb3NzaWJpbGUgdHJvdmFyZSBxdWFsc2lhc2kgbG9vcCBkZXZpY2UuIEZvcnNlIHF1ZXN0byBrZXJuZWxcbiIKKyN+ICIgICAgICAgbm9uIMOoIGEgY29ub3NjZW56YSBkZWwgbG9vcCBkZXZpY2UgKHNlIMOoIHF1ZXN0byBpbCBjYXNvLFxuIgorI34gIiAgICAgICBvY2NvcnJlIHJpY29tcGlsYXJlIG8gZXNlZ3VpcmUgXCJtb2Rwcm9iZSBsb29wXCIpLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5IHdoaWxlIHJlYWRpbmcgcGFzc3BocmFzZSIKKyN+IG1zZ3N0ciAiTWVtb3JpYSBpbnN1ZmZpY2llbnRlIHF1YW5kbyBzaSBhbXBsaWEgaWwgYnVmZmVyLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhcm5pbmc6ICVzIGlzIGFscmVhZHkgYXNzb2NpYXRlZCB3aXRoICVzXG4iCisjfiBtc2dzdHIgIklsIHNldHRvcmUgJWQgw6ggZ2nDoCBhbGxvY2F0b1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhcm5pbmc6ICVzOiBpcyB3cml0ZS1wcm90ZWN0ZWQsIHVzaW5nIHJlYWQtb25seS5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzJXMgw6ggcHJvdGV0dG8gZGEgc2NyaXR0dXJhLCB2aWVuZSBtb250YXRvIGluIHNvbGEgbGV0dHVyYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZXRfbG9vcCglcywlcywlbGx1LCVsbHUpOiBzdWNjZXNzXG4iCisjfiBtc2dzdHIgInNldF9sb29wKCVzLCVzLCVsbHUpOiByaXVzY2l0b1xuIgorCisjfiBtc2dpZCAiZGVsX2xvb3AoJXMpOiBzdWNjZXNzXG4iCisjfiBtc2dzdHIgImRlbF9sb29wKCVzKTogcml1c2NpdG9cbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IGRlbGV0ZSBkZXZpY2UgJXM6ICVzXG4iCisjfiBtc2dzdHIgImxvb3A6IGltcG9zc2liaWxlIGVsaW1pbmFyZSBpbCBkZXZpY2UgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJUaGlzIG1vdW50IHdhcyBjb21waWxlZCB3aXRob3V0IGxvb3Agc3VwcG9ydC4gUGxlYXNlIHJlY29tcGlsZS5cbiIKKyN+IG1zZ3N0ciAiUXVlc3RvIG1vdW50IMOoIHN0YXRvIGNvbXBpbGF0byBzZW56YSBzdXBwb3J0byBwZXIgbG9vcC4gUmljb21waWxhcmUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBwYXJ0eCg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBlciBtYWdnaW9yaSBpbmZvcm1hemlvbmkgdmVkZXJlIHNldGFyY2goOCkuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1xIFstaSBpbnRlcnZhbF1dIChbLXMgdmFsdWVdfFstUyB2YWx1ZV0pIChbLXQgdmFsdWVdfFstVCB2YWx1ZV0pIFstZ3wtR10gZmlsZSBbZmlsZS4uLl1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVzbzogJXMgWy1xIFstaSBpbnRlcnZhbGxvXV0gKFstcyB2YWxvcmVdfFstUyB2YWxvcmVdKSAoWy10IHZhbG9yZV18Wy1UIHZhbG9yZV1cbiIKKyN+ICIgICAgICAgIFstZ3wtR10gZmlsZSBbZmlsZS4uLl1cbiIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gJXM6ICVzXG4iCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGFwcmlyZSAlczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2Fubm90IG9wZW4gbG9jayBmaWxlICVzOiAlc1xuIgorI34gbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBiYWQgbnVtYmVyOiAlc1xuIgorI34gbXNnc3RyICIlczogdmFsb3JlIG5vbiB2YWxpZG9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZm9yayBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgImZvcmsgbm9uIHJpdXNjaXRvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBpcGNtaygxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBlciBtYWdnaW9yaSBpbmZvcm1hemlvbmkgdmVkZXJlIHNldGFyY2goOCkuXG4iCisKKyN+IG1zZ2lkICJkZXByZWNhdGVkIHVzYWdlOiAlcyB7c2htIHwgbXNnIHwgc2VtfSBpZCAuLi5cbiIKKyN+IG1zZ3N0ciAidXNvIGRlcHJlY2F0bzogJXMge3NobSB8IG1zZyB8IHNlbX0gaWQgLi4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAidXNhZ2U6ICVzIFsgWy1xIG1zcWlkXSBbLW0gc2htaWRdIFstcyBzZW1pZF1cbiIKKyN+ICIgICAgICAgICAgWy1RIG1zZ2tleV0gWy1NIHNobWtleV0gWy1TIHNlbWtleV0gLi4uIF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVzbzogJXMgWyBbLXEgbXNxaWRdIFstbSBzaG1pZF0gWy1zIHNlbWlkXVxuIgorI34gIiAgICAgICAgWy1RIG1zZ2tleV0gWy1NIHNobWtleV0gWy1TIHNlbWtleV0gLi4uIF1cbiIKKworI34gbXNnaWQgInVua25vd24gZXJyb3IgaW4ga2V5IgorI34gbXNnc3RyICJlcnJvcmUgc2Nvbm9zY2l1dG8gbmVsbGEgY2hpYXZlIgorCisjfiBtc2dpZCAidW5rbm93biBlcnJvciBpbiBpZCIKKyN+IG1zZ3N0ciAiZXJyb3JlIHNjb25vc2NpdXRpIGluIGlkIgorCisjfiBtc2dpZCAiJXM6ICVzICglcylcbiIKKyN+IG1zZ3N0ciAiJXM6ICVzICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsZGF0dGFjaCBmcm9tICVzXG4iCisjfiBtc2dzdHIgIiVzIGRhICVzXG4iCisKKyMgTmRUOiB0cmFkdXppb25lIHNlZ3VlbmRvICdtYW4gcmVhZHByb2ZpbGUnCisjIEZJWE1FCisjfiBtc2dpZCAiIgorI34gIiVzOiBVc2FnZTogXCIlcyBbb3B0aW9uc11cbiIKKyN+ICJcdCAtbSA8bWFwZmlsZT4gIChkZWZhdWx0czogXCIlc1wiIGFuZFxuIgorI34gIlx0XHRcdFx0ICBcIiVzXCIpXG4iCisjfiAiXHQgLXAgPHByby1maWxlPiAoZGVmYXVsdDogXCIlc1wiKVxuIgorI34gIlx0IC1NIDxtdWx0PiAgICAgc2V0IHRoZSBwcm9maWxpbmcgbXVsdGlwbGllciB0byA8bXVsdD5cbiIKKyN+ICJcdCAtaSAgICAgICAgICAgIHByaW50IG9ubHkgaW5mbyBhYm91dCB0aGUgc2FtcGxpbmcgc3RlcFxuIgorI34gIlx0IC12ICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBkYXRhXG4iCisjfiAiXHQgLWEgICAgICAgICAgICBwcmludCBhbGwgc3ltYm9scywgZXZlbiBpZiBjb3VudCBpcyAwXG4iCisjfiAiXHQgLWIgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCisjfiAiXHQgLXMgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGNvdW50ZXJzIHdpdGhpbiBmdW5jdGlvbnNcbiIKKyN+ICJcdCAtciAgICAgICAgICAgIHJlc2V0IGFsbCB0aGUgY291bnRlcnMgKHJvb3Qgb25seSlcbiIKKyN+ICJcdCAtbiAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorI34gIlx0IC1WICAgICAgICAgICAgcHJpbnQgdmVyc2lvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiJXM6IFVzbzogXCIlcyBbb3B6aW9uaV1cbiIKKyN+ICJcdCAtbSA8bWFwZmlsZT4gIChwcmVkZWZpbml0aTogXCIlc1wiIGVcbiIKKyN+ICJcdFx0XHRcdCAgICAgXCIlc1wiKVxuIgorI34gIlx0IC1wIDxwcm9maWxvPiAgKHByZWRlZmluaXRvOiBcIiVzXCIpXG4iCisjfiAiXHQgLU0gPG11bHQ+ICAgICBpbXBvc3RhIGxhIGZyZXF1ZW56YSBkZWwgcHJvZmlsaW5nIGEgPG11bHQ+XG4iCisjfiAiXHQgLWkgICAgICAgICAgICBzdGFtcGEgc29sbyBsZSBpbmZvcm1hemlvbmkgc3VsIHBhc3NvIGRpIGNhbXBpb25hbWVudG9cbiIKKyN+ICJcdCAtdiAgICAgICAgICAgIHN0YW1wYSBpIGRhdGkgaW4gZWxlbmNvXG4iCisjfiAiXHQgLWEgICAgICAgICAgICBzdGFtcGEgdHV0dGkgaSBzaW1ib2xpLCBhbmNoZSBzZSBpbCBjb250ZWdnaW8gw6ggMFxuIgorI34gIlx0IC1iICAgICAgICAgICAgc3RhbXBhIGlzdG9ncmFtbWkgaW5kaXZpZHVhbGlcbiIKKyN+ICJcdCAtcyAgICAgICAgICAgIHN0YW1wYSBjb250YXRvcmkgaW5kaXZpZHVhbGkgbmVsbGUgZnVuemlvbmlcbiIKKyN+ICJcdCAtciAgICAgICAgICAgIHJlaW1wb3N0YSB0dXR0aSBpIGNvbnRhdG9yaSAoc29sYW1lbnRlIHV0ZW50ZSByb290KVxuIgorI34gIiAgICAgICAgIC1uICAgICAgICAgICAgZGlzYWJpbGl0YSBsYSByaWxldmF6aW9uZSBhdXRvbWF0aWNhIGRlbCBieXRlIG9yZGVyXG4iCisjfiAiXHQgLVYgICAgICAgICAgICBzdGFtcGEgbGEgdmVyc2lvbmUgZWQgZXNjZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJlYWRwcm9maWxlOiBlcnJvciB3cml0aW5nICVzOiAlc1xuIgorI34gbXNnc3RyICJtb3VudDogZXJyb3JlIGR1cmFudGUgbGEgc2NyaXR0dXJhIGRpICVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHJ0Y3dha2UoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQZXIgbWFnZ2lvcmkgaW5mb3JtYXppb25pIHZlZGVyZSBzZXRhcmNoKDgpLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBzZXRhcmNoKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGVyIG1hZ2dpb3JpIGluZm9ybWF6aW9uaSB2ZWRlcmUgc2V0YXJjaCg4KS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICIlczogJXNcbiIKKyN+ICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogJXNcbiIKKyN+ICJQcm92YXJlIFwiJXMgLS1oZWxwXCIgcGVyIHVsdGVyaW9yaSBpbmZvcm1hemlvbmkuXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgcHJvZ3JhbSBbYXJnIC4uLl1cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBwcm9ncmFtbWEgW2FyZyAuLi5dXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIDxkZXZpY2U+IFsgLWkgPElSUT4gfCAtdCA8VElNRT4gfCAtYyA8Q0hBUlM+IHwgLXcgPFdBSVQ+IHwgXG4iCisjfiAiICAgICAgICAgIC1hIFtvbnxvZmZdIHwgLW8gW29ufG9mZl0gfCAtQyBbb258b2ZmXSB8IC1xIFtvbnxvZmZdIHwgLXMgfCBcbiIKKyN+ICIgICAgICAgICAgLVQgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIiCisjfiAiVXNvOiAlcyA8ZGV2aWNlPiBbIC1pIDxJUlE+IHwgLXQgPFRJTUU+IHwgLWMgPENIQVJTPiB8IC13IDxXQUlUPiB8IFxuIgorI34gIiAgICAgICAgLWEgW29ufG9mZl0gfCAtbyBbb258b2ZmXSB8IC1DIFtvbnxvZmZdIHwgLXEgW29ufG9mZl0gfCAtcyB8IFxuIgorI34gIiAgICAgICAgLVQgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiJXM6IGJhZCB2YWx1ZVxuIgorI34gbXNnc3RyICIlczogdmFsb3JlIG5vbiB2YWxpZG9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHVuc2hhcmUoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQZXIgbWFnZ2lvcmkgaW5mb3JtYXppb25pIHZlZGVyZSBzZXRhcmNoKDgpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNsb3NpbmcgZmlsZSAlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkVycm9yZSBkdXJhbnRlIGxhIGNoaXVzdXJhIGRlbCBmaWxlXG4iCisKKyN+IG1zZ2lkICJTb3JyeSBZb3UgbWF5IGNoYW5nZSB0aGUgVGFnIG9mIG5vbi1lbXB0eSBwYXJ0aXRpb25zLlxuIgorI34gbXNnc3RyICLDiCBwb3NzaWJpbGUgbW9kaWZpY2FyZSBzb2xhbWVudGUgaWwgdGFnIGRlbGxlIHBhcnRpemlvbmkgbm9uIHZ1b3RlLlxuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzICIKKyN+IG1zZ3N0ciAiQXR0ZW56aW9uZTogbGEgcGFydGl6aW9uZSAlcyAiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb25zICVzICIKKyN+IG1zZ3N0ciAiQXR0ZW56aW9uZTogbGUgcGFydGl6aW9uaSAlcyAiCisKKyN+IG1zZ2lkICJhbmQgJXMgb3ZlcmxhcFxuIgorI34gbXNnc3RyICJlICVzIHNpIHNvdnJhcHBvbmdvbm9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICAlcyBbb3B0aW9uc10gZGV2aWNlIFsuLi5dXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRGV2aWNlIGlzIHNvbWV0aGluZyBsaWtlIC9kZXYvaGRhIG9yIC9kZXYvc2RhXG4iCisjfiBtc2dzdHIgImRpc3Bvc2l0aXZvOiBxdWFsY29zYSBjb21lIC9kZXYvaGRhIG8gL2Rldi9zZGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gPGZpbGVuYW1lPlxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc11cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXVxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGVdXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAlcyAtVlxuIgorI34gbXNnc3RyICIgICAgICAgJXMgLWwgWyBzZWduYWxlIF1cbiIKKworI34gbXNnaWQgIiAgJXMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisjfiBtc2dzdHIgIiAgJXMgLS1yZXBvcnQgW2Rpc3Bvc2l0aXZpXVxuIgorCisjfiBtc2dpZCAiICAlcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyN+IG1zZ3N0ciAiICAlcyBbLXZ8LXFdIGNvbWFuZGkgZGlzcG9zaXRpdmlcbiIKKworI34gbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbiAlc1xuIgorI34gbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlICVzXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtbiBdIGRldmljZVxuIgorI34gbXNnc3RyICJVc286ICAlcyBbIC1uIF0gZGlzcG9zaXRpdm9cbiIKKworI34gbXNnaWQgIm1hbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgIm1hbGxvYyBub24gcml1c2NpdGEiCisKKyN+IG1zZ2lkICIlczogb3B0aW9uIHBhcnNlIGVycm9yXG4iCisjfiBtc2dzdHIgIiVzOiBlcnJvcmUgZGkgY29tcHJlbnNpb25lIGRlbGwnb3B6aW9uZVxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsteF0gWy1kIDxudW0+XSBpc285NjYwLWltYWdlXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgWy14XSBbLWQgPG51bT5dIGlzbzk2NjAtaW1hZ2VcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgWy12XSBbLU4gbnItb2YtaW5vZGVzXSBbLVYgdm9sdW1lLW5hbWVdXG4iCisjfiAiICAgICAgIFstRiBmc25hbWVdIGRldmljZSBbYmxvY2stY291bnRdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVc286ICVzIFstdl0gWy1OIG4tZGktaW5vZGVdIFstViBub21lLXZvbHVtZV1cbiIKKyN+ICIgICAgICAgIFstRiBub21lLWZpbGVzc3lzdGVtXSBkaXNwb3NpdGl2byBbbnVtZXJvLWJsb2NjaGldXG4iCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gc3RhdCAlcyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgZmFyZSBzdGF0IGRpICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgc2VjdG9yIHNpemUgZm9yICVzIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBvdHRlbmVyZSBsYSBkaW1lbnNpb25lIGRpICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLWNdIFstcFBBR0VTWl0gWy1MIGxhYmVsXSBbLVUgVVVJRF0gL2Rldi9uYW1lIFtibG9ja3NdXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgWy1jXSBbLXYwfC12MV0gWy1wRElNUEFHSU5BXSBbLUwgZXRpY2hldHRhXSAvZGV2L25vbWUgW2Jsb2NjaGldXG4iCisKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5IgorI34gbXNnc3RyICJNZW1vcmlhIGVzYXVyaXRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgICVzICIKKyN+IG1zZ3N0ciAiVXNvOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk1lbnUgd2l0aG91dCBkaXJlY3Rpb24uIERlZmF1bHRpbmcgdG8gaG9yaXpvbnRhbC4iCisjfiBtc2dzdHIgIk1lbnUgc2VuemEgZGlyZXppb25lLiDDiCBwcmVkZWZpbml0YSBxdWVsbGEgb3JpenpvbnRhbGUuIgorCisjfiBtc2dpZCAiIgorI34gIkNvbW1hbmQgYWN0aW9uXG4iCisjfiAiICAgJXNcbiIKKyN+ICIgICBwICAgcHJpbWFyeSBwYXJ0aXRpb24gKDEtNClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkF6aW9uZSBjb21hbmRvXG4iCisjfiAiICAgJXNcbiIKKyN+ICIgICBwICAgcGFydGl6aW9uZSBwcmltYXJpYSAoMS00KVxuIgorCisjfiBtc2dpZCAiICAgIC1zIFtvciAtLXNob3ctc2l6ZV06IGxpc3Qgc2l6ZSBvZiBhIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgIC1zIFtvIC0tc2hvdy1zaXplXTogZWxlbmNvIGRpbWVuc2lvbmkgZGkgdW5hIHBhcnRpemlvbmUiCisKKyN+IG1zZ2lkICIgICAgLWQgW29yIC0tZHVtcF06ICAgICAgaWRlbSwgYnV0IGluIGEgZm9ybWF0IHN1aXRhYmxlIGZvciBsYXRlciBpbnB1dCIKKyN+IG1zZ3N0ciAiICAgIC1kIFtvIC0tZHVtcF06ICAgICAgaWRlbSwgbWEgaW4gdW4gZm9ybWF0byBhZGF0dG8gcGVyIHVuIHN1Y2Nlc3Npdm8gaW5wdXQiCisKKyN+IG1zZ2lkICIgICAgLWkgW29yIC0taW5jcmVtZW50XTogbnVtYmVyIGN5bGluZGVycyBldGMuIGZyb20gMSBpbnN0ZWFkIG9mIGZyb20gMCIKKyN+IG1zZ3N0ciAiICAgIC1pIFtvIC0taW5jcmVtZW50XTogbnVtZXJvIGRlaSBjaWxpbmRyaSBlY2MuIHBhcnRlbmRvIGRhIDEgaW52ZWNlIGNoZSBkYSAwIgorCisjfiBtc2dpZCAiICAgIC11UywgLXVCLCAtdUMsIC11TTogIGFjY2VwdC9yZXBvcnQgaW4gdW5pdHMgb2Ygc2VjdG9ycy9ibG9ja3MvY3lsaW5kZXJzL01CIgorI34gbXNnc3RyICIgICAgLXVTLCAtdUIsIC11QywgLXVNOiAgYWNjZXR0YS9yaXBvcnRhIGluIHVuaXTDoCBkaSBzZXR0b3JpL2Jsb2NjaGkvY2lsaW5kcmkvTUIiCisKKyN+IG1zZ2lkICIgICAgLVQgW29yIC0tbGlzdC10eXBlc106bGlzdCB0aGUga25vd24gcGFydGl0aW9uIHR5cGVzIgorI34gbXNnc3RyICIgICAgLVQgW28gLS1saXN0LXR5cGVzXTplbGVuY2EgaSB0aXBpIGRpIHBhcnRpemlvbmUgY29ub3NjaXV0aSIKKworI34gbXNnaWQgIiAgICAtRCBbb3IgLS1ET1NdOiAgICAgICBmb3IgRE9TLWNvbXBhdGliaWxpdHk6IHdhc3RlIGEgbGl0dGxlIHNwYWNlIgorI34gbXNnc3RyICIgICAgLUQgW28gLS1ET1NdOiAgICAgICBwZXIgbGEgY29tcGF0aWJpbGl0w6AgY29uIERPUzogc3ByZWNhIHVuIHBvJyBkaSBzcGF6aW8iCisKKyN+IG1zZ2lkICIgICAgLVIgW29yIC0tcmUtcmVhZF06ICAgbWFrZSBrZXJuZWwgcmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiICAgIC1SIFtvIC0tcmUtcmVhZF06ICAgZmEgcmlsZWdnZXJlIGFsIGtlcm5lbCBsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkiCisKKyN+IG1zZ2lkICIgICAgLU8gZmlsZSA6ICAgICAgICAgICAgc2F2ZSB0aGUgc2VjdG9ycyB0aGF0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gdG8gZmlsZSIKKyN+IG1zZ3N0ciAiICAgIC1PIGZpbGUgOiAgICAgICAgICAgIHNhbHZhIHN1bCBmaWxlIGkgc2V0dG9yaSBjaGUgdmVycmFubm8gc292cmFzY3JpdHRpIgorCisjfiBtc2dpZCAiICAgIC1JIGZpbGUgOiAgICAgICAgICAgIHJlc3RvcmUgdGhlc2Ugc2VjdG9ycyBhZ2FpbiIKKyN+IG1zZ3N0ciAiICAgIC1JIGZpbGUgOiAgICAgICAgICAgIHJpcHJpc3RpbmEgcXVlc3RpIHNldHRvcmkgbnVvdmFtZW50ZSIKKworI34gbXNnaWQgIiAgICAtdiBbb3IgLS12ZXJzaW9uXTogICBwcmludCB2ZXJzaW9uIgorI34gbXNnc3RyICIgICAgLXYgW28gLS12ZXJzaW9uXTogICBzdGFtcGEgdmVyc2lvbmUiCisKKyN+IG1zZ2lkICIgICAgLT8gW29yIC0taGVscF06ICAgICAgcHJpbnQgdGhpcyBtZXNzYWdlIgorI34gbXNnc3RyICIgICAgLT8gW28gLS1oZWxwXTogICAgIHN0YW1wYSBxdWVzdG8gbWVzc2FnZ2lvIgorCisjfiBtc2dpZCAiICAgIC1nIFtvciAtLXNob3ctZ2VvbWV0cnldOiBwcmludCB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIiAgICAtZyBbbyAtLXNob3ctZ2VvbWV0cnldOiBzdGFtcGEgbCdpZGVhIGRlbCBrZXJuZWwgcmlndWFyZG8gYWxsYSBnZW9tZXRyaWEiCisKKyN+IG1zZ2lkICIgICAgLUwgIFtvciAtLUxpbnV4XTogICAgICBkbyBub3QgY29tcGxhaW4gYWJvdXQgdGhpbmdzIGlycmVsZXZhbnQgZm9yIExpbnV4IgorI34gbXNnc3RyICIgICAgLUwgIFtvIC0tTGludXhdOiAgICAgIG5vbiBzZWduYWxhIGxlIGNvc2UgaXJyaWxldmFudGkgcGVyIExpbnV4IgorCisjfiBtc2dpZCAiICAgIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRldGVjdGVkIGdlb21ldHJ5IHVzaW5nOiIKKyN+IG1zZ3N0ciAiICAgIMOIIHBvc3NpYmlsZSBub24gdXNhcmUgbGEgZ2VvbWV0cmlhIHJpbGV2YXRhIHV0aWxpenphbmRvOiIKKworI34gbXNnaWQgIiAgICAtZiAgW29yIC0tZm9yY2VdOiAgICAgIGRvIHdoYXQgSSBzYXksIGV2ZW4gaWYgaXQgaXMgc3R1cGlkIgorI34gbXNnc3RyICIgICAgLWYgIFtvIC0tZm9yY2VdOiAgICAgIGZhIGNpw7IgY2hlIGRpY28sIGFuY2hlIHNlIMOoIHN0dXBpZG8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ291bGRuJ3QgYWxsb2NhdGUgbWVtb3J5IGZvciBmaWxlc3lzdGVtIHR5cGVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBzaSBkZXZlIHNwZWNpZmljYXJlIGlsIHRpcG8gZGkgZmlsZXN5c3RlbSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogZnNjayBbLUFNTlBSVFZdIFsgLUMgWyBmZCBdIF0gWy10IGZzdHlwZV0gW2ZzLW9wdGlvbnNdIFtmaWxlc3lzIC4uLl1cbiIKKyN+IG1zZ3N0ciAiVXNvOiBta2ZzIFstVl0gWy10IHRpcG9mc10gW29wemlvbmktZnNdIGRpc3Bvc2l0aXZvIFtkaW1lbnNpb25lXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNvdWxkbid0IG9wZW4gJXM6ICVzXG4iCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGFwcmlyZSAlczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmc2NrIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAiJXMgZGEgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogVW5hYmxlIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgZnNja19wYXRoXG4iCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlciBwZXIgZ2xpIGlub2RlIgorCisjfiBtc2dpZCAiVHJ5IGBnZXRvcHQgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiUHJvdmFyZSBjb24gXCJnZXRvcHQgLS1oZWxwXCIgcGVyIHVsdGVyaW9yaSBpbmZvcm1hemlvbmkuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogZ2V0b3B0IG9wdHN0cmluZyBwYXJhbWV0ZXJzXG4iCisjfiBtc2dzdHIgIlVzbzogZ2V0b3B0IG9wdHN0cmluZyBwYXJhbWV0cmlcbiIKKworI34gbXNnaWQgIiAgICAgICBnZXRvcHQgW29wdGlvbnNdIFstLV0gb3B0c3RyaW5nIHBhcmFtZXRlcnNcbiIKKyN+IG1zZ3N0ciAiICAgICAgZ2V0b3B0IFtvcHppb25pXSBbLS1dIG9wdHN0cmluZyBwYXJhbWV0cmlcbiIKKworI34gbXNnaWQgImdldG9wdCAoZW5oYW5jZWQpIDEuMS40XG4iCisjfiBtc2dzdHIgImdldG9wdCAoYXZhbnphdG8pIDEuMS40XG4iCisKKyN+IG1zZ2lkICIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pXG4iCisjfiBtc2dzdHIgIihQcmV2aXN0bzogXCJVVENcIiBvIFwiTE9DQUxcIiBvIG5pZW50ZS4pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gImh3Y2xvY2sgLSBxdWVyeSBhbmQgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayAoUlRDKVxuIgorI34gIlxuIgorI34gIlVzYWdlOiBod2Nsb2NrIFtmdW5jdGlvbl0gW29wdGlvbnMuLi5dXG4iCisjfiAiXG4iCisjfiAiRnVuY3Rpb25zOlxuIgorI34gIiAgLWggfCAtLWhlbHAgICAgICAgICBzaG93IHRoaXMgaGVscFxuIgorI34gIiAgLXIgfCAtLXNob3cgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCByZXN1bHRcbiIKKyN+ICIgICAgICAgLS1zZXQgICAgICAgICAgc2V0IHRoZSBydGMgdG8gdGhlIHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyN+ICIgIC1zIHwgLS1oY3Rvc3lzICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAgLXcgfCAtLXN5c3RvaGMgICAgICBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIHRvIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lXG4iCisjfiAiICAgICAgIC0tc3lzdHogICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgYmFzZWQgb24gdGhlIGN1cnJlbnQgdGltZXpvbmVcbiIKKyN+ICIgICAgICAgLS1hZGp1c3QgICAgICAgYWRqdXN0IHRoZSBydGMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCBzaW5jZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICB0aGUgY2xvY2sgd2FzIGxhc3Qgc2V0IG9yIGFkanVzdGVkXG4iCisjfiAiICAgICAgIC0tZ2V0ZXBvY2ggICAgIHByaW50IG91dCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWVcbiIKKyN+ICIgICAgICAgLS1zZXRlcG9jaCAgICAgc2V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZSB0byB0aGUgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGdpdmVuIHdpdGggLS1lcG9jaFxuIgorI34gIiAgICAgICAtLXByZWRpY3QgICAgICBwcmVkaWN0IHJ0YyByZWFkaW5nIGF0IHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyN+ICIgIC12IHwgLS12ZXJzaW9uICAgICAgcHJpbnQgb3V0IHRoZSB2ZXJzaW9uIG9mIGh3Y2xvY2sgdG8gc3Rkb3V0XG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczogXG4iCisjfiAiICAtdSB8IC0tdXRjICAgICAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIFVUQ1xuIgorI34gIiAgICAgICAtLWxvY2FsdGltZSAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBsb2NhbCB0aW1lXG4iCisjfiAiICAtZiB8IC0tcnRjPXBhdGggICAgIHNwZWNpYWwgL2Rldi8uLi4gZmlsZSB0byB1c2UgaW5zdGVhZCBvZiBkZWZhdWx0XG4iCisjfiAiICAgICAgIC0tZGlyZWN0aXNhICAgIGFjY2VzcyB0aGUgSVNBIGJ1cyBkaXJlY3RseSBpbnN0ZWFkIG9mICVzXG4iCisjfiAiICAgICAgIC0tYmFkeWVhciAgICAgIGlnbm9yZSBydGMncyB5ZWFyIGJlY2F1c2UgdGhlIGJpb3MgaXMgYnJva2VuXG4iCisjfiAiICAgICAgIC0tZGF0ZSAgICAgICAgIHNwZWNpZmllcyB0aGUgdGltZSB0byB3aGljaCB0byBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiICAgICAgIC0tZXBvY2g9eWVhciAgIHNwZWNpZmllcyB0aGUgeWVhciB3aGljaCBpcyB0aGUgYmVnaW5uaW5nIG9mIHRoZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgaGFyZHdhcmUgY2xvY2sncyBlcG9jaCB2YWx1ZVxuIgorI34gIiAgICAgICAtLW5vYWRqZmlsZSAgICBkbyBub3QgYWNjZXNzIC9ldGMvYWRqdGltZS4gUmVxdWlyZXMgdGhlIHVzZSBvZlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWVcbiIKKyN+ICIgICAgICAgLS1hZGpmaWxlPXBhdGggc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZSAoZGVmYXVsdCBpc1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAvZXRjL2FkanRpbWUpXG4iCisjfiAiICAgICAgIC0tdGVzdCAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IGFjdHVhbGx5IHVwZGF0aW5nIHRoZSBoYXJkd2FyZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBjbG9jayBvciBhbnl0aGluZyBlbHNlXG4iCisjfiAiICAtRCB8IC0tZGVidWcgICAgICAgIGRlYnVnIG1vZGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gImh3Y2xvY2sgLSByaWNlcmNhIGUgaW1wb3N0YXppb25lIGRlbCBjbG9jayBkaSBzaXN0ZW1hIChSVEMpXG4iCisjfiAiXG4iCisjfiAiVXNvOiBod2Nsb2NrIFtmdW56aW9uZV0gW29wemlvbmkuLi5dXG4iCisjfiAiXG4iCisjfiAiRnVuemlvbmk6XG4iCisjfiAiICAtLWhlbHAgICAgICAgIG1vc3RyYSBxdWVzdG8gYWl1dG9cbiIKKyN+ICIgIC0tc2hvdyAgICAgICAgbGVnZ2UgaWwgY2xvY2sgaGFyZHdhcmUgZSBzdGFtcGEgaWwgcmlzdWx0YXRvXG4iCisjfiAiICAtLXNldCAgICAgICAgIGltcG9zdGEgbCdydGMgcmlzcGV0dG8gYWxsJ29yYXJpbyBkYXRvIGNvbiAtLWRhdGVcbiIKKyN+ICIgIC0taGN0b3N5cyAgICAgaW1wb3N0YSBsJ29yYSBkZWwgc2lzdGVtYSBkYWwgY2xvY2sgaGFyZHdhcmVcbiIKKyN+ICIgIC0tc3lzdG9oYyAgICAgaW1wb3N0YSBpbCBjbG9jayBoYXJkd2FyZSBhbGwnb3JhIGNvcnJlbnRlIGRlbCBzaXN0ZW1hXG4iCisjfiAiICAtLWFkanVzdCAgICAgIHJlZ29sYSBsJ3J0YyB0ZW5lbmRvIGNvbnRvIGRlbGxhIGRlcml2YSBzaXN0ZW1hdGljYSBkYWxsJ3VsdGltYSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgdm9sdGEgaW4gY3VpIGlsIGNsb2NrIMOoIHN0YXRvIGltcG9zdGF0byBvIHJlZ29sYXRvXG4iCisjfiAiICAtLWdldGVwb2NoICAgIHN0YW1wYSBpbCB2YWxvcmUgZXBvY2ggZGVsIGNsb2NrIGhhcmR3YXJlIGRlbCBrZXJuZWxcbiIKKyN+ICIgIC0tc2V0ZXBvY2ggICAgaW1wb3N0YSBpbCB2YWxvcmUgZXBvY2ggZGVsIGNsb2NrIGhhcmR3YXJlIGRlbCBrZXJuZWwgc3VsIFxuIgorI34gIiAgICAgICAgICAgICAgICB2YWxvcmUgZGF0byBjb24gLS1lcG9jaFxuIgorI34gIiAgLS12ZXJzaW9uICAgICBzdGFtcGEgbGEgdmVyc2lvbmUgZGkgaHdjbG9jayBzdSBzdGFuZGFyZCBvdXRwdXRcbiIKKyN+ICJcbiIKKyN+ICJPcHppb25pOiBcbiIKKyN+ICIgIC0tdXRjICAgICAgICAgaWwgY2xvY2sgaGFyZHdhcmUgw6ggaW4gb3JhcmlvIHVuaXZlcnNhbGUgY29vcmRpbmF0b1xuIgorI34gIiAgLS1sb2NhbHRpbWUgICBpbCBjbG9jayBoYXJkd2FyZSDDqCBpbiBvcmEgbG9jYWxlXG4iCisjfiAiICAtLWRpcmVjdGlzYSAgIGFjY2Vzc28gZGlyZXR0byBhbCBidXMgSVNBIGludmVjZSBkaSAlc1xuIgorI34gIiAgLS1iYWR5ZWFyICAgICBpZ25vcmEgbCdhbm5vIHJ0YyBwZXJjaMOpIGlsIGJpb3Mgw6ggZGFubmVnZ2lhdG9cbiIKKyN+ICIgIC0tZGF0ZSAgICAgICAgc3BlY2lmaWNhIGwnb3JhIHN1bGxhIHF1YWxlIGltcG9zdGFyZSBpbCBjbG9jayBoYXJkd2FyZSBcbiIKKyN+ICIgIC0tZXBvY2g9YW5ubyAgc3BlY2lmaWNhIGwnYW5ubyBkaSBpbml6aW8gZGVsIHZhbG9yZSBlcG9jaCBkZWwgY2xvY2sgaGFyZHdhcmVcbiIKKyN+ICIgIC0tbm9hZGpmaWxlICAgbm9uIGxlZ2dlIC9ldGMvYWRqdGltZTsgcmljaGllZGUgbCd1c28gZGkgLS11dGMgbyAtLWxvY2FsdGltZVxuIgorCisjfiBtc2dpZCAiY2FuJ3QgbWFsbG9jIGluaXRzdHJpbmciCisjfiBtc2dzdHIgIiBtYWxsb2MgaW5pdHN0cmluZyBpbXBvc3NpYmlsZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFstOGhpTG1zVXddIFstbCBsb2dpbl9wcm9ncmFtXSBbLXQgdGltZW91dF0gWy1JIGluaXRzdHJpbmddIFstSCBsb2dpbl9ob3N0XSBiYXVkX3JhdGUsLi4uIGxpbmUgW3Rlcm10eXBlXVxuIgorI34gIm9yXHRbLWhpTG13XSBbLWwgbG9naW5fcHJvZ3JhbV0gWy10IHRpbWVvdXRdIFstSSBpbml0c3RyaW5nXSBbLUggbG9naW5faG9zdF0gbGluZSBiYXVkX3JhdGUsLi4uIFt0ZXJtdHlwZV1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVzbzogJXMgWy1oaUxtd10gWy1sIGxvZ2luX3Byb2dyYW1dIFstdCB0aW1lb3V0XSBbLUkgaW5pdHN0cmluZ10gWy1IIGxvZ2luX2hvc3RdIGJhdWRfcmF0ZSwuLi4gbGluZWEgW3RpcG8gdGVybWluYWxlXVxuIgorI34gIm9cdFstaGlMbXddIFstbCBsb2dpbl9wcm9ncmFtXSBbLXQgdGltZW91dF0gWy1JIGluaXRzdHJpbmddIFstSCBsb2dpbl9ob3N0XSBiYXVkX3JhdGUgbGluZWEsLi4uIFt0aXBvIHRlcm1pbmFsZV1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgW3kgfCBuXSIKKyN+IG1zZ3N0ciAiVXNvOiBtZXNnIFtzIHwgbl1cbiIKKworI34gbXNnaWQgIiVzOiBCQUQgRVJST1IiCisjfiBtc2dzdHIgIiVzOiBFUlJPUkUgR1JBVkUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6ICVzIFstbl0gW2ZpbGVdXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW2ZpbGVdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2FuJ3QgcmVhZDogJXMiCisjfiBtc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBsZWdnZXJlICVzLlxuIgorCisjfiBtc2dpZCAibG9nZ2VyOiAlczogJXMuXG4iCisjfiBtc2dzdHIgImxvZ2dlcjogJXM6ICVzLlxuIgorCisjfiBtc2dpZCAidXNhZ2U6IGxvZ2dlciBbLWlzXSBbLWYgZmlsZV0gWy1wIHByaV0gWy10IHRhZ10gWy11IHNvY2tldF0gWyBtZXNzYWdlIC4uLiBdXG4iCisjfiBtc2dzdHIgIlVzbzogbG9nZ2VyIFstaXNdIFstZiBmaWxlXSBbLXAgcHJpXSBbLXQgdGFnXSBbLXUgc29ja2V0XSBbIG1lc3NhZ2dpbyAuLiBdXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogbG9vayBbLWRmYV0gWy10IGNoYXJdIHN0cmluZyBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAiVXNvOiBsb29rIFstZGZhXSBbLXQgY2hhcl0gc3RyaW5nYSBbZmlsZV1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5PyIKKyN+IG1zZ3N0ciAibWVtb3JpYSBpbnN1ZmZpY2llbnRlP1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiBzY3JpcHQgWy1hXSBbLWVdIFstZl0gWy1xXSBbLXRdIFtmaWxlXVxuIgorI34gbXNnc3RyICJVc286IHNjcmlwdCBbLWFdIFstZl0gWy1xXSBbLXRdIFtmaWxlXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB3cml0ZSBlcnJvciAlZDogJXNcbiIKKyN+IG1zZ3N0ciAiZXJyb3JlIGRpIHNjcml0dHVyYSBzdSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB3cml0ZSBlcnJvcjogJXNcbiIKKyN+IG1zZ3N0ciAiZXJyb3JlIGRpIHNjcml0dHVyYSBzdSAlc1xuIgorCisjfiBtc2dpZCAiICBbIC1zbm93IFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1zbm93IFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtc29mdHNjcm9sbCBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtc29mdHNjcm9sbCBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWZvcmVncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWZvcmVncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZXxkZWZhdWx0IF1cbiIKKyN+IG1zZ3N0ciAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZXxkZWZhdWx0IF1cbiIKKworI34gbXNnaWQgIiAgWyAtYmFja2dyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtYmFja2dyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLXVsY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtdWxjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGUgXVxuIgorI34gbXNnc3RyICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlIF1cbiIKKworI34gbXNnaWQgIiAgWyAtdWxjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLXVsY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtaGJjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1oYmNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAiICBbIC1oYmNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtaGJjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAiICBbIC1zdGFuZG91dCBbIGF0dHIgXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtc3RhbmRvdXQgWyBhdHRyIF0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLWRdIFstcCBwaWRmaWxlXSBbLXMgc29ja2V0cGF0aF0gWy1UIHRpbWVvdXRdXG4iCisjfiBtc2dzdHIgIlVzbzogbGFzdCBbLSNdIFstZiBmaWxlXSBbLXQgdHR5XSBbLWggaG9zdG5hbWVdIFt1dGVudGUgLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAlcyAta1xuIgorI34gbXNnc3RyICIgICAgICAgJXMgLWwgWyBzZWduYWxlIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1yXSBbLXRdXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyN+IG1zZ2lkICJ3aGVyZWlzIFsgLXNibXUgXSBbIC1TQk0gZGlyIC4uLiAtZiBdIG5hbWUuLi5cbiIKKyN+IG1zZ3N0ciAid2hlcmVpcyBbIC1zYm11IF0gWyAtU0JNIGRpciAuLi4gLWYgXSBub21lLi4uXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogd3JpdGUgdXNlciBbdHR5XVxuIgorI34gbXNnc3RyICJVc286IHdyaXRlIHV0ZW50ZSBbdHR5XVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IG9wZW4gJXM6ICVzIgorI34gbXNnc3RyICJtb3VudDogaW1wb3NzaWJpbGUgYXByaXJlICVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmtub3duXG4iCisjfiBtc2dzdHIgInNjb25vc2NpdXRvIgorCisjfiBtc2dpZCAiVXNhZ2U6IHNodXRkb3duIFstaHwtcl0gWy1mcXNdIFtub3d8aGg6c3N8K21pbnNdXG4iCisjfiBtc2dzdHIgIlVzbzogc2h1dGRvd24gWy1ofC1yXSBbLWZxc10gW25vd3xoaDpzc3wrbWluc11cbiIKKworI34gbXNnaWQgIlNodXRkb3duIHByb2Nlc3MgYWJvcnRlZCIKKyN+IG1zZ3N0ciAiUHJvY2Vzc28gZGkgc3BlZ25pbWVudG8gaW50ZXJyb3R0byIKKworIywgZnV6enkKKyN+IG1zZ2lkICJvbmx5IHJvb3QgY2FuIHNodXQgYSBzeXN0ZW0gZG93bi4iCisjfiBtc2dzdHIgIiVzOiBzb2xhbWVudGUgcm9vdCBwdcOyIHNwZWduZXJlIHVuIHNpc3RlbWEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidGhhdCBtdXN0IGJlIHRvbW9ycm93LCBjYW4ndCB5b3Ugd2FpdCB0aWxsIHRoZW4/IgorI34gbXNnc3RyICJWZXJyw6AgZWZmZXR0dWF0byBkb21hbmksIG5vbiDDqCBwb3NzaWJpbGUgYXR0ZW5kZXJlIGZpbm8gYWQgYWxsb3JhP1xuIgorCisjfiBtc2dpZCAiZm9yIG1haW50ZW5hbmNlOyBib3VuY2UsIGJvdW5jZSIKKyN+IG1zZ3N0ciAicGVyIG1hbnV0ZW56aW9uZTsgYm91bmNlLCBib3VuY2UiCisKKyN+IG1zZ2lkICJUaGUgc3lzdGVtIGlzIGJlaW5nIHNodXQgZG93biB3aXRoaW4gNSBtaW51dGVzIgorI34gbXNnc3RyICJJbCBzaXN0ZW1hIHZlcnLDoCBzcGVudG8gZW50cm8gNSBtaW51dGkiCisKKyN+IG1zZ2lkICJMb2dpbiBpcyB0aGVyZWZvcmUgcHJvaGliaXRlZC4iCisjfiBtc2dzdHIgIsOIIHBlcmNpw7IgcHJvaWJpdG8gZWZmZXR0dWFyZSBpbCBsb2dpbi4iCisKKyN+IG1zZ2lkICJyZWJvb3RlZCBieSAlczogJXMiCisjfiBtc2dzdHIgInJpYXZ2aWF0byBkYSAlczogJXMiCisKKyN+IG1zZ2lkICJoYWx0ZWQgYnkgJXM6ICVzIgorI34gbXNnc3RyICJmZXJtYXRvIGRhICVzOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXaHkgYW0gSSBzdGlsbCBhbGl2ZSBhZnRlciByZWJvb3Q/IgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGVyY2jDqSBzb25vIGFuY29yYSBhdHRpdm8gZG9wbyBpbCByaWF2dmlvPyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJOb3cgeW91IGNhbiB0dXJuIG9mZiB0aGUgcG93ZXIuLi4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLDiCBvcmEgcG9zc2liaWxlIHRvZ2xpZXJlIGwnYWxpbWVudGF6aW9uZSBlbGV0dHJpY2EuLi4iCisKKyN+IG1zZ2lkICJDYWxsaW5nIGtlcm5lbCBwb3dlci1vZmYgZmFjaWxpdHkuLi5cbiIKKyN+IG1zZ3N0ciAiQ2hpYW1hdGEgZGVsbGEgZnVuemlvbmFsaXTDoCBkaSBzcGVnbmltZW50byBkZWwga2VybmVsLi4uXG4iCisKKyN+IG1zZ2lkICJFcnJvciBwb3dlcmluZyBvZmZcdCVzXG4iCisjfiBtc2dzdHIgIkVycm9yZSBkdXJhbnRlIGxvIHNwZWduaW1lbnRvXHQlc1xuIgorCisjfiBtc2dpZCAiRXhlY3V0aW5nIHRoZSBwcm9ncmFtIFwiJXNcIiAuLi5cbiIKKyN+IG1zZ3N0ciAiRXNlY3V6aW9uZSBkZWwgcHJvZ3JhbW1hIFwiJXNcIiBpbiBjb3Jzby4uLlxuIgorCisjfiBtc2dpZCAiVVJHRU5UOiBicm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzOiIKKyN+IG1zZ3N0ciAiVVJHRU5URTogbWVzc2FnZ2lvIGJyb2FkY2FzdCBkYSAlczoiCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAlZCBob3VycyAlZCBtaW51dGVzIgorI34gbXNnc3RyICJJbCBzaXN0ZW1hIHNpIHNwZWduZXLDoCB0cmEgJWQgb3JlIGUgJWQgbWludXRpIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gMSBob3VyICVkIG1pbnV0ZXMiCisjfiBtc2dzdHIgIklsIHNpc3RlbWEgc2kgc3BlZ25lcsOgIHRyYSAxIG9yYSBlICVkIG1pbnV0aSIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluICVkIG1pbnV0ZXNcbiIKKyN+IG1zZ3N0ciAiSWwgc2lzdGVtYSBzaSBzcGVnbmVyw6AgaW4gJWQgbWludXRpXG4iCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAxIG1pbnV0ZVxuIgorI34gbXNnc3RyICJJbCBzaXN0ZW1hIHNpIHNwZWduZXLDoCBpbiAxIG1pbnV0b1xuIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gSU1NRURJQVRFTFkhXG4iCisjfiBtc2dzdHIgIklsIHNpc3RlbWEgc2kgc3BlZ25lcsOgIElNTUVESUFUQU1FTlRFIVxuIgorCisjfiBtc2dpZCAiXHQuLi4gJXMgLi4uXG4iCisjfiBtc2dzdHIgIlx0Li4uICVzIC4uLlxuIgorCisjfiBtc2dpZCAiQ2Fubm90IGZvcmsgZm9yIHN3YXBvZmYuIFNocnVnISIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgZmFyZSB1biBmb3JrIHBlciBzd2Fwb2ZmLiBQYXppZW56YSEiCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyBzd2Fwb2ZmLCBob3BpbmcgdW1vdW50IHdpbGwgZG8gdGhlIHRyaWNrLiIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgZXNlZ3VpcmUgc3dhcG9mZiwgc2kgc3BlcmEgY2hlIHVtb3VudCBjZSBsYSBmYWNjaWEuIgorCisjfiBtc2dpZCAiQ2Fubm90IGZvcmsgZm9yIHVtb3VudCwgdHJ5aW5nIG1hbnVhbGx5LiIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgZmFyZSB1biBmb3JrIHBlciB1bW91bnQsIHNpIHByb3ZhIG1hbnVhbG1lbnRlLiIKKworI34gbXNnaWQgIkNhbm5vdCBleGVjICVzLCB0cnlpbmcgdW1vdW50LlxuIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBlc2VndWlyZSAlcywgc2kgcHJvdmEgYWQgdXNhcmUgdW1vdW50LlxuIgorCisjfiBtc2dpZCAiQ2Fubm90IGV4ZWMgdW1vdW50LCBnaXZpbmcgdXAgb24gdW1vdW50LiIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgZXNlZ3VpcmUgdW1vdW50LCB0ZXJtaW5hIHV0aWxpenpvIGRpIHVtb3VudC4iCisKKyN+IG1zZ2lkICJVbm1vdW50aW5nIGFueSByZW1haW5pbmcgZmlsZXN5c3RlbXMuLi4iCisjfiBtc2dzdHIgIlNtb250YWdnaW8gaW4gY29yc28gZGkgcXVhbHNpYXNpIGZpbGVzeXN0ZW0gcmltYW5lbnRlLi4uIgorCisjfiBtc2dpZCAic2h1dGRvd246IENvdWxkbid0IHVtb3VudCAlczogJXNcbiIKKyN+IG1zZ3N0ciAic2h1dGRvd246IEltcG9zc2liaWxlIHNtb250YXJlICVzOiAlc1xuIgorCisjfiBtc2dpZCAiQm9vdGluZyB0byBzaW5nbGUgdXNlciBtb2RlLlxuIgorI34gbXNnc3RyICJBdnZpbyBpbiBtb2RhbGl0w6Agc2luZ29sbyB1dGVudGUuXG4iCisKKyN+IG1zZ2lkICJleGVjIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICJlc2VjdXppb25lIGRpIHVuYSBzaGVsbCBwZXIgc2luZ29sbyB1dGVudGUgbm9uIHJpdXNjaXRhXG4iCisKKyN+IG1zZ2lkICJmb3JrIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICJmb3JrIGRpIHVuYSBzaGVsbCBwZXIgc2luZ29sbyB1dGVudGUgbm9uIHJpdXNjaXRvXG4iCisKKyN+IG1zZ2lkICJlcnJvciBvcGVuaW5nIGZpZm9cbiIKKyN+IG1zZ3N0ciAiZXJyb3JlIGR1cmFudGUgbCdhcGVydHVyYSBkZWwgZmlmb1xuIgorCisjfiBtc2dpZCAiZXJyb3Igc2V0dGluZyBjbG9zZS1vbi1leGVjIG9uIC9kZXYvaW5pdGN0bCIKKyN+IG1zZ3N0ciAiZXJyb3JlIGltcG9zdGFuZG8gY2xvc2Utb24tZXhlYyBzdSAvZGV2L2luaXRjdGwiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV3JvbmcgcGFzc3dvcmQuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQYXNzd29yZCBlcnJhdGEuXG4iCisKKyN+IG1zZ2lkICJmb3JrIGZhaWxlZFxuIgorI34gbXNnc3RyICJmb3JrIG5vbiByaXVzY2l0b1xuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gaW5pdHRhYlxuIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgaW5pdHRhYlxuIgorCisjfiBtc2dpZCAibm8gVEVSTSBvciBjYW5ub3Qgc3RhdCB0dHlcbiIKKyN+IG1zZ3N0ciAiVEVSTSBub24gZGVmaW5pdG8gbyBpbXBvc3NpYmlsZSBlc2VndWlyZSBzdGF0IHN1bCB0dHlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciBhdCBzdG9wcGluZyBzZXJ2aWNlIFwiJXNcIlxuIgorI34gbXNnc3RyICJlcnJvcmUgZmVybWFuZG8gaWwgc2Vydml6aW8gXCIlc1wiIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlN0b3BwZWQgc2VydmljZTogJXNcbiIKKyN+IG1zZ3N0ciAiZXJyb3JlIGZlcm1hbmRvIGlsIHNlcnZpemlvIFwiJXNcIiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciBhdCBzdGFydGluZyBzZXJ2aWNlIFwiJXNcIlxuIgorI34gbXNnc3RyICJlcnJvcmUgZmVybWFuZG8gaWwgc2Vydml6aW8gXCIlc1wiIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLWNdIFstbiBsZXZlbF0gWy1yXSBbLXMgYnVmc2l6ZV1cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbLWNdIFstbiBsaXZlbGxvXSBbLXMgYnVmc2l6ZV1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogc3RyZHVwIGZhaWxlZCIKKyN+IG1zZ3N0ciAiQXBlcnR1cmEgZGkgJXMgbm9uIHJpdXNjaXRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yOiBjYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJtYWxsb2Mgbm9uIHJpdXNjaXRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiAlcyBbLWJmcHhdIFstbCBubGluZV0iCisjfiBtc2dzdHIgIlVzbzogY29sIFstYmZweF0gWy1sIG5saW5lXVxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLSBdIFsgLTIgXSBbIGZpbGUgLi4uIF1cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbIC0gXSBbIC0yIF0gWyBmaWxlIC4uLiBdXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWy1kZmxwY3N1XSBbK2xpbmVudW0gfCArL3BhdHRlcm5dIG5hbWUxIG5hbWUyIC4uLlxuIgorI34gbXNnc3RyICJVc286ICVzIFstZGZscGNzdV0gWytsaW5lbnVtIHwgKy9tb2RlbGxvXSBub21lMSBub21lMiAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaW5lIGJ1ZmZlclxuIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIuXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBjYW4ndCByZWFkICVzLlxuIgorI34gbXNnc3RyICJoZXhkdW1wOiBpbXBvc3NpYmlsZSBsZWdnZXJlICVzLlxuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogbGluZSB0b28gbG9uZy5cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogbGluZWEgdHJvcHBvIGx1bmdhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJlYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJtYWxsb2Mgbm9uIHJpdXNjaXRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiB0YWlsZiBbLW4gTiB8IC1OXSBsb2dmaWxlIgorI34gbXNnc3RyICJVc286IHRhaWxmIGZpbGUtZGktbG9nXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsgLWkgXSBbIC10VGVybSBdIGZpbGUuLi5cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbIC1pIF0gWyAtdFRlcm0gXSBmaWxlLi4uXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gb3BlbiAlc1xuIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBhcHJpcmUgJXNcbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBhbnkgbW9yZSBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgYWxsb2NhcmUgYWx0cmEgbWVtb3JpYVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImdvdCBFT0YgdGhyaWNlIC0gZXhpdGluZy4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJyaWNldnV0byBFT0YgdHJlIHZvbHRlIC0gdXNjaXRhIGluIGNvcnNvLi5cbiIKKworI34gbXNnaWQgImxhc3Q6IG1hbGxvYyBmYWlsdXJlLlxuIgorI34gbXNnc3RyICJsYXN0OiBlcnJvcmUgZGkgbWFsbG9jLlxuIgorCisjfiBtc2dpZCAibG9naW46IE91dCBvZiBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAibG9naW46IG1lbW9yaWEgZXNhdXJpdGFcbiIKKworI34gbXNnaWQgImxvZ2luOiBubyBzaGVsbDogJXMuXG4iCisjfiBtc2dzdHIgImxvZ2luOiBuZXNzdW5hIHNoZWxsOiAlcy5cbiIKKworI34gbXNnaWQgIm5ld2dycDogc2V0Z2lkIgorI34gbXNnc3RyICJuZXdncnA6IHNldGdpZCIKKworI34gbXNnaWQgIm5ld2dycDogUGVybWlzc2lvbiBkZW5pZWQiCisjfiBtc2dzdHIgIm5ld2dycDogYXV0b3JpenphemlvbmUgbmVnYXRhIgorCisjfiBtc2dpZCAibmV3Z3JwOiBzZXR1aWQiCisjfiBtc2dzdHIgIm5ld2dycDogc2V0dWlkIgorCisjfiBtc2dpZCAiJXM6IENhbm5vdCBmb3JrXG4iCisjfiBtc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBlZmZldHR1YXJlIGlsIGZvcmtcbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCByZWFkICVzLlxuIgorI34gbXNnc3RyICIlczogaW1wb3NzaWJpbGUgbGVnZ2VyZSAlcy5cbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCBzdGF0IHRlbXBvcmFyeSBmaWxlLlxuIgorI34gbXNnc3RyICIlczogaW1wb3NzaWJpbGUgZmFyZSBzdGF0IGRlbCBmaWxlIHRlbXBvcmFuZW8uXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3QgcmVhZCB0ZW1wb3JhcnkgZmlsZS5cbiIKKyN+IG1zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGxlZ2dlcmUgaWwgZmlsZSB0ZW1wb3JhbmVvLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvcjogJXMiCisjfiBtc2dzdHIgImVycm9yZSBkaSBzY3JpdHR1cmEgc3UgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJzZSBlcnJvciBhdCBsaW5lczogIgorI34gbXNnc3RyICJlcnJvcmUgZGkgcG9zaXppb25hbWVudG8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIGFuZCAlZC4iCisjfiBtc2dzdHIgIiBlICIKKworI34gbXNnaWQgInJlbmljZTogJXM6IHVua25vd24gdXNlclxuIgorI34gbXNnc3RyICJyZW5pY2U6ICVzOiB1dGVudGUgc2Nvbm9zY2l1dG9cbiIKKworI34gbXNnaWQgInJlbmljZTogJXM6IGJhZCB2YWx1ZVxuIgorI34gbXNnc3RyICJyZW5pY2U6ICVzOiB2YWxvcmUgbm9uIHZhbGlkb1xuIgorCisjfiBtc2dpZCAib2Q6IG9kKDEpIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIGhleGR1bXAoMSkuXG4iCisjfiBtc2dzdHIgIm9kOiBvZCgxKSDDqCBzdGF0YSBzb3N0aXR1aXRvIGRhIGhleGR1bXAoMSkuXG4iCisKKyN+IG1zZ2lkICJvZDogaGV4ZHVtcCgxKSBjb21wYXRpYmlsaXR5IGRvZXNuJ3Qgc3VwcG9ydCB0aGUgLSVjIG9wdGlvbiVzXG4iCisjfiBtc2dzdHIgIm9kOiBsYSBjb21wYXRpYmlsaXTDoCBoZXhkdW1wKDEpIG5vbiBzdXBwb3J0YSBsJ29wemlvbmUgLSVjICVzXG4iCisKKyN+IG1zZ2lkICI7IHNlZSBzdHJpbmdzKDEpLiIKKyN+IG1zZ3N0ciAiOyBjb25zdWx0YXJlIHN0cmluZ3MoMSkuIgorCisjfiBtc2dpZCAiJXM6IG91dCBvZiBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAiJXM6IG1lbW9yaWEgZXNhdXJpdGFcbiIKKworI34gbXNnaWQgIiVzOiBpbGxlZ2FsIGludGVydmFsICVzIHNlY29uZHNcbiIKKyN+IG1zZ3N0ciAiJXM6IGludGVydmFsbG8gaWxsZWdhbGUgJXMgc2Vjb25kaVxuIgorCisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgdGltZV90IHZhbHVlICVzXG4iCisjfiBtc2dzdHIgIiVzOiB2YWxvcmUgdGltZV90IGlsbGVjaXRvICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBleGVjdXRlICVzOiAlc1xuIgorI34gbXNnc3RyICIlczogaW1wb3NzaWJpbGUgcmlub21pbmFyZSAlcyBpbiAlczogJXNcbiIKKworI34gbXNnaWQgInJ0YyByZWFkIgorI34gbXNnc3RyICJydGMgbGV0dG8iCisKKyN+IG1zZ2lkICJtYWxsb2MgZXJyb3IiCisjfiBtc2dzdHIgImVycm9yZSBkaSBtYWxsb2MiCisKKyN+IG1zZ2lkICJ1c2FnZTogY29sdW1uIFstdHhdIFstYyBjb2x1bW5zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIlVzbzogY29sdW1uIFstdHhdIFstYyBjb2xvbm5lXSBbZmlsZSAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICJNZW1vcmlhIGVzYXVyaXRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzcGFjZSIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgYWxsb2NhcmUgbG8gc3BhemlvIGJ1ZmZlclxuIgorCisjfiBtc2dpZCAidXNhZ2U6IHJldiBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIlVzbzogcmV2IFtmaWxlIC4uLl1cbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIuXG4iCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworI34gbXNnaWQgIk91dCBvZiBtZW1vcnkgd2hlbiBncm93aW5nIGJ1ZmZlci5cbiIKKyN+IG1zZ3N0ciAiTWVtb3JpYSBpbnN1ZmZpY2llbnRlIHF1YW5kbyBzaSBhbXBsaWEgaWwgYnVmZmVyLlxuIgorCisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgb3B0aW9uIC0tICVjXG4iCisjfiBtc2dzdHIgIiVzOiBvcHppb25lIGlsbGVnYWxlIC0tICVjXG4iCisKKyN+IG1zZ2lkICJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyN+IG1zZ3N0ciAic2VnbWVudGkgYWxsb2NhdGkgJWRcbiIKKworI34gbXNnaWQgInBhZ2VzIGFsbG9jYXRlZCAlbGRcbiIKKyN+IG1zZ3N0ciAicGFnaW5lIGFsbG9jYXRlICVsZFxuIgorCisjfiBtc2dpZCAicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorI34gbXNnc3RyICJwYWdpbmUgcmVzaWRlbnRpICAlbGRcbiIKKworI34gbXNnaWQgInBhZ2VzIHN3YXBwZWQgICAlbGRcbiIKKyN+IG1zZ3N0ciAicGFnaW5lIHNjYW1iaWF0ZSAoc3dhcHBpbmcpICAgJWxkXG4iCisKKyN+IG1zZ2lkICJTd2FwIHBlcmZvcm1hbmNlOiAlbGQgYXR0ZW1wdHNcdCAlbGQgc3VjY2Vzc2VzXG4iCisjfiBtc2dzdHIgIlByZXN0YXppb25lIHN3YXA6ICVsZCB0ZW50YXRpdmlcdCAlbGQgcml1c2NpdGlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciBydW5uaW5nIHByb2dyYW1tZTogXCIlc1wiXG4iCisjfiBtc2dzdHIgIkVzZWN1emlvbmUgZGVsIHByb2dyYW1tYSBcIiVzXCIgaW4gY29yc28uLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIG9mZnNldCAnJXMnIHZhbHVlIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiVmFsb3JlIGltcG9zdGF0byBub24gdmFsaWRvOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImN1cnJlbnQiCisjfiBtc2dzdHIgIm5jb3VudCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJuZXciCisjfiBtc2dzdHIgIk51b3ZhIgorCisjfiBtc2dpZCAiTGludXggZXh0MiIKKyN+IG1zZ3N0ciAiTGludXggZXh0MiIKKworI34gbXNnaWQgIkxpbnV4IGV4dDMiCisjfiBtc2dzdHIgIkxpbnV4IGV4dDMiCisKKyN+IG1zZ2lkICJMaW51eCBYRlMiCisjfiBtc2dzdHIgIkxpbnV4IFhGUyIKKworI34gbXNnaWQgIkxpbnV4IEpGUyIKKyN+IG1zZ3N0ciAiTGludXggSkZTIgorCisjfiBtc2dpZCAiTGludXggUmVpc2VyRlMiCisjfiBtc2dzdHIgIkxpbnV4IFJlaXNlckZTIgorCisjfiBtc2dpZCAiT1MvMiBIUEZTIgorI34gbXNnc3RyICJPUy8yIEhQRlMiCisKKyN+IG1zZ2lkICJPUy8yIElGUyIKKyN+IG1zZ3N0ciAiT1MvMiBJRlMiCisKKyN+IG1zZ2lkICJOVEZTIgorI34gbXNnc3RyICJOVEZTIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiBmZGlzayBbLWIgU1NaXSBbLXVdIERJU0sgICAgIENoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICIgICAgICAgZmRpc2sgLWwgWy1iIFNTWl0gWy11XSBESVNLICBMaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorI34gIiAgICAgICBmZGlzayAtcyBQQVJUSVRJT04gICAgICAgICAgIEdpdmUgcGFydGl0aW9uIHNpemUocykgaW4gYmxvY2tzXG4iCisjfiAiICAgICAgIGZkaXNrIC12ICAgICAgICAgICAgICAgICAgICAgR2l2ZSBmZGlzayB2ZXJzaW9uXG4iCisjfiAiSGVyZSBESVNLIGlzIHNvbWV0aGluZyBsaWtlIC9kZXYvaGRiIG9yIC9kZXYvc2RhXG4iCisjfiAiYW5kIFBBUlRJVElPTiBpcyBzb21ldGhpbmcgbGlrZSAvZGV2L2hkYTdcbiIKKyN+ICItdTogZ2l2ZSBTdGFydCBhbmQgRW5kIGluIHNlY3RvciAoaW5zdGVhZCBvZiBjeWxpbmRlcikgdW5pdHNcbiIKKyN+ICItYiAyMDQ4OiAoZm9yIGNlcnRhaW4gTU8gZGlza3MpIHVzZSAyMDQ4LWJ5dGUgc2VjdG9yc1xuIgorI34gbXNnc3RyICIiCisjfiAiVXNvOiAgZmRpc2sgWy1iIFNTWl0gWy11XSBESVNDTyAgICAgTW9kaWZpY2EgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pXG4iCisjfiAiICAgICAgZmRpc2sgLWwgWy1iIFNTWl0gWy11XSBESVNDTyAgRWxlbmNhIGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaVxuIgorI34gIiAgICAgIGZkaXNrIC1zIFBBUlRJWklPTkUgICAgICAgICAgIE1vc3RyYSBsYSBkaW1lbnNpb25lIGRlbGxhIHBhcnRpemlvbmVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBibG9jY2hpXG4iCisjfiAiICAgICAgZmRpc2sgLXYgICAgICAgICAgICAgICAgICAgICAgTW9zdHJhIGxhIHZlcnNpb25lIGRpIGZkaXNrXG4iCisjfiAiSW4gcXVlc3RvIGNhc28gRElTQ08gw6ggcXVhbGNvc2EgY29tZSAvZGV2L2hkYiBvIC9kZXYvc2RhXG4iCisjfiAiZSBQQVJUSVpJT05FIMOoIHF1YWxjb3NhIGNvbWUgL2Rldi9oZGE3XG4iCisjfiAiLXU6IGluZGljYSBJbml6aW8gZSBGaW5lIGluIG51bWVybyBkaSBzZXR0b3JpIChpbnZlY2UgY2hlIGluIGNpbGluZHJpKVxuIgorI34gIi1iIDIwNDg6IChwZXIgYWxjdW5lIHVuaXTDoCBNTykgdXNhIHNldHRvcmkgYSAyMDQ4IGJ5dGVcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogZmRpc2sgWy1sXSBbLWIgU1NaXSBbLXVdIGRldmljZVxuIgorI34gIkUuZy46IGZkaXNrIC9kZXYvaGRhICAoZm9yIHRoZSBmaXJzdCBJREUgZGlzaylcbiIKKyN+ICIgIG9yOiBmZGlzayAvZGV2L3NkYyAgKGZvciB0aGUgdGhpcmQgU0NTSSBkaXNrKVxuIgorI34gIiAgb3I6IGZkaXNrIC9kZXYvZWRhICAoZm9yIHRoZSBmaXJzdCBQUy8yIEVTREkgZHJpdmUpXG4iCisjfiAiICBvcjogZmRpc2sgL2Rldi9yZC9jMGQwICBvcjogZmRpc2sgL2Rldi9pZGEvYzBkMCAgKGZvciBSQUlEIGRldmljZXMpXG4iCisjfiAiICAuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVzbzogZmRpc2sgWy1sXSBbLWIgU1NaXSBbLXVdIGRpc3Bvc2l0aXZvXG4iCisjfiAiUGVyIGVzLjogZmRpc2sgL2Rldi9oZGEgIChwZXIgaWwgcHJpbW8gZGlzY28gSURFKVxuIgorI34gIiAgbzogZmRpc2sgL2Rldi9zZGMgIChwZXIgaWwgdGVyem8gZGlzY28gU0NTSSlcbiIKKyN+ICIgIG86IGZkaXNrIC9kZXYvZWRhICAocGVyIGxhIHByaW1hIHVuaXTDoCBQUy8yIEVTREkpXG4iCisjfiAiICBvOiBmZGlzayAvZGV2L3JkL2MwZDAgIG86IGZkaXNrIC9kZXYvaWRhL2MwZDAgIChwZXIgaSBkaXNwb3NpdGl2aSBSQUlEKVxuIgorI34gIiAgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IG5vIG1lZGl1bSBmb3VuZCBvbiAlcyAuLi50cnlpbmcgYWdhaW5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG5lc3N1biAlcyB0cm92YXRvIC0gY3JlYXppb25lIGluIGNvcnNvLi4uXG4iCisKKyN+IG1zZ2lkICJ1c2FnZSA6ICVzIC1hc21xIC10Y2x1cCBcbiIKKyN+IG1zZ3N0ciAidXNvIDogJXMgLWFzbXEgLXRjbHVwIFxuIgorCisjfiBtc2dpZCAiXHQlcyBbLXMgLW0gLXFdIC1pIGlkXG4iCisjfiBtc2dzdHIgIlx0JXMgWy1zIC1tIC1xXSAtaSBpZFxuIgorCisjfiBtc2dpZCAiXHQlcyAtaCBmb3IgaGVscC5cbiIKKyN+IG1zZ3N0ciAiXHQlcyAtaCBwZXIgcmljaGlhbWFyZSBsYSBndWlkYS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJSZXNvdXJjZSBTcGVjaWZpY2F0aW9uOlxuIgorI34gIlx0LW0gOiBzaGFyZWRfbWVtXG4iCisjfiAiXHQtcSA6IG1lc3NhZ2VzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJTcGVjaWZpY2Egcmlzb3JzYTpcbiIKKyN+ICJcdC1tIDogc2hhcmVkX21lbSAobWVtX2NvbmRpdilcbiIKKyN+ICJcdC1xIDogbWVzc2FnZ2lcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdC1zIDogc2VtYXBob3Jlc1xuIgorI34gIlx0LWEgOiBhbGwgKGRlZmF1bHQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcdC1zIDogc2VtYWZvcmlcbiIKKyN+ICJcdC1hIDogdHV0dGkgKHByZWRlZmluaXRvKVxuIgorCisjfiBtc2dpZCAiIgorI34gIk91dHB1dCBGb3JtYXQ6XG4iCisjfiAiXHQtdCA6IHRpbWVcbiIKKyN+ICJcdC1wIDogcGlkXG4iCisjfiAiXHQtYyA6IGNyZWF0b3JcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkZvcm1hdG8gb3V0cHV0OlxuIgorI34gIlx0LXQgOiB0ZW1wb1xuIgorI34gIlx0LXAgOiBwaWRcbiIKKyN+ICJcdC1jIDogY3JlYXRvcmVcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdC1sIDogbGltaXRzXG4iCisjfiAiXHQtdSA6IHN1bW1hcnlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlx0LWwgOiBsaW1pdGlcbiIKKyN+ICJcdC11IDogc29tbWFyaW9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogJXMiCisjfiBtc2dzdHIgImZvcms6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHBhcnNlOiAlcyIKKyN+IG1zZ3N0ciAiZXJyb3JlIGR1cmFudGUgbGEgbGV0dHVyYSBkaSAlc1xuIgorCisjfiBtc2dpZCAidXNhZ2U6IHJkZXYgWyAtcnYgXSBbIC1vIE9GRlNFVCBdIFsgSU1BR0UgWyBWQUxVRSBbIE9GRlNFVCBdIF0gXSIKKyN+IG1zZ3N0ciAiVXNvOiByZGV2IFsgLXJ2IF0gWyAtbyBPRkZTRVQgXSBbIElNTUFHSU5FIFsgVkFMT1JFIFsgT0ZGU0VUIF0gXSBdIgorCisjfiBtc2dpZCAiICByZGV2IC9kZXYvZmQwICAob3IgcmRldiAvbGludXgsIGV0Yy4pIGRpc3BsYXlzIHRoZSBjdXJyZW50IFJPT1QgZGV2aWNlIgorI34gbXNnc3RyICIgIHJkZXYgL2Rldi9mZDAgIChvIHJkZXYgL2xpbnV4LCBlQ2MuKSB2aXN1YWxpenphIGlsIFJPT1QgZGV2aWNlIGNvcnJlbnRlIgorCisjfiBtc2dpZCAiICByZGV2IC9kZXYvZmQwIC9kZXYvaGRhMiAgICAgICAgIHNldHMgUk9PVCB0byAvZGV2L2hkYTIiCisjfiBtc2dzdHIgIiAgcmRldiAvZGV2L2ZkMCAvZGV2L2hkYTIgICAgICAgICBpbXBvc3RhIFJPT1Qgc3UgL2Rldi9oZGEyIgorCisjfiBtc2dpZCAiICByZGV2IC1SIC9kZXYvZmQwIDEgICAgICAgICAgICAgIHNldCB0aGUgUk9PVEZMQUdTIChyZWFkb25seSBzdGF0dXMpIgorI34gbXNnc3RyICIgIHJkZXYgLVIgL2Rldi9mZDAgMSAgICAgICAgICAgICBpbXBvc3RhIGkgUk9PVEZMQUdTIChzdGF0byBzb2xhIGxldHR1cmEpIgorCisjfiBtc2dpZCAiICByZGV2IC1yIC9kZXYvZmQwIDYyNyAgICAgICAgICAgIHNldCB0aGUgUkFNRElTSyBzaXplIgorI34gbXNnc3RyICIgIHJkZXYgLXIgL2Rldi9mZDAgNjI3ICAgICAgICAgICAgaW1wb3N0YSBsYSBkaW1lbnNpb25lIGRlbCBSQU1ESVNLIgorCisjfiBtc2dpZCAiICByZGV2IC12IC9kZXYvZmQwIDEgICAgICAgICAgICAgIHNldCB0aGUgYm9vdHVwIFZJREVPTU9ERSIKKyN+IG1zZ3N0ciAiICByZGV2IC12IC9kZXYvZmQwIDEgICAgICAgICAgICAgaW1wb3N0YSBWSURFT01PREUgYWxsJ2F2dmlvIgorCisjfiBtc2dpZCAiICByZGV2IC1vIE4gLi4uICAgICAgICAgICAgICAgICAgIHVzZSB0aGUgYnl0ZSBvZmZzZXQgTiIKKyN+IG1zZ3N0ciAiICByZGV2IC1vIE4gLi4uICAgICAgICAgICAgICAgICAgIHV0aWxpenphIGJ5dGUgb2Zmc2V0IE4iCisKKyN+IG1zZ2lkICIgIHJvb3RmbGFncyAuLi4gICAgICAgICAgICAgICAgICAgc2FtZSBhcyByZGV2IC1SIgorI34gbXNnc3RyICIgcm9vdGZsYWdzIC4uLiAgICAgICAgICAgICAgICAgICBjb21lIHJkZXYgLVIiCisKKyN+IG1zZ2lkICIgIHJhbXNpemUgLi4uICAgICAgICAgICAgICAgICAgICAgc2FtZSBhcyByZGV2IC1yIgorI34gbXNnc3RyICIgcmFtc2l6ZSAuLi4gICAgICAgICAgICAgICAgICAgICBjb21lIHJkZXYgLXIiCisKKyN+IG1zZ2lkICIgIHZpZG1vZGUgLi4uICAgICAgICAgICAgICAgICAgICAgc2FtZSBhcyByZGV2IC12IgorI34gbXNnc3RyICIgdmlkbW9kZSAuLi4gICAgICAgICAgICAgICAgICAgICBjb21lIHJkZXYgLXYiCisKKyN+IG1zZ2lkICJOb3RlOiB2aWRlbyBtb2RlcyBhcmU6IC0zPUFzaywgLTI9RXh0ZW5kZWQsIC0xPU5vcm1hbFZnYSwgMT1rZXkxLCAyPWtleTIsLi4uIgorI34gbXNnc3RyICJOb3RhOiBsZSBtb2RhbGl0w6AgYSB2aWRlbyBzb25vOiAtMz1Bc2ssIC0yPUV4dGVuZGVkLCAtMT1Ob3JtYWxWZ2EsIDE9a2V5MSwgMj1rZXkyLC4uLiIKKworI34gbXNnaWQgIiAgICAgIHVzZSAtUiAxIHRvIG1vdW50IHJvb3QgcmVhZG9ubHksIC1SIDAgZm9yIHJlYWQvd3JpdGUuIgorI34gbXNnc3RyICIgICAgIHV0aWxpenphIC1SIDEgcGVyIG1vbnRhcmUgbGEgcm9vdCByZWFkb25seSwgLVIgMCBwZXIgbGV0dHVyYS9zY3JpdHR1cmEuIgorCisjfiBtc2dpZCAibWlzc2luZyBjb21tYSIKKyN+IG1zZ3N0ciAidmlyZ29sYSBtYW5jYW50ZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJvdXQgaWYgbWVtb3J5IgorI34gbXNnc3RyICJtZW1vcmlhIGVzYXVyaXRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJ1bml0OiBzZWN0b3JzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgInNldHRvcmkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIHN0YXJ0PSU5bHUiCisjfiBtc2dzdHIgImluaXppbyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIsIGJvb3RhYmxlIgorI34gbXNnc3RyICJBSVggYXZ2aWFiaWxlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNsb2NrIGluIFVUQywgbm90IGNoYW5nZWQuXG4iCisjfiBtc2dzdHIgIlNoZWxsIG5vbiBtb2RpZmljYXRhLlxuIgorCisjfiBtc2dpZCAiZmF0YWw6IGZpcnN0IHBhZ2UgdW5yZWFkYWJsZSIKKyN+IG1zZ3N0ciAiZXJyb3JlIGlycmV2ZXJzaWJpbGU6IGltcG9zc2liaWxlIGxlZ2dlcmUgbGEgcHJpbWEgcGFnaW5hIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIlczogRGV2aWNlICclcycgY29udGFpbnMgYSB2YWxpZCBTdW4gZGlza2xhYmVsLlxuIgorI34gIlRoaXMgcHJvYmFibHkgbWVhbnMgY3JlYXRpbmcgdjAgc3dhcCB3b3VsZCBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlLlxuIgorI34gIk5vIHN3YXAgd2FzIGNyZWF0ZWQuIElmIHlvdSByZWFsbHkgd2FudCB0byBjcmVhdGUgdjAgc3dhcCBvbiB0aGF0IGRldmljZSxcbiIKKyN+ICJ1c2UgdGhlIC1mIG9wdGlvbiB0byBmb3JjZSBpdC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBJbCBkaXNwb3NpdGl2byAnJXMnIGNvbnRpZW5lIHVuYSBkaXNrbGFiZWwgU3VuIHZhbGlkYS5cbiIKKyN+ICJRdWVzdG8gcHJvYmFiaWxtZW50ZSBzaWduaWZpY2EgY2hlIGxhIGNyZWF6aW9uZSBkaSB1bm8gc3dhcCB2MCBlbGltaW5lcmViYmUgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pXG4iCisjfiAiTmVzc3VubyBzd2FwIGNyZWF0by4gU2Ugc2kgZGVzaWRlcmEgY3JlYXJlIHVubyBzd2FwIHYwIHN1IHF1ZWwgZGlzcG9zaXRpdm8sXG4iCisjfiAidXRpbGl6emFyZSBsJ29wemlvbmUgLWYgcGVyIGZvcnphcmUgbCdvcGVyYXppb25lLlxuIgorCisjfiBtc2dpZCAibmFtZWk6IGNvdWxkIG5vdCBjaGRpciB0byByb290IVxuIgorI34gbXNnc3RyICJuYW1laTogaW1wb3NzaWJpbGUgZXNlZ3VpcmUgY2hkaXIgc3UgZGlyZWN0b3J5IHJvb3QhXG4iCisKKyN+IG1zZ2lkICJuYW1laTogY291bGQgbm90IHN0YXQgcm9vdCFcbiIKKyN+IG1zZ3N0ciAibmFtZWk6IGltcG9zc2liaWxlIGVzZWd1aXJlIHN0YXQgZGVsbGEgZGlyZWN0b3J5IHJvb3QhXG4iCisKKyN+IG1zZ2lkICJuYW1laTogYnVmIG92ZXJmbG93XG4iCisjfiBtc2dzdHIgIm5hbWVpOiBidWYgb3ZlcmZsb3dcbiIKKworI34gbXNnaWQgIiA/IGNvdWxkIG5vdCBjaGRpciBpbnRvICVzIC0gJXMgKCVkKVxuIgorI34gbXNnc3RyICIgPyBpbXBvc3NpYmlsZSBlc2VndWlyZSBjaGRpciBpbiAlcyAtICVzICglZClcbiIKKworI34gbXNnaWQgIiA/IHByb2JsZW1zIHJlYWRpbmcgc3ltbGluayAlcyAtICVzICglZClcbiIKKyN+IG1zZ3N0ciAiID8gcHJvYmxlbWkgbmVsbGEgbGV0dHVyYSBkZWwgY29sbGVnYW1lbnRvIHNpbWJvbGljbyAlcyAtICVzICglZClcbiIKKworI34gbXNnaWQgIiAgKioqIEVYQ0VFREVEIFVOSVggTElNSVQgT0YgU1lNTElOS1MgKioqXG4iCisjfiBtc2dzdHIgIiAgKioqIFNVUEVSQVRPIElMIExJTUlURSBVTklYIERJIENPTExFR0FNRU5USSBTSU1CT0xJQ0kgKioqXG4iCisKKyN+IG1zZ2lkICJuYW1laTogdW5rbm93biBmaWxlIHR5cGUgMCUwNm8gb24gZmlsZSAlc1xuIgorI34gbXNnc3RyICJuYW1laTogdGlwbyBmaWxlIHNjb25vc2NpdXRvIDAlMDZvIHN1IGZpbGUgJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiBnb2luZyB0byBtb3VudCAlcyBieSAlc1xuIgorI34gbXNnc3RyICJtb3VudDogJXMgdmVycsOgIG1vbnRhdG8gaW4gYmFzZSBhICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IG5vIExBQkVMPSwgbm8gVVVJRD0sIGdvaW5nIHRvIG1vdW50ICVzIGJ5IHBhdGhcbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIHZlcnLDoCBtb250YXRvIGluIGJhc2UgYWxsJ2V0aWNoZXR0YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB3YWl0cGlkOiAlc1xuIgorI34gbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjfiBtc2dpZCAiY291bGQgbm90IHVtb3VudCAlcyAtIHRyeWluZyAlcyBpbnN0ZWFkXG4iCisjfiBtc2dzdHIgImltcG9zc2liaWxlIGVzZWd1aXJlIHVtb3VudCBkaSAlcyAtIGFsIHN1byBwb3N0byDDqCBpbiBjb3JzbyB1biB0ZW50YXRpdm8gY29uICVzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEyc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEyc1xuIgorCisjfiBtc2dpZCAiJS04cyAlLTEwcyAlLTI2LjI0cyAlLTI2LjI0c1xuIgorI34gbXNnc3RyICIlLThzICUtMTBzICUtMjYuMjRzICUtMjYuMjRzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorCisjfiBtc2dpZCAiJS04cyAlLTEwcyAlLTIwcyAlLTIwcyAlLTIwc1xuIgorI34gbXNnc3RyICIlLThzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEycyAlLTEyc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEycyAlLTEyc1xuIgorCisjfiBtc2dpZCAiY2FsbGluZyBvcGVuX3R0eVxuIgorI34gbXNnc3RyICJjaGlhbWF0YSBhIG9wZW5fdHR5IGluIGNvcnNvXG4iCisKKyN+IG1zZ2lkICJjYWxsaW5nIHRlcm1pb19pbml0XG4iCisjfiBtc2dzdHIgImNoaWFtYXRhIGEgdGVybWlvX2luaXQgaW4gY29yc29cbiIKKworI34gbXNnaWQgIndyaXRpbmcgaW5pdCBzdHJpbmdcbiIKKyN+IG1zZ3N0ciAic2NyaXR0dXJhIGluaXQgc3RyaW5nIGluIGNvcnNvXG4iCisKKyN+IG1zZ2lkICJiZWZvcmUgYXV0b2JhdWRcbiIKKyN+IG1zZ3N0ciAicHJpbWEgZGkgYXV0b2JhdWRcbiIKKworI34gbXNnaWQgIndhaXRpbmcgZm9yIGNyLWxmXG4iCisjfiBtc2dzdHIgImluIGF0dGVzYSBkaSBjci1sZlxuIgorCisjfiBtc2dpZCAicmVhZGluZyBsb2dpbiBuYW1lXG4iCisjfiBtc2dzdHIgImxldHR1cmEgZGVsIG5vbWUgZGkgbG9naW5cbiIKKworI34gbXNnaWQgImFmdGVyIGdldG9wdCBsb29wXG4iCisjfiBtc2dzdHIgImFmdGVyIGdldG9wdCBsb29wXG4iCisKKyN+IG1zZ2lkICJleGl0aW5nIHBhcnNlYXJnc1xuIgorI34gbXNnc3RyICJleGl0aW5nIHBhcnNlYXJnc1xuIgorCisjfiBtc2dpZCAiZW50ZXJlZCBwYXJzZV9zcGVlZHNcbiIKKyN+IG1zZ3N0ciAiZW50ZXJlZCBwYXJzZV9zcGVlZHNcbiIKKworI34gbXNnaWQgImV4aXRpbmcgcGFyc2VzcGVlZHNcbiIKKyN+IG1zZ3N0ciAidXNjaXRhIGRhIHBhcnNlc3BlZWRzXG4iCisKKyN+IG1zZ2lkICJvcGVuKDIpXG4iCisjfiBtc2dzdHIgIm9wZW4oMilcbiIKKworI34gbXNnaWQgImR1cGluZ1xuIgorI34gbXNnc3RyICJkdXBpbmdcbiIKKworI34gbXNnaWQgInRlcm1faW8gMlxuIgorI34gbXNnc3RyICJ0ZXJtX2lvIDJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjaGZuOiBQQU0gRmFpbHVyZSwgYWJvcnRpbmc6ICVzXG4iCisjfiBtc2dzdHIgImxvZ2luOiBlcnJvcmUgUEFNLCBpbnRlcnJ1emlvbmUgaW4gY29yc286ICVzXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAvZXRjL3NoZWxsc1xuIgorI34gbXNnc3RyICJBdHRlbnppb25lOiBcIiVzXCIgbm9uIMOoIGVsZW5jYXRvIGluIC9ldGMvc2hlbGxzXG4iCisKKyN+IG1zZ2lkICJDYW4ndCByZWFkICVzLCBleGl0aW5nLiIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgbGVnZ2VyZSAlcywgdXNjaXRhLiIKKworI34gbXNnaWQgImxvZ2luOiBQQU0gRmFpbHVyZSwgYWJvcnRpbmc6ICVzXG4iCisjfiBtc2dzdHIgImxvZ2luOiBlcnJvcmUgUEFNLCBpbnRlcnJ1emlvbmUgaW4gY29yc286ICVzXG4iCisKKyN+IG1zZ2lkICJ0aW1lb3V0ID0gJWQsIHF1aWV0ID0gJWQsIHJlYm9vdCA9ICVkXG4iCisjfiBtc2dzdHIgInRpbWVvdXQgPSAlZCwgcXVpZXQgPSAlZCwgcmVib290ID0gJWRcbiIKKworI34gbXNnaWQgImNvdWxkbid0IHJlYWQgJXMsIGFuZCBjYW5ub3QgaW9jdGwgZHVtcFxuIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBsZWdnZXJlICVzICBlIGltcG9zc2liaWxlIGVzZWd1aXJlIGlvY3RsIHN1bCBkdW1wXG4iCisKKyN+IG1zZ2lkICIsIG9mZnNldCAlbGxkIgorI34gbXNnc3RyICIsIG9mZnNldCAlbGxkIgorCisjfiBtc2dpZCAiJXM6IGNvdWxkIG5vdCBmaW5kIGFueSBkZXZpY2UgL2Rldi9sb29wIyIKKyN+IG1zZ3N0ciAiJXM6IGltcG9zc2liaWxlIHRyb3ZhcmUgYWxjdW4gZGV2aWNlIC9kZXYvbG9vcCMiCisKKyN+IG1zZ2lkICJtb3VudDogYmFja2dyb3VuZGluZyBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGVzZWN1emlvbmUgaW4gYmFja2dyb3VuZCBkaSBcIiVzXCJcbiIKKworI34gbXNnaWQgIm1vdW50OiBnaXZpbmcgdXAgXCIlc1wiXG4iCisjfiBtc2dzdHIgIm1vdW50OiB0ZXJtaW5hIFwiJXNcIlxuIgorCisjIEZJWE1FCisjfiBtc2dpZCAiIgorI34gInVzYWdlOiAlcyBbLWhWXVxuIgorI34gIiAgICAgICAlcyAtYSBbLWVdIFstdl1cbiIKKyN+ICIgICAgICAgJXMgWy12XSBbLXAgcHJpb3JpdHldIHNwZWNpYWx8TEFCRUw9dm9sdW1lX25hbWUgLi4uXG4iCisjfiAiICAgICAgICVzIFstc11cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVzbzogJXMgWy1oVl1cbiIKKyN+ICIgICAgICVzIC1hIFstZV0gWy12XVxuIgorI34gIiAgICAgJXMgWy12XSBbLXAgcHJpb3JpdMOgXSBzcGVjaWFsZXxMQUJFTD12b2x1bWVfbmFtZSAuLi5cbiIKKyN+ICIgICAgICVzIFstc11cbiIKKworIyBGSVhNRQorI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgJXMgLWEgWy12XVxuIgorI34gIiAgICAgICAlcyBbLXZdIHNwZWNpYWwgLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVc286ICVzIFstaFZdXG4iCisjfiAiICAgICAlcyAtYSBbLXZdXG4iCisjfiAiICAgICAlcyBbLXZdIHNwZWNpYWxlIC4uLlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbm5vdCBjYW5vbmljYWxpemUgJXM6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSByZW5kZXJlIGNhbm9uaWNvICVzOiAlc1xuIgorCisjfiBtc2dpZCAidXNhZ2U6IHJlbmljZSBwcmlvcml0eSBbIFsgLXAgXSBwaWRzIF0gWyBbIC1nIF0gcGdycHMgXSBbIFsgLXUgXSB1c2VycyBdXG4iCisjfiBtc2dzdHIgIlVzbzogcmVuaWNlIHByaW9yaXTDoCBbIFsgLXAgXSBwaWRzIF0gWyBbIC1nIF0gcGdycHMgXSBbIFsgLXUgXSB1dGVudGkgXVxuIgorCisjfiBtc2dpZCAiYCVzJzogYmFkIGRpcmVjdG9yeTogJy4nIGlzbid0IGZpcnN0XG4iCisjfiBtc2dzdHIgImAlcyc6IGRpcmVjdG9yeSBkYW5uZWdnaWF0YTogJy4nIG5vbiDDqCBsYSBwcmltYVxuIgorCisjfiBtc2dpZCAiYCVzJzogYmFkIGRpcmVjdG9yeTogJy4uJyBpc24ndCBzZWNvbmRcbiIKKyN+IG1zZ3N0ciAiYCVzJzogZGlyZWN0b3J5IGRhbm5lZ2dpYXRhOiAnLi4nIG5vbiDDqCBsYSBzZWNvbmRhXG4iCisKKyN+IG1zZ2lkICJBc3N1bWluZyBwYWdlcyBvZiBzaXplICVkIChub3QgJWQpXG4iCisjfiBtc2dzdHIgIlNpIGFzc3VtZSBjaGUgbGUgcGFnaW5lIHNpYW5vIGRpIGRpbWVuc2lvbmUgJWQgKG5vbiAlZClcbiIKKworI34gbXNnaWQgIkF1dG9jb25maWd1cmUgZm91bmQgYSAlcyVzJXNcbiIKKyN+IG1zZ3N0ciAiTCdhdXRvY29uZmlndXJhemlvbmUgaGEgdHJvdmF0byB1biAlcyVzJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJEcml2ZSB0eXBlXG4iCisjfiAiICAgPyAgIGF1dG8gY29uZmlndXJlXG4iCisjfiAiICAgMCAgIGN1c3RvbSAod2l0aCBoYXJkd2FyZSBkZXRlY3RlZCBkZWZhdWx0cykiCisjfiBtc2dzdHIgIiIKKyN+ICJUaXBvIGRpIHVuaXTDoFxuIgorI34gIiAgID8gICBhdXRvIGNvbmZpZ3VyZVxuIgorI34gIiAgIDAgICBjdXN0b20gKGNvbiBsZSBpbXBvc3RhemlvbmkgcHJlZGVmaW5pdGUgcmlsZXZhdGUgZGVsbCdoYXJkd2FyZSkiCisKKyN+IG1zZ2lkICJTZWxlY3QgdHlwZSAoPyBmb3IgYXV0bywgMCBmb3IgY3VzdG9tKTogIgorI34gbXNnc3RyICJTZWxlemlvbmUgdGlwbyAoPyBwZXIgYXV0bywgMCBwZXIgY3VzdG9tKTogIgorCisjfiBtc2dpZCAiWW91IG1heSBjaGFuZ2UgYWxsIHRoZSBkaXNrIHBhcmFtcyBmcm9tIHRoZSB4IG1lbnUiCisjfiBtc2dzdHIgIsOIIHBvc3NpYmlsZSBtb2RpZmljYXJlIHR1dHRpIGkgcGFyYW1ldHJpIGRpc2NvIGRhbCBtZW51IHgiCisKKyN+IG1zZ2lkICIzLDVcIiBmbG9wcHkiCisjfiBtc2dzdHIgImZsb3BweSBkYSAzLDVcIiIKKworI34gbXNnaWQgIiVzIGZyb20gdXRpbC1saW51eC0lc1xuIgorI34gbXNnc3RyICIlcyBkYSB1dGlsLWxpbnV4LSVzXG4iCisKKyN+IG1zZ2lkICIlczogZXJyb3I6IHRoZSBsYWJlbCAlcyBvY2N1cnMgb24gYm90aCAlcyBhbmQgJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGVycm9yZTogbCdldGljaGV0dGEgJXMgYXBwYXJlIHNpYSBzdSAlcyBjaGUgc3UgJXNcbiIKKworI34gbXNnaWQgIiVzOiBjb3VsZCBub3Qgb3BlbiAlcywgc28gVVVJRCBhbmQgTEFCRUwgY29udmVyc2lvbiBjYW5ub3QgYmUgZG9uZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmUgJXMsIGxhIGNvbnZlcnNpb25lIGRpIFVVSUQgZSBFVElDSEVUVEEgbm9uIHB1w7JcbiIKKyN+ICIgICAgZXNzZXJlIGVmZmV0dHVhdGEuXG4iCisKKyN+IG1zZ2lkICIlczogYmFkIFVVSUQiCisjfiBtc2dzdHIgIiVzOiBVVUlEIG5vbiB2YWxpZG8iCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnRpbmcgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG1vdW50IGRpICVzIGluIGNvcnNvXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZXJyb3Igd2hpbGUgZ3Vlc3NpbmcgZmlsZXN5c3RlbSB0eXBlXG4iCisjfiBtc2dzdHIgIm1vdW50OiBlcnJvcmUgdGVudGFuZG8gZGkgaW5kb3ZpbmFyZSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW1cbiIKKworI34gbXNnaWQgIm1vdW50OiBleGNlc3NpdmVseSBsb25nIGhvc3Q6ZGlyIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIm1vdW50OiBhcmdvbWVudG8gaG9zdDpkaXIgZWNjZXNzaXZhbWVudGUgbHVuZ29cbiIKKworI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiBtdWx0aXBsZSBob3N0bmFtZXMgbm90IHN1cHBvcnRlZFxuIgorI34gbXNnc3RyICJtb3VudDogYXR0ZW56aW9uZTpub21pIGhvc3QgbXVsdGlwbGkgbm9uIHN1cHBvcnRhdGlcbiIKKworI34gbXNnaWQgIm1vdW50OiBkaXJlY3RvcnkgdG8gbW91bnQgbm90IGluIGhvc3Q6ZGlyIGZvcm1hdFxuIgorI34gbXNnc3RyICJtb3VudDogbGEgZGlyZWN0b3J5IGRhIG1vbnRhcmUgbm9uIMOoIG5lbGwnaG9zdDogZm9ybWF0byBkaXJcbiIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBnZXQgYWRkcmVzcyBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGltcG9zc2liaWxlIG90dGVuZXJlIGwnaW5kaXJpenpvIGRpICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ290IGJhZCBocC0+aF9sZW5ndGhcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG90dGVudXRvIGhwLT5oX2xlbmd0aCBub24gdmFsaWRvXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZXhjZXNzaXZlbHkgbG9uZyBvcHRpb24gYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGFyZ29tZW50byBkZWxsJ29wemlvbmUgZWNjZXNzaXZhbWVudGUgbHVuZ29cbiIKKworI34gbXNnaWQgIldhcm5pbmc6IFVucmVjb2duaXplZCBwcm90bz0gb3B0aW9uLlxuIgorI34gbXNnc3RyICJBdHRlbnppb25lOiBPcHppb25lIHByb3RvPSBub24gcmljb25vc2NpdXRhLlxuIgorCisjfiBtc2dpZCAidW5rbm93biBuZnMgbW91bnQgcGFyYW1ldGVyOiAlcz0lZFxuIgorI34gbXNnc3RyICJwYXJhbWV0cm8gZGkgbmZzIG1vdW50IHNjb25vc2NpdXRvOiAlcz0lZFxuIgorCisjfiBtc2dpZCAidW5rbm93biBuZnMgbW91bnQgb3B0aW9uOiAlcyVzXG4iCisjfiBtc2dzdHIgIm9wemlvbmUgZGkgbmZzIG1vdW50IHNjb25vc2NpdXRhOiAlcyVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ290IGJhZCBocC0+aF9sZW5ndGg/XG4iCisjfiBtc2dzdHIgIm1vdW50OiBvdHRlbnV0byB1biBocC0+aF9sZW5ndGggbm9uIHZhbGlkbz9cbiIKKworI34gbXNnaWQgIm5mcyBiaW5kcmVzdnBvcnQiCisjfiBtc2dzdHIgIm5mcyBiaW5kcmVzdnBvcnQiCisKKyN+IG1zZ2lkICJ1c2VkIHBvcnRtYXBwZXIgdG8gZmluZCBORlMgcG9ydFxuIgorI34gbXNnc3RyICJ1dGlsaXp6YXRvIGlsIHBvcnRtYXBwZXIgcGVyIHRyb3ZhcmUgbGEgcG9ydGEgTkZTXG4iCisKKyN+IG1zZ2lkICJ1c2luZyBwb3J0ICVkIGZvciBuZnMgZGVhbW9uXG4iCisjfiBtc2dzdHIgInV0aWxpenpvIGRlbGxhIHBvcnRhICVkIHBlciBpbCBkZW1vbmUgbmZzXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIG5mcyBzdGF0dXMgcmV0dXJuIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAidmFsb3JlIHJpcG9ydGF0byBkaSBzdGF0byBuZnMgc2Nvbm9zY2l1dG86ICVkIgorCisjfiBtc2dpZCAiaG9zdDogJXMsIGRpcmVjdG9yeTogJXNcbiIKKyN+IG1zZ3N0ciAiaG9zdDogJXMsIGRpcmVjdG9yeTogJXNcbiIKKworI34gbXNnaWQgInVtb3VudDogY2FuJ3QgZ2V0IGFkZHJlc3MgZm9yICVzXG4iCisjfiBtc2dzdHIgInVtb3VudDogaW1wb3NzaWJpbGUgb3R0ZW5lcmUgbCdpbmRpcml6em8gZGkgJXNcbiIKKworI34gbXNnaWQgInVtb3VudDogZ290IGJhZCBob3N0cC0+aF9sZW5ndGhcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiBvdHRlbnV0byBob3N0cC0+aF9sZW5ndGggbm9uIHZhbGlkb1xuIgorCisjfiBtc2dpZCAiJXM6IGludmFsaWQgY3JhbWZzLS1iYWQgcGF0aCBsZW5ndGhcbiIKKyN+IG1zZ3N0ciAiJXM6IGNyYW1mcyBpbnZhbGlkbyAtLSBsdW5naGV6emEgZGVsIHBlcmNvcnNvIG5vbiB2YWxpZGFcbiIKKworI34gbXNnaWQgIiVzOiBpbnZhbGlkIGNyYW1mcy0tY3JjIGVycm9yXG4iCisjfiBtc2dzdHIgIiVzOiBjcmFtZnMgbm9uIHZhbGlkbyAtLSBlcnJvcmUgQ1JDXG4iCisKKyN+IG1zZ2lkICIlczogaW52YWxpZCBjcmFtZnMtLWJhZCBzdXBlcmJsb2NrXG4iCisjfiBtc2dzdHIgIiVzOiBjcmFtZnMgbm9uIHZhbGlkbyAtLSBzdXBlcmJsb2NjbyBkYW5uZWdnaWF0b1xuIgorCisjfiBtc2dpZCAiU3ludGF4IGVycm9yOiAnJXMnXG4iCisjfiBtc2dzdHIgIkVycm9yZSBkaSBzaW50YXNzaTogJyVzJ1xuIgorCisjfiBtc2dpZCAiTm8gc3VjaCBwYXJhbWV0ZXIgc2V0OiAnJXMnXG4iCisjfiBtc2dzdHIgIlBhcmFtZXRybyBub24gaW1wb3N0YXRvOiAnJXMnXG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1wIF0gZGV2IG5hbWVcbiIKKyN+IG1zZ3N0ciAiICAgJXMgWyAtcCBdIGRldiBub21lXG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1jIHwgLXkgfCAtbiB8IC1kIF0gZGV2XG4iCisjfiBtc2dzdHIgIiAgICVzIFsgLWMgfCAteSB8IC1uIHwgLWQgXSBkaXNwXG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1jIHwgLXkgfCAtbiBdIGRldlxuIgorI34gbXNnc3RyICIgICAlcyBbIC1jIHwgLXkgfCAtbiBdIGRpc3BcbiIKKworI34gbXNnaWQgImNvdWxkbid0IG9wZW4gL2Rldi91cmFuZG9tIgorI34gbXNnc3RyICIgaW1wb3NzaWJpbGUgYXByaXJlIC9kZXYvdXJhbmRvbSIKKworI34gbXNnaWQgImNvdWxkbid0IHJlYWQgcmFuZG9tIGRhdGEgZnJvbSAvZGV2L3VyYW5kb20iCisjfiBtc2dzdHIgImltcG9zc2liaWxlIGxlZ2dlcmUgZGF0aSBjYXN1YWxpIGRhIC9kZXYvdXJhbmRvbSIKKworI34gbXNnaWQgImNhbid0IHN0YXQoJXMpIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSBzdGF0KCVzKSIKKworI34gbXNnaWQgImNhbid0IHJlYWQgZGF0YSBmcm9tICVzIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBsZWdnZXJlIGkgZGF0aSBkYSAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJUb28gbWFueSB1c2VycyBsb2dnZWQgb24gYWxyZWFkeS5cbiIKKyN+ICJUcnkgYWdhaW4gbGF0ZXIuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJUcm9wcGkgdXRlbnRpIGdpw6AgY29sbGVnYXRpLlxuIgorI34gIlJpcHJvdmFyZSBzdWNjZXNzaXZhbWVudGUuXG4iCisKKyN+IG1zZ2lkICJZb3UgaGF2ZSB0b28gbWFueSBwcm9jZXNzZXMgcnVubmluZy5cbiIKKyN+IG1zZ3N0ciAiQ2kgc29ubyB0cm9wcGkgcHJvY2Vzc2kgaW4gZXNlY3V6aW9uZS5cbiIKKworI34gbXNnaWQgIlRoZSBwYXNzd29yZCBtdXN0IGhhdmUgYXQgbGVhc3QgNiBjaGFyYWN0ZXJzLCB0cnkgYWdhaW4uXG4iCisjfiBtc2dzdHIgIkxhIHBhc3N3b3JkIGRldmUgYXZlcmUgYWxtZW5vIDYgY2FyYXR0ZXJpLCByaXByb3ZhcmUuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIHBhc3N3b3JkIG11c3QgY29udGFpbiBjaGFyYWN0ZXJzIG91dCBvZiB0d28gb2YgdGhlIGZvbGxvd2luZ1xuIgorI34gImNsYXNzZXM6ICB1cHBlciBhbmQgbG93ZXIgY2FzZSBsZXR0ZXJzLCBkaWdpdHMgYW5kIG5vbiBhbHBoYW51bWVyaWNcbiIKKyN+ICJjaGFyYWN0ZXJzLiBTZWUgcGFzc3dkKDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiTGEgcGFzc3dvcmQgZGV2ZSBjb250ZW5lcmUgY2FyYXR0ZXJpIHRyYXR0aSBkYSBkdWUgZGVsbGUgc2VndWVudGkgY2xhc3NpOlxuIgorI34gImxldHRlcmUgbWFpdXNjb2xlIGUgbWludXNjb2xlLCBudW1lcmkgZSBjYXJhdHRlcmkgbm9uIGFsZmFudW1lcmljaS5cbiIKKyN+ICJDb25zdWx0YXJlIHBhc3N3ZCgxKSBwZXIgbWFnZ2lvcmkgaW5mb3JtYXppb25pLlxuIgorCisjfiBtc2dpZCAiWW91IGNhbm5vdCByZXVzZSB0aGUgb2xkIHBhc3N3b3JkLlxuIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSByaXV0aWxpenphcmUgbGEgdmVjY2hpYSBwYXNzd29yZC5cbiIKKworI34gbXNnaWQgIlBsZWFzZSBkb24ndCB1c2Ugc29tZXRoaW5nIGxpa2UgeW91ciB1c2VybmFtZSBhcyBwYXNzd29yZCFcbiIKKyN+IG1zZ3N0ciAiTm9uIHV0aWxpenphcmUgY29tZSBwYXNzd29yZCBxdWFsY29zYSBjaGUgYXNzb21pZ2xpIGFsIHByb3ByaW8gbm9tZSB1dGVudGUhXG4iCisKKyN+IG1zZ2lkICJQbGVhc2UgZG9uJ3QgdXNlIHNvbWV0aGluZyBsaWtlIHlvdXIgcmVhbG5hbWUgYXMgcGFzc3dvcmQhXG4iCisjfiBtc2dzdHIgIk5vbiB1dGlsaXp6YXJlIGNvbWUgcGFzc3dvcmQgcXVhbGNvc2EgY2hlIGFzc29taWdsaSBhbCBwcm9wcmlvIHZlcm8gbm9tZSFcbiIKKworI34gbXNnaWQgIlVzYWdlOiBwYXNzd2QgW3VzZXJuYW1lIFtwYXNzd29yZF1dXG4iCisjfiBtc2dzdHIgIlVzbzogcGFzc3dkIFtub21lIHV0ZW50ZSBbcGFzc3dvcmRdXVxuIgorCisjfiBtc2dpZCAiT25seSByb290IG1heSB1c2UgdGhlIG9uZSBhbmQgdHdvIGFyZ3VtZW50IGZvcm1zLlxuIgorI34gbXNnc3RyICJTb2xvIHJvb3QgcHXDsiB1dGlsaXp6YXJlIGxlIGZvcm1lIGEgdW5vIGUgZHVlIGFyZ29tZW50aVxuIgorCisjfiBtc2dpZCAiVXNhZ2U6IHBhc3N3ZCBbLWZvcXN2Vl0gW3VzZXIgW3Bhc3N3b3JkXV1cbiIKKyN+IG1zZ3N0ciAiVXNvOiBwYXNzd2QgWy1mb3FzdlZdIFt1dGVudGUgW3Bhc3N3b3JkXV1cbiIKKworI34gbXNnaWQgIkNhbm5vdCBmaW5kIGxvZ2luIG5hbWUiCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIHRyb3ZhcmUgaWwgbm9tZSBkaSBsb2dpbiIKKworI34gbXNnaWQgIk9ubHkgcm9vdCBjYW4gY2hhbmdlIHRoZSBwYXNzd29yZCBmb3Igb3RoZXJzLlxuIgorI34gbXNnc3RyICJTb2xvIHJvb3QgcHXDsiBtb2RpZmljYXJlIGxhIHBhc3N3b3JkIHBlciBnbGkgYWx0cmkuXG4iCisKKyN+IG1zZ2lkICJDYW4ndCBmaW5kIHVzZXJuYW1lIGFueXdoZXJlLiBJcyBgJXMnIHJlYWxseSBhIHVzZXI/IgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSB0cm92YXJlIGlsIG5vbWUgdXRlbnRlLmAlcycgw6ggZGF2dmVybyB1biB1dGVudGU/IgorCisjfiBtc2dpZCAiU29ycnksIEkgY2FuIG9ubHkgY2hhbmdlIGxvY2FsIHBhc3N3b3Jkcy4gVXNlIHlwcGFzc3dkIGluc3RlYWQuIgorI34gbXNnc3RyICJQb3NzbyBtb2RpZmljYXJlIHNvbG8gbGUgcGFzc3dvcmQgbG9jYWxpLiBVdGlsaXp6YXJlIGludmVjZSB5cHBhc3N3ZC4iCisKKyN+IG1zZ2lkICJVSUQgYW5kIHVzZXJuYW1lIGRvZXMgbm90IG1hdGNoLCBpbXBvc3RlciEiCisjfiBtc2dzdHIgIlVJRCBlIG5vbWUgdXRlbnRlIG5vbiBjb21iYWNpYW5vLCBpbXBvc3RvcmUhIgorCisjfiBtc2dpZCAiQ2hhbmdpbmcgcGFzc3dvcmQgZm9yICVzXG4iCisjfiBtc2dzdHIgIk1vZGlmaWNhIHBhc3N3b3JkIHBlciAlc1xuIgorCisjfiBtc2dpZCAiSWxsZWdhbCBwYXNzd29yZCwgaW1wb3N0ZXIuIgorI34gbXNnc3RyICJQYXNzd29yZCBub24gdmFsaWRhLCBpbXBvc3RvcmUuIgorCisjfiBtc2dpZCAiRW50ZXIgbmV3IHBhc3N3b3JkOiAiCisjfiBtc2dzdHIgIkltbWV0dGVyZSBsYSBudW92YSBwYXNzd29yZDogIgorCisjfiBtc2dpZCAiUmUtdHlwZSBuZXcgcGFzc3dvcmQ6ICIKKyN+IG1zZ3N0ciAiUmlkaWdpdGFyZSBsYSBudW92YSBwYXNzd29yZDogIgorCisjfiBtc2dpZCAiWW91IG1pc3NwZWxsZWQgaXQuIFBhc3N3b3JkIG5vdCBjaGFuZ2VkLiIKKyN+IG1zZ3N0ciAiT3J0b2dyYWZpYSBzYmFnbGlhdGEuIExhIHBhc3N3b3JkIG5vbiDDqCBzdGF0YSBtb2RpZmljYXRhLiIKKworI34gbXNnaWQgIlJPT1QgUEFTU1dPUkQgQ0hBTkdFRCIKKyN+IG1zZ3N0ciAiUEFTU1dPUkQgUk9PVCBNT0RJRklDQVRBIgorCisjfiBtc2dpZCAicGFzc3dvcmQgY2hhbmdlZCBieSByb290LCB1c2VyICVzIgorI34gbXNnc3RyICJwYXNzd29yZCBtb2RpZmljYXRhIGRhIHJvb3QsIHV0ZW50ZSAlcyIKKworI34gbXNnaWQgImNhbGxpbmcgc2V0cHduYW0gdG8gc2V0IHBhc3N3b3JkLlxuIgorI34gbXNnc3RyICJjaGlhbWF0YSBkaSBzZXRwd25hbSBwZXIgaW1wb3N0YXJlIGxhIHBhc3N3b3JkLlxuIgorCisjfiBtc2dpZCAiUGFzc3dvcmQgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci5cbiIKKyN+IG1zZ3N0ciAiUGFzc3dvcmQgKk5PTiogbW9kaWZpY2F0YS4gUmlwcm92YXJlIHN1Y2Nlc3NpdmFtZW50ZS5cbiIKKworI34gbXNnaWQgIm1vdW50OiB0aGlzIHZlcnNpb24gd2FzIGNvbXBpbGVkIHdpdGhvdXQgc3VwcG9ydCBmb3IgdGhlIHR5cGUgYG5mcyciCisjfiBtc2dzdHIgIm1vdW50OiBxdWVzdGEgdmVyc2lvbmUgw6ggc3RhdGEgY29tcGlsYXRhIHNlbnphIHN1cHBvcnRvIHBlciBpbCB0aXBvICduZnMnIgorCisjfiBtc2dpZCAiZmxvY2s6IHVua25vd24gb3B0aW9uLCBhYm9ydGluZy5cbiIKKyN+IG1zZ3N0ciAiZmxvY2s6IG9wemlvbmUgc2Nvbm9zY2l1dGEsIGludGVycnV6aW9uZS5cbiIKKworI34gbXNnaWQgIlVzYWdlIGZsb2NrIFstLXNoYXJlZCB8IC0tdGltZW91dD1zZWNvbmRzXSBmaWxlbmFtZSBjb21tYW5kIHthcmcgYXJnLi4ufVxuIgorI34gbXNnc3RyICJVc286IGZsb2NrIFstLXNoYXJlZCB8IC0tdGltZW91dD1zZWNvbmRpXSBub21lZmlsZSBjb21hbmRvIHthcmcgYXJnLi4ufVxuIgpkaWZmIC0tZ2l0IGEvcG8vamEucG8gYi9wby9qYS5wbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDUwNjI0Ci0tLSAvZGV2L251bGwKKysrIGIvcG8vamEucG8KQEAgLTAsMCArMSwyMTU5MiBAQAorIyBKYXBhbmVzZSBtZXNzYWdlcyBmb3IgdXRpbC1saW51eAorIyBDb3B5cmlnaHQgKEMpIDE5OTkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UuCisjIGluY2x1ZGVzIGNmZGlzayBvcmlnaW5hbCB0cmFuc2xhdGlvbiBieQorIyBIaWRlbm9idSBOQUJFVEFOSSA8bmFiZXRhbmlAa2Vybi5waHlzLnNjaS5vc2FrYS11LmFjLmpwPgorIyBEYWlzdWtlIFlhbWFzaGl0YSA8eWFtYWRAbWIuaW5mb3dlYi5uZS5qcD4sIDE5OTktMjAwMS4KKyMgTWFrb3RvIEthdG8gPG1ha290by5rdEBnbWFpbC5jb20+LCAyMDA5LTIwMTAuCisjIFRha2VzaGkgSGFtYXNha2kgPGhtYXRyanBAdXNlcnMuc291cmNlZm9yZ2UuanA+LCAyMDExLCAyMDEzLgorIyB2aWN0b3J5IDx2aWN0b3J5LmRlYkBnbWFpbC5jb20+LCAyMDEzLgorIyBUYWtlc2hpIEhhbWFzYWtpIDxobWF0cmpwQHVzZXJzLnNvdXJjZWZvcmdlLmpwPiwgMjAxNCwgMjAxNSwgMjAxNi4KKyMKKyMgKEFkZGl0aW9uYWwgSGlzdG9yeSkKKyMgIE9uY2UgdXRpbC1saW51eC1uZyB3YXMgZm9ya2VkIGZyb20gdXRpbC1saW51eCwKKyMgICBhcyBvZiBKYW51YXJ5IDIwMTEgaXQgaGFzIG92ZXJyaWRlZCBvcmlnaW5hbCBuYW1lIHV0aWwtbGludXguCisjICBXb3JrIGluIDIwMTMgaXMgYnkgY291cnRlc3kgb2YgWWFzdWhpa28gS2FtYXRhIDxiZWxwaGVnb3JAYmVsYmVsLm9yLmpwPi4KK21zZ2lkICIiCittc2dzdHIgIiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IHV0aWwtbGludXggMi4yOC1yYzJcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogdXRpbC1saW51eEB2Z2VyLmtlcm5lbC5vcmdcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNy0wMi0yMiAxMjozMiswMTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxNi0wNy0yMCAyMTo1NyswOTAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBUYWtlc2hpIEhhbWFzYWtpIDxobWF0cmpwQHVzZXJzLnNvdXJjZWZvcmdlLmpwPlxuIgorIkxhbmd1YWdlLVRlYW06IEphcGFuZXNlIDx0cmFuc2xhdGlvbi10ZWFtLWphQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD5cbiIKKyJMYW5ndWFnZTogamFcbiIKKyJNSU1FLVZlcnNpb246IDEuMFxuIgorIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgorIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKyJYLUJ1Z3M6IFJlcG9ydCB0cmFuc2xhdGlvbiBlcnJvcnMgdG8gdGhlIExhbmd1YWdlLVRlYW0gYWRkcmVzcy5cbiIKKyJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTE7IHBsdXJhbD0wO1xuIgorIlgtR2VuZXJhdG9yOiBQb2VkaXQgMS44LjhcbiIKKyJYLVBvZWRpdC1CYXNlcGF0aDogL2ZhY3RvcnkvamEtcG8vdXRpbC1saW51eC91dGlsLWxpbnV4LTIuMjgtcmMyXG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8c3RhcnQ+IDxsZW5ndGg+XG4iCittc2dzdHIgIiAlcyA844OH44Kj44K544Kv44OH44OQ44Kk44K5PiA844OR44O844OG44Kj44K344On44Oz55Wq5Y+3PiA86ZaL5aeL5L2N572uPiA86ZW344GVPlxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxOAorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgZXhpc3RlbmNlIG9mIGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAi44Kr44O844ON44Or44Gr5oyH5a6a44GX44Gf44OR44O844OG44Kj44K344On44Oz44Gu5a2Y5Zyo44KS5Lyd44GI44G+44GZ44CCXG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjU2IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyNzYgZGlzay11dGlscy9ibG9ja2Rldi5jOjQyMAorIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ0NiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzQgZGlzay11dGlscy9kZWxwYXJ0LmM6NTcKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjcgZGlzay11dGlscy9mZGlzay5jOjcxOCBkaXNrLXV0aWxzL2ZkaXNrLmM6OTk0CisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozMDEgZGlzay11dGlscy9mZGlzay1saXN0LmM6MzQxCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNjAgZGlzay11dGlscy9mc2NrLmM6MTQ0OAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1NSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTEwCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMzQgZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4OQorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE3MyBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjYxCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzg4IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxOQorIzogZGlzay11dGlscy9ta3N3YXAuYzoyMTUgZGlzay11dGlscy9ta3N3YXAuYzoyNDQgZGlzay11dGlscy9wYXJ0eC5jOjk5NAorIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6NjQ3IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzAzCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc1NyBkaXNrLXV0aWxzL3NmZGlzay5jOjgxNiBkaXNrLXV0aWxzL3NmZGlzay5jOjg4MAorIzogZGlzay11dGlscy9zZmRpc2suYzo5MjEgZGlzay11dGlscy9zZmRpc2suYzo5NTEgZGlzay11dGlscy9zZmRpc2suYzo5ODgKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUzNyBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjYwIGxpYmZkaXNrL3NyYy9ic2QuYzo2NDEKKyM6IGxpYi9wYXRoLmM6NzAgbGliL3BhdGguYzo4MiBsb2dpbi11dGlscy9pc2xvY2FsLmM6ODcgbG9naW4tdXRpbHMvbGFzdC5jOjY3MgorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ0NiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDgzCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM1OQorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODEgbG9naW4tdXRpbHMvdmlwdy5jOjI1OCBsb2dpbi11dGlscy92aXB3LmM6Mjc2CisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDk3IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE4OCBtaXNjLXV0aWxzL21jb29raWUuYzoxMTUKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMDcgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODMgc3lzLXV0aWxzL2RtZXNnLmM6NTIyCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MDAgc3lzLXV0aWxzL2VqZWN0LmM6NzAwIHN5cy11dGlscy9mYWxsb2NhdGUuYzozNzQKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyOCBzeXMtdXRpbHMvZnN0cmltLmM6NzIgc3lzLXV0aWxzL2h3Y2xvY2suYzoyODIKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2Mzggc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTYyCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNTYgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDAxCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MjIgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDY5CisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozODggc3lzLXV0aWxzL25zZW50ZXIuYzoxMjggc3lzLXV0aWxzL3J0Y3dha2UuYzoxMzYKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MjcwIHN5cy11dGlscy9zZXRwcml2LmM6MjMwIHN5cy11dGlscy9zZXRwcml2LmM6NTI5CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1MiBzeXMtdXRpbHMvc3dhcG9uLmM6MzcxIHN5cy11dGlscy9zd2Fwb24uYzo1MTQKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2MyBzeXMtdXRpbHMvdW5zaGFyZS5jOjEwNiBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyMQorIzogc3lzLXV0aWxzL3dkY3RsLmM6MzIxIHN5cy11dGlscy93ZGN0bC5jOjM3NyB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MTgKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEyNyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQyNSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQzMQorIzogdGVybS11dGlscy9zY3JpcHQuYzo0MzMgdGVybS11dGlscy9zY3JpcHQuYzo1MjIKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTk3IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjAwCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozMzEgdGV4dC11dGlscy9jb2xjcnQuYzoyODIgdGV4dC11dGlscy9tb3JlLmM6NTEzCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjE0MSB0ZXh0LXV0aWxzL3RhaWxmLmM6NjggdGV4dC11dGlscy90YWlsZi5jOjEwMAorIzogdGV4dC11dGlscy91bC5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAiJXMg44KSIG9wZW4g44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1OSBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MCBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzo5OAorbXNnaWQgImludmFsaWQgcGFydGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz55Wq5Y+344Gu5byV5pWw44GM6ZaT6YGV44Gj44Gm44GE44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MAorbXNnaWQgImludmFsaWQgc3RhcnQgYXJndW1lbnQiCittc2dzdHIgIumWi+Wni+S9jee9ruOBruW8leaVsOOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmSIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjEgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA4Cittc2dpZCAiaW52YWxpZCBsZW5ndGggYXJndW1lbnQiCittc2dzdHIgIumVt+OBleOBruW8leaVsOOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmSIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjIKK21zZ2lkICJmYWlsZWQgdG8gYWRkIHBhcnRpdGlvbiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44KS6L+95Yqg44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NjMKK21zZ2lkICJzZXQgcmVhZC1vbmx5IgorbXNnc3RyICLoqq3jgb/ovrzjgb/lsILnlKjjgavoqK3lrpoiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3MAorbXNnaWQgInNldCByZWFkLXdyaXRlIgorbXNnc3RyICLoqq3jgb/mm7jjgY3lj6/og73jgavoqK3lrpoiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3NgorbXNnaWQgImdldCByZWFkLW9ubHkiCittc2dzdHIgIuiqreOBv+abuOOBjeWPr+iDveOBi+OBqeOBhuOBi+OCkuODhuOCueODiCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjgyCittc2dpZCAiZ2V0IGRpc2NhcmQgemVyb2VzIHN1cHBvcnQgc3RhdHVzIgorbXNnc3RyICJkaXNjYXJkIHplcm9lcyDjga7jgrXjg53jg7zjg4jnirbmhYvjgpLlj5blvpciCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4OAorbXNnaWQgImdldCBsb2dpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgIuirlueQhuODluODreODg+OCryAo44K744Kv44K/KSDjgrXjgqTjgrrjgpLlj5blvpciCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo5NAorbXNnaWQgImdldCBwaHlzaWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICLniannkIbjg5bjg63jg4Pjgq8gKOOCu+OCr+OCvykg44K144Kk44K644KS5Y+W5b6XIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTAwCittc2dpZCAiZ2V0IG1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgIuacgOWwj+OBrkkvT+OCteOCpOOCuuOCkuWPluW+lyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwNgorbXNnaWQgImdldCBvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICLmnIDpganjgapJL0/jgrXjgqTjgrrjgpLlj5blvpciCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTIKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAi44OQ44Kk44OI5Y2Y5L2N44Gn44Ki44Op44Kk44Oh44Oz44OI44Kq44OV44K744OD44OI44KS5Y+W5b6XIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTE4Cittc2dpZCAiZ2V0IG1heCBzZWN0b3JzIHBlciByZXF1ZXN0IgorbXNnc3RyICLjg6rjgq/jgqjjgrnjg4jmr47jga7mnIDlpKfjgrvjgq/jgr/mlbDjgpLlj5blvpciCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMjQKK21zZ2lkICJnZXQgYmxvY2tzaXplIgorbXNnc3RyICLjg5bjg63jg4Pjgq/jgrXjgqTjgrrjgpLlj5blvpciCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzEKK21zZ2lkICJzZXQgYmxvY2tzaXplIG9uIGZpbGUgZGVzY3JpcHRvciBvcGVuaW5nIHRoZSBibG9jayBkZXZpY2UiCittc2dzdHIgIuODluODreODg+OCr+ODh+ODkOOCpOOCueOCkumWi+OBj+ODleOCoeOCpOODq+iomOi/sOWtkOOBruODluODreODg+OCr+OCteOCpOOCuuOCkuOCu+ODg+ODiOOBl+OBpuOBj+OBoOOBleOBhCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzNworbXNnaWQgImdldCAzMi1iaXQgc2VjdG9yIGNvdW50IChkZXByZWNhdGVkLCB1c2UgLS1nZXRzeikiCittc2dzdHIgIjMy44OT44OD44OI44K744Kv44K/44Kr44Km44Oz44OI44KS5Y+W5b6X44GZ44KLICjpnZ7mjqjlpajjgafjgZksIC0tZ2V0c3og44KS44GK5L2/44GE44GP44Gg44GV44GEKSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE0MworbXNnaWQgImdldCBzaXplIGluIGJ5dGVzIgorbXNnc3RyICLjgrXjgqTjgrogKOWNmOS9jTrjg5DjgqTjg4gpIOOCkuWPluW+lyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1MAorbXNnaWQgInNldCByZWFkYWhlYWQiCittc2dzdHIgInJlYWRhaGVhZCDlgKTjgpLoqK3lrpoiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTYKK21zZ2lkICJnZXQgcmVhZGFoZWFkIgorbXNnc3RyICJyZWFkYWhlYWQg5YCk44KS5Y+W5b6XIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTYzCittc2dpZCAic2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICLjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6AgcmVhZGFoZWFkIOWApOOCkuioreWumiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2OQorbXNnaWQgImdldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAi44OV44Kh44Kk44Or44K344K544OG44OgIHJlYWRhaGVhZCDlgKTjgpLlj5blvpciCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzMKK21zZ2lkICJmbHVzaCBidWZmZXJzIgorbXNnc3RyICLjg5Djg4Pjg5XjgqHjgpLjg5Xjg6njg4Pjgrfjg6XjgZnjgosiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzcKK21zZ2lkICJyZXJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgpLlho3oqq3jgb/ovrzjgb8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlMSRzIC1WXG4iCisiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisiXG4iCisiQXZhaWxhYmxlIGNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisiXG4iCisi5L2/44GE5pa5OlxuIgorIiAlMSRzIC1WXG4iCisiICUxJHMgLS1yZXBvcnQgW+ODh+ODkOOCpOOCuV1cbiIKKyIgJTEkcyBbLXZ8LXFdIOOCs+ODnuODs+ODiSDjg4fjg5DjgqTjgrlcbiIKKyJcbiIKKyLliKnnlKjlj6/og73jgarjgrPjg57jg7Pjg4k6XG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICUtMjVzIGdldCBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnNcbiIKK21zZ3N0ciAiICUtMjVzIDUxMuODkOOCpOODiOOCu+OCr+OCv+OBruOCteOCpOOCuuOCkuWPluW+l1xuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzExCittc2dpZCAiY291bGQgbm90IGdldCBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAi44OH44OQ44Kk44K544K144Kk44K644KS5Y+W5b6X44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gY29tbWFuZDogJXMiCittc2dzdHIgIuS4jeaYjuOBquOCs+ODnuODs+ODiTogJXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgIiVzIOOBq+OBr+W8leaVsOOBjOW/heimgeOBp+OBmSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM2OCBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGVycm9yIG9uICVzIgorbXNnc3RyICIlcyDjgadpb2N0bOOCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQuXG4iCittc2dzdHIgIiVzIOOBr+WkseaVl+OBl+OBvuOBl+OBn+OAglxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiJXMg44GM5oiQ5Yqf44GX44G+44GX44Gf44CCXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIHN5c2ZzIGhhbmRsZXIiCittc2dzdHIgIiVzOiBzeXNmcyDjg4/jg7Pjg4njg6njga7mupblgpnjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiBzdGFydCBmcm9tIHN5c2ZzIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44Oz44Gu5aeL44G+44KK44KSIHN5c2ZzIOOBi+OCieiqreOBv+i+vOOCgeOBvuOBm+OCk+OBp+OBl+OBnyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICJSTyAgICBSQSAgIFNTWiAgIEJTWiAgIFN0YXJ0U2VjICAgICAgICAgICAgU2l6ZSAgIERldmljZVxuIgorbXNnc3RyICJSTyAgICBSQSAgIFNTWiAgIEJTWiAgIOmWi+Wni+OCu+OCr+OCvyAgICAgICAgICDjgrXjgqTjgrog44OH44OQ44Kk44K5XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTc5Cittc2dpZCAiQm9vdGFibGUiCittc2dzdHIgIui1t+WLleWPr+iDvSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzkKK21zZ2lkICJUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIuOCq+ODvOOCveODq+S4iuOBruODkeODvOODhuOCo+OCt+ODp+ODs+OBrui1t+WLleWPr+iDveODleODqeOCsOOCkuWIh+OCiuabv+OBiOOBvuOBmSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODAKK21zZ2lkICJEZWxldGUiCittc2dzdHIgIuWJiumZpCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODAKK21zZ2lkICJEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICLjgqvjg7zjgr3jg6vkuIrjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLliYrpmaTjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgxCittc2dpZCAiTmV3IgorbXNnc3RyICLmlrDopo/kvZzmiJAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgxCittc2dpZCAiQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICLnqbrjgY3poJjln5/jgYvjgonmlrDjgZfjgY/jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLkvZzmiJDjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgyCittc2dpZCAiUXVpdCIKK21zZ3N0ciAi57WC5LqGIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MgorIywgZnV6enkKK21zZ2lkICJRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIGNoYW5nZXMiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOCkuabuOOBjei+vOOBvuOBmuOBq+ODl+ODreOCsOODqeODoOOCkue1guS6huOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODMgbGliZmRpc2svc3JjL2JzZC5jOjQzOSBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMAorIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDYgbGliZmRpc2svc3JjL2dwdC5jOjI5MTYgbGliZmRpc2svc3JjL3NnaS5jOjExNjAKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE2Cittc2dpZCAiVHlwZSIKK21zZ3N0ciAi44K/44Kk44OXIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MworbXNnaWQgIkNoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OCv+OCpOODl+OCkuWkieabtOOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQKK21zZ2lkICJIZWxwIgorbXNnc3RyICLjg5jjg6vjg5ciCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0Cittc2dpZCAiUHJpbnQgaGVscCBzY3JlZW4iCittc2dzdHIgIuODmOODq+ODl+eUu+mdouOCkuihqOekuuOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODUKK21zZ2lkICJTb3J0IgorbXNnc3RyICLkuKbjgbnmm7/jgYgiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1Cittc2dpZCAiRml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBrumghuW6j+OCkuS/ruato+OBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJXcml0ZSIKK21zZ3N0ciAi5pu444GN6L6844G/IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIldyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSkiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOCkuODh+OCo+OCueOCr+OBq+abuOOBjei+vOOBv+OBvuOBmSAo44OH44O844K/44KS56C05aOK44GZ44KL5Y+v6IO95oCn44GM44GC44KK44G+44GZKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEdW1wIgorbXNnc3RyICLjgrnjgq/jg6rjg5fjg4jlh7rlipsiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRHVtcCBwYXJ0aXRpb24gdGFibGUgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOCkiBzZmRpc2sg5LqS5o+b44Gu44K544Kv44Oq44OX44OI44OV44Kh44Kk44Or44Gr5Ye65Yqb44GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjYyMCBkaXNrLXV0aWxzL2ZkaXNrLmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB1bnN1cHBvcnRlZCBkaWFsb2cgdHlwZSAlZCIKK21zZ3N0ciAi5YaF6YOo44Ko44Op44O8OiDjgrXjg53jg7zjg4jlpJbjga7jg4DjgqTjgqLjg63jgrDjgr/jgqTjg5cgJWQg44Gn44GZIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG1vdW50ZWQpIgorbXNnc3RyICIlcyAo44Oe44Km44Oz44OI5riIKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjc0Cittc2dpZCAiUGFydGl0aW9uIG5hbWU6IgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7PlkI06IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyODEKK21zZ2lkICJQYXJ0aXRpb24gVVVJRDoiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyBVVUlEOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjkzCittc2dpZCAiUGFydGl0aW9uIHR5cGU6IgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjgr/jgqTjg5c6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMDAKK21zZ2lkICJBdHRyaWJ1dGVzOiIKK21zZ3N0ciAi5bGe5oCnOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzI0Cittc2dpZCAiRmlsZXN5c3RlbSBVVUlEOiIKK21zZ3N0ciAi44OV44Kh44Kk44Or44K344K544OG44Og44GuIFVVSUQ6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMzEKKyMsIGZ1enp5Cittc2dpZCAiRmlsZXN5c3RlbSBMQUJFTDoiCittc2dzdHIgIuODleOCoeOCpOODq+OCt+OCueODhuODoOOBruODqeODmeODqyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzM3Cittc2dpZCAiRmlsZXN5c3RlbToiCittc2dzdHIgIuODleOCoeOCpOODq+OCt+OCueODhuODoDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM0MgorbXNnaWQgIk1vdW50cG9pbnQ6IgorbXNnc3RyICLjg57jgqbjg7Pjg4jjg53jgqTjg7Pjg4g6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzazogJXMiCittc2dzdHIgIuODh+OCo+OCueOCrzogJXMiCisKKyMgVHJhbnNsYXRvcidzIE5PVEU6IDJuZCAlcyBpcyBzaXplX3RvX2h1bWFuX3N0cmluZyBieXRlcworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlNpemU6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICLjgrXjgqTjgro6ICVzLCAlanUg44OQ44Kk44OILCAlanUg44K744Kv44K/IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzLCBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAi44Op44OZ44OrOiAlcywg44OH44Kj44K544Kv6K2Y5Yil5a2QOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcyIKK21zZ3N0ciAi44Op44OZ44OrOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQ2Cittc2dpZCAiTWF5IGJlIGZvbGxvd2VkIGJ5IE0gZm9yIE1pQiwgRyBmb3IgR2lCLCBUIGZvciBUaUIsIG9yIFMgZm9yIHNlY3RvcnMuIgorbXNnc3RyICJNKE1pQuOBp+aMh+WumiksIEcoR2lC44Gn5oyH5a6aKSwgVChUaULjgafmjIflrpopIOOBvuOBn+OBryBTKOOCu+OCr+OCv+aVsOOBp+aMh+WuminjgpLlvozjgavntprjgZHjgovjgZPjgajjgYzjgafjgY3jgb7jgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1MgorbXNnaWQgIlBsZWFzZSwgc3BlY2lmeSBzaXplLiIKK21zZ3N0ciAi44K144Kk44K644KS5oyH5a6a44GX44Gm44GP44Gg44GV44GE44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWluaW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIuacgOWwj+OCteOCpOOCuuOBryAlanUg44OQ44Kk44OI44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWF4aW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIuacgOWkp+OCteOCpOOCuuOBryAlanUg44OQ44Kk44OI44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OTAKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2l6ZS4iCittc2dzdHIgIuOCteOCpOOCuuaDheWgseOBruino+mHiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQ4Cittc2dpZCAiU2VsZWN0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjgr/jgqTjg5fjgpLpgbjmip4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk5NCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjQKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lOiAiCittc2dzdHIgIuOCueOCr+ODquODl+ODiOODleOCoeOCpOODq+WQjeOCkuWFpeWKmzogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5OTUKK21zZ2lkICJUaGUgc2NyaXB0IGZpbGUgd2lsbCBiZSBhcHBsaWVkIHRvIGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICLjgrnjgq/jg6rjg5fjg4jjg5XjgqHjgqTjg6vjgpLjg6Hjg6Ljg6rlhoXjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjg4bjg7zjg5bjg6vjgavpgannlKjjgZfjgb7jgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwNCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNDYKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2NSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gJXMiCittc2dzdHIgIiVzIOOCkiBvcGVuIOOBp+OBjeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDA2IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2NworIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgIuOCueOCr+ODquODl+ODiOODleOCoeOCpOODqyAlcyDjga7oqq3jgb/ovrzjgb/jgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwOCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCAlcyIKK21zZ3N0ciAi44K544Kv44Oq44OX44OI44OV44Kh44Kk44OrICVzIOOBrumBqeeUqOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDI1Cittc2dpZCAiVGhlIGN1cnJlbnQgaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZSB3aWxsIGJlIGR1bXBlZCB0byB0aGUgZmlsZS4iCittc2dzdHIgIuODoeODouODquWGheOBruODkeODvOODhuOCo+OCt+ODp+ODs+ODhuODvOODluODq+OCkuODleOCoeOCpOODq+OBq+abuOOBjeWHuuOBl+OBvuOBmeOAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDMzIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ5MQorbXNnaWQgIkZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAi44K544Kv44Oq44OX44OI44OP44Oz44OJ44Op44Gu5Ymy44KK5b2T44Gm44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzkKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBkaXNrIGxheW91dCBpbnRvIHNjcmlwdC4iCittc2dzdHIgIuODh+OCo+OCueOCr+OBruODrOOCpOOCouOCpuODiOOBruOCueOCr+ODquODl+ODiOOBuOOBruabuOOBjeWHuuOBl+OBq+WkseaVl+OBl+OBvuOBl+OBn+OAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDUzCittc2dpZCAiRGlzayBsYXlvdXQgc3VjY2Vzc2Z1bGx5IGR1bXBlZC4iCittc2dzdHIgIuODh+OCo+OCueOCr+OBruODrOOCpOOCouOCpuODiOOCkuWHuuWKm+OBl+OBvuOBl+OBn+OAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDU2IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUwOQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgc2NyaXB0ICVzIgorbXNnc3RyICLjgrnjgq/jg6rjg5fjg4jjg5XjgqHjgqTjg6sgJXMg44G444Gu5pu444GN6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwOTIKK21zZ2lkICJTZWxlY3QgbGFiZWwgdHlwZSIKK21zZ3N0ciAi44Op44OZ44Or44Gu44K/44Kk44OX44KS6YG45oqeIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwOTUgZGlzay11dGlscy9mZGlzay5jOjEwMTcKK21zZ2lkICJEZXZpY2UgZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAi44OH44OQ44Kk44K544Gr44Gv6KqN6K2Y5Y+v6IO944Gq44OR44O844OG44Kj44K344On44Oz5oOF5aCx44GM5ZCr44G+44KM44Gm44GE44G+44Gb44KT44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMDEKK21zZ2lkICJTZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBsYWJlbCBvciBwcmVzcyAnTCcgdG8gbG9hZCBzY3JpcHQgZmlsZS4iCittc2dzdHIgIuaWsOOBl+OBj+S9nOaIkOOBmeOCi+ODqeODmeODq+OBruOCv+OCpOODl+OCkumBuOaKnuOBmeOCi+OBi+OAgSdMJyDjgpLmirzjgZfjgabjgrnjgq/jg6rjg5fjg4jjgpLoqq3jgb/ovrzjgb/jgb7jgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE0NgorbXNnaWQgIlRoaXMgaXMgY2ZkaXNrLCBhIGN1cnNlcy1iYXNlZCBkaXNrIHBhcnRpdGlvbmluZyBwcm9ncmFtLiIKK21zZ3N0ciAi44GT44KM44GvY2ZkaXNr44CB56uv5pyr5Z6L44OH44Kj44K544Kv44OR44O844OG44Kj44K344On44Oz5L2c5oiQ44OX44Ot44Kw44Op44Og44Gn44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDcKK21zZ2lkICJJdCBsZXRzIHlvdSBjcmVhdGUsIGRlbGV0ZSwgYW5kIG1vZGlmeSBwYXJ0aXRpb25zIG9uIGEgYmxvY2sgZGV2aWNlLiIKK21zZ3N0ciAi44OW44Ot44OD44Kv44OH44OQ44Kk44K544Gu44OR44O844OG44Kj44K344On44Oz44KS5L2c5oiQ77yP5YmK6Zmk77yP5aSJ5pu044GZ44KL44GT44Go44GM44Gn44GN44G+44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDkKK21zZ2lkICJDb21tYW5kICAgICAgTWVhbmluZyIKK21zZ3N0ciAi44Kz44Oe44Oz44OJICAgICAg6Kqs5piOIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTAKK21zZ2lkICItLS0tLS0tICAgICAgLS0tLS0tLSIKK21zZ3N0ciAiLS0tLS0tLSAgICAgIC0tLS0tLS0iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MQorbXNnaWQgIiAgYiAgICAgICAgICBUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgYiAgICAgICAgICDjgqvjg7zjgr3jg6vkuIrjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7otbfli5Xlj6/og73jg5Xjg6njgrDjgpLliIfjgormm7/jgYjjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MgorbXNnaWQgIiAgZCAgICAgICAgICBEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGQgICAgICAgICAg44Kr44O844K944Or5LiK44Gu44OR44O844OG44Kj44K344On44Oz44KS5YmK6Zmk44GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTMKK21zZ2lkICIgIGggICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCittc2dzdHIgIiAgaCAgICAgICAgICDjgZPjga7nlLvpnaLjgpLooajnpLrjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NAorbXNnaWQgIiAgbiAgICAgICAgICBDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIiAgbiAgICAgICAgICDnqbrjgY3poJjln5/jgYvjgonmlrDjgZfjgY/poJjln5/jgpLkvZzmiJDjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NQorbXNnaWQgIiAgcSAgICAgICAgICBRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICBxICAgICAgICAgIOODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOCkuabuOOBjei+vOOBvuOBmuOBq+ODl+ODreOCsOODqeODoOOCkue1guS6huOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU2Cittc2dpZCAiICBzICAgICAgICAgIEZpeCBwYXJ0aXRpb25zIG9yZGVyIChvbmx5IHdoZW4gaW4gZGlzYXJyYXkpIgorbXNnc3RyICIgIHMgICAgICAgICAg44OR44O844OG44Kj44K344On44Oz44Gu6aCG5bqP44KS5L+u5q2jICjpoIbnlarjgavkuKbjgpPjgafjgYTjgarjgYTloLTlkIgpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTcKK21zZ2lkICIgIHQgICAgICAgICAgQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiICB0ICAgICAgICAgIOODkeODvOODhuOCo+OCt+ODp+ODs+OCv+OCpOODl+OCkuWkieabtOOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU4Cittc2dpZCAiICB1ICAgICAgICAgIER1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIiAgdSAgICAgICAgICDjg4fjgqPjgrnjgq/jga7jg6zjgqTjgqLjgqbjg4jjgpIgc2ZkaXNrIOS6kuaPm+OBruOCueOCr+ODquODl+ODiOOBq+abuOOBjeWHuuOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU5Cittc2dpZCAiICBXICAgICAgICAgIFdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh5b3UgbXVzdCBlbnRlciB1cHBlcmNhc2UgVyk7IgorbXNnc3RyICIgIFcgICAgICAgICAg44OR44O844OG44Kj44K344On44Oz5oOF5aCx44KS44OH44Kj44K544Kv44Gr5pu444GN6L6844KAIChXIOOBr+Wkp+aWh+Wtl+OBp+WFpeWKm+OBl+OBpuOBj+OBoOOBleOBhCnjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MAorbXNnaWQgIiAgICAgICAgICAgICAgIHNpbmNlIHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhIG9uIHRoZSBkaXNrLCB5b3UgbXVzdCBlaXRoZXIiCittc2dzdHIgIiAgICAgICAgICAgICDjgZPjga7jgqrjg5fjgrfjg6fjg7Pjga/jgIHjg4fjgqPjgrnjgq/kuIrjga7jg4fjg7zjgr/jgpLnoLTlo4rjgZnjgovlj6/og73mgKfjgYzjgYLjgovjgZ/jgoHjgIEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MQorbXNnaWQgIiAgICAgICAgICAgICAgIGNvbmZpcm0gb3IgZGVueSB0aGUgd3JpdGUgYnkgZW50ZXJpbmcgJ3llcycgb3IgJ25vJyIKK21zZ3N0ciAiICAgICAgICAgICAgICAneWVzJyDjgb7jgZ/jga8gJ25vJyDjgavjgojjgovmnIDntYLnorroqo3jgYzlv4XopoHjgafjgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MgorbXNnaWQgIiAgeCAgICAgICAgICBEaXNwbGF5L2hpZGUgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIiAgeCAgICAgICAgICDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7oqbPntLDmg4XloLHjga7ooajnpLov6Z2e6KGo56S644KS5YiH44KK5pu/44GI44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjMKK21zZ2lkICJVcCBBcnJvdyAgICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIHBhcnRpdGlvbiIKK21zZ3N0ciAi5LiK55+i5Y2w44Kt44O8ICAg5LiK44Gu6aCY5Z+f44Gr44Kr44O844K944Or44KS56e75YuV44GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjQKK21zZ2lkICJEb3duIEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgcGFydGl0aW9uIgorbXNnc3RyICLkuIvnn6LljbDjgq3jg7wgICDkuIvjga7poJjln5/jgavjgqvjg7zjgr3jg6vjgpLnp7vli5XjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2NQorbXNnaWQgIkxlZnQgQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgbWVudSBpdGVtIgorbXNnc3RyICLlt6bnn6LljbDjgq3jg7wgICDliY3jga7jg6Hjg4vjg6Xjg7zpoIXnm67jgavjgqvjg7zjgr3jg6vjgpLnp7vli5XjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2NgorbXNnaWQgIlJpZ2h0IEFycm93ICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBtZW51IGl0ZW0iCittc2dzdHIgIuWPs+efouWNsOOCreODvCAgIOasoeOBruODoeODi+ODpeODvOmgheebruOBq+OCq+ODvOOCveODq+OCkuenu+WLleOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY4Cittc2dpZCAiTm90ZTogQWxsIG9mIHRoZSBjb21tYW5kcyBjYW4gYmUgZW50ZXJlZCB3aXRoIGVpdGhlciB1cHBlciBvciBsb3dlciIKK21zZ3N0ciAi5rOo5oSPOiDjgrPjg57jg7Pjg4njga/jgZnjgbnjgablpKfmloflrZfjgIHlsI/mloflrZfjganjgaHjgonjgafjgoLkvb/nlKjjgafjgY3jgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2OQorbXNnaWQgImNhc2UgbGV0dGVycyAoZXhjZXB0IGZvciBXcml0ZSkuIgorbXNnc3RyICIo44Gf44Gg44GX44CBIOabuOOBjei+vOOBv+OBriAnVycg44KS6Zmk44GN44G+44GZKSDjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3MQorbXNnaWQgIlVzZSBsc2Jsayg4KSBvciBwYXJ0eCg4KSB0byBzZWUgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBkZXZpY2UuIgorbXNnc3RyICJsc2Jsayg4KSDjgb7jgZ/jga8gcGFydHgoOCkg44KS5L2/44GG44Go44OH44OQ44Kk44K544Gr44Gk44GE44Gm44KI44KK6Kmz44GX44GP6KaL44KL44GT44Go44GM44Gn44GN44G+44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzggZGlzay11dGlscy9jZmRpc2suYzoyNDM3Cittc2dpZCAiUHJlc3MgYSBrZXkgdG8gY29udGludWUuIgorbXNnc3RyICLkvZXjgYvjgq3jg7zjgpLmirzjgZfjgabjgY/jgaDjgZXjgYTjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI2MAorbXNnaWQgIkNvdWxkIG5vdCB0b2dnbGUgdGhlIGZsYWcuIgorbXNnc3RyICLotbfli5Xlj6/og73jg5Xjg6njgrDjgpLliIfjgormm7/jgYjjgonjgozjgb7jgZvjgpPjgafjgZfjgZ/jgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1IOOCkuWJiumZpOOBp+OBjeOBvuOBm+OCk+OBp+OBl+OBn+OAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjcyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzMworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGhhcyBiZWVuIGRlbGV0ZWQuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1IOOCkuWJiumZpOOBl+OBvuOBl+OBn+OAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjkzCittc2dpZCAiUGFydGl0aW9uIHNpemU6ICIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44Gu44K144Kk44K6OiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyAlenUg44Gu44K/44Kk44OX44KS5aSJ5pu044GX44G+44GX44Gf44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1IOOBruOCv+OCpOODl+OBr+WkieabtOOBl+OBpuOBhOOBvuOBm+OCk+OAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzUzIGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ2NiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTkxCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzAKK21zZ2lkICJEZXZpY2UgaXMgb3BlbiBpbiByZWFkLW9ubHkgbW9kZS4iCittc2dzdHIgIuODh+ODkOOCpOOCueOBr+iqreOBv+i+vOOBv+WwgueUqOOBp+OCquODvOODl+ODs+OBleOCjOOBpuOBhOOBvuOBmeOAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzU4Cittc2dpZCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHdyaXRlIHRoZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzaz8gIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgpLjg4fjgqPjgrnjgq/jgavmm7jjgY3ovrzjgpPjgafjgoLjgojjgo3jgZfjgYTjgafjgZnjgYvvvJ8gIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjAKK21zZ2lkICJUeXBlIFwieWVzXCIgb3IgXCJub1wiLCBvciBwcmVzcyBFU0MgdG8gbGVhdmUgdGhpcyBkaWFsb2cuIgorbXNnc3RyICJcInllc1wiIOOBvuOBn+OBryBcIm5vXCIg44Go5YWl5Yqb44GX44Gm44GP44Gg44GV44GE44CCRVNDIOOCkuaKvOOBmeOBqOOBk+OBruODgOOCpOOCouODreOCsOOCkuaKnOOBkeOBvuOBmeOAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzY1IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE1NDAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1NTAKK21zZ2lkICJ5ZXMiCittc2dzdHIgInllcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzY2Cittc2dpZCAiRGlkIG5vdCB3cml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOCkuODh+OCo+OCueOCr+OBq+abuOOBjei+vOOBv+OBvuOBm+OCk+OBp+OBl+OBn+OAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzcxCittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbC4iCittc2dzdHIgIuODh+OCo+OCueOCr+ODqeODmeODq+OBruabuOOBjei+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBn+OAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzc0IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU3OAorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOBjOWkieabtOOBleOCjOOBvuOBl+OBn+OAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzk3IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ2OAorbXNnaWQgIk5vdGUgdGhhdCBwYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIgbm93LiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz5oOF5aCx44Gu6aCF55uu6aCG44GM44OH44Kj44K544Kv5LiK44Gu6aCG5bqP44Go5LiA6Ie044GX44G+44Gb44KT44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmU7IGl0IHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICLjg4fjg5DjgqTjgrnjgavjga/ml6LjgasgJXMg572y5ZCN44GM5pu444GN6L6844G+44KM44Gm44GK44KK44CBd3JpdGUgKOabuOOBjei+vOOBvynjgrPjg57jg7Pjg4njgpLlrp/ooYzjgZnjgovjgajmtojjgYjjgabjgZfjgb7jgYTjgb7jgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0NQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBuZXcgZGlza2xhYmVsIgorbXNnc3RyICLmlrDjgZfjgYTjg4fjgqPjgrnjgq/jg6njg5njg6vjga7kvZzmiJDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ1MworbXNnaWQgImZhaWxlZCB0byByZWFkIHBhcnRpdGlvbnMiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBruiqreOBv+i+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz5cbiIKK21zZ3N0ciAiICUxJHMgW+OCquODl+OCt+ODp+ODs10gPOODh+OCo+OCueOCr+ODh+ODkOOCpOOCuT5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTQ5IGRpc2stdXRpbHMvZmRpc2suYzo3MzYgZGlzay11dGlscy9zZmRpc2suYzoxODEwCittc2dpZCAiRGlzcGxheSBvciBtYW5pcHVsYXRlIGEgZGlzayBwYXJ0aXRpb24gdGFibGUuXG4iCittc2dzdHIgIuODh+OCo+OCueOCr+OBruODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOCkuihqOekuuOBvuOBn+OBr+aTjeS9nOOBl+OBvuOBmeOAglxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NTIKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTzjgYTjgaQ+XSAgICAg44Oh44OD44K744O844K444KS6Imy44Gl44GR44GX44G+44GZKGF1dG/jgIFhbHdheXPjgIFuZXZlciDjga7jganjgozjgYspXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU1NQorbXNnaWQgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgc3RhcnQgd2l0aCB6ZXJvZWQgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAg44OR44O844OG44Kj44K344On44Oz44OG44O844OW44Or44KS5L2V44KC44Gq44GE54q25oWL44GL44KJ5L2c5oiQ44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU5NCBkaXNrLXV0aWxzL2ZkaXNrLmM6ODgyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA3NworIzogbWlzYy11dGlscy9jYWwuYzozOTAgc3lzLXV0aWxzL2RtZXNnLmM6MTMzMyB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTQKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb2xvciBtb2RlIgorbXNnc3RyICLmnKrlr77lv5zjga7oibLjg6Ljg7zjg4njgafjgZkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYxMiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjIzCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgImxpYmZkaXNrIOOCs+ODs+ODhuOCreOCueODiOOBruWJsuOCiuW9k+OBpuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+XG4iCittc2dzdHIgIiAlcyA844OH44Kj44K544Kv44OH44OQ44Kk44K5PiA844OR44O844OG44Kj44K344On44Oz55Wq5Y+3PlxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxOAorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCB0byBmb3JnZXQgYWJvdXQgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICLjgqvjg7zjg43jg6vjgavmjIflrprjgZfjgZ/jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgavjgaTjgYTjgablv5jjgozjgovjgojjgYbkvJ3jgYjjgb7jgZnjgIJcbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6NjEKK21zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlIHBhcnRpdGlvbiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44Gu5YmK6Zmk44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9ybWF0dGluZyAuLi4gIgorbXNnc3RyICLjg5Xjgqnjg7zjg57jg4Pjg4jjgZfjgabjgYTjgb7jgZkgLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjY4IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG9uZVxuIgorbXNnc3RyICLntYLkuoZcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlZlcmlmeWluZyAuLi4gIgorbXNnc3RyICLmpJzoqLzjgZfjgabjgYTjgb7jgZkgLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEwOAorbXNnaWQgIlJlYWQ6ICIKK21zZ3N0ciAi6Kqt6L68OiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJvYmxlbSByZWFkaW5nIHRyYWNrL2hlYWQgJXUvJXUsIGV4cGVjdGVkICVkLCByZWFkICVkXG4iCittc2dzdHIgIuiqrei+vOOBv+S4reOBq+WVj+mhjOeZuueUn+OAgeODiOODqeODg+OCry/jg5jjg4Pjg4kgJXUvJXUg44GnICVkIOOBruetiOOBquOBruOBqyAlZCDjgpLoqq3ovrzjgb/jgb7jgZfjgZ9cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYmFkIGRhdGEgaW4gdHJhY2svaGVhZCAldS8ldVxuIgorIkNvbnRpbnVpbmcgLi4uICIKK21zZ3N0ciAiIgorIuODiOODqeODg+OCry/jg5jjg4Pjg4kgJXUvJXUg44Gr5LiN5q2j44Gq44OH44O844K/XG4iCisi57aa44GR44G+44GZIC4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTgyCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjExNyBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1NiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg0CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10gPOODh+ODkOOCpOOCuT5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0OAorbXNnaWQgIkRvIGEgbG93LWxldmVsIGZvcm1hdHRpbmcgb2YgYSBmbG9wcHkgZGlzay5cbiIKK21zZ3N0ciAi44OV44Ot44OD44OU44O844OH44Kj44K544Kv44Gu5L2O44Os44OZ44Or44OV44Kp44O844Oe44OD44OI44KS6KGM44GE44G+44GZ44CCXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTEKK21zZ2lkICIgLWYsIC0tZnJvbSA8Tj4gICAgc3RhcnQgYXQgdGhlIHRyYWNrIE4gKGRlZmF1bHQgMClcbiIKK21zZ3N0ciAiIC1mLCAtLWZyb20gPE4+ICAgIOODiOODqeODg+OCryBOIOOCiOOCiumWi+Wni+OBl+OBvuOBmSAo5pei5a6a5YCkIDApXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTIKK21zZ2lkICIgLXQsIC0tdG8gPE4+ICAgICAgc3RvcCBhdCB0aGUgdHJhY2sgTlxuIgorbXNnc3RyICIgLXQsIC0tdG8gPE4+ICAgICAg44OI44Op44OD44KvIE4g44Gn57WC5LqG44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTMKK21zZ2lkICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIHRyeSB0byByZXBhaXIgdHJhY2tzIGZhaWxlZCBkdXJpbmdcbiIKKyIgICAgICAgICAgICAgICAgICAgICB0aGUgdmVyaWZpY2F0aW9uIChtYXggTiByZXRyaWVzKVxuIgorbXNnc3RyICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIOaknOiovOS4reOBq+WkseaVl+OBl+OBn+WgtOWQiOOBq+ODiOODqeODg+OCr+OBruS/ruW+qeOCkuippuOBv+OBvuOBmVxuIgorIiAgICAgICAgICAgICAgICAgICAgICjmnIDlpKcgTuWbnilcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1NQorbXNnaWQgIiAtbiwgLS1uby12ZXJpZnkgICBkaXNhYmxlIHRoZSB2ZXJpZmljYXRpb24gYWZ0ZXIgdGhlIGZvcm1hdFxuIgorbXNnc3RyICIgLW4sIC0tbm8tdmVyaWZ5ICAg44OV44Kp44O844Oe44OD44OI44Gu5b6M44Gr5qSc6Ki844KS6KGM44GE44G+44Gb44KTXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gZnJvbSIKK21zZ3N0ciAi5byV5pWw44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIC0g6ZaL5aeL44OI44Op44OD44KvIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk4Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHRvIgorbXNnc3RyICLlvJXmlbDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMgLSDntYLkuobjg4jjg6njg4Pjgq8iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMDEKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gcmVwYWlyIgorbXNnc3RyICLlvJXmlbDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMgLSDkv67lvqnoqabooYzlm57mlbAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1MQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4NSBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzM4CisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzQ4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODUKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxNiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0MSBkaXNrLXV0aWxzL3BhcnR4LmM6OTMzCisjOiBsb2dpbi11dGlscy9sYXN0LmM6Njg2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM5IG1pc2MtdXRpbHMvbmFtZWkuYzoxMzUKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjMgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODYgc3lzLXV0aWxzL2RtZXNnLmM6NTI0CisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTk4IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzMSBzeXMtdXRpbHMvZnN0cmltLmM6NzcKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1MTkgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6OTMKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjEzMyB0ZXJtLXV0aWxzL21lc2cuYzoxMjkgdGV4dC11dGlscy9tb3JlLmM6NTA0CisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTAzIHRleHQtdXRpbHMvdGFpbGYuYzoyODAKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RhdCBvZiAlcyBmYWlsZWQiCittc2dzdHIgIiVzIOOBriBzdGF0IOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNCBkaXNrLXV0aWxzL3BhcnR4LmM6OTkxIG1pc2MtdXRpbHMvbHNibGsuYzoxNDg1CisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4OCBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczog44OW44Ot44OD44Kv44OH44OQ44Kk44K544Gn44Gv44GC44KK44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI5Cittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICLnj77lnKjjga7jg5Xjgqnjg7zjg57jg4Pjg4jjgr/jgqTjg5fjgpLnibnlrprjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMtc2lkZWQsICVkIHRyYWNrcywgJWQgc2VjL3RyYWNrLiBUb3RhbCBjYXBhY2l0eSAlZCBrQi5cbiIKK21zZ3N0ciAiJXPpnaIsICVkIOODiOODqeODg+OCrywgJWQg44K744Kv44K/L+ODiOODqeODg+OCr+OAguWQiOioiOWuuemHjyAlZCBrQuOAglxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMyCittc2dpZCAiRG91YmxlIgorbXNnc3RyICLkuKEiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzIKK21zZ2lkICJTaW5nbGUiCittc2dzdHIgIueJhyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzOQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAi44Om44O844K244O844GM5a6a576p44GX44Gf6ZaL5aeL44OI44Op44OD44Kv44GM44Oh44OH44Kj44Ki44Gu5pyA5aSn5YCk44KS6LaF44GI44Gm44GE44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQxCittc2dpZCAidXNlciBkZWZpbmVkIGVuZCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAi44Om44O844K244O844GM5a6a576p44GX44Gf57WC5LqG44OI44Op44OD44Kv44GM44Oh44OH44Kj44Ki44Gu5pyA5aSn5YCk44KS6LaF44GI44Gm44GE44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQzCittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIHVzZXIgZGVmaW5lZCBlbmQgdHJhY2siCittc2dzdHIgIuODpuODvOOCtuODvOOBjOWumue+qeOBl+OBn+e1guS6huODiOODqeODg+OCr+OBjOmWi+Wni+ODiOODqeODg+OCr+OCkui2heOBiOOBpuOBhOOBvuOBmSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI1MSBtaXNjLXV0aWxzL2xvZ2dlci5jOjk4NworbXNnaWQgImNsb3NlIGZhaWxlZCIKK21zZ3N0ciAi6ZaJ44GY44KL44Gu44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTUgZGlzay11dGlscy9mZGlzay5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRG8geW91IHJlYWxseSB3YW50IHRvIHF1aXQ/ICIKK21zZ3N0ciAiIgorIlxuIgorIue1guS6huOBl+OBpuOCiOOCjeOBl+OBhOOBp+OBmeOBiz8gIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdCAoZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAi6YG45oqeICjml6LlrprlgKQgJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgZGVmYXVsdCByZXNwb25zZSAlYy4iCittc2dzdHIgIuaXouWumuOBruWbnuetlCAlYyDjgafjgYLjgovjgoLjga7jgajjgb/jgarjgZfjgb7jgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxNzYgZGlzay11dGlscy9mZGlzay5jOjI1MCBkaXNrLXV0aWxzL2ZkaXNrLmM6MzI1CisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTE4OSBsaWJmZGlzay9zcmMvZ3B0LmM6MjI3NworbXNnaWQgIlZhbHVlIG91dCBvZiByYW5nZS4iCittc2dzdHIgIuevhOWbsuWkluOBruWApOOBp+OBmeOAgiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglcywg5pei5a6a5YCkICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA4IGRpc2stdXRpbHMvZmRpc2suYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCVzLCDml6LlrprlgKQgJTxQUkl1NjQ+KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCVjLSVjLCDliJ3mnJ/lgKQgJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMTcgZGlzay11dGlscy9mZGlzay5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0PiwgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+LCDml6LlrprlgKQgJTxQUkl1NjQ+KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYyk6ICIKK21zZ3N0ciAiJXMgKCVjLSVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjIzIGRpc2stdXRpbHMvZmRpc2suYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MzkyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk3Cittc2dpZCAiIFtZXWVzL1tOXW86ICIKK21zZ3N0ciAiIFtZXWVzL1tOXW86ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQzMworbXNnaWQgIlBhcnRpdGlvbiB0eXBlICh0eXBlIEwgdG8gbGlzdCBhbGwgdHlwZXMpOiAiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBruOCv+OCpOODlyAoTCDjgafliKnnlKjlj6/og73jgarjgr/jgqTjg5fjgpLkuIDopqfooajnpLrjgZfjgb7jgZkpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0MzQKK21zZ2lkICJIZXggY29kZSAodHlwZSBMIHRvIGxpc3QgYWxsIGNvZGVzKTogIgorbXNnc3RyICIxNiDpgLLmlbDjgrPjg7zjg4kgKEwg44Gn5Yip55So5Y+v6IO944Gq44Kz44O844OJ44KS5LiA6Kan6KGo56S644GX44G+44GZKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTM2Cittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBzZXQgKERFUFJFQ0FURUQhKSIKK21zZ3N0ciAiRE9TIOS6kuaPm+ODleODqeOCsOOBjOioreWumuOBleOCjOOBvuOBl+OBnyAo5buD5q2i5LqI5a6a44Gn44GZISkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1MzcKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIG5vdCBzZXQiCittc2dzdHIgIkRPUyDkupLmj5vjg5Xjg6njgrDjga/oqK3lrprjgZXjgozjgabjgYTjgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NTggZGlzay11dGlscy9mZGlzay5jOjU5NAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IGV4aXN0IHlldCEiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyAlenUg44Gv44CB44G+44Gg5a2Y5Zyo44GX44Gm44GE44G+44Gb44KT77yBIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTYzIGRpc2stdXRpbHMvZmRpc2suYzo1NzIgbGliZmRpc2svc3JjL2Fzay5jOjk5NQorbXNnaWQgIlVua25vd24iCittc2dzdHIgIuS4jeaYjiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICclcycgdG8gJyVzJy4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBruOCv+OCpOODl+OCkiAnJXMnIOOBi+OCiSAnJXMnIOOBq+WkieabtOOBl+OBvuOBl+OBn+OAgiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU3NQorIywgYy1mb3JtYXQKK21zZ2lkICJUeXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkOiAlcy4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyAlenUg44Gu44K/44Kk44OX44Gv5aSJ5pu044GX44Gm44GE44G+44Gb44KTOiAlc+OAgiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlMTVzOiAlcyIKK21zZ3N0ciAiJTE1czogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzOiBvZmZzZXQgPSAlPFBSSXU2ND4sIHNpemUgPSAlenUgYnl0ZXMuIgorbXNnc3RyICIiCisiXG4iCisiJXM6IOOCquODleOCu+ODg+ODiCA9ICU8UFJJdTY0PuOAgeOCteOCpOOCuiA9ICV6dSDjg5DjgqTjg4jjgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2NzcKK21zZ2lkICJjYW5ub3Qgc2VlayIKK21zZ3N0ciAi44K344O844Kv44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjgyCittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgIuiqreOBv+WPluOCjOOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY5NSBsaWJmZGlzay9zcmMvYnNkLmM6MjU5IGxpYmZkaXNrL3NyYy9kb3MuYzo5MzMKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEwCittc2dpZCAiRmlyc3Qgc2VjdG9yIgorbXNnc3RyICLmnIDliJ3jga7jgrvjgq/jgr8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMiCittc2dzdHIgIiVzIOOBq+WvvuOBmeOCiyBCTEtHRVRTSVpFIGlvY3RsIOOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICAgIGNoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyIgJTEkcyBbb3B0aW9uc10gLWwgWzxkaXNrPl0gbGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvjgqrjg5fjgrfjg6fjg7NdIDzjg4fjgqPjgrnjgq8+ICAgICAg44OR44O844OG44Kj44K344On44Oz44OG44O844OW44Or44KS5aSJ5pu0XG4iCisiICUxJHMgW+OCquODl+OCt+ODp+ODs10gLWwgWzzjg4fjgqPjgrnjgq8+XSDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjg4bjg7zjg5bjg6vjgpLkuIDopqfooajnpLpcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjczOQorbXNnaWQgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8c2l6ZT4gICAgICBwaHlzaWNhbCBhbmQgbG9naWNhbCBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgLWIsIC0tc2VjdG9yLXNpemUgPOOCteOCpOOCuj4gICAg54mp55CG44GK44KI44Gz6KuW55CG44K744Kv44K/44K144Kk44K6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDAKK21zZ2lkICIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAgZG9uJ3QgZXJhc2UgYm9vdGJpdHMgd2hlbiBjcmVhdGluZyBhIG5ldyBsYWJlbFxuIgorbXNnc3RyICIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAgYm9vdOOAgOODk+ODg+ODiOOCkua2iOOBleOBmuOBq+aWsOOBl+OBhOODqeODmeODq+OCkuS9nOaIkOOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQxCittc2dpZCAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2RlPl0gIG1vZGUgaXMgJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYywgLS1jb21wYXRpYmlsaXR5Wz0844Oi44O844OJPl0g5LqS5o+b44Oi44O844OJOiAnZG9zJyDjgb7jgZ/jga8gJ25vbmRvcycgKOaXouWumuWApClcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MgorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz0844GE44GkPl0gICAgICAgICAg44Oh44OD44K744O844K444KS6Imy44Gl44GR44GX44G+44GZKGF1dG/jgIFhbHdheXPjgIFuZXZlciDjga7jganjgozjgYspXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDUKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgcGFydGl0aW9ucyBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAg44OR44O844OG44Kj44K344On44Oz5LiA6Kan44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDYKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgICAgIOWHuuWKm+OBmeOCi+WIl+OCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ3Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgICAgICAgICAgIHJlY29nbml6ZSBzcGVjaWZpZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUgb25seVxuIgorbXNnc3RyICIgLXQsIC0tdHlwZSA856iu6aGePiAgICAgICAgICAgICDmjIflrprjgZfjgZ/nqK7poZ7jga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjg4bjg7zjg5bjg6vjga7jgb/jgpLoqo3orZjjgZXjgZvjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0OAorbXNnaWQgIiAtdSwgLS11bml0c1s9PHVuaXQ+XSAgICAgICAgICBkaXNwbGF5IHVuaXRzOiAnY3lsaW5kZXJzJyBvciAnc2VjdG9ycycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtdSwgLS11bml0c1s9POWNmOS9jT5dICAgICAgICAgIOihqOekuuWNmOS9jTogJ2N5bGluZGVycycg44G+44Gf44GvICdzZWN0b3JzJyAo5pei5a6a5YCkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ5Cittc2dpZCAiIC1zLCAtLWdldHN6ICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgZGV2aWNlIHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9ycyBbREVQUkVDQVRFRF1cbiIKK21zZ3N0ciAiIC1zLCAtLWdldHN6ICAgICAgICAgICAgICAgICAgIOODh+ODkOOCpOOCueOBruOCteOCpOOCuuOCkiA1MTLjg5DjgqTjg4jjgrvjgq/jgr/mlbDjgafooajnpLrjgZfjgb7jgZnvvIjpnZ7mjqjlpajvvIlcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1MAorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICAgICAg5Y+v6Kqt5oCn44Gu6auY44GE5b2i5byP44Gn44Gv44Gq44GP44CB44OQ44Kk44OI5Y2Y5L2N44Gn44K144Kk44K644KS6KGo56S644GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTEKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtdywgLS13aXBlIDzjg6Ljg7zjg4k+ICAgICAgICAgICDnvbLlkI3jgpLmtojljrvjgZnjgosgKGF1dG8sIGFsd2F5cywgbmV2ZXIg44Gu44Gp44KM44GLKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzUyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MworIywgZnV6enkKK21zZ2lkICIgLVcsIC0td2lwZS1wYXJ0aXRpb25zIDxtb2RlPiAgd2lwZSBzaWduYXR1cmVzIGZyb20gbmV3IHBhcnRpdGlvbnMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC13LCAtLXdpcGUgPOODouODvOODiT4gICAgICAg572y5ZCN44KS5raI5Y6744GZ44KLIChhdXRvLCBhbHdheXMsIG5ldmVyIOOBruOBqeOCjOOBiylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1NQorbXNnaWQgIiAtQywgLS1jeWxpbmRlcnMgPG51bWJlcj4gICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzXG4iCittc2dzdHIgIiAtQywgLS1jeWxpbmRlcnMgPOaVsOWApD4gICAgICAgIOOCt+ODquODs+ODgOaVsOOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU2Cittc2dpZCAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBoZWFkc1xuIgorbXNnc3RyICIgLUgsIC0taGVhZHMgPOaVsOWApD4gICAgICAgICAgICDjg5jjg4Pjg4nmlbDjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1NworbXNnaWQgIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKK21zZ3N0ciAiIC1TLCAtLXNlY3RvcnMgPOaVsOWApD4gICAgICAgICAgMSDjg4jjg6njg4Pjgq/jgYLjgZ/jgorjga7jgrvjgq/jgr/mlbDjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOAorbXNnaWQgImludmFsaWQgc2VjdG9yIHNpemUgYXJndW1lbnQiCittc2dzdHIgIuOCu+OCr+OCv+OCteOCpOOCuuOBruW8leaVsOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg0MAorbXNnaWQgImludmFsaWQgY3lsaW5kZXJzIGFyZ3VtZW50IgorbXNnc3RyICLjgrfjg6rjg7Pjg4Djga7lvJXmlbDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NTIKK21zZ2lkICJub3QgZm91bmQgRE9TIGxhYmVsIGRyaXZlciIKK21zZ3N0ciAiRE9TIOODqeODmeODq+ODieODqeOCpOODkOOBjOimi+OBpOOBi+OCiuOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg1OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbXBhdGliaWxpdHkgbW9kZSAnJXMnIgorbXNnc3RyICLmnKrnn6Xjga7kupLmj5vjg6Ljg7zjg4kgJyVzJyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg2NworbXNnaWQgImludmFsaWQgaGVhZHMgYXJndW1lbnQiCittc2dzdHIgIuODmOODg+ODieaVsOOBruW8leaVsOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg3MworbXNnaWQgImludmFsaWQgc2VjdG9ycyBhcmd1bWVudCIKK21zZ3N0ciAi44K744Kv44K/5pWw44Gu5byV5pWw44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODk5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2tsYWJlbDogJXMiCittc2dzdHIgIuacquWvvuW/nOOBruODh+OCo+OCueOCr+ODqeODmeODq+OBp+OBmTogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MTYgZGlzay11dGlscy9mZGlzay5jOjkyMSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0NgorbXNnaWQgInVuc3VwcG9ydGVkIHdpcGUgbW9kZSIKK21zZ3N0ciAi5pyq5a++5b+c44Gu5raI5Y6744Oi44O844OJ44Gn44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTM0Cittc2dpZCAiVGhlIGRldmljZSBwcm9wZXJ0aWVzIChzZWN0b3Igc2l6ZSBhbmQgZ2VvbWV0cnkpIHNob3VsZCBiZSB1c2VkIHdpdGggb25lIHNwZWNpZmllZCBkZXZpY2Ugb25seS4iCittc2dzdHIgIuODh+ODkOOCpOOCueOBruODl+ODreODkeODhuOCoyAo44K744Kv44K/44K144Kk44K65Y+K44Gz44K444Kq44Oh44OI44OqKSDjga/jgZ/jgaAgMSDjgaTjga7jg4fjg5DjgqTjgrnjgaDjgZHjgavlr77jgZfjgabkvb/jgYbjgbnjgY3jgafjgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VsY29tZSB0byBmZGlzayAoJXMpLiIKK21zZ3N0ciAiZmRpc2sgKCVzKSDjgbjjgojjgYbjgZPjgZ3jgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5ODQgZGlzay11dGlscy9zZmRpc2suYzoxNTg4Cittc2dpZCAiIgorIkNoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS5cbiIKKyJCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC5cbiIKK21zZ3N0ciAiIgorIuOBk+OBk+OBp+ioreWumuOBl+OBn+WGheWuueOBr+OAgeabuOOBjei+vOOBv+OCs+ODnuODs+ODieOCkuWun+ihjOOBmeOCi+OBvuOBp+ODoeODouODquOBruOBv+OBq+S/neaMgeOBleOCjOOBvuOBmeOAglxuIgorIuabuOOBjei+vOOBv+OCs+ODnuODs+ODieOCkuS9v+eUqOOBmeOCi+mam+OBr+OAgeazqOaEj+OBl+OBpuWun+ihjOOBl+OBpuOBj+OBoOOBleOBhOOAglxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAwMSBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICVzIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmUuIgorbXNnc3RyICLjg4fjg5DjgqTjgrkgJXMg44Gr44Gv5pei44GrICVzIOe9suWQjeOBjOabuOOBjei+vOOBvuOCjOOBpuOBhOOBvuOBmeOAgiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMTAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTQyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ4NAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNjIyCittc2dpZCAiVGhlIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAi572y5ZCN44GvIHdyaXRlICjmm7jjgY3ovrzjgb8p44Kz44Oe44Oz44OJ44KS5a6f6KGM44GZ44KL44Go5raI44GI44Gm44GX44G+44GE44G+44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxMyBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjUKK21zZ2lkICJJdCBpcyBzdHJvbmdseSByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSBkZXZpY2Ugd2l0aCB3aXBlZnMoOCksIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICJ3aXBlZnMoOCkg44Gn44OH44OQ44Kk44K544KSIHdpcGUg44GZ44KL44GT44Go44KS5by344GP44GK5Yun44KB44GX44G+44GZ44CC6KGd56qB44Gu5Y+v6IO95oCn44KS6YG/44GR44KL44Gf44KB44Gn44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAyMgorbXNnaWQgIkEgaHlicmlkIEdQVCB3YXMgZGV0ZWN0ZWQuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIGh5YnJpZCBNQlIgbWFudWFsbHkgKGV4cGVydCBjb21tYW5kICdNJykuIgorbXNnc3RyICLjg4/jgqTjg5bjg6rjg4Pjg4kgR1BUIOOCkuimi+OBpOOBkeOBvuOBl+OBn+OAguODj+OCpOODluODquODg+ODiSBNQlIg44KS5omL5YuV44Gn5ZCM5pyf44GZ44KL5b+F6KaB44GM44GC44KK44G+44GZ77yI54af57e06ICF5ZCR44GR44Kz44Oe44Oz44OJICdNJ++8ieOAgiIKKworIyBUcmFuc2xhdG9yJ3MgTk9URTogMm5kICVzIGlzIHNpemVfdG9faHVtYW5fc3RyaW5nIGJ5dGVzCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAi44OH44Kj44K544KvICVzOiAlcywgJWp1IOODkOOCpOODiCwgJWp1IOOCu+OCr+OCvyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMvdHJhY2ssICVsbHUgY3lsaW5kZXJzIgorbXNnc3RyICLjgrjjgqrjg6Hjg4jjg6o6ICVkIOODmOODg+ODieOAgSVsbHUg44K744Kv44K/L+ODiOODqeODg+OCr+OAgSVsbHUg44K344Oq44Oz44OAIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo1OSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5pdHM6ICVzIG9mICVkICogJWxkID0gJWxkIGJ5dGVzIgorbXNnc3RyICLljZjkvY06ICVzICglZCAqICVsZCA9ICVsZCDjg5DjgqTjg4gpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2NSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIuOCu+OCr+OCv+OCteOCpOOCuiAo6KuW55CGIC8g54mp55CGKTogJWx1IOODkOOCpOODiCAvICVsdSDjg5DjgqTjg4giCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkkvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIkkvTyDjgrXjgqTjgrogKOacgOWwjyAvIOaOqOWlqCk6ICVsdSDjg5DjgqTjg4ggLyAlbHUg44OQ44Kk44OIIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3MgorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbm1lbnQgb2Zmc2V0OiAlbHUgYnl0ZXMiCittc2dzdHIgIuOCouODqeOCpOODoeODs+ODiOOCquODleOCu+ODg+ODiDogJWx1IOODkOOCpOODiCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHR5cGU6ICVzIgorbXNnc3RyICLjg4fjgqPjgrnjgq/jg6njg5njg6vjga7jgr/jgqTjg5c6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICLjg4fjgqPjgrnjgq/orZjliKXlrZA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMDkgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjE5CisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjQ0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorbXNnc3RyICLliJfmjJnlrZDjga7libLjgorlvZPjgabjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjExNSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjUKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICLlh7rlipvjg4bjg7zjg5bjg6vjga7mupblgpnjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE1NiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNDkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiCittc2dzdHIgIuWHuuWKm+WFiOOBuOOBruihjOi/veWKoOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3Qgc3RhcnQgb24gcGh5c2ljYWwgc2VjdG9yIGJvdW5kYXJ5LiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44OzICV6dSDjga/niannkIbjgrvjgq/jgr/jga7looPnlYzjgaflp4vjgb7jgaPjgabjgYTjgb7jgZvjgpPjgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE5MgorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOBrumgheebruOBjOODh+OCo+OCueOCr+OBrumghuW6j+OBqOS4gOiHtOOBl+OBvuOBm+OCk+OAgiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE1IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAwCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxMiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NCBsaWJmZGlzay9zcmMvc3VuLmM6MTExMAorbXNnaWQgIlN0YXJ0IgorbXNnc3RyICLplovlp4vkvY3nva4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMQorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTMgbGliZmRpc2svc3JjL3NnaS5jOjExNTUgbGliZmRpc2svc3JjL3N1bi5jOjExMTEKK21zZ2lkICJFbmQiCittc2dzdHIgIuacgOW+jOOBi+OCiSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE3IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAyCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NiBsaWJmZGlzay9zcmMvc3VuLmM6MTExMgorbXNnaWQgIlNlY3RvcnMiCittc2dzdHIgIuOCu+OCr+OCvyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE5IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzA0CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1OCBsaWJmZGlzay9zcmMvc3VuLmM6MTExNAorbXNnaWQgIlNpemUiCittc2dzdHIgIuOCteOCpOOCuiIKKworIyBUcmFuc2xhdG9yJ3MgTk9URTogMm5kICVzIGlzIHNpemVfdG9faHVtYW5fc3RyaW5nIGJ5dGVzCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5wYXJ0aXRpb25lZCBzcGFjZSAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBruOBquOBhOmgmOWfnyAlczogJXMsICVqdSDjg5DjgqTjg4gsICVqdSDjgrvjgq/jgr8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQxMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtbyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLliKnnlKjlj6/og73jgarliJcgKC1vIOOBp+aMh+WumuOBl+OBvuOBmSk6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQ1MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgIiVzIOS4jeaYjuOBquOCq+ODqeODoDogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk1Cittc2dpZCAiR2VuZXJpYyIKK21zZ3N0ciAi5LiA6IisIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NgorbXNnaWQgImRlbGV0ZSBhIHBhcnRpdGlvbiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44KS5YmK6Zmk44GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NworbXNnaWQgImxpc3QgZnJlZSB1bnBhcnRpdGlvbmVkIHNwYWNlIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7jgarjgYTpoJjln5/jgpLkuIDopqfooajnpLrjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk4Cittc2dpZCAibGlzdCBrbm93biBwYXJ0aXRpb24gdHlwZXMiCittc2dzdHIgIuaXouefpeOBruODkeODvOODhuOCo+OCt+ODp+ODs+OCv+OCpOODl+OCkuS4gOimp+ihqOekuuOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTkKK21zZ2lkICJhZGQgYSBuZXcgcGFydGl0aW9uIgorbXNnc3RyICLmlrDjgZfjgYTjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLov73liqDjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMAorbXNnaWQgInByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOCkuihqOekuuOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAxCittc2dpZCAiY2hhbmdlIGEgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OCv+OCpOODl+OCkuWkieabtOOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAyCittc2dpZCAidmVyaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOCkuaknOiovOOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzCittc2dpZCAicHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBruaDheWgseOCkuihqOekuuOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICLjg4fjg5DjgqTjgrnjga7mnIDliJ3jga7jgrvjgq/jgr/jga7jg4fjg7zjgr/jgpLliqDlt6XjgZvjgZrjgavooajnpLrjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNgorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZGlza2xhYmVsIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAi44OH44OQ44Kk44K544Gu44OH44Kj44K544Kv44Op44OZ44Or44Gu44OH44O844K/44KS5Yqg5bel44Gb44Ga44Gr6KGo56S644GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDcKK21zZ2lkICJmaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44Gu6aCG5bqP44KS5L+u5q2j44GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDkKK21zZ2lkICJNaXNjIgorbXNnc3RyICLjgZ3jga7ku5YiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMAorbXNnaWQgInByaW50IHRoaXMgbWVudSIKK21zZ3N0ciAi44GT44Gu44Oh44OL44Ol44O844KS6KGo56S644GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTEKK21zZ2lkICJjaGFuZ2UgZGlzcGxheS9lbnRyeSB1bml0cyIKK21zZ3N0ciAi6KGo56S66aCF55uu44Gu5Y2Y5L2N44KS5aSJ5pu044GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTIKK21zZ2lkICJleHRyYSBmdW5jdGlvbmFsaXR5IChleHBlcnRzIG9ubHkpIgorbXNnc3RyICLnibnmrormqZ/og73jgavnp7vli5XjgZfjgb7jgZkgKOeGn+e3tOiAheWQkeOBkeapn+iDvSkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNAorbXNnaWQgIlNjcmlwdCIKK21zZ3N0ciAi44K544Kv44Oq44OX44OIIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTUKK21zZ2lkICJsb2FkIGRpc2sgbGF5b3V0IGZyb20gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICLjg4fjgqPjgrnjgq/jga7jg6zjgqTjgqLjgqbjg4jjgpIgc2ZkaXNrIOS6kuaPm+OBruOCueOCr+ODquODl+ODiOOBi+OCieiqreOBv+i+vOOBv+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE2Cittc2dpZCAiZHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgIuODh+OCo+OCueOCr+OBruODrOOCpOOCouOCpuODiOOCkiBzZmRpc2sg5LqS5o+b44Gu44K544Kv44Oq44OX44OI44Gr5pu444GN5Ye644GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTgKK21zZ2lkICJTYXZlICYgRXhpdCIKK21zZ3N0ciAi5L+d5a2Y44Go57WC5LqGIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTkKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0IgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgpLjg4fjgqPjgrnjgq/jgavmm7jjgY3ovrzjgpPjgafntYLkuobjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMAorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2siCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOCkuODh+OCo+OCueOCr+OBq+abuOOBjei+vOOBv+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIxCittc2dpZCAicXVpdCB3aXRob3V0IHNhdmluZyBjaGFuZ2VzIgorbXNnc3RyICLlpInmm7TngrnjgpLkv53lrZjjgZvjgZrjgavntYLkuobjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMgorbXNnaWQgInJldHVybiB0byBtYWluIG1lbnUiCittc2dzdHIgIuODoeOCpOODs+ODoeODi+ODpeODvOOBq+aIu+OCiuOBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTI0Cittc2dpZCAicmV0dXJuIGZyb20gQlNEIHRvIERPUyIKK21zZ3N0ciAiQlNEIOOBi+OCiSBET1Mg44Gr5oi744KK44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzUKK21zZ2lkICJDcmVhdGUgYSBuZXcgbGFiZWwiCittc2dzdHIgIuaWsOOBl+OBhOODqeODmeODq+OCkuS9nOaIkOOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM2Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IEdQVCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIuaWsOOBl+OBhCAo5L2V44KC44Gq44GEKSBHUFQg44OR44O844OG44Kj44K344On44Oz44OG44O844OW44Or44KS5L2c5oiQ44GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzcKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU0dJIChJUklYKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIuaWsOOBl+OBhCAo5L2V44KC44Gq44GEKSBTR0kgKElSSVgpIOODkeODvOODhuOCo+OCt+ODp+ODs+ODhuODvOODluODq+OCkuS9nOaIkOOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM4Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIuaWsOOBl+OBhCAo5L2V44KC44Gq44GEKSBET1Mg44OR44O844OG44Kj44K344On44Oz44OG44O844OW44Or44KS5L2c5oiQ44GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU3VuIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi5paw44GX44GEICjkvZXjgoLjgarjgYQpIFN1biDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjg4bjg7zjg5bjg6vjgpLkvZzmiJDjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0MworbXNnaWQgImNyZWF0ZSBhbiBJUklYIChTR0kpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiSVJJWCAoU0dJKSDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjg4bjg7zjg5bjg6vjgpLkvZzmiJDjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1MgorbXNnaWQgIkdlb21ldHJ5IgorbXNnc3RyICLjgrjjgqrjg6Hjg4jjg6oiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1MworbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICLjgrfjg6rjg7Pjg4DmlbDjgpLlpInmm7TjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NAorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgaGVhZHMiCittc2dzdHIgIuODmOODg+ODieaVsOOCkuWkieabtOOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU1Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrIgorbXNnc3RyICLjgrvjgq/jgr8v44OI44Op44OD44Kv5pWw44KS5aSJ5pu044GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjQgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTUKK21zZ2lkICJHUFQiCittc2dzdHIgIkdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY1Cittc2dpZCAiY2hhbmdlIGRpc2sgR1VJRCIKK21zZ3N0ciAi44OH44Kj44K544Kv44GuIEdVSUQg44KS5aSJ5pu044GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjYKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+WQjeOCkuWkieabtOOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY3Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgVVVJRCDjgpLlpInmm7TjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgdGFibGUgbGVuZ3RoIgorbXNnc3RyICLplbfjgZXjga7op6Pph4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OQorbXNnaWQgImVudGVyIHByb3RlY3RpdmUvaHlicmlkIE1CUiIKK21zZ3N0ciAi5L+d6K23L+ODj+OCpOODluODquODg+ODiSBNQlIg44Gr5YWl44KK44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzIKK21zZ2lkICJ0b2dnbGUgdGhlIGxlZ2FjeSBCSU9TIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIuODrOOCrOOCt+ODvEJJT1Mg55So44Gu6LW35YuV5Y+v6IO944OV44Op44Kw44KS5YiH44KK5pu/44GI44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzMKK21zZ2lkICJ0b2dnbGUgdGhlIG5vIGJsb2NrIElPIHByb3RvY29sIGZsYWciCittc2dzdHIgIumdnuODluODreODg+OCryBJL08g44OV44Op44Kw44KS5YiH44KK5pu/44GI44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzQKK21zZ2lkICJ0b2dnbGUgdGhlIHJlcXVpcmVkIHBhcnRpdGlvbiBmbGFnIgorbXNnc3RyICLlv4XpoIjjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjg5Xjg6njgrDjgpLliIfjgormm7/jgYjjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NQorbXNnaWQgInRvZ2dsZSB0aGUgR1VJRCBzcGVjaWZpYyBiaXRzIgorbXNnc3RyICJHVUlEIOOBq+eJueacieOBruODk+ODg+ODiOOCkuWIh+OCiuabv+OBiOOBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg1Cittc2dpZCAiU3VuIgorbXNnc3RyICJTdW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NgorbXNnaWQgInRvZ2dsZSB0aGUgcmVhZC1vbmx5IGZsYWciCittc2dzdHIgIuiqreOBv+i+vOOBv+WwgueUqOODleODqeOCsOOCkuWIh+OCiuabv+OBiOOBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg3Cittc2dpZCAidG9nZ2xlIHRoZSBtb3VudGFibGUgZmxhZyIKK21zZ3N0ciAi44Oe44Km44Oz44OI5Y+v6IO944OV44Op44Kw44KS5YiH44KK5pu/44GI44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIuS7o+abv+OCt+ODquODs+ODgOaVsOOCkuWkieabtOOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkwCittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBleHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAi44K344Oq44Oz44OA44GU44Go44Gu6L+95Yqg44K744Kv44K/5pWw44KS5aSJ5pu044GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTEKK21zZ2lkICJjaGFuZ2UgaW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIuOCpOODs+OCv+ODvOODquODvOODluODleOCoeOCr+OCv+OCkuWkieabtOOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkyCittc2dpZCAiY2hhbmdlIHJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICLlm57ou6LmlbAgKHJwbSkg44KS5aSJ5pu044GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTMKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAi54mp55CG44K344Oq44Oz44OA5pWw44KS5aSJ5pu044GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDIKK21zZ2lkICJTR0kiCittc2dzdHIgIlNHSSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjAzCittc2dpZCAic2VsZWN0IGJvb3RhYmxlIHBhcnRpdGlvbiIKK21zZ3N0ciAi6LW35YuV5Y+v6IO944OR44O844OG44Kj44K344On44Oz44KS6YG45oqe44GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDQKK21zZ2lkICJlZGl0IGJvb3RmaWxlIGVudHJ5IgorbXNnc3RyICLotbfli5Xlj6/og73jgarpoIXnm67jgpLnt6jpm4bjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNQorbXNnaWQgInNlbGVjdCBzZ2kgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIlNHSSDjgrnjg6/jg4Pjg5fjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLpgbjmip7jgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNgorbXNnaWQgImNyZWF0ZSBTR0kgaW5mbyIKK21zZ3N0ciAiU0dJIOaDheWgseOCkuS9nOaIkOOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE1Cittc2dpZCAiRE9TIChNQlIpIgorbXNnc3RyICJET1MgKE1CUikiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNgorbXNnaWQgInRvZ2dsZSBhIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIui1t+WLleWPr+iDveODleODqeOCsOOCkuWIh+OCiuabv+OBiOOBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE3Cittc2dpZCAiZWRpdCBuZXN0ZWQgQlNEIGRpc2tsYWJlbCIKK21zZ3N0ciAi5YWl44KM5a2Q44GuIEJTRCDjg4fjgqPjgrnjgq/jg6njg5njg6vjgpLnt6jpm4bjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxOAorbXNnaWQgInRvZ2dsZSB0aGUgZG9zIGNvbXBhdGliaWxpdHkgZmxhZyIKK21zZ3N0ciAiRE9TIOS6kuaPm+ODleODqeOCsOOCkuWIh+OCiuabv+OBiOOBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIwCittc2dpZCAibW92ZSBiZWdpbm5pbmcgb2YgZGF0YSBpbiBhIHBhcnRpdGlvbiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz5YaF44Gu44OH44O844K/6ZaL5aeL5L2N572u44KS56e75YuV44GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjEKK21zZ2lkICJjaGFuZ2UgdGhlIGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAi44OH44Kj44K544Kv6K2Y5Yil5a2Q44KS5aSJ5pu044GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjMKK21zZ2lkICJyZXR1cm4gZnJvbSBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgdG8gR1BUIgorbXNnc3RyICLkv53orbcv44OP44Kk44OW44Oq44OD44OJIE1CUiDjgYvjgokgR1BUIOOBq+aIu+OCiuOBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjMzCittc2dpZCAiQlNEIgorbXNnc3RyICJCU0QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNAorbXNnaWQgImVkaXQgZHJpdmUgZGF0YSIKK21zZ3N0ciAi44OJ44Op44Kk44OW44OH44O844K/44KS57eo6ZuG44GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzUKK21zZ2lkICJpbnN0YWxsIGJvb3RzdHJhcCIKK21zZ3N0ciAi44OW44O844OI44K544OI44Op44OD44OX44KS44Kk44Oz44K544OI44O844Or44GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzYKK21zZ2lkICJzaG93IGNvbXBsZXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAi5a6M5YWo44Gq44OH44Kj44K544Kv44Op44OZ44Or44KS6KGo56S644GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzcKK21zZ2lkICJsaW5rIEJTRCBwYXJ0aXRpb24gdG8gbm9uLUJTRCBwYXJ0aXRpb24iCittc2dzdHIgIkJTRCDjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgajpnZ4gQlNEIOODkeODvOODhuOCo+OCt+ODp+ODs+OCkuODquODs+OCr+OBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwIChleHBlcnQgY29tbWFuZHMpOlxuIgorbXNnc3RyICIiCisiXG4iCisi44OY44Or44OXICjnhp/nt7TogIXlkJHjgZHjgrPjg57jg7Pjg4kpOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzEgZGlzay11dGlscy9zZmRpc2suYzoxMjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwOlxuIgorbXNnc3RyICIiCisiXG4iCisi44OY44Or44OXOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91J3JlIGVkaXRpbmcgbmVzdGVkICclcycgcGFydGl0aW9uIHRhYmxlLCBwcmltYXJ5IHBhcnRpdGlvbiB0YWJsZSBpcyAnJXMnLiIKK21zZ3N0ciAi5YWl44KM5a2Q44Gr44Gq44Gj44GfICclcycg44OR44O844OG44Kj44K344On44Oz5oOF5aCx44KS57eo6ZuG5Lit44Gn44GZ44CB44OX44Op44Kk44Oe44Oq44O844OR44O844OG44Kj44K344On44Oz5oOF5aCx44GvICclcycg44Gn44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjEKK21zZ2lkICJFeHBlcnQgY29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAi54af57e06ICF5ZCR44GR44Kz44Oe44Oz44OJIChtIOOBp+ODmOODq+ODlyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDIzCittc2dpZCAiQ29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAi44Kz44Oe44Oz44OJIChtIOOBp+ODmOODq+ODlyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVjOiB1bmtub3duIGNvbW1hbmQiCittc2dzdHIgIiVjOiDkuI3mmI7jgarjgrPjg57jg7Pjg4njgafjgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ1OCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODUKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lIgorbXNnc3RyICLjgrnjgq/jg6rjg5fjg4jjg5XjgqHjgqTjg6vlkI3jgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ3MQorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgYXBwbGllZC4iCittc2dzdHIgIuOCueOCr+ODquODl+ODiOOCkumBqeeUqOOBl+OBvuOBl+OBn+OAgiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDk3Cittc2dpZCAiRmFpbGVkIHRvIHRyYW5zZm9ybSBkaXNrIGxheW91dCBpbnRvIHNjcmlwdCIKK21zZ3N0ciAi44OH44Kj44K544Kv44Os44Kk44Ki44Km44OI44Gu44K544Kv44Oq44OX44OI44G444Gu5pu444GN5Ye644GX44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTEKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IHNhdmVkLiIKK21zZ3N0ciAi44K544Kv44Oq44OX44OI44KS5L+d5a2Y44GX44G+44GX44Gf44CCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzQgZGlzay11dGlscy9zZmRpc2suYzoxNDc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyAlenU6IOOCu+OCr+OCvyAwIOOBi+OCieWni+OBvuOBo+OBpuOBhOOBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTM3IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ3OQorIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlIHNpZ25hdHVyZT8iCittc2dzdHIgIuODh+OCo+OCueOCr+OBuOOBruabuOOBjei+vOOBv+OCkuihjOOBquOBhOOBvuOBmeOBi++8nyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTc1Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAi44OH44Kj44K544Kv44Op44OZ44Or44Gu5pu444GN6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MTMKK21zZ2lkICJGYWlsZWQgdG8gZml4IHBhcnRpdGlvbnMgb3JkZXIuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7poIbluo/jgpLkv67mraPjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ/jgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYxNQorbXNnaWQgIlBhcnRpdGlvbnMgb3JkZXIgZml4ZWQuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7poIbluo/jgpLkv67mraPjgZfjgb7jgZfjgZ/jgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyAlenUg44KS5YmK6Zmk44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjAKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIGN5bGluZGVycyAoREVQUkVDQVRFRCEpLiIKK21zZ3N0ciAi6KGo56S66aCF55uu44Gu5Y2Y5L2N44KS44K344Oq44Oz44OA44Gr5aSJ5pu044GX44G+44GZICjlj6TjgYTmqZ/og73jgafjgZkhKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjYyCittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBzZWN0b3JzLiIKK21zZ3N0ciAi6KGo56S66aCF55uu44Gu5Y2Y5L2N44KS44K744Kv44K/44Gr5aSJ5pu044GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NzIgZGlzay11dGlscy9mZGlzay1tZW51LmM6ODQyCittc2dpZCAiTGVhdmluZyBuZXN0ZWQgZGlza2xhYmVsLiIKK21zZ3N0ciAi5YWl44KM5a2Q44Gu44OH44Kj44K544Kv44Op44OZ44Or44GL44KJ6Zui44KM44G+44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MDkKK21zZ2lkICJOZXcgbWF4aW11bSBlbnRyaWVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjcxOQorbXNnaWQgIkVudGVyaW5nIHByb3RlY3RpdmUvaHlicmlkIE1CUiBkaXNrbGFiZWwuIgorbXNnc3RyICLkv53orbcv44OP44Kk44OW44Oq44OD44OJIE1CUiDjg4fjgqPjgrnjgq/jg6njg5njg6vjgavlhaXjgorjgb7jgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjczNQorbXNnaWQgIk5ldyBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIuaWsOOBl+OBhCBVVUlEICg4LTQtNC00LTEyIOW9ouW8jykiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc1MAorbXNnaWQgIk5ldyBuYW1lIgorbXNnc3RyICLmlrDjgZfjgYTlkI3liY0iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjgxMworbXNnaWQgIkVudGVyaW5nIG5lc3RlZCBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAi5YWl44KM5a2Q44GuIEJTRCDjg4fjgqPjgrnjgq/jg6njg5njg6vjgavlhaXjgorjgb7jgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5OAorbXNnaWQgIk51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgIuOCt+ODquODs+ODgOaVsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAwMgorbXNnaWQgIk51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAi44OY44OD44OJ5pWwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDA2Cittc2dpZCAiTnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIuOCu+OCr+OCv+aVsCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMg44Gv44Oe44Km44Oz44OI44GV44KM44Gm44GE44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbW91bnRlZFxuIgorbXNnc3RyICIlcyDjga/jg57jgqbjg7Pjg4jjgZXjgozjgabjgYTjgb7jgZvjgpNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMxIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzQKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1MyBkaXNrLXV0aWxzL3NmZGlzay5jOjI5NyBsaWJmZGlzay9zcmMvYnNkLmM6NjQ2CisjOiBsaWIvcGF0aC5jOjExMCBsaWIvcGF0aC5jOjEzMSBsaWIvcGF0aC5jOjE1MiBsaWIvcGF0aC5jOjIwMAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIxMyBsb2dpbi11dGlscy9sYXN0LmM6MjUwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo2NjQKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjM5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjcxNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgJXMiCittc2dzdHIgIiVzIOOCkuiqreOBv+i+vOOCgOOBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMzIGxpYi9wYXRoLmM6MTMzIGxpYi9wYXRoLmM6MTU0CisjLCBjLWZvcm1hdAorbXNnaWQgInBhcnNlIGVycm9yOiAlcyIKK21zZ3N0ciAi6Kej5p6Q44Ko44Op44O8OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5ICVzIgorbXNnc3RyICLjg4fjgqPjg6zjgq/jg4jjg6ogJXMg44KS5L2c5oiQ44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9ja2luZyBkaXNrIGJ5ICVzIC4uLiAiCittc2dzdHIgIuODh+OCo+OCueOCr+OCkiAlcyDjgafjg63jg4Pjgq/jgZfjgabjgYTjgb7jgZkgLi4uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiKHdhaXRpbmcpICIKK21zZ3N0ciAiKOW+heapn+S4rSkgIgorCisjLiBUUkFOU0xBVE9SUzogVGhlc2UgYXJlIGZvbGxvd3VwcyB0byAiTG9ja2luZyBkaXNrLi4uIi4KKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5NAorbXNnaWQgInN1Y2NlZWRlZCIKK21zZ3N0ciAi5oiQ5YqfIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTQKK21zZ2lkICJmYWlsZWQiCittc2dzdHIgIuWkseaVlyIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDEyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVubG9ja2luZyAlcy5cbiIKK21zZ3N0ciAi44Ki44Oz44Ot44OD44Kv44GX44Gm44GE44G+44GZ44CCJXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXR1cCBkZXNjcmlwdGlvbiBmb3IgJXMiCittc2dzdHIgIiVzIOOBq+WvvuOBmeOCi+ODh+OCo+OCueOCr+ODquODl+OCt+ODp+ODs+OBruioreWumuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDc0IG1pc2MtdXRpbHMvZmluZG1udC5jOjc4MiBtaXNjLXV0aWxzL2xzYmxrLmM6NDMzCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMDIgc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzoxOSBzeXMtdXRpbHMvdW1vdW50LmM6NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6ICVkIOihjOebruOBp+ino+aekOOCqOODqeODvOOBp+OBmSAtLSDnhKHoppbjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjUwNiBkaXNrLXV0aWxzL2ZzY2suYzo1MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSBmc3RhYiIKK21zZ3N0ciAiJXM6IGZzdGFiIOOBruino+aekOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njc5IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTY4IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDM0CisjOiBsb2dpbi11dGlscy92aXB3LmM6MjA0IHN5cy11dGlscy9mbG9jay5jOjM0NSBzeXMtdXRpbHMvbnNlbnRlci5jOjE1MworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxNiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIxOSBzeXMtdXRpbHMvdW5zaGFyZS5jOjQyMAorIzogdGVybS11dGlscy9zY3JpcHQuYzo3ODAKK21zZ2lkICJmb3JrIGZhaWxlZCIKK21zZ3N0ciAi5a2Q44OX44Ot44K744K544Gu6LW35YuV44Gr5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGUgZmFpbGVkIgorbXNnc3RyICIlczog5a6f6KGM44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3NzQKK21zZ2lkICJ3YWl0OiBubyBtb3JlIGNoaWxkIHByb2Nlc3M/IT8iCittc2dzdHIgIndhaXQ6IOaXouOBq+WtkOODl+ODreOCu+OCueOBjOOBquOBj+OBquOBo+OBpuOBhOOBvuOBmT8hPyIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzc3IHN5cy11dGlscy9mbG9jay5jOjM2MyBzeXMtdXRpbHMvc3dhcG9uLmM6MzQ4CisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQwNCBzeXMtdXRpbHMvdW5zaGFyZS5jOjQyNQorbXNnaWQgIndhaXRwaWQgZmFpbGVkIgorbXNnc3RyICJ3YWl0cGlkIOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmcuLi4gJXMgZm9yIGRldmljZSAlcyBleGl0ZWQgd2l0aCBzaWduYWwgJWQuIgorbXNnc3RyICLorablkYouLi4g44OH44OQ44Kk44K5ICUyJHMg44Gr5a++44GZ44KLICUxJHMg44GM44CB44K344Kw44OK44OrICUzJGQg44Gn57WC5LqG44GX44G+44GX44Gf44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXM6IHN0YXR1cyBpcyAleCwgc2hvdWxkIG5ldmVyIGhhcHBlbi4iCittc2dzdHIgIiVzICVzOiDnirbmhYvjga8gJXgg44Gn44GZ44GM44CB44GT44KM44Gv55m655Sf44GX44Gq44GE44Gv44Ga44Gu5YCk44Gn44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluaXNoZWQgd2l0aCAlcyAoZXhpdCBzdGF0dXMgJWQpXG4iCittc2dzdHIgIiVzIOOBjOWujOS6huOBl+OBvuOBl+OBnyAo57WC5LqG44K544OG44O844K/44K5ICVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgJWQgKCVtKSB3aGlsZSBleGVjdXRpbmcgZnNjay4lcyBmb3IgJXMiCittc2dzdHIgIuOCqOODqeODvCAlZCAoJW0pIOOBjOeZuueUn+OAgWZzY2suJXMg44KSICVzIOOBp+Wun+ihjOS4reOBp+OBl+OBnyIKKworIzogZGlzay11dGlscy9mc2NrLmM6OTkxCittc2dpZCAiIgorIkVpdGhlciBhbGwgb3Igbm9uZSBvZiB0aGUgZmlsZXN5c3RlbSB0eXBlcyBwYXNzZWQgdG8gLXQgbXVzdCBiZSBwcmVmaXhlZFxuIgorIndpdGggJ25vJyBvciAnIScuIgorbXNnc3RyICItdCDjgafjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga7jgr/jgqTjg5fjgpLmjIflrprjgZnjgovpmpvjgIHjg6rjgrnjg4jjga7kuIDpg6jjgaDjgZHjgavlkKblrprmvJTnrpflrZAgKCdubycg44G+44Gf44GvICchJykg44KS5LuY44GR44KL44GT44Go44Gv44Gn44GN44G+44Gb44KT44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBiYWQgbGluZSBpbiAvZXRjL2ZzdGFiOiBiaW5kIG1vdW50IHdpdGggbm9uemVybyBmc2NrIHBhc3MgbnVtYmVyIgorbXNnc3RyICIlczogL2V0Yy9mc3RhYiDlhoXjga7kuI3mraPjgarooYzjgpLoqq3jgb/po5vjgbDjgZfjgabjgYTjgb7jgZk6IGZzY2sgcGFzcyBudW1iZXIg44GM44K844Ot5Lul5aSW44Gu5YCk44Gr44Gq44Gj44Gm44GE44KLIGJpbmQgbW91bnQg44GM5a2Y5Zyo44GX44Gm44GE44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBub25leGlzdGVudCBkZXZpY2VcbiIKK21zZ3N0ciAiJXM6IOWtmOWcqOOBl+OBquOBhOODh+ODkOOCpOOCueOCkuiqreOBv+mjm+OBsOOBl+OBpuOBhOOBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub25leGlzdGVudCBkZXZpY2UgKFwibm9mYWlsXCIgZnN0YWIgb3B0aW9uIG1heSBiZSB1c2VkIHRvIHNraXAgdGhpcyBkZXZpY2UpXG4iCittc2dzdHIgIiVzOiDlrZjlnKjjgZfjgarjgYTjg4fjg5DjgqTjgrnjgafjgZkgKFwibm9mYWlsXCIgZnN0YWIg44Kq44OX44K344On44Oz44KS5Yip55So44GZ44KL44GT44Go44Gn44CB44GT44Gu44OH44OQ44Kk44K544KS6Kqt44G/6aOb44Gw44GZ44GT44Go44GM44Gn44GN44G+44GZKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZVxuIgorbXNnc3RyICIlczog5LiN5piO44Gq44OV44Kh44Kk44Or44K344K544OG44Og44K/44Kk44OX44KS6Kqt44G/6aOb44Gw44GX44Gm44GE44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoZWNrICVzOiBmc2NrLiVzIG5vdCBmb3VuZCIKK21zZ3N0ciAiJXMg44KS44OB44Kn44OD44Kv44Gn44GN44G+44Gb44KTOiBmc2NrLiVzIOOBjOimi+OBpOOBi+OCiuOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTI1OQorbXNnaWQgIkNoZWNraW5nIGFsbCBmaWxlIHN5c3RlbXMuXG4iCittc2dzdHIgIuOBmeOBueOBpuOBruODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuaknOafu+OBl+OBvuOBmeOAglxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzUwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0td2FpdGluZy0tIChwYXNzICVkKVxuIgorbXNnc3RyICItLeW+heapn+S4rS0tICjjg5HjgrkgJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAtLSBbZnMtb3B0aW9uc10gWzxmaWxlc3lzdGVtPiAuLi5dXG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSAtLSBb44OV44Kh44Kk44Or44K344K544OG44Og44Kq44OX44K344On44OzXSBbPOODleOCoeOCpOODq+OCt+OCueODhuODoD4gLi4uXVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzc5Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkxpbnV4IOOBruODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuaknOafuy/kv67mraPjgZfjgb7jgZnjgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4MgorbXNnaWQgIiAtQSAgICAgICAgIGNoZWNrIGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLUEgICAgICAgICDjgZnjgbnjgabjga7jg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgpLmpJzmn7vjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4MworbXNnaWQgIiAtQyBbPGZkPl0gIGRpc3BsYXkgcHJvZ3Jlc3MgYmFyOyBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiIC1DIFs8ZmQ+XSAg6YCy5o2X44KS6KGo56S644GX44G+44GZOyA8ZmQ+IOOBryBHVUkg44Gu5aC05ZCI44Gr5oyH5a6a44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODQKK21zZ2lkICIgLWwgICAgICAgICBsb2NrIHRoZSBkZXZpY2UgdG8gZ3VhcmFudGVlIGV4Y2x1c2l2ZSBhY2Nlc3NcbiIKK21zZ3N0ciAiIC1sICAgICAgICAg5o6S5LuW44Ki44Kv44K744K544KS5L+d6Ki844GZ44KL44Gf44KB44CB44OH44OQ44Kk44K544KS44Ot44OD44KvKOaWvemMoCnjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NQorbXNnaWQgIiAtTSAgICAgICAgIGRvIG5vdCBjaGVjayBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtTSAgICAgICAgIOODnuOCpuODs+ODiOa4iOOBv+OBruODleOCoeOCpOODq+OCt+OCueODhuODoOOBr+ODgeOCp+ODg+OCr+OBl+OBvuOBm+OCk1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg2Cittc2dpZCAiIC1OICAgICAgICAgZG8gbm90IGV4ZWN1dGUsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGJlIGRvbmVcbiIKK21zZ3N0ciAiIC1OICAgICAgICAg5a6f6Zqb44Gr44Gv5L2V44KC5a6f6KGM44Gb44Ga44CB5L2V44GM6KGM44KP44KM44KL44GL44Gg44GR44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODcKK21zZ2lkICIgLVAgICAgICAgICBjaGVjayBmaWxlc3lzdGVtcyBpbiBwYXJhbGxlbCwgaW5jbHVkaW5nIHJvb3RcbiIKK21zZ3N0ciAiIC1QICAgICAgICAg44Or44O844OI44OV44Kh44Kk44Or44K344K544OG44Og44KS5ZCr44KB44CB44OB44Kn44OD44Kv44KS5Lim5YiX44Gn5Yem55CG44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODgKK21zZ2lkICIgLVIgICAgICAgICBza2lwIHJvb3QgZmlsZXN5c3RlbTsgdXNlZnVsIG9ubHkgd2l0aCAnLUEnXG4iCittc2dzdHIgIiAtUiAgICAgICAgICDjg6vjg7zjg4jjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgpLpo5vjgbDjgZk7ICctQScg44Go5L2155So44GX44Gf5aC05ZCI44Gr5L6/5Yip44Gn44GZXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODkKK21zZ2lkICIiCisiIC1yIFs8ZmQ+XSAgcmVwb3J0IHN0YXRpc3RpY3MgZm9yIGVhY2ggZGV2aWNlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiIKKyIgLXIgWzxmZD5dICDjg4Hjgqfjg4Pjgq/jgZfjgZ/lgIvjgIXjga7jg4fjg5DjgqTjgrnjgavlr77jgZfjgabntbHoqIjmg4XloLHjgpLloLHlkYrjgZfjgb7jgZlcbiIKKyIgICAgICAgICAgICDjg5XjgqHjgqTjg6voqJjov7DlrZAgPGZkPiDjga8gR1VJIOOBruWgtOWQiOOBq+aMh+WumuOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkxCittc2dpZCAiIC1zICAgICAgICAgc2VyaWFsaXplIHRoZSBjaGVja2luZyBvcGVyYXRpb25zXG4iCittc2dzdHIgIiAtcyAgICAgICAgIOODgeOCp+ODg+OCr+WHpueQhuOCkumAkOasoeeahOOBq+ihjOOBhOOBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkyCittc2dpZCAiIC1UICAgICAgICAgZG8gbm90IHNob3cgdGhlIHRpdGxlIG9uIHN0YXJ0dXBcbiIKK21zZ3N0ciAiIC1UICAgICAgICAg6LW35YuV5pmC44Gr44K/44Kk44OI44Or44KS6KGo56S644GX44Gq44GE44KI44GG44Gr44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTMKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtdCA8dHlwZT4gIHNwZWNpZnkgZmlsZXN5c3RlbSB0eXBlcyB0byBiZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIDx0eXBlPiBpcyBhbGxvd2VkIHRvIGJlIGEgY29tbWEtc2VwYXJhdGVkIGxpc3RcbiIKK21zZ3N0ciAiIgorIiAtdCA844K/44Kk44OXPiDjg4Hjgqfjg4Pjgq/lr77osaHjga7jg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgpLmjIflrprjgZfjgb7jgZk7XG4iCisiICAgICAgICAgICAgIDzjgr/jgqTjg5c+IOOBr+OCq+ODs+ODnuWMuuWIh+OCiuOBruODquOCueODiOOBp+aMh+WumuOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk1Cittc2dpZCAiIC1WICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC1WICAgICAgICAg5L2V44GM6KGM44KP44KM44KL44Gu44GL44KS6Kmz44GX44GP6KGo56S644GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTYKK21zZ2lkICIgLT8gICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLT8gICAgICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OQorbXNnaWQgIlNlZSB0aGUgc3BlY2lmaWMgZnNjay4qIGNvbW1hbmRzIGZvciBhdmFpbGFibGUgZnMtb3B0aW9ucy4iCittc2dzdHIgIuODleOCoeOCpOODq+OCt+OCueODhuODoOWbuuacieOBruOCquODl+OCt+ODp+ODs+OBq+OBpOOBhOOBpuOBr+OAgSBmc2NrLiog44Kz44Oe44Oz44OJ44Gu44OY44Or44OX44KS44GK6Kqt44G/44GP44Gg44GV44GE44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDM4Cittc2dpZCAidG9vIG1hbnkgZGV2aWNlcyIKK21zZ3N0ciAi44OH44OQ44Kk44K544GM5aSa44GZ44GO44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDUwCittc2dpZCAiSXMgL3Byb2MgbW91bnRlZD8iCittc2dzdHIgIi9wcm9jIOOCkuODnuOCpuODs+ODiOOBl+OBpuOBhOOBvuOBmeOBi++8nyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ1OAorIywgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHJvb3QgdG8gc2NhbiBmb3IgbWF0Y2hpbmcgZmlsZXN5c3RlbXM6ICVzIgorbXNnc3RyICLoqbLlvZPjgZnjgovjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgpLjg4Hjgqfjg4Pjgq/jgZnjgovjgavjga/jgIEgcm9vdCDjgafjgarjgZHjgozjgbDjgarjgorjgb7jgZvjgpM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDYyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGZpbmQgbWF0Y2hpbmcgZmlsZXN5c3RlbTogJXMiCittc2dzdHIgIuipsuW9k+OBmeOCi+ODleOCoeOCpOODq+OCt+OCueODhuODoOOBjOimi+OBpOOBi+OCiuOBvuOBm+OCkzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NzAgZGlzay11dGlscy9mc2NrLmM6MTU2NSBtaXNjLXV0aWxzL2tpbGwuYzozNjMKKyM6IHN5cy11dGlscy9lamVjdC5jOjI3OQorbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKK21zZ3N0ciAi5byV5pWw44GM5aSa44GZ44GO44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTI1IGRpc2stdXRpbHMvZnNjay5jOjE1MjgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtciIKK21zZ3N0ciAi5byV5pWw44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIC0g6ZaL5aeL44OI44Op44OD44KvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yOiAlZCIKK21zZ3N0ciAi5byV5pWw44GM5q2j44GX44GP44GC44KK44G+44Gb44KTOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTYxOAorbXNnaWQgInRoZSAtbCBvcHRpb24gY2FuIGJlIHVzZWQgd2l0aCBvbmUgZGV2aWNlIG9ubHkgLS0gaWdub3JlIgorbXNnc3RyICItbCDjgqrjg5fjgrfjg6fjg7Pjga8gMSDjgaTjga7jg4fjg5DjgqTjgrnjga7jgb/jgpLmjIflrprjgZfjgZ/loLTlkIjjgavjga7jgb/mnInlirnjgafjgZkgLS0g44Ko44Op44O844KS54Sh6KaW44GX44Gm44GE44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+XG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSA844OV44Kh44Kk44OrPlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE2Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIGNvbXByZXNzZWQgUk9NIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIuWcp+e4rlJPTSDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgpLmpJzmn7sv5L+u5q2j44GX44G+44GZ44CCXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTkKK21zZ2lkICIgLWEgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICDkupLmj5vmgKfnorrkv53jga7jgZ/jgoHjgavnlKjmhI/jgZXjgozjgabjgYTjgb7jgZnjgILmjIflrprjgZfjgabjgoLkvZXjgoLjgZfjgb7jgZvjgpNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgYmUgbW9yZSB2ZXJib3NlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAg44KI44KK6Kmz44GX44GP5Ye65Yqb44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjEKK21zZ2lkICIgLXkgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIC15ICAgICAgICAgICAgICAgICAgICAgICDkupLmj5vmgKfnorrkv53jga7jgZ/jgoHjgavnlKjmhI/jgZXjgozjgabjgYTjgb7jgZnjgILmjIflrprjgZfjgabjgoLkvZXjgoLjgZfjgb7jgZvjgpNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMgorbXNnaWQgIiAtYiwgLS1ibG9ja3NpemUgPHNpemU+ICAgdXNlIHRoaXMgYmxvY2tzaXplLCBkZWZhdWx0cyB0byBwYWdlIHNpemVcbiIKK21zZ3N0ciAiIC1iLCAtLWJsb2Nrc2l6ZSA844K144Kk44K6PiDjgZPjga7jg5bjg63jg4Pjgq/jgrXjgqTjgrrjgpLkvb/nlKjjgZfjgb7jgZnjgILjg4fjg5Xjgqnjg6vjg4jjga/jg5rjg7zjgrjjgrXjgqTjgrrjgafjgZnjgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMworbXNnaWQgIiAgICAgLS1leHRyYWN0Wz08ZGlyPl0gICAgdGVzdCB1bmNvbXByZXNzaW9uLCBvcHRpb25hbGx5IGV4dHJhY3QgaW50byA8ZGlyPlxuIgorbXNnc3RyICIgICAgIC0tZXh0cmFjdFs9POODh+OCo+ODrOOCr+ODiOODqj5dIOWxlemWi+OCkuODhuOCueODiOOBl+OBvuOBmeOAguOCquODl+OCt+ODp+ODs+OBp+WxlemWi+WFiOOBruODh+OCo+ODrOOCr+ODiOODquOCkuaMh+WumuOBp+OBjeOBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGZhaWxlZDogdW5hYmxlIHRvIGRldGVybWluZSBkZXZpY2Ugc2l6ZTogJXMiCittc2dzdHIgImlvY3RsIOOBjOWkseaVlzog44OH44OQ44Kk44K544K144Kk44K644KS5Y+W5b6X44Gn44GN44G+44Gb44KTOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSBibG9jayBkZXZpY2Ugb3IgZmlsZTogJXMiCittc2dzdHIgIuODluODreODg+OCr+ODh+ODkOOCpOOCueOBi+ODleOCoeOCpOODq+OBp+OBr+OBguOCiuOBvuOBm+OCkzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzAgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNgorbXNnaWQgImZpbGUgbGVuZ3RoIHRvbyBzaG9ydCIKK21zZ3N0ciAi44OV44Kh44Kk44Or44Gu6ZW344GV44GM55+t44GZ44GO44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzMKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNDkgbGliZmRpc2svc3JjL2JzZC5jOjcxOCBsaWJmZGlzay9zcmMvYnNkLmM6ODkwCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjA4IGxvZ2luLXV0aWxzL2xhc3QuYzoyNDIgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICJzZWVrIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAiJXMg44Gu44K344O844Kv44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODcKK21zZ2lkICJzdXBlcmJsb2NrIG1hZ2ljIG5vdCBmb3VuZCIKK21zZ3N0ciAi44K544O844OR44O844OW44Ot44OD44Kv44Gu44Oe44K444OD44Kv5YCk44GM6KaL44Gk44GL44KK44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImNyYW1mcyBlbmRpYW5uZXNzIGlzICVzXG4iCittc2dzdHIgImNyYW1mcyDjga8gJXMgZW5kaWFuIOOBp+OBmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkxCittc2dpZCAiYmlnIgorbXNnc3RyICJiaWciCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTEKK21zZ2lkICJsaXR0bGUiCittc2dzdHIgImxpdHRsZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5NQorbXNnaWQgInVuc3VwcG9ydGVkIGZpbGVzeXN0ZW0gZmVhdHVyZXMiCittc2dzdHIgIuOCteODneODvOODiOOBleOCjOOBquOBhOODleOCoeOCpOODq+OCt+OCueODhuODoOOBruapn+iDveOBp+OBmSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXBlcmJsb2NrIHNpemUgKCVkKSB0b28gc21hbGwiCittc2dzdHIgIuOCueODvOODkeODvOODluODreODg+OCr+OBruOCteOCpOOCuiAoJWQpIOOBjOWwkeOBquOBmeOBjuOBvuOBmSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNAorbXNnaWQgInplcm8gZmlsZSBjb3VudCIKK21zZ3N0ciAi44OV44Kh44Kk44Or44GM44GC44KK44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA4Cittc2dpZCAiZmlsZSBleHRlbmRzIHBhc3QgZW5kIG9mIGZpbGVzeXN0ZW0iCittc2dzdHIgIuODleOCoeOCpOODq+OBjOODkeODvOODhuOCo+OCt+ODp+ODs+OBrue1guerr+OCkui2heOBiOOBpuOBhOOBvuOBmSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxMAorbXNnaWQgIm9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICLlj6TjgYRjcmFtZnPlvaLlvI/jgafjgZkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMTkKK21zZ2lkICJ1bmFibGUgdG8gdGVzdCBDUkM6IG9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICJDUkPjgpLjg4bjgrnjg4jjgafjgY3jgb7jgZvjgpM6IOWPpOOBhGNyYW1mc+W9ouW8j+OBp+OBmSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI3MgorbXNnaWQgImNyYyBlcnJvciIKK21zZ3N0ciAiY3Jj44Ko44Op44O8IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzAyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU1NAorbXNnaWQgInNlZWsgZmFpbGVkIgorbXNnc3RyICLjgrfjg7zjgq/jgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDYKK21zZ2lkICJyZWFkIHJvbWZzIGZhaWxlZCIKK21zZ3N0ciAicm9tZnMg44Gu6Kqt44G/6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzM4Cittc2dpZCAicm9vdCBpbm9kZSBpcyBub3QgZGlyZWN0b3J5IgorbXNnc3RyICJyb290IGlub2RlIOOBjOODh+OCo+ODrOOCr+ODiOODquOBp+OBr+OBguOCiuOBvuOBm+OCkyAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHJvb3Qgb2Zmc2V0ICglbHUpIgorbXNnc3RyICLjg6vjg7zjg4jjgqrjg5Xjgrvjg4Pjg4jjgYzkuI3mraPjgafjgZkgKCVsdSkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjAKK21zZ2lkICJkYXRhIGJsb2NrIHRvbyBsYXJnZSIKK21zZ3N0ciAi44OH44O844K/44OW44Ot44OD44Kv44GM5aSn44GN44GZ44GO44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgImRlY29tcHJlc3Npb24gZXJyb3I6ICVzIgorbXNnc3RyICLlsZXplovjgqjjg6njg7w6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgaG9sZSBhdCAlbHUgKCV6dSlcbiIKK21zZ3N0ciAiICAlbHUgKCV6dSkg44Gr44Ob44O844Or44GM44GC44KK44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTcgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICIgIHVuY29tcHJlc3NpbmcgYmxvY2sgYXQgJWx1IHRvICVsdSAoJWx1KVxuIgorbXNnc3RyICIgICVsdSDjgavjgYLjgovjg5bjg63jg4Pjgq/jgpIgJWx1ICglbHUpIOOBq+WxlemWi+OBl+OBpuOBhOOBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1ibG9jayAoJWxkKSBieXRlcyIKK21zZ3N0ciAi44OW44Ot44OD44Kv5LiN5q2jICglbGQpIOODkOOCpOODiCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwOAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tc2l6ZSAoJWxkIHZzICVsZCkgYnl0ZXMiCittc2dzdHIgIuOCteOCpOOCuuS4jeatoyAoJWxkIHZzICVsZCkg44OQ44Kk44OIIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDEzIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTYKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTA0IG1pc2MtdXRpbHMvdXVpZGQuYzozNzUgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4MgorIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzUgc3lzLXV0aWxzL3NldHByaXYuYzo1NTggc3lzLXV0aWxzL3N3YXBvbi5jOjM4OQorIzogdGVybS11dGlscy90dHltc2cuYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkOiAlcyIKK21zZ3N0ciAi5pu444GN6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyNAorIywgYy1mb3JtYXQKK21zZ2lkICJsY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAibGNob3duIOOBq+WkseaVl+OBl+OBvuOBl+OBnzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAiY2hvd24g44Gr5aSx5pWX44GX44G+44GX44GfOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQzMworIywgYy1mb3JtYXQKK21zZ2lkICJ1dGltZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJ1dGltZSDjgavlpLHmlZfjgZfjgb7jgZfjgZ86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICLjg4fjgqPjg6zjgq/jg4jjg6ppbm9kZeOBruOCquODleOCu+ODg+ODiOWApOOBjDDjgafjgYLjgovjgavjgoLjgYvjgYvjgo/jgonjgZrjgIHjgrXjgqTjgrrjgYww44Gr44Gq44Gj44Gm44GE44G+44Gb44KTOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ2MAorIywgYy1mb3JtYXQKK21zZ2lkICJta2RpciBmYWlsZWQ6ICVzIgorbXNnc3RyICJta2RpcuOBjOWkseaVl+OBl+OBvuOBl+OBnzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NzYKK21zZ2lkICJmaWxlbmFtZSBsZW5ndGggaXMgemVybyIKK21zZ3N0ciAi44OV44Kh44Kk44Or5ZCN44Gu6ZW344GV44GM44K844Ot44Gn44GZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc4Cittc2dpZCAiYmFkIGZpbGVuYW1lIGxlbmd0aCIKK21zZ3N0ciAi44OV44Kh44Kk44Or5ZCN44Gu6ZW344GV44GM5LiN5q2j44Gn44GZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDg0Cittc2dpZCAiYmFkIGlub2RlIG9mZnNldCIKK21zZ3N0ciAi5LiN5q2j44GqaW5vZGXjgqrjg5Xjgrvjg4Pjg4jlgKQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0OTkKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZSIKK21zZ3N0ciAi44OV44Kh44Kk44OraW5vZGXjga7jgqrjg5Xjgrvjg4Pjg4jlgKTjgYww44Gn44GC44KL44Gr44KC44GL44GL44KP44KJ44Ga44CB44K144Kk44K644GMMOOBq+OBquOBo+OBpuOBhOOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUwMgorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gc2l6ZSBhbmQgbm9uLXplcm8gb2Zmc2V0IgorbXNnc3RyICLjg5XjgqHjgqTjg6tpbm9kZeOBruOCteOCpOOCuuOBjDDjgafjgYLjgovjgavjgoLjgYvjgYvjgo/jgonjgZrjgIHjgqrjg5Xjgrvjg4Pjg4jlgKTjgYww44Gr44Gq44Gj44Gm44GE44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTMxCittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBvZmZzZXQiCittc2dzdHIgIuOCt+ODs+ODnOODquODg+OCr+ODquODs+OCr+OBruOCquODleOCu+ODg+ODiOWApOOBjDDjgavjgarjgaPjgabjgYTjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzMKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIHNpemUiCittc2dzdHIgIuOCt+ODs+ODnOODquODg+OCr+ODquODs+OCr+OBruOCteOCpOOCuuOBjDDjgavjgarjgaPjgabjgYTjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2l6ZSBlcnJvciBpbiBzeW1saW5rOiAlcyIKK21zZ3N0ciAi44K344Oz44Oc44Oq44OD44Kv44Oq44Oz44Kv44Gu44K144Kk44K644GM5LiN5q2j44Gn44GZOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1NgorIywgYy1mb3JtYXQKK21zZ2lkICJzeW1saW5rIGZhaWxlZDogJXMiCittc2dzdHIgInN5bWxpbmsg44GM5aSx5pWX44GX44G+44GX44GfOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU2OQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGZpbGUgaGFzIG5vbi16ZXJvIG9mZnNldDogJXMiCittc2dzdHIgIuOCueODmuOCt+ODo+ODq+ODleOCoeOCpOODq+OBruOCquODleOCu+ODg+ODiOWApOOBjDDjgavjgarjgaPjgabjgYTjgb7jgZvjgpM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgImZpZm8gaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICJmaWZvIOOBruOCteOCpOOCuuOBjDDjgavjgarjgaPjgabjgYTjgb7jgZvjgpM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgIuOCveOCseODg+ODiOOBruOCteOCpOOCuuOBjDDjgavjgarjgaPjgabjgYTjgb7jgZvjgpM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg4CisjLCBjLWZvcm1hdAorbXNnaWQgImJvZ3VzIG1vZGU6ICVzICglbykiCittc2dzdHIgIuS4jeato+OBquODouODvOODiTogJXMgKCVvKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5NworIywgYy1mb3JtYXQKK21zZ2lkICJta25vZCBmYWlsZWQ6ICVzIgorbXNnc3RyICJta25vZCDjgavlpLHmlZfjgZfjgb7jgZfjgZ86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjI5CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIHN0YXJ0ICglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQgKCV6dSkiCittc2dzdHIgIuODh+OCo+ODrOOCr+ODiOODquODh+ODvOOCv+OBrumWi+Wni+S9jee9riAoJWx1KSDjgYwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQgKCV6dSkg44KI44KK5bCP44GV44GP44Gq44Gj44Gm44GE44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIGVuZCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCittc2dzdHIgIuODh+OCo+ODrOOCr+ODiOODquODh+ODvOOCv+OBrue1guS6huS9jee9riAoJWx1KSDjgYzjg5XjgqHjgqTjg6vjg4fjg7zjgr/jga7plovlp4vkvY3nva4gKCVsdSkg44Go5ZCI6Ie044GX44Gm44GE44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjM3Cittc2dpZCAiaW52YWxpZCBmaWxlIGRhdGEgb2Zmc2V0IgorbXNnc3RyICLkuI3mraPjgarjg5XjgqHjgqTjg6vjg4fjg7zjgr/jgqrjg5Xjgrvjg4Pjg4jlgKTjgafjgZkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2ODQgZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjcyNgorbXNnaWQgImludmFsaWQgYmxvY2tzaXplIGFyZ3VtZW50IgorbXNnc3RyICLjg5bjg63jg4Pjgq/jgrXjgqTjgrrjga7mjIflrprjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo3MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IE9LXG4iCittc2dzdHIgIiVzOiBPS1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODQKK21zZ2lkICJDaGVjayB0aGUgY29uc2lzdGVuY3kgb2YgYSBNaW5peCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJNaW5peCDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djgavnn5vnm77jgYzjgarjgYTjgYvmpJzmn7vjgZfjgb7jgZnjgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg2Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgbGlzdCBhbGwgZmlsZW5hbWVzXG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgIOOBmeOBueOBpuOBruODleOCoeOCpOODq+WQjeOCkuS4gOimp+ihqOekuuOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODcKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICBhdXRvbWF0aWMgcmVwYWlyXG4iCittc2dzdHIgIiAtYSwgLS1hdXRvICAgICAgIOiHquWLleS/ruW+qeOCkuihjOOBhOOBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODgKK21zZ2lkICIgLXIsIC0tcmVwYWlyICAgICBpbnRlcmFjdGl2ZSByZXBhaXJcbiIKK21zZ3N0ciAiIC1yLCAtLXJlcGFpciAgICAg5a++6Kmx55qE44Gq5L+u5b6p44KS6KGM44GE44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGJlIHZlcmJvc2VcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAg5YaX6ZW35Ye65Yqb44Oi44O844OJ44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MAorbXNnaWQgIiAtcywgLS1zdXBlciAgICAgIG91dHB1dCBzdXBlci1ibG9jayBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgLXMsIC0tc3VwZXIgICAgICDjgrnjg7zjg5Hjg7zjg5bjg63jg4Pjgq/jga7mg4XloLHjgpLlh7rlipvjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkxCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS11bmNsZWFyZWQgIGFjdGl2YXRlIG1vZGUgbm90IGNsZWFyZWQgd2FybmluZ3NcbiIKK21zZ3N0ciAiIC1tICAnbW9kZSBub3QgY2xlYXJlZCcg6K2m5ZGK44KS5pyJ5Yq544Gr44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MgorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgIGZvcmNlIGNoZWNrXG4iCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgIOODgeOCp+ODg+OCr+OCkuW8t+WItuOBl+OBvuOBmVxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhlc2UgeWVzIG5vIHF1ZXN0aW9ucyB1c2VzIHJwbWF0Y2goKSwgYW5kIHNob3VsZCBiZQorIy4gKiB0cmFuc2xhdGVkLgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICh5L24pPyAiCittc2dzdHIgIiVzICh5L24pPyAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAobi95KT8gIgorbXNnc3RyICIlcyAobi95KT8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAieVxuIgorbXNnc3RyICJ5XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJuXG4iCittc2dzdHIgIm5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQuXHQgIgorbXNnc3RyICIlcyDjga/jg57jgqbjg7Pjg4jjgZXjgozjgabjgYTjgb7jgZlcdCAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4OQorbXNnaWQgIkRvIHlvdSByZWFsbHkgd2FudCB0byBjb250aW51ZSIKK21zZ3N0ciAi5pys5b2T44Gr57aa6KGM44GX44Gm44KI44KN44GX44GE44Gn44GZ44GLIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2sgYWJvcnRlZC5cbiIKK21zZ3N0ciAi44OB44Kn44OD44Kv44KS5Lit5q2i44GX44G+44GX44Gf44CCXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMxOSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA8IEZJUlNUWk9ORSBpbiBmaWxlIGAlcycuIgorbXNnc3RyICLjg5XjgqHjgqTjg6sgYCVzJyDlhoXjgacgWm9uZSBuciDjgYwgRklSU1RaT05FIOOCiOOCiuWwj+OBleOBj+OBquOBo+OBpuOBhOOBvuOBmeOAgiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzIyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yID49IFpPTkVTIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIuODleOCoeOCpOODqyBgJXMnIOWGheOBpyBab25lIG5yIOOBjCBaT05FUyDjgajkuYXjgZfjgYTjgYvjgIHjgojjgorlpKfjgY3jgY/jgarjgaPjgabjgYTjgb7jgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyNiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDcKK21zZ2lkICJSZW1vdmUgYmxvY2siCittc2dzdHIgIuODluODreODg+OCr+OCkuWJiumZpOOBl+OBvuOBmeOBiyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IHVuYWJsZSB0byBzZWVrIHRvIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICLoqq3jgb/ovrzjgb/jgqjjg6njg7w6IOODleOCoeOCpOODqyAnJXMnIOWGheOBruODluODreODg+OCr+OBuCBzZWVrIOOBp+OBjeOBvuOBm+OCk1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICLoqq3jgb/ovrzjgb/jgqjjg6njg7w6IOODleOCoeOCpOODqyAnJXMnIOOBq+S4jeato+ODluODreODg+OCr+OBjOOBguOCiuOBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkludGVybmFsIGVycm9yOiB0cnlpbmcgdG8gd3JpdGUgYmFkIGJsb2NrXG4iCisiV3JpdGUgcmVxdWVzdCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKyLlhoXpg6jjgqjjg6njg7w6IOS4jeato+ODluODreODg+OCr+OBuOOBruabuOOBjei+vOOBv1xuIgorIuabuOOBjei+vOOBv+imgeaxguOBr+eEoeimluOBleOCjOOBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAi5pu444GN6L6844G/44OW44Ot44OD44Kv5YaF44GuIHNlZWsg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGUgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAi5pu444GN6L6844G/44Ko44Op44O8OiDjg5XjgqHjgqTjg6vjga7kuK0gJyVzJyDjgavkuI3mraPjg5bjg63jg4Pjgq/jgYzjgYLjgorjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTA1Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfc3VwZXJfYmxvY2siCittc2dzdHIgIuOCueODvOODkeODvOODluODreODg+OCr+abuOOBjei+vOOBv+aZguOBrnNlZWvjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUwNworbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAi44K544O844OR44O844OW44Ot44OD44Kv44KS5pu444GN6L6844KB44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjAKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICJpbm9kZeODnuODg+ODl+OCkuabuOOBjei+vOOCgeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTIzCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICLjgr7jg7zjg7Pjg57jg4Pjg5fjgpLmm7jjgY3ovrzjgoHjgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyNgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgImlub2Rl44KS5pu444GN6L6844KA44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NTgKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorbXNnc3RyICLjgrnjg7zjg5Hjg7zjg5bjg63jg4Pjgq/nlKjjga7jg5Djg4Pjg5XjgqHjgpLnorrkv53jgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2MQorbXNnaWQgInVuYWJsZSB0byByZWFkIHN1cGVyIGJsb2NrIgorbXNnc3RyICLjgrnjg7zjg5Hjg7zjg5bjg63jg4Pjgq/jgpLoqq3jgb/ovrzjgoDjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4MworbXNnaWQgImJhZCBtYWdpYyBudW1iZXIgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIuOCueODvOODkeODvOODluODreODg+OCr+OBq+S4jeato+OBquODnuOCuOODg+OCr+ODiuODs+ODkOODvOOBjOOBguOCiuOBvuOBmSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg1Cittc2dpZCAiT25seSAxayBibG9ja3Mvem9uZXMgc3VwcG9ydGVkIgorbXNnc3RyICIxSyDjg5bjg63jg4Pjgq/vvI/jgrXjgqTjgrrjgavjga7jgb/lr77lv5zjgZfjgabjgYTjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4NworIywgZnV6enkKK21zZ2lkICJiYWQgc19uaW5vZGVzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICLjgrnjg7zjg5Hjg7zjg5bjg63jg4Pjgq/lhoXjga4gc19pbWFwX2Jsb2NrcyDjg5XjgqPjg7zjg6vjg4njgYzkuI3mraPjgafjgZkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4OQorbXNnaWQgImJhZCBzX2ltYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICLjgrnjg7zjg5Hjg7zjg5bjg63jg4Pjgq/lhoXjga4gc19pbWFwX2Jsb2NrcyDjg5XjgqPjg7zjg6vjg4njgYzkuI3mraPjgafjgZkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5MQorIywgZnV6enkKK21zZ2lkICJiYWQgc19maXJzdGRhdGF6b25lIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICLjgrnjg7zjg5Hjg7zjg5bjg63jg4Pjgq/lhoXjga4gc19pbWFwX2Jsb2NrcyDjg5XjgqPjg7zjg6vjg4njgYzkuI3mraPjgafjgZkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5NAorbXNnaWQgImJhZCBzX3ptYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICLjgrnjg7zjg5Hjg7zjg5bjg63jg4Pjgq/lhoXjga4gc196bWFwX2Jsb2NrcyDjg5XjgqPjg7zjg6vjg4njgYzkuI3mraPjgafjgZkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxMAorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIG1hcCIKK21zZ3N0ciAiaW5vZGUg44Oe44OD44OX55So44Gu44OQ44OD44OV44Kh44KS56K65L+d44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTMKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIG1hcCIKK21zZ3N0ciAi44K+44O844Oz44Oe44OD44OX55So44Gu44OQ44OD44OV44Kh44KS56K65L+d44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTYKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCittc2dzdHIgImlub2RlIOeUqOOBruODkOODg+ODleOCoeOCkueiuuS/neOBp+OBjeOBvuOBm+OCk+OAgiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE5Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgY291bnQiCittc2dzdHIgImlub2RlIOOCq+OCpuODs+OCv+eUqOOBruODkOODg+ODleOCoeOCkueiuuS/neOBp+OBjeOBvuOBm+OCk+OAgiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjIyCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBjb3VudCIKK21zZ3N0ciAi44K+44O844Oz44Kr44Km44Oz44K/55So44Gu44OQ44OD44OV44Kh44KS56K65L+d44Gn44GN44G+44Gb44KT44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjYKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZSBtYXAiCittc2dzdHIgImlub2RlIOODnuODg+ODl+OCkuiqreOBv+i+vOOCgOOBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjMwCittc2dpZCAiVW5hYmxlIHRvIHJlYWQgem9uZSBtYXAiCittc2dzdHIgIuOCvuODvOODs+ODnuODg+ODl+OBjOiqreOBv+i+vOOCgOOBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM0Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGVzIgorbXNnc3RyICJpbm9kZSDjgpLoqq3jgb/ovrzjgoDjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzNgorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIKK21zZ3N0ciAi6K2m5ZGKOiBGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBpbm9kZXNcbiIKK21zZ3N0ciAiJWxkIOWAi+OBriBpbm9kZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGJsb2Nrc1xuIgorbXNnc3RyICIlbGQg5YCL44Gu44OW44Ot44OD44KvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3RkYXRhem9uZT0lamQgKCVqZClcbiIKK21zZ3N0ciAiRmlyc3RkYXRhem9uZT0lamQgKCVqZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSVkXG4iCittc2dzdHIgIlpvbmUg44K144Kk44K6PSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0NgorIywgYy1mb3JtYXQKK21zZ2lkICJNYXhzaXplPSV6dVxuIgorbXNnc3RyICLmnIDlpKfjgrXjgqTjgro9JXp1XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIHN0YXRlPSVkXG4iCittc2dzdHIgIuODleOCoeOCpOODq+OCt+OCueODhuODoOeKtuaFiz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm5hbWVsZW49JXpkXG4iCisiXG4iCittc2dzdHIgIiIKKyLlkI3liY3plbc9JXpkXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY2NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWQgbWFya2VkIHVudXNlZCwgYnV0IHVzZWQgZm9yIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJpbm9kZSAlZCDjga/mnKrkvb/nlKjjgafjgYLjgovjgajjg57jg7zjgq/jgZXjgozjgabjgYTjgb7jgZnjgYzjgIHjg5XjgqHjgqTjg6sgJyVzJyDjgYzkvb/nlKjjgZfjgabjgYTjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjY3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcxNworbXNnaWQgIk1hcmsgaW4gdXNlIgorbXNnc3RyICLkvb/nlKjmuIjjgb/jgajjgZfjgabjg57jg7zjgq/jgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY4OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpbGUgYCVzJyBoYXMgbW9kZSAlMDVvXG4iCittc2dzdHIgIuODleOCoeOCpOODqyBgJXMnIOOBr+ODouODvOODiSAlMDVvIOOBp+OBmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2OTYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IGlub2RlIGNvdW50IHRvbyBiaWcuXG4iCittc2dzdHIgIuitpuWRijogaW5vZGUg5pWw44GM5aSn44GN44GZ44GO44G+44GZ44CCXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc1NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NjMKK21zZ2lkICJyb290IGlub2RlIGlzbid0IGEgZGlyZWN0b3J5IgorbXNnc3RyICLjg6vjg7zjg4ggaW5vZGUg44GM44OH44Kj44Os44Kv44OI44Oq44Gn44Gv44GC44KK44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NzUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrIGhhcyBiZWVuIHVzZWQgYmVmb3JlLiBOb3cgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAi44OW44Ot44OD44Kv44Gv5Lul5YmN44GL44KJ5L2/55So44GV44KM44Gm44GE44G+44GZ44CC54++5Zyo44Gv44OV44Kh44Kk44OrIGAlcycg5YaF44Gr5bGe44GX44Gm44GE44G+44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODA4CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTIKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwOAorbXNnaWQgIkNsZWFyIgorbXNnc3RyICLjgq/jg6rjgqLjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgJWQgaW4gZmlsZSBgJXMnIGlzIG1hcmtlZCBub3QgaW4gdXNlLiIKK21zZ3N0ciAi44OV44Kh44Kk44OrIGAlMiRzJyDjga7jg5bjg63jg4Pjgq8gJTEkZCDjga/mnKrkvb/nlKjjgafjgYLjgovjgajjg57jg7zjgq/jgZXjgozjgabjgYTjgb7jgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MjAKK21zZ2lkICJDb3JyZWN0IgorbXNnc3RyICLmraPjgZfjgYTjgafjgZnjgYsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk1OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkaXJlY3RvcnkgJyVzJyBjb250YWlucyBhIGJhZCBpbm9kZSBudW1iZXIgZm9yIGZpbGUgJyUuKnMnLiIKK21zZ3N0ciAi44OH44Kj44Os44Kv44OI44OqICclcycg44Gr44Gv44OV44Kh44Kk44OrICclLipzJyDjgavlr77jgZnjgovkuI3mraPjgaogaW5vZGUg55Wq5Y+344GM5ZCr44G+44KM44Gm44GE44G+44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzNQorbXNnaWQgIiBSZW1vdmUiCittc2dzdHIgIiDliYrpmaTjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIKK21zZ3N0ciAiJXM6IOS4jeato+OBquODh+OCo+ODrOOCr+ODiOODqjog5pyA5Yid44Gu6aCF55uu44GMICcuJyDjgafjga/jgYLjgorjgb7jgZvjgpNcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTg2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuLicgaXNuJ3Qgc2Vjb25kXG4iCittc2dzdHIgIiVzOiDkuI3mraPjgarjg4fjgqPjg6zjgq/jg4jjg6o6IDIg55Wq55uu44Gu6aCF55uu44GMICcuLicg44Gn44Gv44GC44KK44G+44Gb44KTXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwOTQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTExNworbXNnaWQgImludGVybmFsIGVycm9yIgorbXNnc3RyICLlhoXpg6jjgqjjg6njg7wiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwOTcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogc2l6ZSA8IDMyIgorbXNnc3RyICIlczog5LiN5q2j44Gq44OH44Kj44Os44Kv44OI44OqOiDjgrXjgqTjgrrjgYwgMzIg5pyq5rqA44Gn44GZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogaW52YWxpZCBpX3pvbmUsIHVzZSAtLXJlcGFpciB0byBmaXhcbiIKK21zZ3N0ciAiJXM6IOS4jeato+OBquODh+OCo+ODrOOCr+ODiOODqjog5pyA5Yid44Gu6aCF55uu44GMICcuJyDjgafjga/jgYLjgorjgb7jgZvjgpNcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEzMgorbXNnaWQgInNlZWsgZmFpbGVkIGluIGJhZF96b25lIgorbXNnc3RyICJiYWRfem9uZSDjgafjga4gc2VlayDjgavlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5OAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbW9kZSBub3QgY2xlYXJlZC4iCittc2dzdHIgImlub2RlICVsdSDjga7jg6Ljg7zjg4njgYzjgq/jg6rjgqLjgZXjgozjgabjgYTjgb7jgZvjgpPjgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbm90IHVzZWQsIG1hcmtlZCB1c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICJpbm9kZSAlbHUg44Gv5pyq5L2/55So44Gn44GZ44GM44CB44OT44OD44OI44Oe44OD44OX44Gn44Gv5L2/55So5Lit44Gn44GC44KL44Go44Oe44O844Kv44GV44KM44Gm44GE44G+44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IHVzZWQsIG1hcmtlZCB1bnVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgImlub2RlICVsdSDjga/kvb/nlKjkuK3jgafjgZnjgYzjgIHjg5Pjg4Pjg4jjg57jg4Pjg5fjgafjga/mnKrkvb/nlKjjgafjgYLjgovjgajjg57jg7zjgq/jgZXjgozjgabjgYTjgb7jgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTggZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxNAorbXNnaWQgIlNldCIKK21zZ3N0ciAi6Kit5a6a44GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTYyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IChtb2RlID0gJTA3byksIGlfbmxpbmtzPSVkLCBjb3VudGVkPSVkLiIKK21zZ3N0ciAiaW5vZGUgJWx1ICjjg6Ljg7zjg4kgPSAlMDdvKSwgaV9ubGlua3M9JWQsIGNvdW50ZWQ9JWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjEKK21zZ2lkICJTZXQgaV9ubGlua3MgdG8gY291bnQiCittc2dzdHIgImlfbmxpbmtzIOOBruWApOOCkiBjb3VudCDjga7lgKTjgavoqK3lrprjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIzMworIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbWFya2VkIGluIHVzZSwgbm8gZmlsZSB1c2VzIGl0LiIKK21zZ3N0ciAiWm9uZSAlbHU6IOS9v+eUqOS4reOBp+OBguOCi+OBqOODnuODvOOCr+OBleOCjOOBpuOBhOOBvuOBmeOBjOOAgeOBqeOBruODleOCoeOCpOODq+OCguS9v+eUqOOBl+OBpuOBhOOBvuOBm+OCk+OAgiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE3OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjM1Cittc2dpZCAiVW5tYXJrIgorbXNnc3RyICLjg57jg7zjgq/jgpLop6PpmaTjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogaW4gdXNlLCBjb3VudGVkPSVkXG4iCittc2dzdHIgIlpvbmUgJWx1OiDkvb/nlKjkuK0sIOOCq+OCpuODs+ODiD0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTg3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiWm9uZSAlbHU6IOacquS9v+eUqCwg44Kr44Km44Oz44OIPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyOTEKK21zZ2lkICJiYWQgaW5vZGUgc2l6ZSIKK21zZ3N0ciAi5LiN5q2j44GqIGlub2RlIOOCteOCpOOCuiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5MworbXNnaWQgImJhZCB2MiBpbm9kZSBzaXplIgorbXNnc3RyICLkuI3mraPjgaogdjIgaW5vZGUg44K144Kk44K6IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzM3Cittc2dpZCAibmVlZCB0ZXJtaW5hbCBmb3IgaW50ZXJhY3RpdmUgcmVwYWlycyIKK21zZ3N0ciAi5a++6Kmx55qE44Gq5L+u5b6p44KS6KGM44GG44Gr44Gv44CB56uv5pyr44GM5b+F6KaB44Gn44GZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlcyIKK21zZ3N0ciAiJXMg44KS6ZaL44GP44GT44Go44GM44Gn44GN44G+44Gb44KTOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBjbGVhbiwgbm8gY2hlY2suXG4iCittc2dzdHIgIiVzIOOBr+OCr+ODquODvOODs+OBp+OBmeOAgeODgeOCp+ODg+OCr+OBr+ihjOOBhOOBvuOBm+OCk+OAglxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiAlcy5cbiIKK21zZ3N0ciAi5by35Yi255qE44GrICVzIOOBruODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuODgeOCp+ODg+OCr+OBl+OBvuOBmeOAglxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzU3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gb24gJXMgaXMgZGlydHksIG5lZWRzIGNoZWNraW5nLlxuIgorbXNnc3RyICIlcyDjga7jg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga/msZrmn5PjgZXjgozjgabjgYTjgb7jgZnjgILmpJzmn7vjgYzlv4XopoHjgafjgZnjgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZsZCBpbm9kZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlNmxkIOWAi+OBriBpbm9kZSDjgYzkvb/nlKjkuK3jgafjgZkgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiU2bGQgem9uZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiU2bGQg5YCL44Gu44K+44O844Oz44GM5L2/55So5Lit44Gn44GZICglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM5NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZkIHJlZ3VsYXIgZmlsZXNcbiIKKyIlNmQgZGlyZWN0b3JpZXNcbiIKKyIlNmQgY2hhcmFjdGVyIGRldmljZSBmaWxlc1xuIgorIiU2ZCBibG9jayBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgbGlua3NcbiIKKyIlNmQgc3ltYm9saWMgbGlua3NcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmlsZXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2ZCDlgIvjga7pgJrluLjjg5XjgqHjgqTjg6tcbiIKKyIlNmQg5YCL44Gu44OH44Kj44Os44Kv44OI44OqXG4iCisiJTZkIOWAi+OBruOCreODo+ODqeOCr+OCv+ODh+ODkOOCpOOCueODleOCoeOCpOODq1xuIgorIiU2ZCDlgIvjga7jg5bjg63jg4Pjgq/jg4fjg5DjgqTjgrnjg5XjgqHjgqTjg6tcbiIKKyIlNmQg5YCL44Gu44OP44O844OJ44Oq44Oz44KvXG4iCisiJTZkIOWAi+OBruOCt+ODs+ODnOODquODg+OCr+ODquODs+OCr1xuIgorIi0tLS0tLVxuIgorIiU2ZCDlgIvjga7jg5XjgqHjgqTjg6tcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQxMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIkZJTEUgU1lTVEVNIEhBUyBCRUVOIENIQU5HRURcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIuODleOCoeOCpOODq+OCt+OCueODhuODoOOBjOWkieabtOOBleOCjOOBvuOBl+OBn1xuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MjMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODMzCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUzOSBkaXNrLXV0aWxzL3BhcnR4LmM6MTAzNSBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTIKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzk4IHN5cy11dGlscy9kbWVzZy5jOjY1OSBzeXMtdXRpbHMvd2RjdGwuYzozNDYKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQxMSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI3MiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjM0OQorIzogdGV4dC11dGlscy9wZy5jOjEyNDgKK21zZ2lkICJ3cml0ZSBmYWlsZWQiCittc2dzdHIgIuabuOOBjei+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtaWdodCBub3QgYmUgYW4gSVNPIGZpbGVzeXN0ZW0iCittc2dzdHIgIiVzOiBJU08g44OV44Kh44Kk44Or44K344K544OG44Og44Gn44Gv44Gq44GE44KC44Gu44Go5oCd44KP44KM44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VlayBlcnJvciBvbiAlcyIKK21zZ3N0ciAi44K344O844Kv44Ko44Op44O844Gn44GZOiAlcyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTQyCisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWQgZXJyb3Igb24gJXMiCittc2dzdHIgIuiqreOBv+i+vOOBv+OCqOODqeODvOOBp+OBmTogJXMiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZWN0b3IgY291bnQ6ICVkLCBzZWN0b3Igc2l6ZTogJWRcbiIKK21zZ3N0ciAi44K744Kv44K/5pWwOiAlZCwg44K744Kv44K/44K144Kk44K6OiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8aXNvOTY2MF9pbWFnZV9maWxlPlxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10gPGlzbzk2NjAg44Kk44Oh44O844K444OV44Kh44Kk44OrPlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzQKK21zZ2lkICJTaG93IHRoZSBsZW5ndGggb2YgYW4gSVNPLTk2NjAgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiSVNPLTk2NjAg44OV44Kh44Kk44Or44K344K544OG44Og44Gu6ZW344GV44KS6KGo56S644GX44G+44GZ44CCXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3NworbXNnaWQgIiAtZCwgLS1kaXZpc29yPTxudW1iZXI+ICBkaXZpZGUgdGhlIGFtb3VudCBvZiBieXRlcyBieSA8bnVtYmVyPlxuIgorbXNnc3RyICIgIC1kLCAtLWRpdmlzb3I9POaVsOWApD4gIDzmlbDlgKQ+IOOBp+aMh+WumuOBl+OBn+ODkOOCpOODiOaVsOOBruOCteOCpOOCuuOBp+WIhuWJsuOBl+OBn+aVsOOCkuWHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzgKK21zZ2lkICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgc2hvdyBzZWN0b3IgY291bnQgYW5kIHNpemVcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIOOCu+OCr+OCv+aVsOOBqOOCteOCpOOCuuOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoyMTAKK21zZ2lkICJpbnZhbGlkIGRpdmlzb3IgYXJndW1lbnQiCittc2dzdHIgIi0tZGl2aXNvciDjga7lgKTjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZSBbYmxvY2stY291bnRdXG4iCittc2dzdHIgIuS9v+OBhOaWuTogJXMgW+OCquODl+OCt+ODp+ODs10g44OH44OQ44Kk44K5IFvjg5bjg63jg4Pjgq/jgqvjgqbjg7Pjg4hdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3NworbXNnaWQgIk1ha2UgYW4gU0NPIGJmcyBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJTQ08gYmZzIOODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuS9nOaIkOOBl+OBvuOBmeOAglxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1OLCAtLWlub2Rlcz1OVU0gICAgc3BlY2lmeSBkZXNpcmVkIG51bWJlciBvZiBpbm9kZXNcbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICBzcGVjaWZ5IHZvbHVtZSBuYW1lXG4iCisiIC1GLCAtLWZuYW1lPU5BTUUgICAgc3BlY2lmeSBmaWxlIHN5c3RlbSBuYW1lXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyIgLWMgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1sICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiICAgICAgICAgICAgICAgICAgICAgLVYgYXMgdmVyc2lvbiBtdXN0IGJlIG9ubHkgb3B0aW9uXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1OLCAtLWlub2Rlcz1OVU0gICAg5b+F6KaB44GqIGlub2RlcyDmlbDjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICDjg5zjg6rjg6Xjg7zjg6DlkI3jgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLUYsIC0tZm5hbWU9TkFNRSAgICDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DlkI3jgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICDkvZXjgYzooYzjgo/jgozjgovjga7jgYvjgpLoqbPjgZfjgY/ooajnpLrjgZfjgb7jgZlcbiIKKyIgLWMgICAgICAgICAgICAgICAgICDjgZPjga7jgqrjg5fjgrfjg6fjg7Pjga/nhKHoppbjgZXjgozjgb7jgZlcbiIKKyIgLWwgICAgICAgICAgICAgICAgICDjgZPjga7jgqrjg5fjgrfjg6fjg7Pjga/nhKHoppbjgZXjgozjgb7jgZlcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICDjg5Djg7zjgrjjg6fjg7Pmg4XloLHjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyIgICAgICAgICAgICAgICAgICAgICAtViDjga/ljZjni6zjgafmjIflrprjgZfjgZ/loLTlkIjjgavjga7jgb/mnInlirnjgafjgZlcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE0NAorbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAiaW5vZGUg5pWw44Gu5pWw5YCk44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTUwCittc2dpZCAidm9sdW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgIuODnOODquODpeODvOODoOWQjeOBjOmVt+OBmeOBjuOBvuOBmSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1NworbXNnaWQgImZzbmFtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICLjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DlkI3jgYzplbfjgZnjgY7jgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTMKK21zZ2lkICJpbnZhbGlkIGJsb2NrLWNvdW50IgorbXNnc3RyICLjg5bjg63jg4Pjgq/jgqvjgqbjg7Pjg4jjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICIlcyDjga7jgrXjgqTjgrrjgpLlj5blvpfjgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2tzIGFyZ3VtZW50IHRvbyBsYXJnZSwgbWF4IGlzICVsbHUiCittc2dzdHIgIuODluODreODg+OCr+OBruW8leaVsOOBjOWkp+OBjeOBmeOBjuOBvuOBmeOAguacgOWkp+OBryAlbGx1IOOBp+OBmSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIxOQorbXNnaWQgInRvbyBtYW55IGlub2RlcyAtIG1heCBpcyA1MTIiCittc2dzdHIgImlub2RlIOaVsOOBjOWkmuOBmeOBjuOBvuOBmSAtIOacgOWkp+OBryA1MTIg44Gn44GZIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UsIG5lZWQgYXQgbGVhc3QgJWxsdSBibG9ja3MiCittc2dzdHIgIumgmOWfn+OBjOS4jei2s+OBl+OBpuOBhOOBvuOBmeOAguacgOS9juOBp+OCgiAlbGx1IOODluODreODg+OCr+W/heimgeOBp+OBmSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2U6ICVzXG4iCittc2dzdHIgIuODh+ODkOOCpOOCuTogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJWb2x1bWU6IDwlLTZzPlxuIgorbXNnc3RyICLjg5zjg6rjg6Xjg7zjg6A6IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZTbmFtZTogPCUtNnM+XG4iCittc2dzdHIgIuODleOCoeOCpOODq+OCt+OCueODhuODoOWQjTogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tTaXplOiAlZFxuIgorbXNnc3RyICLjg5bjg63jg4Pjgq/jgrXjgqTjgro6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluIDEgYmxvY2spXG4iCittc2dzdHIgImlub2RlIOaVsDogJWxkICgxIOODluODreODg+OCr+OBguOBn+OCiilcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0OQorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gJWxsdSBibG9ja3MpXG4iCittc2dzdHIgImlub2RlIOaVsDogJWxkICglbGx1IOODluODreODg+OCr+OBguOBn+OCiilcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9ja3M6ICVsbHVcbiIKK21zZ3N0ciAi44OW44Ot44OD44Kv5pWwOiAlbGx1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgZW5kOiAlZCwgRGF0YSBlbmQ6ICVkXG4iCittc2dzdHIgImlub2RlIOe1guerrzogJWQsIOODh+ODvOOCv+e1guerrzogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NworbXNnaWQgImVycm9yIHdyaXRpbmcgc3VwZXJibG9jayIKK21zZ3N0ciAi44K544O844OR44O844OW44Ot44OD44Kv5pu444GN6L6844G/5Lit44Gr44Ko44Op44O844GM55m655Sf44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjc4Cittc2dpZCAiZXJyb3Igd3JpdGluZyByb290IGlub2RlIgorbXNnc3RyICLjg6vjg7zjg4ggaW5vZGUg44Gu5pu444GN6L6844G/5Lit44Gr44Ko44Op44O844GM55m655Sf44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjgzCittc2dpZCAiZXJyb3Igd3JpdGluZyBpbm9kZSIKK21zZ3N0ciAiaW5vZGUg44Gu5pu444GN6L6844G/5Lit44Gr44Ko44Op44O844GM55m655Sf44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjg2Cittc2dpZCAic2VlayBlcnJvciIKK21zZ3N0ciAic2VlayDjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTIKK21zZ2lkICJlcnJvciB3cml0aW5nIC4gZW50cnkiCittc2dzdHIgIicuJyDjga7jgqjjg7Pjg4jjg6rjgpLmm7jjgY3ovrzjgoDpmpvjgavjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTYKK21zZ2lkICJlcnJvciB3cml0aW5nIC4uIGVudHJ5IgorbXNnc3RyICInLi4nIOOBruOCqOODs+ODiOODquOCkuabuOOBjei+vOOCgOmam+OBq+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjbG9zaW5nICVzIgorbXNnc3RyICIlcyDjgpLplonjgZjjgovpmpvjgavjgafjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy10IDx0eXBlPl0gW2ZzLW9wdGlvbnNdIDxkZXZpY2U+IFs8c2l6ZT5dXG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSBbLXQgPOOCv+OCpOODlz5dIFtmcy1vcHRpb25zXSA844OH44OQ44Kk44K5PiBbPOOCteOCpOOCuj5dXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ4Cittc2dpZCAiTWFrZSBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkxpbnV4IOODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuS9nOaIkOOBl+OBvuOBmeOAglxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICIgLXQsIC0tdHlwZT08dHlwZT4gIGZpbGVzeXN0ZW0gdHlwZTsgd2hlbiB1bnNwZWNpZmllZCwgZXh0MiBpcyB1c2VkXG4iCittc2dzdHIgIiAtdCwgLS10eXBlPTzjgr/jgqTjg5c+ICDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga7nqK7poZ7jgpLmjIflrprjgZfjgb7jgZnjgILkvZXjgoLmjIflrprjgZfjgarjgYTloLTlkIjjgIEgIGV4dDIg44GM5oyH5a6a44GV44KM44Gf44KC44Gu44Go44G/44Gq44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgZnMtb3B0aW9ucyAgICAgcGFyYW1ldGVycyBmb3IgdGhlIHJlYWwgZmlsZXN5c3RlbSBidWlsZGVyXG4iCittc2dzdHIgIiAgICAgZnMtb3B0aW9ucyAgICAg5a6f6Zqb44Gu44OV44Kh44Kk44Or44K344K544OG44Og44OT44Or44OA44Gr5rih44GZ44Kq44OX44K344On44Oz44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiICAgICA844OH44OQ44Kk44K5PiAgICAgICDkvb/nlKjjgZnjgbnjgY3jg4fjg5DjgqTjgrnjga7jg5HjgrnjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8c2l6ZT4gICAgICAgICBudW1iZXIgb2YgYmxvY2tzIHRvIGJlIHVzZWQgb24gdGhlIGRldmljZVxuIgorbXNnc3RyICIgICAgIDzjgrXjgqTjgro+ICAgICAgICAg44GT44Gu44OH44OQ44Kk44K544Gn5L2/55So44GZ44KL44OW44Ot44OD44Kv5pWw44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5aW5nIC1WIG1vcmUgdGhhbiBvbmNlIHdpbGwgY2F1c2UgYSBkcnktcnVuXG4iCittc2dzdHIgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIOS9leOBjOihjOOCj+OCjOOCi+OBruOBi+OCkuips+OBl+OBj+ihqOekuuOBl+OBvuOBmTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgMiDjgaTku6XkuIogLVYg44KS5oyH5a6a44GZ44KL44Go44CB5a6f6Zqb44Gr44Gv5L2V44KC6KGM44KP44Gq44GE44KI44GG44Gr44Gq44KK44G+44GZ44CCXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdDtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgLVYgYXMgLS12ZXJzaW9uIG11c3QgYmUgdGhlIG9ubHkgb3B0aW9uXG4iCittc2dzdHIgIiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgIOODkOODvOOCuOODp+ODs+aDheWgseOCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgLVYg44Gv5Y2Y54us44Gn5oyH5a6a44GX44Gf5aC05ZCI44Gr44Gu44G/5pyJ5Yq544Gn44GZXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAgICAgIOOBk+OBruODmOODq+ODl+OCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzoxMzkgbGliL2V4ZWNfc2hlbGwuYzo0OSBsb2dpbi11dGlscy9uZXdncnAuYzoyMzMKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY1NyBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5OTIKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwNCBzY2hlZHV0aWxzL2NocnQuYzo1NTgKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjYwIHNjaGVkdXRpbHMvdGFza3NldC5jOjIzOSBzeXMtdXRpbHMvZmxvY2suYzoxMjIKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDMwIHN5cy11dGlscy9wcmxpbWl0LmM6NjQ0IHN5cy11dGlscy9ydGN3YWtlLmM6NTc3CisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjMyNCBzeXMtdXRpbHMvc2V0YXJjaC5jOjQwMyBzeXMtdXRpbHMvc2V0c2lkLmM6MTE1CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzQwIHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI0MiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ2MQorIzogdGVybS11dGlscy9zY3JpcHQuYzo1ODEgdGV4dC11dGlscy9wZy5jOjEzNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGV4ZWN1dGUgJXMiCittc2dzdHIgIiVzIOOBruWun+ihjOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidXNhZ2U6ICVzIFstaF0gWy12XSBbLWIgYmxrc2l6ZV0gWy1lIGVkaXRpb25dIFstTiBlbmRpYW5dIFstaSBmaWxlXSBbLW4gbmFtZV0gZGlybmFtZSBvdXRmaWxlXG4iCisiIC1oICAgICAgICAgcHJpbnQgdGhpcyBoZWxwXG4iCisiIC12ICAgICAgICAgYmUgdmVyYm9zZVxuIgorIiAtRSAgICAgICAgIG1ha2UgYWxsIHdhcm5pbmdzIGVycm9ycyAobm9uLXplcm8gZXhpdCBzdGF0dXMpXG4iCisiIC1iIGJsa3NpemUgdXNlIHRoaXMgYmxvY2tzaXplLCBtdXN0IGVxdWFsIHBhZ2Ugc2l6ZVxuIgorIiAtZSBlZGl0aW9uIHNldCBlZGl0aW9uIG51bWJlciAocGFydCBvZiBmc2lkKVxuIgorIiAtTiBlbmRpYW4gIHNldCBjcmFtZnMgZW5kaWFubmVzcyAoYmlnfGxpdHRsZXxob3N0KSwgZGVmYXVsdCBob3N0XG4iCisiIC1pIGZpbGUgICAgaW5zZXJ0IGEgZmlsZSBpbWFnZSBpbnRvIHRoZSBmaWxlc3lzdGVtIChyZXF1aXJlcyA+PSAyLjQuMClcbiIKKyIgLW4gbmFtZSAgICBzZXQgbmFtZSBvZiBjcmFtZnMgZmlsZXN5c3RlbVxuIgorIiAtcCAgICAgICAgIHBhZCBieSAlZCBieXRlcyBmb3IgYm9vdCBjb2RlXG4iCisiIC1zICAgICAgICAgc29ydCBkaXJlY3RvcnkgZW50cmllcyAob2xkIG9wdGlvbiwgaWdub3JlZClcbiIKKyIgLXogICAgICAgICBtYWtlIGV4cGxpY2l0IGhvbGVzIChyZXF1aXJlcyA+PSAyLjMuMzkpXG4iCisiIGRpcm5hbWUgICAgcm9vdCBvZiB0aGUgZmlsZXN5c3RlbSB0byBiZSBjb21wcmVzc2VkXG4iCisiIG91dGZpbGUgICAgb3V0cHV0IGZpbGVcbiIKK21zZ3N0ciAiIgorIuS9v+OBhOaWuTogJXMgWy1oXSBbLXZdIFstYiDjg5bjg63jg4Pjgq/jgrXjgqTjgrpdIFstZSDjgqjjg4fjgqPjgrfjg6fjg7NdIFstTiBlbmRpYW5dICBbLWkg44OV44Kh44Kk44OrXSBbLW4g5ZCN5YmNXSDjg4fjgqPjg6zjgq/jg4jjg6rlkI0g5Ye65Yqb44OV44Kh44Kk44OrXG4iCisiIC1oICAgICAgICAg44GT44Gu44OY44Or44OX44KS6KGo56S644GX44G+44GZXG4iCisiIC12ICAgICAgICAg44KI44KK6Kmz44GX44GP5Ye65Yqb44GX44G+44GZXG4iCisiIC1FICAgICAgICAg44GZ44G544Gm44Gu6K2m5ZGK44KS44Ko44Op44O844Go44GX44Gm5omx44GE44G+44GZICgwIOS7peWkluOBrue1guS6huOCueODhuODvOOCv+OCueOBq+OBquOCiuOBvuOBmSlcbiIKKyIgLWIg44OW44Ot44OD44Kv44K144Kk44K6IOaMh+WumuOBl+OBn+ODluODreODg+OCr+OCteOCpOOCuuOCkuS9v+eUqOOBl+OBvuOBmSAo44Oa44O844K444K144Kk44K644Go5ZCM44GY44Gn44Gq44GR44KM44Gw44Gq44KK44G+44Gb44KTKVxuIgorIiAtZSDjgqjjg4fjgqPjgrfjg6fjg7Mg44Ko44OH44Kj44K344On44Oz55Wq5Y+3IChmc2lkIOOBruS4gOmDqCkg44KS5oyH5a6a44GX44G+44GZXG4iCisiIC1OIGVuZGlhbiAg44Ko44Oz44OH44Kj44Ki44OzIChiaWcsIGxpdHRsZSwgaG9zdCkg44KS5oyH5a6a44GX44G+44GZ44CC5pei5a6a5YCk44GvIGhvc3Qg44Gn44GZXG4iCisiIC1pIOODleOCoeOCpOODqyDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DlhoXjgavjgIHmjIflrprjgZfjgZ/jg5XjgqHjgqTjg6vjgpLmjL/lhaXjgZfjgb7jgZkgKDIuNC4wIOS7pemZjeOBjOW/heimgeOBp+OBmSlcbiIKKyIgLW4g5ZCN5YmNICAgIGNyYW1mcyDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga7lkI3liY3jgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLXAgICAgICAgICDjg5bjg7zjg4jjgrPjg7zjg4nnlKjjgasgJWQg44OQ44Kk44OI44Gn44OR44OH44Kj44Oz44Kw44GX44G+44GZXG4iCisiIC1zICAgICAgICAg44OH44Kj44Os44Kv44OI44Oq44Ko44Oz44OI44Oq44KS5Lim44G55pu/44GI44KLICjlj6TjgYTjgqrjg5fjgrfjg6fjg7MsIOeEoeimluOBleOCjOOBvuOBmSlcbiIKKyIgLXogICAgICAgICDmmI7npLrnmoTjgarjg5vjg7zjg6vjgpLmjIflrprjgZfjgb7jgZkgKDIuMy4zOSDku6XpmY3jgYzlv4XopoHjgafjgZkpXG4iCisiIOODh+OCo+ODrOOCr+ODiOODquWQjSDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga7jg6vjg7zjg4jjgajjgarjgovjg4fjgqPjg6zjgq/jg4jjg6rjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIg5Ye65Yqb44OV44Kh44Kk44OrIOWHuuWKm+WFiOOBruODleOCoeOCpOODq+OCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWRsaW5rIGZhaWxlZDogJXMiCittc2dzdHIgInJlYWRsaW5rIOOBq+WkseaVl+OBl+OBvuOBl+OBnzogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgZGlyZWN0b3J5ICVzIgorbXNnc3RyICLjg4fjgqPjg6zjgq/jg4jjg6ogJXMg44KS6Kqt44G/6L6844KA44GT44Go44GM44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NDQzCittc2dpZCAiZmlsZXN5c3RlbSB0b28gYmlnLiAgRXhpdGluZy4iCittc2dzdHIgIuODleOCoeOCpOODq+OCt+OCueODhuODoOOBjOWkp+OBjeOBmeOBjuOBvuOBmeOAgue1guS6huOBl+OBvuOBmeOAgiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYwMgorIywgYy1mb3JtYXQKK21zZ2lkICJBSUVFRTogYmxvY2sgXCJjb21wcmVzc2VkXCIgdG8gPiAyKmJsb2NrbGVuZ3RoICglbGQpXG4iCittc2dzdHIgIkFJRUVFOiDjg5bjg63jg4Pjgq8gXCJjb21wcmVzc2VkXCIg44GMIDIq44OW44Ot44OD44Kv6ZW3ICglbGQpIOOCkui2heOBiOOBvuOBl+OBn1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiU2LjJmJSUgKCUrbGQgYnl0ZXMpXHQlc1xuIgorbXNnc3RyICIlNi4yZiUlICglK2xkIOODkOOCpOODiClcdCVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNsb3NlIGZpbGUgJXMiCittc2dzdHIgIuODleOCoeOCpOODqyAlcyDjgpLplonjgZjjgovjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MzIKK21zZ2lkICJpbnZhbGlkIGVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICLjgqjjg4fjgqPjgrfjg6fjg7Pnlarlj7fjga7lvJXmlbDjgYzplpPpgZXjgaPjgabjgYTjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgIuOCqOODs+ODh+OCo+OCouODs+OBruaMh+WumuOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCk+OAgiAnYmlnJywgJ2xpdHRsZScsICdob3N0JyDjga7jgYTjgZrjgozjgYvjgpLmjIflrprjgZfjgabjgY/jgaDjgZXjgYQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ3Vlc3RpbWF0ZSBvZiByZXF1aXJlZCBzaXplICh1cHBlciBib3VuZCkgaXMgJWxsZE1CLCBidXQgbWF4aW11bSBpbWFnZSBzaXplIGlzICV1TUIuICBXZSBtaWdodCBkaWUgcHJlbWF0dXJlbHkuIgorbXNnc3RyICLorablkYo6IOODleOCoeOCpOODq+OCt+OCueODhuODoOOBq+W/heimgeOBquOCteOCpOOCuuOBjOOAgeacgOWkp+OBpyAlbGxkTUIg44Gn44GC44KL44Go5o6o5ris44GV44KM44Gm44GE44G+44GZ44CC44GT44KM44Gv44Kk44Oh44O844K444K144Kk44K644Gu5pyA5aSn5YCkICV1TUIg44KS6LaF44GI44Gm44GE44KL44Gf44KB44CB5L2c5oiQ44GM5aSx5pWX44GZ44KL44GL44KC44GX44KM44G+44Gb44KT44CCIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODMwCittc2dpZCAiUk9NIGltYWdlIG1hcCIKK21zZ3N0ciAiUk9NIOOCpOODoeODvOOCuOODnuODg+ODlyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg0MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbmNsdWRpbmc6ICVzXG4iCittc2dzdHIgIuS4i+iomOOBruOCguOBruOCkuaMv+WFpeOBl+OBvuOBmTogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg0OAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgZGF0YTogJXpkIGJ5dGVzXG4iCittc2dzdHIgIuODh+OCo+ODrOOCr+ODiOODquODh+ODvOOCvzogJXpkIOODkOOCpOODiFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkV2ZXJ5dGhpbmc6ICV6ZCBraWxvYnl0ZXNcbiIKK21zZ3N0ciAi44GZ44G544GmOiAlemQg44Kt44Ot44OQ44Kk44OIXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwZXIgYmxvY2s6ICV6ZCBieXRlc1xuIgorbXNnc3RyICLjgrnjg7zjg5Hjg7zjg5bjg63jg4Pjgq86ICV6ZCDjg5DjgqTjg4hcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICJDUkM6ICV4XG4iCittc2dzdHIgIkNSQzogJXhcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3MworIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlIGFsbG9jYXRlZCBmb3IgUk9NIGltYWdlICglbGxkIGFsbG9jYXRlZCwgJXp1IHVzZWQpIgorbXNnc3RyICJST00g44Kk44Oh44O844K444Gr5a++44GX44Gm5Y2B5YiG44Gq6aCY5Z+f44KS56K65L+d44Gn44GN44G+44Gb44KTICglbGxkIOODkOOCpOODiOOBjOWJsuOCiuW9k+OBpua4iOOBvywgJXp1IOODkOOCpOODiOOBjOS9v+eUqOa4iOOBvykiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9NIGltYWdlIHdyaXRlIGZhaWxlZCAoJXpkICV6ZCkiCittc2dzdHIgIlJPTSDjgqTjg6Hjg7zjgrjjga7mm7jjgY3ovrzjgb/jgavlpLHmlZfjgZfjgb7jgZfjgZ8gKCV6ZCAlemQpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODgyCittc2dpZCAiUk9NIGltYWdlIgorbXNnc3RyICJST00g44Kk44Oh44O844K4IgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODkxCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGVuYW1lcyB0cnVuY2F0ZWQgdG8gJXUgYnl0ZXMuIgorbXNnc3RyICLorablkYo6IOODleOCoeOCpOODq+WQjeOCkiAldSDjg5DjgqTjg4jjgavliIfjgoroqbDjgoHjgb7jgZfjgZ/jgIIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTMKK21zZ2lkICJ3YXJuaW5nOiBmaWxlcyB3ZXJlIHNraXBwZWQgZHVlIHRvIGVycm9ycy4iCittc2dzdHIgIuitpuWRijog44Ko44Op44O844Gu44Gf44KB44CB44GE44GP44Gk44GL44Gu44OV44Kh44Kk44Or44KS6aOb44Gw44GX44G+44GX44Gf44CCIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODk1CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGUgc2l6ZXMgdHJ1bmNhdGVkIHRvICVsdU1CIChtaW51cyAxIGJ5dGUpLiIKK21zZ3N0ciAi6K2m5ZGKOiDjg5XjgqHjgqTjg6vjgrXjgqTjgrrjgpIgJWx1TUIgKC0xIOODkOOCpOODiCkg44Gr5YiH44KK6Kmw44KB44G+44GX44Gf44CCIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODk5CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHVpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgIuitpuWRijogdWlkIOOCkiAldSDjg5Pjg4Pjg4jjgavliIfjgoroqbDjgoHjgb7jgZfjgZ8gKOOCu+OCreODpeODquODhuOCo+OBq+OBlOazqOaEj+OBj+OBoOOBleOBhCkg44CCIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGdpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgIuitpuWRijogZ2lkIOOCkiAldSDjg5Pjg4Pjg4jjgavliIfjgoroqbDjgoHjgb7jgZfjgZ8gKOOCu+OCreODpeODquODhuOCo+OBq+OBlOazqOaEj+OBj+OBoOOBleOBhCkg44CCIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXQVJOSU5HOiBkZXZpY2UgbnVtYmVycyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIFRoaXMgYWxtb3N0IGNlcnRhaW5seSBtZWFuc1xuIgorInRoYXQgc29tZSBkZXZpY2UgZmlsZXMgd2lsbCBiZSB3cm9uZy4iCittc2dzdHIgIuitpuWRijog44OH44OQ44Kk44K555Wq5Y+344KSICV1IOODk+ODg+ODiOOBq+WIh+OCiuipsOOCgeOBvuOBl+OBn+OAguOBk+OCjOOBr+S4u+OBq+OAgeOBhOOBj+OBpOOBi+OBruODh+ODkOOCpOOCueOBjOato+OBl+OBj+OBquOBhOOBk+OBqOOCkuekuuOBl+OBpuOBhOOBvuOBmeOAgiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC9kZXYvbmFtZSBbYmxvY2tzXVxuIgorbXNnc3RyICLkvb/jgYTmlrk6ICVzIFvjgqrjg5fjgrfjg6fjg7NdIOODh+ODkOOCpOOCuSBb44OW44Ot44OD44Kv44Kr44Km44Oz44OIXVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiIC0xICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDFcbiIKK21zZ3N0ciAiIC12ICAgICAgICAgICAgICDjg5fjg63jgrDjg6njg6Djga7jg5Djg7zjgrjjg6fjg7PjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM4CisjLCBmdXp6eQorbXNnaWQgIiAtMiwgLXYgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAyXG4iCittc2dzdHIgIiAtdiAgICAgICAgICAgICAg44OX44Ot44Kw44Op44Og44Gu44OQ44O844K444On44Oz44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOQorIywgZnV6enkKK21zZ2lkICIgLTMgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gM1xuIgorbXNnc3RyICIgLXYgICAgICAgICAgICAgIOODl+ODreOCsOODqeODoOOBruODkOODvOOCuOODp+ODs+OCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5hbWVsZW5ndGggPG51bT4gIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lc1xuIgorbXNnc3RyICLjg5XjgqHjgqTjg6vlkI3jga7mnIDlpKfjgrXjgqTjgrrjga7lh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taW5vZGVzIDxudW0+ICAgICAgbnVtYmVyIG9mIGlub2RlcyBmb3IgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC1DLCAtLWN5bGluZGVycyA85pWw5YCkPiAgICAgICAg44K344Oq44Oz44OA5pWw44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MgorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgY2hlY2sgdGhlIGRldmljZSBmb3IgYmFkIGJsb2Nrc1xuIgorbXNnc3RyICIgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIOODreODg+OCr+OCkuino+mZpOOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDMKK21zZ2lkICIgLWwsIC0tYmFkYmxvY2tzIDxmaWxlPiAgbGlzdCBvZiBiYWQgYmxvY2tzIGZyb20gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayB0byBib290IGJsb2NrIGZhaWxlZCAgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIlczogd3JpdGVfdGFibGVzIOOBp+ODluODvOODiOODluODreODg+OCr+OBuOOBruOCt+ODvOOCr+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gY2xlYXIgYm9vdCBzZWN0b3IiCittc2dzdHIgIiVzOiDjg5bjg7zjg4jjgrvjgq/jgr/jga7mtojljrvjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIlczogd3JpdGVfdGFibGVzIOOBp+OCt+ODvOOCr+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgIiVzOiDjgrnjg7zjg5Hjg7zjg5bjg63jg4Pjgq/jgavmm7jjgY3ovrzjgoDjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAiJXM6IGlub2RlIOODnuODg+ODl+OBq+abuOOBjei+vOOCgOOBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgem9uZSBtYXAiCittc2dzdHIgIiVzOiDjgr7jg7zjg7Pjg57jg4Pjg5fjgavmm7jjgY3ovrzjgoDjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiJXM6IGlub2RlIOOCkuabuOOBjei+vOOCgOOBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6IHdyaXRlX2Jsb2NrIOOBp+OCt+ODvOOCr+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIiVzOiB3cml0ZV9ibG9jayDjgafmm7jjgY3ovrzjgb/jgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyMSBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyOTYKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjM0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIG1hbnkgYmFkIGJsb2NrcyIKK21zZ3N0ciAiJXM6IOS4jeato+ODluODreODg+OCr+OBjOWkmuOBmeOBjuOBvuOBmSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZW5vdWdoIGdvb2QgYmxvY2tzIgorbXNnc3RyICIlczog5q2j5bi444Gq44OW44Ot44OD44Kv44GM6Laz44KK44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkZpcnN0IGRhdGEgYmxvY2sgYXQgJWpkLCB3aGljaCBpcyB0b28gZmFyIChtYXggJWQpLlxuIgorIlRyeSBzcGVjaWZ5aW5nIGZld2VyIGlub2RlcyBieSBwYXNzaW5nIC0taW5vZGVzIDxudW0+IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgaW5vZGVcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGlub2Rlc1xuIgorbXNnc3RyWzBdICIlbHUg5YCL44GuIGlub2RlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlbHUg5YCL44Gu44OW44Ot44OD44KvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lc2l6ZT0lenVcbiIKK21zZ3N0ciAi44K+44O844Oz44K144Kk44K6PSV6dVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk1heHNpemU9JXp1XG4iCisiXG4iCittc2dzdHIgIiIKKyLmnIDlpKfjgrXjgqTjgro9JXp1XG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgZHVyaW5nIHRlc3Rpbmcgb2YgYmxvY2tzIgorbXNnc3RyICIlczog44OW44Ot44OD44Kv44Gu44OG44K544OI5Lit44Gr44K344O844Kv44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VpcmQgdmFsdWVzIGluIGRvX2NoZWNrOiBwcm9iYWJseSBidWdzXG4iCittc2dzdHIgImRvX2NoZWNrIOOBq+WkieOBquWApOOBjOOBguOCiuOBvuOBmTog5aSa5YiG44OQ44Kw44Gn44GX44KH44GGXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIgorbXNnc3RyICIlczogY2hlY2tfYmxvY2tzIOOBp+OCt+ODvOOCr+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgYmxvY2tzIGJlZm9yZSBkYXRhLWFyZWE6IGNhbm5vdCBtYWtlIGZzIgorbXNnc3RyICIlczog44OH44O844K/6aCY5Z+f44Gu5YmN44Gr5LiN5q2j44Gq44OW44Ot44OD44Kv44GM44GC44KK44G+44GZOiDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgpLkvZzmiJDjgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzOSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgYmFkIGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVkIGJhZCBibG9ja3NcbiIKK21zZ3N0clswXSAiJWQg5YCL44Gu5LiN5q2j44OW44Ot44OD44KvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgb3BlbiBmaWxlIG9mIGJhZCBibG9ja3MiCittc2dzdHIgIiVzOiDkuI3mraPjg5bjg63jg4Pjgq/jga7jg5XjgqHjgqTjg6vjgpLplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1MworIywgYy1mb3JtYXQKK21zZ2lkICJiYWRibG9jayBudW1iZXIgaW5wdXQgZXJyb3Igb24gbGluZSAlZFxuIgorbXNnc3RyICLkuI3mraPjg5bjg63jg4Pjgq/jga7nlarlj7fjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMgKCVkIOihjOebrilcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBiYWRibG9ja3MgZmlsZSIKK21zZ3N0ciAiJXM6IGJhZGJsb2NrcyDjg5XjgqHjgqTjg6vjgpLoqq3jgb/ovrzjgoDjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5NAorIywgYy1mb3JtYXQKK21zZ2lkICJibG9jayBzaXplIHNtYWxsZXIgdGhhbiBwaHlzaWNhbCBzZWN0b3Igc2l6ZSBvZiAlcyIKK21zZ3N0ciAi44OW44Ot44OD44Kv44K144Kk44K644GMICVzIOOBrueJqeeQhuOCu+OCr+OCv+OCteOCpOOCuuOCiOOCiuOCguWwj+OBleOBj+OBquOBo+OBpuOBhOOBvuOBmSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgc2l6ZSBvZiAlcyIKK21zZ3N0ciAiJXMg44Gu44K144Kk44K644KS5Y+W5b6X44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlcXVlc3RlZCBibG9ja3MgKCVsbHUpIGV4Y2VlZHMgYXZhaWxhYmxlICglbGx1KSBibG9ja3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG51bWJlciBvZiBibG9ja3MgdG9vIHNtYWxsIgorbXNnc3RyICIlczog44OW44Ot44OD44Kv5pWw44GM5bCP44GV44GZ44GO44G+44GZIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MjMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBuYW1lIGxlbmd0aDogJWQiCittc2dzdHIgIuacquWvvuW/nOOBruW8leaVsOOBp+OBmTogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbWluaXggZmlsZSBzeXN0ZW0gdmVyc2lvbjogJWQiCittc2dzdHIgIuOCteODneODvOODiOOBleOCjOOBquOBhOODleOCoeOCpOODq+OCt+OCueODhuODoOOBruapn+iDveOBp+OBmSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzY3Cittc2dpZCAiLXYgaXMgYW1iaWd1b3VzLCB1c2UgJy0yJyBpbnN0ZWFkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc3OAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXMiCittc2dzdHIgIuODleOCoeOCpOODq+WQjeOBruacgOWkp+OCteOCpOOCuuOBruWHpueQhuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzgyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBpbm9kZXMiCittc2dzdHIgImlub2RlIOaVsOOBruWHpueQhuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODA2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBibG9ja3MiCittc2dzdHIgIuODluODreODg+OCr+aVsOOBruWHpueQhuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2UgYSBmaWxlc3lzdGVtIGhlcmUhIgorbXNnc3RyICIlcyDjga/jg57jgqbjg7Pjg4jjgZXjgozjgabjgYTjgb7jgZk7IOOBk+OBk+OBq+OBr+ODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuS9nOaIkOOBp+OBjeOBvuOBm+OCkyEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIHVzZXItc3BlY2lmaWVkIHBhZ2Ugc2l6ZSAldSIKK21zZ3N0ciAi44Om44O844K244GM5oyH5a6a44GX44Gf44Oa44O844K444K144Kk44K6ICV1IOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJWQsIGluc3RlYWQgb2YgdGhlIHN5c3RlbSB2YWx1ZSAlZCIKK21zZ3N0ciAi44K344K544OG44Og5YCk44GuICUyJGQg44Gn44Gv44Gq44GP44CB44Om44O844K25oyH5a6a5YCk44Gn44GC44KLICUxJGQg44KS5L2/55So44GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEyNAorbXNnaWQgIkxhYmVsIHdhcyB0cnVuY2F0ZWQuIgorbXNnc3RyICLjg6njg5njg6vjgpLliIfjgoroqbDjgoHjgb7jgZfjgZ/jgIIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGxhYmVsLCAiCittc2dzdHIgIuODqeODmeODq+OBr+OBguOCiuOBvuOBm+OCkywgIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyB1dWlkXG4iCittc2dzdHIgInV1aWQg44GM44GC44KK44G+44Gb44KTXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdIGRldmljZSBbc2l6ZV1cbiIKK21zZ3N0ciAiIgorIlxuIgorIuS9v+OBhOaWuTpcbiIKKyIgJXMgW+OCquODl+OCt+ODp+ODs10g44OH44OQ44Kk44K5IFvjgrXjgqTjgrpdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTUyCittc2dpZCAiU2V0IHVwIGEgTGludXggc3dhcCBhcmVhLlxuIgorbXNnc3RyICJMaW51eCDjga7jgrnjg6/jg4Pjg5fpoJjln5/jgpLoqK3lrprjgZfjgb7jgZnjgIJcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1jLCAtLWNoZWNrICAgICAgICAgICAgICAgY2hlY2sgYmFkIGJsb2NrcyBiZWZvcmUgY3JlYXRpbmcgdGhlIHN3YXAgYXJlYVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGFsbG93IHN3YXAgc2l6ZSBhcmVhIGJlIGxhcmdlciB0aGFuIGRldmljZVxuIgorIiAtcCwgLS1wYWdlc2l6ZSBTSVpFICAgICAgIHNwZWNpZnkgcGFnZSBzaXplIGluIGJ5dGVzXG4iCisiIC1MLCAtLWxhYmVsIExBQkVMICAgICAgICAgc3BlY2lmeSBsYWJlbFxuIgorIiAtdiwgLS1zd2FwdmVyc2lvbiBOVU0gICAgIHNwZWNpZnkgc3dhcC1zcGFjZSB2ZXJzaW9uIG51bWJlclxuIgorIiAtVSwgLS11dWlkIFVVSUQgICAgICAgICAgIHNwZWNpZnkgdGhlIHV1aWQgdG8gdXNlXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisi44Kq44OX44K344On44OzOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIOOCueODr+ODg+ODl+mgmOWfn+OCkuS9nOaIkOOBmeOCi+WJjeOBq+OAgeS4jeato+ODluODreODg+OCr+OCkuODgeOCp+ODg+OCr+OBl+OBvuOBmVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIOODh+ODkOOCpOOCueOCiOOCiuOCguWkp+OBjeOBquOCueODr+ODg+ODl+mgmOWfn+OCkuioseWPr+OBl+OBvuOBmVxuIgorIiAtcCwgLS1wYWdlc2l6ZSBTSVpFICAgICAgIOODmuODvOOCuOOCteOCpOOCuuOCkuaMh+WumuOBl+OBvuOBmSAo44OQ44Kk44OI5Y2Y5L2NKVxuIgorIiAtTCwgLS1sYWJlbCBMQUJFTCAgICAgICAgIOODqeODmeODq+OCkuaMh+WumuOBl+OBvuOBmVxuIgorIiAtdiwgLS1zd2FwdmVyc2lvbiBOVU0gICAgIOOCueODr+ODg+ODl+mgmOWfn+OBruODkOODvOOCuOODp+ODs+eVquWPt+OCkuaMh+WumuOBl+OBvuOBmVxuIgorIiAtVSwgLS11dWlkIFVVSUQgICAgICAgICAgIOS9v+eUqOOBmeOCiyB1dWlkIOOCkuaMh+WumuOBl+OBvuOBmVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgIOODkOODvOOCuOODp+ODs+aDheWgseOCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIOOBk+OBruODmOODq+ODl+OCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBiYWQgcGFnZXM6ICVsdSIKK21zZ3N0ciAi5LiN5q2j44Oa44O844K444GM5aSa44GZ44GO44G+44GZOiAlbHUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTk1Cittc2dpZCAic2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIgorbXNnc3RyICJjaGVja19ibG9ja3Mg44Gn44K344O844Kv44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmFkIHBhZ2VcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJhZCBwYWdlc1xuIgorbXNnc3RyWzBdICIlbHUg5YCL44Gu5LiN5q2j44Gq44Oa44O844K4XG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjI4Cittc2dpZCAidW5hYmxlIHRvIGFsbG9jIG5ldyBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAi5paw44GX44GEIGxpYmJsa2lkIOODl+ODreODvOODluOCkuWJsuOCiuW9k+OBpuOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMzAKK21zZ2lkICJ1bmFibGUgdG8gYXNzaWduIGRldmljZSB0byBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAibGliYmxraWQg44OX44Ot44O844OW44KS44OH44OQ44Kk44K544Gr5Ymy44KK5b2T44Gm44KL44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjaGVja2luZyBiYWQgYmxvY2tzIGZyb20gc3dhcCBmaWxlIGlzIG5vdCBzdXBwb3J0ZWQ6ICVzIgorbXNnc3RyICLorablkYo6IOOCueODr+ODg+ODl+ODleOCoeOCpOODq+OBruS4jeiJr+ODluODreODg+OCr+aknOafu+OBr+OCteODneODvOODiOOBleOCjOOBpuOBhOOBvuOBm+OCkzogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjYxIGRpc2stdXRpbHMvbWtzd2FwLmM6Mjg3IGRpc2stdXRpbHMvbWtzd2FwLmM6MzM0Cittc2dpZCAidW5hYmxlIHRvIHJld2luZCBzd2FwLWRldmljZSIKK21zZ3N0ciAi44K544Ov44OD44OX44OH44OQ44Kk44K544KS5be744GN5oi744GZ44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI5MAorbXNnaWQgInVuYWJsZSB0byBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICJib290Yml0cyDjgrvjgq/jgr/jgpLmtojljrvjgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiB3aXBpbmcgb2xkICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIiVzOiDorablkYo6IOWPpOOBhCAlcyDnvbLlkI3jgpLmtojljrvjgZfjgabjgYTjgb7jgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiBkb24ndCBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICIlczog6K2m5ZGKOiBib290Yml0cyDjgrvjgq/jgr/jgpLmtojljrvjgZfjgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKCVzIHBhcnRpdGlvbiB0YWJsZSBkZXRlY3RlZCkuICIKK21zZ3N0ciAiICAgICAgICAoJXMg44OR44O844OG44Kj44K344On44Oz5oOF5aCx44KS6KqN6K2Y44GX44G+44GX44GfKeOAgiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoY29tcGlsZWQgd2l0aG91dCBsaWJibGtpZCkuICIKK21zZ3N0ciAiICAgICAgICAobGliYmxraWQg44Gq44GX44Gn44Kz44Oz44OR44Kk44Or44GV44KM44Gm44GE44G+44GZKSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNlIC1mIHRvIGZvcmNlLlxuIgorbXNnc3RyICLlvLfliLbjgZnjgovjgavjga8gLWYg44KS5oyH5a6a44GX44Gm44GP44Gg44GV44GE44CCXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc2lnbmF0dXJlIHBhZ2UiCittc2dzdHIgIiVzOiDnvbLlkI3jg5rjg7zjgrjjgpLmm7jjgY3ovrzjgoDjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzgwCittc2dpZCAicGFyc2luZyBwYWdlIHNpemUgZmFpbGVkIgorbXNnc3RyICLjg5rjg7zjgrjjgrXjgqTjgrrjga7lh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg2Cittc2dpZCAicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiCittc2dzdHIgIuODkOODvOOCuOODp+ODs+eVquWPt+OBruWHpueQhuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcHNwYWNlIHZlcnNpb24gJWQgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAi44K544Ov44OD44OX6aCY5Z+f44OQ44O844K444On44OzICVkIOOBr+acquWvvuW/nOOBp+OBmSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogaWdub3JpbmcgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCBieSAlcykiCittc2dzdHIgIuitpuWRijogLVUg44KS54Sh6KaW44GX44G+44GZIChVVUlEIOOBryAlcyDjgafjgrXjg53jg7zjg4jjgZfjgabjgYTjgarjgYTjgZ/jgoEpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQxNAorbXNnaWQgIm9ubHkgb25lIGRldmljZSBhcmd1bWVudCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIgorbXNnc3RyICLnj77mmYLngrnjgafjga/jgIEgMSDjgaTjga7jg4fjg5DjgqTjgrnjga7jgb/jgpLmjIflrprjgafjgY3jgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDIxCittc2dpZCAiZXJyb3I6IHBhcnNpbmcgVVVJRCBmYWlsZWQiCittc2dzdHIgIuOCqOODqeODvDogVVVJRCDjga7op6PmnpDjgavlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDMwCittc2dpZCAiZXJyb3I6IE5vd2hlcmUgdG8gc2V0IHVwIHN3YXAgb24/IgorbXNnc3RyICLjgqjjg6njg7w6IOOCueODr+ODg+ODl+OBruS9nOaIkOWFiOOBjOOBquOBj+OBquOBo+OBpuOBhOOBvuOBmT8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDM2Cittc2dpZCAiaW52YWxpZCBibG9jayBjb3VudCBhcmd1bWVudCIKK21zZ3N0ciAi44OW44Ot44OD44Kv44Kr44Km44Oz44OI44Gu5oyH5a6a44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc2l6ZSAlbGx1IEtpQiBpcyBsYXJnZXIgdGhhbiBkZXZpY2Ugc2l6ZSAlPFBSSXU2ND4gS2lCIgorbXNnc3RyICLjgqjjg6njg7w6IOOCteOCpOOCuiAlbGx1IEtpQiDjga/jg4fjg5DjgqTjgrnjga7jgrXjgqTjgrogJTxQUkl1NjQ+IEtpQiDjgojjgorjgoLlpKfjgY3jgYTlgKTjgafjgZkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDUxCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzd2FwIGFyZWEgbmVlZHMgdG8gYmUgYXQgbGVhc3QgJWxkIEtpQiIKK21zZ3N0ciAi44Ko44Op44O8OiDjgrnjg6/jg4Pjg5fpoJjln5/jgavjga/lsJHjgarjgY/jgajjgoIgJWxkIEtpQiDjgYzlv4XopoHjgafjgZkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHRydW5jYXRpbmcgc3dhcCBhcmVhIHRvICVsbHUgS2lCIgorbXNnc3RyICLorablkYo6IOOCueODr+ODg+ODl+mgmOWfn+OBruOCteOCpOOCuuOCkiAlbGx1IEtpQiDjgavliIfjgoroqbDjgoHjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIHN3YXBzcGFjZSIKK21zZ3N0ciAi44Ko44Op44O8OiAlcyDjga/jg57jgqbjg7Pjg4jjgZXjgozjgabjgYTjgb7jgZk7IOOCueODr+ODg+ODl+mgmOWfn+OCkuS9nOaIkOOBp+OBjeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0Njggc3lzLXV0aWxzL3N3YXBvbi5jOjUyNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgcGVybWlzc2lvbnMgJTA0bywgJTA0byBzdWdnZXN0ZWQuIgorbXNnc3RyICIlczog44OR44O844Of44OD44K344On44OzICUwNG8g44Gv5a6J5YWo44Gq5YCk44Gn44Gv44GC44KK44G+44Gb44KT44CCICUwNG8g44KS44GK5Yun44KB44GX44G+44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ3MiBzeXMtdXRpbHMvc3dhcG9uLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBmaWxlIG93bmVyICVkLCAwIChyb290KSBzdWdnZXN0ZWQuIgorbXNnc3RyICIlczog44OV44Kh44Kk44Or44Gu5omA5pyJ6ICFICVkIOOBjOWuieWFqOOBquWApOOBp+OBr+OBguOCiuOBvuOBm+OCk+OAgiAwIChyb290KSDjgpLjgYrli6fjgoHjgZfjgb7jgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDg3Cittc2dpZCAiVW5hYmxlIHRvIHNldCB1cCBzd2FwLXNwYWNlOiB1bnJlYWRhYmxlIgorbXNnc3RyICLjgrnjg6/jg4Pjg5fnqbrplpPjgpLoqK3lrprjgafjgY3jgb7jgZvjgpM6IOiqreOBv+i+vOOCgOOBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyB1cCBzd2Fwc3BhY2UgdmVyc2lvbiAlZCwgc2l6ZSA9ICVzICglPFBSSXU2ND4gYnl0ZXMpXG4iCittc2dzdHIgIuOCueODr+ODg+ODl+epuumWk+ODkOODvOOCuOODp+ODsyAlZCDjgpLoqK3lrprjgZfjgb7jgZnjgILjgrXjgqTjgrogPSAlcyAoJTxQUkl1NjQ+IOODkOOCpOODiClcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBvYnRhaW4gc2VsaW51eCBmaWxlIGxhYmVsIgorbXNnc3RyICIlczogc2VsaW51eCDjg5XjgqHjgqTjg6vjg6njg5njg6vjgpLlj5blvpfjgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE1Cittc2dpZCAidW5hYmxlIHRvIG1hdGNocGF0aGNvbigpIgorbXNnc3RyICJtYXRjaHBhdGhjb24oKSDjgYzlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE4Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBuZXcgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICLmlrDjgZfjgYQgc2VsaW51eCDjgrPjg7Pjg4bjgq3jgrnjg4jjgpLkvZzmiJDjgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTIwCittc2dpZCAiY291bGRuJ3QgY29tcHV0ZSBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgInNlbGludXgg44Kz44Oz44OG44Kt44K544OI44KS6KiI566X44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVsYWJlbCAlcyB0byAlcyIKK21zZ3N0ciAiJXMg44KSICVzIOOBq+ODqeODmeODq+WkieabtOOBp+OBjeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg2Cittc2dpZCAicGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz55Wq5Y+3IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODcKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBrumWi+Wni+S9jee9riAo44K744Kv44K/5Y2Y5L2NKSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg4Cittc2dpZCAiZW5kIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44Gu57WC5LqG5L2N572uICjjgrvjgq/jgr/ljZjkvY0pIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODkKK21zZ2lkICJudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAi44K744Kv44K/5pWwIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTAKK21zZ2lkICJodW1hbiByZWFkYWJsZSBzaXplIgorbXNnc3RyICLlj6/oqq3lvaLlvI/jgafjga7jgrXjgqTjgroiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MQorbXNnaWQgInBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7PlkI0iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDggbWlzYy11dGlscy9sc2Jsay5jOjE2OAorbXNnaWQgInBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgVVVJRCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkzCittc2dpZCAicGFydGl0aW9uIHRhYmxlIHR5cGUgKGRvcywgZ3B0LCAuLi4pIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjg4bjg7zjg5bjg6vjga7nqK7poZ4gKGRvcywgZ3B0LCAuLi4pIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQgbWlzYy11dGlscy9sc2Jsay5jOjE2OQorbXNnaWQgInBhcnRpdGlvbiBmbGFncyIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44OV44Op44KwIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTUKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSAoYSBzdHJpbmcsIGEgVVVJRCwgb3IgaGV4KSIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44Gu56iu6aGeICjmloflrZfliJfjgIFVVUlE44CBMTbpgLLjga7jganjgozjgYspIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTE0IHN5cy11dGlscy9sb3NldHVwLmM6NTA4IHN5cy11dGlscy9sb3NldHVwLmM6NjE2Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGN4dCIKK21zZ3N0ciAibG9vcGN4dCDjga7mupblgpnjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IOacquS9v+eUqOOBruODq+ODvOODl+ODkOODg+OCr+ODh+ODkOOCpOOCueOBrueZuuimi+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyMgorIywgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gdXNlICclcycgZm9yIHRoZSBsb29wIGRldmljZVxuIgorbXNnc3RyICLjg6vjg7zjg5fjg5Djg4Pjgq/jg4fjg5DjgqTjgrnjgajjgZfjgaYgJyVzJyDjgpLkvb/nlKjjgZfjgojjgYbjgajjgZfjgabjgYTjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBiYWNraW5nIGZpbGUiCittc2dzdHIgIiVzOiDlrp/pmpvjga7jg5XjgqHjgqTjg6vjgpLoqK3lrprjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo1NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiDjg6vjg7zjg5fjg5Djg4Pjgq/jg4fjg5DjgqTjgrnjga7oqK3lrprjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxNjEgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozMDcgbWlzYy11dGlscy9maW5kbW50LmM6Mzc2CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MzU0IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM0MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEwNworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzcyIHN5cy11dGlscy9sc2lwYy5jOjIzMiBzeXMtdXRpbHMvbHNucy5jOjE4OQorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyNzcgc3lzLXV0aWxzL3N3YXBvbi5jOjE0NyBzeXMtdXRpbHMvd2RjdGwuYzoxNTEKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAi5LiN5piO44Gq44Kr44Op44OgOiAlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44Oz55Wq5Y+344Gu5Y+W5b6X44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjg2IGRpc2stdXRpbHMvcGFydHguYzozMjQgZGlzay11dGlscy9wYXJ0eC5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZpZWQgcmFuZ2UgPCVkOiVkPiBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICLmjIflrprjgZfjgZ/nr4Tlm7IgPCVkOiVkPiDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmFuZ2UgcmVjb3VudDogbWF4IHBhcnRubz0lZCwgbG93ZXI9JWQsIHVwcGVyPSVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44OzICVkIOOBruWJiumZpOaZguOBq+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXM6IOODkeODvOODhuOCo+OCt+ODp+ODsyAlZC0lZCDjga7liYrpmaTmmYLjgavjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVtb3ZlZFxuIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44OzICMlZCDjgpLliYrpmaTjgZfjgb7jgZfjgZ9cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBkb2Vzbid0IGV4aXN0XG4iCittc2dzdHIgIiVzOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgIyVkIOOBr+WtmOWcqOOBl+OBvuOBm+OCk1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZWxldGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXM6IOODkeODvOODhuOCo+OCt+ODp+ODsyAjJWQg44Gu5YmK6Zmk44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44OzICVkIOOBrui/veWKoOaZguOBq+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiVzOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJWQtJWQg44Gu6L+95Yqg5pmC44Gr44Ko44Op44O844GM55m655Sf44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDA1IGRpc2stdXRpbHMvcGFydHguYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIKK21zZ3N0ciAiJXM6IOODkeODvOODhuOCo+OCt+ODp+ODsyAjJWQg44KS6L+95Yqg44GX44G+44GX44GfXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFkZGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXM6IOODkeODvOODhuOCo+OCt+ODp+ODsyAjJWQg44Gu6L+95Yqg44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJWQg44Gu5pu05paw5pmC44Gr44Ko44Op44O844GM55m655Sf44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44OzICVkLSVkIOOBruabtOaWsOaZguOBq+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uICMlZCIKK21zZ3N0ciAiJXM6IOODkeODvOODhuOCo+OCt+ODp+ODsyAjJWQg44GM5a2Y5Zyo44GX44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlc2l6ZWRcbiIKK21zZ3N0ciAiJXM6IOODkeODvOODhuOCo+OCt+ODp+ODsyAjJWQg44Gu44K144Kk44K644KS5aSJ5pu044GX44G+44GX44GfXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVwZGF0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44OzICMlZCDjga7mm7TmlrDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvciwgJTZqdSBNQilcbiIKK21zZ2lkX3BsdXJhbCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvcnMsICU2anUgTUIpXG4iCittc2dzdHJbMF0gIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSDjgrvjgq/jgr8sICU2anUgTUIpXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1ODEgbWlzYy11dGlscy9maW5kbW50LmM6Njg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjcwNQorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzkxIHN5cy11dGlscy9sc25zLmM6NDU2Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBsaW5lIHRvIG91dHB1dCIKK21zZ3N0ciAi5Ye65Yqb5YWI44G444Gu6KGM6L+95Yqg44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjQ0Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBkYXRhIHRvIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAi5Ye65Yqb44OG44O844OW44Or44G444Gu44OH44O844K/6L+95Yqg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjY3IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTIyIG1pc2MtdXRpbHMvZmluZG1udC5jOjE1ODUKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODc0IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ1MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjMxMAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTcxMyBzeXMtdXRpbHMvbHNpcGMuYzozMzggc3lzLXV0aWxzL2xzbnMuYzo1MTEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjk3IHN5cy11dGlscy9zd2Fwb24uYzoyODAgc3lzLXV0aWxzL3dkY3RsLmM6MjU5CisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjQ4NAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAi5Ye65Yqb44OG44O844OW44Or44Gu5rqW5YKZ44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Njc4IG1pc2MtdXRpbHMvZmluZG1udC5jOjE2MTEgbWlzYy11dGlscy9sc2Jsay5jOjE4OTYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ2NSBzeXMtdXRpbHMvbG9zZXR1cC5jOjMyMiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM1OAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTcxOCBzeXMtdXRpbHMvbHNucy5jOjUzMiBzeXMtdXRpbHMvcHJsaW1pdC5jOjMwNgorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI4OSBzeXMtdXRpbHMvd2RjdGwuYzoyNzAgc3lzLXV0aWxzL3pyYW1jdGwuYzo0OTMKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICLlh7rlipvjgqvjg6njg6Djga7mupblgpnjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgZmlsdGVyIGZvciAnJXMnIgorbXNnc3RyICInJXMnIOOBq+WvvuOBmeOCiyBibGtpZCDjg5XjgqPjg6vjgr/jga7mupblgpnjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiJXM6IOODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOBruiqreOBv+i+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHR5cGUgJyVzJyBkZXRlY3RlZFxuIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44Oz5oOF5aCx44Gu44K/44Kk44OXICclcycg44KS5qSc5Ye644GX44G+44GX44GfXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB3aXRoIG5vIHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgYzopovjgaTjgYvjgorjgb7jgZfjgZ/jgYzjgIHjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzjgYLjgorjgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8cGFydGl0aW9uPl0gPGRpc2s+XG4iCittc2dzdHIgIiAlcyBbLWF8LWR8LXN8LXVdIFstLW5yIDxuOm0+IHwgPOODkeODvOODhuOCo+OCt+ODp+ODsz5dIDzjg4fjgqPjgrnjgq8+XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTYKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIHByZXNlbmNlIGFuZCBudW1iZXJpbmcgb2YgcGFydGl0aW9ucy5cbiIKK21zZ3N0ciAi44Kr44O844ON44Or44Gr44OR44O844OG44Kj44K344On44Oz44Gu5a2Y5Zyo44Go55Wq5Y+344KS5Lyd44GI44G+44GZ44CCXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTkKK21zZ2lkICIgLWEsIC0tYWRkICAgICAgICAgICAgYWRkIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtYSwgLS1hZGQgICAgICAgICAgICDmjIflrprjgZfjgZ/jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgIHjgb7jgZ/jga/jgZnjgbnjgabjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLov73liqDjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MAorbXNnaWQgIiAtZCwgLS1kZWxldGUgICAgICAgICBkZWxldGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIOaMh+WumuOBl+OBn+ODkeODvOODhuOCo+OCt+ODp+ODs+OAgeOBvuOBn+OBr+OBmeOBueOBpuOBruODkeODvOODhuOCo+OCt+ODp+ODs+OCkuWJiumZpOOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYxCittc2dpZCAiIC11LCAtLXVwZGF0ZSAgICAgICAgIHVwZGF0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLXUsIC0tdXBkYXRlICAgICAgICAg5oyH5a6a44GX44Gf44OR44O844OG44Kj44K344On44Oz44CB44G+44Gf44Gv44GZ44G544Gm44Gu44OR44O844OG44Kj44K344On44Oz44KS5pu05paw44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjIKK21zZ2lkICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgIGxpc3QgcGFydGl0aW9uc1xuIgorIlxuIgorbXNnc3RyICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgIOODkeODvOODhuOCo+OCt+ODp+ODs+OCkuS4gOimp+ihqOekuuOBl+OBvuOBmVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYzIG1pc2MtdXRpbHMvbHNibGsuYzoxNjIzCittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICDlj6/oqq3mgKfjga7pq5jjgYTlvaLlvI/jgafjga/jgarjgY/jgIHjg5DjgqTjg4jljZjkvY3jgafjgrXjgqTjgrrjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NAorbXNnaWQgIiAtZywgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1zaG93XG4iCittc2dzdHIgIiAtZywgLS1ub2hlYWRpbmdzICAgICAtLXNob3cg44Gn44Gu6KGo56S644Gu6Zqb44CB44OY44OD44OA44KS6KGo56S644GX44G+44Gb44KTXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjUKK21zZ2lkICIgLW4sIC0tbnIgPG46bT4gICAgICAgc3BlY2lmeSB0aGUgcmFuZ2Ugb2YgcGFydGl0aW9ucyAoZS5nLiAtLW5yIDI6NClcbiIKK21zZ3N0ciAiIC1uLCAtLW5yIDxuOm0+ICAgICAgIOODkeODvOODhuOCo+OCt+ODp+ODs+OCkuevhOWbsuOBp+aMh+WumuOBl+OBvuOBmSAo5L6LOiAtLW5yIDI6NClcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NgorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3Q+IOWHuuWKm+OBmeOCi+WIl+OCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY3IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM3Cittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1QLCAtLXBhaXJzICAgICAgICAgIOOCreODvD1cIuWApFwiIOOBruWHuuWKm+W9ouW8j+OCkuS9v+eUqOOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY4IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM4Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAg5Yqg5bel44KS6KGM44Gq44KP44Gq44GE5Ye65Yqb5b2i5byP44KS5L2/55So44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjkKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgc3BlY2lmeSB0aGUgcGFydGl0aW9uIHR5cGUgKGRvcywgYnNkLCBzb2xhcmlzLCBldGMuKVxuIgorbXNnc3RyICIgLXQsIC0tdHlwZSA844K/44Kk44OXPiAg44OR44O844OG44Kj44K344On44Oz44Gu56iu6aGe44KS5oyH5a6a44GX44G+44GZIChkb3MsIGJzZCwgc29sYXJpcyDjgarjgakpXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzAgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAg5YaX6ZW35Ye65Yqb44Oi44O844OJ44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzYKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3csIC0tcmF3IG9yIC0tcGFpcnMpOlxuIgorbXNnc3RyICIiCisiXG4iCisi5Yip55So5Y+v6IO944Gq5YiXICgtLXNob3csIC0tcmF3LCAtLXBhaXJzIOOBp+aMh+WumuOBp+OBjeOBvuOBmSk6XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS1uciA8TS1OPiByYW5nZSIKK21zZ3N0ciAiLS1uciA8TS1OPiDjga7nr4Tlm7LmjIflrprjga7lh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MjQKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIGFuZCBkaXNrIG5hbWUgZG8gbm90IG1hdGNoIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjga/lpInmm7TjgZfjgabjgYTjgb7jgZvjgpMgKC0tbm8tYWN0KeOAgiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1MgorbXNnaWQgIi0tbnIgYW5kIDxwYXJ0aXRpb24+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIi0tbnIg44GoIDzjg5Hjg7zjg4bjgqPjgrfjg6fjg7M+IOOCkuS4oeaWueaMh+WumuOBmeOCi+OBk+OBqOOBr+OBp+OBjeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk3MQorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJ0aXRpb246ICVzLCBkaXNrOiAlcywgbG93ZXI6ICVkLCB1cHBlcjogJWRcbiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44OzOiAlcywg44OH44Kj44K544KvOiAlcywg5LiL6ZmQOiAlZCwg5LiK6ZmQOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlIHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLliYrpmaTjgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiJXM6IOODkeODvOODhuOCo+OCt+ODp+ODs+OBjOioreWumuOBleOCjOOBn+ODq+ODvOODl+ODkOODg+OCr+ODh+ODkOOCpOOCueOBq+OBr+WvvuW/nOOBl+OBpuOBhOOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIHByb2JlciIKK21zZ3N0ciAiJXM6IGJsa2lkIHByb2JlciDjga7mupblgpnjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzICUyJHNyYXdOIDxtYWpvcj4gPG1pbm9yPlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPGJsb2NrZGV2aWNlPlxuIgorIiAlMSRzIC1xICUyJHNyYXdOXG4iCisiICUxJHMgLXFhXG4iCittc2dzdHIgIiIKKyIgJTEkcyAlMiRzcmF3TiA844Oh44K444Oj44O8PiA844Oe44Kk44OK44O8PlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPOODluODreODg+OCr+ODh+ODkOOCpOOCuT5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjU4Cittc2dpZCAiQmluZCBhIHJhdyBjaGFyYWN0ZXIgZGV2aWNlIHRvIGEgYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICJyYXcg44Kt44Oj44Op44Kv44K/44OH44OQ44Kk44K544KS44OW44Ot44OD44Kv44OH44OQ44Kk44K544Gr57WQ44Gz44Gk44GR44G+44GZ44CCXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjEKK21zZ2lkICIgLXEsIC0tcXVlcnkgICAgc2V0IHF1ZXJ5IG1vZGVcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXJ5ICAgIOWVj+OBhOWQiOOCj+OBm+ODouODvOODieOCkuioreWumuOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYyCittc2dpZCAiIC1hLCAtLWFsbCAgICAgIHF1ZXJ5IGFsbCByYXcgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAg5YWo44Gm44GuIHJhdyDjg4fjg5DjgqTjgrnjgavlr77jgZfjgabllY/jgYTlkIjjgo/jgZvjgpLooYzjgYTjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgdGhlIGNvbnRyb2wgcmF3IGRldmljZSAodXNlIHJhdzxOPiB3aGVyZSA8Tj4gaXMgZ3JlYXRlciB0aGFuIHplcm8pIgorbXNnc3RyICLjg4fjg5DjgqTjgrkgJyVzJyDjga/liLblvqHnlKjjga4gcmF3IOODh+ODkOOCpOOCueOBp+OBmSAocmF3PE4+ICg8Tj4g44GvIDAg44KI44KK5aSn44GN44GE5YCkKSDjgpLmjIflrprjgZfjgabjgY/jgaDjgZXjgYQpIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4MQorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIGJsb2NrIGRldmljZSAnJXMnIgorbXNnc3RyICLjg5bjg63jg4Pjgq/jg4fjg5DjgqTjgrkgJyVzJyDjga7nirbmhYvjgpLlj5blvpfjgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAi44OH44OQ44Kk44K5ICclcycg44Gv44OW44Ot44OD44Kv44OH44OQ44Kk44K544Gn44Gv44GC44KK44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE5MyBkaXNrLXV0aWxzL3Jhdy5jOjE5NiBzeXMtdXRpbHMvaXBjcm0uYzozNTEKKyM6IHN5cy11dGlscy9pcGNybS5jOjM2NCBzeXMtdXRpbHMvaXBjcm0uYzozNzcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiCittc2dzdHIgIuW8leaVsOOBruWHpueQhuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9yYXcuYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAi44Oe44K544K/44O8IHJhdyDjg4fjg5DjgqTjgrkgJyVzJyDjgpLplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICJyYXcg44OH44OQ44Kk44K5ICclcycg44Gu54q25oWL44KS5Y+W5b6X44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICJSYXcgZGV2aWNlICclcycgaXMgbm90IGEgY2hhcmFjdGVyIGRldiIKK21zZ3N0ciAicmF3IOODh+ODkOOCpOOCuSAnJXMnIOOBr+OCreODo+ODqeOCr+OCv+ODh+ODkOOCpOOCueOBp+OBr+OBguOCiuOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgcmF3IGRldiIKK21zZ3N0ciAi44OH44OQ44Kk44K5ICclcycg44GvIHJhdyDjg4fjg5DjgqTjgrnjgafjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjQ1Cittc2dpZCAiRXJyb3IgcXVlcnlpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAicmF3IOODh+ODkOOCpOOCueOBq+WvvuOBmeOCi+WVj+OBhOWQiOOCj+OBm+OBrumam+OBq+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9yYXcuYzoyNTQgZGlzay11dGlscy9yYXcuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNyYXclZDogIGJvdW5kIHRvIG1ham9yICVkLCBtaW5vciAlZFxuIgorbXNnc3RyICIlc3JhdyVkOiAg44Oh44K444Oj44O8ICVkLCDjg57jgqTjg4rjg7wgJWQg44Gr5Ymy44KK5b2T44Gm44G+44GX44GfXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjY4Cittc2dpZCAiRXJyb3Igc2V0dGluZyByYXcgZGV2aWNlIgorbXNnc3RyICJyYXcg44OH44OQ44Kk44K544Gu6Kit5a6a5pmC44Gr44Ko44Op44O844GM55m655Sf44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxOQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiICVzIDzjg4fjgqPjgrnjgq/jg4fjg5DjgqTjgrk+IDzjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pnlarlj7c+IDzplbfjgZU+XG4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjIzCittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBuZXcgc2l6ZSBvZiBhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAi44Kr44O844ON44Or44Gr44OR44O844OG44Kj44K344On44Oz44Gu5paw44GX44GE44K144Kk44K644KS5Lyd44GI44G+44GZ44CCXG4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgcGFydGl0aW9uIG51bWJlciAlcyIKK21zZ3N0ciAiJXM6IOODkeODvOODhuOCo+OCt+ODp+ODs+eVquWPtyAlcyDjga7plovlp4vkvY3nva7jga7lj5blvpfmmYLjgavjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwOQorbXNnaWQgImZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7jgrXjgqTjgrrlpInmm7TjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjMxCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG5lc3RlZCBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICLlhaXjgozlrZDjgavjgarjgaPjgZ8gbGliZmRpc2sg44Kz44Oz44OG44Kt44K544OI44Gu5Ymy44KK5b2T44Gm44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2VlayAlcyIKK21zZ3N0ciAiJXMg44KS44K344O844Kv44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMwMiBsaWJmZGlzay9zcmMvYnNkLmM6NzIzIGxpYmZkaXNrL3NyYy9ic2QuYzo4OTQKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTYzIHN5cy11dGlscy9od2Nsb2NrLmM6MTY1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSAlcyIKK21zZ3N0ciAiJXMg44Gr5pu444GN6L6844KA44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlMTJzIChvZmZzZXQgJTVqdSwgc2l6ZSAlNWp1KTogJXMiCittc2dzdHIgIiUxMnMgKOOCquODleOCu+ODg+ODiCAlNWp144CB44K144Kk44K6ICU1anUpOiAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAiCittc2dzdHIgIiVzOiDjg5Djg4Pjgq/jgqLjg4Pjg5fkvZzmiJDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzI4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAgZmlsZSwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICLnvbLlkI3jga7jg5Djg4Pjgq/jgqLjg4Pjg5fkvZzmiJDjgavlpLHmlZfjgZfjgb7jgZfjgZ/jgIIkSE9NRSDjgYzlrprnvqnjgZXjgozjgabjgYTjgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzU0Cittc2dpZCAiQmFja3VwIGZpbGVzOiIKK21zZ3N0ciAi44OQ44OD44Kv44Ki44OD44OX44OV44Kh44Kk44OrOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozNzkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBuZXcgcGFydGl0aW9uIGZyb20gZGV2aWNlOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44Oz55Wq5Y+3ICVzIOOBrumWi+Wni+S9jee9ruOBruWPluW+l+aZguOBq+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiVzOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pnlarlj7cgJXMg44Gu6ZaL5aeL5L2N572u44Gu5Y+W5b6X5pmC44Gr44Ko44Op44O844GM55m655Sf44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44Oz55Wq5Y+3ICVzIOOBrumWi+Wni+S9jee9ruOBruWPluW+l+aZguOBq+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiVzOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pnlarlj7cgJXMg44Gu6ZaL5aeL5L2N572u44Gu5Y+W5b6X5pmC44Gr44Ko44Op44O844GM55m655Sf44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4OQorbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaGFzIG5vdCBiZWVuIG1vdmVkOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM5MQorbXNnaWQgIm5ldyBwYXJ0aXRpb24gaXMgc21hbGxlciB0aGFuIG9yaWdpbmFsOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0MQorbXNnaWQgIkRhdGEgbW92ZToiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiB0eXBlc2NyaXB0IGZpbGU6ICVzIgorbXNnc3RyICLjgrnjgq/jg6rjg5fjg4jjg5XjgqHjgqTjg6sgJXMg44Gu6Kqt44G/6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICIgb2xkIHN0YXJ0OiAlanUsIG5ldyBzdGFydDogJWp1IChtb3ZlICVqdSBzZWN0b3JzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUxCisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIG1vdmUgcGFydGl0aW9uIGRhdGE/IgorbXNnc3RyICLjg4fjgqPjgrnjgq/jgbjjga7mm7jjgY3ovrzjgb/jgpLooYzjgarjgYTjgb7jgZnjgYvvvJ8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc4MworIywgZnV6enkKK21zZ2lkICJMZWF2aW5nLiIKK21zZ3N0ciAi5YWl44KM5a2Q44Gu44OH44Kj44K544Kv44Op44OZ44Or44GL44KJ6Zui44KM44G+44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjUyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBtb3ZlIGRhdGEiCittc2dzdHIgIuODh+ODvOOCv+OBruioreWumuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDEKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGlzIHVuY2hhbmdlZCAoLS1uby1hY3QpLiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz5oOF5aCx44Gv5aSJ5pu044GX44Gm44GE44G+44Gb44KTICgtLW5vLWFjdCnjgIIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQ3Cittc2dpZCAiIgorIlxuIgorIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIiIKKyJcbiIKKyLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgYzlpInmm7TjgZXjgozjgb7jgZfjgZ/jgIIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjIzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGxhYmVsICclcyciCittc2dzdHIgIuacquWvvuW/nOOBruODqeODmeODq+OBp+OBmTogJyVzJyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MjYKK21zZ2lkICIiCisiSWQgIE5hbWVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIklEICDlkI3liY1cbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2NTYKK21zZ2lkICJ1bnJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUiCittc2dzdHIgIuiqjeitmOOBp+OBjeOBquOBhOODkeODvOODhuOCo+OCt+ODp+ODs+mgmOWfn+OCv+OCpOODl+OBp+OBmSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICIlcyDjga7jgrXjgqTjgrrjgpLlj5blvpfjgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInRvdGFsOiAlanUgYmxvY2tzXG4iCittc2dzdHIgIuWQiOioiDogJWp1IOODluODreODg+OCr1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgwOCBkaXNrLXV0aWxzL3NmZGlzay5jOjg3NiBkaXNrLXV0aWxzL3NmZGlzay5jOjkxNworIzogZGlzay11dGlscy9zZmRpc2suYzo5NDcgZGlzay11dGlscy9zZmRpc2suYzoxMDE0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA3OAorIzogZGlzay11dGlscy9zZmRpc2suYzoxMTMzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE4OSBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MzMKK21zZ2lkICJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIuODh+ODkOOCpOOCueOBjOaMh+WumuOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MTkKK21zZ2lkICJ0b2dnbGUgYm9vdCBmbGFncyBpcyBzdXBwb3J0ZWQgZm9yIE1CUiBvbmx5IgorbXNnc3RyICLotbfli5Xlj6/og73jg5Xjg6njgrDjga7liIfjgormm7/jgYjjga8gTUJSIOOBp+OBoOOBkeOCteODneODvOODiOOBleOCjOOBpuOBhOOBvuOBmSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NTAgZGlzay11dGlscy9zZmRpc2suYzo4OTYgZGlzay11dGlscy9zZmRpc2suYzoxMDE5CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODMgZGlzay11dGlscy9zZmRpc2suYzoxMTM4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5NAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTMxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxMworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pnlarlj7fjga7lj5blvpfjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJWQ6IGZhaWxlZCB0byB0b2dnbGUgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiJXM6IOODkeODvOODhuOCo+OCt+ODp+ODsyAlZDog6LW35YuV5Y+v6IO944OV44Op44Kw44Gu5YiH44KK5pu/44GI44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg5MSBkaXNrLXV0aWxzL3NmZGlzay5jOjg5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBkZWxldGUiCittc2dzdHIgIiVzOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1OiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7jgr/jgqTjg5fjgpLlj5blvpfjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICLjg4fjg5DjgqTjgrnjgavjga/oqo3orZjlj6/og73jgarjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgYzlkKvjgb7jgozjgabjgYTjgb7jgZvjgpPjgIIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTU4Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGR1bXAgc3RydWN0IgorbXNnc3RyICLlh7rlipvnlKjjga7mp4vpgKDkvZPjga7libLjgorlvZPjgabjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGR1bXAgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjga7lh7rlipvjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uIHRhYmxlIGZvdW5kIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44Oz44OG44O844OW44Or44GM44GC44KK44G+44Gb44KT44CCIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIHRhYmxlIGNvbnRhaW5zIG9ubHkgJXp1IHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1OiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgasgJXp1IOODkeODvOODhuOCo+OCt+ODp+ODs+OBoOOBkeOBjOWQq+OBvuOCjOOBpuOBhOOBvuOBmeOAgiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiBpcyB1bnVzZWQiCittc2dzdHIgIiVzOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1OiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga/kvb/jgo/jgozjgabjgYTjgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxOCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODIgZGlzay11dGlscy9zZmRpc2suYzoxMTM3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTMKK21zZ2lkICJubyBwYXJ0aXRpb24gbnVtYmVyIHNwZWNpZmllZCIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz55Wq5Y+344GM5oyH5a6a44GV44KM44Gm44GE44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMjQgZGlzay11dGlscy9zZmRpc2suYzoxMDg4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE0MworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTk5Cittc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudHMiCittc2dzdHIgIuaDs+WumuOBl+OBpuOBhOOBquOBhOW8leaVsCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44OzICV6dTog44OR44O844OG44Kj44K344On44Oz44Gu44K/44Kk44OX44KS5Y+W5b6X44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIHBhcnRpdGlvbiB0eXBlICclcyciCittc2dzdHIgIiVzIOOCkuino+aekOS4reOAgeODkeODvOODhuOCo+OCt+ODp+ODs+OBruOCv+OCpOODlyAnJXMnIOOCkuWPluW+l+OBp+OBjeOBvuOBm+OCk+OBp+OBl+OBnyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44OzICV6dTog44OR44O844OG44Kj44K344On44Oz44Gu44K/44Kk44OX44KS6Kit5a6a44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiVzOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1OiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga4gVVVJRCDjgpLlj5blvpfjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTExMyBkaXNrLXV0aWxzL3NmZGlzay5jOjExNjggZGlzay11dGlscy9zZmRpc2suYzoxMjIyCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBvYmplY3QiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OCquODluOCuOOCp+OCr+ODiOOBruWJsuOCiuW9k+OBpuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44OzICV6dTog44OR44O844OG44Kj44K344On44Oz44GuIFVVSUQg44KS6Kit5a6a44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIiVzOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1OiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7PlkI3jgpLlj5blvpfjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiJXM6IOODkeODvOODhuOCo+OCt+ODp+ODsyAlenU6IOODkeODvOODhuOCo+OCt+ODp+ODs+WQjeOCkuioreWumuOBp+OBjeOBvuOBm+OCk+OBp+OBl+OBnyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBhdHRyaWJ1dGVzIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44OzICV6dTog44OR44O844OG44Kj44K344On44Oz44Gu5bGe5oCn44KS6Kit5a6a44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNjkKK21zZ2lkICIgQ29tbWFuZHM6XG4iCittc2dzdHIgIiDjgrPjg57jg7Pjg4k6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3MQorbXNnaWQgIiAgIHdyaXRlICAgIHdyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgd3JpdGUgICAg44OR44O844OG44Kj44K344On44Oz5oOF5aCx44KS44OH44Kj44K544Kv44Gr5pu444GN6L6844KT44Gn57WC5LqG44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3MgorbXNnaWQgIiAgIHF1aXQgICAgIHNob3cgbmV3IHNpdHVhdGlvbiBhbmQgd2FpdCBmb3IgdXNlcidzIGZlZWRiYWNrIGJlZm9yZSB3cml0ZVxuIgorbXNnc3RyICIgICBxdWl0ICAgICDmlrDjgZfjgYTnirbms4HjgpLooajnpLrjgZfjgIHmm7jjgY3ovrzjgb/liY3jgavjg6bjg7zjgrbjg7zjgYvjgonjga7lv5znrZTjgpLlvoXjgaHjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjczCittc2dpZCAiICAgYWJvcnQgICAgZXhpdCBzZmRpc2sgc2hlbGxcbiIKK21zZ3N0ciAiICAgYWJvcnQgICAgc2ZkaXNrIOOCt+OCp+ODq+OCkue1guS6huOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzQKKyMsIGZ1enp5Cittc2dpZCAiICAgcHJpbnQgICAgZGlzcGxheSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgIHByaW50ICAgIOODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOCkuihqOekuuOBl+OBvuOBmeOAglxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzUKKyMsIGZ1enp5Cittc2dpZCAiICAgaGVscCAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorbXNnc3RyICIgICBoZWxwICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgb7jgZnjgIJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjc3CisjLCBmdXp6eQorbXNnaWQgIiAgIEN0cmwtRCAgIHRoZSBzYW1lIGFzICdxdWl0J1xuIgorbXNnc3RyICIgICBDVFJMLUQgICAncXVpdCcg44Kz44Oe44Oz44OJ44Go5ZCM44GY44Gn44GZXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MQorbXNnaWQgIiBJbnB1dCBmb3JtYXQ6XG4iCittc2dzdHIgIiDlhaXlipvlvaLlvI86XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MworbXNnaWQgIiAgIDxzdGFydD4sIDxzaXplPiwgPHR5cGU+LCA8Ym9vdGFibGU+XG4iCittc2dzdHIgIiAgIDzplovlp4s+LCA844K144Kk44K6PiwgPOOCv+OCpOODlz4sIDzotbfli5Xlj6/og70+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4NgorIywgZnV6enkKK21zZ2lkICIiCisiICAgPHN0YXJ0PiAgQmVnaW5uaW5nIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIHRoZSBmaXJzdCBmcmVlIHNwYWNlLlxuIgorbXNnc3RyICIiCisiICAgPOmWi+Wniz4gICBiZWdpbiBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMgb3IgYnl0ZXMgaWYgc3BlY2lmaWVkXG4iCisiICAgICAgICAgICAgaW4gZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uIFRoZSBkZWZhdWx0IGlzXG4iCisiICAgICAgICAgICAgdGhlIGZpcnN0IGZyZWUgc3BhY2UuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MQorIywgZnV6enkKK21zZ2lkICIiCisiICAgPHNpemU+ICAgU2l6ZSBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyBhbGwgYXZhaWxhYmxlIHNwYWNlLlxuIgorbXNnc3RyICIiCisiICAgPOOCteOCpOOCuj4g44OR44O844OG44Kj44K344On44Oz44Gu44K144Kk44K644KS44K744Kv44K/5pWw44Gn6KGo44GX44Gf44KC44GuIGlmIHNwZWNpZmllZCBpbiBmb3JtYXRcbiIKKyIgICAgICAgICAgICA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9IHRoZW4gaXQncyBpbnRlcnByZXRlZCBhcyBzaXplXG4iCisiICAgICAgICAgICAgaW4gYnl0ZXMuIOODh+ODleOCqeODq+ODiOOBr+epuuOBjemgmOWfn+OBruWkp+OBjeOBleOBp+OBmeOAglxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTYKKyMsIGZ1enp5Cittc2dpZCAiICAgPHR5cGU+ICAgVGhlIHBhcnRpdGlvbiB0eXBlLiAgRGVmYXVsdCBpcyBhIExpbnV4IGRhdGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIgICA844K/44Kk44OXPiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7jgr/jgqTjg5fjgILjg4fjg5Xjgqnjg6vjg4jjga8gTGludXgg44Gu44OH44O844K/44OR44O844OG44Kj44K344On44Oz44Gn44GZ44CCXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NworbXNnaWQgIiAgICAgICAgICAgIE1CUjogaGV4IG9yIEwsUyxFLFggc2hvcnRjdXRzLlxuIgorbXNnc3RyICIgICAgICAgICAgICBNQlI6IDE26YCy44Gu44Kz44O844OJIOOBvuOBn+OBryBMLFMsRSxYIOOBrueVpeWPt+OAglxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTgKKyMsIGZ1enp5Cittc2dpZCAiICAgICAgICAgICAgR1BUOiBVVUlEIG9yIEwsUyxIIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiICAgICAgICAgICAgR1BUOiB1dWlkIOOBvuOBn+OBryBMLFMsSCDjga7nlaXlj7fjgIJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzAxCisjLCBmdXp6eQorbXNnaWQgIiAgIDxib290YWJsZT4gIFVzZSAnKicgdG8gbWFyayBhbiBNQlIgcGFydGl0aW9uIGFzIGJvb3RhYmxlLlxuIgorbXNnc3RyICIgICA86LW35YuV5Y+v6IO9PiAgJyonIOOBjOS7mOOBhOOBpuOBhOOCiyBNQlIg44OR44O844OG44Kj44K344On44Oz44Gv6LW35YuV5Y+v6IO944Gn44GZ44CCXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNQorbXNnaWQgIiBFeGFtcGxlOlxuIgorbXNnc3RyICIg5L6LOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDcKKyMsIGZ1enp5Cittc2dpZCAiICAgLCA0RyAgICAgQ3JlYXRlcyBhIDRHaUIgcGFydGl0aW9uIGF0IGRlZmF1bHQgc3RhcnQgb2Zmc2V0LlxuIgorbXNnc3RyICIgICAsIDRHICAgICDjg4fjg5Xjgqnjg6vjg4jjga7jgqrjg5Xjgrvjg4Pjg4jkvY3nva7jgojjgoogNEdpQiDjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLkvZzmiJDjgZfjgb7jgZnjgIJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzM5IHN5cy11dGlscy9kbWVzZy5jOjE0NTUKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICLmnKrlr77lv5zjga7jgrPjg57jg7Pjg4njgafjgZkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICLooYwgJWQ6IOacquWvvuW/nOOBruOCs+ODnuODs+ODieOBp+OBmSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTAwCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7PlkI3jga7libLjgorlvZPjgabjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU0MQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAi44K544Kv44Oq44OX44OI44OP44Oz44OJ44Op44Gu5Ymy44KK5b2T44Gm44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBubyBwYXJ0aXRpb24gdGFibGUgd2FzIGZvdW5kIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44OzICVkIOOCkuWkieabtOOBp+OBjeOBvuOBm+OCkzog44OR44O844OG44Kj44K344On44Oz5oOF5aCx44GM6KaL44Gk44GL44KK44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6IOODkeODvOODhuOCo+OCt+ODp+ODsyAlZCDjgpLlpInmm7TjgafjgY3jgb7jgZvjgpM6IOODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOBqyAlenUg44OR44O844OG44Kj44K344On44Oz44Gg44GR44GM5ZCr44G+44KM44Gm44GE44G+44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXM6IHBhcnRpdGlvbiAlZCBpcyBub3QgZGVmaW5lZCB5ZXQiCittc2dzdHIgIuitpuWRijogJXM6IOODkeODvOODhuOCo+OCt+ODp+ODsyAlZCDjga/lrprnvqnjgZXjgozjgabjgYTjgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiV2VsY29tZSB0byBzZmRpc2sgKCVzKS4iCittc2dzdHIgIiIKKyJcbiIKKyJzZmRpc2sgKCVzKSDjgbjjgojjgYbjgZPjgZ3jgIIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NAorbXNnaWQgIkNoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIgorbXNnc3RyICLjgZPjga7jg4fjgqPjgrnjgq/jgpLkvb/nlKjjgZfjgabjgYTjgovjg6bjg7zjgrbjgYzjgYTjgarjgYTjgYvjganjgYbjgYvjgpLoqr/jgbnjgabjgYTjgb7jgZkgLi4uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTcKK21zZ2lkICIiCisiIEZBSUxFRFxuIgorIlxuIgorbXNnc3RyICIiCisiIOS9v+eUqOS4rVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MDAKK21zZ2lkICIiCisiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UgLSByZXBhcnRpdGlvbmluZyBpcyBwcm9iYWJseSBhIGJhZCBpZGVhLlxuIgorIlVtb3VudCBhbGwgZmlsZSBzeXN0ZW1zLCBhbmQgc3dhcG9mZiBhbGwgc3dhcCBwYXJ0aXRpb25zIG9uIHRoaXMgZGlzay5cbiIKKyJVc2UgdGhlIC0tbm8tcmVyZWFkIGZsYWcgdG8gc3VwcHJlc3MgdGhpcyBjaGVjay5cbiIKK21zZ3N0ciAiIgorIuOBk+OBruODh+OCo+OCueOCr+OBr+ePvuWcqOS9v+eUqOS4reOBp+OBmSAtIOODkeODvOODhuOCo+OCt+ODp+ODs+OBruWGjeioreWumuOBr+mBv+OBkeOBpuOBiuOBhOOBn+OBu+OBhuOBjOOCiOOBhOOBp+OBl+OCh+OBhuOAglxuIgorIuODh+OCo+OCueOCr+S4iuOBq+OBguOCi+WFqOOBpuOBruODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuOCouODs+ODnuOCpuODs+ODiOOBl+OAgeWFqOOBpuOBruOCueODr+ODg+ODl1xuIgorIuODkeODvOODhuOCo+OCt+ODp+ODs+OCkueEoeWKueWMluOBl+OBpuOBj+OBoOOBleOBhOOAgiAtLW5vLXJlcmVhZCDjg5Xjg6njgrDjgpLmjIflrprjgZnjgovjgajjgIFcbiIKKyLjgZPjga7jg4Hjgqfjg4Pjgq/jgpLnnIHnlaXjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZnjgIJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjA1Cittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIGZsYWcgdG8gb3ZlcnJ1bGUgYWxsIGNoZWNrcy4iCittc2dzdHIgIuWFqOOBpuOBruODgeOCp+ODg+OCr+OCkuecgeeVpeOBmeOCi+OBq+OBr+OAgSAtLWZvcmNlIOODleODqeOCsOOCkuaMh+WumuOBl+OBpuOBj+OBoOOBleOBhOOAgiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjA3Cittc2dpZCAiIgorIiBPS1xuIgorIlxuIgorbXNnc3RyICIiCisiIE9LXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYzNgorbXNnaWQgIiIKKyJcbiIKKyJPbGQgc2l0dWF0aW9uOiIKK21zZ3N0ciAiIgorIlxuIgorIuWPpOOBhOeKtuaFizoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY1NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisic2ZkaXNrIGlzIGdvaW5nIHRvIGNyZWF0ZSBhIG5ldyAnJXMnIGRpc2sgbGFiZWwuXG4iCisiVXNlICdsYWJlbDogPG5hbWU+JyBiZWZvcmUgeW91IGRlZmluZSBhIGZpcnN0IHBhcnRpdGlvblxuIgorInRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0LiIKK21zZ3N0ciAiIgorIlxuIgorInNmZGlzayDjga/mlrDjgZfjgYQgJyVzJyDjg4fjgqPjgrnjgq/jg6njg5njg6vjgpLkvZzmiJDjgZfjgb7jgZnjgIJcbiIKKyLml6LlrprlgKTjgpLkuIrmm7jjgY3jgZnjgovjgavjga8g5pyA5Yid44Gu44OR44O844OG44Kj44K344On44Oz44KS5a6a576p44GZ44KL5YmN44GrXG4iCisiJ2xhYmVsOiA8bmFtZT4nIOOCkuWun+ihjOOBl+OBpuOBj+OBoOOBleOBhOOAgiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjU3Cittc2dpZCAiIgorIlxuIgorIlR5cGUgJ2hlbHAnIHRvIGdldCBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisiXG4iCisi6Kmz44GX44GP44GvIGBoZWxwJyDjgpLjgYroqq3jgb/jgY/jgaDjgZXjgYTjgIJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjc1Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgdXNlZC4iCittc2dzdHIgIuOBmeOBueOBpuOBruODkeODvOODhuOCo+OCt+ODp+ODs+OBjOS9v+OCj+OCjOOBpuOBhOOBvuOBmeOAgiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzAzCisjLCBmdXp6eQorbXNnaWQgIkRvbmUuXG4iCittc2dzdHIgIue1guS6huOAgiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzE1Cittc2dpZCAiSWdub3JpbmcgcGFydGl0aW9uLiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44KS54Sh6KaW44GX44G+44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MjQKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0IGhlYWRlcnMsIGRpc2sgbGFiZWwgbm90IGNyZWF0ZWQuIgorbXNnc3RyICLjgrnjgq/jg6rjg5fjg4jjg5jjg4Pjg4Djga7pgannlKjjgavlpLHmlZfjgZfjgIHjg4fjgqPjgrnjgq/jg6njg5njg6vjga/kvZzmiJDjgZXjgozjgb7jgZvjgpPjgafjgZfjgZ/jgIIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCAjJWQgcGFydGl0aW9uIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLov73liqDjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc2MworbXNnaWQgIlNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuIgorbXNnc3RyICLjgrnjgq/jg6rjg5fjg4jjga7jg5jjg4Pjg4DjgpIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc3MgorbXNnaWQgIiIKKyJcbiIKKyJOZXcgc2l0dWF0aW9uOiIKK21zZ3N0ciAiIgorIlxuIgorIuaWsOOBl+OBhOeKtuaFizoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc4MQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHdyaXRlIHRoaXMgdG8gZGlzaz8iCittc2dzdHIgIuODh+OCo+OCueOCr+OBuOOBruabuOOBjei+vOOBv+OCkuihjOOBquOBhOOBvuOBmeOBi++8nyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzkzCisjLCBmdXp6eQorbXNnaWQgIkxlYXZpbmcuXG4iCittc2dzdHIgIuOCteOCueODmuODs+ODieODouODvOODiTogbm87IOe1guS6huOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2PiBbWy1OXSA8cGFydD5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisiICUxJHMgW+OCquODl+OCt+ODp+ODs10gPOODh+ODkOOCpOOCuT4gW1stTl0gPOODkeODvOODhuOCo+OCt+ODp+ODsz5dXG4iCisiICUxJHMgW+OCquODl+OCt+ODp+ODs10gPOOCs+ODnuODs+ODiT5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEyCittc2dpZCAiIgorIlxuIgorIkNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisiXG4iCisi44Kz44Oe44Oz44OJOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTMKKyMsIGZ1enp5Cittc2dpZCAiIC1BLCAtLWFjdGl2YXRlIDxkZXY+IFs8cGFydD4gLi4uXSBsaXN0IG9yIHNldCBib290YWJsZSBNQlIgcGFydGl0aW9uc1xuIgorbXNnc3RyICIgLS1wYXJ0LXR5cGUgPGRldj4gPHBhcnQ+IFs8dHlwZT5dIOODkeODvOODhuOCo+OCt+ODp+ODs+OCv+OCpOODl+OCkuihqOekuuOBvuOBn+OBr+WkieabtOOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSAodXNhYmxlIGZvciBsYXRlciBpbnB1dClcbiIKK21zZ3N0ciAiIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICDkurrplpPjgavjgajjgaPjgaboqq3jgb/jgoTjgZnjgYTlvaLlvI/jgaflh7rlipvjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE1CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgaW4gSlNPTiBmb3JtYXRcbiIKK21zZ3N0ciAiIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICDkurrplpPjgavjgajjgaPjgaboqq3jgb/jgoTjgZnjgYTlvaLlvI/jgaflh7rlipvjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE2Cittc2dpZCAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxkZXY+IC4uLl0gICBsaXN0IGdlb21ldHJ5IG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCBbPGRldj4gLi4uXSAgICAgICAgICAgIGxpc3QgcGFydGl0aW9ucyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAg44OR44O844OG44Kj44K344On44Oz5LiA6Kan44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxOAorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbGlzdC1mcmVlIFs8ZGV2PiAuLi5dICAgICAgIGxpc3QgdW5wYXJ0aXRpb25lZCBmcmVlIGFyZWFzIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICDjg5Hjg7zjg4bjgqPjgrfjg6fjg7PkuIDopqfjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE5CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZW9yZGVyIDxkZXY+ICAgICAgICAgICAgICAgZml4IHBhcnRpdGlvbnMgb3JkZXIgKGJ5IHN0YXJ0IG9mZnNldClcbiIKK21zZ3N0ciAiIC1hLCAtLWFkZCAgICAgICAgICAgIOaMh+WumuOBl+OBn+ODkeODvOODhuOCo+OCt+ODp+ODs+OAgeOBvuOBn+OBr+OBmeOBueOBpuOBruODkeODvOODhuOCo+OCt+ODp+ODs+OCkui/veWKoOOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjAKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNob3ctc2l6ZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHNpemVzIG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICDlhajjgabjgIHjgoLjgZfjgY/jga/mjIflrprjgZfjgZ/jg4fjg5DjgqTjgrnjga7mg4XloLHjgpLkuIDopqfjgafooajnpLrjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIxCisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJlY29nbml6ZWQgdHlwZXMgKHNlZSAtWClcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICDliqDlt6XjgpLooYzjgarjgo/jgZrjgavjg6Hjg4Pjgrvjg7zjgrjjg5Djg4Pjg5XjgqHjgpLlh7rlipvjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIyCisjLCBmdXp6eQorbXNnaWQgIiAtViwgLS12ZXJpZnkgWzxkZXY+IC4uLl0gICAgICAgICAgdGVzdCB3aGV0aGVyIHBhcnRpdGlvbnMgc2VlbSBjb3JyZWN0XG4iCittc2dzdHIgIiAtViwgLS12ZXJpZnkgICAgICAgICAgICAgICAgICAgICAg44OR44O844OG44Kj44K344On44Oz44GM5pW05ZCI44GX44Gm44GE44KL44GL44OG44K544OI44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMworIywgZnV6enkKK21zZ2lkICIgICAgIC0tZGVsZXRlIDxkZXY+IFs8cGFydD4gLi4uXSAgIGRlbGV0ZSBhbGwgb3Igc3BlY2lmaWVkIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIC0tcGFydC10eXBlIDxkZXY+IDxwYXJ0PiBbPHR5cGU+XSDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjgr/jgqTjg5fjgpLooajnpLrjgb7jgZ/jga/lpInmm7TjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI2Cittc2dpZCAiIC0tcGFydC1sYWJlbCA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGxhYmVsXG4iCittc2dzdHIgIiAtLXBhcnQtbGFiZWwgPGRldj4gPHBhcnQ+IFs85paH5a2X5YiXPl0g44OR44O844OG44Kj44K344On44Oz44Op44OZ44Or44KS6KGo56S644G+44Gf44Gv5aSJ5pu044GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNworbXNnaWQgIiAtLXBhcnQtdHlwZSA8ZGV2PiA8cGFydD4gWzx0eXBlPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiAtLXBhcnQtdHlwZSA8ZGV2PiA8cGFydD4gWzx0eXBlPl0g44OR44O844OG44Kj44K344On44Oz44K/44Kk44OX44KS6KGo56S644G+44Gf44Gv5aSJ5pu044GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyOAorbXNnaWQgIiAtLXBhcnQtdXVpZCA8ZGV2PiA8cGFydD4gWzx1dWlkPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB1dWlkXG4iCittc2dzdHIgIiAtLXBhcnQtdXVpZCA8ZGV2PiA8cGFydD4gWzx1dWlkPl0g44OR44O844OG44Kj44K344On44Oz44GuVVVJROOCkuihqOekuuOBvuOBn+OBr+WkieabtOOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjkKK21zZ2lkICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gYXR0cmlidXRlc1xuIgorbXNnc3RyICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPOaWh+Wtl+WIlz5dIOODkeODvOODhuOCo+OCt+ODp+ODs+OBruWxnuaAp+OCkuihqOekuuOBvuOBn+OBr+WkieabtOOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzIKK21zZ2lkICIgPGRldj4gICAgICAgICAgICAgICAgICAgICBkZXZpY2UgKHVzdWFsbHkgZGlzaykgcGF0aFxuIgorbXNnc3RyICIgPGRldj4gICAgICAgICAgICAgICAgICAgICDjg4fjg5DjgqTjgrnvvIjpgJrluLjjga/jg4fjgqPjgrnjgq/vvInjga7jg5HjgrlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODMzCittc2dpZCAiIDxwYXJ0PiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgPHBhcnQ+ICAgICAgICAgICAgICAgICAgICDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pnlarlj7dcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM0Cittc2dpZCAiIDx0eXBlPiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIHR5cGUsIEdVSUQgZm9yIEdQVCwgaGV4IGZvciBNQlJcbiIKK21zZ3N0ciAiIDx0eXBlPiAgICAgICAgICAgICAgICAgICAg44OR44O844OG44Kj44K344On44Oz44Gu44K/44Kk44OX44CBR1BUIOOBp+OBryBHVUlE44CBTUJSIOOBp+OBrzE26YCy5pWwXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzNworIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICBhcHBlbmQgcGFydGl0aW9ucyB0byBleGlzdGluZyBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiIC16LCAtLXplcm8gICAgICAgICAgICAgICDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjg4bjg7zjg5bjg6vjgpLmnIDliJ3jgYvjgonkvZzmiJDjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM4CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1iYWNrdXAgICAgICAgICAgICAgIGJhY2t1cCBwYXJ0aXRpb24gdGFibGUgc2VjdG9ycyAoc2VlIC1PKVxuIgorbXNnc3RyICIgLXQsIC0tdHlwZSA856iu6aGePiAgICAgICAgICAgICDmjIflrprjgZfjgZ/nqK7poZ7jga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjg4bjg7zjg5bjg6vjga7jgb/jgpLoqo3orZjjgZXjgZvjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAg5Y+v6Kqt5oCn44Gu6auY44GE5b2i5byP44Gn44Gv44Gq44GP44CB44OQ44Kk44OI5Y2Y5L2N44Gn44K144Kk44K644KS6KGo56S644GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MAorbXNnaWQgIiAgICAgLS1tb3ZlLWRhdGFbPTx0eXBlc2NyaXB0Pl0gbW92ZSBwYXJ0aXRpb24gZGF0YSBhZnRlciByZWxvY2F0aW9uIChyZXF1aXJlcyAtTilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDEKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAg44GZ44G544Gm44Gu44Kr44Km44Oz44K/44KS44Oq44K744OD44OI44GX44G+44GZIChyb290IOOBruOBvylcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTzjgYTjgaQ+XSAgICAg44Oh44OD44K744O844K444KS6Imy44Gl44GR44GX44G+44GZKGF1dG/jgIFhbHdheXPjgIFuZXZlciDjga7jganjgozjgYspXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NQorIywgZnV6enkKK21zZ2lkICIgLU4sIC0tcGFydG5vIDxudW0+ICAgICAgICBzcGVjaWZ5IHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiIC1ILCAtLWhlYWRzIDzmlbDlgKQ+ICAgICAgICAgICAg44OY44OD44OJ5pWw44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NgorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHdyaXRlIHRvIGRldmljZVxuIgorbXNnc3RyICIgLW4sIC0tbm8tYWN0ICAgICAgICAgICAgICDjg4fjg5DjgqTjgrnjgavmm7jjgY3ovrzjgb7jgarjgYTjgZPjgajku6XlpJbjga/pgJrluLjjgavli5XkvZzjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ3Cittc2dpZCAiICAgICAtLW5vLXJlcmVhZCAgICAgICAgICAgZG8gbm90IGNoZWNrIHdoZXRoZXIgdGhlIGRldmljZSBpcyBpbiB1c2VcbiIKK21zZ3N0ciAiICAgICAtLW5vY2xlYXIgICAgICAgICAgICAg44OH44OQ44Kk44K544GM5L2/55So5Lit44GL44Gp44GG44GL56K66KqN44GX44G+44Gb44KTXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm8tdGVsbC1rZXJuZWwgICAgICBkbyBub3QgdGVsbCBrZXJuZWwgYWJvdXQgY2hhbmdlc1xuIgorbXNnc3RyICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAg44OS44Oz44OI44KS6KGo56S644GX44Gq44GE44KI44GG44Gr44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OQorbXNnaWQgIiAtTywgLS1iYWNrdXAtZmlsZSA8cGF0aD4gIG92ZXJyaWRlIGRlZmF1bHQgYmFja3VwIGZpbGUgbmFtZVxuIgorbXNnc3RyICIgLU8sIC0tYmFja3VwLWZpbGUgPHBhdGg+ICDjg4fjg5Xjgqnjg6vjg4jjga7jg5Djg4Pjgq/jgqLjg4Pjg5fjg5XjgqHjgqTjg6vlkI3jgafjga/jgarjgY/jgIHmjIflrprjgZfjgZ/jg5HjgrnjgpLkvb/jgYTjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUwCittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAg5Ye65Yqb44GZ44KL5YiX44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIGV4dHJhIGluZm8gbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAg5Ye65Yqb44GZ44KL44Oh44OD44K744O844K444Gu6YeP44KS5oqR44GI44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MgorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLXcsIC0td2lwZSA844Oi44O844OJPiAgICAgICDnvbLlkI3jgpLmtojljrvjgZnjgosgKGF1dG8sIGFsd2F5cywgbmV2ZXIg44Gu44Gp44KM44GLKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTQKK21zZ2lkICIgLVgsIC0tbGFiZWwgPG5hbWU+ICAgICAgICBzcGVjaWZ5IGxhYmVsIHR5cGUgKGRvcywgZ3B0LCAuLi4pXG4iCittc2dzdHIgIiAtWCwgLS1sYWJlbCA85ZCN5YmNPiAgICAgICAg44Op44OZ44Or44Gu44K/44Kk44OX44KS5oyH5a6a44GX44G+44GZKERPUywgR1BULCAuLi4pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NQorIywgZnV6enkKK21zZ2lkICIgLVksIC0tbGFiZWwtbmVzdGVkIDxuYW1lPiBzcGVjaWZ5IG5lc3RlZCBsYWJlbCB0eXBlIChkb3MsIGJzZClcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGUgPOOCv+OCpOODlz4gIOODkeODvOODhuOCo+OCt+ODp+ODs+OBrueorumhnuOCkuaMh+WumuOBl+OBvuOBmSAoZG9zLCBic2QsIHNvbGFyaXMg44Gq44GpKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTcKK21zZ2lkICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBkZXByZWNhdGVkLCBhbGlhcyB0byAtLXNob3ctZ2VvbWV0cnlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTgKK21zZ2lkICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4iCittc2dzdHIgIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIOmdnuaOqOWlqOOAgeW+jOaWueS6kuaPm+aAp+OBruOBn+OCgeOBruOBv+OBq+eUqOaEj+OBleOCjOOBpuOBhOOBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTkKK21zZ2lkICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IHNlY3RvciB1bml0IGlzIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICDpnZ7mjqjlpajjgIHjgrvjgq/jgr/ljZjkvY3jga7mk43kvZzjga7jgb/jgrXjg53jg7zjg4jjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYzIGxvZ2luLXV0aWxzL2NoZm4uYzoxMDIgbG9naW4tdXRpbHMvY2hzaC5jOjc5Cittc2dpZCAiIC12LCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAtdiwgLS12ZXJzaW9uICDjg5Djg7zjgrjjg6fjg7Pmg4XloLHjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxOTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIlcyDjga/pnZ7mjqjlpajjgafjgZnjgIItLXBhcnQtdHlwZSDjgpLkvb/nlKjjgZfjgabjgY/jgaDjgZXjgYQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk3MworbXNnaWQgIi0taWQgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIi0taWQg44Gv6Z2e5o6o5aWo44Gn44GZ44CCIC0tcGFydC10eXBlIOOCkuS9v+eUqOOBl+OBpuOBj+OBoOOBleOBhCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxOTg5Cittc2dpZCAiLS1zaG93LXB0LWdlb21ldHJ5IGlzIG5vIG1vcmUgaW1wbGVtZW50ZWQuIFVzaW5nIC0tc2hvdy1nZW9tZXRyeS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDAwCittc2dpZCAiLS1MaW51eCBvcHRpb24gaXMgdW5uZWNlc3NhcnkgYW5kIGRlcHJlY2F0ZWQiCittc2dzdHIgIi0tTGludXgg44Kq44OX44K344On44Oz44Gv5LiN6KaB44Gn6Z2e5o6o5aWo44Gn44GZIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgdW5pdCAnJWMnIgorbXNnc3RyICLjgrXjg53jg7zjg4jjgZfjgabjgYTjgarjgYTljZjkvY0gJyVjJyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDMyIGluY2x1ZGUvYy5oOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzXG4iCittc2dzdHIgIiVzIGZyb20gJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMTA5Cittc2dpZCAiLS1tb3ZlZGF0YSByZXF1aXJlcyAtTiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBVVUlEOiAlcyIKK21zZ3N0ciAiVVVJRCDjga7lh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ86ICVzIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIFVVSUQiCittc2dzdHIgIiVzOiDjgrnjg6/jg4Pjg5cgVVVJRCDjgpLlj5blvpfjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBVVUlEIgorbXNnc3RyICIlczogVVVJRCDjga7mm7jjgY3ovrzjgb/jgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgbGFiZWwgIgorbXNnc3RyICIlczog44K544Ov44OD44OX44Op44OZ44Or44KS5Y+W5b6X44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgImxhYmVsIGlzIHRvbyBsb25nLiBUcnVuY2F0aW5nIGl0IHRvICclcyciCittc2dzdHIgIuODqeODmeODq+OBjOmVt+OBmeOBjuOBvuOBmeOAgiAnJXMnIOOBq+WIh+OCiuipsOOCgeOBvuOBmeOAgiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIGxhYmVsIgorbXNnc3RyICIlczog44Op44OZ44Or44Gu5pu444GN6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyMQorbXNnaWQgIkRpc3BsYXkgb3IgY2hhbmdlIHRoZSBsYWJlbCBvciBVVUlEIG9mIGEgc3dhcCBhcmVhLlxuIgorbXNnc3RyICLjgrnjg6/jg4Pjg5fpoJjln5/jga7jg6njg5njg6vjgb7jgZ/jga8gVVVJRCDjgpLooajnpLrjgIHlpInmm7TjgZfjgb7jgZnjgIJcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjQKK21zZ2lkICIiCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gc3BlY2lmeSBhIG5ldyBsYWJlbFxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgIHNwZWNpZnkgYSBuZXcgdXVpZFxuIgorbXNnc3RyICIiCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4g5paw44GX44GE44Op44OZ44Or44KS5oyH5a6a44GX44G+44GZXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAg5paw44GX44GEIHV1aWQg44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTY3Cittc2dpZCAiaWdub3JlIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQpIgorbXNnc3RyICItVSDjgpLnhKHoppbjgZfjgb7jgZkgKFVVSUQg44Gr44Gv5a++5b+c44GX44Gm44GE44G+44Gb44KTKSIKKworIzogaW5jbHVkZS9jLmg6Mjk5Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorbXNnc3RyICIiCisiXG4iCisi5L2/44GE5pa5OlxuIgorCisjOiBpbmNsdWRlL2MuaDozMDAKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIuOCquODl+OCt+ODp+ODszpcbiIKKworIzogaW5jbHVkZS9jLmg6MzAyCittc2dpZCAiIC1oLCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAtaCwgLS1oZWxwICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKworIzogaW5jbHVkZS9jLmg6MzAzCittc2dpZCAiIC1WLCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAtViwgLS12ZXJzaW9uICDjg5Djg7zjgrjjg6fjg7Pmg4XloLHjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKworIzogaW5jbHVkZS9jLmg6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJGb3IgbW9yZSBkZXRhaWxzIHNlZSAlcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIuips+OBl+OBj+OBryAlcyDjgpLjgYroqq3jgb/jgY/jgaDjgZXjgYTjgIJcbiIKKworIzogaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ2IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0OCBsb2dpbi11dGlscy92aXB3LmM6MjczCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjkyIHN5cy11dGlscy9ydGN3YWtlLmM6MjgwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjgwNQorIzogdGV4dC11dGlscy9jb2wuYzoxNTcKK21zZ2lkICJ3cml0ZSBlcnJvciIKK21zZ3N0ciAi5pu444GN6L6844G/44Ko44Op44O844Gn44GZIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI3Cittc2dpZCAiY29sb3JzIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyOQorbXNnaWQgImNvbG9ycyBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2Vudi5oOjE4IGxpYi9wYWdlci5jOjE1MSBsb2dpbi11dGlscy9sb2dpbi5jOjEwNTIKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTA1NiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MjkKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTE2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgZW52aXJvbm1lbnQgdmFyaWFibGUiCittc2dzdHIgIiVzIOizh+a6kOODquODn+ODg+ODiOOBruioreWumuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogaW5jbHVkZS9vcHR1dGlscy5oOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGVzZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmU6IgorbXNnc3RyICIlczog44GT44KM44KJ44Gu44Kq44OX44K344On44Oz44Gv5ZCM5pmC44Gr5oyH5a6a44GZ44KL44GT44Go44Gv44Gn44GN44G+44Gb44KTOiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MQorbXNnaWQgIkVtcHR5IgorbXNnc3RyICLnqboiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIKK21zZ2lkICJGQVQxMiIKK21zZ3N0ciAiRkFUMTIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMKK21zZ2lkICJYRU5JWCByb290IgorbXNnc3RyICJYRU5JWCByb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0Cittc2dpZCAiWEVOSVggdXNyIgorbXNnc3RyICJYRU5JWCB1c3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUKK21zZ2lkICJGQVQxNiA8MzJNIgorbXNnc3RyICJGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2Cittc2dpZCAiRXh0ZW5kZWQiCittc2dzdHIgIuaLoeW8temgmOWfnyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NworbXNnaWQgIkZBVDE2IgorbXNnc3RyICJGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OAorbXNnaWQgIkhQRlMvTlRGUy9leEZBVCIKK21zZ3N0ciAiSFBGUy9OVEZTL2V4RkFUIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5Cittc2dpZCAiQUlYIgorbXNnc3RyICJBSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwCittc2dpZCAiQUlYIGJvb3RhYmxlIgorbXNnc3RyICJBSVgg6LW35YuV5Y+v6IO9IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMQorbXNnaWQgIk9TLzIgQm9vdCBNYW5hZ2VyIgorbXNnc3RyICJPUy8yIOODluODvOODiOODnuODjeODvOOCuOODoyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTIKK21zZ2lkICJXOTUgRkFUMzIiCittc2dzdHIgIlc5NSBGQVQzMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTMKK21zZ2lkICJXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIlc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTQKK21zZ2lkICJXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIlc5NSBGQVQxNiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTUKK21zZ2lkICJXOTUgRXh0J2QgKExCQSkiCittc2dzdHIgIlc5NSDmi6HlvLXpoJjln58gKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE2Cittc2dpZCAiT1BVUyIKK21zZ3N0ciAiT1BVUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTcKK21zZ2lkICJIaWRkZW4gRkFUMTIiCittc2dzdHIgIumaoOOBlyBGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTgKK21zZ2lkICJDb21wYXEgZGlhZ25vc3RpY3MiCittc2dzdHIgIkNvbXBhcSDoqLrmlq0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE5Cittc2dpZCAiSGlkZGVuIEZBVDE2IDwzMk0iCittc2dzdHIgIumaoOOBlyBGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMAorbXNnaWQgIkhpZGRlbiBGQVQxNiIKK21zZ3N0ciAi6Zqg44GXIEZBVDE2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMQorbXNnaWQgIkhpZGRlbiBIUEZTL05URlMiCittc2dzdHIgIumaoOOBlyBIUEZTL05URlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIyCittc2dpZCAiQVNUIFNtYXJ0U2xlZXAiCittc2dzdHIgIkFTVCBTbWFydFNsZWVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMworbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIiCittc2dzdHIgIumaoOOBlyBXOTUgRkFUMzIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI0Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAi6Zqg44GXIFc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjUKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICLpmqDjgZcgVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNgorbXNnaWQgIk5FQyBET1MiCittc2dzdHIgIk5FQyBET1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI3Cittc2dpZCAiSGlkZGVuIE5URlMgV2luUkUiCittc2dzdHIgIumaoOOBlyBOVEZTIFdpblJFIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOAorbXNnaWQgIlBsYW4gOSIKK21zZ3N0ciAiUGxhbiA5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOQorbXNnaWQgIlBhcnRpdGlvbk1hZ2ljIHJlY292ZXJ5IgorbXNnc3RyICJQYXJ0aXRpb25NYWdpYyDkv67lvqkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMwCittc2dpZCAiVmVuaXggODAyODYiCittc2dzdHIgIlZlbml4IDgwMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMQorbXNnaWQgIlBQQyBQUmVQIEJvb3QiCittc2dzdHIgIlBQQyBQUmVQIEJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMyCittc2dpZCAiU0ZTIgorbXNnc3RyICJTRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMzCittc2dpZCAiUU5YNC54IgorbXNnc3RyICJRTlg0LngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM0Cittc2dpZCAiUU5YNC54IDJuZCBwYXJ0IgorbXNnc3RyICJRTlg0Lngg56ysMuODkeODvOODiCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzUKK21zZ2lkICJRTlg0LnggM3JkIHBhcnQiCittc2dzdHIgIlFOWDQueCDnrKwz44OR44O844OIIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNgorbXNnaWQgIk9uVHJhY2sgRE0iCittc2dzdHIgIk9uVHJhY2sgRE0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM3Cittc2dpZCAiT25UcmFjayBETTYgQXV4MSIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzgKK21zZ2lkICJDUC9NIgorbXNnc3RyICJDUC9NIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOQorbXNnaWQgIk9uVHJhY2sgRE02IEF1eDMiCittc2dzdHIgIk9uVHJhY2sgRE02IEF1eDMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQwCittc2dpZCAiT25UcmFja0RNNiIKK21zZ3N0ciAiT25UcmFja0RNNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDEKK21zZ2lkICJFWi1Ecml2ZSIKK21zZ3N0ciAiRVotRHJpdmUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQyCittc2dpZCAiR29sZGVuIEJvdyIKK21zZ3N0ciAiR29sZGVuIEJvdyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDMKK21zZ2lkICJQcmlhbSBFZGlzayIKK21zZ3N0ciAiUHJpYW0gRWRpc2siCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkxCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OQorbXNnaWQgIlNwZWVkU3RvciIKK21zZ3N0ciAiU3BlZWRTdG9yIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NQorbXNnaWQgIkdOVSBIVVJEIG9yIFN5c1YiCittc2dzdHIgIkdOVSBIVVJEIOOBvuOBn+OBryBTeXNWIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NgorbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDI4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NworbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDM4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMzg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OAorbXNnaWQgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKK21zZ3N0ciAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OQorbXNnaWQgIlBDL0lYIgorbXNnc3RyICJQQy9JWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTAKK21zZ2lkICJPbGQgTWluaXgiCittc2dzdHIgIuWPpOOBhCBNaW5peCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTEKK21zZ2lkICJNaW5peCAvIG9sZCBMaW51eCIKK21zZ3N0ciAiTWluaXggLyDlj6TjgYQgTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUyCittc2dpZCAiTGludXggc3dhcCAvIFNvbGFyaXMiCittc2dzdHIgIkxpbnV4IOOCueODr+ODg+ODlyAvIFNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUzCittc2dpZCAiTGludXgiCittc2dzdHIgIkxpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NAorbXNnaWQgIk9TLzIgaGlkZGVuIG9yIEludGVsIGhpYmVybmF0aW9uIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU3Cittc2dpZCAiTGludXggZXh0ZW5kZWQiCittc2dzdHIgIkxpbnV4IOaLoeW8temgmOWfnyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTkKK21zZ2lkICJOVEZTIHZvbHVtZSBzZXQiCittc2dzdHIgIk5URlMg44Oc44Oq44Ol44O844Og44K744OD44OIIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MAorbXNnaWQgIkxpbnV4IHBsYWludGV4dCIKK21zZ3N0ciAiTGludXgg44OX44Os44O844Oz44OG44Kt44K544OIIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjA1IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MworIzogbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggTFZNIgorbXNnc3RyICJMaW51eCBMVk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYyCittc2dpZCAiQW1vZWJhIgorbXNnc3RyICJBbW9lYmEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYzCittc2dpZCAiQW1vZWJhIEJCVCIKK21zZ3N0ciAiQW1vZWJhIEJCVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjQKK21zZ2lkICJCU0QvT1MiCittc2dzdHIgIkJTRC9PUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjUKK21zZ2lkICJJQk0gVGhpbmtwYWQgaGliZXJuYXRpb24iCittc2dzdHIgIklCTSBUaGlua3BhZCDjg4/jgqTjg5Djg43jg7zjgrfjg6fjg7MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY2Cittc2dpZCAiRnJlZUJTRCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjcKK21zZ2lkICJPcGVuQlNEIgorbXNnc3RyICJPcGVuQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OAorbXNnaWQgIk5lWFRTVEVQIgorbXNnc3RyICJOZVhUU1RFUCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjkKK21zZ2lkICJEYXJ3aW4gVUZTIgorbXNnc3RyICJEYXJ3aW4gVUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MAorbXNnaWQgIk5ldEJTRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MQorbXNnaWQgIkRhcndpbiBib290IgorbXNnc3RyICJEYXJ3aW4g44OW44O844OIIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MgorbXNnaWQgIkhGUyAvIEhGUysiCittc2dzdHIgIkhGUyAvIEhGUysiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjczCittc2dpZCAiQlNESSBmcyIKK21zZ3N0ciAiQlNESSBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzQKK21zZ2lkICJCU0RJIHN3YXAiCittc2dzdHIgIkJTREkg44K544Ov44OD44OXIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NQorbXNnaWQgIkJvb3QgV2l6YXJkIGhpZGRlbiIKK21zZ3N0ciAi6Zqg44GXIEJvb3QgV2l6YXJkIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NgorIywgZnV6enkKK21zZ2lkICJBY3JvbmlzIEZBVDMyIExCQSIKK21zZ3N0ciAiVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NyBsaWJmZGlzay9zcmMvZ3B0LmM6MjMwCittc2dpZCAiU29sYXJpcyBib290IgorbXNnc3RyICJTb2xhcmlzIOODluODvOODiCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzgKK21zZ2lkICJTb2xhcmlzIgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTEyKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MAorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2KSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTYpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MgorbXNnaWQgIlN5cmlueCIKK21zZ3N0ciAiU3lyaW54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MworbXNnaWQgIk5vbi1GUyBkYXRhIgorbXNnc3RyICLpnZ4gRlMg44OH44O844K/IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NAorbXNnaWQgIkNQL00gLyBDVE9TIC8gLi4uIgorbXNnc3RyICJDUC9NIC8gQ1RPUyAvIC4uLiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODYKK21zZ2lkICJEZWxsIFV0aWxpdHkiCittc2dzdHIgIkRlbGwg44Om44O844OG44Kj44Oq44OG44KjIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NworbXNnaWQgIkJvb3RJdCIKK21zZ3N0ciAiQm9vdEl0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4OAorbXNnaWQgIkRPUyBhY2Nlc3MiCittc2dzdHIgIkRPUyBhY2Nlc3MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkwCittc2dpZCAiRE9TIFIvTyIKK21zZ3N0ciAiRE9TIFIvTyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTMKKyMsIGZ1enp5Cittc2dpZCAiUnVmdXMgYWxpZ25tZW50IgorbXNnc3RyICIxIOOBpOebruOBruWApCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTQKK21zZ2lkICJCZU9TIGZzIgorbXNnc3RyICJCZU9TIGZzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NgorbXNnaWQgIkVGSSAoRkFULTEyLzE2LzMyKSIKK21zZ3N0ciAiRUZJIChGQVQtMTIvMTYvMzIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NworbXNnaWQgIkxpbnV4L1BBLVJJU0MgYm9vdCIKK21zZ3N0ciAiTGludXgvUEEtUklTQyDjg5bjg7zjg4giCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMAorbXNnaWQgIkRPUyBzZWNvbmRhcnkiCittc2dzdHIgIkRPUyDjgrvjgqvjg7Pjg4Djg6oiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMQorbXNnaWQgIlZNd2FyZSBWTUZTIgorbXNnc3RyICJWTXdhcmUgVk1GUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAyCittc2dpZCAiVk13YXJlIFZNS0NPUkUiCittc2dzdHIgIlZNd2FyZSBWTUtDT1JFIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDMgbGliZmRpc2svc3JjL3N1bi5jOjU1Cittc2dpZCAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorbXNnc3RyICJMaW51eCByYWlkIOiHquWLleaknOWHuiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA2Cittc2dpZCAiTEFOc3RlcCIKK21zZ3N0ciAiTEFOc3RlcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA3Cittc2dpZCAiQkJUIgorbXNnc3RyICJCQlQiCisKKyM6IGxpYi9ibGtkZXYuYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXMgaXMgbWlzYWxpZ25lZCIKK21zZ3N0ciAi6K2m5ZGKOiAlcyDjga7looPnlYzjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2NzIKK21zZ2lkICJDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJpb2N0bCgpIOOCkuWRvOOBs+WHuuOBl+OBpuODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOCkuWGjeiqreOBv+i+vOOBv+OBl+OBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2FsaWdubWVudC5jOjY4MQorbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjga7lho3oqq3jgb/ovrzjgb/jgavlpLHmlZfjgZfjgb7jgZfjgZ/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2ODMKK21zZ2lkICJUaGUga2VybmVsIHN0aWxsIHVzZXMgdGhlIG9sZCB0YWJsZS4gVGhlIG5ldyB0YWJsZSB3aWxsIGJlIHVzZWQgYXQgdGhlIG5leHQgcmVib290IG9yIGFmdGVyIHlvdSBydW4gcGFydHByb2JlKDgpIG9yIGtwYXJ0eCg4KS4iCittc2dzdHIgIuOCq+ODvOODjeODq+OBr+WPpOOBhOaDheWgseOCkuS9v+eUqOOBl+OBpuOBhOOBvuOBmeOAguaWsOOBl+OBhOaDheWgseOCkuWIqeeUqOOBmeOCi+OBq+OBr+OAgeOCt+OCueODhuODoOOCkuWGjei1t+WLleOBmeOCi+OBi+OAgeOCguOBl+OBj+OBryBwYXJ0cHJvYmUoOCkg44G+44Gf44GvIGtwYXJ0eCg4KSDjgpLlrp/ooYzjgZfjgabjgY/jgaDjgZXjgYTjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0NzIgbGliZmRpc2svc3JjL2Fzay5jOjQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3RlZCBwYXJ0aXRpb24gJWp1IgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJWp1IOOCkumBuOaKniIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ3NQorbXNnaWQgIk5vIHBhcnRpdGlvbiBpcyBkZWZpbmVkIHlldCEiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBr+S9leOCguioreWumuOBleOCjOOBpuOBhOOBvuOBm+OCk++8gSIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ4NworbXNnaWQgIk5vIGZyZWUgcGFydGl0aW9uIGF2YWlsYWJsZSEiCittc2dzdHIgIuepuuOBjeODkeODvOODhuOCo+OCt+ODp+ODs+OBjOOBguOCiuOBvuOBm+OCk++8gSIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ5NworbXNnaWQgIlBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+eVquWPtyIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjk5NAorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IHBhcnRpdGlvbiAlZCBvZiB0eXBlICclcycgYW5kIG9mIHNpemUgJXMuIgorbXNnc3RyICLmlrDjgZfjgYTjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJWQg44KS44K/44Kk44OXICVz44CB44K144Kk44K6ICVzIOOBp+S9nOaIkOOBl+OBvuOBl+OBn+OAgiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE2NgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXpkOiBoYXMgaW52YWxpZCBzdGFydGluZyBzZWN0b3IgMC4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyAlemQg44Gu6ZaL5aeL54K544K744Kv44K/44GM5LiN5q2j44Gq5YCkICgwKSDjgavjgarjgaPjgabjgYTjgb7jgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlcmUgaXMgbm8gKkJTRCBwYXJ0aXRpb24gb24gJXMuIgorbXNnc3RyICIlcyDjgavjga8gKkJTRCDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga/jgYLjgorjgb7jgZvjgpPjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTkgbGliZmRpc2svc3JjL2Rvcy5jOjkzMworbXNnaWQgIkZpcnN0IGN5bGluZGVyIgorbXNnc3RyICLmnIDliJ3jga7jgrfjg6rjg7Pjg4AiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTIgbGliZmRpc2svc3JjL2Rvcy5jOjExNjEKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIuacgOW+jOOBruOCt+ODquODs+ODgCwgK+OCt+ODquODs+ODgOeVquWPt+OBvuOBn+OBryAr44K144Kk44K6e0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTcgbGliZmRpc2svc3JjL2Rvcy5jOjExNjYgbGliZmRpc2svc3JjL2dwdC5jOjIyNTUKK21zZ2lkICJMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAi5pyA57WC44K744Kv44K/LCAr44K744Kv44K/55Wq5Y+3IOOBvuOBn+OBryAr44K144Kk44K6e0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRldmljZSAlcyBkb2VzIG5vdCBjb250YWluIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICLjg4fjg5DjgqTjgrkgJXMg44Gr44GvIEJTRCDjg4fjgqPjgrnjgq/jg6njg5njg6vjgYzjgYLjgorjgb7jgZvjgpPjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODMKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBjcmVhdGUgYSBCU0QgZGlza2xhYmVsPyIKK21zZ3N0ciAiQlNEIOODh+OCo+OCueOCr+ODqeODmeODq+OCkuS9nOaIkOOBl+OBvuOBmeOBiz8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NDkKK21zZ2lkICJEaXNrIgorbXNnc3RyICLjg4fjgqPjgrnjgq8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NTYKK21zZ2lkICJQYWNrbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDYzIGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE3Cittc2dpZCAiRmxhZ3MiCittc2dzdHIgIuODleODqeOCsCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NgorbXNnaWQgIiByZW1vdmFibGUiCittc2dzdHIgIiDlj5bjgorlh7rjgZflj6/og70iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjcKK21zZ2lkICIgZWNjIgorbXNnc3RyICIgZWNjIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY4Cittc2dpZCAiIGJhZHNlY3QiCittc2dzdHIgIiBiYWRzZWN0IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDc2Cittc2dpZCAiQnl0ZXMvU2VjdG9yIgorbXNnc3RyICLjg5DjgqTjg4gv44K744Kv44K/IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDgxCittc2dpZCAiVHJhY2tzL0N5bGluZGVyIgorbXNnc3RyICLjg4jjg6njg4Pjgq8v44K344Oq44Oz44OAIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDg2Cittc2dpZCAiU2VjdG9ycy9DeWxpbmRlciIKK21zZ3N0ciAi44K744Kv44K/L+OCt+ODquODs+ODgCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5MSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOCBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMworIzogbGliZmRpc2svc3JjL3NnaS5jOjExNTcgbGliZmRpc2svc3JjL3N1bi5jOjE5NiBsaWJmZGlzay9zcmMvc3VuLmM6MTExMworbXNnaWQgIkN5bGluZGVycyIKK21zZ3N0ciAi44K344Oq44Oz44OAIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDk2IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjAKK21zZ2lkICJScG0iCittc2dzdHIgIuWbnui7ouaVsCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMSBsaWJmZGlzay9zcmMvc2dpLmM6MjkyIGxpYmZkaXNrL3NyYy9zdW4uYzo3ODAKK21zZ2lkICJJbnRlcmxlYXZlIgorbXNnc3RyICLjgqTjg7Pjgr/jg7zjg6rjg7zjg5YiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDYKK21zZ2lkICJUcmFja3NrZXciCittc2dzdHIgIuODiOODqeODg+OCr+ODu+OCueOCreODpeODvCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxMQorbXNnaWQgIkN5bGluZGVyc2tldyIKK21zZ3N0ciAi44K344Oq44Oz44OA44O744K544Kt44Ol44O8IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTE2Cittc2dpZCAiSGVhZHN3aXRjaCIKK21zZ3N0ciAi44OY44OD44OJ44K544Kk44OD44OBIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTIxCittc2dpZCAiVHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAi44OI44Op44OD44Kv6ZaT44K344O844KvIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjExCittc2dpZCAiYnl0ZXMvc2VjdG9yIgorbXNnc3RyICLjg5DjgqTjg4gv44K744Kv44K/IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE0Cittc2dpZCAic2VjdG9ycy90cmFjayIKK21zZ3N0ciAi44K744Kv44K/L+ODiOODqeODg+OCryIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNQorbXNnaWQgInRyYWNrcy9jeWxpbmRlciIKK21zZ3N0ciAi44OI44Op44OD44KvL+OCt+ODquODs+ODgCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNgorbXNnaWQgImN5bGluZGVycyIKK21zZ3N0ciAi44K344Oq44Oz44OA5pWwIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIwCittc2dpZCAic2VjdG9ycy9jeWxpbmRlciIKK21zZ3N0ciAi44K744Kv44K/L+OCt+ODquODs+ODgCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMworbXNnaWQgInJwbSIKK21zZ3N0ciAi5Zue6Lui5pWwIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI0Cittc2dpZCAiaW50ZXJsZWF2ZSIKK21zZ3N0ciAi44Kk44Oz44K/44O844Oq44O844OWIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI1Cittc2dpZCAidHJhY2tza2V3IgorbXNnc3RyICLjg4jjg6njg4Pjgq/jg7vjgrnjgq3jg6Xjg7wiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjYKK21zZ2lkICJjeWxpbmRlcnNrZXciCittc2dzdHIgIuOCt+ODquODs+ODgOODu+OCueOCreODpeODvCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOAorbXNnaWQgImhlYWRzd2l0Y2giCittc2dzdHIgIuODmOODg+ODieOCueOCpOODg+ODgSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOQorbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgIuODiOODqeODg+OCr+mWk+OCt+ODvOOCryIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdHN0cmFwIGZpbGUgJXMgc3VjY2Vzc2Z1bGx5IGxvYWRlZC4iCittc2dzdHIgIuODluODvOODiOOCueODiOODqeODg+ODl+ODleOCoeOCpOODqyAlcyDjga7oqq3jgb/ovrzjgb/jgavmiJDlip/jgZfjgb7jgZfjgZ/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwOiAlMSRzYm9vdCAtPiBib290JTEkcyAoZGVmYXVsdCAlMSRzKSIKK21zZ3N0ciAi44OW44O844OI44K544OI44Op44OD44OXOiAlMSRzYm9vdCAtPiBib290JTEkcyAo5pei5a6a5YCkICUxJHMpIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzA0Cittc2dpZCAiQm9vdHN0cmFwIG92ZXJsYXBzIHdpdGggZGlza2xhYmVsISIKK21zZ3N0ciAi44OW44O844OI44K544OI44Op44OD44OX44GM44OH44Kj44K544Kv44Op44OZ44Or44Go6YeN44Gq44Gj44Gm44GE44G+44GZ77yBIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcCBpbnN0YWxsZWQgb24gJXMuIgorbXNnc3RyICLjg5bjg7zjg4jjgrnjg4jjg6njg4Pjg5fjgpIgJXMg44Gr44Kk44Oz44K544OI44O844Or44GX44G+44GX44Gf44CCIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiAgKERvbid0IGZvcmdldCB0byB3cml0ZSB0aGUgJXMgZGlza2xhYmVsIHRvby4pIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuIgorbXNnc3RyICLjg4fjgqPjgrnjgq/jg6njg5njg6vjgpIgJXMg44Gr5pu444GN6L6844G/44G+44GX44Gf44CCIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTA5IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjY2Cittc2dpZCAiU3luY2luZyBkaXNrcy4iCittc2dzdHIgIuODh+OCo+OCueOCr+OCkuWQjOacn+OBl+OBpuOBhOOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk1MAorbXNnaWQgIkJTRCBsYWJlbCBpcyBub3QgbmVzdGVkIHdpdGhpbiBhIERPUyBwYXJ0aXRpb24uIgorbXNnc3RyICJCU0Qg44Op44OZ44Or44GvIERPUyDjg5Hjg7zjg4bjgqPjgrfjg6fjg7PlhoXjgaflhaXjgozlrZDjgavjgarjgaPjgabjgYTjgb7jgZvjgpPjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQlNEIHBhcnRpdGlvbiAnJWMnIGxpbmtlZCB0byBET1MgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIkJTRCDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJyVjJyDjgpIgRE9TIOODkeODvOODhuOCo+OCt+ODp+ODsyAlenUg44Gr44Oq44Oz44Kv44GX44G+44GX44Gf44CCIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNAorbXNnaWQgIlNsaWNlIgorbXNnc3RyICLjgrnjg6njgqTjgrkiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIxCittc2dpZCAiRnNpemUiCittc2dzdHIgIkZzaXplIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMgorbXNnaWQgIkJzaXplIgorbXNnc3RyICJCc2l6ZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjMKK21zZ2lkICJDcGciCittc2dzdHIgIkNwZyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NlIGRldmljZSBmYWlsZWQiCittc2dzdHIgIiVzOiDjg4fjg5DjgqTjgrnjga7jgq/jg63jg7zjgrrjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODI3Cittc2dpZCAiY3lsaW5kZXIiCittc2dpZF9wbHVyYWwgImN5bGluZGVycyIKK21zZ3N0clswXSAi44K344Oq44Oz44OAIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjgyOAorbXNnaWQgInNlY3RvciIKK21zZ2lkX3BsdXJhbCAic2VjdG9ycyIKK21zZ3N0clswXSAi44K744Kv44K/IgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjExMzEKK21zZ2lkICJJbmNvbXBsZXRlIGdlb21ldHJ5IHNldHRpbmcuIgorbXNnc3RyICLjgrjjgqrjg6Hjg4jjg6roqK3lrprjgYzkuI3lrozlhajjgafjgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTQKK21zZ2lkICJBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGhhdmUgYmVlbiBkZWZpbmVkIGFscmVhZHkuIgorbXNnc3RyICLlhajjgabjga7ln7rmnKzjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzoqK3lrprmuIjjgb/jgafjgZkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZXh0ZW5kZWQgcGFydGl0aW9uIHRhYmxlIChvZmZzZXQ9JWp1KSIKK21zZ3N0ciAi5ouh5by144OR44O844OG44Kj44K344On44Oz5oOF5aCxICjjgqrjg5Xjgrvjg4Pjg4g9JWp1KSDjga7oqq3jgb/ovrzjgb/jgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMjgKK21zZ2lkICJZb3UgY2FuIHNldCBnZW9tZXRyeSBmcm9tIHRoZSBleHRyYSBmdW5jdGlvbnMgbWVudS4iCittc2dzdHIgIueJueauiuapn+iDveOBi+OCieOCuOOCquODoeODiOODquOCkuOCu+ODg+ODiOOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjMzMQorbXNnaWQgIkRPUy1jb21wYXRpYmxlIG1vZGUgaXMgZGVwcmVjYXRlZC4iCittc2dzdHIgIkRPUyDkupLmj5vjg6Ljg7zjg4njga/lu4PmraLkuojlrprjgafjgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMzUKK21zZ2lkICJUaGUgZGV2aWNlIHByZXNlbnRzIGEgbG9naWNhbCBzZWN0b3Igc2l6ZSB0aGF0IGlzIHNtYWxsZXIgdGhhbiB0aGUgcGh5c2ljYWwgc2VjdG9yIHNpemUuIEFsaWduaW5nIHRvIGEgcGh5c2ljYWwgc2VjdG9yIChvciBvcHRpbWFsIEkvTykgc2l6ZSBib3VuZGFyeSBpcyByZWNvbW1lbmRlZCwgb3IgcGVyZm9ybWFuY2UgbWF5IGJlIGltcGFjdGVkLiIKK21zZ3N0ciAi44OH44OQ44Kk44K544GL44KJ5o+Q5L6b44GV44KM44Gf5oOF5aCx44Gr44KI44KL44Go44CB54mp55CG44K744Kv44K/44K144Kk44K644KI44KK44KC5bCP44GV44Gq6KuW55CG44K744Kv44K/44K144Kk44K644GM5o+Q5L6b44GV44KM44Gm44GE44G+44GZ44CC5oCn6IO944G444Gu5b2x6Z+/44KS6YG/44GR44KL44Gf44KB44CB54mp55CG44K744Kv44K/ICjjgb7jgZ/jga8gSS9PKSDjgavlkIjjgo/jgZvjgabjgrXjgqTjgrrlooPnlYzjgpLoqK3lrprjgZfjgabjgYrjgY/jgZPjgajjgpLjgYrli6fjgoHjgZfjgb7jgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDEKK21zZ2lkICJDeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4iCittc2dzdHIgIuOCt+ODquODs+ODgOOCkuihqOekuuWNmOS9jeOBqOOBmeOCi+OBk+OBqOOBr+mdnuaOqOWlqOOBp+OBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0OAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgc2l6ZSBvZiB0aGlzIGRpc2sgaXMgJXMgKCVqdSBieXRlcykuIERPUyBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IGNhbiBub3QgYmUgdXNlZCBvbiBkcml2ZXMgZm9yIHZvbHVtZXMgbGFyZ2VyIHRoYW4gJWx1IGJ5dGVzIGZvciAlbHUtYnl0ZSBzZWN0b3JzLiBVc2UgR1VJRCBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IChHUFQpLiIKK21zZ3N0ciAi44GT44Gu44OH44Kj44K544Kv44Gu44K144Kk44K644GvICVzICglanUg44OQ44Kk44OIKSDjgafjgZnjgIJET1Mg44OR44O844OG44Kj44K344On44Oz44OG44O844OW44Or5b2i5byP44Gn44GvICVsdSDjg5DjgqTjg4jku6XkuIrjga7jg4njg6njgqTjg5bjgavjga8g44K744Kv44K/44K144Kk44K6ICVsdSDjg5DjgqTjg4jjgpLkvb/nlKjjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZvjgpPjgIJHVUlEIOODkeODvOODhuOCo+OCt+ODp+ODs+ODhuODvOODluODqyAoR1BUKSDlvaLlvI/jgpLmjIflrprjgZfjgaboqK3lrprjgZfjgabjgY/jgaDjgZXjgYTjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MDMKK21zZ2lkICJCYWQgb2Zmc2V0IGluIHByaW1hcnkgZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAi5Z+65pys5ouh5by144OR44O844OG44Kj44K344On44Oz5YaF44Gr44CB5LiN5q2j44Gq44Kq44OV44K744OD44OI5YCk44GM6Kit5a6a44GV44KM44Gm44GE44G+44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIk9taXR0aW5nIHBhcnRpdGlvbnMgYWZ0ZXIgIyV6dS4gVGhleSB3aWxsIGJlIGRlbGV0ZWQgaWYgeW91IHNhdmUgdGhpcyBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICIjJXp1IOOCiOOCiuW+jOOBruODkeODvOODhuOCo+OCt+ODp+ODs+OCkuecgeeVpeOBl+OBvuOBl+OBn+OAguODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOCkuS/neWtmOOBmeOCi+OBqOOAgeecgeeVpeOBleOCjOOBn+WIhuOBruODkeODvOODhuOCo+OCt+ODp+ODs+OBjOWJiumZpOOBleOCjOOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJFeHRyYSBsaW5rIHBvaW50ZXIgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgsSAlenUg5YaF44Gr6L+95Yqg44Gu44Oq44Oz44Kv44Od44Kk44Oz44K/44GM5a2Y5Zyo44GX44Gm44GE44G+44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGRhdGEgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgsSAlenUg5YaF44Gr5a2Y5Zyo44GZ44KL6L+95Yqg44Gu44OH44O844K/44KS54Sh6KaW44GX44G+44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9taXR0aW5nIGVtcHR5IHBhcnRpdGlvbiAoJXp1KSIKK21zZ3N0ciAi56m644Gu44OR44O844OG44Kj44K344On44OzICglenUpIOOCkueEoeimluOBl+OBvuOBmSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY2NAorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IERPUyBkaXNrbGFiZWwgd2l0aCBkaXNrIGlkZW50aWZpZXIgMHglMDh4LiIKK21zZ3N0ciAi5paw44GX44GEIERPUyDjg4fjgqPjgrnjgq/jg6njg5njg6vjgpLkvZzmiJDjgZfjgb7jgZfjgZ/jgILorZjliKXlrZDjga8gMHglMDh4IOOBp+OBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY4NQorbXNnaWQgIkVudGVyIHRoZSBuZXcgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICLjg4fjgqPjgrnjgq/orZjliKXlrZDjgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2OTIKK21zZ2lkICJJbmNvcnJlY3QgdmFsdWUuIgorbXNnc3RyICLlgKTjgYzoqqTjgaPjgabjgYTjgb7jgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAweCUwOHggdG8gMHglMDh4LiIKK21zZ3N0ciAi44OH44Kj44K544Kv6K2Y5Yil5a2Q44KSIDB4JTA4eCDjgYvjgokgMHglMDh4IOOBq+WkieabtOOBl+OBvuOBl+OBn+OAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjc5MworIywgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBleHRlbmRlZCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICLkvZnliIbjgarmi6HlvLXjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1IOOCkueEoeimluOBl+OBvuOBmSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGZsYWcgMHglMDJ4JTAyeCBvZiBFQlIgKGZvciBwYXJ0aXRpb24gJXp1KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpLiIKK21zZ3N0ciAi54Sh5Yq544Gq44OV44Op44KwIDB4JTAyeCUwMngg44GM44OR44O844OG44Kj44K344On44OzICV6dSDjga4gRUJSIOOBq+ioreWumuOBleOCjOOBpuOBhOOBvuOBmeOAgncgKOabuOOBjei+vOOBvykg44Kz44Oe44Oz44OJ44KS5a6f6KGM44GZ44KL44Go44CB5L+u5q2j44GV44KM44G+44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6OTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIlN0YXJ0IHNlY3RvciAlanUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAi6ZaL5aeL44K744Kv44K/55Wq5Y+3ICVqdSDjgYznr4Tlm7LlpJbjga7lgKTjgafjgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMDI2IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTM2IGxpYmZkaXNrL3NyYy9zZ2kuYzo4MzkKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyAlenUg44Gv5a6a576p5riI44G/44Gn44GZ44CC5YaN6L+95Yqg44KS6KGM44GG44Gr44Gv44CB44G+44Ga5YmK6Zmk44GX44Gm44GP44Gg44GV44GE44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTA5NgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWxsdSBpcyBhbHJlYWR5IGFsbG9jYXRlZC4iCittc2dzdHIgIuOCu+OCr+OCvyAlbGx1IOOBr+aXouOBq+WJsuOCiuW9k+OBpua4iOOBv+OBp+OBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjExMzMgbGliZmRpc2svc3JjL2dwdC5jOjIxNDYKK21zZ2lkICJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlLiIKK21zZ3N0ciAi5Yip55So5Y+v6IO944Gq56m644GN44K744Kv44K/44GM44GC44KK44G+44Gb44KT44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICLoq5bnkIbjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1IOOCkui/veWKoOOBl+OBvuOBmSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY29udGFpbnMgc2VjdG9yIDAiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyAlenU6IOOCu+OCr+OCvyAwIOOBi+OCieWni+OBvuOBo+OBpuOBhOOBvuOBmSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaGVhZCAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlZCIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44OzICV6dTog44OY44OD44OJICVkIOOBr+acgOWkp+WApCAlZCDjgojjgorjgoLlpKfjgY3jgYTlgKTjgavjgarjgaPjgabjgYTjgb7jgZkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHNlY3RvciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1OiDjgrvjgq/jgr8gJWQg44Gv5pyA5aSn5YCkICVsbHUg44KI44KK44KC5aSn44GN44GE5YCk44Gr44Gq44Gj44Gm44GE44G+44GZIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMyNAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjeWxpbmRlciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1OiDjgrfjg6rjg7Pjg4AgJWQg44Gv5pyA5aSn5YCkICVsbHUg44KI44KK44KC5aSn44GN44GE5YCk44Gr44Gq44Gj44Gm44GE44G+44GZIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMzMAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBwcmV2aW91cyBzZWN0b3JzICV1IGRpc2FncmVlcyB3aXRoIHRvdGFsICV1IgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1OiDnm7TliY3jga7jgrvjgq/jgr8gJXUg44Gv5ZCI6KiI5YCkICV1IOOBqOS4gOiHtOOBl+OBvuOBm+OCkyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgYmVnaW5uaW5ncyAobm9uLUxpbnV4Pyk6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44OzICV6dTog55Ww44Gq44Gj44Gf54mp55CG77yP6KuW55CG6ZaL5aeL5L2N572u44Gr44Gq44Gj44Gm44GE44G+44GZIChMaW51eCDjgafjga/nhKHjgYQ/KTog54mp55CGPSglZCwgJWQsICVkKSwg6KuW55CGPSglZCwgJWQsICVkKSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgZW5kaW5nczogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1OiDniannkIbvvI/oq5bnkIbntYLnq6/jgYznlbDjgarjgaPjgabjgYTjgb7jgZk6IOeJqeeQhj0oJWQsICVkLCAlZCksIOirlueQhj0oJWQsICVkLCAlZCkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyAlenU6IOOCt+ODquODs+ODgOWig+eVjOOBp+e1guOCj+OBo+OBpuOBhOOBvuOBm+OCk+OAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogYmFkIHN0YXJ0LW9mLWRhdGEuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1OiDjg4fjg7zjgr/poJjln5/jga7lp4vngrnjgYznlbDluLjjgafjgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDQyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG92ZXJsYXBzIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1OiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1IOOBqOmHjeOBquOBo+OBpuOBhOOCi+mDqOWIhuOBjOOBguOCiuOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZW1wdHkuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1OiDnqbrjgY3poJjln5/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDczCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2ljYWwgcGFydGl0aW9uICV6dTogbm90IGVudGlyZWx5IGluIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICLoq5bnkIbjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1OiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1IOOBruWFqOmDqOOBp+OBr+OBguOCiuOBvuOBm+OCk+OAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVG90YWwgYWxsb2NhdGVkIHNlY3RvcnMgJWxsdSBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gJWxsdS4iCittc2dzdHIgIuWJsuOCiuW9k+OBpua4iOOBv+OCu+OCr+OCv+OBruWQiOioiOWApCAlbGx1IOOBjOOAgeacgOWkp+WApCAlbGx1IOOCiOOCiuOCguWkp+OBjeOBhOWApOOBq+OBquOBo+OBpuOBhOOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVtYWluaW5nICVsbGQgdW5hbGxvY2F0ZWQgJWxkLWJ5dGUgc2VjdG9ycy4iCittc2dzdHIgIuacquWJsuOCiuW9k+OBpuOBriAlMiRsZCDjg5DjgqTjg4jjgrvjgq/jgr/jgYwgJTEkbGxkIOWAi+OBguOCiuOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1MzIgbGliZmRpc2svc3JjL2Rvcy5jOjE5NTQKK21zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gYWxyZWFkeSBleGlzdHMuIgorbXNnc3RyICLmi6HlvLXjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga/ml6LjgavlrZjlnKjjgZfjgb7jgZkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTc1Cittc2dpZCAiVGhlIG1heGltdW0gbnVtYmVyIG9mIHBhcnRpdGlvbnMgaGFzIGJlZW4gY3JlYXRlZC4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBr+acgOWkp+aVsOOBvuOBp+S9nOaIkOa4iOOBv+OBp+OBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1ODcKK21zZ2lkICJBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIgorbXNnc3RyICLlhajjgabjga7ln7rmnKzjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzkvb/nlKjmuIjjgb/jgafjgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTg5IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjAwCittc2dpZCAiQWxsIHNwYWNlIGZvciBwcmltYXJ5IHBhcnRpdGlvbnMgaXMgaW4gdXNlLiIKK21zZ3N0ciAi5YWo44Gm44Gu5Z+65pys44OR44O844OG44Kj44K344On44Oz44GM5L2/55So5riI44G/44Gn44GZ44CCIgorCisjLiBUUkFOU0xBVE9SUzogVHJ5IHRvIGtlZXAgdGhpcyB3aXRoaW4gODAgY2hhcmFjdGVycy4KKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjAzCittc2dpZCAiVG8gY3JlYXRlIG1vcmUgcGFydGl0aW9ucywgZmlyc3QgcmVwbGFjZSBhIHByaW1hcnkgd2l0aCBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICLjgZPjgozku6XkuIrjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLkvZzmiJDjgZfjgZ/jgYTloLTlkIjjga/jgIHjgb7jgZrml6LlrZjjga7ln7rmnKzjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpIx44Gk44CB5ouh5by144OR44O844OG44Kj44K344On44Oz44Gr572u44GN5o+b44GI44Gm44GP44Gg44GV44GE44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYwOAorbXNnaWQgIkFsbCBsb2dpY2FsIHBhcnRpdGlvbnMgYXJlIGluIHVzZS4gQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb24uIgorbXNnc3RyICLjgZnjgbnjgabjga7oq5bnkIbjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzkvb/nlKjmuIjjgb/jgafjgZnjgILln7rmnKzjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLov73liqDjgZfjgabjgYTjgb7jgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjMwCittc2dpZCAiUGFydGl0aW9uIHR5cGUiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OCv+OCpOODlyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXp1IHByaW1hcnksICVkIGV4dGVuZGVkLCAlenUgZnJlZSIKK21zZ3N0ciAiJXp1IOODl+ODqeOCpOODnuODqiwgJWQg5ouh5by1LCAlenUg56m644GNIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzOQorbXNnaWQgInByaW1hcnkiCittc2dzdHIgIuWfuuacrOODkeODvOODhuOCo+OCt+ODp+ODsyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDEKK21zZ2lkICJleHRlbmRlZCIKK21zZ3N0ciAi5ouh5by16aCY5Z+fIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MQorbXNnaWQgImNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zIgorbXNnc3RyICLoq5bnkIbjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzlhaXjgorjgb7jgZkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQzCittc2dpZCAibG9naWNhbCIKK21zZ3N0ciAi6KuW55CG44OR44O844OG44Kj44K344On44OzIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MworbXNnaWQgIm51bWJlcmVkIGZyb20gNSIKK21zZ3N0ciAiNSDku6XkuIrjga7nlarlj7ciCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIHR5cGUgYCVjJy4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBrueorumhniBgJWMnIOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCk+OAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlIHNlY3RvciAlamQ6IHNlZWsgZmFpbGVkIgorbXNnc3RyICLjgrvjgq/jgr8gJWpkIOOBq+abuOOBjei+vOOCgeOBvuOBm+OCkzog44K344O844Kv44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTg1MiBsaWJmZGlzay9zcmMvZ3B0LmM6MTA5NgorbXNnaWQgIkRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAi44OH44Kj44K544Kv6K2Y5Yil5a2QIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1OQorbXNnaWQgIlR5cGUgMCBtZWFucyBmcmVlIHNwYWNlIHRvIG1hbnkgc3lzdGVtcy4gSGF2aW5nIHBhcnRpdGlvbnMgb2YgdHlwZSAwIGlzIHByb2JhYmx5IHVud2lzZS4iCittc2dzdHIgIuOCv+OCpOODlyAwIOOBr+WkmuOBj+OBruOCt+OCueODhuODoOOBp+epuuOBjemgmOWfn+OCkuaEj+WRs+OBl+OBvuOBmeOAguOCv+OCpOODlyAwIOODkeODvOODhuOCo+OCt+ODp+ODs+OCkuaMgeOBpOOBk+OBqOOBr+OAgeWkmuWIhuOBguOBvuOCiuizouOBhOmBuOaKnuOBp+OBr+OBguOCiuOBvuOBm+OCk+OAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE5NjQKK21zZ2lkICJDYW5ub3QgY2hhbmdlIHR5cGUgb2YgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiB3aGljaCBpcyBhbHJlYWR5IHVzZWQgYnkgbG9naWNhbCBwYXJ0aXRpb25zLiBEZWxldGUgbG9naWNhbCBwYXJ0aXRpb25zIGZpcnN0LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE0MyBsaWJmZGlzay9zcmMvZ3B0LmM6MjgyMQorbXNnaWQgIk5vdGhpbmcgdG8gZG8uIE9yZGVyaW5nIGlzIGNvcnJlY3QgYWxyZWFkeS4iCittc2dzdHIgIuOBmeOBueOBjeOBk+OBqOOBr+S9leOCguOBguOCiuOBvuOBm+OCk+OAguaXouOBq+ato+W4uOOBqumghuW6j+OBq+OBquOBo+OBpuOBhOOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogbm8gZGF0YSBhcmVhLiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44OzICV6dTog44OH44O844K/6aCY5Z+f44GM44GC44KK44G+44Gb44KT44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjIyMgorbXNnaWQgIk5ldyBiZWdpbm5pbmcgb2YgZGF0YSIKK21zZ3N0ciAi5paw6KaP44OH44O844K/6ZaL5aeL5L2N572uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBpcyBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1OiDmi6HlvLXjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgafjgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1IOOBrui1t+WLleODleODqeOCsOOCkuacieWKueOBq+OBl+OBvuOBl+OBn+OAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1IOOBrui1t+WLleODleODqeOCsOOCkueEoeWKueOBq+OBl+OBvuOBl+OBn+OAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyOTggbGliZmRpc2svc3JjL2dwdC5jOjI5MTEgbGliZmRpc2svc3JjL3NnaS5jOjExNTMKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTA5Cittc2dpZCAiRGV2aWNlIgorbXNnc3RyICLjg4fjg5DjgqTjgrkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjk5IGxpYmZkaXNrL3NyYy9zdW4uYzo0MQorbXNnaWQgIkJvb3QiCittc2dzdHIgIui1t+WLlSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDUgbGliZmRpc2svc3JjL3NnaS5jOjExNTkgbGliZmRpc2svc3JjL3N1bi5jOjExMTUKK21zZ2lkICJJZCIKK21zZ3N0ciAiSWQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzA5Cittc2dpZCAiU3RhcnQtQy9IL1MiCittc2dzdHIgIuWni+eCuSDjgrfjg6rjg7Pjg4Av44OY44OD44OJL+OCu+OCr+OCvyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTAKK21zZ2lkICJFbmQtQy9IL1MiCittc2dzdHIgIue1gueCuSDjgrfjg6rjg7Pjg4Av44OY44OD44OJL+OCu+OCr+OCvyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTEgbGliZmRpc2svc3JjL2dwdC5jOjI5MjEgbGliZmRpc2svc3JjL3NnaS5jOjExNjEKK21zZ2lkICJBdHRycyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYwCittc2dpZCAiRUZJIFN5c3RlbSIKK21zZ3N0ciAiRUZJIOOCt+OCueODhuODoCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MgorbXNnaWQgIk1CUiBwYXJ0aXRpb24gc2NoZW1lIgorbXNnc3RyICJNQlIg44OR44O844OG44Kj44K344On44Oz5b2i5byPIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzCittc2dpZCAiSW50ZWwgRmFzdCBGbGFzaCIKK21zZ3N0ciAiSW50ZWwgRmFzdCBGbGFzaCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2NgorbXNnaWQgIkJJT1MgYm9vdCIKK21zZ3N0ciAiQklPUyDotbfli5UiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjkKK21zZ2lkICJTb255IGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICJTT05ZIOi1t+WLleODkeODvOODhuOCo+OCt+ODp+ODsyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MAorbXNnaWQgIkxlbm92byBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiTGVub3ZvIOi1t+WLleODkeODvOODhuOCo+OCt+ODp+ODsyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MworIywgZnV6enkKK21zZ2lkICJQb3dlclBDIFBSZVAgYm9vdCIKK21zZ3N0ciAiUFBDIFBSZVAgQm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NgorIywgZnV6enkKK21zZ2lkICJPTklFIGJvb3QiCittc2dzdHIgIkJJT1Mg6LW35YuVIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc3Cittc2dpZCAiT05JRSBjb25maWciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MAorbXNnaWQgIk1pY3Jvc29mdCByZXNlcnZlZCIKK21zZ3N0ciAiTWljcm9zb2Z0IOS6iOe0hOmgmOWfnyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MQorbXNnaWQgIk1pY3Jvc29mdCBiYXNpYyBkYXRhIgorbXNnc3RyICJNaWNyb3NvZnQg5Z+65pys44OH44O844K/IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgyCittc2dpZCAiTWljcm9zb2Z0IExETSBtZXRhZGF0YSIKK21zZ3N0ciAiTWljcm9zb2Z0IExETSDjg6Hjgr/jg4fjg7zjgr8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODMKK21zZ2lkICJNaWNyb3NvZnQgTERNIGRhdGEiCittc2dzdHIgIk1pY3Jvc29mdCBMRE0g44OH44O844K/IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg0Cittc2dpZCAiV2luZG93cyByZWNvdmVyeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiV2luZG93cyDjg6rjgqvjg5Djg6rnkrDlooMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODUKK21zZ2lkICJJQk0gR2VuZXJhbCBQYXJhbGxlbCBGcyIKK21zZ3N0ciAiSUJNIOaxjueUqOODkeODqeODrOODqyBGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NgorbXNnaWQgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKK21zZ3N0ciAiTWljcm9zb2Z0IOiomOaGtuWfn+OCueODmuODvOOCuSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4OQorbXNnaWQgIkhQLVVYIGRhdGEiCittc2dzdHIgIkhQLVVYIOODh+ODvOOCvyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MAorbXNnaWQgIkhQLVVYIHNlcnZpY2UiCittc2dzdHIgIkhQLVVYIOOCteODvOODk+OCuSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MyBsaWJmZGlzay9zcmMvc2dpLmM6NjEgbGliZmRpc2svc3JjL3N1bi5jOjUyCittc2dpZCAiTGludXggc3dhcCIKK21zZ3N0ciAiTGludXgg44K544Ov44OD44OXIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk0Cittc2dpZCAiTGludXggZmlsZXN5c3RlbSIKK21zZ3N0ciAiTGludXgg44OV44Kh44Kk44Or44K344K544OG44OgIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk1Cittc2dpZCAiTGludXggc2VydmVyIGRhdGEiCittc2dzdHIgIkxpbnV4IOOCteODvOODkOODh+ODvOOCvyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NgorbXNnaWQgIkxpbnV4IHJvb3QgKHg4NikiCittc2dzdHIgIkxpbnV4IHJvb3QgKHg4NikiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcKK21zZ2lkICJMaW51eCByb290IChBUk0pIgorbXNnc3RyICJMaW51eCByb290IChBUk0pIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4Cittc2dpZCAiTGludXggcm9vdCAoeDg2LTY0KSIKK21zZ3N0ciAiTGludXggcm9vdCAoeDg2LTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OQorbXNnaWQgIkxpbnV4IHJvb3QgKEFSTS02NCkiCittc2dzdHIgIkxpbnV4IHJvb3QgKEFSTS02NCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAKKyMsIGZ1enp5Cittc2dpZCAiTGludXggcm9vdFx0KElBLTY0KSIKK21zZ3N0ciAiTGludXggcm9vdCAoQVJNLTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMQorbXNnaWQgIkxpbnV4IHJlc2VydmVkIgorbXNnc3RyICJMaW51eCDkuojntITpoJjln58iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDIKK21zZ2lkICJMaW51eCBob21lIgorbXNnc3RyICJMaW51eCDjg5vjg7zjg6AiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMgbGliZmRpc2svc3JjL3NnaS5jOjY0Cittc2dpZCAiTGludXggUkFJRCIKK21zZ3N0ciAiTGludXggUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNAorbXNnaWQgIkxpbnV4IGV4dGVuZGVkIGJvb3QiCittc2dzdHIgIkxpbnV4IOaLoeW8tei1t+WLlSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMgorbXNnaWQgIkZyZWVCU0QgZGF0YSIKK21zZ3N0ciAiRnJlZUJTRCDjg4fjg7zjgr8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTMKK21zZ2lkICJGcmVlQlNEIGJvb3QiCittc2dzdHIgIkZyZWVCU0Qg6LW35YuVIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0Cittc2dpZCAiRnJlZUJTRCBzd2FwIgorbXNnc3RyICJGcmVlQlNEIOOCueODr+ODg+ODlyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNQorbXNnaWQgIkZyZWVCU0QgVUZTIgorbXNnc3RyICJGcmVlQlNEIFVGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNgorbXNnaWQgIkZyZWVCU0QgWkZTIgorbXNnc3RyICJGcmVlQlNEIFpGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNworbXNnaWQgIkZyZWVCU0QgVmludW0iCittc2dzdHIgIkZyZWVCU0QgVmludW0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjAKK21zZ2lkICJBcHBsZSBIRlMvSEZTKyIKK21zZ3N0ciAiQXBwbGUgSEZTL0hGUysiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEKK21zZ2lkICJBcHBsZSBVRlMiCittc2dzdHIgIkFwcGxlIFVGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMgorbXNnaWQgIkFwcGxlIFJBSUQiCittc2dzdHIgIkFwcGxlIFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjMKK21zZ2lkICJBcHBsZSBSQUlEIG9mZmxpbmUiCittc2dzdHIgIkFwcGxlIFJBSUQg44Kq44OV44Op44Kk44OzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0Cittc2dpZCAiQXBwbGUgYm9vdCIKK21zZ3N0ciAiQXBwbGUg6LW35YuVIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1Cittc2dpZCAiQXBwbGUgbGFiZWwiCittc2dzdHIgIkFwcGxlIOODqeODmeODqyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNgorbXNnaWQgIkFwcGxlIFRWIHJlY292ZXJ5IgorbXNnc3RyICJBcHBsZSBUViDjg6rjgqvjg5Djg6oiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjcKK21zZ2lkICJBcHBsZSBDb3JlIHN0b3JhZ2UiCittc2dzdHIgIkFwcGxlIOOCs+OCouOCueODiOODrOODvOOCuCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMQorbXNnaWQgIlNvbGFyaXMgcm9vdCIKK21zZ3N0ciAiU29sYXJpcyDjg6vjg7zjg4giCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMKK21zZ2lkICJTb2xhcmlzIC91c3IgJiBBcHBsZSBaRlMiCittc2dzdHIgIlNvbGFyaXMgL3VzciDjgYrjgojjgbMgQXBwbGUgWkZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM0Cittc2dpZCAiU29sYXJpcyBzd2FwIgorbXNnc3RyICJTb2xhcmlzIOOCueODr+ODg+ODlyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNQorbXNnaWQgIlNvbGFyaXMgYmFja3VwIgorbXNnc3RyICJTb2xhcmlzIOODkOODg+OCr+OCouODg+ODlyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNgorbXNnaWQgIlNvbGFyaXMgL3ZhciIKK21zZ3N0ciAiU29sYXJpcyAvdmFyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM3Cittc2dpZCAiU29sYXJpcyAvaG9tZSIKK21zZ3N0ciAiU29sYXJpcyAvaG9tZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOAorbXNnaWQgIlNvbGFyaXMgYWx0ZXJuYXRlIHNlY3RvciIKK21zZ3N0ciAiU29sYXJpcyDku6Pmm7/jgrvjgq/jgr8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDEiCittc2dzdHIgIlNvbGFyaXMg5LqI57SE6aCY5Z+fIDEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDAKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDIiCittc2dzdHIgIlNvbGFyaXMg5LqI57SE6aCY5Z+fIDIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDEKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDMiCittc2dzdHIgIlNvbGFyaXMg5LqI57SE6aCY5Z+fIDMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDIKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDQiCittc2dzdHIgIlNvbGFyaXMg5LqI57SE6aCY5Z+fIDQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDMKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDUiCittc2dzdHIgIlNvbGFyaXMg5LqI57SE6aCY5Z+fIDUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDYKK21zZ2lkICJOZXRCU0Qgc3dhcCIKK21zZ3N0ciAiTmV0QlNEIOOCueODr+ODg+ODlyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NworbXNnaWQgIk5ldEJTRCBGRlMiCittc2dzdHIgIk5ldEJTRCBGRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgKK21zZ2lkICJOZXRCU0QgTEZTIgorbXNnc3RyICJOZXRCU0QgTEZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5Cittc2dpZCAiTmV0QlNEIGNvbmNhdGVuYXRlZCIKK21zZ3N0ciAiTmV0QlNEIOe1kOWQiOmgmOWfnyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MAorbXNnaWQgIk5ldEJTRCBlbmNyeXB0ZWQiCittc2dzdHIgIk5ldEJTRCDmmpflj7fljJbpoJjln58iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTEKK21zZ2lkICJOZXRCU0QgUkFJRCIKK21zZ3N0ciAiTmV0QlNEIFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTQKK21zZ2lkICJDaHJvbWVPUyBrZXJuZWwiCittc2dzdHIgIkNocm9tZU9TIOOCq+ODvOODjeODqyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NQorbXNnaWQgIkNocm9tZU9TIHJvb3QgZnMiCittc2dzdHIgIkNocm9tZU9TIOODq+ODvOODiCBGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NgorbXNnaWQgIkNocm9tZU9TIHJlc2VydmVkIgorbXNnc3RyICJDaHJvbWVPUyDkuojntITpoJjln58iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTkKK21zZ2lkICJNaWRuaWdodEJTRCBkYXRhIgorbXNnc3RyICJNaWRuaWdodEJTRCDjg4fjg7zjgr8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjAKK21zZ2lkICJNaWRuaWdodEJTRCBib290IgorbXNnc3RyICJNaWRuaWdodEJTRCDotbfli5UiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjEKK21zZ2lkICJNaWRuaWdodEJTRCBzd2FwIgorbXNnc3RyICJNaWRuaWdodEJTRCDjgrnjg6/jg4Pjg5ciCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjIKK21zZ2lkICJNaWRuaWdodEJTRCBVRlMiCittc2dzdHIgIk1pZG5pZ2h0QlNEIFVGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MworbXNnaWQgIk1pZG5pZ2h0QlNEIFpGUyIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgWkZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY0Cittc2dpZCAiTWlkbmlnaHRCU0QgVmludW0iCittc2dzdHIgIk1pZG5pZ2h0QlNEIFZpbnVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY3Cittc2dpZCAiQ2VwaCBKb3VybmFsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjgKK21zZ2lkICJDZXBoIEVuY3J5cHRlZCBKb3VybmFsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjkKK21zZ2lkICJDZXBoIE9TRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcwCittc2dpZCAiQ2VwaCBjcnlwdCBPU0QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MQorbXNnaWQgIkNlcGggZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcyCittc2dpZCAiQ2VwaCBjcnlwdCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzUKK21zZ2lkICJPcGVuQlNEIGRhdGEiCittc2dzdHIgIk9wZW5CU0Qg44OH44O844K/IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc4Cittc2dpZCAiUU5YNiBmaWxlIHN5c3RlbSIKK21zZ3N0ciAiUU5YNiDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6AiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyODEKK21zZ2lkICJQbGFuIDkgcGFydGl0aW9uIgorbXNnc3RyICJQbGFuIDkg44OR44O844OG44Kj44K344On44OzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NTQ3Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdQVCBoZWFkZXIiCittc2dzdHIgIkdQVOODmOODg+ODgOOBruWJsuOCiuW9k+OBpuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjYzMAorbXNnaWQgIkZpcnN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjY0MgorbXNnaWQgIkxhc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Nzc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHUFQgUE1CUiBzaXplIG1pc21hdGNoICglPFBSSXU2ND4gIT0gJTxQUkl1NjQ+KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpLiIKK21zZ3N0ciAiR1BUIFBNQlIg44Gu44K144Kk44K644GM5ZCI6Ie044GX44Gm44GE44G+44Gb44KTICgldSAhPSAldSkg44GM44CBdyAo5pu444GN6L6844G/KSDjgrPjg57jg7Pjg4njgafkv67mraPjgZXjgozjgb7jgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3OTIKK21zZ2lkICJncHQ6IHN0YXQoKSBmYWlsZWQiCittc2dzdHIgImdwdDogc3RhdCgpIOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjgwMgorIywgYy1mb3JtYXQKK21zZ2lkICJncHQ6IGNhbm5vdCBoYW5kbGUgZmlsZXMgd2l0aCBtb2RlICVvIgorbXNnc3RyICJncHQ6IOODouODvOODiSAlbyDjgYzoqK3lrprjgZXjgozjgZ/jg5XjgqHjgqTjg6vjgpLmibHjgYbjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMxIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTA2NAorbXNnaWQgIkdQVCBIZWFkZXIiCittc2dzdHIgIkdQVCDjg5jjg4Pjg4AiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMDY5Cittc2dpZCAiR1BUIEVudHJpZXMiCittc2dzdHIgIkdQVCDjgqjjg7Pjg4jjg6rjg7wiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTAzCisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IExCQSIKK21zZ3N0ciAi6ZaL5aeLIExCQTogJWp1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEwOAorIywgZnV6enkKK21zZ2lkICJMYXN0IExCQSIKK21zZ3N0ciAi57WC5LqGIExCQTogJWp1IgorCisjLiBUUkFOU0xBVE9SUzogVGhlIExCQSAoTG9naWNhbCBCbG9jayBBZGRyZXNzKSBvZiB0aGUgYmFja3VwIEdQVCBoZWFkZXIuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTExNAorIywgZnV6enkKK21zZ2lkICJBbHRlcm5hdGl2ZSBMQkEiCittc2dzdHIgIuS7o+abvyBMQkE6ICVqdSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFydCBvZiB0aGUgYXJyYXkgb2YgcGFydGl0aW9uIGVudHJpZXMuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEyMAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gZW50cmllcyBMQkEiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OCqOODs+ODiOODquODvCBMQkE6ICVqdSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExMjUKKyMsIGZ1enp5Cittc2dpZCAiQWxsb2NhdGVkIHBhcnRpdGlvbiBlbnRyaWVzIgorbXNnc3RyICLlibLjgorlvZPjgabjgZ/jg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjgqjjg7Pjg4jjg6rjg7w6ICV1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTQ0MAorbXNnaWQgIlRoZSBiYWNrdXAgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgcHJpbWFyeSBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIuODkOODg+OCr+OCouODg+ODl+OBriBHUFQg44OG44O844OW44Or44Gv56C05pCN44GX44Gm44GE44KL44KI44GG44Gn44GZ44CB44GX44GL44GX44OX44Op44Kk44Oe44Oq44OG44O844OW44Or44Gv5aSn5LiI5aSr44Gu44KI44GG44Gn44GZ44Gu44Gn44CB44Gd44Gh44KJ44KS5L2/55So44GX44G+44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTQ0OQorbXNnaWQgIlRoZSBwcmltYXJ5IEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIGJhY2t1cCBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIuODl+ODqeOCpOODnuODquOBriBHUFQg44OG44O844OW44Or44Gv56C05pCN44GX44Gm44GE44KL44KI44GG44Gn44GZ44CB44GX44GL44GX44OQ44OD44Kv44Ki44OD44OX44OG44O844OW44Or44Gv5aSn5LiI5aSr44Gu44KI44GG44Gn44GZ44Gu44Gn44CB44Gd44Gh44KJ44KS5L2/55So44GX44G+44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBHUFQgYXR0cmlidXRlIGJpdCAnJXMnIgorbXNnc3RyICLmnKrlr77lv5zjga4gR1BUIOWxnuaAp+ODk+ODg+ODiCAnJXMnIOOBp+OBmSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBHUFQgYXR0cmlidXRlIHN0cmluZyAnJXMnIgorbXNnc3RyICLkuIDopqcgJyVzJyDjga7lh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBVVUlEIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyBVVUlEIOOCkiBgJXMnIOOBi+OCiSBgJXMnIOOBq+WkieabtOOBl+OBvuOBl+OBn+OAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIG5hbWUgY2hhbmdlZCBmcm9tICclcycgdG8gJyUuKnMnLiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44Gu5ZCN5YmN44KSIGAlcycg44GL44KJIGAlLipzJyDjgavlpInmm7TjgZfjgb7jgZfjgZ/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzY4CisjLCBmdXp6eQorbXNnaWQgIlRoZSBzdGFydCBvZiB0aGUgcGFydGl0aW9uIHVuZGVyc3RlcHMgRmlyc3RVc2FibGVMQkEuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7plovlp4vkvY3nva4gKOOCu+OCr+OCv+WNmOS9jSkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzc1CisjLCBmdXp6eQorbXNnaWQgIlRoZSBlbmQgb2YgdGhlIHBhcnRpdGlvbiBvdmVyc3RlcHMgTGFzdFVzYWJsZUxCQS4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBrue1guS6huS9jee9riAo44K744Kv44K/5Y2Y5L2NKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MzQKK21zZ2lkICJUaGUgZGV2aWNlIGNvbnRhaW5zIGh5YnJpZCBNQlIgLS0gd3JpdGluZyBHUFQgb25seS4gWW91IGhhdmUgdG8gc3luYyB0aGUgTUJSIG1hbnVhbGx5LiIKK21zZ3N0ciAi44OH44OQ44Kk44K544GM44OP44Kk44OW44Oq44OD44OJIE1CUiDlkKvjgpPjgafjgYTjgb7jgZkgLS0gR1BUIOOBruOBv+OCkuabuOOBjei+vOOBv+OBvuOBmeOAgk1CUiDjga7lkIzmnJ/jga/miYvli5XjgafooYzjgaPjgabjgY/jgaDjgZXjgYTjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcxCittc2dpZCAiRGlzayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIuODh+OCo+OCueOCr+OBq+OBr+acieWKueOBquODkOODg+OCr+OCouODg+ODl+ODmOODg+ODgOOBjOWQq+OBvuOCjOOBpuOBhOOBvuOBm+OCk+OAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NzYKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIuODl+ODqeOCpOODnuODquODmOODg+ODgOOBriBDUkMg44OB44Kn44OD44Kv44K144Og44GM5q2j44GX44GP44GC44KK44G+44Gb44KT44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4MAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICLjg5Djg4Pjgq/jgqLjg4Pjg5fjg5jjg4Pjg4Djga4gQ1JDIOODgeOCp+ODg+OCr+OCteODoOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCk+OAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5ODUKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiBlbnRyeSBjaGVja3N1bS4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+mgheebruOBruODgeOCp+ODg+OCr+OCteODoOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCk+OAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OTAKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAi44OX44Op44Kk44Oe44Oq44OY44OD44OA44GuIExCQSDjgYzjg4Hjgqfjg4Pjgq/jgavlkIjmoLzjgZfjgb7jgZvjgpPjgafjgZ/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTk0Cittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAi44OQ44OD44Kv44Ki44OD44OX44OY44OD44OA44GuIExCQSDjgYzjg4Hjgqfjg4Pjgq/jgavlkIjmoLzjgZfjgb7jgZvjgpPjgafjgZ/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTk5Cittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IHByaW1hcnkgaGVhZGVyLiIKK21zZ3N0ciAi44OX44Op44Kk44Oe44Oq44OY44OD44OA44Gr44GC44KLIE15TEJBIOOBruWApOOBjOOAgeWun+mam+OBruS9jee9ruOBqOOBr+eVsOOBquOBo+OBpuOBhOOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMDMKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIuODkOODg+OCr+OCouODg+ODl+OBq+OBguOCiyBNeUxCQSDjga7lgKTjgYzjgIHlrp/pmpvjga7kvY3nva7jgajjga/nlbDjgarjgaPjgabjgYTjgb7jgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDA4Cittc2dpZCAiRGlzayBpcyB0b28gc21hbGwgdG8gaG9sZCBhbGwgZGF0YS4iCittc2dzdHIgIuOBmeOBueOBpuOBruODh+ODvOOCv+OCkuWPjuOCgeOCi+OBq+OBr+OAgeODh+OCo+OCueOCr+OBjOWwj+OBleOBmeOBjuOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMTgKK21zZ2lkICJQcmltYXJ5IGFuZCBiYWNrdXAgaGVhZGVyIG1pc21hdGNoLiIKK21zZ3N0ciAi44OX44Op44Kk44Oe44Oq44OY44OD44OA44Go44OQ44OD44Kv44Ki44OD44OX44OY44OD44OA44Gu5YaF5a6544GM5ZCI6Ie044GX44Gm44GE44G+44Gb44KT44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAyNAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBwYXJ0aXRpb24gJXUuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXUg44Gv44CB44OR44O844OG44Kj44K344On44OzICV1IOOBqOmHjeikh+OBl+OBpuOBhOOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGlzIHRvbyBiaWcgZm9yIHRoZSBkaXNrLiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44OzICV1IOOBr+ODh+OCo+OCueOCr+OBq+avlOOBueOBpuWkp+OBjeOBmeOBjuOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGVuZHMgYmVmb3JlIGl0IHN0YXJ0cy4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyAldSDjga/plovlp4vkvY3nva7jgojjgorjgoLliY3jgafntYLjgo/jgaPjgabjgZfjgb7jgaPjgabjgYTjgb7jgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQ3Cittc2dpZCAiTm8gZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0ciAi44Ko44Op44O844Gv5qSc5Ye644GV44KM44G+44Gb44KT44Gn44GX44Gf44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0OAorIywgYy1mb3JtYXQKK21zZ2lkICJIZWFkZXIgdmVyc2lvbjogJXMiCittc2dzdHIgIuODmOODg+ODgOODkOODvOOCuOODp+ODszogJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nICV1IG91dCBvZiAlZCBwYXJ0aXRpb25zLiIKK21zZ3N0ciAiJTIkZCDlgIvjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7jgYbjgaHjgIEgJTEkdSDlgIvjgpLkvb/nlKjjgZfjgabjgYTjgb7jgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudC4iCittc2dpZF9wbHVyYWwgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudHMgKHRoZSBsYXJnZXN0IGlzICVzKS4iCittc2dzdHJbMF0gIuWQiOioiCAlanUg5YCL44Gu56m644GN44K744Kv44K/44GMICV1IOOCu+OCsOODoeODs+ODiCjmnIDlpKcgJXMp5YaF44Gr44CB44GC44KK44G+44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBlcnJvciBkZXRlY3RlZC4iCittc2dpZF9wbHVyYWwgIiVkIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHJbMF0gIuOCqOODqeODvOOBjCAlZCDlgIvmpJzlh7rjgZXjgozjgb7jgZfjgZ/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQyCittc2dpZCAiQWxsIHBhcnRpdGlvbnMgYXJlIGFscmVhZHkgaW4gdXNlLiIKK21zZ3N0ciAi44GZ44G544Gm44Gu44OR44O844OG44Kj44K344On44Oz44GM5L2/55So5riI44G/44Gn44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5NyBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyMgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWp1IGFscmVhZHkgdXNlZC4iCittc2dzdHIgIuOCu+OCr+OCvyAlanUg44Gv5pei44Gr5L2/55So5riI44G/44Gn44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyAlenUg44KS5L2c5oiQ44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgbGFzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlyc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBHUFQgZGlza2xhYmVsIChHVUlEOiAlcykuIgorbXNnc3RyICLmlrDjgZfjgYQgR1BUIOODh+OCo+OCueOCr+ODqeODmeODqyAoR1VJRDogJXMpIOOCkuS9nOaIkOOBl+OBvuOBl+OBn+OAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NDcKK21zZ2lkICJFbnRlciBuZXcgZGlzayBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIuaWsOOBl+OBhOODh+OCo+OCueOCryBVVUlEIOOCkiAoOC00LTQtNC0xMiDlvaLlvI/jgacpIOWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NTQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgeW91ciBVVUlELiIKK21zZ3N0ciAiVVVJRCDjga7op6PmnpDjgavlpLHmlZfjgZfjgb7jgZfjgZ/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICLjg4fjgqPjgrnjgq/orZjliKXlrZDjgpIgYCVzJyDjgYvjgokgYCVzJyDjgavlpInmm7TjgZfjgb7jgZfjgZ/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDg4CisjLCBmdXp6eQorbXNnaWQgIk5vdCBlbm91Z2ggc3BhY2UgZm9yIG5ldyBwYXJ0aXRpb24gdGFibGUhIgorbXNnc3RyICLnqbrjgY3jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzjgYLjgorjgb7jgZvjgpPvvIEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXUgb3V0IG9mIHJhbmdlIChtaW5pbWFsIHN0YXJ0IGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwMgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV1IG91dCBvZiByYW5nZSAobWF4aW1hbCBlbmQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgbnVtYmVyIG9mIHRoZSBwYXJ0aXRpb24gaGFzIGJlIHNtYWxsZXIgdGhhbiAlenUuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga/mnIDlpKfmlbDjgb7jgafkvZzmiJDmuIjjgb/jgafjgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTYzCisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBhbGxvY2F0ZSBtZW1vcnkhIgorbXNnc3RyICLjg6Hjg6Ljg6rjga7libLjgorlvZPjgabjgavlpLHmlZfjgZfjgb7jgZfjgZ86ICVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGxlbmd0aCBjaGFuZ2VkIGZyb20gJTxQUkl1MzI+IHRvICU8UFJJdTY0Pi4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBruWQjeWJjeOCkiBgJXMnIOOBi+OCiSBgJS4qcycg44Gr5aSJ5pu044GX44G+44GX44Gf44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGF0dHJpYnV0ZXMgb24gcGFydGl0aW9uICV6dSBjaGFuZ2VkIHRvIDB4JTAxNjxQUkl4NjQ+LiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44OzICV6dSDjga7jgr/jgqTjg5fjga/lpInmm7TjgZfjgabjgYTjgb7jgZvjgpPjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzQyCittc2dpZCAiRW50ZXIgR1VJRCBzcGVjaWZpYyBiaXQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHRvZ2dsZSB1bnN1cHBvcnRlZCBiaXQgJWx1IgorbXNnc3RyICLjgrXjg53jg7zjg4jjgZXjgozjgabjgYTjgarjgYTjg5Pjg4Pjg4ggJWx1IOOCkuWkieabtOOBp+OBjeOBvuOBm+OCk+OBp+OBl+OBnyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44OzICV6dSDjga7jgr/jgqTjg5fjga/lpInmm7TjgZfjgabjgYTjgb7jgZvjgpM6ICVz44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICIlcyDjg5Xjg6njgrAgKOODkeODvOODhuOCo+OCt+ODp+ODsyAlenUpIOOCkuacieWKueOBq+OBl+OBvuOBl+OBn+OAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICIlcyDjg5Xjg6njgrAgKOODkeODvOODhuOCo+OCt+ODp+ODsyAlenUpIOOCkueEoeWKueOBq+OBl+OBvuOBl+OBn+OAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTgKK21zZ2lkICJUeXBlLVVVSUQiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBrueorumhniAoVVVJRCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE5Cittc2dpZCAiVVVJRCIKK21zZ3N0ciAiVVVJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MjAgbG9naW4tdXRpbHMvY2hmbi5jOjE1MCBsb2dpbi11dGlscy9jaGZuLmM6MTUyCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzA3Cittc2dpZCAiTmFtZSIKK21zZ3N0ciAi5ZCN5YmNIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6ODQwCittc2dpZCAiRnJlZSBzcGFjZSIKK21zZ3N0ciAi56m644GN6aCY5Z+fIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6MTIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24gIyV6dS4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBruOCteOCpOOCuuWkieabtOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbGliZmRpc2svc3JjL3BhcnR0eXBlLmM6MjU5IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1NSBzY2hlZHV0aWxzL2NocnQuYzoyMDYKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6Nzkgc3lzLXV0aWxzL2h3Y2xvY2suYzozMzQKK21zZ2lkICJ1bmtub3duIgorbXNnc3RyICLkuI3mmI4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NworbXNnaWQgIlNHSSB2b2xoZHIiCittc2dzdHIgIlNHSSB2b2xoZHIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OAorbXNnaWQgIlNHSSB0cmtyZXBsIgorbXNnc3RyICJTR0kgdHJrcmVwbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ5Cittc2dpZCAiU0dJIHNlY3JlcGwiCittc2dzdHIgIlNHSSBzZWNyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTAKK21zZ2lkICJTR0kgcmF3IgorbXNnc3RyICJTR0kgcmF3IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTEKK21zZ2lkICJTR0kgYnNkIgorbXNnc3RyICJTR0kgYnNkIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTIKK21zZ2lkICJTR0kgc3lzdiIKK21zZ3N0ciAiU0dJIHN5c3YiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MworbXNnaWQgIlNHSSB2b2x1bWUiCittc2dzdHIgIlNHSSDjg5zjg6rjg6Xjg7zjg6AiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NAorbXNnaWQgIlNHSSBlZnMiCittc2dzdHIgIlNHSSBlZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NQorbXNnaWQgIlNHSSBsdm9sIgorbXNnc3RyICJTR0kgbHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU2Cittc2dpZCAiU0dJIHJsdm9sIgorbXNnc3RyICJTR0kgcmx2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NworbXNnaWQgIlNHSSB4ZnMiCittc2dzdHIgIlNHSSB4ZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OAorbXNnaWQgIlNHSSB4ZnNsb2ciCittc2dzdHIgIlNHSSB4ZnNsb2ciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OQorbXNnaWQgIlNHSSB4bHYiCittc2dzdHIgIlNHSSB4bHYiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MAorbXNnaWQgIlNHSSB4dm0iCittc2dzdHIgIlNHSSB4dm0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MiBsaWJmZGlzay9zcmMvc3VuLmM6NTMKK21zZ2lkICJMaW51eCBuYXRpdmUiCittc2dzdHIgIkxpbnV4IOODjeOCpOODhuOCo+ODliIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjE1OQorbXNnaWQgIlNHSSBpbmZvIGNyZWF0ZWQgb24gc2Vjb25kIHNlY3Rvci4iCittc2dzdHIgIlNHSSDmg4XloLHjgYwy44Gk55uu44Gu44K744Kv44K/44Gr5L2c5oiQ44GV44KM44G+44GX44Gf44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjU5Cittc2dpZCAiRGV0ZWN0ZWQgYW4gU0dJIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiIKK21zZ3N0ciAi6ZaT6YGV44Gj44Gf44OB44Kn44OD44Kv44K144Og5YCk44GM5pu444GL44KM44GfIFNHSSDjg4fjgqPjgrnjgq/jg6njg5njg6vjgpLmpJzlh7rjgZfjgb7jgZfjgZ/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODIgbGliZmRpc2svc3JjL3N1bi5jOjc3MAorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIueJqeeQhuOCt+ODquODs+ODgOaVsCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4NyBsaWJmZGlzay9zcmMvc3VuLmM6Nzc1CisjLCBmdXp6eQorbXNnaWQgIkV4dHJhIHNlY3RzL2N5bCIKK21zZ3N0ciAi44K344Oq44Oz44OA5q+O44Gu6L+95Yqg44K744Kv44K/IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjk3Cittc2dpZCAiQm9vdGZpbGUiCittc2dzdHIgIui1t+WLleODleOCoeOCpOODqyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjM5NQorbXNnaWQgIkludmFsaWQgYm9vdGZpbGUhICBUaGUgYm9vdGZpbGUgbXVzdCBiZSBhbiBhYnNvbHV0ZSBub24temVybyBwYXRobmFtZSwgZS5nLiBcIi91bml4XCIgb3IgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICLkuI3mraPjgarotbfli5Xjg5XjgqHjgqTjg6vjgafjgZkhIOi1t+WLleODleOCoeOCpOODq+OBr+e1tuWvvuODkeOCueihqOiomOOBp+OAgSAwIOOCiOOCiuOCgumVt+OBhOaWh+Wtl+WIl+OBp+OBquOBkeOCjOOBsOOBquOCiuOBvuOBm+OCk+OAguS+i+OBiOOBsCBcIi91bml4XCIg44KEIFwiL3VuaXguc2F2ZVwi44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDAxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlIG1heGltdW0uIgorbXNnaWRfcGx1cmFsICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZXMgbWF4aW11bS4iCittc2dzdHJbMF0gIui1t+WLleODleOCoeOCpOODq+WQjeOBjOmVt+OBmeOBjuOBvuOBmTog5pyA5aSnICV6dSDjg5DjgqTjg4jjgafjgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDgKK21zZ2lkICJCb290ZmlsZSBtdXN0IGhhdmUgYSBmdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUuIgorbXNnc3RyICLotbfli5Xjg5XjgqHjgqTjg6vjga/ntbblr77jg5HjgrnjgafmjIflrprjgZfjgarjgZHjgozjgbDjgarjgorjgb7jgZvjgpPjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MTQKK21zZ2lkICJCZSBhd2FyZSB0aGF0IHRoZSBib290ZmlsZSBpcyBub3QgY2hlY2tlZCBmb3IgZXhpc3RlbmNlLiAgU0dJJ3MgZGVmYXVsdCBpcyBcIi91bml4XCIsIGFuZCBmb3IgYmFja3VwIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAi44Gq44GK44CB6LW35YuV44OV44Kh44Kk44Or44Gu5a2Y5Zyo44OB44Kn44OD44Kv44Gv6KGM44Gj44Gm44GE44G+44Gb44KT44CCU0dJIOOBruaXouWumuWApOOBryBcIi91bml4XCIg44Gn44CB44OQ44OD44Kv44Ki44OD44OX55So44Gr44GvIFwiL3VuaXguc2F2ZVwiIOOCkuaMh+WumuOBl+OBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgY3VycmVudCBib290IGZpbGUgaXM6ICVzIgorbXNnc3RyICLnj77lnKjjga7otbfli5Xjg5XjgqHjgqTjg6s6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQxCittc2dpZCAiRW50ZXIgb2YgdGhlIG5ldyBib290IGZpbGUiCittc2dzdHIgIuaWsOOBn+OBqui1t+WLleODleOCoeOCpOODq+WQjeOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0NgorbXNnaWQgIkJvb3QgZmlsZSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICLotbfli5Xjg5XjgqHjgqTjg6vjgpLlpInmm7TjgZfjgb7jgZvjgpPjgafjgZfjgZ/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdGZpbGUgaGFzIGJlZW4gY2hhbmdlZCB0byBcIiVzXCIuIgorbXNnc3RyICLotbfli5Xjg5XjgqHjgqTjg6vjgpIgXCIlc1wiIOOBq+WkieabtOOBl+OBvuOBl+OBn+OAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5NgorbXNnaWQgIk1vcmUgdGhhbiBvbmUgZW50aXJlIGRpc2sgZW50cnkgcHJlc2VudC4iCittc2dzdHIgIuODh+OCo+OCueOCr+WFqOS9k+OCkuihqOOBmemgheebruOBjOikh+aVsOWtmOWcqOOBl+OBpuOBhOOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYwMyBsaWJmZGlzay9zcmMvc3VuLmM6NDU4Cittc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkLiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44GM6Kit5a6a44GV44KM44Gm44GE44G+44Gb44KT44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEzCittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiSVJJWCDjgafjga/jgIHjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgMTEg44Gr44OH44Kj44K544Kv5YWo5L2T44KS6KGo44KP44GZ6aCF55uu44KS6Kit5a6a44GX44G+44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gc2hvdWxkIHN0YXJ0IGF0IGJsb2NrIDAsIG5vdCBhdCBibG9jayAlZC4iCittc2dzdHIgIuODh+OCo+OCueOCr+WFqOS9k+OCkuihqOOCj+OBmeODkeODvOODhuOCo+OCt+ODp+ODs+OBrumWi+Wni+S9jee9ruOBr+ODluODreODg+OCryAlZCDjgafjga/jgarjgY/jgIHjg5bjg63jg4Pjgq8gMCDjgafjgYLjgovjgbnjgY3jgafjgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MjgKK21zZ2lkICJQYXJ0aXRpb24gMTEgc2hvdWxkIGNvdmVyIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyAxMSDjgavjga/jg4fjgqPjgrnjgq/lhajkvZPjgpLooajjgo/jgZnpoIXnm67jgpLoqK3lrprjgZnjgbnjgY3jgafjgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3IuIgorbXNnaWRfcGx1cmFsICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3RvcnMuIgorbXNnc3RyWzBdICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJWQg44GoICVkIOOBryAlZCDjgrvjgq/jgr/liIbjgaDjgZHph43jgarjgaPjgabjgYTjgb7jgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NjMgbGliZmRpc2svc3JjL3NnaS5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3I6IHNlY3RvciAlOHUiCittc2dpZF9wbHVyYWwgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3RvcnM6IHNlY3RvcnMgJTh1LSV1IgorbXNnc3RyWzBdICIlOHUg44K744Kv44K/44Gu5pyq5L2/55So44Ku44Oj44OD44OXOiDjgrvjgq/jgr8gJTh1LSV1IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Njk4Cittc2dpZCAiVGhlIGJvb3QgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAi6LW35YuV44OR44O844OG44Kj44K344On44Oz44GM5a2Y5Zyo44GX44Gm44GE44G+44Gb44KT44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzAyCittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAi44K544Ov44OD44OX44OR44O844OG44Kj44K344On44Oz44GM5a2Y5Zyo44GX44Gm44GE44G+44Gb44KT44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA2Cittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGhhcyBubyBzd2FwIHR5cGUuIgorbXNnc3RyICLjgrnjg6/jg4Pjg5fjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7jgr/jgqTjg5fjgYzjgrnjg6/jg4Pjg5fjgavjgarjgaPjgabjgYTjgb7jgZvjgpPjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDkKK21zZ2lkICJZb3UgaGF2ZSBjaG9zZW4gYW4gdW51c3VhbCBib290ZmlsZSBuYW1lLiIKK21zZ3N0ciAi6LW35YuV44OV44Kh44Kk44Or5ZCN44Go44GX44Gm6YCa5bi444Go44Gv55Ww44Gq44KL5ZCN5YmN44KS5YWl5Yqb44GX44Gm44GE44G+44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzU5Cittc2dpZCAiUGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzjg4fjgqPjgrnjgq/lhoXjgafph43opIfjgZfjgabjgYTjgb7jgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDQKK21zZ2lkICJBdHRlbXB0aW5nIHRvIGdlbmVyYXRlIGVudGlyZSBkaXNrIGVudHJ5IGF1dG9tYXRpY2FsbHkuIgorbXNnc3RyICLjg4fjgqPjgrnjgq/lhajkvZPjgpLooajjgZnpoIXnm67jgpLoh6rli5XnlJ/miJDjgZfjgojjgYbjgajjgZfjgabjgYTjgb7jgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDkKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgaXMgYWxyZWFkeSBjb3ZlcmVkIHdpdGggcGFydGl0aW9ucy4iCittc2dzdHIgIuODh+OCo+OCueOCr+WFqOS9k+OCkuihqOOBmemgheebruOBjOioreWumua4iOOBv+OBp+OBmeOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg1MworbXNnaWQgIllvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKK21zZ3N0ciAi44OH44Kj44K544Kv5LiK44Gu6aCY5Z+f44GM6YeN6KSH44GX44Gm44GE44G+44GZ44CC44G+44Ga44Gv44GT44KM44KS6Kej5rG644GX44Gm44GP44Gg44GV44GEISIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg3NSBsaWJmZGlzay9zcmMvc3VuLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ICVzIgorbXNnc3RyICLplovlp4sgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4OTkgbGliZmRpc2svc3JjL3NnaS5jOjk0OQorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBlbGV2ZW50aCBwYXJ0aXRpb24gY292ZXJzIHRoZSBlbnRpcmUgZGlzayBhbmQgaXMgb2YgdHlwZSAnU0dJIHZvbHVtZScuIgorbXNnc3RyICIxMSDnlarnm67jga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga/jg4fjgqPjgrnjgq/lhajkvZPjgpLooajjgo/jgZnjgoLjga7jgajjgZfjgIFgU0dJIHZvbHVtZScg44Gu44K/44Kk44OX44KS6Kit5a6a44GX44Gm44GK44GP44GT44Go44KS5by344GP44GK5Yun44KB44GX44G+44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTE0IGxpYmZkaXNrL3NyYy9zdW4uYzo2MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCAlcyBvciArJXMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAi57WC56uvICVzLCArJXMg44G+44Gf44GvICtzaXple0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5ODUgbGliZmRpc2svc3JjL3N1bi5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi4iCittc2dzdHIgIkJMS0dFVFNJWkUgaW9jdGwg44GMICVzIOOBp+WkseaVl+OBl+OBvuOBl+OBn+OAguOCuOOCquODoeODiOODquOBruOCt+ODquODs+ODgOWApOOCkuOAgSVsbHUg44Go44G/44Gq44GX44G+44GZ44CC44GT44Gu6Kit5a6a44Gr44KI44KK44CBIDMzLjggR0Ig44KI44KK5aSn44GN44Gq44OH44OQ44Kk44K544GM5YiH44KK5o2o44Gm44KJ44KM44KL44GT44Go44Gr44Gq44KL44GL44KC44GX44KM44G+44Gb44KT44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA1MQorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU0dJIGRpc2tsYWJlbC4iCittc2dzdHIgIuaWsOOBl+OBhCBTR0kg44OH44Kj44K544Kv44Op44OZ44Or44KS5L2c5oiQ44GX44G+44GX44Gf44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3MAorbXNnaWQgIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIKK21zZ3N0ciAi55Sz44GX6Kiz44GC44KK44G+44Gb44KT44CC5L2V44KC5pu444GL44KM44Gm44GE44Gq44GE44OR44O844OG44Kj44K344On44Oz44Gu44K/44Kw44KS5aSJ5pu044GZ44KL44GT44Go44Gv44Gn44GN44G+44Gb44KT44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3NgorbXNnaWQgIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDkgYXMgdm9sdW1lIGhlYWRlciAoMCksIGFuZCBwYXJ0aXRpb24gMTEgYXMgZW50aXJlIHZvbHVtZSAoNiksIGFzIElSSVggZXhwZWN0cyBpdC4iCittc2dzdHIgIklSSVgg44Gn44Gv44OR44O844OG44Kj44K344On44OzIDkg44KS44Oc44Oq44Ol44O844Og44OY44OD44OAICgwKSDjgavjgIHjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgMTEg44KS5YWo5L2T44Oc44Oq44Ol44O844OgICg2KSDjgavoqK3lrprjgZnjgovjgZPjgajjgpLmnJ/lvoXjgZfjgabjgYTjgb7jgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDg1Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMCBpcyBvZiB0eXBlIFwiU0dJIHZvbGhkclwiLCB0aGUgSVJJWCBzeXN0ZW0gd2lsbCByZWx5IG9uIGl0IHRvIHJldHJpZXZlIGZyb20gaXRzIGRpcmVjdG9yeSBzdGFuZGFsb25lIHRvb2xzIGxpa2Ugc2FzaCBhbmQgZnguIE9ubHkgdGhlIFwiU0dJIHZvbHVtZVwiIGVudGlyZSBkaXNrIHNlY3Rpb24gbWF5IHZpb2xhdGUgdGhpcy4gQXJlIHlvdSBzdXJlIGFib3V0IHRhZ2dpbmcgdGhpcyBwYXJ0aXRpb24gZGlmZmVyZW50bHk/IgorbXNnc3RyICLpoJjln5/jga7jgqrjg5Xjgrvjg4Pjg4jkvY3nva4gMCDjga8gXCJTR0kgdm9saGRyXCIg5b2i5byP44Gr44GX44Gm44GK44GP44GT44Go44KS5by344GP5o6o5aWo44GX44G+44GZ44CC44GT44KM44GvIElSSVgg44K344K544OG44Og44GnIHNhc2gg44KEIGZ4IOOBruOCiOOBhuOBquODhOODvOODq+OCkuWIqeeUqOOBmeOCi+mam+OAgeOBk+OBk+OBi+OCieODh+OCo+ODrOOCr+ODiOODquaDheWgseOCkuiqreOBv+WHuuOBmeOCiOOBhuOBq+OBquOBo+OBpuOBhOOCi+OBn+OCgeOBp+OBmeOAguOBquOBiuOAgSBcIlNHSSDjg5zjg6rjg6Xjg7zjg6BcIiDlhajkvZPjg4fjgqPjgrnjgq/jgrvjgq/jgrfjg6fjg7PjgpLoqK3lrprjgZfjgZ/loLTlkIjjgavjga7jgb/lvbHpn7/jgYzjgYLjgorjgb7jgZnjgILmnKzlvZPjgavjgZPjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7jgr/jgrDjgpLlpInmm7TjgZfjgb7jgZnjgYs/IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDAKK21zZ2lkICJVbmFzc2lnbmVkIgorbXNnc3RyICLmnKrlibLjgorlvZPjgaYiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MgorbXNnaWQgIlN1bk9TIHJvb3QiCittc2dzdHIgIlN1bk9TIOODq+ODvOODiCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzCittc2dpZCAiU3VuT1Mgc3dhcCIKK21zZ3N0ciAiU3VuT1Mg44K544Ov44OD44OXIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDQKK21zZ2lkICJTdW5PUyB1c3IiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ1Cittc2dpZCAiV2hvbGUgZGlzayIKK21zZ3N0ciAiV2hvbGUgZGlzayIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2Cittc2dpZCAiU3VuT1Mgc3RhbmQiCittc2dzdHIgIlN1bk9TIHN0YW5kIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyB2YXIiCittc2dzdHIgIlN1bk9TIHZhciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ4Cittc2dpZCAiU3VuT1MgaG9tZSIKK21zZ3N0ciAiU3VuT1MgaG9tZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ5Cittc2dpZCAiU3VuT1MgYWx0IHNlY3RvcnMiCittc2dzdHIgIlN1bk9TIOS7o+abv+OCu+OCr+OCvyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUwCittc2dpZCAiU3VuT1MgY2FjaGVmcyIKK21zZ3N0ciAiU3VuT1MgY2FjaGVmcyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUxCittc2dpZCAiU3VuT1MgcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIOS6iOe0hCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEzNworbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4gUHJvYmFibHkgeW91J2xsIGhhdmUgdG8gc2V0IGFsbCB0aGUgdmFsdWVzLCBlLmcuIGhlYWRzLCBzZWN0b3JzLCBjeWxpbmRlcnMgYW5kIHBhcnRpdGlvbnMgb3IgZm9yY2UgYSBmcmVzaCBsYWJlbCAocyBjb21tYW5kIGluIG1haW4gbWVudSkiCittc2dzdHIgIumWk+mBleOBo+OBn+ODgeOCp+ODg+OCr+OCteODoOWApOOBruioreWumuOBleOCjOOBnyBzdW4g44OH44Kj44K544Kv44Op44OZ44Or44KS5qSc5Ye644GX44G+44GX44Gf44CC44GK44Gd44KJ44GP44Gv44CB44OY44OD44OJ5pWw44KE44K744Kv44K/5pWw44CB44K344Oq44Oz44OA5pWw44KE44OR44O844OG44Kj44K344On44Oz44Gq44Gp44CB5YWo44Gm44Gu5YCk44KS6Kit5a6a44GZ44KL44GL44CB5paw44GX44GE44Op44OZ44Or44KS5by35Yi255qE44Gr5L2c5oiQ44GZ44KLICjjg6HjgqTjg7Pjg6Hjg4vjg6Xjg7zjgYvjgokgcyDjgrPjg57jg7Pjg4kpIOW/heimgeOBjOOBguOCiuOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1MAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdmVyc2lvbiBbJWRdLiIKK21zZ3N0ciAi6ZaT6YGV44Gj44Gf44OQ44O844K444On44OzIFslZF0g44GuIHN1biDjg4fjgqPjgrnjgq/jg6njg5njg6vjgpLmpJzlh7rjgZfjgb7jgZfjgZ/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2Muc2FuaXR5IFsweCUwOHhdLiIKK21zZ3N0ciAi6ZaT6YGV44Gj44GfIHZ0b2Muc2FuaXR5IOWApCBbMHglMDh4XSDjga4gc3VuIOODh+OCo+OCueOCr+ODqeODmeODq+OCkuaknOWHuuOBl+OBvuOBl+OBn+OAgiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5ucGFydHMgWyV1XS4iCittc2dzdHIgIumWk+mBleOBo+OBnyB2dG9jLm5wYXJ0cyDlgKQgWzB4JXVdIOOBriBzdW4g44OH44Kj44K544Kv44Op44OZ44Or44KS5qSc5Ye644GX44G+44GX44Gf44CCIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTY1Cittc2dpZCAiV2FybmluZzogV3JvbmcgdmFsdWVzIG5lZWQgdG8gYmUgZml4ZWQgdXAgYW5kIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkiCittc2dzdHIgIuitpuWRijog6ZaT6YGV44Gj44Gm44GE44KL5YCk44Gv44CBIHcgKOabuOOBjei+vOOBvykg44Kz44Oe44Oz44OJ44Gn5L+u5q2j44GV44KM44G+44GZIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTkyCittc2dpZCAiSGVhZHMiCittc2dzdHIgIuODmOODg+ODieaVsCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE5NAorbXNnaWQgIlNlY3RvcnMvdHJhY2siCittc2dzdHIgIuOCu+OCr+OCvy/jg4jjg6njg4Pjgq8iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoyOTcKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorbXNnc3RyICLmlrDjgZfjgYQgU3VuIOODh+OCo+OCueOCr+ODqeODmeODq+OCkuS9nOaIkOOBl+OBvuOBl+OBn+OAgiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZG9lc24ndCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXUg44Gv44K344Oq44Oz44OA5aKD55WM44Gn57WC44KP44Gj44Gm44GE44G+44Gb44KT44CCIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDM1CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIG90aGVycyBpbiBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44OzICV1IOOBr+OAgeS7luOBruODkeODvOODhuOCo+OCt+ODp+ODs+OBqCDjgrvjgq/jgr8gJXUtJXUg44GnIOmHjeikh+OBl+OBpuOBhOOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAwLSV1LiIKK21zZ3N0ciAi5pyq5L2/55So44Ku44Oj44OD44OXIC0g44K744Kv44K/IDAtJXXjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjUgbGliZmRpc2svc3JjL3N1bi5jOjQ3MQorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIuacquS9v+eUqOOCruODo+ODg+ODlyAtIOOCu+OCr+OCvyAldS0ldeOAgiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUyOAorbXNnaWQgIk90aGVyIHBhcnRpdGlvbnMgYWxyZWFkeSBjb3ZlciB0aGUgd2hvbGUgZGlzay4gRGVsZXRlIHNvbWUvc2hyaW5rIHRoZW0gYmVmb3JlIHJldHJ5LiIKK21zZ3N0ciAi5pei5a2Y44Gu44OR44O844OG44Kj44K344On44Oz44GM5pei44Gr44OH44Kj44K544Kv5YWo5L2T44KS5L2/55So44GX44Gm44GE44G+44GZ44CC44G+44Ga44Gv44OR44O844OG44Kj44K344On44Oz44KS5YmK6Zmk44G+44Gf44Gv57iu5bCP44GX44Gm44GL44KJ5YaN5bqm5a6f6KGM44GX44Gm44GP44Gg44GV44GE44CCIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlZCBpcyBhbHJlYWR5IGFsbG9jYXRlZCIKK21zZ3N0ciAi44K744Kv44K/ICVkIOOBr+aXouOBq+WJsuOCiuW9k+OBpua4iOOBv+OBp+OBmSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYwMAorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSB0aGlyZCBwYXJ0aXRpb24gY292ZXJzIHRoZSB3aG9sZSBkaXNrIGFuZCBpcyBvZiB0eXBlIGBXaG9sZSBkaXNrJyIKK21zZ3N0ciAiMyDnlarnm67jga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga/jg4fjgqPjgrnjgq/lhajkvZPjgpLooajjgZnjgojjgYbjgavoqK3lrprjgZfjgIFgV2hvbGUgZGlzaycg44Gu44K/44Kk44OX44Gr44GX44Gm44GK44GP44GT44Go44KS5by344GP44GK5Yun44KB44GX44G+44GZIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NjEwCisjLCBjLWZvcm1hdAorbXNnaWQgIkFsaWduaW5nIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSAldSB0byAldSB0byBiZSBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIuacgOWIneOBruOCu+OCr+OCv+OCkiAldSDjgYvjgokgJXUg44Gr6YWN572u44GX44Gm44K344Oq44Oz44OA5aKD55WM44Gr5ZCI44KP44Gb44G+44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Njg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmVuJ3QgY292ZXJlZCB0aGUgd2hvbGUgZGlzayB3aXRoIHRoZSAzcmQgcGFydGl0aW9uLCBidXQgeW91ciB2YWx1ZVxuIgorIiVsdSAlcyBjb3ZlcnMgc29tZSBvdGhlciBwYXJ0aXRpb24uIFlvdXIgZW50cnkgaGFzIGJlZW4gY2hhbmdlZFxuIgorInRvICVsdSAlcyIKK21zZ3N0ciAiIgorIjMg55Wq55uu44Gu44OR44O844OG44Kj44K344On44Oz44Gv44OH44Kj44K544Kv5YWo5L2T44KS6KGo44KP44GX44Gm44Gv44GE44G+44Gb44KT44GM44CBICVkICVzXG4iCisi44Gu5YCk44GM5LuW44Gu44OR44O844OG44Kj44K344On44Oz44KS6KGo44KP44GZ44KI44GG44Gr6Kit5a6a44GX44Gm44GC44KK44G+44GZ44CC6Kit5a6a5YCk44KSXG4iCisiJWQgJXMg44Gr5aSJ5pu044GX44G+44GZIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzI2CisjLCBjLWZvcm1hdAorbXNnaWQgIklmIHlvdSB3YW50IHRvIG1haW50YWluIFN1bk9TL1NvbGFyaXMgY29tcGF0aWJpbGl0eSwgY29uc2lkZXIgbGVhdmluZyB0aGlzIHBhcnRpdGlvbiBhcyBXaG9sZSBkaXNrICg1KSwgc3RhcnRpbmcgYXQgMCwgd2l0aCAldSBzZWN0b3JzIgorbXNnc3RyICJTdW5PUyDjgoQgU29sYXJpcyDjgajjga7kupLmj5vmgKfjgpLntq3mjIHjgZfjgZ/jgYTloLTlkIjjga/jgIHjgZPjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpIgV2hvbGUgZGlzayAoNSkg44Go44GX44Gm6Kit5a6a44GX44CB6ZaL5aeL5L2N572u44KSIDAg44Gr44CBICV1IOOCu+OCr+OCv+WIhuOBruOCteOCpOOCuuOCkuaMgeOBpOOCiOOBhuOBq+ioreWumuOBl+OBpuOBj+OBoOOBleOBhOOAgiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc1MAorbXNnaWQgIkxhYmVsIElEIgorbXNnc3RyICLjg6njg5njg6sgSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NTUKK21zZ2lkICJWb2x1bWUgSUQiCittc2dzdHIgIuODnOODquODpeODvOODoCBJRCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc2NQorbXNnaWQgIkFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIuS7o+abv+OCt+ODquODs+ODgOaVsCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg3MQorbXNnaWQgIk51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICLku6Pmm7/jgrfjg6rjg7Pjg4DmlbAiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo4OTYKK21zZ2lkICJFeHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAi44K344Oq44Oz44OA5q+O44Gu6L+95Yqg44K744Kv44K/IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTIwCittc2dpZCAiSW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIuOCpOODs+OCv+ODvOODquODvOODluWboOaVsCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk0NAorbXNnaWQgIlJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICLlm57ou6LmlbAgKHJwbSkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5NjgKK21zZ2lkICJOdW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICLniannkIbjgrfjg6rjg7Pjg4DmlbAiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDM3Cittc2dpZCAiIgorIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDMgYXMgV2hvbGUgZGlzayAoNSksXG4iCisiYXMgU3VuT1MvU29sYXJpcyBleHBlY3RzIGl0IGFuZCBldmVuIExpbnV4IGxpa2VzIGl0LlxuIgorbXNnc3RyICIiCisiMyDnlarnm67jga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga8gV2hvbGUgZGlzayAoNSkg44Go44GX44Gm5q6L44GX44Gm44GK44GP44KI44GG44Gr44GX44Gm44GP44Gg44GV44GE44CCXG4iCisi44GT44KM44GvIFN1bk9TL1NvbGFyaXMg44GM5pyf5b6F44GZ44KL6Kit5a6a44Gn44GC44KL44G744GL44CBIExpbnV4IOOBp+OCguOBk+OBruOCiOOBhuOBq+ioreWumuOBmeOCi1xuIgorIuOBk+OBqOOCkuacn+W+heOBl+OBpuOBhOOCi+OBn+OCgeOBp+OBmeOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA0OAorbXNnaWQgIiIKKyJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwXG4iCisiaXMgVUZTLCBFWFQyRlMgZmlsZXN5c3RlbSBvciBTdW5PUyBzd2FwLiBQdXR0aW5nIExpbnV4IHN3YXBcbiIKKyJ0aGVyZSBtYXkgZGVzdHJveSB5b3VyIHBhcnRpdGlvbiB0YWJsZSBhbmQgYm9vdGJsb2NrLlxuIgorIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB0YWcgdGhlIHBhcnRpdGlvbiBhcyBMaW51eCBzd2FwPyIKK21zZ3N0ciAiIgorIuOCquODleOCu+ODg+ODiCAwIOOBq+OBguOCi+ODkeODvOODhuOCo+OCt+ODp+ODs+OBryBVRlMsIEVYVDJGUyDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgIFcbiIKKyLjgoLjgZfjgY/jga8gU3VuT1Mg44K544Ov44OD44OX44Gr6Kit5a6a44GX44Gm44GK44GP44GT44Go44KS5by344GP44GK5Yun44KB44GX44G+44GZ44CCIExpbnV4IFxuIgorIuOCueODr+ODg+ODl+ODkeODvOODhuOCo+OCt+ODp+ODs+OCkumFjee9ruOBl+OBpuOBl+OBvuOBhuOBqOOAgeODkeODvOODhuOCo+OCt+ODp+ODs+ODhuODvOODluODq+OBqFxuIgorIui1t+WLleODluODreODg+OCr+OCkuegtOWjiuOBl+OBpuOBl+OBvuOBhOOBvuOBmeOAglxuIgorIuODkeODvOODhuOCo+OCt+ODp+ODs+OBruOCv+OCsOOCkiBMaW51eCBzd2FwIOOBq+ioreWumuOBl+OBpuOCiOOCjeOBl+OBhOOBp+OBmeOBi++8nyIKKworIzogbGliL3BhZ2VyLmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgIndhaXRwaWQgZmFpbGVkICglcykiCittc2dzdHIgIndhaXRwaWQg44Gr5aSx5pWX44GX44G+44GX44GfICglcykiCisKKyM6IGxpYi9wYXRoLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE4MTgKK21zZ2lkICJmYWlsZWQgdG8gY2FsbG9jYXRlIGNwdSBzZXQiCittc2dzdHIgImNhbGxvY2F0ZSBjcHUgc2V0IOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbGliL3BhdGguYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0ICVzIgorbXNnc3RyICJDUFUg44Oq44K544OIICglcykg44Gu5Yem55CG44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBsaWIvcGF0aC5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2sgJXMiCittc2dzdHIgIkNQVSDjg57jgrnjgq8gKCVzKSDjga7lh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzIKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG5vdCBvcGVuIFVOSVggc29ja2V0IgorbXNnc3RyICLjgrPjg7Pjgr3jg7zjg6vjgpLplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzgKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG5vdCBzZXQgb3B0aW9uIGZvciBVTklYIHNvY2tldCIKK21zZ3N0ciAiJXMg44Gr5a++44GZ44KL5Yi26ZmQ5pmC6ZaT44KS6Kit5a6a44GZ44KL44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjkxCisjLCBmdXp6eQorbXNnaWQgImNhbiBub3QgY29ubmVjdCBvbiBVTklYIHNvY2tldCIKK21zZ3N0ciAi44Kz44Oz44K944O844Or44KS6ZaL44GP44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGx5bW91dGggcmVxdWVzdCAlYyBpcyBub3QgaW1wbGVtZW50ZWQiCittc2dzdHIgIiIKKworIzogbGliL3JhbmR1dGlscy5jOjEzNgorbXNnaWQgImxpYmMgcHNldWRvLXJhbmRvbSBmdW5jdGlvbnMiCittc2dzdHIgImxpYmMg5pOs5Ly85Lmx5pWw6Zai5pWwIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjE3IGxpYi9zd2FwcHJvYmVyLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBwcm9iZSBkZXZpY2UiCittc2dzdHIgIiVzOiDjg4fjg5DjgqTjgrnjgpLmpJzlh7rjgafjgY3jgb7jgZvjgpMiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcHJvYmluZyByZXN1bHQ7IHVzZSB3aXBlZnMoOCkiCittc2dzdHIgIiVzOiDnn5vnm77jgZnjgovntZDmnpzjgavjgarjgorjgb7jgZfjgZ/jgIIgd2lwZWZzKDgpIOOCkuOBiuS9v+OBhOOBj+OBoOOBleOBhCIKKworIzogbGliL3N3YXBwcm9iZXIuYzozNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgdmFsaWQgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIiVzOiDmraPjgZfjgYTjgrnjg6/jg4Pjg5fjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjgafjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuc3VwcG9ydGVkIHN3YXAgdmVyc2lvbiAnJXMnIgorbXNnc3RyICIlczog5pyq5a++5b+c44Gu44K544Ov44OD44OX44OQ44O844K444On44OzICclcycg44Gn44GZIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTAgbG9naW4tdXRpbHMvY2hzaC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT5dXG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSBbPOODpuODvOOCtuWQjT5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5MworbXNnaWQgIkNoYW5nZSB5b3VyIGZpbmdlciBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAi44GC44Gq44Gf44GuIGZpbmdlciDmg4XloLHjgpLlpInmm7TjgZfjgb7jgZnjgIJcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk2Cittc2dpZCAiIC1mLCAtLWZ1bGwtbmFtZSA8ZnVsbC1uYW1lPiAgcmVhbCBuYW1lXG4iCittc2dzdHIgIiAtZiwgLS1mdWxsLW5hbWUgPOWnk+WQjT4gICAgICAg44Om44O844K244Gu5a6f5ZCN44KS6Kit5a6a44GX44G+44GZXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5NworbXNnaWQgIiAtbywgLS1vZmZpY2UgPG9mZmljZT4gICAgICAgIG9mZmljZSBudW1iZXJcbiIKK21zZ3N0ciAiIC1vLCAtLW9mZmljZSA844Kq44OV44Kj44K5PiAgICAgIOOCquODleOCo+OCueeVquWPt+OCkuioreWumuOBl+OBvuOBmVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTgKK21zZ2lkICIgLXAsIC0tb2ZmaWNlLXBob25lIDxwaG9uZT4gICBvZmZpY2UgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiAtcCwgLS1vZmZpY2UtcGhvbmUgPOmbu+ipseeVquWPtz4g44Kq44OV44Kj44K544Gu6Zu76Kmx55Wq5Y+344KS6Kit5a6a44GX44G+44GZXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OQorbXNnaWQgIiAtaCwgLS1ob21lLXBob25lIDxwaG9uZT4gICAgIGhvbWUgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiAtaCwgLS1ob21lLXBob25lIDzpm7voqbHnlarlj7c+ICDoh6rlroXjga7pm7voqbHnlarlj7fjgpLoqK3lrprjgZfjgb7jgZlcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwMSBsb2dpbi11dGlscy9jaHNoLmM6NzgKK21zZ2lkICIgLXUsIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC11LCAtLWhlbHAgICAgIOOBk+OBruODmOODq+ODl+OCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgImZpZWxkICVzIGlzIHRvbyBsb25nIgorbXNnc3RyICLjg5XjgqPjg7zjg6vjg4kgXCIlc1wiIOOBjOmVt+OBmeOBjuOBvuOBmSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyMSBsb2dpbi11dGlscy9jaHNoLmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaGFzIGlsbGVnYWwgY2hhcmFjdGVycyIKK21zZ3N0ciAi44Kt44O844GM5q2j44GX44GP44GC44KK44G+44Gb44KTICglcykiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTAgbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTYyCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luLmRlZnMgZm9yYmlkcyBzZXR0aW5nICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE1OCBsb2dpbi11dGlscy9jaGZuLmM6MzA5Cittc2dpZCAiT2ZmaWNlIgorbXNnc3RyICLjgqrjg5XjgqPjgrkiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIgbG9naW4tdXRpbHMvY2hmbi5jOjE2NCBsb2dpbi11dGlscy9jaGZuLmM6MzExCittc2dpZCAiT2ZmaWNlIFBob25lIgorbXNnc3RyICLjgqrjg5XjgqPjgrnjga7pm7voqbEiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjggbG9naW4tdXRpbHMvY2hmbi5jOjE3MCBsb2dpbi11dGlscy9jaGZuLmM6MzEzCittc2dpZCAiSG9tZSBQaG9uZSIKK21zZ3N0ciAi6Ieq5a6F44Gu6Zu76KmxIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MjMzCittc2dpZCAiQWJvcnRlZC4iCittc2dzdHIgIuS4reatouOBl+OBvuOBl+OBn+OAgiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBoYXMgdW5leHBlY3RlZCB2YWx1ZTogJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjI5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBkb2VzIG5vdCBhbGxvdyBhbnkgY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLlxuIgorbXNnc3RyICJmaW5nZXIg5oOF5aCx44GvICrlpInmm7TjgZXjgozjgb7jgZvjgpPjgafjgZfjgZ8qIOOAguOBvuOBn+OBguOBqOOBp+ippuOBl+OBpuOBj+OBoOOBleOBhOOAglxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBjaGFuZ2VkLlxuIgorbXNnc3RyICJmaW5nZXIg5oOF5aCx44KS5aSJ5pu044GX44G+44GX44Gf44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MDggbG9naW4tdXRpbHMvY2hzaC5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJ5b3UgKHVzZXIgJWQpIGRvbid0IGV4aXN0LiIKK21zZ3N0ciAi44GC44Gq44GfICjjg6bjg7zjgrYgJWQpIOOBjOWtmOWcqOOBl+OBvuOBm+OCk+OAgiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQxNCBsb2dpbi11dGlscy9jaHNoLmM6MjQ4IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIFwiJXNcIiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIuODpuODvOOCtiBcIiVzXCIg44GM5a2Y5Zyo44GX44G+44Gb44KT44CCIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDIwIGxvZ2luLXV0aWxzL2Noc2guYzoyNTQKK21zZ2lkICJjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcyIKK21zZ3N0ciAi44Ot44O844Kr44Or6aCF55uu44Gu44G/44KS5aSJ5pu044GZ44KL44GT44Go44GM44Gn44GN44G+44GZIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgZmluZ2VyIGluZm8gb2YgJXMiCittc2dzdHIgIiVzIOOBq+OBr+OAgSAlcyDjga4gZmluZ2VyIOaDheWgseOCkuWkieabtOOBmeOCi+aoqemZkOOBjOOBguOCiuOBvuOBm+OCkyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzNSBsb2dpbi11dGlscy9jaHNoLmM6MjcwCittc2dpZCAiVW5rbm93biB1c2VyIGNvbnRleHQiCittc2dzdHIgIuS4jeaYjuOBquODpuODvOOCtuOCs+ODs+ODhuOCreOCueODiCIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ0MSBsb2dpbi11dGlscy9jaHNoLmM6Mjc2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHNldCBkZWZhdWx0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICIlcyDjgavlr77jgZfjgabml6Llrprjga7jgrPjg7Pjg4bjgq3jgrnjg4jjgpLoqK3lrprjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTIKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICLlh6bnkIbjgavkvb/nlKjjgZfjgabjgYTjgosgVUlEIOOBqOOAgeWkieabtOOBl+OCiOOBhuOBqOOBl+OBpuOBhOOCiyBVSUQg44GM5ZCI6Ie044GX44G+44Gb44KT44CC5aSJ5pu044Gv5ouS5ZCm44GV44KM44G+44GX44GfIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIGZpbmdlciBpbmZvcm1hdGlvbiBmb3IgJXMuXG4iCittc2dzdHIgIiVzIOOBriBmaW5nZXIg5oOF5aCx44KS5aSJ5pu044GX44G+44GZ44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIG5vdCBjaGFuZ2VkLlxuIgorbXNnc3RyICJmaW5nZXIg5oOF5aCx44Gv5aSJ5pu044GV44KM44G+44Gb44KT44Gn44GX44Gf44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3MgorbXNnaWQgIkNoYW5nZSB5b3VyIGxvZ2luIHNoZWxsLlxuIgorbXNnc3RyICLjg63jgrDjgqTjg7Pjgrfjgqfjg6vjgpLlpInmm7TjgZfjgb7jgZnjgIJcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc1Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gIHNwZWNpZnkgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gIOODreOCsOOCpOODs+OCt+OCp+ODq+OCkuioreWumuOBl+OBvuOBmVxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6NzYKK21zZ2lkICIgLWwsIC0tbGlzdC1zaGVsbHMgICAgcHJpbnQgbGlzdCBvZiBzaGVsbHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIOOCt+OCp+ODq+OBruS4gOimp+OCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MTAwCittc2dpZCAiTm8ga25vd24gc2hlbGxzLiIKK21zZ3N0ciAi5LiN5piO44Gq44K344Kn44Or44Gn44GZ44CCIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjAwCittc2dpZCAic2hlbGwgbXVzdCBiZSBhIGZ1bGwgcGF0aCBuYW1lIgorbXNnc3RyICLjgrfjgqfjg6vjga/jg5Xjg6vjg5HjgrnjgafnhKHjgZHjgozjgbDjgarjgorjgb7jgZvjgpPjgIIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJcIiVzXCIg44Gv5a2Y5Zyo44GX44G+44Gb44KT44CCIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBpcyBub3QgZXhlY3V0YWJsZSIKK21zZ3N0ciAiXCIlc1wiIOOBr+Wun+ihjOOBp+OBjeOBvuOBm+OCk+OAgiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy4iCittc2dzdHIgIuitpuWRijogXCIlc1wiIOOBryAlcyDjga7kuIDopqflhoXjgavjgYLjgorjgb7jgZvjgpPjgIIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMTQgbG9naW4tdXRpbHMvY2hzaC5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuXG4iCisiVXNlICVzIC1sIHRvIHNlZSBsaXN0LiIKK21zZ3N0ciAiIgorIlwiJXNcIiDjga8gJXMg44Gu5LiA6Kan5YaF44Gr44GC44KK44G+44Gb44KT44CCXG4iCisiJXMgLWwg44KS5a6f6KGM44GZ44KL44Go44CB5LiA6Kan44KS6KGo56S644GZ44KL44GT44Go44GM44Gn44GN44G+44GZ44CCIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgc2hlbGwgb2YgJXMiCittc2dzdHIgIiVzIOOBq+OBr+OAgSAlcyDjga7jgrfjgqfjg6vjgpLlpInmm7TjgZnjgovmqKnpmZDjgYzjgYLjgorjgb7jgZvjgpMiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyOTUKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICLlh6bnkIbjgavkvb/nlKjjgZfjgabjgYTjgosgVUlEIOOBqOOAgeWkieabtOOBl+OCiOOBhuOBqOOBl+OBpuOBhOOCiyBVSUQg44GM5ZCI6Ie044GX44G+44Gb44KT44CC44K344Kn44Or44Gu5aSJ5pu044Gv5ouS5ZCm44GV44KM44G+44GX44GfIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzAwCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdXIgc2hlbGwgaXMgbm90IGluICVzLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICLjgYrkvb/jgYTjga7jgrfjgqfjg6vjga8gJXMg5YaF44Gr5pu444GL44KM44Gm44GE44G+44Gb44KT44CC44K344Kn44Or44Gu5aSJ5pu044Gv5ouS5ZCm44GV44KM44G+44GX44GfIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIHNoZWxsIGZvciAlcy5cbiIKK21zZ3N0ciAiJXMg44Gu44K344Kn44Or44KS5aSJ5pu044GX44G+44GZ44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMTIKK21zZ2lkICJOZXcgc2hlbGwiCittc2dzdHIgIuaWsOOBl+OBhOOCt+OCp+ODqyIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyMAorbXNnaWQgIlNoZWxsIG5vdCBjaGFuZ2VkLiIKK21zZ3N0ciAi44K344Kn44Or44KS5aSJ5pu044GX44G+44Gb44KT44Gn44GX44Gf44CCIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzI1Cittc2dpZCAiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIuOCt+OCp+ODq+OBryAq5aSJ5pu044GV44KM44G+44Gb44KT44Gn44GX44GfKiDjgILjgYLjgajjgafjgb7jgZ/oqabjgZfjgabjgY/jgaDjgZXjgYTjgIIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjkKK21zZ2lkICIiCisic2V0cHduYW0gZmFpbGVkXG4iCisiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIiIKKyJzZXRwd25hbSDjgavlpLHmlZfjgZfjgb7jgZfjgZ9cbiIKKyLjgrfjgqfjg6vjga8gKuWkieabtOOBleOCjOOBvuOBm+OCk+OBp+OBl+OBnyog44CC44GC44Go44Gn44G+44Gf6Kmm44GX44Gm44GP44Gg44GV44GE44CCIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoZWxsIGNoYW5nZWQuXG4iCittc2dzdHIgIuOCt+OCp+ODq+OCkuWkieabtOOBl+OBvuOBl+OBn+OAglxuIgorCisjOiBsb2dpbi11dGlscy9pc2xvY2FsLmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIDxwYXNzd29yZGZpbGU+IDx1c2VybmFtZT4uLi5cbiIKK21zZ3N0ciAi5L2/44GE5pa5OiAlcyA844OR44K544Ov44O844OJ44OV44Kh44Kk44OrPiA844Om44O844K25ZCNPi4uLlxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MTc0IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyMCBzeXMtdXRpbHMvZG1lc2cuYzoxMTkzCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB0aW1lIGZvcm1hdDogJXMiCittc2dzdHIgIuaZgumWk+OBruW9ouW8j+OBjOS4jeaYjuOBp+OBmTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyODEgbG9naW4tdXRpbHMvbGFzdC5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcnJ1cHRlZCAlcyIKK21zZ3N0ciAiJXMg44Gr5Ymy44KK6L6844G/44GM5YWl44KK44G+44GX44GfIgorCisjIFRyYW5zbGF0b3IncyBOT1RFOiDmhI/lkbPkuI3mmI4KKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo0MzkgbG9naW4tdXRpbHMvbGFzdC5jOjQ1MAorbXNnaWQgInByZWFsbG9jYXRpb24gc2l6ZSBleGNlZWRlZCIKK21zZ3N0ciAi5LqL5YmN44Gr5Ymy44KK5b2T44Gm44Gf44K144Kk44K644KS6LaF44GI44Gm44GE44G+44GZIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT4uLi5dIFs8dHR5Pi4uLl1cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIFs844Om44O844K25ZCNPi4uLl0gWzxUVFk+Li4uXVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTcyCittc2dpZCAiU2hvdyBhIGxpc3Rpbmcgb2YgbGFzdCBsb2dnZWQgaW4gdXNlcnMuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NQorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiAtPOaVsOWApD4gICAgICAgICAgICAgICAgICDooajnpLrjgZnjgovooYzmlbBcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NgorbXNnaWQgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBkaXNwbGF5IGhvc3RuYW1lcyBpbiB0aGUgbGFzdCBjb2x1bW5cbiIKK21zZ3N0ciAiIC1hLCAtLWhvc3RsYXN0ICAgICAgICAgICDmnIDlvozjga7liJfjgavooajnpLrjgZnjgovjg5vjgrnjg4jlkI1cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NworbXNnaWQgIiAtZCwgLS1kbnMgICAgICAgICAgICB0cmFuc2xhdGUgdGhlIElQIG51bWJlciBiYWNrIGludG8gYSBob3N0bmFtZVxuIgorbXNnc3RyICIgLWQsIC0tZG5zICAgICAgICAgICAgICAgIElQIOOCouODieODrOOCueOBi+OCieODm+OCueODiOWQjeOBq+mAhuW8leOBjeWkieaPm+OBl+OBvuOBmVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICB1c2UgYSBzcGVjaWZpYyBmaWxlIGluc3RlYWQgb2YgJXNcbiIKK21zZ3N0ciAiIC1GLCAtLWZpbGUgPOODleOCoeOCpOODqz4gICAgJXMg44Gn44Gv44Gq44GP44CB5oyH5a6a44GX44Gf44OV44Kh44Kk44Or44KS5L2/55So44GX44Gm5Ye65Yqb44GX44G+44GZXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODAKK21zZ2lkICIgLUYsIC0tZnVsbHRpbWVzICAgICAgcHJpbnQgZnVsbCBsb2dpbiBhbmQgbG9nb3V0IHRpbWVzIGFuZCBkYXRlc1xuIgorbXNnc3RyICIgLUYsIC0tZnVsbHRpbWVzICAgICAgICAgIOODreOCsOOCpOODs+OAgeODreOCsOOCouOCpuODiOOBruaZguWIu+OBqOaXpeS7mOOCkuWujOWFqOOBquW9ouW8j+OBp+WHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgxCittc2dpZCAiIC1pLCAtLWlwICAgICAgICAgICAgIGRpc3BsYXkgSVAgbnVtYmVycyBpbiBudW1iZXJzLWFuZC1kb3RzIG5vdGF0aW9uXG4iCittc2dzdHIgIiAtaSwgLS1pcCAgICAgICAgICAgICAgICAgSVAg44Ki44OJ44Os44K544KS5pWw5a2X44Go44OU44Oq44Kq44OJ44Gu6KGo6KiY44Gn6KGo56S644GX44G+44GZXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODIKK21zZ2lkICIgLW4sIC0tbGltaXQgPG51bWJlcj4gaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIgLW4sIC0tbGltaXQgPOaVsOWApD4gICAgICAg6KGo56S644GZ44KL6KGM5pWwXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODMKK21zZ2lkICIgLVIsIC0tbm9ob3N0bmFtZSAgICAgZG9uJ3QgZGlzcGxheSB0aGUgaG9zdG5hbWUgZmllbGRcbiIKK21zZ3N0ciAiIC1SLCAtLW5vaG9zdG5hbWUgICAgICAgICDjg5vjgrnjg4jlkI3jga7poIXnm67jgpLooajnpLrjgZfjgarjgYRcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NAorbXNnaWQgIiAtcywgLS1zaW5jZSA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyBzaW5jZSB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIC1zLCAtLXNpbmNlIDzmmYLliLs+ICAgICAgIOaMh+WumuOBl+OBn+aZguWIu+S7pemZjeOBruihjOOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg1Cittc2dpZCAiIC10LCAtLXVudGlsIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHVudGlsIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLXQsIC0tdW50aWwgPOaZguWIuz4gICAgICAg5oyH5a6a44GX44Gf5pmC5Yi75Lul5YmN44Gu6KGM44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODYKK21zZ2lkICIgLXAsIC0tcHJlc2VudCA8dGltZT4gZGlzcGxheSB3aG8gd2VyZSBwcmVzZW50IGF0IHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLXAsIC0tcHJlc2VudCA85pmC5Yi7PiAgICAg5oyH5a6a44GX44Gf5pmC5Yi744Gr44Ot44Kw44Kk44Oz44GX44Gm44GE44Gf44Om44O844K244KS6KGo56S644GX44G+44GZXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODcKK21zZ2lkICIgLXcsIC0tZnVsbG5hbWVzICAgICAgZGlzcGxheSBmdWxsIHVzZXIgYW5kIGRvbWFpbiBuYW1lc1xuIgorbXNnc3RyICIgLXcsIC0tZnVsbG5hbWVzICAgICAgICAgIOODpuODvOOCtuWQjeOBqOODieODoeOCpOODs+WQjeOCkuWujOWFqOOBquW9ouW8j+OBp+ihqOekuuOBl+OBvuOBmVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg4Cittc2dpZCAiIC14LCAtLXN5c3RlbSAgICAgICAgIGRpc3BsYXkgc3lzdGVtIHNodXRkb3duIGVudHJpZXMgYW5kIHJ1biBsZXZlbCBjaGFuZ2VzXG4iCittc2dzdHIgIiAteCwgLS1zeXN0ZW0gICAgICAgICAgICAg44K344K544OG44Og44Gu44K344Oj44OD44OI44OA44Km44Oz6aCF55uu44Go44Op44Oz44Os44OZ44Or44Gu5aSJ5pu044KS6KGo56S644GX44G+44GZXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODkKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcHMgaW4gdGhlIHNwZWNpZmllZCA8Zm9ybWF0PjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPOW9ouW8jz4gICAg44K/44Kk44Og44K544K/44Oz44OX44Gu6KGo56S65b2i5byP44KS5oyH5a6a44GX44G+44GZOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpbWV8c2hvcnR8ZnVsbHxpc29cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjg4MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXMgYmVnaW5zICVzIgorbXNnc3RyICIiCisiXG4iCisiJXMg44GvICVzIOOBi+OCieWni+OBvuOCiuOBvuOBmSIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk1NiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY0CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY4Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciIKK21zZ3N0ciAi5pWw5YCk44Gu6Kej5p6Q44Gr5aSx5pWXIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTc3IGxvZ2luLXV0aWxzL2xhc3QuYzo5ODIgbG9naW4tdXRpbHMvbGFzdC5jOjk4NworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lIHZhbHVlIFwiJXNcIiIKK21zZ3N0ciAi5pmC6ZaT44Gu5YCkIFwiJXNcIiDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzoyOSBsb2dpbi11dGlscy9saWJ1c2VyLmM6MzEKK21zZ2lkICJDb3VsZG4ndCBkcm9wIGdyb3VwIHByaXZpbGVnZXMiCittc2dzdHIgIuOCsOODq+ODvOODl+aoqemZkOOCkuiQveOBqOOBmeOBk+OBqOOBjOOBp+OBjeOBvuOBm+OCk+OBp+OBl+OBnyIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImxpYnVzZXIgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlcy4iCittc2dzdHIgImxpYnVzZXIg44Gu5rqW5YKZ44Gr5aSx5pWX44GX44G+44GX44GfOiAlcyIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjUyCittc2dpZCAiY2hhbmdpbmcgdXNlciBhdHRyaWJ1dGUgZmFpbGVkIgorbXNnc3RyICLjg6bjg7zjgrblsZ7mgKfjga7lpInmm7TjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo2NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIGF0dHJpYnV0ZSBub3QgY2hhbmdlZDogJXMiCittc2dzdHIgIuODpuODvOOCtuWxnuaAp+OCkuWkieabtOOBl+OBvuOBm+OCk+OBp+OBl+OBnzogJXMiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICV1IGlzIDYwLgorIzogbG9naW4tdXRpbHMvbG9naW4uYzoxODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZWQgb3V0IGFmdGVyICV1IHNlY29uZHMiCittc2dzdHIgIiV1IOenkuOBp+aZgumWk+WIh+OCjOOBq+OBquOCiuOBvuOBl+OBnyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6IGNhbid0IHJlb3BlbiB0dHk6ICVtIgorbXNnc3RyICLoh7Tlkb3nmoTjgqjjg6njg7w6IHR0eSDjgpLlho3luqbplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpM6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXMgaXMgbm90IGEgdGVybWluYWwiCittc2dzdHIgIuiHtOWRveeahOOCqOODqeODvDogJXMg44Gv56uv5pyr44Gn44Gv44GC44KK44G+44Gb44KTIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxMAorIywgYy1mb3JtYXQKK21zZ2lkICJjaG93biAoJXMsICVsdSwgJWx1KSBmYWlsZWQ6ICVtIgorbXNnc3RyICJjaG93biAoJXMsICVsdSwgJWx1KSDjgavlpLHmlZfjgZfjgb7jgZfjgZ86ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxNAorIywgYy1mb3JtYXQKK21zZ2lkICJjaG1vZCAoJXMsICV1KSBmYWlsZWQ6ICVtIgorbXNnc3RyICJjaG1vZCAoJXMsICV1KSDjgavlpLHmlZfjgZfjgb7jgZfjgZ86ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM3NQorbXNnaWQgIkZBVEFMOiBiYWQgdHR5IgorbXNnc3RyICLoh7Tlkb3nmoTjgqjjg6njg7w6IOS4jeato+OBqiB0dHkg44Gn44GZIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXM6IGNoYW5nZSBwZXJtaXNzaW9ucyBmYWlsZWQ6ICVtIgorbXNnc3RyICLoh7Tlkb3nmoTjgqjjg6njg7w6ICVzOiDjg5Hjg7zjg5/jg4Pjgrfjg6fjg7Pjga7lpInmm7TjgavlpLHmlZfjgZfjgb7jgZfjgZ86ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGxvZ2luOiAlLipzICIKK21zZ3N0ciAi5YmN5Zue44Gu44Ot44Kw44Kk44OzOiAlLipzICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnJvbSAlLipzXG4iCittc2dzdHIgIuaOpee2muWFgzogJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUzNAorIywgYy1mb3JtYXQKK21zZ2lkICJvbiAlLipzXG4iCittc2dzdHIgIuerr+acqzogJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjU1MgorbXNnaWQgIndyaXRlIGxhc3Rsb2cgZmFpbGVkIgorbXNnc3RyICJsYXN0bG9nIOOBuOOBruabuOOBjei+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRElBTFVQIEFUICVzIEJZICVzIgorbXNnc3RyICLjg4DjgqTjg6Tjg6vjgqLjg4Pjg5fmjqXntpogKOerr+acqzogJXMsIOODpuODvOOCtjogJXMpIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1NworIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIEZST00gJXMiCittc2dzdHIgInJvb3Qg44Ot44Kw44Kk44OzICjnq6/mnKs6ICVzLCDmjqXntprlhYM6ICVzKSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyIKK21zZ3N0ciAicm9vdCDjg63jgrDjgqTjg7MgKOerr+acqzogJXMpIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorbXNnc3RyICLjg63jgrDjgqTjg7MgKOerr+acqzogJXMsIOODpuODvOOCtjogJXMsIOaOpee2muWFgzogJXMpIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyIKK21zZ3N0ciAi44Ot44Kw44Kk44OzICjnq6/mnKs6ICVzLCDjg6bjg7zjgrY6ICVzKSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3MTkKK21zZ2lkICJsb2dpbjogIgorbXNnc3RyICLjg63jgrDjgqTjg7M6ICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUEFNIGZhaWx1cmUsIGFib3J0aW5nOiAlcyIKK21zZ3N0ciAiUEFNIOOBruWHpueQhuOBq+WkseaVl+OBl+OBvuOBl+OBn+OAgeS4reatouOBl+OBpuOBhOOBvuOBmTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkbid0IGluaXRpYWxpemUgUEFNOiAlcyIKK21zZ3N0ciAiUEFNIOOBrua6luWCmeOBjOOBp+OBjeOBvuOBm+OCk+OBp+OBl+OBnzogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODE3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiAldSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIuODreOCsOOCpOODs+WkseaVlyAo5Zue5pWwOiAldSwg5o6l57aa5YWDOiAlcywg44Om44O844K25ZCNOiAlcywg6Kmz57SwOiAlcykiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODI1IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKKyJcbiIKK21zZ3N0ciAiIgorIuODreOCsOOCpOODs+OBjOWkseaVl+OBl+OBvuOBl+OBn1xuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg0MAorIywgYy1mb3JtYXQKK21zZ2lkICJUT08gTUFOWSBMT0dJTiBUUklFUyAoJXUpIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAi5aSa44GZ44GO44KL44Ot44Kw44Kk44Oz6Kmm6KGMICjlm57mlbA6ICV1LCDmjqXntprlhYM6ICVzLCDjg6bjg7zjgrblkI06ICVzLCDoqbPntLA6ICVzKSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOIFNFU1NJT04gRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICLjg63jgrDjgqTjg7PlpLHmlZcgKOaOpee2muWFgzogJXMsIOODpuODvOOCtuWQjTogJXMsIOips+e0sDogJXMpIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg1NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTG9naW4gaW5jb3JyZWN0XG4iCittc2dzdHIgIiIKKyJcbiIKKyLjg63jgrDjgqTjg7PjgYzlpLHmlZfjgZfjgb7jgZfjgZ9cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4ODIgbG9naW4tdXRpbHMvbG9naW4uYzoxMjMyIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI1NQorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHNldHVwIHByb2JsZW0sIGFib3J0LiIKK21zZ3N0ciAiIgorIlxuIgorIuOCu+ODg+OCt+ODp+ODs+OBruOCu+ODg+ODiOOCouODg+ODl+aZguOBq+WVj+mhjOOBjOeZuueUn+OBl+OBvuOBl+OBn+OAguS4reatouOBl+OBvuOBmeOAgiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVMTCB1c2VyIG5hbWUgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAi44Om44O844K25ZCN44GMIE5VTEwg44Gr44Gq44Gj44Gm44GE44KL566H5omA44GMICVzOiVkIOOBq+OBguOCiuOBvuOBmeOAguS4reaWreOBl+OBvuOBmeOAgiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMDIwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRJT0NTQ1RUWSBmYWlsZWQ6ICVtIgorbXNnc3RyICJUSU9DU0NUVFkg44Gr5aSx5pWX44GX44G+44GX44GfOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTc0CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luOiAtaCBpcyBmb3Igc3VwZXJ1c2VyIG9ubHlcbiIKK21zZ3N0ciAibG9naW46IC1oIOOBr+OCueODvOODkeODvOODpuODvOOCtuWwgueUqOOBp+OBmVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6IGxvZ2luIFstcF0gWy1oIDxob3N0Pl0gWy1IXSBbWy1mXSA8dXNlcm5hbWU+XVxuIgorbXNnc3RyICLkvb/jgYTmlrk6IGxvZ2luIFstcF0gWy1oIDzjg5vjgrnjg4g+XSBbLUhdIFtbLWZdIDzjg6bjg7zjgrblkI0+XVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExOTEKKyMsIGZ1enp5Cittc2dpZCAiQmVnaW4gYSBzZXNzaW9uIG9uIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIlNlc3Npb24ga2V5IOOBjOeiuueri+OBl+OBvuOBl+OBnzpcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdXNlciBuYW1lIFwiJXNcIiBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICLnhKHlirnjgarjg6bjg7zjgrblkI0gXCIlc1wiIOOBjCAlczolZCDjgavjgYLjgorjgb7jgZnjgILkuK3mlq3jgZfjgb7jgZkiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJncm91cHMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAi44Kw44Or44O844OX44Gu5rqW5YKZ44Gr5aSx5pWX44GX44G+44GX44GfOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjc5Cittc2dpZCAic2V0Z2lkKCkgZmFpbGVkIgorbXNnc3RyICJzZXRnaWQoKSDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMwOQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBuZXcgbWFpbC5cbiIKK21zZ3N0ciAi5paw44GX44GE44Oh44O844Or44GM5bGK44GE44Gm44GE44G+44GZ44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMxMQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBtYWlsLlxuIgorbXNnc3RyICLjg6Hjg7zjg6vjgYzlsYrjgYTjgabjgYTjgb7jgZnjgIJcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzI1Cittc2dpZCAic2V0dWlkKCkgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzMSBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjaGFuZ2UgZGlyZWN0b3J5IGZhaWxlZCIKK21zZ3N0ciAiJXM6IOODh+OCo+ODrOOCr+ODiOODquOBruWkieabtOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzM4IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9nZ2luZyBpbiB3aXRoIGhvbWUgPSBcIi9cIi5cbiIKK21zZ3N0ciAi44Ob44O844Og44OH44Kj44Os44Kv44OI44OqIFwiL1wiIOOBp+ODreOCsOOCpOODs+OBl+OBvuOBmeOAglxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNjcKK21zZ2lkICJjb3VsZG4ndCBleGVjIHNoZWxsIHNjcmlwdCIKK21zZ3N0ciAi44K344Kn44Or44K544Kv44Oq44OX44OI44KS5a6f6KGM44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNjkKK21zZ2lkICJubyBzaGVsbCIKK21zZ3N0ciAi44K344Kn44Or44GM44GC44KK44G+44Gb44KTIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGNvbnRhaW5zIGludmFsaWQgbnVtZXJpY2FsIHZhbHVlOiAlcyIKK21zZ3N0ciAiJXM6ICVzIOOBq+WQq+OBvuOCjOOBpuOBhOOCi+aVsOWApOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkzogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjM3NQorbXNnaWQgImh1c2ggbG9naW4gc3RhdHVzOiByZXN0b3JlIG9yaWdpbmFsIElEcyBmYWlsZWQiCittc2dzdHIgIuODj+ODg+OCt+ODpeODreOCsOOCpOODs+eKtuaFizog44Kq44Oq44K444OK44Or44GuIElEIOOBruW+qeWFg+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDggc3lzLXV0aWxzL2xzY3B1LmM6MTU0MCBzeXMtdXRpbHMvbHNjcHUuYzoxNTUwCittc2dpZCAibm8iCittc2dzdHIgIm5vIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNyBtaXNjLXV0aWxzL2xzYmxrLmM6MTgxCittc2dpZCAidXNlciBuYW1lIgorbXNnc3RyICLjg6bjg7zjgrblkI0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3Cittc2dpZCAiVXNlcm5hbWUiCittc2dzdHIgIuODpuODvOOCtuODvOWQjSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTggc3lzLXV0aWxzL3JlbmljZS5jOjU0Cittc2dpZCAidXNlciBJRCIKK21zZ3N0ciAi44Om44O844K2IElEIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgInBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAi44OR44K544Ov44O844OJ44Gv5LiN6KaB44Gn44GZIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgIlBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAi44OR44K544Ov44O844OJ44Gv5LiN6KaB44Gn44GZIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorbXNnaWQgImxvZ2luIGJ5IHBhc3N3b3JkIGRpc2FibGVkIgorbXNnc3RyICLjg5Hjgrnjg6/jg7zjg4njgavjgojjgovjg63jgrDjgqTjg7PjgYznhKHlirnjgavjgarjgaPjgabjgYTjgb7jgZkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAiTG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIuODkeOCueODr+ODvOODieOBq+OCiOOCi+ODreOCsOOCpOODs+OBjOeEoeWKueOBq+OBquOBo+OBpuOBhOOBvuOBmSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKK21zZ2lkICJwYXNzd29yZCBkZWZpbmVkLCBidXQgbG9ja2VkIgorbXNnc3RyICLjg5Hjgrnjg6/jg7zjg4njgYzlrprnvqnjgZXjgozjgabjgYTjgb7jgZnjgYzjgIHjg63jg4Pjgq/jgZXjgozjgabjgYTjgb7jgZkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCittc2dpZCAiUGFzc3dvcmQgaXMgbG9ja2VkIgorbXNnc3RyICLjg5Hjgrnjg6/jg7zjg4njgYzjg63jg4Pjgq/jgZXjgozjgabjgYTjgb7jgZkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAibG9nIGluIGRpc2FibGVkIGJ5IG5vbG9naW4oOCkgb3IgcGFtX25vbG9naW4oOCkiCittc2dzdHIgIuODreOCsOOCpOODs+OBjCBub2xvZ2luKDgpIOOBvuOBn+OBryBwYW1fbm9sb2dpbig4KSDjgavjgojjgaPjgabnhKHlirnjgavjgarjgaPjgabjgYTjgb7jgZkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCisjLCBmdXp6eQorbXNnaWQgIk5vIGxvZ2luIgorbXNnc3RyICLjg63jgrDjgqTjg7M6ICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJwcmltYXJ5IGdyb3VwIG5hbWUiCittc2dzdHIgIuODl+ODqeOCpOODnuODquOCsOODq+ODvOODl+WQjSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJQcmltYXJ5IGdyb3VwIgorbXNnc3RyICLjg5fjg6njgqTjg57jg6rjgrDjg6vjg7zjg5ciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI0Cittc2dpZCAicHJpbWFyeSBncm91cCBJRCIKK21zZ3N0ciAi44OX44Op44Kk44Oe44Oq44Kw44Or44O844OXIElEIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgbmFtZXMiCittc2dzdHIgIuijnOWKqeOCsOODq+ODvOODl+WQjSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAi6KOc5Yqp44Kw44Or44O844OXIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICLoo5zliqnjgrDjg6vjg7zjg5cgSUQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIuijnOWKqeOCsOODq+ODvOODlyBJRCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKK21zZ2lkICJob21lIGRpcmVjdG9yeSIKK21zZ3N0ciAi44Ob44O844Og44OH44Kj44Os44Kv44OI44OqIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworbXNnaWQgIkhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICLjg5vjg7zjg6Djg4fjgqPjg6zjgq/jg4jjg6oiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4Cittc2dpZCAibG9naW4gc2hlbGwiCittc2dzdHIgIuODreOCsOOCpOODs+OCt+OCp+ODqyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKK21zZ2lkICJTaGVsbCIKK21zZ3N0ciAi44K344Kn44OrIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgImZ1bGwgdXNlciBuYW1lIgorbXNnc3RyICLlrozlhajjgarjg6bjg7zjgrblkI0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5CisjLCBmdXp6eQorbXNnaWQgIkdlY29zIGZpZWxkIgorbXNnc3RyICLjg5XjgqPjg7zjg6vjg4kiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiZGF0ZSBvZiBsYXN0IGxvZ2luIgorbXNnc3RyICLliY3lm57jg63jgrDjgqTjg7Pjga7ml6Xku5giCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiTGFzdCBsb2dpbiIKK21zZ3N0ciAi5YmN5Zue44Ot44Kw44Kk44OzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgImxhc3QgdHR5IHVzZWQiCittc2dzdHIgIuWJjeWbnuS9v+eUqOOBl+OBn3R0eSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJMYXN0IHRlcm1pbmFsIgorbXNnc3RyICLliY3lm57jga7nq6/mnKsiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiaG9zdG5hbWUgZHVyaW5nIHRoZSBsYXN0IHNlc3Npb24iCittc2dzdHIgIuWJjeWbnuOCu+ODg+OCt+ODp+ODs+OBruODm+OCueODiOWQjSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJMYXN0IGhvc3RuYW1lIgorbXNnc3RyICLliY3lm57jg5vjgrnjg4jlkI0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiZGF0ZSBvZiBsYXN0IGZhaWxlZCBsb2dpbiIKK21zZ3N0ciAi5YmN5Zue44Gu44Gu5aSx5pWX44GX44Gf44Ot44Kw44Kk44Oz44Gu5pel5LuYIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworbXNnaWQgIkZhaWxlZCBsb2dpbiIKK21zZ3N0ciAi5aSx5pWX44GX44Gf44Ot44Kw44Kk44OzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorIywgZnV6enkKK21zZ2lkICJ3aGVyZSBkaWQgdGhlIGxvZ2luIGZhaWw/IgorbXNnc3RyICJsYXN0bG9nIOOBuOOBruabuOOBjei+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKK21zZ2lkICJGYWlsZWQgbG9naW4gdGVybWluYWwiCittc2dzdHIgIuODreOCsOOCpOODs+OBq+WkseaVl+OBl+OBn+err+acqyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKKyMsIGZ1enp5Cittc2dpZCAidXNlcidzIGh1c2ggc2V0dGluZ3MiCittc2dzdHIgIuioreWumihfUykiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAiSHVzaGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiZGF5cyB1c2VyIGlzIHdhcm5lZCBvZiBwYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICLjg6bjg7zjgrbjgYzjg5Hjgrnjg6/jg7zjg4nmnJ/pmZDliIfjgozorablkYrjgpLlj5fjgZHjgovml6XmlbAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiB3YXJuIGludGVydmFsIgorbXNnc3RyICLjg5Hjgrnjg6/jg7zjg4nmnJ/pmZDliIfjgozorablkYrjga7plpPpmpQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAicGFzc3dvcmQgZXhwaXJhdGlvbiBkYXRlIgorbXNnc3RyICLjg5Hjgrnjg6/jg7zjg4nmnInlirnmnJ/pmZAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIuODkeOCueODr+ODvOODieacn+mZkOWIh+OCjOitpuWRiuOBrumWk+malCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJkYXRlIG9mIGxhc3QgcGFzc3dvcmQgY2hhbmdlIgorbXNnc3RyICLliY3lm57jga7jg5Hjgrnjg6/jg7zjg4nlpInmm7Tjga7ml6Xku5giCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4CisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIGNoYW5nZWQiCittc2dzdHIgIuWkieabtCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzkKK21zZ2lkICJudW1iZXIgb2YgZGF5cyByZXF1aXJlZCBiZXR3ZWVuIGNoYW5nZXMiCittc2dzdHIgIuWkieabtOOBrumWk+OBq+W/heimgeOBquaXpeaVsCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzkKKyMsIGZ1enp5Cittc2dpZCAiTWluaW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAi5aSJ5pu05pel5pmCPSUtMjYuMjRzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAibWF4IG51bWJlciBvZiBkYXlzIGEgcGFzc3dvcmQgbWF5IHJlbWFpbiB1bmNoYW5nZWQiCittc2dzdHIgIuODkeOCueODr+ODvOODieOCkuWkieabtOOBl+OBquOBj+OBpuOCiOOBhOaXpeaVsOOBruacgOWkp+WApCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKKyMsIGZ1enp5Cittc2dpZCAiTWF4aW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAi5aSJ5pu05pel5pmCPSUtMjYuMjRzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCisjLCBmdXp6eQorbXNnaWQgInRoZSB1c2VyJ3Mgc2VjdXJpdHkgY29udGV4dCIKK21zZ3N0ciAi44Om44O844K244O844Kz44Oz44OG44Kt44K544OI44KS6Kit5a6a44Gn44GN44G+44Gb44KTIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgIlNlbGludXggY29udGV4dCIKK21zZ3N0ciAiU2VsaW51eCDjgrPjg7Pjg4bjgq3jgrnjg4giCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBydW4gYnkgdGhlIHVzZXIiCittc2dzdHIgIuODpuODvOOCtuOBq+OCiOOBo+OBpuWun+ihjOS4reOBruODl+ODreOCu+OCueaVsCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKK21zZ2lkICJSdW5uaW5nIHByb2Nlc3NlcyIKK21zZ3N0ciAi5a6f6KGM5Lit44Gu44OX44Ot44K744K5IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzYgbWlzYy11dGlscy9sc2Jsay5jOjIzMQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGNvbHVtbnMgc3BlY2lmaWVkLCB0aGUgbGltaXQgaXMgJXp1IGNvbHVtbnMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDMgc3lzLXV0aWxzL2xzaXBjLmM6NDU2CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIHRpbWUgdHlwZSIKK21zZ3N0ciAi44K144Od44O844OI44GV44KM44Gm44Gq44GEIExEQVAgVVJJIOOCv+OCpOODl+OBp+OBmTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjb21wb3NlIHRpbWUgc3RyaW5nIgorbXNnc3RyICItLXRpbWVvdXQg44Gu6Kej6YeI44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjY0OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICLoo5zliqnjgrDjg6vjg7zjg5ciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA3MQorbXNnaWQgImludGVybmFsIGVycm9yOiB1bmtub3duIGNvbHVtbiIKK21zZ3N0ciAi5YaF6YOo44Ko44Op44O8OiDmnKrnn6Xjga7mrITjgYzjgYLjgorjgb7jgZkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA3NSBzeXMtdXRpbHMvbHNpcGMuYzo1MDMgc3lzLXV0aWxzL2xzaXBjLmM6NjI1CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo2ODAgc3lzLXV0aWxzL2xzaXBjLmM6ODM4IHN5cy11dGlscy9sc2lwYy5jOjEwMzYKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGRhdGEiCittc2dzdHIgIuODh+ODvOOCv+OBruioreWumuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMTY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTGFzdCBsb2dzOlxuIgorbXNnc3RyICIiCisiXG4iCisi5pyA57WC5pu05pawOiAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyOCBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMSBtaXNjLXV0aWxzL21jb29raWUuYzo4MiBtaXNjLXV0aWxzL3V1aWRkLmM6NzAKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI1IHN5cy11dGlscy9kbWVzZy5jOjI2NCBzeXMtdXRpbHMvaXBjbWsuYzo2NgorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2MCBzeXMtdXRpbHMvbHNpcGMuYzoyNzcgc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA0CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjk1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MCB0ZXh0LXV0aWxzL2xpbmUuYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzEKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM0Cittc2dpZCAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBkaXNwbGF5IGluZm8gYWJvdXQgcGFzc3dvcmRzIGV4cGlyYXRpb25cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzUKK21zZ2lkICIgLWMsIC0tY29sb24tc2VwYXJhdGUgICAgIGRpc3BsYXkgZGF0YSBpbiBhIGZvcm1hdCBzaW1pbGFyIHRvIC9ldGMvcGFzc3dkXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM2IHN5cy11dGlscy9sc2lwYy5jOjI5NgorIywgZnV6enkKK21zZ2lkICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGRpc3BsYXkgaW4gYW4gZXhwb3J0LWFibGUgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICDnibnjgavliqDlt6XjgpLooYzjgo/jgZrjgavlh7rlipvjgZfjgb7jgZlcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM3CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAgZGlzcGxheSBkYXRhIGFib3V0IHRoZSB1c2VycycgbGFzdCBmYWlsZWQgbG9naW5zXG4iCittc2dzdHIgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAg44Om44O844K244K544Oa44O844K544Gu44Oh44OD44K744O844K444KS5Ye65Yqb44GX44G+44GZXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgZ3JvdXBzXG4iCittc2dzdHIgIiAtaCwgLS1oZWxwICAgICAgICAgICDkvb/nlKjms5UgKOOBk+OCjCkg44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOQorbXNnaWQgIiAtZywgLS1ncm91cHM9PGdyb3Vwcz4gICAgZGlzcGxheSB1c2VycyBiZWxvbmdpbmcgdG8gYSBncm91cCBpbiA8Z3JvdXBzPlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MAorbXNnaWQgIiAtTCwgLS1sYXN0ICAgICAgICAgICAgICAgc2hvdyBpbmZvIGFib3V0IHRoZSB1c2VycycgbGFzdCBsb2dpbiBzZXNzaW9uc1xuIgorbXNnc3RyICIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIOODpuODvOOCtuOBruWJjeWbnuOBruODreOCsOOCpOODs+OCu+ODg+OCt+ODp+ODs+OBq+OBpOOBhOOBpuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxvZ2lucz08bG9naW5zPiAgICBkaXNwbGF5IG9ubHkgdXNlcnMgZnJvbSA8bG9naW5zPlxuIgorbXNnc3RyICIgLXcsIC0tZnVsbG5hbWVzICAgICAgICAgIOODpuODvOOCtuWQjeOBqOODieODoeOCpOODs+WQjeOCkuWujOWFqOOBquW9ouW8j+OBp+ihqOekuuOBl+OBvuOBmVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDIgc3lzLXV0aWxzL2xzaXBjLmM6Mjk4CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uZXdsaW5lICAgICAgICAgICAgZGlzcGxheSBlYWNoIHBpZWNlIG9mIGluZm9ybWF0aW9uIG9uIGEgbmV3IGxpbmVcbiIKK21zZ3N0ciAiIC1oLCAtLWhlbHAgICAgICAgICAgIOS9v+eUqOazlSAo44GT44KMKSDjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQzIHN5cy11dGlscy9sc2lwYy5jOjI5MQorbXNnaWQgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgIOODmOODg+ODgOOCkuihqOekuuOBl+OBvuOBm+OCk1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDQgc3lzLXV0aWxzL2xzaXBjLmM6MjkyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub3RydW5jYXRlICAgICAgICAgZG9uJ3QgdHJ1bmNhdGUgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICDjg5Ljg7Pjg4jjgpLooajnpLrjgZfjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0Wz08bGlzdD5dICAgIGRlZmluZSB0aGUgY29sdW1ucyB0byBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdD4g5Ye65Yqb44GZ44KL5YiX44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcHdkICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBsb2dpbiBieSBwYXNzd29yZC5cbiIKK21zZ3N0ciAiIC1oLCAtLWhlbHAgICAgICAgICAgIOS9v+eUqOazlSAo44GT44KMKSDjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ3IHN5cy11dGlscy9sc2lwYy5jOjMwMgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIGRpc3BsYXkgaW4gcmF3IG1vZGVcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgIOWKoOW3peOCkuihjOOBquOCj+OBquOBhOWHuuWKm+W9ouW8j+OCkuS9v+eUqOOBl+OBvuOBmVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDgKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICBkaXNwbGF5IHN5c3RlbSBhY2NvdW50c1xuIgorbXNnc3RyICIgLWEsIC0taG9zdGxhc3QgICAgICAgICAgIOacgOW+jOOBruWIl+OBq+ihqOekuuOBmeOCi+ODm+OCueODiOWQjVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDkgc3lzLXV0aWxzL2xzaXBjLmM6MjkzCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS10aW1lLWZvcm1hdD08dHlwZT4gZGlzcGxheSBkYXRlcyBpbiBzaG9ydCwgZnVsbCBvciBpc28gZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS10aW1lLWZvcm1hdCA85b2i5byPPiDjgr/jgqTjg6Djgrnjgr/jg7Pjg5fjgpLmjIflrprjgZfjgZ/lvaLlvI/jgafooajnpLrjgZfjgb7jgZk6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIGRpc3BsYXkgdXNlciBhY2NvdW50c1xuIgorbXNnc3RyICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIOODpuODvOOCtuOCueODmuODvOOCueOBruODoeODg+OCu+ODvOOCuOOCkuWHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTEKKyMsIGZ1enp5Cittc2dpZCAiIC1aLCAtLWNvbnRleHQgICAgICAgICAgICBkaXNwbGF5IFNFTGludXggY29udGV4dHNcbiIKK21zZ3N0ciAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICDjgqvjg7zjg43jg6vjg6Hjg4Pjgrvjg7zjgrjjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUyCisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS1wcmludDAgICAgICAgICAgICAgZGVsaW1pdCB1c2VyIGVudHJpZXMgd2l0aCBhIG51bCBjaGFyYWN0ZXJcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgICAgICAg44K344Kw44OK44Or44KS6YCB5L+h44Gb44Ga44CBIFBJRCDjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUzCittc2dpZCAiICAgICAtLXd0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIHd0bXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTQKK21zZ2lkICIgICAgIC0tYnRtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3IgYnRtcFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1OSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ3IHN5cy11dGlscy9sc2NwdS5jOjE5NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisiXG4iCisi5Yip55So5Y+v6IO944Gq5YiXOlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NDIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlcXVlc3Qgc2VsaW51eCBzdGF0ZSIKK21zZ3N0ciAi5ZCN5YmN44Gu5Y+W5b6X44Gr5aSx5pWX44GX44G+44GX44GfOiAlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDU2IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ2MAorbXNnaWQgIk9ubHkgb25lIHVzZXIgbWF5IGJlIHNwZWNpZmllZC4gVXNlIC1sIGZvciBtdWx0aXBsZSB1c2Vycy4iCittc2dzdHIgIuS4gOOBpOOBruODpuODvOOCtuOBruOBv+aMh+WumuOBp+OBjeOBvuOBmeOAguikh+aVsOOBruODpuODvOOCtuOCkuaMh+WumuOBmeOCi+OBq+OBryAtbCDjgpLkvb/nlKjjgZfjgabjgY/jgaDjgZXjgYTjgIIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjU1Cittc2dpZCAiY291bGQgbm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICLnq6/mnKvlsZ7mgKfjgpLoqK3lrprjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ8iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjU3Cittc2dpZCAiZ2V0bGluZSgpIGZhaWxlZCIKK21zZ3N0ciAiZ2V0bGluZSgpIOWkseaVlyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTQ4Cittc2dpZCAiUGFzc3dvcmQ6ICIKK21zZ3N0ciAi44OR44K544Ov44O844OJOiAiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE1NCBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAwNQorbXNnaWQgImNyeXB0IGZhaWxlZCIKK21zZ3N0ciAiY3J5cHQg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxncm91cD5cbiIKK21zZ3N0ciAiICVzIDzjgrDjg6vjg7zjg5c+XG4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE2OQorIywgZnV6enkKK21zZ2lkICJMb2cgaW4gdG8gYSBuZXcgZ3JvdXAuXG4iCittc2dzdHIgIuaWsOimj+OCsOODq+ODvOODlyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjA3Cittc2dpZCAid2hvIGFyZSB5b3U/IgorbXNnc3RyICLoqrDjgafjgZnjgYvvvJ8iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxMSBsb2dpbi11dGlscy9uZXdncnAuYzoyMjMgc3lzLXV0aWxzL25zZW50ZXIuYzo0MjMKK21zZ2lkICJzZXRnaWQgZmFpbGVkIgorbXNnc3RyICJzZXRnaWQg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTYgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjE4Cittc2dpZCAibm8gc3VjaCBncm91cCIKK21zZ3N0ciAi44Gd44Gu44KI44GG44Gq44Kw44Or44O844OX44Gv44GC44KK44G+44Gb44KTIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjEgc3lzLXV0aWxzL21vdW50LmM6NDkxCittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQiCittc2dzdHIgIuOCouOCr+OCu+OCueOBjOaLkuWQpuOBleOCjOOBvuOBl+OBnyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI3IHN5cy11dGlscy9uc2VudGVyLmM6NDI1Cittc2dpZCAic2V0dWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkIOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbG9naW4tdXRpbHMvbm9sb2dpbi5jOjI5Cittc2dpZCAiUG9saXRlbHkgcmVmdXNlIGEgbG9naW4uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbm9sb2dpbi5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoaXMgYWNjb3VudCBpcyBjdXJyZW50bHkgbm90IGF2YWlsYWJsZS5cbiIKK21zZ3N0ciAi44GT44Gu44Ki44Kr44Km44Oz44OI44Gv54++5Zyo5Yip55So44Gn44GN44G+44Gb44KT44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBzZXNzaW9uOiAlcyIKK21zZ3N0ciAi44K744OD44K344On44Oz44KS6ZaL44GP44GT44Go44GM44Gn44GN44G+44Gb44KTOiAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzA0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBjaGlsZCBwcm9jZXNzIgorbXNnc3RyICLlrZDjg5fjg63jgrvjgrnjgpLkvZzmiJDjgafjgY3jgb7jgZvjgpMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAi44OH44Kj44Os44Kv44OI44Oq44KSICVzIOOBq+WkieabtOOBp+OBjeOBvuOBm+OCkyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzIxCittc2dpZCAiY2Fubm90IGJsb2NrIHNpZ25hbHMiCittc2dzdHIgIuOCt+OCsOODiuODq+OCkuODluODreODg+OCr+OBp+OBjeOBvuOBm+OCkyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzM1IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM0MworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzQ5IG1pc2MtdXRpbHMvdXVpZGQuYzo0MDcgdGVybS11dGlscy9zY3JpcHQuYzo3NzEKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICLjgrfjgrDjg4rjg6vjg4/jg7Pjg4njg6njgpLoqK3lrprjgafjgY3jgb7jgZvjgpMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM3NAorbXNnaWQgIiAoY29yZSBkdW1wZWQpIgorbXNnc3RyICLvvIjjgrPjgqLjgpLjg4Djg7Pjg5fjgZfjgb7jgZfjgZ/vvIkiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLCBraWxsaW5nIHNoZWxsLi4uIgorbXNnc3RyICIiCisiXG4iCisi44K744OD44K344On44Oz44GM57WC5LqG44GX44G+44GX44GfLCDjgrfjgqfjg6vjgpLlgZzmraLjgZfjgabjgYTjgb7jgZkuLi4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICIgLi4ua2lsbGVkLlxuIgorbXNnc3RyICIgLi4u5YGc5q2i44GX44G+44GX44Gf44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQ4NgorbXNnaWQgIm1heSBub3QgYmUgdXNlZCBieSBub24tcm9vdCB1c2VycyIKK21zZ3N0ciAicm9vdCDku6XlpJbjga7jg6bjg7zjgrbjgYzkvb/nlKjjgZnjgovjgZPjgajjga/jgafjgY3jgb7jgZvjgpMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjUxNAorbXNnaWQgImluY29ycmVjdCBwYXNzd29yZCIKK21zZ3N0ciAi44OR44K544Ov44O844OJ44GM6ZaT6YGV44Gj44Gm44GE44G+44GZIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1OTgKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwcyIKK21zZ3N0ciAi44Kw44Or44O844OX44KS6Kit5a6a44Gn44GN44G+44Gb44KTIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2MTMgc3lzLXV0aWxzL2VqZWN0LmM6NjY1Cittc2dpZCAiY2Fubm90IHNldCBncm91cCBpZCIKK21zZ3N0ciAi44Kw44Or44O844OXIElEIOOCkuioreWumuOBp+OBjeOBvuOBm+OCkyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjE1IHN5cy11dGlscy9lamVjdC5jOjY2OAorbXNnaWQgImNhbm5vdCBzZXQgdXNlciBpZCIKK21zZ3N0ciAi44Om44O844K2IElEIOOCkuioreWumuOBp+OBjeOBvuOBm+OCkyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC11IDx1c2VyPiBbWy0tXSA8Y29tbWFuZD5dXG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSAtdSA844Om44O844K2PiA844Kz44Oe44Oz44OJPlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2ODkgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10gWy1dIFs844Om44O844K2PiBbPOW8leaVsD4uLi5dXVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2OTAKK21zZ2lkICIiCisiXG4iCisiUnVuIDxjb21tYW5kPiB3aXRoIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgb2YgPHVzZXI+LiAgSWYgLXUgaXNcbiIKKyJub3QgZ2l2ZW4sIGZhbGwgYmFjayB0byBzdSgxKS1jb21wYXRpYmxlIHNlbWFudGljcyBhbmQgZXhlY3V0ZSBzdGFuZGFyZCBzaGVsbC5cbiIKKyJUaGUgb3B0aW9ucyAtYywgLWYsIC1sLCBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC11LlxuIgorbXNnc3RyICIiCisiXG4iCisiPOODpuODvOOCtj4g44Gn5oyH5a6a44GX44Gf5a6f5Yq544Om44O844K2IElEIOOBqOOCsOODq+ODvOODlyBJRCDjgafjgIE844Kz44Oe44Oz44OJPuOCkuWun+ihjOOBl+OBvuOBmeOAglxuIgorIi11IOOCkuaMh+WumuOBl+OBquOBhOWgtOWQiOOAgeW+k+adpeOBriBzdSgxKSDjgajkupLmj5vmgKfjga7jgYLjgovli5XkvZzjgajjgarjgorjgIHjgrfjgqfjg6vjgYzotbfli5VcbiIKKyLjgZXjgozjgb7jgZnjgILjgarjgYrjgIEtYywgLWYsIC1sLCAtcyDjga7jgqrjg5fjgrfjg6fjg7Pjga8gLXUg44Go5o6S5LuW6Zai5L+C44Gr44GC44KK44G+44GZ44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY5NworbXNnaWQgIiAtdSwgLS11c2VyIDx1c2VyPiAgICAgICAgICAgICB1c2VybmFtZVxuIgorbXNnc3RyICIgLXUsIC0tdXNlciA844Om44O844K2PiAgICAgICAgICAgICDjg6bjg7zjgrblkI1cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzAyCittc2dpZCAiIgorIlxuIgorIkNoYW5nZSB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIHRvIHRoYXQgb2YgPHVzZXI+LlxuIgorIkEgbWVyZSAtIGltcGxpZXMgLWwuICBJZiA8dXNlcj4gaXMgbm90IGdpdmVuLCByb290IGlzIGFzc3VtZWQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyLlrp/lirnjg6bjg7zjgrYgSUQg44Go44Kw44Or44O844OXIElEIOOCkuOAgeaMh+WumuOBl+OBnzzjg6bjg7zjgrY+44Gu44KC44Gu44Gr5YiH44KK5pu/44GI44G+44GZ44CCXG4iCisi44Gq44GK44CBIC0g44GvIC1sIOOBruaEj+WRs+OCkuWQq+OBv+OBvuOBmeOAgjzjg6bjg7zjgrY+44KS5oyH5a6a44GX44Gq44GE5aC05ZCI44GvIHJvb3Qg44Gn44GC44KL44KC44Gu44GoXG4iCisi44G/44Gq44GV44KM44G+44GZ44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwOQorbXNnaWQgIiAtbSwgLXAsIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgIGRvIG5vdCByZXNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXNcbiIKK21zZ3N0ciAiIC1tLCAtcCwgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCAg55Kw5aKD5aSJ5pWw44KS44Oq44K744OD44OI44GX44G+44Gb44KTXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMAorbXNnaWQgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICAgICAgICAgIHNwZWNpZnkgdGhlIHByaW1hcnkgZ3JvdXBcbiIKK21zZ3N0ciAiIC1nLCAtLWdyb3VwIDzjgrDjg6vjg7zjg5c+ICAgICAgICAgIOODl+ODqeOCpOODnuODquOCsOODq+ODvOODl+OCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTEKK21zZ2lkICIiCisiIC1HLCAtLXN1cHAtZ3JvdXAgPGdyb3VwPiAgICAgICAgc3BlY2lmeSBhIHN1cHBsZW1lbnRhbCBncm91cFxuIgorIlxuIgorbXNnc3RyICIiCisiIC1HLCAtLXN1cHAtZ3JvdXAgPOOCsOODq+ODvOODlz4gICAgICAgICAgICDoo5zliqnjgrDjg6vjg7zjg5fjgpLmjIflrprjgZfjgb7jgZlcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzEzCittc2dpZCAiIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgICAgbWFrZSB0aGUgc2hlbGwgYSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICDjgZPjga7jgaHjgofjgaPjgajjgZfjgZ/kvb/jgYTmlrnjgpLooajnpLrjgZnjgotcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE0Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCittc2dzdHIgIiIKKyIgLWMsIC0tY29tbWFuZCA844Kz44Oe44Oz44OJPiAgICAgICAgLWMg44KS5Yip55So44GX44Gm5Y2Y5LiA44Gu44Kz44Oe44Oz44OJ44KSXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg44K344Kn44Or44Gr5rih44GX44G+44GZXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxNQorbXNnaWQgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkbyBub3QgY3JlYXRlIGEgbmV3IHNlc3Npb25cbiIKK21zZ3N0ciAiIgorIiAtLXNlc3Npb24tY29tbWFuZCA844Kz44Oe44Oz44OJPiAgICAtYyDjgpLliKnnlKjjgZfjgabljZjkuIDjga7jgrPjg57jg7Pjg4njgpLjgrfjgqfjg6vjgavmuKHjgZfjgIFcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDmlrDjgZfjgYTjgrvjg4Pjgrfjg6fjg7Pjga7kvZzmiJDjga/ooYzjgYTjgb7jgZvjgpNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE3Cittc2dpZCAiIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgICAgcGFzcyAtZiB0byB0aGUgc2hlbGwgKGZvciBjc2ggb3IgdGNzaClcbiIKK21zZ3N0ciAiIgorIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgIOOCt+OCp+ODq+OBqyAtZiDjgpLmuKHjgZfjgb7jgZlcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjc2gg44KEIHRjc2gg5ZCR44GR44Gu5qmf6IO9KVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTgKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgICBydW4gPHNoZWxsPiBpZiAvZXRjL3NoZWxscyBhbGxvd3MgaXRcbiIKK21zZ3N0ciAiIgorIiAtcywgLS1zaGVsbCA844K344Kn44OrPiAgICAgICAgICAgIC9ldGMvc2hlbGxzIOOBp+ioseWPr+OBl+OBpuOBhOOCjOOBsOOAgVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPOOCt+OCp+ODqz7jgpLotbfli5XjgZfjgb7jgZlcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzYyCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cCBpcyBub3QgcG9zc2libGUiCittc2dpZF9wbHVyYWwgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cHMgaXMgbm90IHBvc3NpYmxlIgorbXNnc3RyWzBdICIlZCDlgIvku6XkuIrjga7oo5zliqnjgrDjg6vjg7zjg5fjgpLmjIflrprjgZnjgovjgZPjgajjga/jgafjgY3jgb7jgZvjgpMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc2OAorIywgYy1mb3JtYXQKK21zZ2lkICJncm91cCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi44Kw44Or44O844OXICVzIOOBjOWtmOWcqOOBl+OBvuOBm+OCkyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODg2CisjLCBmdXp6eQorbXNnaWQgImlnbm9yaW5nIC0tcHJlc2VydmUtZW52aXJvbm1lbnQsIGl0J3MgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1sb2dpbiIKK21zZ3N0ciAiLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCDjgpLnhKHoppbjgZfjgb7jgZnjgIItLWxvZ2luIOOBqOaOkuS7lueahOOBquOBn+OCgeOBp+OBmeOAgiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODk3CisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbnMgLS17c2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbn0gYW5kIC0tdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItLXtzaGVsbCxmYXN0LGNvbW1hbmQsc2Vzc2lvbi1jb21tYW5kLGxvZ2lufSDjgaggLS11c2VyIOOBruOCquODl+OCt+ODp+ODs+OBr+OAgeWQjOaZguOBq+S9v+eUqOOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCk+OAgiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTAxCittc2dpZCAibm8gY29tbWFuZCB3YXMgc3BlY2lmaWVkIgorbXNnc3RyICLjgrPjg57jg7Pjg4njgYzmjIflrprjgZXjgozjgabjgYTjgb7jgZvjgpMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkxNQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gc3BlY2lmeSBhbHRlcm5hdGl2ZSBncm91cHMiCittc2dzdHIgIuijnOWKqeOCsOODq+ODvOODl+OCkuaMh+WumuOBp+OBjeOCi+OBruOBryByb290IOOBoOOBkeOBp+OBmSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTIyCisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIuODpuODvOOCtiAlcyDjgYzlrZjlnKjjgZfjgabjgYTjgb7jgZvjgpMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyByZXN0cmljdGVkIHNoZWxsICVzIgorbXNnc3RyICLliLbpmZDjgrfjgqfjg6sgJXMg44KS5L2/55So44GX44Gm44GE44G+44GZIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIuitpuWRijog44OH44Kj44Os44Kv44OI44Oq44KSICVzIOOBq+WkieabtOOBp+OBjeOBvuOBm+OCkyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEzMAorbXNnaWQgInRjZ2V0YXR0ciBmYWlsZWQiCittc2dzdHIgInRjZ2V0YXR0ciDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoyMDcKK21zZ2lkICJ0Y3NldGF0dHIgZmFpbGVkIgorbXNnc3RyICJ0Y3NldGF0dHIg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdFxuIgorbXNnc3RyICIlczogcm9vdCDnlKjjga7poIXnm67jgYzjgYLjgorjgb7jgZvjgpNcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3QiCittc2dzdHIgIiVzOiByb290IOeUqOOBrumgheebruOBjOOBguOCiuOBvuOBm+OCkyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcm9vdCBwYXNzd29yZCBnYXJibGVkIgorbXNnc3RyICIlczogcm9vdCDjga7jg5Hjgrnjg6/jg7zjg4njgpLmraPjgZfjgY/oqq3jgb/ovrzjgoDjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkNhbm5vdCBvcGVuIGFjY2VzcyB0byBjb25zb2xlLCB0aGUgcm9vdCBhY2NvdW50IGlzIGxvY2tlZC5cbiIKKyJTZWUgc3Vsb2dpbig4KSBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLlxuIgorIlxuIgorIlByZXNzIEVudGVyIHRvIGNvbnRpbnVlLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBsb2dpbjogIgorbXNnc3RyICJyb290IOOBruODkeOCueODr+ODvOODieOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhDogIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBsb2dpbjogIgorbXNnc3RyICLjg63jgrDjgqTjg7PjgZnjgovjgavjga8gRW50ZXIg44KS5oq844GX44Gm44GP44Gg44GV44GEOiAiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICLjg6Hjg7Pjg4bjg4rjg7PjgrnjgpLooYzjgYTjgb7jgZnjgIIgcm9vdCDjga7jg5Hjgrnjg6/jg7zjg4njgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYRcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIuODoeODs+ODhuODiuODs+OCueOCkuihjOOBhuOBq+OBryBFbnRlciDjgpLmirzjgZfjgabjgY/jgaDjgZXjgYQiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiKG9yIHByZXNzIENvbnRyb2wtRCB0byBjb250aW51ZSk6ICIKK21zZ3N0ciAiKENvbnRyb2wtRCDjgpLmirzjgZnjgajjgIHlh6bnkIbjgpLntprooYzjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZkpOiAiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3NDIKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IHRvIHN5c3RlbSByb290IGZhaWxlZCIKK21zZ3N0ciAi44K344K544OG44Og44Or44O844OI44Gr44OH44Kj44Os44Kv44OI44Oq44KS5YiH44KK5pu/44GI44KL5Yem55CG44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzkxCittc2dpZCAic2V0ZXhlY2NvbiBmYWlsZWQiCittc2dzdHIgInNldGV4ZWNjb24g44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3R0eSBkZXZpY2VdXG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSBbdHR5IOODh+ODkOOCpOOCuV1cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxNAorbXNnaWQgIlNpbmdsZS11c2VyIGxvZ2luLlxuIgorbXNnc3RyICLjgrfjg7PjgrDjg6vjg6bjg7zjgrbjg7wg44Ot44Kw44Kk44Oz44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MTcKK21zZ2lkICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICBzdGFydCBhIGxvZ2luIHNoZWxsXG4iCisiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICBtYXggdGltZSB0byB3YWl0IGZvciBhIHBhc3N3b3JkIChkZWZhdWx0OiBubyBsaW1pdClcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGV4YW1pbmUgcGFzc3dvcmQgZmlsZXMgZGlyZWN0bHkgaWYgZ2V0cHduYW0oMykgZmFpbHNcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1sb2dpbi1zaGVsbCAgICAgICAg44Ot44Kw44Kk44Oz44K344Kn44Or44KS6LW35YuV44GX44G+44GZXG4iCisiIC10LCAtLXRpbWVvdXQgPOenkj4gICAgICAg44OR44K544Ov44O844OJ44Gu5YWl5Yqb5b6F44Gh5pmC6ZaT44KS5oyH5a6a44GX44G+44GZICjml6LlrprlgKQ6IOeEoeWItumZkClcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGdldHB3bmFtKDMpIOOBjOWkseaVl+OBl+OBn+WgtOWQiOOAgeODkeOCueODr+ODvOODieODleOCoeOCpOODq+OCkuebtOaOpeiqreOBv+i+vOOBv+OBvuOBmVxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODcxIG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NjMgc3lzLXV0aWxzL3dkY3RsLmM6NTIzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc1MCB0ZXJtLXV0aWxzL3dhbGwuYzoxMzUKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQiCittc2dzdHIgIuaZgumWk+WIh+OCjOOBruW8leaVsOOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg5MworbXNnaWQgIm9ubHkgc3VwZXJ1c2VyIGNhbiBydW4gdGhpcyBwcm9ncmFtIgorbXNnc3RyICLjgrnjg7zjg5Hjg7zjg6bjg7zjgrbjgaDjgZHjgYzjgZPjga7jg5fjg63jgrDjg6njg6DjgpLotbDjgonjgZvjgovjgZPjgajjgYzjgafjgY3jgb7jgZkiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5MzYKK21zZ2lkICJjYW5ub3Qgb3BlbiBjb25zb2xlIgorbXNnc3RyICLjgrPjg7Pjgr3jg7zjg6vjgpLplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5NDMKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYXNzd29yZCBkYXRhYmFzZSIKK21zZ3N0ciAi44OR44K544Ov44O844OJ44OH44O844K/44OZ44O844K544KS6ZaL44GP44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2FuIG5vdCBleGVjdXRlIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIiIKKyJzdSDjgrfjgqfjg6vjgpLotbfli5XjgafjgY3jgb7jgZvjgpNcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjcKK21zZ2lkICIiCisiVGltZWQgb3V0XG4iCisiXG4iCittc2dzdHIgIiIKKyLmmYLplpPliIfjgozjgafjgZlcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwNTkKKyMsIGZ1enp5Cittc2dpZCAiIgorIkNhbiBub3Qgd2FpdCBvbiBzdSBzaGVsbFxuIgorIlxuIgorbXNnc3RyICIiCisic3Ug44K344Kn44Or44KS6LW35YuV44Gn44GN44G+44Gb44KTXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTc2IHRleHQtdXRpbHMvdGFpbGYuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaC4iCittc2dzdHIgIiVzOiBpbm90aWZ5IOOBruebo+imluOCkui/veWKoOOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxODUgdGV4dC11dGlscy90YWlsZi5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgaW5vdGlmeSBldmVudHMiCittc2dzdHIgIiVzOiBpbm90aWZ5IOOCpOODmeODs+ODiOOCkuiqreOBv+i+vOOCgOOBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDYgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNTEKK21zZ2lkICJFeHRyYW5lb3VzIG5ld2xpbmUgaW4gZmlsZS4gRXhpdGluZy4iCittc2dzdHIgIuODleOCoeOCpOODq+WGheOBq+S4jeimgeOBquaUueihjOOBjOa3t+WFpeOBl+OBpuOBhOOBvuOBmeOAguWHpueQhuOCkue1guS6huOBl+OBvuOBmeOAgiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZW5hbWVdXG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSBb44OV44Kh44Kk44Or5ZCNXVxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMgorbXNnaWQgIkR1bXAgVVRNUCBhbmQgV1RNUCBmaWxlcyBpbiByYXcgZm9ybWF0LlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE1Cittc2dpZCAiIC1mLCAtLWZvbGxvdyAgICAgICAgIG91dHB1dCBhcHBlbmRlZCBkYXRhIGFzIHRoZSBmaWxlIGdyb3dzXG4iCittc2dzdHIgIiAtZiwgLS1mb2xsb3cgICAgICAgICDjg5XjgqHjgqTjg6vjgYzov73oqJjjgZXjgozjgovjgZ/jgbPjgavjgZ3jga7lhoXlrrnjgpLooajnpLrjgZnjgovjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTYKK21zZ2lkICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgd3JpdGUgYmFjayBkdW1wZWQgZGF0YSBpbnRvIHV0bXAgZmlsZVxuIgorbXNnc3RyICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgICAg44OA44Oz44OX44OH44O844K/44KSIHV0bXAg44OV44Kh44Kk44Or44Gr5pu444GN5oi744GX44G+44GZXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8ZmlsZT4gIHdyaXRlIHRvIGZpbGUgaW5zdGVhZCBvZiBzdGFuZGFyZCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA844OV44Kh44Kk44OrPiDmqJnmupblh7rlipvjgafjga/jgarjgY/jg5XjgqHjgqTjg6vjgavmm7jjgY3ovrzjgb/jgb7jgZlcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODQKK21zZ2lkICJmb2xsb3dpbmcgc3RhbmRhcmQgaW5wdXQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIuaomea6luWFpeWKm+OBq+WvvuOBl+OBpiAtLWZvbGxvdyDjgpLkvb/nlKjjgZnjgovjgZPjgajjga/jgafjgY3jgb7jgZvjgpMiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgdW5kdW1wIG9mICVzXG4iCittc2dzdHIgIiVzIOOBriB1dG1wIOmAhuODgOODs+ODl1xuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIGR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiJXMg44GuIHV0bXAg44OA44Oz44OXXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNDEKK21zZ2lkICJjYW4ndCBvcGVuIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICLkuIDmmYLjg5XjgqHjgqTjg6vjgpLplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNyZWF0ZSBhIGxpbmsgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogJXMg44Gr5a++44GX44Gm44Oq44Oz44Kv44KS5L2c5oiQ44GZ44KL5Yem55CG44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IGdldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiJXMg44Gu44Kz44Oz44OG44Kt44K544OI44KS5Y+W5b6X44Gn44GN44G+44Gb44KTIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IHNldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiJXMg44Gu44Kz44Oz44OG44Kt44K544OI44KS6Kit5a6a44Gn44GN44G+44Gb44KTIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVuY2hhbmdlZCIKK21zZ3N0ciAiJXMg44Gv5aSJ5pu044GV44KM44G+44Gb44KT44Gn44GX44GfIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjU0Cittc2dpZCAiY2Fubm90IGdldCBsb2NrIgorbXNnc3RyICLjg63jg4Pjgq8gKOaWvemMoCkg44KS5Y+W5b6X44Gn44GN44G+44Gb44KTIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjgxCittc2dpZCAibm8gY2hhbmdlcyBtYWRlIgorbXNnc3RyICLlpInmm7Tjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTAKK21zZ2lkICJjYW5ub3QgY2htb2QgZmlsZSIKK21zZ3N0ciAi44OV44Kh44Kk44Or44KSIGNobW9kIOOBp+OBjeOBvuOBm+OCkyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjMwNAorbXNnaWQgIkVkaXQgdGhlIHBhc3N3b3JkIG9yIGdyb3VwIGZpbGUuXG4iCittc2dzdHIgIuODkeOCueODr+ODvOODieODleOCoeOCpOODq+OBvuOBn+OBr+OCsOODq+ODvOODl+ODleOCoeOCpOODq+OCkue3qOmbhuOBl+OBvuOBmeOAglxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzUwCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgZ3JvdXBzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICLjgZPjga7jgrfjgrnjg4bjg6Djgafjga/jgIEgc2hhZG93IOW9ouW8j+OBruOCsOODq+ODvOODl+OBjOS9v+OCj+OCjOOBpuOBhOOBvuOBmeOAglxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzUxCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgcGFzc3dvcmRzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICLjgZPjga7jgrfjgrnjg4bjg6Djgafjga/jgIEgc2hhZG93IOW9ouW8j+OBruODkeOCueODr+ODvOODieOBjOS9v+OCj+OCjOOBpuOBhOOBvuOBmeOAglxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhpcyBwcm9ncmFtIHVzZXMgZm9yIHkgYW5kIG4gcnBtYXRjaCgzKSwKKyMuICogd2hpY2ggbWVhbnMgdGhleSBjYW4gYmUgdHJhbnNsYXRlZC4KKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV291bGQgeW91IGxpa2UgdG8gZWRpdCAlcyBub3cgW3kvbl0/ICIKK21zZ3N0ciAi5LuK44GZ44GQICVzIOOCkue3qOmbhuOBl+OBvuOBmeOBiyBbeS9uXT8gIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjM3MgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG1vbnRoIGFyZ3VtZW50IgorbXNnc3RyICLplbfjgZXjga7lvJXmlbDjgYzplpPpgZXjgaPjgabjgYTjgb7jgZkiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzgwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgd2VlayBhcmd1bWVudCIKK21zZ3N0ciAi5byV5pWw44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIC0g57WC5LqG44OI44Op44OD44KvIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjM4MgorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHVzZSAxLTU0IgorbXNnc3RyICLpgLHjga7lgKTjgYzplpPpgZXjgaPjgabjgYTjgb7jgZk6IDEtNTMg44Gu56+E5Zuy44Gn5oyH5a6a44GX44Gm44GP44Gg44GV44GEIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHRpbWVzdGFtcCBvciB1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICLjgrXjgqTjgrrmg4XloLHjga7op6Pph4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDMxCittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWUiCittc2dzdHIgIuaXpeS7mOOBruWApOOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MzMgbWlzYy11dGlscy9jYWwuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWU6IHVzZSAxLSVkIgorbXNnc3RyICLml6Xjga7lgKTjgYzplpPpgZXjgaPjgabjgYTjgb7jgZk6IDEtJWQg44Gu56+E5Zuy44Gn5oyH5a6a44GX44Gm44GP44Gg44GV44GEIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQzNyBtaXNjLXV0aWxzL2NhbC5jOjQ0NQorbXNnaWQgImlsbGVnYWwgbW9udGggdmFsdWU6IHVzZSAxLTEyIgorbXNnc3RyICLmnIjjga7lgKTjgYzplpPpgZXjgaPjgabjgYTjgb7jgZk6IDEtMTIg44Gu56+E5Zuy44Gn5oyH5a6a44GX44Gm44GP44Gg44GV44GEIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAi5LiN5piO44Gq5YSq5YWI6aCG5L2N5ZCN44Gn44GZOiAlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NDggbWlzYy11dGlscy9jYWwuYzo0NTIKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWUiCittc2dzdHIgIuW5tOOBruWApOOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NTAKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWU6IHVzZSBwb3NpdGl2ZSBpbnRlZ2VyIgorbXNnc3RyICLlubTjga7lgKTjgYzplpPpgZXjgaPjgabjgYTjgb7jgZk6IOiHqueEtuaVsOOBp+aMh+WumuOBl+OBpuOBj+OBoOOBleOBhCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0ODIgbWlzYy11dGlscy9jYWwuYzo0OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB5ZWFyICVkIGRvZXNuJ3QgaGF2ZSB3ZWVrICVkIgorbXNnc3RyICLpgLHjga7lgKTjgYzplpPpgZXjgaPjgabjgYTjgb7jgZk6ICVkIOW5tOOBq+OBryDpgLEgJWQg44Gv44GC44KK44G+44Gb44KTIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyIKK21zZ3N0ciAiJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6Njg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiUwNGQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo2OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICUwNGQiCittc2dzdHIgIiVzICVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtbW2RheV0gbW9udGhdIHllYXJdXG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSBbW1vml6VdIOaciF0g5bm0XVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vbnRobmFtZT5cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIDzjg5XjgqHjgqTjg6vlkI0+XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk3Cittc2dpZCAiRGlzcGxheSBhIGNhbGVuZGFyLCBvciBzb21lIHBhcnQgb2YgaXQuXG4iCittc2dzdHIgIuOCq+ODrOODs+ODgOODvOOBvuOBn+OBr+OBneOBruS4gOmDqOOCkuihqOekuuOBl+OBvuOBmeOAglxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5OAorbXNnaWQgIldpdGhvdXQgYW55IGFyZ3VtZW50cywgZGlzcGxheSB0aGUgY3VycmVudCBtb250aC5cbiIKK21zZ3N0ciAi5byV5pWw44KS5LuY44GR44Gq44GE5aC05ZCI44Gv5LuK5pyI44KS6KGo56S644GX44G+44GZ44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMQorbXNnaWQgIiAtMSwgLS1vbmUgICAgICAgICAgICAgc2hvdyBvbmx5IGEgc2luZ2xlIG1vbnRoIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLTEsIC0tb25lICAgICAgICAgICAgIDEg44GL5pyI5YiG44Gg44GR44KS6KGo56S644GX44G+44GZICjml6LlrprlgKQpXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMgorbXNnaWQgIiAtMywgLS10aHJlZSAgICAgICAgICAgc2hvdyB0aHJlZSBtb250aHMgc3Bhbm5pbmcgdGhlIGRhdGVcbiIKK21zZ3N0ciAiIC0zLCAtLXRocmVlICAgICAgICAgICAzIOOBi+aciOWIhuOBruaXpeS7mOOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW1vbnRocyA8bnVtPiAgICBzaG93IG51bSBtb250aHMgc3RhcnRpbmcgd2l0aCBkYXRlJ3MgbW9udGhcbiIKK21zZ3N0ciAiIC0zLCAtLXRocmVlICAgICAgICAgICAzIOOBi+aciOWIhuOBruaXpeS7mOOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDQKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNwYW4gICAgICAgICAgICBzcGFuIHRoZSBkYXRlIHdoZW4gZGlzcGxheWluZyBtdWx0aXBsZSBtb250aHNcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgIOWKoOW3peOCkuihjOOBquOCj+OBquOBhOWHuuWKm+W9ouW8j+OCkuS9v+eUqOOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDUKK21zZ2lkICIgLXMsIC0tc3VuZGF5ICAgICAgICAgIFN1bmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIgLXMsIC0tc3VuZGF5ICAgICAgICAgIOmAseOBrumWi+Wni+OCkuaXpeabnOaXpeOBq+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDYKK21zZ2lkICIgLW0sIC0tbW9uZGF5ICAgICAgICAgIE1vbmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIgLW0sIC0tbW9uZGF5ICAgICAgICAgIOmAseOBrumWi+Wni+OCkuaciOabnOaXpeOBq+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDcKK21zZ2lkICIgLWosIC0tanVsaWFuICAgICAgICAgIG91dHB1dCBKdWxpYW4gZGF0ZXNcbiIKK21zZ3N0ciAiIC1qLCAtLWp1bGlhbiAgICAgICAgICDjg6bjg6rjgqbjgrnml6XjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA4Cittc2dpZCAiIC15LCAtLXllYXIgICAgICAgICAgICBzaG93IHRoZSB3aG9sZSB5ZWFyXG4iCittc2dzdHIgIiAteSwgLS15ZWFyICAgICAgICAgICAg5bm05YWo5L2T44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwOQorIywgZnV6enkKK21zZ2lkICIgLVksIC0tdHdlbHZlICAgICAgICAgIHNob3cgdGhlIG5leHQgdHdlbHZlIG1vbnRoc1xuIgorbXNnc3RyICIgLXksIC0teWVhciAgICAgICAgICAgIOW5tOWFqOS9k+OCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMTAKK21zZ2lkICIgLXcsIC0td2Vla1s9PG51bT5dICAgIHNob3cgVVMgb3IgSVNPLTg2MDEgd2VlayBudW1iZXJzXG4iCittc2dzdHIgIiAtdywgLS13ZWVrWz08bnVtPl0gICAgVVMg44G+44Gf44GvIElTTy04NjAxIOW9ouW8j+OBrumAseeVquWPt+OCkuihqOekulxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMTEKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKyIgICAgIC0tY29sb3JbPTzmmYLmnJ8+XSAg44Oh44OD44K744O844K444KS6Imy44Gl44GR44GX44G+44GZXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIChhdXRv44CBYWx3YXlz44CBbmV2ZXIg44Gu44Gp44KM44GLKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10ge0xBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMfT08dmFsdWU+XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzozMgorIywgZnV6enkKK21zZ2lkICJGaW5kIGEgZmlsZXN5c3RlbSBieSBsYWJlbCBvciBVVUlELlxuIgorbXNnc3RyICLlvLfliLbnmoTjgasgJXMg44Gu44OV44Kh44Kk44Or44K344K544OG44Og44KS44OB44Kn44OD44Kv44GX44G+44GZ44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgJyVzJyIKK21zZ3N0ciAiJyVzJyDjgpLop6PmsbrjgafjgY3jgb7jgZvjgpMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjk5Cittc2dpZCAic291cmNlIGRldmljZSIKK21zZ3N0ciAi44K944O844K544OH44OQ44Kk44K5IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDAKK21zZ2lkICJtb3VudHBvaW50IgorbXNnc3RyICLjg57jgqbjg7Pjg4jjg53jgqTjg7Pjg4giCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxCittc2dpZCAiZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICLjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga7nqK7poZ4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMgorbXNnaWQgImFsbCBtb3VudCBvcHRpb25zIgorbXNnc3RyICLjgZnjgbnjgabjga7jg57jgqbjg7Pjg4jjgqrjg5fjgrfjg6fjg7MiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMworbXNnaWQgIlZGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICJWRlMg5Zu65pyJ44Gu44Oe44Km44Oz44OI44Kq44OX44K344On44OzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDQKK21zZ2lkICJGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICLjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Dlm7rmnInjga7jg57jgqbjg7Pjg4jjgqrjg5fjgrfjg6fjg7MiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNQorbXNnaWQgImZpbGVzeXN0ZW0gbGFiZWwiCittc2dzdHIgIuODleOCoeOCpOODq+OCt+OCueODhuODoOODqeODmeODqyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA2IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQKK21zZ2lkICJmaWxlc3lzdGVtIFVVSUQiCittc2dzdHIgIuODleOCoeOCpOODq+OCt+OCueODhuODoOOBriBVVUlEIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDcKK21zZ2lkICJwYXJ0aXRpb24gbGFiZWwiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+ODqeODmeODqyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5IG1pc2MtdXRpbHMvbHNibGsuYzoxNjAKK21zZ2lkICJtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICLjg6Hjgrjjg6Pjg7w644Oe44Kk44OK44O844OH44OQ44Kk44K555Wq5Y+3IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTAKK21zZ2lkICJhY3Rpb24gZGV0ZWN0ZWQgYnkgLS1wb2xsIgorbXNnc3RyICItLXBvbGwg44Gn5qSc5Ye644GV44KM44Gf5YuV5L2cIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTEKK21zZ2lkICJvbGQgbW91bnQgb3B0aW9ucyBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgIi0tcG9sbCDjgafkv53lrZjjgZXjgozjgZ/lj6TjgYTjg57jgqbjg7Pjg4jjgqrjg5fjgrfjg6fjg7MiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMgorbXNnaWQgIm9sZCBtb3VudHBvaW50IHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiLS1wb2xsIOOBp+S/neWtmOOBleOCjOOBn+WPpOOBhOODnuOCpuODs+ODiOODneOCpOODs+ODiCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEzCittc2dpZCAiZmlsZXN5c3RlbSBzaXplIgorbXNnc3RyICLjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga7jgrXjgqTjgrogKOWFqOS9kykiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNAorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSBhdmFpbGFibGUiCittc2dzdHIgIuODleOCoeOCpOODq+OCt+OCueODhuODoOOBruOCteOCpOOCuiAo56m644GNKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE1Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIHVzZWQiCittc2dzdHIgIuODleOCoeOCpOODq+OCt+OCueODhuODoOOCteOCpOOCuiAo5L2/55So5riI44G/KSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE2Cittc2dpZCAiZmlsZXN5c3RlbSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAi44OV44Kh44Kk44Or44K344K544OG44Og44Gu5L2/55So546HIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTcKK21zZ2lkICJmaWxlc3lzdGVtIHJvb3QiCittc2dzdHIgIuODleOCoeOCpOODq+OCt+OCueODhuODoOOBruODq+ODvOODiCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE4Cittc2dpZCAidGFzayBJRCIKK21zZ3N0ciAi44K/44K544KvIElEIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkKK21zZ2lkICJtb3VudCBJRCIKK21zZ3N0ciAi44Oe44Km44Oz44OIIElEIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAKK21zZ2lkICJvcHRpb25hbCBtb3VudCBmaWVsZHMiCittc2dzdHIgIuOBneOBruS7luOBruODnuOCpuODs+ODiOmgheebriIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxCittc2dpZCAiVkZTIHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICJWRlMg5Lyd5pKt44OV44Op44KwIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIKK21zZ2lkICJkdW1wKDgpIHBlcmlvZCBpbiBkYXlzIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiZHVtcCg4KSDmnJ/plpMgKOWNmOS9jTog5pelKSBbZnN0YWIg44Gu44G/XSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzCittc2dpZCAicGFzcyBudW1iZXIgb24gcGFyYWxsZWwgZnNjayg4KSBbZnN0YWIgb25seV0iCittc2dzdHIgImZzY2soOCkg44KS5ZCM5pmC5Lim6KGM5Yem55CG44GV44Gb44KL5aC05ZCI44Gu44OR44K555Wq5Y+3IFtmc3RhYiDjga7jgb9dIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhY3Rpb246ICVzIgorbXNnc3RyICLkuI3mmI7jgarli5XkvZzjgafjgZk6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDMKK21zZ2lkICJtb3VudCIKK21zZ3N0ciAi44Oe44Km44Oz44OIIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDYKK21zZ2lkICJ1bW91bnQiCittc2dzdHIgIuOCouODs+ODnuOCpuODs+ODiCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ5Cittc2dpZCAicmVtb3VudCIKK21zZ3N0ciAi5YaN44Oe44Km44Oz44OIIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTIKK21zZ2lkICJtb3ZlIgorbXNnc3RyICLnp7vli5UiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjgxMiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDc1IHN5cy11dGlscy9lamVjdC5jOjcxOQorIzogc3lzLXV0aWxzL21vdW50LmM6NjY5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFibGUiCittc2dzdHIgImxpYm1vdW50IOODhuODvOODluODq+OBrua6luWCmeOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODM5IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgJXMiCittc2dzdHIgIiVzIOOCkuiqreOBv+i+vOOCgOOBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxNSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDgxCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6OTQgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ4MgorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE4NyBzeXMtdXRpbHMvbW91bnQuYzoxMzQgc3lzLXV0aWxzL21vdW50LmM6MTgyCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjU2IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTU1IHN5cy11dGlscy9zd2Fwb24uYzoyNDQKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNzQgc3lzLXV0aWxzL3N3YXBvbi5jOjczMyBzeXMtdXRpbHMvdW1vdW50LmM6Mjc0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgaXRlcmF0b3IiCittc2dzdHIgImxpYm1vdW50IOWIl+aMmeWtkOOBrua6luWCmeOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA4NworbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmRpZmYiCittc2dzdHIgImxpYm1vdW50IHRhYmRpZmYg44Gu5rqW5YKZ44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTE1Cittc2dpZCAicG9sbCgpIGZhaWxlZCIKK21zZ3N0ciAicG9sbCgpIOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiB8IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlIDxkZXZpY2U+XSBbLS10YXJnZXQgPHBhdGg+IHwgLS1tb3VudHBvaW50IDxkaXI+XVxuIgorbXNnc3RyICIiCisiICUxJHMgW+OCquODl+OCt+ODp+ODs11cbiIKKyIgJTEkcyBb44Kq44OX44K344On44OzXSA844OH44OQ44Kk44K5PiB8IDzjg57jgqbjg7Pjg4jjg53jgqTjg7Pjg4g+XG4iCisiICUxJHMgW+OCquODl+OCt+ODp+ODs10gPOODh+ODkOOCpOOCuT4gPOODnuOCpuODs+ODiOODneOCpOODs+ODiD5cbiIKKyIgJTEkcyBb44Kq44OX44K344On44OzXSBbLS1zb3VyY2UgPOODh+ODkOOCpOOCuT5dIFstLXRhcmdldCA844Oe44Km44Oz44OI44Od44Kk44Oz44OIPl1cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5NgorIywgZnV6enkKK21zZ2lkICJGaW5kIGEgKG1vdW50ZWQpIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIuipsuW9k+OBmeOCi+ODleOCoeOCpOODq+OCt+OCueODhuODoOOBjOimi+OBpOOBi+OCiuOBvuOBm+OCkzogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTkKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLWZzdGFiICAgICAgICAgICAgc2VhcmNoIGluIHN0YXRpYyB0YWJsZSBvZiBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLWYsIC0tZnMgICAgICAgICAgICAg44OV44Kh44Kk44Or44K344K544OG44Og44Gr6Zai44GZ44KL5oOF5aCx44KS5Ye65Yqb44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW10YWIgICAgICAgICAgICAgc2VhcmNoIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIOOBmeOBueOBpuOBruODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuOCouODs+ODnuOCpuODs+ODiOOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAxCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICBzZWFyY2ggaW4ga2VybmVsIHRhYmxlIG9mIG1vdW50ZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzeXN0ZW1zIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisiXG4iCisi44Kq44OX44K344On44OzOlxuIgorIiAtcywgLS1mc3RhYiAgICAgICAgICAgIOioreWumuODleOCoeOCpOODq+OBq+abuOOBi+OCjOOBn+ODleOCoeOCpOODq+OCt+OCueODhuODoOWGheOCkuaknOe0ouOBl+OBvuOBmVxuIgorIiAtbSwgLS1tdGFiICAgICAgICAgICAgIOODnuOCpuODs+ODiOa4iOOBv+OBruODleOCoeOCpOODq+OCt+OCueODhuODoOWGheOCkuaknOe0ouOBl+OBvuOBmVxuIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIOOCq+ODvOODjeODq+OBjOiqjeitmOOBl+OBpuOBhOOCi+ODnuOCpuODs+ODiOa4iOOBv+ODleOCoeOCpOODq+OCt+OCueODhuODoFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAg5YaF44KS5qSc57Si44GX44G+44GZICjml6LlrprlgKQpXG4iCisiXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBvbGxbPTxsaXN0Pl0gICAgbW9uaXRvciBjaGFuZ2VzIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1wb2xsWz08bGlzdD5dICAgIOODnuOCpuODs+ODiOa4iOOBv+OBruODleOCoeOCpOODq+OCt+OCueODhuODoOOBq+OBpOOBhOOBpuOAgeWkieabtOOCkuebo+imluOBl+OBvuOBmVxuIgorIiAtdywgLS10aW1lb3V0IDxudW0+ICAgIC0tcG9sbCDjgYzlvoXmqZ/jgZnjgbnjgY3mmYLplpPjga7kuIrpmZDjgpLjgIHjg5/jg6rnp5LljZjkvY3jgafmjIflrprjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNQorIywgZnV6enkKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8bnVtPiAgICB1cHBlciBsaW1pdCBpbiBtaWxsaXNlY29uZHMgdGhhdCAtLXBvbGwgd2lsbCBibG9ja1xuIgorbXNnc3RyICIiCisiIC1wLCAtLXBvbGxbPTxsaXN0Pl0gICAg44Oe44Km44Oz44OI5riI44G/44Gu44OV44Kh44Kk44Or44K344K544OG44Og44Gr44Gk44GE44Gm44CB5aSJ5pu044KS55uj6KaW44GX44G+44GZXG4iCisiIC13LCAtLXRpbWVvdXQgPG51bT4gICAgLS1wb2xsIOOBjOW+heapn+OBmeOBueOBjeaZgumWk+OBruS4iumZkOOCkuOAgeODn+ODquenkuWNmOS9jeOBp+aMh+WumuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA4CisjLCBmdXp6eQorbXNnaWQgIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGJ1aWx0LWluIGZpbHRlcnMsIHByaW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAg44GZ44G544Gm44Gu44OV44Kh44Kk44Or44K344K544OG44Og44KS44Ki44Oz44Oe44Km44Oz44OI44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDkKK21zZ2lkICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgQVNDSUkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorbXNnc3RyICIgLWEsIC0tYXNjaWkgICAgICAgICAgICDjg4Tjg6rjg7zjga7ooajnpLrjgasgQVNDSUkg5paH5a2X44KS5L2/55So44GX44G+44GZ44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTAKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAg5Y+v6Kqt5oCn44Gu6auY44GE5b2i5byP44Gn44Gv44Gq44GP44CB44OQ44Kk44OI5Y2Y5L2N44Gn44K144Kk44K644KS6KGo56S644GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTEKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLW5vY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHdoZW4gY29tcGFyaW5nIHBhdGhzXG4iCittc2dzdHIgIiAtYywgLS1uby1jYW5vbmljYWxpemUgICDjg5HjgrnjgpLmraPopo/ljJbjgZfjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMgorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tY2Fub25pY2FsaXplICAgICBjYW5vbmljYWxpemUgcHJpbnRlZCBwYXRoc1xuIgorbXNnc3RyICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAg44OR44K544KS5q2j6KaP5YyW44GX44Gq44GE44KI44GG44Gr44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTMKKyMsIGZ1enp5Cittc2dpZCAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGF0ZSB0aGUgb3V0cHV0IG9mIGRmKDEpXG4iCittc2dzdHIgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgIOWHuuWKm+OCkuaLrOOCieOBquOBhOOCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE0Cittc2dpZCAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE1Cittc2dpZCAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNworbXNnaWQgIiAtRiwgLS10YWItZmlsZSA8cGF0aD4gIGFsdGVybmF0aXZlIGZpbGUgZm9yIC1zLCAtbSBvciAtayBvcHRpb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBwcmludCB0aGUgZmlyc3QgZm91bmQgZmlsZXN5c3RlbSBvbmx5XG4iCittc2dzdHIgIiAtdCwgLS10eXBlcyA844Oq44K544OIPiAgICDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga7nqK7poZ7jgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnQgdGhlIHNlbnNlIG9mIG1hdGNoaW5nXG4iCittc2dzdHIgIiAtcywgLS1pbnZlcnNlICAgICAgICDkvp3lrZjplqLkv4LjgpLpgIbou6LjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDcgc3lzLXV0aWxzL2xzbnMuYzo2MTkKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICDnibnjgavliqDlt6XjgpLooYzjgo/jgZrjgavlh7rlipvjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMSBzeXMtdXRpbHMvbHNucy5jOjYyMAorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAg5LiA6Kan5b2i5byP44Gn5Ye65Yqb44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjIKK21zZ2lkICIgLU4sIC0tdGFzayA8dGlkPiAgICAgICB1c2UgYWx0ZXJuYXRpdmUgbmFtZXNwYWNlICgvcHJvYy88dGlkPi9tb3VudGluZm8gZmlsZSlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIzCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgY29sdW1uIGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIOODmOODg+ODgOOCkuihqOekuuOBl+OBvuOBm+OCk1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI0Cittc2dpZCAiIC1PLCAtLW9wdGlvbnMgPGxpc3Q+ICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBtb3VudCBvcHRpb25zXG4iCittc2dzdHIgIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIOODnuOCpuODs+ODiOOCquODl+OCt+ODp+ODs+OBp+ODleOCoeOCpOODq+OCt+OCueODhuODoOOBruWHuuWKm+OCkuWItumZkOOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI1Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgdGhlIG91dHB1dCBjb2x1bW5zIHRvIGJlIHNob3duXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIOaMh+WumuOBl+OBn+WIl+OBruOBv+OCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI2Cittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVAsIC0tcGFpcnMgICAgICAgICAgICDjgq3jg7w9XCLlgKRcIiDjga7lvaLlvI/jgaflh7rlipvjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNworIywgZnV6enkKK21zZ2lkICIgLVIsIC0tc3VibW91bnRzICAgICAgICBwcmludCBhbGwgc3VibW91bnRzIGZvciB0aGUgbWF0Y2hpbmcgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1mLCAtLWZzICAgICAgICAgICAgIOODleOCoeOCpOODq+OCt+OCueODhuODoOOBq+mWouOBmeOCi+aDheWgseOCkuWHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI4Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIOeJueOBq+WKoOW3peOCkuihjOOCj+OBmuOBq+WHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5Cittc2dpZCAiIgorIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzEKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRhcmdldCA8cGF0aD4gICAgdGhlIHBhdGggdG8gdGhlIGZpbGVzeXN0ZW0gdG8gdXNlXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIOaMh+WumuOBl+OBn+WIl+OBruOBv+OCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMyCisjLCBmdXp6eQorbXNnaWQgIiAtTSwgLS1tb3VudHBvaW50IDxkaXI+IHRoZSBtb3VudHBvaW50IGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXIsIC0tY2hyb290IDzjg4fjgqPjg6zjgq/jg4jjg6o+IOaMh+WumuOBl+OBn+ODh+OCo+ODrOOCr+ODiOODquOCkuODq+ODvOODiOOBq+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMzCittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBGUyB0eXBlc1xuIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga7nqK7poZ7jgaflh7rlipvjgpLliLbpmZDjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNAorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdW5pcSAgICAgICAgICAgICBpZ25vcmUgZmlsZXN5c3RlbXMgd2l0aCBkdXBsaWNhdGUgdGFyZ2V0XG4iCittc2dzdHIgIiIKKyIgLWwsIC0tbGF6eSAgICAgICAgICAgICAg5LuK44GZ44GQ44OV44Kh44Kk44Or44K344K544OG44Og44KS5YiH44KK6Zui44GX44G+44GZ44GM44CBXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAg44Kv44Oq44O844Oz44Ki44OD44OX44Gv5b6M44GL44KJ6KGM44GG44KI44GG44Gr44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzUgbWlzYy11dGlscy9sc2xvY2tzLmM6NTEzIHN5cy11dGlscy9sc25zLmM6NjI1CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGRvbid0IHRydW5jYXRlIHRleHQgaW4gY29sdW1uc1xuIgorbXNnc3RyICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAg44OX44Ot44K744K5IElEXG4iCisiIC1vLCAtLW91dHB1dCA85LiA6KanPiAgICDlh7rlipvjgZnjgovliJfjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICDjg5jjg4Pjg4DjgpLooajnpLrjgZfjgb7jgZvjgpNcbiIKKyIgLXIsIC0tcmF3ICAgICAgICAgICAgICDliqDlt6XjgpLooYzjgarjgo/jgarjgYTlvaLlvI/jgaflh7rlipvjgZfjgb7jgZlcbiIKKyIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICDjg4bjgq3jgrnjg4jjgpLliJfmlrnlkJHjgavliIfjgoroqbDjgoHjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICDjg5Djg7zjgrjjg6fjg7Pmg4XloLHjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNgorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iCittc2dzdHIgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICAgIOODkOODiuODvOOCkuihqOekuuOBl+OBvuOBm+OCk+OAguS9v+OBiOOCi+OBruOBryByb290IOOBoOOBkeOBp+OBmVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM5CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS12ZXJpZnkgICAgICAgICAgIHZlcmlmeSBtb3VudCB0YWJsZSBjb250ZW50IChkZWZhdWx0IGlzIGZzdGFiKVxuIgorbXNnc3RyICIgLTEsIC0tb25lICAgICAgICAgICAgIDEg44GL5pyI5YiG44Gg44GR44KS6KGo56S644GX44G+44GZICjml6LlrprlgKQpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgbW9yZSBkZXRhaWxzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIOWGl+mVt+OBquODh+ODvOOCv+WHuuWKm+OCkuihjOOBhOOBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzY4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZGlyZWN0aW9uICclcyciCittc2dzdHIgIuS4jeaYjuOBquaWueWQkeihqOiomCAnJXMnIOOBp+OBmSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTQ0MAorbXNnaWQgImludmFsaWQgVElEIGFyZ3VtZW50IgorbXNnc3RyICJUSUQg5byV5pWw44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTA5Cittc2dpZCAiLS1wb2xsIGFjY2VwdHMgb25seSBvbmUgZmlsZSwgYnV0IG1vcmUgc3BlY2lmaWVkIGJ5IC0tdGFiLWZpbGUiCittc2dzdHIgIi0tcG9sbCDjgafjga8gMSDjgaTjga7jg5XjgqHjgqTjg6vjgZfjgYvmjIflrprjgafjgY3jgb7jgZvjgpPjgILopIfmlbDjgpLmjIflrprjgZnjgovloLTlkIjjga/jgIEgLS10YWItZmlsZSDjgpLjgZTliKnnlKjjgY/jgaDjgZXjgYQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MTMKK21zZ2lkICJvcHRpb25zIC0tdGFyZ2V0IGFuZCAtLXNvdXJjZSBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggY29tbWFuZCBsaW5lIGVsZW1lbnQgdGhhdCBpcyBub3QgYW4gb3B0aW9uIgorbXNnc3RyICLjgqrjg5fjgrfjg6fjg7MgLS10YXJnZXQg44GoIC0tc291cmNlIOOBr+S7u+aEj+aMh+WumuOBp+OBquOBhOWgtOWQiOOAgeOCs+ODnuODs+ODieODqeOCpOODs+S4iuOBp+WQjOaZguOBq+S9v+eUqOOBp+OBjeOBvuOBm+OCk+OAgiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU2MgorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGNhY2hlIgorbXNnc3RyICJsaWJtb3VudCDjgq3jg6Pjg4Pjgrfjg6Xjga7mupblgpnjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE2MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY29sdW1uIGlzIHJlcXVlc3RlZCwgYnV0IC0tcG9sbCBpcyBub3QgZW5hYmxlZCIKK21zZ3N0ciAiJXMg5YiX44GM6KaB5rGC44GV44KM44G+44GX44Gf44GM44CBIC0tcG9sbCDjgYzmnInlirnjgavjgarjgaPjgabjgYTjgb7jgZvjgpMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTYKKyMsIGZ1enp5Cittc2dpZCAidGFyZ2V0IHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAiJXMg44Gv6KSH5pWw44Ot44Kw44Kk44Oz44GX44Gm44GE44G+44GZOyAlcyDjgavmm7jjgY3ovrzjgb/jgb7jgZkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgb3JkZXI6ICVzIHNwZWNpZmllZCBiZWZvcmUgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzMworbXNnaWQgInVuZGVmaW5lZCB0YXJnZXQgKGZzX2ZpbGUpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWNhbm9uaWNhbCB0YXJnZXQgcGF0aCAocmVhbDogJXMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCB0YXJnZXQ6ICVtIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgdGFyZ2V0OiAlbSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTUxCisjLCBmdXp6eQorbXNnaWQgInRhcmdldCBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiDjg4fjgqPjg6zjgq/jg4jjg6rjgafjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTMKK21zZ2lkICJ0YXJnZXQgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCBzb3VyY2U6ICVzPSVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGU6ICVzPSVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzPSVzIHRyYW5zbGF0ZWQgdG8gJXMiCittc2dzdHIgIiVzIOOBryAlcyDjgavplqLpgKPku5jjgZHjgonjgozjgabjgYTjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5MAorbXNnaWQgInVuZGVmaW5lZCBzb3VyY2UgKGZzX3NwZWMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHNvdXJjZSB0YWc6ICVzIgorbXNnc3RyICLmnKrlr77lv5zjga7lvJXmlbDjgafjgZk6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBzb3VyY2UgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgc291cmNlOiAlczogJW0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmluZCBtb3VudCBzb3VyY2UgJXMgaXMgYSBkaXJlY3Rvcnkgb3IgcmVndWxhciBmaWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiAlcyDjga/jg5bjg63jg4Pjgq/jg4fjg5DjgqTjgrnjgafjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBleGlzdHMiCittc2dzdHIgIuOCveODvOOCueODh+ODkOOCpOOCuSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICIlczog44Kq44OX44K344On44OzICIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRlMgb3B0aW9uczogJXMiCittc2dzdHIgIiVzOiDjgqrjg5fjgrfjg6fjg7MgIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2Vyc3BhY2Ugb3B0aW9uczogJXMiCittc2dzdHIgIuODquOCveODvOOCueOCquODl+OCt+ODp+ODszpcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc3dhcGFyZWEgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICLmnKrlr77lv5zjga7noLTmo4Tjg53jg6rjgrfjg7zjgafjgZk6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjYwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzd2FwYXJlYSBwcmlvcml0eSBvcHRpb24iCittc2dzdHIgIuWEquWFiOmghuS9jeOBruino+mHiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgRlMgdHlwZSAocHNldWRvL25ldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQwNgorbXNnaWQgIlwibm9uZVwiIEZTIHR5cGUgaXMgcmVjb21tZW5kZWQgZm9yIGJpbmQgb3IgbW92ZSBvcHJhdGlvbnMgb25seSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIkNELVJPTSDpgJ/luqbpgbjmip7jgrPjg57jg7Pjg4njga/jgIHjgZPjga7jgqvjg7zjg43jg6vjgaflr77lv5zjgZfjgabjgYTjgb7jgZvjgpMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjAgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyMQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZGV0ZWN0IG9uLWRpc2sgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICLmnKrnn6Xjga7jg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djgr/jgqTjg5cgJyVzJyDjgafjgZkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgbWF0Y2ggd2l0aCBvbi1kaXNrICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9uLWRpc2sgJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICJDRC1ST00g6YCf5bqm6YG45oqe44Kz44Oe44Oz44OJ44Gv44CB44GT44Gu44Kr44O844ON44Or44Gn5a++5b+c44GX44Gm44GE44G+44Gb44KTIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyB0eXBlIGlzICVzIgorbXNnc3RyICLjgr/jgqTjg5c6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY29tbWVuZGVkIHJvb3QgRlMgcGFzc25vIGlzIDEgKGN1cnJlbnQgaXMgJWQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIHBhcnNlIGVycm9yIgorbXNnaWRfcGx1cmFsICIlZCBwYXJzZSBlcnJvcnMiCittc2dzdHJbMF0gIuino+aekOOCqOODqeODvDogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgZXJyb3IiCittc2dpZF9wbHVyYWwgIiwgJWQgZXJyb3JzIgorbXNnc3RyWzBdICIsIOOCqOODqeODvCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxNAorIywgYy1mb3JtYXQKK21zZ2lkICIsICVkIHdhcm5pbmciCittc2dpZF9wbHVyYWwgIiwgJWQgd2FybmluZ3MiCittc2dzdHJbMF0gIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxNworIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzLCBubyBlcnJvcnMgb3Igd2FybmluZ3MgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIuips+OBl+OBj+OBryBgJXMgLS1oZWxwJyDjgpLjgYroqq3jgb/jgY/jgaDjgZXjgYTjgIJcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMDQKK21zZ2lkICJlbXB0eSBsb25nIG9wdGlvbiBhZnRlciAtbCBvciAtLWxvbmcgYXJndW1lbnQiCittc2dzdHIgIi1sIOOChCAtLWxvbmcg5byV5pWw44Gu5b6M44Gr44Ot44Oz44Kw44Kq44OX44K344On44Oz44GM5oyH5a6a44GV44KM44Gm44GE44G+44Gb44KTIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMyNQorbXNnaWQgInVua25vd24gc2hlbGwgYWZ0ZXIgLXMgb3IgLS1zaGVsbCBhcmd1bWVudCIKK21zZ3N0ciAiLXMg44GLIC0tc2hlbGwg5byV5pWw44Gu5b6M44Gr5pu444GL44KM44Gf44K344Kn44Or44Gv44CB5LiN5piO44Gq44KC44Gu44Gn44GZIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1dIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSAtb3wtLW9wdGlvbnMgPG9wdHN0cmluZz4gW29wdGlvbnNdIFstLV0gPHBhcmFtZXRlcnM+XG4iCittc2dzdHIgIiIKKyIgJTEkcyDop6PmnpDlr77osaHmloflrZfliJcg44OR44Op44Oh44O844K/XG4iCisiICUxJHMgW+OCquODl+OCt+ODp+ODs10gWy0tXSDop6PmnpDlr77osaHmloflrZfliJcg44OR44Op44Oh44O844K/XG4iCisiICUxJHMgW+OCquODl+OCt+ODp+ODs10gLW98LS1vcHRpb25zIOino+aekOWvvuixoeaWh+Wtl+WIlyBb44Kq44OX44K344On44OzXSBbLS1dIOODkeODqeODoeODvOOCv1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzOAorbXNnaWQgIlBhcnNlIGNvbW1hbmQgb3B0aW9ucy5cbiIKK21zZ3N0ciAi44Kz44Oe44Oz44OJ44Gu44Kq44OX44K344On44Oz44KS6Kej5p6Q44GX44G+44GZ44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQxCittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIGFsbG93IGxvbmcgb3B0aW9ucyBzdGFydGluZyB3aXRoIHNpbmdsZSAtXG4iCittc2dzdHIgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgIOWNmOS4gOOBriAtIOOBp+Wni+OBvuOCi+ODreODs+OCsOOCquODl+OCt+ODp+ODs+OCkuioseWPr+OBmeOCi+OCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiAgdGhlIGxvbmcgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAtbCwgLS1sb25nb3B0aW9ucyA86Kej5p6Q5a++6LGh5paH5a2X5YiXPiDoqo3orZjjgZnjgbnjgY3jg63jg7PjgrDjgqrjg5fjgrfjg6fjg7PjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5hbWUgPHByb2duYW1lPiAgICAgICAgIHRoZSBuYW1lIHVuZGVyIHdoaWNoIGVycm9ycyBhcmUgcmVwb3J0ZWRcbiIKK21zZ3N0ciAiIC1uLCAtLW5hbWUgPOODl+ODreOCsOODqeODoOWQjT4gICAg44Ko44Op44O844GM5aCx5ZGK44GV44KM44Gf5aC05ZCI44Gr5L2/55So44GZ44KL5ZCN5YmN44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ0CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgICB0aGUgc2hvcnQgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDzop6PmnpDlr77osaHmloflrZfliJc+IOiqjeitmOOBmeOBueOBjeOCt+ODp+ODvOODiOOCquODl+OCt+ODp+ODs+OCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBkaXNhYmxlIGVycm9yIHJlcG9ydGluZyBieSBnZXRvcHQoMylcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGdldG9wdCgzKSDjgavjgojjgovjgqjjg6njg7zloLHlkYrjgpLnhKHlirnljJbjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDYKK21zZ2lkICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgbm8gbm9ybWFsIG91dHB1dFxuIgorbXNnc3RyICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAg6YCa5bi444Gu5Ye65Yqb44KS55yB55Wl44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ3Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgIHNldCBxdW90aW5nIGNvbnZlbnRpb25zIHRvIHRob3NlIG9mIDxzaGVsbD5cbiIKK21zZ3N0ciAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgIOaMh+WumuOBl+OBn+OCt+OCp+ODq+eUqOOBruOCqOOCueOCseODvOODl+WHpueQhuOCkuihjOOBhOOBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0OAorbXNnaWQgIiAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICB0ZXN0IGZvciBnZXRvcHQoMSkgdmVyc2lvblxuIgorbXNnc3RyICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgZ2V0b3B0KDEpIOOBruODkOODvOOCuOODp+ODs+OCkueiuuiqjeOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0OQorbXNnaWQgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICBkbyBub3QgcXVvdGUgdGhlIG91dHB1dFxuIgorbXNnc3RyICIgLXUsIC0tdW5xdW90ZWQgICAgICAgICAgICAgICAg5Ye65Yqb44KS44Kv44Kp44O844OI44GX44G+44Gb44KTXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6Mzk5IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDU5Cittc2dpZCAibWlzc2luZyBvcHRzdHJpbmcgYXJndW1lbnQiCittc2dzdHIgIuino+aekOWvvuixoeOBruaWh+Wtl+WIl+OBjOaMh+WumuOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzo0NTQKK21zZ2lkICJpbnRlcm5hbCBlcnJvciwgY29udGFjdCB0aGUgYXV0aG9yLiIKK21zZ3N0ciAi5YaF6YOo44Ko44Op44O844Gn44GZ44CC5L2c6ICF44Gr44GU6YCj57Wh44GP44Gg44GV44GE44CCIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWwgJXM7IHZhbGlkIHNpZ25hbHM6IgorbXNnc3RyICLkuI3mmI7jgarjgrfjgrDjg4rjg6sgJXMg44Gn44GZOyDmnInlirnjgarjgrfjgrDjg4rjg6s6IgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGlkPnw8bmFtZT4uLi5cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIDxwaWQ+fDxuYW1lPi4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDUKK21zZ2lkICJGb3JjaWJseSB0ZXJtaW5hdGUgYSBwcm9jZXNzLlxuIgorbXNnc3RyICLjg5fjg63jgrvjgrnjgpLlvLfliLbnmoTjgavntYLkuobjgZfjgb7jgZnjgIJcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzA4Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRvIG5vdCByZXN0cmljdCB0aGUgbmFtZS10by1waWQgY29udmVyc2lvbiB0byBwcm9jZXNzZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggdGhlIHNhbWUgdWlkIGFzIHRoZSBwcmVzZW50IHByb2Nlc3NcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIOWQjeWJjeOCkiBQSUQg44Gr5aSJ5o+b44GZ44KL6Zqb44CB54++5Zyo44Gu44OX44Ot44K744K544Go5ZCM44GYXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgVUlEIOOBp+OBquOBhOOCguOBruOCguWvvuixoeOBqOOBmeOCi+OCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTAKK21zZ2lkICIgLXMsIC0tc2lnbmFsIDxzaWduYWw+ICBzZW5kIHRoaXMgPHNpZ25hbD4gaW5zdGVhZCBvZiBTSUdURVJNXG4iCittc2dzdHIgIiAtcywgLS1zaWduYWwgPOOCt+OCsOODiuODqz4g5oyH5a6a44GX44Gf44K344Kw44OK44Or44KSIFNJR1RFUk0g44Gu5Luj44KP44KK44Gr6YCB5L+h44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMgorbXNnaWQgIiAtcSwgLS1xdWV1ZSA8dmFsdWU+ICAgIHVzZSBzaWdxdWV1ZSgyKSwgbm90IGtpbGwoMiksIGFuZCBwYXNzIDx2YWx1ZT4gYXMgZGF0YVxuIgorbXNnc3RyICIgLXEsIC0tcXVldWUgPOaVsOWApD4gICAgIGtpbGwoMikg44Gn44Gv44Gq44GPIHNpZ3F1ZXVlKDIpIOOCkuS9v+eUqOOBl+OAgTzmlbDlgKQ+44KS44OH44O844K/44Go44GX44Gm5rih44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNAorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICAgIHByaW50IHBpZHMgd2l0aG91dCBzaWduYWxpbmcgdGhlbVxuIgorbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAgICAgICDjgrfjgrDjg4rjg6vjgpLpgIHkv6HjgZvjgZrjgIEgUElEIOOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTUKK21zZ2lkICIgLWwsIC0tbGlzdFs9PHNpZ25hbD5dICBsaXN0IHNpZ25hbCBuYW1lcywgb3IgY29udmVydCBhIHNpZ25hbCBudW1iZXIgdG8gYSBuYW1lXG4iCittc2dzdHIgIiAtbCwgLS1saXN0IFs9POOCt+OCsOODiuODqz5dIOOCt+OCsOODiuODq+OCkuS4gOimp+ihqOekuuOAgeOCguOBl+OBj+OBr+OCt+OCsOODiuODq+OCkuWQjeWJjeOBq+WkieaPm+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTYKK21zZ2lkICIgLUwsIC0tdGFibGUgICAgICAgICAgICBsaXN0IHNpZ25hbCBuYW1lcyBhbmQgbnVtYmVyc1xuIgorbXNnc3RyICIgLUwsIC0tdGFibGUgICAgICAgICAgICDjgrfjgrDjg4rjg6vjga7lkI3liY3jgajnlarlj7fjgpLkuIDopqfjgafooajnpLrjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE3Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgcGlkcyB0aGF0IHdpbGwgYmUgc2lnbmFsZWRcbiIKK21zZ3N0ciAiICAgICAtLXZlcmJvc2UgICAgICAgICAg44K344Kw44OK44Or44KS5Y+X44GR5Y+W44KLUElE44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM2NyBtaXNjLXV0aWxzL2tpbGwuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWw6ICVzIgorbXNnc3RyICLkuI3mmI7jgarjgrfjgrDjg4rjg6vjgafjgZk6ICVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozODcgbWlzYy11dGlscy9raWxsLmM6MzkwIG1pc2MtdXRpbHMva2lsbC5jOjM5OQorIzogbWlzYy11dGlscy9raWxsLmM6NDExIG1pc2MtdXRpbHMva2lsbC5jOjQzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiJXMg44GoICVzIOOBr+WQjOaZguOBq+aMh+WumuOBp+OBjeOBvuOBm+OCkyIKKworIzogbWlzYy11dGlscy9raWxsLmM6Mzk2IG1pc2MtdXRpbHMva2lsbC5jOjQzOCBtaXNjLXV0aWxzL3JlbmFtZS5jOjE3NAorIzogc3lzLXV0aWxzL2lwY3JtLmM6MTYwIHRlcm0tdXRpbHMvYWdldHR5LmM6Nzg5IHRlcm0tdXRpbHMvYWdldHR5LmM6Nzk4Cittc2dpZCAibm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIuWNgeWIhuOBquW8leaVsOOBjOOBguOCiuOBvuOBm+OCkyIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDA5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICLjgqrjg5fjgrfjg6fjg7MgJyVzJyDjgavjga/lvJXmlbDjgYzlv4XopoHjgafjgZkiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQxNCBzeXMtdXRpbHMvZWplY3QuYzoyMDUgc3lzLXV0aWxzL2VqZWN0LmM6MjMwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY4OSBzeXMtdXRpbHMvdHVuZWxwLmM6MTYxIHN5cy11dGlscy90dW5lbHAuYzoxNjgKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxNzUgc3lzLXV0aWxzL3R1bmVscC5jOjE4MiBzeXMtdXRpbHMvdHVuZWxwLmM6MTg5CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTk1IHN5cy11dGlscy90dW5lbHAuYzoxOTkgc3lzLXV0aWxzL3R1bmVscC5jOjIwNgorIzogc3lzLXV0aWxzL3R1bmVscC5jOjIzMSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTMgdGVybS11dGlscy9zZXR0ZXJtLmM6MjE2CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzUgdGVybS11dGlscy9zZXR0ZXJtLmM6MjM3IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3MgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mjc0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5MSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTgKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMwMCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTIgdGVybS11dGlscy9zZXR0ZXJtLmM6MzE0CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjMgdGVybS11dGlscy9zZXR0ZXJtLmM6MzMxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0NgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM2MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM3MyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1MzUgdGVybS11dGlscy9zZXR0ZXJtLmM6NTQwCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDUgdGVybS11dGlscy9zZXR0ZXJtLmM6NTUwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU3NAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTc5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODkKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTkgdGVybS11dGlscy9zZXR0ZXJtLmM6NjA3CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2NDAKK21zZ2lkICJhcmd1bWVudCBlcnJvciIKK21zZ3N0ciAi5byV5pWw44Ko44Op44O8IgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzaWduYWwgbmFtZSBvciBudW1iZXI6ICVzIgorbXNnc3RyICLnhKHlirnjgarjgrfjgrDjg4rjg6vlkI0g44G+44Gf44GvIOeVquWPtzogJXMiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCAlZCB0byBwaWQgJWRcbiIKK21zZ3N0ciAi44K344Kw44OK44OrICVkIOOCkiBQSUQgJWQg44Gr6YCB5L+h44GX44Gm44GE44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQ2MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzIOOBuOOBruOCt+OCsOODiuODq+mAgeS/oeOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy9raWxsLmM6NTA3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHByb2Nlc3MgXCIlc1wiIgorbXNnc3RyICLjg5fjg63jgrvjgrkgXCIlc1wiIOOBjOimi+OBpOOBi+OCiuOBvuOBm+OCkyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSBuYW1lOiAlcyIKK21zZ3N0ciAi5LiN5piO44Gq5YiG6aGe5ZCN44Gn44GZOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAi5LiN5piO44Gq5YSq5YWI6aCG5L2N5ZCN44Gn44GZOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlbmxvZyAlczogcGF0aG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm9wZW5sb2cgJXM6IOODkeOCueWQjeOBjOmVt+OBmeOBjuOBvuOBmSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAic29ja2V0ICVzIgorbXNnc3RyICLjgr3jgrHjg4Pjg4ggJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIG5hbWUgJXMgcG9ydCAlczogJXMiCittc2dzdHIgIiVzIOODneODvOODiCAlcyDjga7lkI3liY3jgpLop6PmsbrjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ86ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMyMworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY29ubmVjdCB0byAlcyBwb3J0ICVzIgorbXNnc3RyICIlcyDjg53jg7zjg4ggJXMg44Gr5o6l57aa44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjM1MgorIywgYy1mb3JtYXQKK21zZ2lkICJtYXhpbXVtIGlucHV0IGxpbmVzICglZCkgZXhjZWVkZWQiCittc2dzdHIgIuacgOWkp+WFpeWKm+ihjOaVsCAoJWQpIOOCkui2heOBiOOBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAic2VuZCBtZXNzYWdlIGZhaWxlZCIKK21zZ3N0ciAi44Oh44OD44K744O844K444Kt44Ol44O844Gu5L2c5oiQ44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU1OAorIywgYy1mb3JtYXQKK21zZ2lkICJzdHJ1Y3R1cmVkIGRhdGEgSUQgJyVzJyBpcyBub3QgdW5pcXVlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tc2QtaWQgd2FzIG5vdCBzcGVjaWZpZWQgZm9yIC0tc2QtcGFyYW0gJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NTQKK21zZ2lkICJsb2NhbHRpbWUoKSBmYWlsZWQiCittc2dzdHIgImxvY2FsdGltZSgpIOOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaG9zdG5hbWUgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAi44Ob44K544OI5ZCNICclcycg44GM6ZW344GZ44GO44G+44GZIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc3MAorIywgYy1mb3JtYXQKK21zZ2lkICJ0YWcgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAi44K/44KwICclcycg44GM6ZW344GZ44GO44G+44GZIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjgzMworIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyB1bmtub3duIG9wdGlvbiBhcmd1bWVudDogJXMiCittc2dzdHIgIuS4jeaYjuOBquOCquODl+OCt+ODp+ODs+W8leaVsOOCkueEoeimluOBl+OBvuOBmTogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlczogdXNpbmcgYXV0b21hdGljIGVycm9ycyIKK21zZ3N0ciAiLS1hdXRvLy1hIOOCquODl+OCt+ODp+ODs+OBruW8leaVsOOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG1lc3NhZ2U+XVxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10gWzzjg6Hjg4Pjgrvjg7zjgrg+XVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjk5NworbXNnaWQgIkVudGVyIG1lc3NhZ2VzIGludG8gdGhlIHN5c3RlbSBsb2cuXG4iCittc2dzdHIgIuODoeODg+OCu+ODvOOCuOOCkuOCt+OCueODhuODoOODreOCsOOBq+iomOmMsuOBl+OBvuOBmeOAglxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1pICAgICAgICAgICAgICAgICAgICAgICBsb2cgdGhlIGxvZ2dlciBjb21tYW5kJ3MgUElEXG4iCittc2dzdHIgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAg44GT44Gu44OY44Or44OX44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMQorIywgZnV6enkKK21zZ2lkICIgICAgIC0taWRbPTxpZD5dICAgICAgICAgIGxvZyB0aGUgZ2l2ZW4gPGlkPiwgb3Igb3RoZXJ3aXNlIHRoZSBQSURcbiIKK21zZ3N0ciAiIC1pLCAtLWlkWz08aWQ+XSAgICAgICAgICA8aWQ+IOOCkuiomOmMsuOBl+OBvuOBmSjml6LlrprlgKTjga8gUElEKVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDIKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgICAgIGxvZyB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlXG4iCittc2dzdHIgIiAtZiwgLS0tZmlsZSA844OV44Kh44Kk44OrPiAgIOaMh+WumuOBl+OBn+ODleOCoeOCpOODq+OBruWGheWuueOCkuODreOCsOOBq+iomOmMsuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1lLCAtLXNraXAtZW1wdHkgICAgICAgICBkbyBub3QgbG9nIGVtcHR5IGxpbmVzIHdoZW4gcHJvY2Vzc2luZyBmaWxlc1xuIgorbXNnc3RyICIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAg44Ot44Kw44Kk44Oz44OX44Ot44Oz44OX44OI44KS6KGo56S644GX44Gq44GE44KI44GG44Gr44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm8tYWN0ICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSB3cml0ZSB0aGUgbG9nXG4iCittc2dzdHIgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIOODh+ODkOOCpOOCueOBq+abuOOBjei+vOOBvuOBquOBhOOBk+OBqOS7peWkluOBr+mAmuW4uOOBq+WLleS9nOOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDUKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIG1hcmsgZ2l2ZW4gbWVzc2FnZSB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiIC1wLCAtLXByaW9yaXR5IDzlhKrlhYjpoIbkvY0+IOWvvuixoeOBruODoeODg+OCu+ODvOOCuOOCkuaMh+WumuOBl+OBn+WEquWFiOmghuS9jeOBq+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDYKK21zZ2lkICIgICAgIC0tb2N0ZXQtY291bnQgICAgICAgIHVzZSByZmM2NTg3IG9jdGV0IGNvdW50aW5nXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA3Cittc2dpZCAiICAgICAtLXByaW8tcHJlZml4ICAgICAgICBsb29rIGZvciBhIHByZWZpeCBvbiBldmVyeSBsaW5lIHJlYWQgZnJvbSBzdGRpblxuIgorbXNnc3RyICIgICAgIC0tcHJpby1wcmVmaXggICAgICAgIOaomea6luWFpeWKm+OBruWQhOihjOOBi+OCieWFiOmgreS4gOiHtOOBp+aknOe0ouOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDgKK21zZ2lkICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIG91dHB1dCBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yIGFzIHdlbGxcbiIKK21zZ3N0ciAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICDjg6Hjg4Pjgrvjg7zjgrjjgpLmqJnmupbjgqjjg6njg7zjgavjgoLlh7rlipvjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA5CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zaXplIDxzaXplPiAgICAgICAgbWF4aW11bSBzaXplIGZvciBhIHNpbmdsZSBtZXNzYWdlXG4iCittc2dzdHIgIiIKKyJcbiIKKyLkvb/jgYTmlrk6XG4iCisiICVzIFvjgqrjg5fjgrfjg6fjg7NdIOODh+ODkOOCpOOCuSBb44K144Kk44K6XVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTAKK21zZ2lkICIgLXQsIC0tdGFnIDx0YWc+ICAgICAgICAgIG1hcmsgZXZlcnkgbGluZSB3aXRoIHRoaXMgdGFnXG4iCittc2dzdHIgIiAtdCwgLS10YWcgPOOCv+OCsD4gICAgICAgICDlkITooYzlhajjgabjgavjgZPjga7jgr/jgrDjgpLku5jjgZHjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDExCittc2dpZCAiIC1uLCAtLXNlcnZlciA8bmFtZT4gICAgICB3cml0ZSB0byB0aGlzIHJlbW90ZSBzeXNsb2cgc2VydmVyXG4iCittc2dzdHIgIiAtbiwgLS1zZXJ2ZXIgPOWQjeWJjT4gICAgICDmjIflrprjgZfjgZ/jg6rjg6Ljg7zjg4ggc3lzbG9nIOOCteODvOODkOOBq+abuOOBjei+vOOBv+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTIKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBvcnQgPHBvcnQ+ICAgICAgICB1c2UgdGhpcyBwb3J0IGZvciBVRFAgb3IgVENQIGNvbm5lY3Rpb25cbiIKK21zZ3N0ciAiIC1QLCAtLXBvcnQgPOeVquWPtz4gICAgICAgIOaMh+WumuOBl+OBnyBVRFAg44Od44O844OI44KS5Yip55So44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMworbXNnaWQgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgdXNlIFRDUCBvbmx5XG4iCittc2dzdHIgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgVENQIOOBruOBv+OCkuS9v+eUqOOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTQKK21zZ2lkICIgLWQsIC0tdWRwICAgICAgICAgICAgICAgIHVzZSBVRFAgb25seVxuIgorbXNnc3RyICIgLWQsIC0tdWRwICAgICAgICAgICAgICAgIFVEUCDjga7jgb/jgpLkvb/nlKjjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE1Cittc2dpZCAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICB1c2UgdGhlIG9ic29sZXRlIEJTRCBzeXNsb2cgcHJvdG9jb2xcbiIKK21zZ3N0ciAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICDlj6TjgYQgQlNEIHN5c2xvZyDjg5fjg63jg4jjgrPjg6vjgpLkvb/nlKjjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE2Cittc2dpZCAiIgorIiAgICAgLS1yZmM1NDI0Wz08c25pcD5dICAgdXNlIHRoZSBzeXNsb2cgcHJvdG9jb2wgKHRoZSBkZWZhdWx0IGZvciByZW1vdGUpO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c25pcD4gY2FuIGJlIG5vdGltZSwgb3Igbm90cSwgYW5kL29yIG5vaG9zdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxOAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIElEXG4iCittc2dzdHIgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAg5a6f6Zqb44GuIEdJRCDjgpLoqK3lrprjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE5Cittc2dpZCAiICAgICAtLXNkLXBhcmFtIDxkYXRhPiAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBuYW1lPXZhbHVlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDIwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1tc2dpZCA8bXNnaWQ+ICAgICAgc2V0IHJmYzU0MjQgbWVzc2FnZSBpZCBmaWVsZFxuIgorbXNnc3RyICIgLS1yZ2lkIDxnaWQ+ICAgICAgICAgICAgIOWun+mam+OBriBHSUQg44KS6Kit5a6a44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMQorbXNnaWQgIiAtdSwgLS1zb2NrZXQgPHNvY2tldD4gICAgd3JpdGUgdG8gdGhpcyBVbml4IHNvY2tldFxuIgorbXNnc3RyICIgLXUsIC0tc29ja2V0IDzjgr3jgrHjg4Pjg4g+ICAg5oyH5a6a44GX44GfIFVuaXgg44K944Kx44OD44OI44Gr5pu444GN6L6844G/44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMgorbXNnaWQgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50IGNvbm5lY3Rpb24gZXJyb3JzIHdoZW4gdXNpbmcgVW5peCBzb2NrZXRzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDI1Cittc2dpZCAiICAgICAtLWpvdXJuYWxkWz08ZmlsZT5dICB3cml0ZSBqb3VybmFsZCBlbnRyeVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTExMgorIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlICVzIgorbXNnc3RyICLjg5XjgqHjgqTjg6sgJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTEyNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBpZCIKK21zZ3N0ciAiSUQg44Gu6Kej5p6Q44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1lc3NhZ2Ugc2l6ZSIKK21zZ3N0ciAi44K144Kk44K65oOF5aCx44Gu6Kej6YeI44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODAKK21zZ2lkICItLW1zZ2lkIGNhbm5vdCBjb250YWluIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgSUQ6ICclcyciCittc2dzdHIgIuW8leaVsOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkzogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICLliLbpmZDmmYLplpPjga7lvJXmlbDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpM6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMTgKK21zZ2lkICItLWZpbGUgPGZpbGU+IGFuZCA8bWVzc2FnZT4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSwgbWVzc2FnZSBpcyBpZ25vcmVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIyNQorbXNnaWQgImpvdXJuYWxkIGVudHJ5IGNvdWxkIG5vdCBiZSB3cml0dGVuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM1NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxzdHJpbmc+IFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSA85paH5a2X5YiXPiBbPOODleOCoeOCpOODqz4uLi5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM1OAorbXNnaWQgIkRpc3BsYXkgbGluZXMgYmVnaW5uaW5nIHdpdGggYSBzcGVjaWZpZWQgc3RyaW5nLlxuIgorbXNnc3RyICLmjIflrprjgZfjgZ/mloflrZfliJfjgaflp4vjgb7jgovooYzjgpLooajnpLrjgZfjgb7jgZnjgIJcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYxCittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICB1c2UgdGhlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICDku6Pjgo/jgorjga7ovp7mm7jjgpLkvb/nlKjjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYyCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1hbHBoYW51bSAgICAgICAgICAgY29tcGFyZSBvbmx5IGJsYW5rcyBhbmQgYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIC1jLCAtLWNoYXJzIDzmlbDlgKQ+ICAgICAgICAgICDjgrnjg6rjg7zjg5fjgavlhaXjgovliY3jga7lh7rlipvjgq3jg6Pjg6njgq/jgr/mlbDjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYzCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIKK21zZ3N0ciAiIC1zLCAtLWludmVyc2UgICAgICAgIOS+neWtmOmWouS/guOCkumAhui7ouOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjQKK21zZ2lkICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiAgIGRlZmluZSB0aGUgc3RyaW5nLXRlcm1pbmF0aW9uIGNoYXJhY3RlclxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTcKK21zZ2lkICJkZXZpY2UgbmFtZSIKK21zZ3N0ciAi44OH44OQ44Kk44K55ZCNIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU4Cittc2dpZCAiaW50ZXJuYWwga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICLjgqvjg7zjg43jg6vlhoXpg6jjg4fjg5DjgqTjgrnlkI0iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTkKK21zZ2lkICJpbnRlcm5hbCBwYXJlbnQga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICLopqrjga7jgqvjg7zjg43jg6vlhoXpg6jjg4fjg5DjgqTjgrnlkI0iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIgc3lzLXV0aWxzL3pyYW1jdGwuYzo4NAorbXNnaWQgIndoZXJlIHRoZSBkZXZpY2UgaXMgbW91bnRlZCIKK21zZ3N0ciAi44Oe44Km44Oz44OI44GV44KM44Gm44GE44KL5aC05omAIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzCittc2dpZCAiZmlsZXN5c3RlbSBMQUJFTCIKK21zZ3N0ciAi44OV44Kh44Kk44Or44K344K544OG44Og44Gu44Op44OZ44OrIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2Cittc2dpZCAicGFydGl0aW9uIHR5cGUgVVVJRCIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44Gu56iu6aGeIChVVUlEKSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NworbXNnaWQgInBhcnRpdGlvbiBMQUJFTCIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44Gu44Op44OZ44OrIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcxCittc2dpZCAicmVhZC1haGVhZCBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICLjg4fjg5DjgqTjgrnjga7lhYjoqq3jgb8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzIgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NQorbXNnaWQgInJlYWQtb25seSBkZXZpY2UiCittc2dzdHIgIuiqreOBv+i+vOOBv+WwgueUqOODh+ODkOOCpOOCuSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MworbXNnaWQgInJlbW92YWJsZSBkZXZpY2UiCittc2dzdHIgIuODquODoOODvOODkOODluODq+ODh+ODkOOCpOOCuSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NAorbXNnaWQgInJlbW92YWJsZSBvciBob3RwbHVnIGRldmljZSAodXNiLCBwY21jaWEsIC4uLikiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NQorbXNnaWQgInJvdGF0aW9uYWwgZGV2aWNlIgorbXNnc3RyICLjg63jg7zjg4bjg7zjgrfjg6fjg7Pjg4fjg5DjgqTjgrkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzYKK21zZ2lkICJhZGRzIHJhbmRvbW5lc3MiCittc2dzdHIgIuS5seaVsOOCt+ODvOODieOBuOOBrui/veWKoCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NworbXNnaWQgImRldmljZSBpZGVudGlmaWVyIgorbXNnc3RyICLjg4fjg5DjgqTjgrnorZjliKXlrZAiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzgKK21zZ2lkICJkaXNrIHNlcmlhbCBudW1iZXIiCittc2dzdHIgIuODh+OCo+OCueOCr+OBruOCt+ODquOCouODq+eVquWPtyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OQorbXNnaWQgInNpemUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAi44OH44OQ44Kk44K544Gu44K144Kk44K6IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgwCittc2dpZCAic3RhdGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAi44OH44OQ44Kk44K544Gu54q25oWLIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgyCittc2dpZCAiZ3JvdXAgbmFtZSIKK21zZ3N0ciAi44Kw44Or44O844OX5ZCNIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgzCittc2dpZCAiZGV2aWNlIG5vZGUgcGVybWlzc2lvbnMiCittc2dzdHIgIuODh+ODkOOCpOOCueODjuODvOODieOBruODkeODvOODn+ODg+OCt+ODp+ODsyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NAorbXNnaWQgImFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgIuOCouODqeOCpOODoeODs+ODiOOCquODleOCu+ODg+ODiCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NQorbXNnaWQgIm1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgIuacgOWwjyBJL08g44K144Kk44K6IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg2Cittc2dpZCAib3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAi5pyA6YGpIEkvTyDjgrXjgqTjgroiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODcKK21zZ2lkICJwaHlzaWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAi54mp55CG44K744Kv44K/44K144Kk44K6IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg4Cittc2dpZCAibG9naWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAi6KuW55CG44K744Kv44K/44K144Kk44K6IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5Cittc2dpZCAiSS9PIHNjaGVkdWxlciBuYW1lIgorbXNnc3RyICJJL08g44K544Kx44K444Ol44O844Op5ZCNIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwCittc2dpZCAicmVxdWVzdCBxdWV1ZSBzaXplIgorbXNnc3RyICLopoHmsYLjgq3jg6Xjg7zjgrXjgqTjgroiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTEKK21zZ2lkICJkZXZpY2UgdHlwZSIKK21zZ3N0ciAi44OH44OQ44Kk44K544Gu56iu6aGeIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkyCittc2dpZCAiZGlzY2FyZCBhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICJkaXNjYXJkIOOCouODqeOCpOODoeODs+ODiOOCquODleOCu+ODg+ODiCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MworbXNnaWQgImRpc2NhcmQgZ3JhbnVsYXJpdHkiCittc2dzdHIgImRpc2NhcmQg57KS5bqmIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk0Cittc2dpZCAiZGlzY2FyZCBtYXggYnl0ZXMiCittc2dzdHIgImRpc2NhcmQg5pyA5aSn44OQ44Kk44OIIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk1Cittc2dpZCAiZGlzY2FyZCB6ZXJvZXMgZGF0YSIKK21zZ3N0ciAiZGlzY2FyZCDjgrzjg63jg4fjg7zjgr8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTYKK21zZ2lkICJ3cml0ZSBzYW1lIG1heCBieXRlcyIKK21zZ3N0ciAid3JpdGUtc2FtZSDmnIDlpKfjg5DjgqTjg4giCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTcKK21zZ2lkICJ1bmlxdWUgc3RvcmFnZSBpZGVudGlmaWVyIgorbXNnc3RyICLjg6bjg4vjg7zjgq/jgarjgrnjg4jjg6zjg7zjgrjorZjliKXlrZAiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTgKK21zZ2lkICJIb3N0OkNoYW5uZWw6VGFyZ2V0Okx1biBmb3IgU0NTSSIKK21zZ3N0ciAiU0NTSSDlkJHjgZHjga7jg5vjgrnjg4g644OB44Oj44Oz44ON44OrOuOCv+ODvOOCsuODg+ODiDpMVU4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTkKK21zZ2lkICJkZXZpY2UgdHJhbnNwb3J0IHR5cGUiCittc2dzdHIgIuODh+ODkOOCpOOCueS8nemAgeOCv+OCpOODlyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMAorbXNnaWQgImRlLWR1cGxpY2F0ZWQgY2hhaW4gb2Ygc3Vic3lzdGVtcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAxCittc2dpZCAiZGV2aWNlIHJldmlzaW9uIgorbXNnc3RyICLjg4fjg5DjgqTjgrnjga7jg6rjg5Pjgrjjg6fjg7MiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDIKK21zZ2lkICJkZXZpY2UgdmVuZG9yIgorbXNnc3RyICLjg4fjg5DjgqTjgrnjga7oo73pgKDlhYMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxMjc2Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGV2aWNlIGRpcmVjdG9yeSBpbiBzeXNmcyIKK21zZ3N0ciAic3lzZnMg5YaF44Gn44OH44OQ44Kk44K544OH44Kj44Os44Kv44OI44Oq44KS6ZaL44GP5Yem55CG44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNvbXBvc2Ugc3lzZnMgcGF0aCIKK21zZ3N0ciAiJXM6IHN5c2ZzIOODkeOCueOBruWQiOaIkOWHpueQhuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIGxpbmsiCittc2dzdHIgIiVzOiDjg6rjg7Pjgq/jga7oqq3jgb/ovrzjgb/jgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN5c2ZzIG5hbWUiCittc2dzdHIgIiVzOiBzeXNmcyDjga7lkI3liY3jga7lj5blvpfjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHdob2xlLWRpc2sgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiJXM6IOODh+OCo+OCueOCr+WFqOS9k+OCkuekuuOBmeODh+ODkOOCpOOCueeVquWPt+OBruWPluW+l+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NTEgbWlzYy11dGlscy9sc2Jsay5jOjE1NTMgbWlzYy11dGlscy9sc2Jsay5jOjE1NzgKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTgwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsaXN0ICclcyciCittc2dzdHIgIuS4gOimpyAnJXMnIOOBruWHpueQhuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgZXhjbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICLpmaTlpJbjgZnjgovjg4fjg5DjgqTjgrnjga7kuIDopqfjgYzlpJrjgZnjgY7jgb7jgZkgKOacgOWkpyAlZCDlgIvjga7jg4fjg5DjgqTjgrnjgb7jgafjgafjgZkpIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBpbmNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgIuWQq+OCgeOCi+ODh+ODkOOCpOOCueOBruS4gOimp+OBjOWkmuOBmeOBjuOBvuOBmSAo5pyA5aSnICVkIOWAi+OBruODh+ODkOOCpOOCueOBvuOBp+OBp+OBmSkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjE2IHN5cy11dGlscy93ZGN0bC5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSBbPOODh+ODkOOCpOOCuT4gLi4uXVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxOQorIywgZnV6enkKK21zZ2lkICJMaXN0IGluZm9ybWF0aW9uIGFib3V0IGJsb2NrIGRldmljZXMuXG4iCittc2dzdHIgIiVzOiDjg5bjg63jg4Pjgq/jg4fjg5DjgqTjgrnjgafjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIyCittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICDjgZnjgbnjgabjga7jg4fjg5DjgqTjgrnjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjQKK21zZ2lkICIgLWQsIC0tbm9kZXBzICAgICAgICAgZG9uJ3QgcHJpbnQgc2xhdmVzIG9yIGhvbGRlcnNcbiIKK21zZ3N0ciAiIC1kLCAtLW5vZGVwcyAgICAgICAgIOOCueODrOODvOODluODh+ODkOOCpOOCueOChOODm+ODq+ODgOODvOOCkuihqOekuuOBl+OBvuOBm+OCk1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNQorbXNnaWQgIiAtRCwgLS1kaXNjYXJkICAgICAgICBwcmludCBkaXNjYXJkIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIgLUQsIC0tZGlzY2FyZCAgICAgICAgZGlzY2FyZCDplqLpgKPjga7mqZ/og73jgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjYKK21zZ2lkICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorbXNnc3RyICIgLWUsIC0tZXhjbHVkZSA85LiA6KanPiDjg6Hjgrjjg6Pjg7znlarlj7fjgpLliKnnlKjjgZfjgabjgIHpmaTlpJbjgZnjgovjg4fjg5DjgqTjgrnjgpLmjIflrprjgZfjgb7jgZkgKOaXouWumuWApDogUkFNIOODh+OCo+OCueOCrylcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjcKK21zZ2lkICIgLWYsIC0tZnMgICAgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1mLCAtLWZzICAgICAgICAgICAgIOODleOCoeOCpOODq+OCt+OCueODhuODoOOBq+mWouOBmeOCi+aDheWgseOCkuWHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyOAorbXNnaWQgIiAtaSwgLS1hc2NpaSAgICAgICAgICB1c2UgYXNjaWkgY2hhcmFjdGVycyBvbmx5XG4iCittc2dzdHIgIiAtaSwgLS1hc2NpaSAgICAgICAgICBBU0NJSSDmloflrZfjga7jgb/jgpLkvb/nlKjjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjkKK21zZ2lkICIgLUksIC0taW5jbHVkZSA8bGlzdD4gc2hvdyBvbmx5IGRldmljZXMgd2l0aCBzcGVjaWZpZWQgbWFqb3IgbnVtYmVyc1xuIgorbXNnc3RyICIgLUksIC0taW5jbHVkZSA85LiA6KanPiDmjIflrprjgZfjgZ/jg6Hjgrjjg6Pjg7znlarlj7fjga7jg4fjg5DjgqTjgrnjga7jgb/jgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzAKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgIOWKoOW3peOCkuihjOOBquOCj+OBquOBhOWHuuWKm+W9ouW8j+OCkuS9v+eUqOOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICDkuIDopqflvaLlvI/jgaflh7rlipvjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzIKK21zZ2lkICIgLW0sIC0tcGVybXMgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIC1tLCAtLXBlcm1zICAgICAgICAgIOODkeODvOODn+ODg+OCt+ODp+ODs+OBq+mWouOBmeOCi+aDheWgseOCkuWHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMworbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAg44OY44OD44OA44KS6KGo56S644GX44G+44Gb44KTXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM0Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICDlh7rlipvjgZnjgovliJfjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzUKKyMsIGZ1enp5Cittc2dpZCAiIC1PLCAtLW91dHB1dC1hbGwgICAgIG91dHB1dCBhbGwgY29sdW1uc1xuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICAgICAg5Ye65Yqb44GZ44KL5YiX44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM2Cittc2dpZCAiIC1wLCAtLXBhdGhzICAgICAgICAgIHByaW50IGNvbXBsZXRlIGRldmljZSBwYXRoXG4iCittc2dzdHIgIiAtcCwgLS1wYXRocyAgICAgICAgICDlrozlhajjgarjg4fjg5DjgqTjgrnjg5HjgrnjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzkKK21zZ2lkICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKK21zZ3N0ciAiIC1zLCAtLWludmVyc2UgICAgICAgIOS+neWtmOmWouS/guOCkumAhui7ouOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MAorbXNnaWQgIiAtUywgLS1zY3NpICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBTQ1NJIGRldmljZXNcbiIKK21zZ3N0ciAiIC1TLCAtLXNjc2kgICAgICAgICAgIFNDU0kg44OH44OQ44Kk44K544Gr6Zai44GZ44KL5oOF5aCx44KS5Ye65Yqb44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQxCittc2dpZCAiIC10LCAtLXRvcG9sb2d5ICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHRvcG9sb2d5XG4iCittc2dzdHIgIiAtdCwgLS10b3BvbG9neSAgICAgICDjg4jjg53jg63jgrjjgavplqLjgZnjgovmg4XloLHjgpLlh7rlipvjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDIKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXNvcnQgPGNvbHVtbj4gIHNvcnQgb3V0cHV0IGJ5IDxjb2x1bW4+XG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICDlh7rlipvjgZnjgovliJfjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDcgbWlzYy11dGlscy9sc2xvY2tzLmM6NTE5IHN5cy11dGlscy9sc25zLmM6NjMyCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE5NiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLW91dHB1dCk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLliKnnlKjlj6/og73jgarliJcgKC0tb3V0cHV0IOOBp+aMh+WumuOBl+OBvuOBmSk6XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhY2Nlc3Mgc3lzZnMgZGlyZWN0b3J5OiAlcyIKK21zZ3N0ciAic3lzZnMg44OH44Kj44Os44Kv44OI44Oq44G444Gu44Ki44Kv44K744K544Gr5aSx5pWX44GX44G+44GX44GfOiAlcyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzMKK21zZ2lkICJjb21tYW5kIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIuODreODg+OCr+OCkuS/neaMgeOBl+OBpuOBhOOCi+ODl+ODreOCu+OCueOBruOCs+ODnuODs+ODiSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzQKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAi44Ot44OD44Kv44KS5L+d5oyB44GX44Gm44GE44KL44OX44Ot44K744K544GuIFBJRCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzUKK21zZ2lkICJraW5kIG9mIGxvY2s6IEZMX0ZMT0NLIG9yIEZMX1BPU0lYLiIKK21zZ3N0ciAi44Ot44OD44Kv44Gu56iu6aGeOiBGTF9GTE9DSyDjgb7jgZ/jga8gRkxfUE9TSVgiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc2Cittc2dpZCAic2l6ZSBvZiB0aGUgbG9jayIKK21zZ3N0ciAi44Ot44OD44Kv44Gu44K144Kk44K6IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NworbXNnaWQgImxvY2sgYWNjZXNzIG1vZGUiCittc2dzdHIgIuODreODg+OCr+OBruOCouOCr+OCu+OCueODouODvOODiSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzgKK21zZ2lkICJtYW5kYXRvcnkgc3RhdGUgb2YgdGhlIGxvY2s6IDAgKG5vbmUpLCAxIChzZXQpIgorbXNnc3RyICLjg63jg4Pjgq/jga7lvLfliLbnirbmhYs6IDAgKOOBquOBlyksIDEgKOioreWumikiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc5Cittc2dpZCAicmVsYXRpdmUgYnl0ZSBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgIuODreODg+OCr+OBruebuOWvvuODkOOCpOODiOOCquODleOCu+ODg+ODiCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODAKK21zZ2lkICJlbmRpbmcgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICLjg63jg4Pjgq/jga7ntYLnq6/jgqrjg5Xjgrvjg4Pjg4giCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgxCittc2dpZCAicGF0aCBvZiB0aGUgbG9ja2VkIGZpbGUiCittc2dzdHIgIuODreODg+OCr+OBleOCjOOBn+ODleOCoeOCpOODq+OBruODkeOCuSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODIKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgYmxvY2tpbmcgdGhlIGxvY2siCittc2dzdHIgIuODreODg+OCr+OCkumYsuW+oeOBl+OBpuOBhOOCi+ODl+ODreOCu+OCueOBriBQSUQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI1OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJRCIKK21zZ3N0ciAiSUQg44Gu6Kej5p6Q44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODEgc3lzLXV0aWxzL25zZW50ZXIuYzoyMzIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGlkIgorbXNnc3RyICJwaWQg44Gu6Kej5p6Q44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODQKK21zZ2lkICIodW5rbm93bikiCittc2dzdHIgIijkuI3mmI4pIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyOTMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgIumWi+Wni+S9jee9ruOBruWHpueQhuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzAwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVuZCIKK21zZ3N0ciAi57WC5LqG5L2N572u44Gu5Yem55CG44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDQKK21zZ2lkICJMaXN0IGxvY2FsIHN5c3RlbSBsb2Nrcy5cbiIKK21zZ3N0ciAi44Ot44O844Kr44Or44K344K544OG44Og44Gu44Ot44OD44Kv44KS6KGo56S644GX44G+44GZ44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwOAorbXNnaWQgIiAtaSwgLS1ub2luYWNjZXNzaWJsZSAgIGlnbm9yZSBsb2NrcyB3aXRob3V0IHJlYWQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDkgc3lzLXV0aWxzL2xzbnMuYzo2MjEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIOODmOODg+ODgOOCkuihqOekuuOBl+OBvuOBm+OCk1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTAgc3lzLXV0aWxzL2xzbnMuYzo2MjIKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0PiDlh7rlipvjgZnjgovliJfjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTExCittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgZGlzcGxheSBvbmx5IGxvY2tzIGhlbGQgYnkgdGhpcyBwcm9jZXNzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTEyIHN5cy11dGlscy9sc25zLmM6NjI0CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAg54m544Gr5Yqg5bel44KS6KGM44KP44Ga44Gr5Ye65Yqb44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjU3MCBzY2hlZHV0aWxzL2NocnQuYzo0Nzggc2NoZWR1dGlscy9pb25pY2UuYzoxNzcKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE2MyBzeXMtdXRpbHMvbHNucy5jOjY5OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NgorbXNnaWQgImludmFsaWQgUElEIGFyZ3VtZW50IgorbXNnc3RyICJQSUQg5byV5pWw44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4NQorbXNnaWQgIkdlbmVyYXRlIG1hZ2ljIGNvb2tpZXMgZm9yIHhhdXRoLlxuIgorbXNnc3RyICJ4YXV0aCDnlKjjga7jg57jgrjjg4Pjgq/jgq/jg4Pjgq3jg7zjgpLnlJ/miJDjgZfjgb7jgZnjgIJcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODgKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICB1c2UgZmlsZSBhcyBhIGNvb2tpZSBzZWVkXG4iCittc2dzdHIgIiAtRiwgLS1maWxlIDzjg5XjgqHjgqTjg6s+ICAgICVzIOOBp+OBr+OBquOBj+OAgeaMh+WumuOBl+OBn+ODleOCoeOCpOODq+OCkuS9v+eUqOOBl+OBpuWHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OQorbXNnaWQgIiAtbSwgLS1tYXgtc2l6ZSA8bnVtPiAgbGltaXQgaG93IG11Y2ggaXMgcmVhZCBmcm9tIHNlZWQgZmlsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo5MAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgIOS9leOBjOihjOOCj+OCjOOCi+OBruOBi+OCkuips+OBl+OBj+ihqOekuuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiR290ICV6dSBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICV6dSBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIiUyJHMg44GL44KJICUxJHp1IOODkOOCpOODiOWPluW+l+OBl+OBvuOBl+OBn1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvc2luZyAlcyBmYWlsZWQiCittc2dzdHIgIiVzIOOCkumWieOBmOOCi+mam+OBq+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTY0IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTQ2IHN5cy11dGlscy9mc3RyaW0uYzozMDgKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZW5ndGgiCittc2dzdHIgIumVt+OBleOBruino+mHiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTc3Cittc2dpZCAiLS1tYXgtc2l6ZSBpZ25vcmVkIHdoZW4gdXNlZCB3aXRob3V0IC0tZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR290ICVkIGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJWQgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICIlMiRzIOOBi+OCiSAlMSRkIOODkOOCpOODiOWPluW+l+OBl+OBvuOBl+OBn1xuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3ltbGluazogJXMiCittc2dzdHIgIuOCt+ODs+ODnOODquODg+OCr+ODquODs+OCr+OBruiqreOBv+i+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnzogJXMiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgLSBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5XG4iCittc2dzdHIgIiVzIC0g44Gd44Gu44KI44GG44Gq44OV44Kh44Kk44Or44KE44OH44Kj44Os44Kv44OI44Oq44Gv44GC44KK44G+44Gb44KTXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBhdGhuYW1lPi4uLlxuIgorbXNnc3RyICJvcGVubG9nICVzOiDjg5HjgrnlkI3jgYzplbfjgZnjgY7jgb7jgZkiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzYKK21zZ2lkICJGb2xsb3cgYSBwYXRobmFtZSB1bnRpbCBhIHRlcm1pbmFsIHBvaW50IGlzIGZvdW5kLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzkKK21zZ2lkICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheXMgdGhpcyBoZWxwIHRleHRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAteCwgLS1tb3VudHBvaW50cyAgIHNob3cgbW91bnQgcG9pbnQgZGlyZWN0b3JpZXMgd2l0aCBhICdEJ1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIHNob3cgdGhlIG1vZGUgYml0cyBvZiBlYWNoIGZpbGVcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBzaG93IG93bmVyIGFuZCBncm91cCBuYW1lIG9mIGVhY2ggZmlsZVxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIHVzZSBhIGxvbmcgbGlzdGluZyBmb3JtYXQgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICBkb24ndCBmb2xsb3cgc3ltbGlua3NcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICB2ZXJ0aWNhbCBhbGlnbiBvZiBtb2RlcyBhbmQgb3duZXJzXG4iCittc2dzdHIgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgb7jgZlcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICDjg5Djg7zjgrjjg6fjg7Pmg4XloLHjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICDjg57jgqbjg7Pjg4jjg53jgqTjg7Pjg4jjgavjgarjgaPjgabjgYTjgovjg4fjgqPjg6zjgq/jg4jjg6rjgpIgJ0QnIOOBp+ihqOekuuOBl+OBvuOBmVxuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIOWQhOODleOCoeOCpOODq+OBruODouODvOODieODk+ODg+ODiOOCkuihqOekuuOBl+OBvuOBmVxuIgorIiAtbywgLS1vd25lcnMgICAgICAgIOWQhOODleOCoeOCpOODq+OBruaJgOacieiAheODpuODvOOCtu+8j+OCsOODq+ODvOODl+OCkuihqOekuuOBl+OBvuOBmVxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIOmVt+OBhOW9ouW8j+OBp+S4gOimp+ihqOekuuOBl+OBvuOBmSAoLW0gLW8gLXYpIFxuIgorIiAtbiwgLS1ub3N5bWxpbmtzICAgIOOCt+ODs+ODnOODquODg+OCr+ODquODs+OCr+OCkui/vei3oeOBl+OBquOBhOOCiOOBhuOBq+OBl+OBvuOBmVxuIgorIiAtdiwgLS12ZXJ0aWNhbCAgICAgIOODouODvOODieOBqOaJgOacieiAheaDheWgseOBq+OBpOOBhOOBpuOAgee4puaWueWQkeOBq+aPg+OBiOOBpuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDA4Cittc2dpZCAicGF0aG5hbWUgYXJndW1lbnQgaXMgbWlzc2luZyIKK21zZ3N0ciAi44OR44K55ZCN44Gu5byV5pWw44GM6KaL44Gk44GL44KK44G+44Gb44KTIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE0IHN5cy11dGlscy9sc25zLmM6NzY0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBVSUQgY2FjaGUiCittc2dzdHIgIkdQVOODmOODg+ODgOOBruWJsuOCiuW9k+OBpuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR0lEIGNhY2hlIgorbXNnc3RyICJHUFTjg5jjg4Pjg4Djga7libLjgorlvZPjgabjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4Y2VlZGVkIGxpbWl0IG9mIHN5bWxpbmtzIgorbXNnc3RyICIlczog44K344Oz44Oc44Oq44OD44Kv44Oq44Oz44Kv44Gu5Yi26ZmQ44KS6LaF6YGO44GX44G+44GX44GfIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICIlczog44K344Oz44Oc44Oq44OD44Kv44Oq44Oz44Kv44Gn44Gv44GC44KK44G+44Gb44KTIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkbGluayBmYWlsZWQiCittc2dzdHIgIiVzOiByZWFkbGluayDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubGluayBmYWlsZWQiCittc2dzdHIgIiVzOiB1bmxpbmsg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzeW1saW5raW5nIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6ICVzIOOBuOOBruOCt+ODs+ODnOODquODg+OCr+ODquODs+OCr+S9nOaIkOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlbmFtZSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiAlcyDjgbjjga7lkI3liY3lpInmm7TjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxleHByZXNzaW9uPiA8cmVwbGFjZW1lbnQ+IDxmaWxlPi4uLlxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10gPOODleOCoeOCpOODqz5cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjIKK21zZ2lkICJSZW5hbWUgZmlsZXMuXG4iCittc2dzdHIgIuODleOCoeOCpOODq+WQjeOCkuWkieabtOOBl+OBvuOBmeOAglxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyNQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgIOS9leOBjOihjOOCj+OCjOOCi+OBruOBi+OCkuips+OBl+OBj+ihqOekuuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyNgorbXNnaWQgIiAtcywgLS1zeW1saW5rICAgIGFjdCBvbiB0aGUgdGFyZ2V0IG9mIHN5bWxpbmtzXG4iCittc2dzdHIgIiAtcywgLS1zeW1saW5rICAgIOOCt+ODs+ODnOODquODg+OCr+ODquODs+OCr+OBruekuuOBmeWFiOOBq+WvvuOBl+OBpuWun+ihjOOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzIKK21zZ2lkICJBIGRhZW1vbiBmb3IgZ2VuZXJhdGluZyBVVUlEcy5cbiIKK21zZ3N0ciAiVVVJRCDjgpLnlJ/miJDjgZnjgovjg4fjg7zjg6Ljg7NcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgPHBhdGg+ICAgICAgICBwYXRoIHRvIHBpZCBmaWxlXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIOaMh+WumuOBl+OBn+WIl+OBruOBv+OCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNvY2tldCA8cGF0aD4gICAgIHBhdGggdG8gc29ja2V0XG4iCittc2dzdHIgIiAtdSwgLS1zb2NrZXQgPOOCveOCseODg+ODiD4gICDmjIflrprjgZfjgZ8gVW5peCDjgr3jgrHjg4Pjg4jjgavmm7jjgY3ovrzjgb/jgb7jgZlcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc2CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10aW1lb3V0IDxzZWM+ICAgICBzcGVjaWZ5IGluYWN0aXZpdHkgdGltZW91dFxuIgorbXNnc3RyICIgLXQsIC0tdGltZW91dCA85pWw5YCkPiAgICAgICDjg63jgrDjgqTjg7Plh6bnkIbjga7liLbpmZDmmYLplpPjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc3CisjLCBmdXp6eQorbXNnaWQgIiAtaywgLS1raWxsICAgICAgICAgICAgICBraWxsIHJ1bm5pbmcgZGFlbW9uXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICDjgZnjgbnjgabjga7jg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgpLjgqLjg7Pjg57jgqbjg7Pjg4jjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc4CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAtYywgLS1jcmVhdG9yICAgICDkvZzmiJDogIXjgajmiYDmnInogIXjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc5CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICB0ZXN0IHRpbWUtYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgLXQsIC0tdGltZSA844Of44Oq56eSPiAgICAgICAgICDjg4njg6njgqTjg5Djga7lvoXmqZ/mmYLplpPjgpLjg5/jg6rnp5LljZjkvY3jgafmjIflrprjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgwCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS11dWlkcyA8bnVtPiAgICAgICByZXF1ZXN0IG51bWJlciBvZiB1dWlkc1xuIgorbXNnc3RyICIgLUgsIC0taGVhZHMgPOaVsOWApD4gICAgICAgICAgICDjg5jjg4Pjg4nmlbDjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgxCittc2dpZCAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKK21zZ3N0ciAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIHBpZCDjg5XjgqHjgqTjg6vjgpLkvZzmiJDjgZfjgb7jgZvjgpNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgyCisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkbyBub3QgZGFlbW9uaXplIHVzaW5nIGRvdWJsZS1mb3JrXG4iCittc2dzdHIgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAgIDzjg5fjg63jgrDjg6njg6A+IOOCkui1t+WLleOBmeOCi+mam+OAgSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yayDjgZvjgZrjgavlrp/ooYzjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgzCisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBkbyBub3QgY3JlYXRlIGxpc3RlbmluZyBzb2NrZXRcbiIKK21zZ3N0ciAiLS1zb2NrZXQtYWN0aXZhdGlvbiDjgaggLS1zb2NrZXQg44Gu5Lih5pa544GM5oyH5a6a44GV44KM44Gm44GE44G+44GZ44CCIC0tc29ja2V0IOOCkueEoeimluOBl+OBpue2muihjOOBl+OBvuOBmeOAgiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjg0CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBydW4gaW4gZGVidWdnaW5nIG1vZGVcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIOWGl+mVt+OBquODoeODg+OCu+ODvOOCuOOCkuaomea6luOCqOODqeODvOWHuuWKm+OBq+WHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODUKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgdHVybiBvbiBxdWlldCBtb2RlXG4iCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICDlh7rlipvjgZnjgovjg6Hjg4Pjgrvjg7zjgrjjga7ph4/jgpLmipHjgYjjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjExOAorbXNnaWQgImJhZCBhcmd1bWVudHMiCittc2dzdHIgIuS4jeato+OBquW8leaVsOOBp+OBmSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEyNQorbXNnaWQgInNvY2tldCIKK21zZ3N0ciAi44K944Kx44OD44OIIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTM2Cittc2dpZCAiY29ubmVjdCIKK21zZ3N0ciAi5o6l57aaIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTU2Cittc2dpZCAid3JpdGUiCittc2dzdHIgIuabuOOBjei+vOOBvyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE2NAorbXNnaWQgInJlYWQgY291bnQiCittc2dzdHIgIuiqreOBv+i+vOOBv+OCq+OCpuODs+ODiCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE3MAorbXNnaWQgImJhZCByZXNwb25zZSBsZW5ndGgiCittc2dzdHIgIuato+OBl+OBj+OBquOBhOW/nOetlOmVt+OBp+OBmSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIyMQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbG9jayAlcyIKK21zZ3N0ciAiJXMg44KS44Ot44OD44Kv44Gn44GN44G+44Gb44KTIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjQ2Cittc2dpZCAiY291bGRuJ3QgY3JlYXRlIHVuaXggc3RyZWFtIHNvY2tldCIKK21zZ3N0ciAiVW5peCDjgrnjg4jjg6rjg7zjg6Djgr3jgrHjg4Pjg4jjgpLkvZzmiJDjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgYmluZCB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAiVW5peCDjgr3jgrHjg4Pjg4ggJXMg44Gr44OQ44Kk44Oz44OJ44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mjk4Cittc2dpZCAicmVjZWl2aW5nIHNpZ25hbCBmYWlsZWQiCittc2dzdHIgIuOCt+OCsOODiuODq+WPl+S/oeOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjMxMQorbXNnaWQgInRpbWVkIG91dCIKK21zZ3N0ciAi5pmC6ZaT5YiH44KM44Gr44Gq44KK44G+44GX44GfIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzQ1IHN5cy11dGlscy9mbG9jay5jOjI3MQorbXNnaWQgImNhbm5vdCBzZXQgdXAgdGltZXIiCittc2dzdHIgIuOCv+OCpOODnuODvOOCkuioreWumuOBp+OBjeOBvuOBm+OCkyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICJ1dWlkZCBkYWVtb24gaXMgYWxyZWFkeSBydW5uaW5nIGF0IHBpZCAlcyIKK21zZ3N0ciAidXVpZGQg44OH44O844Oi44Oz44Gv5pei44Gr44GrIHBpZCAlcyDjgafotbfli5XmuIjjgb/jgafjgZkiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgbGlzdGVuIG9uIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICJVbml4IOOCveOCseODg+ODiCAlcyDjga7lvoXjgaHlj5fjgZHlh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB0cnVuY2F0ZSBmaWxlOiAlcyIKK21zZ3N0ciAi44OV44Kh44Kk44OrICVzIOOCkuOCpOODs+ODneODvOODiOOBp+OBjeOBvuOBm+OCk+OAgiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4NgorbXNnaWQgInNkX2xpc3Rlbl9mZHMoKSBmYWlsZWQiCittc2dzdHIgInNkX2xpc3Rlbl9mZHMoKSDjgavlpLHmlZfjgZfjgb7jgZfjgZ/jgasiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODkKK21zZ2lkICJubyBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayBzeXN0ZW1jdGwgc3RhdHVzIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAi44OV44Kh44Kk44Or6KiY6L+w5a2Q44KS5Y+X5L+h44Gn44GN44G+44Gb44KT44Gn44GX44Gf44CCc3lzdGVtY3RsIHN0YXR1cyB1dWlkZC5zb2NrZXQg44Gu57WQ5p6c44KS56K66KqN44GX44Gm44GP44Gg44GV44GEIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzkyCittc2dpZCAidG9vIG1hbnkgZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgdXVpZGQuc29ja2V0IgorbXNnc3RyICLjg5XjgqHjgqTjg6voqJjov7DlrZDjgpLkvb/nlKjjgZfjgZnjgY7jgabjgYTjgovnirbmhYvjgafjgZnjgIJ1dWlkZC5zb2NrZXTjgIDjgpLnorroqo3jgZfjgabjgY/jgaDjgZXjgYQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MjAgdGVybS11dGlscy9zY3JpcHQuYzo0NTUKK21zZ2lkICJwb2xsIGZhaWxlZCIKK21zZ3N0ciAicG9sbCgpIOOBjOOCqOODqeODvOOCkui/lOOBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lb3V0IFslZCBzZWNdXG4iCittc2dzdHIgIuaZgumWk+WIh+OCjCBbJWQgc2VjXVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQzIHRleHQtdXRpbHMvY29sdW1uLmM6NDE0Cittc2dpZCAicmVhZCBmYWlsZWQiCittc2dzdHIgIuiqreOBv+i+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciByZWFkaW5nIGZyb20gY2xpZW50LCBsZW4gPSAlZCIKK21zZ3N0ciAi44Kv44Op44Kk44Ki44Oz44OI44GL44KJ44Gu6Kqt44G/6L6844G/5pmC44Gr44Ko44Op44O844GM55m655Sf44GX44G+44GX44Gf44CC6ZW344GVID0gJWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkLCBpbmNvbWluZyBudW0gPSAlZFxuIgorbXNnc3RyICLmk43kvZwgJWQsIOWIsOedgOaVsCA9ICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkXG4iCittc2dzdHIgIuaTjeS9nCAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQ6ICVzXG4iCittc2dzdHIgIuaZguWIu+OBi+OCiSBVVUlEIOOCkueUn+aIkOOBl+OBvuOBl+OBnzogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgcmFuZG9tIFVVSUQ6ICVzXG4iCittc2dzdHIgIuS5seaVsOOBi+OCiSBVVUlEIOOCkueUn+aIkOOBl+OBvuOBl+OBnzogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dzdHJbMF0gIuaZguWIu+OBi+OCiSAlMiRkIOWAi+OBriBVVUlEICglMSRzIC4uLikg44KS55Sf5oiQ44GX44G+44GX44Gf44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkICVkIFVVSUQ6XG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCAlZCBVVUlEczpcbiIKK21zZ3N0clswXSAi55Sf5oiQ44GX44GfICVkIOWAi+OBriBVVUlEOlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgb3BlcmF0aW9uICVkXG4iCittc2dzdHIgIuS4jeato+OBquaTjeS9nCAlZCDjgafjgZlcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUzOQorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIHJlcGx5IGxlbmd0aCBmcm9tIHNlcnZlciAlZCIKK21zZ3N0ciAi44K144O844OQ44GL44KJ5LqI5pyf44GX44Gq44GE5b+c562UICVkIOOBjOi/lOOBleOCjOOBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYwMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXV1aWRzIgorbXNnc3RyICIgLS11dWlkIOOBruino+mHiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYxNworbXNnaWQgInV1aWRkIGhhcyBiZWVuIGJ1aWx0IHdpdGhvdXQgc3VwcG9ydCBmb3Igc29ja2V0IGFjdGl2YXRpb24iCittc2dzdHIgIuePvuWcqOOBriB1dWlkZCDjga/jgIHjgr3jgrHjg4Pjg4jjga7mnInlirnljJbmqZ/og73jgpLlkKvjgoHjgZrjgavmp4vnr4njgZXjgozjgabjgYTjgb7jgZnjgIIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MzYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10aW1lb3V0IgorbXNnc3RyICItLXRpbWVvdXQg44Gu6Kej6YeI44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjUzCittc2dpZCAiQm90aCAtLXNvY2tldC1hY3RpdmF0aW9uIGFuZCAtLXNvY2tldCBzcGVjaWZpZWQuIElnbm9yaW5nIC0tc29ja2V0LiIKK21zZ3N0ciAiLS1zb2NrZXQtYWN0aXZhdGlvbiDjgaggLS1zb2NrZXQg44Gu5Lih5pa544GM5oyH5a6a44GV44KM44Gm44GE44G+44GZ44CCIC0tc29ja2V0IOOCkueEoeimluOBl+OBpue2muihjOOBl+OBvuOBmeOAgiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2MCBtaXNjLXV0aWxzL3V1aWRkLmM6Njg4CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNhbGxpbmcgdXVpZGQgZGFlbW9uICglcykiCittc2dzdHIgInV1aWRkIOODh+ODvOODouODsyAoJXMpIOOBruWRvOOBs+WHuuOBl+aZguOBq+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2MSBtaXNjLXV0aWxzL3V1aWRkLmM6Njg5Cittc2dpZCAidW5leHBlY3RlZCBlcnJvciIKK21zZ3N0ciAi5LqI5pyf44GX44Gq44GE44Ko44Op44O8IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURcbiIKK21zZ2lkX3BsdXJhbCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRHNcbiIKK21zZ3N0clswXSAiJTIkZCDlgIvjga4gVVVJRCAoJTEkcyAuLi4pIOOBp+OBmVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjczCisjLCBjLWZvcm1hdAorbXNnaWQgIkxpc3Qgb2YgVVVJRHM6XG4iCittc2dzdHIgIlVVSUQg44Gu5LiA6KanOlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGtpbGwgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQiCittc2dzdHIgInBpZCAlZCDjgafli5XkvZzkuK3jga4gdXVpZGQg44KSIGtpbGwg44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIktpbGxlZCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZC5cbiIKK21zZ3N0ciAicGlkICVkIOOBp+WLleS9nOS4reOBriB1dWlkZCDjgpLntYLkuobjgZfjgb7jgZfjgZ/jgIJcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjgKK21zZ2lkICJDcmVhdGUgYSBuZXcgVVVJRCB2YWx1ZS5cbiIKK21zZ3N0ciAi5paw44GX44GEIFVVSUTlgKTjgpLkvZzmiJDjgZfjgb7jgZnjgIJcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzEKK21zZ2lkICIiCisiIC1yLCAtLXJhbmRvbSAgICAgZ2VuZXJhdGUgcmFuZG9tLWJhc2VkIHV1aWRcbiIKKyIgLXQsIC0tdGltZSAgICAgICBnZW5lcmF0ZSB0aW1lLWJhc2VkIHV1aWRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyIgLXIsIC0tcmFuZG9tICAgICDkubHmlbDjgpLjg5njg7zjgrnjgavjgZfjgZ8gdXVpZCDjgpLnlJ/miJDjgZfjgb7jgZlcbiIKKyIgLXQsIC0tdGltZSAgICAgICDmmYLliLvjgpLjg5njg7zjgrnjgavjgZfjgZ8gdXVpZCDjgpLnlJ/miJDjgZfjgb7jgZlcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICDjg5Djg7zjgrjjg6fjg7Pmg4XloLHjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyIgLWgsIC0taGVscCAgICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyJcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1CTVMgPGRpcj4uLi4gLWZdIDxuYW1lPlxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10gWy1CTVMgPOODh+OCo+ODrOOCr+ODiOODqj4uLi4gLWZdIDzlkI3liY0+XG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5MgorbXNnaWQgIkxvY2F0ZSB0aGUgYmluYXJ5LCBzb3VyY2UsIGFuZCBtYW51YWwtcGFnZSBmaWxlcyBmb3IgYSBjb21tYW5kLlxuIgorbXNnc3RyICLjgrPjg57jg7Pjg4njga7jg5DjgqTjg4rjg6rjgIHjgr3jg7zjgrnjgIHjg57jg4vjg6XjgqLjg6vjg5rjg7zjgrjjg5XjgqHjgqTjg6vjga7loLTmiYDjgpLooajnpLrjgZfjgb7jgZnjgIJcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk1Cittc2dpZCAiIC1iICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIGJpbmFyaWVzXG4iCittc2dzdHIgIiAtYiAgICAgICAgIOODkOOCpOODiuODquOBruOBv+OCkuaknOe0ouOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTYKK21zZ2lkICIgLUIgPGRpcnM+ICBkZWZpbmUgYmluYXJpZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIC1CIDzjg4fjgqPjg6zjgq/jg4jjg6o+IOODkOOCpOODiuODquOBruaknOe0ouODkeOCueOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTcKK21zZ2lkICIgLW0gICAgICAgICBzZWFyY2ggb25seSBmb3IgbWFudWFscyBhbmQgaW5mb3NcbiIKK21zZ3N0ciAiIC1tICAgICAgICAg44Oe44OL44Ol44Ki44Or44GoIGluZm8g44Gu44G/44KS5qSc57Si44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5OAorbXNnaWQgIiAtTSA8ZGlycz4gIGRlZmluZSBtYW4gYW5kIGluZm8gbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIC1NIDzjg4fjgqPjg6zjgq/jg4jjg6o+IOODnuODi+ODpeOCouODq+OBqCBpbmZvIOOBruaknOe0ouODkeOCueOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTkKK21zZ2lkICIgLXMgICAgICAgICBzZWFyY2ggb25seSBmb3Igc291cmNlc1xuIgorbXNnc3RyICIgLXMgICAgICAgICDjgr3jg7zjgrnjgrPjg7zjg4njga7jgb/jgpLmpJzntKLjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAwCittc2dpZCAiIC1TIDxkaXJzPiAgZGVmaW5lIHNvdXJjZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIC1TIDzjg4fjgqPjg6zjgq/jg4jjg6o+IOOCveODvOOCueOCs+ODvOODieOBruaknOe0ouODkeOCueOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDEKK21zZ2lkICIgLWYgICAgICAgICB0ZXJtaW5hdGUgPGRpcnM+IGFyZ3VtZW50IGxpc3RcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgPOODh+OCo+ODrOOCr+ODiOODqj4g44Gu5byV5pWw44Oq44K544OI44Gu57WC44KP44KK44KS56S644GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMgorbXNnaWQgIiAtdSAgICAgICAgIHNlYXJjaCBmb3IgdW51c3VhbCBlbnRyaWVzXG4iCittc2dzdHIgIiAtdSAgICAgICAgIOmAmuW4uOOBruOCguOBruS7peWkluOCkuaknOe0ouWvvuixoeOBq+WQq+OCgeOBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDMKK21zZ2lkICIgLWwgICAgICAgICBvdXRwdXQgZWZmZWN0aXZlIGxvb2t1cCBwYXRoc1xuIgorbXNnc3RyICIgLWwgICAgICAgICDmpJzntKLlhYjjga7jg5HjgrnjgpLlh7rlipvjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NjE5Cittc2dpZCAib3B0aW9uIC1mIGlzIG1pc3NpbmciCittc2dzdHIgIuOCquODl+OCt+ODp+ODsyAtZiDjgYzopovjgaTjgYvjgorjgb7jgZvjgpMiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTk2Cittc2dpZCAicGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLEiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogcHJvYmluZyBpbml0aWFsaXphdGlvbiBmYWlsZWQiCittc2dzdHIgIuOCqOODqeODvDogJXM6IOODl+ODreODvOODluWHpueQhuOBrua6luWCmeOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBlcmFzZSAlcyBtYWdpYyBzdHJpbmcgYXQgb2Zmc2V0IDB4JTA4angiCittc2dzdHIgIiUxJHM6IOOCquODleOCu+ODg+ODiCAweCUzJDA4angg44Gr44GC44KL44Oe44K444OD44Kv5paH5a2X5YiXICUyJHMg44Gu5raI5Y6744Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dpZF9wbHVyYWwgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzBdICIlMSRzOiDjgqrjg5Xjgrvjg4Pjg4ggMHglMyQwOGp4IOOBq+OBguOCiyAlMiR6ZCDjg5DjgqTjg4ggKCU0JHMpIOOCkua2iOWOu+OBl+OBvuOBl+OBnzogIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjM0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAiCittc2dzdHIgIiVzOiDnvbLlkI3jga7jg5Djg4Pjgq/jgqLjg4Pjg5fkvZzmiJDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYWxsaW5nIGlvY3RsIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlOiAlbVxuIgorbXNnc3RyICIlczogaW9jdGwoKSDjgpLlkbzjgbPlh7rjgZfjgabjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgpLlho3oqq3jgb/ovrzjgb/jgZfjgb7jgZk6ICVtXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6Mzg1Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAi572y5ZCN44Gu44OQ44OD44Kv44Ki44OD44OX5L2c5oiQ44Gr5aSx5pWX44GX44G+44GX44Gf44CCJEhPTUUg44GM5a6a576p44GV44KM44Gm44GE44G+44Gb44KTIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaWdub3JpbmcgbmVzdGVkIFwiJXNcIiBwYXJ0aXRpb24gdGFibGUgb24gbm9uLXdob2xlIGRpc2sgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgMHglanggbm90IGZvdW5kIgorbXNnc3RyICIlczog44Kq44OV44K744OD44OIIDB4JWp4IOOBjOimi+OBpOOBi+OCiuOBvuOBm+OCkyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MzUKK21zZ2lkICJVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIHRvIGZvcmNlIGVyYXNlLiIKK21zZ3N0ciAi5by35Yi25raI5Y6744GZ44KL44Gr44GvIC0tZm9yY2Ug44Kq44OX44K344On44Oz44KS5L2/55So44GX44Gm44GP44Gg44GV44GE44CCIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1OQorbXNnaWQgIldpcGUgc2lnbmF0dXJlcyBmcm9tIGEgZGV2aWNlLlxuIgorbXNnc3RyICLjgrfjgrDjg43jg4Hjg6PjgpLjg4fjg5DjgqTjgrnjgYvjgonlrozlhajjgavliYrpmaTjgZfjgb7jgZnjgIJcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0NjIKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpXG4iCisiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgIGZvcmNlIGVyYXN1cmVcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCisiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGxcbiIKKyIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgdG8gZXJhc2UsIGluIGJ5dGVzXG4iCisiIC1wLCAtLXBhcnNhYmxlICAgICAgcHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdFxuIgorIiAtcSwgLS1xdWlldCAgICAgICAgIHN1cHByZXNzIG91dHB1dCBtZXNzYWdlc1xuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSwgUkFJRHMgb3IgcGFydGl0aW9uIHRhYmxlc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICDjgZnjgbnjgabjga7jg57jgrjjg4Pjgq/mloflrZfliJfjgpLmtojljrvjgZfjgb7jgZkgKOazqOaEj+OBl+OBpuOBiuS9v+OBhOOBj+OBoOOBleOBhO+8gSlcbiIKKyIgLWIsIC0tYmFja3VwICAgICAgICDnvbLlkI3jga7jg5Djg4Pjgq/jgqLjg4Pjg5fjgpIgJEhPTUUg44Gr5L2c5oiQ44GX44G+44GZXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAg5by35Yi255qE44Gr5raI5Y6744GX44G+44GZXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAg44GT44Gu44OY44Or44OX44OG44Kt44K544OI44KS6KGo56S644GX44G+44GZXG4iCisiIC1uLCAtLW5vLWFjdCAgICAgICAgd3JpdGUoKSDjgrPjg7zjg6vku6XlpJbjga7jgZnjgbnjgabjga7lh6bnkIbjgpLooYzjgYTjgb7jgZlcbiIKKyIgLW8sIC0tb2Zmc2V0IDzmlbDlgKQ+IOa2iOWOu+OBmeOCi+OCquODleOCu+ODg+ODiOWApOOCkuODkOOCpOODiOWNmOS9jeOBp+aMh+WumuOBl+OBvuOBmVxuIgorIiAtcCwgLS1wYXJzYWJsZSAgICAgIOWNsOWtl+WPr+iDveOBquW9ouW8j+OBp+OBr+OBquOBj+OAgeODl+ODreOCsOODqeODoOOBquOBqeOBp+WHpueQhuOBl+OChOOBmeOBhOW9ouW8j+OBp+WHuuWKm+OBl+OBvuOBmVxuIgorIiAtcSwgLS1xdWlldCAgICAgICAgIOWHuuWKm+OBleOCjOOCi+ODoeODg+OCu+ODvOOCuOOCkuecgeeVpeOBl+OBvuOBmVxuIgorIiAtdCwgLS10eXBlcyA844Oq44K544OIPiDmjIflrprjgZfjgZ/jg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6AgKFJBSUQsIOODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOBquOBqSkg44Gu44G/44Gr5Yi26ZmQ44GX44G+44GZXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAg44OQ44O844K444On44Oz5oOF5aCx44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTMzCittc2dpZCAiaW52YWxpZCBvZmZzZXQgYXJndW1lbnQiCittc2dzdHIgIuOCquODleOCu+ODg+ODiOWApOOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1NTgKK21zZ2lkICJUaGUgLS1iYWNrdXAgb3B0aW9uIGlzIG1lYW5pbmdsZXNzIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAiLS1iYWNrdXAg44Kq44OX44K344On44Oz44Gv44GT44Gu5Yem55CG44Gn44Gv54Sh5oSP5ZGz44Gn44GZIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzUKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVhbC10aW1lIHNjaGVkdWxpbmcgYXR0cmlidXRlcyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJTZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSA8cHJpb3JpdHk+IDxjb21tYW5kPiBbPGFyZz4uLi5dXG4iCisiIGNocnQgW29wdGlvbnNdIC0tcGlkIDxwcmlvcml0eT4gPHBpZD5cbiIKK21zZ3N0ciAiIgorIlxuIgorImNocnQgLSDjg5fjg63jgrvjgrnjga7jg6rjgqLjg6vjgr/jgqTjg6DlsZ7mgKfjgpLmk43kvZzjgZfjgb7jgZlcbiIKKyJcbiIKKyLjg53jg6rjgrfjg7zjga7oqK3lrpo6XG4iCisiICBjaHJ0IFvjgqrjg5fjgrfjg6fjg7NdIFs844Od44Oq44K344O8Pl0gPOWEquWFiOmghuS9jT4gWy1wIDzjg5fjg63jgrvjgrkgSUQ+IHwgPOOCs+ODnuODs+ODiT4gWzzlvJXmlbA+Li4uXV1cbiIKKyJcbiIKKyLjg53jg6rjgrfjg7zjga7lj5blvpc6XG4iCisiICBjaHJ0IFvjgqrjg5fjgrfjg6fjg7NdIC1wIDzjg5fjg63jgrvjgrkgSUQ+XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0MQorbXNnaWQgIiIKKyJHZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSAtcCA8cGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NQorbXNnaWQgIlBvbGljeSBvcHRpb25zOlxuIgorbXNnc3RyICLjg53jg6rjgrfjg7zjgqrjg5fjgrfjg6fjg7M6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NgorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmF0Y2ggICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAg44OR44Oq44OG44Kj5Yi25b6h44KSIFwi44Gq44GXXCIg44Gr6Kit5a6a44GX44G+44GZXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NworIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGVhZGxpbmUgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9ERUFETElORVxuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAg44OR44Oq44OG44Kj5Yi25b6h44KSIFwi44Gq44GXXCIg44Gr6Kit5a6a44GX44G+44GZXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlmbyAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9GSUZPXG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICDjg5Hjg6rjg4bjgqPliLblvqHjgpIgXCLjgarjgZdcIiDjgavoqK3lrprjgZfjgb7jgZlcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ5CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pZGxlICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIOODkeODquODhuOCo+WItuW+oeOCkiBcIuOBquOBl1wiIOOBq+ioreWumuOBl+OBvuOBmVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW90aGVyICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIKK21zZ3N0ciAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIOODkeODquODhuOCo+WItuW+oeOCkiBcIuWlh+aVsFwiIOOBq+ioreWumuOBl+OBvuOBmVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTEKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJyICAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtMSwgLS1vbmUgICAgICAgICAgICAgMSDjgYvmnIjliIbjgaDjgZHjgpLooajnpLrjgZfjgb7jgZkgKOaXouWumuWApClcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU0CisjLCBmdXp6eQorbXNnaWQgIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAi5Ye65Yqb5b2i5byPOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTUKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgc2V0IFNDSEVEX1JFU0VUX09OX0ZPUksgZm9yIEZJRk8gb3IgUlJcbiIKK21zZ3N0ciAiIgorIlxuIgorIuOCueOCseOCuOODpeODvOODq+OBq+mWoumAo+OBmeOCi+ODleODqeOCsDpcbiIKKyIgIC1SIHwgLS1yZXNldC1vbi1mb3JrIEZJRk8g44KEIFJSIOOBq+WvvuOBl+OBpuOAgSBTQ0hFRF9SRVNFVF9PTl9GT1JLIOOCkuioreWumuOBl+OBvuOBmVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTYKK21zZ2lkICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBydW50aW1lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTcKK21zZ2lkICIgLVAsIC0tc2NoZWQtcGVyaW9kIDxucz4gICBwZXJpb2QgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1OAorbXNnaWQgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IGRlYWRsaW5lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjEKK21zZ2lkICJPdGhlciBvcHRpb25zOlxuIgorbXNnc3RyICLjgZ3jga7ku5bjga7jgqrjg5fjgrfjg6fjg7M6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MgorbXNnaWQgIiAtYSwgLS1hbGwtdGFza3MgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MworIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbWF4ICAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCittc2dzdHIgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAg5Lq66ZaT44Gr44Go44Gj44Gm6Kqt44G/44KE44GZ44GE5b2i5byP44Gn44K/44Kk44Og44K544K/44Oz44OX44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIC16LCAtLXplcm8gICAgICAgICAgICAgICDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjg4bjg7zjg5bjg6vjgpLmnIDliJ3jgYvjgonkvZzmiJDjgZfjgb7jgZlcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICBkaXNwbGF5IHN0YXR1cyBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAg5L2V44GM6KGM44KP44KM44KL44Gu44GL44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjIzMiBzY2hlZHV0aWxzL2NocnQuYzoyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgIuODl+ODreOCu+OCuSBJRCAlZCDjga7jg53jg6rjgrfjg7zjga7lj5blvpfjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGF0dHJpYnV0ZXMiCittc2dzdHIgIuODl+ODreOCu+OCuSBJRCAlZCDjga7lsZ7mgKflj5blvpfjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2NworIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICLjg5fjg63jgrvjgrkgSUQgJWQg44Gu5paw44GX44GE44K544Kx44K444Ol44O844Or44Od44Oq44K344O8OiAlcyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICLjg5fjg63jgrvjgrkgSUQgJWQg44Gu54++5Zyo44Gu44K544Kx44K444Ol44O844Or44Od44Oq44K344O8OiAlcyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICLjg5fjg63jgrvjgrkgSUQgJWQg44Gu5paw44GX44GE44K544Kx44K444Ol44O844Or5YSq5YWI6aCG5L2NOiAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICLjg5fjg63jgrvjgrkgSUQgJWQg44Gu54++5Zyo44Gu44K544Kx44K444Ol44O844Or5YSq5YWI6aCG5L2NOiAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIuODl+ODreOCu+OCuSBJRCAlZCDjga7nj77lnKjjga7jgrnjgrHjgrjjg6Xjg7zjg6vlhKrlhYjpoIbkvY06ICVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMwMCBzY2hlZHV0aWxzL2NocnQuYzozOTYKK21zZ2lkICJjYW5ub3Qgb2J0YWluIHRoZSBsaXN0IG9mIHRhc2tzIgorbXNnc3RyICLjgr/jgrnjgq/jga7kuIDopqfjgpLlj5blvpfjgafjgY3jgb7jgZvjgpMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbWluL21heCBwcmlvcml0eVx0OiAlZC8lZFxuIgorbXNnc3RyICJTQ0hFRF8lcyDjgafjga7lhKrlhYjpoIbkvY3mnIDlsI/lgKTvvI/mnIDlpKflgKRcdDogJWQvJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3Qgc3VwcG9ydGVkP1xuIgorbXNnc3RyICJTQ0hFRF8lcyDjgavjga/lr77lv5zjgZfjgabjgYTjgb7jgZvjgpPvvJ9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICLjgr/jgrnjgq8gSUQgJWQg44Gu44Od44Oq44K344O86Kit5a6a44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgIuODl+ODreOCu+OCuSBJRCAlZCDjga7jg53jg6rjgrfjg7zoqK3lrprjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHJ1bnRpbWUgYXJndW1lbnQiCittc2dzdHIgIuaZguWIu+OBruW8leaVsOOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmSIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDkwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcGVyaW9kIGFyZ3VtZW50IgorbXNnc3RyICLpgJ/luqblvJXmlbDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ5MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGRlYWRsaW5lIGFyZ3VtZW50IgorbXNnc3RyICLjg5jjg4Pjg4nmlbDjga7lvJXmlbDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUxNworbXNnaWQgImludmFsaWQgcHJpb3JpdHkgYXJndW1lbnQiCittc2dzdHIgIuWEquWFiOmghuS9jeOBruaMh+WumuOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTIxCisjLCBmdXp6eQorbXNnaWQgIi0tcmVzZXQtb24tZm9yayBvcHRpb24gaXMgc3VwcG9ydGVkIGZvciBTQ0hFRF9GSUZPIGFuZCBTQ0hFRF9SUiBwb2xpY2llcyBvbmx5IgorbXNnc3RyICJTQ0hFRF9SRVNFVF9PTl9GT1JLIOODleODqeOCsOOBr+OAgSBTQ0hSRF9GSUZPIOOBiuOCiOOBsyBTQ0hFRF9SUiDjg53jg6rjgrfjg7zjga7oqK3lrprjgZXjgozjgZ/jg5fjg63jgrvjgrnjga7jgb/jgavpgannlKjjgafjgY3jgb7jgZkiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyNgorbXNnaWQgIi0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgZm9yIFNDSEVEX0RFQURMSU5FIG9ubHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQxCisjLCBmdXp6eQorbXNnaWQgIlNDSEVEX0RFQURMSU5FIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJTQ0hFRF8lcyDjgavjga/lr77lv5zjgZfjgabjgYTjgb7jgZvjgpPvvJ9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByaW9yaXR5IHZhbHVlIGZvciB0aGUgcG9saWN5OiAlZDogc2VlIC0tbWF4IGZvciB2YWxpZCByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc2Cittc2dpZCAiaW9wcmlvX2dldCBmYWlsZWQiCittc2dzdHIgImlvcHJpb19nZXQg44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwcmlvICVsdVxuIgorbXNnc3RyICIlczog5YSq5YWI5bqmICVsdVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjk4Cittc2dpZCAiaW9wcmlvX3NldCBmYWlsZWQiCittc2dzdHIgImlvcHJpb19zZXQg44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSAtcCA8cGlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtUCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBb44Kq44OX44K344On44OzXVxuIgorIiAlMSRzIFvjgqrjg5fjgrfjg6fjg7NdIDzjg4fjg5DjgqTjgrk+IHwgPOODnuOCpuODs+ODiOODneOCpOODs+ODiD5cbiIKKyIgJTEkcyBb44Kq44OX44K344On44OzXSA844OH44OQ44Kk44K5PiA844Oe44Km44Oz44OI44Od44Kk44Oz44OIPlxuIgorIiAlMSRzIFvjgqrjg5fjgrfjg6fjg7NdIFstLXNvdXJjZSA844OH44OQ44Kk44K5Pl0gWy0tdGFyZ2V0IDzjg57jgqbjg7Pjg4jjg53jgqTjg7Pjg4g+XVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExMAorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBJL08tc2NoZWR1bGluZyBjbGFzcyBhbmQgcHJpb3JpdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTEzCittc2dpZCAiIgorIiAtYywgLS1jbGFzcyA8Y2xhc3M+ICAgIG5hbWUgb3IgbnVtYmVyIG9mIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNQorbXNnaWQgIiIKKyIgLW4sIC0tY2xhc3NkYXRhIDxudW0+ICBwcmlvcml0eSAoMC4uNykgaW4gdGhlIHNwZWNpZmllZCBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgb25seSBmb3IgdGhlIHJlYWx0aW1lIGFuZCBiZXN0LWVmZm9ydCBjbGFzc2VzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTcKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+Li4uICAgICBhY3Qgb24gdGhlc2UgYWxyZWFkeSBydW5uaW5nIHByb2Nlc3Nlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE4Cittc2dpZCAiIC1QLCAtLXBnaWQgPHBncnA+Li4uICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgaW4gdGhlc2UgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTkKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLWlnbm9yZSAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCittc2dzdHIgIiAtcywgLS1pbnZlcnNlICAgICAgICDkvp3lrZjplqLkv4LjgpLpgIbou6LjgZfjgb7jgZlcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMjAKK21zZ2lkICIgLXUsIC0tdWlkIDx1aWQ+Li4uICAgICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBvd25lZCBieSB0aGVzZSB1c2Vyc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTU3Cittc2dpZCAiaW52YWxpZCBjbGFzcyBkYXRhIGFyZ3VtZW50IgorbXNnc3RyICLjgq/jg6njgrnjg4fjg7zjgr/lvJXmlbDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTYzCittc2dpZCAiaW52YWxpZCBjbGFzcyBhcmd1bWVudCIKK21zZ3N0ciAi44Kv44Op44K55byV5pWw44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNjaGVkdWxpbmcgY2xhc3M6ICclcyciCittc2dzdHIgIuS4jeaYjuOBquOCueOCseOCuOODpeODvOODq+OCr+ODqeOCueOBp+OBmTogJyVzJyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNzYgc2NoZWR1dGlscy9pb25pY2UuYzoxODQgc2NoZWR1dGlscy9pb25pY2UuYzoxOTIKK21zZ2lkICJjYW4gaGFuZGxlIG9ubHkgb25lIG9mIHBpZCwgcGdpZCBvciB1aWQgYXQgb25jZSIKK21zZ3N0ciAiMeW6puOBq+aJseOBiOOCi+OBruOBryBQSUQsIFBHSUQsIFVJRCDjga7jganjgozjgYsx44Gk44Gu44G/44Gn44GZIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NQorbXNnaWQgImludmFsaWQgUEdJRCBhcmd1bWVudCIKK21zZ3N0ciAi54Sh5Yq544GqIFBHSUQg5byV5pWw44Gn44GZIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MworbXNnaWQgImludmFsaWQgVUlEIGFyZ3VtZW50IgorbXNnc3RyICLnhKHlirnjgaogVUlEIOW8leaVsOOBp+OBmSIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMTIKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBub25lIGNsYXNzIgorbXNnc3RyICLjgrnjgrHjgrjjg6Xjg7zjg6vjgq/jg6njgrnjgYwgbm9uZSDjga7loLTlkIjjgIEgY2xhc3NkYXRhIOW8leaVsOOBr+eEoeimluOBleOCjOOBvuOBmSIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjAKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBpZGxlIGNsYXNzIgorbXNnc3RyICLjgrnjgrHjgrjjg6Xjg7zjg6vjgq/jg6njgrnjgYwgaWRsZSDjga7loLTlkIjjgIEgY2xhc3NkYXRhIOW8leaVsOOBr+eEoeimluOBleOCjOOBvuOBmSIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvIGNsYXNzICVkIgorbXNnc3RyICLkuI3mmI7jgarlhKrlhYjpoIbkvY3jgq/jg6njgrkgJWQg44Gn44GZIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVXNhZ2U6ICVzIFtvcHRpb25zXSBbbWFzayB8IGNwdS1saXN0XSBbcGlkfGNtZCBbYXJncy4uLl1dXG4iCisiXG4iCittc2dzdHIgIiIKKyLkvb/jgYTmlrk6ICVzIFvjgqrjg5fjgrfjg6fjg7NdIFttYXNrIHwgY3B1LWxpc3RdIFtwaWR8Y21kIFvlvJXmlbAuLi5dXVxuIgorIlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1NQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBDUFUgYWZmaW5pdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJPcHRpb25zOlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICBkaXNwbGF5IGFuZCBzcGVjaWZ5IGNwdXMgaW4gbGlzdCBmb3JtYXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHBcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKKyJcbiIKK21zZ3N0ciAiIgorIuOCquODl+OCt+ODp+ODszpcbiIKKyIgLWEsIC0tYWxsLXRhc2tzICAgICAgICAg5oyH5a6a44GX44Gf44OX44Ot44K744K5IElEIOOBruOBmeOBueOBpuOBruOCv+OCueOCryAo44K544Os44OD44OJKSDjgavlr77jgZfjgabjgIFcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAg5pON5L2c44KS6KGM44GE44G+44GZXG4iCisiIC1wLCAtLXBpZCAgICAgICAgICAgICAgIOaXouOBq+Wun+ihjOS4reOBruODl+ODreOCu+OCueOBq+WvvuOBl+OBpuWHpueQhuOCkuihjOOBhOOBvuOBmVxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICDkuIDopqflvaLlvI/jgacgQ1BVIOOCkuihqOekuuOBiuOCiOOBs+ioreWumuOBl+OBvuOBmVxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgb7jgZlcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAg44OQ44O844K444On44Oz5oOF5aCx44KS6KGo56S644GX44G+44GZXG4iCisiXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBydW4gYSBuZXcgY29tbWFuZDpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyJZb3UgY2FuIHJldHJpZXZlIHRoZSBtYXNrIG9mIGFuIGV4aXN0aW5nIHRhc2s6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiT3Igc2V0IGl0OlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorIkxpc3QgZm9ybWF0IHVzZXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBpbnN0ZWFkIG9mIGEgbWFzazpcbiIKKyIgICAgJTEkcyAtcGMgMCwzLDctMTEgNzAwXG4iCisiUmFuZ2VzIGluIGxpc3QgZm9ybWF0IGNhbiB0YWtlIGEgc3RyaWRlIGFyZ3VtZW50OlxuIgorIiAgICBlLmcuIDAtMzE6MiBpcyBlcXVpdmFsZW50IHRvIG1hc2sgMHg1NTU1NTU1NVxuIgorbXNnc3RyICIiCisi5pei5a6a44Gu5YuV5L2c44Gv44CB5paw44GX44GE44OX44Ot44K744K544Gu6LW35YuV44Gn44GZOlxuIgorIiAgICAlMSRzIDAzIHNzaGQgLWIgMTAyNFxuIgorIuOBvuOBn+OAgeaXouWtmOOBruOCv+OCueOCr+OBq+WvvuOBl+OBpuODnuOCueOCr+OCkuWPluW+l+OBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmTpcbiIKKyIgICAgJTEkcyAtcCA3MDBcbiIKKyLjg57jgrnjgq/jga7oqK3lrprjga/kuIvoqJjjga7jgojjgYbjgavjgZfjgabooYzjgYTjgb7jgZk6XG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisi44Oe44K544Kv5b2i5byP44Gn44Gv44Gq44GP44CB44Kr44Oz44Oe5Yy65YiH44KK44Gu5LiA6Kan44Gn5oyH5a6a44GZ44KL44GT44Go44KC44Gn44GN44G+44GZOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyLnr4Tlm7LmjIflrprjgpLooYzjgYbjgZPjgajjgoLjgafjgY3jgb7jgZk6XG4iCisiICAgICjkvospIDAtMzE6MiDjga/jg57jgrnjgq8gMHg1NTU1NTU1NSDjgajlkIzjgZjmhI/lkbPjgavjgarjgorjgb7jgZlcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgIuODl+ODreOCu+OCuSBJRCAlZCDjga7mlrDjgZfjgYTopqrlkozmgKfjg6rjgrnjg4g6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAi44OX44Ot44K744K5IElEICVkIOOBruePvuWcqOOBruimquWSjOaAp+ODquOCueODiDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIuODl+ODreOCu+OCuSBJRCAlZCDjga7mlrDjgZfjgYTopqrlkozmgKfjg57jgrnjgq86ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAi44OX44Ot44K744K5IElEICVkIOOBruePvuWcqOOBruimquWSjOaAp+ODnuOCueOCrzogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTkKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogY29udmVyc2lvbiBmcm9tIGNwdXNldCB0byBzdHJpbmcgZmFpbGVkIgorbXNnc3RyICLlhoXpg6jjgqjjg6njg7w6IENQVSDjgrvjg4Pjg4jjgpLmloflrZfliJfjgavlpInmj5vjgZnjgovlh6bnkIbjgYzlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwOSBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAi44OX44Ot44K744K5IElEICVkIOOBruimquWSjOaAp+aDheWgseOBruWPluW+l+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgIuODl+ODreOCu+OCuSBJRCAlZCDjga7opqrlkozmgKfmg4XloLHjga7oqK3lrprjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE4NiBzeXMtdXRpbHMvY2hjcHUuYzoyODkKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIE5SX0NQVVM7IGFib3J0aW5nIgorbXNnc3RyICJOUl9DUFVTIOOCkuWIpOaWreOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkzsg5Lit5q2i44GX44Gm44GE44G+44GZIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxOTUgc2NoZWR1dGlscy90YXNrc2V0LmM6MjA4IHN5cy11dGlscy9jaGNwdS5jOjI5NQorbXNnaWQgImNwdXNldF9hbGxvYyBmYWlsZWQiCittc2dzdHIgImNwdXNldF9hbGxvYyDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxNSBzeXMtdXRpbHMvY2hjcHUuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAiQ1BVIOODquOCueODiOOBruWHpueQhuOBq+WkseaVl+OBl+OBvuOBl+OBnzogJXMiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2s6ICVzIgorbXNnc3RyICJDUFUg44Oe44K544Kv44Gu5Yem55CG44Gr5aSx5pWX44GX44G+44GX44GfOiAlcyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogWmVyby1maWxsZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiJTEkczog6ZaL5aeL5L2N572uICUzJDxQUkl1NjQ+IOOBi+OCiSAlMiQ8UFJJdTY0PiDjg5DjgqTjg4jjgpIgMOOBp+Wfi+OCgeOBvuOBl+OBn1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBEaXNjYXJkZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiJTEkczog6ZaL5aeL5L2N572uICUzJDxQUkl1NjQ+IOOBi+OCiSAlMiQ8UFJJdTY0PiDjg5DjgqTjg4jjgpLnoLTmo4TjgZfjgb7jgZfjgZ9cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4NworbXNnaWQgIkRpc2NhcmQgdGhlIGNvbnRlbnQgb2Ygc2VjdG9ycyBvbiBhIGRldmljZS5cbiIKK21zZ3N0ciAi44OH44OQ44Kk44K544Gu44K744Kv44K/44Gu5YaF5a6544KS56C05qOE44GX44G+44GZ44CCXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTAKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorbXNnc3RyICIgLWMsIC0tY3lsaW5kZXJzIDzmlbDlgKQ+IOWIqeeUqOOBmeOCi+OCt+ODquODs+ODgOOBruaVsOOCkuOCu+ODg+ODiOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkxCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgLWMsIC0tY3lsaW5kZXJzIDzmlbDlgKQ+IOWIqeeUqOOBmeOCi+OCt+ODquODs+ODgOOBruaVsOOCkuOCu+ODg+ODiOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkyCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1zdGVwIDxudW0+ICAgIHNpemUgb2YgdGhlIGRpc2NhcmQgaXRlcmF0aW9ucyB3aXRoaW4gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDznlarlj7c+ICAgIOODleOCoeOCpOODq+WGheOBriA855Wq5Y+3PiDjgafnpLrjgZXjgozjgZ/jgqrjg5Xjgrvjg4Pjg4jkvY3nva7jgYvjgonlp4vjgoHjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCittc2dzdHIgIiAtLXNlY3VyZWJpdHMgPOODk+ODg+ODiD4gICAgc2VjdXJlIGJpdCDjgpLoqK3lrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NAorIywgZnV6enkKK21zZ2lkICIgLXosIC0temVyb291dCAgICAgICB6ZXJvLWZpbGwgcmF0aGVyIHRoYW4gZGlzY2FyZFxuIgorbXNnc3RyICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIOW+heapn+OBjOW/heimgeOBquWgtOWQiOOAgeWkseaVl+OBleOBm+OCi+OCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IGFsaWduZWQgbGVuZ3RoIGFuZCBvZmZzZXRcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAg5L2V44GM6KGM44KP44KM44KL44Gu44GL44KS6Kmz44GX44GP6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTUwIHN5cy11dGlscy9mc3RyaW0uYzozMTIgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NzMKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjEyNAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBvZmZzZXQiCittc2dzdHIgIumWi+Wni+S9jee9ruOBruino+mHiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0ZXAiCittc2dzdHIgIuOCteOCpOOCuuaDheWgseOBruino+mHiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzIgc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODIgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDgKK21zZ2lkICJubyBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICLjg4fjg5DjgqTjgrnjgYzmjIflrprjgZXjgozjgabjgYTjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTc3IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTEKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyMiBzeXMtdXRpbHMvZnN0cmltLmM6MzM0Cittc2dpZCAidW5leHBlY3RlZCBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICLlvJXmlbDjga7lgIvmlbDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogQkxLR0VUU0laRTY0IGlvY3RsIOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NTWkdFVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBCTEtTU1pHRVQgaW9jdGwg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0ICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiJXM6IOOCquODleOCu+ODg+ODiCAlPFBSSXU2ND4g44Gv44K744Kv44K/44Gu44K144Kk44K6ICVpIOOBruWAjeaVsOOBp+OBr+OBguOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCBpcyBncmVhdGVyIHRoYW4gZGV2aWNlIHNpemUiCittc2dzdHIgIiVzOiDjgqrjg5Xjgrvjg4Pjg4jjgYzjg4fjg5DjgqTjgrnjgrXjgqTjgrrjgojjgorjgoLlpKfjgY3jgYTjgafjgZkiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsZW5ndGggJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIlczog6ZW344GVICU8UFJJdTY0PiDjga/jgrvjgq/jgr/jga7jgrXjgqTjgrogJWkg44Gu5YCN5pWw44Gn44Gv44GC44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLWkVST09VVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBCTEtaRVJPT1VUIGlvY3RsIOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NFQ0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogQkxLU0VDRElTQ0FSRCBpb2N0bCDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEJMS0RJU0NBUkQgaW9jdGwg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo4NyBzeXMtdXRpbHMvY2hjcHUuYzoxNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJDUFUgJXUg44Gv5a2Y5Zyo44GX44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGhvdCBwbHVnZ2FibGUiCittc2dzdHIgIkNQVSAldSDjga8g44Ob44OD44OI44OX44Op44Kw5a++5b+c44Gn44Gv44GC44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIkNQVSAldSDjga/ml6LjgavmnInlirnljJbmuIjjgb/jgafjgZlcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAldSDjga/ml6LjgavnhKHlirnljJbmuIjjgb/jgafjgZlcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIChDUFUgaXMgZGVjb25maWd1cmVkKSIKK21zZ3N0ciAiQ1BVICV1IOOBruacieWKueWMluOBq+WkseaVl+OBl+OBvuOBl+OBnyAoQ1BVIOOBr+ioreWumuino+mZpOOBleOCjOOBpuOBhOOBvuOBmSkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCIKK21zZ3N0ciAiQ1BVICV1IOOBruacieWKueWMluOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGVkXG4iCittc2dzdHIgIkNQVSAldSDjgpLmnInlirnljJbjgZfjgb7jgZfjgZ9cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCAobGFzdCBlbmFibGVkIENQVSkiCittc2dzdHIgIkNQVSAldSDjga7nhKHlirnljJbjgavlpLHmlZfjgZfjgb7jgZfjgZ8gKOOBk+OCjOOBjOacieWKueWMluOBleOCjOOBpuOBhOOCi+acgOW+jOOBriBDUFUg44Gn44GZKSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCIKK21zZ3N0ciAiQ1BVICV1IOOBrueEoeWKueWMluOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlZFxuIgorbXNnc3RyICJDUFUgJXUg44KS54Sh5Yq55YyW44GX44G+44GX44GfXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgcmVzY2FubmluZyBvZiBDUFVzIgorbXNnc3RyICLjgZPjga7jgrfjgrnjg4bjg6Djga8gQ1BVIOOBruWGjeOCueOCreODo+ODs+OBq+WvvuW/nOOBl+OBpuOBhOOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQzCittc2dpZCAiRmFpbGVkIHRvIHRyaWdnZXIgcmVzY2FuIG9mIENQVXMiCittc2dzdHIgIkNQVSDjga7lho3jgrnjgq3jg6Pjg7Pjga7otbfli5XjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJUcmlnZ2VyZWQgcmVzY2FuIG9mIENQVXNcbiIKK21zZ3N0ciAiQ1BVIOOBruWGjeOCueOCreODo+ODs+OCkui1t+WLleOBl+OBvuOBl+OBn1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHNldHRpbmcgdGhlIGRpc3BhdGNoaW5nIG1vZGUgb2YgQ1BVcyIKK21zZ3N0ciAi44GT44Gu44K344K544OG44Og44GvIENQVSDjg4fjgqPjgrnjg5Hjg4Pjg4Hjg6Ljg7zjg4njga7oqK3lrprjgavlr77lv5zjgZfjgabjgYTjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NQorbXNnaWQgIkZhaWxlZCB0byBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICLmsLTlubPjg4fjgqPjgrnjg5Hjg4Pjg4Hjg6Ljg7zjg4njga7oqK3lrprjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IGhvcml6b250YWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICLmsLTlubPjg4fjgqPjgrnjg5Hjg4Pjg4Hjg6Ljg7zjg4njga7oqK3lrprjgavmiJDlip/jgZfjgb7jgZfjgZ9cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU5Cittc2dpZCAiRmFpbGVkIHRvIHNldCB2ZXJ0aWNhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICLlnoLnm7Tjg4fjgqPjgrnjg5Hjg4Pjg4Hjg6Ljg7zjg4njga7oqK3lrprjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IHZlcnRpY2FsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAi5Z6C55u044OH44Kj44K544OR44OD44OB44Oi44O844OJ44Gu6Kit5a6a44Gr5oiQ5Yqf44GX44G+44GX44GfXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGNvbmZpZ3VyYWJsZSIKK21zZ3N0ciAiQ1BVICV1IOOCkuioreWumuOBp+OBjeOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICV1IOOBr+ioreWumua4iOOBv+OBp+OBmVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAldSDjga/ml6LjgavoqK3lrprop6PpmaTmuIjjgb/jgafjgZlcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiQ1BVICV1IOOBruioreWumuino+mZpOOBq+WkseaVl+OBl+OBvuOBl+OBnyhDUFUg44Gv5pyJ5Yq544Gn44GZKSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICJDUFUgJXUg44Gu6Kit5a6a44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICV1IOOCkuioreWumuOBl+OBvuOBl+OBn1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiQ1BVICV1IOOBruioreWumuino+mZpOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICV1IOOCkuioreWumuino+mZpOOBl+OBvuOBl+OBn1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBDUFUgbnVtYmVyIGluIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAiQ1BVIOODquOCueODiOWGheOBrueVquWPt+OBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkzogJXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzOCB0ZXh0LXV0aWxzL2NvbC5jOjEzMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIiCisiXG4iCisi5L2/44GE5pa5OlxuIgorIiAlcyBb44Kq44OX44K344On44OzXVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDIKK21zZ2lkICJDb25maWd1cmUgQ1BVcyBpbiBhIG11bHRpLXByb2Nlc3NvciBzeXN0ZW0uXG4iCittc2dzdHIgIuODnuODq+ODgeODl+ODreOCu+ODg+OCteOCt+OCueODhuODoOOBriBDUFUg44KS6Kit5a6a44GX44G+44GZ44CCXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0NAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhpcyBoZWxwXG4iCisiICAtZSwgLS1lbmFibGUgPGNwdS1saXN0PiAgICAgICBlbmFibGUgY3B1c1xuIgorIiAgLWQsIC0tZGlzYWJsZSA8Y3B1LWxpc3Q+ICAgICAgZGlzYWJsZSBjcHVzXG4iCisiICAtYywgLS1jb25maWd1cmUgPGNwdS1saXN0PiAgICBjb25maWd1cmUgY3B1c1xuIgorIiAgLWcsIC0tZGVjb25maWd1cmUgPGNwdS1saXN0PiAgZGVjb25maWd1cmUgY3B1c1xuIgorIiAgLXAsIC0tZGlzcGF0Y2ggPG1vZGU+ICAgICAgICAgc2V0IGRpc3BhdGNoaW5nIG1vZGVcbiIKKyIgIC1yLCAtLXJlc2NhbiAgICAgICAgICAgICAgICAgIHRyaWdnZXIgcmVzY2FuIG9mIGNwdXNcbiIKKyIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKyJcbiIKKyLjgqrjg5fjgrfjg6fjg7M6XG4iCisiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgb7jgZlcbiIKKyIgIC1lLCAtLWVuYWJsZSA8Q1BVIOODquOCueODiD4gICAgIENQVSDjgpLmnInlirnljJbjgZfjgb7jgZlcbiIKKyIgIC1kLCAtLWRpc2FibGUgPENQVSDjg6rjgrnjg4g+ICAgIENQVSDjgpLnhKHlirnljJbjgZfjgb7jgZlcbiIKKyIgIC1jLCAtLWNvbmZpZ3VyZSA8Q1BVIOODquOCueODiD4gIENQVSDjgpLoqK3lrprjgZfjgb7jgZlcbiIKKyIgIC1nLCAtLWRlY29uZmlndXJlIDxDUFUg44Oq44K544OIPiBDUFUg44KS6Kit5a6a6Kej6Zmk44GX44G+44GZXG4iCisiICAtcCwgLS1kaXNwYXRjaCA844Oi44O844OJPiAgICAgICDjg4fjgqPjgrnjg5Hjg4Pjg4Hjg6Ljg7zjg4njgpLoqK3lrprjgZfjgb7jgZlcbiIKKyIgIC1yLCAtLXJlc2NhbiAgICAgICAgICAgICAgICAgIENQVSDjgpLlho3jgrnjgq3jg6Pjg7PjgZfjgb7jgZlcbiIKKyIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIOODkOODvOOCuOODp+ODs+aDheWgseOCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzozMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICLmnKrlr77lv5zjga7lvJXmlbDjgafjgZk6ICVzIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBoYXJkfHNvZnRcbiIKK21zZ3N0ciAiICVzIGhhcmR8c29mdFxuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldCB0aGUgZnVuY3Rpb24gb2YgdGhlIEN0cmwtQWx0LURlbCBjb21iaW5hdGlvbi5cbiIKK21zZ3N0ciAiQ3RybC1BbHQtRGVsIOOBrue1hOOBv+WQiOOCj+OBm+OBruapn+iDveOCkuioreWumuOBl+OBvuOBmeOAglxuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUxCittc2dpZCAiaW1wbGljaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHZhbHVlIGluICVzOiAlanUiCittc2dzdHIgIiVzIOOBp+S6iOacn+OBl+OBquOBhOWApOOBjOimi+OBpOOBi+OCiuOBvuOBl+OBnzogJWp1IgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjYzCittc2dpZCAiWW91IG11c3QgYmUgcm9vdCB0byBzZXQgdGhlIEN0cmwtQWx0LURlbCBiZWhhdmlvciIKK21zZ3N0ciAiQ3RybC1BbHQtRGVsIOOBruWLleS9nOOCkuioreWumuOBmeOCi+OBq+OBryByb290IOOBp+OBguOCi+W/heimgeOBjOOBguOCiuOBvuOBmSIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo3MSBzeXMtdXRpbHMvaXBjcm0uYzozOTIgc3lzLXV0aWxzL2lwY3JtLmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICLkuI3mmI7jgarlvJXmlbDjgafjgZk6ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTAKK21zZ2lkICJzeXN0ZW0gaXMgdW51c2FibGUiCittc2dzdHIgIuOCt+OCueODhuODoOOBjOWIqeeUqOOBp+OBjeOBquOBhOeKtuaFi+OBp+OBmSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTExCittc2dpZCAiYWN0aW9uIG11c3QgYmUgdGFrZW4gaW1tZWRpYXRlbHkiCittc2dzdHIgIuOBmeOBkOOBq+WHpueQhuOBl+OBquOBkeOCjOOBsOOBquOCieOBquOBhOOCguOBruOBp+OBmSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEyCittc2dpZCAiY3JpdGljYWwgY29uZGl0aW9ucyIKK21zZ3N0ciAi6Ie05ZG955qE44Gq54q25oWL44Gn44GZIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTMKK21zZ2lkICJlcnJvciBjb25kaXRpb25zIgorbXNnc3RyICLjgqjjg6njg7znirbmhYvjgafjgZkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNAorbXNnaWQgIndhcm5pbmcgY29uZGl0aW9ucyIKK21zZ3N0ciAi6K2m5ZGK54q25oWL44Gn44GZIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTUKK21zZ2lkICJub3JtYWwgYnV0IHNpZ25pZmljYW50IGNvbmRpdGlvbiIKK21zZ3N0ciAi54m544Gr5ZWP6aGM44Gu44Gq44GE54q25oWL44Gn44GZ44GM44CB54m55a6a44Gu54q25rOB44KS6KGo44GZ44KC44Gu44Gn44GZIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTYKK21zZ2lkICJpbmZvcm1hdGlvbmFsIgorbXNnc3RyICLlj4LogIPmg4XloLHjgafjgZkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNworbXNnaWQgImRlYnVnLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICLjg4fjg5Djg4PjgrDjg6zjg5njg6vjga7jg6Hjg4Pjgrvjg7zjgrjjgafjgZkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMQorbXNnaWQgImtlcm5lbCBtZXNzYWdlcyIKK21zZ3N0ciAi44Kr44O844ON44Or44Oh44OD44K744O844K444Gn44GZIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzIKK21zZ2lkICJyYW5kb20gdXNlci1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAi54m544Gr6KaP5a6a44Gu44Gq44GE44Om44O844K25a6a576p44Gu44Oh44OD44K744O844K444Gn44GZIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzMKK21zZ2lkICJtYWlsIHN5c3RlbSIKK21zZ3N0ciAi44Oh44O844Or44K344K544OG44Og44Gu44Oh44OD44K744O844K444Gn44GZIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzQKK21zZ2lkICJzeXN0ZW0gZGFlbW9ucyIKK21zZ3N0ciAi44K344K544OG44Og44OH44O844Oi44Oz44Gu44Oh44OD44K744O844K444Gn44GZIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzUKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIgorbXNnc3RyICLjgrvjgq3jg6Xjg6rjg4bjgqPvvI/oqo3lj6/jg6Hjg4Pjgrvjg7zjgrjjgafjgZkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNgorbXNnaWQgIm1lc3NhZ2VzIGdlbmVyYXRlZCBpbnRlcm5hbGx5IGJ5IHN5c2xvZ2QiCittc2dzdHIgInN5c2xvZ2Qg44GM5YaF6YOo44Gn55Sf5oiQ44GX44Gf44Oh44OD44K744O844K444Gn44GZIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzcKK21zZ2lkICJsaW5lIHByaW50ZXIgc3Vic3lzdGVtIgorbXNnc3RyICLjg6njgqTjg7Pjg5fjg6rjg7Pjgr/jgrXjg5bjgrfjgrnjg4bjg6DjgafjgZkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOAorbXNnaWQgIm5ldHdvcmsgbmV3cyBzdWJzeXN0ZW0iCittc2dzdHIgIm5ldHdvcmsgbmV3cyDjgrXjg5bjgrfjgrnjg4bjg6DjgafjgZkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOQorbXNnaWQgIlVVQ1Agc3Vic3lzdGVtIgorbXNnc3RyICJVVUNQIOOCteODluOCt+OCueODhuODoOOBp+OBmSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQwCittc2dpZCAiY2xvY2sgZGFlbW9uIgorbXNnc3RyICLjgq/jg63jg4Pjgq/jg4fjg7zjg6Ljg7PjgafjgZkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MQorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMgKHByaXZhdGUpIgorbXNnc3RyICLjgrvjgq3jg6Xjg6rjg4bjgqPvvI/oqo3lj6/jg6Hjg4Pjgrvjg7zjgrggKOapn+WvhuaJseOBhCkg44Gn44GZIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDIKK21zZ2lkICJGVFAgZGFlbW9uIgorbXNnc3RyICJGVFAg44OH44O844Oi44Oz44Gn44GZIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNjcKK21zZ2lkICJEaXNwbGF5IG9yIGNvbnRyb2wgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlci5cbiIKK21zZ3N0ciAi44Kr44O844ON44Or44Gu44Oq44Oz44Kw44OQ44OD44OV44Kh44KS6KGo56S644CB5Yi25b6h44GX44G+44GZ44CCXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MAorbXNnaWQgIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgY2xlYXIgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIOOCq+ODvOODjeODq+OBruODquODs+OCsOODkOODg+ODleOCoeOCkua2iOWOu+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzEKK21zZ2lkICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIHJlYWQgYW5kIGNsZWFyIGFsbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIOiqreOBv+i+vOOCk+OBp+OBi+OCieOBmeOBueOBpuOBruODoeODg+OCu+ODvOOCuOOCkua2iOWOu+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzIKK21zZ2lkICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIGRpc2FibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIOOCs+ODs+OCveODvOODq+OBq+WvvuOBmeOCi+ODoeODg+OCu+ODvOOCuOWHuuWKm+OCkueEoeWKueOBq+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzMKK21zZ2lkICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIGVuYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAg44Kz44Oz44K944O844Or44Gr5a++44GZ44KL44Oh44OD44K744O844K45Ye65Yqb44KS5pyJ5Yq544Gr44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NAorbXNnaWQgIiAtRiwgLS1maWxlIDxmaWxlPiAgICAgICAgICAgdXNlIHRoZSBmaWxlIGluc3RlYWQgb2YgdGhlIGtlcm5lbCBsb2cgYnVmZmVyXG4iCittc2dzdHIgIiAtRiwgLS1maWxlIDxmaWxlPiAgICAgICAgICAg44Kr44O844ON44Or44Gu44Ot44Kw44OQ44OD44OV44Kh44Gn44Gv44Gq44GP44CB44OV44Kh44Kk44Or44KS5L2/55So44GX44Gm5Ye65Yqb44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NQorbXNnaWQgIiAtZiwgLS1mYWNpbGl0eSA8bGlzdD4gICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgZmFjaWxpdGllc1xuIgorbXNnc3RyICIgLWYsIC0tZmFjaWxpdHkgPOS4gOimpz4gICAgICAg5oyH5a6a44GV44KM44Gf5YiG6aGe44Gu44Oh44OD44K744O844K444Gu44G/44KS5Ye65Yqb44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NgorbXNnaWQgIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAgaHVtYW4gcmVhZGFibGUgb3V0cHV0XG4iCittc2dzdHIgIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAg5Lq66ZaT44Gr44Go44Gj44Gm6Kqt44G/44KE44GZ44GE5b2i5byP44Gn5Ye65Yqb44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NworbXNnaWQgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgZGlzcGxheSBrZXJuZWwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICDjgqvjg7zjg43jg6vjg6Hjg4Pjgrvjg7zjgrjjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc4Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIiCisiIC1MLCAtLWNvbG9yWz085pmC5pyfPl0gICAgICAgIOODoeODg+OCu+ODvOOCuOOCkuiJsuOBpeOBkeOBl+OBvuOBmVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXV0b+OAgWFsd2F5c+OAgW5ldmVyIOOBruOBqeOCjOOBiylcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgxCittc2dpZCAiIC1sLCAtLWxldmVsIDxsaXN0PiAgICAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBsZXZlbHNcbiIKK21zZ3N0ciAiIC1sLCAtLWxldmVsIDxsaXN0PiAgICAgICAgICDmjIflrprjgZXjgozjgZ/jg6zjg5njg6vjga7jg6Hjg4Pjgrvjg7zjgrjjga7jgb/jgpLlh7rlipvjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgyCittc2dpZCAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPGxldmVsPiBzZXQgbGV2ZWwgb2YgbWVzc2FnZXMgcHJpbnRlZCB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtbiwgLS1jb25zb2xlLWxldmVsIDzjg6zjg5njg6s+IOOCs+ODs+OCveODvOODq+OBq+WHuuWKm+OBmeOBueOBjeODoeODg+OCu+ODvOOCuOOBruODrOODmeODq+OCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODMKK21zZ2lkICIgLVAsIC0tbm9wYWdlciAgICAgICAgICAgICAgIGRvIG5vdCBwaXBlIG91dHB1dCBpbnRvIGEgcGFnZXJcbiIKK21zZ3N0ciAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICDlh7rlipvjgpLjg5rjg7zjgrjjg6PjgavmuKHjgZXjgZrjgavlh7rlipvjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg0Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAg5Yqg5bel44KS6KGM44Gq44KP44Ga44Gr44Oh44OD44K744O844K444OQ44OD44OV44Kh44KS5Ye65Yqb44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NQorbXNnaWQgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgZm9yY2UgdG8gdXNlIHN5c2xvZygyKSByYXRoZXIgdGhhbiAvZGV2L2ttc2dcbiIKK21zZ3N0ciAiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICAvZGV2L2ttc2cg44Gn44Gv44Gq44GP44CBIHN5c2xvZygyKSDjgpLlvLfliLbjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg2Cittc2dpZCAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiAtcywgLS1idWZmZXItc2l6ZSA844K144Kk44K6PiAg44Kr44O844ON44Or44Gu44Oq44Oz44Kw44OQ44OD44OV44Kh44Gr5ZWP44GE5ZCI44KP44Gb44KL6Zqb44Gu44OQ44OD44OV44Kh44K144Kk44K644KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NworbXNnaWQgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgZGlzcGxheSB1c2Vyc3BhY2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICDjg6bjg7zjgrbjgrnjg5rjg7zjgrnjga7jg6Hjg4Pjgrvjg7zjgrjjgpLlh7rlipvjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg4Cittc2dpZCAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICB3YWl0IGZvciBuZXcgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICDmlrDjgZfjgYTjg6Hjg4Pjgrvjg7zjgrjjga7liLDnnYDjgpLlvoXjgaHjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg5Cittc2dpZCAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBkZWNvZGUgZmFjaWxpdHkgYW5kIGxldmVsIHRvIHJlYWRhYmxlIHN0cmluZ1xuIgorbXNnc3RyICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIOWIhumhnuOBqOODrOODmeODq+OCkuiqreOBv+OChOOBmeOBhOW9ouW8j+OBq+WkieaPm+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTAKK21zZ2lkICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIHNob3cgdGltZSBkZWx0YSBiZXR3ZWVuIHByaW50ZWQgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICDlh7rlipvjgZXjgozjgZ/jg6Hjg4Pjgrvjg7zjgrjplpPjgafjga7mmYLliLvlt67jgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkxCittc2dpZCAiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBzaG93IGxvY2FsIHRpbWUgYW5kIHRpbWUgZGVsdGEgaW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAg44Ot44O844Kr44Or44Gu5pmC5Yi744Go5pmC5Yi75beu44Gu5Lih5pa544KS44CB6Kqt44G/44KE44GZ44GE5b2i5byP44Gn6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MgorbXNnaWQgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbi1yZWFkYWJsZSB0aW1lc3RhbXAgKG1heSBiZSBpbmFjY3VyYXRlISlcbiIKK21zZ3N0ciAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICDkurrplpPjgavjgajjgaPjgaboqq3jgb/jgoTjgZnjgYTlvaLlvI/jgafjgr/jgqTjg6Djgrnjgr/jg7Pjg5fjgpLooajnpLrjgZfjgb7jgZko57K+5bqm44GM6JC944Gh44KL44GL44KC44GX44KM44G+44Gb44KTISlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkzCittc2dpZCAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBkb24ndCBzaG93IGFueSB0aW1lc3RhbXAgd2l0aCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIOODoeODg+OCu+ODvOOCuOOBruOCv+OCpOODoOOCueOCv+ODs+ODl+OCkuWHuuWKm+OBl+OBvuOBm+OCk1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTQKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcCB1c2luZyB0aGUgZ2l2ZW4gZm9ybWF0OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsdGF8cmVsdGltZXxjdGltZXxub3RpbWV8aXNvXVxuIgorIlN1c3BlbmRpbmcvcmVzdW1lIHdpbGwgbWFrZSBjdGltZSBhbmQgaXNvIHRpbWVzdGFtcHMgaW5hY2N1cmF0ZS5cbiIKK21zZ3N0ciAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA85b2i5byPPiAgICDjgr/jgqTjg6Djgrnjgr/jg7Pjg5fjga7ooajnpLrlvaLlvI/jgpLmjIflrprjgZfjgb7jgZk6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisi44K144K544Oa44Oz44OJ44KE44Os44K444Ol44O844Og44KS6KGM44GG44GoIGN0aW1lIOOBqCBpc28g44Gu44K/44Kk44Og44K544K/44Oz44OX44Gv5LiN5q2j56K644Gr44Gq44KK44G+44GZ44CCXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwMAorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGZhY2lsaXRpZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLliKnnlKjlj6/og73jgarjg63jgrDliIbpoZ46XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwNgorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGxldmVscyAocHJpb3JpdGllcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLliKnnlKjlj6/og73jgarjg63jgrDjg6zjg5njg6sgKOWEquWFiOW6pik6XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGV2ZWwgJyVzJyIKK21zZ3N0ciAi44Os44OZ44OrICclcycg44Gu6Kej6YeI44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBsZXZlbCAnJXMnIgorbXNnc3RyICLkuI3mmI7jgarjg6zjg5njg6sgJyVzJyDjgafjgZkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAi5YiG6aGeICclcycg44Gu6Kej6YeI44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSAnJXMnIgorbXNnc3RyICLkuI3mmI7jgarliIbpoZ4gJyVzJyDjgafjgZkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyOAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW1hcDogJXMiCittc2dzdHIgIm1tYXAg44Gr5aSx5pWX44GX44G+44GX44GfOiAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1NgorbXNnaWQgImludmFsaWQgYnVmZmVyIHNpemUgYXJndW1lbnQiCittc2dzdHIgIuODkOODg+ODleOCoeOCteOCpOOCuuOBruW8leaVsOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQwOQorbXNnaWQgIi0tc2hvdy1kZWx0YSBpcyBpZ25vcmVkIHdoZW4gdXNlZCB0b2dldGhlciB3aXRoIGlzbzg2MDEgdGltZSBmb3JtYXQiCittc2dzdHIgIuaZguWIu+OBruihqOekuuW9ouW8j+OBqOOBl+OBpiBpc284NjAxIOOCkuWQjOaZguOBq+aMh+WumuOBl+OBn+WgtOWQiCAtLXNob3ctZGVsdGEg44Gv54Sh6KaW44GV44KM44G+44GZ44CCIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDMyCittc2dpZCAiLS1yYXcgY2FuIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWxldmVsIG9yIC0tZmFjaWxpdHkgb25seSB3aGVuIHJlYWRpbmcgbWVzc2FnZXMgZnJvbSAvZGV2L2ttc2ciCittc2dzdHIgIi0tcmF3IOOCkiAtLWxldmVsLCAtLWZhY2lsaXR5IOOBqOWQjOaZguOBq+aMh+WumuOBp+OBjeOCi+OBruOBr+ODoeODg+OCu+ODvOOCuOOCkiAvZGV2L2ttc2cg44GL44KJ6Kqt44KT44Gn44GE44KL5pmC44Gg44GR44Gn44GZIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDQyCittc2dpZCAicmVhZCBrZXJuZWwgYnVmZmVyIGZhaWxlZCIKK21zZ3N0ciAi44Kr44O844ON44Or44OQ44OD44OV44Kh44Gu6Kqt44G/6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDYxCittc2dpZCAia2xvZ2N0bCBmYWlsZWQiCittc2dzdHIgImtsb2djdGwg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT58PG1vdW50cG9pbnQ+XVxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10gWzzjg4fjg5DjgqTjgrk+fDzjg57jgqbjg7Pjg4jjg53jgqTjg7Pjg4g+XVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzcKK21zZ2lkICJFamVjdCByZW1vdmFibGUgbWVkaWEuXG4iCittc2dzdHIgIuODquODoOODvOODkOODluODq+ODoeODh+OCo+OCouOCkuaOkuWHuuOBl+OBvuOBmeOAglxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNDAKK21zZ2lkICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICB0dXJuIGF1dG8tZWplY3QgZmVhdHVyZSBvbiBvciBvZmZcbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHNsb3Q+ICAgIHN3aXRjaCBkaXNjcyBvbiBhIENELVJPTSBjaGFuZ2VyXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBkaXNwbGF5IGRlZmF1bHQgZGV2aWNlXG4iCisiIC1mLCAtLWZsb3BweSAgICAgICAgICAgICAgICBlamVjdCBmbG9wcHlcbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIGRvbid0IGNhcmUgYWJvdXQgZGV2aWNlIHR5cGVcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIHRvZ2dsZSBtYW51YWwgZWplY3QgcHJvdGVjdGlvbiBvbi9vZmZcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIGRvIG5vdCB1bm1vdW50IGRldmljZSBldmVuIGlmIGl0IGlzIG1vdW50ZWRcbiIKKyIgLU0sIC0tbm8tcGFydGl0aW9ucy11bm1vdW50IGRvIG5vdCB1bm1vdW50IGFub3RoZXIgcGFydGl0aW9uc1xuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgZG9uJ3QgZWplY3QsIGp1c3Qgc2hvdyBkZXZpY2UgZm91bmRcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIHVzZSAvcHJvYy9tb3VudHMgaW5zdGVhZCBvZiAvZXRjL210YWJcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIGVqZWN0IHRhcGVcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIGVqZWN0IENELVJPTVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgZWplY3QgU0NTSSBkZXZpY2VcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIGNsb3NlIHRyYXlcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIHRvZ2dsZSB0cmF5XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICBlbmFibGUgdmVyYm9zZSBvdXRwdXRcbiIKKyIgLXgsIC0tY2RzcGVlZCA8c3BlZWQ+ICAgICAgIHNldCBDRC1ST00gbWF4IHNwZWVkXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICBsaXN0IENELVJPTSBhdmFpbGFibGUgc3BlZWRzXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYXV0byA8b258b2ZmPiAgICAgICAgIOiHquWLleaOkuWHuuapn+iDveOCkuacieWKuSAob24pIOOBvuOBn+OBr+eEoeWKuSAob2ZmKSDjgavjgZfjgb7jgZlcbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHNsb3Q+ICAgIENELVJPTSDjg4Hjgqfjg7Pjgrjjg6Pjg7zjga7jg4fjgqPjgrnjgq/jgpLkuqTmj5vjgZfjgb7jgZlcbiIKKyIgLWQsIC0tZGVmYXVsdCAgICAgICAgICAgICAgIOaXouWumuOBruODh+ODkOOCpOOCueOCkuihqOekuuOBl+OBvuOBmVxuIgorIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAg44OV44Ot44OD44OU44Kj44OH44Kj44K544Kv44KS5Y+W44KK5Ye644GX44G+44GZXG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICDjg4fjg5DjgqTjgrnjga7nqK7poZ7jgpLnhKHoppbjgZfjgablrp/ooYzjgZfjgb7jgZlcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIOaJi+WLleaOkuWHuuOCkuacieWKuSAob24pIOOBvuOBn+OBr+eEoeWKuSAob2ZmKSDjgavjgZfjgb7jgZlcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIOODnuOCpuODs+ODiOa4iOOBv+OBruWgtOWQiOOAgeOCouODs+ODnuOCpuODs+ODiOOCkuihjOOCj+OBquOBhOOCiOOBhuOBq+OBl+OBvuOBmVxuIgorIiAtTSwgLS1uby1wYXJ0aXRpb25zLXVubW91bnQg5LuW44Gu44OR44O844OG44Kj44K344On44Oz44KS44Ki44Oz44Oe44Km44Oz44OI44GX44Gq44GE44KI44GG44Gr44GX44G+44GZXG4iCisiIC1uLCAtLW5vb3AgICAgICAgICAgICAgICAgICDlrp/pmpvjga7lj5bjgorlh7rjgZfjga/ooYzjgo/jgZrjgIHopovjgaTjgYvjgaPjgZ/jg4fjg5DjgqTjgrnjgpLooajnpLrjgZfjgb7jgZlcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIC9ldGMvbXRhYiDjgafjga/jgarjgY8gL3Byb2MvbW91bnRzIOOCkuS9v+eUqOOBmeOCi+OCiOOBhuOBq+OBl+OBvuOBmVxuIgorIiAtcSwgLS10YXBlICAgICAgICAgICAgICAgICAg44OG44O844OX44Oh44OH44Kj44Ki44KS5Y+W44KK5Ye644GX44G+44GZXG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICBDRC1ST00g44Oh44OH44Kj44Ki44KS5Y+W44KK5Ye644GX44G+44GZXG4iCisiIC1zLCAtLXNjc2kgICAgICAgICAgICAgICAgICBTQ1NJIOODh+ODkOOCpOOCueOCkuWPluOCiuWHuuOBl+OBvuOBmVxuIgorIiAtdCwgLS10cmF5Y2xvc2UgICAgICAgICAgICAg44OI44Os44Kk44KS6ZaJ44GY44G+44GZXG4iCisiIC1ULCAtLXRyYXl0b2dnbGUgICAgICAgICAgICDjg4jjg6zjgqTjgpLplovjgY/jgYvjgIHplonjgZjjgb7jgZlcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIOWHuuWKm+OCkuWGl+mVt+OBq+ihjOOBhOOBvuOBmVxuIgorIiAteCwgLS1jZHNwZWVkIDzpgJ/luqY+ICAgICAgICBDRC1ST00g44Gu5pyA5aSn6YCf5bqm44KS5oyH5a6a44GX44G+44GZXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICBDRC1ST00g44Gn5Yip55So5Y+v6IO944Gq6YCf5bqm44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjE2NAorbXNnaWQgIiIKKyJcbiIKKyJCeSBkZWZhdWx0IHRyaWVzIC1yLCAtcywgLWYsIGFuZCAtcSBpbiBvcmRlciB1bnRpbCBzdWNjZXNzLlxuIgorbXNnc3RyICIiCisiXG4iCisi5pei5a6a44Gn44Gv44CB5oiQ5Yqf44GZ44KL44G+44GnIC1yLCAtcywgLWYsIC1xIOOCkumghuOBq+ippuOBl+OBvuOBmeOAglxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTAKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2hhbmdlcnNsb3QvLWMgb3B0aW9uIgorbXNnc3RyICItLWNoYW5nZXJzbG90Ly1jIOOCquODl+OCt+ODp+ODs+OBruW8leaVsOOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjE0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNkc3BlZWQvLXggb3B0aW9uIgorbXNnc3RyICItLWNkc3BlZWQvLXgg44Kq44OX44K344On44Oz44Gu5byV5pWw44GM6ZaT6YGV44Gj44Gm44GE44G+44GZIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMjYKK21zZ2lkICJDRC1ST00gYXV0by1lamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ0QtUk9NIOiHquWLleaOkuWHuuOCs+ODnuODs+ODieOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQwCittc2dpZCAiQ0QtUk9NIGRvb3IgbG9jayBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJDRC1ST00g44OJ44Ki44Ot44OD44Kv44Kz44Oe44Oz44OJ44Gv44K144Od44O844OI44GV44KM44Gm44GE44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDIKK21zZ2lkICJvdGhlciB1c2VycyBoYXZlIHRoZSBkcml2ZSBvcGVuIGFuZCBub3QgQ0FQX1NZU19BRE1JTiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDQKK21zZ2lkICJDRC1ST00gbG9jayBkb29yIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJDRC1ST00g44OJ44Ki5pa96Yyg44Kz44Oe44Oz44OJ44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDkKK21zZ2lkICJDRC1Ecml2ZSBtYXkgTk9UIGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICJDRCDjg6Hjg4fjgqPjgqLjgpLjg4fjg5DjgqTjgrnjga7jg5zjgr/jg7PjgafmjpLlh7rjgafjgY3jgarjgYTloLTlkIjjgYzjgYLjgorjgb7jgZkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM1MQorbXNnaWQgIkNELURyaXZlIG1heSBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiQ0Qg44Oh44OH44Kj44Ki44Gv44OH44OQ44Kk44K544Gu44Oc44K/44Oz44Gn5o6S5Ye644Gn44GN44G+44GZIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjIKK21zZ2lkICJDRC1ST00gc2VsZWN0IGRpc2MgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkNELVJPTSDjg4fjgqPjgrnjgq/pgbjmip7jgrPjg57jg7Pjg4njgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NgorbXNnaWQgIkNELVJPTSBsb2FkIGZyb20gc2xvdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ0QtUk9NIOOCueODreODg+ODiOODreODvOODieOCs+ODnuODs+ODieOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY4Cittc2dpZCAiSURFL0FUQVBJIENELVJPTSBjaGFuZ2VyIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAiSURFL0FUQVBJIENELVJPTSDjg4Hjgqfjg7Pjgrjjg6Pjg7zjga/jgIHjgZPjga7jgqvjg7zjg43jg6vjgaflr77lv5zjgZfjgabjgYTjgb7jgZvjgpNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg2Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkNELVJPTSDjg4jjg6zjgqTplonpjpbjgrPjg57jg7Pjg4njgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4OAorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICJDRC1ST00g44OI44Os44Kk6ZaJ6Y6W44Kz44Oe44Oz44OJ44Gv44CB44GT44Gu44Kr44O844ON44Or44Gn5a++5b+c44GX44Gm44GE44G+44Gb44KTXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQwNQorbXNnaWQgIkNELVJPTSBlamVjdCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiQ0QtUk9NIOOBruaOkuWHuuOBq+OBr+WvvuW/nOOBl+OBpuOBhOOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDMzIHN5cy11dGlscy9lamVjdC5jOjQ1NiBzeXMtdXRpbHMvZWplY3QuYzoxMDExCittc2dpZCAiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJDRC1ST00g5o6S5Ye644Kz44Oe44Oz44OJ44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzYKK21zZ2lkICJubyBDRC1ST00gaW5mb3JtYXRpb24gYXZhaWxhYmxlIgorbXNnc3RyICLliKnnlKjlj6/og73jgaogQ0QtUk9NIOaDheWgseOBr+OBguOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM5Cittc2dpZCAiQ0QtUk9NIGRyaXZlIGlzIG5vdCByZWFkeSIKK21zZ3N0ciAiQ0QtUk9NIOODieODqeOCpOODluOBjOWIqeeUqOWPr+iDveOBqueKtuaFi+OBp+OBr+OBguOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgyCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ0QtUk9NIOmAn+W6pumBuOaKnuOCs+ODnuODs+ODieOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDg0IHN5cy11dGlscy9lamVjdC5jOjU3MAorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsIgorbXNnc3RyICJDRC1ST00g6YCf5bqm6YG45oqe44Kz44Oe44Oz44OJ44Gv44CB44GT44Gu44Kr44O844ON44Or44Gn5a++5b+c44GX44Gm44GE44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kaW5nIENELVJPTSBuYW1lIgorbXNnc3RyICIlczogQ0QtUk9NIOOBruWQjeWJjeaknOWHuuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiJXM6IOmAn+W6puOBruiqreOBv+i+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTQ0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgIumAn+W6puOBruiqreOBv+i+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTg4Cittc2dpZCAibm90IGFuIHNnIGRldmljZSwgb3Igb2xkIHNnIGRyaXZlciIKK21zZ3N0ciAic2cg44OH44OQ44Kk44K544Gn44Gv44Gq44GE44GL44CB5Y+k44GEIHNnIOODieODqeOCpOODkOOBp+OBmSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bm1vdW50aW5nIgorbXNnc3RyICIlczog44Ki44Oz44Oe44Km44Oz44OI44GX44Gm44GE44G+44GZIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGV4ZWMgL2Jpbi91bW91bnQgb2YgYCVzJyIKK21zZ3N0ciAiYCVzJyDjga4gL2Jpbi91bW91bnQg5a6f6KGM44GM44Gn44GN44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzgKK21zZ2lkICJ1bmFibGUgdG8gZm9yayIKK21zZ3N0ciAiZm9yayDjgafjgY3jgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJgJXMnIOOBruOCouODs+ODnuOCpuODs+ODiOOBjOato+W4uOe1guS6huOBl+OBvuOBm+OCk+OBp+OBl+OBnyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njg4CisjLCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBmYWlsZWRcbiIKK21zZ3N0ciAiYCVzJyDjga7jgqLjg7Pjg57jgqbjg7Pjg4jjgYzlpLHmlZfjgZfjgb7jgZfjgZ9cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzMwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IHRhYmxlIgorbXNnc3RyICLjg57jgqbjg7Pjg4jjg4bjg7zjg5bjg6vjga7op6Pph4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjc5MSBzeXMtdXRpbHMvZWplY3QuYzo4OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50ZWQgb24gJXMiCittc2dzdHIgIiVzOiAlcyDjgavjg57jgqbjg7Pjg4jjgZXjgozjgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzMworbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvIGF1dG8iCittc2dzdHIgIkNELVJPTSDjga7pgJ/luqbjgpLoh6rli5XjgavoqK3lrprjgZfjgb7jgZkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzNQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byAlbGRYIgorbXNnc3RyICJDRC1ST00g44Gu6YCf5bqm44KSICVsZFgg44Gr6Kit5a6a44GX44G+44GZIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVmYXVsdCBkZXZpY2U6IGAlcyciCittc2dzdHIgIuaXouWumuOBruODh+ODkOOCpOOCuTogYCVzJyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODY3CisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIGRlZmF1bHQgZGV2aWNlIGAlcyciCittc2dzdHIgIuaXouWumuWApCBgJXMnIOOCkuS9v+eUqOOBl+OBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg2IHN5cy11dGlscy9ydGN3YWtlLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gZmluZCBkZXZpY2UiCittc2dzdHIgIiVzOiDjg4fjg5DjgqTjgrnjgpLmpJzlh7rjgafjgY3jgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4OAorIywgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgbmFtZSBpcyBgJXMnIgorbXNnc3RyICLjg4fjg5DjgqTjgrnlkI3jga8gYCVzJyDjgafjgZkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg5NCBzeXMtdXRpbHMvdW1vdW50LmM6MjA2IHN5cy11dGlscy91bW91bnQuYzoyMzUKKyM6IHN5cy11dGlscy91bW91bnQuYzo0MDkgc3lzLXV0aWxzL3Vtb3VudC5jOjQzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG1vdW50ZWQiCittc2dzdHIgIiVzOiDjg57jgqbjg7Pjg4jjgZXjgozjgabjgYTjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg5OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYyBkZXZpY2U6ICVzIChkaXNrIGRldmljZSB3aWxsIGJlIHVzZWQgZm9yIGVqZWN0KSIKK21zZ3N0ciAiJXM6IOODh+OCo+OCueOCr+ODh+ODkOOCpOOCuTogJXMgKGVqZWN0IOOBp+S9v+eUqOOBmeOCi+ODh+OCo+OCueOCr+ODh+ODkOOCpOOCueOBp+OBmSkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIG1vdW50cG9pbnQgb3IgZGV2aWNlIHdpdGggdGhlIGdpdmVuIG5hbWUiCittc2dzdHIgIiVzOiDjg57jgqbjg7Pjg4jjg53jgqTjg7Pjg4jjgb7jgZ/jga/mjIflrprjgZfjgZ/lkI3liY3jga7jg4fjg5DjgqTjgrnjgYzopovjgaTjgYvjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgd2hvbGUtZGlzayBkZXZpY2UiCittc2dzdHIgIiVzOiDjgZPjgozjga/jg4fjgqPjgrnjgq/lhajkvZPjgpLooajjgZnjg4fjg5DjgqTjgrnjgafjgZkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGhvdC1wbHVnZ2FibGUgZGV2aWNlIgorbXNnc3RyICIlczog44Ob44OD44OI44OX44Op44Kw5a++5b+c44Gu44OH44OQ44Kk44K544Gn44Gv44GC44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIGlzIGAlcyciCittc2dzdHIgIuODh+ODkOOCpOOCueOBryBgJXMnIOOBp+OBmSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTE4Cittc2dpZCAiZXhpdGluZyBkdWUgdG8gLW4vLS1ub29wIG9wdGlvbiIKK21zZ3N0ciAiLW4vLS1ub29wIOOCquODl+OCt+ODp+ODs+OBjOaMh+WumuOBleOCjOOBpuOBhOOCi+OBn+OCgeOAgee1guS6huOBl+OBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlbmFibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiVzOiDoh6rli5XmjpLlh7rjg6Ljg7zjg4njgpLmnInlirnjgavjgZfjgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiJXM6IOiHquWLleaOkuWHuuODouODvOODieOCkueEoeWKueOBq+OBl+OBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zaW5nIHRyYXkiCittc2dzdHIgIiVzOiDjg4jjg6zjgqTjgpLplonjgZjjgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9nZ2xpbmcgdHJheSIKK21zZ3N0ciAiJXM6IOODiOODrOOCpOOBrueKtuaFi+OCkuWIh+OCiuabv+OBiOOBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsaXN0aW5nIENELVJPTSBzcGVlZCIKK21zZ3N0ciAiJXM6IENELVJPTSDjga7pgJ/luqbjgpLkuIDopqfooajnpLrjgZfjgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk4NgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IGRldmljZSBpbiB1c2UiCittc2dzdHIgIuOCqOODqeODvDogJXM6IOODh+ODkOOCpOOCueOBr+S9v+eUqOS4reOBp+OBmSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWxlY3RpbmcgQ0QtUk9NIGRpc2MgIyVsZCIKK21zZ3N0ciAiJXM6IENELVJPTSDjg4fjgqPjgrnjgq8gIyVsZCDjgpLpgbjmip7jgZfjgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBDRC1ST00gZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiJXM6IENELVJPTSDmjpLlh7rjgrPjg57jg7Pjg4njgaflj5bjgorlh7rjgZfjgpLoqabjgb/jgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTAKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIkNELVJPTSDmjpLlh7rjgrPjg57jg7Pjg4njgYzmiJDlip/jgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBTQ1NJIGNvbW1hbmRzIgorbXNnc3RyICIlczogU0NTSSDjgrPjg57jg7Pjg4njgaflj5bjgorlh7rjgZfjgpLoqabjgb/jgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTcKK21zZ2lkICJTQ1NJIGVqZWN0IHN1Y2NlZWRlZCIKK21zZ3N0ciAiU0NTSSDmjpLlh7rjgrPjg57jg7Pjg4njgYzmiJDlip/jgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTgKK21zZ2lkICJTQ1NJIGVqZWN0IGZhaWxlZCIKK21zZ3N0ciAiU0NTSSDmjpLlh7rjgrPjg57jg7Pjg4njgYzlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBmbG9wcHkgZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiJXM6IOODleODreODg+ODlOOCo+ODh+OCo+OCueOCr+OBruaOkuWHuuOCs+ODnuODs+ODieOBp+WPluOCiuWHuuOBl+OCkuippuOBv+OBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNAorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAi44OV44Ot44OD44OU44Kj44OH44Kj44K544Kv44Gu5o6S5Ye644Kz44Oe44Oz44OJ44GM5oiQ5Yqf44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI1Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICLjg5Xjg63jg4Pjg5TjgqPjg4fjgqPjgrnjgq/jga7mjpLlh7rjgrPjg57jg7Pjg4njgYzlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyB0YXBlIG9mZmxpbmUgY29tbWFuZCIKK21zZ3N0ciAiJXM6IOODhuODvOODl+ODoeODh+OCo+OCouOBruOCquODleODqeOCpOODs+OCs+ODnuODs+ODieOBp+WPluOCiuWHuuOBl+OCkuippuOBv+OBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMQorbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAi44OG44O844OX44Oh44OH44Kj44Ki44Gu44Kq44OV44Op44Kk44Oz44Kz44Oe44Oz44OJ44GM5oiQ5Yqf44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDMyCittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICLjg4bjg7zjg5fjg6Hjg4fjgqPjgqLjga7jgqrjg5Xjg6njgqTjg7PjgrPjg57jg7Pjg4njgYzlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzYKK21zZ2lkICJ1bmFibGUgdG8gZWplY3QiCittc2dzdHIgIuWPluOCiuWHuuOBmeOBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGVuYW1lPlxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10gPOODleOCoeOCpOODq+WQjT5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjgxCittc2dpZCAiUHJlYWxsb2NhdGUgc3BhY2UgdG8sIG9yIGRlYWxsb2NhdGUgc3BhY2UgZnJvbSBhIGZpbGUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg0Cittc2dpZCAiIC1jLCAtLWNvbGxhcHNlLXJhbmdlIHJlbW92ZSBhIHJhbmdlIGZyb20gdGhlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODUKK21zZ2lkICIgLWQsIC0tZGlnLWhvbGVzICAgICAgZGV0ZWN0IHplcm9lcyBhbmQgcmVwbGFjZSB3aXRoIGhvbGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg2CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gICBsZW5ndGggZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iCittc2dzdHIgIiAtbCwgLS1sZW5ndGggPOmVt+OBlT4gICAgICAgICAgIOWFpeWKm+OBruOBhuOBoeWFiOmgreOBi+OCieaMh+WumuODkOOCpOODiOOBoOOBkeOCkuino+mHiFxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODcKK21zZ2lkICIgLW4sIC0ta2VlcC1zaXplICAgICAgbWFpbnRhaW4gdGhlIGFwcGFyZW50IHNpemUgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIC1uLCAtLWtlZXAtc2l6ZSAgICAg44OV44Kh44Kk44Or44Gu6KaL44GL44GR44Gu44K144Kk44K644KS5L+d5oyB44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4OAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgb2Zmc2V0IGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDznlarlj7c+ICAgIOODleOCoeOCpOODq+WGheOBriA855Wq5Y+3PiDjgafnpLrjgZXjgozjgZ/jgqrjg5Xjgrvjg4Pjg4jkvY3nva7jgYvjgonlp4vjgoHjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg5Cittc2dpZCAiIC1wLCAtLXB1bmNoLWhvbGUgICAgIHJlcGxhY2UgYSByYW5nZSB3aXRoIGEgaG9sZSAoaW1wbGllcyAtbilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTAKK21zZ2lkICIgLXosIC0temVyby1yYW5nZSAgICAgemVybyBhbmQgZW5zdXJlIGFsbG9jYXRpb24gb2YgYSByYW5nZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMjYKKyMsIGZ1enp5Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZDoga2VlcCBzaXplIG1vZGUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIuOCteOCpOOCuue2reaMgeODouODvOODiSAoLW4g44Kq44OX44K344On44OzKSDjgavjga/lr77lv5zjgZfjgabjgYTjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMjcKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkIgorbXNnc3RyICJmYWxsb2NhdGUg44GM5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIGZhaWxlZCIKK21zZ3N0ciAiJXM6IOiqreOBv+i+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjI2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCVqdSBieXRlcykgY29udmVydGVkIHRvIHNwYXJzZSBob2xlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzQ2IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExOAorbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZCIKK21zZ3N0ciAi44OV44Kh44Kk44Or5ZCN44GM5oyH5a6a44GV44KM44Gm44GE44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzU4IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjQKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgIuaMh+WumuOBleOCjOOBn+mVt+OBleOBruWApOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2MgorbXNnaWQgIm5vIGxlbmd0aCBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgIumVt+OBleOBjOaMh+WumuOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2NworbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAi5oyH5a6a44GV44KM44Gf44Kq44OV44K744OD44OI5YCk44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxmaWxlPnw8ZGlyZWN0b3J5PiA8Y29tbWFuZD4gWzxhcmd1bWVudD4uLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlPnw8ZGlyZWN0b3J5PiAtYyA8Y29tbWFuZD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGUgZGVzY3JpcHRvciBudW1iZXI+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBb44Kq44OX44K344On44OzXSA844OV44Kh44Kk44OrPnw844OH44Kj44Os44Kv44OI44OqPiA844Kz44Oe44Oz44OJPiBbPOW8leaVsD4uLi5dXG4iCisiICUxJHMgW+OCquODl+OCt+ODp+ODs10gPOODleOCoeOCpOODqz58POODh+OCo+ODrOOCr+ODiOODqj4gLWMgPOOCs+ODnuODs+ODiT5cbiIKKyIgJTEkcyBb44Kq44OX44K344On44OzXSA844OV44Kh44Kk44Or6KiY6L+w5a2Q55Wq5Y+3PlxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo1OQorbXNnaWQgIk1hbmFnZSBmaWxlIGxvY2tzIGZyb20gc2hlbGwgc2NyaXB0cy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MgorbXNnaWQgIiAtcywgLS1zaGFyZWQgICAgICAgICAgICAgZ2V0IGEgc2hhcmVkIGxvY2tcbiIKK21zZ3N0ciAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICDlhbHmnInjg63jg4Pjgq/jgpLlj5blvpfjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjMKK21zZ2lkICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIGdldCBhbiBleGNsdXNpdmUgbG9jayAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC14LCAtLWV4Y2x1c2l2ZSAgICAgICAgICDmjpLku5bjg63jg4Pjgq/jgpLlj5blvpfjgZfjgb7jgZkgKOaXouWumuWApClcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjQKK21zZ2lkICIgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIHJlbW92ZSBhIGxvY2tcbiIKK21zZ3N0ciAiIC11LCAtLXVubG9jayAgICAgICAgICAgICDjg63jg4Pjgq/jgpLop6PpmaTjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjUKK21zZ2lkICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIGZhaWwgcmF0aGVyIHRoYW4gd2FpdFxuIgorbXNnc3RyICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIOW+heapn+OBjOW/heimgeOBquWgtOWQiOOAgeWkseaVl+OBleOBm+OCi+OCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NgorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCittc2dzdHIgIiAtdywgLS10aW1lb3V0IDznp5I+ICAgICAgIOaMh+WumuOBl+OBn+aZgumWk+OBvuOBp+W+heOBpOOCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NworbXNnaWQgIiAtRSwgLS1jb25mbGljdC1leGl0LWNvZGUgPG51bWJlcj4gIGV4aXQgY29kZSBhZnRlciBjb25mbGljdCBvciB0aW1lb3V0XG4iCittc2dzdHIgIiAtRSwgLS1jb25mbGljdC1leGl0LWNvZGUgPOeVquWPtz4gICAg55+b55u+54q25oWL44KE5pmC6ZaT5YiH44KM44Gr44Gq44Gj44Gf5aC05ZCI44Gu57WC5LqG44Kz44O844OJ44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY4Cittc2dpZCAiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBjbG9zZSBmaWxlIGRlc2NyaXB0b3IgYmVmb3JlIHJ1bm5pbmcgY29tbWFuZFxuIgorbXNnc3RyICIgLW8sIC0tY2xvc2UgICAgICAgICAgICAgIOOCs+ODnuODs+ODieOCkuWun+ihjOOBmeOCi+WJjeOBq+ODleOCoeOCpOODq+ODh+OCo+OCueOCr+ODquODl+OCv+OCkumWieOBmOOCi+OCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OQorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgcnVuIGEgc2luZ2xlIGNvbW1hbmQgc3RyaW5nIHRocm91Z2ggdGhlIHNoZWxsXG4iCittc2dzdHIgIiAtYywgLS1jb21tYW5kIDzjgrPjg57jg7Pjg4k+IOOCt+OCp+ODq+OCkuS7i+OBl+OBpuWNmOS4gOOBruOCs+ODnuODs+ODieOCkuWun+ihjOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MAorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgIGV4ZWN1dGUgY29tbWFuZCB3aXRob3V0IGZvcmtpbmdcbiIKK21zZ3N0ciAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgICAgPOODl+ODreOCsOODqeODoD4g44KS6LW35YuV44GZ44KL6Zqb44CBICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JrIOOBm+OBmuOBq+Wun+ihjOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICAgIGluY3JlYXNlIHZlcmJvc2l0eVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIOOCiOOCiuips+OBl+OBj+WHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gbG9jayBmaWxlICVzIgorbXNnc3RyICLjg63jg4Pjgq/jg5XjgqHjgqTjg6sgJXMg44KS6ZaL44GP44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDUKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgdmFsdWUiCittc2dzdHIgIuaZgumWk+WItumZkOOBruWApOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjA5Cittc2dpZCAiaW52YWxpZCBleGl0IGNvZGUiCittc2dzdHIgIuS4jeato+OBque1guS6huOCs+ODvOODieOBp+OBmSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjI4Cittc2dpZCAidGhlIC0tbm8tZm9yayBhbmQgLS1jbG9zZSBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGNvbW1hbmQgYXJndW1lbnQiCittc2dzdHIgIiVzIOW8leaVsOOBq+OBr+OAgSAxIOOBpOOBrui/veWKoOW8leaVsOOBjOW/heimgeOBp+OBmSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjU0Cittc2dpZCAiYmFkIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAi5q2j44GX44GP44Gq44GE44OV44Kh44Kk44Or6KiY6L+w5a2QIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTcKK21zZ2lkICJyZXF1aXJlcyBmaWxlIGRlc2NyaXB0b3IsIGZpbGUgb3IgZGlyZWN0b3J5IgorbXNnc3RyICLjg5XjgqHjgqTjg6voqJjov7DlrZDjgYvjg5XjgqHjgqTjg6vjgIHjgoLjgZfjgY/jga/jg4fjgqPjg6zjgq/jg4jjg6rjgpLmjIflrprjgZnjgovlv4XopoHjgYzjgYLjgorjgb7jgZkiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4MQorbXNnaWQgImZhaWxlZCB0byBnZXQgbG9jayIKK21zZ3N0ciAi44Ot44OD44Kv44Gu5Y+W5b6X44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODgKK21zZ2lkICJ0aW1lb3V0IHdoaWxlIHdhaXRpbmcgdG8gZ2V0IGxvY2siCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0dGluZyBsb2NrIHRvb2sgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXMgIC4lMDZkIOenklxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICIlczogJXMg44KS5a6f6KGM5LitXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50cG9pbnQ+XG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSA844Oe44Km44Oz44OI44Od44Kk44Oz44OIPlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1MworbXNnaWQgIlN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbSAoZXh0My80LCBSZWlzZXJGUywgSkZTLCBYRlMpLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjU2Cittc2dpZCAiIC1mLCAtLWZyZWV6ZSAgICAgIGZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLWYsIC0tZnJlZXplICAgICAg44OV44Kh44Kk44Or44K344K544OG44Og44KS5YeN57WQ54q25oWL44Gr44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjU3Cittc2dpZCAiIC11LCAtLXVuZnJlZXplICAgIHVuZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAtdSwgLS11bmZyZWV6ZSAgICDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga7lh43ntZDnirbmhYvjgpLop6PpmaTjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTE2Cittc2dpZCAibmVpdGhlciAtLWZyZWV6ZSBvciAtLXVuZnJlZXplIHNwZWNpZmllZCIKK21zZ3N0ciAiLS1mcmVlemUg44G+44Gf44GvIC0tdW5mcmVlemUg44Gu44GE44Ga44KM44GL44KS5oyH5a6a44GZ44KL5b+F6KaB44GM44GC44KK44G+44GZIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXM6IOODh+OCo+ODrOOCr+ODiOODquOBp+OBr+OBguOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmcmVlemUgZmFpbGVkIgorbXNnc3RyICIlczog5YeN57WQ5Yem55CG44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IOWHjee1kOeKtuaFi+OBruino+mZpOWHpueQhuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiDjg4fjgqPjg6zjgq/jg4jjg6rjgafjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogRklUUklNIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEZJVFJJTSBpb2N0bCDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgaGVyZSBpcyBhIHZlcnkgbGFyZ2UgbnVtYmVyLgorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCU8UFJJdTY0PiBieXRlcykgdHJpbW1lZFxuIgorbXNnc3RyICIlczogJXMgKCU8UFJJdTY0PiDjg5DjgqTjg4gpIOOBq+WIh+OCiuaPg+OBiOOBvuOBl+OBn1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTkxIHN5cy11dGlscy9zd2Fwb24uYzo3Mjkgc3lzLXV0aWxzL3Vtb3VudC5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMiCittc2dzdHIgIiVzIOOBruWHpueQhuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxtb3VudCBwb2ludD5cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIDzjg57jgqbjg7Pjg4jjg53jgqTjg7Pjg4g+XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTQKK21zZ2lkICJEaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NworIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB0cmltIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIHRoYXQgYXJlIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAg44GZ44G544Gm44Gu44OV44Kh44Kk44Or44K344K544OG44Og44KS44Ki44Oz44Oe44Km44Oz44OI44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTgKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICB0aGUgb2Zmc2V0IGluIGJ5dGVzIHRvIHN0YXJ0IGRpc2NhcmRpbmcgZnJvbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgdGhlIG51bWJlciBvZiBieXRlcyB0byBkaXNjYXJkXG4iCittc2dzdHIgIiAtYywgLS1jeWxpbmRlcnMgPOaVsOWApD4g5Yip55So44GZ44KL44K344Oq44Oz44OA44Gu5pWw44KS44K744OD44OI44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjAKK21zZ2lkICIgLW0sIC0tbWluaW11bSA8bnVtPiB0aGUgbWluaW11bSBleHRlbnQgbGVuZ3RoIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IG51bWJlciBvZiBkaXNjYXJkZWQgYnl0ZXNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAg5YaX6ZW344Gq44OH44O844K/5Ye65Yqb44KS6KGM44GE44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMTYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWluaW11bSBleHRlbnQgbGVuZ3RoIgorbXNnc3RyICLmnIDlsI/jgqjjgq/jgrnjg4bjg7Pjg4jplbfjga7op6Pph4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMjkKK21zZ2lkICJubyBtb3VudHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAi44Oe44Km44Oz44OI44Od44Kk44Oz44OI44GM5oyH5a6a44GV44KM44Gm44GE44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdGhlIGRpc2NhcmQgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIuacquWvvuW/nOOBruegtOajhOODneODquOCt+ODvOOBp+OBmTogJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkFzc3VtaW5nIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gJXMgdGltZS5cbiIKK21zZ3N0ciAi44OP44O844OJ44Km44Kn44Ki44Gu5pmC5Yi744GMICVzIOOBq+ioreWumuOBleOCjOOBpuOBhOOCi+OCguOBruOBqOS7ruWumuOBl+OBvuOBmeOAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI0NyBzeXMtdXRpbHMvaHdjbG9jay5jOjMzNAorbXNnaWQgIlVUQyIKK21zZ3N0ciAiVVRDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI0NyBzeXMtdXRpbHMvaHdjbG9jay5jOjMzMworbXNnaWQgImxvY2FsIgorbXNnc3RyICLjg63jg7zjgqvjg6vmmYLliLsiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzE4Cittc2dpZCAiIgorIldhcm5pbmc6IHVucmVjb2duaXplZCB0aGlyZCBsaW5lIGluIGFkanRpbWUgZmlsZVxuIgorIihFeHBlY3RlZDogYFVUQycgb3IgYExPQ0FMJyBvciBub3RoaW5nLikiCittc2dzdHIgIiIKKyLorablkYo6IGFkanRpbWUg44OV44Kh44Kk44Or44GuIDMg6KGM55uu44GM6Kej6YeI44Gn44GN44G+44Gb44KTXG4iCisiKGBVVEMnLCBgTE9DQUwnIOOBvuOBn+OBr+epuuaWh+Wtl+OBruOBhOOBmuOCjOOBi+OBp+OBguOCi+W/heimgeOBjOOBguOCiuOBvuOBmSkiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgZHJpZnQgYWRqdXN0bWVudCBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAi55u05YmN44Gu44K644Os44Gu5L+u5q2j44Gv44CBIDE5Njkg5bm044GL44KJICVsZCDnp5LntYzpgY7jgZfjgZ/mmYLngrnjgafooYzjgarjgo/jgozjgb7jgZfjgZ9cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBjYWxpYnJhdGlvbiBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAi55u05YmN44Gu6Kq/5pW044GvIDE5Njkg5bm044GL44KJICVsZCDnp5LntYzpgY7jgZfjgZ/mmYLngrnjgafooYzjgarjgo/jgozjgb7jgZfjgZ9cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGFyZHdhcmUgY2xvY2sgaXMgb24gJXMgdGltZVxuIgorbXNnc3RyICLjg4/jg7zjg4njgqbjgqfjgqLjga7mmYLliLvjga8gJXMg44Gn44GZXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzU4CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgZm9yIGNsb2NrIHRpY2suLi5cbiIKK21zZ3N0ciAi44Kv44Ot44OD44Kv44OG44Kj44OD44Kv44KS5b6F44Gj44Gm44GE44G+44GZLi4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnN5bmNocm9uaXphdGlvbiBmYWlsZWRcbiIKK21zZ3N0ciAiLi4u5ZCM5pyf44Gr5aSx5pWX44GX44G+44GX44GfXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmdvdCBjbG9jayB0aWNrXG4iCittc2dzdHIgIi4uLuOCr+ODreODg+OCr+ODhuOCo+ODg+OCr+OCkuWPluW+l+OBl+OBvuOBl+OBn1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQyMgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHZhbHVlcyBpbiBoYXJkd2FyZSBjbG9jazogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorbXNnc3RyICLjg4/jg7zjg4njgqbjgqfjgqLjga7mmYLliLvlgKTjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpM6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHcgY2xvY2sgdGltZSA6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIuODj+ODvOODieOCpuOCp+OCouOBruaZguWIu+WApCA6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAxOTY5IOW5tOOBi+OCiSAlbGQg56eS57WM6YGOXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDY1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgcmVhZCBmcm9tIEhhcmR3YXJlIENsb2NrOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCittc2dzdHIgIuODj+ODvOODieOCpuOCp+OCouOBruaZguioiOOBi+OCieiqreOBv+i+vOOCk+OBoOaZguWIuzogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIEhhcmR3YXJlIENsb2NrIHRvICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICLjg4/jg7zjg4njgqbjgqfjgqLjga7mmYLliLvlgKTjgpIgJS4yZDolLjJkOiUuMmQgKD0gMTk2OSDlubTjgYvjgokgJWxkIOenkue1jOmBjikg44Gr6Kit5a6a44GX44Gm44GE44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNsb2NrIG5vdCBjaGFuZ2VkIC0gdGVzdGluZyBvbmx5LlxuIgorbXNnc3RyICLmmYLoqIjjgpLlpInmm7TjgZfjgb7jgZvjgpPjgafjgZfjgZ8gLSDjg4bjgrnjg4jjgaDjgZHjgpLooYzjgaPjgabjgYTjgb7jgZnjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAic2xlZXBpbmcgfiVkIHVzZWNcbiIKK21zZ3N0ciAic2xlZXBpbmcgfiVkIM6856eSXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjE0CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUganVtcGVkIGJhY2t3YXJkICUuNmYgc2Vjb25kcyB0byAlbGQuJTA2bGQgLSByZXRhcmdldGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlbGQuJTA2bGQgPCAlbGQuJTA2bGQgKCUuNmYpXG4iCittc2dzdHIgIiVsZC4lMDZkIDwgJWxkLiUwNmQgKCUuNmYpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NlZCBpdCAtICVsZC4lMDZsZCBpcyB0b28gZmFyIHBhc3QgJWxkLiUwNmxkICglLjZmID4gJS42ZilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJWxkLiUwNmxkIGlzIGNsb3NlIGVub3VnaCB0byAlbGQuJTA2bGQgKCUuNmYgPCAlLjZmKVxuIgorIlNldCBSVEMgdG8gJWxkICglbGQgKyAlZDsgcmVmc3lzdGltZSA9ICVsZC4lMDZsZClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY4OAorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayByZWdpc3RlcnMgY29udGFpbiB2YWx1ZXMgdGhhdCBhcmUgZWl0aGVyIGludmFsaWQgKGUuZy4gNTB0aCBkYXkgb2YgbW9udGgpIG9yIGJleW9uZCB0aGUgcmFuZ2Ugd2UgY2FuIGhhbmRsZSAoZS5nLiBZZWFyIDIwOTUpLiIKK21zZ3N0ciAi44OP44O844OJ44Km44Kn44Ki44Gu5pmC6KiI44Os44K444K544K/44GM5q2j44GX44GP44Gq44GE5YCkICjkvos6IOaXpeOBjCA1MCDml6XjgarjgakpIOOBq+OBquOBo+OBpuOBhOOCi+OBi+OAgeWHpueQhuWPr+iDveOBquevhOWbsuOCkui2heOBiOOBn+aXpeS7mCAo5L6LOiAyMDk1IOW5tCkg44Gr44Gq44Gj44Gm44GE44G+44GZ44CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjcyOAorbXNnaWQgIk5vIC0tZGF0ZSBvcHRpb24gc3BlY2lmaWVkLiIKK21zZ3N0ciAiLS1kYXRlIOOCquODl+OCt+ODp+ODs+OBjOaMh+WumuOBleOCjOOBpuOBhOOBvuOBm+OCk+OAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MzQKK21zZ2lkICItLWRhdGUgYXJndW1lbnQgdG9vIGxvbmciCittc2dzdHIgIi0tZGF0ZSDlvJXmlbDjga7mjIflrprjgYzplbfjgZnjgY7jgb7jgZkiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzQxCittc2dpZCAiIgorIlRoZSB2YWx1ZSBvZiB0aGUgLS1kYXRlIG9wdGlvbiBpcyBub3QgYSB2YWxpZCBkYXRlLlxuIgorIkluIHBhcnRpY3VsYXIsIGl0IGNvbnRhaW5zIHF1b3RhdGlvbiBtYXJrcy4iCittc2dzdHIgIiIKKyItLWRhdGUg44Kq44OX44K344On44Oz44Gu5YCk44GM5q2j44GX44GE5pel5LuY44Gn44Gv44GC44KK44G+44Gb44KT44CCXG4iCisi54m544Gr5byV55So56ym44GM5ZCr44G+44KM44Gm44GE44G+44GZ44CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJJc3N1aW5nIGRhdGUgY29tbWFuZDogJXNcbiIKK21zZ3N0ciAiZGF0ZSDjgrPjg57jg7Pjg4njgpLnmbrooYzjgZfjgabjgYTjgb7jgZk6ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzUzCittc2dpZCAiVW5hYmxlIHRvIHJ1biAnZGF0ZScgcHJvZ3JhbSBpbiAvYmluL3NoIHNoZWxsLiBwb3BlbigpIGZhaWxlZCIKK21zZ3N0ciAiIgorIi9iaW4vc2gg44K344Kn44Or5YaF44GnICdkYXRlJyDjg5fjg63jgrDjg6njg6DjgpLlrp/ooYzjgafjgY3jgb7jgZvjgpPjgIJcbiIKKyJwb3BlbigpIOOBjOWkseaVl+OBl+OBvuOBl+OBn+OAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzcG9uc2UgZnJvbSBkYXRlIGNvbW1hbmQgPSAlc1xuIgorbXNnc3RyICJkYXRlIOOCs+ODnuODs+ODieOBi+OCieOBruW/nOetlCA9ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCB1bmV4cGVjdGVkIHJlc3VsdHMuXG4iCisiVGhlIGNvbW1hbmQgd2FzOlxuIgorIiAgJXNcbiIKKyJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorIiAgJXMiCittc2dzdHIgIiIKKyIlcyDjgavjgojjgaPjgabnmbrooYzjgZXjgozjgZ8gZGF0ZSDjgrPjg57jg7Pjg4njga/jgIHkuojmnJ/jgZfjgarjgYTntZDmnpzjgpLov5TjgZfjgb7jgZfjgZ/jgIJcbiIKKyLjgrPjg57jg7Pjg4k6XG4iCisiICAlc1xuIgorIuW/nOetlDpcbiIKKyIgICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc3NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgc29tZXRoaW5nIG90aGVyIHRoYW4gYW4gaW50ZWdlciB3aGVyZSB0aGUgY29udmVydGVkIHRpbWUgdmFsdWUgd2FzIGV4cGVjdGVkLlxuIgorIlRoZSBjb21tYW5kIHdhczpcbiIKKyIgICVzXG4iCisiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyIgJXNcbiIKK21zZ3N0ciAiIgorIiVzIOOBq+OCiOOBo+OBpueZuuihjOOBleOCjOOBnyBkYXRlIOOCs+ODnuODs+ODieOBr+WkieaPm+W+jOOBruaZguWIu+WApOOCkui/lOOBleOBmuOAgeaVtOaVsOS7peWkluOBruWApOOCkui/lOWNtOOBl+OBvuOBl+OBn+OAglxuIgorIuOCs+ODnuODs+ODiTpcbiIKKyIgICVzXG4iCisi5b+c562UOlxuIgorIiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc4NgorIywgYy1mb3JtYXQKK21zZ2lkICJkYXRlIHN0cmluZyAlcyBlcXVhdGVzIHRvICVsZCBzZWNvbmRzIHNpbmNlIDE5NjkuXG4iCittc2dzdHIgIuaXpeS7mOaWh+Wtl+WIlyAlcyDjga8gMTk2OSDlubTjgYvjgokgJWxkIOenkuebruOBq+OBguOBn+OCiuOBvuOBmeOAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgyNAorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IHNldCB0aGUgU3lzdGVtIFRpbWUgZnJvbSBpdC4iCittc2dzdHIgIuODj+ODvOODieOCpuOCp+OCouOBruaZguioiOOBq+OBr+ato+OBl+OBhOaZguWIu+OBjOWQq+OBvuOCjOOBpuOBhOOBquOBhOOBn+OCgeOAgeOCt+OCueODhuODoOOBruaZguWIu+OCkuODj+ODvOODieOCpuOCp+OCouOBi+OCieioreWumuOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCk+OAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NDMgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXk6XG4iCittc2dzdHIgInNldHRpbWVvZmRheSDjgpLlkbzjgbPlh7rjgZfjgabjgYTjgb7jgZk6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQ0IHN5cy11dGlscy9od2Nsb2NrLmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCittc2dzdHIgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQ2IHN5cy11dGlscy9od2Nsb2NrLmM6OTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorbXNnc3RyICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTAgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgc3lzdGVtIGNsb2NrIGJlY2F1c2UgcnVubmluZyBpbiB0ZXN0IG1vZGUuXG4iCittc2dzdHIgIuODhuOCueODiOODouODvOODieOBp+WLleS9nOOBl+OBpuOBhOOCi+OBn+OCgeOAgeOCt+OCueODhuODoOOBruaZguWIu+OCkuioreWumuOBl+OBvuOBm+OCk+OAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg2NiBzeXMtdXRpbHMvaHdjbG9jay5jOjk2MgorbXNnaWQgIk11c3QgYmUgc3VwZXJ1c2VyIHRvIHNldCBzeXN0ZW0gY2xvY2suIgorbXNnc3RyICLjgrfjgrnjg4bjg6Djga7mmYLliLvjgpLoqK3lrprjgZnjgovjgavjga/jgIHjgrnjg7zjg5Hjg7zjg6bjg7zjgrbjgafjgarjgZHjgozjgbDjgarjgorjgb7jgZvjgpPjgIIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODY5IHN5cy11dGlscy9od2Nsb2NrLmM6OTY1Cittc2dpZCAic2V0dGltZW9mZGF5KCkgZmFpbGVkIgorbXNnc3RyICJzZXR0aW1lb2ZkYXkoKSDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkN1cnJlbnQgc3lzdGVtIHRpbWU6ICVsZCA9ICVzXG4iCittc2dzdHIgIuePvuWcqOOBruOCt+OCueODhuODoOaZguWIuzogJWxkID0gJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHRVVEM6ICVzXG4iCittc2dzdHIgIlx0VVRDOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgLS11cGRhdGUtZHJpZnQgb3B0aW9uIHdhcyBub3QgdXNlZC5cbiIKK21zZ3N0ciAi5Lul5YmN44CB44OP44O844OJ44Km44Kn44Ki44Gu5pmC6KiI5YaF44Gr44K044Of44GM5ZCr44G+44KM44Gm44GE44Gf44Gf44KB44CB44K644Os44Gu5YCk44KS6Kq/5pW044GZ44KL5Yem55CG44Gv6KGM44GE44G+44Gb44KT44CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAwMAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSBIYXJkd2FyZSBDbG9jayBwcmV2aW91c2x5IGNvbnRhaW5lZCBnYXJiYWdlLlxuIgorbXNnc3RyICLku6XliY3jgIHjg4/jg7zjg4njgqbjgqfjgqLjga7mmYLoqIjlhoXjgavjgrTjg5/jgYzlkKvjgb7jgozjgabjgYTjgZ/jgZ/jgoHjgIHjgrrjg6zjga7lgKTjgpLoqr/mlbTjgZnjgovlh6bnkIbjga/ooYzjgYTjgb7jgZvjgpPjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGxhc3QgY2FsaWJyYXRpb24gdGltZSBpcyB6ZXJvLFxuIgorInNvIGhpc3RvcnkgaXMgYmFkIGFuZCBjYWxpYnJhdGlvbiBzdGFydG92ZXIgaXMgbmVjZXNzYXJ5LlxuIgorbXNnc3RyICIiCisi55u06L+R44Gu5qCh5q2j5pmC5Yi744GM44K844Ot44Gr44Gq44Gj44Gm44GE44KL44Gf44KB44CB44K644Os44Gu5YCk44KS6Kq/5pW044GZ44KL5Yem55CG44Gv6KGM44GE44G+44Gb44KT44CCXG4iCisi44GT44KM44Gv5qCh5q2j5bGl5q2044GM5q2j44GX44GE44KC44Gu44Gn44Gv44Gq44GE44Gf44KB44CB5qCh5q2j44KS44KE44KK55u044GZ5b+F6KaB44GM44GC44KL44Gf44KB44Gn44GZ44CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBpdCBoYXMgYmVlbiBsZXNzIHRoYW4gZm91ciBob3VycyBzaW5jZSB0aGUgbGFzdCBjYWxpYnJhdGlvbi5cbiIKK21zZ3N0ciAi55u06L+R44Gu5qCh5q2j5pmC5Yi744GL44KJ44CB5bCR44Gq44GP44Go44KCIDEg5pel5Lul5LiK57WM6YGO44GX44Gq44GE44Go44CB44K644Os44Gu5YCk44KS6Kq/5pW044GZ44KL44GT44Go44GM44Gn44GN44G+44Gb44KT44CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnQgZmFjdG9yIHdhcyBjYWxjdWxhdGVkIGFzICVmIHNlY29uZHMvZGF5LlxuIgorIkl0IGlzIGZhciB0b28gbXVjaC4gUmVzZXR0aW5nIHRvIHplcm8uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnRlZCAlZiBzZWNvbmRzIGluIHRoZSBwYXN0ICVmIHNlY29uZHNcbiIKKyJpbiBzcGl0ZSBvZiBhIGRyaWZ0IGZhY3RvciBvZiAlZiBzZWNvbmRzL2RheS5cbiIKKyJBZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJ5ICVmIHNlY29uZHMvZGF5XG4iCittc2dzdHIgIiIKKyLjgrrjg6zjga7lgKTjgYwgMSDml6XjgYLjgZ/jgoogJTMkZiDnp5LjgavoqK3lrprjgZXjgozjgabjgYTjgovjgavjgoLplqLjgo/jgonjgZrjgIHpgY7ljrsgJTIkZCDnp5LplpPjgaslMSQuMWYg56eS44Gu44K644Os44GM55m655Sf44GX44G+44GX44Gf44CCXG4iCisi44K644Os44Gu5YCk44KSICU0JGYg56eS77yP5pel44Gr6Kq/5pW044GX44G+44GZ44CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWQgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVkIHNlY29uZHNcbiIKK21zZ3N0clswXSAi5YmN5Zue44Gu5L+u5q2j44GL44KJ44GuICVkIOenkuOBjOe1jOmBjuOBl+OBpuOBhOOBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbGN1bGF0ZWQgSGFyZHdhcmUgQ2xvY2sgZHJpZnQgaXMgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXMgIC4lMDZkIOenklxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHVwZGF0aW5nIGFkanRpbWUgZmlsZSBiZWNhdXNlIG9mIHRlc3RpbmcgbW9kZS5cbiIKK21zZ3N0ciAi44OG44K544OI44Oi44O844OJ44Gn5YuV5L2c44GX44Gm44GE44KL44Gf44KBIGFkanRpbWUg44OV44Kh44Kk44Or44KS5pu05paw44GX44G+44Gb44KT44CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEzNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV291bGQgaGF2ZSB3cml0dGVuIHRoZSBmb2xsb3dpbmcgdG8gJXM6XG4iCisiJXMiCittc2dzdHIgIiIKKyLmnKzmnaXjgarjgonjgbAgJXMg44Gr5Lul5LiL44Gu44KI44GG44Gr5pu444GN6L6844G+44KM44KL44Gv44Ga44Gn44GX44GfOlxuIgorIiVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgaW4gaXQgKCVzKSBmb3Igd3JpdGluZyIKK21zZ3N0ciAi5pmC6KiI44Gu6Kq/5pW044OR44Op44Oh44O844K/44KS44OV44Kh44Kk44OrICglcykg44Gr5pu444GN6L6844KA6Zqb44CB44OV44Kh44Kk44Or44KS6ZaL44GP44GT44Go44GM44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNDkgc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCB1cGRhdGUgZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgKCVzKSBpbiBpdCIKK21zZ3N0ciAi5pmC6KiI44Gu6Kq/5pW044OR44Op44Oh44O844K/44KS44OV44Kh44Kk44OrICglcykg44Gr5pu444GN6L6844KA6Zqb44CB5pu05paw5Yem55CG44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNjQKK21zZ2lkICJEcmlmdCBhZGp1c3RtZW50IHBhcmFtZXRlcnMgbm90IHVwZGF0ZWQuIgorbXNnc3RyICLlvq7oqr/mlbTjg5Hjg6njg6Hjg7zjgr/jga/mm7TmlrDjgZfjgb7jgZvjgpPjgafjgZfjgZ/jgIIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIwMAorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IGFkanVzdCBpdC4iCittc2dzdHIgIuODj+ODvOODieOCpuOCp+OCouOBruaZguioiOOBjOato+OBl+OBhOaZguWIu+OBq+OBquOBo+OBpuOBhOOBquOBhOOBn+OCgeOAgeiqv+aVtOOBp+OBjeOBvuOBm+OCk+OAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGxhc3QgYWRqdXN0bWVudCB0aW1lIGlzIHplcm8sIHNvIGhpc3RvcnkgaXMgYmFkLlxuIgorbXNnc3RyICLnm7Tov5Hjga7moKHmraPmmYLliLvjgYzjgrzjg63jgavjgarjgaPjgabjgYTjgablsaXmrbTjgYzlj5blvpfjgafjgY3jgarjgYTjgZ/jgoHjgIHmmYLliLvoqK3lrprjga/ooYzjgYTjgb7jgZvjgpPjgIIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBkcmlmdCBmYWN0b3IgJWYgaXMgZmFyIHRvbyBoaWdoLlxuIgorbXNnc3RyICLnm7Tov5Hjga7moKHmraPmmYLliLvjgYzjgrzjg63jgavjgarjgaPjgabjgYTjgablsaXmrbTjgYzlj5blvpfjgafjgY3jgarjgYTjgZ/jgoHjgIHmmYLliLvoqK3lrprjga/ooYzjgYTjgb7jgZvjgpPjgIIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJObyB1c2FibGUgY2xvY2sgaW50ZXJmYWNlIGZvdW5kLlxuIgorbXNnc3RyICLliKnnlKjlj6/og73jgarjgq/jg63jg4Pjgq/jgqTjg7Pjgr/jg7zjg5XjgqfjgqTjgrnjgYzopovjgaTjgYvjgorjgb7jgZvjgpPjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5lZWRlZCBhZGp1c3RtZW50IGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kLCBzbyBub3Qgc2V0dGluZyBjbG9jay5cbiIKK21zZ3N0ciAi5b+F6KaB44Gq5L+u5q2j44GMIDEg56eS5pyq5rqA44Gq44Gu44Gn44CB5pmC5Yi76Kit5a6a44Gv6KGM44GE44G+44Gb44KT44CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM4OCBzeXMtdXRpbHMvaHdjbG9jay5jOjEzOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIHNldCBzeXN0ZW0gY2xvY2suXG4iCittc2dzdHIgIuOCt+OCueODhuODoOaZguWIu+OCkuioreWumuOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCk+OAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OSwgUlRDIGlzIHByZWRpY3RlZCB0byByZWFkICVsZCBzZWNvbmRzIGFmdGVyIDE5NjkuXG4iCittc2dzdHIgIjE5Njkg5bm044GL44KJICVsZCDnp5LntYzpgY7jgZfjgZ/mrrXpmo7jgafjgIEgUlRDIOOBryAxOTY5IOW5tOOBi+OCiSAlbGQg56eS57WM6YGO44GX44Gm44GE44KL44KC44Gu44Go5LqI5ris44GV44KM44G+44GZ44CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQzMQorbXNnaWQgIiIKKyJUaGUga2VybmVsIGtlZXBzIGFuIGVwb2NoIHZhbHVlIGZvciB0aGUgSGFyZHdhcmUgQ2xvY2sgb25seSBvbiBhbiBBbHBoYSBtYWNoaW5lLlxuIgorIlRoaXMgY29weSBvZiBod2Nsb2NrIHdhcyBidWlsdCBmb3IgYSBtYWNoaW5lIG90aGVyIHRoYW4gQWxwaGFcbiIKKyIoYW5kIHRodXMgaXMgcHJlc3VtYWJseSBub3QgcnVubmluZyBvbiBhbiBBbHBoYSBub3cpLiAgTm8gYWN0aW9uIHRha2VuLiIKK21zZ3N0ciAiIgorIuOCq+ODvOODjeODq+OBjOODj+ODvOODieOCpuOCp+OCouaZguioiOeUqOOBruOCqOODneODg+OCr+WApOOCkuS/neaMgeOBp+OBjeOCi+OBruOBr+OAgSBBbHBoYSDjg57jgrfjg7NcbiIKKyLjgaDjgZHjgafjgZnjgIJcbiIKKyLjgZPjga4gaHdjbG9jayDjga8gQWxwaGEg5Lul5aSW44Gu44Oe44K344Oz55So44Gr5qeL56+J44GK44KI44Gz5a6f6KGM44GV44KM44Gm44GE44KL44Gf44KB44CBXG4iCisi5a6f6KGM44Gn44GN44G+44Gb44KT44CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NDgKK21zZ2lkICJVbmFibGUgdG8gZ2V0IHRoZSBlcG9jaCB2YWx1ZSBmcm9tIHRoZSBrZXJuZWwuIgorbXNnc3RyICLjgqvjg7zjg43jg6vjgYvjgonjgqjjg53jg4Pjgq/lgKTjgpLlj5blvpfjgafjgY3jgb7jgZvjgpPjgIIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgaXMgYXNzdW1pbmcgYW4gZXBvY2ggdmFsdWUgb2YgJWx1XG4iCittc2dzdHIgIuOCq+ODvOODjeODq+OBr+OCqOODneODg+OCr+WApOOCkiAlbHUg44Go5Luu5a6a44GX44Gm44GE44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ1NQorbXNnaWQgIlRvIHNldCB0aGUgZXBvY2ggdmFsdWUsIHlvdSBtdXN0IHVzZSB0aGUgJ2Vwb2NoJyBvcHRpb24gdG8gdGVsbCB0byB3aGF0IHZhbHVlIHRvIHNldCBpdC4iCittc2dzdHIgIuOCqOODneODg+OCr+WApOOCkuioreWumuOBmeOCi+OBq+OBr+OAgSAnZXBvY2gnIOOCquODl+OCt+ODp+ODs+OCkuWIqeeUqOOBl+OBpuWApOOCkuaMh+WumuOBl+OBquOBkeOCjOOBsOOBquOCiuOBvuOBm+OCk+OAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyB0aGUgZXBvY2ggdG8gJWx1IC0gdGVzdGluZyBvbmx5LlxuIgorbXNnc3RyICLjgqjjg53jg4Pjgq/lgKTjgpIgJWQg44Gr44Gv6Kit5a6a44GX44G+44Gb44KTIC0g44OG44K544OI44Gg44GR44KS6KGM44Gj44Gm44GE44G+44GZ44CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLlxuIgorbXNnc3RyICLjgqvjg7zjg43jg6vjgavjgqjjg53jg4Pjgq/lgKTjgpLoqK3lrprjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ/jgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTU2Cittc2dpZCAiIGh3Y2xvY2sgW2Z1bmN0aW9uXSBbb3B0aW9uLi4uXVxuIgorbXNnc3RyICIgaHdjbG9jayBb5qmf6IO9XSBb44Kq44OX44K344On44OzLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NTkKKyMsIGZ1enp5Cittc2dpZCAiUXVlcnkgb3Igc2V0IHRoZSBoYXJkd2FyZSBjbG9jay5cbiIKK21zZ3N0ciAi44OP44O844OJ44Km44Kn44Ki44Gu5pmC5Yi744GvICVzIOOBp+OBmVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjEKK21zZ2lkICIiCisiXG4iCisiRnVuY3Rpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisi5qmf6IO9OlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjIKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtaCwgLS1oZWxwICAgICAgICAgICBzaG93IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisiIC1yLCAtLXNob3cgICAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IHJlc3VsdFxuIgorIiAgICAgLS1nZXQgICAgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCBkcmlmdCBjb3JyZWN0ZWQgcmVzdWx0XG4iCisiICAgICAtLXNldCAgICAgICAgICAgIHNldCB0aGUgUlRDIHRvIHRoZSB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCittc2dzdHIgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICAg44GT44Gu44OY44Or44OX44OG44Kt44K544OI44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisiIC1yLCAtLXNob3cgICAgICAgICAgIOODj+ODvOODieOCpuOCp+OCouOBruaZguWIu+OCkuiqreOBv+OBoOOBl+OBpuOAgeOBneOBrue1kOaenOOCkuihqOekuuOBl+OBvuOBmVxuIgorIiAgICAgLS1zZXQgICAgICAgICAgICDjg4/jg7zjg4njgqbjgqfjgqLjga7mmYLliLvjgpIgLS1kYXRlIOOBp+aMh+WumuOBl+OBn+aZguWIu+OBq+ioreWumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjYKK21zZ2lkICIiCisiIC1zLCAtLWhjdG9zeXMgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyIgLXcsIC0tc3lzdG9oYyAgICAgICAgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayBmcm9tIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lXG4iCisiICAgICAtLXN5c3R6ICAgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgYmFzZWQgb24gdGhlIGN1cnJlbnQgdGltZXpvbmVcbiIKKyIgICAgIC0tYWRqdXN0ICAgICAgICAgYWRqdXN0IHRoZSBSVEMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCBzaW5jZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjbG9jayB3YXMgbGFzdCBzZXQgb3IgYWRqdXN0ZWRcbiIKK21zZ3N0ciAiIgorIiAtcywgLS1oY3Rvc3lzICAgICAgICDjg4/jg7zjg4njgqbjgqfjgqLjga7mmYLliLvjgpLlhYPjgavjgZfjgabjgrfjgrnjg4bjg6Djga7mmYLliLvjgpLoqK3lrprjgZfjgb7jgZlcbiIKKyIgLXcsIC0tc3lzdG9oYyAgICAgICAg44K344K544OG44Og44Gu5pmC5Yi744KS5YWD44Gr44GX44Gm44OP44O844OJ44Km44Kn44Ki44Gu5pmC5Yi744KS6Kit5a6a44GX44G+44GZXG4iCisiICAgICAtLXN5c3R6ICAgICAgICAgIOePvuWcqOOBruOCv+OCpOODoOOCvuODvOODs+OCkuWFg+OBq+OBl+OBpuOCt+OCueODhuODoOaZguWIu+OCkuioreWumuOBl+OBvuOBmVxuIgorIiAgICAgLS1hZGp1c3QgICAgICAgICDmnIDlvozjgavoqK3lrprjgb7jgZ/jga/oqr/mlbTjgZXjgozjgZ/mmYLngrnjgYvjgonjganjgozjgaDjgZHjgrrjg6zjgabjgYTjgovjga7jgYvjgpJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICDmuKzlrprjgZnjgovjgZ/jgoHjgIEgUlRDIOOCkuiqv+aVtOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NzEKK21zZ2lkICIgLWMsIC0tY29tcGFyZSAgICAgICAgcGVyaW9kaWNhbGx5IGNvbXBhcmUgdGhlIHN5c3RlbSBjbG9jayB3aXRoIHRoZSBDTU9TIGNsb2NrXG4iCittc2dzdHIgIiAtYywgLS1jb21wYXJlICAgICAgICDjgrfjgrnjg4bjg6Djga7mmYLliLvjgaggQ01PUyDjga7mmYLliLvjgpLlrprmnJ/nmoTjgavmr5TovIPjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTczCittc2dpZCAiIgorIiAgICAgLS1nZXRlcG9jaCAgICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisiICAgICAtLXNldGVwb2NoICAgICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGdpdmVuIHdpdGggLS1lcG9jaFxuIgorbXNnc3RyICIiCisiICAgICAtLWdldGVwb2NoICAgICAgIOOCq+ODvOODjeODq+OBruODj+ODvOODieOCpuOCp+OCouaZguWIu+OBq+ioreWumuOBleOCjOOBn+OCqOODneODg+OCr+WApOOCkuihqOekuuOBl+OBvuOBmVxuIgorIiAgICAgLS1zZXRlcG9jaCAgICAgICDjgqvjg7zjg43jg6vjga7jg4/jg7zjg4njgqbjgqfjgqLmmYLliLvjgavlr77jgZfjgIEgLS1lcG9jaCDjgafmjIflrprjgZfjgZ/jgqjjg53jg4Pjgq9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICDlgKTjgpLoqK3lrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTc3Cittc2dpZCAiIgorIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IFJUQyByZWFkaW5nIGF0IHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKyIgICAgIC0tcHJlZGljdCAgICAgICAgLS1kYXRlIOOBp+aMh+WumuOBleOCjOOBn+aZguWIu+OBq+OBiuOBkeOCiyBSVEMg44Gu5YCk44KS5LqI5ris44GX44G+44GZXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgIOODkOODvOOCuOODp+ODs+aDheWgseOCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODEKK21zZ2lkICIiCisiIC11LCAtLXV0YyAgICAgICAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIFVUQ1xuIgorIiAgICAgLS1sb2NhbHRpbWUgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBsb2NhbCB0aW1lXG4iCittc2dzdHIgIiIKKyIgLXUsIC0tdXRjICAgICAgICAgICAg44OP44O844OJ44Km44Kn44Ki44Gu5pmC6KiI44GMIFVUQyDjgavoqK3lrprjgZXjgozjgabjgYTjgovjgoLjga7jgajjgb/jgarjgZfjgb7jgZlcbiIKKyIgICAgIC0tbG9jYWx0aW1lICAgICAg44OP44O844OJ44Km44Kn44Ki44Gu5pmC6KiI44GM44Ot44O844Kr44Or5pmC5Yi744Gr6Kit5a6a44GV44KM44Gm44GE44KL44KC44Gu44Go44G/44Gq44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4NAorbXNnaWQgIiAtZiwgLS1ydGMgPGZpbGU+ICAgICBzcGVjaWFsIC9kZXYvLi4uIGZpbGUgdG8gdXNlIGluc3RlYWQgb2YgZGVmYXVsdFxuIgorbXNnc3RyICIgLWYsIC0tcnRjIDzjg5XjgqHjgqTjg6s+IOS9v+eUqOOBmeOCiyBSVEMg44OH44OQ44Kk44K544OV44Kh44Kk44OrICgvZGV2Ly4uLikg44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLWRpcmVjdGlzYSAgICAgIGFjY2VzcyB0aGUgSVNBIGJ1cyBkaXJlY3RseSBpbnN0ZWFkIG9mICVzXG4iCisiICAgICAtLWJhZHllYXIgICAgICAgIGlnbm9yZSBSVEMncyB5ZWFyIGJlY2F1c2UgdGhlIEJJT1MgaXMgYnJva2VuXG4iCisiICAgICAtLWRhdGUgPHRpbWU+ICAgIHNwZWNpZmllcyB0aGUgdGltZSB0byB3aGljaCB0byBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisiICAgICAtLWVwb2NoIDx5ZWFyPiAgIHNwZWNpZmllcyB0aGUgeWVhciB3aGljaCBpcyB0aGUgYmVnaW5uaW5nIG9mIHRoZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIGNsb2NrJ3MgZXBvY2ggdmFsdWVcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1kaXJlY3Rpc2EgICAgICAlcyDjgafjga/jgarjgY/jgIEgSVNBIOODkOOCueOBq+ebtOaOpeOCouOCr+OCu+OCueOBmeOCi+OCiOOBhuOBq+OBl+OBvuOBmVxuIgorIiAgICAgLS1iYWR5ZWFyICAgICAgICBCSU9TIOOBruS4jeWCmeOBquOBqeOBrueQhueUseOBp+OAgSBSVEMg44Gu5bm044KS54Sh6KaW44GZ44KL44KI44GG44Gr44GX44G+44GZXG4iCisiICAgICAtLWRhdGUgPHRpbWU+ICAgIOODj+ODvOODieOCpuOCp+OCouOBruaZguWIu+OCkuioreWumuOBmeOCi+aXpeaZguOCkuaMh+WumuOBl+OBvuOBmVxuIgorIiAgICAgLS1lcG9jaCA8eWVhcj4gICDjg4/jg7zjg4njgqbjgqfjgqLjgavoqK3lrprjgZnjgovjgqjjg53jg4Pjgq/lgKTjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLXVwZGF0ZS1kcmlmdCAgIHVwZGF0ZSBkcmlmdCBmYWN0b3IgaW4gJTEkcyAocmVxdWlyZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAtLXNldCBvciAtLXN5c3RvaGMpXG4iCisiICAgICAtLW5vYWRqZmlsZSAgICAgIGRvIG5vdCBhY2Nlc3MgJTEkczsgdGhpcyByZXF1aXJlcyB0aGUgdXNlIG9mXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lXG4iCisiICAgICAtLWFkamZpbGUgPGZpbGU+IHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGU7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRlZmF1bHQgaXMgJTEkc1xuIgorbXNnc3RyICIiCisiICAgICAtLW5vYWRqZmlsZSAgICAgICVzIOOBq+OBr+OCouOCr+OCu+OCueOBl+OBquOBhOOCiOOBhuOBq+OBl+OBvuOBmTsg44GT44KM44GvIC0tdXRjIOOBvuOBn+OBr1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIC0tbG9jYWx0aW1lIOOBqOWFseOBq+S9v+eUqOOBmeOCi+W/heimgeOBjOOBguOCiuOBvuOBmVxuIgorIiAgICAgLS1hZGpmaWxlIDxmaWxlPiDoqr/mlbTnlKjjga7jg5XjgqHjgqTjg6vjga7jg5HjgrnjgpLmjIflrprjgZfjgb7jgZk7IFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIOaXouWumuWApOOBryAlcyDjgafjgZlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTk5Cittc2dpZCAiIgorIiAgICAgLS10ZXN0ICAgICAgICAgICBkbyBub3QgdXBkYXRlIGFueXRoaW5nLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBoYXBwZW5cbiIKKyIgLUQsIC0tZGVidWcgICAgICAgICAgZGVidWdnaW5nIG1vZGVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAgICAgLS10ZXN0ICAgICAgICAgICDmm7TmlrDlh6bnkIbjga/ooYzjgo/jgZrjgIHkvZXjgYzooYzjgo/jgozjgovjgYvjgaDjgZHjgpLooajnpLrjgZfjgb7jgZlcbiIKKyIgLUQsIC0tZGVidWcgICAgICAgICAg44OH44OQ44OD44Kw44Oi44O844OJ44KS5oyH5a6a44GX44G+44GZXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTYwMgorbXNnaWQgIiIKKyIgLUp8LS1qZW5zZW4sIC1BfC0tYXJjLCAtU3wtLXNybSwgLUZ8LS1mdW5reS10b3lcbiIKKyIgICAgICB0ZWxsIGh3Y2xvY2sgdGhlIHR5cGUgb2YgQWxwaGEgeW91IGhhdmUgKHNlZSBod2Nsb2NrKDgpKVxuIgorIlxuIgorbXNnc3RyICIiCisiIC1KfC0tamVuc2VuLCAtQXwtLWFyYywgLVN8LS1zcm0sIC1GfC0tZnVua3ktdG95XG4iCisiICAgICAg44GK5L2/44GE44GuIEFscGhhIOODnuOCt+ODs+OCv+OCpOODl+OCkuaMh+WumuOBl+OBvuOBmSAo6Kmz44GX44GP44GvIGh3Y2xvY2soOCkg44KS5Y+C54WnKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE3MjgKK21zZ2lkICJVbmFibGUgdG8gY29ubmVjdCB0byBhdWRpdCBzeXN0ZW0iCittc2dzdHIgIuebo+afu+OCt+OCueODhuODoOOBq+aOpee2muOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODI2Cittc2dpZCAiaW52YWxpZCBlcG9jaCBhcmd1bWVudCIKK21zZ3N0ciAi44Ko44Od44OD44Kv5YCk44Gu5oyH5a6a44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdGFrZXMgbm8gbm9uLW9wdGlvbiBhcmd1bWVudHMuICBZb3Ugc3VwcGxpZWQgJWQuXG4iCittc2dzdHIgIiVzIOOBq+OBr+S9leOCieOBi+OBruOCquODl+OCt+ODp+ODs+W8leaVsOOBjOW/heimgeOBp+OBmeOAguePvuWcqCAlZCDlgIvjgYzmjIflrprjgZXjgozjgabjgYTjgb7jgZnjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODgwCittc2dpZCAiV2l0aCAtLW5vYWRqZmlsZSwgeW91IG11c3Qgc3BlY2lmeSBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWUiCittc2dzdHIgIi0tbm9hZGpmaWxlIOOCkuS9v+eUqOOBmeOCi+OBq+OBr+OAgSAtLXV0YyDjgb7jgZ/jga8gLS1sb2NhbHRpbWUg44Gu44GE44Ga44KM44GL44KS5oyH5a6a44GX44Gq44GR44KM44Gw44Gq44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4OTMKK21zZ2lkICJObyB1c2FibGUgc2V0LXRvIHRpbWUuICBDYW5ub3Qgc2V0IGNsb2NrLiIKK21zZ3N0ciAi5L2/55So5Y+v6IO944Gq6Kit5a6a5pmC5Yi744GM44GC44KK44G+44Gb44KT44CC5pmC5Yi744Gu5L+u5q2j44Gv6KGM44GE44G+44Gb44KT44CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE5MTcKK21zZ2lkICJDYW5ub3QgYWNjZXNzIHRoZSBIYXJkd2FyZSBDbG9jayB2aWEgYW55IGtub3duIG1ldGhvZC4iCittc2dzdHIgIuaXouefpeOBruOBhOOBmuOCjOOBruaWueazleOCkuS9v+eUqOOBl+OBpuOCguOAgeODj+ODvOODieOCpuOCp+OCouOBruaZguioiOOBq+OCouOCr+OCu+OCueOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCk+OAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxOTIwCittc2dpZCAiVXNlIHRoZSAtLWRlYnVnIG9wdGlvbiB0byBzZWUgdGhlIGRldGFpbHMgb2Ygb3VyIHNlYXJjaCBmb3IgYW4gYWNjZXNzIG1ldGhvZC4iCittc2dzdHIgIi0tZGVidWcg44Kq44OX44K344On44Oz44KS5L2/55So44GZ44KL44Go44CB44Ki44Kv44K744K55pa55rOV44Gu5qSc57Si5Yem55CG44KS6Kmz44GX44GP56K66KqN44GZ44KL44GT44Go44GM44Gn44GN44G+44GZ44CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgImJvb3RlZCBmcm9tIE1JTE9cbiIKK21zZ3N0ciAiTUlMTyDjgYvjgonotbfli5XjgZfjgabjgYTjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJSdWZmaWFuIEJDRCBjbG9ja1xuIgorbXNnc3RyICJSdWZmaWFuIEJDRCDjgq/jg63jg4Pjgq/jgafjgZlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9ja3BvcnQgYWRqdXN0ZWQgdG8gMHgleFxuIgorbXNnc3RyICLjgq/jg63jg4Pjgq/jg53jg7zjg4jjgpIgMHgleCDjgavkv67mraPjgZfjgb7jgZfjgZ9cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJmdW5reSBUT1khXG4iCittc2dzdHIgImZ1bmt5IFRPWSDjgafjgZlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjI5OAorIywgYy1mb3JtYXQKK21zZ2lkICJhdG9taWMgJXMgZmFpbGVkIGZvciAxMDAwIGl0ZXJhdGlvbnMhIgorbXNnc3RyICIxMDAwIOWbnuOBruWIl+aMmeOBq+WvvuOBl+OAgeS4jeWPr+WIhuOBqiAlcyDlh6bnkIbjgYzlpLHmlZfjgZfjgb7jgZfjgZ/vvIEiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc19yZWFkKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgImNtb3NfcmVhZCgpOiDjgrPjg7Pjg4jjg63jg7zjg6vjgqLjg4njg6zjgrkgJVgg44G444Gu5pu444GN6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3JlYWQoKTogcmVhZCBmcm9tIGRhdGEgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgImNtb3NfcmVhZCgpOiDjgrPjg7Pjg4jjg63jg7zjg6vjgqLjg4njg6zjgrkgJVgg44G444Gu5pu444GN6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzY1CisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3Nfd3JpdGUoKTogd3JpdGUgdG8gY29udHJvbCBhZGRyZXNzICVYIGZhaWxlZCIKK21zZ3N0ciAiY21vc193cml0ZSgpOiDjgrPjg7Pjg4jjg63jg7zjg6vjgqLjg4njg6zjgrkgJVgg44G444Gu5pu444GN6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3Nfd3JpdGUoKTogd3JpdGUgdG8gZGF0YSBhZGRyZXNzICVYIGZhaWxlZCIKK21zZ3N0ciAiY21vc193cml0ZSgpOiDjg4fjg7zjgr/jgqLjg4njg6zjgrkgJVgg44G444Gu5pu444GN6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjQ1Cittc2dpZCAiSSBmYWlsZWQgdG8gZ2V0IHBlcm1pc3Npb24gYmVjYXVzZSBJIGRpZG4ndCB0cnkuIgorbXNnc3RyICLlho3oqabooYzjgZfjgarjgYvjgaPjgZ/jgZ/jgoHjgIHoqLHlj6/jga7lj5blvpfjgavlpLHmlZfjgZfjgb7jgZfjgZ/jgIIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NDgKK21zZ2lkICJ1bmFibGUgdG8gZ2V0IEkvTyBwb3J0IGFjY2VzczogIHRoZSBpb3BsKDMpIGNhbGwgZmFpbGVkLiIKK21zZ3N0ciAiSS9PIOODneODvOODiOOCouOCr+OCu+OCueOCkuWPluW+l+OBp+OBjeOBvuOBm+OCkzogaW9wbCgzKSDjga7lkbzjgbPlh7rjgZfjgavlpLHmlZfjgZfjgb7jgZfjgZ/jgIIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NTEKK21zZ2lkICJQcm9iYWJseSB5b3UgbmVlZCByb290IHByaXZpbGVnZXMuXG4iCittc2dzdHIgIuaBkOOCieOBjyByb290IOaoqemZkOOBjOW/heimgeOBp+OBmeOAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjU4Cittc2dpZCAiVXNpbmcgZGlyZWN0IEkvTyBpbnN0cnVjdGlvbnMgdG8gSVNBIGNsb2NrLiIKK21zZ3N0ciAi55u05o6lIEkvTyDlkb3ku6TjgpLkvb/jgaPjgaYgSVNBIOOCr+ODreODg+OCr+OBq+OCouOCr+OCu+OCueOBl+OBvuOBmeOAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTk1CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byByZWFkIHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAi5pmC5Yi744KS6Kqt44G/6L6844KA6Zqb44CBICUyJHMg44Gr5a++44GX44GmIGlvY3RsKCUxJHMpIOOCkuimgeaxguOBl+OBvuOBl+OBn+OBjOOAgeWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tICVzIHRvIGNoYW5nZVxuIgorbXNnc3RyICIlcyDjgYvjgonmmYLliLvjgpLoqq3jgb/lh7rjgZfjgIHlpInljJbjgZnjgovjga7jgpLlvoXjgaPjgabjgYTjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjM2Cittc2dpZCAiVGltZWQgb3V0IHdhaXRpbmcgZm9yIHRpbWUgY2hhbmdlLiIKK21zZ3N0ciAi5pmC5Yi75aSJ5pu05b6F44Gh44GM5pmC6ZaT5YiH44KM44Gr44Gq44KK44G+44GX44Gf44CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgaGF2ZSBpbnRlcnJ1cHQgZnVuY3Rpb25zLiAiCittc2dzdHIgIiVzIOOBq+OBr+WJsuOCiui+vOOBv+apn+iDveOBjOOBguOCiuOBvuOBm+OCk+OAgiAiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMwMgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKK21zZ3N0ciAi44Kv44Ot44OD44Kv44OG44Kj44OD44Kv44KS5b6F44Gk44Gf44KB44GuICVzIOOBuOOBriBzZWxlY3QoKSDjgYzlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIHRpbWVkIG91dCIKK21zZ3N0ciAi44Kv44Ot44OD44Kv44OG44Kj44OD44Kv44KS5b6F44Gk44Gf44KB44GuICVzIOOBuOOBriBzZWxlY3QoKSDjgYzmmYLplpPliIfjgozjgavjgarjgorjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb2ZmIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCIKK21zZ3N0ciAi5Ymy44KK6L6844G/5pu05paw44KS54Sh5Yq55YyW44GZ44KL44Gf44KB44GuICVzIOOBuOOBriBpb2N0bCgpIOOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvbiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQgdW5leHBlY3RlZGx5IgorbXNnc3RyICLlibLjgorovrzjgb/mm7TmlrDjgpLmnInlirnljJbjgZnjgovjgZ/jgoHjga4gJXMg44G444GuIGlvY3RsKCkg44GM5LqI5pyf44Gb44Ga5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHNldCB0aGUgdGltZSBmYWlsZWQuIgorbXNnc3RyICIlMiRzIOOBq+WvvuOBl+OBpuaZguWIu+OCkuioreWumuOBmeOCi+mam+OAgSBpb2N0bCglMSRzKSDjgavlpLHmlZfjgZfjgb7jgZfjgZ/jgIIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgd2FzIHN1Y2Nlc3NmdWwuXG4iCittc2dzdHIgImlvY3RsKCVzKSDjgavmiJDlip/jgZfjgb7jgZfjgZ/jgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mzg3Cittc2dpZCAiVXNpbmcgdGhlIC9kZXYgaW50ZXJmYWNlIHRvIHRoZSBjbG9jay4iCittc2dzdHIgIuOCr+ODreODg+OCr+OBriAvZGV2IOOCpOODs+OCv+ODvOODleOCp+OCpOOCuSDjgpLkvb/nlKjkuK3jgIIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQxNyBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVG8gbWFuaXB1bGF0ZSB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbCwgd2UgbXVzdCBhY2Nlc3MgdGhlIExpbnV4ICdydGMnIGRldmljZSBkcml2ZXIgdmlhIHRoZSBkZXZpY2Ugc3BlY2lhbCBmaWxlICVzLiAgVGhpcyBmaWxlIGRvZXMgbm90IGV4aXN0IG9uIHRoaXMgc3lzdGVtLiIKK21zZ3N0ciAi44Kr44O844ON44Or5YaF44Gu44Ko44Od44OD44Kv5YCk44KS5pON5L2c44GZ44KL44Gr44Gv44CB44OH44OQ44Kk44K544K544Oa44K344Oj44Or44OV44Kh44Kk44Or44GuICVzIOOCkuWIqeeUqOOBl+OBpuOAgSBMaW51eCDjga4gJ3J0Yycg44OH44OQ44Kk44K544OJ44Op44Kk44OQ44Gr44Ki44Kv44K744K544GX44Gq44GR44KM44Gw44Gq44KK44G+44Gb44KT44GM44CB5bem6KiY44Gu44OV44Kh44Kk44Or44Gv44K344K544OG44Og5YaF44Gr5a2Y5Zyo44GX44Gm44GE44G+44Gb44KT44CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoUlRDX0VQT0NIX1JFQUQpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXMg44G444GuIGlvY3RsKFJUQ19FUE9DSF9SRUFEKSDjgYzlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2UgaGF2ZSByZWFkIGVwb2NoICVsdSBmcm9tICVzIHdpdGggUlRDX0VQT0NIX1JFQUQgaW9jdGwuXG4iCittc2dzdHIgIlJUQ19FUE9DSF9SRUFEIGlvY3RsIOOCkuWIqeeUqOOBl+OBpuOAgSAlMiRzIOOBi+OCieOCqOODneODg+OCr+WApCAlMSRsZCDjgpLoqq3jgb/lj5bjgorjgb7jgZfjgZ/jgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlcG9jaCB2YWx1ZSBtYXkgbm90IGJlIGxlc3MgdGhhbiAxOTAwLiAgWW91IHJlcXVlc3RlZCAlbGQiCittc2dzdHIgIuOCqOODneODg+OCr+WApOOBjCAxOTAwIOW5tOS7peWJjeOBp+OBr+OBquOBhOOCguOBruOBqOaAneOCj+OCjOOBvuOBmeOAguaMh+WumuWApOOBryAlbGQg44Gn44GZIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgZXBvY2ggdG8gJWx1IHdpdGggUlRDX0VQT0NIX1NFVCBpb2N0bCB0byAlcy5cbiIKK21zZ3N0ciAiVENfRVBPQ0hfU0VUIGlvY3RsIOOCkuWIqeeUqOOBl+OBpuOAgSAlMiRzIOOBq+OCqOODneODg+OCr+WApCAlMSRsZCDjgpLoqK3lrprjgZfjgabjgYTjgb7jgZnjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBrZXJuZWwgZGV2aWNlIGRyaXZlciBmb3IgJXMgZG9lcyBub3QgaGF2ZSB0aGUgUlRDX0VQT0NIX1NFVCBpb2N0bC4iCittc2dzdHIgIiVzIOWQkeOBkeOBruOCq+ODvOODjeODq+ODh+ODkOOCpOOCueODieODqeOCpOODkOOBq+OBr+OAgSBSVENfRVBPQ0hfU0VUIGlvY3RsIOOBruapn+iDveOBjOOBguOCiuOBvuOBm+OCk+OAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKFJUQ19FUE9DSF9TRVQpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXMg44G444GuIGlvY3RsKFJUQ19FUE9DSF9TRVQpIOOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NjkKK21zZ2lkICJDcmVhdGUgdmFyaW91cyBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICLmp5jjgIXjgaogSVBDIOODquOCveODvOOCueOCkuS9nOaIkOOBl+OBvuOBmeOAglxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MgorbXNnaWQgIiAtTSwgLS1zaG1lbSA8c2l6ZT4gICAgICAgY3JlYXRlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBvZiBzaXplIDxzaXplPlxuIgorbXNnc3RyICIgLU0sIC0tc2htZW0gPOOCteOCpOOCuj4gICAgICAgICA844K144Kk44K6PiDjgafmjIflrprjgZfjgZ/jgrXjgqTjgrrjga7lhbHmnInjg6Hjg6Ljg6rjgrvjgrDjg6Hjg7Pjg4jjgpLkvZzmiJDjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzMKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlIDxudW1iZXI+IGNyZWF0ZSBzZW1hcGhvcmUgYXJyYXkgd2l0aCA8bnVtYmVyPiBlbGVtZW50c1xuIgorbXNnc3RyICIgLVMsIC0tc2VtYXBob3JlIDzjgrvjg57jg5XjgqnmlbA+IDzjgrvjg57jg5XjgqnmlbA+IOOBp+aMh+WumuOBl+OBn+WAi+aVsOOBruimgee0oOaVsOOBruOCu+ODnuODleOCqemFjeWIl+OCkuS9nOaIkOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NAorbXNnaWQgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgY3JlYXRlIG1lc3NhZ2UgcXVldWVcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICAgICDjg6Hjg4Pjgrvjg7zjgrjjgq3jg6Xjg7zjgpLkvZzmiJDjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzUKK21zZ2lkICIgLXAsIC0tbW9kZSA8bW9kZT4gICAgICAgIHBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZSAoZGVmYXVsdCBpcyAwNjQ0KVxuIgorbXNnc3RyICIgLXAsIC0tbW9kZSA844Oi44O844OJPiAgICAgIOizh+a6kOOBq+WJsuOCiuW9k+OBpuOCi+ODkeODvOODn+ODg+OCt+ODp+ODs+OCkuaMh+WumuOBl+OBvuOBmSAo5pei5a6a5YCk44GvIDA2NDQg44Gn44GZKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTAgc3lzLXV0aWxzL2xvc2V0dXAuYzo2OTcgc3lzLXV0aWxzL3pyYW1jdGwuYzo2MjIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAi44K144Kk44K65oOF5aCx44Gu6Kej6YeI44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWxlbWVudHMiCittc2dzdHIgIuimgee0oOaVsOOBruino+mHiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQxCittc2dpZCAiY3JlYXRlIHNoYXJlIG1lbW9yeSBmYWlsZWQiCittc2dzdHIgIuWFseacieODoeODouODquOBruS9nOaIkOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoYXJlZCBtZW1vcnkgaWQ6ICVkXG4iCittc2dzdHIgIuWFseacieODoeODouODqiBJRDogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQ5Cittc2dpZCAiY3JlYXRlIG1lc3NhZ2UgcXVldWUgZmFpbGVkIgorbXNnc3RyICLjg6Hjg4Pjgrvjg7zjgrjjgq3jg6Xjg7zjga7kvZzmiJDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIHF1ZXVlIGlkOiAlZFxuIgorbXNnc3RyICLjg6Hjg4Pjgrvjg7zjgrjjgq3jg6Xjg7wgSUQ6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1NworbXNnaWQgImNyZWF0ZSBzZW1hcGhvcmUgZmFpbGVkIgorbXNnc3RyICLjgrvjg57jg5Xjgqnjga7kvZzmiJDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZW1hcGhvcmUgaWQ6ICVkXG4iCittc2dzdHIgIuOCu+ODnuODleOCqSBJRDogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIHNobXxtc2d8c2VtIDxpZD4uLi5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvjgqrjg5fjgrfjg6fjg7NdXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPGlkPi4uLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1NAorbXNnaWQgIlJlbW92ZSBjZXJ0YWluIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIklQQyDjg6rjgr3jg7zjgrnjgpLliYrpmaTjgZfjgb7jgZnjgIJcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTcKK21zZ2lkICIgLW0sIC0tc2htZW0taWQgPGlkPiAgICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBpZFxuIgorbXNnc3RyICIgLW0sIC0tc2htZW0taWQgPGlkPiAgICAgICAg5oyH5a6a44GX44GfIElEIOOBruWFseacieODoeODouODquOCu+OCsOODoeODs+ODiOOCkuWJiumZpOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OAorbXNnaWQgIiAtTSwgLS1zaG1lbS1rZXkgPGtleT4gICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGtleVxuIgorbXNnc3RyICIgLU0sIC0tc2htZW0ta2V5IDxrZXk+ICAgICAg5oyH5a6a44GX44Gf44Kt44O844Gu5YWx5pyJ44Oh44Oi44Oq44K744Kw44Oh44Oz44OI44KS5YmK6Zmk44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU5Cittc2dpZCAiIC1xLCAtLXF1ZXVlLWlkIDxpZD4gICAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGlkXG4iCittc2dzdHIgIiAtcSwgLS1xdWV1ZS1pZCA8aWQ+ICAgICAgICDmjIflrprjgZfjgZ8gSUQg44Gu44Oh44OD44K744O844K444Kt44Ol44O844KS5YmK6Zmk44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYwCittc2dpZCAiIC1RLCAtLXF1ZXVlLWtleSA8a2V5PiAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGtleVxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUta2V5IDxrZXk+ICAgICAg5oyH5a6a44GX44Gf44Kt44O844Gu44Oh44OD44K744O844K444Kt44Ol44O844KS5YmK6Zmk44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYxCittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8aWQ+ICAgIHJlbW92ZSBzZW1hcGhvcmUgYnkgaWRcbiIKK21zZ3N0ciAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8aWQ+ICAgIOaMh+WumuOBl+OBnyBJRCDjga7jgrvjg57jg5XjgqnjgpLliYrpmaTjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjIKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlLWtleSA8a2V5PiAgcmVtb3ZlIHNlbWFwaG9yZSBieSBrZXlcbiIKK21zZ3N0ciAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGtleT4gIOaMh+WumuOBl+OBn+OCreODvOOBruOCu+ODnuODleOCqeOCkuWJiumZpOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MworIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsWz1zaG18bXNnfHNlbV0gICAgcmVtb3ZlIGFsbCAoaW4gdGhlIHNwZWNpZmllZCBjYXRlZ29yeSlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbFs9PHNobXxtc2d8c2VtPl0gIOWFqOOBpuOBruWFseacieODoeODouODqu+8j+ODoeODg+OCu+ODvOOCuOOCreODpeODvO+8j+OCu+ODnuODleOCqeOCkuWJiumZpOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAg5L2V44GM6KGM44KP44KM44KL44Gu44GL44KS6Kmz44GX44GP6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBpZCBgJWQnXG4iCittc2dzdHIgIuWFseacieODoeODouODquOCu+OCsOODoeODs+ODiCBJRCBgJWQnIOOCkuWJiumZpOOBl+OBpuOBhOOBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBtZXNzYWdlIHF1ZXVlIGlkIGAlZCdcbiIKK21zZ3N0ciAi44Oh44OD44K744O844K444Kt44Ol44O8IElEIGAlZCcg44KS5YmK6Zmk44GX44Gm44GE44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNlbWFwaG9yZSBpZCBgJWQnXG4iCittc2dzdHIgIuOCu+ODnuODleOCqSBJRCBgJWQnIOOCkuWJiumZpOOBl+OBpuOBhOOBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDggc3lzLXV0aWxzL2lwY3JtLmM6MjIyCittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGtleSIKK21zZ3N0ciAi44Kt44O844Gu6Kix5Y+v44GM44GC44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDgKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3IgaWQiCittc2dzdHIgIklEIOOBruioseWPr+OBjOOBguOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExIHN5cy11dGlscy9pcGNybS5jOjIyOAorbXNnaWQgImludmFsaWQga2V5IgorbXNnc3RyICLjgq3jg7zjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMQorbXNnaWQgImludmFsaWQgaWQiCittc2dzdHIgIklEIOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0IHN5cy11dGlscy9pcGNybS5jOjIyNQorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBrZXkiCittc2dzdHIgIuaXouOBq+aMh+WumuOBl+OBn+OCreODvOOBr+WJiumZpOOBleOCjOOBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGlkIgorbXNnc3RyICLml6LjgavmjIflrprjgZfjgZ8gSUQg44Gv5YmK6Zmk44GV44KM44Gm44GE44G+44GZIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcgc3lzLXV0aWxzL2lwY3JtLmM6MjMxCittc2dpZCAia2V5IGZhaWxlZCIKK21zZ3N0ciAi44Kt44O844Gu5Yem55CG44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcKK21zZ2lkICJpZCBmYWlsZWQiCittc2dzdHIgIklEIOOBruWHpueQhuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWQ6ICVzIgorbXNnc3RyICJJRCDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpM6ICVzIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzb3VyY2UocykgZGVsZXRlZFxuIgorbXNnc3RyICLos4fmupDjgpLliYrpmaTjgZfjgb7jgZfjgZ9cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwga2V5ICglcykiCittc2dzdHIgIuOCreODvOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyAoJXMpIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNTYKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgIuWFseacieODoeODouODquOBjOOCq+ODvOODjeODq+WBtOOBp+ioreWumuOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjY5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzIgorbXNnc3RyICLjgrvjg57jg5XjgqnjgYzjgqvjg7zjg43jg6vlgbTjgafoqK3lrprjgZXjgozjgabjgYTjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI5MAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgIuODoeODg+OCu+ODvOOCuOOCreODpeODvOOBjOOCq+ODvOODjeODq+WBtOOBp+ioreWumuOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW3Jlc291cmNlLW9wdGlvbi4uLl0gW291dHB1dC1vcHRpb25dXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTYgc3lzLXV0aWxzL2xzaXBjLmM6MjgwCisjLCBmdXp6eQorbXNnaWQgIlNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMuXG4iCittc2dzdHIgIiAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAg44OQ44O844K444On44Oz5oOF5aCx44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiAtaSwgLS1pZCA8aWQ+ICDmjIflrprjgZfjgZ8gSUQg44Gu6LOH5rqQ44Gr44Gk44GE44Gm6Kmz57Sw44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQgc3lzLXV0aWxzL2xzaXBjLmM6MjgzCittc2dpZCAiUmVzb3VyY2Ugb3B0aW9uczpcbiIKK21zZ3N0ciAi44Oq44K944O844K544Kq44OX44K344On44OzOlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1IHN5cy11dGlscy9sc2lwYy5jOjI4NAorbXNnaWQgIiAtbSwgLS1zaG1lbXMgICAgICBzaGFyZWQgbWVtb3J5IHNlZ21lbnRzXG4iCittc2dzdHIgIiAtbSwgLS1zaG1lbXMgICAgICDlhbHmnInjg6Hjg6Ljg6rjgrvjgrDjg6Hjg7Pjg4hcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NiBzeXMtdXRpbHMvbHNpcGMuYzoyODUKK21zZ2lkICIgLXEsIC0tcXVldWVzICAgICAgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlcyAgICAgIOODoeODg+OCu+ODvOOCuOOCreODpeODvFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY3IHN5cy11dGlscy9sc2lwYy5jOjI4NgorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hcGhvcmVzXG4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmVzICDjgrvjg57jg5XjgqlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2OAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICBhbGwgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICDlhajjgaYgKOaXouWumuWApClcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MQorIywgZnV6enkKK21zZ2lkICJPdXRwdXQgb3B0aW9uczpcbiIKK21zZ3N0ciAi5Ye65Yqb5b2i5byPOlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcyCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAg57WQ5ZCI77yP5YiG6Zui77yP5aSJ5pu044Gu5ZCE5pel5pmC44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgIHNob3cgUElEcyBvZiBjcmVhdG9yIGFuZCBsYXN0IG9wZXJhdG9yXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICDkvZzmiJDjgYrjgojjgbPnm7Tov5Hjgavmk43kvZzjgpLooYzjgarjgaPjgZ8gUElEIOOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc0Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiIC1jLCAtLWNyZWF0b3IgICAgIOS9nOaIkOiAheOBqOaJgOacieiAheOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc1Cittc2dpZCAiIC1sLCAtLWxpbWl0cyAgICAgIHNob3cgcmVzb3VyY2UgbGltaXRzXG4iCittc2dzdHIgIiAtbCwgLS1saW1pdHMgICAgICDos4fmupDjga7liLbpmZDlgKTjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NgorbXNnaWQgIiAtdSwgLS1zdW1tYXJ5ICAgICBzaG93IHN0YXR1cyBzdW1tYXJ5XG4iCittc2dzdHIgIiAtdSwgLS1zdW1tYXJ5ICAgICDnirbmhYvjga7mpoLopoHjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NworIywgZnV6enkKK21zZ2lkICIgICAgIC0taHVtYW4gICAgICAgc2hvdyBzaXplcyBpbiBodW1hbi1yZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICDkurrplpPjgavjgajjgaPjgaboqq3jgb/jgoTjgZnjgYTlvaLlvI/jgafjgr/jgqTjg6Djgrnjgr/jg7Pjg5fjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3OAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICBzaG93IHNpemVzIGluIGJ5dGVzXG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICDjgrXjgqTjgrrjgpLjg5DjgqTjg4jljZjkvY3jgafooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoxNjQKK21zZ2lkICJ3aGVuIHVzaW5nIGFuIElELCBhIHNpbmdsZSByZXNvdXJjZSBtdXN0IGJlIHNwZWNpZmllZCIKK21zZ3N0ciAiSUQg44KS5L2/55So44GX44Gf5aC05ZCI44Gv44CB5Y2Y5LiA44Gu6LOH5rqQ44Gu44G/44KS5oyH5a6a44GX44Gq44GR44KM44Gw44Gq44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNoYXJlZCBtZW1vcnkgbGltaXRzXG4iCittc2dzdHIgIuWFseacieODoeODouODquOBruacgOWkp+WQiOioiOWApCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDlhbHmnInjg6Hjg6Ljg6rjga7liLbpmZAgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBzZWdtZW50cyA9ICVqdVxuIgorbXNnc3RyICLjgrvjgrDjg6Hjg7Pjg4jjga7mnIDlpKfmlbAgPSAlanVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDkKK21zZ2lkICJtYXggc2VnIHNpemUiCittc2dzdHIgIuacgOWkp+OCu+OCsOODoeODs+ODiOOCteOCpOOCuiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTEKK21zZ2lkICJtYXggdG90YWwgc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAi5YWx5pyJ44Oh44Oi44Oq44Gu5pyA5aSn5ZCI6KiI5YCkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxNAorbXNnaWQgIm1pbiBzZWcgc2l6ZSIKK21zZ3N0ciAi5pyA5bCP44K744Kw44Oh44Oz44OI44K144Kk44K6IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIyNgorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnlcbiIKK21zZ3N0ciAi5YWx5pyJ44Oh44Oi44Oq44GM44Kr44O844ON44Or5YG044Gn6Kit5a6a44GV44KM44Gm44GE44G+44Gb44KTXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g5YWx5pyJ44Oh44Oi44Oq44Gu54q25oWLIC0tLS0tLS0tXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGlzIG91dHB1dCBmb3JtYXQgaXMgbWFpbnRhaW5lZCBmb3IgYmFja3dhcmQKKyMuIGNvbXBhdGliaWxpdHkgYXMgaXBjcyBpcyB1c2VkIGluIHNjcmlwdHMuIEZvciBjb25zaXN0ZW5jeQorIy4gd2l0aCB0aGUgcmVzdCwgdGhlIHRyYW5zbGF0ZWQgZm9ybSBjYW4gZm9sbG93IHRoaXMgbW9kZWw6CisjLiAqCisjLiAic2VnbWVudHMgYWxsb2NhdGVkID0gJWRcbiIKKyMuICJwYWdlcyBhbGxvY2F0ZWQgPSAlbGRcbiIKKyMuICJwYWdlcyByZXNpZGVudCA9ICVsZFxuIgorIy4gInBhZ2VzIHN3YXBwZWQgPSAlbGRcbiIKKyMuICJzd2FwIHBlcmZvcm1hbmNlID0gJWxkIGF0dGVtcHRzLCAlbGQgc3VjY2Vzc2VzXG4iCisjLgorIzogc3lzLXV0aWxzL2lwY3MuYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInNlZ21lbnRzIGFsbG9jYXRlZCAlZFxuIgorInBhZ2VzIGFsbG9jYXRlZCAlbGRcbiIKKyJwYWdlcyByZXNpZGVudCAgJWxkXG4iCisicGFnZXMgc3dhcHBlZCAgICVsZFxuIgorIlN3YXAgcGVyZm9ybWFuY2U6ICVsZCBhdHRlbXB0c1x0ICVsZCBzdWNjZXNzZXNcbiIKK21zZ3N0ciAiIgorIuWJsuOCiuW9k+OBpua4iOOBv+OCu+OCsOODoeODs+ODiCAlZFxuIgorIuWJsuOCiuW9k+OBpua4iOOBv+ODmuODvOOCuCAlbGRcbiIKKyLluLjpp5DmuIjjgb/jg5rjg7zjgrggJWxkXG4iCisi44K544Ov44OD44OX5riI44G/44Oa44O844K4ICVsZFxuIgorIuOCueODr+ODg+ODl+aAp+iDvTogJWxkIOWbnuippuihjOa4iOOBv1x0ICVsZCDlm57miJDlip9cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIOWFseacieODoeODouODquOCu+OCsOODoeODs+ODiCDkvZzmiJDogIUv5omA5pyJ6ICFIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjc0CisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgInNobWlkIgorbXNnc3RyICJzaG1pZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzozODYKKyM6IHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NDg5IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAicGVybXMiCittc2dzdHIgIuaoqemZkCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJjdWlkIgorbXNnc3RyICJjdWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgImNnaWQiCittc2dzdHIgImNnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAidWlkIgorbXNnc3RyICJ1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiZ2lkIgorbXNnc3RyICJnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IEF0dGFjaC9EZXRhY2gvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDlhbHmnInjg6Hjg6Ljg6og57WQ5ZCI77yP5YiG6Zui77yP5aSJ5pu05pel5pmCIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjc0IHN5cy11dGlscy9pcGNzLmM6MjgwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQwMSBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEgc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJvd25lciIKK21zZ3N0ciAi5omA5pyJ6ICFIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NworbXNnaWQgImF0dGFjaGVkIgorbXNnc3RyICLntZDlkIgiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3Cittc2dpZCAiZGV0YWNoZWQiCittc2dzdHIgIuWIhumboiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjgKK21zZ2lkICJjaGFuZ2VkIgorbXNnc3RyICLlpInmm7QiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IENyZWF0b3IvTGFzdC1vcCBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDlhbHmnInjg6Hjg6Ljg6og5L2c5oiQ6ICF77yP55u06L+R44Gu5ZG95LukIFBJRCAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3NAorbXNnaWQgImNwaWQiCittc2dzdHIgImNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc0Cittc2dpZCAibHBpZCIKK21zZ3N0ciAibHBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIOWFseacieODoeODouODquOCu+OCsOODoeODs+ODiCAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MCBzeXMtdXRpbHMvaXBjcy5jOjQwMSBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgImtleSIKK21zZ3N0ciAi44Kt44O8IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MSBzeXMtdXRpbHMvaXBjcy5jOjUwOAorbXNnaWQgInNpemUiCittc2dzdHIgIuOCteOCpOOCuiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODEgc3lzLXV0aWxzL3BybGltaXQuYzo3NSBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4IHN5cy11dGlscy9wcmxpbWl0LmM6Nzkgc3lzLXV0aWxzL3BybGltaXQuYzo4MQorIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJieXRlcyIKK21zZ3N0ciAi44OQ44Kk44OIIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MgorbXNnaWQgIm5hdHRjaCIKK21zZ3N0ciAibmF0dGNoIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MgorbXNnaWQgInN0YXR1cyIKK21zZ3N0ciAi54q25oWLIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMwNiBzeXMtdXRpbHMvaXBjcy5jOjMwOCBzeXMtdXRpbHMvaXBjcy5jOjMxMAorIzogc3lzLXV0aWxzL2lwY3MuYzo0MjQgc3lzLXV0aWxzL2lwY3MuYzo0MjYgc3lzLXV0aWxzL2lwY3MuYzo1MzIKKyM6IHN5cy11dGlscy9pcGNzLmM6NTM0IHN5cy11dGlscy9pcGNzLmM6NTM2IHN5cy11dGlscy9pcGNzLmM6NTkwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MiBzeXMtdXRpbHMvaXBjcy5jOjYyMSBzeXMtdXRpbHMvaXBjcy5jOjYyMworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjUgc3lzLXV0aWxzL2lwY3MuYzo2NDkKK21zZ2lkICJOb3Qgc2V0IgorbXNnc3RyICLmnKrjgrvjg4Pjg4giCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzM2IHN5cy11dGlscy9sc2lwYy5jOjk3NiBzeXMtdXRpbHMvbHNpcGMuYzo5ODIKK21zZ2lkICJkZXN0IgorbXNnc3RyICLliYrpmaQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzM3IHN5cy11dGlscy9sc2lwYy5jOjk3NyBzeXMtdXRpbHMvbHNpcGMuYzo5OTAKK21zZ2lkICJsb2NrZWQiCittc2dzdHIgIuODreODg+OCryIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNlbWFwaG9yZSBsaW1pdHNcbiIKK21zZ3N0ciAi44K744Oe44OV44Kp44Gu5Yi26ZmQ44KS5Y+W5b6X44Gn44GN44G+44Gb44KT44Gn44GX44GfXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDjgrvjg57jg5Xjgqnjga7liLbpmZAgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBhcnJheXMgPSAlZFxuIgorbXNnc3RyICLmnIDlpKfphY3liJfmlbAgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBwZXIgYXJyYXkgPSAlZFxuIgorbXNnc3RyICLphY3liJfjgZTjgajjga7mnIDlpKfjgrvjg57jg5XjgqnmlbAgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgIuOCt+OCueODhuODoOWFqOS9k+OBruacgOWkp+OCu+ODnuODleOCqeaVsCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBvcHMgcGVyIHNlbW9wIGNhbGwgPSAlZFxuIgorbXNnc3RyICJzZW1vcCDlkbzjgbPlh7rjgZfjgZTjgajjga7mnIDlpKflkb3ku6TmlbAgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJzZW1hcGhvcmUgbWF4IHZhbHVlID0gJXVcbiIKK21zZ3N0ciAi44K744Oe44OV44Kp5pyA5aSn5YCkID0gJXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzXG4iCittc2dzdHIgIuOCu+ODnuODleOCqeOBjOOCq+ODvOODjeODq+WBtOOBp+ioreWumuOBleOCjOOBpuOBhOOBvuOBm+OCk1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g44K744Oe44OV44Kp44Gu54q25oWLIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc4CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAi5L2/55So5riI44G/6YWN5YiX5pWwID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHNlbWFwaG9yZXMgPSAlZFxuIgorbXNnc3RyICLlibLjgorlvZPjgabmuIjjgb/jgrvjg57jg5XjgqnmlbAgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIOOCu+ODnuODleOCqemFjeWIlyDkvZzmiJDogIXvvI/miYDmnInogIUgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0MDEKK21zZ2lkICJzZW1pZCIKK21zZ3N0ciAic2VtaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgT3BlcmF0aW9uL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g44K744Oe44OV44KpIOWRveS7pO+8j+WkieabtOWbnuaVsCAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorbXNnaWQgImxhc3Qtb3AiCittc2dzdHIgIuacgOe1guaTjeS9nCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIKK21zZ2lkICJsYXN0LWNoYW5nZWQiCittc2dzdHIgIuacgOe1guWkieabtCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIOOCu+ODnuODleOCqemFjeWIlyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwMQorbXNnaWQgIm5zZW1zIgorbXNnc3RyICJuc2VtcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIG1lc3NhZ2UgbGltaXRzXG4iCittc2dzdHIgIuODoeODg+OCu+ODvOOCuOOBruWItumZkOOCkuWPluW+l+OBp+OBjeOBvuOBm+OCk+OBp+OBl+OBn1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDjg6Hjg4Pjgrvjg7zjgrjjga7liLbntIQgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHF1ZXVlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgIuOCt+OCueODhuODoOWFqOS9k+OBp+OBruacgOWkp+OCreODpeODvOaVsCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY1Cittc2dpZCAibWF4IHNpemUgb2YgbWVzc2FnZSIKK21zZ3N0ciAi44Oh44OD44K744O844K444Gu5pyA5aSn44K144Kk44K6IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2NworbXNnaWQgImRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUiCittc2dzdHIgIuOCreODpeODvOOBruaXouWumuacgOWkp+WApCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICLjg6Hjg4Pjgrvjg7zjgrjjgq3jg6Xjg7zjgYzjgqvjg7zjg43jg6vlgbTjgafoqK3lrprjgZXjgozjgabjgYTjgb7jgZvjgpNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g44Oh44OD44K744O844K444Gu54q25oWLIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDc5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBxdWV1ZXMgPSAlZFxuIgorbXNnc3RyICLlibLjgorlvZPjgabmuIjjgb/jgq3jg6Xjg7zmlbAgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGhlYWRlcnMgPSAlZFxuIgorbXNnc3RyICLkvb/nlKjmuIjjgb/jg5jjg4Pjg4AgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MgorbXNnaWQgInVzZWQgc3BhY2UiCittc2dzdHIgIuS9v+eUqOa4iOOBv+mgmOWfnyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODMKK21zZ2lkICIgYnl0ZXNcbiIKK21zZ3N0ciAi44OQ44Kk44OIXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIOODoeODg+OCu+ODvOOCuOOCreODpeODvCDkvZzmiJDogIXvvI/miYDmnInogIUgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODkgc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MDEKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibXNxaWQiCittc2dzdHIgIm1zcWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgU2VuZC9SZWN2L0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g44Oh44OD44K744O844K444Kt44Ol44O8IOmAgeS/oe+8j+WPl+S/oe+8j+WkieabtOWbnuaVsCAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgInNlbmQiCittc2dzdHIgIumAgeS/oSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJyZWN2IgorbXNnc3RyICLlj5fkv6EiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiY2hhbmdlIgorbXNnc3RyICLlpInmm7QiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDjg6Hjg4Pjgrvjg7zjgrjjgq3jg6Xjg7wgUElEIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAibHNwaWQiCittc2dzdHIgImxzcGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImxycGlkIgorbXNnc3RyICJscnBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDjg6Hjg4Pjgrvjg7zjgrjjgq3jg6Xjg7wgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDgKK21zZ2lkICJ1c2VkLWJ5dGVzIgorbXNnc3RyICLkvb/nlKjmuIjjgb/jg5DjgqTjg4jmlbAiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA5Cittc2dpZCAibWVzc2FnZXMiCittc2dzdHIgIuODoeODg+OCu+ODvOOCuCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzQgc3lzLXV0aWxzL2lwY3MuYzo2MDQgc3lzLXV0aWxzL2lwY3MuYzo2MzcKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUzNiBzeXMtdXRpbHMvbHNpcGMuYzo3MjIgc3lzLXV0aWxzL2xzaXBjLmM6ODc5CisjLCBjLWZvcm1hdAorbXNnaWQgImlkICVkIG5vdCBmb3VuZCIKK21zZ3N0ciAiSUQgJWQg44GM6KaL44Gk44GL44KK44G+44Gb44KT44Gn44GX44GfIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU3OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkIG1lbW9yeSBTZWdtZW50IHNobWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyLlhbHmnInjg6Hjg6Ljg6rjgrvjgrDjg6Hjg7Pjg4ggc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI29cdGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAi44Oi44O844OJPSUjb1x044Ki44Kv44K744K544OR44O844Of44OD44K344On44OzPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorbXNnaWQgInNpemU9IgorbXNnc3RyICLjgrXjgqTjgro9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorbXNnaWQgImJ5dGVzPSIKK21zZ3N0ciAi44OQ44Kk44OIPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAibHBpZD0ldVx0Y3BpZD0ldVx0bmF0dGNoPSVqZFxuIgorbXNnc3RyICJscGlkPSV1XHRjcGlkPSV1XHTntZDlkIjmlbA9JWpkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgImF0dF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIue1kOWQiOaXpeaZgj0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MQorIywgYy1mb3JtYXQKK21zZ2lkICJkZXRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICLliIbpm6Lml6XmmYI9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTMgc3lzLXV0aWxzL2lwY3MuYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAi5aSJ5pu05pel5pmCPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlIFF1ZXVlIG1zcWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyLjg6Hjg4Pjgrvjg7zjgrjjgq3jg6Xjg7wgbXNxaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG1vZGU9JSNvXG4iCittc2dzdHIgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHTjg6Ljg7zjg4k9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjEzCittc2dpZCAiY3NpemU9IgorbXNnc3RyICJjc2l6ZT0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjEzCittc2dpZCAiY2J5dGVzPSIKK21zZ3N0ciAiY2J5dGVzPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKK21zZ2lkICJxc2l6ZT0iCittc2dzdHIgInFzaXplPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKK21zZ2lkICJxYnl0ZXM9IgorbXNnc3RyICJxYnl0ZXM9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAi6YCB5L+h5pel5pmCPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgInJjdl90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIuWPl+S/oeaXpeaZgj0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIEFycmF5IHNlbWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyLjgrvjg57jg5XjgqnphY3liJcgc2VtaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAi44Oi44O844OJPSUjbywg44Ki44Kv44K744K544OR44O844Of44OD44K344On44OzPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0NworIywgYy1mb3JtYXQKK21zZ2lkICJuc2VtcyA9ICVqdVxuIgorbXNnc3RyICJuc2VtcyA9ICVqdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJvdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgIm90aW1lID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICJjdGltZSA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAic2VtbnVtIgorbXNnc3RyICJzZW1udW0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAidmFsdWUiCittc2dzdHIgIuWApCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJuY291bnQiCittc2dzdHIgIm5jb3VudCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJ6Y291bnQiCittc2dzdHIgInpjb3VudCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJwaWQiCittc2dzdHIgInBpZCIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjMwIHN5cy11dGlscy9pcGN1dGlscy5jOjIzNCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzgKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQiCittc2dzdHIgIiVzIOOBq+WkseaVl+OBl+OBvuOBl+OBn+OAgiIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChieXRlcykgPSAiCittc2dzdHIgIiVzICjjg5DjgqTjg4gpID0gIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKGtieXRlcykgPSAiCittc2dzdHIgIiVzICjjgq3jg63jg5DjgqTjg4gpID0gIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxODAKK21zZ2lkICJpbnZhbGlkIGlmbGFnIgorbXNnc3RyICJpZmxhZyDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxsZGlzYz4gPGRldmljZT5cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIDzlm57nt5rliLblvqE+IDzjg4fjg5DjgqTjgrk+XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE5OQorbXNnaWQgIkF0dGFjaCBhIGxpbmUgZGlzY2lwbGluZSB0byBhIHNlcmlhbCBsaW5lLlxuIgorbXNnc3RyICLjgrfjg6rjgqLjg6vjg53jg7zjg4jjgavlm57nt5rliLblvqHjgpLlibLjgorlvZPjgabjgb7jgZnjgIJcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAyCittc2dpZCAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgbWVzc2FnZXMgdG8gc3RkZXJyXG4iCittc2dzdHIgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICDlhpfplbfjgarjg6Hjg4Pjgrvjg7zjgrjjgpLmqJnmupbjgqjjg6njg7zlh7rlipvjgavlh7rlipvjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAzCittc2dpZCAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIHNldCBzZXJpYWwgbGluZSBzcGVlZFxuIgorbXNnc3RyICIgLXMsIC0tc3BlZWQgPOWApD4gICAgICAgIOOCt+ODquOCouODq+ODneODvOODiOOBruWbnue3mumAn+W6puOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDQKK21zZ2lkICIgLWMsIC0taW50cm8tY29tbWFuZCA8c3RyaW5nPiBpbnRybyBzZW50IGJlZm9yZSBsZGF0dGFjaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNQorbXNnaWQgIiAtcCwgLS1wYXVzZSA8c2Vjb25kcz4gICBwYXVzZSBiZXR3ZWVuIGludHJvIGFuZCBsZGF0dGFjaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNgorbXNnaWQgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gNyBiaXRzXG4iCittc2dzdHIgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICDjgq3jg6Pjg6njgq/jgr/jgrXjgqTjgrrjgpIgNyDjg5Pjg4Pjg4jjgavoqK3lrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA3Cittc2dpZCAiIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA4IGJpdHNcbiIKK21zZ3N0ciAiIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgIOOCreODo+ODqeOCr+OCv+OCteOCpOOCuuOCkiA4IOODk+ODg+ODiOOBq+ioreWumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDgKK21zZ2lkICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgc2V0IHBhcml0eSB0byBub25lXG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICDjg5Hjg6rjg4bjgqPliLblvqHjgpIgXCLjgarjgZdcIiDjgavoqK3lrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA5Cittc2dpZCAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIHNldCBwYXJpdHkgdG8gZXZlblxuIgorbXNnc3RyICIgLWUsIC0tZXZlbnBhcml0eSAgICAgICAg44OR44Oq44OG44Kj5Yi25b6h44KSIFwi5YG25pWwXCIg44Gr6Kit5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMAorbXNnaWQgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICBzZXQgcGFyaXR5IHRvIG9kZFxuIgorbXNnc3RyICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAg44OR44Oq44OG44Kj5Yi25b6h44KSIFwi5aWH5pWwXCIg44Gr6Kit5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMQorbXNnaWQgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBzZXQgc3RvcCBiaXRzIHRvIG9uZVxuIgorbXNnc3RyICIgLTEsIC0tb25lc3RvcGJpdCAgICAgICAg44K544OI44OD44OX44OT44OD44OI44KSIDEg44Gr6Kit5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMgorbXNnaWQgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBzZXQgc3RvcCBiaXRzIHRvIHR3b1xuIgorbXNnc3RyICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAg44K544OI44OD44OX44OT44OD44OI44KSIDIg44Gr6Kit5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMworbXNnaWQgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBzZXQgaW5wdXQgbW9kZSBmbGFnXG4iCittc2dzdHIgIiAtaSwgLS1pZmxhZyBbLV0844OV44Op44KwPiDlhaXlipvjg6Ljg7zjg4njg5Xjg6njgrDjgpLoqK3lrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE5Cittc2dpZCAiIgorIlxuIgorIktub3duIDxsZGlzYz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLml6Lnn6Xjga4gPOWbnue3muWItuW+oT4g5ZCN56ewOlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMjMKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGlmbGFnPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIuaXouefpeOBriA844OV44Op44KwPiDlkI3np7A6XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0MAorbXNnaWQgImludmFsaWQgc3BlZWQgYXJndW1lbnQiCittc2dzdHIgIumAn+W6puW8leaVsOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcGF1c2UgYXJndW1lbnQiCittc2dzdHIgIlBhdXNlIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNTkKK21zZ2lkICJpbnZhbGlkIG9wdGlvbiIKK21zZ3N0ciAi44Kq44OX44K344On44Oz6Kit5a6a44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNzAKK21zZ2lkICJpbnZhbGlkIGxpbmUgZGlzY2lwbGluZSBhcmd1bWVudCIKK21zZ3N0ciAi5Zue57ea5Yi25b6h44Gu5byV5pWw44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgc2VyaWFsIGxpbmUiCittc2dzdHIgIiVzIOOBr+OCt+ODquOCouODq+Wbnue3muOBp+OBr+OBguOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzk3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgIiVzIOOBruerr+acq+WxnuaAp+OCkuWPluW+l+OBp+OBjeOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWVkICVkIHVuc3VwcG9ydGVkIgorbXNnc3RyICLpgJ/luqYgJWQg44Gv44K144Od44O844OI44GV44KM44Gm44GE44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAiJXMg44Gu56uv5pyr5bGe5oCn44KS6Kit5a6a44Gn44GN44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSBpbnRybyBjb21tYW5kIHRvICVzIgorbXNnc3RyICIlcyDjgavmm7jjgY3ovrzjgoDjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ2OQorbXNnaWQgImNhbm5vdCBzZXQgbGluZSBkaXNjaXBsaW5lIgorbXNnc3RyICLlm57nt5rliLblvqHjgpLoqK3lrprjgafjgY3jgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ3OQorbXNnaWQgImNhbm5vdCBkYWVtb25pemUiCittc2dzdHIgIuODh+ODvOODouODs+WMluOBp+OBjeOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2OAorbXNnaWQgImF1dG9jbGVhciBmbGFnIHNldCIKK21zZ3N0ciAi6Ieq5YuV44Kv44Oq44Ki44OV44Op44Kw44K744OD44OIIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY5Cittc2dpZCAiZGV2aWNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAi5a++6LGh44OH44OQ44Kk44K544Gu6KOP5YG044Gr44GC44KL44OV44Kh44Kk44OrIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwCittc2dpZCAiYmFja2luZyBmaWxlIGlub2RlIG51bWJlciIKK21zZ3N0ciAi6KOP5YG044Gr44GC44KL44OV44Kh44Kk44Or44GuIGlub2RlIOeVquWPtyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MQorbXNnaWQgImJhY2tpbmcgZmlsZSBtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICLoo4/lgbTjgavjgYLjgovjg5XjgqHjgqTjg6vjga7jg6Hjgrjjg6Pjg7w644Oe44Kk44OK44O844OH44OQ44Kk44K555Wq5Y+3IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcyCittc2dpZCAibG9vcCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAi44Or44O844OX44OQ44OD44Kv44OH44OQ44Kk44K55ZCNIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjczCittc2dpZCAib2Zmc2V0IGZyb20gdGhlIGJlZ2lubmluZyIKK21zZ3N0ciAi5aeL54K544GL44KJ44Gu44Kq44OV44K744OD44OI5L2N572uIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc0Cittc2dpZCAicGFydHNjYW4gZmxhZyBzZXQiCittc2dzdHIgIuODkeODvOODiOOCueOCreODo+ODs+ODleODqeOCsOOCu+ODg+ODiCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NgorbXNnaWQgInNpemUgbGltaXQgb2YgdGhlIGZpbGUgaW4gYnl0ZXMiCittc2dzdHIgIuODleOCoeOCpOODq+OBruOCteOCpOOCuuWItumZkCAo44OQ44Kk44OIKSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NworbXNnaWQgImxvb3AgZGV2aWNlIG1ham9yOm1pbm9yIG51bWJlciIKK21zZ3N0ciAi44Or44O844OX44OQ44OD44Kv44OH44OQ44Kk44K544Gu44Oh44K444Oj44O8OuODnuOCpOODiuODvOeVquWPtyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3OAorbXNnaWQgImFjY2VzcyBiYWNraW5nIGZpbGUgd2l0aCBkaXJlY3QtaW8iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxMzUgc3lzLXV0aWxzL2xvc2V0dXAuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvZmZzZXQgJWp1IgorbXNnc3RyICIsIOOCquODleOCu+ODg+ODiCAlanUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM4IHN5cy11dGlscy9sb3NldHVwLmM6MTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgc2l6ZWxpbWl0ICVqdSIKK21zZ3N0ciAiLCDjgrXjgqTjgrrliLbpmZAgJWp1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1OAorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVuY3J5cHRpb24gJXMgKHR5cGUgJXUpIgorbXNnc3RyICIsIOaal+WPt+WMliAlcyAo44K/44Kk44OXICV1KSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRldGFjaCBmYWlsZWQiCittc2dzdHIgIiVzOiDliIfjgorpm6LjgZfjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzI5IHN5cy11dGlscy9sc2NwdS5jOjE3MzUgc3lzLXV0aWxzL3BybGltaXQuYzoyMjkKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxNzYgc3lzLXV0aWxzL3dkY3RsLmM6MjE1IHN5cy11dGlscy96cmFtY3RsLmM6NDA1Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGxpbmUiCittc2dzdHIgIuWHuuWKm+ihjOOBruWIneacn+WMluOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSBbPGxvb3BkZXY+XVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxsb29wZGV2PiA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvjgqrjg5fjgrfjg6fjg7NdIFs844Or44O844OX44OQ44OD44Kv44OH44OQ44Kk44K5Pl1cbiIKKyIgJTEkcyBb44Kq44OX44K344On44OzXSAtZiB8IDzjg6vjg7zjg5fjg5Djg4Pjgq/jg4fjg5DjgqTjgrk+IDzjg5XjgqHjgqTjg6s+XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzg2Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIGxvb3AgZGV2aWNlcy5cbiIKK21zZ3N0ciAi44Or44O844OX44OQ44OD44Kv44OH44OQ44Kk44K544Gu6Kit5a6a44Go5Yi25b6h44KS6KGM44GE44G+44GZ44CCXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzg5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICDkvb/nlKjjgZfjgabjgYTjgovjgZnjgbnjgabjga7jg4fjg5DjgqTjgrnjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTAKK21zZ2lkICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2Pi4uLiAgICAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKK21zZ3N0ciAiIC1kLCAtLWRldGFjaCA844Or44O844OX44OQ44OD44Kv44OH44OQ44Kk44K5Pi4uLiAgICAgIDHjgaTku6XkuIrjga7jg4fjg5DjgqTjgrnjgpLliIfjgorpm6LjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTEKK21zZ2lkICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAg5L2/55So44GX44Gm44GE44KL44GZ44G544Gm44Gu44OH44OQ44Kk44K544KS5YiH44KK6Zui44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkyCittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorbXNnc3RyICIgLWYsIC0tZmluZCAgICAgICAgICAgICDkvb/jgaPjgabjgYTjgarjgYTmnIDliJ3jga7jg4fjg5DjgqTjgrnjgpLmpJzntKLjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTMKK21zZ2lkICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIC1jLCAtLXNldC1jYXBhY2l0eSA844Or44O844OX44OQ44OD44Kv44OH44OQ44Kk44K5PiAgIOODh+ODkOOCpOOCueOBruOCteOCpOOCuuOCkuWkieabtOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5NAorbXNnaWQgIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorIiAtaiwgLS1hc3NvY2lhdGVkIDzjg5XjgqHjgqTjg6s+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgPOODleOCoeOCpOODqz7jgavplqLpgKPjgZnjgovlhajjg4fjg5DjgqTjgrnkuIDopqfjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTUKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLW5vb3ZlcmxhcCAgICAgICAgICAgICAgIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0IGJldHdlZW4gZGV2aWNlc1xuIgorbXNnc3RyICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICDkvb/jgaPjgabjgYTjgarjgYTjg4fjg5DjgqTjgrnjgpLmpJzntKLjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDznlarlj7c+ICAgIOODleOCoeOCpOODq+WGheOBriA855Wq5Y+3PiDjgafnpLrjgZXjgozjgZ/jgqrjg5Xjgrvjg4Pjg4jkvY3nva7jgYvjgonlp4vjgoHjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDAKK21zZ2lkICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZGV2aWNlIGlzIGxpbWl0ZWQgdG8gPG51bT4gYnl0ZXMgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiICAgICAtLXNpemVsaW1pdCA85pWw5YCkPiAgICAgICAg44OH44OQ44Kk44K55LiK44Gu44OV44Kh44Kk44Or44Gu44K144Kk44K644KSIDzmlbDlgKQ+IOODkOOCpOODiOOBvuOBp+OBq+WItumZkOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMQorbXNnaWQgIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICBjcmVhdGUgYSBwYXJ0aXRpb25lZCBsb29wIGRldmljZVxuIgorbXNnc3RyICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAg44OR44O844OG44Kj44K344On44Oz5YyW44GV44KM44Gf44Or44O844OX44OR44OD44Kv44OH44OQ44Kk44K544KS5L2c5oiQ44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAyCittc2dpZCAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgICAgIHNldCB1cCBhIHJlYWQtb25seSBsb29wIGRldmljZVxuIgorbXNnc3RyICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAg6Kqt44G/6L6844G/5bCC55So44Gu44Or44O844OX44OQ44OD44Kv44OH44OQ44Kk44K544KS6Kit5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAzCittc2dpZCAiICAgICAtLWRpcmVjdC1pb1s9PG9ufG9mZj5dICAgIG9wZW4gYmFja2luZyBmaWxlIHdpdGggT19ESVJFQ1RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNAorbXNnaWQgIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSBhZnRlciBzZXR1cCAod2l0aCAtZilcbiIKK21zZ3N0ciAiICAgICAtLXNob3cgICAgICAgICAgICAg6Kit5a6a5b6M44Gr44OH44OQ44Kk44K55ZCN44KS6KGo56S644GX44G+44GZICgtZiDjgajlhbHjgavkvb/nlKjjgZfjgb7jgZkpXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICDlhpfplbfjg6Ljg7zjg4njgpLoqK3lrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDkKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGxpc3QgaW5mbyBhYm91dCBhbGwgb3Igc3BlY2lmaWVkIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICDlhajjgabjgIHjgoLjgZfjgY/jga/mjIflrprjgZfjgZ/jg4fjg5DjgqTjgrnjga7mg4XloLHjgpLkuIDopqfjgafooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTAKK21zZ2lkICIgLU8sIC0tb3V0cHV0IDxjb2xzPiAgICAgICAgICAgc3BlY2lmeSBjb2x1bW5zIHRvIG91dHB1dCBmb3IgLS1saXN0XG4iCittc2dzdHIgIiAtTywgLS1vdXRwdXQgPGNvbHM+ICAgIC0tbGlzdCDjgafooajnpLrjgZnjgovliJfjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTEKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tbGlzdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgLS1saXN0IOOBruWHuuWKm+OBq+ODmOODg+ODgOOCkuihqOekuuOBl+OBvuOBm+OCk1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMgorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1c2UgcmF3IC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgIC0tbGlzdCDjga7ntZDmnpzjgpLnibnjgavliqDlt6XjgpLooYzjgo/jgZrjgavlh7rlipvjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTMKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgIHVzZSBKU09OIC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgIC0tbGlzdCDjga7ntZDmnpzjgpLnibnjgavliqDlt6XjgpLooYzjgo/jgZrjgavlh7rlipvjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTkKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIC0tbGlzdCBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisiXG4iCisi5Yip55So5Y+v6IO944GqIC0tbGlzdCDjga7liJc6XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGlzIHNtYWxsZXIgdGhhbiA1MTIgYnl0ZXM7IHRoZSBsb29wIGRldmljZSBtYXkgYmUgdXNlbGVzcyBvciBpbnZpc2libGUgZm9yIHN5c3RlbSB0b29scy4iCittc2dzdHIgIiVzOiDorablkYo6IOODleOCoeOCpOODq+OBjCA1MTIg44OQ44Kk44OI44KI44KK44KC5bCP44GV44GE44K144Kk44K644Gn44GZ44CC44Or44O844OX44OQ44OD44Kv44OH44OQ44Kk44K544Gv5Yip55So44Gn44GN44Gq44GP44Gq44KL44GL44CB44KC44GX44GP44Gv44K344K544OG44Og44OE44O844Or44GL44KJ6KaL44GI44Gq44GP44Gq44Gj44Gm44GX44G+44GG5aC05ZCI44GM44GC44KK44G+44GZ44CCIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBkb2VzIG5vdCBmaXQgaW50byBhIDUxMi1ieXRlIHNlY3RvcjsgdGhlIGVuZCBvZiB0aGUgZmlsZSB3aWxsIGJlIGlnbm9yZWQuIgorbXNnc3RyICIlczog6K2m5ZGKOiDjg5XjgqHjgqTjg6vjga8gNTEyIOODkOOCpOODiOOCu+OCr+OCv+OBq+WQiOiHtOOBl+OBquOBhOOBn+OCgeOAgeODleOCoeOCpOODq+OBrue1guOCj+OCiuOBruOBu+OBhuOBjOeEoeimluOBleOCjOOBvuOBmeOAgiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NjQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MTYgc3lzLXV0aWxzL21vdW50LmM6NDU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlcyDjga8gbHAg44OH44OQ44Kk44K544Gn44Gv44GC44KK44G+44Gb44KT44CCIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgcmVhZC1vbmx5IGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgZW5jcnlwdGVkIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZS11c2UgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiDjg6vjg7zjg5fjg5Djg4Pjgq/jg4fjg5DjgqTjgrnjga7oqK3lrprjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDk0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbnNwZWN0IGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAiJXM6IOODq+ODvOODl+ODkOODg+OCr+ODh+ODkOOCpOOCueOBruioreWumuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY2hlY2sgZm9yIGNvbmZsaWN0aW5nIGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAiJXM6IOODq+ODvOODl+ODkOODg+OCr+ODh+ODkOOCpOOCueOBruioreWumuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1Mjkgc3lzLXV0aWxzL2xvc2V0dXAuYzo4MjYKK21zZ2lkICJjYW5ub3QgZmluZCBhbiB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgIuacquS9v+eUqOOBruODq+ODvOODl+ODkOODg+OCr+ODh+ODkOOCpOOCueOBjOimi+OBpOOBi+OCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgYmFja2luZyBmaWxlIgorbXNnc3RyICIlczog6KOP5YG044Gr6Kit5a6a44GZ44KL44OV44Kh44Kk44Or44KS5L2/55So44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjYzMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjY0MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1MworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3Njcgc3lzLXV0aWxzL2xvc2V0dXAuYzo4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgZGV2aWNlIgorbXNnc3RyICIlczog44OH44OQ44Kk44K544Gu5L2/55So44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2NAorbXNnaWQgIm5vIGxvb3AgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAi44Or44O844OX44OQ44OD44Kv44OH44OQ44Kk44K544GM5oyH5a6a44GV44KM44Gm44GE44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3MgorbXNnaWQgIm5vIGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICLjg5XjgqHjgqTjg6vjgYzmjIflrprjgZXjgozjgabjgYTjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzc5CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBvcHRpb25zICVzIGFyZSBhbGxvd2VkIGR1cmluZyBsb29wIGRldmljZSBzZXR1cCBvbmx5IgorbXNnc3RyICLjgqrjg5fjgrfjg6fjg7MgJXMg44Gv44Or44O844OX44OQ44OD44Kv44OH44OQ44Kk44K544Gu6Kit5a6a5pmC44Gr44Gu44G/5pyJ5Yq544Gn44GZIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4NAorbXNnaWQgInRoZSBvcHRpb24gLS1vZmZzZXQgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICLjgqrjg5fjgrfjg6fjg7MgLS1vZmZzZXQg44Gv44CB44GT44Gu5Yem55CG44Gn44Gv5Yip55So44Gn44GN44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGNhcGFjaXR5IGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN0YXQg44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBkaXJlY3QgaW8gZmFpbGVkIgorbXNnc3RyICIlczog44OH44Kj44Os44Kv44OI44Oq44Gu5aSJ5pu044Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMDgKK21zZ2lkICJub25lIgorbXNnc3RyICLjgarjgZciCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjEwOQorbXNnaWQgInBhcmEiCittc2dzdHIgIua6luS7ruaDs+WMliIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTEwCittc2dpZCAiZnVsbCIKK21zZ3N0ciAi5a6M5YWo5Luu5oOz5YyWIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMTEKK21zZ2lkICJjb250YWluZXIiCittc2dzdHIgIuOCs+ODs+ODhuODiiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTczCittc2dpZCAiaG9yaXpvbnRhbCIKK21zZ3N0ciAi5rC05bmzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQKK21zZ2lkICJ2ZXJ0aWNhbCIKK21zZ3N0ciAi5Z6C55u0IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDYKK21zZ2lkICJsb2dpY2FsIENQVSBudW1iZXIiCittc2dzdHIgIuirlueQhiBDUFUg55Wq5Y+3IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDcKK21zZ2lkICJsb2dpY2FsIGNvcmUgbnVtYmVyIgorbXNnc3RyICLoq5bnkIbjgrPjgqLnlarlj7ciCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0OAorbXNnaWQgImxvZ2ljYWwgc29ja2V0IG51bWJlciIKK21zZ3N0ciAi6KuW55CG44K944Kx44OD44OI55Wq5Y+3IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDkKK21zZ2lkICJsb2dpY2FsIE5VTUEgbm9kZSBudW1iZXIiCittc2dzdHIgIuirlueQhiBOVU1BIOODjuODvOODieeVquWPtyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUwCittc2dpZCAibG9naWNhbCBib29rIG51bWJlciIKK21zZ3N0ciAi6KuW55CG44OW44OD44Kv55Wq5Y+3IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTEKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBkcmF3ZXIgbnVtYmVyIgorbXNnc3RyICLoq5bnkIbjgrPjgqLnlarlj7ciCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MgorbXNnaWQgInNob3dzIGhvdyBjYWNoZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIENQVXMiCittc2dzdHIgIkNQVSDplpPjgafjganjga7jgojjgYbjgavjgq3jg6Pjg4Pjgrfjg6XjgYzlhbHmnInjgZXjgozjgovjgYvjga7ooajnpLoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MworbXNnaWQgIkNQVSBkaXNwYXRjaGluZyBtb2RlIG9uIHZpcnR1YWwgaGFyZHdhcmUiCittc2dzdHIgIuS7ruaDs+ODj+ODvOODieOCpuOCp+OCouS4iuOBp+OBriBDUFUg44OH44Kj44K544OR44OD44OB44Oi44O844OJIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTQKK21zZ2lkICJwaHlzaWNhbCBhZGRyZXNzIG9mIGEgQ1BVIgorbXNnc3RyICJDUFUg44Gu54mp55CG44Ki44OJ44Os44K5IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTUKK21zZ2lkICJzaG93cyBpZiB0aGUgaHlwZXJ2aXNvciBoYXMgYWxsb2NhdGVkIHRoZSBDUFUiCittc2dzdHIgIuODj+OCpOODkeODvOODkOOCpOOCtuOBjCBDUFUg44KS5Ymy44KK5b2T44Gm44Gf44GL44Gp44GG44GL44Gu6KGo56S6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTYKK21zZ2lkICJzaG93cyBpZiBMaW51eCBjdXJyZW50bHkgbWFrZXMgdXNlIG9mIHRoZSBDUFUiCittc2dzdHIgIkxpbnV4IOOBjCBDUFUg44KS5Yip55So44GX44Gm44GE44KL44GL44Gp44GG44GL44Gu6KGo56S6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTcKK21zZ2lkICJzaG93cyB0aGUgbWF4aW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAiQ1BVIOOBruacgOWkpyBNSHog44KS6KGo56S644GX44G+44GZIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTgKK21zZ2lkICJzaG93cyB0aGUgbWluaW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAiQ1BVIOOBruacgOWwjyBNSHog44KS6KGo56S644GX44G+44GZIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo1NTAKK21zZ2lkICJlcnJvcjogdW5hbWUgZmFpbGVkIgorbXNnc3RyICLjgqjjg6njg7w6IHVuYW1lIOOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZXRlcm1pbmUgbnVtYmVyIG9mIENQVXM6ICVzIgorbXNnc3RyICJDUFUg55Wq5Y+344Gu5Yik5Yil44Gr5aSx5pWX44GX44G+44GX44GfOiAlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6ODkxCittc2dpZCAiZXJyb3I6IGNhbiBub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICLjgqjjg6njg7w6IOOCt+OCsOODiuODq+ODj+ODs+ODieODqeOCkuioreWumuOBp+OBjeOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6ODk2Cittc2dpZCAiZXJyb3I6IGNhbiBub3QgcmVzdG9yZSBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAi44Ko44Op44O8OiDjgrfjgrDjg4rjg6vjg4/jg7Pjg4njg6njgpLlvqnlhYPjgafjgY3jgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk1NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBmcm9tOiAlcyIKK21zZ3N0ciAiJXMg44GL44KJ44Gu6Kqt44G/6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDEwCittc2dpZCAiRmFpbGVkIHRvIGV4dHJhY3QgdGhlIG5vZGUgbnVtYmVyIgorbXNnc3RyICLjg47jg7zjg4nnlarlj7fjga7mir3lh7rjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1Mzcgc3lzLXV0aWxzL2xzY3B1LmM6MTU0NworbXNnaWQgIlkiCittc2dzdHIgIlkiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1Mzcgc3lzLXV0aWxzL2xzY3B1LmM6MTU0NworbXNnaWQgIk4iCittc2dzdHIgIk4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyXG4iCisiIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRFxuIgorIiMgc3RhcnRpbmcgZnJvbSB6ZXJvLlxuIgorbXNnc3RyICIiCisiIyDkuIvoqJjjga/jgIHku5bjga7jg5fjg63jgrDjg6njg6DjgavmuKHjgZfjgablh6bnkIbjgZnjgovjgZPjgajjga7jgafjgY3jgovlvaLlvI/jgafjga7lh7rlipvjgafjgZnjgIJcbiIKKyIjIOWQhOihjOOBruWGkumgreOBq+OBr+OAgTDjgYvjgonlp4vjgb7jgovjg6bjg4vjg7zjgq/jgarnlarlj7fjgYzmm7jjgYvjgozjgabjgYTjgb7jgZnjgIJcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc4MQorbXNnaWQgIkFyY2hpdGVjdHVyZToiCittc2dzdHIgIuOCouODvOOCreODhuOCr+ODgeODozoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3OTUKK21zZ2lkICJDUFUgb3AtbW9kZShzKToiCittc2dzdHIgIkNQVSDmk43kvZzjg6Ljg7zjg4k6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzk4IHN5cy11dGlscy9sc2NwdS5jOjE4MDAKK21zZ2lkICJCeXRlIE9yZGVyOiIKK21zZ3N0ciAi44OQ44Kk44OI6aCG5bqPOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwMgorbXNnaWQgIkNQVShzKToiCittc2dzdHIgIkNQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDUKK21zZ2lkICJPbi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAi44Kq44Oz44Op44Kk44Oz44Gr44Gq44Gj44Gm44GE44KLIENQVSDjga7jg57jgrnjgq86IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA2Cittc2dpZCAiT24tbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIuOCquODs+ODqeOCpOODs+OBq+OBquOBo+OBpuOBhOOCiyBDUFUg44Gu44Oq44K544OIOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNQorbXNnaWQgIk9mZi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAi44Kq44OV44Op44Kk44Oz44Gr44Gq44Gj44Gm44GE44KLIENQVSDjga7jg57jgrnjgq86IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI2Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICLjgqrjg5Xjg6njgqTjg7PjgavjgarjgaPjgabjgYTjgosgQ1BVIOOBruODquOCueODiDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjIKK21zZ2lkICJUaHJlYWQocykgcGVyIGNvcmU6IgorbXNnc3RyICLjgrPjgqLjgYLjgZ/jgorjga7jgrnjg6zjg4Pjg4nmlbA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODY0Cittc2dpZCAiQ29yZShzKSBwZXIgc29ja2V0OiIKK21zZ3N0ciAi44K944Kx44OD44OI44GC44Gf44KK44Gu44Kz44Ki5pWwOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2NworbXNnaWQgIlNvY2tldChzKSBwZXIgYm9vazoiCittc2dzdHIgIuODluODg+OCr+OBguOBn+OCiuOBruOCveOCseODg+ODiOaVsDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzAKK21zZ2lkICJCb29rKHMpIHBlciBkcmF3ZXI6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzIKK21zZ2lkICJEcmF3ZXIocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzQKK21zZ2lkICJCb29rKHMpOiIKK21zZ3N0ciAi44OW44OD44Kv5pWwOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3NworbXNnaWQgIlNvY2tldChzKToiCittc2dzdHIgIuOCveOCseODg+ODiOaVsDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODEKK21zZ2lkICJOVU1BIG5vZGUocyk6IgorbXNnc3RyICJOVU1BIOODjuODvOODieaVsDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODMKK21zZ2lkICJWZW5kb3IgSUQ6IgorbXNnc3RyICLjg5njg7Pjg4Djg7wgSUQ6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg1CisjLCBmdXp6eQorbXNnaWQgIk1hY2hpbmUgdHlwZToiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OCv+OCpOODlzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODcKK21zZ2lkICJDUFUgZmFtaWx5OiIKK21zZ3N0ciAiQ1BVIOODleOCoeODn+ODquODvDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODkKK21zZ2lkICJNb2RlbDoiCittc2dzdHIgIuODouODh+ODqzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTEKK21zZ2lkICJNb2RlbCBuYW1lOiIKK21zZ3N0ciAi44Oi44OH44Or5ZCNOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5MworbXNnaWQgIlN0ZXBwaW5nOiIKK21zZ3N0ciAi44K544OG44OD44OU44Oz44KwOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5NQorbXNnaWQgIkNQVSBNSHo6IgorbXNnc3RyICJDUFUgTUh6OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5NworIywgZnV6enkKK21zZ2lkICJDUFUgZHluYW1pYyBNSHo6IgorbXNnc3RyICJDUFUg5pyA5bCPIE1IejoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTkKKyMsIGZ1enp5Cittc2dpZCAiQ1BVIHN0YXRpYyBNSHo6IgorbXNnc3RyICJDUFUg5pyA5aSnIE1IejoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDEKK21zZ2lkICJDUFUgbWF4IE1IejoiCittc2dzdHIgIkNQVSDmnIDlpKcgTUh6OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMworbXNnaWQgIkNQVSBtaW4gTUh6OiIKK21zZ3N0ciAiQ1BVIOacgOWwjyBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA1Cittc2dpZCAiQm9nb01JUFM6IgorbXNnc3RyICJCb2dvTUlQUzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDggc3lzLXV0aWxzL2xzY3B1LmM6MTkxMAorbXNnaWQgIlZpcnR1YWxpemF0aW9uOiIKK21zZ3N0ciAi5Luu5oOz5YyWOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMworbXNnaWQgIkh5cGVydmlzb3I6IgorbXNnc3RyICLjg4/jgqTjg5Hjg7zjg5DjgqTjgrY6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE1Cittc2dpZCAiSHlwZXJ2aXNvciB2ZW5kb3I6IgorbXNnc3RyICLjg4/jgqTjg5Hjg7zjg5DjgqTjgrbjga7jg5njg7Pjg4Djg7w6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE2Cittc2dpZCAiVmlydHVhbGl6YXRpb24gdHlwZToiCittc2dzdHIgIuS7ruaDs+WMluOCv+OCpOODlzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTkKK21zZ2lkICJEaXNwYXRjaGluZyBtb2RlOiIKK21zZ3N0ciAi44OH44Kj44K544OR44OD44OB44Oi44O844OJOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkyNSBzeXMtdXRpbHMvbHNjcHUuYzoxOTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNhY2hlOiIKK21zZ3N0ciAiJXMg44Kt44Oj44OD44K344OlOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0MQorIywgYy1mb3JtYXQKK21zZ2lkICJOVU1BIG5vZGUlZCBDUFUocyk6IgorbXNnc3RyICJOVU1BIOODjuODvOODiSAlZCBDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQ2Cittc2dpZCAiRmxhZ3M6IgorbXNnc3RyICLjg5Xjg6njgrA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQ5CisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIHNvY2tldHM6IgorbXNnc3RyICLniannkIbjgrfjg6rjg7Pjg4DmlbAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NTAKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY2hpcHM6IgorbXNnc3RyICLniannkIbjgrfjg6rjg7Pjg4DmlbAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NTEKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY29yZXMvY2hpcDoiCittc2dzdHIgIueJqeeQhuOCu+OCr+OCv+OCteOCpOOCuiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2MworbXNnaWQgIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIENQVSBhcmNoaXRlY3R1cmUuXG4iCittc2dzdHIgIkNQVeOCouODvOOCreODhuOCr+ODgeODo+OBq+OBpOOBhOOBpuOBruaDheWgseOCkuihqOekuuOBl+OBvuOBmeOAglxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY2Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IGJvdGggb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAg44Kq44Oz44Op44Kk44Oz44GuIENQVSDjgajjgqrjg5Xjg6njgqTjg7Pjga4gQ1BVIOOCkuS4oeaWueihqOekuuOBl+OBvuOBmSAoLWUg44KS5oyH5a6a44GX44Gf5aC05ZCI44Gu5pei5a6a5YCkKVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY3Cittc2dpZCAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIHByaW50IG9ubGluZSBDUFVzIG9ubHkgKGRlZmF1bHQgZm9yIC1wKVxuIgorbXNnc3RyICIgLWIsIC0tb25saW5lICAgICAgICAgICAg44Kq44Oz44Op44Kk44Oz44GuIENQVSDjga7jgb/jgpLooajnpLrjgZfjgb7jgZkgKC1wIOOCkuaMh+WumuOBl+OBn+WgtOWQiOOBruaXouWumuWApClcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2OAorbXNnaWQgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICBwcmludCBvZmZsaW5lIENQVXMgb25seVxuIgorbXNnc3RyICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAg44Kq44OV44Op44Kk44Oz44GuIENQVSDjga7jgb/jgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2OQorbXNnaWQgIiAtZSwgLS1leHRlbmRlZFs9PGxpc3Q+XSBwcmludCBvdXQgYW4gZXh0ZW5kZWQgcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtZSwgLS1leHRlbmRlZFs9POODquOCueODiD5dIOiqreOBv+OChOOBmeOBhOaLoeW8teW9ouW8j+OBp+ihqOekuuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcwCittc2dpZCAiIC1wLCAtLXBhcnNlWz08bGlzdD5dICAgIHByaW50IG91dCBhIHBhcnNhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLXAsIC0tcGFyc2VbPTxsaXN0Pl0gICAg44OX44Ot44Kw44Op44Og44Gq44Gp44Gn5Yem55CG44GX44KE44GZ44GE5b2i5byP44Gn6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzEKK21zZ2lkICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAgdXNlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIOaMh+WumuOBl+OBn+ODh+OCo+ODrOOCr+ODiOODquOCkuOCt+OCueODhuODoOODq+ODvOODiOOBqOOBv+OBquOBmeOCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcyCittc2dpZCAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHByaW50IGhleGFkZWNpbWFsIG1hc2tzIHJhdGhlciB0aGFuIGxpc3RzIG9mIENQVXNcbiIKK21zZ3N0ciAiIC14LCAtLWhleCAgICAgICAgICAgICAgIENQVSDjgpLjg6rjgrnjg4jjgafjga/jgarjgY8gMTYg6YCy5pWw44Gu44Oe44K544Kv5b2i5byP44Gn6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzMKKyMsIGZ1enp5Cittc2dpZCAiIC15LCAtLXBoeXNpY2FsICAgICAgICAgIHByaW50IHBoeXNpY2FsIGluc3RlYWQgb2YgbG9naWNhbCBJRHNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgIOOBmeOBueOBpuOBruODh+ODkOOCpOOCueOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvcHRpb25zIC0tYWxsLCAtLW9ubGluZSBhbmQgLS1vZmZsaW5lIG1heSBvbmx5IGJlIHVzZWQgd2l0aCBvcHRpb25zIC0tZXh0ZW5kZWQgb3IgLS1wYXJzZS5cbiIKK21zZ3N0ciAiJXM6IC0tYWxsLCAtLW9ubGluZSwgLS1vZmZsaW5lIOOBruWQhOODkeODqeODoeODvOOCv+OBr+OAgSAtLWV4dGVuZGVkIOOBiyAtLXBhcnNlIOOBruOCquODl+OCt+ODp+ODs+OBqOWFseOBq+S9v+eUqOOBl+OBvuOBmeOAglxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNDkKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2Uga2V5IgorbXNnc3RyICLos4fmupDlkI0iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorbXNnaWQgIktleSIKK21zZ3N0ciAi44Kt44O8IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgSUQiCittc2dzdHIgIuizh+a6kElEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJJRCIKK21zZ3N0ciAiSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyJ3MgdXNlcm5hbWUgb3IgVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyIgorbXNnc3RyICLmiYDmnInogIUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MgorIywgZnV6enkKK21zZ2lkICJQZXJtaXNzaW9ucyIKK21zZ3N0ciAi44OQ44O844K444On44OzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTMKK21zZ2lkICJDcmVhdG9yIFVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTQKK21zZ2lkICJDcmVhdG9yIHVzZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU1Cittc2dpZCAiQ3JlYXRvciBHSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU2CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgZ3JvdXAiCittc2dzdHIgIuODl+ODqeOCpOODnuODquOCsOODq+ODvOODlyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3Cittc2dpZCAiVXNlciBJRCIKK21zZ3N0ciAi44Om44O844K2IElEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKK21zZ2lkICJVSUQiCittc2dzdHIgIlVJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU4Cittc2dpZCAiVXNlciBuYW1lIgorbXNnc3RyICLjg6bjg7zjgrbjg7zlkI0iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorbXNnaWQgIkdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorbXNnaWQgIkdJRCIKK21zZ3N0ciAiR0lEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjAKK21zZ2lkICJHcm91cCBuYW1lIgorbXNnc3RyICLjgrDjg6vjg7zjg5flkI0iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorIywgZnV6enkKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIKK21zZ3N0ciAi44K544Ov44OD44OX6aCY5Z+f44Gu44K144Kk44K6IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBjaGFuZ2UiCittc2dzdHIgIuacgOe1guWkieabtCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY0Cittc2dpZCAiQnl0ZXMgdXNlZCIKK21zZ3N0ciAi5L2/55So5riI44G/44Gu44OQ44Kk44OI5pWwIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2VzIgorbXNnc3RyICLjg5jjg4Pjg4nmlbAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorIywgZnV6enkKK21zZ2lkICJNZXNzYWdlcyIKK21zZ3N0ciAi44Oh44OD44K744O844K4IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKKyMsIGZ1enp5Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyBzZW50IgorbXNnc3RyICLliY3lm57jg63jgrDjgqTjg7Pjga7ml6Xku5giCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIk1zZyBzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgcmVjZWl2ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiTXNnIHJlY2VpdmVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgc2VuZGVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIk1zZyBzZW5kZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyByZWNlaXZlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJNc2cgcmVjZWl2ZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTcyCisjLCBmdXp6eQorbXNnaWQgIlNlZ21lbnQgc2l6ZSIKK21zZ3N0ciAi44OW44Ot44OD44Kv44K144Kk44K644KS5Y+W5b6XIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIGF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAi44OX44Ot44K744K544Gu5pyA5aSn5pWwIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJBdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc0CisjLCBmdXp6eQorbXNnaWQgIlN0YXR1cyIKK21zZ3N0ciAi54q25oWLIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzUKKyMsIGZ1enp5Cittc2dpZCAiQXR0YWNoIHRpbWUiCittc2dzdHIgIue1kOWQiCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc2CisjLCBmdXp6eQorbXNnaWQgIkRldGFjaCB0aW1lIgorbXNnc3RyICLliIbpm6IiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAi44Kz44Oe44Oz44OJ44Gu44Kq44OX44K344On44Oz44KS6Kej5p6Q44GX44G+44GZ44CCXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQiCittc2dzdHIgIuS4jeato+OBquOCs+ODnuODs+ODieOBp+OBmSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiUElEIG9mIHRoZSBjcmVhdG9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIkNyZWF0b3IgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OQorbXNnaWQgIlBJRCBvZiBsYXN0IHVzZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5CisjLCBmdXp6eQorbXNnaWQgIkxhc3QgdXNlciBQSUQiCittc2dzdHIgIuODpuODvOOCtiBJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgyCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICLjgrvjgq/jgr/mlbAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorIywgZnV6enkKK21zZ2lkICJTZW1hcGhvcmVzIgorbXNnc3RyICLjgrvjg57jg5XjgqkgSUQ6ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworIywgZnV6enkKK21zZ2lkICJMYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAi5pON5L2cICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NgorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBuYW1lIgorbXNnc3RyICLos4fmupDlkI0iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NgorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSIKK21zZ3N0ciAi6LOH5rqQ5ZCNIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgIuODquOCveODvOOCueioreWumiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIkRlc2NyaXB0aW9uIgorbXNnc3RyICLjg5Xjg6njgrDjga7oqqzmmI4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIkN1cnJlbnRseSB1c2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIlVzZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIkN1cnJlbnRseSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAi44OV44Kh44Kk44Or44K344K544OG44Og44Gu5L2/55So546HIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiVXNlIgorbXNnc3RyICLkvb/jgYTmlrk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIlN5c3RlbS13aWRlIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIkxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb2x1bW4gJXMgZG9lcyBub3QgYXBwbHkgdG8gdGhlIHNwZWNpZmllZCBJUEMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg3Cittc2dpZCAiIC1nLCAtLWdsb2JhbCAgICAgIGluZm8gYWJvdXQgc3lzdGVtLXdpZGUgdXNhZ2UgKG1heSBiZSB1c2VkIHdpdGggLW0sIC1xIGFuZCAtcylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODgKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gICAgIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiAtaSwgLS1pZCA8aWQ+ICDmjIflrprjgZfjgZ8gSUQg44Gu6LOH5rqQ44Gr44Gk44GE44Gm6Kmz57Sw44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NAorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICDlj6/oqq3mgKfjga7pq5jjgYTlvaLlvI/jgafjga/jgarjgY/jgIHjg5DjgqTjg4jljZjkvY3jgafjgrXjgqTjgrrjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk1CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICAgICAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIgLWMsIC0tY3JlYXRvciAgICAg5L2c5oiQ6ICF44Go5omA5pyJ6ICF44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NworIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIHVzZSB0aGUgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIOeJueOBq+WKoOW3peOCkuihjOOCj+OBmuOBq+WHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTkKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICBmb3JjZSBsaXN0IG91dHB1dCBmb3JtYXQgKGZvciBleGFtcGxlIHdpdGggLS1pZClcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAg5LiA6Kan5b2i5byP44Gn5Ye65Yqb44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMQorbXNnaWQgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgcHJpbnQgbnVtZXJpYyBwZXJtaXNzaW9ucyAoUEVSTVMgY29sdW1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMworIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAg57WQ5ZCI77yP5YiG6Zui77yP5aSJ5pu044Gu5ZCE5pel5pmC44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkdlbmVyaWMgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIuS4gOiIrOeahOOBquOCquODl+OCt+ODp+ODszpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkLW1lbW9yeSBjb2x1bW5zICgtLXNobWVtcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLlhbHmnInjg6Hjg6Ljg6rjgrvjgrDjg6Hjg7Pjg4ggc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlLXF1ZXVlIGNvbHVtbnMgKC0tcXVldWVzKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgY29sdW1ucyAoLS1zZW1hcGhvcmVzKTpcbiIKK21zZ3N0ciAiIC1zLCAtLXNlbWFwaG9yZXMgIOOCu+ODnuODleOCqVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlN1bW1hcnkgY29sdW1ucyAoLS1nbG9iYWwpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjQxMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRWxlbWVudHM6XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA1CisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmUgaWRlbnRpZmllcnMiCittc2dzdHIgIuODpuODi+ODvOOCr+OBquOCueODiOODrOODvOOCuOitmOWIpeWtkCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA2CisjLCBmdXp6eQorbXNnaWQgIlRvdGFsIG51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICLjgrvjgq/jgr/mlbAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwNworIywgZnV6enkKK21zZ2lkICJNYXggc2VtYXBob3JlcyBwZXIgc2VtYXBob3JlIHNldC4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmVzICDjgrvjg57jg5XjgqlcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA4CisjLCBmdXp6eQorbXNnaWQgIk1heCBudW1iZXIgb2Ygb3BlcmF0aW9ucyBwZXIgc2Vtb3AoMikiCittc2dzdHIgIuODleOCoeOCpOODq+OBruacgOWkp+OCquODvOODl+ODs+aVsCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA5Cittc2dpZCAiU2VtYXBob3JlIG1heCB2YWx1ZSIKK21zZ3N0ciAi44K744Oe44OV44Kp5pyA5aSn5YCkIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjMKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICLjg5jjg4Pjg4nmlbAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg2NAorIywgZnV6enkKK21zZ2lkICJNYXggc2l6ZSBvZiBtZXNzYWdlIChieXRlcykiCittc2dzdHIgIuODoeODg+OCu+ODvOOCuOOBruacgOWkp+OCteOCpOOCuiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODY1CisjLCBmdXp6eQorbXNnaWQgIkRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUgKGJ5dGVzKSIKK21zZ3N0ciAi44Kt44Ol44O844Gu5pei5a6a5pyA5aSn5YCkIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5Nzggc3lzLXV0aWxzL2xzaXBjLmM6OTk3Cittc2dpZCAiaHVnZXRsYiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5Nzkgc3lzLXV0aWxzL2xzaXBjLmM6MTAwNAorIywgZnV6enkKK21zZ2lkICJub3Jlc2VydmUiCittc2dzdHIgIkxpbnV4IOS6iOe0hOmgmOWfnyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MQorIywgZnV6enkKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIgorbXNnc3RyICIiCisiXG4iCisi5YWx5pyJ44Oh44Oi44Oq44K744Kw44Oh44Oz44OIIHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjIKKyMsIGZ1enp5Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBwYWdlcyIKK21zZ3N0ciAi5YWx5pyJ44Oh44Oi44OqIElEOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDYzCisjLCBmdXp6eQorbXNnaWQgIk1heCBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICIgLW0sIC0tc2htZW1zICAgICAg5YWx5pyJ44Oh44Oi44Oq44K744Kw44Oh44Oz44OIXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjQKKyMsIGZ1enp5Cittc2dpZCAiTWluIHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIiAtbSwgLS1zaG1lbXMgICAgICDlhbHmnInjg6Hjg6Ljg6rjgrvjgrDjg6Hjg7Pjg4hcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTEzNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSVBDIGlkZW50aWZpZXIiCittc2dzdHIgIklEIOOBruino+aekOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTIyOQorbXNnaWQgIi0tZ2xvYmFsIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tY3JlYXRvciwgLS1pZCBhbmQgLS10aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAibmFtZXNwYWNlIGlkZW50aWZpZXIgKGlub2RlIG51bWJlcikiCittc2dzdHIgIuijj+WBtOOBq+OBguOCi+ODleOCoeOCpOODq+OBriBpbm9kZSDnlarlj7ciCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODQKK21zZ2lkICJraW5kIG9mIG5hbWVzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg1CisjLCBmdXp6eQorbXNnaWQgInBhdGggdG8gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAi44OH44OQ44Kk44K544Gu54q25oWLIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg2CisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAi44Om44O844K244Gr44KI44Gj44Gm5a6f6KGM5Lit44Gu44OX44Ot44K744K55pWwIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg3Cittc2dpZCAibG93ZXN0IFBJRCBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODgKK21zZ2lkICJQUElEIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OQorbXNnaWQgImNvbW1hbmQgbGluZSBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTAKK21zZ2lkICJVSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkxCittc2dpZCAidXNlcm5hbWUgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG5hbWVzcGFjZT5dXG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSBbPOODoeODg+OCu+ODvOOCuD5dXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjE2CisjLCBmdXp6eQorbXNnaWQgIkxpc3Qgc3lzdGVtIG5hbWVzcGFjZXMuXG4iCittc2dzdHIgIuODreODvOOCq+ODq+OCt+OCueODhuODoOOBruODreODg+OCr+OCkuihqOekuuOBl+OBvuOBmeOAglxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYyMworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tdGFzayA8cGlkPiAgICAgICBwcmludCBwcm9jZXNzIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIC10LCAtLXRhcmdldCA8cGlkPiAgICAg44ON44O844Og44K544Oa44O844K544KS5Y+W5b6X44GZ44KL44OX44Ot44K744K544KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjI2Cittc2dpZCAiIC10LCAtLXR5cGUgPG5hbWU+ICAgICAgbmFtZXNwYWNlIHR5cGUgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzLCBjZ3JvdXApXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbmFtZXNwYWNlIHR5cGU6ICVzIgorbXNnc3RyICLmnKrnn6Xjga7jg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djgr/jgqTjg5cgJyVzJyDjgafjgZkiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzM1CisjLCBmdXp6eQorbXNnaWQgIi0tdGFzayBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8bmFtZXNwYWNlPiIKK21zZ3N0ciAi44Kq44OX44K344On44OzIC0tZmluZCDjga8gPGRldmljZT4g44Go5ZCM5pmC44Gr5oyH5a6a44GZ44KL44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjczNgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG5hbWVzcGFjZSBhcmd1bWVudCIKK21zZ3N0ciAiUGF1c2UiCisKKyM6IHN5cy11dGlscy9sc25zLmM6Nzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBmb3VuZCBuYW1lc3BhY2U6ICVqdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NiBzeXMtdXRpbHMvdW1vdW50LmM6MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIlwiLS0lc1wiIOOCquODl+OCt+ODp+ODs+OCkuS9v+eUqOOBp+OBjeOCi+OBruOBryByb290IOOBoOOBkeOBp+OBmSAo5a6f5Yq5IFVJRCDjga8gJXUg44Gn44GZKSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njkgc3lzLXV0aWxzL3Vtb3VudC5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICLjgZPjgozjgpLlrp/ooYzjgafjgY3jgovjga7jga8gcm9vdCDjgaDjgZHjgafjgZkgKOWun+WKuSBVSUQg44GvICV1IOOBp+OBmSkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjczIHN5cy11dGlscy91bW91bnQuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIgorbXNnc3RyICJcIi0tJXNcIiDjgqrjg5fjgrfjg6fjg7PjgpLkvb/nlKjjgafjgY3jgovjga7jga8gcm9vdCDjgaDjgZHjgafjgZkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0IHN5cy11dGlscy91bW91bnQuYzoxMjUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCittc2dzdHIgIuOBk+OCjOOCkuWun+ihjOOBp+OBjeOCi+OBruOBryByb290IOOBoOOBkeOBp+OBmSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6ODUgc3lzLXV0aWxzL3Vtb3VudC5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgKGxpYm1vdW50ICVzIgorbXNnc3RyICIlcyBmcm9tICVzIChsaWJtb3VudCAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTMwCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbXRhYiIKK21zZ3N0ciAibXRhYiDjga7oqq3jgb/ovrzjgb/jgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MiBzeXMtdXRpbHMvdW1vdW50LmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBpZ25vcmVkXG4iCittc2dzdHIgIiUtMjVzOiDnhKHoppbjgZfjgb7jgZfjgZ9cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBhbHJlYWR5IG1vdW50ZWRcbiIKK21zZ3N0ciAiJS0yNXM6IOaXouOBq+ODnuOCpuODs+ODiOOBleOCjOOBpuOBhOOBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdmVkIHRvICVzLlxuIgorbXNnc3RyICIlczogJXMg44KSICVzIOOBq+enu+WLleOBl+OBvuOBl+OBn+OAglxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGJvdW5kIG9uICVzLlxuIgorbXNnc3RyICIlczogJXMg44GvICVzIOOBq+ODkOOCpOODs+ODieOBleOCjOOBvuOBl+OBn+OAglxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTQgc3lzLXV0aWxzL21vdW50LmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3VudGVkIG9uICVzLlxuIgorbXNnc3RyICIlczogJXMg44GvICVzIOOBq+ODnuOCpuODs+ODiOOBleOCjOOBvuOBl+OBn+OAglxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIHByb3BhZ2F0aW9uIGZsYWdzIGNoYW5nZWQuXG4iCittc2dzdHIgIiVzOiAlcyDkvJ3mkq3jg5Xjg6njgrDjgpLlpInmm7TjgZfjgb7jgZfjgZ/jgIJcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJtb3VudDogJXMgZG9lcyBub3QgY29udGFpbiBTRUxpbnV4IGxhYmVscy5cbiIKKyIgICAgICAgWW91IGp1c3QgbW91bnRlZCBhbiBmaWxlIHN5c3RlbSB0aGF0IHN1cHBvcnRzIGxhYmVscyB3aGljaCBkb2VzIG5vdFxuIgorIiAgICAgICBjb250YWluIGxhYmVscywgb250byBhbiBTRUxpbnV4IGJveC4gSXQgaXMgbGlrZWx5IHRoYXQgY29uZmluZWRcbiIKKyIgICAgICAgYXBwbGljYXRpb25zIHdpbGwgZ2VuZXJhdGUgQVZDIG1lc3NhZ2VzIGFuZCBub3QgYmUgYWxsb3dlZCBhY2Nlc3MgdG9cbiIKKyIgICAgICAgdGhpcyBmaWxlIHN5c3RlbS4gIEZvciBtb3JlIGRldGFpbHMgc2VlIHJlc3RvcmVjb24oOCkgYW5kIG1vdW50KDgpLlxuIgorbXNnc3RyICIiCisibW91bnQ6ICVzIOOBq+OBryBTRUxpbnV4IOOBruODqeODmeODq+OBjOWQq+OBvuOCjOOBpuOBhOOBvuOBm+OCk+OAglxuIgorIiAgICAgICDjgZPjga7lh6bnkIbjgavjgojjgorjgIEgU0VMaW51eCDjga7mkK3ovInjgZXjgozjgZ/jg57jgrfjg7Pjgavjg6njg5njg6vjgpLlkKvjgb7jgarjgYTjg5XjgqHjgqTjg6tcbiIKKyIgICAgICAg44K344K544OG44Og44KS44Oe44Km44Oz44OI44GZ44KL44GT44Go44Gr44Gq44KK44G+44GZ44CC44Gd44Gu57WQ5p6c44CB5Yi26ZmQ5LiL44Gr44GC44KLXG4iCisiICAgICAgIOOCouODl+ODquOCseODvOOCt+ODp+ODs+OBjCBBVkMg44Oh44OD44K744O844K444KS55Sf5oiQ44GX44CB44GT44Gu44OV44Kh44Kk44Or44K344K544OG44Og5YaF44GrXG4iCisiICAgICAgIOWtmOWcqOOBmeOCi+ODleOCoeOCpOODq+OBq+OCouOCr+OCu+OCueOBp+OBjeOBquOBhOWPr+iDveaAp+OBjOOBguOCiuOBvuOBmeOAguips+OBl+OBhOaDheWgseOBq1xuIgorIiAgICAgICDjgaTjgYTjgabjga/jgIEgcmVzdG9yZWNvbig4KSDjgYrjgojjgbMgbW91bnQoOCkg44KS44GK6Kqt44G/44GP44Gg44GV44GE44CCXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3OAorbXNnaWQgIldBUk5JTkc6IGZhaWxlZCB0byBhcHBseSBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAi6K2m5ZGKOiDkvJ3mkq3jg5Xjg6njgrDjga7pgannlKjjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIG1vdW50ICVzIG9uICVzIgorbXNnc3RyICIlMiRzIOS4iuOBriAlMSRzIOOCkuODnuOCpuODs+ODiOOBp+OBjeOCi+OBruOBryByb290IOOBoOOBkeOBp+OBmSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCIKK21zZ3N0ciAiJXMg44Gv44Oe44Km44Oz44OI5riI44G/44Gn44GZIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHVzZWQgYXMgcmVhZCBvbmx5IGxvb3AsIG1vdW50aW5nIHJlYWQtb25seSIKK21zZ3N0ciAiJXMg44Gv5pu444GN6L6844G/56aB5q2i44Gn44GZ44CB6Kqt44G/6L6844G/5bCC55So44Gn44Oe44Km44Oz44OI44GX44G+44GZIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCAlcyBpbiAlcyIKK21zZ3N0ciAiJTIkcyDlhoXjgasgJTEkcyDjgYzopovjgaTjgYvjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyMworIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50cG9pbnQgJXMgaW4gJXMiCittc2dzdHIgIiUyJHMg5YaF44GrICUxJHMg44Gu44Oe44Km44Oz44OI44Od44Kk44Oz44OI44GM6KaL44Gk44GL44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBzb3VyY2UgJXMgaW4gJXMiCittc2dzdHIgIiUyJHMg5YaF44Gr44Oe44Km44Oz44OI5YWDICUxJHMg44GM6KaL44Gk44GL44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzOiBtb3JlIGZpbGVzeXN0ZW1zIGRldGVjdGVkLiBUaGlzIHNob3VsZCBub3QgaGFwcGVuLFxuIgorIiAgICAgICB1c2UgLXQgPHR5cGU+IHRvIGV4cGxpY2l0bHkgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIG9yXG4iCisiICAgICAgIHVzZSB3aXBlZnMoOCkgdG8gY2xlYW4gdXAgdGhlIGRldmljZS4iCittc2dzdHIgIiIKKyIlczog6KSH5pWw44Gu44OV44Kh44Kk44Or44K344K544OG44Og44GM5qSc5Ye644GV44KM44G+44GX44Gf44CC44GT44KM44Gv6YCa5bi444Gv55m655Sf44GX44Gq44GEXG4iCisiICAgICAgIOOBr+OBmuOBrue1kOaenOOBp+OBmeOAgiAtdCA844K/44Kk44OXPiDjgpLmjIflrprjgZfjgabnibnlrprjga7jg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgpLkvb/nlKjjgZnjgovjgYvjgIFcbiIKKyIgICAgICAgd2lwZWZzKDgpIOOCkuWIqeeUqOOBl+OBpuODh+ODkOOCpOOCueOBruWGheWuueOCkuOBhOOBo+OBn+OCk+a2iOWOu+OBl+OBpuOBj+OBoOOBleOBhOOAgiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDM2Cittc2dpZCAiSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgIm5vbmUg44GM5oyH5a6a44GV44KM44G+44GX44Gf44GM44CB44OV44Kh44Kk44Or44K344K544OG44Og44K/44Kk44OX44KS5Yik5Yil44Gn44GN44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzkKK21zZ2lkICJ5b3UgbXVzdCBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIuODleOCoeOCpOODq+OCt+OCueODhuODoOOCv+OCpOODl+OCkuaMh+WumuOBmeOCi+W/heimgeOBjOOBguOCiuOBvuOBmSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMiCittc2dzdHIgIiVzIOOBjOimi+OBpOOBi+OCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ3Cittc2dpZCAibW91bnQgc291cmNlIG5vdCBkZWZpbmVkIgorbXNnc3RyICLjg57jgqbjg7Pjg4jlhYPjgYzoqK3lrprjgZXjgozjgabjgYTjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1MSBzeXMtdXRpbHMvbW91bnQuYzo0NTMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAi44Oe44Km44Oz44OI44Kq44OX44K344On44Oz44Gu6Kej6YeI44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IOODq+ODvOODl+ODkOODg+OCr+ODh+ODkOOCpOOCueOBruioreWumuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudCBmYWlsZWQiCittc2dzdHIgIiVzOiDjg57jgqbjg7Pjg4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmlsZXN5c3RlbSBtb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorbXNnc3RyICIlczog44OV44Kh44Kk44Or44K344K544OG44Og44KS44Oe44Km44Oz44OI44GX44G+44GX44Gf44GM44CBIG1vdW50KDgpIOOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDg5IHN5cy11dGlscy9tb3VudC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIuODnuOCpuODs+ODiOODneOCpOODs+ODiCAlcyDjga/jg4fjgqPjg6zjgq/jg4jjg6rjgafjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ5MworbXNnaWQgIm11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKK21zZ3N0ciAiIG1vdW50IOOCkuS9v+eUqOOBmeOCi+OBq+OBr+OCueODvOODkeODvOODpuODvOOCtuOBp+OBquOBkeOCjOOBsOOBquOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGJ1c3kiCittc2dzdHIgIiVzIOOBr+S9v+eUqOS4reOBp+OBmSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCBvciAlcyBidXN5IgorbXNnc3RyICIlcyDjga/jg57jgqbjg7Pjg4jmuIjjgb/jgIHjgoLjgZfjgY/jga8gJXMg44GM5L2/55So5Lit44Gn44GZIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorbXNnc3RyICIgICAgICAgJXMg44GvICVzIOOBq+ODnuOCpuODs+ODiOa4iOOBv+OBp+OBmVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIuODnuOCpuODs+ODiOODneOCpOODs+ODiCAlcyDjgYzlrZjlnKjjgZfjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBpcyBhIHN5bWJvbGljIGxpbmsgdG8gbm93aGVyZSIKK21zZ3N0ciAibW91bnQ6IOODnuOCpuODs+ODiOODneOCpOODs+ODiCAlcyDjga/mraPjgZfjgY/jgarjgYTloLTmiYDjgpLmjIfjgZfjgabjgYTjgovjgrfjg7Pjg5zjg6rjg4Pjgq/jg6rjg7Pjgq/jgafjgZkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi44K544Oa44K344Oj44Or44OH44OQ44Kk44K5ICVzIOOBjOWtmOWcqOOBl+OBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTM2IHN5cy11dGlscy9tb3VudC5jOjUzOCBzeXMtdXRpbHMvbW91bnQuYzo1NDAKKyM6IHN5cy11dGlscy9tb3VudC5jOjU1NQorbXNnaWQgIm1vdW50KDIpIGZhaWxlZCIKK21zZ3N0ciAibW91bnQoMikg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KSIKK21zZ3N0ciAi44K544Oa44K344Oj44Or44OH44OQ44Kk44K5ICVzIOOBjOWtmOWcqOOBl+OBvuOBm+OCkyAo44OR44K544OX44Os44OV44Kj44Kv44K544GM44OH44Kj44Os44Kv44OI44Oq44Gn44Gv44GC44KK44G+44Gb44KTKSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCittc2dzdHIgIiVzIOOBr+ODnuOCpuODs+ODiOOBleOCjOOBpuOBhOOBquOBhOOBi+OAgeOCquODl+OCt+ODp+ODs+ioreWumuOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudHBvaW50IG9yIGJhZCBvcHRpb24iCittc2dzdHIgIiVzIOOBr+ODnuOCpuODs+ODiOODneOCpOODs+ODiOOBp+OBr+OBquOBhOOBi+OAgeOCquODl+OCt+ODp+ODs+ioreWumuOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTY1Cittc2dpZCAiIgorImJhZCBvcHRpb24uIE5vdGUgdGhhdCBtb3ZpbmcgYSBtb3VudCByZXNpZGluZyB1bmRlciBhIHNoYXJlZFxuIgorIiAgICAgICBtb3VudCBpcyB1bnN1cHBvcnRlZC4iCittc2dzdHIgIiIKKyLjgqrjg5fjgrfjg6fjg7PoqK3lrprjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpPjgILjgarjgYrjgIHlhbHmnInjg57jgqbjg7Pjg4jlhoXjgavjg57jgqbjg7Pjg4jjgpJcbiIKKyIgICAgICAg56e75YuV44GZ44KL5Yem55CG44Gr44Gv44CB5a++5b+c44GX44Gm44GE44G+44Gb44KT44CCIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIndyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLFxuIgorIiAgICAgICBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKK21zZ3N0ciAiIgorIuS9leOCieOBi+OBruOCqOODqeODvOOBq+OCiOOCiuOAgeODnuOCpuODs+ODiOOBjOWkseaVl+OBl+OBvuOBl+OBn+OAglxuIgorIiAgICAgICDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djgr/jgqTjg5csIOOCquODl+OCt+ODp+ODsywgJXMg5LiK44Gu44K544O844OR44O8XG4iCisiICAgICAgIOODluODreODg+OCrywg5b+F6KaB44Gq44Kz44O844OJ44Oa44O844K45oyH5a6a77yP44OY44Or44OR44O844OX44Ot44Kw44Op44OgXG4iCisiICAgICAgIOOBquOBqeOAgeS9leOCieOBi+OBruioreWumuOBjOmWk+mBleOBo+OBpuOBhOOCi+OCguOBruOBqOaAneOCj+OCjOOBvuOBmeOAgiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgICAgKGZvciBzZXZlcmFsIGZpbGVzeXN0ZW1zIChlLmcuIG5mcywgY2lmcykgeW91IG1pZ2h0XG4iCisiICAgICAgIG5lZWQgYSAvc2Jpbi9tb3VudC48dHlwZT4gaGVscGVyIHByb2dyYW0pXG4iCittc2dzdHIgIiIKKyIgICAgICAgKG5mcywgY2lmcyDjgarjganjgIHjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgavjgojjgaPjgabjga8gL3NiaW4vbW91bnQuPOOCv+OCpOODlz5cbiIKKyIgICAgICAg44Gu44OY44Or44OR44O844OX44Ot44Kw44Op44Og44GM5b+F6KaB44Gn44GZKVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiAgICAgICBJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGlzIGZvdW5kIGluIHN5c2xvZyAtIHRyeVxuIgorIiAgICAgICBkbWVzZyB8IHRhaWwgb3Igc28uXG4iCittc2dzdHIgIiIKKyJcbiIKKyIgICAgICAgc3lzbG9nIOWGheOBq+iomOmMsuOBleOCjOOBn+aDheWgseOBjOaJi+WKqeOBkeOBq+OBquOCi+OCguOBruOBqOaAneOBhOOBvuOBmSAtIFxuIgorIiAgICAgICBkbWVzZyB8IHRhaWwg44Gq44Gp44KS5a6f6KGM44GX44Gm44GK6Kqt44G/44GP44Gg44GV44GEXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU4MworbXNnaWQgIm1vdW50IHRhYmxlIGZ1bGwiCittc2dzdHIgIuODnuOCpuODs+ODiOODhuODvOODluODq+OBjOOBhOOBo+OBseOBhOOBp+OBmSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCByZWFkIHN1cGVyYmxvY2siCittc2dzdHIgIiVzOiDjgrnjg7zjg5Hjg7zjg5bjg63jg4Pjgq/jgpLoqq3jgb/ovrzjgoDjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU5MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSAnJXMnIgorbXNnc3RyICLmnKrnn6Xjga7jg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djgr/jgqTjg5cgJyVzJyDjgafjgZkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU5NAorIywgZnV6enkKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAi5pyq55+l44Gu44OV44Kh44Kk44Or44K344K544OG44Og44K/44Kk44OXICclcycg44Gn44GZIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCgyKSBmYWlscz8iCittc2dzdHIgIiVzIOOBr+ODluODreODg+OCr+ODh+ODkOOCpOOCueOBp+OBr+OBguOCiuOBvuOBm+OCkyAo44Gd44Gu44Gf44KB44GrIHN0YXQoMikg44GM5aSx5pWX44GX44Gf5Y+v6IO95oCn44GM44GC44KK44G+44GZKSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ0aGUga2VybmVsIGRvZXMgbm90IHJlY29nbml6ZSAlcyBhcyBhIGJsb2NrIGRldmljZVxuIgorIiAgICAgICAobWF5YmUgYG1vZHByb2JlIGRyaXZlcic/KSIKK21zZ3N0ciAiIgorIuOBk+OBruOCq+ODvOODjeODq+OBryAlcyDjgpLjg5bjg63jg4Pjgq/jg4fjg5DjgqTjgrnjgajjgZfjgaboqo3orZjjgZfjgabjgYTjgb7jgZvjgpNcbiIKKyIgICAgICAgKOOBiuOBneOCieOBjyBgbW9kcHJvYmUg44OJ44Op44Kk44OQJyDjgpLlrp/ooYzjgZnjgovlv4XopoHjgYzjgYLjgorjgb7jgZkpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIChtYXliZSB0cnkgYC1vIGxvb3AnPykiCittc2dzdHIgIiVzIOOBr+ODluODreODg+OCr+ODh+ODkOOCpOOCueOBp+OBr+OBguOCiuOBvuOBm+OCkyAoYC1vIGxvb3AnIOOCkuaMh+WumuOBmeOCi+OBqOino+axuuOBp+OBjeOCi+OBi+OCguOBl+OCjOOBvuOBm+OCkykiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIgJXMg44Gv44OW44Ot44OD44Kv44OH44OQ44Kk44K544Gn44Gv44GC44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlcyDjga/mraPluLjjgarjg5bjg63jg4Pjgq/jg4fjg5DjgqTjgrnjgafjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQgJXMgcmVhZC1vbmx5IgorbXNnc3RyICIlcyDjgpLoqq3jgb/ovrzjgb/lsILnlKjjgafjg57jgqbjg7Pjg4jjgafjgY3jgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IGAtdycgZmxhZyBnaXZlbiIKK21zZ3N0ciAiJXMg44Gv5pu444GN6L6844G/56aB5q2i44Gn44GZ44GM44CB5piO56S655qE44GrIGAtdycg44OV44Op44Kw44GM5oyH5a6a44GV44KM44Gm44GE44G+44GZIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlbW91bnQgJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorbXNnc3RyICIlcyDjgpLoqq3jgb/mm7jjgY3lj6/og73jgarnirbmhYvjgaflho3jg57jgqbjg7Pjg4jjgafjgY3jgb7jgZvjgpPjgIHjg6njgqTjg4jjg5fjg63jg4bjgq/jg4jjgZXjgozjgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYzMSBzeXMtdXRpbHMvbW91bnQuYzo2NTQgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxODgKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgb24gJXMgZmFpbGVkIgorbXNnc3RyICIlcyDjgpIgJXMg44Gr44Oe44Km44Oz44OI44GZ44KL5Yem55CG44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkLCBtb3VudGluZyByZWFkLW9ubHkiCittc2dzdHIgIiVzIOOBr+abuOOBjei+vOOBv+emgeatouOBp+OBmeOAgeiqreOBv+i+vOOBv+WwgueUqOOBp+ODnuOCpuODs+ODiOOBl+OBvuOBmSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKK21zZ3N0ciAiJXMg44Gr44Oh44OH44Kj44Ki44GM5oy/5YWl44GV44KM44Gm44GE44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSIKK21zZ3N0ciAiJXM6IOino+mHiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG9wdGlvbiBmb3JtYXQ6ICVzIgorbXNnc3RyICLmnKrlr77lv5zjga7jgqrjg5fjgrfjg6fjg7PlvaLlvI/jgafjgZk6ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFwcGVuZCBvcHRpb24gJyVzJyIKK21zZ3N0ciAi44Kq44OX44K344On44OzICclcycg44KS6L+95Yqg44GZ44KL44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbGhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2VdIDxzb3VyY2U+IHwgWy0tdGFyZ2V0XSA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIDxvcGVyYXRpb24+IDxtb3VudHBvaW50PiBbPHRhcmdldD5dXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLWxoVl1cbiIKKyIgJTEkcyAtYSBb44Kq44OX44K344On44OzXVxuIgorIiAlMSRzIFvjgqrjg5fjgrfjg6fjg7NdIFstLXNvdXJjZV0gPOOCveODvOOCuT4gfCBbLS10YXJnZXRdIDzjg4fjgqPjg6zjgq/jg4jjg6o+XG4iCisiICUxJHMgW+OCquODl+OCt+ODp+ODs10gPOOCveODvOOCuT4gPOODh+OCo+ODrOOCr+ODiOODqj5cbiIKKyIgJTEkcyA85pON5L2cPiA844Oe44Km44Oz44OI44Od44Kk44Oz44OIPiBbPOOCv+ODvOOCsuODg+ODiD5dXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0NAorIywgZnV6enkKK21zZ2lkICJNb3VudCBhIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIuOBmeOBueOBpuOBruODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuaknOafu+OBl+OBvuOBmeOAglxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBtb3VudCBhbGwgZmlsZXN5c3RlbXMgbWVudGlvbmVkIGluIGZzdGFiXG4iCisiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSBtb3VudCgyKSBzeXNjYWxsXG4iCisiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIGZvcmsgb2ZmIGZvciBlYWNoIGRldmljZSAodXNlIHdpdGggLWEpXG4iCisiIC1ULCAtLWZzdGFiIDxwYXRoPiAgICAgIGFsdGVybmF0aXZlIGZpbGUgdG8gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIGZzdGFiIOOBq+ioreWumuOBleOCjOOBn+OBmeOBueOBpuOBruODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuODnuOCpuODs+ODiOOBl+OBvuOBmVxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICDjg5HjgrnjgpLmraPopo/ljJbjgZfjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAg5a6f6Zqb44Gr44GvIG1vdW50KDIpIOWHpueQhuOCkuihjOOCj+OBmuOAgeOBqeOBruOCiOOBhuOBqlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICDlh6bnkIbjgavjgarjgovjga7jgYvjgaDjgZHjgpLooajnpLrjgZfjgb7jgZlcbiIKKyIgLUYsIC0tZm9yayAgICAgICAgICAgICAg5ZCE44OH44OQ44Kk44K544Gu44Oe44Km44Oz44OI5Yem55CG44KSIGZvcmsg44GX44Gm6KGM44GE44G+44GZICgtYSDjgajkvbXnlKjjgZfjgb7jgZkpXG4iCisiIC1ULCAtLWZzdGFiIDxwYXRoPiAgICAgIC9ldGMvZnN0YWIg44Gu5Luj5pu/44Go44Gq44KL44OV44Kh44Kk44Or44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICB1bW91bnQuPOOCv+OCpOODlz4g44Gu44OY44Or44OR44O844KS5ZG844Gz5Ye644GV44Gq44GE44KI44GG44Gr44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIHNob3cgYWxzbyBmaWxlc3lzdGVtIGxhYmVsc1xuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAg44K144Kk44K644KS44OQ44Kk44OI5Y2Y5L2N44Gn6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1OCBzeXMtdXRpbHMvdW1vdW50LmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIGRvbid0IHdyaXRlIHRvIC9ldGMvbXRhYlxuIgorbXNnc3RyICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgL2V0Yy9tdGFiIOOBq+abuOOBjei+vOOBvuOBquOBhOOCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtb3VudCBvcHRpb25zXG4iCisiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLW9ubHkgKHNhbWUgYXMgLW8gcm8pXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIiCisiIC1vLCAtLW9wdGlvbnMgPOODquOCueODiD4gIOOCq+ODs+ODnuWMuuWIh+OCiuOBp+ODnuOCpuODs+ODiOOCquODl+OCt+ODp+ODs+OCkuaMh+WumuOBl+OBvuOBmVxuIgorIiAtTywgLS10ZXN0LW9wdHMgPOODquOCueODiD4g44OV44Kh44Kk44Or44K344K544OG44Og44KS5oyH5a6a44GX44G+44GZICgtYSDjgajkvbXnlKjjgZfjgb7jgZkpXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIOODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuiqreOBv+i+vOOBv+WwgueUqOOBp+ODnuOCpuODs+ODiOOBl+OBvuOBmSAoLW8gcm8g44Go5ZCM44GY5YuV5L2c44Gn44GZKVxuIgorIiAtdCwgLS10eXBlcyA844Oq44K544OIPiAgICDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga7nqK7poZ7jgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tc291cmNlIDxzcmM+ICAgICAgZXhwbGljaXRseSBzcGVjaWZpZXMgc291cmNlIChwYXRoLCBsYWJlbCwgdXVpZClcbiIKKyIgICAgIC0tdGFyZ2V0IDx0YXJnZXQ+ICAgZXhwbGljaXRseSBzcGVjaWZpZXMgbW91bnRwb2ludFxuIgorbXNnc3RyICIiCisiICAgICAtLXNvdXJjZSA8c3JjPiAgICAgIOODnuOCpuODs+ODiOWFg+OCkuaYjuekuueahOOBq+aMh+WumuOBl+OBvuOBmSAo44OR44K5LCDjg6njg5njg6ssIHV1aWQg44Gu44GE44Ga44KM44GLKVxuIgorIiAgICAgLS10YXJnZXQgPHRhcmdldD4gICDjg57jgqbjg7Pjg4jjg53jgqTjg7Pjg4jjgpLmmI7npLrnmoTjgavmjIflrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzY4IHN5cy11dGlscy91bW91bnQuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAg5L2V44GM6KGM44KP44KM44KL44Gu44GL44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc3MAorIywgYy1mb3JtYXQKK21zZ2lkICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC13cml0ZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNvdXJjZTpcbiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorbXNnc3RyICIiCisiXG4iCisi44Oe44Km44Oz44OI5YWD44Gu5oyH5a6aOlxuIgorIiAtTCwgLS1sYWJlbCA844Op44OZ44OrPiAgICBMQUJFTD0844Op44OZ44OrPiDjgajlkIzjgZjmhI/lkbPjgafjgZlcbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgVVVJRD08dXVpZD4g44Go5ZCM44GY5oSP5ZGz44Gn44GZXG4iCisiIExBQkVMPTzjg6njg5njg6s+ICAgICAgICAgIOODleOCoeOCpOODq+OCt+OCueODhuODoOOBruODqeODmeODq+OBp+itmOWIpeOBl+OBvuOBmVxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga4gVVVJRCDjgaforZjliKXjgZfjgb7jgZlcbiIKKyIgUEFSVExBQkVMPTzjg6njg5njg6s+ICAgICAg44OR44O844OG44Kj44K344On44Oz44Gu44Op44OZ44Or44Gn6K2Y5Yil44GX44G+44GZXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIOODkeODvOODhuOCo+OCt+ODp+ODs+OBriBVVUlEIOOBp+itmOWIpeOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorbXNnc3RyICIiCisiIDzjg4fjg5DjgqTjgrk+ICAgICAgICAgICAgICDjg4fjg5DjgqTjgrnjg5HjgrnjgaforZjliKXjgZfjgb7jgZlcbiIKKyIgPOODh+OCo+ODrOOCr+ODiOODqj4gICAgICAgICAg44OQ44Kk44Oz44OJ44Oe44Km44Oz44OI55So44Gu44Oe44Km44Oz44OI44Od44Kk44Oz44OI44KS5oyH5a6a44GX44G+44GZICgtLWJpbmQvcmJpbmQg44KS5Y+C54WnKVxuIgorIiA844OV44Kh44Kk44OrPiAgICAgICAgICAgICAg44Or44O844OX44OQ44OD44Kv44Oe44Km44Oz44OI55So44Gu44OV44Kh44Kk44Or44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc5MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3BlcmF0aW9uczpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIHNvbWV3aGVyZSBlbHNlIChzYW1lIGFzIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG1vdmUgYSBzdWJ0cmVlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlXG4iCittc2dzdHIgIiIKKyJcbiIKKyLmk43kvZw6XG4iCisiIC1CLCAtLWJpbmQgICAgICAgICAgICAgIOOCteODluODhOODquODvOOCkuWIpeOBruWgtOaJgOOBq+ODnuOCpuODs+ODiOOBl+OBvuOBmSAoLW8gYmluZCDjgajlkIzjgZjli5XkvZzjgafjgZkpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIOOCteODluODhOODquODvOOCkuWIpeOBruWgtOaJgOOBq+enu+WLleOBl+OBvuOBmVxuIgorIiAtUiwgLS1yYmluZCAgICAgICAgICAgICDjgrXjg5bjg4Tjg6rjg7zjgajjgZnjgbnjgabjga7jgrXjg5bjg57jgqbjg7Pjg4jjgpLliKXjga7loLTmiYDjgavjg57jgqbjg7Pjg4jjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisiIC0tbWFrZS1zaGFyZWQgICAgICAgICAgIOOCteODluODhOODquODvOOCkuWFseacieOBqOOBl+OBpuODnuODvOOCr+OBl+OBvuOBmVxuIgorIiAtLW1ha2Utc2xhdmUgICAgICAgICAgICDjgrXjg5bjg4Tjg6rjg7zjgpLjgrnjg6zjg7zjg5bjgajjgZfjgabjg57jg7zjgq/jgZfjgb7jgZlcbiIKKyIgLS1tYWtlLXByaXZhdGUgICAgICAgICAg44K144OW44OE44Oq44O844KS44OX44Op44Kk44OZ44O844OI44Go44GX44Gm44Oe44O844Kv44GX44G+44GZXG4iCisiIC0tbWFrZS11bmJpbmRhYmxlICAgICAgIOOCteODluODhOODquODvOOCkuODkOOCpOODs+ODieS4jeWPr+iDveOBqOOBl+OBpuODnuODvOOCr+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2UtcnNoYXJlZCAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXJzbGF2ZSAgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXJwcml2YXRlICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtcnVuYmluZGFibGUgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKyIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAg44K144OW44OE44Oq44O85YWo5L2T44KS5YaN5biw55qE44Gr5YWx5pyJ44Go44GX44Gm44Oe44Km44Oz44OI44GX44G+44GZXG4iCisiIC0tbWFrZS1yc2xhdmUgICAgICAgICAgIOOCteODluODhOODquODvOWFqOS9k+OCkuWGjeW4sOeahOOBq+OCueODrOODvOODluOBqOOBl+OBpuODnuOCpuODs+ODiOOBl+OBvuOBmVxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICDjgrXjg5bjg4Tjg6rjg7zlhajkvZPjgpLlho3luLDnmoTjgavjg5fjg6njgqTjg5njg7zjg4jjgajjgZfjgabjg57jgqbjg7Pjg4jjgZfjgb7jgZlcbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAg44K144OW44OE44Oq44O85YWo5L2T44KS5YaN5biw55qE44Gr44OQ44Kk44Oz44OJ5LiN5Y+v6IO944Go44GX44Gm44Oe44Km44Oz44OI44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjg4NyBzeXMtdXRpbHMvdW1vdW50LmM6NTQ4Cittc2dpZCAibGlibW91bnQgY29udGV4dCBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibGlibW91bnQg44Gu44Kz44Oz44OG44Kt44K544OI5L2c5oiQ44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo5NDQgc3lzLXV0aWxzL3Vtb3VudC5jOjYwMQorbXNnaWQgImZhaWxlZCB0byBzZXQgb3B0aW9ucyBwYXR0ZXJuIgorbXNnc3RyICLjgqrjg5fjgrfjg6fjg7Pjg5Hjgr/jg7zjg7Pjga7oqK3lrprjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEwOTcKKyMsIGZ1enp5Cittc2dpZCAic291cmNlIHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAiJXMg44Gv6KSH5pWw44Ot44Kw44Kk44Oz44GX44Gm44GE44G+44GZOyAlcyDjgavmm7jjgY3ovrzjgb/jgb7jgZkiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLXFkXSAvcGF0aC90by9kaXJlY3RvcnlcbiIKKyIgJTEkcyAteCAvZGV2L2RldmljZVxuIgorbXNnc3RyICIiCisiICUxJHMgWy1xZF0gL3BhdGgvdG8vZGlyZWN0b3J5XG4iCisiICUxJHMgLXggL2Rldi9kZXZpY2VcbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjIKK21zZ2lkICJDaGVjayB3aGV0aGVyIGEgZGlyZWN0b3J5IG9yIGZpbGUgaXMgYSBtb3VudHBvaW50LlxuIgorbXNnc3RyICLjg4fjgqPjg6zjgq/jg4jjg6rjgYzjg57jgqbjg7Pjg4jjg53jgqTjg7Pjg4jjgYvjganjgYbjgYvnorroqo3jgZfjgb7jgZnjgIJcbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjUKK21zZ2lkICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICBxdWlldCBtb2RlIC0gZG9uJ3QgcHJpbnQgYW55dGhpbmdcbiIKKyIgLWQsIC0tZnMtZGV2bm8gICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgZmlsZXN5c3RlbVxuIgorIiAteCwgLS1kZXZubyAgICAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBibG9jayBkZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAtcSwgLS1xdWlldCAgICAgICAg6Z2Z5a+C44Oi44O844OJ44KS5oyH5a6a44GX44G+44GZIC0g5L2V44KC5Ye65Yqb44GX44G+44Gb44KTXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga7jg6Hjgrjjg6Pjg7w644Oe44Kk44OK44O844OH44OQ44Kk44K555Wq5Y+344KS6KGo56S644GX44G+44GZXG4iCisiIC14LCAtLWRldm5vICAgICAgICDjg5bjg63jg4Pjgq/jg4fjg5DjgqTjgrnjga7jg6Hjgrjjg6Pjg7w644Oe44Kk44OK44O844OH44OQ44Kk44K555Wq5Y+344KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiJXMg44Gv44Oe44Km44Oz44OI44Od44Kk44Oz44OI44Gn44Gv44GC44KK44G+44Gb44KTXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyDjga/jg57jgqbjg7Pjg4jjg53jgqTjg7Pjg4jjgafjgZlcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkzIHN5cy11dGlscy91bnNoYXJlLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXVxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10gPOODl+ODreOCsOODqeODoD4gWzzlvJXmlbA+IC4uLl1cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3NgorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBuYW1lc3BhY2VzIG9mIG90aGVyIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjc5Cittc2dpZCAiIC10LCAtLXRhcmdldCA8cGlkPiAgICAgdGFyZ2V0IHByb2Nlc3MgdG8gZ2V0IG5hbWVzcGFjZXMgZnJvbVxuIgorbXNnc3RyICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICDjg43jg7zjg6Djgrnjg5rjg7zjgrnjgpLlj5blvpfjgZnjgovjg5fjg63jgrvjgrnjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MAorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICBlbnRlciBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1tLCAtLW1vdW50ICAgICAgIOODnuOCpuODs+ODiOODjeODvOODoOOCueODmuODvOOCueOBruWFseacieOCkuino+mZpOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgxCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgIGVudGVyIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiIC11LCAtLXV0cyAgICAgICAgIFVUUyDjg43jg7zjg6Djgrnjg5rjg7zjgrkgKOODm+OCueODiOWQjeOBquOBqSkg44Gu5YWx5pyJ44KS6Kej6Zmk44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODIKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgZW50ZXIgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLWksIC0taXBjICAgICAgICAgU3lzdGVtIFYgSVBDIOODjeODvOODoOOCueODmuODvOOCueOBruWFseacieOCkuino+mZpOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgIGVudGVyIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbiwgLS1uZXQgICAgICAgICDjg43jg4Pjg4jjg6/jg7zjgq/jg43jg7zjg6Djgrnjg5rjg7zjgrnjga7lhbHmnInjgpLop6PpmaTjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICBlbnRlciBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICBQSUQg44ON44O844Og44K544Oa44O844K544Gu5YWx5pyJ44KS6Kej6Zmk44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODUKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgZW50ZXIgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLW0sIC0tbW91bnQgICAgICAg44Oe44Km44Oz44OI44ON44O844Og44K544Oa44O844K544Gu5YWx5pyJ44KS6Kej6Zmk44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODYKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgZW50ZXIgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1VLCAtLXVzZXIgICAgICAgIOODpuODvOOCtuODjeODvOODoOOCueODmuODvOOCueOBruWFseacieOCkuino+mZpOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg3CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZXR1aWQgPHVpZD4gICAgIHNldCB1aWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgICAg44Om44O844K244ON44O844Og44K544Oa44O844K544Gn44GuIHVpZCDjgpLjgrvjg4Pjg4jjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtRywgLS1zZXRnaWQgPGdpZD4gICAgICAgIOODpuODvOOCtuODjeODvOODoOOCueODmuODvOOCueOBriBnaWQg44KS44K744OD44OI44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODkKK21zZ2lkICIgICAgIC0tcHJlc2VydmUtY3JlZGVudGlhbHMgZG8gbm90IHRvdWNoIHVpZHMgb3IgZ2lkc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTAKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJvb3RbPTxkaXI+XSAgICAgc2V0IHRoZSByb290IGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXIsIC0tY2hyb290IDzjg4fjgqPjg6zjgq/jg4jjg6o+IOaMh+WumuOBl+OBn+ODh+OCo+ODrOOCr+ODiOODquOCkuODq+ODvOODiOOBq+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkxCisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS13ZFs9PGRpcj5dICAgICAgIHNldCB0aGUgd29ya2luZyBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC13LCAtLXdkICAgIFs9PGRpcj5dICAgICAg5L2c5qWt55So44Gu44OH44Kj44Os44Kv44OI44Oq44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTIKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICBkbyBub3QgZm9yayBiZWZvcmUgZXhlYydpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAgIDzjg5fjg63jgrDjg6njg6A+IOOCkui1t+WLleOBmeOCi+mam+OAgSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yayDjgZvjgZrjgavlrp/ooYzjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NAorbXNnaWQgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgIHNldCBTRUxpbnV4IGNvbnRleHQgYWNjb3JkaW5nIHRvIC0tdGFyZ2V0IFBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5laXRoZXIgZmlsZW5hbWUgbm9yIHRhcmdldCBwaWQgc3VwcGxpZWQgZm9yICVzIgorbXNnc3RyICIlcyDlkJHjgZHjga7jg5XjgqHjgqTjg6vlkI3jgoLjgIHjgr/jg7zjgrLjg4Pjg4jjga4gUElEIOOCguaMh+WumuOBleOCjOOBpuOBhOOBvuOBm+OCk+OAgiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoyNzcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdWlkIgorbXNnc3RyICJ1aWQg44Gu6Kej6YeI44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjI4MQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBnaWQiCittc2dzdHIgImdpZCDjga7op6Pph4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzE3Cittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tZm9sbG93LWNvbnRleHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgJWQgU0VMaW51eCBjb250ZXh0IgorbXNnc3RyICLmlrDjgZfjgYQgc2VsaW51eCDjgrPjg7Pjg4bjgq3jgrnjg4jjgpLkvZzmiJDjgafjgY3jgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGV4ZWMgY29udGV4dCB0byAnJXMnIgorbXNnc3RyICLjg5Hjg7zjgr3jg4rjg6rjg4bjgqPjgpIgJXMg44Gr6Kit5a6a44GZ44KL5Yem55CG44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFzc29jaWF0ZSB0byBuYW1lc3BhY2UgJyVzJyBmYWlsZWQiCittc2dzdHIgIuODjeODvOODoOOCueODmuODvOOCuSAnJXMnIOOBruWGjeWJsuOCiuW9k+OBpuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozOTAKK21zZ2lkICJjYW5ub3Qgb3BlbiBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICLkvZzmpa3nlKjjga7jg4fjgqPjg6zjgq/jg4jjg6rjgpLplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ8iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mzk3Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSByb290IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgIuODq+ODvOODiOODleOCoeOCpOODq+iomOi/sOWtkOOBq+OCiOOCi+ODh+OCo+ODrOOCr+ODiOODquWkieabtOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MDAKK21zZ2lkICJjaHJvb3QgZmFpbGVkIgorbXNnc3RyICJjaHJvb3Qg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQxMAorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgd29ya2luZyBkaXJlY3RvcnkgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAi5L2c5qWt55So44Gu44OH44Kj44Os44Kv44OI44Oq44Gu44OV44Kh44Kk44Or6KiY6L+w5a2Q44Gr44KI44KL44CB44OH44Kj44Os44Kv44OI44Oq5aSJ5pu044Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQyMSBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxNSBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxOQorbXNnaWQgInNldGdyb3VwcyBmYWlsZWQiCittc2dzdHIgInNldGdyb3VwcyDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBuZXdfcm9vdCBwdXRfb2xkXG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSDmlrDjgZfjgYTjg6vjg7zjg4gg5Y+k44GE44Or44O844OI44Gu56e75YuV5YWIXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzcKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHRoZSByb290IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIuODleOCoeOCpOODq+OCt+OCueODhuODoOOBruODq+ODvOODiCIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QgZnJvbSBgJXMnIHRvIGAlcyciCittc2dzdHIgIuODq+ODvOODiOODh+OCo+ODrOOCr+ODiOODquOCkiBgJXMnIOOBi+OCiSBgJXMnIOOBq+WkieabtOOBmeOCi+WHpueQhuOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NQorbXNnaWQgImFkZHJlc3Mgc3BhY2UgbGltaXQiCittc2dzdHIgIuOCouODieODrOOCuemgmOWfn+OBruWItumZkCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NgorbXNnaWQgIm1heCBjb3JlIGZpbGUgc2l6ZSIKK21zZ3N0ciAi44Kz44Ki44OV44Kh44Kk44Or44Gu5pyA5aSn44K144Kk44K6IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAiQ1BVIHRpbWUiCittc2dzdHIgIkNQVSDmmYLplpMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJzZWNvbmRzIgorbXNnc3RyICLnp5IiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzgKK21zZ2lkICJtYXggZGF0YSBzaXplIgorbXNnc3RyICLmnIDlpKfjg4fjg7zjgr/jgrXjgqTjgroiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzkKK21zZ2lkICJtYXggZmlsZSBzaXplIgorbXNnc3RyICLmnIDlpKfjg5XjgqHjgqTjg6vjgrXjgqTjgroiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKK21zZ2lkICJtYXggbnVtYmVyIG9mIGZpbGUgbG9ja3MgaGVsZCIKK21zZ3N0ciAi5L+d5oyB5Y+v6IO944Gq5pyA5aSn44OV44Kh44Kk44Or44Ot44OD44Kv5pWwIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCisjLCBmdXp6eQorbXNnaWQgImxvY2tzIgorbXNnc3RyICLjg5bjg63jg4Pjgq8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKK21zZ2lkICJtYXggbG9ja2VkLWluLW1lbW9yeSBhZGRyZXNzIHNwYWNlIgorbXNnc3RyICLmnIDlpKfjg63jg4Pjgq/jgqTjg7Pjg6Hjg6Ljg6rjgqLjg4njg6zjgrnpoJjln58iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIKK21zZ2lkICJtYXggYnl0ZXMgaW4gUE9TSVggbXF1ZXVlcyIKK21zZ3N0ciAiUE9TSVgg44Oh44OD44K744O844K444Kt44Ol44O844Gu5pyA5aSn44OQ44Kk44OI5pWwIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgzCittc2dpZCAibWF4IG5pY2UgcHJpbyBhbGxvd2VkIHRvIHJhaXNlIgorbXNnc3RyICLoqLHlj6/jgZXjgozjgovmnIDkuIrkvY3jga4gbmljZSDlhKrlhYjpoIbkvY0iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKK21zZ2lkICJtYXggbnVtYmVyIG9mIG9wZW4gZmlsZXMiCittc2dzdHIgIuODleOCoeOCpOODq+OBruacgOWkp+OCquODvOODl+ODs+aVsCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorIywgZnV6enkKK21zZ2lkICJmaWxlcyIKK21zZ3N0ciAi44OV44Kh44Kk44OrICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1Cittc2dpZCAibWF4IG51bWJlciBvZiBwcm9jZXNzZXMiCittc2dzdHIgIuODl+ODreOCu+OCueOBruacgOWkp+aVsCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorIywgZnV6enkKK21zZ2lkICJwcm9jZXNzZXMiCittc2dzdHIgIuODl+ODreOCu+OCuSBJRCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NgorbXNnaWQgIm1heCByZXNpZGVudCBzZXQgc2l6ZSIKK21zZ3N0ciAi5pyA5aSn44Gu5bi46aeQ44K744OD44OI44K144Kk44K6IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg3Cittc2dpZCAibWF4IHJlYWwtdGltZSBwcmlvcml0eSIKK21zZ3N0ciAi5pyA5LiK5L2N44Gu44Oq44Ki44Or44K/44Kk44Og5YSq5YWI6aCG5L2NIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAidGltZW91dCBmb3IgcmVhbC10aW1lIHRhc2tzIgorbXNnc3RyICLjg6rjgqLjg6vjgr/jgqTjg6Djgr/jgrnjgq/jga7liLbpmZDmmYLplpMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJtaWNyb3NlY3MiCittc2dzdHIgIuODnuOCpOOCr+ODreenkiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorbXNnaWQgIm1heCBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzIgorbXNnc3RyICLpgYXlu7bjgrfjgrDjg4rjg6vjga7mnIDlpKfmlbAiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJzaWduYWxzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJtYXggc3RhY2sgc2l6ZSIKK21zZ3N0ciAi5pyA5aSn44K544K/44OD44Kv44K144Kk44K6IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyMworbXNnaWQgInJlc291cmNlIG5hbWUiCittc2dzdHIgIuizh+a6kOWQjSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjQKK21zZ2lkICJyZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAi44Oq44K944O844K56Kit5a6aIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNQorbXNnaWQgInNvZnQgbGltaXQiCittc2dzdHIgIuOCveODleODiOODquODn+ODg+ODiCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjYKK21zZ2lkICJoYXJkIGxpbWl0IChjZWlsaW5nKSIKK21zZ3N0ciAi44OP44O844OJ44Oq44Of44OD44OIICjkuIrpmZApIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNworbXNnaWQgInVuaXRzIgorbXNnc3RyICLljZjkvY0iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1wIFBJRF1cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIFstcCBQSURdXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gQ09NTUFORFxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10g44Kz44Oe44Oz44OJXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY2CisjLCBmdXp6eQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZXNvdXJjZSBsaW1pdHMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIgLWwsIC0tbGltaXRzICAgICAg6LOH5rqQ44Gu5Yi26ZmQ5YCk44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY4Cittc2dpZCAiIgorIlxuIgorIkdlbmVyYWwgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIuS4gOiIrOeahOOBquOCquODl+OCt+ODp+ODszpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjkKK21zZ2lkICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG91dHB1dFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIOODl+ODreOCu+OCuSBJRCDjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICDlh7rlipvjgZnjgovliJfjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICDjg5jjg4Pjg4DjgpLooajnpLrjgZfjgb7jgZvjgpNcbiIKKyIgICAgIC0tcmF3ICAgICAgICAgICAgICDliqDlt6XjgpLooYzjgarjgo/jgZrjgavlh7rlipvjgZfjgb7jgZlcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICDlhpfplbfjgarlh7rlipvjgpLooYzjgYTjgb7jgZlcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICDjg5Djg7zjgrjjg6fjg7Pmg4XloLHjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzcKK21zZ2lkICIiCisiXG4iCisiUmVzb3VyY2VzIE9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLos4fmupDjgqrjg5fjgrfjg6fjg7M6XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc4Cittc2dpZCAiIgorIiAtYywgLS1jb3JlICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBjb3JlIGZpbGVzIGNyZWF0ZWRcbiIKKyIgLWQsIC0tZGF0YSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgYSBwcm9jZXNzJ3MgZGF0YSBzZWdtZW50XG4iCisiIC1lLCAtLW5pY2UgICAgICAgICAgICAgbWF4aW11bSBuaWNlIHByaW9yaXR5IGFsbG93ZWQgdG8gcmFpc2VcbiIKKyIgLWYsIC0tZnNpemUgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgZmlsZXMgd3JpdHRlbiBieSB0aGUgcHJvY2Vzc1xuIgorIiAtaSwgLS1zaWdwZW5kaW5nICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFsc1xuIgorIiAtbCwgLS1tZW1sb2NrICAgICAgICAgIG1heGltdW0gc2l6ZSBhIHByb2Nlc3MgbWF5IGxvY2sgaW50byBtZW1vcnlcbiIKKyIgLW0sIC0tcnNzICAgICAgICAgICAgICBtYXhpbXVtIHJlc2lkZW50IHNldCBzaXplXG4iCisiIC1uLCAtLW5vZmlsZSAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2Ygb3BlbiBmaWxlc1xuIgorIiAtcSwgLS1tc2dxdWV1ZSAgICAgICAgIG1heGltdW0gYnl0ZXMgaW4gUE9TSVggbWVzc2FnZSBxdWV1ZXNcbiIKKyIgLXIsIC0tcnRwcmlvICAgICAgICAgICBtYXhpbXVtIHJlYWwtdGltZSBzY2hlZHVsaW5nIHByaW9yaXR5XG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAgbWF4aW11bSBzdGFjayBzaXplXG4iCisiIC10LCAtLWNwdSAgICAgICAgICAgICAgbWF4aW11bSBhbW91bnQgb2YgQ1BVIHRpbWUgaW4gc2Vjb25kc1xuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHVzZXIgcHJvY2Vzc2VzXG4iCisiIC12LCAtLWFzICAgICAgICAgICAgICAgc2l6ZSBvZiB2aXJ0dWFsIG1lbW9yeVxuIgorIiAteCwgLS1sb2NrcyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIGZpbGUgbG9ja3NcbiIKKyIgLXksIC0tcnR0aW1lICAgICAgICAgICBDUFUgdGltZSBpbiBtaWNyb3NlY29uZHMgYSBwcm9jZXNzIHNjaGVkdWxlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVyIHJlYWwtdGltZSBzY2hlZHVsaW5nXG4iCittc2dzdHIgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICDkvZzmiJDjgafjgY3jgovjgrPjgqLjg5XjgqHjgqTjg6vjga7mnIDlpKfjgrXjgqTjgrrjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLWQsIC0tZGF0YSAgICAgICAgICAgICDjg5fjg63jgrvjgrnjga7jg4fjg7zjgr/jgrvjgrDjg6Hjg7Pjg4jjga7mnIDlpKfjgrXjgqTjgrrjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLWUsIC0tbmljZSAgICAgICAgICAgICDoqLHlj6/jgZXjgozjgovmnIDkuIrkvY3jga4gbmljZSDlhKrlhYjpoIbkvY3jgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLWYsIC0tZnNpemUgICAgICAgICAgICDjg5fjg63jgrvjgrnjgYzmm7jjgY3ovrzjgoDjgZPjgajjga7jgafjgY3jgovmnIDlpKfjg5XjgqHjgqTjg6vjgrXjgqTjgrrjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLWksIC0tc2lncGVuZGluZyAgICAgICDpgYXlu7bjgrfjgrDjg4rjg6vjga7mnIDlpKfmlbDjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICDjg5fjg63jgrvjgrnjgYzjg63jg4Pjgq/jgafjgY3jgovmnIDlpKfjga7jg6Hjg6Ljg6rjgrXjgqTjgrrjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLW0sIC0tcnNzICAgICAgICAgICAgICDmnIDlpKfluLjpp5Djgrvjg4Pjg4jjgrXjgqTjgrrjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICDplovjgY/jgZPjgajjga7jgafjgY3jgovmnIDlpKfjg5XjgqHjgqTjg6vmlbDjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBQT1NJWCDjg6Hjg4Pjgrvjg7zjgrjjgq3jg6Xjg7zjga7mnIDlpKfjg5DjgqTjg4jmlbDjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLXIsIC0tcnRwcmlvICAgICAgICAgICDmnIDkuIrkvY3jga7jg6rjgqLjg6vjgr/jgqTjg6DjgrnjgrHjgrjjg6Xjg7zjg6vlhKrlhYjpoIbkvY3jgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICDmnIDlpKfjgrnjgr/jg4Pjgq/jgrXjgqTjgrrjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLXQsIC0tY3B1ICAgICAgICAgICAgICBDUFUg5pmC6ZaT44Gu5pyA5aSn5YCk44KS56eS5Y2Y5L2N44Gn5oyH5a6a44GX44G+44GZXG4iCisiIC11LCAtLW5wcm9jICAgICAgICAgICAg44Om44O844K244OX44Ot44K744K544Gu5pyA5aSn5pWw44KS5oyH5a6a44GX44G+44GZXG4iCisiIC12LCAtLWFzICAgICAgICAgICAgICAg5Luu5oOz44Oh44Oi44Oq44Gu44K144Kk44K644KS5oyH5a6a44GX44G+44GZXG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAg44OV44Kh44Kk44Or44Ot44OD44Kv5pWw44Gu5pyA5aSn5YCk44KS5oyH5a6a44GX44G+44GZXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAg44Oq44Ki44Or44K/44Kk44Og44K544Kx44K444Ol44O844Or55Kw5aKD44Gn44CB44OX44Ot44K744K544Gr5Ymy44KK5b2T44Gm44KL5pyA5aSn44GuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgQ1BVIOaZgumWk+OCkuODnuOCpOOCr+ODreenkuWNmOS9jeOBp+aMh+WumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0MyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzEKK21zZ2lkICJ1bmxpbWl0ZWQiCittc2dzdHIgIuWItumZkOOBquOBlyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBvbGQgJXMgbGltaXQiCittc2dzdHIgIuWPpOOBhCAlcyDliLbpmZDjga7lj5blvpfjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzU2CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBzb2Z0IGxpbWl0ICVzIGNhbm5vdCBleGNlZWQgdGhlIGhhcmQgbGltaXQiCittc2dzdHIgIiVzIOOBruOCveODleODiOODquODn+ODg+ODiOWApOOBr+OAgeODj+ODvOODieODquODn+ODg+ODiOOBruWApOOCiOOCiuWkp+OBjeOBj+OBmeOCi+OBk+OBqOOBr+OBp+OBjeOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5ldyAlcyBsaW1pdCBmb3IgcGlkICVkOiAiCittc2dzdHIgIuaWsOOBl+OBhCAlcyDjg6rjg5/jg4Pjg4g6ICIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgIiVzIOizh+a6kOODquODn+ODg+ODiOOBruioreWumuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgIiVzIOizh+a6kOODquODn+ODg+ODiOOBruWPluW+l+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIGxpbWl0IgorbXNnc3RyICIlcyDjg6rjg5/jg4Pjg4jjga7op6Pph4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NTg1Cittc2dpZCAib3B0aW9uIC0tcGlkIG1heSBiZSBzcGVjaWZpZWQgb25seSBvbmNlIgorbXNnc3RyICLjgqrjg5fjgrfjg6fjg7MgLS1waWQg44Gv5LiA5bqm44Gg44GR5oyH5a6a44Gn44GN44G+44GZIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjYxNgorbXNnaWQgIm9wdGlvbnMgLS1waWQgYW5kIENPTU1BTkQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLS1waWQg44Go44Kz44Oe44Oz44OJ44Gv5ZCM5pmC44Gr5oyH5a6a44GZ44KL44GT44Go44Gv44Gn44GN44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAiRGlzcGxheSBrZXJuZWwgcHJvZmlsaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIOOCq+ODvOODjeODq+ODoeODg+OCu+ODvOOCuOOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1tLCAtLW1hcGZpbGUgPG1hcGZpbGU+ICAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCittc2dzdHIgIiAtbSwgLS1tYXBmaWxlIDzjg57jg4Pjg5fjg5XjgqHjgqTjg6s+ICjml6LlrprlgKQ6IFwiJXNcIiDjgYrjgojjgbNcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIlc1wiKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJXNcIilcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtcCwgLS1wcm9maWxlIDxwcm8tZmlsZT4gIChkZWZhdWx0OiAgXCIlc1wiKVxuIgorbXNnc3RyICIgLXAsIC0tcHJvZmlsZSA844OX44Ot44OV44Kh44Kk44OrPiAo5pei5a6a5YCkOiAgXCIlc1wiKVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTYKK21zZ2lkICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorbXNnc3RyICIgLU0sIC0tbXVsdGlwbGllciA85LmX5pWwPiAgIOODl+ODreODleOCoeOCpOODq+aZguOBruS5l+aVsOOCkiA85LmX5pWwPiDjgavoqK3lrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE3Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgcHJpbnQgb25seSBpbmZvIGFib3V0IHRoZSBzYW1wbGluZyBzdGVwXG4iCittc2dzdHIgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIOOCteODs+ODl+ODquODs+OCsOOCueODhuODg+ODl+OBq+mWouOBmeOCi+aDheWgseOBruOBv+OCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTgKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBwcmludCB2ZXJib3NlIGRhdGFcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAg5YaX6ZW344Gq44OH44O844K/5Ye65Yqb44KS6KGM44GE44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIHByaW50IGFsbCBzeW1ib2xzLCBldmVuIGlmIGNvdW50IGlzIDBcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgMCDjgafjgYLjgovpoIXnm67jgpLlkKvjgoHjgIHjgZnjgbnjgabjga7jgrfjg7Pjg5zjg6vjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIwCittc2dpZCAiIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorbXNnc3RyICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICDlgIvliKXjga7jg5Ljgrnjg4jjgrDjg6njg6Djg7vjg5Pjg7Pjgqvjgqbjg7Pjg4jjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIxCittc2dpZCAiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCittc2dzdHIgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIOmWouaVsOWGheOBp+WAi+WIpeOBruOCq+OCpuODs+OCv+OCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjIKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIOOBmeOBueOBpuOBruOCq+OCpuODs+OCv+OCkuODquOCu+ODg+ODiOOBl+OBvuOBmSAocm9vdCDjga7jgb8pXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMworbXNnaWQgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorbXNnc3RyICIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICDjg5DjgqTjg4jpoIbluo/jga7oh6rli5XmpJzlh7rjgpLnhKHlirnljJbjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjQwCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHdyaXRpbmcgJXMiCittc2dzdHIgIiVzIOOBuOOBruabuOOBjei+vOOBv+aZguOBq+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjcxCittc2dpZCAiQXNzdW1pbmcgcmV2ZXJzZWQgYnl0ZSBvcmRlci4gVXNlIC1uIHRvIGZvcmNlIG5hdGl2ZSBieXRlIG9yZGVyLiIKK21zZ3N0ciAi44OQ44Kk44OI6aCG5bqP44GM6YCG44Gn44GC44KL44KC44Gu44Go5Luu5a6a44GX44G+44GZ44CCIC1uIOOCkuS9v+eUqOOBmeOCi+OBqOOAgeODjeOCpOODhuOCo+ODluOBquODkOOCpOODiOmghuW6j+OBq+ioreWumuOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAgiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6Mjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTYW1wbGluZ19zdGVwOiAldVxuIgorbXNnc3RyICLjgrXjg7Pjg5fjg6rjg7PjgrDjgrnjg4bjg4Pjg5c6ICVpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMwMiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMoJWkpOiB3cm9uZyBtYXAgbGluZSIKK21zZ3N0ciAiJXMoJWkpOiDjg57jg4Pjg5fjg5XjgqHjgqTjg6vjgYzplpPpgZXjgaPjgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIFwiX3N0ZXh0XCIgaW4gJXMiCittc2dzdHIgIiVzIOWGheOBqyBcIl9zdGV4dFwiIOOBjOimi+OBpOOBi+OCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzQ2Cittc2dpZCAicHJvZmlsZSBhZGRyZXNzIG91dCBvZiByYW5nZS4gV3JvbmcgbWFwIGZpbGU/IgorbXNnc3RyICLjg5fjg63jg5XjgqHjgqTjg6vjga7jgqLjg4njg6zjgrnjgYznr4Tlm7LlpJbjgavjgarjgaPjgabjgYTjgb7jgZnjgILjg57jg4Pjg5fjg5XjgqHjgqTjg6vjgYzplpPpgZXjgaPjgabjgYTjgovlj6/og73mgKfjgYzjgYLjgorjgb7jgZnjgIIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjQwNAorbXNnaWQgInRvdGFsIgorbXNnc3RyICLlkIjoqIgiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MgorbXNnaWQgInByb2Nlc3MgSUQiCittc2dzdHIgIuODl+ODreOCu+OCuSBJRCIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUzCittc2dpZCAicHJvY2VzcyBncm91cCBJRCIKK21zZ3N0ciAi44OX44Ot44K744K544Kw44Or44O844OXIElEIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiBbLXB8LS1waWRdIDxwaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtZ3wtLXBncnAgPHBnaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtdXwtLXVzZXIgPHVzZXI+Li4uXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLW5dIDzlhKrlhYjpoIbkvY0+IFstcHwtLXBpZF0gPHBpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDzlhKrlhYjpoIbkvY0+ICAtZ3wtLXBncnAgPHBnaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA85YSq5YWI6aCG5L2NPiAgLXV8LS11c2VyIDzjg6bjg7zjgrY+Li4uXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2NworbXNnaWQgIkFsdGVyIHRoZSBwcmlvcml0eSBvZiBydW5uaW5nIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXByaW9yaXR5IDxudW0+ICAgc3BlY2lmeSB0aGUgbmljZSBpbmNyZW1lbnQgdmFsdWVcbiIKK21zZ3N0ciAiIC1DLCAtLWN5bGluZGVycyA85pWw5YCkPiAgICAgICAg44K344Oq44Oz44OA5pWw44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MQorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBJRCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1pLCAtLWlkICAgICAgICAgICAgICAgIOODl+ODreOCu+OCuSBJRCDjgavjgaTjgYTjgabjgoLjg63jgrDjgpLoqJjpjLLjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcyCisjLCBmdXp6eQorbXNnaWQgIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIGdyb3VwIElEXG4iCittc2dzdHIgIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgIOODjeODvOODoOOCueODmuODvOOCueOCkuWPluW+l+OBmeOCi+ODl+ODreOCu+OCueOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzMKK21zZ2lkICIgLXUsIC0tdXNlciA8bmFtZT58PGlkPiBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICIlZCAoJXMpIOOBruWEquWFiOmghuS9jeOBruWPluW+l+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjk5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgIiVkICglcykg44Gu5YSq5YWI6aCG5L2N44Gu6Kit5a6a44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkICglcykgb2xkIHByaW9yaXR5ICVkLCBuZXcgcHJpb3JpdHkgJWRcbiIKK21zZ3N0ciAiJWQgKCVzKSDlvpPmnaXjga7lhKrlhYjpoIbkvY3jga8gJWQg44GnLCDmlrDjgZfjgYTlhKrlhYjpoIbkvY3jga8gJWQg44Gn44GZXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB1c2VyICVzIgorbXNnc3RyICLkuI3mmI7jgarjg6bjg7zjgrYgJXMg44Gn44GZIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIG9uZSBvZiB0aGUgYWJvdmUKKyMuICogdGhyZWUgSUQgbmFtZXMuIFJlYWQ6ICJiYWQgdmFsdWUgZm9yICVzOiAlcyIKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCAlcyB2YWx1ZTogJXMiCittc2dzdHIgIuWItumZkOaZgumWk+OBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkzogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6OTgKK21zZ2lkICJFbnRlciBhIHN5c3RlbSBzbGVlcCBzdGF0ZSB1bnRpbCBhIHNwZWNpZmllZCB3YWtldXAgdGltZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMQorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgcmVhZHMgdGhlIGNsb2NrIG1vZGUgZnJvbSBhZGp1c3QgZmlsZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1hLCAtLWF1dG8gICAgICAgICAgICAgICDoqr/mlbTjg5XjgqHjgqTjg6vjgYvjgonjgq/jg63jg4Pjgq/jg6Ljg7zjg4njgpLoqq3jgb/ovrzjgb/jgb7jgZkgKOaXouWumuWApClcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtQSwgLS1hZGpmaWxlIDxmaWxlPiAgICAgc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlc1xuIgorbXNnc3RyICIiCisiIC1BLCAtLWFkamZpbGUgPOODleOCoeOCpOODqz4g6Kq/5pW044OV44Kh44Kk44Or44Gu44OR44K544KS5oyH5a6a44GX44G+44GZXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXouWumuWApDogJXNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICBkYXRlIHRpbWUgb2YgdGltZXN0YW1wIHRvIHdha2VcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgPHRpbWVfdD4gICAgICDlvqnluLDjgZnjgovmmYLliLvjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDYKK21zZ2lkICIgLWQsIC0tZGV2aWNlIDxkZXZpY2U+ICAgIHNlbGVjdCBydGMgZGV2aWNlIChydGMwfHJ0YzF8Li4uKVxuIgorbXNnc3RyICIgLWQsIC0tZGV2aWNlIDzjg4fjg5DjgqTjgrk+IFJUQyDjg4fjg5DjgqTjgrnjgpLmjIflrprjgZfjgb7jgZkgKHJ0YzB8cnRjMXwuLi4pXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA3Cittc2dpZCAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBkb2VzIGV2ZXJ5dGhpbmcsIGJ1dCBzdXNwZW5kXG4iCittc2dzdHIgIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAg5a6f6Zqb44Gu44K144K544Oa44Oz44OJ5Yem55CG5Lul5aSW44Gu44GZ44G544Gm44KS6KGM44GE44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA4Cittc2dpZCAiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICBSVEMgdXNlcyBsb2NhbCB0aW1lem9uZVxuIgorbXNnc3RyICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyDjgYzjg63jg7zjgqvjg6vmmYLliLvjgavjgarjgaPjgabjgYTjgovjgoLjga7jgajjgb/jgarjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDkKK21zZ2lkICIgICAgIC0tbGlzdC1tb2RlcyAgICAgICAgIGxpc3QgYXZhaWxhYmxlIG1vZGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTAKK21zZ2lkICIgLW0sIC0tbW9kZSA8bW9kZT4gICAgICAgIHN0YW5kYnl8bWVtfC4uLiBzbGVlcCBtb2RlXG4iCittc2dzdHIgIiAtbSwgLS1tb2RlIDzjg6Ljg7zjg4k+ICAgICAgc3RhbmRieXxtZW18Li4uIOOCueODquODvOODl+OBruODouODvOODieOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMQorbXNnaWQgIiAtcywgLS1zZWNvbmRzIDxzZWNvbmRzPiAgc2Vjb25kcyB0byBzbGVlcFxuIgorbXNnc3RyICIgLXMsIC0tc2Vjb25kcyA856eSPiAgICAgICDjgrnjg6rjg7zjg5fjgZnjgovnp5LmlbDjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTIKK21zZ2lkICIgLXQsIC0tdGltZSA8dGltZV90PiAgICAgIHRpbWUgdG8gd2FrZVxuIgorbXNnc3RyICIgLXQsIC0tdGltZSA8dGltZV90PiAgICAgIOW+qeW4sOOBmeOCi+aZguWIu+OCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMworbXNnaWQgIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIHVzZXMgVVRDXG4iCittc2dzdHIgIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIOOBjCBVVEMg44Gr44Gq44Gj44Gm44GE44KL44KC44Gu44Go44G/44Gq44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAg5YaX6ZW344Gq44Oh44OD44K744O844K444KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTY3Cittc2dpZCAicmVhZCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgIlJUQyDjga7mmYLliLvoqq3jgb/lh7rjgZfjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTczCittc2dpZCAicmVhZCBzeXN0ZW0gdGltZSBmYWlsZWQiCittc2dzdHIgIuOCt+OCueODhuODoOaZguWIu+OBruiqreOBv+WHuuOBl+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxODkKK21zZ2lkICJjb252ZXJ0IHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiUlRDIOaZguWIu+OBruWkieaPm+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyMzcKK21zZ2lkICJzZXQgcnRjIHdha2UgYWxhcm0gZmFpbGVkIgorbXNnc3RyICJSVEMg5b6p5biw44Ki44Op44O844Og44Gu6Kit5a6a44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB0aGlyZCBsaW5lIGluOiAlczogJXMiCittc2dzdHIgIiVzIOOBp+S6iOacn+OBl+OBquOBhOODleOCoeOCpOODq+OBrue1guerr+OBjOimi+OBpOOBi+OCiuOBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjAgc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjQKK21zZ2lkICJyZWFkIHJ0YyBhbGFybSBmYWlsZWQiCittc2dzdHIgIlJUQyDjgqLjg6njg7zjg6Djga7oqq3jgb/ovrzjgb/jgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvZmZcbiIKK21zZ3N0ciAi44Ki44Op44O844OgOiBPRkZcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMzgKK21zZ2lkICJjb252ZXJ0IHRpbWUgZmFpbGVkIgorbXNnc3RyICLoh6rlm73jga7lpInmj5vjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvbiAgJXMiCittc2dzdHIgIuOCouODqeODvOODoDogT04gICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQ6ICVzIgorbXNnc3RyICIlcyDjgpLoqq3jgb/ovrzjgoDjgZPjgajjgYzjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ8iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDY3CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdXNwZW5kIHN0YXRlICclcyciCittc2dzdHIgIuacquefpeOBruOCteOCueODmuODs+ODieeKtuaFiyAnJXMnIOOBp+OBmSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0NzUKK21zZ2lkICJpbnZhbGlkIHNlY29uZHMgYXJndW1lbnQiCittc2dzdHIgIuenkuaVsOOBruaMh+WumuOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0NzkKK21zZ2lkICJpbnZhbGlkIHRpbWUgYXJndW1lbnQiCittc2dzdHIgIuaZguWIu+OBruW8leaVsOOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIKK21zZ3N0ciAiJXM6IFJUQyDjgYwgVVRDIOOCkuS9v+eUqOOBl+OBpuOBhOOCi+OCguOBruOBqOS7ruWumuOBl+OBvuOBmSAuLi5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTEKK21zZ2lkICJVc2luZyBVVEMgdGltZS5cbiIKK21zZ3N0ciAiVVRDIOOCkuS9v+eUqOOBl+OBvuOBmeOAglxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxMgorbXNnaWQgIlVzaW5nIGxvY2FsIHRpbWUuXG4iCittc2dzdHIgIuODreODvOOCq+ODq+aZguWIu+OCkuS9v+eUqOOBl+OBvuOBmeOAglxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxNQorIywgZnV6enkKK21zZ2lkICJtdXN0IHByb3ZpZGUgd2FrZSB0aW1lIChzZWUgLS1zZWNvbmRzLCAtLXRpbWUgYW5kIC0tZGF0ZSBvcHRpb25zKSIKK21zZ3N0ciAi5b6p5biw5pmC5Yi744KS5oyH5a6a44GX44Gq44GR44KM44Gw44Gq44KK44G+44Gb44KTICgtdCDjgYrjgojjgbMgLXMg44Kq44OX44K344On44Oz44Gn5oyH5a6a44Gn44GN44G+44GZKSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGVuYWJsZWQgZm9yIHdha2V1cCBldmVudHMiCittc2dzdHIgIiVzIOOBr+W+qeW4sOOCpOODmeODs+ODiOOBqOOBl+OBpuacieWKueOBp+OBr+OBguOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm0gJWxkLCBzeXNfdGltZSAlbGQsIHJ0Y190aW1lICVsZCwgc2Vjb25kcyAldVxuIgorbXNnc3RyICLjgqLjg6njg7zjg6AgJWxkLCDjgrfjgrnjg4bjg6DmmYLliLsgJWxkLCBSVEMg5pmC5Yi7ICVsZCwg56eS5pWwICV1XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTM1CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUgZG9lc24ndCBnbyBiYWNrd2FyZCB0byAlcyIKK21zZ3N0ciAi54++5Zyo44KI44KK44KC5YmN44Gu5pmC5Yi7ICglcykg44Gr6Kit5a6a44GZ44KL44GT44Go44Gv44Gn44GN44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlMSRzOiAlMyRzIOOBq+OBguOCiyAlMiRzIOOCkuWIqeeUqOOBl+OBpuW+qeW4sOOBl+OBvuOBmSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCBmcm9tIFwiJXNcIiB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiJTEkczogJTQkcyDjgavjgYLjgosgJTMkcyDjgpLliKnnlKjjgZfjgabjgIEgXCIlMiRzXCIg44GL44KJ5b6p5biw44GX44G+44GZIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU1OQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG5vOyBsZWF2aW5nXG4iCittc2dzdHIgIuOCteOCueODmuODs+ODieODouODvOODiTogbm87IOe1guS6huOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9mZjsgZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIuOCteOCueODmuODs+ODieODouODvOODiTogb2ZmOyAlcyDjgpLlrp/ooYzjgZfjgabjgYTjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvbjsgcmVhZGluZyBydGNcbiIKK21zZ3N0ciAi44K144K544Oa44Oz44OJ44Oi44O844OJOiBvbjsgUlRDIOOCkuiqreOBv+i+vOOCk+OBp+OBhOOBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU5MgorbXNnaWQgInJ0YyByZWFkIGZhaWxlZCIKK21zZ3N0ciAiUlRDIOOBruiqreOBv+i+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBkaXNhYmxlOyBkaXNhYmxpbmcgYWxhcm1cbiIKK21zZ3N0ciAi44K144K544Oa44Oz44OJ44Oi44O844OJOiDnhKHlirk7IOOCouODqeODvOODoOOCkueEoeWKueOBq+OBl+OBpuOBhOOBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIKK21zZ3N0ciAi44K144K544Oa44Oz44OJ44Oi44O844OJOiBzaG93OyDjgqLjg6njg7zjg6Dmg4XloLHjgpLooajnpLrjgZfjgabjgYTjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiAlczsgc3VzcGVuZGluZyBzeXN0ZW1cbiIKK21zZ3N0ciAi44K144K544Oa44Oz44OJ44Oi44O844OJOiAlczsg44K344K544OG44Og44KS44K144K544Oa44Oz44OJ54q25oWL44Gr56e76KGM44GX44Gm44GE44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjI5Cittc2dpZCAiZGlzYWJsZSBydGMgYWxhcm0gaW50ZXJydXB0IGZhaWxlZCIKK21zZ3N0ciAiUlRDIOOCouODqeODvOODoOWJsuOCiui+vOOBv+OBrueEoeWKueWMluOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo0OAorIywgYy1mb3JtYXQKK21zZ2lkICJTd2l0Y2hpbmcgb24gJXMuXG4iCittc2dzdHIgIiVzIOOCkuacieWKueOBq+OBl+OBpuOBhOOBvuOBmeOAglxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGFyY2g+IFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIDzjg5fjg63jgrDjg6njg6A+IFvlvJXmlbAgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10gPOODl+ODreOCsOODqeODoD4gW+W8leaVsCAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTYKK21zZ2lkICJDaGFuZ2UgdGhlIHJlcG9ydGVkIGFyY2hpdGVjdHVyZSBhbmQgc2V0IHBlcnNvbmFsaXR5IGZsYWdzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTkKK21zZ2lkICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIHR1cm5zIG9uIEFERFJfTElNSVRfMzJCSVRcbiIKK21zZ3N0ciAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICBBRERSX0xJTUlUXzMyQklUIOOCkuacieWKueOBq+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMAorbXNnaWQgIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAgbWFrZXMgZnVuY3Rpb24gcG9pbnRlcnMgcG9pbnQgdG8gZGVzY3JpcHRvcnNcbiIKK21zZ3N0ciAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICDplqLmlbDjg53jgqTjg7Pjgr/jgYzjg4fjgqPjgrnjgq/jg6rjg5fjgr/jgpLmjIfjgZnjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDEKK21zZ2lkICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIHR1cm5zIG9uIFNIT1JUX0lOT0RFXG4iCittc2dzdHIgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgU0hPUlRfSU5PREUg44KS5pyJ5Yq544Gr44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAyCittc2dpZCAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCBjaGFuZ2VzIHRoZSB3YXkgdmlydHVhbCBtZW1vcnkgaXMgYWxsb2NhdGVkXG4iCittc2dzdHIgIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQg5Luu5oOz44Oh44Oi44Oq44Gu5Ymy44KK5b2T44Gm5pa55rOV44KS5aSJ5pu044GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAzCittc2dpZCAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBkaXNhYmxlcyByYW5kb21pemF0aW9uIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2VcbiIKK21zZ3N0ciAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICDku67mg7PjgqLjg4njg6zjgrnpoJjln5/jga7kubHmlbDljJbjgpLnhKHlirnjgavjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDQKK21zZ2lkICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHR1cm5zIG9uIFdIT0xFX1NFQ09ORFNcbiIKK21zZ3N0ciAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICBXSE9MRV9TRUNPTkRTIOOCkuacieWKueOBq+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNQorbXNnaWQgIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgdHVybnMgb24gU1RJQ0tZX1RJTUVPVVRTXG4iCittc2dzdHIgIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgU1RJQ0tZX1RJTUVPVVRTIOOCkuacieWKueOBq+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNgorbXNnaWQgIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgdHVybnMgb24gUkVBRF9JTVBMSUVTX0VYRUNcbiIKK21zZ3N0ciAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICBSRUFEX0lNUExJRVNfRVhFQyDjgpLmnInlirnjgavjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDcKK21zZ2lkICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHR1cm5zIG9uIE1NQVBfUEFHRV9aRVJPXG4iCittc2dzdHIgIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgTU1BUF9QQUdFX1pFUk8g44KS5pyJ5Yq544Gr44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA4Cittc2dpZCAiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBsaW1pdHMgdGhlIHVzZWQgYWRkcmVzcyBzcGFjZSB0byBhIG1heGltdW0gb2YgMyBHQlxuIgorbXNnc3RyICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIOS9v+eUqOOBmeOCi+OCouODieODrOOCuemgmOWfn+OCkuOAgeacgOWkpyAzIEdCIOOBvuOBp+OBq+WItumZkOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOQorbXNnaWQgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKK21zZ3N0ciAiICAgICAtLTRnYiAgICAgICAgICAgICAgICDnhKHoppbjgZXjgozjgb7jgZkgKOW+jOaWueS6kuaPm+aAp+OBrueiuuS/neOBruOBn+OCgeOBq+eUqOaEj+OBleOCjOOBpuOBhOOBvuOBmSlcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTAKK21zZ2lkICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHR1cm5zIG9uIFVOQU1FMjZcbiIKK21zZ3N0ciAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICBVTkFNRTI2IOOCkuacieWKueOBq+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheSB3aGF0IG9wdGlvbnMgYXJlIGJlaW5nIHN3aXRjaGVkIG9uXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICDkvZXjgYzooYzjgo/jgozjgovjga7jgYvjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTQKK21zZ2lkICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3Qgc2V0dGFibGUgYXJjaGl0ZWN0dXJlcywgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAtLWxpc3QgICAgICAgICAgICAgICDoqK3lrprlj6/og73jgarjgqLjg7zjgq3jg4bjgq/jg4Hjg6PjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzXG4iCisiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKK21zZ3N0ciAiIgorIiVzXG4iCisi6Kmz44GX44GE5oOF5aCx44Gr44Gk44GE44Gm44Gv44CBIGAlcyAtLWhlbHAnIOOCkuOBiuiqreOBv+OBj+OBoOOBleOBhOOAgiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKK21zZ3N0ciAi6Kmz44GX44GE5oOF5aCx44Gr44Gk44GE44Gm44Gv44CBIGAlcyAtLWhlbHAnIOOCkuOBiuiqreOBv+OBj+OBoOOBleOBhOOAgiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFVucmVjb2duaXplZCBhcmNoaXRlY3R1cmUiCittc2dzdHIgIiAlczog6KqN6K2Y44Gn44GN44Gq44GE44Ki44O844Kt44OG44Kv44OB44Oj44Gn44GZIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiS2VybmVsIGNhbm5vdCBzZXQgYXJjaGl0ZWN0dXJlIHRvICVzIgorbXNnc3RyICIlcyDjgavlr77jgZnjgovliLbpmZDmmYLplpPjgpLoqK3lrprjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzA1Cittc2dpZCAiTm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIuW8leaVsOOBjOS4jei2s+OBl+OBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAi44OR44O844K944OK44Oq44OG44Kj44KSICVzIOOBq+ioreWumuOBmeOCi+WHpueQhuOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNzkKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnLS1saXN0JyIKK21zZ3N0ciAi6KqN6K2Y44Gn44GN44Gq44GE44Kq44OX44K344On44OzICclYycg44Gn44GZIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM4NworIywgZnV6enkKK21zZ2lkICJubyBhcmNoaXRlY3R1cmUgYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICLjgqLjg7zjgq3jg4bjgq/jg4Hjg6M6IgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAi44OR44O844K944OK44Oq44OG44Kj44KSICVzIOOBq+ioreWumuOBmeOCi+WHpueQhuOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGUgY29tbWFuZCBgJXMnLlxuIgorbXNnc3RyICJkYXRlIOOCs+ODnuODs+ODieOCkueZuuihjOOBl+OBpuOBhOOBvuOBmTogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NworbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBkaWZmZXJlbnQgcHJpdmlsZWdlIHNldHRpbmdzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTAwCittc2dpZCAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICBzaG93IGN1cnJlbnQgc3RhdGUgKGFuZCBkbyBub3QgZXhlYyBhbnl0aGluZylcbiIKK21zZ3N0ciAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICDnj77lnKjjga7nirbmhYvjgpLooajnpLrjgZfjgb7jgZkgKOS9leOCguihjOOBhOOBvuOBm+OCkylcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDEKK21zZ2lkICIgLS1ubnAsIC0tbm8tbmV3LXByaXZzICAgIGRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzXG4iCittc2dzdHIgIiAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAg5paw44GX44GE5qip6ZmQ44Gu6Kix5Y+v44KS56aB5q2i44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTAyCittc2dpZCAiIC0taW5oLWNhcHMgPGNhcHMsLi4uPiAgICBzZXQgaW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiAtLWluaC1jYXBzIDxjYXBzLC4uLj4gICAg57aZ5om/5Y+v6IO944Gq44Kx44O844OR44OT44Oq44OG44KjIChjYXBhYmlsaXR5KSDjgpLoqK3lrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDMKK21zZ2lkICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgIHNldCBjYXBhYmlsaXR5IGJvdW5kaW5nIHNldFxuIgorbXNnc3RyICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgIOOCseODvOODkeODk+ODquODhuOCoyAoY2FwYWJpbGl0eSkg44Gu44OQ44Km44Oz44OH44Kj44Oz44Kw44K744OD44OI44KS6Kit5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA0Cittc2dpZCAiIC0tcnVpZCA8dWlkPiAgICAgICAgICAgICBzZXQgcmVhbCB1aWRcbiIKK21zZ3N0ciAiIC0tcnVpZCA8dWlkPiAgICAgICAgICAgICDlrp/pmpvjga4gVUlEIOOCkuioreWumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNQorbXNnaWQgIiAtLWV1aWQgPHVpZD4gICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICDlrp/lirkgVUlEIOOCkuioreWumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNgorbXNnaWQgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgc2V0IHJlYWwgZ2lkXG4iCittc2dzdHIgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAg5a6f6Zqb44GuIEdJRCDjgpLoqK3lrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDcKK21zZ2lkICIgLS1lZ2lkIDxnaWQ+ICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiAtLWVnaWQgPGdpZD4gICAgICAgICAgICAg5a6f5Yq5IEdJRCDjgpLoqK3lrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDgKK21zZ2lkICIgLS1yZXVpZCA8dWlkPiAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiAtLXJldWlkIDx1aWQ+ICAgICAgICAgICAg5a6f6Zqb44GuIFVJRCDjgajlrp/lirkgVUlEIOOBruS4oeaWueOCkuioreWumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwOQorbXNnaWQgIiAtLXJlZ2lkIDxnaWQ+ICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiIC0tcmVnaWQgPGdpZD4gICAgICAgICAgICDlrp/pmpvjga4gR0lEIOOBqOWun+WKuSBHSUQg44Gu5Lih5pa544KS6Kit5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEwCittc2dpZCAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICBjbGVhciBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLS1jbGVhci1ncm91cHMgICAgICAgICAgIOijnOWKqeOCsOODq+ODvOODl+OCkua2iOWOu+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMQorbXNnaWQgIiAtLWtlZXAtZ3JvdXBzICAgICAgICAgICAga2VlcCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgIOijnOWKqeOCsOODq+ODvOODl+OCkue2reaMgeOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMgorbXNnaWQgIiAtLWdyb3VwcyA8Z3JvdXAsLi4uPiAgICAgc2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiAtLWdyb3VwcyA8Z3JvdXAsLi4uPiAgICAg6KOc5Yqp44Kw44Or44O844OX44KS6Kit5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEzCittc2dpZCAiIC0tc2VjdXJlYml0cyA8Yml0cz4gICAgICBzZXQgc2VjdXJlYml0c1xuIgorbXNnc3RyICIgLS1zZWN1cmViaXRzIDzjg5Pjg4Pjg4g+ICAgIHNlY3VyZSBiaXQg44KS6Kit5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE0Cittc2dpZCAiIC0tc2VsaW51eC1sYWJlbCA8bGFiZWw+ICBzZXQgU0VMaW51eCBsYWJlbFxuIgorbXNnc3RyICIgLS1zZWxpbnV4LWxhYmVsIDzjg6njg5njg6s+IFNFTGludXgg44Gu44Op44OZ44Or44KS6Kit5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE1Cittc2dpZCAiIC0tYXBwYXJtb3ItcHJvZmlsZSA8cHI+ICBzZXQgQXBwQXJtb3IgcHJvZmlsZVxuIgorbXNnc3RyICIgLS1hcHBhcm1vci1wcm9maWxlIDxwcj4gIEFwcEFybW9yIOODl+ODreODleOCoeOCpOODq+OCkuioreWumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyMQorbXNnaWQgIiBUaGlzIHRvb2wgY2FuIGJlIGRhbmdlcm91cy4gIFJlYWQgdGhlIG1hbnBhZ2UsIGFuZCBiZSBjYXJlZnVsLlxuIgorbXNnc3RyICIg44GT44Gu44OE44O844Or44Gv5Y2x6Zm644Gq44OE44O844Or44Gn44GZ44CC44Oe44OL44Ol44Ki44Or44Oa44O844K444KS44GK6Kqt44G/44Gu5LiK44CB5rOo5oSP44GX44Gm5L2/55So44GX44Gm44GP44Gg44GV44GE44CCXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTkzIHN5cy11dGlscy9zZXRwcml2LmM6NDY3Cittc2dpZCAiZ2V0dGluZyBwcm9jZXNzIHNlY3VyZSBiaXRzIGZhaWxlZCIKK21zZ3N0ciAi44OX44Ot44K744K544GuIHNlY3VyZSBiaXQg44Gu6Kqt44G/6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN1cmViaXRzOiAiCittc2dzdHIgIlNlY3VyZWJpdHM6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdXG4iCittc2dzdHIgIlvjgarjgZddXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbG9uZyIKK21zZ3N0ciAiJXM6IOmVt+OBmeOBjuOBvuOBmSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHM6ICIKK21zZ3N0ciAi6KOc5Yqp44Kw44Or44O844OXOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjczIHN5cy11dGlscy9zZXRwcml2LmM6MzIxIHN5cy11dGlscy9zZXRwcml2LmM6MzI2CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzMiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV0iCittc2dzdHIgIlvjgarjgZddIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ6ICV1XG4iCittc2dzdHIgIlVJRDogJXVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXVpZDogJXVcbiIKK21zZ3N0ciAiRVVJRDogJXVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VpZDogJXVcbiIKK21zZ3N0ciAiU1VJRDogJXVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTkgc3lzLXV0aWxzL3NldHByaXYuYzozOTEKK21zZ2lkICJnZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJnZXRyZXN1aWQg44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMwOCBzeXMtdXRpbHMvc2V0cHJpdi5jOjQwNgorbXNnaWQgImdldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgImdldHJlc2dpZCDjgYzlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIkVmZmVjdGl2ZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAi5a6f5Yq544Kx44O844OR44OT44Oq44OG44KjOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBlcm1pdHRlZCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAi6Kix5Y+v44GV44KM44KL44Kx44O844OR44OT44Oq44OG44KjOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkluaGVyaXRhYmxlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICLntpnmib/lj6/og73jgarjgrHjg7zjg5Hjg5Pjg6rjg4bjgqM6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FwYWJpbGl0eSBib3VuZGluZyBzZXQ6ICIKK21zZ3N0ciAi44Kx44O844OR44OT44Oq44OG44Kj44OQ44Km44Oz44OH44Kj44Oz44Kw44K744OD44OIOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQzCittc2dpZCAiU0VMaW51eCBsYWJlbCIKK21zZ3N0ciAiU0VMaW51eCDjg6njg5njg6siCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQ2Cittc2dpZCAiQXBwQXJtb3IgcHJvZmlsZSIKK21zZ3N0ciAiQXBwQXJtb3Ig44OX44Ot44OV44Kh44Kk44OrIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYXAgJWQ6IGxpYmNhcC1uZyBpcyBicm9rZW4iCittc2dzdHIgImNhcCAlZDogbGliY2FwLW5nIOOBjOWjiuOCjOOBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODIKK21zZ2lkICJJbnZhbGlkIHN1cHBsZW1lbnRhcnkgZ3JvdXAgaWQiCittc2dzdHIgIuijnOWKqeOCsOODq+ODvOODlyBJRCDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzk5Cittc2dpZCAic2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0cmVzdWlkIOOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MTQKK21zZ2lkICJzZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJzZXRyZXNnaWQg44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQzNQorbXNnaWQgImJhZCBjYXBhYmlsaXR5IHN0cmluZyIKK21zZ3N0ciAi44Kx44O844OR44OT44Oq44OG44Kj44Gu5paH5a2X44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ0MworbXNnaWQgImxpYmNhcC1uZyBpcyB0b28gb2xkIGZvciBcImFsbFwiIGNhcHMiCittc2dzdHIgImxpYmNhcC1uZyDjga8gXCJhbGxcIiDjgpLkvb/nlKjjgZnjgovjgavjga/lj6TjgZnjgY7jgb7jgZkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDUyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY2FwYWJpbGl0eSBcIiVzXCIiCittc2dzdHIgIuacquefpeOBruOCseODvOODkeODk+ODquODhuOCoyBcIiVzXCIg44Gn44GZIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ3NgorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQgc2V0IC0tIHJlZnVzaW5nIHRvIGFkanVzdCIKK21zZ3N0ciAi6KqN6K2Y44Gn44GN44Gq44GEIHNlY3VyZSBiaXQg44K744OD44OI44Gn44GZIC0tIOiqv+aVtOOBr+aLkuWQpuOBleOCjOOBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0ODAKK21zZ2lkICJiYWQgc2VjdXJlYml0cyBzdHJpbmciCittc2dzdHIgInNlY3VyZSBiaXQg44Gu5paH5a2X5YiX44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ4NworbXNnaWQgIithbGwgc2VjdXJlYml0cyBpcyBub3QgYWxsb3dlZCIKK21zZ3N0ciAiK2FsbCBzZWN1cmUgYml0IOOBr+ioseWPr+OBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDAKK21zZ2lkICJhZGp1c3Rpbmcga2VlcF9jYXBzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgImtlZXBfY2FwcyDjga7oqr/mlbTjga/mhI/lkbPjgYzjgYLjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTA0Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAic2VjdXJlIGJpdCDjgYzoqo3orZjjgafjgY3jgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTI0Cittc2dpZCAiU0VMaW51eCBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiU0VMaW51eCDjgYzli5XkvZzjgZfjgabjgYTjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb3NlIGZhaWxlZDogJXMiCittc2dzdHIgIumWieOBmOOCi+OBruOBq+WkseaVl+OBl+OBvuOBl+OBnzogJXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTQ3Cittc2dpZCAiQXBwQXJtb3IgaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIkFwcEFybW9yIOOBjOWLleS9nOOBl+OBpuOBhOOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NTgKK21zZ2lkICJkdXBsaWNhdGUgLS1uby1uZXctcHJpdnMgb3B0aW9uIgorbXNnc3RyICItLW5vLW5ldy1wcml2cyDjgqrjg5fjgrfjg6fjg7PjgYzph43opIfjgZfjgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjYzCittc2dpZCAiZHVwbGljYXRlIHJ1aWQiCittc2dzdHIgInJ1aWQg44GM6YeN6KSH44GX44Gm44GE44G+44GZIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY2NQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBydWlkIgorbXNnc3RyICJydWlkIOOBruino+mHiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NjkKK21zZ2lkICJkdXBsaWNhdGUgZXVpZCIKK21zZ3N0ciAiZXVpZCDjgYzph43opIfjgZfjgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjcxCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGV1aWQiCittc2dzdHIgImV1aWQg44Gu6Kej6YeI44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY3NQorbXNnaWQgImR1cGxpY2F0ZSBydWlkIG9yIGV1aWQiCittc2dzdHIgInJ1aWQg44G+44Gf44GvIGV1aWQg44GM6YeN6KSH44GX44Gm44GE44G+44GZIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY3NworbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZXVpZCIKK21zZ3N0ciAicmV1aWQg44Gu6Kej6YeI44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4MQorbXNnaWQgImR1cGxpY2F0ZSByZ2lkIgorbXNnc3RyICJyZ2lkIOOBjOmHjeikh+OBl+OBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmdpZCIKK21zZ3N0ciAicmdpZCDjga7op6Pph4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njg3Cittc2dpZCAiZHVwbGljYXRlIGVnaWQiCittc2dzdHIgImVnaWQg44GM6YeN6KSH44GX44Gm44GE44G+44GZIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlZ2lkIgorbXNnc3RyICJlZ2lkIOOBruino+mHiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2OTMKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCBvciBlZ2lkIgorbXNnc3RyICJyZ2lkIOOBvuOBn+OBryByZ2lkIOOBjOmHjeikh+OBl+OBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2OTUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmVnaWQiCittc2dzdHIgInJlZ2lkIOOBruino+mHiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MDAKK21zZ2lkICJkdXBsaWNhdGUgLS1jbGVhci1ncm91cHMgb3B0aW9uIgorbXNnc3RyICItLWNsZWFyLWdyb3VwcyDjgqrjg5fjgrfjg6fjg7PjgYzph43opIfjgZfjgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzA2Cittc2dpZCAiZHVwbGljYXRlIC0ta2VlcC1ncm91cHMgb3B0aW9uIgorbXNnc3RyICItLWtlZXAtZ3JvdXBzIOOCquODl+OCt+ODp+ODs+OBjOmHjeikh+OBl+OBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MTIKK21zZ2lkICJkdXBsaWNhdGUgLS1ncm91cHMgb3B0aW9uIgorbXNnc3RyICItLWdyb3VwcyDjgqrjg5fjgrfjg6fjg7PjgYzph43opIfjgZfjgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzIxCittc2dpZCAiZHVwbGljYXRlIC0taW5oLWNhcHMgb3B0aW9uIgorbXNnc3RyICItLWluaC1jYXBzIOOCquODl+OCt+ODp+ODs+OBjOmHjeikh+OBl+OBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MjcKK21zZ2lkICJkdXBsaWNhdGUgLS1ib3VuZGluZy1zZXQgb3B0aW9uIgorbXNnc3RyICItLWJvdW5kaW5nLXNldCDjgqrjg5fjgrfjg6fjg7PjgYzph43opIfjgZfjgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzMzCittc2dpZCAiZHVwbGljYXRlIC0tc2VjdXJlYml0cyBvcHRpb24iCittc2dzdHIgIi0tc2VjdXJlYml0cyDjgqrjg5fjgrfjg6fjg7PjgYzph43opIfjgZfjgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzM5Cittc2dpZCAiZHVwbGljYXRlIC0tc2VsaW51eC1sYWJlbCBvcHRpb24iCittc2dzdHIgIi0tc2VsaW51eC1sYWJlbCDjgYzph43opIfjgZfjgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzQ1Cittc2dpZCAiZHVwbGljYXRlIC0tYXBwYXJtb3ItcHJvZmlsZSBvcHRpb24iCittc2dzdHIgIi0tYXBwYXJtb3ItcHJvZmlsZSDjgqrjg5fjgrfjg6fjg7PjgYzph43opIfjgZfjgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzU2CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJyVjJyIKK21zZ3N0ciAi6KqN6K2Y44Gn44GN44Gq44GE44Kq44OX44K344On44OzICclYycg44Gn44GZIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc2MworbXNnaWQgIi0tZHVtcCBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgb3B0aW9ucyIKK21zZ3N0ciAiLS1kdW1wIOOBr+S7luOBruOCquODl+OCt+ODp+ODs+OBqOOBruS6kuaPm+aAp+OBjOOBguOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzEKK21zZ2lkICItLWxpc3QtY2FwcyBtdXN0IGJlIHNwZWNpZmllZCBhbG9uZSIKK21zZ3N0ciAiLS1saXN0LWNhcHMg44Gv5Y2Y54us44Gn5oyH5a6a44GX44Gq44GR44KM44Gw44Gq44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3NworbXNnaWQgIk5vIHByb2dyYW0gc3BlY2lmaWVkIgorbXNnc3RyICLjg5fjg63jgrDjg6njg6DjgYzmjIflrprjgZXjgozjgabjgYTjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgyCittc2dpZCAiLS1bcmVdZ2lkIHJlcXVpcmVzIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCBvciAtLWdyb3VwcyIKK21zZ3N0ciAiLS1bcmVdZ2lkIOOBryAtLWtlZXAtZ3JvdXBzLCAtLWNsZWFyLWdyb3VwcywgLS1ncm91cHMg44Gu44GE44Ga44KM44GL44KS5b+F6KaB44Go44GX44G+44GZIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4NQorbXNnaWQgImRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzIGZhaWxlZCIKK21zZ3N0ciAi5paw44GX44GE5qip6ZmQ44Gu6Kix5Y+v56aB5q2i44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MworbXNnaWQgImtlZXAgcHJvY2VzcyBjYXBhYmlsaXRpZXMgZmFpbGVkIgorbXNnc3RyICLjg5fjg63jgrvjgrnjga7jgrHjg7zjg5Hjg5Pjg6rjg4bjgqPntq3mjIHjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODAxCittc2dpZCAiYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICLjgrHjg7zjg5Hjg5Pjg6rjg4bjgqPjga7mnInlirnljJYiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA3Cittc2dpZCAicmVhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIuOCseODvOODkeODk+ODquODhuOCo+OBruWGjeacieWKueWMliIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjMKK21zZ2lkICJzZXQgcHJvY2VzcyBzZWN1cmViaXRzIGZhaWxlZCIKK21zZ3N0ciAi44OX44Ot44K744K544GuIHNlY3VyZSBiaXQg44Gu6Kit5a6a44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyOQorbXNnaWQgImFwcGx5IGJvdW5kaW5nIHNldCIKK21zZ3N0ciAi44OQ44Km44Oz44OH44Kj44Oz44Kw44K744OD44OI44Gu6Kit5a6aIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgzNQorbXNnaWQgImFwcGx5IGNhcGFiaWxpdGllcyIKK21zZ3N0ciAi44Kx44O844OR44OT44Oq44OG44Kj44Gu6YGp55SoIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg0MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZXhlY3V0ZTogJXMiCittc2dzdHIgIuWun+ihjOOBp+OBjeOBvuOBm+OCkzogJXMiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozMgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJndW1lbnRzIC4uLl1cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIDzjg5fjg63jgrDjg6njg6A+IFvlvJXmlbAgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzYKKyMsIGZ1enp5Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSBpbiBhIG5ldyBzZXNzaW9uLlxuIgorbXNnc3RyICLlrp/ooYzjgZnjgovjgrPjg57jg7Pjg4njga7jgZ/jgoHjgavmlrDjgZfjgYQgUEFNIOOCu+ODg+OCt+ODp+ODs+OCkueUn+aIkOOBmeOCiyIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjM5Cittc2dpZCAiIC1jLCAtLWN0dHkgICAgIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwgdG8gdGhlIGN1cnJlbnQgb25lXG4iCittc2dzdHIgIiAtYywgLS1jdHR5ICAgICDliLblvqHnq6/mnKvjgpLnj77lnKjjga7nq6/mnKvjgavoqK3lrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQwCittc2dpZCAiIC13LCAtLXdhaXQgICAgIHdhaXQgcHJvZ3JhbSB0byBleGl0LCBhbmQgdXNlIHRoZSBzYW1lIHJldHVyblxuIgorbXNnc3RyICIgLXcsIC0td2FpdCAgICAg44OX44Ot44Kw44Op44Og44Gu57WC5LqG44KS5b6F44Gj44Gm5ZCM5LiA44Gu5oi744KK5YCk44KS5L2/44GE44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo5MworbXNnaWQgImZvcmsiCittc2dzdHIgImZvcmsiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hpbGQgJWQgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICLlrZDjg5fjg63jgrvjgrkgJWQg44GM5q2j5bi457WC5LqG44GX44G+44Gb44KT44Gn44GX44GfIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEwCittc2dpZCAic2V0c2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0c2lkIOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExMworbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIgorbXNnc3RyICLliLblvqHnq6/mnKvjga7oqK3lrprjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcG9mZiAlc1xuIgorbXNnc3RyICLjgrnjg6/jg4Pjg5cgJXMg44KS54Sh5Yq55YyW44GX44Gm44GE44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA1Cittc2dpZCAiTm90IHN1cGVydXNlci4iCittc2dzdHIgIuOCueODvOODkeODvOODpuODvOOCtuODvOOBp+OBr+OBguOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvZmYgZmFpbGVkIgorbXNnc3RyICIlczogc3dhcG9mZiDjgYzlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTIyIHN5cy11dGlscy9zd2Fwb24uYzo3ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHNwZWM+XVxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10gWzzmjIflrpo+XVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyNQorbXNnaWQgIkRpc2FibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjgKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgc3dhcHMgZnJvbSAvcHJvYy9zd2Fwc1xuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgL3Byb2Mvc3dhcHMg44Gr44GC44KL44GZ44G544Gm44Gu44K544Ov44OD44OX44KS54Sh5Yq544Gr44GX44G+44GZXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAg5YaX6ZW35Ye65Yqb44KS6KGM44GE44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTM1Cittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisiXG4iCisiPOaMh+Wumj4g44Gn5Yip55So44Gn44GN44KL44OR44Op44Oh44O844K/OlxuIgorIiAtTCA844Op44OZ44OrPiAgICAgICAgICAgIOS9v+eUqOOBmeOCi+ODh+ODkOOCpOOCueOBruODqeODmeODq1xuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIOS9v+eUqOOBmeOCi+ODh+ODkOOCpOOCueOBriBVVUlEXG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAg5L2/55So44GZ44KL44OH44OQ44Kk44K544Gu44Op44OZ44OrXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAg5L2/55So44GZ44KL44OH44OQ44Kk44K544GuIFVVSURcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICDkvb/nlKjjgZnjgovjg4fjg5DjgqTjgrnjga7lkI3liY1cbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICDkvb/nlKjjgZnjgovjg5XjgqHjgqTjg6vjga7lkI3liY1cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkzCittc2dpZCAiZGV2aWNlIGZpbGUgb3IgcGFydGl0aW9uIHBhdGgiCittc2dzdHIgIuODh+ODkOOCpOOCueODleOCoeOCpOODq+OBvuOBn+OBr+ODkeODvOODhuOCo+OCt+ODp+ODs+ODkeOCuSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk0Cittc2dpZCAidHlwZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICLjg4fjg5DjgqTjgrnjga7nqK7poZ4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NQorbXNnaWQgInNpemUgb2YgdGhlIHN3YXAgYXJlYSIKK21zZ3N0ciAi44K544Ov44OD44OX6aCY5Z+f44Gu44K144Kk44K6IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTYKK21zZ2lkICJieXRlcyBpbiB1c2UiCittc2dzdHIgIuS9v+eUqOa4iOOBv+OBruODkOOCpOODiOaVsCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk3Cittc2dpZCAic3dhcCBwcmlvcml0eSIKK21zZ3N0ciAi44K544Ov44OD44OX44Gu5YSq5YWI6aCG5L2NIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTgKKyMsIGZ1enp5Cittc2dpZCAic3dhcCB1dWlkIgorbXNnc3RyICIlczog44K544Ov44OD44OXIFVVSUQg44KS5Y+W5b6X44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAic3dhcCBsYWJlbCIKK21zZ3N0ciAiJXM6IOOCueODr+ODg+ODl+ODqeODmeODq+OCkuWPluW+l+OBp+OBjeOBvuOBm+OCk+OBp+OBl+OBnyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlc1x0XHRcdFx0VHlwZVx0XHRTaXplXHRVc2VkXHRQcmlvcml0eVxuIgorbXNnc3RyICIlc1x0XHRcdFx044K/44Kk44OXXHRcdOOCteOCpOOCulx05L2/55So5riI44G/XHTlhKrlhYjpoIbkvY1cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI0NgorbXNnaWQgIkZpbGVuYW1lIgorbXNnc3RyICLjg5XjgqHjgqTjg6vlkI0iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlaW5pdGlhbGl6aW5nIHRoZSBzd2FwLiIKK21zZ3N0ciAiJXM6IOOCueODr+ODg+ODl+OCkuWGjeWIneacn+WMluOBl+OBpuOBhOOBvuOBmeOAgiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbHNlZWsgZmFpbGVkIgorbXNnc3RyICIlczogbHNlZWsg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBzaWduYXR1cmUgZmFpbGVkIgorbXNnc3RyICIlczog572y5ZCN44Gu5pu444GN6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyAtIGl0IGFwcGVhcnMgdG8gaGF2ZSBob2xlcy4iCittc2dzdHIgIiVzOiDpo5vjgbDjgZfjgabjgYTjgb7jgZkgLSDjg5vjg7zjg6vjgpLmpJzlh7rjgZfjgb7jgZfjgZ/jgIIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldCBzaXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IOOCteOCpOOCuuOBruWPluW+l+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBzd2FwIGhlYWRlciBmYWlsZWQiCittc2dzdHIgIiVzOiDjgrnjg6/jg4Pjg5fjg5jjg4Pjg4Djga7oqq3jgb/ovrzjgb/jgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZvdW5kIHNpZ25hdHVyZSBbcGFnZXNpemU9JWQsIHNpZ25hdHVyZT0lc10iCittc2dzdHIgIiVzOiDnvbLlkI3jgYzopovjgaTjgYvjgorjgb7jgZfjgZ86IFvjg5rjg7zjgrjjgrXjgqTjgro9JWQsIOe9suWQjT0lc10iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhZ2VzaXplPSVkLCBzd2Fwc2l6ZT0lbGx1LCBkZXZzaXplPSVsbHUiCittc2dzdHIgIiVzOiDjg5rjg7zjgrjjgrXjgqTjgro9JWQsIOOCueODr+ODg+ODl+OCteOCpOOCuj0lbGx1LCDjg4fjg5DjgqTjgrnjgrXjgqTjgro9JWxsdSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGFzdF9wYWdlIDB4JTA4bGx4IGlzIGxhcmdlciB0aGFuIGFjdHVhbCBzaXplIG9mIHN3YXBzcGFjZSIKK21zZ3N0ciAiJXM6IOacgOe1guODmuODvOOCuCAweCUwOGxseCDjga/jgIHjgrnjg6/jg4Pjg5fpoJjln5/jga7lrp/pmpvjga7jgrXjgqTjgrrjgojjgorlpKfjgY3jgYTlgKTjgafjgZkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiIKK21zZ3N0ciAiJXM6IOOCueODr+ODg+ODl+mgmOWfn+OBq+abuOOBi+OCjOOBn+ODmuODvOOCuOOCteOCpOOCuuOBjOWQiOiHtOOBl+OBvuOBm+OCk+OAgiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIChVc2UgLS1maXhwZ3N6IHRvIHJlaW5pdGlhbGl6ZSBpdC4pIgorbXNnc3RyICIlczog44K544Ov44OD44OX6aCY5Z+f44Gr5pu444GL44KM44Gf44Oa44O844K444K144Kk44K644GM5ZCI6Ie044GX44G+44Gb44KTICgtLWZpeHBnc3og44KS5L2/55So44GZ44KL44Go44CB5YaN5Yid5pyf5YyW44GZ44KL44GT44Go44GM44Gn44GN44G+44GZ44CCKSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc29mdHdhcmUgc3VzcGVuZCBkYXRhIGRldGVjdGVkLiBSZXdyaXRpbmcgdGhlIHN3YXAgc2lnbmF0dXJlLiIKK21zZ3N0ciAiJXM6IOOCveODleODiOOCpuOCp+OCouOBruOCteOCueODmuODs+ODieODh+ODvOOCv+OCkuaknOWHuuOBl+OBvuOBl+OBn+OAguOCueODr+ODg+ODl+e9suWQjeOCkuabuOOBjeOBquOBiuOBl+OBpuOBhOOBvuOBmeOAgiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb24gJXNcbiIKK21zZ3N0ciAi44K544Ov44OD44OXICVzIOOCkuacieWKueWMluOBl+OBpuOBhOOBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb24gZmFpbGVkIgorbXNnc3RyICIlczogc3dhcG9uIOOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vYXV0byBvcHRpb24gLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6ICVkIOihjOebruOBp+ino+aekOOCqOODqeODvOOBp+OBmSAtLSDnhKHoppbjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbHJlYWR5IGFjdGl2ZSAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogJWQg6KGM55uu44Gn6Kej5p6Q44Ko44Op44O844Gn44GZIC0tIOeEoeimluOBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluYWNjZXNzaWJsZSAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogaW5vZGUg44KS5pu444GN6L6844KA44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzkxCittc2dpZCAiRW5hYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTQKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICBlbmFibGUgYWxsIHN3YXBzIGZyb20gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICDkvb/nlKjjgZfjgabjgYTjgovjgZnjgbnjgabjga7jg4fjg5DjgqTjgrnjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NQorbXNnaWQgIiAtZCwgLS1kaXNjYXJkWz08cG9saWN5Pl0gZW5hYmxlIHN3YXAgZGlzY2FyZHMsIGlmIHN1cHBvcnRlZCBieSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk2Cittc2dpZCAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBzaWxlbnRseSBza2lwIGRldmljZXMgdGhhdCBkbyBub3QgZXhpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk3Cittc2dpZCAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICByZWluaXRpYWxpemUgdGhlIHN3YXAgc3BhY2UgaWYgbmVjZXNzYXJ5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5OAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHN3YXAgb3B0aW9uc1xuIgorbXNnc3RyICIgLU8sIC0tb3B0aW9ucyA8bGlzdD4gICDjg57jgqbjg7Pjg4jjgqrjg5fjgrfjg6fjg7Pjgafjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga7lh7rlipvjgpLliLbpmZDjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5OQorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorbXNnc3RyICIgLXAsIC0tcHJpb3JpdHkgPOWEquWFiOmghuS9jT4g5a++6LGh44Gu44Oh44OD44K744O844K444KS5oyH5a6a44GX44Gf5YSq5YWI6aCG5L2N44Gr44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDAKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBkaXNwbGF5IHN1bW1hcnkgYWJvdXQgdXNlZCBzd2FwIGRldmljZXMgKERFUFJFQ0FURUQpXG4iCittc2dzdHIgIiAtcywgLS1nZXRzeiAgICAgICAgICAgICAgICAgICDjg4fjg5DjgqTjgrnjga7jgrXjgqTjgrrjgpIgNTEy44OQ44Kk44OI44K744Kv44K/5pWw44Gn6KGo56S644GX44G+44GZ77yI6Z2e5o6o5aWo77yJXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDEKK21zZ2lkICIgICAgIC0tc2hvd1s9PGNvbHVtbnM+XSAgIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAyCittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCB0YWJsZSBoZWFkaW5nICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICAtLXNob3cg44Gn44Gu6KGo56S644Gu6Zqb44CB44OY44OD44OA44KS6KGo56S644GX44G+44Gb44KTXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDMKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0ICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAgICAtLXJhdyAgICAgICAgICAgICAgLS1saXN0IOOBrue1kOaenOOCkueJueOBq+WKoOW3peOCkuihjOOCj+OBmuOBq+WHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA0CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHNpemUgaW4gYnl0ZXMgaW4gLS1zaG93IG91dHB1dFxuIgorbXNnc3RyICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAg44GT44Gu44OY44Or44OX44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgIOWGl+mVt+WHuuWKm+ODouODvOODieOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODExCittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisiXG4iCisiPOaMh+Wumj4g44Gn5Yip55So44Gn44GN44KL44OR44Op44Oh44O844K/OlxuIgorIiAtTCA844Op44OZ44OrPiAgICAgICAgICAgIExBQkVMPTzjg6njg5njg6s+IOOBqOWQjOOBmFxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQ9PHV1aWQ+IOOBqOWQjOOBmFxuIgorIiBMQUJFTD0844Op44OZ44OrPiAgICAgICAgIOOCueODr+ODg+ODl+mgmOWfn+OBruODqeODmeODq+OBp+ODh+ODkOOCpOOCueOCkuaMh+WumuOBl+OBvuOBmVxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIOOCueODr+ODg+ODl+mgmOWfn+OBriBVVUlEIOOBp+ODh+ODkOOCpOOCueOCkuaMh+WumuOBl+OBvuOBmVxuIgorIiBQQVJUTEFCRUw9POODqeODmeODqz4gICAgIOODkeODvOODhuOCo+OCt+ODp+ODs+OBruODqeODmeODq+OBp+ODh+ODkOOCpOOCueOCkuaMh+WumuOBl+OBvuOBmVxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIOODkeODvOODhuOCo+OCt+ODp+ODs+OBriBVVUlEIOOBp+ODh+ODkOOCpOOCueOCkuaMh+WumuOBl+OBvuOBmVxuIgorIiA844OH44OQ44Kk44K5PiAgICAgICAgICAgICDkvb/nlKjjgZnjgovjg4fjg5DjgqTjgrnjga7lkI3liY1cbiIKKyIgPOODleOCoeOCpOODqz4gICAgICAgICAgICAg5L2/55So44GZ44KL44OV44Kh44Kk44Or44Gu5ZCN5YmNXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MjEKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBkaXNjYXJkIHBvbGljeSB0eXBlcyAoZm9yIC0tZGlzY2FyZCk6XG4iCisiIG9uY2UgICAgOiBvbmx5IHNpbmdsZS10aW1lIGFyZWEgZGlzY2FyZHMgYXJlIGlzc3VlZFxuIgorIiBwYWdlcyAgIDogZnJlZWQgcGFnZXMgYXJlIGRpc2NhcmRlZCBiZWZvcmUgdGhleSBhcmUgcmV1c2VkXG4iCisiSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCBib3RoIGRpc2NhcmQgdHlwZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQpLlxuIgorbXNnc3RyICIiCisiXG4iCisi5Yip55So5Y+v6IO944Gq56C05qOE44Od44Oq44K344O844Gu56iu6aGeICgtLWRpc2NhcmQg44Gn5oyH5a6aKTpcbiIKKyIgb25jZVx0ICA6IOmgmOWfn+OBruegtOajhOOCkuS4gOW6puOBoOOBkeWun+ihjOOBl+OBvuOBmeOAgihzd2Fwb24pXG4iCisiIHBhZ2VzXHQgIDog6ZaL5pS+44GX44Gf44Oa44O844K444KS5YaN5Yip55So44GZ44KL5YmN44Gr56C05qOE44GX44G+44GZ44CCXG4iCisiICog44Od44Oq44K344O844GM6YG45oqe44GV44KM44Gq44GE5aC05ZCI44Gv44CB56C05qOE44Gu56iu6aGe44Gv5Lih5pa544Go44KC5pyJ5Yq55YyW44GV44KM44G+44GZ44CCKOaXouWumuWApClcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgyNgorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLliKnnlKjlj6/og73jgarliJcgKC0tc2hvdyDjgafmjIflrprjgZfjgb7jgZkpOlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTA0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHByaW9yaXR5IgorbXNnc3RyICLlhKrlhYjpoIbkvY3jga7op6Pph4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICLmnKrlr77lv5zjga7noLTmo4Tjg53jg6rjgrfjg7zjgafjgZk6ICVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHRoZSBkZXZpY2UgZm9yICVzIgorbXNnc3RyICIlcyDnlKjjga7jg4fjg5DjgqTjgrnjgYzopovjgaTjgYvjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjU5Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGlyZWN0b3J5IgorbXNnc3RyICLjg4fjgqPjg6zjgq/jg4jjg6rjgpLplovjgY/lh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjY3Cittc2dpZCAic3RhdCBmYWlsZWQiCittc2dzdHIgInN0YXQg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo3OAorbXNnaWQgImZhaWxlZCB0byByZWFkIGRpcmVjdG9yeSIKK21zZ3N0ciAi44OH44Kj44Os44Kv44OI44Oq44Gu6Kqt44G/6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVubGluayAlcyIKK21zZ3N0ciAiJXMg44Gu5YmK6Zmk44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAlcyIKK21zZ3N0ciAi44Oe44Km44Oz44OI44KSICVzIOOBi+OCiSAlcyDjgavnp7vli5XjgZnjgovlh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JjaW5nIHVubW91bnQgb2YgJXMiCittc2dzdHIgIiVzIOOCkuW8t+WItueahOOBq+OCouODs+ODnuOCpuODs+ODiOOBl+OBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICIlcyDjgbjjga7jg4fjgqPjg6zjgq/jg4jjg6rlpInmm7TjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvIC8iCittc2dzdHIgIuODnuOCpuODs+ODiOOCkiAlcyDjgYvjgokgLyDjgavnp7vli5XjgZnjgovlh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3NQorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCIKK21zZ3N0ciAi44Or44O844OI44OH44Kj44Os44Kv44OI44Oq44Gu5aSJ5pu044Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxODgKK21zZ2lkICJvbGQgcm9vdCBmaWxlc3lzdGVtIGlzIG5vdCBhbiBpbml0cmFtZnMiCittc2dzdHIgIuWPpOOBhOODq+ODvOODiOODleOCoeOCpOODq+OCt+OCueODhuODoOOBjOOAgSBpbml0cmFtZnMg44Gn44Gv44GC44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bmV3cm9vdGRpcj4gPGluaXQ+IDxhcmdzIHRvIGluaXQ+XG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSA85paw44GX44GE44Or44O844OI44OH44Kj44Os44Kv44OI44OqPiA8aW5pdD4gPGFyZ3MgdG8gaW5pdD5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA0Cittc2dpZCAiU3dpdGNoIHRvIGFub3RoZXIgZmlsZXN5c3RlbSBhcyB0aGUgcm9vdCBvZiB0aGUgbW91bnQgdHJlZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMzYKK21zZ2lkICJmYWlsZWQuIFNvcnJ5LiIKK21zZ3N0ciAi5aSx5pWX44GX44G+44GX44Gf44CC55Sz44GX6Kiz44GC44KK44G+44Gb44KT44CCIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGFjY2VzcyAlcyIKK21zZ3N0ciAiJXMg44Gr44Ki44Kv44K744K544Gn44GN44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTQKK21zZ2lkICJTZXQgdmFyaW91cyBwYXJhbWV0ZXJzIGZvciB0aGUgbGluZSBwcmludGVyLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5NworbXNnaWQgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIHNwZWNpZnkgcGFyYWxsZWwgcG9ydCBpcnFcbiIKK21zZ3N0ciAiIC1pLCAtLWlycSA855Wq5Y+3PiAgICAgICAgICAgICDjg5Hjg6njg6zjg6vjg53jg7zjg4jjga4gSVJRIOOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTgKK21zZ2lkICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICBkcml2ZXIgd2FpdCB0aW1lIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSA844Of44Oq56eSPiAgICAgICAgICDjg4njg6njgqTjg5Djga7lvoXmqZ/mmYLplpPjgpLjg5/jg6rnp5LljZjkvY3jgafmjIflrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk5Cittc2dpZCAiIC1jLCAtLWNoYXJzIDxudW0+ICAgICAgICAgICAgbnVtYmVyIG9mIG91dHB1dCBjaGFyYWN0ZXJzIGJlZm9yZSBzbGVlcFxuIgorbXNnc3RyICIgLWMsIC0tY2hhcnMgPOaVsOWApD4gICAgICAgICAgIOOCueODquODvOODl+OBq+WFpeOCi+WJjeOBruWHuuWKm+OCreODo+ODqeOCr+OCv+aVsOOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAwCittc2dpZCAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgc3Ryb2JlIHdhaXQgaW4gbWljcm8gc2Vjb25kc1xuIgorbXNnc3RyICIgLXcsIC0td2FpdCA844Oe44Kk44Kv44Ot56eSPiAgICAgIHN0cm9iZSDjga7lvoXmqZ/mmYLplpPjgpLjg57jgqTjgq/jg63np5LljZjkvY3jgafmjIflrprjgZfjgb7jgZlcbiIKKworIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgPG9ufG9mZj4gYXJndW1lbnRzLiBUaGUKKyMuIGFyZ3VtZW50IHJlYWRlciBkb2VzIG5vdCByZWNvZ25pemUgbG9jYWxlLCB1bmxlc3MgYG9uJyBpcworIy4gZXhhY3RseSB0aGF0IHZlcnkgc2FtZSBzdHJpbmcuCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA0Cittc2dpZCAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAgYWJvcnQgb24gZXJyb3JcbiIKK21zZ3N0ciAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAg44Ko44Op44O85pmC44Gr5Lit5pat44GZ44KL44GL44Gp44GG44GL44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDUKK21zZ2lkICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBjaGVjayBwcmludGVyIHN0YXR1cyBiZWZvcmUgcHJpbnRpbmdcbiIKK21zZ3N0ciAiIC1vLCAtLWNoZWNrLXN0YXR1cyA8b258b2ZmPiAg5Y2w5Yi35YmN44Gr44OX44Oq44Oz44K/44Gu54q25oWL44KS56K66KqN44GZ44KL44GL44Gp44GG44GL44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDYKK21zZ2lkICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICBleHRyYSBjaGVja2luZyB0byBzdGF0dXMgY2hlY2tcbiIKK21zZ3N0ciAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAg54q25oWL56K66KqN44Gu6Zqb44CB6L+95Yqg44Gu44OB44Kn44OD44Kv44KS6KGM44GG44GL44Gp44GG44GL44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDcKK21zZ2lkICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICBxdWVyeSBwcmludGVyIHN0YXR1c1xuIgorbXNnc3RyICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICDjg5fjg6rjg7Pjgr/jga7nirbmhYvjgpLllY/jgYTlkIjjgo/jgZvjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOAorbXNnaWQgIiAtVCwgLS10cnVzdC1pcnEgPG9ufG9mZj4gICAgIG1ha2UgZHJpdmVyIHRvIHRydXN0IGlycVxuIgorbXNnc3RyICIgLVQsIC0tdHJ1c3QtaXJxIDxvbnxvZmY+ICAgICDjg4njg6njgqTjg5Djgavlr77jgZfjgaYgSVJRIOOCkuS/oeeUqOOBmeOCi+OCiOOBhuOBq+ioreWumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcmVzZXQgdGhlIHBvcnRcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAg44Od44O844OI44KS44Oq44K744OD44OI44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTAKK21zZ2lkICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICBkaXNwbGF5IGN1cnJlbnQgaXJxIHNldHRpbmdcbiIKK21zZ3N0ciAiIC1xLCAtLXByaW50LWlycSA8b258b2ZmPiAgICAg54++5Zyo44GuIElSUSDoqK3lrprjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgYW4gbHAgZGV2aWNlIgorbXNnc3RyICIlcyDjga8gbHAg44OH44OQ44Kk44K544Gn44Gv44GC44KK44G+44Gb44KT44CCIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjgwCittc2dpZCAiTFBHRVRTVEFUVVMgZXJyb3IiCittc2dzdHIgIkxQR0VUU1RBVFVTIOOCqOODqeODvOOBp+OBmSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdGF0dXMgaXMgJWQiCittc2dzdHIgIiVzIOOBrueKtuaFi+OBryAlZCDjgafjgZkiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBidXN5IgorbXNnc3RyICIsIOODk+OCuOODvCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICIsIHJlYWR5IgorbXNnc3RyICIsIOWIqeeUqOWPr+iDvSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG91dCBvZiBwYXBlciIKK21zZ3N0ciAiLCDnlKjntJnjgarjgZciCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvbi1saW5lIgorbXNnc3RyICIsIOOCquODs+ODqeOCpOODsyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5NQorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVycm9yIgorbXNnc3RyICIsIOOCqOODqeODvCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMwMAorbXNnaWQgImlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzEwCittc2dpZCAiTFBHRVRJUlEgZXJyb3IiCittc2dzdHIgIkxQR0VUSVJRIOOBp+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBJUlEgJWRcbiIKK21zZ3N0ciAiJXMg44GvIElSUSAlZCDjgpLkvb/nlKjjgZfjgabjgYTjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBwb2xsaW5nXG4iCittc2dzdHIgIiVzIOOBr+ODneODvOODquODs+OCsOOCkuS9v+eUqOOBl+OBpuOBhOOBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstaFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IHwgPGRpcmVjdG9yeT5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstaFZdXG4iCisiICUxJHMgLWEgW+OCquODl+OCt+ODp+ODs11cbiIKKyIgJTEkcyBb44Kq44OX44K344On44OzXSA844Oe44Km44Oz44OI5YWDPiB8IDzjg4fjgqPjg6zjgq/jg4jjg6o+XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4MQorIywgZnV6enkKK21zZ2lkICJVbm1vdW50IGZpbGVzeXN0ZW1zLlxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAg44GZ44G544Gm44Gu44OV44Kh44Kk44Or44K344K544OG44Og44KS44Ki44Oz44Oe44Km44Oz44OI44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICB1bm1vdW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAg44GZ44G544Gm44Gu44OV44Kh44Kk44Or44K344K544OG44Og44KS44Ki44Oz44Oe44Km44Oz44OI44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NQorbXNnaWQgIiIKKyIgLUEsIC0tYWxsLXRhcmdldHMgICAgICAgdW5tb3VudCBhbGwgbW91bnRwb2ludHMgZm9yIHRoZSBnaXZlbiBkZXZpY2UgaW4gdGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICDnj77lnKjjga7jg43jg7zjg6Djgrnjg5rjg7zjgrnlhoXjgavjgYLjgovjgIHmjIflrprjgZfjgZ/jg4fjg5DjgqTjgrnjga5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICDjg57jgqbjg7Pjg4jjg53jgqTjg7Pjg4jjgpLjgZnjgbnjgabjgqLjg7Pjg57jgqbjg7Pjg4jjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg3Cittc2dpZCAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorbXNnc3RyICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAg44OR44K544KS5q2j6KaP5YyW44GX44Gq44GE44KI44GG44Gr44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OAorbXNnaWQgIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICBpZiBtb3VudGVkIGxvb3AgZGV2aWNlLCBhbHNvIGZyZWUgdGhpcyBsb29wIGRldmljZVxuIgorbXNnc3RyICIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAg44Or44O844OX44OQ44OD44Kv44OH44OQ44Kk44K544KS5L2/55So44GX44Gm44GE44KL5aC05ZCI44CB44Or44O844OX44OQ44OD44Kv44OH44OQ44Kk44K544KC6ZaL5pS+44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OQorbXNnaWQgIiAgICAgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSB1bW91bnQoMikgc3lzY2FsbFxuIgorbXNnc3RyICIgICAgIC0tZmFrZSAgICAgICAgICAgICAg5a6f6Zqb44Gr44GvIHVtb3VudCgyKSDjga7jgrfjgrnjg4bjg6DjgrPjg7zjg6vjgpLooYzjgYTjgb7jgZvjgpNcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkwCittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIGZvcmNlIHVubW91bnQgKGluIGNhc2Ugb2YgYW4gdW5yZWFjaGFibGUgTkZTIHN5c3RlbSlcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIOW8t+WItueahOOBq+OCouODs+ODnuOCpuODs+ODiOOBl+OBvuOBmSAo5Yiw6YGU5LiN5Y+v6IO944GqIE5GUyDjgrfjgrnjg4bjg6DjgarjganjgavmnInlirnjgafjgZkpXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MQorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSB1bW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIHVtb3VudC4844K/44Kk44OXPiDjga7jg5jjg6vjg5Hjg7zjgpLlkbzjgbPlh7rjgZXjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkzCittc2dpZCAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGRldGFjaCB0aGUgZmlsZXN5c3RlbSBub3csIGNsZWFuIHVwIHRoaW5ncyBsYXRlclxuIgorbXNnc3RyICIiCisiIC1sLCAtLWxhenkgICAgICAgICAgICAgIOS7iuOBmeOBkOODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuWIh+OCiumbouOBl+OBvuOBmeOBjOOAgVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIOOCr+ODquODvOODs+OCouODg+ODl+OBr+W+jOOBi+OCieihjOOBhuOCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTQKK21zZ2lkICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCittc2dzdHIgIiAtTywgLS10ZXN0LW9wdHMgPOODquOCueODiD4g44OV44Kh44Kk44Or44K344K544OG44Og44KS5oyH5a6a44GX44G+44GZICgtYSDjgajkvbXnlKjjgZfjgb7jgZkpXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NQorbXNnaWQgIiAtUiwgLS1yZWN1cnNpdmUgICAgICAgICByZWN1cnNpdmVseSB1bm1vdW50IGEgdGFyZ2V0IHdpdGggYWxsIGl0cyBjaGlsZHJlblxuIgorbXNnc3RyICIgLVIsIC0tcmVjdXJzaXZlICAgICAgICAg5oyH5a6a44GX44Gf44KC44Gu44Go44CB44Gd44KM5Lul5LiL44Gu44OH44Kj44Os44Kv44OI44Oq44GZ44G544Gm44KS44Ki44Oz44Oe44Km44Oz44OI44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NgorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBpbiBjYXNlIHVubW91bnRpbmcgZmFpbHMsIHRyeSB0byByZW1vdW50IHJlYWQtb25seVxuIgorbXNnc3RyICIiCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIOOCouODs+ODnuOCpuODs+ODiOOBq+WkseaVl+OBl+OBn+WgtOWQiOOAgVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIOiqreOBv+i+vOOBv+WwgueUqOOBp+WGjeODnuOCpuODs+ODiOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTcKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiAtdCwgLS10eXBlcyA844Oq44K544OIPiAgICDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga7nqK7poZ7jgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMpIHVubW91bnRlZCIKK21zZ3N0ciAiJXMgKCVzKSDjgpLjgqLjg7Pjg57jgqbjg7Pjg4jjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5tb3VudGVkIgorbXNnc3RyICIlcyDjgpLjgqLjg7Pjg57jgqbjg7Pjg4jjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVtb3VudCBmYWlsZWQiCittc2dzdHIgIiVzOiDjgqLjg7Pjg57jgqbjg7Pjg4jjgYzlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZpbGVzeXN0ZW0gd2FzIHVubW91bnRlZCwgYnV0IG1vdW50KDgpIGZhaWxlZCIKK21zZ3N0ciAiJXM6IOODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuOCouODs+ODnuOCpuODs+ODiOOBl+OBvuOBl+OBn+OBjOOAgSBtb3VudCg4KSDjgYzlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczog5LiN5q2j44Gq44OW44Ot44OD44Kv44OH44OQ44Kk44K544Gn44GZIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorbXNnc3RyICIlczog44K544O844OR44O844OW44Ot44OD44Kv44Gr5pu444GN6L6844KA44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlczogdGFyZ2V0IGlzIGJ1c3lcbiIKKyIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0XG4iCisiICAgICAgICAgdXNlIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKS4pIgorbXNnc3RyICIiCisiJXM6IOODnuOCpuODs+ODiOODneOCpOODs+ODiOOBjOODk+OCuOODvOeKtuaFi+OBp+OBmeOAglxuIgorIiAgICAgICAgKGxzb2YoOCkg44KEIGZ1c2VyKDEpIOOCs+ODnuODs+ODieOCkuWIqeeUqOOBmeOCi+OBk+OBqOOBp+OAgeODh+ODkOOCpOOCueOCklxuIgorIiAgICAgICAgIOS9v+eUqOOBl+OBpuOBhOOCi+ODl+ODreOCu+OCueOBjOWIpOaYjuOBmeOCi+WgtOWQiOOBjOOBguOCiuOBvuOBmeOAgikiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50cG9pbnQgbm90IGZvdW5kIgorbXNnc3RyICIlczog5oyH5a6a44GX44Gf44Oe44Km44Oz44OI44Od44Kk44Oz44OI44GM6KaL44Gk44GL44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjUwCittc2dpZCAidW5kZWZpbmVkIG1vdW50cG9pbnQiCittc2dzdHIgIuODnuOCpuODs+ODiOODneOCpOODs+ODiOOBjOWumue+qeOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdW5tb3VudCIKK21zZ3N0ciAiJXM6IOOCouODs+ODnuOCpuODs+ODiOOBmeOCi+OBq+OBr+OCueODvOODkeODvOODpuODvOOCtuOBp+OBquOBkeOCjOOBsOOBquOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmxvY2sgZGV2aWNlcyBhcmUgbm90IHBlcm1pdHRlZCBvbiBmaWxlc3lzdGVtIgorbXNnc3RyICIlczog5oyH5a6a44GX44Gf44OW44Ot44OD44Kv44OH44OQ44Kk44K544Gv44OV44Kh44Kk44Or44K344K544OG44Og5LiK44Gn6Kix5Y+v44GV44KM44Gm44GE44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzA3Cittc2dpZCAiZmFpbGVkIHRvIHNldCB1bW91bnQgdGFyZ2V0IgorbXNnc3RyICLjgqLjg7Pjg57jgqbjg7Pjg4jjga7jgr/jg7zjgrLjg4Pjg4joqK3lrprjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozMjMKK21zZ2lkICJsaWJtb3VudCB0YWJsZSBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibGlibW91bnQg44Gu44OG44O844OW44Or5Ymy44KK5b2T44Gm44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzY2IHN5cy11dGlscy91bW91bnQuYzo0NDYKK21zZ2lkICJsaWJtb3VudCBpdGVyYXRvciBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibGlibW91bnQg44Gu5YiX5oyZ5a2Q44Gu5Ymy44KK5b2T44Gm44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzcyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgY2hpbGQgZnMgb2YgJXMiCittc2dzdHIgIiVzIOOBruWtkOODleOCoeOCpOODq+OCt+OCueODhuODoOOBruWPluW+l+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQxMCBzeXMtdXRpbHMvdW1vdW50LmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQiCittc2dzdHIgIiVzOiDopovjgaTjgYvjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo0NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlICgtLWFsbC10YXJnZXRzIGlzIHVuc3VwcG9ydGVkIG9uIHN5c3RlbXMgd2l0aCByZWd1bGFyIG10YWIgZmlsZSkuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIC0tc2V0Z3JvdXBzIGFyZ3VtZW50ICclcyciCittc2dzdHIgIuacquWvvuW/nOOBruW8leaVsOOBp+OBmTogJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTEwIHN5cy11dGlscy91bnNoYXJlLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZCAlcyIKK21zZ3N0ciAi5pu444GN6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJvcGFnYXRpb24gbW9kZTogJXMiCittc2dzdHIgIuacquWvvuW/nOOBruOCquODl+OCt+ODp+ODs+W9ouW8j+OBp+OBmTogJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjaGFuZ2Ugcm9vdCBmaWxlc3lzdGVtIHByb3BhZ2F0aW9uIgorbXNnc3RyICLjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga7jg6vjg7zjg4giCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCAlcyIKK21zZ3N0ciAiJXMg44KS44K344O844Kv44Gn44GN44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIxMworIywgZnV6enkKK21zZ2lkICJwaXBlIGZhaWxlZCIKK21zZ3N0ciAib3BlbiDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjI3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIHBpcGUiCittc2dzdHIgIumAn+W6puOBruiqreOBv+i+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTAKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggc29tZSBuYW1lc3BhY2VzIHVuc2hhcmVkIGZyb20gdGhlIHBhcmVudC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1MworIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1tLCAtLW1vdW50ICAgICAgIOODnuOCpuODs+ODiOODjeODvOODoOOCueODmuODvOOCueOBruWFseacieOCkuino+mZpOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiIC11LCAtLXV0cyAgICAgICAgIFVUUyDjg43jg7zjg6Djgrnjg5rjg7zjgrkgKOODm+OCueODiOWQjeOBquOBqSkg44Gu5YWx5pyJ44KS6Kej6Zmk44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU1CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLWksIC0taXBjICAgICAgICAgU3lzdGVtIFYgSVBDIOODjeODvOODoOOCueODmuODvOOCueOBruWFseacieOCkuino+mZpOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NgorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbiwgLS1uZXQgICAgICAgICDjg43jg4Pjg4jjg6/jg7zjgq/jg43jg7zjg6Djgrnjg5rjg7zjgrnjga7lhbHmnInjgpLop6PpmaTjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTcKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICBQSUQg44ON44O844Og44K544Oa44O844K544Gu5YWx5pyJ44KS6Kej6Zmk44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU4CisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1VLCAtLXVzZXIgICAgICAgIOODpuODvOOCtuODjeODvOODoOOCueODmuODvOOCueOBruWFseacieOCkuino+mZpOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OQorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICAgICB1bnNoYXJlIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1tLCAtLW1vdW50ICAgICAgIOODnuOCpuODs+ODiOODjeODvOODoOOCueODmuODvOOCueOBruWFseacieOCkuino+mZpOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MAorbXNnaWQgIiAtZiwgLS1mb3JrICAgICAgICAgICAgICAgIGZvcmsgYmVmb3JlIGxhdW5jaGluZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmsgICAgICAgIGZvcmsg44GX44Gm44GL44KJIDzjg5fjg63jgrDjg6njg6A+IOOCkui1t+WLleOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MQorbXNnaWQgIiAgICAgLS1tb3VudC1wcm9jWz08ZGlyPl0gIG1vdW50IHByb2MgZmlsZXN5c3RlbSBmaXJzdCAoaW1wbGllcyAtLW1vdW50KVxuIgorbXNnc3RyICIiCisiICAgICAtLW1vdW50LXByb2NbPTzjg4fjgqPjg6zjgq/jg4jjg6o+XVxuIgorIiAgICAgICAgICAgICAgICAgICBwcm9jIOODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuacgOWIneOBq+ODnuOCpuODs+ODiOOBl+OBvuOBmVxuIgorIiAgICAgICAgICAgICAgICAgICAgICjjgZPjgozjgavjga8gLS1tb3VudCDjga7mhI/lkbPjgpLlkKvjgb/jgb7jgZkpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYyCittc2dpZCAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbWFwIGN1cnJlbnQgdXNlciB0byByb290IChpbXBsaWVzIC0tdXNlcilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MworbXNnaWQgIiIKKyIgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZ5IG1vdW50IHByb3BhZ2F0aW9uIGluIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY1CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zZXRncm91cHMgYWxsb3d8ZGVueSAgY29udHJvbCB0aGUgc2V0Z3JvdXBzIHN5c2NhbGwgaW4gdXNlciBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAtRywgLS1zZXRnaWQgPGdpZD4gICAgICAgIOODpuODvOOCtuODjeODvOODoOOCueODmuODvOOCueOBriBnaWQg44KS44K744OD44OI44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6Mzg2Cittc2dpZCAidW5zaGFyZSBmYWlsZWQiCittc2dzdHIgIuWFseacieOBruino+mZpOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzAKK21zZ2lkICJjaGlsZCBleGl0IGZhaWxlZCIKK21zZ3N0ciAi5a2Q44OX44Ot44K744K544Gu57WC5LqG44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzNworIywgZnV6enkKK21zZ2lkICJvcHRpb25zIC0tc2V0Z3JvdXBzPWFsbG93IGFuZCAtLW1hcC1yb290LXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLS17c2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbn0g44GoIC0tdXNlciDjga7jgqrjg5fjgrfjg6fjg7Pjga/jgIHlkIzmmYLjgavkvb/nlKjjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZvjgpPjgIIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIGZhaWxlZCIKK21zZ3N0ciAiICVzIOOBruODnuOCpuODs+ODiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzMKK21zZ2lkICJDYXJkIHByZXZpb3VzbHkgcmVzZXQgdGhlIENQVSIKK21zZ3N0ciAi55u06L+R44GrIENQVSDjgpLjg6rjgrvjg4Pjg4jjgZfjgZ/jgqvjg7zjg4kiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc0Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMSIKK21zZ3N0ciAi5aSW6YOo44Oq44Os44O8IDEiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc1Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMiIKK21zZ3N0ciAi5aSW6YOo44Oq44Os44O8IDIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc2Cittc2dpZCAiRmFuIGZhaWxlZCIKK21zZ3N0ciAi5Ya35Y2044OV44Kh44Oz44Gu5LiN6ImvIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NworbXNnaWQgIktlZXAgYWxpdmUgcGluZyByZXBseSIKK21zZ3N0ciAi44Kt44O844OX44Ki44Op44Kk44OW44GuIHBpbmcg5b+c562UIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OAorbXNnaWQgIlN1cHBvcnRzIG1hZ2ljIGNsb3NlIGNoYXIiCittc2dzdHIgIuODnuOCuOODg+OCr+OCr+ODreODvOOCuuOCreODo+ODqeOCr+OCv+OBruWvvuW/nCIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzkKK21zZ2lkICJSZXNldCBkdWUgdG8gQ1BVIG92ZXJoZWF0IgorbXNnc3RyICJDUFUg6YGO54ax44Gr44KI44KL44Oq44K744OD44OIIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MAorbXNnaWQgIlBvd2VyIG92ZXIgdm9sdGFnZSIKK21zZ3N0ciAi6Zu75rqQ6Zu75Zyn44Gu6YGO5LiK5piHIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MQorbXNnaWQgIlBvd2VyIGJhZC9wb3dlciBmYXVsdCIKK21zZ3N0ciAi6Zu75rqQ5LiN6ImvIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MgorbXNnaWQgIlByZXRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICLjg5fjg6zjgr/jgqTjg6DjgqLjgqbjg4ggKOenkikiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgzCittc2dpZCAiU2V0IHRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICLjgr/jgqTjg6DjgqLjgqbjg4ggKOenkikiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjg0Cittc2dpZCAiTm90IHRyaWdnZXIgcmVib290IgorbXNnc3RyICLlho3otbfli5XjgpLlrp/mlr3jgZfjgarjgYQiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMAorbXNnaWQgImZsYWcgbmFtZSIKK21zZ3N0ciAi44OV44Op44Kw5ZCNIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDEKK21zZ2lkICJmbGFnIGRlc2NyaXB0aW9uIgorbXNnc3RyICLjg5Xjg6njgrDjga7oqqzmmI4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMgorbXNnaWQgImZsYWcgc3RhdHVzIgorbXNnc3RyICLjg5Xjg6njgrDjga7nirbmhYsiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMworbXNnaWQgImZsYWcgYm9vdCBzdGF0dXMiCittc2dzdHIgIuODleODqeOCsOOBrui1t+WLleeKtuaFiyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTA0Cittc2dpZCAid2F0Y2hkb2cgZGV2aWNlIG5hbWUiCittc2dzdHIgIuOCpuOCquODg+ODgeODieODg+OCsOODh+ODkOOCpOOCueWQjSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmxhZzogJXMiCittc2dzdHIgIuS4jeaYjuOBquODleODqeOCsOOBp+OBmTogJXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE3NworIywgZnV6enkKK21zZ2lkICJTaG93IHRoZSBzdGF0dXMgb2YgdGhlIGhhcmR3YXJlIHdhdGNoZG9nLlxuIgorbXNnc3RyICIgLXUsIC0tc3VtbWFyeSAgICAg54q25oWL44Gu5qaC6KaB44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE4MAorbXNnaWQgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICBwcmludCBzZWxlY3RlZCBmbGFncyBvbmx5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciBmbGFncyB0YWJsZVxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdCBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgcHJpbnQgb25seSBmbGFncyB0YWJsZSAoc2FtZSBhcyAtSSAtVClcbiIKK21zZ3N0ciAiIgorIiAtZiwgLS1mbGFncyA844Oq44K544OIPiAgIOaMh+WumuOBl+OBn+ODleODqeOCsOOBruOBv+OCkuihqOekuuOBl+OBvuOBmVxuIgorIiAtRiwgLS1ub2ZsYWdzICAgICAgICAgIOODleODqeOCsOOBq+mWouOBmeOCi+aDheWgseOCkuihqOekuuOBl+OBvuOBm+OCk1xuIgorIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIOOCpuOCquODg+ODgeODieODg+OCsOOBruitmOWIpeaDheWgseOCkuihqOekuuOBl+OBvuOBm+OCk1xuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIOODleODqeOCsOihqOOBp+ODmOODg+ODgOOCkuihqOekuuOBl+OBvuOBm+OCk1xuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIOWFqOOBpuOBruaDheWgseOCkiAxIOihjOOBp+ihqOekuuOBmeOCi+OCiOOBhuOBq+OBl+OBvuOBmVxuIgorIiAtbywgLS1vdXRwdXQgPOODquOCueODiD4gIOihqOekuuOBmeOBueOBjeODleODqeOCsOWIl+OCkuaMh+WumuOBl+OBvuOBmVxuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIOODleODqeOCsOihqOOBq+OBpOOBhOOBpuOAgeWKoOW3peOCkuihjOOBquOCj+OBquOBhOW9ouW8j+OBp+WHuuWKm+OBl+OBvuOBmVxuIgorIiAtVCwgLS1ub3RpbWVvdXRzICAgICAgIOOCpuOCquODg+ODgeODieODg+OCsOOBruWItumZkOaZgumWk+OCkuihqOekuuOBl+OBvuOBm+OCk1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDznp5I+ICDjgqbjgqrjg4Pjg4Hjg4njg4PjgrDjga7liLbpmZDmmYLplpPjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICDjg5Xjg6njgrDooajjga7jgb/jgpLooajnpLrjgZfjgb7jgZkgKC1JIC1UIOOBqOWQjOOBmOaEj+WRs+OBp+OBmSlcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZWZhdWx0IGRldmljZSBpcyAlcy5cbiIKK21zZ3N0ciAi5pei5a6a44Gu44OH44OQ44Kk44K544GvICVzIOOBp+OBmeOAglxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxOTkKK21zZ2lkICJBdmFpbGFibGUgY29sdW1uczpcbiIKK21zZ3N0ciAi5Yip55So5Y+v6IO944Gq5YiXOlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZmxhZ3MgMHgleFxuIgorbXNnc3RyICIlczog5LiN5piO44Gq44OV44Op44KwIDB4JXgg44Gn44GZXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMxOSBzeXMtdXRpbHMvd2RjdGwuYzozNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhdGNoZG9nIGFscmVhZHkgaW4gdXNlLCB0ZXJtaW5hdGluZy4iCittc2dzdHIgIiVzOiDjgqbjgqrjg4Pjg4Hjg4njg4PjgrDjga/ml6Ljgavkvb/nlKjjgZXjgozjgabjgYTjgb7jgZnjgILntYLkuobjgZfjgb7jgZnjgIIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMzMyBzeXMtdXRpbHMvd2RjdGwuYzo0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkaXNhcm0gd2F0Y2hkb2ciCittc2dzdHIgIiVzOiDjgqbjgqrjg4Pjg4Hjg4njg4PjgrDjga7op6PpmaTjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRpbWVvdXQgZm9yICVzIgorbXNnc3RyICIlcyDjgavlr77jgZnjgovliLbpmZDmmYLplpPjgpLoqK3lrprjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0OAorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmQuXG4iCittc2dpZF9wbHVyYWwgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZHMuXG4iCittc2dzdHJbMF0gIuWItumZkOaZgumWk+OBryAlZCDnp5Ljgavjgrvjg4Pjg4jjgZXjgozjgabjgYTjgb7jgZnjgIJcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGluZm9ybWF0aW9uIGFib3V0IHdhdGNoZG9nIgorbXNnc3RyICIlczog44Km44Kq44OD44OB44OJ44OD44Kw44Gr6Zai44GZ44KL5oOF5aCx44Gu5Y+W5b6X44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjQgc3lzLXV0aWxzL3dkY3RsLmM6NDY3IHN5cy11dGlscy93ZGN0bC5jOjQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlLTE0cyAlMmkgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIiUtMTRzICUyaSBzZWNvbmRzXG4iCittc2dzdHJbMF0gIiUtMTRzICUyaSDnp5JcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY1Cittc2dpZCAiVGltZW91dDoiCittc2dzdHIgIuWItumZkOaZgumWkzoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2OAorbXNnaWQgIlByZS10aW1lb3V0OiIKK21zZ3N0ciAi44OX44Os44K/44Kk44Og44Ki44Km44OIOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDcxCittc2dpZCAiVGltZWxlZnQ6IgorbXNnc3RyICLmrovjgormmYLplpM6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDUKK21zZ2lkICJEZXZpY2U6IgorbXNnc3RyICLjg4fjg5DjgqTjgrk6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDcKK21zZ2lkICJJZGVudGl0eToiCittc2dzdHIgIuitmOWIpeWtkDoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwOQorbXNnaWQgInZlcnNpb24iCittc2dzdHIgIuODkOODvOOCuOODp+ODsyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MworbXNnaWQgInpyYW0gZGV2aWNlIG5hbWUiCittc2dzdHIgInpyYW0g44OH44OQ44Kk44K55ZCNIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc0Cittc2dpZCAibGltaXQgb24gdGhlIHVuY29tcHJlc3NlZCBhbW91bnQgb2YgZGF0YSIKK21zZ3N0ciAi5Zyn57iu5YmN44Gu44OH44O844K/5a656YeP44Gr44KI44KL5Yi26ZmQIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc1Cittc2dpZCAidW5jb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgIuWcp+e4ruWJjeOBruagvOe0jeOBleOCjOOBn+ODh+ODvOOCv+OBruOCteOCpOOCuiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NgorbXNnaWQgImNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAi5Zyn57iu5b6M44Gu5qC857SN44GV44KM44Gf44OH44O844K/44Gu44K144Kk44K6IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc3Cittc2dpZCAidGhlIHNlbGVjdGVkIGNvbXByZXNzaW9uIGFsZ29yaXRobSIKK21zZ3N0ciAi6YG45oqe44GV44KM44Gf5Zyn57iu44Ki44Or44K044Oq44K644OgIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc4Cittc2dpZCAibnVtYmVyIG9mIGNvbmN1cnJlbnQgY29tcHJlc3Mgb3BlcmF0aW9ucyIKK21zZ3N0ciAi5Lim6KGM44GX44Gm5a6f6KGM44GV44KM44KL5Zyn57iu44Kq44Oa44Os44O844K344On44Oz44Gu5pWwIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc5CisjLCBmdXp6eQorbXNnaWQgImVtcHR5IHBhZ2VzIHdpdGggbm8gYWxsb2NhdGVkIG1lbW9yeSIKK21zZ3N0ciAi44Oh44Oi44Oq44Gu5Ymy44KK5b2T44Gm44Gr5aSx5pWX44GX44G+44GX44GfOiAlbSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MAorbXNnaWQgImFsbCBtZW1vcnkgaW5jbHVkaW5nIGFsbG9jYXRvciBmcmFnbWVudGF0aW9uIGFuZCBtZXRhZGF0YSBvdmVyaGVhZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgxCisjLCBmdXp6eQorbXNnaWQgIm1lbW9yeSBsaW1pdCB1c2VkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAi5Zyn57iu5YmN44Gu44OH44O844K/5a656YeP44Gr44KI44KL5Yi26ZmQIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgyCisjLCBmdXp6eQorbXNnaWQgIm1lbW9yeSB6cmFtIGhhdmUgYmVlbiBjb25zdW1lZCB0byBzdG9yZSBjb21wcmVzc2VkIGRhdGEiCittc2dzdHIgIuWcp+e4ruWJjeOBruODh+ODvOOCv+WuuemHj+OBq+OCiOOCi+WItumZkCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MworIywgZnV6enkKK21zZ2lkICJudW1iZXIgb2Ygb2JqZWN0cyBtaWdyYXRlZCBieSBjb21wYWN0aW9uIgorbXNnc3RyICLkuKbooYzjgZfjgablrp/ooYzjgZXjgozjgovlnKfnuK7jgqrjg5rjg6zjg7zjgrfjg6fjg7Pjga7mlbAiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6MzYzIHN5cy11dGlscy96cmFtY3RsLmM6Mzc0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICLplovlp4vkvY3nva7jga7lh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyIgJTEkcyAtciA8ZGV2aWNlPiBbLi4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxkZXZpY2U+IC1zIDxzaXplPlxuIgorbXNnc3RyICIiCisiICUxJHMgW+OCquODl+OCt+ODp+ODs10gPOODh+ODkOOCpOOCuT5cbiIKKyIgJTEkcyAtciA844OH44OQ44Kk44K5PiBbLi4uXVxuIgorIiAlMSRzIFvjgqrjg5fjgrfjg6fjg7NdIC1mIHwgPOODh+ODkOOCpOOCuT4gLXMgPOOCteOCpOOCuj5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MjcKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgenJhbSBkZXZpY2VzLlxuIgorbXNnc3RyICJ6cmFtIOODh+ODkOOCpOOCueOBruioreWumuOBqOWItuW+oeOCkuihjOOBhOOBvuOBmeOAglxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMAorbXNnaWQgIiAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NCAgIGNvbXByZXNzaW9uIGFsZ29yaXRobSB0byB1c2VcbiIKK21zZ3N0ciAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0ICAg5L2/55So44GZ44KL5Zyn57iu44Ki44Or44K044Oq44K644OgXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMxCittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIOWPr+iqreaAp+OBrumrmOOBhOW9ouW8j+OBp+OBr+OBquOBj+OAgeODkOOCpOODiOWNmOS9jeOBp+OCteOCpOOCuuOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMgorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIGZpbmQgYSBmcmVlIGRldmljZVxuIgorbXNnc3RyICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICDkvb/jgaPjgabjgYTjgarjgYTjg4fjg5DjgqTjgrnjgpLmpJzntKLjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICDjg5jjg4Pjg4DjgpLooajnpLrjgZfjgb7jgZvjgpNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzQKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdD4g5Ye65Yqb44GZ44KL5YiX44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM1CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIHVzZSByYXcgc3RhdHVzIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgIOWKoOW3peOCkuihjOOBquOCj+OBquOBhOWHuuWKm+W9ouW8j+OCkuS9v+eUqOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzNgorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICDjgZnjgbnjgabjga7mjIflrprjgZfjgZ/jg4fjg5DjgqTjgrnjgpLjg6rjgrvjg4Pjg4jjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzcKK21zZ2lkICIgLXMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIiCisiIC1zLCAtLXNpemUgPOOCteOCpOOCuj4gICAgICAg44OH44OQ44Kk44K544Gu44K144Kk44K6XG4iCisiXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM4CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS1zdHJlYW1zIDxudW1iZXI+ICAgIG51bWJlciBvZiBjb21wcmVzc2lvbiBzdHJlYW1zXG4iCittc2dzdHIgIiAtcywgLS1zZWN0b3JzIDzmlbDlgKQ+ICAg5Yip55So44GZ44KL44K744Kv44K/44Gu5pWw44KS44K744OD44OI44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjA0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGFsZ29yaXRobTogJXMiCittc2dzdHIgIuacquWvvuW/nOOBruOCouODq+OCtOODquOCuuODoOOBp+OBmTogJXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjI2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0cmVhbXMiCittc2dzdHIgIuOCueODiOODquODvOODoOOBruino+mHiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NDgKK21zZ2lkICJvcHRpb24gLS1maW5kIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxkZXZpY2U+IgorbXNnc3RyICLjgqrjg5fjgrfjg6fjg7MgLS1maW5kIOOBryA8ZGV2aWNlPiDjgajlkIzmmYLjgavmjIflrprjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjU0Cittc2dpZCAib25seSBvbmUgPGRldmljZT4gYXQgYSB0aW1lIGlzIGFsbG93ZWQiCittc2dzdHIgIjHluqbjgasx44Gk44Gu44OH44OQ44Kk44K544Gu44G/44KS5oyH5a6a44Gn44GN44G+44GZIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NworbXNnaWQgIm9wdGlvbnMgLS1hbGdvcml0aG0gYW5kIC0tc3RyZWFtcyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggLS1zaXplIgorbXNnc3RyICLjgqrjg5fjgrfjg6fjg7MgLS1hbGdvcml0aG0g44GoIC0tc3RyZWFtcyDjga8gLS1zaXplIOOBqOe1hOOBv+WQiOOCj+OBm+OCi+W/heimgeOBjOOBguOCiuOBvuOBmSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODcgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZXNldCIKK21zZ3N0ciAiJXM6IOODquOCu+ODg+ODiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2OTggc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDYKK21zZ2lkICJubyBmcmVlIHpyYW0gZGV2aWNlIGZvdW5kIgorbXNnc3RyICLnqbrjgY3jga7jgYLjgosgenJhbSDjg4fjg5DjgqTjgrnjgYzjgYLjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IG51bWJlciBvZiBzdHJlYW1zIgorbXNnc3RyICIlczog44K544OI44Oq44O844Og44Gu55Wq5Y+344Gu6Kit5a6a44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBhbGdvcml0aG0iCittc2dzdHIgIiVzOiDjgqLjg6vjgrTjg6rjgrrjg6Djga7oqK3lrprjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGRpc2tzaXplICglanUgYnl0ZXMpIgorbXNnc3RyICIlczog44OH44Kj44K544Kv44K144Kk44K6KCVqdSDjg5DjgqTjg4gp44Gu6Kit5a6a44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjQ1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzIChhdXRvbWF0aWMgbG9naW4pXG4iCittc2dzdHIgIiVzJXMgKOiHquWLleODreOCsOOCpOODsylcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSByb290IGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVzOiDjg6vjg7zjg4jjg4fjgqPjg6zjgq/jg4jjg6ogJXMg44KS5aSJ5pu044Gn44GN44G+44Gb44KTOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSB3b3JraW5nIGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVzOiDkvZzmpa3nlKjjga7jg4fjgqPjg6zjgq/jg4jjg6ogJXMg44KS5aSJ5pu044Gn44GN44G+44Gb44KTOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSBwcm9jZXNzIHByaW9yaXR5OiAlbSIKK21zZ3N0ciAiJXM6IOODl+ODreOCu+OCueOBruWEquWFiOmghuS9jeOCkuWkieabtOOBp+OBjeOBvuOBm+OCkzogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBleGVjICVzOiAlbSIKK21zZ3N0ciAiJXM6ICVzIOOCkuWun+ihjOOBp+OBjeOBvuOBm+OCkzogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTU1IHRlcm0tdXRpbHMvYWdldHR5LmM6ODQxIHRlcm0tdXRpbHMvYWdldHR5LmM6ODUzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MTUgdGVybS11dGlscy9hZ2V0dHkuYzoxNDMzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NjkgdGVybS11dGlscy9hZ2V0dHkuYzoxNDc5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTUxNgorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTc4IHRlcm0tdXRpbHMvYWdldHR5LmM6MjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5OiAlbSIKK21zZ3N0ciAi44Oh44Oi44Oq44Gu5Ymy44KK5b2T44Gm44Gr5aSx5pWX44GX44G+44GX44GfOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo2ODAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBkZWxheSBhcmd1bWVudCIKK21zZ3N0ciAi44OY44OD44OJ5pWw44Gu5byV5pWw44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjcxOQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLS1sb2NhbC1saW5lIgorbXNnc3RyICItLWxvY2FsLWxpbmUg44Gu5byV5pWw44GM6ZaT6YGV44Gj44Gm44GE44G+44GZIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjczOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG5pY2UgYXJndW1lbnQiCittc2dzdHIgIuaZguWIu+OBruW8leaVsOOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHNwZWVkOiAlcyIKK21zZ3N0ciAi6YCf5bqm44GM5q2j44GX44GP44GC44KK44G+44Gb44KTOiAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzcKK21zZ2lkICJ0b28gbWFueSBhbHRlcm5hdGUgc3BlZWRzIgorbXNnc3RyICLku6Pmm7/pgJ/luqbjga7mjIflrprjgYzlpJrjgZnjgY7jgb7jgZkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAwNiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMTAgdGVybS11dGlscy9hZ2V0dHkuYzoxMDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBvcGVuIGFzIHN0YW5kYXJkIGlucHV0OiAlbSIKK21zZ3N0ciAiL2Rldi8lczog5qiZ5rqW5YWl5Yqb44Go44GX44Gm6ZaL44GP44GT44Go44GM44Gn44GN44G+44Gb44KTOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIGNoYXJhY3RlciBkZXZpY2UiCittc2dzdHIgIi9kZXYvJXM6IOOCreODo+ODqeOCr+OCv+ODh+ODkOOCpOOCueOBp+OBr+OBguOCiuOBvuOBm+OCkyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIHR0eSIKK21zZ3N0ciAiL2Rldi8lczogdHR5IOOBp+OBr+OBguOCiuOBvuOBm+OCkyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDM1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA2NworIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3QgZ2V0IGNvbnRyb2xsaW5nIHR0eTogJW0iCittc2dzdHIgIi9kZXYvJXM6IOWItuW+oeerr+acq+OBqOOBl+OBpumWi+OBj+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkzogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA1NworIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiB2aGFuZ3VwKCkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiL2Rldi8lczogdmhhbmd1cCgpIOOBq+WkseaVl+OBl+OBvuOBl+OBnzogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG9wZW4gZm9yIHJlYWQvd3JpdGUiCittc2dzdHIgIiVzOiDoqq3jgb/mm7jjgY3nlKjjgavplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA4MworIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgc2V0IHByb2Nlc3MgZ3JvdXA6ICVtIgorbXNnc3RyICIvZGV2LyVzOiDjg5fjg63jgrvjgrnjgrDjg6vjg7zjg5fjgpLoqK3lrprjgafjgY3jgb7jgZvjgpM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGR1cCBwcm9ibGVtOiAlbSIKK21zZ3N0ciAiJXM6IGR1cCDjgafllY/poYzjgYznmbrnlJ/jgZfjgb7jgZfjgZ86ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIiVzOiDnq6/mnKvjga7lsZ7mgKflj5blvpfjgavlpLHmlZfjgZfjgb7jgZfjgZ86ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzMjEgdGVybS11dGlscy9hZ2V0dHkuYzoxMzQxCisjLCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgdGVybWluYWwgYXR0cmlidXRlcyBmYWlsZWQ6ICVtIgorbXNnc3RyICLnq6/mnKvjga7lsZ7mgKfoqK3lrprjgavlpLHmlZfjgZfjgb7jgZfjgZ86ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NTkKK21zZ2lkICJjYW5ub3Qgb3BlbiBvcy1yZWxlYXNlIGZpbGUiCittc2dzdHIgIm9zLXJlbGVhc2Ug44OV44Kh44Kk44Or44KS6ZaL44GP44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE2MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSByZWxvYWQgZmlsZTogJXM6ICVtIgorbXNnc3RyICLjg6rjg63jg7zjg4njg5XjgqHjgqTjg6sgJXMg44Gu5L2c5oiQ44Gr5aSx5pWX44GX44G+44GX44GfOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzM2Cittc2dpZCAiW3ByZXNzIEVOVEVSIHRvIGxvZ2luXSIKK21zZ3N0ciAiW0VudGVyIOOCkuaKvOOBmeOBqOODreOCsOOCpOODs+OBp+OBjeOBvuOBmV0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2MAorbXNnaWQgIk51bSBMb2NrIG9mZiIKK21zZ3N0ciAiTnVtIExvY2sg44Gv54Sh5Yq544Gq54q25oWL44Gn44GZIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjMKK21zZ2lkICJOdW0gTG9jayBvbiIKK21zZ3N0ciAiTnVtIExvY2sg44GM5pyJ5Yq544Gq54q25oWL44Gn44GZIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjYKK21zZ2lkICJDYXBzIExvY2sgb24iCittc2dzdHIgIkNhcHMgTG9jayDjgYzmnInlirnjgarnirbmhYvjgafjgZkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2OQorbXNnaWQgIlNjcm9sbCBMb2NrIG9uIgorbXNnc3RyICJTY3JvbGwgTG9jayDjgYzmnInlirnjgarnirbmhYvjgafjgZkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc3MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSGludDogJXNcbiIKKyJcbiIKK21zZ3N0ciAiIgorIuODkuODs+ODiDogJXNcbiIKKyJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkOiAlbSIKK21zZ3N0ciAiJXM6IOiqreOBv+i+vOOBvzogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk1OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5wdXQgb3ZlcnJ1biIKK21zZ3N0ciAiJXM6IOWFpeWKm+OBjOa6ouOCjOOBvuOBl+OBnyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTc0IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgY29udmVyc2lvbiBmb3IgbG9naW4gbmFtZSIKK21zZ3N0ciAiJXM6IOODreOCsOOCpOODs+WQjeOBruaWh+Wtl+WkieaPm+OBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciAweCV4IGluIGxvZ2luIG5hbWUiCittc2dzdHIgIiVzOiDjg63jgrDjgqTjg7PlkI3jgavkuI3mraPjgarmloflrZcgMHgleCDjgYzlkKvjgb7jgozjgabjgYTjgb7jgZkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA3MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiJXM6IOerr+acq+WxnuaAp+OBruioreWumuOBq+WkseaVl+OBl+OBvuOBl+OBnzogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEwOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxsaW5lPiBbPGJhdWRfcmF0ZT4sLi4uXSBbPHRlcm10eXBlPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGJhdWRfcmF0ZT4sLi4uIDxsaW5lPiBbPHRlcm10eXBlPl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvjgqrjg5fjgrfjg6fjg7NdIDzlm57nt5o+IFs844Oc44O844Os44O844OIPiwuLi5dIFvnq6/mnKvjgr/jgqTjg5ddXG4iCisiICUxJHMgW+OCquODl+OCt+ODp+ODs10gPOODnOODvOODrOODvOODiD4sLi4uIOWbnue3miBb56uv5pyr44K/44Kk44OXXVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTMKK21zZ2lkICJPcGVuIGEgdGVybWluYWwgYW5kIHNldCBpdHMgbW9kZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTYKK21zZ2lkICIgLTgsIC0tOGJpdHMgICAgICAgICAgICAgICAgYXNzdW1lIDgtYml0IHR0eVxuIgorbXNnc3RyICIgLTgsIC0tOGJpdHMgICAgICAgICAgICAgICAg56uv5pyr44GMIDgg44OT44OD44OI44Gn44GC44KL44KC44Gu44Go44G/44Gq44GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExNworbXNnaWQgIiAtYSwgLS1hdXRvbG9naW4gPHVzZXI+ICAgICBsb2dpbiB0aGUgc3BlY2lmaWVkIHVzZXIgYXV0b21hdGljYWxseVxuIgorbXNnc3RyICIgLWEsIC0tYXV0b2xvZ2luIDzjg6bjg7zjgrY+ICAg5oyH5a6a44GX44Gf44Om44O844K244Gn6Ieq5YuV44Ot44Kw44Kk44Oz44GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExOAorbXNnaWQgIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICBkbyBub3QgcmVzZXQgY29udHJvbCBtb2RlXG4iCittc2dzdHIgIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICDliLblvqHjg6Ljg7zjg4njgpLjg6rjgrvjg4Pjg4jjgZfjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE5Cittc2dpZCAiIC1FLCAtLXJlbW90ZSAgICAgICAgICAgICAgIHVzZSAtciA8aG9zdG5hbWU+IGZvciBsb2dpbigxKVxuIgorbXNnc3RyICIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAgbG9naW4oMSkg44Gr5a++44GX44GmIC1yIDzjg5vjgrnjg4jlkI0+IOOCkuioreWumuOBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjAKK21zZ2lkICIgLWYsIC0taXNzdWUtZmlsZSA8ZmlsZT4gICAgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiAtZiwgLS1pc3N1ZS1maWxlIDxmaWxlPiAgICBpc3N1ZSDjg5XjgqHjgqTjg6vjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIxCittc2dpZCAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIGVuYWJsZSBoYXJkd2FyZSBmbG93IGNvbnRyb2xcbiIKK21zZ3N0ciAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIOODj+ODvOODieOCpuOCp+OCouODleODreODvOWItuW+oeOCkuacieWKueOBq+OBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjIKK21zZ2lkICIgLUgsIC0taG9zdCA8aG9zdG5hbWU+ICAgICAgc3BlY2lmeSBsb2dpbiBob3N0XG4iCittc2dzdHIgIiAtSCwgLS1ob3N0IDzjg5vjgrnjg4jlkI0+ICAgICAg44Ot44Kw44Kk44Oz44Ob44K544OI44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMworbXNnaWQgIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICBkbyBub3QgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICBpc3N1ZSDjg5XjgqHjgqTjg6vjgpLooajnpLrjgZfjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI0Cittc2dpZCAiIC1JLCAtLWluaXQtc3RyaW5nIDxzdHJpbmc+IHNldCBpbml0IHN0cmluZ1xuIgorbXNnc3RyICIgLUksIC0taW5pdC1zdHJpbmcgPOaWh+Wtl+WIlz4g5Yid5pyf5YyW5paH5a2X5YiX44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNQorbXNnaWQgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICBkbyBub3QgY2xlYXIgdGhlIHNjcmVlbiBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICDjg5fjg63jg7Pjg5fjg4jjga7ooajnpLrliY3jgavnlLvpnaLmtojljrvjgpLooYzjgYTjgb7jgZvjgpNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI2Cittc2dpZCAiIC1sLCAtLWxvZ2luLXByb2dyYW0gPGZpbGU+IHNwZWNpZnkgbG9naW4gcHJvZ3JhbVxuIgorbXNnc3RyICIgLWwsIC0tbG9naW4tcHJvZ3JhbSA844OV44Kh44Kk44OrPiDjg63jgrDjgqTjg7Pjg5fjg63jgrDjg6njg6DjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI3Cittc2dpZCAiIC1MLCAtLWxvY2FsLWxpbmVbPTxtb2RlPl0gIGNvbnRyb2wgdGhlIGxvY2FsIGxpbmUgZmxhZ1xuIgorbXNnc3RyICIgLUwsIC0tbG9jYWwtbGluZVs9POODouODvOODiT5dIOODreODvOOCq+ODq+Wbnue3muODleODqeOCsOOCkuioreWumuOBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjgKK21zZ2lkICIgLW0sIC0tZXh0cmFjdC1iYXVkICAgICAgICAgZXh0cmFjdCBiYXVkIHJhdGUgZHVyaW5nIGNvbm5lY3RcbiIKK21zZ3N0ciAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIOaOpee2muaZguOBq+ODnOODvOODrOODvOODiOOCkuWPluW+l+OBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjkKK21zZ2lkICIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAgZG8gbm90IHByb21wdCBmb3IgbG9naW5cbiIKK21zZ3N0ciAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIOODreOCsOOCpOODs+ODl+ODreODs+ODl+ODiOOCkuihqOekuuOBl+OBquOBhOOCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzAKK21zZ2lkICIgLU4gIC0tbm9uZXdsaW5lICAgICAgICAgICAgZG8gbm90IHByaW50IGEgbmV3bGluZSBiZWZvcmUgaXNzdWVcbiIKK21zZ3N0ciAiIC1OICAtLW5vbmV3bGluZSAgICAgICAgICAgIGlzc3VlIOOCkuihqOekuuOBmeOCi+WJjeOBq+OAgeaUueihjOOCkuihqOekuuOBl+OBquOBhOOCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzEKK21zZ2lkICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8b3B0cz4gb3B0aW9ucyB0aGF0IGFyZSBwYXNzZWQgdG8gbG9naW5cbiIKK21zZ3N0ciAiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPOOCquODl+OCt+ODp+ODsz4gbG9naW4g44Kz44Oe44Oz44OJ44Gr5rih44GZ44Kq44OX44K344On44Oz44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMgorbXNnaWQgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICB3YWl0IGZvciBhbnkga2V5IGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiIC1wLCAtLWxvZ2luLXBhdXNlICAgICAgICAgIOODreOCsOOCpOODs+WJjeOBq+S7u+aEj+OBruOCreODvOOBjOWFpeWKm+OBleOCjOOCi+OBruOCkuW+heOBpOOCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzMKK21zZ2lkICIgLXIsIC0tY2hyb290IDxkaXI+ICAgICAgICAgY2hhbmdlIHJvb3QgdG8gdGhlIGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXIsIC0tY2hyb290IDzjg4fjgqPjg6zjgq/jg4jjg6o+IOaMh+WumuOBl+OBn+ODh+OCo+ODrOOCr+ODiOODquOCkuODq+ODvOODiOOBq+OBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzQKK21zZ2lkICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgZG8gdmlydHVhbGx5IGhhbmd1cCBvbiB0aGUgdHR5XG4iCittc2dzdHIgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICB0dHkg44KS5pOs5Ly855qE44Gr44OP44Oz44Kw44Ki44OD44OX44GZ44KL44KI44GG44Gr44GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNQorbXNnaWQgIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICB0cnkgdG8ga2VlcCBiYXVkIHJhdGUgYWZ0ZXIgYnJlYWtcbiIKK21zZ3N0ciAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIGJyZWFrIOW+jOOCguODnOODvOODrOODvOODiOOCkue2reaMgeOBmeOCi+OCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzYKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8bnVtYmVyPiAgICAgbG9naW4gcHJvY2VzcyB0aW1lb3V0XG4iCittc2dzdHIgIiAtdCwgLS10aW1lb3V0IDzmlbDlgKQ+ICAgICAgIOODreOCsOOCpOODs+WHpueQhuOBruWItumZkOaZgumWk+OCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzcKK21zZ2lkICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgZGV0ZWN0IHVwcGVyY2FzZSB0ZXJtaW5hbFxuIgorbXNnc3RyICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAg5aSn5paH5a2X44Gu44G/44KS5L2/55So44GZ44KL56uv5pyr44KS5qSc5Ye644GZ44KL44KI44GG44Gr44GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzOAorbXNnaWQgIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICB3YWl0IGNhcnJpYWdlLXJldHVyblxuIgorbXNnc3RyICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAg44Kt44Oj44Oq44OD44K444Oq44K/44O844Oz44KS5b6F5qmf44GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzOQorbXNnaWQgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBkbyBub3QgcHJpbnQgaGludHNcbiIKK21zZ3N0ciAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIOODkuODs+ODiOOCkuihqOekuuOBl+OBquOBhOOCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDAKK21zZ2lkICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAgbm8gaG9zdG5hbWUgYXQgYWxsIHdpbGwgYmUgc2hvd25cbiIKK21zZ3N0ciAiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgIOODm+OCueODiOWQjeOCkuWFqOOBj+ihqOekuuOBl+OBquOBhOOCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDEKK21zZ2lkICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgc2hvdyBmdWxsIHF1YWxpZmllZCBob3N0bmFtZVxuIgorbXNnc3RyICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAg5a6M5YWo5L+u6aO+44Ob44K544OI5ZCN44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MgorbXNnaWQgIiAgICAgLS1lcmFzZS1jaGFycyA8c3RyaW5nPiBhZGRpdGlvbmFsIGJhY2tzcGFjZSBjaGFyc1xuIgorbXNnc3RyICIgICAgIC0tZXJhc2UtY2hhcnMgPOaWh+Wtl+WIlz4g6L+95Yqg44Gu44OQ44OD44Kv44K544Oa44O844K55paH5a2X44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MworbXNnaWQgIiAgICAgLS1raWxsLWNoYXJzIDxzdHJpbmc+ICBhZGRpdGlvbmFsIGtpbGwgY2hhcnNcbiIKK21zZ3N0ciAiICAgICAtLWtpbGwtY2hhcnMgPOaWh+Wtl+WIlz4gIOi/veWKoOOBriBraWxsIOaWh+Wtl+OCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDQKK21zZ2lkICIgICAgIC0tY2hkaXIgPGRpcmVjdG9yeT4gICAgY2hkaXIgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIgICAgIC0tY2hkaXIgPOODh+OCo+ODrOOCr+ODiOODqj4gIOODreOCsOOCpOODs+OBmeOCi+WJjeOBq+ODh+OCo+ODrOOCr+ODiOODquOCkuWkieabtOOBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDUKK21zZ2lkICIgICAgIC0tZGVsYXkgPG51bWJlcj4gICAgICAgc2xlZXAgc2Vjb25kcyBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAgICAgLS1kZWxheSA856eS5pWwPiAgICAgICAgIOODl+ODreODs+ODl+ODiOOCkuihqOekuuOBmeOCi+WJjeOBq+aMh+WumuOBl+OBn+enkuaVsOW+heOBoeOBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDYKK21zZ2lkICIgICAgIC0tbmljZSA8bnVtYmVyPiAgICAgICAgcnVuIGxvZ2luIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIgICAgIC0tbmljZSA85YSq5YWI5bqmPiAgICAgICAgbG9naW4g44KS5oyH5a6a44GX44Gf5YSq5YWI5bqm44Gn5a6f6KGM44GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NworbXNnaWQgIiAgICAgLS1yZWxvYWQgICAgICAgICAgICAgICByZWxvYWQgcHJvbXB0cyBvbiBydW5uaW5nIGFnZXR0eSBpbnN0YW5jZXNcbiIKK21zZ3N0ciAiICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgIOWun+ihjOS4reOBriBhZ2V0dHkg44Kk44Oz44K544K/44Oz44K544KS44Oq44Ot44O844OJ44GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0OAorbXNnaWQgIiAgICAgLS1oZWxwICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAg44GT44Gu44OY44Or44OX44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0OQorbXNnaWQgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAg44OQ44O844K444On44Oz5oOF5aCx44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCB1c2VyIgorbXNnaWRfcGx1cmFsICIlZCB1c2VycyIKK21zZ3N0clswXSAiJWQg44Om44O844K2IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2tuYW1lIGZhaWxlZDogJW0iCittc2dzdHIgImNoZWNrbmFtZSDjgavlpLHmlZfjgZfjgb7jgZfjgZ86ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHRvdWNoIGZpbGUgJXMiCittc2dzdHIgIuODleOCoeOCpOODqyAlcyDjgavjgqLjgq/jgrvjgrnjgafjgY3jgb7jgZvjgpMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYyNQorbXNnaWQgIi0tcmVsb2FkIGlzIHVuc3VwcG9ydGVkIG9uIHlvdXIgc3lzdGVtIgorbXNnc3RyICItLXJlbG9hZCDjga/jgYLjgarjgZ/jga7jgrfjgrnjg4bjg6Djgafjga/jgrXjg53jg7zjg4jjgZXjgozjgabjgYTjgb7jgZvjgpMiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3kgfCBuXVxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10gW3kgfCBuXVxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3OAorbXNnaWQgIkNvbnRyb2wgd3JpdGUgYWNjZXNzIG9mIG90aGVyIHVzZXJzIHRvIHlvdXIgdGVybWluYWwuXG4iCittc2dzdHIgIuS7luOBruODpuODvOOCtuODvOOBi+OCieOBruOBguOBquOBn+OBruerr+acq+OBuOOBruabuOOBjei+vOOBv+OCouOCr+OCu+OCueOCkuWItuW+oeOBl+OBvuOBmeOAglxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo4MQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAg5L2V44GM6KGM44KP44KM44KL44Gu44GL44KS6Kmz44GX44GP6KGo56S644GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEyNQorbXNnaWQgInR0eW5hbWUgZmFpbGVkIgorbXNnc3RyICJ0dHluYW1lIOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM0Cittc2dpZCAiaXMgeSIKK21zZ3N0ciAi5pyJ5Yq544Gr44Gq44Gj44Gm44GE44G+44GZIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzcKK21zZ2lkICJpcyBuIgorbXNnc3RyICLnhKHlirnjgavjgarjgaPjgabjgYTjgb7jgZkiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE0OCB0ZXJtLXV0aWxzL21lc2cuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlICVzIG1vZGUgZmFpbGVkIgorbXNnc3RyICIlcyDjga7jg6Ljg7zjg4nlpInmm7TjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgIuerr+acq+OBuOOBruabuOOBjei+vOOBv+OCouOCr+OCu+OCueOCkuioseWPr+OBl+OBpuOBhOOBvuOBmSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTU3Cittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgZGVuaWVkIgorbXNnc3RyICLnq6/mnKvjgbjjga7mm7jjgY3ovrzjgb/jgqLjgq/jgrvjgrnjgpLnpoHmraLjgZfjgabjgYTjgb7jgZkiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi5byV5pWw44GM5q2j44GX44GP44GC44KK44G+44Gb44KTOiAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZV1cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIFvjg5XjgqHjgqTjg6tdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTYyCittc2dpZCAiTWFrZSBhIHR5cGVzY3JpcHQgb2YgYSB0ZXJtaW5hbCBzZXNzaW9uLlxuIgorbXNnc3RyICLnq6/mnKvmk43kvZzjgajooajnpLrjga7lhpnjgZfjgpLkvZzmiJDjgZfjgb7jgZnjgIJcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjUKK21zZ2lkICIiCisiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgIGFwcGVuZCB0aGUgb3V0cHV0XG4iCisiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+IHJ1biBjb21tYW5kIHJhdGhlciB0aGFuIGludGVyYWN0aXZlIHNoZWxsXG4iCisiIC1lLCAtLXJldHVybiAgICAgICAgICAgIHJldHVybiBleGl0IGNvZGUgb2YgdGhlIGNoaWxkIHByb2Nlc3NcbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAgcnVuIGZsdXNoIGFmdGVyIGVhY2ggd3JpdGVcbiIKKyIgICAgIC0tZm9yY2UgICAgICAgICAgICAgdXNlIG91dHB1dCBmaWxlIGV2ZW4gd2hlbiBpdCBpcyBhIGxpbmtcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgYmUgcXVpZXRcbiIKKyIgLXQsIC0tdGltaW5nWz08ZmlsZT5dICAgb3V0cHV0IHRpbWluZyBkYXRhIHRvIHN0ZGVyciAob3IgdG8gRklMRSlcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICDov73oqJjjgZfjgablh7rlipvjgZnjgovjgojjgYbjgavjgZfjgb7jgZlcbiIKKyIgLWMsIC0tY29tbWFuZCA844Kz44Oe44Oz44OJPiDlr77oqbHnmoTjgarjgrfjgqfjg6vjgafjga/jgarjgY/jgIHmjIflrprjgZfjgZ/jgrPjg57jg7Pjg4njgpLlrp/ooYzjgZfjgb7jgZlcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAg5a2Q44OX44Ot44K744K544Gu57WC5LqG44Kz44O844OJ44KS6L+U44GZ44KI44GG44Gr44GX44G+44GZXG4iCisiIC1mLCAtLWZsdXNoICAgICAgICAgICAgIOOBneOCjOOBnuOCjOOBruabuOOBjei+vOOBv+WHpueQhuOBpyBmbHVzaCDjgZnjgovjgojjgYbjgavjgZfjgb7jgZlcbiIKKyIgICAgIC0tZm9yY2UgICAgICAgICAgICAg5Ye65Yqb44OV44Kh44Kk44Or44GM44Oq44Oz44Kv44Gn44GC44Gj44Gf5aC05ZCI44KC44CB44Gd44Gu44G+44G+5L2/55So44GZ44KL44KI44GG44Gr44GX44G+44GZXG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIOmdmeWvguODouODvOODieOCkuaMh+WumuOBl+OBvuOBmVxuIgorIiAtdCwgLS10aW1pbmdbPTzjg5XjgqHjgqTjg6s+XSDjgr/jgqTjg5/jg7PjgrDjg4fjg7zjgr/jgpLmqJnmupbjgqjjg6njg7zlh7rlipsgKOOBvuOBn+OBr+ODleOCoeOCpOODqykg44Gr5Ye65Yqb44GX44G+44GZXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIOODkOODvOOCuOODp+ODs+aDheWgseOCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyJcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm91dHB1dCBmaWxlIGAlcycgaXMgYSBsaW5rXG4iCisiVXNlIC0tZm9yY2UgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC5cbiIKKyJQcm9ncmFtIG5vdCBzdGFydGVkLiIKK21zZ3N0ciAiIgorIuWHuuWKm+ODleOCoeOCpOODqyBgJXMnIOOBr+ODquODs+OCr+OBp+OBmeOAglxuIgorIuOBqeOBhuOBl+OBpuOCguOBk+OBruODleOCoeOCpOODq+OCkuS9v+eUqOOBl+OBn+OBhOWgtOWQiOOBr+OAgSAtLWZvcmNlIOOCkuaMh+WumuOBl+OBpuOBj+OBoOOBleOBhOOAglxuIgorIuODl+ODreOCsOODqeODoOOBrui1t+WLleOCkuS4reatouOBl+OBvuOBl+OBn+OAgiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IGRvbmUsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAi44K544Kv44Oq44OX44OI44KS57WC5LqG44GX44G+44GX44Gf44CC44OV44Kh44Kk44Or44GvICVzIOOBp+OBmVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI2MgorbXNnaWQgImNhbm5vdCB3cml0ZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAi44K544Kv44Oq44OX44OI44OV44Kh44Kk44Or44Gr5pu444GN6L6844KA44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLlxuIgorbXNnc3RyICIiCisiXG4iCisi44K744OD44K344On44Oz44GM5by35Yi257WC5LqG44GX44G+44GX44Gf44CCXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDM4CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkIG9uICVzIgorbXNnc3RyICLjgrnjgq/jg6rjg5fjg4jplovlp4s6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2NyaXB0IGRvbmUgb24gJXMiCittc2dzdHIgIiIKKyJcbiIKKyLjgrnjgq/jg6rjg5fjg4jntYLkuoY6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYwNworbXNnaWQgImZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAi56uv5pyr44Gu5bGe5oCn5Y+W5b6X44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYxNAorbXNnaWQgIm9wZW5wdHkgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2NTIKK21zZ2lkICJvdXQgb2YgcHR5J3MiCittc2dzdHIgInB0eSDjga7libLjgorlvZPjgabjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIuOCueOCr+ODquODl+ODiOOCkumWi+Wni+OBl+OBvuOBl+OBn+OAguODleOCoeOCpOODq+OBryAlcyDjgafjgZlcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy10XSB0aW1pbmdmaWxlIFt0eXBlc2NyaXB0XSBbZGl2aXNvcl1cbiIKK21zZ3N0ciAiICVzIFstdF0g44K/44Kk44Of44Oz44Kw44OV44Kh44Kk44OrIFvjgr/jgqTjg5fjgrnjgq/jg6rjg5fjg4hdIFvpmaTmlbBdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDcKK21zZ2lkICJQbGF5IGJhY2sgdGVybWluYWwgdHlwZXNjcmlwdHMsIHVzaW5nIHRpbWluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAi56uv5pyr44GuIHR5cGVzY3JpcHQg44Gu5Ye65Yqb44KS44K/44Kk44Of44Oz44Kw5oOF5aCx44KC5L2/44Gj44Gm5YaN55Sf44GX44G+44GZ44CCXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NTAKK21zZ2lkICIiCisiIC10LCAtLXRpbWluZyA8ZmlsZT4gICAgIHNjcmlwdCB0aW1pbmcgb3V0cHV0IGZpbGVcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA8ZmlsZT4gc2NyaXB0IHRlcm1pbmFsIHNlc3Npb24gb3V0cHV0IGZpbGVcbiIKKyIgLWQsIC0tZGl2aXNvciA8bnVtPiAgICAgc3BlZWQgdXAgb3Igc2xvdyBkb3duIGV4ZWN1dGlvbiB3aXRoIHRpbWUgZGl2aXNvclxuIgorIiAtbSwgLS1tYXhkZWxheSA8bnVtPiAgICB3YWl0IGF0IG1vc3QgdGhpcyBtYW55IHNlY29uZHMgYmV0d2VlbiB1cGRhdGVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyIgLXQsIC0tdGltaW5nIDzjg5XjgqHjgqTjg6s+IOOCueOCr+ODquODl+ODiOOBruOCv+OCpOODn+ODs+OCsOODh+ODvOOCv+ODleOCoeOCpOODq+OCkuaMh+WumuOBl+OBvuOBmVxuIgorIiAtcywgLS10eXBlc2NyaXB0IDzjg5XjgqHjgqTjg6s+IOOCueOCr+ODquODl+ODiOOBruerr+acq+OCu+ODg+OCt+ODp+ODs+OBi+OCieOBruWHuuWKm+ODleOCoeOCpOODq+OCkuaMh+WumuOBl+OBvuOBmVxuIgorIiAtZCwgLS1kaXZpc29yIDzpmaTmlbA+ICAgIOaMh+WumuOBl+OBn+WJsuWQiOOBp+Wun+ihjOmAn+W6puOCkuWil+WKoOOBvuOBn+OBr+a4m+WwkeOBleOBm+OBvuOBmVxuIgorIiAtbSwgLS1tYXhkZWxheSA856eS5pWwPiAgIOabtOaWsOOBrumWk+OBq+acgOWkp+OBp+aMh+WumuOBl+OBn+enkuaVsOOBvuOBp+W+heOBoeOBvuOBmVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICDjg5Djg7zjgrjjg6fjg7Pmg4XloLHjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAg44GT44Gu44OY44Or44OX44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTEyCittc2dpZCAid3JpdGUgdG8gc3Rkb3V0IGZhaWxlZCIKK21zZ3N0ciAi5qiZ5rqW5Ye65Yqb44G444Gu5pu444GN6L6844G/44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIG9uICVzIgorbXNnc3RyICIlcyDjgafkuojmnJ/jgZfjgarjgYTjg5XjgqHjgqTjg6vjga7ntYLnq6/jgYzopovjgaTjgYvjgorjgb7jgZfjgZ8iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHR5cGVzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAi44K/44Kk44OX44K544Kv44Oq44OX44OI44OV44Kh44Kk44OrICVzIOOBruiqreOBv+i+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxODQKK21zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICLlvJXmlbDjga7mlbDjgYzplpPpgZXjgaPjgabjgYTjgb7jgZkiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHRpbWluZyBmaWxlICVzIgorbXNnc3RyICLjgr/jgqTjg5/jg7PjgrDjg5XjgqHjgqTjg6sgJXMg44Gu6Kqt44G/6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltaW5nIGZpbGUgJXM6IGxpbmUgJWx1OiB1bmV4cGVjdGVkIGZvcm1hdCIKK21zZ3N0ciAi44K/44Kk44Of44Oz44Kw44OV44Kh44Kk44OrICVzOiAlbHU6IOS6iOacn+OBl+OBquOBhOabuOW8j+OBjOS9v+OCj+OCjOOBpuOBhOOBvuOBmSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgImFyZ3VtZW50IGVycm9yOiBicmlnaHQgJXMgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAi5byV5pWw44Ko44Op44O8OiDmmI7jgovjgZUgJXMg44Gv44K144Od44O844OI44GV44KM44Gm44GE44G+44Gb44KTIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjgKK21zZ2lkICJ0b28gbWFueSB0YWJzIgorbXNnc3RyICLjgr/jg5bjgYzlpJrjgZnjgY7jgb7jgZkiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MworbXNnaWQgIlNldCB0aGUgYXR0cmlidXRlcyBvZiBhIHRlcm1pbmFsLlxuIgorbXNnc3RyICLnq6/mnKvjga7lsZ7mgKfjgpLoqK3lrprjgZfjgb7jgZnjgIJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg2Cittc2dpZCAiIC0tdGVybSAgICAgICAgICA8dGVybWluYWxfbmFtZT4gICBvdmVycmlkZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiAtLXRlcm0gICAgICAgICAgPOerr+acq+WQjT4gICAgICAgICAgVEVSTSDnkrDlooPlpInmlbDjgafmjIflrprjgZfjgZ/nq6/mnKvjgafjga/jgarjgY/jgIHjgZPjga7nq6/mnKvlkI3jgpLkvb/nlKjjgZfjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg3Cittc2dpZCAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCB0byBwb3dlci1vbiBzdGF0ZVxuIgorbXNnc3RyICIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIOerr+acq+OCkumbu+a6kE9O54q25oWL44Gr44Oq44K744OD44OI44GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OAorIywgZnV6enkKK21zZ2lkICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5pdCBzdHJpbmcsIGFuZCB1c2UgZGVmYXVsdCBzZXR0aW5nc1xuIgorbXNnc3RyICIgLXEsIC0tc3RhdHMgICAgICAgICAgICAgICAgICAgICAgICB0dHkg44Gr6Zai44GZ44KL57Wx6KiI5oOF5aCx44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OQorIywgZnV6enkKK21zZ2lkICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBkZWZhdWx0IHRlcm1pbmFsIHNldHRpbmdzXG4iCittc2dzdHIgIkN0cmwtVSDjgafjg4fjg5Xjgqnjg6vjg4jlgKTjgpLliYrpmaTjgZfjgb7jgZnjgIJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkwCittc2dpZCAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgdGVybWluYWwgc2V0dGluZ3MgYXMgZGVmYXVsdFxuIgorbXNnc3RyICIgLS1zdG9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgIOePvuWcqOOBruerr+acq+ioreWumuOCkuODh+ODleOCqeODq+ODiOOBqOOBl+OBpuS/neWtmOOBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTEKK21zZ2lkICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGRpc3BsYXkgY3Vyc29yXG4iCittc2dzdHIgIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAg44Kr44O844K944Or6KGo56S6L+mdnuihqOekuuOCkuWIh+OCiuabv+OBiOOBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTIKK21zZ2lkICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGtleWJvYXJkIHJlcGVhdFxuIgorbXNnc3RyICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIOOCreODvOODnOODvOODieOBruiHquWLleODquODlOODvOODiOOCkuWIh+OCiuabv+OBiOOBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTMKK21zZ2lkICIgLS1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdICAgICAgICAgIGN1cnNvciBrZXkgYXBwbGljYXRpb24gbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NAorIywgZnV6enkKK21zZ2lkICIgLS1saW5ld3JhcCAgICAgIFtvbnxvZmZdICAgICAgICAgIGNvbnRpbnVlIG9uIGEgbmV3IGxpbmUgd2hlbiBhIGxpbmUgaXMgZnVsbFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICDjgZPjga7jgaHjgofjgaPjgajjgZfjgZ/kvb/jgYTmlrnjgpLooajnpLrjgZnjgotcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk1Cittc2dpZCAiIC0taW52ZXJzZXNjcmVlbiBbb258b2ZmXSAgICAgICAgICBzd2FwIGNvbG9ycyBmb3IgdGhlIHdob2xlIHNjcmVlblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NgorbXNnaWQgIiAtLWZvcmVncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGZvcmVncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICDmloflrZfjga7oibLjgpLoqK3lrprjgZfjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk3Cittc2dpZCAiIC0tYmFja2dyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgYmFja2dyb3VuZCBjb2xvclxuIgorbXNnc3RyICIgLS1iYWNrZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIOiDjOaZr+iJsuOCkuioreWumuOBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTgKK21zZ2lkICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCB1bmRlcmxpbmVkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIC0tdWxjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICDkuIvnt5rku5jjgY3mloflrZfjga7oibLjgpLoqK3lrprjgZfjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk5Cittc2dpZCAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgYm9sZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiAtLWhiY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAg5aSq5a2X44Gu5paH5a2X6Imy44KS6Kit5a6a44GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMAorbXNnaWQgIiAgICAgICAgICAgICAgICAgPGNvbG9yPjogYmxhY2sgYmx1ZSBjeWFuIGdyZWVuIGdyZXkgbWFnZW50YSByZWQgd2hpdGUgeWVsbG93XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgPGNvbG9yPjogYmxhY2sgYmx1ZSBjeWFuIGdyZWVuIGdyZXkgbWFnZW50YSByZWQgd2hpdGUgeWVsbG93XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMQorbXNnaWQgIiAtLWJvbGQgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYm9sZFxuIgorbXNnc3RyICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIOWkquWtl1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDIKK21zZ2lkICIgLS1oYWxmLWJyaWdodCAgIFtvbnxvZmZdICAgICAgICAgIGRpbVxuIgorbXNnc3RyICIgLS1oYWxmLWJyaWdodCAgIFtvbnxvZmZdICAgICAgICAgIOiWhOaal+iJsiAo5Y2K6Lyd5bqmKSBcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAzCittc2dpZCAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlua1xuIgorbXNnc3RyICIgLS1ibGluayAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIOeCuea7hVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDQKK21zZ2lkICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHVuZGVybGluZVxuIgorbXNnc3RyICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIOS4i+e3mlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDUKK21zZ2lkICIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgIHN3YXAgZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBjb2xvcnNcbiIKK21zZ3N0ciAiIC0tcmV2ZXJzZSAgICAgICBbb258b2ZmXSAgICAgICAgICDmloflrZfoibLjgajog4zmma/oibLjgpLlhaXjgozmm7/jgYjjgotcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA2Cittc2dpZCAiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICBjbGVhciBzY3JlZW4gYW5kIHNldCBjdXJzb3IgcG9zaXRpb25cbiIKK21zZ3N0ciAiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICDnlLvpnaLjgpLmtojljrvjgZnjgovnr4Tlm7LjgpLmjIflrprjgIJhbGw65YWo55S76Z2i44CBcmVzdDrjgqvjg7zjgr3jg6vku6XpmY1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA3Cittc2dpZCAiIC0tdGFicyAgICAgICAgICBbPG51bWJlcj4uLi5dICAgICBzZXQgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBzaG93IHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDgKK21zZ2lkICIgLS1jbHJ0YWJzICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIGNsZWFyIHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3IgYWxsXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA5Cittc2dpZCAiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICBzZXQgYSByZWd1bGFyIHRhYiBzdG9wIGludGVydmFsXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEwCittc2dpZCAiIC0tYmxhbmsgICAgICAgICBbMC02MHxmb3JjZXxwb2tlXSBzZXQgdGltZSBvZiBpbmFjdGl2aXR5IGJlZm9yZSBzY3JlZW4gYmxhbmtzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDExCittc2dpZCAiIC0tZHVtcCAgICAgICAgICBbPG51bWJlcj5dICAgICAgICB3cml0ZSB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTIKK21zZ2lkICIgLS1hcHBlbmQgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIGFwcGVuZCB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTMKK21zZ2lkICIgLS1maWxlICAgICAgICAgIDxmaWxlbmFtZT4gICAgICAgIG5hbWUgb2YgdGhlIGR1bXAgZmlsZVxuIgorbXNnc3RyICIgLS1maWxlICAgICAgICAgIDzjg5XjgqHjgqTjg6vlkI0+ICAgICAg44OA44Oz44OX5YWI44Gu44OV44Kh44Kk44Or5ZCNXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNAorbXNnaWQgIiAtLW1zZyAgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgc2VuZCBrZXJuZWwgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLS1tc2cgICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIOOCq+ODvOODjeODq+ODoeODg+OCu+ODvOOCuOOCkuOCs+ODs+OCveODvOODq+OBq+mAgeOCiuOBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTUKK21zZ2lkICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIGtlcm5lbCBjb25zb2xlIGxvZyBsZXZlbFxuIgorbXNnc3RyICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIOOCq+ODvOODjeODq+OCs+ODs+OCveODvOODq+ODreOCsOOBruODrOODmeODq1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTYKK21zZ2lkICIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorbXNnc3RyICIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTcKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCB2ZXNhIHBvd2Vyc2F2aW5nIGZlYXR1cmVzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkVTQSDjga7nnIHpm7vlipvmqZ/og73oqK3lrppcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE4Cittc2dpZCAiIC0tcG93ZXJkb3duICAgICBbMC02MF0gICAgICAgICAgICBzZXQgdmVzYSBwb3dlcmRvd24gaW50ZXJ2YWwgaW4gbWludXRlc1xuIgorbXNnc3RyICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIFZFU0Eg44Gr44KI44KL6Zu75rqQT0ZGIOOBvuOBp+OBruaZgumWk+OCkuWIhuWNmOS9jeOBp+aMh+WumuOBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTkKK21zZ2lkICIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIGR1cmF0aW9uIG9mIHRoZSBiZWxsIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIOODmeODq+mfs+OBrumVt+OBleOCkuODn+ODquenkuWNmOS9jeOBp+aMh+WumuOBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjAKK21zZ2lkICIgLS1iZnJlcSAgICAgICAgIDxudW1iZXI+ICAgICAgICAgIGJlbGwgZnJlcXVlbmN5IGluIEhlcnR6XG4iCittc2dzdHIgIiAtLWJmcmVxICAgICAgICAgPOaVsOWApD4gICAgICAgICAgICDjg5njg6vpn7Pjga7lkajms6LmlbDjgpLjg5jjg6vjg4TjgafmjIflrprjgZfjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIxCittc2dpZCAiIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICBzaG93IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICDjg5Djg7zjgrjjg6fjg7Pmg4XloLHjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIyCittc2dpZCAiIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICAgICAgIOOBk+OBruODmOODq+ODl+OCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MzAKK21zZ2lkICJkdXBsaWNhdGUgdXNlIG9mIGFuIG9wdGlvbiIKK21zZ3N0ciAi44Kq44OX44K344On44Oz44GM6YeN6KSH44GX44Gm44GE44G+44GZIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MzQKK21zZ2lkICJjYW5ub3QgZm9yY2UgYmxhbmsiCittc2dzdHIgIua2iOeBr+OCkuW8t+WItuOBp+OBjeOBvuOBm+OCkyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzM5Cittc2dpZCAiY2Fubm90IGZvcmNlIHVuYmxhbmsiCittc2dzdHIgIua2iOeBr+OBrueEoeWKueWMluOCkuW8t+WItuOBp+OBjeOBvuOBm+OCkyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQ1Cittc2dpZCAiY2Fubm90IGdldCBibGFuayBzdGF0dXMiCittc2dzdHIgIua2iOeBr+eKtuaFi+OCkuWPluW+l+OBp+OBjeOBvuOBm+OCkyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzcxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbiBub3Qgb3BlbiBkdW1wIGZpbGUgJXMgZm9yIG91dHB1dCIKK21zZ3N0ciAi44OA44Oz44OX44OV44Kh44Kk44OrICVzIOOCkuWHuuWKm+eUqOOBq+mWi+OBj+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODEzCisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsICVzIGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgIuerr+acqyAlcyDjga8gJXMg44KS44K144Od44O844OI44GX44Gm44GE44G+44Gb44KTIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo5ODgKK21zZ2lkICJjYW5ub3QgKHVuKXNldCBwb3dlcnNhdmUgbW9kZSIKK21zZ3N0ciAi55yB6Zu75Yqb44Oi44O844OJ44Gu6Kit5a6aICjjgb7jgZ/jga/oqK3lrprop6PpmaQpIOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTAwNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDE2Cittc2dpZCAia2xvZ2N0bCBlcnJvciIKK21zZ3N0ciAia2xvZ2N0bCDjgafjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ8iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwMzcKK21zZ2lkICIkVEVSTSBpcyBub3QgZGVmaW5lZC4iCittc2dzdHIgIiRURVJNIOOBjOioreWumuOBleOCjOOBpuOBhOOBvuOBm+OCk+OAgiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0NAorbXNnaWQgInRlcm1pbmZvIGRhdGFiYXNlIGNhbm5vdCBiZSBmb3VuZCIKK21zZ3N0ciAidGVybWluZm8g44OH44O844K/44OZ44O844K544GM6KaL44Gk44GL44KK44G+44Gb44KTIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIHRlcm1pbmFsIHR5cGUiCittc2dzdHIgIiVzOiDnq6/mnKvjga7nqK7poZ7jgYzkuI3mmI7jgafjgZkiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDgKK21zZ2lkICJ0ZXJtaW5hbCBpcyBoYXJkY29weSIKK21zZ3N0ciAi56uv5pyr44Gv44OP44O844OJ44Kz44OU44O844Gn44GZIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB0b28gbWFueSBpb3YncyIKK21zZ3N0ciAi5YaF6YOo44Ko44Op44O8OiBpb3Yg44GM5aSa44GZ44GO44G+44GZIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImV4Y2Vzc2l2ZWx5IGxvbmcgbGluZSBhcmciCittc2dzdHIgIuihjOW8leaVsOOBjOmVt+OBmeOBjuOBvuOBmSIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlbiBmYWlsZWQiCittc2dzdHIgIm9wZW4g44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJmb3JrOiAlbSIKK21zZ3N0ciAiZm9yazogJW0iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmb3JrIgorbXNnc3RyICLlrZDjg5fjg63jgrvjgrnjgpLotbfli5XjgafjgY3jgb7jgZvjgpMiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCQUQgRVJST1IsIG1lc3NhZ2UgaXMgZmFyIHRvbyBsb25nIgorbXNnc3RyICIlczog5LiN5q2j44Gq44Ko44Op44O844Gn44GZLCDjg6Hjg4Pjgrvjg7zjgrjjgYzplbfjgZnjgY7jgb7jgZkiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiB8IDxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIFs844OV44Kh44Kk44OrPiB8IOODoeODg+OCu+ODvOOCuF1cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODYKK21zZ2lkICJXcml0ZSBhIG1lc3NhZ2UgdG8gYWxsIHVzZXJzLlxuIgorbXNnc3RyICLjgZnjgbnjgabjga7jg6bjg7zjgrbjg7zjgavjg6Hjg4Pjgrvjg7zjgrjjgpLpgIHjgorjgb7jgZnjgIJcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODkKK21zZ2lkICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAgZG8gbm90IHByaW50IGJhbm5lciwgd29ya3Mgb25seSBmb3Igcm9vdFxuIgorbXNnc3RyICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAgICDjg5Djg4rjg7zjgpLooajnpLrjgZfjgb7jgZvjgpPjgILkvb/jgYjjgovjga7jga8gcm9vdCDjgaDjgZHjgafjgZlcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTAKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8dGltZW91dD4gd3JpdGUgdGltZW91dCBpbiBzZWNvbmRzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lb3V0IDzliLbpmZDmmYLplpM+ICDmm7jjgY3ovrzjgb/jga7liLbpmZDmmYLplpPjgafjgZkgKOWNmOS9jTrnp5IpXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEzMgorbXNnaWQgIi0tbm9iYW5uZXIgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIHJvb3QiCittc2dzdHIgIi0tbm9iYW5uZXIg44GvIHJvb3Qg44Gg44GR44GM5L2/55So44Gn44GN44G+44GZIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi5Yi26ZmQ5pmC6ZaT44Gu5byV5pWw44GM5q2j44GX44GP44GC44KK44G+44Gb44KTOiAlcyIKKworIzogdGVybS11dGlscy93YWxsLmM6MjY5Cittc2dpZCAiY2Fubm90IGdldCBwYXNzd2QgdWlkIgorbXNnc3RyICJwYXNzd2QgdWlkIOOCkuWPluW+l+OBp+OBjeOBvuOBm+OCkyIKKworIzogdGVybS11dGlscy93YWxsLmM6Mjc0Cittc2dpZCAiY2Fubm90IGdldCB0dHkgbmFtZSIKK21zZ3N0ciAidHR5IOWQjeOCkuWPluW+l+OBp+OBjeOBvuOBm+OCkyIKKworIyBUcmFuc2xhdG9yJ3MgTk9URTogd2hvbSwgaG9zdG5hbWUsIHdoZXJlLCBkYXRlCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnJvYWRjYXN0IG1lc3NhZ2UgZnJvbSAlc0AlcyAoJXMpICglcyk6IgorbXNnc3RyICIlc0AlcyDjgYvjgonmtYHjgozjgabjgY3jgZ/lhajkvZPlkajnn6Xjg6Hjg4Pjgrvjg7zjgrggKCVzKSAoJXMpOiIKKworIzogdGVybS11dGlscy93YWxsLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IHJlYWQgJXMgLSB1c2Ugc3RkaW4uIgorbXNnc3RyICIlcyDjgYvjgonjga/oqq3jgb/ovrzjgb/jgb7jgZvjgpMgLSDmqJnmupblhaXlipvjgpLjgYrkvb/jgYTjgY/jgaDjgZXjgYTjgIIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1c2VyPiBbPHR0eW5hbWU+XVxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10gPOODpuODvOOCtj4gWzxUVFkg5ZCNPl1cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjkwCittc2dpZCAiU2VuZCBhIG1lc3NhZ2UgdG8gYW5vdGhlciB1c2VyLlxuIgorbXNnc3RyICLliKXjga7jg6bjg7zjgrbjg7zjgavjg6Hjg4Pjgrvjg7zjgrjjgpLpgIHjgorjgb7jgZnjgIJcbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICJlZmZlY3RpdmUgZ2lkIGRvZXMgbm90IG1hdGNoIGdyb3VwIG9mICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiIKK21zZ3N0ciAiJXMg44Gv44Ot44Kw44Kk44Oz44GX44Gm44GE44G+44Gb44KTIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjA3Cittc2dpZCAiY2FuJ3QgZmluZCB5b3VyIHR0eSdzIG5hbWUiCittc2dzdHIgInR0eSDlkI3jgpLmpJzlh7rjgafjgY3jgb7jgZvjgpMiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIgorbXNnc3RyICIlcyDjga/jg6Hjg4Pjgrvjg7zjgrjjgpLnhKHlirnjgavjgZfjgabjgYTjgb7jgZkiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbG9nZ2VkIGluIG1vcmUgdGhhbiBvbmNlOyB3cml0aW5nIHRvICVzIgorbXNnc3RyICIlcyDjga/opIfmlbDjg63jgrDjgqTjg7PjgZfjgabjgYTjgb7jgZk7ICVzIOOBq+abuOOBjei+vOOBv+OBvuOBmSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIzOAorbXNnaWQgImNhcmVmdWxwdXRjIGZhaWxlZCIKK21zZ3N0ciAiY2FyZWZ1bHB1dGMg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgKGFzICVzKSBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICIlMyRzIOOBqOOBl+OBpumAgeS/oeOBleOCjOOBn+OAgSAlMSRzQCUyJHMg44GL44KJ44Gu44Oh44OD44K744O844K444Gn44GZICjnq6/mnKs6ICU0JHMsIOaXpeaZgjogJTUkcykgLi4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6Mjg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiJXNAJXMg44GL44KJ44Gu44Oh44OD44K744O844K444Gn44GZICjnq6/mnKs6ICVzLCDml6XmmYI6ICVzKSAuLi4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozMzEKK21zZ2lkICJ5b3UgaGF2ZSB3cml0ZSBwZXJtaXNzaW9uIHR1cm5lZCBvZmYiCittc2dzdHIgIuabuOOBjei+vOOBv+aoqemZkOOCkueEoeWKueOBq+OBl+OBn+OBvuOBvuOBq+OBquOBo+OBpuOBhOOBvuOBmSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIG9uICVzIgorbXNnc3RyICIlcyDjga8gJXMg44Gr44Ot44Kw44Kk44Oz44GX44Gm44GE44G+44Gb44KTIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCBvbiAlcyIKK21zZ3N0ciAiJXMg44GvICVzIOOBp+ODoeODg+OCu+ODvOOCuOOCkueEoeWKueOBq+OBl+OBpuOBhOOBvuOBmSIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzQKK21zZ2lkICJGaWx0ZXIgb3V0IHJldmVyc2UgbGluZSBmZWVkcy5cbiIKK21zZ3N0ciAi5YWl5Yqb44GL44KJ6YCG5pS56KGM44KS5Y+W44KK6Zmk44GP44OV44Kj44Or44K/44Gn44GZ44CCXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYiwgLS1uby1iYWNrc3BhY2VzICAgIGRvIG5vdCBvdXRwdXQgYmFja3NwYWNlc1xuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIHBlcm1pdCBmb3J3YXJkIGhhbGYgbGluZSBmZWVkc1xuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIHBhc3MgdW5rbm93biBjb250cm9sIHNlcXVlbmNlc1xuIgorIiAtaCwgLS10YWJzICAgICAgICAgICAgIGNvbnZlcnQgc3BhY2VzIHRvIHRhYnNcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICBjb252ZXJ0IHRhYnMgdG8gc3BhY2VzXG4iCisiIC1sLCAtLWxpbmVzIE5VTSAgICAgICAgYnVmZmVyIGF0IGxlYXN0IE5VTSBsaW5lc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1ILCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIuOCquODl+OCt+ODp+ODszpcbiIKKyIgLWIsIC0tbm8tYmFja3NwYWNlcyAgICDjg5Djg4Pjgq/jgrnjg5rjg7zjgrnjgpLooajnpLrjgZfjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKyIgLWYsIC0tZmluZSAgICAgICAgICAgICDljYrmlLnooYzjgpLoqLHlj6/jgZfjgb7jgZlcbiIKKyIgLXAsIC0tcGFzcyAgICAgICAgICAgICDmnKrnn6Xjga7liLblvqHmloflrZfjgpLjgZ3jga7jgb7jgb7ooajnpLrjgZfjgb7jgZlcbiIKKyIgLWgsIC0tdGFicyAgICAgICAgICAgICDjgrnjg5rjg7zjgrnjgpLjgr/jg5bjgavlpInmj5vjgZfjgb7jgZlcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICDjgr/jg5bjgpLjgrnjg5rjg7zjgrnjgavlpInmj5vjgZfjgb7jgZlcbiIKKyIgLWwsIC0tbGluZXMgPOaVsOWApD4gICAgIOWwkeOBquOBj+OBqOOCgiA85pWw5YCkPiDooYzliIbjgaDjgZHjg5Djg4Pjg5XjgqHjgZnjgovjgojjgYbjgavjgZfjgb7jgZlcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICDjg5Djg7zjgrjjg6fjg7Pmg4XloLHjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyIgLUgsIC0taGVscCAgICAgICAgICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxNDggdGV4dC11dGlscy9jb2xybS5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlcyByZWFkcyBmcm9tIHN0YW5kYXJkIGlucHV0IGFuZCB3cml0ZXMgdG8gc3RhbmRhcmQgb3V0cHV0XG4iCisiXG4iCittc2dzdHIgIiIKKyIlcyDjga/mqJnmupblhaXlipvjgYvjgonoqq3jgb/ovrzjgb/jgpLooYzjgarjgYTjgIHmqJnmupblh7rlipvjgavmm7jjgY3ovrzjgb/jgb7jgZnjgIJcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoyMTIKK21zZ2lkICJiYWQgLWwgYXJndW1lbnQiCittc2dzdHIgIi1sIOW8leaVsOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworIzogdGV4dC11dGlscy9jb2wuYzozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2FuJ3QgYmFjayB1cCAlcy4iCittc2dzdHIgIuitpuWRijog44OQ44OD44Kv44Ki44OD44OX44Gn44GN44G+44Gb44KTOiAlcyIKKworIzogdGV4dC11dGlscy9jb2wuYzozMzcKK21zZ2lkICJwYXN0IGZpcnN0IGxpbmUiCittc2dzdHIgIuacgOWIneOBruihjOS7peWJjSIKKworIzogdGV4dC11dGlscy9jb2wuYzozMzcKK21zZ2lkICItLSBsaW5lIGFscmVhZHkgZmx1c2hlZCIKK21zZ3N0ciAi6KGM44Gv5pei44Gr5pu444GN6L6844G+44KM44Gm44GX44G+44Gj44Gf44Gf44KBIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjgxIHRleHQtdXRpbHMvY29sdW1uLmM6MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIFs844OV44Kh44Kk44OrPi4uLl1cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NAorbXNnaWQgIkZpbHRlciBucm9mZiBvdXRwdXQgZm9yIENSVCBwcmV2aWV3aW5nLlxuIgorbXNnc3RyICJucm9mZiDjga7lh7rlipvjgpLnlLvpnaLjgafooajnpLrjgZnjgovjgZ/jgoHjga7jg5XjgqPjg6vjgr/jgafjgZnjgIJcbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NworbXNnaWQgIiAtLCAgLS1uby11bmRlcmxpbmluZyAgICBzdXBwcmVzcyBhbGwgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIOS4i+e3muOCkuW8leOBjeOBvuOBm+OCk1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg4Cittc2dpZCAiIC0yLCAtLWhhbGYtbGluZXMgICAgICAgIHByaW50IGFsbCBoYWxmLWxpbmVzXG4iCittc2dzdHIgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICDjgZnjgbnjgabjga7ooYzjgavljYrmlLnooYzjgYzjgYLjgovjgojjgYbjgavlh7rlipvjgZfjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW3N0YXJ0Y29sIFtlbmRjb2xdXVxuIgorbXNnc3RyICIiCisiXG4iCisi5L2/44GE5pa5OlxuIgorIiAlcyBb6ZaL5aeL5qGBIFvntYLkuobmoYFdXVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjQKK21zZ2lkICJGaWx0ZXIgb3V0IHRoZSBzcGVjaWZpZWQgY29sdW1ucy5cbiIKK21zZ3N0ciAi5YWl5Yqb44GL44KJ5oyH5a6a44GX44Gf5YiX44KS5YmK6Zmk44GX44G+44GZ44CCXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODUKK21zZ2lkICJmaXJzdCBhcmd1bWVudCIKK21zZ3N0ciAiMSDjgaTnm67jga7lgKQiCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODcKK21zZ2lkICJzZWNvbmQgYXJndW1lbnQiCittc2dzdHIgIjIg44Gk55uu44Gu5YCkIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyMAorbXNnaWQgIkNvbHVtbmF0ZSBsaXN0cy5cbiIKK21zZ3N0ciAi5YWl5Yqb44KS5YiX44GU44Go44Gr5pW05b2i44GX44G+44GZ44CCXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTIzCittc2dpZCAiIC1jLCAtLWNvbHVtbnMgPHdpZHRoPiAgICB3aWR0aCBvZiBvdXRwdXQgaW4gbnVtYmVyIG9mIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbHVtbnMgPOW5hT4gICAgICAg5Ye65Yqb5bmF44KS5paH5a2X5pWw44Gn5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI0Cittc2dpZCAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICBjcmVhdGUgYSB0YWJsZVxuIgorbXNnc3RyICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgIOihqOOCkuS9nOaIkOOBl+OBvuOBmVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyNQorbXNnaWQgIiAtcywgLS1zZXBhcmF0b3IgPHN0cmluZz4gcG9zc2libGUgdGFibGUgZGVsaW1pdGVyc1xuIgorbXNnc3RyICIgLXMsIC0tc2VwYXJhdG9yIDzmloflrZfliJc+IOihqOOBruWMuuWIh+OCiuaWh+Wtl+WIl+OCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyNgorbXNnaWQgIiIKKyIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8c3RyaW5nPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucyBzZXBhcmF0b3IgZm9yIHRhYmxlIG91dHB1dDsgZGVmYXVsdCBpcyB0d28gc3BhY2VzXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA85paH5a2X5YiXPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAg6KGo5Ye65Yqb5pmC44Gu5YiX5Yy65YiH44KK44KS5oyH5a6a44GX44G+44GZ44CCXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaXouWumuWApOOBr+OCueODmuODvOOCuSAyIOOBpOOBp+OBmVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyOAorbXNnaWQgIiAteCwgLS1maWxscm93cyAgICAgICAgICAgZmlsbCByb3dzIGJlZm9yZSBjb2x1bW5zXG4iCittc2dzdHIgIiAteCwgLS1maWxscm93cyAgICAgICAgICAg5YiX44Gu5YmN44Gr6KGM44KS5Z+L44KB44G+44GZXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTgyCittc2dpZCAiaW52YWxpZCBjb2x1bW5zIGFyZ3VtZW50IgorbXNnc3RyICLliJfjga7lvJXmlbDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDIyCisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQgaXMgdG9vIGxvbmcsIG91dHB1dCB3aWxsIGJlIHRydW5jYXRlZCIKK21zZ3N0ciAi6KGMICVkIOOBjOmVt+OBmeOBjuOBvuOBmeOAguWHuuWKm+OCkuWIh+OCiuipsOOCgeOBvuOBmSIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU1IHRleHQtdXRpbHMvbW9yZS5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPi4uLlxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10gPOODleOCoeOCpOODqz4uLi5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU4Cittc2dpZCAiRGlzcGxheSBmaWxlIGNvbnRlbnRzIGluIGhleGFkZWNpbWFsLCBkZWNpbWFsLCBvY3RhbCwgb3IgYXNjaWkuXG4iCittc2dzdHIgIuODleOCoeOCpOODq+OBruWGheWuueOCkiAxNumAsuaVsOOAgTEw6YCy5pWw44CBOOmAsuaVsOOAgUFTQ0lJ5paH5a2X44Gn6KGo56S644GX44G+44GZ44CCXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MQorbXNnaWQgIiAtYiwgLS1vbmUtYnl0ZS1vY3RhbCAgICAgIG9uZS1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1iLCAtLW9uZS1ieXRlLW9jdGFsICAgICAgICAgIDHjg5DjgqTjg4jjgZTjgajjgas46YCy6KGo56S6XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MgorbXNnaWQgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgIG9uZS1ieXRlIGNoYXJhY3RlciBkaXNwbGF5XG4iCittc2dzdHIgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgICAgICAx44OQ44Kk44OI44GU44Go44Gr5paH5a2X6KGo56S6XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MworbXNnaWQgIiAtQywgLS1jYW5vbmljYWwgICAgICAgICAgIGNhbm9uaWNhbCBoZXgrQVNDSUkgZGlzcGxheVxuIgorbXNnc3RyICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICAgICAg5qiZ5rqW55qE44GqMTbpgLIr44Ki44K544Kt44O86KGo56S6XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NAorbXNnaWQgIiAtZCwgLS10d28tYnl0ZXMtZGVjaW1hbCAgIHR3by1ieXRlIGRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICAgICAgMuODkOOCpOODiOOBlOOBqOOBqzEw6YCy6KGo56S6XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NQorbXNnaWQgIiAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIHR3by1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1vLCAtLXR3by1ieXRlcy1vY3RhbCAgICAgICAgIDLjg5DjgqTjg4jjgZTjgajjgas46YCy6KGo56S6XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NgorbXNnaWQgIiAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgICAgIDLjg5DjgqTjg4jjgZTjgajjgasxNumAsuihqOekulxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjcKK21zZ2lkICIgLUwsIC0tY29sb3JbPTxtb2RlPl0gICAgICBpbnRlcnByZXQgY29sb3IgZm9ybWF0dGluZyBzcGVjaWZpZXJzXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9POODouODvOODiT5dICAgICAgICDoibLooajnpLrjga7mlrnms5XjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcwCittc2dpZCAiIC1lLCAtLWZvcm1hdCA8Zm9ybWF0PiAgICAgZm9ybWF0IHN0cmluZyB0byBiZSB1c2VkIGZvciBkaXNwbGF5aW5nIGRhdGFcbiIKK21zZ3N0ciAiIC1lLCAtLWZvcm1hdCA85b2i5byPPiAgICAgICAgICAg44OH44O844K/6KGo56S644Gr5Yip55So44GZ44KL44OV44Kp44O844Oe44OD44OI5paH5a2X5YiXXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MQorbXNnaWQgIiAtZiwgLS1mb3JtYXQtZmlsZSA8ZmlsZT4gIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorbXNnc3RyICIgLWYsIC0tZm9ybWF0LWZpbGUgPOODleOCoeOCpOODqz4gIOODleOCqeODvOODnuODg+ODiOaWh+Wtl+WIl+OCkuWPjumMsuOBmeOCi+ODleOCoeOCpOODq1xuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzIKK21zZ2lkICIgLW4sIC0tbGVuZ3RoIDxsZW5ndGg+ICAgICBpbnRlcnByZXQgb25seSBsZW5ndGggYnl0ZXMgb2YgaW5wdXRcbiIKK21zZ3N0ciAiIC1uLCAtLWxlbmd0aCA86ZW344GVPiAgICAgICAgICAg5YWl5Yqb44Gu44GG44Gh5YWI6aCt44GL44KJ5oyH5a6a44OQ44Kk44OI44Gg44GR44KS6Kej6YeIXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MworbXNnaWQgIiAtcywgLS1za2lwIDxvZmZzZXQ+ICAgICAgIHNraXAgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZ1xuIgorbXNnc3RyICIgLXMsIC0tc2tpcCA844Kq44OV44K744OD44OIPiAgICAgICDplovlp4vjgYvjgonmjIflrprjg5DjgqTjg4jpo5vjgbDjgZfjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTc0Cittc2dpZCAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgb3V0cHV0IGlkZW50aWNhbCBsaW5lc1xuIgorbXNnc3RyICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICAg5ZCM5LiA6KGM44KS5Ye65YqbXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1kaXNwbGF5LmM6MzY1Cittc2dpZCAiYWxsIGlucHV0IGZpbGUgYXJndW1lbnRzIGZhaWxlZCIKK21zZ3N0ciAi5YWo44Gm44Gu5YWl5Yqb44OV44Kh44Kk44Or5byV5pWw44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgYnl0ZSBjb3VudCBmb3IgY29udmVyc2lvbiBjaGFyYWN0ZXIgJXMiCittc2dzdHIgIuWkieaPm+aWh+WtlyAlcyDjgavlr77jgZnjgovkuI3mraPjgarjg5DjgqTjg4jjgqvjgqbjg7Pjg4jjgafjgZkiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUlcyByZXF1aXJlcyBhIHByZWNpc2lvbiBvciBhIGJ5dGUgY291bnQiCittc2dzdHIgIiUlcyDjgavjga/nsr7luqbjgb7jgZ/jga/jg5DjgqTjg4jjgqvjgqbjg7Pjg4jjgYzlv4XopoHjgafjgZkiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjY1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBmb3JtYXQgeyVzfSIKK21zZ3N0ciAi5pu45byP44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIHslc30iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjcwCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb252ZXJzaW9uIGNoYXJhY3RlciAlJSVzIgorbXNnc3RyICLlpInmj5vmloflrZfjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMgJSUlcyIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NDM2Cittc2dpZCAiYnl0ZSBjb3VudCB3aXRoIG11bHRpcGxlIGNvbnZlcnNpb24gY2hhcmFjdGVycyIKK21zZ3N0ciAi6KSH5pWw44Gu5aSJ5o+b5paH5a2X44Gu44GC44KL44OQ44Kk44OI44Kr44Km44Oz44OI44Gn44GZIgorCisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozMworbXNnaWQgIlJlYWQgb25lIGxpbmUuXG4iCittc2dzdHIgIjHooYzjgpLoqq3jgb/ovrzjgb/jgb7jgZnjgIJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjI4Cittc2dpZCAiQSBmaWxlIHBlcnVzYWwgZmlsdGVyIGZvciBDUlQgdmlld2luZy5cbiIKK21zZ3N0ciAi44OV44Kh44Kk44Or44KS55S76Z2i44Gn6Kqt44KA44Gf44KB44Gu44OV44Kj44Or44K/44Gn44GZ44CCXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMQorbXNnaWQgIiAtZCAgICAgICAgICBkaXNwbGF5IGhlbHAgaW5zdGVhZCBvZiByaW5naW5nIGJlbGxcbiIKK21zZ3N0ciAiIC1kICAgICAgICAgIOODmeODq+OCkumztOOCieOBmeS7o+OCj+OCiuOBq+ODmOODq+ODl+OCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzIKK21zZ2lkICIgLWYgICAgICAgICAgY291bnQgbG9naWNhbCByYXRoZXIgdGhhbiBzY3JlZW4gbGluZXNcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgIOeUu+mdouihqOekuuOBruihjOOBp+OBr+OBquOBj+OAgeirlueQhuihjOOCkuaVsOOBiOOBvuOBmVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzMKK21zZ2lkICIgLWwgICAgICAgICAgc3VwcHJlc3MgcGF1c2UgYWZ0ZXIgZm9ybSBmZWVkXG4iCittc2dzdHIgIiAtbCAgICAgICAgICDmlLnjg5rjg7zjgrjoqJjlj7fjga7lvozjgafkuIDmmYLlgZzmraLjgZfjgb7jgZvjgpNcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM0Cittc2dpZCAiIC1jICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGRpc3BsYXkgdGV4dCBhbmQgY2xlYW4gbGluZSBlbmRzXG4iCittc2dzdHIgIiAtYyAgICAgICAgICDjgrnjgq/jg63jg7zjg6vjgZvjgZrjgIHjg4bjgq3jgrnjg4jjgpLkuIrmm7jjgY3jgZfjgabooYzmnKvjgpLjgq/jg6rjgqLjgZfjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM1Cittc2dpZCAiIC1wICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGNsZWFuIHNjcmVlbiBhbmQgZGlzcGxheSB0ZXh0XG4iCittc2dzdHIgIiAtcCAgICAgICAgICDjgrnjgq/jg63jg7zjg6vjgZvjgZrjgIHmrKHjga7jg5rjg7zjgrjjgpLooajnpLrjgZnjgovliY3jgavnlLvpnaLjgpLmtojljrvjgZfjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM2Cittc2dpZCAiIC1zICAgICAgICAgIHNxdWVlemUgbXVsdGlwbGUgYmxhbmsgbGluZXMgaW50byBvbmVcbiIKK21zZ3N0ciAiIC1zICAgICAgICAgIOmAo+e2muOBl+OBn+epuuihjOOCkjHooYzjgavjgb7jgajjgoHjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM3Cittc2dpZCAiIC11ICAgICAgICAgIHN1cHByZXNzIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiAtdSAgICAgICAgICDkuIvnt5rjgpLlvJXjgY3jgb7jgZvjgpNcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM4Cittc2dpZCAiIC08bnVtYmVyPiAgIHRoZSBudW1iZXIgb2YgbGluZXMgcGVyIHNjcmVlbmZ1bFxuIgorbXNnc3RyICIgLTxudW1iZXI+ICAgMSDnlLvpnaLjgYLjgZ/jgorjga7ooYzmlbDjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM5Cittc2dpZCAiICs8bnVtYmVyPiAgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBsaW5lIG51bWJlclxuIgorbXNnc3RyICIgKzzmlbDlgKQ+ICAgICA85pWw5YCkPuihjOebruOBi+OCieODleOCoeOCpOODq+OCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDAKK21zZ2lkICIgKy88c3RyaW5nPiAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIHNlYXJjaCBzdHJpbmcgbWF0Y2hcbiIKK21zZ3N0ciAiICsvPOaWh+Wtl+WIlz4gIOaWh+Wtl+WIl+OCkuaknOe0ouOBl+OAgeimi+OBpOOBi+OBo+OBn+WgtOaJgOOBi+OCieihqOekuuOBl+OBvuOBmVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDEKK21zZ2lkICIgLVYgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAtViAgICAgICAgICDjg5Djg7zjgrjjg6fjg7Pmg4XloLHjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIC0lcyIKK21zZ3N0ciAi5LiN5piO44Gq44Kq44OX44K344On44OzIC0lcyDjgafjgZkiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjUwOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqICVzOiBkaXJlY3RvcnkgKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKiogJXM6IOODh+OCo+ODrOOCr+ODiOODquOBp+OBmSAqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKioqKioqKiAlczogTm90IGEgdGV4dCBmaWxlICoqKioqKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKioqKioqKiAlczog44OG44Kt44K544OI44OV44Kh44Kk44Or44Gn44Gv44GC44KK44G+44Gb44KTICoqKioqKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjY0NQorIywgYy1mb3JtYXQKK21zZ2lkICJbVXNlIHEgb3IgUSB0byBxdWl0XSIKK21zZ3N0ciAiW+e1guS6huOBmeOCi+OBq+OBryBxIOOBvuOBn+OBryBRIOOCkuaKvOOBl+OBpuS4i+OBleOBhF0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjcyNAorIywgYy1mb3JtYXQKK21zZ2lkICItLU1vcmUtLSIKK21zZ3N0ciAiLS3ntprjgY3jgb7jgZktLSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzI2CisjLCBjLWZvcm1hdAorbXNnaWQgIihOZXh0IGZpbGU6ICVzKSIKK21zZ3N0ciAiKOasoeOBruODleOCoeOCpOODqzogJXMpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzIHNwYWNlIHRvIGNvbnRpbnVlLCAncScgdG8gcXVpdC5dIgorbXNnc3RyICJb44K544Oa44O844K544Kt44O844Gn57aa6KGM44CBICdxJyDjgafntYLkuobjgZfjgb7jgZldIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmJhY2sgJWQgcGFnZSIKK21zZ2lkX3BsdXJhbCAiLi4uYmFjayAlZCBwYWdlcyIKK21zZ3N0clswXSAiLi4uICVkIOODmuODvOOCuOaIu+OCiuOBvuOBmSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTIxMAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5za2lwcGluZyAlZCBsaW5lIgorbXNnaWRfcGx1cmFsICIuLi5za2lwcGluZyAlZCBsaW5lcyIKK21zZ3N0clswXSAiLi4uICVkIOihjOmjm+OBsOOBl+OBvuOBmSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI0OAorbXNnaWQgIiIKKyJcbiIKKyIqKipCYWNrKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKirmiLvjgosqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI2MworbXNnaWQgIk5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKK21zZ3N0ciAi5Lul5YmN44Gr5L2/55So44GX44Gf5q2j6KaP6KGo54++44Gv44GC44KK44G+44Gb44KTIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjkzCittc2dpZCAiIgorIlxuIgorIk1vc3QgY29tbWFuZHMgb3B0aW9uYWxseSBwcmVjZWRlZCBieSBpbnRlZ2VyIGFyZ3VtZW50IGsuICBEZWZhdWx0cyBpbiBicmFja2V0cy5cbiIKKyJTdGFyICgqKSBpbmRpY2F0ZXMgYXJndW1lbnQgYmVjb21lcyBuZXcgZGVmYXVsdC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIuOBu+OBqOOCk+OBqeOBruOCs+ODnuODs+ODieOBruWJjeOBq+OBr+OAgeaVtOaVsOOCkuaMh+WumuOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmSAo5LiL6KiY44Gu6Kqs5piO44Gn44Gv44CBIGsg44Go6KGo6KiY44GX44Gm44GE44G+44GZKSDjgILmlbTmlbDjgpLmjIflrprjgZfjgarjgYTloLTlkIjjga7ml6LlrprlgKTjga/jgIEgW10g5YaF44Gr5pu444GL44KM44Gf5YCk44Gn44GZ44CCXG4iCisi44G+44Gf44CB44Ki44K544K/44Oq44K544KvICgqKSDjgYzmm7jjgYvjgozjgabjgYTjgovloLTlkIjjga/jgIHlvJXmlbDjgYzmlrDjgZfjgYTml6LlrprlgKTjgavjgarjgovjgZPjgajjgpLooajjgo/jgZfjgabjgYTjgb7jgZnjgIJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTMwMAorbXNnaWQgIiIKKyI8c3BhY2U+ICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXVxuIgorInogICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdKlxuIgorIjxyZXR1cm4+ICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgWzFdKlxuIgorImQgb3IgY3RybC1EICAgICAgICAgICAgIFNjcm9sbCBrIGxpbmVzIFtjdXJyZW50IHNjcm9sbCBzaXplLCBpbml0aWFsbHkgMTFdKlxuIgorInEgb3IgUSBvciA8aW50ZXJydXB0PiAgIEV4aXQgZnJvbSBtb3JlXG4iCisicyAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgbGluZXMgb2YgdGV4dCBbMV1cbiIKKyJmICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBzY3JlZW5mdWxzIG9mIHRleHQgWzFdXG4iCisiYiBvciBjdHJsLUIgICAgICAgICAgICAgU2tpcCBiYWNrd2FyZHMgayBzY3JlZW5mdWxzIG9mIHRleHQgWzFdXG4iCisiJyAgICAgICAgICAgICAgICAgICAgICAgR28gdG8gcGxhY2Ugd2hlcmUgcHJldmlvdXMgc2VhcmNoIHN0YXJ0ZWRcbiIKKyI9ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgbGluZSBudW1iZXJcbiIKKyIvPHJlZ3VsYXIgZXhwcmVzc2lvbj4gICBTZWFyY2ggZm9yIGt0aCBvY2N1cnJlbmNlIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbiBbMV1cbiIKKyJuICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggZm9yIGt0aCBvY2N1cnJlbmNlIG9mIGxhc3Qgci5lIFsxXVxuIgorIiE8Y21kPiBvciA6ITxjbWQ+ICAgICAgIEV4ZWN1dGUgPGNtZD4gaW4gYSBzdWJzaGVsbFxuIgorInYgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0IHVwIC91c3IvYmluL3ZpIGF0IGN1cnJlbnQgbGluZVxuIgorImN0cmwtTCAgICAgICAgICAgICAgICAgIFJlZHJhdyBzY3JlZW5cbiIKKyI6biAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggbmV4dCBmaWxlIFsxXVxuIgorIjpwICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBwcmV2aW91cyBmaWxlIFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBmaWxlIG5hbWUgYW5kIGxpbmUgbnVtYmVyXG4iCisiLiAgICAgICAgICAgICAgICAgICAgICAgUmVwZWF0IHByZXZpb3VzIGNvbW1hbmRcbiIKK21zZ3N0ciAiIgorIjxzcGFjZT4gICAgICAgICAgICAgICAgIOasoeOBriBrIOihjOWIhuOBruODhuOCreOCueODiOOCkuihqOekuuOBl+OBvuOBmSBb54++5Zyo44Gu55S76Z2i44K144Kk44K6XVxuIgorInogICAgICAgICAgICAgICAgICAgICAgIOasoeOBriBrIOihjOWIhuOBruODhuOCreOCueODiOOCkuihqOekuuOBl+OBvuOBmSBb54++5Zyo44Gu55S76Z2i44K144Kk44K6XSpcbiIKKyI8cmV0dXJuPiAgICAgICAgICAgICAgICDmrKHjga4gayDooYzliIbjga7jg4bjgq3jgrnjg4jjgpLooajnpLrjgZfjgb7jgZkgWzFdKlxuIgorImQg44G+44Gf44GvIGN0cmwtRCAgICAgICAgIGsg6KGM5YiG44K544Kv44Ot44O844Or44GX44G+44GZIFvnj77lnKjjga7jgrnjgq/jg63jg7zjg6vjgrXjgqTjgrosIOWIneacn+WApOOBryAxMV0qXG4iCisicSDjgb7jgZ/jga8gUSDjgb7jgZ/jga8gPGludGVycnVwdD4gbW9yZSDjgpLntYLkuobjgZfjgb7jgZlcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBrIOihjOWFiOOBq+enu+WLleOBl+OBvuOBmSBbMV1cbiIKKyJmICAgICAgICAgICAgICAgICAgICAgICBrIOWbnueUu+mdouOCkuWFiOOBq+enu+WLleOBl+OBvuOBmSBbMV1cbiIKKyJiIOOBvuOBn+OBryBjdHJsLUIgICAgICAgICBrIOWbnueUu+mdouOCkuWJjeOBq+enu+WLleOBl+OBvuOBmSBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICDnm7Tov5HjgavmpJzntKLjgpLplovlp4vjgZfjgZ/lnLDngrnjgavnp7vli5XjgZfjgb7jgZlcbiIKKyI9ICAgICAgICAgICAgICAgICAgICAgICDnj77lnKjjga7ooYznlarlj7fjgpLooajnpLrjgZfjgb7jgZlcbiIKKyIvPOato+imj+ihqOePvj4gICAgICAgICAgICAg5q2j6KaP6KGo54++44Gr6Kmy5b2T44GZ44KLIGsg55Wq55uu44Gu5L2N572u44Gr56e75YuV44GX44G+44GZIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIOWJjeWbnuOBruato+imj+ihqOePvuOCkuWIqeeUqOOBl+OAgSBrIOeVquebruOBruipsuW9k+S9jee9ruOBq+enu+WLleOBl+OBvuOBmSBbMV1cbiIKKyIhPOOCs+ODnuODs+ODiT4g44G+44Gf44GvIDohPOOCs+ODnuODs+ODiT4g44K144OW44K344Kn44Or44GnIDzjgrPjg57jg7Pjg4k+IOOCkuWun+ihjOOBl+OBvuOBmVxuIgorInYgICAgICAgICAgICAgICAgICAgICAgIOePvuWcqOOBruihjOOBpyAvdXNyL2Jpbi92aSDjgpLotbfli5XjgZfjgb7jgZlcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICDnlLvpnaLjgpLlho3mj4/nlLvjgZfjgb7jgZlcbiIKKyI6biAgICAgICAgICAgICAgICAgICAgICBrIOWAi+WIhuOBoOOBkeWFiOOBruODleOCoeOCpOODq+OBq+enu+WLleOBl+OBvuOBmSBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgICAgICBrIOWAi+WIhuOBoOOBkeWJjeOBruODleOCoeOCpOODq+OBq+enu+WLleOBl+OBvuOBmSBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICDnj77lnKjjga7jg5XjgqHjgqTjg6vlkI3jgajooYznlarlj7fjgpLooajnpLrjgZfjgb7jgZlcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICDnm7TliY3jga7jgrPjg57jg7Pjg4njgpLnubDjgorov5TjgZfjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTM3MyB0ZXh0LXV0aWxzL21vcmUuYzoxMzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyAnaCcgZm9yIGluc3RydWN0aW9ucy5dIgorbXNnc3RyICJbJ2gnIOOCreODvOOBp+aTjeS9nOaWueazleOCkuihqOekuuOBl+OBvuOBmV0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGxpbmUgJWQiCittc2dzdHIgIlwiJXNcIiAlZCDooYwiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiW05vdCBhIGZpbGVdIGxpbmUgJWQiCittc2dzdHIgIlvpnZ7jg5XjgqHjgqTjg6tdICVkIOihjCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQ5NAorbXNnaWQgIiAgT3ZlcmZsb3dcbiIKK21zZ3N0ciAiICDlpKfjgY3jgZnjgY7jgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU0MworbXNnaWQgIi4uLnNraXBwaW5nXG4iCittc2dzdHIgIi4uLumjm+OBsOOBl+OBpuOBhOOBvuOBmVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTc3Cittc2dpZCAiIgorIlxuIgorIlBhdHRlcm4gbm90IGZvdW5kXG4iCittc2dzdHIgIiIKKyJcbiIKKyLjg5Hjgr/jg7zjg7PjgYzopovjgaTjgYvjgorjgb7jgZvjgpNcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU4MyB0ZXh0LXV0aWxzL3BnLmM6MTAyNyB0ZXh0LXV0aWxzL3BnLmM6MTE3MworbXNnaWQgIlBhdHRlcm4gbm90IGZvdW5kIgorbXNnc3RyICLjg5Hjgr/jg7zjg7PjgYzopovjgaTjgYvjgorjgb7jgZvjgpMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2MjkKK21zZ2lkICJleGVjIGZhaWxlZFxuIgorbXNnc3RyICLlrp/ooYzjgavlpLHmlZfjgZfjgb7jgZfjgZ9cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY0MworbXNnaWQgImNhbid0IGZvcmtcbiIKK21zZ3N0ciAi5a2Q44OX44Ot44K744K544KS6LW35YuV44Gn44GN44G+44Gb44KTXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NzcKK21zZ2lkICIiCisiXG4iCisiLi4uU2tpcHBpbmcgIgorbXNnc3RyICIiCisiXG4iCisiLi4u6aOb44Gw44GX44Gm44GE44G+44GZICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY4MQorbXNnaWQgIi4uLlNraXBwaW5nIHRvIGZpbGUgIgorbXNnc3RyICIuLi7kuIvoqJjjga7mlbDjgaDjgZHjg5XjgqHjgqTjg6vjgpLpo5vjgbDjgZfjgb7jgZkgIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjgzCittc2dpZCAiLi4uU2tpcHBpbmcgYmFjayB0byBmaWxlICIKK21zZ3N0ciAiLi4u5LiL6KiY44Gu5pWw44Gg44GR44OV44Kh44Kk44Or44KS5oi744GX44G+44GZICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTk3MworbXNnaWQgIkxpbmUgdG9vIGxvbmciCittc2dzdHIgIuihjOOBjOmVt+OBmeOBjuOBvuOBmSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjAxMAorbXNnaWQgIk5vIHByZXZpb3VzIGNvbW1hbmQgdG8gc3Vic3RpdHV0ZSBmb3IiCittc2dzdHIgIuS7peWJjeOBq+Wun+ihjOOBl+OBn+OCs+ODnuODs+ODieOBjOOBguOCiuOBvuOBm+OCkyIKKworIzogdGV4dC11dGlscy9wZy5jOjE0NAorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBoICAgICAgICAgICAgICAgICAgICAgICB0aGlzIHNjcmVlblxuIgorIiAgcSBvciBRICAgICAgICAgICAgICAgICAgcXVpdCBwcm9ncmFtXG4iCisiICA8bmV3bGluZT4gICAgICAgICAgICAgICBuZXh0IHBhZ2VcbiIKKyIgIGYgICAgICAgICAgICAgICAgICAgICAgIHNraXAgYSBwYWdlIGZvcndhcmRcbiIKKyIgIGQgb3IgXkQgICAgICAgICAgICAgICAgIG5leHQgaGFsZnBhZ2VcbiIKKyIgIGwgICAgICAgICAgICAgICAgICAgICAgIG5leHQgbGluZVxuIgorIiAgJCAgICAgICAgICAgICAgICAgICAgICAgbGFzdCBwYWdlXG4iCisiICAvcmVnZXgvICAgICAgICAgICAgICAgICBzZWFyY2ggZm9yd2FyZCBmb3IgcmVnZXhcbiIKKyIgID9yZWdleD8gb3IgXnJlZ2V4XiAgICAgIHNlYXJjaCBiYWNrd2FyZCBmb3IgcmVnZXhcbiIKKyIgIC4gb3IgXkwgICAgICAgICAgICAgICAgIHJlZHJhdyBzY3JlZW5cbiIKKyIgIHcgb3IgeiAgICAgICAgICAgICAgICAgIHNldCBwYWdlIHNpemUgYW5kIGdvIHRvIG5leHQgcGFnZVxuIgorIiAgcyBmaWxlbmFtZSAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IGZpbGUgdG8gZmlsZW5hbWVcbiIKKyIgICFjb21tYW5kICAgICAgICAgICAgICAgIHNoZWxsIGVzY2FwZVxuIgorIiAgcCAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gcHJldmlvdXMgZmlsZVxuIgorIiAgbiAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gbmV4dCBmaWxlXG4iCisiXG4iCisiTWFueSBjb21tYW5kcyBhY2NlcHQgcHJlY2VkaW5nIG51bWJlcnMsIGZvciBleGFtcGxlOlxuIgorIisxPG5ld2xpbmU+IChuZXh0IHBhZ2UpOyAtMTxuZXdsaW5lPiAocHJldmlvdXMgcGFnZSk7IDE8bmV3bGluZT4gKGZpcnN0IHBhZ2UpLlxuIgorIlxuIgorIlNlZSBwZygxKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBoICAgICAgICAgICAgICAgICAgICAgICDjgZPjga7nlLvpnaLjgpLooajnpLrjgZfjgb7jgZlcbiIKKyIgIHEg44G+44Gf44GvIFEgICAgICAgICAgICAgIOODl+ODreOCsOODqeODoOOCkue1guS6huOBl+OBvuOBmVxuIgorIiAgPG5ld2xpbmU+ICAgICAgICAgICAgICAg5qyh44Gu44Oa44O844K444Gr56e75YuV44GX44G+44GZXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICAxIOODmuODvOOCuOWIhuOBoOOBkeasoeOBq+enu+WLleOBl+OBvuOBmVxuIgorIiAgZCDjgb7jgZ/jga8gXkQgICAgICAgICAgICAg5Y2K44Oa44O844K45YiG44Gg44GR5qyh44Gr56e75YuV44GX44G+44GZXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICDmrKHjga7ooYzjgavnp7vli5XjgZfjgb7jgZlcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIOacgOe1guODmuODvOOCuOOBq+enu+WLleOBl+OBvuOBmVxuIgorIiAgL3JlZ2V4LyAgICAgICAgICAgICAgICAg5q2j6KaP6KGo54++44Gn5YmN6YCy5qSc57Si44KS6KGM44Gq44GE44G+44GZXG4iCisiICA/cmVnZXg/IOOBvuOBn+OBryBecmVnZXheICDmraPopo/ooajnj77jgaflvozpgIDmpJzmn7vjgpLooYzjgarjgYTjgb7jgZlcbiIKKyIgIC4g44G+44Gf44GvIF5MICAgICAgICAgICAgIOeUu+mdouOCkuWGjeaPj+eUu+OBl+OBvuOBmVxuIgorIiAgdyDjgb7jgZ/jga8geiAgICAgICAgICAgICAg44Oa44O844K444K144Kk44K644KS6Kit5a6a44GX44CB5qyh44Gu44Oa44O844K444Gr56e75YuV44GX44G+44GZXG4iCisiICBzIOODleOCoeOCpOODq+WQjSAgICAgICAgICAgIOePvuWcqOOBruODleOCoeOCpOODq+OCkuaMh+WumuOBl+OBn+ODleOCoeOCpOODq+WQjeOBq+S/neWtmOOBl+OBvuOBmVxuIgorIiAgIeOCs+ODnuODs+ODiSAgICAgICAgICAgICAgIOOCt+OCp+ODq+OCkuWun+ihjOOBl+OBvuOBmVxuIgorIiAgcCAgICAgICAgICAgICAgICAgICAgICAg5YmN44Gu44OV44Kh44Kk44Or44Gr56e75YuV44GX44G+44GZXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICDmrKHjga7jg5XjgqHjgqTjg6vjgavnp7vli5XjgZfjgb7jgZlcbiIKKyJcbiIKKyLjgbvjgajjgpPjganjga7jgrPjg57jg7Pjg4njga7liY3jgavjga/jgIHmlbTmlbDjgpLmjIflrprjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZnjgILjgZ/jgajjgYjjgbA6XG4iCisiKzE8bmV3bGluZT4gKOasoeOBruODmuODvOOCuCk7IC0xPG5ld2xpbmU+ICjliY3jga7jg5rjg7zjgrgpOyAxPG5ld2xpbmU+ICjmnIDliJ3jga7jg5rjg7zjgrgpXG4iCisiXG4iCisi6Kmz44GX44GP44GvIHBnKDEpIOOCkuOBiuiqreOBv+OBj+OBoOOBleOBhOOAglxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyMgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFsrbGluZV0gWysvcGF0dGVybi9dIFtmaWxlc11cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIFsr6KGM5pWwXSBbKy/jg5Hjgr/jg7zjg7MvXSBb44OV44Kh44Kk44OrXVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjI2Cittc2dpZCAiQnJvd3NlIHBhZ2V3aXNlIHRocm91Z2ggdGV4dCBmaWxlcy5cbiIKK21zZ3N0ciAi44Oa44O844K444GU44Go44Gr44OG44Kt44K544OI44OV44Kh44Kk44Or44KS6KGo56S644GX44G+44GZ44CCXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMjkKK21zZ2lkICIgLW51bWJlciAgICAgIGxpbmVzIHBlciBwYWdlXG4iCittc2dzdHIgIiAtbnVtYmVyICAgICAgMSDjg5rjg7zjgrjjgYLjgZ/jgorjga7ooYzmlbDjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMAorbXNnaWQgIiAtYyAgICAgICAgICAgY2xlYXIgc2NyZWVuIGJlZm9yZSBkaXNwbGF5aW5nXG4iCittc2dzdHIgIiAtYyAgICAgICAgICAg6KGo56S644KS6KGM44Gq44GG5YmN44Gr55S76Z2i44KS5raI5Y6744GX44G+44GZXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzEKK21zZ2lkICIgLWUgICAgICAgICAgIGRvIG5vdCBwYXVzZSBhdCBlbmQgb2YgYSBmaWxlXG4iCittc2dzdHIgIiAtZSAgICAgICAgICAg44OV44Kh44Kk44Or57WC56uv44Gn5LiA5pmC5YGc5q2i44GX44Gq44GE44KI44GG44Gr44GX44G+44GZXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzIKK21zZ2lkICIgLWYgICAgICAgICAgIGRvIG5vdCBzcGxpdCBsb25nIGxpbmVzXG4iCittc2dzdHIgIiAtZiAgICAgICAgICAg6ZW344GE6KGM44KS5YiG5Ymy44GX44Gq44GE44KI44GG44Gr44GX44G+44GZXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzMKK21zZ2lkICIgLW4gICAgICAgICAgIHRlcm1pbmF0ZSBjb21tYW5kIHdpdGggbmV3IGxpbmVcbiIKK21zZ3N0ciAiIC1uICAgICAgICAgICDmlLnooYzjgafjgrPjg57jg7Pjg4njgYzntYLjgo/jgorjgafjgYLjgovjgoLjga7jgajjgb/jgarjgZnjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNAorbXNnaWQgIiAtcCA8cHJvbXB0PiAgc3BlY2lmeSBwcm9tcHRcbiIKK21zZ3N0ciAiIC1wIDzjg5fjg63jg7Pjg5fjg4g+IOODl+ODreODs+ODl+ODiOOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM1Cittc2dpZCAiIC1yICAgICAgICAgICBkaXNhbGxvdyBzaGVsbCBlc2NhcGVcbiIKK21zZ3N0ciAiIC1yICAgICAgICAgICDjgrPjg57jg7Pjg4njgpLlrp/ooYzjgafjgY3jgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNgorbXNnaWQgIiAtcyAgICAgICAgICAgcHJpbnQgbWVzc2FnZXMgdG8gc3Rkb3V0XG4iCittc2dzdHIgIiAtcyAgICAgICAgICAg44Oh44OD44K744O844K444KS5qiZ5rqW5Ye65Yqb44Gr6KGo56S644GX44G+44GZXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzcKK21zZ2lkICIgK251bWJlciAgICAgIHN0YXJ0IGF0IHRoZSBnaXZlbiBsaW5lXG4iCittc2dzdHIgIiArbnVtYmVyICAgICAg5oyH5a6a44GX44Gf6KGM44GL44KJ5Yem55CG44KS5aeL44KB44G+44GZXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzgKK21zZ2lkICIgKy9wYXR0ZXJuLyAgIHN0YXJ0IGF0IHRoZSBsaW5lIGNvbnRhaW5pbmcgcGF0dGVyblxuIgorbXNnc3RyICIgKy/jg5Hjgr/jg7zjg7MvICDmjIflrprjgZfjgZ/jg5Hjgr/jg7zjg7PjgpLlkKvjgoDooYzjgYvjgonlh6bnkIbjgpLlp4vjgoHjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gJXMiCittc2dzdHIgIuOCquODl+OCt+ODp+ODs+OBq+OBr+W8leaVsOOBjOW/heimgeOBp+OBmSAtLSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIG9wdGlvbiAtLSAlcyIKK21zZ3N0ciAi44Kq44OX44K344On44Oz44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIC0tICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzU5Cittc2dpZCAiLi4uc2tpcHBpbmcgZm9yd2FyZFxuIgorbXNnc3RyICIuLi7po5vjgbDjgZfjgabjgYTjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM2MQorbXNnaWQgIi4uLnNraXBwaW5nIGJhY2t3YXJkXG4iCittc2dzdHIgIi4uLuW3u+OBjeaIu+OBl+OBpuOBhOOBvuOBmVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzc3Cittc2dpZCAiTm8gbmV4dCBmaWxlIgorbXNnc3RyICLmrKHjga7jg5XjgqHjgqTjg6vjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODEKK21zZ2lkICJObyBwcmV2aW91cyBmaWxlIgorbXNnc3RyICLku6XliY3jga7jg5XjgqHjgqTjg6vjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvciBmcm9tICVzIGZpbGUiCittc2dzdHIgIuODleOCoeOCpOODqyAlcyDjgYvjgonjga7oqq3jgb/ovrzjgb/mmYLjgavjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ8iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCBFT0YgaW4gJXMgZmlsZSIKK21zZ3N0ciAi44OV44Kh44Kk44OrICVzIOOBp+S6iOacn+OBl+OBquOBhOODleOCoeOCpOODq+e1guerr+OBjOaknOWHuuOBleOCjOOBvuOBl+OBnyIKKworIzogdGV4dC11dGlscy9wZy5jOjg4OAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGVycm9yIGluICVzIGZpbGUiCittc2dzdHIgIuODleOCoeOCpOODqyAlcyDjgafkuI3mmI7jgarjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ8iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NDEKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAi5LiA5pmC44OV44Kh44Kk44Or44KS5L2c5oiQ44Gn44GN44G+44Gb44KTIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTUwIHRleHQtdXRpbHMvcGcuYzoxMTE0IHRleHQtdXRpbHMvcGcuYzoxMTQwCittc2dpZCAiUkUgZXJyb3I6ICIKK21zZ3N0ciAiUkUg44Ko44Op44O8OiIKKworIzogdGV4dC11dGlscy9wZy5jOjEwOTcKK21zZ2lkICIoRU9GKSIKK21zZ3N0ciAiKEVPRikiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTIyIHRleHQtdXRpbHMvcGcuYzoxMTQ4Cittc2dpZCAiTm8gcmVtZW1iZXJlZCBzZWFyY2ggc3RyaW5nIgorbXNnc3RyICLmpJzntKLmloflrZfliJfjgajjgZfjgaboqJjmhrbjgZfjgabjgYTjgovjgoLjga7jga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjAzCittc2dpZCAiY2Fubm90IG9wZW4gIgorbXNnc3RyICLkuIvoqJjjga7jgoLjga7jgpLplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpMgIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI1NQorbXNnaWQgInNhdmVkIgorbXNnc3RyICLkv53lrZjjgZfjgb7jgZfjgZ8iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzQ1Cittc2dpZCAiOiAhY29tbWFuZCBub3QgYWxsb3dlZCBpbiByZmxhZyBtb2RlLlxuIgorbXNnc3RyICI6ICFjb21tYW5kIOOBryByZmxhZyDjg6Ljg7zjg4njgafjga/oqLHlj6/jgZXjgozjgb7jgZvjgpPjgIJcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzODAKK21zZ2lkICJmb3JrKCkgZmFpbGVkLCB0cnkgYWdhaW4gbGF0ZXJcbiIKK21zZ3N0ciAiZm9yaygpIOOBjOWkseaVl+OBl+OBvuOBl+OBn+OAgeW+jOOBp+Wun+ihjOOBl+ebtOOBl+OBpuOBj+OBoOOBleOBhFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTQ2OAorbXNnaWQgIihOZXh0IGZpbGU6ICIKK21zZ3N0ciAiKOasoeOBruODleOCoeOCpOODqzogIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTUzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlcyBDb3B5cmlnaHQgKGMpIDIwMDAtMjAwMSBHdW5uYXIgUml0dGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuIgorbXNnc3RyICIlcyAlcyBDb3B5cmlnaHQgKGMpIDIwMDAtMjAwMSBHdW5uYXIgUml0dGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU4NyB0ZXh0LXV0aWxzL3BnLmM6MTY2MAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMgcGVyIHBhZ2UiCittc2dzdHIgIjEg44Oa44O844K444GC44Gf44KK44Gu6KGM5pWw44Gu6Kej6YeI44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorbXNnc3RyICLkvb/jgYTmlrk6ICVzIFvjgqrjg5fjgrfjg6fjg7NdIFvjg5XjgqHjgqTjg6sgLi4uXVxuIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjgwCittc2dpZCAiUmV2ZXJzZSBsaW5lcyBjaGFyYWN0ZXJ3aXNlLlxuIgorbXNnc3RyICLooYzjga7lhoXlrrnjgpLmloflrZfljZjkvY3jgafpgIbpoIbjgavkuKbjgbnmm7/jgYjjgb7jgZnjgIJcbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJpbmNvbXBsZXRlIHdyaXRlIHRvIFwiJXNcIiAod3JpdHRlbiAlemQsIGV4cGVjdGVkICV6ZClcbiIKK21zZ3N0ciAiXCIlc1wiIOOBuOOBruabuOOBjei+vOOBv+OBjOWujOS6huOBl+OBvuOBm+OCkyAoJXpkIOabuOOBjei+vOOBv+WujOS6huOAgSV6ZCDmm7jjgY3ovrzjgb/kuojlrpopXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaCAobGltaXQgb2YgaW5vdGlmeSB3YXRjaGVzIHdhcyByZWFjaGVkKS4iCittc2dzdHIgIiVzOiBpbm90aWZ5IOOBruebo+imluOCkui/veWKoOOBp+OBjeOBvuOBm+OCkyAoaW5vdGlmeSDjga7nm6PoppbkuIrpmZDjgavpgZTjgZfjgb7jgZfjgZ8pIOOAgiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbl0gPGZpbGU+XG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSA844OV44Kh44Kk44OrPlxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjAwCittc2dpZCAiRm9sbG93IHRoZSBncm93dGggb2YgYSBsb2cgZmlsZS5cbiIKK21zZ3N0ciAi44Ot44Kw44OV44Kh44Kk44Or44Gu6L+96KiY44Gr6L+96ZqP44GX44G+44GZ44CCXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMDMKK21zZ2lkICIgLW4sIC0tbGluZXMgPG51bWJlcj4gICBvdXRwdXQgdGhlIGxhc3QgPG51bWJlcj4gbGluZXNcbiIKK21zZ3N0ciAiIC1uLCAtLWxpbmVzIDzmlbDlgKQ+ICAgICDmnIDlvozjga4gPOaVsOWApD7ooYzjgpLooajnpLrjgZnjgotcbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwNAorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICAgIHNhbWUgYXMgJy1uIDxudW1iZXI+J1xuIgorbXNnc3RyICIgLTzmlbDlgKQ+ICAgICAgICAgICAgICAgICctbiA85pWw5YCkPicg44Go5ZCM44GYXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMTAKK21zZ2lkICJXYXJuaW5nOiB1c2Ugb2YgJ3RhaWxmJyBpcyBkZXByZWNhdGVkLCB1c2UgJ3RhaWwgLWYnIGluc3RlYWQuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIyMyB0ZXh0LXV0aWxzL3RhaWxmLmM6MjYzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyIKK21zZ3N0ciAi6KGM5pWw44Gu6Kej5p6Q44Gr5aSx5pWXIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6Mjc1Cittc2dpZCAibm8gaW5wdXQgZmlsZSBzcGVjaWZpZWQiCittc2dzdHIgIuWFpeWKm+ODleOCoeOCpOODq+OBjOaMh+WumuOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGEgZmlsZSIKK21zZ3N0ciAiJXM6IOODleOCoeOCpOODq+OBp+OBr+OBguOCiuOBvuOBm+OCkyIKKworIzogdGV4dC11dGlscy91bC5jOjEzNgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gLi4uXVxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10gWzzjg5XjgqHjgqTjg6s+IC4uLl1cbiIKKworIzogdGV4dC11dGlscy91bC5jOjEzOQorbXNnaWQgIkRvIHVuZGVybGluaW5nLlxuIgorbXNnc3RyICLkuIvnt5rjgpLlvJXjgYTjgabjgYTjgb7jgZnjgIJcbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0MgorbXNnaWQgIiAtdCwgLVQsIC0tdGVybWluYWwgVEVSTUlOQUwgIG92ZXJyaWRlIHRoZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiAtdCwgLVQsIC0tdGVybWluYWwg56uv5pyrICAgICAgVEVSTSDnkrDlooPlpInmlbDjgafmjIflrprjgZfjgZ/nq6/mnKvjgafjga/jgarjgY/jgIHjgZPjga7nq6/mnKvjgpLkvb/nlKjjgZnjgovjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0MworbXNnaWQgIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICAgIHVuZGVybGluaW5nIGlzIGluZGljYXRlZCB2aWEgYSBzZXBhcmF0ZSBsaW5lXG4iCittc2dzdHIgIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICAgIOS4i+e3muOBruS7o+OCj+OCiuOBq+OAgeasoeOBruihjOOBruWQjOOBmOS9jee9ruOBq+ODgOODg+OCt+ODpSAnLScg44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMDQKK21zZ2lkICJ0cm91YmxlIHJlYWRpbmcgdGVybWluZm8iCittc2dzdHIgInRlcm1pbmZvIOOBruiqreOBv+i+vOOBv+S4reOBq+ODiOODqeODluODq+OBjOeZuueUn+OBl+OBvuOBl+OBnyIKKworIzogdGV4dC11dGlscy91bC5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCBgJXMnIGlzIG5vdCBrbm93biwgZGVmYXVsdGluZyB0byBgZHVtYiciCittc2dzdHIgIuerr+acqyBgJXMnIOOBr+S4jeaYjuOBquerr+acq+OBp+OBmeOAgiBgZHVtYicg44Go44GX44Gm5Yem55CG44GX44G+44GZIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZXNjYXBlIHNlcXVlbmNlIGluIGlucHV0OiAlbywgJW8iCittc2dzdHIgIuacquefpeOBruOCqOOCueOCseODvOODl+OCt+ODvOOCseODs+OCueOBjOWFpeWKm+OBq+WQq+OBvuOCjOOBpuOBhOOBvuOBmTogJW8sICVvIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6NjI0Cittc2dpZCAiSW5wdXQgbGluZSB0b28gbG9uZy4iCittc2dzdHIgIuWFpeWKm+ihjOOBjOmVt+OBmeOBjuOBvuOBmeOAgiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiB1c2UgdGhlIEhhcmR3YXJlIENsb2NrLiIKKyN+IG1zZ3N0ciAi55Sz44GX6Kiz44GC44KK44G+44Gb44KT44CC44OP44O844OJ44Km44Kn44Ki44Gu5pmC5Yi744KS5aSJ5pu044GZ44KL44Gr44Gv44K544O844OR44O844Om44O844K244Gu5qip6ZmQ44GM5b+F6KaB44Gn44GZ44CCIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIHNlY2NvbXAgY29udGV4dCIKKyN+IG1zZ3N0ciAibG9vcGN4dCDjga7mupblgpnjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGFkZCBzZWNjb21wIHJ1bGUiCisjfiBtc2dzdHIgIumAn+W6puOBruiqreOBv+i+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gbG9hZCBzZWNjb21wIHJ1bGUiCisjfiBtc2dzdHIgIumAn+W6puOBruiqreOBv+i+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgIkZpbGVzeXN0ZW0gbGFiZWw6IgorI34gbXNnc3RyICLjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djg6njg5njg6s6IgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHNldCBQQVRIIgorI34gbXNnc3RyICJQQVRIIOOBruioreWumuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgIiVkIgorI34gbXNnc3RyICIlZCIKKworI34gbXNnaWQgImJhZCB0aW1lb3V0IHZhbHVlOiAlcyIKKyN+IG1zZ3N0ciAi5Yi26ZmQ5pmC6ZaT44GM5q2j44GX44GP44GC44KK44G+44Gb44KTOiAlcyIKKworI34gbXNnaWQgImV4cGVjdGVkIGEgbnVtYmVyLCBidXQgZ290ICclcyciCisjfiBtc2dzdHIgIuaVsOWApOOCkuacn+W+heOBl+OBvuOBl+OBn+OBjOOAgSAnJXMnIOOBjOaMh+WumuOBleOCjOOBvuOBl+OBnyIKKworI34gbXNnaWQgImRpdmlzb3IgJyVzJyIKKyN+IG1zZ3N0ciAi6Zmk5pWwICclcyciCisKKyN+IG1zZ2lkICJhcmd1bWVudCBlcnJvcjogJXMiCisjfiBtc2dzdHIgIuW8leaVsOOCqOODqeODvDogJXMiCisKKyN+IG1zZ2lkICJ0dHkgcGF0aCAlcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAidHR5IOODkeOCuSAlcyDjgYzplbfjgZnjgY7jgb7jgZkiCisKKyN+IG1zZ2lkICJjYW5ub3QgYWNjZXNzIGZpbGUgJXMiCisjfiBtc2dzdHIgIuODleOCoeOCpOODqyAlcyDjgavjgqLjgq/jgrvjgrnjgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICIlcyBpcyBub3QgYSBibG9jayBzcGVjaWFsIGRldmljZSIKKyN+IG1zZ3N0ciAiJXMg44Gv44OW44Ot44OD44Kv44K544Oa44K344Oj44Or44OH44OQ44Kk44K544Gn44Gv44GC44KK44G+44Gb44KTIgorCisjfiBtc2dpZCAiJXM6IGRldmljZSBpcyBtaXNhbGlnbmVkIgorI34gbXNnc3RyICIlczog44OH44OQ44Kk44K544Gu5aKD55WM44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjfiBtc2dpZCAiT1MvMiBoaWRkZW4gQzogZHJpdmUiCisjfiBtc2dzdHIgIk9TLzIg6Zqg44GXIEM6IOODieODqeOCpOODliIKKworI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIgorI34gbXNnc3RyICIlczogJWQg6KGM55uu44Gn5Yem55CG44Ko44Op44O844GM55m655Sf44GX44G+44GX44GfIgorCisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgZGV2aWNlIHBhdGgiCisjfiBtc2dzdHIgIiVzOiDjg4fjg5DjgqTjgrnjg5Hjgrnjga7lj5blvpfjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICIlczogdW5rbm93biBkZXZpY2UgbmFtZSIKKyN+IG1zZ3N0ciAiJXM6IOS4jeaYjuOBquODh+ODkOOCpOOCueWQjeOBp+OBmSIKKworI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRtIG5hbWUiCisjfiBtc2dzdHIgIiVzOiBETSDlkI3jga7lj5blvpfjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKKyN+ICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKKyN+ICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKKyN+ICIgLWssIC0ta2lsbCAgICAgICAgICAgICAga2lsbCBydW5uaW5nIGRhZW1vblxuIgorI34gIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCisjfiAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCisjfiAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKKyN+ICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorI34gIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBkbyBub3QgY3JlYXRlIGxpc3RlbmluZyBzb2NrZXRcbiIKKyN+ICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHR1cm4gb24gcXVpZXQgbW9kZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1wLCAtLXBpZCA844OR44K5PiAgICAgICAgcGlkIOODleOCoeOCpOODq+OBruODkeOCueOCkuaMh+WumuOBl+OBvuOBmVxuIgorI34gIiAtcywgLS1zb2NrZXQgPOODkeOCuT4gICAgIOOCveOCseODg+ODiOOBruODkeOCueOCkuaMh+WumuOBl+OBvuOBmVxuIgorI34gIiAtVCwgLS10aW1lb3V0IDznp5I+ICAgICAg54Sh5YuV5L2c5pmC44Gu5Yi26ZmQ5pmC6ZaT44KS5oyH5a6a44GX44G+44GZXG4iCisjfiAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIOWun+ihjOS4reOBruODh+ODvOODouODs+OCkiBraWxsIOOBl+OBvuOBmVxuIgorI34gIiAtciwgLS1yYW5kb20gICAgICAgICAgICDkubHmlbDjgpLjg5njg7zjgrnjgavjgZfjgZ/nlJ/miJDjgpLjg4bjgrnjg4jjgZfjgb7jgZlcbiIKKyN+ICIgLXQsIC0tdGltZSAgICAgICAgICAgICAg5pmC5Yi744KS44OZ44O844K544Gr44GX44Gf55Sf5oiQ44KS44OG44K544OI44GX44G+44GZXG4iCisjfiAiIC1uLCAtLXV1aWRzIDzmlbA+ICAgICAgICB1dWlkIOOBruaVsOOCkuaMh+WumuOBl+OBvuOBmVxuIgorI34gIiAtUCwgLS1uby1waWQgICAgICAgICAgICBwaWQg44OV44Kh44Kk44Or44KS5L2c5oiQ44GX44Gq44GE44KI44GG44Gr44GX44G+44GZXG4iCisjfiAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIOS6jOmHjeOBriBmb3JrIOOCkuWIqeeUqOOBl+OBpuODh+ODvOODouODs+WMluOBmeOCi+WHpueQhuOCkuihjOOCj+OBquOBhOOCiOOBhuOBq+OBl+OBvuOBmVxuIgorI34gIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiDlvoXjgaHlj5fjgZHjgr3jgrHjg4Pjg4jjgpLkvZzmiJDjgZfjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKyN+ICIgLWQsIC0tZGVidWcgICAgICAgICAgICAg44OH44OQ44OD44Kw44Oi44O844OJ44Gn5YuV5L2c44GV44Gb44G+44GZXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIOmdmeWvguODouODvOODieOCkuioreWumuOBl+OBvuOBmVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICDjg5Djg7zjgrjjg6fjg7Pmg4XloLHjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAg44GT44Gu44OY44Or44OX44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIHNjaGVkdWxpbmcgcG9saWN5IgorI34gbXNnc3RyICLkuI3mmI7jgarjgrnjgrHjgrjjg6Xjg7zjg6vjg53jg6rjgrfjg7zjgafjgZkiCisKKyMsIGZ1enp5CisjfnwgbXNnaWQgIiIKKyN+fCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorI358ICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKKyN+fCAiIC1zLCAtLXNlY3VyZSAgICAgICAgcGVyZm9ybSBzZWN1cmUgZGlzY2FyZFxuIgorI358ICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCisjfiBtc2dpZCAiIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKKyN+ICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKKyN+ICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgYWxpZ25lZCBsZW5ndGggYW5kIG9mZnNldFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1vLCAtLW9mZnNldCA85pWw5YCkPiBkaXNjYXJkIOWHpueQhuOBrumWi+Wni+S9jee9riAo44OQ44Kk44OI5Y2Y5L2NKSDjgpLmjIflrprjgZfjgb7jgZlcbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDzmlbDlgKQ+IGRpc2NhcmQg5Yem55CG44Gu6ZaL5aeL5L2N572u44GL44KJ44Gu6ZW344GVICjjg5DjgqTjg4jljZjkvY0pIOOCkuaMh+WumuOBl+OBvuOBmVxuIgorI34gIiAtcywgLS1zZWN1cmUgICAgICAgIHNlY3VyZSBkaXNjYXJkIOOCkuihjOOBhuOCiOOBhuOBq+OBl+OBvuOBmVxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgIOiqv+aVtOa4iOOBv+OBrumWi+Wni+S9jee9ruOBqOmVt+OBleOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiJXMgIC4lMDZkIHNlY29uZHNcbiIKKyN+IG1zZ3N0ciAiJXMgIC4lMDZkIOenklxuIgorCisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yOiBpZ25vcmUgZW50cnkgYXQgbGluZSAlZC4iCisjfiBtc2dzdHIgIiVzOiDop6PmnpDjgqjjg6njg7w6ICVkIOihjOebruOBrumgheebruOCkueEoeimluOBl+OBvuOBmeOAgiIKKworI34gbXNnaWQgInBhZ2VzIgorI34gbXNnc3RyICLjg5rjg7zjgrgiCisKKyN+IG1zZ2lkICJkaWZmZXJlbnQiCisjfiBtc2dzdHIgIueVsOOBquOCiyIKKworI34gbXNnaWQgInNhbWUiCisjfiBtc2dzdHIgIuWQjOOBmCIKKworI34gbXNnaWQgIkRldmljZSBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIKKyN+IG1zZ3N0ciAi44OH44OQ44Kk44K544Gv6Kqt44G/6L6844G/5bCC55So44Gn44Kq44O844OX44Oz44GV44KM44Gm44GE44G+44GZ44CCIgorCisjfiBtc2dpZCAiIC12ICBiZSB2ZXJib3NlXG4iCisjfiBtc2dzdHIgIiAtdiAg44KI44KK6Kmz57Sw44Gq5Ye65Yqb44KS6KGM44GE44G+44GZXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVmVyeSBsb25nICglenUgYnl0ZXMpIGZpbGVuYW1lIGAlcycgZm91bmQuXG4iCisjfiAiIFBsZWFzZSBpbmNyZWFzZSBNQVhfSU5QVVRfTkFNRUxFTiBpbiBta2NyYW1mcy5jIGFuZCByZWNvbXBpbGUuICBFeGl0aW5nLiIKKyN+IG1zZ3N0ciAiIgorI34gIumdnuW4uOOBq+mVt+OBhCAoJXp1IOODkOOCpOODiCkg44OV44Kh44Kk44Or5ZCNIGAlcycg44GM6KaL44Gk44GL44KK44G+44GX44Gf44CCXG4iCisjfiAiIG1rY3JhbWZzLmMg5YaF44GuIE1BWF9JTlBVVF9OQU1FTEVOIOOCkuWil+OChOOBl+OBpuWGjeOCs+ODs+ODkeOCpOODq+OBl+OBpuOBj+OBoOOBleOBhOOAgue1guS6huOBl+OBvuOBmeOAgiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWMgfCAtbCBmaWxlbmFtZV0gWy1uWFhdIFstaVhYXSAvZGV2L25hbWUgW2Jsb2Nrc10iCisjfiBtc2dzdHIgIuS9v+OBhOaWuTogJXMgWy1jIHwgLWwg44OV44Kh44Kk44Or5ZCNXSBbLW5YWF0gWy1pWFhdIC9kZXYvbmFtZSBb44OW44Ot44OD44Kv5pWwXSIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorI34gbXNnc3RyICIlczog44K544O844OR44O844OW44Ot44OD44Kv55So44Gu44OQ44OD44OV44Kh44KS5Ymy44KK5b2T44Gm44KL44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzIGZvciBtYXBzIgorI34gbXNnc3RyICIlczog44Oe44OD44OX55So44Gu44OQ44OD44OV44Kh44KS5Ymy44KK5b2T44Gm44KL44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKKyN+IG1zZ3N0ciAiJXM6IGlub2RlIOeUqOOBruODkOODg+ODleOCoeOCkuWJsuOCiuW9k+OBpuOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgIiVzOiBiYWQgaW5vZGUgc2l6ZSIKKyN+IG1zZ3N0ciAiJXM6IOS4jeato+OBqiBpbm9kZSDjgrXjgqTjgrrjgafjgZkiCisKKyN+IG1zZ2lkICJ3aWxsIG5vdCB0cnkgdG8gbWFrZSBmaWxlc3lzdGVtIG9uICclcyciCisjfiBtc2dzdHIgIiclcycg5LiK44Gr44OV44Kh44Kk44Or44K344K544OG44Og44KS5L2c44KJ44Gq44GE44KI44GG44Gr44GX44G+44GZIgorCisjfiBtc2dpZCAidHlwZTogJWQiCisjfiBtc2dzdHIgIuOCv+OCpOODlzogJWQiCisKKyN+IG1zZ2lkICJkaXNrOiAlLipzIgorI34gbXNnc3RyICLjg4fjgqPjgrnjgq86ICUuKnMiCisKKyN+IG1zZ2lkICJsYWJlbDogJS4qcyIKKyN+IG1zZ3N0ciAi44Op44OZ44OrOiAlLipzIgorCisjfiBtc2dpZCAiZmxhZ3M6ICVzIgorI34gbXNnc3RyICLjg5Xjg6njgrA6ICVzIgorCisjfiBtc2dpZCAiYnl0ZXMvc2VjdG9yOiAlbGQiCisjfiBtc2dzdHIgIuODkOOCpOODiC/jgrvjgq/jgr86ICVsZCIKKworI34gbXNnaWQgInNlY3RvcnMvdHJhY2s6ICVsZCIKKyN+IG1zZ3N0ciAi44K744Kv44K/L+ODiOODqeODg+OCrzogJWxkIgorCisjfiBtc2dpZCAidHJhY2tzL2N5bGluZGVyOiAlbGQiCisjfiBtc2dzdHIgIuODiOODqeODg+OCry/jgrfjg6rjg7Pjg4A6ICVsZCIKKworI34gbXNnaWQgInNlY3RvcnMvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAi44K744Kv44K/L+OCt+ODquODs+ODgDogJWxkIgorCisjfiBtc2dpZCAiY3lsaW5kZXJzOiAlbGQiCisjfiBtc2dzdHIgIuOCt+ODquODs+ODgOaVsDogJWxkIgorCisjfiBtc2dpZCAicnBtOiAlZCIKKyN+IG1zZ3N0ciAi5Zue6Lui5pWwOiAlZCIKKworI34gbXNnaWQgImludGVybGVhdmU6ICVkIgorI34gbXNnc3RyICLjgqTjg7Pjgr/jg7zjg6rjg7zjg5Y6ICVkIgorCisjfiBtc2dpZCAidHJhY2tza2V3OiAlZCIKKyN+IG1zZ3N0ciAi44OI44Op44OD44Kv44O744K544Kt44Ol44O8OiAlZCIKKworI34gbXNnaWQgImN5bGluZGVyc2tldzogJWQiCisjfiBtc2dzdHIgIuOCt+ODquODs+ODgOODu+OCueOCreODpeODvDogJWQiCisKKyN+IG1zZ2lkICJoZWFkc3dpdGNoOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgIuODmOODg+ODieOCueOCpOODg+ODgTogJWxkIOODn+ODquenkiIKKworI34gbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWs6ICVsZCAobWlsbGlzZWNvbmRzKSIKKyN+IG1zZ3N0ciAi44OI44Op44OD44Kv6ZaT44K344O844KvOiAlbGQg44Of44Oq56eSIgorCisjfiBtc2dpZCAicGFydGl0aW9uczogJWQiCisjfiBtc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODszogJWQiCisKKyN+IG1zZ2lkICJZb3UgY2Fubm90IGNoYW5nZSBhIHBhcnRpdGlvbiBpbnRvIGFuIGV4dGVuZGVkIG9uZSBvciB2aWNlIHZlcnNhLiBEZWxldGUgaXQgZmlyc3QuIgorI34gbXNnc3RyICLml6LlrZjjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLmi6HlvLXjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgavlpInmm7TjgZfjgZ/jgorjgIHjgZ3jga7pgIbjga7lpInmm7TjgpLooYzjgaPjgZ/jgorjgZnjgovjgZPjgajjga/jgafjgY3jgb7jgZvjgpPjgILjgb7jgZrjga/liYrpmaTjgpLooYzjgaPjgabjgY/jgaDjgZXjgYTjgIIiCisKKyN+IG1zZ2lkICIiCisjfiAiTGFiZWwgZ2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnNcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWxsdSBjeWxpbmRlcnMsICVkIHBoeXNpY2FsIGN5bGluZGVyc1xuIgorI34gIiAgICAgICAgICAgICAgICAlZCBleHRyYSBzZWN0cy9jeWwsIGludGVybGVhdmUgJWQ6MVxuIgorI34gbXNnc3RyICIiCisjfiAi44Op44OZ44Or44K444Kq44Oh44OI44OqOiDjg5jjg4Pjg4kgJWQsIOOCu+OCr+OCvyAlbGx1XG4iCisjfiAiICAgICAgICAgICAgICAgICAg44K344Oq44Oz44OAICVsbHUgLCDniannkIbjgrfjg6rjg7Pjg4AgJWRcbiIKKyN+ICIgICAgICAgICAgICAgICAgICDov73liqDjgrvjgq/jgr/vvI/jgrfjg6rjg7Pjg4AgJWQsIOOCpOODs+OCv+ODvOODquODvOODliAlZDoxXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiTGFiZWwgZ2VvbWV0cnk6ICVkIHJwbSwgJWQgYWx0ZXJuYXRlIGFuZCAlZCBwaHlzaWNhbCBjeWxpbmRlcnMsXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxIgorI34gbXNnc3RyICIiCisjfiAi44Op44OZ44Or44K444Kq44Oh44OI44OqOiDlm57ou6LmlbAgJWTjgIHku6Pmm7/jgrfjg6rjg7Pjg4AgJWTjgIHniannkIbjgrfjg6rjg7Pjg4AgJWRcbiIKKyN+ICIgICAgICAgICAgICAgICAgICDov73liqDjgrvjgq/jgr/vvI/jgrfjg6rjg7Pjg4AgJWTjgIHjgqTjg7Pjgr/jg7zjg6rjg7zjg5YgJWQ6MSIKKworI34gbXNnaWQgIjxub25lPiIKKyN+IG1zZ3N0ciAiPOOBquOBlz4iCisKKyN+IG1zZ2lkICJnZXR0aW1lb2ZkYXkgZmFpbGVkIgorI34gbXNnc3RyICJnZXR0aW1lb2ZkYXkg44GM5aSx5pWX44GX44G+44GX44GfIgorCisjfiBtc2dpZCAic3lzaW5mbyBmYWlsZWQiCisjfiBtc2dzdHIgInN5c2luZm8g44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjfiBtc2dpZCAidXNhZ2U6IGxhc3QgWy0jXSBbLWYgZmlsZV0gWy10IHR0eV0gWy1oIGhvc3RuYW1lXSBbdXNlciAuLi5dXG4iCisjfiBtc2dzdHIgIuS9v+OBhOaWuTogbGFzdCBbLSNdIFstZiDjg5XjgqHjgqTjg6tdIFstdCDnq6/mnKtdIFstaCDjg5vjgrnjg4jlkI1dIFvjg6bjg7zjgrYgLi4uXVxuIgorCisjfiBtc2dpZCAiJXM6IG1tYXAgZmFpbGVkIgorI34gbXNnc3RyICIlczogbW1hcCDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICIgIHN0aWxsIGxvZ2dlZCBpbiIKKyN+IG1zZ3N0ciAiICDjg63jgrDjgqTjg7PjgZfjgZ/jgb7jgb7jgafjgZkiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAid3RtcCBiZWdpbnMgJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJ3dG1wIOOBryAlcyDjgYvjgonlp4vjgb7jgorjgb7jgZkiCisKKyN+IG1zZ2lkICJnZXRob3N0bmFtZSBmYWlsZWQiCisjfiBtc2dzdHIgImdldGhvc3RuYW1lIOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJpbnRlcnJ1cHRlZCAlMTAuMTBzICU1LjVzIFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi5Ymy44KK6L6844G/44GM5YWl44KK44G+44GX44GfICUxMC4xMHMgJTUuNXMgXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorI34gIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyN+ICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyN+ICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICDjg5fjg63jgrvjgrkgSURcbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDzkuIDopqc+ICAgIOWHuuWKm+OBmeOCi+WIl+OCkuaMh+WumuOBl+OBvuOBmVxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIOODmOODg+ODgOOCkuihqOekuuOBl+OBvuOBm+OCk1xuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICAgIOWKoOW3peOCkuihjOOBquOCj+OBquOBhOW9ouW8j+OBp+WHuuWKm+OBl+OBvuOBmVxuIgorI34gIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIOODhuOCreOCueODiOOCkuWIl+aWueWQkeOBq+WIh+OCiuipsOOCgeOBvuOBm+OCk1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIOOBk+OBruODmOODq+ODl+OCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIOODkOODvOOCuOODp+ODs+aDheWgseOCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlNjaGVkdWxpbmcgcG9saWNpZXM6XG4iCisjfiAiICAtYiB8IC0tYmF0Y2ggICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0JBVENIXG4iCisjfiAiICAtZiB8IC0tZmlmbyAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKKyN+ICIgIC1pIHwgLS1pZGxlICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfSURMRVxuIgorI34gIiAgLW8gfCAtLW90aGVyICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorI34gIiAgLXIgfCAtLXJyICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuOCueOCseOCuOODpeODvOODq+OBq+mWoumAo+OBmeOCi+ODneODquOCt+ODvDpcbiIKKyN+ICIgIC1iIHwgLS1iYXRjaCAgICAgICAgIOODneODquOCt+ODvOOCkiBTQ0hFRF9CQVRDSCDjgavoqK3lrprjgZfjgb7jgZlcbiIKKyN+ICIgIC1mIHwgLS1maWZvICAgICAgICAgIOODneODquOCt+ODvOOCkiBTQ0hFRF9GSUZPIOOBq+ioreWumuOBl+OBvuOBmVxuIgorI34gIiAgLWkgfCAtLWlkbGUgICAgICAgICAg44Od44Oq44K344O844KSIFNDSEVEX0lETEUg44Gr6Kit5a6a44GX44G+44GZXG4iCisjfiAiICAtbyB8IC0tb3RoZXIgICAgICAgICDjg53jg6rjgrfjg7zjgpIgU0NIRURfT1RIRVIg44Gr6Kit5a6a44GX44G+44GZXG4iCisjfiAiICAtciB8IC0tcnIgICAgICAgICAgICDjg53jg6rjgrfjg7zjgpIgU0NIRURfUlIgKOaXouWumuWApCkg44Gr6Kit5a6a44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgIC1hIHwgLS1hbGwtdGFza3MgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscFxuIgorI34gIiAgLW0gfCAtLW1heCAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCisjfiAiICAtcCB8IC0tcGlkICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorI34gIiAgLXYgfCAtLXZlcmJvc2UgICAgICAgZGlzcGxheSBzdGF0dXMgaW5mb3JtYXRpb25cbiIKKyN+ICIgIC1WIHwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLjgqrjg5fjgrfjg6fjg7M6XG4iCisjfiAiICAtYSB8IC0tYWxsLXRhc2tzICAgICDmjIflrprjgZfjgZ/jg5fjg63jgrvjgrkgSUQg44Gu44GZ44G544Gm44Gu44K/44K544KvICjjgrnjg6zjg4Pjg4kpIOOBq+WvvuOBl+OBpuOAgVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAg5pON5L2c44KS6KGM44GE44G+44GZXG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgb7jgZlcbiIKKyN+ICIgIC1tIHwgLS1tYXggICAgICAgICAgIOWEquWFiOmghuS9jeOBruacgOWwj+WApOOBqOacgOWkp+WApOOCkuihqOekuuOBl+OBvuOBmVxuIgorI34gIiAgLXAgfCAtLXBpZCAgICAgICAgICAg5oyH5a6a44GX44Gf5pei5a2Y44Gu44OX44Ot44K744K5IElEIOOBq+WvvuOBl+OBpuWHpueQhuOCkuihjOOBhOOBvuOBmVxuIgorI34gIiAgLXYgfCAtLXZlcmJvc2UgICAgICAg54q25oWL44KS6KGo56S644GX44G+44GZXG4iCisjfiAiICAtViB8IC0tdmVyc2lvbiAgICAgICDjg5Djg7zjgrjjg6fjg7Pmg4XloLHjgpLooajnpLrjgZfjgb7jgZlcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1tYW51YWxlamVjdC8taSBvcHRpb24iCisjfiBtc2dzdHIgIi0tbWFudWFsZWplY3QvLWkg44Kq44OX44K344On44Oz44Gu5byV5pWw44GM6ZaT6YGV44Gj44Gm44GE44G+44GZIgorCisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gY2hhbmdlIHRoZSBTeXN0ZW0gQ2xvY2suIgorI34gbXNnc3RyICLnlLPjgZfoqLPjgYLjgorjgb7jgZvjgpPjgILjgrfjgrnjg4bjg6Djga7mmYLliLvjgpLlpInmm7TjgZnjgovjgavjga/jgrnjg7zjg5Hjg7zjg6bjg7zjgrbjga7mqKnpmZDjgYzlv4XopoHjgafjgZnjgIIiCisKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiBjaGFuZ2UgdGhlIEhhcmR3YXJlIENsb2NrIGVwb2NoIGluIHRoZSBrZXJuZWwuIgorI34gbXNnc3RyICLnlLPjgZfoqLPjgYLjgorjgb7jgZvjgpPjgILjg4/jg7zjg4njgqbjgqfjgqLjga7mmYLliLvjga7jgqjjg53jg4Pjgq/lgKTjgpLlpInmm7TjgZnjgovjgavjga/jgIHjgrnjg7zjg5Hjg7zjg6bjg7zjgrbjga7mqKnpmZDjgYzlv4XopoHjgafjgZnjgIIiCisKKyN+IG1zZ2lkICJyZWFkKCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCisjfiBtc2dzdHIgIuOCr+ODreODg+OCr+ODhuOCo+ODg+OCr+OCkuW+heOBpOOBn+OCgeOBriAlcyDjgbjjga4gcmVhZCgpIOOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSBtb3VudC48dHlwZT4gaGVscGVyc1xuIgorI34gIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBsaXN0cyBhbGwgbW91bnRzIHdpdGggTEFCRUxzXG4iCisjfiAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIGRvbid0IHdyaXRlIHRvIC9ldGMvbXRhYlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIOOBk+OBruODmOODq+ODl+OCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorI34gIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBtb3VudC4844K/44Kk44OXPiDjga7jg5jjg6vjg5Hjg7zjgpLlkbzjgbPlh7rjgZXjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKyN+ICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAg44GZ44G544Gm44Gu44Oe44Km44Oz44OI44KS44Op44OZ44Or5LuY44GN44Gn6KGo56S644GX44G+44GZXG4iCisjfiAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIC9ldGMvbXRhYiDjgavmm7jjgY3ovrzjgb7jgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC13cml0ZSAoZGVmYXVsdClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICDkvZXjgYzooYzjgo/jgozjgovjga7jgYvjgpLooajnpLrjgZfjgb7jgZlcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAg44OQ44O844K444On44Oz5oOF5aCx44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisjfiAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIOODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuiqreOBv+abuOOBjeWPr+iDveOBqueKtuaFi+OBp+ODnuOCpuODs+ODiOOBl+OBvuOBmSAo5pei5a6a5YCkKVxuIgorCisjfiBtc2dpZCAic2V0IHJ0YyBhbGFybSBmYWlsZWQiCisjfiBtc2dzdHIgIlJUQyDjgqLjg6njg7zjg6Djga7oqK3lrprjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICJlbmFibGUgcnRjIGFsYXJtIGZhaWxlZCIKKyN+IG1zZ3N0ciAiUlRDIOOCouODqeODvOODoOOBruacieWKueWMluOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgInN1c3BlbmQgdG8gXCIlc1wiIHVuYXZhaWxhYmxlIgorI34gbXNnc3RyICJcIiVzXCIg44G444Gu44K144K544Oa44Oz44OJ44Gv5Yip55So44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAiYmFkIHZhbHVlIgorI34gbXNnc3RyICLlgKTjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICIgLW0sIC0tbW91bnQgICAgICAgICAgICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiIC1tLCAtLW1vdW50ICAgICAgIOODnuOCpuODs+ODiOODjeODvOODoOOCueODmuODvOOCueOBruWFseacieOCkuino+mZpOOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIC11LCAtLXV0cyAgICAgICAgICAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCisjfiBtc2dzdHIgIiAtdSwgLS11dHMgICAgICAgICBVVFMg44ON44O844Og44K544Oa44O844K5ICjjg5vjgrnjg4jlkI3jgarjgakpIOOBruWFseacieOCkuino+mZpOOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIC1pLCAtLWlwYyAgICAgICAgICAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtaSwgLS1pcGMgICAgICAgICBTeXN0ZW0gViBJUEMg44ON44O844Og44K544Oa44O844K544Gu5YWx5pyJ44KS6Kej6Zmk44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICIgLW4sIC0tbmV0ICAgICAgICAgICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtbiwgLS1uZXQgICAgICAgICDjg43jg4Pjg4jjg6/jg7zjgq/jg43jg7zjg6Djgrnjg5rjg7zjgrnjga7lhbHmnInjgpLop6PpmaTjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICAgICAgIHVuc2hhcmUgcGlkIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAgUElEIOODjeODvOODoOOCueODmuODvOOCueOBruWFseacieOCkuino+mZpOOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIC1VLCAtLXVzZXIgICAgICAgICAgICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgLVUsIC0tdXNlciAgICAgICAg44Om44O844K244ON44O844Og44K544Oa44O844K544Gu5YWx5pyJ44KS6Kej6Zmk44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJW0iCisjfiBtc2dzdHIgIiVzIOOCkumWi+OBj+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkzogJW0iCisKKyN+IG1zZ2lkICJmcmVhZCBmYWlsZWQiCisjfiBtc2dzdHIgImZyZWFkIOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgIk1pbmltYWwgc2l6ZSBpcyAlanUiCisjfiBtc2dzdHIgIuacgOWwj+OCteOCpOOCuuOBryAlanUiCisKKyN+IG1zZ2lkICJIZWxwIFNjcmVlbiBmb3IgY2ZkaXNrIgorI34gbXNnc3RyICJjZmRpc2sg44Gu44OY44Or44OX55S76Z2iIgorCisjfiBtc2dpZCAiZGlzayBkcml2ZS4iCisjfiBtc2dzdHIgIuOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAgiIKKworI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4gIgorI34gbXNnc3RyICJDb3B5cmlnaHQgKEMpIDIwMTQgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+ICIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBgbm8nIgorI34gbXNnc3RyICIgICAgICAgICAgICAg44Gu56K66KqN5YWl5Yqb44KS5rGC44KB44G+44GZ44CCIgorCisjfiBtc2dpZCAiVG9vIHNtYWxsIHBhcnRpdGlvbiBzaXplIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIuWwj+OBleOBmeOBjuOCi+ODkeODvOODhuOCo+OCt+ODp+ODs+OCteOCpOOCuuOBjOaMh+WumuOBleOCjOOBvuOBl+OBn+OAgiIKKworI34gbXNnaWQgIkRldmljZSBvcGVuIGluIHJlYWQtb25seSBtb2RlIgorI34gbXNnc3RyICLjg4fjg5DjgqTjgrnjga/oqq3jgb/ovrzjgb/lsILnlKjjgafjgqrjg7zjg5fjg7PjgZXjgozjgabjgYTjgb7jgZkiCisKKyN+IG1zZ2lkICJzdGF0IGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAic3RhdCDjgYzlpLHmlZfjgZfjgb7jgZfjgZ86ICVzIgorCisjfiBtc2dpZCAiZmFpbGQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCisjfiBtc2dzdHIgIuWIl+aMmeWtkOOBruWJsuOCiuW9k+OBpuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuOiAlcyIKKyN+IG1zZ3N0ciAi6ZaL44GP44GT44Go44GM44Gn44GN44G+44Gb44KTOiAlcyIKKworI34gbXNnaWQgIiVzOiBzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IHN0YXQg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjfiBtc2dpZCAiJXM6IGxzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IGxzdGF0IOOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgIlBsZWFzZSwgc2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgZGlzayBsYWJlbC4iCisjfiBtc2dzdHIgIuOBqeOBhuOBnuOAgeS9nOaIkOOBmeOCi+aWsOOBl+OBhOODh+OCo+OCueOCr+ODqeODmeODq+OBruOCv+OCpOODl+OCkumBuOOCk+OBp+OBj+OBoOOBleOBhOOAgiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiBtc2dzdHIgIuS9v+OBhOaWuTogJXMgW+OCquODl+OCt+ODp+ODs10g44OH44OQ44Kk44K5XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLW4sIC0tbm8tdmVyaWZ5ICBkaXNhYmxlIHRoZSB2ZXJpZmljYXRpb24gYWZ0ZXIgdGhlIGZvcm1hdFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuOCquODl+OCt+ODp+ODszpcbiIKKyN+ICIgLW4sIC0tbm8tdmVyaWZ5ICDjg5Xjgqnjg7zjg57jg4Pjg4jlvozjga7nhaflkIjjgpLooYzjgo/jgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICDjg5Djg7zjgrjjg6fjg7Pmg4XloLHjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbWtmcyg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuOCiOOCiuips+OBl+OBhOaDheWgseOBr+OAgSBta2ZzKDgpIOOCkuOBiuiqreOBv+OBj+OBoOOBleOBhOOAglxuIgorCisjfiBtc2dpZCAiJXMgKCVzKVxuIgorI34gbXNnc3RyICIlcyAoJXMpXG4iCisKKyN+IG1zZ2lkICJCYWQgc3dhcCBoZWFkZXIgc2l6ZSwgbm8gbGFiZWwgd3JpdHRlbi4iCisjfiBtc2dzdHIgIuOCueODr+ODg+ODl+ODmOODg+ODgOOBruOCteOCpOOCuuOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCk+OAguODqeODmeODq+OCkuabuOOBjei+vOOBv+OBvuOBm+OCk+OAgiIKKworI34gbXNnaWQgInNlZWsgZXJyb3Igb24gJXMgLSBjYW5ub3Qgc2VlayB0byAlbHUiCisjfiBtc2dzdHIgIiVzIOOBp+OCt+ODvOOCr+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyAtICVsdSDjgpLjgrfjg7zjgq/jgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJzZWVrIGVycm9yOiB3YW50ZWQgMHglMDh4JTA4eCwgZ290IDB4JTA4eCUwOHgiCisjfiBtc2dzdHIgIuOCt+ODvOOCr+OCqOODqeODvDogMHglMDh4JTA4eCDjgpLmnJ/lvoXjgZfjgb7jgZfjgZ/jgYzjgIEweCUwOHglMDh4IOOCkuWPl+OBkeWPluOCiuOBvuOBl+OBnyIKKworI34gbXNnaWQgInJlYWQgZXJyb3Igb24gJXMgLSBjYW5ub3QgcmVhZCBzZWN0b3IgJWxsdSIKKyN+IG1zZ3N0ciAiJXMg44Gn6Kqt44G/5Y+W44KK44Ko44Op44O844GM55m655Sf44GX44G+44GX44GfIC0g44K744Kv44K/ICVsbHUg44KS6Kqt44G/6L6844KA44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAid3JpdGUgZXJyb3Igb24gJXMgLSBjYW5ub3Qgd3JpdGUgc2VjdG9yICVsbHUiCisjfiBtc2dzdHIgIiVzIOOBp+abuOOBjei+vOOBv+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyAtLSDjgrvjgq/jgr8gJWxsdSDjgavmm7jjgY3ovrzjgoDjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBwYXJ0aXRpb24gc2VjdG9yIHNhdmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjgrvjgq/jgr/kv53lrZjjg5XjgqHjgqTjg6sgKCVzKSDjgpLplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyIKKyN+IG1zZ3N0ciAiJXMg44Gn5pu444GN6L6844G/44Ko44Op44O844GM55m655Sf44GX44G+44GX44GfIgorCisjfiBtc2dpZCAiY2Fubm90IHN0YXQgcGFydGl0aW9uIHJlc3RvcmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7PlvqnlhYPjg5XjgqHjgqTjg6sgKCVzKSDjga7mg4XloLHjgpLlj5blvpfjgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gcmVzdG9yZSBmaWxlIGhhcyB3cm9uZyBzaXplIC0gbm90IHJlc3RvcmluZyIKKyN+IG1zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz5b6p5YWD44OV44Kh44Kk44Or44Gu44K144Kk44K644GM6ZaT6YGV44Gj44Gm44GE44G+44GZIC0g5b6p5YWD44KS6KGM44Gq44GE44G+44Gb44KTIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHJlc3RvcmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7PlvqnlhYPjg5XjgqHjgqTjg6sgKCVzKSDjgpLplovjgZHjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJlcnJvciByZWFkaW5nICVzIgorI34gbXNnc3RyICIlcyDjgafoqq3jgb/ovrzjgb/jgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBkZXZpY2UgJXMgZm9yIHdyaXRpbmciCisjfiBtc2dzdHIgIuODh+ODkOOCpOOCuSAlcyDjgpLmm7jjgY3ovrzjgb/nlKjjgavjgqrjg7zjg5fjg7PjgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJlcnJvciB3cml0aW5nIHNlY3RvciAlbHUgb24gJXMiCisjfiBtc2dzdHIgIiUyJHMg44Gu44K744Kv44K/ICUxJGx1IOOBp+abuOOBjei+vOOBv+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgIkRpc2sgJXM6IGNhbm5vdCBnZXQgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIuODh+OCo+OCueOCryAlczog44K444Kq44Oh44OI44Oq44KS5Y+W5b6X44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBzaXplIgorI34gbXNnc3RyICLjg4fjgqPjgrnjgq8gJXM6IOOCteOCpOOCuuOCkuWPluW+l+OBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzdGFydD0lbHUgLSB0aGlzIGxvb2tzIGxpa2UgYSBwYXJ0aXRpb24gcmF0aGVyIHRoYW5cbiIKKyN+ICJ0aGUgZW50aXJlIGRpc2suIFVzaW5nIGZkaXNrIG9uIGl0IGlzIHByb2JhYmx5IG1lYW5pbmdsZXNzLlxuIgorI34gIltVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIGlmIHlvdSByZWFsbHkgd2FudCB0aGlzXSIKKyN+IG1zZ3N0ciAiIgorI34gIuitpuWRijogc3RhcnQ9JWx1IC0g44GT44KM44Gv44OR44O844OG44Kj44K344On44Oz44Gn44Gv44Gq44GP44OH44Kj44K544Kv44Gd44Gu44KC44Gu44KS56S644GZXG4iCisjfiAi6Kit5a6a44Go5oCd44KP44KM44G+44GZ44CCIGZkaXNrIOOCkuWIqeeUqOOBl+OBpuOCguOAgeaEj+WRs+OBr+OBquOBhOOCguOBruOBqOaAneOCj+OCjOOBvuOBmeOAglxuIgorI34gIlvmnKzlvZPjgavjgZPjgozjgpLooYzjgYbloLTlkIjjga/jgIEgLS1mb3JjZSDjgqrjg5fjgrfjg6fjg7PjgpLmjIflrprjgZfjgabjgY/jgaDjgZXjgYRdIgorCisjfiBtc2dpZCAiV2FybmluZzogSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgaGVhZHMiCisjfiBtc2dzdHIgIuitpuWRijogSERJT19HRVRHRU8g44Gr44KI44KL44Go44CB44OY44OD44OJ5pWw44GvICVsdSDjgafjgZkiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBIRElPX0dFVEdFTyBzYXlzIHRoYXQgdGhlcmUgYXJlICVsdSBzZWN0b3JzIgorI34gbXNnc3RyICLorablkYo6IEhESU9fR0VUR0VPIOOBq+OCiOOCi+OBqOOAgeOCu+OCr+OCv+aVsOOBryAlbHUg44Gn44GZIgorCisjfiBtc2dpZCAiV2FybmluZzogQkxLR0VUU0laRS9IRElPX0dFVEdFTyBzYXlzIHRoYXQgdGhlcmUgYXJlICVsdSBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIuitpuWRijogQkxLR0VUU0laRS9IRElPX0dFVEdFTyDjgavjgojjgovjgajjgIHjgrfjg6rjg7Pjg4DmlbDjga8gJWx1IOOBp+OBmSIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiB1bmxpa2VseSBudW1iZXIgb2Ygc2VjdG9ycyAoJWx1KSAtIHVzdWFsbHkgYXQgbW9zdCA2M1xuIgorI34gIlRoaXMgd2lsbCBnaXZlIHByb2JsZW1zIHdpdGggYWxsIHNvZnR3YXJlIHRoYXQgdXNlcyBDL0gvUyBhZGRyZXNzaW5nLiIKKyN+IG1zZ3N0ciAiIgorI34gIuitpuWRijog44K744Kv44K/5pWwICglbHUpIOOBjOacm+OBvuOBl+OBhOWApOOBp+OBr+OBguOCiuOBvuOBm+OCk+OAgumAmuW4uOOBryA2MyDjgpLoqK3lrprjgZfjgb7jgZnjgIJcbiIKKyN+ICLjgrfjg6rjg7Pjg4DvvI/jg5jjg4Pjg4nvvI/jgrvjgq/jgr/lvaLlvI/jgafjga7jgqLjg4njg6zjgrnmjIflrprjgpLkvb/nlKjjgZnjgovlhajjgabjga7jgr3jg5Xjg4jjgqbjgqfjgqLjgafjgIFcbiIKKyN+ICLllY/poYzjgYznmbrnlJ/jgZnjgovlj6/og73mgKfjgYzjgYLjgorjgb7jgZnjgIIiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWx1IGN5bGluZGVycywgJWx1IGhlYWRzLCAlbHUgc2VjdG9ycy90cmFja1xuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi44OH44Kj44K544KvICVzOiDjgrfjg6rjg7Pjg4DmlbAgJWx144CB44OY44OD44OJ5pWwICVsdeOAgSVsdSDjgrvjgq/jgr/vvI/jg4jjg6njg4Pjgq9cbiIKKworI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3IgaGVhZDogJWx1IChzaG91bGQgYmUgaW4gMC0lbHUpIgorI34gbXNnc3RyICIiCisjfiAi44OR44O844OG44Kj44K344On44OzICUyJHMg44Gu44OY44OD44OJ5pWw44GrICUxJHMg44KS5oyH5a6a44GZ44KL44GT44Go44Gv44Gn44GN44G+44Gb44KTOiAlMyRsdVxuIgorI34gIigwLSU0JGx1IOOBruevhOWbsuOBp+aMh+WumuOBl+OBpuOBj+OBoOOBleOBhCkiCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIHNlY3RvcjogJWx1IChzaG91bGQgYmUgaW4gMS0lbHUpIgorI34gbXNnc3RyICIiCisjfiAi44OR44O844OG44Kj44K344On44OzICUyJHMg44Gu44K744Kv44K/5pWw44GrICUxJHMg44KS5oyH5a6a44GZ44KL44GT44Go44Gv44Gn44GN44G+44Gb44KTOiAlMyRsdVxuIgorI34gIigwLSU0JGx1IOOBruevhOWbsuOBp+aMh+WumuOBl+OBpuOBj+OBoOOBleOBhCkiCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIGN5bGluZGVyczogJWx1IChzaG91bGQgYmUgaW4gMC0lbHUpIgorI34gbXNnc3RyICIiCisjfiAi44OR44O844OG44Kj44K344On44OzICUyJHMg44Gu44K344Oq44Oz44OA5pWw44GrICUxJHMg44KS5oyH5a6a44GZ44KL44GT44Go44Gv44Gn44GN44G+44Gb44KTOiAlMyRsdVxuIgorI34gIigwLSU0JGx1IOOBruevhOWbsuOBp+aMh+WumuOBl+OBpuOBj+OBoOOBleOBhCkiCisKKyN+IG1zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgLi4uXG4iCisjfiBtc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOCkuiqreOBv+i+vOOBv+ebtOOBl+OBpuOBhOOBvuOBmS4uLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBjb21tYW5kIHRvIHJlLXJlYWQgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuXG4iCisjfiAiUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB5b3VyIHN5c3RlbSBub3csXG4iCisjfiAiYmVmb3JlIHVzaW5nIG1rZnMiCisjfiBtc2dzdHIgIiIKKyN+ICLorablkYo6IOODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOBruWGjeiqreOBv+i+vOOBv+OCs+ODnuODs+ODieOBjOWkseaVl+OBl+OBvuOBl+OBn+OAglxuIgorI34gIm1rZnMg44KS5L2/55So44GZ44KL5YmN44GrIHBhcnRwcm9iZSg4KSDjgb7jgZ/jga8ga3BhcnR4KDgpIOOCkuWun+ihjOOBmeOCi+OBi+OAgVxuIgorI34gIuOCt+OCueODhuODoOOCkuWGjei1t+WLleOBl+OBpuOBj+OBoOOBleOBhCIKKworI34gbXNnaWQgIkVycm9yIGNsb3NpbmcgJXMiCisjfiBtc2dzdHIgIiVzIOOCkumWieOBmOOCi+mam+OBq+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgIiVzOiBubyBzdWNoIHBhcnRpdGlvblxuIgorI34gbXNnc3RyICIlczog44Gd44Gu44KI44GG44Gq44OR44O844OG44Kj44K344On44Oz44Gv44GC44KK44G+44Gb44KTXG4iCisKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgZm9ybWF0IC0gdXNpbmcgc2VjdG9ycyIKKyN+IG1zZ3N0ciAi6KqN6K2Y44Gn44GN44Gq44GE5b2i5byP44Gn44GZIC0g44K744Kv44K/5pWw44KS5Yip55So44GX44G+44GZIgorCisjfiBtc2dpZCAidW5pbXBsZW1lbnRlZCBmb3JtYXQgLSB1c2luZyAlcyIKKyN+IG1zZ3N0ciAi5pyq5a6f6KOF44Gu5b2i5byP44Gn44GZIC0gJXMg44KS5Yip55So44GX44G+44GZIgorCisjfiBtc2dpZCAic2VjdG9ycyIKKyN+IG1zZ3N0ciAi44K744Kv44K/5pWwIgorCisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiBjeWxpbmRlcnMgb2YgJWx1IGJ5dGVzLCBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAi5Y2Y5L2NOiDjgrfjg6rjg7Pjg4AgKCVsdSDjg5DjgqTjg4gpLCDjg5bjg63jg4Pjgq8gKDEwMjQg44OQ44Kk44OIKSwgJWQg44GL44KJ5pWw44GI44G+44GZXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCBTdGFydCAgICAgRW5kICAgI2N5bHMgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAi44OH44OQ44Kk44K5IOi1t+WLlSDlp4vngrkgICAgICDntYLngrkgI+OCt+ODquODs+ODgCAj44OW44Ot44OD44KvIElEICDjgrfjgrnjg4bjg6BcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVbml0czogc2VjdG9ycyBvZiA1MTIgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIuWNmOS9jTog44K744Kv44K/ICg1MTIg44OQ44Kk44OIKSwgJWQg44GL44KJ5pWw44GI44G+44GZXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgICBTdGFydCAgICAgICBFbmQgICAjc2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICLjg4fjg5DjgqTjgrkg6LW35YuVICAgIOWni+eCuSAgICAgICAg57WC54K5ICAj44K744Kv44K/ICAgSUQg44K344K544OG44OgXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLljZjkvY06IOODluODreODg+OCryAoMTAyNCDjg5DjgqTjg4gpLCAlZCDjgYvjgonmlbDjgYjjgb7jgZlcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290ICAgU3RhcnQgICAgICAgRW5kICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiDjg4fjg5DjgqTjgrkg44OW44O844OIIOWni+eCuSAgICAgICAg57WC54K5ICAj44OW44Ot44OD44KvIElEICDjgrfjgrnjg4bjg6BcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVbml0czogMU1pQiA9IDEwMjQqMTAyNCBieXRlcywgYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIuWNmOS9jTogMU1pQiAoMTAyNCoxMDI0IOODkOOCpOODiCksIOODluODreODg+OCryAoMTAyNCDjg5DjgqTjg4gpLCAlZCDjgYvjgonmlbDjgYjjgb7jgZlcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290IFN0YXJ0ICAgRW5kICAgIE1pQiAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICLjg4fjg5DjgqTjgrkg6LW35YuVIOWni+eCuSAgICDntYLngrkgICBNaUIgICAgI+ODluODreODg+OCryBJRCAg44K344K544OG44OgXG4iCisKKyN+IG1zZ2lkICJcdFx0c3RhcnQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpXG4iCisjfiBtc2dzdHIgIlx0XHTplovlp4s6IChjLGgscykg5pyf5b6F5YCkPSglbGQsJWxkLCVsZCkg5qSc5Ye65YCkPSglbGQsJWxkLCVsZClcbiIKKworI34gbXNnaWQgIlx0XHRlbmQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpXG4iCisjfiBtc2dzdHIgIlx0XHTntYLngrk6IChjLGgscykg5pyf5b6F5YCkPSglbGQsJWxkLCVsZCkg5qSc5Ye65YCkPSglbGQsJWxkLCVsZClcbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiBlbmRzIG9uIGN5bGluZGVyICVsZCwgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGRpc2tcbiIKKyN+IG1zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44GM44K344Oq44Oz44OAICVsZCDjgafntYLjgo/jgaPjgabjgYTjgb7jgZnjgILjgZPjgozjga/jg4fjgqPjgrnjgq/jga7ntYLnq6/jgpLotoXjgYjjgabjgYTjgb7jgZnjgIJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBUaGUgcGFydGl0aW9uIHRhYmxlIGxvb2tzIGxpa2UgaXQgd2FzIG1hZGVcbiIKKyN+ICIgIGZvciBDL0gvUz0qLyVsZC8lbGQgKGluc3RlYWQgb2YgJWxkLyVsZC8lbGQpLlxuIgorI34gIkZvciB0aGlzIGxpc3RpbmcgSSdsbCBhc3N1bWUgdGhhdCBnZW9tZXRyeS4iCisjfiBtc2dzdHIgIiIKKyN+ICLorablkYo6IOODkeODvOODhuOCo+OCt+ODp+ODs+ODhuODvOODluODq+OBq+OCiOOCi+OBqOOAgeOBk+OBruODh+OCo+OCueOCr+OBr1xuIgorI34gIiAg44K344Oq44Oz44OA77yP44OY44OD44OJ77yP44K744Kv44K/44Gu5YCk44GrICUzJGxkLyU0JGxkLyU1JGxkIOOBp+OBr+OBquOBj+OAgVxuIgorI34gIiAqLyUxJGxkLyUyJGxkIOOBjOioreWumuOBleOCjOOBpuOBhOOCi+OCguOBruOBqOaOqOa4rOOBleOCjOOBvuOBmeOAguS4i+iomOOBruS4gOimp+OBp+OBr+OAgVxuIgorI34gIuOBk+OBruOCuOOCquODoeODiOODquioreWumuOCkuS7ruWumuOBl+OBpuihqOekuuOBl+OBvuOBmeOAgiIKKworI34gbXNnaWQgIm5vIHBhcnRpdGlvbiB0YWJsZSBwcmVzZW50IgorI34gbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgYzopovjgaTjgYvjgorjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJzdHJhbmdlLCBvbmx5ICVkIHBhcnRpdGlvbiBkZWZpbmVkIgorI34gbXNnaWRfcGx1cmFsICJzdHJhbmdlLCBvbmx5ICVkIHBhcnRpdGlvbnMgZGVmaW5lZCIKKyN+IG1zZ3N0clswXSAi5aSJ44Gn44GZLCAlZCDlgIvjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgZfjgYvlrprnvqnjgZXjgozjgabjgYTjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBidXQgaXMgbm90IG1hcmtlZCBFbXB0eSIKKyN+IG1zZ3N0ciAi6K2m5ZGKOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXMg44Gu44K144Kk44K644GvIDAg44Gn44GZ44GM44CB56m644Go44GX44Gm44Oe44O844Kv44GV44KM44Gm44GE44G+44Gb44KTIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIGlzIGJvb3RhYmxlIgorI34gbXNnc3RyICLorablkYo6IOODkeODvOODhuOCo+OCt+ODp+ODsyAlcyDjga7jgrXjgqTjgrrjga8gMCDjgafjgZnjgYzjgIHotbfli5Xlj6/og73jgavjgarjgaPjgabjgYTjgb7jgZkiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBhbmQgbm9uemVybyBzdGFydCIKKyN+IG1zZ3N0ciAi6K2m5ZGKOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXMg44Gu44K144Kk44K644GvIDAg44Gn44GZ44GM44CBIDAg5Lul5aSW44Gu6ZaL5aeL5L2N572u44Gr44Gq44Gj44Gm44GE44G+44GZIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGlzIG5vdCBjb250YWluZWQgaW4gcGFydGl0aW9uICVzIgorI34gbXNnc3RyICLorablkYo6IOODkeODvOODhuOCo+OCt+ODp+ODsyAlcyDjga/jg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXMg5YaF44Gr5Y+O44G+44Gj44Gm44GE44G+44Gb44KTIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9ucyAlcyBhbmQgJXMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAi6K2m5ZGKOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXMg44GoICVzIOOBr+mHjeikh+OBl+OBn+S9jee9rumWouS/guOBq+OBguOCiuOBvuOBmSIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgY29udGFpbnMgcGFydCBvZiB0aGUgcGFydGl0aW9uIHRhYmxlIChzZWN0b3IgJWxsdSksXG4iCisjfiAiYW5kIHdpbGwgZGVzdHJveSBpdCB3aGVuIGZpbGxlZCIKKyN+IG1zZ3N0ciAiIgorI34gIuitpuWRijog44OR44O844OG44Kj44K344On44OzICVzIOOBq+OBr+ODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOBruS4gOmDqCAo44K744Kv44K/ICVsbHUpXG4iCisjfiAi44GM5ZCr44G+44KM44Gm44GE44G+44GZ44CC44GT44Gu44G+44G+5L2/55So44GZ44KL44Go44CB44GT44KM44KJ44Gu5oOF5aCx44GM56C05aOK44GV44KM44Gm44GX44G+44GE44G+44GZIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIHN0YXJ0cyBhdCBzZWN0b3IgMCIKKyN+IG1zZ3N0ciAi6K2m5ZGKOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXMg44GM44K744Kv44K/IDAg44GL44KJ5aeL44G+44Gj44Gm44GE44G+44GZIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGV4dGVuZHMgcGFzdCBlbmQgb2YgZGlzayIKKyN+IG1zZ3N0ciAi6K2m5ZGKOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXMg44Gv44OH44Kj44K544Kv44Gu57WC56uv44KS6LaF44GI44Gm44GE44G+44GZIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAlZC4lZCBUQiAoJWxsdSBieXRlcyksXG4iCisjfiAid2hpY2ggaXMgbGFyZ2VyIHRoYW4gdGhlICVsbHUgYnl0ZXMgbGltaXQgaW1wb3NlZFxuIgorI34gImJ5IHRoZSBET1MgcGFydGl0aW9uIHRhYmxlIGZvciAlZC1ieXRlIHNlY3RvcnMiCisjfiBtc2dzdHIgIiIKKyN+ICLorablkYo6IOODkeODvOODhuOCo+OCt+ODp+ODsyAlMSRzIOOBruOCteOCpOOCuuOBjCAlMiRkLiUzJGQgVEIgKCU0JGxsdSDjg5DjgqTjg4gpXG4iCisjfiAi44Gr6Kit5a6a44GV44KM44Gm44GE44G+44GZ44CC44K744Kv44K/44K144Kk44K644GMICU2JGQg44OQ44Kk44OI44Gu5aC05ZCI44CB44GT44Gu44K144Kk44K644GvXG4iCisjfiAiRE9TIOODkeODvOODhuOCo+OCt+ODp+ODs+ODhuODvOODluODq+OBruS4iumZkOOBp+OBguOCiyAlNSRsbHUg44OQ44Kk44OI44KS6LaF44GI44Gm44GE44G+44GZ44CCIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yICVsbHUgKCVkLiVkIFRCIGZvciAlZC1ieXRlIHNlY3RvcnMpLFxuIgorI34gIndoaWNoIGV4Y2VlZHMgdGhlIERPUyBwYXJ0aXRpb24gdGFibGUgbGltaXQgb2YgJWxsdSBzZWN0b3JzIgorI34gbXNnc3RyICIiCisjfiAi6K2m5ZGKOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJTEkcyDjga/jgrvjgq/jgr8gJTIkbGx1IOOBi+OCieWni+OBvuOBo+OBpuOBhOOBvuOBmSAo44K744Kv44K/44K144Kk44K644GMXG4iCisjfiAiJTUkZCDjg5DjgqTjg4jjga7loLTlkIjjgIEgJTMkZC4lNCRkIFRCIOOBruS9jee9ruOBq+OBguOBn+OCiuOBvuOBmSnjgILjgZPjga7jgrvjgq/jgr/jga/jgIEgRE9TIOOBruODkeODvOODhuOCo+OCt+ODp+ODs+ODhuODvOODluODq+OBruS4iumZkOOBp+OBguOCiyAlNiRsbHUg44K744Kv44K/44KS6LaF44GI44Gm44GE44G+44GZ44CCIgorCisjfiBtc2dpZCAiIgorI34gIkFtb25nIHRoZSBwcmltYXJ5IHBhcnRpdGlvbnMsIGF0IG1vc3Qgb25lIGNhbiBiZSBleHRlbmRlZFxuIgorI34gIiAoYWx0aG91Z2ggdGhpcyBpcyBub3QgYSBwcm9ibGVtIHVuZGVyIExpbnV4KSIKKyN+IG1zZ3N0ciAiIgorI34gIuaLoeW8teODkeODvOODhuOCo+OCt+ODp+ODs+OBryAxIOOBpOOBl+OBi+WtmOWcqOOBp+OBjeOBvuOBm+OCk1xuIgorI34gIiAoTGludXgg44Gn44Gv54m544Gr5ZWP6aGM44Go44Gq44KL44GT44Go44Gv44GC44KK44G+44Gb44KTKSIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5IgorI34gbXNnc3RyICLorablkYo6IOODkeODvOODhuOCo+OCt+ODp+ODsyAlcyDjga/jgrfjg6rjg7Pjg4DlooPnlYzjgYvjgonlp4vjgb7jgaPjgabjgYTjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZG9lcyBub3QgZW5kIGF0IGEgY3lsaW5kZXIgYm91bmRhcnkiCisjfiBtc2dzdHIgIuitpuWRijog44OR44O844OG44Kj44K344On44OzICVzIOOBr+OCt+ODquODs+ODgOWig+eVjOOBp+e1guOCj+OBo+OBpuOBhOOBvuOBm+OCkyIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBtb3JlIHRoYW4gb25lIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZSAoYWN0aXZlKVxuIgorI34gIlRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLCBidXQgdGhlIERPUyBNQlIgd2lsbCBub3QgYm9vdCB0aGlzIGRpc2suIgorI34gbXNnc3RyICIiCisjfiAi6K2m5ZGKOiDopIfmlbDjga7ln7rmnKzjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzotbfli5Xlj6/og70gKOOCouOCr+ODhuOCo+ODlikg44Gr6Kit5a6a44GV44KM44Gm44GE44G+44GZ44CCXG4iCisjfiAiTElMTyDjga7loLTlkIjjga/nibnjgavllY/poYzjgYLjgorjgb7jgZvjgpPjgYzjgIFET1Mg44GuIE1CUiDjgpLkvb/nlKjjgZnjgovloLTlkIjjgIHjgZPjga7jg4fjgqPjgrnjgq/jgYvjgolcbiIKKyN+ICLotbfli5XjgafjgY3jgarjgY/jgarjgorjgb7jgZnjgIIiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogdXN1YWxseSBvbmUgY2FuIGJvb3QgZnJvbSBwcmltYXJ5IHBhcnRpdGlvbnMgb25seVxuIgorI34gIkxJTE8gZGlzcmVnYXJkcyB0aGUgYGJvb3RhYmxlJyBmbGFnLiIKKyN+IG1zZ3N0ciAiIgorI34gIuitpuWRijog6YCa5bi444Gv5Z+65pys44OR44O844OG44Kj44K344On44Oz44Gu44GG44Gh44CB44GE44Ga44KM44GLIDEg44Gk44Gg44GR44KS6LW35YuV5Y+v6IO944Gr6Kit5a6a44GX44G+44GZXG4iCisjfiAiKExJTE8g44Gv6LW35YuV5Y+v6IO944OV44Op44Kw44KS54Sh6KaW44GX44G+44GZKeOAgiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBubyBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLiIKKyN+IG1zZ3N0ciAiIgorI34gIuitpuWRijog6LW35YuV5Y+v6IO9ICjjgqLjgq/jg4bjgqPjg5YpIOOBq+ioreWumuOBleOCjOOBn+WfuuacrOODkeODvOODhuOCo+OCt+ODp+ODs+OBjOOBguOCiuOBvuOBm+OCk+OAglxuIgorI34gIkxJTE8g44Gu5aC05ZCI44Gv54m544Gr5ZWP6aGM44GC44KK44G+44Gb44KT44GM44CBRE9TIOOBriBNQlIg44KS5L2/55So44GZ44KL5aC05ZCI44CB44GT44Gu44OH44Kj44K544Kv44GL44KJXG4iCisjfiAi6LW35YuV44Gn44GN44Gq44GP44Gq44KK44G+44GZ44CCIgorCisjfiBtc2dpZCAic3RhcnQiCisjfiBtc2dzdHIgIumWi+WniyIKKworI34gbXNnaWQgInBhcnRpdGlvbiAlczogc3RhcnQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpIgorI34gbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXM6IOWni+eCuTogKGMsaCxzKSDmnJ/lvoXlgKQ9KCVsZCwlbGQsJWxkKSDmpJzlh7rlgKQ9KCVsZCwlbGQsJWxkKSIKKworI34gbXNnaWQgImVuZCIKKyN+IG1zZ3N0ciAi57WC5LqGIgorCisjfiBtc2dpZCAicGFydGl0aW9uICVzOiBlbmQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpIgorI34gbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXM6IOe1gueCuTogKGMsaCxzKSDmnJ/lvoXlgKQ9KCVsZCwlbGQsJWxkKSDmpJzlh7rlgKQ9KCVsZCwlbGQsJWxkKSIKKworI34gbXNnaWQgInBhcnRpdGlvbiAlcyBlbmRzIG9uIGN5bGluZGVyICVsZCwgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGRpc2siCisjfiBtc2dzdHIgIuOCt+ODquODs+ODgCAlMiRsZCDjgavjgYLjgovjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJTEkcyDjga7ntYLngrnjga/jgIHjg4fjgqPjgrnjgq/jga7ntYLnq6/jgpLotoXjgYjjgabjgYTjgb7jgZkiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogc2hpZnRlZCBzdGFydCBvZiB0aGUgZXh0ZCBwYXJ0aXRpb24gZnJvbSAlbGxkIHRvICVsbGRcbiIKKyN+ICIoRm9yIGxpc3RpbmcgcHVycG9zZXMgb25seS4gRG8gbm90IGNoYW5nZSBpdHMgY29udGVudHMuKSIKKyN+IG1zZ3N0ciAiIgorI34gIuitpuWRijog5ouh5by144OR44O844OG44Kj44K344On44Oz44Gu6ZaL5aeL5L2N572u44KSICVsbGQg44GL44KJICVsbGQg44Gr56e75YuV44GX44G+44GX44GfXG4iCisjfiAi77yI44Oq44K544OI6KGo56S644Gu44Gf44KB44Gg44GR44Gn44GZ44CC5YaF5a6544Gr5aSJ5pu044Gv44GC44KK44G+44Gb44KT44CC77yJIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IGV4dGVuZGVkIHBhcnRpdGlvbiBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gIkRPUyBhbmQgTGludXggd2lsbCBpbnRlcnByZXQgdGhlIGNvbnRlbnRzIGRpZmZlcmVudGx5LiIKKyN+IG1zZ3N0ciAiIgorI34gIuitpuWRijog5ouh5by144OR44O844OG44Kj44K344On44Oz44GM44K344Oq44Oz44OA5aKD55WM44GL44KJ5aeL44G+44Gj44Gm44GE44G+44Gb44KT44CCXG4iCisjfiAiRE9TIOOBqCBMaW51eCDjgafjga/jgIHjgZ3jgozjgZ7jgoznlbDjgarjgovop6Pph4jjgavjgarjgovjgoLjga7jgajmgJ3jgo/jgozjgb7jgZnjgIIiCisKKyN+IG1zZ2lkICJFUlJPUjogc2VjdG9yICVsbHUgZG9lcyBub3QgaGF2ZSBhbiBtc2RvcyBzaWduYXR1cmUiCisjfiBtc2dzdHIgIuOCqOODqeODvDog44K744Kv44K/ICVsbHUg44Gr44GvIG1zZG9zIOe9suWQjeOBjOOBguOCiuOBvuOBm+OCkyIKKworI34gbXNnaWQgInRvbyBtYW55IHBhcnRpdGlvbnMgLSBpZ25vcmluZyB0aG9zZSBwYXN0IG5yICglenUpIgorI34gbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzlpJrjgZnjgY7jgb7jgZkgLSBuciAoJXp1KSDku6XpmY3jgpLnhKHoppbjgZfjgb7jgZkiCisKKyN+IG1zZ2lkICJ0cmVlIG9mIHBhcnRpdGlvbnM/IgorI34gbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7jg4Tjg6rjg7w/IgorCisjfiBtc2dpZCAiZGV0ZWN0ZWQgRGlzayBNYW5hZ2VyIC0gdW5hYmxlIHRvIGhhbmRsZSB0aGF0IgorI34gbXNnc3RyICJEaXNrIE1hbmFnZXIg44KS5qSc5Ye644GX44G+44GX44GfIC0g5Yem55CG44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAiRE02IHNpZ25hdHVyZSBmb3VuZCAtIGdpdmluZyB1cCIKKyN+IG1zZ3N0ciAiRE02IOe9suWQjeOCkueZuuimi+OBl+OBvuOBl+OBnyAtIOWHpueQhuOBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgInN0cmFuZ2UuLi4sIGFuIGV4dGVuZGVkIHBhcnRpdGlvbiBvZiBzaXplIDA/IgorI34gbXNnc3RyICLlpInjgafjgZkuLi4sIOOCteOCpOOCuiAwIOOBruaLoeW8teODkeODvOODhuOCo+OCt+ODp+ODsz8iCisKKyN+IG1zZ2lkICJzdHJhbmdlLi4uLCBhIEJTRCBwYXJ0aXRpb24gb2Ygc2l6ZSAwPyIKKyN+IG1zZ3N0ciAi5aSJ44Gn44GZLi4uLCDjgrXjgqTjgrogMCDjga4gQlNEIOODkeODvOODhuOCo+OCt+ODp+ODsz8iCisKKyN+IG1zZ2lkICItbiBmbGFnIHdhcyBnaXZlbjogTm90aGluZyBjaGFuZ2VkIgorI34gbXNnc3RyICItbiDjg5Xjg6njgrDjgYzmjIflrprjgZXjgozjgabjgYTjgb7jgZk6IOS9leOCguWkieabtOOBl+OBvuOBm+OCkyIKKworI34gbXNnaWQgIkZhaWxlZCBzYXZpbmcgdGhlIG9sZCBzZWN0b3JzIC0gYWJvcnRpbmdcbiIKKyN+IG1zZ3N0ciAi5Y+k44GE44K744Kv44K/44Gu5L+d5a2Y44Gr5aSx5pWX44GX44G+44GX44GfIC0tIOS4reaWreOBl+OBpuOBhOOBvuOBmVxuIgorCisjfiBtc2dpZCAiRmFpbGVkIHdyaXRpbmcgdGhlIHBhcnRpdGlvbiBvbiAlcyIKKyN+IG1zZ3N0ciAiJXMg5LiK44Gu44OR44O844OG44Kj44K344On44Oz5pu444GN6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjfiBtc2dpZCAibG9uZyBvciBpbmNvbXBsZXRlIGlucHV0IGxpbmUgLSBxdWl0dGluZyIKKyN+IG1zZ3N0ciAi6ZW344GZ44GO44KL44GL44CB5LiN5a6M5YWo44Gq6KGM44Gu5YWl5Yqb44Gn44GZIC0tIOS4reatouOBl+OBvuOBmSIKKworI34gbXNnaWQgImlucHV0IGVycm9yOiBgPScgZXhwZWN0ZWQgYWZ0ZXIgJXMgZmllbGQiCisjfiBtc2dzdHIgIuWFpeWKm+OCqOODqeODvDogYD0nIOOBryAlcyDjg5XjgqPjg7zjg6vjg4njga7lvozjgavlhaXlipvjgZfjgabjgY/jgaDjgZXjgYQiCisKKyN+IG1zZ2lkICJpbnB1dCBlcnJvcjogdW5leHBlY3RlZCBjaGFyYWN0ZXIgJWMgYWZ0ZXIgJXMgZmllbGQiCisjfiBtc2dzdHIgIuWFpeWKm+OCqOODqeODvDogJTIkcyDjg5XjgqPjg7zjg6vjg4njga7lvozjgavkuojmnJ/jgZfjgarjgYTmloflrZcgYCUxJGMnIOOBjOOBguOCiuOBvuOBmSIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBpbnB1dDogJXMiCisjfiBtc2dzdHIgIuiqjeitmOOBp+OBjeOBquOBhOWFpeWKm+OBp+OBmTogJXMiCisKKyN+IG1zZ2lkICJudW1iZXIgdG9vIGJpZyIKKyN+IG1zZ3N0ciAi5pWw5a2X44GM5aSn44GN44GZ44GO44G+44GZIgorCisjfiBtc2dpZCAidHJhaWxpbmcganVuayBhZnRlciBudW1iZXIiCisjfiBtc2dzdHIgIuaVsOWtl+OBruW+jOOCjeOBq+OCtOODn+OBjOS7mOOBhOOBpuOBhOOBvuOBmSIKKworI34gbXNnaWQgIm5vIHJvb20gZm9yIHBhcnRpdGlvbiBkZXNjcmlwdG9yIgorI34gbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7PoqJjov7DlrZDjga7nqbrjgY3jgYzjgYLjgorjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJjYW5ub3QgYnVpbGQgc3Vycm91bmRpbmcgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICLmi6HlvLXjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7lm7LjgYTjgpLmp4vnr4njgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJ0b28gbWFueSBpbnB1dCBmaWVsZHMiCisjfiBtc2dzdHIgIuWFpeWKm+mgheebruOBjOWkmuOBmeOBjuOBvuOBmSIKKworI34gbXNnaWQgIk5vIHJvb20gZm9yIG1vcmUiCisjfiBtc2dzdHIgIuOBk+OCjOS7peS4iuOBruepuuOBjeOBjOOBguOCiuOBvuOBm+OCkyIKKworI34gbXNnaWQgIklsbGVnYWwgdHlwZSIKKyN+IG1zZ3N0ciAi5LiN5q2j44Gq44K/44Kk44OX44Gn44GZIgorCisjfiBtc2dpZCAiV2FybmluZzogZ2l2ZW4gc2l6ZSAoJWxsdSkgZXhjZWVkcyBtYXggYWxsb3dhYmxlIHNpemUgKCVsbHUpIgorI34gbXNnc3RyICLorablkYo6IOaMh+WumuOBl+OBn+OCteOCpOOCuiAoJWxsdSkg44Gv44CB6Kix5a6544Gn44GN44KL5pyA5aSn44K144Kk44K6ICglbGx1KSDjgpLotorjgYjjgabjgYTjgb7jgZkiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIuitpuWRijog56m644Gu44OR44O844OG44Kj44K344On44Oz44Gn44GZIgorCisjfiBtc2dpZCAiV2FybmluZzogYmFkIHBhcnRpdGlvbiBzdGFydCAoZWFybGllc3QgJWxsdSkiCisjfiBtc2dzdHIgIuitpuWRijog5LiN5q2j44Gq44OR44O844OG44Kj44K344On44Oz6ZaL5aeL5L2N572u44Gn44GZICjlsJHjgarjgY/jgajjgoIgJWxsdSDjgafjgYLjgovjgbnjgY3jgafjgZkpIgorCisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGJvb3RhYmxlIGZsYWcgLSBjaG9vc2UgLSBvciAqIgorI34gbXNnc3RyICLoqo3orZjjgafjgY3jgarjgYTotbfli5Xlj6/og73jg5Xjg6njgrDjgafjgZkgLSAnLScg44GLICcqJyDjgpLpgbjmip7jgZfjgabjgY/jgaDjgZXjgYQiCisKKyN+IG1zZ2lkICJwYXJ0aWFsIGMsaCxzIHNwZWNpZmljYXRpb24/IgorI34gbXNnc3RyICJjLGgscyDjgpLkuIDpg6jjgaDjgZHmjIflrprjgZfjgabjgYTjgb7jgZvjgpPjgYs/IgorCisjfiBtc2dpZCAiYmFkIGlucHV0IgorI34gbXNnc3RyICLkuI3mraPjgarlhaXlipvjgafjgZkiCisKKyN+IG1zZ2lkICJ0b28gbWFueSBwYXJ0aXRpb25zIgorI34gbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzlpJrjgZnjgY7jgb7jgZkiCisKKyN+IG1zZ2lkICIiCisjfiAiSW5wdXQgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ7IGFic2VudCBmaWVsZHMgZ2V0IGEgZGVmYXVsdCB2YWx1ZS5cbiIKKyN+ICI8c3RhcnQ+IDxzaXplPiA8dHlwZSBbRSxTLEwsWCxoZXhdPiA8Ym9vdGFibGUgWy0sKl0+IDxjLGgscz4gPGMsaCxzPlxuIgorI34gIlVzdWFsbHkgeW91IG9ubHkgbmVlZCB0byBzcGVjaWZ5IDxzdGFydD4gYW5kIDxzaXplPiAoYW5kIHBlcmhhcHMgPHR5cGU+KS4iCisjfiBtc2dzdHIgIiIKKyN+ICLkuIvoqJjjga7lvaLlvI/jgaflhaXlipvjgZfjgabjgY/jgaDjgZXjgYQ7IOWApOOCkuaMh+WumuOBl+OBquOBi+OBo+OBn+mgheebruOBq+OBr+OAgeaXouWumuWApOOBjOioreWumuOBleOCjOOBvuOBmeOAglxuIgorI34gIjzplovlp4vkvY3nva4+IDzjgrXjgqTjgro+IDzjgr/jgqTjg5cgW0UsUyxMLFgsMTbpgLLmlbBdPiA86LW35YuV5Y+v6IO944OV44Op44KwIFstLCpdPiA844K344Oq44Oz44OALOODmOODg+ODiSzjgrvjgq/jgr8+IDzjgrfjg6rjg7Pjg4As44OY44OD44OJLOOCu+OCr+OCvz5cbiIKKyN+ICLpgJrluLjjga/jgIEgPOmWi+Wni+S9jee9rj4g44GoIDzjgrXjgqTjgro+ICjjgYrjgojjgbMgPOOCv+OCpOODlz4pIOOBoOOBkeOCkuaMh+WumuOBmeOCjOOBsOWNgeWIhuOBp+OBmeOAgiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT4uLi5cbiIKKyN+IG1zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIDzjg4fjg5DjgqTjgrk+Li4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1zLCAtLXNob3ctc2l6ZSAgICAgICAgICAgbGlzdCBzaXplIG9mIGEgcGFydGl0aW9uXG4iCisjfiAiIC1jLCAtLWlkICAgICAgICAgICAgICAgICAgY2hhbmdlIG9yIHByaW50IHBhcnRpdGlvbiBJZFxuIgorI34gIiAgICAgLS1jaGFuZ2UtaWQgICAgICAgICAgIGNoYW5nZSBJZFxuIgorI34gIiAgICAgLS1wcmludC1pZCAgICAgICAgICAgIHByaW50IElkXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXMsIC0tc2hvdy1zaXplICAgICAgICAgICDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7jgrXjgqTjgrrjgpLkuIDopqfooajnpLrjgZfjgb7jgZlcbiIKKyN+ICIgLWMsIC0taWQgICAgICAgICAgICAgICAgICDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga4gSUQg44KS6KGo56S677yP5aSJ5pu044GX44G+44GZXG4iCisjfiAiICAgICAtLWNoYW5nZS1pZCAgICAgICAgICAgSUQg44KS5aSJ5pu044GX44G+44GZXG4iCisjfiAiICAgICAtLXByaW50LWlkICAgICAgICAgICAgSUQg44KS6KGo56S644GX44G+44GZXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zIG9mIGVhY2ggZGV2aWNlXG4iCisjfiAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICAgaWRlbSwgYnV0IGluIGEgZm9ybWF0IHN1aXRhYmxlIGZvciBsYXRlciBpbnB1dFxuIgorI34gIiAtaSwgLS1pbmNyZW1lbnQgICAgICAgICAgIG51bWJlciBjeWxpbmRlcnMgZXRjLiBmcm9tIDEgaW5zdGVhZCBvZiBmcm9tIDBcbiIKKyN+ICIgLXUsIC0tdW5pdCA8bGV0dGVyPiAgICAgICB1bml0cyB0byBiZSB1c2VkOyA8bGV0dGVyPiBjYW4gYmUgb25lIG9mXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTIChzZWN0b3JzKSwgQyAoY3lsaW5kZXJzKSwgQiAoYmxvY2tzKSwgb3IgTSAoTUIpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICDlkITjg4fjg5DjgqTjgrnjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLkuIDopqfooajnpLrjgZfjgb7jgZlcbiIKKyN+ICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgICDlvozjgYvjgonlhaXlipvjg4fjg7zjgr/jgajjgZfjgabkvb/nlKjjgZnjgovjga7jgavpg73lkIjjga7jgojjgYTmm7jlvI/jgaflh7rlipvjgZfjgb7jgZlcbiIKKyN+ICIgLWksIC0taW5jcmVtZW50ICAgICAgICAgICDjgrfjg6rjg7Pjg4Djgarjganjga7mlbDlgKTjgpLjgIEgMCDjgYvjgonjgafjga/jgarjgY8gMSDjgYvjgonmlbDjgYjjgb7jgZlcbiIKKyN+ICIgLXUsIC0tdW5pdCA85paH5a2XPiAgICAgICAgIOS9v+eUqOOBmeOCi+WNmOS9jeOCkuaMh+WumuOBl+OBvuOBmTsgPOaWh+Wtlz4g44Gr44GvXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTICjjgrvjgq/jgr8pLCBDICjjgrfjg6rjg7Pjg4ApLCBCICjjg5bjg63jg4Pjgq8pLCBNIChNQikg44Gu44GE44Ga44KM44GL44KS5oyH5a6a44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC0xLCAtLW9uZS1vbmx5ICAgICAgICAgICAgcmVzZXJ2ZWQgb3B0aW9uIHRoYXQgZG9lcyBub3RoaW5nIGN1cnJlbnRseVxuIgorI34gIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgIGxpc3QgdGhlIGtub3duIHBhcnRpdGlvbiB0eXBlc1xuIgorI34gIiAtRCwgLS1ET1MgICAgICAgICAgICAgICAgIGZvciBET1MtY29tcGF0aWJpbGl0eTogd2FzdGUgYSBsaXR0bGUgc3BhY2VcbiIKKyN+ICIgLUUsIC0tRE9TLWV4dGVuZGVkICAgICAgICBET1MgZXh0ZW5kZWQgcGFydGl0aW9uIGNvbXBhdGliaWxpdHlcbiIKKyN+ICIgLVIsIC0tcmUtcmVhZCAgICAgICAgICAgICBtYWtlIHRoZSBrZXJuZWwgcmVyZWFkIHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtMSwgLS1vbmUtb25seSAgICAgICAgICAgIOePvuaZgueCueOBp+OBr+S9leOCguihjOOBquOBhOOBvuOBm+OCk+OAguS6iOe0hOOCquODl+OCt+ODp+ODs+OBp+OBmVxuIgorI34gIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgIOaXouefpeOBruODkeODvOODhuOCo+OCt+ODp+ODs+OCv+OCpOODl+OBruS4gOimp+OCkuihqOekuuOBl+OBvuOBmVxuIgorI34gIiAtRCwgLS1ET1MgICAgICAgICAgICAgICAgIERPUyDjgajjga7kupLmj5vmgKfjgpLnorrkv53jgZfjgb7jgZk7IOmgmOWfn+OCkuWwkeOBl+a1quiyu+OBl+OBvuOBmVxuIgorI34gIiAtRSwgLS1ET1MtZXh0ZW5kZWQgICAgICAgIERPUyDmi6HlvLXjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjgajjga7kupLmj5vmgKfjgpLnorrkv53jgZfjgb7jgZlcbiIKKyN+ICIgLVIsIC0tcmUtcmVhZCAgICAgICAgICAgICDjgqvjg7zjg43jg6vjgavlr77jgZfjgabjgIHjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgpLoqq3jgb/ovrzjgb/nm7TjgZnjgojjgYbjgavmjIfnpLrjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLU4gPG51bWJlcj4gICAgICAgICAgICAgICBjaGFuZ2Ugb25seSB0aGUgcGFydGl0aW9uIHdpdGggdGhpcyA8bnVtYmVyPlxuIgorI34gIiAtbiAgICAgICAgICAgICAgICAgICAgICAgIGRvIG5vdCBhY3R1YWxseSB3cml0ZSB0byBkaXNrXG4iCisjfiAiIC1PIDxmaWxlPiAgICAgICAgICAgICAgICAgc2F2ZSB0aGUgc2VjdG9ycyB0aGF0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gdG8gPGZpbGU+XG4iCisjfiAiIC1JIDxmaWxlPiAgICAgICAgICAgICAgICAgcmVzdG9yZSBzZWN0b3JzIGZyb20gPGZpbGU+XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLU4gPOeVquWPtz4gICAgICAgICAgICAgICAgIOaMh+WumuOBl+OBn+eVquWPt+OBruODkeODvOODhuOCo+OCt+ODp+ODs+OBruOBv+OCkuWkieabtOOBl+OBvuOBmVxuIgorI34gIiAtbiAgICAgICAgICAgICAgICAgICAgICAgIOWun+mam+OBq+OBr+ODh+OCo+OCueOCr+OBq+abuOOBjei+vOOBv+OBvuOBm+OCk1xuIgorI34gIiAtTyA844OV44Kh44Kk44OrPiAgICAgICAgICAgICDjgrvjgq/jgr/mg4XloLHjgpIgPOODleOCoeOCpOODqz4g44Gn5oyH5a6a44GX44Gf44OV44Kh44Kk44Or44Gr5LiK5pu444GN5L+d5a2Y44GX44G+44GZXG4iCisjfiAiIC1JIDzjg5XjgqHjgqTjg6s+ICAgICAgICAgICAgIDzjg5XjgqHjgqTjg6s+IOOBi+OCieOCu+OCr+OCv+aDheWgseOCkuW+qeWFg+OBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtViwgLS12ZXJpZnkgICAgICAgICAgICAgIGNoZWNrIHRoYXQgdGhlIGxpc3RlZCBwYXJ0aXRpb25zIGFyZSByZWFzb25hYmxlXG4iCisjfiAiIC12LCAtLXZlcnNpb24gICAgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1WLCAtLXZlcmlmeSAgICAgICAgICAgICAg5LiA6Kan6KGo56S644GX44Gf44OR44O844OG44Kj44K344On44Oz44GM44CB5q2j44GX44GP6Kqt44G/6L6844KB44KL44GL44Gp44GG44GL44OB44Kn44OD44Kv44GX44G+44GZXG4iCisjfiAiIC12LCAtLXZlcnNpb24gICAgICAgICAgICAg44OQ44O844K444On44Oz5oOF5aCx44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAg44GT44Gu44OY44Or44OX44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGFuZ2Vyb3VzIG9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLljbHpmbrjgarjgqrjg5fjgrfjg6fjg7M6XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIKKyN+ICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgcGFydGl0aW9uIGlzIGluIHVzZVxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIHdhcm5pbmcgbWVzc2FnZXNcbiIKKyN+ICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkbyBub3QgY29tcGxhaW4gYWJvdXQgdGhpbmdzIGlycmVsZXZhbnQgZm9yIExpbnV4XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICDlhajjgabjga7kuIDosqvmgKfjg4Hjgqfjg4Pjgq/jgpLnhKHlirnjgavjgZfjgb7jgZlcbiIKKyN+ICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICDjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzkvb/nlKjkuK3jgYvjganjgYbjgYvjgpLjg4Hjgqfjg4Pjgq/jgZfjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKyN+ICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICDorablkYrjg6Hjg4Pjgrvjg7zjgrjjgpLnnIHnlaXjgZfjgb7jgZlcbiIKKyN+ICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBMaW51eCDjgafkuI3pganliIfjgaroqK3lrprjgavjgaTjgYTjgabjgIHjg6Hjg4Pjgrvjg7zjgrjjgpLooajnpLrjgZfjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWcsIC0tc2hvdy1nZW9tZXRyeSAgICAgICBwcmludCB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgZ2VvbWV0cnlcbiIKKyN+ICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBwcmludCBnZW9tZXRyeSBndWVzc2VkIGZyb20gdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgICAgICAg44Kr44O844ON44Or44GM5qSc5Ye644GX44Gf44K444Kq44Oh44OI44Oq5oOF5aCx44KS5Ye65Yqb44GX44G+44GZXG4iCisjfiAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAg44OR44O844OG44Kj44K344On44Oz5oOF5aCx44GL44KJ5o6o5ris44Gn44GN44KL44K444Kq44Oh44OI44Oq5oOF5aCx44KS5Ye65Yqb44GX44G+44GZXG4iCisKKyMsIGZ1enp5CisjfnwgbXNnaWQgIiIKKyN+fCAiIC1BLCAtLWFjdGl2YXRlWz08ZGV2aWNlPl0gYWN0aXZhdGUgYm9vdGFibGUgZmxhZ1xuIgorI358ICIgLVUsIC0tdW5oaWRlWz08ZGV2Pl0gICAgICBzZXQgcGFydGl0aW9uIHVuaGlkZGVuXG4iCisjfnwgIiAteCwgLS1zaG93LWV4dGVuZGVkICAgICAgIGFsc28gbGlzdCBleHRlbmRlZCBwYXJ0aXRpb25zIGluIHRoZSBvdXRwdXQsXG4iCisjfnwgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgZXhwZWN0IGRlc2NyaXB0b3JzIGZvciB0aGVtIGluIHRoZSBpbnB1dFxuIgorI34gbXNnaWQgIiIKKyN+ICIgLUEsIC0tYWN0aXZhdGVbPTxkZXZpY2U+XSBhY3RpdmF0ZSB0aGUgYm9vdGFibGUgZmxhZ1xuIgorI34gIiAtVSwgLS11bmhpZGVbPTxkZXZpY2U+XSAgIHNldCBwYXJ0aXRpb24gYXMgdW5oaWRkZW5cbiIKKyN+ICIgLXgsIC0tc2hvdy1leHRlbmRlZCAgICAgICBhbHNvIGxpc3QgZXh0ZW5kZWQgcGFydGl0aW9ucyBpbiB0aGUgb3V0cHV0LFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgZXhwZWN0IGRlc2NyaXB0b3JzIGZvciB0aGVtIGluIHRoZSBpbnB1dFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1BLCAtLWFjdGl2YXRlWz08ZGV2aWNlPl0g6LW35YuV5Y+v6IO944OV44Op44Kw44KS6Kit5a6a44GX44G+44GZXG4iCisjfiAiIC1VLCAtLXVuaGlkZVs9PGRldj5dICAgICAg44OR44O844OG44Kj44K344On44Oz44Gu6Zqg44GX5bGe5oCn44KS6Kej6Zmk44GX44G+44GZXG4iCisjfiAiIC14LCAtLXNob3ctZXh0ZW5kZWQgICAgICAg5Ye65Yqb5YaF5a6544Gr5ouh5by144OR44O844OG44Kj44K344On44Oz44KC5ZCr44KA44KI44GG44Gr44GX44G+44GZ44CCXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAg44G+44Gf44CB5YWl5Yqb44Go44GX44Gm44Gd44KM44KJ44Gr5a++44GZ44KL6Kit5a6a44KC5Y+X44GR5YWl44KM44G+44GZXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLWxlYXZlLWxhc3QgICAgICAgICAgZG8gbm90IGFsbG9jYXRlIHRoZSBsYXN0IGN5bGluZGVyXG4iCisjfiAiICAgICAtLUlCTSAgICAgICAgICAgICAgICAgc2FtZSBhcyAtLWxlYXZlLWxhc3RcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1sZWF2ZS1sYXN0ICAgICAgICAgIOacgOe1guOCt+ODquODs+ODgOOCkuWJsuOCiuW9k+OBpuOBquOBhOOCiOOBhuOBq+OBl+OBvuOBmVxuIgorI34gIiAgICAgLS1JQk0gICAgICAgICAgICAgICAgIC0tbGVhdmUtbGFzdCDjgajlkIzjgZjmhI/lkbPjgafjgZlcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0taW4tb3JkZXIgICAgICAgICAgICBwYXJ0aXRpb25zIGFyZSBpbiBvcmRlclxuIgorI34gIiAgICAgLS1ub3QtaW4tb3JkZXIgICAgICAgIHBhcnRpdGlvbnMgYXJlIG5vdCBpbiBvcmRlclxuIgorI34gIiAgICAgLS1pbnNpZGUtb3V0ZXIgICAgICAgIGFsbCBsb2dpY2FscyBpbnNpZGUgb3V0ZXJtb3N0IGV4dGVuZGVkXG4iCisjfiAiICAgICAtLW5vdC1pbnNpZGUtb3V0ZXIgICAgbm90IGFsbCBsb2dpY2FscyBpbnNpZGUgb3V0ZXJtb3N0IGV4dGVuZGVkXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0taW4tb3JkZXIgICAgICAgICAgICDjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLpoIbluo/pgJrjgorjgavoqK3lrprjgZfjgb7jgZlcbiIKKyN+ICIgICAgIC0tbm90LWluLW9yZGVyICAgICAgICDjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLpoIbluo/jgajjga/nhKHplqLkv4LjgavoqK3lrprjgZfjgb7jgZlcbiIKKyN+ICIgICAgIC0taW5zaWRlLW91dGVyICAgICAgICDlhajjgabjga7oq5bnkIbjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLmi6HlvLXjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7kuK3jgavlj47jgb7jgovjgojjgYbjgavjgZfjgb7jgZlcbiIKKyN+ICIgICAgIC0tbm90LWluc2lkZS1vdXRlciAgICDoq5bnkIbjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLmi6HlvLXjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7kuK3jgavlj47jgoHjgarjgY/jgabjgoLjgYTjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tbmVzdGVkICAgICAgICAgICAgICBldmVyeSBwYXJ0aXRpb24gaXMgZGlzam9pbnQgZnJvbSBhbGwgb3RoZXJzXG4iCisjfiAiICAgICAtLWNoYWluZWQgICAgICAgICAgICAgbGlrZSBuZXN0ZWQsIGJ1dCBleHRlbmRlZCBwYXJ0aXRpb25zIG1heSBsaWUgb3V0c2lkZVxuIgorI34gIiAgICAgLS1vbmVzZWN0b3IgICAgICAgICAgIHBhcnRpdGlvbnMgYXJlIG11dHVhbGx5IGRpc2pvaW50XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tbmVzdGVkICAgICAgICAgICAgICDjgZ3jgozjgZ7jgozjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLjg5Djg6njg5Djg6njgavjgarjgovjgojjgYbjgavjgZfjgb7jgZlcbiIKKyN+ICIgICAgIC0tY2hhaW5lZCAgICAgICAgICAgICAnLS1uZXN0ZWQnIOOBqOWQjOOBmOOBp+OBmeOBjOOAgeaLoeW8teODkeODvOODhuOCo+OCt+ODp+ODs+OBruOBv+WkluOBq+OBr+OBv+WHuuOBmeOCiOOBhuOBq+OBl+OBvuOBmVxuIgorI34gIiAgICAgLS1vbmVzZWN0b3IgICAgICAgICAgIOODkeODvOODhuOCo+OCt+ODp+ODs+OBjOS6kuOBhOOBq+ODkOODqeODkOODqeOBq+OBquOCi+OCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk92ZXJyaWRlIHRoZSBkZXRlY3RlZCBnZW9tZXRyeSB1c2luZzpcbiIKKyN+ICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICBzZXQgdGhlIG51bWJlciBvZiBjeWxpbmRlcnMgdG8gdXNlXG4iCisjfiAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgc2V0IHRoZSBudW1iZXIgb2YgaGVhZHMgdG8gdXNlXG4iCisjfiAiIC1TLCAtLXNlY3RvcnMgPG51bWJlcj4gICAgc2V0IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyB0byB1c2VcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuaknOWHuuOBleOCjOOBn+OCuOOCquODoeODiOODquaDheWgseOCkuS4iuabuOOBjeOBmeOCi+OCquODl+OCt+ODp+ODszpcbiIKKyN+ICIgLUMsIC0tY3lsaW5kZXJzIDzmlbDlgKQ+ICAgIOS9v+eUqOOBmeOCi+OCt+ODquODs+ODgOaVsOOCkuaMh+WumuOBl+OBvuOBmVxuIgorI34gIiAtSCwgLS1oZWFkcyA85pWw5YCkPiAgICAgICAg5L2/55So44GZ44KL44OY44OD44OJ5pWw44KS5oyH5a6a44GX44G+44GZXG4iCisjfiAiIC1TLCAtLXNlY3RvcnMgPOaVsOWApD4gICAgICDkvb/nlKjjgZnjgovjgrvjgq/jgr/mlbDjgpLmjIflrprjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiAlcyVzZGV2aWNlICAgICAgICAgICAgbGlzdCBhY3RpdmUgcGFydGl0aW9ucyBvbiBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiICVzJXPjg4fjg5DjgqTjgrkgICAgICAgICAgIOODh+ODkOOCpOOCueS4iuOBruOCouOCr+ODhuOCo+ODlumgmOWfn+OCkuS4gOimp+ihqOekuuOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiICVzJXNkZXZpY2UgbjEgbjIgLi4uICBhY3RpdmF0ZSBwYXJ0aXRpb25zIG4xIC4uLiwgaW5hY3RpdmF0ZSB0aGUgcmVzdFxuIgorI34gbXNnc3RyICIlcyVz44OH44OQ44Kk44K5IG4xIG4yIC4uLiAgbjEsIG4yLi4uIOeVquebruOCkuOCouOCr+ODhuOCo+ODluOBq+OBl+OBpuOAgeOBneOCjOS7peWkluOCkumdnuOCouOCr+ODhuOCo+ODluOBq+OBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgcGFydGl0aW9ucyBhcmd1bWVudCIKKyN+IG1zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz55Wq5Y+344Gu5byV5pWw44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiJXMg44KS6ZaL44GP44GT44Go44GM44Gn44GN44G+44Gb44KTXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0tcHJpbnQtaWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIiCisjfiBtc2dzdHIgIuS9v+OBhOaWuTogc2ZkaXNrIC0tcHJpbnQtaWQg44OH44OQ44Kk44K5IOODkeODvOODhuOCo+OCt+ODp+ODs+eVquWPtyIKKworI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1jaGFuZ2UtaWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIgSWQiCisjfiBtc2dzdHIgIuS9v+OBhOaWuTogc2ZkaXNrIC0tY2hhbmdlLWlkIOODh+ODkOOCpOOCuSDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pnlarlj7cgSUQiCisKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0taWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIgW0lkXSIKKyN+IG1zZ3N0ciAi5L2/44GE5pa5OiBzZmRpc2sgLS1pZCDjg4fjg5DjgqTjgrkg44OR44O844OG44Kj44K344On44Oz55Wq5Y+3IFtJRF0iCisKKyN+IG1zZ2lkICJjYW4gc3BlY2lmeSBvbmx5IG9uZSBkZXZpY2UgKGV4Y2VwdCB3aXRoIC1sIG9yIC1zKSIKKyN+IG1zZ3N0ciAi44OH44OQ44Kk44K544GvIDEg44Gk44Gg44GR5oyH5a6a44Gn44GN44G+44GZICgtbCDjgoQgLXMg44KS6Zmk44GN44G+44GZKSIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzIHJlYWQtd3JpdGUiCisjfiBtc2dzdHIgIiVzIOOCkuiqreOBv+abuOOBjeWPr+iDveOBquODouODvOODieOBp+mWi+OBj+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzIGZvciByZWFkaW5nIgorI34gbXNnc3RyICIlcyDjgpLoqq3jgb/ovrzjgb/nlKjjgavplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICIlczogT0siCisjfiBtc2dzdHIgIiVzOiBPSyIKKworI34gbXNnaWQgIiVzOiAlbGQgY3lsaW5kZXJzLCAlbGQgaGVhZHMsICVsZCBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIiVzOiDjgrfjg6rjg7Pjg4AgJWxkLCDjg5jjg4Pjg4kgJWxkLCAlbGQg44K744Kv44K/L+ODiOODqeODg+OCr1xuIgorCisjfiBtc2dpZCAiYmFkIGFjdGl2ZSBieXRlOiAweCV4IGluc3RlYWQgb2YgMHg4MCIKKyN+IG1zZ3N0ciAi5LiN5q2j44Gq44Ki44Kv44OG44Kj44OW44OQ44Kk44OI44Gn44GZOiAweDgwIOOBp+OBquOBjyAweCV4IOOBp+OBmSIKKworI34gbXNnaWQgIkRvbmUiCisjfiBtc2dzdHIgIue1guS6hiIKKworI34gbXNnaWQgIiIKKyN+ICJZb3UgaGF2ZSAlZCBhY3RpdmUgcHJpbWFyeSBwYXJ0aXRpb25zLiBUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTyxcbiIKKyN+ICJidXQgdGhlIERPUyBNQlIgd2lsbCBvbmx5IGJvb3QgYSBkaXNrIHdpdGggMSBhY3RpdmUgcGFydGl0aW9uLiIKKyN+IG1zZ3N0ciAiIgorI34gIiVkIOWAi+OBruOCouOCr+ODhuOCo+ODluOBquWfuuacrOODkeODvOODhuOCo+OCt+ODp+ODs+OBjOOBguOCiuOBvuOBmeOAglxuIgorI34gIkxJTE8g44Gu5aC05ZCI44Gv54m544Gr5ZWP6aGM44GC44KK44G+44Gb44KT44GM44CBRE9TIE1CUiDjga7loLTlkIjjga/jgIHjgYTjgZrjgozjgYsgMSDjgaTjga5cbiIKKyN+ICLjgqLjgq/jg4bjgqPjg5bjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7jgb/jgpLotbfli5XjgafjgY3jgb7jgZnjgIIiCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgaGFzIGlkICV4IGFuZCBpcyBub3QgaGlkZGVuIgorI34gbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXMg44GvIElEICV4IOOBp+OAgemaoOOBl+ioreWumuOBq+OBr+OBquOBo+OBpuOBhOOBvuOBm+OCkyIKKworI34gbXNnaWQgIkJhZCBJZCAlbHgiCisjfiBtc2dzdHIgIuS4jeato+OBqiBJRCAoJWx4KSDjgafjgZkiCisKKyN+IG1zZ2lkICJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZS4iCisjfiBtc2dzdHIgIuOBk+OBruODh+OCo+OCueOCr+OBr+ePvuWcqOS9v+eUqOS4reOBp+OBmeOAgiIKKworI34gbXNnaWQgIkZhdGFsIGVycm9yOiBjYW5ub3QgZmluZCAlcyIKKyN+IG1zZ3N0ciAi6Ie05ZG955qE44Gq44Ko44Op44O8OiAlcyDjgYzopovjgaTjgYvjgorjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIuitpuWRijogJXMg44Gv44OW44Ot44OD44Kv44OH44OQ44Kk44K544Gn44Gv44GC44KK44G+44Gb44KTIgorCisjfiBtc2dpZCAiT0siCisjfiBtc2dzdHIgIk9LIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGRvZXMgbm90IGV4aXN0LCBjYW5ub3QgY2hhbmdlIGl0IgorI34gbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJWQg44Gv5a2Y5Zyo44GX44Gq44GE44Gf44KB44CB5aSJ5pu044Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAiIgorI34gIkkgZG9uJ3QgbGlrZSB0aGVzZSBwYXJ0aXRpb25zIC0gbm90aGluZyBjaGFuZ2VkLlxuIgorI34gIihJZiB5b3UgcmVhbGx5IHdhbnQgdGhpcywgdXNlIHRoZSAtLWZvcmNlIG9wdGlvbi4pIgorI34gbXNnc3RyICIiCisjfiAi44GT44KM44KJ44Gu44OR44O844OG44Kj44K344On44Oz44KS5aSJ5pu044GZ44KL44Gu44Gv5Y2x6Zm644Go5Yik5pat44GX44CB5L2V44KC5aSJ5pu044Gb44Ga44Gr57WC5LqG44GX44Gm44GE44G+44GZ44CCXG4iCisjfiAiKOOBqeOBhuOBl+OBpuOCguWkieabtOOBl+OBn+OBhOWgtOWQiOOBr+OAgSAtLWZvcmNlIOOCquODl+OCt+ODp+ODs+OCkuaMh+WumuOBl+OBpuOBj+OBoOOBleOBhCkiCisKKyN+IG1zZ2lkICJJIGRvbid0IGxpa2UgdGhpcyAtIHByb2JhYmx5IHlvdSBzaG91bGQgYW5zd2VyIE5vIgorI34gbXNnc3RyICLjgZPjgozjgonjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7lpInmm7Tjga/ljbHpmbrjgafjgZkgLSDkuIvoqJjjga7os6rllY/jgavjga8gTm8g44Go562U44GI44Gm44GK44GP44GT44Go44KS44GK5Yun44KB44GX44G+44GZIgorCisjfiBtc2dpZCAiQXJlIHlvdSBzYXRpc2ZpZWQgd2l0aCB0aGlzPyBbeW5xXSAiCisjfiBtc2dzdHIgIuOBk+OBruOCiOOBhuOBque1kOaenOOBp+OCiOOCjeOBl+OBhOOBp+OBl+OCh+OBhuOBi++8nyBbeW5xXSAiCisKKyN+IG1zZ2lkICJRdWl0dGluZyAtIG5vdGhpbmcgY2hhbmdlZCIKKyN+IG1zZ3N0ciAi5Lit5q2iIC0g5L2V44KC5aSJ5pu044GX44Gm44GE44G+44Gb44KTIgorCisjfiBtc2dpZCAiUGxlYXNlIGFuc3dlciBvbmUgb2YgeSxuLHFcbiIKKyN+IG1zZ3N0ciAieSxuLHEg44Gu44GE44Ga44KM44GL44Gn562U44GI44Gm44GP44Gg44GV44GEXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiU3VjY2Vzc2Z1bGx5IHdyb3RlIHRoZSBuZXcgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLmlrDjgZfjgYTjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjga7mm7jjgY3ovrzjgb/jgavmiJDlip/jgZfjgb7jgZfjgZ9cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJJZiB5b3UgY3JlYXRlZCBvciBjaGFuZ2VkIGEgRE9TIHBhcnRpdGlvbiwgL2Rldi9mb283LCBzYXksIHRoZW4gdXNlIGRkKDEpXG4iCisjfiAidG8gemVybyB0aGUgZmlyc3QgNTEyIGJ5dGVzOiAgZGQgaWY9L2Rldi96ZXJvIG9mPS9kZXYvZm9vNyBicz01MTIgY291bnQ9MVxuIgorI34gIihTZWUgZmRpc2soOCkuKSIKKyN+IG1zZ3N0ciAiIgorI34gIkRPUyDjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLkvZzmiJDjgZfjgZ/jgorlpInmm7TjgZfjgZ/jgorjgZfjgZ/loLTlkIjjga/jgIHjgZ/jgajjgYjjgbAgL2Rldi9mb283IOOBp+OBguOCjOOBsFxuIgorI34gImRkIGlmPS9kZXYvemVybyBvZj0vZGV2L2ZvbzcgYnM9NTEyIGNvdW50PTEg44Gu44KI44GG44Gr5a6f6KGM44GX44CBIGRkKDEpIOOCs+ODnuODs+ODieOBp1xuIgorI34gIuacgOWIneOBriA1MTIg44OQ44Kk44OI44KS44K844Ot44Gn5Z+L44KB44Gm44GP44Gg44GV44GEICjoqbPjgZfjgY/jga8gZmRpc2soOCkg44Gu44Oe44OL44Ol44Ki44Or44Oa44O844K444KSXG4iCisjfiAi44GK6Kqt44G/44GP44Gg44GV44GEKeOAgiIKKworI34gbXNnaWQgIklmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55IERPUyA2LnggcGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgZmRpc2sgZG9jdW1lbnRhdGlvbiBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi4iCisjfiBtc2dzdHIgIkRPUyA2Lngg6aCY5Z+f44KS5L2c5oiQ44CB44G+44Gf44Gv5aSJ5pu044GX44Gm44GX44G+44Gj44Gf5aC05ZCI44Gv44CBY2ZkaXNrIOS7mOWxnuaWh+abuOOBq+OBguOCi+i/veWKoOaDheWgseODmuODvOOCuOOCkuWPgueFp+OBl+OBpuOBj+OBoOOBleOBhOOAgiIKKworI34gbXNnaWQgImZpZWxkIGlzIHRvbyBsb25nIgorI34gbXNnc3RyICLjg5XjgqPjg7zjg6vjg4njgYzplbfjgZnjgY7jgb7jgZkiCisKKyN+IG1zZ2lkICIlczogJyVjJyBpcyBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJXM6ICclYycg44Gv6Kix5Y+v44GV44KM44G+44Gb44KTIgorCisjfiBtc2dpZCAiJyVjJyBpcyBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJyVjJyDjga/oqLHlj6/jgZXjgozjgb7jgZvjgpPjgIIiCisKKyN+IG1zZ2lkICIlczogY29udHJvbCBjaGFyYWN0ZXJzIGFyZSBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJXM6IOWItuW+oeaWh+Wtl+OBr+S9v+eUqOOBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgImNvbnRyb2wgY2hhcmFjdGVycyBhcmUgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIuWItuW+oeaWh+Wtl+OBr+S9v+eUqOOBp+OBjeOBvuOBm+OCkyIKKworIywgZnV6enkKKyN+fCBtc2dpZCAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICBrZWVwIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCisjfiBtc2dpZCAiIC1tLCAtLXN1cHAtZ3JvdXBzICAgICAgICBkaXNwbGF5IHN1cHBsZW1lbnRhcnkgZ3JvdXBzIGFzIHdlbGxcbiIKKyN+IG1zZ3N0ciAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICDoo5zliqnjgrDjg6vjg7zjg5fjgpLntq3mjIHjgZfjgb7jgZlcbiIKKworIywgZnV6enkKKyN+fCBtc2dpZCAiIgorI358ICJcbiIKKyN+fCAiRm9yIG1vcmUgZGV0YWlscyBzZWUgbHNjcHUoMSkuXG4iCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGRldGFpbHMgc2VlIGxzbG9naW5zKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6Kmz44GX44GP44GvIGxzY3B1KDEpIOOCkuOBiuiqreOBv+OBj+OBoOOBleOBhOOAglxuIgorCisjfiBtc2dpZCAiY3J5cHQoKSBmYWlsZWQiCisjfiBtc2dzdHIgImNyeXB0KCkg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjfiBtc2dpZCAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgVGhpcyBzbWFsbCB1c2FnZSBndWlkZVxuIgorI34gbXNnc3RyICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICDkvb/jgYTmlrnjga7mpoLopoHjgpLooajnpLrjgZnjgotcbiIKKworI34gbXNnaWQgIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisjfiBtc2dzdHIgIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIOODkOODvOOCuOODp+ODs+aDheWgseOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgIHVzZSBhbHRlcm5hdGl2ZSBkaWN0aW9uYXJ5XG4iCisjfiAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgY29tcGFyZSBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzXG4iCisjfiAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIKKyN+ICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiBkZWZpbmUgc3RyaW5nIHRlcm1pbmF0aW9uIGNoYXJhY3RlclxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgIOS7o+abv+i+nuabuOOCkuS9v+eUqOOBl+OBvuOBmVxuIgorI34gIiAtZCwgLS1hbHBoYW51bSAgICAgICAgIOiLseaVsOWtl+OBruOBv+OCkuavlOi8g+WvvuixoeOBqOOBl+OBvuOBmVxuIgorI34gIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgIOavlOi8g+OBrumam+OAgeWkp+aWh+Wtl+OBqOWwj+aWh+Wtl+OCkuWMuuWIpeOBl+OBquOBhOOCiOOBhuOBq+OBl+OBvuOBmVxuIgorI34gIiAtdCwgLS10ZXJtaW5hdGUgPOaWh+Wtlz4g5paH5a2X5YiX44Gu57WC56uv5paH5a2X44KS5oyH5a6a44GX44G+44GZXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAg44OQ44O844K444On44Oz5oOF5aCx44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAg44GT44Gu44OY44Or44OX44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG5hbWVpKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6Kmz57Sw5oOF5aCx44Gv44CBbmFtZWkoMSkg44KS56K66KqN44GX44Gm44GP44Gg44GV44GE44CCXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHdpcGVmcyg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuips+OBl+OBj+OBryB3aXBlZnMoOCkg44KS44GK6Kqt44G/44GP44Gg44GV44GE44CCXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHRhc2tzZXQoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLoqbPjgZfjgY/jga8gdGFza3NldCgxKSDjgpLjgYroqq3jgb/jgY/jgaDjgZXjgYTjgIJcbiIKKworI34gbXNnaWQgIiVzOiBpcyByZW1vdmFibGUgZGV2aWNlIgorI34gbXNnc3RyICIlczog5Y+W44KK5Ye644GX5Y+v6IO944Gq44OH44OQ44Kk44K544Gn44Gv44GC44KK44G+44Gb44KTIgorCisjfiBtc2dpZCAiJXM6IGNvbm5lY3RlZCBieSBob3RwbHVnIHN1YnN5c3RlbTogJXMiCisjfiBtc2dzdHIgIiVzOiDjg5vjg4Pjg4jjg5fjg6njgrDjgrXjg5bjgrfjgrnjg4bjg6DjgafmjqXntprjgZXjgozjgabjgYTjgb7jgZk6ICVzIgorCisjfiBtc2dpZCAidGltZW91dCBjYW5ub3QgYmUgemVybyIKKyN+IG1zZ3N0ciAi5pmC6ZaT5Yi26ZmQ44Gu5YCk44Gv44K844Ot44Gr44GZ44KL44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjLCBmdXp6eQorI358IG1zZ2lkICJOZWVkIHRvIGluc2VydCAlZCBzZWNvbmRzIGFuZCByZWZlciB0aW1lIGJhY2sgJS42ZiBzZWNvbmRzIGFnb1xuIgorI34gbXNnaWQgIk5lZWQgdG8gaW5zZXJ0ICVkIHNlY29uZCBhbmQgcmVmZXIgdGltZSBiYWNrICUuNmYgc2Vjb25kcyBhZ29cbiIKKyN+IG1zZ2lkX3BsdXJhbCAiTmVlZCB0byBpbnNlcnQgJWQgc2Vjb25kcyBhbmQgcmVmZXIgdGltZSBiYWNrICUuNmYgc2Vjb25kcyBhZ29cbiIKKyN+IG1zZ3N0clswXSAiJWQg56eS44KS5oy/5YWl44GX44CBICUuNmYg56eS5YmN44Gr5pmC5Yi75Y+C54Wn44GZ44KL5b+F6KaB44GM44GC44KK44G+44GZXG4iCisKKyN+IG1zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSBLREdIV0NMSyB0byBjaGFuZ2VcbiIKKyN+IG1zZ3N0ciAiS0RHSFdDTEsg44GL44KJ5aSJ5pu044Gu44Gf44KB44Gu5pmC5Yi744KS5Y+W5b6X44GZ44KL5Yem55CG44KS44Or44O844OX44Gn5b6F5qmf44GX44Gm44GE44G+44GZXG4iCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCB0byByZWFkIHRpbWUgZmFpbGVkIgorI34gbXNnc3RyICJLREdIV0NMSyBpb2N0bCDjga7mmYLliLvoqq3jgb/lj5bjgorjgYzlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCB0byByZWFkIHRpbWUgZmFpbGVkIGluIGxvb3AiCisjfiBtc2dzdHIgIuaZguWIu+iqreOBv+i+vOOBv+OBruOBn+OCgeOBriBLREdIV0NMSyBpb2N0bCDlh6bnkIbjgYzlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICJpb2N0bCgpIGZhaWxlZCB0byByZWFkIHRpbWUgZnJvbSAlcyIKKyN+IG1zZ3N0ciAiJXMg44GL44KJ5pmC5Yi744KS6Kqt44G/6L6844KA6Zqb44CBIGlvY3RsKCkg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjfiBtc2dpZCAiaW9jdGwgS0RTSFdDTEsgZmFpbGVkIgorI34gbXNnc3RyICJLRFNIV0NMSyBpb2N0bCDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICJVc2luZyB0aGUgS0RHSFdDTEsgaW50ZXJmYWNlIHRvIG02OGsgY2xvY2suIgorI34gbXNnc3RyICJLREdIV0NMSyDjgqTjg7Pjgr/jg5Xjgqfjg7zjgrnjgpLkvb/jgaPjgaYgbTY4ayDjgq/jg63jg4Pjgq/jgavjgqLjgq/jgrvjgrnjgZfjgb7jgZnjgIIiCisKKyN+IG1zZ2lkICJDYW4ndCBvcGVuIC9kZXYvdHR5MSBvciAvZGV2L3ZjLzEiCisjfiBtc2dzdHIgIi9kZXYvdHR5MSDjgb7jgZ/jga8gL2Rldi92Yy8xIOOCkumWi+OBj+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAiS0RHSFdDTEsgaW9jdGwg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGRldGFpbHMgc2VlIGxzY3B1KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6Kmz44GX44GP44GvIGxzY3B1KDEpIOOCkuOBiuiqreOBv+OBj+OBoOOBleOBhOOAglxuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3MuLi5dXG4iCisjfiBtc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSA844OX44Ot44Kw44Op44OgPiBb5byV5pWwLi4uXVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIGdyb3VwIElEXG4iCisjfiAiIC1uLCAtLXByaW9yaXR5IDxudW0+ICAgc3BlY2lmeSB0aGUgbmljZSBpbmNyZW1lbnQgdmFsdWVcbiIKKyN+ICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBJRCAoZGVmYXVsdClcbiIKKyN+ICIgLXUsIC0tdXNlciA8bmFtZXxpZD4gICBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWcsIC0tcGdycCA8aWQ+ICAgICAgICDlvJXmlbDjgpLjg5fjg63jgrvjgrnjga7jgrDjg6vjg7zjg5cgSUQg44Go44GX44Gm6Kej6YeI44GX44G+44GZXG4iCisjfiAiIC1uLCAtLXByaW9yaXR5IDznlarlj7c+ICBuaWNlIOWApOOBruWKoOeul+WApOOCkuaMh+WumuOBl+OBvuOBmVxuIgorI34gIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIOW8leaVsOOCkuODl+ODreOCu+OCuSBJRCDjgajjgZfjgabop6Pph4jjgZfjgb7jgZkgKOaXouWumuWApClcbiIKKyN+ICIgLXUsIC0tdXNlciA85ZCN5YmNfGlkPiAgIOW8leaVsOOCkuODpuODvOOCtuWQjeOBvuOBn+OBr+ODpuODvOOCtiBJRCDjgajjgZfjgabop6Pph4jjgZfjgb7jgZlcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICDjg5Djg7zjgrjjg6fjg7Pmg4XloLHjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcmVuaWNlKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6Kmz44GX44GE5oOF5aCx44Gr44Gk44GE44Gm44Gv44CBIHJlbmljZSgxKSDjgpLjgYroqq3jgb/jgY/jgaDjgZXjgYTjgIJcbiIKKworI34gbXNnaWQgIiAlcyVzIFtvcHRpb25zXSBbcHJvZ3JhbSBbcHJvZ3JhbSBhcmd1bWVudHNdXVxuIgorI34gbXNnc3RyICIgJXMlcyBb44Kq44OX44K344On44OzXSBb44OX44Ot44Kw44Op44OgIFvjg5fjg63jgrDjg6njg6DlvJXmlbBdXVxuIgorCisjLCBmdXp6eQorI358IG1zZ2lkICIiCisjfnwgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgZW5hYmxlIGFsbCBzd2FwcyBmcm9tIC9ldGMvZnN0YWJcbiIKKyN+fCAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorI358ICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHNpbGVudGx5IHNraXAgZGV2aWNlcyB0aGF0IGRvIG5vdCBleGlzdFxuIgorI358ICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHJlaW5pdGlhbGl6ZSB0aGUgc3dhcCBzcGFjZSBpZiBuZWNlc3NhcnlcbiIKKyN+fCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBzcGVjaWZ5IHRoZSBwcmlvcml0eSBvZiB0aGUgc3dhcCBkZXZpY2VcbiIKKyN+fCAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBkaXNwbGF5IHN1bW1hcnkgYWJvdXQgdXNlZCBzd2FwIGRldmljZXNcbiIKKyN+fCAiICAgICAtLXNob3dbPTxjb2x1bW5zPl0gICBkaXNwbGF5IHN1bW1hcnkgaW4gZGVmaW5hYmxlIHRhYmxlXG4iCisjfnwgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MsIHVzZSB3aXRoIC0tc2hvd1xuIgorI358ICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQsIHVzZSB3aXRoIC0tc2hvd1xuIgorI358ICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIGRpc3BsYXkgc3dhcCBzaXplIGluIGJ5dGVzIGluIC0tc2hvdyBvdXRwdXRcbiIKKyN+fCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKKyN+IG1zZ2lkICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICBlbmFibGUgYWxsIHN3YXBzIGZyb20gL2V0Yy9mc3RhYlxuIgorI34gIiAtZCwgLS1kaXNjYXJkWz08cG9saWN5Pl0gZW5hYmxlIHN3YXAgZGlzY2FyZHMsIGlmIHN1cHBvcnRlZCBieSBkZXZpY2VcbiIKKyN+ICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHNpbGVudGx5IHNraXAgZGV2aWNlcyB0aGF0IGRvIG5vdCBleGlzdFxuIgorI34gIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIgorI34gIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgc3BlY2lmeSB0aGUgcHJpb3JpdHkgb2YgdGhlIHN3YXAgZGV2aWNlXG4iCisjfiAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBkaXNwbGF5IHN1bW1hcnkgYWJvdXQgdXNlZCBzd2FwIGRldmljZXMgKERFUFJFQ0FURUQpXG4iCisjfiAiICAgICAtLXNob3dbPTxjb2x1bW5zPl0gICBkaXNwbGF5IHN1bW1hcnkgaW4gZGVmaW5hYmxlIHRhYmxlXG4iCisjfiAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncywgdXNlIHdpdGggLS1zaG93XG4iCisjfiAiICAgICAtLXJhdyAgICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0LCB1c2Ugd2l0aCAtLXNob3dcbiIKKyN+ICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIGRpc3BsYXkgc3dhcCBzaXplIGluIGJ5dGVzIGluIC0tc2hvdyBvdXRwdXRcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAvcHJvYy9zd2FwcyDjgavjgYLjgovjgZnjgbnjgabjga7jgrnjg6/jg4Pjg5fjgpLmnInlirnjgavjgZfjgb7jgZlcbiIKKyN+ICIgLWQsIC0tZGlzY2FyZFs9POODneODquOCt+ODvD5dXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICDjg4fjg5DjgqTjgrnjgYzlr77lv5zjgZfjgabjgYTjgovloLTlkIjjgatcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgIOOCueODr+ODg+ODl+OBruegtOajhOOCkuacieWKueWMluOBl+OBvuOBmVxuIgorI34gIiAtZSwgLS1pZmV4aXN0cyAgICAg5a2Y5Zyo44GX44Gq44GE44OH44OQ44Kk44K544Gn44GC44Gj44Gf5aC05ZCI44CB5L2V44KC44Gb44Ga44Gr6aOb44Gw44GX44G+44GZXG4iCisjfiAiIC1mLCAtLWZpeHBnc3ogICAgICDlv4XopoHjgafjgYLjgozjgbDjgIHjgrnjg6/jg4Pjg5fpoJjln5/jga7lho3liJ3mnJ/ljJbjgpLooYzjgYTjgb7jgZlcbiIKKyN+ICIgLXAsIC0tcHJpb3JpdHkgPOWEquWFiOmghuS9jT5cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgIOOCueODr+ODg+ODl+ODh+ODkOOCpOOCueOBruWEquWFiOmghuS9jeOCkuaMh+WumuOBl+OBvuOBmVxuIgorI34gIiAtcywgLS1zdW1tYXJ5ICAgICAg5L2/55So5Lit44Gu44K544Ov44OD44OX44OH44OQ44Kk44K544Gr44Gk44GE44Gm44CB5qaC6KaB44KS6KGo56S644GX44G+44GZXG4iCisjfiAiICAgICAtLXNob3dbPTzliJc+XSAg6Kit5a6a5Y+v6IO944Gq6KGo5b2i5byP44Gn6KGo56S644GX44G+44GZXG4iCisjfiAiICAgICAtLW5vaGVhZGluZ3MgICDjg5jjg4Pjg4DjgpLooajnpLrjgZfjgarjgYTjgojjgYbjgavjgZfjgb7jgZkgKC0tc2hvdyDjgajlhbHjgavkvb/nlKjjgZfjgb7jgZkpXG4iCisjfiAiICAgICAtLXJhdyAgICAgICAgICDliqDlt6XjgpLooYzjgarjgo/jgZrjgavlh7rlipvjgZfjgb7jgZkgKC0tc2hvdyDjgajlhbHjgavkvb/nlKjjgZfjgb7jgZkpXG4iCisjfiAiICAgICAtLWJ5dGVzICAgICAgICDjgrnjg6/jg4Pjg5fjgrXjgqTjgrrjgpLjg5DjgqTjg4jljZjkvY3jgafooajnpLrjgZfjgb7jgZlcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgKC0tc2hvdyDjgajlhbHjgavkvb/nlKjjgZfjgb7jgZkpXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICDlhpfplbflh7rlipvjgpLooYzjgYTjgb7jgZlcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICDjg5Djg7zjgrjjg6fjg7Pmg4XloLHjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuS9v+OBhOaWuTpcbiIKKyN+ICIgJXMgW+OCquODl+OCt+ODp+ODs10gW+ODleOCoeOCpOODqyAuLi5dXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC0sICAtLW5vLXVuZGVybGluaW5nICBzdXBwcmVzcyBhbGwgdW5kZXJsaW5pbmdcbiIKKyN+ICIgLTIsIC0taGFsZi1saW5lcyAgICAgIHByaW50IGFsbCBoYWxmLWxpbmVzXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtLCAgLS1uby11bmRlcmxpbmluZyAg5LiL57ea44KS5Ye65Yqb44GX44Gq44GE44KI44GG44Gr44GX44G+44GZXG4iCisjfiAiIC0yLCAtLWhhbGYtbGluZXMgICAgICDlhajjgabjga7ljYrmlLnooYzjgpLlh7rlipvjgZnjgovjgojjgYbjgavjgZfjgb7jgZlcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgIOODkOODvOOCuOODp+ODs+aDheWgseOCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAg44GT44Gu44OY44Or44OX44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi44Kq44OX44K344On44OzOlxuIgorI34gIiAtViwgLS12ZXJzaW9uICAg44OQ44O844K444On44Oz5oOF5aCx44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+fCBtc2dpZCAiY2FsbGluZyBoZXhkdW1wIGFzIG9kIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIHRvIEdOVSBjb3JldXRpbHMgb2QuIgorI34gbXNnaWQgImNhbGxpbmcgaGV4ZHVtcCBhcyBvZCBoYXMgYmVlbiBkZXByZWNhdGVkIGluIGZhdm9yIG9mIEdOVSBjb3JldXRpbHMgb2QiCisjfiBtc2dzdHIgIm9kIOOBqOOBl+OBpiAxNiDpgLLmlbDjga7jg4Djg7Pjg5fjgpLkvb/nlKjjgZnjgovmqZ/og73jga/jgIEgR05VIGNvcmV1dGlscyDjga4gb2Qg44Gn5o+Q5L6b44GV44KM44KL44KI44GG44Gr44Gq44KK44G+44GX44Gf44CCIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuOCquODl+OCt+ODp+ODszpcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgIOODkOODvOOCuOODp+ODs+aDheWgseOCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAg44GT44Gu44OY44Or44OX44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHJldigxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuips+OBl+OBj+OBryByZXYoMSkg44KS44GK6Kqt44G/44GP44Gg44GV44GE44CCXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25dIGZpbGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuS9v+OBhOaWuTpcbiIKKyN+ICIgJXMgW+OCquODl+OCt+ODp+ODs10g44OV44Kh44Kk44OrXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLW4sIC0tbGluZXMgTlVNQkVSICBvdXRwdXQgdGhlIGxhc3QgTlVNQkVSIGxpbmVzXG4iCisjfiAiIC1OVU1CRVIgICAgICAgICAgICAgc2FtZSBhcyBgLW4gTlVNQkVSJ1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuOCquODl+OCt+ODp+ODszpcbiIKKyN+ICIgLW4sIC0tbGluZXMgPOaVsOWApD4gIOaMh+WumuOBl+OBn+ihjOaVsOWIhuOBruacq+WwvuOCkuihqOekuuOBl+OBvuOBmVxuIgorI34gIiAtPOaVsOWApD4gICAgICAgICAgICAgYC1uIDzmlbDlgKQ+JyDjgajlkIzjgZjmhI/lkbPjgafjgZlcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICDjg5Djg7zjgrjjg6fjg7Pmg4XloLHjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIndhaWRwaWQgZmFpbGVkIgorI34gbXNnc3RyICJ3YWl0cGlkIOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgIiAteCwgLS1kZXN0aW5hdGlvbiA8ZGlyPiAgZXh0cmFjdCBpbnRvIGRpcmVjdG9yeVxuIgorI34gbXNnc3RyICIgLXgsIC0tZGVzdGluYXRpb24gPOODh+OCo+ODrOOCr+ODiOODqj4g44OH44Kj44Os44Kv44OI44Oq5YaF44Gr5bGV6ZaL44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICJjb21waWxlZCB3aXRob3V0IC14IHN1cHBvcnQiCisjfiBtc2dzdHIgIi14IOOCteODneODvOODiOOBquOBl+OBp+OCs+ODs+ODkeOCpOODq+OBleOCjOOBpuOBhOOBvuOBmSIKKworI34gbXNnaWQgIiVzOiBPdXQgb2YgbWVtb3J5IVxuIgorI34gbXNnc3RyICIlczog44Oh44Oi44Oq44GM6Laz44KK44G+44Gb44KT77yBXG4iCisKKyN+IG1zZ2lkICJVbnVzYWJsZSIKKyN+IG1zZ3N0ciAi5L2/55So5LiN5Y+vIgorCisjfiBtc2dpZCAid3JpdGUgZmFpbGVkXG4iCisjfiBtc2dzdHIgIuabuOOBjei+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBn1xuIgorCisjfiBtc2dpZCAiRGlzayBoYXMgYmVlbiBjaGFuZ2VkLlxuIgorI34gbXNnc3RyICLjg4fjgqPjgrnjgq/jgYzlpInmm7TjgZXjgozjgb7jgZfjgZ/jgIJcbiIKKworI34gbXNnaWQgIlJlYm9vdCB0aGUgc3lzdGVtIHRvIGVuc3VyZSB0aGUgcGFydGl0aW9uIHRhYmxlIGlzIGNvcnJlY3RseSB1cGRhdGVkLlxuIgorI34gbXNnc3RyICLpoJjln5/mg4XloLHjgpLmraPjgZfjgY/mm7TmlrDjgZXjgZvjgovjgavjga/jgIHjgrfjgrnjg4bjg6DjgpLlho3otbfli5XjgZfjgabjgY/jgaDjgZXjgYTjgIJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueVxuIgorI34gIkRPUyA2LnggcGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgY2ZkaXNrIG1hbnVhbFxuIgorI34gInBhZ2UgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLorablkYo6IERPUyA2Lngg6aCY5Z+f44KS5L2c5oiQ44CB44G+44Gf44Gv5aSJ5pu044GX44Gm44GXXG4iCisjfiAi44G+44Gj44Gf5aC05ZCI44Gv44CBY2ZkaXNrIOODnuODi+ODpeOCouODq+OBq+OBguOCi+i/veWKoOaDheWgseODmuODvOOCuFxuIgorI34gIuOCkuWPgueFp+OBl+OBpuOBj+OBoOOBleOBhOOAglxuIgorCisjfiBtc2dpZCAiRkFUQUwgRVJST1IiCisjfiBtc2dzdHIgIuiHtOWRveeahOOBquOCqOODqeODvCIKKworI34gbXNnaWQgIlByZXNzIGFueSBrZXkgdG8gZXhpdCBjZmRpc2siCisjfiBtc2dzdHIgImNmZGlzayDjgpLntYLkuobjgZnjgovjgavjga/jgIHkvZXjgYvjgq3jg7zjgpLmirzjgZfjgabjgY/jgaDjgZXjgYQiCisKKyN+IG1zZ2lkICJDYW5ub3Qgc2VlayBvbiBkaXNrIGRyaXZlIgorI34gbXNnc3RyICLjg4fjgqPjgrnjgq/jg4njg6njgqTjg5bkuIrjgacgc2VlayDjgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJDYW5ub3QgcmVhZCBkaXNrIGRyaXZlIgorI34gbXNnc3RyICLjg4fjgqPjgrnjgq/jg4njg6njgqTjg5bjgpLoqq3jgb/ovrzjgoHjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJDYW5ub3Qgd3JpdGUgZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAi44OH44Kj44K544Kv44OJ44Op44Kk44OW44Gr5pu444GN6L6844KB44G+44Gb44KTIgorCisjfiBtc2dpZCAiVG9vIG1hbnkgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44GM5aSa44GZ44GO44G+44GZIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGJlZ2lucyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBrumWi+Wni+S9jee9ruOBjCAwIOOCu+OCr+OCv+OCiOOCiuOCguWJjeOBq+OBquOBo+OBpuOBhOOBvuOBmSIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGJlZm9yZSBzZWN0b3IgMCIKKyN+IG1zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44Gu57WC5LqG5L2N572u44GMIDAg44K744Kv44K/44KI44KK44KC5YmN44Gr44Gq44Gj44Gm44GE44G+44GZIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGJlZ2lucyBhZnRlciBlbmQtb2YtZGlzayIKKyN+IG1zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44Gu6ZaL5aeL5L2N572u44GM44OH44Kj44K544Kv44Gu57WC44KP44KK44KI44KK44KC5b6M44Gr44Gq44Gj44Gm44GE44G+44GZIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGVuZHMgYWZ0ZXIgZW5kLW9mLWRpc2siCisjfiBtc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBrue1guS6huS9jee9ruOBjOODh+OCo+OCueOCr+OBrue1guOCj+OCiuOCiOOCiuOCguW+jOOBq+OBquOBo+OBpuOBhOOBvuOBmSIKKworI34gbXNnaWQgImxvZ2ljYWwgcGFydGl0aW9ucyBub3QgaW4gZGlzayBvcmRlciIKKyN+IG1zZ3N0ciAi6KuW55CG44OR44O844OG44Kj44K344On44Oz44GM44OH44Kj44K544Kv44Gu6aCG5bqP44Go5ZCI44Gj44Gm44GE44G+44Gb44KTIgorCisjfiBtc2dpZCAibG9naWNhbCBwYXJ0aXRpb25zIG92ZXJsYXAiCisjfiBtc2dzdHIgIuirlueQhuODkeODvOODhuOCo+OCt+ODp+ODs+OBjOmHjeikh+OBl+OBpuOBhOOBvuOBmSIKKworI34gbXNnaWQgImVubGFyZ2VkIGxvZ2ljYWwgcGFydGl0aW9ucyBvdmVybGFwIgorI34gbXNnc3RyICLmi6HlpKfjgZXjgozjgZ/oq5bnkIbjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzph43opIfjgZfjgabjgYTjgb7jgZkiCisKKyN+IG1zZ2lkICIhISEhIEludGVybmFsIGVycm9yIGNyZWF0aW5nIGxvZ2ljYWwgZHJpdmUgd2l0aCBubyBleHRlbmRlZCBwYXJ0aXRpb24gISEhISIKKyN+IG1zZ3N0ciAiISEhISDlhoXpg6jjgqjjg6njg7zjgILmi6HlvLXjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzlrZjlnKjjgZfjgarjgYTjga7jgavjgIHoq5bnkIbjg4njg6njgqTjg5bjgpLkvZzmiJDjgZfjgabjgYTjgb7jgZkgISEhISIKKworI34gbXNnaWQgIkNhbm5vdCBjcmVhdGUgbG9naWNhbCBkcml2ZSBoZXJlIC0tIHdvdWxkIGNyZWF0ZSB0d28gZXh0ZW5kZWQgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAi44GT44GT44Gr44Gv6KuW55CG44OJ44Op44Kk44OW44KS5L2c5oiQ44Gn44GN44G+44Gb44KTIC0tIDIg44Gk44Gu5ouh5by16aCY5Z+f44Gn44GC44KM44Gw5L2c5oiQ44GX44G+44GZIgorCisjfiBtc2dpZCAiTWVudSBpdGVtIHRvbyBsb25nLiBNZW51IG1heSBsb29rIG9kZC4iCisjfiBtc2dzdHIgIuODoeODi+ODpeODvOmgheebruWQjeOBjOmVt+OBmeOBjuOBvuOBmeOAguODoeODi+ODpeODvOihqOekuuOBjOS5seOCjOOBpuOBhOOCi+WPr+iDveaAp+OBjOOBguOCiuOBvuOBmeOAgiIKKworI34gbXNnaWQgIklsbGVnYWwga2V5IgorI34gbXNnc3RyICLkuI3mraPjgarjgq3jg7wiCisKKyN+IG1zZ2lkICJDcmVhdGUgYSBuZXcgcHJpbWFyeSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIuaWsOOBl+OBhOWfuuacrOODkeODvOODhuOCo+OCt+ODp+ODs+OCkuS9nOaIkOOBl+OBvuOBmSIKKworI34gbXNnaWQgIkNyZWF0ZSBhIG5ldyBsb2dpY2FsIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAi5paw44GX44GE6KuW55CG44OR44O844OG44Kj44K344On44Oz44KS5L2c5oiQ44GX44G+44GZIgorCisjfiBtc2dpZCAiQ2FuY2VsIgorI34gbXNnc3RyICLkuK3mraIiCisKKyN+IG1zZ2lkICJEb24ndCBjcmVhdGUgYSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIumgmOWfn+OCkuS9nOaIkOOBl+OBvuOBm+OCkyIKKworI34gbXNnaWQgIiEhISBJbnRlcm5hbCBlcnJvciAhISEiCisjfiBtc2dzdHIgIiEhISDlhoXpg6jjgqjjg6njg7wgISEhIgorCisjfiBtc2dpZCAiU2l6ZSAoaW4gTUIpOiAiCisjfiBtc2dzdHIgIuOCteOCpOOCuiAoTUIg5Y2Y5L2NKTogIgorCisjfiBtc2dpZCAiQmVnaW5uaW5nIgorI34gbXNnc3RyICLmnIDliJ3jgYvjgokiCisKKyN+IG1zZ2lkICJBZGQgcGFydGl0aW9uIGF0IGJlZ2lubmluZyBvZiBmcmVlIHNwYWNlIgorI34gbXNnc3RyICLnqbrjgY3poJjln5/jga7mnIDliJ3jgavpoJjln5/jgpLov73liqAiCisKKyN+IG1zZ2lkICJBZGQgcGFydGl0aW9uIGF0IGVuZCBvZiBmcmVlIHNwYWNlIgorI34gbXNnc3RyICLnqbrjgY3poJjln5/jga7mnIDlvozjgavpoJjln5/jgpLov73liqAiCisKKyN+IG1zZ2lkICJObyByb29tIHRvIGNyZWF0ZSB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICLmi6HlvLXjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLkvZzmiJDjgZnjgovjgZ/jgoHjga7poJjln5/jgYzjgYLjgorjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJObyBwYXJ0aXRpb24gdGFibGUuIFN0YXJ0aW5nIHdpdGggemVybyB0YWJsZS4iCisjfiBtc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+ODhuODvOODluODq+OBjOOBguOCiuOBvuOBm+OCk+OAguS9leOCguOBquOBhOeKtuaFi+OBp+mWi+Wni+OBl+OBvuOBmeOAgiIKKworI34gbXNnaWQgIkJhZCBzaWduYXR1cmUgb24gcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjg4bjg7zjg5bjg6vjga7nvbLlkI3jgYzkuI3mraPjgafjgZkiCisKKyN+IG1zZ2lkICJVbmtub3duIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorI34gbXNnc3RyICLkuI3mmI7jgarjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjg4bjg7zjg5bjg6vjga7jgr/jgqTjg5ciCisKKyN+IG1zZ2lkICJEbyB5b3Ugd2lzaCB0byBzdGFydCB3aXRoIGEgemVybyB0YWJsZSBbeS9OXSA/IgorI34gbXNnc3RyICLkvZXjgoLjgarjgYTnirbmhYvjgafplovlp4vjgZfjgb7jgZnjgYsgW3kvTl0gPyIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIuODh+OCo+OCueOCr+ODieODqeOCpOODluOCkumWi+OBj+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgIk9wZW5lZCBkaXNrIHJlYWQtb25seSAtIHlvdSBoYXZlIG5vIHBlcm1pc3Npb24gdG8gd3JpdGUiCisjfiBtc2dzdHIgIuODh+OCo+OCueOCr+OCkuiqreOBv+i+vOOBv+WwgueUqOOBp+mWi+OBjeOBvuOBl+OBnyAtIOabuOOBjei+vOOBv+aoqemZkOOBjOOBguOCiuOBvuOBm+OCkyIKKworI34gbXNnaWQgIkNhbm5vdCBnZXQgZGlzayBzaXplIgorI34gbXNnc3RyICLjg4fjgqPjgrnjgq/jga7jgrXjgqTjgrrjgpLlj5blvpfjgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJCYWQgcHJpbWFyeSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIuS4jeato+OBquWfuuacrOODkeODvOODhuOCo+OCt+ODp+ODsyIKKworI34gbXNnaWQgIldhcm5pbmchISAgVGhpcyBtYXkgZGVzdHJveSBkYXRhIG9uIHlvdXIgZGlzayEiCisjfiBtc2dzdHIgIuitpuWRiiEhIOOBk+OBruWHpueQhuOBq+OCiOOCiuOAgeODh+OCo+OCueOCr+S4iuOBruODh+ODvOOCv+OCkuegtOWjiuOBmeOCi+WPr+iDveaAp+OBjOOBguOCiuOBvuOBmSEiCisKKyN+IG1zZ2lkICJQbGVhc2UgZW50ZXIgYHllcycgb3IgYG5vJyIKKyN+IG1zZ3N0ciAiYHllcycg44GLIGBubycg44Gu44GE44Ga44KM44GL44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEIgorCisjfiBtc2dpZCAiV3JpdGluZyBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4uLiIKKyN+IG1zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz5oOF5aCx44KS5pu444GN6L6844KT44Gn44GE44G+44GZLi4uIgorCisjfiBtc2dpZCAiV3JvdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2siCisjfiBtc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOCkuODh+OCo+OCueOCr+OBq+abuOOBjei+vOOBv+OBvuOBl+OBnyIKKworI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSwgYnV0IHJlLXJlYWQgdGFibGUgZmFpbGVkLiAgUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB0byB1cGRhdGUgdGFibGUuIgorI34gbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgpLmm7jjgY3ovrzjgb/jgb7jgZfjgZ/jgYzjgIHlho3oqq3jgb/ovrzjgb/jgavlpLHmlZfjgZfjgb7jgZfjgZ/jgIIgcGFydHByb2JlKDgpIOOBvuOBn+OBryBrcGFydHgoOCkg44KS5a6f6KGM44GZ44KL44GL44CB44K344K544OG44Og44KS5YaN6LW35YuV44GX44Gm44OR44O844OG44Kj44K344On44Oz5oOF5aCx44KS6Kqt44G/6L6844G/55u044GX44Gm44GP44Gg44GV44GE44CCIgorCisjfiBtc2dpZCAiTm8gcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBtYXJrZWQgYm9vdGFibGUuIERPUyBNQlIgY2Fubm90IGJvb3QgdGhpcy4iCisjfiBtc2dzdHIgIuOBhOOBmuOCjOOBruODkeODvOODhuOCo+OCt+ODp+ODs+OBq+OCgui1t+WLleWPr+iDveODleODqeOCsOOBjOioreWumuOBleOCjOOBpuOBhOOBvuOBm+OCk+OAgiBET1MgTUJSIOOBp+OBr+OAgeOBk+OBruODh+OCo+OCueOCr+OBi+OCiei1t+WLleOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCk+OAgiIKKworI34gbXNnaWQgIk1vcmUgdGhhbiBvbmUgcHJpbWFyeSBwYXJ0aXRpb24gaXMgbWFya2VkIGJvb3RhYmxlLiBET1MgTUJSIGNhbm5vdCBib290IHRoaXMuIgorI34gbXNnc3RyICLopIfmlbDjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjgavlr77jgZfjgabotbfli5Xlj6/og73jg5Xjg6njgrDjgYzoqK3lrprjgZXjgozjgabjgYTjgb7jgZnjgIIgRE9TIE1CUiDjgafjga/jgIHjgZPjga7jg4fjgqPjgrnjgq/jgYvjgonotbfli5XjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZvjgpPjgIIiCisKKyN+IG1zZ2lkICJFbnRlciBmaWxlbmFtZSBvciBwcmVzcyBSRVRVUk4gdG8gZGlzcGxheSBvbiBzY3JlZW46ICIKKyN+IG1zZ3N0ciAi44OV44Kh44Kk44Or5ZCN44KS5YWl5Yqb44GZ44KL44GL44CBIFJFVFVSTiDjgpLmirzjgZfjgabnlLvpnaLkuIrjgavooajnpLrjgZXjgZvjgabjgY/jgaDjgZXjgYQ6ICIKKworI34gbXNnaWQgIkRpc2sgRHJpdmU6ICVzXG4iCisjfiBtc2dzdHIgIuODh+OCo+OCueOCr+ODieODqeOCpOODljogJXNcbiIKKworI34gbXNnaWQgIlNlY3RvciAwOlxuIgorI34gbXNnc3RyICLjgrvjgq/jgr8gMDpcbiIKKworI34gbXNnaWQgIlNlY3RvciAlZDpcbiIKKyN+IG1zZ3N0ciAi44K744Kv44K/ICVkOlxuIgorCisjfiBtc2dpZCAiICAgTm9uZSAgICIKKyN+IG1zZ3N0ciAiICAg54Sh44GXICAgIgorCisjfiBtc2dpZCAiICAgUHJpL0xvZyIKKyN+IG1zZ3N0ciAiICAg5Z+65pysL+irlueQhiIKKworI34gbXNnaWQgIiAgIFByaW1hcnkiCisjfiBtc2dzdHIgIiAgIOWfuuacrCIKKworI34gbXNnaWQgIiAgIExvZ2ljYWwiCisjfiBtc2dzdHIgIiAgIOirlueQhiIKKworI34gbXNnaWQgIiglMDJYKSIKKyN+IG1zZ3N0ciAiKCUwMlgpIgorCisjfiBtc2dpZCAiTm9uZSIKKyN+IG1zZ3N0ciAiTm9uZSIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBUYWJsZSBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAiJXMg44Gu44OR44O844OG44Kj44K344On44Oz5oOF5aCxXG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICBGaXJzdCAgICAgICBMYXN0XG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgIOacgOWInSAgICAgIOacgOW+jFxuIgorCisjfiBtc2dpZCAiICMgVHlwZSAgICAgICBTZWN0b3IgICAgICBTZWN0b3IgICBPZmZzZXQgICAgTGVuZ3RoICAgRmlsZXN5c3RlbSBUeXBlIChJRCkgRmxhZ1xuIgorI34gbXNnc3RyICIgIyDpoJjln58gICAgICAg44K744Kv44K/ICAgIOOCu+OCr+OCvyDjgqrjg5Xjgrvjg4Pjg4ggICAg5aSn44GN44GVICAg44OV44Kh44Kk44Or44K344K544OG44OgKElEKSDjg5Xjg6njgrBcbiIKKworI34gbXNnaWQgIiAgICAgICAgIC0tLVN0YXJ0aW5nLS0tLSAgICAgIC0tLS1FbmRpbmctLS0tLSAgICBTdGFydCAgICAgTnVtYmVyIG9mXG4iCisjfiBtc2dzdHIgIiAgICAgICAgIC0tLS3mnIDliJ3jga4tLS0tLSAgICAgIC0tLS3mnIDlvozjga4tLS0tLSAgICDplovlp4tcbiIKKworI34gbXNnaWQgIiAjIEZsYWdzIEhlYWQgU2VjdCAgQ3lsICAgSUQgIEhlYWQgU2VjdCAgQ3lsICAgICBTZWN0b3IgICAgU2VjdG9yc1xuIgorI34gbXNnc3RyICIgIyBGbGFncyBIZWFkIFNlY3QgIEN5bCAgIElEICBIZWFkIFNlY3QgIEN5bCDjgrvjgq/jgr/nlarlj7cgICDjgrvjgq/jgr/mlbBcbiIKKworI34gbXNnaWQgIlJhdyIKKyN+IG1zZ3N0ciAi55Sf44OH44O844K/IgorCisjfiBtc2dpZCAiUHJpbnQgdGhlIHRhYmxlIHVzaW5nIHJhdyBkYXRhIGZvcm1hdCIKKyN+IG1zZ3N0ciAi55Sf44OH44O844K/44Gu5b2i5byP44Gn44OR44O844OG44Kj44K344On44Oz5oOF5aCx44KS5Ye65Yqb44GX44G+44GZIgorCisjfiBtc2dpZCAiUHJpbnQgdGhlIHRhYmxlIG9yZGVyZWQgYnkgc2VjdG9ycyIKKyN+IG1zZ3N0ciAi44K744Kv44K/6aCG44Gr44OR44O844OG44Kj44K344On44Oz5oOF5aCx44KS5Ye65Yqb44GX44G+44GZIgorCisjfiBtc2dpZCAiVGFibGUiCisjfiBtc2dzdHIgIuODhuODvOODluODqyIKKworI34gbXNnaWQgIkp1c3QgcHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz5oOF5aCx44Gg44GR44KS6KGo56S644GX44G+44GZIgorCisjfiBtc2dpZCAiRG9uJ3QgcHJpbnQgdGhlIHRhYmxlIgorI34gbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgpLlh7rlipvjgZfjgarjgYQiCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMTk5OSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIiCisjfiBtc2dzdHIgIkNvcHlyaWdodCAoQykgMTk5NC0xOTk5IEtldmluIEUuIE1hcnRpbiAmIGFlYiIKKworI34gbXNnaWQgIiAgZyAgICAgICAgICBDaGFuZ2UgY3lsaW5kZXJzLCBoZWFkcywgc2VjdG9ycy1wZXItdHJhY2sgcGFyYW1ldGVycyIKKyN+IG1zZ3N0ciAiICBnICAgICAgICAgIOOCt+ODquODs+ODgO+8j+ODmOODg+ODie+8j+ODiOODqeODg+OCr+OBguOBn+OCiuOBruOCu+OCr+OCv+aVsOOCkuWkieabtOOBl+OBvuOBmSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBXQVJOSU5HOiBUaGlzIG9wdGlvbiBzaG91bGQgb25seSBiZSB1c2VkIGJ5IHBlb3BsZSB3aG8iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICDorablkYo6IOOBk+OBruOCquODl+OCt+ODp+ODs+OBr+OAgeODh+OCo+OCueOCr+OBq+mWouOBmeOCi+ips+OBl+OBhOefpeitmOOCkiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBrbm93IHdoYXQgdGhleSBhcmUgZG9pbmcuIgorI34gbXNnc3RyICIgICAgICAgICAgICAg44GK5oyB44Gh44Gu5pa544Gu44G/44GU5Yip55So44GP44Gg44GV44GE44CCIgorCisjfiBtc2dpZCAiICBtICAgICAgICAgIE1heGltaXplIGRpc2sgdXNhZ2Ugb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorI34gbXNnc3RyICIgIG0gICAgICAgICAg44Kr44O844K944Or5LiK44Gu44OR44O844OG44Kj44K344On44Oz44Gu44OH44Kj44K544Kv5L2/55So44KS5pyA5aSn5YyW44GZ44KLIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIE5vdGU6IFRoaXMgbWF5IG1ha2UgdGhlIHBhcnRpdGlvbiBpbmNvbXBhdGlibGUgd2l0aCIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIOazqOaEjzog44GT44Gu44Kq44OX44K344On44Oz44Gv44CBRE9TLCBPUy8yIOetieOBqOS6kuaPm+aAp+OBruOBquOBhCIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBET1MsIE9TLzIsIC4uLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIOmgmOWfn+OCkuS9nOaIkOOBmeOCi+WPr+iDveaAp+OBjOOBguOCiuOBvuOBmeOAgiIKKworI34gbXNnaWQgIiAgcCAgICAgICAgICBQcmludCBwYXJ0aXRpb24gdGFibGUgdG8gdGhlIHNjcmVlbiBvciB0byBhIGZpbGUiCisjfiBtc2dzdHIgIiAgcCAgICAgICAgICDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgpLnlLvpnaLjgb7jgZ/jga/jg4fjgqPjgrnjgq/jgavlh7rlipvjgZfjgb7jgZkiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgVGhlcmUgYXJlIHNldmVyYWwgZGlmZmVyZW50IGZvcm1hdHMgZm9yIHRoZSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjga7lh7rlipvjgafjga/jgIHkuIvoqJjjga7lvaLlvI/jgpLmjIflrprjgZnjgosiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgdGhhdCB5b3UgY2FuIGNob29zZSBmcm9tOiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIOOBk+OBqOOBjOOBp+OBjeOBvuOBmToiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgciAtIFJhdyBkYXRhIChleGFjdGx5IHdoYXQgd291bGQgYmUgd3JpdHRlbiB0byBkaXNrKSIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHIgLSDnlJ/jg4fjg7zjgr8gKOODh+OCo+OCueOCr+OBq+abuOOBjei+vOOBvuOCjOOCi+aDheWgseOBneOBruOCguOBrikiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgcyAtIFRhYmxlIG9yZGVyZWQgYnkgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSDjgrvjgq/jgr/poIbjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLEiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgdCAtIFRhYmxlIGluIHJhdyBmb3JtYXQiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICB0IC0g55Sf44Gu5b2i5byP44Gu44OR44O844OG44Kj44K344On44Oz5oOF5aCxIgorCisjfiBtc2dpZCAiICB1ICAgICAgICAgIENoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSIKKyN+IG1zZ3N0ciAiICB1ICAgICAgICAgIOihqOekuuOBmeOCi+mgmOWfn+OCteOCpOOCuuOBruWNmOS9jeOCkuWkieabtOOBl+OBvuOBmSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBSb3RhdGVzIHRocm91Z2ggTUIsIHNlY3RvcnMgYW5kIGN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIE1CLCDjgrvjgq/jgr8sIOOCt+ODquODs+ODgOOBrumghuOBq+WIh+OCiuabv+OBiOOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmSIKKworI34gbXNnaWQgIkNUUkwtTCAgICAgICBSZWRyYXdzIHRoZSBzY3JlZW4iCisjfiBtc2dzdHIgIkNUUkwtTCAgICAgICDnlLvpnaLjgpLlho3mj4/nlLvjgZfjgb7jgZkiCisKKyN+IG1zZ2lkICIgID8gICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCisjfiBtc2dzdHIgIiAgPyAgICAgICAgICDjgZPjga7nlLvpnaLjgpLooajnpLrjgZfjgb7jgZkiCisKKyN+IG1zZ2lkICJDaGFuZ2UgY3lsaW5kZXIgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIuOCt+ODquODs+ODgOOBruOCuOOCquODoeODiOODquOCkuWkieabtOOBl+OBvuOBmSIKKworI34gbXNnaWQgIkNoYW5nZSBoZWFkIGdlb21ldHJ5IgorI34gbXNnc3RyICLjg5jjg4Pjg4njga7jgrjjgqrjg6Hjg4jjg6rjgpLlpInmm7TjgZfjgb7jgZkiCisKKyN+IG1zZ2lkICJDaGFuZ2Ugc2VjdG9yIGdlb21ldHJ5IgorI34gbXNnc3RyICLjgrvjgq/jgr/jga7jgrjjgqrjg6Hjg4jjg6rjgpLlpInmm7TjgZfjgb7jgZkiCisKKyN+IG1zZ2lkICJEb25lIHdpdGggY2hhbmdpbmcgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIuOCuOOCquODoeODiOODquOCkuWkieabtOOBl+OBpue1guS6huOBl+OBvuOBmSIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzOiAiCisjfiBtc2dzdHIgIuOCt+ODquODs+ODgOaVsOOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhDogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBjeWxpbmRlcnMgdmFsdWUiCisjfiBtc2dzdHIgIuOCt+ODquODs+ODgOaVsOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2YgaGVhZHM6ICIKKyN+IG1zZ3N0ciAi44OY44OD44OJ5pWw44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEOiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGhlYWRzIHZhbHVlIgorI34gbXNnc3RyICLjg5jjg4Pjg4nmlbAiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrOiAiCisjfiBtc2dzdHIgIjEg44OI44Op44OD44Kv44GC44Gf44KK44Gu44K744Kv44K/5pWw44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEOiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIHNlY3RvcnMgdmFsdWUiCisjfiBtc2dzdHIgIuOCu+OCr+OCv+aVsOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworI34gbXNnaWQgIkVudGVyIGZpbGVzeXN0ZW0gdHlwZTogIgorI34gbXNnc3RyICLjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga7jgr/jgqTjg5fjgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYQ6ICIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgRlMgVHlwZSB0byBlbXB0eSIKKyN+IG1zZ3N0ciAi44OV44Kh44Kk44Or44K344K544OG44Og44K/44Kk44OX44KS56m644Gr5aSJ5pu044Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSBGUyBUeXBlIHRvIGV4dGVuZGVkIgorI34gbXNnc3RyICLjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djgr/jgqTjg5fjgpLmi6HlvLXjgavlpInmm7TjgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJVbmsoJTAyWCkiCisjfiBtc2dzdHIgIuS4jeaYjiglMDJYKSIKKworI34gbXNnaWQgIiwgTkMiCisjfiBtc2dzdHIgIiwgTkMiCisKKyN+IG1zZ2lkICJOQyIKKyN+IG1zZ3N0ciAiTkMiCisKKyN+IG1zZ2lkICJQcmkvTG9nIgorI34gbXNnc3RyICLln7rmnKwv6KuW55CGIgorCisjfiBtc2dpZCAiVW5rbm93biAoJTAyWCkiCisjfiBtc2dzdHIgIuS4jeaYjiAoJTAyWCkiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlcyIKKyN+IG1zZ3N0ciAi44OH44Kj44K544Kv44OJ44Op44Kk44OWOiAlcyIKKworI34gbXNnaWQgIlNpemU6ICVsbGQgYnl0ZXMsICVsbGQgTUIiCisjfiBtc2dzdHIgIuOCteOCpOOCujogJWxsZCDjg5DjgqTjg4gsICVsbGQgTUIiCisKKyN+IG1zZ2lkICJTaXplOiAlbGxkIGJ5dGVzLCAlbGxkLiVsbGQgR0IiCisjfiBtc2dzdHIgIuOCteOCpOOCujogJWxsZCDjg5DjgqTjg4guICVsbGQuJWxsZCBHQiIKKworI34gbXNnaWQgIkhlYWRzOiAlZCAgIFNlY3RvcnMgcGVyIFRyYWNrOiAlZCAgIEN5bGluZGVyczogJWxsZCIKKyN+IG1zZ3N0ciAi44OY44OD44OJ5pWwOiAlZCAgIOODiOODqeODg+OCr+OBguOBn+OCiuOBruOCu+OCr+OCv+aVsDogJWQgICDjgrfjg6rjg7Pjg4DmlbA6ICVsbGQiCisKKyN+IG1zZ2lkICJQYXJ0IFR5cGUiCisjfiBtc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OCv+OCpOODlyIKKworI34gbXNnaWQgIkZTIFR5cGUiCisjfiBtc2dzdHIgIkZTIOOCv+OCpOODlyIKKworI34gbXNnaWQgIltMYWJlbF0iCisjfiBtc2dzdHIgIlvjg6njg5njg6tdIgorCisjfiBtc2dpZCAiICAgIFNlY3RvcnMiCisjfiBtc2dzdHIgIiAgICDjgrvjgq/jgr8gIgorCisjfiBtc2dpZCAiICBDeWxpbmRlcnMiCisjfiBtc2dzdHIgIiAg44K344Oq44Oz44OAICIKKworI34gbXNnaWQgIiAgU2l6ZSAoTUIpIgorI34gbXNnc3RyICIg44K144Kk44K6KE1CKSIKKworI34gbXNnaWQgIiAgU2l6ZSAoR0IpIgorI34gbXNnc3RyICIg44K144Kk44K6KEdCKSIKKworI34gbXNnaWQgIk5vIG1vcmUgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAi44GT44KM5Lul5LiK44Gu44OR44O844OG44Kj44K344On44Oz44Gv44GC44KK44G+44Gb44KTIgorCisjfiBtc2dpZCAiQ2hhbmdlIGRpc2sgZ2VvbWV0cnkgKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIuODh+OCo+OCueOCr+OCuOOCquODoeODiOODquOCkuWkieabtOOBl+OBvuOBmSAo54af57e06ICF5ZCR44GRKSIKKworI34gbXNnaWQgIk1heGltaXplIgorI34gbXNnc3RyICLmnIDlpKfljJYiCisKKyN+IG1zZ2lkICJNYXhpbWl6ZSBkaXNrIHVzYWdlIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiAoZXhwZXJ0cyBvbmx5KSIKKyN+IG1zZ3N0ciAi44Kr44O844K944Or5LiK44Gu44OR44O844OG44Kj44K344On44Oz44Gr5a++44GX44CB44OH44Kj44K544Kv5L2/55So6YeP44KS5pyA5aSn5YyW44GX44G+44GZICjnhp/nt7TogIXnlKgpIgorCisjfiBtc2dpZCAiUHJpbnQiCisjfiBtc2dzdHIgIuihqOekuiIKKworI34gbXNnaWQgIkNoYW5nZSB0aGUgZmlsZXN5c3RlbSB0eXBlIChET1MsIExpbnV4LCBPUy8yIGFuZCBzbyBvbikiCisjfiBtc2dzdHIgIuODleOCoeOCpOODq+OCt+OCueODhuODoOOBruOCv+OCpOODl+OCkuWkieabtOOBmeOCiyAoRE9TLCBMaW51eCwgT1MvMiDjgarjgakpIgorCisjfiBtc2dpZCAiVW5pdHMiCisjfiBtc2dzdHIgIuWNmOS9jSIKKworI34gbXNnaWQgIkNoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSAoTUIsIHNlY3QsIGN5bCkiCisjfiBtc2dzdHIgIuihqOekuuOBmeOCi+ODkeODvOODhuOCo+OCt+ODp+ODs+OCteOCpOOCuuOBruWNmOS9jSAoTUIsIOOCu+OCr+OCvywg44K344Oq44Oz44OAKSDjgpLlpInmm7TjgZfjgb7jgZkiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWFrZSB0aGlzIHBhcnRpdGlvbiBib290YWJsZSIKKyN+IG1zZ3N0ciAi44GT44Gu44OR44O844OG44Kj44K344On44Oz44KS6LW35YuV5Y+v6IO944Gr44GZ44KL44GT44Go44Gv44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAiQ2Fubm90IGRlbGV0ZSBhbiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIuepuuOBruODkeODvOODhuOCo+OCt+ODp+ODs+OCkuWJiumZpOOBmeOCi+OBk+OBqOOBr+OBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgIkNhbm5vdCBtYXhpbWl6ZSB0aGlzIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAi44GT44Gu44OR44O844OG44Kj44K344On44Oz44KS5pyA5aSn5YyW44GZ44KL44GT44Go44Gv44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAiVGhpcyBwYXJ0aXRpb24gaXMgdW51c2FibGUiCisjfiBtc2dzdHIgIuOBk+OBruODkeODvOODhuOCo+OCt+ODp+ODs+OBr+S9v+eUqOOBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgIlRoaXMgcGFydGl0aW9uIGlzIGFscmVhZHkgaW4gdXNlIgorI34gbXNnc3RyICLjgZPjga7jg4fjgqPjgrnjgq/jga/nj77lnKjkvb/nlKjkuK3jgafjgZnjgIIiCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIHRoZSB0eXBlIG9mIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAi56m644Gu44OR44O844OG44Kj44K344On44Oz44Gu44K/44Kk44OX44KS5aSJ5pu044GZ44KL44GT44Go44Gv44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAiQ29weXJpZ2h0IChDKSAxOTk0LTIwMDIgS2V2aW4gRS4gTWFydGluICYgYWViXG4iCisjfiBtc2dzdHIgIkNvcHlyaWdodCAoQykgMTk5NC0yMDAyIEtldmluIEUuIE1hcnRpbiAmIGFlYlxuIgorCisjfiBtc2dpZCAiIC1oLCAtLWhlYWRzIDxudW1iZXI+ICAgICAgc2V0IHRoZSBudW1iZXIgb2YgaGVhZHMgdG8gdXNlXG4iCisjfiBtc2dzdHIgIiAtaCwgLS1oZWFkcyA85pWw5YCkPiAgICAg5Yip55So44GZ44KL44OY44OD44OJ44Gu5pWw44KS44K744OD44OI44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICIgLWcsIC0tZ3Vlc3MgICAgICAgICAgICAgICBndWVzcyBhIGdlb21ldHJ5IGZyb20gcGFydGl0aW9uIHRhYmxlXG4iCisjfiBtc2dzdHIgIiAtZywgLS1ndWVzcyAgICAgICAgICAgIOODkeODvOODhuOCo+OCt+ODp+ODs+ODhuODvOODluODq+OBi+OCieOCuOOCquODoeODiOODquOCkuaOqOa4rOOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIC1QLCAtLXByaW50IDxyfHN8dD4gICAgICAgcHJpbnQgcGFydGl0aW9uIHRhYmxlIGluIHNwZWNpZmllZCBmb3JtYXRcbiIKKyN+IG1zZ3N0ciAiIC1QLCAtLXByaW50IDxyfHN8dD4gICAg5oyH5a6a44GX44Gf5b2i5byP44Gn44OR44O844OG44Kj44K344On44Oz44OG44O844OW44Or44KS5Ye65Yqb44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICIgLWEsIC0tYXJyb3cgICAgICAgICAgICAgICB1c2UgYXJyb3cgZm9yIGhpZ2hsaWdodGluZyB0aGUgY3VycmVudCBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiIC1hLCAtLWFycm93ICAgICAgICAgICAg55+i5Y2w44KS5L2/44Gj44Gm54++5Zyo44Gu44OR44O844OG44Kj44K344On44Oz44KS5by36Kq/44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgbnVtYmVyIG9mIGN5bGluZGVycyIKKyN+IG1zZ3N0ciAi44K344Oq44Oz44OA5pWw44KS5Yem55CG44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBoZWFkcyIKKyN+IG1zZ3N0ciAi44OY44OD44OJ5pWw44KS5Yem55CG44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBzZWN0b3JzIgorI34gbXNnc3RyICLjgrvjgq/jgr/mlbDjgpLlh6bnkIbjgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICIgLWIgPHNpemU+ICAgICAgICAgc2VjdG9yIHNpemUgKDUxMiwgMTAyNCwgMjA0OCBvciA0MDk2KVxuIgorI34gbXNnc3RyICIgLWIgPOOCteOCpOOCuj4gICAgIOOCu+OCr+OCv+OCteOCpOOCuiAoNTEy44CBMTAyNOOAgTIwNDjjgIE0MDk2IOOBruOBqeOCjOOBiylcbiIKKworI34gbXNnaWQgIiAtaCAgICAgICAgICAgICAgICBwcmludCB0aGlzIGhlbHAgdGV4dFxuIgorI34gbXNnc3RyICIgLWggICAgICAgICAgICAgIOOBk+OBruODmOODq+ODl+OCkuihqOekuuOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiXG4iCisjfiBtc2dzdHIgIlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKKyN+IG1zZ3N0ciAi44OR44O844OG44Kj44K344On44OzICVkIOOBr+Wumue+qea4iOOBv+OBp+OBmeOAguWGjei/veWKoOOCkuihjOOBhuOBq+OBr+OAgeOBvuOBmuWJiumZpOOBl+OBpuOBj+OBoOOBleOBhOOAgiIKKworI34gbXNnaWQgIiIKKyN+ICJQYXJ0aXRpb24gdHlwZTpcbiIKKyN+ICIgICBwICAgcHJpbWFyeSAoJXpkIHByaW1hcnksICVkIGV4dGVuZGVkLCAlemQgZnJlZSlcbiIKKyN+ICIlc1xuIgorI34gIlNlbGVjdCAoZGVmYXVsdCAlYykiCisjfiBtc2dzdHIgIiIKKyN+ICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7nqK7poZ46XG4iCisjfiAiICAgcCAgIOWfuuacrCAo54++5Zyo44CB5Z+65pys44OR44O844OG44Kj44K344On44Oz44GMICV6ZCDlgIssIOaLoeW8teODkeODvOODhuOCo+OCt+ODp+ODs+OBjCAlZCDlgIssIOepuuOBjeODkeODvOODhuOCo+OCt+ODp+ODs+OBjCAlemQg5YCLKVxuIgorI34gIiVzXG4iCisjfiAi6YG45oqe44GX44Gm44GP44Gg44GV44GEICjml6LlrprlgKQgJWMpIgorCisjfiBtc2dpZCAiICAgZSAgIGV4dGVuZGVkIgorI34gbXNnc3RyICIgICBlICAg5ouh5by1IgorCisjfiBtc2dpZCAiVGhpcyBkb2Vzbid0IGxvb2sgbGlrZSBhIHBhcnRpdGlvbiB0YWJsZS4gUHJvYmFibHkgeW91IHNlbGVjdGVkIHRoZSB3cm9uZyBkZXZpY2UuIgorI34gbXNnc3RyICLjgZPjga7mg4XloLHjga/jg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjg4bjg7zjg5bjg6vjgafjga/jgarjgYTjgojjgYbjgavmgJ3jgo/jgozjgb7jgZnjgILjgYrjgZ3jgonjgY/plpPpgZXjgaPjgZ/jg4fjg5DjgqTjgrnjgpLpgbjmip7jgZfjgabjgYTjgb7jgZnjgIIiCisKKyN+IG1zZ2lkICJCbG9ja3MgIgorI34gbXNnc3RyICLjg5bjg63jg4Pjgq8gIgorCisjfiBtc2dpZCAiU3lzdGVtIgorI34gbXNnc3RyICLjgrfjgrnjg4bjg6AiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJXpkIGlzIGFscmVhZHkgZGVmaW5lZC4gRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorI34gbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXpkIOOBr+Wumue+qea4iOOBv+OBp+OBmeOAguWGjei/veWKoOOCkuihjOOBquOBhuOBq+OBr+OAgeOBvuOBmuWJiumZpOOBl+OBpuOBj+OBoOOBleOBhOOAgiIKKworI34gbXNnaWQgIlB0IyIKKyN+IG1zZ3N0ciAiUHQjIgorCisjfiBtc2dpZCAiSW5mbyIKKyN+IG1zZ3N0ciAi5oOF5aCxIgorCisjfiBtc2dpZCAiU2VjdG9yIgorI34gbXNnc3RyICLjgrvjgq/jgr8iCisKKyN+IG1zZ2lkICJZb3Ugd2lsbCBnZXQgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKKyN+IG1zZ3N0ciAi44OH44Kj44K544Kv44Gu6aCY5Z+f44GM6YeN6KSH44GZ44KL44GT44Go44Gr44Gq44KK44G+44GZ44CC44G+44Ga44Gv44GT44KM44KS6Kej5rG644GX44Gm44GP44Gg44GV44GEISIKKworI34gbXNnaWQgIldhcm5pbmc6ICBCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi4iCisjfiBtc2dzdHIgIuitpuWRijogQkxLR0VUU0laRSBpb2N0bCDjgYwgJXMg44Gn5aSx5pWX44GX44G+44GX44Gf44CC44K444Kq44Oh44OI44Oq44Gu44K344Oq44Oz44OA5YCk44KS44CBJWxsdSDjgajjgb/jgarjgZfjgb7jgZnjgILjgZPjga7oqK3lrprjgavjgojjgorjgIEgMzMuOCBHQiDjgojjgorlpKfjgY3jgarjg4fjg5DjgqTjgrnjgYzliIfjgormjajjgabjgonjgozjgovjgZPjgajjgavjgarjgovjgYvjgoLjgZfjgozjgb7jgZvjgpPjgIIiCisKKyN+IG1zZ2lkICJGbGFnIgorI34gbXNnc3RyICLjg5Xjg6njgrAiCisKKyN+IG1zZ2lkICJjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcy4iCisjfiBtc2dzdHIgIuODreODvOOCq+ODq+mgheebruOBruOBv+OCkuWkieabtOOBp+OBjeOBvuOBmeOAgiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm90aW1lfHNob3J0fGZ1bGx8aXNvXVxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgIFtub3RpbWV8c2hvcnR8ZnVsbHxpc29dXG4iCisKKyN+IG1zZ2lkICJDT01NQU5EIG5vdCBzcGVjaWZpZWQuIgorI34gbXNnc3RyICLjgrPjg57jg7Pjg4njgYzmjIflrprjgZXjgozjgabjgYTjgb7jgZvjgpPjgIIiCisKKyN+IG1zZ2lkICIiCisjfiAiICUxJHMgW29wdGlvbnNdIExBQkVMPTxsYWJlbD5cbiIKKyN+ICIgJTEkcyBbb3B0aW9uc10gVVVJRD08dXVpZD5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAlMSRzIFvjgqrjg5fjgrfjg6fjg7NdIExBQkVMPTzjg6njg5njg6s+XG4iCisjfiAiICUxJHMgW+OCquODl+OCt+ODp+ODs10gVVVJRD08dXVpZD5cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIKKyN+ICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgQVNDSUkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorI34gIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaWNhbGl6ZSBwcmludGVkIHBhdGhzXG4iCisjfiAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGF0ZSB0aGUgb3V0cHV0IG9mIGRmKDEpXG4iCisjfiAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKKyN+ICIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBjb252ZXJ0IHRhZ3MgKExBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMKSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGRldmljZSBuYW1lc1xuIgorI34gIiAtRiwgLS10YWItZmlsZSA8cGF0aD4gIGFsdGVybmF0aXZlIGZpbGUgZm9yIC0tZnN0YWIsIC0tbXRhYiBvciAtLWtlcm5lbCBvcHRpb25zXG4iCisjfiAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1BLCAtLWFsbCAgICAgICAgICAgICAg44GZ44G544Gm44Gu5YaF6JS144OV44Kj44Or44K/44KS54Sh5Yq55YyW44GX44CB44GZ44G544Gm44Gu44OV44Kh44Kk44OrXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICDjgrfjgrnjg4bjg6DjgpLooajnpLrjgZfjgb7jgZlcbiIKKyN+ICIgLWEsIC0tYXNjaWkgICAgICAgICAgICDjg4Tjg6rjg7zmp4vpgKDjga7ooajnpLrjgasgQVNDSUkg5paH5a2X44KS5L2/55So44GX44G+44GZXG4iCisjfiAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAg6KGo56S644GZ44KL44OR44K544KS5q2j6KaP5YyW44GX44G+44GZXG4iCisjfiAiIC1ELCAtLWRmICAgICAgICAgICAgICAgZGYoMSkg44Gu5Ye65Yqb5b2i5byP44KS5pOs5Ly844GX44G+44GZXG4iCisjfiAiIC1kLCAtLWRpcmVjdGlvbiA85pa55ZCRPiDmpJzntKLmlrnlkJHjgpLmjIflrprjgZfjgb7jgZnjgIIgJ2ZvcndhcmQnICjliY3mlrnlkJEpLFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhY2t3YXJkJyAo5b6M5pa55ZCRKSDjga4g44GE44Ga44KM44GL44KS5oyH5a6a44GX44G+44GZ44CCXG4iCisjfiAiIC1lLCAtLWV2YWx1YXRlICAgICAgICAg44K/44KwIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkg44KS44OH44OQ44Kk44K544GrXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICDlpInmj5vjgZfjgb7jgZlcbiIKKyN+ICIgLUYsIC0tdGFiLWZpbGUgPHBhdGg+ICAtLWZzdGFiLCAtLW10YWIsIC0ta2VybmVsIOOBq+WvvuOBmeOCi+S7o+abv+ODleOCoeOCpOODq+OCklxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAg5oyH5a6a44GX44G+44GZXG4iCisjfiAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAg5pyA5Yid44Gr6KaL44Gk44GL44Gj44Gf44OV44Kh44Kk44Or44K344K544OG44Og44Gu44G/44KS6KGo56S644GX44G+44GZXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJ0IHRoZSBzZW5zZSBvZiBtYXRjaGluZ1xuIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKKyN+ICIgLU4sIC0tdGFzayA8dGlkPiAgICAgICB1c2UgYWx0ZXJuYXRpdmUgbmFtZXNwYWNlICgvcHJvYy88dGlkPi9tb3VudGluZm8gZmlsZSlcbiIKKyN+ICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBjb2x1bW4gaGVhZGluZ3NcbiIKKyN+ICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIOmBqeWQiOWHpueQhuOBruWIpOaWreOCkumAhuOBq+OBl+OBvuOBmVxuIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICAgIOS4gOimp+W9ouW8j+OBp+WHuuWKm+OBl+OBvuOBmVxuIgorI34gIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIOS7o+abv+OBruWQjeWJjemgmOWfn+OCkuS9v+eUqOOBl+OBvuOBmSAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIOODleOCoeOCpOODqylcbiIKKyN+ICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICDliJfjga7jg5jjg4Pjg4DjgpLooajnpLrjgZfjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKyN+ICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICDliJfmlrnlkJHjgavjg4bjgq3jgrnjg4jjgpLliIfjgoroqbDjgoHjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iCisjfiAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgcHJpbnQgYWxsIHN1Ym1vdW50cyBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iCisjfiAiIC1TLCAtLXNvdXJjZSA8c3RyaW5nPiAgdGhlIGRldmljZSB0byBtb3VudCAoYnkgbmFtZSwgbWFqOm1pbiwgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCisjfiAiIC1ULCAtLXRhcmdldCA8c3RyaW5nPiAgdGhlIG1vdW50cG9pbnQgdG8gdXNlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICDjg5DjgqTjg7Pjg4njg57jgqbjg7Pjg4jjgoQgYnJ0ZnMg44Gu44Oe44Km44Oz44OI44Gr5a++44GX44Gm44CBXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICBbL2Rpcl0g44KS6KGo56S644GX44Gq44GE44KI44GG44Gr44GX44G+44GZXG4iCisjfiAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAg6Kmy5b2T44GZ44KL44OV44Kh44Kk44Or44K344K544OG44Og44Gu44K144OW44Oe44Km44Oz44OI44KCXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICDjgZnjgbnjgabooajnpLrjgZnjgovjgojjgYbjgavjgZfjgb7jgZlcbiIKKyN+ICIgLVMsIC0tc291cmNlIDzmloflrZfliJc+ICDjg57jgqbjg7Pjg4jjgavkvb/nlKjjgZnjgovjg4fjg5DjgqTjgrnjgpLmjIflrprjgZfjgb7jgZkgKOWQjeWJjSxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgIOODoeOCuOODo+ODvDrjg57jgqTjg4rjg7wsICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICBQQVJUTEFCRUw9KVxuIgorI34gIiAtVCwgLS10YXJnZXQgPOaWh+Wtl+WIlz4gIOS9v+eUqOOBmeOCi+ODnuOCpuODs+ODiOODneOCpOODs+ODiOOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZiwgLS1maWxlIDxmaWxlPiB1c2UgZmlsZSBhcyBhIGNvb2tpZSBzZWVkXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWYsIC0tZmlsZSA844OV44Kh44Kk44OrPiDmjIflrprjgZfjgZ/jg5XjgqHjgqTjg6vjgpIgQ29va2llIOOBruOCt+ODvOODieOBqOOBl+OBpuS9v+eUqOOBl+OBvuOBmVxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICDkvZXjgYzooYzjgo/jgozjgovjga7jgYvjgpLoqbPjgZfjgY/ooajnpLrjgZfjgb7jgZlcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAg44OQ44O844K444On44Oz5oOF5aCx44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgIOOBk+OBruODmOODq+ODl+OCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBwYXRobmFtZSBbcGF0aG5hbWUgLi4uXVxuIgorI34gbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10g44OR44K55ZCNIFvjg5HjgrnlkI0gLi4uXVxuIgorCisjfiBtc2dpZCAiQm90aCAtLXBpZCBhbmQgLS1uby1waWQgc3BlY2lmaWVkLiBJZ25vcmluZyAtLW5vLXBpZC4iCisjfiBtc2dzdHIgIi0tcGlkIOOBqCAtLW5vLXBpZCDjga7kuKHmlrnjgYzmjIflrprjgZXjgozjgabjgYTjgb7jgZnjgIIgLS1uby1waWQg44KS54Sh6KaW44GX44Gm57aa6KGM44GX44G+44GZ44CCIgorCisjfiBtc2dpZCAid2FybmluZzogZXJyb3IgcmVhZGluZyAlczogJXMiCisjfiBtc2dzdHIgIuitpuWRijogJXMg44Gu6Kqt44G/6L6844G/5pmC44Gr44Ko44Op44O844GM55m655Sf44GX44G+44GX44GfOiAlcyIKKworI34gbXNnaWQgIndhcm5pbmc6IGNhbid0IG9wZW4gJXM6ICVzIgorI34gbXNnc3RyICLorablkYo6ICVzIOOCkumWi+OBj+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkzogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY291bGQgbm90IG9wZW4gJXMgLSB1c2luZyAlcyBpbnN0ZWFkXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyDjgpLplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ8gLSDku6Pjgo/jgorjgasgJXMg44KS5L2/55So44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBjcmVhdGUgbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICLjg63jg4Pjgq/jg5XjgqHjgqTjg6sgJXMg44KS5L2c5oiQ44Gn44GN44G+44Gb44KTOiAlcyAoLW4g44OV44Op44Kw44Gn54Sh6KaW44GZ44KL44GT44Go44GM44Gn44GN44G+44GZKSIKKworI34gbXNnaWQgImNhbid0IGxpbmsgbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICLjg63jg4Pjgq/jg5XjgqHjgqTjg6sgJXMg44KS44Oq44Oz44Kv44Gn44GN44G+44Gb44KTOiAlcyAoLW4g44OV44Op44Kw44Gn54Sh6KaW44GZ44KL44GT44Go44GM44Gn44GN44G+44GZKSIKKworI34gbXNnaWQgImNhbid0IG9wZW4gbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICLjg63jg4Pjgq/jg5XjgqHjgqTjg6sgJXMg44KS6ZaL44GP44GT44Go44GM44Gn44GN44G+44Gb44KTOiAlcyAoLW4g44OV44Op44Kw44Gn54Sh6KaW44GZ44KL44GT44Go44GM44Gn44GN44G+44GZKSIKKworI34gbXNnaWQgIkNhbid0IGxvY2sgbG9jayBmaWxlICVzOiAlc1xuIgorI34gbXNnc3RyICLjg63jg4Pjgq/jg5XjgqHjgqTjg6sgJXMg44KS44Ot44OD44Kv44Gn44GN44G+44Gb44KTOiAlc1xuIgorCisjfiBtc2dpZCAiY2FuJ3QgbG9jayBsb2NrIGZpbGUgJXM6ICVzIgorI34gbXNnc3RyICLjg63jg4Pjgq/jg5XjgqHjgqTjg6sgJXMg44KS44Ot44OD44Kv44Gn44GN44G+44Gb44KTOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJDYW5ub3QgY3JlYXRlIGxpbmsgJXNcbiIKKyN+ICJQZXJoYXBzIHRoZXJlIGlzIGEgc3RhbGUgbG9jayBmaWxlP1xuIgorI34gbXNnc3RyICIiCisjfiAi44Oq44Oz44KvICVzIOOCkuS9nOaIkOOBp+OBjeOBvuOBm+OCk+OAglxuIgorI34gIuWPpOOBhOODreODg+OCr+ODleOCoeOCpOODq+OBjOaui+OBo+OBpuOBl+OBvuOBo+OBpuOBhOOCi+WPr+iDveaAp+OBjOOBguOCiuOBvuOBmeOAglxuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgKCVzKSAtIG10YWIgbm90IHVwZGF0ZWQiCisjfiBtc2dzdHIgIiVzIOOCkumWi+OBj+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyAoJXMpIC0tIG10YWIg44Gv5pu05paw44GV44KM44G+44Gb44KTIgorCisjfiBtc2dpZCAiZXJyb3Igd3JpdGluZyAlczogJXMiCisjfiBtc2dzdHIgIiVzIOOBuOOBruabuOOBjei+vOOBv+aZguOBq+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnzogJXMiCisKKyN+IG1zZ2lkICIlczogY2Fubm90IGZmbHVzaCBjaGFuZ2VzOiAlcyIKKyN+IG1zZ3N0ciAiJXM6IOWkieabtOOBleOCjOOBn+WGheWuueOCkiBmZmx1c2gg44GZ44KL44GT44Go44GM44Gn44GN44G+44Gb44KTOiAlcyIKKworI34gbXNnaWQgImVycm9yIGNoYW5naW5nIG1vZGUgb2YgJXM6ICVzXG4iCisjfiBtc2dzdHIgIiVzIOOBruODouODvOODieWkieabtOaZguOBq+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnzogJXNcbiIKKworI34gbXNnaWQgImVycm9yIGNoYW5naW5nIG93bmVyIG9mICVzOiAlc1xuIgorI34gbXNnc3RyICIlcyDjga7miYDmnInogIXlpInmm7TmmYLjgavjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ86ICVzXG4iCisKKyN+IG1zZ2lkICJjYW4ndCByZW5hbWUgJXMgdG8gJXM6ICVzXG4iCisjfiBtc2dzdHIgIiVzIOOBruWQjeWJjeOCkiAlcyDjgavlpInmm7TjgafjgY3jgb7jgZvjgpM6ICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAibW91bnQ6IHdhcm5pbmc6IC9ldGMvbXRhYiBpcyBub3Qgd3JpdGFibGUgKGUuZy4gcmVhZC1vbmx5IGZpbGVzeXN0ZW0pLlxuIgorI34gIiAgICAgICBJdCdzIHBvc3NpYmxlIHRoYXQgaW5mb3JtYXRpb24gcmVwb3J0ZWQgYnkgbW91bnQoOCkgaXMgbm90XG4iCisjfiAiICAgICAgIHVwIHRvIGRhdGUuIEZvciBhY3R1YWwgaW5mb3JtYXRpb24gYWJvdXQgc3lzdGVtIG1vdW50IHBvaW50c1xuIgorI34gIiAgICAgICBjaGVjayB0aGUgL3Byb2MvbW91bnRzIGZpbGUuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJtb3VudDog6K2m5ZGKOiAvZXRjL210YWIg44Gr5pu444GN6L6844KA44GT44Go44GM44Gn44GN44G+44Gb44KTICjoqq3jgb/ovrzjgb/lsILnlKjjga7jg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgafjgZkpIOOAglxuIgorI34gIiAgICAgICDjgZ3jga7jgZ/jgoEgbW91bnQoOCkg44KS5a6f6KGM44GX44Gm44KC44CB5pyA5paw44Gu5oOF5aCx44KS6KGo56S644Gn44GN44Gq44GE5Y+v6IO95oCn44GM44GC44KK44G+44GZ44CCXG4iCisjfiAiICAgICAgIOacgOaWsOOBruaDheWgseOBryAvcHJvYy9tb3VudHMg44OV44Kh44Kk44Or44KS44GU6Kan44GP44Gg44GV44GE44CCXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJtb3VudDogaW1wcm9wZXJseSBxdW90ZWQgb3B0aW9uIHN0cmluZyAnJXMnIgorI34gbXNnc3RyICJtb3VudDog44Kq44OX44K344On44Oz5paH5a2X5YiX44Gr5byV55So56ym44GM5q2j44GX44GP44Gk44GR44KJ44KM44Gm44GE44G+44Gb44KTICclcyciCisKKyN+IG1zZ2lkICJtb3VudDogdHJhbnNsYXRlZCAlcyAnJXMnIHRvICclcydcbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzICclcycg44KSICclcycg44Go6Kej6YeI44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICJtb3VudDogU0VMaW51eCAqY29udGV4dD0gb3B0aW9ucyBhcmUgaWdub3JlIG9uIHJlbW91bnQuXG4iCisjfiBtc2dzdHIgIm1vdW50OiDlho3jg57jgqbjg7Pjg4jjga7pmpvjgIEgU0VMaW51eCAqY29udGV4dD0g44Kq44OX44K344On44Oz44Gv54Sh6KaW44GV44KM44G+44GZ44CCXG4iCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IG10YWIg44Gr44KI44KL44Go44CBJXMg44GvICVzIOOBq+ODnuOCpuODs+ODiOa4iOOBv+OBp+OBmSIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgbW91bnRlZCBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IG10YWIg44Gr44KI44KL44Go44CBJXMg44GvICVzIOOBq+ODnuOCpuODs+ODiOOBleOCjOOBpuOBhOOBvuOBmSIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBvcGVuICVzIGZvciB3cml0aW5nOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIOOCkuabuOOBjei+vOOBv+eUqOOBq+mWi+OBj+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkzogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogZXJyb3Igd3JpdGluZyAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiAlcyDjgbjjga7mm7jjgY3ovrzjgb/mmYLjgavjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ86ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIGNoYW5naW5nIG1vZGUgb2YgJXM6ICVzIgorI34gbXNnc3RyICJtb3VudDogJXMg44Gu44Oi44O844OJ5aSJ5pu05pmC44Gr44Ko44Op44O844GM55m655Sf44GX44G+44GX44GfOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IGdyb3VwIGlkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IOOCsOODq+ODvOODlyBJRCDjgpLoqK3lrprjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZvjgpM6ICVtIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgdXNlciBpZDogJW0iCisjfiBtc2dzdHIgIm1vdW50OiDjg6bjg7zjgrYgSUQg44KS6Kit5a6a44GZ44KL44GT44Go44GM44Gn44GN44G+44Gb44KTOiAlbSIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgZm9yazogJXMiCisjfiBtc2dzdHIgIm1vdW50OiDlrZDjg5fjg63jgrvjgrnjga7otbfli5XjgYzjgafjgY3jgb7jgZvjgpM6ICVzIgorCisjfiBtc2dpZCAiVHJ5aW5nICVzXG4iCisjfiBtc2dzdHIgIiVzIOOCkuippuOBl+OBpuOBhOOBvuOBmVxuIgorCisjfiBtc2dpZCAibW91bnQ6IHlvdSBkaWRuJ3Qgc3BlY2lmeSBhIGZpbGVzeXN0ZW0gdHlwZSBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIOOBq+OBr+ODleOCoeOCpOODq+OCt+OCueODhuODoOOBruOCv+OCpOODl+aMh+WumuOBjOOBguOCiuOBvuOBm+OCk1xuIgorCisjfiBtc2dpZCAiICAgICAgIEkgd2lsbCB0cnkgYWxsIHR5cGVzIG1lbnRpb25lZCBpbiAlcyBvciAlc1xuIgorI34gbXNnc3RyICIgICAgICAgJXMg44KC44GX44GP44GvICVzIOOBq+abuOOBi+OCjOOBn+mgheebruOCkuOBmeOBueOBpuippuOBl+OBpuOBv+OBvuOBmVxuIgorCisjfiBtc2dpZCAiICAgICAgIGFuZCBpdCBsb29rcyBsaWtlIHRoaXMgaXMgc3dhcHNwYWNlXG4iCisjfiBtc2dzdHIgIiAgICAgICDjgb7jgZ/jgIHjgZPjga7poJjln5/jga/jgrnjg6/jg4Pjg5fpoJjln5/jgajmgJ3jgo/jgozjgb7jgZlcbiIKKworI34gbXNnaWQgIiAgICAgICBJIHdpbGwgdHJ5IHR5cGUgJXNcbiIKKyN+IG1zZ3N0ciAiICAgICAgIOOCv+OCpOODlyAlcyDjgpLoqabjgZfjgabjgb/jgb7jgZlcbiIKKworI34gbXNnaWQgIiVzIGxvb2tzIGxpa2Ugc3dhcHNwYWNlIC0gbm90IG1vdW50ZWQiCisjfiBtc2dzdHIgIiVzIOOBr+OCueODr+ODg+ODl+mgmOWfn+OBqOaAneOCj+OCjOOBvuOBmSAtIOODnuOCpuODs+ODiOOBr+ihjOOBhOOBvuOBm+OCkyIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogJXM6IG1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQuIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sXG4iCisjfiAiICAgICAgIHVzZSAtdCA8dHlwZT4gdG8gZXhwbGljaXRseSBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUgb3JcbiIKKyN+ICIgICAgICAgdXNlIHdpcGVmcyg4KSB0byBjbGVhbiB1cCB0aGUgZGV2aWNlLlxuIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6ICVzOiDopIfmlbDjga7jg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgYzmpJzlh7rjgZXjgozjgb7jgZfjgZ/jgILjgZPjgozjga/pgJrluLjjga/nmbrnlJ/jgZfjgarjgYRcbiIKKyN+ICIgICAgICAg44Gv44Ga44Gu57WQ5p6c44Gn44GZ44CCIC10IDzjgr/jgqTjg5c+IOOCkuaMh+WumuOBl+OBpueJueWumuOBruODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuS9v+eUqOOBmeOCi+OBi+OAgVxuIgorI34gIiAgICAgICB3aXBlZnMoOCkg44KS5Yip55So44GX44Gm44OH44OQ44Kk44K544Gu5YaF5a6544KS44GE44Gj44Gf44KT5raI5Y6744GX44Gm44GP44Gg44GV44GE44CCXG4iCisKKyN+IG1zZ2lkICJtb3VudCBmYWlsZWQiCisjfiBtc2dzdHIgIuODnuOCpuODs+ODiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgIm1vdW50OiBvbmx5IHJvb3QgY2FuIG1vdW50ICVzIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogJXMg44KSICVzIOOBq+ODnuOCpuODs+ODiOOBp+OBjeOCi+OBruOBryByb290IOOBoOOBkeOBp+OBmSIKKworI34gbXNnaWQgIm1vdW50OiBsb29wIGRldmljZSBzcGVjaWZpZWQgdHdpY2UiCisjfiBtc2dzdHIgIm1vdW50OiDjg6vjg7zjg5fjg5Djg4Pjgq/jg4fjg5DjgqTjgrnjgYwgMiDlm57mjIflrprjgZXjgozjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICJtb3VudDogdHlwZSBzcGVjaWZpZWQgdHdpY2UiCisjfiBtc2dzdHIgIm1vdW50OiDjgr/jgqTjg5fjgYwgMiDlm57mjIflrprjgZXjgozjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICJtb3VudDogc2tpcHBpbmcgdGhlIHNldHVwIG9mIGEgbG9vcCBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IOODq+ODvOODl+ODkOODg+OCr+ODh+ODkOOCpOOCueOBruioreWumuOCkumjm+OBsOOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGVuYWJsaW5nIGF1dG9jbGVhciBsb29wZGV2IGZsYWdcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGxvb3BkZXYg44OV44Op44Kw44Gu6Ieq5YuV54Sh5Yq55YyW44KS5pyJ5Yq544Gr44GX44Gm44GE44G+44GZXG4iCisKKyN+IG1zZ2lkICJtb3VudDogaW52YWxpZCBvZmZzZXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW50OiDjgqrjg5Xjgrvjg4Pjg4ggJyVzJyDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJtb3VudDogaW52YWxpZCBzaXplbGltaXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW50OiDjgrXjgqTjgrrliLbpmZAgJyVzJyDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIGFzIGxvb3AiCisjfiBtc2dzdHIgIm1vdW50OiBtdGFiIOOBq+OCiOOCi+OBqOOAgSAlcyDjga/jg6vjg7zjg5fjg5Djg4Pjgq/jg4fjg5DjgqTjgrnjgajjgZfjgaYgJXMg44Gr44Oe44Km44Oz44OI5riI44Gn44GZIgorCisjfiBtc2dpZCAiZW5jcnlwdGlvbiBub3Qgc3VwcG9ydGVkLCB1c2UgY3J5cHRzZXR1cCg4KSBpbnN0ZWFkIgorI34gbXNnc3RyICLmmpflj7fljJbjgavjga/lr77lv5zjgZfjgabjgYTjgb7jgZvjgpPjgIIgY3J5cHRzZXR1cCg4KSDjgpLjgYrkvb/jgYTjgY/jgaDjgZXjgYTjgIIiCisKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGRldiBjb250ZXh0IgorI34gbXNnc3RyICJtb3VudDogbG9vcGRldiDjgrPjg7Pjg4bjgq3jgrnjg4jjga7mupblgpnjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIHVzZSAlcyBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiAlcyDjg4fjg5DjgqTjgrnjga7kvb/nlKjjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIGZvdW5kIGZyZWUgbG9vcCBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiDnqbrjgY3jg6vjg7zjg5fjg5Djg4Pjgq/jg4fjg5DjgqTjgrnjga7mpJzlh7rjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICJtb3VudDogZ29pbmcgdG8gdXNlIHRoZSBsb29wIGRldmljZSAlc1xuIgorI34gbXNnc3RyICJtb3VudDog44Or44O844OX44OQ44OD44Kv44OH44OQ44Kk44K5ICVzIOOCkuS9v+eUqOOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgdG8gc2V0IGxvb3BkZXYgYXR0cmlidXRlcyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzOiBsb29wZGV2IOWxnuaAp+OBruioreWumuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgIm1vdW50OiAlczogZmFpbGVkIHNldHRpbmcgdXAgbG9vcCBkZXZpY2U6ICVtIgorI34gbXNnc3RyICJtb3VudDogJXM6IOODq+ODvOODl+ODkOODg+OCr+ODh+ODkOOCpOOCueOBruioreWumuOBq+WkseaVl+OBl+OBvuOBl+OBnzogJW0iCisKKyN+IG1zZ2lkICJtb3VudDogc3RvbGVuIGxvb3A9JXMgLi4udHJ5aW5nIGFnYWluXG4iCisjfiBtc2dzdHIgIm1vdW50OiDjg6vjg7zjg5fjg5Djg4Pjgq/jg4fjg5DjgqTjgrk9JXMg44GM5L2/55So44GV44KM44Gm44GX44G+44GE44G+44GX44GfIC4uLiDlho3oqabooYzjgZfjgabjgYTjgb7jgZlcbiIKKworI34gbXNnaWQgIm1vdW50OiBzdG9sZW4gbG9vcD0lcyIKKyN+IG1zZ3N0ciAibW91bnQ6IOODq+ODvOODl+ODkOODg+OCr+ODh+ODkOOCpOOCuT0lcyDjgYzkvb/nlKjjgZXjgozjgabjgZfjgb7jgYTjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICJtb3VudDogc2V0dXAgbG9vcCBkZXZpY2Ugc3VjY2Vzc2Z1bGx5XG4iCisjfiBtc2dzdHIgIm1vdW50OiDjg6vjg7zjg5fjg5Djg4Pjgq/jg4fjg5DjgqTjgrnjga7oqK3lrprjgavmiJDlip/jgZfjgb7jgZfjgZ9cbiIKKworI34gbXNnaWQgIm1vdW50OiBubyAlcyBmb3VuZCAtIGNyZWF0aW5nIGl0Li5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIOOBjOimi+OBpOOBi+OCiuOBvuOBm+OCkyAtIOS9nOaIkOOBl+OBvuOBmS4uXG4iCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IG9wZW4gJXMgZm9yIHNldHRpbmcgc3BlZWQiCisjfiBtc2dzdHIgIm1vdW50OiAlcyDjgpLpgJ/luqboqK3lrprnlKjjgavplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCBzcGVlZDogJW0iCisjfiBtc2dzdHIgIm1vdW50OiDpgJ/luqbjga7oqK3lrprjgYzjgafjgY3jgb7jgZvjgpM6ICVtIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG10YWIg44Gr44KI44KL44Go44CBJXMg44GvICVzIOOBq+ODnuOCpuODs+ODiOa4iOOBv+OBp+OBmVxuIgorCisjfiBtc2dpZCAibW91bnQ6IHdhcm5pbmc6ICVzIHNlZW1zIHRvIGJlIG1vdW50ZWQgcmVhZC13cml0ZS5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IOitpuWRijogJXMg44Gv6Kqt44G/5pu444GN5Y+v6IO944Gq54q25oWL44Gn44Oe44Km44Oz44OI44GV44KM44Gm44GE44KL44KI44GG44Gn44GZ44CCXG4iCisKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogJXMgc2VlbXMgdG8gYmUgbW91bnRlZCByZWFkLW9ubHkuXG4iCisjfiBtc2dzdHIgIm1vdW50OiDorablkYo6ICVzIOOBr+iqreOBv+i+vOOBv+WwgueUqOOBrueKtuaFi+OBp+ODnuOCpuODs+ODiOOBleOCjOOBpuOBhOOCi+OCiOOBhuOBp+OBmeOAglxuIgorCisjfiBtc2dpZCAibW91bnQ6IEkgY291bGQgbm90IGRldGVybWluZSB0aGUgZmlsZXN5c3RlbSB0eXBlLCBhbmQgbm9uZSB3YXMgc3BlY2lmaWVkIgorI34gbXNnc3RyICJtb3VudDogbm9uZSDjgYzmjIflrprjgZXjgozjgb7jgZfjgZ/jgYzjgIHjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djgr/jgqTjg5fjgpLliKTliKXjgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJtb3VudDogeW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorI34gbXNnc3RyICJtb3VudDog44OV44Kh44Kk44Or44K344K544OG44Og44K/44Kk44OX44KS5oyH5a6a44GZ44KL5b+F6KaB44GM44GC44KK44G+44GZIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IOODnuOCpuODs+ODiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBwb2ludCAlcyBpcyBub3QgYSBkaXJlY3RvcnkiCisjfiBtc2dzdHIgIm1vdW50OiDjg57jgqbjg7Pjg4jjg53jgqTjg7Pjg4ggJXMg44Gv44OH44Kj44Os44Kv44OI44Oq44Gn44Gv44GC44KK44G+44Gb44KTIgorCisjfiBtc2dpZCAibW91bnQ6IHBlcm1pc3Npb24gZGVuaWVkIgorI34gbXNnc3RyICJtb3VudDog6Kix5Y+v44GM44GC44KK44G+44Gb44KTIgorCisjfiBtc2dpZCAibW91bnQ6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKKyN+IG1zZ3N0ciAibW91bnQ6IG1vdW50IOOCkuS9v+eUqOOBmeOCi+OBq+OBr+OCueODvOODkeODvOODpuODvOOCtuOBp+OBquOBkeOCjOOBsOOBquOCiuOBvuOBm+OCkyIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBidXN5IgorI34gbXNnc3RyICJtb3VudDogJXMg44Gv5L2/55So5Lit44Gn44GZIgorCisjfiBtc2dpZCAibW91bnQ6IHByb2MgYWxyZWFkeSBtb3VudGVkIgorI34gbXNnc3RyICJtb3VudDogcHJvYyDjga/jg57jgqbjg7Pjg4jmuIjjgb/jgafjgZkiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgYWxyZWFkeSBtb3VudGVkIG9yICVzIGJ1c3kiCisjfiBtc2dzdHIgIm1vdW50OiAlcyDjga8g44Oe44Km44Oz44OI5riI44G/44CB44KC44GX44GP44GvICVzIOOBjOS9v+eUqOOBl+OBpuOBhOOBvuOBmSIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBwb2ludCAlcyBkb2VzIG5vdCBleGlzdCIKKyN+IG1zZ3N0ciAibW91bnQ6IOODnuOCpuODs+ODiOODneOCpOODs+ODiCAlcyDjgYzlrZjlnKjjgZfjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCisjfiBtc2dzdHIgIm1vdW50OiDjg57jgqbjg7Pjg4jjg53jgqTjg7Pjg4ggJXMg44Gv5q2j44GX44GP44Gq44GE5aC05omA44KS5oyH44GX44Gm44GE44KL44K344Oz44Oc44Oq44OD44Kv44Oq44Oz44Kv44Gn44GZIgorCisjfiBtc2dpZCAibW91bnQ6IHNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorI34gbXNnc3RyICJtb3VudDog44K544Oa44K344Oj44Or44OH44OQ44Kk44K5ICVzIOOBjOWtmOWcqOOBl+OBvuOBm+OCkyIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogc3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3RcbiIKKyN+ICIgICAgICAgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KVxuIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IOOCueODmuOCt+ODo+ODq+ODh+ODkOOCpOOCuSAlcyDjgYzlrZjlnKjjgZfjgb7jgZvjgpNcbiIKKyN+ICIgICAgICAgKOODkeOCueODl+ODrOODleOCo+OCr+OCueOBjOODh+OCo+ODrOOCr+ODiOODquOBp+OBr+OBguOCiuOBvuOBm+OCkylcbiIKKworI34gbXNnaWQgIm1vdW50OiAlcyBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorI34gbXNnc3RyICJtb3VudDogJXMg44Gv44Oe44Km44Oz44OI44GV44KM44Gm44GE44Gq44GE44GL44CB44Kq44OX44K344On44Oz6Kit5a6a44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiB3cm9uZyBmcyB0eXBlLCBiYWQgb3B0aW9uLCBiYWQgc3VwZXJibG9jayBvbiAlcyxcbiIKKyN+ICIgICAgICAgbWlzc2luZyBjb2RlcGFnZSBvciBoZWxwZXIgcHJvZ3JhbSwgb3Igb3RoZXIgZXJyb3IiCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDog5L2V44KJ44GL44Gu44Ko44Op44O844Gr44KI44KK44CB44Oe44Km44Oz44OI44GM5aSx5pWX44GX44G+44GX44Gf44CCXG4iCisjfiAiICAgICAgIOODleOCoeOCpOODq+OCt+OCueODhuODoOOCv+OCpOODlywg44Kq44OX44K344On44OzLCAlcyDkuIrjga7jgrnjg7zjg5Hjg7xcbiIKKyN+ICIgICAgICAg44OW44Ot44OD44KvLCDlv4XopoHjgarjgrPjg7zjg4njg5rjg7zjgrjmjIflrprvvI/jg5jjg6vjg5Hjg7zjg5fjg63jgrDjg6njg6BcbiIKKyN+ICIgICAgICAg44Gq44Gp44CB5L2V44KJ44GL44Gu6Kit5a6a44GM6ZaT6YGV44Gj44Gm44GE44KL44KC44Gu44Go5oCd44KP44KM44G+44GZ44CCIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoZm9yIHNldmVyYWwgZmlsZXN5c3RlbXMgKGUuZy4gbmZzLCBjaWZzKSB5b3UgbWlnaHRcbiIKKyN+ICIgICAgICAgbmVlZCBhIC9zYmluL21vdW50Ljx0eXBlPiBoZWxwZXIgcHJvZ3JhbSkiCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAgKG5mcywgY2lmcyDjgarjganjgIHjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgavjgojjgaPjgabjga8gL3NiaW4vbW91bnQuPOOCv+OCpOODlz5cbiIKKyN+ICIgICAgICAg44Gu44OY44Or44OR44O844OX44Ot44Kw44Op44Og44GM5b+F6KaB44Gn44GZKSIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgKGNvdWxkIHRoaXMgYmUgdGhlIElERSBkZXZpY2Ugd2hlcmUgeW91IGluIGZhY3QgdXNlXG4iCisjfiAiICAgICAgIGlkZS1zY3NpIHNvIHRoYXQgc3IwIG9yIHNkYSBvciBzbyBpcyBuZWVkZWQ/KSIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAoaWRlLXNjc2kg44KS5Yip55So44GX44GfIElERSDjg4fjg5DjgqTjgrnjga7loLTlkIjjgIEgc3IwIOOChCBzZGFcbiIKKyN+ICIgICAgICAg44Gq44Gp44KS5L2/55So44GZ44KL5b+F6KaB44GM44GC44KK44G+44GZKSIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgKGFyZW4ndCB5b3UgdHJ5aW5nIHRvIG1vdW50IGFuIGV4dGVuZGVkIHBhcnRpdGlvbixcbiIKKyN+ICIgICAgICAgaW5zdGVhZCBvZiBzb21lIGxvZ2ljYWwgcGFydGl0aW9uIGluc2lkZT8pIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgICjoq5bnkIbjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjgafjga/jgarjgY/jgIHmi6HlvLXjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpJcbiIKKyN+ICIgICAgICAg55u05o6l44Oe44Km44Oz44OI44Gn44GN44KL44GL44KC44GX44KM44G+44Gb44KTKSIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBpcyBmb3VuZCBpbiBzeXNsb2cgLSB0cnlcbiIKKyN+ICIgICAgICAgZG1lc2cgfCB0YWlsICBvciBzb1xuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgIHN5c2xvZyDlhoXjgavoqJjpjLLjgZXjgozjgZ/mg4XloLHjgYzmiYvliqnjgZHjgavjgarjgovjgoLjga7jgajmgJ3jgYTjgb7jgZkgLSBcbiIKKyN+ICIgICAgICAgZG1lc2cgfCB0YWlsIOOBquOBqeOCkuWun+ihjOOBl+OBpuOBiuiqreOBv+OBj+OBoOOBleOBhFxuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiBjYW4ndCByZWFkIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgIm1vdW50OiAlczog44K544O844OR44O844OW44Ot44OD44Kv44KS6Kqt44G/6L6844KA44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiB1bmtub3duIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzOiDkuI3mmI7jgarjg4fjg5DjgqTjgrnjgafjgZkiCisKKyN+IG1zZ2lkICJtb3VudDogdW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKKyN+IG1zZ3N0ciAibW91bnQ6IOacquefpeOBruODleOCoeOCpOODq+OCt+OCueODhuODoOOCv+OCpOODlyAnJXMnIOOBp+OBmSIKKworI34gbXNnaWQgIm1vdW50OiBwcm9iYWJseSB5b3UgbWVhbnQgJXMiCisjfiBtc2dzdHIgIm1vdW50OiDjgYrjgZ3jgonjgY8gJXMg44KS5oyH5a6a44GX44Gf44GL44Gj44Gf44KC44Gu44Go5o6o5ris44GV44KM44G+44GZIgorCisjfiBtc2dpZCAibW91bnQ6IG1heWJlIHlvdSBtZWFudCAnaXNvOTY2MCc/IgorI34gbXNnc3RyICJtb3VudDog44GK44Gd44KJ44GPICdpc285NjYwJyDjgpLmjIflrprjgZfjgZ/jgYvjgaPjgZ/jgoLjga7jgajmjqjmuKzjgZXjgozjgb7jgZkiCisKKyN+IG1zZ2lkICJtb3VudDogbWF5YmUgeW91IG1lYW50ICd2ZmF0Jz8iCisjfiBtc2dzdHIgIm1vdW50OiDjgYrjgZ3jgonjgY8gJ3ZmYXQnIOOCkuaMh+WumuOBl+OBn+OBi+OBo+OBn+OCguOBruOBqOaOqOa4rOOBleOCjOOBvuOBmSIKKworI34gbXNnaWQgIm1vdW50OiAlcyBoYXMgd3JvbmcgZGV2aWNlIG51bWJlciBvciBmcyB0eXBlICVzIG5vdCBzdXBwb3J0ZWQiCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogJXMg44Gv6ZaT6YGV44Gj44Gf44OH44OQ44Kk44K555Wq5Y+344Gr44Gq44Gj44Gm44GE44KL44GL44CB44KC44GX44GP44Gv44OV44Kh44Kk44OrXG4iCisjfiAiICAgICAgIOOCt+OCueODhuODoOOBruOCv+OCpOODlyAlcyDjgYzjgrXjg53jg7zjg4jjgZXjgozjgabjgYTjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCBmYWlscz8iCisjfiBtc2dzdHIgIm1vdW50OiAlcyDjga/jg5bjg63jg4Pjgq/jg4fjg5DjgqTjgrnjgafjga/jgYLjgorjgb7jgZvjgpMgKHN0YXQg44GM5aSx5pWX44GX44Gf44Gu44KC44CB44GT44Gu44Gf44KB44Gn44GC44KL44Go5oCd44KP44KM44G+44GZKSIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogdGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2VcbiIKKyN+ICIgICAgICAgKG1heWJlIGBtb2Rwcm9iZSBkcml2ZXInPykiCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDog44GT44Gu44Kr44O844ON44Or44GvICVzIOOCkuODluODreODg+OCr+ODh+ODkOOCpOOCueOBqOOBl+OBpuiqjeitmOOBl+OBpuOBhOOBvuOBm+OCk1xuIgorI34gIiAgICAgICAo44GK44Gd44KJ44GPIGBtb2Rwcm9iZSDjg4njg6njgqTjg5AnIOOCkuWun+ihjOOBmeOCi+W/heimgeOBjOOBguOCiuOBvuOBmSkiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIChtYXliZSB0cnkgYC1vIGxvb3AnPykiCisjfiBtc2dzdHIgIm1vdW50OiAlcyDjga/jg5bjg63jg4Pjgq/jg4fjg5DjgqTjgrnjgafjga/jgYLjgorjgb7jgZvjgpMgKGAtbyBsb29wJyDjgpLmjIflrprjgZnjgovjgajop6PmsbrjgafjgY3jgovjgYvjgoLjgZfjgozjgb7jgZvjgpMpIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIOOBr+ODluODreODg+OCr+ODh+ODkOOCpOOCueOBp+OBr+OBguOCiuOBvuOBm+OCkyIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiAlcyDjga/mraPluLjjgarjg5bjg63jg4Pjgq/jg4fjg5DjgqTjgrnjgafjga/jgYLjgorjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJibG9jayBkZXZpY2UgIgorI34gbXNnc3RyICLjg5bjg63jg4Pjgq/jg4fjg5DjgqTjgrkgIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBtb3VudCAlcyVzIHJlYWQtb25seSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzJXMg44KS6Kqt44G/6L6844G/5bCC55So44Gn44Oe44Km44Oz44OI44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAibW91bnQ6ICVzJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCBgLXcnIGZsYWcgZ2l2ZW4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyVzIOOBr+abuOOBjei+vOOBv+emgeatouOBp+OBmeOBjOOAgeaYjuekuueahOOBqyBgLXcnIOODleODqeOCsOOBjOaMh+WumuOBleOCjOOBpuOBhOOBvuOBmSIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgcmVtb3VudCAlcyVzIHJlYWQtd3JpdGUsIGlzIHdyaXRlLXByb3RlY3RlZCIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzJXMg44KS6Kqt44G/5pu444GN5Y+v6IO944Gq54q25oWL44Gn5YaN44Oe44Km44Oz44OI44Gn44GN44G+44Gb44KT44CB44Op44Kk44OI44OX44Ot44OG44Kv44OI44GV44KM44Gm44GE44G+44GZIgorCisjfiBtc2dpZCAibW91bnQ6ICVzJXMgaXMgd3JpdGUtcHJvdGVjdGVkLCBtb3VudGluZyByZWFkLW9ubHkiCisjfiBtc2dzdHIgIm1vdW50OiAlcyVzIOOBr+abuOOBjei+vOOBv+emgeatouOBp+OBmeOAgeiqreOBv+i+vOOBv+WwgueUqOOBp+ODnuOCpuODs+ODiOOBl+OBvuOBmSIKKworI34gbXNnaWQgIm1vdW50OiBubyBtZWRpdW0gZm91bmQgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiAlcyDjgavjg6Hjg4fjgqPjgqLjgYzmjL/lhaXjgZXjgozjgabjgYTjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJtb3VudDogbm8gdHlwZSB3YXMgZ2l2ZW4gLSBJJ2xsIGFzc3VtZSBuZnMgYmVjYXVzZSBvZiB0aGUgY29sb25cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IOOCv+OCpOODl+OBjOS4juOBiOOCieOCjOOBpuOBhOOBvuOBm+OCkyAtIOOCs+ODreODs+OBjOOBguOCi+OBruOBpyBuZnMg44Go5oCd44KP44KM44G+44GZXG4iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gdHlwZSB3YXMgZ2l2ZW4gLSBJJ2xsIGFzc3VtZSBjaWZzIGJlY2F1c2Ugb2YgdGhlIC8vIHByZWZpeFxuIgorI34gbXNnc3RyICJtb3VudDog44K/44Kk44OX44GM5LiO44GI44KJ44KM44Gm44GE44G+44Gb44KTIC0tIC8vIOOBjOOBguOCi+OBruOBpyBjaWZzIOOBqOaAneOCj+OCjOOBvuOBmVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGlnbm9yZSAlcyAodW5wYXJzYWJsZSBvZmZzZXQ9IG9wdGlvbilcbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIOOCkueEoeimluOBl+OBvuOBmSAob2Zmc2V0PSDjgqrjg5fjgrfjg6fjg7PjgpLop6Pph4jjgafjgY3jgb7jgZvjgpMpXG4iCisKKyN+IG1zZ2lkICJtb3VudDogJXMgYWxyZWFkeSBtb3VudGVkIG9uICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyDjga8gJXMg44Gr44Oe44Km44Oz44OI5riI44G/44Gn44GZXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IG1vdW50IC1WICAgICAgICAgICAgICAgICA6IHByaW50IHZlcnNpb25cbiIKKyN+ICIgICAgICAgbW91bnQgLWggICAgICAgICAgICAgICAgIDogcHJpbnQgdGhpcyBoZWxwXG4iCisjfiAiICAgICAgIG1vdW50ICAgICAgICAgICAgICAgICAgICA6IGxpc3QgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorI34gIiAgICAgICBtb3VudCAtbCAgICAgICAgICAgICAgICAgOiBpZGVtLCBpbmNsdWRpbmcgdm9sdW1lIGxhYmVsc1xuIgorI34gIlNvIGZhciB0aGUgaW5mb3JtYXRpb25hbCBwYXJ0LiBOZXh0IHRoZSBtb3VudGluZy5cbiIKKyN+ICJUaGUgY29tbWFuZCBpcyBgbW91bnQgWy10IGZzdHlwZV0gc29tZXRoaW5nIHNvbWV3aGVyZScuXG4iCisjfiAiRGV0YWlscyBmb3VuZCBpbiAvZXRjL2ZzdGFiIG1heSBiZSBvbWl0dGVkLlxuIgorI34gIiAgICAgICBtb3VudCAtYSBbLXR8LU9dIC4uLiAgICAgOiBtb3VudCBhbGwgc3R1ZmYgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiICAgICAgIG1vdW50IGRldmljZSAgICAgICAgICAgICA6IG1vdW50IGRldmljZSBhdCB0aGUga25vd24gcGxhY2VcbiIKKyN+ICIgICAgICAgbW91bnQgZGlyZWN0b3J5ICAgICAgICAgIDogbW91bnQga25vd24gZGV2aWNlIGhlcmVcbiIKKyN+ICIgICAgICAgbW91bnQgLXQgdHlwZSBkZXYgZGlyICAgIDogb3JkaW5hcnkgbW91bnQgY29tbWFuZFxuIgorI34gIk5vdGUgdGhhdCBvbmUgZG9lcyBub3QgcmVhbGx5IG1vdW50IGEgZGV2aWNlLCBvbmUgbW91bnRzXG4iCisjfiAiYSBmaWxlc3lzdGVtIChvZiB0aGUgZ2l2ZW4gdHlwZSkgZm91bmQgb24gdGhlIGRldmljZS5cbiIKKyN+ICJPbmUgY2FuIGFsc28gbW91bnQgYW4gYWxyZWFkeSB2aXNpYmxlIGRpcmVjdG9yeSB0cmVlIGVsc2V3aGVyZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1iaW5kIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJvciBtb3ZlIGEgc3VidHJlZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tb3ZlIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBtb3VudCBjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2hhcmVkIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2xhdmUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1wcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtdW5iaW5kYWJsZSBkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBhbGwgdGhlIG1vdW50cyBpbiBhIG1vdW50IHN1YnRyZWVcbiIKKyN+ICJjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzbGF2ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJwcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnVuYmluZGFibGUgZGlyXG4iCisjfiAiQSBkZXZpY2UgY2FuIGJlIGdpdmVuIGJ5IG5hbWUsIHNheSAvZGV2L2hkYTEgb3IgL2Rldi9jZHJvbSxcbiIKKyN+ICJvciBieSBsYWJlbCwgdXNpbmcgIC1MIGxhYmVsICBvciBieSB1dWlkLCB1c2luZyAgLVUgdXVpZCAuXG4iCisjfiAiT3RoZXIgb3B0aW9uczogWy1uZkZyc3Z3XSBbLW8gb3B0aW9uc10gWy1wIHBhc3N3ZGZkXS5cbiIKKyN+ICJGb3IgbWFueSBtb3JlIGRldGFpbHMsIHNheSAgbWFuIDggbW91bnQgLlxuIgorI34gbXNnc3RyICIiCisjfiAi5L2/44GE5pa5OiBtb3VudCAtViAgICAgICAgICAgICAgICA6IOODkOODvOOCuOODp+ODs+OCkuihqOekuuOBl+OBvuOBmVxuIgorI34gIiAgICAgICAgbW91bnQgLWggICAgICAgICAgICAgICAgOiDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgb7jgZlcbiIKKyN+ICIgICAgICAgIG1vdW50ICAgICAgICAgICAgICAgICAgIDog44Oe44Km44Oz44OI5riI44G/44OV44Kh44Kk44Or44K344K544OG44Og44Gu5LiA6Kan44KS6KGo56S644GX44G+44GZXG4iCisjfiAiICAgICAgICBtb3VudCAtbCAgICAgICAgICAgICAgICA6IOS4iuiomOOBq+WKoOOBiOOAgeODnOODquODpeODvOODoOODqeODmeODq+OCguihqOekuuOBl+OBvuOBmVxuIgorI34gIuS7peS4iuOBjOaDheWgseihqOekuuOBq+mWouOBmeOCi+OCguOBruOBp+OBmeOAguasoeOBi+OCieOBr+ODnuOCpuODs+ODiOaTjeS9nOOBq+mWoumAo+OBmeOCi+OCguOBruOBp+OBmeOAglxuIgorI34gIuOCs+ODnuODs+ODieOBryBgbW91bnQgWy10IOOCv+OCpOODl10g5L2V44KSIOOBqeOBk+OBuCcg44Gu5b2i5byP44Gn44GZ44CCXG4iCisjfiAiL2V0Yy9mc3RhYiDjgafoqbPntLDjgpLmjIflrprjgZfjgabjgYrjgY/jgZPjgajjgafjgIHnnIHnlaXjgZnjgovjgZPjgajjgoLjgafjgY3jgb7jgZnjgIJcbiIKKyN+ICIgICAgICAgIG1vdW50IC1hIFstdHwtT10gLi4uICAgIDogL2V0Yy9mc3RhYiDjga7lhoXlrrnlhajjgabjgpLjg57jgqbjg7Pjg4jjgZfjgb7jgZlcbiIKKyN+ICIgICAgICAgIG1vdW50IOODh+ODkOOCpOOCuSAgICAgICAgICA6IOODh+ODkOOCpOOCueOCkuaXouefpeOBruWgtOaJgOOBq+ODnuOCpuODs+ODiOOBl+OBvuOBmVxuIgorI34gIiAgICAgICAgbW91bnQg44OH44Kj44Os44Kv44OI44OqICAgICAgOiDml6Lnn6Xjga7jg4fjg5DjgqTjgrnjgpLjg4fjgqPjg6zjgq/jg4jjg6rjgavjg57jgqbjg7Pjg4jjgZfjgb7jgZlcbiIKKyN+ICIgICAgICAgIG1vdW50IC10IHR5cGUgZGV2IGRpciAgIDog6YCa5bi444GuIG1vdW50IOOCs+ODnuODs+ODieOBruabuOW8j+OBp+OBmVxuIgorI34gIuS4iuiomOOBruOCs+ODnuODs+ODieOBr+OAgeeKtuazgeOBq+OCiOOBo+OBpuODh+ODkOOCpOOCueOCkuWun+mam+OBq+ODnuOCpuODs+ODiOOBl+OBn+OCiuOBl+OBquOBi+OBo+OBn+OCilxuIgorI34gIuOBmeOCi+OBk+OBqOOBjOOBguOCi+OBruOBp+OAgeOBlOazqOaEj+OBj+OBoOOBleOBhOOAguOBvuOBn+OAgeS4i+iomOOBruOCiOOBhuOBq+OBl+OBpuOAgeaXouOBq+OBguOCi+ODh+OCo+ODrOOCr+ODiOODquOCklxuIgorI34gIuS7luOBruWgtOaJgOOBq+ODnuOCpuODs+ODiOOBmeOCi+OBk+OBqOOCguOBp+OBjeOBvuOBmTpcbiIKKyN+ICIgICAgICAgIG1vdW50IC0tYmluZCDlj6TjgYTjg4fjgqPjg6zjgq/jg4jjg6og5paw44GX44GE44OH44Kj44Os44Kv44OI44OqXG4iCisjfiAi44K144OW44OE44Oq44O844KS56e75YuV44GZ44KL44GT44Go44KC44Gn44GN44G+44GZOlxuIgorI34gIiAgICAgICAgbW91bnQgLS1tb3ZlIG9sZGRpciBuZXdkaXJcbiIKKyN+ICLjgb7jgZ/jgIHmjIflrprjgZfjgZ/jg4fjgqPjg6zjgq/jg4jjg6rjga7jg57jgqbjg7Pjg4jjgr/jgqTjg5fjgpLlpInmm7TjgZnjgovjgZPjgajjgoLjgafjgY3jgb7jgZk6XG4iCisjfiAiICAgICAgICBtb3VudCAtLW1ha2Utc2hhcmVkIOODh+OCo+ODrOOCr+ODiOODqlxuIgorI34gIiAgICAgICAgbW91bnQgLS1tYWtlLXNsYXZlIOODh+OCo+ODrOOCr+ODiOODqlxuIgorI34gIiAgICAgICAgbW91bnQgLS1tYWtlLXByaXZhdGUg44OH44Kj44Os44Kv44OI44OqXG4iCisjfiAiICAgICAgICBtb3VudCAtLW1ha2UtdW5iaW5kYWJsZSDjg4fjgqPjg6zjgq/jg4jjg6pcbiIKKyN+ICLjgZXjgonjgavjgIHmjIflrprjgZfjgZ/jg4fjgqPjg6zjgq/jg4jjg6rku6XkuIvjga7jgZnjgbnjgabjga7jg57jgqbjg7Pjg4jjgr/jgqTjg5fjgpLlpInmm7TjgZnjgovjgZPjgajjgoLjgafjgY3jgb7jgZk6XG4iCisjfiAiICAgICAgICBtb3VudCAtLW1ha2UtcnNoYXJlZCDjg4fjgqPjg6zjgq/jg4jjg6pcbiIKKyN+ICIgICAgICAgIG1vdW50IC0tbWFrZS1yc2xhdmUg44OH44Kj44Os44Kv44OI44OqXG4iCisjfiAiICAgICAgICBtb3VudCAtLW1ha2UtcnByaXZhdGUg44OH44Kj44Os44Kv44OI44OqXG4iCisjfiAiICAgICAgICBtb3VudCAtLW1ha2UtcnVuYmluZGFibGUg44OH44Kj44Os44Kv44OI44OqXG4iCisjfiAi44OH44OQ44Kk44K55ZCN44GvIC9kZXYvaGRhMSwgL2Rldi9jZHJvbSDjga7jgojjgYbjgavlkI3liY3jgafmjIflrprjgZnjgovjgZPjgajjgYzjgafjgY3jgovjgbvjgYvjgIFcbiIKKyN+ICLjg6njg5njg6sgKC1MIDzjg6njg5njg6s+KSDjgoQgVVVJRCAoLVUgPHV1aWQ+KSDjgafjg57jgqbjg7Pjg4jjgZnjgovjgZPjgajjgoLjgafjgY3jgb7jgZnjgIJcbiIKKyN+ICLjgZ3jga7ku5bjga7jgqrjg5fjgrfjg6fjg7M6IFstbmZGcnN2d10gWy1vIOOCquODl+OCt+ODp+ODs10gWy1wIOODkeOCueODr+ODvOODiV1cbiIKKyN+ICLoqbPjgZfjgY/jga8gbWFuIDggbW91bnQg44KS44GK6Kqt44G/44GP44Gg44GV44GE44CCXG4iCisKKyN+IG1zZ2lkICItLXBhc3MtZmQgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCIKKyN+IG1zZ3N0ciAiLS1wYXNzLWZkIOOBq+OBr+aXouOBq+WvvuW/nOOBl+OBpuOBhOOBvuOBm+OCkyIKKworI34gbXNnaWQgIm1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorI34gbXNnc3RyICJtb3VudDog44GT44KM44KS5a6f6KGM44Gn44GN44KL44Gu44GvIHJvb3Qg44Gg44GR44Gn44GZICjlrp/lirkgVUlEIOOBryAldSDjgafjgZkpIgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKKyN+IG1zZ3N0ciAibW91bnQ6IOOBk+OCjOOCkuWun+ihjOOBp+OBjeOCi+OBruOBryByb290IOOBoOOBkeOBp+OBmSIKKworI34gbXNnaWQgIm5vdGhpbmcgd2FzIG1vdW50ZWQiCisjfiBtc2dzdHIgIuS9leOCguODnuOCpuODs+ODiOOBleOCjOOBvuOBm+OCk+OBp+OBl+OBnyIKKworI34gbXNnaWQgIm1vdW50OiBubyBzdWNoIHBhcnRpdGlvbiBmb3VuZCIKKyN+IG1zZ3N0ciAibW91bnQ6IOOBneOBruOCiOOBhuOBquODkeODvOODhuOCo+OCt+ODp+ODs+OBr+imi+OBpOOBi+OCiuOBvuOBm+OCk+OBp+OBl+OBnyIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBmaW5kICVzIGluICVzIG9yICVzIgorI34gbXNnc3RyICJtb3VudDogJTIkcyDjgoQgJTMkcyDlhoXjgasgJTEkcyDjgYzjgYLjgorjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJbbW50ZW50XTogd2FybmluZzogbm8gZmluYWwgbmV3bGluZSBhdCB0aGUgZW5kIG9mICVzXG4iCisjfiBtc2dzdHIgIlttbnRlbnRdOiDorablkYo6ICVzIOOBruacgOW+jOOBq+aUueihjOOBjOOBguOCiuOBvuOBm+OCk1xuIgorCisjfiBtc2dpZCAiW21udGVudF06IGxpbmUgJWQgaW4gJXMgaXMgYmFkJXNcbiIKKyN+IG1zZ3N0ciAiW21udGVudF06ICUyJHMg44GuICUxJGQg6KGM55uu44GM5q2j44GX44GP44GC44KK44G+44Gb44KTJTMkc1xuIgorCisjfiBtc2dpZCAiOyByZXN0IG9mIGZpbGUgaWdub3JlZCIKKyN+IG1zZ3N0ciAiOyDjg5XjgqHjgqTjg6vlhoXjgavmm7jjgYvjgozjgZ/mrovjgorjga7oqK3lrprjga/nhKHoppbjgZXjgozjgb7jgZkiCisKKyN+IG1zZ2lkICJub3QgZW5vdWdoIG1lbW9yeSIKKyN+IG1zZ3N0ciAi44Oh44Oi44Oq44GM5LiN6Laz44GX44Gm44GE44G+44GZIgorCisjfiBtc2dpZCAidW1vdW50OiBjb21waWxlZCB3aXRob3V0IHN1cHBvcnQgZm9yIC1mXG4iCisjfiBtc2dzdHIgIm1vdW50OiAtZiDjgqrjg5fjgrfjg6fjg7Pjga7jgrXjg53jg7zjg4jnhKHjgZfjgafjgrPjg7Pjg5HjgqTjg6vjgZXjgozjgabjgYTjgb7jgZlcbiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IHNldCBncm91cCBpZDogJW0iCisjfiBtc2dzdHIgInVtb3VudDog44Kw44Or44O844OXIElEIOOCkuioreWumuOBp+OBjeOBvuOBm+OCkzogJW0iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBzZXQgdXNlciBpZDogJW0iCisjfiBtc2dzdHIgInVtb3VudDog44Om44O844K2IElEIOOCkuioreWumuOBp+OBjeOBvuOBm+OCkzogJW0iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBmb3JrOiAlcyIKKyN+IG1zZ3N0ciAidW1vdW50OiBmb3JrIOOBp+OBjeOBvuOBm+OCkzogJXMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBpbnZhbGlkIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczog5LiN5q2j44Gq44OW44Ot44OD44Kv44OH44OQ44Kk44K544Gn44GZIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogbm90IG1vdW50ZWQiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IOODnuOCpuODs+ODiOOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGNhbid0IHdyaXRlIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgInVtb3VudDogJXM6IOOCueODvOODkeODvOODluODreODg+OCr+OBq+abuOOBjei+vOOCgOOBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgIiIKKyN+ICJ1bW91bnQ6ICVzOiBkZXZpY2UgaXMgYnVzeS5cbiIKKyN+ICIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0IHVzZVxuIgorI34gIiAgICAgICAgIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKSkiCisjfiBtc2dzdHIgIiIKKyN+ICJ1bW91bnQ6ICVzOiDjg4fjg5DjgqTjgrnjgYzjg5Pjgrjjg7znirbmhYvjgafjgZnjgIJcbiIKKyN+ICIgICAgICAgICjjganjga7jg5fjg63jgrvjgrnjgYzkvb/nlKjjgZfjgabjgYTjgovjga7jgYvjgpLoqr/jgbnjgovjgavjga/jgIEgbHNvZig4KVxuIgorI34gIiAgICAgICAgIOOChCBmdXNlcigxKSDjgpLkvb/nlKjjgZnjgovjga7jgYzjgojjgYTjgafjgZfjgofjgYYpIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogbm90IGZvdW5kIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiDopovjgaTjgYvjgorjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBtdXN0IGJlIHN1cGVydXNlciB0byB1bW91bnQiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IOOCouODs+ODnuOCpuODs+ODiOOBmeOCi+OBq+OBr+OCueODvOODkeODvOODpuODvOOCtuOBp+OBquOBkeOCjOOBsOOBquOCiuOBvuOBm+OCkyIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGJsb2NrIGRldmljZXMgbm90IHBlcm1pdHRlZCBvbiBmcyIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczog44OV44Kh44Kk44Or44K344K544OG44Og5YaF44Gn44Gv44OW44Ot44OD44Kv44OH44OQ44Kk44K544GM6Kix5Y+v44GV44KM44G+44Gb44KTIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogJXMiCisjfiBtc2dzdHIgInVtb3VudDogJXM6ICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBpbnRlcm5hbCBlcnJvcjogaW52YWxpZCBhYnMgcGF0aDogJXMiCisjfiBtc2dzdHIgInVtb3VudDog5YaF6YOo44Ko44Op44O8OiDntbblr77jg5HjgrnjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpM6ICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gY2hkaXIgdG8gJXM6ICVtIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIOOBq+ODh+OCo+ODrOOCr+ODiOODquOCkuenu+WLleOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCk+OBp+OBl+OBnzogJW0iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGZhaWxlZCB0byBvYnRhaW4gY3VycmVudCBkaXJlY3Rvcnk6ICVtIgorI34gbXNnc3RyICJ1bW91bnQ6IOOCq+ODrOODs+ODiOODh+OCo+ODrOOCr+ODiOODquOCkuWPluW+l+OBp+OBjeOBvuOBm+OCk+OBp+OBl+OBnzogJW0iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IG1vdW50cG9pbnQgbW92ZWQgKCVzIC0+ICVzKSIKKyN+IG1zZ3N0ciAidW1vdW50OiDjg57jgqbjg7Pjg4jjg53jgqTjg7Pjg4jjgpLnp7vli5XjgZfjgb7jgZfjgZ8gKCVzIC0+ICVzKSIKKworI34gbXNnaWQgImN1cnJlbnQgZGlyZWN0b3J5IG1vdmVkIHRvICVzXG4iCisjfiBtc2dzdHIgIuOCq+ODrOODs+ODiOODh+OCo+ODrOOCr+ODiOODquOCkiAlcyDjgavnp7vli5XjgZfjgb7jgZfjgZ9cbiIKKworI34gbXNnaWQgIm5vIHVtb3VudDIsIHRyeWluZyB1bW91bnQuLi5cbiIKKyN+IG1zZ3N0ciAidW1vdW50MiDjgYzjgYLjgorjgb7jgZvjgpMsIHVtb3VudCDjgpLoqabjgZfjgabjgYTjgb7jgZkuLi5cbiIKKworI34gbXNnaWQgInVtb3VudDogJXMgYnVzeSAtIHJlbW91bnRlZCByZWFkLW9ubHlcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyDjga/kvb/nlKjkuK3jgafjgZkgLSDoqq3jgb/ovrzjgb/lsILnlKjjgajjgZfjgablho3jg57jgqbjg7Pjg4jjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgInVtb3VudDogY291bGQgbm90IHJlbW91bnQgJXMgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMg44KS6Kqt44G/6L6844G/5bCC55So44Gn5YaN44Oe44Km44Oz44OI44Gn44GN44G+44Gb44KT44Gn44GX44GfXG4iCisKKyN+IG1zZ2lkICIlcyBoYXMgYmVlbiB1bm1vdW50ZWRcbiIKKyN+IG1zZ3N0ciAiJXMg44KS44Ki44Oz44Oe44Km44Oz44OI44GX44G+44GX44GfXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBmaW5kIGxpc3Qgb2YgZmlsZXN5c3RlbXMgdG8gdW5tb3VudCIKKyN+IG1zZ3N0ciAidW1vdW50OiDjgqLjg7Pjg57jgqbjg7Pjg4jjgZnjgbnjgY3jg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga7kuIDopqfjgpLmpJzlh7rjgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IHVtb3VudCAtaCB8IC1WXG4iCisjfiAiICAgICAgIHVtb3VudCAtYSBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gWy10IHZmc3R5cGVzXSBbLU8gb3B0c11cbiIKKyN+ICIgICAgICAgdW1vdW50IFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBzcGVjaWFsIHwgbm9kZS4uLlxuIgorI34gbXNnc3RyICIiCisjfiAi5L2/44GE5pa5OiB1bW91bnQgLWggfCAtVlxuIgorI34gIiAgICAgICAgdW1vdW50IC1hIFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBbLXQgdmZz44K/44Kk44OXXSBbLU8g44Kq44OX44K344On44OzXVxuIgorI34gIiAgICAgICAgdW1vdW50IFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBzcGVjaWFsIHwgbm9kZS4uLlxuIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlICdvZmZzZXQ9JXMnIG9wdGlvbnNcbiIKKyN+IG1zZ3N0ciAiJ29mZnNldD0lcycg44Kq44OX44K344On44Oz44Gu6Kej6YeI44Gr5aSx5pWX44GX44G+44GX44GfXG4iCisKKyN+IG1zZ2lkICJkZXZpY2UgJXMgaXMgYXNzb2NpYXRlZCB3aXRoICVzXG4iCisjfiBtc2dzdHIgIuODh+ODkOOCpOOCuSAlcyDjga8gJXMg44Gr6Zai6YCj5LuY44GR44KJ44KM44Gm44GE44G+44GZXG4iCisKKyN+IG1zZ2lkICJkZXZpY2UgJXMgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICLjg4fjg5DjgqTjgrkgJXMg44GvICVzIOOBq+mWoumAo+OBpeOBkeOCieOCjOOBpuOBhOOBvuOBm+OCk1xuIgorCisjfiBtc2dpZCAiQ2Fubm90IHVubW91bnQgXCJcIlxuIgorI34gbXNnc3RyICJcIlwiIOOCkuOCouODs+ODnuOCpuODs+ODiOOBp+OBjeOBvuOBm+OCk1xuIgorCisjfiBtc2dpZCAiVHJ5aW5nIHRvIHVubW91bnQgJXNcbiIKKyN+IG1zZ3N0ciAiJXMg44KS44Ki44Oz44Oe44Km44Oz44OI44GX44KI44GG44Go44GX44Gm44GE44G+44GZXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNvbmZ1c2VkIHdoZW4gYW5hbHl6aW5nIG10YWIiCisjfiBtc2dzdHIgInVtb3VudDogbXRhYiDjga7op6Pph4jmmYLjgavmt7fkubHjgYznmbrnlJ/jgZfjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCB1bm1vdW50ICVzIC0tICVzIGlzIG1vdW50ZWQgb3ZlciBpdCBvbiB0aGUgc2FtZSBwb2ludCIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyDjgpLjgqLjg7Pjg57jgqbjg7Pjg4jjgafjgY3jgb7jgZvjgpMgLS0gJXMg44Gr6KSH5pWw44Gu44Oe44Km44Oz44OI44GM6KGM44KP44KM44Gm44GE44G+44GZIgorCisjfiBtc2dpZCAiQ291bGQgbm90IGZpbmQgJXMgaW4gbXRhYlxuIgorI34gbXNnc3RyICJtdGFiIOWGheOBqyAlcyDjgYzopovjgaTjgYvjgorjgb7jgZvjgpNcbiIKKworI34gbXNnaWQgInVtb3VudDogd2FybmluZzogJXMgaXMgYXNzb2NpYXRlZCB3aXRoIG1vcmUgdGhhbiBvbmUgbG9vcCBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiDorablkYo6ICVzIOOBr+ikh+aVsOOBruODq+ODvOODl+ODkOODg+OCr+ODh+ODkOOCpOOCueOBq+mWoumAo+S7mOOBkeOCieOCjOOBpuOBhOOBvuOBmVxuIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBpcyBub3QgbW91bnRlZCAoYWNjb3JkaW5nIHRvIG10YWIpIgorI34gbXNnc3RyICJ1bW91bnQ6IG10YWIg44Gu5oOF5aCx44Gr44KI44KL44Go44CBICVzIOOBr+ODnuOCpuODs+ODiOOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworI34gbXNnaWQgInVtb3VudDogaXQgc2VlbXMgJXMgaXMgbW91bnRlZCBtdWx0aXBsZSB0aW1lcyIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyDjga/opIfmlbDlm57jg57jgqbjg7Pjg4jjgZXjgozjgabjgYTjgovjgojjgYbjgafjgZkiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGlzIG5vdCBpbiB0aGUgZnN0YWIgKGFuZCB5b3UgYXJlIG5vdCByb290KSIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyDjga8gZnN0YWIg5YaF44Gr44GC44KK44G+44Gb44KTICjjgb7jgZ/jgIHjgYLjgarjgZ/jga8gcm9vdCDjgafjgoLjgYLjgorjgb7jgZvjgpMpIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBtb3VudCBkaXNhZ3JlZXMgd2l0aCB0aGUgZnN0YWIiCisjfiBtc2dzdHIgInVtb3VudDogJXMg44GvIGZzdGFiIOOBqOWQiOiHtOOBl+OBpuOBhOOBquOBhOODnuOCpuODs+ODiOOBp+OBmSIKKworI34gbXNnaWQgInVtb3VudDogb25seSAlcyBjYW4gdW5tb3VudCAlcyBmcm9tICVzIgorI34gbXNnc3RyICJ1bW91bnQ6ICUxJHMg44Gg44GR44GMICUzJHMg44GL44KJICUyJHMg44KS44Ki44Oz44Oe44Km44Oz44OI44Gn44GN44G+44GZIgorCisjfiBtc2dpZCAidW1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCisjfiBtc2dzdHIgInVtb3VudDog44GT44KM44KS5a6f6KGM44Gn44GN44KL44Gu44GvIHJvb3Qg44Gg44GR44Gn44GZIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIiUxJHMgLSBzZXRzIG9yIGdldHMgcHJvY2VzcyBpbyBzY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eS5cbiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgICUxJHMgW09QVElPTl0gLXAgUElEIFtQSUQuLi5dXG4iCisjfiAiICAlMSRzIFtPUFRJT05dIENPTU1BTkRcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAgLWMsIC0tY2xhc3MgPGNsYXNzPiAgIHNjaGVkdWxpbmcgY2xhc3MgbmFtZSBvciBudW1iZXJcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKKyN+ICIgIC1uLCAtLWNsYXNzZGF0YSA8bnVtPiBzY2hlZHVsaW5nIGNsYXNzIGRhdGFcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAwLTcgZm9yIHJlYWx0aW1lIGFuZCBiZXN0LWVmZm9ydCBjbGFzc2VzXG4iCisjfiAiICAtcCwgLS1waWQ9UElEICAgICAgICAgdmlldyBvciBtb2RpZnkgYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NcbiIKKyN+ICIgIC10LCAtLWlnbm9yZSAgICAgICAgICBpZ25vcmUgZmFpbHVyZXNcbiIKKyN+ICIgIC1WLCAtLXZlcnNpb24gICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAgLWgsIC0taGVscCAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlMSRzIC0g44OX44Ot44K744K544Gr5a++44GZ44KL44K544Kx44K444Ol44O844Or44Kv44Op44K544Go5YSq5YWI6aCG5L2N44KS5Y+W5b6X77yP6Kit5a6a44GX44G+44GZ44CCXG4iCisjfiAiXG4iCisjfiAi5L2/44GE5pa5OlxuIgorI34gIiAgJTEkcyBb44Kq44OX44K344On44OzXSAtcCBQSUQgW1BJRC4uLl1cbiIKKyN+ICIgICUxJHMgW+OCquODl+OCt+ODp+ODs10g44Kz44Oe44Oz44OJXG4iCisjfiAiXG4iCisjfiAi44Kq44OX44K344On44OzOlxuIgorI34gIiAgLWMsIC0tY2xhc3MgPOOCr+ODqeOCuT4gIOOCueOCseOCuOODpeODvOODq+OCr+ODqeOCueOCkuWQjeWJjeOBvuOBn+OBr+aVsOWApOOBp+aMh+WumuOBl+OBvuOBmVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IG5vbmUgKOOBquOBlyksIDE6IHJlYWx0aW1lICjjg6rjgqLjg6vjgr/jgqTjg6ApLFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDI6IGJlc3QtZWZmb3J0ICjjg5njgrnjg4jjgqjjg5Xjgqnjg7zjg4gpLCAzOiBpZGxlICjjgqLjgqTjg4njg6spXG4iCisjfiAiICAtbiwgLS1jbGFzc2RhdGEgPOaVsOWApD4g44K544Kx44K444Ol44O844Or44Kv44Op44K544Gu44OH44O844K/44KS5oyH5a6a44GX44G+44GZXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAg44K544Kx44K444Ol44O844Or44Kv44Op44K544GM44Oq44Ki44Or44K/44Kk44Og44CB44KC44GX44GP44GvXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAg44OZ44K544OI44Ko44OV44Kp44O844OI44Gu5aC05ZCI44CBIDAtNyDjgafmjIflrprjgZfjgb7jgZlcbiIKKyN+ICIgIC1wLCAtLXBpZD1QSUQgICAgICAgICDml6Ljgavlrp/ooYzkuK3jga7jg5fjg63jgrvjgrnjgavlr77jgZfjgablh6bnkIbjgpLooYzjgYTjgb7jgZlcbiIKKyN+ICIgIC10LCAtLWlnbm9yZSAgICAgICAgICDlpLHmlZfjgpLnhKHoppbjgZfjgb7jgZlcbiIKKyN+ICIgIC1WLCAtLXZlcnNpb24gICAgICAgICDjg5Djg7zjgrjjg6fjg7Pmg4XloLHjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyN+ICIgIC1oLCAtLWhlbHAgICAgICAgICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPHR0eT4gWy4uLl1cbiIKKyN+IG1zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIDx0dHk+IFsuLi5dXG4iCisKKyN+IG1zZ2lkICIgLXMsIC0tc2V0LXRocmVzaG9sZCA8bnVtPiAgICAgICAgICBzZXQgaW50ZXJydXB0aW9uIHRocmVzaG9sZCB2YWx1ZVxuIgorI34gbXNnc3RyICIgLXMsIC0tc2V0LXRocmVzaG9sZCA855Wq5Y+3PiAgICAgICAgIOWJsuOCiui+vOOBv+mWvuWApOOCkuioreWumuOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIC1TLCAtLXNldC1kZWZhdWx0LXRocmVzaG9sZCA8bnVtPiAgc2V0IGRlZmF1bHQgdGhyZXNob2xkIHZhbHVlXG4iCisjfiBtc2dzdHIgIiAtUywgLS1zZXQtZGVmYXVsdC10aHJlc2hvbGQgPG51bT4gIOaXouWumuOBrumWvuWApOOCkuioreWumuOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIC10LCAtLXNldC1mbHVzaCA8bnVtPiAgICAgICAgICAgICAgc2V0IGZsdXNoIHRpbWVvdXQgdG8gdmFsdWVcbiIKKyN+IG1zZ3N0ciAiIC10LCAtLXNldC1mbHVzaCA85pWw5YCkPiAgICAgICAgICAgICDjg5Xjg6njg4Pjgrfjg6Xjgr/jgqTjg6DjgqLjgqbjg4jlgKTjgpLmjIflrprjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiAtVCwgLS1zZXQtZGVmYXVsdC1mbHVzaCA8bnVtPiAgICAgIHNldCB0aGUgZGVmYXVsdCBmbHVzaCB0aW1lb3V0IHRvIHZhbHVlXG4iCisjfiBtc2dzdHIgIiAtVCwgLS1zZXQtZGVmYXVsdC1mbHVzaCA8bnVtPiAgICAgIOaXouWumuOBruODleODqeODg+OCt+ODpeOCv+OCpOODoOOCouOCpuODiOWApOOCkuioreWumuOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIC1pLCAtLWludGVydmFsIDxzZWNvbmRzPiAgICAgICAgICAgZ2F0aGVyIHN0YXRpc3RpY3MgZXZlcnkgPHNlY29uZHM+IGludGVydmFsXG4iCisjfiBtc2dzdHIgIiAtaSwgLS1pbnRlcnZhbCA856eSPiAgICAgICAgICAgICAgICA856eSPiDjgafmjIflrprjgZfjgZ/plpPpmpTjgafntbHoqIjmg4XloLHjgpLlj47pm4bjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiIKKyN+ICJGaWxlICVzLCBGb3IgdGhyZXNob2xkIHZhbHVlICVsdSwgTWF4aW11bSBjaGFyYWN0ZXJzIGluIGZpZm8gd2VyZSAlZCxcbiIKKyN+ICJhbmQgdGhlIG1heGltdW0gdHJhbnNmZXIgcmF0ZSBpbiBjaGFyYWN0ZXJzL3NlY29uZCB3YXMgJWYiCisjfiBtc2dzdHIgIiIKKyN+ICLjg5XjgqHjgqTjg6sgJXMsIOmWvuWApCAlbHUsIOODkeOCpOODl+WGheOBruacgOWkp+OCreODo+ODqeOCr+OCv+aVsOOBryAlZCDjgafjgZfjgZ/jgIJcbiIKKyN+ICLjgb7jgZ/jgIHnp5LplpPmnIDlpKfjgq3jg6Pjg6njgq/jgr/ou6LpgIHjg6zjg7zjg4jjga8gJWYg44Gn44GX44Gf44CCIgorCisjfiBtc2dpZCAiIgorI34gIkZpbGUgJXMsIEZvciB0aHJlc2hvbGQgdmFsdWUgJWx1IGFuZCB0aW1lb3V0IHZhbHVlICVsdSwgTWF4aW11bSBjaGFyYWN0ZXJzIGluIGZpZm8gd2VyZSAlZCxcbiIKKyN+ICJhbmQgdGhlIG1heGltdW0gdHJhbnNmZXIgcmF0ZSBpbiBjaGFyYWN0ZXJzL3NlY29uZCB3YXMgJWYiCisjfiBtc2dzdHIgIiIKKyN+ICLjg5XjgqHjgqTjg6sgJXMsIOmWvuWApCAlbHUsIOOCv+OCpOODoOOCouOCpuODiOWApCAlbHUsIOODkeOCpOODl+WGheOBruacgOWkp+OCreODo+ODqeOCr+OCv1xuIgorI34gIuaVsOOBryAlZCDjgafjgZfjgZ/jgILnp5LplpPmnIDlpKfjgq3jg6Pjg6njgq/jgr/ou6LpgIHjg6zjg7zjg4jjga8gJWYg44Gn44GX44Gf44CCIgorCisjfiBtc2dpZCAiY2Fubm90IGlzc3VlIENZR0VUTU9OIG9uICVzIgorI34gbXNnc3RyICIlcyDjgavlr77jgZfjgaYgQ1lHRVRNT04g44KS55m66KGM44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAiY2Fubm90IGdldCB0aHJlc2hvbGQgZm9yICVzIgorI34gbXNnc3RyICIlcyDjga7plr7lgKTjgpLlj5blvpfjgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRpbWVvdXQgZm9yICVzIgorI34gbXNnc3RyICIlcyDjga7mmYLplpPliLbpmZDjgpLlj5blvpfjgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICIlczogJWx1IGludHMsICVsdS8lbHUgY2hhcnM7IGZpZm86ICVsdSB0aHJlc2gsICVsdSB0bW91dCwgJWx1IG1heCwgJWx1IG5vd1xuIgorI34gbXNnc3RyICIiCisjfiAiJXM6IOWJsuOCiui+vOOBvyAlbHUsIOOCreODo+ODqeOCr+OCvyAlbHUvJWx1OyBmaWZvOiDplr7lgKQgJWx1LCDjgr/jgqTjg6DjgqLjgqbjg4ggJWx1LFxuIgorI34gIiAgICDmnIDlpKcgJWx1LCDnj77lnKggJWx1XG4iCisKKyN+IG1zZ2lkICIgICAlZiBpbnQvc2VjOyAlZiByZWMsICVmIHNlbmQgKGNoYXIvc2VjKVxuIgorI34gbXNnc3RyICIgICAlZiDlibLjgorovrzjgb8v56eSOyDkvJ3pgIEgJWYsIOmAgeS/oSAlZiAo44Kt44Oj44Op44Kv44K/L+enkilcbiIKKworI34gbXNnaWQgIiVzOiAlbHUgaW50cywgJWx1IGNoYXJzOyBmaWZvOiAlbHUgdGhyZXNoLCAlbHUgdG1vdXQsICVsdSBtYXgsICVsdSBub3dcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiDlibLjgorovrzjgb8gJWx1LCDjgq3jg6Pjg6njgq/jgr8gJWx1OyBmaWZvOiDplr7lgKQgJWx1LCDjgr/jgqTjg6DjgqLjgqbjg4ggJWx1LFxuIgorI34gIiAgICDmnIDlpKcgJWx1LCDnj77lnKggJWx1XG4iCisKKyN+IG1zZ2lkICIgICAlZiBpbnQvc2VjOyAlZiByZWMgKGNoYXIvc2VjKVxuIgorI34gbXNnc3RyICIgICAlZiDlibLjgorovrzjgb8v56eSOyDkvJ3pgIEgJWYgKOOCreODo+ODqeOCr+OCvy/np5IpXG4iCisKKyN+IG1zZ2lkICJJbnZhbGlkIGludGVydmFsIHZhbHVlIgorI34gbXNnc3RyICLplpPpmpTlgKTjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJJbnZhbGlkIGludGVydmFsIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAi6ZaT6ZqU5YCk44GM5q2j44GX44GP44GC44KK44G+44Gb44KTOiAlZCIKKworI34gbXNnaWQgIkludmFsaWQgc2V0IHZhbHVlIgorI34gbXNnc3RyICLoqK3lrprlgKTjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIuioreWumuWApOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkzogJWQiCisKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdmFsdWUiCisjfiBtc2dzdHIgIuaXouWumuWApOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIuaXouWumuWApOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkzogJWQiCisKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICLmmYLplpPlgKTjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAi5pmC6ZaT5YCk44GM5q2j44GX44GP44GC44KK44G+44Gb44KTOiAlZCIKKworI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICLml6Llrprjga7mmYLplpPlgKTjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdGltZSB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIuaXouWumuOBruaZgumWk+WApOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkzogJWQiCisKKyN+IG1zZ2lkICJjYW5ub3Qgc2V0ICVzIHRvIHRocmVzaG9sZCAlZCIKKyN+IG1zZ3N0ciAiJXMg44KS6Za+5YCkICVkIOOBq+ioreWumuOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgImNhbm5vdCBzZXQgJXMgdG8gdGltZSB0aHJlc2hvbGQgJWQiCisjfiBtc2dzdHIgIiVzIOOCkuaZgumWk+mWvuWApCAlZCDjgavoqK3lrprjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICIlczogJWxkIGN1cnJlbnQgdGhyZXNob2xkIGFuZCAlbGQgY3VycmVudCB0aW1lb3V0XG4iCisjfiBtc2dzdHIgIiVzOiDnj77lnKjjga7plr7lgKQgJWxkLCDnj77lnKjjga7jgr/jgqTjg6DjgqLjgqbjg4ggJWxkXG4iCisKKyN+IG1zZ2lkICIlczogJWxkIGRlZmF1bHQgdGhyZXNob2xkIGFuZCAlbGQgZGVmYXVsdCB0aW1lb3V0XG4iCisjfiBtc2dzdHIgIiVzOiDml6Llrprjga7plr7lgKQgJWxkLCDml6Llrprjga7jgr/jgqTjg6DjgqLjgqbjg4ggJWxkXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgZG9uJ3QgbW9kaWZ5IHRoZSBsZW5ndGggb2YgdGhlIGZpbGVcbiIKKyN+ICIgLXAsIC0tcHVuY2gtaG9sZSAgICBwdW5jaCBob2xlcyBpbiB0aGUgZmlsZVxuIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBvZiB0aGUgYWxsb2NhdGlvbiwgaW4gYnl0ZXNcbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgdGhlIGFsbG9jYXRpb24sIGluIGJ5dGVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLW4sIC0ta2VlcC1zaXplICAgICDjg5XjgqHjgqTjg6vjga7plbfjgZXjga/lpInmm7TjgZfjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKyN+ICIgLXAsIC0tcHVuY2gtaG9sZSAgICDjg5XjgqHjgqTjg6vlhoXjgavjg5Hjg7Pjg4Hjg5vjg7zjg6sgKOeptCkg44KS5L2c5oiQ44GX44G+44GZXG4iCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAg5Ymy44KK5b2T44Gm44Gu44Kq44OV44K744OD44OI5YCk44KS44OQ44Kk44OI5Y2Y5L2N44Gn5oyH5a6a44GX44G+44GZXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8bnVtPiAg5Ymy44KK5b2T44Gm44Gu6ZW344GV44KS44OQ44Kk44OI5Y2Y5L2N44Gn5oyH5a6a44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorI34gIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorI34gIiAtbSwgLS1taW5pbXVtIDxudW0+IG1pbmltdW0gZXh0ZW50IGxlbmd0aCB0byBkaXNjYXJkXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgbnVtYmVyIG9mIGRpc2NhcmRlZCBieXRlc1xuIgorI34gbXNnc3RyICIiCisjfiAiIC1vLCAtLW9mZnNldCA85pWw5YCkPiBkaXNjYXJkIOWHpueQhuOBrumWi+Wni+S9jee9ruOCkuODkOOCpOODiOWNmOS9jeOBp+aMh+WumuOBl+OBvuOBmVxuIgorI34gIiAtbCwgLS1sZW5ndGggPOaVsOWApD4g6ZaL5aeL5L2N572u44GL44KJ44GuIGRpc2NhcmQg5Yem55CG44Gu6ZW344GV44KS44OQ44Kk44OI5Y2Y5L2N44Gn5oyH5a6a44GX44G+44GZXG4iCisjfiAiIC1tLCAtLW1pbmltdW0gPOaVsOWApD4gZGlzY2FyZCDlh6bnkIbjgpLooYzjgYbmnIDlsI/jgqjjgq/jgrnjg4bjg7Pjg4jplbfjgpLmjIflrprjgZfjgb7jgZlcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICBkaXNjYXJkIOWHpueQhuOCkuihjOOBo+OBn+mVt+OBleOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIgorI34gIlRpbWUgZWxhcHNlZCBzaW5jZSByZWZlcmVuY2UgdGltZSBoYXMgYmVlbiAlLjZmIHNlY29uZHMuXG4iCisjfiAiRGVsYXlpbmcgZnVydGhlciB0byByZWFjaCB0aGUgbmV3IHRpbWUuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLmmYLliLvjgpLlj4LnhafjgZfjgZ/mmYLngrnjgYvjgokgJS42ZiDnp5LjgYzntYzpgY7jgZfjgabjgYTjgb7jgZnjgIJcbiIKKyN+ICLmrKHjga7np5Ljgb7jgafpgYXjgonjgZvjgb7jgZnjgIJcbiIKKworI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGV0ZXJtaW5lIHNvdXJjZSIKKyN+IG1zZ3N0ciAiJXM6IOODnuOCpuODs+ODiOWFg+OBruWIpOWIpeOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgIiAtdGVybSA8dGVybWluYWxfbmFtZT5cbiIKKyN+IG1zZ3N0ciAiIC10ZXJtIDznq6/mnKvlkI0+XG4iCisKKyN+IG1zZ2lkICIgLXRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICAgICAodGFibiA9IDEtMTYwKVxuIgorI34gbXNnc3RyICIgLXRhYnMgPOOCv+ODljEg44K/44OWMiDjgr/jg5YzIC4uLj4gICAgICAo44K/44OWID0gMS0xNjApXG4iCisKKyN+IG1zZ2lkICIgLWNscnRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICAodGFibiA9IDEtMTYwKVxuIgorI34gbXNnc3RyICIgLWNscnRhYnMgPOOCv+ODljEg44K/44OWMiDjgr/jg5YzIC4uLj4gICAo44K/44OWID0gMS0xNjApXG4iCisKKyN+IG1zZ2lkICJFcnJvciB3cml0aW5nIHNjcmVlbmR1bXAiCisjfiBtc2dzdHIgIuOCueOCr+ODquODvOODs+ODgOODs+ODl+OBruabuOOBjei+vOOBv+aZguOBq+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgIkNvdWxkbid0IHJlYWQgbmVpdGhlciAvZGV2L3Zjc2EwIG5vciAvZGV2L3Zjc2EiCisjfiBtc2dzdHIgIi9kZXYvdmNzYTAg44KCIC9kZXYvdmNzYSDjgoLplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ8iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLkvb/jgYTmlrk6ICVzIFvjgqrjg5fjgrfjg6fjg7NdIOODleOCoeOCpOODqy4uLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIk9wdGlvbnM6XG4iCisjfiAiICAtZCAgICAgICAgZGlzcGxheSBoZWxwIGluc3RlYWQgb2YgcmluZyBiZWxsXG4iCisjfiAiICAtZiAgICAgICAgY291bnQgbG9naWNhbCwgcmF0aGVyIHRoYW4gc2NyZWVuIGxpbmVzXG4iCisjfiAiICAtbCAgICAgICAgc3VwcHJlc3MgcGF1c2UgYWZ0ZXIgZm9ybSBmZWVkXG4iCisjfiAiICAtcCAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIKKyN+ICIgIC1jICAgICAgICBkbyBub3Qgc2Nyb2xsLCBkaXNwbGF5IHRleHQgYW5kIGNsZWFuIGxpbmUgZW5kc1xuIgorI34gIiAgLXUgICAgICAgIHN1cHByZXNzIHVuZGVybGluaW5nXG4iCisjfiAiICAtcyAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorI34gIiAgLU5VTSAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBsaW5lcyBwZXIgc2NyZWVuZnVsXG4iCisjfiAiICArTlVNICAgICAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIGxpbmUgbnVtYmVyIE5VTVxuIgorI34gIiAgKy9TVFJJTkcgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBzZWFyY2ggc3RyaW5nIG1hdGNoXG4iCisjfiAiICAtViAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIuOCquODl+OCt+ODp+ODszpcbiIKKyN+ICIgIC1kICAgICAgICDjg5Pjg7zjg5fpn7Pjga7ku6Pjgo/jgorjgavjg5jjg6vjg5fjgpLooajnpLrjgZfjgb7jgZlcbiIKKyN+ICIgIC1mICAgICAgICDnlLvpnaLooYzmlbDjgafjga/jgarjgY/jgIHoq5bnkIbooYzmlbDjgpLmlbDjgYjjgb7jgZlcbiIKKyN+ICIgIC1sICAgICAgICBmb3JtIGZlZWQg5paH5a2X44Gn44Gu5LiA5pmC5YGc5q2i44KS55yB55Wl44GX44G+44GZXG4iCisjfiAiICAtcCAgICAgICAg44K544Kv44Ot44O844Or44KS6KGM44Gq44KP44Ga44CB55S76Z2i44KS44GE44Gj44Gf44KT5raI5Y6744GX44Gm6KGo56S644GX44G+44GZXG4iCisjfiAiICAtYyAgICAgICAg44K544Kv44Ot44O844Or44KS6KGM44Gq44KP44Ga44CB5LiK56uv44GL44KJ44OG44Kt44K544OI44KS6KGo56S644GX44G+44GZXG4iCisjfiAiICAtdSAgICAgICAg5LiL57ea6KGo56S644KS55yB55Wl44GX44G+44GZXG4iCisjfiAiICAtcyAgICAgICAg6KSH5pWw44Gu56m66KGM44KS55yB55Wl44GX44CBIDEg6KGM44Gr44G+44Go44KB44G+44GZXG4iCisjfiAiICAtTlVNICAgICAg44GE44Gj44G644KT44Gr6KGo56S644GZ44KL6KGM5pWw44KS5oyH5a6a44GX44G+44GZXG4iCisjfiAiICArTlVNICAgICAg5oyH5a6a44GX44Gf6KGM44GL44KJ6KGo56S644GX44G+44GZXG4iCisjfiAiICArL1NUUklORyAg5paH5a2X5YiX44Gr6Kmy5b2T44GZ44KL566H5omA44GL44KJ44OV44Kh44Kk44Or44KS6KGo56S644GX44G+44GZXG4iCisjfiAiICAtViAgICAgICAg44OQ44O844K444On44Oz5oOF5aCx44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICIuLi5iYWNrIDEgcGFnZSIKKyN+IG1zZ3N0ciAiLi4uIDEg44Oa44O844K45oi744KK44G+44GZIgorCisjfiBtc2dpZCAiLi4uc2tpcHBpbmcgb25lIGxpbmUiCisjfiBtc2dzdHIgIi4uLiAxIOihjOmjm+OBsOOBl+OBvuOBmSIKZGlmZiAtLWdpdCBhL3BvL25sLnBvIGIvcG8vbmwucG8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzBhNzIzZgotLS0gL2Rldi9udWxsCisrKyBiL3BvL25sLnBvCkBAIC0wLDAgKzEsMjM2MzYgQEAKKyMgRHV0Y2ggdHJhbnNsYXRpb25zIGZvciB0aGUgJ3V0aWwtbGludXgnIExpbnV4IFV0aWxpdGllcy4KKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIHV0aWwtbGludXggcGFja2FnZS4KKyMKKyMgUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGZyZWVseSBjb3B5IGFuZCBkaXN0cmlidXRlIHRoaXMgZmlsZQorIyBhbmQgbW9kaWZpZWQgdmVyc2lvbnMsIHByb3ZpZGVkIHRoYXQgdGhpcyBoZWFkZXIgaXMgbm90IHJlbW92ZWQKKyMgYW5kIG1vZGlmaWVkIHZlcnNpb25zIGFyZSBtYXJrZWQgYXMgc3VjaC4KKyMKKyMgIOKVkuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVlQorIyAg4pSCICAgSGVqIGhlaiwgbWFzeiBrbGVqPyAgIOKUggorIyAg4pSCIEhlamEgaGVqYSwgbmVtYW0ga2xlamEuIOKUggorIyAg4pWY4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWbCisjCisjIENvbnZlbnRpZTogaW4gaGV0IE5lZGVybGFuZHMgemlqbiBkZSBkb2NzdHJpbmdzIGluIGRlIGRlcmRlIHBlcnNvb24sCisjIG5pZXQgaW4gZGUgaW1wZXJhdGllZiBvZiBkZSBpbmZpbml0aWVmLgorIworIyBXb29yZGdlYnJ1aWs6CisjIGJsb2NrICAgIC0+IGJsb2sKKyMgc2VjdG9yICAgLT4gc2VjdG9yCisjIGN5bGluZGVyIC0+IGNpbGluZGVyCisjIHZvbHVtZSAgIC0+IHZvbHVtZW4KKyMgZmlsZXN5c3RlbSB0eXBlIC0+IGJlc3RhbmRzc3lzdGVlbXNvb3J0CisjIHBhcnRpdGlvbiB0eXBlICAtPiBwYXJ0aXRpZXR5cGUKKyMgKGlub2RlIGJsaWpmdCBvbnZlcnRhYWxkKQorIworIyBCZXJpY2h0dmVydGFsaW5nZW4gZGllIG1ldCAjIyMgYmVnaW5uZW4gemlqbiBpbiBmZWl0ZSBkZWJ1Zy1tZWxkaW5nZW4KKyMgZW4gZGUgYmlqYmVob3JlbmRlIG1zZ2lkcyB6b3VkZW4gbmlldCBpbiBkaXQgYmVzdGFuZCBtb2V0ZW4gdm9vcmtvbWVuLgorIworIyBUYWNvIFdpdHRlIDx0Y3dpdHRlQGNzLnV1Lm5sPiwgMjAwMiwgMjAwMy4KKyMgTHVrIENsYWVzIDxsdWsuY2xhZXNAdWdlbnQuYmU+LCAyMDA1LgorIyBCZW5ubyBTY2h1bGVuYmVyZyA8YmVubm9AdmVydGFhbHQubmw+LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwLCAyMDExLgorIyBCZW5ubyBTY2h1bGVuYmVyZyA8YmVubm9AdmVydGFhbHQubmw+LCAyMDEyLCAyMDEzLCAyMDE0LCAyMDE1LCAyMDE2LgorbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdXRpbC1saW51eC0yLjI5LXJjMlxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiB1dGlsLWxpbnV4QHZnZXIua2VybmVsLm9yZ1xuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE3LTAyLTIyIDEyOjMyKzAxMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE2LTEwLTMwIDE3OjAxKzAxMDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IEJlbm5vIFNjaHVsZW5iZXJnIDxiZW5ub0B2ZXJ0YWFsdC5ubD5cbiIKKyJMYW5ndWFnZS1UZWFtOiBEdXRjaCA8dmVydGFsaW5nQHZyaWpzY2hyaWZ0Lm9yZz5cbiIKKyJMYW5ndWFnZTogbmxcbiIKKyJNSU1FLVZlcnNpb246IDEuMFxuIgorIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgorIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKyJYLUJ1Z3M6IFJlcG9ydCB0cmFuc2xhdGlvbiBlcnJvcnMgdG8gdGhlIExhbmd1YWdlLVRlYW0gYWRkcmVzcy5cbiIKKyJYLUdlbmVyYXRvcjogTG9rYWxpemUgMS4wXG4iCisiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4gIT0gMSk7XG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8c3RhcnQ+IDxsZW5ndGg+XG4iCittc2dzdHIgIiAgJXMgPGJsb2thcHBhcmFhdD4gPHBhcnRpdGllbnVtbWVyPiA8YmVnaW4+IDxsZW5ndGU+XG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE4Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBleGlzdGVuY2Ugb2YgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICJWZXJ0ZWx0IGRlIGtlcm5lbCBvdmVyIGhldCBiZXN0YWFuIHZhbiBkZSBvcGdlZ2V2ZW4gcGFydGl0aWUuXG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjU2IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyNzYgZGlzay11dGlscy9ibG9ja2Rldi5jOjQyMAorIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ0NiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzQgZGlzay11dGlscy9kZWxwYXJ0LmM6NTcKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjcgZGlzay11dGlscy9mZGlzay5jOjcxOCBkaXNrLXV0aWxzL2ZkaXNrLmM6OTk0CisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozMDEgZGlzay11dGlscy9mZGlzay1saXN0LmM6MzQxCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNjAgZGlzay11dGlscy9mc2NrLmM6MTQ0OAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1NSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTEwCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMzQgZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4OQorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE3MyBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjYxCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzg4IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxOQorIzogZGlzay11dGlscy9ta3N3YXAuYzoyMTUgZGlzay11dGlscy9ta3N3YXAuYzoyNDQgZGlzay11dGlscy9wYXJ0eC5jOjk5NAorIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6NjQ3IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzAzCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc1NyBkaXNrLXV0aWxzL3NmZGlzay5jOjgxNiBkaXNrLXV0aWxzL3NmZGlzay5jOjg4MAorIzogZGlzay11dGlscy9zZmRpc2suYzo5MjEgZGlzay11dGlscy9zZmRpc2suYzo5NTEgZGlzay11dGlscy9zZmRpc2suYzo5ODgKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUzNyBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjYwIGxpYmZkaXNrL3NyYy9ic2QuYzo2NDEKKyM6IGxpYi9wYXRoLmM6NzAgbGliL3BhdGguYzo4MiBsb2dpbi11dGlscy9pc2xvY2FsLmM6ODcgbG9naW4tdXRpbHMvbGFzdC5jOjY3MgorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ0NiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDgzCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM1OQorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODEgbG9naW4tdXRpbHMvdmlwdy5jOjI1OCBsb2dpbi11dGlscy92aXB3LmM6Mjc2CisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDk3IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE4OCBtaXNjLXV0aWxzL21jb29raWUuYzoxMTUKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMDcgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODMgc3lzLXV0aWxzL2RtZXNnLmM6NTIyCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MDAgc3lzLXV0aWxzL2VqZWN0LmM6NzAwIHN5cy11dGlscy9mYWxsb2NhdGUuYzozNzQKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyOCBzeXMtdXRpbHMvZnN0cmltLmM6NzIgc3lzLXV0aWxzL2h3Y2xvY2suYzoyODIKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2Mzggc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTYyCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNTYgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDAxCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MjIgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDY5CisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozODggc3lzLXV0aWxzL25zZW50ZXIuYzoxMjggc3lzLXV0aWxzL3J0Y3dha2UuYzoxMzYKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MjcwIHN5cy11dGlscy9zZXRwcml2LmM6MjMwIHN5cy11dGlscy9zZXRwcml2LmM6NTI5CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1MiBzeXMtdXRpbHMvc3dhcG9uLmM6MzcxIHN5cy11dGlscy9zd2Fwb24uYzo1MTQKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2MyBzeXMtdXRpbHMvdW5zaGFyZS5jOjEwNiBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyMQorIzogc3lzLXV0aWxzL3dkY3RsLmM6MzIxIHN5cy11dGlscy93ZGN0bC5jOjM3NyB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MTgKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEyNyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQyNSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQzMQorIzogdGVybS11dGlscy9zY3JpcHQuYzo0MzMgdGVybS11dGlscy9zY3JpcHQuYzo1MjIKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTk3IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjAwCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozMzEgdGV4dC11dGlscy9jb2xjcnQuYzoyODIgdGV4dC11dGlscy9tb3JlLmM6NTEzCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjE0MSB0ZXh0LXV0aWxzL3RhaWxmLmM6NjggdGV4dC11dGlscy90YWlsZi5jOjEwMAorIzogdGV4dC11dGlscy91bC5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAia2FuICVzIG5pZXQgb3BlbmVuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1OSBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MCBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzo5OAorbXNnaWQgImludmFsaWQgcGFydGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAib25nZWxkaWcgcGFydGl0aWVudW1tZXIiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYwCittc2dpZCAiaW52YWxpZCBzdGFydCBhcmd1bWVudCIKK21zZ3N0ciAib25nZWxkaWcgYmVnaW4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYxIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwOAorbXNnaWQgImludmFsaWQgbGVuZ3RoIGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZ2UgbGVuZ3RlIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MgorbXNnaWQgImZhaWxlZCB0byBhZGQgcGFydGl0aW9uIgorbXNnc3RyICJ0b2V2b2VnZW4gdmFuIHBhcnRpdGllIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo2MworbXNnaWQgInNldCByZWFkLW9ubHkiCittc2dzdHIgImFsbGVlbi1sZXplbiBpbnN0ZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3MAorbXNnaWQgInNldCByZWFkLXdyaXRlIgorbXNnc3RyICJsZXplbi1lbi1zY2hyaWp2ZW4gaW5zdGVsbGVuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzYKK21zZ2lkICJnZXQgcmVhZC1vbmx5IgorbXNnc3RyICJzY2hyaWpmc3RhdHVzIHRvbmVuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODIKK21zZ2lkICJnZXQgZGlzY2FyZCB6ZXJvZXMgc3VwcG9ydCBzdGF0dXMiCittc2dzdHIgIm9uZGVyc3RldW5pbmcgdm9vciB3ZWdsYXRlbiB2YW4gbnVsbGVuIHRvbmVuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODgKK21zZ2lkICJnZXQgbG9naWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICJsb2dpc2NoZSBzZWN0b3Jncm9vdHRlIHRvbmVuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6OTQKK21zZ2lkICJnZXQgcGh5c2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAiZnlzaWVrZSBzZWN0b3Jncm9vdHRlIHRvbmVuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTAwCittc2dpZCAiZ2V0IG1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgIm1pbmltYWxlIGluLS91aXR2b2VyZ3Jvb3R0ZSB0b25lbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwNgorbXNnaWQgImdldCBvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICJvcHRpbWFsZSBpbi0vdWl0dm9lcmdyb290dGUgdG9uZW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTIKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAidWl0bGlqbmluZ3Nwb3NpdGllIGluIGJ5dGVzIHRvbmVuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTE4Cittc2dpZCAiZ2V0IG1heCBzZWN0b3JzIHBlciByZXF1ZXN0IgorbXNnc3RyICJtYXhpbXVtIGFhbnRhbCBzZWN0b3JlbiBwZXIgdmVyem9layB0b25lbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEyNAorbXNnaWQgImdldCBibG9ja3NpemUiCittc2dzdHIgImJsb2tncm9vdHRlIHRvbmVuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTMxCittc2dpZCAic2V0IGJsb2Nrc2l6ZSBvbiBmaWxlIGRlc2NyaXB0b3Igb3BlbmluZyB0aGUgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJibG9rZ3Jvb3R0ZSBpbnN0ZWxsZW4gb3AgYmVzdGFuZHNkZXNjcmlwdG9yIGRpZSBibG9rLWFwcGFyYWF0IG9wZW50IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTM3Cittc2dpZCAiZ2V0IDMyLWJpdCBzZWN0b3IgY291bnQgKGRlcHJlY2F0ZWQsIHVzZSAtLWdldHN6KSIKK21zZ3N0ciAiMzItYml0cy1zZWN0b3JhYW50YWwgdG9uZW4gKHZlcm91ZGVyZDsgZ2VicnVpayAnLS1nZXRzeicpIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTQzCittc2dpZCAiZ2V0IHNpemUgaW4gYnl0ZXMiCittc2dzdHIgImdyb290dGUgaW4gYnl0ZXMgdG9uZW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTAKK21zZ2lkICJzZXQgcmVhZGFoZWFkIgorbXNnc3RyICJ2b29ydWl0bGV6aW5nIGluc3RlbGxlbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1NgorbXNnaWQgImdldCByZWFkYWhlYWQiCittc2dzdHIgInZvb3J1aXRsZXppbmcgdG9uZW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjMKK21zZ2lkICJzZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgInZvb3J1aXRsZXppbmcgdmFuIGJlc3RhbmRzc3lzdGVlbSBpbnN0ZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjkKK21zZ2lkICJnZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgInZvb3J1aXRsZXppbmcgdmFuIGJlc3RhbmRzc3lzdGVlbSB0b25lbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3MworbXNnaWQgImZsdXNoIGJ1ZmZlcnMiCittc2dzdHIgImJ1ZmZlcnMgbGVlZ21ha2VuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTc3Cittc2dpZCAicmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAicGFydGl0aWV0YWJlbCBvcG5pZXV3IGlubGV6ZW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlMSRzIC1WXG4iCisiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisiXG4iCisiQXZhaWxhYmxlIGNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisiXG4iCisiR2VicnVpazogICUxJHMgLVZcbiIKKyIgICAgICAgICAgJTEkcyAtLXJlcG9ydCBbYXBwYXJhYXQuLi5dXG4iCisiICAgICAgICAgICUxJHMgWy12fC1xXSBvcGRyYWNodC4uLiBhcHBhcmFhdC4uLlxuIgorIlxuIgorIkJlc2NoaWtiYXJlIG9wZHJhY2h0ZW46XG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICUtMjVzIGdldCBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnNcbiIKK21zZ3N0ciAiICAlLTI1cyBncm9vdHRlIGluIDUxMi1ieXRlIHNlY3RvcmVuIHRvbmVuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMTEKK21zZ2lkICJjb3VsZCBub3QgZ2V0IGRldmljZSBzaXplIgorbXNnc3RyICJrYW4gYXBwYXJhYXRncm9vdHRlIG5pZXQgYWNodGVyaGFsZW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjb21tYW5kOiAlcyIKK21zZ3N0ciAiT25iZWtlbmRlIG9wZHJhY2h0OiAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXMgdmVyZWlzdCBlZW4gYXJndW1lbnQiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNjggZGlzay11dGlscy9ibG9ja2Rldi5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiaW9jdGwoKS1mb3V0IHZvb3IgJXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkLlxuIgorbXNnc3RyICInJXMnIGlzIG1pc2x1a3QuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICIlcyBpcyB2b2x0b29pZC5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgc3lzZnMgaGFuZGxlciIKK21zZ3N0ciAiJXM6IGluaXRpYWxpc2VyZW4gdmFuICdzeXNmcyctdmVyd2Vya2VyIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiBzdGFydCBmcm9tIHN5c2ZzIgorbXNnc3RyICIlczogbGV6ZW4gdmFuIHBhcnRpdGllYmVnaW4gdWl0IHN5c2ZzIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk8gICAgUkEgICBTU1ogICBCU1ogICBTdGFydFNlYyAgICAgICAgICAgIFNpemUgICBEZXZpY2VcbiIKK21zZ3N0ciAiU3RhdC4gUkEgU2VjR3QgQmxrR3QgQmVnaW5TZWN0b3IgICAgICAgIEdyb290dGUgICBBcHBhcmFhdFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3OQorbXNnaWQgIkJvb3RhYmxlIgorbXNnc3RyICJvcHN0YXJ0YmFhciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzkKK21zZ2lkICJUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIkIgPSBodWlkaWdlIHBhcnRpdGllIHdlbC9uaWV0IGFscyBvcHN0YXJ0YmFhciBtYXJrZXJlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODAKK21zZ2lkICJEZWxldGUiCittc2dzdHIgInZlcndpamRlcmVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MAorbXNnaWQgIkRlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIkQgPSBkZXplIHBhcnRpdGllIHZlcndpamRlcmVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MQorbXNnaWQgIk5ldyIKK21zZ3N0ciAiTmlldXciCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgxCittc2dpZCAiQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICJOID0gbmlldXdlIHBhcnRpdGllIG1ha2VuIGluIGRlIHZyaWplIHJ1aW10ZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODIKK21zZ2lkICJRdWl0IgorbXNnc3RyICJzdG9wcGVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MgorbXNnaWQgIlF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgY2hhbmdlcyIKK21zZ3N0ciAiUSA9IHByb2dyYW1tYSBhZnNsdWl0ZW4gem9uZGVyIHBhcnRpdGlldGFiZWwgdGUgc2NocmlqdmVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MyBsaWJmZGlzay9zcmMvYnNkLmM6NDM5IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIwCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNiBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MAorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMTYKK21zZ2lkICJUeXBlIgorbXNnc3RyICJUeXBlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MworbXNnaWQgIkNoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIlQgPSBoZXQgcGFydGl0aWV0eXBlIHdpanppZ2VuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NAorbXNnaWQgIkhlbHAiCittc2dzdHIgIkh1bHAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0Cittc2dpZCAiUHJpbnQgaGVscCBzY3JlZW4iCittc2dzdHIgIkggPSBodWxwc2NoZXJtIHRvbmVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NQorbXNnaWQgIlNvcnQiCittc2dzdHIgIlNvcnRlcmVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NQorbXNnaWQgIkZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICJwYXJ0aXRpZXZvbGdvcmRlIHJlcGFyZXJlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJXcml0ZSIKK21zZ3N0ciAic2NocmlqdmVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIldyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSkiCittc2dzdHIgIlcgPSBwYXJ0aXRpZXRhYmVsIG5hYXIgc2NoaWpmIHNjaHJpanZlbiAoZGl0IGthbiBnZWdldmVucyB3aXNzZW4pIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworbXNnaWQgIkR1bXAiCittc2dzdHIgImR1bXBlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEdW1wIHBhcnRpdGlvbiB0YWJsZSB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiVSA9IHBhcnRpdGlldGFiZWwgb3BzbGFhbiBhbHMgZWVuIHNmZGlzay1jb21wYXRpYmVsIHNjcmlwdCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzo2MjAgZGlzay11dGlscy9mZGlzay5jOjQxNQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlhbG9nIHR5cGUgJWQiCittc2dzdHIgIioqaW50ZXJuZSBwcm9ncmFtbWFmb3V0Kio6IG5pZXQtb25kZXJzdGV1bmQgZGlhbG9vZ3R5cGUgJWQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAobW91bnRlZCkiCittc2dzdHIgIiVzIChhYW5nZWtvcHBlbGQpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyNzQKK21zZ2lkICJQYXJ0aXRpb24gbmFtZToiCittc2dzdHIgIlBhcnRpdGllbmFhbToiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI4MQorbXNnaWQgIlBhcnRpdGlvbiBVVUlEOiIKK21zZ3N0ciAiUGFydGl0aWUtVVVJRDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI5MworbXNnaWQgIlBhcnRpdGlvbiB0eXBlOiIKK21zZ3N0ciAiUGFydGl0aWV0eXBlOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzAwCittc2dpZCAiQXR0cmlidXRlczoiCittc2dzdHIgIkVpZ2Vuc2NoYXBwZW46IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMjQKK21zZ2lkICJGaWxlc3lzdGVtIFVVSUQ6IgorbXNnc3RyICJCZXN0YW5kc3N5c3RlZW0tVVVJRDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMzMQorbXNnaWQgIkZpbGVzeXN0ZW0gTEFCRUw6IgorbXNnc3RyICJCZXN0YW5kc3N5c3RlZW1sYWJlbDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMzNworbXNnaWQgIkZpbGVzeXN0ZW06IgorbXNnc3RyICJCZXN0YW5kc3N5c3RlZW06IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNDIKK21zZ2lkICJNb3VudHBvaW50OiIKK21zZ3N0ciAiQWFua29wcGVsaW5nc3B1bnQ6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzazogJXMiCittc2dzdHIgIlNjaGlqZjogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY4NworIywgYy1mb3JtYXQKK21zZ2lkICJTaXplOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiR3Jvb3R0ZTogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcmVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzLCBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiTGFiZWw6ICVzLCAgSUQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzIgorbXNnc3RyICJMYWJlbDogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0NgorbXNnaWQgIk1heSBiZSBmb2xsb3dlZCBieSBNIGZvciBNaUIsIEcgZm9yIEdpQiwgVCBmb3IgVGlCLCBvciBTIGZvciBzZWN0b3JzLiIKK21zZ3N0ciAiS2FuIGdldm9sZ2Qgd29yZGVuIGRvb3IgTSB2b29yIE1pQiwgRyBmb3IgR2lCLCBUIHZvb3IgVGlCLCBvZiBTIHZvb3Igc2VjdG9yZW4uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NTIKK21zZ2lkICJQbGVhc2UsIHNwZWNpZnkgc2l6ZS4iCittc2dzdHIgIkdlZW4gZ3Jvb3R0ZSBvcGdlZ2V2ZW4uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWluaW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIk1pbmltdW0gZ3Jvb3R0ZSBpcyAlanUgYnl0ZXMuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWF4aW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIk1heGltdW0gZ3Jvb3R0ZSBpcyAlanUgYnl0ZXMuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OTAKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2l6ZS4iCittc2dzdHIgIk9udGxlZGVuIHZhbiBncm9vdHRlIGlzIG1pc2x1a3QuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NDgKK21zZ2lkICJTZWxlY3QgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIktpZXMgZWVuIHBhcnRpdGlldHlwZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTk0IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAyNAorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWU6ICIKK21zZ3N0ciAiVm9lciBuYWFtIHZhbiBzY3JpcHRiZXN0YW5kIGluOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk5NQorbXNnaWQgIlRoZSBzY3JpcHQgZmlsZSB3aWxsIGJlIGFwcGxpZWQgdG8gaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIkhldCBzY3JpcHQgemFsIHdvcmRlbiB0b2VnZXBhc3Qgb3AgZWVuIHBhcnRpdGlldGFiZWwgaW4gaGV0IGdlaGV1Z2VuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDA0IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA0NgorIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDY1IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAiS2FuICVzIG5pZXQgb3BlbmVuIgorCisjIEZJWE1FOiBjYXBpdGFsICsgcGVyaW9kCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMDYgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAiT250bGVkZW4gdmFuIHNjcmlwdGJlc3RhbmQgJXMgaXMgbWlzbHVrdC4iCisKKyMgRklYTUU6IGNhcGl0YWwgKyBwZXJpb2QKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwOCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCAlcyIKK21zZ3N0ciAiVG9lcGFzc2VuIHZhbiBzY3JpcHQgJXMgaXMgbWlzbHVrdC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAyNQorbXNnaWQgIlRoZSBjdXJyZW50IGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUgd2lsbCBiZSBkdW1wZWQgdG8gdGhlIGZpbGUuIgorbXNnc3RyICJEZSBodWlkaWdlIHBhcnRpdGlldGFiZWwgaW4gaGV0IGdlaGV1Z2VuIHphbCB3b3JkZW4gb3BnZXNsYWdlbiBpbiBoZXQgYmVzdGFuZC4iCisKKyMgRklYTUU6IGNhcGl0YWwgKyBwZXJpb2QKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0OTEKK21zZ2lkICJGYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgIlJlc2VydmVyZW4gdmFuIGdlaGV1Z2VuIHZvb3Igc2NyaXB0LXZlcndlcmtlciBpcyBtaXNsdWt0LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDM5Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZGlzayBsYXlvdXQgaW50byBzY3JpcHQuIgorbXNnc3RyICJPbXpldHRlbiB2YW4gc2NoaWpmaW5kZWxpbmcgbmFhciBlZW4gc2NyaXB0IGlzIG1pc2x1a3QuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNTMKK21zZ2lkICJEaXNrIGxheW91dCBzdWNjZXNzZnVsbHkgZHVtcGVkLiIKK21zZ3N0ciAiU2NoaWpmaW5kZWxpbmcgaXMgbWV0IHN1Y2NlcyBvcGdlc2xhZ2VuLiIKKworIyBGSVhNRTogY2FwaXRhbCArIHBlcmlvZAorIzogZGlzay11dGlscy9jZmRpc2suYzoyMDU2IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUwOQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgc2NyaXB0ICVzIgorbXNnc3RyICJTY2hyaWp2ZW4gdmFuIHNjcmlwdGJlc3RhbmQgJXMgaXMgbWlzbHVrdC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA5MgorbXNnaWQgIlNlbGVjdCBsYWJlbCB0eXBlIgorbXNnc3RyICJLaWVzIGVlbiBsYWJlbHR5cGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA5NSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxNworbXNnaWQgIkRldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJBcHBhcmFhdCBiZXZhdCBnZWVuIGhlcmtlbmJhcmUgcGFydGl0aWV0YWJlbC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjEwMQorbXNnaWQgIlNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGxhYmVsIG9yIHByZXNzICdMJyB0byBsb2FkIHNjcmlwdCBmaWxlLiIKK21zZ3N0ciAiS2llcyBoaWVyYm92ZW4gZWVuIGxhYmVsdHlwZSwgb2YgdG9ldHMgJ0wnIG9tIGVlbiBzY3JpcHRiZXN0YW5kIHRlIGxhZGVuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ2Cittc2dpZCAiVGhpcyBpcyBjZmRpc2ssIGEgY3Vyc2VzLWJhc2VkIGRpc2sgcGFydGl0aW9uaW5nIHByb2dyYW0uIgorbXNnc3RyICJEaXQgaXMgJ2NmZGlzaycsIGVlbiBtZW51LWdlc3R1dXJkIHNjaGlqZnBhcnRpdGlvbmVyaW5nc3Byb2dyYW1tYS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE0NworbXNnaWQgIkl0IGxldHMgeW91IGNyZWF0ZSwgZGVsZXRlLCBhbmQgbW9kaWZ5IHBhcnRpdGlvbnMgb24gYSBibG9jayBkZXZpY2UuIgorbXNnc3RyICJVIGt1bnQgZXJtZWUgb3AgZWVuIGJsb2stYXBwYXJhYXQgcGFydGl0aWVzIGFhbm1ha2VuLCBhYW5wYXNzZW4gb2YgdmVyd2lqZGVyZW4uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDkKK21zZ2lkICJDb21tYW5kICAgICAgTWVhbmluZyIKK21zZ3N0ciAiVG9ldHMgICAgQmV0ZWtlbmlzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTAKK21zZ2lkICItLS0tLS0tICAgICAgLS0tLS0tLSIKK21zZ3N0ciAiLS0tLS0gICAgLS0tLS0tLS0tIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTEKK21zZ2lkICIgIGIgICAgICAgICAgVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGIgICAgICAnb3BzdGFydGJhYXInLXZsYWcgdm9vciBodWlkaWdlIHBhcnRpdGllIGFhbi91aXR6ZXR0ZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MgorbXNnaWQgIiAgZCAgICAgICAgICBEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGQgICAgICBodWlkaWdlIHBhcnRpdGllIHZlcndpamRlcmVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTMKK21zZ2lkICIgIGggICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCittc2dzdHIgIiAgaCAgICAgIGRpdCBodWxwc2NoZXJtIHRvbmVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTQKK21zZ2lkICIgIG4gICAgICAgICAgQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICIgIG4gICAgICBuaWV1d2UgcGFydGl0aWUgbWFrZW4gaW4gZGUgdnJpamUgcnVpbXRlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTUKK21zZ2lkICIgIHEgICAgICAgICAgUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgcSAgICAgIHByb2dyYW1tYSBhZnNsdWl0ZW4gem9uZGVyIGRlIHBhcnRpdGlldGFiZWwgdGUgc2NocmlqdmVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTYKK21zZ2lkICIgIHMgICAgICAgICAgRml4IHBhcnRpdGlvbnMgb3JkZXIgKG9ubHkgd2hlbiBpbiBkaXNhcnJheSkiCittc2dzdHIgIiAgcyAgICAgIHBhcnRpdGlldm9sZ29yZGUgY29ycmlnZXJlbiAod2FubmVlciBpbiB3YW5vcmRlKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU3Cittc2dpZCAiICB0ICAgICAgICAgIENoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgdCAgICAgIHBhcnRpdGlldHlwZSB3aWp6aWdlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU4Cittc2dpZCAiICB1ICAgICAgICAgIER1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIiAgdSAgICAgIHNjaGlqZmluZGVsaW5nIG9wc2xhYW4gYWxzIHNmZGlzay1jb21wYXRpYmVsIHNjcmlwdGJlc3RhbmQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1OQorbXNnaWQgIiAgVyAgICAgICAgICBXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAoeW91IG11c3QgZW50ZXIgdXBwZXJjYXNlIFcpOyIKK21zZ3N0ciAiICBXICAgICAgcGFydGl0aWV0YWJlbCBuYWFyIHNjaGlqZiBzY2hyaWp2ZW4gKG1vZXQgbWV0IGhvb2ZkbGV0dGVyKTsiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MAorbXNnaWQgIiAgICAgICAgICAgICAgIHNpbmNlIHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhIG9uIHRoZSBkaXNrLCB5b3UgbXVzdCBlaXRoZXIiCittc2dzdHIgIiAgICAgICAgICAgb21kYXQgZGl0IG1vZ2VsaWprIGdlZ2V2ZW5zIG9wIGRlIHNjaGlqZiB3aXN0LCBkaWVudCB1IGhldCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYxCittc2dpZCAiICAgICAgICAgICAgICAgY29uZmlybSBvciBkZW55IHRoZSB3cml0ZSBieSBlbnRlcmluZyAneWVzJyBvciAnbm8nIgorbXNnc3RyICIgICAgICAgICAgIHNjaHJpanZlbiB0ZSBiZXZlc3RpZ2VuIG1ldCAnamEnIG9mIHRlIHdlaWdlcmVuIG1ldCAnbmVlJyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYyCittc2dpZCAiICB4ICAgICAgICAgIERpc3BsYXkvaGlkZSBleHRyYSBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICB4ICAgICAgZXh0cmEgaW5mb3JtYXRpZSBvdmVyIHBhcnRpdGllIHRvbmVuL3ZlcmJlcmdlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYzCittc2dpZCAiVXAgQXJyb3cgICAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBwYXJ0aXRpb24iCittc2dzdHIgIm9taG9vZyAgIGFhbndpanplciBuYWFyIHZvcmlnZSBwYXJ0aXRpZSB2ZXJwbGFhdHNlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY0Cittc2dpZCAiRG93biBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IHBhcnRpdGlvbiIKK21zZ3N0ciAib21sYWFnICAgYWFud2lqemVyIG5hYXIgdm9sZ2VuZGUgcGFydGl0aWUgdmVycGxhYXRzZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2NQorbXNnaWQgIkxlZnQgQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgbWVudSBpdGVtIgorbXNnc3RyICJsaW5rcyAgICBhYW53aWp6ZXIgbmFhciB2b3JpZ2UgbWVudS1pdGVtIHZlcnBsYWF0c2VuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjYKK21zZ2lkICJSaWdodCBBcnJvdyAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgbWVudSBpdGVtIgorbXNnc3RyICJyZWNodHMgICBhYW53aWp6ZXIgbmFhciB2b2xnZW5kZSBtZW51LWl0ZW0gdmVycGxhYXRzZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2OAorbXNnaWQgIk5vdGU6IEFsbCBvZiB0aGUgY29tbWFuZHMgY2FuIGJlIGVudGVyZWQgd2l0aCBlaXRoZXIgdXBwZXIgb3IgbG93ZXIiCittc2dzdHIgIk9wbWVya2luZzogYWxsZSBvcGRyYWNodGVuIGt1bm5lbiB6b3dlbCBtZXQgaG9vZmRsZXR0ZXIgYWxzIGtsZWluZSBsZXR0ZXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2OQorbXNnaWQgImNhc2UgbGV0dGVycyAoZXhjZXB0IGZvciBXcml0ZSkuIgorbXNnc3RyICJ3b3JkZW4gaW5nZXZvZXJkIC0tIGJlaGFsdmUgVy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3MQorbXNnaWQgIlVzZSBsc2Jsayg4KSBvciBwYXJ0eCg4KSB0byBzZWUgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBkZXZpY2UuIgorbXNnc3RyICJHZWJydWlrIGxzYmxrKDgpIG9mIHBhcnR4KDgpIG9tIG1lZXIgZGV0YWlscyBvdmVyIGhldCBhcHBhcmFhdCB0ZSB6aWVuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzNworbXNnaWQgIlByZXNzIGEga2V5IHRvIGNvbnRpbnVlLiIKK21zZ3N0ciAiRHJ1ayBvcCBlZW4gdG9ldHMgb20gdmVyZGVyIHRlIGdhYW4uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNjAKK21zZ2lkICJDb3VsZCBub3QgdG9nZ2xlIHRoZSBmbGFnLiIKK21zZ3N0ciAiS2FuIHZsYWcgbmlldCBvbXpldHRlbi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJLYW4gcGFydGl0aWUgJXp1IG5pZXQgdmVyd2lqZGVyZW4uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNzIgZGlzay11dGlscy9mZGlzay1tZW51LmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaGFzIGJlZW4gZGVsZXRlZC4iCittc2dzdHIgIlBhcnRpdGllICV6dSBpcyB2ZXJ3aWpkZXJkLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjkzCittc2dpZCAiUGFydGl0aW9uIHNpemU6ICIKK21zZ3N0ciAiUGFydGl0aWVncm9vdHRlOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIkhldCB0eXBlIHZhbiBwYXJ0aXRpZSAlenUgaXMgZ2V3aWp6aWdkLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSB0eXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkLiIKK21zZ3N0ciAiSGV0IHR5cGUgdmFuIHBhcnRpdGllICV6dSBpcyBvbnZlcmFuZGVyZC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM1MyBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NjYgZGlzay11dGlscy9mZGlzay5jOjk5MQorIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTcwCittc2dpZCAiRGV2aWNlIGlzIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUuIgorbXNnc3RyICJBcHBhcmFhdCBpcyBnZW9wZW5kIGluIGFsbGVlbmxlemVuLW1vZHVzLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzU4Cittc2dpZCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHdyaXRlIHRoZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzaz8gIgorbXNnc3RyICJXZWV0IHUgemVrZXIgZGF0IHUgZGUgcGFydGl0aWV0YWJlbCBuYWFyIHNjaGlqZiB3aWx0IHNjaHJpanZlbj8gIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjAKK21zZ2lkICJUeXBlIFwieWVzXCIgb3IgXCJub1wiLCBvciBwcmVzcyBFU0MgdG8gbGVhdmUgdGhpcyBkaWFsb2cuIgorbXNnc3RyICJUeXAgXCJqYVwiIG9mIFwibmVlXCIsIG9mIGRydWsgb3AgRXNjIG9tIGRlemUgZGlhbG9vZyB0ZSB2ZXJsYXRlbi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM2NSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOSBzeXMtdXRpbHMvbHNjcHUuYzoxNTQwCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTUwCittc2dpZCAieWVzIgorbXNnc3RyICJqYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzY2Cittc2dpZCAiRGlkIG5vdCB3cml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4iCittc2dzdHIgIlBhcnRpdGlldGFiZWwgaXMgTklFVCBuYWFyIHNjaGlqZiBnZXNjaHJldmVuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzcxCittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbC4iCittc2dzdHIgIlNjaHJpanZlbiB2YW4gc2NoaWpmbGFiZWwgaXMgbWlzbHVrdC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3NCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzgKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICJEZSBwYXJ0aXRpZXRhYmVsIGlzIGdld2lqemlnZC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM5NyBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NjgKK21zZ2lkICJOb3RlIHRoYXQgcGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyIG5vdy4iCittc2dzdHIgIk1lcmsgb3AgZGF0IHBhcnRpdGlldGFiZWwtaXRlbXMgbnUgbmlldCBpbiBzY2hpamZ2b2xnb3JkZSBsaWdnZW4uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmU7IGl0IHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICJBcHBhcmFhdCBiZXZhdCBhbCBlZW4gJXMtdmluZ2VyYWZkcnVrOyBkZXplIHphbCBnZXdpc3Qgd29yZGVuIGRvb3IgZWVuIHNjaHJpamZvcGRyYWNodC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0NQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBuZXcgZGlza2xhYmVsIgorbXNnc3RyICJhYW5tYWtlbiB2YW4gbmlldXcgc2NoaWpmbGFiZWwgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDUzCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9ucyIKK21zZ3N0ciAibGV6ZW4gdmFuIHBhcnRpdGllcyBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICUxJHMgW29wdGlvbnNdIDxkaXNrPlxuIgorbXNnc3RyICIgICUxJHMgW29wdGllc10gPGFwcGFyYWF0PlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDkgZGlzay11dGlscy9mZGlzay5jOjczNiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTAKK21zZ2lkICJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgYSBkaXNrIHBhcnRpdGlvbiB0YWJsZS5cbiIKK21zZ3N0ciAiVG9vbnQgb2Ygd2lqemlndCBlZW4gcGFydGl0aWV0YWJlbC5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTUyCittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtTCwgLS1jb2xvcls9PHdhbm5lZXI+XSAgICBkZSB1aXR2b2VyIGtsZXVyZW4gKCdhdXRvJywgJ2Fsd2F5cycsIG9mICduZXZlcicpXG4iCisKKyMgQ09NTUEKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU1NQorbXNnaWQgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgc3RhcnQgd2l0aCB6ZXJvZWQgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgLXosIC0temVybyAgICAgICAgICAgICAgICAgbWV0IGVlbiBsZWdlIHBhcnRpdGlldGFiZWwgYmVnaW5uZW5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTk0IGRpc2stdXRpbHMvZmRpc2suYzo4ODIgZGlzay11dGlscy9zZmRpc2suYzoyMDc3CisjOiBtaXNjLXV0aWxzL2NhbC5jOjM5MCBzeXMtdXRpbHMvZG1lc2cuYzoxMzMzIHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNAorbXNnaWQgInVuc3VwcG9ydGVkIGNvbG9yIG1vZGUiCittc2dzdHIgIm9uZ2VsZGlnZSBrbGV1cm1vZHVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MTIgZGlzay11dGlscy9mZGlzay5jOjgxOCBkaXNrLXV0aWxzL3NmZGlzay5jOjIyMworbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICJyZXNlcnZlcmVuIHZhbiBnZWhldWdlbiB2b29yICdsaWJmZGlzayctY29udGV4dCBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj5cbiIKK21zZ3N0ciAiICAlcyA8Ymxva2FwcGFyYWF0PiA8cGFydGl0aWVudW1tZXI+XG4iCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjE4Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIHRvIGZvcmdldCBhYm91dCBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIlZlcnRlbHQgZGUga2VybmVsIGRlIG9wZ2VnZXZlbiBwYXJ0aXRpZSB0ZSB2ZXJnZXRlbi5cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6NjEKK21zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlIHBhcnRpdGlvbiIKK21zZ3N0ciAidmVyd2lqZGVyZW4gdmFuIHBhcnRpdGllIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICJGb3JtYXR0aW5nIC4uLiAiCittc2dzdHIgIkZvcm1hdHRlcmVuLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjY4IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG9uZVxuIgorbXNnc3RyICJ2b2x0b29pZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmVyaWZ5aW5nIC4uLiAiCittc2dzdHIgIkNvbnRyb2xlcmVuLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEwOAorbXNnaWQgIlJlYWQ6ICIKK21zZ3N0ciAiR2VsZXplbjogIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByb2JsZW0gcmVhZGluZyB0cmFjay9oZWFkICV1LyV1LCBleHBlY3RlZCAlZCwgcmVhZCAlZFxuIgorbXNnc3RyICJwcm9ibGVlbSBiaWogbGV6ZW4gdmFuIHNwb29yICV1LCBrb3AgJXU7IHZlcndhY2h0OiAlZCwgZ2VsZXplbjogJWRcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYmFkIGRhdGEgaW4gdHJhY2svaGVhZCAldS8ldVxuIgorIkNvbnRpbnVpbmcgLi4uICIKK21zZ3N0ciAiIgorInNsZWNodGUgZ2VnZXZlbnMgb3Agc3Bvb3IgJXUsIGtvcCAldTtcbiIKKyJkb29yZ2VnYWFuLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODIKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTE3IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU2IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODQKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gPGFwcGFyYWF0PlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ4Cittc2dpZCAiRG8gYSBsb3ctbGV2ZWwgZm9ybWF0dGluZyBvZiBhIGZsb3BweSBkaXNrLlxuIgorbXNnc3RyICJGb3JtYXR0ZWVydCBlZW4gZGlza2V0dGUuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTEKK21zZ2lkICIgLWYsIC0tZnJvbSA8Tj4gICAgc3RhcnQgYXQgdGhlIHRyYWNrIE4gKGRlZmF1bHQgMClcbiIKK21zZ3N0ciAiICAtZiwgLS1mcm9tIDxnZXRhbD4gICAgICAgc3RhcnRlbiBiaWogZGl0IHNwb29yIChzdGFuZGFhcmQgMClcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MgorbXNnaWQgIiAtdCwgLS10byA8Tj4gICAgICBzdG9wIGF0IHRoZSB0cmFjayBOXG4iCittc2dzdHIgIiAgLXQsIC0tdG8gPGdldGFsPiAgICAgICAgIHN0b3BwZW4gYmlqIGRpdCBzcG9vclxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUzCittc2dpZCAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICB0cnkgdG8gcmVwYWlyIHRyYWNrcyBmYWlsZWQgZHVyaW5nXG4iCisiICAgICAgICAgICAgICAgICAgICAgdGhlIHZlcmlmaWNhdGlvbiAobWF4IE4gcmV0cmllcylcbiIKK21zZ3N0ciAiIgorIiAgLXIsIC0tcmVwYWlyIDxhYW50YWw+ICAgIHByb2JlcmVuIHNwb3JlbiBkaWUgbmlldCBkb29yIGRlIGNvbnRyb2xlIGt3YW1lblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGUgcmVwYXJlcmVuIChtYXhpbWFhbCA8YWFudGFsPiBwb2dpbmdlbilcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1NQorbXNnaWQgIiAtbiwgLS1uby12ZXJpZnkgICBkaXNhYmxlIHRoZSB2ZXJpZmljYXRpb24gYWZ0ZXIgdGhlIGZvcm1hdFxuIgorbXNnc3RyICIgIC1uLCAtLW5vLXZlcmlmeSAgICAgICAgICBnZWVuIGNvbnRyb2xlIHVpdHZvZXJlbiBuYSBoZXQgZm9ybWF0dGVyZW5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5NAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSBmcm9tIgorbXNnc3RyICJvbmdlbGRpZyBhcmd1bWVudCBiaWogLS1mcm9tIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk4Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHRvIgorbXNnc3RyICJvbmdlbGRpZyBhcmd1bWVudCBiaWogLS10byIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIwMQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSByZXBhaXIiCittc2dzdHIgIm9uZ2VsZGlnIGFyZ3VtZW50IGJpaiAtLXJlcGFpciIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyMSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTUxCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg1IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMzgKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4NQorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE2IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQxIGRpc2stdXRpbHMvcGFydHguYzo5MzMKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo2ODYgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzkgbWlzYy11dGlscy9uYW1laS5jOjEzNQorIzogbWlzYy11dGlscy9yZW5hbWUuYzo2MyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4NiBzeXMtdXRpbHMvZG1lc2cuYzo1MjQKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxOTggc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTMxIHN5cy11dGlscy9mc3RyaW0uYzo3NworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjUxOSBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo5MworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTMzIHRlcm0tdXRpbHMvbWVzZy5jOjEyOSB0ZXh0LXV0aWxzL21vcmUuYzo1MDQKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxMDMgdGV4dC11dGlscy90YWlsZi5jOjI4MAorIywgYy1mb3JtYXQKK21zZ2lkICJzdGF0IG9mICVzIGZhaWxlZCIKK21zZ3N0ciAic3RhdHVzIG9wdnJhZ2VuIHZhbiAlcyBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI0IGRpc2stdXRpbHMvcGFydHguYzo5OTEgbWlzYy11dGlscy9sc2Jsay5jOjE0ODUKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg4IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBpcyBnZWVuIGJsb2stYXBwYXJhYXQiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjkKK21zZ2lkICJjb3VsZCBub3QgZGV0ZXJtaW5lIGN1cnJlbnQgZm9ybWF0IHR5cGUiCittc2dzdHIgImthbiBodWlkaWdlIHNvb3J0IGZvcm1hdHRlcmluZyBuaWV0IGFjaHRlcmhhbGVuIgorCisjIEZJWE1FOiBhZGQgdHJhbnNsYXRvciBoaW50CisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzLXNpZGVkLCAlZCB0cmFja3MsICVkIHNlYy90cmFjay4gVG90YWwgY2FwYWNpdHkgJWQga0IuXG4iCittc2dzdHIgIiVzemlqZGlnLCAlZCBzcG9yZW4sICVkIHNlY3RvcmVuL3Nwb29yLiAgVG90YWxlIGNhcGFjaXRlaXQgJWQga0IuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzIKK21zZ2lkICJEb3VibGUiCittc2dzdHIgIkR1YmJlbCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMgorbXNnaWQgIlNpbmdsZSIKK21zZ3N0ciAiRW5rZWwiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzkKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIm9wZ2VnZXZlbiBiZWdpbnNwb29yIGlzIGdyb3RlciBkYW4gZGUgZmxvcHB5IHRvZXN0YWF0IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQxCittc2dpZCAidXNlciBkZWZpbmVkIGVuZCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAib3BnZWdldmVuIGVpbmRzcG9vciBpcyBncm90ZXIgZGFuIGRlIGZsb3BweSB0b2VzdGFhdCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MworbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSB1c2VyIGRlZmluZWQgZW5kIHRyYWNrIgorbXNnc3RyICJvcGdlZ2V2ZW4gYmVnaW5zcG9vciBpcyBncm90ZXIgZGFuIGVpbmRzcG9vciIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI1MSBtaXNjLXV0aWxzL2xvZ2dlci5jOjk4NworbXNnaWQgImNsb3NlIGZhaWxlZCIKK21zZ3N0ciAic2x1aXRlbiBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTUgZGlzay11dGlscy9mZGlzay5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRG8geW91IHJlYWxseSB3YW50IHRvIHF1aXQ/ICIKK21zZ3N0ciAiIgorIlxuIgorIldpbHQgdSBlY2h0IGFmc2x1aXRlbj8gIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdCAoZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiU2VsZWN0ZWVyIChzdGFuZGFhcmQgaXMgJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgZGVmYXVsdCByZXNwb25zZSAlYy4iCittc2dzdHIgIlN0YW5kYWFyZHdhYXJkZSAlYyB3b3JkdCBnZWJydWlrdC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxNzYgZGlzay11dGlscy9mZGlzay5jOjI1MCBkaXNrLXV0aWxzL2ZkaXNrLmM6MzI1CisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTE4OSBsaWJmZGlzay9zcmMvZ3B0LmM6MjI3NworbXNnaWQgIlZhbHVlIG91dCBvZiByYW5nZS4iCittc2dzdHIgIldhYXJkZSB2YWx0IGJ1aXRlbiBiZXJlaWsuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCVzLCBzdGFuZGFhcmQgJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDggZGlzay11dGlscy9mZGlzay5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJXMsIHN0YW5kYWFyZCAlPFBSSXU2ND4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJWMtJWMsIHN0YW5kYWFyZCAlYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIxNyBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+LCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIHN0YW5kYWFyZCAlPFBSSXU2ND4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjKTogIgorbXNnc3RyICIlcyAoJWMtJWMpOiAiCisKKyMgRklYTUU6IGRvbid0IGdldHRleHRpemUKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMjMgZGlzay11dGlscy9mZGlzay5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzozOTIgZGlzay11dGlscy9zZmRpc2suYzoxOTcKK21zZ2lkICIgW1ldZXMvW05dbzogIgorbXNnc3RyICIgW0pdYS9bTl1lZTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDMzCittc2dpZCAiUGFydGl0aW9uIHR5cGUgKHR5cGUgTCB0byBsaXN0IGFsbCB0eXBlcyk6ICIKK21zZ3N0ciAiUGFydGl0aWV0eXBlICh0eXAgTCBvbSBhbGxlIG1vZ2VsaWprZSB0eXBlcyB0ZSB6aWVuKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDM0Cittc2dpZCAiSGV4IGNvZGUgKHR5cGUgTCB0byBsaXN0IGFsbCBjb2Rlcyk6ICIKK21zZ3N0ciAiSGV4LWNvZGUgKHR5cCBMIG9tIGFsbGUgY29kZXMgdGUgemllbik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjUzNgorbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgc2V0IChERVBSRUNBVEVEISkiCittc2dzdHIgIkRPUy1jb21wYXRpYmlsaXRlaXQgaXMgYWFuZ2V6ZXQgIChWRVJPVURFUkQhKSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjUzNworbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgbm90IHNldCIKK21zZ3N0ciAiRE9TLWNvbXBhdGliaWxpdGVpdCBpcyB1aXRnZXpldCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU1OCBkaXNrLXV0aWxzL2ZkaXNrLmM6NTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3QgZXhpc3QgeWV0ISIKK21zZ3N0ciAiUGFydGl0aWUgJXp1IGJlc3RhYXQgbm9nIG5pZXQhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTYzIGRpc2stdXRpbHMvZmRpc2suYzo1NzIgbGliZmRpc2svc3JjL2Fzay5jOjk5NQorbXNnaWQgIlVua25vd24iCittc2dzdHIgIltvbmJla2VuZF0iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAnJXMnIHRvICclcycuIgorbXNnc3RyICJIZXQgdHlwZSB2YW4gZGUgcGFydGl0aWUgaXMgdmVyYW5kZXJkIHZhbiAnJXMnIG5hYXIgJyVzJy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZDogJXMuIgorbXNnc3RyICJIZXQgdHlwZSB2YW4gcGFydGl0aWUgJXp1IGlzIG9udmVyYW5kZXJkOiAlcy4iCisKKyMgRklYTUU6IGRvbid0IGdldHRleHRpemUKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTE1czogJXMiCittc2dzdHIgIiUxNXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlczogb2Zmc2V0ID0gJTxQUkl1NjQ+LCBzaXplID0gJXp1IGJ5dGVzLiIKK21zZ3N0ciAiIgorIlxuIgorIiVzOiBwb3NpdGllID0gJTxQUkl1NjQ+LCBncm9vdHRlID0gJXp1IGJ5dGVzLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY3NworbXNnaWQgImNhbm5vdCBzZWVrIgorbXNnc3RyICJrYW4gZ2VlbiAnc2VlaycgZG9lbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY4MgorbXNnaWQgImNhbm5vdCByZWFkIgorbXNnc3RyICJrYW4gbmlldCBsZXplbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY5NSBsaWJmZGlzay9zcmMvYnNkLmM6MjU5IGxpYmZkaXNrL3NyYy9kb3MuYzo5MzMKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEwCittc2dpZCAiRmlyc3Qgc2VjdG9yIgorbXNnc3RyICJFZXJzdGUgc2VjdG9yIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzIyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzIgorbXNnc3RyICJpb2N0bChCTEtHRVRTSVpFKSBpcyBtaXNsdWt0IG9wICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRpc2s+ICAgICAgY2hhbmdlIHBhcnRpdGlvbiB0YWJsZVxuIgorIiAlMSRzIFtvcHRpb25zXSAtbCBbPGRpc2s+XSBsaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorbXNnc3RyICIiCisiICAlMSRzIFtvcHRpZXNdIDxzY2hpamY+ICAgICAgIHBhcnRpdGlldGFiZWwgd2lqemlnZW5cbiIKKyIgICUxJHMgW29wdGllc10gLWwgWzxzY2hpamY+XSAgcGFydGl0aWV0YWJlbChsZW4pIHRvbmVuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MzkKK21zZ2lkICIgLWIsIC0tc2VjdG9yLXNpemUgPHNpemU+ICAgICAgcGh5c2ljYWwgYW5kIGxvZ2ljYWwgc2VjdG9yIHNpemVcbiIKK21zZ3N0ciAiICAtYiwgLS1zZWN0b3Itc2l6ZSA8Z2V0YWw+ICBncm9vdHRlIHZhbiBmeXNpZWtlIGVuIGxvZ2lzY2hlIHNlY3RvclxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQwCittc2dpZCAiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIGRvbid0IGVyYXNlIGJvb3RiaXRzIHdoZW4gY3JlYXRpbmcgYSBuZXcgbGFiZWxcbiIKK21zZ3N0ciAiICAtQiwgLS1wcm90ZWN0LWJvb3QgICAgICAgICBib290Yml0cyBuaWV0IHdpc3NlbiBiaWogYWFubWFrZW4gdmFuIG5pZXV3IGxhYmVsXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDEKK21zZ2lkICIgLWMsIC0tY29tcGF0aWJpbGl0eVs9PG1vZGU+XSAgbW9kZSBpcyAnZG9zJyBvciAnbm9uZG9zJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtYywgLS1jb21wYXRpYmlsaXR5Wz08bW9kdXM+XSAgY29tcGF0aWJpbGl0ZWl0c21vZHVzOiAnZG9zJywgb2YgJ25vbmRvcycgKHN0YW5kYWFyZClcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MgorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtTCwgLS1jb2xvcls9PHdhbm5lZXI+XSAgICBkZSB1aXR2b2VyIGtsZXVyZW4gKCdhdXRvJywgJ2Fsd2F5cycsIG9mICduZXZlcicpXG4iCisKKyMgQU5EIGV4aXQKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDUKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBwYXJ0aXRpb25zIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgcGFydGl0aWVzIHRvbmVuIGVuIHN0b3BwZW5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0NgorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgICAgICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgIC1vLCAtLW91dHB1dCA8bGlqc3Q+ICAgICAgIHRlIHRvbmVuIGtvbG9tbWVuIGluIGRlIHVpdHZvZXJcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0NworbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICAgICAgICAgICByZWNvZ25pemUgc3BlY2lmaWVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIG9ubHlcbiIKK21zZ3N0ciAiICAtdCwgLS10eXBlIDx0eXBlPiAgICAgICAgICBhbGxlZW4gZGl0IHR5cGUgcGFydGl0aWUgaGVya2VubmVuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDgKK21zZ2lkICIgLXUsIC0tdW5pdHNbPTx1bml0Pl0gICAgICAgICAgZGlzcGxheSB1bml0czogJ2N5bGluZGVycycgb3IgJ3NlY3RvcnMnIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC11LCAtLXVuaXRzWz08ZWVuaGVpZD5dICAgIHdlZXJnYXZlLWVlbmhlaWQ6ICdjeWxpbmRlcnMnLCBvZiAnc2VjdG9ycycgKHN0YW5kYWFyZClcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0OQorbXNnaWQgIiAtcywgLS1nZXRzeiAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGRldmljZSBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnMgW0RFUFJFQ0FURURdXG4iCittc2dzdHIgIiAgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgYXBwYXJhYXRncm9vdHRlIHRvbmVuIGluIDUxMi1ieXRlIHNlY3RvcmVuIFtWRVJPVURFUkRdXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTAKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICBncm9vdHRlIGluIGJ5dGVzIHdlZXJnZXZlbiBpLnAudi4gaW4gbGVlc2JhcmUgdm9ybVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzUxCittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgIC13LCAtLXdpcGUgPHdhbm5lZXI+ICAgICAgIHZpbmdlcmFmZHJ1a2tlbiB3aXNzZW4gKCdhdXRvJywgJ2Fsd2F5cycsICduZXZlcicpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTIgZGlzay11dGlscy9zZmRpc2suYzoxODUzCittc2dpZCAiIC1XLCAtLXdpcGUtcGFydGl0aW9ucyA8bW9kZT4gIHdpcGUgc2lnbmF0dXJlcyBmcm9tIG5ldyBwYXJ0aXRpb25zIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKyIgIC1XLCAtLXdpcGUtcGFydGl0aW9ucyA8d2FubmVlcj4gICAgIHZpbmdlcmFmZHJ1a2tlbiB2YW4gbmlldXdlIHBhcnRpdGllcyB3aXNzZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdhdXRvJywgJ2Fsd2F5cycsICduZXZlcicpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTUKK21zZ2lkICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorbXNnc3RyICIgIC1DLCAtLWN5bGluZGVycyA8Z2V0YWw+ICAgIGhldCBhYW50YWwgdGUgZ2VicnVpa2VuIGNpbGluZGVyc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU2Cittc2dpZCAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBoZWFkc1xuIgorbXNnc3RyICIgIC1ILCBoZWFkcyA8Z2V0YWw+ICAgICAgICAgIGhldCBhYW50YWwgdGUgZ2VicnVpa2VuIGtvcHBlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU3Cittc2dpZCAiIC1TLCAtLXNlY3RvcnMgPG51bWJlcj4gICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFja1xuIgorbXNnc3RyICIgIC1TLCAtLXNlY3RvcnMgPGdldGFsPiAgICAgIGhldCBhYW50YWwgc2VjdG9yZW4gcGVyIHNwb29yXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjgKK21zZ2lkICJpbnZhbGlkIHNlY3RvciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZ2Ugc2VjdG9yZ3Jvb3R0ZSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg0MAorbXNnaWQgImludmFsaWQgY3lsaW5kZXJzIGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZyBhYW50YWwgY2lsaW5kZXJzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODUyCittc2dpZCAibm90IGZvdW5kIERPUyBsYWJlbCBkcml2ZXIiCittc2dzdHIgImthbiBET1MtbGFiZWwtc3R1dXJwcm9ncmFtbWEgbmlldCB2aW5kZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb21wYXRpYmlsaXR5IG1vZGUgJyVzJyIKK21zZ3N0ciAib25iZWtlbmRlIGNvbXBhdGliaWxpdGVpdHNtb2R1cyAnJXMnIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODY3Cittc2dpZCAiaW52YWxpZCBoZWFkcyBhcmd1bWVudCIKK21zZ3N0ciAib25nZWxkaWcgYWFudGFsIGtvcHBlbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg3MworbXNnaWQgImludmFsaWQgc2VjdG9ycyBhcmd1bWVudCIKK21zZ3N0ciAib25nZWxkaWcgYWFudGFsIHNlY3RvcmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODk5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2tsYWJlbDogJXMiCittc2dzdHIgIm9uZ2VsZGlnIHNjaGlqZmxhYmVsOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkxNiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTIxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0MQorIzogZGlzay11dGlscy9zZmRpc2suYzoyMDQ2Cittc2dpZCAidW5zdXBwb3J0ZWQgd2lwZSBtb2RlIgorbXNnc3RyICJvbmdlbGRpZ2Ugd2lzbW9kdXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MzQKK21zZ2lkICJUaGUgZGV2aWNlIHByb3BlcnRpZXMgKHNlY3RvciBzaXplIGFuZCBnZW9tZXRyeSkgc2hvdWxkIGJlIHVzZWQgd2l0aCBvbmUgc3BlY2lmaWVkIGRldmljZSBvbmx5LiIKK21zZ3N0ciAiIgorIkFwcGFyYWF0ZWlnZW5zY2hhcHBlbiAoc2VjdG9yZ3Jvb3R0ZSBlbiBnZW9tZXRyaWUpIGRpZW5lblxuIgorIm1ldCBzbGVjaHRzIMOpw6luIGFwcGFyYWF0IGdlYnJ1aWt0IHRlIHdvcmRlbi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VsY29tZSB0byBmZGlzayAoJXMpLiIKK21zZ3N0ciAiV2Vsa29tIGJpaiAnZmRpc2snICglcykuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4OAorbXNnaWQgIiIKKyJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisiQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKyJXaWp6aWdpbmdlbiB3b3JkZW4gYWxsZWVuIGluIGhldCBjb21wdXRlcmdlaGV1Z2VuIGdlbWFha3QsXG4iCisidG90IGhldCBtb21lbnQgZGF0IHUgYmVzbHVpdCB6ZSBuYWFyIHNjaGlqZiB0ZSBzY2hyaWp2ZW4uXG4iCisiV2VlcyB2b29yemljaHRpZyB2w7PDs3IgaGV0IGdlYnJ1aWsgdmFuIGRlIHNjaHJpamZvcGRyYWNodC5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMDEgZGlzay11dGlscy9zZmRpc2suYzoxNjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAlcyBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiQXBwYXJhYXQgJXMgYmV2YXQgYWwgZWVuICVzLXZpbmdlcmFmZHJ1ay4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDEwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU0MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0ODQKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyMgorbXNnaWQgIlRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIkRlIHZpbmdlcmFmZHJ1ayB6YWwgZ2V3aXN0IHdvcmRlbiBkb29yIGVlbiBzY2hyaWpmb3BkcmFjaHQuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxMyBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjUKK21zZ2lkICJJdCBpcyBzdHJvbmdseSByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSBkZXZpY2Ugd2l0aCB3aXBlZnMoOCksIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICJIZXQgd29yZHQgc3RlcmsgYWFuZ2VyYWRlbiBvcCBoZXQgYXBwYXJhYXQgbWV0IHdpcGVmcyg4KSB0ZSB3aXNzZW4sIG9tIG1vZ2VsaWprZSBcImJvdHNpbmdlblwiIHRlIHZlcm1pamRlbi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDIyCittc2dpZCAiQSBoeWJyaWQgR1BUIHdhcyBkZXRlY3RlZC4gWW91IGhhdmUgdG8gc3luYyB0aGUgaHlicmlkIE1CUiBtYW51YWxseSAoZXhwZXJ0IGNvbW1hbmQgJ00nKS4iCittc2dzdHIgIiIKKyJFZW4gaHlicmlkZSBHUFQgaXMgZ2VkZXRlY3RlZXJkLlxuIgorIlUgZGllbnQgZGUgaHlicmlkZSBNQlIgaGFuZG1hdGlnIHRlIHN5bmNocm9uaXNlcmVuIChleHBlcnRvcGRyYWNodCAnTScpLiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIlNjaGlqZiAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo1NAorIywgYy1mb3JtYXQKK21zZ2lkICJHZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycy90cmFjaywgJWxsdSBjeWxpbmRlcnMiCittc2dzdHIgIkdlb21ldHJpZTogJWQga29wcGVuLCAlbGx1IHNlY3RvcmVuL3Nwb29yLCAlbGx1IGNpbGluZGVycyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NTkgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuaXRzOiAlcyBvZiAlZCAqICVsZCA9ICVsZCBieXRlcyIKK21zZ3N0ciAiRWVuaGVpZDogJXMgdmFuICVkICogJWxkID0gJWxkIGJ5dGVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2NSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIlNlY3Rvcmdyb290dGUgKGxvZ2lzY2gvZnlzaWVrKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2OAorIywgYy1mb3JtYXQKK21zZ2lkICJJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorbXNnc3RyICJJbi0vdWl0dm9lcmdyb290dGUgKG1pbmltYWFsL29wdGltYWFsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3MgorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbm1lbnQgb2Zmc2V0OiAlbHUgYnl0ZXMiCittc2dzdHIgIlVpdGxpam5pbmdzcG9zaXRpZTogJWx1IGJ5dGVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgdHlwZTogJXMiCittc2dzdHIgIlNjaGlqZmxhYmVsdHlwZTogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIlNjaGlqZi1JRDogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjEwOSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTkKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNDQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCittc2dzdHIgInJlc2VydmVyZW4gdmFuIGdlaGV1Z2VuIHZvb3IgaXRlcmF0b3IgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTE1IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyNQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgInJlc2VydmVyZW4gdmFuIGdlaGV1Z2VuIHZvb3IgdWl0dm9lcnRhYmVsIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE1NiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNDkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiCittc2dzdHIgInJlc2VydmVyZW4gdmFuIGdlaGV1Z2VuIHZvb3IgdWl0dm9lcnJlZ2VsIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE4MworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4iCittc2dzdHIgIlBhcnRpdGllICV6dSBiZWdpbnQgbmlldCBvcCBlZW4gZnlzaWVrZSBzZWN0b3JncmVucy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE5MgorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4iCittc2dzdHIgIlBhcnRpdGlldGFiZWwtaXRlbXMgbGlnZ2VuIG5pZXQgaW4gc2NoaWpmdm9sZ29yZGUuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTUgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDAKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTEyIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU0IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTEwCittc2dpZCAiU3RhcnQiCittc2dzdHIgIkJlZ2luIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTYgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDEKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTEzIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU1IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTExCittc2dpZCAiRW5kIgorbXNnc3RyICJFaW5kZSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE3IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAyCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NiBsaWJmZGlzay9zcmMvc3VuLmM6MTExMgorbXNnaWQgIlNlY3RvcnMiCittc2dzdHIgIlNlY3RvcmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTkgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDQKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE1IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU4IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE0Cittc2dpZCAiU2l6ZSIKK21zZ3N0ciAiR3Jvb3R0ZSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVucGFydGl0aW9uZWQgc3BhY2UgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICJPbmdlcGFydGl0aW9uZWVyZGUgcnVpbXRlIG9wICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9yZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQxMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtbyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJCZXNjaGlrYmFyZSBrb2xvbW1lbiAodm9vciAnLW8vLS1vdXRwdXQnKSB6aWpuOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICJvbmJla2VuZGUga29sb20gJTIkcyB2b29yIGxhYmVsdHlwZSAlMSRzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NQorbXNnaWQgIkdlbmVyaWMiCittc2dzdHIgIkFsZ2VtZWVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NgorbXNnaWQgImRlbGV0ZSBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiZWVuIHBhcnRpdGllIHZlcndpamRlcmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NworbXNnaWQgImxpc3QgZnJlZSB1bnBhcnRpdGlvbmVkIHNwYWNlIgorbXNnc3RyICJ2cmlqZSwgb25nZXBhcnRpdGlvbmVlcmRlIHJ1aW10ZSB3ZWVyZ2V2ZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk4Cittc2dpZCAibGlzdCBrbm93biBwYXJ0aXRpb24gdHlwZXMiCittc2dzdHIgImFsbGUgYmVrZW5kZSBwYXJ0aXRpZXR5cGVuIG9wc29tbWVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OQorbXNnaWQgImFkZCBhIG5ldyBwYXJ0aXRpb24iCittc2dzdHIgImVlbiBuaWV1d2UgcGFydGl0aWUgdG9ldm9lZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAKK21zZ2lkICJwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJkZSBwYXJ0aXRpZXRhYmVsIHdlZXJnZXZlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAxCittc2dpZCAiY2hhbmdlIGEgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgImVlbiBwYXJ0aXRpZXR5cGUgd2lqemlnZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMgorbXNnaWQgInZlcmlmeSB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJkZSBwYXJ0aXRpZXRhYmVsIGNvbnRyb2xlcmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDMKK21zZ2lkICJwcmludCBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiaW5mb3JtYXRpZSBvdmVyIGVlbiBwYXJ0aXRpZSB3ZWVyZ2V2ZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNQorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAiZGUgcmF1d2UgZ2VnZXZlbnMgdmFuIGRlIGVlcnN0ZSBhcHBhcmFhdHNlY3RvciB3ZWVyZ2V2ZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNgorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZGlza2xhYmVsIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAiZGUgcmF1d2UgZ2VnZXZlbnMgdmFuIHNjaGlqZmxhYmVsIHZhbiBhcHBhcmFhdCB3ZWVyZ2V2ZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNworbXNnaWQgImZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICJwYXJ0aXRpZXZvbGdvcmRlIHJlcGFyZXJlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA5Cittc2dpZCAiTWlzYyIKK21zZ3N0ciAiVmFyaWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMAorbXNnaWQgInByaW50IHRoaXMgbWVudSIKK21zZ3N0ciAiZGl0IG1lbnUgdG9uZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMQorbXNnaWQgImNoYW5nZSBkaXNwbGF5L2VudHJ5IHVuaXRzIgorbXNnc3RyICJlZW5oZWlkIHZhbiB3ZWVyZ2F2ZS9pbnZvZXIgd2lqemlnZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMgorbXNnaWQgImV4dHJhIGZ1bmN0aW9uYWxpdHkgKGV4cGVydHMgb25seSkiCittc2dzdHIgImV4dHJhIGZ1bmN0aW9uYWxpdGVpdCAoYWxsZWVuIHZvb3IgZXhwZXJ0cykiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNAorbXNnaWQgIlNjcmlwdCIKK21zZ3N0ciAiU2NyaXB0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTUKK21zZ2lkICJsb2FkIGRpc2sgbGF5b3V0IGZyb20gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICJzY2hpamZpbmRlbGluZyBsYWRlbiB1aXQgZWVuIHNmZGlzay1zY3JpcHRiZXN0YW5kIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTYKK21zZ2lkICJkdW1wIGRpc2sgbGF5b3V0IHRvIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAic2NoaWpmaW5kZWxpbmcgb3BzbGFhbiBpbiBlZW4gc2ZkaXNrLXNjcmlwdGJlc3RhbmQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOAorbXNnaWQgIlNhdmUgJiBFeGl0IgorbXNnc3RyICJPcHNsYWFuIGVuIGFmc2x1aXRlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE5Cittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdCIKK21zZ3N0ciAiZGUgdGFiZWwgbmFhciBzY2hpamYgc2NocmlqdmVuIGVuIGFmc2x1aXRlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIwCittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayIKK21zZ3N0ciAiZGUgdGFiZWwgbmFhciBzY2hpamYgc2NocmlqdmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjEKK21zZ2lkICJxdWl0IHdpdGhvdXQgc2F2aW5nIGNoYW5nZXMiCittc2dzdHIgImFmc2x1aXRlbiB6b25kZXIgd2lqemlnaW5nZW4gb3AgdGUgc2xhYW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMgorbXNnaWQgInJldHVybiB0byBtYWluIG1lbnUiCittc2dzdHIgInRlcnVnIG5hYXIgaG9vZmRtZW51IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjQKK21zZ2lkICJyZXR1cm4gZnJvbSBCU0QgdG8gRE9TIgorbXNnc3RyICJ0ZXJ1Z2tlcmVuIHZhbiBCU0QgbmFhciBET1MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNQorbXNnaWQgIkNyZWF0ZSBhIG5ldyBsYWJlbCIKK21zZ3N0ciAiTWFrZW4gdmFuIG5pZXV3IGxhYmVsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzYKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgR1BUIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiZWVuIG5pZXV3ZSwgbGVnZSBHUFQtcGFydGl0aWV0YWJlbCBtYWtlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM3Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFNHSSAoSVJJWCkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJlZW4gbmlldXdlLCBsZWdlIFNHSShJUklYKS1wYXJ0aXRpZXRhYmVsIG1ha2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzgKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiZWVuIG5pZXV3ZSwgbGVnZSBET1MtcGFydGl0aWV0YWJlbCBtYWtlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFN1biBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgImVlbiBuaWV1d2UsIGxlZ2UgU3VuLXBhcnRpdGlldGFiZWwgbWFrZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0MworbXNnaWQgImNyZWF0ZSBhbiBJUklYIChTR0kpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiZWVuIG5pZXV3ZSwgbGVnZSBJUklYKFNHSSktcGFydGl0aWV0YWJlbCBtYWtlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTUyCittc2dpZCAiR2VvbWV0cnkiCittc2dzdHIgIkdlb21ldHJpZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTUzCittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgImFhbnRhbCBjaWxpbmRlcnMgd2lqemlnZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NAorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgaGVhZHMiCittc2dzdHIgImFhbnRhbCBrb3BwZW4gd2lqemlnZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2Ygc2VjdG9ycy90cmFjayIKK21zZ3N0ciAiYWFudGFsIHNlY3RvcmVuIHBlciBzcG9vciB3aWp6aWdlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk1Cittc2dpZCAiR1BUIgorbXNnc3RyICJHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NQorbXNnaWQgImNoYW5nZSBkaXNrIEdVSUQiCittc2dzdHIgInNjaGlqZi1HVUlEIHdpanppZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjYKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgInBhcnRpdGllbmFhbSB3aWp6aWdlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY3Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJwYXJ0aXRpZS1VVUlEIHdpanppZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjgKK21zZ2lkICJjaGFuZ2UgdGFibGUgbGVuZ3RoIgorbXNnc3RyICJ0YWJlbGxlbmd0ZSB3aWp6aWdlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY5Cittc2dpZCAiZW50ZXIgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIgorbXNnc3RyICJiZXNjaGVybWVuZGUvaHlicmlkZSBNQlIgYmlubmVuZ2FhbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTcyCittc2dpZCAidG9nZ2xlIHRoZSBsZWdhY3kgQklPUyBib290YWJsZSBmbGFnIgorbXNnc3RyICJ3ZWwvbmlldCBhbHMgb3BzdGFydGJhYXIgaW5zdGVsbGVuICh2ZXJvdWRlcmRlIEJJT1MtdmxhZykiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MworbXNnaWQgInRvZ2dsZSB0aGUgbm8gYmxvY2sgSU8gcHJvdG9jb2wgZmxhZyIKK21zZ3N0ciAibmlldC93ZWwgYmxvay1JTy1wcm90b2NvbCBpbnN0ZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NAorbXNnaWQgInRvZ2dsZSB0aGUgcmVxdWlyZWQgcGFydGl0aW9uIGZsYWciCittc2dzdHIgIndlbC9uaWV0IGFscyB2ZXJlaXN0ZSBwYXJ0aXRpZSBpbnN0ZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NQorbXNnaWQgInRvZ2dsZSB0aGUgR1VJRCBzcGVjaWZpYyBiaXRzIgorbXNnc3RyICJ3ZWwvbmlldCBkZSBHVUlELXNwZWNpZmlla2UgYml0cyBpbnN0ZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NQorbXNnaWQgIlN1biIKK21zZ3N0ciAiU3VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODYKK21zZ2lkICJ0b2dnbGUgdGhlIHJlYWQtb25seSBmbGFnIgorbXNnc3RyICJ3ZWwvbmlldCBhbHMgYWxsZWVuLWxlemVuIGluc3RlbGxlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg3Cittc2dpZCAidG9nZ2xlIHRoZSBtb3VudGFibGUgZmxhZyIKK21zZ3N0ciAid2VsL25pZXQgYWxzIGFhbmtvcHBlbGJhYXIgaW5zdGVsbGVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgImFhbnRhbCBhbHRlcm5hdGlldmUgY2lsaW5kZXJzIHdpanppZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTAKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJhYW50YWwgZXh0cmEgc2VjdG9yZW4gcGVyIGNpbGluZGVyIHdpanppZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTEKK21zZ2lkICJjaGFuZ2UgaW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgInR1c3NlbnJ1aW10ZWZhY3RvciB3aWp6aWdlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkyCittc2dpZCAiY2hhbmdlIHJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICJyb3RhdGllc25lbGhlaWQgd2lqemlnZW4gKHJvbmRqZXMgcGVyIG1pbnV1dCkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MworbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJhYW50YWwgZnlzaWVrZSBjaWxpbmRlcnMgd2lqemlnZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwMgorbXNnaWQgIlNHSSIKK21zZ3N0ciAiU0dJIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDMKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICJvcHN0YXJ0YmFyZSBwYXJ0aXRpZSBzZWxlY3RlcmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDQKK21zZ2lkICJlZGl0IGJvb3RmaWxlIGVudHJ5IgorbXNnc3RyICJvcHN0YXJ0YmVzdGFuZC1pdGVtIGJld2Vya2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDUKK21zZ2lkICJzZWxlY3Qgc2dpIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICJTR0ktd2lzc2VsZ2VoZXVnZW5wYXJ0aXRpZSBzZWxlY3RlcmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDYKK21zZ2lkICJjcmVhdGUgU0dJIGluZm8iCittc2dzdHIgIlNHSS1pbmZvIGFhbm1ha2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTUKK21zZ2lkICJET1MgKE1CUikiCittc2dzdHIgIkRPUyAoTUJSKSIKKworIyBIaWVybmEgd29yZHQgbm9nIG5hYXIgZWVuIHBhcnRpdGllbnVtbWVyIGdldnJhYWdkLiAtLSBCZW5ubworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE2Cittc2dpZCAidG9nZ2xlIGEgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAid2VsL25pZXQgYWxzIG9wc3RhcnRiYWFyIGluc3RlbGxlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE3Cittc2dpZCAiZWRpdCBuZXN0ZWQgQlNEIGRpc2tsYWJlbCIKK21zZ3N0ciAiZ2VuZXN0IEJTRC1zY2hpamZsYWJlbCBiZXdlcmtlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE4Cittc2dpZCAidG9nZ2xlIHRoZSBkb3MgY29tcGF0aWJpbGl0eSBmbGFnIgorbXNnc3RyICJ3ZWwvbmlldCBhbHMgRE9TLWNvbXBhdGliZWwgaW5zdGVsbGVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjAKK21zZ2lkICJtb3ZlIGJlZ2lubmluZyBvZiBkYXRhIGluIGEgcGFydGl0aW9uIgorbXNnc3RyICJiZWdpbiB2YW4gZ2VnZXZlbnMgaW4gZWVuIHBhcnRpdGllIHZlcnBsYWF0c2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjEKK21zZ2lkICJjaGFuZ2UgdGhlIGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAic2NoaWpmLUlEIHdpanppZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjMKK21zZ2lkICJyZXR1cm4gZnJvbSBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgdG8gR1BUIgorbXNnc3RyICJ0ZXJ1Z2tlZXIgdWl0IGJlc2NoZXJtZW5kZS9oeWJyaWRlIE1CUiBuYWFyIEdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjMzCittc2dpZCAiQlNEIgorbXNnc3RyICJCU0QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNAorbXNnaWQgImVkaXQgZHJpdmUgZGF0YSIKK21zZ3N0ciAic2NoaWpmZ2VnZXZlbnMgYmV3ZXJrZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNQorbXNnaWQgImluc3RhbGwgYm9vdHN0cmFwIgorbXNnc3RyICJib290c3RyYXAgaW5zdGFsbGVyZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNgorbXNnaWQgInNob3cgY29tcGxldGUgZGlza2xhYmVsIgorbXNnc3RyICJjb21wbGV0ZSBzY2hpamZsYWJlbCB3ZWVyZ2V2ZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNworbXNnaWQgImxpbmsgQlNEIHBhcnRpdGlvbiB0byBub24tQlNEIHBhcnRpdGlvbiIKK21zZ3N0ciAiQlNELXBhcnRpdGllIGtvcHBlbGVuIGFhbiBuaWV0LUJTRC1wYXJ0aXRpZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwIChleHBlcnQgY29tbWFuZHMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiSHVscCAoZXhwZXJ0b3BkcmFjaHRlbik6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM3MSBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHA6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJIdWxwOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91J3JlIGVkaXRpbmcgbmVzdGVkICclcycgcGFydGl0aW9uIHRhYmxlLCBwcmltYXJ5IHBhcnRpdGlvbiB0YWJsZSBpcyAnJXMnLiIKK21zZ3N0ciAiVSBiZXdlcmt0IGVlbiBnZW5lc3RlICclcyctcGFydGl0aWV0YWJlbDsgZGUgcHJpbWFpcmUgdGFiZWwgaXMgJyVzJy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMQorbXNnaWQgIkV4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJFeHBlcnRvcGRyYWNodCAobSB2b29yIGh1bHApOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMworbXNnaWQgIkNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIk9wZHJhY2h0IChtIHZvb3IgaHVscCk6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVjOiB1bmtub3duIGNvbW1hbmQiCittc2dzdHIgIiVjOiBvbmJla2VuZGUgb3BkcmFjaHQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ1OCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODUKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lIgorbXNnc3RyICJWb2VyIG5hYW0gdmFuIHNjcmlwdGJlc3RhbmQgaW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ3MQorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgYXBwbGllZC4iCittc2dzdHIgIlNjcmlwdCBpcyBtZXQgc3VjY2VzIHRvZWdlcGFzdC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ5NworbXNnaWQgIkZhaWxlZCB0byB0cmFuc2Zvcm0gZGlzayBsYXlvdXQgaW50byBzY3JpcHQiCittc2dzdHIgIk9temV0dGVuIHZhbiBzY2hpamZpbmRlbGluZyBuYWFyIGVlbiBzY3JpcHQgaXMgbWlzbHVrdC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxMQorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgc2F2ZWQuIgorbXNnc3RyICJTY3JpcHQgaXMgbWV0IHN1Y2NlcyBvcGdlc2xhZ2VuLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTM0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ3NgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIlBhcnRpdGllICV6dSBiZXZhdCBlZW4gJXMtdmluZ2VyYWZkcnVrLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTM3IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ3OQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgc2lnbmF0dXJlPyIKK21zZ3N0ciAiV2lsdCB1IGRlemUgdmluZ2VyYWZkcnVrIHZlcndpamRlcmVuPyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTc1Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAic2NocmlqdmVuIHZhbiBzY2hpamZsYWJlbCBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MTMKK21zZ2lkICJGYWlsZWQgdG8gZml4IHBhcnRpdGlvbnMgb3JkZXIuIgorbXNnc3RyICJIZXJvcmRlbmVuIHZhbiBwYXJ0aXRpZXMgaXMgbWlzbHVrdC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYxNQorbXNnaWQgIlBhcnRpdGlvbnMgb3JkZXIgZml4ZWQuIgorbXNnc3RyICJEZSBwYXJ0aXRpZXMgemlqbiBoZXJvcmRlbmQuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJLYW4gcGFydGl0aWUgJXp1IG5pZXQgdmVyd2lqZGVyZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY2MAorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gY3lsaW5kZXJzIChERVBSRUNBVEVEISkuIgorbXNnc3RyICJFZW5oZWlkIHZvb3Igd2VlcmdhdmUvaW52b2VyIGlzIHZlcmFuZGVyZCBuYWFyIGNpbGluZGVycyAoVkVST1VERVJEISkuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjIKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIHNlY3RvcnMuIgorbXNnc3RyICJFZW5oZWlkIHZvb3Igd2VlcmdhdmUvaW52b2VyIGlzIHZlcmFuZGVyZCBuYWFyIHNlY3RvcmVuLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjcyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjg0MgorbXNnaWQgIkxlYXZpbmcgbmVzdGVkIGRpc2tsYWJlbC4iCittc2dzdHIgIlZlcmxhdGVuIHZhbiBnZW5lc3Qgc2NoaWpmbGFiZWwuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MDkKK21zZ2lkICJOZXcgbWF4aW11bSBlbnRyaWVzIgorbXNnc3RyICJOaWV1dyBtYXhpbXVtIGFhbnRhbCBpdGVtcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzE5Cittc2dpZCAiRW50ZXJpbmcgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIGRpc2tsYWJlbC4iCittc2dzdHIgIkJpbm5lbmdhYW4gdmFuIGJlc2NoZXJtZW5kL2h5YnJpZGUgTUJSLXNjaGlqZmxhYmVsLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzM1Cittc2dpZCAiTmV3IFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiTmlldXdlIFVVSUQgKGluIDgtNC00LTQtMTItdm9ybSkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc1MAorbXNnaWQgIk5ldyBuYW1lIgorbXNnc3RyICJOaWV1d2UgbmFhbSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6ODEzCittc2dpZCAiRW50ZXJpbmcgbmVzdGVkIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICJCaW5uZW5nYWFuIHZhbiBnZW5lc3QgQlNELXNjaGlqZmxhYmVsLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTk4Cittc2dpZCAiTnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAiQWFudGFsIGNpbGluZGVycyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAwMgorbXNnaWQgIk51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAiQWFudGFsIGtvcHBlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAwNgorbXNnaWQgIk51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJBYW50YWwgc2VjdG9yZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkXG4iCittc2dzdHIgIiVzIGlzIGFhbmdla29wcGVsZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgaXMgbmlldCBhYW5nZWtvcHBlbGRcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMxIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzQKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1MyBkaXNrLXV0aWxzL3NmZGlzay5jOjI5NyBsaWJmZGlzay9zcmMvYnNkLmM6NjQ2CisjOiBsaWIvcGF0aC5jOjExMCBsaWIvcGF0aC5jOjEzMSBsaWIvcGF0aC5jOjE1MiBsaWIvcGF0aC5jOjIwMAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIxMyBsb2dpbi11dGlscy9sYXN0LmM6MjUwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo2NjQKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjM5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjcxNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgJXMiCittc2dzdHIgImthbiAlcyBuaWV0IGxlemVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMzMgbGliL3BhdGguYzoxMzMgbGliL3BhdGguYzoxNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFyc2UgZXJyb3I6ICVzIgorbXNnc3RyICJrYW4gcGFkIG5pZXQgb250bGVkZW46ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgJXMiCittc2dzdHIgImFhbm1ha2VuIHZhbiBtYXAgJXMgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzczCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvY2tpbmcgZGlzayBieSAlcyAuLi4gIgorbXNnc3RyICJWZXJncmVuZGVsZW4gdmFuIHNjaGlqZiBkb29yICVzLi4uICIKKworIzogZGlzay11dGlscy9mc2NrLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgIih3YWl0aW5nKSAiCittc2dzdHIgIih3YWNodGVuKSAiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGVzZSBhcmUgZm9sbG93dXBzIHRvICJMb2NraW5nIGRpc2suLi4iLgorIzogZGlzay11dGlscy9mc2NrLmM6Mzk0Cittc2dpZCAic3VjY2VlZGVkIgorbXNnc3RyICJnZWx1a3QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5NAorbXNnaWQgImZhaWxlZCIKK21zZ3N0ciAibWlzbHVrdCIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDEyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVubG9ja2luZyAlcy5cbiIKK21zZ3N0ciAiT250Z3JlbmRlbGVuIHZhbiAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXR1cCBkZXNjcmlwdGlvbiBmb3IgJXMiCittc2dzdHIgImluc3RlbGxlbiB2YW4gdmFuIG9tc2NocmlqdmluZyB2b29yICVzIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ3NCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3ODIgbWlzYy11dGlscy9sc2Jsay5jOjQzMworIzogc3lzLXV0aWxzL21vdW50LmM6MTAyIHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6MTkgc3lzLXV0aWxzL3Vtb3VudC5jOjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiBvbnRsZWRpbmdzZm91dCBvcCByZWdlbCAlZCAtLSBpcyBnZW5lZ2VlcmQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjUwNiBkaXNrLXV0aWxzL2ZzY2suYzo1MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSBmc3RhYiIKK21zZ3N0ciAiJXM6IG9udGxlZGVuIHZhbiAnZnN0YWInLWJlc3RhbmQgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njc5IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTY4IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDM0CisjOiBsb2dpbi11dGlscy92aXB3LmM6MjA0IHN5cy11dGlscy9mbG9jay5jOjM0NSBzeXMtdXRpbHMvbnNlbnRlci5jOjE1MworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxNiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIxOSBzeXMtdXRpbHMvdW5zaGFyZS5jOjQyMAorIzogdGVybS11dGlscy9zY3JpcHQuYzo3ODAKK21zZ2lkICJmb3JrIGZhaWxlZCIKK21zZ3N0ciAiZm9yaygpIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0ZSBmYWlsZWQiCittc2dzdHIgIiVzOiB1aXR2b2VyZW4gaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzc0Cittc2dpZCAid2FpdDogbm8gbW9yZSBjaGlsZCBwcm9jZXNzPyE/IgorbXNnc3RyICJ3YWl0OiBHZWVuIGRvY2h0ZXJwcm9jZXNzZW4gbWVlcj8hPyIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzc3IHN5cy11dGlscy9mbG9jay5jOjM2MyBzeXMtdXRpbHMvc3dhcG9uLmM6MzQ4CisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQwNCBzeXMtdXRpbHMvdW5zaGFyZS5jOjQyNQorbXNnaWQgIndhaXRwaWQgZmFpbGVkIgorbXNnc3RyICJ3YWl0cGlkKCkgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmcuLi4gJXMgZm9yIGRldmljZSAlcyBleGl0ZWQgd2l0aCBzaWduYWwgJWQuIgorbXNnc3RyICJXYWFyc2NodXdpbmcuLi4gJXMgdm9vciBhcHBhcmFhdCAlcyBlaW5kaWdkZSBtZXQgc2lnbmFhbCAlZC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjgwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlczogc3RhdHVzIGlzICV4LCBzaG91bGQgbmV2ZXIgaGFwcGVuLiIKK21zZ3N0ciAiJXMgJXM6IHN0YXR1cyBpcyAleCAtLSB6b3Ugbm9vaXQgbW9nZW4gZ2ViZXVyZW4uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluaXNoZWQgd2l0aCAlcyAoZXhpdCBzdGF0dXMgJWQpXG4iCittc2dzdHIgIktsYWFyIG1ldCAlcyAoYWZzbHVpdHdhYXJkZSAlZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6OTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yICVkICglbSkgd2hpbGUgZXhlY3V0aW5nIGZzY2suJXMgZm9yICVzIgorbXNnc3RyICJmb3V0ICVkICglbSkgdGlqZGVucyB1aXR2b2VyZW4gdmFuICdmc2NrLiVzJyB2b29yICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5OTEKK21zZ2lkICIiCisiRWl0aGVyIGFsbCBvciBub25lIG9mIHRoZSBmaWxlc3lzdGVtIHR5cGVzIHBhc3NlZCB0byAtdCBtdXN0IGJlIHByZWZpeGVkXG4iCisid2l0aCAnbm8nIG9yICchJy4iCittc2dzdHIgIiIKKyJPZndlbCBhbGxlIG9md2VsIGdlZW4gdmFuIGRlIGJlc3RhbmRzc3lzdGVlbXNvb3J0ZW4gYmlqIG9wdGllICctdCdcbiIKKyJkaWVuZW4gdGUgYmVnaW5uZW4gbWV0ICdubycgb2YgJyEnLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgYmFkIGxpbmUgaW4gL2V0Yy9mc3RhYjogYmluZCBtb3VudCB3aXRoIG5vbnplcm8gZnNjayBwYXNzIG51bWJlciIKK21zZ3N0ciAiIgorIiVzOiBvbmp1aXN0ZSByZWdlbCBpbiAvZXRjL2ZzdGFiIHdvcmR0IG92ZXJnZXNsYWdlbjpcbiIKKyJlZW4gJ2JpbmQnLWFhbmtvcHBlbGluZyBtZXQgZWVuIG5pZXQtbnVsIGZzY2stdm9sZ29yZGVudW1tZXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIG5vbmV4aXN0ZW50IGRldmljZVxuIgorbXNnc3RyICIlczogbmlldC1iZXN0YWFuZCBhcHBhcmFhdCB3b3JkdCBvdmVyZ2VzbGFnZW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9uZXhpc3RlbnQgZGV2aWNlIChcIm5vZmFpbFwiIGZzdGFiIG9wdGlvbiBtYXkgYmUgdXNlZCB0byBza2lwIHRoaXMgZGV2aWNlKVxuIgorbXNnc3RyICIiCisiJXM6IG5pZXQtYmVzdGFhbmQgYXBwYXJhYXRcbiIKKyIob3B0aWUgXCJub2ZhaWxcIiBrYW4gaW4gZnN0YWIgZ2VicnVpa3Qgd29yZGVuIG9tIGRpdCBhcHBhcmFhdCBvdmVyIHRlIHNsYWFuKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZVxuIgorbXNnc3RyICIlczogb25iZWtlbmRlIGJlc3RhbmRzc3lzdGVlbXNvb3J0IHdvcmR0IG92ZXJnZXNsYWdlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGVjayAlczogZnNjay4lcyBub3QgZm91bmQiCittc2dzdHIgImthbiAlcyBuaWV0IGNvbnRyb2xlcmVuOiBnZWVuICdmc2NrLiVzJyBnZXZvbmRlbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTI1OQorbXNnaWQgIkNoZWNraW5nIGFsbCBmaWxlIHN5c3RlbXMuXG4iCittc2dzdHIgIkFsbGUgYmVzdGFuZHNzeXN0ZW1lbiB3b3JkZW4gZ2Vjb250cm9sZWVyZC5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM1MAorIywgYy1mb3JtYXQKK21zZ2lkICItLXdhaXRpbmctLSAocGFzcyAlZClcbiIKK21zZ3N0ciAiLS13YWNodGVuLS0gKHN0YXAgJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAtLSBbZnMtb3B0aW9uc10gWzxmaWxlc3lzdGVtPiAuLi5dXG4iCittc2dzdHIgIiAgJXMgW3Byb2dyYW1tYW9wdGllc10gWy0tIGJlc3RhbmRzc3lzdGVlbW9wdGllc10gWzxiZXN0YW5kc3N5dGVlbT4uLi5dXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNzkKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiQ29udHJvbGVlcnQgZW4gcmVwYXJlZXJ0IGVlbiBMaW51eC1iZXN0YW5kc3N5c3RlZW0uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODIKK21zZ2lkICIgLUEgICAgICAgICBjaGVjayBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAtQSAgICAgICAgICBhbGxlIGJlc3RhbmRzc3lzdGVtZW4gY29udHJvbGVyZW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4MworbXNnaWQgIiAtQyBbPGZkPl0gIGRpc3BsYXkgcHJvZ3Jlc3MgYmFyOyBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiICAtQyBbPGJkPl0gICB2b29ydGdhbmdzYmFsayB0b25lbjsgZGUgYmVzdGFuZHNkZXNjcmlwdG9yIGlzIHZvb3IgR1VJJ3NcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NAorbXNnaWQgIiAtbCAgICAgICAgIGxvY2sgdGhlIGRldmljZSB0byBndWFyYW50ZWUgZXhjbHVzaXZlIGFjY2Vzc1xuIgorbXNnc3RyICIgIC1sICAgICAgICAgIGhldCBhcHBhcmFhdCB2ZXJncmVuZGVsZW4gb20gZXhjbHVzaWV2ZSB0b2VnYW5nIHRlIGdhcmFuZGVyZW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NQorbXNnaWQgIiAtTSAgICAgICAgIGRvIG5vdCBjaGVjayBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgLU0gICAgICAgICAgYWFuZ2Vrb3BwZWxkZSBiZXN0YW5kc3N5c3RlbWVuIG5pZXQgY29udHJvbGVyZW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NgorbXNnaWQgIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCittc2dzdHIgIiAgLU4gICAgICAgICAgbmlldHMgZWNodCBkb2VuLCBhbGxlZW4gdG9uZW4gd2F0IGVyIGdlZGFhbiB6b3Ugd29yZGVuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODcKK21zZ2lkICIgLVAgICAgICAgICBjaGVjayBmaWxlc3lzdGVtcyBpbiBwYXJhbGxlbCwgaW5jbHVkaW5nIHJvb3RcbiIKK21zZ3N0ciAiICAtUCAgICAgICAgICBiZXN0YW5kc3N5c3RlbWVuIHBhcmFsbGVsIGNvbnRyb2xlcmVuLCBvb2sgaGV0IGJhc2lzc3lzdGVlbVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg4Cittc2dpZCAiIC1SICAgICAgICAgc2tpcCByb290IGZpbGVzeXN0ZW07IHVzZWZ1bCBvbmx5IHdpdGggJy1BJ1xuIgorbXNnc3RyICIgIC1SICAgICAgICAgIGhldCBiYXNpc2Jlc3RhbmRzc3l0ZWVtIG92ZXJzbGFhbiAoYWxsZWVuIG51dHRpZyBzYW1lbiBtZXQgJy1BJylcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4OQorbXNnaWQgIiIKKyIgLXIgWzxmZD5dICByZXBvcnQgc3RhdGlzdGljcyBmb3IgZWFjaCBkZXZpY2UgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiICAtciBbPGJzPl0gICBzdGF0aXN0aWVrZW4gd2VlcmdldmVuIHZvb3IgZWxrZSBhcHBhcmFhdGNvbnRyb2xlOyAgICAgICAgICAgICAgICAgKGRlIGJlc3RhbmRzZGVzY3JpcHRvciBpcyB2b29yIEdVSSdzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkxCittc2dpZCAiIC1zICAgICAgICAgc2VyaWFsaXplIHRoZSBjaGVja2luZyBvcGVyYXRpb25zXG4iCittc2dzdHIgIiAgLXMgICAgICAgICAgZGUgY29udHJvbGUtYWN0aWVzIHNlcmlhbGlzZXJlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkyCittc2dpZCAiIC1UICAgICAgICAgZG8gbm90IHNob3cgdGhlIHRpdGxlIG9uIHN0YXJ0dXBcbiIKK21zZ3N0ciAiICAtVCAgICAgICAgICBnZWVuIHRpdGVsIHRvbmVuIGJpaiBwcm9ncmFtbWFzdGFydFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkzCittc2dpZCAiIgorIiAtdCA8dHlwZT4gIHNwZWNpZnkgZmlsZXN5c3RlbSB0eXBlcyB0byBiZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIDx0eXBlPiBpcyBhbGxvd2VkIHRvIGJlIGEgY29tbWEtc2VwYXJhdGVkIGxpc3RcbiIKK21zZ3N0ciAiIgorIiAgLXQgPHNvb3J0PiAgYWxsZWVuIGRlemUgYmVzdGFuZHNzeXN0ZWVtc29vcnRlbiBjb250cm9sZXJlbjtcbiIKKyIgICAgICAgICAgICAgICAgPHNvb3J0PiBtYWcgZWVuIGtvbW1hZ2VzY2hlaWRlbiBsaWpzdCB6aWpuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTUKK21zZ2lkICIgLVYgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC1WICAgICAgICAgIHdlZXJnZXZlbiB3YXQgZXIgZ2VkYWFuIHdvcmR0XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTYKK21zZ2lkICIgLT8gICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgIC0/ICAgICAgICAgIGRlemUgaHVscHRla3N0IHRvbmVuIGVuIHN0b3BwZW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OQorbXNnaWQgIlNlZSB0aGUgc3BlY2lmaWMgZnNjay4qIGNvbW1hbmRzIGZvciBhdmFpbGFibGUgZnMtb3B0aW9ucy4iCittc2dzdHIgIlppZSBkZSBiZXRyZWZmZW5kZSAnZnNjay4qJy1vcGRyYWNodGVuIHZvb3IgYmVzdGFuZHNzeXN0ZWVtb3B0aWVzLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQzOAorbXNnaWQgInRvbyBtYW55IGRldmljZXMiCittc2dzdHIgInRlIHZlZWwgYXBwYXJhdGVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDUwCittc2dpZCAiSXMgL3Byb2MgbW91bnRlZD8iCittc2dzdHIgIklzIC9wcm9jIHdlbCBhYW5nZWtvcHBlbGQ/IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDU4CisjLCBjLWZvcm1hdAorbXNnaWQgIm11c3QgYmUgcm9vdCB0byBzY2FuIGZvciBtYXRjaGluZyBmaWxlc3lzdGVtczogJXMiCittc2dzdHIgIlUgZGllbnQgcm9vdCB0ZSB6aWpuIG9tIG5hYXIgb3ZlcmVlbmtvbWVuZGUgYmVzdGFuZHNzeXN0ZW1lbiB0ZSB6b2VrZW46ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDYyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGZpbmQgbWF0Y2hpbmcgZmlsZXN5c3RlbTogJXMiCittc2dzdHIgIkthbiBnZWVuIG92ZXJlZW5rb21lbmQgYmVzdGFuZHNzeXN0ZWVtIHZpbmRlbjogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NzAgZGlzay11dGlscy9mc2NrLmM6MTU2NSBtaXNjLXV0aWxzL2tpbGwuYzozNjMKKyM6IHN5cy11dGlscy9lamVjdC5jOjI3OQorbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKK21zZ3N0ciAidGUgdmVlbCBhcmd1bWVudGVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTI1IGRpc2stdXRpbHMvZnNjay5jOjE1MjgKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yIgorbXNnc3RyICJvbmdlbGRpZyBhcmd1bWVudCBiaWogLXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtcjogJWQiCittc2dzdHIgIm9uZ2VsZGlnIGFyZ3VtZW50IGJpaiAtcjogJWQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2MTgKK21zZ2lkICJ0aGUgLWwgb3B0aW9uIGNhbiBiZSB1c2VkIHdpdGggb25lIGRldmljZSBvbmx5IC0tIGlnbm9yZSIKK21zZ3N0ciAib3B0aWUgJy1sJyBpcyBhbGxlZW4gZ2VsZGlnIGJpaiDDqcOpbiBhcHBhcmFhdCAtLSBnZW5lZ2VlcmQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT5cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSA8YmVzdGFuZD5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExNgorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBjb21wcmVzc2VkIFJPTSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJDb250cm9sZWVydCBlbiByZXBhcmVlcnQgZWVuIGdlY29tcHJpbWVlcmQgUk9NLWJlc3RhbmRzc3lzdGVlbS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOQorbXNnaWQgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIgIC1hICAgICAgICAgICAgICAgICAgICAgICAoZ2VuZWdlZXJkLCBzbGVjaHRzIGhlcmtlbmQgdm9vciBjb21wYXRpYmlsaXRlaXQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjAKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIgorbXNnc3RyICIgIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBnZWRldGFpbGxlZXJkZXJlIHVpdHZvZXIgcHJvZHVjZXJlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIxCittc2dpZCAiIC15ICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiAgLXkgICAgICAgICAgICAgICAgICAgICAgIChnZW5lZ2VlcmQsIHNsZWNodHMgaGVya2VuZCB2b29yIGNvbXBhdGliaWxpdGVpdClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMgorbXNnaWQgIiAtYiwgLS1ibG9ja3NpemUgPHNpemU+ICAgdXNlIHRoaXMgYmxvY2tzaXplLCBkZWZhdWx0cyB0byBwYWdlIHNpemVcbiIKK21zZ3N0ciAiICAtYiwgLS1ibG9ja3NpemUgPGdldGFsPiAgdGUgZ2VicnVpa2VuIGJsb2tncm9vdHRlOyBzdGFuZGFhcmQgaXMgcGFnaW5hZ3Jvb3R0ZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIzCittc2dpZCAiICAgICAtLWV4dHJhY3RbPTxkaXI+XSAgICB0ZXN0IHVuY29tcHJlc3Npb24sIG9wdGlvbmFsbHkgZXh0cmFjdCBpbnRvIDxkaXI+XG4iCittc2dzdHIgIiAgICAgIC0tZXh0cmFjdFs9PG1hcD5dICAgIGRlY29tcHJlc3NpZSB0ZXN0ZW4gKHVpdHBha2tlbiBpbiBnZWdldmVuIDxtYXA+KVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGZhaWxlZDogdW5hYmxlIHRvIGRldGVybWluZSBkZXZpY2Ugc2l6ZTogJXMiCittc2dzdHIgImlvY3RsKCkgaXMgbWlzbHVrdDoga2FuIGdyb290dGUgdmFuIGFwcGFyYWF0IG5pZXQgYWNodGVyaGFsZW46ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGJsb2NrIGRldmljZSBvciBmaWxlOiAlcyIKK21zZ3N0ciAiaXMgZ2VlbiBibG9rLWFwcGFyYWF0IG5vY2ggYmVzdGFuZDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzAgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNgorbXNnaWQgImZpbGUgbGVuZ3RoIHRvbyBzaG9ydCIKK21zZ3N0ciAiYmVzdGFuZHNsZW5ndGUgaXMgdGUga2xlaW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzkgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzMworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI0OSBsaWJmZGlzay9zcmMvYnNkLmM6NzE4IGxpYmZkaXNrL3NyYy9ic2QuYzo4OTAKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMDggbG9naW4tdXRpbHMvbGFzdC5jOjI0MiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgInNlZWsgb24gJXMgZmFpbGVkIgorbXNnc3RyICInc2Vlaycgb3AgJXMgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg3Cittc2dpZCAic3VwZXJibG9jayBtYWdpYyBub3QgZm91bmQiCittc2dzdHIgImdlZW4gbWFnaXNjaCBnZXRhbCB2YW4gc3VwZXJibG9rIGdldm9uZGVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImNyYW1mcyBlbmRpYW5uZXNzIGlzICVzXG4iCittc2dzdHIgImRlemUgY3JhbWZzIGlzICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTEKK21zZ2lkICJiaWciCittc2dzdHIgImJpZyBlbmRpYW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTEKK21zZ2lkICJsaXR0bGUiCittc2dzdHIgImxpdHRsZSBlbmRpYW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTUKK21zZ2lkICJ1bnN1cHBvcnRlZCBmaWxlc3lzdGVtIGZlYXR1cmVzIgorbXNnc3RyICJuaWV0LW9uZGVyc3RldW5kZSBiZXN0YW5kc3N5c3RlZW1mdW5jdGllcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXBlcmJsb2NrIHNpemUgKCVkKSB0b28gc21hbGwiCittc2dzdHIgImdyb290dGUgKCVkKSB2YW4gc3VwZXJibG9rIGlzIHRlIGtsZWluIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA0Cittc2dpZCAiemVybyBmaWxlIGNvdW50IgorbXNnc3RyICJudWwgYmVzdGFuZGVuIGdldGVsZCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwOAorbXNnaWQgImZpbGUgZXh0ZW5kcyBwYXN0IGVuZCBvZiBmaWxlc3lzdGVtIgorbXNnc3RyICJiZXN0YW5kIGxvb3B0IGRvb3IgdG90IHZvb3JiaWogaGV0IGVpbmRlIHZhbiBoZXQgYmVzdGFuZHNzeXN0ZWVtIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjEwCittc2dpZCAib2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgIm91ZGUgY3JhbWZzLWluZGVsaW5nIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjE5Cittc2dpZCAidW5hYmxlIHRvIHRlc3QgQ1JDOiBvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAia2FuIGNvbnRyb2xlc29tIG5pZXQgdGVzdGVuOiBvdWRlIGNyYW1mcy1pbmRlbGluZyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI3MgorbXNnaWQgImNyYyBlcnJvciIKK21zZ3N0ciAiZm91dGlldmUgY29udHJvbGVzb20iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTU0Cittc2dpZCAic2VlayBmYWlsZWQiCittc2dzdHIgIidzZWVrJyBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzA2Cittc2dpZCAicmVhZCByb21mcyBmYWlsZWQiCittc2dzdHIgImxlemVuIHZhbiBST00tRlMgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMzOAorbXNnaWQgInJvb3QgaW5vZGUgaXMgbm90IGRpcmVjdG9yeSIKK21zZ3N0ciAiaG9vZmQtaW5vZGUgaXMgZ2VlbiBtYXAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHJvb3Qgb2Zmc2V0ICglbHUpIgorbXNnc3RyICJmb3V0aWV2ZSBwb3NpdGllICglbHUpIHZhbiBob29mZG1hcCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2MAorbXNnaWQgImRhdGEgYmxvY2sgdG9vIGxhcmdlIgorbXNnc3RyICJkYXRhYmxvayBpcyB0ZSBncm9vdCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJkZWNvbXByZXNzaW9uIGVycm9yOiAlcyIKK21zZ3N0ciAiZGVjb21wcmVzc2llZm91dDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBob2xlIGF0ICVsdSAoJXp1KVxuIgorbXNnc3RyICIgIGdhdCBvcCAlbHUgKCV6dSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5NyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgdW5jb21wcmVzc2luZyBibG9jayBhdCAlbHUgdG8gJWx1ICglbHUpXG4iCittc2dzdHIgIiAgZGVjb21wcmltZXJlbiB2YW4gYmxvayBvcCAlbHUgbmFhciAlbHUgKCVsdSlcbiIKKworIyBGSVhNRTogd2hhdCBpcyB0aGlzPworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmxvY2sgKCVsZCkgYnl0ZXMiCittc2dzdHIgImdlZW4gYmxvayAoJWxkIGJ5dGVzKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwOAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tc2l6ZSAoJWxkIHZzICVsZCkgYnl0ZXMiCittc2dzdHIgIm9uanVpc3RlIGdyb290dGUgKCVsZCBpLnAudi4gJWxkIGJ5dGVzKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxMyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE2CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwNCBtaXNjLXV0aWxzL3V1aWRkLmM6Mzc1IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODIKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM1IHN5cy11dGlscy9zZXRwcml2LmM6NTU4IHN5cy11dGlscy9zd2Fwb24uYzozODkKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZDogJXMiCittc2dzdHIgInNjaHJpanZlbiBpcyBtaXNsdWt0OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyNAorIywgYy1mb3JtYXQKK21zZ2lkICJsY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAiJ2xjaG93bicgaXMgbWlzbHVrdDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAiJ2Nob3duJyBpcyBtaXNsdWt0OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQzMworIywgYy1mb3JtYXQKK21zZ2lkICJ1dGltZSBmYWlsZWQ6ICVzIgorbXNnc3RyICIndXRpbWUnIGlzIG1pc2x1a3Q6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICJtYXAtaW5vZGUgJXMgaGVlZnQgcG9zaXRpZSBudWwgZW4gbmlldC1udWwgZ3Jvb3R0ZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ2MAorIywgYy1mb3JtYXQKK21zZ2lkICJta2RpciBmYWlsZWQ6ICVzIgorbXNnc3RyICInbWtkaXInIGlzIG1pc2x1a3Q6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc2Cittc2dpZCAiZmlsZW5hbWUgbGVuZ3RoIGlzIHplcm8iCittc2dzdHIgImxlbmd0ZSB2YW4gYmVzdGFuZHNuYWFtIGlzIG51bCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3OAorbXNnaWQgImJhZCBmaWxlbmFtZSBsZW5ndGgiCittc2dzdHIgIm9uZ2VsZGlnZSBsZW5ndGUgdmFuIGJlc3RhbmRzbmFhbSAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0ODQKK21zZ2lkICJiYWQgaW5vZGUgb2Zmc2V0IgorbXNnc3RyICJvbmdlbGRpZ2UgaW5vZGUtcG9zaXRpZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ5OQorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplIgorbXNnc3RyICJiZXN0YW5kcy1pbm9kZSBoZWVmdCBwb3NpdGllIG51bCBlbiBuaWV0LW51bCBncm9vdHRlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTAyCittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBzaXplIGFuZCBub24temVybyBvZmZzZXQiCittc2dzdHIgImJlc3RhbmRzLWlub2RlIGhlZWZ0IGdyb290dGUgbnVsIGVuIG5pZXQtbnVsIHBvc2l0aWUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzEKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIG9mZnNldCIKK21zZ3N0ciAic3ltYm9saXNjaGUga29wcGVsaW5nIGhlZWZ0IHBvc2l0aWUgbnVsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTMzCittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBzaXplIgorbXNnc3RyICJzeW1ib2xpc2NoZSBrb3BwZWxpbmcgaGVlZnQgZ3Jvb3R0ZSBudWwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2l6ZSBlcnJvciBpbiBzeW1saW5rOiAlcyIKK21zZ3N0ciAiZm91dGlldmUgZ3Jvb3R0ZSBpbiBzeW1ib2xpc2NoZSBrb3BwZWxpbmc6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTU2CisjLCBjLWZvcm1hdAorbXNnaWQgInN5bWxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAic3ltYm9saXNjaGUga29wcGVsaW5nIGlzIG1pc2x1a3Q6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTY5CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZmlsZSBoYXMgbm9uLXplcm8gb2Zmc2V0OiAlcyIKK21zZ3N0ciAic3BlY2lhYWwgYmVzdGFuZCBoZWVmdCBuaWV0LW51bCBwb3NpdGllOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU3OQorIywgYy1mb3JtYXQKK21zZ2lkICJmaWZvIGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiZmlmbyBoZWVmdCBuaWV0IGxlbmd0ZSBudWw6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgInNvY2tldCBoZWVmdCBuaWV0IGxlbmd0ZSBudWw6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg4CisjLCBjLWZvcm1hdAorbXNnaWQgImJvZ3VzIG1vZGU6ICVzICglbykiCittc2dzdHIgIm9uZ2VsZGlnZSBtb2R1czogJXMgKCVvKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5NworIywgYy1mb3JtYXQKK21zZ2lkICJta25vZCBmYWlsZWQ6ICVzIgorbXNnc3RyICInbWtub2QnIGlzIG1pc2x1a3Q6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjI5CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIHN0YXJ0ICglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQgKCV6dSkiCittc2dzdHIgImJlZ2luIHZhbiBtYXBkYXRhICglbHUpIGlzIGtsZWluZXIgZGFuIHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSBwbHVzIHN0YXJ0ICglenUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIGVuZCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCittc2dzdHIgImVpbmRlIHZhbiBtYXBkYXRhICglbHUpIGlzIG9uZ2VsaWprIGFhbiBiZWdpbiB2YW4gYmVzdGFuZHNkYXRhICglbHUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjM3Cittc2dpZCAiaW52YWxpZCBmaWxlIGRhdGEgb2Zmc2V0IgorbXNnc3RyICJvbmdlbGRpZ2UgcG9zaXRpZSB2YW4gYmVzdGFuZHNnZWdldmVucyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY4NCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzI2Cittc2dpZCAiaW52YWxpZCBibG9ja3NpemUgYXJndW1lbnQiCittc2dzdHIgIm9uZ2VsZGlnZSBibG9rZ3Jvb3R0ZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogT0tcbiIKK21zZ3N0ciAiJXM6IE9LXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NAorbXNnaWQgIkNoZWNrIHRoZSBjb25zaXN0ZW5jeSBvZiBhIE1pbml4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkNvbnRyb2xlZXJ0IGVlbiBNaW5peC1iZXN0YW5kc3N5c3RlZW0uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NgorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgIGxpc3QgYWxsIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgIC1sLCAtLWxpc3QgICAgICAgICBhbGxlIGJlc3RhbmRzbmFtZW4gdG9uZW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg3Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgYXV0b21hdGljIHJlcGFpclxuIgorbXNnc3RyICIgIC1hLCAtLWF1dG8gICAgICAgICBhdXRvbWF0aXNjaCByZXBhcmVyZW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg4Cittc2dpZCAiIC1yLCAtLXJlcGFpciAgICAgaW50ZXJhY3RpdmUgcmVwYWlyXG4iCittc2dzdHIgIiAgLXIsIC0tcmVwYWlyICAgICAgIGludGVyYWN0aWVmIHJlcGFyZXJlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBiZSB2ZXJib3NlXG4iCittc2dzdHIgIiAgLXYsIC0tdmVyYm9zZSAgICAgIGdlZGV0YWlsbGVlcmRlIHVpdHZvZXIgcHJvZHVjZXJlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTAKK21zZ2lkICIgLXMsIC0tc3VwZXIgICAgICBvdXRwdXQgc3VwZXItYmxvY2sgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiICAtcywgLS1zdXBlciAgICAgICAgaW5mb3JtYXRpZSBvdmVyIHN1cGVyYmxvayB0b25lblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTEKK21zZ2lkICIgLW0sIC0tdW5jbGVhcmVkICBhY3RpdmF0ZSBtb2RlIG5vdCBjbGVhcmVkIHdhcm5pbmdzXG4iCittc2dzdHIgIiAgLW0sIC0tdW5jbGVhcmVkICAgIG1lbGRpbmcgZ2V2ZW4gd2FubmVlciBtb2R1cyBuaWV0IGdld2lzdCB3ZXJkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MgorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgIGZvcmNlIGNoZWNrXG4iCittc2dzdHIgIiAgLWYsIC0tZm9yY2UgICAgICAgIGNvbnRyb2xlIGFmZHdpbmdlblxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhlc2UgeWVzIG5vIHF1ZXN0aW9ucyB1c2VzIHJwbWF0Y2goKSwgYW5kIHNob3VsZCBiZQorIy4gKiB0cmFuc2xhdGVkLgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICh5L24pPyAiCittc2dzdHIgIiVzIChqL24pPyAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAobi95KT8gIgorbXNnc3RyICIlcyAobi9qKT8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAieVxuIgorbXNnc3RyICJqXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJuXG4iCittc2dzdHIgIm5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQuXHQgIgorbXNnc3RyICIlcyBpcyBhYW5nZWtvcHBlbGQuXHQgIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODkKK21zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gY29udGludWUiCittc2dzdHIgIldpbHQgdSBlY2h0IGRvb3JnYWFuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2sgYWJvcnRlZC5cbiIKK21zZ3N0ciAiRGUgY29udHJvbGUgaXMgYWZnZWJyb2tlbi5cbiIKKworIyBGSVhNRTogYmFja3RpY2sKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMxOSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA8IEZJUlNUWk9ORSBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJab25lbnVtbWVyIDwgRUVSU1RFWk9ORSBpbiBiZXN0YW5kICclcycuIgorCisjIEZJWE1FOiBiYWNrdGljaworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzIyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yID49IFpPTkVTIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIlpvbmVudW1tZXIgPj0gWk9ORVMgaW4gYmVzdGFuZCAnJXMnLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzI2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0NworbXNnaWQgIlJlbW92ZSBibG9jayIKK21zZ3N0ciAiQmxvayB2ZXJ3aWpkZXJlbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IHVuYWJsZSB0byBzZWVrIHRvIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJMZWVzZm91dDoga2FuIGdlZW4gJ3NlZWsnIGRvZW4gbmFhciBibG9rIGluIGJlc3RhbmQgJyVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJMZWVzZm91dDogc2xlY2h0IGJsb2sgaW4gYmVzdGFuZCAnJXMnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSW50ZXJuYWwgZXJyb3I6IHRyeWluZyB0byB3cml0ZSBiYWQgYmxvY2tcbiIKKyJXcml0ZSByZXF1ZXN0IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorIioqSW50ZXJuZSBwcm9ncmFtbWFmb3V0Kio6IHBvZ2luZyB0b3Qgc2NocmlqdmVuIG5hYXIgZWVuIHNsZWNodCBibG9rLlxuIgorIkhldCBzY2hyaWpmdmVyem9layBpcyBnZW5lZ2VlcmQuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4NworbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICInc2VlaycgaXMgbWlzbHVrdCBpbiB3cml0ZV9ibG9jaygpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGUgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiU2NocmlqZmZvdXQ6IHNsZWNodCBibG9rIGluIGJlc3RhbmQgJyVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MDUKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9zdXBlcl9ibG9jayIKK21zZ3N0ciAiJ3NlZWsnIGlzIG1pc2x1a3QgaW4gd3JpdGVfc3VwZXJfYmxvY2soKSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTA3Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICJrYW4gc3VwZXJibG9rIG5pZXQgc2NocmlqdmVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjAKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICJrYW4gaW5vZGUta2FhcnQgbmlldCBzY2hyaWp2ZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyMworbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAia2FuIHpvbmUta2FhcnQgbmlldCBzY2hyaWp2ZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyNgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgImthbiBpbm9kZXMgbmlldCBzY2hyaWp2ZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU1OAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBidWZmZXIgZm9yIHN1cGVyYmxvY2siCittc2dzdHIgInJlc2VydmVyZW4gdmFuIGJ1ZmZlciB2b29yIHN1cGVyYmxvayBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjEKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBzdXBlciBibG9jayIKK21zZ3N0ciAia2FuIHN1cGVyYmxvayBuaWV0IGxlemVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODMKK21zZ2lkICJiYWQgbWFnaWMgbnVtYmVyIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJvbmdlbGRpZyBtYWdpc2NoIGdldGFsIGluIHN1cGVyYmxvayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg1Cittc2dpZCAiT25seSAxayBibG9ja3Mvem9uZXMgc3VwcG9ydGVkIgorbXNnc3RyICJBbGxlZW4gYmxva2tlbi96b25lcyB2YW4gMUsgemlqbiBtb2dlbGlqayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg3Cittc2dpZCAiYmFkIHNfbmlub2RlcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAib25nZWxkaWcgJ3Nfbmlub2RlcyctdmVsZCBpbiBzdXBlcmJsb2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4OQorbXNnaWQgImJhZCBzX2ltYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJvbmdlbGRpZyAnc19pbWFwX2Jsb2NrcyctdmVsZCBpbiBzdXBlcmJsb2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5MQorbXNnaWQgImJhZCBzX2ZpcnN0ZGF0YXpvbmUgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIm9uZ2VsZGlnICdzX2ZpcnN0ZGF0YXpvbmUnLXZlbGQgaW4gc3VwZXJibG9rIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTQKK21zZ2lkICJiYWQgc196bWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAib25nZWxkaWcgJ3Nfem1hcF9ibG9ja3MnLXZlbGQgaW4gc3VwZXJibG9rIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTAKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBtYXAiCittc2dzdHIgIkthbiBnZWVuIGJ1ZmZlciByZXNlcnZlcmVuIHZvb3IgaW5vZGUta2FhcnQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxMworbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgbWFwIgorbXNnc3RyICJLYW4gZ2VlbiBidWZmZXIgcmVzZXJ2ZXJlbiB2b29yIHpvbmUta2FhcnQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxNgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKK21zZ3N0ciAiS2FuIGdlZW4gYnVmZmVyIHJlc2VydmVyZW4gdm9vciBpbm9kZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxOQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIGNvdW50IgorbXNnc3RyICJLYW4gZ2VlbiBidWZmZXIgcmVzZXJ2ZXJlbiB2b29yIGlub2RlLWFhbnRhbGxlbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjIyCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBjb3VudCIKK21zZ3N0ciAiS2FuIGdlZW4gYnVmZmVyIHJlc2VydmVyZW4gdm9vciB6b25lLWFhbnRhbGxlbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI2Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGUgbWFwIgorbXNnc3RyICJLYW4gaW5vZGUta2FhcnQgbmlldCBsZXplbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjMwCittc2dpZCAiVW5hYmxlIHRvIHJlYWQgem9uZSBtYXAiCittc2dzdHIgIkthbiB6b25lLWthYXJ0IG5pZXQgbGV6ZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzNAorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlcyIKK21zZ3N0ciAiS2FuIGlub2RlcyBuaWV0IGxlemVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCittc2dzdHIgIldhYXJzY2h1d2luZzogRWVyc3RlWm9uZSAhPSBOb3JtYWxlRWVyc3RlWm9uZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGlub2Rlc1xuIgorbXNnc3RyICIlbGQgaW5vZGVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgYmxvY2tzXG4iCittc2dzdHIgIiVsZCBibG9ra2VuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3RkYXRhem9uZT0lamQgKCVqZClcbiIKK21zZ3N0ciAiRWVyc3RlR2VnZXZlbnNab25lPSVqZCAoJWpkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JWRcbiIKK21zZ3N0ciAiWm9uZUdyb290dGU9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIk1heHNpemU9JXp1XG4iCittc2dzdHIgIk1heEdyb290dGU9JXp1XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIHN0YXRlPSVkXG4iCittc2dzdHIgIkJlc3RhbmRzc3lzdGVlbXN0YXR1cz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm5hbWVsZW49JXpkXG4iCisiXG4iCittc2dzdHIgIiIKKyJuYWFtbGVuZ3RlPSV6ZFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NjQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVkIG1hcmtlZCB1bnVzZWQsIGJ1dCB1c2VkIGZvciBmaWxlICclcydcbiIKK21zZ3N0ciAiSW5vZGUgJWQgaXMgZ2VtYXJrZWVyZCBhbHMgb25nZWJydWlrdCwgbWFhciB3b3JkdCBnZWJydWlrdCBkb29yIGJlc3RhbmQgJyVzJy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjY3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcxNworbXNnaWQgIk1hcmsgaW4gdXNlIgorbXNnc3RyICJNYXJrZXJlbiBhbHMgZ2VicnVpa3QiCisKKyMgRklYTUU6IGJhY2t0aWNrCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2ODkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaWxlIGAlcycgaGFzIG1vZGUgJTA1b1xuIgorbXNnc3RyICJIZXQgYmVzdGFuZCAnJXMnIGhlZWZ0IG1vZHVzICUwNW9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Njk2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBpbm9kZSBjb3VudCB0b28gYmlnLlxuIgorbXNnc3RyICJXYWFyc2NodXdpbmc6IGhldCBhYW50YWwgaW5vZGVzIGlzIHRlIGdyb290LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NTUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzYzCittc2dpZCAicm9vdCBpbm9kZSBpc24ndCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiaG9vZmQtaW5vZGUgaXMgZ2VlbiBtYXAiCisKKyMgRklYTUU6IGJhY2t0aWNrCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NzUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrIGhhcyBiZWVuIHVzZWQgYmVmb3JlLiBOb3cgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiQmxvayBpcyBhbCBlZXJkZXIgZ2VicnVpa3QuICBOdSBpbiBiZXN0YW5kICclcycuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODA4CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTIKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwOAorbXNnaWQgIkNsZWFyIgorbXNnc3RyICJXaXNzZW4iCisKKyMgRklYTUU6IGJhY2t0aWNrCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrICVkIGluIGZpbGUgYCVzJyBpcyBtYXJrZWQgbm90IGluIHVzZS4iCittc2dzdHIgIkJsb2sgJWQgaW4gYmVzdGFuZCAnJXMnIGlzIGdlbWFya2VlcmQgYWxzIG9uZ2VicnVpa3QuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODIwCittc2dpZCAiQ29ycmVjdCIKK21zZ3N0ciAiQ29ycmlnZXJlbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTU5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRpcmVjdG9yeSAnJXMnIGNvbnRhaW5zIGEgYmFkIGlub2RlIG51bWJlciBmb3IgZmlsZSAnJS4qcycuIgorbXNnc3RyICJEZSBtYXAgJyVzJyBiZXZhdCBlZW4gb25nZWxkaWcgaW5vZGUtbnVtbWVyIHZvb3IgYmVzdGFuZCAnJS4qcycuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzNQorbXNnaWQgIiBSZW1vdmUiCittc2dzdHIgIiBWZXJ3aWpkZXJlbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTc3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdFxuIgorbXNnc3RyICIlczogb25nZWxkaWdlIG1hcDogJy4nIGlzIG5pZXQgZWVyc3RlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk4NiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIgorbXNnc3RyICIlczogb25nZWxkaWdlIG1hcDogJy4uJyBpcyBuaWV0IHR3ZWVkZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDk0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMTcKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAiKippbnRlcm5lIHByb2dyYW1tYWZvdXQqKiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA5NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBzaXplIDwgMzIiCittc2dzdHIgIiVzOiBvbmdlbGRpZ2UgbWFwOiBncm9vdHRlIDwgMzIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IGludmFsaWQgaV96b25lLCB1c2UgLS1yZXBhaXIgdG8gZml4XG4iCittc2dzdHIgIiVzOiBvbmdlbGRpZ2UgbWFwOiBvbmdlbGRpZ2UgJ2lfem9uZSc7IGdlYnJ1aWsgJy0tcmVwYWlyJyBvbSB0ZSBoZXJzdGVsbGVuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMzIKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBiYWRfem9uZSIKK21zZ3N0ciAiJ3NlZWsnIGlzIG1pc2x1a3QgaW4gYmFkX3pvbmUoKSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBtb2RlIG5vdCBjbGVhcmVkLiIKK21zZ3N0ciAiTW9kdXMgdmFuIGlub2RlICVsdSBpcyBuaWV0IGdld2lzdC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbm90IHVzZWQsIG1hcmtlZCB1c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICJJbm9kZSAlbHUgaXMgb25nZWJydWlrdCwgbWFhciBnZW1hcmtlZXJkIGFscyBnZWJydWlrdCBpbiBkZSBiaXRrYWFydC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxMworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgdXNlZCwgbWFya2VkIHVudXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiSW5vZGUgJWx1IGlzIGdlYnJ1aWt0LCBtYWFyIG5pZXQgYWxzIHpvZGFuaWcgZ2VtYXJrZWVyZCBpbiBkZSBiaXRrYWFydC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTggZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxNAorbXNnaWQgIlNldCIKK21zZ3N0ciAiTWFya2VyZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxOAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgKG1vZGUgPSAlMDdvKSwgaV9ubGlua3M9JWQsIGNvdW50ZWQ9JWQuIgorbXNnc3RyICJJbm9kZSAlbHUgKG1vZHVzID0gJTA3byksIGlfbmxpbmtzPSVkLCBnZXRlbGQ9JWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjEKK21zZ2lkICJTZXQgaV9ubGlua3MgdG8gY291bnQiCittc2dzdHIgImlfbmxpbmtzIG9wIGdldGVsZCBhYW50YWwgaW5zdGVsbGVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTc3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG1hcmtlZCBpbiB1c2UsIG5vIGZpbGUgdXNlcyBpdC4iCittc2dzdHIgIlpvbmUgJWx1IGlzIGdlbWFya2VlcmQgYWxzIGluIGdlYnJ1aWssIG1hYXIgZ2VlbiBiZXN0YW5kIGdlYnJ1aWt0IGhldC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIzNQorbXNnaWQgIlVubWFyayIKK21zZ3N0ciAiTWFya2VyaW5nIHZlcndpamRlcmVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTg0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICJab25lICVsdTogaW4gZ2VicnVpaywgZ2V0ZWxkPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MworIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbm90IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICJab25lICVsdTogbmlldCBpbiBnZWJydWlrLCBnZXRlbGQ9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5MQorbXNnaWQgImJhZCBpbm9kZSBzaXplIgorbXNnc3RyICJvbmdlbGRpZ2UgaW5vZGUtZ3Jvb3R0ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5MworbXNnaWQgImJhZCB2MiBpbm9kZSBzaXplIgorbXNnc3RyICJvbmdlbGRpZ2UgdjItaW5vZGUtZ3Jvb3R0ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTMzNworbXNnaWQgIm5lZWQgdGVybWluYWwgZm9yIGludGVyYWN0aXZlIHJlcGFpcnMiCittc2dzdHIgInZvb3IgaW50ZXJhY3RpZXZlIHJlcGFyYXRpZXMgaXMgZWVuIHRlcm1pbmFsIHZlcmVpc3QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICJrYW4gJXMgbmlldCBvcGVuZW46ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGNsZWFuLCBubyBjaGVjay5cbiIKK21zZ3N0ciAiJXMgaXMgc2Nob29uLCBnZWVuIGNvbnRyb2xlLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiAlcy5cbiIKK21zZ3N0ciAiR2Vkd29uZ2VuIGJlc3RhbmRzc3lzdGVlbWNvbnRyb2xlIHZhbiAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1NworIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIG9uICVzIGlzIGRpcnR5LCBuZWVkcyBjaGVja2luZy5cbiIKK21zZ3N0ciAiQmVzdGFuZHNzeXN0ZWVtIG9wICVzIGlzIHZlcnZ1aWxkLCBlZW4gY29udHJvbGUgaXMgbm9kaWcuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2bGQgaW5vZGVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICIiCisiXG4iCisiJTZsZCBpbm9kZXMgZ2VicnVpa3QgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiU2bGQgem9uZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiU2bGQgem9uZXMgZ2VicnVpa3QgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmQgcmVndWxhciBmaWxlc1xuIgorIiU2ZCBkaXJlY3Rvcmllc1xuIgorIiU2ZCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGJsb2NrIGRldmljZSBmaWxlc1xuIgorIiU2ZCBsaW5rc1xuIgorIiU2ZCBzeW1ib2xpYyBsaW5rc1xuIgorIi0tLS0tLVxuIgorIiU2ZCBmaWxlc1xuIgorbXNnc3RyICIiCisiXG4iCisiJTZkIGdld29uZSBiZXN0YW5kZW5cbiIKKyIlNmQgbWFwcGVuXG4iCisiJTZkIGJ5dGUtYXBwYXJhdGVuXG4iCisiJTZkIGJsb2stYXBwYXJhdGVuXG4iCisiJTZkIGtvcHBlbGluZ2VuXG4iCisiJTZkIHN5bWJvbGlzY2hlIGtvcHBlbGluZ2VuXG4iCisiLS0tLS0tXG4iCisiJTZkIGJlc3RhbmRlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDExCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiRklMRSBTWVNURU0gSEFTIEJFRU4gQ0hBTkdFRFxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyJCRVNUQU5EU1NZU1RFRU0gSVMgVkVSQU5ERVJEXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDIzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgzMworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MzkgZGlzay11dGlscy9wYXJ0eC5jOjEwMzUgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTEyCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5OCBzeXMtdXRpbHMvZG1lc2cuYzo2NTkgc3lzLXV0aWxzL3dkY3RsLmM6MzQ2CisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0MTEgdGVybS11dGlscy9zY3JpcHQuYzoyNzIgdGVybS11dGlscy9zY3JpcHQuYzozNDkKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjQ4Cittc2dpZCAid3JpdGUgZmFpbGVkIgorbXNnc3RyICJzY2hyaWp2ZW4gaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtaWdodCBub3QgYmUgYW4gSVNPIGZpbGVzeXN0ZW0iCittc2dzdHIgIiVzOiBpcyBtaXNzY2hpZW4gZ2VlbiBJU08tYmVzdGFuZHNzeXN0ZWVtIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VlayBlcnJvciBvbiAlcyIKK21zZ3N0ciAiJ3NlZWsnLWZvdXQgaW4gJXMiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE0MgorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkIGVycm9yIG9uICVzIgorbXNnc3RyICJsZWVzZm91dCBpbiAlcyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlY3RvciBjb3VudDogJWQsIHNlY3RvciBzaXplOiAlZFxuIgorbXNnc3RyICJhYW50YWwgc2VjdG9yZW46ICVkLCBzZWN0b3Jncm9vdHRlOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8aXNvOTY2MF9pbWFnZV9maWxlPlxuIgorbXNnc3RyICIgICVzIFtvcHRpZXNdIDxJU085NjYwLWJlc3RhbmQ+XG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3NAorbXNnaWQgIlNob3cgdGhlIGxlbmd0aCBvZiBhbiBJU08tOTY2MCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJUb29udCBkZSBsZW5ndGUgdmFuIGVlbiBJU08tOTY2MC1iZXN0YW5kc3N5c3RlZW0uXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3NworbXNnaWQgIiAtZCwgLS1kaXZpc29yPTxudW1iZXI+ICBkaXZpZGUgdGhlIGFtb3VudCBvZiBieXRlcyBieSA8bnVtYmVyPlxuIgorbXNnc3RyICIgIC1kLCAtLWRpdmlzb3I9PGdldGFsPiAgZGUgbGVuZ3RlIHZhbiBoZXQgSVNPLWJlc3RhbmQgZG9vciA8Z2V0YWw+IGRlbGVuXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3OAorbXNnaWQgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBzaG93IHNlY3RvciBjb3VudCBhbmQgc2l6ZVxuIgorbXNnc3RyICIgIC14LCAtLXNlY3RvcnMgICAgICAgICAgaGV0IGFhbnRhbCBzZWN0b3JlbiBlbiBkZSBzZWN0b3Jncm9vdHRlIHRvbmVuXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjIxMAorbXNnaWQgImludmFsaWQgZGl2aXNvciBhcmd1bWVudCIKK21zZ3N0ciAib25nZWxkaWdlIGRlbGVyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorbXNnc3RyICJHZWJydWlrOiAgJXMgW29wdGllc10gYXBwYXJhYXQgW2Jsb2trZW5hYW50YWxdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3NworbXNnaWQgIk1ha2UgYW4gU0NPIGJmcyBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJNYWFrdCBlZW4gU0NPIEJGUy1iZXN0YW5kc3N5c3RlZW0gYWFuLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1OLCAtLWlub2Rlcz1OVU0gICAgc3BlY2lmeSBkZXNpcmVkIG51bWJlciBvZiBpbm9kZXNcbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICBzcGVjaWZ5IHZvbHVtZSBuYW1lXG4iCisiIC1GLCAtLWZuYW1lPU5BTUUgICAgc3BlY2lmeSBmaWxlIHN5c3RlbSBuYW1lXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyIgLWMgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1sICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiICAgICAgICAgICAgICAgICAgICAgLVYgYXMgdmVyc2lvbiBtdXN0IGJlIG9ubHkgb3B0aW9uXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wdGllczpcbiIKKyIgIC1OLCAtLWlub2Rlcz1HRVRBTCAgdGUgZ2VicnVpa2VuIGFhbnRhbCBpbm9kZXNcbiIKKyIgIC1WLCAtLXZuYW1lPU5BQU0gICAgdGUgZ2VicnVpa2VuIHZvbHVtZW5uYWFtXG4iCisiICAtRiwgLS1mbmFtZT1OQUFNICAgIHRlIGdlYnJ1aWtlbiBiZXN0YW5kc3N5c3RlZW1uYWFtXG4iCisiICAtdiwgLS12ZXJib3NlICAgICAgIHdlZXJnZXZlbiB3YXQgZXIgZ2VkYWFuIHdvcmR0XG4iCisiICAtYyAgICAgICAgICAgICAgICAgIChkZXplIG9wdGllIHdvcmR0IHN0aWx6d2lqZ2VuZCBnZW5lZ2VlcmQpXG4iCisiICAtbCAgICAgICAgICAgICAgICAgIChkZXplIG9wdGllIHdvcmR0IHN0aWx6d2lqZ2VuZCBnZW5lZ2VlcmQpXG4iCisiICAtViwgLS12ZXJzaW9uICAgICAgIHByb2dyYW1tYXZlcnNpZSB0b25lbiBlbiBzdG9wcGVuOyBoaWVydm9vclxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIG1vZXQgJy1WJyBkZSBlbmlnZSBvcHRpZSB6aWpuXG4iCisiICAtaCwgLS1oZWxwICAgICAgICAgIGRlemUgaHVscHRla3N0IHRvbmVuIGVuIHN0b3BwZW5cbiIKKyJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE0NAorbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAib25nZWxkaWcgYWFudGFsIGlub2RlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1MAorbXNnaWQgInZvbHVtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICJ2b2x1bWVubmFhbSBpcyB0ZSBsYW5nIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU3Cittc2dpZCAiZnNuYW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgImJlc3RhbmRzc3lzdGVlbW5hYW0gaXMgdGUgbGFuZyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5MworbXNnaWQgImludmFsaWQgYmxvY2stY291bnQiCittc2dzdHIgIm9uZ2VsZGlnZSBibG9ra2VuYWFudGFsIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAia2FuIGdyb290dGUgdmFuICVzIG5pZXQgYWNodGVyaGFsZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2tzIGFyZ3VtZW50IHRvbyBsYXJnZSwgbWF4IGlzICVsbHUiCittc2dzdHIgImFyZ3VtZW50IHZvb3IgYmxva2tlbiBpcyB0ZSBncm9vdCAtLSBtYXhpbXVtIGlzICVsbHUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMTkKK21zZ2lkICJ0b28gbWFueSBpbm9kZXMgLSBtYXggaXMgNTEyIgorbXNnc3RyICJ0ZSB2ZWVsIGlub2RlcyAtLSBtYXhpbXVtIGlzIDUxMiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlLCBuZWVkIGF0IGxlYXN0ICVsbHUgYmxvY2tzIgorbXNnc3RyICJuaWV0IGdlbm9lZyBydWltdGU6IG1pbnN0ZW5zICVsbHUgYmxva2tlbiBub2RpZyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2U6ICVzXG4iCittc2dzdHIgIkFwcGFyYWF0OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIlZvbHVtZTogPCUtNnM+XG4iCittc2dzdHIgIlZvbHVtZW46IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZTbmFtZTogPCUtNnM+XG4iCittc2dzdHIgIkJlc3RhbmRzc3lzdGVlbW5hYW06IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrU2l6ZTogJWRcbiIKK21zZ3N0ciAiQmxva2dyb290dGU6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluIDEgYmxvY2spXG4iCittc2dzdHIgIklub2RlczogJWxkIChpbiAxIGJsb2spXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluICVsbHUgYmxvY2tzKVxuIgorbXNnc3RyICJJbm9kZXM6ICVsZCAoaW4gJWxsdSBibG9ra2VuKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrczogJWxsdVxuIgorbXNnc3RyICJCbG9ra2VuOiAlbGx1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgZW5kOiAlZCwgRGF0YSBlbmQ6ICVkXG4iCittc2dzdHIgIklub2RlLWVpbmRlOiAlZCwgR2VnZXZlbnNlaW5kZTogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NworbXNnaWQgImVycm9yIHdyaXRpbmcgc3VwZXJibG9jayIKK21zZ3N0ciAiZm91dCBiaWogc2NocmlqdmVuIHZhbiBzdXBlcmJsb2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNzgKK21zZ2lkICJlcnJvciB3cml0aW5nIHJvb3QgaW5vZGUiCittc2dzdHIgImZvdXQgYmlqIHNjaHJpanZlbiB2YW4gZWVyc3RlIGlub2RlIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjgzCittc2dpZCAiZXJyb3Igd3JpdGluZyBpbm9kZSIKK21zZ3N0ciAiZm91dCBiaWogc2NocmlqdmVuIHZhbiBpbm9kZSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4NgorbXNnaWQgInNlZWsgZXJyb3IiCittc2dzdHIgIidzZWVrJy1mb3V0IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjkyCittc2dpZCAiZXJyb3Igd3JpdGluZyAuIGVudHJ5IgorbXNnc3RyICJmb3V0IGJpaiBzY2hyaWp2ZW4gdmFuIC4taXRlbSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5NgorbXNnaWQgImVycm9yIHdyaXRpbmcgLi4gZW50cnkiCittc2dzdHIgImZvdXQgYmlqIHNjaHJpanZlbiB2YW4gLi4taXRlbSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjbG9zaW5nICVzIgorbXNnc3RyICJmb3V0IGJpaiBzbHVpdGVuIHZhbiAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXQgPHR5cGU+XSBbZnMtb3B0aW9uc10gPGRldmljZT4gWzxzaXplPl1cbiIKK21zZ3N0ciAiIgorIiAgJXMgW29wdGllc10gWy10IDxiZXN0YW5kc3N5c3RlZW1zb29ydD5dIFtiZXN0YW5kc3N5c3RlZW1vcHRpZXNdXG4iCisiICAgICAgICAgICAgICAgPGFwcGFyYWF0PiBbPGdyb290dGU+XVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0OAorbXNnaWQgIk1ha2UgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJNYWFrdCBlZW4gTGludXgtYmVzdGFuZHNzeXN0ZWVtIGFhbi5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC10LCAtLXR5cGU9PHR5cGU+ICBmaWxlc3lzdGVtIHR5cGU7IHdoZW4gdW5zcGVjaWZpZWQsIGV4dDIgaXMgdXNlZFxuIgorbXNnc3RyICIgIC10LCAtLXR5cGU9PHNvb3J0PiAgYmVzdGFuZHNzeXN0ZWVtc29vcnQgKHdhbm5lZXIgbmlldCBnZWdldmVuOiBleHQyKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIGZzLW9wdGlvbnMgICAgIHBhcmFtZXRlcnMgZm9yIHRoZSByZWFsIGZpbGVzeXN0ZW0gYnVpbGRlclxuIgorbXNnc3RyICIgICAgICBicy1vcHRpZXMgICAgICAgYXJndW1lbnRlbiB2b29yIGRlIGZlaXRlbGlqa2UgYmVzdGFuZHN5c3RlZW1tYWtlclxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxkZXZpY2U+ICAgICAgIHBhdGggdG8gdGhlIGRldmljZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiAgICAgPGFwcGFyYWF0PiAgICAgICBwYWQgbmFhciB0ZSBnZWJydWlrZW4gYXBwYXJhYXRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8c2l6ZT4gICAgICAgICBudW1iZXIgb2YgYmxvY2tzIHRvIGJlIHVzZWQgb24gdGhlIGRldmljZVxuIgorbXNnc3RyICIgICAgICA8Z3Jvb3R0ZT4gICAgICAgYWFudGFsIHRlIGdlYnJ1aWtlbiBibG9ra2VuIG9wIGhldCBhcHBhcmFhdFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeWluZyAtViBtb3JlIHRoYW4gb25jZSB3aWxsIGNhdXNlIGEgZHJ5LXJ1blxuIgorbXNnc3RyICIiCisiICAtViwgLS12ZXJib3NlICAgICAgIHdlZXJnZXZlbiB3YXQgZXIgZ2VkYWFuIHdvcmR0O1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIG1lZXJkZXJlICctVidzIHZlcm9vcnpha2VuIGVlbiBlZmZlY3Rsb29zIGRvZW4tYWxzb2ZcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJzaW9uICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0O1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAtViBhcyAtLXZlcnNpb24gbXVzdCBiZSB0aGUgb25seSBvcHRpb25cbiIKK21zZ3N0ciAiIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICBwcm9ncmFtbWF2ZXJzaWUgdG9uZW4gZW4gc3RvcHBlbjtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBoaWVydm9vciBtb2V0ICctVicgZGUgZW5pZ2Ugb3B0aWUgemlqblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICIgLWgsIC0taGVscCAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgIGRlemUgaHVscHRla3N0IHRvbmVuIGVuIHN0b3BwZW5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6MTM5IGxpYi9leGVjX3NoZWxsLmM6NDkgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjMzCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2NTcgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTkyCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODAwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDQgc2NoZWR1dGlscy9jaHJ0LmM6NTU4CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjI2MCBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMzkgc3lzLXV0aWxzL2Zsb2NrLmM6MTIyCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQzMCBzeXMtdXRpbHMvcHJsaW1pdC5jOjY0NCBzeXMtdXRpbHMvcnRjd2FrZS5jOjU3NworIzogc3lzLXV0aWxzL3NldGFyY2guYzozMjQgc3lzLXV0aWxzL3NldGFyY2guYzo0MDMgc3lzLXV0aWxzL3NldHNpZC5jOjExNQorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM0MCBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNDIgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NjEKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTgxIHRleHQtdXRpbHMvcGcuYzoxMzc1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBleGVjdXRlICVzIgorbXNnc3RyICJ1aXR2b2VyZW4gdmFuICVzIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVzYWdlOiAlcyBbLWhdIFstdl0gWy1iIGJsa3NpemVdIFstZSBlZGl0aW9uXSBbLU4gZW5kaWFuXSBbLWkgZmlsZV0gWy1uIG5hbWVdIGRpcm5hbWUgb3V0ZmlsZVxuIgorIiAtaCAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorIiAtdiAgICAgICAgIGJlIHZlcmJvc2VcbiIKKyIgLUUgICAgICAgICBtYWtlIGFsbCB3YXJuaW5ncyBlcnJvcnMgKG5vbi16ZXJvIGV4aXQgc3RhdHVzKVxuIgorIiAtYiBibGtzaXplIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgbXVzdCBlcXVhbCBwYWdlIHNpemVcbiIKKyIgLWUgZWRpdGlvbiBzZXQgZWRpdGlvbiBudW1iZXIgKHBhcnQgb2YgZnNpZClcbiIKKyIgLU4gZW5kaWFuICBzZXQgY3JhbWZzIGVuZGlhbm5lc3MgKGJpZ3xsaXR0bGV8aG9zdCksIGRlZmF1bHQgaG9zdFxuIgorIiAtaSBmaWxlICAgIGluc2VydCBhIGZpbGUgaW1hZ2UgaW50byB0aGUgZmlsZXN5c3RlbSAocmVxdWlyZXMgPj0gMi40LjApXG4iCisiIC1uIG5hbWUgICAgc2V0IG5hbWUgb2YgY3JhbWZzIGZpbGVzeXN0ZW1cbiIKKyIgLXAgICAgICAgICBwYWQgYnkgJWQgYnl0ZXMgZm9yIGJvb3QgY29kZVxuIgorIiAtcyAgICAgICAgIHNvcnQgZGlyZWN0b3J5IGVudHJpZXMgKG9sZCBvcHRpb24sIGlnbm9yZWQpXG4iCisiIC16ICAgICAgICAgbWFrZSBleHBsaWNpdCBob2xlcyAocmVxdWlyZXMgPj0gMi4zLjM5KVxuIgorIiBkaXJuYW1lICAgIHJvb3Qgb2YgdGhlIGZpbGVzeXN0ZW0gdG8gYmUgY29tcHJlc3NlZFxuIgorIiBvdXRmaWxlICAgIG91dHB1dCBmaWxlXG4iCittc2dzdHIgIiIKKyJHZWJydWlrOiAgJXMgWy1oXSBbLXZdIFstYiBibG9rZ3Jvb3R0ZV0gWy1lIGVkaXRpZV0gWy1pIGJlc3RhbmRdXG4iCisiICAgICAgICAgICAgICAgICBbLU4gZW5kaWFuXSBbLW4gbmFhbV0gbWFwbmFhbSB1aXR2b2VyYmVzdGFuZFxuIgorIlxuIgorIiAtaCAgICAgICAgICBkZXplIGh1bHB0ZWtzdCB0b25lblxuIgorIiAtdiAgICAgICAgICBnZWRldGFpbGxlZXJkZSB1aXR2b2VyIHByb2R1Y2VyZW5cbiIKKyIgLVYgICAgICAgICAgcHJvZ3JhbW1hdmVyc2llIHRvbmVuXG4iCisiIC1FICAgICAgICAgIHZhbiBhbGxlIHdhYXJzY2h1d2luZ2VuIGZvdXRlbiBtYWtlbiAobWV0IG5pZXQtbnVsIGFmc2x1aXR3YWFyZGUpXG4iCisiXG4iCisiIC1iIEJMT0tHUk9PVFRFICBkZXplIGJsb2tncm9vdHRlIGdlYnJ1aWtlbjsgbW9ldCBnZWxpamsgemlqbiBhYW4gcGFnaW5hZ3Jvb3R0ZVxuIgorIiAtZSBFRElUSUUgICBlZGl0aWVudW1tZXIgaW5zdGVsbGVuIChkZWVsIHZhbiBiZXN0YW5kc3N5c3RlZW0tSUQpXG4iCisiIC1pIEJFU1RBTkQgIGVlbiBiZXN0YW5kc2FmYmVlbGRpbmcgaW52b2VnZW4gaW4gaGV0IGJlc3RhbmRzc3lzdGVlbVxuIgorIiAtTiBFTkRJQU4gICB0ZSBnZWJydWlrZW4gZW5kaWFubmVzcyAoYmlnfGxpdHRsZXxob3N0OyBzdGFuZGFhcmQgaXMgaG9zdClcbiIKKyIgLW4gTkFBTSAgICAgdGUgZ2VicnVpa2VuIG5hYW0gdmFuICdjcmFtZnMnLWJlc3RhbmRzc3lzdGVlbVxuIgorIiAtcCAgICAgICAgICBvcHZ1bGxlbiBtZXQgJWQgYnl0ZXMgdm9vciBvcHN0YXJ0Y29kZVxuIgorIiAtcyAgICAgICAgICAob3VkZSBvcHRpZSwgd29yZHQgZ2VuZWdlZXJkKSBtYXBpbmdhbmdlbiBzb3J0ZXJlblxuIgorIiAteiAgICAgICAgICBleHBsaWNpZXRlIGdhdGVuIG1ha2VuXG4iCisiXG4iCisiIG1hcG5hYW0gPSBiYXNpc21hcCB2YW4gaGV0IGluIHRlIHBha2tlbiBiZXN0YW5kc3N5c3RlZW1cbiIKKyIgdWl0dm9lcmJlc3RhbmQgPSB0ZSBnZWJydWlrZW4gdWl0dm9lcmJlc3RhbmRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICJyZWFkbGluaygpIGlzIG1pc2x1a3Q6ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzA4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAia2FuIG1hcCAlcyBuaWV0IGxlemVuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NDQzCittc2dpZCAiZmlsZXN5c3RlbSB0b28gYmlnLiAgRXhpdGluZy4iCittc2dzdHIgImJlc3RhbmRzc3lzdGVlbSBpcyB0ZSBncm9vdCAtLSBnZXN0b3B0IgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkFJRUVFOiBibG9jayBcImNvbXByZXNzZWRcIiB0byA+IDIqYmxvY2tsZW5ndGggKCVsZClcbiIKK21zZ3N0ciAiT0VQUzogYmxvayBpcyBcImdlY29tcHJpbWVlcmRcIiB0b3QgPiAyKmJsb2tsZW5ndGUgKCVsZClcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZCBieXRlcylcdCVzXG4iCisKKyMgRklYTUU6IHN0YW5kYXJkaXplIFhYWAorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2xvc2UgZmlsZSAlcyIKK21zZ3N0ciAia2FuIGJlc3RhbmQgJXMgbmlldCBzbHVpdGVuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzMyCittc2dpZCAiaW52YWxpZCBlZGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAib25nZWxkaWcgZWRpdGllbnVtbWVyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzQyCittc2dpZCAiaW52YWxpZCBlbmRpYW5uZXNzIGdpdmVuOyBtdXN0IGJlICdiaWcnLCAnbGl0dGxlJywgb3IgJ2hvc3QnIgorbXNnc3RyICJvbmdlbGRpZ2UgZW5kaWFuLXdhYXJkZTsgbWFnIHppam4gJ2JpZycsICdsaXR0bGUnIG9mICdob3N0JyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBndWVzdGltYXRlIG9mIHJlcXVpcmVkIHNpemUgKHVwcGVyIGJvdW5kKSBpcyAlbGxkTUIsIGJ1dCBtYXhpbXVtIGltYWdlIHNpemUgaXMgJXVNQi4gIFdlIG1pZ2h0IGRpZSBwcmVtYXR1cmVseS4iCittc2dzdHIgIiIKKyJXYWFyc2NodXdpbmc6IGRlIGdlc2NoYXR0ZSBiZW5vZGlnZGUgZ3Jvb3R0ZSBpcyAlbGxkIE1CIChib3ZlbmdyZW5zKSxcbiIKKyJtYWFyIGRlIG1heGltYWxlIGFmYmVlbGRpbmdzZ3Jvb3R0ZSBpcyAldSBNQi5cbiIKKyJEaXQgZ2FhdCBtaXNzY2hpZW4gbmlldCBsdWtrZW4uIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODMwCittc2dpZCAiUk9NIGltYWdlIG1hcCIKK21zZ3N0ciAiaW5sZXplbiB2YW4gUk9NLWFmYmVlbGRpbmciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5jbHVkaW5nOiAlc1xuIgorbXNnc3RyICJJbmdldm9lZ2Q6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlyZWN0b3J5IGRhdGE6ICV6ZCBieXRlc1xuIgorbXNnc3RyICJNYXBnZWdldmVuczogJXpkIGJ5dGVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXZlcnl0aGluZzogJXpkIGtpbG9ieXRlc1xuIgorbXNnc3RyICJBbGxlczogJXpkIGtpbG9ieXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODYxCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cGVyIGJsb2NrOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiU3VwZXJibG9rOiAlemQgYnl0ZXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICJDUkM6ICV4XG4iCittc2dzdHIgIkNSQzogJXhcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3MworIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlIGFsbG9jYXRlZCBmb3IgUk9NIGltYWdlICglbGxkIGFsbG9jYXRlZCwgJXp1IHVzZWQpIgorbXNnc3RyICIiCisiZXIgaXMgbmlldCBnZW5vZWcgcnVpbXRlIGdlcmVzZXJ2ZWVyZCB2b29yIFJPTS1hZmJlZWxkaW5nXG4iCisiKCVsbGQgaXMgZ2VyZXNlcnZlZXJkLCAlenUgZ2VicnVpa3QpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODc5CisjLCBjLWZvcm1hdAorbXNnaWQgIlJPTSBpbWFnZSB3cml0ZSBmYWlsZWQgKCV6ZCAlemQpIgorbXNnc3RyICJTY2hyaWp2ZW4gdmFuIFJPTS1hZmJlZWxkaW5nIGlzIG1pc2x1a3QgKCV6ZCAlemQpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODgyCittc2dpZCAiUk9NIGltYWdlIgorbXNnc3RyICJST00tYWZiZWVsZGluZyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlbmFtZXMgdHJ1bmNhdGVkIHRvICV1IGJ5dGVzLiIKK21zZ3N0ciAiV2FhcnNjaHV3aW5nOiBlciB6aWpuIGJlc3RhbmRzbmFtZW4gYWZnZWthcHQgdG90ICV1IGJ5dGVzLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MworbXNnaWQgIndhcm5pbmc6IGZpbGVzIHdlcmUgc2tpcHBlZCBkdWUgdG8gZXJyb3JzLiIKK21zZ3N0ciAiV2FhcnNjaHV3aW5nOiBlciB6aWpuIGJlc3RhbmRlbiBvdmVyZ2VzbGFnZW4gdmFud2VnZSBmb3V0ZW4uIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODk1CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGUgc2l6ZXMgdHJ1bmNhdGVkIHRvICVsdU1CIChtaW51cyAxIGJ5dGUpLiIKK21zZ3N0ciAiV2FhcnNjaHV3aW5nOiBlciB6aWpuIGJlc3RhbmRzZ3Jvb3R0ZXMgYWZnZWthcHQgdG90ICVsdSBNQiAobWludXMgMSBieXRlKS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdWlkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAiIgorIldhYXJzY2h1d2luZzogZXIgemlqbiBVSUQncyBhZmdla2FwdCB0b3QgJXUgYml0cy5cbiIKKyIoRGl0IGthbiBlZW4gdmVpbGlnaGVpZHNwcm9ibGVlbSB6aWpuLikiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ2lkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAiIgorIldhYXJzY2h1d2luZzogZXIgemlqbiBHSUQncyBhZmdla2FwdCB0b3QgJXUgYml0cy5cbiIKKyIoRGl0IGthbiBlZW4gdmVpbGlnaGVpZHNwcm9ibGVlbSB6aWpuLikiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldBUk5JTkc6IGRldmljZSBudW1iZXJzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgVGhpcyBhbG1vc3QgY2VydGFpbmx5IG1lYW5zXG4iCisidGhhdCBzb21lIGRldmljZSBmaWxlcyB3aWxsIGJlIHdyb25nLiIKK21zZ3N0ciAiIgorIldBQVJTQ0hVV0lORzogZXIgemlqbiBhcHBhcmFhdG51bW1lcnMgYWZnZWthcHQgdG90ICV1IGJpdHMuICBEaXQgYmV0ZWtlbnRcbiIKKyJ6ZWVyIHdhYXJzY2hpam5saWprIGRhdCBzb21taWdlIGFwcGFyYWF0YmVzdGFuZGVuIG5pZXQganVpc3QgenVsbGVuIHppam4uIgorCisjIEZJWE1FOiB1c2UgYW5ndWxhcgorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gL2Rldi9uYW1lIFtibG9ja3NdXG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gL2Rldi88bmFhbT4gWzxibG9ra2VuYWFudGFsPl1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM3Cittc2dpZCAiIC0xICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDFcbiIKK21zZ3N0ciAiICAtMSAgICAgICAgICAgICAgICAgICAgICAgICBNaW5peCB2ZXJzaWUgMSBnZWJydWlrZW5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM4Cittc2dpZCAiIC0yLCAtdiAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDJcbiIKK21zZ3N0ciAiICAtMiwgLXYgICAgICAgICAgICAgICAgICAgICBNaW5peCB2ZXJzaWUgMiBnZWJydWlrZW5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM5Cittc2dpZCAiIC0zICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDNcbiIKK21zZ3N0ciAiICAtMyAgICAgICAgICAgICAgICAgICAgICAgICBNaW5peCB2ZXJzaWUgMyBnZWJydWlrZW5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQwCittc2dpZCAiIC1uLCAtLW5hbWVsZW5ndGggPG51bT4gIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgIC1uLCAtLW5hbWVsZW5ndGggPGdldGFsPiAgIG1heGltdW1sZW5ndGUgdmFuIGJlc3RhbmRzbmFtZW5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQxCittc2dpZCAiIC1pLCAtLWlub2RlcyA8bnVtPiAgICAgIG51bWJlciBvZiBpbm9kZXMgZm9yIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAgLWksIC0taW5vZGVzIDxnZXRhbD4gICAgICAgYWFudGFsIHRlIGdlYnJ1aWtlbiBpbm9kZXMgdm9vciBiZXN0YW5kc3N5c3RlZW1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQyCittc2dpZCAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIGNoZWNrIHRoZSBkZXZpY2UgZm9yIGJhZCBibG9ja3NcbiIKK21zZ3N0ciAiICAtYywgLS1jaGVjayAgICAgICAgICAgICAgICBoZXQgYXBwYXJhYXQgb3Agc2xlY2h0ZSBibG9ra2VuIGNvbnRyb2xlcmVuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MworbXNnaWQgIiAtbCwgLS1iYWRibG9ja3MgPGZpbGU+ICBsaXN0IG9mIGJhZCBibG9ja3MgZnJvbSBmaWxlXG4iCittc2dzdHIgIiAgLWwsIC0tYmFkYmxvY2tzIDxiZXN0YW5kPiAgbGlqc3QgbWV0IHNsZWNodGUgYmxva2tlbiB1aXQgZGl0IGJlc3RhbmQgbGV6ZW5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIHRvIGJvb3QgYmxvY2sgZmFpbGVkICBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgIiVzOiAnc2VlaycgbmFhciBvcHN0YXJ0YmxvayBpcyBtaXNsdWt0IGluIHdyaXRlX3RhYmxlcygpIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBjbGVhciBib290IHNlY3RvciIKK21zZ3N0ciAiJXM6IGthbiBvcHN0YXJ0c2VjdG9yIG5pZXQgd2lzc2VuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAiJXM6ICdzZWVrJyBpcyBtaXNsdWt0IGluIHdyaXRlX3RhYmxlcygpIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAiJXM6IGthbiBzdXBlcmJsb2sgbmlldCBzY2hyaWp2ZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAiJXM6IHNjaHJpanZlbiB2YW4gaW5vZGUta2FhcnQgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgem9uZSBtYXAiCittc2dzdHIgIiVzOiBzY2hyaWp2ZW4gdmFuIHpvbmUta2FhcnQgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICIlczogc2NocmlqdmVuIHZhbiBpbm9kZXMgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6ICdzZWVrJyBpcyBtaXNsdWt0IGluIHdyaXRlX2Jsb2NrKCkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICIlczogc2NocmlqdmVuIGlzIG1pc2x1a3QgaW4gd3JpdGVfYmxvY2soKSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjIxIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjI5NgorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbWFueSBiYWQgYmxvY2tzIgorbXNnc3RyICIlczogdGUgdmVlbCBzbGVjaHRlIGJsb2trZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGVub3VnaCBnb29kIGJsb2NrcyIKK21zZ3N0ciAiJXM6IG9udm9sZG9lbmRlIGdvZWRlIGJsb2trZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRmlyc3QgZGF0YSBibG9jayBhdCAlamQsIHdoaWNoIGlzIHRvbyBmYXIgKG1heCAlZCkuXG4iCisiVHJ5IHNwZWNpZnlpbmcgZmV3ZXIgaW5vZGVzIGJ5IHBhc3NpbmcgLS1pbm9kZXMgPG51bT4iCittc2dzdHIgIiIKKyJFZXJzdGUgZGF0YWJsb2sgaXMgb3AgJWpkLCBlbiBkYXQgaXMgdGUgdmVyIChtYXhpbXVtIGlzICVkKS5cbiIKKyJQcm9iZWVyIG1pbmRlciBpbm9kZXMgb3AgdGUgZ2V2ZW4gdmlhIC0taW5vZGVzIDxnZXRhbD4uIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGlub2RlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBpbm9kZXNcbiIKK21zZ3N0clswXSAiJWx1IGlub2RlXG4iCittc2dzdHJbMV0gIiVsdSBpbm9kZXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlbHUgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVsdSBibG9rXG4iCittc2dzdHJbMV0gIiVsdSBibG9ra2VuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lc2l6ZT0lenVcbiIKK21zZ3N0ciAiWm9uZUdyb290dGU9JXp1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTWF4c2l6ZT0lenVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIk1heEdyb290dGU9JXp1XG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgZHVyaW5nIHRlc3Rpbmcgb2YgYmxvY2tzIgorbXNnc3RyICIlczogJ3NlZWsnIGlzIG1pc2x1a3QgdGlqZGVucyB0ZXN0ZW4gdmFuIGJsb2trZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJXZWlyZCB2YWx1ZXMgaW4gZG9fY2hlY2s6IHByb2JhYmx5IGJ1Z3NcbiIKK21zZ3N0ciAiVnJlZW1kZSB3YWFyZGVuIGluIGRvX2NoZWNrKCk6IHdhYXJzY2hpam5saWprIGVlbiBpbnRlcm5lIHByb2dyYW1tYWZvdXRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgIiVzOiAnc2VlaycgaXMgbWlzbHVrdCBpbiBjaGVja19ibG9ja3MoKSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgYmxvY2tzIGJlZm9yZSBkYXRhLWFyZWE6IGNhbm5vdCBtYWtlIGZzIgorbXNnc3RyICIlczogc2xlY2h0ZSBibG9ra2VuIHbDs8OzciBnZWdldmVuc2dlYmllZDoga2FuIGdlZW4gYmVzdGFuZHNzeXN0ZWVtIG1ha2VuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MzkgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGJhZCBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlZCBiYWQgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVkIHNsZWNodCBibG9rXG4iCittc2dzdHJbMV0gIiVkIHNsZWNodGUgYmxva2tlblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IG9wZW4gZmlsZSBvZiBiYWQgYmxvY2tzIgorbXNnc3RyICIlczoga2FuIHNsZWNodGVibG9ra2VuYmVzdGFuZCBuaWV0IG9wZW5lbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjUzCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZGJsb2NrIG51bWJlciBpbnB1dCBlcnJvciBvbiBsaW5lICVkXG4iCittc2dzdHIgImludm9lcmZvdXQgaW4gc2xlY2h0Ymxva251bW1lciBvcCByZWdlbCAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGJhZGJsb2NrcyBmaWxlIgorbXNnc3RyICIlczoga2FuIHNsZWNodGVibG9ra2VuYmVzdGFuZCBuaWV0IGxlemVuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgc2l6ZSBzbWFsbGVyIHRoYW4gcGh5c2ljYWwgc2VjdG9yIHNpemUgb2YgJXMiCittc2dzdHIgImJsb2tncm9vdHRlIGlzIGtsZWluZXIgZGFuIGZ5c2lla2Ugc2VjdG9yZ3Jvb3R0ZSB2YW4gJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5NworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNpemUgb2YgJXMiCittc2dzdHIgImthbiBncm9vdHRlIHZhbiAlcyBuaWV0IGFjaHRlcmhhbGVuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlcXVlc3RlZCBibG9ja3MgKCVsbHUpIGV4Y2VlZHMgYXZhaWxhYmxlICglbGx1KSBibG9ja3NcbiIKK21zZ3N0ciAiJXM6IGdldnJhYWdkZSBibG9ra2VuICglbGx1KSBvdmVyc3Rpamd0IGJlc2NoaWtiYXJlIGJsb2trZW4gKCVsbHUpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbnVtYmVyIG9mIGJsb2NrcyB0b28gc21hbGwiCittc2dzdHIgIiVzOiBhYW50YWwgYmxva2tlbiBpcyB0ZSBrbGVpbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzIzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBuYW1lIGxlbmd0aDogJWQiCittc2dzdHIgIm9uZ2VsZGlnZSBuYWFtc2xlbmd0ZTogJWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBtaW5peCBmaWxlIHN5c3RlbSB2ZXJzaW9uOiAlZCIKK21zZ3N0ciAibmlldC1vbmRlcnN0ZXVuZGUgTWluaXgtYmVzdGFuZHNzeXN0ZWVtdmVyc2llOiAlZCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzY3Cittc2dpZCAiLXYgaXMgYW1iaWd1b3VzLCB1c2UgJy0yJyBpbnN0ZWFkIgorbXNnc3RyICJvcHRpZSAnLXYnIGlzIG5pZXQgZWVuZHVpZGlnOyBnZWJydWlrIGxpZXZlciAnLTInIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NzgKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gbWF4aW11bWxlbmd0ZSB2YW4gYmVzdGFuZHNuYW1lbiBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAib250bGVkZW4gdmFuIGFhbnRhbCBpbm9kZXMgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODA2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBibG9ja3MiCittc2dzdHIgIm9udGxlZGVuIHZhbiBhYW50YWwgYmxva2tlbiBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBhIGZpbGVzeXN0ZW0gaGVyZSEiCittc2dzdHIgIiVzIGlzIGFhbmdla29wcGVsZDsgemFsIGhpZXIgZ2VlbiBiZXN0YW5kc3N5c3RlZW0gbWFrZW4hIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJXUiCittc2dzdHIgIk9uZ2VsZGlnZSBkb29yIGdlYnJ1aWtlciBhYW5nZWdldmVuIHBhZ2luYWdyb290dGUgJXUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICVkLCBpbnN0ZWFkIG9mIHRoZSBzeXN0ZW0gdmFsdWUgJWQiCittc2dzdHIgIkRlIG9wZ2VnZXZlbiBwYWdpbmFncm9vdHRlICVkIHdvcmR0IGdlYnJ1aWt0LCBpbiBwbGFhdHMgdmFuIHN5c3RlZW13YWFyZGUgJWQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTI0Cittc2dpZCAiTGFiZWwgd2FzIHRydW5jYXRlZC4iCittc2dzdHIgIkxhYmVsIGlzIGFmZ2VrYXB0LiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbGFiZWwsICIKK21zZ3N0ciAiZ2VlbiBsYWJlbCwgIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyB1dWlkXG4iCittc2dzdHIgImdlZW4gVVVJRFxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXSBkZXZpY2UgW3NpemVdXG4iCittc2dzdHIgIiIKKyJcbiIKKyJHZWJydWlrOiAgJXMgW29wdGllc10gPGFwcGFyYWF0PiBbPGdyb290dGU+XVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1MgorbXNnaWQgIlNldCB1cCBhIExpbnV4IHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiUHJlcGFyZWVydCBlZW4gTGludXgtd2lzc2VsZ2VoZXVnZW5nZWJpZWQuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIGNoZWNrIGJhZCBibG9ja3MgYmVmb3JlIGNyZWF0aW5nIHRoZSBzd2FwIGFyZWFcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBhbGxvdyBzd2FwIHNpemUgYXJlYSBiZSBsYXJnZXIgdGhhbiBkZXZpY2VcbiIKKyIgLXAsIC0tcGFnZXNpemUgU0laRSAgICAgICBzcGVjaWZ5IHBhZ2Ugc2l6ZSBpbiBieXRlc1xuIgorIiAtTCwgLS1sYWJlbCBMQUJFTCAgICAgICAgIHNwZWNpZnkgbGFiZWxcbiIKKyIgLXYsIC0tc3dhcHZlcnNpb24gTlVNICAgICBzcGVjaWZ5IHN3YXAtc3BhY2UgdmVyc2lvbiBudW1iZXJcbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICBzcGVjaWZ5IHRoZSB1dWlkIHRvIHVzZVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wdGllczpcbiIKKyIgIC1jLCAtLWNoZWNrICAgICAgICAgICAgICBlZXJzdCBvcCBzbGVjaHRlIGJsb2trZW4gY29udHJvbGVyZW5cbiIKKyIgIC1mLCAtLWZvcmNlICAgICAgICAgICAgICB0b2VzdGFhbiBkYXQgd2lzc2VsZ2ViaWVkIGdyb3RlciBpcyBkYW4gYXBwYXJhYXRcbiIKKyIgIC1MLCAtLWxhYmVsIExBQkVMICAgICAgICB0ZSBnZWJydWlrZW4gbGFiZWxcbiIKKyIgIC1wLCAtLXBhZ2VzaXplIEdST09UVEUgICB0ZSBnZWJydWlrZW4gcGFnaW5hZ3Jvb3R0ZSAoaW4gYnl0ZXMpXG4iCisiICAtVSwgLS11dWlkIFVVSUQgICAgICAgICAgdGUgZ2VicnVpa2VuIFVVSURcbiIKKyIgIC12LCAtLXN3YXB2ZXJzaW9uIEdFVEFMICB0ZSBnZWJydWlrZW4gd2lzc2VsZ2VoZXVnZW52ZXJzaWVcbiIKKyIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICBwcm9ncmFtbWF2ZXJzaWUgdG9uZW4gZW4gc3RvcHBlblxuIgorIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgIGRlemUgaHVscHRla3N0IHRvbmVuIGVuIHN0b3BwZW5cbiIKKyJcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgYmFkIHBhZ2VzOiAlbHUiCittc2dzdHIgInRlIHZlZWwgc2xlY2h0ZSBwYWdpbmEnczogJWx1IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE5NQorbXNnaWQgInNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAiJ3NlZWsnIGlzIG1pc2x1a3QgaW4gY2hlY2tfYmxvY2tzKCkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBiYWQgcGFnZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgYmFkIHBhZ2VzXG4iCittc2dzdHJbMF0gIiVsdSBzbGVjaHRlIHBhZ2luYVxuIgorbXNnc3RyWzFdICIlbHUgc2xlY2h0ZSBwYWdpbmEnc1xuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIyOAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBuZXcgbGliYmxraWQgcHJvYmUiCittc2dzdHIgIm9udm9sZG9lbmRlIGdlaGV1Z2VuIGJlc2NoaWtiYWFyIHZvb3IgbmlldXdlIGxpYmJsa2lkLXNvbmRlIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIzMAorbXNnaWQgInVuYWJsZSB0byBhc3NpZ24gZGV2aWNlIHRvIGxpYmJsa2lkIHByb2JlIgorbXNnc3RyICJrYW4gYXBwYXJhYXQgbmlldCBhYW4gbGliYmxraWQtc29uZGUgdG9ld2lqemVuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjaGVja2luZyBiYWQgYmxvY2tzIGZyb20gc3dhcCBmaWxlIGlzIG5vdCBzdXBwb3J0ZWQ6ICVzIgorbXNnc3RyICJ3YWFyc2NodXdpbmc6IGhldCBjb250cm9sZXJlbiBvcCBzbGVjaHRlIGJsb2trZW4gaW4gZWVuIHdpc3NlbGdlaGV1Z2VuYmVzdGFuZCB3b3JkdCBuaWV0IG9uZGVyc3RldW5kOiAlcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNjEgZGlzay11dGlscy9ta3N3YXAuYzoyODcgZGlzay11dGlscy9ta3N3YXAuYzozMzQKK21zZ2lkICJ1bmFibGUgdG8gcmV3aW5kIHN3YXAtZGV2aWNlIgorbXNnc3RyICJ0ZXJ1Z3Nwb2VsZW4gdmFuIHdpc3NlbGdlaGV1Z2VuYXBwYXJhYXQgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyOTAKK21zZ2lkICJ1bmFibGUgdG8gZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAid2lzc2VuIHZhbiBib290Yml0cy1zZWN0b3JlbiBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogd2lwaW5nIG9sZCAlcyBzaWduYXR1cmUuIgorbXNnc3RyICIlczogd2FhcnNjaHV3aW5nOiB3aXNzZW4gdmFuIG91ZGUgJXMtdmluZ2VyYWZkcnVrLiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IGRvbid0IGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgIiVzOiB3YWFyc2NodXdpbmc6IGJvb3RiaXRzLXNlY3RvcmVuIG5pZXQgd2lzc2VuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICglcyBwYXJ0aXRpb24gdGFibGUgZGV0ZWN0ZWQpLiAiCittc2dzdHIgIiAgICAgICAgKCVzLXBhcnRpdGlldGFiZWwgZ2VkZXRlY3RlZXJkKS4gIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgIChjb21waWxlZCB3aXRob3V0IGxpYmJsa2lkKS4gIgorbXNnc3RyICIgICAgICAgIChnZWNvbXBpbGVlcmQgem9uZGVyICdsaWJibGtpZCcpLiAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzZSAtZiB0byBmb3JjZS5cbiIKK21zZ3N0ciAiR2VicnVpayAnLWYnIG9tIGNyZWF0aWUgYWYgdGUgZHdpbmdlbi5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzaWduYXR1cmUgcGFnZSIKK21zZ3N0ciAiJXM6IHNjaHJpanZlbiB2YW4gdmluZ2VyYWZkcnVrcGFnaW5hIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzgwCittc2dpZCAicGFyc2luZyBwYWdlIHNpemUgZmFpbGVkIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gcGFnaW5hZ3Jvb3R0ZSBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4NgorbXNnaWQgInBhcnNpbmcgdmVyc2lvbiBudW1iZXIgZmFpbGVkIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gdmVyc2llbnVtbWVyIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg5CisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBzcGFjZSB2ZXJzaW9uICVkIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIndpc3NlbGdlaGV1Z2VudmVyc2llICVkIHdvcmR0IG5pZXQgb25kZXJzdGV1bmQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGlnbm9yaW5nIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQgYnkgJXMpIgorbXNnc3RyICIiCisid2FhcnNjaHV3aW5nOiBvcHRpZSAnLVUnIHdvcmR0IGdlbmVnZWVyZFxuIgorIihVVUlEJ3Mgd29yZGVuIGRvb3IgJXMgbmlldCBvbmRlcnN0ZXVuZCkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDE0Cittc2dpZCAib25seSBvbmUgZGV2aWNlIGFyZ3VtZW50IGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQiCittc2dzdHIgIm1vbWVudGVlbCB3b3JkdCBzbGVjaHRzIMOpw6luIGFwcGFyYWF0YXJndW1lbnQgb25kZXJzdGV1bmQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDIxCittc2dpZCAiZXJyb3I6IHBhcnNpbmcgVVVJRCBmYWlsZWQiCittc2dzdHIgImZvdXQ6IGthbiBVVUlEIG5pZXQgb250bGVkZW4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDMwCittc2dpZCAiZXJyb3I6IE5vd2hlcmUgdG8gc2V0IHVwIHN3YXAgb24/IgorbXNnc3RyICJmb3V0OiBOZXJnZW5zIG9tIHdpc3NlbGdlaGV1Z2VuIG9wIGluIHRlIHN0ZWxsZW4/IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzNgorbXNnaWQgImludmFsaWQgYmxvY2sgY291bnQgYXJndW1lbnQiCittc2dzdHIgIm9uZ2VsZGlnIGJsb2trZW5hYW50YWwiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzaXplICVsbHUgS2lCIGlzIGxhcmdlciB0aGFuIGRldmljZSBzaXplICU8UFJJdTY0PiBLaUIiCittc2dzdHIgImZvdXQ6IGdyb290dGUgJWxsdSBLaUIgaXMgZ3JvdGVyIGRhbiBhcHBhcmFhdGdyb290dGUgKCU8UFJJdTY0PiBLaUIpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1MQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc3dhcCBhcmVhIG5lZWRzIHRvIGJlIGF0IGxlYXN0ICVsZCBLaUIiCittc2dzdHIgImZvdXQ6IHdpc3NlbGdlaGV1Z2VuIG1vZXQgbWluc3RlbnMgJWxkIEtpQiB6aWpuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB0cnVuY2F0aW5nIHN3YXAgYXJlYSB0byAlbGx1IEtpQiIKK21zZ3N0ciAid2FhcnNjaHV3aW5nOiB3aXNzZWxnZWhldWdlbiBpcyBhZmdla2FwdCB0b3QgJWxsdSBLaUIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIHN3YXBzcGFjZSIKK21zZ3N0ciAiZm91dDogJXMgaXMgYWFuZ2Vrb3BwZWxkOyB6YWwgaGllciBnZWVuIHdpc3NlbGdlaGV1Z2VuIG1ha2VuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ2OCBzeXMtdXRpbHMvc3dhcG9uLmM6NTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBwZXJtaXNzaW9ucyAlMDRvLCAlMDRvIHN1Z2dlc3RlZC4iCittc2dzdHIgIiVzOiBvbnZlaWxpZ2UgdG9lZ2FuZ3NyZWNodGVuOiAlMDRvIC0tIGFhbmdlcmFkZW4gd29yZHQ6ICUwNG8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDcyIHN5cy11dGlscy9zd2Fwb24uYzo1MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIGZpbGUgb3duZXIgJWQsIDAgKHJvb3QpIHN1Z2dlc3RlZC4iCittc2dzdHIgIiVzOiBvbnZlaWxpZ2UgYmVzdGFuZHNlaWdlbmFhciAlZCAtLSAwIChyb290KSB3b3JkdCBhYW5nZXJhZGVuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ4NworbXNnaWQgIlVuYWJsZSB0byBzZXQgdXAgc3dhcC1zcGFjZTogdW5yZWFkYWJsZSIKK21zZ3N0ciAiSW5zdGVsbGVuIHZhbiB3aXNzZWxnZWhldWdlbiBpcyBtaXNsdWt0OiBvbmxlZXNiYWFyIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIHVwIHN3YXBzcGFjZSB2ZXJzaW9uICVkLCBzaXplID0gJXMgKCU8UFJJdTY0PiBieXRlcylcbiIKK21zZ3N0ciAiSW5zdGVsbGVuIHZhbiB3aXNzZWxnZWhldWdlbiwgdmVyc2llICVkLCBncm9vdHRlID0gJXMgKCU8UFJJdTY0PiBieXRlcylcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBvYnRhaW4gc2VsaW51eCBmaWxlIGxhYmVsIgorbXNnc3RyICIlczoga2FuIGdlZW4gU0VMaW51eC1iZXN0YW5kc2xhYmVsIHZlcmtyaWpnZW4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE1Cittc2dpZCAidW5hYmxlIHRvIG1hdGNocGF0aGNvbigpIgorbXNnc3RyICJrYW4gdWl0IGhldCBwYWQgZ2VlbiBjb250ZXh0IGJlcGFsZW4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE4Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBuZXcgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJrYW4gZ2VlbiBuaWV1d2UgU0VMaW51eC1jb250ZXh0IGFhbm1ha2VuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMAorbXNnaWQgImNvdWxkbid0IGNvbXB1dGUgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJrYW4gZ2VlbiBuaWV1d2UgU0VMaW51eC1jb250ZXh0IGJlcmVrZW5lbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlbGFiZWwgJXMgdG8gJXMiCittc2dzdHIgImthbiAlcyBuaWV0IGhlcmxhYmVsZW4gbmFhciAlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg2Cittc2dpZCAicGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAicGFydGl0aWVudW1tZXIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NworbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIKK21zZ3N0ciAiYmVnaW4gdmFuIGRlIHBhcnRpdGllIChpbiBzZWN0b3JlbikiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OAorbXNnaWQgImVuZCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgImVpbmRlIHZhbiBkZSBwYXJ0aXRpZSAoaW4gc2VjdG9yZW4pIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODkKK21zZ2lkICJudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAiYWFudGFsIHNlY3RvcmVuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTAKK21zZ2lkICJodW1hbiByZWFkYWJsZSBzaXplIgorbXNnc3RyICJsZWVzYmFyZSBncm9vdHRlIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTEKK21zZ2lkICJwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAicGFydGl0aWVuYWFtIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA4IG1pc2MtdXRpbHMvbHNibGsuYzoxNjgKK21zZ2lkICJwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAicGFydGl0aWUtVVVJRCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkzCittc2dpZCAicGFydGl0aW9uIHRhYmxlIHR5cGUgKGRvcywgZ3B0LCAuLi4pIgorbXNnc3RyICJwYXJ0aXRpZXRhYmVsdHlwZSAoZG9zLCBncHQsIC4uLikiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY5Cittc2dpZCAicGFydGl0aW9uIGZsYWdzIgorbXNnc3RyICJwYXJ0aXRpZXZsYWdnZW4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIChhIHN0cmluZywgYSBVVUlELCBvciBoZXgpIgorbXNnc3RyICJwYXJ0aXRpZXR5cGUgKGhleCwgb2YgVVVJRCwgb2YgdGVrZW5yZWVrcykiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDggc3lzLXV0aWxzL2xvc2V0dXAuYzo2MTYKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wY3h0IgorbXNnc3RyICJpbml0aWFsaXNlcmVuIHZhbiAnbG9vcGN4dCcgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczoga2FuIGdlZW4gb25nZWJydWlrdCBsdXMtYXBwYXJhYXQgdmluZGVuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTIyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeWluZyB0byB1c2UgJyVzJyBmb3IgdGhlIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIkVyIHdvcmR0IGdlcHJvYmVlcmQgb20gJyVzJyBhbHMgbHVzLWFwcGFyYWF0IHRlIGdlYnJ1aWtlblxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXM6IGthbiBhY2h0ZXJsaWdnZW5kIGJlc3RhbmQgbmlldCBpbnN0ZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo1NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiBpbnN0ZWxsZW4gdmFuIGx1cy1hcHBhcmFhdCBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTYxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzA3IG1pc2MtdXRpbHMvZmluZG1udC5jOjM3NgorIzogbWlzYy11dGlscy9sc2Jsay5jOjM1NCBtaXNjLXV0aWxzL2xzbG9ja3MuYzozNDIgc3lzLXV0aWxzL2xvc2V0dXAuYzoxMDcKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM3MiBzeXMtdXRpbHMvbHNpcGMuYzoyMzIgc3lzLXV0aWxzL2xzbnMuYzoxODkKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjc3IHN5cy11dGlscy9zd2Fwb24uYzoxNDcgc3lzLXV0aWxzL3dkY3RsLmM6MTUxCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjE0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgIm9uYmVrZW5kZSBrb2xvbTogJXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiJXM6IGthbiBwYXJ0aXRpZW51bW1lciBuaWV0IGFjaHRlcmhhbGVuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjg2IGRpc2stdXRpbHMvcGFydHguYzozMjQgZGlzay11dGlscy9wYXJ0eC5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZpZWQgcmFuZ2UgPCVkOiVkPiBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICJnZWdldmVuIGJlcmVpayA8JWQ6JWQ+IGlzIG9uemlubmlnIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MjkwCisjLCBjLWZvcm1hdAorbXNnaWQgInJhbmdlIHJlY291bnQ6IG1heCBwYXJ0bm89JWQsIGxvd2VyPSVkLCB1cHBlcj0lZFxuIgorbXNnc3RyICJoZXJ0ZWxsaW5nOiBtYXhpbXVtIHBhcnRpdGllbnVtbWVyPSVkLCBsYWFnc3RlPSVkLCBob29nc3RlPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXM6IGZvdXQgYmlqIHZlcndpamRlcmVuIHZhbiBwYXJ0aXRpZSAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXM6IGZvdXQgYmlqIHZlcndpamRlcmVuIHZhbiBwYXJ0aXRpZXMgJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVtb3ZlZFxuIgorbXNnc3RyICIlczogcGFydGl0aWUgIyVkIGlzIHZlcndpamRlcmRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBkb2Vzbid0IGV4aXN0XG4iCittc2dzdHIgIiVzOiBwYXJ0aXRpZSAjJWQgYmVzdGFhdCBuaWV0XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRlbGV0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlczogdmVyd2lqZGVyZW4gdmFuIHBhcnRpdGllICMlZCBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIlczogZm91dCBiaWogdG9ldm9lZ2VuIHZhbiBwYXJ0aXRpZSAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiVzOiBmb3V0IGJpaiB0b2V2b2VnZW4gdmFuIHBhcnRpdGllcyAlZC0lZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQwNSBkaXNrLXV0aWxzL3BhcnR4LmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGFkZGVkXG4iCittc2dzdHIgIiVzOiBwYXJ0aXRpZSAjJWQgaXMgdG9lZ2V2b2VnZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiB0b2V2b2VnZW4gdmFuIHBhcnRpdGllICMlZCBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiBmb3V0IGJpaiBiaWp3ZXJrZW4gdmFuIHBhcnRpdGllICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczogZm91dCBiaWogYmlqd2Vya2VuIHZhbiBwYXJ0aXRpZXMgJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiAjJWQiCittc2dzdHIgIiVzOiBlciBpcyBnZWVuIHBhcnRpdGllICMlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZXNpemVkXG4iCittc2dzdHIgIiVzOiBwYXJ0aXRpZSAjJWQgaXMgdmFuIGdyb290dGUgZ2V3aWp6aWdkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVwZGF0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlczogYmlqd2Vya2VuIHZhbiBwYXJ0aXRpZSAjJWQgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9yLCAlNmp1IE1CKVxuIgorbXNnaWRfcGx1cmFsICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9ycywgJTZqdSBNQilcbiIKK21zZ3N0clswXSAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvciwgJTZqdSBNQilcbiIKK21zZ3N0clsxXSAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvcmVuLCAlNmp1IE1CKVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTgxIG1pc2MtdXRpbHMvZmluZG1udC5jOjY4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MDUKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM5MSBzeXMtdXRpbHMvbHNucy5jOjQ1NgorbXNnaWQgImZhaWxlZCB0byBhZGQgbGluZSB0byBvdXRwdXQiCittc2dzdHIgInRvZXZvZWdlbiB2YW4gcmVnZWwgYWFuIHVpdHZvZXIgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY0NAorbXNnaWQgImZhaWxlZCB0byBhZGQgZGF0YSB0byBvdXRwdXQgdGFibGUiCittc2dzdHIgInRvZXZvZWdlbiB2YW4gZ2VnZXZlbnMgYWFuIHVpdHZvZXJ0YWJlbCBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjY3IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTIyIG1pc2MtdXRpbHMvZmluZG1udC5jOjE1ODUKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODc0IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ1MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjMxMAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTcxMyBzeXMtdXRpbHMvbHNpcGMuYzozMzggc3lzLXV0aWxzL2xzbnMuYzo1MTEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjk3IHN5cy11dGlscy9zd2Fwb24uYzoyODAgc3lzLXV0aWxzL3dkY3RsLmM6MjU5CisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjQ4NAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAiaW5pdGlhbGlzZXJlbiB2YW4gdWl0dm9lcnRhYmVsIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NzggbWlzYy11dGlscy9maW5kbW50LmM6MTYxMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5NgorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDY1IHN5cy11dGlscy9sb3NldHVwLmM6MzIyIHN5cy11dGlscy9sb3NldHVwLmM6MzU4CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzE4IHN5cy11dGlscy9sc25zLmM6NTMyIHN5cy11dGlscy9wcmxpbWl0LmM6MzA2CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjg5IHN5cy11dGlscy93ZGN0bC5jOjI3MCBzeXMtdXRpbHMvenJhbWN0bC5jOjQ5MworbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iCittc2dzdHIgImluaXRpYWxpc2VyZW4gdmFuIHVpdHZvZXJrb2xvbSBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzIyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIGZpbHRlciBmb3IgJyVzJyIKK21zZ3N0ciAiaW5pdGlhbGlzZXJlbiB2YW4gYmxraWQtZmlsdGVyIHZvb3IgJyVzJyBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiVzOiBsZXplbiB2YW4gcGFydGl0aWV0YWJlbCBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgdHlwZSAnJXMnIGRldGVjdGVkXG4iCittc2dzdHIgIiVzOiAnJXMnLXBhcnRpdGlldGFiZWwgZ2VkZXRlY3RlZXJkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB3aXRoIG5vIHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiBwYXJ0aXRpZXRhYmVsIG1ldCBudWwgcGFydGl0aWVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLWF8LWR8LXN8LXVdIFstLW5yIDxuOm0+IHwgPHBhcnRpdGlvbj5dIDxkaXNrPlxuIgorbXNnc3RyICIgICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPE46TT4gfCA8cGFydGl0aWU+XSA8YXBwYXJhYXQ+XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTYKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIHByZXNlbmNlIGFuZCBudW1iZXJpbmcgb2YgcGFydGl0aW9ucy5cbiIKK21zZ3N0ciAiVmVydGVsdCBkZSBrZXJuZWwgb3ZlciBoZXQgYmVzdGFhbiBlbiBkZSBudW1tZXJpbmcgdmFuIHBhcnRpdGllcy5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1OQorbXNnaWQgIiAtYSwgLS1hZGQgICAgICAgICAgICBhZGQgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiICAtYSwgLS1hZGQgICAgICAgICAgICBnZWdldmVuIHBhcnRpdGllcyAob2YgYWxsZSkgdG9ldm9lZ2VuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjAKK21zZ2lkICIgLWQsIC0tZGVsZXRlICAgICAgICAgZGVsZXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAgLWQsIC0tZGVsZXRlICAgICAgICAgZ2VnZXZlbiBwYXJ0aXRpZXMgKG9mIGFsbGUpIHZlcndpamRlcmVuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjEKK21zZ2lkICIgLXUsIC0tdXBkYXRlICAgICAgICAgdXBkYXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAgLXUsIC0tdXBkYXRlICAgICAgICAgZ2VnZXZlbiBwYXJ0aXRpZXMgKG9mIGFsbGUpIGJpandlcmtlblxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYyCittc2dpZCAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnNcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAgLXMsIC0tc2hvdyAgICAgICAgICAgcGFydGl0aWVzIHRvbmVuXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjMgbWlzYy11dGlscy9sc2Jsay5jOjE2MjMKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtYiwgLS1ieXRlcyAgICAgICAgICBncm9vdHRlIGluIGJ5dGVzIHdlZXJnZXZlbiBpbiBwbGFhdHMgdmFuIGluIGxlZXNiYXJlIHZvcm1cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NAorbXNnaWQgIiAtZywgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1zaG93XG4iCittc2dzdHIgIiAgLWcsIC0tbm9oZWFkaW5ncyAgICAgYmlqICctLXNob3cnIGdlZW4ga29wcmVnZWwgdG9uZW5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NQorbXNnaWQgIiAtbiwgLS1uciA8bjptPiAgICAgICBzcGVjaWZ5IHRoZSByYW5nZSBvZiBwYXJ0aXRpb25zIChlLmcuIC0tbnIgMjo0KVxuIgorbXNnc3RyICIgIC1uLCAtLW5yIDxOOk0+ICAgICAgIHRlIGdlYnJ1aWtlbiBiZXJlaWsgdmFuIHBhcnRpdGllcyAoYmlqdm9vcmJlZWxkICctbiAyOjQnKVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY2Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiICAtbywgLS1vdXRwdXQgPGxpanN0PiAgIHdlZXIgdGUgZ2V2ZW4gdWl0dm9lcmtvbG9tbWVuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjcgbWlzYy11dGlscy9sc2Jsay5jOjE2MzcKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1QLCAtLXBhaXJzICAgICAgICAgIHVpdHZvZXIgcHJvZHVjZXJlbiBpbiBkZSB2b3JtIHZhbiBzbGV1dGVsPVwid2FhcmRlXCJcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OCBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzOAorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtciwgLS1yYXcgICAgICAgICAgICByYXV3ZSB1aXR2b2VyIHByb2R1Y2VyZW5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICBzcGVjaWZ5IHRoZSBwYXJ0aXRpb24gdHlwZSAoZG9zLCBic2QsIHNvbGFyaXMsIGV0Yy4pXG4iCittc2dzdHIgIiAgLXQsIC0tdHlwZSA8dHlwZT4gICAgdGUgZ2VicnVpa2VuIHBhcnRpdGlldHlwZSAoJ2RvcycsICdic2QnLCAnc29sYXJpcycsIC4uLilcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAgLXYsIC0tdmVyYm9zZSAgICAgICAgZ2VkZXRhaWxsZWVyZGUgdWl0dm9lciBwcm9kdWNlcmVuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzYKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3csIC0tcmF3IG9yIC0tcGFpcnMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiQmVzY2hpa2JhcmUga29sb21tZW4gKHZvb3IgJy0tc2hvdycsICctLXJhdycgb2YgJy0tcGFpcnMnKSB6aWpuOlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODQ5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tbnIgPE0tTj4gcmFuZ2UiCittc2dzdHIgIm9udGxlZGVuIHZhbiBiZXJlaWsgaW4gJy0tbnIgPE0tTj4nIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MjQKK21zZ2lkICJwYXJ0aXRpb24gYW5kIGRpc2sgbmFtZSBkbyBub3QgbWF0Y2giCittc2dzdHIgIm5hYW0gdmFuIHBhcnRpdGllIGVuIHNjaGlqZiBrb21lbiBuaWV0IG92ZXJlZW4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NTIKK21zZ2lkICItLW5yIGFuZCA8cGFydGl0aW9uPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICI8cGFydGl0aWU+IGVuIG9wdGllICctLW5yJyBnYWFuIG5pZXQgc2FtZW4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFydGl0aW9uOiAlcywgZGlzazogJXMsIGxvd2VyOiAlZCwgdXBwZXI6ICVkXG4iCittc2dzdHIgInBhcnRpdGllOiAlcywgc2NoaWpmOiAlcywgb25kZXJncmVuczogJWQsIGJvdmVuZ3JlbnM6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBkZWxldGUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6IGthbiBwYXJ0aXRpZXMgbmlldCB2ZXJ3aWpkZXJlbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIlczogZ2VwYXJ0aXRpb25lZXJkZSBsdXMtYXBwYXJhdGVuIHdvcmRlbiBuaWV0IG9uZGVyc3RldW5kIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgcHJvYmVyIgorbXNnc3RyICIlczogaW5pdGlhbGlzZXJlbiB2YW4gYmxraWQtc29uZGUgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9yYXcuYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgJTIkc3Jhd04gPG1ham9yPiA8bWlub3I+XG4iCisiICUxJHMgJTIkc3Jhd04gL2Rldi88YmxvY2tkZXZpY2U+XG4iCisiICUxJHMgLXEgJTIkc3Jhd05cbiIKKyIgJTEkcyAtcWFcbiIKK21zZ3N0ciAiIgorIiAgJTEkcyAlMiRzcmF3TiA8aG9vZmRudW1tZXI+IDxzdWJudW1tZXI+XG4iCisiICAlMSRzICUyJHNyYXdOIC9kZXYvPGJsb2thcHBhcmFhdD5cbiIKKyIgICUxJHMgLXEgJTIkc3Jhd05cbiIKKyIgICUxJHMgLXFhXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTgKK21zZ2lkICJCaW5kIGEgcmF3IGNoYXJhY3RlciBkZXZpY2UgdG8gYSBibG9jayBkZXZpY2UuXG4iCittc2dzdHIgIkJpbmR0IGVlbiByYXV3IGJ5dGUtYXBwYXJhYXQgYWFuIGVlbiBibG9rLWFwcGFyYWF0LlxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYxCittc2dpZCAiIC1xLCAtLXF1ZXJ5ICAgIHNldCBxdWVyeSBtb2RlXG4iCittc2dzdHIgIiAgLXEsIC0tcXVlcnkgICAgIGJpbmRpbmcgdG9uZW4gaW4gcGxhYXRzIHZhbiBpbnN0ZWxsZW5cbiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICBxdWVyeSBhbGwgcmF3IGRldmljZXNcbiIKK21zZ3N0ciAiICAtYSwgLS1hbGwgICAgICBhbGxlIGJlc3RhYW5kZSAncmF3Jy1hcHBhcmF0ZW4gbGFuZ3Nsb3BlblxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyB0aGUgY29udHJvbCByYXcgZGV2aWNlICh1c2UgcmF3PE4+IHdoZXJlIDxOPiBpcyBncmVhdGVyIHRoYW4gemVybykiCittc2dzdHIgIiIKKyJBcHBhcmFhdCAnJXMnIGlzIGRlICdyYXcnLWJlc3R1cmluZztcbiIKKyIoZ2VicnVpayByYXdOLCB3YWFyIE4gZ3JvdGVyIGlzIGRhbiBudWwpIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4MQorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIGJsb2NrIGRldmljZSAnJXMnIgorbXNnc3RyICJLYW4gYmxvay1hcHBhcmFhdCAnJXMnIG5pZXQgbG9rYWxpc2VyZW4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiQXBwYXJhYXQgJyVzJyBpcyBnZWVuIGJsb2stYXBwYXJhYXQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTkzIGRpc2stdXRpbHMvcmF3LmM6MTk2IHN5cy11dGlscy9pcGNybS5jOjM1MQorIzogc3lzLXV0aWxzL2lwY3JtLmM6MzY0IHN5cy11dGlscy9pcGNybS5jOjM3NworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBhcmd1bWVudCIKK21zZ3N0ciAib250bGVkZW4gdmFuIGFyZ3VtZW50IGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuIG1hc3RlciByYXcgZGV2aWNlICclcyciCittc2dzdHIgIkthbiBob29mZC0ncmF3Jy1hcHBhcmFhdCAnJXMnIG5pZXQgb3BlbmVuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIyOAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiS2FuICdyYXcnLWFwcGFyYWF0ICclcycgbmlldCBsb2thbGlzZXJlbiIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmF3IGRldmljZSAnJXMnIGlzIG5vdCBhIGNoYXJhY3RlciBkZXYiCittc2dzdHIgIidyYXcnLWFwcGFyYWF0ICclcycgaXMgZ2VlbiBieXRlLWFwcGFyYWF0IgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSByYXcgZGV2IgorbXNnc3RyICJBcHBhcmFhdCAnJXMnIGlzIGdlZW4gJ3JhdyctYXBwYXJhYXQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjQ1Cittc2dpZCAiRXJyb3IgcXVlcnlpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAiRm91dCB0aWpkZW5zIHBvbHNlbiB2YW4gJ3JhdyctYXBwYXJhYXQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjU0IGRpc2stdXRpbHMvcmF3LmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzcmF3JWQ6ICBib3VuZCB0byBtYWpvciAlZCwgbWlub3IgJWRcbiIKK21zZ3N0ciAiJXNyYXclZDogIGdlYm9uZGVuIGFhbiBob29mZG51bW1lciAlZCwgc3VibnVtbWVyICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjY4Cittc2dpZCAiRXJyb3Igc2V0dGluZyByYXcgZGV2aWNlIgorbXNnc3RyICJGb3V0IGJpaiBpbnN0ZWxsZW4gdmFuICdyYXcnLWFwcGFyYWF0IgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxOQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiICAlcyA8Ymxva2FwcGFyYWF0PiA8cGFydGl0aWVudW1tZXI+IDxsZW5ndGU+XG4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjIzCittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBuZXcgc2l6ZSBvZiBhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiVmVydGVsdCBkZSBrZXJuZWwgb3ZlciBkZSBuaWV1d2UgZ3Jvb3R0ZSB2YW4gZGUgb3BnZWdldmVuIHBhcnRpdGllLlxuIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBudW1iZXIgJXMiCittc2dzdHIgIiVzOiBrYW4gaGV0IGJlZ2luIHZhbiBwYXJ0aXRpZW51bW1lciAlcyBuaWV0IGFjaHRlcmhhbGVuIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDkKK21zZ2lkICJmYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiIKK21zZ3N0ciAidmFuIGdyb290dGUgdmVyYW5kZXJlbiB2YW4gcGFydGl0aWUgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMzEKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbmVzdGVkIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgInJlc2VydmVyZW4gdmFuIGdlaGV1Z2VuIHZvb3IgZ2VuZXN0ZSAnbGliZmRpc2snLWNvbnRleHQgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNlZWsgJXMiCittc2dzdHIgImthbiBnZWVuICdzZWVrJyBkb2VuIG9wICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMwMiBsaWJmZGlzay9zcmMvYnNkLmM6NzIzIGxpYmZkaXNrL3NyYy9ic2QuYzo4OTQKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTYzIHN5cy11dGlscy9od2Nsb2NrLmM6MTY1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSAlcyIKK21zZ3N0ciAia2FuIG5pZXQgbmFhciAlcyBuaWV0IHNjaHJpanZlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTEycyAob2Zmc2V0ICU1anUsIHNpemUgJTVqdSk6ICVzIgorbXNnc3RyICIlMTJzIChwb3NpdGllID0gJTVqdSwgZ3Jvb3R0ZSA9ICU1anUpOiAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAiCittc2dzdHIgIiVzOiBoZXQgbWFrZW4gdmFuIGVlbiByZXNlcnZla29waWUgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMjgKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIGZpbGUsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAiaGV0IG1ha2VuIHZhbiBlZW4gcmVzZXJ2ZWtvcGllYmVzdGFuZCBpcyBtaXNsdWt0LCB3YW50ICRIT01FIGlzIG5pZXQgZ2VkZWZpbmllZXJkIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM1NAorbXNnaWQgIkJhY2t1cCBmaWxlczoiCittc2dzdHIgIlJlc2VydmVrb3BpZWJlc3RhbmRlbjoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzc5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbmV3IHBhcnRpdGlvbiBmcm9tIGRldmljZTsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImxlemVuIHZhbiBuaWV1d2UgcGFydGl0aWUgaXMgbWlzbHVrdDsgJy0tbW92ZS1kYXRhJyB3b3JkdCBnZW5lZ2VlcmQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgxCittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAia2FuIGdyb290dGUgdmFuIG5pZXV3ZSBwYXJ0aXRpZSBuaWV0IGFjaHRlcmhhbGVuOyAnLS1tb3ZlLWRhdGEnIHdvcmR0IGdlbmVnZWVyZCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODMKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAia2FuIGJlZ2luIHZhbiBuaWV1d2UgcGFydGl0aWUgbmlldCBhY2h0ZXJoYWxlbjsgJy0tbW92ZS1kYXRhJyB3b3JkdCBnZW5lZ2VlcmQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg1Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAia2FuIGdyb290dGUgdmFuIG91ZGUgcGFydGl0aWUgbmlldCBhY2h0ZXJoYWxlbjsgJy0tbW92ZS1kYXRhJyB3b3JkdCBnZW5lZ2VlcmQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg3Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImthbiBiZWdpbiB2YW4gb3VkZSBwYXJ0aXRpZSBuaWV0IGFjaHRlcmhhbGVuOyAnLS1tb3ZlLWRhdGEnIHdvcmR0IGdlbmVnZWVyZCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODkKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGhhcyBub3QgYmVlbiBtb3ZlZDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImJlZ2luIHZhbiBkZSBwYXJ0aXRpZSBpcyBuaWV0IHZlcnBsYWF0c3Q7ICctLW1vdmUtZGF0YScgd29yZHQgZ2VuZWdlZXJkIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM5MQorbXNnaWQgIm5ldyBwYXJ0aXRpb24gaXMgc21hbGxlciB0aGFuIG9yaWdpbmFsOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAibmlldXdlIHBhcnRpdGllIGlzIGtsZWluZXIgZGFuIGRlIG91ZGU7ICctLW1vdmUtZGF0YScgd29yZHQgZ2VuZWdlZXJkIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0MQorbXNnaWQgIkRhdGEgbW92ZToiCittc2dzdHIgIkdlZ2V2ZW5zdmVycGxhYXRzaW5nOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIHR5cGVzY3JpcHQgZmlsZTogJXMiCittc2dzdHIgIiBzY3JpcHRiZXN0YW5kOiAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIG9sZCBzdGFydDogJWp1LCBuZXcgc3RhcnQ6ICVqdSAobW92ZSAlanUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIG91ZGUgYmVnaW46ICVqdSwgIG5pZXV3ZSBiZWdpbjogJWp1ICAoJWp1IHNlY3RvcmVuIHZlcnBsYWF0c2VuKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1MQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIG1vdmUgcGFydGl0aW9uIGRhdGE/IgorbXNnc3RyICJXaWx0IHUgZGUgZ2VnZXZlbnMgb3AgZGUgcGFydGl0aWUgdmVycGxhYXRzZW4/IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1MyBkaXNrLXV0aWxzL3NmZGlzay5jOjE3ODMKK21zZ2lkICJMZWF2aW5nLiIKK21zZ3N0ciAiRGFnLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBtb3ZlIGRhdGEiCittc2dzdHIgIiVzOiB2ZXJwbGFhdHNlbiB2YW4gZ2VnZXZlbnMgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDEKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGlzIHVuY2hhbmdlZCAoLS1uby1hY3QpLiIKK21zZ3N0ciAiRGUgcGFydGl0aWV0YWJlbCBpcyBvbmdld2lqemlnZCAoLS1uby1hY3QpLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDcKK21zZ2lkICIiCisiXG4iCisiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiIgorIlxuIgorIkRlIHBhcnRpdGlldGFiZWwgaXMgZ2V3aWp6aWdkLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbGFiZWwgJyVzJyIKK21zZ3N0ciAibmlldC1vbmRlcnN0ZXVuZCBsYWJlbCAnJXMnIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYyNgorbXNnaWQgIiIKKyJJZCAgTmFtZVxuIgorIlxuIgorbXNnc3RyICIiCisiSUQgIE5hYW1cbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2NTYKK21zZ2lkICJ1bnJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUiCittc2dzdHIgIm9uYmVrZW5kIHBhcnRpdGlldGFiZWx0eXBlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjcwOQorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgImthbiBncm9vdHRlIHZhbiAlcyBuaWV0IG9wdnJhZ2VuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ0b3RhbDogJWp1IGJsb2Nrc1xuIgorbXNnc3RyICJ0b3RhYWw6ICVqdSBibG9ra2VuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODA4IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODc2IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk0NyBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTQgZGlzay11dGlscy9zZmRpc2suYzoxMDc4CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzMgZGlzay11dGlscy9zZmRpc2suYzoxMTg5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUzMworbXNnaWQgIm5vIGRpc2sgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAiZ2VlbiBzY2hpamZhcHBhcmFhdCBnZWdldmVuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgxOQorbXNnaWQgInRvZ2dsZSBib290IGZsYWdzIGlzIHN1cHBvcnRlZCBmb3IgTUJSIG9ubHkiCittc2dzdHIgImhldCBvbXNjaGFrZWxlbiB2YW4gZGUgb3BzdGFydHZsYWcgd29yZHQgYWxsZWVuIG9uZGVyc3RldW5kIHZvb3IgZWVuIE1CUiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NTAgZGlzay11dGlscy9zZmRpc2suYzo4OTYgZGlzay11dGlscy9zZmRpc2suYzoxMDE5CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODMgZGlzay11dGlscy9zZmRpc2suYzoxMTM4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5NAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTMxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxMworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJrYW4gcGFydGl0aWVudW1tZXIgbmlldCBvbnRsZWRlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlZDogZmFpbGVkIHRvIHRvZ2dsZSBib290YWJsZSBmbGFnIgorbXNnc3RyICIlczogcGFydGl0aWUgJWQ6IG9tc2NoYWtlbGVuIHZhbiBvcHN0YXJ0dmxhZyBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg5MSBkaXNrLXV0aWxzL3NmZGlzay5jOjg5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGRlbGV0ZSIKK21zZ3N0ciAiJXM6IHBhcnRpdGllICV6dTogdmVyd2lqZGVyZW4gaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIkFwcGFyYWF0IGJldmF0IGdlZW4gaGVya2VuYmFyZSBwYXJ0aXRpZXRhYmVsLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NTgKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgZHVtcCBzdHJ1Y3QiCittc2dzdHIgInJlc2VydmVyZW4gdmFuIGdlaGV1Z2VuIHZvb3IgZHVtcHN0cnVjdCBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkdW1wIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAib3BzbGFhbiB2YW4gcGFydGl0aWV0YWJlbCBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uIHRhYmxlIGZvdW5kIgorbXNnc3RyICIlczogZ2VlbiBwYXJ0aXRpZXRhYmVsIGdldm9uZGVuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIHRhYmxlIGNvbnRhaW5zIG9ubHkgJXp1IHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiBwYXJ0aXRpZSAlenU6IHBhcnRpdGlldGFiZWwgYmV2YXQgc2xlY2h0cyAlenUgcGFydGl0aWVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIGlzIHVudXNlZCIKK21zZ3N0ciAiJXM6IHBhcnRpdGllICV6dSB3b3JkdCBuaWV0IGdlYnJ1aWt0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTggZGlzay11dGlscy9zZmRpc2suYzoxMDgyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzNworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTkzCittc2dpZCAibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiCittc2dzdHIgImdlZW4gcGFydGl0aWVudW1tZXIgb3BnZWdldmVuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMjQgZGlzay11dGlscy9zZmRpc2suYzoxMDg4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE0MworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTk5Cittc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudHMiCittc2dzdHIgIm9udmVyd2FjaHRlIGFyZ3VtZW50ZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiJXM6IHBhcnRpdGllICV6dTogYWNodGVyaGFsZW4gdmFuIHBhcnRpdGlldHlwZSBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIHBhcnRpdGlvbiB0eXBlICclcyciCittc2dzdHIgIm9udGxlZGVuIHZhbiAlcy1wYXJ0aXRpZXR5cGUgJyVzJyBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiVzOiBwYXJ0aXRpZSAlenU6IGluc3RlbGxlbiB2YW4gcGFydGl0aWV0eXBlIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiJXM6IHBhcnRpdGllICV6dTogYWNodGVyaGFsZW4gdmFuIHBhcnRpdGllLVVVSUQgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTEzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE2OCBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMjIKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG9iamVjdCIKK21zZ3N0ciAicmVzZXJ2ZXJlbiB2YW4gZ2VoZXVnZW4gdm9vciBwYXJ0aXRpZS1vYmplY3QgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIlczogcGFydGl0aWUgJXp1OiBpbnN0ZWxsZW4gdmFuIHBhcnRpdGllLVVVSUQgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlczogcGFydGl0aWUgJXp1OiBhY2h0ZXJoYWxlbiB2YW4gcGFydGl0aWVuYWFtIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiJXM6IHBhcnRpdGllICV6dTogaW5zdGVsbGVuIHZhbiBwYXJ0aXRpZW5hYW0gaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBhdHRyaWJ1dGVzIgorbXNnc3RyICIlczogcGFydGl0aWUgJXp1OiBpbnN0ZWxsZW4gdmFuIHBhcnRpdGllLWVpZ2Vuc2NoYXBwZW4gaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjY5Cittc2dpZCAiIENvbW1hbmRzOlxuIgorbXNnc3RyICIgT3BkcmFjaHRlbjpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjcxCittc2dpZCAiICAgd3JpdGUgICAgd3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdFxuIgorbXNnc3RyICIgICB3cml0ZSAgICBkZSB0YWJlbCBuYWFyIHNjaGlqZiBzY2hyaWp2ZW4gZW4gYWZzbHVpdGVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3MgorbXNnaWQgIiAgIHF1aXQgICAgIHNob3cgbmV3IHNpdHVhdGlvbiBhbmQgd2FpdCBmb3IgdXNlcidzIGZlZWRiYWNrIGJlZm9yZSB3cml0ZVxuIgorbXNnc3RyICIgICBxdWl0ICAgICBuaWV1d2Ugc2l0dWF0aWUgdG9uZW4sIGVuIGFudHdvb3JkIGFmd2FjaHRlbiBhbHZvcmVucyB0ZSBzY2hyaWp2ZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjczCittc2dpZCAiICAgYWJvcnQgICAgZXhpdCBzZmRpc2sgc2hlbGxcbiIKK21zZ3N0ciAiICAgYWJvcnQgICAgZGUgc2ZkaXNrLXNoZWxsIHZlcmxhdGVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3NAorbXNnaWQgIiAgIHByaW50ICAgIGRpc3BsYXkgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgICBwcmludCAgICBkZSBwYXJ0aXRpZXRhYmVsIHdlZXJnZXZlblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzUKK21zZ2lkICIgICBoZWxwICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCittc2dzdHIgIiAgIGhlbHAgICAgIGRlemUgaHVscHRla3N0IHRvbmVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3NworbXNnaWQgIiAgIEN0cmwtRCAgIHRoZSBzYW1lIGFzICdxdWl0J1xuIgorbXNnc3RyICIgICBDdHJsLUQgICBoZXR6ZWxmZGUgYWxzICdxdWl0J1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODEKK21zZ2lkICIgSW5wdXQgZm9ybWF0OlxuIgorbXNnc3RyICIgSW52b2Vyb3BtYWFrOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODMKKyMsIGZ1enp5Cittc2dpZCAiICAgPHN0YXJ0PiwgPHNpemU+LCA8dHlwZT4sIDxib290YWJsZT5cbiIKK21zZ3N0ciAiICAgPGJlZ2luPiwgPGdyb290dGU+LCA8dHlwZT4sIDxvcHN0YXJ0YmFhcj5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjg2Cittc2dpZCAiIgorIiAgIDxzdGFydD4gIEJlZ2lubmluZyBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyB0aGUgZmlyc3QgZnJlZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTEKK21zZ2lkICIiCisiICAgPHNpemU+ICAgU2l6ZSBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyBhbGwgYXZhaWxhYmxlIHNwYWNlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NgorbXNnaWQgIiAgIDx0eXBlPiAgIFRoZSBwYXJ0aXRpb24gdHlwZS4gIERlZmF1bHQgaXMgYSBMaW51eCBkYXRhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTcKK21zZ2lkICIgICAgICAgICAgICBNQlI6IGhleCBvciBMLFMsRSxYIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTgKK21zZ2lkICIgICAgICAgICAgICBHUFQ6IFVVSUQgb3IgTCxTLEggc2hvcnRjdXRzLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwMQorbXNnaWQgIiAgIDxib290YWJsZT4gIFVzZSAnKicgdG8gbWFyayBhbiBNQlIgcGFydGl0aW9uIGFzIGJvb3RhYmxlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNQorbXNnaWQgIiBFeGFtcGxlOlxuIgorbXNnc3RyICJWb29yYmVlbGQ6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNworbXNnaWQgIiAgICwgNEcgICAgIENyZWF0ZXMgYSA0R2lCIHBhcnRpdGlvbiBhdCBkZWZhdWx0IHN0YXJ0IG9mZnNldC5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMzkgc3lzLXV0aWxzL2RtZXNnLmM6MTQ1NQorbXNnaWQgInVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgIm5pZXQtb25kZXJzdGV1bmRlIG9wZHJhY2h0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlZDogdW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAicmVnZWwgJWQ6IG5pZXQtb25kZXJzdGV1bmRlIG9wZHJhY2h0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MDAKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgInJlc2VydmVyZW4gdmFuIHJ1aW10ZSB2b29yIHBhcnRpdGllbmFhbSBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NDEKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgInJlc2VydmVyZW4gdmFuIGdlaGV1Z2VuIHZvb3Igc2NyaXB0LXZlcndlcmtlciBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBubyBwYXJ0aXRpb24gdGFibGUgd2FzIGZvdW5kIgorbXNnc3RyICIlczoga2FuIHBhcnRpdGllICVkIG5pZXQgYWFucGFzc2VuOiBnZWVuIHBhcnRpdGlldGFiZWwgZ2V2b25kZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczoga2FuIHBhcnRpdGllICVkIG5pZXQgYWFucGFzc2VuOiBwYXJ0aXRpZXRhYmVsIGJldmF0IHNsZWNodHMgJXp1IHBhcnRpdGllcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzOiBwYXJ0aXRpb24gJWQgaXMgbm90IGRlZmluZWQgeWV0IgorbXNnc3RyICJ3YWFyc2NodXdpbmc6ICVzOiBwYXJ0aXRpZSAlZCBpcyBub2cgbmlldCBnZWRlZmluaWVlcmQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiV2VsY29tZSB0byBzZmRpc2sgKCVzKS4iCittc2dzdHIgIiIKKyJcbiIKKyJXZWxrb20gYmlqICdzZmRpc2snICglcykuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTQKK21zZ2lkICJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIKK21zZ3N0ciAiRXZlbiBjb250cm9sZXJlbiBvZiBpZW1hbmQgZGV6ZSBzY2hpamYgbnUgZ2VicnVpa3QuLi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NworbXNnaWQgIiIKKyIgRkFJTEVEXG4iCisiXG4iCittc2dzdHIgIiIKKyIgTUlTTFVLVFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MDAKK21zZ2lkICIiCisiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UgLSByZXBhcnRpdGlvbmluZyBpcyBwcm9iYWJseSBhIGJhZCBpZGVhLlxuIgorIlVtb3VudCBhbGwgZmlsZSBzeXN0ZW1zLCBhbmQgc3dhcG9mZiBhbGwgc3dhcCBwYXJ0aXRpb25zIG9uIHRoaXMgZGlzay5cbiIKKyJVc2UgdGhlIC0tbm8tcmVyZWFkIGZsYWcgdG8gc3VwcHJlc3MgdGhpcyBjaGVjay5cbiIKK21zZ3N0ciAiIgorIkRlemUgc2NoaWpmIGlzIGluIGdlYnJ1aWsgLS0gbnUgaGVycGFydGl0aW9uZXJlbiBpcyBlZW4gc2xlY2h0IGlkZWUuXG4iCisiS29wcGVsIGVlcnN0IGFsbGUgYmVzdGFuZHNzeXN0ZW1lbiBhZiwgZW4gc2NoYWtlbCBtZXQgJ3N3YXBvZmYnIGFsbGVcbiIKKyJ3aXNzZWxnZWhldWdlbnBhcnRpdGllcyBvcCBkZXplIHNjaGlqZiB1aXQuXG4iCisiT2YgZ2VicnVpayBvcHRpZSAnLS1uby1yZXJlYWQnIG9tIGRlemUgY29udHJvbGUgdGUgb25kZXJkcnVra2VuLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MDUKK21zZ2lkICJVc2UgdGhlIC0tZm9yY2UgZmxhZyB0byBvdmVycnVsZSBhbGwgY2hlY2tzLiIKK21zZ3N0ciAiR2VicnVpayAnLS1mb3JjZScgb20gYWxsZSBjb250cm9sZXMgdGUgbmVnZXJlbi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNworbXNnaWQgIiIKKyIgT0tcbiIKKyJcbiIKK21zZ3N0ciAiIgorIk9LXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYzNgorbXNnaWQgIiIKKyJcbiIKKyJPbGQgc2l0dWF0aW9uOiIKK21zZ3N0ciAiIgorIlxuIgorIk91ZGUgc2l0dWF0aWU6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorInNmZGlzayBpcyBnb2luZyB0byBjcmVhdGUgYSBuZXcgJyVzJyBkaXNrIGxhYmVsLlxuIgorIlVzZSAnbGFiZWw6IDxuYW1lPicgYmVmb3JlIHlvdSBkZWZpbmUgYSBmaXJzdCBwYXJ0aXRpb25cbiIKKyJ0byBvdmVycmlkZSB0aGUgZGVmYXVsdC4iCittc2dzdHIgIiIKKyJcbiIKKyJzZmRpc2sgZ2FhdCBlZW4gbmlldXcgJyVzJy1zY2hpamZsYWJlbCBhYW5tYWtlbi5cbiIKKyJHZWJydWlrICdsYWJlbDogPG5hYW0+JyBvbSBoZXQgc2NoaWpmbGFiZWx0eXBlIHRlIHdpanppZ2VuXG4iCisidm9vcmRhdCB1IGRlIGVlcnN0ZSBwYXJ0aXRpZSBhYW5tYWFrdC4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY1NworbXNnaWQgIiIKKyJcbiIKKyJUeXBlICdoZWxwJyB0byBnZXQgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlR5cCAnaGVscCcgdm9vciBtZWVyIGluZm9ybWF0aWUuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY3NQorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIHVzZWQuIgorbXNnc3RyICJBbGxlIHBhcnRpdGllcyB6aWpuIGluIGdlYnJ1aWsuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MDMKK21zZ2lkICJEb25lLlxuIgorbXNnc3RyICJLbGFhci5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzE1Cittc2dpZCAiSWdub3JpbmcgcGFydGl0aW9uLiIKK21zZ3N0ciAiUGFydGl0aWUgd29yZHQgZ2VuZWdlZXJkLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzI0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCBoZWFkZXJzLCBkaXNrIGxhYmVsIG5vdCBjcmVhdGVkLiIKK21zZ3N0ciAiVG9lcGFzc2VuIHZhbiBzY3JpcHRrb3ByZWdlbHMgaXMgbWlzbHVrdDsgZ2VlbiBzY2hpamZsYWJlbCBhYW5nZW1hYWt0LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkICMlZCBwYXJ0aXRpb24iCittc2dzdHIgIlRvZXZvZWdlbiB2YW4gcGFydGl0aWUgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzYzCittc2dpZCAiU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4iCittc2dzdHIgIlNjcmlwdGtvcHJlZ2VscyB6aWpuIGdlYWNjZXB0ZWVyZC4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc3MgorbXNnaWQgIiIKKyJcbiIKKyJOZXcgc2l0dWF0aW9uOiIKK21zZ3N0ciAiIgorIlxuIgorIk5pZXV3ZSBzaXR1YXRpZToiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc4MQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHdyaXRlIHRoaXMgdG8gZGlzaz8iCittc2dzdHIgIldpbHQgdSBkaXQgbmFhciBkZSBzY2hpamYgc2NocmlqdmVuPyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzkzCittc2dpZCAiTGVhdmluZy5cbiIKK21zZ3N0ciAiRGFnLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2PiBbWy1OXSA8cGFydD5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisiICAlMSRzIFtvcHRpZXNdIDxhcHBhcmFhdD4gW1stTl0gPHBhcnRpdGllbnVtbWVyPl1cbiIKKyIgICUxJHMgW29wdGllc10gPG9wZHJhY2h0PlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTIKK21zZ2lkICIiCisiXG4iCisiQ29tbWFuZHM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcGRyYWNodGVuOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTMKK21zZ2lkICIgLUEsIC0tYWN0aXZhdGUgPGRldj4gWzxwYXJ0PiAuLi5dIGxpc3Qgb3Igc2V0IGJvb3RhYmxlIE1CUiBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE0Cittc2dpZCAiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSAodXNhYmxlIGZvciBsYXRlciBpbnB1dClcbiIKK21zZ3N0ciAiIgorCisjIEFORCBleGl0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTUKK21zZ2lkICIgLUosIC0tanNvbiA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlIGluIEpTT04gZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE2Cittc2dpZCAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxkZXY+IC4uLl0gICBsaXN0IGdlb21ldHJ5IG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyMgQU5EIGV4aXQKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCBbPGRldj4gLi4uXSAgICAgICAgICAgIGxpc3QgcGFydGl0aW9ucyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgIHBhcnRpdGllcyB0b25lbiBlbiBzdG9wcGVuXG4iCisKKyMgQU5EIGV4aXQKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxOAorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbGlzdC1mcmVlIFs8ZGV2PiAuLi5dICAgICAgIGxpc3QgdW5wYXJ0aXRpb25lZCBmcmVlIGFyZWFzIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgcGFydGl0aWVzIHRvbmVuIGVuIHN0b3BwZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE5Cittc2dpZCAiIC1yLCAtLXJlb3JkZXIgPGRldj4gICAgICAgICAgICAgICBmaXggcGFydGl0aW9ucyBvcmRlciAoYnkgc3RhcnQgb2Zmc2V0KVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMAorbXNnaWQgIiAtcywgLS1zaG93LXNpemUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCBzaXplcyBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjEKK21zZ2lkICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByZWNvZ25pemVkIHR5cGVzIChzZWUgLVgpXG4iCittc2dzdHIgIiIKKworIyBBTkQgZXhpdAorIzogZGlzay11dGlscy9zZmRpc2suYzoxODIyCittc2dpZCAiIC1WLCAtLXZlcmlmeSBbPGRldj4gLi4uXSAgICAgICAgICB0ZXN0IHdoZXRoZXIgcGFydGl0aW9ucyBzZWVtIGNvcnJlY3RcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjMKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWRlbGV0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gICBkZWxldGUgYWxsIG9yIHNwZWNpZmllZCBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiAgLWQsIC0tZGVsZXRlICAgICAgICAgZ2VnZXZlbiBwYXJ0aXRpZXMgKG9mIGFsbGUpIHZlcndpamRlcmVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNgorbXNnaWQgIiAtLXBhcnQtbGFiZWwgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBsYWJlbFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNworbXNnaWQgIiAtLXBhcnQtdHlwZSA8ZGV2PiA8cGFydD4gWzx0eXBlPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI4Cittc2dpZCAiIC0tcGFydC11dWlkIDxkZXY+IDxwYXJ0PiBbPHV1aWQ+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHV1aWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjkKK21zZ2lkICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gYXR0cmlidXRlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzMgorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgIGRldmljZSAodXN1YWxseSBkaXNrKSBwYXRoXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODMzCittc2dpZCAiIDxwYXJ0PiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzNAorbXNnaWQgIiA8dHlwZT4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiB0eXBlLCBHVUlEIGZvciBHUFQsIGhleCBmb3IgTUJSXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM3Cittc2dpZCAiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgYXBwZW5kIHBhcnRpdGlvbnMgdG8gZXhpc3RpbmcgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM4Cittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAgYmFja3VwIHBhcnRpdGlvbiB0YWJsZSBzZWN0b3JzIChzZWUgLU8pXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgLS1ieXRlcyAgICAgICAgICBncm9vdHRlIGluIGJ5dGVzIHdlZXJnZXZlbiBpbiBwbGFhdHMgdmFuIGluIGxlZXNiYXJlIHZvcm1cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQwCittc2dpZCAiICAgICAtLW1vdmUtZGF0YVs9PHR5cGVzY3JpcHQ+XSBtb3ZlIHBhcnRpdGlvbiBkYXRhIGFmdGVyIHJlbG9jYXRpb24gKHJlcXVpcmVzIC1OKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MQorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGNvbnNpc3RlbmN5IGNoZWNraW5nXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgIC1MLCAtLWNvbG9yWz08d2FubmVlcj5dICAgIGRlIHVpdHZvZXIga2xldXJlbiAoJ2F1dG8nLCAnYWx3YXlzJywgb2YgJ25ldmVyJylcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ1Cittc2dpZCAiIC1OLCAtLXBhcnRubyA8bnVtPiAgICAgICAgc3BlY2lmeSBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ2Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgd3JpdGUgdG8gZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ3Cittc2dpZCAiICAgICAtLW5vLXJlcmVhZCAgICAgICAgICAgZG8gbm90IGNoZWNrIHdoZXRoZXIgdGhlIGRldmljZSBpcyBpbiB1c2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDgKK21zZ2lkICIgICAgIC0tbm8tdGVsbC1rZXJuZWwgICAgICBkbyBub3QgdGVsbCBrZXJuZWwgYWJvdXQgY2hhbmdlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OQorbXNnaWQgIiAtTywgLS1iYWNrdXAtZmlsZSA8cGF0aD4gIG92ZXJyaWRlIGRlZmF1bHQgYmFja3VwIGZpbGUgbmFtZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MAorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLW8sIC0tb3V0cHV0IDxsaWpzdD4gICAgIHRlIHRvbmVuIGtvbG9tbWVuIGluIGRlIHVpdHZvZXJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUxCittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcHJlc3MgZXh0cmEgaW5mbyBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICBleHRyYSBpbmZvcm1hdGllIG9uZGVyZHJ1a2tlblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTIKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtdywgLS13aXBlIDx3YW5uZWVyPiAgICAgdmluZ2VyYWZkcnVra2VuIHdpc3NlbiAoJ2F1dG8nLCAnYWx3YXlzJywgJ25ldmVyJylcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU0Cittc2dpZCAiIC1YLCAtLWxhYmVsIDxuYW1lPiAgICAgICAgc3BlY2lmeSBsYWJlbCB0eXBlIChkb3MsIGdwdCwgLi4uKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NQorbXNnaWQgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPG5hbWU+IHNwZWNpZnkgbmVzdGVkIGxhYmVsIHR5cGUgKGRvcywgYnNkKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NworbXNnaWQgIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIGRlcHJlY2F0ZWQsIGFsaWFzIHRvIC0tc2hvdy1nZW9tZXRyeVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OAorbXNnaWQgIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiIKK21zZ3N0ciAiICAtTCwgLS1MaW51eCAgICAgICAgICAgICAgKHZlcm91ZGVyZCwgc2xlY2h0cyBoZXJrZW5kIHZvb3IgY29tcGF0aWJpbGl0ZWl0KVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTkKK21zZ2lkICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IHNlY3RvciB1bml0IGlzIHN1cHBvcnRlZFxuIgorbXNnc3RyICIiCisKKyMgRGV6ZSBicmVlZHRlIGdlYnJ1aWtlbiwgb20gdGUgcGFzc2VuIGJpaiBkZSBnZXdvbmUgLS1oZWxwLgorIzogZGlzay11dGlscy9zZmRpc2suYzoxODYzIGxvZ2luLXV0aWxzL2NoZm4uYzoxMDIgbG9naW4tdXRpbHMvY2hzaC5jOjc5Cittc2dpZCAiIC12LCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLXYsIC0tdmVyc2lvbiAgICAgcHJvZ3JhbW1hdmVyc2llIHRvbmVuIGVuIHN0b3BwZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxOTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICJvcHRpZSAnJXMnIGlzIHZlcm91ZGVyZDsgZ2VicnVpayAnLS1wYXJ0LXR5cGUnIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NzMKK21zZ2lkICItLWlkIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICJvcHRpZSAnLS1pZCcgaXMgdmVyb3VkZXJkOyBnZWJydWlrICctLXBhcnQtdHlwZSciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk4OQorbXNnaWQgIi0tc2hvdy1wdC1nZW9tZXRyeSBpcyBubyBtb3JlIGltcGxlbWVudGVkLiBVc2luZyAtLXNob3ctZ2VvbWV0cnkuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAwMAorbXNnaWQgIi0tTGludXggb3B0aW9uIGlzIHVubmVjZXNzYXJ5IGFuZCBkZXByZWNhdGVkIgorbXNnc3RyICJkZSBvcHRpZSAnLS1MaW51eCcgaXMgb25ub2RpZyBlbiB2ZXJvdWRlcmQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAyOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0ICclYyciCittc2dzdHIgIm5pZXQtb25kZXJzdGV1bmRlIGVlbmhlaWQgJyVjJyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDMyIGluY2x1ZGUvYy5oOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzXG4iCittc2dzdHIgIiclcycgdWl0ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjEwOQorbXNnaWQgIi0tbW92ZWRhdGEgcmVxdWlyZXMgLU4iCittc2dzdHIgIm9wdGllICctLW1vdmVkYXRhJyB2ZXJlaXN0ICctTiciCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIFVVSUQ6ICVzIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gVVVJRCAnJXMnIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgVVVJRCIKK21zZ3N0ciAiJXM6ICdzZWVrJyBuYWFyIHdpc3NlbGdlaGV1Z2VuLVVVSUQgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIFVVSUQiCittc2dzdHIgIiVzOiBzY2hyaWp2ZW4gdmFuIHdpc3NlbGdlaGV1Z2VuLVVVSUQgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBsYWJlbCAiCittc2dzdHIgIiVzOiAnc2VlaycgbmFhciB3aXNzZWxnZWhldWdlbmxhYmVsIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAibGFiZWwgaXMgdG9vIGxvbmcuIFRydW5jYXRpbmcgaXQgdG8gJyVzJyIKK21zZ3N0ciAibGFiZWwgaXMgdGUgbGFuZzsgd29yZHQgYWZnZWthcHQgdG90ICclcyciCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBsYWJlbCIKK21zZ3N0ciAiJXM6IHNjaHJpanZlbiB2YW4gbGFiZWwgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjEKK21zZ2lkICJEaXNwbGF5IG9yIGNoYW5nZSB0aGUgbGFiZWwgb3IgVVVJRCBvZiBhIHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiVG9vbnQgb2Ygd2lqemlndCBoZXQgbGFiZWwgb2YgZGUgVVVJRCB2YW4gZWVuIHdpc3NlbGdlaGV1Z2VuZ2ViaWVkLlxuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyNAorbXNnaWQgIiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiBzcGVjaWZ5IGEgbmV3IGxhYmVsXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgc3BlY2lmeSBhIG5ldyB1dWlkXG4iCittc2dzdHIgIiIKKyIgIC1MLCAtLWxhYmVsIDxsYWJlbD4gICB0ZSBnZWJydWlrZW4gbmlldXcgbGFiZWxcbiIKKyIgIC1VLCAtLXV1aWQgPFVVSUQ+ICAgICB0ZSBnZWJydWlrZW4gbmlldXdlIFVVSURcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxNjcKK21zZ2lkICJpZ25vcmUgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCkiCittc2dzdHIgIm9wdGllICctVScgd29yZHQgZ2VuZWdlZXJkIChVVUlEJ3Mgd29yZGVuIG5pZXQgb25kZXJzdGV1bmQpIgorCisjOiBpbmNsdWRlL2MuaDoyOTkKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJHZWJydWlrOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMDAKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wdGllczpcbiIKKworIzogaW5jbHVkZS9jLmg6MzAyCittc2dpZCAiIC1oLCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgZGV6ZSBodWxwdGVrc3QgdG9uZW4gZW4gc3RvcHBlblxuIgorCisjOiBpbmNsdWRlL2MuaDozMDMKK21zZ2lkICIgLVYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICBwcm9ncmFtbWF2ZXJzaWUgdG9uZW4gZW4gc3RvcHBlblxuIgorCisjOiBpbmNsdWRlL2MuaDozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkZvciBtb3JlIGRldGFpbHMgc2VlICVzLlxuIgorbXNnc3RyICIiCisiXG4iCisiVm9vciBtZWVyIGluZm9ybWF0aWUgemllICVzLlxuIgorCisjOiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDYgaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzMKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTIgc3lzLXV0aWxzL3J0Y3dha2UuYzoyODAgdGVybS11dGlscy9zZXR0ZXJtLmM6ODA1CisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE1NworbXNnaWQgIndyaXRlIGVycm9yIgorbXNnc3RyICJzY2hyaWpmZm91dCIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyNworbXNnaWQgImNvbG9ycyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICJrbGV1cmVuIHppam4gc3RhbmRhYXJkIGluZ2VzY2hha2VsZCIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyOQorbXNnaWQgImNvbG9ycyBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAia2xldXJlbiB6aWpuIHN0YW5kYWFyZCB1aXRnZXNjaGFrZWxkIgorCisjOiBpbmNsdWRlL2Vudi5oOjE4IGxpYi9wYWdlci5jOjE1MSBsb2dpbi11dGlscy9sb2dpbi5jOjEwNTIKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTA1NiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MjkKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTE2MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyBlbnZpcm9ubWVudCB2YXJpYWJsZSIKK21zZ3N0ciAiaW5zdGVsbGVuIHZhbiBvbWdldmluZ3N2YXJpYWJlbGUgJXMgaXMgbWlzbHVrdCIKKworIzogaW5jbHVkZS9vcHR1dGlscy5oOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGVzZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmU6IgorbXNnc3RyICIlczogZGUgdm9sZ2VuZGUgb3B0aWVzIGdhYW4gbmlldCBzYW1lbjoiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEKK21zZ2lkICJFbXB0eSIKK21zZ3N0ciAibGVlZyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MgorbXNnaWQgIkZBVDEyIgorbXNnc3RyICJGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MworbXNnaWQgIlhFTklYIHJvb3QiCittc2dzdHIgIlhFTklYIHJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQKK21zZ2lkICJYRU5JWCB1c3IiCittc2dzdHIgIlhFTklYIHVzciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NQorbXNnaWQgIkZBVDE2IDwzMk0iCittc2dzdHIgIkZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYKK21zZ2lkICJFeHRlbmRlZCIKK21zZ3N0ciAidWl0Z2VicmVpZCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NworbXNnaWQgIkZBVDE2IgorbXNnc3RyICJGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OAorbXNnaWQgIkhQRlMvTlRGUy9leEZBVCIKK21zZ3N0ciAiSFBGUy9OVEZTL2V4RkFUIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5Cittc2dpZCAiQUlYIgorbXNnc3RyICJBSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwCittc2dpZCAiQUlYIGJvb3RhYmxlIgorbXNnc3RyICJBSVggb3BzdGFydGJhYXIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjExCittc2dpZCAiT1MvMiBCb290IE1hbmFnZXIiCittc2dzdHIgIk9TLzIgb3BzdGFydG1hbmFnZXIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEyCittc2dpZCAiVzk1IEZBVDMyIgorbXNnc3RyICJXOTUgRkFUMzIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEzCittc2dpZCAiVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICJXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE0Cittc2dpZCAiVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICJXOTUgRkFUMTYgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE1Cittc2dpZCAiVzk1IEV4dCdkIChMQkEpIgorbXNnc3RyICJXOTUgdWl0Z2ViLiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTYKK21zZ2lkICJPUFVTIgorbXNnc3RyICJPUFVTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNworbXNnaWQgIkhpZGRlbiBGQVQxMiIKK21zZ3N0ciAidmVyYm9yZ2VuIEZBVDEyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOAorbXNnaWQgIkNvbXBhcSBkaWFnbm9zdGljcyIKK21zZ3N0ciAiQ29tcGFxIGRpYWdub3N0aWVrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOQorbXNnaWQgIkhpZGRlbiBGQVQxNiA8MzJNIgorbXNnc3RyICJ2ZXJib3JnZW4gRkFUMTYgPDMyTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjAKK21zZ2lkICJIaWRkZW4gRkFUMTYiCittc2dzdHIgInZlcmJvcmdlbiBGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjEKK21zZ2lkICJIaWRkZW4gSFBGUy9OVEZTIgorbXNnc3RyICJ2ZXJib3JnZW4gSFBGUy9OVEZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMgorbXNnaWQgIkFTVCBTbWFydFNsZWVwIgorbXNnc3RyICJBU1QgU21hcnRTbGVlcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjMKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIgorbXNnc3RyICJ2ZXJib3JnZW4gVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNAorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgInZlcmIuIFc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjUKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICJ2ZXJiLiBXOTUgRkFUMTYgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI2Cittc2dpZCAiTkVDIERPUyIKK21zZ3N0ciAiTkVDIERPUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjcKK21zZ2lkICJIaWRkZW4gTlRGUyBXaW5SRSIKK21zZ3N0ciAidmVyYm9yZ2VuIE5URlMgV2luUkUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI4Cittc2dpZCAiUGxhbiA5IgorbXNnc3RyICJQbGFuIDkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI5Cittc2dpZCAiUGFydGl0aW9uTWFnaWMgcmVjb3ZlcnkiCittc2dzdHIgIlBhcnRpdGlvbk1hZ2ljIHJlY292ZXJ5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMAorbXNnaWQgIlZlbml4IDgwMjg2IgorbXNnc3RyICJWZW5peCA4MDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzEKK21zZ2lkICJQUEMgUFJlUCBCb290IgorbXNnc3RyICJQUEMgUFJlUCBvcHN0YXJ0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMgorbXNnaWQgIlNGUyIKK21zZ3N0ciAiU0ZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMworbXNnaWQgIlFOWDQueCIKK21zZ3N0ciAiUU5YNC54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNAorbXNnaWQgIlFOWDQueCAybmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IDJkZSBkZWVsIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNQorbXNnaWQgIlFOWDQueCAzcmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IDNkZSBkZWVsIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNgorbXNnaWQgIk9uVHJhY2sgRE0iCittc2dzdHIgIk9uVHJhY2sgRE0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM3Cittc2dpZCAiT25UcmFjayBETTYgQXV4MSIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzgKK21zZ2lkICJDUC9NIgorbXNnc3RyICJDUC9NIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOQorbXNnaWQgIk9uVHJhY2sgRE02IEF1eDMiCittc2dzdHIgIk9uVHJhY2sgRE02IEF1eDMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQwCittc2dpZCAiT25UcmFja0RNNiIKK21zZ3N0ciAiT25UcmFjayBETTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQxCittc2dpZCAiRVotRHJpdmUiCittc2dzdHIgIkVaLURyaXZlIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MgorbXNnaWQgIkdvbGRlbiBCb3ciCittc2dzdHIgIkdvbGRlbiBCb3ciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQzCittc2dpZCAiUHJpYW0gRWRpc2siCittc2dzdHIgIlByaWFtIEVkaXNrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MQorIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTkKK21zZ2lkICJTcGVlZFN0b3IiCittc2dzdHIgIlNwZWVkU3RvciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDUKK21zZ2lkICJHTlUgSFVSRCBvciBTeXNWIgorbXNnc3RyICJHTlUgSFVSRCAvIFN5c1YiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ2Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMjg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ3Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMzg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAzODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ4Cittc2dpZCAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorbXNnc3RyICJEaXNrU2VjdXJlIE11bHRpQm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDkKK21zZ2lkICJQQy9JWCIKK21zZ3N0ciAiUEMvSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUwCittc2dpZCAiT2xkIE1pbml4IgorbXNnc3RyICJvdWRlIE1pbml4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MQorbXNnaWQgIk1pbml4IC8gb2xkIExpbnV4IgorbXNnc3RyICJNaW5peCAvIG91ZGUgTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUyCittc2dpZCAiTGludXggc3dhcCAvIFNvbGFyaXMiCittc2dzdHIgIkxpbnV4IHdpc3NlbGdlaGV1Z2VuIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MworbXNnaWQgIkxpbnV4IgorbXNnc3RyICJMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTQKK21zZ2lkICJPUy8yIGhpZGRlbiBvciBJbnRlbCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiT1MvMiB2ZXJib3JnZW4gb2YgSW50ZWwgaGliZXJuYXRpZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTcKK21zZ2lkICJMaW51eCBleHRlbmRlZCIKK21zZ3N0ciAiTGludXggdWl0Z2VicmVpZCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTkKK21zZ2lkICJOVEZTIHZvbHVtZSBzZXQiCittc2dzdHIgIk5URlMgdm9sdW1lbnNldCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjAKK21zZ2lkICJMaW51eCBwbGFpbnRleHQiCittc2dzdHIgIkxpbnV4IHBsYWludGV4dCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjEgbGliZmRpc2svc3JjL2dwdC5jOjIwNSBsaWJmZGlzay9zcmMvc2dpLmM6NjMKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1NAorbXNnaWQgIkxpbnV4IExWTSIKK21zZ3N0ciAiTGludXggTFZNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MgorbXNnaWQgIkFtb2ViYSIKK21zZ3N0ciAiQW1vZWJhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MworbXNnaWQgIkFtb2ViYSBCQlQiCittc2dzdHIgIkFtb2ViYSBCQlQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY0Cittc2dpZCAiQlNEL09TIgorbXNnc3RyICJCU0QvT1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY1Cittc2dpZCAiSUJNIFRoaW5rcGFkIGhpYmVybmF0aW9uIgorbXNnc3RyICJJQk0gVGhpbmtwYWQgaGliZXJuYXRpZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjYKK21zZ2lkICJGcmVlQlNEIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NworbXNnaWQgIk9wZW5CU0QiCittc2dzdHIgIk9wZW5CU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY4Cittc2dpZCAiTmVYVFNURVAiCittc2dzdHIgIk5lWFRTVEVQIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OQorbXNnaWQgIkRhcndpbiBVRlMiCittc2dzdHIgIkRhcndpbiBVRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcwCittc2dpZCAiTmV0QlNEIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcxCittc2dpZCAiRGFyd2luIGJvb3QiCittc2dzdHIgIkRhcndpbiBvcHN0YXJ0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MgorbXNnaWQgIkhGUyAvIEhGUysiCittc2dzdHIgIkhGUyAvIEhGUysiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjczCittc2dpZCAiQlNESSBmcyIKK21zZ3N0ciAiQlNESS1iZXN0YW5kc3N5c3RlZW0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc0Cittc2dpZCAiQlNESSBzd2FwIgorbXNnc3RyICJCU0RJLXdpc3NlbGdlaGV1Z2VuIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NQorbXNnaWQgIkJvb3QgV2l6YXJkIGhpZGRlbiIKK21zZ3N0ciAiQm9vdFdpemFyZCB2ZXJib3JnZW4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc2Cittc2dpZCAiQWNyb25pcyBGQVQzMiBMQkEiCittc2dzdHIgIkFjcm9uaXMgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc3IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzAKK21zZ2lkICJTb2xhcmlzIGJvb3QiCittc2dzdHIgIlNvbGFyaXMgb3BzdGFydCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzgKK21zZ2lkICJTb2xhcmlzIgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTEyKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQxMikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgwCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVDE2IDwzMk0pIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2KSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQxNikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgyCittc2dpZCAiU3lyaW54IgorbXNnc3RyICJTeXJpbngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgzCittc2dpZCAiTm9uLUZTIGRhdGEiCittc2dzdHIgIm5vbi1CUy1nZWdldmVucyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiQ1AvTSAvIENUT1MgLyAuLi4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg2Cittc2dpZCAiRGVsbCBVdGlsaXR5IgorbXNnc3RyICJEZWxsIFV0aWxpdHkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg3Cittc2dpZCAiQm9vdEl0IgorbXNnc3RyICJCb290SXQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg4Cittc2dpZCAiRE9TIGFjY2VzcyIKK21zZ3N0ciAiRE9TIGFjY2VzcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTAKK21zZ2lkICJET1MgUi9PIgorbXNnc3RyICJET1MgUi9PIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MworbXNnaWQgIlJ1ZnVzIGFsaWdubWVudCIKK21zZ3N0ciAiUnVmdXMgdWl0bGlqbmluZyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTQKK21zZ2lkICJCZU9TIGZzIgorbXNnc3RyICJCZU9TIGJlc3RhbmRzc3lzdGVlbSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTYKK21zZ2lkICJFRkkgKEZBVC0xMi8xNi8zMikiCittc2dzdHIgIkVGSSAoRkFULTEyLzE2LzMyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTcKK21zZ2lkICJMaW51eC9QQS1SSVNDIGJvb3QiCittc2dzdHIgIkxpbnV4L1BBLVJJU0Mgb3BzdGFydCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAwCittc2dpZCAiRE9TIHNlY29uZGFyeSIKK21zZ3N0ciAiRE9TIHNlY3VuZGFpciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAxCittc2dpZCAiVk13YXJlIFZNRlMiCittc2dzdHIgIlZNd2FyZSBWTUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDIKK21zZ2lkICJWTXdhcmUgVk1LQ09SRSIKK21zZ3N0ciAiVk13YXJlIHZta2NvcmUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMyBsaWJmZGlzay9zcmMvc3VuLmM6NTUKK21zZ2lkICJMaW51eCByYWlkIGF1dG9kZXRlY3QiCittc2dzdHIgIkxpbnV4IHJhaWRhdXRvZGV0ZWN0aWUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwNgorbXNnaWQgIkxBTnN0ZXAiCittc2dzdHIgIkxBTnN0ZXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwNworbXNnaWQgIkJCVCIKK21zZ3N0ciAiQkJUIgorCisjOiBsaWIvYmxrZGV2LmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzIGlzIG1pc2FsaWduZWQiCittc2dzdHIgIndhYXJzY2h1d2luZzogJXMgaXMgZ2VlbiBibG9rLWFwcGFyYWF0IgorCisjOiBsaWJmZGlzay9zcmMvYWxpZ25tZW50LmM6NjcyCittc2dpZCAiQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiQWFucm9lcGVuIHZhbiBpb2N0bCgpIG9tIHBhcnRpdGlldGFiZWwgb3BuaWV1dyBpbiB0ZSBsZXplbi4uLiIKKworIzogbGliZmRpc2svc3JjL2FsaWdubWVudC5jOjY4MQorbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuIgorbXNnc3RyICJIZXJpbmxlemVuIHZhbiBwYXJ0aXRpZXRhYmVsIGlzIG1pc2x1a3QuIgorCisjOiBsaWJmZGlzay9zcmMvYWxpZ25tZW50LmM6NjgzCittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgdGFibGUuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdCBvciBhZnRlciB5b3UgcnVuIHBhcnRwcm9iZSg4KSBvciBrcGFydHgoOCkuIgorbXNnc3RyICIiCisiRGUga2VybmVsIGdlYnJ1aWt0IG5vZyBkZSBvdWRlIHRhYmVsLiAgRGUgbmlldXdlIHRhYmVsIHdvcmR0IGFsbGVlbiBuYVxuIgorIm9wbmlldXcgb3BzdGFydGVuIGdlYnJ1aWt0LCBvZiBuYSB1aXR2b2VyZW4gdmFuIHBhcnRwcm9iZSg4KSBvZiBrcGFydHgoOCkuIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDcyIGxpYmZkaXNrL3NyYy9hc2suYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0ZWQgcGFydGl0aW9uICVqdSIKK21zZ3N0ciAiR2VzZWxlY3RlZXJkZSBwYXJ0aXRpZSBpcyAlanUiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0NzUKK21zZ2lkICJObyBwYXJ0aXRpb24gaXMgZGVmaW5lZCB5ZXQhIgorbXNnc3RyICJFciB6aWpuIG5vZyBnZWVuIHBhcnRpdGllcyBnZWRlZmluaWVlcmQhIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDg3Cittc2dpZCAiTm8gZnJlZSBwYXJ0aXRpb24gYXZhaWxhYmxlISIKK21zZ3N0ciAiR2VlbiB2cmlqZSBwYXJ0aXRpZSBiZXNjaGlrYmFhciEiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0OTcKK21zZ2lkICJQYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJQYXJ0aXRpZW51bW1lciIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjk5NAorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IHBhcnRpdGlvbiAlZCBvZiB0eXBlICclcycgYW5kIG9mIHNpemUgJXMuIgorbXNnc3RyICJOaWV1d2UgcGFydGl0aWUgJWQgdmFuIHR5cGUgJyVzJyBlbiBncm9vdHRlICVzIGlzIGFhbmdlbWFha3QuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlemQ6IGhhcyBpbnZhbGlkIHN0YXJ0aW5nIHNlY3RvciAwLiIKK21zZ3N0ciAiUGFydGl0aWUgJXpkIGhlZWZ0IG9uZ2VsZGlnZSBiZWdpbnNlY3RvciAwLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE4MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGVyZSBpcyBubyAqQlNEIHBhcnRpdGlvbiBvbiAlcy4iCittc2dzdHIgIkVyIGlzIGdlZW4gKkJTRC1wYXJ0aXRpZSBvcCAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTkgbGliZmRpc2svc3JjL2Rvcy5jOjkzMworbXNnaWQgIkZpcnN0IGN5bGluZGVyIgorbXNnc3RyICJFZXJzdGUgY2lsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTIgbGliZmRpc2svc3JjL2Rvcy5jOjExNjEKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIkxhYXRzdGUgY2lsaW5kZXIsICtjaWxpbmRlcnMsIG9mICtncm9vdHRle0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTcgbGliZmRpc2svc3JjL2Rvcy5jOjExNjYgbGliZmRpc2svc3JjL2dwdC5jOjIyNTUKK21zZ2lkICJMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiTGFhdHN0ZSBzZWN0b3IsICtzZWN0b3Jlbiwgb2YgK2dyb290dGV7SyxNLEcsVCxQfSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGV2aWNlICVzIGRvZXMgbm90IGNvbnRhaW4gQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIkFwcGFyYWF0ICVzIGJldmF0IGdlZW4gQlNELXNjaGlqZmxhYmVsLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MworbXNnaWQgIkRvIHlvdSB3YW50IHRvIGNyZWF0ZSBhIEJTRCBkaXNrbGFiZWw/IgorbXNnc3RyICJXaWx0IHUgZWVuIEJTRC1zY2hpamZsYWJlbCBhYW5tYWtlbj8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NDkKK21zZ2lkICJEaXNrIgorbXNnc3RyICJTY2hpamYiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NTYKK21zZ2lkICJQYWNrbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDYzIGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE3Cittc2dpZCAiRmxhZ3MiCittc2dzdHIgIlZsYWciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjYKK21zZ2lkICIgcmVtb3ZhYmxlIgorbXNnc3RyICIgdmVyd2lqZGVyYmFhciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NworbXNnaWQgIiBlY2MiCittc2dzdHIgIiBlY2MiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjgKK21zZ2lkICIgYmFkc2VjdCIKK21zZ3N0ciAiIHNsZWNodGVfc2VjdG9yZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NzYKK21zZ2lkICJCeXRlcy9TZWN0b3IiCittc2dzdHIgIkJ5dGVzL1NlY3RvciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4MQorbXNnaWQgIlRyYWNrcy9DeWxpbmRlciIKK21zZ3N0ciAiU3BvcmVuL0NpbGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDg2Cittc2dpZCAiU2VjdG9ycy9DeWxpbmRlciIKK21zZ3N0ciAiU2VjdG9yZW4vQ2lsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTggbGliZmRpc2svc3JjL2Rvcy5jOjIzMDMKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU3IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTYgbGliZmRpc2svc3JjL3N1bi5jOjExMTMKK21zZ2lkICJDeWxpbmRlcnMiCittc2dzdHIgIkNpbGluZGVycyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5NiBsaWJmZGlzay9zcmMvc3VuLmM6NzYwCittc2dpZCAiUnBtIgorbXNnc3RyICJSUE0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDEgbGliZmRpc2svc3JjL3NnaS5jOjI5MiBsaWJmZGlzay9zcmMvc3VuLmM6NzgwCittc2dpZCAiSW50ZXJsZWF2ZSIKK21zZ3N0ciAiVHVzc2VucnVpbXRlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTA2Cittc2dpZCAiVHJhY2tza2V3IgorbXNnc3RyICJUcmFja3NrZXciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTEKK21zZ2lkICJDeWxpbmRlcnNrZXciCittc2dzdHIgIkNpbGluZGVyc2tldyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxNgorbXNnaWQgIkhlYWRzd2l0Y2giCittc2dzdHIgIktvcG92ZXJzY2hha2VsaW5nIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTIxCittc2dpZCAiVHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAiU3Bvb3ItdG90LXNwb29yICdzZWVrJyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMQorbXNnaWQgImJ5dGVzL3NlY3RvciIKK21zZ3N0ciAiYnl0ZXMvc2VjdG9yIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE0Cittc2dpZCAic2VjdG9ycy90cmFjayIKK21zZ3N0ciAic2VjdG9yZW4vc3Bvb3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTUKK21zZ2lkICJ0cmFja3MvY3lsaW5kZXIiCittc2dzdHIgInNwb3Jlbi9jaWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNgorbXNnaWQgImN5bGluZGVycyIKK21zZ3N0ciAiY2lsaW5kZXJzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIwCittc2dpZCAic2VjdG9ycy9jeWxpbmRlciIKK21zZ3N0ciAic2VjdG9yZW4vY2lsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjMKK21zZ2lkICJycG0iCittc2dzdHIgInJwbSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNAorbXNnaWQgImludGVybGVhdmUiCittc2dzdHIgInR1c3NlbnJ1aW10ZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNQorbXNnaWQgInRyYWNrc2tldyIKK21zZ3N0ciAidHJhY2tza2V3IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI2Cittc2dpZCAiY3lsaW5kZXJza2V3IgorbXNnc3RyICJjaWxpbmRlcnNrZXciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjgKK21zZ2lkICJoZWFkc3dpdGNoIgorbXNnc3RyICJvdmVyc2NoYWtlbGVuIHZhbiBrb3AiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjkKK21zZ2lkICJ0cmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICJzcG9vci10b3Qtc3Bvb3IgJ3NlZWsnIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290c3RyYXAgZmlsZSAlcyBzdWNjZXNzZnVsbHkgbG9hZGVkLiIKK21zZ3N0ciAiQm9vdHN0cmFwLWJlc3RhbmQgJXMgaXMgbWV0IHN1Y2NlcyBnZWxhZGVuLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY3MworIywgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXA6ICUxJHNib290IC0+IGJvb3QlMSRzIChkZWZhdWx0ICUxJHMpIgorbXNnc3RyICJCb290c3RyYXA6ICUxJHNib290IC0+IGJvb3QlMSRzIChzdGFuZGFhcmQgJTEkcykiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MDQKK21zZ2lkICJCb290c3RyYXAgb3ZlcmxhcHMgd2l0aCBkaXNrbGFiZWwhIgorbXNnc3RyICJCb290c3RyYXAgb3ZlcmxhcHQgbWV0IHNjaGlqZmxhYmVsISIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcyOAorIywgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXAgaW5zdGFsbGVkIG9uICVzLiIKK21zZ3N0ciAiQm9vdHN0cmFwIGlzIGdlw69uc3RhbGxlZXJkIG9wICVzLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwMAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4gIChEb24ndCBmb3JnZXQgdG8gd3JpdGUgdGhlICVzIGRpc2tsYWJlbCB0b28uKSIKK21zZ3N0ciAiU2NoaWpmbGFiZWwgaXMgZ2VzY2hyZXZlbiBuYWFyICVzLiAgKFZlcmdlZXQgbmlldCBvbSBvb2sgaGV0ICVzLWxhYmVsIHRlIHNjaHJpanZlbi4pIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiIKK21zZ3N0ciAiU2NoaWpmbGFiZWwgaXMgZ2VzY2hyZXZlbiBuYWFyICVzLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwOSBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY2NgorbXNnaWQgIlN5bmNpbmcgZGlza3MuIgorbXNnc3RyICJMZWVnbWFrZW4gdmFuIHNjaGlqZmJ1ZmZlcnMuLi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NTAKK21zZ2lkICJCU0QgbGFiZWwgaXMgbm90IG5lc3RlZCB3aXRoaW4gYSBET1MgcGFydGl0aW9uLiIKK21zZ3N0ciAiQlNELWxhYmVsIGlzIG5pZXQgZ2VuZXN0IGJpbm5lbiBlZW4gRE9TLXBhcnRpdGllLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk3OAorIywgYy1mb3JtYXQKK21zZ2lkICJCU0QgcGFydGl0aW9uICclYycgbGlua2VkIHRvIERPUyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiQlNELXBhcnRpdGllICclYycgaXMgZ2Vrb3BwZWxkIGFhbiBET1MtcGFydGl0aWUgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMTQKK21zZ2lkICJTbGljZSIKK21zZ3N0ciAiU2xpY2UiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIxCittc2dpZCAiRnNpemUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjIKK21zZ2lkICJCc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMworbXNnaWQgIkNwZyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2UgZGV2aWNlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHNsdWl0ZW4gdmFuIGFwcGFyYWF0IGlzIG1pc2x1a3QiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODI3Cittc2dpZCAiY3lsaW5kZXIiCittc2dpZF9wbHVyYWwgImN5bGluZGVycyIKK21zZ3N0clswXSAiY2lsaW5kZXIiCittc2dzdHJbMV0gImNpbGluZGVycyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4MjgKK21zZ2lkICJzZWN0b3IiCittc2dpZF9wbHVyYWwgInNlY3RvcnMiCittc2dzdHJbMF0gInNlY3RvciIKK21zZ3N0clsxXSAic2VjdG9yZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6MTEzMQorbXNnaWQgIkluY29tcGxldGUgZ2VvbWV0cnkgc2V0dGluZy4iCittc2dzdHIgIk9udm9sbGVkaWdlIGdlb21ldHJpZS1pbnN0ZWxsaW5nLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxNAorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgaGF2ZSBiZWVuIGRlZmluZWQgYWxyZWFkeS4iCittc2dzdHIgIkFsbGUgcHJpbWFpcmUgcGFydGl0aWVzIHppam4gYWwgZ2VkZWZpbmllZXJkLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBleHRlbmRlZCBwYXJ0aXRpb24gdGFibGUgKG9mZnNldD0lanUpIgorbXNnc3RyICJMZXplbiB2YW4gdWl0Z2VicmVpZGUgcGFydGl0aWV0YWJlbCBpcyBtaXNsdWt0IChwb3NpdGllPSVqdSkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMjgKK21zZ2lkICJZb3UgY2FuIHNldCBnZW9tZXRyeSBmcm9tIHRoZSBleHRyYSBmdW5jdGlvbnMgbWVudS4iCittc2dzdHIgIlUga3VudCBkZSBnZW9tZXRyaWUgaW5zdGVsbGVuIGluIGhldCBtZW51IG1ldCBleHRyYSBmdW5jdGllcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMzEKK21zZ2lkICJET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIgorbXNnc3RyICJET1MtY29tcGF0aWJpbGl0ZWl0c21vZHVzIGlzIHZlcm91ZGVyZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMzUKK21zZ2lkICJUaGUgZGV2aWNlIHByZXNlbnRzIGEgbG9naWNhbCBzZWN0b3Igc2l6ZSB0aGF0IGlzIHNtYWxsZXIgdGhhbiB0aGUgcGh5c2ljYWwgc2VjdG9yIHNpemUuIEFsaWduaW5nIHRvIGEgcGh5c2ljYWwgc2VjdG9yIChvciBvcHRpbWFsIEkvTykgc2l6ZSBib3VuZGFyeSBpcyByZWNvbW1lbmRlZCwgb3IgcGVyZm9ybWFuY2UgbWF5IGJlIGltcGFjdGVkLiIKK21zZ3N0ciAiIgorIk9wIGhldCBhcHBhcmFhdCBpcyBkZSBsb2dpc2NoZSBzZWN0b3Jncm9vdHRlIGtsZWluZXIgZGFuIGRlIGZ5c2lla2UuXG4iCisiVWl0bGlqbmluZyBvcCBlZW4gZnlzaWVrZSBzZWN0b3JncmVucyAob2Ygb3B0aW1hbGUgaW4tL3VpdHZvZXJncm9vdHRlKVxuIgorIndvcmR0IGFhbmdlcmFkZW4sIGFuZGVycyBrdW5uZW4gZGUgcHJlc3RhdGllcyBlciBvbmRlciBsaWpkZW4uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQxCittc2dpZCAiQ3lsaW5kZXJzIGFzIGRpc3BsYXkgdW5pdHMgYXJlIGRlcHJlY2F0ZWQuIgorbXNnc3RyICJDaWxpbmRlcnMgYWxzIHdlZXJnYXZlLWVlbmhlaWQgemlqbiB2ZXJvdWRlcmQuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBzaXplIG9mIHRoaXMgZGlzayBpcyAlcyAoJWp1IGJ5dGVzKS4gRE9TIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgY2FuIG5vdCBiZSB1c2VkIG9uIGRyaXZlcyBmb3Igdm9sdW1lcyBsYXJnZXIgdGhhbiAlbHUgYnl0ZXMgZm9yICVsdS1ieXRlIHNlY3RvcnMuIFVzZSBHVUlEIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgKEdQVCkuIgorbXNnc3RyICIiCisiV0FBUlNDSFVXSU5HOiBEZSBncm9vdHRlIHZhbiBkZXplIHNjaGlqZiBpcyAlcyAoJWp1IGJ5dGVzKS5cbiIKKyJFZW4gRE9TLXBhcnRpdGlldGFiZWwgaXMgbmlldCBtb2dlbGlqayBvcCB2b2x1bWVucyBkaWUgZ3JvdGVyXG4iCisiemlqbiBkYW4gJWx1IGJ5dGVzIChiaWogc2VjdG9yZW4gdmFuICVsdSBieXRlcykuXG4iCisiR2VicnVpayBHTlUgcGFydGVkKDEpIGVuIGVlbiBHVUlELXBhcnRpdGlldGFiZWwgKEdQVCkuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTAzCittc2dpZCAiQmFkIG9mZnNldCBpbiBwcmltYXJ5IGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIk9uZ2VsZGlnZSBwbGFhdHMgaW4gcHJpbWFpcmUgdWl0Z2VicmVpZGUgcGFydGl0aWUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIk9taXR0aW5nIHBhcnRpdGlvbnMgYWZ0ZXIgIyV6dS4gVGhleSB3aWxsIGJlIGRlbGV0ZWQgaWYgeW91IHNhdmUgdGhpcyBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICIiCisiUGFydGl0aWVzIG5hICMlenUgd29yZGVuIHdlZ2dlbGF0ZW4uXG4iCisiWmUgenVsbGVuIHdvcmRlbiAqdmVyd2lqZGVyZCogYWxzIHUgZGV6ZSBwYXJ0aXRpZXRhYmVsIG9wc2xhYXQuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4dHJhIGxpbmsgcG9pbnRlciBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiRXh0cmEga29wcGVsaW5nc3ZlcndpanplciBpbiBwYXJ0aXRpZXRhYmVsICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZGF0YSBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiRXh0cmEgZ2VnZXZlbnMgaW4gcGFydGl0aWV0YWJlbCAlenUgd29yZGVuIGdlbmVnZWVyZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAib21pdHRpbmcgZW1wdHkgcGFydGl0aW9uICglenUpIgorbXNnc3RyICJsZWdlIHBhcnRpdGllICglenUpIHdvcmR0IHdlZ2dlbGF0ZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC4iCittc2dzdHIgIk5pZXV3IERPUy1zY2hpamZsYWJlbCBpcyBhYW5nZW1hYWt0IG1ldCBzY2hpamYtSUQgMHglMDh4LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY4NQorbXNnaWQgIkVudGVyIHRoZSBuZXcgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJWb2VyIGRlIG5pZXV3ZSBzY2hpamYtSUQgaW4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2OTIKK21zZ2lkICJJbmNvcnJlY3QgdmFsdWUuIgorbXNnc3RyICJPbmdlbGRpZ2Ugd2FhcmRlLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcwMQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tIDB4JTA4eCB0byAweCUwOHguIgorbXNnc3RyICJTY2hpamYtSUQgaXMgZ2V3aWp6aWdkIHZhbiAweCUwOHggbmFhciAweCUwOHguIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGV4dGVuZGVkIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIkV4dHJhIHVpdGdlYnJlaWRlIHBhcnRpdGllICV6dSB3b3JkdCBnZW5lZ2VlcmQuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgZmxhZyAweCUwMnglMDJ4IG9mIEVCUiAoZm9yIHBhcnRpdGlvbiAlenUpIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkuIgorbXNnc3RyICJPbmp1aXN0ZSBvcHRpZSAweCUwMnglMDJ4IHZhbiBFQlIgKHZvb3IgcGFydGl0aWUgJXp1KSB6YWwgd29yZGVuIGdlY29ycmlnZWVyZCBiaWogaGV0IHNjaHJpanZlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo5MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgc2VjdG9yICVqdSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJTdGFydHNlY3RvciAlanUgdmFsdCBidWl0ZW4gYmVyZWlrLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwMjYgbGliZmRpc2svc3JjL2dwdC5jOjIxMzYgbGliZmRpc2svc3JjL3NnaS5jOjgzOQorIzogbGliZmRpc2svc3JjL3N1bi5jOjUxNworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKK21zZ3N0ciAiUGFydGl0aWUgJXp1IGlzIGFsIGdlZGVmaW5pZWVyZC4gIFZlcndpamRlciBkZXplIGVlcnN0LCBlbiB2b2VnIGhlbSBkYW4gb3BuaWV1dyB0b2UuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTA5NgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWxsdSBpcyBhbHJlYWR5IGFsbG9jYXRlZC4iCittc2dzdHIgIlNlY3RvciAlbGx1IGlzIGFsIGdlcmVzZXJ2ZWVyZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTMzIGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQ2Cittc2dpZCAiTm8gZnJlZSBzZWN0b3JzIGF2YWlsYWJsZS4iCittc2dzdHIgIkdlZW4gdnJpamUgc2VjdG9yZW4gYmVzY2hpa2JhYXIuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJMb2dpc2NoZSBwYXJ0aXRpZSAlenUgd29yZHQgdG9lZ2V2b2VnZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGNvbnRhaW5zIHNlY3RvciAwIgorbXNnc3RyICJQYXJ0aXRpZSAlenUgYmV2YXQgc2VjdG9yIDAuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMxOAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBoZWFkICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVkIgorbXNnc3RyICJQYXJ0aXRpZSAlenU6IGtvcG51bW1lciAlZCBpcyBncm90ZXIgZGFuIG1heGltdW0gJWQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHNlY3RvciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICJQYXJ0aXRpZSAlenU6IHNlY3Rvcm51bW1lciAlZCBpcyBncm90ZXIgZGFuIG1heGltdW0gJWxsdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY3lsaW5kZXIgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiUGFydGl0aWUgJXp1OiBjaWxpbmRlcm51bW1lciAlZCBpcyBncm90ZXIgZGFuIG1heGltdW0gJWxsdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogcHJldmlvdXMgc2VjdG9ycyAldSBkaXNhZ3JlZXMgd2l0aCB0b3RhbCAldSIKK21zZ3N0ciAiUGFydGl0aWUgJXp1OiBlaW5kZSB2YW4gdm9yaWdlIHBhcnRpdGllIGluIHNlY3RvcmVuICV1IHZlcnNjaGlsdCB2YW4gdG90YWFsICV1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM4MworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBiZWdpbm5pbmdzIChub24tTGludXg/KTogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICJQYXJ0aXRpZSAlenUgaGVlZnQgdmVyc2NoaWxsZW5kZSBmeXNpZWtlL2xvZ2lzY2hlIGVpbmRwdW50ZW4gKG5pZXQtTGludXg/KTogZnlzaWVrPSglZCwgJWQsICVkKSwgbG9naXNjaD0oJWQsICVkLCAlZCkuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM5NAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBlbmRpbmdzOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIlBhcnRpdGllICV6dSBoZWVmdCB2ZXJzY2hpbGxlbmRlIGZ5c2lla2UvbG9naXNjaGUgZWluZHB1bnRlbjogZnlzaWVrPSglZCwgJWQsICVkKSwgbG9naXNjaD0oJWQsICVkLCAlZCkuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQwMworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJQYXJ0aXRpZSAlenUgZWluZGlndCBuaWV0IG9wIGVlbiBjaWxpbmRlcmdyZW5zLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogYmFkIHN0YXJ0LW9mLWRhdGEuIgorbXNnc3RyICJQYXJ0aXRpZSAlenUgaGVlZnQgb25qdWlzdCBiZWdpbiB2YW4gZ2VnZXZlbnNnZWJpZWQuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ0MgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBvdmVybGFwcyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiUGFydGl0aWUgJXp1IG92ZXJsYXB0IHBhcnRpdGllICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGVtcHR5LiIKK21zZ3N0ciAiUGFydGl0aWUgJXp1IGlzIGxlZWcuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ3MworIywgYy1mb3JtYXQKK21zZ2lkICJMb2dpY2FsIHBhcnRpdGlvbiAlenU6IG5vdCBlbnRpcmVseSBpbiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiTG9naXNjaGUgcGFydGl0aWUgJXp1IGxpZ3QgbmlldCBnZWhlZWwgYmlubmVuIHBhcnRpdGllICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDgxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRvdGFsIGFsbG9jYXRlZCBzZWN0b3JzICVsbHUgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtICVsbHUuIgorbXNnc3RyICJUb3RhYWwgYWFudGFsIGdlcmVzZXJ2ZWVyZGUgc2VjdG9yZW4gKCVsbHUpIGlzIGdyb3RlciBkYW4gbWF4aW11bSAlbGx1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVtYWluaW5nICVsbGQgdW5hbGxvY2F0ZWQgJWxkLWJ5dGUgc2VjdG9ycy4iCittc2dzdHIgIkVyIHJlc3RlcmVuICVsbGQgbmlldC1nZXJlc2VydmVlcmRlIHNlY3RvcmVuIHZhbiAlbGQgYnl0ZXMuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUzMiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1NAorbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgIlVpdGdlYnJlaWRlIHBhcnRpdGllIGJlc3RhYXQgYWwuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU3NQorbXNnaWQgIlRoZSBtYXhpbXVtIG51bWJlciBvZiBwYXJ0aXRpb25zIGhhcyBiZWVuIGNyZWF0ZWQuIgorbXNnc3RyICJIZXQgbWF4aW11bSBhYW50YWwgcGFydGl0aWVzIGlzIGFhbmdlbWFha3QuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU4NworbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4iCittc2dzdHIgIkFsbGUgcHJpbWFpcmUgcGFydGl0aWVzIHppam4gaW4gZ2VicnVpay4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTg5IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjAwCittc2dpZCAiQWxsIHNwYWNlIGZvciBwcmltYXJ5IHBhcnRpdGlvbnMgaXMgaW4gdXNlLiIKK21zZ3N0ciAiQWxsZSBydWltdGUgdm9vciBwcmltYWlyZSBwYXJ0aXRpZXMgaXMgaW4gZ2VicnVpay4iCisKKyMuIFRSQU5TTEFUT1JTOiBUcnkgdG8ga2VlcCB0aGlzIHdpdGhpbiA4MCBjaGFyYWN0ZXJzLgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDMKK21zZ2lkICJUbyBjcmVhdGUgbW9yZSBwYXJ0aXRpb25zLCBmaXJzdCByZXBsYWNlIGEgcHJpbWFyeSB3aXRoIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIlZlcnZhbmcgdm9vciBtZWVyIHBhcnRpdGllcyBlZXJzdCBlZW4gcHJpbWFpcmUgcGFydGl0aWUgZG9vciBlZW4gdWl0Z2VicmVpZGUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYwOAorbXNnaWQgIkFsbCBsb2dpY2FsIHBhcnRpdGlvbnMgYXJlIGluIHVzZS4gQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb24uIgorbXNnc3RyICJBbGxlIGxvZ2lzY2hlIHBhcnRpdGllcyB6aWpuIGluIGdlYnJ1aWsuICBFZW4gcHJpbWFpcmUgcGFydGl0aWUgd29yZHQgdG9lZ2V2b2VnZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjMwCittc2dpZCAiUGFydGl0aW9uIHR5cGUiCittc2dzdHIgIlBhcnRpdGlldHlwZSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXp1IHByaW1hcnksICVkIGV4dGVuZGVkLCAlenUgZnJlZSIKK21zZ3N0ciAiJXp1IHByaW1haXIsICAlZCB1aXRnZWJyZWlkLCAgJXp1IHZyaWoiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjM5Cittc2dpZCAicHJpbWFyeSIKK21zZ3N0ciAicHJpbWFpciIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDEKK21zZ2lkICJleHRlbmRlZCIKK21zZ3N0ciAidWl0Z2VicmVpZCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDEKK21zZ2lkICJjb250YWluZXIgZm9yIGxvZ2ljYWwgcGFydGl0aW9ucyIKK21zZ3N0ciAiY29udGFpbmVyIHZvb3IgbG9naXNjaGUgcGFydGl0aWVzIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MworbXNnaWQgImxvZ2ljYWwiCittc2dzdHIgImxvZ2lzY2giCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQzCittc2dpZCAibnVtYmVyZWQgZnJvbSA1IgorbXNnc3RyICJnZW51bW1lcmQgdmFuYWYgNSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gdHlwZSBgJWMnLiIKK21zZ3N0ciAiT25nZWxkaWcgcGFydGl0aWV0eXBlICclYycuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY5OQorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgd3JpdGUgc2VjdG9yICVqZDogc2VlayBmYWlsZWQiCittc2dzdHIgIkthbiBzZWN0b3IgJWpkIG5pZXQgc2NocmlqdmVuOiAnc2VlaycgaXMgbWlzbHVrdCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE4NTIgbGliZmRpc2svc3JjL2dwdC5jOjEwOTYKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIlNjaGlqZi1JRCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE5NTkKK21zZ2lkICJUeXBlIDAgbWVhbnMgZnJlZSBzcGFjZSB0byBtYW55IHN5c3RlbXMuIEhhdmluZyBwYXJ0aXRpb25zIG9mIHR5cGUgMCBpcyBwcm9iYWJseSB1bndpc2UuIgorbXNnc3RyICIiCisiVHlwZSAwIGJldGVrZW50IG9wIHZlZWwgc3lzdGVtZW4gJ3ZyaWplIHJ1aW10ZScuICBIZXQgaXMgZGFhcm9tXG4iCisidmVybW9lZGVsaWprIG9udmVyc3RhbmRpZyBvbSBwYXJ0aXRpZXMgdmFuIGhldCB0eXBlIDAgdGUgaGViYmVuLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE5NjQKK21zZ2lkICJDYW5ub3QgY2hhbmdlIHR5cGUgb2YgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiB3aGljaCBpcyBhbHJlYWR5IHVzZWQgYnkgbG9naWNhbCBwYXJ0aXRpb25zLiBEZWxldGUgbG9naWNhbCBwYXJ0aXRpb25zIGZpcnN0LiIKK21zZ3N0ciAiS2FuIGhldCB0eXBlIHZhbiBlZW4gdWl0Z2VicmVpZGUgcGFydGl0aWUgZGllIGFsIGRvb3IgbG9naXNjaGUgcGFydGl0aWVzIGdlYnJ1aWt0IHdvcmR0IG5pZXQgd2lqemlnZW4uICBWZXJ3aWpkZXIgZWVyc3QgZGUgbG9naXNjaGUgcGFydGl0aWVzLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxNDMgbGliZmRpc2svc3JjL2dwdC5jOjI4MjEKK21zZ2lkICJOb3RoaW5nIHRvIGRvLiBPcmRlcmluZyBpcyBjb3JyZWN0IGFscmVhZHkuIgorbXNnc3RyICJFciBob2VmdCBuaWV0cyBnZWRhYW4gdGUgd29yZGVuLiAgRGUgb3JkZW5pbmcgaXMgYWwgZ29lZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG5vIGRhdGEgYXJlYS4iCittc2dzdHIgIlBhcnRpdGllICV6dSBoZWVmdCBnZWVuIGdlZ2V2ZW5zZ2ViaWVkLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyMjIKK21zZ2lkICJOZXcgYmVnaW5uaW5nIG9mIGRhdGEiCittc2dzdHIgIk5pZXV3IGJlZ2luIHZhbiBnZWdldmVucyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaXMgYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiUGFydGl0aWUgJXp1IGlzIGVlbiB1aXRnZWJyZWlkZSBwYXJ0aXRpZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJEZSBvcHN0YXJ0YmFhcnZsYWcgb3AgcGFydGl0aWUgJXp1IGlzIG51IGluZ2VzY2hha2VsZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiRGUgb3BzdGFydGJhYXJ2bGFnIG9wIHBhcnRpdGllICV6dSBpcyBudSB1aXRnZXNjaGFrZWxkLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyOTggbGliZmRpc2svc3JjL2dwdC5jOjI5MTEgbGliZmRpc2svc3JjL3NnaS5jOjExNTMKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTA5Cittc2dpZCAiRGV2aWNlIgorbXNnc3RyICJBcHBhcmFhdCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyOTkgbGliZmRpc2svc3JjL3N1bi5jOjQxCittc2dpZCAiQm9vdCIKK21zZ3N0ciAiT3AuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1OSBsaWJmZGlzay9zcmMvc3VuLmM6MTExNQorbXNnaWQgIklkIgorbXNnc3RyICJJRCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDkKK21zZ2lkICJTdGFydC1DL0gvUyIKK21zZ3N0ciAiQmVnaW4tQy9LL1MiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzEwCittc2dpZCAiRW5kLUMvSC9TIgorbXNnc3RyICJFaW5kLUMvSy9TIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMxMSBsaWJmZGlzay9zcmMvZ3B0LmM6MjkyMSBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MQorbXNnaWQgIkF0dHJzIgorbXNnc3RyICJLZW5tLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MAorbXNnaWQgIkVGSSBTeXN0ZW0iCittc2dzdHIgIkVGSS1zeXN0ZWVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYyCittc2dpZCAiTUJSIHBhcnRpdGlvbiBzY2hlbWUiCittc2dzdHIgIk1CUi1wYXJ0aXRpZXNjaGVtYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MworbXNnaWQgIkludGVsIEZhc3QgRmxhc2giCittc2dzdHIgIkludGVsIFwiU25lbGxlIGZsYXNoXCIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjYKK21zZ2lkICJCSU9TIGJvb3QiCittc2dzdHIgIkJJT1Mtb3BzdGFydCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OQorbXNnaWQgIlNvbnkgYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIlNvbnktb3BzdGFydHBhcnRpdGllIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTcwCittc2dpZCAiTGVub3ZvIGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICJMZW5vdm8tb3BzdGFydHBhcnRpdGllIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczCittc2dpZCAiUG93ZXJQQyBQUmVQIGJvb3QiCittc2dzdHIgIlBvd2VyUEMgUFJlUCBvcHN0YXJ0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc2Cittc2dpZCAiT05JRSBib290IgorbXNnc3RyICJPTklFLW9wc3RhcnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzcKK21zZ2lkICJPTklFIGNvbmZpZyIKK21zZ3N0ciAiT05JRS1jb25maWciCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAKK21zZ2lkICJNaWNyb3NvZnQgcmVzZXJ2ZWQiCittc2dzdHIgIk1pY3Jvc29mdCBnZXJlc2VydmVlcmQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODEKK21zZ2lkICJNaWNyb3NvZnQgYmFzaWMgZGF0YSIKK21zZ3N0ciAiTWljcm9zb2Z0IGJhc2lzZ2VnZXZlbnMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODIKK21zZ2lkICJNaWNyb3NvZnQgTERNIG1ldGFkYXRhIgorbXNnc3RyICJNaWNyb3NvZnQgTERNLW1ldGFnZWdldmVucyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MworbXNnaWQgIk1pY3Jvc29mdCBMRE0gZGF0YSIKK21zZ3N0ciAiTWljcm9zb2Z0IExETS1nZWdldmVucyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NAorbXNnaWQgIldpbmRvd3MgcmVjb3ZlcnkgZW52aXJvbm1lbnQiCittc2dzdHIgIldpbmRvd3MgcmVjb3Zlcnktb21nZXZpbmciCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODUKK21zZ2lkICJJQk0gR2VuZXJhbCBQYXJhbGxlbCBGcyIKK21zZ3N0ciAiSUJNIEdlbmVyYWwgUGFyYWxsZWwgRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODYKK21zZ2lkICJNaWNyb3NvZnQgU3RvcmFnZSBTcGFjZXMiCittc2dzdHIgIk1pY3Jvc29mdCBcIk9wc2xhZ3J1aW10ZXNcIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4OQorbXNnaWQgIkhQLVVYIGRhdGEiCittc2dzdHIgIkhQLVVYIGdlZ2V2ZW5zIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkwCittc2dpZCAiSFAtVVggc2VydmljZSIKK21zZ3N0ciAiSFAtVVggc2VydmljZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MyBsaWJmZGlzay9zcmMvc2dpLmM6NjEgbGliZmRpc2svc3JjL3N1bi5jOjUyCittc2dpZCAiTGludXggc3dhcCIKK21zZ3N0ciAiTGludXggd2lzc2VsZ2VoZXVnZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTQKK21zZ2lkICJMaW51eCBmaWxlc3lzdGVtIgorbXNnc3RyICJMaW51eCBiZXN0YW5kc3N5c3RlZW0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUKK21zZ2lkICJMaW51eCBzZXJ2ZXIgZGF0YSIKK21zZ3N0ciAiTGludXggc2VydmVyZ2VnZXZlbnMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTYKK21zZ2lkICJMaW51eCByb290ICh4ODYpIgorbXNnc3RyICJMaW51eCByb290ICh4ODYpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3Cittc2dpZCAiTGludXggcm9vdCAoQVJNKSIKK21zZ3N0ciAiTGludXggcm9vdCAoQVJNKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OAorbXNnaWQgIkxpbnV4IHJvb3QgKHg4Ni02NCkiCittc2dzdHIgIkxpbnV4IHJvb3QgKHg4Ni02NCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTkKK21zZ2lkICJMaW51eCByb290IChBUk0tNjQpIgorbXNnc3RyICJMaW51eCByb290IChBUk0tNjQpIgorCisjIEZJWE1FOiBubyB0YWIKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAKK21zZ2lkICJMaW51eCByb290XHQoSUEtNjQpIgorbXNnc3RyICJMaW51eCByb290IChJQS02NCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDEKK21zZ2lkICJMaW51eCByZXNlcnZlZCIKK21zZ3N0ciAiTGludXggZ2VyZXNlcnZlZXJkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAyCittc2dpZCAiTGludXggaG9tZSIKK21zZ3N0ciAiTGludXggaG9tZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMyBsaWJmZGlzay9zcmMvc2dpLmM6NjQKK21zZ2lkICJMaW51eCBSQUlEIgorbXNnc3RyICJMaW51eCBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0Cittc2dpZCAiTGludXggZXh0ZW5kZWQgYm9vdCIKK21zZ3N0ciAiTGludXggdWl0Z2VicmVpZCBvcHN0YXJ0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEyCittc2dpZCAiRnJlZUJTRCBkYXRhIgorbXNnc3RyICJGcmVlQlNEIGdlZ2V2ZW5zIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzCittc2dpZCAiRnJlZUJTRCBib290IgorbXNnc3RyICJGcmVlQlNEIG9wc3RhcnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQKK21zZ2lkICJGcmVlQlNEIHN3YXAiCittc2dzdHIgIkZyZWVCU0Qgd2lzc2VsZ2VoZXVnZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUKK21zZ2lkICJGcmVlQlNEIFVGUyIKK21zZ3N0ciAiRnJlZUJTRCBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTYKK21zZ2lkICJGcmVlQlNEIFpGUyIKK21zZ3N0ciAiRnJlZUJTRCBaRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTcKK21zZ2lkICJGcmVlQlNEIFZpbnVtIgorbXNnc3RyICJGcmVlQlNEIFZpbnVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIwCittc2dpZCAiQXBwbGUgSEZTL0hGUysiCittc2dzdHIgIkFwcGxlIEhGUy9IRlMrIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxCittc2dpZCAiQXBwbGUgVUZTIgorbXNnc3RyICJBcHBsZSBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjIKK21zZ2lkICJBcHBsZSBSQUlEIgorbXNnc3RyICJBcHBsZSBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzCittc2dpZCAiQXBwbGUgUkFJRCBvZmZsaW5lIgorbXNnc3RyICJBcHBsZSBSQUlEIG9mZmxpbmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjQKK21zZ2lkICJBcHBsZSBib290IgorbXNnc3RyICJBcHBsZSBvcHN0YXJ0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1Cittc2dpZCAiQXBwbGUgbGFiZWwiCittc2dzdHIgIkFwcGxlIGxhYmVsIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI2Cittc2dpZCAiQXBwbGUgVFYgcmVjb3ZlcnkiCittc2dzdHIgIkFwcGxlIFRWIHJlY292ZXJ5IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI3Cittc2dpZCAiQXBwbGUgQ29yZSBzdG9yYWdlIgorbXNnc3RyICJBcHBsZSBDb3JlIG9wc2xhZyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMQorbXNnaWQgIlNvbGFyaXMgcm9vdCIKK21zZ3N0ciAiU29sYXJpcyByb290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMzCittc2dpZCAiU29sYXJpcyAvdXNyICYgQXBwbGUgWkZTIgorbXNnc3RyICJTb2xhcmlzIC91c3IgJiBBcHBsZSBaRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzQKK21zZ2lkICJTb2xhcmlzIHN3YXAiCittc2dzdHIgIlNvbGFyaXMgd2lzc2VsZ2VoZXVnZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzUKK21zZ2lkICJTb2xhcmlzIGJhY2t1cCIKK21zZ3N0ciAiU29sYXJpcyBiYWNrdXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzYKK21zZ2lkICJTb2xhcmlzIC92YXIiCittc2dzdHIgIlNvbGFyaXMgL3ZhciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNworbXNnaWQgIlNvbGFyaXMgL2hvbWUiCittc2dzdHIgIlNvbGFyaXMgL2hvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzgKK21zZ2lkICJTb2xhcmlzIGFsdGVybmF0ZSBzZWN0b3IiCittc2dzdHIgIlNvbGFyaXMgYWx0ZXJuYXRpZXZlIHNlY3RvciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMSIKK21zZ3N0ciAiU29sYXJpcyBnZXJlc2VydmVlcmQgMSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MAorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMiIKK21zZ3N0ciAiU29sYXJpcyBnZXJlc2VydmVlcmQgMiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMyIKK21zZ3N0ciAiU29sYXJpcyBnZXJlc2VydmVlcmQgMyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MgorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNCIKK21zZ3N0ciAiU29sYXJpcyBnZXJlc2VydmVlcmQgNCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MworbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNSIKK21zZ3N0ciAiU29sYXJpcyBnZXJlc2VydmVlcmQgNSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NgorbXNnaWQgIk5ldEJTRCBzd2FwIgorbXNnc3RyICJOZXRCU0Qgd2lzc2VsZ2VoZXVnZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDcKK21zZ2lkICJOZXRCU0QgRkZTIgorbXNnc3RyICJOZXRCU0QgRkZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4Cittc2dpZCAiTmV0QlNEIExGUyIKK21zZ3N0ciAiTmV0QlNEIExGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OQorbXNnaWQgIk5ldEJTRCBjb25jYXRlbmF0ZWQiCittc2dzdHIgIk5ldEJTRCBzYW1lbmdldm9lZ2QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTAKK21zZ2lkICJOZXRCU0QgZW5jcnlwdGVkIgorbXNnc3RyICJOZXRCU0QgdmVyc2xldXRlbGQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTEKK21zZ2lkICJOZXRCU0QgUkFJRCIKK21zZ3N0ciAiTmV0QlNEIFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTQKK21zZ2lkICJDaHJvbWVPUyBrZXJuZWwiCittc2dzdHIgIkNocm9tZU9TIGtlcm5lbCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NQorbXNnaWQgIkNocm9tZU9TIHJvb3QgZnMiCittc2dzdHIgIkNocm9tZU9TIHJvb3QtRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTYKK21zZ2lkICJDaHJvbWVPUyByZXNlcnZlZCIKK21zZ3N0ciAiQ2hyb21lT1MgZ2VyZXNlcnZlZXJkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5Cittc2dpZCAiTWlkbmlnaHRCU0QgZGF0YSIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgZ2VnZXZlbnMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjAKK21zZ2lkICJNaWRuaWdodEJTRCBib290IgorbXNnc3RyICJNaWRuaWdodEJTRCBvcHN0YXJ0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYxCittc2dpZCAiTWlkbmlnaHRCU0Qgc3dhcCIKK21zZ3N0ciAiTWluZGlnaHRCU0Qgd2lzc2VsZ2VoZXVnZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjIKK21zZ2lkICJNaWRuaWdodEJTRCBVRlMiCittc2dzdHIgIk1pZG5pZ2h0QlNEIFVGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MworbXNnaWQgIk1pZG5pZ2h0QlNEIFpGUyIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgWkZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY0Cittc2dpZCAiTWlkbmlnaHRCU0QgVmludW0iCittc2dzdHIgIk1pZG5pZ2h0QlNEIFZpbnVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY3Cittc2dpZCAiQ2VwaCBKb3VybmFsIgorbXNnc3RyICJDZXBoIGpvdXJuYWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjgKK21zZ2lkICJDZXBoIEVuY3J5cHRlZCBKb3VybmFsIgorbXNnc3RyICJDZXBoIHZlcnNsZXV0ZWxkIGpvdXJuYWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjkKK21zZ2lkICJDZXBoIE9TRCIKK21zZ3N0ciAiQ2VwaCBPU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAKK21zZ2lkICJDZXBoIGNyeXB0IE9TRCIKK21zZ3N0ciAiQ2VwaCB2ZXJzbGV1dGVsZCBPU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzEKK21zZ2lkICJDZXBoIGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIkNlcGggc2NoaWpmIGluIHdvcmRpbmciCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzIKK21zZ2lkICJDZXBoIGNyeXB0IGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIkNlcGggdmVyc2xldXRlbGRlIHNjaGlqZiBpbiB3b3JkaW5nIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1Cittc2dpZCAiT3BlbkJTRCBkYXRhIgorbXNnc3RyICJPcGVuQlNEIGdlZ2V2ZW5zIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc4Cittc2dpZCAiUU5YNiBmaWxlIHN5c3RlbSIKK21zZ3N0ciAiUU5YNiBiZXN0YW5kc3N5c3RlZW0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyODEKK21zZ2lkICJQbGFuIDkgcGFydGl0aW9uIgorbXNnc3RyICJQbGFuLTkgcGFydGl0aWUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo1NDcKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR1BUIGhlYWRlciIKK21zZ3N0ciAicmVzZXJ2ZXJlbiB2YW4gZ2VoZXVnZW4gdm9vciBHUFQta29wIGlzIG1pc2x1a3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo2MzAKK21zZ2lkICJGaXJzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJFZXJzdGUgZG9vciBzY3JpcHQgZ2VnZXZlbiBMQkEgdmFsdCBidWl0ZW4gZ2VsZGlnIGJlcmVpay4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo2NDIKK21zZ2lkICJMYXN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIkxhYXRzdGUgZG9vciBzY3JpcHQgZ2VnZXZlbiBMQkEgdmFsdCBidWl0ZW4gZ2VsZGlnIGJlcmVpay4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR1BUIFBNQlIgc2l6ZSBtaXNtYXRjaCAoJTxQUkl1NjQ+ICE9ICU8UFJJdTY0Pikgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIkdyb290dGV2ZXJzY2hpbCBpbiBHUFQgUE1CUiAoJTxQUkl1NjQ+ICE9ICU8UFJJdTY0PikgemFsIHdvcmRlbiBnZXJlcGFyZWVyZCBkb29yIHNjaHJpanZlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3OTIKK21zZ2lkICJncHQ6IHN0YXQoKSBmYWlsZWQiCittc2dzdHIgImdwdDogc3RhdCgpIGlzIG1pc2x1a3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo4MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3B0OiBjYW5ub3QgaGFuZGxlIGZpbGVzIHdpdGggbW9kZSAlbyIKK21zZ3N0ciAiZ3B0OiBrYW4gYmVzdGFuZGVuIG1ldCBtb2R1cyAlbyBuaWV0IHZlcndlcmtlbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEwNjQKK21zZ2lkICJHUFQgSGVhZGVyIgorbXNnc3RyICJHUFQta29wIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTA2OQorbXNnaWQgIkdQVCBFbnRyaWVzIgorbXNnc3RyICJHUFQtaXRlbXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTAzCittc2dpZCAiRmlyc3QgTEJBIgorbXNnc3RyICJFZXJzdGUgTEJBIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEwOAorbXNnaWQgIkxhc3QgTEJBIgorbXNnc3RyICJMYWF0c3RlIExCQSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBMQkEgKExvZ2ljYWwgQmxvY2sgQWRkcmVzcykgb2YgdGhlIGJhY2t1cCBHUFQgaGVhZGVyLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjExMTQKK21zZ2lkICJBbHRlcm5hdGl2ZSBMQkEiCittc2dzdHIgIkFsdGVybmF0aWV2ZSBMQkEiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhcnQgb2YgdGhlIGFycmF5IG9mIHBhcnRpdGlvbiBlbnRyaWVzLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjExMjAKK21zZ2lkICJQYXJ0aXRpb24gZW50cmllcyBMQkEiCittc2dzdHIgIkxCQSB2YW4gcGFydGl0aWUtaXRlbXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTI1Cittc2dpZCAiQWxsb2NhdGVkIHBhcnRpdGlvbiBlbnRyaWVzIgorbXNnc3RyICJHZXJlc2VydmVlcmRlIHBhcnRpdGllLWl0ZW1zIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTQ0MAorbXNnaWQgIlRoZSBiYWNrdXAgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgcHJpbWFyeSBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIkRlIHJlc2VydmVrb3BpZSB2YW4gZGUgR1BULXRhYmVsIGlzIGJlc2NoYWRpZ2QsIG1hYXIgZGUgcHJpbWFpcmUgdGFiZWwgbGlqa3QgZ29lZC4gIERlemUgbGFhdHN0ZSB6YWwgd29yZGVuIGdlYnJ1aWt0LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE0NDkKK21zZ2lkICJUaGUgcHJpbWFyeSBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBiYWNrdXAgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICJEZSBwcmltYWlyZSBHUFQtdGFiZWwgaXMgYmVzY2hhZGlnZCwgbWFhciBkZSByZXNlcnZla29waWUgbGlqa3QgZ29lZC4gIERlemUgbGFhdHN0ZSB6YWwgd29yZGVuIGdlYnJ1aWt0LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgR1BUIGF0dHJpYnV0ZSBiaXQgJyVzJyIKK21zZ3N0ciAibmlldC1vbmRlcnN0ZXVuZCBHUFQtZWlnZW5zY2hhcHNiaXQgJyVzJyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBHUFQgYXR0cmlidXRlIHN0cmluZyAnJXMnIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gbGlqc3QgJyVzJyBpcyBtaXNsdWt0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczMQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gVVVJRCBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICJQYXJ0aXRpZS1VVUlEIGlzIGdld2lqemlnZCB2YW4gJXMgbmFhciAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lIGNoYW5nZWQgZnJvbSAnJXMnIHRvICclLipzJy4iCittc2dzdHIgIlBhcnRpdGllbmFhbSBpcyBnZXdpanppZ2QgdmFuICclcycgbmFhciAnJS4qcycuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc2OAorbXNnaWQgIlRoZSBzdGFydCBvZiB0aGUgcGFydGl0aW9uIHVuZGVyc3RlcHMgRmlyc3RVc2FibGVMQkEuIgorbXNnc3RyICJCZWdpbiB2YW4gZGUgcGFydGl0aWUgaXMga2xlaW5lciBkYW4gRmlyc3RVc2FibGVMQkEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc3NQorbXNnaWQgIlRoZSBlbmQgb2YgdGhlIHBhcnRpdGlvbiBvdmVyc3RlcHMgTGFzdFVzYWJsZUxCQS4iCittc2dzdHIgIkJlZ2luIHZhbiBkZSBwYXJ0aXRpZSBpcyBncm90ZXIgZGFuIExhc3RVc2FibGVMQkEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzNAorbXNnaWQgIlRoZSBkZXZpY2UgY29udGFpbnMgaHlicmlkIE1CUiAtLSB3cml0aW5nIEdQVCBvbmx5LiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBNQlIgbWFudWFsbHkuIgorbXNnc3RyICIiCisiSGV0IGFwcGFyYWF0IGJldmF0IGVlbiBoeWJyaWRlIE1CUiAtLSBhbGxlZW4gZGUgR1BUIHdvcmR0IGdlc2NocmV2ZW4uXG4iCisiVSBkaWVudCBkZSBNQlIgaGFuZG1hdGlnIHRlIHN5bmNocm9uaXNlcmVuIChleHBlcnRvcGRyYWNodCAnTScpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NzEKK21zZ2lkICJEaXNrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiU2NoaWpmIGJldmF0IGdlZW4gZ2VsZGlnZSBiYWNrdXAtaGVhZGVyLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NzYKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIk9uZ2VsZGlnZSBDUkMtY29udHJvbGVzb20gdmFuIHByaW1haXJlIGhlYWRlci4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTgwCittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIk9uZ2VsZGlnZSBDUkMtY29udHJvbGVzb20gdmFuIGJhY2t1cC1oZWFkZXIuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4NQorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIGVudHJ5IGNoZWNrc3VtLiIKK21zZ3N0ciAiT25nZWxkaWdlIGNvbnRyb2xlc29tIHZhbiBwYXJ0aXRpZS1pdGVtLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OTAKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiT25nZWxkaWdlIExCQS1nZXpvbmR2ZXJzdGFuZGNvbnRyb2xlIHZhbiBwcmltYWlyZSBoZWFkZXIuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5NAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIk9uZ2VsZGlnZSBMQkEtZ2V6b25kdmVyc3RhbmRjb250cm9sZSB2YW4gYmFja3VwLWhlYWRlci4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTk5Cittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IHByaW1hcnkgaGVhZGVyLiIKK21zZ3N0ciAiTXlMQkEga29tdCBuaWV0IG92ZXJlZW4gbWV0IHdlcmtlbGlqa2UgcG9zaXRpZSBpbiBwcmltYWlyZSBoZWFkZXIuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwMworbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiTXlMQkEga29tdCBuaWV0IG92ZXJlZW4gbWV0IHdlcmtlbGlqa2UgcG9zaXRpZSBpbiBiYWNrdXAtaGVhZGVyLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMDgKK21zZ2lkICJEaXNrIGlzIHRvbyBzbWFsbCB0byBob2xkIGFsbCBkYXRhLiIKK21zZ3N0ciAiU2NoaWpmIGlzIHRlIGtsZWluIG9tIGFsbGUgZ2VnZXZlbnMgdGUgYmV2YXR0ZW4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAxOAorbXNnaWQgIlByaW1hcnkgYW5kIGJhY2t1cCBoZWFkZXIgbWlzbWF0Y2guIgorbXNnc3RyICJQcmltYWlyZSBlbiBiYWNrdXAtaGVhZGVyIGtvbWVuIG5pZXQgb3ZlcmVlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDI0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIHBhcnRpdGlvbiAldS4iCittc2dzdHIgIlBhcnRpdGllICV1IG92ZXJsYXB0IHBhcnRpdGllICV1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGlzIHRvbyBiaWcgZm9yIHRoZSBkaXNrLiIKK21zZ3N0ciAiUGFydGl0aWUgJXUgaXMgdGUgZ3Jvb3Qgdm9vciBkZSBzY2hpamYuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAzOAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZW5kcyBiZWZvcmUgaXQgc3RhcnRzLiIKK21zZ3N0ciAiUGFydGl0aWUgJXUgZWluZGlndCB2w7PDs3JkYXQgaWUgYmVnaW50LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDcKK21zZ2lkICJObyBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyICJHZWVuIGZvdXRlbiBnZXZvbmRlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIkhlYWRlciB2ZXJzaW9uOiAlcyIKK21zZ3N0ciAiSGVhZGVyLXZlcnNpZTogJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nICV1IG91dCBvZiAlZCBwYXJ0aXRpb25zLiIKK21zZ3N0ciAiRXIgd29yZGVuICV1IHZhbiAlZCBwYXJ0aXRpZXMgZ2VicnVpa3QuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA2MAorIywgYy1mb3JtYXQKK21zZ2lkICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnQuIgorbXNnaWRfcGx1cmFsICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnRzICh0aGUgbGFyZ2VzdCBpcyAlcykuIgorbXNnc3RyWzBdICJFZW4gdG90YWFsIHZhbiAlanUgdnJpamUgc2VjdG9yZW4gaXMgYmVzY2hpa2JhYXIgaW4gJXUgc2VnbWVudC4iCittc2dzdHJbMV0gIkVlbiB0b3RhYWwgdmFuICVqdSB2cmlqZSBzZWN0b3JlbiBpcyBiZXNjaGlrYmFhciBpbiAldSBzZWdtZW50ZW4gKGRlIGdyb290c3RlIGlzICVzKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGVycm9yIGRldGVjdGVkLiIKK21zZ2lkX3BsdXJhbCAiJWQgZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0clswXSAiJWQgZm91dCBnZXZvbmRlbi4iCittc2dzdHJbMV0gIiVkIGZvdXRlbiBnZXZvbmRlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQyCittc2dpZCAiQWxsIHBhcnRpdGlvbnMgYXJlIGFscmVhZHkgaW4gdXNlLiIKK21zZ3N0ciAiQWxsZSBwYXJ0aXRpZXMgemlqbiBhbCBpbiBnZWJydWlrLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOTcgbGliZmRpc2svc3JjL2dwdC5jOjIyMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVqdSBhbHJlYWR5IHVzZWQuIgorbXNnc3RyICJTZWN0b3IgJWp1IHdvcmR0IGFsIGdlYnJ1aWt0LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJLYW4gcGFydGl0aWUgJXp1IG5pZXQgYWFubWFrZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBsYXN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICJEZSBsYWF0c3RlIGJydWlrYmFyZSBHUFQtc2VjdG9yIGlzICVqdSwgbWFhciAlanUgd2VyZCBnZXZyYWFnZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaXJzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiRGUgZWVyc3RlIGJydWlrYmFyZSBHUFQtc2VjdG9yIGlzICVqdSwgbWFhciAlanUgd2VyZCBnZXZyYWFnZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgR1BUIGRpc2tsYWJlbCAoR1VJRDogJXMpLiIKK21zZ3N0ciAiRWVuIG5pZXV3IEdQVC1zY2hpamZsYWJlbCBpcyBhYW5nZW1hYWt0IChHVUlEOiAlcykuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ0NworbXNnaWQgIkVudGVyIG5ldyBkaXNrIFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiVm9lciBuaWV1d2Ugc2NoaWpmLVVVSUQgaW4gKGluIDgtNC00LTQtMTItdm9ybSkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDU0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHlvdXIgVVVJRC4iCittc2dzdHIgIk9udGxlZGVuIHZhbiBVVUlEIGlzIG1pc2x1a3QuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2OAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiU2NoaWpmLUlEIGlzIGdld2lqemlnZCB2YW4gJXMgbmFhciAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDg4Cittc2dpZCAiTm90IGVub3VnaCBzcGFjZSBmb3IgbmV3IHBhcnRpdGlvbiB0YWJsZSEiCittc2dzdHIgIk5pZXQgZ2Vub2VnIHJ1aW10ZSBiZXNjaGlrYmFhciB2b29yIGVlbiBuaWV1d2UgcGFydGl0aWV0YWJlbCEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXUgb3V0IG9mIHJhbmdlIChtaW5pbWFsIHN0YXJ0IGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiUGFydGl0aWUgJXUgZ2FhdCBidWl0ZW4gYm9vcmQgKGhldCBtaW5pbXVtIGJlZ2luIGlzICU8UFJJdTY0PiBzZWN0b3JlbikiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXUgb3V0IG9mIHJhbmdlIChtYXhpbWFsIGVuZCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIlBhcnRpdGllICV1IGdhYXQgYnVpdGVuIGJvb3JkIChoZXQgbWF4aW11bSBlaW5kZSBpcyAlPFBSSXU2ND4gc2VjdG9yZW4pIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIG51bWJlciBvZiB0aGUgcGFydGl0aW9uIGhhcyBiZSBzbWFsbGVyIHRoYW4gJXp1LiIKK21zZ3N0ciAiSGV0IG1heGltdW0gYWFudGFsIHBhcnRpdGllcyBpcyBhYW5nZW1hYWt0LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NjMKK21zZ2lkICJDYW5ub3QgYWxsb2NhdGUgbWVtb3J5ISIKK21zZ3N0ciAiT252b2xkb2VuZGUgZ2VoZXVnZW4gYmVzY2hpa2JhYXIhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5MAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgbGVuZ3RoIGNoYW5nZWQgZnJvbSAlPFBSSXUzMj4gdG8gJTxQUkl1NjQ+LiIKK21zZ3N0ciAiUGFydGl0aWV0YWJlbGxlbmd0ZSBpcyBnZXdpanppZ2QgdmFuICU8UFJJdTMyPiBuYWFyICU8UFJJdTY0Pi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBhdHRyaWJ1dGVzIG9uIHBhcnRpdGlvbiAlenUgY2hhbmdlZCB0byAweCUwMTY8UFJJeDY0Pi4iCittc2dzdHIgIkRlIGVpZ2Vuc2NoYXBwZW4gdmFuIHBhcnRpdGllICV6dSB6aWpuIGdld2lqemlnZCBuYWFyIDB4JTAxNjxQUkl4NjQ+LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NDIKK21zZ2lkICJFbnRlciBHVUlEIHNwZWNpZmljIGJpdCIKK21zZ3N0ciAiVm9lciBHVUlELXNwZWNpZmllayBiaXQgaW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB0b2dnbGUgdW5zdXBwb3J0ZWQgYml0ICVsdSIKK21zZ3N0ciAib21zY2hha2VsZW4gdmFuIG5pZXQtb25kZXJzdGV1bmQgYml0ICVsdSBpcyBtaXNsdWt0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIkdVSUQtc3BlY2lmaWVrIGJpdCAlZCBvcCBwYXJ0aXRpZSAlenUgaXMgbnUgaW5nZXNjaGFrZWxkLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiR1VJRC1zcGVjaWZpZWsgYml0ICVkIG9wIHBhcnRpdGllICV6dSBpcyBudSB1aXRnZXNjaGFrZWxkLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIkRlICVzLXZsYWcgb3AgcGFydGl0aWUgJXp1IGlzIG51IGluZ2VzY2hha2VsZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiRGUgJXMtdmxhZyBvcCBwYXJ0aXRpZSAlenUgaXMgbnUgdWl0Z2VzY2hha2VsZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE4Cittc2dpZCAiVHlwZS1VVUlEIgorbXNnc3RyICJUeXBlLVVVSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE5Cittc2dpZCAiVVVJRCIKK21zZ3N0ciAiVVVJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MjAgbG9naW4tdXRpbHMvY2hmbi5jOjE1MCBsb2dpbi11dGlscy9jaGZuLmM6MTUyCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzA3Cittc2dpZCAiTmFtZSIKK21zZ3N0ciAiTmFhbSIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjg0MAorbXNnaWQgIkZyZWUgc3BhY2UiCittc2dzdHIgIlt2cmlqZSBydWltdGVdIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6MTIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiAjJXp1LiIKK21zZ3N0ciAiVmFuIGdyb290dGUgdmVyYW5kZXJlbiB2YW4gcGFydGl0aWUgIyV6dSBpcyBtaXNsdWt0LiIKKworIzogbGliZmRpc2svc3JjL3BhcnR0eXBlLmM6MjU5IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1NSBzY2hlZHV0aWxzL2NocnQuYzoyMDYKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6Nzkgc3lzLXV0aWxzL2h3Y2xvY2suYzozMzQKK21zZ2lkICJ1bmtub3duIgorbXNnc3RyICJvbmJla2VuZCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ3Cittc2dpZCAiU0dJIHZvbGhkciIKK21zZ3N0ciAiU0dJIHZvbGhkciIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ4Cittc2dpZCAiU0dJIHRya3JlcGwiCittc2dzdHIgIlNHSSB0cmtyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDkKK21zZ2lkICJTR0kgc2VjcmVwbCIKK21zZ3N0ciAiU0dJIHNlY3JlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MAorbXNnaWQgIlNHSSByYXciCittc2dzdHIgIlNHSSByYXV3IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTEKK21zZ2lkICJTR0kgYnNkIgorbXNnc3RyICJTR0kgYnNkIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTIKK21zZ2lkICJTR0kgc3lzdiIKK21zZ3N0ciAiU0dJIHN5c3YiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MworbXNnaWQgIlNHSSB2b2x1bWUiCittc2dzdHIgIlNHSSB2b2x1bWVuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTQKK21zZ2lkICJTR0kgZWZzIgorbXNnc3RyICJTR0kgZWZzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTUKK21zZ2lkICJTR0kgbHZvbCIKK21zZ3N0ciAiU0dJIGx2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NgorbXNnaWQgIlNHSSBybHZvbCIKK21zZ3N0ciAiU0dJIHJsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTcKK21zZ2lkICJTR0kgeGZzIgorbXNnc3RyICJTR0kgeGZzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTgKK21zZ2lkICJTR0kgeGZzbG9nIgorbXNnc3RyICJTR0kgeGZzbG9nIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTkKK21zZ2lkICJTR0kgeGx2IgorbXNnc3RyICJTR0kgeGx2IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAKK21zZ2lkICJTR0kgeHZtIgorbXNnc3RyICJTR0kgeHZtIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjIgbGliZmRpc2svc3JjL3N1bi5jOjUzCittc2dpZCAiTGludXggbmF0aXZlIgorbXNnc3RyICJMaW51eCBuYXRpdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxNTkKK21zZ2lkICJTR0kgaW5mbyBjcmVhdGVkIG9uIHNlY29uZCBzZWN0b3IuIgorbXNnc3RyICJTR0ktaW5mbyBpcyBhYW5nZW1hYWt0IG9wIHR3ZWVkZSBzZWN0b3IuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjU5Cittc2dpZCAiRGV0ZWN0ZWQgYW4gU0dJIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiIKK21zZ3N0ciAiU0dJLXNjaGlqZmxhYmVsIGdldm9uZGVuIG1ldCBmb3V0aWV2ZSBjb250cm9sZXNvbS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODIgbGliZmRpc2svc3JjL3N1bi5jOjc3MAorbXNnaWQgIlBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiRnlzaWVrZSBjaWxpbmRlcnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODcgbGliZmRpc2svc3JjL3N1bi5jOjc3NQorbXNnaWQgIkV4dHJhIHNlY3RzL2N5bCIKK21zZ3N0ciAiRXh0cmEgc2VjdG9yZW4gcGVyIGNpbGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjk3Cittc2dpZCAiQm9vdGZpbGUiCittc2dzdHIgIk9wc3RhcnRiZXN0YW5kIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mzk1Cittc2dpZCAiSW52YWxpZCBib290ZmlsZSEgIFRoZSBib290ZmlsZSBtdXN0IGJlIGFuIGFic29sdXRlIG5vbi16ZXJvIHBhdGhuYW1lLCBlLmcuIFwiL3VuaXhcIiBvciBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIiIKKyJPbmdlbGRpZyBvcHN0YXJ0YmVzdGFuZCEgIEhldCBvcHN0YXJ0YmVzdGFuZCBtb2V0IGVlbiBhYnNvbHV0ZSxcbiIKKyJuaWV0LW51bCBwYWRuYWFtIHppam4sIHpvYWxzICcvdW5peCcgb2YgJy91bml4LnNhdmUnLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwMQorIywgYy1mb3JtYXQKK21zZ2lkICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZSBtYXhpbXVtLiIKK21zZ2lkX3BsdXJhbCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGVzIG1heGltdW0uIgorbXNnc3RyWzBdICJOYWFtIHZhbiBvcHN0YXJ0YmVzdGFuZCBpcyB0ZSBsYW5nOiBtYXhpbWFhbCAlenUgYnl0ZS4iCittc2dzdHJbMV0gIk5hYW0gdmFuIG9wc3RhcnRiZXN0YW5kIGlzIHRlIGxhbmc6IG1heGltYWFsICV6dSBieXRlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDgKK21zZ2lkICJCb290ZmlsZSBtdXN0IGhhdmUgYSBmdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUuIgorbXNnc3RyICJPcHN0YXJ0YmVzdGFuZCBtb2V0IGVlbiB2b2xsZWRpZyBhYW5nZWdldmVuIHBhZG5hYW0gaGViYmVuLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQxNAorbXNnaWQgIkJlIGF3YXJlIHRoYXQgdGhlIGJvb3RmaWxlIGlzIG5vdCBjaGVja2VkIGZvciBleGlzdGVuY2UuICBTR0kncyBkZWZhdWx0IGlzIFwiL3VuaXhcIiwgYW5kIGZvciBiYWNrdXAgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICIiCisiTGV0IG9wOiBlciBuaWV0IHdvcmR0IGdlY29udHJvbGVlcmQgb2YgaGV0IG9wc3RhcnRiZXN0YW5kIGJlc3RhYXQuXG4iCisiU0dJJ3Mgc3RhbmRhYXJkIGlzICcvdW5peCcsIGVuIHZvb3IgYmFja3VwICcvdW5peC5zYXZlJy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGN1cnJlbnQgYm9vdCBmaWxlIGlzOiAlcyIKK21zZ3N0ciAiSGV0IGh1aWRpZ2Ugb3BzdGFydGJlc3RhbmQgaXM6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQxCittc2dpZCAiRW50ZXIgb2YgdGhlIG5ldyBib290IGZpbGUiCittc2dzdHIgIkdlZWYgZGUgbmFhbSB2YW4gaGV0IG5pZXV3ZSBvcHN0YXJ0YmVzdGFuZCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0NgorbXNnaWQgIkJvb3QgZmlsZSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJPcHN0YXJ0YmVzdGFuZCBibGlqZnQgb25nZXdpanppZ2QuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RmaWxlIGhhcyBiZWVuIGNoYW5nZWQgdG8gXCIlc1wiLiIKK21zZ3N0ciAiT3BzdGFydGJlc3RhbmQgaXMgdmVyYW5kZXJkIG5hYXIgJyVzJy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OTYKK21zZ2lkICJNb3JlIHRoYW4gb25lIGVudGlyZSBkaXNrIGVudHJ5IHByZXNlbnQuIgorbXNnc3RyICJFciBpcyBtZWVyIGRhbiDDqcOpbiBnZWhlbGUtc2NoaWpmLWl0ZW0uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAzIGxpYmZkaXNrL3NyYy9zdW4uYzo0NTgKK21zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQuIgorbXNnc3RyICJHZWVuIHBhcnRpdGllcyBnZWRlZmluaWVlcmQuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEzCittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiSVJJWCBob3VkdCBlcnZhbiBkYXQgcGFydGl0aWUgMTEgZGUgZ2VoZWxlIHNjaGlqZiBiZXNsYWF0LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxNworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIHNob3VsZCBzdGFydCBhdCBibG9jayAwLCBub3QgYXQgYmxvY2sgJWQuIgorbXNnc3RyICJEZSBnZWhlbGUtc2NoaWpmcGFydGl0aWUgbW9ldCBiZWdpbm5lbiBiaWogYmxvayAwLCBuaWV0IGJpaiBibG9rICVkLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyOAorbXNnaWQgIlBhcnRpdGlvbiAxMSBzaG91bGQgY292ZXIgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiUGFydGl0aWUgMTEgem91IGRlIGdlaGVsZSBzY2hpamYgbW9ldGVuIGJlc2xhYW4uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9yLiIKK21zZ2lkX3BsdXJhbCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3JzLiIKK21zZ3N0clswXSAiRGUgcGFydGl0aWVzICVkIGVuICVkIG92ZXJsYXBwZW4gZWxrYWFyIG1ldCAlZCBzZWN0b3IuIgorbXNnc3RyWzFdICJEZSBwYXJ0aXRpZXMgJWQgZW4gJWQgb3ZlcmxhcHBlbiBlbGthYXIgbWV0ICVkIHNlY3RvcmVuLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY2MyBsaWJmZGlzay9zcmMvc2dpLmM6Njg1CisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3Rvcjogc2VjdG9yICU4dSIKK21zZ2lkX3BsdXJhbCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yczogc2VjdG9ycyAlOHUtJXUiCittc2dzdHJbMF0gIk9uZ2VicnVpa3QgZ2F0IHZhbiAlOHUgc2VjdG9yOiBzZWN0b3JlbiAlOHUuIgorbXNnc3RyWzFdICJPbmdlYnJ1aWt0IGdhdCB2YW4gJTh1IHNlY3RvcmVuOiBzZWN0b3JlbiAlOHUtJXUuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Njk4Cittc2dpZCAiVGhlIGJvb3QgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiRGUgb3BzdGFydHBhcnRpdGllIGJlc3RhYXQgbmlldC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDIKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICJEZSB3aXNzZWxnZWhldWdlbnBhcnRpdGllIGJlc3RhYXQgbmlldC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDYKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gaGFzIG5vIHN3YXAgdHlwZS4iCittc2dzdHIgIkRlIHdpc3NlbGdlaGV1Z2VucGFydGl0aWUgaGVlZnQgZ2VlbiBzb29ydGFhbmR1aWRpbmcuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA5Cittc2dpZCAiWW91IGhhdmUgY2hvc2VuIGFuIHVudXN1YWwgYm9vdGZpbGUgbmFtZS4iCittc2dzdHIgIlUgaGVidCBlZW4gb25nZWJydWlrZWxpamtlIG5hYW0gZ2Vrb3plbiB2b29yIGhldCBvcHN0YXJ0YmVzdGFuZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3NTkKK21zZ2lkICJQYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4iCittc2dzdHIgIlUgaGVidCBlZW4gcGFydGl0aWUtb3ZlcmxhcCBvcCBkZSBzY2hpamYuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQ0Cittc2dpZCAiQXR0ZW1wdGluZyB0byBnZW5lcmF0ZSBlbnRpcmUgZGlzayBlbnRyeSBhdXRvbWF0aWNhbGx5LiIKK21zZ3N0ciAiUG9naW5nIHRvdCBoZXQgYXV0b21hdGlzY2ggYWFubWFrZW4gdmFuIGVlbiBnZWhlbGUtc2NoaWpmLWl0ZW0uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQ5Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIGlzIGFscmVhZHkgY292ZXJlZCB3aXRoIHBhcnRpdGlvbnMuIgorbXNnc3RyICJEZSB2b2xsZWRpZ2Ugc2NoaWpmIGlzIGFsIGluZ2VkZWVsZCBpbiBwYXJ0aXRpZXMuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODUzCittc2dpZCAiWW91IGdvdCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiBGaXggaXQgZmlyc3QhIgorbXNnc3RyICJVIGhlYnQgZWVuIHBhcnRpdGllLW92ZXJsYXAgb3AgZGUgc2NoaWpmLiAgTG9zIGRpdCBlZXJzdCBvcCEiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NzUgbGliZmRpc2svc3JjL3N1bi5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICJGaXJzdCAlcyIKK21zZ3N0ciAiRWVyc3RlICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODk5IGxpYmZkaXNrL3NyYy9zZ2kuYzo5NDkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgZWxldmVudGggcGFydGl0aW9uIGNvdmVycyB0aGUgZW50aXJlIGRpc2sgYW5kIGlzIG9mIHR5cGUgJ1NHSSB2b2x1bWUnLiIKK21zZ3N0ciAiIgorIkhldCB3b3JkdCBzdGVyayBhYW5nZXJhZGVuIG9tIGRlIGVsZmRlIHBhcnRpdGllIGRlIGdlaGVsZSBzY2hpamZcbiIKKyJ0ZSBsYXRlbiBiZXNsYWFuIGVuIHZhbiBoZXQgdHlwZSAnU0dJIHZvbHVtZW4nIHRlIGxhdGVuIHppam4uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTE0IGxpYmZkaXNrL3NyYy9zdW4uYzo2MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCAlcyBvciArJXMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiTGFhdHN0ZSAlcywgKyVzIG9mICtncm9vdHRle0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5ODUgbGliZmRpc2svc3JjL3N1bi5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi4iCittc2dzdHIgIiIKKyJpb2N0bChCTEtHRVRTSVpFKSBpcyBtaXNsdWt0IG9wICVzLlxuIgorIkNpbGluZGVyZ2VvbWV0cmlld2FhcmRlICVsbHUgd29yZHQgbnUgZ2VicnVpa3QuXG4iCisiRGV6ZSB3YWFyZGUga2FuIHZvb3IgYXBwYXJhdGVuIGdyb3RlciBkYW4gMzMuOCBHQiBhZmdla2FwdCB6aWpuLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNTEKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFNHSSBkaXNrbGFiZWwuIgorbXNnc3RyICJFZW4gbmlldXcgU0dJLXNjaGlqZmxhYmVsIGlzIGFhbmdlbWFha3QuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3MAorbXNnaWQgIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIKK21zZ3N0ciAiU29ycnksIGFsbGVlbiB2YW4gbmlldC1sZWdlIHBhcnRpdGllcyBrdW50IHUgaGV0IHR5cGUgd2lqemlnZW4uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3NgorbXNnaWQgIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDkgYXMgdm9sdW1lIGhlYWRlciAoMCksIGFuZCBwYXJ0aXRpb24gMTEgYXMgZW50aXJlIHZvbHVtZSAoNiksIGFzIElSSVggZXhwZWN0cyBpdC4iCittc2dzdHIgIiIKKyJPdmVyd2VlZyBvbSBwYXJ0aXRpZSA5IGFscyB2b2x1bWVua29wICgwKSB0ZSBsYXRlbiwgZW5cbiIKKyJwYXJ0aXRpZSAxMSBhbHMgZ2VoZWVsIHZvbHVtZW4gKDYpLCB6b2FscyBJUklYIGhldCB2ZXJ3YWNodC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDg1Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMCBpcyBvZiB0eXBlIFwiU0dJIHZvbGhkclwiLCB0aGUgSVJJWCBzeXN0ZW0gd2lsbCByZWx5IG9uIGl0IHRvIHJldHJpZXZlIGZyb20gaXRzIGRpcmVjdG9yeSBzdGFuZGFsb25lIHRvb2xzIGxpa2Ugc2FzaCBhbmQgZnguIE9ubHkgdGhlIFwiU0dJIHZvbHVtZVwiIGVudGlyZSBkaXNrIHNlY3Rpb24gbWF5IHZpb2xhdGUgdGhpcy4gQXJlIHlvdSBzdXJlIGFib3V0IHRhZ2dpbmcgdGhpcyBwYXJ0aXRpb24gZGlmZmVyZW50bHk/IgorbXNnc3RyICIiCisiSGV0IHdvcmR0IHN0ZXJrIGFhbmdlcmFkZW4gb20gZGUgcGFydGl0aWUgb3AgcGxhYXRzIDAgdmFuIGhldCB0eXBlXG4iCisiJ1NHSSB2b2xoZHInIHRlIGxhdGVuIHppam4uICBJUklYIHZlcnRyb3V3dCBoaWVyb3AgYmlqIGhldCBvcHpvZWtlblxuIgorInZhbiBwcm9ncmFtbWEncyB6b2FscyAnc2FzaCcgZW4gJ2Z4Jy4gIEFsbGVlbiBoZXQgZ2VoZWxlLXNjaGlqZmRlZWxcbiIKKyInU0dJIHZvbHVtZW4nIG1hZyBkZXplIHJlZ2VsIG92ZXJ0cmVkZW4uXG4iCisiV2VldCB1IHpla2VyIGRhdCB1IGhldCB0eXBlIHZhbiBkZXplIHBhcnRpdGllIHdpbHQgd2lqemlnZW4/IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDAKK21zZ2lkICJVbmFzc2lnbmVkIgorbXNnc3RyICIobmlldC10b2VnZXdlemVuKSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQyCittc2dpZCAiU3VuT1Mgcm9vdCIKK21zZ3N0ciAiU3VuT1Mgcm9vdCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzCittc2dpZCAiU3VuT1Mgc3dhcCIKK21zZ3N0ciAiU3VuT1Mgd2lzc2VsZ2VoZXVnZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NAorbXNnaWQgIlN1bk9TIHVzciIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDUKK21zZ2lkICJXaG9sZSBkaXNrIgorbXNnc3RyICJnZWhlbGUgc2NoaWpmIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDYKK21zZ2lkICJTdW5PUyBzdGFuZCIKK21zZ3N0ciAiU3VuT1Mgc3RhbmQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NworbXNnaWQgIlN1bk9TIHZhciIKK21zZ3N0ciAiU3VuT1MgdmFyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDgKK21zZ2lkICJTdW5PUyBob21lIgorbXNnc3RyICJTdW5PUyBob21lIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDkKK21zZ2lkICJTdW5PUyBhbHQgc2VjdG9ycyIKK21zZ3N0ciAiU3VuT1MgYWx0LXNlY3RvcmVuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTAKK21zZ2lkICJTdW5PUyBjYWNoZWZzIgorbXNnc3RyICJTdW5PUyBjYWNoZWZzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTEKK21zZ2lkICJTdW5PUyByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgZ2VyZXNlcnZlZXJkIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTM3Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiBQcm9iYWJseSB5b3UnbGwgaGF2ZSB0byBzZXQgYWxsIHRoZSB2YWx1ZXMsIGUuZy4gaGVhZHMsIHNlY3RvcnMsIGN5bGluZGVycyBhbmQgcGFydGl0aW9ucyBvciBmb3JjZSBhIGZyZXNoIGxhYmVsIChzIGNvbW1hbmQgaW4gbWFpbiBtZW51KSIKK21zZ3N0ciAiIgorIlN1bi1zY2hpamZsYWJlbCBnZXZvbmRlbiBtZXQgb25qdWlzdGUgY29udHJvbGVzb20uXG4iCisiV2FhcnNjaGlqbmxpamsgenVsdCB1IGFsbGUgd2FhcmRlbiBpbiBtb2V0ZW4gc3RlbGxlbixcbiIKKyJ6b2FscyBrb3BwZW4sIHNlY3RvcmVuLCBjaWxpbmRlcnMgZW4gcGFydGl0aWVzLCBvZiBlZW5cbiIKKyJ2ZXJzIGxhYmVsIG1vZXRlbiBtYWtlbiAob3BkcmFjaHQgJ3MnIGluIGhvb2ZkbWVudSkuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2ZXJzaW9uIFslZF0uIgorbXNnc3RyICJTdW4tc2NoaWpmbGFiZWwgZ2V2b25kZW4gbWV0IGZvdXRpZWYgdmVyc2llbnVtbWVyIFslZF0uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLnNhbml0eSBbMHglMDh4XS4iCittc2dzdHIgIlN1bi1zY2hpamZsYWJlbCBnZXZvbmRlbiBtZXQgZm91dGllZiBWVE9DLWNvbnRyb2xlbnVtbWVyIFsweCUwOHhdLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5ucGFydHMgWyV1XS4iCittc2dzdHIgIlN1bi1zY2hpamZsYWJlbCBnZXZvbmRlbiBtZXQgZm91dGllZiBWVE9DLXBhcnRpdGllLWFhbnRhbCBbJXVdLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2NQorbXNnaWQgIldhcm5pbmc6IFdyb25nIHZhbHVlcyBuZWVkIHRvIGJlIGZpeGVkIHVwIGFuZCB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpIgorbXNnc3RyICIiCisiV2FhcnNjaHV3aW5nOiBvbmp1aXN0ZSB3YWFyZGVzIGRpZW5lbiB2ZXJiZXRlcmQgdGUgd29yZGVuIGVuXG4iCisienVsbGVuIGdlY29ycmlnZWVyZCB3b3JkZW4gYmlqIGhldCB3ZWdzY2hyaWp2ZW4gKCd3JykuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTkyCittc2dpZCAiSGVhZHMiCittc2dzdHIgIktvcHBlbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE5NAorbXNnaWQgIlNlY3RvcnMvdHJhY2siCittc2dzdHIgIlNlY3RvcmVuL3Nwb29yIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Mjk3Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTdW4gZGlza2xhYmVsLiIKK21zZ3N0ciAiRWVuIG5pZXV3IFN1bi1zY2hpamZsYWJlbCBpcyBhYW5nZW1hYWt0LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZG9lc24ndCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJQYXJ0aXRpZSAldSBlaW5kaWd0IG5pZXQgb3AgZWVuIGNpbGluZGVyZ3JlbnMuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDM1CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIG90aGVycyBpbiBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiUGFydGl0aWUgJXUgb3ZlcmxhcHQgbWV0IGFuZGVyZSBpbiBzZWN0b3JlbiAldS0ldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgMC0ldS4iCittc2dzdHIgIk9uZ2VicnVpa3QgZ2F0OiBzZWN0b3JlbiAwLSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NSBsaWJmZGlzay9zcmMvc3VuLmM6NDcxCisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiT25nZWJydWlrdCBnYXQ6IHNlY3RvcmVuICV1LSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUyOAorbXNnaWQgIk90aGVyIHBhcnRpdGlvbnMgYWxyZWFkeSBjb3ZlciB0aGUgd2hvbGUgZGlzay4gRGVsZXRlIHNvbWUvc2hyaW5rIHRoZW0gYmVmb3JlIHJldHJ5LiIKK21zZ3N0ciAiIgorIkFuZGVyZSBwYXJ0aXRpZXMgYmVzbGFhbiBhbCBkZSBnZWhlbGUgc2NoaWpmLlxuIgorIlZlcndpamRlci92ZXJrbGVpbiB6ZSBhbHZvcmVucyBoZXQgb3BuaWV1dyB0ZSBwcm9iZXJlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVkIGlzIGFscmVhZHkgYWxsb2NhdGVkIgorbXNnc3RyICJTZWN0b3IgJWQgaXMgYWwgZ2VyZXNlcnZlZXJkIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NjAwCittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHRoaXJkIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIHdob2xlIGRpc2sgYW5kIGlzIG9mIHR5cGUgYFdob2xlIGRpc2snIgorbXNnc3RyICIiCisiSGV0IHdvcmR0IHN0ZXJrIGFhbmdlcmFkZW4gb20gZGUgZGVyZGUgcGFydGl0aWUgZGUgZ2VoZWxlIHNjaGlqZlxuIgorInRlIGxhdGVuIGJlc2xhYW4gZW4gdmFuIGhldCB0eXBlICdnZWhlbGUgc2NoaWpmJyB0ZSBsYXRlbiB6aWpuLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYxMAorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbmluZyB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gJXUgdG8gJXUgdG8gYmUgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJFZXJzdGUgc2VjdG9yIHdvcmR0IHVpdGdlbGlqbmQgdmFuICV1IG5hYXIgJXUgb20gb3AgY2lsaW5kZXJncmVucyB0ZSBrb21lbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBoYXZlbid0IGNvdmVyZWQgdGhlIHdob2xlIGRpc2sgd2l0aCB0aGUgM3JkIHBhcnRpdGlvbiwgYnV0IHlvdXIgdmFsdWVcbiIKKyIlbHUgJXMgY292ZXJzIHNvbWUgb3RoZXIgcGFydGl0aW9uLiBZb3VyIGVudHJ5IGhhcyBiZWVuIGNoYW5nZWRcbiIKKyJ0byAlbHUgJXMiCittc2dzdHIgIiIKKyJVIGhlYnQgbWV0IGRlIGRlcmRlIHBhcnRpdGllIG5pZXQgZGUgZ2VoZWxlIHNjaGlqZiBpbmdlbm9tZW4sXG4iCisibWFhciB1dyB3YWFyZGUgJWx1ICVzIG92ZXJsYXB0IGVlbiBhbmRlcmUgcGFydGl0aWUuXG4iCisiVXcgaW52b2VyIGlzIGdld2lqemlnZCBuYWFyICVsdSAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gU3VuT1MvU29sYXJpcyBjb21wYXRpYmlsaXR5LCBjb25zaWRlciBsZWF2aW5nIHRoaXMgcGFydGl0aW9uIGFzIFdob2xlIGRpc2sgKDUpLCBzdGFydGluZyBhdCAwLCB3aXRoICV1IHNlY3RvcnMiCittc2dzdHIgIiIKKyJBbHMgdSBTdW5PUy9Tb2xhcmlzLWNvbXBhdGliaWxpdGVpdCB3aWx0IGJlaG91ZGVuLCBrdW50IHUgZGV6ZSBwYXJ0aXRpZSBiZXRlclxuIgorImFscyBnZWhlbGUgc2NoaWpmICg1KSBsYXRlbiwgYmVnaW5uZW5kIGJpaiAwLCBtZXQgJXUgc2VjdG9yZW4uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzUwCittc2dpZCAiTGFiZWwgSUQiCittc2dzdHIgIkxhYmVsLUlEIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzU1Cittc2dpZCAiVm9sdW1lIElEIgorbXNnc3RyICJWb2x1bWVuLUlEIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzY1Cittc2dpZCAiQWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiQWx0ZXJuYXRpZXZlIGNpbGluZGVycyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg3MQorbXNnaWQgIk51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJBYW50YWwgYWx0ZXJuYXRpZXZlIGNpbGluZGVycyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg5NgorbXNnaWQgIkV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJFeHRyYSBzZWN0b3JlbiBwZXIgY2lsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MjAKK21zZ2lkICJJbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiVHVzc2VucnVpbXRlZmFjdG9yIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTQ0Cittc2dpZCAiUm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIlJvdGF0aWVzbmVsaGVpZCAocnBtKSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk2OAorbXNnaWQgIk51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIkFhbnRhbCBmeXNpZWtlIGNpbGluZGVycyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwMzcKK21zZ2lkICIiCisiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gMyBhcyBXaG9sZSBkaXNrICg1KSxcbiIKKyJhcyBTdW5PUy9Tb2xhcmlzIGV4cGVjdHMgaXQgYW5kIGV2ZW4gTGludXggbGlrZXMgaXQuXG4iCittc2dzdHIgIiIKKyJPdmVyd2VlZyBvbSBwYXJ0aXRpZSAzIGFscyBHZWhlbGUgU2NoaWpmICg1KSB0ZSBsYXRlbiwgem9hbHNcbiIKKyJTdW5PUy9Tb2xhcmlzIGhldCB2ZXJ3YWNodCBlbiBvb2sgTGludXggaGV0IGhldCBsaWVmc3QgaGVlZnQuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDQ4Cittc2dpZCAiIgorIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDBcbiIKKyJpcyBVRlMsIEVYVDJGUyBmaWxlc3lzdGVtIG9yIFN1bk9TIHN3YXAuIFB1dHRpbmcgTGludXggc3dhcFxuIgorInRoZXJlIG1heSBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlIGFuZCBib290YmxvY2suXG4iCisiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHRhZyB0aGUgcGFydGl0aW9uIGFzIExpbnV4IHN3YXA/IgorbXNnc3RyICIiCisiSGV0IHdvcmR0IHN0ZXJrIGFhbmdlcmFkZW4gb20gZGUgcGFydGl0aWUgb3AgcGxhYXRzIDAgdmFuIGhldCBzb29ydCBVRlMtXG4iCisib2YgRVhUMkZTLWJlc3RhbmRzc3lzdGVlbSBvZiBTdW5PUy13aXNzZWxnZWhldWdlbiB0ZSBsYXRlbiB6aWpuLiAgT3AgZGV6ZVxuIgorInBsYWF0cyBMaW51eC13aXNzZWxnZWhldWdlbiBuZWVyemV0dGVuIHZlcm5pZWx0IG1vZ2VsaWprIHV3IHBhcnRpdGlldGFiZWxcbiIKKyJlbiBvcHN0YXJ0Ymxvay4gIFdlZXQgdSB6ZWtlciBkYXQgdSBkZXplIHBhcnRpdGllIGFscyBMaW51eC13aXNzZWxnZWhldWdlblxuIgorIndpbHQgbGFiZWxlbj8iCisKKyM6IGxpYi9wYWdlci5jOjExMgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCAoJXMpIgorbXNnc3RyICJ3YWl0cGlkKCkgaXMgbWlzbHVrdCAoJXMpIgorCisjOiBsaWIvcGF0aC5jOjIwOSBzeXMtdXRpbHMvbHNjcHUuYzoxODE4Cittc2dpZCAiZmFpbGVkIHRvIGNhbGxvY2F0ZSBjcHUgc2V0IgorbXNnc3RyICJyZXNlcnZlcmVuIHZhbiBnZWhldWdlbiB2b29yIHByb2Nlc3NvcmVuc2V0IGlzIG1pc2x1a3QiCisKKyM6IGxpYi9wYXRoLmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdCAlcyIKK21zZ3N0ciAib250bGVkZW4gdmFuIHByb2Nlc3NvcmVubGlqc3QgJXMgaXMgbWlzbHVrdCIKKworIzogbGliL3BhdGguYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrICVzIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gcHJvY2Vzc29yZW5tYXNrZXIgJXMgaXMgbWlzbHVrdCIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MgorbXNnaWQgImNhbiBub3Qgb3BlbiBVTklYIHNvY2tldCIKK21zZ3N0ciAia2FuIHNvY2tldCBuaWV0IG9wZW5lbiIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3OAorbXNnaWQgImNhbiBub3Qgc2V0IG9wdGlvbiBmb3IgVU5JWCBzb2NrZXQiCittc2dzdHIgImthbiBvcHRpZSB2b29yIHNvY2tldCBuaWV0IGluc3RlbGxlbiIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo5MQorbXNnaWQgImNhbiBub3QgY29ubmVjdCBvbiBVTklYIHNvY2tldCIKK21zZ3N0ciAia2FuIGdlZW4gdmVyYmluZGluZyBtYWtlbiBtZXQgc29ja2V0IgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGx5bW91dGggcmVxdWVzdCAlYyBpcyBub3QgaW1wbGVtZW50ZWQiCittc2dzdHIgIlBseW1vdXRoLXZlcnpvZWsgJWMgaXMgbmlldCBnZcOvbXBsZW1lbnRlZXJkIgorCisjOiBsaWIvcmFuZHV0aWxzLmM6MTM2Cittc2dpZCAibGliYyBwc2V1ZG8tcmFuZG9tIGZ1bmN0aW9ucyIKK21zZ3N0ciAicHNldWRvLXdpbGxla2V1cmlnZSBmdW5jdGllcyB2YW4gbGliYyIKKworIzogbGliL3N3YXBwcm9iZXIuYzoxNyBsaWIvc3dhcHByb2Jlci5jOjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gcHJvYmUgZGV2aWNlIgorbXNnc3RyICIlczoga2FuIGFwcGFyYWF0IG5pZXQgc29uZGVyZW4iCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYmlndW91cyBwcm9iaW5nIHJlc3VsdDsgdXNlIHdpcGVmcyg4KSIKK21zZ3N0ciAiJXM6IG9uZHVpZGVsaWprIHNvbmRlcmluZ3NyZXN1bHRhYXQ7IGdlYnJ1aWsgd2lwZWZzKDgpIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSB2YWxpZCBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAiJXM6IGdlZW4gZ2VsZGlnZSB3aXNzZWxnZWhldWdlbnBhcnRpdGllIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bnN1cHBvcnRlZCBzd2FwIHZlcnNpb24gJyVzJyIKK21zZ3N0ciAiJXM6IG5pZXQtb25kZXJzdGV1bmRlIHdpc3NlbGdlaGV1Z2VudmVyc2llICclcyciCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5MCBsb2dpbi11dGlscy9jaHNoLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAiICAgJXMgW29wdGllc10gWzxnZWJydWlrZXJzbmFhbT5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5MworbXNnaWQgIkNoYW5nZSB5b3VyIGZpbmdlciBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiV2lqemlndCB1dyBmaW5nZXItaW5mb3JtYXRpZS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk2Cittc2dpZCAiIC1mLCAtLWZ1bGwtbmFtZSA8ZnVsbC1uYW1lPiAgcmVhbCBuYW1lXG4iCittc2dzdHIgIiAgLWYsIC0tZnVsbC1uYW1lIDxuYWFtPiAgICAgICB2b2xsZWRpZ2UsIGVjaHRlIG5hYW1cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk3Cittc2dpZCAiIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICAgb2ZmaWNlIG51bWJlclxuIgorbXNnc3RyICIgIC1vLCAtLW9mZmljZSA8a2FudG9vcj4gICAgICAga2FudG9vci0gb2Yga2FtZXJudW1tZXJcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk4Cittc2dpZCAiIC1wLCAtLW9mZmljZS1waG9uZSA8cGhvbmU+ICAgb2ZmaWNlIHBob25lIG51bWJlclxuIgorbXNnc3RyICIgIC1wLCAtLW9mZmljZS1waG9uZSA8bnVtbWVyPiAgdGVsZWZvb25udW1tZXIgb3AgaGV0IHdlcmtcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk5Cittc2dpZCAiIC1oLCAtLWhvbWUtcGhvbmUgPHBob25lPiAgICAgaG9tZSBwaG9uZSBudW1iZXJcbiIKK21zZ3N0ciAiICAtaCwgLS1ob21lLXBob25lIDxudW1tZXI+ICAgIHRlbGVmb29ubnVtbWVyIHRodWlzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDEgbG9naW4tdXRpbHMvY2hzaC5jOjc4Cittc2dpZCAiIC11LCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLXUsIC0taGVscCAgICAgICAgICAgICAgICAgICBkZXplIGh1bHB0ZWtzdCB0b25lbiBlbiBzdG9wcGVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmllbGQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgInZlbGQgJXMgaXMgdGUgbGFuZyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyMSBsb2dpbi11dGlscy9jaHNoLmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBoYXMgaWxsZWdhbCBjaGFyYWN0ZXJzIgorbXNnc3RyICIlczogYmV2YXQgb25nZWxkaWdlIHRla2VucyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1MCBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW4uZGVmcyBmb3JiaWRzIHNldHRpbmcgJXMiCittc2dzdHIgImxvZ2luLmRlZnMgdmVyYmllZHQgaGV0IGluc3RlbGxlbiB2YW4gJXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE1OCBsb2dpbi11dGlscy9jaGZuLmM6MzA5Cittc2dpZCAiT2ZmaWNlIgorbXNnc3RyICJLYW50b29yIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjQgbG9naW4tdXRpbHMvY2hmbi5jOjMxMQorbXNnaWQgIk9mZmljZSBQaG9uZSIKK21zZ3N0ciAiS2FudG9vcnRlbGVmb29uIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTY4IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzAgbG9naW4tdXRpbHMvY2hmbi5jOjMxMworbXNnaWQgIkhvbWUgUGhvbmUiCittc2dzdHIgIlRodWlzdGVsZWZvb24iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyMzMKK21zZ2lkICJBYm9ydGVkLiIKK21zZ3N0ciAiQWZnZWJyb2tlbi4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgaGFzIHVuZXhwZWN0ZWQgdmFsdWU6ICVzIgorbXNnc3RyICIlczogQ0hGTl9SRVNUUklDVCBoZWVmdCBvbnZlcndhY2h0ZSB3YWFyZGU6ICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGRvZXMgbm90IGFsbG93IGFueSBjaGFuZ2VzIgorbXNnc3RyICIlczogQ0hGTl9SRVNUUklDVCBzdGFhdCBnZWVuIHZlcmFuZGVyaW5nZW4gdG9lIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLlxuIgorbXNnc3RyICJGaW5nZXItaW5mb3JtYXRpZSBpcyBOSUVUIGdld2lqemlnZC4gIFByb2JlZXIgaGV0IGxhdGVyIG9wbmlldXcuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIGNoYW5nZWQuXG4iCittc2dzdHIgIkZpbmdlci1pbmZvcm1hdGllIGlzIGdld2lqemlnZC5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQwOCBsb2dpbi11dGlscy9jaHNoLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdSAodXNlciAlZCkgZG9uJ3QgZXhpc3QuIgorbXNnc3RyICJVIGJlc3RhYXQgbmlldCwgZ2VicnVpa2VyICVkLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQxNCBsb2dpbi11dGlscy9jaHNoLmM6MjQ4IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIFwiJXNcIiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIkdlYnJ1aWtlciAnJXMnIGJlc3RhYXQgbmlldC4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MjAgbG9naW4tdXRpbHMvY2hzaC5jOjI1NAorbXNnaWQgImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzIgorbXNnc3RyICJrYW4gYWxsZWVuIGxva2FsZSBpdGVtcyB3aWp6aWdlbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIGZpbmdlciBpbmZvIG9mICVzIgorbXNnc3RyICIlcyBpcyBuaWV0IGdlcmVjaHRpZ2Qgb20gZGUgZmluZ2VyLWluZm9ybWF0aWUgdmFuICVzIHRlIHdpanppZ2VuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDM1IGxvZ2luLXV0aWxzL2Noc2guYzoyNzAKK21zZ2lkICJVbmtub3duIHVzZXIgY29udGV4dCIKK21zZ3N0ciAiT25iZWtlbmRlIGdlYnJ1aWtlcnNjb250ZXh0IgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDQxIGxvZ2luLXV0aWxzL2Noc2guYzoyNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgc2V0IGRlZmF1bHQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgImthbiBkZSBzdGFuZGFhcmRjb250ZXh0IHZvb3IgJXMgbmlldCBpbnN0ZWxsZW4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTIKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICIiCisidWl0dm9lcmVuZGUgVUlEIGtvbXQgbmlldCBvdmVyZWVuIG1ldCBkZSBVSUQgdmFuIGRlIGdlYnJ1aWtlclxuIgorIndpZW5zIGdlZ2V2ZW5zIHdvcmRlbiBnZXdpanppZ2QgLS0gd2lqemlnaW5nIGlzIGdld2VpZ2VyZCIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBmaW5nZXIgaW5mb3JtYXRpb24gZm9yICVzLlxuIgorbXNnc3RyICJXaWp6aWdlbiB2YW4gZmluZ2VyLWluZm9ybWF0aWUgdm9vciAlcy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gbm90IGNoYW5nZWQuXG4iCittc2dzdHIgIkZpbmdlci1pbmZvcm1hdGllIGlzIG5pZXQgZ2V3aWp6aWdkLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6NzIKK21zZ2lkICJDaGFuZ2UgeW91ciBsb2dpbiBzaGVsbC5cbiIKK21zZ3N0ciAiV2lqemlndCB1dyBsb2dpbi1zaGVsbC5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc1Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gIHNwZWNpZnkgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiICAtcywgLS1zaGVsbD08c2hlbGw+ICAgIHRlIGdlYnJ1aWtlbiBsb2dpbi1zaGVsbFxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6NzYKK21zZ2lkICIgLWwsIC0tbGlzdC1zaGVsbHMgICAgcHJpbnQgbGlzdCBvZiBzaGVsbHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtbCwgLS1saXN0LXNoZWxscyAgICAgIGVlbiBsaWpzdCB2YW4gc2hlbGxzIHRvbmVuIGVuIHN0b3BwZW5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjEwMAorbXNnaWQgIk5vIGtub3duIHNoZWxscy4iCittc2dzdHIgIkdlZW4gYmVrZW5kZSBzaGVsbHMuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjAwCittc2dpZCAic2hlbGwgbXVzdCBiZSBhIGZ1bGwgcGF0aCBuYW1lIgorbXNnc3RyICJzaGVsbCBtb2V0IGVlbiB2b2xsZWRpZ2UgcGFkbmFhbSB6aWpuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiJyVzJyBiZXN0YWF0IG5pZXQiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGlzIG5vdCBleGVjdXRhYmxlIgorbXNnc3RyICInJXMnIGlzIG5pZXQgdWl0dm9lcmJhYXIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuIgorbXNnc3RyICJXYWFyc2NodXdpbmc6ICclcycgc3RhYXQgbmlldCBpbiAlcy4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMTQgbG9naW4tdXRpbHMvY2hzaC5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuXG4iCisiVXNlICVzIC1sIHRvIHNlZSBsaXN0LiIKK21zZ3N0ciAiIgorIiclcycgc3RhYXQgbmlldCBpbiAlcyAtLVxuIgorImdlYnJ1aWsgJyVzIC1sJyBvbSBkZSBsaWpzdCB0ZSB6aWVuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgc2hlbGwgb2YgJXMiCittc2dzdHIgIiVzIGlzIG5pZXQgZ2VyZWNodGlnZCBvbSBkZSBzaGVsbCB2YW4gJXMgdGUgd2lqemlnZW4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyOTUKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICIiCisidWl0dm9lcmVuZGUgVUlEIGtvbXQgbmlldCBvdmVyZWVuIG1ldCBkZSBVSUQgdmFuIGRlIGdlYnJ1aWtlclxuIgorIndpZW5zIGdlZ2V2ZW5zIHdvcmRlbiBnZXdpanppZ2QgLS0gc2hlbGwtd2lqemlnaW5nIGlzIGdld2VpZ2VyZCIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIHNoZWxsIGlzIG5vdCBpbiAlcywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAidXcgc2hlbGwgc3RhYXQgbmlldCBpbiAlcyAtLSBzaGVsbC13aWp6aWdpbmcgaXMgZ2V3ZWlnZXJkIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIHNoZWxsIGZvciAlcy5cbiIKK21zZ3N0ciAiV2lqemlnZW4gdmFuIHN0YW5kYWFyZC1zaGVsbCB2b29yICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzEyCittc2dpZCAiTmV3IHNoZWxsIgorbXNnc3RyICJOaWV1d2Ugc2hlbGwiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjAKK21zZ2lkICJTaGVsbCBub3QgY2hhbmdlZC4iCittc2dzdHIgIlNoZWxsIGlzIG5pZXQgZ2V3aWp6aWdkLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyNQorbXNnaWQgIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICJTaGVsbCBpcyBOSUVUIGdld2lqemlnZC4gIFByb2JlZXIgaGV0IGxhdGVyIG9wbmlldXcuIgorCisjIEZJWE1FOiBzcGxpdCBpbiB0d28gIFhYWAorIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyOQorbXNnaWQgIiIKKyJzZXRwd25hbSBmYWlsZWRcbiIKKyJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiIgorIkZ1bmN0aWUgc2V0cHduYW0oKSBpcyBtaXNsdWt0LlxuIgorIlNoZWxsIGlzIE5JRVQgZ2V3aWp6aWdkLiAgUHJvYmVlciBoZXQgbGF0ZXIgb3BuaWV1dy4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hlbGwgY2hhbmdlZC5cbiIKK21zZ3N0ciAiU2hlbGwgaXMgZ2V3aWp6aWdkLlxuIgorCisjOiBsb2dpbi11dGlscy9pc2xvY2FsLmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIDxwYXNzd29yZGZpbGU+IDx1c2VybmFtZT4uLi5cbiIKK21zZ3N0ciAiR2VicnVpazogICVzIDx3YWNodHdvb3JkYmVzdGFuZD4gPGdlYnJ1aWtlcnNuYWFtPi4uLlxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MTc0IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyMCBzeXMtdXRpbHMvZG1lc2cuYzoxMTkzCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB0aW1lIGZvcm1hdDogJXMiCittc2dzdHIgIm9uYmVrZW5kZSB0aWpkb3BtYWFrOiAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjI4MSBsb2dpbi11dGlscy9sYXN0LmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIkludGVycnVwdGVkICVzIgorbXNnc3RyICJPbmRlcmJyb2tlbiAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjQzOSBsb2dpbi11dGlscy9sYXN0LmM6NDUwCittc2dpZCAicHJlYWxsb2NhdGlvbiBzaXplIGV4Y2VlZGVkIgorbXNnc3RyICJkZSBnZXJlc2VydmVlcmRlIGdyb290dGUgaXMgb3ZlcnNjaHJlZGVuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT4uLi5dIFs8dHR5Pi4uLl1cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSBbPGdlYnJ1aWtlcnNuYWFtPi4uLl0gWzx0ZXJtaW5hbG5hYW0+Li4uXVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTcyCittc2dpZCAiU2hvdyBhIGxpc3Rpbmcgb2YgbGFzdCBsb2dnZWQgaW4gdXNlcnMuXG4iCittc2dzdHIgIlRvb250IGVlbiBvdmVyemljaHQgdmFuIGRlIGxhYXRzdC1hYW5nZW1lbGRlIGdlYnJ1aWtlcnMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzUKK21zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIgIC08Z2V0YWw+ICAgICAgICAgICAgICBoZXQgYWFudGFsIHRlIHRvbmVuIHJlZ2Vsc1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc2Cittc2dpZCAiIC1hLCAtLWhvc3RsYXN0ICAgICAgIGRpc3BsYXkgaG9zdG5hbWVzIGluIHRoZSBsYXN0IGNvbHVtblxuIgorbXNnc3RyICIgIC1hLCAtLWhvc3RsYXN0ICAgICAgICBob3N0bmFtZW4gdG9uZW4gaW4gZGUgbGFhdHN0ZSBrb2xvbVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc3Cittc2dpZCAiIC1kLCAtLWRucyAgICAgICAgICAgIHRyYW5zbGF0ZSB0aGUgSVAgbnVtYmVyIGJhY2sgaW50byBhIGhvc3RuYW1lXG4iCittc2dzdHIgIiAgLWQsIC0tZG5zICAgICAgICAgICAgIElQLW51bW1lciB0ZXJ1Z3ZlcnRhbGVuIG5hYXIgZWVuIGhvc3RuYWFtXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgIHVzZSBhIHNwZWNpZmljIGZpbGUgaW5zdGVhZCBvZiAlc1xuIgorbXNnc3RyICIgIC1mLCAtLWZpbGUgPGJlc3RhbmQ+ICB0ZSBnZWJydWlrZW4gYmVzdGFuZCBpbiBwbGFhdHMgdmFuICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODAKK21zZ2lkICIgLUYsIC0tZnVsbHRpbWVzICAgICAgcHJpbnQgZnVsbCBsb2dpbiBhbmQgbG9nb3V0IHRpbWVzIGFuZCBkYXRlc1xuIgorbXNnc3RyICIgIC1GLCAtLWZ1bGx0aW1lcyAgICAgICB2b2xsZWRpZ2UgYWFuLSBlbiBhZm1lbGRpbmdzdGlqZGVuIGVuIC1kYXRhIHRvbmVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODEKK21zZ2lkICIgLWksIC0taXAgICAgICAgICAgICAgZGlzcGxheSBJUCBudW1iZXJzIGluIG51bWJlcnMtYW5kLWRvdHMgbm90YXRpb25cbiIKK21zZ3N0ciAiICAtaSwgLS1pcCAgICAgICAgICAgICAgSVAtbnVtbWVycyBpbiBnZXRhbGxlbi1lbi1wdW50ZW5ub3RhdGllIHRvbmVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODIKK21zZ2lkICIgLW4sIC0tbGltaXQgPG51bWJlcj4gaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIgIC1uLCAtLWxpbWl0IDxnZXRhbD4gICBoZXQgYWFudGFsIHRlIHRvbmVuIHJlZ2Vsc1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgzCittc2dpZCAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIGRvbid0IGRpc3BsYXkgdGhlIGhvc3RuYW1lIGZpZWxkXG4iCittc2dzdHIgIiAgLVIsIC0tbm9ob3N0bmFtZSAgICAgIGhldCBob3N0bmFhbXZlbGQgbmlldCB0b25lblxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg0Cittc2dpZCAiIC1zLCAtLXNpbmNlIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHNpbmNlIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgIC1zLCAtLXNpbmNlIDx0aWpkPiAgICBkZSBpdGVtcyB2YW5hZiBkZXplIDx0aWpkPiB0b25lblxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg1Cittc2dpZCAiIC10LCAtLXVudGlsIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHVudGlsIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgIC10LCAtLXVudGlsIDx0aWpkPiAgICBkZSBpdGVtcyB0b3QgZGV6ZSA8dGlqZD4gdG9uZW5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NgorbXNnaWQgIiAtcCwgLS1wcmVzZW50IDx0aW1lPiBkaXNwbGF5IHdobyB3ZXJlIHByZXNlbnQgYXQgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAgLXAsIC0tcHJlc2VudCA8dGlqZD4gIHRvbmVuIHdpZSBvcCBnZWdldmVuIDx0aWpkPiBpbmdlbG9nZCB3YXJlblxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg3Cittc2dpZCAiIC13LCAtLWZ1bGxuYW1lcyAgICAgIGRpc3BsYXkgZnVsbCB1c2VyIGFuZCBkb21haW4gbmFtZXNcbiIKK21zZ3N0ciAiICAtdywgLS1mdWxsbmFtZXMgICAgICAgdm9sbGVkaWdlIGdlYnJ1aWtlcnNuYW1lbiBlbiBob3N0bmFtZW4gdG9uZW5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OAorbXNnaWQgIiAteCwgLS1zeXN0ZW0gICAgICAgICBkaXNwbGF5IHN5c3RlbSBzaHV0ZG93biBlbnRyaWVzIGFuZCBydW4gbGV2ZWwgY2hhbmdlc1xuIgorbXNnc3RyICIgIC14LCAtLXN5c3RlbSAgICAgICAgICBydW5sZXZlbC13aWp6aWdpbmdlbiBlbiB1aXRzY2hha2VsaW5nZW4gdG9uZW5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OQorbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wcyBpbiB0aGUgc3BlY2lmaWVkIDxmb3JtYXQ+OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpbWV8c2hvcnR8ZnVsbHxpc29cbiIKK21zZ3N0ciAiIgorIiAgICAgIC0tdGltZS1mb3JtYXQgPG9wbWFhaz4gIHRpamRzc3RlbXBlbHMgdG9uZW4gaW4gZ2VnZXZlbiBvcG1hYWs6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdub3RpbWUnLCAnc2hvcnQnLCAnZnVsbCcsIG9mICdpc28nXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo4ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzIGJlZ2lucyAlcyIKK21zZ3N0ciAiIgorIlxuIgorIiVzIGJlZ2ludCAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk1NiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY0CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY4Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciIKK21zZ3N0ciAib250bGVkZW4gdmFuIGdldGFsIGlzIG1pc2x1a3QiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NzcgbG9naW4tdXRpbHMvbGFzdC5jOjk4MiBsb2dpbi11dGlscy9sYXN0LmM6OTg3CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ4NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWUgdmFsdWUgXCIlc1wiIgorbXNnc3RyICJvbmdlbGRpZ2UgdGlqZHN3YWFyZGUgJyVzJyIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjI5IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzozMQorbXNnaWQgIkNvdWxkbid0IGRyb3AgZ3JvdXAgcHJpdmlsZWdlcyIKK21zZ3N0ciAiS2FuIGdyb2Vwc3ByaXZpbGVnZXMgbmlldCBsYXRlbiB2YWxsZW4iCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICJsaWJ1c2VyIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJXMuIgorbXNnc3RyICJpbml0aWFsaXNhdGllIHZhbiAnbGlidXNlcicgaXMgbWlzbHVrdDogJXMuIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTIKK21zZ2lkICJjaGFuZ2luZyB1c2VyIGF0dHJpYnV0ZSBmYWlsZWQiCittc2dzdHIgInZlcmFuZGVyaW5nIHZhbiBnZWJydWlrZXJzZWlnZW5zY2hhcCBpcyBtaXNsdWt0IgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIgorbXNnc3RyICJnZWJydWlrZXJzZWlnZW5zY2hhcCBpcyBuaWV0IGdld2lqemlnZDogJXMiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICV1IGlzIDYwLgorIzogbG9naW4tdXRpbHMvbG9naW4uYzoxODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZWQgb3V0IGFmdGVyICV1IHNlY29uZHMiCittc2dzdHIgImFmZ2Vicm9rZW4gbmEgJXUgc2Vjb25kZW4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiBjYW4ndCByZW9wZW4gdHR5OiAlbSIKK21zZ3N0ciAiRkFUQUFMOiBrYW4gdHR5IG5pZXQgaGVyb3BlbmVuOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzIGlzIG5vdCBhIHRlcm1pbmFsIgorbXNnc3RyICJGQVRBQUw6ICVzIGlzIGdlZW4gdGVybWluYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzEwCisjLCBjLWZvcm1hdAorbXNnaWQgImNob3duICglcywgJWx1LCAlbHUpIGZhaWxlZDogJW0iCittc2dzdHIgIidjaG93bicgKCVzLCAlbHUsICVsdSkgaXMgbWlzbHVrdDogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzE0CisjLCBjLWZvcm1hdAorbXNnaWQgImNobW9kICglcywgJXUpIGZhaWxlZDogJW0iCittc2dzdHIgIidjaG1vZCcgKCVzLCAldSkgaXMgbWlzbHVrdDogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mzc1Cittc2dpZCAiRkFUQUw6IGJhZCB0dHkiCittc2dzdHIgIkZBVEFBTDogc2xlY2h0ZSB0dHkiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlczogY2hhbmdlIHBlcm1pc3Npb25zIGZhaWxlZDogJW0iCittc2dzdHIgIkZBVEFBTDogJXM6IHdpanppZ2VuIHZhbiB0b2VnYW5nc3JlY2h0ZW4gaXMgbWlzbHVrdDogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgbG9naW46ICUuKnMgIgorbXNnc3RyICJMYWF0c3RlIGtlZXIgaW5nZWxvZ2Q6ICUuKnMgIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUzMQorIywgYy1mb3JtYXQKK21zZ2lkICJmcm9tICUuKnNcbiIKK21zZ3N0ciAidmFuYWYgJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUzNAorIywgYy1mb3JtYXQKK21zZ2lkICJvbiAlLipzXG4iCittc2dzdHIgIm9wICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1NTIKK21zZ2lkICJ3cml0ZSBsYXN0bG9nIGZhaWxlZCIKK21zZ3N0ciAic2NocmlqdmVuIHZhbiAnbGFzdGxvZycgaXMgbWlzbHVrdCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRElBTFVQIEFUICVzIEJZICVzIgorbXNnc3RyICJJTkJFTExFTiBPUCAlcyBET09SICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1NworIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIEZST00gJXMiCittc2dzdHIgIlJPT1QtTE9HSU4gT1AgJXMgVkFOQUYgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMiCittc2dzdHIgIlJPT1QtTE9HSU4gT1AgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIEZST00gJXMiCittc2dzdHIgIkxPR0lOIE9QICVzIERPT1IgJXMgVkFOQUYgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIgorbXNnc3RyICJMT0dJTiBPUCAlcyBET09SICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjcxOQorbXNnaWQgImxvZ2luOiAiCittc2dzdHIgImlubG9nbmFhbTogIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc0NQorIywgYy1mb3JtYXQKK21zZ2lkICJQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorbXNnc3RyICJQQU0tZm91dCAtLSBnZXN0b3B0OiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGRuJ3QgaW5pdGlhbGl6ZSBQQU06ICVzIgorbXNnc3RyICJLYW4gUEFNIG5pZXQgaW5pdGlhbGlzZXJlbjogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODE3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiAldSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIklOTE9HUE9HSU5HICV1IElTIE1JU0xVS1QgVkFOQUYgJXMgVk9PUiAlcyAtLSAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MjUgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxvZ2luIGluY29ycmVjdFxuIgorIlxuIgorbXNnc3RyICIiCisiSW5sb2dnZWdldmVucyBvbmp1aXN0XG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRPTyBNQU5ZIExPR0lOIFRSSUVTICgldSkgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJURSBWRUVMIElOTE9HUE9HSU5HRU4gKCV1KSBWQU5BRiAlcyBWT09SICVzIC0tICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg0NgorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gU0VTU0lPTiBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIklOTE9HU0VTU0lFIElTIE1JU0xVS1QgVkFOQUYgJXMgVk9PUiAlcyAtLSAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxvZ2luIGluY29ycmVjdFxuIgorbXNnc3RyICIiCisiXG4iCisiSW5sb2dnZWdldmVucyBvbmp1aXN0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODgyIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTIzMiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNTUKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiBzZXR1cCBwcm9ibGVtLCBhYm9ydC4iCittc2dzdHIgIiIKKyJcbiIKKyJTZXNzaWUtaW5zdGVsbGluZ3Nwcm9ibGVlbSAtLSBnZXN0b3B0IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICJOVUxMIHVzZXIgbmFtZSBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICJMZWdlIGdlYnJ1aWtlcnNuYWFtIGluICVzOiVkIC0tIGdlc3RvcHQiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAyMAorIywgYy1mb3JtYXQKK21zZ2lkICJUSU9DU0NUVFkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiaW9jdGwoVElPQ1NDVFRZKSBpcyBtaXNsdWt0OiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTc0CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luOiAtaCBpcyBmb3Igc3VwZXJ1c2VyIG9ubHlcbiIKK21zZ3N0ciAibG9naW46IG9wdGllICctaCcga2FuIGFsbGVlbiBkb29yIHJvb3QgZ2VicnVpa3Qgd29yZGVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE4OQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogbG9naW4gWy1wXSBbLWggPGhvc3Q+XSBbLUhdIFtbLWZdIDx1c2VybmFtZT5dXG4iCittc2dzdHIgIkdlYnJ1aWs6ICBsb2dpbiBbLXBdIFstaCA8aG9zdG5hYW0+XSBbLUhdIFtbLWZdIDxnZWJydWlrZXJzbmFhbT5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE5MQorbXNnaWQgIkJlZ2luIGEgc2Vzc2lvbiBvbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICJCZWdpbnQgZWVuIHNlc3NpZSBvcCBoZXQgc3lzdGVlbS5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdXNlciBuYW1lIFwiJXNcIiBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICJPbmp1aXN0ZSBnZWJydWlrZXJzbmFhbSAnJXMnIGluICVzOiVkIC0tIGdlc3RvcHQiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJncm91cHMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiaW5pdGlhbGlzYXRpZSB2YW4gZ3JvZXBlbiBpcyBtaXNsdWt0OiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjc5Cittc2dpZCAic2V0Z2lkKCkgZmFpbGVkIgorbXNnc3RyICJzZXRnaWQoKSBpcyBtaXNsdWt0IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbmV3IG1haWwuXG4iCittc2dzdHIgIlUgaGVidCBuaWV1d2UgZS1tYWlsLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbWFpbC5cbiIKK21zZ3N0ciAiVSBoZWJ0IGUtbWFpbC5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzI1Cittc2dpZCAic2V0dWlkKCkgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBpcyBtaXNsdWt0IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzEgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2hhbmdlIGRpcmVjdG9yeSBmYWlsZWQiCittc2dzdHIgIiVzOiB3aWp6aWdlbiB2YW4gbWFwIGlzIG1pc2x1a3QiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzOCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2dpbmcgaW4gd2l0aCBob21lID0gXCIvXCIuXG4iCittc2dzdHIgIkluZ2Vsb2dkIG1ldCBob21lID0gJy8nLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNjcKK21zZ2lkICJjb3VsZG4ndCBleGVjIHNoZWxsIHNjcmlwdCIKK21zZ3N0ciAia2FuIHNoZWxsLXNjcmlwdCBuaWV0IHVpdHZvZXJlbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzY5Cittc2dpZCAibm8gc2hlbGwiCittc2dzdHIgImdlZW4gc2hlbGwiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgY29udGFpbnMgaW52YWxpZCBudW1lcmljYWwgdmFsdWU6ICVzIgorbXNnc3RyICIlczogJXMgYmV2YXQgb25nZWxkaWdlIG51bWVyaWVrZSB3YWFyZGU6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzozNzUKK21zZ2lkICJodXNoIGxvZ2luIHN0YXR1czogcmVzdG9yZSBvcmlnaW5hbCBJRHMgZmFpbGVkIgorbXNnc3RyICJodXNoIGxvZ2luLXN0YXR1czogaGVyc3RlbGxlbiB2YW4gb3JpZ2luZWxlIElEJ3MgaXMgbWlzbHVrdCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDggc3lzLXV0aWxzL2xzY3B1LmM6MTU0MCBzeXMtdXRpbHMvbHNjcHUuYzoxNTUwCittc2dpZCAibm8iCittc2dzdHIgIm5lZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcgbWlzYy11dGlscy9sc2Jsay5jOjE4MQorbXNnaWQgInVzZXIgbmFtZSIKK21zZ3N0ciAiZ2VicnVpa2Vyc25hYW0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3Cittc2dpZCAiVXNlcm5hbWUiCittc2dzdHIgIkdlYnJ1aWtlcnNuYWFtIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOCBzeXMtdXRpbHMvcmVuaWNlLmM6NTQKK21zZ2lkICJ1c2VyIElEIgorbXNnc3RyICJHZWJydWlrZXJzLUlEIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgInBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAid2FjaHR3b29yZCBuaWV0IHZlcmVpc3QiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE5Cittc2dpZCAiUGFzc3dvcmQgbm90IHJlcXVpcmVkIgorbXNnc3RyICJXYWNodHdvb3JkIGlzIG5pZXQgdmVyZWlzdCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKK21zZ2lkICJsb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAiaW5sb2dnZW4gbWV0IHdhY2h0d29vcmQgaXMgdWl0Z2VzY2hha2VsZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKK21zZ2lkICJMb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAiSW5sb2dnZW4gbWV0IHdhY2h0d29vcmQgaXMgdWl0Z2VzY2hha2VsZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKK21zZ2lkICJwYXNzd29yZCBkZWZpbmVkLCBidXQgbG9ja2VkIgorbXNnc3RyICJ3YWNodHdvb3JkIGlzIGdlZGVmaW5pZWVyZCBtYWFyIHZlcmdyZW5kZWxkIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgIlBhc3N3b3JkIGlzIGxvY2tlZCIKK21zZ3N0ciAiV2FjaHR3b29yZCBpcyB2ZXJncmVuZGVsZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJsb2cgaW4gZGlzYWJsZWQgYnkgbm9sb2dpbig4KSBvciBwYW1fbm9sb2dpbig4KSIKK21zZ3N0ciAiaW5sb2dnZW4gaXMgdWl0Z2VzY2hha2VsZCBkb29yIG5vbG9naW4oOCkgb2YgcGFtX25vbG9naW4oOCkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAiTm8gbG9naW4iCittc2dzdHIgIklubG9nZ2VuIGlzIGdlYmxva2tlZXJkIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgInByaW1hcnkgZ3JvdXAgbmFtZSIKK21zZ3N0ciAicHJpbWFpcmUgZ3JvZXBzbmFhbSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJQcmltYXJ5IGdyb3VwIgorbXNnc3RyICJQcmltYWlyZSBncm9lcCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjQKK21zZ2lkICJwcmltYXJ5IGdyb3VwIElEIgorbXNnc3RyICJwcmltYWlyZSBncm9lcHMtSUQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBuYW1lcyIKK21zZ3N0ciAic3VwcGxlbWVudGFpcmUgZ3JvZXBzbmFtZW4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgIlN1cHBsZW1lbnRhaXJlIGdyb2VwZW4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgInN1cHBsZW1lbnRhaXJlIGdyb2Vwcy1JRCdzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICJTdXBwbGVtZW50YWlyZSBncm9lcHMtSUQncyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKK21zZ2lkICJob21lIGRpcmVjdG9yeSIKK21zZ3N0ciAidGh1aXNtYXAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3Cittc2dpZCAiSG9tZSBkaXJlY3RvcnkiCittc2dzdHIgIlRodWlzbWFwIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorbXNnaWQgImxvZ2luIHNoZWxsIgorbXNnc3RyICJpbmxvZy1zaGVsbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKK21zZ2lkICJTaGVsbCIKK21zZ3N0ciAiU2hlbGwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiZnVsbCB1c2VyIG5hbWUiCittc2dzdHIgIlZvbGxlZGlnZSBuYWFtIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgIkdlY29zIGZpZWxkIgorbXNnc3RyICJHZWNvcy12ZWxkIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorbXNnaWQgImRhdGUgb2YgbGFzdCBsb2dpbiIKK21zZ3N0ciAiZGF0dW0gdmFuIGxhYXRzdGUgYWFubWVsZGluZyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKK21zZ2lkICJMYXN0IGxvZ2luIgorbXNnc3RyICJMYWF0c3RlIGtlZXIgaW5nZWxvZ2QiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCittc2dpZCAibGFzdCB0dHkgdXNlZCIKK21zZ3N0ciAibGFhdHN0LWdlYnJ1aWt0ZSBUVFkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCittc2dpZCAiTGFzdCB0ZXJtaW5hbCIKK21zZ3N0ciAiTGFhdHN0ZSB0ZXJtaW5hbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJob3N0bmFtZSBkdXJpbmcgdGhlIGxhc3Qgc2Vzc2lvbiIKK21zZ3N0ciAiaG9zdG5hYW0gdGlqZGVucyBsYWF0c3RlIHNlc3NpZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJMYXN0IGhvc3RuYW1lIgorbXNnc3RyICJMYWF0c3RlIGhvc3RuYWFtIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworbXNnaWQgImRhdGUgb2YgbGFzdCBmYWlsZWQgbG9naW4iCittc2dzdHIgImRhdHVtIHZhbiBsYWF0c3RlIG1pc2x1a3RlIGFhbm1lbGRpbmciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiRmFpbGVkIGxvZ2luIgorbXNnc3RyICJNaXNsdWt0ZSBhYW5tZWxkaW5nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorbXNnaWQgIndoZXJlIGRpZCB0aGUgbG9naW4gZmFpbD8iCittc2dzdHIgIndhYXIgbWlzbHVrdGUgZGUgYWFubWVsZGluZz8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0Cittc2dpZCAiRmFpbGVkIGxvZ2luIHRlcm1pbmFsIgorbXNnc3RyICJBYW5tZWxkdGVybWluYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAidXNlcidzIGh1c2ggc2V0dGluZ3MiCittc2dzdHIgImh1c2gtaW5zdGVsbGluZ2VuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgIkh1c2hlZCIKK21zZ3N0ciAiR2VodXNoZWQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiZGF5cyB1c2VyIGlzIHdhcm5lZCBvZiBwYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICJhYW50YWwgZGFnZW4gZGF0IGdlYnJ1aWtlciBnZXdhYXJzY2h1d2Qgd29yZHQgdm9vciB2ZXJsb3BlbiB2YW4gd2FjaHR3b29yZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzYKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIHdhcm4gaW50ZXJ2YWwiCittc2dzdHIgIldhY2h0d29vcmR2ZXJsb29wLXdhYXJzY2h1d2luZ3NpbnRlcnZhbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzcKK21zZ2lkICJwYXNzd29yZCBleHBpcmF0aW9uIGRhdGUiCittc2dzdHIgImRhdHVtIGRhdCB3YWNodHdvb3JkIHZlcmxvb3B0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIldhY2h0d29vcmQgdmVybG9vcHQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4Cittc2dpZCAiZGF0ZSBvZiBsYXN0IHBhc3N3b3JkIGNoYW5nZSIKK21zZ3N0ciAiZGF0dW0gdmFuIGxhYXRzdGUgd2FjaHR3b29yZHdpanppZ2luZyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJQYXNzd29yZCBjaGFuZ2VkIgorbXNnc3RyICJXYWNodHdvb3JkIGdld2lqemlnZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzkKK21zZ2lkICJudW1iZXIgb2YgZGF5cyByZXF1aXJlZCBiZXR3ZWVuIGNoYW5nZXMiCittc2dzdHIgIm1pbmltdW0gYWFudGFsIGRhZ2VuIHR1c3NlbiB3aWp6aWdpbmdlbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzkKK21zZ2lkICJNaW5pbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICJNaW5pbXVtIHdpanppZ2luZ3N0aWpkIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZGF5cyBhIHBhc3N3b3JkIG1heSByZW1haW4gdW5jaGFuZ2VkIgorbXNnc3RyICJtYXhpbXVtIGFhbnRhbCBkYWdlbiBkYXQgd2FjaHR3b29yZCBvbmdld2lqemlnZCBtYWcgYmxpanZlbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKK21zZ2lkICJNYXhpbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICJNYXhpbXVtIHdpanppZ2luZ3N0aWpkIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgInRoZSB1c2VyJ3Mgc2VjdXJpdHkgY29udGV4dCIKK21zZ3N0ciAiYmV2ZWlsaWdpbmdzY29udGV4dCB2YW4gZGUgZ2VicnVpa2VyIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgIlNlbGludXggY29udGV4dCIKK21zZ3N0ciAiU0VMaW51eC1jb250ZXh0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgcnVuIGJ5IHRoZSB1c2VyIgorbXNnc3RyICJhYW50YWwgcHJvY2Vzc2VuIGRhdCBkZSBnZWJydWlrZXIgZHJhYWlkZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKK21zZ2lkICJSdW5uaW5nIHByb2Nlc3NlcyIKK21zZ3N0ciAiRHJhYWllbmRlIHByb2Nlc3NlbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyODggbWlzYy11dGlscy9maW5kbW50LmM6MTM2IG1pc2MtdXRpbHMvbHNibGsuYzoyMzEKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBjb2x1bW5zIHNwZWNpZmllZCwgdGhlIGxpbWl0IGlzICV6dSBjb2x1bW5zIgorbXNnc3RyICJ0ZSB2ZWVsIGtvbG9tbWVuIG9wZ2VnZXZlbjsgbWF4aW11bSBpcyAlenUga29sb21tZW4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQzIHN5cy11dGlscy9sc2lwYy5jOjQ1NgorbXNnaWQgInVuc3VwcG9ydGVkIHRpbWUgdHlwZSIKK21zZ3N0ciAibmlldC1vbmRlcnN0ZXVuZGUgdGlqZHNzb29ydCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDcKK21zZ2lkICJmYWlsZWQgdG8gY29tcG9zZSB0aW1lIHN0cmluZyIKK21zZ3N0ciAic2FtZW5zdGVsbGVuIHZhbiB0aWpkc3Rla2VucmVla3MgaXMgbWlzbHVrdCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo2NDgKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICJrYW4gc3VwcGxlbWVudGFpcmUgZ3JvZXBlbiBuaWV0IGFjaHRlcmhhbGVuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzEKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5rbm93biBjb2x1bW4iCittc2dzdHIgIioqaW50ZXJuZSBwcm9ncmFtbWFmb3V0Kio6IG9uYmVrZW5kZSBrb2xvbSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDc1IHN5cy11dGlscy9sc2lwYy5jOjUwMyBzeXMtdXRpbHMvbHNpcGMuYzo2MjUKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY4MCBzeXMtdXRpbHMvbHNpcGMuYzo4Mzggc3lzLXV0aWxzL2xzaXBjLmM6MTAzNgorbXNnaWQgImZhaWxlZCB0byBzZXQgZGF0YSIKK21zZ3N0ciAiaW5zdGVsbGVuIHZhbiBnZWdldmVucyBpcyBtaXNsdWt0IgorCisjIEZJWE1FOiBjbGFyaWZ5IHdpdGggdHJhbnNsYXRvciBjb21tZW50CisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjExNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxhc3QgbG9nczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkxhYXRzdGUgbG9nYmVyaWNodGVuOlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjggbG9naW4tdXRpbHMvbm9sb2dpbi5jOjI2CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDEgbWlzYy11dGlscy9tY29va2llLmM6ODIgbWlzYy11dGlscy91dWlkZC5jOjcwCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyNSBzeXMtdXRpbHMvZG1lc2cuYzoyNjQgc3lzLXV0aWxzL2lwY21rLmM6NjYKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjAgc3lzLXV0aWxzL2xzaXBjLmM6Mjc3IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNAorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo5NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODAgdGV4dC11dGlscy9saW5lLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIgICVzIFtvcHRpZXNdXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzMQorbXNnaWQgIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQga25vd24gdXNlcnMgaW4gdGhlIHN5c3RlbS5cbiIKK21zZ3N0ciAiVG9vbnQgaW5mb3JtYXRpZSBvdmVyIGdlYnJ1aWtlcnMgaW4gaGV0IHN5c3RlZW0uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNAorbXNnaWQgIiAtYSwgLS1hY2MtZXhwaXJhdGlvbiAgICAgZGlzcGxheSBpbmZvIGFib3V0IHBhc3N3b3JkcyBleHBpcmF0aW9uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM1Cittc2dpZCAiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICBkaXNwbGF5IGRhdGEgaW4gYSBmb3JtYXQgc2ltaWxhciB0byAvZXRjL3Bhc3N3ZFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNiBzeXMtdXRpbHMvbHNpcGMuYzoyOTYKK21zZ2lkICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGRpc3BsYXkgaW4gYW4gZXhwb3J0LWFibGUgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNworbXNnaWQgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAgZGlzcGxheSBkYXRhIGFib3V0IHRoZSB1c2VycycgbGFzdCBmYWlsZWQgbG9naW5zXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM4Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGdyb3Vwc1xuIgorbXNnc3RyICIgIC1HLCAtLXN1cHAtZ3JvdXAgICAgICAgICBpbmZvcm1hdGllIG92ZXIgZ3JvZXBlbiB0b25lblxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzkKK21zZ2lkICIgLWcsIC0tZ3JvdXBzPTxncm91cHM+ICAgIGRpc3BsYXkgdXNlcnMgYmVsb25naW5nIHRvIGEgZ3JvdXAgaW4gPGdyb3Vwcz5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDAKK21zZ2lkICIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIHNob3cgaW5mbyBhYm91dCB0aGUgdXNlcnMnIGxhc3QgbG9naW4gc2Vzc2lvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDEKK21zZ2lkICIgLWwsIC0tbG9naW5zPTxsb2dpbnM+ICAgIGRpc3BsYXkgb25seSB1c2VycyBmcm9tIDxsb2dpbnM+XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQyIHN5cy11dGlscy9sc2lwYy5jOjI5OAorbXNnaWQgIiAtbiwgLS1uZXdsaW5lICAgICAgICAgICAgZGlzcGxheSBlYWNoIHBpZWNlIG9mIGluZm9ybWF0aW9uIG9uIGEgbmV3IGxpbmVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDMgc3lzLXV0aWxzL2xzaXBjLmM6MjkxCittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBnZWVuIGtvcHJlZ2VsIHRvbmVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NCBzeXMtdXRpbHMvbHNpcGMuYzoyOTIKK21zZ2lkICIgICAgIC0tbm90cnVuY2F0ZSAgICAgICAgIGRvbid0IHRydW5jYXRlIG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NSBzeXMtdXRpbHMvbHNpcGMuYzozMDAKK21zZ2lkICIgLW8sIC0tb3V0cHV0Wz08bGlzdD5dICAgIGRlZmluZSB0aGUgY29sdW1ucyB0byBvdXRwdXRcbiIKK21zZ3N0ciAiICAtbywgLS1vdXRwdXRbPTxsaWpzdD5dICAgd2VlciB0ZSBnZXZlbiB1aXR2b2Vya29sb21tZW5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ2Cittc2dpZCAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gbG9naW4gYnkgcGFzc3dvcmQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ3IHN5cy11dGlscy9sc2lwYy5jOjMwMgorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgZGlzcGxheSBpbiByYXcgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OAorbXNnaWQgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAgZGlzcGxheSBzeXN0ZW0gYWNjb3VudHNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDkgc3lzLXV0aWxzL2xzaXBjLmM6MjkzCittc2dpZCAiICAgICAtLXRpbWUtZm9ybWF0PTx0eXBlPiBkaXNwbGF5IGRhdGVzIGluIHNob3J0LCBmdWxsIG9yIGlzbyBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTAKK21zZ2lkICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIGRpc3BsYXkgdXNlciBhY2NvdW50c1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MQorbXNnaWQgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgZGlzcGxheSBTRUxpbnV4IGNvbnRleHRzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUyCittc2dpZCAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0IHVzZXIgZW50cmllcyB3aXRoIGEgbnVsIGNoYXJhY3RlclxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MworbXNnaWQgIiAgICAgLS13dG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciB3dG1wXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjU0Cittc2dpZCAiICAgICAtLWJ0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIGJ0bXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTkgbWlzYy11dGlscy9maW5kbW50LmM6MTI0NyBzeXMtdXRpbHMvbHNjcHUuYzoxOTc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkJlc2NoaWtiYXJlIGtvbG9tbWVuOlxuIgorCisjIEZJWE1FOiByZXF1ZXN0IGZhaWxlZAorIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDQyCittc2dpZCAiZmFpbGVkIHRvIHJlcXVlc3Qgc2VsaW51eCBzdGF0ZSIKK21zZ3N0ciAib3B2cmFnZW4gdmFuIFNFTGludXgtdG9lc3RhbmQgaXMgbWlzbHVrdCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDU2IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ2MAorbXNnaWQgIk9ubHkgb25lIHVzZXIgbWF5IGJlIHNwZWNpZmllZC4gVXNlIC1sIGZvciBtdWx0aXBsZSB1c2Vycy4iCittc2dzdHIgIlNsZWNodHMgw6nDqW4gZ2VicnVpa2VyIG1hZyB3b3JkZW4gZ2VnZXZlbi4gIEdlYnJ1aWsgJy1sJyB2b29yIG1lZXJkZXJlIGdlYnJ1aWtlcnMuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo0OSBsb2dpbi11dGlscy9uZXdncnAuYzo1NQorbXNnaWQgImNvdWxkIG5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAia2FuIHRlcm1pbmFsZWlnZW5zY2hhcHBlbiBuaWV0IGluc3RlbGxlbiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTcKK21zZ2lkICJnZXRsaW5lKCkgZmFpbGVkIgorbXNnc3RyICJnZXRsaW5lKCkgaXMgbWlzbHVrdCIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTQ4Cittc2dpZCAiUGFzc3dvcmQ6ICIKK21zZ3N0ciAiV2FjaHR3b29yZDogIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNTQgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMDUKK21zZ2lkICJjcnlwdCBmYWlsZWQiCittc2dzdHIgImNyeXB0KCkgaXMgbWlzbHVrdCIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Z3JvdXA+XG4iCittc2dzdHIgIiAgJXMgPGdyb2VwPlxuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjkKK21zZ2lkICJMb2cgaW4gdG8gYSBuZXcgZ3JvdXAuXG4iCittc2dzdHIgIk1lbGR0IHUgYWFuIG9uZGVyIGVlbiBhbmRlcmUgZ3JvZXAuXG4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIwNworbXNnaWQgIndobyBhcmUgeW91PyIKK21zZ3N0ciAid2llIGJlbnQgdT8iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxMSBsb2dpbi11dGlscy9uZXdncnAuYzoyMjMgc3lzLXV0aWxzL25zZW50ZXIuYzo0MjMKK21zZ2lkICJzZXRnaWQgZmFpbGVkIgorbXNnc3RyICJzZXRnaWQoKSBpcyBtaXNsdWt0IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTYgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjE4Cittc2dpZCAibm8gc3VjaCBncm91cCIKK21zZ3N0ciAiZGllIGdyb2VwIGJlc3RhYXQgbmlldCIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjIxIHN5cy11dGlscy9tb3VudC5jOjQ5MQorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIgorbXNnc3RyICJ0b2VnYW5nIGdld2VpZ2VyZCIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI3IHN5cy11dGlscy9uc2VudGVyLmM6NDI1Cittc2dpZCAic2V0dWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgaXMgbWlzbHVrdCIKKworIzogbG9naW4tdXRpbHMvbm9sb2dpbi5jOjI5Cittc2dpZCAiUG9saXRlbHkgcmVmdXNlIGEgbG9naW4uXG4iCittc2dzdHIgIldlaWdlcnQgYmVsZWVmZCBlZW4gYWFubWVsZGluZy5cbiIKKworIzogbG9naW4tdXRpbHMvbm9sb2dpbi5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoaXMgYWNjb3VudCBpcyBjdXJyZW50bHkgbm90IGF2YWlsYWJsZS5cbiIKK21zZ3N0ciAiRGl0IGFjY291bnQgaXMgbW9tZW50ZWVsIG5pZXQgYmVzY2hpa2JhYXIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBzZXNzaW9uOiAlcyIKK21zZ3N0ciAia2FuIHNlc3NpZSBuaWV0IG9wZW5lbjogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMwNAorbXNnaWQgImNhbm5vdCBjcmVhdGUgY2hpbGQgcHJvY2VzcyIKK21zZ3N0ciAia2FuIGdlZW4gZG9jaHRlcnByb2NlcyBzdGFydGVuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIndpanppZ2VuIHZhbiBodWlkaWdlIG1hcCBuYWFyICVzIGlzIG1pc2x1a3QiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMyMQorbXNnaWQgImNhbm5vdCBibG9jayBzaWduYWxzIgorbXNnc3RyICJrYW4gc2lnbmFsZW4gbmlldCBibG9ra2VyZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMzNSBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNDMKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM0OSBtaXNjLXV0aWxzL3V1aWRkLmM6NDA3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzcxCittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAia2FuIGdlZW4gc2lnbmFhbHZlcndlcmtlciBpbnN0ZWxsZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM3NAorbXNnaWQgIiAoY29yZSBkdW1wZWQpIgorbXNnc3RyICIgKGdlaGV1Z2VuZHVtcCBnZW1hYWt0KSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQsIGtpbGxpbmcgc2hlbGwuLi4iCittc2dzdHIgIiIKKyJcbiIKKyJTZXNzaWUgaXMgYmXDq2luZGlnZCwgc2hlbGwgd29yZHQgZ2XDq2xpbWluZWVyZC4uLiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAuLi5raWxsZWQuXG4iCittc2dzdHIgIiAuLi5pcyBnZcOrbGltaW5lZXJkLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0ODYKK21zZ2lkICJtYXkgbm90IGJlIHVzZWQgYnkgbm9uLXJvb3QgdXNlcnMiCittc2dzdHIgImthbiBuaWV0IGdlYnJ1aWt0IHdvcmRlbiBkb29yIGdld29uZSBnZWJydWlrZXJzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MTQKK21zZ2lkICJpbmNvcnJlY3QgcGFzc3dvcmQiCittc2dzdHIgIm9uanVpc3Qgd2FjaHR3b29yZCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTk4Cittc2dpZCAiY2Fubm90IHNldCBncm91cHMiCittc2dzdHIgImthbiBkZSBncm9lcGVuIG5pZXQgaW5zdGVsbGVuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2MTMgc3lzLXV0aWxzL2VqZWN0LmM6NjY1Cittc2dpZCAiY2Fubm90IHNldCBncm91cCBpZCIKK21zZ3N0ciAia2FuIGdyb2Vwcy1JRCBuaWV0IGluc3RlbGxlbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjE1IHN5cy11dGlscy9lamVjdC5jOjY2OAorbXNnaWQgImNhbm5vdCBzZXQgdXNlciBpZCIKK21zZ3N0ciAia2FuIGdlYnJ1aWtlcnMtSUQgbmlldCBpbnN0ZWxsZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAtdSA8dXNlcj4gW1stLV0gPGNvbW1hbmQ+XVxuIgorbXNnc3RyICIgICVzIFtvcHRpZXNdIC11IDxnZWJydWlrZXI+IDxvcGRyYWNodD5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njg5IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwMQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSBbLV0gWzxnZWJydWlrZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjkwCittc2dpZCAiIgorIlxuIgorIlJ1biA8Y29tbWFuZD4gd2l0aCB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIG9mIDx1c2VyPi4gIElmIC11IGlzXG4iCisibm90IGdpdmVuLCBmYWxsIGJhY2sgdG8gc3UoMSktY29tcGF0aWJsZSBzZW1hbnRpY3MgYW5kIGV4ZWN1dGUgc3RhbmRhcmQgc2hlbGwuXG4iCisiVGhlIG9wdGlvbnMgLWMsIC1mLCAtbCwgYW5kIC1zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtdS5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlZvZXJ0IDxvcGRyYWNodD4gdWl0IG1ldCBlZmZlY3RpZXZlIGdlYnJ1aWtlcnMtSUQgZW4gZ3JvZXBzLUlEIHZhbiA8Z2VicnVpa2VyPi5cbiIKKyJab25kZXIgJy11JyB3b3JkdCBlZW4gc2VtYW50aWVrIGdlYnJ1aWt0IGRpZSBjb21wYXRpYmVsIGlzIG1ldCAnc3UoMSknIGVuIHdvcmR0XG4iCisiZWVuIHN0YW5kYWFyZCBzaGVsbCB1aXRnZXZvZXJkLlxuIgorIkRlIG9wdGllcyAnLWMnLCAnLWYnLCAnLWwnIGVuICctcycgZ2FhbiBuaWV0IHNhbWVuIG1ldCAnLXUnLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2OTcKK21zZ2lkICIgLXUsIC0tdXNlciA8dXNlcj4gICAgICAgICAgICAgdXNlcm5hbWVcbiIKK21zZ3N0ciAiICAtdSwgLS11c2VyIDxnZWJydWlrZXI+ICAgICAgZGUgSUQncyB2YW4gZGV6ZSBnZWJydWlrZXIgZ2VicnVpa2VuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwMgorbXNnaWQgIiIKKyJcbiIKKyJDaGFuZ2UgdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCB0byB0aGF0IG9mIDx1c2VyPi5cbiIKKyJBIG1lcmUgLSBpbXBsaWVzIC1sLiAgSWYgPHVzZXI+IGlzIG5vdCBnaXZlbiwgcm9vdCBpcyBhc3N1bWVkLlxuIgorbXNnc3RyICIiCisiXG4iCisiV2lqemlndCBkZSBlZmZlY3RpZXZlIGdlYnJ1aWtlcnMtSUQgZW4gZ3JvZXBzLUlEIGluIGRpZSB2YW4gPGdlYnJ1aWtlcj4uXG4iCisiRWVuIGVua2VsZSAnLScgYmV0ZWtlbnQgJy1sJy4gIFpvbmRlciBlZW4gPGdlYnJ1aWtlcj4sIHdvcmR0IHJvb3QgYmVncmVwZW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwOQorbXNnaWQgIiAtbSwgLXAsIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgIGRvIG5vdCByZXNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXNcbiIKK21zZ3N0ciAiICAtbSwgLXAsIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgIG9tZ2V2aW5nc3ZhcmlhYmVsZW4gbmlldCB3aXNzZW5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzEwCittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgICAgICAgICAgc3BlY2lmeSB0aGUgcHJpbWFyeSBncm91cFxuIgorbXNnc3RyICIgIC1nLCAtLWdyb3VwIDxncm9lcD4gICAgICAgICAgICAgdGUgZ2VicnVpa2VuIHByaW1haXJlIGdyb2VwXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMQorbXNnaWQgIiIKKyIgLUcsIC0tc3VwcC1ncm91cCA8Z3JvdXA+ICAgICAgICBzcGVjaWZ5IGEgc3VwcGxlbWVudGFsIGdyb3VwXG4iCisiXG4iCittc2dzdHIgIiIKKyIgIC1HLCAtLXN1cHAtZ3JvdXAgPGdyb2VwPiAgICAgICAgdGUgZ2VicnVpa2VuIHN1cHBsZW1lbnRhaXJlIGdyb2VwXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMworbXNnaWQgIiAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgICAgIG1ha2UgdGhlIHNoZWxsIGEgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiICAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgICAgIHZhbiBkZSBzaGVsbCBlZW4gbG9naW4tc2hlbGwgbWFrZW5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE0Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCittc2dzdHIgIiAgLWMsIC0tY29tbWFuZCA8b3BkcmFjaHQ+ICAgICAgICBkZXplIGVuZSBvcGRyYWNodCBhYW4gZGUgc2hlbGwgZ2V2ZW4gdmlhICctYydcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE1Cittc2dpZCAiIgorIiAtLXNlc3Npb24tY29tbWFuZCA8Y29tbWFuZD4gICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvblxuIgorbXNnc3RyICIiCisiICAtLXNlc3Npb24tY29tbWFuZCA8b3BkcmFjaHQ+ICAgIGRlemUgZW5lIG9wZHJhY2h0IGFhbiBkZSBzaGVsbCBnZXZlbiB2aWEgJy1jJ1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHpvbmRlciBlZW4gbmlldXdlIHNlc3NpZSBhYW4gdGUgbWFrZW5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE3Cittc2dpZCAiIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgICAgcGFzcyAtZiB0byB0aGUgc2hlbGwgKGZvciBjc2ggb3IgdGNzaClcbiIKK21zZ3N0ciAiICAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgICctZicgYWFuIGRlIHNoZWxsIGdldmVuICh2b29yICdjc2gnIG9mICd0Y3NoJylcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE4Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgICAgcnVuIDxzaGVsbD4gaWYgL2V0Yy9zaGVsbHMgYWxsb3dzIGl0XG4iCittc2dzdHIgIiAgLXMsIC0tc2hlbGw9PHNoZWxsPiAgICAgICAgICAgICB0ZSBnZWJydWlrZW4gc2hlbGwgYWxzIC9ldGMvc2hlbGxzIGRpdCB0b2VzdGFhdFxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwIGlzIG5vdCBwb3NzaWJsZSIKK21zZ2lkX3BsdXJhbCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwcyBpcyBub3QgcG9zc2libGUiCittc2dzdHJbMF0gImhldCBpcyBuaWV0IG1vZ2VsaWprIG9tIG1lZXIgZGFuICVkIHN1cHBsZW1lbnRhaXJlIGdyb2VwIG9wIHRlIGdldmVuIgorbXNnc3RyWzFdICJoZXQgaXMgbmlldCBtb2dlbGlqayBvbSBtZWVyIGRhbiAlZCBzdXBwbGVtZW50YWlyZSBncm9lcGVuIG9wIHRlIGdldmVuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXAgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgImdyb2VwICVzIGJlc3RhYXQgbmlldCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODg2Cittc2dpZCAiaWdub3JpbmcgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWxvZ2luIgorbXNnc3RyICJvcHRpZSAnLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCcgd29yZHQgZ2VuZWdlZXJkOyBnYWF0IG5pZXQgc2FtZW4gbWV0ICctLWxvZ2luJyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODk3Cittc2dpZCAib3B0aW9ucyAtLXtzaGVsbCxmYXN0LGNvbW1hbmQsc2Vzc2lvbi1jb21tYW5kLGxvZ2lufSBhbmQgLS11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIm9wdGllICctLXVzZXInIGdhYXQgbmlldCBzYW1lbiBtZXQgJy0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59JyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTAxCittc2dpZCAibm8gY29tbWFuZCB3YXMgc3BlY2lmaWVkIgorbXNnc3RyICJnZWVuIGNvbW1hbmRvIGdlZ2V2ZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkxNQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gc3BlY2lmeSBhbHRlcm5hdGl2ZSBncm91cHMiCittc2dzdHIgImFsbGVlbiByb290IGthbiBhbHRlcm5hdGlldmUgZ3JvZXBlbiBvcGdldmVuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiZ2VicnVpa2VyICVzIGJlc3RhYXQgbmlldCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTYyCisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIHJlc3RyaWN0ZWQgc2hlbGwgJXMiCittc2dzdHIgImluZ2VwZXJrdGUgc2hlbGwgJXMgd29yZHQgZ2VicnVpa3QiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk4NgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAid2FhcnNjaHV3aW5nOiBrYW4gbWFwIG5pZXQgd2lqemlnZW4gaW4gJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMzAKK21zZ2lkICJ0Y2dldGF0dHIgZmFpbGVkIgorbXNnc3RyICJ0Y2dldGF0dHIoKSBpcyBtaXNsdWt0IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MjA3Cittc2dpZCAidGNzZXRhdHRyIGZhaWxlZCIKK21zZ3N0ciAidGNzZXRhdHRyKCkgaXMgbWlzbHVrdCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiJXM6IGVyIGlzIGdlZW4gaXRlbSB2b29yIHJvb3RcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3QiCittc2dzdHIgIiVzOiBlciBpcyBnZWVuIGl0ZW0gdm9vciByb290IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByb290IHBhc3N3b3JkIGdhcmJsZWQiCittc2dzdHIgIiVzOiBoZXQgcm9vdHdhY2h0d29vcmQgaXMgdmVya25vZWlkIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJDYW5ub3Qgb3BlbiBhY2Nlc3MgdG8gY29uc29sZSwgdGhlIHJvb3QgYWNjb3VudCBpcyBsb2NrZWQuXG4iCisiU2VlIHN1bG9naW4oOCkgbWFuIHBhZ2UgZm9yIG1vcmUgZGV0YWlscy5cbiIKKyJcbiIKKyJQcmVzcyBFbnRlciB0byBjb250aW51ZS5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkthbiBnZWVuIHRvZWdhbmcga3JpamdlbiB0b3QgZWVuIGNvbnNvbGU7IGhldCByb290LWFjY291bnQgaXMgdmVyZ3JlbmRlbGQuXG4iCisiWmllIGRlIGhhbmRsZWlkaW5nIHZhbiBzdWxvZ2luKDgpIHZvb3IgbWVlciBpbmZvcm1hdGllLlxuIgorIlxuIgorIkRydWsgb3AgRW50ZXIgb20gdmVyZGVyIHRlIGdhYW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBsb2dpbjogIgorbXNnc3RyICJHZWVmIGhldCByb290d2FjaHR3b29yZCBvbSBpbiB0ZSBsb2dnZW46ICIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MAorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbG9naW46ICIKK21zZ3N0ciAiRHJ1ayBvcCBFbnRlciBvbSBpbiB0ZSBsb2dnZW46ICIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIkdlZWYgaGV0IHJvb3R3YWNodHdvb3JkIHZvb3Igb25kZXJob3VkXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIkRydWsgb3AgRW50ZXIgdm9vciBvbmRlcmhvdWRcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIob3IgcHJlc3MgQ29udHJvbC1EIHRvIGNvbnRpbnVlKTogIgorbXNnc3RyICIob2YgZHJ1ayBvcCBDdHJsLUQgb20gdmVyZGVyIHRlIGdhYW4pOiAiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3NDIKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IHRvIHN5c3RlbSByb290IGZhaWxlZCIKK21zZ3N0ciAid2lqemlnZW4gdmFuIGh1aWRpZ2UgbWFwIG5hYXIgc3lzdGVlbWhvb2ZkbWFwIGlzIG1pc2x1a3QiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTEKK21zZ2lkICJzZXRleGVjY29uIGZhaWxlZCIKK21zZ3N0ciAic2V0ZXhlY2NvbigpIGlzIG1pc2x1a3QiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbdHR5IGRldmljZV1cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSBbPFRUWS1hcHBhcmFhdD5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MTQKK21zZ2lkICJTaW5nbGUtdXNlciBsb2dpbi5cbiIKK21zZ3N0ciAiRcOpbmdlYnJ1aWtlcnNtb2R1cy5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxNworbXNnaWQgIiIKKyIgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgIHN0YXJ0IGEgbG9naW4gc2hlbGxcbiIKKyIgLXQsIC0tdGltZW91dCA8c2Vjb25kcz4gIG1heCB0aW1lIHRvIHdhaXQgZm9yIGEgcGFzc3dvcmQgKGRlZmF1bHQ6IG5vIGxpbWl0KVxuIgorIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAgZXhhbWluZSBwYXNzd29yZCBmaWxlcyBkaXJlY3RseSBpZiBnZXRwd25hbSgzKSBmYWlsc1xuIgorbXNnc3RyICIiCisiICAtcCwgLS1sb2dpbi1zaGVsbCAgICAgICAgIGVlbiBsb2dpbi1zaGVsbCBzdGFydGVuXG4iCisiICAtdCwgLS10aW1lb3V0IDxzZWNvbmRlbj4gIG1heGltdW0gdGlqZCBvbSB0ZSB3YWNodGVuIG9wIGludm9lciB2YW4gd2FjaHR3b29yZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdGFuZGFhcmQ6IGdlZW4gbGltaWV0KVxuIgorIiAgLWUsIC0tZm9yY2UgICAgICAgICAgICAgICB3YWNodHdvb3JkYmVzdGFuZGVuIGRpcmVjdCBiZWtpamtlbiBhbHMgZGUgZnVuY3RpZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldHB3bmFtKDMpIGZhYWx0XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4NzEgbWlzYy11dGlscy9maW5kbW50LmM6MTQ2MyBzeXMtdXRpbHMvd2RjdGwuYzo1MjMKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzUwIHRlcm0tdXRpbHMvd2FsbC5jOjEzNQorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudCIKK21zZ3N0ciAib25nZWxkaWdlIHRpamRzbGltaWV0IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODkzCittc2dpZCAib25seSBzdXBlcnVzZXIgY2FuIHJ1biB0aGlzIHByb2dyYW0iCittc2dzdHIgImFsbGVlbiByb290IGthbiBkaXQgcHJvZ3JhbW1hIHVpdHZvZXJlbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkzNgorbXNnaWQgImNhbm5vdCBvcGVuIGNvbnNvbGUiCittc2dzdHIgImthbiBjb25zb2xlIG5pZXQgb3BlbmVuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTQzCittc2dpZCAiY2Fubm90IG9wZW4gcGFzc3dvcmQgZGF0YWJhc2UiCittc2dzdHIgImthbiB3YWNodHdvb3JkZW5nZWdldmVuc2JhbmsgbmlldCBvcGVuZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDYW4gbm90IGV4ZWN1dGUgc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkthbiBkZSAnc3UnLXNoZWxsIG5pZXQgdWl0dm9lcmVuXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDI3Cittc2dpZCAiIgorIlRpbWVkIG91dFxuIgorIlxuIgorbXNnc3RyICIiCisiRHV1cmRlIHRlIGxhbmdcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwNTkKK21zZ2lkICIiCisiQ2FuIG5vdCB3YWl0IG9uIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIiIKKyJLYW4gbmlldCBvcCAnc3UnLXNoZWxsIHdhY2h0ZW5cbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxNzYgdGV4dC11dGlscy90YWlsZi5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoLiIKK21zZ3N0ciAiJXM6IGthbiBnZWVuICdpbm90aWZ5Jy13YWNodGVyIHRvZXZvZWdlbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxODUgdGV4dC11dGlscy90YWlsZi5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgaW5vdGlmeSBldmVudHMiCittc2dzdHIgIiVzOiBrYW4gZ2VlbiAnaW5vdGlmeSctZ2ViZXVydGVuaXNzZW4gbGV6ZW4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjQ2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjUxCittc2dpZCAiRXh0cmFuZW91cyBuZXdsaW5lIGluIGZpbGUuIEV4aXRpbmcuIgorbXNnc3RyICJPbmdlcGFzdCByZWdlbGVpbmRlIGluIGJlc3RhbmQgLS0gZ2VzdG9wdC4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVuYW1lXVxuIgorbXNnc3RyICIgICVzIFtvcHRpZXNdIFs8YmVzdGFuZD5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzEyCittc2dpZCAiRHVtcCBVVE1QIGFuZCBXVE1QIGZpbGVzIGluIHJhdyBmb3JtYXQuXG4iCittc2dzdHIgIlVUTVAtIGVuIFdUTVAtYmVzdGFuZGVuIGluIHJhdXdlIHZvcm0gd2VlcmdldmVuLlxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxNQorbXNnaWQgIiAtZiwgLS1mb2xsb3cgICAgICAgICBvdXRwdXQgYXBwZW5kZWQgZGF0YSBhcyB0aGUgZmlsZSBncm93c1xuIgorbXNnc3RyICIgIC1mLCAtLWZvbGxvdyAgICAgdG9lZ2V2b2VnZGUgZ2VnZXZlbnMgdG9uZW4gd2FubmVlciBiZXN0YW5kIGdyb2VpdFxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxNgorbXNnaWQgIiAtciwgLS1yZXZlcnNlICAgICAgICB3cml0ZSBiYWNrIGR1bXBlZCBkYXRhIGludG8gdXRtcCBmaWxlXG4iCittc2dzdHIgIiAgLXIsIC0tcmV2ZXJzZSAgICBnZWR1bXB0ZSBnZWdldmVucyB0ZXJ1Z3NjaHJpanZlbiBuYWFyICd1dG1wJy1iZXN0YW5kXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8ZmlsZT4gIHdyaXRlIHRvIGZpbGUgaW5zdGVhZCBvZiBzdGFuZGFyZCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtbywgLS1vdXRwdXQgPGJlc3RhbmQ+ICAgbmFhciBkaXQgYmVzdGFuZCBzY2hyaWp2ZW4gaS5wLnYuIHN0YW5kYWFyZHVpdHZvZXJcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODQKK21zZ2lkICJmb2xsb3dpbmcgc3RhbmRhcmQgaW5wdXQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgImhldCB2b2xnZW4gdmFuIHN0YW5kYWFyZGludm9lciB3b3JkdCBuaWV0IG9uZGVyc3RldW5kIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIHVuZHVtcCBvZiAlc1xuIgorbXNnc3RyICJVdG1wLW9udGR1bXBpbmcgdmFuICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgZHVtcCBvZiAlc1xuIgorbXNnc3RyICJVdG1wLWR1bXAgdmFuICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNDEKK21zZ2lkICJjYW4ndCBvcGVuIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICJrYW4gdGlqZGVsaWprIGJlc3RhbmQgbmlldCBvcGVuZW4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNyZWF0ZSBhIGxpbmsgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogYWFubWFrZW4gdmFuIGVlbiBsaW5rIG5hYXIgJXMgaXMgbWlzbHVrdCIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBnZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIkthbiBjb250ZXh0IHZhbiAlcyBuaWV0IGFjaHRlcmhhbGVuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IHNldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiS2FuIGNvbnRleHQgdm9vciAlcyBuaWV0IGluc3RlbGxlbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmNoYW5nZWQiCittc2dzdHIgIiVzIGlzIG9uZ2V3aWp6aWdkIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjU0Cittc2dpZCAiY2Fubm90IGdldCBsb2NrIgorbXNnc3RyICJrYW4gZ2VlbiB2ZXJncmVuZGVsaW5nIHZlcmtyaWpnZW4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyODEKK21zZ2lkICJubyBjaGFuZ2VzIG1hZGUiCittc2dzdHIgImdlZW4gd2lqemlnaW5nZW4gZ2VtYWFrdCIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5MAorbXNnaWQgImNhbm5vdCBjaG1vZCBmaWxlIgorbXNnc3RyICJrYW4gbW9kdXMgdmFuIGJlc3RhbmQgbmlldCB3aWp6aWdlbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjMwNAorbXNnaWQgIkVkaXQgdGhlIHBhc3N3b3JkIG9yIGdyb3VwIGZpbGUuXG4iCittc2dzdHIgIkJld2Vya3QgaGV0ICdwYXNzd2QnLSBvZiAnZ3JvdXAnLWJlc3RhbmQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTAKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBncm91cHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIlUgZ2VicnVpa3Qgc2NoYWR1d2dyb2VwZW4gb3AgZGl0IHN5c3RlZW0uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTEKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBwYXNzd29yZHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIlUgZ2VicnVpa3Qgc2NoYWR1d3dhY2h0d29vcmRlbiBvcCBkaXQgc3lzdGVlbS5cbiIKKworIy4gVFJBTlNMQVRPUlM6IHRoaXMgcHJvZ3JhbSB1c2VzIGZvciB5IGFuZCBuIHJwbWF0Y2goMyksCisjLiAqIHdoaWNoIG1lYW5zIHRoZXkgY2FuIGJlIHRyYW5zbGF0ZWQuCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHlvdSBsaWtlIHRvIGVkaXQgJXMgbm93IFt5L25dPyAiCittc2dzdHIgIldpbHQgdSAlcyBudSBiZXdlcmtlbiBbai9uXT8gIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjM3MgorbXNnaWQgImludmFsaWQgbW9udGggYXJndW1lbnQiCittc2dzdHIgIm9uZ2VsZGlnIG1hYW5kYXJndW1lbnQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzgwCittc2dpZCAiaW52YWxpZCB3ZWVrIGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZyB3ZWVrYXJndW1lbnQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzgyCittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB1c2UgMS01NCIKK21zZ3N0ciAib25qdWlzdGUgd2FhcmRlIHZvb3Igd2VlazsgIGdlYnJ1aWsgMS01NCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHRpbWVzdGFtcCBvciB1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gdGlqZHNzdGVtcGVsIGlzIG1pc2x1a3Qgb2Ygb25iZWtlbmRlIG1hYW5kbmFhbTogJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDMxCittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWUiCittc2dzdHIgIm9uZ2VsZGlnZSB3YWFyZGUgdm9vciBkYWciCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDMzIG1pc2MtdXRpbHMvY2FsLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlOiB1c2UgMS0lZCIKK21zZ3N0ciAib25qdWlzdGUgd2FhcmRlIHZvb3IgZGFnOyAgZ2VicnVpayAxLSVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQzNyBtaXNjLXV0aWxzL2NhbC5jOjQ0NQorbXNnaWQgImlsbGVnYWwgbW9udGggdmFsdWU6IHVzZSAxLTEyIgorbXNnc3RyICJvbmp1aXN0ZSB3YWFyZGUgdm9vciBtYWFuZDsgIGdlYnJ1aWsgMS0xMiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAib25iZWtlbmRlIG1hYW5kbmFhbTogJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDQ4IG1pc2MtdXRpbHMvY2FsLmM6NDUyCittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlIgorbXNnc3RyICJvbmdlbGRpZ2Ugd2FhcmRlIHZvb3IgamFhciIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NTAKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWU6IHVzZSBwb3NpdGl2ZSBpbnRlZ2VyIgorbXNnc3RyICJvbmp1aXN0ZSB3YWFyZGUgdm9vciBqYWFyOyAgZ2VicnVpayBlZW4gcG9zaXRpZWYgZ2VoZWVsIGdldGFsIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4MiBtaXNjLXV0aWxzL2NhbC5jOjQ5NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHllYXIgJWQgZG9lc24ndCBoYXZlIHdlZWsgJWQiCittc2dzdHIgIm9uanVpc3RlIHdhYXJkZSB2b29yIHdlZWs7ICBqYWFyICVkIGhlZWZ0IGdlZW4gd2VlayAlZCIKKworIyBGSVhNRTogYWRkIHRyYW5zbGF0b3IgY29tbWVudAorIzogbWlzYy11dGlscy9jYWwuYzo2NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMiCittc2dzdHIgIiVzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlMDRkIgorbXNnc3RyICIlMDRkIgorCisjIEZJWE1FOiBhZGQgdHJhbnNsYXRvciBjb21tZW50CisjOiBtaXNjLXV0aWxzL2NhbC5jOjY5MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlMDRkIgorbXNnc3RyICIlcyAlMDRkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtbW2RheV0gbW9udGhdIHllYXJdXG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gW1tbZGFnXSBtYWFuZF0gamFhcl1cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vbnRobmFtZT5cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSA8dGlqZHNzdGVtcGVsPnw8bWFhbmRuYWFtPlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5NworbXNnaWQgIkRpc3BsYXkgYSBjYWxlbmRhciwgb3Igc29tZSBwYXJ0IG9mIGl0LlxuIgorbXNnc3RyICJUb29udCBlZW4ga2FsZW5kZXIgb2YgZWVuIGRlZWwgZXJ2YW4uXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk4Cittc2dpZCAiV2l0aG91dCBhbnkgYXJndW1lbnRzLCBkaXNwbGF5IHRoZSBjdXJyZW50IG1vbnRoLlxuIgorbXNnc3RyICJab25kZXIgYXJndW1lbnRlbiB3b3JkdCBkZSBodWlkaWdlIG1hYW5kIGdldG9vbmQuXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMQorbXNnaWQgIiAtMSwgLS1vbmUgICAgICAgICAgICAgc2hvdyBvbmx5IGEgc2luZ2xlIG1vbnRoIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC0xLCAtLW9uZSAgICAgICAgICAgICBzbGVjaHRzIMOpw6luIG1hYW5kIHRvbmVuIChzdGFuZGFhcmQpXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMgorbXNnaWQgIiAtMywgLS10aHJlZSAgICAgICAgICAgc2hvdyB0aHJlZSBtb250aHMgc3Bhbm5pbmcgdGhlIGRhdGVcbiIKK21zZ3N0ciAiICAtMywgLS10aHJlZSAgICAgICAgICAgZHJpZSBtYWFuZGVuIHJvbmRvbSBkZSBkYXR1bSB0b25lblxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDMKK21zZ2lkICIgLW4sIC0tbW9udGhzIDxudW0+ICAgIHNob3cgbnVtIG1vbnRocyBzdGFydGluZyB3aXRoIGRhdGUncyBtb250aFxuIgorbXNnc3RyICIgIC1uLCAtLW1vbnRocyA8Z2V0YWw+ICBkaXQgYWFudGFsIG1hYW5kZW4gdG9uZW4gdmFuYWYgZGUgZGF0dW1cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA0Cittc2dpZCAiIC1TLCAtLXNwYW4gICAgICAgICAgICBzcGFuIHRoZSBkYXRlIHdoZW4gZGlzcGxheWluZyBtdWx0aXBsZSBtb250aHNcbiIKK21zZ3N0ciAiICAtUywgLS1zcGFuICAgICAgICAgICAgZGUgZGF0dW0gb212YXR0ZW4gYmlqIHdlZXJnYXZlIHZhbiBtZWVyZGVyZSBtYWFuZGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNQorbXNnaWQgIiAtcywgLS1zdW5kYXkgICAgICAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAgLXMsIC0tc3VuZGF5ICAgICAgICAgIHpvbmRhZyBpcyBlZXJzdGUgZGFnIHZhbiBkZSB3ZWVrXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNgorbXNnaWQgIiAtbSwgLS1tb25kYXkgICAgICAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAgLW0sIC0tbW9uZGF5ICAgICAgICAgIG1hYW5kYWcgaXMgZWVyc3RlIGRhZyB2YW4gZGUgd2Vla1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDcKK21zZ2lkICIgLWosIC0tanVsaWFuICAgICAgICAgIG91dHB1dCBKdWxpYW4gZGF0ZXNcbiIKK21zZ3N0ciAiICAtaiwgLS1qdWxpYW4gICAgICAgICAgSnVsaWFhbnNlIGRhdHVtcyB3ZWVyZ2V2ZW5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA4Cittc2dpZCAiIC15LCAtLXllYXIgICAgICAgICAgICBzaG93IHRoZSB3aG9sZSB5ZWFyXG4iCittc2dzdHIgIiAgLXksIC0teWVhciAgICAgICAgICAgIGVlbiBoZWVsIGphYXIgdG9uZW5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA5Cittc2dpZCAiIC1ZLCAtLXR3ZWx2ZSAgICAgICAgICBzaG93IHRoZSBuZXh0IHR3ZWx2ZSBtb250aHNcbiIKK21zZ3N0ciAiICAtWSwgLS10d2VsdmUgICAgICAgICAgZGUgdm9sZ2VuZGUgdHdhYWxmIG1hYW5kZW4gdG9uZW5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDEwCittc2dpZCAiIC13LCAtLXdlZWtbPTxudW0+XSAgICBzaG93IFVTIG9yIElTTy04NjAxIHdlZWsgbnVtYmVyc1xuIgorbXNnc3RyICIgIC13LCAtLXdlZWtbPTxnZXRhbD5dICBBbWVyaWthYW5zZSBvZiBJU08tODYwMS13ZWVrbnVtbWVycyB0b25lblxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMTEKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAgIC0tY29sb3JbPTx3YW5uZWVyPl0gIHVpdHZvZXIga2xldXJlbiAoJ2Fsd2F5cycsICdhdXRvJywgb2YgJ25ldmVyJylcbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbHVlPlxuIgorbXNnc3RyICIgICVzIFtvcHRpZXNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHdhYXJkZT5cbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzozMgorbXNnaWQgIkZpbmQgYSBmaWxlc3lzdGVtIGJ5IGxhYmVsIG9yIFVVSUQuXG4iCittc2dzdHIgIlpvZWt0IGVlbiBiZXN0YW5kc3N5c3RlZW0gYWFuIGRlIGhhbmQgdmFuIGxhYmVsIG9mIFVVSUQuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgJyVzJyIKK21zZ3N0ciAia2FuICclcycgbmlldCBoZXJsZWlkZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjk5Cittc2dpZCAic291cmNlIGRldmljZSIKK21zZ3N0ciAiYnJvbmFwcGFyYWF0ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAwCittc2dpZCAibW91bnRwb2ludCIKK21zZ3N0ciAiYWFua29wcGVsaW5nc3B1bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxCittc2dpZCAiZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJiZXN0YW5kc3N5c3RlZW1zb29ydCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAyCittc2dpZCAiYWxsIG1vdW50IG9wdGlvbnMiCittc2dzdHIgImFsbGUgYWFua29wcGVsaW5nc29wdGllcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAzCittc2dpZCAiVkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIlZGUy1zcGVjaWZpZWtlIGFhbmtvcHBlbGluZ3NvcHRpZXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNAorbXNnaWQgIkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgImJlc3RhbmRzc3lzdGVlbXNwZWNpZmlla2UgYWFua29wcGVsaW5nc29wdGllcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA1Cittc2dpZCAiZmlsZXN5c3RlbSBsYWJlbCIKK21zZ3N0ciAiYmVzdGFuZHNzeXN0ZWVtbGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0Cittc2dpZCAiZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICJiZXN0YW5kc3N5c3RlZW0tVVVJRCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA3Cittc2dpZCAicGFydGl0aW9uIGxhYmVsIgorbXNnc3RyICJwYXJ0aXRpZWxhYmVsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDkgbWlzYy11dGlscy9sc2Jsay5jOjE2MAorbXNnaWQgIm1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgImhvb2ZkLTpzdWJhcHBhcmFhdG51bW1lciIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEwCittc2dpZCAiYWN0aW9uIGRldGVjdGVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiYWN0aWUgZ2VkZXRlY3RlZXJkIGRvb3IgJy0tcG9sbCciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMQorbXNnaWQgIm9sZCBtb3VudCBvcHRpb25zIHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAib3VkZSBhYW5rb3BwZWxpbmdzb3B0aWVzIGdlZGV0ZWN0ZWVyZCBkb29yICctLXBvbGwnIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTIKK21zZ2lkICJvbGQgbW91bnRwb2ludCBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgIm91ZCBhYW5rb3BwZWxpbmdzcHVudCBnZWRldGVjdGVlcmQgZG9vciAnLS1wb2xsJyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEzCittc2dpZCAiZmlsZXN5c3RlbSBzaXplIgorbXNnc3RyICJiZXN0YW5kc3N5c3RlZW1ncm9vdHRlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTQKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgYXZhaWxhYmxlIgorbXNnc3RyICJiZXN0YW5kc3N5c3RlZW1ncm9vdHRlIChiZXNjaGlrYmFhcikiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSB1c2VkIgorbXNnc3RyICJiZXN0YW5kc3N5c3RlZW1ncm9vdHRlIChnZWJydWlrdCkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNgorbXNnaWQgImZpbGVzeXN0ZW0gdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgImJlc3RhbmRzc3lzdGVlbWdlYnJ1aWsgKHBlcmNlbnRhZ2UpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTcKK21zZ2lkICJmaWxlc3lzdGVtIHJvb3QiCittc2dzdHIgImJlc3RhbmRzc3lzdGVlbWhvb2ZkbWFwIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTgKK21zZ2lkICJ0YXNrIElEIgorbXNnc3RyICJ0YWFrLUlEIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkKK21zZ2lkICJtb3VudCBJRCIKK21zZ3N0ciAibW91bnQtSUQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMAorbXNnaWQgIm9wdGlvbmFsIG1vdW50IGZpZWxkcyIKK21zZ3N0ciAib3B0aW9uZWxlIG1vdW50LXZlbGRlbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxCittc2dpZCAiVkZTIHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICJWRlMtZG9vcmdhdmV2bGFnZ2VuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIKK21zZ2lkICJkdW1wKDgpIHBlcmlvZCBpbiBkYXlzIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiZHVtcCg4KS1wZXJpb2RlIGluIGRhZ2VuIFthbGxlZW4gaW4gJ2ZzdGFiJ10iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMworbXNnaWQgInBhc3MgbnVtYmVyIG9uIHBhcmFsbGVsIGZzY2soOCkgW2ZzdGFiIG9ubHldIgorbXNnc3RyICJkb29ybG9vcG51bW1lciBiaWogcGFyYWxsZWxsZSBmc2NrKDgpIFthbGxlZW4gaW4gJ2ZzdGFiJ10iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFjdGlvbjogJXMiCittc2dzdHIgIm9uYmVrZW5kZSBhY3RpZTogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0MworbXNnaWQgIm1vdW50IgorbXNnc3RyICJhYW5rb3BwZWxpbmciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0NgorbXNnaWQgInVtb3VudCIKK21zZ3N0ciAiYWZrb3BwZWxpbmciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0OQorbXNnaWQgInJlbW91bnQiCittc2dzdHIgImhlcmFhbmtvcHBlbGluZyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjUyCittc2dpZCAibW92ZSIKK21zZ3N0ciAidmVycGxhYXRzaW5nIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA3NSBzeXMtdXRpbHMvZWplY3QuYzo3MTkKKyM6IHN5cy11dGlscy9tb3VudC5jOjY2OQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmxlIgorbXNnc3RyICJpbml0aWFsaXNlcmVuIHZhbiBsaWJtb3VudC10YWJlbCBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MzkgdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCAlcyIKK21zZ3N0ciAia2FuICVzIG5pZXQgbGV6ZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMTUgbWlzYy11dGlscy9maW5kbW50LmM6MTA4MQorIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjk0IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0ODIKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxODcgc3lzLXV0aWxzL21vdW50LmM6MTM0IHN5cy11dGlscy9tb3VudC5jOjE4MgorIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo1NiBzeXMtdXRpbHMvc3dhcG9mZi5jOjE1NSBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ0CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjc0IHN5cy11dGlscy9zd2Fwb24uYzo3MzMgc3lzLXV0aWxzL3Vtb3VudC5jOjI3NAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGl0ZXJhdG9yIgorbXNnc3RyICJpbml0aWFsaXNlcmVuIHZhbiBsaWJtb3VudC1pdGVyYXRvciBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDg3Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFiZGlmZiIKK21zZ3N0ciAiaW5pdGlhbGlzZXJlbiB2YW4gbGlibW91bnQtdGFiZWx2ZXJzY2hpbCBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTE1Cittc2dpZCAicG9sbCgpIGZhaWxlZCIKK21zZ3N0ciAicG9sbCgpIGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiB8IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlIDxkZXZpY2U+XSBbLS10YXJnZXQgPHBhdGg+IHwgLS1tb3VudHBvaW50IDxkaXI+XVxuIgorbXNnc3RyICIiCisiICAlMSRzIFtvcHRpZXNdXG4iCisiICAlMSRzIFtvcHRpZXNdIDxhcHBhcmFhdD4gfCA8YWFua29wcGVsaW5nc3B1bnQ+XG4iCisiICAlMSRzIFtvcHRpZXNdIDxhcHBhcmFhdD4gPGFhbmtvcHBlbGluZ3NwdW50PlxuIgorIiAgJTEkcyBbb3B0aWVzXSBbLS1zb3VyY2UgPGFwcGFyYWF0Pl0gWy0tdGFyZ2V0IDxwYWQ+IHwgLS1tb3VudHBvaW50IDxtYXA+XVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk2Cittc2dpZCAiRmluZCBhIChtb3VudGVkKSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJab2VrdCBlZW4gKGFhbmdla29wcGVsZCkgYmVzdGFuZHNzeXN0ZWVtLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk5Cittc2dpZCAiIC1zLCAtLWZzdGFiICAgICAgICAgICAgc2VhcmNoIGluIHN0YXRpYyB0YWJsZSBvZiBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIC1zLCAtLWZzdGFiICAgICAgICAgICAgaW4gZGUgc3RhdGlzY2hlIHRhYmVsIHZhbiBiZXN0YW5kc3N5c3RlbWVuIHpvZWtlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAwCittc2dpZCAiIC1tLCAtLW10YWIgICAgICAgICAgICAgc2VhcmNoIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAtbSwgLS1tdGFiICAgICAgICAgICAgIGluIGRlIHRhYmVsIHZhbiBhYW5nZWtvcHBlbGRlIGJlc3RhbmRzc3lzdGVtZW4gem9la2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDEKK21zZ2lkICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgc2VhcmNoIGluIGtlcm5lbCB0YWJsZSBvZiBtb3VudGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlc3lzdGVtcyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorIiAgLWssIC0ta2VybmVsICAgICAgICAgICBpbiBkZSBrZXJuZWx0YWJlbCB2YW4gYWFuZ2Vrb3BwZWxkZSBiZXN0YW5kc3N5c3RlbWVuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgem9la2VuIChzdGFuZGFhcmQpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDQKK21zZ2lkICIgLXAsIC0tcG9sbFs9PGxpc3Q+XSAgICBtb25pdG9yIGNoYW5nZXMgaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIiCisiICAtcCwgLS1wb2xsWz08bGlqc3Q+XSAgIHdpanppZ2luZ2VuIGluIHRhYmVsIHZhbiBhYW5nZWtvcHBlbGRlIGJlc3RhbmRzc3lzdGVtZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9uaXRvcmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDUKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8bnVtPiAgICB1cHBlciBsaW1pdCBpbiBtaWxsaXNlY29uZHMgdGhhdCAtLXBvbGwgd2lsbCBibG9ja1xuIgorbXNnc3RyICIgIC13LCAtLXRpbWVvdXQgPGdldGFsPiAgbWF4aW11bSB0aWpkIChpbiBtaWxsaXNlY29uZGVuKSBkYXQgJy0tcG9sbCcgYmxva2tlZXJ0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDgKK21zZ2lkICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIgorIiAgLUEsIC0tYWxsICAgICAgICAgICAgICBhbGxlIGluZ2Vib3V3ZGUgZmlsdGVycyB1aXRzY2hha2VsZW4gZW4gYWxsZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlc3RhbmRzc3lzdGVtZW4gd2VlcmdldmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDkKK21zZ2lkICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgQVNDSUkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorbXNnc3RyICIgIC1hLCAtLWFzY2lpICAgICAgICAgICAgQVNDSUktdGVrZW5zIGdlYnJ1aWtlbiB2b29yIGhldCB0ZWtlbmVuIHZhbiBkZSBib29tXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTAKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtYiwgLS1ieXRlcyAgICAgICAgICAgIGdyb290dGVzIGluIGJ5dGVzIHdlZXJnZXZlbiBpLnAudi4gaW4gbGVlc2JhcmUgdm9ybVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjExCittc2dpZCAiIC1DLCAtLW5vY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHdoZW4gY29tcGFyaW5nIHBhdGhzXG4iCittc2dzdHIgIiAgLUMsIC0tbm8tY2Fub25pY2FsaXplICBwYWRlbiBiaWogdmVyZ2VsaWprZW4gbmlldCBjYW5vbmllayBtYWtlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEyCittc2dpZCAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKK21zZ3N0ciAiICAtYywgLS1jYW5vbmljYWxpemUgICAgIGdldG9vbmRlIHBhZGVuIGNhbm9uaWVrIG1ha2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTMKK21zZ2lkICIgLUQsIC0tZGYgICAgICAgICAgICAgICBpbWl0YXRlIHRoZSBvdXRwdXQgb2YgZGYoMSlcbiIKK21zZ3N0ciAiICAtRCwgLS1kZiAgICAgICAgICAgICAgIGRlIHVpdHZvZXIgdmFuIGRmKDEpIG5hYm9vdHNlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE0Cittc2dpZCAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKK21zZ3N0ciAiICAtZCwgLS1kaXJlY3Rpb24gPHdvb3JkPiAgem9la3JpY2h0aW5nLCAnZm9yd2FyZCcgb2YgJ2JhY2t3YXJkJ1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE1Cittc2dpZCAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iCittc2dzdHIgIiIKKyIgIC1lLCAtLWV2YWx1YXRlICAgICAgICAgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIG9temV0dGVuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFhciBhcHBhcmFhdG5hbWVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTcKK21zZ2lkICIgLUYsIC0tdGFiLWZpbGUgPHBhdGg+ICBhbHRlcm5hdGl2ZSBmaWxlIGZvciAtcywgLW0gb3IgLWsgb3B0aW9uc1xuIgorbXNnc3RyICIgIC1GLCAtLXRhYi1maWxlIDxwYWQ+ICAgYWx0ZXJuYXRpZWYgYmVzdGFuZCB2b29yIGRlIG9wdGllcyAnLWsnLCAnLW0nIG9mICctcydcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOAorbXNnaWQgIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIHByaW50IHRoZSBmaXJzdCBmb3VuZCBmaWxlc3lzdGVtIG9ubHlcbiIKK21zZ3N0ciAiICAtZiwgLS1maXJzdC1vbmx5ICAgICAgIGFsbGVlbiBoZXQgZWVyc3RnZXZvbmRlbiBiZXN0YW5kc3N5c3RlZW0gdG9uZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOQorbXNnaWQgIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVydCB0aGUgc2Vuc2Ugb2YgbWF0Y2hpbmdcbiIKK21zZ3N0ciAiICAtaSwgLS1pbnZlcnQgICAgICAgICAgIGRlIG92ZXJlZW5rb21zdGVuIGludmVydGVyZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDcgc3lzLXV0aWxzL2xzbnMuYzo2MTkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLUosIC0tanNvbiAgICAgICAgICAgICB1aXR2b2VyIGluIEpTT04tb3BtYWFrIHByb2R1Y2VyZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMSBzeXMtdXRpbHMvbHNucy5jOjYyMAorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtbCwgLS1saXN0ICAgICAgICAgICAgIHVpdHZvZXIgaW4gdm9ybSB2YW4gbGlqc3QgcHJvZHVjZXJlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIyCittc2dpZCAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNlIGFsdGVybmF0aXZlIG5hbWVzcGFjZSAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIGZpbGUpXG4iCittc2dzdHIgIiIKKyIgIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgYWx0ZXJuYXRpZXZlIG5hYW1zcnVpbXRlIGdlYnJ1aWtlblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIChoZXQgL3Byb2MvPHRpZD4vbW91bnRpbmZvIGJlc3RhbmQpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBjb2x1bW4gaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGdlZW4ga29wcmVnZWwgdG9uZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNAorbXNnaWQgIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIgorbXNnc3RyICIgIC1PLCAtLW9wdGlvbnMgPGxpanN0PiAgc2V0IHZhbiBiZXN0YW5kc3N5c3RlbWVuIGJlcGVya2VuIHZpYSBhYW5rb3BwZWxpbmdzb3B0aWVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjUKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICB0aGUgb3V0cHV0IGNvbHVtbnMgdG8gYmUgc2hvd25cbiIKK21zZ3N0ciAiICAtbywgLS1vdXRwdXQgPGxpanN0PiAgIHdlZXIgdGUgZ2V2ZW4gdWl0dm9lcmtvbG9tbWVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjYKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVAsIC0tcGFpcnMgICAgICAgICAgICB1aXR2b2VyIHByb2R1Y2VyZW4gaW4gZGUgdm9ybSB2YW4gc2xldXRlbD1cIndhYXJkZVwiXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjcKK21zZ2lkICIgLVIsIC0tc3VibW91bnRzICAgICAgICBwcmludCBhbGwgc3VibW91bnRzIGZvciB0aGUgbWF0Y2hpbmcgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIgorIiAgLVIsIC0tc3VibW91bnRzICAgICAgICBhbGxlIHN1YmFhbmtvcHBlbGluZ2VuIHRvbmVuIHZvb3Igb3ZlcmVlbmtvbWVuZGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBiZXN0YW5kc3N5c3RlbWVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjgKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtciwgLS1yYXcgICAgICAgICAgICAgIHJhdXdlIHVpdHZvZXIgcHJvZHVjZXJlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5Cittc2dpZCAiIgorIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorbXNnc3RyICIiCisiICAtUywgLS1zb3VyY2UgPHRla3N0PiAgIGhldCBhYW4gdGUga29wcGVsZW4gYXBwYXJhYXQgKHZpYSBuYWFtLCBMQUJFTD0sIFVVSUQ9LFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIFBBUlRVVUlEPSwgUEFSVExBQkVMPSwgb2YgaG9vZmRudW1tbWVyOnN1Ym51bW1lcilcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMQorbXNnaWQgIiAtVCwgLS10YXJnZXQgPHBhdGg+ICAgIHRoZSBwYXRoIHRvIHRoZSBmaWxlc3lzdGVtIHRvIHVzZVxuIgorbXNnc3RyICIgIC1ULCAtLXRhcmdldCA8cGFkPiAgICAgaGV0IHBhZCB2YW4gaGV0IHRlIGdlYnJ1aWtlbiBiZXN0YW5kc3N5c3RlZW1cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMgorbXNnaWQgIiAtTSwgLS1tb3VudHBvaW50IDxkaXI+IHRoZSBtb3VudHBvaW50IGRpcmVjdG9yeVxuIgorbXNnc3RyICIgIC1NLCAtLW1vdW50cG9pbnQgPG1hcD4gICBkZSBtYXAgdmFuIGhldCBhYW5rb3BwZWxpbmdzcHVudFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMzCittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBGUyB0eXBlc1xuIgorbXNnc3RyICIgIC10LCAtLXR5cGVzIDxsaWpzdD4gICAgc2V0IHZhbiBiZXN0YW5kc3N5c3RlbWVuIGJlcGVya2VuIHRvdCBkZXplIHNvb3J0ZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNAorbXNnaWQgIiAtVSwgLS11bmlxICAgICAgICAgICAgIGlnbm9yZSBmaWxlc3lzdGVtcyB3aXRoIGR1cGxpY2F0ZSB0YXJnZXRcbiIKK21zZ3N0ciAiICAtVSwgLS11bmlxICAgICAgICAgICAgIGJlc3RhbmRzc3lzdGVtZW4gbWV0IHJlZWRzIGJlc3RhYW5kIGRvZWwgbmVnZXJlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM1IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMyBzeXMtdXRpbHMvbHNucy5jOjYyNQorbXNnaWQgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGRvbid0IHRydW5jYXRlIHRleHQgaW4gY29sdW1uc1xuIgorbXNnc3RyICIgIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgdGVrc3QgaW4gZGUga29sb21tZW4gbmlldCBhZmthcHBlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM2Cittc2dpZCAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorbXNnc3RyICIgIC12LCAtLW5vZnNyb290ICAgICAgICAgZ2VlbiBbL21hcF0gdG9uZW4gdm9vciBiaW5kIG9mIGJ0cmZzIGFhbmtvcHBlbGluZ2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzkKK21zZ2lkICIgLXgsIC0tdmVyaWZ5ICAgICAgICAgICB2ZXJpZnkgbW91bnQgdGFibGUgY29udGVudCAoZGVmYXVsdCBpcyBmc3RhYilcbiIKK21zZ3N0ciAiIgorIiAgLXgsIC0tdmVyaWZ5ICAgICAgICAgICBpbmhvdWQgdmFuIGFhbmtvcHBlbGluZ3N0YWJlbCBjb250cm9sZXJlblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdGFuZGFhcmQgZnN0YWIpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDAKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiICAgICAgLS12ZXJib3NlICAgICAgICAgIGdlZGV0YWlsbGVlcmRlIHVpdHZvZXIgcHJvZHVjZXJlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzY4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZGlyZWN0aW9uICclcyciCittc2dzdHIgIm9uYmVrZW5kZSByaWNodGluZyAnJXMnIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDQwCittc2dpZCAiaW52YWxpZCBUSUQgYXJndW1lbnQiCittc2dzdHIgIm9uZ2VsZGlnIFRJRC1hcmd1bWVudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUwOQorbXNnaWQgIi0tcG9sbCBhY2NlcHRzIG9ubHkgb25lIGZpbGUsIGJ1dCBtb3JlIHNwZWNpZmllZCBieSAtLXRhYi1maWxlIgorbXNnc3RyICJvcHRpZSAnLS1wb2xsJyBhY2NlcHRlZXJ0IHNsZWNodHMgw6nDqW4gYmVzdGFuZCwgbWFhciAnLS10YWItZmlsZScgZ2VlZnQgZXIgbWVlcmRlcmUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MTMKK21zZ2lkICJvcHRpb25zIC0tdGFyZ2V0IGFuZCAtLXNvdXJjZSBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggY29tbWFuZCBsaW5lIGVsZW1lbnQgdGhhdCBpcyBub3QgYW4gb3B0aW9uIgorbXNnc3RyICJvcHRpZXMgJy0tdGFyZ2V0JyBlbiAnLS1zb3VyY2UnIGdhYW4gbmlldCBzYW1lbiBtZXQgYW5kZXJlIGFyZ3VtZW50ZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1NjIKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBjYWNoZSIKK21zZ3N0ciAiaW5pdGlhbGlzZXJlbiB2YW4gbGlibW91bnQtY2FjaGUgaXMgbWlzbHVrdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTYwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjb2x1bW4gaXMgcmVxdWVzdGVkLCBidXQgLS1wb2xsIGlzIG5vdCBlbmFibGVkIgorbXNnc3RyICJrb2xvbSAlcyB3b3JkdCBnZXZyYWFnZCwgbWFhciAnLS1wb2xsJyBpcyBuaWV0IGdlZ2V2ZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTYKK21zZ2lkICJ0YXJnZXQgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJkb2VsIGlzIG1lZXIgZGFuIGVlbnMgZ2VnZXZlbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBvcmRlcjogJXMgc3BlY2lmaWVkIGJlZm9yZSAlcyIKK21zZ3N0ciAidmVya2VlcmRlIHZvbGdvcmRlOiAlcyBpcyBnZWdldmVuIHZvb3IgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMzMKK21zZ2lkICJ1bmRlZmluZWQgdGFyZ2V0IChmc19maWxlKSIKK21zZ3N0ciAib25nZWRlZmluaWVlcmQgZG9lbCAoZnNfZmlsZSkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWNhbm9uaWNhbCB0YXJnZXQgcGF0aCAocmVhbDogJXMpIgorbXNnc3RyICJuaWV0LWNhbm9uaWVrIGRvZWxwYWQgKHdlcmtlbGlqayBwYWQ6ICVzKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHRhcmdldDogJW0iCittc2dzdHIgIm9uYmVyZWlrYmFhciBiaWotb3BzdGFydGVuLXZlcmVpc3QgZG9lbDogJW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgdGFyZ2V0OiAlbSIKK21zZ3N0ciAib25iZXJlaWtiYWFyIGRvZWw6ICVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTUxCittc2dpZCAidGFyZ2V0IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiZG9lbCBpcyBnZWVuIG1hcCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MworbXNnaWQgInRhcmdldCBleGlzdHMiCittc2dzdHIgImRvZWwgYmVzdGFhdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHNvdXJjZTogJXM9JXMiCittc2dzdHIgIm9uYmVyZWlrYmFyZSBiaWotb3BzdGFydGVuLXZlcmVpc3RlIGJyb24gJXM9JXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGU6ICVzPSVzIgorbXNnc3RyICJvbmJlcmVpa2JhYXI6ICVzPSVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzPSVzIHRyYW5zbGF0ZWQgdG8gJXMiCittc2dzdHIgIiVzPSVzIGlzIHZlcnRhYWxkIG5hYXIgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxOTAKK21zZ2lkICJ1bmRlZmluZWQgc291cmNlIChmc19zcGVjKSIKK21zZ3N0ciAib25nZWRlZmluaWVlcmRlIGJyb24gKGZzX3NwZWMpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHNvdXJjZSB0YWc6ICVzIgorbXNnc3RyICJuaWV0LW9uZGVyc3RldW5kZSBicm9uLXRhZzogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIHNvdXJjZSAocHNldWRvL25ldCkiCittc2dzdHIgIiVzLWJyb24gbmlldCBjb250cm9sZXJlbiAocHNldWRvL25ldCkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgc291cmNlOiAlczogJW0iCittc2dzdHIgIm9uYmVyZWlrYmFyZSBicm9uICVzOiAlbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmluZCBtb3VudCBzb3VyY2UgJXMgaXMgYSBkaXJlY3Rvcnkgb3IgcmVndWxhciBmaWxlIgorbXNnc3RyICJub24tYmluZCBhYW5rb3BwZWxpbmdzYnJvbiAlcyBpcyBlZW4gbWFwIG9mIGdld29vbiBiZXN0YW5kIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgImJyb24gJXMgaXMgZ2VlbiBibG9rLWFwcGFyYWF0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBleGlzdHMiCittc2dzdHIgImJyb24gJXMgYmVzdGFhdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzMAorIywgYy1mb3JtYXQKK21zZ2lkICJWRlMgb3B0aW9uczogJXMiCittc2dzdHIgIlZGUy1vcHRpZXM6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICJCZXN0YW5kc3N5c3RlZW1vcHRpZXM6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM4CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXJzcGFjZSBvcHRpb25zOiAlcyIKK21zZ3N0ciAiR2VicnVpa2Vyc29wdGllczogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHN3YXBhcmVhIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAib25nZWxkaWcgdmVyd2VycGluZ3NiZWxlaWQ6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjYwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzd2FwYXJlYSBwcmlvcml0eSBvcHRpb24iCittc2dzdHIgIm9udGxlZGVuIHZhbiBwcmlvcml0ZWl0IGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIEZTIHR5cGUgKHBzZXVkby9uZXQpIgorbXNnc3RyICIlcy1iZXN0YW5kc3N5c3RlZW1zb29ydCBuaWV0IGNvbnRyb2xlcmVuIChwc2V1ZG8vbmV0KSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQwNgorbXNnaWQgIlwibm9uZVwiIEZTIHR5cGUgaXMgcmVjb21tZW5kZWQgZm9yIGJpbmQgb3IgbW92ZSBvcHJhdGlvbnMgb25seSIKK21zZ3N0ciAiYmVzdGFuZHNzeXN0ZWVtc29vcnQgXCJub25lXCIgd29yZHQgYWxsZWVuIGFhbmdlcmFkZW4gdm9vciAnYmluZCcgb2YgJ21vdmUnIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIkNELVJPTS1zbmVsaGVpZHNrZXV6ZWNvbW1hbmRvIHdvcmR0IG5pZXQgb25kZXJzdGV1bmQgZG9vciBkZXplIGtlcm5lbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyMCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIxCittc2dpZCAiY2Fubm90IGRldGVjdCBvbi1kaXNrIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAia2FuIGJlc3RhbmRzc3lzdGVlbXNvb3J0IG9wIHNjaGlqZiBuaWV0IGRldGVybWluZXJlbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBtYXRjaCB3aXRoIG9uLWRpc2sgJXMiCittc2dzdHIgIiVzIGtvbXQgbmlldCBvdmVyZWVuIG1ldCAlcyBvcCBzY2hpamYiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9uLWRpc2sgJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICJDRC1ST00tc25lbGhlaWRza2V1emVjb21tYW5kbyB3b3JkdCBuaWV0IG9uZGVyc3RldW5kIGRvb3IgZGV6ZSBrZXJuZWwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlMgdHlwZSBpcyAlcyIKK21zZ3N0ciAiQmVzdGFuZHNzeXN0ZWVtc29vcnQgaXMgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjb21tZW5kZWQgcm9vdCBGUyBwYXNzbm8gaXMgMSAoY3VycmVudCBpcyAlZCkiCittc2dzdHIgImhldCBhYW5nZXJhZGVuIGZzY2stdm9sZ29yZGVudW1tZXIgdm9vciBoZXQgaG9vZmRiZXN0YW5kc3N5c3RlZW0gaXMgMSAobW9tZW50ZWVsIGlzIGhldCAlZCkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgcGFyc2UgZXJyb3IiCittc2dpZF9wbHVyYWwgIiVkIHBhcnNlIGVycm9ycyIKK21zZ3N0clswXSAiJWQgb250bGVkaW5nc2ZvdXQiCittc2dzdHJbMV0gIiVkIG9udGxlZGluZ3Nmb3V0ZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCAlZCBlcnJvciIKK21zZ2lkX3BsdXJhbCAiLCAlZCBlcnJvcnMiCittc2dzdHJbMF0gIiwgJWQgZm91dCIKK21zZ3N0clsxXSAiLCAlZCBmb3V0ZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCAlZCB3YXJuaW5nIgorbXNnaWRfcGx1cmFsICIsICVkIHdhcm5pbmdzIgorbXNnc3RyWzBdICIsICVkIHdhYXJzY2h1d2luZyIKK21zZ3N0clsxXSAiLCAlZCB3YWFyc2NodXdpbmdlbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxNworIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzLCBubyBlcnJvcnMgb3Igd2FybmluZ3MgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiR2VsdWt0IC0tIGdlZW4gZm91dGVuIG9mIHdhYXJzY2h1d2luZ2VuIGdldm9uZGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiVHlwICclcyAtLWhlbHAnIHZvb3IgbWVlciBpbmZvcm1hdGllLlxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMwNAorbXNnaWQgImVtcHR5IGxvbmcgb3B0aW9uIGFmdGVyIC1sIG9yIC0tbG9uZyBhcmd1bWVudCIKK21zZ3N0ciAibGVnZSBvcHRpZXJlZWtzIG5hIG9wdGllICctbCcgb2YgJy0tbG9uZyciCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzI1Cittc2dpZCAidW5rbm93biBzaGVsbCBhZnRlciAtcyBvciAtLXNoZWxsIGFyZ3VtZW50IgorbXNnc3RyICJvbmJla2VuZGUgc2hlbGwgbmEgb3B0aWUgJy1zJyBvZiAnLS1zaGVsbCciCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tXSA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLW98LS1vcHRpb25zIDxvcHRzdHJpbmc+IFtvcHRpb25zXSBbLS1dIDxwYXJhbWV0ZXJzPlxuIgorbXNnc3RyICIiCisiICAlMSRzIDxvcHRpZXJlZWtzPiA8cGFyYW1ldGVycz5cbiIKKyIgICUxJHMgW29wdGllc10gWy0tXSA8b3B0aWVyZWVrcz4gPHBhcmFtZXRlcnM+XG4iCisiICAlMSRzIFtvcHRpZXNdIC1vfC0tb3B0aW9ucyA8b3B0aWVyZWVrcz4gW29wdGllc10gWy0tXSA8cGFyYW1ldGVycz5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzgKK21zZ2lkICJQYXJzZSBjb21tYW5kIG9wdGlvbnMuXG4iCittc2dzdHIgIk9udGxlZWR0IGRlIGJpaiBlZW4gb3BkcmFjaHQgZ2VnZXZlbiBvcHRpZXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQxCittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIGFsbG93IGxvbmcgb3B0aW9ucyBzdGFydGluZyB3aXRoIHNpbmdsZSAtXG4iCittc2dzdHIgIiAgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAgbGFuZ2Ugb3B0aWVzIG1ldCDDqcOpbiAnLScgdG9lc3RhYW5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDIKK21zZ2lkICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiAgdGhlIGxvbmcgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAgLWwsIC0tbG9uZ29wdGlvbnM9PG9wdGllcmVla3M+ICB0ZSBoZXJrZW5uZW4gbGFuZ2Ugb3B0aWVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQzCittc2dpZCAiIC1uLCAtLW5hbWUgPHByb2duYW1lPiAgICAgICAgIHRoZSBuYW1lIHVuZGVyIHdoaWNoIGVycm9ycyBhcmUgcmVwb3J0ZWRcbiIKK21zZ3N0ciAiICAtbiwgLS1uYW1lPTxwcm9ncmFtbWFuYWFtPiAgICBmb3V0ZW4gcmFwcG9ydGVyZW4gb25kZXIgZGV6ZSBuYWFtXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ0Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAgIHRoZSBzaG9ydCBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPTxvcHRpZXJlZWtzPiAgICB0ZSBoZXJrZW5uZW4ga29ydGUgb3B0aWVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ1Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGRpc2FibGUgZXJyb3IgcmVwb3J0aW5nIGJ5IGdldG9wdCgzKVxuIgorbXNnc3RyICIgIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGZvdXRyYXBwb3J0YWdlIHZhbiBnZXRvcHQoMykgdWl0emV0dGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ2Cittc2dpZCAiIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgIG5vIG5vcm1hbCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICBnZXdvbmUgdWl0dm9lciBvbmRlcmRydWtrZW5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDcKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgc2V0IHF1b3RpbmcgY29udmVudGlvbnMgdG8gdGhvc2Ugb2YgPHNoZWxsPlxuIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgIGFhbmhhbGluZ3Njb252ZW50aWVzIHZhbiBkZXplIHNoZWxsIGdlYnJ1aWtlblxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0OAorbXNnaWQgIiAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICB0ZXN0IGZvciBnZXRvcHQoMSkgdmVyc2lvblxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIGJlcGFsZW4gb2YgZGl0IGVlbiB2ZXJiZXRlcmRlIGdldG9wdCgxKSBpc1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0OQorbXNnaWQgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICBkbyBub3QgcXVvdGUgdGhlIG91dHB1dFxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGVkICAgICAgICAgICAgICAgIGRlIHVpdHZvZXIgbmlldCBhYW5oYWxlblxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM5OSBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1OQorbXNnaWQgIm1pc3Npbmcgb3B0c3RyaW5nIGFyZ3VtZW50IgorbXNnc3RyICJvbnRicmVrZW5kZSBvcHRpZXJlZWtzIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1NAorbXNnaWQgImludGVybmFsIGVycm9yLCBjb250YWN0IHRoZSBhdXRob3IuIgorbXNnc3RyICIqKmludGVybmUgcHJvZ3JhbW1hZm91dCoqOyBuZWVtIGNvbnRhY3Qgb3AgbWV0IGRlIGF1dGV1ciIKKworIzogbWlzYy11dGlscy9raWxsLmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsICVzOyB2YWxpZCBzaWduYWxzOiIKK21zZ3N0ciAib25iZWtlbmQgc2lnbmFhbCAlczsgZ2VsZGlnZSBzaWduYWxlbiB6aWpuOiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBpZD58PG5hbWU+Li4uXG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gPFBJRD58PHByb2Nlc25hYW0+Li4uXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwNQorbXNnaWQgIkZvcmNpYmx5IHRlcm1pbmF0ZSBhIHByb2Nlc3MuXG4iCittc2dzdHIgIkVlbiBwcm9jZXMgZ2Vmb3JjZWVyZCBiZcOraW5kaWdlbiwgb2Z0ZXdlbCBlbGltaW5lcmVuLlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDgKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IHRoZSBuYW1lLXRvLXBpZCBjb252ZXJzaW9uIHRvIHByb2Nlc3Nlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgc2FtZSB1aWQgYXMgdGhlIHByZXNlbnQgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisiICAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIGhlcmxlaWRpbmcgdmFuIG5hYW0gbmFhciBQSUQgbmlldCBiZXBlcmtlbiB0b3RcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzZW4gbWV0IHplbGZkZSBVSUQgYWxzIGh1aWRpZ2UgcHJvY2VzXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMAorbXNnaWQgIiAtcywgLS1zaWduYWwgPHNpZ25hbD4gIHNlbmQgdGhpcyA8c2lnbmFsPiBpbnN0ZWFkIG9mIFNJR1RFUk1cbiIKK21zZ3N0ciAiICAtcywgLS1zaWduYWwgPHNpZ25hYWw+ICAgIHRlIHplbmRlbiBzaWduYWFsIChpbiBwbGFhdHMgdmFuIFNJR1RFUk0pXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMgorbXNnaWQgIiAtcSwgLS1xdWV1ZSA8dmFsdWU+ICAgIHVzZSBzaWdxdWV1ZSgyKSwgbm90IGtpbGwoMiksIGFuZCBwYXNzIDx2YWx1ZT4gYXMgZGF0YVxuIgorbXNnc3RyICIgIC1xLCAtLXF1ZXVlIDxnZXRhbD4gICAgICAgc2lncXVldWUoMikgZ2VicnVpa2VuIG1ldCA8Z2V0YWw+IGFscyBkYXRhXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNAorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICAgIHByaW50IHBpZHMgd2l0aG91dCBzaWduYWxpbmcgdGhlbVxuIgorbXNnc3RyICIgIC1wLCAtLXBpZCAgICAgICAgICAgICAgICAgUElEJ3MgdG9uZW4gaW4gcGxhYXRzIHZhbiBlZW4gc2lnbmFhbCB0ZSB6ZW5kZW5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE1Cittc2dpZCAiIC1sLCAtLWxpc3RbPTxzaWduYWw+XSAgbGlzdCBzaWduYWwgbmFtZXMsIG9yIGNvbnZlcnQgYSBzaWduYWwgbnVtYmVyIHRvIGEgbmFtZVxuIgorbXNnc3RyICIgIC1sLCAtLWxpc3RbPTxzaWduYWFsPl0gICAgc2lnbmFhbG5hbWVuIHRvbmVuLCBvZiBlZW50amUgbmFhciBuYWFtIGNvbnZlcnRlcmVuXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNgorbXNnaWQgIiAtTCwgLS10YWJsZSAgICAgICAgICAgIGxpc3Qgc2lnbmFsIG5hbWVzIGFuZCBudW1iZXJzXG4iCittc2dzdHIgIiAgLUwsIC0tdGFibGUgICAgICAgICAgICAgICB0YWJlbCB2YW4gc2lnbmFhbG5hbWVuIGVuIC1udW1tZXJzIHRvbmVuXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNworbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IHBpZHMgdGhhdCB3aWxsIGJlIHNpZ25hbGVkXG4iCittc2dzdHIgIiAgICAgIC0tdmVyYm9zZSAgICAgICAgICAgICB0b25lbiB3ZWxrZSBQSUQncyBlZW4gc2lnbmFhbCB6dWxsZW4ga3JpamdlblxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozNjcgbWlzYy11dGlscy9raWxsLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsOiAlcyIKK21zZ3N0ciAib25iZWtlbmQgc2lnbmFhbCAlcyIKKworIzogbWlzYy11dGlscy9raWxsLmM6Mzg3IG1pc2MtdXRpbHMva2lsbC5jOjM5MCBtaXNjLXV0aWxzL2tpbGwuYzozOTkKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQxMSBtaXNjLXV0aWxzL2tpbGwuYzo0MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIm9wdGllcyAlcyBlbiAlcyBnYWFuIG5pZXQgc2FtZW4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM5NiBtaXNjLXV0aWxzL2tpbGwuYzo0MzggbWlzYy11dGlscy9yZW5hbWUuYzoxNzQKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc4OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc5OAorbXNnaWQgIm5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJ0ZSB3ZWluaWcgYXJndW1lbnRlbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDA5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICJvcHRpZSAnJXMnIHZlcmVpc3QgZWVuIGFyZ3VtZW50IgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MTQgc3lzLXV0aWxzL2VqZWN0LmM6MjA1IHN5cy11dGlscy9lamVjdC5jOjIzMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2ODkgc3lzLXV0aWxzL3R1bmVscC5jOjE2MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTY4CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTc1IHN5cy11dGlscy90dW5lbHAuYzoxODIgc3lzLXV0aWxzL3R1bmVscC5jOjE4OQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE5NSBzeXMtdXRpbHMvdHVuZWxwLmM6MTk5IHN5cy11dGlscy90dW5lbHAuYzoyMDYKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyMzEgdGVybS11dGlscy9zZXR0ZXJtLmM6MjEzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxNgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTEgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk4CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMDAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzEyIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxNAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzIzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMzMSB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzYyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNzMgdGVybS11dGlscy9zZXR0ZXJtLmM6NTM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0MAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTQ1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NzQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU3OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODQgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg5CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTQgdGVybS11dGlscy9zZXR0ZXJtLmM6NTk5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwNworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NjQwCittc2dpZCAiYXJndW1lbnQgZXJyb3IiCittc2dzdHIgIm9uanVpc3QgYXJndW1lbnQiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNpZ25hbCBuYW1lIG9yIG51bWJlcjogJXMiCittc2dzdHIgIm9uZ2VsZGlnZSBzaWduYWFsbmFhbSBvZiAtbnVtbWVyOiAlcyIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsICVkIHRvIHBpZCAlZFxuIgorbXNnc3RyICJ6ZW5kZW4gdmFuIHNpZ25hYWwgJWQgbmFhciBQSUQgJWRcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiemVuZGVuIHZhbiBzaWduYWFsIG5hYXIgJXMgaXMgbWlzbHVrdCIKKworIzogbWlzYy11dGlscy9raWxsLmM6NTA3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHByb2Nlc3MgXCIlc1wiIgorbXNnc3RyICJrYW4gcHJvY2VzICclcycgbmlldCB2aW5kZW4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjIyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgbmFtZTogJXMiCittc2dzdHIgIm9uYmVrZW5kZSB2b29yemllbmluZ3NuYWFtIGluIHByaW9yaXRlaXQ6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHByaW9yaXR5IG5hbWU6ICVzIgorbXNnc3RyICJvbmJla2VuZGUgcHJpb3JpdGVpdHNuYWFtOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlbmxvZyAlczogcGF0aG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm9wZW5sb2cgJXM6IHBhZG5hYW0gaXMgdGUgbGFuZyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAic29ja2V0ICVzIgorbXNnc3RyICJzb2NrZXQgJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIG5hbWUgJXMgcG9ydCAlczogJXMiCittc2dzdHIgImhlcmxlaWRlbiB2YW4gbmFhbSAlcyBwb29ydCAlcyBpcyBtaXNsdWt0OiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNvbm5lY3QgdG8gJXMgcG9ydCAlcyIKK21zZ3N0ciAidmVyYmluZGVuIG1ldCAlcyBwb29ydCAlcyBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjM1MgorIywgYy1mb3JtYXQKK21zZ2lkICJtYXhpbXVtIGlucHV0IGxpbmVzICglZCkgZXhjZWVkZWQiCittc2dzdHIgIm1heGltdW0gYWFudGFsIGludm9lcnJlZ2VscyAoJWQpIGlzIG92ZXJzY2hyZWRlbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo0ODcKK21zZ2lkICJzZW5kIG1lc3NhZ2UgZmFpbGVkIgorbXNnc3RyICJ6ZW5kZW4gdmFuIGJlcmljaHQgaXMgbWlzbHVrdCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RydWN0dXJlZCBkYXRhIElEICclcycgaXMgbm90IHVuaXF1ZSIKK21zZ3N0ciAiSUQgJyVzJyB2b29yIGdlc3RydWN0dXJlZXJkZSBkYXRhIGlzIG5pZXQgdW5pZWsiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tc2QtaWQgd2FzIG5vdCBzcGVjaWZpZWQgZm9yIC0tc2QtcGFyYW0gJXMiCittc2dzdHIgIictLXNkLWlkJyB3ZXJkIG5pZXQgZ2VnZXZlbiB2b29yICctLXNkLXBhcmFtICVzJyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NTQKK21zZ2lkICJsb2NhbHRpbWUoKSBmYWlsZWQiCittc2dzdHIgImxvY2FsdGltZSgpIGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzY0CisjLCBjLWZvcm1hdAorbXNnaWQgImhvc3RuYW1lICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgImhvc3RuYWFtICclcycgaXMgdGUgbGFuZyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGFnICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgImxhYmVsICclcycgaXMgdGUgbGFuZyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdW5rbm93biBvcHRpb24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICJvbmJla2VuZCBvcHRpZS1hcmd1bWVudCAlcyB3b3JkdCBnZW5lZ2VlcmQiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzOiB1c2luZyBhdXRvbWF0aWMgZXJyb3JzIgorbXNnc3RyICJvbmdlbGRpZyBhcmd1bWVudDogJXMgLS0gJ2F1dG8nIHdvcmR0IGdlYnJ1aWt0IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjk5NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bWVzc2FnZT5dXG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gWzxiZXJpY2h0Pl1cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo5OTcKK21zZ2lkICJFbnRlciBtZXNzYWdlcyBpbnRvIHRoZSBzeXN0ZW0gbG9nLlxuIgorbXNnc3RyICJTY2hyaWpmdCBiZXJpY2h0ZW4gbmFhciBoZXQgc3lzdGVlbWxvZ2JvZWsuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMAorbXNnaWQgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgbG9nIHRoZSBsb2dnZXIgY29tbWFuZCdzIFBJRFxuIgorbXNnc3RyICIgIC1pICAgICAgICAgICAgICAgICAgICAgZGUgUElEIHZhbiBoZXQgbG9nZ2VyLWNvbW1hbmRvIGxvZ2dlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDEKK21zZ2lkICIgICAgIC0taWRbPTxpZD5dICAgICAgICAgIGxvZyB0aGUgZ2l2ZW4gPGlkPiwgb3Igb3RoZXJ3aXNlIHRoZSBQSURcbiIKK21zZ3N0ciAiICAgICAgLS1pZFs9PElEPl0gICAgICAgIG9uZGVyIDxJRD4gbG9nZ2VuICAoc3RhbmRhYXJkIGlzIGRlIFBJRClcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAyCittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICAgICBsb2cgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZVxuIgorbXNnc3RyICIgIC1mLCAtLWZpbGUgPGJlc3RhbmQ+ICAgZGUgaW5ob3VkIHZhbiBkaXQgYmVzdGFuZCBsb2dnZW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAzCittc2dpZCAiIC1lLCAtLXNraXAtZW1wdHkgICAgICAgICBkbyBub3QgbG9nIGVtcHR5IGxpbmVzIHdoZW4gcHJvY2Vzc2luZyBmaWxlc1xuIgorbXNnc3RyICIgIC1lLCAtLXNraXAtZW1wdHkgICAgICAgbGVnZSByZWdlbHMgbmlldCBsb2dnZW4gYmlqIHZlcndlcmtlbiB2YW4gYmVzdGFuZGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNAorbXNnaWQgIiAgICAgLS1uby1hY3QgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIHdyaXRlIHRoZSBsb2dcbiIKK21zZ3N0ciAiICAgICAgLS1uby1hY3QgICAgICAgICAgIGFsbGVzIGRvZW4gYmVoYWx2ZSBoZXQgbG9nYmVyaWNodCBzY2hyaWp2ZW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA1Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBtYXJrIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiAgLXAsIC0tcHJpb3JpdHkgPGdldGFsPiAgIGdlZ2V2ZW4gYmVyaWNodCBtZXQgZGV6ZSBwcmlvcml0ZWl0IG1hcmtlcmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNgorbXNnaWQgIiAgICAgLS1vY3RldC1jb3VudCAgICAgICAgdXNlIHJmYzY1ODcgb2N0ZXQgY291bnRpbmdcbiIKK21zZ3N0ciAiICAgICAgLS1vY3RldC1jb3VudCAgICAgIGRlIG9jdGV0LXRlbGxpbmcgdmFuIFJGQy02NTg3IGdlYnJ1aWtlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDcKK21zZ2lkICIgICAgIC0tcHJpby1wcmVmaXggICAgICAgIGxvb2sgZm9yIGEgcHJlZml4IG9uIGV2ZXJ5IGxpbmUgcmVhZCBmcm9tIHN0ZGluXG4iCittc2dzdHIgIiAgICAgIC0tcHJpby1wcmVmaXggICAgICBuYWFyIHByZWZpeCBraWprZW4gb3AgZWxrZSByZWdlbCB2YW4gc3RhbmRhYXJkaW52b2VyXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwOAorbXNnaWQgIiAtcywgLS1zdGRlcnIgICAgICAgICAgICAgb3V0cHV0IG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IgYXMgd2VsbFxuIgorbXNnc3RyICIgIC1zLCAtLXN0ZGVyciAgICAgICAgICAgYmVyaWNodCBvb2sgbmFhciBzdGFuZGFhcmRmb3V0dWl0dm9lciBzY2hyaWp2ZW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA5Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICBtYXhpbXVtIHNpemUgZm9yIGEgc2luZ2xlIG1lc3NhZ2VcbiIKK21zZ3N0ciAiICAtUywgLS1zaXplIDxnZXRhbD4gICAgIG1heGltdW1ncm9vdHRlIHZhbiBlZW4gZW5rZWwgYmVyaWNodFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTAKK21zZ2lkICIgLXQsIC0tdGFnIDx0YWc+ICAgICAgICAgIG1hcmsgZXZlcnkgbGluZSB3aXRoIHRoaXMgdGFnXG4iCittc2dzdHIgIiAgLXQsIC0tdGFnIDx0ZWtzdGplPiAgICBlbGtlIHJlZ2VsIGxhYmVsZW4gbWV0IGRpdCB0ZWtzdGplXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMQorbXNnaWQgIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorbXNnc3RyICIgIC1uLCAtLXNlcnZlciA8bmFhbT4gICAgbmFhciBkZXplIHN5c2xvZy1zZXJ2ZXIgb3AgYWZzdGFuZCBsb2dnZW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEyCittc2dpZCAiIC1QLCAtLXBvcnQgPHBvcnQ+ICAgICAgICB1c2UgdGhpcyBwb3J0IGZvciBVRFAgb3IgVENQIGNvbm5lY3Rpb25cbiIKK21zZ3N0ciAiICAtUCwgLS1wb3J0IDxudW1tZXI+ICAgIHRlIGdlYnJ1aWtlbiBwb29ydCB2b29yIFVEUC0gb2YgVENQLXZlcmJpbmRpbmdcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEzCittc2dpZCAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICB1c2UgVENQIG9ubHlcbiIKK21zZ3N0ciAiICAtVCwgLS10Y3AgICAgICAgICAgICAgIGFsbGVlbiBUQ1AgZ2VicnVpa2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNAorbXNnaWQgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCittc2dzdHIgIiAgLWQsIC0tdWRwICAgICAgICAgICAgICBhbGxlZW4gVURQIGdlYnJ1aWtlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTUKK21zZ2lkICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIHVzZSB0aGUgb2Jzb2xldGUgQlNEIHN5c2xvZyBwcm90b2NvbFxuIgorbXNnc3RyICIgICAgICAtLXJmYzMxNjQgICAgICAgICAgaGV0IHZlcm91ZGVyZGUgQlNELXN5c2xvZy1wcm90b2NvbCBnZWJydWlrZW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE2Cittc2dpZCAiIgorIiAgICAgLS1yZmM1NDI0Wz08c25pcD5dICAgdXNlIHRoZSBzeXNsb2cgcHJvdG9jb2wgKHRoZSBkZWZhdWx0IGZvciByZW1vdGUpO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c25pcD4gY2FuIGJlIG5vdGltZSwgb3Igbm90cSwgYW5kL29yIG5vaG9zdFxuIgorbXNnc3RyICIiCisiICAgICAgLS1yZmM1NDI0Wz08d2VnPl0gIGhldCBuaWV1d2UgcHJvdG9jb2wgZ2VicnVpa2VuICAoc3RhbmRhYXJkIG9wIGFmc3RhbmQpO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d2VnPiBrYW4gemlqbjogJ25vdGltZScsIG9mICdub3RxJywgZW4vb2YgJ25vaG9zdCdcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE4Cittc2dpZCAiICAgICAtLXNkLWlkIDxpZD4gICAgICAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBJRFxuIgorbXNnc3RyICIgICAgICAtLXNkLWlkIDxJRD4gICAgICAgZ2VzdHJ1Y3R1cmVlcmRlZGF0YS1JRCB2b29yIFJGQy01NDI0XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxOQorbXNnaWQgIiAgICAgLS1zZC1wYXJhbSA8ZGF0YT4gICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgbmFtZT12YWx1ZVxuIgorbXNnc3RyICIgICAgICAtLXNkLXBhcmFtIDxkYXRhPiAgZ2VzdHJ1Y3R1cmVlcmRlIGRhdGEgKG5hYW09d2FhcmRlKSB2b29yIFJGQy01NDI0XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMAorbXNnaWQgIiAgICAgLS1tc2dpZCA8bXNnaWQ+ICAgICAgc2V0IHJmYzU0MjQgbWVzc2FnZSBpZCBmaWVsZFxuIgorbXNnc3RyICIgICAgICAtLW1zZ2lkIDxiZXJpY2h0LUlEPiAgIGJlcmljaHQtSUQgdm9vciBSRkMtNTQyNFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjEKK21zZ2lkICIgLXUsIC0tc29ja2V0IDxzb2NrZXQ+ICAgIHdyaXRlIHRvIHRoaXMgVW5peCBzb2NrZXRcbiIKK21zZ3N0ciAiICAtdSwgLS1zb2NrZXQgPGFwcGFyYWF0PiAgICBuYWFyIGRlemUgVW5peC1zb2NrZXQgc2NocmlqdmVuXG4iCisKKyMgRklYTUU6IG5vIGFuZ3VsYXIgYnJhY2tldHMgYXJvdW5kIGxpdGVyYWxzCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjIKK21zZ2lkICIiCisiICAgICAtLXNvY2tldC1lcnJvcnNbPTxvbnxvZmZ8YXV0bz5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludCBjb25uZWN0aW9uIGVycm9ycyB3aGVuIHVzaW5nIFVuaXggc29ja2V0c1xuIgorbXNnc3RyICIgICAgICAtLXNvY2tldC1lcnJvcnNbPW9ufG9mZnxhdXRvXSAgdmVyYmluZGluZ3Nmb3V0ZW4gbWV0IFVuaXggc29ja2V0cyBtZWxkZW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDI1Cittc2dpZCAiICAgICAtLWpvdXJuYWxkWz08ZmlsZT5dICB3cml0ZSBqb3VybmFsZCBlbnRyeVxuIgorbXNnc3RyICIgICAgICAtLWpvdXJuYWxkWz08YmVzdGFuZD5dICAgZWVuIGpvdXJuYWxkLWl0ZW0gc2NocmlqdmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTExMgorIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlICVzIgorbXNnc3RyICJiZXN0YW5kICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExMjcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgaWQiCittc2dzdHIgIm9udGxlZGVuIHZhbiBJRCBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNDUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWVzc2FnZSBzaXplIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gYmVyaWNodGdyb290dGUgaXMgbWlzbHVrdCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTgwCittc2dpZCAiLS1tc2dpZCBjYW5ub3QgY29udGFpbiBzcGFjZSIKK21zZ3N0ciAiZWVuIGJlcmljaHQtSUQgbWFnIGdlZW4gc3BhdGllIGJldmF0dGVuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgSUQ6ICclcyciCittc2dzdHIgIm9uZ2VsZGlnIElEIHZvb3IgZ2VzdHJ1Y3R1cmVlcmRlIGRhdGE6ICclcyciCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIwNworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBwYXJhbWV0ZXI6ICclcyciCittc2dzdHIgIm9uZ2VsZGlnIGFyZ3VtZW50IHZvb3IgZ2VzdHJ1Y3R1cmVlcmRlIGRhdGE6ICclcyciCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIxOAorbXNnaWQgIi0tZmlsZSA8ZmlsZT4gYW5kIDxtZXNzYWdlPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLCBtZXNzYWdlIGlzIGlnbm9yZWQiCittc2dzdHIgImVlbiBiZXN0YW5kIGVuIGVlbiBiZXJpY2h0IGdhYW4gbmlldCBzYW1lbjsgaGV0IGJlcmljaHQgd29yZHQgZ2VuZWdlZXJkIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMjUKK21zZ2lkICJqb3VybmFsZCBlbnRyeSBjb3VsZCBub3QgYmUgd3JpdHRlbiIKK21zZ3N0ciAiam91cm5hbGQtaXRlbSBrb24gbmlldCBnZXNjaHJldmVuIHdvcmRlbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHN0cmluZz4gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSA8dGVrZW5yZWVrcz4gWzxiZXN0YW5kPi4uLl1cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzU4Cittc2dpZCAiRGlzcGxheSBsaW5lcyBiZWdpbm5pbmcgd2l0aCBhIHNwZWNpZmllZCBzdHJpbmcuXG4iCittc2dzdHIgIlRvb250IHJlZ2VscyBkaWUgbWV0IGRlIGFhbmdlZ2V2ZW4gdGVrZW5yZWVrcyBiZWdpbm5lbi5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYxCittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICB1c2UgdGhlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIKK21zZ3N0ciAiICAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICBoZXQgYWx0ZXJuYXRpZXZlIHdvb3JkZW5ib2VrIGdlYnJ1aWtlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjIKK21zZ2lkICIgLWQsIC0tYWxwaGFudW0gICAgICAgICAgIGNvbXBhcmUgb25seSBibGFua3MgYW5kIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAgLWQsIC0tYWxwaGFudW0gICAgICAgICAgICBhbGxlZW4gd2l0cnVpbXRlIGVuIGFsZmFudW1lcmlla2UgdGVrZW5zIHZlcmdlbGlqa2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MworbXNnaWQgIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIKK21zZ3N0ciAiICAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgIHZlcnNjaGlsIHR1c3NlbiBob29mZC0gZW4ga2xlaW5lIGxldHRlcnMgbmVnZXJlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjQKK21zZ2lkICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiAgIGRlZmluZSB0aGUgc3RyaW5nLXRlcm1pbmF0aW9uIGNoYXJhY3RlclxuIgorbXNnc3RyICIgIC10LCAtLXRlcm1pbmF0ZSA8dGVrZW4+ICAgaGV0IHRla2VuIGRhdCBlZW4gdGVrZW5yZWVrcyBiZcOraW5kaWd0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTcKK21zZ2lkICJkZXZpY2UgbmFtZSIKK21zZ3N0ciAiYXBwYXJhYXRuYWFtIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU4Cittc2dpZCAiaW50ZXJuYWwga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICJpbnRlcm5lIGtlcm5lbGFwcGFyYWF0bmFhbSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OQorbXNnaWQgImludGVybmFsIHBhcmVudCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgImludGVybmUgb3VkZXIta2VybmVsYXBwYXJhYXRuYWFtIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyIHN5cy11dGlscy96cmFtY3RsLmM6ODQKK21zZ2lkICJ3aGVyZSB0aGUgZGV2aWNlIGlzIG1vdW50ZWQiCittc2dzdHIgIndhYXIgaGV0IGFwcGFyYWF0IGlzIGFhbmdla29wcGVsZCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MworbXNnaWQgImZpbGVzeXN0ZW0gTEFCRUwiCittc2dzdHIgImJlc3RhbmRzc3lzdGVlbWxhYmVsIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2Cittc2dpZCAicGFydGl0aW9uIHR5cGUgVVVJRCIKK21zZ3N0ciAicGFydGl0aWV0eXBlLVVVSUQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjcKK21zZ2lkICJwYXJ0aXRpb24gTEFCRUwiCittc2dzdHIgInBhcnRpdGllbGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzEKK21zZ2lkICJyZWFkLWFoZWFkIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgInZvb3J1aXRsZXppbmcgdmFuIGhldCBhcHBhcmFhdCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAiYWxsZWVubGV6ZW4tYXBwYXJhYXQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzMKK21zZ2lkICJyZW1vdmFibGUgZGV2aWNlIgorbXNnc3RyICJ2ZXJ3aWpkZXJiYWFyIGFwcGFyYWF0IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc0Cittc2dpZCAicmVtb3ZhYmxlIG9yIGhvdHBsdWcgZGV2aWNlICh1c2IsIHBjbWNpYSwgLi4uKSIKK21zZ3N0ciAidmVyd2lqZGVyYmFhciBvZiBob3RwbHVnLWJhYXIgYXBwYXJhYXQgKFVTQiwgUENNQ0lBLCAuLi4pIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc1Cittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgInJvdGVyZW5kIGFwcGFyYWF0IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc2Cittc2dpZCAiYWRkcyByYW5kb21uZXNzIgorbXNnc3RyICJ2b2VndCB3aWxsZWtldXJpZ2hlaWQgdG9lIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc3Cittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIiCittc2dzdHIgImFwcGFyYWF0LUlEIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc4Cittc2dpZCAiZGlzayBzZXJpYWwgbnVtYmVyIgorbXNnc3RyICJzY2hpamYtc2VyaWVudW1tZXIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzkKK21zZ2lkICJzaXplIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgImFwcGFyYWF0Z3Jvb3R0ZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MAorbXNnaWQgInN0YXRlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgImFwcGFyYWF0dG9lc3RhbmQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODIKK21zZ2lkICJncm91cCBuYW1lIgorbXNnc3RyICJncm9lcHNuYWFtIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgzCittc2dpZCAiZGV2aWNlIG5vZGUgcGVybWlzc2lvbnMiCittc2dzdHIgInRvZWdhbmdzcmVjaHRlbiB2YW4gYXBwYXJhYXQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODQKK21zZ2lkICJhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICJ1aXRsaWpuaW5nc3Bvc2l0aWUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODUKK21zZ2lkICJtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICJtaW5pbWFsZSBpbi0vdWl0dm9lcmdyb290dGUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODYKK21zZ2lkICJvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICJvcHRpbWFsZSBpbi0vdWl0dm9lcmdyb290dGUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODcKK21zZ2lkICJwaHlzaWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAiZnlzaWVrZSBzZWN0b3Jncm9vdHRlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg4Cittc2dpZCAibG9naWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAibG9naXNjaGUgc2VjdG9yZ3Jvb3R0ZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OQorbXNnaWQgIkkvTyBzY2hlZHVsZXIgbmFtZSIKK21zZ3N0ciAibmFhbSB2YW4gaW4tL3VpdHZvZXJzY2hlZHVsZXIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTAKK21zZ2lkICJyZXF1ZXN0IHF1ZXVlIHNpemUiCittc2dzdHIgImxlbmd0ZSB2YW4gdmVyem9la2VucmlqIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkxCittc2dpZCAiZGV2aWNlIHR5cGUiCittc2dzdHIgImFwcGFyYWF0dHlwZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MgorbXNnaWQgImRpc2NhcmQgYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAidWl0bGlqbmluZ3Nwb3NpdGllIHZlcndlcnBlbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MworbXNnaWQgImRpc2NhcmQgZ3JhbnVsYXJpdHkiCittc2dzdHIgImdyYW51bGFyaXRlaXQgdmVyd2VycGVuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk0Cittc2dpZCAiZGlzY2FyZCBtYXggYnl0ZXMiCittc2dzdHIgIm1heGJ5dGVzIHZlcndlcnBlbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NQorbXNnaWQgImRpc2NhcmQgemVyb2VzIGRhdGEiCittc2dzdHIgIm51bGxlbiB2ZXJ3ZXJwZW4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTYKK21zZ2lkICJ3cml0ZSBzYW1lIG1heCBieXRlcyIKK21zZ3N0ciAiemVsZmRlIG1heGJ5dGVzIHNjaHJpanZlbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NworbXNnaWQgInVuaXF1ZSBzdG9yYWdlIGlkZW50aWZpZXIiCittc2dzdHIgInVuaWVrIG9wc2xhZy1JRCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OAorbXNnaWQgIkhvc3Q6Q2hhbm5lbDpUYXJnZXQ6THVuIGZvciBTQ1NJIgorbXNnc3RyICJIb3N0OkthbmFhbDpEb2VsOkxVTiB2b29yIFNDU0kiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTkKK21zZ2lkICJkZXZpY2UgdHJhbnNwb3J0IHR5cGUiCittc2dzdHIgImFwcGFyYWF0LXRyYW5zcG9ydHR5cGUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDAKK21zZ2lkICJkZS1kdXBsaWNhdGVkIGNoYWluIG9mIHN1YnN5c3RlbXMiCittc2dzdHIgIm9udGR1YmJlbGRlIGtldGVuIHZhbiBzdWJzeXN0ZW1lbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMQorbXNnaWQgImRldmljZSByZXZpc2lvbiIKK21zZ3N0ciAiYXBwYXJhYXRyZXZpc2llIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAyCittc2dpZCAiZGV2aWNlIHZlbmRvciIKK21zZ3N0ciAiYXBwYXJhYXRwcm9kdWNlbnQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxMjc2Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGV2aWNlIGRpcmVjdG9yeSBpbiBzeXNmcyIKK21zZ3N0ciAib3BlbmVuIHZhbiBhcHBhcmF0ZW5tYXAgaW4gJ3N5c2ZzJyBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNvbXBvc2Ugc3lzZnMgcGF0aCIKK21zZ3N0ciAiJXM6IGNvbXBvbmVyZW4gdmFuICdzeXNmcyctcGFkIGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBsaW5rIgorbXNnc3RyICIlczogbGV6ZW4gdmFuIGtvcHBlbGluZyBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIgorbXNnc3RyICIlczogdmVya3JpamdlbiB2YW4gJ3N5c2ZzJy1uYWFtIGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHdob2xlLWRpc2sgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiJXM6IGFjaHRlcmhhbGVuIHZhbiBhcHBhcmFhdG51bW1lciB2YW4gZ2VoZWxlIHNjaGlqZiBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1MSBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1MyBtaXNjLXV0aWxzL2xzYmxrLmM6MTU3OAorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxpc3QgJyVzJyIKK21zZ3N0ciAib250bGVkZW4gdmFuIGxpanN0ICclcycgaXMgbWlzbHVrdCIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgZXhjbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICJkZSBsaWpzdCB2YW4gdWl0Z2VzbG90ZW4gYXBwYXJhdGVuIGlzIHRlIGxhbmcgKGRlIGxpbWlldCBpcyAlZCBhcHBhcmF0ZW4pIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBpbmNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgImRlIGxpanN0IHZhbiBpbmdlc2xvdGVuIGFwcGFyYXRlbiBpcyB0ZSBsYW5nIChkZSBsaW1pZXQgaXMgJWQgYXBwYXJhdGVuKSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MTYgc3lzLXV0aWxzL3dkY3RsLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSBbPGFwcGFyYWF0Pi4uLl1cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MTkKK21zZ2lkICJMaXN0IGluZm9ybWF0aW9uIGFib3V0IGJsb2NrIGRldmljZXMuXG4iCittc2dzdHIgIlRvb250IGluZm9ybWF0aWUgb3ZlciBibG9rLWFwcGFyYXRlbi5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjIKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgcHJpbnQgYWxsIGRldmljZXNcbiIKK21zZ3N0ciAiICAtYSwgLS1hbGwgICAgICAgICAgICAgYWxsZSBhcHBhcmF0ZW4gdG9uZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjQKK21zZ2lkICIgLWQsIC0tbm9kZXBzICAgICAgICAgZG9uJ3QgcHJpbnQgc2xhdmVzIG9yIGhvbGRlcnNcbiIKK21zZ3N0ciAiICAtZCwgLS1ub2RlcHMgICAgICAgICAgZ2VlbiBzbGF2ZW4gb2YgaG91ZGVycyB0b25lblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNQorbXNnaWQgIiAtRCwgLS1kaXNjYXJkICAgICAgICBwcmludCBkaXNjYXJkIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIgIC1ELCAtLWRpc2NhcmQgICAgICAgICB2ZXJ3ZXJwaW5nc21vZ2VsaWpraGVkZW4gdG9uZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjYKK21zZ2lkICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorbXNnc3RyICIiCisiICAtZSwgLS1leGNsdWRlIDxsaWpzdD4gICBhcHBhcmF0ZW4gbWV0IGRlemUgaG9vZmRudW1tZXJzIG5pZXQgdG9uZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0YW5kYWFyZDogUkFNLXNjaGlqdmVuKVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNworbXNnaWQgIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIC1mLCAtLWZzICAgICAgICAgICAgICBpbmZvIHRvbmVuIG92ZXIgYmVzdGFuZHNzeXN0ZW1lblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyOAorbXNnaWQgIiAtaSwgLS1hc2NpaSAgICAgICAgICB1c2UgYXNjaWkgY2hhcmFjdGVycyBvbmx5XG4iCittc2dzdHIgIiAgLWksIC0tYXNjaWkgICAgICAgICAgIGFsbGVlbiBBU0NJSS10ZWtlbnMgZ2VicnVpa2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI5Cittc2dpZCAiIC1JLCAtLWluY2x1ZGUgPGxpc3Q+IHNob3cgb25seSBkZXZpY2VzIHdpdGggc3BlY2lmaWVkIG1ham9yIG51bWJlcnNcbiIKK21zZ3N0ciAiICAtSSwgLS1pbmNsdWRlIDxsaWpzdD4gICBhbGxlZW4gYXBwYXJhdGVuIHRvbmVuIG1ldCBkZXplIGhvb2ZkbnVtbWVyc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMAorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLUosIC0tanNvbiAgICAgICAgICAgIHVpdHZvZXIgaW4gSlNPTi1vcG1hYWsgcHJvZHVjZXJlblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAgLWwsIC0tbGlzdCAgICAgICAgICAgIHVpdHZvZXIgaW4gdm9ybSB2YW4gbGlqc3QgcHJvZHVjZXJlblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMgorbXNnaWQgIiAtbSwgLS1wZXJtcyAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIgIC1tLCAtLXBlcm1zICAgICAgICAgICBpbmZvIHRvbmVuIG92ZXIgdG9lZ2FuZ3NyZWNodGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMzCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAgLW4sIC0tbm9oZWFkaW5ncyAgICAgIGdlZW4ga29wcmVnZWwgdG9uZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzQKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtbywgLS1vdXRwdXQgPGxpanN0PiAgdGUgdG9uZW4ga29sb21tZW4gaW4gZGUgdWl0dm9lclxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNQorbXNnaWQgIiAtTywgLS1vdXRwdXQtYWxsICAgICBvdXRwdXQgYWxsIGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtTywgLS1vdXRwdXQtYWxsICAgICAgYWxsZSBrb2xvbW1lbiB0b25lblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNgorbXNnaWQgIiAtcCwgLS1wYXRocyAgICAgICAgICBwcmludCBjb21wbGV0ZSBkZXZpY2UgcGF0aFxuIgorbXNnc3RyICIgIC1wLCAtLXBhdGhzICAgICAgICAgICB2b2xsZWRpZ2UgYXBwYXJhYXRwYWQgdG9uZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzkKK21zZ2lkICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKK21zZ3N0ciAiICAtcywgLS1pbnZlcnNlICAgICAgICAgaW52ZXJzZSBhZmhhbmtlbGlqa2hlZGVuIGdlYnJ1aWtlblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MAorbXNnaWQgIiAtUywgLS1zY3NpICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBTQ1NJIGRldmljZXNcbiIKK21zZ3N0ciAiICAtUywgLS1zY3NpICAgICAgICAgICAgaW5mbyB0b25lbiBvdmVyIFNDU0ktYXBwYXJhdGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQxCittc2dpZCAiIC10LCAtLXRvcG9sb2d5ICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHRvcG9sb2d5XG4iCittc2dzdHIgIiAgLXQsIC0tdG9wb2xvZ3kgICAgICAgIGluZm8gdG9uZW4gb3ZlciB0b3BvbG9naWVcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDIKK21zZ2lkICIgLXgsIC0tc29ydCA8Y29sdW1uPiAgc29ydCBvdXRwdXQgYnkgPGNvbHVtbj5cbiIKK21zZ3N0ciAiICAteCwgLS1zb3J0IDxrb2xvbT4gICAgdWl0dm9lciBzb3J0ZXJlbiBvcCBkZXplIDxrb2xvbT5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDcgbWlzYy11dGlscy9sc2xvY2tzLmM6NTE5IHN5cy11dGlscy9sc25zLmM6NjMyCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE5NiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLW91dHB1dCk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJCZXNjaGlrYmFyZSBrb2xvbW1lbiAodm9vciAnLS1vdXRwdXQnKSB6aWpuOlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWNjZXNzIHN5c2ZzIGRpcmVjdG9yeTogJXMiCittc2dzdHIgImthbiBnZWVuIHRvZWdhbmcga3JpamdlbiB0b3QgJ3N5c2ZzJy1tYXA6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3MworbXNnaWQgImNvbW1hbmQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAib3BkcmFjaHQgdmFuIGhldCBwcm9jZXMgZGF0IGRlIHZlcmdyZW5kZWxpbmcgYmV6aXQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc0Cittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIlBJRCB2YW4gaGV0IHByb2NlcyBkYXQgZGUgdmVyZ3JlbmRlbGluZyBiZXppdCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzUKK21zZ2lkICJraW5kIG9mIGxvY2s6IEZMX0ZMT0NLIG9yIEZMX1BPU0lYLiIKK21zZ3N0ciAic29vcnQgdmVyZ3JlbmRlbGluZzogRkxfRkxPQ0sgb2YgRkxfUE9TSVgiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc2Cittc2dpZCAic2l6ZSBvZiB0aGUgbG9jayIKK21zZ3N0ciAiZ3Jvb3R0ZSB2YW4gdmVyZ3JlbmRlbGluZyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzcKK21zZ2lkICJsb2NrIGFjY2VzcyBtb2RlIgorbXNnc3RyICJ0b2VnYW5nc21vZHVzIHZhbiB2ZXJncmVuZGVsaW5nIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OAorbXNnaWQgIm1hbmRhdG9yeSBzdGF0ZSBvZiB0aGUgbG9jazogMCAobm9uZSksIDEgKHNldCkiCittc2dzdHIgInZlcnBsaWNodGUgdG9lc3RhbmQgdmFuIHZlcmdyZW5kZWxpbmc6IDAgKGdlZW4pLCAxIChpbmdlc3RlbGQpIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OQorbXNnaWQgInJlbGF0aXZlIGJ5dGUgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICJyZWxhdGlldmUgYnl0ZXBvc2l0aWUgdmFuIHZlcmdyZW5kZWxpbmciCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgwCittc2dpZCAiZW5kaW5nIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAiZWluZHBvc2l0aWUgdmFuIHZlcmdyZW5kZWxpbmciCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgxCittc2dpZCAicGF0aCBvZiB0aGUgbG9ja2VkIGZpbGUiCittc2dzdHIgInBhZCB2YW4gaGV0IHZlcmdyZW5kZWxkZSBiZXN0YW5kIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MgorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBibG9ja2luZyB0aGUgbG9jayIKK21zZ3N0ciAiUElEIHZhbiBoZXQgcHJvY2VzIGRhdCBkZSB2ZXJncmVuZGVsaW5nIGJsb2trZWVydCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjU5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElEIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gSUQgaXMgbWlzbHVrdCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjgxIHN5cy11dGlscy9uc2VudGVyLmM6MjMyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBpZCIKK21zZ3N0ciAib250bGVkZW4gdmFuIFBJRCBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODQKK21zZ2lkICIodW5rbm93bikiCittc2dzdHIgIihvbmJla2VuZCkiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI5MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGFydCIKK21zZ3N0ciAib250bGVkZW4gdmFuIGJlZ2luIGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjMwMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbmQiCittc2dzdHIgIm9udGxlZGVuIHZhbiBlaW5kZSBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDQKK21zZ2lkICJMaXN0IGxvY2FsIHN5c3RlbSBsb2Nrcy5cbiIKK21zZ3N0ciAiVG9vbnQgbG9rYWxlIHN5c3RlZW12ZXJncmVuZGVsaW5nZW4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwOAorbXNnaWQgIiAtaSwgLS1ub2luYWNjZXNzaWJsZSAgIGlnbm9yZSBsb2NrcyB3aXRob3V0IHJlYWQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDkgc3lzLXV0aWxzL2xzbnMuYzo2MjEKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZ2VlbiBrb3ByZWdlbCB0b25lblxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTAgc3lzLXV0aWxzL2xzbnMuYzo2MjIKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAgLW8sIC0tb3V0cHV0IDxsaWpzdD4gICB3ZWVyIHRlIGdldmVuIHVpdHZvZXJrb2xvbW1lblxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTEKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBkaXNwbGF5IG9ubHkgbG9ja3MgaGVsZCBieSB0aGlzIHByb2Nlc3NcbiIKK21zZ3N0ciAiICAtcCwgLS1waWQgPFBJRD4gICAgICAgIGFsbGVlbiB2ZXJncmVuZGVsaW5nZW4gdmFuIGRpdCBwcm9jZXMgdG9uZW5cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTEyIHN5cy11dGlscy9sc25zLmM6NjI0Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1yLCAtLXJhdyAgICAgICAgICAgICAgcmF1d2UgdWl0dm9lciBwcm9kdWNlcmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjU3MCBzY2hlZHV0aWxzL2NocnQuYzo0Nzggc2NoZWR1dGlscy9pb25pY2UuYzoxNzcKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE2MyBzeXMtdXRpbHMvbHNucy5jOjY5OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NgorbXNnaWQgImludmFsaWQgUElEIGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZyBQSUQtYXJndW1lbnQiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg1Cittc2dpZCAiR2VuZXJhdGUgbWFnaWMgY29va2llcyBmb3IgeGF1dGguXG4iCittc2dzdHIgIkdlbmVyZWVydCBtYWdpc2NoZSBjb29raWVzIHZvb3IgeGF1dGguXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg4Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICB1c2UgZmlsZSBhcyBhIGNvb2tpZSBzZWVkXG4iCittc2dzdHIgIiAgLWYsIC0tZmlsZSA8YmVzdGFuZD4gICAgIGFscyBjb29raWUtc2VlZCB0ZSBnZWJydWlrZW4gYmVzdGFuZFxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OQorbXNnaWQgIiAtbSwgLS1tYXgtc2l6ZSA8bnVtPiAgbGltaXQgaG93IG11Y2ggaXMgcmVhZCBmcm9tIHNlZWQgZmlsZXNcbiIKK21zZ3N0ciAiICAtbSwgLS1tYXgtc2l6ZSA8Z2V0YWw+ICAgYmVwZXJrZW4gaG9ldmVlbCB1aXQgc2VlZC1iZXN0YW5kZW4gZ2VsZXplbiB3b3JkdFxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo5MAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVybWVsZGVuIHdhdCBlciBnZWRhYW4gd29yZHRcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlenUgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlenUgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICIlenUgYnl0ZSBvbnR2YW5nZW4gdmFuICVzXG4iCittc2dzdHJbMV0gIiV6dSBieXRlcyBvbnR2YW5nZW4gdmFuICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9zaW5nICVzIGZhaWxlZCIKK21zZ3N0ciAic2x1aXRlbiB2YW4gJXMgaXMgbWlzbHVrdCIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTY0IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTQ2IHN5cy11dGlscy9mc3RyaW0uYzozMDgKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZW5ndGgiCittc2dzdHIgIm9udGxlZGVuIHZhbiBsZW5ndGUgaXMgbWlzbHVrdCIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTc3Cittc2dpZCAiLS1tYXgtc2l6ZSBpZ25vcmVkIHdoZW4gdXNlZCB3aXRob3V0IC0tZmlsZSIKK21zZ3N0ciAib3B0aWUgJy0tbWF4LXNpemUnIHdvcmR0IGdlbmVnZWVyZCB6b25kZXIgJy0tZmlsZSciCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE4NQorIywgYy1mb3JtYXQKK21zZ2lkICJHb3QgJWQgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlZCBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIiVkIGJ5dGUgb250dmFuZ2VuIHZhbiAlc1xuIgorbXNnc3RyWzFdICIlZCBieXRlcyBvbnR2YW5nZW4gdmFuICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzeW1saW5rOiAlcyIKK21zZ3N0ciAibGV6ZW4gdmFuIHN5bWxpbmsgJXMgaXMgbWlzbHVrdCIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAtIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiJXMgLS0gQmVzdGFuZCBvZiBtYXAgYmVzdGFhdCBuaWV0XG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGF0aG5hbWU+Li4uXG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gPHBhZG5hYW0+Li4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzYKK21zZ2lkICJGb2xsb3cgYSBwYXRobmFtZSB1bnRpbCBhIHRlcm1pbmFsIHBvaW50IGlzIGZvdW5kLlxuIgorbXNnc3RyICJWb2xndCBlZW4gcGFkbmFhbSB0b3RkYXQgZWVuIGVpbmRwdW50IGdldm9uZGVuIGlzLlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzM5Cittc2dpZCAiIgorIiAtaCwgLS1oZWxwICAgICAgICAgIGRpc3BsYXlzIHRoaXMgaGVscCB0ZXh0XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICBzaG93IG1vdW50IHBvaW50IGRpcmVjdG9yaWVzIHdpdGggYSAnRCdcbiIKKyIgLW0sIC0tbW9kZXMgICAgICAgICBzaG93IHRoZSBtb2RlIGJpdHMgb2YgZWFjaCBmaWxlXG4iCisiIC1vLCAtLW93bmVycyAgICAgICAgc2hvdyBvd25lciBhbmQgZ3JvdXAgbmFtZSBvZiBlYWNoIGZpbGVcbiIKKyIgLWwsIC0tbG9uZyAgICAgICAgICB1c2UgYSBsb25nIGxpc3RpbmcgZm9ybWF0ICgtbSAtbyAtdikgXG4iCisiIC1uLCAtLW5vc3ltbGlua3MgICAgZG9uJ3QgZm9sbG93IHN5bWxpbmtzXG4iCisiIC12LCAtLXZlcnRpY2FsICAgICAgdmVydGljYWwgYWxpZ24gb2YgbW9kZXMgYW5kIG93bmVyc1xuIgorbXNnc3RyICIiCisiICAtaCwgLS1oZWxwICAgICAgICAgICBkZXplIGh1bHB0ZWtzdCB0b25lbiBlbiBzdG9wcGVuXG4iCisiICAtbCwgLS1sb25nICAgICAgICAgICB1aXRnZWJyZWlkZSBleHRyYSBpbmZvcm1hdGllIHRvbmVuICgnLW0gLW8gLXYnKVxuIgorIiAgLW0sIC0tbW9kZXMgICAgICAgICAgZGUgbW9kdXMgdmFuIGVsayBiZXN0YW5kIHRvbmVuXG4iCisiICAtbiwgLS1ub3N5bWxpbmtzICAgICBzeW1ib2xpc2NoZSBrb3BwZWxpbmdlbiBuaWV0IHZvbGdlblxuIgorIiAgLW8sIC0tb3duZXJzICAgICAgICAgbmFtZW4gdmFuIGVpZ2VuYWFyIGVuIGdyb2VwIHZhbiBlbGsgYmVzdGFuZCB0b25lblxuIgorIiAgLXgsIC0tbW91bnRwb2ludHMgICAgYWFua29wcGVsaW5nc3B1bnRlbiBtYXJrZXJlbiBtZXQgZWVuICdEJ1xuIgorIiAgLXYsIC0tdmVydGljYWwgICAgICAgYmVzdGFuZHNtb2R1cyBlbiBlaWdlbmFhcm5hbWVuIHZlcnRpY2FhbCB1aXRsaWpuZW5cbiIKKyIgIC1WLCAtLXZlcnNpb24gICAgICAgIHByb2dyYW1tYXZlcnNpZSB0b25lbiBlbiBzdG9wcGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MDgKK21zZ2lkICJwYXRobmFtZSBhcmd1bWVudCBpcyBtaXNzaW5nIgorbXNnc3RyICJwYWRuYWFtLWFyZ3VtZW50IG9udGJyZWVrdCIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNCBzeXMtdXRpbHMvbHNucy5jOjc2NAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBVSUQgY2FjaGUiCittc2dzdHIgInJlc2VydmVyZW4gdmFuIGdlaGV1Z2VuIHZvb3IgVUlELWNhY2hlIGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTcKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR0lEIGNhY2hlIgorbXNnc3RyICJyZXNlcnZlcmVuIHZhbiBnZWhldWdlbiB2b29yIEdJRC1jYWNoZSBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGNlZWRlZCBsaW1pdCBvZiBzeW1saW5rcyIKK21zZ3N0ciAiJXM6IGxpbWlldCBvcCBhYW50YWwgc3ltYm9saXNjaGUga29wcGVsaW5nZW4gaXMgb3ZlcnNjaHJlZGVuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICIlczogaXMgZ2VlbiBzeW1ib2xpc2NoZSBrb3BwZWxpbmciCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWRsaW5rIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHJlYWRsaW5rKCkgaXMgbWlzbHVrdCIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5saW5rIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHVubGluaygpIGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN5bWxpbmtpbmcgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogbWFrZW4gdmFuIHN5bWJvbGlzY2hlIGtvcHBlbGluZyBuYWFyICVzIGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZW5hbWUgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogaGVybm9lbWVuIG5hYXIgJXMgaXMgbWlzbHVrdCIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZXhwcmVzc2lvbj4gPHJlcGxhY2VtZW50PiA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSA8ZXhwcmVzc2llPiA8dmVydmFuZ2luZz4gPGJlc3RhbmQ+Li4uXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTIyCittc2dpZCAiUmVuYW1lIGZpbGVzLlxuIgorbXNnc3RyICJIZXJub2VtdCBiZXN0YW5kZW4uXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTI1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAtdiwgLS12ZXJib3NlICAgIHRvbmVuIHdhdCBlciBnZWRhYW4gd29yZHRcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjYKK21zZ2lkICIgLXMsIC0tc3ltbGluayAgICBhY3Qgb24gdGhlIHRhcmdldCBvZiBzeW1saW5rc1xuIgorbXNnc3RyICIgIC1zLCAtLXN5bWxpbmsgICAgb3AgZG9lbCB2YW4gZWVuIHN5bWJvbGlzY2hlIGtvcHBlbGluZyB3ZXJrZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcyCittc2dpZCAiQSBkYWVtb24gZm9yIGdlbmVyYXRpbmcgVVVJRHMuXG4iCittc2dzdHIgIkVlbiBhY2h0ZXJncm9uZGRpZW5zdCB2b29yIGhldCBnZW5lcmVyZW4gdmFuIFVVSUQncy5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc0Cittc2dpZCAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKK21zZ3N0ciAiICAtcCwgLS1waWQgPHBhZD4gICAgICAgICAgcGFkIG5hYXIgUElELWJlc3RhbmRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc1Cittc2dpZCAiIC1zLCAtLXNvY2tldCA8cGF0aD4gICAgIHBhdGggdG8gc29ja2V0XG4iCittc2dzdHIgIiAgLXMsIC0tc29ja2V0IDxwYWQ+ICAgICAgIHBhZCBuYWFyIHNvY2tldFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzYKK21zZ2lkICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKK21zZ3N0ciAiICAtVCwgLS10aW1lb3V0IDx0aWpkPiAgICAgbWF4aW1hbGUgdGlqZCB2YW4gaW5hY3Rpdml0ZWl0IChpbiBzZWNvbmRlbilcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc3Cittc2dpZCAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGtpbGwgcnVubmluZyBkYWVtb25cbiIKK21zZ3N0ciAiICAtaywgLS1raWxsICAgICAgICAgICAgICAgZWVuIGRyYWFpZW5kZSB1dWlkZC1kaWVuc3QgZWxpbWluZXJlblxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzgKK21zZ2lkICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdCByYW5kb20tYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgIC1yLCAtLXJhbmRvbSAgICAgICAgICAgICBhYW5tYWFrIHZhbiB3aWxsZWtldXJpZ2UgVVVJRCdzIHRlc3RlblxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgdGVzdCB0aW1lLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiICAtdCwgLS10aW1lICAgICAgICAgICAgICAgYWFubWFhayB2YW4gdGlqZHMtVVVJRCdzIHRlc3RlblxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODAKK21zZ2lkICIgLW4sIC0tdXVpZHMgPG51bT4gICAgICAgcmVxdWVzdCBudW1iZXIgb2YgdXVpZHNcbiIKK21zZ3N0ciAiICAtbiwgLS11dWlkcyA8YWFudGFsPiAgICAgZGl0IGFhbnRhbCBVVUlEJ3MgZ2VuZXJlcmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MQorbXNnaWQgIiAtUCwgLS1uby1waWQgICAgICAgICAgICBkbyBub3QgY3JlYXRlIHBpZCBmaWxlXG4iCittc2dzdHIgIiAgLVAsIC0tbm8tcGlkICAgICAgICAgICAgIGdlZW4gUElELWJlc3RhbmQgYWFubWFrZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgyCittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIGRvIG5vdCBkYWVtb25pemUgdXNpbmcgZG91YmxlLWZvcmtcbiIKK21zZ3N0ciAiICAtRiwgLS1uby1mb3JrICAgICAgICAgICAgbmlldCB0b3QgYWNodGVyZ3JvbmRkaWVuc3QgbWFrZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgzCittc2dpZCAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIGRvIG5vdCBjcmVhdGUgbGlzdGVuaW5nIHNvY2tldFxuIgorbXNnc3RyICIgIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uICBnZWVuIGx1aXN0ZXJlbmRlIHNvY2tldCBhYW5tYWtlblxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODQKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCittc2dzdHIgIiAgLWQsIC0tZGVidWcgICAgICAgICAgICAgIGRlYnVnZ2luZy1tZWxkaW5nZW4gd2VlcmdldmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4NQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0dXJuIG9uIHF1aWV0IG1vZGVcbiIKK21zZ3N0ciAiICAtcSwgLS1xdWlldCAgICAgICAgICAgICAgZXh0cmEgaW5mb3JtYXRpZSBvbmRlcmRydWtrZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjExOAorbXNnaWQgImJhZCBhcmd1bWVudHMiCittc2dzdHIgIm9uZ2VsZGlnZSBhcmd1bWVudGVuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTI1Cittc2dpZCAic29ja2V0IgorbXNnc3RyICJzb2NrZXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMzYKK21zZ2lkICJjb25uZWN0IgorbXNnc3RyICJ2ZXJiaW5kZW4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNTYKK21zZ2lkICJ3cml0ZSIKK21zZ3N0ciAic2NocmlqdmVuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTY0Cittc2dpZCAicmVhZCBjb3VudCIKK21zZ3N0ciAiZ2VsZXplbiBhYW50YWwiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNzAKK21zZ2lkICJiYWQgcmVzcG9uc2UgbGVuZ3RoIgorbXNnc3RyICJvbmdlbGRpZ2UgYW50d29vcmRsZW5ndGUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGxvY2sgJXMiCittc2dzdHIgImthbiAlcyBuaWV0IHZlcmdyZW5kZWxlbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI0NgorbXNnaWQgImNvdWxkbid0IGNyZWF0ZSB1bml4IHN0cmVhbSBzb2NrZXQiCittc2dzdHIgImthbiBnZWVuIFVOSVgtc3RyZWFtLXNvY2tldCBhYW5tYWtlbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBiaW5kIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICJrYW4gVU5JWC1zb2NrZXQgJXMgbmlldCBiaW5kZW4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyOTgKK21zZ2lkICJyZWNlaXZpbmcgc2lnbmFsIGZhaWxlZCIKK21zZ3N0ciAib250dmFuZ2VuIHZhbiBzaWduYWFsIGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozMTEKK21zZ2lkICJ0aW1lZCBvdXQiCittc2dzdHIgImR1dXJkZSB0ZSBsYW5nIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzQ1IHN5cy11dGlscy9mbG9jay5jOjI3MQorbXNnaWQgImNhbm5vdCBzZXQgdXAgdGltZXIiCittc2dzdHIgImthbiB0aW1lciBuaWV0IGluc3RlbGxlbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICJ1dWlkZCBkYWVtb24gaXMgYWxyZWFkeSBydW5uaW5nIGF0IHBpZCAlcyIKK21zZ3N0ciAidXVpZGQtZGllbnN0IGRyYWFpdCBhbCBvbmRlciBQSUQgJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgbGlzdGVuIG9uIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICJrYW4gbmlldCBsdWlzdGVyZW4gb3AgVU5JWC1zb2NrZXQgJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHRydW5jYXRlIGZpbGU6ICVzIgorbXNnc3RyICJrYW4gYmVzdGFuZCAlcyBuaWV0IGFma2FwcGVuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzg2Cittc2dpZCAic2RfbGlzdGVuX2ZkcygpIGZhaWxlZCIKK21zZ3N0ciAic2RfbGlzdGVuX2ZkcygpIGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODkKK21zZ2lkICJubyBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayBzeXN0ZW1jdGwgc3RhdHVzIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAiZ2VlbiBiZXN0YW5kc2Rlc2NyaXB0b3JzIG9udHZhbmdlbjsgY29udHJvbGVlciBzeXN0ZW1jdGwgc3RhdHVzIHZhbiB1dWlkZC5zb2NrZXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozOTIKK21zZ2lkICJ0b28gbWFueSBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayB1dWlkZC5zb2NrZXQiCittc2dzdHIgInRlIHZlZWwgYmVzdGFuZHNkZXNjcmlwdG9ycyBvbnR2YW5nZW47IGNvbnRyb2xlZXIgdXVpZGQuc29ja2V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDIwIHRlcm0tdXRpbHMvc2NyaXB0LmM6NDU1Cittc2dpZCAicG9sbCBmYWlsZWQiCittc2dzdHIgInBvbHNlbiBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDI1CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWVvdXQgWyVkIHNlY11cbiIKK21zZ3N0ciAiZHV1cmRlIHRlIGxhbmcgWyVkIHNlY29uZGVuXVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQzIHRleHQtdXRpbHMvY29sdW1uLmM6NDE0Cittc2dpZCAicmVhZCBmYWlsZWQiCittc2dzdHIgImxlemVuIGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgcmVhZGluZyBmcm9tIGNsaWVudCwgbGVuID0gJWQiCittc2dzdHIgImZvdXQgdGlqZGVucyBsZXplbiB2YW4gY2xpw6tudDsgbGVuZ3RlID0gJWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkLCBpbmNvbWluZyBudW0gPSAlZFxuIgorbXNnc3RyICJiZXdlcmtpbmcgJWQsIGdlZ2V2ZW4gZ2V0YWwgPSAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICJiZXdlcmtpbmcgJWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ3MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEOiAlc1xuIgorbXNnc3RyICJHZWdlbmVyZWVyZGUgdGlqZHMtVVVJRDogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgcmFuZG9tIFVVSUQ6ICVzXG4iCittc2dzdHIgIkdlZ2VuZXJlZXJkZSB3aWxsZWtldXJpZ2UgVVVJRDogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dzdHJbMF0gIkdlZ2VuZXJlZXJkZSB0aWpkcy1VVUlEIGlzICVzLCBlbiAlZCBvcHZvbGdlbmRlXG4iCittc2dzdHJbMV0gIkdlZ2VuZXJlZXJkZSB0aWpkcy1VVUlEIGlzICVzLCBlbiAlZCBvcHZvbGdlbmRlXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkICVkIFVVSUQ6XG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCAlZCBVVUlEczpcbiIKK21zZ3N0clswXSAiRXIgaXMgJWQgVVVJRCBnZWdlbmVyZWVyZDpcbiIKK21zZ3N0clsxXSAiRXIgemlqbiAlZCBVVUlEJ3MgZ2VnZW5lcmVlcmQ6XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAiT25nZWxkaWdlIGJld2Vya2luZyAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgcmVwbHkgbGVuZ3RoIGZyb20gc2VydmVyICVkIgorbXNnc3RyICJPbnZlcndhY2h0ZSBhbnR3b29yZGxlbmd0ZSAoJWQpIHZhbiBzZXJ2ZXIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MDAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS11dWlkcyIKK21zZ3N0ciAib250bGVkZW4gdmFuIGhldCBhYW50YWwgaXMgbWlzbHVrdCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYxNworbXNnaWQgInV1aWRkIGhhcyBiZWVuIGJ1aWx0IHdpdGhvdXQgc3VwcG9ydCBmb3Igc29ja2V0IGFjdGl2YXRpb24iCittc2dzdHIgIid1dWlkZCcgaXMgZ2Vjb21waWxlZXJkIHpvbmRlciBvbmRlcnN0ZXVuaW5nIHZvb3Igc29ja2V0LWFjdGl2YXRpZSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYzNgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRpbWVvdXQiCittc2dzdHIgIm9udGxlZGVuIHZhbiB3YWNodHRpamR3YWFyZGUgaXMgbWlzbHVrdCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1MworbXNnaWQgIkJvdGggLS1zb2NrZXQtYWN0aXZhdGlvbiBhbmQgLS1zb2NrZXQgc3BlY2lmaWVkLiBJZ25vcmluZyAtLXNvY2tldC4iCittc2dzdHIgIlpvd2VsICctLXNvY2tldC1hY3RpdmF0aW9uJyBhbHMgJy0tc29ja2V0JyBpcyBnZWdldmVuOyAnLS1zb2NrZXQnIHdvcmR0IGdlbmVnZWVyZC4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjAgbWlzYy11dGlscy91dWlkZC5jOjY4OAorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjYWxsaW5nIHV1aWRkIGRhZW1vbiAoJXMpIgorbXNnc3RyICJmb3V0IGJpaiBhYW5yb2VwZW4gdmFuIHV1aWRkLWRpZW5zdCAoJXMpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYxIG1pc2MtdXRpbHMvdXVpZGQuYzo2ODkKK21zZ2lkICJ1bmV4cGVjdGVkIGVycm9yIgorbXNnc3RyICJvbnZlcndhY2h0ZSBmb3V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURcbiIKK21zZ2lkX3BsdXJhbCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRHNcbiIKK21zZ3N0clswXSAiJXMgZW4gJWQgb3B2b2xnZW5kZSBVVUlEXG4iCittc2dzdHJbMV0gIiVzIGVuICVkIG9wdm9sZ2VuZGUgVVVJRCdzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGlzdCBvZiBVVUlEczpcbiIKK21zZ3N0ciAiTGlqc3QgdmFuIFVVSUQnczpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBraWxsIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkIgorbXNnc3RyICJrYW4gdXVpZGQgbWV0IFBJRCAlZCBuaWV0IGVsaW1pbmVyZW4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiS2lsbGVkIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkLlxuIgorbXNnc3RyICJEZSB1dWlkZCBtZXQgUElEICVkIGlzIGdlw6tsaW1pbmVlcmQuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI4Cittc2dpZCAiQ3JlYXRlIGEgbmV3IFVVSUQgdmFsdWUuXG4iCittc2dzdHIgIk1hYWt0IGVlbiBuaWV1d2UgVVVJRCBhYW4uXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjMxCittc2dpZCAiIgorIiAtciwgLS1yYW5kb20gICAgIGdlbmVyYXRlIHJhbmRvbS1iYXNlZCB1dWlkXG4iCisiIC10LCAtLXRpbWUgICAgICAgZ2VuZXJhdGUgdGltZS1iYXNlZCB1dWlkXG4iCisiIC1WLCAtLXZlcnNpb24gICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiICAtciwgLS1yYW5kb20gICAgICAgZWVuIHRvdGFhbCB3aWxsZWtldXJpZ2UgVVVJRCBnZW5lcmVyZW5cbiIKKyIgIC10LCAtLXRpbWUgICAgICAgICBlZW4gb3AgaHVpZGlnZSB0aWpkIGdlYmFzZWVyZGUgVVVJRCBnZW5lcmVyZW5cbiIKKyIgIC1WLCAtLXZlcnNpb24gICAgICBwcm9ncmFtbWF2ZXJzaWUgdG9uZW4gZW4gc3RvcHBlblxuIgorIiAgLWgsIC0taGVscCAgICAgICAgIGRlemUgaHVscHRla3N0IHRvbmVuIGVuIHN0b3BwZW5cbiIKKyJcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1CTVMgPGRpcj4uLi4gLWZdIDxuYW1lPlxuIgorbXNnc3RyICIgICVzIFtvcHRpZXNdIFstQk1TIDxtYXA+Li4uIC1mXSA8bmFhbT5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTkyCittc2dpZCAiTG9jYXRlIHRoZSBiaW5hcnksIHNvdXJjZSwgYW5kIG1hbnVhbC1wYWdlIGZpbGVzIGZvciBhIGNvbW1hbmQuXG4iCittc2dzdHIgIkxva2FsaXNlZXJ0IHByb2dyYW1tYWJlc3RhbmQsIGJyb250ZWtzdCwgZW4gaGFuZGxlaWRpbmdlbiB2YW4gZWVuIG9wZHJhY2h0LlxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTUKK21zZ2lkICIgLWIgICAgICAgICBzZWFyY2ggb25seSBmb3IgYmluYXJpZXNcbiIKK21zZ3N0ciAiICAtYiAgICAgICAgICAgIGFsbGVlbiBuYWFyIHByb2dyYW1tYSdzIHpvZWtlblxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTYKK21zZ2lkICIgLUIgPGRpcnM+ICBkZWZpbmUgYmluYXJpZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiICAtQiA8bWFwcGVuPiAgIHRlIGdlYnJ1aWtlbiB6b2VrcGFkIHZvb3IgcHJvZ3JhbW1hJ3NcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk3Cittc2dpZCAiIC1tICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIG1hbnVhbHMgYW5kIGluZm9zXG4iCittc2dzdHIgIiAgLW0gICAgICAgICAgICBhbGxlZW4gbmFhciBoYW5kbGVpZGluZ2VuIHpvZWtlblxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTgKK21zZ2lkICIgLU0gPGRpcnM+ICBkZWZpbmUgbWFuIGFuZCBpbmZvIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiAgLU0gPG1hcHBlbj4gICB0ZSBnZWJydWlrZW4gem9la3BhZCB2b29yIGhhbmRsZWlkaW5nZW4gKCdtYW4nIGVuICdpbmZvJylcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk5Cittc2dpZCAiIC1zICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIHNvdXJjZXNcbiIKK21zZ3N0ciAiICAtcyAgICAgICAgICAgIGFsbGVlbiBuYWFyIGJyb250ZWtzdGJlc3RhbmRlbiB6b2VrZW5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAwCittc2dpZCAiIC1TIDxkaXJzPiAgZGVmaW5lIHNvdXJjZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiICAtUyA8bWFwcGVuPiAgIHRlIGdlYnJ1aWtlbiB6b2VrcGFkIHZvb3IgYnJvbnRla3N0YmVzdGFuZGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMQorbXNnaWQgIiAtZiAgICAgICAgIHRlcm1pbmF0ZSA8ZGlycz4gYXJndW1lbnQgbGlzdFxuIgorbXNnc3RyICIgIC1mICAgICAgICAgICAgbGlqc3QgdmFuIDxtYXBwZW4+IGFmc2x1aXRlblxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDIKK21zZ2lkICIgLXUgICAgICAgICBzZWFyY2ggZm9yIHVudXN1YWwgZW50cmllc1xuIgorbXNnc3RyICIgIC11ICAgICAgICAgICAgb25nZWJydWlrZWxpamtlIGl0ZW1zIHRvbmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMworbXNnaWQgIiAtbCAgICAgICAgIG91dHB1dCBlZmZlY3RpdmUgbG9va3VwIHBhdGhzXG4iCittc2dzdHIgIiAgLWwgICAgICAgICAgICBlZmZlY3RpZXZlIHpvZWtwYWRlbiB0b25lblxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzo2MTkKK21zZ2lkICJvcHRpb24gLWYgaXMgbWlzc2luZyIKK21zZ3N0ciAib3B0aWUgJy1mJyBvbnRicmVla3QiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTk2Cittc2dpZCAicGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJwYXJ0aXRpZXRhYmVsIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IHByb2JpbmcgaW5pdGlhbGl6YXRpb24gZmFpbGVkIgorbXNnc3RyICJmb3V0OiAlczogaW5pdGlhbGlzYXRpZSB2YW4gc29uZGVyaW5nIGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZXJhc2UgJXMgbWFnaWMgc3RyaW5nIGF0IG9mZnNldCAweCUwOGp4IgorbXNnc3RyICIlczogd2lzc2VuIHZhbiAlcyBtYWdpc2NoZSB0ZWtlbnJlZWtzIG9wIHBvc2l0aWUgMHglMDhqeCBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dpZF9wbHVyYWwgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzBdICIiCisiJXM6ICV6ZCBieXRlIGlzIGdld2lzdCBvcCBwb3NpdGllIDB4JTA4anggKCVzKVxuIgorImRlemUgYnl0ZSB3YXM6ICIKK21zZ3N0clsxXSAiIgorIiVzOiAlemQgYnl0ZXMgemlqbiBnZXdpc3QgdmFuYWYgcG9zaXRpZSAweCUwOGp4ICglcylcbiIKKyJkZXplIGJ5dGVzIHdhcmVuOiAiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCIKK21zZ3N0ciAiJXM6IGhldCBtYWtlbiB2YW4gZWVuIHZpbmdlcmFmZHJ1ay1yZXNlcnZla29waWUgaXMgbWlzbHVrdCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbGxpbmcgaW9jdGwgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGU6ICVtXG4iCittc2dzdHIgIiVzOiBhYW5yb2VwIHZhbiBpb2N0bCgpIG9tIHBhcnRpdGlldGFiZWwgb3BuaWV1dyBpbiB0ZSBsZXplbjogJW1cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozODUKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICJoZXQgbWFrZW4gdmFuIGVlbiB2aW5nZXJhZmRydWstcmVzZXJ2ZWtvcGllIGlzIG1pc2x1a3QsIHdhbnQgJEhPTUUgaXMgbmlldCBnZWRlZmluaWVlcmQiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpZ25vcmluZyBuZXN0ZWQgXCIlc1wiIHBhcnRpdGlvbiB0YWJsZSBvbiBub24td2hvbGUgZGlzayBkZXZpY2UiCittc2dzdHIgIiVzOiBnZW5lc3RlICclcyctcGFydGl0aWV0YWJlbCB3b3JkdCBnZW5lZ2VlcmQgb3AgbmlldGdlaGVsZXNjaGlqZi1hcHBhcmFhdCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAweCVqeCBub3QgZm91bmQiCittc2dzdHIgIiVzOiBwb3NpdGllIDB4JWp4IGlzIG5pZXQgZ2V2b25kZW4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDM1Cittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiB0byBmb3JjZSBlcmFzZS4iCittc2dzdHIgIkdlYnJ1aWsgJy0tZm9yY2UnIG9tIGhldCB3aXNzZW4gdGUgZm9yY2VyZW4uIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1OQorbXNnaWQgIldpcGUgc2lnbmF0dXJlcyBmcm9tIGEgZGV2aWNlLlxuIgorbXNnc3RyICJXaXN0IGJlc3RhbmRzeXN0ZWVtaGFuZHRla2VuaW5nZW4gdmFuIGVlbiBhcHBhcmFhdC5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0NjIKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpXG4iCisiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgIGZvcmNlIGVyYXN1cmVcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCisiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGxcbiIKKyIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgdG8gZXJhc2UsIGluIGJ5dGVzXG4iCisiIC1wLCAtLXBhcnNhYmxlICAgICAgcHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdFxuIgorIiAtcSwgLS1xdWlldCAgICAgICAgIHN1cHByZXNzIG91dHB1dCBtZXNzYWdlc1xuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSwgUkFJRHMgb3IgcGFydGl0aW9uIHRhYmxlc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKyIgIC1hLCAtLWFsbCAgICAgICAgICAgYWxsZSBtYWdpc2NoZSB0ZWtlbnJlZWtzZW4gd2lzc2VuIChXRUVUIFdBVCBVIERPRVQhKVxuIgorIiAgLWIsIC0tYmFja3VwICAgICAgICByZXNlcnZla29waWUgdmFuIHZpbmdlcmFmZHJ1ayBtYWtlbiBpbiAkSE9NRVxuIgorIiAgLWYsIC0tZm9yY2UgICAgICAgICBoZXQgd2lzc2VuIGFmZHdpbmdlblxuIgorIiAgLWgsIC0taGVscCAgICAgICAgICBkZXplIGh1bHB0ZWtzdCB0b25lblxuIgorIiAgLW4sIC0tbm8tYWN0ICAgICAgICBkb2VuIGFsc29mOiBhbGxlcyBiZWhhbHZlIGhldCBmZWl0ZWxpamtlIHNjaHJpanZlblxuIgorIiAgLW8sIC0tb2Zmc2V0IEdFVEFMICBzdGFydHBvc2l0aWUgdm9vciB3aXNzZW4sIGluIGJ5dGVzXG4iCisiICAtcCwgLS1wYXJzYWJsZSAgICAgIGhlcmJydWlrYmFyZSBpLnAudi4gbGVlc2JhcmUgdWl0dm9lciBwcm9kdWNlcmVuXG4iCisiICAtcSwgLS1xdWlldCAgICAgICAgIGdlZW4gdWl0dm9lcmJlcmljaHRlbiBwcm9kdWNlcmVuXG4iCisiICAtdCwgLS10eXBlcyBMSUpTVCAgIGFsbGVlbiBkZXplIGJlc3RhbmRzc3lzdGVtZW4sIFJBSURzIG9mIHBhcnRpdGlldGFiZWxsZW5cbiIKKyIgIC1WLCAtLXZlcnNpb24gICAgICAgcHJvZ3JhbW1hdmVyc2llIHRvbmVuIGVuIHN0b3BwZW5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MzMKK21zZ2lkICJpbnZhbGlkIG9mZnNldCBhcmd1bWVudCIKK21zZ3N0ciAib25nZWxkaWcgcG9zaXRpZS1hcmd1bWVudCIKKworIyBGSVhNRTogbG93ZXJjYXNlCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU1OAorbXNnaWQgIlRoZSAtLWJhY2t1cCBvcHRpb24gaXMgbWVhbmluZ2xlc3MgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICJkZSBvcHRpZSAnLS1iYWNrdXAnIGlzIHppbmxvb3MgaW4gZGV6ZSBjb250ZXh0IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzUKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVhbC10aW1lIHNjaGVkdWxpbmcgYXR0cmlidXRlcyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIlRvb250IG9mIHpldCBkZSByZWFsdGltZS1zY2hlZHVsaW5nLWVpZ2Vuc2NoYXBwZW4gdmFuIGVlbiBwcm9jZXMuXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNworbXNnaWQgIiIKKyJTZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSA8cHJpb3JpdHk+IDxjb21tYW5kPiBbPGFyZz4uLi5dXG4iCisiIGNocnQgW29wdGlvbnNdIC0tcGlkIDxwcmlvcml0eT4gPHBpZD5cbiIKK21zZ3N0ciAiIgorIkJlbGVpZCBpbnN0ZWxsZW46XG4iCisiICBjaHJ0IFtvcHRpZXNdIDxwcmlvcml0ZWl0PiA8b3BkcmFjaHQ+IFs8YXJndW1lbnQ+Li4uXVxuIgorIiAgY2hydCBbb3B0aWVzXSAtLXBpZCA8cHJpb3JpdGVpdD4gPFBJRD5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQxCittc2dpZCAiIgorIkdldCBwb2xpY3k6XG4iCisiIGNocnQgW29wdGlvbnNdIC1wIDxwaWQ+XG4iCittc2dzdHIgIiIKKyJCZWxlaWQgb3B2cmFnZW46XG4iCisiICBjaHJ0IFtvcHRpZXNdIC1wIDxQSUQ+XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NQorbXNnaWQgIlBvbGljeSBvcHRpb25zOlxuIgorbXNnc3RyICJCZWxlaWRzb3B0aWVzOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDYKK21zZ2lkICIgLWIsIC0tYmF0Y2ggICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorbXNnc3RyICIgIC1iLCAtLWJhdGNoICAgICAgICAgIGJlbGVpZCBvcCBTQ0hFRF9CQVRDSCBpbnN0ZWxsZW5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ3Cittc2dpZCAiIC1kLCAtLWRlYWRsaW5lICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfREVBRExJTkVcbiIKK21zZ3N0ciAiICAtZCwgLS1kZWFkbGluZSAgICAgICBiZWxlaWQgb3AgU0NIRURfREVBRExJTkUgaW5zdGVsbGVuXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OAorbXNnaWQgIiAtZiwgLS1maWZvICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKK21zZ3N0ciAiICAtZiwgLS1maWZvICAgICAgICAgICBiZWxlaWQgb3AgU0NIRURfRklGTyBpbnN0ZWxsZW5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ5Cittc2dpZCAiIC1pLCAtLWlkbGUgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfSURMRVxuIgorbXNnc3RyICIgIC1pLCAtLWlkbGUgICAgICAgICAgIGJlbGVpZCBvcCBTQ0hFRF9JRExFIGluc3RlbGxlblxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTAKK21zZ2lkICIgLW8sIC0tb3RoZXIgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorbXNnc3RyICIgIC1vLCAtLW90aGVyICAgICAgICAgIGJlbGVpZCBvcCBTQ0hFRF9PVEhFUiBpbnN0ZWxsZW5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUxCittc2dpZCAiIC1yLCAtLXJyICAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLXIsIC0tcnIgICAgICAgICAgICAgYmVsZWlkIG9wIFNDSEVEX1JSIGluc3RlbGxlbiAoc3RhbmRhYXJkKVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTQKK21zZ2lkICJTY2hlZHVsaW5nIG9wdGlvbnM6XG4iCittc2dzdHIgIlNjaGVkdWxpbmdvcHRpZXM6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NQorbXNnaWQgIiAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgIHNldCBTQ0hFRF9SRVNFVF9PTl9GT1JLIGZvciBGSUZPIG9yIFJSXG4iCittc2dzdHIgIiAgLVIsIC0tcmVzZXQtb24tZm9yayAgICAgICAgICBTQ0hFRF9SRVNFVF9PTl9GT1JLIGluc3RlbGxlbiB2b29yIEZJRk8gb2YgUlJcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU2Cittc2dpZCAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAgcnVudGltZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiAgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICAgICBydW50aW1lLXBhcmFtZXRlciB2b29yIERFQURMSU5FXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NworbXNnaWQgIiAtUCwgLS1zY2hlZC1wZXJpb2QgPG5zPiAgIHBlcmlvZCBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiAgLVAsIC0tc2NoZWQtcGVyaW9kIDxucz4gICAgICBwZXJpb2RlLXBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU4Cittc2dpZCAiIC1ELCAtLXNjaGVkLWRlYWRsaW5lIDxucz4gZGVhZGxpbmUgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIgIC1ELCAtLXNjaGVkLWRlYWRsaW5lIDxucz4gICAgZGVhZGxpbmUtcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjEKK21zZ2lkICJPdGhlciBvcHRpb25zOlxuIgorbXNnc3RyICJBbmRlcmUgb3B0aWVzOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjIKK21zZ2lkICIgLWEsIC0tYWxsLXRhc2tzICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiICAtYSwgLS1hbGwtdGFza3MgICAgICBhbGxlIHRha2VuL3RocmVhZHMgdmFuIGRlIGdlZ2V2ZW4gUElEIGFhbnBha2tlblxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjMKK21zZ2lkICIgLW0sIC0tbWF4ICAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCittc2dzdHIgIiAgLW0sIC0tbWF4ICAgICAgICAgICAgbWluaW11bSBlbiBtYXhpbXVtIGdlbGRpZ2UgcHJpb3JpdGVpdGVuIHRvbmVuXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NAorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgIC1wLCAtLXBpZCAgICAgICAgICAgIGRlIGdlZ2V2ZW4sIGJlc3RhYW5kZSBQSUQgYmXDr252bG9lZGVuXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICBkaXNwbGF5IHN0YXR1cyBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgIC12LCAtLXZlcmJvc2UgICAgICAgIHN0YXR1c2luZm9ybWF0aWUgdG9uZW5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjMyIHNjaGVkdXRpbHMvY2hydC5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAib3B2cmFnZW4gdmFuIGJlbGVpZCB2b29yIFBJRCAlZCBpcyBtaXNsdWt0IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhdHRyaWJ1dGVzIgorbXNnc3RyICJvcHZyYWdlbiB2YW4gZWlnZW5zY2hhcHBlbiB2b29yIFBJRCAlZCBpcyBtaXNsdWt0IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAiTmlldXcgc2NoZWR1bGluZy1iZWxlaWQgdm9vciBQSUQgJWQ6ICVzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgIkh1aWRpZyBzY2hlZHVsaW5nLWJlbGVpZCB2b29yIFBJRCAlZDogJXMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAiTmlldXdlIHNjaGVkdWxpbmctcHJpb3JpdGVpdCB2YW4gUElEICVkOiAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICJIdWlkaWdlIHNjaGVkdWxpbmctcHJpb3JpdGVpdCB2YW4gUElEICVkOiAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIk5pZXV3ZSBydW50aW1lLS9kZWFkbGluZS9wZXJpb2RlLXBhcmFtZXRlcnMgdmFuIFBJRCAlZDogJWp1LyVqdS8lanVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAiSHVpZGlnZSBydW50aW1lLS9kZWFkbGluZS9wZXJpb2RlLXBhcmFtZXRlcnMgdmFuIFBJRCAlZDogJWp1LyVqdS8lanVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzAwIHNjaGVkdXRpbHMvY2hydC5jOjM5NgorbXNnaWQgImNhbm5vdCBvYnRhaW4gdGhlIGxpc3Qgb2YgdGFza3MiCittc2dzdHIgImthbiBnZWVuIGxpanN0IG1ldCB0YWtlbiB2ZXJrcmlqZ2VuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbWluL21heCBwcmlvcml0eVx0OiAlZC8lZFxuIgorbXNnc3RyICIlcyBtaW5pbXVtL21heGltdW0gcHJpb3JpdGVpdDpcdCAlZC8lZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IHN1cHBvcnRlZD9cbiIKK21zZ3N0ciAiJXMgd29yZHQgbmlldCBvbmRlcnN0ZXVuZD9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJpbnN0ZWxsZW4gdmFuIGJlbGVpZCB2b29yIFRJRCAlZCBpcyBtaXNsdWt0IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgImluc3RlbGxlbiB2YW4gYmVsZWlkIHZvb3IgUElEICVkIGlzIG1pc2x1a3QiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NworbXNnaWQgImludmFsaWQgcnVudGltZSBhcmd1bWVudCIKK21zZ3N0ciAib25nZWxkaWcgcnVudGltZS1hcmd1bWVudCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDkwCittc2dpZCAiaW52YWxpZCBwZXJpb2QgYXJndW1lbnQiCittc2dzdHIgIm9uZ2VsZGlnIHBlcmlvZGUtYXJndW1lbnQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ5MworbXNnaWQgImludmFsaWQgZGVhZGxpbmUgYXJndW1lbnQiCittc2dzdHIgIm9uZ2VsZGlnIGRlYWRsaW5lLWFyZ3VtZW50IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MTcKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5IGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZyBwcmlvcml0ZWl0c2FyZ3VtZW50IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MjEKK21zZ2lkICItLXJlc2V0LW9uLWZvcmsgb3B0aW9uIGlzIHN1cHBvcnRlZCBmb3IgU0NIRURfRklGTyBhbmQgU0NIRURfUlIgcG9saWNpZXMgb25seSIKK21zZ3N0ciAib3B0aWUgJy0tcmVzZXQtb24tZm9yaycgd29yZHQgYWxsZWVuIHZvb3IgU0NIRURfRklGTyBlbiBTQ0hFRF9SUiBvbmRlcnN0ZXVuZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTI2Cittc2dpZCAiLS1zY2hlZC17cnVudGltZSxkZWFkbGluZSxwZXJpb2R9IG9wdGlvbnMgYXJlIHN1cHBvcnRlZCBmb3IgU0NIRURfREVBRExJTkUgb25seSIKK21zZ3N0ciAib3B0aWVzICctLXNjaGVkLXtydW50aW1lLGRlYWRsaW5lLHBlcmlvZH0nIHdvcmRlbiBhbGxlZW4gdm9vciBTQ0hFRF9ERUFETElORSBvbmRlcnN0ZXVuZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQxCittc2dpZCAiU0NIRURfREVBRExJTkUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIlNDSEVEX0RFQURMSU5FIHdvcmR0IG5pZXQgb25kZXJzdGV1bmQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcmlvcml0eSB2YWx1ZSBmb3IgdGhlIHBvbGljeTogJWQ6IHNlZSAtLW1heCBmb3IgdmFsaWQgcmFuZ2UiCittc2dzdHIgIm9uZ2VsZGlnZSBwcmlvcml0ZWl0c3dhYXJkZSAoJWQpIHZvb3IgYmVsZWlkOyB6aWUgJy0tbWF4JyB2b29yIGdlbGRpZyBiZXJlaWsiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6NzYKK21zZ2lkICJpb3ByaW9fZ2V0IGZhaWxlZCIKK21zZ3N0ciAiaW9wcmlvX2dldCgpIGlzIG1pc2x1a3QiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHByaW8gJWx1XG4iCittc2dzdHIgIiVzOiBwcmlvcml0ZWl0ICVsdVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjk4Cittc2dpZCAiaW9wcmlvX3NldCBmYWlsZWQiCittc2dzdHIgImlvcHJpb19zZXQoKSBpcyBtaXNsdWt0IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEwNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIC1wIDxwaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC1QIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtdSA8dWlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcHRpZXNdIC1wIDxQSUQ+Li4uXG4iCisiICUxJHMgW29wdGllc10gLVAgPFBHSUQ+Li4uXG4iCisiICUxJHMgW29wdGllc10gLXUgPFVJRD4uLi5cbiIKKyIgJTEkcyBbb3B0aWVzXSA8b3BkcmFjaHQ+XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTEwCittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIEkvTy1zY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIlRvb250IG9mIHpldCBkZSBpbnZvZXIvdWl0dm9lci1zY2hlZHVsaW5nLWtsYXNzZSBlbiAtcHJpb3JpdGVpdCB2YW4gcHJvY2Vzc2VuLlxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExMworbXNnaWQgIiIKKyIgLWMsIC0tY2xhc3MgPGNsYXNzPiAgICBuYW1lIG9yIG51bWJlciBvZiBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCittc2dzdHIgIiIKKyIgIC1jLCAtLWNsYXNzIDxrbGFzc2U+ICAgbmFhbSBvZiBudW1tZXIgdmFuIHNjaGVkdWxpbmcta2xhc3NlLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IG5vbmUsIDE6IHJlYWx0aW1lLCAyOiBiZXN0LWVmZm9ydCwgMzogaWRsZVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNQorbXNnaWQgIiIKKyIgLW4sIC0tY2xhc3NkYXRhIDxudW0+ICBwcmlvcml0eSAoMC4uNykgaW4gdGhlIHNwZWNpZmllZCBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgb25seSBmb3IgdGhlIHJlYWx0aW1lIGFuZCBiZXN0LWVmZm9ydCBjbGFzc2VzXG4iCittc2dzdHIgIiIKKyIgIC1uLCAtLWNsYXNzZGF0YSA8Z2V0YWw+ICBwcmlvcml0ZWl0ICgwLi43KSBpbiBkZSBvcGdlZ2V2ZW4gc2NoZWR1bGluZy1rbGFzc2U7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmtlbCB2b29yIGRlIGtsYXNzZW4gJ3JlYWx0aW1lJyBlbiAnYmVzdC1lZmZvcnQnXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE3Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPi4uLiAgICAgYWN0IG9uIHRoZXNlIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXNcbiIKK21zZ3N0ciAiICAtcCwgLS1waWQgPFBJRD4uLi4gICAgIHdlcmtlbiBvcCBkZXplIGFsIGRyYWFpZW5kZSBwcm9jZXNzZW5cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTgKK21zZ2lkICIgLVAsIC0tcGdpZCA8cGdycD4uLi4gICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBpbiB0aGVzZSBncm91cHNcbiIKK21zZ3N0ciAiICAtUCwgLS1wZ2lkIDxQR0lEPi4uLiAgIHdlcmtlbiBvcCBkcmFhaWVuZGUgcHJvY2Vzc2VuIGluIGRlemUgcHJvY2VzZ3JvZXBlblxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOQorbXNnaWQgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIGlnbm9yZSBmYWlsdXJlc1xuIgorbXNnc3RyICIgIC10LCAtLWlnbm9yZSAgICAgICAgICAgbWlzbHVra2luZ2VuIG5lZ2VyZW5cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMjAKK21zZ2lkICIgLXUsIC0tdWlkIDx1aWQ+Li4uICAgICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBvd25lZCBieSB0aGVzZSB1c2Vyc1xuIgorbXNnc3RyICIgIC11LCAtLXVpZCA8VUlEPi4uLiAgICAgd2Vya2VuIG9wIGRyYWFpZW5kZSBwcm9jZXNzZW4gdmFuIGRlemUgZ2VicnVpa2Vyc1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE1NworbXNnaWQgImludmFsaWQgY2xhc3MgZGF0YSBhcmd1bWVudCIKK21zZ3N0ciAib25nZWxkaWcga2xhc3NlZ2VnZXZlbnMtYXJndW1lbnQiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTYzCittc2dpZCAiaW52YWxpZCBjbGFzcyBhcmd1bWVudCIKK21zZ3N0ciAib25nZWxkaWcga2xhc3NlLWFyZ3VtZW50IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNjaGVkdWxpbmcgY2xhc3M6ICclcyciCittc2dzdHIgIm9uYmVrZW5kZSBzY2hlZHVsaW5nLWtsYXNzZTogJyVzJyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNzYgc2NoZWR1dGlscy9pb25pY2UuYzoxODQgc2NoZWR1dGlscy9pb25pY2UuYzoxOTIKK21zZ2lkICJjYW4gaGFuZGxlIG9ubHkgb25lIG9mIHBpZCwgcGdpZCBvciB1aWQgYXQgb25jZSIKK21zZ3N0ciAia2FuIHNsZWNodHMgw6nDqW4gdmFuIFBJRCwgUEdJRCBvZiBVSUQgdGVnZWxpamsgYWFuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NQorbXNnaWQgImludmFsaWQgUEdJRCBhcmd1bWVudCIKK21zZ3N0ciAib25nZWxkaWcgUEdJRC1hcmd1bWVudCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxOTMKK21zZ2lkICJpbnZhbGlkIFVJRCBhcmd1bWVudCIKK21zZ3N0ciAib25nZWxkaWcgVUlELWFyZ3VtZW50IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIxMgorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIG5vbmUgY2xhc3MiCittc2dzdHIgImtsYXNzZWdlZ2V2ZW5zIHZvb3IgJ25vbmUnLWtsYXNzZSB3b3JkZW4gZ2VuZWdlZXJkIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyMAorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIGlkbGUgY2xhc3MiCittc2dzdHIgImtsYXNzZWdlZ2V2ZW5zIHZvb3IgJ2lkbGUnLWtsYXNzZSB3b3JkZW4gZ2VuZWdlZXJkIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHByaW8gY2xhc3MgJWQiCittc2dzdHIgIm9uYmVrZW5kZSBwcmlvcml0ZWl0c2tsYXNzZSAlZCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlVzYWdlOiAlcyBbb3B0aW9uc10gW21hc2sgfCBjcHUtbGlzdF0gW3BpZHxjbWQgW2FyZ3MuLi5dXVxuIgorIlxuIgorbXNnc3RyICIiCisiR2VicnVpazogICVzIFtvcHRpZXNdIFttYXNrZXJ8Q1BVLWxpanN0XSBbUElEfG9wZHJhY2h0IFthcmd1bWVudC4uLl1dXG4iCisiXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU1Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIENQVSBhZmZpbml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKyJUb29udCBvZiB3aWp6aWd0IGRlIHByb2Nlc3NvcmFmZmluaXRlaXQgdmFuIGVlbiBwcm9jZXMsXG4iCisib2Ygc3RhcnQgZWVuIG5pZXV3IHByb2NlcyBtZXQgZGUgZ2VnZXZlbiBhZmZpbml0ZWl0LlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiT3B0aW9uczpcbiIKKyIgLWEsIC0tYWxsLXRhc2tzICAgICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKKyIgLXAsIC0tcGlkICAgICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKKyIgLWMsIC0tY3B1LWxpc3QgICAgICAgICAgZGlzcGxheSBhbmQgc3BlY2lmeSBjcHVzIGluIGxpc3QgZm9ybWF0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisiXG4iCittc2dzdHIgIiIKKyJPcHRpZXM6XG4iCisiICAtYSwgLS1hbGwtdGFza3MgICBhbGxlIHRha2VuL3RocmVhZHMgdmFuIGRlIGdlZ2V2ZW4gUElEIGJlw69udmxvZWRlblxuIgorIiAgLXAsIC0tcGlkICAgICAgICAgZGUgZ2VnZXZlbiBiZXN0YWFuZGUgUElEIGJlw69udmxvZWRlblxuIgorIiAgLWMsIC0tY3B1LWxpc3QgICAgZGUgdGUgZ2VicnVpa2VuIHByb2Nlc3NvcmVuIChnZWdldmVuIGFscyBsaWpzdClcbiIKKyIgIC1oLCAtLWhlbHAgICAgICAgIGRlemUgaHVscHRla3N0IHRvbmVuXG4iCisiICAtViwgLS12ZXJzaW9uICAgICBwcm9ncmFtbWF2ZXJzaWUgdG9uZW5cbiIKKyJcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIHJ1biBhIG5ldyBjb21tYW5kOlxuIgorIiAgICAlMSRzIDAzIHNzaGQgLWIgMTAyNFxuIgorIllvdSBjYW4gcmV0cmlldmUgdGhlIG1hc2sgb2YgYW4gZXhpc3RpbmcgdGFzazpcbiIKKyIgICAgJTEkcyAtcCA3MDBcbiIKKyJPciBzZXQgaXQ6XG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisiTGlzdCBmb3JtYXQgdXNlcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IGluc3RlYWQgb2YgYSBtYXNrOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJSYW5nZXMgaW4gbGlzdCBmb3JtYXQgY2FuIHRha2UgYSBzdHJpZGUgYXJndW1lbnQ6XG4iCisiICAgIGUuZy4gMC0zMToyIGlzIGVxdWl2YWxlbnQgdG8gbWFzayAweDU1NTU1NTU1XG4iCittc2dzdHIgIiIKKyJTdGFuZGFhcmQgd29yZHQgZWVuIG5pZXV3IHByb2NlcyBnZXN0YXJ0LCBiaWp2b29yYmVlbGQ6XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisiVSBrdW50IGhldCBtYXNrZXIgdmFuIGVlbiBiZXN0YWFuZCBwcm9jZXMgb3B2cmFnZW46XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiT2YgaW5zdGVsbGVuOlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorIkluIHBsYWF0cyB2YW4gZWVuIG1hc2tlciBpcyBlZW4ga29tbWFnZXNjaGVpZGVuIGxpanN0IG1vZ2VsaWprOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJJbiBlZW4gbGlqc3Qga2FuIG9wIGVlbiBiZXJlaWsgZWVuIHN0YXBhcmd1bWVudCB2b2xnZW46XG4iCisiICAgIDAtMzE6MiBpcyBiaWp2b29yYmVlbGQgaGV0emVsZmRlIGFscyBtYXNrZXIgMHg1NTU1NTU1NVxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAiTmlldXdlIGFmZmluaXRlaXRzbGlqc3QgdmFuIFBJRCAlZDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICJIdWlkaWdlIGFmZmluaXRlaXRzbGlqc3QgdmFuIFBJRCAlZDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIk5pZXV3IGFmZmluaXRlaXRzbWFza2VyIHZhbiBQSUQgJWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAiSHVpZGlnIGFmZmluaXRlaXRzbWFza2VyIHZhbiBQSUQgJWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk5Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IGNvbnZlcnNpb24gZnJvbSBjcHVzZXQgdG8gc3RyaW5nIGZhaWxlZCIKK21zZ3N0ciAiKippbnRlcm5lIHByb2dyYW1tYWZvdXQqKjogb216ZXR0ZW4gdmFuIENQVS1zZXQgbmFhciB0ZWtlbnJlZWtzIGlzIG1pc2x1a3QiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwOSBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAib3B2cmFnZW4gdmFuIGFmZmluaXRlaXQgdmFuIFBJRCAlZCBpcyBtaXNsdWt0IgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAiaW5zdGVsbGVuIHZhbiBhZmZpbml0ZWl0IHZhbiBQSUQgJWQgaXMgbWlzbHVrdCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTg2IHN5cy11dGlscy9jaGNwdS5jOjI4OQorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgTlJfQ1BVUzsgYWJvcnRpbmciCittc2dzdHIgImthbiBhYW50YWwgcHJvY2Vzc29yZW4gbmlldCBiZXBhbGVuIC0tIGdlc3RvcHQiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE5NSBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMDggc3lzLXV0aWxzL2NoY3B1LmM6Mjk1Cittc2dpZCAiY3B1c2V0X2FsbG9jIGZhaWxlZCIKK21zZ3N0ciAiY3B1c2V0X2FsbG9jKCkgaXMgbWlzbHVrdCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjE1IHN5cy11dGlscy9jaGNwdS5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gcHJvY2Vzc29yZW5saWpzdCAlcyBpcyBtaXNsdWt0IgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrOiAlcyIKK21zZ3N0ciAib250bGVkZW4gdmFuIHByb2Nlc3NvcmVubWFza2VyICVzIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFplcm8tZmlsbGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiVzOiBFciB6aWpuICU8UFJJdTY0PiBieXRlcyBtZXQgbnVsIGdldnVsZCB2YW5hZiBwb3NpdGllICU8UFJJdTY0Pi5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogRGlzY2FyZGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiVzOiBFciB6aWpuICU8UFJJdTY0PiBieXRlcyB2ZXJ3b3JwZW4gdmFuYWYgcG9zaXRpZSAlPFBSSXU2ND4uXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODcKK21zZ2lkICJEaXNjYXJkIHRoZSBjb250ZW50IG9mIHNlY3RvcnMgb24gYSBkZXZpY2UuXG4iCittc2dzdHIgIlZlcndlcnB0IGRlIGluaG91ZCB2YW4gc2VjdG9yZW4gb3AgZWVuIGFwcGFyYWF0LlxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkwCittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorbXNnc3RyICIgIC1vLCAtLW9mZnNldCA8Z2V0YWw+ICAgZGUgcG9zaXRpZSB2YW5hZiB3YWFyIG1ldCB2ZXJ3ZXJwZW4gdGUgYmVnaW5uZW5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgIC1sLCAtLWxlbmd0aCA8Z2V0YWw+ICAgaGV0IGFhbnRhbCB0ZSB2ZXJ3ZXJwZW4gYnl0ZXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MgorbXNnaWQgIiAtcCwgLS1zdGVwIDxudW0+ICAgIHNpemUgb2YgdGhlIGRpc2NhcmQgaXRlcmF0aW9ucyB3aXRoaW4gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgIC1wLCAtLXN0ZXAgPGdldGFsPiAgICAgZ3Jvb3R0ZSB2YW4gZGUgdmVyd2VycGluZ3NzdGFwcGVuXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTMKK21zZ2lkICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCittc2dzdHIgIiAgLXMsIC0tc2VjdXJlICAgICAgICAgICB2ZWlsaWdlIHZlcndlcnBpbmdzb3BlcmF0aWVzIHVpdHZvZXJlblxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk0Cittc2dpZCAiIC16LCAtLXplcm9vdXQgICAgICAgemVyby1maWxsIHJhdGhlciB0aGFuIGRpc2NhcmRcbiIKK21zZ3N0ciAiICAteiwgLS16ZXJvb3V0ICAgICAgICAgIG1ldCBudWxsZW4gdnVsbGVuIGluIHBsYWF0cyB2YW4gdmVyd2VycGVuXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCittc2dzdHIgIiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICB1aXRnZWxpam5kZSBsZW5ndGVzIGVuIHBvc2l0aWVzIHZlcm1lbGRlblxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1MCBzeXMtdXRpbHMvZnN0cmltLmM6MzEyIHN5cy11dGlscy9sb3NldHVwLmM6NjczCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMjQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IgorbXNnc3RyICJvbnRsZWRlbiB2YW4gcG9zaXRpZSBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1NAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGVwIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gc3RhcGdyb290dGUgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzIgc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODIgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDgKK21zZ2lkICJubyBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJnZWVuIGFwcGFyYWF0IGdlZ2V2ZW4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTc3IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTEKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyMiBzeXMtdXRpbHMvZnN0cmltLmM6MzM0Cittc2dpZCAidW5leHBlY3RlZCBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJvbnZlcndhY2h0IGFhbnRhbCBhcmd1bWVudGVuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLR0VUU0laRTY0IGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGlvY3RsKEJMS0dFVFNJWkU2NCkgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NTWkdFVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBpb2N0bChCTEtTU1pHRVQpIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIlczogcG9zaXRpZSAlPFBSSXU2ND4gaXMgbmlldCB1aXRnZWxpam5kIG1ldCBzZWN0b3Jncm9vdHRlICVpIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0IGlzIGdyZWF0ZXIgdGhhbiBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAiJXM6IHBvc2l0aWUgaXMgZ3JvdGVyIGRhbiBhcHBhcmFhdGdyb290dGUiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsZW5ndGggJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIlczogbGVuZ3RlICU8UFJJdTY0PiBpcyBuaWV0IHVpdGdlbGlqbmQgbWV0IHNlY3Rvcmdyb290dGUgJWkiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtaRVJPT1VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGlvY3RsKEJMS1pFUk9PVVQpIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTRUNESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGlvY3RsKEJMS1NFQ0RJU0NBUkQpIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGlvY3RsKEJMS0RJU0NBUkQpIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjg3IHN5cy11dGlscy9jaGNwdS5jOjE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIkNQVSAldSBiZXN0YWF0IG5pZXQiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgaG90IHBsdWdnYWJsZSIKK21zZ3N0ciAiQ1BVICV1IGlzIG5pZXQgaG90cGx1Zy1iYWFyIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIkNQVSAldSBpcyBhbCBpbmdlc2NoYWtlbGRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAldSBpcyBhbCB1aXRnZXNjaGFrZWxkXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCAoQ1BVIGlzIGRlY29uZmlndXJlZCkiCittc2dzdHIgIkluc2NoYWtlbGVuIHZhbiBDUFUgJXUgaXMgbWlzbHVrdCAoQ1BVIGlzIGdlZGVjb25maWd1cmVlcmQpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIkluc2NoYWtlbGVuIHZhbiBDUFUgJXUgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGVkXG4iCittc2dzdHIgIkNQVSAldSBpcyBpbmdlc2NoYWtlbGRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCAobGFzdCBlbmFibGVkIENQVSkiCittc2dzdHIgIlVpdHNjaGFrZWxlbiB2YW4gQ1BVICV1IGlzIG1pc2x1a3QgKGlzIGRlIGVuaWdlIGluZ2VzY2hha2VsZGUgQ1BVKSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCIKK21zZ3N0ciAiVWl0c2NoYWtlbGVuIHZhbiBDUFUgJXUgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlZFxuIgorbXNnc3RyICJDUFUgJXUgaXMgdWl0Z2VzY2hha2VsZFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHJlc2Nhbm5pbmcgb2YgQ1BVcyIKK21zZ3N0ciAiRGl0IHN5c3RlZW0gb25kZXJzdGV1bnQgaGV0IGhlcnNjYW5uZW4gdmFuIENQVSdzIG5pZXQiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MworbXNnaWQgIkZhaWxlZCB0byB0cmlnZ2VyIHJlc2NhbiBvZiBDUFVzIgorbXNnc3RyICJTdGFydGVuIHZhbiBlZW4gaGVyc2NhbiB2YW4gQ1BVJ3MgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyaWdnZXJlZCByZXNjYW4gb2YgQ1BVc1xuIgorbXNnc3RyICJIZXJzY2FuIHZhbiBDUFUncyBpcyBnZXN0YXJ0XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgc2V0dGluZyB0aGUgZGlzcGF0Y2hpbmcgbW9kZSBvZiBDUFVzIgorbXNnc3RyICJEaXQgc3lzdGVlbSBvbmRlcnN0ZXVudCBoZXQgaW5zdGVsbGVuIHZhbiBkZSBkaXNwYXRjaGluZy1tb2R1cyB2YW4gQ1BVJ3MgbmlldCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU1Cittc2dpZCAiRmFpbGVkIHRvIHNldCBob3Jpem9udGFsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgIkluc3RlbGxlbiB2YW4gaG9yaXpvbnRhbGUgZGlzcGF0Y2hpbmctbW9kdXMgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU2CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIkhvcml6b250YWxlIGRpc3BhdGNoaW5nLW1vZHVzIGlzIG1ldCBzdWNjZXMgaW5nZXN0ZWxkXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1OQorbXNnaWQgIkZhaWxlZCB0byBzZXQgdmVydGljYWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiSW5zdGVsbGVuIHZhbiB2ZXJ0aWNhbGUgZGlzcGF0Y2hpbmctbW9kdXMgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgdmVydGljYWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICJWZXJ0aWNhbGUgZGlzcGF0Y2hpbmctbW9kdXMgaXMgbWV0IHN1Y2NlcyBpbmdlc3RlbGRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgY29uZmlndXJhYmxlIgorbXNnc3RyICJDUFUgJXUgaXMgbmlldCBjb25maWd1cmVlcmJhYXIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAldSBpcyBhbCBnZWNvbmZpZ3VyZWVyZFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAldSBpcyBhbCBnZWRlY29uZmlndXJlZXJkXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIChDUFUgaXMgZW5hYmxlZCkiCittc2dzdHIgIkRlY29uZmlndXJlcmVuIHZhbiBDUFUgJXUgaXMgbWlzbHVrdCAoQ1BVIGlzIGluZ2VzY2hha2VsZCkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiQ29uZmlndXJlcmVuIHZhbiBDUFUgJXUgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAldSBpcyBnZWNvbmZpZ3VyZWVyZFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiRGVjb25maWd1cmVyZW4gdmFuIENQVSAldSBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJDUFUgJXUgaXMgZ2VkZWNvbmZpZ3VyZWVyZFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBDUFUgbnVtYmVyIGluIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAib25nZWxkaWcgQ1BVLW51bW1lciBpbiBDUFUtbGlqc3Q6ICVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzggdGV4dC11dGlscy9jb2wuYzoxMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiIgorIlxuIgorIkdlYnJ1aWs6ICAlcyBbb3B0aWVzXVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDIKK21zZ2lkICJDb25maWd1cmUgQ1BVcyBpbiBhIG11bHRpLXByb2Nlc3NvciBzeXN0ZW0uXG4iCittc2dzdHIgIkNvbmZpZ3VyZWVydCBDUFUncyBvcCBlZW4gbXVsdGlwcm9jZXNzb3JzeXN0ZWVtLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorIiAgLWUsIC0tZW5hYmxlIDxjcHUtbGlzdD4gICAgICAgZW5hYmxlIGNwdXNcbiIKKyIgIC1kLCAtLWRpc2FibGUgPGNwdS1saXN0PiAgICAgIGRpc2FibGUgY3B1c1xuIgorIiAgLWMsIC0tY29uZmlndXJlIDxjcHUtbGlzdD4gICAgY29uZmlndXJlIGNwdXNcbiIKKyIgIC1nLCAtLWRlY29uZmlndXJlIDxjcHUtbGlzdD4gIGRlY29uZmlndXJlIGNwdXNcbiIKKyIgIC1wLCAtLWRpc3BhdGNoIDxtb2RlPiAgICAgICAgIHNldCBkaXNwYXRjaGluZyBtb2RlXG4iCisiICAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICB0cmlnZ2VyIHJlc2NhbiBvZiBjcHVzXG4iCisiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjMyNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBhcmd1bWVudDogJXMiCittc2dzdHIgIm9uZ2VsZGlnIGFyZ3VtZW50OiAlcyIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzoyNworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgaGFyZHxzb2Z0XG4iCittc2dzdHIgIiAgJXMgaGFyZHxzb2Z0XG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0IHRoZSBmdW5jdGlvbiBvZiB0aGUgQ3RybC1BbHQtRGVsIGNvbWJpbmF0aW9uLlxuIgorbXNnc3RyICJTdGVsdCBkZSBmdW5jdGllIGluIHZhbiBkZSBDdHJsK0FsdCtEZWwtdG9ldHNjb21iaW5hdGllLlxuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUxCittc2dpZCAiaW1wbGljaXQiCittc2dzdHIgImltcGxpY2lldCIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHZhbHVlIGluICVzOiAlanUiCittc2dzdHIgIm9udmVyd2FjaHRlIHdhYXJkZSBpbiAlczogJWp1IgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjYzCittc2dpZCAiWW91IG11c3QgYmUgcm9vdCB0byBzZXQgdGhlIEN0cmwtQWx0LURlbCBiZWhhdmlvciIKK21zZ3N0ciAiVSBtb2V0IHJvb3QgemlqbiBvbSBoZXQgZ2VkcmFnIHZhbiBDdHJsLUFsdC1EZWwgaW4gdGUga3VubmVuIHN0ZWxsZW4uIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjcxIHN5cy11dGlscy9pcGNybS5jOjM5MiBzeXMtdXRpbHMvaXBjcm0uYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhcmd1bWVudDogJXMiCittc2dzdHIgIm9uYmVrZW5kIGFyZ3VtZW50OiAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEwCittc2dpZCAic3lzdGVtIGlzIHVudXNhYmxlIgorbXNnc3RyICJzeXN0ZWVtIGlzIG9uYnJ1aWtiYWFyIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTEKK21zZ2lkICJhY3Rpb24gbXVzdCBiZSB0YWtlbiBpbW1lZGlhdGVseSIKK21zZ3N0ciAib25taWRkZWxsaWprZSBhY3RpZSBpcyB2ZXJlaXN0IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTIKK21zZ2lkICJjcml0aWNhbCBjb25kaXRpb25zIgorbXNnc3RyICJrcml0aWVrZSB0b2VzdGFuZCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEzCittc2dpZCAiZXJyb3IgY29uZGl0aW9ucyIKK21zZ3N0ciAiZm91dHRvZXN0YW5kIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTQKK21zZ2lkICJ3YXJuaW5nIGNvbmRpdGlvbnMiCittc2dzdHIgIndhYXJzY2h1d2luZ3N0b2VzdGFuZCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE1Cittc2dpZCAibm9ybWFsIGJ1dCBzaWduaWZpY2FudCBjb25kaXRpb24iCittc2dzdHIgImdld29uZSBtYWFyIHNpZ25pZmljYW50ZSB0b2VzdGFuZCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE2Cittc2dpZCAiaW5mb3JtYXRpb25hbCIKK21zZ3N0ciAidGVyIGluZm9ybWF0aWUiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNworbXNnaWQgImRlYnVnLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICJkZWJ1Z2dpbmctbWVsZGluZ2VuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzEKK21zZ2lkICJrZXJuZWwgbWVzc2FnZXMiCittc2dzdHIgImtlcm5lbG1lbGRpbmdlbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMyCittc2dpZCAicmFuZG9tIHVzZXItbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgIndpbGxla2V1cmlnZSBnZWJydWlrZXJzbWVsZGluZ2VuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzMKK21zZ2lkICJtYWlsIHN5c3RlbSIKK21zZ3N0ciAicG9zdHN5c3RlZW0iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNAorbXNnaWQgInN5c3RlbSBkYWVtb25zIgorbXNnc3RyICJzeXN0ZWVtZGllbnN0ZW4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNQorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMiCittc2dzdHIgImJldmVpbGlnaW5ncy0vYXV0b3Jpc2F0aWVtZWxkaW5nZW4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNgorbXNnaWQgIm1lc3NhZ2VzIGdlbmVyYXRlZCBpbnRlcm5hbGx5IGJ5IHN5c2xvZ2QiCittc2dzdHIgImludGVybmUgbWVsZGluZ2VuIHZhbiAnc3lzbG9nZCciCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNworbXNnaWQgImxpbmUgcHJpbnRlciBzdWJzeXN0ZW0iCittc2dzdHIgInJlZ2VscHJpbnRlci1zdWJzeXN0ZWVtIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzgKK21zZ2lkICJuZXR3b3JrIG5ld3Mgc3Vic3lzdGVtIgorbXNnc3RyICJuZXR3ZXJrbmlldXdzLXN1YnN5c3RlZW0iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOQorbXNnaWQgIlVVQ1Agc3Vic3lzdGVtIgorbXNnc3RyICJVVUNQLXN1YnN5c3RlZW0iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MAorbXNnaWQgImNsb2NrIGRhZW1vbiIKK21zZ3N0ciAia2xva2RpZW5zdCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQxCittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyAocHJpdmF0ZSkiCittc2dzdHIgImJldmVpbGlnaW5ncy0vYXV0b3Jpc2F0aWVtZWxkaW5nZW4gKHByaXbDqSkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MgorbXNnaWQgIkZUUCBkYWVtb24iCittc2dzdHIgIkZUUC1kaWVuc3QiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI2NworbXNnaWQgIkRpc3BsYXkgb3IgY29udHJvbCB0aGUga2VybmVsIHJpbmcgYnVmZmVyLlxuIgorbXNnc3RyICJUb29udCBvZiBtYW5pcHVsZWVydCBkZSBpbmhvdWQgdmFuIGRlIGtlcm5lbHJpbmdidWZmZXIuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MAorbXNnaWQgIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgY2xlYXIgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIgIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICBkZSBiZXJpY2h0ZW4gaW4gZGUga2VybmVscmluZ2J1ZmZlciB3aXNzZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjcxCittc2dpZCAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICByZWFkIGFuZCBjbGVhciBhbGwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgYWxsZSBiZXJpY2h0ZW4gbGV6ZW4gZW4gZGFuIHdpc3NlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzIKK21zZ2lkICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIGRpc2FibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICB0b25lbiB2YW4gbWVsZGluZ2VuIG9wIGNvbnNvbGUgdWl0c2NoYWtlbGVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MworbXNnaWQgIiAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAgZW5hYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiICAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAgdG9uZW4gdmFuIG1lbGRpbmdlbiBvcCBjb25zb2xlIGluc2NoYWtlbGVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NAorbXNnaWQgIiAtRiwgLS1maWxlIDxmaWxlPiAgICAgICAgICAgdXNlIHRoZSBmaWxlIGluc3RlYWQgb2YgdGhlIGtlcm5lbCBsb2cgYnVmZmVyXG4iCittc2dzdHIgIiAgLUYsIC0tZmlsZSA8YmVzdGFuZD4gICAgICAgIGRpdCBiZXN0YW5kIGdlYnJ1aWtlbiBpLnAudi4ga2VybmVscmluZ2J1ZmZlclxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzUKK21zZ2lkICIgLWYsIC0tZmFjaWxpdHkgPGxpc3Q+ICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGZhY2lsaXRpZXNcbiIKK21zZ3N0ciAiICAtZiwgLS1mYWNpbGl0eSA8bGlqc3Q+ICAgICAgdWl0dm9lciBiZXBlcmtlbiB0b3QgZGUgYWFuZ2VnZXZlbiBmYWNpbGl0ZWl0ZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc2Cittc2dpZCAiIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICBodW1hbiByZWFkYWJsZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAgbGVlc2JhcmUgdWl0dm9lciBwcm9kdWNlcmVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NworbXNnaWQgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgZGlzcGxheSBrZXJuZWwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAga2VybmVsLWJlcmljaHRlbiB0b25lblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzgKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLUwsIC0tY29sb3JbPTx3YW5uZWVyPl0gICAgIGJlcmljaHRlbiBrbGV1cmVuICgnYWx3YXlzJywgJ2F1dG8nLCBvZiAnbmV2ZXInKVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODEKK21zZ2lkICIgLWwsIC0tbGV2ZWwgPGxpc3Q+ICAgICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGxldmVsc1xuIgorbXNnc3RyICIgIC1sLCAtLWxldmVsIDxsaWpzdD4gICAgICAgICB1aXR2b2VyIGJlcGVya2VuIHRvdCBkZSBhYW5nZWdldmVuIG5pdmVhdXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgyCittc2dpZCAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPGxldmVsPiBzZXQgbGV2ZWwgb2YgbWVzc2FnZXMgcHJpbnRlZCB0byBjb25zb2xlXG4iCittc2dzdHIgIiAgLW4sIC0tY29uc29sZS1sZXZlbCA8bml2ZWF1PiAgbml2ZWF1IHZhbiBiZXJpY2h0ZW4gZGllIG9wIGNvbnNvbGUgZ2V0b29uZCB3b3JkZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgzCittc2dpZCAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICBkbyBub3QgcGlwZSBvdXRwdXQgaW50byBhIHBhZ2VyXG4iCittc2dzdHIgIiAgLVAsIC0tbm9wYWdlciAgICAgICAgICAgICAgIGRlIHVpdHZvZXIgbmlldCBuYWFyIGVlbiAncGFnZXInIHNsdWl6ZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg0Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iCittc2dzdHIgIiAgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIGRlIGJlcmljaHRlbmJ1ZmZlciBpbiByYXV3ZSB2b3JtIHdlZXJnZXZlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODUKK21zZ2lkICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIGZvcmNlIHRvIHVzZSBzeXNsb2coMikgcmF0aGVyIHRoYW4gL2Rldi9rbXNnXG4iCittc2dzdHIgIiAgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgICdzeXNsb2coMiknIGdlYnJ1aWtlbiBpbiBwbGFhdHMgdmFuICcvZGV2L2ttc2cnXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NgorbXNnaWQgIiAtcywgLS1idWZmZXItc2l6ZSA8c2l6ZT4gICAgYnVmZmVyIHNpemUgdG8gcXVlcnkgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIgIC1zLCAtLWJ1ZmZlci1zaXplIDxnZXRhbD4gICBidWZmZXJncm9vdHRlIHZvb3IgYmV2cmFnZW4gdmFuIGtlcm5lbHJpbmdidWZmZXJcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg3Cittc2dpZCAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICBkaXNwbGF5IHVzZXJzcGFjZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICBiZXJpY2h0ZW4gdWl0IGdlYnJ1aWtlcnNydWltdGUgd2VlcmdldmVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OAorbXNnaWQgIiAtdywgLS1mb2xsb3cgICAgICAgICAgICAgICAgd2FpdCBmb3IgbmV3IG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIG9wIG5pZXV3ZSBiZXJpY2h0ZW4gd2FjaHRlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODkKK21zZ2lkICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIGRlY29kZSBmYWNpbGl0eSBhbmQgbGV2ZWwgdG8gcmVhZGFibGUgc3RyaW5nXG4iCittc2dzdHIgIiAgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIGZhY2lsaXRlaXQgZW4gbml2ZWF1IGluIGxlZXNiYXJlIHRla3N0IG9temV0dGVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MAorbXNnaWQgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgc2hvdyB0aW1lIGRlbHRhIGJldHdlZW4gcHJpbnRlZCBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICB0aWpkc2RlbHRhIHR1c3NlbiBnZXRvb25kZSBiZXJpY2h0ZW4gd2VlcmdldmVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MQorbXNnaWQgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgc2hvdyBsb2NhbCB0aW1lIGFuZCB0aW1lIGRlbHRhIGluIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBsb2thbGUgdGlqZCBlbiB0aWpkc2RlbHRhIGluIGxlZXNiYXJlIHZvcm0gdG9uZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkyCittc2dpZCAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICBzaG93IGh1bWFuLXJlYWRhYmxlIHRpbWVzdGFtcCAobWF5IGJlIGluYWNjdXJhdGUhKVxuIgorbXNnc3RyICIiCisiICAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgZWVuIGxlZXNiYWFyIHRpamRzc3RlbXBlbCBwcm9kdWNlcmVuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZGl0IGthbiBvbm5hdXdrZXVyaWcgemlqbilcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkzCittc2dpZCAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBkb24ndCBzaG93IGFueSB0aW1lc3RhbXAgd2l0aCBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBnZWVuIHRpamRzc3RlbXBlbCB3ZWVyZ2V2ZW4gYmlqIGJlcmljaHRlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTQKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcCB1c2luZyB0aGUgZ2l2ZW4gZm9ybWF0OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsdGF8cmVsdGltZXxjdGltZXxub3RpbWV8aXNvXVxuIgorIlN1c3BlbmRpbmcvcmVzdW1lIHdpbGwgbWFrZSBjdGltZSBhbmQgaXNvIHRpbWVzdGFtcHMgaW5hY2N1cmF0ZS5cbiIKK21zZ3N0ciAiIgorIiAgICAgIC0tdGltZS1mb3JtYXQgPHNvb3J0PiAgICB0aWpkc3N0ZW1wZWxzIHRvbmVuIHZhbiBkZXplIDxzb29ydD46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlbHRhJywgJ3JlbHRpbWUnLCAnY3RpbWUnLCAnaXNvJywgJ25vdGltZSdcbiIKKyJcbiIKKyJTbGFwZW4vaGVydmF0dGVuIG1hYWt0ICdjdGltZScgZW4gJ2lzbycgb25uYXV3a2V1cmlnLlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDAKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBmYWNpbGl0aWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiT25kZXJzdGV1bmRlIGxvZy1mYWNpbGl0ZWl0ZW46XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwNgorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGxldmVscyAocHJpb3JpdGllcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJPbmRlcnN0ZXVuZGUgbG9nLW5pdmVhdXMgKHByaW9yaXRlaXRlbik6XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGV2ZWwgJyVzJyIKK21zZ3N0ciAib250bGVkZW4gdmFuIG5pdmVhdSAnJXMnIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGxldmVsICclcyciCittc2dzdHIgIm9uYmVrZW5kIG5pdmVhdSAnJXMnIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGZhY2lsaXR5ICclcyciCittc2dzdHIgIm9udGxlZGVuIHZhbiBmYWNpbGl0ZWl0ICclcycgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAib25iZWtlbmRlIGZhY2lsaXRlaXQgJyVzJyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NTI4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtbWFwOiAlcyIKK21zZ3N0ciAia2FuIGJlc3RhbmQgJXMgbmlldCBnZWhlZWwgaW4gaGV0IGdlaGV1Z2VuIHBsYWF0c2VuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzU2Cittc2dpZCAiaW52YWxpZCBidWZmZXIgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAib25nZWxkaWdlIGJ1ZmZlcmdyb290dGUiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MDkKK21zZ2lkICItLXNob3ctZGVsdGEgaXMgaWdub3JlZCB3aGVuIHVzZWQgdG9nZXRoZXIgd2l0aCBpc284NjAxIHRpbWUgZm9ybWF0IgorbXNnc3RyICJvcHRpZSAnLS1zaG93LWRlbHRhJyB3b3JkdCBnZW5lZ2VlcmQgd2FubmVlciBzYW1lbiBnZWJydWlrdCBtZXQgSVNPODYwMS10aWpkb3BtYWFrIgorCisjIEZJWE1FOiBncmFtbWFyCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDMyCittc2dpZCAiLS1yYXcgY2FuIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWxldmVsIG9yIC0tZmFjaWxpdHkgb25seSB3aGVuIHJlYWRpbmcgbWVzc2FnZXMgZnJvbSAvZGV2L2ttc2ciCittc2dzdHIgIm9wdGllICctLXJhdycgZ2FhdCBhbGxlZW4gc2FtZW4gbWV0ICctLWxldmVsJyBvZiAnLS1mYWNpbGl0eScgd2FubmVlciBkZSBiZXJpY2h0ZW4gdWl0IC9kZXYva21zZyBnZWxlemVuIHdvcmRlbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQ0MgorbXNnaWQgInJlYWQga2VybmVsIGJ1ZmZlciBmYWlsZWQiCittc2dzdHIgImxlemVuIHZhbiBrZXJuZWxidWZmZXIgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQ2MQorbXNnaWQgImtsb2djdGwgZmFpbGVkIgorbXNnc3RyICJrbG9nY3RsKCkgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+fDxtb3VudHBvaW50Pl1cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSBbPGFwcGFyYWF0Pnw8YWFua29wcGVsaW5nc3B1bnQ+XVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzcKK21zZ2lkICJFamVjdCByZW1vdmFibGUgbWVkaWEuXG4iCittc2dzdHIgIldlcnB0IHZlcndpamRlcmJhcmUgbWVkaWEgdWl0LlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNDAKK21zZ2lkICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICB0dXJuIGF1dG8tZWplY3QgZmVhdHVyZSBvbiBvciBvZmZcbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHNsb3Q+ICAgIHN3aXRjaCBkaXNjcyBvbiBhIENELVJPTSBjaGFuZ2VyXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBkaXNwbGF5IGRlZmF1bHQgZGV2aWNlXG4iCisiIC1mLCAtLWZsb3BweSAgICAgICAgICAgICAgICBlamVjdCBmbG9wcHlcbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIGRvbid0IGNhcmUgYWJvdXQgZGV2aWNlIHR5cGVcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIHRvZ2dsZSBtYW51YWwgZWplY3QgcHJvdGVjdGlvbiBvbi9vZmZcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIGRvIG5vdCB1bm1vdW50IGRldmljZSBldmVuIGlmIGl0IGlzIG1vdW50ZWRcbiIKKyIgLU0sIC0tbm8tcGFydGl0aW9ucy11bm1vdW50IGRvIG5vdCB1bm1vdW50IGFub3RoZXIgcGFydGl0aW9uc1xuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgZG9uJ3QgZWplY3QsIGp1c3Qgc2hvdyBkZXZpY2UgZm91bmRcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIHVzZSAvcHJvYy9tb3VudHMgaW5zdGVhZCBvZiAvZXRjL210YWJcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIGVqZWN0IHRhcGVcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIGVqZWN0IENELVJPTVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgZWplY3QgU0NTSSBkZXZpY2VcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIGNsb3NlIHRyYXlcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIHRvZ2dsZSB0cmF5XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICBlbmFibGUgdmVyYm9zZSBvdXRwdXRcbiIKKyIgLXgsIC0tY2RzcGVlZCA8c3BlZWQ+ICAgICAgIHNldCBDRC1ST00gbWF4IHNwZWVkXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICBsaXN0IENELVJPTSBhdmFpbGFibGUgc3BlZWRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTY0Cittc2dpZCAiIgorIlxuIgorIkJ5IGRlZmF1bHQgdHJpZXMgLXIsIC1zLCAtZiwgYW5kIC1xIGluIG9yZGVyIHVudGlsIHN1Y2Nlc3MuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTdGFuZGFhcmQgd29yZGVuICctcicsICctcycsICctZicsIGVuIGRhbiAnLXEnIGdlcHJvYmVlcmQgdG90IGhldCBnZWx1a3QgaXMuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxMAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jaGFuZ2Vyc2xvdC8tYyBvcHRpb24iCittc2dzdHIgIm9uZ2VsZGlnIGFyZ3VtZW50IHZhbiBvcHRpZSAnLS1jaGFuZ2Vyc2xvdCcgKC1jKSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjE0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNkc3BlZWQvLXggb3B0aW9uIgorbXNnc3RyICJvbmdlbGRpZyBhcmd1bWVudCB2YW4gb3B0aWUgJy0tY2RzcGVlZCcgKC14KSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzI2Cittc2dpZCAiQ0QtUk9NIGF1dG8tZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkNELVJPTS1hdXRvbWF0aXNjaHVpdHdlcnBjb21tYW5kbyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDAKK21zZ2lkICJDRC1ST00gZG9vciBsb2NrIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIkNELVJPTS1kZXVydmVyZ3JlbmRlbGluZyB3b3JkdCBuaWV0IG9uZGVyc3RldW5kIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDIKK21zZ2lkICJvdGhlciB1c2VycyBoYXZlIHRoZSBkcml2ZSBvcGVuIGFuZCBub3QgQ0FQX1NZU19BRE1JTiIKK21zZ3N0ciAiYW5kZXJlIGdlYnJ1aWtlcnMgaGViYmVuIGhldCBhcHBhcmFhdCBvcGVuIGVuIGdlZW4gQ0FQX1NZU19BRE1JTiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQ0Cittc2dpZCAiQ0QtUk9NIGxvY2sgZG9vciBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ0QtUk9NLWRldXJ2ZXJncmVuZGVsaW5nc2NvbW1hbmRvIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0OQorbXNnaWQgIkNELURyaXZlIG1heSBOT1QgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIkNELVJPTSBrYW4gTklFVCB1aXRnZXdvcnBlbiB3b3JkZW4gbWV0IGFwcGFyYWF0a25vcCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzUxCittc2dpZCAiQ0QtRHJpdmUgbWF5IGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICJDRC1ST00ga2FuIHVpdGdld29ycGVuIHdvcmRlbiBtZXQgYXBwYXJhYXRrbm9wIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjIKK21zZ2lkICJDRC1ST00gc2VsZWN0IGRpc2MgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkNELVJPTS1zY2hpamZrZXV6ZWNvbW1hbmRvIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NgorbXNnaWQgIkNELVJPTSBsb2FkIGZyb20gc2xvdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ0QtUk9NLWNvbW1hbmRvIHZvb3IgbGFkZW4gdWl0IHZhayBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjgKK21zZ2lkICJJREUvQVRBUEkgQ0QtUk9NIGNoYW5nZXIgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICJJREUvQVRBUEkgQ0QtUk9NLXdpc3NlbGFhciB3b3JkdCBuaWV0IG9uZGVyc3RldW5kIGRvb3IgZGV6ZSBrZXJuZWxcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg2Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkNELVJPTS1sYWRlc2x1aXRjb21tYW5kbyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODgKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAiQ0QtUk9NLWxhZGVzbHVpdGNvbW1hbmRvIHdvcmR0IG5pZXQgb25kZXJzdGV1bmQgZG9vciBkZXplIGtlcm5lbFxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MDUKK21zZ2lkICJDRC1ST00gZWplY3QgdW5zdXBwb3J0ZWQiCittc2dzdHIgIlVpdHdlcnBlbiB2YW4gQ0QtUk9NIHdvcmR0IG5pZXQgb25kZXJzdGV1bmQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzMyBzeXMtdXRpbHMvZWplY3QuYzo0NTYgc3lzLXV0aWxzL2VqZWN0LmM6MTAxMQorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ0QtUk9NLXVpdHdlcnBjb21tYW5kbyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzYKK21zZ2lkICJubyBDRC1ST00gaW5mb3JtYXRpb24gYXZhaWxhYmxlIgorbXNnc3RyICJnZWVuIENELVJPTS1pbmZvcm1hdGllIGJlc2NoaWtiYWFyIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzkKK21zZ2lkICJDRC1ST00gZHJpdmUgaXMgbm90IHJlYWR5IgorbXNnc3RyICJDRC1ST00tYXBwYXJhYXQgaXMgbmlldCBnZXJlZWQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4MgorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkNELVJPTS1zbmVsaGVpZHNrZXV6ZWNvbW1hbmRvIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4NCBzeXMtdXRpbHMvZWplY3QuYzo1NzAKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbCIKK21zZ3N0ciAiQ0QtUk9NLXNuZWxoZWlkc2tldXplY29tbWFuZG8gd29yZHQgbmlldCBvbmRlcnN0ZXVuZCBkb29yIGRlemUga2VybmVsIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kaW5nIENELVJPTSBuYW1lIgorbXNnc3RyICIlczogdmVya3JpamdlbiB2YW4gQ0QtUk9NLW5hYW0gaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiJXM6IGxlemVuIHZhbiBzbmVsaGVpZCBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1NDQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAibGV6ZW4gdmFuIHNuZWxoZWlkIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU4OAorbXNnaWQgIm5vdCBhbiBzZyBkZXZpY2UsIG9yIG9sZCBzZyBkcml2ZXIiCittc2dzdHIgImlzIGdlZW4gU0ctYXBwYXJhYXQsIG9mIGVlbiBvdWQgU0ctc3R1dXJwcm9ncmFtbWEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5tb3VudGluZyIKK21zZ3N0ciAiJXM6IGFma29wcGVsZW4iCisKKyMgRklYTUU6IGJhY2t0aWNrCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGV4ZWMgL2Jpbi91bW91bnQgb2YgYCVzJyIKK21zZ3N0ciAia2FuICcvYmluL3Vtb3VudCcgdmFuICclcycgbmlldCB1aXR2b2VyZW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY3OAorbXNnaWQgInVuYWJsZSB0byBmb3JrIgorbXNnc3RyICJrYW4gZ2VlbiBuaWV1dyBwcm9jZXMgc3RhcnRlbiIKKworIyBGSVhNRTogYmFja3RpY2sKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJhZmtvcHBlbGluZyB2YW4gJyVzJyBpcyBuaWV0IG5vcm1hYWwgYWZnZXNsb3RlbiIKKworIyBGSVhNRTogYmFja3RpY2sKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZmFpbGVkXG4iCittc2dzdHIgImFma29wcGVsZW4gdmFuICclcycgaXMgbWlzbHVrdFxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3MzAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgdGFibGUiCittc2dzdHIgIm9udGxlZGVuIHZhbiBhYW5rb3BwZWxpbmdzdGFiZWwgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzkxIHN5cy11dGlscy9lamVjdC5jOjg5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAiJXM6IGlzIGFhbmdla29wcGVsZCBvcCAlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODMzCittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gYXV0byIKK21zZ3N0ciAiQ0QtUk9NLXNuZWxoZWlkIHdvcmR0IGluZ2VzdGVsZCBvcCAnYXV0byciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzNQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byAlbGRYIgorbXNnc3RyICJDRC1ST00tc25lbGhlaWQgd29yZHQgaW5nZXN0ZWxkIG9wICVsZFgiCisKKyMgRklYTUU6IGJhY2t0aWNrCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVmYXVsdCBkZXZpY2U6IGAlcyciCittc2dzdHIgInN0YW5kYWFyZGFwcGFyYWF0OiAnJXMnIgorCisjIEZJWE1FOiBiYWNrdGljaworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODY3CisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIGRlZmF1bHQgZGV2aWNlIGAlcyciCittc2dzdHIgInN0YW5kYWFyZGFwcGFyYWF0ICclcycgd29yZHQgZ2VicnVpa3QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4NiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGZpbmQgZGV2aWNlIgorbXNnc3RyICIlczoga2FuIGFwcGFyYWF0IG5pZXQgdmluZGVuIgorCisjIEZJWE1FOiBiYWNrdGljaworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg4CisjLCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBuYW1lIGlzIGAlcyciCittc2dzdHIgImFwcGFyYWF0bmFhbSBpcyAnJXMnIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4OTQgc3lzLXV0aWxzL3Vtb3VudC5jOjIwNiBzeXMtdXRpbHMvdW1vdW50LmM6MjM1CisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NDA5IHN5cy11dGlscy91bW91bnQuYzo0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBtb3VudGVkIgorbXNnc3RyICIlcyBpcyBuaWV0IGFhbmdla29wcGVsZCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNjIGRldmljZTogJXMgKGRpc2sgZGV2aWNlIHdpbGwgYmUgdXNlZCBmb3IgZWplY3QpIgorbXNnc3RyICIlczogYmxvay1hcHBhcmFhdDogJXMgKGRlemUgemFsIGdlYnJ1aWt0IHdvcmRlbiB2b29yIHVpdHdlcnBpbmcpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBmb3VuZCBtb3VudHBvaW50IG9yIGRldmljZSB3aXRoIHRoZSBnaXZlbiBuYW1lIgorbXNnc3RyICIlczogZ2VlbiBhcHBhcmFhdCBvZiBhYW5rb3BwZWxpbmdzcHVudCBnZXZvbmRlbiBtZXQgZGUgZ2VnZXZlbiBuYWFtIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIHdob2xlLWRpc2sgZGV2aWNlIgorbXNnc3RyICIlcyBpcyBoZXQgZ2VoZWxlLXNjaGlqZi1hcHBhcmFhdCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgaG90LXBsdWdnYWJsZSBkZXZpY2UiCittc2dzdHIgIiVzOiBpcyBnZWVuIGhvdHBsdWctYmFhciBhcHBhcmFhdCIKKworIyBGSVhNRTogYmFja3RpY2sKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxNworIywgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgaXMgYCVzJyIKK21zZ3N0ciAiYXBwYXJhYXQgaXMgJyVzJyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTE4Cittc2dpZCAiZXhpdGluZyBkdWUgdG8gLW4vLS1ub29wIG9wdGlvbiIKK21zZ3N0ciAiYWZzbHVpdGluZyB3ZWdlbnMgb3B0aWUgJy0tbm9vcCcgKC1uKSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlbmFibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiVzOiBhdXRvLXVpdHdlcnBpbmdzbW9kdXMgd29yZHQgaW5nZXNjaGFrZWxkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2FibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiVzOiBhdXRvLXVpdHdlcnBpbmdzbW9kdXMgd29yZHQgdWl0Z2VzY2hha2VsZCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zaW5nIHRyYXkiCittc2dzdHIgIiVzOiBzbHVpdGVuIHZhbiBsYWRlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiVzOiBvbXNjaGFrZWxlbiB2YW4gbGFkZSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsaXN0aW5nIENELVJPTSBzcGVlZCIKK21zZ3N0ciAiJXNcIiB0b25lbiB2YW4gQ0QtUk9NLXNuZWxoZWlkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBkZXZpY2UgaW4gdXNlIgorbXNnc3RyICJmb3V0OiAlczogYXBwYXJhYXQgaXMgYmV6aWciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VsZWN0aW5nIENELVJPTSBkaXNjICMlbGQiCittc2dzdHIgIiVzOiBraWV6ZW4gdmFuIENELVJPTS1zY2hpamYgIyVsZCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIENELVJPTSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIlczogcG9naW5nIHRvdCB1aXR3ZXJwaW5nIG1ldCBDRC1ST00tdWl0d2VycGNvbW1hbmRvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEwCittc2dpZCAiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICJDRC1ST00tdWl0d2VycGNvbW1hbmRvIGlzIGdlc2xhYWdkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgU0NTSSBjb21tYW5kcyIKK21zZ3N0ciAiJXM6IHBvZ2luZyB0b3QgdWl0d2VycGluZyBtZXQgU0NTSS1jb21tYW5kbydzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE3Cittc2dpZCAiU0NTSSBlamVjdCBzdWNjZWVkZWQiCittc2dzdHIgIlNDU0ktdWl0d2VycGluZyBpcyBnZXNsYWFnZCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxOAorbXNnaWQgIlNDU0kgZWplY3QgZmFpbGVkIgorbXNnc3RyICJTQ1NJLXVpdHdlcnBpbmcgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIGZsb3BweSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIlczogcG9naW5nIHRvdCB1aXR3ZXJwaW5nIG1ldCBmbG9wcHktdWl0d2VycGNvbW1hbmRvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI0Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICJmbG9wcHktdWl0d2VycGNvbW1hbmRvIGlzIGdlc2xhYWdkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI1Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJmbG9wcHktdWl0d2VycGNvbW1hbmRvIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyB0YXBlIG9mZmxpbmUgY29tbWFuZCIKK21zZ3N0ciAiJXM6IHBvZ2luZyB0b3QgdWl0d2VycGluZyBtZXQgYmFuZC1vZmZsaW5lLWNvbW1hbmRvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDMxCittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICJiYW5kLW9mZmxpbmUtY29tbWFuZG8gaXMgZ2VzbGFhZ2QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzIKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgImJhbmQtb2ZmbGluZS1jb21tYW5kbyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDM2Cittc2dpZCAidW5hYmxlIHRvIGVqZWN0IgorbXNnc3RyICJrYW4gbmlldCB1aXR3ZXJwZW4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo3OAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlbmFtZT5cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSA8YmVzdGFuZD5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjgxCittc2dpZCAiUHJlYWxsb2NhdGUgc3BhY2UgdG8sIG9yIGRlYWxsb2NhdGUgc3BhY2UgZnJvbSBhIGZpbGUuXG4iCittc2dzdHIgIlJlc2VydmVlcnQgcnVpbXRlIHZvb3IsIG9mIG9udG5lZW10IGRlemUgYWFuIGVlbiBiZXN0YW5kLlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODQKK21zZ2lkICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgcmVtb3ZlIGEgcmFuZ2UgZnJvbSB0aGUgZmlsZVxuIgorbXNnc3RyICIgIC1jLCAtLWNvbGxhcHNlLXJhbmdlICAgZWVuIGJlcmVpayB1aXQgZWVuIGJlc3RhbmQgdmVyd2lqZGVyZW5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg1Cittc2dpZCAiIC1kLCAtLWRpZy1ob2xlcyAgICAgIGRldGVjdCB6ZXJvZXMgYW5kIHJlcGxhY2Ugd2l0aCBob2xlc1xuIgorbXNnc3RyICIgIC1kLCAtLWRpZy1ob2xlcyAgICAgICAgYmxva2tlbiB2YW4gbnVsbGVuIGRldGVjdGVyZW4gZW4gdmVydmFuZ2VuIGRvb3IgZ2F0ZW5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg2Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgIGxlbmd0aCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiICAtbCwgLS1sZW5ndGggPGdldGFsPiAgIGxlbmd0ZSB2b29yIGJld2Vya2luZ2VuIG9wIGVlbiBiZXJlaWssIGluIGJ5dGVzXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NworbXNnaWQgIiAtbiwgLS1rZWVwLXNpemUgICAgICBtYWludGFpbiB0aGUgYXBwYXJlbnQgc2l6ZSBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgIC1uLCAtLWtlZXAtc2l6ZSAgICAgICAgZGUgc2NoaWpuYmFyZSBncm9vdHRlIHZhbiBoZXQgYmVzdGFuZCBiZWhvdWRlblxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODgKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgb2Zmc2V0IGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIgIC1vLCAtLW9mZnNldCA8Z2V0YWw+ICAgb3AgZGV6ZSBwb3NpdGllIGluIGhldCBiZXN0YW5kIGJlZ2lubmVuLCBpbiBieXRlc1xuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODkKK21zZ2lkICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVwbGFjZSBhIHJhbmdlIHdpdGggYSBob2xlIChpbXBsaWVzIC1uKVxuIgorbXNnc3RyICIgIC1wLCAtLXB1bmNoLWhvbGUgICAgICAgZWVuIGJlcmVpayB2ZXJ2YW5nZW4gZG9vciBlZW4gZ2F0ICAoaW1wbGljZWVydCAnLW4nKVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTAKK21zZ2lkICIgLXosIC0temVyby1yYW5nZSAgICAgemVybyBhbmQgZW5zdXJlIGFsbG9jYXRpb24gb2YgYSByYW5nZVxuIgorbXNnc3RyICIgIC16LCAtLXplcm8tcmFuZ2UgICAgICAgZWVuIGJlcmVpayByZXNlcnZlcmVuIGVuIG1ldCBudWxsZW4gdnVsbGVuXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMjYKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkOiBrZWVwIHNpemUgbW9kZSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiZmFsbG9jYXRlKCkgaXMgbWlzbHVrdDogJ2tlZXAtc2l6ZSctbW9kdXMgKG9wdGllICctbicpIHdvcmR0IG5pZXQgb25kZXJzdGV1bmQiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMjcKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkIgorbXNnc3RyICJmYWxsb2NhdGUoKSBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHJlYWQoKSBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJWp1IGJ5dGVzKSBjb252ZXJ0ZWQgdG8gc3BhcnNlIGhvbGVzLlxuIgorbXNnc3RyICIlczogJXMgKCVqdSBieXRlcykgemlqbiBnZWNvbnZlcnRlZXJkIG5hYXIgZ2F0ZW5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM0NiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTgKK21zZ2lkICJubyBmaWxlbmFtZSBzcGVjaWZpZWQiCittc2dzdHIgImdlZW4gYmVzdGFuZHNuYWFtIGdlZ2V2ZW4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTggc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2NAorbXNnaWQgImludmFsaWQgbGVuZ3RoIHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAib25nZWxkaWdlIGxlbmd0ZSBnZWdldmVuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzYyCittc2dpZCAibm8gbGVuZ3RoIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAiZ2VlbiBsZW5ndGUgZ2VnZXZlbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2NworbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAib25nZWxkaWdlIHBsYWF0c3dhYXJkZSBnZWdldmVuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxmaWxlPnw8ZGlyZWN0b3J5PiA8Y29tbWFuZD4gWzxhcmd1bWVudD4uLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlPnw8ZGlyZWN0b3J5PiAtYyA8Y29tbWFuZD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGUgZGVzY3JpcHRvciBudW1iZXI+XG4iCittc2dzdHIgIiIKKyIgICUxJHMgW29wdGllc10gPGJlc3RhbmQ+fDxtYXA+IDxvcGRyYWNodD4gWzxhcmd1bWVudD4uLi5dXG4iCisiICAlMSRzIFtvcHRpZXNdIDxiZXN0YW5kPnw8bWFwPiAtYyA8b3BkcmFjaHQ+XG4iCisiICAlMSRzIFtvcHRpZXNdIDxiZXN0YW5kc2RlY3JpcHRvcm51bW1lcj5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTkKK21zZ2lkICJNYW5hZ2UgZmlsZSBsb2NrcyBmcm9tIHNoZWxsIHNjcmlwdHMuXG4iCittc2dzdHIgIlJlZ2VsdCBiZXN0YW5kc3ZlcmdyZW5kZWxpbmdlbiB2YW51aXQgc2hlbGwtc2NyaXB0cy5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjIKK21zZ2lkICIgLXMsIC0tc2hhcmVkICAgICAgICAgICAgIGdldCBhIHNoYXJlZCBsb2NrXG4iCittc2dzdHIgIiAgLXMsIC0tc2hhcmVkICAgICAgICAgICAgIGVlbiBnZWRlZWxkZSB2ZXJncmVuZGVsaW5nIHZlcmtyaWpnZW5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjMKK21zZ2lkICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIGdldCBhbiBleGNsdXNpdmUgbG9jayAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAteCwgLS1leGNsdXNpdmUgICAgICAgICAgZWVuIGV4Y2x1c2lldmUgdmVyZ3JlbmRlbGluZyB2ZXJrcmlqZ2VuIChzdGFuZGFhcmQpXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY0Cittc2dpZCAiIC11LCAtLXVubG9jayAgICAgICAgICAgICByZW1vdmUgYSBsb2NrXG4iCittc2dzdHIgIiAgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIGVlbiB2ZXJncmVuZGVsaW5nIHZlcndpamRlcmVuXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY1Cittc2dpZCAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICBmYWlsIHJhdGhlciB0aGFuIHdhaXRcbiIKK21zZ3N0ciAiICAtbiwgLS1ub25ibG9jayAgICAgICAgICAgZmFsZW4gaW4gcGxhYXRzIHZhbiB3YWNodGVuXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY2Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPHNlY3M+ICAgICB3YWl0IGZvciBhIGxpbWl0ZWQgYW1vdW50IG9mIHRpbWVcbiIKK21zZ3N0ciAiICAtdywgLS10aW1lb3V0IDxnZXRhbD4gICAgZGl0IGFhbnRhbCBzZWNvbmRlbiB3YWNodGVuXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY3Cittc2dpZCAiIC1FLCAtLWNvbmZsaWN0LWV4aXQtY29kZSA8bnVtYmVyPiAgZXhpdCBjb2RlIGFmdGVyIGNvbmZsaWN0IG9yIHRpbWVvdXRcbiIKK21zZ3N0ciAiICAtRSwgLS1jb25mbGljdC1leGl0LWNvZGUgPGdldGFsPiAgYWZzbHVpdHdhYXJkZSBuYSBjb25mbGljdCBvZiB0aWpkc292ZXJzY2hyaWpkaW5nXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY4Cittc2dpZCAiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBjbG9zZSBmaWxlIGRlc2NyaXB0b3IgYmVmb3JlIHJ1bm5pbmcgY29tbWFuZFxuIgorbXNnc3RyICIgIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBiZXN0YW5kc2Rlc2NyaXB0b3Igc2x1aXRlbiB2w7PDs3IgdWl0dm9lcmVuIHZhbiBvcGRyYWNodFxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OQorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgcnVuIGEgc2luZ2xlIGNvbW1hbmQgc3RyaW5nIHRocm91Z2ggdGhlIHNoZWxsXG4iCittc2dzdHIgIiAgLWMsIC0tY29tbWFuZCA8b3BkcmFjaHQ+IGRlemUgZW5lIG9wZHJhY2h0IHVpdHZvZXJlbiB2aWEgZGUgc2hlbGxcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzAKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgIGV4ZWN1dGUgY29tbWFuZCB3aXRob3V0IGZvcmtpbmdcbiIKK21zZ3N0ciAiICAtRiwgLS1uby1mb3JrICAgICAgICAgICAgb3BkcmFjaHQgdWl0dm9lcmVuIHpvbmRlciBlZW4gbmlldXcgcHJvY2VzIHRlIHN0YXJ0ZW5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzEKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICAgIGluY3JlYXNlIHZlcmJvc2l0eVxuIgorbXNnc3RyICIgICAgICAtLXZlcmJvc2UgICAgICAgICAgICBtZWVyIGluZm9ybWF0aWUgdG9uZW5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlcyIKK21zZ3N0ciAia2FuIHZlcmdyZW5kZWxpbmdzYmVzdGFuZCAlcyBuaWV0IG9wZW5lbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjA1Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IHZhbHVlIgorbXNnc3RyICJvbmdlbGRpZ2UgdGlqZHNsaW1pZXQiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIwOQorbXNnaWQgImludmFsaWQgZXhpdCBjb2RlIgorbXNnc3RyICJvbmdlbGRpZ2UgYWZzbHVpdHdhYXJkZSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjI4Cittc2dpZCAidGhlIC0tbm8tZm9yayBhbmQgLS1jbG9zZSBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIm9wdGllcyAnLS1uby1mb3JrJyBlbiAnLS1jbG9zZScgZ2FhbiBuaWV0IHNhbWVuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgZXhhY3RseSBvbmUgY29tbWFuZCBhcmd1bWVudCIKK21zZ3N0ciAiJXMgdmVyZWlzdCBwcmVjaWVzIMOpw6luIG9wZHJhY2h0YXJndW1lbnQiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NAorbXNnaWQgImJhZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIm9uZ2VsZGlnZSBiZXN0YW5kc2Rlc2NyaXB0b3IiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NworbXNnaWQgInJlcXVpcmVzIGZpbGUgZGVzY3JpcHRvciwgZmlsZSBvciBkaXJlY3RvcnkiCittc2dzdHIgInZlcmVpc3QgZWVuIGJlc3RhbmRzZGVzY3JpcHRvciwgZWVuIGJlc3RhbmQsIG9mIGVlbiBtYXAiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4MQorbXNnaWQgImZhaWxlZCB0byBnZXQgbG9jayIKK21zZ3N0ciAidmVya3JpamdlbiB2YW4gdmVyZ3JlbmRlbGluZyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODgKK21zZ2lkICJ0aW1lb3V0IHdoaWxlIHdhaXRpbmcgdG8gZ2V0IGxvY2siCittc2dzdHIgInRpamRzbGltaWV0IGlzIHZlcnN0cmVrZW4gdGlqZGVucyB3YWNodGVuIG9wIHZlcmdyZW5kZWxpbmciCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0dGluZyBsb2NrIHRvb2sgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXM6IHZlcmtyaWpnZW4gdmFuIHZlcmdyZW5kZWxpbmcgZHV1cmRlICVsZC4lMDZsZCBzZWNvbmRlblxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICIlczogdWl0dm9lcmVuIHZhbiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1MAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxtb3VudHBvaW50PlxuIgorbXNnc3RyICIgICVzIFtvcHRpZXNdIDxhYW5rb3BwZWxpbmdzcHVudD5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTMKK21zZ2lkICJTdXNwZW5kIGFjY2VzcyB0byBhIGZpbGVzeXN0ZW0gKGV4dDMvNCwgUmVpc2VyRlMsIEpGUywgWEZTKS5cbiIKK21zZ3N0ciAiU2Nob3J0IHRvZWdhbmcgdG90IGVlbiBiZXN0YW5kc3N5c3RlZW0gKGV4dDMvNCwgUmVpc2VyRlMsIEpGUywgWEZTKSBvcC5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTYKK21zZ2lkICIgLWYsIC0tZnJlZXplICAgICAgZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAgLWYsIC0tZnJlZXplICAgICAgaGV0IGJlc3RhbmRzc3lzdGVlbSBiZXZyaWV6ZW5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTcKK21zZ2lkICIgLXUsIC0tdW5mcmVlemUgICAgdW5mcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiICAtdSwgLS11bmZyZWV6ZSAgICBoZXQgYmVzdGFuZHNzeXN0ZWVtIG9udGRvb2llblxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTYKK21zZ2lkICJuZWl0aGVyIC0tZnJlZXplIG9yIC0tdW5mcmVlemUgc3BlY2lmaWVkIgorbXNnc3RyICJub2NoICctLWZyZWV6ZScgbm9jaCAnLS11bmZyZWV6ZScgaXMgYWFuZ2VnZXZlbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBpcyBnZWVuIG1hcCIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmcmVlemUgZmFpbGVkIgorbXNnc3RyICIlczogYmV2cmllemVuIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5mcmVlemUgZmFpbGVkIgorbXNnc3RyICIlczogb250ZG9vaWVuIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIlczogaXMgZ2VlbiBtYXAiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogRklUUklNIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGlvY3RsKEZJVFJJTSkgaXMgbWlzbHVrdCIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBoZXJlIGlzIGEgdmVyeSBsYXJnZSBudW1iZXIuCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJTxQUkl1NjQ+IGJ5dGVzKSB0cmltbWVkXG4iCittc2dzdHIgIiVzOiAlcyAoJTxQUkl1NjQ+IGJ5dGVzKSBpcyBnZXRyaW1kXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxOTEgc3lzLXV0aWxzL3N3YXBvbi5jOjcyOSBzeXMtdXRpbHMvdW1vdW50LmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKK21zZ3N0ciAib250bGVkZW4gdmFuICVzIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnQgcG9pbnQ+XG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gPGFhbmtvcHBlbGluZ3NwdW50PlxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU0Cittc2dpZCAiRGlzY2FyZCB1bnVzZWQgYmxvY2tzIG9uIGEgbW91bnRlZCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJWZXJ3ZXJwdCBvbmdlYnJ1aWt0ZSBibG9ra2VuIG9wIGVlbiBhYW5nZWtvcHBlbGQgYmVzdGFuZHNzeXN0ZWVtLlxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU3Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgdHJpbSBhbGwgbW91bnRlZCBmaWxlc3lzdGVtcyB0aGF0IGFyZSBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgYWxsZSBvbmRlcnN0ZXVuZGUgYWFuZ2Vrb3BwZWxkZSBiZXN0YW5kc3N5c3RlbWVuIHRyaW1tZW5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1OAorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIHRoZSBvZmZzZXQgaW4gYnl0ZXMgdG8gc3RhcnQgZGlzY2FyZGluZyBmcm9tXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPGdldGFsPiAgIGRlIHBvc2l0aWUgdmFuYWYgd2FhciBtZXQgdmVyd2VycGVuIHRlIGJlZ2lubmVuXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC1sLCAtLWxlbmd0aCA8Z2V0YWw+ICAgaGV0IGFhbnRhbCB0ZSB2ZXJ3ZXJwZW4gYnl0ZXNcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MAorbXNnaWQgIiAtbSwgLS1taW5pbXVtIDxudW0+IHRoZSBtaW5pbXVtIGV4dGVudCBsZW5ndGggdG8gZGlzY2FyZFxuIgorbXNnc3RyICIgLW0sIC0tbWluaW11bSA8Z2V0YWw+ICBkZSBtaW5pbXVtIGxlbmd0ZSB2YW4gZGUgdGUgdmVyd2VycGVuIGV4dGVudHNcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IG51bWJlciBvZiBkaXNjYXJkZWQgYnl0ZXNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgaGV0IGFhbnRhbCB2ZXJ3b3JwZW4gYnl0ZXMgd2VlcmdldmVuXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMTYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWluaW11bSBleHRlbnQgbGVuZ3RoIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gbWluaW11bS1leHRlbnQtbGVuZ3RlIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMjkKK21zZ2lkICJubyBtb3VudHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAiZ2VlbiBhYW5rb3BwZWxpbmdzcHVudCBvcGdlZ2V2ZW4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZSBkaXNjYXJkIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIlczogdmVyd2VycGVuIHdvcmR0IG5pZXQgb25kZXJzdGV1bmQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkFzc3VtaW5nIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gJXMgdGltZS5cbiIKK21zZ3N0ciAiRXIgd29yZHQgYWFuZ2Vub21lbiBkYXQgZGUgaGFyZHdhcmVrbG9rIG9wICVzIHN0YWF0LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI0NyBzeXMtdXRpbHMvaHdjbG9jay5jOjMzNAorbXNnaWQgIlVUQyIKK21zZ3N0ciAiVVRDLXRpamQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ3IHN5cy11dGlscy9od2Nsb2NrLmM6MzMzCittc2dpZCAibG9jYWwiCittc2dzdHIgImxva2FsZSB0aWpkIgorCisjIEZJWE1FOiBiYWNrdGlja3MKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzE4Cittc2dpZCAiIgorIldhcm5pbmc6IHVucmVjb2duaXplZCB0aGlyZCBsaW5lIGluIGFkanRpbWUgZmlsZVxuIgorIihFeHBlY3RlZDogYFVUQycgb3IgYExPQ0FMJyBvciBub3RoaW5nLikiCittc2dzdHIgIiIKKyJXYWFyc2NodXdpbmc6IGRlcmRlIHJlZ2VsIGluIGFkanRpbWUtYmVzdGFuZCBpcyBuaWV0IGhlcmtlbmQuXG4iCisiKFZlcndhY2h0IHdlcmQgJ1VUQycgb2YgJ0xPQ0FMJyBvZiBuaWV0cy4pIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMyNworIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGRyaWZ0IGFkanVzdG1lbnQgZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIkxhYXRzdGUgdmVyc2NodWl2aW5nc2NvcnJlY3RpZSBpcyAlbGQgc2Vjb25kZW4gbmEgMTk2OSBnZWRhYW4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgY2FsaWJyYXRpb24gZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIkxhYXRzdGUgY2FsaWJyYXRpZSBpcyAlbGQgc2Vjb25kZW4gbmEgMTk2OSBnZWRhYW4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkhhcmR3YXJlIGNsb2NrIGlzIG9uICVzIHRpbWVcbiIKK21zZ3N0ciAiSGFyZHdhcmVrbG9rIHN0YWF0IG9wICVzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM1OAorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGZvciBjbG9jayB0aWNrLi4uXG4iCittc2dzdHIgIldhY2h0ZW4gb3Aga2xva3Rpay4uLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5zeW5jaHJvbml6YXRpb24gZmFpbGVkXG4iCittc2dzdHIgIi4uLnN5bmNocm9uaXNhdGllIGlzIG1pc2x1a3QuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmdvdCBjbG9jayB0aWNrXG4iCittc2dzdHIgIi4uLmtsb2t0aWsgb250dmFuZ2VuLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQyMgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHZhbHVlcyBpbiBoYXJkd2FyZSBjbG9jazogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorbXNnc3RyICJPbmdlbGRpZ2Ugd2FhcmRlbiBpbiBoYXJkd2FyZWtsb2s6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHcgY2xvY2sgdGltZSA6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIkhhcmR3YXJla2xva3RpamQgaXM6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kZW4gc2luZHMgMTk2OS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZSByZWFkIGZyb20gSGFyZHdhcmUgQ2xvY2s6ICU0ZC8lLjJkLyUuMmQgJTAyZDolMDJkOiUwMmRcbiIKK21zZ3N0ciAiVGlqZCBnZWxlemVuIHZhbiBkZSBoYXJkd2FyZWtsb2s6ICU0ZC8lLjJkLyUuMmQgJTAyZDolMDJkOiUwMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyBIYXJkd2FyZSBDbG9jayB0byAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiSW5zdGVsbGVuIHZhbiBoYXJkd2FyZWtsb2sgb3AgJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kZW4gc2luZHMgMTk2OS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2xvY2sgbm90IGNoYW5nZWQgLSB0ZXN0aW5nIG9ubHkuXG4iCittc2dzdHIgIktsb2sgbmlldCBnZXdpanppZ2QgLS0gaW4gdGVzdG1vZHVzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYwMworIywgYy1mb3JtYXQKK21zZ2lkICJzbGVlcGluZyB+JWQgdXNlY1xuIgorbXNnc3RyICJvbmdldmVlciAlZCBtaWNyb3NlY29uZGVuIHNsYXBlblxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGp1bXBlZCBiYWNrd2FyZCAlLjZmIHNlY29uZHMgdG8gJWxkLiUwNmxkIC0gcmV0YXJnZXRpbmdcbiIKK21zZ3N0ciAiZGUgdGlqZCBpcyAlLjZmIHNlY29uZGVuIGFjaHRlcndhYXJ0cyBnZXNwcm9uZ2VuIG5hYXIgJWxkLiUwNmxkIC0tIG5pZXV3IGRvZWwuLi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkLiUwNmxkIDwgJWxkLiUwNmxkICglLjZmKVxuIgorbXNnc3RyICIlbGQuJTA2bGQgPCAlbGQuJTA2bGQgKCUuNmYpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NlZCBpdCAtICVsZC4lMDZsZCBpcyB0b28gZmFyIHBhc3QgJWxkLiUwNmxkICglLjZmID4gJS42ZilcbiIKK21zZ3N0ciAidmVyc2xhcGVuIC0tICVsZC4lMDZsZCBpcyB0ZSB2ZXIgdm9vcmJpaiAlbGQuJTA2bGQgKCUuNmYgPiAlLjZmKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJWxkLiUwNmxkIGlzIGNsb3NlIGVub3VnaCB0byAlbGQuJTA2bGQgKCUuNmYgPCAlLjZmKVxuIgorIlNldCBSVEMgdG8gJWxkICglbGQgKyAlZDsgcmVmc3lzdGltZSA9ICVsZC4lMDZsZClcbiIKK21zZ3N0ciAiIgorIiVsZC4lMDZsZCBpcyBkaWNodCBnZW5vZWcgYmlqICVsZC4lMDZsZCAoJS42ZiA8ICUuNmYpO1xuIgorImluc3RlbGxlbiB2YW4gUlRDIG9wICVsZCAoJWxkICsgJWQ7IHJlZmVyZW50aWVzeXN0ZWVtdGlqZCA9ICVsZC4lMDZsZClcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODgKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgcmVnaXN0ZXJzIGNvbnRhaW4gdmFsdWVzIHRoYXQgYXJlIGVpdGhlciBpbnZhbGlkIChlLmcuIDUwdGggZGF5IG9mIG1vbnRoKSBvciBiZXlvbmQgdGhlIHJhbmdlIHdlIGNhbiBoYW5kbGUgKGUuZy4gWWVhciAyMDk1KS4iCittc2dzdHIgIkRlIGhhcmR3YXJla2xvayBiZXZhdCB3YWFyZGVuIGRpZSBvZndlbCBvbmp1aXN0IHppam4gKGJpanZvb3JiZWVsZCBkZSA1MGUgZGFnIHZhbiBkZSBtYWFuZCkgb2YgYnVpdGVuIGhldCBvbmRlcnN0ZXVuZGUgYmVyZWlrIHZhbGxlbiAoYmlqdm9vcmJlZWxkIGhldCBqYWFyIDIwOTUpLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MjgKK21zZ2lkICJObyAtLWRhdGUgb3B0aW9uIHNwZWNpZmllZC4iCittc2dzdHIgIkVyIGlzIGdlZW4gb3B0aWUgJy0tZGF0ZScgZ2VnZXZlbi4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzM0Cittc2dpZCAiLS1kYXRlIGFyZ3VtZW50IHRvbyBsb25nIgorbXNnc3RyICJhcmd1bWVudCB2YW4gJy0tZGF0ZScgaXMgdGUgbGFuZyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NDEKK21zZ2lkICIiCisiVGhlIHZhbHVlIG9mIHRoZSAtLWRhdGUgb3B0aW9uIGlzIG5vdCBhIHZhbGlkIGRhdGUuXG4iCisiSW4gcGFydGljdWxhciwgaXQgY29udGFpbnMgcXVvdGF0aW9uIG1hcmtzLiIKK21zZ3N0ciAiIgorIkhldCBhcmd1bWVudCB2YW4gJy0tZGF0ZScgaXMgZ2VlbiBnZWxkaWdlIGRhdHVtLlxuIgorIkluIGhldCBiaWp6b25kZXIgYmV2YXQgaGV0IGFhbmhhbGluZ3N0ZWtlbnMuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJJc3N1aW5nIGRhdGUgY29tbWFuZDogJXNcbiIKK21zZ3N0ciAiVWl0dm9lcmluZyB2YW4gJ2RhdGUnLW9wZHJhY2h0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc1MworbXNnaWQgIlVuYWJsZSB0byBydW4gJ2RhdGUnIHByb2dyYW0gaW4gL2Jpbi9zaCBzaGVsbC4gcG9wZW4oKSBmYWlsZWQiCittc2dzdHIgIkthbiAnZGF0ZSctcHJvZ3JhbW1hIG5pZXQgaW4gL2Jpbi9zaCB1aXR2b2VyZW46IHBvcGVuKCkgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzcG9uc2UgZnJvbSBkYXRlIGNvbW1hbmQgPSAlc1xuIgorbXNnc3RyICJBbnR3b29yZCB2YW4gJ2RhdGUnLW9wZHJhY2h0ID0gJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkYXRlIGNvbW1hbmQgaXNzdWVkIGJ5ICVzIHJldHVybmVkIHVuZXhwZWN0ZWQgcmVzdWx0cy5cbiIKKyJUaGUgY29tbWFuZCB3YXM6XG4iCisiICAlc1xuIgorIlRoZSByZXNwb25zZSB3YXM6XG4iCisiICAlcyIKK21zZ3N0ciAiIgorIkRlICdkYXRlJy1vcGRyYWNodCB1aXRnZXZvZXJkIGRvb3IgJXMgZ2FmIG9udmVyd2FjaHRlIHJlc3VsdGF0ZW4uXG4iCisiRGUgb3BkcmFjaHQgd2FzOlxuIgorIiAgJXNcbiIKKyJIZXQgYW50d29vcmQgd2FzOlxuIgorIiAgJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhbiBpbnRlZ2VyIHdoZXJlIHRoZSBjb252ZXJ0ZWQgdGltZSB2YWx1ZSB3YXMgZXhwZWN0ZWQuXG4iCisiVGhlIGNvbW1hbmQgd2FzOlxuIgorIiAgJXNcbiIKKyJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorIiAlc1xuIgorbXNnc3RyICIiCisiRGUgJ2RhdGUnLW9wZHJhY2h0IHVpdGdldm9lcmQgZG9vciAlcyBnYWYgZ2VlbiBnZWhlZWwgZ2V0YWxcbiIKKyJkYWFyIHdhYXIgZGUgZ2Vjb252ZXJ0ZWVyZGUgdGlqZHN3YWFyZGUgd2VyZCB2ZXJ3YWNodC5cbiIKKyJEZSBvcGRyYWNodCB3YXM6XG4iCisiICAlc1xuIgorIkhldCBhbnR3b29yZCB3YXM6XG4iCisiICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzg2CisjLCBjLWZvcm1hdAorbXNnaWQgImRhdGUgc3RyaW5nICVzIGVxdWF0ZXMgdG8gJWxkIHNlY29uZHMgc2luY2UgMTk2OS5cbiIKK21zZ3N0ciAiRGF0dW10ZWtzdCAlcyBpcyBnZWxpamsgYWFuICVsZCBzZWNvbmRlbiBzaW5kcyAxOTY5LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgyNAorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IHNldCB0aGUgU3lzdGVtIFRpbWUgZnJvbSBpdC4iCittc2dzdHIgIkRlIGhhcmR3YXJla2xvayBiZXZhdCBnZWVuIGdlbGRpZ2UgdGlqZCwgem9kYXQgZGUgc3lzdGVlbXRpamQgZXIgbmlldCBtZWUgaW5nZXN0ZWxkIGthbiB3b3JkZW4uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg0MyBzeXMtdXRpbHMvaHdjbG9jay5jOjkzMAorIywgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheTpcbiIKK21zZ3N0ciAiQWFucm9lcCB2YW4gc2V0dGltZW9mZGF5KCk6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQ0IHN5cy11dGlscy9od2Nsb2NrLmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCittc2dzdHIgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQ2IHN5cy11dGlscy9od2Nsb2NrLmM6OTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorbXNnc3RyICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTAgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgc3lzdGVtIGNsb2NrIGJlY2F1c2UgcnVubmluZyBpbiB0ZXN0IG1vZGUuXG4iCittc2dzdHIgIkRlIHN5c3RlZW1rbG9rIHdvcmR0IG5pZXQgaW5nZXN0ZWxkIC0tIGluIHRlc3Rtb2R1cy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NjYgc3lzLXV0aWxzL2h3Y2xvY2suYzo5NjIKK21zZ2lkICJNdXN0IGJlIHN1cGVydXNlciB0byBzZXQgc3lzdGVtIGNsb2NrLiIKK21zZ3N0ciAiVSBtb2V0IHJvb3QgemlqbiBvbSBkZSBzeXN0ZWVta2xvayBpbiB0ZSBrdW5uZW4gc3RlbGxlbi4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODY5IHN5cy11dGlscy9od2Nsb2NrLmM6OTY1Cittc2dpZCAic2V0dGltZW9mZGF5KCkgZmFpbGVkIgorbXNnc3RyICJzZXR0aW1lb2ZkYXkoKSBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkwNQorIywgYy1mb3JtYXQKK21zZ2lkICJDdXJyZW50IHN5c3RlbSB0aW1lOiAlbGQgPSAlc1xuIgorbXNnc3RyICJIdWlkaWdlIHN5c3RlZW10aWpkOiAlbGQgPSAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzMQorIywgYy1mb3JtYXQKK21zZ2lkICJcdFVUQzogJXNcbiIKK21zZ3N0ciAiXHRVVEM6ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIC0tdXBkYXRlLWRyaWZ0IG9wdGlvbiB3YXMgbm90IHVzZWQuXG4iCittc2dzdHIgIiIKKyJEZSB2ZXJzY2h1aXZpbmdzZmFjdG9yIHdvcmR0IG5pZXQgYWFuZ2VwYXN0LFxuIgorIm9tZGF0IGRlIG9wdGllIC0tdXBkYXRlLWRyaWZ0IG5pZXQgaXMgZ2VicnVpa3QuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAwMAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSBIYXJkd2FyZSBDbG9jayBwcmV2aW91c2x5IGNvbnRhaW5lZCBnYXJiYWdlLlxuIgorbXNnc3RyICIiCisiRGUgdmVyc2NodWl2aW5nc2ZhY3RvciB3b3JkdCBuaWV0IGFhbmdlcGFzdCxcbiIKKyJvbWRhdCBkZSBoYXJkd2FyZWtsb2sgZWVyZGVyIHJvbW1lbCBiZXZhdHRlLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgbGFzdCBjYWxpYnJhdGlvbiB0aW1lIGlzIHplcm8sXG4iCisic28gaGlzdG9yeSBpcyBiYWQgYW5kIGNhbGlicmF0aW9uIHN0YXJ0b3ZlciBpcyBuZWNlc3NhcnkuXG4iCittc2dzdHIgIiIKKyJEZSB2ZXJzY2h1aXZpbmdzZmFjdG9yIHdvcmR0IG5pZXQgYWFuZ2VwYXN0XG4iCisib21kYXQgZGUgbGFhdHN0ZSBjYWxpYnJhdGlldGlqZCBudWwgd2FzLlxuIgorIkVyIGlzIGR1cyBnZWVuIGJydWlrYmFyZSBnZXNjaGllZGVuaXMsXG4iCisiZW4gZWVuIGxhdGVyZSBoZXJjYWxpYnJhdGllIGlzIG5vZGlnLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBpdCBoYXMgYmVlbiBsZXNzIHRoYW4gZm91ciBob3VycyBzaW5jZSB0aGUgbGFzdCBjYWxpYnJhdGlvbi5cbiIKK21zZ3N0ciAiIgorIkRlIHZlcnNjaHVpdmluZ3NmYWN0b3Igd29yZHQgbmlldCBhYW5nZXBhc3QsXG4iCisib21kYXQgZGUgdm9yaWdlIGNhbGlicmF0aWUgbWluZGVyIGRhbiB2aWVyIHV1ciBnZWxlZGVuIGlzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0IGZhY3RvciB3YXMgY2FsY3VsYXRlZCBhcyAlZiBzZWNvbmRzL2RheS5cbiIKKyJJdCBpcyBmYXIgdG9vIG11Y2guIFJlc2V0dGluZyB0byB6ZXJvLlxuIgorbXNnc3RyICIiCisiRGUgdmVyc2NodWl2aW5nc2ZhY3RvciB3ZXJkIGJlcmVrZW5kIG9wICVmIHNlY29uZGVuL2RhZy5cbiIKKyJEYXQgaXMgdmVlbCB0ZSB2ZWVsLiAgSXMgdGVydWdnZXpldCBvcCBudWwuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnRlZCAlZiBzZWNvbmRzIGluIHRoZSBwYXN0ICVmIHNlY29uZHNcbiIKKyJpbiBzcGl0ZSBvZiBhIGRyaWZ0IGZhY3RvciBvZiAlZiBzZWNvbmRzL2RheS5cbiIKKyJBZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJ5ICVmIHNlY29uZHMvZGF5XG4iCittc2dzdHIgIiIKKyJEZSBrbG9rIGlzICVmIHNlY29uZGVuIHZlcnNjaG92ZW4gaW4gZGUgbGFhdHN0ZSAlZiBzZWNvbmRlbixcbiIKKyJvbmRhbmtzIGVlbiB2ZXJzY2h1aXZpbmdzZmFjdG9yIHZhbiAlZiBzZWNvbmRlbi9kYWcuXG4iCisiRGUgdmVyc2NodWl2aW5nc2ZhY3RvciB3b3JkdCBtZXQgJWYgc2Vjb25kZW4vZGFnIGFhbmdlcGFzdC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVkIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlZCBzZWNvbmRzXG4iCittc2dzdHJbMF0gIkRlIHZlcmxvcGVuIHRpamQgc2luZHMgZGUgdm9yaWdlIGFhbnBhc3NpbmcgaXMgJWQgc2Vjb25kZS5cbiIKK21zZ3N0clsxXSAiRGUgdmVybG9wZW4gdGlqZCBzaW5kcyBkZSB2b3JpZ2UgYWFucGFzc2luZyBpcyAlZCBzZWNvbmRlbi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGN1bGF0ZWQgSGFyZHdhcmUgQ2xvY2sgZHJpZnQgaXMgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiRGUgYmVyZWtlbmRlIGhhcmR3YXJla2xva2RyaWZ0IGlzICVsZC4lMDZsZCBzZWNvbmRlbi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTMzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCB1cGRhdGluZyBhZGp0aW1lIGZpbGUgYmVjYXVzZSBvZiB0ZXN0aW5nIG1vZGUuXG4iCittc2dzdHIgIkhldCBiZXN0YW5kIC9ldGMvYWRqdGltZSB3b3JkdCBuaWV0IGFhbmdlcGFzdCAtLSBpbiB0ZXN0bW9kdXMuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEzNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV291bGQgaGF2ZSB3cml0dGVuIHRoZSBmb2xsb3dpbmcgdG8gJXM6XG4iCisiJXMiCittc2dzdHIgIiIKKyJIZXQgdm9sZ2VuZGUgem91IG5hYXIgJXMgZ2VzY2hyZXZlbiB3b3JkZW46XG4iCisiJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE0MworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgb3BlbiBmaWxlIHdpdGggdGhlIGNsb2NrIGFkanVzdG1lbnQgcGFyYW1ldGVycyBpbiBpdCAoJXMpIGZvciB3cml0aW5nIgorbXNnc3RyICJLYW4gYmVzdGFuZCBtZXQga2xva2FhbnBhc3NpbmdzZ2VnZXZlbnMgKCVzKSBuaWV0IG9wZW5lbiBvbSB0ZSBzY2hyaWp2ZW4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE0OSBzeXMtdXRpbHMvaHdjbG9jay5jOjExNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHVwZGF0ZSBmaWxlIHdpdGggdGhlIGNsb2NrIGFkanVzdG1lbnQgcGFyYW1ldGVycyAoJXMpIGluIGl0IgorbXNnc3RyICJLYW4gYmVzdGFuZCBtZXQga2xva2FhbnBhc3NpbmdzZ2VnZXZlbnMgKCVzKSBuaWV0IGJpandlcmtlbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTY0Cittc2dpZCAiRHJpZnQgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIG5vdCB1cGRhdGVkLiIKK21zZ3N0ciAiRGUgcGFyYW1ldGVycyB2b29yIGRlIHZlcnNjaHVpdmluZ3NhYW5wYXNzaW5nIHppam4gbmlldCBiaWpnZXdlcmt0LiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjAwCittc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3QgYWRqdXN0IGl0LiIKK21zZ3N0ciAiRGUgaGFyZHdhcmVrbG9rIGJldmF0IGdlZW4gZ2VsZGlnZSB0aWpkLCB6b2RhdCBkaWUgbmlldCBhYW5nZXBhc3Qga2FuIHdvcmRlbi4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIwOAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGxhc3QgYWRqdXN0bWVudCB0aW1lIGlzIHplcm8sIHNvIGhpc3RvcnkgaXMgYmFkLlxuIgorbXNnc3RyICIiCisiRGUga2xvayB3b3JkdCBuaWV0IGluZ2VzdGVsZFxuIgorIm9tZGF0IGRlIGxhYXRzdGUgYWFucGFzc2luZ3N0aWpkIG51bCBpcy5cbiIKKyJFciBpcyBkdXMgZ2VlbiBicnVpa2JhcmUgZ2VzY2hpZWRlbmlzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBkcmlmdCBmYWN0b3IgJWYgaXMgZmFyIHRvbyBoaWdoLlxuIgorbXNnc3RyICIiCisiRGUga2xvayB3b3JkdCBuaWV0IGluZ2VzdGVsZFxuIgorIm9tZGF0IHZlcnNjaHVpdmluZ3NmYWN0b3IgJWYgdmVlbCB0ZSBob29nIGlzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gdXNhYmxlIGNsb2NrIGludGVyZmFjZSBmb3VuZC5cbiIKK21zZ3N0ciAiR2VlbiBicnVpa2JhcmUga2xvay1pbnRlcmZhY2UgZ2V2b25kZW4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJOZWVkZWQgYWRqdXN0bWVudCBpcyBsZXNzIHRoYW4gb25lIHNlY29uZCwgc28gbm90IHNldHRpbmcgY2xvY2suXG4iCittc2dzdHIgIiIKKyJEZSBiZW5vZGlnZGUgYWFucGFzc2luZyBpcyBtaW5kZXIgZGFuIMOpw6luIHNlY29uZGU7XG4iCisiZGUga2xvayB3b3JkdCBuaWV0IHZlcmFuZGVyZC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzg4IHN5cy11dGlscy9od2Nsb2NrLmM6MTM5NAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gc2V0IHN5c3RlbSBjbG9jay5cbiIKK21zZ3N0ciAiSW5zdGVsbGVuIHZhbiBkZSBzeXN0ZWVta2xvayBpcyBtaXNsdWt0LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OSwgUlRDIGlzIHByZWRpY3RlZCB0byByZWFkICVsZCBzZWNvbmRzIGFmdGVyIDE5NjkuXG4iCittc2dzdHIgIk9wICVsZCBzZWNvbmRlbiBuYSAxOTY5IGlzIGRlIHZvb3JzcGVsZGUgd2FhcmRlIHZhbiBSVEMgJWxkIHNlY29uZGVuIG5hIDE5NjkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQzMQorbXNnaWQgIiIKKyJUaGUga2VybmVsIGtlZXBzIGFuIGVwb2NoIHZhbHVlIGZvciB0aGUgSGFyZHdhcmUgQ2xvY2sgb25seSBvbiBhbiBBbHBoYSBtYWNoaW5lLlxuIgorIlRoaXMgY29weSBvZiBod2Nsb2NrIHdhcyBidWlsdCBmb3IgYSBtYWNoaW5lIG90aGVyIHRoYW4gQWxwaGFcbiIKKyIoYW5kIHRodXMgaXMgcHJlc3VtYWJseSBub3QgcnVubmluZyBvbiBhbiBBbHBoYSBub3cpLiAgTm8gYWN0aW9uIHRha2VuLiIKK21zZ3N0ciAiIgorIkRlIGtlcm5lbCBiZXdhYXJ0IGFsbGVlbiBiaWogQWxwaGEncyBlZW4gdGlqZHBlcmt3YWFyZGUgdm9vciBkZSBoYXJkd2FyZWtsb2suXG4iCisiRGV6ZSB2ZXJzaWUgdmFuICdod2Nsb2NrJyBpcyBnZW1hYWt0IHZvb3IgZWVuIGFuZGVyIHN5c3RlZW0gZGFuIGRlIEFscGhhXG4iCisiKGVuIGRyYWFpdCBudSBkdXMgdmVybW9lZGVsaWprIG5pZXQgb3AgZWVuIEFscGhhKS4gIEdlZW4gYWN0aWUgb25kZXJub21lbi4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ0OAorbXNnaWQgIlVuYWJsZSB0byBnZXQgdGhlIGVwb2NoIHZhbHVlIGZyb20gdGhlIGtlcm5lbC4iCittc2dzdHIgIlZlcmtyaWpnZW4gdmFuIGRlIHRpamRwZXJrd2FhcmRlIHZhbiBkZSBrZXJuZWwgaXMgbWlzbHVrdC4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgaXMgYXNzdW1pbmcgYW4gZXBvY2ggdmFsdWUgb2YgJWx1XG4iCittc2dzdHIgIktlcm5lbCBuZWVtdCBhbHMgdGlqZHBlcmt3YWFyZGUgJWx1IGFhbi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDU1Cittc2dpZCAiVG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSwgeW91IG11c3QgdXNlIHRoZSAnZXBvY2gnIG9wdGlvbiB0byB0ZWxsIHRvIHdoYXQgdmFsdWUgdG8gc2V0IGl0LiIKK21zZ3N0ciAiT20gZGUgdGlqZHBlcmt3YWFyZGUgaW4gdGUgc3RlbGxlbiBkaWVudCB1IGRlIG9wdGllIC0tZXBvY2ggdGUgZ2VicnVpa2VuLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDU5CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIHRoZSBlcG9jaCB0byAlbHUgLSB0ZXN0aW5nIG9ubHkuXG4iCittc2dzdHIgIlRpamRwZXJrIHdvcmR0IG5pZXQgaW5nZXN0ZWxkIG9wICVsdSAtLSBpbiB0ZXN0bW9kdXMuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLlxuIgorbXNnc3RyICJJbnN0ZWxsZW4gdmFuIGRlIHRpamRwZXJrd2FhcmRlIGluIGRlIGtlcm5lbCBpcyBtaXNsdWt0LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NTYKK21zZ2lkICIgaHdjbG9jayBbZnVuY3Rpb25dIFtvcHRpb24uLi5dXG4iCittc2dzdHIgIiAgaHdjbG9jayBbZnVuY3RpZV0gW29wdGllLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NTkKK21zZ2lkICJRdWVyeSBvciBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrLlxuIgorbXNnc3RyICJMZWVzdCBkZSBoYXJkd2FyZWtsb2sgb2Ygc3RlbHQgZGV6ZSBpbi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTYxCittc2dpZCAiIgorIlxuIgorIkZ1bmN0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkZ1bmN0aWVzOlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjIKK21zZ2lkICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgIHNob3cgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyIgLXIsIC0tc2hvdyAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisiICAgICAtLWdldCAgICAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IGRyaWZ0IGNvcnJlY3RlZCByZXN1bHRcbiIKKyIgICAgIC0tc2V0ICAgICAgICAgICAgc2V0IHRoZSBSVEMgdG8gdGhlIHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKK21zZ3N0ciAiIgorIiAgLWgsIC0taGVscCAgICAgICAgZGV6ZSBodWxwdGVrc3QgdG9uZW5cbiIKKyIgIC1yLCAtLXNob3cgICAgICAgIGRlIGhhcmR3YXJla2xvayBsZXplbiBlbiBoZXQgcmVzdWx0YWF0IHRvbmVuXG4iCisiICAgICAgLS1nZXQgICAgICAgICBkZSBoYXJkd2FyZWtsb2sgbGV6ZW4gZW4gZHJpZnRnZWNvcnJpZ2VlcmQgcmVzdWx0YWF0IHRvbmVuXG4iCisiICAgICAgLS1zZXQgICAgICAgICBkZSBoYXJkd2FyZWtsb2sgaW5zdGVsbGVuIG9wIGRlIHRpamQgZ2VnZXZlbiBtZXQgJy0tZGF0ZSdcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTY2Cittc2dpZCAiIgorIiAtcywgLS1oY3Rvc3lzICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisiIC13LCAtLXN5c3RvaGMgICAgICAgIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgZnJvbSB0aGUgY3VycmVudCBzeXN0ZW0gdGltZVxuIgorIiAgICAgLS1zeXN0eiAgICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRpbWV6b25lXG4iCisiICAgICAtLWFkanVzdCAgICAgICAgIGFkanVzdCB0aGUgUlRDIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgc2luY2VcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY2xvY2sgd2FzIGxhc3Qgc2V0IG9yIGFkanVzdGVkXG4iCittc2dzdHIgIiIKKyIgIC1zLCAtLWhjdG9zeXMgICAgIGFhbiBkZSBoYW5kIHZhbiBkZSBoYXJkd2FyZWtsb2sgZGUgc3lzdGVlbWtsb2sgaW5zdGVsbGVuXG4iCisiICAtdywgLS1zeXN0b2hjICAgICBhYW4gZGUgaGFuZCB2YW4gZGUgc3lzdGVlbWtsb2sgZGUgaGFyZHdhcmVrbG9rIGluc3RlbGxlblxuIgorIiAgICAgIC0tc3lzdHogICAgICAgZGUgc3lzdGVlbWtsb2sgaW5zdGVsbGVuIGFhbiBkZSBoYW5kIHZhbiBkZSB0aWpkem9uZVxuIgorIiAgICAgIC0tYWRqdXN0ICAgICAgZGUgaGFyZHdhcmVrbG9rIGFhbnBhc3NlbiB0ZXIgY29tcGVuc2F0aWUgdmFuIHN5c3RlbWF0aXNjaGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgdmVyc2NodWl2aW5nIHNpbmRzIGRlIGxhYXRzdGUgaW5zdGVsbGluZy9hYW5wYXNzaW5nXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU3MQorbXNnaWQgIiAtYywgLS1jb21wYXJlICAgICAgICBwZXJpb2RpY2FsbHkgY29tcGFyZSB0aGUgc3lzdGVtIGNsb2NrIHdpdGggdGhlIENNT1MgY2xvY2tcbiIKK21zZ3N0ciAiICAtYywgLS1jb21wYXJlICAgICBwZXJpb2RpZWsgZGUgc3lzdGVlbWtsb2sgbWV0IGRlIENNT1Mta2xvayB2ZXJnZWxpamtlblxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NzMKK21zZ2lkICIiCisiICAgICAtLWdldGVwb2NoICAgICAgIHByaW50IG91dCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWVcbiIKKyIgICAgIC0tc2V0ZXBvY2ggICAgICAgc2V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZSB0byB0aGUgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgZ2l2ZW4gd2l0aCAtLWVwb2NoXG4iCittc2dzdHIgIiIKKyIgICAgICAtLWdldGVwb2NoICAgIHRpamRwZXJrd2FhcmRlIHZhbiBkZSBrZXJuZWwgdG9uZW5cbiIKKyIgICAgICAtLXNldGVwb2NoICAgIHRpamRwZXJrd2FhcmRlIHZhbiBkZSBrZXJuZWwgaW5zdGVsbGVuIG9wIGRlIHdhYXJkZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICBnZWdldmVuIG1ldCBkZSBvcHRpZSAnLS1lcG9jaCdcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTc3Cittc2dpZCAiIgorIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IFJUQyByZWFkaW5nIGF0IHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKyIgICAgICAtLXByZWRpY3QgICAgIGhhcmR3YXJla2xva3RpamQgdm9vcnNwZWxsZW4gb3AgbW9tZW50IGdlZ2V2ZW4gbWV0ICctLWRhdGUnXG4iCisiICAtViwgLS12ZXJzaW9uICAgICBwcm9ncmFtbWF2ZXJzaWUgdG9uZW4gZW4gc3RvcHBlblxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODEKK21zZ2lkICIiCisiIC11LCAtLXV0YyAgICAgICAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIFVUQ1xuIgorIiAgICAgLS1sb2NhbHRpbWUgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBsb2NhbCB0aW1lXG4iCittc2dzdHIgIiIKKyIgIC11LCAtLXV0YyAgICAgICAgIGRlIGhhcmR3YXJla2xvayBiZXZhdCBkZSBnZWNvw7ZyZGluZWVyZGUgdW5pdmVyc2VsZSB0aWpkXG4iCisiICAgICAgLS1sb2NhbHRpbWUgICBkZSBoYXJkd2FyZWtsb2sgYmV2YXQgZGUgbG9rYWxlIHRpamRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTg0Cittc2dpZCAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIHNwZWNpYWwgL2Rldi8uLi4gZmlsZSB0byB1c2UgaW5zdGVhZCBvZiBkZWZhdWx0XG4iCittc2dzdHIgIiAgLWYsIC0tcnRjIDxiZXN0YW5kPiAgdGUgZ2VicnVpa2VuIFJUQy1iZXN0YW5kIGluIC9kZXYvIGluIHBsYWF0cyB2YW4gc3RhbmRhYXJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLWRpcmVjdGlzYSAgICAgIGFjY2VzcyB0aGUgSVNBIGJ1cyBkaXJlY3RseSBpbnN0ZWFkIG9mICVzXG4iCisiICAgICAtLWJhZHllYXIgICAgICAgIGlnbm9yZSBSVEMncyB5ZWFyIGJlY2F1c2UgdGhlIEJJT1MgaXMgYnJva2VuXG4iCisiICAgICAtLWRhdGUgPHRpbWU+ICAgIHNwZWNpZmllcyB0aGUgdGltZSB0byB3aGljaCB0byBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisiICAgICAtLWVwb2NoIDx5ZWFyPiAgIHNwZWNpZmllcyB0aGUgeWVhciB3aGljaCBpcyB0aGUgYmVnaW5uaW5nIG9mIHRoZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIGNsb2NrJ3MgZXBvY2ggdmFsdWVcbiIKK21zZ3N0ciAiIgorIiAgICAgIC0tZGlyZWN0aXNhICAgZGUgSVNBLWJ1cyBkaXJlY3QgYmVuYWRlcmVuIGluIHBsYWF0cyB2YW4gdmlhICVzXG4iCisiICAgICAgLS1iYWR5ZWFyICAgICBoZXQgamFhcnRhbCB2YW4gZGUgaGFyZHdhcmVrbG9rIG5lZ2VyZW4gb21kYXQgZGUgQklPUyBzdHVrIGlzXG4iCisiICAgICAgLS1kYXRlPVRJSkQgICBkZSB0aWpkIHdhYXJvcCBkZSBoYXJkd2FyZWtsb2sgbW9ldCB3b3JkZW4gaW5nZXN0ZWxkXG4iCisiICAgICAgLS1lcG9jaD1KQUFSICBoZXQgamFhcnRhbCBkYXQgaGV0IHRpamRwZXJrYmVnaW4gdm9vciBkZSBoYXJkd2FyZWtsb2sgaXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIGRyaWZ0IGZhY3RvciBpbiAlMSRzIChyZXF1aXJlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIC0tc2V0IG9yIC0tc3lzdG9oYylcbiIKKyIgICAgIC0tbm9hZGpmaWxlICAgICAgZG8gbm90IGFjY2VzcyAlMSRzOyB0aGlzIHJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWVcbiIKKyIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlMSRzXG4iCittc2dzdHIgIiIKKyIgICAgICAtLXVwZGF0ZS1kcmlmdCAgICAgICAgdmVyc2NodWl2aW5nc2ZhY3RvciBpbiAlMSRzIGJpandlcmtlblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkaXQgdmVyZWlzdCAnLS1zZXQnIG9mICctLXN5c3RvaGMnKVxuIgorIiAgICAgIC0tbm9hZGpmaWxlICAgICAgICAgICBiZXN0YW5kICUxJHMgbmlldCBnZWJydWlrZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2FtZW4gbWV0ICctLXV0Yycgb2YgJy0tbG9jYWx0aW1lJylcbiIKKyIgICAgICAtLWFkamZpbGUgPGJlc3RhbmQ+ICAgdGUgZ2VicnVpa2VuIHZlcnNjaHVpdmluZ3MtcmVnaXN0cmF0aWViZXN0YW5kXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0YW5kYWFyZCBpcyAlMSRzKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1OTkKK21zZ2lkICIiCisiICAgICAtLXRlc3QgICAgICAgICAgIGRvIG5vdCB1cGRhdGUgYW55dGhpbmcsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGhhcHBlblxuIgorIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBkZWJ1Z2dpbmcgbW9kZVxuIgorIlxuIgorbXNnc3RyICIiCisiICAgICAgLS10ZXN0ICAgICAgICBuaWV0cyBlY2h0IHdpanppZ2VuLCBhbGxlZW4gdG9uZW4gd2F0IGdlZGFhbiB6b3Ugd29yZGVuXG4iCisiICAtRCwgLS1kZWJ1ZyAgICAgICBkZWJ1Zy1tb2R1cyBpbnNjaGFrZWxlblxuIgorIlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE2MDIKK21zZ2lkICIiCisiIC1KfC0tamVuc2VuLCAtQXwtLWFyYywgLVN8LS1zcm0sIC1GfC0tZnVua3ktdG95XG4iCisiICAgICAgdGVsbCBod2Nsb2NrIHRoZSB0eXBlIG9mIEFscGhhIHlvdSBoYXZlIChzZWUgaHdjbG9jayg4KSlcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAgLUp8LS1qZW5zZW4sIC1BfC0tYXJjLCAtU3wtLXNybSwgLUZ8LS1mdW5reS10b3lcbiIKKyIgICAgICAgICAgICAgICAgICAgaGV0IHNvb3J0IEFscGhhIGRhdCB1IGdlYnJ1aWt0ICAoemllIGh3Y2xvY2soOCkpXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTcyOAorbXNnaWQgIlVuYWJsZSB0byBjb25uZWN0IHRvIGF1ZGl0IHN5c3RlbSIKK21zZ3N0ciAiS2FuIGdlZW4gdmVyYmluZGluZyBtYWtlbiBtZXQgYXVkaXRzeXN0ZWVtIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4MjYKK21zZ2lkICJpbnZhbGlkIGVwb2NoIGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZ2UgdGlqZHBlcmt3YWFyZGUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTg3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB0YWtlcyBubyBub24tb3B0aW9uIGFyZ3VtZW50cy4gIFlvdSBzdXBwbGllZCAlZC5cbiIKK21zZ3N0ciAiIgorIiVzIGtlbnQgZ2VlbiBhbmRlcmUgYXJndW1lbnRlbiBkYW4gZnVuY3RpZXMgZW4gb3B0aWVzLlxuIgorIlUgZ2FmICVkLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4ODAKK21zZ2lkICJXaXRoIC0tbm9hZGpmaWxlLCB5b3UgbXVzdCBzcGVjaWZ5IGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZSIKK21zZ3N0ciAiQmlqICctLW5vYWRqZmlsZScgbW9ldCB1IG9mICctLXV0Yycgb2YgJy0tbG9jYWx0aW1lJyBhYW5nZXZlbi4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTg5MworbXNnaWQgIk5vIHVzYWJsZSBzZXQtdG8gdGltZS4gIENhbm5vdCBzZXQgY2xvY2suIgorbXNnc3RyICJHZWVuIGJydWlrYmFyZSBpbnN0ZWx0aWpkLiAgS2FuIGtsb2sgbmlldCBpbnN0ZWxsZW4uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE5MTcKK21zZ2lkICJDYW5ub3QgYWNjZXNzIHRoZSBIYXJkd2FyZSBDbG9jayB2aWEgYW55IGtub3duIG1ldGhvZC4iCittc2dzdHIgIkthbiBvcCBnZWVuIGVua2VsZSBiZWtlbmRlIG1hbmllciB0b2VnYW5nIGtyaWpnZW4gdG90IGRlIGhhcmR3YXJla2xvay4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTkyMAorbXNnaWQgIlVzZSB0aGUgLS1kZWJ1ZyBvcHRpb24gdG8gc2VlIHRoZSBkZXRhaWxzIG9mIG91ciBzZWFyY2ggZm9yIGFuIGFjY2VzcyBtZXRob2QuIgorbXNnc3RyICIiCisiR2VicnVpayBkZSBvcHRpZSAnLS1kZWJ1Zycgb20gYWxsZSBkZXRhaWxzIG92ZXIgZGUgem9la3RvY2h0XG4iCisibmFhciBlZW4gdG9lZ2FuZ3NtZXRob2RlIHRlIHppZW4uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgImJvb3RlZCBmcm9tIE1JTE9cbiIKK21zZ3N0ciAiIyMjIG9wZ2VzdGFydCB2YW51aXQgTUlMT1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIlJ1ZmZpYW4gQkNEIGNsb2NrXG4iCittc2dzdHIgIiMjIyBSdWZmaWFhbnNlIEJDRC1rbG9rXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvY2twb3J0IGFkanVzdGVkIHRvIDB4JXhcbiIKK21zZ3N0ciAiIyMjIGtsb2twb29ydCBhYW5nZXBhc3QgbmFhciAweCV4XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnVua3kgVE9ZIVxuIgorbXNnc3RyICIjIyMgdnJlZW1kZSB0aWpkLXZhbi1oZXQtamFhciFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjI5OAorIywgYy1mb3JtYXQKK21zZ2lkICJhdG9taWMgJXMgZmFpbGVkIGZvciAxMDAwIGl0ZXJhdGlvbnMhIgorbXNnc3RyICJhdG9taXNjaGUgJXMgaXMgZHVpemVuZCBrZWVyIG1pc2x1a3QhIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3NfcmVhZCgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICIjIyMgY21vc19yZWFkKCk6IHNjaHJpanZlbiBuYWFyIGJlc3R1cmluZ3NhZHJlcyAlWCBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzI4CisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3NfcmVhZCgpOiByZWFkIGZyb20gZGF0YSBhZGRyZXNzICVYIGZhaWxlZCIKK21zZ3N0ciAiIyMjIGNtb3NfcmVhZCgpOiBsZXplbiB2YW4gZGF0YS1hZHJlcyAlWCBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzY1CisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3Nfd3JpdGUoKTogd3JpdGUgdG8gY29udHJvbCBhZGRyZXNzICVYIGZhaWxlZCIKK21zZ3N0ciAiIyMjIGNtb3Nfd3JpdGUoKTogc2NocmlqdmVuIG5hYXIgYmVzdHVyaW5nc2FkcmVzICVYIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICIjIyMgY21vc193cml0ZSgpOiBzY2hyaWp2ZW4gbmFhciBkYXRhLWFkcmVzICVYIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NDUKK21zZ2lkICJJIGZhaWxlZCB0byBnZXQgcGVybWlzc2lvbiBiZWNhdXNlIEkgZGlkbid0IHRyeS4iCittc2dzdHIgIkdlZW4gdG9lc3RlbW1pbmcgZ2VrcmVnZW4sIHdhbnQgbmlldCBnZXByb2JlZXJkLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY0OAorbXNnaWQgInVuYWJsZSB0byBnZXQgSS9PIHBvcnQgYWNjZXNzOiAgdGhlIGlvcGwoMykgY2FsbCBmYWlsZWQuIgorbXNnc3RyICJLYW4gZ2VlbiBJL08tcG9vcnR0b2VnYW5nIGtyaWpnZW46IGlvcGwoMykgaXMgbWlzbHVrdC4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NTEKK21zZ2lkICJQcm9iYWJseSB5b3UgbmVlZCByb290IHByaXZpbGVnZXMuXG4iCittc2dzdHIgIldhYXJzY2hpam5saWprIGhlYnQgdSByb290LXByaXZpbGVnZXMgbm9kaWcuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NTgKK21zZ2lkICJVc2luZyBkaXJlY3QgSS9PIGluc3RydWN0aW9ucyB0byBJU0EgY2xvY2suIgorbXNnc3RyICJHZWJydWlrIHZhbiBkaXJlY3RlIGludm9lci0vdWl0dm9lcmluc3RydWN0aWVzIHZvb3IgSVNBLWtsb2suIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHJlYWQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICJpb2N0bCglcykgb3AgJXMgb20gZGUgdGlqZCB0ZSBsZXplbiBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gJXMgdG8gY2hhbmdlXG4iCittc2dzdHIgIldhY2h0ZW4gaW4gbHVzIHRvdGRhdCBkZSB0aWpkIHZhbiAlcyB2ZXJhbmRlcnQuLi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjM2Cittc2dpZCAiVGltZWQgb3V0IHdhaXRpbmcgZm9yIHRpbWUgY2hhbmdlLiIKK21zZ3N0ciAiV2FjaHRlbiBvcCB2ZXJhbmRlcmVuZGUgdGlqZCBkdXVyZGUgdGUgbGFuZy4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBoYXZlIGludGVycnVwdCBmdW5jdGlvbnMuICIKK21zZ3N0ciAiQXBwYXJhYXQgJXMgaGVlZnQgZ2VlbiBvbmRlcmJyZWtpbmdzZnVuY3RpZXMuICIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzAyCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgZmFpbGVkIgorbXNnc3RyICJzZWxlY3QoKSB2YW4gJXMgdm9vciB3YWNodGVuIG9wIGtsb2t0aWsgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgdGltZWQgb3V0IgorbXNnc3RyICJzZWxlY3QoKSB2YW4gJXMgdm9vciB3YWNodGVuIG9wIGtsb2t0aWsgZHV1cmRlIHRlIGxhbmciCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb2ZmIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoKSBvcCAlcyBvbSBiaWp3ZXJraW5nc29uZGVyYnJla2luZ2VuIHVpdCB0ZSB6ZXR0ZW4gaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvbiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQgdW5leHBlY3RlZGx5IgorbXNnc3RyICJpb2N0bCgpIG9wICVzIG9tIGJpandlcmtpbmdzb25kZXJicmVraW5nZW4gYWFuIHRlIHpldHRlbiBpcyBvbnZlcndhY2h0IG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gc2V0IHRoZSB0aW1lIGZhaWxlZC4iCittc2dzdHIgImlvY3RsKCVzKSBvcCAlcyBvbSB0aWpkIGluIHRlIHN0ZWxsZW4gaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB3YXMgc3VjY2Vzc2Z1bC5cbiIKK21zZ3N0ciAiaW9jdGwoJXMpIGlzIGdlc2xhYWdkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM4NworbXNnaWQgIlVzaW5nIHRoZSAvZGV2IGludGVyZmFjZSB0byB0aGUgY2xvY2suIgorbXNnc3RyICJHZWJydWlrIHZhbiAvZGV2LWludGVyZmFjZSB2b29yIGRlIGtsb2suIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MTcgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRvIG1hbmlwdWxhdGUgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwsIHdlIG11c3QgYWNjZXNzIHRoZSBMaW51eCAncnRjJyBkZXZpY2UgZHJpdmVyIHZpYSB0aGUgZGV2aWNlIHNwZWNpYWwgZmlsZSAlcy4gIFRoaXMgZmlsZSBkb2VzIG5vdCBleGlzdCBvbiB0aGlzIHN5c3RlbS4iCittc2dzdHIgIiIKKyJPbSBkZSB0aWpkcGVya3dhYXJkZSBpbiBkZSBrZXJuZWwgYWFuIHRlIGt1bm5lbiBwYXNzZW4sIGlzIHRvZWdhbmdcbiIKKyJ0b3QgaGV0ICdydGMnLXN0dXVycHJvZ3JhbW1hIHZhbiBMaW51eCBub2RpZyB2aWEgaGV0IHNwZWNpYWxlXG4iCisiYXBwYXJhYXRiZXN0YW5kICVzLiAgRGl0IGJlc3RhbmQgYmVzdGFhdCBuaWV0IG9wIGRpdCBzeXN0ZWVtLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDI5CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSB0byAlcyBmYWlsZWQiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSBvcCAlcyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAid2UgaGF2ZSByZWFkIGVwb2NoICVsdSBmcm9tICVzIHdpdGggUlRDX0VQT0NIX1JFQUQgaW9jdGwuXG4iCittc2dzdHIgIlRpamRwZXJrd2FhcmRlICVsdSBpcyBnZWxlemVuIHVpdCAlcyBtZXQgaW9jdGwoUlRDX0VQT0NIX1JFQUQpLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGVwb2NoIHZhbHVlIG1heSBub3QgYmUgbGVzcyB0aGFuIDE5MDAuICBZb3UgcmVxdWVzdGVkICVsZCIKK21zZ3N0ciAiRGUgdGlqZHBlcmt3YWFyZGUgbWFnIG5pZXQgbWluZGVyIHppam4gZGFuIDE5MDAuICBVIHZyb2VnIG9tICVsZC4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIGVwb2NoIHRvICVsdSB3aXRoIFJUQ19FUE9DSF9TRVQgaW9jdGwgdG8gJXMuXG4iCittc2dzdHIgIkluc3RlbGxlbiB2YW4gdGlqZHBlcmt3YWFyZGUgb3AgJWx1IG5hYXIgJXMgbWV0IGlvY3RsKFJUQ19FUE9DSF9TRVQpLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGtlcm5lbCBkZXZpY2UgZHJpdmVyIGZvciAlcyBkb2VzIG5vdCBoYXZlIHRoZSBSVENfRVBPQ0hfU0VUIGlvY3RsLiIKK21zZ3N0ciAiSGV0IGtlcm5lbHN0dXVycHJvZ3JhbW1hIHZvb3IgJXMgaGVlZnQgZ2VlbiBpb2N0bChSVENfRVBPQ0hfU0VUKS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bChSVENfRVBPQ0hfU0VUKSB0byAlcyBmYWlsZWQiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9TRVQpIG9wICVzIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjY5Cittc2dpZCAiQ3JlYXRlIHZhcmlvdXMgSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiTWFha3QgZGUgYWFuZ2VnZXZlbiBJUEMtdm9vcnppZW5pbmdlbiBhYW4uXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjcyCittc2dpZCAiIC1NLCAtLXNobWVtIDxzaXplPiAgICAgICBjcmVhdGUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IG9mIHNpemUgPHNpemU+XG4iCittc2dzdHIgIiAtTSwgLS1zaG1lbSA8Z2V0YWw+ICAgICAgICBnZWRlZWxkIGdlaGV1Z2Vuc2VnbWVudCB2YW4gZGV6ZSBncm9vdHRlIGFhbm1ha2VuXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjczCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZSA8bnVtYmVyPiBjcmVhdGUgc2VtYXBob3JlIGFycmF5IHdpdGggPG51bWJlcj4gZWxlbWVudHNcbiIKK21zZ3N0ciAiIC1TLCAtLXNlbWFwaG9yZSA8Z2V0YWw+ICAgIHNlbWFmb29yLWFycmF5IG1ldCBkaXQgYWFudGFsIGVsZW1lbnRlbiBhYW5tYWtlblxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NAorbXNnaWQgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgY3JlYXRlIG1lc3NhZ2UgcXVldWVcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICAgIGJlcmljaHRlbndhY2h0cmlqIGFhbm1ha2VuXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc1Cittc2dpZCAiIC1wLCAtLW1vZGUgPG1vZGU+ICAgICAgICBwZXJtaXNzaW9uIGZvciB0aGUgcmVzb3VyY2UgKGRlZmF1bHQgaXMgMDY0NClcbiIKK21zZ3N0ciAiIC1wLCAtLW1vZGUgPG1vZHVzPiAgICAgICAgIHRvZWdhbmdzcmVjaHRlbiB2b29yIGh1bHBicm9uIChzdGFuZGFhcmQgaXMgMDY0NClcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTEwIHN5cy11dGlscy9sb3NldHVwLmM6Njk3IHN5cy11dGlscy96cmFtY3RsLmM6NjIyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNpemUiCittc2dzdHIgIm9udGxlZGVuIHZhbiBncm9vdHRlIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbGVtZW50cyIKK21zZ3N0ciAib250bGVkZW4gdmFuIGVsZW1lbnRlbiBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDEKK21zZ2lkICJjcmVhdGUgc2hhcmUgbWVtb3J5IGZhaWxlZCIKK21zZ3N0ciAiYWFubWFrZW4gdmFuIGdlZGVlbGQgZ2VoZXVnZW5zZWdtZW50IGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MworIywgYy1mb3JtYXQKK21zZ2lkICJTaGFyZWQgbWVtb3J5IGlkOiAlZFxuIgorbXNnc3RyICJHZWRlZWxkIGdlaGV1Z2Vuc2VnbWVudC1JRDogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQ5Cittc2dpZCAiY3JlYXRlIG1lc3NhZ2UgcXVldWUgZmFpbGVkIgorbXNnc3RyICJhYW5tYWtlbiB2YW4gYmVyaWNodGVud2FjaHRyaWogaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgcXVldWUgaWQ6ICVkXG4iCittc2dzdHIgIkJlcmljaHRlbndhY2h0cmlqLUlEOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTcKK21zZ2lkICJjcmVhdGUgc2VtYXBob3JlIGZhaWxlZCIKK21zZ3N0ciAiYWFubWFrZW4gdmFuIHNlbWFmb29yIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZW1hcGhvcmUgaWQ6ICVkXG4iCittc2dzdHIgIlNlbWFmb29yLUlEOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPGlkPi4uLlxuIgorbXNnc3RyICIiCisiICUxJHMgW29wdGllc11cbiIKKyIgJTEkcyBzaG18bXNnfHNlbSA8SUQ+Li4uXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU0Cittc2dpZCAiUmVtb3ZlIGNlcnRhaW4gSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiVmVyd2lqZGVydCBkZSBhYW5nZWdldmVuIElQQy12b29yemllbmluZ2VuLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1NworbXNnaWQgIiAtbSwgLS1zaG1lbS1pZCA8aWQ+ICAgICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGlkXG4iCittc2dzdHIgIiAtbSwgLS1zaG1lbS1pZCA8SUQ+ICAgICAgICBnZWRlZWxkIGdlaGV1Z2Vuc2VnbWVudCBtZXQgZGV6ZSBJRCB2ZXJ3aWpkZXJlblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OAorbXNnaWQgIiAtTSwgLS1zaG1lbS1rZXkgPGtleT4gICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGtleVxuIgorbXNnc3RyICIgLU0sIC0tc2htZW0ta2V5IDxzbGV1dGVsPiAgZ2VkZWVsZCBnZWhldWdlbnNlZ21lbnQgbWV0IGRlemUgc2xldXRlbCB2ZXJ3aWpkZXJlblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OQorbXNnaWQgIiAtcSwgLS1xdWV1ZS1pZCA8aWQ+ICAgICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBpZFxuIgorbXNnc3RyICIgLXEsIC0tcXVldWUtaWQgPElEPiAgICAgICAgYmVyaWNodGVud2FjaHRyaWogbWV0IGRlemUgSUQgdmVyd2lqZGVyZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjAKK21zZ2lkICIgLVEsIC0tcXVldWUta2V5IDxrZXk+ICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkga2V5XG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZS1rZXkgPHNsZXV0ZWw+ICBiZXJpY2h0ZW53YWNodHJpaiBtZXQgZGV6ZSBzbGV1dGVsIHZlcndpamRlcmVuXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYxCittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8aWQ+ICAgIHJlbW92ZSBzZW1hcGhvcmUgYnkgaWRcbiIKK21zZ3N0ciAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8SUQ+ICAgIHNlbWFmb29yIG1ldCBkZXplIElEIHZlcndpamRlcmVuXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYyCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGtleT4gIHJlbW92ZSBzZW1hcGhvcmUgYnkga2V5XG4iCittc2dzdHIgIiAtUywgLS1zZW1hcGhvcmUta2V5IDxzbGV1dGVsPiAgc2VtYWZvb3IgbWV0IGRlemUgc2xldXRlbCB2ZXJ3aWpkZXJlblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MworbXNnaWQgIiAtYSwgLS1hbGxbPXNobXxtc2d8c2VtXSAgICByZW1vdmUgYWxsIChpbiB0aGUgc3BlY2lmaWVkIGNhdGVnb3J5KVxuIgorbXNnc3RyICIgLWEsIC0tYWxsWz1zaG18bXNnfHNlbV0gICAgYWxsZSB6YWtlbiAoaW4gZGV6ZSBjYXRlZ29yaWUpIHZlcndpamRlcmVuXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjY0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICB0b25lbiB3YXQgZXIgZ2VkYWFuIHdvcmR0XG4iCisKKyMgRklYTUU6IGJhY2t0aWNrCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgaWQgYCVkJ1xuIgorbXNnc3RyICJ2ZXJ3aWpkZXJlbiB2YW4gZ2VkZWVsZCBnZWhldWdlbnNlZ21lbnQgbWV0IElEICclZCdcbiIKKworIyBGSVhNRTogYmFja3RpY2sKKyM6IHN5cy11dGlscy9pcGNybS5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIG1lc3NhZ2UgcXVldWUgaWQgYCVkJ1xuIgorbXNnc3RyICJ2ZXJ3aWpkZXJlbiB2YW4gYmVyaWNodGVud2FjaHRyaWogbWV0IElEICclZCdcbiIKKworIyBGSVhNRTogYmFja3RpY2sKKyM6IHN5cy11dGlscy9pcGNybS5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNlbWFwaG9yZSBpZCBgJWQnXG4iCittc2dzdHIgInZlcndpamRlcmVuIHZhbiBzZW1hZm9vciBtZXQgSUQgJyVkJ1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDggc3lzLXV0aWxzL2lwY3JtLmM6MjIyCittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGtleSIKK21zZ3N0ciAidG9lZ2FuZyBnZXdlaWdlcmQgdm9vciBzbGV1dGVsIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDgKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3IgaWQiCittc2dzdHIgInRvZWdhbmcgZ2V3ZWlnZXJkIHZvb3IgSUQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMSBzeXMtdXRpbHMvaXBjcm0uYzoyMjgKK21zZ2lkICJpbnZhbGlkIGtleSIKK21zZ3N0ciAib25nZWxkaWdlIHNsZXV0ZWwiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMQorbXNnaWQgImludmFsaWQgaWQiCittc2dzdHIgIm9uZ2VsZGlnIElEIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQgc3lzLXV0aWxzL2lwY3JtLmM6MjI1Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGtleSIKK21zZ3N0ciAic2xldXRlbCBpcyBhbCB2ZXJ3aWpkZXJkIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQgaWQiCittc2dzdHIgIklEIGlzIGFsIHZlcndpamRlcmQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNyBzeXMtdXRpbHMvaXBjcm0uYzoyMzEKK21zZ2lkICJrZXkgZmFpbGVkIgorbXNnc3RyICJzbGV1dGVsIGhlZWZ0IGdlZmFhbGQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNworbXNnaWQgImlkIGZhaWxlZCIKK21zZ3N0ciAiSUQgaGVlZnQgZ2VmYWFsZCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWQ6ICVzIgorbXNnc3RyICJvbmdlbGRpZyBJRDogJXMiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJyZXNvdXJjZShzKSBkZWxldGVkXG4iCittc2dzdHIgImh1bHBicm9uKG5lbikgdmVyd2lqZGVyZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBrZXkgKCVzKSIKK21zZ3N0ciAib25nZWxkaWdlIHNsZXV0ZWwgKCVzKSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjU2Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICJkZXplIGtlcm5lbCBrZW50IGdlZW4gZ2VkZWVsZCBnZWhldWdlbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjY5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzIgorbXNnc3RyICJkZXplIGtlcm5lbCBrZW50IGdlZW4gc2VtYWZvcmVuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyOTAKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICJkZXplIGtlcm5lbCBrZW50IGdlZW4gYmVyaWNodHdhY2h0cmlqZW4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtyZXNvdXJjZS1vcHRpb24uLi5dIFtvdXRwdXQtb3B0aW9uXVxuIgorIiAlMSRzIC1tfC1xfC1zIC1pIDxpZD5cbiIKK21zZ3N0ciAiIgorIiAgJTEkcyBbaHVscGJyb25vcHRpZS4uLl0gW3VpdHZvZXJvcHRpZV1cbiIKKyIgICUxJHMgLW18LXF8LXMgLWkgPElEPlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU2IHN5cy11dGlscy9sc2lwYy5jOjI4MAorbXNnaWQgIlNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMuXG4iCittc2dzdHIgIkdlZWZ0IGluZm9ybWF0aWUgb3ZlciBJUEMtdm9vcnppZW5pbmdlbi5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OQorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIgIC1pLCAtLWlkIDxJRD4gICAgICBkZXRhaWxzIHdlZXJnZXZlbiBvdmVyIGRlIG1ldCA8SUQ+IGFhbmdlZ2V2ZW4gaHVscGJyb25cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NCBzeXMtdXRpbHMvbHNpcGMuYzoyODMKK21zZ2lkICJSZXNvdXJjZSBvcHRpb25zOlxuIgorbXNnc3RyICJIdWxwYnJvbm9wdGllczpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NSBzeXMtdXRpbHMvbHNpcGMuYzoyODQKK21zZ2lkICIgLW0sIC0tc2htZW1zICAgICAgc2hhcmVkIG1lbW9yeSBzZWdtZW50c1xuIgorbXNnc3RyICIgIC1tLCAtLXNobWVtcyAgICAgICBnZWRlZWxkZSBnZWhldWdlbnNlZ21lbnRlblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY2IHN5cy11dGlscy9sc2lwYy5jOjI4NQorbXNnaWQgIiAtcSwgLS1xdWV1ZXMgICAgICBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICIgIC1xLCAtLXF1ZXVlcyAgICAgICBiZXJpY2h0d2FjaHRyaWplblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY3IHN5cy11dGlscy9sc2lwYy5jOjI4NgorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hcGhvcmVzXG4iCittc2dzdHIgIiAgLXMsIC0tc2VtYXBob3JlcyAgIHNlbWFmb3JlblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgIGFsbCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtYSwgLS1hbGwgICAgICAgICAgYWxsZSBkcmllIChzdGFuZGFhcmQpXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzEKK21zZ2lkICJPdXRwdXQgb3B0aW9uczpcbiIKK21zZ3N0ciAiVWl0dm9lcm9wdGllczpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MgorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiICAtdCwgLS10aW1lICAgICAgICAgYWFuaGVjaHRpbmdzLSwgb250aGVjaHRpbmdzLSBlbiB3aWp6aWdpbmdzdGlqZGVuIHRvbmVuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzMKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgc2hvdyBQSURzIG9mIGNyZWF0b3IgYW5kIGxhc3Qgb3BlcmF0b3JcbiIKK21zZ3N0ciAiICAtcCwgLS1waWQgICAgICAgICAgUElEJ3MgdmFuIGFhbm1ha2VyIGVuIGxhYXRzdGUgb3BlcmF0aWUgdG9uZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NAorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiAgLWMsIC0tY3JlYXRvciAgICAgIGFhbm1ha2VyIGVuIGVpZ2VuYWFyIHRvbmVuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzUKK21zZ2lkICIgLWwsIC0tbGltaXRzICAgICAgc2hvdyByZXNvdXJjZSBsaW1pdHNcbiIKK21zZ3N0ciAiICAtbCwgLS1saW1pdHMgICAgICAgaHVscGJyb25ncmVuemVuIHRvbmVuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKK21zZ2lkICIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIgorbXNnc3RyICIgIC11LCAtLXN1bW1hcnkgICAgICBlZW4gdG9lc3RhbmRzc2FtZW52YXR0aW5nIHRvbmVuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzcKK21zZ2lkICIgICAgIC0taHVtYW4gICAgICAgc2hvdyBzaXplcyBpbiBodW1hbi1yZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgLS1odW1hbiAgICAgICAgZ3Jvb3R0ZXMgaW4gbGVlc2JhcmUgdm9ybSB0b25lblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc4Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgIHNob3cgc2l6ZXMgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiICAtYiwgLS1ieXRlcyAgICAgICAgZ3Jvb3R0ZXMgaW4gYnl0ZXMgdG9uZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoxNjQKK21zZ2lkICJ3aGVuIHVzaW5nIGFuIElELCBhIHNpbmdsZSByZXNvdXJjZSBtdXN0IGJlIHNwZWNpZmllZCIKK21zZ3N0ciAiYmlqIGdlYnJ1aWsgdmFuIGVlbiBJRCBkaWVudCDDqcOpbiBlbmtlbGUgaHVscGJyb24gYWFuZ2VnZXZlbiB0ZSB3b3JkZW4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzaGFyZWQgbWVtb3J5IGxpbWl0c1xuIgorbXNnc3RyICJrYW4gbGltaWV0ZW4gdmFuIGdlZGVlbGQgZ2VoZXVnZW4gbmlldCBhY2h0ZXJoYWxlblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEdlZGVlbGQgZ2VoZXVnZW46IGdyZW56ZW4gLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBzZWdtZW50cyA9ICVqdVxuIgorbXNnc3RyICJtYXhpbXVtIGFhbnRhbCBzZWdtZW50ZW4gPSAlanVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDkKK21zZ2lkICJtYXggc2VnIHNpemUiCittc2dzdHIgIm1heGltdW0gc2VnbWVudGdyb290dGUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjExCittc2dpZCAibWF4IHRvdGFsIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgIm1heGltdW0gdG90YWFsIGdlZGVlbGQgZ2VoZXVnZW4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjE0Cittc2dpZCAibWluIHNlZyBzaXplIgorbXNnc3RyICJtaW5pbXVtIHNlZ21lbnRncm9vdHRlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIyNgorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnlcbiIKK21zZ3N0ciAia2VybmVsIGlzIG5pZXQgaW5nZXN0ZWxkIHZvb3IgZ2VkZWVsZCBnZWhldWdlblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzMAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEdlZGVlbGQgZ2VoZXVnZW46IHN0YXR1cyAtLS0tLS0tLVxuIgorCisjLiBUUkFOU0xBVE9SUzogVGhpcyBvdXRwdXQgZm9ybWF0IGlzIG1haW50YWluZWQgZm9yIGJhY2t3YXJkCisjLiBjb21wYXRpYmlsaXR5IGFzIGlwY3MgaXMgdXNlZCBpbiBzY3JpcHRzLiBGb3IgY29uc2lzdGVuY3kKKyMuIHdpdGggdGhlIHJlc3QsIHRoZSB0cmFuc2xhdGVkIGZvcm0gY2FuIGZvbGxvdyB0aGlzIG1vZGVsOgorIy4gKgorIy4gInNlZ21lbnRzIGFsbG9jYXRlZCA9ICVkXG4iCisjLiAicGFnZXMgYWxsb2NhdGVkID0gJWxkXG4iCisjLiAicGFnZXMgcmVzaWRlbnQgPSAlbGRcbiIKKyMuICJwYWdlcyBzd2FwcGVkID0gJWxkXG4iCisjLiAic3dhcCBwZXJmb3JtYW5jZSA9ICVsZCBhdHRlbXB0cywgJWxkIHN1Y2Nlc3Nlc1xuIgorIy4KKyM6IHN5cy11dGlscy9pcGNzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyJwYWdlcyBhbGxvY2F0ZWQgJWxkXG4iCisicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorInBhZ2VzIHN3YXBwZWQgICAlbGRcbiIKKyJTd2FwIHBlcmZvcm1hbmNlOiAlbGQgYXR0ZW1wdHNcdCAlbGQgc3VjY2Vzc2VzXG4iCittc2dzdHIgIiIKKyJ0b2VnZXdlemVuIHNlZ21lbnRlbjogJWRcbiIKKyJ0b2VnZXdlemVuIHBhZ2luYSdzOiAgJWxkXG4iCisicmVzaWRlbnRlIHBhZ2luYSdzOiAgICVsZFxuIgorImdlc3dhcHRlIHBhZ2luYSdzOiAgICAlbGRcbiIKKyJTd2FwcHJlc3RhdGllczogICVsZCBwb2dpbmdlbiAgJWxkIHN1Y2Nlc3NlblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI1OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50IENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gR2VkZWVsZCBnZWhldWdlbjogc2VnbWVudGFhbm1ha2Vycy9laWdlbmFhcnMgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyNzQKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwCittc2dpZCAic2htaWQiCittc2dzdHIgInNobS1JRCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzozODYKKyM6IHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NDg5IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAicGVybXMiCittc2dzdHIgInJlY2h0ZW4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiY3VpZCIKK21zZ3N0ciAibWFrZXItVUlEIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgImNnaWQiCittc2dzdHIgIm1ha2VyLUdJRCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJ1aWQiCittc2dzdHIgIlVJRCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJnaWQiCittc2dzdHIgIkdJRCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQXR0YWNoL0RldGFjaC9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEdlZGVlbGQgZ2VoZXVnZW46IGFhbmhlY2h0LS9vbnRoZWNodC0vd2lqemlnaW5nc3RpamRlbiAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI3NCBzeXMtdXRpbHMvaXBjcy5jOjI4MAorIzogc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo0OTUKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxIHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAib3duZXIiCittc2dzdHIgImVpZ2VuYWFyIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NworbXNnaWQgImF0dGFjaGVkIgorbXNnc3RyICJhYW5nZWhlY2h0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NworbXNnaWQgImRldGFjaGVkIgorbXNnc3RyICJvbnRoZWNodCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjgKK21zZ2lkICJjaGFuZ2VkIgorbXNnc3RyICJnZXdpanppZ2QiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IENyZWF0b3IvTGFzdC1vcCBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBHZWRlZWxkIGdlaGV1Z2VuOiBQSUQncyB2YW4gYWFubWFrZXIvbGFhdHN0ZS1vcGVyYXRpZSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3NAorbXNnaWQgImNwaWQiCittc2dzdHIgIm1ha2VyLVBJRCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzQKK21zZ2lkICJscGlkIgorbXNnc3RyICJsYWF0c3RlLVBJRCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEdlZGVlbGQgZ2VoZXVnZW46IHNlZ21lbnRlbiAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MCBzeXMtdXRpbHMvaXBjcy5jOjQwMSBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgImtleSIKK21zZ3N0ciAic2xldXRlbCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODEgc3lzLXV0aWxzL2lwY3MuYzo1MDgKK21zZ2lkICJzaXplIgorbXNnc3RyICJncm9vdHRlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MSBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Nzggc3lzLXV0aWxzL3BybGltaXQuYzo3OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyIHN5cy11dGlscy9wcmxpbWl0LmM6ODYgc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgImJ5dGVzIgorbXNnc3RyICJieXRlcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODIKK21zZ2lkICJuYXR0Y2giCittc2dzdHIgImdlaGVjaHQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgyCittc2dpZCAic3RhdHVzIgorbXNnc3RyICJzdGF0dXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzA2IHN5cy11dGlscy9pcGNzLmM6MzA4IHN5cy11dGlscy9pcGNzLmM6MzEwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQyNCBzeXMtdXRpbHMvaXBjcy5jOjQyNiBzeXMtdXRpbHMvaXBjcy5jOjUzMgorIzogc3lzLXV0aWxzL2lwY3MuYzo1MzQgc3lzLXV0aWxzL2lwY3MuYzo1MzYgc3lzLXV0aWxzL2lwY3MuYzo1OTAKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkyIHN5cy11dGlscy9pcGNzLmM6NjIxIHN5cy11dGlscy9pcGNzLmM6NjIzCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyNSBzeXMtdXRpbHMvaXBjcy5jOjY0OQorbXNnaWQgIk5vdCBzZXQiCittc2dzdHIgIihnZWVuKSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMzYgc3lzLXV0aWxzL2xzaXBjLmM6OTc2IHN5cy11dGlscy9sc2lwYy5jOjk4MgorbXNnaWQgImRlc3QiCittc2dzdHIgImRvZWwiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzM3IHN5cy11dGlscy9sc2lwYy5jOjk3NyBzeXMtdXRpbHMvbHNpcGMuYzo5OTAKK21zZ2lkICJsb2NrZWQiCittc2dzdHIgInZlcmdyZW5kZWxkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM1NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2VtYXBob3JlIGxpbWl0c1xuIgorbXNnc3RyICJrYW4gbGltaWV0ZW4gdmFuIHNlbWFmb3JlbiBuaWV0IGFjaHRlcmhhbGVuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTZW1hZm9yZW46IGdyZW56ZW4gLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBhcnJheXMgPSAlZFxuIgorbXNnc3RyICJtYXhpbXVtIGFhbnRhbCBhcnJheXMgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBwZXIgYXJyYXkgPSAlZFxuIgorbXNnc3RyICJtYXhpbXVtIGFhbnRhbCBzZW1hZm9yZW4gcGVyIGFycmF5ID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICJtYXhpbXVtIGFhbnRhbCBzZW1hZm9yZW4gc3lzdGVlbXdpamQgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggb3BzIHBlciBzZW1vcCBjYWxsID0gJWRcbiIKK21zZ3N0ciAibWF4aW11bSBhYW50YWwgb3BlcmF0aWVzIHBlciBzZW1vcCgpLWFhbnJvZXAgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJzZW1hcGhvcmUgbWF4IHZhbHVlID0gJXVcbiIKK21zZ3N0ciAibWF4aW1hbGUgc2VtYWZvb3J3YWFyZGUgPSAldVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiZGV6ZSBrZXJuZWwga2VudCBnZWVuIHNlbWFmb3JlblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU2VtYWZvcmVuOiBzdGF0dXMgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBhcnJheXMgPSAlZFxuIgorbXNnc3RyICJnZWJydWlrdGUgYXJyYXlzID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHNlbWFwaG9yZXMgPSAlZFxuIgorbXNnc3RyICJnZXJlc2VydmVlcmRlIHNlbWFmb3JlbiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU2VtYWZvcmVuOiBhcnJheWFhbm1ha2Vycy8tZWlnZW5hYXJzIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDAxCittc2dpZCAic2VtaWQiCittc2dzdHIgInNlbS1JRCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBPcGVyYXRpb24vQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTZW1hZm9yZW46IG9wZXJhdGllLS93aWp6aWdpbmdzdGlqZGVuIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyCittc2dpZCAibGFzdC1vcCIKK21zZ3N0ciAibGFhdHN0ZSBvcGVyYXRpZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIKK21zZ2lkICJsYXN0LWNoYW5nZWQiCittc2dzdHIgImxhYXRzdCBnZXdpanppZ2QiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTZW1hZm9yZW46IGFycmF5cyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwMQorbXNnaWQgIm5zZW1zIgorbXNnc3RyICJhYW50YWwiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDU5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBtZXNzYWdlIGxpbWl0c1xuIgorbXNnc3RyICJrYW4gbGltaWV0ZW4gdmFuIGJlcmljaHRlbiBuaWV0IGFjaHRlcmhhbGVuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEJlcmljaHRlbjogZ3JlbnplbiAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggcXVldWVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAibWF4aW11bSBhYW50YWwgd2FjaHRyaWplbiBzeXN0ZWVtd2lqZCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY1Cittc2dpZCAibWF4IHNpemUgb2YgbWVzc2FnZSIKK21zZ3N0ciAibWF4aW11bWdyb290dGUgdmFuIGJlcmljaHQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY3Cittc2dpZCAiZGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSIKK21zZ3N0ciAic3RhbmRhYXJkLW1heGltdW1ncm9vdHRlIHZhbiB3YWNodHJpaiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICJkZXplIGtlcm5lbCBrZW50IGdlZW4gYmVyaWNodHdhY2h0cmlqZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gQmVyaWNodGVuOiBzdGF0dXMgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHF1ZXVlcyA9ICVkXG4iCittc2dzdHIgImdlcmVzZXJ2ZWVyZGUgd2FjaHRyaWplbiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgaGVhZGVycyA9ICVkXG4iCittc2dzdHIgImdlYnJ1aWt0ZSBrb3BwZW4gPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MgorbXNnaWQgInVzZWQgc3BhY2UiCittc2dzdHIgImdlYnJ1aWt0ZSBydWltdGUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgzCittc2dpZCAiIGJ5dGVzXG4iCittc2dzdHIgIiBieXRlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBCZXJpY2h0d2FjaHRyaWplbjogYWFubWFrZXJzL2VpZ2VuYWFycyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OSBzeXMtdXRpbHMvaXBjcy5jOjQ5NSBzeXMtdXRpbHMvaXBjcy5jOjUwMQorIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJtc3FpZCIKK21zZ3N0ciAibXNxLUlEIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgU2VuZC9SZWN2L0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gQmVyaWNodHdhY2h0cmlqZW46IHZlcnplbmQtL29udHZhbmctL3dpanppZ2luZ3N0aWpkZW4gLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJzZW5kIgorbXNnc3RyICJ2ZXJ6ZW5kaW5nIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgInJlY3YiCittc2dzdHIgIm9udHZhbmdzdCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJjaGFuZ2UiCittc2dzdHIgIndpanppZ2luZyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFBJRHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEJlcmljaHR3YWNodHJpamVuOiBQSUQncyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImxzcGlkIgorbXNnc3RyICJsYS56ZS5QSUQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAibHJwaWQiCittc2dzdHIgImxhLm92LlBJRCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBCZXJpY2h0d2FjaHRyaWplbiAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwOAorbXNnaWQgInVzZWQtYnl0ZXMiCittc2dzdHIgImdlYnJ1aWt0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwOQorbXNnaWQgIm1lc3NhZ2VzIgorbXNnc3RyICJiZXJpY2h0ZW4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc0IHN5cy11dGlscy9pcGNzLmM6NjA0IHN5cy11dGlscy9pcGNzLmM6NjM3CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo1MzYgc3lzLXV0aWxzL2xzaXBjLmM6NzIyIHN5cy11dGlscy9sc2lwYy5jOjg3OQorIywgYy1mb3JtYXQKK21zZ2lkICJpZCAlZCBub3QgZm91bmQiCittc2dzdHIgIklEICVkIGlzIG5pZXQgZ2V2b25kZW4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQgbWVtb3J5IFNlZ21lbnQgc2htaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIkdlZGVlbGQgZ2VoZXVnZW5zZWdtZW50IG1ldCBzaG0tSUQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKK21zZ3N0ciAiVUlEPSV1ICBHSUQ9JXUsICBtYWtlci1VSUQ9JXUgIG1ha2VyLUdJRD0ldVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjb1x0YWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICJtb2R1cz0lI28gIHRvZWdhbmdzcmVjaHRlbj0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODQKK21zZ2lkICJzaXplPSIKK21zZ3N0ciAiZ3Jvb3R0ZT0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg0Cittc2dpZCAiYnl0ZXM9IgorbXNnc3RyICJieXRlcz0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg2CisjLCBjLWZvcm1hdAorbXNnaWQgImxwaWQ9JXVcdGNwaWQ9JXVcdG5hdHRjaD0lamRcbiIKK21zZ3N0ciAibGFhdHN0ZS1QSUQ9JXUgIG1ha2VyLVBJRD0ldSAgYWFuaGVjaHRpbmdlbj0lamRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXR0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiYWFuaGVjaHR0aWpkICAgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MQorIywgYy1mb3JtYXQKK21zZ2lkICJkZXRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJvbnRoZWNodHRpamQgICA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkzIHN5cy11dGlscy9pcGNzLmM6NjI0CisjLCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZV90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIndpanppZ2luZ3N0aWpkID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UgUXVldWUgbXNxaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIkJlcmljaHRlbndhY2h0cmlqIG1ldCBtc3EtSUQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG1vZGU9JSNvXG4iCittc2dzdHIgIlVJRD0ldSAgR0lEPSV1LCAgbWFrZXItVUlEPSV1ICBtYWtlci1HSUQ9JXUsICBtb2R1cz0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTMKK21zZ2lkICJjc2l6ZT0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTMKK21zZ2lkICJjYnl0ZXM9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE1Cittc2dpZCAicXNpemU9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE1Cittc2dpZCAicWJ5dGVzPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAidmVyemVuZHRpamQgICA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgInJjdl90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIm9udHZhbmdzdHRpamQgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIEFycmF5IHNlbWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTZW1hZm9vcmFycmF5IG1ldCBzZW0tSUQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKK21zZ3N0ciAiVUlEPSV1ICBHSUQ9JXUsICBtYWtlci1VSUQ9JXUgIG1ha2VyLUdJRD0ldVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0NQorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjbywgYWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICJtb2R1cz0lI28sIHRvZWdhbmdzcmVjaHRlbj0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibnNlbXMgPSAlanVcbiIKK21zZ3N0ciAiYWFudGFsIHNlbWFmb3JlbiA9ICVqdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJvdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgImxhYXRzdGUgb3BlcmF0aWV0aWpkICAgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJjdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgImxhYXRzdGUgd2lqemlnaW5nc3RpamQgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInNlbW51bSIKK21zZ3N0ciAibnVtbWVyIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInZhbHVlIgorbXNnc3RyICJ3YWFyZGUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAibmNvdW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAiemNvdW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAicGlkIgorbXNnc3RyICJQSUQiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjIzMCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzQgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM4CisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkIgorbXNnc3RyICInJXMnIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoYnl0ZXMpID0gIgorbXNnc3RyICIlcyAoYnl0ZXMpID0gIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKGtieXRlcykgPSAiCittc2dzdHIgIiVzIChrYnl0ZXMpID0gIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxODAKK21zZ2lkICJpbnZhbGlkIGlmbGFnIgorbXNnc3RyICJvbmdlbGRpZ2UgaW52b2VydmxhZyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGxkaXNjPiA8ZGV2aWNlPlxuIgorbXNnc3RyICIgICVzIFtvcHRpZXNdIDxsaWpucHJvdG9jb2w+IDxhcHBhcmFhdD5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTk5Cittc2dpZCAiQXR0YWNoIGEgbGluZSBkaXNjaXBsaW5lIHRvIGEgc2VyaWFsIGxpbmUuXG4iCittc2dzdHIgIlN0ZWx0IGVlbiBsaWpucHJvdG9jb2wgaW4gb3AgZWVuIHNlcmnDq2xlIGxpam4uXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIgIC1kLCAtLWRlYnVnICAgICAgICAgICAgdWl0Z2VicmVpZGUgbWVsZGluZ2VuIHRvbmVuIG9wIHN0YW5kYWFyZGZvdXR1aXR2b2VyXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMworbXNnaWQgIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICBzZXQgc2VyaWFsIGxpbmUgc3BlZWRcbiIKK21zZ3N0ciAiICAtcywgLS1zcGVlZCA8Z2V0YWw+ICAgIHNuZWxoZWlkIHZhbiBzZXJpw6tsZSBsaWpuIGluc3RlbGxlblxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDQKK21zZ2lkICIgLWMsIC0taW50cm8tY29tbWFuZCA8c3RyaW5nPiBpbnRybyBzZW50IGJlZm9yZSBsZGF0dGFjaFxuIgorbXNnc3RyICIgIC1jLCAtLWludHJvLWNvbW1hbmQgPHRla3N0PiAgdm9vcm9wZHJhY2h0IHZlcnpvbmRlbiB2b29yIGVpZ2VubGlqa2UgaW5zdGVsbGluZ1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDUKK21zZ2lkICIgLXAsIC0tcGF1c2UgPHNlY29uZHM+ICAgcGF1c2UgYmV0d2VlbiBpbnRybyBhbmQgbGRhdHRhY2hcbiIKK21zZ3N0ciAiICAtcCwgLS1wYXVzZSA8Z2V0YWw+ICAgIGFhbnRhbCBzZWNvbmRlbiBwYXV6ZSB0dXNzZW4gdm9vcm9wZHJhY2h0IGVuIGluc3RlbGxpbmdcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA2Cittc2dpZCAiIC03LCAtLXNldmVuYml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA3IGJpdHNcbiIKK21zZ3N0ciAiICAtNywgLS1zZXZlbmJpdHMgICAgICAgIHpldmVuIGJpdHMgdm9vciDDqcOpbiB0ZWtlbiBnZWJydWlrZW5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA3Cittc2dpZCAiIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA4IGJpdHNcbiIKK21zZ3N0ciAiICAtOCwgLS1laWdodGJpdHMgICAgICAgIGFjaHQgYml0cyB2b29yIMOpw6luIHRla2VuIGdlYnJ1aWtlblxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDgKK21zZ2lkICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgc2V0IHBhcml0eSB0byBub25lXG4iCittc2dzdHIgIiAgLW4sIC0tbm9wYXJpdHkgICAgICAgICBnZWVuIHBhcml0ZWl0c2JpdCBnZWJydWlrZW5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA5Cittc2dpZCAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIHNldCBwYXJpdHkgdG8gZXZlblxuIgorbXNnc3RyICIgIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgZXZlbiBwYXJpdGVpdCBnZWJydWlrZW5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEwCittc2dpZCAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIHNldCBwYXJpdHkgdG8gb2RkXG4iCittc2dzdHIgIiAgLW8sIC0tb2RkcGFyaXR5ICAgICAgICBvbmV2ZW4gcGFyaXRlaXQgZ2VicnVpa2VuXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMQorbXNnaWQgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBzZXQgc3RvcCBiaXRzIHRvIG9uZVxuIgorbXNnc3RyICIgIC0xLCAtLW9uZXN0b3BiaXQgICAgICAgw6nDqW4gc3RvcGJpdCBnZWJydWlrZW5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEyCittc2dpZCAiIC0yLCAtLXR3b3N0b3BiaXRzICAgICAgIHNldCBzdG9wIGJpdHMgdG8gdHdvXG4iCittc2dzdHIgIiAgLTIsIC0tdHdvc3RvcGJpdHMgICAgICB0d2VlIHN0b3BiaXRzIGdlYnJ1aWtlblxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTMKK21zZ2lkICIgLWksIC0taWZsYWcgWy1dPGlmbGFnPiAgc2V0IGlucHV0IG1vZGUgZmxhZ1xuIgorbXNnc3RyICIgIC1pLCAtLWlmbGFnIFstXTx2bGFnPiAgaW52b2VydmxhZyBpbnNjaGFrZWxlbiAob2YgdWl0IG1ldCAnLScpXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxOQorbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8bGRpc2M+IG5hbWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiTW9nZWxpamtlIGxpam5wcm90b2NvbGxlbiB6aWpuOlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMjMKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGlmbGFnPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk1vZ2VsaWprZSBpbnZvZXJ2bGFnZ2VuIHppam46XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0MAorbXNnaWQgImludmFsaWQgc3BlZWQgYXJndW1lbnQiCittc2dzdHIgIm9uZ2VsZGlnZSBzbmVsaGVpZCIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQzCittc2dpZCAiaW52YWxpZCBwYXVzZSBhcmd1bWVudCIKK21zZ3N0ciAib25nZWxkaWdlIHBhdXplZXJ0aWpkIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNTkKK21zZ2lkICJpbnZhbGlkIG9wdGlvbiIKK21zZ3N0ciAib25nZWxkaWdlIG9wdGllIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNzAKK21zZ2lkICJpbnZhbGlkIGxpbmUgZGlzY2lwbGluZSBhcmd1bWVudCIKK21zZ3N0ciAib25nZWxkaWcgbGlqbnByb3RvY29sIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgc2VyaWFsIGxpbmUiCittc2dzdHIgIiVzIGlzIGdlZW4gc2VyacOrbGUgbGlqbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzk3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgImthbiB0ZXJtaW5hbGVpZ2Vuc2NoYXBwZW4gdmFuICVzIG5pZXQgYmVwYWxlbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWVkICVkIHVuc3VwcG9ydGVkIgorbXNnc3RyICJzbmVsaGVpZCAlZCBpcyBuaWV0IG1vZ2VsaWprIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAia2FuIHRlcm1pbmFsZWlnZW5zY2hhcHBlbiB2YW4gJXMgbmlldCBpbnN0ZWxsZW4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgaW50cm8gY29tbWFuZCB0byAlcyIKK21zZ3N0ciAia2FuIHZvb3JvcGRyYWNodCBuaWV0IG5hYXIgJXMgc2NocmlqdmVuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NjkKK21zZ2lkICJjYW5ub3Qgc2V0IGxpbmUgZGlzY2lwbGluZSIKK21zZ3N0ciAia2FuIGxpam5wcm90b2NvbCBuaWV0IGluc3RlbGxlbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDc5Cittc2dpZCAiY2Fubm90IGRhZW1vbml6ZSIKK21zZ3N0ciAia2FuIGVyIGdlZW4gYWNodGVyZ3JvbmRkaWVuc3QgdmFuIG1ha2VuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY4Cittc2dpZCAiYXV0b2NsZWFyIGZsYWcgc2V0IgorbXNnc3RyICInYXV0b2NsZWFyJy12bGFnIGlzIGdlemV0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY5Cittc2dpZCAiZGV2aWNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiYWNodGVybGlnZ2VuZCBhcHBhcmFhdGJlc3RhbmQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzAKK21zZ2lkICJiYWNraW5nIGZpbGUgaW5vZGUgbnVtYmVyIgorbXNnc3RyICJpbm9kZW51bW1lciB2YW4gYWNodGVybGlnZ2VuZCBiZXN0YW5kIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcxCittc2dpZCAiYmFja2luZyBmaWxlIG1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgImhvb2ZkLTpzdWJhcHBhcmFhdG51bW1lciB2YW4gYWNodGVybGlnZ2VuZCBiZXN0YW5kIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcyCittc2dpZCAibG9vcCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibHVzLWFwcGFyYWF0bmFhbSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MworbXNnaWQgIm9mZnNldCBmcm9tIHRoZSBiZWdpbm5pbmciCittc2dzdHIgInBvc2l0aWUgdmFuYWYgaGV0IGJlZ2luIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc0Cittc2dpZCAicGFydHNjYW4gZmxhZyBzZXQiCittc2dzdHIgIidwYXJ0c2NhbictdmxhZyBpcyBnZXpldCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NgorbXNnaWQgInNpemUgbGltaXQgb2YgdGhlIGZpbGUgaW4gYnl0ZXMiCittc2dzdHIgImdyb290dGVsaW1pZXQgdmFuIGJlc3RhbmQgaW4gYnl0ZXMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzcKK21zZ2lkICJsb29wIGRldmljZSBtYWpvcjptaW5vciBudW1iZXIiCittc2dzdHIgImhvb2ZkLTpzdWJhcHBhcmFhdG51bW1lciB2YW4gbHVzLWFwcGFyYWF0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4Cittc2dpZCAiYWNjZXNzIGJhY2tpbmcgZmlsZSB3aXRoIGRpcmVjdC1pbyIKK21zZ3N0ciAiYWNodGVybGlnZ2VuZCBiZXN0YW5kIG1ldCBkaXJlY3QtSU8gYmVuYWRlcmVuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzNSBzeXMtdXRpbHMvbG9zZXR1cC5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICIsIG9mZnNldCAlanUiCittc2dzdHIgIiwgYmVnaW5wdW50ICVqdSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxMzggc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBzaXplbGltaXQgJWp1IgorbXNnc3RyICIsIG1heGltYWxlIGdyb290dGUgJWp1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1OAorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVuY3J5cHRpb24gJXMgKHR5cGUgJXUpIgorbXNnc3RyICIsIHZlcnNsZXV0ZWxpbmcgJXMgKHNvb3J0ICV1KSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRldGFjaCBmYWlsZWQiCittc2dzdHIgIiVzOiBvbnRoZWNodGVuIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzI5IHN5cy11dGlscy9sc2NwdS5jOjE3MzUgc3lzLXV0aWxzL3BybGltaXQuYzoyMjkKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxNzYgc3lzLXV0aWxzL3dkY3RsLmM6MjE1IHN5cy11dGlscy96cmFtY3RsLmM6NDA1Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGxpbmUiCittc2dzdHIgImluaXRpYWxpc2VyZW4gdmFuIHVpdHZvZXJyZWdlbCBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIFs8bG9vcGRldj5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGxvb3BkZXY+IDxmaWxlPlxuIgorbXNnc3RyICIiCisiICAlMSRzIFtvcHRpZXNdIFs8bHVzLWFwcGFyYWF0PiB8IC1mXVxuIgorIiAgJTEkcyBbb3B0aWVzXSA8bHVzLWFwcGFyYWF0PiA8YmVzdGFuZD5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODYKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgbG9vcCBkZXZpY2VzLlxuIgorbXNnc3RyICJJbml0aWFsaXNlZXJ0IGVuIGJlaGVlcnQgbHVzLWFwcGFyYXRlbi5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgbGlzdCBhbGwgdXNlZCBkZXZpY2VzXG4iCittc2dzdHIgIiAgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgICAgYWxsZSBnZWJydWlrdGUgbHVzLWFwcGFyYXRlbiB0b25lblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MAorbXNnaWQgIiAtZCwgLS1kZXRhY2ggPGxvb3BkZXY+Li4uICAgICBkZXRhY2ggb25lIG9yIG1vcmUgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1kLCAtLWRldGFjaCA8bHVzLWFwcGFyYWF0Pi4uLiAgIGRlemUgYXBwYXJhdGVuIG9udGhlY2h0ZW5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTEKK21zZ2lkICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiICAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICAgICBhbGxlIGdlYnJ1aWt0ZSBsdXMtYXBwYXJhdGVuIG9udGhlY2h0ZW5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTIKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZmluZCBmaXJzdCB1bnVzZWQgZGV2aWNlXG4iCittc2dzdHIgIiAgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgICAgZWVyc3RlIG9uZ2VicnVpa3RlIGx1cy1hcHBhcmFhdCB0b25lblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MworbXNnaWQgIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICByZXNpemUgdGhlIGRldmljZVxuIgorbXNnc3RyICIgIC1jLCAtLXNldC1jYXBhY2l0eSA8bHVzLWFwcGFyYWF0PiAgZGUgZ3Jvb3R0ZSB2YW4gZGl0IGFwcGFyYWF0IHdpanppZ2VuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk0Cittc2dpZCAiIC1qLCAtLWFzc29jaWF0ZWQgPGZpbGU+ICAgICAgIGxpc3QgYWxsIGRldmljZXMgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorbXNnc3RyICIgIC1qLCAtLWFzc29jaWF0ZWQgPGJlc3RhbmQ+ICAgICAgIGdlcmVsYXRlZXJkZW4gYWFuIGRpdCBiZXN0YW5kIHRvbmVuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk1Cittc2dpZCAiIC1MLCAtLW5vb3ZlcmxhcCAgICAgICAgICAgICAgIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0IGJldHdlZW4gZGV2aWNlc1xuIgorbXNnc3RyICIgIC1MLCAtLW5vb3ZlcmxhcCAgICAgICAgICAgICAgICAgIHZlcm1pamQgbW9nZWxpamtlIGNvbmZsaWN0ZW4gdHVzc2VuIGFwcGFyYXRlblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5OQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBzdGFydCBhdCBvZmZzZXQgPG51bT4gaW50byBmaWxlXG4iCittc2dzdHIgIiAgLW8sIC0tb2Zmc2V0IDxnZXRhbD4gICAgICBvcCBkZXplIHBvc2l0aWUgaW4gaGV0IGJlc3RhbmQgYmVnaW5uZW5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDAKK21zZ2lkICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZGV2aWNlIGlzIGxpbWl0ZWQgdG8gPG51bT4gYnl0ZXMgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiICAgICAgLS1zaXplbGltaXQgPGdldGFsPiAgIHNsZWNodHMgZGl0IGFhbnRhbCBieXRlcyB2YW4gYmVzdGFuZCBnZWJydWlrZW5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDEKK21zZ2lkICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgY3JlYXRlIGEgcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiICAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgIGdlcGFydGl0aW9uZWVyZCBsdXMtYXBwYXJhYXQgYWFubWFrZW5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDIKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0IHVwIGEgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICBlZW4gYWxsZWVuLWxlemVuIGx1cy1hcHBhcmFhdCBpbnN0ZWxsZW5cbiIKKworIyBGSVhNRTogbm8gYW5nbGVzCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMworbXNnaWQgIiAgICAgLS1kaXJlY3QtaW9bPTxvbnxvZmY+XSAgICBvcGVuIGJhY2tpbmcgZmlsZSB3aXRoIE9fRElSRUNUXG4iCittc2dzdHIgIiAgICAgIC0tZGlyZWN0LWlvWz1vbnxvZmZdICBhY2h0ZXJsaWdnZW5kIGJlc3RhbmQgd2VsL25pZXQgbWV0IE9fRElSRUNUIG9wZW5lblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNAorbXNnaWQgIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSBhZnRlciBzZXR1cCAod2l0aCAtZilcbiIKK21zZ3N0ciAiICAgICAgLS1zaG93ICAgICAgICAgICAgICAgIGFwcGFyYWF0bmFhbSB0b25lbiBuYSBpbnN0ZWxsZW4gKG1ldCAnLWYnKVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiICAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIGdlZGV0YWlsbGVlcmRlIHVpdHZvZXIgcHJvZHVjZXJlblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwOQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBsaXN0IGluZm8gYWJvdXQgYWxsIG9yIHNwZWNpZmllZCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtbCwgLS1saXN0ICAgICAgICAgICAgICAgIGluZm9ybWF0aWUgdG9uZW4gKG92ZXIgYWxsZSBvZiBnZWdldmVuIGFwcGFyYWF0KVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMAorbXNnaWQgIiAtTywgLS1vdXRwdXQgPGNvbHM+ICAgICAgICAgICBzcGVjaWZ5IGNvbHVtbnMgdG8gb3V0cHV0IGZvciAtLWxpc3RcbiIKK21zZ3N0ciAiICAtTywgLS1vdXRwdXQgPGxpanN0PiAgICAgIHRlIHRvbmVuIGtvbG9tbWVuIGluIGRlIHVpdHZvZXIgdmFuICctLWxpc3QnXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDExCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLWxpc3Qgb3V0cHV0XG4iCittc2dzdHIgIiAgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBiaWogJy0tbGlzdCcgZ2VlbiBrb3ByZWdlbCB0b25lblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMgorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1c2UgcmF3IC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgIC0tcmF3ICAgICAgICAgICAgICAgICByYXV3ZSB1aXR2b2VyIHByb2R1Y2VyZW4gdm9vciAnLS1saXN0J1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMworbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgdWl0dm9lciBpbiBKU09OLW9wbWFhayBwcm9kdWNlcmVuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE5Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSAtLWxpc3QgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkJlc2NoaWtiYXJlIGtvbG9tbWVuIHZvb3IgJy0tbGlzdCc6XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGlzIHNtYWxsZXIgdGhhbiA1MTIgYnl0ZXM7IHRoZSBsb29wIGRldmljZSBtYXkgYmUgdXNlbGVzcyBvciBpbnZpc2libGUgZm9yIHN5c3RlbSB0b29scy4iCittc2dzdHIgIiVzOiBXYWFyc2NodXdpbmc6IGhldCBiZXN0YW5kIGlzIGtsZWluZXIgZGFuIDUxMiBieXRlcyAtLSBoZXQgbHVzLWFwcGFyYWF0IGthbiBvbmJydWlrYmFhciB6aWpuIG9mIHplbGZzIG9uemljaHRiYWFyIHZvb3Igc3lzdGVlbXByb2dyYW1tYSdzLiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFdhcm5pbmc6IGZpbGUgZG9lcyBub3QgZml0IGludG8gYSA1MTItYnl0ZSBzZWN0b3I7IHRoZSBlbmQgb2YgdGhlIGZpbGUgd2lsbCBiZSBpZ25vcmVkLiIKK21zZ3N0ciAiJXM6IFdhYXJzY2h1d2luZzogaGV0IGJlc3RhbmQgcGFzdCBuaWV0IGluIGVlbiA1MTItYnl0ZSBzZWN0b3IgLS0gaGV0IGVpbmRlIHZhbiBoZXQgYmVzdGFuZCB3b3JkdCBnZW5lZ2VlcmQuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ2NCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUxNiBzeXMtdXRpbHMvbW91bnQuYzo0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiJXM6IGVyIGlzIGVlbiBvdmVybGFwcGVuZCBsdXMtYXBwYXJhYXQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyByZWFkLW9ubHkgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlczogZXIgaXMgZWVuIG92ZXJsYXBwZW5kIGFsbGVlbi1sZXplbiBsdXMtYXBwYXJhYXQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBlbmNyeXB0ZWQgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlczogZXIgaXMgZWVuIG92ZXJsYXBwZW5kIHZlcnNsZXV0ZWxkIGx1cy1hcHBhcmFhdCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZS11c2UgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiBoZXJnZWJydWlrIHZhbiBsdXMtYXBwYXJhYXQgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0OTQKK21zZ2lkICJmYWlsZWQgdG8gaW5zcGVjdCBsb29wIGRldmljZXMiCittc2dzdHIgImluc3BlY3RlcmVuIHZhbiBsdXMtYXBwYXJhdGVuIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY2hlY2sgZm9yIGNvbmZsaWN0aW5nIGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAiJXM6IGNvbnRyb2xlIG9wIGNvbmZsaWN0ZXJlbmRlIGx1cy1hcHBhcmF0ZW4gaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1Mjkgc3lzLXV0aWxzL2xvc2V0dXAuYzo4MjYKK21zZ2lkICJjYW5ub3QgZmluZCBhbiB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgImthbiBnZWVuIG9uZ2VicnVpa3QgbHVzLWFwcGFyYWF0IHZpbmRlbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgYmFja2luZyBmaWxlIgorbXNnc3RyICIlczoga2FuIGFjaHRlcmxpZ2dlbmQgYmVzdGFuZCBuaWV0IGdlYnJ1aWtlbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2MzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDEgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NTMKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzY3IHN5cy11dGlscy9sb3NldHVwLmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGRldmljZSIKK21zZ3N0ciAiJXM6IGdlYnJ1aWsgdmFuIGFwcGFyYWF0IGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzY0Cittc2dpZCAibm8gbG9vcCBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJnZWVuIGx1cy1hcHBhcmFhdCBnZWdldmVuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3MgorbXNnaWQgIm5vIGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICJnZWVuIGJlc3RhbmRzbmFhbSBnZWdldmVuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgb3B0aW9ucyAlcyBhcmUgYWxsb3dlZCBkdXJpbmcgbG9vcCBkZXZpY2Ugc2V0dXAgb25seSIKK21zZ3N0ciAiZGUgb3B0aWVzICclcycgemlqbiBhbGxlZW4gdG9lZ2VzdGFhbiBiaWogaW5zdGVsbGVuIHZhbiBsdXMtYXBwYXJhYXQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzg0Cittc2dpZCAidGhlIG9wdGlvbiAtLW9mZnNldCBpcyBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgImRlIG9wdGllICctLW9mZnNldCcgaXMgbmlldCB0b2VnZXN0YWFuIGluIGRlemUgY29udGV4dCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBjYXBhY2l0eSBmYWlsZWQiCittc2dzdHIgIiVzOiBpbnN0ZWxsZW4gdmFuIGNhcGFjaXRlaXQgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBkaXJlY3QgaW8gZmFpbGVkIgorbXNnc3RyICIlczogaW5zdGVsbGVuIHZhbiBkaXJlY3QtSU8gaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTA4Cittc2dpZCAibm9uZSIKK21zZ3N0ciAiZ2VlbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTA5Cittc2dpZCAicGFyYSIKK21zZ3N0ciAic2VtaSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTEwCittc2dpZCAiZnVsbCIKK21zZ3N0ciAiY29tcGxlZXQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjExMQorbXNnaWQgImNvbnRhaW5lciIKK21zZ3N0ciAiY29udGFpbmVyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzMKK21zZ2lkICJob3Jpem9udGFsIgorbXNnc3RyICJob3Jpem9udGFhbCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0Cittc2dpZCAidmVydGljYWwiCittc2dzdHIgInZlcnRpY2FhbCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ2Cittc2dpZCAibG9naWNhbCBDUFUgbnVtYmVyIgorbXNnc3RyICJsb2dpc2NoIENQVS1udW1tZXIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0NworbXNnaWQgImxvZ2ljYWwgY29yZSBudW1iZXIiCittc2dzdHIgImxvZ2lzY2gga2Vybm51bW1lciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ4Cittc2dpZCAibG9naWNhbCBzb2NrZXQgbnVtYmVyIgorbXNnc3RyICJsb2dpc2NoIHNvY2tldC1udW1tZXIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0OQorbXNnaWQgImxvZ2ljYWwgTlVNQSBub2RlIG51bWJlciIKK21zZ3N0ciAibG9naXNjaCBOVU1BLW5vZGUtbnVtbWVyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTAKK21zZ2lkICJsb2dpY2FsIGJvb2sgbnVtYmVyIgorbXNnc3RyICJsb2dpc2NoIGJvZWtudW1tZXIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MQorbXNnaWQgImxvZ2ljYWwgZHJhd2VyIG51bWJlciIKK21zZ3N0ciAibG9naXNjaCBsYWRlbnVtbWVyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTIKK21zZ2lkICJzaG93cyBob3cgY2FjaGVzIGFyZSBzaGFyZWQgYmV0d2VlbiBDUFVzIgorbXNnc3RyICJ0b29udCBob2UgY2FjaGVzIGdlZGVlbGQgd29yZGVuIHR1c3NlbiBDUFUncyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUzCittc2dpZCAiQ1BVIGRpc3BhdGNoaW5nIG1vZGUgb24gdmlydHVhbCBoYXJkd2FyZSIKK21zZ3N0ciAiZGlzcGF0Y2hpbmctbW9kdXMgdmFuIENQVSBvcCB2aXJ0dWVsZSBoYXJkd2FyZSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU0Cittc2dpZCAicGh5c2ljYWwgYWRkcmVzcyBvZiBhIENQVSIKK21zZ3N0ciAiZnlzaWVrIGFkcmVzIHZhbiBlZW4gQ1BVIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTUKK21zZ2lkICJzaG93cyBpZiB0aGUgaHlwZXJ2aXNvciBoYXMgYWxsb2NhdGVkIHRoZSBDUFUiCittc2dzdHIgInRvb250IG9mIGRlIGh5cGVydmlzb3IgZGUgQ1BVIHRvZWdld2V6ZW4gaGVlZnQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NgorbXNnaWQgInNob3dzIGlmIExpbnV4IGN1cnJlbnRseSBtYWtlcyB1c2Ugb2YgdGhlIENQVSIKK21zZ3N0ciAidG9vbnQgb2YgTGludXggZGUgQ1BVIG1vbWVudGVlbCBnZWJydWlrdCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU3Cittc2dpZCAic2hvd3MgdGhlIG1heGltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgInRvb250IGRlIG1heGltYWxlIHByb2Nlc3NvcmZyZXF1ZW50aWUgaW4gTUh6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTgKK21zZ2lkICJzaG93cyB0aGUgbWluaW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAidG9vbnQgZGUgbWluaW1hbGUgcHJvY2Vzc29yZnJlcXVlbnRpZSBpbiBNSHoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjU1MAorbXNnaWQgImVycm9yOiB1bmFtZSBmYWlsZWQiCittc2dzdHIgImZvdXQ6IHVuYW1lKCkgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZXRlcm1pbmUgbnVtYmVyIG9mIENQVXM6ICVzIgorbXNnc3RyICJiZXBhbGVuIHZhbiBhYW50YWwgcHJvY2Vzc29yZW4gaXMgbWlzbHVrdDogJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjg5MQorbXNnaWQgImVycm9yOiBjYW4gbm90IHNldCBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiZm91dDoga2FuIGdlZW4gc2lnbmFhbHZlcndlcmtlciBpbnN0ZWxsZW4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjg5NgorbXNnaWQgImVycm9yOiBjYW4gbm90IHJlc3RvcmUgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgImZvdXQ6IGthbiBzaWduYWFsdmVyd2Vya2VyIG5pZXQgaGVyc3RlbGxlbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIGZyb206ICVzIgorbXNnc3RyICJsZXplbiB2YW4gJXMgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQxMAorbXNnaWQgIkZhaWxlZCB0byBleHRyYWN0IHRoZSBub2RlIG51bWJlciIKK21zZ3N0ciAia2FuIG5vZGUtbnVtbWVyIG5pZXQgYWNodGVyaGFsZW4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1Mzcgc3lzLXV0aWxzL2xzY3B1LmM6MTU0NworbXNnaWQgIlkiCittc2dzdHIgIkoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1Mzcgc3lzLXV0aWxzL2xzY3B1LmM6MTU0NworbXNnaWQgIk4iCittc2dzdHIgIk4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyXG4iCisiIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRFxuIgorIiMgc3RhcnRpbmcgZnJvbSB6ZXJvLlxuIgorbXNnc3RyICIiCisiIyBIaWVyb25kZXIgdm9sZ3QgZGUgb250bGVlZGJhcmUgdWl0dm9lciBkaWUgYWxzIGludm9lciB2b29yXG4iCisiIyBhbmRlcmUgcHJvZ3JhbW1hJ3MgZ2VicnVpa3Qga2FuIHdvcmRlbi4gIEVsayB2ZXJzY2hpbGxlbmRcbiIKKyIjIGl0ZW0gaW4gZWxrZSBrb2xvbSBoZWVmdCBlZW4gdW5pZWsgSUQsIGJlZ2lubmVuZCBiaWogbnVsLlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzgxCittc2dpZCAiQXJjaGl0ZWN0dXJlOiIKK21zZ3N0ciAiQXJjaGl0ZWN0dXVyOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc5NQorbXNnaWQgIkNQVSBvcC1tb2RlKHMpOiIKK21zZ3N0ciAiQ1BVLW1vZHVzKHNlbik6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzk4IHN5cy11dGlscy9sc2NwdS5jOjE4MDAKK21zZ2lkICJCeXRlIE9yZGVyOiIKK21zZ3N0ciAiQnl0ZXZvbGdvcmRlOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwMgorbXNnaWQgIkNQVShzKToiCittc2dzdHIgIkNQVSdzOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwNQorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICJPbmxpbmUgQ1BVJ3MtbWFza2VyOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwNgorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICJPbmxpbmUgQ1BVJ3MtbGlqc3Q6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI1Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICJPZmZsaW5lIENQVSdzLW1hc2tlcjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjYKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIk9mZmxpbmUgQ1BVJ3MtbGlqc3Q6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODYyCittc2dpZCAiVGhyZWFkKHMpIHBlciBjb3JlOiIKK21zZ3N0ciAiRHJhZGVuIHBlciBrZXJuOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2NAorbXNnaWQgIkNvcmUocykgcGVyIHNvY2tldDoiCittc2dzdHIgIktlcm5lbiBwZXIgdm9ldDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjcKK21zZ2lkICJTb2NrZXQocykgcGVyIGJvb2s6IgorbXNnc3RyICJWb2V0ZW4gcGVyIGJvZWs6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODcwCittc2dpZCAiQm9vayhzKSBwZXIgZHJhd2VyOiIKK21zZ3N0ciAiQm9la2VuIHBlciBsYWRlOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3MgorbXNnaWQgIkRyYXdlcihzKToiCittc2dzdHIgIkxhZGVzOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3NAorbXNnaWQgIkJvb2socyk6IgorbXNnc3RyICJCb2VrZW46IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODc3Cittc2dpZCAiU29ja2V0KHMpOiIKK21zZ3N0ciAiQ1BVLXZvZXRlbjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODEKK21zZ2lkICJOVU1BIG5vZGUocyk6IgorbXNnc3RyICJOVU1BLW5vZGVzOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MworbXNnaWQgIlZlbmRvciBJRDoiCittc2dzdHIgIlByb2R1Y2VudC1JRDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODUKK21zZ2lkICJNYWNoaW5lIHR5cGU6IgorbXNnc3RyICJNYWNoaW5ldHlwZToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODcKK21zZ2lkICJDUFUgZmFtaWx5OiIKK21zZ3N0ciAiQ1BVLWZhbWlsaWU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg5Cittc2dpZCAiTW9kZWw6IgorbXNnc3RyICJNb2RlbDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTEKK21zZ2lkICJNb2RlbCBuYW1lOiIKK21zZ3N0ciAiTW9kZWxuYWFtOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5MworbXNnaWQgIlN0ZXBwaW5nOiIKK21zZ3N0ciAiU3RlcHBpbmc6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk1Cittc2dpZCAiQ1BVIE1IejoiCittc2dzdHIgIkNQVS1mcmVxdWVudGllIChNSHopOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5NworbXNnaWQgIkNQVSBkeW5hbWljIE1IejoiCittc2dzdHIgImR5bmFtaXNjaGUgQ1BVLWZyZXF1ZW50aWUgKE1Ieik6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk5Cittc2dpZCAiQ1BVIHN0YXRpYyBNSHo6IgorbXNnc3RyICJ2YXN0ZSBDUFUtZnJlcXVlbnRpZSAoTUh6KToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDEKK21zZ2lkICJDUFUgbWF4IE1IejoiCittc2dzdHIgIm1heC4gQ1BVLWZyZXF1ZW50aWUgKE1Ieik6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAzCittc2dpZCAiQ1BVIG1pbiBNSHo6IgorbXNnc3RyICJtaW4uIENQVS1mcmVxdWVudGllIChNSHopOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNQorbXNnaWQgIkJvZ29NSVBTOiIKK21zZ3N0ciAiQm9nb01JUFM6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA4IHN5cy11dGlscy9sc2NwdS5jOjE5MTAKK21zZ2lkICJWaXJ0dWFsaXphdGlvbjoiCittc2dzdHIgIlZpcnR1YWxpc2F0aWU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEzCittc2dpZCAiSHlwZXJ2aXNvcjoiCittc2dzdHIgIkh5cGVydmlzb3I6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE1Cittc2dpZCAiSHlwZXJ2aXNvciB2ZW5kb3I6IgorbXNnc3RyICJIeXBlcnZpc29ycHJvZHVjZW50OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxNgorbXNnaWQgIlZpcnR1YWxpemF0aW9uIHR5cGU6IgorbXNnc3RyICJWaXJ0dWFsaXNhdGllc29vcnQ6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE5Cittc2dpZCAiRGlzcGF0Y2hpbmcgbW9kZToiCittc2dzdHIgIkRpc3BhdGNoaW5nLW1vZHVzOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkyNSBzeXMtdXRpbHMvbHNjcHUuYzoxOTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNhY2hlOiIKK21zZ3N0ciAiJXMtY2FjaGU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTUEgbm9kZSVkIENQVShzKToiCittc2dzdHIgIk5VTUEtbm9kZSVkIENQVSgncyk6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQ2Cittc2dpZCAiRmxhZ3M6IgorbXNnc3RyICJWbGFnZ2VuOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0OQorbXNnaWQgIlBoeXNpY2FsIHNvY2tldHM6IgorbXNnc3RyICJGeXNpZWtlIHZvZXRlbjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NTAKK21zZ2lkICJQaHlzaWNhbCBjaGlwczoiCittc2dzdHIgIkZ5c2lla2UgY2hpcHM6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTUxCittc2dpZCAiUGh5c2ljYWwgY29yZXMvY2hpcDoiCittc2dzdHIgIkZ5c2lla2UgY29yZXMvY2hpcDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjMKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBDUFUgYXJjaGl0ZWN0dXJlLlxuIgorbXNnc3RyICJUb29udCBpbmZvcm1hdGllIG92ZXIgZGUgcHJvY2Vzc29yYXJjaGl0ZWN0dXVyLlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY2Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IGJvdGggb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIgorbXNnc3RyICIgIC1hLCAtLWFsbCAgICAgICAgICAgICAgIG9ubGluZSBlbiBvZmZsaW5lIENQVSdzIHRvbmVuIChzdGFuZGFhcmQgYmlqICctZScpXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjcKK21zZ2lkICIgLWIsIC0tb25saW5lICAgICAgICAgICAgcHJpbnQgb25saW5lIENQVXMgb25seSAoZGVmYXVsdCBmb3IgLXApXG4iCittc2dzdHIgIiAgLWIsIC0tb25saW5lICAgICAgICAgICAgYWxsZWVuIG9ubGluZSBDUFUncyB0b25lbiAoc3RhbmRhYXJkIGJpaiAnLXAnKVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY4Cittc2dpZCAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iCittc2dzdHIgIiAgLWMsIC0tb2ZmbGluZSAgICAgICAgICAgYWxsZWVuIG9mZmxpbmUgQ1BVJ3MgdG9uZW5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2OQorbXNnaWQgIiAtZSwgLS1leHRlbmRlZFs9PGxpc3Q+XSBwcmludCBvdXQgYW4gZXh0ZW5kZWQgcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLWUsIC0tZXh0ZW5kZWRbPUxJSlNUXSAgdWl0Z2VicmVpZGUsIGxlZXNiYXJlIHVpdHZvZXIgcHJvZHVjZXJlblxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcwCittc2dpZCAiIC1wLCAtLXBhcnNlWz08bGlzdD5dICAgIHByaW50IG91dCBhIHBhcnNhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC1wLCAtLXBhcnNlWz1MSUpTVF0gICAgIG9udGxlZWRiYXJlIHVpdHZvZXIgcHJvZHVjZXJlblxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcxCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHVzZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iCittc2dzdHIgIiAgLXMsIC0tc3lzcm9vdCBNQVAgICAgICAgZGV6ZSBtYXAgYWxzIGhvb2ZkbWFwIGdlYnJ1aWtlblxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcyCittc2dpZCAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHByaW50IGhleGFkZWNpbWFsIG1hc2tzIHJhdGhlciB0aGFuIGxpc3RzIG9mIENQVXNcbiIKK21zZ3N0ciAiICAteCwgLS1oZXggICAgICAgICAgICAgICBoZXhhZGVjaW1hbGUgbWFza2VycyB0b25lbiBpbiBwbGFhdHMgdmFuIGxpanN0ZW5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MworbXNnaWQgIiAteSwgLS1waHlzaWNhbCAgICAgICAgICBwcmludCBwaHlzaWNhbCBpbnN0ZWFkIG9mIGxvZ2ljYWwgSURzXG4iCittc2dzdHIgIiAgLXksIC0tcGh5c2ljYWwgICAgICAgICAgZnlzaWVrZSBpbiBwbGFhdHMgdmFuIGxvZ2lzY2hlIElEcyB0b25lblxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvcHRpb25zIC0tYWxsLCAtLW9ubGluZSBhbmQgLS1vZmZsaW5lIG1heSBvbmx5IGJlIHVzZWQgd2l0aCBvcHRpb25zIC0tZXh0ZW5kZWQgb3IgLS1wYXJzZS5cbiIKK21zZ3N0ciAiIgorIiVzOiBkZSBvcHRpZXMgJy0tYWxsJywgJy0tb25saW5lJywgZW4gJy0tb2ZmbGluZScga3VubmVuXG4iCisiYWxsZWVuIGdlYnJ1aWt0IHdvcmRlbiBzYW1lbiBtZXQgJy0tZXh0ZW5kZWQnIG9mICctLXBhcnNlJ1xuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNDkKK21zZ2lkICJSZXNvdXJjZSBrZXkiCittc2dzdHIgIkh1bHBicm9uc2xldXRlbCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5Cittc2dpZCAiS2V5IgorbXNnc3RyICJTbGV1dGVsIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJSZXNvdXJjZSBJRCIKK21zZ3N0ciAiSHVscGJyb24tSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorbXNnaWQgIklEIgorbXNnc3RyICJJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCittc2dpZCAiT3duZXIncyB1c2VybmFtZSBvciBVSUQiCittc2dzdHIgIkdlYnJ1aWtlcnNuYWFtIG9mIFVJRCB2YW4gZWlnZW5hYXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyIgorbXNnc3RyICJFaWdlbmFhciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUyCittc2dpZCAiUGVybWlzc2lvbnMiCittc2dzdHIgIlRvZWdhbmdzcmVjaHRlbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUzCittc2dpZCAiQ3JlYXRvciBVSUQiCittc2dzdHIgIlVJRCB2YW4gbWFrZXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NAorbXNnaWQgIkNyZWF0b3IgdXNlciIKK21zZ3N0ciAiTWFrZXJzbmFhbSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU1Cittc2dpZCAiQ3JlYXRvciBHSUQiCittc2dzdHIgIkdJRCB2YW4gbWFrZXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NgorbXNnaWQgIkNyZWF0b3IgZ3JvdXAiCittc2dzdHIgIk1ha2Vyc2dyb2VwIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKK21zZ2lkICJVc2VyIElEIgorbXNnc3RyICJHZWJydWlrZXJzLUlEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKK21zZ2lkICJVSUQiCittc2dzdHIgIlVJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU4Cittc2dpZCAiVXNlciBuYW1lIgorbXNnc3RyICJHZWJydWlrZXJzbmFhbSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR3JvdXAgSUQiCittc2dzdHIgIkdyb2Vwcy1JRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR0lEIgorbXNnc3RyICJHSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MAorbXNnaWQgIkdyb3VwIG5hbWUiCittc2dzdHIgIkdyb2Vwc25hYW0iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3QgY2hhbmdlIgorbXNnc3RyICJUaWpkIHZhbiBsYWF0c3RlIHdpanppZ2luZyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCittc2dpZCAiTGFzdCBjaGFuZ2UiCittc2dzdHIgIkxhYXRzdCBnZXdpanppZ2QiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NAorbXNnaWQgIkJ5dGVzIHVzZWQiCittc2dzdHIgIkdlYnJ1aWt0ZSBieXRlcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2VzIgorbXNnc3RyICJBYW50YWwgYmVyaWNodGVuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKK21zZ2lkICJNZXNzYWdlcyIKK21zZ3N0ciAiQmVyaWNodGVuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHNlbnQiCittc2dzdHIgIlZlcnplbmR0aWpkIHZhbiBsYWF0c3RlIGJlcmljaHQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIk1zZyBzZW50IgorbXNnc3RyICJWZXJ6b25kZW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgcmVjZWl2ZWQiCittc2dzdHIgIk9udHZhbmdzdHRpamQgdmFuIGxhYXRzdGUgYmVyaWNodCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiTXNnIHJlY2VpdmVkIgorbXNnc3RyICJPbnR2YW5nc3QiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgc2VuZGVyIgorbXNnc3RyICJQSUQgdmFuIGxhYXRzdGUgemVuZGVyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjgKK21zZ2lkICJNc2cgc2VuZGVyIgorbXNnc3RyICJBZnplbmRlciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyByZWNlaXZlciIKK21zZ3N0ciAiUElEIHZhbiBsYWF0c3RlIG9udHZhbmdlciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiTXNnIHJlY2VpdmVyIgorbXNnc3RyICJPbnR2YW5nZXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MgorbXNnaWQgIlNlZ21lbnQgc2l6ZSIKK21zZ3N0ciAiU2VnbWVudGdyb290dGUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MworbXNnaWQgIk51bWJlciBvZiBhdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIkFhbnRhbCBhYW5nZWhlY2h0ZSBwcm9jZXNzZW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MworbXNnaWQgIkF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAiQWFuZ2VoZWNodGUgcHJvY2Vzc2VuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzQKK21zZ2lkICJTdGF0dXMiCittc2dzdHIgIlN0YXR1cyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc1Cittc2dpZCAiQXR0YWNoIHRpbWUiCittc2dzdHIgIkFhbmdlaGVjaHQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NgorbXNnaWQgIkRldGFjaCB0aW1lIgorbXNnc3RyICJPbnRoZWNodCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3Cittc2dpZCAiQ3JlYXRvciBjb21tYW5kIGxpbmUiCittc2dzdHIgIkFhbm1hYWtvcGRyYWNodHJlZ2VsIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQiCittc2dzdHIgIkFhbm1hYWtvcGRyYWNodCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiUElEIG9mIHRoZSBjcmVhdG9yIgorbXNnc3RyICJQSUQgdmFuIGRlIGFhbW1ha2VyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJDcmVhdG9yIFBJRCIKK21zZ3N0ciAiUElEIHZhbiBtYWtlciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiUElEIG9mIGxhc3QgdXNlciIKK21zZ3N0ciAiUElEIHZhbiBsYWF0c3RlIGdlYnJ1aWtlciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiTGFzdCB1c2VyIFBJRCIKK21zZ3N0ciAiTGFhdHN0ZSBQSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJBYW50YWwgc2VtYWZvcmVuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODIKK21zZ2lkICJTZW1hcGhvcmVzIgorbXNnc3RyICJTZW1hZm9yZW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICJUaWpkIHZhbiBsYWF0c3RlIGJld2Vya2luZyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCittc2dpZCAiTGFzdCBvcGVyYXRpb24iCittc2dzdHIgIkxhYXRzdGUgYmV3ZXJraW5nIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKK21zZ2lkICJSZXNvdXJjZSBuYW1lIgorbXNnc3RyICJOYWFtIHZhbiBodWxwYnJvbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2Cittc2dpZCAiUmVzb3VyY2UiCittc2dzdHIgIkh1bHBicm9uIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJSZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiT21zY2hyaWp2aW5nIHZhbiBodWxwYnJvbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg3Cittc2dpZCAiRGVzY3JpcHRpb24iCittc2dzdHIgIk9tc2NocmlqdmluZyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiQ3VycmVudGx5IHVzZWQiCittc2dzdHIgIk1vbWVudGVlbCBnZWJydWlrdCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiVXNlZCIKK21zZ3N0ciAiR2VicnVpa3QiCisKKyMgRklYTUU6IGdyYW1tYXIKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorbXNnaWQgIkN1cnJlbnRseSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAiR2VicnVpa3NwZXJjZW50YWdlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKK21zZ2lkICJVc2UiCittc2dzdHIgIkdlYiUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIlN5c3RlbS13aWRlIGxpbWl0IgorbXNnc3RyICJTeXN0ZWVtd2lqZGUgbGltaWV0IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJMaW1pdCIKK21zZ3N0ciAiTGltaWV0IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29sdW1uICVzIGRvZXMgbm90IGFwcGx5IHRvIHRoZSBzcGVjaWZpZWQgSVBDIgorbXNnc3RyICJrb2xvbSAlcyBpcyBuaWV0IHZhbiB0b2VwYXNzaW5nIG9wIGRlIGdlZ2V2ZW4gSVBDIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODcKK21zZ2lkICIgLWcsIC0tZ2xvYmFsICAgICAgaW5mbyBhYm91dCBzeXN0ZW0td2lkZSB1c2FnZSAobWF5IGJlIHVzZWQgd2l0aCAtbSwgLXEgYW5kIC1zKVxuIgorbXNnc3RyICIgIC1nLCAtLWdsb2JhbCAgICAgICBpbmZvIHRvbmVuIG92ZXIgc3lzdGVlbXdpamQgZ2VicnVpayAobWV0ICctbScsICctcScgb2YgJy1zJylcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg4Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gICAgIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiAgLWksIC0taWQgPElEPiAgICAgIGRldGFpbHMgd2VlcmdldmVuIG92ZXIgZGUgbWV0IDxJRD4gYWFuZ2VnZXZlbiBodWxwYnJvblxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTQKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLWIsIC0tYnl0ZXMgICAgICAgIGdyb290dGUgaW4gYnl0ZXMgd2VlcmdldmVuIGluIHBsYWF0cyB2YW4gaW4gbGVlc2JhcmUgdm9ybVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTUKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiICAtYywgLS1jcmVhdG9yICAgICAgYWFubWFrZXIgZW4gZWlnZW5hYXIgdG9uZW5cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk3Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICB1c2UgdGhlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1KLCAtLWpzb24gICAgICAgICB1aXR2b2VyIGluIEpTT04tb3BtYWFrIHByb2R1Y2VyZW5cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICBmb3JjZSBsaXN0IG91dHB1dCBmb3JtYXQgKGZvciBleGFtcGxlIHdpdGggLS1pZClcbiIKK21zZ3N0ciAiICAtbCwgLS1saXN0ICAgICAgICAgdWl0dm9lciBpbiB2b3JtIHZhbiBsaWpzdCBhZmR3aW5nZW4gKGIudi4gbWV0ICctLWlkJylcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAxCittc2dpZCAiIC1QLCAtLW51bWVyaWMtcGVybXMgICAgICBwcmludCBudW1lcmljIHBlcm1pc3Npb25zIChQRVJNUyBjb2x1bW4pXG4iCittc2dzdHIgIiAgLVAsIC0tbnVtZXJpYy1wZXJtcyAgICB0b2VnYW5nc3JlY2h0ZW4gbnVtZXJpZWsgd2VlcmdldmVuIChQRVJNUy1rb2xvbSlcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAzCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiICAtdCwgLS10aW1lICAgICAgICAgYWFuaGVjaHRpbmdzLSwgb250aGVjaHRpbmdzLSBlbiB3aWp6aWdpbmdzdGlqZGVuIHRvbmVuXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiR2VuZXJpYyBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisiXG4iCisiQWxnZW1lbmUga29sb21tZW46XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkLW1lbW9yeSBjb2x1bW5zICgtLXNobWVtcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJLb2xvbW1lbiB2b29yIGdlZGVlbGQgZ2VoZXVnZW4gKC0tc2htZW1zKTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlLXF1ZXVlIGNvbHVtbnMgKC0tcXVldWVzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIktvbG9tbWVuIHZvb3IgYmVyaWNodHdhY2h0cmlqZW4gKC0tcXVldWVzKTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgY29sdW1ucyAoLS1zZW1hcGhvcmVzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIktvbG9tbWVuIHZvb3Igc2VtYWZvcmVuICgtLXNlbWFwaG9yZXMpOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlN1bW1hcnkgY29sdW1ucyAoLS1nbG9iYWwpOlxuIgorbXNnc3RyICIiCisiXG4iCisiU2FtZW52YXR0aW5nc2tvbG9tbWVuICgtLWdsb2JhbCk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjQxMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRWxlbWVudHM6XG4iCisiXG4iCittc2dzdHIgIiIKKyJFbGVtZW50ZW46XG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwNQorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmUgaWRlbnRpZmllcnMiCittc2dzdHIgIkFhbnRhbCBzZW1hZm9vcmlkZW50aWZpZXJzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDYKK21zZ2lkICJUb3RhbCBudW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAiVG90YWFsIGFhbnRhbCBzZW1hZm9yZW4iCisKKyMgRklYTUU6IHBlcmlvZD8KKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwNworbXNnaWQgIk1heCBzZW1hcGhvcmVzIHBlciBzZW1hcGhvcmUgc2V0LiIKK21zZ3N0ciAiTWF4aW11bSBhYW50YWwgc2VtYWZvcmVuIHBlciBzZW1hZm9vcnNldCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA4Cittc2dpZCAiTWF4IG51bWJlciBvZiBvcGVyYXRpb25zIHBlciBzZW1vcCgyKSIKK21zZ3N0ciAiTWF4aW11bSBhYW50YWwgYmV3ZXJraW5nZW4gcGVyIHNlbW9wKDIpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDkKK21zZ2lkICJTZW1hcGhvcmUgbWF4IHZhbHVlIgorbXNnc3RyICJNYXhpbWFsZSBzZW1hZm9vcndhYXJkZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODYzCittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICJBYW50YWwgYmVyaWNodHdhY2h0cmlqZW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg2NAorbXNnaWQgIk1heCBzaXplIG9mIG1lc3NhZ2UgKGJ5dGVzKSIKK21zZ3N0ciAiTWF4aW11bWdyb290dGUgdmFuIGJlcmljaHQgKGJ5dGVzKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODY1Cittc2dpZCAiRGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSAoYnl0ZXMpIgorbXNnc3RyICJTdGFuZGFhcmQtbWF4aW11bWdyb290dGUgdmFuIHdhY2h0cmlqIChieXRlcykiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk3OCBzeXMtdXRpbHMvbHNpcGMuYzo5OTcKK21zZ2lkICJodWdldGxiIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk3OSBzeXMtdXRpbHMvbHNpcGMuYzoxMDA0Cittc2dpZCAibm9yZXNlcnZlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjEKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIgorbXNnc3RyICJHZWRlZWxkZ2VoZXVnZW4tc2VnbWVudGVuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDYyCittc2dpZCAiU2hhcmVkIG1lbW9yeSBwYWdlcyIKK21zZ3N0ciAiR2VkZWVsZGdlaGV1Z2VuLXBhZ2luYSdzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDYzCittc2dpZCAiTWF4IHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIm1heGltdW1ncm9vdHRlIHZhbiBnZWRlZWxkZSBnZWhldWdlbnNlZ21lbnRlbiAoYnl0ZXMpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDY0Cittc2dpZCAiTWluIHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIm1pbmltdW1ncm9vdHRlIHZhbiBnZWRlZWxkZSBnZWhldWdlbnNlZ21lbnRlbiAoYnl0ZXMpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMTM1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElQQyBpZGVudGlmaWVyIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gSVBDLWlkZW50aWZpZXIgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTIyOQorbXNnaWQgIi0tZ2xvYmFsIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tY3JlYXRvciwgLS1pZCBhbmQgLS10aW1lIgorbXNnc3RyICJvcHRpZSAnLS1nbG9iYWwnIGdhYXQgbmlldCBzYW1lbiBtZXQgJy0tY3JlYXRvcicsICctLWlkJyBvZiAnLS10aW1lJyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4MworbXNnaWQgIm5hbWVzcGFjZSBpZGVudGlmaWVyIChpbm9kZSBudW1iZXIpIgorbXNnc3RyICJuYWFtc3J1aW10ZS1pZGVudGlmaWVyIChpbm9kZW51bW1lcikiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODQKK21zZ2lkICJraW5kIG9mIG5hbWVzcGFjZSIKK21zZ3N0ciAic29vcnQgbmFhbXNydWltdGUiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODUKK21zZ2lkICJwYXRoIHRvIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgInBhZCBuYWFyIGRlIG5hYW1zcnVpbXRlIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg2Cittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJhYW50YWwgcHJvY2Vzc2VuIGluIGRlIG5hYW1zcnVpbXRlIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg3Cittc2dpZCAibG93ZXN0IFBJRCBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJsYWFnc3RlIFBJRCBpbiBkZSBuYWFtc3J1aW10ZSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OAorbXNnaWQgIlBQSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiUFBJRCB2YW4gZGUgUElEIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5Cittc2dpZCAiY29tbWFuZCBsaW5lIG9mIHRoZSBQSUQiCittc2dzdHIgIm9wZHJhY2h0cmVnZWwgdmFuIGRlIFBJRCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MAorbXNnaWQgIlVJRCBvZiB0aGUgUElEIgorbXNnc3RyICJVSUQgdmFuIGRlIFBJRCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MQorbXNnaWQgInVzZXJuYW1lIG9mIHRoZSBQSUQiCittc2dzdHIgImdlYnJ1aWtlcnNuYWFtIHZhbiBkZSBQSUQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxuYW1lc3BhY2U+XVxuIgorbXNnc3RyICIgICVzIFtvcHRpZXNdIFs8bmFhbXNydWltdGU+XVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYxNgorbXNnaWQgIkxpc3Qgc3lzdGVtIG5hbWVzcGFjZXMuXG4iCittc2dzdHIgIlNvbXQgZGUgbmFhbXNydWltdGVzIGluIGhldCBzeXN0ZWVtIG9wLlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYyMworbXNnaWQgIiAtcCwgLS10YXNrIDxwaWQ+ICAgICAgIHByaW50IHByb2Nlc3MgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgIC1wLCAtLXRhc2sgPFBJRD4gICAgICAgcHJvY2VzbmFhbXNydWltdGVuIHRvbmVuXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjI2CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlIDxuYW1lPiAgICAgIG5hbWVzcGFjZSB0eXBlIChtbnQsIG5ldCwgaXBjLCB1c2VyLCBwaWQsIHV0cywgY2dyb3VwKVxuIgorbXNnc3RyICIgIC10LCAtLXR5cGUgPG5hYW0+ICAgICAgc29vcnQgbmFhbXNydWltdGUgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzKVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjcxNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG5hbWVzcGFjZSB0eXBlOiAlcyIKK21zZ3N0ciAib25iZWtlbmQgc29vcnQgbmFhbXNydWltdGU6ICVzIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjczNQorbXNnaWQgIi0tdGFzayBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8bmFtZXNwYWNlPiIKK21zZ3N0ciAib3B0aWUgJy0tdGFzaycgZ2FhdCBuaWV0IHNhbWVuIG1ldCA8bmFhbXNydWltdGU+IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjczNgorbXNnaWQgImludmFsaWQgbmFtZXNwYWNlIGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZyBuYWFtc3J1aW10ZWFyZ3VtZW50IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjc3NAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZm91bmQgbmFtZXNwYWNlOiAlanUiCittc2dzdHIgIm5pZXQgZ2V2b25kZW4gbmFhbXNydWltdGU6ICVqdSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjYgc3lzLXV0aWxzL3Vtb3VudC5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24gKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICJhbGxlZW4gcm9vdCBrYW4gb3B0aWUgJy0tJXMnIGdlYnJ1aWtlbiAgKGVmZmVjdGlldmUgVUlEIGlzICV1KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njkgc3lzLXV0aWxzL3Vtb3VudC5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICJhbGxlZW4gcm9vdCBrYW4gZGF0IGRvZW4gIChlZmZlY3RpZXZlIFVJRCBpcyAldSkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjczIHN5cy11dGlscy91bW91bnQuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIgorbXNnc3RyICJhbGxlZW4gcm9vdCBrYW4gb3B0aWUgJy0tJXMnIGdlYnJ1aWtlbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzQgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKK21zZ3N0ciAiYWxsZWVuIHJvb3Qga2FuIGRhdCBkb2VuIgorCisjIEZJWE1FOiBwYXJlbnRoZXNpcz8KKyM6IHN5cy11dGlscy9tb3VudC5jOjg1IHN5cy11dGlscy91bW91bnQuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzIChsaWJtb3VudCAlcyIKK21zZ3N0ciAiJyVzJyB1aXQgJXMgKGxpYm1vdW50ICVzKSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTMwCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbXRhYiIKK21zZ3N0ciAibGV6ZW4gdmFuIG10YWIgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkyIHN5cy11dGlscy91bW91bnQuYzoyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGlnbm9yZWRcbiIKK21zZ3N0ciAiJS0yNXM6IGdlbmVnZWVyZFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGFscmVhZHkgbW91bnRlZFxuIgorbXNnc3RyICIlLTI1czogaXMgYWwgYWFuZ2Vrb3BwZWxkXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI0OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW92ZWQgdG8gJXMuXG4iCittc2dzdHIgIiVzOiAlcyBpcyB2ZXJwbGFhdHN0IG5hYXIgJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBib3VuZCBvbiAlcy5cbiIKK21zZ3N0ciAiJXM6ICVzIGlzIGluZ2Vib25kZW4gb3AgJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjU0IHN5cy11dGlscy9tb3VudC5jOjI1OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW91bnRlZCBvbiAlcy5cbiIKK21zZ3N0ciAiJXM6ICVzIGlzIGFhbmdla29wcGVsZCBvcCAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIHByb3BhZ2F0aW9uIGZsYWdzIGNoYW5nZWQuXG4iCittc2dzdHIgIiVzOiAlcyBkb29yZ2F2ZXZsYWdnZW4gemlqbiBnZXdpanppZ2QuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjMxMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibW91bnQ6ICVzIGRvZXMgbm90IGNvbnRhaW4gU0VMaW51eCBsYWJlbHMuXG4iCisiICAgICAgIFlvdSBqdXN0IG1vdW50ZWQgYW4gZmlsZSBzeXN0ZW0gdGhhdCBzdXBwb3J0cyBsYWJlbHMgd2hpY2ggZG9lcyBub3RcbiIKKyIgICAgICAgY29udGFpbiBsYWJlbHMsIG9udG8gYW4gU0VMaW51eCBib3guIEl0IGlzIGxpa2VseSB0aGF0IGNvbmZpbmVkXG4iCisiICAgICAgIGFwcGxpY2F0aW9ucyB3aWxsIGdlbmVyYXRlIEFWQyBtZXNzYWdlcyBhbmQgbm90IGJlIGFsbG93ZWQgYWNjZXNzIHRvXG4iCisiICAgICAgIHRoaXMgZmlsZSBzeXN0ZW0uICBGb3IgbW9yZSBkZXRhaWxzIHNlZSByZXN0b3JlY29uKDgpIGFuZCBtb3VudCg4KS5cbiIKK21zZ3N0ciAiIgorIm1vdW50OiAlcyBiZXZhdCBnZWVuIFNFTGludXgtbGFiZWxzLlxuIgorIiAgICBVIGhlYnQgem9qdWlzdCBvcCBlZW4gU0VMaW51eC1jb21wdXRlciBlZW4gYmVzdGFuZHNzeXN0ZWVtIGFhbmdla29wcGVsZCBkYXRcbiIKKyIgICAgbGFiZWxzIG9uZGVyc3RldW50IG1hYXIgZXIgZ2VlbiBiZXZhdC4gIFdhYXJzY2hpam5saWprIHp1bGxlbiBpbmdlcGVya3RlXG4iCisiICAgIHByb2dyYW1tYSdzIEFWQy1iZXJpY2h0ZW4gZ2VuZXJlcmVuIGVuIGdlZW4gdG9lZ2FuZyB0b3QgZGl0IGJlc3RhbmRzc3lzdGVlbVxuIgorIiAgICBrdW5uZW4ga3Jpamdlbi4gIFZvb3IgbWVlciBkZXRhaWxzIHppZSByZXN0b3JlY29uKDgpIGVuIG1vdW50KDgpLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozNzgKK21zZ2lkICJXQVJOSU5HOiBmYWlsZWQgdG8gYXBwbHkgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgIldBQVJTQ0hVV0lORzogdG9lcGFzc2VuIHZhbiBkb29yZ2F2ZXZsYWdnZW4gaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCittc2dzdHIgImFsbGVlbiByb290IGthbiAlcyBhYW5rb3BwZWxlbiBvcCAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCIKK21zZ3N0ciAiJXMgaXMgYWwgYWFuZ2Vrb3BwZWxkIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgdXNlZCBhcyByZWFkIG9ubHkgbG9vcCwgbW91bnRpbmcgcmVhZC1vbmx5IgorbXNnc3RyICIlcyB3b3JkdCBnZWJydWlrdCBhbHMgYWxsZWVuLWxlemVuIGx1czsgd29yZHQgYWxzIGFsbGVlbi1sZXplbiBhYW5nZWtvcHBlbGQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kICVzIGluICVzIgorbXNnc3RyICJrYW4gJXMgbmlldCB2aW5kZW4gaW4gJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyMworIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50cG9pbnQgJXMgaW4gJXMiCittc2dzdHIgImthbiBhYW5rb3BwZWxpbmdzcHVudCAlcyBuaWV0IHZpbmRlbiBpbiAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDI2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgc291cmNlICVzIGluICVzIgorbXNnc3RyICJrYW4gYWFua29wcGVsaW5nc2Jyb24gJXMgbmlldCB2aW5kZW4gaW4gJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXM6IG1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQuIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sXG4iCisiICAgICAgIHVzZSAtdCA8dHlwZT4gdG8gZXhwbGljaXRseSBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUgb3JcbiIKKyIgICAgICAgdXNlIHdpcGVmcyg4KSB0byBjbGVhbiB1cCB0aGUgZGV2aWNlLiIKK21zZ3N0ciAiIgorIiVzOiBFciB6aWpuIG1lZXJkZXJlIGJlc3RhbmRzc3lzdGVtZW4gZ2VkZXRlY3RlZXJkLlxuIgorIiAgICBEaXQgem91IG5pZXQgbW9nZW4gZ2ViZXVyZW4uICBHZWJydWlrICctdCBTT09SVCcgb20gZXhwbGljaWV0IGRlXG4iCisiICAgIGJlc3RhbmRzc3lzdGVlbXNvb3J0IGFhbiB0ZSBnZXZlbiwgb2YgZ2VicnVpayB3aXBlZnMoOCkgb20gaGV0XG4iCisiICAgIGFwcGFyYWF0IG9wIHRlIHNjaG9uZW4uIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzYKK21zZ2lkICJJIGNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGZpbGVzeXN0ZW0gdHlwZSwgYW5kIG5vbmUgd2FzIHNwZWNpZmllZCIKK21zZ3N0ciAia2FuIGJlc3RhbmRzc3lzdGVlbXNvb3J0IG5pZXQgYmVwYWxlbiwgZW4gZXIgaXMgZ2VlbiBhYW5nZWdldmVuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzkKK21zZ2lkICJ5b3UgbXVzdCBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgInUgbW9ldCBlZW4gYmVzdGFuZHNzeXN0ZWVtc29vcnQgYWFuZ2V2ZW4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kICVzIgorbXNnc3RyICJrYW4gJXMgbmlldCB2aW5kZW4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0NworbXNnaWQgIm1vdW50IHNvdXJjZSBub3QgZGVmaW5lZCIKK21zZ3N0ciAiYWFua29wcGVsaW5nc2Jyb24gaXMgbmlldCBnZWRlZmluaWVlcmQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1MSBzeXMtdXRpbHMvbW91bnQuYzo0NTMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAib250bGVkZW4gdmFuIGFhbmtvcHBlbGluZ3NvcHRpZXMgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0dXAgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiBpbnN0ZWxsZW4gdmFuIGx1cy1hcHBhcmFhdCBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50IGZhaWxlZCIKK21zZ3N0ciAiJXM6IGFhbmtvcHBlbGVuIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmlsZXN5c3RlbSBtb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorbXNnc3RyICIlczogYmVzdGFuZHNzeXN0ZWVtIGlzIGFhbmdla29wcGVsZCwgbWFhciBtb3VudCg4KSBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0ODkgc3lzLXV0aWxzL21vdW50LmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50ICVzIGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiYWFua29wcGVsaW5nc3B1bnQgJXMgaXMgZ2VlbiBtYXAiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ5MworbXNnaWQgIm11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKK21zZ3N0ciAidSBtb2V0IHJvb3QgemlqbiBvbSBhYW4gdGUga3VubmVuIGtvcHBlbGVuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYnVzeSIKK21zZ3N0ciAiJXMgaXMgYmV6aWciCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb3IgJXMgYnVzeSIKK21zZ3N0ciAiJXMgaXMgYWwgYWFuZ2Vrb3BwZWxkIG9mICVzIGlzIGJlemlnIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorbXNnc3RyICIgICAgICAgJXMgaXMgYWwgYWFuZ2Vrb3BwZWxkIG9wICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUyNQorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiYWFua29wcGVsaW5nc3B1bnQgJXMgYmVzdGFhdCBuaWV0IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgJXMgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCittc2dzdHIgImFhbmtvcHBlbGluZ3NwdW50ICVzIGlzIGVlbiBzeW1ib2xpc2NoZSBrb3BwZWxpbmcgZGllIG5lcmdlbnMgbmFhciB3aWpzdCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJhcHBhcmFhdCAlcyBiZXN0YWF0IG5pZXQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUzNiBzeXMtdXRpbHMvbW91bnQuYzo1Mzggc3lzLXV0aWxzL21vdW50LmM6NTQwCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NTUKK21zZ2lkICJtb3VudCgyKSBmYWlsZWQiCittc2dzdHIgIm1vdW50KDIpIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU1MQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpIgorbXNnc3RyICJhcHBhcmFhdCAlcyBiZXN0YWF0IG5pZXQgIChoZXQgcGFkIGJldmF0IGlldHMgZGF0IGdlZW4gbWFwIGlzKSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCittc2dzdHIgIiVzIGlzIG5vZyBuaWV0IGFhbmdla29wcGVsZCwgb2YgZWVuIG9uZ2VsZGlnZSBvcHRpZSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudHBvaW50IG9yIGJhZCBvcHRpb24iCittc2dzdHIgIiVzIGlzIGdlZW4gYWFua29wcGVsaW5nc3B1bnQgb2YgZWVuIG9uZ2VsZGlnZSBvcHRpZSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTY1Cittc2dpZCAiIgorImJhZCBvcHRpb24uIE5vdGUgdGhhdCBtb3ZpbmcgYSBtb3VudCByZXNpZGluZyB1bmRlciBhIHNoYXJlZFxuIgorIiAgICAgICBtb3VudCBpcyB1bnN1cHBvcnRlZC4iCittc2dzdHIgIiIKKyJvbmdlbGRpZ2Ugb3B0aWUgLS0gaGV0IHZlcnBsYWF0c2VuIHZhbiBlZW4gYWFua29wcGVsaW5nXG4iCisib25kZXIgZWVuIGdlZGVlbGRlIGFhbmtvcHBlbGluZyB3b3JkdCBuaWV0IG9uZGVyc3RldW5kIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIndyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLFxuIgorIiAgICAgICBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKK21zZ3N0ciAiIgorIm9uanVpc3RlIGJlc3RhbmRzc3lzdGVlbXNvb3J0LCBvbmdlbGRpZ2Ugb3B0aWUsIG9udGJyZWtlbmRlIGNvZGVwYWdpbmEsXG4iCisiICAgICAgIG9udGJyZWtlbmQgaHVscHByb2dyYW1tYSwgc2xlY2h0IHN1cGVyYmxvayBvcCAlcywgb2YgZWVuIGFuZGVyZSBmb3V0IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgICAoZm9yIHNldmVyYWwgZmlsZXN5c3RlbXMgKGUuZy4gbmZzLCBjaWZzKSB5b3UgbWlnaHRcbiIKKyIgICAgICAgbmVlZCBhIC9zYmluL21vdW50Ljx0eXBlPiBoZWxwZXIgcHJvZ3JhbSlcbiIKK21zZ3N0ciAiIgorIiAgICAgICAodm9vciBzb21taWdlIGJlc3RhbmRzc3lzdGVtZW4gKGJpanZvb3JiZWVsZCBuZnMgb2YgY2lmcykga2FuXG4iCisiICAgICAgIGVlbiAvc2Jpbi9tb3VudC48dHlwZT4gaHVscHByb2dyYW1tYSBub2RpZyB6aWpuKVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiAgICAgICBJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGlzIGZvdW5kIGluIHN5c2xvZyAtIHRyeVxuIgorIiAgICAgICBkbWVzZyB8IHRhaWwgb3Igc28uXG4iCittc2dzdHIgIiIKKyJcbiIKKyIgICAgICAgU29tcyBzdGFhdCBlciBudXR0aWdlIGluZm9ybWF0aWUgaW4gaGV0IHN5c3RlZW1sb2cgLS1cbiIKKyIgICAgICAgcHJvYmVlciB6b2lldHMgYWxzOiAgZG1lc2cgfCB0YWlsXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU4MworbXNnaWQgIm1vdW50IHRhYmxlIGZ1bGwiCittc2dzdHIgImFhbmtvcHBlbGluZ3N0YWJlbCBpcyB2b2wiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIgorbXNnc3RyICIlczoga2FuIHN1cGVyYmxvayBuaWV0IGxlemVuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKK21zZ3N0ciAib25iZWtlbmRlIGJlc3RhbmRzc3lzdGVlbXNvb3J0ICclcyciCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU5NAorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJvbmJla2VuZGUgYmVzdGFuZHNzeXN0ZWVtc29vcnQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UsIGFuZCBzdGF0KDIpIGZhaWxzPyIKK21zZ3N0ciAiJXMgaXMgZ2VlbiBibG9rLWFwcGFyYWF0LCBlbiBzdGF0KDIpIGlzIG1pc2x1a3QuLi4gaGVlbCB2cmVlbWQiCisKKyMgRklYTUU6IGJhY2t0aWNrCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInRoZSBrZXJuZWwgZG9lcyBub3QgcmVjb2duaXplICVzIGFzIGEgYmxvY2sgZGV2aWNlXG4iCisiICAgICAgIChtYXliZSBgbW9kcHJvYmUgZHJpdmVyJz8pIgorbXNnc3RyICIiCisiZGUga2VybmVsIGhlcmtlbnQgJXMgbmlldCBhbHMgZWVuIGJsb2stYXBwYXJhYXRcbiIKKyIgICAgICAgKG1pc3NjaGllbiBpcyAnbW9kcHJvYmUgc3R1dXJwcm9ncmFtbWEnIG5vZGlnPykiCisKKyMgRklYTUU6IGJhY2t0aWNrCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIChtYXliZSB0cnkgYC1vIGxvb3AnPykiCittc2dzdHIgIiVzIGlzIGdlZW4gYmxvay1hcHBhcmFhdCAgKG1pc3NjaGllbiAnLW8gbG9vcCcgcHJvYmVyZW4/KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiAlcyBpcyBnZWVuIGJsb2stYXBwYXJhYXQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzIGlzIGdlZW4gZ2VsZGlnIGJsb2stYXBwYXJhYXQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQgJXMgcmVhZC1vbmx5IgorbXNnc3RyICJrYW4gJXMgbmlldCBhYW5rb3BwZWxlbiB2b29yIGFsbGVlbi1sZXplbiIKKworIyBGSVhNRTogYmFja3RpY2sKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IGAtdycgZmxhZyBnaXZlbiIKK21zZ3N0ciAiJXMgaXMgc2NocmlqZmJldmVpbGlnZCwgbWFhciBleHBsaWNpZXRlIG9wdGllICctdycgaXMgZ2VnZXZlbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjI4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZW1vdW50ICVzIHJlYWQtd3JpdGUsIGlzIHdyaXRlLXByb3RlY3RlZCIKK21zZ3N0ciAia2FuICVzIG5pZXQgaGVyYWFua29wcGVsZW4gYWxzIGxlemVuLWVuLXNjaHJpanZlbiwgd2FudCBpcyBzY2hyaWpmYmV2ZWlsaWdkIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MzEgc3lzLXV0aWxzL21vdW50LmM6NjU0IHN5cy11dGlscy91bnNoYXJlLmM6MTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAiYWFua29wcGVsZW4gdmFuICVzIG9wICVzIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50aW5nIHJlYWQtb25seSIKK21zZ3N0ciAiJXMgaXMgc2NocmlqZmJldmVpbGlnZCBlbiB3b3JkdCBhbHMgYWxsZWVuLWxlemVuIGFhbmdla29wcGVsZCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKK21zZ3N0ciAiZ2VlbiBtZWRpdW0gZ2V2b25kZW4gb3AgJXMiCisKKyMgRklYTUU6IGZhaWxlZCB0byBwYXJzZSBXSEFUPworIzogc3lzLXV0aWxzL21vdW50LmM6Njc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UiCittc2dzdHIgIiVzOiBvbnRsZWRlbiBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3B0aW9uIGZvcm1hdDogJXMiCittc2dzdHIgIm9uZ2VsZGlnZSBvcHRpZS1vcG1hYWs6ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFwcGVuZCBvcHRpb24gJyVzJyIKK21zZ3N0ciAiaGV0IGFjaHRlcnZvZWdlbiB2YW4gb3B0aWUgJyVzJyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbGhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2VdIDxzb3VyY2U+IHwgWy0tdGFyZ2V0XSA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIDxvcGVyYXRpb24+IDxtb3VudHBvaW50PiBbPHRhcmdldD5dXG4iCittc2dzdHIgIiIKKyIgICUxJHMgWy1obFZdIHwgLWEgW29wdGllc11cbiIKKyIgICUxJHMgW29wdGllc10gWy0tc291cmNlXSA8YnJvbj4gfCBbLS10YXJnZXRdIDxtYXA+XG4iCisiICAlMSRzIFtvcHRpZXNdIDxicm9uPiA8bWFwPlxuIgorIiAgJTEkcyA8YmV3ZXJraW5nPiA8YWFua29wcGVsaW5nc3B1bnQ+IFs8ZG9lbD5dXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0NAorbXNnaWQgIk1vdW50IGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiS29wcGVsdCBlZW4gYmVzdGFuZHNzeXN0ZWVtIGFhbi5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW91bnQgYWxsIGZpbGVzeXN0ZW1zIG1lbnRpb25lZCBpbiBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgbW91bnQoMikgc3lzY2FsbFxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBmb3JrIG9mZiBmb3IgZWFjaCBkZXZpY2UgKHVzZSB3aXRoIC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8cGF0aD4gICAgICBhbHRlcm5hdGl2ZSBmaWxlIHRvIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiAgLWksIC0taW50ZXJuYWwtb25seSAgICAgICBuaWV0IGRlICd1bW91bnQuPHR5cGU+JyBodWxwcHJvZ3JhbW1hJ3MgZ2VicnVpa2VuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NgorIywgYy1mb3JtYXQKK21zZ2lkICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgc2hvdyBhbHNvIGZpbGVzeXN0ZW0gbGFiZWxzXG4iCittc2dzdHIgIiAgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgICBvb2sgZGUgbGFiZWxzIHZhbiBiZXN0YW5kc3N5c3RlbWVuIHRvbmVuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1OCBzeXMtdXRpbHMvdW1vdW50LmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIGRvbid0IHdyaXRlIHRvIC9ldGMvbXRhYlxuIgorbXNnc3RyICIgIC1uLCAtLW5vLW10YWIgICAgICAgICAgICAgbmlldCBuYWFyIC9ldGMvbXRhYiBzY2hyaWp2ZW5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbW91bnQgb3B0aW9uc1xuIgorIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC1vbmx5IChzYW1lIGFzIC1vIHJvKVxuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1zb3VyY2UgPHNyYz4gICAgICBleHBsaWNpdGx5IHNwZWNpZmllcyBzb3VyY2UgKHBhdGgsIGxhYmVsLCB1dWlkKVxuIgorIiAgICAgLS10YXJnZXQgPHRhcmdldD4gICBleHBsaWNpdGx5IHNwZWNpZmllcyBtb3VudHBvaW50XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzY4IHN5cy11dGlscy91bW91bnQuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgdG9uZW4gd2F0IGVyIGdlZGFhbiB3b3JkdFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtd3JpdGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgICBiZXN0YW5kc3N5c3RlZW0gYWFua29wcGVsZW4gYWxzIGxlemVuLXNjaHJpanZlblxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNvdXJjZTpcbiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGF0aFxuIgorIiA8ZGlyZWN0b3J5PiAgICAgICAgICAgICBtb3VudHBvaW50IGZvciBiaW5kIG1vdW50cyAoc2VlIC0tYmluZC9yYmluZClcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICAgcmVndWxhciBmaWxlIGZvciBsb29wZGV2IHNldHVwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcGVyYXRpb25zOlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgc29tZXdoZXJlIGVsc2UgKHNhbWUgYXMgLW8gYmluZClcbiIKKyIgLU0sIC0tbW92ZSAgICAgICAgICAgICAgbW92ZSBhIHN1YnRyZWUgdG8gc29tZSBvdGhlciBwbGFjZVxuIgorIiAtUiwgLS1yYmluZCAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgYW5kIGFsbCBzdWJtb3VudHMgc29tZXdoZXJlIGVsc2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXNsYXZlICAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXByaXZhdGUgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICBtYXJrIGEgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6ODAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1yc2xhdmUgICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjg4NyBzeXMtdXRpbHMvdW1vdW50LmM6NTQ4Cittc2dpZCAibGlibW91bnQgY29udGV4dCBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAiZ2VoZXVnZW5yZXNlcnZlcmluZyB2b29yIGxpYm1vdW50LWNvbnRleHQgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6OTQ0IHN5cy11dGlscy91bW91bnQuYzo2MDEKK21zZ2lkICJmYWlsZWQgdG8gc2V0IG9wdGlvbnMgcGF0dGVybiIKK21zZ3N0ciAiaGV0IGluc3RlbGxlbiB2YW4gaGV0IG9wdGllcy1wYXRyb29uIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEwOTcKK21zZ2lkICJzb3VyY2Ugc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJicm9uIGlzIG1lZXIgZGFuIGVlbnMgZ2VnZXZlbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstcWRdIC9wYXRoL3RvL2RpcmVjdG9yeVxuIgorIiAlMSRzIC14IC9kZXYvZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgICUxJHMgWy1xZF0gL3BhZC9uYWFyL21hcFxuIgorIiAgJTEkcyAteCAvZGV2L2FwcGFyYWF0XG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTIyCittc2dpZCAiQ2hlY2sgd2hldGhlciBhIGRpcmVjdG9yeSBvciBmaWxlIGlzIGEgbW91bnRwb2ludC5cbiIKK21zZ3N0ciAiQ29udHJvbGVlcnQgb2YgZWVuIG1hcCBvZiBiZXN0YW5kIGVlbiBhYW5rb3BwZWxpbmdzcHVudCBpcy5cbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjUKK21zZ2lkICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICBxdWlldCBtb2RlIC0gZG9uJ3QgcHJpbnQgYW55dGhpbmdcbiIKKyIgLWQsIC0tZnMtZGV2bm8gICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgZmlsZXN5c3RlbVxuIgorIiAteCwgLS1kZXZubyAgICAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBibG9jayBkZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAgLXEsIC0tcXVpZXQgICAgICAgc3RpbGxlIG1vZHVzOyBuaWV0cyB3ZWVyZ2V2ZW5cbiIKKyIgIC1kLCAtLWZzLWRldm5vICAgIGhvb2ZkLTpzdWJhcHBhcmFhdG51bW1lciB2YW4gYmVzdGFuZHNzeXN0ZWVtIHRvbmVuXG4iCisiICAteCwgLS1kZXZubyAgICAgICBob29mZC06c3ViYXBwYXJhYXRudW1tZXIgdmFuIGJsb2stYXBwYXJhYXQgdG9uZW5cbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyBpcyBnZWVuIGFhbmtvcHBlbGluZ3NwdW50XG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyBpcyBlZW4gYWFua29wcGVsaW5nc3B1bnRcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkzIHN5cy11dGlscy91bnNoYXJlLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXVxuIgorbXNnc3RyICIgICVzIFtvcHRpZXNdIDxwcm9ncmFtbWE+IFs8YXJndW1lbnQ+Li4uXVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjc2Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIG5hbWVzcGFjZXMgb2Ygb3RoZXIgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICJEcmFhaXQgZWVuIHByb2dyYW1tYSBtZXQgZGUgbmFhbXNydWltdGVzIHZhbiBhbmRlcmUgcHJvY2Vzc2VuLlxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjc5Cittc2dpZCAiIC10LCAtLXRhcmdldCA8cGlkPiAgICAgdGFyZ2V0IHByb2Nlc3MgdG8gZ2V0IG5hbWVzcGFjZXMgZnJvbVxuIgorbXNnc3RyICIgIC10LCAtLXRhcmdldCA8UElEPiAgICAgICBuYWFtc3J1aW10ZXMgb3Zlcm5lbWVuIHZhbiBkaXQgcHJvY2VzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODAKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICBlbnRlciBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtbSwgLS1tb3VudFs9PGJlc3RhbmQ+XSAgYWFua29wcGVsaW5nc25hYW1zcnVpbXRlIGJpbm5lbmdhYW5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MQorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgIGVudGVyIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiICAtdSwgLS11dHNbPTxiZXN0YW5kPl0gICAgVVRTLW5hYW1zcnVpbXRlIGJpbm5lbmdhYW4gKGhvc3RuYWFtIGVuIGRlcmdlbGlqa2UpXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODIKK21zZ2lkICIgLWksIC0taXBjWz08ZmlsZT5dICAgICBlbnRlciBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLWksIC0taXBjWz08YmVzdGFuZD5dICAgIFN5c3RlbS1WLUlQQy1uYWFtc3J1aW10ZSBiaW5uZW5nYWFuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODMKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICBlbnRlciBuZXR3b3JrIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1uLCAtLW5ldFs9PGJlc3RhbmQ+XSAgICBuZXR3ZXJrbmFhbXNydWltdGUgYmlubmVuZ2FhblxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg0Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgZW50ZXIgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1wLCAtLXBpZFs9PGJlc3RhbmQ+XSAgICBQSUQtbmFhbXNydWltdGUgYmlubmVuZ2FhblxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg1Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgZW50ZXIgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1DLCAtLWNncm91cFs9PGJlc3RhbmQ+XSBjb250cm9sZ3JvZXBuYWFtc3J1aW10ZSBiaW5uZW5nYWFuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODYKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICBlbnRlciB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1VLCAtLXVzZXJbPTxiZXN0YW5kPl0gICBnZWJydWlrZXJzbmFhbXNydWltdGUgYmlubmVuZ2FhblxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg3Cittc2dpZCAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgc2V0IHVpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1TLCAtLXNldHVpZCA8VUlEPiAgICAgICBkZXplIFVJRCBpbiBiaW5uZW5nZWdhbmUgbmFhbXNydWltdGUgaW5zdGVsbGVuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODgKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLUcsIC0tc2V0Z2lkIDxHSUQ+ICAgICAgIGRlemUgR0lEIGluIGJpbm5lbmdlZ2FuZSBuYWFtc3J1aW10ZSBpbnN0ZWxsZW5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OQorbXNnaWQgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyBkbyBub3QgdG91Y2ggdWlkcyBvciBnaWRzXG4iCittc2dzdHIgIiAgICAgIC0tcHJlc2VydmUtY3JlZGVudGlhbHMgICBnZWVuIFVJRCdzIG5vY2ggR0lEJ3Mgd2lqemlnZW5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MAorbXNnaWQgIiAtciwgLS1yb290Wz08ZGlyPl0gICAgIHNldCB0aGUgcm9vdCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiICAtciwgLS1yb290Wz08bWFwPl0gICAgICAgdGUgZ2VicnVpa2VuIGhvb2ZkbWFwXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTEKK21zZ2lkICIgLXcsIC0td2RbPTxkaXI+XSAgICAgICBzZXQgdGhlIHdvcmtpbmcgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAgLXcsIC0td2RbPTxtYXA+XSAgICAgICAgIHRlIGdlYnJ1aWtlbiB3ZXJrbWFwXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTIKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICBkbyBub3QgZm9yayBiZWZvcmUgZXhlYydpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiAgLUYsIC0tbm8tZm9yayAgICAgICAgICAgIGdlZW4gbmlldXcgcHJvY2VzIGFhbm1ha2VuIHZvb3IgPHByb2dyYW1tYT5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NAorbXNnaWQgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgIHNldCBTRUxpbnV4IGNvbnRleHQgYWNjb3JkaW5nIHRvIC0tdGFyZ2V0IFBJRFxuIgorbXNnc3RyICIgIC1aLCAtLWZvbGxvdy1jb250ZXh0ICAgZGUgU0VMaW51eC1jb250ZXh0IGluc3RlbGxlbiB2b2xnZW5zIFBJRCB2YW4gJy0tdGFyZ2V0J1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJuZWl0aGVyIGZpbGVuYW1lIG5vciB0YXJnZXQgcGlkIHN1cHBsaWVkIGZvciAlcyIKK21zZ3N0ciAibm9jaCBlZW4gYmVzdGFuZHNuYWFtIG5vY2ggZWVuIGRvZWwtUElEIGdlZ2V2ZW4gdm9vciAlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoyNzcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdWlkIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gVUlEIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MjgxCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGdpZCIKK21zZ3N0ciAib250bGVkZW4gdmFuIEdJRCBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMxNworbXNnaWQgIm5vIHRhcmdldCBQSUQgc3BlY2lmaWVkIGZvciAtLWZvbGxvdy1jb250ZXh0IgorbXNnc3RyICJnZWVuIGRvZWwtUElEIGdlZ2V2ZW4gdm9vciAnLS1mb2xsb3ctY29udGV4dCciCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgJWQgU0VMaW51eCBjb250ZXh0IgorbXNnc3RyICJrYW4gJWQgU0VMaW51eC1jb250ZXh0IG5pZXQgdmVya3JpamdlbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBleGVjIGNvbnRleHQgdG8gJyVzJyIKK21zZ3N0ciAiaW5zdGVsbGVuIHZhbiB1aXR2b2VyaW5nc2NvbnRleHQgb3AgJyVzJyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFzc29jaWF0ZSB0byBuYW1lc3BhY2UgJyVzJyBmYWlsZWQiCittc2dzdHIgImhlcmFzc29jaWF0aWUgbWV0IG5hYW1zcnVpbXRlICclcycgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozOTAKK21zZ2lkICJjYW5ub3Qgb3BlbiBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICJrYW4gaHVpZGlnZSB3ZXJrbWFwIG5pZXQgb3BlbmVuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM5NworbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgcm9vdCBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICJ3aWp6aWdlbiB2YW4gaHVpZGlnZSBtYXAgdmlhIGhvb2ZkbWFwLWJlc3RhbmRzZGVzY3JpcHRvciBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQwMAorbXNnaWQgImNocm9vdCBmYWlsZWQiCittc2dzdHIgIidjaHJvb3QnIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDEwCittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSB3b3JraW5nIGRpcmVjdG9yeSBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICJ3aWp6aWdlbiB2YW4gaHVpZGlnZSBtYXAgdmlhIHdlcmttYXAtYmVzdGFuZHNkZXNjcmlwdG9yIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDIxIHN5cy11dGlscy9zZXRwcml2LmM6ODE1IHN5cy11dGlscy9zZXRwcml2LmM6ODE5Cittc2dpZCAic2V0Z3JvdXBzIGZhaWxlZCIKK21zZ3N0ciAiJ3NldGdyb3VwcycgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIG5ld19yb290IHB1dF9vbGRcbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSBuaWV1d2VfaG9vZmRtYXAgb3VkZV9ob29mZG1hcFxuIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjM3Cittc2dpZCAiQ2hhbmdlIHRoZSByb290IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIldpanppZ3QgaGV0IHJvb3QtYmVzdGFuZHNzeXN0ZWVtLlxuIgorCisjIEZJWE1FOiBiYWNrdGlja3MKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IGZyb20gYCVzJyB0byBgJXMnIgorbXNnc3RyICJ3aWp6aWdlbiB2YW4gaG9vZmRtYXAgdmFuICclcycgbmFhciAnJXMnIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzUKK21zZ2lkICJhZGRyZXNzIHNwYWNlIGxpbWl0IgorbXNnc3RyICJhZHJlc3J1aW10ZWxpbWlldCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NgorbXNnaWQgIm1heCBjb3JlIGZpbGUgc2l6ZSIKK21zZ3N0ciAibWF4aW11bSBncm9vdHRlIHZhbiBjb3JlZHVtcC1iZXN0YW5kIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAiQ1BVIHRpbWUiCittc2dzdHIgIkNQVS10aWpkIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAic2Vjb25kcyIKK21zZ3N0ciAic2Vjb25kZW4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzgKK21zZ2lkICJtYXggZGF0YSBzaXplIgorbXNnc3RyICJtYXhpbXVtIGdlZ2V2ZW5zZ3Jvb3R0ZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OQorbXNnaWQgIm1heCBmaWxlIHNpemUiCittc2dzdHIgIm1heGltdW0gYmVzdGFuZHNncm9vdHRlIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCittc2dpZCAibWF4IG51bWJlciBvZiBmaWxlIGxvY2tzIGhlbGQiCittc2dzdHIgIm1heGltdW0gYWFudGFsIGJlc3RhbmRzdmVyZ3JlbmRlbGluZ2VuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCittc2dpZCAibG9ja3MiCittc2dzdHIgInZlcmdyZW5kZWxpbmdlbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MQorbXNnaWQgIm1heCBsb2NrZWQtaW4tbWVtb3J5IGFkZHJlc3Mgc3BhY2UiCittc2dzdHIgIm1heGltdW0gdmFzdGdlemV0dGUgZ2VoZXVnZW5ydWltdGUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIKK21zZ2lkICJtYXggYnl0ZXMgaW4gUE9TSVggbXF1ZXVlcyIKK21zZ3N0ciAibWF4aW11bSBhYW50YWwgYnl0ZXMgaW4gUE9TSVgtYmVyaWNodGVud2FjaHRyaWplbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MworbXNnaWQgIm1heCBuaWNlIHByaW8gYWxsb3dlZCB0byByYWlzZSIKK21zZ3N0ciAibWF4aW11bSB0b2VnZXN0YW5lIGJlbGVlZmRoZWlkc3ZlcmxhZ2luZyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorbXNnaWQgIm1heCBudW1iZXIgb2Ygb3BlbiBmaWxlcyIKK21zZ3N0ciAibWF4aW11bSBhYW50YWwgb3BlbiBiZXN0YW5kZW4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKK21zZ2lkICJmaWxlcyIKK21zZ3N0ciAiYmVzdGFuZGVuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1Cittc2dpZCAibWF4IG51bWJlciBvZiBwcm9jZXNzZXMiCittc2dzdHIgIm1heGltdW0gYWFudGFsIHByb2Nlc3NlbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorbXNnaWQgInByb2Nlc3NlcyIKK21zZ3N0ciAicHJvY2Vzc2VuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2Cittc2dpZCAibWF4IHJlc2lkZW50IHNldCBzaXplIgorbXNnc3RyICJtYXhpbXVtIHJlc2lkZW50IGdlaGV1Z2VuZ2VicnVpayIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NworbXNnaWQgIm1heCByZWFsLXRpbWUgcHJpb3JpdHkiCittc2dzdHIgIm1heGltdW0gcmVhbHRpbWUtcHJpb3JpdGVpdCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgInRpbWVvdXQgZm9yIHJlYWwtdGltZSB0YXNrcyIKK21zZ3N0ciAidGlqZHNsaW1pZXQgdm9vciByZWFsdGltZS10YWtlbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgIm1pY3Jvc2VjcyIKK21zZ3N0ciAibWljcm9zZWNvbmRlbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorbXNnaWQgIm1heCBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzIgorbXNnc3RyICJtYXhpbXVtIGFhbnRhbCB3YWNodGVuZGUgc2lnbmFsZW4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJzaWduYWxzIgorbXNnc3RyICJzaWduYWxlbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgIm1heCBzdGFjayBzaXplIgorbXNnc3RyICJtYXhpbXVtIHN0YWNrLWdyb290dGUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTIzCittc2dpZCAicmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAibmFhbSB2YW4gaHVscGJyb24iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI0Cittc2dpZCAicmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgIm9tc2NocmlqdmluZyB2YW4gaHVscGJyb24iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI1Cittc2dpZCAic29mdCBsaW1pdCIKK21zZ3N0ciAiemFjaHRlIGdyZW5zIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNgorbXNnaWQgImhhcmQgbGltaXQgKGNlaWxpbmcpIgorbXNnc3RyICJoYXJkZSBncmVucyAocGxhZm9uZCkiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI3Cittc2dpZCAidW5pdHMiCittc2dzdHIgImVlbmhlaWQiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1wIFBJRF1cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSBbLXAgUElEXVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIENPTU1BTkRcbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSBPUERSQUNIVFxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2NgorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZXNvdXJjZSBsaW1pdHMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICJUb29udCBvZiB3aWp6aWd0IGRlIGh1bHBicm9uZ3JlbnplbiB2YW4gZWVuIHByb2Nlcy5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjgKK21zZ2lkICIiCisiXG4iCisiR2VuZXJhbCBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiQWxnZW1lbmUgb3B0aWVzOlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OQorbXNnaWQgIiIKKyIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBwcm9jZXNzIGlkXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorIiAgICAgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCisiICAgICAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorIiAgICAgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisiICAtcCwgLS1waWQgPHBpZD4gICAgICAgICBhbGxlZW4gbGltaWV0ZW4gdmFuIGRpdCBwcm9jZXMgdG9uZW5cbiIKKyIgIC1vLCAtLW91dHB1dCA8bGlqc3Q+ICAgIHRlIHRvbmVuIHVpdHZvZXJrb2xvbW1lblxuIgorIiAgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgZ2VlbiBrb2xvbWtvcHBlbiB3ZWVyZ2V2ZW5cbiIKKyIgICAgICAtLXJhdyAgICAgICAgICAgICAgIHJhdXdlIHVpdHZvZXJvcG1hYWsgZ2VicnVpa2VuXG4iCisiICAgICAgLS12ZXJib3NlICAgICAgICAgICBnZWRldGFpbGxlZXJkZXJlIHVpdHZvZXIgcHJvZHVjZXJlblxuIgorIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgZGV6ZSBodWxwdGVrc3QgdG9uZW4gZW4gc3RvcHBlblxuIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgcHJvZ3JhbW1hdmVyc2llIHRvbmVuIGVuIHN0b3BwZW5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzcKK21zZ2lkICIiCisiXG4iCisiUmVzb3VyY2VzIE9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJIdWxwYnJvbm9wdGllczpcbiIKKworIyBGSVhNRTogc2xpY2UgaXQgdXAKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc4Cittc2dpZCAiIgorIiAtYywgLS1jb3JlICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBjb3JlIGZpbGVzIGNyZWF0ZWRcbiIKKyIgLWQsIC0tZGF0YSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgYSBwcm9jZXNzJ3MgZGF0YSBzZWdtZW50XG4iCisiIC1lLCAtLW5pY2UgICAgICAgICAgICAgbWF4aW11bSBuaWNlIHByaW9yaXR5IGFsbG93ZWQgdG8gcmFpc2VcbiIKKyIgLWYsIC0tZnNpemUgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgZmlsZXMgd3JpdHRlbiBieSB0aGUgcHJvY2Vzc1xuIgorIiAtaSwgLS1zaWdwZW5kaW5nICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFsc1xuIgorIiAtbCwgLS1tZW1sb2NrICAgICAgICAgIG1heGltdW0gc2l6ZSBhIHByb2Nlc3MgbWF5IGxvY2sgaW50byBtZW1vcnlcbiIKKyIgLW0sIC0tcnNzICAgICAgICAgICAgICBtYXhpbXVtIHJlc2lkZW50IHNldCBzaXplXG4iCisiIC1uLCAtLW5vZmlsZSAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2Ygb3BlbiBmaWxlc1xuIgorIiAtcSwgLS1tc2dxdWV1ZSAgICAgICAgIG1heGltdW0gYnl0ZXMgaW4gUE9TSVggbWVzc2FnZSBxdWV1ZXNcbiIKKyIgLXIsIC0tcnRwcmlvICAgICAgICAgICBtYXhpbXVtIHJlYWwtdGltZSBzY2hlZHVsaW5nIHByaW9yaXR5XG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAgbWF4aW11bSBzdGFjayBzaXplXG4iCisiIC10LCAtLWNwdSAgICAgICAgICAgICAgbWF4aW11bSBhbW91bnQgb2YgQ1BVIHRpbWUgaW4gc2Vjb25kc1xuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHVzZXIgcHJvY2Vzc2VzXG4iCisiIC12LCAtLWFzICAgICAgICAgICAgICAgc2l6ZSBvZiB2aXJ0dWFsIG1lbW9yeVxuIgorIiAteCwgLS1sb2NrcyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIGZpbGUgbG9ja3NcbiIKKyIgLXksIC0tcnR0aW1lICAgICAgICAgICBDUFUgdGltZSBpbiBtaWNyb3NlY29uZHMgYSBwcm9jZXNzIHNjaGVkdWxlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVyIHJlYWwtdGltZSBzY2hlZHVsaW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoyNDMgc3lzLXV0aWxzL3BybGltaXQuYzoyNDkgc3lzLXV0aWxzL3BybGltaXQuYzozNjYKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzcxCittc2dpZCAidW5saW1pdGVkIgorbXNnc3RyICJvbmJlZ3JlbnNkIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjMzMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IG9sZCAlcyBsaW1pdCIKK21zZ3N0ciAib3B2cmFnZW4gdmFuIG91ZGUgbGltaWV0IHZvb3IgJXMgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHNvZnQgbGltaXQgJXMgY2Fubm90IGV4Y2VlZCB0aGUgaGFyZCBsaW1pdCIKK21zZ3N0ciAiemFjaHRlIGdyZW5zICVzIG1hZyBuaWV0IGdyb3RlciB6aWpuIGRhbiBkZSBoYXJkZSBncmVucyIKKworIyBGSVhNRTogb29vaCwgY29tZSBvbiwgZG9uJ3QgdXNlIGZpbGwtaW4gd29yZHMhCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJOZXcgJXMgbGltaXQgZm9yIHBpZCAlZDogIgorbXNnc3RyICJOaWV1d2UgJXMtZ3JlbnMgdm9vciBQSUQgJWQ6ICIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgImluc3RlbGxlbiB2YW4gaHVscGJyb25ncmVucyAlcyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIKK21zZ3N0ciAib3B2cmFnZW4gdmFuIGh1bHBicm9uZ3JlbnMgJXMgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIGxpbWl0IgorbXNnc3RyICJvbnRsZWRlbiB2YW4gZ3JlbnMgJXMgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo1ODUKK21zZ2lkICJvcHRpb24gLS1waWQgbWF5IGJlIHNwZWNpZmllZCBvbmx5IG9uY2UiCittc2dzdHIgIm9wdGllICctLXBpZCcgbWFnIHNsZWNodHMgw6nDqW4ga2VlciBnZWdldmVuIHdvcmRlbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo2MTYKK21zZ2lkICJvcHRpb25zIC0tcGlkIGFuZCBDT01NQU5EIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIm9wdGllICctLXBpZCcgZW4gZWVuIE9QRFJBQ0hUIGdhYW4gbmlldCBzYW1lbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA3Cittc2dpZCAiRGlzcGxheSBrZXJuZWwgcHJvZmlsaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJUb29udCBwcm9maWxlcmluZ3NpbmZvcm1hdGllIHZhbiBkZSBrZXJuZWwuXG4iCisKKyMgRklYTUU6IG9uZSBzaW5nbGUgc3RyaW5nIQorIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbSwgLS1tYXBmaWxlIDxtYXBmaWxlPiAgIChkZWZhdWx0czogXCIlc1wiIGFuZFxuIgorbXNnc3RyICIgIC1tLCAtLW1hcGZpbGUgPGJlc3RhbmQ+ICAgKHN0YW5kYWFyZCB6aWpuOiAnJXMgZW5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIlc1wiKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJXMnKVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1wLCAtLXByb2ZpbGUgPHByby1maWxlPiAgKGRlZmF1bHQ6ICBcIiVzXCIpXG4iCittc2dzdHIgIiAgLXAsIC0tcHJvZmlsZSA8YmVzdGFuZD4gICAoc3RhbmRhYXJkIGlzOiAgJyVzJylcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE2Cittc2dpZCAiIC1NLCAtLW11bHRpcGxpZXIgPG11bHQ+ICAgc2V0IHRoZSBwcm9maWxpbmcgbXVsdGlwbGllciB0byA8bXVsdD5cbiIKK21zZ3N0ciAiICAtTSwgLS1tdWx0aXBsaWVyIDxtYWFsPiAgIHRlIGdlYnJ1aWtlbiBwcm9maWxlcmluZ3N2ZXJzbmVsbGVyXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNworbXNnaWQgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIHByaW50IG9ubHkgaW5mbyBhYm91dCB0aGUgc2FtcGxpbmcgc3RlcFxuIgorbXNnc3RyICIgIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgYWxsZWVuIGluZm8gb3ZlciBkZSBzb25kZXJpbmdzc3RhcCB0b25lbiBcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE4Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBkYXRhXG4iCittc2dzdHIgIiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBnZWRldGFpbGxlZXJkZSB1aXR2b2VyIHByb2R1Y2VyZW5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorbXNnc3RyICIgIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgYWxsZSBzeW1ib2xlbiB0b25lbiwgemVsZnMgYWxzIGFhbnRhbCBudWwgaXNcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIwCittc2dpZCAiIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorbXNnc3RyICIgIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgaW5kaXZpZHVlbGUgYWFudGFsbGVuIHRvbmVuIHZvb3IgaGlzdG9ncmFtLWJpblxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjEKK21zZ2lkICIgLXMsIC0tY291bnRlcnMgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGNvdW50ZXJzIHdpdGhpbiBmdW5jdGlvbnNcbiIKK21zZ3N0ciAiICAtcywgLS1jb3VudGVycyAgICAgICAgICAgIGluZGl2aWR1ZWxlIHRlbGxlcnMgdG9uZW4gYmlubmVuIGZ1bmN0aWVzXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMgorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCB0aGUgY291bnRlcnMgKHJvb3Qgb25seSlcbiIKK21zZ3N0ciAiICAtciwgLS1yZXNldCAgICAgICAgICAgICAgIGFsbGUgdGVsbGVycyB0ZXJ1Z3pldHRlbiAoYWxsZWVuIGRvb3Igcm9vdClcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIzCittc2dpZCAiIC1uLCAtLW5vLWF1dG8gICAgICAgICAgICAgZGlzYWJsZSBieXRlIG9yZGVyIGF1dG8tZGV0ZWN0aW9uXG4iCittc2dzdHIgIiAgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICBhdXRvbWF0aXNjaGUgYnl0ZXZvbGdvcmRlZGV0ZWN0aWUgdWl0c2NoYWtlbGVuXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciB3cml0aW5nICVzIgorbXNnc3RyICJmb3V0IGJpaiBzY2hyaWp2ZW4gdmFuICVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyNzEKK21zZ2lkICJBc3N1bWluZyByZXZlcnNlZCBieXRlIG9yZGVyLiBVc2UgLW4gdG8gZm9yY2UgbmF0aXZlIGJ5dGUgb3JkZXIuIgorbXNnc3RyICIiCisiT21nZWtlZXJkZSBieXRlLXZvbGdvcmRlIHdvcmR0IGFhbmdlbm9tZW4uXG4iCisiR2VicnVpayAnLW4nIG9tIGRlIG5vcm1hbGUgYnl0ZS12b2xnb3JkZSB0ZSBnZWJydWlrZW4uIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2FtcGxpbmdfc3RlcDogJXVcbiIKK21zZ3N0ciAiQmVtb25zdGVyaW5nc3N0YXA6ICV1XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMwMiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMoJWkpOiB3cm9uZyBtYXAgbGluZSIKK21zZ3N0ciAiJXMoJWkpOiBmb3V0aWV2ZSByZWdlbCBpbiBzeW1ib2xlbmJlc3RhbmQiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIFwiX3N0ZXh0XCIgaW4gJXMiCittc2dzdHIgImthbiBcIl9zdGV4dFwiIG5pZXQgdmluZGVuIGluICVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozNDYKK21zZ2lkICJwcm9maWxlIGFkZHJlc3Mgb3V0IG9mIHJhbmdlLiBXcm9uZyBtYXAgZmlsZT8iCittc2dzdHIgInByb2ZpbGVyaW5nc2FkcmVzIHZhbHQgYnVpdGVuIGJlcmVpay4gIFZlcmtlZXJkIHN5bWJvbGVuYmVzdGFuZD8iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjQwNAorbXNnaWQgInRvdGFsIgorbXNnc3RyICJ0b3RhYWwiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MgorbXNnaWQgInByb2Nlc3MgSUQiCittc2dzdHIgInByb2Nlcy1JRCIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUzCittc2dpZCAicHJvY2VzcyBncm91cCBJRCIKK21zZ3N0ciAicHJvY2VzZ3JvZXBzLUlEIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiBbLXB8LS1waWRdIDxwaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtZ3wtLXBncnAgPHBnaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtdXwtLXVzZXIgPHVzZXI+Li4uXG4iCittc2dzdHIgIiIKKyIgICUxJHMgWy1uXSA8cHJpb3JpdGVpdD4gWy1wfC0tcGlkXSA8UElEPi4uLlxuIgorIiAgJTEkcyBbLW5dIDxwcmlvcml0ZWl0PiAgLWd8LS1wZ3JwIDxQR0lEPi4uLlxuIgorIiAgJTEkcyBbLW5dIDxwcmlvcml0ZWl0PiAgLXV8LS11c2VyIDxnZWJydWlrZXI+Li4uXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2NworbXNnaWQgIkFsdGVyIHRoZSBwcmlvcml0eSBvZiBydW5uaW5nIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiV2lqemlndCBkZSBwcmlvcml0ZWl0IHZhbiBlZW4gZHJhYWllbmQgcHJvY2VzLlxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzAKK21zZ2lkICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorbXNnc3RyICIgIC1uLCAtLXByaW9yaXR5IDxnZXRhbD4gICAgZGUgYmVsZWVmZGhlaWRzd2FhcmRlIG1ldCBkaXQgZ2V0YWwgdmVybGFnZW5cbiIKKworIyBGSVhNRTogWFhYIHRoaXMgPGlkPiBpc24ndCByaWdodCwgaXQgY2FuIGJlIG1vcmUgSURzIC0tCisjIHRoZSAtcCwgLWcgYW5kIC11IG9wdGlvbnMganVzdCBzd2l0Y2ggaG93IHRoZSBuZXh0IGFyZ3VtZW50cyBhcmUgaW50ZXJwcmV0ZWQKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MQorbXNnaWQgIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC1wLCAtLXBpZCAgICAgICBuYXZvbGdlbmRlIGFyZ3VtZW50ZW4gYWxzIHByb2Nlcy1JRCBpbnRlcnByZXRlcmVuICAoc3RhbmRhYXJkKVxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzIKK21zZ2lkICIgLWcsIC0tcGdycCA8aWQ+ICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBncm91cCBJRFxuIgorbXNnc3RyICIgIC1nLCAtLXBncnAgICAgICBuYXZvbGdlbmRlIGFyZ3VtZW50ZW4gYWxzIHByb2Nlc2dyb2VwLUlEIGludGVycHJldGVyZW5cbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjczCittc2dpZCAiIC11LCAtLXVzZXIgPG5hbWU+fDxpZD4gaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHVzZXJuYW1lIG9yIHVzZXIgSURcbiIKK21zZ3N0ciAiICAtdSwgLS11c2VyICAgICAgbmF2b2xnZW5kZSBhcmd1bWVudGVuIGFscyBnZWJydWlrZXJzbmFhbSBvZiBVSUQgaW50ZXJwcmV0ZXJlblxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiYWNodGVyaGFsZW4gdmFuIHByaW9yaXRlaXQgdm9vciAlZCBpcyBtaXNsdWt0ICglcykiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo5OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICJpbnN0ZWxsZW4gdmFuIHByaW9yaXRlaXQgdm9vciAlZCBpcyBtaXNsdWt0ICglcykiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgKCVzKSBvbGQgcHJpb3JpdHkgJWQsIG5ldyBwcmlvcml0eSAlZFxuIgorbXNnc3RyICIlZCAoJXMpOiBvdWRlIHByaW9yaXRlaXQgaXMgJWQsIG5pZXV3ZSBwcmlvcml0ZWl0IGlzICVkXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB1c2VyICVzIgorbXNnc3RyICJvbmJla2VuZGUgZ2VicnVpa2VyICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIG9uZSBvZiB0aGUgYWJvdmUKKyMuICogdGhyZWUgSUQgbmFtZXMuIFJlYWQ6ICJiYWQgdmFsdWUgZm9yICVzOiAlcyIKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkICVzIHZhbHVlOiAlcyIKK21zZ3N0ciAib25nZWxkaWdlIHdhYXJkZSB2b29yICVzOiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo5OAorbXNnaWQgIkVudGVyIGEgc3lzdGVtIHNsZWVwIHN0YXRlIHVudGlsIGEgc3BlY2lmaWVkIHdha2V1cCB0aW1lLlxuIgorbXNnc3RyICJaZXQgaGV0IHN5c3RlZW0gaW4gZWVuIHNsYWFwc3RhbmQgdG90IGVlbiBhYW5nZWdldmVuIG9udHdha2luZ3N0aWpkLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMQorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgcmVhZHMgdGhlIGNsb2NrIG1vZGUgZnJvbSBhZGp1c3QgZmlsZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtYSwgLS1hdXRvICAgICAgICAgICAgICAgbGVlc3QgZGUga2xva21vZHVzIHVpdCByZWdpc3RyYXRpZWJlc3RhbmQgKHN0YW5kYWFyZClcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtQSwgLS1hZGpmaWxlIDxmaWxlPiAgICAgc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlc1xuIgorbXNnc3RyICIiCisiICAtQSwgLS1hZGpmaWxlPTxiZXN0YW5kPiAgdGUgZ2VicnVpa2VuIHZlcnNjaHVpdmluZ3NyZWdpc3RyYXRpZWJlc3RhbmRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdGFuZGFhcmQgaXMgJXMpXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA1Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICBkYXRlIHRpbWUgb2YgdGltZXN0YW1wIHRvIHdha2VcbiIKK21zZ3N0ciAiICAgICAgLS1kYXRlIDxkYXR1bXRpamQ+ICAgaGV0IHRpamRzdGlwIG9tIHdlZXIgd2Fra2VyIHRlIHdvcmRlblxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNgorbXNnaWQgIiAtZCwgLS1kZXZpY2UgPGRldmljZT4gICAgc2VsZWN0IHJ0YyBkZXZpY2UgKHJ0YzB8cnRjMXwuLi4pXG4iCittc2dzdHIgIiAgLWQsIC0tZGV2aWNlIDxhcHBhcmFhdD4gIHRlIGdlYnJ1aWtlbiBoYXJkd2FyZWtsb2sgKHJ0YzB8cnRjMXwuLi4pXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA3Cittc2dpZCAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBkb2VzIGV2ZXJ5dGhpbmcsIGJ1dCBzdXNwZW5kXG4iCittc2dzdHIgIiAgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGRvZXQgYWxsZXMsIGJlaGFsdmUgZ2FhbiBzbGFwZW5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDgKK21zZ2lkICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCittc2dzdHIgIiAgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIGhhcmR3YXJla2xvayBpcyBpbiBsb2thbGUgdGlqZFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOQorbXNnaWQgIiAgICAgLS1saXN0LW1vZGVzICAgICAgICAgbGlzdCBhdmFpbGFibGUgbW9kZXNcbiIKK21zZ3N0ciAiICAgICAgLS1saXN0LW1vZGVzICAgICAgICAgZGUgYmVzY2hpa2JhcmUgbW9kaSBvcHNvbW1lblxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMAorbXNnaWQgIiAtbSwgLS1tb2RlIDxtb2RlPiAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwIG1vZGVcbiIKK21zZ3N0ciAiICAtbSwgLS1tb2RlIDxtb2R1cz4gICAgICAgc2xhYXBtb2R1cyAoc3RhbmRieXxtZW18Li4uKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMQorbXNnaWQgIiAtcywgLS1zZWNvbmRzIDxzZWNvbmRzPiAgc2Vjb25kcyB0byBzbGVlcFxuIgorbXNnc3RyICIgIC1zLCAtLXNlY29uZHMgPGFhbnRhbD4gICBoZXQgYWFudGFsIHRlIHNsYXBlbiBzZWNvbmRlblxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMgorbXNnaWQgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCittc2dzdHIgIiAgLXQsIC0tdGltZSA8d2VrbW9tZW50PiAgIHRpamRzdGlwIG9tIHRlIG9udHdha2VuIChpbiBzZWNvbmRlbiBzaW5kcyAxOTcwKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMworbXNnaWQgIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIHVzZXMgVVRDXG4iCittc2dzdHIgIiAgLXUsIC0tdXRjICAgICAgICAgICAgICAgIGhhcmR3YXJla2xvayBpcyBpbiBVVEMgKHVuaXZlcnNlbGUgdGlqZClcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtdiwgLS12ZXJib3NlICAgICAgICAgICAgZ2VkZXRhaWxsZWVyZGUgdWl0dm9lciBwcm9kdWNlcmVuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTY3Cittc2dpZCAicmVhZCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgImxlemVuIHZhbiBoYXJkd2FyZWtsb2t0aWpkIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTczCittc2dpZCAicmVhZCBzeXN0ZW0gdGltZSBmYWlsZWQiCittc2dzdHIgImxlemVuIHZhbiBzeXN0ZWVtdGlqZCBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE4OQorbXNnaWQgImNvbnZlcnQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICJvbXpldHRlbiB2YW4gaGFyZHdhcmVrbG9rdGlqZCBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjIzNworbXNnaWQgInNldCBydGMgd2FrZSBhbGFybSBmYWlsZWQiCittc2dzdHIgInpldHRlbiB2YW4gZGUgd2Vra2VyIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzA3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdGhpcmQgbGluZSBpbjogJXM6ICVzIgorbXNnc3RyICJvbnZlcndhY2h0ZSBkZXJkZSByZWdlbCBpbiAlczogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzIwIHN5cy11dGlscy9ydGN3YWtlLmM6NjI0Cittc2dpZCAicmVhZCBydGMgYWxhcm0gZmFpbGVkIgorbXNnc3RyICJsZXplbiB2YW4gZGUgd2Vra2VyIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvZmZcbiIKK21zZ3N0ciAid2Vra2VyOiB1aXRcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMzgKK21zZ2lkICJjb252ZXJ0IHRpbWUgZmFpbGVkIgorbXNnc3RyICJvbXpldHRlbiB2YW4gaGFyZHdhcmVrbG9rdGlqZCBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb24gICVzIgorbXNnc3RyICJ3ZWtrZXI6IGFhbiAgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mzg3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkOiAlcyIKK21zZ3N0ciAia2FuICVzIG5pZXQgbGV6ZW4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDY3CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdXNwZW5kIHN0YXRlICclcyciCittc2dzdHIgIm9uYmVrZW5kZSBzbGFhcHRvZXN0YW5kICclcyciCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDc1Cittc2dpZCAiaW52YWxpZCBzZWNvbmRzIGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZyBhYW50YWwgc2Vjb25kZW4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDc5Cittc2dpZCAiaW52YWxpZCB0aW1lIGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZ2UgdGlqZCIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIKK21zZ3N0ciAiJXM6IGFhbmdlbm9tZW4gd29yZHQgZGF0IGRlIGhhcmR3YXJla2xvayBVVEMgYmV2YXQuLi5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTEKK21zZ2lkICJVc2luZyBVVEMgdGltZS5cbiIKK21zZ3N0ciAiVVRDIHdvcmR0IGdlYnJ1aWt0LlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxMgorbXNnaWQgIlVzaW5nIGxvY2FsIHRpbWUuXG4iCittc2dzdHIgIkxva2FsZSB0aWpkIHdvcmR0IGdlYnJ1aWt0LlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxNQorbXNnaWQgIm11c3QgcHJvdmlkZSB3YWtlIHRpbWUgKHNlZSAtLXNlY29uZHMsIC0tdGltZSBhbmQgLS1kYXRlIG9wdGlvbnMpIgorbXNnc3RyICJ1IGRpZW50IGVlbiB3ZWt0aWpkIG9wIHRlIGdldmVuLCB2aWEgJy1zJyBvZiAnLXQnIG9mICctLWRhdGUnIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgZW5hYmxlZCBmb3Igd2FrZXVwIGV2ZW50cyIKK21zZ3N0ciAiJXMga2FuIGdlZW4gd2VrZ2ViZXVydGVuaXNzZW4gYWFuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyOAorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybSAlbGQsIHN5c190aW1lICVsZCwgcnRjX3RpbWUgJWxkLCBzZWNvbmRzICV1XG4iCittc2dzdHIgIndla3RpamRzdGlwICVsZCwgc3lzdGVlbXRpamQgJWxkLCBoYXJkd2FyZWtsb2t0aWpkICVsZCwgc2Vjb25kZW4gJXVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBkb2Vzbid0IGdvIGJhY2t3YXJkIHRvICVzIgorbXNnc3RyICJ0aWpkIGxvb3B0IG5pZXQgYWNodGVydWl0IG5hYXIgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIiVzOiBvbnR3YWtpbmcgdmlhICVzIG9wICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU0OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIGZyb20gXCIlc1wiIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlczogb250d2FraW5nIHVpdCAnJXMnIHZpYSAlcyBvcCAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBubzsgbGVhdmluZ1xuIgorbXNnc3RyICJzbGFhcG1vZHVzOiBuZWUgLS0gZ2VzdG9wdFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9mZjsgZXhlY3V0aW5nICVzXG4iCittc2dzdHIgInNsYWFwbW9kdXM6IHVpdCAtLSB1aXR2b2VyZW4gdmFuICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogb247IHJlYWRpbmcgcnRjXG4iCittc2dzdHIgInNsYWFwbW9kdXM6IGFhbiAtLSBsZXplbiB2YW4gaGFyZHdhcmVrbG9rXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTkyCittc2dpZCAicnRjIHJlYWQgZmFpbGVkIgorbXNnc3RyICJsZXplbiB2YW4gaGFyZHdhcmVrbG9rIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjA0CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogZGlzYWJsZTsgZGlzYWJsaW5nIGFsYXJtXG4iCittc2dzdHIgInNsYWFwbW9kdXM6IHVpdGdlc2NoYWtlbGQgLS0gd2Vra2VyIHdvcmR0IHVpdGdlc2NoYWtlbGRcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBzaG93OyBwcmludGluZyBhbGFybSBpbmZvXG4iCittc2dzdHIgInNsYWFwbW9kdXM6IHRvbmVuIC0tIHdla2tlcmluZm8gd29yZHQgZ2V0b29uZFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYxNQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6ICVzOyBzdXNwZW5kaW5nIHN5c3RlbVxuIgorbXNnc3RyICJzbGFhcG1vZHVzOiAlcyAtLSBkZSBjb21wdXRlciBnYWF0IHNsYXBlblxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyOQorbXNnaWQgImRpc2FibGUgcnRjIGFsYXJtIGludGVycnVwdCBmYWlsZWQiCittc2dzdHIgInVpdHNjaGFrZWxlbiB2YW4gaGFyZHdhcmVrbG9rLWludGVycnVwdCBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlN3aXRjaGluZyBvbiAlcy5cbiIKK21zZ3N0ciAiQWFuemV0dGVuIHZhbiAlcy5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGFyY2g+IFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICAlcyA8YXJjaGl0ZWN0dXVyPiBbb3B0aWVzXSBbPHByb2dyYW1tYT4gWzxhcmd1bWVudD4uLi5dXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gWzxwcm9ncmFtbWE+IFs8YXJndW1lbnQ+Li4uXV1cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5NgorbXNnaWQgIkNoYW5nZSB0aGUgcmVwb3J0ZWQgYXJjaGl0ZWN0dXJlIGFuZCBzZXQgcGVyc29uYWxpdHkgZmxhZ3MuXG4iCittc2dzdHIgIldpanppZ3QgZGUgZ2VyYXBwb3J0ZWVyZGUgYXJjaGl0ZWN0dXVyIGVuIHN0ZWx0IHBlcnNvb25saWpraGVpZHN2bGFnZ2VuIGluLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk5Cittc2dpZCAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB0dXJucyBvbiBBRERSX0xJTUlUXzMyQklUXG4iCittc2dzdHIgIiAgLUIsIC0tMzJiaXQgICAgICAgICAgICAgICBBRERSX0xJTUlUXzMyQklUIGluc2NoYWtlbGVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAwCittc2dpZCAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorbXNnc3RyICIgIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICAgZnVuY3RpZXBvaW50ZXJzIG5hYXIgZGVzY3JpcHRvcnMgbGF0ZW4gd2lqemVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAxCittc2dpZCAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICB0dXJucyBvbiBTSE9SVF9JTk9ERVxuIgorbXNnc3RyICIgIC1JLCAtLXNob3J0LWlub2RlICAgICAgICAgU0hPUlRfSU5PREUgaW5zY2hha2VsZW5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDIKK21zZ2lkICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKK21zZ3N0ciAiICAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQgIHZpcnR1ZWVsIGdlaGV1Z2VuIG9wIGFuZGVyZSBtYW5pZXIgdG9ld2lqemVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAzCittc2dpZCAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBkaXNhYmxlcyByYW5kb21pemF0aW9uIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2VcbiIKK21zZ3N0ciAiICAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgIHZpcnR1ZWxlIGFkcmVzcnVpbXRlIG5pZXQgaHVzc2VsZW5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDQKK21zZ2lkICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHR1cm5zIG9uIFdIT0xFX1NFQ09ORFNcbiIKK21zZ3N0ciAiICAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgIFdIT0xFX1NFQ09ORFMgaW5zY2hha2VsZW5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDUKK21zZ2lkICIgLVQsIC0tc3RpY2t5LXRpbWVvdXRzICAgIHR1cm5zIG9uIFNUSUNLWV9USU1FT1VUU1xuIgorbXNnc3RyICIgIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICAgU1RJQ0tZX1RJTUVPVVRTIGluc2NoYWtlbGVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA2Cittc2dpZCAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICB0dXJucyBvbiBSRUFEX0lNUExJRVNfRVhFQ1xuIgorbXNnc3RyICIgIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICAgUkVBRF9JTVBMSUVTX0VYRUMgaW5zY2hha2VsZW5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDcKK21zZ2lkICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHR1cm5zIG9uIE1NQVBfUEFHRV9aRVJPXG4iCittc2dzdHIgIiAgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgICBNTUFQX1BBR0VfWkVSTyBpbnNjaGFrZWxlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOAorbXNnaWQgIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgbGltaXRzIHRoZSB1c2VkIGFkZHJlc3Mgc3BhY2UgdG8gYSBtYXhpbXVtIG9mIDMgR0JcbiIKK21zZ3N0ciAiICAtMywgLS0zZ2IgICAgICAgICAgICAgICAgIGdlYnJ1aWt0ZSBhZHJlc3J1aW10ZSB0b3QgMyBHQiBiZXBlcmtlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOQorbXNnaWQgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKK21zZ3N0ciAiICAgICAgLS00Z2IgICAgICAgICAgICAgICAgIChnZW5lZ2VlcmQsIHNsZWNodHMgaGVya2VuZCB2b29yIGNvbXBhdGliaWxpdGVpdClcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTAKK21zZ2lkICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHR1cm5zIG9uIFVOQU1FMjZcbiIKK21zZ3N0ciAiICAgICAgLS11bmFtZS0yLjYgICAgICAgICAgIFVOQU1FMjYgaW5zY2hha2VsZW5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheSB3aGF0IG9wdGlvbnMgYXJlIGJlaW5nIHN3aXRjaGVkIG9uXG4iCittc2dzdHIgIiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBtZWxkZW4gd2Vsa2Ugb3B0aWVzIGluZ2VzY2hha2VsZCB3b3JkZW5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTQKK21zZ2lkICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3Qgc2V0dGFibGUgYXJjaGl0ZWN0dXJlcywgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAgLS1saXN0ICAgICAgICAgICAgICAgIGluc3RlbGJhcmUgYXJjaGl0ZWN0dXJlbiB0b25lbiBlbiBzdG9wcGVuXG4iCisKKyMgRklYTUU6IGJhY2t0aWNrIC0tIE5PLCBzdGFuZGFyZGl6ZQorIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzXG4iCisiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKK21zZ3N0ciAiIgorIiVzXG4iCisiVHlwICclcyAtLWhlbHAnIHZvb3IgbWVlciBpbmZvcm1hdGllLiIKKworIyBGSVhNRTogYmFja3RpY2sKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCittc2dzdHIgIlR5cCAnJXMgLS1oZWxwJyB2b29yIG1lZXIgaW5mb3JtYXRpZS4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBVbnJlY29nbml6ZWQgYXJjaGl0ZWN0dXJlIgorbXNnc3RyICIlczogT25iZWtlbmRlIGFyY2hpdGVjdHV1ciIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiS2VybmVsIGNhbm5vdCBzZXQgYXJjaGl0ZWN0dXJlIHRvICVzIgorbXNnc3RyICJrZXJuZWwga2FuIGFyY2hpdGVjdHV1ciBuaWV0IG9wICVzIGluc3RlbGxlbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozMDUKK21zZ2lkICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAiVGUgd2VpbmlnIGFyZ3VtZW50ZW4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzIyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgImluc3RlbGxlbiB2YW4gcGVyc29vbmxpamtoZWlkIG9wICVzIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc5Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnLS1saXN0JyIKK21zZ3N0ciAibmlldC10b2VnZXN0YW5lIG9wdGllICctLWxpc3QnIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM4NworbXNnaWQgIm5vIGFyY2hpdGVjdHVyZSBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgImdlZW4gYXJjaGl0ZWN0dXVyIG9wZ2VnZXZlbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAiaW5zdGVsbGVuIHZhbiBwZXJzb29ubGlqa2hlaWQgb3AgJXMgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXhlY3V0ZSBjb21tYW5kIGAlcycuXG4iCittc2dzdHIgIlVpdHZvZXJpbmcgdmFuIG9wZHJhY2h0ICclcycuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggZGlmZmVyZW50IHByaXZpbGVnZSBzZXR0aW5ncy5cbiIKK21zZ3N0ciAiRHJhYWl0IGVlbiBwcm9ncmFtbWEgbWV0IGFuZGVyZSBwcml2aWxlZ2UtaW5zdGVsbGluZ2VuLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMAorbXNnaWQgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgc2hvdyBjdXJyZW50IHN0YXRlIChhbmQgZG8gbm90IGV4ZWMgYW55dGhpbmcpXG4iCittc2dzdHIgIiAgLWQsIC0tZHVtcCAgICAgICAgICAgICAgIGh1aWRpZ2UgdG9lc3RhbmQgdG9uZW4gKGVuIHZlcmRlciBuaWV0cyBkb2VuKVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMQorbXNnaWQgIiAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAgZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXNcbiIKK21zZ3N0ciAiICAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAgaGV0IHRvZWtlbm5lbiB2YW4gbmlldXdlIHByaXZpbGVnZXMgbmlldCB0b2VzdGFhblxuIgorCisjIEZJWE1FOiBzaW5ndWxhciBjYXAKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTAyCittc2dpZCAiIC0taW5oLWNhcHMgPGNhcHMsLi4uPiAgICBzZXQgaW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiAgLS1pbmgtY2FwcyA8Y2FwLC4uLj4gICAgIG92ZXJlcmZiYXJlIGNhcGFiaWxpdGllcyBpbnN0ZWxsZW5cbiIKKworIyBGSVhNRTogc2FtZSAiY2FwIGNvbW1hIiBhcyBhYm92ZQorIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDMKK21zZ2lkICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgIHNldCBjYXBhYmlsaXR5IGJvdW5kaW5nIHNldFxuIgorbXNnc3RyICIgIC0tYm91bmRpbmctc2V0IDxjYXAsLi4uPiAgIGJlcGVya2VuZGUgc2V0IHZhbiBjYXBhYmlsaXRpZXMgaW5zdGVsbGVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA0Cittc2dpZCAiIC0tcnVpZCA8dWlkPiAgICAgICAgICAgICBzZXQgcmVhbCB1aWRcbiIKK21zZ3N0ciAiICAtLXJ1aWQgPFVJRD4gICAgICAgICAgICAgd2Vya2VsaWprZSBVSUQgaW5zdGVsbGVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA1Cittc2dpZCAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIgIC0tZXVpZCA8VUlEPiAgICAgICAgICAgICBlZmZlY3RpZXZlIFVJRCBpbnN0ZWxsZW5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDYKK21zZ2lkICIgLS1yZ2lkIDxnaWQ+ICAgICAgICAgICAgIHNldCByZWFsIGdpZFxuIgorbXNnc3RyICIgIC0tcmdpZCA8R0lEPiAgICAgICAgICAgICB3ZXJrZWxpamtlIEdJRCBpbnN0ZWxsZW5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDcKK21zZ2lkICIgLS1lZ2lkIDxnaWQ+ICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiAgLS1lZ2lkIDxHSUQ+ICAgICAgICAgICAgIGVmZmVjdGlldmUgR0lEIGluc3RlbGxlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwOAorbXNnaWQgIiAtLXJldWlkIDx1aWQ+ICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiICAtLXJldWlkIDxVSUQ+ICAgICAgICAgICAgd2Vya2VsaWprZSBlbiBlZmZlY3RpZXZlIFVJRCBpbnN0ZWxsZW5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDkKK21zZ2lkICIgLS1yZWdpZCA8Z2lkPiAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiAgLS1yZWdpZCA8R0lEPiAgICAgICAgICAgIHdlcmtlbGlqa2UgZW4gZWZmZWN0aWV2ZSBHSUQgaW5zdGVsbGVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEwCittc2dpZCAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICBjbGVhciBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICBkZSBzdXBwbGVtZW50YWlyZSBncm9lcGVuIHdpc3NlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMQorbXNnaWQgIiAtLWtlZXAtZ3JvdXBzICAgICAgICAgICAga2VlcCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgIC0ta2VlcC1ncm91cHMgICAgICAgICAgICBkZSBzdXBwbGVtZW50YWlyZSBncm9lcGVuIGJlaG91ZGVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEyCittc2dpZCAiIC0tZ3JvdXBzIDxncm91cCwuLi4+ICAgICBzZXQgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiICAtLWdyb3VwcyA8Z3JvZXAsLi4uPiAgICAgc3VwcGxlbWVudGFpcmUgZ3JvZXBlbiBpbnN0ZWxsZW5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTMKK21zZ2lkICIgLS1zZWN1cmViaXRzIDxiaXRzPiAgICAgIHNldCBzZWN1cmViaXRzXG4iCittc2dzdHIgIiAgLS1zZWN1cmViaXRzIDxiaXRzPiAgICAgIGRlemUgJ3NlY3VyZWJpdHMnIGluc3RlbGxlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNAorbXNnaWQgIiAtLXNlbGludXgtbGFiZWwgPGxhYmVsPiAgc2V0IFNFTGludXggbGFiZWxcbiIKK21zZ3N0ciAiICAtLXNlbGludXgtbGFiZWwgPGxhYmVsPiAgU0VMaW51eC1sYWJlbCBpbnN0ZWxsZW5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTUKK21zZ2lkICIgLS1hcHBhcm1vci1wcm9maWxlIDxwcj4gIHNldCBBcHBBcm1vciBwcm9maWxlXG4iCittc2dzdHIgIiAgLS1hcHBhcm1vci1wcm9maWxlIDxwcm9maWVsPiAgQXBwQXJtb3ItcHJvZmllbCBpbnN0ZWxsZW5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjEKK21zZ2lkICIgVGhpcyB0b29sIGNhbiBiZSBkYW5nZXJvdXMuICBSZWFkIHRoZSBtYW5wYWdlLCBhbmQgYmUgY2FyZWZ1bC5cbiIKK21zZ3N0ciAiRGl0IGdlcmVlZHNjaGFwIGthbiBnZXZhYXJsaWprIHppam4uICBMZWVzIGRlIGhhbmRsZWlkaW5nLCBlbiB3ZWVzIHZvb3J6aWNodGlnLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE5MyBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2NworbXNnaWQgImdldHRpbmcgcHJvY2VzcyBzZWN1cmUgYml0cyBmYWlsZWQiCittc2dzdHIgImhldCB2ZXJrcmlqZ2VuIHZhbiBkZSAnc2VjdXJlYml0cycgdmFuIHByb2NlcyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN1cmViaXRzOiAiCittc2dzdHIgIlNlY3VyZWJpdHM6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdXG4iCittc2dzdHIgIltnZWVuXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIGxvbmciCittc2dzdHIgIiVzOiB0ZSBsYW5nIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwczogIgorbXNnc3RyICJTdXBwbGVtZW50YWlyZSBncm9lcGVuOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjczIHN5cy11dGlscy9zZXRwcml2LmM6MzIxIHN5cy11dGlscy9zZXRwcml2LmM6MzI2CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzMiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV0iCittc2dzdHIgIltnZWVuXSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkOiAldVxuIgorbXNnc3RyICJVSUQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImV1aWQ6ICV1XG4iCittc2dzdHIgIkVVSUQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1aWQ6ICV1XG4iCittc2dzdHIgIlNVSUQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjk5IHN5cy11dGlscy9zZXRwcml2LmM6MzkxCittc2dpZCAiZ2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAiZ2V0cmVzdWlkKCkgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMDggc3lzLXV0aWxzL3NldHByaXYuYzo0MDYKK21zZ2lkICJnZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJnZXRyZXNnaWQoKSBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICJFZmZlY3RpdmUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIkVmZmVjdGlldmUgY2FwYWJpbGl0aWVzOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBlcm1pdHRlZCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiVG9lZ2VzdGFuZSBjYXBhYmlsaXRpZXM6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIk92ZXJlcmZiYXJlIGNhcGFiaWxpdGllczogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzNQorIywgYy1mb3JtYXQKK21zZ2lkICJDYXBhYmlsaXR5IGJvdW5kaW5nIHNldDogIgorbXNnc3RyICJCZXBlcmtlbmRlIHNldCB2YW4gY2FwYWJpbGl0aWVzOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQzCittc2dpZCAiU0VMaW51eCBsYWJlbCIKK21zZ3N0ciAiU0VMaW51eC1sYWJlbCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDYKK21zZ2lkICJBcHBBcm1vciBwcm9maWxlIgorbXNnc3RyICJBcHBBcm1vci1wcm9maWVsIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYXAgJWQ6IGxpYmNhcC1uZyBpcyBicm9rZW4iCittc2dzdHIgImNhcCAlZDogJ2xpYmNhcC1uZycgbWlzZnVuY3Rpb25lZXJ0IgorCisjIEZJWE1FOiBzdGFydCB3aXRoIGxvd2VyY2FzZQorIzogc3lzLXV0aWxzL3NldHByaXYuYzozODIKK21zZ2lkICJJbnZhbGlkIHN1cHBsZW1lbnRhcnkgZ3JvdXAgaWQiCittc2dzdHIgIk9uZ2VsZGlnIElEIHZhbiBzdXBwbGVtZW50YWlyZSBncm9lcCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozOTkKK21zZ2lkICJzZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJzZXRyZXN1aWQoKSBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQxNAorbXNnaWQgInNldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgInNldHJlc2dpZCgpIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDM1Cittc2dpZCAiYmFkIGNhcGFiaWxpdHkgc3RyaW5nIgorbXNnc3RyICJvbmdlbGRpZ2UgY2FwYWJpbGl0eS10ZWtlbnJlZWtzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ0MworbXNnaWQgImxpYmNhcC1uZyBpcyB0b28gb2xkIGZvciBcImFsbFwiIGNhcHMiCittc2dzdHIgIidsaWJjYXAtbmcnIGlzIHRlIG91ZCB2b29yIGNhcGFiaWxpdHkgXCJhbGxcIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjYXBhYmlsaXR5IFwiJXNcIiIKK21zZ3N0ciAib25iZWtlbmRlIGNhcGFiaWxpdHkgXCIlc1wiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ3NgorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQgc2V0IC0tIHJlZnVzaW5nIHRvIGFkanVzdCIKK21zZ3N0ciAib25iZWtlbmRlIHNldCB2YW4gJ3NlY3VyZWJpdHMnIC0tIG5pZXQgYWFuZ2VwYXN0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ4MAorbXNnaWQgImJhZCBzZWN1cmViaXRzIHN0cmluZyIKK21zZ3N0ciAib25nZWxkaWdlICdzZWN1cmViaXRzJy10ZWtlbnJlZWtzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ4NworbXNnaWQgIithbGwgc2VjdXJlYml0cyBpcyBub3QgYWxsb3dlZCIKK21zZ3N0ciAiJythbGwgc2VjdXJlYml0cycgaXMgbmlldCB0b2VnZXN0YWFuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUwMAorbXNnaWQgImFkanVzdGluZyBrZWVwX2NhcHMgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiaGV0IGFhbnBhc3NlbiB2YW4gJ2tlZXBfY2FwcycgaXMgb256aW5uaWciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTA0Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAib25iZWtlbmRlICdzZWN1cmViaXQnIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUyNAorbXNnaWQgIlNFTGludXggaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIlNFTGludXggZHJhYWl0IG5pZXQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb3NlIGZhaWxlZDogJXMiCittc2dzdHIgInNsdWl0ZW4gaXMgbWlzbHVrdDogJXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTQ3Cittc2dpZCAiQXBwQXJtb3IgaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIkFwcEFybW9yIGRyYWFpdCBuaWV0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY1OAorbXNnaWQgImR1cGxpY2F0ZSAtLW5vLW5ldy1wcml2cyBvcHRpb24iCittc2dzdHIgImR1YmJlbGUgb3B0aWUgJy0tbm8tbmV3LXByaXZzJyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NjMKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCIKK21zZ3N0ciAiZHViYmVsZSBSVUlEIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY2NQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBydWlkIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gUlVJRCBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY2OQorbXNnaWQgImR1cGxpY2F0ZSBldWlkIgorbXNnc3RyICJkdWJiZWxlIEVVSUQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjcxCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGV1aWQiCittc2dzdHIgIm9udGxlZGVuIHZhbiBFVUlEIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njc1Cittc2dpZCAiZHVwbGljYXRlIHJ1aWQgb3IgZXVpZCIKK21zZ3N0ciAiZHViYmVsZSBSVUlEIG9mIEVVSUQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njc3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJldWlkIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gUkVVSUQgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODEKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCIKK21zZ3N0ciAiZHViYmVsZSBSR0lEIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZ2lkIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gUkdJRCBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4NworbXNnaWQgImR1cGxpY2F0ZSBlZ2lkIgorbXNnc3RyICJkdWJiZWxlIEVHSUQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njg5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVnaWQiCittc2dzdHIgIm9udGxlZGVuIHZhbiBFR0lEIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjkzCittc2dpZCAiZHVwbGljYXRlIHJnaWQgb3IgZWdpZCIKK21zZ3N0ciAiZHViYmVsZSBSR0lEIG9mIEVHSUQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njk1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJlZ2lkIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gUkVHSUQgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MDAKK21zZ2lkICJkdXBsaWNhdGUgLS1jbGVhci1ncm91cHMgb3B0aW9uIgorbXNnc3RyICJkdWJiZWxlIG9wdGllICctLWNsZWFyLWdyb3VwcyciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzA2Cittc2dpZCAiZHVwbGljYXRlIC0ta2VlcC1ncm91cHMgb3B0aW9uIgorbXNnc3RyICJkdWJiZWxlIG9wdGllICctLWtlZXAtZ3JvdXBzJyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MTIKK21zZ2lkICJkdXBsaWNhdGUgLS1ncm91cHMgb3B0aW9uIgorbXNnc3RyICJkdWJiZWxlIG9wdGllICctLWdyb3VwcyciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzIxCittc2dpZCAiZHVwbGljYXRlIC0taW5oLWNhcHMgb3B0aW9uIgorbXNnc3RyICJkdWJiZWxlIG9wdGllICctLWluaC1jYXBzJyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MjcKK21zZ2lkICJkdXBsaWNhdGUgLS1ib3VuZGluZy1zZXQgb3B0aW9uIgorbXNnc3RyICJkdWJiZWxlIG9wdGllICctLWJvdW5kaW5nLXNldCciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzMzCittc2dpZCAiZHVwbGljYXRlIC0tc2VjdXJlYml0cyBvcHRpb24iCittc2dzdHIgImR1YmJlbGUgb3B0aWUgJy0tc2VjdXJlYml0cyciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzM5Cittc2dpZCAiZHVwbGljYXRlIC0tc2VsaW51eC1sYWJlbCBvcHRpb24iCittc2dzdHIgImR1YmJlbGUgb3B0aWUgJy0tc2VsaW51eC1sYWJlbCciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzQ1Cittc2dpZCAiZHVwbGljYXRlIC0tYXBwYXJtb3ItcHJvZmlsZSBvcHRpb24iCittc2dzdHIgImR1YmJlbGUgb3B0aWUgJy0tYXBwYXJtb3ItcHJvZmlsZSciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzU2CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJyVjJyIKK21zZ3N0ciAib25iZWtlbmRlIG9wdGllICclYyciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzYzCittc2dpZCAiLS1kdW1wIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBvcHRpb25zIgorbXNnc3RyICJvcHRpZSAnLS1kdW1wJyBpcyBpbmNvbXBhdGliZWwgbWV0IGFsbGUgYW5kZXJlIG9wdGllcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzEKK21zZ2lkICItLWxpc3QtY2FwcyBtdXN0IGJlIHNwZWNpZmllZCBhbG9uZSIKK21zZ3N0ciAib3B0aWUgJy0tbGlzdC1jYXBzJyBtb2V0IGFsbMOpw6luIGdlZ2V2ZW4gd29yZGVuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3NworbXNnaWQgIk5vIHByb2dyYW0gc3BlY2lmaWVkIgorbXNnc3RyICJnZWVuIHByb2dyYW1tYSBhYW5nZWdldmVuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4MgorbXNnaWQgIi0tW3JlXWdpZCByZXF1aXJlcyAtLWtlZXAtZ3JvdXBzLCAtLWNsZWFyLWdyb3Vwcywgb3IgLS1ncm91cHMiCittc2dzdHIgIm9wdGllICctLVtyZV1naWQnIHZlcmVpc3QgJy0tZ3JvdXBzJywgJy0ta2VlcC1ncm91cHMnLCBvZiAnLS1jbGVhci1ncm91cHMnIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4NQorbXNnaWQgImRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzIGZhaWxlZCIKK21zZ3N0ciAiaGV0IHZlcmJpZWRlbiB2YW4gaGV0IHRvZWtlbm5lbiB2YW4gbmlldXdlIHByaXZpbGVnZXMgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTMKK21zZ2lkICJrZWVwIHByb2Nlc3MgY2FwYWJpbGl0aWVzIGZhaWxlZCIKK21zZ3N0ciAiaGV0IGJlaG91ZGVuIHZhbiBjYXBhYmlsaXRpZXMgdmFuIHByb2NlcyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwMQorbXNnaWQgImFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiY2FwYWJpbGl0aWVzIGFjdGl2ZXJlbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDcKK21zZ2lkICJyZWFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiY2FwYWJpbGl0aWVzIGhlcmFjdGl2ZXJlbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjMKK21zZ2lkICJzZXQgcHJvY2VzcyBzZWN1cmViaXRzIGZhaWxlZCIKK21zZ3N0ciAiaGV0IGluc3RlbGxlbiB2YW4gZGUgJ3NlY3VyZWJpdHMnIHZhbiBwcm9jZXMgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjkKK21zZ2lkICJhcHBseSBib3VuZGluZyBzZXQiCittc2dzdHIgImRlIGJlcGVya2VuZGUgc2V0IHRvZXBhc3NlbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzUKK21zZ2lkICJhcHBseSBjYXBhYmlsaXRpZXMiCittc2dzdHIgImNhcGFiaWxpdGllcyB0b2VwYXNzZW4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODQwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBleGVjdXRlOiAlcyIKK21zZ3N0ciAia2FuICclcycgbmlldCB1aXR2b2VyZW4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozMgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJndW1lbnRzIC4uLl1cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSA8cHJvZ3JhbW1hPiBbPGFyZ3VtZW50Pi4uLl1cbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjM2Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSBpbiBhIG5ldyBzZXNzaW9uLlxuIgorbXNnc3RyICJEcmFhaXQgZWVuIHByb2dyYW1tYSBpbiBlZW4gbmlldXdlIHNlc3NpZS5cbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjM5Cittc2dpZCAiIC1jLCAtLWN0dHkgICAgIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwgdG8gdGhlIGN1cnJlbnQgb25lXG4iCittc2dzdHIgIiAgLWMsIC0tY3R0eSAgICAgZGUgc3R1cmVuZGUgdGVybWluYWwgaW5zdGVsbGVuIG9wIGRlIGh1aWRpZ2VcbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQwCittc2dpZCAiIC13LCAtLXdhaXQgICAgIHdhaXQgcHJvZ3JhbSB0byBleGl0LCBhbmQgdXNlIHRoZSBzYW1lIHJldHVyblxuIgorbXNnc3RyICIgIC13LCAtLXdhaXQgICAgIHdhY2h0ZW4gdG90IHByb2dyYW1tYSBhZnNsdWl0IGVuIGRpZW5zIGFmc2x1aXR3YWFyZGUgb3Zlcm5lbWVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo5MworbXNnaWQgImZvcmsiCittc2dzdHIgImZvcmsoKSBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTA1CisjLCBjLWZvcm1hdAorbXNnaWQgImNoaWxkICVkIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAiZG9jaHRlcnByb2NlcyAlZCBpcyBuaWV0IG5vcm1hYWwgYWZnZXNsb3RlbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExMAorbXNnaWQgInNldHNpZCBmYWlsZWQiCittc2dzdHIgInNldHNpZCgpIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTMKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCIKK21zZ3N0ciAiaGV0IGluc3RlbGxlbiB2YW4gZGUgc3R1cmVuZGUgdGVybWluYWwgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb2ZmICVzXG4iCittc2dzdHIgInN3YXBvZmYgJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDUKK21zZ2lkICJOb3Qgc3VwZXJ1c2VyLiIKK21zZ3N0ciAiVSBiZW50IG5pZXQgcm9vdC4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb2ZmIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN3YXBvZmYgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjIgc3lzLXV0aWxzL3N3YXBvbi5jOjc4OAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8c3BlYz5dXG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gWzxuYWFtPl1cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjUKK21zZ2lkICJEaXNhYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICJEZWFjdGl2ZWVydCBhcHBhcmF0ZW4gZW4gYmVzdGFuZGVuIG1ldCB3aXNzZWxnZWhldWdlbi5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjgKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgc3dhcHMgZnJvbSAvcHJvYy9zd2Fwc1xuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIiCisiICAtYSwgLS1hbGwgICAgICAgICAgYWxsZSB3aXNzZWxnZWJpZWRlbiB1aXQgL3Byb2Mvc3dhcHMgdWl0c2NoYWtlbGVuXG4iCisiICAtdiwgLS12ZXJib3NlICAgICAgZ2VkZXRhaWxsZWVyZGUgdWl0dm9lciBwcm9kdWNlcmVuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTM1Cittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisiXG4iCisiRGUgcGFyYW1ldGVyIDxuYWFtPiBrYW4gemlqbjpcbiIKKyIgIC1MIDxsYWJlbD4gfCBMQUJFTD08bGFiZWw+ICAgIGxhYmVsIHZhbiB0ZSBnZWJydWlrZW4gYXBwYXJhYXRcbiIKKyIgIC1VIDx1dWlkPiB8IFVVSUQ9PHV1aWQ+ICAgICAgIFVVSUQgdmFuIHRlIGdlYnJ1aWtlbiBhcHBhcmFhdFxuIgorIiAgPGFwcGFyYWF0PiAgICAgICAgICAgICAgICAgICAgbmFhbSB2YW4gdGUgZ2VicnVpa2VuIGFwcGFyYWF0XG4iCisiICA8YmVzdGFuZD4gICAgICAgICAgICAgICAgICAgICBuYWFtIHZhbiB0ZSBnZWJydWlrZW4gYmVzdGFuZFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTMKK21zZ2lkICJkZXZpY2UgZmlsZSBvciBwYXJ0aXRpb24gcGF0aCIKK21zZ3N0ciAiYXBwYXJhYXRiZXN0YW5kIG9mIHBhcnRpdGllcGFkIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTQKK21zZ2lkICJ0eXBlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgInNvb3J0IGFwcGFyYWF0IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTUKK21zZ2lkICJzaXplIG9mIHRoZSBzd2FwIGFyZWEiCittc2dzdHIgImdyb290dGUgdmFuIHdpc3NlbGdlYmllZCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk2Cittc2dpZCAiYnl0ZXMgaW4gdXNlIgorbXNnc3RyICJnZWJydWlrdGUgYnl0ZXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NworbXNnaWQgInN3YXAgcHJpb3JpdHkiCittc2dzdHIgInN3YXAtcHJpb3JpdGVpdCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk4Cittc2dpZCAic3dhcCB1dWlkIgorbXNnc3RyICJzd2FwLVVVSUQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OQorbXNnaWQgInN3YXAgbGFiZWwiCittc2dzdHIgInN3YXAtbGFiZWwiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNcdFx0XHRcdFR5cGVcdFx0U2l6ZVx0VXNlZFx0UHJpb3JpdHlcbiIKK21zZ3N0ciAiJXNcdFx0XHRcdFNvb3J0XHRcdEdyb290dGVcdEdlYnJ1aWt0XHRQcmlvcml0ZWl0XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNDYKK21zZ2lkICJGaWxlbmFtZSIKK21zZ3N0ciAiQmVzdGFuZHNuYWFtIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWluaXRpYWxpemluZyB0aGUgc3dhcC4iCittc2dzdHIgIiVzOiBoZXJpbml0aWFsaXNhdGllIHZhbiBoZXQgd2lzc2VsZ2VoZXVnZW4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxzZWVrIGZhaWxlZCIKK21zZ3N0ciAiJXM6ICdsc2VlaycgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgc2lnbmF0dXJlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHNjaHJpanZlbiB2YW4gdmluZ2VyYWZkcnVrIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIC0gaXQgYXBwZWFycyB0byBoYXZlIGhvbGVzLiIKK21zZ3N0ciAiJXM6IHdvcmR0IG92ZXJnZXNsYWdlbiAtLSBoZXQgbGlqa3QgZ2F0ZW4gdGUgaGViYmVuLiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0IHNpemUgZmFpbGVkIgorbXNnc3RyICIlczogYWNodGVyaGFsZW4gdmFuIGdyb290dGUgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBzd2FwIGhlYWRlciBmYWlsZWQiCittc2dzdHIgIiVzOiBsZXplbiB2YW4ga29wIHZhbiB3aXNzZWxnZWhldWdlbiBpcyBtaXNsdWt0IgorCisjIEZJWE1FOiAldWQ/CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmb3VuZCBzaWduYXR1cmUgW3BhZ2VzaXplPSVkLCBzaWduYXR1cmU9JXNdIgorbXNnc3RyICIlczogd2lzc2VsZ2VoZXVnZW52aW5nZXJhZmRydWsgZ2V2b25kZW4gW3BhZ2luYWdyb290dGU9JWQsIHZpbmdlcmFmZHJ1az0lc10iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhZ2VzaXplPSVkLCBzd2Fwc2l6ZT0lbGx1LCBkZXZzaXplPSVsbHUiCittc2dzdHIgIiVzOiBwYWdpbmFncm9vdHRlPSVkLCB3aXNzZWxncm9vdHRlPSVsbHUsIGFwcGFyYWF0Z3Jvb3R0ZT0lbGx1IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsYXN0X3BhZ2UgMHglMDhsbHggaXMgbGFyZ2VyIHRoYW4gYWN0dWFsIHNpemUgb2Ygc3dhcHNwYWNlIgorbXNnc3RyICIlczogb3BnZXNsYWdlbiBncm9vdHRlICgweCUwOGxseCkgdmFuIHdpc3NlbGdlaGV1Z2VuIGlzIGdyb3RlciBkYW4gZGUgZmVpdGVsaWprZSBydWltdGUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiIKK21zZ3N0ciAiJXM6IG9wZ2VzbGFnZW4gcGFnaW5hZ3Jvb3R0ZSBrbG9wdCBuaWV0IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4gKFVzZSAtLWZpeHBnc3ogdG8gcmVpbml0aWFsaXplIGl0LikiCittc2dzdHIgIiIKKyIlczogb3BnZXNsYWdlbiBwYWdpbmFncm9vdHRlIGtsb3B0IG5pZXQ7XG4iCisiZ2VicnVpayAnLS1maXhwZ3N6JyBvbSBkaXQgdGUgY29ycmlnZXJlbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc29mdHdhcmUgc3VzcGVuZCBkYXRhIGRldGVjdGVkLiBSZXdyaXRpbmcgdGhlIHN3YXAgc2lnbmF0dXJlLiIKK21zZ3N0ciAiJXM6IHNsYWFwZ2VnZXZlbnMgZ2V2b25kZW4gLS0gdmluZ2VyYWZkcnVrIHdvcmR0IG9wbmlldXcgZ2VzY2hyZXZlbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb24gJXNcbiIKK21zZ3N0ciAic3dhcG9uICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvbiBmYWlsZWQiCittc2dzdHIgIiVzOiBzd2Fwb24gaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9hdXRvIG9wdGlvbiAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogaGVlZnQgbm9hdXRvIG9wdGllIC0tIGlzIG92ZXJnZXNsYWdlbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBhY3RpdmUgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IGlzIGFsIGFjdGllZiAtLSBnZW5lZ2VlcmQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluYWNjZXNzaWJsZSAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogaXMgb250b2VnYW5rZWxpamsgLS0gZ2VuZWdlZXJkIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzkxCittc2dpZCAiRW5hYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICJBY3RpdmVlcnQgYXBwYXJhdGVuIGVuIGJlc3RhbmRlbiBtZXQgd2lzc2VsZ2VoZXVnZW4uXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTQKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiAgLWEsIC0tYWxsICAgICAgICAgICAgICAgICBhbGxlIHdpc3NlbGdlaGV1Z2VucyBpbiAvZXRjL2ZzdGFiIGFjdGl2ZXJlblxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk1Cittc2dpZCAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorbXNnc3RyICIgIC1kLCAtLWRpc2NhcmRbPTxiZWxlaWQ+XSAgdmVyd2VycGluZ2VuIGFjdGl2ZXJlbiwgYWxzIGFwcGFyYWF0IGRhdCBrZW50XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTYKK21zZ2lkICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHNpbGVudGx5IHNraXAgZGV2aWNlcyB0aGF0IGRvIG5vdCBleGlzdFxuIgorbXNnc3RyICIgIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICAgYXBwYXJhdGVuIGRpZSBuaWV0IGJlc3RhYW4gc3RpbHp3aWpnZW5kIG92ZXJzbGFhblxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk3Cittc2dpZCAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICByZWluaXRpYWxpemUgdGhlIHN3YXAgc3BhY2UgaWYgbmVjZXNzYXJ5XG4iCittc2dzdHIgIiAgLWYsIC0tZml4cGdzeiAgICAgICAgICAgICB3aXNzZWxnZWhldWdlbiBpbmRpZW4gbm9kaWcgaGVyaW5pdGlhbGlzZXJlblxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk4Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBzd2FwIG9wdGlvbnNcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zIDxsaWpzdD4gICAgIGtvbW1hZ2VzY2hlaWRlbiBsaWpzdCB2YW4gd2lzc2VsZ2VoZXVnZW5vcHRpZXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5OQorbXNnaWQgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgc3BlY2lmeSB0aGUgcHJpb3JpdHkgb2YgdGhlIHN3YXAgZGV2aWNlXG4iCittc2dzdHIgIiAgLXAsIC0tcHJpb3JpdHkgPGdldGFsPiAgICB0ZSBnZWJydWlrZW4gcHJpb3JpdGVpdCB2YW4gd2lzc2VsZ2VoZXVnZW5hcHBhcmFhdFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAwCittc2dpZCAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBkaXNwbGF5IHN1bW1hcnkgYWJvdXQgdXNlZCBzd2FwIGRldmljZXMgKERFUFJFQ0FURUQpXG4iCittc2dzdHIgIiAgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgICBnZWJydWlrdGUgd2lzc2VsZ2VoZXVnZW5hcHBhcmF0ZW4gb3Bzb21tZW4gIFtPVURdXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDEKK21zZ2lkICIgICAgIC0tc2hvd1s9PGNvbHVtbnM+XSAgIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKK21zZ3N0ciAiICAgICAgLS1zaG93Wz08bGlqc3Q+XSAgICAgIHNhbWVudmF0dGluZyB0b25lbiBpbiBkZWZpbmllZXJiYXJlIHRhYmVsXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDIKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IHRhYmxlIGhlYWRpbmcgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgICAgICAtLW5vaGVhZGluZ3MgICAgICAgICAgZ2VlbiBrb3ByZWdlbCB0b25lbiAoYmlqICctLXNob3cnKVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAzCittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0ICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAgICAgLS1yYXcgICAgICAgICAgICAgICAgIHJhdXdlIHVpdHZvZXIgcHJvZHVjZXJlblxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA0Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgc2l6ZSBpbiBieXRlcyBpbiAtLXNob3cgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICB3aXNzZWxnZWhldWdlbmdyb290dGUgdG9uZW4gaW4gYnl0ZXMgKGJpaiAnLS1zaG93JylcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBnZWRldGFpbGxlZXJkZSB1aXR2b2VyIHByb2R1Y2VyZW5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIkRlIHBhcmFtZXRlciA8bmFhbT4ga2FuIHppam46XG4iCisiICAtTCA8bGFiZWw+IHwgTEFCRUw9PGxhYmVsPiAgICBsYWJlbCB2YW4gdGUgZ2VicnVpa2VuIGFwcGFyYWF0XG4iCisiICAtVSA8dXVpZD4gfCBVVUlEPTx1dWlkPiAgICAgICBVVUlEIHZhbiB0ZSBnZWJydWlrZW4gYXBwYXJhYXRcbiIKKyIgIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgICAgICAgIGxhYmVsIHZhbiB0ZSBnZWJydWlrZW4gcGFydGl0aWVcbiIKKyIgIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgICAgICAgIFVVSUQgdmFuIHRlIGdlYnJ1aWtlbiBwYXJ0aXRpZVxuIgorIiAgPGFwcGFyYWF0PiAgICAgICAgICAgICAgICAgICAgbmFhbSB2YW4gdGUgZ2VicnVpa2VuIGFwcGFyYWF0XG4iCisiICA8YmVzdGFuZD4gICAgICAgICAgICAgICAgICAgICBuYWFtIHZhbiB0ZSBnZWJydWlrZW4gYmVzdGFuZFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODIxCittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBkaXNjYXJkIHBvbGljeSB0eXBlcyAoZm9yIC0tZGlzY2FyZCk6XG4iCisiIG9uY2UgICAgOiBvbmx5IHNpbmdsZS10aW1lIGFyZWEgZGlzY2FyZHMgYXJlIGlzc3VlZFxuIgorIiBwYWdlcyAgIDogZnJlZWQgcGFnZXMgYXJlIGRpc2NhcmRlZCBiZWZvcmUgdGhleSBhcmUgcmV1c2VkXG4iCisiSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCBib3RoIGRpc2NhcmQgdHlwZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQpLlxuIgorbXNnc3RyICIiCisiXG4iCisiQmVzY2hpa2JhcmUgdmVyd2VycGluZ3Nzb29ydGVuICh2b29yIG9wdGllICctLWRpc2NhcmQnKTpcbiIKKyIgIG9uY2UgICAgYWxsZWVuIGVlbm1hbGlnZSBnZWJpZWRzdmVyd2VycGluZ2VuIGdlYnJ1aWtlblxuIgorIiAgcGFnZXMgICB2cmlqZSBwYWdpbmEncyB2ZXJ3ZXJwZW4gYWx2b3JlbnMgemUgdGUgaGVyZ2VicnVpa2VuXG4iCisiQWxzIGdlZW4gYmVsZWlkIGdla296ZW4gd29yZHQsIHdvcmRlbiBiZWlkZSBzb29ydGVuIGdlYnJ1aWt0IChzdGFuZGFhcmQpLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODI2Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93KTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkJlc2NoaWtiYXJlIGtvbG9tbWVuICh2b29yICctLXNob3cnKSB6aWpuOlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTA0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHByaW9yaXR5IgorbXNnc3RyICJvbnRsZWRlbiB2YW4gcHJpb3JpdGVpdCBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTIzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAib25nZWxkaWcgdmVyd2VycGluZ3NiZWxlaWQ6ICVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHRoZSBkZXZpY2UgZm9yICVzIgorbXNnc3RyICJrYW4gZ2VlbiBhcHBhcmFhdCB2aW5kZW4gdm9vciAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NTkKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkaXJlY3RvcnkiCittc2dzdHIgIm9wZW5lbiB2YW4gbWFwIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjY3Cittc2dpZCAic3RhdCBmYWlsZWQiCittc2dzdHIgIm9wdnJhZ2VuIHZhbiBiZXN0YW5kc3N0YXR1cyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo3OAorbXNnaWQgImZhaWxlZCB0byByZWFkIGRpcmVjdG9yeSIKK21zZ3N0ciAia2FuIG1hcCBuaWV0IGxlemVuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVubGluayAlcyIKK21zZ3N0ciAidmVyd2lqZGVyZW4gdmFuICVzIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvICVzIgorbXNnc3RyICJhYW5rb3BwZWxlbiBtZXQgdmVycGxhYXRzaW5nIHZhbiAlcyBuYWFyICVzIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JjaW5nIHVubW91bnQgb2YgJXMiCittc2dzdHIgImdlZHdvbmdlbiBhZmtvcHBlbGluZyB2YW4gJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAid2lqemlnZW4gdmFuIGh1aWRpZ2UgbWFwIG5hYXIgJXMgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTY5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gLyIKK21zZ3N0ciAiYWFua29wcGVsZW4gbWV0IHZlcnBsYWF0c2luZyB2YW4gJXMgbmFhciAvIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3NQorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCIKK21zZ3N0ciAid2lqemlnZW4gdmFuIGhvb2ZkbWFwIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE4OAorbXNnaWQgIm9sZCByb290IGZpbGVzeXN0ZW0gaXMgbm90IGFuIGluaXRyYW1mcyIKK21zZ3N0ciAib3VkZSBob29mZGJlc3RhbmRzc3lzdGVlbSBpcyBnZWVuICdpbml0cmFtZnMnIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bmV3cm9vdGRpcj4gPGluaXQ+IDxhcmdzIHRvIGluaXQ+XG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gPG5pZXV3ZV9ob29mZG1hcD4gPGluaXQ+IDxhcmd1bWVudGVuX3Zvb3JfaW5pdD5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA0Cittc2dpZCAiU3dpdGNoIHRvIGFub3RoZXIgZmlsZXN5c3RlbSBhcyB0aGUgcm9vdCBvZiB0aGUgbW91bnQgdHJlZS5cbiIKK21zZ3N0ciAiTWFha3QgZWVuIGFuZGVyIGJlc3RhbmRzc3lzdGVlbSBkZSBob29mZG1hcCB2YW4gaGV0IGRyYWFpZW5kZSBzeXN0ZWVtLlxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMzYKK21zZ2lkICJmYWlsZWQuIFNvcnJ5LiIKK21zZ3N0ciAiaXMgbWlzbHVrdCwgc29ycnkiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgYWNjZXNzICVzIgorbXNnc3RyICJrYW4gZ2VlbiB0b2VnYW5nIHRvdCAlcyB2ZXJrcmlqZ2VuIgorCisjIE5OTiBmb3JnZXQgdHVuZWxwCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTQKK21zZ2lkICJTZXQgdmFyaW91cyBwYXJhbWV0ZXJzIGZvciB0aGUgbGluZSBwcmludGVyLlxuIgorbXNnc3RyICIiCisKKyMgTk5OIGZvcmdldCB0dW5lbHAKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5NworbXNnaWQgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIHNwZWNpZnkgcGFyYWxsZWwgcG9ydCBpcnFcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTgKK21zZ2lkICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICBkcml2ZXIgd2FpdCB0aW1lIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5OQorbXNnaWQgIiAtYywgLS1jaGFycyA8bnVtPiAgICAgICAgICAgIG51bWJlciBvZiBvdXRwdXQgY2hhcmFjdGVycyBiZWZvcmUgc2xlZXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAwCittc2dpZCAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgc3Ryb2JlIHdhaXQgaW4gbWljcm8gc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBkbyBub3QgdHJhbnNsYXRlIDxvbnxvZmY+IGFyZ3VtZW50cy4gVGhlCisjLiBhcmd1bWVudCByZWFkZXIgZG9lcyBub3QgcmVjb2duaXplIGxvY2FsZSwgdW5sZXNzIGBvbicgaXMKKyMuIGV4YWN0bHkgdGhhdCB2ZXJ5IHNhbWUgc3RyaW5nLgorIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNAorbXNnaWQgIiAtYSwgLS1hYm9ydCA8b258b2ZmPiAgICAgICAgIGFib3J0IG9uIGVycm9yXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNQorbXNnaWQgIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gIGNoZWNrIHByaW50ZXIgc3RhdHVzIGJlZm9yZSBwcmludGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDYKK21zZ2lkICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICBleHRyYSBjaGVja2luZyB0byBzdGF0dXMgY2hlY2tcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA3Cittc2dpZCAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAgcXVlcnkgcHJpbnRlciBzdGF0dXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA4Cittc2dpZCAiIC1ULCAtLXRydXN0LWlycSA8b258b2ZmPiAgICAgbWFrZSBkcml2ZXIgdG8gdHJ1c3QgaXJxXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOQorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIHJlc2V0IHRoZSBwb3J0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMAorbXNnaWQgIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgIGRpc3BsYXkgY3VycmVudCBpcnEgc2V0dGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGFuIGxwIGRldmljZSIKK21zZ3N0ciAiJXMgaXMgZ2VlbiBwcmludGVyYXBwYXJhYXQiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODAKK21zZ2lkICJMUEdFVFNUQVRVUyBlcnJvciIKK21zZ3N0ciAiaW9jdGwoTFBHRVRTVEFUVVMpIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3RhdHVzIGlzICVkIgorbXNnc3RyICJzdGF0dXMgdmFuICVzOiAlZCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIsIGJ1c3kiCittc2dzdHIgIiwgYmV6aWciCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCByZWFkeSIKK21zZ3N0ciAiLCBnZXJlZWQiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvdXQgb2YgcGFwZXIiCittc2dzdHIgIiwgcGFwaWVyIGlzIG9wIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb24tbGluZSIKK21zZ3N0ciAiLCBzdGFhdCBhYW4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBlcnJvciIKK21zZ3N0ciAiLCBmb3V0IgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzAwCittc2dpZCAiaW9jdGwgZmFpbGVkIgorbXNnc3RyICJpb2N0bCgpIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTAKK21zZ2lkICJMUEdFVElSUSBlcnJvciIKK21zZ3N0ciAiaW9jdGwoTFBHRVRJUlEpIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgSVJRICVkXG4iCittc2dzdHIgIiVzIGdlYnJ1aWt0IElSUSAlZFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIHBvbGxpbmdcbiIKK21zZ3N0ciAiJXMgd29yZHQgYWN0aWVmIGdlcG9sc3RcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiB8IDxkaXJlY3Rvcnk+XG4iCittc2dzdHIgIiIKKyIgICUxJHMgWy1oVl0gfCAtYSBbb3B0aWVzXVxuIgorIiAgJTEkcyBbb3B0aWVzXSA8YnJvbj4gfCA8bWFwPlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODEKK21zZ2lkICJVbm1vdW50IGZpbGVzeXN0ZW1zLlxuIgorbXNnc3RyICJLb3BwZWx0IGJlc3RhbmRzc3lzdGVtZW4gYWYuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICB1bm1vdW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgYWxsZSBiZXN0YW5kc3N5c3RlbWVuIGFma29wcGVsZW5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg1Cittc2dpZCAiIgorIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICB1bm1vdW50IGFsbCBtb3VudHBvaW50cyBmb3IgdGhlIGdpdmVuIGRldmljZSBpbiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisiICAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICAgIGFsbGUgYWFua29wcGVsaW5nc3B1bnRlbiB2YW4gZ2VnZXZlbiBhcHBhcmFhdFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGh1aWRpZ2UgbmFhbXNydWltdGUgYWZrb3BwZWxlblxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODcKK21zZ2lkICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCittc2dzdHIgIiAgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgICBwYWRlbiBuaWV0IGNhbm9uaWVrIG1ha2VuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OAorbXNnaWQgIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICBpZiBtb3VudGVkIGxvb3AgZGV2aWNlLCBhbHNvIGZyZWUgdGhpcyBsb29wIGRldmljZVxuIgorbXNnc3RyICIgIC1kLCAtLWRldGFjaC1sb29wICAgICAgICAgaW5kaWVuIGx1cy1hcHBhcmFhdCwgZGV6ZSBib3ZlbmRpZW4gb250aGVjaHRlblxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODkKK21zZ2lkICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgdW1vdW50KDIpIHN5c2NhbGxcbiIKK21zZ3N0ciAiICAgICAgLS1mYWtlICAgICAgICAgICAgICAgIGRvZW4gYWxzb2Y7IGRlIHVtb3VudCgyKS1zeXN0ZWVtYWFucm9lcCBvdmVyc2xhYW5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkwCittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIGZvcmNlIHVubW91bnQgKGluIGNhc2Ugb2YgYW4gdW5yZWFjaGFibGUgTkZTIHN5c3RlbSlcbiIKK21zZ3N0ciAiICAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGdlZm9yY2VlcmQgYWZrb3BwZWxlbiAoYmlqIG9uYmVyZWlrYmFhciBORlMtc3lzdGVlbSlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkxCittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIHVtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIgIC1pLCAtLWludGVybmFsLW9ubHkgICAgICAgbmlldCBkZSAndW1vdW50Ljx0eXBlPicgaHVscHByb2dyYW1tYSdzIGdlYnJ1aWtlblxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTMKK21zZ2lkICIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgZGV0YWNoIHRoZSBmaWxlc3lzdGVtIG5vdywgY2xlYW4gdXAgdGhpbmdzIGxhdGVyXG4iCittc2dzdHIgIiAgLWwsIC0tbGF6eSAgICAgICAgICAgICAgICBiZXN0YW5kc3N5c3RlZW0gbnUgb250aGVjaHRlbiwgbGF0ZXIgb3BydWltZW5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk0Cittc2dpZCAiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorbXNnc3RyICIgIC1PLCAtLXRlc3Qtb3B0cyA8bGlqc3Q+ICAgc2V0IHZhbiBiZXN0YW5kc3N5c3RlbWVuIGJlcGVya2VuIChiaWogJy1hJylcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk1Cittc2dpZCAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IHVubW91bnQgYSB0YXJnZXQgd2l0aCBhbGwgaXRzIGNoaWxkcmVuXG4iCittc2dzdHIgIiAgLVIsIC0tcmVjdXJzaXZlICAgICAgICAgICBkb2VsIHJlY3Vyc2llZiBhZmtvcHBlbGVuIGluY2x1c2llZiBhbGwgZG9jaHRlcnNcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk2Cittc2dpZCAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIGluIGNhc2UgdW5tb3VudGluZyBmYWlscywgdHJ5IHRvIHJlbW91bnQgcmVhZC1vbmx5XG4iCittc2dzdHIgIiIKKyIgIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgd2FubmVlciBhZmtvcHBlbGVuIGZhYWx0LCBkYW4gaGVyYWFua29wcGVsZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHMgYWxsZWVuLWxlemVuIHByb2JlcmVuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NworbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiICAtdCwgLS10eXBlcyA8bGlqc3Q+ICAgICAgIGRlIHNldCB2YW4gYmVzdGFuZHNzeXN0ZWVtc29vcnRlbiBiZXBlcmtlblxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcykgdW5tb3VudGVkIgorbXNnc3RyICIlcyAoJXMpIGlzIGFmZ2Vrb3BwZWxkIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVubW91bnRlZCIKK21zZ3N0ciAiJXMgaXMgYWZnZWtvcHBlbGQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVtb3VudCBmYWlsZWQiCittc2dzdHIgIiVzOiBhZmtvcHBlbGVuIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZpbGVzeXN0ZW0gd2FzIHVubW91bnRlZCwgYnV0IG1vdW50KDgpIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGJlc3RhbmRzc3lzdGVlbSBpcyBhZmdla29wcGVsZCwgbWFhciBtb3VudCg4KSBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXM6IG9uZ2VsZGlnIGJsb2stYXBwYXJhYXQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IHdyaXRlIHN1cGVyYmxvY2siCittc2dzdHIgIiVzOiBrYW4gbmlldCBuYWFyIHN1cGVyYmxvayBzY2hyaWp2ZW4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzOiB0YXJnZXQgaXMgYnVzeVxuIgorIiAgICAgICAgKEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gYWJvdXQgcHJvY2Vzc2VzIHRoYXRcbiIKKyIgICAgICAgICB1c2UgdGhlIGRldmljZSBpcyBmb3VuZCBieSBsc29mKDgpIG9yIGZ1c2VyKDEpLikiCittc2dzdHIgIiIKKyIlczogZG9lbCBpcyBiZXppZ1xuIgorIiAgICAgICAgKFdlbGtlIHByb2Nlc3NlbiBoZXQgYXBwYXJhYXQgZ2VicnVpa2VuIGthbiBtb2dlbGlqa1xuIgorIiAgICAgICAgIGdldm9uZGVuIHdvcmRlbiBtZXQgYmVodWxwIHZhbiBsc29mKDgpIG9mIGZ1c2VyKDEpLikiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50cG9pbnQgbm90IGZvdW5kIgorbXNnc3RyICIlczogYWFua29wcGVsaW5nc3B1bnQgaXMgbmlldCBnZXZvbmRlbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1MAorbXNnaWQgInVuZGVmaW5lZCBtb3VudHBvaW50IgorbXNnc3RyICJvbmdlZGVmaW5pZWVyZCBhYW5rb3BwZWxpbmdzcHVudCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdW5tb3VudCIKK21zZ3N0ciAiJXM6IHUgbW9ldCByb290IHppam4gb20gdGUga3VubmVuIGFma29wcGVsZW4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJsb2NrIGRldmljZXMgYXJlIG5vdCBwZXJtaXR0ZWQgb24gZmlsZXN5c3RlbSIKK21zZ3N0ciAiJXM6IGJsb2stYXBwYXJhdGVuIHppam4gbmlldCB0b2VnZXN0YWFuIG9wIGJlc3RhbmRzc3lzdGVlbSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMwNworbXNnaWQgImZhaWxlZCB0byBzZXQgdW1vdW50IHRhcmdldCIKK21zZ3N0ciAiaW5zdGVsbGVuIHZhbiBhZmtvcHBlbGluZ3Nkb2VsIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozMjMKK21zZ2lkICJsaWJtb3VudCB0YWJsZSBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAiZ2VoZXVnZW5yZXNlcnZlcmluZyB2b29yIGxpYm1vdW50LXRhYmVsIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozNjYgc3lzLXV0aWxzL3Vtb3VudC5jOjQ0NgorbXNnaWQgImxpYm1vdW50IGl0ZXJhdG9yIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJnZWhldWdlbnJlc2VydmVyaW5nIHZvb3IgbGlibW91bnQtaXRlcmF0b3IgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGNoaWxkIGZzIG9mICVzIgorbXNnc3RyICJ2ZXJrcmlqZ2VuIHZhbiBkb2NodGVyYmVzdGFuZHNzeXN0ZWVtIHZhbiAlcyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NDEwIHN5cy11dGlscy91bW91bnQuYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBmb3VuZCIKK21zZ3N0ciAiJXM6IG5pZXQgZ2V2b25kZW4iCisKKyMgRklYTUU6IHJlbW92ZSBwZXJpb2QKKyM6IHN5cy11dGlscy91bW91bnQuYzo0NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlICgtLWFsbC10YXJnZXRzIGlzIHVuc3VwcG9ydGVkIG9uIHN5c3RlbXMgd2l0aCByZWd1bGFyIG10YWIgZmlsZSkuIgorbXNnc3RyICIiCisiJXM6IGJlcGFsZW4gdmFuIGJyb24gaXMgbWlzbHVrdFxuIgorIignLS1hbGwtdGFyZ2V0cycgd29yZHQgbmlldCBvbmRlcnN0ZXVuZCBvcCBzeXN0ZW1lbiBtZXQgZWVuIGdld29vbiAnbXRhYictYmVzdGFuZCkiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zZXRncm91cHMgYXJndW1lbnQgJyVzJyIKK21zZ3N0ciAibmlldC1vbmRlcnN0ZXVuZCBhcmd1bWVudCB2YW4gJy0tc2V0Z3JvdXBzJzogJyVzJyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMTAgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkICVzIgorbXNnc3RyICJzY2hyaWp2ZW4gdmFuICVzIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByb3BhZ2F0aW9uIG1vZGU6ICVzIgorbXNnc3RyICJvbmdlbGRpZ2UgcHJvcGFnYXRpZW1vZHVzOiAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNTcKK21zZ2lkICJjYW5ub3QgY2hhbmdlIHJvb3QgZmlsZXN5c3RlbSBwcm9wYWdhdGlvbiIKK21zZ3N0ciAia2FuIHByb3BhZ2F0aWUgdm9vciByb290LWJlc3RhbmRzc3lzdGVlbSBuaWV0IHdpanppZ2VuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCAlcyIKK21zZ3N0ciAia2FuIHN0YXR1cyB2YW4gJyVzJyBuaWV0IG9wdnJhZ2VuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIxMworbXNnaWQgInBpcGUgZmFpbGVkIgorbXNnc3RyICJwaXBlKCkgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjcKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwaXBlIgorbXNnc3RyICJsZXplbiB1aXQgcGlqcCBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1MAorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBzb21lIG5hbWVzcGFjZXMgdW5zaGFyZWQgZnJvbSB0aGUgcGFyZW50LlxuIgorbXNnc3RyICJEcmFhaXQgZWVuIHByb2dyYW1tYSBtZXQgc29tbWlnZSBuYWFtc3J1aW10ZXMgZ2VzY2hlaWRlbiB2YW4gaGV0IG91ZGVycHJvY2VzLlxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1MworbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1tLCAtLW1vdW50Wz08YmVzdGFuZD5dICBhYW5rb3BwZWxpbmdzbmFhbXNydWltdGUgc2NoZWlkZW5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTQKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiICAtdSwgLS11dHNbPTxiZXN0YW5kPl0gICAgVVRTLW5hYW1zcnVpbXRlIHNjaGVpZGVuIChob3N0bmFhbSBlbiBkZXJnZWxpamtlKVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NQorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1pLCAtLWlwY1s9PGJlc3RhbmQ+XSAgICBTeXN0ZW0tVi1JUEMtbmFhbXNydWltdGUgc2NoZWlkZW5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTYKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLW4sIC0tbmV0Wz08YmVzdGFuZD5dICAgIG5ldHdlcmtuYWFtc3J1aW10ZSBzY2hlaWRlblxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NworbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1wLCAtLXBpZFs9PGJlc3RhbmQ+XSAgICBQSUQtbmFhbXNydWltdGUgc2NoZWlkZW5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTgKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVUsIC0tdXNlcls9PGJlc3RhbmQ+XSAgIGdlYnJ1aWtlcnNuYWFtc3J1aW10ZSBzY2hlaWRlblxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OQorbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gICAgIHVuc2hhcmUgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1DLCAtLWNncm91cFs9PGJlc3RhbmQ+XSBjb250cm9sZ3JvZXBuYWFtc3J1aW10ZSBzY2hlaWRlblxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MAorbXNnaWQgIiAtZiwgLS1mb3JrICAgICAgICAgICAgICAgIGZvcmsgYmVmb3JlIGxhdW5jaGluZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiICAtZiwgLS1mb3JrICAgICAgICBuaWV1dyBwcm9jZXMgc3RhcnRlbiBhbHZvcmVucyA8cHJvZ3JhbW1hPiB0ZSBzdGFydGVuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYxCittc2dpZCAiICAgICAtLW1vdW50LXByb2NbPTxkaXI+XSAgbW91bnQgcHJvYyBmaWxlc3lzdGVtIGZpcnN0IChpbXBsaWVzIC0tbW91bnQpXG4iCittc2dzdHIgIiIKKyIgICAgICAtLW1vdW50LXByb2NbPTxtYXA+XSAgICBoZXQgcHJvYy1iZXN0YW5kc3N5c3RlZW0gZWVyc3QgYWFua29wcGVsZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbXBsaWNlZXJ0ICctLW1vdW50JylcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjIKK21zZ2lkICIgLXIsIC0tbWFwLXJvb3QtdXNlciAgICAgICBtYXAgY3VycmVudCB1c2VyIHRvIHJvb3QgKGltcGxpZXMgLS11c2VyKVxuIgorbXNnc3RyICIiCisiICAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgICAgaHVpZGlnZSBnZWJydWlrZXIgb3Agcm9vdCBhZmJlZWxkZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbXBsaWNlZXJ0ICctLXVzZXInKVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MworbXNnaWQgIiIKKyIgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZ5IG1vdW50IHByb3BhZ2F0aW9uIGluIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisiICAgICAgLS1wcm9wYWdhdGlvbiBzbGF2ZXxzaGFyZWR8cHJpdmF0ZXx1bmNoYW5nZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wYWdhdGllIGluIGFhbmtvcHBlbGluZ3NuYWFtc3J1aW10ZSBpbnN0ZWxsZW5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjUKK21zZ2lkICIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIGNvbnRyb2wgdGhlIHNldGdyb3VwcyBzeXNjYWxsIGluIHVzZXIgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgIC1zLCAtLXNldGdyb3VwcyBhbGxvd3xkZW55ICBkZSBzZXRncm91cHMtc3lzdGVlbWFhbnJvZXAgdG9lc3RhYW4gb2Ygd2VpZ2VyZW5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzozODYKK21zZ2lkICJ1bnNoYXJlIGZhaWxlZCIKK21zZ3N0ciAidW5zaGFyZSgpIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDMwCittc2dpZCAiY2hpbGQgZXhpdCBmYWlsZWQiCittc2dzdHIgImFmc2x1aXRlbiB2YW4gZG9jaHRlciBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzNworbXNnaWQgIm9wdGlvbnMgLS1zZXRncm91cHM9YWxsb3cgYW5kIC0tbWFwLXJvb3QtdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICJvcHRpZXMgJy0tc2V0Z3JvdXBzPWFsbG93JyBlbiAnLS1tYXAtcm9vdC11c2VyJyBnYWFuIG5pZXQgc2FtZW4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIGZhaWxlZCIKK21zZ3N0ciAiYWFua29wcGVsZW4gdmFuICVzIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjczCittc2dpZCAiQ2FyZCBwcmV2aW91c2x5IHJlc2V0IHRoZSBDUFUiCittc2dzdHIgIkthYXJ0IGhlZWZ0IHZvb3JkaWVuIGRlIHByb2Nlc3NvciBnZXJlc2V0IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NAorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDEiCittc2dzdHIgIkV4dGVybmUgZG9vcnZvZXIgMSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzUKK21zZ2lkICJFeHRlcm5hbCByZWxheSAyIgorbXNnc3RyICJFeHRlcm5lIGRvb3J2b2VyIDIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc2Cittc2dpZCAiRmFuIGZhaWxlZCIKK21zZ3N0ciAiVmVudGlsYXRvciBpcyBzdHVrIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NworbXNnaWQgIktlZXAgYWxpdmUgcGluZyByZXBseSIKK21zZ3N0ciAiQW50d29vcmQgb3Aga2VlcC1hbGl2ZS1waW5nIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OAorbXNnaWQgIlN1cHBvcnRzIG1hZ2ljIGNsb3NlIGNoYXIiCittc2dzdHIgIk9uZGVyc3RldW50IG1hZ2lzY2ggYWZzbHVpdGluZ3N0ZWtlbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzkKK21zZ2lkICJSZXNldCBkdWUgdG8gQ1BVIG92ZXJoZWF0IgorbXNnc3RyICJSZXNldCB3ZWdlbnMgb3ZlcnZlcmhpdHRpbmcgdmFuIHByb2Nlc3NvciIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODAKK21zZ2lkICJQb3dlciBvdmVyIHZvbHRhZ2UiCittc2dzdHIgIlZvZWRpbmdzc3Bhbm5pbmcgaXMgdGUgaG9vZyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODEKK21zZ2lkICJQb3dlciBiYWQvcG93ZXIgZmF1bHQiCittc2dzdHIgIlNsZWNodGUgdm9lZGluZ3NzcGFubmluZyBvZiB2b2VkaW5nIGlzIHN0dWsiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgyCittc2dpZCAiUHJldGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIlByZS10aWpkc2xpbWlldCAoaW4gc2Vjb25kZW4pIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MworbXNnaWQgIlNldCB0aW1lb3V0IChpbiBzZWNvbmRzKSIKK21zZ3N0ciAiVGlqZHNsaW1pZXQgaW5zdGVsbGVuIChpbiBzZWNvbmRlbikiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjg0Cittc2dpZCAiTm90IHRyaWdnZXIgcmVib290IgorbXNnc3RyICJHZWVuIGhlcnN0YXJ0IHRyaWdnZXJlbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAwCittc2dpZCAiZmxhZyBuYW1lIgorbXNnc3RyICJ2bGFnbmFhbSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAxCittc2dpZCAiZmxhZyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAidmxhZ29tc2NocmlqdmluZyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAyCittc2dpZCAiZmxhZyBzdGF0dXMiCittc2dzdHIgInZsYWdzdGF0dXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMworbXNnaWQgImZsYWcgYm9vdCBzdGF0dXMiCittc2dzdHIgInZsYWdvcHN0YXJ0c3RhdHVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDQKK21zZ2lkICJ3YXRjaGRvZyBkZXZpY2UgbmFtZSIKK21zZ3N0ciAid2F0Y2hkb2ctYXBwYXJhYXRuYWFtIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmbGFnOiAlcyIKK21zZ3N0ciAib25iZWtlbmRlIHZsYWc6ICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxNzcKK21zZ2lkICJTaG93IHRoZSBzdGF0dXMgb2YgdGhlIGhhcmR3YXJlIHdhdGNoZG9nLlxuIgorbXNnc3RyICIiCisKKyMgRklYTUU6IHNsaWNlIGl0IHVwCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxODAKK21zZ2lkICIiCisiIC1mLCAtLWZsYWdzIDxsaXN0PiAgICAgcHJpbnQgc2VsZWN0ZWQgZmxhZ3Mgb25seVxuIgorIiAtRiwgLS1ub2ZsYWdzICAgICAgICAgIGRvbid0IHByaW50IGluZm9ybWF0aW9uIGFib3V0IGZsYWdzXG4iCisiIC1JLCAtLW5vaWRlbnQgICAgICAgICAgZG9uJ3QgcHJpbnQgd2F0Y2hkb2cgaWRlbnRpdHkgaW5mb3JtYXRpb25cbiIKKyIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLU8sIC0tb25lbGluZSAgICAgICAgICBwcmludCBhbGwgaW5mb3JtYXRpb24gb24gb25lIGxpbmVcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBvdXRwdXQgY29sdW1ucyBvZiB0aGUgZmxhZ3NcbiIKKyIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXQgZm9yIGZsYWdzIHRhYmxlXG4iCisiIC1ULCAtLW5vdGltZW91dHMgICAgICAgZG9uJ3QgcHJpbnQgd2F0Y2hkb2cgdGltZW91dHNcbiIKKyIgLXMsIC0tc2V0dGltZW91dCA8c2VjPiBzZXQgd2F0Y2hkb2cgdGltZW91dFxuIgorIiAteCwgLS1mbGFncy1vbmx5ICAgICAgIHByaW50IG9ubHkgZmxhZ3MgdGFibGUgKHNhbWUgYXMgLUkgLVQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZWZhdWx0IGRldmljZSBpcyAlcy5cbiIKK21zZ3N0ciAiSGV0IHN0YW5kYWFyZGFwcGFyYWF0IGlzICVzLlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxOTkKK21zZ2lkICJBdmFpbGFibGUgY29sdW1uczpcbiIKK21zZ3N0ciAiQmVzY2hpa2JhcmUga29sb21tZW46XG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biBmbGFncyAweCV4XG4iCittc2dzdHIgIiVzOiBvbmJla2VuZGUgdmxhZ2dlbiAweCV4XG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMxOSBzeXMtdXRpbHMvd2RjdGwuYzozNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhdGNoZG9nIGFscmVhZHkgaW4gdXNlLCB0ZXJtaW5hdGluZy4iCittc2dzdHIgIiVzOiB3YXRjaGRvZyB3b3JkdCBhbCBnZWJydWlrdCAtLSBnZXN0b3B0IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMzMgc3lzLXV0aWxzL3dkY3RsLmM6NDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGlzYXJtIHdhdGNoZG9nIgorbXNnc3RyICIlczogdWl0c2NoYWtlbGVuIHZhbiB3YXRjaGRvZyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0aW1lb3V0IGZvciAlcyIKK21zZ3N0ciAia2FuIHRpamRzbGltaWV0IHZvb3IgJXMgbmlldCBpbnN0ZWxsZW4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0OAorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmQuXG4iCittc2dpZF9wbHVyYWwgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZHMuXG4iCittc2dzdHJbMF0gIlRpamRzbGltaWV0IGlzIGluZ2VzdGVsZCBvcCAlZCBzZWNvbmRlLlxuIgorbXNnc3RyWzFdICJUaWpkc2xpbWlldCBpcyBpbmdlc3RlbGQgb3AgJWQgc2Vjb25kZW4uXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB3YXRjaGRvZyIKK21zZ3N0ciAiJXM6IGthbiBnZWVuIGluZm9ybWF0aWUgb3ZlciB3YXRjaGRvZyB2ZXJrcmlqZ2VuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjQgc3lzLXV0aWxzL3dkY3RsLmM6NDY3IHN5cy11dGlscy93ZGN0bC5jOjQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlLTE0cyAlMmkgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIiUtMTRzICUyaSBzZWNvbmRzXG4iCittc2dzdHJbMF0gIiUtMTRzICUyaSBzZWNvbmRlXG4iCittc2dzdHJbMV0gIiUtMTRzICUyaSBzZWNvbmRlblxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjUKK21zZ2lkICJUaW1lb3V0OiIKK21zZ3N0ciAiVGlqZHNsaW1pZXQ6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjgKK21zZ2lkICJQcmUtdGltZW91dDoiCittc2dzdHIgIlByZS1saW1pZXQ6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NzEKK21zZ2lkICJUaW1lbGVmdDoiCittc2dzdHIgIlJlc3R0aWpkOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA1Cittc2dpZCAiRGV2aWNlOiIKK21zZ3N0ciAiQXBwYXJhYXQ6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDcKK21zZ2lkICJJZGVudGl0eToiCittc2dzdHIgIklkZW50aXRlaXQ6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDkKK21zZ2lkICJ2ZXJzaW9uIgorbXNnc3RyICJ2ZXJzaWUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzMKK21zZ2lkICJ6cmFtIGRldmljZSBuYW1lIgorbXNnc3RyICJaUkFNLWFwcGFyYWF0bmFhbSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NAorbXNnaWQgImxpbWl0IG9uIHRoZSB1bmNvbXByZXNzZWQgYW1vdW50IG9mIGRhdGEiCittc2dzdHIgImxpbWlldCBvcCBkZSBob2V2ZWVsaGVpZCBvbmdlY29tcHJpbWVlcmRlIGRhdGEiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzUKK21zZ2lkICJ1bmNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAib25nZWNvbXByaW1lZXJkZSBncm9vdHRlIHZhbiBvcGdlc2xhZ2VuIGRhdGEiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzYKK21zZ2lkICJjb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgImdlY29tcHJpbWVlcmRlIGdyb290dGUgdmFuIG9wZ2VzbGFnZW4gZGF0YSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NworbXNnaWQgInRoZSBzZWxlY3RlZCBjb21wcmVzc2lvbiBhbGdvcml0aG0iCittc2dzdHIgImhldCBnZXNlbGVjdGVlcmRlIGNvbXByZXNzaWVhbGdvcml0bWUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzgKK21zZ2lkICJudW1iZXIgb2YgY29uY3VycmVudCBjb21wcmVzcyBvcGVyYXRpb25zIgorbXNnc3RyICJhYW50YWwgZ2VsaWprdGlqZGlnZSBjb21wcmVzc2llYmV3ZXJraW5nZW4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzkKK21zZ2lkICJlbXB0eSBwYWdlcyB3aXRoIG5vIGFsbG9jYXRlZCBtZW1vcnkiCittc2dzdHIgImxlZ2UgcGFnaW5hJ3Mgem9uZGVyIGdlcmVzZXJ2ZWVyZCBnZWhldWdlbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MAorbXNnaWQgImFsbCBtZW1vcnkgaW5jbHVkaW5nIGFsbG9jYXRvciBmcmFnbWVudGF0aW9uIGFuZCBtZXRhZGF0YSBvdmVyaGVhZCIKK21zZ3N0ciAiYWxsZSBnZWhldWdlbiwgaW5jbHVzaWVmIHRvZXdpanppbmdzZnJhZ21lbnRhdGllIGVuIG1ldGFkYXRhLW92ZXJoZWFkIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgxCittc2dpZCAibWVtb3J5IGxpbWl0IHVzZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICJsaW1pZXQgb3AgZGUgaG9ldmVlbGhlaWQgZ2VicnVpa3QgZ2VoZXVnZW4gdm9vciBnZWNvbXByaW1lZXJkZSBkYXRhIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgyCittc2dpZCAibWVtb3J5IHpyYW0gaGF2ZSBiZWVuIGNvbnN1bWVkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiZGUgaG9ldmVlbGhlaWQgZ2VicnVpa3QgZ2VoZXVnZW4gdm9vciBnZWNvbXByaW1lZXJkZSBkYXRhIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgzCittc2dpZCAibnVtYmVyIG9mIG9iamVjdHMgbWlncmF0ZWQgYnkgY29tcGFjdGlvbiIKK21zZ3N0ciAiYWFudGFsIHZlcnBsYWF0c3RlIG9iamVjdGVuIGRvb3IgY29tcGFjdGllIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjM2MyBzeXMtdXRpbHMvenJhbWN0bC5jOjM3NAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICJvbnRsZWRlbiB2YW4gbW1fc3RhdCBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCisiICUxJHMgLXIgPGRldmljZT4gWy4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8ZGV2aWNlPiAtcyA8c2l6ZT5cbiIKK21zZ3N0ciAiIgorIiAgJTEkcyBbb3B0aWVzXSA8YXBwYXJhYXQ+XG4iCisiICAlMSRzIC1yIDxhcHBhcmFhdD4uLi5cbiIKKyIgICUxJHMgW29wdGllc10gLWZ8PGFwcGFyYWF0PiAtcyA8Z2V0YWw+XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTI3Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIHpyYW0gZGV2aWNlcy5cbiIKK21zZ3N0ciAiUHJlcGFyZWVydCBlbiBiZWhlZXJ0IFpSQU0tYXBwYXJhdGVuLlxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMAorbXNnaWQgIiAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NCAgIGNvbXByZXNzaW9uIGFsZ29yaXRobSB0byB1c2VcbiIKK21zZ3N0ciAiICAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NCAgICB0ZSBnZWJydWlrZW4gY29tcHJlc3NpZWFsZ29yaXRtZVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICBncm9vdHRlcyBpbiBieXRlcyB3ZWVyZ2V2ZW4gaS5wLnYuIGluIGxlZXNiYXJlIHZvcm1cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzIKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICBmaW5kIGEgZnJlZSBkZXZpY2VcbiIKK21zZ3N0ciAiICAtZiwgLS1maW5kICAgICAgICAgICAgICAgZWVuIG9uZ2VicnVpa3QgWlJBTS1hcHBhcmFhdCB2aW5kZW5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICBnZWVuIGtvcHJlZ2VsIHRvbmVuXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM0Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIKK21zZ3N0ciAiICAtbywgLS1vdXRwdXQgPGxpanN0PiAgICAgd2VlciB0ZSBnZXZlbiBrb2xvbW1lbiBpbiBzdGF0dXN1aXR2b2VyXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM1Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgdXNlIHJhdyBzdGF0dXMgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAtLXJhdyAgICAgICAgICAgICAgICByYXV3ZSBzdGF0dXN1aXR2b2VyIHByb2R1Y2VyZW5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzYKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiICAtciwgLS1yZXNldCAgICAgICAgICAgICAgYWxsZSBvcGdlZ2V2ZW4gYXBwYXJhdGVuIHJlc2V0dGVuXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM3Cittc2dpZCAiIC1zLCAtLXNpemUgPHNpemU+ICAgICAgICAgZGV2aWNlIHNpemVcbiIKK21zZ3N0ciAiICAtcywgLS1zaXplIDxnZXRhbD4gICAgICAgZGUgZ3Jvb3R0ZSB2YW4gaGV0IFpSQU0tYXBwYXJhYXRcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzgKK21zZ2lkICIgLXQsIC0tc3RyZWFtcyA8bnVtYmVyPiAgICBudW1iZXIgb2YgY29tcHJlc3Npb24gc3RyZWFtc1xuIgorbXNnc3RyICIgIC10LCAtLXN0cmVhbXMgPGdldGFsPiAgICBoZXQgYWFudGFsIHRlIGdlYnJ1aWtlbiBjb21wcmVzc2llc3RyZWFtc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBhbGdvcml0aG06ICVzIgorbXNnc3RyICJuaWV0LW9uZGVyc3RldW5kIGFsZ29yaXRtZTogJyVzJyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2MjYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RyZWFtcyIKK21zZ3N0ciAib250bGVkZW4gdmFuIHN0cmVhbXNhcmd1bWVudCBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY0OAorbXNnaWQgIm9wdGlvbiAtLWZpbmQgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPGRldmljZT4iCittc2dzdHIgIm9wdGllICctLWZpbmQnIGdhYXQgbmlldCBzYW1lbiBtZXQgPGFwcGFyYWF0PiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NTQKK21zZ2lkICJvbmx5IG9uZSA8ZGV2aWNlPiBhdCBhIHRpbWUgaXMgYWxsb3dlZCIKK21zZ3N0ciAiZXIgbWFnIHNsZWNodHMgw6nDqW4gPGFwcGFyYWF0PiBvcGdlZ2V2ZW4gd29yZGVuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NworbXNnaWQgIm9wdGlvbnMgLS1hbGdvcml0aG0gYW5kIC0tc3RyZWFtcyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggLS1zaXplIgorbXNnc3RyICJvcHRpZXMgJy0tYWxnb3JpdGhtJyBlbiAnLS1zdHJlYW1zJyBtb2V0ZW4gdmVyZ2V6ZWxkIGdhYW4gdmFuICctLXNpemUnIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY4NyBzeXMtdXRpbHMvenJhbWN0bC5jOjcxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlc2V0IgorbXNnc3RyICIlczogcmVzZXR0ZW4gaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2OTggc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDYKK21zZ2lkICJubyBmcmVlIHpyYW0gZGV2aWNlIGZvdW5kIgorbXNnc3RyICJlciBpcyBnZWVuIHZyaWogWlJBTS1hcHBhcmFhdCBnZXZvbmRlbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgbnVtYmVyIG9mIHN0cmVhbXMiCittc2dzdHIgIiVzOiBpbnN0ZWxsZW4gdmFuIGFhbnRhbCBzdHJlYW1zIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGFsZ29yaXRobSIKK21zZ3N0ciAiJXM6IGluc3RlbGxlbiB2YW4gYWxnb3JpdG1lIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGRpc2tzaXplICglanUgYnl0ZXMpIgorbXNnc3RyICIlczogaW5zdGVsbGVuIHZhbiBzY2hpamZncm9vdHRlICglanUgYnl0ZXMpIGlzIG1pc2x1a3QiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzJXMgKGF1dG9tYXRpYyBsb2dpbilcbiIKK21zZ3N0ciAiJXMlcyAoYXV0b21hdGlzY2hlIGxvZ2luKVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHJvb3QgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiJXM6IGthbiBob29mZG1hcCBuaWV0IHdpanppZ2VuIG5hYXIgJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHdvcmtpbmcgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiJXM6IGthbiBodWlkaWdlIHdlcmttYXAgbmlldCB3aWp6aWdlbiBuYWFyICVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSBwcm9jZXNzIHByaW9yaXR5OiAlbSIKK21zZ3N0ciAiJXM6IGthbiBwcm9jZXNwcmlvcml0ZWl0IG5pZXQgd2lqemlnZW46ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgZXhlYyAlczogJW0iCittc2dzdHIgIiVzOiBrYW4gJXMgbmlldCB1aXR2b2VyZW46ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjU1NSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg0MSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg1MworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzAgdGVybS11dGlscy9hZ2V0dHkuYzoxNDE1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQzMworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDY5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ3OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE1MTYKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk3OCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeTogJW0iCittc2dzdHIgInJlc2VydmVyZW4gdmFuIGdlaGV1Z2VuIGlzIG1pc2x1a3Q6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjY4MAorbXNnaWQgImludmFsaWQgZGVsYXkgYXJndW1lbnQiCittc2dzdHIgIm9uZ2VsZGlnIGFyZ3VtZW50IHZhbiAnLS1kZWxheSciCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzE5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtLWxvY2FsLWxpbmUiCittc2dzdHIgIm9uZ2VsZGlnIGFyZ3VtZW50IHZhbiAnLS1sb2NhbC1saW5lJyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3MzgKK21zZ2lkICJpbnZhbGlkIG5pY2UgYXJndW1lbnQiCittc2dzdHIgIm9uZ2VsZGlnIGFyZ3VtZW50IHZhbiAnLS1uaWNlJyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHNwZWVkOiAlcyIKK21zZ3N0ciAib25nZWxkaWdlIHNuZWxoZWlkOiAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzcKK21zZ2lkICJ0b28gbWFueSBhbHRlcm5hdGUgc3BlZWRzIgorbXNnc3RyICJ0ZSB2ZWVsIGFsdGVybmF0aWV2ZSBzbmVsaGVkZW4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAwNiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMTAgdGVybS11dGlscy9hZ2V0dHkuYzoxMDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBvcGVuIGFzIHN0YW5kYXJkIGlucHV0OiAlbSIKK21zZ3N0ciAiL2Rldi8lczoga2FuIGRlemUgbmlldCBvcGVuZW4gYWxzIHN0YW5kYWFyZGludm9lcjogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAyOQorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSBjaGFyYWN0ZXIgZGV2aWNlIgorbXNnc3RyICIvZGV2LyVzOiBpcyBnZWVuIGJ5dGUtYXBwYXJhYXQiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAzMQorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSB0dHkiCittc2dzdHIgIi9kZXYvJXM6IGlzIGdlZW4gVFRZIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzUgdGVybS11dGlscy9hZ2V0dHkuYzoxMDY3CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBnZXQgY29udHJvbGxpbmcgdHR5OiAlbSIKK21zZ3N0ciAiL2Rldi8lczoga2FuIGdlZW4gYmVzdHVyaW5nc3Rlcm1pbmFsIHZlcmtyaWpnZW46ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogdmhhbmd1cCgpIGZhaWxlZDogJW0iCittc2dzdHIgIi9kZXYvJXM6IHZoYW5ndXAoKSBpcyBtaXNsdWt0OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3Qgb3BlbiBmb3IgcmVhZC93cml0ZSIKK21zZ3N0ciAiJXM6IGlzIG5pZXQgb3BlbiB2b29yIGxlemVuLWVuLXNjaHJpanZlbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBzZXQgcHJvY2VzcyBncm91cDogJW0iCittc2dzdHIgIi9kZXYvJXM6IGthbiBwcm9jZXNncm9lcCBuaWV0IGluc3RlbGxlbjogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZHVwIHByb2JsZW06ICVtIgorbXNnc3RyICIlczogcHJvYmxlZW0gbWV0IHZlcmR1YmJlbGVuIHZhbiBzdGFuZGFhcmRpbnZvZXIgZW4gLXVpdHZvZXI6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIiVzOiBrYW4gdGVybWluYWxlaWdlbnNjaGFwcGVuIG5pZXQgYmVwYWxlbjogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTMyMSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZhaWxlZDogJW0iCittc2dzdHIgImluc3RlbGxlbiB2YW4gdGVybWluYWxlaWdlbnNjaGFwcGVuIGlzIG1pc2x1a3Q6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NTkKK21zZ2lkICJjYW5ub3Qgb3BlbiBvcy1yZWxlYXNlIGZpbGUiCittc2dzdHIgImthbiBvcy1yZWxlYXNlLWJlc3RhbmQgbmlldCBvcGVuZW4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTYzNworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHJlbG9hZCBmaWxlOiAlczogJW0iCittc2dzdHIgImFhbm1ha2VuIHZhbiBoZXJsYWFkYmVzdGFuZCAgaXMgbWlzbHVrdDogJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3MzYKK21zZ2lkICJbcHJlc3MgRU5URVIgdG8gbG9naW5dIgorbXNnc3RyICJbZHJ1ayBvcCBFbnRlciBvbSBpbiB0ZSBsb2dnZW5dIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjAKK21zZ2lkICJOdW0gTG9jayBvZmYiCittc2dzdHIgIk51bUxvY2sgdWl0IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjMKK21zZ2lkICJOdW0gTG9jayBvbiIKK21zZ3N0ciAiTnVtTG9jayBhYW4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2NgorbXNnaWQgIkNhcHMgTG9jayBvbiIKK21zZ3N0ciAiQ2Fwc0xvY2sgYWFuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjkKK21zZ2lkICJTY3JvbGwgTG9jayBvbiIKK21zZ3N0ciAiU2Nyb2xsTG9jayBhYW4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc3MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSGludDogJXNcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkhpbnQ6ICVzXG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZDogJW0iCittc2dzdHIgIiVzOiBnZWxlemVuOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnB1dCBvdmVycnVuIgorbXNnc3RyICIlczogaW52b2Vyb3Zlcmxvb3AiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgY2hhcmFjdGVyIGNvbnZlcnNpb24gZm9yIGxvZ2luIG5hbWUiCittc2dzdHIgIiVzOiBvbmdlbGRpZ2UgdGVrZW5jb252ZXJzaWUgaW4gZ2VicnVpa2Vyc25hYW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgMHgleCBpbiBsb2dpbiBuYW1lIgorbXNnc3RyICIlczogb25nZWxkaWcgdGVrZW4gMHgleCBpbiBnZWJydWlrZXJzbmFhbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICIlczoga2FuIHRlcm1pbmFsZWlnZW5zY2hhcHBlbiBuaWV0IGluc3RlbGxlbjogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEwOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxsaW5lPiBbPGJhdWRfcmF0ZT4sLi4uXSBbPHRlcm10eXBlPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGJhdWRfcmF0ZT4sLi4uIDxsaW5lPiBbPHRlcm10eXBlPl1cbiIKK21zZ3N0ciAiIgorIiAgJTEkcyBbb3B0aWVzXSA8bGlqbj4gPGJhdWRyYXRlPiwuLi4gWzx0ZXJtaW5hbHR5cGU+XVxuIgorIiAgJTEkcyBbb3B0aWVzXSA8YmF1ZHJhdGU+LC4uLiA8bGlqbj4gWzx0ZXJtaW5hbHR5cGU+XVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTMKK21zZ2lkICJPcGVuIGEgdGVybWluYWwgYW5kIHNldCBpdHMgbW9kZS5cbiIKK21zZ3N0ciAiT3BlbnQgZWVuIHRlcm1pbmFsIGVuIHN0ZWx0IGRpZW5zIG1vZHVzIGluLlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTYKK21zZ2lkICIgLTgsIC0tOGJpdHMgICAgICAgICAgICAgICAgYXNzdW1lIDgtYml0IHR0eVxuIgorbXNnc3RyICIgIC04LCAtLThiaXRzICAgICAgICAgICAgICAgZWVuIDgtYml0cyB0ZXJtaW5hbCBhYW5uZW1lblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTcKK21zZ2lkICIgLWEsIC0tYXV0b2xvZ2luIDx1c2VyPiAgICAgbG9naW4gdGhlIHNwZWNpZmllZCB1c2VyIGF1dG9tYXRpY2FsbHlcbiIKK21zZ3N0ciAiICAtYSwgLS1hdXRvbG9naW4gPGdlYnJ1aWtlcj4gICBkZXplIDxnZWJydWlrZXI+IGF1dG9tYXRpc2NoIGlubG9nZ2VuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExOAorbXNnaWQgIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICBkbyBub3QgcmVzZXQgY29udHJvbCBtb2RlXG4iCittc2dzdHIgIiAgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICBiZXN0dXJpbmdzbW9kdXMgbmlldCByZXNldHRlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTkKK21zZ2lkICIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAgdXNlIC1yIDxob3N0bmFtZT4gZm9yIGxvZ2luKDEpXG4iCittc2dzdHIgIiAgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICBvcHRpZSAnLXIgPGhvc3RuYWFtPicgZ2VicnVpa2VuIGJpaiAnbG9naW4nKDEpXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMAorbXNnaWQgIiAtZiwgLS1pc3N1ZS1maWxlIDxmaWxlPiAgICBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiICAtZiwgLS1pc3N1ZS1maWxlIDxiZXN0YW5kPiAgICBkaXQgPGJlc3RhbmQ+IGFscyAnaXNzdWUnLWJlc3RhbmQgd2VlcmdldmVuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMQorbXNnaWQgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBlbmFibGUgaGFyZHdhcmUgZmxvdyBjb250cm9sXG4iCittc2dzdHIgIiAgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICBoYXJkd2FyZS1mbG93LWNvbnRyb2wgaW5zY2hha2VsZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIyCittc2dpZCAiIC1ILCAtLWhvc3QgPGhvc3RuYW1lPiAgICAgIHNwZWNpZnkgbG9naW4gaG9zdFxuIgorbXNnc3RyICIgIC1ILCAtLWhvc3QgPGhvc3RuYWFtPiAgICAgbmFhbSB2YW4gaG9zdCB3YWFyb3AgaW4gdGUgbG9nZ2VuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMworbXNnaWQgIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICBkbyBub3QgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiAgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICBoZXQgJ2lzc3VlJy1iZXN0YW5kIG5pZXQgd2VlcmdldmVuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNAorbXNnaWQgIiAtSSwgLS1pbml0LXN0cmluZyA8c3RyaW5nPiBzZXQgaW5pdCBzdHJpbmdcbiIKK21zZ3N0ciAiICAtSSwgLS1pbml0LXN0cmluZyA8dGVrZW5yZWVrcz4gIHRlIGdlYnJ1aWtlbiBpbml0aWFsaXNhdGlldGVrZW5yZWVrc1xuIgorCisjIEZJWE1FOiBjb21tYQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI1Cittc2dpZCAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIGRvIG5vdCBjbGVhciB0aGUgc2NyZWVuIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiICAtSiwgLS1ub2NsZWFyICAgICAgICAgICAgIHNjaGVybSBuaWV0IHdpc3NlbiB2b29yIHRvbmVuIHZhbiBwcm9tcHRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI2Cittc2dpZCAiIC1sLCAtLWxvZ2luLXByb2dyYW0gPGZpbGU+IHNwZWNpZnkgbG9naW4gcHJvZ3JhbVxuIgorbXNnc3RyICIgIC1sLCAtLWxvZ2luLXByb2dyYW0gPGJlc3RhbmQ+ICAgdGUgZ2VicnVpa2VuICdsb2dpbictcHJvZ3JhbW1hXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNworbXNnaWQgIiAtTCwgLS1sb2NhbC1saW5lWz08bW9kZT5dICBjb250cm9sIHRoZSBsb2NhbCBsaW5lIGZsYWdcbiIKK21zZ3N0ciAiICAtTCwgLS1sb2NhbC1saW5lWz08bW9kdXM+XSAgICBlZW4gbG9rYWxlIGxpam4gYWZkd2luZ2VuIChvZiB1aXRzY2hha2VsZW4pXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyOAorbXNnaWQgIiAtbSwgLS1leHRyYWN0LWJhdWQgICAgICAgICBleHRyYWN0IGJhdWQgcmF0ZSBkdXJpbmcgY29ubmVjdFxuIgorbXNnc3RyICIgIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgYmF1ZHJhdGUgYmVwYWxlbiB0aWpkZW5zIHZlcmJpbmRlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjkKK21zZ2lkICIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAgZG8gbm90IHByb21wdCBmb3IgbG9naW5cbiIKK21zZ3N0ciAiICAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgIG5pZXQgb20gbG9naW4gcHJvbXB0ZW5cbiIKKworIyBGSVhNRTogY29tbWEKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMAorbXNnaWQgIiAtTiAgLS1ub25ld2xpbmUgICAgICAgICAgICBkbyBub3QgcHJpbnQgYSBuZXdsaW5lIGJlZm9yZSBpc3N1ZVxuIgorbXNnc3RyICIgIC1OLCAtLW5vbmV3bGluZSAgICAgICAgICAgZ2VlbiBuaWV1d2UgcmVnZWwgd2VlcmdldmVuIHZvb3IgJ2lzc3VlJ1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzEKK21zZ2lkICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8b3B0cz4gb3B0aW9ucyB0aGF0IGFyZSBwYXNzZWQgdG8gbG9naW5cbiIKK21zZ3N0ciAiICAtbywgLS1sb2dpbi1vcHRpb25zIDxvcHRpZXM+ICBvcHRpZXMgZGllIGFhbiAnbG9naW4nIGRvb3JnZWdldmVuIHdvcmRlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzIKK21zZ2lkICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiAgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICBtZXQgbG9naW4gd2FjaHRlbiB0b3QgZWVuIHRvZXRzYWFuc2xhZ1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzMKK21zZ2lkICIgLXIsIC0tY2hyb290IDxkaXI+ICAgICAgICAgY2hhbmdlIHJvb3QgdG8gdGhlIGRpcmVjdG9yeVxuIgorbXNnc3RyICIgIC1yLCAtLWNocm9vdCA8bWFwPiAgICAgICAgaG9vZmRtYXAgd2lqemlnZW4gbmFhciBkZXplIDxtYXA+XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNAorbXNnaWQgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICBkbyB2aXJ0dWFsbHkgaGFuZ3VwIG9uIHRoZSB0dHlcbiIKK21zZ3N0ciAiICAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgIGVlbiB2aXJ0dWVsZSAnaGFuZ3VwJyBkb2VuIG9wIGRlIHRlcm1pbmFsXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNQorbXNnaWQgIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICB0cnkgdG8ga2VlcCBiYXVkIHJhdGUgYWZ0ZXIgYnJlYWtcbiIKK21zZ3N0ciAiICAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgIGJhdWRyYXRlIHByb2JlcmVuIHRlIGJlaG91ZGVuIG5hIGVlbiAnYnJlYWsnXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNgorbXNnaWQgIiAtdCwgLS10aW1lb3V0IDxudW1iZXI+ICAgICBsb2dpbiBwcm9jZXNzIHRpbWVvdXRcbiIKK21zZ3N0ciAiICAtdCwgLS10aW1lb3V0IDxnZXRhbD4gICAgIHRpamRzbGltaWV0IHZvb3IgbG9naW4tcHJvY2VzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNworbXNnaWQgIiAtVSwgLS1kZXRlY3QtY2FzZSAgICAgICAgICBkZXRlY3QgdXBwZXJjYXNlIHRlcm1pbmFsXG4iCittc2dzdHIgIiAgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICBlZW4gdGVybWluYWwgbWV0IGFsbGVlbiBob29mZGxldHRlcnMgZGV0ZWN0ZXJlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzgKK21zZ2lkICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgd2FpdCBjYXJyaWFnZS1yZXR1cm5cbiIKK21zZ3N0ciAiICAtdywgLS13YWl0LWNyICAgICAgICAgICAgIHdhY2h0ZW4gb3AgQ1ItdGVrZW4gKGNhcnJpYWdlLXJldHVybilcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM5Cittc2dpZCAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIGRvIG5vdCBwcmludCBoaW50c1xuIgorbXNnc3RyICIgICAgICAtLW5vaGludHMgICAgICAgICAgICAgZ2VlbiBoaW50cyBvdmVyIExvY2stdG9ldHNlbiBnZXZlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDAKK21zZ2lkICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAgbm8gaG9zdG5hbWUgYXQgYWxsIHdpbGwgYmUgc2hvd25cbiIKK21zZ3N0ciAiICAgICAgLS1ub2hvc3RuYW1lICAgICAgICAgIGdlZW4gaG9zdG5hYW0gdG9uZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQxCittc2dpZCAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIHNob3cgZnVsbCBxdWFsaWZpZWQgaG9zdG5hbWVcbiIKK21zZ3N0ciAiICAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgIHZvbGxlZGlnZSBob3N0bmFhbSB0b25lblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDIKK21zZ2lkICIgICAgIC0tZXJhc2UtY2hhcnMgPHN0cmluZz4gYWRkaXRpb25hbCBiYWNrc3BhY2UgY2hhcnNcbiIKK21zZ3N0ciAiICAgICAgLS1lcmFzZS1jaGFycyA8dGVrZW5zPiAgICBleHRyYSBiYWNrc3BhY2UtdGVrZW5zXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MworbXNnaWQgIiAgICAgLS1raWxsLWNoYXJzIDxzdHJpbmc+ICBhZGRpdGlvbmFsIGtpbGwgY2hhcnNcbiIKK21zZ3N0ciAiICAgICAgLS1raWxsLWNoYXJzIDx0ZWtlbnM+ICAgICBleHRyYSByZWdlbHdpcy10ZWtlbnNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ0Cittc2dpZCAiICAgICAtLWNoZGlyIDxkaXJlY3Rvcnk+ICAgIGNoZGlyIGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiICAgICAgLS1jaGRpciA8bWFwPiAgICAgICAgIHbDs8OzciBkZSBhYW5tZWxkaW5nIG5hYXIgZGV6ZSBtYXAgZ2FhblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDUKK21zZ2lkICIgICAgIC0tZGVsYXkgPG51bWJlcj4gICAgICAgc2xlZXAgc2Vjb25kcyBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAgICAgIC0tZGVsYXkgPGdldGFsPiAgICAgICBkaXQgYWFudGFsIHNlY29uZGVuIHNsYXBlbiB2w7PDs3IgdG9uZW4gdmFuIHByb21wdFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDYKK21zZ2lkICIgICAgIC0tbmljZSA8bnVtYmVyPiAgICAgICAgcnVuIGxvZ2luIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIgICAgICAtLW5pY2UgPGdldGFsPiAgICAgICAgJ2xvZ2luJyBkcmFhaWVuIG1ldCBkZXplIHByaW9yaXRlaXRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ3Cittc2dpZCAiICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgIHJlbG9hZCBwcm9tcHRzIG9uIHJ1bm5pbmcgYWdldHR5IGluc3RhbmNlc1xuIgorbXNnc3RyICIgICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgcHJvbXB0cyBoZXJuaWV1d2VuIG9wIHJlZWRzIGRyYWFpZW5kZSBhZ2V0dHknc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDgKK21zZ2lkICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAgLS1oZWxwICAgICAgICAgICAgICAgIGRlemUgaHVscHRla3N0IHRvbmVuIGVuIHN0b3BwZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ5Cittc2dpZCAiICAgICAtLXZlcnNpb24gICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICBwcm9ncmFtbWF2ZXJzaWUgdG9uZW4gZW4gc3RvcHBlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI0ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgdXNlciIKK21zZ2lkX3BsdXJhbCAiJWQgdXNlcnMiCittc2dzdHJbMF0gIiVkIGdlYnJ1aWtlciIKK21zZ3N0clsxXSAiJWQgZ2VicnVpa2VycyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjA5CisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNrbmFtZSBmYWlsZWQ6ICVtIgorbXNnc3RyICInY2hlY2tuYW1lJyBpcyBtaXNsdWt0OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjIxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB0b3VjaCBmaWxlICVzIgorbXNnc3RyICJrYW4gYmVzdGFuZCAlcyBuaWV0IGFhbnJha2VuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MjUKK21zZ2lkICItLXJlbG9hZCBpcyB1bnN1cHBvcnRlZCBvbiB5b3VyIHN5c3RlbSIKK21zZ3N0ciAib3B0aWUgJy0tcmVsb2FkJyB3b3JkdCBuaWV0IG9uZGVyc3RldW5kIG9wIHV3IHN5c3RlZW0iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3kgfCBuXVxuIgorbXNnc3RyICIgICVzIFtvcHRpZXNdIFsgeSB8IG4gXVxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3OAorbXNnaWQgIkNvbnRyb2wgd3JpdGUgYWNjZXNzIG9mIG90aGVyIHVzZXJzIHRvIHlvdXIgdGVybWluYWwuXG4iCittc2dzdHIgIlJlZ2VsdCBkZSBzY2hyaWpmdG9lZ2FuZyB2YW4gYW5kZXJlIGdlYnJ1aWtlcnMgdG90IHV3IHRlcm1pbmFsLlxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo4MQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC12LCAtLXZlcmJvc2UgICAgdG9uZW4gd2F0IGVyIGdlZGFhbiB3b3JkdFxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMjUKK21zZ2lkICJ0dHluYW1lIGZhaWxlZCIKK21zZ3N0ciAidHR5bmFtZSgpIGlzIG1pc2x1a3QiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNAorbXNnaWQgImlzIHkiCittc2dzdHIgImlzICd5JyAoamEpIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzcKK21zZ2lkICJpcyBuIgorbXNnc3RyICJpcyAnbicgKG5lZSkiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE0OCB0ZXJtLXV0aWxzL21lc2cuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlICVzIG1vZGUgZmFpbGVkIgorbXNnc3RyICJ2ZXJhbmRlcmluZyB2YW4gbW9kdXMgdmFuICVzIGlzIG1pc2x1a3QiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgInNjaHJpamZ0b2VnYW5nIHRvdCB1dyB0ZXJtaW5hbCBpcyB0b2VnZXN0YWFuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNTcKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBkZW5pZWQiCittc2dzdHIgInNjaHJpamZ0b2VnYW5nIHRvdCB1dyB0ZXJtaW5hbCBpcyBnZXdlaWdlcmQiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAib25nZWxkaWcgYXJndW1lbnQ6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE1OQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorbXNnc3RyICIgICVzIFtvcHRpZXNdIFtiZXN0YW5kXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2MgorbXNnaWQgIk1ha2UgYSB0eXBlc2NyaXB0IG9mIGEgdGVybWluYWwgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiTWFha3QgZWVuIGV4YWN0IGFmc2NocmlmdCB2YW4gZWVuIHRlcm1pbmFsc2Vzc2llLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NQorbXNnaWQgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgYXBwZW5kIHRoZSBvdXRwdXRcbiIKKyIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gcnVuIGNvbW1hbmQgcmF0aGVyIHRoYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgcmV0dXJuIGV4aXQgY29kZSBvZiB0aGUgY2hpbGQgcHJvY2Vzc1xuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICBydW4gZmx1c2ggYWZ0ZXIgZWFjaCB3cml0ZVxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICB1c2Ugb3V0cHV0IGZpbGUgZXZlbiB3aGVuIGl0IGlzIGEgbGlua1xuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICBiZSBxdWlldFxuIgorIiAtdCwgLS10aW1pbmdbPTxmaWxlPl0gICBvdXRwdXQgdGltaW5nIGRhdGEgdG8gc3RkZXJyIChvciB0byBGSUxFKVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiICAtYSwgLS1hcHBlbmQgICAgICAgICAgICBhYW4gaGV0IHVpdHZvZXJiZXN0YW5kIHRvZXZvZWdlblxuIgorIiAgLWMsIC0tY29tbWFuZCBPUERSQUNIVCAgZGV6ZSBvcGRyYWNodCB1aXR2b2VyZW4gaS5wLnYuIGludGVyYWN0aWV2ZSBzaGVsbFxuIgorIiAgLWUsIC0tcmV0dXJuICAgICAgICAgICAgZGUgYWZzbHVpdHdhYXJkZSB2YW4gaGV0IGRvY2h0ZXJwcm9jZXMgcmV0b3VybmVyZW5cbiIKKyIgIC1mLCAtLWZsdXNoICAgICAgICAgICAgIGJ1ZmZlciBsZWVnbWFrZW4gbmEgZWxrZSBzY2hyaWpmb3BkcmFjaHRcbiIKKyIgICAgICAtLWZvcmNlICAgICAgICAgICAgIHVpdHZvZXJiZXN0YW5kIG9vayBnZWJydWlrZW4gYWxzIGhldCBlZW4ga29wcGVsaW5nIGlzXG4iCisiICAtcSwgLS1xdWlldCAgICAgICAgICAgICBnZWVuIG1lbGRpbmdlbiBnZXZlblxuIgorIiAgLXQsIC0tdGltaW5nWz1CRVNUQU5EXSAgdGltaW5nc2dlZ2V2ZW5zIG5hYXIgc3RhbmRhYXJkZm91dHVpdHZvZXIgKG9mIGJlc3RhbmQpXG4iCisiICAtViwgLS12ZXJzaW9uICAgICAgICAgICBwcm9ncmFtbWF2ZXJzaWUgdG9uZW4gZW4gc3RvcHBlblxuIgorIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgZGV6ZSBodWxwdGVrc3QgdG9uZW4gZW4gc3RvcHBlblxuIgorIlxuIgorCisjIEZJWE1FOiBiYWNrdGljaworIzogdGVybS11dGlscy9zY3JpcHQuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm91dHB1dCBmaWxlIGAlcycgaXMgYSBsaW5rXG4iCisiVXNlIC0tZm9yY2UgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC5cbiIKKyJQcm9ncmFtIG5vdCBzdGFydGVkLiIKK21zZ3N0ciAiIgorInVpdHZvZXJiZXN0YW5kICclcycgaXMgZWVuIHN5bWJvbGlzY2hlIGtvcHBlbGluZztcbiIKKyJnZWJydWlrICctLWZvcmNlJyBhbHMgdSBkZXplIGVjaHQgd2lsdCBnZWJydWlrZW4uXG4iCisiU2NyaXB0IGlzIG5pZXQgZ2VzdGFydC4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBkb25lLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIlNjcmlwdCBpcyBiZcOraW5kaWdkLCBoZXQgYmVzdGFuZCBoZWV0ICclcycuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MjYyCittc2dpZCAiY2Fubm90IHdyaXRlIHNjcmlwdCBmaWxlIgorbXNnc3RyICJrYW4gc2NyaXB0YmVzdGFuZCBuaWV0IHNjaHJpanZlbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlc3NpZSBpcyBiZcOraW5kaWdkLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQzOAorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgc3RhcnRlZCBvbiAlcyIKK21zZ3N0ciAiU2NyaXB0IGlzIGdlc3RhcnQgb3AgJXMuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2NyaXB0IGRvbmUgb24gJXMiCittc2dzdHIgIiIKKyJcbiIKKyJTY3JpcHQgaXMgYmXDq2luZGlnZCBvcCAlcy4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjA3Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJrYW4gdGVybWluYWxlaWdlbnNjaGFwcGVuIG5pZXQgYWNodGVyaGFsZW4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjE0Cittc2dpZCAib3BlbnB0eSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkoKSBpcyBtaXNsdWt0IgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjY1MgorbXNnaWQgIm91dCBvZiBwdHkncyIKK21zZ3N0ciAib252b2xkb2VuZGUgUFRZJ3MiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIlNjcmlwdCBpcyBnZXN0YXJ0LCBoZXQgYmVzdGFuZCBoZWV0ICclcycuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstdF0gdGltaW5nZmlsZSBbdHlwZXNjcmlwdF0gW2Rpdmlzb3JdXG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gWy10XSB0aW1pbmdzYmVzdGFuZCBbc2NyaXB0YmVzdGFuZCBbdmVyc25lbGxpbmddXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQ3Cittc2dpZCAiUGxheSBiYWNrIHRlcm1pbmFsIHR5cGVzY3JpcHRzLCB1c2luZyB0aW1pbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIlNwZWVsdCB0ZXJtaW5hbHNlc3NpZS1zY3JpcHRzIGFmLCBnZWJydWlrIG1ha2VuZCB2YW4gdGltaW5nc2luZm9ybWF0aWUuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NTAKK21zZ2lkICIiCisiIC10LCAtLXRpbWluZyA8ZmlsZT4gICAgIHNjcmlwdCB0aW1pbmcgb3V0cHV0IGZpbGVcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA8ZmlsZT4gc2NyaXB0IHRlcm1pbmFsIHNlc3Npb24gb3V0cHV0IGZpbGVcbiIKKyIgLWQsIC0tZGl2aXNvciA8bnVtPiAgICAgc3BlZWQgdXAgb3Igc2xvdyBkb3duIGV4ZWN1dGlvbiB3aXRoIHRpbWUgZGl2aXNvclxuIgorIiAtbSwgLS1tYXhkZWxheSA8bnVtPiAgICB3YWl0IGF0IG1vc3QgdGhpcyBtYW55IHNlY29uZHMgYmV0d2VlbiB1cGRhdGVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyIgIC10LCAtLXRpbWluZyA8YmVzdGFuZD4gICAgICB0ZSBnZWJydWlrZW4gc2NyaXB0LXRpbWluZ3NiZXN0YW5kXG4iCisiICAtcywgLS10eXBlc2NyaXB0IDxiZXN0YW5kPiAgdGUgZ2VicnVpa2VuIHRlcm1pbmFsc2Vzc2llLXNjcmlwdGJlc3RhbmRcbiIKKyIgIC1kLCAtLWRpdmlzb3IgPGdldGFsPiAgICAgICBkZSB1aXR2b2VyaW5nIHZlcnNuZWxsZW4gbWV0IGRlemUgZmFjdG9yXG4iCisiICAtbSwgLS1tYXhkZWxheSA8Z2V0YWw+ICAgICAgbWF4aW11bSBhYW50YWwgc2Vjb25kZW4gdHVzc2VuIHVwZGF0ZXNcbiIKKyIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICBwcm9ncmFtbWF2ZXJzaWUgdG9uZW4gZW4gc3RvcHBlblxuIgorIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgIGRlemUgaHVscHRla3N0IHRvbmVuIGVuIHN0b3BwZW5cbiIKKyJcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTIKK21zZ2lkICJ3cml0ZSB0byBzdGRvdXQgZmFpbGVkIgorbXNnc3RyICJzY2hyaWp2ZW4gbmFhciBzdGFuZGFhcmR1aXR2b2VyIGlzIG1pc2x1a3QiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUgb24gJXMiCittc2dzdHIgIm9udmVyd2FjaHQgZWluZGUgdmFuIGJlc3RhbmQgb3AgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHR5cGVzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAia2FuIHNjcmlwdGJlc3RhbmQgJXMgbmlldCBsZXplbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxODQKK21zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJvbmp1aXN0IGFhbnRhbCBhcmd1bWVudGVuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aW1pbmcgZmlsZSAlcyIKK21zZ3N0ciAia2FuIHRpbWluZ3NiZXN0YW5kICVzIG5pZXQgbGV6ZW4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWluZyBmaWxlICVzOiBsaW5lICVsdTogdW5leHBlY3RlZCBmb3JtYXQiCittc2dzdHIgInRpbWluZ3NiZXN0YW5kICVzOiByZWdlbCAlbHUgaGVlZnQgb252ZXJ3YWNodGUgb3BtYWFrIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXJndW1lbnQgZXJyb3I6IGJyaWdodCAlcyBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJvbmp1aXN0IGFyZ3VtZW50OiAnYnJpZ2h0ICVzJyB3b3JkdCBuaWV0IG9uZGVyc3RldW5kIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjgKK21zZ2lkICJ0b28gbWFueSB0YWJzIgorbXNnc3RyICJ0ZSB2ZWVsIHRhYnMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MworbXNnaWQgIlNldCB0aGUgYXR0cmlidXRlcyBvZiBhIHRlcm1pbmFsLlxuIgorbXNnc3RyICJTdGVsdCBkZSBlaWdlbnNjaGFwcGVuIHZhbiBkZSB0ZXJtaW5hbCBpbi5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg2Cittc2dpZCAiIC0tdGVybSAgICAgICAgICA8dGVybWluYWxfbmFtZT4gICBvdmVycmlkZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg3Cittc2dpZCAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCB0byBwb3dlci1vbiBzdGF0ZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OAorbXNnaWQgIiAtLWluaXRpYWxpemUgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBpbml0IHN0cmluZywgYW5kIHVzZSBkZWZhdWx0IHNldHRpbmdzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg5Cittc2dpZCAiIC0tZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgZGVmYXVsdCB0ZXJtaW5hbCBzZXR0aW5nc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MAorbXNnaWQgIiAtLXN0b3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IHRlcm1pbmFsIHNldHRpbmdzIGFzIGRlZmF1bHRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTEKK21zZ2lkICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGRpc3BsYXkgY3Vyc29yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkyCittc2dpZCAiIC0tcmVwZWF0ICAgICAgICBbb258b2ZmXSAgICAgICAgICBrZXlib2FyZCByZXBlYXRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTMKK21zZ2lkICIgLS1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdICAgICAgICAgIGN1cnNvciBrZXkgYXBwbGljYXRpb24gbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NAorbXNnaWQgIiAtLWxpbmV3cmFwICAgICAgW29ufG9mZl0gICAgICAgICAgY29udGludWUgb24gYSBuZXcgbGluZSB3aGVuIGEgbGluZSBpcyBmdWxsXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk1Cittc2dpZCAiIC0taW52ZXJzZXNjcmVlbiBbb258b2ZmXSAgICAgICAgICBzd2FwIGNvbG9ycyBmb3IgdGhlIHdob2xlIHNjcmVlblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NgorbXNnaWQgIiAtLWZvcmVncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGZvcmVncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTcKK21zZ2lkICIgLS1iYWNrZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBiYWNrZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk4Cittc2dpZCAiIC0tdWxjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgdW5kZXJsaW5lZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk5Cittc2dpZCAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgYm9sZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAwCittc2dpZCAiICAgICAgICAgICAgICAgICA8Y29sb3I+OiBibGFjayBibHVlIGN5YW4gZ3JlZW4gZ3JleSBtYWdlbnRhIHJlZCB3aGl0ZSB5ZWxsb3dcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICA8a2xldXI+IGlzIGJsYWNrfGJsdWV8fGN5YW58Z3JlZW58Z3JleXxtYWdlbnRhfHJlZHx3aGl0ZXx5ZWxsb3dcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAxCittc2dpZCAiIC0tYm9sZCAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBib2xkXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAyCittc2dpZCAiIC0taGFsZi1icmlnaHQgICBbb258b2ZmXSAgICAgICAgICBkaW1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDMKK21zZ2lkICIgLS1ibGluayAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJsaW5rXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA0Cittc2dpZCAiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICB1bmRlcmxpbmVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDUKK21zZ2lkICIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgIHN3YXAgZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBjb2xvcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDYKK21zZ2lkICIgLS1jbGVhciAgICAgICAgIFthbGx8cmVzdF0gICAgICAgIGNsZWFyIHNjcmVlbiBhbmQgc2V0IGN1cnNvciBwb3NpdGlvblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNworbXNnaWQgIiAtLXRhYnMgICAgICAgICAgWzxudW1iZXI+Li4uXSAgICAgc2V0IHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3Igc2hvdyB0aGVtXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA4Cittc2dpZCAiIC0tY2xydGFicyAgICAgICBbPG51bWJlcj4uLi5dICAgICBjbGVhciB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIGFsbFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOQorbXNnaWQgIiAtLXJlZ3RhYnMgICAgICAgWzEtMTYwXSAgICAgICAgICAgc2V0IGEgcmVndWxhciB0YWIgc3RvcCBpbnRlcnZhbFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMAorbXNnaWQgIiAtLWJsYW5rICAgICAgICAgWzAtNjB8Zm9yY2V8cG9rZV0gc2V0IHRpbWUgb2YgaW5hY3Rpdml0eSBiZWZvcmUgc2NyZWVuIGJsYW5rc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMQorbXNnaWQgIiAtLWR1bXAgICAgICAgICAgWzxudW1iZXI+XSAgICAgICAgd3JpdGUgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEyCittc2dpZCAiIC0tYXBwZW5kICAgICAgICBbPG51bWJlcj5dICAgICAgICBhcHBlbmQgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEzCittc2dpZCAiIC0tZmlsZSAgICAgICAgICA8ZmlsZW5hbWU+ICAgICAgICBuYW1lIG9mIHRoZSBkdW1wIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTQKK21zZ2lkICIgLS1tc2cgICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHNlbmQga2VybmVsIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTUKK21zZ2lkICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIGtlcm5lbCBjb25zb2xlIGxvZyBsZXZlbFxuIgorbXNnc3RyICIiCisKKyMgRklYTUU6IGNvbmNhdCB3aXRoIG5leHQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNgorbXNnaWQgIiAtLXBvd2Vyc2F2ZSAgICAgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdXG4iCittc2dzdHIgIiAgLS1wb3dlcnNhdmUgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNworbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0IHZlc2EgcG93ZXJzYXZpbmcgZmVhdHVyZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTgKK21zZ2lkICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIHNldCB2ZXNhIHBvd2VyZG93biBpbnRlcnZhbCBpbiBtaW51dGVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE5Cittc2dpZCAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICBkdXJhdGlvbiBvZiB0aGUgYmVsbCBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjAKK21zZ2lkICIgLS1iZnJlcSAgICAgICAgIDxudW1iZXI+ICAgICAgICAgIGJlbGwgZnJlcXVlbmN5IGluIEhlcnR6XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIxCittc2dpZCAiIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICBzaG93IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmFtbWF2ZXJzaWUgdG9uZW4gZW4gc3RvcHBlblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjIKK21zZ2lkICIgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV6ZSBodWxwdGVrc3QgdG9uZW4gZW4gc3RvcHBlblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MzAKK21zZ2lkICJkdXBsaWNhdGUgdXNlIG9mIGFuIG9wdGlvbiIKK21zZ3N0ciAiZHViYmVsIGdlYnJ1aWsgdmFuIGVlbiBvcHRpZSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzM0Cittc2dpZCAiY2Fubm90IGZvcmNlIGJsYW5rIgorbXNnc3RyICJrYW4gc2NoZXJtIG5pZXQgb3AgendhcnQgemV0dGVuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MzkKK21zZ2lkICJjYW5ub3QgZm9yY2UgdW5ibGFuayIKK21zZ3N0ciAia2FuIHNjaGVybSBuaWV0IHVpdCB6d2FydHN0YW5kIGhhbGVuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NDUKK21zZ2lkICJjYW5ub3QgZ2V0IGJsYW5rIHN0YXR1cyIKK21zZ3N0ciAia2FuIHNjaGVybXRvZXN0YW5kIG5pZXQgb3B2cmFnZW4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4gbm90IG9wZW4gZHVtcCBmaWxlICVzIGZvciBvdXRwdXQiCittc2dzdHIgImthbiBkdW1wYmVzdGFuZCAlcyBuaWV0IG9wZW5lbiBvbSB0ZSBzY2hyaWp2ZW4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjgxMworIywgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCAlcyBkb2VzIG5vdCBzdXBwb3J0ICVzIgorbXNnc3RyICJ0ZXJtaW5hbCAlcyBvbmRlcnN0ZXVudCAlcyBuaWV0IgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo5ODgKK21zZ2lkICJjYW5ub3QgKHVuKXNldCBwb3dlcnNhdmUgbW9kZSIKK21zZ3N0ciAia2FuIHN0cm9vbWJlc3BhcmluZ3Ntb2R1cyBuaWV0IGluc3RlbGxlbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTAwNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDE2Cittc2dpZCAia2xvZ2N0bCBlcnJvciIKK21zZ3N0ciAia2xvZ2N0bCgpIGlzIG1pc2x1a3QiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwMzcKK21zZ2lkICIkVEVSTSBpcyBub3QgZGVmaW5lZC4iCittc2dzdHIgIiRURVJNIGlzIG5pZXQgZ2VkZWZpbmllZXJkLiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0NAorbXNnaWQgInRlcm1pbmZvIGRhdGFiYXNlIGNhbm5vdCBiZSBmb3VuZCIKK21zZ3N0ciAia2FuICd0ZXJtaW5mbyctZ2VnZXZlbnNiYW5rIG5pZXQgdmluZGVuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIHRlcm1pbmFsIHR5cGUiCittc2dzdHIgIiVzOiBvbmJla2VuZCB0ZXJtaW5hbHR5cGUiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDgKK21zZ2lkICJ0ZXJtaW5hbCBpcyBoYXJkY29weSIKK21zZ3N0ciAidGVybWluYWwgaXMgZWVuIHRlbGV4IG9mIHByaW50ZXIiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHRvbyBtYW55IGlvdidzIgorbXNnc3RyICIqKmludGVybmUgcHJvZ3JhbW1hZm91dCoqOiB0ZSB2ZWVsIElPVi1zIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImV4Y2Vzc2l2ZWx5IGxvbmcgbGluZSBhcmciCittc2dzdHIgImV4Y2Vzc2llZiBsYW5nIGFyZ3VtZW50IgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVuIGZhaWxlZCIKK21zZ3N0ciAib3BlbmVuIGlzIG1pc2x1a3QiCisKKyMgRklYTUU6IGNyeXB0aWMKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcms6ICVtIgorbXNnc3RyICJmb3JrKCk6ICVtIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZm9yayIKK21zZ3N0ciAia2FuIGdlZW4gbmlldXcgcHJvY2VzIHN0YXJ0ZW4iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCQUQgRVJST1IsIG1lc3NhZ2UgaXMgZmFyIHRvbyBsb25nIgorbXNnc3RyICIlczogU0xFQ0hURSBGT1VUTUVMRElORywgYmVyaWNodCBpcyB2ZWVsIHRlIGxhbmciCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiB8IDxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSBbPGJlc3RhbmQ+IHwgPGJlcmljaHQ+XVxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4NgorbXNnaWQgIldyaXRlIGEgbWVzc2FnZSB0byBhbGwgdXNlcnMuXG4iCittc2dzdHIgIlN0dXVydCBlZW4gYmVyaWNodCBuYWFyIGFsbGUgZ2VicnVpa2Vycy5cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODkKK21zZ2lkICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAgZG8gbm90IHByaW50IGJhbm5lciwgd29ya3Mgb25seSBmb3Igcm9vdFxuIgorbXNnc3RyICIgIC1uLCAtLW5vYmFubmVyICAgICAgICAgZ2VlbiBrb3ByZWdlbHMgdG9uZW4gKHdlcmt0IGFsbGVlbiB2b29yIHJvb3QpXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjkwCittc2dpZCAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIgorbXNnc3RyICIgIC10LCAtLXRpbWVvdXQgPGR1dXI+ICAgbmEgZGl0IGFhbnRhbCBzZWNvbmRlbiBoZXQgc2NocmlqdmVuIG9wZ2V2ZW5cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6MTMyCittc2dpZCAiLS1ub2Jhbm5lciBpcyBhdmFpbGFibGUgb25seSBmb3Igcm9vdCIKK21zZ3N0ciAib3B0aWUgJy0tbm9iYW5uZXInIGlzIGFsbGVlbiBiZXNjaGlrYmFhciB2b29yIHJvb3QiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEzNworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJvbmdlbGRpZ2UgdGlqZHNsaW1pZXQ6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyNjkKK21zZ2lkICJjYW5ub3QgZ2V0IHBhc3N3ZCB1aWQiCittc2dzdHIgImthbiBnZWJydWlrZXJzLUlEIG5pZXQgYWNodGVyaGFsZW4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjI3NAorbXNnaWQgImNhbm5vdCBnZXQgdHR5IG5hbWUiCittc2dzdHIgImthbiBuYWFtIHZhbiB0ZXJtaW5hbCBuaWV0IGFjaHRlcmhhbGVuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnJvYWRjYXN0IG1lc3NhZ2UgZnJvbSAlc0AlcyAoJXMpICglcyk6IgorbXNnc3RyICJCZXJpY2h0IGFhbiBhbGxlbiB2YW4gJXNAJXMgKCVzKSAoJXMpOiIKKworIzogdGVybS11dGlscy93YWxsLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IHJlYWQgJXMgLSB1c2Ugc3RkaW4uIgorbXNnc3RyICJ6YWwgJXMgbmlldCBsZXplbjsgIGdlYnJ1aWsgc3RhbmRhYXJkaW52b2VyIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXNlcj4gWzx0dHluYW1lPl1cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSA8Z2VicnVpa2VyPiBbPHRlcm1pbmFsbmFhbT5dXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo5MAorbXNnaWQgIlNlbmQgYSBtZXNzYWdlIHRvIGFub3RoZXIgdXNlci5cbiIKK21zZ3N0ciAiU3R1dXJ0IGVlbiBiZXJpY2h0IG5hYXIgZWVuIGFuZGVyZSBnZWJydWlrZXIuXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoxMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZWZmZWN0aXZlIGdpZCBkb2VzIG5vdCBtYXRjaCBncm91cCBvZiAlcyIKK21zZ3N0ciAiZWZmZWN0aWV2ZSBHSUQga29tdCBuaWV0IG92ZXJlZW4gbWV0IGdyb2VwIHZhbiAlcyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIgorbXNnc3RyICIlcyBpcyBuaWV0IGluZ2Vsb2dkIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjA3Cittc2dpZCAiY2FuJ3QgZmluZCB5b3VyIHR0eSdzIG5hbWUiCittc2dzdHIgImthbiBkZSBuYWFtIHZhbiB1dyB0ZXJtaW5hbCBuaWV0IHZpbmRlbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQiCittc2dzdHIgIiVzIGhlZWZ0IGJlcmljaHRlbiB1aXRnZXpldCIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBsb2dnZWQgaW4gbW9yZSB0aGFuIG9uY2U7IHdyaXRpbmcgdG8gJXMiCittc2dzdHIgIiVzIGlzIG1lZXJkZXJlIGtlcmVuIGluZ2Vsb2dkOyBlciB3b3JkdCBnZXNjaHJldmVuIG5hYXIgJXMiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMzgKK21zZ2lkICJjYXJlZnVscHV0YyBmYWlsZWQiCittc2dzdHIgImNhcmVmdWxwdXRjKCkgaXMgbWlzbHVrdCIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI4MAorIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgKGFzICVzKSBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICJCZXJpY2h0IHZhbiAlc0AlcyAoYWxzICVzKSBvcCAlcyBvbSAlMDJkOiUwMmQuLi4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIkJlcmljaHQgdmFuICVzQCVzIG9wICVzIG9tICUwMmQ6JTAyZC4uLiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjMzMQorbXNnaWQgInlvdSBoYXZlIHdyaXRlIHBlcm1pc3Npb24gdHVybmVkIG9mZiIKK21zZ3N0ciAidSBoZWJ0IGJlcmljaHRlbnRvZWdhbmcgdWl0Z2V6ZXQiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiBvbiAlcyIKK21zZ3N0ciAiJXMgaXMgbmlldCBpbmdlbG9nZCBvcCAlcyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQgb24gJXMiCittc2dzdHIgIiVzIGhlZWZ0IGJlcmljaHRlbiB1aXRnZXpldCBvcCAlcyIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzQKK21zZ2lkICJGaWx0ZXIgb3V0IHJldmVyc2UgbGluZSBmZWVkcy5cbiIKK21zZ3N0ciAiRmlsdGVydCBhY2h0ZXJ3YWFydHNlIHJlZ2Vsb3BzY2h1aXZpbmdlbiB3ZWcuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYiwgLS1uby1iYWNrc3BhY2VzICAgIGRvIG5vdCBvdXRwdXQgYmFja3NwYWNlc1xuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIHBlcm1pdCBmb3J3YXJkIGhhbGYgbGluZSBmZWVkc1xuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIHBhc3MgdW5rbm93biBjb250cm9sIHNlcXVlbmNlc1xuIgorIiAtaCwgLS10YWJzICAgICAgICAgICAgIGNvbnZlcnQgc3BhY2VzIHRvIHRhYnNcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICBjb252ZXJ0IHRhYnMgdG8gc3BhY2VzXG4iCisiIC1sLCAtLWxpbmVzIE5VTSAgICAgICAgYnVmZmVyIGF0IGxlYXN0IE5VTSBsaW5lc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1ILCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wdGllczpcbiIKKyIgIC1iLCAtLW5vLWJhY2tzcGFjZXMgICBnZWVuIGJhY2tzcGFjZXMgcHJvZHVjZXJlblxuIgorIiAgLWYsIC0tZmluZSAgICAgICAgICAgIGhhbHZlIHZvb3J3YWFydHNlIHJlZ2Vsb3BzY2h1aXZpbmcgdG9lc3RhYW5cbiIKKyIgIC1wLCAtLXBhc3MgICAgICAgICAgICBvbmJla2VuZGUgc3R1dXJjb2RlcmVla3NlbiBkb29yZ2V2ZW5cbiIKKyIgIC1oLCAtLXRhYnMgICAgICAgICAgICBzcGF0aWVzIG9temV0dGVuIGluIHRhYnNcbiIKKyIgIC14LCAtLXNwYWNlcyAgICAgICAgICB0YWJzIG9temV0dGVuIGluIHNwYXRpZXNcbiIKKyIgIC1sLCAtLWxpbmVzIEFBTlRBTCAgICBtaW5zdGVucyBkaXQgYWFudGFsIHJlZ2VscyBidWZmZXJlblxuIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgIHByb2dyYW1tYXZlcnNpZSB0b25lbiBlbiBzdG9wcGVuXG4iCisiICAtSCwgLS1oZWxwICAgICAgICAgICAgZGV6ZSBodWxwdGVrc3QgdG9uZW4gZW4gc3RvcHBlblxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE0OCB0ZXh0LXV0aWxzL2NvbHJtLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzIHJlYWRzIGZyb20gc3RhbmRhcmQgaW5wdXQgYW5kIHdyaXRlcyB0byBzdGFuZGFyZCBvdXRwdXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiVzIGtlZXIgZ2VsZXplbiB2YW4gc3RhbmRhYXJkaW52b2VyIGVuIGdlc2NocmV2ZW4gbmFhciBzdGFuZGFhcmR1aXR2b2VyXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MjEyCittc2dpZCAiYmFkIC1sIGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZyBhcmd1bWVudCB2YW4gJy1sJyIKKworIyBWb29yICVzIHdvcmR0IMOpw6luIHZhbiBkZSB0d2VlIG5ha29tZW5kZSBiZXJpY2h0amVzIGluZ2V2dWxkLgorIzogdGV4dC11dGlscy9jb2wuYzozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2FuJ3QgYmFjayB1cCAlcy4iCittc2dzdHIgIldhYXJzY2h1d2luZzoga2FuIG5pZXQgdGVydWcgJXMuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjMzNworbXNnaWQgInBhc3QgZmlyc3QgbGluZSIKK21zZ3N0ciAidG90IHbDs8OzciBlZXJzdGUgcmVnZWwiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM3Cittc2dpZCAiLS0gbGluZSBhbHJlYWR5IGZsdXNoZWQiCittc2dzdHIgIi0tIHJlZ2VsIGlzIGFsIGRvb3JnZXNsdWlzZCIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4MSB0ZXh0LXV0aWxzL2NvbHVtbi5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gWzxiZXN0YW5kPi4uLl1cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NAorbXNnaWQgIkZpbHRlciBucm9mZiBvdXRwdXQgZm9yIENSVCBwcmV2aWV3aW5nLlxuIgorbXNnc3RyICJGaWx0ZXJ0IG5yb2ZmLXVpdHZvZXIgdm9vciBoZXQgYmVraWprZW4gb3AgZWVuIHNjaGVybS5cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NworbXNnaWQgIiAtLCAgLS1uby11bmRlcmxpbmluZyAgICBzdXBwcmVzcyBhbGwgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiICAtLCAgLS1uby11bmRlcmxpbmluZyAgYWxsZSBvbmRlcnN0cmVwaW5nZW4gb25kZXJkcnVra2VuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODgKK21zZ2lkICIgLTIsIC0taGFsZi1saW5lcyAgICAgICAgcHJpbnQgYWxsIGhhbGYtbGluZXNcbiIKK21zZ3N0ciAiICAtMiwgLS1oYWxmLWxpbmVzICAgICAgYWxsZSBoYWxmcmVnZWxzIHdlZXJnZXZlblxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbc3RhcnRjb2wgW2VuZGNvbF1dXG4iCittc2dzdHIgIiIKKyJcbiIKKyJHZWJydWlrOiAgJXMgWzxiZWdpbmtvbG9tPiBbPGVpbmRrb2xvbT5dXVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjQKK21zZ2lkICJGaWx0ZXIgb3V0IHRoZSBzcGVjaWZpZWQgY29sdW1ucy5cbiIKK21zZ3N0ciAiRmlsdGVydCBkZSBhYW5nZWdldmVuIHRla2Vua29sb21tZW4gdWl0LlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg1Cittc2dpZCAiZmlyc3QgYXJndW1lbnQiCittc2dzdHIgImVlcnN0ZSBhcmd1bWVudCIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NworbXNnaWQgInNlY29uZCBhcmd1bWVudCIKK21zZ3N0ciAidHdlZWRlIGFyZ3VtZW50IgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyMAorbXNnaWQgIkNvbHVtbmF0ZSBsaXN0cy5cbiIKK21zZ3N0ciAiWmV0IGRlIGludm9lciBpbiBrb2xvbW1lbi5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjMKK21zZ2lkICIgLWMsIC0tY29sdW1ucyA8d2lkdGg+ICAgIHdpZHRoIG9mIG91dHB1dCBpbiBudW1iZXIgb2YgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgIC1jLCAtLWNvbHVtbnMgPGJyZWVkdGU+ICAgIGJyZWVkdGUgdmFuIGRlIHVpdHZvZXIgaW4gYWFudGFsIHRla2Vuc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyNAorbXNnaWQgIiAtdCwgLS10YWJsZSAgICAgICAgICAgICAgY3JlYXRlIGEgdGFibGVcbiIKK21zZ3N0ciAiICAtdCwgLS10YWJsZSAgICAgICAgICAgICAgICBlZW4gdGFiZWwgcHJvZHVjZXJlblxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyNQorbXNnaWQgIiAtcywgLS1zZXBhcmF0b3IgPHN0cmluZz4gcG9zc2libGUgdGFibGUgZGVsaW1pdGVyc1xuIgorbXNnc3RyICIgIC1zLCAtLXNlcGFyYXRvciA8dGVrZW5zPiAgIG1vZ2VsaWprZSBzY2hlaWRpbmdzdGVrZW5zIHZvb3IgdGFiZWxsZW5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjYKK21zZ2lkICIiCisiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0cmluZz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnMgc2VwYXJhdG9yIGZvciB0YWJsZSBvdXRwdXQ7IGRlZmF1bHQgaXMgdHdvIHNwYWNlc1xuIgorbXNnc3RyICIiCisiICAtbywgLS1vdXRwdXQtc2VwYXJhdG9yIDx0ZWtlbnJlZWtzPiAgICBrb2xvbXNjaGVpZGVyIHZvb3IgdGFiZWxsZW51aXR2b2VyO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFuZGFhcmQgemlqbiB0d2VlIHNwYXRpZXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjgKK21zZ2lkICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgIGZpbGwgcm93cyBiZWZvcmUgY29sdW1uc1xuIgorbXNnc3RyICIgIC14LCAtLWZpbGxyb3dzICAgICAgICAgICAgIHJpamVuIGVlcmRlciB2dWxsZW4gZGFuIGtvbG9tbWVuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTgyCittc2dpZCAiaW52YWxpZCBjb2x1bW5zIGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZyBhYW50YWwga29sb21tZW4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDIyCisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQgaXMgdG9vIGxvbmcsIG91dHB1dCB3aWxsIGJlIHRydW5jYXRlZCIKK21zZ3N0ciAicmVnZWwgJWQgaXMgdGUgbGFuZzsgdWl0dm9lciB3b3JkdCBhZmdla2FwdCIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU1IHRleHQtdXRpbHMvbW9yZS5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPi4uLlxuIgorbXNnc3RyICIgICVzIFtvcHRpZXNdIDxiZXN0YW5kPi4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTgKK21zZ2lkICJEaXNwbGF5IGZpbGUgY29udGVudHMgaW4gaGV4YWRlY2ltYWwsIGRlY2ltYWwsIG9jdGFsLCBvciBhc2NpaS5cbiIKK21zZ3N0ciAiVG9vbnQgZGUgYmVzdGFuZHNpbmhvdWQgaW4gaGV4YWRlY2ltYWFsLCBkZWNpbWFhbCwgb2N0YWFsLCBvZiBBU0NJSS5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYxCittc2dpZCAiIC1iLCAtLW9uZS1ieXRlLW9jdGFsICAgICAgb25lLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIgIC1iLCAtLW9uZS1ieXRlLW9jdGFsICAgICAgZW5rZWwtYnl0ZXMgb2N0YWxlIHdlZXJnYXZlXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MgorbXNnaWQgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgIG9uZS1ieXRlIGNoYXJhY3RlciBkaXNwbGF5XG4iCittc2dzdHIgIiAgLWMsIC0tb25lLWJ5dGUtY2hhciAgICAgICBlbmtlbC1ieXRlcy10ZWtlbndlZXJnYXZlXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MworbXNnaWQgIiAtQywgLS1jYW5vbmljYWwgICAgICAgICAgIGNhbm9uaWNhbCBoZXgrQVNDSUkgZGlzcGxheVxuIgorbXNnc3RyICIgIC1DLCAtLWNhbm9uaWNhbCAgICAgICAgICAgY2Fub25pZWtlIGhleCtBU0NJSS13ZWVyZ2F2ZVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjQKK21zZ2lkICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiICAtZCwgLS10d28tYnl0ZXMtZGVjaW1hbCAgIHR3ZWUtYnl0ZXMgZGVjaW1hbGUgd2VlcmdhdmVcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY1Cittc2dpZCAiIC1vLCAtLXR3by1ieXRlcy1vY3RhbCAgICAgdHdvLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIgIC1vLCAtLXR3by1ieXRlcy1vY3RhbCAgICAgdHdlZS1ieXRlcyBvY3RhbGUgd2VlcmdhdmVcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY2Cittc2dpZCAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIgIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgdHdlZS1ieXRlcyBoZXhhZGVjaW1hbGUgd2VlcmdhdmVcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY3Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08bW9kZT5dICAgICAgaW50ZXJwcmV0IGNvbG9yIGZvcm1hdHRpbmcgc3BlY2lmaWVyc1xuIgorbXNnc3RyICIgIC1MLCAtLWNvbG9yWz08d2FubmVlcj5dICAga2xldXJzcGVjaWZpY2F0aWVzIGludGVycHJldGVyZW5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcwCittc2dpZCAiIC1lLCAtLWZvcm1hdCA8Zm9ybWF0PiAgICAgZm9ybWF0IHN0cmluZyB0byBiZSB1c2VkIGZvciBkaXNwbGF5aW5nIGRhdGFcbiIKK21zZ3N0ciAiICAtZSwgLS1mb3JtYXQgPG9wbWFhaz4gICAgIG9wbWFha3Rla2VucmVla3Mgdm9vciB3ZWVyZ2F2ZSB2YW4gZ2VnZXZlbnNcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcxCittc2dpZCAiIC1mLCAtLWZvcm1hdC1maWxlIDxmaWxlPiAgZmlsZSB0aGF0IGNvbnRhaW5zIGZvcm1hdCBzdHJpbmdzXG4iCittc2dzdHIgIiAgLWYsIC0tZm9ybWF0LWZpbGUgPGJlc3RhbmQ+ICAgZGUgb3BtYWFrdGVrZW5yZWVrc2VuIHVpdCBkaXQgYmVzdGFuZCBsZXplblxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzIKK21zZ2lkICIgLW4sIC0tbGVuZ3RoIDxsZW5ndGg+ICAgICBpbnRlcnByZXQgb25seSBsZW5ndGggYnl0ZXMgb2YgaW5wdXRcbiIKK21zZ3N0ciAiICAtbiwgLS1sZW5ndGggPGFhbnRhbD4gICAgIHNsZWNodHMgZGl0IGFhbnRhbCBieXRlcyB2YW4gZGUgaW52b2VyIHZlcndlcmtlblxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzMKK21zZ2lkICIgLXMsIC0tc2tpcCA8b2Zmc2V0PiAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKK21zZ3N0ciAiICAtcywgLS1za2lwIDxhYW50YWw+ICAgICAgIGRpdCBhYW50YWwgYnl0ZXMgYWFuIGhldCBiZWdpbiBvdmVyc2xhYW5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTc0Cittc2dpZCAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgb3V0cHV0IGlkZW50aWNhbCBsaW5lc1xuIgorbXNnc3RyICIgIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgaWRlbnRpZWtlIHJlZ2VscyBvb2sgd2VlcmdldmVuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1kaXNwbGF5LmM6MzY1Cittc2dpZCAiYWxsIGlucHV0IGZpbGUgYXJndW1lbnRzIGZhaWxlZCIKK21zZ3N0ciAiYWxsZSBpbnZvZXJiZXN0YW5kc2FyZ3VtZW50ZW4gemlqbiBwYXRhdCIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGJ5dGUgY291bnQgZm9yIGNvbnZlcnNpb24gY2hhcmFjdGVyICVzIgorbXNnc3RyICJvbmdlbGRpZyBieXRlLWFhbnRhbCB2b29yIGNvbnZlcnNpZXRla2VuICVzIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlJXMgcmVxdWlyZXMgYSBwcmVjaXNpb24gb3IgYSBieXRlIGNvdW50IgorbXNnc3RyICIlJXMgdmVyZWlzdCBlZW4gcHJlY2lzaWUgb2YgZWVuIGJ5dGUtYWFudGFsIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgZm9ybWF0IHslc30iCittc2dzdHIgIm9uZ2VsZGlnZSBvcG1hYWsgeyVzfSIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbnZlcnNpb24gY2hhcmFjdGVyICUlJXMiCittc2dzdHIgIm9uZ2VsZGlnIGNvbnZlcnNpZXRla2VuICUlJXMiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjQzNgorbXNnaWQgImJ5dGUgY291bnQgd2l0aCBtdWx0aXBsZSBjb252ZXJzaW9uIGNoYXJhY3RlcnMiCittc2dzdHIgImJ5dGUtYWFudGFsIG1ldCBtZWVyZGVyZSBjb252ZXJzaWV0ZWtlbnMiCisKKyM6IHRleHQtdXRpbHMvbGluZS5jOjMzCittc2dpZCAiUmVhZCBvbmUgbGluZS5cbiIKK21zZ3N0ciAiTGVlc3Qgw6nDqW4gcmVnZWwuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIyOAorbXNnaWQgIkEgZmlsZSBwZXJ1c2FsIGZpbHRlciBmb3IgQ1JUIHZpZXdpbmcuXG4iCittc2dzdHIgIkJsYWRlcnQgcGFnaW5hZ2V3aWpzIGRvb3IgdGVrc3RiZXN0YW5kZW4uXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMQorbXNnaWQgIiAtZCAgICAgICAgICBkaXNwbGF5IGhlbHAgaW5zdGVhZCBvZiByaW5naW5nIGJlbGxcbiIKK21zZ3N0ciAiICAtZCAgICAgICAgICAgaHVscHRla3N0IHRvbmVuIGluIHBsYWF0cyB2YW4gYmVsIHRlIHJpbmtlbGVuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMgorbXNnaWQgIiAtZiAgICAgICAgICBjb3VudCBsb2dpY2FsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorbXNnc3RyICIgIC1mICAgICAgICAgICBsb2dpc2NoZSByZWdlbHMgaW4gcGxhYXRzIHZhbiBzY2hlcm1yZWdlbHMgdGVsbGVuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMworbXNnaWQgIiAtbCAgICAgICAgICBzdXBwcmVzcyBwYXVzZSBhZnRlciBmb3JtIGZlZWRcbiIKK21zZ3N0ciAiICAtbCAgICAgICAgICAgbmlldCBwYXV6ZXJlbiBiaWogZWVuICdmb3JtIGZlZWQnXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNAorbXNnaWQgIiAtYyAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBkaXNwbGF5IHRleHQgYW5kIGNsZWFuIGxpbmUgZW5kc1xuIgorbXNnc3RyICIgIC1jICAgICAgICAgICBuaWV0IHNjcm9sbGVuOyB0ZWtzdCB3ZWVyZ2V2ZW4gZW4gcmVnZWxlaW5kZXMgb3BzY2hvbmVuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNQorbXNnaWQgIiAtcCAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBjbGVhbiBzY3JlZW4gYW5kIGRpc3BsYXkgdGV4dFxuIgorbXNnc3RyICIgIC1wICAgICAgICAgICBuaWV0IHNjcm9sbGVuOyBzY2hlcm0gc2Nob29ubWFrZW4gZW4gdGVrc3Qgd2VlcmdldmVuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNgorbXNnaWQgIiAtcyAgICAgICAgICBzcXVlZXplIG11bHRpcGxlIGJsYW5rIGxpbmVzIGludG8gb25lXG4iCittc2dzdHIgIiAgLXMgICAgICAgICAgIG1lZXJkZXJlIGxlZ2UgcmVnZWxzIHRvdCBlZW50amUgcmVkdWNlcmVuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNworbXNnaWQgIiAtdSAgICAgICAgICBzdXBwcmVzcyB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIgIC11ICAgICAgICAgICBnZWVuIG9uZGVyc3RyZXBpbmdlbiBnZWJydWlrZW5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM4Cittc2dpZCAiIC08bnVtYmVyPiAgIHRoZSBudW1iZXIgb2YgbGluZXMgcGVyIHNjcmVlbmZ1bFxuIgorbXNnc3RyICIgIC08Z2V0YWw+ICAgICBoZXQgYWFudGFsIHJlZ2VscyBwZXIgc2NoZXJtdm9sXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOQorbXNnaWQgIiArPG51bWJlcj4gICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gbGluZSBudW1iZXJcbiIKK21zZ3N0ciAiICArPGdldGFsPiAgICAgYmVzdGFuZCB0b25lbiBiZWdpbm5lbmQgdmFuYWYgZGl0IHJlZ2VsbnVtbWVyXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MAorbXNnaWQgIiArLzxzdHJpbmc+ICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gc2VhcmNoIHN0cmluZyBtYXRjaFxuIgorbXNnc3RyICIgICsvPHRla2Vucz4gICBiZXN0YW5kIHRvbmVuIGJlZ2lubmVuZCB2YW5hZiB3YWFyIGRlemUgdGVrZW5zIHZvb3Jrb21lblxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDEKK21zZ2lkICIgLVYgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLVYgICAgICAgICAgIHByb2dyYW1tYXZlcnNpZSB0b25lbiBlbiBzdG9wcGVuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbiAtJXMiCittc2dzdHIgIm9uYmVrZW5kZSBvcHRpZSAnLSVzJyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKiogJXM6IGRpcmVjdG9yeSAqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKiAlczogbWFwICoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKioqKioqICVzOiBOb3QgYSB0ZXh0IGZpbGUgKioqKioqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKioqKioqICVzOiBHZWVuIHRla3N0YmVzdGFuZCAqKioqKioqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1VzZSBxIG9yIFEgdG8gcXVpdF0iCittc2dzdHIgIltHZWJydWlrIFEgb2YgcSBvbSBhZiB0ZSBzbHVpdGVuXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tTW9yZS0tIgorbXNnc3RyICItLU1lZXItLSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzI2CisjLCBjLWZvcm1hdAorbXNnaWQgIihOZXh0IGZpbGU6ICVzKSIKK21zZ3N0ciAiKFZvbGdlbmQgYmVzdGFuZDogJXMpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzIHNwYWNlIHRvIGNvbnRpbnVlLCAncScgdG8gcXVpdC5dIgorbXNnc3RyICJbRHJ1ayBvcCBkZSBzcGF0aWViYWxrIG9tIHZlcmRlciB0ZSBnYWFuOyAncScgb20gYWYgdGUgc2x1aXRlbi5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmJhY2sgJWQgcGFnZSIKK21zZ2lkX3BsdXJhbCAiLi4uYmFjayAlZCBwYWdlcyIKK21zZ3N0clswXSAiLi4uJWQgcGFnaW5hIHRlcnVnIgorbXNnc3RyWzFdICIuLi4lZCBwYWdpbmEncyB0ZXJ1ZyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTIxMAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5za2lwcGluZyAlZCBsaW5lIgorbXNnaWRfcGx1cmFsICIuLi5za2lwcGluZyAlZCBsaW5lcyIKK21zZ3N0clswXSAiLi4uJWQgcmVnZWwgb3ZlcnNsYWFuZCIKK21zZ3N0clsxXSAiLi4uJWQgcmVnZWxzIG92ZXJzbGFhbmQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNDgKK21zZ2lkICIiCisiXG4iCisiKioqQmFjayoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqVGVydWcqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI2MworbXNnaWQgIk5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKK21zZ3N0ciAiR2VlbiBlZXJkZXJlIHJlZ3VsaWVyZSBleHByZXNzaWUiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyOTMKK21zZ2lkICIiCisiXG4iCisiTW9zdCBjb21tYW5kcyBvcHRpb25hbGx5IHByZWNlZGVkIGJ5IGludGVnZXIgYXJndW1lbnQgay4gIERlZmF1bHRzIGluIGJyYWNrZXRzLlxuIgorIlN0YXIgKCopIGluZGljYXRlcyBhcmd1bWVudCBiZWNvbWVzIG5ldyBkZWZhdWx0LlxuIgorbXNnc3RyICIiCisiXG4iCisiQWFuIGRlIG1lZXN0ZSBvcGRyYWNodGVuIGthbiBlZW4gZ2VoZWVsIGdldGFsIChrKSB2b29yYWZnYWFuLlxuIgorIkRlIHN0YW5kYWFyZHdhYXJkZSBzdGFhdCB0dXNzZW4gcmVjaHRlIGhha2VuLiAgRWVuIHN0ZXIgKCopXG4iCisiZ2VlZnQgYWFuIGRhdCBkZSBnZWdldmVuIGsgZGUgbmlldXdlIHN0YW5kYWFyZHdhYXJkZSB3b3JkdC5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTMwMAorbXNnaWQgIiIKKyI8c3BhY2U+ICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXVxuIgorInogICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdKlxuIgorIjxyZXR1cm4+ICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgWzFdKlxuIgorImQgb3IgY3RybC1EICAgICAgICAgICAgIFNjcm9sbCBrIGxpbmVzIFtjdXJyZW50IHNjcm9sbCBzaXplLCBpbml0aWFsbHkgMTFdKlxuIgorInEgb3IgUSBvciA8aW50ZXJydXB0PiAgIEV4aXQgZnJvbSBtb3JlXG4iCisicyAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgbGluZXMgb2YgdGV4dCBbMV1cbiIKKyJmICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBzY3JlZW5mdWxzIG9mIHRleHQgWzFdXG4iCisiYiBvciBjdHJsLUIgICAgICAgICAgICAgU2tpcCBiYWNrd2FyZHMgayBzY3JlZW5mdWxzIG9mIHRleHQgWzFdXG4iCisiJyAgICAgICAgICAgICAgICAgICAgICAgR28gdG8gcGxhY2Ugd2hlcmUgcHJldmlvdXMgc2VhcmNoIHN0YXJ0ZWRcbiIKKyI9ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgbGluZSBudW1iZXJcbiIKKyIvPHJlZ3VsYXIgZXhwcmVzc2lvbj4gICBTZWFyY2ggZm9yIGt0aCBvY2N1cnJlbmNlIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbiBbMV1cbiIKKyJuICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggZm9yIGt0aCBvY2N1cnJlbmNlIG9mIGxhc3Qgci5lIFsxXVxuIgorIiE8Y21kPiBvciA6ITxjbWQ+ICAgICAgIEV4ZWN1dGUgPGNtZD4gaW4gYSBzdWJzaGVsbFxuIgorInYgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0IHVwIC91c3IvYmluL3ZpIGF0IGN1cnJlbnQgbGluZVxuIgorImN0cmwtTCAgICAgICAgICAgICAgICAgIFJlZHJhdyBzY3JlZW5cbiIKKyI6biAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggbmV4dCBmaWxlIFsxXVxuIgorIjpwICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBwcmV2aW91cyBmaWxlIFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBmaWxlIG5hbWUgYW5kIGxpbmUgbnVtYmVyXG4iCisiLiAgICAgICAgICAgICAgICAgICAgICAgUmVwZWF0IHByZXZpb3VzIGNvbW1hbmRcbiIKK21zZ3N0ciAiIgorIjxzcGF0aWU+ICAgICAgICAgICAgRGUgdm9sZ2VuZGUgayByZWdlbHMgdG9uZW4gIFtodWlkaWdlIHNjaGVybWdyb290dGVdXG4iCisieiAgICAgICAgICAgICAgICAgICBEZSB2b2xnZW5kZSBrIHJlZ2VscyB0b25lbiAgW2h1aWRpZ2Ugc2NoZXJtZ3Jvb3R0ZV0qXG4iCisiPGVudGVyPiAgICAgICAgICAgICBEZSB2b2xnZW5kZSBrIHJlZ2VscyB0b25lbiAgWzFdKlxuIgorImQgb2YgY3RybC1EICAgICAgICAgRGUgdGVrc3QgayByZWdlbHMgc2Nyb2xsZW4gIFsxMV0qXG4iCisicSBvZiBRIG9mIGN0cmwtQyAgICBBZnNsdWl0ZW5cbiIKKyJzICAgICAgICAgICAgICAgICAgIEVlbiBzY2hlcm0gdmVyZGVyIGVuIGsgcmVnZWxzIG92ZXJzbGFhbiAgWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICBFZW4gc2NoZXJtIHZlcmRlciBlbiBrIHNjaGVybWVuIG92ZXJzbGFhbiAgWzFdXG4iCisiYiBvZiBjdHJsLUIgICAgICAgICBFZW4gc2NoZXJtIHRlcnVnIGVuIGsgc2NoZXJtZW4gb3ZlcnNsYWFuICBbMV1cbiIKKyI9ICAgICAgICAgICAgICAgICAgIEh1aWRpZ2UgcmVnZWxudW1tZXIgdG9uZW5cbiIKKyIvPHJlZ3VsaWVyZSBleHAuPiAgIERlIGstZGUgb3ZlcmVlbmtvbXN0IHZhbiBkZXplIGV4cHJlc3NpZSB6b2VrZW4gIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgRGUgay1kZSBvdmVyZWVua29tc3QgdmFuIHZvcmlnZSBleHByZXNzaWUgem9la2VuICBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgIFRlcnVnIG5hYXIgd2FhciBkZSB2b3JpZ2Ugem9la29wZHJhY2h0IHN0YXJ0dGVcbiIKKyIhPGNtZD4gb2YgOiE8Y21kPiAgIERlIG9wZHJhY2h0IDxjbWQ+IGluIGVlbiBzdWItc2hlbGwgdWl0dm9lcmVuXG4iCisidiAgICAgICAgICAgICAgICAgICBFZGl0b3Igc3RhcnRlbiAoYmVnaW5uZW5kIG9wIGRlIGh1aWRpZ2UgcmVnZWwpXG4iCisiY3RybC1MICAgICAgICAgICAgICBIZXQgc2NoZXJtIHZlcnZlcnNlbiAob3BuaWV1dyB0ZWtlbmVuKVxuIgorIjpuICAgICAgICAgICAgICAgICAgTmFhciBoZXQgay1kZSB2b2xnZW5kZSBiZXN0YW5kICBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgIE5hYXIgaGV0IGstZGUgdm9yaWdlIGJlc3RhbmQgIFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgSHVpZGlnZSBiZXN0YW5kc25hYW0gZW4gcmVnZWxudW1tZXIgdG9uZW5cbiIKKyIuICAgICAgICAgICAgICAgICAgIERlIHZvcmlnZSBvcGRyYWNodCBoZXJoYWxlblxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzczIHRleHQtdXRpbHMvbW9yZS5jOjEzNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzICdoJyBmb3IgaW5zdHJ1Y3Rpb25zLl0iCittc2dzdHIgIltEcnVrIG9wICdoJyB2b29yIGluc3RydWN0aWVzLl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGxpbmUgJWQiCittc2dzdHIgIlwiJXNcIiAgcmVnZWwgJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiW05vdCBhIGZpbGVdIGxpbmUgJWQiCittc2dzdHIgIltHZWVuIGJlc3RhbmRdICByZWdlbCAlZCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQ5NAorbXNnaWQgIiAgT3ZlcmZsb3dcbiIKK21zZ3N0ciAiICBPdmVybG9vcFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTQzCittc2dpZCAiLi4uc2tpcHBpbmdcbiIKK21zZ3N0ciAiLi4ub3ZlcnNsYWFuZFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTc3Cittc2dpZCAiIgorIlxuIgorIlBhdHRlcm4gbm90IGZvdW5kXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQYXRyb29uIG5pZXQgZ2V2b25kZW5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU4MyB0ZXh0LXV0aWxzL3BnLmM6MTAyNyB0ZXh0LXV0aWxzL3BnLmM6MTE3MworbXNnaWQgIlBhdHRlcm4gbm90IGZvdW5kIgorbXNnc3RyICJQYXRyb29uIG5pZXQgZ2V2b25kZW4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2MjkKK21zZ2lkICJleGVjIGZhaWxlZFxuIgorbXNnc3RyICJleGVjKCkgaXMgbWlzbHVrdFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjQzCittc2dpZCAiY2FuJ3QgZm9ya1xuIgorbXNnc3RyICJrYW4gZ2VlbiBuaWV1dyBwcm9jZXMgc3RhcnRlblxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjc3Cittc2dpZCAiIgorIlxuIgorIi4uLlNraXBwaW5nICIKK21zZ3N0ciAiIgorIlxuIgorIi4uLlZlcmRlciAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2ODEKK21zZ2lkICIuLi5Ta2lwcGluZyB0byBmaWxlICIKK21zZ3N0ciAiLi4uVmVyZGVyIG5hYXIgYmVzdGFuZCAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2ODMKK21zZ2lkICIuLi5Ta2lwcGluZyBiYWNrIHRvIGZpbGUgIgorbXNnc3RyICIuLi5UZXJ1ZyBuYWFyIGJlc3RhbmQgIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxOTczCittc2dpZCAiTGluZSB0b28gbG9uZyIKK21zZ3N0ciAiUmVnZWwgaXMgdGUgbGFuZyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjAxMAorbXNnaWQgIk5vIHByZXZpb3VzIGNvbW1hbmQgdG8gc3Vic3RpdHV0ZSBmb3IiCittc2dzdHIgIkdlZW4gZWVyZGVyZSBvcGRyYWNodCIKKworIzogdGV4dC11dGlscy9wZy5jOjE0NAorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBoICAgICAgICAgICAgICAgICAgICAgICB0aGlzIHNjcmVlblxuIgorIiAgcSBvciBRICAgICAgICAgICAgICAgICAgcXVpdCBwcm9ncmFtXG4iCisiICA8bmV3bGluZT4gICAgICAgICAgICAgICBuZXh0IHBhZ2VcbiIKKyIgIGYgICAgICAgICAgICAgICAgICAgICAgIHNraXAgYSBwYWdlIGZvcndhcmRcbiIKKyIgIGQgb3IgXkQgICAgICAgICAgICAgICAgIG5leHQgaGFsZnBhZ2VcbiIKKyIgIGwgICAgICAgICAgICAgICAgICAgICAgIG5leHQgbGluZVxuIgorIiAgJCAgICAgICAgICAgICAgICAgICAgICAgbGFzdCBwYWdlXG4iCisiICAvcmVnZXgvICAgICAgICAgICAgICAgICBzZWFyY2ggZm9yd2FyZCBmb3IgcmVnZXhcbiIKKyIgID9yZWdleD8gb3IgXnJlZ2V4XiAgICAgIHNlYXJjaCBiYWNrd2FyZCBmb3IgcmVnZXhcbiIKKyIgIC4gb3IgXkwgICAgICAgICAgICAgICAgIHJlZHJhdyBzY3JlZW5cbiIKKyIgIHcgb3IgeiAgICAgICAgICAgICAgICAgIHNldCBwYWdlIHNpemUgYW5kIGdvIHRvIG5leHQgcGFnZVxuIgorIiAgcyBmaWxlbmFtZSAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IGZpbGUgdG8gZmlsZW5hbWVcbiIKKyIgICFjb21tYW5kICAgICAgICAgICAgICAgIHNoZWxsIGVzY2FwZVxuIgorIiAgcCAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gcHJldmlvdXMgZmlsZVxuIgorIiAgbiAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gbmV4dCBmaWxlXG4iCisiXG4iCisiTWFueSBjb21tYW5kcyBhY2NlcHQgcHJlY2VkaW5nIG51bWJlcnMsIGZvciBleGFtcGxlOlxuIgorIisxPG5ld2xpbmU+IChuZXh0IHBhZ2UpOyAtMTxuZXdsaW5lPiAocHJldmlvdXMgcGFnZSk7IDE8bmV3bGluZT4gKGZpcnN0IHBhZ2UpLlxuIgorIlxuIgorIlNlZSBwZygxKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBoICAgICAgICAgICAgICAgICAgICAgICBkaXQgaHVscHNjaGVybSB0b25lblxuIgorIiAgcSBvZiBRICAgICAgICAgICAgICAgICAgcHJvZ3JhbW1hIGFmc2x1aXRlblxuIgorIiAgPEVudGVyPiAgICAgICAgICAgICAgICAgdm9sZ2VuZGUgcGFnaW5hXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBwYWdpbmEgb3ZlcnNsYWFuXG4iCisiICBkIG9mIF5EICAgICAgICAgICAgICAgICB2b2xnZW5kZSBoYWx2ZSBwYWdpbmFcbiIKKyIgIGwgICAgICAgICAgICAgICAgICAgICAgIHZvbGdlbmRlIHJlZ2VsXG4iCisiICAkICAgICAgICAgICAgICAgICAgICAgICBsYWF0c3RlIHBhZ2luYVxuIgorIiAgL3JlZ2V4LyAgICAgICAgICAgICAgICAgdm9vcnVpdCB6b2VrZW4gbmFhciByZWd1bGllcmUgZXhwcmVzc2llXG4iCisiICA/cmVnZXg/IG9mIF5yZWdleF4gICAgICBhY2h0ZXJ1aXQgem9la2VuIG5hYXIgcmVndWxpZXJlIGV4cHJlc3NpZVxuIgorIiAgLiBvZiBeTCAgICAgICAgICAgICAgICAgc2NoZXJtIHZlcnZlcnNlblxuIgorIiAgdyBvZiB6ICAgICAgICAgICAgICAgICAgcGFnaW5hZ3Jvb3R0ZSBpbnN0ZWxsZW4gZW4gbmFhciB2b2xnZW5kZSBwYWdpbmFcbiIKKyIgIHMgQkVTVEFORCAgICAgICAgICAgICAgIGh1aWRpZ2UgYmVzdGFuZCBvcHNsYWFuIGluIEJFU1RBTkRcbiIKKyIgICFPUERSQUNIVCAgICAgICAgICAgICAgIGRlemUgT1BEUkFDSFQgdWl0dm9lcmVuIGluIGRlIHNoZWxsXG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICBuYWFyIHZvcmlnZSBiZXN0YW5kIGdhYW5cbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIG5hYXIgdm9sZ2VuZGUgYmVzdGFuZCBnYWFuXG4iCisiXG4iCisiVmVlbCBvcGRyYWNodGVuIGFjY2VwdGVyZW4gZWVuIHZvb3JhZmdhYW5kIGdldGFsLCBiaWp2b29yYmVlbGQ6KzE8RW50ZXI+ICh2b2xnZW5kZSBwYWdpbmEpOyAtMTxFbnRlcj4gKHZvcmlnZSBwYWdpbmEpOyAxPEVudGVyPiAoZWVyc3RlIHBhZ2luYSkuXG4iCisiXG4iCisiWmllIHBnKDEpIHZvb3IgbWVlciBpbmZvcm1hdGllLlxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyMgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFsrbGluZV0gWysvcGF0dGVybi9dIFtmaWxlc11cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSBbK3JlZ2VsXSBbKy9wYXRyb29uL10gW2Jlc3RhbmRlbl1cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyNgorbXNnaWQgIkJyb3dzZSBwYWdld2lzZSB0aHJvdWdoIHRleHQgZmlsZXMuXG4iCittc2dzdHIgIkJsYWRlcnQgcGFnaW5hZ2V3aWpzIGRvb3IgdGVrc3RiZXN0YW5kZW4uXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMjkKK21zZ2lkICIgLW51bWJlciAgICAgIGxpbmVzIHBlciBwYWdlXG4iCittc2dzdHIgIiAgLUdFVEFMICAgICAgIGFhbnRhbCByZWdlbHMgcGVyIHBhZ2luYVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMwCittc2dpZCAiIC1jICAgICAgICAgICBjbGVhciBzY3JlZW4gYmVmb3JlIGRpc3BsYXlpbmdcbiIKK21zZ3N0ciAiICAtYyAgICAgICAgICAgc2NoZXJtIHdpc3NlbiBhbHZvcmVucyB3ZWVyZ2F2ZSB0ZSBiZWdpbm5lblxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMxCittc2dpZCAiIC1lICAgICAgICAgICBkbyBub3QgcGF1c2UgYXQgZW5kIG9mIGEgZmlsZVxuIgorbXNnc3RyICIgIC1lICAgICAgICAgICBuaWV0IHBhdXplcmVuIGFhbiBlaW5kZSB2YW4gYmVzdGFuZFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMyCittc2dpZCAiIC1mICAgICAgICAgICBkbyBub3Qgc3BsaXQgbG9uZyBsaW5lc1xuIgorbXNnc3RyICIgIC1mICAgICAgICAgICBsYW5nZSByZWdlbHMgbmlldCBvcHNwbGl0c2VuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzMKK21zZ2lkICIgLW4gICAgICAgICAgIHRlcm1pbmF0ZSBjb21tYW5kIHdpdGggbmV3IGxpbmVcbiIKK21zZ3N0ciAiICAtbiAgICAgICAgICAgb3BkcmFjaHQgYWZzbHVpdGVuIG1ldCByZWdlbGVpbmRldGVrZW5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNAorbXNnaWQgIiAtcCA8cHJvbXB0PiAgc3BlY2lmeSBwcm9tcHRcbiIKK21zZ3N0ciAiICAtcCA8cHJvbXB0PiAgdGUgZ2VicnVpa2VuIHByb21wdFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM1Cittc2dpZCAiIC1yICAgICAgICAgICBkaXNhbGxvdyBzaGVsbCBlc2NhcGVcbiIKK21zZ3N0ciAiICAtciAgICAgICAgICAgc2hlbGwtc3R1dXJ0ZWtlbnMgbmlldCB0b2VzdGFhblxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM2Cittc2dpZCAiIC1zICAgICAgICAgICBwcmludCBtZXNzYWdlcyB0byBzdGRvdXRcbiIKK21zZ3N0ciAiICAtcyAgICAgICAgICAgbWVsZGluZ2VuIHRvbmVuIG9wIHN0YW5kYWFyZHVpdHZvZXJcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNworbXNnaWQgIiArbnVtYmVyICAgICAgc3RhcnQgYXQgdGhlIGdpdmVuIGxpbmVcbiIKK21zZ3N0ciAiICArR0VUQUwgICAgICAgYmlqIGRpdCByZWdlbG51bW1lciBiZWdpbm5lblxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM4Cittc2dpZCAiICsvcGF0dGVybi8gICBzdGFydCBhdCB0aGUgbGluZSBjb250YWluaW5nIHBhdHRlcm5cbiIKK21zZ3N0ciAiICArL3BhdHJvb24vICAgYmlqIHJlZ2VsIGJlZ2lubmVuIGRpZSBkaXQgcGF0cm9vbiBiZXZhdFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAlcyIKK21zZ3N0ciAib3B0aWUgdmVyZWlzdCBlZW4gYXJndW1lbnQgLS0gJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBvcHRpb24gLS0gJXMiCittc2dzdHIgIm9uZ2VsZGlnZSBvcHRpZSAtLSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjM1OQorbXNnaWQgIi4uLnNraXBwaW5nIGZvcndhcmRcbiIKK21zZ3N0ciAiLi4udmVyZGVyLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjEKK21zZ2lkICIuLi5za2lwcGluZyBiYWNrd2FyZFxuIgorbXNnc3RyICIuLi50ZXJ1Zy4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzc3Cittc2dpZCAiTm8gbmV4dCBmaWxlIgorbXNnc3RyICJHZWVuIHZvbGdlbmQgYmVzdGFuZCIKKworIzogdGV4dC11dGlscy9wZy5jOjM4MQorbXNnaWQgIk5vIHByZXZpb3VzIGZpbGUiCittc2dzdHIgIkdlZW4gdm9vcmdhYW5kIGJlc3RhbmQiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvciBmcm9tICVzIGZpbGUiCittc2dzdHIgIkxlZXNmb3V0IGluIGJlc3RhbmQgJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCBFT0YgaW4gJXMgZmlsZSIKK21zZ3N0ciAiT252ZXJ3YWNodGUgRU9GIGluIGJlc3RhbmQgJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBlcnJvciBpbiAlcyBmaWxlIgorbXNnc3RyICJPbmJla2VuZGUgZm91dCBpbiBiZXN0YW5kICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTQxCittc2dpZCAiQ2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiS2FuIGdlZW4gdGlqZGVsaWprIGJlc3RhbmQgbWFrZW4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NTAgdGV4dC11dGlscy9wZy5jOjExMTQgdGV4dC11dGlscy9wZy5jOjExNDAKK21zZ2lkICJSRSBlcnJvcjogIgorbXNnc3RyICJGb3V0IGluIHJlZ3VsaWVyZSBleHByZXNzaWU6ICIKKworIzogdGV4dC11dGlscy9wZy5jOjEwOTcKK21zZ2lkICIoRU9GKSIKK21zZ3N0ciAiKEVPRikiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTIyIHRleHQtdXRpbHMvcGcuYzoxMTQ4Cittc2dpZCAiTm8gcmVtZW1iZXJlZCBzZWFyY2ggc3RyaW5nIgorbXNnc3RyICJHZWVuIGVlcmRlcmUgem9la3Rla3N0IgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTIwMworbXNnaWQgImNhbm5vdCBvcGVuICIKK21zZ3N0ciAia2FuIGRlemUgbmlldCBvcGVuZW46ICIKKworIzogdGV4dC11dGlscy9wZy5jOjEyNTUKK21zZ2lkICJzYXZlZCIKK21zZ3N0ciAib3BnZXNsYWdlbiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzNDUKK21zZ2lkICI6ICFjb21tYW5kIG5vdCBhbGxvd2VkIGluIHJmbGFnIG1vZGUuXG4iCittc2dzdHIgIjogIW9wZHJhY2h0IGlzIG5pZXQgdG9lZ2VzdGFhbiBpbiBiZXBlcmt0ZSBtb2R1cy5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzODAKK21zZ2lkICJmb3JrKCkgZmFpbGVkLCB0cnkgYWdhaW4gbGF0ZXJcbiIKK21zZ3N0ciAiZm9yaygpIGlzIG1pc2x1a3Q7IHByb2JlZXIgaGV0IGxhdGVyIG9wbmlldXdcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjE0NjgKK21zZ2lkICIoTmV4dCBmaWxlOiAiCittc2dzdHIgIihWb2xnZW5kZSBiZXN0YW5kOiAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzIENvcHlyaWdodCAoYykgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4iCittc2dzdHIgIiVzICVzIENvcHlyaWdodCAoQykgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuICBBbGxlIHJlY2h0ZW4gdm9vcmJlaG91ZGVuLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU4NyB0ZXh0LXV0aWxzL3BnLmM6MTY2MAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMgcGVyIHBhZ2UiCittc2dzdHIgIm9udGxlZGVuIHZhbiByZWdlbGFhbnRhbC1wZXItcGFnaW5hIGlzIG1pc2x1a3QiCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCittc2dzdHIgIkdlYnJ1aWs6ICAlcyBbb3B0aWVzXSBbPGJlc3RhbmQ+Li4uXVxuIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjgwCittc2dpZCAiUmV2ZXJzZSBsaW5lcyBjaGFyYWN0ZXJ3aXNlLlxuIgorbXNnc3RyICJLZWVydCByZWdlbHMgdGVrZW5zZ2V3aWpzIGFjaHRlcnN0ZXZvcmVuLlxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgImluY29tcGxldGUgd3JpdGUgdG8gXCIlc1wiICh3cml0dGVuICV6ZCwgZXhwZWN0ZWQgJXpkKVxuIgorbXNnc3RyICJvbnZvbGxlZGlnZSBzY2hyaWpmYWN0aWUgbmFhciAnJXMnICglemQgZ2VzY2hyZXZlbiwgJXpkIHZlcndhY2h0KVxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2ggKGxpbWl0IG9mIGlub3RpZnkgd2F0Y2hlcyB3YXMgcmVhY2hlZCkuIgorbXNnc3RyICIlczoga2FuIGdlZW4gJ2lub3RpZnknLXdhY2h0ZXIgdG9ldm9lZ2VuIChtYXhpbXVtIGFhbnRhbCBpcyBiZXJlaWt0KSIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbl0gPGZpbGU+XG4iCittc2dzdHIgIiAgJXMgW29wdGllXSA8YmVzdGFuZD5cbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwMAorbXNnaWQgIkZvbGxvdyB0aGUgZ3Jvd3RoIG9mIGEgbG9nIGZpbGUuXG4iCittc2dzdHIgIlZvbGd0IGRlIGdyb2VpIHZhbiBlZW4gbG9nYmVzdGFuZC5cbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwMworbXNnaWQgIiAtbiwgLS1saW5lcyA8bnVtYmVyPiAgIG91dHB1dCB0aGUgbGFzdCA8bnVtYmVyPiBsaW5lc1xuIgorbXNnc3RyICIgIC1uLCAtLWxpbmVzIDxhYW50YWw+ICAgIGRpdCA8YWFudGFsPiBsYWF0c3RlIHJlZ2VscyB0b25lblxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjA0Cittc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgICAgc2FtZSBhcyAnLW4gPG51bWJlcj4nXG4iCittc2dzdHIgIiAgLTxhYW50YWw+ICAgICAgICAgICAgICAgaGV0emVsZmRlIGFscyAnLW4gPGFhbnRhbD4nXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMTAKK21zZ2lkICJXYXJuaW5nOiB1c2Ugb2YgJ3RhaWxmJyBpcyBkZXByZWNhdGVkLCB1c2UgJ3RhaWwgLWYnIGluc3RlYWQuXG4iCittc2dzdHIgIldhYXJzY2h1d2luZzogJ3RhaWxmJyBpcyB2ZXJvdWRlcmQgLS0gZ2VicnVpayBsaWV2ZXIgJ3RhaWwgLWYnLlxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjIzIHRleHQtdXRpbHMvdGFpbGYuYzoyNjMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGxpbmVzIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gcmVnZWxhYW50YWwgaXMgbWlzbHVrdCIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjI3NQorbXNnaWQgIm5vIGlucHV0IGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICJnZWVuIGludm9lcmJlc3RhbmRzbmFhbSBnZWdldmVuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBmaWxlIgorbXNnc3RyICIlczogaXMgZ2VlbiBiZXN0YW5kIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiAuLi5dXG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gWzxiZXN0YW5kPi4uLl1cbiIKKworIzogdGV4dC11dGlscy91bC5jOjEzOQorbXNnaWQgIkRvIHVuZGVybGluaW5nLlxuIgorbXNnc3RyICJPbmRlcnN0cmVlcHQuXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDIKK21zZ2lkICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIgIC10LCAtVCwgLS10ZXJtaW5hbCBURVJNSU5BTCAgIGRpdCBzb29ydCB0ZXJtaW5hbCBnZWJydWlrZW4gKGkucC52LiAkVEVSTSlcbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0MworbXNnaWQgIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICAgIHVuZGVybGluaW5nIGlzIGluZGljYXRlZCB2aWEgYSBzZXBhcmF0ZSBsaW5lXG4iCittc2dzdHIgIiAgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICAgb25kZXJzdHJlcGluZyB3b3JkdCBnZXRvb25kIG9wIGVlbiBhcGFydGUgcmVnZWxcbiIKKworIzogdGV4dC11dGlscy91bC5jOjIwNAorbXNnaWQgInRyb3VibGUgcmVhZGluZyB0ZXJtaW5mbyIKK21zZ3N0ciAicHJvYmxlbWVuIGJpaiBsZXplbiB2YW4gdGVybWluZm8iCisKKyMgRklYTUU6IGJhY2t0aWNrCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsIGAlcycgaXMgbm90IGtub3duLCBkZWZhdWx0aW5nIHRvIGBkdW1iJyIKK21zZ3N0ciAidGVybWluYWwgJyVzJyBpcyBvbmJla2VuZDsgJ2R1bWInIHdvcmR0IGdlYnJ1aWt0IgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZXNjYXBlIHNlcXVlbmNlIGluIGlucHV0OiAlbywgJW8iCittc2dzdHIgIm9uYmVrZW5kZSBzdHV1cmNvZGUgaW4gaW52b2VyOiAlbywgJW8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzo2MjQKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAiSW52b2VycmVnZWwgaXMgdGUgbGFuZy4iCisKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiB1c2UgdGhlIEhhcmR3YXJlIENsb2NrLiIKKyN+IG1zZ3N0ciAiU29ycnksIGFsbGVlbiByb290IGthbiBkZSBoYXJkd2FyZWtsb2sgaW5zdGVsbGVuLiIKKworI34gbXNnaWQgIkZpbGVzeXN0ZW0gbGFiZWw6IgorI34gbXNnc3RyICJCZXN0YW5kc3N5c3RlZW1sYWJlbDoiCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc2V0IFBBVEgiCisjfiBtc2dzdHIgImluc3RlbGxlbiB2YW4gUEFUSCBpcyBtaXNsdWt0IgorCisjIEZJWE1FOiBhZGQgdHJhbnNsYXRvciBjb21tZW50CisjfiBtc2dpZCAiJWQiCisjfiBtc2dzdHIgIiVkIgorCisjfiBtc2dpZCAidXNlIG9mICdraWxsIC0tcGlkJyBvcHRpb24gYXMgY29tbWFuZCBuYW1lIGlzIGRlcHJlY2F0ZWQiCisjfiBtc2dzdHIgImdlYnJ1aWsgdmFuICdwaWQnIGluIHBsYWF0cyB2YW4gJ2tpbGwgLS1waWQnIGlzIHZlcm91ZGVyZCIKKworI34gbXNnaWQgIiU0ZC0lLjJkLSUuMmQgJTAyZDolMDJkOiUwMmQuJTA2bGQlKzAyZDolMDJkXG4iCisjfiBtc2dzdHIgIiU0ZC0lLjJkLSUuMmQgJTAyZDolMDJkOiUwMmQuJTA2bGQlKzAyZDolMDJkXG4iCisKKyN+IG1zZ2lkICJiYWQgdGltZW91dCB2YWx1ZTogJXMiCisjfiBtc2dzdHIgIm9uZ2VsZGlnZSB0aWpkc2xpbWlldDogJXMiCisKKyN+IG1zZ2lkICJleHBlY3RlZCBhIG51bWJlciwgYnV0IGdvdCAnJXMnIgorI34gbXNnc3RyICJlciB3ZXJkIGVlbiBnZXRhbCB2ZXJ3YWNodCwgbWFhciAnJXMnIHdlcmQgZ2V2b25kZW4iCisKKyN+IG1zZ2lkICJkaXZpc29yICclcyciCisjfiBtc2dzdHIgInZlcnNuZWxsaW5nIGlzICclcyciCisKKyN+IG1zZ2lkICJhcmd1bWVudCBlcnJvcjogJXMiCisjfiBtc2dzdHIgIm9uanVpc3QgYXJndW1lbnQ6ICVzIgorCisjfiBtc2dpZCAidHR5IHBhdGggJXMgdG9vIGxvbmciCisjfiBtc2dzdHIgInRlcm1pbmFscGFkICVzIGlzIHRlIGxhbmciCisKKyN+IG1zZ2lkICJjYW5ub3QgYWNjZXNzIGZpbGUgJXMiCisjfiBtc2dzdHIgImthbiBiZXN0YW5kICVzIG5pZXQgYmVyZWlrZW4iCisKKyN+IG1zZ2lkICIlcyBpcyBub3QgYSBibG9jayBzcGVjaWFsIGRldmljZSIKKyN+IG1zZ3N0ciAiJXMgaXMgZ2VlbiBibG9rLWFwcGFyYWF0IgorCisjfiBtc2dpZCAiJXM6IGRldmljZSBpcyBtaXNhbGlnbmVkIgorI34gbXNnc3RyICIlczogYXBwYXJhYXQgaXMgb25qdWlzdCB1aXRnZWxpam5kIgorCisjfiBtc2dpZCAiT1MvMiBoaWRkZW4gQzogZHJpdmUiCisjfiBtc2dzdHIgIk9TLzIgdmVyYm9yZ2VuIEM6IgorCisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQiCisjfiBtc2dzdHIgIiVzOiBvbnRsZWRpbmdzZm91dCBvcCByZWdlbCAlZCIKKworI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRldmljZSBwYXRoIgorI34gbXNnc3RyICIlczoga2FuIGFwcGFyYWF0cGFkIG5pZXQgYWNodGVyaGFsZW4iCisKKyN+IG1zZ2lkICIlczogdW5rbm93biBkZXZpY2UgbmFtZSIKKyN+IG1zZ3N0ciAiJXM6IG9uYmVrZW5kZSBhcHBhcmFhdG5hYW0iCisKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGdldCBkbSBuYW1lIgorI34gbXNnc3RyICIlczogdmVya3JpamdlbiB2YW4gRE0tbmFhbSBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAidGhlIHNvcnQgY29sdW1uIGhhcyB0byBiZSBhbW9uZyB0aGUgb3V0cHV0IGNvbHVtbnMiCisjfiBtc2dzdHIgImRlIHNvcnRlZXJrb2xvbSBtb2V0IGJpaiBkZSB1aXRnZXZvZXJkZSBrb2xvbW1lbiB6aXR0ZW4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKKyN+ICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKKyN+ICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKKyN+ICIgLWssIC0ta2lsbCAgICAgICAgICAgICAga2lsbCBydW5uaW5nIGRhZW1vblxuIgorI34gIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCisjfiAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCisjfiAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKKyN+ICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorI34gIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBkbyBub3QgY3JlYXRlIGxpc3RlbmluZyBzb2NrZXRcbiIKKyN+ICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHR1cm4gb24gcXVpZXQgbW9kZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiICAtcCwgLS1waWQgPHBhZD4gICAgICAgICAgcGFkIG5hYXIgUElELWJlc3RhbmRcbiIKKyN+ICIgIC1zLCAtLXNvY2tldCA8cGFkPiAgICAgICBwYWQgbmFhciBzb2NrZXRcbiIKKyN+ICIgIC1ULCAtLXRpbWVvdXQgPHRpamQ+ICAgICBtYXhpbWFsZSB0aWpkIHZhbiBpbmFjdGl2aXRlaXQgKGluIHNlY29uZGVuKVxuIgorI34gIiAgLWssIC0ta2lsbCAgICAgICAgICAgICAgIGVlbiBkcmFhaWVuZGUgdXVpZGQtZGllbnN0IGVsaW1pbmVyZW5cbiIKKyN+ICIgIC1yLCAtLXJhbmRvbSAgICAgICAgICAgICBhYW5tYWFrIHZhbiB3aWxsZWtldXJpZ2UgVVVJRCdzIHRlc3RlblxuIgorI34gIiAgLXQsIC0tdGltZSAgICAgICAgICAgICAgIGFhbm1hYWsgdmFuIHRpamRzLVVVSUQncyB0ZXN0ZW5cbiIKKyN+ICIgIC1uLCAtLXV1aWRzIDxhYW50YWw+ICAgICBkaXQgYWFudGFsIFVVSUQncyBnZW5lcmVyZW5cbiIKKyN+ICIgIC1QLCAtLW5vLXBpZCAgICAgICAgICAgICBnZWVuIFBJRC1iZXN0YW5kIGFhbm1ha2VuXG4iCisjfiAiICAtRiwgLS1uby1mb3JrICAgICAgICAgICAgbmlldCB0b3QgYWNodGVyZ3JvbmRkaWVuc3QgbWFrZW5cbiIKKyN+ICIgIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uICBnZWVuIGx1aXN0ZXJlbmRlIHNvY2tldCBhYW5tYWtlblxuIgorI34gIiAgLWQsIC0tZGVidWcgICAgICAgICAgICAgIGRlYnVnZ2luZy1tZWxkaW5nZW4gd2VlcmdldmVuXG4iCisjfiAiICAtcSwgLS1xdWlldCAgICAgICAgICAgICAgZ2VlbiBtZWxkaW5nZW4gZ2V2ZW5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgInVua25vd24gc2NoZWR1bGluZyBwb2xpY3kiCisjfiBtc2dzdHIgIm9uYmVrZW5kIHNjaGVkdWxpbmctYmVsZWlkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCisjfiAiIC1wLCAtLXN0ZXAgPG51bT4gICAgc2l6ZSBvZiB0aGUgZGlzY2FyZCBpdGVyYXRpb25zIHdpdGhpbiB0aGUgb2Zmc2V0XG4iCisjfiAiIC1zLCAtLXNlY3VyZSAgICAgICAgcGVyZm9ybSBzZWN1cmUgZGlzY2FyZFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IGFsaWduZWQgbGVuZ3RoIGFuZCBvZmZzZXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLW8sIC0tb2Zmc2V0IDxnZXRhbD4gICBieXRlcG9zaXRpZSB2YW5hZiB3YWFyIGJsb2trZW4gdmVyd29ycGVuIG1vZXRlbiB3b3JkZW5cbiIKKyN+ICIgIC1sLCAtLWxlbmd0aCA8Z2V0YWw+ICAgbGVuZ3RlIChpbiBieXRlcykgdmFuIGdlYmllZCB3YWFyaW4gbmFhciBvbmdlYnJ1aWt0ZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2trZW4gZ2V6b2NodCBtb2V0IHdvcmRlblxuIgorI34gIiAgLXMsIC0tc2VjdXJlICAgICAgICAgICBkZSB2ZXJ3ZXJwaW5nIG9wIHZlaWxpZ2Ugd2lqemUgdWl0dm9lcmVuXG4iCisjfiAiICAtdiwgLS12ZXJib3NlICAgICAgICAgIGhldCBhYW50YWwgdmVyd29ycGVuIGJ5dGVzIHRvbmVuXG4iCisKKyN+IG1zZ2lkICIlcyAgLiUwNmQgc2Vjb25kc1xuIgorI34gbXNnc3RyICIlcyAgLiUwNmQgc2Vjb25kZW5cbiIKKworI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvcjogaWdub3JlIGVudHJ5IGF0IGxpbmUgJWQuIgorI34gbXNnc3RyICIlczogb250bGVkaW5nc2ZvdXQ6IGhldCBpdGVtIG9wIHJlZ2VsICVkIHdvcmR0IGdlbmVnZWVyZCIKKworI34gbXNnaWQgInBhZ2VzIgorI34gbXNnc3RyICJwYWdpbmEncyIKKworI34gbXNnaWQgIkRldmljZSBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIKKyN+IG1zZ3N0ciAiQXBwYXJhYXQgaXMgZ2VvcGVuZCBpbiBhbGxlZW5sZXplbi1tb2R1cy4iCisKKyN+IG1zZ2lkICIgLXYgIGJlIHZlcmJvc2VcbiIKKyN+IG1zZ3N0ciAiICAtdiAgICBnZWRldGFpbGxlZXJkZSB1aXR2b2VyIHByb2R1Y2VyZW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJWZXJ5IGxvbmcgKCV6dSBieXRlcykgZmlsZW5hbWUgYCVzJyBmb3VuZC5cbiIKKyN+ICIgUGxlYXNlIGluY3JlYXNlIE1BWF9JTlBVVF9OQU1FTEVOIGluIG1rY3JhbWZzLmMgYW5kIHJlY29tcGlsZS4gIEV4aXRpbmcuIgorI34gbXNnc3RyICIiCisjfiAiRXJnIGxhbmdlIGJlc3RhbmRzbmFhbSAnJTIkcycgZ2V2b25kZW4gKCUxJHp1IGJ5dGVzKTtcbiIKKyN+ICJ2ZXJob29nIE1BWF9JTlBVVF9OQU1FTEVOIGluIG1rY3JhbWZzLmMgZW4gaGVyY29tcGlsZWVyIC0tIGdlc3RvcHQiCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1jIHwgLWwgZmlsZW5hbWVdIFstblhYXSBbLWlYWF0gL2Rldi9uYW1lIFtibG9ja3NdIgorI34gbXNnc3RyICJHZWJydWlrOiAgJXMgWy1jIHwgLWwgYmVzdGFuZHNuYWFtXSBbLW5YWF0gWy1pWFhdIC9kZXYvbmFhbSBbYmxva2tlbl0iCisKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAiJXM6IHJlc2VydmVyZW4gdmFuIGJ1ZmZlciB2b29yIHN1cGVyYmxvayBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzIGZvciBtYXBzIgorI34gbXNnc3RyICIlczogcmVzZXJ2ZXJlbiB2YW4gYnVmZmVycyB2b29yIGJpdGthYXJ0ZW4gaXMgbWlzbHVrdCIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCisjfiBtc2dzdHIgIiVzOiByZXNlcnZlcmVuIHZhbiBidWZmZXIgdm9vciBpbm9kZXMgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgIiVzOiBiYWQgaW5vZGUgc2l6ZSIKKyN+IG1zZ3N0ciAiJXM6IG9uZ2VsZGlnZSBpbm9kZS1ncm9vdHRlIgorCisjfiBtc2dpZCAid2lsbCBub3QgdHJ5IHRvIG1ha2UgZmlsZXN5c3RlbSBvbiAnJXMnIgorI34gbXNnc3RyICJ6YWwgbmlldCBwcm9iZXJlbiBlZW4gYmVzdGFuZHNzeXN0ZWVtIHRlIG1ha2VuIG9wICclcyciCisKKyN+IG1zZ2lkICJkaXNrOiAlLipzIgorI34gbXNnc3RyICJzY2hpamY6ICUuKnMiCisKKyN+IG1zZ2lkICJsYWJlbDogJS4qcyIKKyN+IG1zZ3N0ciAibGFiZWw6ICUuKnMiCisKKyN+IG1zZ2lkICJmbGFnczogJXMiCisjfiBtc2dzdHIgInZsYWdnZW46ICVzIgorCisjfiBtc2dpZCAiYnl0ZXMvc2VjdG9yOiAlbGQiCisjfiBtc2dzdHIgImJ5dGVzL3NlY3RvcjogJWxkIgorCisjfiBtc2dpZCAic2VjdG9ycy90cmFjazogJWxkIgorI34gbXNnc3RyICJzZWN0b3Jlbi9zcG9vcjogJWxkIgorCisjfiBtc2dpZCAidHJhY2tzL2N5bGluZGVyOiAlbGQiCisjfiBtc2dzdHIgInNwb3Jlbi9jaWxpbmRlcjogJWxkIgorCisjfiBtc2dpZCAic2VjdG9ycy9jeWxpbmRlcjogJWxkIgorI34gbXNnc3RyICJzZWN0b3Jlbi9jaWxpbmRlcjogJWxkIgorCisjfiBtc2dpZCAiY3lsaW5kZXJzOiAlbGQiCisjfiBtc2dzdHIgImNpbGluZGVyczogJWxkIgorCisjfiBtc2dpZCAiaW50ZXJsZWF2ZTogJWQiCisjfiBtc2dzdHIgInR1c3NlbnJ1aW10ZTogJWQiCisKKyN+IG1zZ2lkICJoZWFkc3dpdGNoOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgIm92ZXJzY2hha2VsZW4gdmFuIGtvcDogJWxkIChtaWxsaXNlY29uZGVuKSIKKworI34gbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWs6ICVsZCAobWlsbGlzZWNvbmRzKSIKKyN+IG1zZ3N0ciAic3Bvb3ItdG90LXNwb29yICdzZWVrJzogJWxkIChtaWxsaXNlY29uZGVuKSIKKworI34gbXNnaWQgInBhcnRpdGlvbnM6ICVkIgorI34gbXNnc3RyICJwYXJ0aXRpZXM6ICVkIgorCisjfiBtc2dpZCAiWW91IGNhbm5vdCBjaGFuZ2UgYSBwYXJ0aXRpb24gaW50byBhbiBleHRlbmRlZCBvbmUgb3IgdmljZSB2ZXJzYS4gRGVsZXRlIGl0IGZpcnN0LiIKKyN+IG1zZ3N0ciAiIgorI34gIlUga3VudCBlZW4gZ2V3b25lIHBhcnRpdGllIG5pZXQgdmVyYW5kZXJlbiBpbiBlZW4gdWl0Z2VicmVpZGUgb2YgYW5kZXJzb20uXG4iCisjfiAiVmVyd2lqZGVyIGRlIHBhcnRpdGllIGVlcnN0LiIKKworI34gbXNnaWQgIiIKKyN+ICJMYWJlbCBnZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9yc1xuIgorI34gIiAgICAgICAgICAgICAgICAlbGx1IGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJMYWJlbGdlb21ldHJpZTogJWQga29wcGVuLCAlbGx1IHNlY3RvcmVuXG4iCisjfiAiICAgICAgICAgICAgICAgICVsbHUgY2lsaW5kZXJzLCAlZCBmeXNpZWtlIGNpbGluZGVyc1xuIgorI34gIiAgICAgICAgICAgICAgICAlZCBleHRyYSBzZWN0b3Jlbi9jaWxpbmRlciwgdHVzc2VucnVpbXRlICVkOjFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJMYWJlbCBnZW9tZXRyeTogJWQgcnBtLCAlZCBhbHRlcm5hdGUgYW5kICVkIHBoeXNpY2FsIGN5bGluZGVycyxcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWQgZXh0cmEgc2VjdHMvY3lsLCBpbnRlcmxlYXZlICVkOjEiCisjfiBtc2dzdHIgIiIKKyN+ICJMYWJlbGdlb21ldHJpZTogJWQgcnBtLCAlZCBhbHRlcm5hdGlldmUgZW4gJWQgZnlzaWVrZSBjaWxpbmRlcnNcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWQgZXh0cmEgc2VjdG9yZW4vY2lsaW5kZXIsIHR1c3NlbnJ1aW10ZSAlZDoxIgorCisjfiBtc2dpZCAiPG5vbmU+IgorI34gbXNnc3RyICI8Z2Vlbj4iCisKKyN+IG1zZ2lkICJ1c2FnZTogbGFzdCBbLSNdIFstZiBmaWxlXSBbLXQgdHR5XSBbLWggaG9zdG5hbWVdIFt1c2VyIC4uLl1cbiIKKyN+IG1zZ3N0ciAiR2VicnVpazogIGxhc3QgWy0jXSBbLWYgYmVzdGFuZF0gWy10IHR0eV0gWy1oIGhvc3RuYWFtXSBbZ2VicnVpa2VyIC4uLl1cbiIKKworI34gbXNnaWQgIiAgc3RpbGwgbG9nZ2VkIGluIgorI34gbXNnc3RyICIgIG5vZyBpbmdlbG9nZCIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJ3dG1wIGJlZ2lucyAlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gInd0bXAgYmVnaW50ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImludGVycnVwdGVkICUxMC4xMHMgJTUuNXMgXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJvbmRlcmJyb2tlbiAlMTAuMTBzICU1LjVzIFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHByb2Nlc3MgaWRcbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCisjfiAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIC1wLCAtLXBpZCA8UElEPiAgICAgICAgIGFsbGVlbiB2ZXJncmVuZGVsaW5nZW4gdmFuIGRpdCBwcm9jZXMgdG9uZW5cbiIKKyN+ICIgIC1vLCAtLW91dHB1dCA8bGlqc3Q+ICAgIHRlIHRvbmVuIHVpdHZvZXJrb2xvbW1lblxuIgorI34gIiAgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgZ2VlbiBrb2xvbWtvcHBlbiB3ZWVyZ2V2ZW5cbiIKKyN+ICIgIC1yLCAtLXJhdyAgICAgICAgICAgICAgIHJ1d2UgdWl0dm9lcm9wbWFhayBnZWJydWlrZW5cbiIKKyN+ICIgIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgIHRla3N0IGJpbm5lbiBrb2xvbW1lbiBuaWV0IGFma2FwcGVuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiU2NoZWR1bGluZyBwb2xpY2llczpcbiIKKyN+ICIgIC1iIHwgLS1iYXRjaCAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfQkFUQ0hcbiIKKyN+ICIgIC1mIHwgLS1maWZvICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfRklGT1xuIgorI34gIiAgLWkgfCAtLWlkbGUgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9JRExFXG4iCisjfiAiICAtbyB8IC0tb3RoZXIgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX09USEVSXG4iCisjfiAiICAtciB8IC0tcnIgICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX1JSIChkZWZhdWx0KVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiU2NoZWR1bGluZy1iZWxlaWQ6XG4iCisjfiAiICAtYiB8IC0tYmF0Y2ggICAgICAgICAgYmVsZWlkIG9wIFNDSEVEX0JBVENIIGluc3RlbGxlblxuIgorI34gIiAgLWYgfCAtLWZpZm8gICAgICAgICAgIGJlbGVpZCBvcCBTQ0hFRF9GSUZPIGluc3RlbGxlblxuIgorI34gIiAgLWkgfCAtLWlkbGUgICAgICAgICAgIGJlbGVpZCBvcCBTQ0hFRF9JRExFIGluc3RlbGxlblxuIgorI34gIiAgLW8gfCAtLW90aGVyICAgICAgICAgIGJlbGVpZCBvcCBTQ0hFRF9PVEhFUiBpbnN0ZWxsZW5cbiIKKyN+ICIgIC1yIHwgLS1yciAgICAgICAgICAgICBiZWxlaWQgb3AgU0NIRURfUlIgaW5zdGVsbGVuIChzdGFuZGFhcmQpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgIC1hIHwgLS1hbGwtdGFza3MgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisjfiAiICAtbSB8IC0tbWF4ICAgICAgICAgICBzaG93IG1pbiBhbmQgbWF4IHZhbGlkIHByaW9yaXRpZXNcbiIKKyN+ICIgIC1wIHwgLS1waWQgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCisjfiAiICAtdiB8IC0tdmVyYm9zZSAgICAgICBkaXNwbGF5IHN0YXR1cyBpbmZvcm1hdGlvblxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiT3B0aWVzOlxuIgorI34gIiAgLWEgfCAtLWFsbC10YXNrcyAgICAgIGFsbGUgdGFrZW4vdGhyZWFkcyB2YW4gZGUgZ2VnZXZlbiBQSUQgYWFucGFra2VuXG4iCisjfiAiICAtbSB8IC0tbWF4ICAgICAgICAgICAgbWluaW11bSBlbiBtYXhpbXVtIGdlbGRpZ2UgcHJpb3JpdGVpdGVuIHRvbmVuXG4iCisjfiAiICAtcCB8IC0tcGlkICAgICAgICAgICAgZGUgZ2VnZXZlbiBiZXN0YWFuZGUgUElEIGJlw69udmxvZWRlblxuIgorI34gIiAgLXYgfCAtLXZlcmJvc2UgICAgICAgIHN0YXR1c2luZm9ybWF0aWUgdG9uZW5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1tYW51YWxlamVjdC8taSBvcHRpb24iCisjfiBtc2dzdHIgIm9uZ2VsZGlnIGFyZ3VtZW50IHZhbiBvcHRpZSAnLS1tYW51YWxlamVjdCcgKC1pKSIKKworI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIGNoYW5nZSB0aGUgU3lzdGVtIENsb2NrLiIKKyN+IG1zZ3N0ciAiU29ycnksIGFsbGVlbiByb290IGthbiBkZSBzeXN0ZWVta2xvayBpbnN0ZWxsZW4uIgorCisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gY2hhbmdlIHRoZSBIYXJkd2FyZSBDbG9jayBlcG9jaCBpbiB0aGUga2VybmVsLiIKKyN+IG1zZ3N0ciAiU29ycnksIGFsbGVlbiByb290IGthbiBpbiBkZSBrZXJuZWwgZGUgdGlqZHBlcmt3YWFyZGUgdm9vciBkZSBrbG9rIGluc3RlbGxlbi4iCisKKyN+IG1zZ2lkICJyZWFkKCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCisjfiBtc2dzdHIgInJlYWQoKSB2YW4gJXMgdm9vciB3YWNodGVuIG9wIGtsb2t0aWsgaXMgbWlzbHVrdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHNheSB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtd3JpdGUgKGRlZmF1bHQpXG4iCisjfiBtc2dzdHIgIiAgLXYsIC0tdmVyYm9zZSAgICB2ZXJtZWxkZW4gd2F0IGVyIGdlZGFhbiB3b3JkdFxuIgorCisjfiBtc2dpZCAic2V0IHJ0YyBhbGFybSBmYWlsZWQiCisjfiBtc2dzdHIgInpldHRlbiB2YW4gZGUgd2Vra2VyIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICJlbmFibGUgcnRjIGFsYXJtIGZhaWxlZCIKKyN+IG1zZ3N0ciAiaW5zY2hha2VsZW4gdmFuIGRlIHdla2tlciBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAic3VzcGVuZCB0byBcIiVzXCIgdW5hdmFpbGFibGUiCisjfiBtc2dzdHIgInRvZXN0YW5kIG9wc2xhYW4gbmFhciBcIiVzXCIgaXMgbmlldCBiZXNjaGlrYmFhciIKKworI34gbXNnaWQgImJhZCB2YWx1ZSIKKyN+IG1zZ3N0ciAib25nZWxkaWdlIHdhYXJkZSIKKworI34gbXNnaWQgIiAtbSwgLS1tb3VudCAgICAgICAgICAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgIC1tLCAtLW1vdW50ICAgICAgIG5hYW1zcnVpbXRlIHZvb3IgYWFua29wcGVsaW5nZW4gbmlldCBkZWxlblxuIgorCisjfiBtc2dpZCAiIC11LCAtLXV0cyAgICAgICAgICAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCisjfiBtc2dzdHIgIiAgLXUsIC0tdXRzICAgICAgICAgVVRTLW5hYW1zcnVpbXRlIG5pZXQgZGVsZW4gKGhvc3RuYWFtIGVuIGRlcmdlbGlqa2UpXG4iCisKKyN+IG1zZ2lkICIgLWksIC0taXBjICAgICAgICAgICAgICAgICB1bnNoYXJlIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAtaSwgLS1pcGMgICAgICAgICBJUEMtbmFhbXNydWltdGUgbmlldCBkZWxlbiAoc2VtYWZvcmVuIGVuIGRlcmdlbGlqa2UpXG4iCisKKyN+IG1zZ2lkICIgLW4sIC0tbmV0ICAgICAgICAgICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgLW4sIC0tbmV0ICAgICAgICAgbmV0d2Vya25hYW1zcnVpbXRlIG5pZXQgZGVsZW5cbiIKKworI34gbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICAgICAgIHVuc2hhcmUgcGlkIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgIC1wLCAtLXBpZCAgICAgICAgIFBJRC1uYWFtc3J1aW10ZSBuaWV0IGRlbGVuXG4iCisKKyN+IG1zZ2lkICIgLVUsIC0tdXNlciAgICAgICAgICAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgLVUsIC0tdXNlciAgICAgICAgbmFhbXNydWltdGUgdmFuIGdlYnJ1aWtlcnMgbmlldCBkZWxlbiAoVUlEJ3MsIEdJRCdzLCBlbiB6bylcbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlbSIKKyN+IG1zZ3N0ciAia2FuICVzIG5pZXQgb3BlbmVuOiAlbSIKKworI34gbXNnaWQgIk1pbmltYWwgc2l6ZSBpcyAlanUiCisjfiBtc2dzdHIgIk1pbmltdW0gZ3Jvb3R0ZSBpcyAlanUiCisKKyN+IG1zZ2lkICJIZWxwIFNjcmVlbiBmb3IgY2ZkaXNrIgorI34gbXNnc3RyICJIdWxwc2NoZXJtIHZvb3IgJ2NmZGlzayciCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMTQgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+ICIKKyN+IG1zZ3N0ciAiQ29weXJpZ2h0IMKpIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPiAyMDE0ICIKKworI34gbXNnaWQgIkJhc2VkIG9uIHRoZSBvcmlnaW5hbCBjZmRpc2sgZnJvbSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIuIgorI34gbXNnc3RyICJHZWJhc2VlcmQgb3AgZGUgb3JpZ2luZWxlICdjZmRpc2snIHZhbiBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIuIgorCisjfiBtc2dpZCAiVG9vIHNtYWxsIHBhcnRpdGlvbiBzaXplIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIk9wZ2VnZXZlbiBwYXJ0aXRpZWdyb290dGUgaXMgdGUga2xlaW4uIgorCisjfiBtc2dpZCAic3RhdCBmYWlsZWQgJXMiCisjfiBtc2dzdHIgIm9wdnJhZ2VuIHZhbiBzdGF0dXMgdmFuICVzIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiU2V0cyBvciBnZXRzIHRoZSBJTyBzY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eSBvZiBwcm9jZXNzZXMuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJUb29udCBvZiB6ZXQgZGUgaW52b2VyL3VpdHZvZXItc2NoZWR1bGluZy1rbGFzc2UgZW4gcHJpb3JpdGVpdCB2YW4gcHJvY2Vzc2VuLlxuIgorCisjfiBtc2dpZCAiUGxlYXNlLCBzZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBkaXNrIGxhYmVsLiIKKyN+IG1zZ3N0ciAiS2llcyBlZW4gdHlwZSBvbSBlZW4gbmlldXcgc2NoaWpmbGFiZWwgYWFuIHRlIG1ha2VuLiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICAlcyBbb3B0aWVzXSBhcHBhcmFhdFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1uLCAtLW5vLXZlcmlmeSAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk9wdGllczpcbiIKKyN+ICIgIC1uLCAtLW5vLXZlcmlmeSAgICBnZWVuIGNvbnRyb2xlIHVpdHZvZXJlbiBuYSBoZXQgZm9ybWF0dGVyZW5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIlVzYWdlOlxuIgorI34gbXNnc3RyICJHZWJydWlrOlxuIgorCisjfiBtc2dpZCAiQmFkIHN3YXAgaGVhZGVyIHNpemUsIG5vIGxhYmVsIHdyaXR0ZW4uIgorI34gbXNnc3RyICJPbmp1aXN0ZSBncm9vdHRlIHZhbiBrb3AgdmFuIHdpc3NlbGdlaGV1Z2VuOyBlciBpcyBnZWVuIGxhYmVsIGdlc2NocmV2ZW4uIgorCisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyAtIGNhbm5vdCBzZWVrIHRvICVsdSIKKyN+IG1zZ3N0ciAiJ3NlZWsnLWZvdXQgb3AgJXMgLS0ga2FuIGdlZW4gJ3NlZWsnIGRvZW4gbmFhciAlbHUiCisKKyN+IG1zZ2lkICJzZWVrIGVycm9yOiB3YW50ZWQgMHglMDh4JTA4eCwgZ290IDB4JTA4eCUwOHgiCisjfiBtc2dzdHIgIidzZWVrJy1mb3V0OiAweCUwOHglMDh4IHZlcndhY2h0LCAweCUwOHglMDh4IGdla3JlZ2VuIgorCisjfiBtc2dpZCAicmVhZCBlcnJvciBvbiAlcyAtIGNhbm5vdCByZWFkIHNlY3RvciAlbGx1IgorI34gbXNnc3RyICJmb3V0IGJpaiBsZXplbiB2YW4gJXMgLS0ga2FuIHNlY3RvciAlbGx1IG5pZXQgbGV6ZW4iCisKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyAtIGNhbm5vdCB3cml0ZSBzZWN0b3IgJWxsdSIKKyN+IG1zZ3N0ciAiZm91dCBiaWogc2NocmlqdmVuIG5hYXIgJXMgLS0ga2FuIHNlY3RvciAlbGx1IG5pZXQgc2NocmlqdmVuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHNlY3RvciBzYXZlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAia2FuIHBhcnRpdGlvbmVyaW5ncy1iZXdhYXJiZXN0YW5kICglcykgbmlldCBvcGVuZW4iCisKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyIKKyN+IG1zZ3N0ciAiZm91dCBiaWogc2NocmlqdmVuIG5hYXIgJXMiCisKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcykiCisjfiBtc2dzdHIgImthbiBzdGF0dXMgdmFuIHBhcnRpdGlvbmVyaW5ncy1oZXJzdGVsYmVzdGFuZCAoJXMpIG5pZXQgYmVwYWxlbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiByZXN0b3JlIGZpbGUgaGFzIHdyb25nIHNpemUgLSBub3QgcmVzdG9yaW5nIgorI34gbXNnc3RyICJwYXJ0aXRpb25lcmluZ3MtaGVyc3RlbGJlc3RhbmQgaGVlZnQgb25qdWlzdGUgZ3Jvb3R0ZSAtLSBnZWVuIGhlcnN0ZWxsaW5nIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHJlc3RvcmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJrYW4gcGFydGl0aW9uZXJpbmdzLWhlcnN0ZWxiZXN0YW5kICglcykgbmlldCBvcGVuZW4iCisKKyN+IG1zZ2lkICJlcnJvciByZWFkaW5nICVzIgorI34gbXNnc3RyICJmb3V0IGJpaiBsZXplbiB2YW4gJXMiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBkZXZpY2UgJXMgZm9yIHdyaXRpbmciCisjfiBtc2dzdHIgImthbiBhcHBhcmFhdCAlcyBuaWV0IG9wZW5lbiBvbSB0ZSBzY2hyaWp2ZW4iCisKKyN+IG1zZ2lkICJlcnJvciB3cml0aW5nIHNlY3RvciAlbHUgb24gJXMiCisjfiBtc2dzdHIgImZvdXQgYmlqIHNjaHJpanZlbiB2YW4gc2VjdG9yICVsdSBvcCAlcyIKKworI34gbXNnaWQgIkRpc2sgJXM6IGNhbm5vdCBnZXQgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIlNjaGlqZiAlczoga2FuIGdlb21ldHJpZSBuaWV0IGFjaHRlcmhhbGVuIgorCisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBzaXplIgorI34gbXNnc3RyICJTY2hpamYgJXM6IGthbiBncm9vdHRlIG5pZXQgYWNodGVyaGFsZW4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogc3RhcnQ9JWx1IC0gdGhpcyBsb29rcyBsaWtlIGEgcGFydGl0aW9uIHJhdGhlciB0aGFuXG4iCisjfiAidGhlIGVudGlyZSBkaXNrLiBVc2luZyBmZGlzayBvbiBpdCBpcyBwcm9iYWJseSBtZWFuaW5nbGVzcy5cbiIKKyN+ICJbVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiBpZiB5b3UgcmVhbGx5IHdhbnQgdGhpc10iCisjfiBtc2dzdHIgIiIKKyN+ICJXYWFyc2NodXdpbmc6IGJlZ2luPSVsdSAtLSBkaXQgemlldCBlciB1aXQgYWxzIGVlbiBwYXJ0aXRpZVxuIgorI34gImluIHBsYWF0cyB2YW4gZWVuIGdlaGVsZSBzY2hpamYuICBIaWVyb3AgJ2ZkaXNrJyBnZWJydWlrZW5cbiIKKyN+ICJpcyB3YWFyc2NoaWpubGlqayB6aW5sb29zLlxuIgorI34gIihHZWJydWlrIGRlIG9wdGllICctLWZvcmNlJyBhbHMgdSBkaXQgZWNodCB3aWx0IGRvZW4uKSIKKworI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGhlYWRzIgorI34gbXNnc3RyICJXYWFyc2NodXdpbmc6IGlvY3RsKEhESU9fR0VUR0VPKSB6ZWd0IGRhdCBlciAlbHUga29wcGVuIHppam4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBIRElPX0dFVEdFTyBzYXlzIHRoYXQgdGhlcmUgYXJlICVsdSBzZWN0b3JzIgorI34gbXNnc3RyICJXYWFyc2NodXdpbmc6IGlvY3RsKEhESU9fR0VUR0VPKSB6ZWd0IGRhdCBlciAlbHUgc2VjdG9yZW4gemlqbiIKKworI34gbXNnaWQgIldhcm5pbmc6IEJMS0dFVFNJWkUvSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgY3lsaW5kZXJzIgorI34gbXNnc3RyICJXYWFyc2NodXdpbmc6IGlvY3RsKEJMS0dFVFNJWkUvSERJT19HRVRHRU8pIHplZ3QgZGF0IGVyICVsdSBjaWxpbmRlcnMgemlqbiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiB1bmxpa2VseSBudW1iZXIgb2Ygc2VjdG9ycyAoJWx1KSAtIHVzdWFsbHkgYXQgbW9zdCA2M1xuIgorI34gIlRoaXMgd2lsbCBnaXZlIHByb2JsZW1zIHdpdGggYWxsIHNvZnR3YXJlIHRoYXQgdXNlcyBDL0gvUyBhZGRyZXNzaW5nLiIKKyN+IG1zZ3N0ciAiIgorI34gIldhYXJzY2h1d2luZzogb253YWFyc2NoaWpubGlqayBhYW50YWwgc2VjdG9yZW4gKCVsdSkgLS0gbWVlc3RhbCBob29nc3RlbnMgNjMuXG4iCisjfiAiRGl0IHphbCBwcm9ibGVtZW4gZ2V2ZW4gbWV0IGFsbGUgc29mdHdhcmUgZGllIEMvSy9TLWFkcmVzc2VyaW5nIGdlYnJ1aWt0LiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbHUgY3lsaW5kZXJzLCAlbHUgaGVhZHMsICVsdSBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJTY2hpamYgJXM6ICVsdSBjaWxpbmRlcnMsICVsdSBrb3BwZW4sICVsdSBzZWN0b3Jlbi9zcG9vclxuIgorCisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBoZWFkOiAlbHUgKHNob3VsZCBiZSBpbiAwLSVsdSkiCisjfiBtc2dzdHIgIiVzIHZhbiBwYXJ0aXRpZSAlcyBoZWVmdCBlZW4gb25tb2dlbGlqa2Ugd2FhcmRlIHZvb3Iga29wcGVuOiAlbHUgKG1vZXQgbGlnZ2VuIHR1c3NlbiAwIGVuICVsdSkiCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIHNlY3RvcjogJWx1IChzaG91bGQgYmUgaW4gMS0lbHUpIgorI34gbXNnc3RyICIlcyB2YW4gcGFydGl0aWUgJXMgaGVlZnQgZWVuIG9ubW9nZWxpamtlIHdhYXJkZSB2b29yIHNlY3RvcmVuOiAlbHUgKG1vZXQgbGlnZ2VuIHR1c3NlbiAxIGVuICVsdSkiCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIGN5bGluZGVyczogJWx1IChzaG91bGQgYmUgaW4gMC0lbHUpIgorI34gbXNnc3RyICIlcyB2YW4gcGFydGl0aWUgJXMgaGVlZnQgZWVuIG9ubW9nZWxpamtlIHdhYXJkZSB2b29yIGNpbGluZGVyczogJWx1IChtb2V0IGxpZ2dlbiB0dXNzZW4gMCBlbiAlbHUpIgorCisjfiBtc2dpZCAiUmUtcmVhZGluZyB0aGUgcGFydGl0aW9uIHRhYmxlIC4uLlxuIgorI34gbXNnc3RyICJIZXJpbmxlemVuIHZhbiBwYXJ0aXRpZXRhYmVsLi4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGNvbW1hbmQgdG8gcmUtcmVhZCB0aGUgcGFydGl0aW9uIHRhYmxlIGZhaWxlZC5cbiIKKyN+ICJSdW4gcGFydHByb2JlKDgpLCBrcGFydHgoOCkgb3IgcmVib290IHlvdXIgc3lzdGVtIG5vdyxcbiIKKyN+ICJiZWZvcmUgdXNpbmcgbWtmcyIKKyN+IG1zZ3N0ciAiIgorI34gIkhldCBvcG5pZXV3IGlubGV6ZW4gdmFuIGRlIHBhcnRpdGlldGFiZWwgaXMgbWlzbHVrdC5cbiIKKyN+ICJWb2VyIHBhcnRwcm9iZSg4KSBvZiBrcGFydHgoOCkgdWl0LCBvZiBoZXJzdGFydCB1dyBzeXN0ZWVtIG51LFxuIgorI34gImFsdm9yZW5zICdta2ZzJyB0ZSBnZWJydWlrZW4uIgorCisjfiBtc2dpZCAiRXJyb3IgY2xvc2luZyAlcyIKKyN+IG1zZ3N0ciAiRm91dCBiaWogc2x1aXRlbiB2YW4gJXMiCisKKyN+IG1zZ2lkICIlczogbm8gc3VjaCBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiJXM6IGRpZSBwYXJ0aXRpZSBiZXN0YWF0IG5pZXRcbiIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBmb3JtYXQgLSB1c2luZyBzZWN0b3JzIgorI34gbXNnc3RyICJvbmJla2VuZGUgZWVuaGVpZCAtLSBcInNlY3RvcmVuXCIgd29yZHQgZ2VicnVpa3QiCisKKyN+IG1zZ2lkICJ1bmltcGxlbWVudGVkIGZvcm1hdCAtIHVzaW5nICVzIgorI34gbXNnc3RyICJvbmJlc2NoaWtiYXJlIGVlbmhlaWQgLS0gXCIlc1wiIHdvcmR0IGdlYnJ1aWt0IgorCisjfiBtc2dpZCAic2VjdG9ycyIKKyN+IG1zZ3N0ciAic2VjdG9yZW4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IGN5bGluZGVycyBvZiAlbHUgYnl0ZXMsIGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFZW5oZWRlbjogY2lsaW5kZXJzIHZhbiAlbHUgYnl0ZXMsIGJsb2trZW4gdmFuIDEwMjQgYnl0ZXMsIHRlbGxlbmQgdmFuYWYgJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290IFN0YXJ0ICAgICBFbmQgICAjY3lscyAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgQXBwYXJhYXQgT3BzdCBCZWdpbiAgIEVpbmRlICAgI2NpbHMgICAjYmxva2tlbiAgIElEICBTeXN0ZWVtXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IHNlY3RvcnMgb2YgNTEyIGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFZW5oZWRlbjogc2VjdG9yZW4gdmFuIDUxMiBieXRlcywgdGVsbGVuZCB2YW5hZiAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgICAgU3RhcnQgICAgICAgRW5kICAgI3NlY3RvcnMgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiIEFwcGFyYWF0IE9wc3QgICAgQmVnaW4gICAgIEVpbmRlICAjc2VjdG9yZW4gIElEICBTeXN0ZWVtXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFZW5oZWRlbjogYmxva2tlbiB2YW4gMTAyNCBieXRlcywgdGVsbGVuZCB2YW5hZiAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgICBTdGFydCAgICAgICBFbmQgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiIEFwcGFyYWF0IE9wc3QgICBCZWdpbiAgICAgRWluZGUgICAjYmxva2tlbiAgIElEICBTeXN0ZWVtXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IDFNaUIgPSAxMDI0KjEwMjQgYnl0ZXMsIGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFZW5oZWRlbjogMU1pQiA9IDEwMjQqMTAyNCBieXRlcywgYmxva2tlbiB2YW4gMTAyNCBieXRlcywgdGVsbGVuZCB2YW5hZiAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgU3RhcnQgICBFbmQgICAgTWlCICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiBBcHBhcmFhdCBPcHMgQmVnaW4gIEVpbmRlICAgIE1pQiAgICNibG9ra2VuICAgSUQgIFN5c3RlZW1cbiIKKworI34gbXNnaWQgIlx0XHRzdGFydDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiICAgIGJlZ2luOiAoYyxrLHMpIHZlcndhY2h0OiAoJWxkLCVsZCwlbGQpIGdldm9uZGVuOiAoJWxkLCVsZCwlbGQpXG4iCisKKyN+IG1zZ2lkICJcdFx0ZW5kOiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICIgICAgZWluZGU6IChjLGsscykgdmVyd2FjaHQ6ICglbGQsJWxkLCVsZCkgZ2V2b25kZW46ICglbGQsJWxkLCVsZClcbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiBlbmRzIG9uIGN5bGluZGVyICVsZCwgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGRpc2tcbiIKKyN+IG1zZ3N0ciAicGFydGl0aWUgZWluZGlndCBvcCBjaWxpbmRlciAlbGQsIG5hIGhldCBlaW5kZSB2YW4gZGUgc2NoaWpmXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogVGhlIHBhcnRpdGlvbiB0YWJsZSBsb29rcyBsaWtlIGl0IHdhcyBtYWRlXG4iCisjfiAiICBmb3IgQy9IL1M9Ki8lbGQvJWxkIChpbnN0ZWFkIG9mICVsZC8lbGQvJWxkKS5cbiIKKyN+ICJGb3IgdGhpcyBsaXN0aW5nIEknbGwgYXNzdW1lIHRoYXQgZ2VvbWV0cnkuIgorI34gbXNnc3RyICIiCisjfiAiV2FhcnNjaHV3aW5nOiBoZXQgbGlqa3QgZXJvcCBkYXQgZGUgcGFydGl0aWV0YWJlbCBnZW1hYWt0IGlzIHZvb3JcbiIKKyN+ICIgICAgICAgICAgICAgIEMvSy9TPSovJWxkLyVsZCAoaW4gcGxhYXRzIHZhbiB2b29yICVsZC8lbGQvJWxkKTtcbiIKKyN+ICIgICAgICAgICAgICAgIGRpdCBvdmVyemljaHQgbmVlbXQgZGllIGVlcnN0ZSBDL0svUy1nZW9tZXRyaWUgYWFuLiIKKworI34gbXNnaWQgIm5vIHBhcnRpdGlvbiB0YWJsZSBwcmVzZW50IgorI34gbXNnc3RyICJnZWVuIHBhcnRpdGlldGFiZWwgYWFud2V6aWciCisKKyN+IG1zZ2lkICJzdHJhbmdlLCBvbmx5ICVkIHBhcnRpdGlvbiBkZWZpbmVkIgorI34gbXNnaWRfcGx1cmFsICJzdHJhbmdlLCBvbmx5ICVkIHBhcnRpdGlvbnMgZGVmaW5lZCIKKyN+IG1zZ3N0clswXSAidnJlZW1kOiBzbGVjaHRzICVkIHBhcnRpdGllcyBnZWRlZmluaWVlcmQiCisjfiBtc2dzdHJbMV0gInZyZWVtZDogc2xlY2h0cyAlZCBwYXJ0aXRpZXMgZ2VkZWZpbmllZXJkIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYnV0IGlzIG5vdCBtYXJrZWQgRW1wdHkiCisjfiBtc2dzdHIgIldhYXJzY2h1d2luZzogcGFydGl0aWUgJXMgaGVlZnQgZ3Jvb3R0ZSAwLCBtYWFyIGlzIG5pZXQgZ2VtYXJrZWVyZCBhbHMgbGVlZyIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGFuZCBpcyBib290YWJsZSIKKyN+IG1zZ3N0ciAiV2FhcnNjaHV3aW5nOiBwYXJ0aXRpZSAlcyBoZWVmdCBncm9vdHRlIDAgw6luIGlzIG9wc3RhcnRiYWFyIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIG5vbnplcm8gc3RhcnQiCisjfiBtc2dzdHIgIldhYXJzY2h1d2luZzogcGFydGl0aWUgJXMgaGVlZnQgZ3Jvb3R0ZSAwIG1hYXIgZWVuIG5pZXQtbnVsIGJlZ2luc2VjdG9yIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGlzIG5vdCBjb250YWluZWQgaW4gcGFydGl0aW9uICVzIgorI34gbXNnc3RyICJXYWFyc2NodXdpbmc6IHBhcnRpdGllICVzIHZhbHQgbmlldCBiaW5uZW4gcGFydGl0aWUgJXMiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb25zICVzIGFuZCAlcyBvdmVybGFwIgorI34gbXNnc3RyICJXYWFyc2NodXdpbmc6IHBhcnRpdGllcyAlcyBlbiAlcyBvdmVybGFwcGVuIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBjb250YWlucyBwYXJ0IG9mIHRoZSBwYXJ0aXRpb24gdGFibGUgKHNlY3RvciAlbGx1KSxcbiIKKyN+ICJhbmQgd2lsbCBkZXN0cm95IGl0IHdoZW4gZmlsbGVkIgorI34gbXNnc3RyICIiCisjfiAiV2FhcnNjaHV3aW5nOiBwYXJ0aXRpZSAlcyBiZXZhdCBlZW4gZGVlbCB2YW4gZGUgcGFydGl0aWV0YWJlbCAoc2VjdG9yICVsbHUpLFxuIgorI34gImVuIHphbCBkZXplIHZlcm5pZWxlbiBhbHMgemlqIHdvcmR0IGdldnVsZCIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yIDAiCisjfiBtc2dzdHIgIldhYXJzY2h1d2luZzogcGFydGl0aWUgJXMgYmVnaW50IG9wIHNlY3RvciAwIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGV4dGVuZHMgcGFzdCBlbmQgb2YgZGlzayIKKyN+IG1zZ3N0ciAiV2FhcnNjaHV3aW5nOiBwYXJ0aXRpZSAlcyBsb29wdCBkb29yIHRvdCB2b29yYmlqIGhldCBlaW5kZSB2YW4gZGUgc2NoaWpmIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAlZC4lZCBUQiAoJWxsdSBieXRlcyksXG4iCisjfiAid2hpY2ggaXMgbGFyZ2VyIHRoYW4gdGhlICVsbHUgYnl0ZXMgbGltaXQgaW1wb3NlZFxuIgorI34gImJ5IHRoZSBET1MgcGFydGl0aW9uIHRhYmxlIGZvciAlZC1ieXRlIHNlY3RvcnMiCisjfiBtc2dzdHIgIiIKKyN+ICJXYWFyc2NodXdpbmc6IHBhcnRpdGllICVzIGhlZWZ0IGVlbiBncm9vdHRlIHZhbiAlZCwlZCBUQiAoJWxsdSBieXRlcylcbiIKKyN+ICItLSBkaXQgaXMgZ3JvdGVyIGRhbiBkZSBsaW1pZXQgdmFuICVsbHUgYnl0ZXMgZGllIGdlbGR0XG4iCisjfiAidm9vciBlZW4gRE9TLXBhcnRpdGlldGFiZWwgbWV0ICVkLWJ5dGUgc2VjdG9yZW4uIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yICVsbHUgKCVkLiVkIFRCIGZvciAlZC1ieXRlIHNlY3RvcnMpLFxuIgorI34gIndoaWNoIGV4Y2VlZHMgdGhlIERPUyBwYXJ0aXRpb24gdGFibGUgbGltaXQgb2YgJWxsdSBzZWN0b3JzIgorI34gbXNnc3RyICIiCisjfiAiV2FhcnNjaHV3aW5nOiBwYXJ0aXRpZSAlcyBiZWdpbnQgb3Agc2VjdG9yICVsbHUgKCVkLCVkIFRCIGJpaiAlZC1ieXRlIHNlY3RvcmVuKVxuIgorI34gIi0tIGRpdCBpcyBncm90ZXIgZGFuIGRlIGxpbWlldCB2YW4gJWxsdSBieXRlcyBkaWUgZ2VsZHQgdm9vciBlZW4gRE9TLXBhcnRpdGlldGFiZWwuIgorCisjfiBtc2dpZCAiIgorI34gIkFtb25nIHRoZSBwcmltYXJ5IHBhcnRpdGlvbnMsIGF0IG1vc3Qgb25lIGNhbiBiZSBleHRlbmRlZFxuIgorI34gIiAoYWx0aG91Z2ggdGhpcyBpcyBub3QgYSBwcm9ibGVtIHVuZGVyIExpbnV4KSIKKyN+IG1zZ3N0ciAiIgorI34gIlZhbiBkZSBwcmltYWlyZSBwYXJ0aXRpZXMga2FuIGVyIHRlbiBob29nc3RlIMOpw6luIHVpdGdlYnJlaWQgemlqblxuIgorI34gIihvbmRlciBMaW51eCBpcyBkaXQgZWNodGVyIGdlZW4gcHJvYmxlZW0pLiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5IgorI34gbXNnc3RyICJXYWFyc2NodXdpbmc6IHBhcnRpdGllICVzIGJlZ2ludCBuaWV0IG9wIGVlbiBjaWxpbmRlcmdyZW5zIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGRvZXMgbm90IGVuZCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5IgorI34gbXNnc3RyICJXYWFyc2NodXdpbmc6IHBhcnRpdGllICVzIGVpbmRpZ3QgbmlldCBvcCBlZW4gY2lsaW5kZXJncmVucyIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBtb3JlIHRoYW4gb25lIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZSAoYWN0aXZlKVxuIgorI34gIlRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLCBidXQgdGhlIERPUyBNQlIgd2lsbCBub3QgYm9vdCB0aGlzIGRpc2suIgorI34gbXNnc3RyICIiCisjfiAiV2FhcnNjaHV3aW5nOiBtZWVyZGVyZSBwcmltYWlyZSBwYXJ0aXRpZXMgemlqbiBnZW1hcmtlZXJkIGFscyBvcHN0YXJ0YmFhci5cbiIKKyN+ICJWb29yIExJTE8gbWFha3QgZGl0IG5pZXRzIHVpdCwgbWFhciBET1MgTUJSIHphbCBuaWV0IHZhbiBkZXplIHNjaGlqZiBvcHN0YXJ0ZW4uIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHVzdWFsbHkgb25lIGNhbiBib290IGZyb20gcHJpbWFyeSBwYXJ0aXRpb25zIG9ubHlcbiIKKyN+ICJMSUxPIGRpc3JlZ2FyZHMgdGhlIGBib290YWJsZScgZmxhZy4iCisjfiBtc2dzdHIgIiIKKyN+ICJXYWFyc2NodXdpbmc6IG5vcm1hYWwgZ2VzcHJva2VuIGthbiBtZW4gYWxsZWVuIHZhbiBwcmltYWlyZVxuIgorI34gInBhcnRpdGllcyBvcHN0YXJ0ZW4uICBMSUxPIG5lZ2VlcnQgZGUgJ29wc3RhcnRiYWFyJy12bGFnLiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBubyBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLiIKKyN+IG1zZ3N0ciAiIgorI34gIldhYXJzY2h1d2luZzogZXIgaXMgZ2VlbiBwcmltYWlyZSBwYXJ0aXRpZSBnZW1hcmtlZXJkIGFscyBvcHN0YXJ0YmFhci5cbiIKKyN+ICJWb29yIExJTE8gbWFha3QgZGl0IG5pZXRzIHVpdCwgbWFhciBET1MgTUJSIHphbCBuaWV0IHZhbiBkZXplIHNjaGlqZiBvcHN0YXJ0ZW4uIgorCisjfiBtc2dpZCAic3RhcnQiCisjfiBtc2dzdHIgImJlZ2luIgorCisjfiBtc2dpZCAicGFydGl0aW9uICVzOiBzdGFydDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgInBhcnRpdGllICVzOiBiZWdpbjogKGMsayxzKSB2ZXJ3YWNodDogKCVsZCwlbGQsJWxkKSBnZXZvbmRlbjogKCVsZCwlbGQsJWxkKSIKKworI34gbXNnaWQgImVuZCIKKyN+IG1zZ3N0ciAiZWluZGUiCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgInBhcnRpdGllICVzOiBlaW5kZTogKGMsayxzKSB2ZXJ3YWNodDogKCVsZCwlbGQsJWxkKSBnZXZvbmRlbjogKCVsZCwlbGQsJWxkKSIKKworI34gbXNnaWQgInBhcnRpdGlvbiAlcyBlbmRzIG9uIGN5bGluZGVyICVsZCwgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGRpc2siCisjfiBtc2dzdHIgInBhcnRpdGllICVzIGVpbmRpZ3Qgb3AgY2lsaW5kZXIgJWxkLCBuYSBoZXQgZWluZGUgdmFuIGRlIHNjaGlqZiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzaGlmdGVkIHN0YXJ0IG9mIHRoZSBleHRkIHBhcnRpdGlvbiBmcm9tICVsbGQgdG8gJWxsZFxuIgorI34gIihGb3IgbGlzdGluZyBwdXJwb3NlcyBvbmx5LiBEbyBub3QgY2hhbmdlIGl0cyBjb250ZW50cy4pIgorI34gbXNnc3RyICIiCisjfiAiV2FhcnNjaHV3aW5nOiBiZWdpbiB2YW4gdWl0Z2VicmVpZGUgcGFydGl0aWUgaXMgdmVyc2Nob3ZlbiB2YW4gJWxsZCBuYWFyICVsbGQuXG4iCisjfiAiKEFsbGVlbiB2b29yIHdlZXJnYXZlLiAgRGUgaW5ob3VkIHdvcmR0IG5pZXQgZ2V3aWp6aWdkLikiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogZXh0ZW5kZWQgcGFydGl0aW9uIGRvZXMgbm90IHN0YXJ0IGF0IGEgY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiAiRE9TIGFuZCBMaW51eCB3aWxsIGludGVycHJldCB0aGUgY29udGVudHMgZGlmZmVyZW50bHkuIgorI34gbXNnc3RyICIiCisjfiAiV2FhcnNjaHV3aW5nOiB1aXRnZWJyZWlkZSBwYXJ0aXRpZSBiZWdpbnQgbmlldCBvcCBlZW4gY2lsaW5kZXJncmVucy5cbiIKKyN+ICJET1MgZW4gTGludXggenVsbGVuIGRlIGluaG91ZCB2ZXJzY2hpbGxlbmQgaW50ZXJwcmV0ZXJlbi4iCisKKyN+IG1zZ2lkICJFUlJPUjogc2VjdG9yICVsbHUgZG9lcyBub3QgaGF2ZSBhbiBtc2RvcyBzaWduYXR1cmUiCisjfiBtc2dzdHIgIkZPVVQ6IHNlY3RvciAlbGx1IGhlZWZ0IGdlZW4gTVNET1MtdmluZ2VyYWZkcnVrIgorCisjfiBtc2dpZCAidG9vIG1hbnkgcGFydGl0aW9ucyAtIGlnbm9yaW5nIHRob3NlIHBhc3QgbnIgKCV6dSkiCisjfiBtc2dzdHIgInRlIHZlZWwgcGFydGl0aWVzIC0tIGRpZSBuYSBudW1tZXIgJXp1IHdvcmRlbiBnZW5lZ2VlcmQiCisKKyN+IG1zZ2lkICJ0cmVlIG9mIHBhcnRpdGlvbnM/IgorI34gbXNnc3RyICJlZW4gYm9vbSB2YW4gcGFydGl0aWVzPyIKKworI34gbXNnaWQgImRldGVjdGVkIERpc2sgTWFuYWdlciAtIHVuYWJsZSB0byBoYW5kbGUgdGhhdCIKKyN+IG1zZ3N0ciAiRGlzayBNYW5hZ2VyIGdlZGV0ZWN0ZWVyZDsga2FuIGRpdCBuaWV0IGFhbiAtLSBnZXN0b3B0IgorCisjfiBtc2dpZCAiRE02IHNpZ25hdHVyZSBmb3VuZCAtIGdpdmluZyB1cCIKKyN+IG1zZ3N0ciAiRE02LXZpbmdlcmFmZHJ1ayBnZXZvbmRlbiAtLSBnZXN0b3B0IgorCisjfiBtc2dpZCAic3RyYW5nZS4uLiwgYW4gZXh0ZW5kZWQgcGFydGl0aW9uIG9mIHNpemUgMD8iCisjfiBtc2dzdHIgInZyZWVtZC4uLiBlZW4gdWl0Z2VicmVpZGUgcGFydGl0aWUgbWV0IGdyb290dGUgMD8iCisKKyN+IG1zZ2lkICJzdHJhbmdlLi4uLCBhIEJTRCBwYXJ0aXRpb24gb2Ygc2l6ZSAwPyIKKyN+IG1zZ3N0ciAidnJlZW1kLi4uIGVlbiBCU0QtcGFydGl0aWUgbWV0IGdyb290dGUgMD8iCisKKyN+IG1zZ2lkICItbiBmbGFnIHdhcyBnaXZlbjogTm90aGluZyBjaGFuZ2VkIgorI34gbXNnc3RyICJvcHRpZSAnLW4nIHdlcmQgZ2VnZXZlbjogZXIgaXMgbmlldHMgZ2V3aWp6aWdkIgorCisjfiBtc2dpZCAiRmFpbGVkIHNhdmluZyB0aGUgb2xkIHNlY3RvcnMgLSBhYm9ydGluZ1xuIgorI34gbXNnc3RyICJPcHNsYWFuIHZhbiBvdWRlIHNlY3RvcmVuIGlzIG1pc2x1a3QgLS0gZ2VzdG9wdFxuIgorCisjfiBtc2dpZCAiRmFpbGVkIHdyaXRpbmcgdGhlIHBhcnRpdGlvbiBvbiAlcyIKKyN+IG1zZ3N0ciAiU2NocmlqdmVuIHZhbiBwYXJ0aXRpZSBvcCAlcyBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAibG9uZyBvciBpbmNvbXBsZXRlIGlucHV0IGxpbmUgLSBxdWl0dGluZyIKKyN+IG1zZ3N0ciAibGFuZ2Ugb2YgaW5jb21wbGV0ZSBpbnZvZXJyZWdlbCAtLSBnZXN0b3B0IgorCisjfiBtc2dpZCAiaW5wdXQgZXJyb3I6IGA9JyBleHBlY3RlZCBhZnRlciAlcyBmaWVsZCIKKyN+IG1zZ3N0ciAiaW52b2VyZm91dDogJz0nIHZlcndhY2h0IG5hIHZlbGQgJXMiCisKKyN+IG1zZ2lkICJpbnB1dCBlcnJvcjogdW5leHBlY3RlZCBjaGFyYWN0ZXIgJWMgYWZ0ZXIgJXMgZmllbGQiCisjfiBtc2dzdHIgImludm9lcmZvdXQ6IG9udmVyd2FjaHQgdGVrZW4gJWMgbmEgdmVsZCAlcyIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBpbnB1dDogJXMiCisjfiBtc2dzdHIgImludm9lciBuaWV0IGhlcmtlbmQ6ICVzIgorCisjfiBtc2dpZCAibnVtYmVyIHRvbyBiaWciCisjfiBtc2dzdHIgImdldGFsIGlzIHRlIGdyb290IgorCisjfiBtc2dpZCAidHJhaWxpbmcganVuayBhZnRlciBudW1iZXIiCisjfiBtc2dzdHIgIm9uYmVncmVwZW4gdGVrZW5zIG5hIGdldGFsIgorCisjfiBtc2dpZCAibm8gcm9vbSBmb3IgcGFydGl0aW9uIGRlc2NyaXB0b3IiCisjfiBtc2dzdHIgImdlZW4gcnVpbXRlIHZvb3IgcGFydGl0aWViZXNjaHJpanZlciIKKworI34gbXNnaWQgImNhbm5vdCBidWlsZCBzdXJyb3VuZGluZyBleHRlbmRlZCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgImthbiBvbXZhdHRlbmRlIHVpdGdlYnJlaWRlIHBhcnRpdGllIG5pZXQgbWFrZW4iCisKKyN+IG1zZ2lkICJ0b28gbWFueSBpbnB1dCBmaWVsZHMiCisjfiBtc2dzdHIgInRlIHZlZWwgaW52b2VydmVsZGVuIgorCisjfiBtc2dpZCAiTm8gcm9vbSBmb3IgbW9yZSIKKyN+IG1zZ3N0ciAiR2VlbiBydWltdGUgdm9vciBtZWVyIgorCisjfiBtc2dpZCAiSWxsZWdhbCB0eXBlIgorI34gbXNnc3RyICJPbmp1aXN0IHR5cGUiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBnaXZlbiBzaXplICglbGx1KSBleGNlZWRzIG1heCBhbGxvd2FibGUgc2l6ZSAoJWxsdSkiCisjfiBtc2dzdHIgIldhYXJzY2h1d2luZzogZ2VnZXZlbiBncm9vdGUgKCVsbHUpIGlzIGdyb3RlciBkYW4gbWF4aW1hYWwgdG9lZ2VsYXRlbiBncm9vdHRlICglbGx1KSIKKworI34gbXNnaWQgIldhcm5pbmc6IGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiV2FhcnNjaHV3aW5nOiBsZWdlIHBhcnRpdGllIgorCisjfiBtc2dpZCAiV2FybmluZzogYmFkIHBhcnRpdGlvbiBzdGFydCAoZWFybGllc3QgJWxsdSkiCisjfiBtc2dzdHIgIldhYXJzY2h1d2luZzogb25nZWxkaWcgcGFydGl0aWViZWdpbiAoZWVyc3RlIG1vZ2VsaWpraGVpZCBpcyAlbGx1KSIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBib290YWJsZSBmbGFnIC0gY2hvb3NlIC0gb3IgKiIKKyN+IG1zZ3N0ciAib25iZWtlbmRlICdvcHN0YXJ0YmFhcictdmxhZyAtLSBraWVzICctJyBvZiAnKiciCisKKyN+IG1zZ2lkICJwYXJ0aWFsIGMsaCxzIHNwZWNpZmljYXRpb24/IgorI34gbXNnc3RyICJlZW4gZ2VkZWVsdGVsaWprZSBjLGsscy1zcGVjaWZpY2F0aWU/IgorCisjfiBtc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIG5vdCB3aGVyZSBleHBlY3RlZCIKKyN+IG1zZ3N0ciAiVWl0Z2VicmVpZGUgcGFydGl0aWUgd2FhciBkaWUgbmlldCB2ZXJ3YWNodCB3ZXJkIgorCisjfiBtc2dpZCAiYmFkIGlucHV0IgorI34gbXNnc3RyICJvbmdlbGRpZ2UgaW52b2VyIgorCisjfiBtc2dpZCAidG9vIG1hbnkgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAidGUgdmVlbCBwYXJ0aXRpZXMiCisKKyN+IG1zZ2lkICIiCisjfiAiSW5wdXQgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ7IGFic2VudCBmaWVsZHMgZ2V0IGEgZGVmYXVsdCB2YWx1ZS5cbiIKKyN+ICI8c3RhcnQ+IDxzaXplPiA8dHlwZSBbRSxTLEwsWCxoZXhdPiA8Ym9vdGFibGUgWy0sKl0+IDxjLGgscz4gPGMsaCxzPlxuIgorI34gIlVzdWFsbHkgeW91IG9ubHkgbmVlZCB0byBzcGVjaWZ5IDxzdGFydD4gYW5kIDxzaXplPiAoYW5kIHBlcmhhcHMgPHR5cGU+KS4iCisjfiBtc2dzdHIgIiIKKyN+ICJJbnZvZXIgaXMgaW4gZGUgdm9sZ2VuZGUgaW5kZWxpbmcgKGFmd2V6aWdlIHZlbGRlbiBrcmlqZ2VuIGVlbiBzdGFuZGFhcmR3YWFyZGUpOlxuIgorI34gIiAgPGJlZ2luPiA8Z3Jvb3R0ZT4gPHR5cGUgW0UsUyxMLFgsaGV4XT4gPG9wc3RhcnRiYWFyIFstLCpdPiA8YyxrLHM+IDxjLGsscz5cbiIKKyN+ICJNZWVzdGFsIGhvZWZ0IHUgYWxsZWVuIDxiZWdpbj4gZW4gPGdyb290dGU+IHRlIGdlYnJ1aWtlbiAoZW4gbW9nZWxpamsgPHR5cGU+KS4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+Li4uXG4iCisjfiBtc2dzdHIgIiAgJXMgW29wdGllc10gPGFwcGFyYWF0Pi4uLlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtcywgLS1zaG93LXNpemUgICAgICAgICAgIGxpc3Qgc2l6ZSBvZiBhIHBhcnRpdGlvblxuIgorI34gIiAtYywgLS1pZCAgICAgICAgICAgICAgICAgIGNoYW5nZSBvciBwcmludCBwYXJ0aXRpb24gSWRcbiIKKyN+ICIgICAgIC0tY2hhbmdlLWlkICAgICAgICAgICBjaGFuZ2UgSWRcbiIKKyN+ICIgICAgIC0tcHJpbnQtaWQgICAgICAgICAgICBwcmludCBJZFxuIgorI34gbXNnc3RyICIiCisjfiAiICAtcywgLS1zaG93LXNpemUgICAgICAgICBncm9vdHRlIHZhbiBlZW4gcGFydGl0aWUgdG9uZW5cbiIKKyN+ICIgIC1jLCAtLWlkICAgICAgICAgICAgICAgIHBhcnRpdGllLUlEIHRvbmVuIG9mIHdpanppZ2VuXG4iCisjfiAiICAgICAgLS1jaGFuZ2UtaWQgICAgICAgICBJRCB3aWp6aWdlblxuIgorI34gIiAgICAgIC0tcHJpbnQtaWQgICAgICAgICAgSUQgdG9uZW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgb2YgZWFjaCBkZXZpY2VcbiIKKyN+ICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgICBpZGVtLCBidXQgaW4gYSBmb3JtYXQgc3VpdGFibGUgZm9yIGxhdGVyIGlucHV0XG4iCisjfiAiIC1pLCAtLWluY3JlbWVudCAgICAgICAgICAgbnVtYmVyIGN5bGluZGVycyBldGMuIGZyb20gMSBpbnN0ZWFkIG9mIGZyb20gMFxuIgorI34gIiAtdSwgLS11bml0IDxsZXR0ZXI+ICAgICAgIHVuaXRzIHRvIGJlIHVzZWQ7IDxsZXR0ZXI+IGNhbiBiZSBvbmUgb2ZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFMgKHNlY3RvcnMpLCBDIChjeWxpbmRlcnMpLCBCIChibG9ja3MpLCBvciBNIChNQilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLWwsIC0tbGlzdCAgICAgICAgICAgICAgcGFydGl0aWVzIHZhbiBlbGsgZ2VnZXZlbiBhcHBhcmFhdCB0b25lblxuIgorI34gIiAgLWQsIC0tZHVtcCAgICAgICAgICAgICAgaWRlbSwgbWFhciBpbiBlZW4gdm9ybSBkaWUgZ2VzY2hpa3QgaXMgYWxzIGludm9lclxuIgorI34gIiAgLWksIC0taW5jcmVtZW50ICAgICAgICAgZGluZ2VuIG51bW1lcmVuIHZhbmFmIDEgaW4gcGxhYXRzIHZhbiB2YW5hZiAwXG4iCisjfiAiICAtdSwgLS11bml0PTxsZXR0ZXI+ICAgICB0ZSBnZWJydWlrZW4gZWVuaGVpZDsgPGxldHRlcj4gbWFnIHppam46IE0gKE1CKSxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgQiAoYmxva2tlbiksIEMgKGNpbGluZGVycyksIFMgKHNlY3RvcmVuKVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtMSwgLS1vbmUtb25seSAgICAgICAgICAgIHJlc2VydmVkIG9wdGlvbiB0aGF0IGRvZXMgbm90aGluZyBjdXJyZW50bHlcbiIKKyN+ICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICBsaXN0IHRoZSBrbm93biBwYXJ0aXRpb24gdHlwZXNcbiIKKyN+ICIgLUQsIC0tRE9TICAgICAgICAgICAgICAgICBmb3IgRE9TLWNvbXBhdGliaWxpdHk6IHdhc3RlIGEgbGl0dGxlIHNwYWNlXG4iCisjfiAiIC1FLCAtLURPUy1leHRlbmRlZCAgICAgICAgRE9TIGV4dGVuZGVkIHBhcnRpdGlvbiBjb21wYXRpYmlsaXR5XG4iCisjfiAiIC1SLCAtLXJlLXJlYWQgICAgICAgICAgICAgbWFrZSB0aGUga2VybmVsIHJlcmVhZCB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIC0xLCAtLW9uZS1vbmx5ICAgICAgICAgIChnZXJlc2VydmVlcmRlIG9wdGllOyBkb2V0IG1vbWVudGVlbCBuaWV0cylcbiIKKyN+ICIgIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgIGRlIG1vZ2VsaWprZSBwYXJ0aXRpZXNvb3J0ZW4gdG9uZW5cbiIKKyN+ICIgIC1ELCAtLURPUyAgICAgICAgICAgICAgIERPUy1jb21wYXRpYmVsIHppam4gKGVlbiBiZWV0amUgcnVpbXRlIHZlcnNwaWxsZW4pXG4iCisjfiAiICAtRSwgLS1ET1MtZXh0ZW5kZWQgICAgICBET1MtZXh0ZW5kZWQtY29tcGF0aWJlbCB6aWpuXG4iCisjfiAiICAtUiwgLS1yZS1yZWFkICAgICAgICAgICBkZSBwYXJ0aXRpZXRhYmVsIGRvb3IgZGUga2VybmVsIGxhdGVuIGhlcmlubGV6ZW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLU4gPG51bWJlcj4gICAgICAgICAgICAgICBjaGFuZ2Ugb25seSB0aGUgcGFydGl0aW9uIHdpdGggdGhpcyA8bnVtYmVyPlxuIgorI34gIiAtbiAgICAgICAgICAgICAgICAgICAgICAgIGRvIG5vdCBhY3R1YWxseSB3cml0ZSB0byBkaXNrXG4iCisjfiAiIC1PIDxmaWxlPiAgICAgICAgICAgICAgICAgc2F2ZSB0aGUgc2VjdG9ycyB0aGF0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gdG8gPGZpbGU+XG4iCisjfiAiIC1JIDxmaWxlPiAgICAgICAgICAgICAgICAgcmVzdG9yZSBzZWN0b3JzIGZyb20gPGZpbGU+XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIC1OIDxudW1tZXI+ICAgICAgICAgICAgIGFsbGVlbiBkZSBwYXJ0aXRpZSBtZXQgZGl0IG51bW1lciB3aWp6aWdlblxuIgorI34gIiAgLW4gICAgICAgICAgICAgICAgICAgICAgbmlldCBlY2h0IG5hYXIgc2NoaWpmIHNjaHJpanZlbiwgbWFhciBkb2VuIGFsc29mXG4iCisjfiAiICAtTyA8YmVzdGFuZD4gICAgICAgICAgICBzZWN0b3JlbiBkaWUgb3ZlcnNjaHJldmVuIHdvcmRlbiBvcHNsYWFuIGluIGJlc3RhbmRcbiIKKyN+ICIgIC1JIDxiZXN0YW5kPiAgICAgICAgICAgIG92ZXJzY2hyZXZlbiBzZWN0b3JlbiBoZXJzdGVsbGVuIHZhbnVpdCBkaXQgYmVzdGFuZFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtViwgLS12ZXJpZnkgICAgICAgICAgICAgIGNoZWNrIHRoYXQgdGhlIGxpc3RlZCBwYXJ0aXRpb25zIGFyZSByZWFzb25hYmxlXG4iCisjfiAiIC12LCAtLXZlcnNpb24gICAgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyaWZ5ICAgICAgICAgICAgY29udHJvbGVyZW4gZGF0IGRlIHBhcnRpdGllcyBjb25zaXN0ZW50IHppam5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEYW5nZXJvdXMgb3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkdldmFhcmxpamtlIG9wdGllczpcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZ1xuIgorI34gIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBwYXJ0aXRpb24gaXMgaW4gdXNlXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcHJlc3Mgd2FybmluZyBtZXNzYWdlc1xuIgorI34gIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGRvIG5vdCBjb21wbGFpbiBhYm91dCB0aGluZ3MgaXJyZWxldmFudCBmb3IgTGludXhcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLWYsIC0tZm9yY2UgICAgICAgICAgICAgYWxsZSBjb25zaXN0ZW50aWVjb250cm9sZXMgdWl0c2NoYWtlbGVuXG4iCisjfiAiICAgICAgLS1uby1yZXJlYWQgICAgICAgICB2b29yIGhlcnBhcnRpdGlvbmVyZW4gZGUgcGFydGl0aWV0YWJlbCBuaWV0IGhlcmxlemVuXG4iCisjfiAiICAtTCwgLS1MaW51eCAgICAgICAgICAgICBuaWV0IGtsYWdlbiBvdmVyIGRpbmdlbiBkaWUgaXJyZWxldmFudCB6aWpuIHZvb3IgTGludXhcbiIKKyN+ICIgIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHdhYXJzY2h1d2luZ2VuIG9uZGVyZHJ1a2tlblxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZywgLS1zaG93LWdlb21ldHJ5ICAgICAgIHByaW50IHRoZSBrZXJuZWwncyBpZGVhIG9mIHRoZSBnZW9tZXRyeVxuIgorI34gIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIHByaW50IGdlb21ldHJ5IGd1ZXNzZWQgZnJvbSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIC1nLCAtLXNob3ctZ2VvbWV0cnkgICAgIGRlIGdlb21ldHJpZSB0b25lbiBkaWUgZG9vciBkZSBrZXJuZWwgYWFuZ2VnZXZlbiB3b3JkdFxuIgorI34gIiAgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgZGUgZ2VvbWV0cmllIHRvbmVuIGRpZSB1aXQgZGUgcGFydGl0aWV0YWJlbCBibGlqa3RcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLUEsIC0tYWN0aXZhdGVbPTxkZXZpY2U+XSBhY3RpdmF0ZSB0aGUgYm9vdGFibGUgZmxhZ1xuIgorI34gIiAtVSwgLS11bmhpZGVbPTxkZXZpY2U+XSAgIHNldCBwYXJ0aXRpb24gYXMgdW5oaWRkZW5cbiIKKyN+ICIgLXgsIC0tc2hvdy1leHRlbmRlZCAgICAgICBhbHNvIGxpc3QgZXh0ZW5kZWQgcGFydGl0aW9ucyBpbiB0aGUgb3V0cHV0LFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgZXhwZWN0IGRlc2NyaXB0b3JzIGZvciB0aGVtIGluIHRoZSBpbnB1dFxuIgorI34gbXNnc3RyICIiCisjfiAiICAtQSwgLS1hY3RpdmF0ZVs9PGFwcD5dICBkZSAnb3BzdGFydGJhYXInLXZsYWcgaW5zY2hha2VsZW5cbiIKKyN+ICIgIC1VLCAtLXVuaGlkZVs9PGFwcD5dICAgIHBhcnRpdGllIGFscyBvbnZlcmJvcmdlbiBtYXJrZXJlblxuIgorI34gIiAgLXgsIC0tc2hvdy1leHRlbmRlZCAgICAgdWl0Z2VicmVpZGUgcGFydGl0aWVzIHZvbGxlZGlnIHdlZXJnZXZlbiBpbiB1aXR2b2VyLFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBiZXNjaHJpanZlcnMgZXJ2YW4gdmVyd2FjaHRlbiBpbiBpbnZvZXJcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tbGVhdmUtbGFzdCAgICAgICAgICBkbyBub3QgYWxsb2NhdGUgdGhlIGxhc3QgY3lsaW5kZXJcbiIKKyN+ICIgICAgIC0tSUJNICAgICAgICAgICAgICAgICBzYW1lIGFzIC0tbGVhdmUtbGFzdFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgLS1sZWF2ZS1sYXN0ICAgICAgICBkZSBsYWF0c3RlIGNpbGluZGVyIG5pZXQgdG9ld2lqemVuXG4iCisjfiAiICAgICAgLS1JQk0gICAgICAgICAgICAgICBoZXR6ZWxmZGUgYWxzICctLWxlYXZlLWxhc3QnXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLWluLW9yZGVyICAgICAgICAgICAgcGFydGl0aW9ucyBhcmUgaW4gb3JkZXJcbiIKKyN+ICIgICAgIC0tbm90LWluLW9yZGVyICAgICAgICBwYXJ0aXRpb25zIGFyZSBub3QgaW4gb3JkZXJcbiIKKyN+ICIgICAgIC0taW5zaWRlLW91dGVyICAgICAgICBhbGwgbG9naWNhbHMgaW5zaWRlIG91dGVybW9zdCBleHRlbmRlZFxuIgorI34gIiAgICAgLS1ub3QtaW5zaWRlLW91dGVyICAgIG5vdCBhbGwgbG9naWNhbHMgaW5zaWRlIG91dGVybW9zdCBleHRlbmRlZFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgLS1pbi1vcmRlciAgICAgICAgICBkZSBwYXJ0aXRpZXMgemlqbiBvcCB2b2xnb3JkZVxuIgorI34gIiAgICAgIC0tbm90LWluLW9yZGVyICAgICAgZGUgcGFydGl0aWVzIHppam4gbmlldCBvcCB2b2xnb3JkZVxuIgorI34gIiAgICAgIC0taW5zaWRlLW91dGVyICAgICAgYWxsZSBsb2dpc2NoZSB2YWxsZW4gYmlubmVuIGRlIGJ1aXRlbnN0ZSB1aXRnZWJyZWlkZVxuIgorI34gIiAgICAgIC0tbm90LWluc2lkZS1vdXRlciAgbmlldCBhbGxlIGxvZ2lzY2hlIGJpbm5lbiBkZSBidWl0ZW5zdGUgdWl0Z2VicmVpZGVcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tbmVzdGVkICAgICAgICAgICAgICBldmVyeSBwYXJ0aXRpb24gaXMgZGlzam9pbnQgZnJvbSBhbGwgb3RoZXJzXG4iCisjfiAiICAgICAtLWNoYWluZWQgICAgICAgICAgICAgbGlrZSBuZXN0ZWQsIGJ1dCBleHRlbmRlZCBwYXJ0aXRpb25zIG1heSBsaWUgb3V0c2lkZVxuIgorI34gIiAgICAgLS1vbmVzZWN0b3IgICAgICAgICAgIHBhcnRpdGlvbnMgYXJlIG11dHVhbGx5IGRpc2pvaW50XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAtLW5lc3RlZCAgICAgICAgICAgIGVsa2UgcGFydGl0aWUgdmFsdCBiaW5uZW4gZWVuIHVpdGdlYnJlaWRlIHBhcnRpdGllXG4iCisjfiAiICAgICAgLS1jaGFpbmVkICAgICAgICAgICBlbGtlIGxvZ2lzY2hlIHBhcnRpdGllIHZhbHQgYmlubmVuIGVlbiB1aXRnZWJyZWlkZVxuIgorI34gIiAgICAgIC0tb25lc2VjdG9yICAgICAgICAgZ2VlbiBlbmtlbGUgcGFydGl0aWUgdmFsdCBiaW5uZW4gZWVuIGFuZGVyZVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk92ZXJyaWRlIHRoZSBkZXRlY3RlZCBnZW9tZXRyeSB1c2luZzpcbiIKKyN+ICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICBzZXQgdGhlIG51bWJlciBvZiBjeWxpbmRlcnMgdG8gdXNlXG4iCisjfiAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgc2V0IHRoZSBudW1iZXIgb2YgaGVhZHMgdG8gdXNlXG4iCisjfiAiIC1TLCAtLXNlY3RvcnMgPG51bWJlcj4gICAgc2V0IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyB0byB1c2VcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlUga3VudCBlZW4gYW5kZXJlIGRhbiBkZSBnZXZvbmRlbiBnZW9tZXRyaWUgYWZkd2luZ2VuIG1ldDpcbiIKKyN+ICIgIC1DLCAtLWN5bGluZGVycyA8Z2V0YWw+ICBoZXQgYWFudGFsIHRlIGdlYnJ1aWtlbiBjaWxpbmRlcnNcbiIKKyN+ICIgIC1ILCAtLWhlYWRzIDxnZXRhbD4gICAgICBoZXQgYWFudGFsIHRlIGdlYnJ1aWtlbiBrb3BwZW5cbiIKKyN+ICIgIC1TLCAtLXNlY3RvcnMgPGdldGFsPiAgICBoZXQgYWFudGFsIHRlIGdlYnJ1aWtlbiBzZWN0b3JlblxuIgorCisjfiBtc2dpZCAiICVzJXNkZXZpY2UgICAgICAgICAgICBsaXN0IGFjdGl2ZSBwYXJ0aXRpb25zIG9uIGRldmljZVxuIgorI34gbXNnc3RyICIgICVzJXM8YXBwYXJhYXQ+ICAgICAgICAgICAgYWN0aWV2ZSBwYXJ0aXRpZXMgb3AgPGFwcGFyYWF0PiB3ZWVyZ2V2ZW5cbiIKKworI34gbXNnaWQgIiAlcyVzZGV2aWNlIG4xIG4yIC4uLiAgYWN0aXZhdGUgcGFydGl0aW9ucyBuMSAuLi4sIGluYWN0aXZhdGUgdGhlIHJlc3RcbiIKKyN+IG1zZ3N0ciAiICAlcyVzPGFwcGFyYWF0PiBuMSBuMiAuLi4gIGdlZ2V2ZW4gcGFydGl0aWVzIGFjdGl2ZXJlbiwgZGUgcmVzdCBkZS1hY3RpdmVyZW5cbiIKKworI34gbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHBhcnRpdGlvbnMgYXJndW1lbnQiCisjfiBtc2dzdHIgIm9uZ2VsZGlnIGFhbnRhbCBwYXJ0aXRpZXMiCisKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0tcHJpbnQtaWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIiCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICBzZmRpc2sgLS1wcmludC1pZCBhcHBhcmFhdCBwYXJ0aXRpZW51bW1lciIKKworI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1jaGFuZ2UtaWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIgSWQiCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICBzZmRpc2sgLS1jaGFuZ2UtaWQgYXBwYXJhYXQgcGFydGl0aWVudW1tZXIgSUQiCisKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0taWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIgW0lkXSIKKyN+IG1zZ3N0ciAiR2VicnVpazogIHNmZGlzayAtLWlkIGFwcGFyYWF0IHBhcnRpdGllbnVtbWVyIFtJRF0iCisKKyN+IG1zZ2lkICJjYW4gc3BlY2lmeSBvbmx5IG9uZSBkZXZpY2UgKGV4Y2VwdCB3aXRoIC1sIG9yIC1zKSIKKyN+IG1zZ3N0ciAic2xlY2h0cyDDqcOpbiBhcHBhcmFhdCBpcyBtb2dlbGlqayAoYmVoYWx2ZSBtZXQgJy1sJyBvZiAnLXMnKSIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzIHJlYWQtd3JpdGUiCisjfiBtc2dzdHIgImthbiAlcyBuaWV0IG9wZW5lbiB2b29yIGxlemVuLWVuLXNjaHJpanZlbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzIGZvciByZWFkaW5nIgorI34gbXNnc3RyICJrYW4gJXMgbmlldCBvcGVuZW4gb20gdGUgbGV6ZW4iCisKKyN+IG1zZ2lkICIlczogJWxkIGN5bGluZGVycywgJWxkIGhlYWRzLCAlbGQgc2VjdG9ycy90cmFja1xuIgorI34gbXNnc3RyICIlczogJWxkIGNpbGluZGVycywgJWxkIGtvcHBlbiwgJWxkIHNlY3RvcmVuL3Nwb29yXG4iCisKKyN+IG1zZ2lkICJiYWQgYWN0aXZlIGJ5dGU6IDB4JXggaW5zdGVhZCBvZiAweDgwIgorI34gbXNnc3RyICJvbmp1aXN0ZSAnYWN0aWVmJy1ieXRlOiAweCV4IGluIHBsYWF0cyB2YW4gMHg4MCIKKworI34gbXNnaWQgIkRvbmUiCisjfiBtc2dzdHIgIktsYWFyIgorCisjfiBtc2dpZCAiIgorI34gIllvdSBoYXZlICVkIGFjdGl2ZSBwcmltYXJ5IHBhcnRpdGlvbnMuIFRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLFxuIgorI34gImJ1dCB0aGUgRE9TIE1CUiB3aWxsIG9ubHkgYm9vdCBhIGRpc2sgd2l0aCAxIGFjdGl2ZSBwYXJ0aXRpb24uIgorI34gbXNnc3RyICIiCisjfiAiVSBoZWJ0ICVkIGFjdGlldmUsIHByaW1haXJlIHBhcnRpdGllcy4gIERpdCBtYWFrdCBuaWV0cyB1aXQgdm9vciBMSUxPLFxuIgorI34gIm1hYXIgRE9TIE1CUiBzdGFydCBhbGxlZW4gb3AgdmFuIGVlbiBzY2hpamYgbWV0IDEgYWN0aWV2ZSBwYXJ0aXRpZS4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgaGFzIGlkICV4IGFuZCBpcyBub3QgaGlkZGVuIgorI34gbXNnc3RyICJwYXJ0aXRpZSAlcyBoZWVmdCBJRCAleCBlbiBpcyBuaWV0IHZlcmJvcmdlbiIKKworI34gbXNnaWQgIkJhZCBJZCAlbHgiCisjfiBtc2dzdHIgIk9uZ2VsZGlnIElEICVseCIKKworI34gbXNnaWQgIlRoaXMgZGlzayBpcyBjdXJyZW50bHkgaW4gdXNlLiIKKyN+IG1zZ3N0ciAiRGV6ZSBzY2hpamYgaXMgb3AgZGl0IG1vbWVudCBpbiBnZWJydWlrLiIKKworI34gbXNnaWQgIkZhdGFsIGVycm9yOiBjYW5ub3QgZmluZCAlcyIKKyN+IG1zZ3N0ciAiRmF0YWxlIGZvdXQ6IGthbiAlcyBuaWV0IHZpbmRlbiIKKworI34gbXNnaWQgIldhcm5pbmc6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAiV2FhcnNjaHV3aW5nOiAlcyBpcyBnZWVuIGJsb2stYXBwYXJhYXQiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3QgZXhpc3QsIGNhbm5vdCBjaGFuZ2UgaXQiCisjfiBtc2dzdHIgIlBhcnRpdGllICVkIGJlc3RhYXQgbmlldDsga2FuIGRlemUgZHVzIG5pZXQgdmVyYW5kZXJlbiEiCisKKyN+IG1zZ2lkICIiCisjfiAiSSBkb24ndCBsaWtlIHRoZXNlIHBhcnRpdGlvbnMgLSBub3RoaW5nIGNoYW5nZWQuXG4iCisjfiAiKElmIHlvdSByZWFsbHkgd2FudCB0aGlzLCB1c2UgdGhlIC0tZm9yY2Ugb3B0aW9uLikiCisjfiBtc2dzdHIgIiIKKyN+ICJIbW0uLi4gdnJlZW1kZSBwYXJ0aXRpZXMgLS0gZXIgaXMgbmlldHMgZ2V3aWp6aWdkLlxuIgorI34gIihBbHMgdSBkaXQgZWNodCB3aWx0LCBrdW50IHUgLS1mb3JjZSBnZWJydWlrZW4uKSIKKworI34gbXNnaWQgIkkgZG9uJ3QgbGlrZSB0aGlzIC0gcHJvYmFibHkgeW91IHNob3VsZCBhbnN3ZXIgTm8iCisjfiBtc2dzdHIgIkhtbS4uLiB2cmVlbWRlIHBhcnRpdGllcyAtLSB3YWFyc2NoaWpubGlqayBtb2V0IHUgTmVlIGFudHdvb3JkZW4uIgorCisjfiBtc2dpZCAiQXJlIHlvdSBzYXRpc2ZpZWQgd2l0aCB0aGlzPyBbeW5xXSAiCisjfiBtc2dzdHIgIkJlbnQgdSBoaWVybWVlIHRldnJlZGVuPyBbeW5xXSAiCisKKyN+IG1zZ2lkICJRdWl0dGluZyAtIG5vdGhpbmcgY2hhbmdlZCIKKyN+IG1zZ3N0ciAiR2VzdG9wdCAtLSBlciBpcyBuaWV0cyBnZXdpanppZ2QuIgorCisjfiBtc2dpZCAiUGxlYXNlIGFuc3dlciBvbmUgb2YgeSxuLHFcbiIKKyN+IG1zZ3N0ciAiQW50d29vcmQgbWV0ICd5JyAoamEpIG9mICduJyAobmVlKSBvZiAncScgKHN0b3BwZW4pLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlN1Y2Nlc3NmdWxseSB3cm90ZSB0aGUgbmV3IHBhcnRpdGlvbiB0YWJsZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiRGUgbmlldXdlIHBhcnRpdGlldGFiZWwgaXMgbWV0IHN1Y2NlcyB3ZWdnZXNjaHJldmVuLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIklmIHlvdSBjcmVhdGVkIG9yIGNoYW5nZWQgYSBET1MgcGFydGl0aW9uLCAvZGV2L2ZvbzcsIHNheSwgdGhlbiB1c2UgZGQoMSlcbiIKKyN+ICJ0byB6ZXJvIHRoZSBmaXJzdCA1MTIgYnl0ZXM6ICBkZCBpZj0vZGV2L3plcm8gb2Y9L2Rldi9mb283IGJzPTUxMiBjb3VudD0xXG4iCisjfiAiKFNlZSBmZGlzayg4KS4pIgorI34gbXNnc3RyICIiCisjfiAiQWxzIHUgZWVuIERPUy1wYXJ0aXRpZSBnZW1hYWt0IG9mIGdld2lqemlnZCBoZWJ0LCBiaWp2b29yYmVlbGQgL2Rldi9mb283LFxuIgorI34gImdlYnJ1aWsgZGFuIGRkKDEpIG9tIGRlIGVlcnN0ZSA1MTIgYnl0ZXMgbnVsIHRlIG1ha2VuOlxuIgorI34gIiAgZGQgaWY9L2Rldi96ZXJvIG9mPS9kZXYvZm9vNyBicz01MTIgY291bnQ9MSAgKHppZSBtYW4gZmRpc2soOCkpIgorCisjfiBtc2dpZCAiSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnkgRE9TIDYueCBwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBmZGlzayBkb2N1bWVudGF0aW9uIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLiIKKyN+IG1zZ3N0ciAiIgorI34gIkFscyB1IERPUy02LngtcGFydGl0aWVzIGdlbWFha3Qgb2YgZ2V3aWp6aWdkIGhlYnQsXG4iCisjfiAicmFhZHBsZWVnIGRhbiBoZXQgZmRpc2staGFuZGJvZWsgdm9vciBtZWVyIGluZm9ybWF0aWUuIgorCisjfiBtc2dpZCAiZmllbGQgaXMgdG9vIGxvbmciCisjfiBtc2dzdHIgInZlbGQgaXMgdGUgbGFuZyIKKworI34gbXNnaWQgIiVzOiAnJWMnIGlzIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICIlczogJyVjJyBpcyBuaWV0IHRvZWdlc3RhYW4iCisKKyN+IG1zZ2lkICInJWMnIGlzIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICInJWMnIGlzIG5pZXQgdG9lZ2VzdGFhbiIKKworI34gbXNnaWQgIiVzOiBjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICIlczogc3R1dXJ0ZWtlbnMgemlqbiBuaWV0IHRvZWdlc3RhYW4iCisKKyN+IG1zZ2lkICJjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICJzdHV1cnRla2VucyB6aWpuIG5pZXQgdG9lZ2VzdGFhbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICB1c2UgYWx0ZXJuYXRpdmUgZGljdGlvbmFyeVxuIgorI34gIiAtZCwgLS1hbHBoYW51bSAgICAgICAgIGNvbXBhcmUgb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorI34gIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgIGlnbm9yZSBjYXNlIGRpZmZlcmVuY2VzIHdoZW4gY29tcGFyaW5nXG4iCisjfiAiIC10LCAtLXRlcm1pbmF0ZSA8Y2hhcj4gZGVmaW5lIHN0cmluZyB0ZXJtaW5hdGlvbiBjaGFyYWN0ZXJcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgIGVlbiBhbHRlcm5hdGllZiB3b29yZGVuYm9layBnZWJydWlrZW5cbiIKKyN+ICIgIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBhbGxlZW4gYWxmYW51bWVyaWVrZSB0ZWtlbnMgdmVyZ2VsaWprZW5cbiIKKyN+ICIgIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICB2ZXJzY2hpbCB0dXNzZW4gaG9vZmQtIGVuIGtsZWluZSBsZXR0ZXJzIG5lZ2VyZW5cbiIKKyN+ICIgIC10LCAtLXRlcm1pbmF0ZSA8dGVrZW4+ICBoZXQgdGVrZW4gZGF0IGVlbiB0ZWtlbnJlZWtzIGFmc2x1aXRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiVzOiBpcyByZW1vdmFibGUgZGV2aWNlIgorI34gbXNnc3RyICIlczogaXMgdmVyd2lqZGVyYmFhciBhcHBhcmFhdCIKKworI34gbXNnaWQgIiVzOiBjb25uZWN0ZWQgYnkgaG90cGx1ZyBzdWJzeXN0ZW06ICVzIgorI34gbXNnc3RyICIlczogdmVyYm9uZGVuIGRvb3IgaGV0ICdob3RwbHVnJy1zdWJzeXN0ZWVtOiAlcyIKKworI34gbXNnaWQgInRpbWVvdXQgY2Fubm90IGJlIHplcm8iCisjfiBtc2dzdHIgInRpamRzbGltaWV0IGthbiBuaWV0IG51bCB6aWpuIgorCisjfiBtc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gS0RHSFdDTEsgdG8gY2hhbmdlXG4iCisjfiBtc2dzdHIgIldhY2h0ZW4gaW4gbHVzIHRvdGRhdCBkZSB0aWpkIHZhbiBpb2N0bChLREdIV0NMSykgdmVyYW5kZXJ0Li4uXG4iCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCB0byByZWFkIHRpbWUgZmFpbGVkIgorI34gbXNnc3RyICJIZXQgbGV6ZW4gdmFuIGRlIHRpamQgdmlhIGlvY3RsKEtER0hXQ0xLKSBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgdG8gcmVhZCB0aW1lIGZhaWxlZCBpbiBsb29wIgorI34gbXNnc3RyICJIZXQgbGV6ZW4gdmFuIGRlIHRpamQgdmlhIGlvY3RsKEtER0hXQ0xLKSBpcyBtaXNsdWt0IHRpamRlbnMgZGUgbHVzIgorCisjfiBtc2dpZCAiaW9jdGwoKSBmYWlsZWQgdG8gcmVhZCB0aW1lIGZyb20gJXMiCisjfiBtc2dzdHIgImlvY3RsKCkga2FuIGdlZW4gdGlqZCBsZXplbiB1aXQgJXMiCisKKyN+IG1zZ2lkICJpb2N0bCBLRFNIV0NMSyBmYWlsZWQiCisjfiBtc2dzdHIgImlvY3RsKEtEU0hXQ0xLKSBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiVXNpbmcgdGhlIEtER0hXQ0xLIGludGVyZmFjZSB0byBtNjhrIGNsb2NrLiIKKyN+IG1zZ3N0ciAiR2VicnVpayB2YW4gS0RHSFdDTEstaW50ZXJmYWNlIHZvb3IgbTY4ay1rbG9rLiIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gL2Rldi90dHkxIG9yIC9kZXYvdmMvMSIKKyN+IG1zZ3N0ciAiT3BlbmVuIHZhbiAvZGV2L3R0eTEgb2YgL2Rldi92Yy8xIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgImlvY3RsKEtER0hXQ0xLKSBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3MuLi5dXG4iCisjfiBtc2dzdHIgIiAgJXMgW29wdGllc10gPHByb2dyYW1tYT4gWzxhcmd1bWVudD4uLi5dXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKKyN+ICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorI34gIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorI34gIiAtdSwgLS11c2VyIDxuYW1lfGlkPiAgIGludGVycHJldCBhcmd1bWVudCBhcyB1c2VybmFtZSBvciB1c2VyIElEXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIC1nLCAtLXBncnAgPFBHSUQ+ICAgICAgIHRlIGJlw69udmxvZWRlbiBwcm9jZXNncm9lcHMtSURcbiIKKyN+ICIgIC1uLCAtLXByaW9yaXR5IDxnZXRhbD4gIHRlIGdlYnJ1aWtlbiBiZWxlZWZkaGVpZHN0b2VuYW1lXG4iCisjfiAiICAtcCwgLS1waWQgPFBJRD4gICAgICAgICB0ZSBiZcOvbnZsb2VkZW4gcHJvY2VzLUlEXG4iCisjfiAiICAtdSwgLS11c2VyIDxuYWFtfFVJRD4gICB0ZSBiZcOvbnZsb2VkZW4gZ2VicnVpa2VyIChuYWFtIG9mIFVJRClcbiIKKworI34gbXNnaWQgIiAlcyVzIFtvcHRpb25zXSBbcHJvZ3JhbSBbcHJvZ3JhbSBhcmd1bWVudHNdXVxuIgorI34gbXNnc3RyICIgICVzJXMgW29wdGllc10gW3Byb2dyYW1tYSBbcHJvZ3JhbW1hLWFyZ3VtZW50ZW5dXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorI34gIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgc2lsZW50bHkgc2tpcCBkZXZpY2VzIHRoYXQgZG8gbm90IGV4aXN0XG4iCisjfiAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICByZWluaXRpYWxpemUgdGhlIHN3YXAgc3BhY2UgaWYgbmVjZXNzYXJ5XG4iCisjfiAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBzcGVjaWZ5IHRoZSBwcmlvcml0eSBvZiB0aGUgc3dhcCBkZXZpY2VcbiIKKyN+ICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIGRpc3BsYXkgc3VtbWFyeSBhYm91dCB1c2VkIHN3YXAgZGV2aWNlcyAoREVQUkVDQVRFRClcbiIKKyN+ICIgICAgIC0tc2hvd1s9PGNvbHVtbnM+XSAgIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKKyN+ICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzLCB1c2Ugd2l0aCAtLXNob3dcbiIKKyN+ICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQsIHVzZSB3aXRoIC0tc2hvd1xuIgorI34gIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHNpemUgaW4gYnl0ZXMgaW4gLS1zaG93IG91dHB1dFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIC1hLCAtLWFsbCAgICAgICAgICAgICBhbGxlIHdpc3NlbGdlYmllZGVuIHVpdCAvZXRjL2ZzdGFiIGluc2NoYWtlbGVuXG4iCisjfiAiICAtZCwgLS1kaXNjYXJkICAgICAgICAgdnJpamdlbWFha3RlIHBhZ2luYSdzIHZlcndlcnBlbiB2w7PDs3IgaGVyZ2VicnVpa1xuIgorI34gIiAgLWUsIC0taWZleGlzdHMgICAgICAgIG5pZXQtYmVzdGFhbmRlIGFwcGFyYXRlbiBzdGlsendpamdlbmQgb3ZlcnNsYWFuXG4iCisjfiAiICAtZiwgLS1maXhwZ3N6ICAgICAgICAgd2lzc2VsZ2ViaWVkIGhlcmluaXRpYWxpc2VyZW4gaW5kaWVuIG5vZGlnXG4iCisjfiAiICAtcCwgLS1wcmlvcml0eSA8cHJpPiAgdGUgZ2VicnVpa2VuIHByaW9yaXRlaXQgdm9vciB3aXNzZWxnZWJpZWRcbiIKKyN+ICIgIC1zLCAtLXN1bW1hcnkgICAgICAgICBhbGxlZW4gc2FtZW52YXR0aW5nIHZhbiBnZWJydWlrdGUgd2lzc2VsZ2ViaWVkZW4gdG9uZW5cbiIKKyN+ICIgIC12LCAtLXZlcmJvc2UgICAgICAgICBnZWRldGFpbGxlZXJkZSB1aXR2b2VyIHByb2R1Y2VyZW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkdlYnJ1aWs6ICAlcyBbb3B0aWVzXSBbPGJlc3RhbmQ+Li4uXVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtLCAgLS1uby11bmRlcmxpbmluZyAgc3VwcHJlc3MgYWxsIHVuZGVybGluaW5nXG4iCisjfiAiIC0yLCAtLWhhbGYtbGluZXMgICAgICBwcmludCBhbGwgaGFsZi1saW5lc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiICAtLCAgLS1uby11bmRlcmxpbmluZyAgYWxsZSBvbmRlcnN0cmVwaW5nZW4gb25kZXJkcnVra2VuXG4iCisjfiAiICAtMiwgLS1oYWxmLWxpbmVzICAgICAgYWxsZSBoYWxmcmVnZWxzIHdlZXJnZXZlblxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiY2FsbGluZyBoZXhkdW1wIGFzIG9kIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgR05VIGNvcmV1dGlscyBvZCIKKyN+IG1zZ3N0ciAiIgorI34gIkhldCBhYW5yb2VwZW4gdmFuICdoZXhkdW1wJyBhbHMgJ29kJyB3b3JkdCBvbnRyYWRlbjtcbiIKKyN+ICJnZWJydWlrIGhpZXJ2b29yIGluIGRlIHBsYWF0cyBkZSAnb2QnIHZhbiBHTlUgY29yZXV0aWxzLiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbl0gZmlsZVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiR2VicnVpazogICVzIFtvcHRpZV0gPGJlc3RhbmQ+XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLW4sIC0tbGluZXMgTlVNQkVSICBvdXRwdXQgdGhlIGxhc3QgTlVNQkVSIGxpbmVzXG4iCisjfiAiIC1OVU1CRVIgICAgICAgICAgICAgc2FtZSBhcyBgLW4gTlVNQkVSJ1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiT3B0aWVzOlxuIgorI34gIiAgLW4sIC0tbGluZXMgQUFOVEFMICBkZSBsYWF0c3RlIEFBTlRBTCByZWdlbHMgd2VlcmdldmVuXG4iCisjfiAiICAtQUFOVEFMICAgICAgICAgICAgIGhldHplbGZlIGFscyAnLS1saW5lcyBBQU5UQUwnXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGZpbGVcbiIKKyN+IG1zZ3N0ciAiICAlcyBbb3B0aWVzXSA8YmVzdGFuZD5cbiIKKworI34gbXNnaWQgImFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgorI34gbXNnc3RyICJvcHRpZXMgZ2FhbiBuaWV0IHNhbWVuLiIKKworI34gbXNnaWQgImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzLiIKKyN+IG1zZ3N0ciAia2FuIGFsbGVlbiBsb2thbGUgaXRlbXMgd2lqemlnZW4iCisKKyN+IG1zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZSBzdGFtcCB1c2luZyBmb3JtYXQ6XG4iCisjfiBtc2dzdHIgIiAgICAgIC0tdGltZS1mb3JtYXQgPG9wbWFhaz4gIHRpamRzc3RlbXBlbHMgdG9uZW4gaW4gZ2VnZXZlbiBvcG1hYWs6XG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vdGltZXxzaG9ydHxmdWxsfGlzb11cbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpbWV8c2hvcnR8ZnVsbHxpc29cbiIKKworI34gbXNnaWQgIkNPTU1BTkQgbm90IHNwZWNpZmllZC4iCisjfiBtc2dzdHIgImdlZW4gPG9wZHJhY2h0PiBnZWdldmVuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBwYXRobmFtZSBbcGF0aG5hbWUgLi4uXVxuIgorI34gbXNnc3RyICIgICVzIFtvcHRpZXNdIDxwYWRuYWFtPi4uLlxuIgorCisjfiBtc2dpZCAibm8gZmlsZW5hbWUgc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAiZ2VlbiBiZXN0YW5kc25hYW0gZ2VnZXZlbiIKKworI34gbXNnaWQgIi4uLmJhY2sgMSBwYWdlIgorI34gbXNnc3RyICIuLi4xIHBhZ2luYSB0ZXJ1ZyIKKworI34gbXNnaWQgIi4uLnNraXBwaW5nIG9uZSBsaW5lIgorI34gbXNnc3RyICIuLi4xIHJlZ2VsIG92ZXJzbGFhbmQiCisKKyN+IG1zZ2lkICJ3YWlkcGlkIGZhaWxlZCIKKyN+IG1zZ3N0ciAid2FpdHBpZCgpIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICIgLXgsIC0tZGVzdGluYXRpb24gPGRpcj4gIGV4dHJhY3QgaW50byBkaXJlY3RvcnlcbiIKKyN+IG1zZ3N0ciAiICAteCwgLS1kZXN0aW5hdGlvbiA8bWFwPiAgZXh0cmFoZXJlbiBuYWFyIGRlemUgbWFwXG4iCisKKyN+IG1zZ2lkICJjb21waWxlZCB3aXRob3V0IC14IHN1cHBvcnQiCisjfiBtc2dzdHIgImdlY29tcGlsZWVyZCB6b25kZXIgb25kZXJzdGV1bmluZyB2b29yICcteCciCisKKyN+IG1zZ2lkICIlczogT3V0IG9mIG1lbW9yeSFcbiIKKyN+IG1zZ3N0ciAiJXM6IE9udm9sZG9lbmRlIGdlaGV1Z2VuIGJlc2NoaWtiYWFyIVxuIgorCisjfiBtc2dpZCAiVW51c2FibGUiCisjfiBtc2dzdHIgIltvbmJydWlrYmFhcl0iCisKKyN+IG1zZ2lkICJ3cml0ZSBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAic2NocmlqdmVuIGlzIG1pc2x1a3RcbiIKKworI34gbXNnaWQgIkRpc2sgaGFzIGJlZW4gY2hhbmdlZC5cbiIKKyN+IG1zZ3N0ciAiRGUgc2NoaWpmIGlzIHZlcmFuZGVyZC5cbiIKKworI34gbXNnaWQgIlJlYm9vdCB0aGUgc3lzdGVtIHRvIGVuc3VyZSB0aGUgcGFydGl0aW9uIHRhYmxlIGlzIGNvcnJlY3RseSB1cGRhdGVkLlxuIgorI34gbXNnc3RyICJIZXJzdGFydCBoZXQgc3lzdGVlbSBvbSBlciB6ZWtlciB2YW4gdGUgemlqbiBkYXQgZGUganVpc3RlIHBhcnRpdGlldGFiZWwgd29yZHQgZ2V6aWVuLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IElmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55XG4iCisjfiAiRE9TIDYueCBwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBjZmRpc2sgbWFudWFsXG4iCisjfiAicGFnZSBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIldBQVJTQ0hVV0lORzogQWxzIHUgRE9TLTYueC1wYXJ0aXRpZXMgZ2VtYWFrdCBvZiBnZXdpanppZ2QgaGVidCxcbiIKKyN+ICJyYWFkcGxlZWcgZGFuIGhldCBjZmRpc2staGFuZGJvZWsgdm9vciBtZWVyIGluZm9ybWF0aWUuXG4iCisKKyN+IG1zZ2lkICJGQVRBTCBFUlJPUiIKKyN+IG1zZ3N0ciAiRkFUQUxFIEZPVVQiCisKKyN+IG1zZ2lkICJQcmVzcyBhbnkga2V5IHRvIGV4aXQgY2ZkaXNrIgorI34gbXNnc3RyICJEcnVrIG9wIGVlbiB0b2V0cyBvbSAnY2ZkaXNrJyBhZiB0ZSBzbHVpdGVuIgorCisjfiBtc2dpZCAiQ2Fubm90IHNlZWsgb24gZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiS2FuIGdlZW4gJ3NlZWsnIGRvZW4gb3Agc2NoaWpmIgorCisjfiBtc2dpZCAiQ2Fubm90IHJlYWQgZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiS2FuIHNjaGlqZiBuaWV0IGxlemVuIgorCisjfiBtc2dpZCAiQ2Fubm90IHdyaXRlIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIkthbiBuaWV0IG5hYXIgc2NoaWpmIHNjaHJpanZlbiIKKworI34gbXNnaWQgIlRvbyBtYW55IHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIlRlIHZlZWwgcGFydGl0aWVzIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGJlZ2lucyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIlBhcnRpdGllIGJlZ2ludCB2w7PDs3Igc2VjdG9yIDAiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIlBhcnRpdGllIGVpbmRpZ3QgdsOzw7NyIHNlY3RvciAwIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGJlZ2lucyBhZnRlciBlbmQtb2YtZGlzayIKKyN+IG1zZ3N0ciAiUGFydGl0aWUgYmVnaW50IG5hIGVpbmRlIHZhbiBzY2hpamYiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBhZnRlciBlbmQtb2YtZGlzayIKKyN+IG1zZ3N0ciAiUGFydGl0aWUgZWluZGlndCBuYSBlaW5kZSB2YW4gc2NoaWpmIgorCisjfiBtc2dpZCAibG9naWNhbCBwYXJ0aXRpb25zIG5vdCBpbiBkaXNrIG9yZGVyIgorI34gbXNnc3RyICJsb2dpc2NoZSBwYXJ0aXRpZXMgbGlnZ2VuIG5pZXQgaW4gc2NoaWpmdm9sZ29yZGUiCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAibG9naXNjaGUgcGFydGl0aWVzIG92ZXJsYXBwZW4iCisKKyN+IG1zZ2lkICJlbmxhcmdlZCBsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAidmVyZ3JvdGUgbG9naXNjaGUgcGFydGl0aWVzIG92ZXJsYXBwZW4iCisKKyN+IG1zZ2lkICIhISEhIEludGVybmFsIGVycm9yIGNyZWF0aW5nIGxvZ2ljYWwgZHJpdmUgd2l0aCBubyBleHRlbmRlZCBwYXJ0aXRpb24gISEhISIKKyN+IG1zZ3N0ciAiKipJbnRlcm5lIHByb2dyYW1tYWZvdXQqKiBiaWogaGV0IG1ha2VuIHZhbiBsb2dpc2NoZSBzY2hpamYgem9uZGVyIHVpdGdlYnJlaWRlIHBhcnRpdGllIgorCisjfiBtc2dpZCAiQ2Fubm90IGNyZWF0ZSBsb2dpY2FsIGRyaXZlIGhlcmUgLS0gd291bGQgY3JlYXRlIHR3byBleHRlbmRlZCBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJLYW4gaGllciBnZWVuIGxvZ2lzY2hlIHNjaGlqZiBtYWtlbiAtLSB6b3UgdHdlZSB1aXRnZWJyZWlkZSBwYXJ0aXRpZXMgbWFrZW4iCisKKyN+IG1zZ2lkICJNZW51IGl0ZW0gdG9vIGxvbmcuIE1lbnUgbWF5IGxvb2sgb2RkLiIKKyN+IG1zZ3N0ciAiTWVudS1pdGVtIGlzIHRlIGxhbmcuICBNZW51IHppZXQgZXIgbWlzc2NoaWVuIHJhYXIgdWl0LiIKKworI34gbXNnaWQgIklsbGVnYWwga2V5IgorI34gbXNnc3RyICJPbmdlbGRpZ2UgdG9ldHMiCisKKyN+IG1zZ2lkICJDcmVhdGUgYSBuZXcgcHJpbWFyeSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlAgPSBlZW4gbmlldXdlIHByaW1haXJlIHBhcnRpdGllIG1ha2VuIgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IGxvZ2ljYWwgcGFydGl0aW9uIgorI34gbXNnc3RyICJMID0gZWVuIG5pZXV3ZSBsb2dpc2NoZSBwYXJ0aXRpZSBtYWtlbiIKKworI34gbXNnaWQgIkNhbmNlbCIKKyN+IG1zZ3N0ciAiYW5udWxlcmVuIgorCisjfiBtc2dpZCAiRG9uJ3QgY3JlYXRlIGEgcGFydGl0aW9uIgorI34gbXNnc3RyICJFc2MsRXNjID0gR2VlbiBwYXJ0aXRpZSBtYWtlbiIKKworI34gbXNnaWQgIiEhISBJbnRlcm5hbCBlcnJvciAhISEiCisjfiBtc2dzdHIgIioqSW50ZXJuZSBwcm9ncmFtbWFmb3V0KioiCisKKyN+IG1zZ2lkICJTaXplIChpbiBNQik6ICIKKyN+IG1zZ3N0ciAiR3Jvb3R0ZSAoaW4gTUIpOiAiCisKKyN+IG1zZ2lkICJCZWdpbm5pbmciCisjfiBtc2dzdHIgIkJlZ2luIgorCisjfiBtc2dpZCAiQWRkIHBhcnRpdGlvbiBhdCBiZWdpbm5pbmcgb2YgZnJlZSBzcGFjZSIKKyN+IG1zZ3N0ciAiQiA9IHBhcnRpdGllIHRvZXZvZWdlbiBhYW4gYmVnaW4gdmFuIHZyaWplIHJ1aW10ZSIKKworI34gbXNnaWQgIkFkZCBwYXJ0aXRpb24gYXQgZW5kIG9mIGZyZWUgc3BhY2UiCisjfiBtc2dzdHIgIkUgPSBQYXJ0aXRpZSB0b2V2b2VnZW4gYWFuIGVpbmRlIHZhbiB2cmlqZSBydWltdGUiCisKKyN+IG1zZ2lkICJObyByb29tIHRvIGNyZWF0ZSB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICJFciBpcyBnZWVuIHJ1aW10ZSBvbSBkZSB1aXRnZWJyZWlkZSBwYXJ0aXRpZSB0ZSBtYWtlbiIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbiB0YWJsZS4gU3RhcnRpbmcgd2l0aCB6ZXJvIHRhYmxlLiIKKyN+IG1zZ3N0ciAiR2VlbiBwYXJ0aXRpZXRhYmVsIGFhbndlemlnLiAgR2VzdGFydCBtZXQgZWVuIGxlZ2UgdGFiZWwuIgorCisjfiBtc2dpZCAiQmFkIHNpZ25hdHVyZSBvbiBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIk9uanVpc3RlIHZpbmdlcmFmZHJ1ayBpbiBwYXJ0aXRpZXRhYmVsIgorCisjfiBtc2dpZCAiVW5rbm93biBwYXJ0aXRpb24gdGFibGUgdHlwZSIKKyN+IG1zZ3N0ciAiT25iZWtlbmQgcGFydGl0aWV0YWJlbHR5cGUiCisKKyN+IG1zZ2lkICJEbyB5b3Ugd2lzaCB0byBzdGFydCB3aXRoIGEgemVybyB0YWJsZSBbeS9OXSA/IgorI34gbXNnc3RyICJXaWx0IHUgbWV0IGVlbiBsZWdlIHRhYmVsIGJlZ2lubmVuPyBbai9OXSIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIkthbiBzY2hpamYgbmlldCBvcGVuZW4iCisKKyN+IG1zZ2lkICJPcGVuZWQgZGlzayByZWFkLW9ubHkgLSB5b3UgaGF2ZSBubyBwZXJtaXNzaW9uIHRvIHdyaXRlIgorI34gbXNnc3RyICJTY2hpamYgaXMgYWxzIGFsbGVlbi1sZXplbiBnZW9wZW5kIC0tIHUgaGVidCBnZWVuIHRvZWdhbmdzcmVjaHRlbiBvbSB0ZSBzY2hyaWp2ZW4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZ2V0IGRpc2sgc2l6ZSIKKyN+IG1zZ3N0ciAiS2FuIHNjaGlqZmdyb290dGUgbmlldCBhY2h0ZXJoYWxlbiIKKworI34gbXNnaWQgIkJhZCBwcmltYXJ5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiT25nZWxkaWdlIHByaW1haXJlIHBhcnRpdGllIgorCisjfiBtc2dpZCAiV2FybmluZyEhICBUaGlzIG1heSBkZXN0cm95IGRhdGEgb24geW91ciBkaXNrISIKKyN+IG1zZ3N0ciAiV2FhcnNjaHV3aW5nISEgIERpdCBrYW4gZ2VnZXZlbnMgb3AgdXcgc2NoaWpmIHdpc3NlbiEiCisKKyN+IG1zZ2lkICJQbGVhc2UgZW50ZXIgYHllcycgb3IgYG5vJyIKKyN+IG1zZ3N0ciAiQW50d29vcmQgbWV0ICdqYScgb2YgJ25lZScuIgorCisjfiBtc2dpZCAiV3JpdGluZyBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4uLiIKKyN+IG1zZ3N0ciAiU2NocmlqdmVuIHZhbiBwYXJ0aXRpZXRhYmVsIG5hYXIgc2NoaWpmLi4uIgorCisjfiBtc2dpZCAiV3JvdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2siCisjfiBtc2dzdHIgIkRlIHBhcnRpdGlldGFiZWwgaXMgbmFhciBzY2hpamYgZ2VzY2hyZXZlbi4iCisKKyN+IG1zZ2lkICJXcm90ZSBwYXJ0aXRpb24gdGFibGUsIGJ1dCByZS1yZWFkIHRhYmxlIGZhaWxlZC4gIFJ1biBwYXJ0cHJvYmUoOCksIGtwYXJ0eCg4KSBvciByZWJvb3QgdG8gdXBkYXRlIHRhYmxlLiIKKyN+IG1zZ3N0ciAiIgorI34gIlBhcnRpdGlldGFiZWwgaXMgZ2VzY2hyZXZlbiwgbWFhciBvcG5pZXV3IGlubGV6ZW4gaXMgbWlzbHVrdC5cbiIKKyN+ICJEcmFhaSBwYXJ0cHJvYmUoOCkgb2Yga3BhcnR4KDgpLCBvZiBoZXJzdGFydCB1dyBzeXN0ZWVtIG9tIGRlXG4iCisjfiAianVpc3RlIHRhYmVsIHRlIGdlYnJ1aWtlbi4iCisKKyN+IG1zZ2lkICJObyBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIG1hcmtlZCBib290YWJsZS4gRE9TIE1CUiBjYW5ub3QgYm9vdCB0aGlzLiIKKyN+IG1zZ3N0ciAiRXIgaXMgZ2VlbiBwcmltYWlyZSBwYXJ0aXRpZSBhbHMgb3BzdGFydGJhYXIgZ2VtYXJrZWVyZC4gIERPUyBNQlIga2FuIGRpdCBuaWV0IG9wc3RhcnRlbi4iCisKKyN+IG1zZ2lkICJNb3JlIHRoYW4gb25lIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZS4gRE9TIE1CUiBjYW5ub3QgYm9vdCB0aGlzLiIKKyN+IG1zZ3N0ciAiTWVlciBkYW4gw6nDqW4gcHJpbWFpcmUgcGFydGl0aWUgaXMgYWxzIG9wc3RhcnRiYWFyIGdlbWFya2VlcmQuICBET1MgTUJSIGthbiBkaXQgbmlldCBvcHN0YXJ0ZW4uIgorCisjfiBtc2dpZCAiRW50ZXIgZmlsZW5hbWUgb3IgcHJlc3MgUkVUVVJOIHRvIGRpc3BsYXkgb24gc2NyZWVuOiAiCisjfiBtc2dzdHIgIkdlZWYgZWVuIGJlc3RhbmRzbmFhbSBvcCwgb2YgZHJ1ayBvcCBFbnRlciB2b29yIHdlZXJnYXZlIG9wIGhldCBzY2hlcm06ICIKKworI34gbXNnaWQgIkRpc2sgRHJpdmU6ICVzXG4iCisjfiBtc2dzdHIgIlNjaGlqZjogJXNcbiIKKworI34gbXNnaWQgIlNlY3RvciAwOlxuIgorI34gbXNnc3RyICJTZWN0b3IgMDpcbiIKKworI34gbXNnaWQgIlNlY3RvciAlZDpcbiIKKyN+IG1zZ3N0ciAiU2VjdG9yICVkOlxuIgorCisjfiBtc2dpZCAiICAgTm9uZSAgICIKKyN+IG1zZ3N0ciAiICAgW2dlZW5dICIKKworI34gbXNnaWQgIiAgIFByaS9Mb2ciCisjfiBtc2dzdHIgIiAgIHByaS9sb2ciCisKKyN+IG1zZ2lkICIgICBQcmltYXJ5IgorI34gbXNnc3RyICIgICBwcmltYWlyIgorCisjfiBtc2dpZCAiICAgTG9naWNhbCIKKyN+IG1zZ3N0ciAiICAgbG9naXNjaCIKKworI34gbXNnaWQgIiglMDJYKSIKKyN+IG1zZ3N0ciAiKCUwMlgpIgorCisjfiBtc2dpZCAiTm9uZSIKKyN+IG1zZ3N0ciAiZ2VlbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBUYWJsZSBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAiUGFydGl0aWV0YWJlbCB2YW4gJXM6XG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICBGaXJzdCAgICAgICBMYXN0XG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBFZXJzdGUgICAgIExhYXRzdGVcbiIKKworI34gbXNnaWQgIiAjIFR5cGUgICAgICAgU2VjdG9yICAgICAgU2VjdG9yICAgT2Zmc2V0ICAgIExlbmd0aCAgIEZpbGVzeXN0ZW0gVHlwZSAoSUQpIEZsYWdcbiIKKyN+IG1zZ3N0ciAiICMgVHlwZSAgICAgICAgIHNlY3RvciAgICAgIHNlY3RvciBQbGFhdHMgICAgICBMZW5ndGUgQmVzdGFuZHNzeXN0ZWVtIChJRCkgVmxhZ1xuIgorCisjfiBtc2dpZCAiLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLVxuIgorI34gbXNnc3RyICItLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tXG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAtLS1TdGFydGluZy0tLS0gICAgICAtLS0tRW5kaW5nLS0tLS0gICAgU3RhcnQgICAgIE51bWJlciBvZlxuIgorI34gbXNnc3RyICIgICAgICAgICAgLS0tLUJlZ2luLS0tLS0gICAgICAgLS0tLUVpbmRlLS0tLS0gICAgICAgICAgICAgICAgICBBYW50YWxcbiIKKworI34gbXNnaWQgIiAjIEZsYWdzIEhlYWQgU2VjdCAgQ3lsICAgSUQgIEhlYWQgU2VjdCAgQ3lsICAgICBTZWN0b3IgICAgU2VjdG9yc1xuIgorI34gbXNnc3RyICIgIyAgVmxhZyAgS29wICBTZWMgICBDaWwgICBJRCAgS29wICBTZWMgICBDaWwgU3RhcnRzZWN0b3IgICAgc2VjdG9yZW5cbiIKKworI34gbXNnaWQgIi0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLVxuIgorI34gbXNnc3RyICItLSAgLS0tLSAgLS0tICAtLS0gIC0tLS0gLS0tLSAgLS0tICAtLS0gLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS1cbiIKKworI34gbXNnaWQgIlJhdyIKKyN+IG1zZ3N0ciAiUnV3IgorCisjfiBtc2dpZCAiUHJpbnQgdGhlIHRhYmxlIHVzaW5nIHJhdyBkYXRhIGZvcm1hdCIKKyN+IG1zZ3N0ciAiUiA9IGRlIHRhYmVsIGluIHJ1d2UtZ2VnZXZlbnNpbmRlbGluZyB3ZWVyZ2V2ZW4iCisKKyN+IG1zZ2lkICJQcmludCB0aGUgdGFibGUgb3JkZXJlZCBieSBzZWN0b3JzIgorI34gbXNnc3RyICJTID0gZGUgdGFiZWwgZ2VvcmRlbmQgb3Agc2VjdG9yZW4gd2VlcmdldmVuIgorCisjfiBtc2dpZCAiVGFibGUiCisjfiBtc2dzdHIgIlRhYmVsIgorCisjfiBtc2dpZCAiSnVzdCBwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJUID0gZ2V3b29uIGRlIHBhcnRpdGlldGFiZWwgd2VlcmdldmVuIgorCisjfiBtc2dpZCAiRG9uJ3QgcHJpbnQgdGhlIHRhYmxlIgorI34gbXNnc3RyICJFc2MsRXNjID0gdGFiZWwgbmlldCB3ZWVyZ2V2ZW4iCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMTk5OSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIiCisjfiBtc2dzdHIgIkNvcHlyaWdodCAoQykgMTk5NC0xOTk5IEtldmluIEUuIE1hcnRpbiAmIGFlYiIKKworI34gbXNnaWQgIiAgZyAgICAgICAgICBDaGFuZ2UgY3lsaW5kZXJzLCBoZWFkcywgc2VjdG9ycy1wZXItdHJhY2sgcGFyYW1ldGVycyIKKyN+IG1zZ3N0ciAiICAgIGcgICAgICBjaWxpbmRlcnMsIGtvcHBlbiwgc2VjdG9yZW4tcGVyLXNwb29yIHdpanppZ2VuOyIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBXQVJOSU5HOiBUaGlzIG9wdGlvbiBzaG91bGQgb25seSBiZSB1c2VkIGJ5IHBlb3BsZSB3aG8iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAqd2FhcnNjaHV3aW5nKjogZGV6ZSBvcHRpZSBkaWVudCBhbGxlZW4gdGUgd29yZGVuIGdlYnJ1aWt0IgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGtub3cgd2hhdCB0aGV5IGFyZSBkb2luZy4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBkb29yIG1lbnNlbiBkaWUgZWNodCB3ZXRlbiB3YXQgemUgZG9lbiIKKworI34gbXNnaWQgIiAgbSAgICAgICAgICBNYXhpbWl6ZSBkaXNrIHVzYWdlIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgIG0gICAgICBzY2hpamZnZWJydWlrIHZhbiBkZSBodWlkaWdlIHBhcnRpdGllIG1heGltYWxpc2VyZW47IgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIE5vdGU6IFRoaXMgbWF5IG1ha2UgdGhlIHBhcnRpdGlvbiBpbmNvbXBhdGlibGUgd2l0aCIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIGRpdCBrYW4gZWVuIHBhcnRpdGllIGluY29tcGF0aWJlbCBtYWtlbiBtZXQgRE9TLCBPUy8yLCAuLi4iCisKKyN+IG1zZ2lkICIgIHAgICAgICAgICAgUHJpbnQgcGFydGl0aW9uIHRhYmxlIHRvIHRoZSBzY3JlZW4gb3IgdG8gYSBmaWxlIgorI34gbXNnc3RyICIgICAgcCAgICAgIHBhcnRpdGlldGFiZWwgd2VlcmdldmVuIG9wIHNjaGVybSBvZiBuYWFyIGJlc3RhbmQ7IgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFRoZXJlIGFyZSBzZXZlcmFsIGRpZmZlcmVudCBmb3JtYXRzIGZvciB0aGUgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICAgICAgICAgICAgZXIgemlqbiB2ZXJzY2hpbGxlbmRlIG9wbWFrZW4gd2FhcnVpdCB1IGt1bnQga2llemVuOiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICByIC0gUmF3IGRhdGEgKGV4YWN0bHkgd2hhdCB3b3VsZCBiZSB3cml0dGVuIHRvIGRpc2spIgorI34gbXNnc3RyICIgICAgICAgICAgICAgciAtIHJ1d2UgZ2VnZXZlbnMgKGV4YWN0IHdhdCBuYWFyIHNjaGlqZiB6b3Ugd29yZGVuIGdlc2NocmV2ZW4pIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHMgLSBUYWJsZSBvcmRlcmVkIGJ5IHNlY3RvcnMiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBzIC0gdGFiZWwgZ2VvcmRlbmQgb3Agc2VjdG9yZW4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgdCAtIFRhYmxlIGluIHJhdyBmb3JtYXQiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICB0IC0gdGFiZWwgaW4gcnV3ZSBvcG1hYWsiCisKKyN+IG1zZ2lkICIgIHUgICAgICAgICAgQ2hhbmdlIHVuaXRzIG9mIHRoZSBwYXJ0aXRpb24gc2l6ZSBkaXNwbGF5IgorI34gbXNnc3RyICIgICAgdSAgICAgIGdlYnJ1aWt0ZSBlZW5oZWlkIHZvb3IgcGFydGl0aWVncm9vdHRlIHdpanppZ2VuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFJvdGF0ZXMgdGhyb3VnaCBNQiwgc2VjdG9ycyBhbmQgY3lsaW5kZXJzIgorI34gbXNnc3RyICIgICAgICAgICAgICAgKHJvdGVlcnQgZG9vciBNQiwgc2VjdG9yZW4gZW4gY2lsaW5kZXJzKSIKKworI34gbXNnaWQgIkNUUkwtTCAgICAgICBSZWRyYXdzIHRoZSBzY3JlZW4iCisjfiBtc2dzdHIgIiAgQ3RybC1MICAgaGV0IHNjaGVybSBvcG5pZXV3IHRla2VuZW4iCisKKyN+IG1zZ2lkICIgID8gICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCisjfiBtc2dzdHIgIiAgICA/ICAgICAgZGl0IGh1bHBzY2hlcm0gdG9uZW4iCisKKyN+IG1zZ2lkICJDaGFuZ2UgY3lsaW5kZXIgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIkNpbGluZGVyZ2VvbWV0cmllIHdpanppZ2VuIgorCisjfiBtc2dpZCAiQ2hhbmdlIGhlYWQgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIktvcHBlbmdlb21ldHJpZSB3aWp6aWdlbiIKKworI34gbXNnaWQgIkNoYW5nZSBzZWN0b3IgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIlNlY3Rvcmdlb21ldHJpZSB3aWp6aWdlbiIKKworI34gbXNnaWQgIkRvbmUgd2l0aCBjaGFuZ2luZyBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiS2xhYXIgbWV0IHdpanppZ2VuIHZhbiBnZW9tZXRyaWUiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIGN5bGluZGVyczogIgorI34gbXNnc3RyICJHZWVmIGhldCBhYW50YWwgY2lsaW5kZXJzOiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGN5bGluZGVycyB2YWx1ZSIKKyN+IG1zZ3N0ciAiT25qdWlzdGUgd2FhcmRlIHZvb3IgY2lsaW5kZXJzIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBoZWFkczogIgorI34gbXNnc3RyICJHZWVmIGhldCBhYW50YWwga29wcGVuOiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGhlYWRzIHZhbHVlIgorI34gbXNnc3RyICJPbmp1aXN0ZSB3YWFyZGUgdm9vciBrb3BwZW4iCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrOiAiCisjfiBtc2dzdHIgIkdlZWYgaGV0IGFhbnRhbCBzZWN0b3JlbiBwZXIgc3Bvb3I6ICIKKworI34gbXNnaWQgIklsbGVnYWwgc2VjdG9ycyB2YWx1ZSIKKyN+IG1zZ3N0ciAiT25qdWlzdGUgd2FhcmRlIHZvb3Igc2VjdG9yZW4iCisKKyN+IG1zZ2lkICJFbnRlciBmaWxlc3lzdGVtIHR5cGU6ICIKKyN+IG1zZ3N0ciAiR2VlZiBoZXQgc29vcnQgYmVzdGFuZHNzeXN0ZWVtOiAiCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIEZTIFR5cGUgdG8gZW1wdHkiCisjfiBtc2dzdHIgIkthbiBiZXN0YW5kc3N5c3RlZW1zb29ydCBuaWV0IG5hYXIgJ2xlZWcnIHZlcmFuZGVyZW4iCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIEZTIFR5cGUgdG8gZXh0ZW5kZWQiCisjfiBtc2dzdHIgIkthbiBiZXN0YW5kc3N5c3RlZW1zb29ydCBuaWV0IG5hYXIgJ3VpdGdlYnJlaWQnIHZlcmFuZGVyZW4iCisKKyN+IG1zZ2lkICJVbmsoJTAyWCkiCisjfiBtc2dzdHIgIj8/KCUwMlgpIgorCisjfiBtc2dpZCAiUHJpL0xvZyIKKyN+IG1zZ3N0ciAicHJpL2xvZyIKKworI34gbXNnaWQgIlVua25vd24gKCUwMlgpIgorI34gbXNnc3RyICJvbmJla2VuZCAoJTAyWCkiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlcyIKKyN+IG1zZ3N0ciAiU2NoaWpmOiAlcyIKKworI34gbXNnaWQgIlNpemU6ICVsbGQgYnl0ZXMsICVsbGQgTUIiCisjfiBtc2dzdHIgIkdyb290dGU6ICVsbGQgYnl0ZXMsICVsbGQgTUIiCisKKyN+IG1zZ2lkICJTaXplOiAlbGxkIGJ5dGVzLCAlbGxkLiVsbGQgR0IiCisjfiBtc2dzdHIgIkdyb290dGU6ICVsbGQgYnl0ZXMsICVsbGQuJWxsZCBHQiIKKworI34gbXNnaWQgIkhlYWRzOiAlZCAgIFNlY3RvcnMgcGVyIFRyYWNrOiAlZCAgIEN5bGluZGVyczogJWxsZCIKKyN+IG1zZ3N0ciAiS29wcGVuOiAlZCAgIFNlY3RvcmVuIHBlciBzcG9vcjogJWQgICBDaWxpbmRlcnM6ICVsbGQiCisKKyN+IG1zZ2lkICJQYXJ0IFR5cGUiCisjfiBtc2dzdHIgIlBhcnQudHlwZSIKKworI34gbXNnaWQgIkZTIFR5cGUiCisjfiBtc2dzdHIgIkJlc3RhbmRzc3lzdGVlbSIKKworI34gbXNnaWQgIltMYWJlbF0iCisjfiBtc2dzdHIgIltMYWJlbF0iCisKKyN+IG1zZ2lkICIgICAgU2VjdG9ycyIKKyN+IG1zZ3N0ciAiICAgU2VjdG9yZW4iCisKKyN+IG1zZ2lkICIgIEN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICBDaWxpbmRlcnMiCisKKyN+IG1zZ2lkICIgIFNpemUgKE1CKSIKKyN+IG1zZ3N0ciAiR3Jvb3R0ZSAoTUIpIgorCisjfiBtc2dpZCAiICBTaXplIChHQikiCisjfiBtc2dzdHIgIkdyb290dGUgKEdCKSIKKworI34gbXNnaWQgIk5vIG1vcmUgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiRXIgemlqbiBnZWVuIHZlcmRlcmUgcGFydGl0aWVzIgorCisjfiBtc2dpZCAiQ2hhbmdlIGRpc2sgZ2VvbWV0cnkgKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIkcgPSBzY2hpamZnZW9tZXRyaWUgd2lqemlnZW4gKGFsbGVlbiB2b29yIGV4cGVydHMpIgorCisjfiBtc2dpZCAiTWF4aW1pemUiCisjfiBtc2dzdHIgIk1heGltZXJlbiIKKworI34gbXNnaWQgIk1heGltaXplIGRpc2sgdXNhZ2Ugb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIChleHBlcnRzIG9ubHkpIgorI34gbXNnc3RyICJNID0gc2NoaWpmZ2VicnVpayBtYXhpbWFsaXNlcmVuIHZvb3IgaHVpZGlnZSBwYXJ0aXRpZSAoYWxsZWVuIHZvb3IgZXhwZXJ0cykiCisKKyN+IG1zZ2lkICJQcmludCIKKyN+IG1zZ3N0ciAiUDp0b25lbiIKKworI34gbXNnaWQgIkNoYW5nZSB0aGUgZmlsZXN5c3RlbSB0eXBlIChET1MsIExpbnV4LCBPUy8yIGFuZCBzbyBvbikiCisjfiBtc2dzdHIgIlQgPSBiZXN0YW5kc3N5c3RlZW1zb29ydCB3aWp6aWdlbiAoRE9TLCBMaW51eCwgT1MvMiwgLi4uKSIKKworI34gbXNnaWQgIlVuaXRzIgorI34gbXNnc3RyICJVOmVlbmhlaWQiCisKKyN+IG1zZ2lkICJDaGFuZ2UgdW5pdHMgb2YgdGhlIHBhcnRpdGlvbiBzaXplIGRpc3BsYXkgKE1CLCBzZWN0LCBjeWwpIgorI34gbXNnc3RyICJVID0gd2VlcmdhdmUtZWVuaGVpZCB3aWp6aWdlbiAoTUIsIHNlY3RvcmVuLCBjaWxpbmRlcnMpIgorCisjfiBtc2dpZCAiQ2Fubm90IG1ha2UgdGhpcyBwYXJ0aXRpb24gYm9vdGFibGUiCisjfiBtc2dzdHIgIkthbiBkZXplIHBhcnRpdGllIG5pZXQgb3BzdGFydGJhYXIgbWFrZW4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZGVsZXRlIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiS2FuIGVlbiBsZWdlIHBhcnRpdGllIG5pZXQgdmVyd2lqZGVyZW4iCisKKyN+IG1zZ2lkICJDYW5ub3QgbWF4aW1pemUgdGhpcyBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIkthbiBkZXplIHBhcnRpdGllIG5pZXQgbWF4aW1hbGlzZXJlbiIKKworI34gbXNnaWQgIlRoaXMgcGFydGl0aW9uIGlzIHVudXNhYmxlIgorI34gbXNnc3RyICJEZXplIHBhcnRpdGllIGlzIG9uYnJ1aWtiYWFyIgorCisjfiBtc2dpZCAiVGhpcyBwYXJ0aXRpb24gaXMgYWxyZWFkeSBpbiB1c2UiCisjfiBtc2dzdHIgIkRlemUgcGFydGl0aWUgaXMgYWwgaW4gZ2VicnVpayIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdGhlIHR5cGUgb2YgYW4gZW1wdHkgcGFydGl0aW9uIgorI34gbXNnc3RyICJLYW4gaGV0IHR5cGUgdmFuIGVlbiBsZWdlIHBhcnRpdGllIG5pZXQgd2lqemlnZW4iCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGNvbW1hbmQiCisjfiBtc2dzdHIgIk9uanVpc3RlIG9wZHJhY2h0IgorCisjfiBtc2dpZCAiQ29weXJpZ2h0IChDKSAxOTk0LTIwMDIgS2V2aW4gRS4gTWFydGluICYgYWViXG4iCisjfiBtc2dzdHIgIkNvcHlyaWdodCAoQykgMTk5NC0yMDAyIEtldmluIEUuIE1hcnRpbiAmIGFlYlxuIgorCisjfiBtc2dpZCAiIC1oLCAtLWhlYWRzIDxudW1iZXI+ICAgICAgc2V0IHRoZSBudW1iZXIgb2YgaGVhZHMgdG8gdXNlXG4iCisjfiBtc2dzdHIgIiAgLWgsIC0taGVhZHMgPGdldGFsPiAgICAgICBoZXQgYWFudGFsIHRlIGdlYnJ1aWtlbiBrb3BwZW5cbiIKKworI34gbXNnaWQgIiAtZywgLS1ndWVzcyAgICAgICAgICAgICAgIGd1ZXNzIGEgZ2VvbWV0cnkgZnJvbSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+IG1zZ3N0ciAiICAtZywgLS1ndWVzcyAgICAgICAgICAgICAgIGVlbiBnZW9tZXRyaWUgZ29ra2VuIG9wIGJhc2lzIHZhbiBwYXJ0aXRpZXRhYmVsXG4iCisKKyN+IG1zZ2lkICIgLVAsIC0tcHJpbnQgPHJ8c3x0PiAgICAgICBwcmludCBwYXJ0aXRpb24gdGFibGUgaW4gc3BlY2lmaWVkIGZvcm1hdFxuIgorI34gbXNnc3RyICIgIC1QLCAtLXByaW50IHtyfHN8dH0gICAgICAgcGFydGl0aWV0YWJlbCB0b25lbiBpbiBhYW5nZWdldmVuIG9wbWFha1xuIgorCisjfiBtc2dpZCAiIC1hLCAtLWFycm93ICAgICAgICAgICAgICAgdXNlIGFycm93IGZvciBoaWdobGlnaHRpbmcgdGhlIGN1cnJlbnQgcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiAgLWEsIC0tYXJyb3cgICAgICAgICAgICAgICBlZW4gcGlqbCBnZWJydWlrZW4gb20gaHVpZGlnZSBwYXJ0aXRpZSBhYW4gdGUgZ2V2ZW5cbiIKKworI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorI34gbXNnc3RyICJrYW4gYWFudGFsIGNpbGluZGVycyBuaWV0IG9udGxlZGVuIgorCisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBoZWFkcyIKKyN+IG1zZ3N0ciAia2FuIGFhbnRhbCBrb3BwZW4gbmlldCBvbnRsZWRlbiIKKworI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2Ygc2VjdG9ycyIKKyN+IG1zZ3N0ciAia2FuIGFhbnRhbCBzZWN0b3JlbiBuaWV0IG9udGxlZGVuIgorCisjfiBtc2dpZCAiOiAiCisjfiBtc2dzdHIgIjogIgorCisjfiBtc2dpZCAiIC1iIDxzaXplPiAgICAgICAgIHNlY3RvciBzaXplICg1MTIsIDEwMjQsIDIwNDggb3IgNDA5NilcbiIKKyN+IG1zZ3N0ciAiICAtYiA8Z3Jvb3R0ZT4gICAgICB0ZSBnZWJydWlrZW4gc2VjdG9yZ3Jvb3R0ZSAoNTEyLCAxMDI0LCAyMDQ4LCBvZiA0MDk2KVxuIgorCisjfiBtc2dpZCAiXG4iCisjfiBtc2dzdHIgIlxuIgorCisjfiBtc2dpZCAiIyIKKyN+IG1zZ3N0ciAiIyIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCisjfiBtc2dzdHIgIiIKKyN+ICJQYXJ0aXRpZSAlZCBpcyBhbCBnZWRlZmluaWVlcmQuICBWZXJ3aWpkZXIgZGV6ZSBlZXJzdCxcbiIKKyN+ICJlbiB2b2VnIGhlbSBkYW4gb3BuaWV1dyB0b2UuIgorCisjfiBtc2dpZCAiIgorI34gIlBhcnRpdGlvbiB0eXBlOlxuIgorI34gIiAgIHAgICBwcmltYXJ5ICglemQgcHJpbWFyeSwgJWQgZXh0ZW5kZWQsICV6ZCBmcmVlKVxuIgorI34gIiVzXG4iCisjfiAiU2VsZWN0IChkZWZhdWx0ICVjKSIKKyN+IG1zZ3N0ciAiIgorI34gIlBhcnRpdGlldHlwZTpcbiIKKyN+ICIgICBwICAgcHJpbWFpciAoJXpkIHByaW1haXIsICVkIHVpdGdlYnJlaWQsICV6ZCB2cmlqKVxuIgorI34gIiVzXG4iCisjfiAiS2llcyAoc3RhbmRhYXJkIGlzICVjKSIKKworI34gbXNnaWQgIiAgIGUgICBleHRlbmRlZCIKKyN+IG1zZ3N0ciAiICAgZSAgIHVpdGdlYnJlaWRlIHBhcnRpdGllIgorCisjfiBtc2dpZCAiTnIiCisjfiBtc2dzdHIgIk5yIgorCisjfiBtc2dpZCAiSGQiCisjfiBtc2dzdHIgIktwIgorCisjfiBtc2dpZCAiU2VjIgorI34gbXNnc3RyICJTZWMiCisKKyN+IG1zZ2lkICJDeWwiCisjfiBtc2dzdHIgIkNpbCIKKworI34gbXNnaWQgIlRoaXMgZG9lc24ndCBsb29rIGxpa2UgYSBwYXJ0aXRpb24gdGFibGUuIFByb2JhYmx5IHlvdSBzZWxlY3RlZCB0aGUgd3JvbmcgZGV2aWNlLiIKKyN+IG1zZ3N0ciAiIgorI34gIkRpdCBsaWprdCBuaWV0IG9wIGVlbiBwYXJ0aXRpZXRhYmVsLlxuIgorI34gIldhYXJzY2hpam5saWprIGtvb3MgdSBlZW4gdmVya2VlcmQgYXBwYXJhYXQuIgorCisjfiBtc2dpZCAiQmxvY2tzICIKKyN+IG1zZ3N0ciAiQmxva2tlbiAiCisKKyN+IG1zZ2lkICJTeXN0ZW0iCisjfiBtc2dzdHIgIlN5c3RlZW0iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJXpkIGlzIGFscmVhZHkgZGVmaW5lZC4gRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorI34gbXNnc3RyICIiCisjfiAiUGFydGl0aWUgJXpkIGlzIGFsIGdlZGVmaW5pZWVyZC4gIFZlcndpamRlciBkZXplIGVlcnN0LFxuIgorI34gImVuIHZvZWcgaGVtIGRhbiBvcG5pZXV3IHRvZS4iCisKKyN+IG1zZ2lkICJJbmZvIgorI34gbXNnc3RyICJJbmZvIgorCisjfiBtc2dpZCAiU2VjdG9yIgorI34gbXNnc3RyICJTZWN0b3IiCisKKyN+IG1zZ2lkICJZb3Ugd2lsbCBnZXQgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKKyN+IG1zZ3N0ciAiVSB6dWx0IGVlbiBwYXJ0aXRpZS1vdmVybGFwIGtyaWpnZW4gb3AgZGUgc2NoaWpmLiAgTG9zIGRpdCBlZXJzdCBvcCEiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiAgQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuIFRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuIgorI34gbXNnc3RyICIiCisjfiAiV2FhcnNjaHV3aW5nOiBpb2N0bChCTEtHRVRTSVpFKSBpcyBtaXNsdWt0IG9wICVzLlxuIgorI34gIkNpbGluZGVyZ2VvbWV0cmlld2FhcmRlICVsbHUgd29yZHQgbnUgZ2VicnVpa3QuXG4iCisjfiAiRGV6ZSB3YWFyZGUga2FuIHZvb3IgYXBwYXJhdGVuIGdyb3RlciBkYW4gMzMuOCBHQiBhZmdla2FwdCB6aWpuLiIKKworI34gbXNnaWQgIkZsYWciCisjfiBtc2dzdHIgIlZsYWciCisKKyN+IG1zZ2lkICIiCisjfiAiICUxJHMgW29wdGlvbnNdIExBQkVMPTxsYWJlbD5cbiIKKyN+ICIgJTEkcyBbb3B0aW9uc10gVVVJRD08dXVpZD5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgJTEkcyBbb3B0aWVzXSBMQUJFTD08bGFiZWw+XG4iCisjfiAiICAlMSRzIFtvcHRpZXNdIFVVSUQ9PHV1aWQ+XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1mLCAtLWZpbGUgPGZpbGU+IHVzZSBmaWxlIGFzIGEgY29va2llIHNlZWRcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLWYsIC0tZmlsZT1CRVNUQU5EICBkaXQgYmVzdGFuZCBhbHMgY29va2llLXNlZWQgZ2VicnVpa2VuXG4iCisjfiAiICAtdiwgLS12ZXJib3NlICAgICAgIHZlcm1lbGRlbiB3YXQgZXIgZ2VkYWFuIHdvcmR0XG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJCb3RoIC0tcGlkIGFuZCAtLW5vLXBpZCBzcGVjaWZpZWQuIElnbm9yaW5nIC0tbm8tcGlkLiIKKyN+IG1zZ3N0ciAiWm93ZWwgJy0tcGlkJyBhbHMgJy0tbm8tcGlkJyBpcyBnZWdldmVuOyAnLS1uby1waWQnIHdvcmR0IGdlbmVnZWVyZC4iCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiBlcnJvciByZWFkaW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAid2FhcnNjaHV3aW5nOiBmb3V0IGJpaiBsZXplbiB2YW4gJXM6ICVzIgorCisjfiBtc2dpZCAid2FybmluZzogY2FuJ3Qgb3BlbiAlczogJXMiCisjfiBtc2dzdHIgIndhYXJzY2h1d2luZzoga2FuICVzIG5pZXQgb3BlbmVuOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjb3VsZCBub3Qgb3BlbiAlcyAtIHVzaW5nICVzIGluc3RlYWRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGthbiAlcyBuaWV0IG9wZW5lbiAtLSAlcyB3b3JkdCBnZWJydWlrdFxuIgorCisjfiBtc2dpZCAiY2FuJ3QgY3JlYXRlIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAia2FuIHZlcmdyZW5kZWxpbmdzYmVzdGFuZCAlcyBuaWV0IGFhbm1ha2VuOiAlcyAgKGdlYnJ1aWsgb3B0aWUgJy1uJyBvbSB0ZSBmb3JjZXJlbikiCisKKyN+IG1zZ2lkICJjYW4ndCBsaW5rIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAia2FuIHZlcmdyZW5kZWxpbmdzYmVzdGFuZCAlcyBuaWV0IGtvcHBlbGVuOiAlcyAgKGdlYnJ1aWsgb3B0aWUgJy1uJyBvbSB0ZSBmb3JjZXJlbikiCisKKyN+IG1zZ2lkICJjYW4ndCBvcGVuIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAia2FuIHZlcmdyZW5kZWxpbmdzYmVzdGFuZCAlcyBuaWV0IG9wZW5lbjogJXMgIChnZWJydWlrIG9wdGllICctbicgb20gdGUgZm9yY2VyZW4pIgorCisjfiBtc2dpZCAiQ2FuJ3QgbG9jayBsb2NrIGZpbGUgJXM6ICVzXG4iCisjfiBtc2dzdHIgImthbiB2ZXJncmVuZGVsaW5nc2Jlc3RhbmQgJXMgbmlldCB2ZXJncmVuZGVsZW46ICVzXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXMiCisjfiBtc2dzdHIgImthbiB2ZXJncmVuZGVsaW5nc2Jlc3RhbmQgJXMgbmlldCB2ZXJncmVuZGVsZW46ICVzIgorCisjfiBtc2dpZCAiIgorI34gIkNhbm5vdCBjcmVhdGUgbGluayAlc1xuIgorI34gIlBlcmhhcHMgdGhlcmUgaXMgYSBzdGFsZSBsb2NrIGZpbGU/XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJLYW4ga29wcGVsaW5nICVzIG5pZXQgbWFrZW4uXG4iCisjfiAiTW9nZWxpamsgaXMgZXIgbm9nIGVlbiBvdWQgdmVyZ3JlbmRlbGluZ3NiZXN0YW5kP1xuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgKCVzKSAtIG10YWIgbm90IHVwZGF0ZWQiCisjfiBtc2dzdHIgImthbiAlcyBuaWV0IG9wZW5lbiAoJXMpIC0tIG10YWIgaXMgbmlldCBiaWpnZXdlcmt0IgorCisjfiBtc2dpZCAiZXJyb3Igd3JpdGluZyAlczogJXMiCisjfiBtc2dzdHIgImZvdXQgYmlqIHNjaHJpanZlbiB2YW4gJXM6ICVzIgorCisjfiBtc2dpZCAiJXM6IGNhbm5vdCBmZmx1c2ggY2hhbmdlczogJXMiCisjfiBtc2dzdHIgIiVzOiBrYW4gd2lqemlnaW5nZW4gbmlldCB3ZWdzY2hyaWp2ZW46ICVzIgorCisjfiBtc2dpZCAiZXJyb3IgY2hhbmdpbmcgbW9kZSBvZiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiZm91dCBiaWogd2lqemlnZW4gdmFuIG1vZHVzIHZhbiAlczogJXNcbiIKKworI34gbXNnaWQgImVycm9yIGNoYW5naW5nIG93bmVyIG9mICVzOiAlc1xuIgorI34gbXNnc3RyICJmb3V0IGJpaiB3aWp6aWdlbiB2YW4gZWlnZW5hYXIgdmFuICVzOiAlc1xuIgorCisjfiBtc2dpZCAiY2FuJ3QgcmVuYW1lICVzIHRvICVzOiAlc1xuIgorI34gbXNnc3RyICJrYW4gJXMgbmlldCBoZXJub2VtZW4gdG90ICVzOiAlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIm1vdW50OiB3YXJuaW5nOiAvZXRjL210YWIgaXMgbm90IHdyaXRhYmxlIChlLmcuIHJlYWQtb25seSBmaWxlc3lzdGVtKS5cbiIKKyN+ICIgICAgICAgSXQncyBwb3NzaWJsZSB0aGF0IGluZm9ybWF0aW9uIHJlcG9ydGVkIGJ5IG1vdW50KDgpIGlzIG5vdFxuIgorI34gIiAgICAgICB1cCB0byBkYXRlLiBGb3IgYWN0dWFsIGluZm9ybWF0aW9uIGFib3V0IHN5c3RlbSBtb3VudCBwb2ludHNcbiIKKyN+ICIgICAgICAgY2hlY2sgdGhlIC9wcm9jL21vdW50cyBmaWxlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAibW91bnQ6IFdhYXJzY2h1d2luZzogL2V0Yy9tdGFiIGlzIG5pZXQgc2NocmlqZmJhYXIgKG1vZ2VsaWprIHdlZ2VucyBlZW5cbiIKKyN+ICIgICAgICAgYWxsZWVuLWxlemVuIGJlc3RhbmRzc3lzdGVlbSkuICBIZXQga2FuIGR1cyB6aWpuIGRhdCBkZSBpbmZvcm1hdGllXG4iCisjfiAiICAgICAgIGdlcmFwcG9ydGVlcmQgZG9vciBtb3VudCg4KSBuaWV0IGNvcnJlY3QgaXMuICBaaWUgdm9vciBhY3R1ZWxlXG4iCisjfiAiICAgICAgIGluZm8gb3ZlciBhYW5rb3BwZWxpbmdzcHVudGVuIGhldCBiZXN0YW5kICcvcHJvYy9tb3VudHMnLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGltcHJvcGVybHkgcXVvdGVkIG9wdGlvbiBzdHJpbmcgJyVzJyIKKyN+IG1zZ3N0ciAibW91bnQ6IG9uanVpc3QgYWFuZ2VoYWFsZGUgdGVrZW5yZWVrcyAnJXMnIgorCisjfiBtc2dpZCAibW91bnQ6IHRyYW5zbGF0ZWQgJXMgJyVzJyB0byAnJXMnXG4iCisjfiBtc2dzdHIgIm1vdW50OiBhcmd1bWVudCB2YW4gJXMgaXMgdmVydGFhbGQgdmFuICclcycgbmFhciAnJXMnXG4iCisKKyN+IG1zZ2lkICJtb3VudDogU0VMaW51eCAqY29udGV4dD0gb3B0aW9ucyBhcmUgaWdub3JlIG9uIHJlbW91bnQuXG4iCisjfiBtc2dzdHIgIm1vdW50OiBTRUxpbnV4LW9wdGllcyAnKmNvbnRleHQ9JyB3b3JkZW4gZ2VuZWdlZXJkIGJpaiBoZXJhYW5rb3BwZWxlbi5cbiIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogdm9sZ2VucyAnbXRhYicgaXMgJXMgYWwgYWFuZ2Vrb3BwZWxkIG9wICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBtb3VudGVkIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogdm9sZ2VucyAnbXRhYicgaXMgJXMgYWFuZ2Vrb3BwZWxkIG9wICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IG9wZW4gJXMgZm9yIHdyaXRpbmc6ICVzIgorI34gbXNnc3RyICJtb3VudDoga2FuICVzIG5pZXQgb3BlbmVuIG9tIHRlIHNjaHJpanZlbjogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogZXJyb3Igd3JpdGluZyAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBmb3V0IGJpaiBzY2hyaWp2ZW4gdmFuICVzOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBlcnJvciBjaGFuZ2luZyBtb2RlIG9mICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGZvdXQgYmlqIHdpanppZ2VuIHZhbiBtb2R1cyB2YW4gJXM6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDoga2FuIGdyb2Vwcy1JRCBuaWV0IGluc3RlbGxlbjogJW0iCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCB1c2VyIGlkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IGthbiBnZWJydWlrZXJzLUlEIG5pZXQgaW5zdGVsbGVuOiAlbSIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgZm9yazogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBrYW4gZ2VlbiBuaWV1dyBwcm9jZXMgc3RhcnRlbjogJXMiCisKKyN+IG1zZ2lkICJUcnlpbmcgJXNcbiIKKyN+IG1zZ3N0ciAic29vcnQgJXMgd29yZHQgZ2Vwcm9iZWVyZFxuIgorCisjfiBtc2dpZCAibW91bnQ6IHlvdSBkaWRuJ3Qgc3BlY2lmeSBhIGZpbGVzeXN0ZW0gdHlwZSBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IFUgZ2FmIGdlZW4gYmVzdGFuZHNzeXN0ZWVtc29vcnQgYWFuIHZvb3IgJXM7XG4iCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSBhbGwgdHlwZXMgbWVudGlvbmVkIGluICVzIG9yICVzXG4iCisjfiBtc2dzdHIgIiAgICAgICBhbGxlIHNvb3J0ZW4gZ2Vub2VtZCBpbiAlcyBvZiAlcyB3b3JkZW4gZ2Vwcm9iZWVyZFxuIgorCisjfiBtc2dpZCAiICAgICAgIGFuZCBpdCBsb29rcyBsaWtlIHRoaXMgaXMgc3dhcHNwYWNlXG4iCisjfiBtc2dzdHIgIiAgICAgICBoZXQgbGlqa3QgZXJvcCBkYXQgZGl0IHdpc3NlbGdlaGV1Z2VuIGlzXG4iCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSB0eXBlICVzXG4iCisjfiBtc2dzdHIgIiAgICAgICBzb29ydCAlcyB3b3JkdCBnZXByb2JlZXJkXG4iCisKKyN+IG1zZ2lkICIlcyBsb29rcyBsaWtlIHN3YXBzcGFjZSAtIG5vdCBtb3VudGVkIgorI34gbXNnc3RyICIlcyB6aWV0IGVyIHVpdCBhbHMgd2lzc2VsZ2VoZXVnZW4gLS0gbmlldCBhYW5nZWtvcHBlbGQiCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6ICVzOiBtb3JlIGZpbGVzeXN0ZW1zIGRldGVjdGVkLiBUaGlzIHNob3VsZCBub3QgaGFwcGVuLFxuIgorI34gIiAgICAgICB1c2UgLXQgPHR5cGU+IHRvIGV4cGxpY2l0bHkgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIG9yXG4iCisjfiAiICAgICAgIHVzZSB3aXBlZnMoOCkgdG8gY2xlYW4gdXAgdGhlIGRldmljZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiAlczogZXIgemlqbiBtZWVyZGVyZSBiZXN0YW5kc3N5c3RlbWVuIGdlZGV0ZWN0ZWVyZC5cbiIKKyN+ICIgICAgRGl0IHpvdSBuaWV0IG1vZ2VuIGdlYmV1cmVuLiAgR2VicnVpayAnLXQgU09PUlQnIG9tIGV4cGxpY2lldCBkZVxuIgorI34gIiAgICBiZXN0YW5kc3N5c3RlZW1zb29ydCBhYW4gdGUgZ2V2ZW4sIG9mIGdlYnJ1aWsgd2lwZWZzKDgpIG9tIGhldFxuIgorI34gIiAgICBhcHBhcmFhdCBvcCB0ZSBzY2hvbmVuLlxuIgorCisjfiBtc2dpZCAibW91bnQgZmFpbGVkIgorI34gbXNnc3RyICJhYW5rb3BwZWxlbiBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiBhbGxlZW4gcm9vdCBrYW4gJXMgYWFua29wcGVsZW4gb3AgJXMiCisKKyN+IG1zZ2lkICJtb3VudDogbG9vcCBkZXZpY2Ugc3BlY2lmaWVkIHR3aWNlIgorI34gbXNnc3RyICJtb3VudDogbHVzLWFwcGFyYWF0IGlzIHR3ZWUga2VlciBhYW5nZWdldmVuIgorCisjfiBtc2dpZCAibW91bnQ6IHR5cGUgc3BlY2lmaWVkIHR3aWNlIgorI34gbXNnc3RyICJtb3VudDogc29vcnQgaXMgdHdlZSBrZWVyIGFhbmdlZ2V2ZW4iCisKKyN+IG1zZ2lkICJtb3VudDogc2tpcHBpbmcgdGhlIHNldHVwIG9mIGEgbG9vcCBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGluc3RlbGxlbiB2YW4gbHVzLWFwcGFyYWF0IHdvcmR0IG92ZXJnZXNsYWdlblxuIgorCisjfiBtc2dpZCAibW91bnQ6IGVuYWJsaW5nIGF1dG9jbGVhciBsb29wZGV2IGZsYWdcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGx1cy1hcHBhcmFhdHZsYWcgJ2F1dG9jbGVhcicgd29yZHQgaW5nZXNjaGFrZWxkXG4iCisKKyN+IG1zZ2lkICJtb3VudDogaW52YWxpZCBvZmZzZXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW50OiBvbmdlbGRpZ2UgcG9zaXRpZSAnJXMnIG9wZ2VnZXZlbiIKKworI34gbXNnaWQgIm1vdW50OiBpbnZhbGlkIHNpemVsaW1pdCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibW91bnQ6IG9uZ2VsZGlnZSBncm9vdHRlZ3JlbnMgJyVzJyBvcGdlZ2V2ZW4iCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIGFzIGxvb3AiCisjfiBtc2dzdHIgIm1vdW50OiB2b2xnZW5zICdtdGFiJyBpcyAlcyBhbCBhbHMgbHVzLWFwcGFyYWF0IGFhbmdla29wcGVsZCBvcCAlcyIKKworI34gbXNnaWQgImVuY3J5cHRpb24gbm90IHN1cHBvcnRlZCwgdXNlIGNyeXB0c2V0dXAoOCkgaW5zdGVhZCIKKyN+IG1zZ3N0ciAidmVyc2xldXRlbGluZyB3b3JkdCBuaWV0IG9uZGVyc3RldW5kOyBnZWJydWlrIGNyeXB0c2V0dXAoOCkiCisKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGRldiBjb250ZXh0IgorI34gbXNnc3RyICJtb3VudDogaW5pdGlhbGlzZXJlbiB2YW4gbHVzLWFwcGFyYWF0LWNvbnRleHQgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gdXNlICVzIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IGdlYnJ1aWtlbiB2YW4gYXBwYXJhYXQgJXMgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gZm91bmQgZnJlZSBsb29wIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IGthbiBnZWVuIHZyaWogbHVzLWFwcGFyYWF0IHZpbmRlbiIKKworI34gbXNnaWQgIm1vdW50OiBnb2luZyB0byB1c2UgdGhlIGxvb3AgZGV2aWNlICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBsdXMtYXBwYXJhYXQgJXMgemFsIHdvcmRlbiBnZWJydWlrdFxuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgdG8gc2V0IGxvb3BkZXYgYXR0cmlidXRlcyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzOiBpbnN0ZWxsZW4gdmFuIGVpZ2Vuc2NoYXBwZW4gdmFuIGx1cy1hcHBhcmFhdCBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgc2V0dGluZyB1cCBsb29wIGRldmljZTogJW0iCisjfiBtc2dzdHIgIm1vdW50OiAlczogaW5zdGVsbGVuIHZhbiBsdXMtYXBwYXJhYXQgaXMgbWlzbHVrdDogJW0iCisKKyN+IG1zZ2lkICJtb3VudDogc3RvbGVuIGxvb3A9JXMgLi4udHJ5aW5nIGFnYWluXG4iCisjfiBtc2dzdHIgIm1vdW50OiBsdXMtYXBwYXJhYXQgJXMgaXMgZG9vciBhbmRlciBwcm9jZXMgYWZnZXBha3Q7IC4uLiBuaWV1d2UgcG9naW5nXG4iCisKKyN+IG1zZ2lkICJtb3VudDogc3RvbGVuIGxvb3A9JXMiCisjfiBtc2dzdHIgIm1vdW50OiBsdXMtYXBwYXJhYXQgJXMgaXMgZG9vciBhbmRlciBwcm9jZXMgYWZnZXBha3QiCisKKyN+IG1zZ2lkICJtb3VudDogc2V0dXAgbG9vcCBkZXZpY2Ugc3VjY2Vzc2Z1bGx5XG4iCisjfiBtc2dzdHIgIm1vdW50OiBsdXMtYXBwYXJhYXQgaXMgbWV0IHN1Y2NlcyBpbmdlc3RlbGRcbiIKKworI34gbXNnaWQgIm1vdW50OiBubyAlcyBmb3VuZCAtIGNyZWF0aW5nIGl0Li5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGdlZW4gJXMgZ2V2b25kZW4gLS0gd29yZHQgbnUgYWFuZ2VtYWFrdC4uLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBvcGVuICVzIGZvciBzZXR0aW5nIHNwZWVkIgorI34gbXNnc3RyICJtb3VudDoga2FuICVzIG5pZXQgb3BlbmVuIG9tIHNuZWxoZWlkIGluIHRlIHN0ZWxsZW4iCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCBzcGVlZDogJW0iCisjfiBtc2dzdHIgIm1vdW50OiBrYW4gc25lbGhlaWQgbmlldCBpbnN0ZWxsZW46ICVtIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHZvbGdlbnMgJ210YWInIGlzICVzIGFsIGFhbmdla29wcGVsZCBvcCAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IHdhcm5pbmc6ICVzIHNlZW1zIHRvIGJlIG1vdW50ZWQgcmVhZC13cml0ZS5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IFdhYXJzY2h1d2luZzogJXMgc2NoaWpudCBhYW5nZWtvcHBlbGQgYWxzIGxlemVuLWVuLXNjaHJpanZlblxuIgorCisjfiBtc2dpZCAibW91bnQ6IHdhcm5pbmc6ICVzIHNlZW1zIHRvIGJlIG1vdW50ZWQgcmVhZC1vbmx5LlxuIgorI34gbXNnc3RyICJtb3VudDogV2FhcnNjaHV3aW5nOiAlcyBzY2hpam50IGFhbmdla29wcGVsZCBhbHMgYWxsZWVuLWxlemVuXG4iCisKKyN+IG1zZ2lkICJtb3VudDogSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW50OiBrYW4gYmVzdGFuZHNzeXN0ZWVtc29vcnQgbmlldCBiZXBhbGVuLCBlbiBlciBpcyBnZWVuIGFhbmdlZ2V2ZW4iCisKKyN+IG1zZ2lkICJtb3VudDogeW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorI34gbXNnc3RyICJtb3VudDogdSBtb2V0IGVlbiBiZXN0YW5kc3N5c3RlZW1zb29ydCBhYW5nZXZlbiIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBmYWlsZWQiCisjfiBtc2dzdHIgIm1vdW50OiBhYW5rb3BwZWxlbiBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGlzIG5vdCBhIGRpcmVjdG9yeSIKKyN+IG1zZ3N0ciAibW91bnQ6IGFhbmtvcHBlbGluZ3NwdW50ICVzIGlzIGdlZW4gbWFwIgorCisjfiBtc2dpZCAibW91bnQ6IHBlcm1pc3Npb24gZGVuaWVkIgorI34gbXNnc3RyICJtb3VudDogdG9lZ2FuZyBnZXdlaWdlcmQiCisKKyN+IG1zZ2lkICJtb3VudDogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorI34gbXNnc3RyICJtb3VudDogdSBtb2V0IHJvb3QgemlqbiBvbSBhYW4gdGUga3VubmVuIGtvcHBlbGVuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIGJ1c3kiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBpcyBiZXppZyIKKworI34gbXNnaWQgIm1vdW50OiBwcm9jIGFscmVhZHkgbW91bnRlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IHByb2MgaXMgYWwgYWFuZ2Vrb3BwZWxkIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGFscmVhZHkgbW91bnRlZCBvciAlcyBidXN5IgorI34gbXNnc3RyICJtb3VudDogJXMgaXMgYWwgYWFuZ2Vrb3BwZWxkIG9mICVzIGlzIGJlemlnIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGRvZXMgbm90IGV4aXN0IgorI34gbXNnc3RyICJtb3VudDogYWFua29wcGVsaW5nc3B1bnQgJXMgYmVzdGFhdCBuaWV0IgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIgorI34gbXNnc3RyICJtb3VudDogYWFua29wcGVsaW5nc3B1bnQgJXMgaXMgZWVuIHN5bWJvbGlzY2hlIGtvcHBlbGluZyBkaWUgbmVyZ2VucyBuYWFyIHdpanN0IgorCisjfiBtc2dpZCAibW91bnQ6IHNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorI34gbXNnc3RyICJtb3VudDogYXBwYXJhYXQgJXMgYmVzdGFhdCBuaWV0IgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiBzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdFxuIgorI34gIiAgICAgICAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpXG4iCisjfiBtc2dzdHIgIm1vdW50OiBhcHBhcmFhdCAlcyBiZXN0YWF0IG5pZXQgIChoZXQgcGFkIGJldmF0IGlldHMgZGF0IGdlZW4gbWFwIGlzKVxuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCisjfiBtc2dzdHIgIm1vdW50OiAlcyBpcyBub2cgbmlldCBhYW5nZWtvcHBlbGQsIG9mIGVlbiBvbmdlbGRpZ2Ugb3B0aWUiCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHdyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLFxuIgorI34gIiAgICAgICBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiBvbmp1aXN0ZSBiZXN0YW5kc3N5c3RlZW1zb29ydCwgb25nZWxkaWdlIG9wdGllLCBvbnRicmVrZW5kZSBjb2RlcGFnaW5hLFxuIgorI34gIiAgICAgICBvbnRicmVrZW5kIGh1bHBwcm9ncmFtbWEsIHNsZWNodCBzdXBlcmJsb2sgb3AgJXMsIG9mIGVlbiBhbmRlcmUgZm91dCIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgKGZvciBzZXZlcmFsIGZpbGVzeXN0ZW1zIChlLmcuIG5mcywgY2lmcykgeW91IG1pZ2h0XG4iCisjfiAiICAgICAgIG5lZWQgYSAvc2Jpbi9tb3VudC48dHlwZT4gaGVscGVyIHByb2dyYW0pIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgICh2b29yIHNvbW1pZ2UgYmVzdGFuZHNzeXN0ZW1lbiAoYmlqdm9vcmJlZWxkIG5mcyBvZiBjaWZzKSBrYW5cbiIKKyN+ICIgICAgICAgZWVuIC9zYmluL21vdW50Ljx0eXBlPiBodWxwcHJvZ3JhbW1hIG5vZGlnIHppam4pIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoY291bGQgdGhpcyBiZSB0aGUgSURFIGRldmljZSB3aGVyZSB5b3UgaW4gZmFjdCB1c2VcbiIKKyN+ICIgICAgICAgaWRlLXNjc2kgc28gdGhhdCBzcjAgb3Igc2RhIG9yIHNvIGlzIG5lZWRlZD8pIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgIChpcyBkaXQgbWlzc2NoaWVuIGVlbiBJREUtYXBwYXJhYXQgd2FhciB1IGluIGZlaXRlIGlkZS1zY3NpIGdlYnJ1aWt0LFxuIgorI34gIiAgICAgICB6b2RhdCBzcjAgb2Ygc2RhIG9mIGlldHMgZGVyZ2VsaWprcyBub2RpZyBpcz8pIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoYXJlbid0IHlvdSB0cnlpbmcgdG8gbW91bnQgYW4gZXh0ZW5kZWQgcGFydGl0aW9uLFxuIgorI34gIiAgICAgICBpbnN0ZWFkIG9mIHNvbWUgbG9naWNhbCBwYXJ0aXRpb24gaW5zaWRlPykiCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAgKHByb2JlZXJ0IHUgbWlzc2NoaWVuIGVlbiB1aXRnZWJyZWlkZSBwYXJ0aXRpZSBhYW4gdGUga29wcGVsZW4sXG4iCisjfiAiICAgICAgIGluIHBsYWF0cyB2YW4gZWVuIGRhYXJpbiBvcGdlbm9tZW4gbG9naXNjaGUgcGFydGl0aWU/KSIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBpcyBmb3VuZCBpbiBzeXNsb2cgLSB0cnlcbiIKKyN+ICIgICAgICAgZG1lc2cgfCB0YWlsICBvciBzb1xuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgIFNvbXMgc3RhYXQgZXIgbnV0dGlnZSBpbmZvcm1hdGllIGluIGhldCBzeXN0ZWVtbG9nIC0tXG4iCisjfiAiICAgICAgIHByb2JlZXIgem9pZXRzIGFsczogIGRtZXNnIHwgdGFpbFxuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiBjYW4ndCByZWFkIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgIm1vdW50OiAlczoga2FuIHN1cGVyYmxvayBuaWV0IGxlemVuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiB1bmtub3duIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzOiBvbmJla2VuZCBhcHBhcmFhdCIKKworI34gbXNnaWQgIm1vdW50OiB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSAnJXMnIgorI34gbXNnc3RyICJtb3VudDogb25iZWtlbmRlIGJlc3RhbmRzc3lzdGVlbXNvb3J0ICclcyciCisKKyN+IG1zZ2lkICJtb3VudDogcHJvYmFibHkgeW91IG1lYW50ICVzIgorI34gbXNnc3RyICJtb3VudDogd2FhcnNjaGlqbmxpamsgYmVkb2VsZGUgdSAlcyIKKworI34gbXNnaWQgIm1vdW50OiBtYXliZSB5b3UgbWVhbnQgJ2lzbzk2NjAnPyIKKyN+IG1zZ3N0ciAibW91bnQ6IG1vZ2VsaWprIGJlZG9lbGRlIHUgJ2lzbzk2NjAnPyIKKworI34gbXNnaWQgIm1vdW50OiBtYXliZSB5b3UgbWVhbnQgJ3ZmYXQnPyIKKyN+IG1zZ3N0ciAibW91bnQ6IG1vZ2VsaWprIGJlZG9lbGRlIHUgJ3ZmYXQnPyIKKworI34gbXNnaWQgIm1vdW50OiAlcyBoYXMgd3JvbmcgZGV2aWNlIG51bWJlciBvciBmcyB0eXBlICVzIG5vdCBzdXBwb3J0ZWQiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBoZWVmdCBvbmp1aXN0IGFwcGFyYWF0bnVtbWVyLCBvZiBiZXN0YW5kc3N5c3RlZW1zb29ydCAlcyB3b3JkdCBuaWV0IG9uZGVyc3RldW5kIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQgZmFpbHM/IgorI34gbXNnc3RyICJtb3VudDogJXMgaXMgZ2VlbiBibG9rLWFwcGFyYWF0LCBlbiBzdGF0KCkgaXMgbWlzbHVrdC4uLiBoZWVsIHZyZWVtZCIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogdGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2VcbiIKKyN+ICIgICAgICAgKG1heWJlIGBtb2Rwcm9iZSBkcml2ZXInPykiCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogZGUga2VybmVsIGhlcmtlbnQgJXMgbmlldCBhbHMgZWVuIGJsb2stYXBwYXJhYXRcbiIKKyN+ICIgICAgICAgKG1pc3NjaGllbiBpcyAnbW9kcHJvYmUgc3R1dXJwcm9ncmFtbWEnIG5vZGlnPykiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIChtYXliZSB0cnkgYC1vIGxvb3AnPykiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBpcyBnZWVuIGJsb2stYXBwYXJhYXQgIChtaXNzY2hpZW4gJy1vIGxvb3AnIHByb2JlcmVuPykiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudDogJXMgaXMgZ2VlbiBibG9rLWFwcGFyYWF0IgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGlzIGdlZW4gZ2VsZGlnIGJsb2stYXBwYXJhYXQiCisKKyN+IG1zZ2lkICJibG9jayBkZXZpY2UgIgorI34gbXNnc3RyICJibG9rLWFwcGFyYWF0ICIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgbW91bnQgJXMlcyByZWFkLW9ubHkiCisjfiBtc2dzdHIgIm1vdW50OiBrYW4gJXMlcyBuaWV0IGFhbmtvcHBlbGVuIHZvb3IgYWxsZWVuLWxlemVuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCBgLXcnIGZsYWcgZ2l2ZW4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyVzIGlzIHNjaHJpamZiZXZlaWxpZ2QsIG1hYXIgZXhwbGljaWV0ZSBvcHRpZSAnLXcnIGlzIGdlZ2V2ZW4iCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHJlbW91bnQgJXMlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCisjfiBtc2dzdHIgIm1vdW50OiBrYW4gJXMlcyBuaWV0IGhlcmFhbmtvcHBlbGVuIGFscyBsZXplbi1lbi1zY2hyaWp2ZW4sIHdhbnQgaXMgc2NocmlqZmJldmVpbGlnZCIKKworI34gbXNnaWQgIm1vdW50OiAlcyVzIGlzIHdyaXRlLXByb3RlY3RlZCwgbW91bnRpbmcgcmVhZC1vbmx5IgorI34gbXNnc3RyICJtb3VudDogJXMlcyBpcyBzY2hyaWpmYmV2ZWlsaWdkIGVuIHdvcmR0IGFscyBhbGxlZW4tbGV6ZW4gYWFuZ2Vrb3BwZWxkIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGdlZW4gbWVkaXVtIGdldm9uZGVuIG9wICVzIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHR5cGUgd2FzIGdpdmVuIC0gSSdsbCBhc3N1bWUgbmZzIGJlY2F1c2Ugb2YgdGhlIGNvbG9uXG4iCisjfiBtc2dzdHIgIm1vdW50OiBnZWVuIHNvb3J0IGdlZ2V2ZW4gLS0gTkZTIGFhbmdlbm9tZW4sIHZhbndlZ2UgZGUgZHViYmVsZSBwdW50XG4iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gdHlwZSB3YXMgZ2l2ZW4gLSBJJ2xsIGFzc3VtZSBjaWZzIGJlY2F1c2Ugb2YgdGhlIC8vIHByZWZpeFxuIgorI34gbXNnc3RyICJtb3VudDogZ2VlbiBzb29ydCBnZWdldmVuIC0tIENJRlMgYWFuZ2Vub21lbiwgdmFud2VnZSBoZXQgLy8tdm9vcnZvZWdzZWxcbiIKKworI34gbXNnaWQgIm1vdW50OiBpZ25vcmUgJXMgKHVucGFyc2FibGUgb2Zmc2V0PSBvcHRpb24pXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyB3b3JkdCBnZW5lZ2VlcmQgKG9uYmVncmVwZW4gb3B0aWUgJ29mZnNldD0nKVxuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorI34gbXNnc3RyICJtb3VudDogJXMgaXMgYWwgYWFuZ2Vrb3BwZWxkIG9wICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IG1vdW50IC1WICAgICAgICAgICAgICAgICA6IHByaW50IHZlcnNpb25cbiIKKyN+ICIgICAgICAgbW91bnQgLWggICAgICAgICAgICAgICAgIDogcHJpbnQgdGhpcyBoZWxwXG4iCisjfiAiICAgICAgIG1vdW50ICAgICAgICAgICAgICAgICAgICA6IGxpc3QgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorI34gIiAgICAgICBtb3VudCAtbCAgICAgICAgICAgICAgICAgOiBpZGVtLCBpbmNsdWRpbmcgdm9sdW1lIGxhYmVsc1xuIgorI34gIlNvIGZhciB0aGUgaW5mb3JtYXRpb25hbCBwYXJ0LiBOZXh0IHRoZSBtb3VudGluZy5cbiIKKyN+ICJUaGUgY29tbWFuZCBpcyBgbW91bnQgWy10IGZzdHlwZV0gc29tZXRoaW5nIHNvbWV3aGVyZScuXG4iCisjfiAiRGV0YWlscyBmb3VuZCBpbiAvZXRjL2ZzdGFiIG1heSBiZSBvbWl0dGVkLlxuIgorI34gIiAgICAgICBtb3VudCAtYSBbLXR8LU9dIC4uLiAgICAgOiBtb3VudCBhbGwgc3R1ZmYgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiICAgICAgIG1vdW50IGRldmljZSAgICAgICAgICAgICA6IG1vdW50IGRldmljZSBhdCB0aGUga25vd24gcGxhY2VcbiIKKyN+ICIgICAgICAgbW91bnQgZGlyZWN0b3J5ICAgICAgICAgIDogbW91bnQga25vd24gZGV2aWNlIGhlcmVcbiIKKyN+ICIgICAgICAgbW91bnQgLXQgdHlwZSBkZXYgZGlyICAgIDogb3JkaW5hcnkgbW91bnQgY29tbWFuZFxuIgorI34gIk5vdGUgdGhhdCBvbmUgZG9lcyBub3QgcmVhbGx5IG1vdW50IGEgZGV2aWNlLCBvbmUgbW91bnRzXG4iCisjfiAiYSBmaWxlc3lzdGVtIChvZiB0aGUgZ2l2ZW4gdHlwZSkgZm91bmQgb24gdGhlIGRldmljZS5cbiIKKyN+ICJPbmUgY2FuIGFsc28gbW91bnQgYW4gYWxyZWFkeSB2aXNpYmxlIGRpcmVjdG9yeSB0cmVlIGVsc2V3aGVyZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1iaW5kIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJvciBtb3ZlIGEgc3VidHJlZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tb3ZlIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBtb3VudCBjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2hhcmVkIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2xhdmUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1wcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtdW5iaW5kYWJsZSBkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBhbGwgdGhlIG1vdW50cyBpbiBhIG1vdW50IHN1YnRyZWVcbiIKKyN+ICJjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzbGF2ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJwcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnVuYmluZGFibGUgZGlyXG4iCisjfiAiQSBkZXZpY2UgY2FuIGJlIGdpdmVuIGJ5IG5hbWUsIHNheSAvZGV2L2hkYTEgb3IgL2Rldi9jZHJvbSxcbiIKKyN+ICJvciBieSBsYWJlbCwgdXNpbmcgIC1MIGxhYmVsICBvciBieSB1dWlkLCB1c2luZyAgLVUgdXVpZCAuXG4iCisjfiAiT3RoZXIgb3B0aW9uczogWy1uZkZyc3Z3XSBbLW8gb3B0aW9uc10gWy1wIHBhc3N3ZGZkXS5cbiIKKyN+ICJGb3IgbWFueSBtb3JlIGRldGFpbHMsIHNheSAgbWFuIDggbW91bnQgLlxuIgorI34gbXNnc3RyICIiCisjfiAiR2VicnVpazogIG1vdW50ICAgICAgICAgICAgICAgICA6IGFhbmdla29wcGVsZGUgYmVzdGFuZHNzeXN0ZW1lbiB0b25lblxuIgorI34gIiAgICAgICAgICBtb3VudCAtbCAgICAgICAgICAgICAgOiBpZGVtLCBpbmNsdXNpZWYgdm9sdW1lbmxhYmVsc1xuIgorI34gIlxuIgorI34gIlRvdCB6b3ZlciBoZXQgZGVlbCBkYXQgaW5mb3JtYXRpZSB3ZWVyZ2VlZnQuICBOdSBoZXQgYWFua29wcGVsZW4uXG4iCisjfiAiRGUgYWxnZW1lbmUgdm9ybSBpczogICdtb3VudCBbLXQgYmVzdGFuZHNzeXN0ZWVtc29vcnRdIGlldHMgZXJnZW5zJy5cbiIKKyN+ICJEZXRhaWxzIGRpZSBpbiAvZXRjL2ZzdGFiIHN0YWFuIGt1bm5lbiB3b3JkZW4gd2VnZ2VsYXRlbi5cbiIKKyN+ICIgICAgICAgICAgbW91bnQgLWEgWy10fC1PXSAgICAgIDogYWxsZXMgaW4gL2V0Yy9mc3RhYiBhYW5rb3BwZWxlblxuIgorI34gIiAgICAgICAgICBtb3VudCBhcHBhcmFhdCAgICAgICAgOiBhcHBhcmFhdCBhYW5rb3BwZWxlbiBvcCBkZSBiZWtlbmRlIHBsYWF0c1xuIgorI34gIiAgICAgICAgICBtb3VudCBtYXAgICAgICAgICAgICAgOiBiZWtlbmQgYXBwYXJhYXQgaGllciBhYW5rb3BwZWxlblxuIgorI34gIiAgICAgICAgICBtb3VudCAtdCBzb29ydCBhcHBhcmFhdCBtYXAgOiB2b2xsZWRpZ2UgbW91bnQtb3BkcmFjaHRcbiIKKyN+ICJNZXJrIG9wIGRhdCBtZW4gbmlldCBlY2h0IGVlbiBhcHBhcmFhdCBhYW5rb3BwZWx0LCBtYWFyIGhldCBiZXN0YW5kc3N5c3RlZW1cbiIKKyN+ICIodmFuIGRlIGdlZ2V2ZW4gc29vcnQpIGRhdCB6aWNoIG9wIGRhdCBhcHBhcmFhdCBiZXZpbmR0LlxuIgorI34gIlxuIgorI34gIk1lbiBrYW4gb29rIGVlbiByZWVkcyB6aWNodGJhcmUgbWFwcGVuYm9vbSBlcmdlbnMgYW5kZXJzIGFhbmtvcHBlbGVuOlxuIgorI34gIiAgICAgICAgICBtb3VudCAtLWJpbmQgb3VkZW1hcCBuaWV1d2VtYXBcbiIKKyN+ICJvZiBlZW4gc3ViYm9vbSB2ZXJwbGFhdHNlbjpcbiIKKyN+ICIgICAgICAgICAgbW91bnQgLS1tb3ZlIG91ZGVtYXAgbmlldXdlbWFwXG4iCisjfiAiTWVuIGthbiB2YW4gZWVuIGFhbmtvcHBlbGluZyBkZSBzb29ydCB2ZXJhbmRlcmVuLCBhbHMgJ21hcCcgZXJpbiB2b29ya29tdDpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNoYXJlZCBtYXBcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNsYXZlIG1hcFxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcHJpdmF0ZSBtYXBcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXVuYmluZGFibGUgbWFwXG4iCisjfiAiTWVuIGthbiB2YW4gYWxsZSBhYW5rb3BwZWxpbmdlbiBpbiBlZW4gc3ViYm9vbSBkZSBzb29ydCB2ZXJhbmRlcmVuLFxuIgorI34gImFscyAnbWFwJyBlcmluIHZvb3Jrb210OlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNoYXJlZCBtYXBcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzbGF2ZSBtYXBcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJwcml2YXRlIG1hcFxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnVuYmluZGFibGUgbWFwXG4iCisjfiAiXG4iCisjfiAiRWVuIGFwcGFyYWF0IGthbiB3b3JkZW4gb3BnZWdldmVuIHZpYSBkZSBuYWFtLCB6ZWcgL2Rldi9oZGExIG9mIC9kZXYvY2Ryb20sXG4iCisjfiAib2YgdmlhIGhldCBsYWJlbCwgbWV0IC1MIGxhYmVsLCBvZiB2aWEgZGUgVVVJRCwgbWV0IC1VIFVVSUQuXG4iCisjfiAiQW5kZXJlIG9wdGllcyB6aWpuOiBbLW5mRnJzdnddIFstbyBvcHRpZXNdIFstcCB3YWNodHdvb3JkYmVzdGFuZHNkZXNjcmlwdG9yXS5cbiIKKyN+ICJWb29yIG1lZXIgaW5mb3JtYXRpZSwgemllIG1hbiBtb3VudCg4KS5cbiIKKworI34gbXNnaWQgIi0tcGFzcy1mZCBpcyBubyBsb25nZXIgc3VwcG9ydGVkIgorI34gbXNnc3RyICJvcHRpZSAnLS1wYXNzLWZkJyB3b3JkdCBuaWV0IGxhbmdlciBvbmRlcnN0ZXVuZCIKKworI34gbXNnaWQgIm1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorI34gbXNnc3RyICJtb3VudDogYWxsZWVuIHJvb3Qga2FuIGRhdCBkb2VuIChmZWl0ZWxpamtlIFVJRCBpcyAldSkiCisKKyN+IG1zZ2lkICJtb3VudDogb25seSByb290IGNhbiBkbyB0aGF0IgorI34gbXNnc3RyICJtb3VudDogYWxsZWVuIHJvb3Qga2FuIGRhdCBkb2VuIgorCisjfiBtc2dpZCAibm90aGluZyB3YXMgbW91bnRlZCIKKyN+IG1zZ3N0ciAiZXIgd2VyZCBuaWV0cyBhYW5nZWtvcHBlbGQiCisKKyN+IG1zZ2lkICJtb3VudDogbm8gc3VjaCBwYXJ0aXRpb24gZm91bmQiCisjfiBtc2dzdHIgIm1vdW50OiBkaWUgcGFydGl0aWUgaXMgbmlldCBnZXZvbmRlbiIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBmaW5kICVzIGluICVzIG9yICVzIgorI34gbXNnc3RyICJtb3VudDoga2FuICVzIG5pZXQgdmluZGVuIGluICVzIG5vY2ggaW4gJXMiCisKKyN+IG1zZ2lkICJbbW50ZW50XTogd2FybmluZzogbm8gZmluYWwgbmV3bGluZSBhdCB0aGUgZW5kIG9mICVzXG4iCisjfiBtc2dzdHIgIlttbnRlbnRdOiB3YWFyc2NodXdpbmc6IGdlZW4gYWZzbHVpdGVuZCByZWdlbGVpbmRldGVrZW4gYWFuIGhldCBlaW5kIHZhbiAlc1xuIgorCisjfiBtc2dpZCAiW21udGVudF06IGxpbmUgJWQgaW4gJXMgaXMgYmFkJXNcbiIKKyN+IG1zZ3N0ciAiW21udGVudF06IHJlZ2VsICVkIGluICVzIGlzIG9uZ2VsZGlnJXNcbiIKKworI34gbXNnaWQgIjsgcmVzdCBvZiBmaWxlIGlnbm9yZWQiCisjfiBtc2dzdHIgIjsgcmVzdCB2YW4gYmVzdGFuZCBpcyBnZW5lZ2VlcmQiCisKKyN+IG1zZ2lkICJub3QgZW5vdWdoIG1lbW9yeSIKKyN+IG1zZ3N0ciAib252b2xkb2VuZGUgZ2VoZXVnZW4gYmVzY2hpa2JhYXIiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNvbXBpbGVkIHdpdGhvdXQgc3VwcG9ydCBmb3IgLWZcbiIKKyN+IG1zZ3N0ciAiJ3Vtb3VudCcgaXMgZ2Vjb21waWxlZXJkIHpvbmRlciBvbmRlcnN0ZXVuaW5nIHZvb3IgJy1mJ1xuIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3Qgc2V0IGdyb3VwIGlkOiAlbSIKKyN+IG1zZ3N0ciAidW1vdW50OiBrYW4gZ3JvZXBzLUlEIG5pZXQgaW5zdGVsbGVuOiAlbSIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IHNldCB1c2VyIGlkOiAlbSIKKyN+IG1zZ3N0ciAidW1vdW50OiBrYW4gZ2VicnVpa2Vycy1JRCBuaWV0IGluc3RlbGxlbjogJW0iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBmb3JrOiAlcyIKKyN+IG1zZ3N0ciAidW1vdW50OiBrYW4gZ2VlbiBuaWV1dyBwcm9jZXMgc3RhcnRlbjogJXMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBpbnZhbGlkIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogb25nZWxkaWcgYmxvay1hcHBhcmFhdCIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG5vdCBtb3VudGVkIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBuaWV0IGFhbmdla29wcGVsZCIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGNhbid0IHdyaXRlIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgInVtb3VudDogJXM6IGthbiBuaWV0IG5hYXIgc3VwZXJibG9rIHNjaHJpanZlbiIKKworI34gbXNnaWQgIiIKKyN+ICJ1bW91bnQ6ICVzOiBkZXZpY2UgaXMgYnVzeS5cbiIKKyN+ICIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0IHVzZVxuIgorI34gIiAgICAgICAgIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKSkiCisjfiBtc2dzdHIgIiIKKyN+ICJ1bW91bnQ6ICVzOiBhcHBhcmFhdCBpcyBiZXppZ1xuIgorI34gIiAgICAgICAgKFdlbGtlIHByb2Nlc3NlbiBoZXQgYXBwYXJhYXQgZ2VicnVpa2VuIGthbiBtb2dlbGlqa1xuIgorI34gIiAgICAgICAgIGdldm9uZGVuIHdvcmRlbiBtZXQgYmVodWxwIHZhbiBsc29mKDgpIG9mIGZ1c2VyKDEpLikiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBub3QgZm91bmQiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IG5pZXQgZ2V2b25kZW4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBtdXN0IGJlIHN1cGVydXNlciB0byB1bW91bnQiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IHUgbW9ldCByb290IHppam4gb20gYWYgdGUga3VubmVuIGtvcHBlbGVuIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogYmxvY2sgZGV2aWNlcyBub3QgcGVybWl0dGVkIG9uIGZzIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBibG9rLWFwcGFyYXRlbiBuaWV0IHRvZWdlc3RhYW4gb3AgYmVzdGFuZHNzeXN0ZWVtIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogJXMiCisjfiBtc2dzdHIgInVtb3VudDogJXM6ICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBpbnRlcm5hbCBlcnJvcjogaW52YWxpZCBhYnMgcGF0aDogJXMiCisjfiBtc2dzdHIgInVtb3VudDogKmludGVybmUgcHJvZ3JhbW1hZm91dCo6IG9uZ2VsZGlnIGFic29sdXV0IHBhZDogJXMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGZhaWxlZCB0byBjaGRpciB0byAlczogJW0iCisjfiBtc2dzdHIgInVtb3VudDogbmFhciBtYXAgJXMgZ2FhbiBpcyBtaXNsdWt0OiAlbSIKKworI34gbXNnaWQgInVtb3VudDogZmFpbGVkIHRvIG9idGFpbiBjdXJyZW50IGRpcmVjdG9yeTogJW0iCisjfiBtc2dzdHIgInVtb3VudDogYWNodGVyaGFsZW4gdmFuIGh1aWRpZ2UgbWFwIGlzIG1pc2x1a3Q6ICVtIgorCisjfiBtc2dpZCAidW1vdW50OiBtb3VudHBvaW50IG1vdmVkICglcyAtPiAlcykiCisjfiBtc2dzdHIgInVtb3VudDogYWFua29wcGVsaW5nc3B1bnQgaXMgdmVycGxhYXRzdCAoJXMgLT4gJXMpIgorCisjfiBtc2dpZCAiY3VycmVudCBkaXJlY3RvcnkgbW92ZWQgdG8gJXNcbiIKKyN+IG1zZ3N0ciAiaHVpZGlnZSBtYXAgaXMgdmVycGxhYXRzdCBuYWFyICVzXG4iCisKKyN+IG1zZ2lkICJubyB1bW91bnQyLCB0cnlpbmcgdW1vdW50Li4uXG4iCisjfiBtc2dzdHIgImdlZW4gdW1vdW50MiBhYW53ZXppZzsgcG9naW5nIG1ldCBnZXdvbmUgdW1vdW50Li4uXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGJ1c3kgLSByZW1vdW50ZWQgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgaXMgYmV6aWcgLS0gYWxzIGFsbGVlbi1sZXplbiBoZXJhYW5nZWtvcHBlbGRcbiIKKworI34gbXNnaWQgInVtb3VudDogY291bGQgbm90IHJlbW91bnQgJXMgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDoga2FuICVzIG5pZXQgYWxzIGFsbGVlbi1sZXplbiBoZXJhYW5rb3BwZWxlblxuIgorCisjfiBtc2dpZCAiJXMgaGFzIGJlZW4gdW5tb3VudGVkXG4iCisjfiBtc2dzdHIgIiVzIHdlcmQgYWZnZWtvcHBlbGRcbiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IGZpbmQgbGlzdCBvZiBmaWxlc3lzdGVtcyB0byB1bm1vdW50IgorI34gbXNnc3RyICJ1bW91bnQ6IGthbiBnZWVuIGxpanN0IHZpbmRlbiBtZXQgYmVzdGFuZHNzeXN0ZW1lbiBvbSBhZiB0ZSBrb3BwZWxlbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogdW1vdW50IC1oIHwgLVZcbiIKKyN+ICIgICAgICAgdW1vdW50IC1hIFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBbLXQgdmZzdHlwZXNdIFstTyBvcHRzXVxuIgorI34gIiAgICAgICB1bW91bnQgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIHNwZWNpYWwgfCBub2RlLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJHZWJydWlrOiAgdW1vdW50IFstZGZucnZdIG1hcHxhcHBhcmFhdC4uLlxuIgorI34gIiAgICAgICAgICB1bW91bnQgLWEgWy1kZm5ydl0gWy10IGJlc3RhbmRzc3lzdGVlbXNvb3J0ZW5dIFstTyBvcHRpZXNdXG4iCisjfiAiICAgICAgICAgIHVtb3VudCAtaHwtVlxuIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlICdvZmZzZXQ9JXMnIG9wdGlvbnNcbiIKKyN+IG1zZ3N0ciAib250bGVkZW4gdmFuIG9wdGllcyAnb2Zmc2V0PSVzJyBpcyBtaXNsdWt0XG4iCisKKyN+IG1zZ2lkICJkZXZpY2UgJXMgaXMgYXNzb2NpYXRlZCB3aXRoICVzXG4iCisjfiBtc2dzdHIgImFwcGFyYWF0ICVzIGlzIGdlcmVsYXRlZXJkIGFhbiAlc1xuIgorCisjfiBtc2dpZCAiZGV2aWNlICVzIGlzIG5vdCBhc3NvY2lhdGVkIHdpdGggJXNcbiIKKyN+IG1zZ3N0ciAiYXBwYXJhYXQgJXMgaXMgbmlldCBnZXJlbGF0ZWVyZCBhYW4gJXNcbiIKKworI34gbXNnaWQgIkNhbm5vdCB1bm1vdW50IFwiXCJcbiIKKyN+IG1zZ3N0ciAiS2FuIG5pZXQgXCJcIiBhZmtvcHBlbGVuXG4iCisKKyN+IG1zZ2lkICJUcnlpbmcgdG8gdW5tb3VudCAlc1xuIgorI34gbXNnc3RyICJQb2dpbmcgdG90IGFma29wcGVsZW4gdmFuICVzLi4uXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNvbmZ1c2VkIHdoZW4gYW5hbHl6aW5nIG10YWIiCisjfiBtc2dzdHIgInVtb3VudDogdmVyd2FyZCB0aWpkZW5zIGFuYWx5c2UgdmFuICdtdGFiJy1iZXN0YW5kIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgdW5tb3VudCAlcyAtLSAlcyBpcyBtb3VudGVkIG92ZXIgaXQgb24gdGhlIHNhbWUgcG9pbnQiCisjfiBtc2dzdHIgInVtb3VudDoga2FuICVzIG5pZXQgYWZrb3BwZWxlbiAtLSAlcyBpcyBlciBvcCBoZXR6ZWxmZGUgcHVudCBvdmVyaGVlbiBhYW5nZWtvcHBlbGQiCisKKyN+IG1zZ2lkICJDb3VsZCBub3QgZmluZCAlcyBpbiBtdGFiXG4iCisjfiBtc2dzdHIgIkthbiAlcyBuaWV0IHZpbmRlbiBpbiBtdGFiXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IHdhcm5pbmc6ICVzIGlzIGFzc29jaWF0ZWQgd2l0aCBtb3JlIHRoYW4gb25lIGxvb3AgZGV2aWNlXG4iCisjfiBtc2dzdHIgInVtb3VudDogd2FhcnNjaHV3aW5nOiAlcyBpcyBnZXJlbGF0ZWVyZCBhYW4gbWVlciBkYW4gw6nDqW4gbHVzLWFwcGFyYWF0XG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGlzIG5vdCBtb3VudGVkIChhY2NvcmRpbmcgdG8gbXRhYikiCisjfiBtc2dzdHIgInVtb3VudDogJXMgaXMgbmlldCBhYW5nZWtvcHBlbGQgKHZvbGdlbnMgbXRhYikiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGl0IHNlZW1zICVzIGlzIG1vdW50ZWQgbXVsdGlwbGUgdGltZXMiCisjfiBtc2dzdHIgInVtb3VudDogaGV0IGxpamt0IGVyb3AgZGF0ICVzIG1lZXJkZXJlIGtlcmVuIGlzIGFhbmdla29wcGVsZCIKKworI34gbXNnaWQgInVtb3VudDogJXMgaXMgbm90IGluIHRoZSBmc3RhYiAoYW5kIHlvdSBhcmUgbm90IHJvb3QpIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIHN0YWF0IG5pZXQgaW4gZnN0YWIgKGVuIHUgYmVudCBuaWV0IHJvb3QpIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBtb3VudCBkaXNhZ3JlZXMgd2l0aCB0aGUgZnN0YWIiCisjfiBtc2dzdHIgInVtb3VudDogYWFua29wcGVsaW5nIG9wICVzIGtvbXQgbmlldCBvdmVyZWVuIG1ldCBmc3RhYiIKKworI34gbXNnaWQgInVtb3VudDogb25seSAlcyBjYW4gdW5tb3VudCAlcyBmcm9tICVzIgorI34gbXNnc3RyICJ1bW91bnQ6IGFsbGVlbiAlcyBrYW4gJXMgYWZrb3BwZWxlbiB2YW4gJXMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKKyN+IG1zZ3N0ciAidW1vdW50OiBhbGxlZW4gcm9vdCBrYW4gZGF0IGRvZW4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDx0dHk+IFsuLi5dXG4iCisjfiBtc2dzdHIgIiAgJXMgW29wdGllc10gPHR0eT4uLi5cbiIKKworI34gbXNnaWQgIiAtcywgLS1zZXQtdGhyZXNob2xkIDxudW0+ICAgICAgICAgIHNldCBpbnRlcnJ1cHRpb24gdGhyZXNob2xkIHZhbHVlXG4iCisjfiBtc2dzdHIgIiAgLXMsIC0tc2V0LXRocmVzaG9sZCBHRVRBTCAgICAgICAgICBvbmRlcmJyZWtpbmdzZHJlbXBlbHdhYXJkZSBpbnN0ZWxsZW5cbiIKKworI34gbXNnaWQgIiAtUywgLS1zZXQtZGVmYXVsdC10aHJlc2hvbGQgPG51bT4gIHNldCBkZWZhdWx0IHRocmVzaG9sZCB2YWx1ZVxuIgorI34gbXNnc3RyICIgIC1TLCAtLXNldC1kZWZhdWx0LXRocmVzaG9sZCBHRVRBTCAgc3RhbmRhYXJkIGRyZW1wZWx3YWFyZGUgaW5zdGVsbGVuXG4iCisKKyN+IG1zZ2lkICIgLXQsIC0tc2V0LWZsdXNoIDxudW0+ICAgICAgICAgICAgICBzZXQgZmx1c2ggdGltZW91dCB0byB2YWx1ZVxuIgorI34gbXNnc3RyICIgIC10LCAtLXNldC1mbHVzaCBHRVRBTCAgICAgICAgICAgICAgZG9vcnNsdWlzLXRpamRzbGltaWV0IGluc3RlbGxlblxuIgorCisjfiBtc2dpZCAiIC1ULCAtLXNldC1kZWZhdWx0LWZsdXNoIDxudW0+ICAgICAgc2V0IHRoZSBkZWZhdWx0IGZsdXNoIHRpbWVvdXQgdG8gdmFsdWVcbiIKKyN+IG1zZ3N0ciAiICAtVCwgLS1zZXQtZGVmYXVsdC1mbHVzaCBHRVRBTCAgICAgIHN0YW5kYWFyZCBkb29yc2x1aXMtdGlqZHNsaW1pZXQgaW5zdGVsbGVuXG4iCisKKyN+IG1zZ2lkICIgLWksIC0taW50ZXJ2YWwgPHNlY29uZHM+ICAgICAgICAgICBnYXRoZXIgc3RhdGlzdGljcyBldmVyeSA8c2Vjb25kcz4gaW50ZXJ2YWxcbiIKKyN+IG1zZ3N0ciAiICAtaSwgLS1pbnRlcnZhbCBBQU5UQUwgICAgICAgICAgICAgIHN0YXRpc3RpZWtlbiBlbGsgQUFOVEFMIHNlY29uZGVuIHZlcnphbWVsZW5cbiIKKworIyBXYXQgZGllICJGb3IiIGJldGVrZW50OiBnZWVuIGlkZWUuLi4gLS0gQmVubm8KKyN+IG1zZ2lkICIiCisjfiAiRmlsZSAlcywgRm9yIHRocmVzaG9sZCB2YWx1ZSAlbHUsIE1heGltdW0gY2hhcmFjdGVycyBpbiBmaWZvIHdlcmUgJWQsXG4iCisjfiAiYW5kIHRoZSBtYXhpbXVtIHRyYW5zZmVyIHJhdGUgaW4gY2hhcmFjdGVycy9zZWNvbmQgd2FzICVmIgorI34gbXNnc3RyICIiCisjfiAiVm9vciBiZXN0YW5kICVzLCBlbiBtZXQgZHJlbXBlbHdhYXJkZSAlbHUsXG4iCisjfiAid2FzIGhldCBtYXhpbXVtIGFhbnRhbCB0ZWtlbnMgaW4gZGUgZmlmbyAlZCxcbiIKKyN+ICJlbiBkZSBtYXhpbWFsZSBvdmVyZHJhY2h0c3NuZWxoZWlkICVmIHRla2Vucy9zZWNvbmRlLiIKKworI34gbXNnaWQgIiIKKyN+ICJGaWxlICVzLCBGb3IgdGhyZXNob2xkIHZhbHVlICVsdSBhbmQgdGltZW91dCB2YWx1ZSAlbHUsIE1heGltdW0gY2hhcmFjdGVycyBpbiBmaWZvIHdlcmUgJWQsXG4iCisjfiAiYW5kIHRoZSBtYXhpbXVtIHRyYW5zZmVyIHJhdGUgaW4gY2hhcmFjdGVycy9zZWNvbmQgd2FzICVmIgorI34gbXNnc3RyICIiCisjfiAiVm9vciBiZXN0YW5kICVzLCBlbiBtZXQgZHJlbXBlbHdhYXJkZSAlbHUgZW4gdGlqZHNsaW1pZXQgJWx1LFxuIgorI34gIndhcyBoZXQgbWF4aW11bSBhYW50YWwgdGVrZW5zIGluIGRlIGZpZm8gJWQsXG4iCisjfiAiZW4gZGUgbWF4aW1hbGUgb3ZlcmRyYWNodHNzbmVsaGVpZCAlZiB0ZWtlbnMvc2Vjb25kZS4iCisKKyN+IG1zZ2lkICJjYW5ub3QgaXNzdWUgQ1lHRVRNT04gb24gJXMiCisjfiBtc2dzdHIgImthbiBpb2N0bChDWUdFVE1PTikgbmlldCB1aXR2b2VyZW4gb3AgJXMiCisKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRocmVzaG9sZCBmb3IgJXMiCisjfiBtc2dzdHIgImthbiBkcmVtcGVsd2FhcmRlIHZvb3IgJXMgbmlldCB2ZXJrcmlqZ2VuIgorCisjfiBtc2dpZCAiY2Fubm90IGdldCB0aW1lb3V0IGZvciAlcyIKKyN+IG1zZ3N0ciAia2FuIHRpamRzbGltaWV0IHZvb3IgJXMgbmlldCB2ZXJrcmlqZ2VuIgorCisjfiBtc2dpZCAiJXM6ICVsdSBpbnRzLCAlbHUvJWx1IGNoYXJzOyBmaWZvOiAlbHUgdGhyZXNoLCAlbHUgdG1vdXQsICVsdSBtYXgsICVsdSBub3dcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiAlbHUgb25kZXJicmVraW5nZW4sICVsdS8lbHUgdGVrZW5zO1xuIgorI34gImZpZm86ICVsdSBkcmVtcGVsd2FhcmRlLCAlbHUgdGlqZHNsaW1pZXQsICVsdSBtYXhpbXVtLCAlbHUgbnVcbiIKKworI34gbXNnaWQgIiAgICVmIGludC9zZWM7ICVmIHJlYywgJWYgc2VuZCAoY2hhci9zZWMpXG4iCisjfiBtc2dzdHIgIiAgICVmIG9uZGVyYnJla2luZ2VuL3NlYzsgJWYgb250dmFuZ2VuLCAlZiB2ZXJ6b25kZW4gKHRla2Vucy9zZWMpXG4iCisKKyN+IG1zZ2lkICIlczogJWx1IGludHMsICVsdSBjaGFyczsgZmlmbzogJWx1IHRocmVzaCwgJWx1IHRtb3V0LCAlbHUgbWF4LCAlbHUgbm93XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogJWx1IG9uZGVyYnJla2luZ2VuLCAlbHUgdGVrZW5zO1xuIgorI34gImZpZm86ICVsdSBkcmVtcGVsd2FhcmRlLCAlbHUgdGlqZHNsaW1pZXQsICVsdSBtYXhpbXVtLCAlbHUgbnVcbiIKKworI34gbXNnaWQgIiAgICVmIGludC9zZWM7ICVmIHJlYyAoY2hhci9zZWMpXG4iCisjfiBtc2dzdHIgIiAgICVmIG9uZGVyYnJla2luZ2VuL3NlYzsgJWYgb250dmFuZ2VuICh0ZWtlbnMvc2VjKVxuIgorCisjfiBtc2dpZCAiSW52YWxpZCBpbnRlcnZhbCB2YWx1ZSIKKyN+IG1zZ3N0ciAiT25nZWxkaWdlIGludGVydmFsd2FhcmRlIgorCisjfiBtc2dpZCAiSW52YWxpZCBpbnRlcnZhbCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIk9uZ2VsZGlnZSBpbnRlcnZhbHdhYXJkZTogJWQiCisKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB2YWx1ZSIKKyN+IG1zZ3N0ciAiT25nZWxkaWdlIGRyZW1wZWx3YWFyZGUiCisKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIk9uZ2VsZGlnZSBkcmVtcGVsd2FhcmRlOiAlZCIKKworI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB2YWx1ZSIKKyN+IG1zZ3N0ciAiT25nZWxkaWdlIHN0YW5kYWFyZGRyZW1wZWx3YWFyZGUiCisKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdmFsdWU6ICVkIgorI34gbXNnc3RyICJPbmdlbGRpZ2Ugc3RhbmRhYXJkZHJlbXBlbHdhYXJkZTogJWQiCisKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICJPbmdlbGRpZ2Ugd2FhcmRlIHZvb3IgdGlqZHNsaW1pZXQiCisKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiT25nZWxkaWdlIHdhYXJkZSB2b29yIHRpamRzbGltaWV0OiAlZCIKKworI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICJPbmdlbGRpZ2Ugc3RhbmRhYXJkd2FhcmRlIHZvb3IgdGlqZHNsaW1pZXQiCisKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdGltZSB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIk9uZ2VsZGlnZSBzdGFuZGFhcmR3YWFyZGUgdm9vciB0aWpkc2xpbWlldDogJWQiCisKKyN+IG1zZ2lkICJjYW5ub3Qgc2V0ICVzIHRvIHRocmVzaG9sZCAlZCIKKyN+IG1zZ3N0ciAia2FuICVzIG5pZXQgaW5zdGVsbGVuIG9wIGRyZW1wZWx3YWFyZGUgJWQiCisKKyN+IG1zZ2lkICJjYW5ub3Qgc2V0ICVzIHRvIHRpbWUgdGhyZXNob2xkICVkIgorI34gbXNnc3RyICJrYW4gJXMgbmlldCBpbnN0ZWxsZW4gb3AgdGlqZHNkcmVtcGVsICVkIgorCisjfiBtc2dpZCAiJXM6ICVsZCBjdXJyZW50IHRocmVzaG9sZCBhbmQgJWxkIGN1cnJlbnQgdGltZW91dFxuIgorI34gbXNnc3RyICIlczogJWxkIGlzIGh1aWRpZ2UgZHJlbXBlbHdhYXJkZSBlbiAlbGQgaXMgaHVpZGlnZSB0aWpkc2xpbWlldFxuIgorCisjfiBtc2dpZCAiJXM6ICVsZCBkZWZhdWx0IHRocmVzaG9sZCBhbmQgJWxkIGRlZmF1bHQgdGltZW91dFxuIgorI34gbXNnc3RyICIlczogJWxkIGlzIHN0YW5kYWFyZCBkcmVtcGVsd2FhcmRlIGVuICVsZCBpcyBzdGFuZGFhcmQgdGlqZHNsaW1pZXRcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLW4sIC0ta2VlcC1zaXplICAgICBkb24ndCBtb2RpZnkgdGhlIGxlbmd0aCBvZiB0aGUgZmlsZVxuIgorI34gIiAtcCwgLS1wdW5jaC1ob2xlICAgIHB1bmNoIGhvbGVzIGluIHRoZSBmaWxlXG4iCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IG9mIHRoZSBhbGxvY2F0aW9uLCBpbiBieXRlc1xuIgorI34gIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiB0aGUgYWxsb2NhdGlvbiwgaW4gYnl0ZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLW4sIC0ta2VlcC1zaXplICAgICAgICAgbGVuZ3RlIHZhbiBiZXN0YW5kIG5pZXQgd2lqemlnZW5cbiIKKyN+ICIgIC1wLCAtLXB1bmNoLWhvbGUgICAgICAgIGdhdGVuIGluIGhldCBiZXN0YW5kIG1ha2VuXG4iCisjfiAiICAtbywgLS1vZmZzZXQgPGdldGFsPiAgICBwb3NpdGllIHZhbiBkZSByZXNlcnZlcmluZywgaW4gYnl0ZXNcbiIKKyN+ICIgIC1sLCAtLWxlbmd0aCA8Z2V0YWw+ICAgIGxlbmd0ZSB2YW4gZGUgcmVzZXJ2ZXJpbmcsIGluIGJ5dGVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorI34gIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorI34gIiAtbSwgLS1taW5pbXVtIDxudW0+IG1pbmltdW0gZXh0ZW50IGxlbmd0aCB0byBkaXNjYXJkXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgbnVtYmVyIG9mIGRpc2NhcmRlZCBieXRlc1xuIgorI34gbXNnc3RyICIiCisjfiAiIC1vLCAtLW9mZnNldCA8Z2V0YWw+ICAgYnl0ZXBvc2l0aWUgdmFuYWYgd2FhciBibG9ra2VuIHZlcndvcnBlbiBtb2V0ZW4gd29yZGVuXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8Z2V0YWw+ICAgbGVuZ3RlIChpbiBieXRlcykgdmFuIGdlYmllZCB3YWFyaW4gbmFhciBvbmdlYnJ1aWt0ZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgYmxva2tlbiBnZXpvY2h0IG1vZXQgd29yZGVuXG4iCisjfiAiIC1tLCAtLW1pbmltdW0gPGdldGFsPiAgbWluaW11bWdyb290dGUgKGluIGJ5dGVzKSB2YW4gZWVuIHRlIHZlcndlcnBlblxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgYWFuZWVuZ2VzbG90ZW4gZ3JvZXAgb25nZWJydWlrdGUgYmxva2tlblxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgIGhldCBhYW50YWwgdmVyd29ycGVuIGJ5dGVzIHRvbmVuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGltZSBlbGFwc2VkIHNpbmNlIHJlZmVyZW5jZSB0aW1lIGhhcyBiZWVuICUuNmYgc2Vjb25kcy5cbiIKKyN+ICJEZWxheWluZyBmdXJ0aGVyIHRvIHJlYWNoIHRoZSBuZXcgdGltZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlZlcmxvcGVuIHRpamQgc2luZHMgbGFhdHN0ZSByZWZlcmVudGlldGlqZCBpcyAlLjZmIHNlY29uZGVuLlxuIgorI34gIldvcmR0IHZlcmRlciB1aXRnZXN0ZWxkIG9tIGRlIG5pZXV3ZSB0aWpkIHRlIGJlcmVpa2VuLlxuIgorCisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlIgorI34gbXNnc3RyICIlczogYmVwYWxlbiB2YW4gYnJvbiBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiIC10ZXJtIDx0ZXJtaW5hbF9uYW1lPlxuIgorI34gbXNnc3RyICIgIC10ZXJtIDx0ZXJtaW5hbG5hYW0+XG4iCisKKyN+IG1zZ2lkICIgLXJlc2V0XG4iCisjfiBtc2dzdHIgIiAgLXJlc2V0XG4iCisKKyN+IG1zZ2lkICIgLWluaXRpYWxpemVcbiIKKyN+IG1zZ3N0ciAiICAtaW5pdGlhbGl6ZVxuIgorCisjfiBtc2dpZCAiIC1jdXJzb3IgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICAtY3Vyc29yIG9ufG9mZlxuIgorCisjfiBtc2dpZCAiIC1yZXBlYXQgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICAtcmVwZWF0IG9ufG9mZlxuIgorCisjfiBtc2dpZCAiIC1hcHBjdXJzb3JrZXlzIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgLWFwcGN1cnNvcmtleXMgb258b2ZmXG4iCisKKyN+IG1zZ2lkICIgLWxpbmV3cmFwIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgLWxpbmV3cmFwIG9ufG9mZlxuIgorCisjfiBtc2dpZCAiIC1kZWZhdWx0XG4iCisjfiBtc2dzdHIgIiAgLWRlZmF1bHRcbiIKKworI34gbXNnaWQgIiAtZm9yZWdyb3VuZCA8ZGVmYXVsdHxibGFja3xibHVlfGN5YW58Z3JlZW58bWFnZW50YXxyZWR8d2hpdGV8eWVsbG93PlxuIgorI34gbXNnc3RyICIgIC1mb3JlZ3JvdW5kIGRlZmF1bHR8YmxhY2t8Ymx1ZXxjeWFufGdyZWVufG1hZ2VudGF8cmVkfHdoaXRlfHllbGxvd1xuIgorCisjfiBtc2dpZCAiIC1iYWNrZ3JvdW5kIDxkZWZhdWx0fGJsYWNrfGJsdWV8Y3lhbnxncmVlbnxtYWdlbnRhfHJlZHx3aGl0ZXx5ZWxsb3c+XG4iCisjfiBtc2dzdHIgIiAgLWJhY2tncm91bmQgZGVmYXVsdHxibGFja3xibHVlfGN5YW58Z3JlZW58bWFnZW50YXxyZWR8d2hpdGV8eWVsbG93XG4iCisKKyN+IG1zZ2lkICIgLWhiY29sb3IgPGJsYWNrfGJsdWV8YnJpZ2h0fGN5YW58Z3JlZW58Z3JleXxtYWdlbnRhfHJlZHx3aGl0ZXx5ZWxsb3c+XG4iCisjfiBtc2dzdHIgIiAgLWhiY29sb3IgYmxhY2t8Ymx1ZXxicmlnaHR8Y3lhbnxncmVlbnxncmV5fG1hZ2VudGF8cmVkfHdoaXRlfHllbGxvd1xuIgorCisjfiBtc2dpZCAiIC1pbnZlcnNlc2NyZWVuIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgLWludmVyc2VzY3JlZW4gb258b2ZmXG4iCisKKyN+IG1zZ2lkICIgLWJvbGQgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICAtYm9sZCBvbnxvZmZcbiIKKworI34gbXNnaWQgIiAtYmxpbmsgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICAtYmxpbmsgb258b2ZmXG4iCisKKyN+IG1zZ2lkICIgLXJldmVyc2UgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICAtcmV2ZXJzZSBvbnxvZmZcbiIKKworI34gbXNnaWQgIiAtdW5kZXJsaW5lIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgLXVuZGVybGluZSBvbnxvZmZcbiIKKworI34gbXNnaWQgIiAtc3RvcmVcbiIKKyN+IG1zZ3N0ciAiICAtc3RvcmVcbiIKKworI34gbXNnaWQgIiAtY2xlYXIgPGFsbHxyZXN0PlxuIgorI34gbXNnc3RyICIgIC1jbGVhciBhbGx8cmVzdFxuIgorCisjfiBtc2dpZCAiIC10YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+IG1zZ3N0ciAiICAtdGFicyA8dGFiMSB0YWIyIHRhYjMgLi4uPiAgICAodGFibiA9IDEtMTYwKVxuIgorCisjfiBtc2dpZCAiIC1jbHJ0YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+IG1zZ3N0ciAiICAtY2xydGFicyA8dGFiMSB0YWIyIHRhYjMgLi4uPiAgICAodGFibiA9IDEtMTYwKVxuIgorCisjfiBtc2dpZCAiIC1yZWd0YWJzIDwxLTE2MD5cbiIKKyN+IG1zZ3N0ciAiICAtcmVndGFicyA8Z2V0YWw+ICAgICg8Z2V0YWw+ID0gMS0xNjApXG4iCisKKyN+IG1zZ2lkICIgLWJsYW5rIDwwLTYwfGZvcmNlfHBva2U+XG4iCisjfiBtc2dzdHIgIiAgLWJsYW5rIDxnZXRhbD58Zm9yY2V8cG9rZSAgICAoPGdldGFsPiA9IDAtNjApXG4iCisKKyN+IG1zZ2lkICIgLWR1bXAgICA8MS1OUl9DT05TT0xFUz5cbiIKKyN+IG1zZ3N0ciAiICAtZHVtcCA8Y29uc29sZW51bW1lcj5cbiIKKworI34gbXNnaWQgIiAtYXBwZW5kIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gbXNnc3RyICIgIC1hcHBlbmQgPGNvbnNvbGVudW1tZXI+XG4iCisKKyN+IG1zZ2lkICIgLWZpbGUgZHVtcGZpbGVuYW1lXG4iCisjfiBtc2dzdHIgIiAgLWZpbGUgPGR1bXBiZXN0YW5kc25hYW0+XG4iCisKKyN+IG1zZ2lkICIgLW1zZyA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIC1tc2cgb258b2ZmXG4iCisKKyN+IG1zZ2lkICIgLW1zZ2xldmVsIDwwLTg+XG4iCisjfiBtc2dzdHIgIiAgLW1zZ2xldmVsIDwwLTg+XG4iCisKKyN+IG1zZ2lkICIgLXBvd2VyZG93biA8MC02MD5cbiIKKyN+IG1zZ3N0ciAiICAtcG93ZXJkb3duIDwwLTYwPlxuIgorCisjfiBtc2dpZCAiIC1ibGVuZ3RoIDwwLTIwMDA+XG4iCisjfiBtc2dzdHIgIiAgLWJsZW5ndGggPDAtMjAwMD5cbiIKKworI34gbXNnaWQgIiAtYmZyZXEgZnJlcW51bWJlclxuIgorI34gbXNnc3RyICIgIC1iZnJlcSA8YmVsZnJlcXVlbnRpZT5cbiIKKworI34gbXNnaWQgIkVycm9yIHdyaXRpbmcgc2NyZWVuZHVtcCIKKyN+IG1zZ3N0ciAiRm91dCBiaWogc2NocmlqdmVuIHZhbiBzY2hlcm1hZmRydWsiCisKKyN+IG1zZ2lkICJDb3VsZG4ndCByZWFkIG5laXRoZXIgL2Rldi92Y3NhMCBub3IgL2Rldi92Y3NhIgorI34gbXNnc3RyICJLYW4gbm9jaCAvZGV2L3Zjc2EwIG5vY2ggL2Rldi92Y3NhIGxlemVuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiR2VicnVpazogICVzIFtvcHRpZXNdIDxiZXN0YW5kPi4uLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIk9wdGlvbnM6XG4iCisjfiAiICAtZCAgICAgICAgZGlzcGxheSBoZWxwIGluc3RlYWQgb2YgcmluZyBiZWxsXG4iCisjfiAiICAtZiAgICAgICAgY291bnQgbG9naWNhbCwgcmF0aGVyIHRoYW4gc2NyZWVuIGxpbmVzXG4iCisjfiAiICAtbCAgICAgICAgc3VwcHJlc3MgcGF1c2UgYWZ0ZXIgZm9ybSBmZWVkXG4iCisjfiAiICAtcCAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIKKyN+ICIgIC1jICAgICAgICBkbyBub3Qgc2Nyb2xsLCBkaXNwbGF5IHRleHQgYW5kIGNsZWFuIGxpbmUgZW5kc1xuIgorI34gIiAgLXUgICAgICAgIHN1cHByZXNzIHVuZGVybGluaW5nXG4iCisjfiAiICAtcyAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorI34gIiAgLU5VTSAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBsaW5lcyBwZXIgc2NyZWVuZnVsXG4iCisjfiAiICArTlVNICAgICAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIGxpbmUgbnVtYmVyIE5VTVxuIgorI34gIiAgKy9TVFJJTkcgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBzZWFyY2ggc3RyaW5nIG1hdGNoXG4iCisjfiAiICAtViAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIk9wdGllczpcbiIKKyN+ICIgIC1kICAgICAgICBodWxwIHRvbmVuIGluIHBsYWF0cyB2YW4gdGUgcGllcGVuXG4iCisjfiAiICAtZiAgICAgICAgbG9naXNjaGUgcmVnZWxzIGluIHBsYWF0cyB2YW4gc2NoZXJtcmVnZWxzIHRlbGxlblxuIgorI34gIiAgLWwgICAgICAgIHBhdXplIG5hIG5pZXV3ZXBhZ2luYSAoRkYpIG9uZGVyZHJ1a2tlblxuIgorI34gIiAgLXAgICAgICAgIG5pZXQgc2Nyb2xsZW47IHNjaGVybSB3aXNzZW4gZW4gdGVrc3Qgd2VlcmdldmVuXG4iCisjfiAiICAtYyAgICAgICAgbmlldCBzY3JvbGxlbjsgdGVrc3Qgd2VlcmdldmVuIGVuIHJlZ2VsZWluZGVuIHdpc3NlblxuIgorI34gIiAgLXUgICAgICAgIG9uZGVyc3RyZXBpbmdlbiB3ZWdsYXRlblxuIgorI34gIiAgLXMgICAgICAgIG1lZXJkZXJlIGxlZ2UgcmVnZWxzIHNhbWVuZHJ1a2tlbiB0b3QgZWVudGplXG4iCisjfiAiICAtR0VUQUwgICAgdGUgZ2VicnVpa2VuIGFhbnRhbCByZWdlbHMgcGVyIHNjaGVybVxuIgorI34gIiAgK0dFVEFMICAgIGJlc3RhbmQgd2VlcmdldmVuIHZhbmFmIGRpdCByZWdlbG51bW1lclxuIgorI34gIiAgKy9URUtFTlMgIGJlc3RhbmQgd2VlcmdldmVuIHZhbmFmIGRlemUgdGVrZW5yZWVrc1xuIgorCisjfiBtc2dpZCAibGluZSB0b28gbG9uZyIKKyN+IG1zZ3N0ciAicmVnZWwgaXMgdGUgbGFuZyIKKworI34gbXNnaWQgInNldCBibG9ja3NpemUiCisjfiBtc2dzdHIgImJsb2tncm9vdHRlIGluc3RlbGxlbiIKKworI34gbXNnaWQgIm9uZSBiYWQgYmxvY2tcbiIKKyN+IG1zZ3N0ciAiw6nDqW4gc2xlY2h0IGJsb2tcbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiB0eXBlIGhleCBvciB1dWlkIgorI34gbXNnc3RyICJwYXJ0aXRpZXR5cGUgKGhleCBvZiBVVUlEKSIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiBtc2dzdHIgIiAgJXMgW29wdGllc10gPGFwcGFyYWF0PlxuIgorCisjfiBtc2dpZCAib3BlbiBmYWlsZWQgJXMiCisjfiBtc2dzdHIgIm9wZW5lbiB2YW4gJXMgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgInJlYWQgZmFpbGVkICVzIgorI34gbXNnc3RyICJsZXplbiB2YW4gJXMgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgInNlZWsgZmFpbGVkICVzIgorI34gbXNnc3RyICInc2Vlaycgb3AgJXMgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgIkRldGVjdGVkICVkIGVycm9yKHMpLiIKKyN+IG1zZ3N0ciAiR2VkZXRlY3RlZXJkOiAlZCBmb3V0KGVuKS4iCisKKyN+IG1zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQiCisjfiBtc2dzdHIgIkdlZW4gcGFydGl0aWVzIGdlZGVmaW5pZWVyZCIKKworI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgbGlzdCBhbGwgdXNlZCBkZXZpY2VzXG4iCisjfiAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4gWy4uLl0gIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCisjfiAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIGRldGFjaCBhbGwgdXNlZCBkZXZpY2VzXG4iCisjfiAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorI34gIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICByZXNpemUgZGV2aWNlXG4iCisjfiAiIC1qLCAtLWFzc29jaWF0ZWQgPGZpbGU+ICAgICAgIGxpc3QgYWxsIGRldmljZXMgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorI34gbXNnc3RyICIiCisjfiAiICAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICAgICBhbGxlIGdlYnJ1aWt0ZSBsdXMtYXBwYXJhdGVuIHRvbmVuXG4iCisjfiAiICAtZCwgLS1kZXRhY2ggTFVTLUFQUEFSQUFULi4uICAgICBkZXplIGFwcGFyYXRlbiBvbnRoZWNodGVuXG4iCisjfiAiICAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICAgICBhbGxlIGdlYnJ1aWt0ZSBsdXMtYXBwYXJhdGVuIG9udGhlY2h0ZW5cbiIKKyN+ICIgIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgICAgIGVlcnN0ZSBvbmdlYnJ1aWt0ZSBsdXMtYXBwYXJhYXQgdG9uZW5cbiIKKyN+ICIgIC1jLCAtLXNldC1jYXBhY2l0eSBMVVMtQVBQQVJBQVQgIGRlIGdyb290dGUgdmFuIGhldCBhcHBhcmFhdCB3aWp6aWdlblxuIgorI34gIiAgLWosIC0tYXNzb2NpYXRlZCBCRVNUQU5EICAgICAgICAgZ2VyZWxhdGVlcmRlbiBhYW4gZGl0IGJlc3RhbmQgdG9uZW5cbiIKKworI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlLCBvZmZzZXQgaXMgbm90IDUxMi1ieXRlIGFsaWduZWQiCisjfiBtc2dzdHIgIiVzOiBpbnN0ZWxsZW4gdmFuIGx1cy1hcHBhcmFhdCBpcyBtaXNsdWt0IC0tIGRlIHBvc2l0aWUgaXMgbmlldCA1MTItYnl0ZS11aXRnZWxpam5kIgorCisjfiBtc2dpZCAidW5zc3Vwb3J0ZWQgLS1sb2NhbC1saW5lIG1vZGUgYXJndW1lbnQiCisjfiBtc2dzdHIgIm5pZXQtb25kZXJzdGV1bmQgYXJndW1lbnQ6ICVzIgorCisjfiBtc2dpZCAidXNhZ2U6XG4iCisjfiBtc2dzdHIgIkdlYnJ1aWs6XG4iCisKKyN+IG1zZ2lkICJcdE5PVEU6IGVsdnR1bmUgb25seSB3b3JrcyB3aXRoIDIuNCBrZXJuZWxzXG4iCisjfiBtc2dzdHIgIiAgICBPcG1lcmtpbmc6ICdlbHZ0dW5lJyB3ZXJrdCBhbGxlZW4gbWV0IDIuNCBrZXJuZWxzXG4iCisKKyN+IG1zZ2lkICJtaXNzaW5nIGJsb2NrZGV2aWNlLCB1c2UgLWggZm9yIGhlbHBcbiIKKyN+IG1zZ3N0ciAib250YnJla2VuZCBibG9rLWFwcGFyYWF0OyBnZWJydWlrICctaCcgdm9vciBodWxwXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiZWx2dHVuZSBpcyBvbmx5IHVzZWZ1bCBvbiBvbGRlciBrZXJuZWxzO1xuIgorI34gImZvciAyLjYgdXNlIElPIHNjaGVkdWxlciBzeXNmcyB0dW5hYmxlcyBpbnN0ZWFkLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIidlbHZ0dW5lJyBpcyBlbmtlbCBudXR0aWcgb3Agb3VkZXJlIGtlcm5lbHM7XG4iCisjfiAiZ2VicnVpayB2b29yIHZlcnNpZSAyLjYgZGUgSU8tc2NoZWR1bGVyICdzeXNmcyB0dW5hYmxlcydcbiIKKworI34gbXNnaWQgImVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAib250bGVkZW4gdmFuIGVkaXRpZXdhYXJkZSBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiZnN5bmMgZmFpbGVkIgorI34gbXNnc3RyICJmc3luYygpIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6XG4iCisjfiAiUHJpbnQgdmVyc2lvbjpcbiIKKyN+ICIgICAgICAgICVzIC12XG4iCisjfiAiUHJpbnQgcGFydGl0aW9uIHRhYmxlOlxuIgorI34gIiAgICAgICAgJXMgLVAge3J8c3x0fSBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiAiSW50ZXJhY3RpdmUgdXNlOlxuIgorI34gIiAgICAgICAgJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiLWE6IFVzZSBhcnJvdyBpbnN0ZWFkIG9mIGhpZ2hsaWdodGluZztcbiIKKyN+ICItejogU3RhcnQgd2l0aCBhIHplcm8gcGFydGl0aW9uIHRhYmxlLCBpbnN0ZWFkIG9mIHJlYWRpbmcgdGhlIHB0IGZyb20gZGlzaztcbiIKKyN+ICItYyBDIC1oIEggLXMgUzogT3ZlcnJpZGUgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIG51bWJlciBvZiBjeWxpbmRlcnMsXG4iCisjfiAiICAgICAgICAgICAgICAgIHRoZSBudW1iZXIgb2YgaGVhZHMgYW5kIHRoZSBudW1iZXIgb2Ygc2VjdG9ycy90cmFjay5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkdlYnJ1aWs6ICAlcyBbb3B0aWVzXSBhcHBhcmFhdCAgICAgICAgICAgICAgaW50ZXJhY3RpZWZcbiIKKyN+ICIgICAgICAgICAgJXMgLVB7cnxzfHR9IFtvcHRpZXNdIGFwcGFyYWF0ICAgIHBhcnRpdGlldGFiZWwgd2VlcmdldmVuXG4iCisjfiAiT3B0aWVzOlxuIgorI34gIi1hICAgZWVuIHBpamwgZ2VicnVpa2VuIGluIHBsYWF0cyB2YW4gZWVuIGludmVyc2UgYmFsaztcbiIKKyN+ICIteiAgIG1ldCBsZWdlIHBhcnRpdGlldGFiZWwgc3RhcnRlbiwgaW4gcGxhYXRzIHZhbiBkZXplIHZhbiBzY2hpamYgdGUgbGV6ZW47XG4iCisjfiAiLWMgQyAtaCBLIC1zIFMgICBhbmRlcmUgd2FhcmRlbiBhZmR3aW5nZW4gdm9vciBoZXQgYWFudGFsIGNpbGluZGVycyxcbiIKKyN+ICIgICAgICAgICAgICAgICAgIGtvcHBlbiBlbiBzZWN0b3Jlbi9zcG9vciBkYW4gZGUga2VybmVsIGFhbmdlZWZ0LlxuIgorCisjfiBtc2dpZCAiV3JpdGluZyBkaXNrbGFiZWwgdG8gJXMuXG4iCisjfiBtc2dzdHIgIlNjaHJpanZlbiB2YW4gc2NoaWpmbGFiZWwgbmFhciAlcy5cbiIKKworI34gbXNnaWQgIkxhc3QgJXMgb3IgK3NpemUgb3IgK3NpemVNIG9yICtzaXplSyIKKyN+IG1zZ3N0ciAiTGFhdHN0ZSAlcyBvZiArYWFudGFsIG9mICthYW50YWxLIG9mICthYW50YWxNIgorCisjfiBtc2dpZCAiUmVhZGluZyBkaXNrbGFiZWwgb2YgJXMgYXQgc2VjdG9yICVkLlxuIgorI34gbXNnc3RyICJMZXplbiB2YW4gc2NoaWpmbGFiZWwgdmFuICVzIGJpaiBzZWN0b3IgJWQuXG4iCisKKyN+IG1zZ2lkICJCU0QgZGlza2xhYmVsIGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCisjfiBtc2dzdHIgIkJTRC1zY2hpamZsYWJlbG9wZHJhY2h0IChtIHZvb3IgaHVscCk6ICIKKworI34gbXNnaWQgImRyaXZlZGF0YTogIgorI34gbXNnc3RyICJzY2hpamZnZWdldmVuczogIgorCisjfiBtc2dpZCAiIyAgICAgICBzdGFydCAgICAgICBlbmQgICAgICBzaXplICAgICBmc3R5cGUgICBbZnNpemUgYnNpemUgICBjcGddXG4iCisjfiBtc2dzdHIgIiMgICAgICAgYmVnaW4gICAgIGVpbmRlICAgZ3Jvb3R0ZSAgIGJzeXN0ZWVtICAgW2dydHRlIGJsZ3J0ICAgY3BnXVxuIgorCisjfiBtc2dpZCAiTXVzdCBiZSA8PSBzZWN0b3JzL3RyYWNrICogdHJhY2tzL2N5bGluZGVyIChkZWZhdWx0KS5cbiIKKyN+IG1zZ3N0ciAiTW9ldCA8PSBzZWN0b3Jlbi9zcG9vciAqIHNwb3Jlbi9jaWxpbmRlciB6aWpuLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIChhLSVjKTogIgorI34gbXNnc3RyICJQYXJ0aXRpZSAoYS0lYyk6ICIKKworI34gbXNnaWQgIldhcm5pbmc6IHRvbyBtYW55IHBhcnRpdGlvbnMgKCVkLCBtYXhpbXVtIGlzICVkKS5cbiIKKyN+IG1zZ3N0ciAiV2FhcnNjaHV3aW5nOiB0ZSB2ZWVsIHBhcnRpdGllcyAoJWQsIG1heGltdW0gaXMgJWQpLlxuIgorCisjfiBtc2dpZCAiU3luY2luZyBkaXNrcy5cbiIKKyN+IG1zZ3N0ciAiTGVlZ21ha2VuIHZhbiBzY2hpamZidWZmZXJzLi4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6XG4iCisjfiAiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICBjaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiICUxJHMgW29wdGlvbnNdIC1sIDxkaXNrPiBsaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorI34gIiAlMSRzIC1zIDxwYXJ0aXRpb24+ICAgICAgZ2l2ZSBwYXJ0aXRpb24gc2l6ZShzKSBpbiBibG9ja3NcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtYiA8c2l6ZT4gICAgICAgICAgICAgc2VjdG9yIHNpemUgKDUxMiwgMTAyNCwgMjA0OCBvciA0MDk2KVxuIgorI34gIiAtY1s9PG1vZGU+XSAgICAgICAgICAgY29tcGF0aWJsZSBtb2RlOiAnZG9zJyBvciAnbm9uZG9zJyAoZGVmYXVsdClcbiIKKyN+ICIgLXVbPTx1bml0Pl0gICAgICAgICAgIGRpc3BsYXkgdW5pdHM6ICdjeWxpbmRlcnMnIG9yICdzZWN0b3JzJyAoZGVmYXVsdClcbiIKKyN+ICIgLXYgICAgICAgICAgICAgICAgICAgIHByaW50IHByb2dyYW0gdmVyc2lvblxuIgorI34gIiAtQyA8bnVtYmVyPiAgICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorI34gIiAtSCA8bnVtYmVyPiAgICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGhlYWRzXG4iCisjfiAiIC1TIDxudW1iZXI+ICAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkdlYnJ1aWs6ICAlMSRzIFtvcHRpZXNdIDxzY2hpamY+ICAgICAgcGFydGlldGFiZWwgd2lqemlnZW5cbiIKKyN+ICIgICAgICAgICAgJTEkcyBbb3B0aWVzXSAtbCA8c2NoaWpmPiAgIHBhcnRpdGlldGFiZWwobGVuKSB0b25lblxuIgorI34gIiAgICAgICAgICAlMSRzIC1zIDxwYXJ0aXRpZT4uLi4gICAgICAgcGFydGl0aWVncm9vdHRlKHMpIHRvbmVuIGluIGJsb2trZW5cbiIKKyN+ICJcbiIKKyN+ICJPcHRpZXM6XG4iCisjfiAiICAtYiA8Z3Jvb3R0ZT4gICAgICB0ZSBnZWJydWlrZW4gc2VjdG9yZ3Jvb3R0ZSAoNTEyLCAxMDI0LCAyMDQ4IG9mIDQwOTYpXG4iCisjfiAiICAtY1s9PG1vZHVzPl0gICAgICBjb21wYXRpYmlsaXRlaXRzbW9kdXM7ICdub25kb3MnIChzdGFuZGFhcmQpIG9mICdkb3MnXG4iCisjfiAiICAtdVs9PGVlbmhlaWQ+XSAgICBkZSB3ZWVyZ2F2ZS1lZW5oZWlkOyAnc2VjdG9ycycgKHN0YW5kYWFyZCkgb2YgJ2N5bGluZGVycydcbiIKKyN+ICIgIC1DIDxnZXRhbD4gICAgICAgIHRlIGdlYnJ1aWtlbiBhYW50YWwgY2lsaW5kZXJzXG4iCisjfiAiICAtSCA8Z2V0YWw+ICAgICAgICB0ZSBnZWJydWlrZW4gYWFudGFsIGtvcHBlblxuIgorI34gIiAgLVMgPGdldGFsPiAgICAgICAgdGUgZ2VicnVpa2VuIGFhbnRhbCBzZWN0b3JlbiBwZXIgc3Bvb3JcbiIKKworI34gbXNnaWQgInVuYWJsZSB0byBzZWVrIG9uICVzIgorI34gbXNnc3RyICJrYW4gZ2VlbiAnc2VlaycgZG9lbiBvcCAlcyIKKworI34gbXNnaWQgInVuYWJsZSB0byB3cml0ZSAlcyIKKyN+IG1zZ3N0ciAia2FuIG5pZXQgc2NocmlqdmVuIG5hYXIgJXMiCisKKyN+IG1zZ2lkICJmYXRhbCBlcnJvciIKKyN+IG1zZ3N0ciAiZmF0YWxlIGZvdXQiCisKKyN+IG1zZ2lkICJDb21tYW5kIGFjdGlvbiIKKyN+IG1zZ3N0ciAiT3BkcmFjaHQgIEFjdGllIgorCisjfiBtc2dpZCAiWW91IG11c3Qgc2V0IgorI34gbXNnc3RyICJVIG1vZXQgaW5zdGVsbGVuOiIKKworI34gbXNnaWQgImhlYWRzIgorI34gbXNnc3RyICJrb3BwZW4iCisKKyN+IG1zZ2lkICIgYW5kICIKKyN+IG1zZ3N0ciAiIGVuICIKKworI34gbXNnaWQgIlVuc3VwcG9ydGVkIHN1ZmZpeDogJyVzJy5cbiIKKyN+IG1zZ3N0ciAiT25iZWtlbmQgYWNodGVydm9lZ3NlbDogJyVzJy5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJTdXBwb3J0ZWQ6IDEwXk46IEtCIChLaWxvQnl0ZSksIE1CIChNZWdhQnl0ZSksIEdCIChHaWdhQnl0ZSlcbiIKKyN+ICIgICAgICAgICAgICAyXk46IEsgIChLaWJpQnl0ZSksIE0gIChNZWJpQnl0ZSksIEcgIChHaWJpQnl0ZSlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIk1vZ2VsaWprIHppam46IDEwXk46IEtCIChraWxvYnl0ZSksIE1CIChNZWdhYnl0ZSksIEdCIChHaWdhYnl0ZSlcbiIKKyN+ICIgICAgICAgICAgICAgICAgMl5OOiBLICAoS2liaWJ5dGUpLCBNICAoTWViaWJ5dGUpLCBHICAoR2liaWJ5dGUpXG4iCisKKyN+IG1zZ2lkICJVc2luZyBkZWZhdWx0IHZhbHVlICV1XG4iCisjfiBtc2dzdHIgIlN0YW5kYWFyZHdhYXJkZSAldSB3b3JkdCBnZWJydWlrdFxuIgorCisjfiBtc2dpZCAiRGlzayAlczogJWxkIE1CLCAlbGxkIGJ5dGVzIgorI34gbXNnc3RyICJTY2hpamYgJXM6ICVsZCBNQiwgJWxsZCBieXRlcyIKKworI34gbXNnaWQgIkRpc2sgJXM6ICVsZC4lbGQgR0IsICVsbHUgYnl0ZXMiCisjfiBtc2dzdHIgIlNjaGlqZiAlczogJWxkLiVsZCBHQiwgJWxsdSBieXRlcyIKKworI34gbXNnaWQgIiwgJWxsdSBzZWN0b3JzXG4iCisjfiBtc2dzdHIgIiwgJWxsdSBzZWN0b3JlblxuIgorCisjfiBtc2dpZCAiY2Fubm90IHdyaXRlIGRpc2sgbGFiZWwiCisjfiBtc2dzdHIgImthbiBzY2hpamZsYWJlbCBuaWV0IHNjaHJpanZlbiIKKworI34gbXNnaWQgIkVycm9yIGNsb3NpbmcgZmlsZVxuIgorI34gbXNnc3RyICJGb3V0IGJpaiBzbHVpdGVuIHZhbiBiZXN0YW5kXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBzZXR0aW5nIHNlY3RvciBvZmZzZXQgZm9yIERPUyBjb21wYXRpYmlsaXR5XG4iCisjfiBtc2dzdHIgIldhYXJzY2h1d2luZzogc2VjdG9ycGxhYXRzIHdvcmR0IGluZ2VzdGVsZCB2b29yIERPUy1jb21wYXRpYmlsaXRlaXRcbiIKKworI34gbXNnaWQgIkRldGVjdGVkIGFuIE9TRi8xIGRpc2tsYWJlbCBvbiAlcywgZW50ZXJpbmcgZGlza2xhYmVsIG1vZGUuXG4iCisjfiBtc2dzdHIgIk9TRi8xLXNjaGlqZmxhYmVsIGdldm9uZGVuIG9wICVzOyBvdmVyZ2VnYWFuIGluIHNjaGlqZmxhYmVsbW9kdXMuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV0FSTklORzogRE9TLWNvbXBhdGlibGUgbW9kZSBpcyBkZXByZWNhdGVkLiBJdCdzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvXG4iCisjfiAiICAgICAgICAgc3dpdGNoIG9mZiB0aGUgbW9kZSAod2l0aCBjb21tYW5kICdjJykuIgorI34gbXNnc3RyICIiCisjfiAiV0FBUlNDSFVXSU5HOiBEZSBET1MtY29tcGF0aWJlbGUgbW9kdXMgd29yZHQgc3Rlcmsgb250cmFkZW4uXG4iCisjfiAiICAgICAgICAgICAgICBTY2hha2VsIGRlIG1vZHVzIHVpdCBtZXQgb3BkcmFjaHQgJ2MnLiIKKworI34gbXNnaWQgIiIKKyN+ICJXQVJOSU5HOiBjeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4gVXNlIGNvbW1hbmQgJ3UnIHRvXG4iCisjfiAiICAgICAgICAgY2hhbmdlIHVuaXRzIHRvIHNlY3RvcnMuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJXQUFSU0NIVVdJTkc6IERlIHdlZXJnYXZlLWVlbmhlaWQgJ2NpbGluZGVycycgd29yZHQgb250cmFkZW4uXG4iCisjfiAiICAgICAgICAgICAgICBHZWJydWlrICd1JyBvbSBkZSBlZW5oZWlkIG9wICdzZWN0b3JlbicgaW4gdGUgc3RlbGxlbi5cbiIKKworI34gbXNnaWQgIk5ldyBkaXNrIGlkZW50aWZpZXIgKGN1cnJlbnQgMHglMDh4KTogIgorI34gbXNnc3RyICJOaWV1dyBzY2hpamYtSUQgKGh1aWRpZ2UgaXMgMHglMDh4KTogIgorCisjfiBtc2dpZCAiTm8gZnJlZSBzZWN0b3JzIGF2YWlsYWJsZVxuIgorI34gbXNnc3RyICJHZWVuIHZyaWplIHNlY3RvcmVuIGJlc2NoaWtiYWFyXG4iCisKKyN+IG1zZ2lkICJMYXN0ICUxJHMsICslMiRzIG9yICtzaXple0ssTSxHfSIKKyN+IG1zZ3N0ciAiTGFhdHN0ZSAlcywgKyVzIG9mICtncm9vdHRle0ssTSxHfSIKKworI34gbXNnaWQgIiAgICAgcGh5cz0oJWQsICVkLCAlZCkgIgorI34gbXNnc3RyICIgICAgIGZ5c2llaz0oJWQsICVkLCAlZCkgICIKKworI34gbXNnaWQgImxvZ2ljYWw9KCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgImxvZ2lzY2g9KCVkLCAlZCwgJWQpXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBiYWQgc3RhcnQtb2YtZGF0YSBpbiBwYXJ0aXRpb24gJXpkXG4iCisjfiBtc2dzdHIgIldhYXJzY2h1d2luZzogb25nZWxkaWdlIHN0YXJ0LXZhbi1nZWdldmVucyBpbiBwYXJ0aXRpZSAlemRcbiIKKworI34gbXNnaWQgIkFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIkVlbiBwcmltYWlyZSBwYXJ0aXRpZSB3b3JkdCB0b2VnZXZvZWdkLlxuIgorCisjfiBtc2dpZCAiV0FSTklORzogSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnkgRE9TIDYueHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGZkaXNrIG1hbnVhbCBwYWdlIGZvciBhZGRpdGlvbmFsaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJXQUFSU0NIVVdJTkc6IEFscyB1IERPUy02LngtcGFydGl0aWVzIGdlbWFha3Qgb2YgZ2V3aWp6aWdkIGhlYnQsXG4iCisjfiAicmFhZHBsZWVnIGRhbiBoZXQgZmRpc2staGFuZGJvZWsgdm9vciBtZWVyIGluZm9ybWF0aWUuXG4iCisKKyN+IG1zZ2lkICIlKnMgQm9vdCAgICAgIFN0YXJ0ICAgICAgICAgRW5kICAgICAgQmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIlKnMgT3BzdGFydCAgIEJlZ2luICAgICAgIEVpbmRlICAgICBCbG9ra2VuICAgSUQgIFN5c3RlZW1cbiIKKworI34gbXNnaWQgIkRpc2sgJXM6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMsICVsbHUgY3lsaW5kZXJzXG4iCisjfiBtc2dzdHIgIlNjaGlqZiAlczogJWQga29wcGVuLCAlbGx1IHNlY3RvcmVuLCAlbGx1IGNpbGluZGVyc1xuIgorCisjfiBtc2dpZCAiTnIgQUYgIEhkIFNlYyAgQ3lsICBIZCBTZWMgIEN5bCAgICAgU3RhcnQgICAgICBTaXplIElEXG4iCisjfiBtc2dzdHIgIk5yIEFGIEtvcCBTZWMgIENpbCBLb3AgU2VjICBDaWwgICAgICBCZWdpbiAgICBHcm9vdHRlIElEXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXHRUaGVyZSBpcyBhIHZhbGlkIE1hYyBsYWJlbCBvbiB0aGlzIGRpc2suXG4iCisjfiAiXHRVbmZvcnR1bmF0ZWx5IGZkaXNrKDEpIGNhbm5vdCBoYW5kbGUgdGhlc2UgZGlza3MuXG4iCisjfiAiXHRVc2UgZWl0aGVyIHBkaXNrIG9yIHBhcnRlZCB0byBtb2RpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZS5cbiIKKyN+ICJcdE5ldmVydGhlbGVzcyBzb21lIGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICBFciBzdGFhdCBlZW4gZ2VsZGlnIE1hYy1sYWJlbCBvcCBkZXplIHNjaGlqZi5cbiIKKyN+ICIgICAgSGVsYWFzIG9uZGVyc3RldW50ICdmZGlzaycgZGl0IHR5cGUgbGFiZWwgbmlldC5cbiIKKyN+ICIgICAgR2VicnVpayAncGFydGVkJyBvbSBkZSBwYXJ0aXRpZXRhYmVsIGFhbiB0ZSBwYXNzZW4uXG4iCisjfiAiICAgIFRvY2ggd2F0IGFkdmllczpcbiIKKyN+ICIgICAgMS4gQmlqIHNjaHJpanZlbiB6YWwgZmRpc2sgZGUgaW5ob3VkIGVydmFuIFdJU1NFTi5cbiIKKyN+ICIgICAgMi4gQ29udHJvbGVlciBkYXQgZGV6ZSBzY2hpamYgRUNIVCBOSUVUIG5vZyBkZWVsIHVpdG1hYWt0XG4iCisjfiAiICAgICAgIHZhbiBlZW4gdm9sdW1lbmdyb2VwIC0tIGFuZGVycyB3aXN0IHUgbW9nZWxpamsgZGUgYW5kZXJlXG4iCisjfiAiICAgICAgIHNjaGlqdmVuIG9vaywgYWxzIGVyIGdlZW4gbWlycm9yIGlzLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlx0U29ycnkgLSB0aGlzIGZkaXNrIGNhbm5vdCBoYW5kbGUgTWFjIGRpc2sgbGFiZWxzLlxuIgorI34gIlx0SWYgeW91IHdhbnQgdG8gYWRkIERPUy10eXBlIHBhcnRpdGlvbnMsIGNyZWF0ZVxuIgorI34gIlx0YSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSBmaXJzdC4gKFVzZSBvLilcbiIKKyN+ICJcdFdBUk5JTkc6IFRoaXMgd2lsbCBkZXN0cm95IHRoZSBwcmVzZW50IGRpc2sgY29udGVudHMuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgU29ycnkgLS0gZGV6ZSBmZGlzayBvbmRlcnN0ZXVudCBnZWVuIE1hYy1zY2hpamZsYWJlbHMuXG4iCisjfiAiICAgIEFscyB1IHBhcnRpdGllcyB2YW4gaGV0IERPUy10eXBlIHdpbHQgdG9ldm9lZ2VuLCBtYWFrIGRhblxuIgorI34gIiAgICBlZXJzdCBlZW4gbmlldXdlLCBsZWdlIERPUy1wYXJ0aXRpZXRhYmVsLiAgKEdlYnJ1aWsgJ28nLilcbiIKKyN+ICIgICAgV0FBUlNDSFVXSU5HOiBEaXQgemFsIGRlIGh1aWRpZ2Ugc2NoaWpmaW5ob3VkIHdpc3Nlbi5cbiIKKworI34gbXNnaWQgIkFjY29yZGluZyB0byBNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYyB0aGUgTGFiZWwgbXVzdCBub3QgY29udGFpbiBtb3JlIHRoYW4gNTEyIGJ5dGVzXG4iCisjfiBtc2dzdHIgIlZvbGdlbnMgJ01JUFMgQ29tcHV0ZXIgU3lzdGVtcycgbWFnIGhldCBsYWJlbCBuaWV0IG1lZXIgZGFuIDUxMiBieXRlcyBiZXZhdHRlbi5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJEaXNrICVzIChTR0kgZGlzayBsYWJlbCk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMsICVsbHUgY3lsaW5kZXJzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqICVsZCBieXRlc1xuIgorI34gbXNnc3RyICIiCisjfiAiU2NoaWpmICVzIChTR0ktc2NoaWpmbGFiZWwpOiAlZCBrb3BwZW4sICVsbHUgc2VjdG9yZW4sICVsbHUgY2lsaW5kZXJzXG4iCisjfiAiRWVuaGVpZCA9ICVzIHZhbiAlZCAqICVsZCBieXRlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIi0tLS0tIHBhcnRpdGlvbnMgLS0tLS1cbiIKKyN+ICJQdCMgJSpzICBJbmZvICAgICBTdGFydCAgICAgICBFbmQgICBTZWN0b3JzICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLS0tLSBQYXJ0aXRpZXMgLS0tLS1cbiIKKyN+ICJQdCMgJSpzICBJbmZvICAgICBCZWdpbiAgICAgRWluZGUgIFNlY3RvcmVuICBJRCAgU3lzdGVlbVxuIgorCisjfiBtc2dpZCAiIgorI34gIi0tLS0tIEJvb3RpbmZvIC0tLS0tXG4iCisjfiAiQm9vdGZpbGU6ICVzXG4iCisjfiAiLS0tLS0gRGlyZWN0b3J5IEVudHJpZXMgLS0tLS1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIi0tLS0tIE9wc3RhcnRpbmZvIC0tLS0tXG4iCisjfiAiT3BzdGFydGJlc3RhbmQ6ICVzXG4iCisjfiAiLS0tLS0gTWFwaW5nYW5nZW4gLS0tLS1cbiIKKworI34gbXNnaWQgIiUyemQ6ICUtMTBzIHNlY3RvciU1dSBzaXplJTh1XG4iCisjfiBtc2dzdHIgIiUyemQ6ICUtMTBzIHNlY3RvciU1dSBncm9vdHRlJTh1XG4iCisKKyN+IG1zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWRcbiIKKyN+IG1zZ3N0ciAiR2VlbiBwYXJ0aXRpZXMgZ2VkZWZpbmllZXJkXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGVudGlyZSBkaXNrIHBhcnRpdGlvbiBpcyBvbmx5ICVkIGRpc2tibG9jayBsYXJnZSxcbiIKKyN+ICJidXQgdGhlIGRpc2sgaXMgJWQgZGlza2Jsb2NrcyBsb25nLlxuIgorI34gbXNnc3RyICIiCisjfiAiRGUgZ2VoZWxlLXNjaGlqZnBhcnRpdGllIGlzIHNsZWNodHMgJWQgc2NoaWpmYmxva2tlbiBncm9vdCxcbiIKKyN+ICJtYWFyIGRlIHNjaGlqZiBpcyAlZCBzY2hpamZibG9ra2VuLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGRvZXMgbm90IHN0YXJ0IG9uIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gbXNnc3RyICJQYXJ0aXRpZSAlZCBiZWdpbnQgbmlldCBvcCBlZW4gY2lsaW5kZXJncmVucy5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIlBhcnRpdGllICVkIGVpbmRpZ3QgbmlldCBvcCBlZW4gY2lsaW5kZXJncmVucy5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlemQgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQYXJ0aXRpZSAlemQgaXMgYWwgZ2VkZWZpbmllZXJkLiAgVmVyd2lqZGVyIGRlemUgZWVyc3QsXG4iCisjfiAiZW4gdm9lZyBoZW0gZGFuIG9wbmlldXcgdG9lLlxuIgorCisjfiBtc2dpZCAiIExhc3QgJXMiCisjfiBtc2dzdHIgIiBMYWF0c3RlICVzIgorCisjfiBtc2dpZCAiQnVpbGRpbmcgYSBuZXcgU0dJIGRpc2tsYWJlbC5cbiIKKyN+IG1zZ3N0ciAiQWFubWFrZW4gdmFuIGVlbiBuaWV1dyBTR0ktc2NoaWpmbGFiZWwuXG4iCisKKyN+IG1zZ2lkICJIRElPX0dFVEdFTyBpb2N0bCBmYWlsZWQgb24gJXMiCisjfiBtc2dzdHIgImlvY3RsKEhESU9fR0VUR0VPKSBpcyBtaXNsdWt0IG9wICVzIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6ICBCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuXG4iCisjfiAiVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIldhYXJzY2h1d2luZzogaW9jdGwoQkxLR0VUU0laRSkgaXMgbWlzbHVrdCBvcCAlcy5cbiIKKyN+ICJDaWxpbmRlcmdlb21ldHJpZXdhYXJkZSAlbGx1IHdvcmR0IG51IGdlYnJ1aWt0LlxuIgorI34gIkRlemUgd2FhcmRlIGthbiB2b29yIGFwcGFyYXRlbiBncm90ZXIgZGFuIDMzLjggR0IgYWZnZWthcHQgemlqbi5cbiIKKworI34gbXNnaWQgIklEPSUwMnhcdFNUQVJUPSVkXHRMRU5HVEg9JWRcbiIKKyN+IG1zZ3N0ciAiSUQ9JTAyeFx0U3RhcnQ9JWRcdExlbmd0ZT0lZFxuIgorCisjfiBtc2dpZCAiVHJ5aW5nIHRvIGtlZXAgcGFyYW1ldGVycyBvZiBwYXJ0aXRpb25zIGFscmVhZHkgc2V0LlxuIgorI34gbXNnc3RyICJFciB3b3JkdCBnZXByb2JlZXJkIHJlZWRzIGluZ2VzdGVsZGUgcGFydGl0aWVwYXJhbWV0ZXJzIHRlIGJlaG91ZGVuLlxuIgorCisjfiBtc2dpZCAiWUVTXG4iCisjfiBtc2dzdHIgIkpBXG4iCisKKyN+IG1zZ2lkICJCdWlsZGluZyBhIG5ldyBTdW4gZGlza2xhYmVsLiIKKyN+IG1zZ3N0ciAiQWFubWFrZW4gdmFuIGVlbiBuaWV1dyBTdW4tc2NoaWpmbGFiZWwuIgorCisjfiBtc2dpZCAiIgorI34gIkRpc2sgJXMgKFN1biBkaXNrIGxhYmVsKTogJXUgaGVhZHMsICVsbHUgc2VjdG9ycywgJWQgcnBtXG4iCisjfiAiJWxsdSBjeWxpbmRlcnMsICVkIGFsdGVybmF0ZSBjeWxpbmRlcnMsICVkIHBoeXNpY2FsIGN5bGluZGVyc1xuIgorI34gIiVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiAiTGFiZWwgSUQ6ICVzXG4iCisjfiAiVm9sdW1lIElEOiAlc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiA1MTIgYnl0ZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlNjaGlqZiAlcyAoU3VuLXNjaGlqZmxhYmVsKTogJXUga29wcGVuLCAlbGx1IHNlY3RvcmVuLCAlZCBycG1cbiIKKyN+ICIlbGx1IGNpbGluZGVycywgJWQgYWx0ZXJuYXRpZXZlIGNpbGluZGVycywgJWQgZnlzaWVrZSBjaWxpbmRlcnNcbiIKKyN+ICIlZCBleHRyYSBzZWN0b3Jlbi9jaWxpbmRlciwgdHVzc2VucnVpbXRlICVkOjFcbiIKKyN+ICJMYWJlbC1JRDogJXNcbiIKKyN+ICJWb2x1bWVuLUlEOiAlc1xuIgorI34gIkVlbmhlaWQgPSAlcyB2YW4gJWQgKiA1MTIgYnl0ZXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJEaXNrICVzIChTdW4gZGlzayBsYWJlbCk6ICV1IGhlYWRzLCAlbGx1IHNlY3RvcnMsICVsbHUgY3lsaW5kZXJzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqIDUxMiBieXRlc1xuIgorI34gbXNnc3RyICIiCisjfiAiU2NoaWpmICVzIChTdW4tc2NoaWpmbGFiZWwpOiAldSBrb3BwZW4sICVsbHUgc2VjdG9yZW4sICVsbHUgY2lsaW5kZXJzXG4iCisjfiAiRWVuaGVpZCA9ICVzIHZhbiAlZCAqIDUxMiBieXRlc1xuIgorCisjfiBtc2dpZCAiJSpzIEZsYWcgICAgU3RhcnQgICAgICAgRW5kICAgIEJsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiJSpzIE9wdGllICAgQmVnaW4gICAgIEVpbmRlICAgQmxva2tlbiAgIElEICBTeXN0ZWVtXG4iCisKKyN+IG1zZ2lkICIlcyAtQW4gZGV2aWNlXHQgYWN0aXZhdGUgcGFydGl0aW9uIG4sIGluYWN0aXZhdGUgdGhlIG90aGVyIG9uZXNcbiIKKyN+IG1zZ3N0ciAiJXMgLUFuIGFwcGFyYWF0ICAgICAgICBwYXJ0aXRpZSBuIGFjdGl2ZXJlbiwgYWxsZSBhbmRlcmUgZGUtYWN0aXZlcmVuXG4iCisKKyN+IG1zZ2lkICJEb25lXG4iCisjfiBtc2dzdHIgIlZvbHRvb2lkXG4iCisKKyN+IG1zZ2lkICJXQVJOSU5HOiBmZGlzayBHUFQgc3VwcG9ydCBpcyBjdXJyZW50bHkgbmV3LCBhbmQgdGhlcmVmb3JlIGluIGFuIGV4cGVyaW1lbnRhbCBwaGFzZS4gVXNlIGF0IHlvdXIgb3duIGRpc2NyZXRpb24uIgorI34gbXNnc3RyICJXQUFSU0NIVVdJTkc6IEdQVC1vbmRlcnN0ZXVuaW5nIGluIGZkaXNrIGlzIG5pZXV3IGVuIG5vZyBpbiBlZW4gZXhwZXJpbWVudGVlbCBzdGFkaXVtLiBHZWJydWlrIG9wIGVpZ2VuIHJpc2ljby4iCisKKyN+IG1zZ2lkICJDcmVhdGVkIHBhcnRpdGlvbiAlemRcbiIKKyN+IG1zZ3N0ciAiUGFydGl0aWUgJXpkIGlzIGFhbmdlbWFha3RcbiIKKworI34gbXNnaWQgIkJ1aWxkaW5nIGEgbmV3IEdQVCBkaXNrbGFiZWwgKEdVSUQ6ICUwOFgtJTA0WC0lMDRYLSUwMlglMDJYLSUwMlglMDJYJTAyWCUwMlglMDJYJTAyWClcbiIKKyN+IG1zZ3N0ciAiQWFubWFrZW4gdmFuIGVlbiBuaWV1dyBHUFQtc2NoaWpmbGFiZWwgKEdVSUQ6ICUwOFgtJTA0WC0lMDRYLSUwMlglMDJYLSUwMlglMDJYJTAyWCUwMlglMDJYJTAyWClcbiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPFVTRVI+IENPTU1BTkRcbiIKKyN+IG1zZ3N0ciAiICAlcyBbb3B0aWVzXSAtdSBHRUJSVUlLRVIgT1BEUkFDSFRcbiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFtVU0VSIFthcmddLi4uXVxuIgorI34gbXNnc3RyICIgICVzIFtvcHRpZXNdIFstXSBbR0VCUlVJS0VSIFs8YXJndW1lbnQ+Li4uXV1cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLTEsIC0tb25lICAgICAgICBzaG93IG9ubHkgY3VycmVudCBtb250aCAoZGVmYXVsdClcbiIKKyN+ICIgLTMsIC0tdGhyZWUgICAgICBzaG93IHByZXZpb3VzLCBjdXJyZW50IGFuZCBuZXh0IG1vbnRoXG4iCisjfiAiIC1zLCAtLXN1bmRheSAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCisjfiAiIC1tLCAtLW1vbmRheSAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCisjfiAiIC1qLCAtLWp1bGlhbiAgICAgb3V0cHV0IEp1bGlhbiBkYXRlc1xuIgorI34gIiAteSwgLS15ZWFyICAgICAgIHNob3cgd2hvbGUgY3VycmVudCB5ZWFyXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIC0xLCAtLW9uZSAgICAgICAgaHVpZGlnZSBtYWFuZCB0b25lbiAoc3RhbmRhYXJkKVxuIgorI34gIiAgLTMsIC0tdGhyZWUgICAgICB2b3JpZ2UsIGh1aWRpZ2UgZW4gdm9sZ2VuZGUgbWFhbmQgdG9uZW5cbiIKKyN+ICIgIC1zLCAtLXN1bmRheSAgICAgem9uZGFnIGlzIGVlcnN0ZSBkYWcgdmFuIGRlIHdlZWtcbiIKKyN+ICIgIC1tLCAtLW1vbmRheSAgICAgbWFhbmRhZyBpcyBlZXJzdGUgZGFnIHZhbiBkZSB3ZWVrXG4iCisjfiAiICAtaiwgLS1qdWxpYW4gICAgIEp1bGlhYW5zZSBkYXR1bXMgd2VlcmdldmVuXG4iCisjfiAiICAteSwgLS15ZWFyICAgICAgIGhldCBoZWxlIGh1aWRpZ2UgamFhciB0b25lblxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZCwgLS11ZHAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCisjfiAiIC1pLCAtLWlkICAgICAgICAgICAgICBsb2cgdGhlIHByb2Nlc3MgSUQgdG9vXG4iCisjfiAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICBsb2cgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZVxuIgorI34gbXNnc3RyICIiCisjfiAiICAtZCwgLS11ZHAgICAgICAgICAgICAgIGFsbGVlbiBVRFAgZ2VicnVpa2VuXG4iCisjfiAiICAtaSwgLS1pZCAgICAgICAgICAgICAgIGhldCBwcm9jZXMtSUQgb29rIHZhc3RsZWdnZW5cbiIKKyN+ICIgIC1mLCAtLWZpbGUgPGJlc3RhbmQ+ICAgZGUgaW5ob3VkIHZhbiBkaXQgYmVzdGFuZCBsb2dnZW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLW4sIC0tc2VydmVyIDxuYW1lPiAgIHdyaXRlIHRvIHRoaXMgcmVtb3RlIHN5c2xvZyBzZXJ2ZXJcbiIKKyN+ICIgLVAsIC0tcG9ydCA8bnVtYmVyPiAgIHVzZSB0aGlzIFVEUCBwb3J0XG4iCisjfiAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiBtYXJrIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGlzIHByaW9yaXR5XG4iCisjfiAiIC1zLCAtLXN0ZGVyciAgICAgICAgICBvdXRwdXQgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvciBhcyB3ZWxsXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIC1uLCAtLXNlcnZlciA8bmFhbT4gICAgbmFhciBkZXplIHN5c2xvZy1zZXJ2ZXIgb3AgYWZzdGFuZCBzY2hyaWp2ZW5cbiIKKyN+ICIgIC1QLCAtLXBvcnQgPG51bW1lcj4gICAgZGV6ZSBVRFAtcG9vcnQgZ2VicnVpa2VuXG4iCisjfiAiICAtcCwgLS1wcmlvcml0eSA8cHJpbz4gIGRlIHRlIHNjaHJpanZlbiByZWdlbHMgbWV0IGRlemUgcHJpb3JpdGVpdCBtYXJrZXJlblxuIgorI34gIiAgLXMsIC0tc3RkZXJyICAgICAgICAgICBkZSByZWdlbHMgb29rIG5hYXIgc3RhbmRhYXJkZm91dHVpdHZvZXIgc2NocmlqdmVuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC10LCAtLXRhZyA8dGFnPiAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorI34gIiAtdSwgLS1zb2NrZXQgPHNvY2tldD4gd3JpdGUgdG8gdGhpcyBVbml4IHNvY2tldFxuIgorI34gbXNnc3RyICIiCisjfiAiICAtdCwgLS10YWcgPHRla3N0amU+ICAgIGVsa2UgcmVnZWwgbGFiZWxlbiBtZXQgZGl0IHRla3N0amVcbiIKKyN+ICIgIC11LCAtLXNvY2tldCA8c29ja2V0PiAgbmFhciBkZXplIFVuaXgtc29ja2V0IHNjaHJpanZlblxuIgorCisjfiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4vY3JlYXRlICVzOiAlbVxuIgorI34gbXNnc3RyICJPcGVuZW4vYWFubWFrZW4gdmFuICVzIGlzIG1pc2x1a3Q6ICVtXG4iCisKKyN+IG1zZ2lkICJGYWlsZWQgdG8gbG9jayAlczogJW1cbiIKKyN+IG1zZ3N0ciAiVmVyZ3JlbmRlbGVuIHZhbiAlcyBpcyBtaXNsdWt0OiAlbVxuIgorCisjfiBtc2dpZCAiQmFkIG51bWJlcjogJXNcbiIKKyN+IG1zZ3N0ciAiT25nZWxkaWcgZ2V0YWw6ICVzXG4iCisKKyN+IG1zZ2lkICItLW5vdGltZSBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1jdGltZSBvciAtLXJlbHRpbWUiCisjfiBtc2dzdHIgIm9wdGllICctLW5vdGltZScgZ2FhdCBuaWV0IHNhbWVuICctLWN0aW1lJyAgb2YgJy0tcmVsdGltZSciCisKKyN+IG1zZ2lkICJmaW5kIHVudXNlZCBsb29wIGRldmljZSBmYWlsZWQiCisjfiBtc2dzdHIgImthbiBnZWVuIG9uZ2VicnVpa3QgbHVzLWFwcGFyYWF0IHZpbmRlbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAgZG8gbm90IHByaW50IGJhbm5lciwgd29ya3Mgb25seSBmb3Igcm9vdFxuIgorI34gIiAtdCwgLS10aW1lb3V0IDx0aW1lb3V0PiB3cml0ZSB0aW1lb3V0IGluIHNlY29uZHNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLW4sIC0tbm9iYW5uZXIgICAgICAgICAga29wcmVnZWxzIG5pZXQgd2VlcmdldmVuICh3ZXJrdCBhbGxlZW4gdm9vciByb290KVxuIgorI34gIiAgLXQsIC0tdGltZW91dCA8YWFudGFsPiAgbWF4aW1hYWwgZGl0IGFhbnRhbCBzZWNvbmRlbiB3YWNodGVuLCBkYW4gb3BnZXZlblxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gbXNnc3RyICJHZWJydWlrOiAgJXMgW29wdGllc10gPGJlc3RhbmQ+Li4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLWIgICAgICAgICAgICAgIG9uZS1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKKyN+ICIgLWMgICAgICAgICAgICAgIG9uZS1ieXRlIGNoYXJhY3RlciBkaXNwbGF5XG4iCisjfiAiIC1DICAgICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKKyN+ICIgLWQgICAgICAgICAgICAgIHR3by1ieXRlIGRlY2ltYWwgZGlzcGxheVxuIgorI34gIiAtbyAgICAgICAgICAgICAgdHdvLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorI34gIiAteCAgICAgICAgICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorI34gIiAtZSBmb3JtYXQgICAgICAgZm9ybWF0IHN0cmluZyB0byBiZSB1c2VkIGZvciBkaXNwbGF5aW5nIGRhdGFcbiIKKyN+ICIgLWYgZm9ybWF0X2ZpbGUgIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorI34gIiAtbiBsZW5ndGggICAgICAgaW50ZXJwcmV0IG9ubHkgbGVuZ3RoIGJ5dGVzIG9mIGlucHV0XG4iCisjfiAiIC1zIG9mZnNldCAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKKyN+ICIgLXYgICAgICAgICAgICAgIGRpc3BsYXkgd2l0aG91dCBzcXVlZXppbmcgc2ltaWxhciBsaW5lc1xuIgorI34gIiAtViAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIk9wdGllczpcbiIKKyN+ICIgLWIgICAgICAgICAgICAgIGVlbmJ5dGVzLW9jdGFsZSB3ZWVyZ2F2ZVxuIgorI34gIiAtYyAgICAgICAgICAgICAgZWVuYnl0ZXMtdGVrc3R1ZWxlIHdlZXJnYXZlXG4iCisjfiAiIC1DICAgICAgICAgICAgICBrYW5vbmlla2Ugd2VlcmdhdmU6IGhleCBwbHVzIEFTQ0lJXG4iCisjfiAiIC1kICAgICAgICAgICAgICB0d2VlYnl0ZXMtZGVjaW1hbGUgd2VlcmdhdmVcbiIKKyN+ICIgLW8gICAgICAgICAgICAgIHR3ZWVieXRlcy1vY3RhbGUgd2VlcmdhdmVcbiIKKyN+ICIgLXggICAgICAgICAgICAgIHR3ZWVieXRlcy1oZXhhZGVjaW1hbGUgd2VlcmdhdmVcbiIKKyN+ICIgLWUgT1BNQUFLICAgICAgIHRlIGdlYnJ1aWtlbiBvcG1hYWt0ZWtlbnJlZWtzIHZvb3Igd2VlcmdhdmVcbiIKKyN+ICIgLWYgT1BNQUFLQkVTVEFORCAgdGUgZ2VicnVpa2VuIG9wbWFha3Rla2VucmVla3NlbiB1aXQgZGl0IGJlc3RhbmQgaGFsZW5cbiIKKyN+ICIgLW4gQUFOVEFMICAgICAgIHNsZWNodHMgZGl0IGFhbnRhbCBieXRlcyB2YW4gZGUgaW52b2VyIHdlZXJnZXZlblxuIgorI34gIiAtcyBQT1NJVElFICAgICAgb3AgZGV6ZSBwb3NpdGllIGluIGhldCBiZXN0YW5kIGJlZ2lubmVuXG4iCisjfiAiIC12ICAgICAgICAgICAgICBnZWxpamtlbmRlIHJlZ2VscyBuaWV0IHNhbWVuZHJ1a2tlblxuIgorCisjfiBtc2dpZCAiY3J5cHQgZmFpbGVkOiAlbVxuIgorI34gbXNnc3RyICJjcnlwdCgpIGlzIG1pc2x1a3Q6ICVtXG4iCisKKyN+IG1zZ2lkICJDYW4gbm90IGZvcms6ICVtXG4iCisjfiBtc2dzdHIgIkthbiBnZWVuIG5pZXV3IHByb2NlcyBzdGFydGVuOiAlbVxuIgorCisjfiBtc2dpZCAiYnVnIGluIHhzdHJuZHVwIGNhbGwiCisjfiBtc2dzdHIgIipwcm9ncmFtbWVlcmZvdXQqIGluIGFhbnJvZXAgdmFuIHhzdHJuZHVwKCkiCisKKyN+IG1zZ2lkICIiCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLUEgICAgICAgICBjaGVjayBhbGwgZmlsZXN5c3RlbXNcbiIKKyN+ICIgLVIgICAgICAgICBza2lwIHJvb3QgZmlsZXN5c3RlbTsgdXNlZnVsIG9ubHkgd2l0aCBgLUEnXG4iCisjfiAiIC1NICAgICAgICAgZG8gbm90IGNoZWNrIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKKyN+ICIgLXQgPHR5cGU+ICBzcGVjaWZ5IGZpbGVzeXN0ZW0gdHlwZXMgdG8gYmUgY2hlY2tlZDtcbiIKKyN+ICIgICAgICAgICAgICAgIHR5cGUgaXMgYWxsb3dlZCB0byBiZSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuIgorI34gIiAtUCAgICAgICAgIGNoZWNrIGZpbGVzeXN0ZW1zIGluIHBhcmFsbGVsLCBpbmNsdWRpbmcgcm9vdFxuIgorI34gIiAtciAgICAgICAgIHJlcG9ydCBzdGF0aXN0aWNzIGZvciBlYWNoIGRldmljZSBmc2NrXG4iCisjfiAiIC1zICAgICAgICAgc2VyaWFsaXplIGZzY2sgb3BlcmF0aW9uc1xuIgorI34gIiAtbCAgICAgICAgIGxvY2sgdGhlIGRldmljZSB1c2luZyBmbG9jaygpXG4iCisjfiAiIC1OICAgICAgICAgZG8gbm90IGV4ZWN1dGUsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGJlIGRvbmVcbiIKKyN+ICIgLVQgICAgICAgICBkbyBub3Qgc2hvdyB0aGUgdGl0bGUgb24gc3RhcnR1cFxuIgorI34gIiAtQyA8ZmQ+ICAgIGRpc3BsYXkgcHJvZ3Jlc3MgYmFyOyBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKKyN+ICIgLVYgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorI34gIiAtPyAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiU2VlIGZzY2suKiBjb21tYW5kcyBmb3IgZnMtb3B0aW9ucy4iCisjfiBtc2dzdHIgIiIKKyN+ICJPcHRpZXM6XG4iCisjfiAiICAtQSAgICAgICAgICBhbGxlIGJlc3RhbmRzc3lzdGVtZW4gY29udHJvbGVyZW5cbiIKKyN+ICIgIC1SICAgICAgICAgIGhldCBiYXNpc2Jlc3RhbmRzc3l0ZWVtIG92ZXJzbGFhbiAobnV0dGlnIHNhbWVuIG1ldCAnLUEnKVxuIgorI34gIiAgLU0gICAgICAgICAgYWFuZ2Vrb3BwZWxkZSBiZXN0YW5kc3N5c3RlbWVuIG5pZXQgY29udHJvbGVyZW5cbiIKKyN+ICIgIC10IDxzb29ydD4gIGFsbGVlbiBkZXplIGJlc3RhbmRzc3lzdGVlbXNvb3J0ZW4gY29udHJvbGVyZW47XG4iCisjfiAiICAgICAgICAgICAgICAgIDxzb29ydD4gbWFnIGVlbiBrb21tYWdlc2NoZWlkZW4gbGlqc3QgemlqblxuIgorI34gIiAgLVAgICAgICAgICAgYmVzdGFuZHNzeXN0ZW1lbiBwYXJhbGxlbCBjb250cm9sZXJlbiwgb29rIGhldCBiYXNpc3N5c3RlZW1cbiIKKyN+ICIgIC1yICAgICAgICAgIHN0YXRpc3RpZWtlbiB3ZWVyZ2V2ZW4gdm9vciBlbGtlIGFwcGFyYWF0Y29udHJvbGVcbiIKKyN+ICIgIC1zICAgICAgICAgIGRlICdmc2NrJy1iZXdlcmtpbmdlbiBzZXJpYWxpc2VyZW5cbiIKKyN+ICIgIC1sICAgICAgICAgIGhldCBhcHBhcmFhdCB2ZXJncmVuZGVsZW4gbWV0IGZsb2NrKClcbiIKKyN+ICIgIC1OICAgICAgICAgIG5pZXRzIGVjaHQgZG9lbiwgYWxsZWVuIHRvbmVuIHdhdCBlciBnZWRhYW4gem91IHdvcmRlblxuIgorI34gIiAgLVQgICAgICAgICAgZ2VlbiB0aXRlbCB0b25lbiBiaWogZGUgcHJvZ3JhbW1hc3RhcnRcbiIKKyN+ICIgIC1DIFs8YmQ+XSAgIHZvb3J0Z2FuZ3NiYWxrIHRvbmVuOyBkZSBiZXN0YW5kc2Rlc2NyaXB0b3IgaXMgdm9vciBHVUknc1xuIgorI34gIiAgLVYgICAgICAgICAgd2VlcmdldmVuIHdhdCBlciBnZWRhYW4gd29yZHRcbiIKKyN+ICJcbiIKKyN+ICJaaWUgZGUgYmV0cmVmZmVuZGUgJ2ZzY2suKictb3BkcmFjaHRlbiB2b29yIGJlc3RhbmRzc3lzdGVlbW9wdGllcy4iCisKKyN+IG1zZ2lkICIiCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLWQsIC0tZGl2aXNvcj1OVU0gICAgICBkaXZpZGUgYnl0ZXMgTlVNXG4iCisjfiAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgc2hvdyBzZWN0b3IgY291bnQgYW5kIHNpemVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIk9wdGllczpcbiIKKyN+ICIgIC1kLCAtLWRpdmlzb3I9R0VUQUwgICAgZGUgbGVuZ3RlIHZhbiBoZXQgSVNPLWJlc3RhbmQgZG9vciBHRVRBTCBkZWxlblxuIgorI34gIiAgLXgsIC0tc2VjdG9ycyAgICAgICAgICBoZXQgYWFudGFsIHNlY3RvcmVuIGVuIGRlIHNlY3Rvcmdyb290dGUgdG9uZW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtdCwgLS10eXBlPVRZUEUgIGZpbGUgc3lzdGVtIHR5cGUsIHdoZW4gdW5kZWZpbmVkIGV4dDIgaXMgdXNlZFxuIgorI34gIiAgICAgZnMtb3B0aW9ucyAgIHBhcmFtZXRlcnMgdG8gcmVhbCBmaWxlIHN5c3RlbSBidWlsZGVyXG4iCisjfiAiICAgICBkZXZpY2UgICAgICAgcGF0aCB0byBhIGRldmljZVxuIgorI34gIiAgICAgc2l6ZSAgICAgICAgIG51bWJlciBvZiBibG9ja3Mgb24gdGhlIGRldmljZVxuIgorI34gIiAtViwgLS12ZXJib3NlICAgIGV4cGxhaW4gd2hhdCBpcyBkb25lXG4iCisjfiAiICAgICAgICAgICAgICAgICAgZGVmaW5pbmcgLVYgbW9yZSB0aGFuIG9uY2Ugd2lsbCBjYXVzZSBhIGRyeS1ydW5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIk9wdGllczpcbiIKKyN+ICIgIC10LCAtLXR5cGU9U09PUlQgICAgYmVzdGFuZHNzeXN0ZWVtc29vcnQgKHdhbm5lZXIgbmlldCBnZWdldmVuOiBleHQyKVxuIgorI34gIiAgICAgIGJzLW9wdGllcyAgICAgICBhcmd1bWVudGVuIHZvb3IgZGUgZmVpdGVsaWprZSBiZXN0YW5kc3lzdGVlbW1ha2VyXG4iCisjfiAiICAgICAgYXBwYXJhYXQgICAgICAgIHBhZCBuYWFyIGVlbiBhcHBhcmFhdFxuIgorI34gIiAgICAgIGdyb290dGUgICAgICAgICBhYW50YWwgYmxva2tlbiBvcCBoZXQgYXBwYXJhYXRcbiIKKyN+ICIgIC1WLCAtLXZlcmJvc2UgICAgICAgd2VlcmdldmVuIHdhdCBlciBnZWRhYW4gd29yZHQ7IG1lZXJkZXJlICctVidzXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgIHZlcm9vcnpha2VuIGVlbiBlZmZlY3Rsb29zIGRvZW4tYWxzb2ZcbiIKKworI34gbXNnaWQgIm1rZnMgKCVzKVxuIgorI34gbXNnc3RyICJta2ZzICglcylcbiIKKworI34gbXNnaWQgInN0cnRvbCBlcnJvcjogbnVtYmVyIG9mIGJsb2NrcyBub3Qgc3BlY2lmaWVkIgorI34gbXNnc3RyICJmb3V0IGluIHN0cnRvbCgpOiBhYW50YWwgYmxva2tlbiBuaWV0IGFhbmdlZ2V2ZW4iCisKKyN+IG1zZ2lkICJvbmUgYmFkIHBhZ2VcbiIKKyN+IG1zZ3N0ciAiw6nDqW4gc2xlY2h0ZSBwYWdpbmFcbiIKKworI34gbXNnaWQgIiAgICAgICAgb24gd2hvbGUgZGlzay4gIgorI34gbXNnc3RyICIgICAgICAgIG9wIGRlIGdlaGVsZSBzY2hpamYuICIKKworI34gbXNnaWQgImRvZXMgbm90IHN1cHBvcnQgc3dhcHNwYWNlIHZlcnNpb24gJWQuIgorI34gbXNnc3RyICJvbmRlcnN0ZXVudCB3aXNzZWxnZWhldWdlbnZlcnNpZSAlZCBuaWV0LiIKKworI34gbXNnaWQgIldhcm5pbmchISAgVW5zdXBwb3J0ZWQgR1BUIChHVUlEIFBhcnRpdGlvbiBUYWJsZSkgZGV0ZWN0ZWQuIFVzZSBHTlUgUGFydGVkLiIKKyN+IG1zZ3N0ciAiIgorI34gIldhYXJzY2h1d2luZyEhICBOaWV0LW9uZGVyc3RldW5kZSBHUFQgKEdVSUQtcGFydGl0aWV0YWJlbCkgZ2V2b25kZW4hXG4iCisjfiAiR2VicnVpayBHTlUgJ3BhcnRlZCcuIgorCisjfiBtc2dpZCAiIgorI34gIlx0VGhlcmUgaXMgYSB2YWxpZCBBSVggbGFiZWwgb24gdGhpcyBkaXNrLlxuIgorI34gIlx0VW5mb3J0dW5hdGVseSBMaW51eCBjYW5ub3QgaGFuZGxlIHRoZXNlXG4iCisjfiAiXHRkaXNrcyBhdCB0aGUgbW9tZW50LiAgTmV2ZXJ0aGVsZXNzIHNvbWVcbiIKKyN+ICJcdGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+ICJcdDMuIEJlZm9yZSBkZWxldGluZyB0aGlzIHBoeXNpY2FsIHZvbHVtZSBiZSBzdXJlXG4iCisjfiAiXHQgICB0byByZW1vdmUgdGhlIGRpc2sgbG9naWNhbGx5IGZyb20geW91ciBBSVhcbiIKKyN+ICJcdCAgIG1hY2hpbmUuICAoT3RoZXJ3aXNlIHlvdSBiZWNvbWUgYW4gQUlYcGVydCkuIgorI34gbXNnc3RyICIiCisjfiAiICAgIEVyIHN0YWF0IGVlbiBnZWxkaWcgQUlYLWxhYmVsIG9wIGRlemUgc2NoaWpmLlxuIgorI34gIiAgICBIZWxhYXMgb25kZXJzdGV1bnQgTGludXggZGV6ZSBzY2hpanZlbiBvcCBkaXQgbW9tZW50IG5pZXQuXG4iCisjfiAiICAgIFRvY2ggd2F0IGFkdmllczpcbiIKKyN+ICIgICAgMS4gQmlqIHNjaHJpanZlbiB6YWwgZmRpc2sgZGUgaW5ob3VkIGVydmFuIFdJU1NFTi5cbiIKKyN+ICIgICAgMi4gQ29udHJvbGVlciBvZiBkZXplIHNjaGlqZiBFQ0hUIE5JRVQgbm9nIGRlZWwgdWl0bWFha3RcbiIKKyN+ICIgICAgICAgdmFuIGVlbiB2b2x1bWVuZ3JvZXAgLS0gYW5kZXJzIHdpc3QgdSBtb2dlbGlqayBkZSBhbmRlcmVcbiIKKyN+ICIgICAgICAgc2NoaWp2ZW4gb29rLCBhbHMgZXIgZ2VlbiBtaXJyb3IgaXMuXG4iCisjfiAiICAgIDMuIEhhYWwsIHZvb3JkYXQgdSBkaXQgZnlzaWVrZSB2b2x1bWVuIHdpc3QsIGRlIHNjaGlqZiBsb2dpc2NoXG4iCisjfiAiICAgICAgIHVpdCB1dyBBSVgtbWFjaGluZS4gIChBbmRlcnMgd29yZHQgdSBlZW4gQUlYcGVydCkuIgorCisjfiBtc2dpZCAiIgorI34gIlx0U29ycnkgLSB0aGlzIGZkaXNrIGNhbm5vdCBoYW5kbGUgQUlYIGRpc2sgbGFiZWxzLlxuIgorI34gIlx0SWYgeW91IHdhbnQgdG8gYWRkIERPUy10eXBlIHBhcnRpdGlvbnMsIGNyZWF0ZVxuIgorI34gIlx0YSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSBmaXJzdC4gKFVzZSBvLilcbiIKKyN+ICJcdFdBUk5JTkc6IFRoaXMgd2lsbCBkZXN0cm95IHRoZSBwcmVzZW50IGRpc2sgY29udGVudHMuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgU29ycnkgLS0gZGV6ZSBmZGlzayBvbmRlcnN0ZXVudCBnZWVuIEFJWC1zY2hpamZsYWJlbHMuXG4iCisjfiAiICAgIEFscyB1IHBhcnRpdGllcyB2YW4gaGV0IERPUy10eXBlIHdpbHQgdG9ldm9lZ2VuLCBtYWFrIGRhblxuIgorI34gIiAgICBlZXJzdCBlZW4gbmlldXdlLCBsZWdlIERPUy1wYXJ0aXRpZXRhYmVsLiAgKEdlYnJ1aWsgJ28nLilcbiIKKyN+ICIgICAgV0FBUlNDSFVXSU5HOiBEaXQgemFsIGRlIGh1aWRpZ2Ugc2NoaWpmaW5ob3VkIHdpc3Nlbi5cbiIKKworI34gbXNnaWQgIkJTRCBsYWJlbCBmb3IgZGV2aWNlOiAlc1xuIgorI34gbXNnc3RyICJCU0QtbGFiZWwgdm9vciBhcHBhcmFhdDogJXNcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlZCBoYXMgZW1wdHkgdHlwZVxuIgorI34gbXNnc3RyICJXYWFyc2NodXdpbmc6IHBhcnRpdGllICVkIGhlZWZ0IGVlbiBsZWdlIHR5cGVhYW5kdWlkaW5nXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWkgZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gbXNnc3RyICJQYXJ0aXRpZSAlaSBlaW5kaWd0IG5pZXQgb3AgZWVuIGNpbGluZGVyZ3JlbnMuXG4iCisKKyN+IG1zZ2lkICJXQVJOSU5HOiBHUFQgKEdVSUQgUGFydGl0aW9uIFRhYmxlKSBkZXRlY3RlZCBvbiAnJXMnISBUaGUgdXRpbCBmZGlzayBkb2Vzbid0IHN1cHBvcnQgR1BULiBVc2UgR05VIFBhcnRlZC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIldhYXJzY2h1d2luZzogR1BUIChHVUlELXBhcnRpdGlldGFiZWwpIGdldm9uZGVuIG9wICclcychXG4iCisjfiAiSGV0IHByb2dyYW1tYSAnZmRpc2snIG9uZGVyc3RldW50IEdQVCBuaWV0LiAgR2VicnVpayBHTlUgJ3BhcnRlZCcuXG4iCisKKyN+IG1zZ2lkICJOb3RlOiBzZWN0b3Igc2l6ZSBpcyAlbGQgKG5vdCAlZClcbiIKKyN+IG1zZ3N0ciAiTGV0IG9wOiBzZWN0b3Jncm9vdHRlIGlzICVsZCAobmlldCAlZClcbiIKKworI34gbXNnaWQgIldBUk5JTkc6IEdQVCAoR1VJRCBQYXJ0aXRpb24gVGFibGUpIGRldGVjdGVkIG9uICclcychIFRoZSB1dGlsIHNmZGlzayBkb2Vzbid0IHN1cHBvcnQgR1BULiBVc2UgR05VIFBhcnRlZC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIldhYXJzY2h1d2luZzogR1BUIChHVUlELXBhcnRpdGlldGFiZWwpIGdldm9uZGVuIG9wICclcychXG4iCisjfiAiSGV0IHByb2dyYW1tYSAnc2ZkaXNrJyBvbmRlcnN0ZXVudCBHUFQgbmlldC4gIEdlYnJ1aWsgR05VICdwYXJ0ZWQnLlxuIgorCisjfiBtc2dpZCAiVXNlIHRoZSAtLWZvcmNlIGZsYWcgdG8gb3ZlcnJ1bGUgdGhpcyBjaGVjay5cbiIKKyN+IG1zZ3N0ciAiR2VicnVpayAnLS1mb3JjZScgb20gZGV6ZSBjb250cm9sZSBvdmVyIHRlIHNsYWFuLlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgIG1ha2UgdGhlIHNoZWxsIGEgbG9naW4gc2hlbGxcbiIKKyN+ICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKKyN+ICIgLS1zZXNzaW9uLWNvbW1hbmQgPGNvbW1hbmQ+ICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZG8gbm90IGNyZWF0ZSBhIG5ldyBzZXNzaW9uXG4iCisjfiAiIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgcGFzcyAtZiB0byB0aGUgc2hlbGwgKGZvciBjc2ggb3IgdGNzaClcbiIKKyN+ICIgLW0sIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgICBkbyBub3QgcmVzZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4iCisjfiAiIC1wICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FtZSBhcyAtbVxuIgorI34gIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgIHJ1biBzaGVsbCBpZiAvZXRjL3NoZWxscyBhbGxvd3MgaXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICB2YW4gZGUgc2hlbGwgZWVuIGxvZ2luLXNoZWxsIG1ha2VuXG4iCisjfiAiICAtYywgLS1jb21tYW5kIENPTU1BTkRPICAgICAgIGVlbiBlbmtlbCBDT01NQU5ETyBuYWFyIGRlIHNoZWxsIHN0dXJlbiBtZXQgJy1jJ1xuIgorI34gIiAgLS1zZXNzaW9uLWNvbW1hbmQgQ09NTUFORE8gICBlZW4gZW5rZWwgQ09NTUFORE8gbmFhciBkZSBzaGVsbCBzdHVyZW4gbWV0ICctYydcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbiBnZWVuIG5pZXV3ZSBzZXNzaWUgYWFubWFrZW5cbiIKKyN+ICIgIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgJy1mJyBhYW4gZGUgc2hlbGwgbWVlZ2V2ZW4gKHZvb3IgJ2NzaCcgb2YgJ3Rjc2gnKVxuIgorI34gIiAgLW0sIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgICBkZSBvbWdldmluZ3N2YXJpYWJlbGVuIG5pZXQgcmVzZXR0ZW5cbiIKKyN+ICIgIC1wICAgICAgICAgICAgICAgICAgICAgICAgICAgaGV0emVsZmRlIGFscyAnLW0nXG4iCisjfiAiICAtcywgLS1zaGVsbCBTSEVMTCAgICAgICAgICAgIFNIRUxMIHVpdHZvZXJlbiAoYWxzIC9ldGMvc2hlbGxzIGRpdCB0b2VzdGFhdClcbiIKKworI34gbXNnaWQgIiVzOiBleGVjIGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IGV4ZWMoKSBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiVElPQ1NDVFRZOiBpb2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgImlvY3RsKFRJT0NTQ1RUWSkgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbK2Zvcm1hdF0gW2RheSBtb250aCB5ZWFyXVxuIgorI34gbXNnc3RyICJHZWJydWlrOiAgJXMgWytvcG1hYWtdIFtkYWcgbWFhbmQgamFhcl1cbiIKKworI34gbXNnaWQgIlN0LiBUaWIncyBEYXkiCisjfiBtc2dzdHIgIlNpbnQgVGlicy1kYWciCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtcyBzaWduYWwgfCAtcCBdIFsgLWEgXSBwaWQgLi4uXG4iCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICAlcyBbIC1zIHNpZ25hYWwgfCAtcCBdIFsgLWEgXSBQSUQuLi5cbiIKKworI34gbXNnaWQgIiAgICAgICAlcyAtbCBbIHNpZ25hbCBdXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAlcyAtbCBbIHNpZ25hYWwgXVxuIgorCisjfiBtc2dpZCAiY29ubmVjdCAlcyIKKyN+IG1zZ3N0ciAidmVyYmluZGluZyAlcyIKKworI34gbXNnaWQgImludmFsaWQgcG9ydCBudW1iZXIgYXJndW1lbnQiCisjfiBtc2dzdHIgIm9uZ2VsZGlnIHBvb3J0bnVtbWVyLWFyZ3VtZW50IgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKKyN+IG1zZ3N0ciAiR2VicnVpazogICVzIFtvcHRpZXNdIFthcHBhcmFhdCAuLi5dXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1mIDxmaWxlPiAgZGVmaW5lIHNlYXJjaCBzY29wZVxuIgorI34gIiAtYiAgICAgICAgIHNlYXJjaCBvbmx5IGJpbmFyaWVzXG4iCisjfiAiIC1CIDxkaXJzPiAgZGVmaW5lIGJpbmFyaWVzIGxvb2t1cCBwYXRoXG4iCisjfiAiIC1tICAgICAgICAgc2VhcmNoIG9ubHkgbWFudWFsIHBhdGhzXG4iCisjfiAiIC1NIDxkaXJzPiAgZGVmaW5lIG1hbiBsb29rdXAgcGF0aFxuIgorI34gIiAtcyAgICAgICAgIHNlYXJjaCBvbmx5IHNvdXJjZXMgcGF0aFxuIgorI34gIiAtUyA8ZGlycz4gIGRlZmluZSBzb3VyY2VzIGxvb2t1cCBwYXRoXG4iCisjfiAiIC11ICAgICAgICAgc2VhcmNoIGZyb20gdW51c3VhbCBlbnRpdGllc1xuIgorI34gbXNnc3RyICIiCisjfiAiICAtYiAgICAgICAgICAgIGFsbGVlbiBuYWFyIHByb2dyYW1tYSdzIHpvZWtlblxuIgorI34gIiAgLUIgPG1hcHBlbj4gICB0ZSBnZWJydWlrZW4gem9la3BhZCB2b29yIHByb2dyYW1tYSdzXG4iCisjfiAiICAtZiA8YmVzdGFuZD4gIGRlZmluaXRpZSB2YW4gaGV0IHpvZWtiZXJlaWtcbiIKKyN+ICIgIC1tICAgICAgICAgICAgYWxsZWVuIG5hYXIgaGFuZGxlaWRpbmdlbiB6b2VrZW5cbiIKKyN+ICIgIC1NIDxtYXBwZW4+ICAgdGUgZ2VicnVpa2VuIHpvZWtwYWQgdm9vciBoYW5kbGVpZGluZ2VuXG4iCisjfiAiICAtcyAgICAgICAgICAgIGFsbGVlbiBuYWFyIGJyb250ZWtzdGJlc3RhbmRlbiB6b2VrZW5cbiIKKyN+ICIgIC1TIDxtYXBwZW4+ICAgdGUgZ2VicnVpa2VuIHpvZWtwYWQgdm9vciBicm9udGVrc3RiZXN0YW5kZW5cbiIKKyN+ICIgIC11ICAgICAgICAgICAgbmFhciBvbmdlYnJ1aWtlbGlqa2UgZGluZ2VuIHpvZWtlblxuIgorCisjfiBtc2dpZCAiU2VlIGhvdyB0byB1c2UgZmlsZSBhbmQgZGlycyBhcmd1bWVudHMgZnJvbSB3aGVyZWlzKDEpIG1hbnVhbC5cbiIKKyN+IG1zZ3N0ciAiWmllIGRlIHdoZXJlaXMoMSkgaGFuZGxlaWRpbmcgdm9vciBoZXQgZ2VicnVpayB2YW4gPGJlc3RhbmQ+IGVuIDxtYXBwZW4+LlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNvdWxkbid0IGxvY2sgaW50byBtZW1vcnkiCisjfiBtc2dzdHIgIm1vdW50OiBrYW4gcGFnaW5hJ3MgbmlldCB2YXN0emV0dGVuIGluIGhldCBnZWhldWdlbiIKKworI34gbXNnaWQgIm1vdW50OiBhcmd1bWVudCB0byAtcCBvciAtLXBhc3MtZmQgbXVzdCBiZSBhIG51bWJlciIKKyN+IG1zZ3N0ciAibW91bnQ6IGFyZ3VtZW50IHZhbiAnLXAnIG9mICctLXBhc3MtZmQnIG1vZXQgZWVuIGdldGFsIHppam4iCisKKyN+IG1zZ2lkICJleGVjdXRpbmcgJXMgZmFpbGVkIgorI34gbXNnc3RyICJ1aXR2b2VyZW4gdmFuICclcycgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgImVqZWN0OiBjYW5ub3Qgc2V0IHVzZXIgaWQiCisjfiBtc2dzdHIgImVqZWN0OiBrYW4gZ2VicnVpa2Vycy1JRCBuaWV0IGluc3RlbGxlbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWYsIC0tZnJlZXplICAgICAgZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCisjfiAiIC11LCAtLXVuZnJlZXplICAgIHVuZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIC1mLCAtLWZyZWV6ZSAgICAgIGhldCBiZXN0YW5kc3N5c3RlZW0gYmV2cmllemVuXG4iCisjfiAiICAtdSwgLS11bmZyZWV6ZSAgICBoZXQgYmVzdGFuZHNzeXN0ZWVtIG9udGRvb2llblxuIgorCisjfiBtc2dpZCAibWF4IHNlZyBzaXplIChrYnl0ZXMpID0gJWx1XG4iCisjfiBtc2dzdHIgIm1heGltYWxlIHNlZ21lbnRncm9vdHRlIChraWxvYnl0ZXMpID0gJWx1XG4iCisKKyN+IG1zZ2lkICJtaW4gc2VnIHNpemUgKGJ5dGVzKSA9ICVsdVxuIgorI34gbXNnc3RyICJtaW5pbWFsZSBzZWdtZW50Z3Jvb3R0ZSAoYnl0ZXMpID0gJWx1XG4iCisKKyN+IG1zZ2lkICJ1c2VkIHNwYWNlID0gJWQgYnl0ZXNcbiIKKyN+IG1zZ3N0ciAiZ2VicnVpa3RlIHJ1aW10ZSA9ICVkIGJ5dGVzXG4iCisKKyN+IG1zZ2lkICJzaG1jdGwgZmFpbGVkIgorI34gbXNnc3RyICJzaG1jdGwoKSBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAibXNnY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAibXNnY3RsKCkgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgImNieXRlcz0lbGRcdHFieXRlcz0lbGRcdHFudW09JWxkXHRsc3BpZD0lZFx0bHJwaWQ9JWRcbiIKKyN+IG1zZ3N0ciAiIgorI34gImdlYnJ1aWt0ZSBieXRlcz0lbGQgIHdhY2h0cmlqYnl0ZXM9JWxkICBhYW50YWwgYmVyaWNodGVuPSVsZFxuIgorI34gImxhYXRzdGUtemVuZGVyLVBJRD0lZCAgbGFhdHN0ZS1vbnR2YW5nZXItUElEPSVkXG4iCisKKyN+IG1zZ2lkICJzZW1jdGwgZmFpbGVkIgorI34gbXNnc3RyICJzZW1jdGwoKSBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiIgorI34gIiAtZSwgLS1lbmNyeXB0aW9uIDx0eXBlPiAgICAgICBlbmFibGUgZW5jcnlwdGlvbiB3aXRoIHNwZWNpZmllZCA8bmFtZS9udW0+XG4iCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAgICAgICAgICAgIHN0YXJ0IGF0IG9mZnNldCA8bnVtPiBpbnRvIGZpbGVcbiIKKyN+ICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZGV2aWNlIGxpbWl0ZWQgdG8gPG51bT4gYnl0ZXMgb2YgdGhlIGZpbGVcbiIKKyN+ICIgLXAsIC0tcGFzcy1mZCA8bnVtPiAgICAgICAgICAgcmVhZCBwYXNzcGhyYXNlIGZyb20gZmlsZSBkZXNjcmlwdG9yIDxudW0+XG4iCisjfiAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyZWF0ZSBwYXJ0aXRpb25lZCBsb29wIGRldmljZVxuIgorI34gIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBzZXR1cCByZWFkLW9ubHkgbG9vcCBkZXZpY2VcbiIKKyN+ICIgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICAgcHJpbnQgZGV2aWNlIG5hbWUgYWZ0ZXIgc2V0dXAgKHdpdGggLWYpXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorI34gbXNnc3RyICIiCisjfiAiICAtZSwgLS1lbmNyeXB0aW9uIFNPT1JUICAgIGRlemUgc29vcnQgdmVyc2xldXRlbGluZyBpbnNjaGFrZWxlblxuIgorI34gIiAgLW8sIC0tb2Zmc2V0IEdFVEFMICAgICAgICBvcCBkZXplIHBvc2l0aWUgaW4gaGV0IGJlc3RhbmQgYmVnaW5uZW5cbiIKKyN+ICIgICAgICAtLXNpemVsaW1pdCBHRVRBTCAgICAgc2xlY2h0cyBkaXQgYWFudGFsIGJ5dGVzIHZhbiBiZXN0YW5kIGdlYnJ1aWtlblxuIgorI34gIiAgLXAsIC0tcGFzcy1mZCBOVU1NRVIgICAgICB3YWNodHdvb3JkdGVrc3QgdWl0IGRlemUgYmVzdGFuZHNkZXNjcmlwdG9yIGxlemVuXG4iCisjfiAiICAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgIGdlcGFydGl0aW9uZWVyZCBsdXMtYXBwYXJhYXQgYWFubWFrZW5cbiIKKyN+ICIgIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgZWVuIGFsbGVlbi1sZXplbiBsdXMtYXBwYXJhYXQgaW5zdGVsbGVuXG4iCisjfiAiICAgICAgLS1zaG93ICAgICAgICAgICAgICAgIGFwcGFyYWF0bmFhbSB0b25lbiAoYmlqICctZiBCRVNUQU5EJylcbiIKKyN+ICIgIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgZ2VkZXRhaWxsZWVyZGUgdWl0dm9lciBwcm9kdWNlcmVuXG4iCisKKyN+IG1zZ2lkICJpbnZhbGlkIHBhc3NwaHJhc2UgZmlsZSBkZXNjcmlwdG9yIgorI34gbXNnc3RyICJvbmdlbGRpZ2Ugd2FjaHR3b29yZHRla3N0LWJlc3RhbmRzZGVzY3JpcHRvciIKKworI34gbXNnaWQgIiVzIGZhaWxlZCB0byB1c2UgZGV2aWNlIgorI34gbXNnc3RyICIlczogZ2VicnVpa2VuIHZhbiBhcHBhcmFhdCBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiY291bGRuJ3QgbG9jayBpbnRvIG1lbW9yeSIKKyN+IG1zZ3N0ciAia2FuIHBhZ2luYSdzIG5pZXQgdmFzdHpldHRlbiBpbiBoZXQgZ2VoZXVnZW4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IG9ubGluZSBhbmQgb2ZmbGluZSBDUFVzIChkZWZhdWx0IGZvciAtZSlcbiIKKyN+ICIgLWIsIC0tb25saW5lICAgICAgICAgICAgcHJpbnQgb25saW5lIENQVXMgb25seSAoZGVmYXVsdCBmb3IgLXApXG4iCisjfiAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iCisjfiAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKKyN+ICIgLXAsIC0tcGFyc2VbPTxsaXN0Pl0gICAgcHJpbnQgb3V0IGEgcGFyc2FibGUgZm9ybWF0XG4iCisjfiAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHVzZSBkaXJlY3RvcnkgRElSIGFzIHN5c3RlbSByb290XG4iCisjfiAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHByaW50IGhleGFkZWNpbWFsIG1hc2tzIHJhdGhlciB0aGFuIGxpc3RzIG9mIENQVXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLWEsIC0tYWxsICAgICAgICAgICAgICAgb25saW5lIGVuIG9mZmxpbmUgQ1BVJ3MgdG9uZW4gKHN0YW5kYWFyZCBiaWogJy1lJylcbiIKKyN+ICIgIC1iLCAtLW9ubGluZSAgICAgICAgICAgIGFsbGVlbiBvbmxpbmUgQ1BVJ3MgdG9uZW4gKHN0YW5kYWFyZCBiaWogJy1wJylcbiIKKyN+ICIgIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIGFsbGVlbiBvZmZsaW5lIENQVSdzIHRvbmVuXG4iCisjfiAiICAtZSwgLS1leHRlbmRlZFs9TElKU1RdICB1aXRnZWJyZWlkZSwgbGVlc2JhcmUgdWl0dm9lciBwcm9kdWNlcmVuXG4iCisjfiAiICAtcCwgLS1wYXJzZVs9TElKU1RdICAgICBvbnRsZWVkYmFyZSB1aXR2b2VyIHByb2R1Y2VyZW5cbiIKKyN+ICIgIC1zLCAtLXN5c3Jvb3QgTUFQICAgICAgIGRlemUgbWFwIGFscyBob29mZG1hcCBnZWJydWlrZW5cbiIKKyN+ICIgIC14LCAtLWhleCAgICAgICAgICAgICAgIGhleGFkZWNpbWFsZSBtYXNrZXJzIHRvbmVuIGluIHBsYWF0cyB2YW4gbGlqc3RlblxuIgorCisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSAocHJvYmFibHkgdW5rbm93biBlbmNyeXB0aW9uIHR5cGUpIgorI34gbXNnc3RyICIlczogaW5zdGVsbGVuIHZhbiBsdXMtYXBwYXJhYXQgaXMgbWlzbHVrdCAodmVybW9lZGVsaWprIG9uYmVrZW5kIHZlcnNsZXV0ZWxpbmdzdHlwZSkiCisKKyN+IG1zZ2lkICJyZW5pY2UgZnJvbSAlc1xuIgorI34gbXNnc3RyICIncmVuaWNlJyB1aXQgJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWQsIC0tZGV2aWNlIDxkZXZpY2U+ICAgIHNlbGVjdCBydGMgZGV2aWNlIChydGMwfHJ0YzF8Li4uKVxuIgorI34gIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgZG9lcyBldmVyeXRoaW5nLCBidXQgc3VzcGVuZFxuIgorI34gIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIHVzZXMgbG9jYWwgdGltZXpvbmVcbiIKKyN+ICIgLW0sIC0tbW9kZSA8bW9kZT4gICAgICAgIHN0YW5kYnl8bWVtfC4uLiBzbGVlcCBtb2RlXG4iCisjfiAiIC1zLCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iCisjfiAiIC10LCAtLXRpbWUgPHRpbWVfdD4gICAgICB0aW1lIHRvIHdha2VcbiIKKyN+ICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2VzIFVUQ1xuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtZXNzYWdlc1xuIgorI34gbXNnc3RyICIiCisjfiAiICAtZCwgLS1kZXZpY2UgPGFwcGFyYWF0PiAgIHRlIGdlYnJ1aWtlbiBoYXJkd2FyZWtsb2sgKHJ0YzB8cnRjMXwuLi4pXG4iCisjfiAiICAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgIGRlIGhhcmR3YXJla2xvayBiZXZhdCBsb2thbGUgdGlqZFxuIgorI34gIiAgLW0sIC0tbW9kZSA8bW9kdXM+ICAgICAgICBzbGFhcG1vZHVzICh3YWFyZGVuOiBzdGFuZGJ5fG1lbXxkaXNrfC4uLlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZnRld2VsOiB3YWNodHN0YW5kLHBhdXplc3RhbmQsc2xhYXBzdGFuZCwuLi4pXG4iCisjfiAiICAtbiwgLS1kcnktcnVuICAgICAgICAgICAgIGFsbGVzIGRvZW4gYmVoYWx2ZSBnYWFuIHNsYXBlblxuIgorI34gIiAgLXMsIC0tc2Vjb25kcyA8c2Vjb25kZW4+ICBhYW50YWwgdGUgc2xhcGVuIHNlY29uZGVuXG4iCisjfiAiICAtdCwgLS10aW1lIDx0aWpkc3RpcD4gICAgIG9udHdha2luZ3N0aWpkc3RpcFxuIgorI34gIiAgLXUsIC0tdXRjICAgICAgICAgICAgICAgICBkZSBoYXJkd2FyZWtsb2sgYmV2YXQgVVRDXG4iCisjfiAiICAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIGdlZGV0YWlsbGVlcmRlIHVpdHZvZXIgcHJvZHVjZXJlblxuIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIGV4ZWN1dGUgJXMiCisjfiBtc2dzdHIgImthbiAlcyBuaWV0IHVpdHZvZXJlbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheXMgd2hhdCBvcHRpb25zIGFyZSBiZWluZyBzd2l0Y2hlZCBvblxuIgorI34gIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgZGlzYWJsZXMgcmFuZG9taXphdGlvbiBvZiB0aGUgdmlydHVhbCBhZGRyZXNzIHNwYWNlXG4iCisjfiAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorI34gIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgdHVybnMgb24gTU1BUF9QQUdFX1pFUk9cbiIKKyN+ICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKKyN+ICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCisjfiAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB0dXJucyBvbiBBRERSX0xJTUlUXzMyQklUXG4iCisjfiAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICB0dXJucyBvbiBTSE9SVF9JTk9ERVxuIgorI34gIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgdHVybnMgb24gV0hPTEVfU0VDT05EU1xuIgorI34gIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgdHVybnMgb24gU1RJQ0tZX1RJTUVPVVRTXG4iCisjfiAiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBsaW1pdHMgdGhlIHVzZWQgYWRkcmVzcyBzcGFjZSB0byBhIG1heGltdW0gb2YgMyBHQlxuIgorI34gIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKKyN+ICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHR1cm5zIG9uIFVOQU1FMjZcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBtZWxkZW4gd2Vsa2Ugb3B0aWVzIGluZ2VzY2hha2VsZCB3b3JkZW5cbiIKKyN+ICIgIC1CLCAtLTMyYml0ICAgICAgICAgICAgICAgQUREUl9MSU1JVF8zMkJJVCBpbnNjaGFrZWxlblxuIgorI34gIiAgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgICBmdW5jdGllcG9pbnRlcnMgbmFhciBkZXNjcmlwdG9ycyBsYXRlbiB3aWp6ZW5cbiIKKyN+ICIgIC1JLCAtLXNob3J0LWlub2RlICAgICAgICAgU0hPUlRfSU5PREUgaW5zY2hha2VsZW5cbiIKKyN+ICIgIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCAgdmlydHVlZWwgZ2VoZXVnZW4gb3AgYW5kZXJlIG1hbmllciB0b2V3aWp6ZW5cbiIKKyN+ICIgIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICAgdmlydHVlbGUgYWRyZXNydWltdGUgbmlldCBodXNzZWxlblxuIgorI34gIiAgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgICBXSE9MRV9TRUNPTkRTIGluc2NoYWtlbGVuXG4iCisjfiAiICAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgIFNUSUNLWV9USU1FT1VUUyBpbnNjaGFrZWxlblxuIgorI34gIiAgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgICBSRUFEX0lNUExJRVNfRVhFQyBpbnNjaGFrZWxlblxuIgorI34gIiAgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgICBNTUFQX1BBR0VfWkVSTyBpbnNjaGFrZWxlblxuIgorI34gIiAgLTMsIC0tM2diICAgICAgICAgICAgICAgICBnZWJydWlrdGUgYWRyZXNydWltdGUgdG90IDMgR0IgYmVwZXJrZW5cbiIKKyN+ICIgICAgICAtLTRnYiAgICAgICAgICAgICAgICAgKGdlbmVnZWVyZCwgc2xlY2h0cyBoZXJrZW5kIHZvb3IgY29tcGF0aWJpbGl0ZWl0KVxuIgorI34gIiAgICAgIC0tdW5hbWUtMi42ICAgICAgICAgICBVTkFNRTI2IGluc2NoYWtlbGVuXG4iCisKKyN+IG1zZ2lkICJleGVjdnAgZmFpbGVkIgorI34gbXNnc3RyICJleGVjdnAoKSBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiZXhlY3YgZmFpbGVkIgorI34gbXNnc3RyICJleGVjdigpIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1tLCAtLW1vdW50ICAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorI34gIiAtdSwgLS11dHMgICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKKyN+ICIgLWksIC0taXBjICAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCisjfiAiIC1uLCAtLW5ldCAgICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlZvZXJ0IGVlbiBwcm9ncmFtbWEgdWl0IG1ldCBzb21taWdlIG5hYW1zcnVpbXRlbiBvbnRrb3BwZWxkIHZhbiBtb2VkZXJwcm9jZXMuXG4iCisjfiAiXG4iCisjfiAiICAtaSwgLS1pcGMgICAgICAnU3lzdGVtIFYgSVBDJy1uYWFtc3J1aW10ZSBuaWV0IGRlbGVuXG4iCisjfiAiICAtbSwgLS1tb3VudCAgICBhYW5rb3BwZWxpbmdlbm5hYW1zcnVpbXRlIG5pZXQgZGVsZW5cbiIKKyN+ICIgIC1uLCAtLW5ldCAgICAgIG5ldHdlcmtuYWFtc3J1aW10ZSBuaWV0IGRlbGVuXG4iCisjfiAiICAtdSwgLS11dHMgICAgICBVVFMtbmFhbXNydWltdGUgbmlldCBkZWxlbiAoaG9zdG5hYW0gZW4gZGVyZ2VsaWprZSlcbiIKKworI34gbXNnaWQgIiUtMTVzJXMgW3ZlcnNpb24gJXhdXG4iCisjfiBtc2dzdHIgIiUtMTVzJXMgW3ZlcnNpZSAleF1cbiIKKworI34gbXNnaWQgInVzZXJzIgorI34gbXNnc3RyICJnZWJydWlrZXJzIgorCisjfiBtc2dpZCAidG9vIG1hbnkgaW92J3MgKGNoYW5nZSBjb2RlIGluIHdhbGwvdHR5bXNnLmMpIgorI34gbXNnc3RyICIiCisjfiAiKipJbnRlcm5lIHByb2dyYW1tYWZvdXQqKjogdGUgdmVlbCBJT1Ync1xuIgorI34gIltkZSBwcm9ncmFtbWFjb2RlIGluIHRlcm0tdXRpbHMvdHR5bXNnLmMgbW9ldCBhYW5nZXBhc3Qgd29yZGVuXSIKKworI34gbXNnaWQgIndyaXRlIGVycm9yLiIKKyN+IG1zZ3N0ciAic2NocmlqZmZvdXQiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1jLCAtLWNvbHVtbnMgPHdpZHRoPiAgICB3aWR0aCBvZiBvdXRwdXQgaW4gbnVtYmVyIG9mIGNoYXJhY3RlcnNcbiIKKyN+ICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgIGNyZWF0ZSBhIHRhYmxlXG4iCisjfiAiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiB0YWJsZSBkZWxpbWV0ZXJcbiIKKyN+ICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgIGZpbGwgcm93cyBiZWZvcmUgY29sdW1uc1xuIgorI34gbXNnc3RyICIiCisjfiAiICAtYywgLS1jb2x1bW5zIDxicmVlZHRlPiAgICBicmVlZHRlIHZhbiBkZSB1aXR2b2VyIGluIGFhbnRhbCB0ZWtlbnNcbiIKKyN+ICIgIC1zLCAtLXNlcGFyYXRvciA8dGVrZW5zPiAgIHNjaGVpZGluZ3N0ZWtlbnJlZWtzIHZvb3IgdGFiZWxsZW5cbiIKKyN+ICIgIC10LCAtLXRhYmxlICAgICAgICAgICAgICAgIGVlbiB0YWJlbCBhYW5tYWtlblxuIgorI34gIiAgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgICAgcmlqZW4gZWVyZGVyIHZ1bGxlbiBkYW4ga29sb21tZW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlLi4uXVxuIgorI34gbXNnc3RyICJHZWJydWlrOiAgJXMgW29wdGllc10gWzxiZXN0YW5kPi4uLl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtdCwgLS10ZXJtaW5hbCBURVJNSU5BTCAgICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorI34gIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIgorI34gbXNnc3RyICIiCisjfiAiT3B0aWVzOlxuIgorI34gIiAgLXQsIC0tdGVybWluYWwgVEVSTUlOQUwgICAgbmlldCBvbWdldmluZ3N2YXJpYWJlbGUgVEVSTSBtYWFyIGRlemUgZ2VicnVpa2VuXG4iCisjfiAiICAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICBvbmRlcnN0cmVwaW5nZW4gd2VlcmdldmVuIG9wIGVlbiBleHRyYSByZWdlbFxuIgorCisjfiBtc2dpZCAiIgorI34gInVzYWdlOiAlcyBbLWh2XSBbLXggZGlyXSBmaWxlXG4iCisjfiAiIC14IGRpciAgICAgZXh0cmFjdCBpbnRvIGRpclxuIgorI34gIiAtdiAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIgorI34gIiBmaWxlICAgICAgIGZpbGUgdG8gdGVzdFxuIgorI34gbXNnc3RyICIiCisjfiAiR2VicnVpazogICVzIFstaHZdIFsteCBNQVBdIEJFU1RBTkRcbiIKKyN+ICJcbiIKKyN+ICIgIC12ICAgICAgICBtZWVyIGluZm9ybWF0aWUgd2VlcmdldmVuXG4iCisjfiAiICAteCBNQVAgICAgdWl0cGFra2VuIGluIGRlemUgbWFwXG4iCisjfiAiICBCRVNUQU5EICAgdGUgdGVzdGVuIGJlc3RhbmRcbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWxhcnZzbWZdIC9kZXYvbmFtZVxuIgorI34gbXNnc3RyICJHZWJydWlrOiAgJXMgWy1sYXJ2c21mXSAvZGV2L25hYW1cbiIKKworI34gbXNnaWQgImZhaWxlZCB0byBvcGVuICVzIgorI34gbXNnc3RyICJvcGVuZW4gdmFuICVzIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBkZXZpY2UgJXMiCisjfiBtc2dzdHIgImthbiBhcHBhcmFhdCAlcyBuaWV0IHZpbmRlbiIKKworI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBibG9ja3NpemUgYXJndW1lbnQiCisjfiBtc2dzdHIgIm9udGxlZGVuIHZhbiBibG9rZ3Jvb3R0ZXdhYXJkZSBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiZXJyb3I6IHdpbGwgbm90IHRyeSB0byBtYWtlIHN3YXBkZXZpY2Ugb24gJyVzJyIKKyN+IG1zZ3N0ciAiZm91dDogemFsIG5pZXQgcHJvYmVyZW4gd2lzc2VsZ2VoZXVnZW4gdGUgbWFrZW4gb3AgJyVzJyIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIG1hc3RlciByYXcgZGV2aWNlICclcycgKCVzKVxuIgorI34gbXNnc3RyICJLYW4gJ3JhdyctYmVzdHVyaW5nc2FwcGFyYWF0ICclcycgbmlldCBvcGVuZW4gKCVzKVxuIgorCisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBvcGVuIgorI34gbXNnc3RyICIlczogb3BlbmVuIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJHZWJydWlrOiAgJXMgW29wdGllc10gPGFwcGFyYWF0PlxuIgorI34gIlxuIgorI34gIk9wdGllczpcbiIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIGZpbGUgJyVzJyIKKyN+IG1zZ3N0ciAiS2FuIGJlc3RhbmQgJyVzJyBuaWV0IG9wZW5lbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaGlzIGRpc2sgaGFzIGJvdGggRE9TIGFuZCBCU0QgbWFnaWMuXG4iCisjfiAiR2l2ZSB0aGUgJ2InIGNvbW1hbmQgdG8gZ28gdG8gQlNEIG1vZGUuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJEZXplIHNjaGlqZiBiZXZhdCB6b3dlbCBET1MtIGFscyBCU0QtdmluZ2VyYWZkcnVra2VuLlxuIgorI34gIkdlZWYgZGUgb3BkcmFjaHQgJ2InIG9tIG5hYXIgQlNELW1vZHVzIHRlIGdhYW4uXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWkgZG9lcyBub3Qgc3RhcnQgb24gY3lsaW5kZXIgYm91bmRhcnk6XG4iCisjfiBtc2dzdHIgIlBhcnRpdGllICVpIGJlZ2ludCBuaWV0IG9wIGVlbiBjaWxpbmRlcmdyZW5zOlxuIgorCisjfiBtc2dpZCAic2hvdWxkIGJlICglZCwgJWQsIDEpXG4iCisjfiBtc2dzdHIgIm1vZXQgemlqbiAoJWQsICVkLCAxKVxuIgorCisjfiBtc2dpZCAic2hvdWxkIGJlICglZCwgJWQsICVkKVxuIgorI34gbXNnc3RyICJtb2V0IHppam4gKCVkLCAlZCwgJWQpXG4iCisKKyN+IG1zZ2lkICJUaGlzIGtlcm5lbCBmaW5kcyB0aGUgc2VjdG9yIHNpemUgaXRzZWxmIC0gLWIgb3B0aW9uIGlnbm9yZWRcbiIKKyN+IG1zZ3N0ciAiRGV6ZSBrZXJuZWwgdmluZHQgemVsZiBkZSBzZWN0b3Jncm9vdHRlIC0tIG9wdGllICctYicgd29yZHQgZ2VuZWdlZXJkXG4iCisKKyN+IG1zZ2lkICJzZmRpc2s6IHByZW1hdHVyZSBlbmQgb2YgaW5wdXRcbiIKKyN+IG1zZ3N0ciAic2ZkaXNrOiB2b29ydGlqZGlnIGVpbmRlIHZhbiBkZSBpbnZvZXJcbiIKKworI34gbXNnaWQgIldBUk5JTkc6IGNvdWxkbid0IG9wZW4gJXMiCisjfiBtc2dzdHIgIldBQVJTQ0hVV0lORzoga2FuICVzIG5pZXQgb3BlbmVuIgorCisjfiBtc2dpZCAiV0FSTklORzogYmFkIGZvcm1hdCBvbiBsaW5lICVkIG9mICVzIgorI34gbXNnc3RyICJXQUFSU0NIVVdJTkc6IG9uZ2VsZGlnZSBzeW50YXggb3AgcmVnZWwgJWQgdmFuICVzIgorCisjfiBtc2dpZCAiIgorI34gIldBUk5JTkc6IFlvdXIgL2V0Yy9mc3RhYiBkb2VzIG5vdCBjb250YWluIHRoZSBmc2NrIHBhc3Nub1xuIgorI34gIlx0ZmllbGQuICBJIHdpbGwga2x1ZGdlIGFyb3VuZCB0aGluZ3MgZm9yIHlvdSwgYnV0IHlvdVxuIgorI34gIlx0c2hvdWxkIGZpeCB5b3VyIC9ldGMvZnN0YWIgZmlsZSBhcyBzb29uIGFzIHlvdSBjYW4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJXQUFSU0NIVVdJTkc6IC9ldGMvZnN0YWIgYmV2YXQgZ2VlbiB6ZXNkZSB2ZWxkIChlZW4gZnNjay12b2xnbnVtbWVyKS5cbiIKKyN+ICIgICAgRXIgd29yZHQgbnUgb21oZWVuZ2V3ZXJrdCwgbWFhciB1IHpvdSBkaXQgdmVsZCBiaWpcbiIKKyN+ICIgICAgZGUgZWVyc3R2b2xnZW5kZSBnZWxlZ2VuaGVpZCBkaWVuZW4gdG9lIHRlIHZvZWdlbi5cbiIKKworI34gbXNnaWQgImNvdWxkbid0IG9wZW4gJXMiCisjfiBtc2dzdHIgImthbiAlcyBuaWV0IG9wZW5lbiIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIC9kZXYvcG9ydCIKKyN+IG1zZ3N0ciAiS2FuIC9kZXYvcG9ydCBuaWV0IG9wZW5lbiIKKworI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlcG9jaCIKKyN+IG1zZ3N0ciAib250bGVkZW4gdmFuIHRpamRwZXJrd2FhcmRlIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICIiCisjfiAiWW91IGhhdmUgc3BlY2lmaWVkIG11bHRpcGxlIGZ1bmN0aW9ucy5cbiIKKyN+ICJZb3UgY2FuIG9ubHkgcGVyZm9ybSBvbmUgZnVuY3Rpb24gYXQgYSB0aW1lLiIKKyN+IG1zZ3N0ciAiIgorI34gIlUgaGVidCB2ZXJzY2hpbGxlbmRlIGZ1bmN0aWVzIGFhbmdlZ2V2ZW4uXG4iCisjfiAiUGVyIGFhbnJvZXAga2FuIHNsZWNodHMgw6nDqW4gZnVuY3RpZSB3b3JkZW4gZ2VicnVpa3QuIgorCisjfiBtc2dpZCAiVGhlIC0tdXRjIGFuZCAtLWxvY2FsdGltZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuICBZb3Ugc3BlY2lmaWVkIGJvdGguIgorI34gbXNnc3RyICJEZSBvcHRpZXMgJy0tdXRjJyBlbiAnLS1sb2NhbHRpbWUnIGdhYW4gbmlldCBzYW1lbi4iCisKKyN+IG1zZ2lkICJUaGUgLS1hZGp1c3QgYW5kIC0tbm9hZGpmaWxlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC4iCisjfiBtc2dzdHIgIkRlIG9wdGllcyAnLS1hZGp1c3QnIGVuICctLW5vYWRqZmlsZScgZ2FhbiBuaWV0IHNhbWVuLiIKKworI34gbXNnaWQgIlRoZSAtLWFkamZpbGUgYW5kIC0tbm9hZGpmaWxlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC4iCisjfiBtc2dzdHIgIkRlIG9wdGllcyAnLS1hZGpmaWxlJyBlbiAnLS1ub2FkamZpbGUnIGdhYW4gbmlldCBzYW1lbi4iCisKKyN+IG1zZ2lkICJPcGVuIG9mICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAiT3BlbmVuIHZhbiAlcyBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMgZm9yIHJlYWRpbmcsIGV4aXRpbmcuIgorI34gbXNnc3RyICJLYW4gJXMgbmlldCBvcGVuZW4gb20gdGUgbGV6ZW4gLS0gZ2VzdG9wdCIKKworI34gbXNnaWQgImNhbm5vdCBsb2NrIGdyb3VwIGZpbGUiCisjfiBtc2dzdHIgImthbiBncm9lcHNiZXN0YW5kIG5pZXQgdmVyZ3JlbmRlbGVuIgorCisjfiBtc2dpZCAidGhlICVzIGZpbGUgaXMgYnVzeSAoJXMgcHJlc2VudCkiCisjfiBtc2dzdHIgImhldCBiZXN0YW5kICVzIGlzIGluIGdlYnJ1aWsgKCVzIGlzIGFhbndlemlnKSIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBMQUJFTD08bGFiZWw+fFVVSUQ9PHV1aWQ+XG4iCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICAlcyBMQUJFTD08bGFiZWw+fFVVSUQ9PHV1aWQ+XG4iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2lndmFsIgorI34gbXNnc3RyICJvbnRsZWRlbiB2YW4gc2lnbmFhbHdhYXJkZSBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAicG9ydCBgJWxkJyBvdXQgb2YgcmFuZ2UiCisjfiBtc2dzdHIgInBvb3J0ICclbGQnIHZhbHQgYnVpdGVuIGJlcmVpayIKKworI34gbXNnaWQgImNvdWxkIG5vdCBzdGF0ICclcyciCisjfiBtc2dzdHIgImthbiBzdGF0dXMgdmFuICclcycgbmlldCBvcHZyYWdlbiIKKworI34gbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICJvbmdlbGRpZ2UgcGxhYXRzd2FhcmRlICclcycgZ2VnZXZlbiIKKworI34gbXNnaWQgIndhcm5pbmc6IGZhaWxlZCB0byByZWFkIG10YWIiCisjfiBtc2dzdHIgIndhYXJzY2h1d2luZzogbGV6ZW4gdmFuICdtdGFiJyBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNsYXNzIGRhdGEiCisjfiBtc2dzdHIgIm9udGxlZGVuIHZhbiBrbGFzc2VkYXRhIChiaWogJy1uJykgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjbGFzcyIKKyN+IG1zZ3N0ciAib250bGVkZW4gdmFuIGtsYXNzZSAoYmlqICctYycpIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICJjb25maWd1cmUsIGRlY29uZmlndXJlLCBkaXNhYmxlLCBkaXNwYXRjaCwgZW5hYmxlIGFuZCByZXNjYW4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKKyN+IG1zZ3N0ciAiJ2NvbmZpZ3VyZScsICdkZWNvbmZpZ3VyZScsICdkaXNhYmxlJywgJ2VuYWJsZScsICdkaXNwYXRjaCcgZW4gJ3Jlc2NhbicgZ2FhbiBuaWV0IHNhbWVuIgorCisjfiBtc2dpZCAiY2Fubm90IHN0YXQ6ICVzIgorI34gbXNnc3RyICJrYW4gc3RhdHVzIHZhbiAlcyBuaWV0IG9wdnJhZ2VuIgorCisjfiBtc2dpZCAiY2xlYXIsIHJlYWQtY2xlYXIsIGNvbnNvbGUtbGV2ZWwsIGNvbnNvbGUtb24sIGFuZCBjb25zb2xlLW9mZiBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCisjfiBtc2dzdHIgIiIKKyN+ICJnZWVuIHZhbiBkZSBvcHRpZXMgJ2NsZWFyJywgJ3JlYWQtY2xlYXInLCAnY29uc29sZS1sZXZlbCcsXG4iCisjfiAiJ2NvbnNvbGUtb24nIGVuICdjb25zb2xlLW9mZicgZ2FhdCBzYW1lbiBtZXQgZWVuIGFuZGVyZSIKKworI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBidWZmZXIgc2l6ZSIKKyN+IG1zZ3N0ciAib250bGVkZW4gdmFuIGJ1ZmZlcmdyb290dGUgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgIiVzOiBmc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiBmc3RhdCgpIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICJpbnZhbGlkIHNwZWVkIgorI34gbXNnc3RyICJvbmdlbGRpZ2Ugc25lbGhlaWQiCisKKyN+IG1zZ2lkICJpbnZhbGlkIG9mZnNldCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAib25nZWxkaWdlIHBvc2l0aWUgJyVzJyBvcGdlZ2V2ZW4iCisKKyN+IG1zZ2lkICJpbnZhbGlkIHNpemUgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm9uZ2VsZGlnZSBncm9vdHRlICclcycgb3BnZWdldmVuIgorCisjfiBtc2dpZCAiZXh0ZW5kZWQgYW5kIHBhcnNhYmxlIGZvcm1hdHMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKKyN+IG1zZ3N0ciAidWl0Z2VicmVpZGUgZW4gb250bGVlZGJhcmUgb3BtYWtlbiBnYWFuIG5pZXQgc2FtZW4iCisKKyN+IG1zZ2lkICItLWFsbCwgLS1vbmxpbmUgYW5kIC0tb2ZmbGluZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCisjfiBtc2dzdHIgIm9wdGllcyAnLS1hbGwnLCAnLS1vbmxpbmUnLCBlbiAnLS1vZmZsaW5lJyBnYWFuIG5pZXQgc2FtZW4iCisKKyN+IG1zZ2lkICJvbmx5IG9uZSA8c291cmNlPiBtYXkgYmUgc3BlY2lmaWVkIgorI34gbXNnc3RyICJlciBtYWcgc2xlY2h0cyDDqcOpbiA8YnJvbj4gZ2VnZXZlbiB3b3JkZW4iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc291cmNlIGJ1ZmZlciIKKyN+IG1zZ3N0ciAicmVzZXJ2ZXJlbiB2YW4gYnJvbmJ1ZmZlciBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAib25seSB1c2Ugb25lIFBJRCBhdCBhIHRpbWUiCisjfiBtc2dzdHIgInUga3VudCBzbGVjaHRzIMOpw6luIFBJRCB0ZWdlbGlqayBnZWJydWlrZW4iCisKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgUElEIgorI34gbXNnc3RyICJvbnRsZWRlbiB2YW4gUElEIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2Vjb25kcyB2YWx1ZSIKKyN+IG1zZ3N0ciAib250bGVkZW4gdmFuIHNlY29uZGVud2FhcmRlIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZV90IHZhbHVlIgorI34gbXNnc3RyICJvbnRsZWRlbiB2YW4gdGlqZHN0aXB3YWFyZGUgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgIiclcycgaXMgdW5zdXBwb3J0ZWQgcHJvZ3JhbSBuYW1lIChtdXN0IGJlICdzd2Fwb24nIG9yICdzd2Fwb2ZmJykuIgorI34gbXNnc3RyICInJXMnIGlzIG5pZXQtdG9lZ2VzdGFuZSBwcm9ncmFtbWFuYWFtIChtb2V0ICdzd2Fwb24nIG9mICdzd2Fwb2ZmJyB6aWpuKSIKKworI34gbXNnaWQgImZhaWxlZCB0byBzdGF0IGRpcmVjdG9yeSIKKyN+IG1zZ3N0ciAia2FuIHN0YXR1cyB2YW4gbWFwIG5pZXQgb3B2cmFnZW4iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc3RhdCBkaXJlY3RvcnkgJXMiCisjfiBtc2dzdHIgImthbiBzdGF0dXMgdmFuIG1hcCAlcyBuaWV0IG9wdnJhZ2VuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gdGltaW5nIGZpbGUgJXMiCisjfiBtc2dzdHIgImthbiB0aW1pbmdzYmVzdGFuZCAnJXMnIG5pZXQgb3BlbmVuIgorCisjfiBtc2dpZCAiYXJndW1lbnQgJWx1IGlzIHRvbyBsYXJnZSIKKyN+IG1zZ3N0ciAiYXJndW1lbnQgJWx1IGlzIHRlIGdyb290IgorCisjfiBtc2dpZCAidGVybWluYWwgZW52aXJvbm1lbnQgQ09MVU1OUyBmYWlsZWQiCisjfiBtc2dzdHIgImthbiBvbWdldmluZ3N2YXJpYWJlbGUgQ09MVU1OUyBuaWV0IHZlcmtyaWpnZW4iCisKKyN+IG1zZ2lkICJiYWQgY29sdW1ucyB3aWR0aCB2YWx1ZSIKKyN+IG1zZ3N0ciAib25nZWxkaWdlIHdhYXJkZSB2b29yIGtvbG9tYnJlZWR0ZSIKKworI34gbXNnaWQgIi0lYyBwb3NpdGl2ZSBpbnRlZ2VyIGV4cGVjdGVkIGFzIGFuIGFyZ3VtZW50IgorI34gbXNnc3RyICJvcHRpZSAnLSVjJyB2ZXJ3YWNodCBlZW4gcG9zaXRpZWYgZ2VoZWVsIGdldGFsIGFscyBhcmd1bWVudCIKKworI34gbXNnaWQgImJhZCBsZW5ndGggdmFsdWUiCisjfiBtc2dzdHIgIm9uZ2VsZGlnZSB3YWFyZGUgdm9vciB0ZV9pbnRlcnByZXRlcmVuX2FhbnRhbCIKKworI34gbXNnaWQgImJhZCBza2lwIHZhbHVlIgorI34gbXNnc3RyICJvbmdlbGRpZ2Ugd2FhcmRlIHZvb3Igb3Zlcl90ZV9zbGFhbl9hYW50YWwiCisKKyN+IG1zZ2lkICIlczogVXNhZ2U6ICVzIFstbnVtYmVyXSBbLXAgc3RyaW5nXSBbLWNlZm5yc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIgorI34gbXNnc3RyICIiCisjfiAiJXM6IEdlYnJ1aWs6ICAlcyBbLWFhbnRhbF9yZWdlbHNfcGVyX3BhZ2luYV0gWy1wIHRlX2dlYnJ1aWtlbl9wcm9tcHRdXG4iCisjfiAiICAgICAgICAgICAgICAgICBbLWNlZm5yc10gWytyZWdlbG51bW1lcl0gWysvcGF0cm9vbi9dIFtiZXN0YW5kIC4uLl1cbiIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuICIKKyN+IG1zZ3N0ciAiS2FuIGRlemUgbmlldCBvcGVuZW46ICIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIFwiJXNcIiBmb3IgcmVhZCIKKyN+IG1zZ3N0ciAia2FuICclcycgbmlldCBvcGVuZW4gdm9vciBsZXplbiIKKworI34gbXNnaWQgImNhbm5vdCBzdGF0IFwiJXNcIiIKKyN+IG1zZ3N0ciAia2FuIHN0YXR1cyB2YW4gJyVzJyBuaWV0IG9wdnJhZ2VuIgorCisjfiBtc2dpZCAiICAgZCAgIGRlbGV0ZSBhIEJTRCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgIGQgICAgICBlZW4gQlNELXBhcnRpdGllIHZlcndpamRlcmVuIgorCisjfiBtc2dpZCAiICAgbiAgIGFkZCBhIG5ldyBCU0QgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICBuICAgICAgZWVuIG5pZXV3ZSBCU0QtcGFydGl0aWUgdG9ldm9lZ2VuIgorCisjfiBtc2dpZCAiICAgdCAgIGNoYW5nZSBhIHBhcnRpdGlvbidzIGZpbGVzeXN0ZW0gaWQiCisjfiBtc2dzdHIgIiAgIHQgICAgICBiZXN0YW5kc3N5c3RlZW0tSUQgdmFuIHBhcnRpdGllIHdpanppZ2VuIgorCisjfiBtc2dpZCAiICAgdSAgIGNoYW5nZSB1bml0cyAoY3lsaW5kZXJzL3NlY3RvcnMpIgorI34gbXNnc3RyICIgICB1ICAgICAgZ2VicnVpa3RlIGVlbmhlaWQgd2lqemlnZW4gKGNpbGluZGVycy9zZWN0b3JlbikiCisKKyN+IG1zZ2lkICIiCisjfiAiQnVpbGRpbmcgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguXG4iCisjfiAiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorI34gIkFmdGVyIHRoYXQsIG9mIGNvdXJzZSwgdGhlIHByZXZpb3VzIGNvbnRlbnQgd29uJ3QgYmUgcmVjb3ZlcmFibGUuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFciB3b3JkdCBlZW4gbmlldXdlIERPUy1wYXJ0aXRpZXRhYmVsIGFhbmdlbWFha3QgbWV0IHNjaGlqZi1JRCAweCUwOHguXG4iCisjfiAiV2lqemlnaW5nZW4gdmluZGVuIGVua2VsIGVuIGFsbGVlbiBpbiBoZXQgZ2VoZXVnZW4gcGxhYXRzLCB0b3RkYXQgdSBiZXNsdWl0IHplXG4iCisjfiAid2VnIHRlIHNjaHJpanZlbi4gIERhYXJuYSBpcyBkZSBvdWRlIGluaG91ZCB1aXRlcmFhcmQgbmlldCBtZWVyIGhlcnN0ZWxiYWFyLlxuIgorCisjfiBtc2dpZCAiRGV2aWNlIGNvbnRhaW5zIG5laXRoZXIgYSB2YWxpZCBET1MgcGFydGl0aW9uIHRhYmxlLCBub3IgU3VuLCBTR0kgb3IgT1NGIGRpc2tsYWJlbFxuIgorI34gbXNnc3RyICJBcHBhcmFhdCBiZXZhdCBnZWVuIGdlbGRpZyBET1MtLCBTdW4tLCBTR0ktIG9mIE9TRi1zY2hpamZsYWJlbC5cbiIKKworI34gbXNnaWQgIkludGVybmFsIGVycm9yXG4iCisjfiBtc2dzdHIgIioqSW50ZXJuZSBwcm9ncmFtbWFmb3V0KipcbiIKKworI34gbXNnaWQgIlx0U29ycnksIG5vIGV4cGVydHMgbWVudSBmb3IgU0dJIHBhcnRpdGlvbiB0YWJsZXMgYXZhaWxhYmxlLlxuIgorI34gbXNnc3RyICIgIFNvcnJ5LCBoZXQgZXhwZXJ0c21lbnUgaXMgbmlldCBiZXNjaGlrYmFhciB2b29yIFNHSS1wYXJ0aXRpZXRhYmVsbGVuLlxuIgorCisjfiBtc2dpZCAiRG8gWW91IGtub3csIFlvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzaz9cbiIKKyN+IG1zZ3N0ciAiV2VldCB1IGRhdCB1IGVlbiBwYXJ0aXRpZW92ZXJsYXAgaGVidCBvcCBkZSBzY2hpamY/XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiQnVpbGRpbmcgYSBuZXcgU0dJIGRpc2tsYWJlbC4gQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSxcbiIKKyN+ICJ1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uIEFmdGVyIHRoYXQsIG9mIGNvdXJzZSwgdGhlIHByZXZpb3VzXG4iCisjfiAiY29udGVudCB3aWxsIGJlIHVucmVjb3ZlcmFibHkgbG9zdC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkVyIHdvcmR0IGVlbiBuaWV1dyBTR0ktc2NoaWpmbGFiZWwgZ2VtYWFrdC4gIFdpanppZ2luZ2VuIHZpbmRlbiBlbmtlbFxuIgorI34gImVuIGFsbGVlbiBpbiBoZXQgZ2VoZXVnZW4gcGxhYXRzLCB0b3RkYXQgdSBiZXNsdWl0IHplIHdlZyB0ZSBzY2hyaWp2ZW4uXG4iCisjfiAiRGFhcm5hIGlzIGRlIG91ZGUgaW5ob3VkIHVpdGVyYWFyZCBuaWV0IG1lZXIgaGVyc3RlbGJhYXIuXG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5IC0gZ2l2aW5nIHVwXG4iCisjfiBtc2dzdHIgIm9udm9sZG9lbmRlIGdlaGV1Z2VuIGJlc2NoaWtiYWFyIC0tIGdlc3RvcHRcbiIKKworI34gbXNnaWQgIiUtMjBzOiBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgIiUtMjBzOiBtaXNsdWt0OiAlc1xuIgorCisjfiBtc2dpZCAiJS0yMHM6IGZhaWxlZFxuIgorI34gbXNnc3RyICIlLTIwczogbWlzbHVrdFxuIgorCisjfiBtc2dpZCAibG9naW46IG1lbW9yeSBsb3csIGxvZ2luIG1heSBmYWlsXG4iCisjfiBtc2dzdHIgImxvZ2luOiBlciBpcyB3ZWluaWcgdnJpaiBnZWhldWdlbiwgaW5sb2dnZW4ga2FuIG1pc2x1a2tlblxuIgorCisjfiBtc2dpZCAiY2FuJ3QgbWFsbG9jIGZvciB0dHljbGFzcyIKKyN+IG1zZ3N0ciAibWFsbG9jKCkgdm9vciB0dHljbGFzcyBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiY2FuJ3QgbWFsbG9jIGZvciBncnBsaXN0IgorI34gbXNnc3RyICJtYWxsb2MoKSB2b29yIGdycGxpc3QgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgIkxvZ2luIG9uICVzIGZyb20gJXMgZGVuaWVkLlxuIgorI34gbXNnc3RyICJJbmxvZ2dlbiBvcCAlcyB2YW5hZiAlcyBpcyBnZXdlaWdlcmQuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWyAtZiBmdWxsLW5hbWUgXSBbIC1vIG9mZmljZSBdICIKKyN+IG1zZ3N0ciAiR2VicnVpazogICVzIFstZiB2b2xsZWRpZ2VfbmFhbV0gWy1vIGthbnRvb3JdICIKKworI34gbXNnaWQgIiVzOiBQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorI34gbXNnc3RyICIlczogUEFNLWZvdXQgLS0gZ2VzdG9wdDogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICUxJHMgWy1zIHNoZWxsXSBbdXNlcm5hbWVdXG4iCisjfiAiICAgb3I6ICUxJHMgKC0tbGlzdC1zaGVsbHMgfCAtLWhlbHAgfCAtLXZlcnNpb24pXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJHZWJydWlrOiAgJTEkcyBbLXMgc2hlbGxdIFtnZWJydWlrZXJzbmFhbV1cbiIKKyN+ICIgICAgIG9mOiAgJTEkcyAoLS1saXN0LXNoZWxscyB8IC0taGVscCB8IC0tdmVyc2lvbilcbiIKKworI34gbXNnaWQgIiVzOiBjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcy4iCisjfiBtc2dzdHIgIiVzOiBrYW4gYWxsZWVuIGxva2FsZSBpdGVtcyB3aWp6aWdlbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAvZXRjL3Bhc3N3ZCIKKyN+IG1zZ3N0ciAiJXM6IGthbiBkZSBzdGFuZGFhcmRjb250ZXh0IHZvb3IgL2V0Yy9wYXNzd2QgbmlldCBpbnN0ZWxsZW4iCisKKyN+IG1zZ2lkICJzZXRwd25hbSBmYWlsZWQiCisjfiBtc2dzdHIgInNldHB3bmFtKCkgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgIiVzOiBVc2UgLWwgb3B0aW9uIHRvIHNlZSBsaXN0LlxuIgorI34gbXNnc3RyICIlczogR2VicnVpayBvcHRpZSAnLWwnIG9tIGRlIGxpanN0IHRlIHppZW5cbiIKKworI34gbXNnaWQgIlVzZSAlcyAtbCB0byBzZWUgbGlzdC5cbiIKKyN+IG1zZ3N0ciAiR2VicnVpayAnJXMgLWwnIG9tIGRlIGxpanN0IHRlIHppZW4uXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogbG9naW4gWy1mcF0gW3VzZXJuYW1lXVxuIgorI34gbXNnc3RyICJHZWJydWlrOiAgbG9naW4gWy1mcF0gW2dlYnJ1aWtlcnNuYWFtXVxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeSIKKyN+IG1zZ3N0ciAib252b2xkb2VuZGUgZ2VoZXVnZW4gYmVzY2hpa2JhYXIiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIHVzZXJuYW1lIgorI34gbXNnc3RyICJPbmdlbGRpZ2UgZ2VicnVpa2Vyc25hYW0iCisKKyN+IG1zZ2lkICIlcyBsb2dpbiByZWZ1c2VkIG9uIHRoaXMgdGVybWluYWwuIgorI34gbXNnc3RyICJJbmxvZ2dlbiBkb29yICVzIG9wIGRlemUgdGVybWluYWwgaXMgZ2V3ZWlnZXJkLiIKKworI34gbXNnaWQgIkxPR0lOICVzIFJFRlVTRUQgRlJPTSAlcyBPTiBUVFkgJXMiCisjfiBtc2dzdHIgIklOTE9HR0VOIERPT1IgJXMgVkFOQUYgJXMgSVMgR0VXRUlHRVJEIE9QIFRUWSAlcyIKKworI34gbXNnaWQgIkxPR0lOICVzIFJFRlVTRUQgT04gVFRZICVzIgorI34gbXNnc3RyICJJTkxPR0dFTiBET09SICVzIElTIEdFV0VJR0VSRCBPUCBUVFkgJXMiCisKKyN+IG1zZ2lkICJMb2dpbiBpbmNvcnJlY3RcbiIKKyN+IG1zZ3N0ciAiSW5sb2dnZWdldmVucyBvbmp1aXN0XG4iCisKKyN+IG1zZ2lkICJjaGFuZ2UgdGVybWluYWwgb3duZXIgZmFpbGVkIgorI34gbXNnc3RyICJ3aWp6aWdlbiB2YW4gdGVybWluYWxlaWdlbmFhciBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiZmFpbHVyZSBmb3JraW5nIgorI34gbXNnc3RyICJrYW4gZ2VlbiBuaWV1dyBwcm9jZXMgc3RhcnRlbiIKKworI34gbXNnaWQgIiVzIGxvZ2luOiAiCisjfiBtc2dzdHIgIiVzIGlubG9nbmFhbTogIgorCisjfiBtc2dpZCAiTkFNRSB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiTkFBTSBpcyB0ZSBsYW5nIgorCisjfiBtc2dpZCAibG9naW4gbmFtZSBtdWNoIHRvbyBsb25nLiIKKyN+IG1zZ3N0ciAiaW5sb2duYWFtIGlzIHZlZWwgdGUgbGFuZyIKKworI34gbXNnaWQgImxvZ2luIG5hbWVzIG1heSBub3Qgc3RhcnQgd2l0aCAnLScuIgorI34gbXNnc3RyICJpbmxvZ25hbWVuIG1vZ2VuIG5pZXQgYmVnaW5uZW4gbWV0ICctJyIKKworI34gbXNnaWQgIkVYQ0VTU0lWRSBsaW5lZmVlZHMiCisjfiBtc2dzdHIgIkVYQ0VTU0lFRiBhYW50YWwgd2l0cmVnZWxzIgorCisjfiBtc2dpZCAidG9vIG1hbnkgYmFyZSBsaW5lZmVlZHMuIgorI34gbXNnc3RyICJ0ZSB2ZWVsIHdpdHJlZ2VscyIKKworI34gbXNnaWQgIkxPR0lOIEZBSUxVUkUgRlJPTSAlcywgJXMiCisjfiBtc2dzdHIgIklOTE9HR0VOIElTIE1JU0xVS1QgVkFOQUYgJXMgLS0gJXMiCisKKyN+IG1zZ2lkICJMT0dJTiBGQUlMVVJFIE9OICVzLCAlcyIKKyN+IG1zZ3N0ciAiSU5MT0dHRU4gSVMgTUlTTFVLVCBPUCAlcyAtLSAlcyIKKworI34gbXNnaWQgIiVkIExPR0lOIEZBSUxVUkVTIEZST00gJXMsICVzIgorI34gbXNnc3RyICIlZCBJTkxPR01JU0xVS0tJTkdFTiBWQU5BRiAlcyAtLSAlcyIKKworI34gbXNnaWQgIiVkIExPR0lOIEZBSUxVUkVTIE9OICVzLCAlcyIKKyN+IG1zZ3N0ciAiJWQgSU5MT0dNSVNMVUtLSU5HRU4gT1AgJXMgLS0gICVzIgorCisjfiBtc2dpZCAiJXM6IHRoZSBncm91cCBmaWxlIGlzIGJ1c3kuXG4iCisjfiBtc2dzdHIgIiVzOiBoZXQgYmVzdGFuZCAnZ3JvdXAnIGlzIGluIGdlYnJ1aWtcbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCB1bmxvY2sgJXM6ICVzICh5b3VyIGNoYW5nZXMgYXJlIHN0aWxsIGluICVzKVxuIgorI34gbXNnc3RyICIlczoga2FuICVzIG5pZXQgb250Z3JlbmRlbGVuOiAlcyAodXcgd2lqemlnaW5nZW4gc3RhYW4gbm9nIGluICVzKVxuIgorCisjfiBtc2dpZCAiY2FsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAiY2FsbG9jKCkgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgIldBUk5JTkc6ICVzOiBhcHBlYXJzIHRvIGNvbnRhaW4gJyVzJyBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIldBQVJTQ0hVV0lORzogJXMgc2NoaWpudCBlZW4gJyVzJy1wYXJ0aXRpZXRhYmVsIHRlIGJldmF0dGVuIgorCisjfiBtc2dpZCAibm8gbWFnaWMgc3RyaW5nIGZvdW5kIGF0IG9mZnNldCAweCVqeCAtLSBpZ25vcmVkIgorI34gbXNnc3RyICJnZWVuIG1hZ2lzY2hlIHRla2VucmVla3MgZ2V2b25kZW4gb3AgcG9zaXRpZSAweCVqeCAtLSBnZW5lZ2VlcmQiCisKKyN+IG1zZ2lkICIlczogd3JpdGUgZmFpbGVkIgorI34gbXNnc3RyICIlczogc2NocmlqdmVuIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICIlczogL2RldiBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QuIgorI34gbXNnc3RyICIlczogbWFwICcvZGV2JyBiZXN0YWF0IG5pZXQuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3Qgc2V0IGNhcGFjaXR5IG9uIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDoga2FuIGdyb290dGUgdmFuIGFwcGFyYWF0ICVzIG5pZXQgaW5zdGVsbGVuOiAlc1xuIgorCisjfiBtc2dpZCAiLCBvZmZzZXQgJTxQUkl1NjQ+IgorI34gbXNnc3RyICIsIGJlZ2lucHVudCAlPFBSSXU2ND4iCisKKyN+IG1zZ2lkICIsIGVuY3J5cHRpb24gdHlwZSAlZFxuIgorI34gbXNnc3RyICIsIHZlcnNsZXV0ZWxpbmdzc29vcnQgJWRcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IGdldCBpbmZvIG9uIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDoga2FuIGdlZW4gaW5mb3JtYXRpZSB2ZXJrcmlqZ2VuIG92ZXIgYXBwYXJhYXQgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBvcGVuIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDoga2FuIGFwcGFyYWF0ICVzIG5pZXQgb3BlbmVuOiAlc1xuIgorCisjfiBtc2dpZCAiJXM6IG5vIHBlcm1pc3Npb24gdG8gbG9vayBhdCAvZGV2L2xvb3AlczxOPiIKKyN+IG1zZ3N0ciAiJXM6IGdlZW4gdG9lZ2FuZ3NyZWNodGVuIHRvdCAvZGV2L2xvb3AlczxOPiIKKworI34gbXNnaWQgIiIKKyN+ICIlczogQ291bGQgbm90IGZpbmQgYW55IGxvb3AgZGV2aWNlLiBNYXliZSB0aGlzIGtlcm5lbCBkb2VzIG5vdCBrbm93XG4iCisjfiAiICAgICAgIGFib3V0IHRoZSBsb29wIGRldmljZT8gKElmIHNvLCByZWNvbXBpbGUgb3IgYG1vZHByb2JlIGxvb3AnLikiCisjfiBtc2dzdHIgIiIKKyN+ICIlczogS2FuIGdlZW4gbHVzLWFwcGFyYWF0IHZpbmRlbi4gIE1pc3NjaGllbiBrZW50IGRlemUga2VybmVsIGdlZW5cbiIKKyN+ICIgICAgICAgIGx1cy1hcHBhcmF0ZW4/ICAoRGFuIG1vZXQgdSBkZSBrZXJuZWwgb3BuaWV1dyBjb21waWxlcmVuLFxuIgorI34gIiAgICAgICAgb2YgbWlzc2NoaWVuIGVlbiAnbW9kcHJvYmUgbG9vcCcgZG9lbj8pIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSB3aGlsZSByZWFkaW5nIHBhc3NwaHJhc2UiCisjfiBtc2dzdHIgIk9udm9sZG9lbmRlIGdlaGV1Z2VuIGJlc2NoaWtiYWFyIHRpamRlbnMgbGV6ZW4gdmFuIHdhY2h0d29vcmQiCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiAlcyBpcyBhbHJlYWR5IGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICJ3YWFyc2NodXdpbmc6ICVzIGlzIGFsIGdlcmVsYXRlZXJkIGFhbiAlc1xuIgorCisjfiBtc2dpZCAid2FybmluZzogJXM6IGlzIHdyaXRlLXByb3RlY3RlZCwgdXNpbmcgcmVhZC1vbmx5LlxuIgorI34gbXNnc3RyICJ3YWFyc2NodXdpbmc6ICVzIGlzIHNjaHJpamZiZXZlaWxpZ2QgZW4gd29yZHQgYWxzIGFsbGVlbi1sZXplbiBhYW5nZWtvcHBlbGQuXG4iCisKKyN+IG1zZ2lkICJpb2N0bCBMT09QX1NFVF9GRCBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgImlvY3RsKExPT1BfU0VUX0ZEKSBpcyBtaXNsdWt0OiAlc1xuIgorCisjfiBtc2dpZCAic2V0X2xvb3AoJXMsJXMsJWxsdSwlbGx1KTogc3VjY2Vzc1xuIgorI34gbXNnc3RyICJzZXRfbG9vcCglcywlcywlbGx1LCVsbHUpIGlzIGdlbHVrdFxuIgorCisjfiBtc2dpZCAiZGVsX2xvb3AoJXMpOiBzdWNjZXNzXG4iCisjfiBtc2dzdHIgImx1cy1hcHBhcmFhdCAlcyBpcyB1aXRnZXNjaGFrZWxkXG4iCisKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBkZWxldGUgZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJrYW4gbHVzLWFwcGFyYWF0ICVzIG5pZXQgdWl0c2NoYWtlbGVuOiAlc1xuIgorCisjfiBtc2dpZCAiVGhpcyBtb3VudCB3YXMgY29tcGlsZWQgd2l0aG91dCBsb29wIHN1cHBvcnQuIFBsZWFzZSByZWNvbXBpbGUuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJEZXplIHZlcnNpZSB2YW4gJ21vdW50JyBpcyBnZWNvbXBpbGVlcmQgem9uZGVyIGx1cy1vbmRlcnN0ZXVuaW5nLlxuIgorI34gIkhlcmNvbXBpbGF0aWUgaXMgbm9kaWcuXG4iCisKKyN+IG1zZ2lkICJzdG9sZW4gbG9vcD0lcy4uLnRyeWluZyBhZ2FpblxuIgorI34gbXNnc3RyICJhZmdlcGFrdCBsdXMtYXBwYXJhYXQ9JXM7IC4uLiBuaWV1d2UgcG9naW5nXG4iCisKKyN+IG1zZ2lkICJObyBsb29wIHN1cHBvcnQgd2FzIGF2YWlsYWJsZSBhdCBjb21waWxlIHRpbWUuIFBsZWFzZSByZWNvbXBpbGUuXG4iCisjfiBtc2dzdHIgIkJpaiBoZXQgY29tcGlsZXJlbiB3YXMgZ2VlbiBsdXMtb25kZXJzdGV1bmluZyBiZXNjaGlrYmFhci4gIEhlcmNvbXBpbGF0aWUgaXMgbm9kaWcuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1xIFstaSBpbnRlcnZhbF1dIChbLXMgdmFsdWVdfFstUyB2YWx1ZV0pIChbLXQgdmFsdWVdfFstVCB2YWx1ZV0pIFstZ3wtR10gZmlsZSBbZmlsZS4uLl1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkdlYnJ1aWs6ICAlcyBbLXEgWy1pIGludGVydmFsXV0gKFstcyB3YWFyZGUgfCAtUyB3YWFyZGVdKVxuIgorI34gIiAgICAgICAgICAgICAgICAgKFstdCB3YWFyZGUgfCAtVCB3YWFyZGVdKSBbLWd8LUddIGJlc3RhbmQuLi5cbiIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gJXM6ICVzXG4iCisjfiBtc2dzdHIgIkthbiAlcyBuaWV0IG9wZW5lbjogJXNcbiIKKworI34gbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbiBsb2NrIGZpbGUgJXM6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBrYW4gdmVyZ3JlbmRlbGluZ3NiZXN0YW5kICVzIG5pZXQgb3BlbmVuOiAlc1xuIgorCisjfiBtc2dpZCAiJXM6IGJhZCBudW1iZXI6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBvbmdlbGRpZyBnZXRhbDogJXNcbiIKKworI34gbXNnaWQgIiVzOiBmb3JrIGZhaWxlZDogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGZvcmsoKSBpcyBtaXNsdWt0OiAlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAtTSA8c2l6ZT4gICAgIGNyZWF0ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgb2Ygc2l6ZSA8c2l6ZT5cbiIKKyN+ICIgLVMgPG5zZW1zPiAgICBjcmVhdGUgc2VtYXBob3JlIGFycmF5IHdpdGggPG5zZW1zPiBlbGVtZW50c1xuIgorI34gIiAtUSAgICAgICAgICAgIGNyZWF0ZSBtZXNzYWdlIHF1ZXVlXG4iCisjfiAiIC1wIDxtb2RlPiAgICAgcGVybWlzc2lvbiBmb3IgdGhlIHJlc291cmNlIChkZWZhdWx0IGlzIDA2NDQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIC1NIDxncm9vdHRlPiAgIGdlZGVlbGQgZ2VoZXVnZW5zZWdtZW50IGFhbm1ha2VuIG1ldCBkZXplIGdyb290dGVcbiIKKyN+ICIgIC1TIDxhYW50YWw+ICAgIHNlbWFmb29yYXJyYXkgYWFubWFrZW4gbWV0IDxhYW50YWw+IGVsZW1lbnRlblxuIgorI34gIiAgLVEgICAgICAgICAgICAgYmVyaWNodGVud2FjaHRyaWogYWFubWFrZW5cbiIKKyN+ICIgIC1wIDxtb2R1cz4gICAgIGRlemUgdG9lZ2FuZ3NyZWNodGVuIHRvZWtlbm5lbiAoc3RhbmRhYXJkIDA2NDQpXG4iCisKKyN+IG1zZ2lkICJjYW5ub3QgcmVtb3ZlIGlkICVzICglcylcbiIKKyN+IG1zZ3N0ciAia2FuIElEICVzIG5pZXQgdmVyd2lqZGVyZW4gKCVzKVxuIgorCisjfiBtc2dpZCAiZGVwcmVjYXRlZCB1c2FnZTogJXMge3NobSB8IG1zZyB8IHNlbX0gaWQgLi4uXG4iCisjfiBtc2dzdHIgIkFmZ2VyYWRlbiBnZWJydWlrOiAgJXMgW3NobSB8IG1zZyB8IHNlbV0gSUQuLi5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWyBbLXEgbXNxaWRdIFstbSBzaG1pZF0gWy1zIHNlbWlkXVxuIgorI34gIiAgICAgICAgICBbLVEgbXNna2V5XSBbLU0gc2hta2V5XSBbLVMgc2Vta2V5XSAuLi4gXVxuIgorI34gbXNnc3RyICIiCisjfiAiR2VicnVpazogICVzIFsgWy1xIG1zcS1JRF0gWy1tIHNobS1JRF0gWy1zIHNlbS1JRF1cbiIKKyN+ICIgICAgICAgICAgICAgICAgICBbLVEgbXNxLXNsZXV0ZWxdIFstTSBzaG0tc2xldXRlbF0gWy1TIHNlbS1zbGV1dGVsXSAuLi4gXVxuIgorCisjfiBtc2dpZCAidW5rbm93biBlcnJvciBpbiBrZXkiCisjfiBtc2dzdHIgIm9uYmVrZW5kZSBmb3V0IGluIHNsZXV0ZWwiCisKKyN+IG1zZ2lkICJ1bmtub3duIGVycm9yIGluIGlkIgorI34gbXNnc3RyICJvbmJla2VuZGUgZm91dCBpbiBJRCIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJTEkcyBbLWFzbXFdIFstdHwtY3wtbHwtdXwtcF1cbiIKKyN+ICIgICAgICAgJTEkcyBbLXN8LW18LXFdIC1pIGlkXG4iCisjfiAiICAgICAgICUxJHMgLWggZm9yIGhlbHBcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkdlYnJ1aWs6ICUxJHMgWy1hc21xXSBbLXR8LWN8LWx8LXV8LXBdXG4iCisjfiAiICAgICAgICAgJTEkcyBbLXN8LW18LXFdIC1pIElEXG4iCisjfiAiICAgICAgICAgJTEkcyAtaCAgICAodm9vciBodWxwKVxuIgorCisjfiBtc2dpZCAiIgorI34gIlJlc291cmNlIG9wdGlvbnM6XG4iCisjfiAiICAgIC1tICAgICAgc2hhcmVkIG1lbW9yeSBzZWdtZW50c1xuIgorI34gIiAgICAtcSAgICAgIG1lc3NhZ2UgcXVldWVzXG4iCisjfiAiICAgIC1zICAgICAgc2VtYXBob3Jlc1xuIgorI34gIiAgICAtYSAgICAgIGFsbCAoZGVmYXVsdClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkh1bHBicm9ub3B0aWVzOlxuIgorI34gIiAgICAtbSAgICAgIGdlZGVlbGRlIGdlaGV1Z2Vuc2VnbWVudGVuXG4iCisjfiAiICAgIC1xICAgICAgYmVyaWNodHdhY2h0cmlqZW5cbiIKKyN+ICIgICAgLXMgICAgICBzZW1hZm9yZW5cbiIKKyN+ICIgICAgLWEgICAgICBhbGxlIChpcyBzdGFuZGFhcmQpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiT3V0cHV0IGZvcm1hdDpcbiIKKyN+ICIgICAgLXQgICAgICB0aW1lXG4iCisjfiAiICAgIC1wICAgICAgcGlkXG4iCisjfiAiICAgIC1jICAgICAgY3JlYXRvclxuIgorI34gIiAgICAtbCAgICAgIGxpbWl0c1xuIgorI34gIiAgICAtdSAgICAgIHN1bW1hcnlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVpdHZvZXJvcG1hYWs6XG4iCisjfiAiICAgIC10ICAgICAgdGlqZFxuIgorI34gIiAgICAtcCAgICAgIFBJRFxuIgorI34gIiAgICAtYyAgICAgIGFhbm1ha2VyXG4iCisjfiAiICAgIC1sICAgICAgZ3JlbnplblxuIgorI34gIiAgICAtdSAgICAgIHNhbWVudmF0dGluZ1xuIgorCisjfiBtc2dpZCAiICVzIFsgLWRoVjc4bmVvMTIgXSBbIC1zIDxzcGVlZD4gXSBbIC1pIFstXTxpZmxhZz4gXSA8bGRpc2M+IDxkZXZpY2U+XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICVzIFstZGhWNzhuZW8xMl0gWy1zIDxzbmVsaGVpZD5dIFstaSBbLV08aW52b2VydmxhZz5dXG4iCisjfiAiICAgICAgICAgICAgICAgICAgPGxpam5wcm90b2NvbD4gPGFwcGFyYWF0PlxuIgorCisjfiBtc2dpZCAibGRhdHRhY2ggZnJvbSAlc1xuIgorI34gbXNnc3RyICInbGRhdHRhY2gnIHVpdCAlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAtcCwgLS1wYXJzZSA8bGlzdD4gIHByaW50IG91dCBhIHBhcnNhYmxlIGluc3RlYWQgb2YgYSByZWFkYWJsZSBmb3JtYXRcbiIKKyN+ICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiB1c2UgZGlyZWN0b3J5IERJUiBhcyBzeXN0ZW0gcm9vdFxuIgorI34gIiAteCwgLS1oZXggICAgICAgICAgIHByaW50IGhleGFkZWNpbWFsIG1hc2tzIHJhdGhlciB0aGFuIGxpc3RzIG9mIENQVXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlRvb250IGluZm9ybWF0aWUgb3ZlciBkZSBwcm9jZXNzb3JhcmNoaXRlY3R1dXIuXG4iCisjfiAiXG4iCisjfiAiICAtcCwgLS1wYXJzZVs9PGxpanN0Pl0gIG9udGxlZWRiYXJlIGkucC52LiBsZWVzYmFyZSB1aXR2b2VyIHByb2R1Y2VyZW5cbiIKKyN+ICIgIC1zLCAtLXN5c3Jvb3QgPG1hcD4gICAgZGV6ZSBtYXAgYWxzIGhvb2ZkbWFwIGdlYnJ1aWtlblxuIgorI34gIiAgLXgsIC0taGV4ICAgICAgICAgICAgICBoZXhhZGVjaW1hYWwgbWFza2VyIHRvbmVuIGluIHBsYWF0cyB2YW4gbGlqc3RcbiIKKworI34gbXNnaWQgIiIKKyN+ICIlczogVXNhZ2U6IFwiJXMgW29wdGlvbnNdXG4iCisjfiAiXHQgLW0gPG1hcGZpbGU+ICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIKKyN+ICJcdFx0XHRcdCAgXCIlc1wiKVxuIgorI34gIlx0IC1wIDxwcm8tZmlsZT4gKGRlZmF1bHQ6IFwiJXNcIilcbiIKKyN+ICJcdCAtTSA8bXVsdD4gICAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iCisjfiAiXHQgLWkgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIKKyN+ICJcdCAtdiAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorI34gIlx0IC1hICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorI34gIlx0IC1iICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorI34gIlx0IC1zICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCisjfiAiXHQgLXIgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCisjfiAiXHQgLW4gICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIKKyN+ICJcdCAtViAgICAgICAgICAgIHByaW50IHZlcnNpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBHZWJydWlrOiAgJXMgW29wdGllc11cbiIKKyN+ICJcbiIKKyN+ICIgIC1NIDxtYWFsPiAgcHJvZmlsZWVydmVybWVuaWd2dWxkaWdlciBvcCA8bWFhbD4gaW5zdGVsbGVuXG4iCisjfiAiICAtbSA8c3ltYm9sZW5iZXN0YW5kPiAgIChzdGFuZGFhcmQ6ICVzIGVuXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICVzKVxuIgorI34gIiAgLXAgPHByb2ZpbGVlcmJlc3RhbmQ+ICAoc3RhbmRhYXJkOiAlcylcbiIKKyN+ICIgIC1hICAgICAgICAgYWxsZSBzeW1ib2xlbiB0b25lbiwgb29rIGFscyBoZXQgYWFudGFsIG51bCBpc1xuIgorI34gIiAgLWIgICAgICAgICBpbmRpdmlkdWVsZSBoaXN0b2dyYW1iYWxrLWFhbnRhbGxlbiB3ZWVyZ2V2ZW5cbiIKKyN+ICIgIC1pICAgICAgICAgYWxsZWVuIGluZm8gb3ZlciBiZW1vbnN0ZXJpbmdzc3RhcCB0b25lblxuIgorI34gIiAgLW4gICAgICAgICBhdXRvZGV0ZWN0aWUgdmFuIGJ5dGV2b2xnb3JkZSB1aXR6ZXR0ZW5cbiIKKyN+ICIgIC1yICAgICAgICAgYWxsZSB0ZWxsZXJzIG9wbmlldXcgb3AgbnVsIGluc3RlbGxlbiAoYWxsZWVuIGRvb3Igcm9vdClcbiIKKyN+ICIgIC1zICAgICAgICAgaW5kaXZpZHVlbGUgdGVsbGVycyBpbiBmdW5jdGllcyB3ZWVyZ2V2ZW5cbiIKKyN+ICIgIC12ICAgICAgICAgZ2VkZXRhaWxsZWVyZGUgdWl0dm9lciBwcm9kdWNlcmVuXG4iCisKKyN+IG1zZ2lkICJyZWFkcHJvZmlsZTogZXJyb3Igd3JpdGluZyAlczogJXNcbiIKKyN+IG1zZ3N0ciAicmVhZHByb2ZpbGU6IGZvdXQgYmlqIHNjaHJpanZlbiB2YW4gJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgcHJvZ3JhbSBbYXJnIC4uLl1cbiIKKyN+IG1zZ3N0ciAiR2VicnVpazogICVzIDxwcm9ncmFtbWE+IFs8YXJndW1lbnQ+Li4uXVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyA8ZGV2aWNlPiBbIC1pIDxJUlE+IHwgLXQgPFRJTUU+IHwgLWMgPENIQVJTPiB8IC13IDxXQUlUPiB8IFxuIgorI34gIiAgICAgICAgICAtYSBbb258b2ZmXSB8IC1vIFtvbnxvZmZdIHwgLUMgW29ufG9mZl0gfCAtcSBbb258b2ZmXSB8IC1zIHwgXG4iCisjfiAiICAgICAgICAgIC1UIFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkdlYnJ1aWs6ICAlcyA8YXBwYXJhYXQ+IFsgLWMgPGFhbnRhbF9wb2dpbmdlbl9hbHZvcmVuc190ZV9zbGFwZW4+IHxcbiIKKyN+ICIgICAgICAgICAgLXQgPHNsYWFwdGlqZD4gfCAtdyA8c3Ryb2JlX3dhY2h0dGlqZD4gfCAtaSA8SVJRPiB8IC1hIFtvbnxvZmZdIHxcbiIKKyN+ICIgICAgICAgICAgLUMgW29ufG9mZl0gfCAtbyBbb258b2ZmXSB8IC1xIFtvbnxvZmZdIHwgLXMgfCAtVCBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICIlczogYmFkIHZhbHVlXG4iCisjfiBtc2dzdHIgIiVzOiBvbmdlbGRpZ2Ugd2FhcmRlXG4iCisKKyN+IG1zZ2lkICJTb3JyeSBZb3UgbWF5IGNoYW5nZSB0aGUgVGFnIG9mIG5vbi1lbXB0eSBwYXJ0aXRpb25zLlxuIgorI34gbXNnc3RyICJTb3JyeSwgYWxsZWVuIHZhbiBuaWV0LWxlZ2UgcGFydGl0aWVzIGt1bnQgdSBkZSBzb29ydCB3aWp6aWdlbi5cbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyAiCisjfiBtc2dzdHIgIldhYXJzY2h1d2luZzogcGFydGl0aWUgJXMgIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9ucyAlcyAiCisjfiBtc2dzdHIgIldhYXJzY2h1d2luZzogcGFydGl0aWVzICVzICIKKworI34gbXNnaWQgImFuZCAlcyBvdmVybGFwXG4iCisjfiBtc2dzdHIgImVuICVzIG92ZXJsYXBwZW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgICVzIFtvcHRpb25zXSBkZXZpY2UgWy4uLl1cbiIKKyN+IG1zZ3N0ciAiR2VicnVpazogICVzIFtvcHRpZXNdIGFwcGFyYWF0Li4uXG4iCisKKyN+IG1zZ2lkICJEZXZpY2UgaXMgc29tZXRoaW5nIGxpa2UgL2Rldi9oZGEgb3IgL2Rldi9zZGFcbiIKKyN+IG1zZ3N0ciAiICAoYXBwYXJhYXQgaXMgem9pZXRzIGFscyAvZGV2L2hkYSBvZiAvZGV2L3NkYSlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgIC1zLCAtLXNob3ctc2l6ZSAgICAgICAgIGxpc3Qgc2l6ZSBvZiBhIHBhcnRpdGlvblxuIgorI34gIiAgLWMsIC0taWQgICAgICAgICAgICAgICAgY2hhbmdlIG9yIHByaW50IHBhcnRpdGlvbiBJZFxuIgorI34gIiAgICAgIC0tY2hhbmdlLWlkICAgICAgICAgY2hhbmdlIElkXG4iCisjfiAiICAgICAgLS1wcmludC1pZCAgICAgICAgICBwcmludCBJZFxuIgorI34gIiAgLWwsIC0tbGlzdCAgICAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zIG9mIGVhY2ggZGV2aWNlXG4iCisjfiAiICAtZCwgLS1kdW1wICAgICAgICAgICAgICBpZGVtLCBidXQgaW4gYSBmb3JtYXQgc3VpdGFibGUgZm9yIGxhdGVyIGlucHV0XG4iCisjfiAiICAtaSwgLS1pbmNyZW1lbnQgICAgICAgICBudW1iZXIgY3lsaW5kZXJzIGV0Yy4gZnJvbSAxIGluc3RlYWQgb2YgZnJvbSAwXG4iCisjfiAiICAtdSwgLS11bml0PVtTQkNNXSAgICAgICB1bml0cyBpbiBzZWN0b3JzLCBibG9ja3MsIGN5bGluZGVycyBvciBNQlxuIgorI34gIiAgLTEsIC0tb25lLW9ubHkgICAgICAgICAgcmVzZXJ2ZWQgb3B0aW9uIHRoYXQgZG9lcyBub3RoaW5nIGN1cnJlbnRseVxuIgorI34gIiAgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgbGlzdCB0aGUga25vd24gcGFydGl0aW9uIHR5cGVzXG4iCisjfiAiICAtRCwgLS1ET1MgICAgICAgICAgICAgICBmb3IgRE9TLWNvbXBhdGliaWxpdHk6IHdhc3RlIGEgbGl0dGxlIHNwYWNlXG4iCisjfiAiICAtRSwgLS1ET1MtZXh0ZW5kZWQgICAgICBET1MgZXh0ZW5kZWQgcGFydGl0aW9uIGNvbXBhdGliaWxpdHlcbiIKKyN+ICIgIC1SLCAtLXJlLXJlYWQgICAgICAgICAgIG1ha2Uga2VybmVsIHJlcmVhZCBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICIgIC1OPU5VTSAgICAgICAgICAgICAgICAgIGNoYW5nZSBvbmx5IHRoZSBwYXJ0aXRpb24gd2l0aCBudW1iZXIgTlVNXG4iCisjfiAiICAtbiAgICAgICAgICAgICAgICAgICAgICBkbyBub3QgYWN0dWFsbHkgd3JpdGUgdG8gZGlza1xuIgorI34gIiAgLU8gRklMRSAgICAgICAgICAgICAgICAgc2F2ZSB0aGUgc2VjdG9ycyB0aGF0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gdG8gZmlsZVxuIgorI34gIiAgLUkgRklMRSAgICAgICAgICAgICAgICAgcmVzdG9yZSBzZWN0b3JzIGZyb20gZmlsZVxuIgorI34gIiAgLVYsIC0tdmVyaWZ5ICAgICAgICAgICAgY2hlY2sgdGhhdCBsaXN0ZWQgcGFydGl0aW9uIGlzIHJlYXNvbmFibGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIk9wdGllczpcbiIKKyN+ICIgIC1zLCAtLXNob3ctc2l6ZSAgICAgICAgIGdyb290dGUgdmFuIGVlbiBwYXJ0aXRpZSB0b25lblxuIgorI34gIiAgLWMsIC0taWQgICAgICAgICAgICAgICAgcGFydGl0aWUtSUQgdG9uZW4gb2Ygd2lqemlnZW5cbiIKKyN+ICIgICAgICAtLWNoYW5nZS1pZCAgICAgICAgIElEIHdpanppZ2VuXG4iCisjfiAiICAgICAgLS1wcmludC1pZCAgICAgICAgICBJRCB0b25lblxuIgorI34gIiAgLWwsIC0tbGlzdCAgICAgICAgICAgICAgcGFydGl0aWVzIHZhbiBlbGsgZ2VnZXZlbiBhcHBhcmFhdCB0b25lblxuIgorI34gIiAgLWQsIC0tZHVtcCAgICAgICAgICAgICAgaWRlbSwgbWFhciBpbiBlZW4gdm9ybSBkaWUgZ2VzY2hpa3QgaXMgYWxzIGludm9lclxuIgorI34gIiAgLWksIC0taW5jcmVtZW50ICAgICAgICAgY2lsaW5kZXJzIG51bW1lcmVuIHZhbmFmIDEgaW4gcGxhYXRzIHZhbiB2YW5hZiAwXG4iCisjfiAiICAtdSwgLS11bml0PVtTQkNNXSAgICAgICBhbHMgZWVuaGVpZCBzZWN0b3JlbiwgYmxva2tlbiwgY2lsaW5kZXJzLCBNQiBnZWJydWlrZW5cbiIKKyN+ICIgIC0xLCAtLW9uZS1vbmx5ICAgICAgICAgIChnZXJlc2VydmVlcmRlIG9wdGllOyBkb2V0IG1vbWVudGVlbCBuaWV0cylcbiIKKyN+ICIgIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgIGRlIG1vZ2VsaWprZSBwYXJ0aXRpZXNvb3J0ZW4gdG9uZW5cbiIKKyN+ICIgIC1ELCAtLURPUyAgICAgICAgICAgICAgIERPUy1jb21wYXRpYmVsIHppam4gKGVlbiBiZWV0amUgcnVpbXRlIHZlcnNwaWxsZW4pXG4iCisjfiAiICAtRSwgLS1ET1MtZXh0ZW5kZWQgICAgICBET1MtZXh0ZW5kZWQtY29tcGF0aWJlbCB6aWpuXG4iCisjfiAiICAtUiwgLS1yZS1yZWFkICAgICAgICAgICBkZSBwYXJ0aXRpZXRhYmVsIGRvb3IgZGUga2VybmVsIGxhdGVuIGhlcmlubGV6ZW5cbiIKKyN+ICIgIC1OPU5VTU1FUiAgICAgICAgICAgICAgIGFsbGVlbiBkZSBwYXJ0aXRpZSBtZXQgZGl0IG51bW1lciB3aWp6aWdlblxuIgorI34gIiAgLW4gICAgICAgICAgICAgICAgICAgICAgbmlldCBlY2h0IG5hYXIgc2NoaWpmIHNjaHJpanZlbiwgbWFhciBkb2VuIGFsc29mXG4iCisjfiAiICAtTyBCRVNUQU5EICAgICAgICAgICAgICBzZWN0b3JlbiBkaWUgb3ZlcnNjaHJldmVuIHdvcmRlbiBvcHNsYWFuIGluIGJlc3RhbmRcbiIKKyN+ICIgIC1JIEJFU1RBTkQgICAgICAgICAgICAgIG92ZXJzY2hyZXZlbiBzZWN0b3JlbiBoZXJzdGVsbGVuIHZhbnVpdCBkaXQgYmVzdGFuZFxuIgorI34gIiAgLVYsIC0tdmVyaWZ5ICAgICAgICAgICAgY29udHJvbGVyZW4gZGF0IGRlIHBhcnRpdGllcyBjb25zaXN0ZW50IHppam5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJEYW5nZXJvdXMgb3B0aW9uczpcbiIKKyN+ICIgIC1mLCAtLWZvcmNlICAgICAgICAgICAgIGRpc2FibGUgYWxsIGNvbnNpc3RlbmN5IGNoZWNraW5nXG4iCisjfiAiICAtZywgLS1zaG93LWdlb21ldHJ5ICAgICBwcmludCB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgZ2VvbWV0cnlcbiIKKyN+ICIgIC1BLCAtLWFjdGl2YXRlWz1kZXZpY2VdIGFjdGl2YXRlIGJvb3RhYmxlIGZsYWdcbiIKKyN+ICIgIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgIHByaW50IGdlb21ldHJ5IGd1ZXNzZWQgZnJvbSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiICAtVSwgLS11bmhpZGVbPWRldmljZV0gICBzZXQgcGFydGl0aW9uIHVuaGlkZGVuXG4iCisjfiAiICAgICAgLS1uby1yZXJlYWQgICAgICAgICBza2lwIHBhcnRpdGlvbiByZS1yZWFkIGF0IGJvb3RcbiIKKyN+ICIgIC14LCAtLXNob3ctZXh0ZW5kZWQgICAgIGFsc28gbGlzdCBleHRlbmRlZCBwYXJ0aXRpb25zIG9uIG91dHB1dFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgZXhwZWN0IGRlc2NyaXB0b3JzIGZvciB0aGVtIG9uIGlucHV0XG4iCisjfiAiICAgICAgLS1sZWF2ZS1sYXN0ICAgICAgICBkbyBub3QgYWxsb2NhdGUgdGhlIGxhc3QgY3lsaW5kZXJcbiIKKyN+ICIgICAgICAtLUlCTSAgICAgICAgICAgICAgIHNhbWUgYXMgLS1sZWF2ZS1sYXN0XG4iCisjfiAiICAgICAgLS1pbi1vcmRlciAgICAgICAgICBwYXJ0aXRpb25zIGFyZSBpbiBvcmRlclxuIgorI34gIiAgICAgIC0tbm90LWluLW9yZGVyICAgICAgcGFydGl0aW9ucyBhcmUgbm90IGluIG9yZGVyXG4iCisjfiAiICAgICAgLS1pbnNpZGUtb3JkZXIgICAgICBhbGwgbG9naWNhbHMgaW5zaWRlIG91dGVybW9zdCBleHRlbmRlZFxuIgorI34gIiAgICAgIC0tbm90LWluc2lkZS1vcmRlciAgbm90IGFsbCBsb2dpY2FscyBpbnNpZGUgb3V0ZXJtb3N0IGV4dGVuZGVkXG4iCisjfiAiICAgICAgLS1uZXN0ZWQgICAgICAgICAgICBldmVyeSBwYXJ0aXRpb24gaXMgZGlzam9pbnQgZnJvbSBhbGwgb3RoZXJzXG4iCisjfiAiICAgICAgLS1jaGFpbmVkICAgICAgICAgICBsaWtlIG5lc3RlZCwgYnV0IGV4dGVuZGVkIHBhcnRpdGlvbnMgbWF5IGxpZSBvdXRzaWRlXG4iCisjfiAiICAgICAgLS1vbmVzZWN0b3IgICAgICAgICBwYXJ0aXRpb25zIGFyZSBtdXR1YWxseSBkaXNqb2ludFxuIgorI34gIiAgLUwsIC0tTGludXggICAgICAgICAgICAgZG8gbm90IGNvbXBsYWluIGFib3V0IHRoaW5ncyBpcnJlbGV2YW50IGZvciBMaW51eFxuIgorI34gIiAgLXEsIC0tcXVpZXQgICAgICAgICAgICAgc3VwcHJlc3Mgd2FybmluZyBtZXNzYWdlc1xuIgorI34gIlxuIgorI34gIiAgT3ZlcnJpZGUgdGhlIGRldGVjdGVkIGdlb21ldHJ5IHVzaW5nOlxuIgorI34gIiAgLUMsIC0tY3lsaW5kZXJzPU5VTSAgICAgc2V0IHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzIHRvIHVzZVxuIgorI34gIiAgLUgsIC0taGVhZHM9TlVNICAgICAgICAgc2V0IHRoZSBudW1iZXIgb2YgaGVhZHMgdG8gdXNlXG4iCisjfiAiICAtUywgLS1zZWN0b3JzPU5VTSAgICAgICBzZXQgdGhlIG51bWJlciBvZiBzZWN0b3JzIHRvIHVzZVxuIgorI34gbXNnc3RyICIiCisjfiAiR2V2YWFybGlqa2Ugb3B0aWVzOlxuIgorI34gIiAgLWYsIC0tZm9yY2UgICAgICAgICAgICAgYWxsZSBjb25zaXN0ZW50aWVjb250cm9sZXMgdWl0c2NoYWtlbGVuXG4iCisjfiAiICAtZywgLS1zaG93LWdlb21ldHJ5ICAgICBkZSBnZW9tZXRyaWUgdG9uZW4gZGllIGRvb3IgZGUga2VybmVsIGFhbmdlZ2V2ZW4gd29yZHRcbiIKKyN+ICIgIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgIGRlIGdlb21ldHJpZSB0b25lbiBkaWUgdWl0IGRlIHBhcnRpdGlldGFiZWwgYmxpamt0XG4iCisjfiAiICAtQSwgLS1hY3RpdmF0ZVs9QVBQUlRdICBkZSAnb3BzdGFydGJhYXInLXZsYWcgaW5zY2hha2VsZW5cbiIKKyN+ICIgIC1VLCAtLXVuaGlkZVs9QVBQUlRdICAgIHBhcnRpdGllIGFscyBvbnZlcmJvcmdlbiBtYXJrZXJlblxuIgorI34gIiAgICAgIC0tbm8tcmVyZWFkICAgICAgICAgdm9vciBoZXJwYXJ0aXRpb25lcmVuIGRlIHBhcnRpdGlldGFiZWwgbmlldCBoZXJsZXplblxuIgorI34gIiAgLXgsIC0tc2hvdy1leHRlbmRlZCAgICAgdWl0Z2VicmVpZGUgcGFydGl0aWVzIHZvbGxlZGlnIHdlZXJnZXZlbiBpbiB1aXR2b2VyLFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBiZXNjaHJpanZlcnMgZXJ2YW4gdmVyd2FjaHRlbiBpbiBpbnZvZXJcbiIKKyN+ICIgICAgICAtLWxlYXZlLWxhc3QgICAgICAgIGRlIGxhYXRzdGUgY2lsaW5kZXIgbmlldCB0b2V3aWp6ZW5cbiIKKyN+ICIgICAgICAtLUlCTSAgICAgICAgICAgICAgIGhldHplbGZkZSBhbHMgJy0tbGVhdmUtbGFzdCdcbiIKKyN+ICIgICAgICAtLWluLW9yZGVyICAgICAgICAgIGRlIHBhcnRpdGllcyB6aWpuIG9wIHZvbGdvcmRlXG4iCisjfiAiICAgICAgLS1ub3QtaW4tb3JkZXIgICAgICBkZSBwYXJ0aXRpZXMgemlqbiBuaWV0IG9wIHZvbGdvcmRlXG4iCisjfiAiICAgICAgLS1pbnNpZGUtb3V0ZXIgICAgICBhbGxlIGxvZ2lzY2hlIHZhbGxlbiBiaW5uZW4gZGUgYnVpdGVuc3RlIHVpdGdlYnJlaWRlXG4iCisjfiAiICAgICAgLS1ub3QtaW5zaWRlLW91dGVyICBuaWV0IGFsbGUgbG9naXNjaGUgYmlubmVuIGRlIGJ1aXRlbnN0ZSB1aXRnZWJyZWlkZVxuIgorI34gIiAgICAgIC0tbmVzdGVkICAgICAgICAgICAgZWxrZSBwYXJ0aXRpZSB2YWx0IGJpbm5lbiBlZW4gdWl0Z2VicmVpZGUgcGFydGl0aWVcbiIKKyN+ICIgICAgICAtLWNoYWluZWQgICAgICAgICAgIGVsa2UgbG9naXNjaGUgcGFydGl0aWUgdmFsdCBiaW5uZW4gZWVuIHVpdGdlYnJlaWRlXG4iCisjfiAiICAgICAgLS1vbmVzZWN0b3IgICAgICAgICBnZWVuIGVua2VsZSBwYXJ0aXRpZSB2YWx0IGJpbm5lbiBlZW4gYW5kZXJlXG4iCisjfiAiICAtTCwgLS1MaW51eCAgICAgICAgICAgICBuaWV0IGtsYWdlbiBvdmVyIGRpbmdlbiBkaWUgaXJyZWxldmFudCB6aWpuIHZvb3IgTGludXhcbiIKKyN+ICIgIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHdhYXJzY2h1d2luZ2VuIG9uZGVyZHJ1a2tlblxuIgorI34gIlxuIgorI34gIlUga3VudCBlZW4gYW5kZXJlIGRhbiBkZSBnZXZvbmRlbiBnZW9tZXRyaWUgYWZkd2luZ2VuIG1ldDpcbiIKKyN+ICIgIC1DLCAtLWN5bGluZGVycz1HRVRBTCAgIGhldCBhYW50YWwgdGUgZ2VicnVpa2VuIGNpbGluZGVyc1xuIgorI34gIiAgLUgsIC0taGVhZHM9R0VUQUwgICAgICAgaGV0IGFhbnRhbCB0ZSBnZWJydWlrZW4ga29wcGVuXG4iCisjfiAiICAtUywgLS1zZWN0b3JzPUdFVEFMICAgICBoZXQgYWFudGFsIHRlIGdlYnJ1aWtlbiBzZWN0b3JlblxuIgorCisjfiBtc2dpZCAic3VjY2VzcyIKKyN+IG1zZ3N0ciAiZ2VsdWt0IgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOlxuIgorI34gIiAlMSRzIC1hIFstZV0gWy12XSBbLWZdICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiICUxJHMgWy1wIHByaW9yaXR5XSBbLWRdIFstdl0gWy1mXSA8c3BlY2lhbD4gIGVuYWJsZSBnaXZlbiBzd2FwXG4iCisjfiAiICUxJHMgLXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHVzYWdlIHN1bW1hcnlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkdlYnJ1aWs6XG4iCisjfiAiICAlMSRzIC1hIFstZV0gWy12XSBbLWZdICAgICAgICAgICAgICAgICBhbGxlIHdpc3NlbGdlaGV1Z2VucyBpbnNjaGFrZWxlbiBkaWVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVybWVsZCBzdGFhbiBpbiAvZXRjL2ZzdGFiXG4iCisjfiAiICAlMSRzIFstcCBQUklPUklURUlUXSBbLWRdIFstdl0gWy1mXSBOQUFNICAgIGRpdCB3aXNzZWxnZWhldWdlbiBpbnNjaGFrZWxlblxuIgorI34gIiAgJTEkcyAtcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VicnVpa3NzYW1lbnZhdHRpbmcgdG9uZW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJTEkcyAtYSBbLXZdICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIHN3YXBzXG4iCisjfiAiICUxJHMgWy12XSA8c3BlY2lhbD4gICAgICAgICAgICAgICBkaXNhYmxlIGdpdmVuIHN3YXBcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkdlYnJ1aWs6XG4iCisjfiAiICAlMSRzIC1hIFstdl0gICAgICBhbGxlIHdpc3NlbGdlaGV1Z2VucyB1aXRzY2hha2VsZW5cbiIKKyN+ICIgICUxJHMgWy12XSBOQUFNICAgIGRpdCB3aXNzZWxnZWhldWdlbiB1aXRzY2hha2VsZW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIDxmaWxlbmFtZT5cbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gbXNnc3RyICIiCisjfiAiR2VicnVpazogICVzIFtvcHRpZXNdIDxiZXN0YW5kc25hYW0+XG4iCisjfiAiXG4iCisjfiAiT3B0aWVzOlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXVxuIgorI34gbXNnc3RyICJHZWJydWlrOiAgJXMgW29wdGllc11cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkdlYnJ1aWs6ICAlcyBbb3B0aWVzXVxuIgorI34gIlxuIgorI34gIk9wdGllczpcbiIKKworI34gbXNnaWQgIiAgJXMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisjfiBtc2dzdHIgIiAgJXMgLS1yZXBvcnQgW2FwcGFyYXRlbl1cbiIKKworI34gbXNnaWQgIiAgJXMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisjfiBtc2dzdHIgIiAgJXMgWy12fC1xXSBvcGRyYWNodGVuIGFwcGFyYXRlblxuIgorCisjfiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuICVzXG4iCisjfiBtc2dzdHIgIiVzOiBrYW4gJXMgbmlldCBvcGVuZW5cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC1uIF0gZGV2aWNlXG4iCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICAlcyBbIC1uIF0gYXBwYXJhYXRcbiIKKworI34gbXNnaWQgIm1hbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgIm1hbGxvYygpIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICIlczogb3B0aW9uIHBhcnNlIGVycm9yXG4iCisjfiBtc2dzdHIgIiVzOiBvcHRpZS1vbnRsZWRpbmdzZm91dFxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsteF0gWy1kIDxudW0+XSBpc285NjYwLWltYWdlXG4iCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICAlcyBbLXhdIFstZCA8Z2V0YWw+XSBpc285NjYwLWFmYmVlbGRpbmdcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgWy12XSBbLU4gbnItb2YtaW5vZGVzXSBbLVYgdm9sdW1lLW5hbWVdXG4iCisjfiAiICAgICAgIFstRiBmc25hbWVdIGRldmljZSBbYmxvY2stY291bnRdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJHZWJydWlrOiAgJXMgWy12XSBbLU4gYWFudGFsX2lub2Rlc10gWy1WIHZvbHVtZW5uYWFtXVxuIgorI34gIiAgICAgICAgICBbLUYgYmVzdGFuZHNzeXN0ZWVtbmFhbV0gYXBwYXJhYXQgW2FhbnRhbF9ibG9ra2VuXVxuIgorCisjfiBtc2dpZCAiY2Fubm90IGRldGVybWluZSBzZWN0b3Igc2l6ZSBmb3IgJXMiCisjfiBtc2dzdHIgImthbiBzZWN0b3Jncm9vdHRlIHZvb3IgJXMgbmlldCBhY2h0ZXJoYWxlbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWNdIFstcFBBR0VTWl0gWy1MIGxhYmVsXSBbLVUgVVVJRF0gL2Rldi9uYW1lIFtibG9ja3NdXG4iCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICAlcyBbLWNdIFstcHBhZ2luYWdyb290dGVdIFstTCBsYWJlbF0gWy1VIFVVSURdICAvZGV2L25hYW0gIFtibG9ra2VuXVxuIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSIKKyN+IG1zZ3N0ciAiT252b2xkb2VuZGUgZ2VoZXVnZW4gYmVzY2hpa2JhYXIiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6XG4iCisjfiAiICAlcyAiCisjfiBtc2dzdHIgIiIKKyN+ICJHZWJydWlrOlxuIgorI34gIiAgJXMgIgorCisjfiBtc2dpZCAiTWVudSB3aXRob3V0IGRpcmVjdGlvbi4gRGVmYXVsdGluZyB0byBob3Jpem9udGFsLiIKKyN+IG1zZ3N0ciAiTWVudSB6b25kZXIgcmljaHRpbmcuICBTdGFuZGFhcmQgd29yZHQgZ2VicnVpa3Q6IGhvcml6b250YWFsLiIKKworI34gbXNnaWQgIllvdSBtdXN0IGRlbGV0ZSBzb21lIHBhcnRpdGlvbiBhbmQgYWRkIGFuIGV4dGVuZGVkIHBhcnRpdGlvbiBmaXJzdFxuIgorI34gbXNnc3RyICIiCisjfiAiVSBkaWVudCBlZXJzdCBlZW4gcGFydGl0aWUgdGUgdmVyd2lqZGVyZW5cbiIKKyN+ICJlbiBlZW4gdWl0Z2VicmVpZGUgcGFydGl0aWUgdG9lIHRlIHZvZWdlbi5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJDb21tYW5kIGFjdGlvblxuIgorI34gIiAgICVzXG4iCisjfiAiICAgcCAgIHByaW1hcnkgcGFydGl0aW9uICgxLTQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJPcGRyYWNodCAgQWN0aWVcbiIKKyN+ICIgICAlc1xuIgorI34gIiAgIHAgICAgICBwcmltYWlyZSBwYXJ0aXRpZSAoMS00KVxuIgorCisjfiBtc2dpZCAiICAgIC1zIFtvciAtLXNob3ctc2l6ZV06IGxpc3Qgc2l6ZSBvZiBhIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAtcywgLS1zaG93LXNpemUgICAgIHBhcnRpdGllZ3Jvb3R0ZXMgdG9uZW4iCisKKyN+IG1zZ2lkICIgICAgLWQgW29yIC0tZHVtcF06ICAgICAgaWRlbSwgYnV0IGluIGEgZm9ybWF0IHN1aXRhYmxlIGZvciBsYXRlciBpbnB1dCIKKyN+IG1zZ3N0ciAiICAtZCwgLS1kdW1wICAgICAgICAgIGlkZW0sIG1hYXIgaW4gZWVuIG9wbWFhayBnZXNjaGlrdCB2b29yIGxhdGVyZSBpbnZvZXIiCisKKyN+IG1zZ2lkICIgICAgLWkgW29yIC0taW5jcmVtZW50XTogbnVtYmVyIGN5bGluZGVycyBldGMuIGZyb20gMSBpbnN0ZWFkIG9mIGZyb20gMCIKKyN+IG1zZ3N0ciAiICAtaSwgLS1pbmNyZW1lbnQgICAgIGNpbGluZGVycy9zZWN0b3Jlbi8uLi4gbnVtbWVyZW4gdmFuYWYgMSBpbiBwbGFhdHMgdmFuYWYgMCIKKworI34gbXNnaWQgIiAgICAtdVMsIC11QiwgLXVDLCAtdU06ICBhY2NlcHQvcmVwb3J0IGluIHVuaXRzIG9mIHNlY3RvcnMvYmxvY2tzL2N5bGluZGVycy9NQiIKKyN+IG1zZ3N0ciAiICAtdVMsIC11QiwgLXVDLCAtdU0gIGludm9lcmVuL3dlZXJnZXZlbiBpbiBzZWN0b3Jlbi9ibG9ra2VuL2NpbGluZGVycy9NQiIKKworI34gbXNnaWQgIiAgICAtVCBbb3IgLS1saXN0LXR5cGVzXTpsaXN0IHRoZSBrbm93biBwYXJ0aXRpb24gdHlwZXMiCisjfiBtc2dzdHIgIiAgLVQsIC0tbGlzdC10eXBlcyAgICBiZWtlbmRlIHBhcnRpdGlldHlwZW4gb3Bzb21tZW4iCisKKyN+IG1zZ2lkICIgICAgLUQgW29yIC0tRE9TXTogICAgICAgZm9yIERPUy1jb21wYXRpYmlsaXR5OiB3YXN0ZSBhIGxpdHRsZSBzcGFjZSIKKyN+IG1zZ3N0ciAiICAtRCwgLS1ET1MgICAgICAgICAgIGVlbiBiZWV0amUgcnVpbXRlIHZlcnNwaWxsZW4gKHZvb3IgRE9TLWNvbXBhdGliaWxpdGVpdCkiCisKKyN+IG1zZ2lkICIgICAgLVIgW29yIC0tcmUtcmVhZF06ICAgbWFrZSBrZXJuZWwgcmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiICAtUiwgLS1yZS1yZWFkICAgICAgIGRlIHBhcnRpdGlldGFiZWwgb3BuaWV1dyBpbiBsYXRlbiBsZXplbiBkb29yIGRlIGtlcm5lbCIKKworI34gbXNnaWQgIiAgICAtTyBmaWxlIDogICAgICAgICAgICBzYXZlIHRoZSBzZWN0b3JzIHRoYXQgd2lsbCBiZSBvdmVyd3JpdHRlbiB0byBmaWxlIgorI34gbXNnc3RyICIgIC1PIGJlc3RhbmQgICAgICAgICAgZGUgdGUgb3ZlcnNjaHJpanZlbiBzZWN0b3JlbiBvcHNsYWFuIGluIGRpdCBiZXN0YW5kIgorCisjfiBtc2dpZCAiICAgIC1JIGZpbGUgOiAgICAgICAgICAgIHJlc3RvcmUgdGhlc2Ugc2VjdG9ycyBhZ2FpbiIKKyN+IG1zZ3N0ciAiICAtSSBiZXN0YW5kICAgICAgICAgIGRlemUgb3BnZXNsYWdlbiBzZWN0b3JlbiBoZXJzdGVsbGVuIgorCisjfiBtc2dpZCAiICAgIC1nIFtvciAtLXNob3ctZ2VvbWV0cnldOiBwcmludCB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIiAgLWcsIC0tc2hvdy1nZW9tZXRyeSAgICAgZGUga2VybmVsdmlzaWUgdmFuIGRlIGdlb21ldHJpZSB3ZWVyZ2V2ZW4iCisKKyN+IG1zZ2lkICIgICAgLUwgIFtvciAtLUxpbnV4XTogICAgICBkbyBub3QgY29tcGxhaW4gYWJvdXQgdGhpbmdzIGlycmVsZXZhbnQgZm9yIExpbnV4IgorI34gbXNnc3RyICIgIC1MLCAtLUxpbnV4ICAgICAgICAgbmlldCBrbGFnZW4gb3ZlciBkaW5nZW4gZGllIG5pZXQgcmVsZXZhbnQgemlqbiB2b29yIExpbnV4IgorCisjfiBtc2dpZCAiICAgIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRldGVjdGVkIGdlb21ldHJ5IHVzaW5nOiIKKyN+IG1zZ3N0ciAiVSBrdW50IGVlbiBhbmRlcmUgZGFuIGRlIGdldm9uZGVuIGdlb21ldHJpZSBhZmR3aW5nZW4gbWV0OiIKKworI34gbXNnaWQgIiAgICAtZiAgW29yIC0tZm9yY2VdOiAgICAgIGRvIHdoYXQgSSBzYXksIGV2ZW4gaWYgaXQgaXMgc3R1cGlkIgorI34gbXNnc3RyICIgIC1mLCAtLWZvcmNlICAgICAgICAgcHJlY2llcyBkb2VuIGFscyBnZWdldmVuLCAqb29rKiBhbHMgaGV0IGRvbSBpcyIKKworI34gbXNnaWQgIkNvdWxkbid0IGFsbG9jYXRlIG1lbW9yeSBmb3IgZmlsZXN5c3RlbSB0eXBlc1xuIgorI34gbXNnc3RyICJvbnZvbGRvZW5kZSBnZWhldWdlbiBiZXNjaGlrYmFhciB2b29yIGJlc3RhbmRzc3lzdGVlbXNvb3J0ZW5cbiIKKworI34gbXNnaWQgIlVzYWdlOiBmc2NrIFstQU1OUFJUVl0gWyAtQyBbIGZkIF0gXSBbLXQgZnN0eXBlXSBbZnMtb3B0aW9uc10gW2ZpbGVzeXMgLi4uXVxuIgorI34gbXNnc3RyICIiCisjfiAiR2VicnVpazogZnNjayBbLUFNTlBSVFZdIFstQyBbYmVzdGFuZHNkZXNjcmlwdG9yXV0gWy10IGJlc3RhbmRzc3l0ZWVtc29vcnRdXG4iCisjfiAiICAgICAgICAgICAgICBbYmVzdGFuZHNzeXN0ZWVtb3B0aWVzXSBbYmVzdGFuZHNzeXN0ZWVtLi4uXVxuIgorCisjfiBtc2dpZCAiQ291bGRuJ3Qgb3BlbiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiS2FuICVzIG5pZXQgb3BlbmVuOiAlc1xuIgorCisjfiBtc2dpZCAiZnNjayBmcm9tICVzXG4iCisjfiBtc2dzdHIgIidmc2NrJyB1aXQgJXNcbiIKKworI34gbXNnaWQgIiVzOiBVbmFibGUgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciBmc2NrX3BhdGhcbiIKKyN+IG1zZ3N0ciAiJXM6IE9udm9sZG9lbmRlIGdlaGV1Z2VuIGJlc2NoaWtiYWFyIHZvb3IgZnNja19wYXRoKClcbiIKKworI34gbXNnaWQgIlRyeSBgZ2V0b3B0IC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIlByb2JlZXIgJ2dldG9wdCAtLWhlbHAnIHZvb3IgbWVlciBpbmZvcm1hdGllLlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6IGdldG9wdCBvcHRzdHJpbmcgcGFyYW1ldGVyc1xuIgorI34gbXNnc3RyICJHZWJydWlrOiAgZ2V0b3B0IG9wdGllcmVla3MgcGFyYW1ldGVyc1xuIgorCisjfiBtc2dpZCAiICAgICAgIGdldG9wdCBbb3B0aW9uc10gWy0tXSBvcHRzdHJpbmcgcGFyYW1ldGVyc1xuIgorI34gbXNnc3RyICIgICAgICAgICAgZ2V0b3B0IFtvcHRpZXNdIFstLV0gb3B0aWVyZWVrcyBwYXJhbWV0ZXJzXG4iCisKKyN+IG1zZ2lkICJnZXRvcHQgKGVuaGFuY2VkKSAxLjEuNFxuIgorI34gbXNnc3RyICJnZXRvcHQgKHZlcmJldGVyZGUpIDEuMS40XG4iCisKKyN+IG1zZ2lkICIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pXG4iCisjfiBtc2dzdHIgIihWZXJ3YWNodDogJ1VUQycgb2YgJ0xPQ0FMJyBvZiBuaWV0cy4pXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiaHdjbG9jayAtIHF1ZXJ5IGFuZCBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIChSVEMpXG4iCisjfiAiXG4iCisjfiAiVXNhZ2U6IGh3Y2xvY2sgW2Z1bmN0aW9uXSBbb3B0aW9ucy4uLl1cbiIKKyN+ICJcbiIKKyN+ICJGdW5jdGlvbnM6XG4iCisjfiAiICAtciB8IC0tc2hvdyAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IHJlc3VsdFxuIgorI34gIiAgICAgICAtLXNldCAgICAgICAgICBzZXQgdGhlIHJ0YyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gIiAgLXMgfCAtLWhjdG9zeXMgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiICAtdyB8IC0tc3lzdG9oYyAgICAgIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgdG8gdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWVcbiIKKyN+ICIgICAgICAgLS1zeXN0eiAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBiYXNlZCBvbiB0aGUgY3VycmVudCB0aW1lem9uZVxuIgorI34gIiAgICAgICAtLWFkanVzdCAgICAgICBhZGp1c3QgdGhlIHJ0YyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IHNpbmNlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIHRoZSBjbG9jayB3YXMgbGFzdCBzZXQgb3IgYWRqdXN0ZWRcbiIKKyN+ICIgICAgICAgLS1nZXRlcG9jaCAgICAgcHJpbnQgb3V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZVxuIgorI34gIiAgICAgICAtLXNldGVwb2NoICAgICBzZXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlIHRvIHRoZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgZ2l2ZW4gd2l0aCAtLWVwb2NoXG4iCisjfiAiICAgICAgIC0tcHJlZGljdCAgICAgIHByZWRpY3QgcnRjIHJlYWRpbmcgYXQgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gIiAgLXYgfCAtLXZlcnNpb24gICAgICBwcmludCBvdXQgdGhlIHZlcnNpb24gb2YgaHdjbG9jayB0byBzdGRvdXRcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOiBcbiIKKyN+ICIgIC11IHwgLS11dGMgICAgICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gVVRDXG4iCisjfiAiICAgICAgIC0tbG9jYWx0aW1lICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIGxvY2FsIHRpbWVcbiIKKyN+ICIgIC1mIHwgLS1ydGM9cGF0aCAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIKKyN+ICIgICAgICAgLS1kaXJlY3Rpc2EgICAgYWNjZXNzIHRoZSBJU0EgYnVzIGRpcmVjdGx5IGluc3RlYWQgb2YgJXNcbiIKKyN+ICIgICAgICAgLS1iYWR5ZWFyICAgICAgaWdub3JlIHJ0YydzIHllYXIgYmVjYXVzZSB0aGUgYmlvcyBpcyBicm9rZW5cbiIKKyN+ICIgICAgICAgLS1kYXRlICAgICAgICAgc3BlY2lmaWVzIHRoZSB0aW1lIHRvIHdoaWNoIHRvIHNldCB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgICAgICAgLS1lcG9jaD15ZWFyICAgc3BlY2lmaWVzIHRoZSB5ZWFyIHdoaWNoIGlzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBoYXJkd2FyZSBjbG9jaydzIGVwb2NoIHZhbHVlXG4iCisjfiAiICAgICAgIC0tbm9hZGpmaWxlICAgIGRvIG5vdCBhY2Nlc3MgL2V0Yy9hZGp0aW1lLiBSZXF1aXJlcyB0aGUgdXNlIG9mXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZVxuIgorI34gIiAgICAgICAtLWFkamZpbGU9cGF0aCBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlIChkZWZhdWx0IGlzXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIC9ldGMvYWRqdGltZSlcbiIKKyN+ICIgICAgICAgLS10ZXN0ICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgYWN0dWFsbHkgdXBkYXRpbmcgdGhlIGhhcmR3YXJlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGNsb2NrIG9yIGFueXRoaW5nIGVsc2VcbiIKKyN+ICIgIC1EIHwgLS1kZWJ1ZyAgICAgICAgZGVidWcgbW9kZVxuIgorI34gbXNnc3RyICIiCisjfiAiaHdjbG9jayAtIGRlIGhhcmR3YXJla2xvayAoUlRDKSBpbnN0ZWxsZW4gb2Ygd2FhcmRlbiB3ZWVyZ2V2ZW5cbiIKKyN+ICJcbiIKKyN+ICJHZWJydWlrOiAgaHdjbG9jayBbZnVuY3RpZV0gW29wdGllcy4uLl1cbiIKKyN+ICJcbiIKKyN+ICJGdW5jdGllczpcbiIKKyN+ICIgIC1yfC0tc2hvdyAgICAgICAgZGUgaGFyZHdhcmVrbG9rIGxlemVuIGVuIGhldCByZXN1bHRhYXQgd2VlcmdldmVuXG4iCisjfiAiICAgICAtLXNldCAgICAgICAgIGRlIGhhcmR3YXJla2xvayBpbnN0ZWxsZW4gb3AgZGUgdGlqZCBnZWdldmVuIG1ldCAnLS1kYXRlJ1xuIgorI34gIiAgLXN8LS1oY3Rvc3lzICAgICBhYW4gZGUgaGFuZCB2YW4gZGUgaGFyZHdhcmVrbG9rIGRlIHN5c3RlZW1rbG9rIGluc3RlbGxlblxuIgorI34gIiAgLXd8LS1zeXN0b2hjICAgICBhYW4gZGUgaGFuZCB2YW4gZGUgc3lzdGVlbWtsb2sgZGUgaGFyZHdhcmVrbG9rIGluc3RlbGxlblxuIgorI34gIiAgICAgLS1zeXN0eiAgICAgICBkZSBzeXN0ZWVta2xvayBpbnN0ZWxsZW4gYWFuIGRlIGhhbmQgdmFuIGRlIHRpamR6b25lXG4iCisjfiAiICAgICAtLWFkanVzdCAgICAgIGRlIGhhcmR3YXJla2xvayBhYW5wYXNzZW4gdGVyIGNvbXBlbnNhdGllIHZhbiBzeXN0ZW1hdGlzY2hlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgIHZlcnNjaHVpdmluZyBzaW5kcyBkZSBsYWF0c3RlIGluc3RlbGxpbmcvYWFucGFzc2luZ1xuIgorI34gIiAgICAgLS1nZXRlcG9jaCAgICB0aWpkcGVya3dhYXJkZSB2YW4gZGUga2VybmVsIHRvbmVuXG4iCisjfiAiICAgICAtLXNldGVwb2NoICAgIHRpamRwZXJrd2FhcmRlIHZhbiBkZSBrZXJuZWwgaW5zdGVsbGVuIG9wIGRlIHdhYXJkZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICBnZWdldmVuIG1ldCBkZSBvcHRpZSAnLS1lcG9jaCdcbiIKKyN+ICIgICAgIC0tcHJlZGljdCAgICAgaGFyZHdhcmVrbG9rdGlqZCB2b29yc3BlbGxlbiBvcCBtb21lbnQgZ2VnZXZlbiBtZXQgJy0tZGF0ZSdcbiIKKyN+ICJcbiIKKyN+ICJPcHRpZXM6IFxuIgorI34gIiAgLXV8LS11dGMgICAgICAgICBkZSBoYXJkd2FyZWtsb2sgYmV2YXQgZGUgZ2Vjb8O2cmRpbmVlcmRlIHVuaXZlcnNlbGUgdGlqZFxuIgorI34gIiAgICAgLS1sb2NhbHRpbWUgICBkZSBoYXJkd2FyZWtsb2sgYmV2YXQgZGUgbG9rYWxlIHRpamRcbiIKKyN+ICIgIC1mfC0tcnRjPUJFU1RBTkQgdGUgZ2VicnVpa2VuIFJUQy1iZXN0YW5kIGluIC9kZXYvIGluIHBsYWF0cyB2YW4gc3RhbmRhYXJkXG4iCisjfiAiICAgICAtLWRpcmVjdGlzYSAgIGRlIElTQS1idXMgZGlyZWN0IGJlbmFkZXJlbiBpbiBwbGFhdHMgdmFuIHZpYSAlc1xuIgorI34gIiAgICAgLS1iYWR5ZWFyICAgICBoZXQgamFhcnRhbCB2YW4gZGUgaGFyZHdhcmVrbG9rIG5lZ2VyZW4gb21kYXQgZGUgQklPUyBzdHVrIGlzXG4iCisjfiAiICAgICAtLWRhdGU9VElKRCAgIGRlIHRpamQgd2Fhcm9wIGRlIGhhcmR3YXJla2xvayBtb2V0IHdvcmRlbiBpbmdlc3RlbGRcbiIKKyN+ICIgICAgIC0tZXBvY2g9SkFBUiAgaGV0IGphYXJ0YWwgZGF0IGhldCB0aWpkcGVya2JlZ2luIHZvb3IgZGUgaGFyZHdhcmVrbG9rIGlzXG4iCisjfiAiICAgICAtLW5vYWRqZmlsZSAgIC9ldGMvYWRqdGltZSBuaWV0IGdlYnJ1aWtlbiAobWV0ICctLXV0Yycgb2YgJy0tbG9jYWx0aW1lJylcbiIKKyN+ICIgICAgIC0tYWRqZmlsZT1CRVNUQU5EICB0ZSBnZWJydWlrZW4gdmVyc2NodWl2aW5nc3JlZ2lzdHJhdGllYmVzdGFuZFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIChzdGFuZGFhcmQgaXMgL2V0Yy9hZGp0aW1lKVxuIgorI34gIiAgICAgLS10ZXN0ICAgICAgICBhbGxlcyBkb2VuIGJlaGFsdmUgZGFhZHdlcmtlbGlqayBpZXRzIHZlcmFuZGVyZW5cbiIKKyN+ICIgIC1EfC0tZGVidWcgICAgICAgZGVidWctbW9kdXMgaW5zY2hha2VsZW5cbiIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBpbml0c3RyaW5nIgorI34gbXNnc3RyICJvbnZvbGRvZW5kZSBnZWhldWdlbiBiZXNjaGlrYmFhciB2b29yIHN0YXJ0dGVrZW5yZWVrcyIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgWy04aGlMbXNVd10gWy1sIGxvZ2luX3Byb2dyYW1dIFstdCB0aW1lb3V0XSBbLUkgaW5pdHN0cmluZ10gWy1IIGxvZ2luX2hvc3RdIGJhdWRfcmF0ZSwuLi4gbGluZSBbdGVybXR5cGVdXG4iCisjfiAib3JcdFstaGlMbXddIFstbCBsb2dpbl9wcm9ncmFtXSBbLXQgdGltZW91dF0gWy1JIGluaXRzdHJpbmddIFstSCBsb2dpbl9ob3N0XSBsaW5lIGJhdWRfcmF0ZSwuLi4gW3Rlcm10eXBlXVxuIgorI34gbXNnc3RyICIiCisjfiAiR2VicnVpazogICVzIFstOGhpTG1zVXddIFstbCBpbmxvZ3Byb2dyYW1tYV0gWy10IHRpamRzbGltaWV0XSBbLUggaW5sb2dob3N0XVxuIgorI34gIiAgICAgICAgICBbLUkgc3RhcnR0ZWtlbnJlZWtzXSAgYmF1ZHJhdGUsLi4uICBsaWpuICBbdGVybWluYWxzb29ydF1cbiIKKyN+ICIgICAgIG9mOiAgWy1oaUxtd10gWy1sIGlubG9ncHJvZ3JhbW1hXSBbLXQgdGlqZHNsaW1pZXRdIFstSCBpbmxvZ2hvc3RdXG4iCisjfiAiICAgICAgICAgIFstSSBzdGFydHRla2VucmVla3NdICBsaWpuICBiYXVkcmF0ZSwuLi4gIFt0ZXJtaW5hbHNvb3J0XVxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFt5IHwgbl0iCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICAlcyBbeXxuXSIKKworI34gbXNnaWQgIiVzOiBCQUQgRVJST1IiCisjfiBtc2dzdHIgIiVzOiBCRVJPRVJERSBGT1VUTUVMRElORyAtLSB2ZWVsIHRlIGxhbmciCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWy1uXSBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAiR2VicnVpazogICVzIFstbl0gW2Jlc3RhbmRdXG4iCisKKyN+IG1zZ2lkICJjYW4ndCByZWFkOiAlcyIKKyN+IG1zZ3N0ciAia2FuICVzIG5pZXQgbGV6ZW4iCisKKyN+IG1zZ2lkICJ1c2FnZTogbG9nZ2VyIFstaXNdIFstZiBmaWxlXSBbLXAgcHJpXSBbLXQgdGFnXSBbLXUgc29ja2V0XSBbIG1lc3NhZ2UgLi4uIF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkdlYnJ1aWs6ICBsb2dnZXIgWy1pc2RdIFstZiBiZXN0YW5kXSBbLXAgcHJpb3JpdGVpdF0gWy10IHRhZ11cbiIKKyN+ICIgICAgICAgICAgICAgICAgIFstdSBzb2NrZXRdIFtiZXJpY2h0Li4uXVxuIgorCisjfiBtc2dpZCAidXNhZ2U6IGxvb2sgWy1kZmFdIFstdCBjaGFyXSBzdHJpbmcgW2ZpbGVdXG4iCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICBsb29rIFstZGZhXSBbLXQgdGVrZW5dIHRla3N0IFtiZXN0YW5kXVxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeT8iCisjfiBtc2dzdHIgIm9udm9sZG9lbmRlIGdlaGV1Z2VuIGJlc2NoaWtiYWFyPyIKKworI34gbXNnaWQgImNhbGw6ICVzIGZyb20gdG8gZmlsZXMuLi5cbiIKKyN+IG1zZ3N0ciAiR2VicnVpazogICVzIHZhbiBuYWFyIGJlc3RhbmRlbi4uLlxuIgorCisjfiBtc2dpZCAidXNhZ2U6IHNjcmlwdCBbLWFdIFstZV0gWy1mXSBbLXFdIFstdF0gW2ZpbGVdXG4iCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICBzY3JpcHQgWy1hXSBbLWVdIFstZl0gWy1xXSBbLXRdIFtiZXN0YW5kXVxuIgorCisjfiBtc2dpZCAiJXM6IHdyaXRlIGVycm9yICVkOiAlc1xuIgorI34gbXNnc3RyICIlczogc2NocmlqZmZvdXQgJWQ6ICVzXG4iCisKKyN+IG1zZ2lkICIlczogd3JpdGUgZXJyb3I6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBzY2hyaWpmZm91dDogJXNcbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWRdIFstcCBwaWRmaWxlXSBbLXMgc29ja2V0cGF0aF0gWy1UIHRpbWVvdXRdXG4iCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICAlcyBbLWRdIFstcCBQSUQtYmVzdGFuZF0gWy1zIHNvY2tldC1wYWRdIFstVCB0aWpzbGltaWV0XVxuIgorCisjfiBtc2dpZCAiICAgICAgICVzIFstcnx0XSBbLW4gbnVtXSBbLXMgc29ja2V0cGF0aF1cbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICVzIFstcnx0XSBbLW4gbnVtbWVyXSBbLXMgc29ja2V0LXBhZF1cbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLXJdIFstdF1cbiIKKyN+IG1zZ3N0ciAiR2VicnVpazogICVzIFstcl0gWy10XVxuIgorCisjfiBtc2dpZCAid2hlcmVpcyBbIC1zYm11IF0gWyAtU0JNIGRpciAuLi4gLWYgXSBuYW1lLi4uXG4iCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICB3aGVyZWlzIFstYm1zdV0gWy1CTVMgbWFwLi4uIC1mXSBuYWFtLi4uXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogd3JpdGUgdXNlciBbdHR5XVxuIgorI34gbXNnc3RyICJHZWJydWlrOiAgd3JpdGUgZ2VicnVpa2VyIFt0dHldXG4iCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3Qgb3BlbiAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBrYW4gJXMgbmlldCBvcGVuZW46ICVzIgorCisjfiBtc2dpZCAidW5rbm93blxuIgorI34gbXNnc3RyICJvbmJla2VuZFxuIgorCisjfiBtc2dpZCAiIgorI34gImlvbmljZSAtIHNldHMgb3IgZ2V0cyBwcm9jZXNzIGlvIHNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5LlxuIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAgaW9uaWNlIFsgb3B0aW9ucyBdIC1wIDxwaWQ+IFs8cGlkPiAuLi5dXG4iCisjfiAiICBpb25pY2UgWyBvcHRpb25zIF0gPGNvbW1hbmQ+IFs8YXJnPiAuLi5dXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgIC1uIDxjbGFzc2RhdGE+ICAgICAgY2xhc3MgZGF0YSAoMC03LCBsb3dlciBiZWluZyBoaWdoZXIgcHJpbylcbiIKKyN+ICIgIC1jIDxjbGFzcz4gICAgICAgICAgc2NoZWR1bGluZyBjbGFzc1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKKyN+ICIgIC10ICAgICAgICAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJpb25pY2UgLSB6ZXQgb2YgdG9vbnQgZGUgaW4tL3VpdHZvZXItc2NoZWR1bGluZy1rbGFzc2UgZW4gLXByaW9yaXRlaXRcbiIKKyN+ICJcbiIKKyN+ICJHZWJydWlrOlxuIgorI34gIiAgaW9uaWNlIFtvcHRpZXNdIC1wIDxQSUQ+Li4uXG4iCisjfiAiICBpb25pY2UgW29wdGllc10gPG9wZHJhY2h0PiBbPGFyZ3VtZW50Pi4uLl1cbiIKKyN+ICJcbiIKKyN+ICJPcHRpZXM6XG4iCisjfiAiICAtbiA8a2xhc3NlZGF0YT4gICAga2xhc3NlZGF0YSAoMC03LCBsYWdlciBpcyBob2dlcmUgcHJpb3JpdGVpdClcbiIKKyN+ICIgIC1jIDxrbGFzc2U+ICAgICAgICBzY2hlZHVsaW5nLWtsYXNzZSAtLSAwPWdlZW4sIDE9cmVhbHRpbWUsXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAyPXpvX2dvZWRfYWxzX2hldF9nYWF0LCAzPWFsc19lcl9uaWtzX2FuZGVyc19pc1xuIgorI34gIiAgLXQgICAgICAgICAgICAgICAgIG1pc2x1a2tpbmdlbiBuZWdlcmVuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJDUFUgbWFzayIKKyN+IG1zZ3N0ciAicHJvY2Vzc29yZW5tYXNrZXIiCisKKyN+IG1zZ2lkICJVc2FnZTogc2h1dGRvd24gWy1ofC1yXSBbLWZxc10gW25vd3xoaDpzc3wrbWluc11cbiIKKyN+IG1zZ3N0ciAiR2VicnVpazogIHNodXRkb3duIFstaHwtcl0gWy1mcXNdIFtub3d8dXU6c3N8K21pbnV0ZW5dXG4iCisKKyN+IG1zZ2lkICJTaHV0ZG93biBwcm9jZXNzIGFib3J0ZWQiCisjfiBtc2dzdHIgIkFmc2x1aXRpbmdzcHJvY2VzIGlzIGFmZ2Vicm9rZW4uIgorCisjfiBtc2dpZCAib25seSByb290IGNhbiBzaHV0IGEgc3lzdGVtIGRvd24uIgorI34gbXNnc3RyICJBbGxlZW4gcm9vdCBrYW4gZWVuIHN5c3RlZW0gYWZzbHVpdGVuLiIKKworI34gbXNnaWQgInRoYXQgbXVzdCBiZSB0b21vcnJvdywgY2FuJ3QgeW91IHdhaXQgdGlsbCB0aGVuPyIKKyN+IG1zZ3N0ciAiRGF0IG1vZXQgbW9yZ2VuIHppam47IGt1bnQgdSBuaWV0IHRvdCBkYW4gd2FjaHRlbj8iCisKKyN+IG1zZ2lkICJmb3IgbWFpbnRlbmFuY2U7IGJvdW5jZSwgYm91bmNlIgorI34gbXNnc3RyICJ2b29yIG9uZGVyaG91ZCAtLSBqb2VwaWUiCisKKyN+IG1zZ2lkICJUaGUgc3lzdGVtIGlzIGJlaW5nIHNodXQgZG93biB3aXRoaW4gNSBtaW51dGVzIgorI34gbXNnc3RyICJIZXQgc3lzdGVlbSB3b3JkdCBiaW5uZW4gdmlqZiBtaW51dGVuIGFmZ2VzbG90ZW4uIgorCisjfiBtc2dpZCAiTG9naW4gaXMgdGhlcmVmb3JlIHByb2hpYml0ZWQuIgorI34gbXNnc3RyICJJbmxvZ2dlbiBpcyBkYWFyb20gbmlldCB0b2VnZXN0YWFuLiIKKworI34gbXNnaWQgInJlYm9vdGVkIGJ5ICVzOiAlcyIKKyN+IG1zZ3N0ciAib3BuaWV1dyBnZXN0YXJ0IGRvb3IgJXM6ICVzIgorCisjfiBtc2dpZCAiaGFsdGVkIGJ5ICVzOiAlcyIKKyN+IG1zZ3N0ciAiYWZnZXNsb3RlbiBkb29yICVzOiAlcyIKKworI34gbXNnaWQgIldoeSBhbSBJIHN0aWxsIGFsaXZlIGFmdGVyIHJlYm9vdD8iCisjfiBtc2dzdHIgIldhYXJvbSBiZW4gaWsgZXIgbm9nIG5hIGVlbiBoZXJzdGFydD8iCisKKyN+IG1zZ2lkICJOb3cgeW91IGNhbiB0dXJuIG9mZiB0aGUgcG93ZXIuLi4iCisjfiBtc2dzdHIgIlUga3VudCBkZSBjb21wdXRlciBudSB1aXRzY2hha2VsZW4uLi4iCisKKyN+IG1zZ2lkICJDYWxsaW5nIGtlcm5lbCBwb3dlci1vZmYgZmFjaWxpdHkuLi5cbiIKKyN+IG1zZ3N0ciAiRGUgdWl0c2NoYWtlbC12b29yemllbmluZyB2YW4gZGUga2VybmVsIHdvcmR0IGFhbmdlcm9lcGVuLi4uXG4iCisKKyN+IG1zZ2lkICJFcnJvciBwb3dlcmluZyBvZmZcdCVzXG4iCisjfiBtc2dzdHIgIkZvdXQgYmlqIGhldCB1aXRzY2hha2VsZW5cdCVzXG4iCisKKyN+IG1zZ2lkICJFeGVjdXRpbmcgdGhlIHByb2dyYW0gXCIlc1wiIC4uLlxuIgorI34gbXNnc3RyICJIZXQgcHJvZ3JhbW1hICclcycgd29yZHQgdWl0Z2V2b2VyZC4uLlxuIgorCisjfiBtc2dpZCAiVVJHRU5UOiBicm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzOiIKKyN+IG1zZ3N0ciAiQkVMQU5HUklKSzogYmVyaWNodCB2YW4gJXMgdm9vciBpZWRlcmVlbjoiCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAlZCBob3VycyAlZCBtaW51dGVzIgorI34gbXNnc3RyICJIZXQgc3lzdGVlbSB3b3JkdCBvdmVyICVkIHV1ciBlbiAlZCBtaW51dGVuIGFmZ2VzbG90ZW4uIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gMSBob3VyICVkIG1pbnV0ZXMiCisjfiBtc2dzdHIgIkhldCBzeXN0ZWVtIHdvcmR0IG92ZXIgMSB1dXIgZW4gJWQgbWludXRlbiBhZmdlc2xvdGVuLiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluICVkIG1pbnV0ZXNcbiIKKyN+IG1zZ3N0ciAiSGV0IHN5c3RlZW0gd29yZHQgb3ZlciAlZCBtaW51dGVuIGFmZ2VzbG90ZW4uXG4iCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAxIG1pbnV0ZVxuIgorI34gbXNnc3RyICJIZXQgc3lzdGVlbSB3b3JkdCBvdmVyIDEgbWludXV0IGFmZ2VzbG90ZW4uXG4iCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBJTU1FRElBVEVMWSFcbiIKKyN+IG1zZ3N0ciAiSGV0IHN5c3RlZW0gd29yZHQgTlUgYWZnZXNsb3RlbiFcbiIKKworI34gbXNnaWQgIkNhbm5vdCBmb3JrIGZvciBzd2Fwb2ZmLiBTaHJ1ZyEiCisjfiBtc2dzdHIgImZvcmsoKSB2b29yIHN3YXBvZmYgaXMgbWlzbHVrdCAtLSBub3UgamEiCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyBzd2Fwb2ZmLCBob3BpbmcgdW1vdW50IHdpbGwgZG8gdGhlIHRyaWNrLiIKKyN+IG1zZ3N0ciAiVWl0dm9lcmVuIHZhbiBzd2Fwb2ZmIGlzIG1pc2x1a3Q7IGhvcGVsaWprIGxvc3QgdW1vdW50IGhldCBvcC4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZm9yayBmb3IgdW1vdW50LCB0cnlpbmcgbWFudWFsbHkuIgorI34gbXNnc3RyICJmb3JrKCkgdm9vciB1bW91bnQgaXMgbWlzbHVrdDsgZGFuIG1hYXIgem9uZGVyIG5pZXV3IHByb2Nlcy4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyAlcywgdHJ5aW5nIHVtb3VudC5cbiIKKyN+IG1zZ3N0ciAiVWl0dm9lcmVuIHZhbiAlcyBpcyBtaXNsdWt0OyB1bW91bnQgd29yZHQgZ2Vwcm9iZWVyZC5cbiIKKworI34gbXNnaWQgIkNhbm5vdCBleGVjIHVtb3VudCwgZ2l2aW5nIHVwIG9uIHVtb3VudC4iCisjfiBtc2dzdHIgIlVpdHZvZXJlbiB2YW4gdW1vdW50IGlzIG1pc2x1a3QgLS0gZ2VzdG9wdCIKKworI34gbXNnaWQgIlVubW91bnRpbmcgYW55IHJlbWFpbmluZyBmaWxlc3lzdGVtcy4uLiIKKyN+IG1zZ3N0ciAiQWZrb3BwZWxlbiB2YW4gcmVzdGVyZW5kZSBiZXN0YW5kc3N5c3RlbWVuLi4uIgorCisjfiBtc2dpZCAic2h1dGRvd246IENvdWxkbid0IHVtb3VudCAlczogJXNcbiIKKyN+IG1zZ3N0ciAic2h1dGRvd246IEthbiAlcyBuaWV0IGFma29wcGVsZW46ICVzXG4iCisKKyN+IG1zZ2lkICJCb290aW5nIHRvIHNpbmdsZSB1c2VyIG1vZGUuXG4iCisjfiBtc2dzdHIgIk9wc3RhcnRlbiBpbiDDqcOpbmdlYnJ1aWtlcnNtb2R1cy5cbiIKKworI34gbXNnaWQgImV4ZWMgb2Ygc2luZ2xlIHVzZXIgc2hlbGwgZmFpbGVkXG4iCisjfiBtc2dzdHIgIlVpdHZvZXJlbiB2YW4gw6nDqW5nZWJydWlrZXJzc2hlbGwgaXMgbWlzbHVrdFxuIgorCisjfiBtc2dpZCAiZm9yayBvZiBzaW5nbGUgdXNlciBzaGVsbCBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAiZm9yaygpIHZhbiDDqcOpbmdlYnJ1aWtlcnNzaGVsbCBpcyBtaXNsdWt0XG4iCisKKyN+IG1zZ2lkICJlcnJvciBvcGVuaW5nIGZpZm9cbiIKKyN+IG1zZ3N0ciAiZm91dCBiaWogb3BlbmVuIHZhbiBmaWZvXG4iCisKKyN+IG1zZ2lkICJlcnJvciBzZXR0aW5nIGNsb3NlLW9uLWV4ZWMgb24gL2Rldi9pbml0Y3RsIgorI34gbXNnc3RyICJmb3V0IGJpaiBpbnN0ZWxsZW4gdmFuIHNsdWl0ZW4tYmlqLXVpdHZvZXJlbiBvcCAvZGV2L2luaXRjdGwiCisKKyN+IG1zZ2lkICJlcnJvciBydW5uaW5nIGZpbmFscHJvZ1xuIgorI34gbXNnc3RyICJmb3V0IGJpaiB1aXR2b2VyZW4gdmFuIGZpbmFscHJvZ1xuIgorCisjfiBtc2dpZCAiZXJyb3IgZm9ya2luZyBmaW5hbHByb2dcbiIKKyN+IG1zZ3N0ciAiZm91dCBiaWogZm9yaygpIHZhbiBmaW5hbHByb2dcbiIKKworI34gbXNnaWQgIldyb25nIHBhc3N3b3JkLlxuIgorI34gbXNnc3RyICJWZXJrZWVyZCB3YWNodHdvb3JkLlxuIgorCisjfiBtc2dpZCAibHN0YXQgb2YgcGF0aCBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAibHN0YXQoKSB2YW4gcGFkIGlzIG1pc2x1a3RcbiIKKworI34gbXNnaWQgInJlc3Bhd25pbmc6IFwiJXNcIiB0b28gZmFzdDogcXVlbmNoaW5nIGVudHJ5XG4iCisjfiBtc2dzdHIgIlwiJXNcIiB3b3JkdCB0ZSBmcmVxdWVudCBoZXJib3JlbjogaXRlbSB3b3JkdCBhZmdla25lcGVuXG4iCisKKyN+IG1zZ2lkICJmb3JrIGZhaWxlZFxuIgorI34gbXNnc3RyICJmb3JrKCkgaXMgbWlzbHVrdFxuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gaW5pdHRhYlxuIgorI34gbXNnc3RyICJrYW4gYmVzdGFuZCAnaW5pdHRhYicgbmlldCBvcGVuZW5cbiIKKworI34gbXNnaWQgIm5vIFRFUk0gb3IgY2Fubm90IHN0YXQgdHR5XG4iCisjfiBtc2dzdHIgImdlZW4gVEVSTSBpbmdlc3RlbGQsIG9mIGthbiBzdGF0dXMgdmFuIHRlcm1pbmFsIG5pZXQgb3B2cmFnZW5cbiIKKworI34gbXNnaWQgImVycm9yIGF0IHN0b3BwaW5nIHNlcnZpY2UgXCIlc1wiXG4iCisjfiBtc2dzdHIgImZvdXQgYmlqIHN0b3BwZW4gdmFuIGRpZW5zdCBcIiVzXCJcbiIKKworI34gbXNnaWQgIlN0b3BwZWQgc2VydmljZTogJXNcbiIKKyN+IG1zZ3N0ciAiR2VzdG9wdGUgZGllbnN0OiBcIiVzXCJcbiIKKworI34gbXNnaWQgImVycm9yIGF0IHN0YXJ0aW5nIHNlcnZpY2UgXCIlc1wiXG4iCisjfiBtc2dzdHIgImZvdXQgYmlqIHN0YXJ0ZW4gdmFuIGRpZW5zdCBcIiVzXCJcbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWNdIFstbiBsZXZlbF0gWy1yXSBbLXMgYnVmc2l6ZV1cbiIKKyN+IG1zZ3N0ciAiR2VicnVpazogICVzIFstY10gWy1uIG5pdmVhdV0gWy1yXSBbLXMgYnVmZmVyZ3Jvb3R0ZV1cbiIKKworI34gbXNnaWQgImVycm9yOiBzdHJkdXAgZmFpbGVkIgorI34gbXNnc3RyICJmb3V0OiBzdHJkdXAoKSBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiZXJyb3I6IGNhbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgImZvdXQ6IGNhbGxvYygpIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWy1iZnB4XSBbLWwgbmxpbmVdIgorI34gbXNnc3RyICJHZWJydWlrOiAgJXMgWy1iZnB4XSBbLWwgdGVfYnVmZmVyZW5fYWFudGFsX3JlZ2Vsc10iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtIF0gWyAtMiBdIFsgZmlsZSAuLi4gXVxuIgorI34gbXNnc3RyICJHZWJydWlrOiAgJXMgWy1dIFstMl0gW0JFU1RBTkQuLi5dXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBbLWJjQ2RvdnhdIFstZSBmbXRdIFstZiBmbXRfZmlsZV0gWy1uIGxlbmd0aF0gWy1zIHNraXBdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkdlYnJ1aWs6ICBoZXhkdW1wIFstYmNDZG92eF0gWy1lIG9wbWFha3Rla2VucmVla3NdIFstZiBvcG1hYWtiZXN0YW5kXVxuIgorI34gIiAgICAgICAgICBbLW4gdGVfaW50ZXJwcmV0ZXJlbl9hYW50YWxdIFstcyBvdmVyX3RlX3NsYWFuX2FhbnRhbF0gW2Jlc3RhbmQgLi4uXVxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFstZGZscGNzdV0gWytsaW5lbnVtIHwgKy9wYXR0ZXJuXSBuYW1lMSBuYW1lMiAuLi5cbiIKKyN+IG1zZ3N0ciAiR2VicnVpazogICVzIFstY2RmbHBzdV0gWytyZWdlbG51bW1lciB8ICsvcGF0cm9vbl0gbmFhbTEgbmFhbTIgLi4uXG4iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaW5lIGJ1ZmZlclxuIgorI34gbXNnc3RyICJpbml0aWFsaXNlcmVuIHZhbiByZWdlbGJ1ZmZlciBpcyBtaXNsdWt0XG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBjYW4ndCByZWFkICVzLlxuIgorI34gbXNnc3RyICJoZXhkdW1wOiBrYW4gJXMgbmlldCBsZXplblxuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogbGluZSB0b28gbG9uZy5cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogcmVnZWwgaXMgdGUgbGFuZ1xuIgorCisjfiBtc2dpZCAicmVhbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgInJlYWxsb2MoKSBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAidXNhZ2U6IHRhaWxmIFstbiBOIHwgLU5dIGxvZ2ZpbGUiCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICB0YWlsZiBbLW4gPGdldGFsPiB8IC08Z2V0YWw+XSAgbG9nYmVzdGFuZCIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbIC1pIF0gWyAtdFRlcm0gXSBmaWxlLi4uXG4iCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICAlcyBbLWldIFstdCB0ZXJtaW5hbHR5cGVdIGJlc3RhbmQuLi5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGluIHRoZSBmaW5hbCBwYXJ0aWFsIGN5bGluZGVyIgorI34gbXNnc3RyICJQYXJ0aXRpZSBlaW5kaWd0IGluIGRlIGxhYXRzdGUgZ2VkZWVsdGVsaWprZSBjaWxpbmRlciIKKworI34gbXNnaWQgIlVuYWJsZSB0byBvcGVuICVzXG4iCisjfiBtc2dzdHIgIkthbiAlcyBuaWV0IG9wZW5lblxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGFueSBtb3JlIG1lbW9yeVxuIgorI34gbXNnc3RyICJLYW4gZ2VlbiBnZWhldWdlbiBtZWVyIHJlc2VydmVyZW5cbiIKKworI34gbXNnaWQgImdvdCBFT0YgdGhyaWNlIC0gZXhpdGluZy4uXG4iCisjfiBtc2dzdHIgImRyaWVtYWFsIEVPRiBvbnR2YW5nZW4gLS0gYWZzbHVpdGluZy4uLlxuIgorCisjfiBtc2dpZCAibGFzdDogbWFsbG9jIGZhaWx1cmUuXG4iCisjfiBtc2dzdHIgImxhc3Q6IG1hbGxvYygpIGlzIG1pc2x1a3RcbiIKKworI34gbXNnaWQgImxvZ2luOiBPdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgImxvZ2luOiBPbnZvbGRvZW5kZSBnZWhldWdlbiBiZXNjaGlrYmFhclxuIgorCisjfiBtc2dpZCAibG9naW46IG5vIHNoZWxsOiAlcy5cbiIKKyN+IG1zZ3N0ciAibG9naW46IGdlZW4gc2hlbGw6ICVzXG4iCisKKyN+IG1zZ2lkICJuZXdncnA6IHNldGdpZCIKKyN+IG1zZ3N0ciAibmV3Z3JwOiBzZXRnaWQoKSBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAibmV3Z3JwOiBQZXJtaXNzaW9uIGRlbmllZCIKKyN+IG1zZ3N0ciAibmV3Z3JwOiBUb2VnYW5nIGdld2VpZ2VyZCIKKworI34gbXNnaWQgIm5ld2dycDogc2V0dWlkIgorI34gbXNnc3RyICJuZXdncnA6IHNldHVpZCgpIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICIlczogQ2Fubm90IGZvcmtcbiIKKyN+IG1zZ3N0ciAiJXM6IEthbiBnZWVuIG5pZXV3IHByb2NlcyBzdGFydGVuXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3QgcmVhZCAlcy5cbiIKKyN+IG1zZ3N0ciAiJXM6IGthbiAlcyBuaWV0IGxlemVuXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3Qgc3RhdCB0ZW1wb3JhcnkgZmlsZS5cbiIKKyN+IG1zZ3N0ciAiJXM6IGthbiB0aWpkZWxpamsgYmVzdGFuZCBuaWV0IHZpbmRlblxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHJlYWQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVzOiBrYW4gdGlqZGVsaWprIGJlc3RhbmQgbmlldCBsZXplblxuIgorCisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yOiAlcyIKKyN+IG1zZ3N0ciAiJXM6IG9udGxlZGluZ3Nmb3V0OiAlcyIKKworI34gbXNnaWQgIiVzOiBvdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgIiVzOiBvbnZvbGRvZW5kZSBnZWhldWdlbiBiZXNjaGlrYmFhclxuIgorCisjfiBtc2dpZCAicGFyc2UgZXJyb3IgYXQgbGluZXM6ICIKKyN+IG1zZ3N0ciAib250bGVkaW5nc2ZvdXRlbiBvcCByZWdlbHM6ICIKKworI34gbXNnaWQgIiVzOiBpbGxlZ2FsIG9wdGlvbiAtLSAlY1xuIgorI34gbXNnc3RyICIlczogb25nZWxkaWdlIG9wdGllIC0tICVjXG4iCisKKyN+IG1zZ2lkICJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyN+IG1zZ3N0ciAiZ2VyZXNlcnZlZXJkZSBzZWdtZW50ZW4gPSAgJWRcbiIKKworI34gbXNnaWQgInBhZ2VzIGFsbG9jYXRlZCAlbGRcbiIKKyN+IG1zZ3N0ciAiZ2VyZXNlcnZlZXJkZSBwYWdpbmEncyA9ICVsZFxuIgorCisjfiBtc2dpZCAicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorI34gbXNnc3RyICJwYWdpbmEncyBpbiBnZWhldWdlbiA9ICVsZFxuIgorCisjfiBtc2dpZCAicGFnZXMgc3dhcHBlZCAgICVsZFxuIgorI34gbXNnc3RyICJwYWdpbmEncyBpbiB3aXNzZWxnZWhldWdlbiA9ICVsZFxuIgorCisjfiBtc2dpZCAiU3dhcCBwZXJmb3JtYW5jZTogJWxkIGF0dGVtcHRzXHQgJWxkIHN1Y2Nlc3Nlc1xuIgorI34gbXNnc3RyICJXaXNzZWxnZWhldWdlbnByZXN0YXRpZXM6ICVsZCBwb2dpbmdlbiwgJWxkIHN1Y2Nlc3ZvbFxuIgorCisjfiBtc2dpZCAicmVuaWNlOiAlczogdW5rbm93biB1c2VyXG4iCisjfiBtc2dzdHIgInJlbmljZTogJXM6IG9uYmVrZW5kZSBnZWJydWlrZXJcbiIKKworI34gbXNnaWQgInJlbmljZTogJXM6IGJhZCB2YWx1ZVxuIgorI34gbXNnc3RyICJyZW5pY2U6ICVzOiBvbmdlbGRpZ2Ugd2FhcmRlXG4iCisKKyN+IG1zZ2lkICIlczogaWxsZWdhbCBpbnRlcnZhbCAlcyBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVzOiBvbmdlbGRpZyBpbnRlcnZhbDogJXMgc2Vjb25kZW5cbiIKKworI34gbXNnaWQgIiVzOiBpbGxlZ2FsIHRpbWVfdCB2YWx1ZSAlc1xuIgorI34gbXNnc3RyICIlczogb25nZWxkaWdlIHdhYXJkZSAlcyB2b29yIG9udHdha2luZ3N0aWpkc3RpcFxuIgorCisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBleGVjdXRlICVzOiAlc1xuIgorI34gbXNnc3RyICIlczoga2FuICclcycgbmlldCB1aXR2b2VyZW46ICVzXG4iCisKKyN+IG1zZ2lkICJydGMgcmVhZCIKKyN+IG1zZ3N0ciAibGV6ZW4gdmFuIGhhcmR3YXJla2xvayIKKworI34gbXNnaWQgIm1hbGxvYyBlcnJvciIKKyN+IG1zZ3N0ciAib252b2xkb2VuZGUgZ2VoZXVnZW4gYmVzY2hpa2JhYXIiCisKKyN+IG1zZ2lkICJ1c2FnZTogY29sdW1uIFstdHhdIFstYyBjb2x1bW5zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICBjb2x1bW4gWy1jIGFhbnRhbF9rb2xvbW1lbl0gWy10XSBbLXhdIFtiZXN0YW5kIC4uLl1cbiIKKworI34gbXNnaWQgIm9kOiBvZCgxKSBoYXMgYmVlbiBkZXByZWNhdGVkIGZvciBoZXhkdW1wKDEpLlxuIgorI34gbXNnc3RyICJvZDogb2QoMSkgd29yZHQgYWZnZXJhZGVuOyBnZWJydWlrIGhleGR1bXAoMSkuXG4iCisKKyN+IG1zZ2lkICJvZDogaGV4ZHVtcCgxKSBjb21wYXRpYmlsaXR5IGRvZXNuJ3Qgc3VwcG9ydCB0aGUgLSVjIG9wdGlvbiVzXG4iCisjfiBtc2dzdHIgIm9kOiBoZXhkdW1wKDEpLWNvbXBhdGliaWxpdGVpdCBvbmRlcnN0ZXVudCBkZSBvcHRpZSAnLSVjJyBuaWV0JXNcbiIKKworI34gbXNnaWQgIjsgc2VlIHN0cmluZ3MoMSkuIgorI34gbXNnc3RyICI7IHppZSBzdHJpbmdzKDEpLiIKKworI34gbXNnaWQgIk91dCBvZiBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAiT252b2xkb2VuZGUgZ2VoZXVnZW4gYmVzY2hpa2JhYXJcbiIKKworI34gbXNnaWQgInVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzcGFjZSIKKyN+IG1zZ3N0ciAia2FuIGdlZW4gYnVmZmVycnVpbXRlIHJlc2VydmVyZW4iCisKKyN+IG1zZ2lkICJ1c2FnZTogcmV2IFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiR2VicnVpazogIHJldiBbYmVzdGFuZCAuLi5dXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyLlxuIgorI34gbXNnc3RyICJSZXNlcnZlcmVuIHZhbiBidWZmZXIgaXMgbWlzbHVrdFxuIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSB3aGVuIGdyb3dpbmcgYnVmZmVyLlxuIgorI34gbXNnc3RyICJPbnZvbGRvZW5kZSBnZWhldWdlbiBiZXNjaGlrYmFhciB0aWpkZW5zIGdyb2VpZW4gdmFuIGJ1ZmZlclxuIgorCisjIE1ldCBlZW4gaG9vZmRsZXR0ZXIgd2FudCBrb210IGFhbiBiZWdpbiB2YW4gemluLCBlbiB2b29yICJiZWxlaWQiIG9mICJwcmlvcml0ZWl0Ii4KKyN+IG1zZ2lkICJjdXJyZW50IgorI34gbXNnc3RyICJIdWlkaWcoZSkiCisKKyMgTWV0IGVlbiBob29mZGxldHRlciB3YW50IGtvbXQgYWFuIGJlZ2luIHZhbiB6aW4sIGVuIHZvb3IgImJlbGVpZCIgb2YgInByaW9yaXRlaXQiLgorI34gbXNnaWQgIm5ldyIKKyN+IG1zZ3N0ciAiTmlldXcoZSkiCisKKyN+IG1zZ2lkICJtb3VudDogbm8gbWVkaXVtIGZvdW5kIG9uICVzIC4uLnRyeWluZyBhZ2FpblxuIgorI34gbXNnc3RyICJtb3VudDogZ2VlbiBtZWRpdW0gZ2V2b25kZW4gb3AgJXM7IC4uLiBuaWV1d2UgcG9naW5nXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiUmVzb3VyY2UgU3BlY2lmaWNhdGlvbjpcbiIKKyN+ICJcdC1tIDogc2hhcmVkX21lbVxuIgorI34gIlx0LXEgOiBtZXNzYWdlc1xuIgorI34gbXNnc3RyICIiCisjfiAiQnJvbm5lbmtldXplOlxuIgorI34gIiAgICAtbSA6IGdlZGVlbGQgZ2VoZXVnZW5cbiIKKyN+ICIgICAgLXEgOiBiZXJpY2h0ZW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdC1zIDogc2VtYXBob3Jlc1xuIgorI34gIlx0LWEgOiBhbGwgKGRlZmF1bHQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgLXMgOiBzZW1hZm9yZW5cbiIKKyN+ICIgICAgLWEgOiBhbGxlIChpcyBzdGFuZGFhcmQpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiT3V0cHV0IEZvcm1hdDpcbiIKKyN+ICJcdC10IDogdGltZVxuIgorI34gIlx0LXAgOiBwaWRcbiIKKyN+ICJcdC1jIDogY3JlYXRvclxuIgorI34gbXNnc3RyICIiCisjfiAiVWl0dm9lcmluZGVsaW5nOlxuIgorI34gIiAgICAtdCA6IHRpamRcbiIKKyN+ICIgICAgLXAgOiBQSURcbiIKKyN+ICIgICAgLWMgOiBhYW5tYWtlclxuIgorCisjfiBtc2dpZCAiIgorI34gIlx0LWwgOiBsaW1pdHNcbiIKKyN+ICJcdC11IDogc3VtbWFyeVxuIgorI34gbXNnc3RyICIiCisjfiAiICAgIC1sIDogZ3JlbnplblxuIgorI34gIiAgICAtdSA6IHNhbWVudmF0dGluZ1xuIgorCisjfiBtc2dpZCAiZXJyb3I6ICVzIgorI34gbXNnc3RyICJmb3V0OiAlcyIKKworI34gbXNnaWQgImVycm9yIHBhcnNlOiAlcyIKKyN+IG1zZ3N0ciAib250bGVkaW5nc2ZvdXQ6ICVzIgorCisjfiBtc2dpZCAidXNhZ2U6IHJkZXYgWyAtcnYgXSBbIC1vIE9GRlNFVCBdIFsgSU1BR0UgWyBWQUxVRSBbIE9GRlNFVCBdIF0gXSIKKyN+IG1zZ3N0ciAiR2VicnVpazogIHJkZXYgWy1ydl0gWy1vIFBMQUFUU10gW0FGQkVFTERJTkcgW1dBQVJERSBbUExBQVRTXV1dIgorCisjfiBtc2dpZCAiICByZGV2IC9kZXYvZmQwICAob3IgcmRldiAvbGludXgsIGV0Yy4pIGRpc3BsYXlzIHRoZSBjdXJyZW50IFJPT1QgZGV2aWNlIgorI34gbXNnc3RyICIgIHJkZXYgL2Rldi9mZDAgIChvZiByZGV2IC9saW51eCwgZW56LikgIGh1aWRpZyBST09ULWFwcGFyYWF0IHRvbmVuIgorCisjfiBtc2dpZCAiICByZGV2IC9kZXYvZmQwIC9kZXYvaGRhMiAgICAgICAgIHNldHMgUk9PVCB0byAvZGV2L2hkYTIiCisjfiBtc2dzdHIgIiAgcmRldiAvZGV2L2ZkMCAvZGV2L2hkYTIgICAgICAgICBST09UIGluc3RlbGxlbiBvcCAvZGV2L2hkYTIiCisKKyN+IG1zZ2lkICIgIHJkZXYgLVIgL2Rldi9mZDAgMSAgICAgICAgICAgICAgc2V0IHRoZSBST09URkxBR1MgKHJlYWRvbmx5IHN0YXR1cykiCisjfiBtc2dzdHIgIiAgcmRldiAtUiAvZGV2L2ZkMCAxICAgICAgICAgICAgICBST09URkxBR1MgaW5zdGVsbGVuIChhbGxlZW4tbGV6ZW5zdGF0dXMpIgorCisjfiBtc2dpZCAiICByZGV2IC1yIC9kZXYvZmQwIDYyNyAgICAgICAgICAgIHNldCB0aGUgUkFNRElTSyBzaXplIgorI34gbXNnc3RyICIgIHJkZXYgLXIgL2Rldi9mZDAgNjI3ICAgICAgICAgICAgUkFNRElTSy1ncm9vdHRlIGluc3RlbGxlbiIKKworI34gbXNnaWQgIiAgcmRldiAtdiAvZGV2L2ZkMCAxICAgICAgICAgICAgICBzZXQgdGhlIGJvb3R1cCBWSURFT01PREUiCisjfiBtc2dzdHIgIiAgcmRldiAtdiAvZGV2L2ZkMCAxICAgICAgICAgICAgICBWSURFT01PRFVTIGJpaiBvcHN0YXJ0ZW4gaW5zdGVsbGVuIgorCisjfiBtc2dpZCAiICByb290ZmxhZ3MgLi4uICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgcmRldiAtUiIKKyN+IG1zZ3N0ciAiICByb290ZmxhZ3MgLi4uICAgICAgICAgICAgICAgICAgIGlzIGhldHplbGZkZSBhbHMgcmRldiAtUiIKKworI34gbXNnaWQgIiAgcmFtc2l6ZSAuLi4gICAgICAgICAgICAgICAgICAgICBzYW1lIGFzIHJkZXYgLXIiCisjfiBtc2dzdHIgIiAgcmFtc2l6ZSAuLi4gICAgICAgICAgICAgICAgICAgICBpcyBoZXR6ZWxmZGUgYWxzIHJkZXYgLXIiCisKKyN+IG1zZ2lkICIgIHZpZG1vZGUgLi4uICAgICAgICAgICAgICAgICAgICAgc2FtZSBhcyByZGV2IC12IgorI34gbXNnc3RyICIgIHZpZG1vZGUgLi4uICAgICAgICAgICAgICAgICAgICAgaXMgaGV0emVsZmRlIGFscyByZGV2IC12IgorCisjfiBtc2dpZCAiTm90ZTogdmlkZW8gbW9kZXMgYXJlOiAtMz1Bc2ssIC0yPUV4dGVuZGVkLCAtMT1Ob3JtYWxWZ2EsIDE9a2V5MSwgMj1rZXkyLC4uLiIKKyN+IG1zZ3N0ciAiIgorI34gIk9wbWVya2luZzogdmlkZW9tb2RpIHppam46IC0zPXZyYWdlbiwgLTI9dWl0Z2VicmVpZCwgLTE9Z2V3b29uLFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDE9c2xldXRlbDEsIDI9c2xldXRlbDIsIC4uLiIKKworI34gbXNnaWQgIiAgICAgIHVzZSAtUiAxIHRvIG1vdW50IHJvb3QgcmVhZG9ubHksIC1SIDAgZm9yIHJlYWQvd3JpdGUuIgorI34gbXNnc3RyICIiCisjfiAiR2VicnVpayAnLVIgMScgb20gcm9vdCBhbHMgYWxsZWVuLWxlemVuIGFhbiB0ZSBrb3BwZWxlbixcbiIKKyN+ICIgICAgIG9mICctUiAwJyB2b29yIGxlemVuLWVuLXNjaHJpanZlbi4iCisKKyN+IG1zZ2lkICJtaXNzaW5nIGNvbW1hIgorI34gbXNnc3RyICJrb21tYSBvbnRicmVla3QiCisKKyN+IG1zZ2lkICIlczogZXJyb3I6IGxhYmVsIG9ubHkgd2l0aCB2MSBzd2FwIGFyZWFcbiIKKyN+IG1zZ3N0ciAiJXM6IGZvdXQ6IGxhYmVsIGlzIGFsbGVlbiBtb2dlbGlqayBiaWogdmVyc2llLTEtd2lzc2VsZ2VoZXVnZW5cbiIKKworI34gbXNnaWQgImZhdGFsOiBmaXJzdCBwYWdlIHVucmVhZGFibGUiCisjfiBtc2dzdHIgImZhdGFhbDogZWVyc3RlIHBhZ2luYSBpcyBvbmxlZXNiYWFyIgorCisjfiBtc2dpZCAiIgorI34gIiVzOiBEZXZpY2UgJyVzJyBjb250YWlucyBhIHZhbGlkIFN1biBkaXNrbGFiZWwuXG4iCisjfiAiVGhpcyBwcm9iYWJseSBtZWFucyBjcmVhdGluZyB2MCBzd2FwIHdvdWxkIGRlc3Ryb3kgeW91ciBwYXJ0aXRpb24gdGFibGUuXG4iCisjfiAiTm8gc3dhcCB3YXMgY3JlYXRlZC4gSWYgeW91IHJlYWxseSB3YW50IHRvIGNyZWF0ZSB2MCBzd2FwIG9uIHRoYXQgZGV2aWNlLFxuIgorI34gInVzZSB0aGUgLWYgb3B0aW9uIHRvIGZvcmNlIGl0LlxuIgorI34gbXNnc3RyICIiCisjfiAiJXM6IEFwcGFyYWF0ICclcycgYmV2YXQgZWVuIGdlbGRpZyBTdW4tc2NoaWpmbGFiZWwuXG4iCisjfiAiRGl0IGJldGVrZW50IHdhYXJzY2hpam5saWprIGRhdCBoZXQgbWFrZW4gdmFuIHZlcnNpZS0wLXdpc3NlbGdlaGV1Z2VuXG4iCisjfiAidXcgcGFydGl0aWV0YWJlbCB6b3UgdmVybmllbGVuLiAgRXIgaXMgZ2VlbiB3aXNzZWxnZWhldWdlbiBnZW1hYWt0LlxuIgorI34gIkFscyB1IGVjaHQgdmVyc2llLTAtd2lzc2VsZ2VoZXVnZW4gb3AgZGl0IGFwcGFyYWF0IHdpbHQgbWFrZW4sXG4iCisjfiAia3VudCB1IGRlIG9wdGllICctZicgZ2VicnVpa2VuIG9tIGhldCBhZiB0ZSBkd2luZ2VuLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiBmZGlzayBbLWIgU1NaXSBbLXVdIERJU0sgICAgIENoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICIgICAgICAgZmRpc2sgLWwgWy1iIFNTWl0gWy11XSBESVNLICBMaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorI34gIiAgICAgICBmZGlzayAtcyBQQVJUSVRJT04gICAgICAgICAgIEdpdmUgcGFydGl0aW9uIHNpemUocykgaW4gYmxvY2tzXG4iCisjfiAiICAgICAgIGZkaXNrIC12ICAgICAgICAgICAgICAgICAgICAgR2l2ZSBmZGlzayB2ZXJzaW9uXG4iCisjfiAiSGVyZSBESVNLIGlzIHNvbWV0aGluZyBsaWtlIC9kZXYvaGRiIG9yIC9kZXYvc2RhXG4iCisjfiAiYW5kIFBBUlRJVElPTiBpcyBzb21ldGhpbmcgbGlrZSAvZGV2L2hkYTdcbiIKKyN+ICItdTogZ2l2ZSBTdGFydCBhbmQgRW5kIGluIHNlY3RvciAoaW5zdGVhZCBvZiBjeWxpbmRlcikgdW5pdHNcbiIKKyN+ICItYiAyMDQ4OiAoZm9yIGNlcnRhaW4gTU8gZGlza3MpIHVzZSAyMDQ4LWJ5dGUgc2VjdG9yc1xuIgorI34gbXNnc3RyICIiCisjfiAiR2VicnVpazogIGZkaXNrIFstYiBTRUNUT1JHUk9PVFRFXSBbLXVdIEFQUEFSQUFUICAgICAgIHBhcnRpdGlldGFiZWwgd2lqemlnZW5cbiIKKyN+ICIgICAgICAgICAgZmRpc2sgLWwgWy1iIFNFQ1RPUkdST09UVEVdIFstdV0gQVBQQVJBQVQgICAgcGFydGl0aWV0YWJlbCB3ZWVyZ2V2ZW5cbiIKKyN+ICIgICAgICAgICAgZmRpc2sgLXMgUEFSVElUSUUgICAgcGFydGl0aWVncm9vdHRlIGluIGJsb2trZW4gd2VlcmdldmVuXG4iCisjfiAiICAgICAgICAgIGZkaXNrIC12ICAgICAgICAgICAgIHByb2dyYW1tYXZlcnNpZSB0b25lblxuIgorI34gIlxuIgorI34gIkhpZXIgaXMgQVBQQVJBQVQgem9pZXRzIGFscyAvZGV2L2hkYSBvZiAvZGV2L3NkYixcbiIKKyN+ICJlbiBQQVJUSVRJRSB6b2lldHMgYWxzIC9kZXYvaGRhNyBvZiAvZGV2L3NkYjQuXG4iCisjfiAiXG4iCisjfiAiLXUgICAgICAgIEJlZ2luIGVuIEVpbmRlIGluIHNlY3RvcmVlbmhlZGVuIChpbiBwbGFhdHMgdmFuIGNpbGluZGVyZWVuaGVkZW4pXG4iCisjfiAiLWIgMjA0OCAgICh2b29yIHNvbW1pZ2UgTU8tc2NoaWp2ZW4pIDIwNDgtYnl0ZSBzZWN0b3JlbiBnZWJydWlrZW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogZmRpc2sgWy1sXSBbLWIgU1NaXSBbLXVdIGRldmljZVxuIgorI34gIkUuZy46IGZkaXNrIC9kZXYvaGRhICAoZm9yIHRoZSBmaXJzdCBJREUgZGlzaylcbiIKKyN+ICIgIG9yOiBmZGlzayAvZGV2L3NkYyAgKGZvciB0aGUgdGhpcmQgU0NTSSBkaXNrKVxuIgorI34gIiAgb3I6IGZkaXNrIC9kZXYvZWRhICAoZm9yIHRoZSBmaXJzdCBQUy8yIEVTREkgZHJpdmUpXG4iCisjfiAiICBvcjogZmRpc2sgL2Rldi9yZC9jMGQwICBvcjogZmRpc2sgL2Rldi9pZGEvYzBkMCAgKGZvciBSQUlEIGRldmljZXMpXG4iCisjfiAiICAuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkdlYnJ1aWs6ICBmZGlzayBbLWxdIFstYiBTRUNUT1JHUk9PVFRFXSBbLXVdIEFQUEFSQUFUXG4iCisjfiAiXG4iCisjfiAiQmlqdm9vcmJlZWxkOiAgZmRpc2sgL2Rldi9oZGEgICAgICAodm9vciBkZSBlZXJzdGUgSURFLXNjaGlqZilcbiIKKyN+ICIgICAgICAgICAgb2Y6ICBmZGlzayAvZGV2L3NkYyAgICAgICh2b29yIGRlIGRlcmRlIFNDU0ktc2NoaWpmKVxuIgorI34gIiAgICAgICAgICBvZjogIGZkaXNrIC9kZXYvZWRiICAgICAgKHZvb3IgZGUgdHdlZWRlIFBTLzItRVNESS1zY2hpamYpXG4iCisjfiAiICAgICAgICAgIG9mOiAgZmRpc2sgL2Rldi9yZC9jMGQwICAodm9vciBSQUlELWFwcGFyYXRlbilcbiIKKyN+ICIgICAgICAgICAgLi4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIG51bWJlciBvZiBjeWxpbmRlcnMgZm9yIHRoaXMgZGlzayBpcyBzZXQgdG8gJWQuXG4iCisjfiAiVGhlcmUgaXMgbm90aGluZyB3cm9uZyB3aXRoIHRoYXQsIGJ1dCB0aGlzIGlzIGxhcmdlciB0aGFuIDEwMjQsXG4iCisjfiAiYW5kIGNvdWxkIGluIGNlcnRhaW4gc2V0dXBzIGNhdXNlIHByb2JsZW1zIHdpdGg6XG4iCisjfiAiMSkgc29mdHdhcmUgdGhhdCBydW5zIGF0IGJvb3QgdGltZSAoZS5nLiwgb2xkIHZlcnNpb25zIG9mIExJTE8pXG4iCisjfiAiMikgYm9vdGluZyBhbmQgcGFydGl0aW9uaW5nIHNvZnR3YXJlIGZyb20gb3RoZXIgT1NzXG4iCisjfiAiICAgKGUuZy4sIERPUyBGRElTSywgT1MvMiBGRElTSylcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkhldCBhYW50YWwgY2lsaW5kZXJzIHZhbiBkZXplIHNjaGlqZiBpcyBpbmdlc3RlbGQgb3AgJWQuXG4iCisjfiAiSGllciBpcyBuaWV0cyBtaXMgbWVlLCBtYWFyIGhldCBpcyBncm90ZXIgZGFuIDEwMjQgZW4ga2FuXG4iCisjfiAiYmlqIGJlcGFhbGRlIGluc3RlbGxpbmdlbiBwcm9ibGVtZW4gdmVyb29yemFrZW4gbWV0OlxuIgorI34gIjEpIG9wc3RhcnRzb2Z0d2FyZSAoYmlqdm9vcmJlZWxkIG91ZGUgdmVyc2llcyB2YW4gTElMTyksXG4iCisjfiAiMikgcGFydGl0aW9uZXJpbmdzc29mdHdhcmUgdmFuIGFuZGVyZSBiZXN0dXJpbmdzc3l0ZW1lblxuIgorI34gIiAgIChiaWp2b29yYmVlbGQgRE9TIEZESVNLIG9mIE9TLzIgRkRJU0spLlxuIgorCisjfiBtc2dpZCAiIyBwYXJ0aXRpb24gdGFibGUgb2YgJXNcbiIKKyN+IG1zZ3N0ciAiIyBQYXJ0aXRpZXRhYmVsIHZhbiAlc1xuIgorCisjfiBtc2dpZCAidW5pdDogc2VjdG9yc1xuIgorI34gbXNnc3RyICJlZW5oZWlkOiBzZWN0b3JlbiBcbiIKKworI34gbXNnaWQgIiBzdGFydD0lOWx1IgorI34gbXNnc3RyICIgYmVnaW49JTlsdSIKKworI34gbXNnaWQgIiwgYm9vdGFibGUiCisjfiBtc2dzdHIgIiwgb3BzdGFydGJhYXIiCisKKyN+IG1zZ2lkICJuYW1laTogY291bGQgbm90IGNoZGlyIHRvIHJvb3QhXG4iCisjfiBtc2dzdHIgIm5hbWVpOiBrYW4gbmlldCBuYWFyIGhvb2ZkbWFwIGdhYW4hXG4iCisKKyN+IG1zZ2lkICJuYW1laTogY291bGQgbm90IHN0YXQgcm9vdCFcbiIKKyN+IG1zZ3N0ciAibmFtZWk6IGthbiBzdGF0dXMgdmFuIGhvb2ZkbWFwIG5pZXQgYmVwYWxlbiFcbiIKKworI34gbXNnaWQgIm5hbWVpOiBidWYgb3ZlcmZsb3dcbiIKKyN+IG1zZ3N0ciAibmFtZWk6IGJ1ZmZlcm92ZXJsb29wXG4iCisKKyN+IG1zZ2lkICIgPyBjb3VsZCBub3QgY2hkaXIgaW50byAlcyAtICVzICglZClcbiIKKyN+IG1zZ3N0ciAiPz8/IG5hYXIgbWFwICVzIGdhYW4gaXMgbWlzbHVrdCAtLSAlcyAoJWQpXG4iCisKKyN+IG1zZ2lkICIgPyBwcm9ibGVtcyByZWFkaW5nIHN5bWxpbmsgJXMgLSAlcyAoJWQpXG4iCisjfiBtc2dzdHIgIj8/PyBwcm9ibGVtZW4gYmlqIGxlemVuIHZhbiBzeW1ib2xpc2NoZSBrb3BwZWxpbmcgJXMgLS0gJXMgKCVkKVxuIgorCisjfiBtc2dpZCAiICAqKiogRVhDRUVERUQgVU5JWCBMSU1JVCBPRiBTWU1MSU5LUyAqKipcbiIKKyN+IG1zZ3N0ciAiICAqKiogTUFYSU1VTSBBQU5UQUwgU1lNQk9MSVNDSEUgS09QUEVMSU5HRU4gSVMgT1ZFUlNDSFJFREVOICoqKlxuIgorCisjfiBtc2dpZCAibmFtZWk6IHVua25vd24gZmlsZSB0eXBlIDAlMDZvIG9uIGZpbGUgJXNcbiIKKyN+IG1zZ3N0ciAibmFtZWk6IG9uYmVrZW5kZSBiZXN0YW5kc3Nvb3J0IDAlMDZvIGJpaiBiZXN0YW5kICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ29pbmcgdG8gbW91bnQgJXMgYnkgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGFhbmtvcHBlbGVuIHZhbiAlcyB2aWEgJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiBubyBMQUJFTD0sIG5vIFVVSUQ9LCBnb2luZyB0byBtb3VudCAlcyBieSBwYXRoXG4iCisjfiBtc2dzdHIgIm1vdW50OiBnZWVuIExBQkVMPSBub2NoIFVVSUQ9OyBhYW5rb3BwZWxlbiB2YW4gJXMgdmlhIHBhZFxuIgorCisjfiBtc2dpZCAiY291bGQgbm90IHVtb3VudCAlcyAtIHRyeWluZyAlcyBpbnN0ZWFkXG4iCisjfiBtc2dzdHIgImthbiAlcyBuaWV0IGFma29wcGVsZW47IG51IHBvZ2luZyBtZXQgJXMuLi5cbiIKZGlmZiAtLWdpdCBhL3BvL3BsLnBvIGIvcG8vcGwucG8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTExMWZlMwotLS0gL2Rldi9udWxsCisrKyBiL3BvL3BsLnBvCkBAIC0wLDAgKzEsMTg1MzkgQEAKKyMgUG9saXNoIHRyYW5zbGF0aW9uIG9mIHV0aWwtbGludXguCisjIENvcHlyaWdodCAoQykgMjAwNSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIHV0aWwtbGludXggcGFja2FnZS4KKyMgQW5kcnplaiBLcnp5c3p0b2Zvd2ljeiA8YW5rcnlAbWlmLnBnLmdkYS5wbD4sIDIwMDYuCisjIEpha3ViIEJvZ3VzeiA8cWJvb3NoQHBsZC1saW51eC5vcmc+LCAyMDA5LTIwMTYuCisjCittc2dpZCAiIgorbXNnc3RyICIiCisiUHJvamVjdC1JZC1WZXJzaW9uOiB1dGlsLWxpbnV4IDIuMjktcmMyXG4iCisiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IHV0aWwtbGludXhAdmdlci5rZXJuZWwub3JnXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTctMDItMjIgMTI6MzIrMDEwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTYtMTAtMjIgMTI6MTMrMDIwMFxuIgorIkxhc3QtVHJhbnNsYXRvcjogSmFrdWIgQm9ndXN6IDxxYm9vc2hAcGxkLWxpbnV4Lm9yZz5cbiIKKyJMYW5ndWFnZS1UZWFtOiBQb2xpc2ggPHRyYW5zbGF0aW9uLXRlYW0tcGxAbGlzdHMuc291cmNlZm9yZ2UubmV0PlxuIgorIkxhbmd1YWdlOiBwbFxuIgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCisiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgorIlgtQnVnczogUmVwb3J0IHRyYW5zbGF0aW9uIGVycm9ycyB0byB0aGUgTGFuZ3VhZ2UtVGVhbSBhZGRyZXNzLlxuIgorIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MzsgcGx1cmFsPW49PTEgPyAwIDogbiUxMD49MiAmJiBuJTEwPD00ICYmIChuJTEwMDwxMCB8fCBuJTEwMD49MjApID8gMSA6IDI7XG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8c3RhcnQ+IDxsZW5ndGg+XG4iCittc2dzdHIgIiAlcyA8dXJ6xIVkemVuaWUgZHlza293ZT4gPG51bWVyIHBhcnR5Y2ppPiA8cG9jesSFdGVrPiA8ZMWCdWdvxZvEhz5cbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTgKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIGV4aXN0ZW5jZSBvZiBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIlBvd2lhZG9taWVuaWUgasSFZHJhIG8gaXN0bmllbml1IHBvZGFuZWogcGFydHljamkuXG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjU2IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyNzYgZGlzay11dGlscy9ibG9ja2Rldi5jOjQyMAorIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ0NiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzQgZGlzay11dGlscy9kZWxwYXJ0LmM6NTcKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjcgZGlzay11dGlscy9mZGlzay5jOjcxOCBkaXNrLXV0aWxzL2ZkaXNrLmM6OTk0CisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozMDEgZGlzay11dGlscy9mZGlzay1saXN0LmM6MzQxCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNjAgZGlzay11dGlscy9mc2NrLmM6MTQ0OAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1NSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTEwCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMzQgZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4OQorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE3MyBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjYxCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzg4IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxOQorIzogZGlzay11dGlscy9ta3N3YXAuYzoyMTUgZGlzay11dGlscy9ta3N3YXAuYzoyNDQgZGlzay11dGlscy9wYXJ0eC5jOjk5NAorIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6NjQ3IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzAzCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc1NyBkaXNrLXV0aWxzL3NmZGlzay5jOjgxNiBkaXNrLXV0aWxzL3NmZGlzay5jOjg4MAorIzogZGlzay11dGlscy9zZmRpc2suYzo5MjEgZGlzay11dGlscy9zZmRpc2suYzo5NTEgZGlzay11dGlscy9zZmRpc2suYzo5ODgKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUzNyBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjYwIGxpYmZkaXNrL3NyYy9ic2QuYzo2NDEKKyM6IGxpYi9wYXRoLmM6NzAgbGliL3BhdGguYzo4MiBsb2dpbi11dGlscy9pc2xvY2FsLmM6ODcgbG9naW4tdXRpbHMvbGFzdC5jOjY3MgorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ0NiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDgzCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM1OQorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODEgbG9naW4tdXRpbHMvdmlwdy5jOjI1OCBsb2dpbi11dGlscy92aXB3LmM6Mjc2CisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDk3IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE4OCBtaXNjLXV0aWxzL21jb29raWUuYzoxMTUKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMDcgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODMgc3lzLXV0aWxzL2RtZXNnLmM6NTIyCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MDAgc3lzLXV0aWxzL2VqZWN0LmM6NzAwIHN5cy11dGlscy9mYWxsb2NhdGUuYzozNzQKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyOCBzeXMtdXRpbHMvZnN0cmltLmM6NzIgc3lzLXV0aWxzL2h3Y2xvY2suYzoyODIKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2Mzggc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTYyCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNTYgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDAxCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MjIgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDY5CisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozODggc3lzLXV0aWxzL25zZW50ZXIuYzoxMjggc3lzLXV0aWxzL3J0Y3dha2UuYzoxMzYKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MjcwIHN5cy11dGlscy9zZXRwcml2LmM6MjMwIHN5cy11dGlscy9zZXRwcml2LmM6NTI5CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1MiBzeXMtdXRpbHMvc3dhcG9uLmM6MzcxIHN5cy11dGlscy9zd2Fwb24uYzo1MTQKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2MyBzeXMtdXRpbHMvdW5zaGFyZS5jOjEwNiBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyMQorIzogc3lzLXV0aWxzL3dkY3RsLmM6MzIxIHN5cy11dGlscy93ZGN0bC5jOjM3NyB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MTgKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEyNyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQyNSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQzMQorIzogdGVybS11dGlscy9zY3JpcHQuYzo0MzMgdGVybS11dGlscy9zY3JpcHQuYzo1MjIKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTk3IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjAwCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozMzEgdGV4dC11dGlscy9jb2xjcnQuYzoyODIgdGV4dC11dGlscy9tb3JlLmM6NTEzCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjE0MSB0ZXh0LXV0aWxzL3RhaWxmLmM6NjggdGV4dC11dGlscy90YWlsZi5jOjEwMAorIzogdGV4dC11dGlscy91bC5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAibmllIG1vxbxuYSBvdHdvcnp5xIcgJXMiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjU5IGRpc2stdXRpbHMvZGVscGFydC5jOjYwIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjk4Cittc2dpZCAiaW52YWxpZCBwYXJ0aXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRueSBudW1lciBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjAKK21zZ2lkICJpbnZhbGlkIHN0YXJ0IGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSB3YXJ0b8WbxIcgcG9jesSFdGt1IgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MSBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDgKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIKK21zZ3N0ciAiYsWCxJlkbmEgd2FydG/Fm8SHIGTFgnVnb8WbY2kiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYyCittc2dpZCAiZmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24iCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBkb2RhxIcgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo2MworbXNnaWQgInNldCByZWFkLW9ubHkiCittc2dzdHIgInVzdGF3aWVuaWUgdHlsa28gZG8gb2Rjenl0dSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjcwCittc2dpZCAic2V0IHJlYWQtd3JpdGUiCittc2dzdHIgInVzdGF3aWVuaWUgZG8gb2Rjenl0dSBpIHphcGlzdSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjc2Cittc2dpZCAiZ2V0IHJlYWQtb25seSIKK21zZ3N0ciAicG9icmFuaWUgZmxhZ2kgdHlsa28gZG8gb2Rjenl0dSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjgyCittc2dpZCAiZ2V0IGRpc2NhcmQgemVyb2VzIHN1cHBvcnQgc3RhdHVzIgorbXNnc3RyICJwb2JyYW5pZSBzdGF0dXN1IG9ic8WCdWdpIHVzdXdhbmlhIHplcmFtaSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjg4Cittc2dpZCAiZ2V0IGxvZ2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAicG9icmFuaWUgcm96bWlhcnUgYmxva3UgKHNla3RvcmEpIGxvZ2ljem5lZ28iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo5NAorbXNnaWQgImdldCBwaHlzaWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICJwb2JyYW5pZSByb3ptaWFydSBibG9rdSAoc2VrdG9yYSkgZml6eWN6bmVnbyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwMAorbXNnaWQgImdldCBtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICJwb2JyYW5pZSBtaW5pbWFsbmVnbyByb3ptaWFydSB3ZS93eSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwNgorbXNnaWQgImdldCBvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICJwb2JyYW5pZSBvcHR5bWFsbmVnbyByb3ptaWFydSB3ZS93eSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExMgorbXNnaWQgImdldCBhbGlnbm1lbnQgb2Zmc2V0IGluIGJ5dGVzIgorbXNnc3RyICJwb2JyYW5pZSB3eXLDs3duYW5pYSB3IGJhanRhY2giCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTgKK21zZ2lkICJnZXQgbWF4IHNlY3RvcnMgcGVyIHJlcXVlc3QiCittc2dzdHIgInBvYnJhbmllIG1ha3N5bWFsbmVqIGxpY3pieSBzZWt0b3LDs3cgbmEgxbzEhWRhbmllIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTI0Cittc2dpZCAiZ2V0IGJsb2Nrc2l6ZSIKK21zZ3N0ciAicG9icmFuaWUgcm96bWlhcnUgYmxva3UiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzEKK21zZ2lkICJzZXQgYmxvY2tzaXplIG9uIGZpbGUgZGVzY3JpcHRvciBvcGVuaW5nIHRoZSBibG9jayBkZXZpY2UiCittc2dzdHIgInVzdGF3aWVuaWUgcm96bWlhcnUgYmxva3UgZGxhIGRlc2tyeXB0b3JhIHBsaWt1IHByenkgb3R3aWVyYW5pdSB1cnrEhWR6ZW5pYSBibG9rb3dlZ28iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzcKK21zZ2lkICJnZXQgMzItYml0IHNlY3RvciBjb3VudCAoZGVwcmVjYXRlZCwgdXNlIC0tZ2V0c3opIgorbXNnc3RyICJwb2JyYW5pZSAzMi1iaXRvd2VqIGxpY3pieSBzZWt0b3LDs3cgKHByemVzdGFyemHFgmUsIGxlcGllaiB1xbx5d2HEhyAtLWdldHN6KSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE0MworbXNnaWQgImdldCBzaXplIGluIGJ5dGVzIgorbXNnc3RyICJwb2JyYW5pZSByb3ptaWFydSB3IGJhanRhY2giCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTAKK21zZ2lkICJzZXQgcmVhZGFoZWFkIgorbXNnc3RyICJ1c3Rhd2llbmllIG9kY3p5dHUgeiB3eXByemVkemVuaWVtIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTU2Cittc2dpZCAiZ2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAicG9icmFuaWUgdXN0YXdpZW5pYSBvZGN6eXR1IHogd3lwcnplZHplbmllbSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2MworbXNnaWQgInNldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAidXN0YXdpZW5pZSBvZGN6eXR1IHogd3lwcnplZHplbmllbSBkbGEgc3lzdGVtdSBwbGlrw7N3IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTY5Cittc2dpZCAiZ2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICJwb2JyYW5pZSB1c3Rhd2llbmlhIG9kY3p5dHUgeiB3eXByemVkemVuaWVtIGRsYSBzeXN0ZW11IHBsaWvDs3ciCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzMKK21zZ2lkICJmbHVzaCBidWZmZXJzIgorbXNnc3RyICJvcHLDs8W8bmllbmllIGJ1Zm9yw7N3IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTc3Cittc2dpZCAicmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAicG9ub3duZSBvZGN6eXRhbmllIHRhYmxpY3kgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlMSRzIC1WXG4iCisiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisiXG4iCisiQXZhaWxhYmxlIGNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisiXG4iCisiU2vFgmFkbmlhOlxuIgorIiAlMSRzIC1WXG4iCisiICUxJHMgLS1yZXBvcnQgW3VyesSFZHplbmlhXVxuIgorIiAlMSRzIFstdnwtcV0gcG9sZWNlbmlhIHVyesSFZHplbmlhXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICUtMjVzIGdldCBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnNcbiIKK21zZ3N0ciAiICUtMjVzIHBvYnJhbmllIHJvem1pYXJ1IHcgc2VrdG9yYWNoIDUxMi1iYWp0b3d5Y2hcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMxMQorbXNnaWQgImNvdWxkIG5vdCBnZXQgZGV2aWNlIHNpemUiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwb2JyYcSHIHJvem1pYXJ1IHVyesSFZHplbmlhIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gY29tbWFuZDogJXMiCittc2dzdHIgIk5pZXpuYW5lIHBvbGVjZW5pZTogJXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgIiVzIHd5bWFnYSBhcmd1bWVudHUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNjggZGlzay11dGlscy9ibG9ja2Rldi5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiYsWCxIVkIGlvY3RsIG5hICVzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZC5cbiIKK21zZ3N0ciAiJXMgbmllIHBvd2lvZMWCbyBzacSZLlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiJXMgcG93aW9kxYJvIHNpxJkuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIHN5c2ZzIGhhbmRsZXIiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgemFpbmljam93YcSHIG9ic8WCdWdpIHN5c2ZzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gc3RhcnQgZnJvbSBzeXNmcyIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gc2nEmSBvZGN6eXRhxIcgcG9jesSFdGt1IHBhcnR5Y2ppIHogc3lzZnMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk8gICAgUkEgICBTU1ogICBCU1ogICBTdGFydFNlYyAgICAgICAgICAgIFNpemUgICBEZXZpY2VcbiIKK21zZ3N0ciAiUk8gICAgUkEgICBTU1ogICBCU1ogICBTZWt0b3JQb2N6ICAgICAgICAgUm96bWlhciBVcnrEhWR6ZW5pZVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3OQorbXNnaWQgIkJvb3RhYmxlIgorbXNnc3RyICJSb3pydWNoIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3OQorbXNnaWQgIlRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiUHJ6ZcWCxIVjemVuaWUgZmxhZ2kgcm96cnVjaHUgZGxhIGJpZcW8xIVjZWogcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgwCittc2dpZCAiRGVsZXRlIgorbXNnc3RyICJVc3XFhCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODAKK21zZ2lkICJEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJVc3VuacSZY2llIGJpZcW8xIVjZWogcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgxCittc2dpZCAiTmV3IgorbXNnc3RyICJOb3dhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MQorbXNnaWQgIkNyZWF0ZSBuZXcgcGFydGl0aW9uIGZyb20gZnJlZSBzcGFjZSIKK21zZ3N0ciAiVXR3b3J6ZW5pZSBub3dlaiBwYXJ0eWNqaSBuYSB3b2xueW0gbWllanNjdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODIKK21zZ2lkICJRdWl0IgorbXNnc3RyICJaYWtvxYRjeiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODIKK21zZ2lkICJRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIGNoYW5nZXMiCittc2dzdHIgIlpha2/FhGN6ZW5pZSBwcm9ncmFtdSBiZXogemFwaXN1IHptaWFuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MyBsaWJmZGlzay9zcmMvYnNkLmM6NDM5IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIwCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNiBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MAorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMTYKK21zZ2lkICJUeXBlIgorbXNnc3RyICJUeXAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgzCittc2dpZCAiQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiWm1pYW5hIHR5cHUgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0Cittc2dpZCAiSGVscCIKK21zZ3N0ciAiUG9tb2MiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0Cittc2dpZCAiUHJpbnQgaGVscCBzY3JlZW4iCittc2dzdHIgIld5xZt3aWV0bGVuaWUgZWtyYW51IHBvbW9jeSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODUKK21zZ2lkICJTb3J0IgorbXNnc3RyICJTb3J0dWoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1Cittc2dpZCAiRml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIlBvcHJhd2llbmllIGtvbGVqbm/Fm2NpIHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIldyaXRlIgorbXNnc3RyICJaYXBpc3oiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhKSIKK21zZ3N0ciAiWmFwaXMgdGFibGljeSBwYXJ0eWNqaSBuYSBkeXNrIChtb8W8ZSB0byB6bmlzemN6ecSHIGRhbmUpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworbXNnaWQgIkR1bXAiCittc2dzdHIgIlpyenV0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworbXNnaWQgIkR1bXAgcGFydGl0aW9uIHRhYmxlIHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICJacnp1dCB0YWJsaWN5IG9wYXJ0eWNqaSBkbyBwbGlrdSBza3J5cHR1IHpnb2RuZWdvIHogc2ZkaXNraWVtIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjYyMCBkaXNrLXV0aWxzL2ZkaXNrLmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB1bnN1cHBvcnRlZCBkaWFsb2cgdHlwZSAlZCIKK21zZ3N0ciAiYsWCxIVkIHdld27EmXRyem55OiBuaWUgb2JzxYJ1Z2l3YW55IHJvZHphaiBkaWFsb2d1ICVkIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG1vdW50ZWQpIgorbXNnc3RyICIlcyAoemFtb250b3dhbnkpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyNzQKK21zZ2lkICJQYXJ0aXRpb24gbmFtZToiCittc2dzdHIgIk5hendhIHBhcnR5Y2ppOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjgxCittc2dpZCAiUGFydGl0aW9uIFVVSUQ6IgorbXNnc3RyICJVVUlEIHBhcnR5Y2ppOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjkzCittc2dpZCAiUGFydGl0aW9uIHR5cGU6IgorbXNnc3RyICJUeXAgcGFydHljamk6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMDAKK21zZ2lkICJBdHRyaWJ1dGVzOiIKK21zZ3N0ciAiQXRyeWJ1dHk6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMjQKK21zZ2lkICJGaWxlc3lzdGVtIFVVSUQ6IgorbXNnc3RyICJVVUlEIHN5c3RlbXUgcGxpa8OzdzoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMzMQorbXNnaWQgIkZpbGVzeXN0ZW0gTEFCRUw6IgorbXNnc3RyICJFdHlraWV0YSBzeXN0ZW11IHBsaWvDs3c6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMzcKK21zZ2lkICJGaWxlc3lzdGVtOiIKK21zZ3N0ciAiU3lzdGVtIHBsaWvDs3c6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNDIKK21zZ2lkICJNb3VudHBvaW50OiIKK21zZ3N0ciAiUHVua3QgbW9udG93YW5pYToiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY4NQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrOiAlcyIKK21zZ3N0ciAiRHlzazogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY4NworIywgYy1mb3JtYXQKK21zZ2lkICJTaXplOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiUm96bWlhcjogJXMsIGJhanTDs3c6ICVqdSwgc2VrdG9yw7N3OiAlanUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY5MAorIywgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMsIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJFdHlraWV0YTogJXMsIGlkZW50eWZpa2F0b3I6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzIgorbXNnc3RyICJFdHlraWV0YTogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0NgorbXNnaWQgIk1heSBiZSBmb2xsb3dlZCBieSBNIGZvciBNaUIsIEcgZm9yIEdpQiwgVCBmb3IgVGlCLCBvciBTIGZvciBzZWN0b3JzLiIKK21zZ3N0ciAiTW/FvG5hIGRvZGHEhyBwcnp5cm9zdGVrIE0gZGxhIE1pQiwgRyBkbGEgR2lCLCBUIGRsYSBUaUIgbHViIFMgZGxhIHNla3RvcsOzdy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1MgorbXNnaWQgIlBsZWFzZSwgc3BlY2lmeSBzaXplLiIKK21zZ3N0ciAiUHJvc3rEmSBwb2RhxIcgcm96bWlhci4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3NAorIywgYy1mb3JtYXQKK21zZ2lkICJNaW5pbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAiTWluaW1hbG55IHJvem1pYXIgdyBiYWp0YWNoIHRvICVqdS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg4MworIywgYy1mb3JtYXQKK21zZ2lkICJNYXhpbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAiTWFrc3ltYWxueSByb3ptaWFyIHcgYmFqdGFjaCB0byAlanUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OTAKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2l6ZS4iCittc2dzdHIgIk5pZXpyb3p1bWlhxYJ5IHJvem1pYXIuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NDgKK21zZ2lkICJTZWxlY3QgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIlByb3N6xJkgd3licmHEhyB0eXAgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk5NCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjQKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lOiAiCittc2dzdHIgIk5hendhIHBsaWt1IHNrcnlwdHU6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTk1Cittc2dpZCAiVGhlIHNjcmlwdCBmaWxlIHdpbGwgYmUgYXBwbGllZCB0byBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiUGxpayBza3J5cHR1IHpvc3RhbmllIG5hbmllc2lvbnkgbmEgdGFibGljxJkgcGFydHljamkgdyBwYW1pxJljaS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwNCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNDYKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2NSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gJXMiCittc2dzdHIgIk5pZSBtb8W8bmEgb3R3b3J6ecSHICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMDYgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAiTmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyBwbGlrdSBza3J5cHR1ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMDggZGlzay11dGlscy9mZGlzay1tZW51LmM6NDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgJXMiCittc2dzdHIgIk5pZSB1ZGHFgm8gc2nEmSBuYW5pZcWbxIcgc2tyeXB0dSAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDI1Cittc2dpZCAiVGhlIGN1cnJlbnQgaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZSB3aWxsIGJlIGR1bXBlZCB0byB0aGUgZmlsZS4iCittc2dzdHIgIkJpZcW8xIVjYSB0YWJsaWNhIHBhcnR5Y2ppIHogcGFtacSZY2kgem9zdGFuaWUgenJ6dWNvbmEgZG8gcGxpa3UuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzMgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDkxCittc2dpZCAiRmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICJOaWUgdWRhxYJvIHNpxJkgcHJ6eWR6aWVsacSHIHVjaHd5dHUgc2tyeXB0dSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDM5Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZGlzayBsYXlvdXQgaW50byBzY3JpcHQuIgorbXNnc3RyICJOaWUgdWRhxYJvIHNpxJkgb2Rjenl0YcSHIHVrxYJhZHUgZHlza3UgZG8gc2tyeXB0dS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA1MworbXNnaWQgIkRpc2sgbGF5b3V0IHN1Y2Nlc3NmdWxseSBkdW1wZWQuIgorbXNnc3RyICJVa8WCYWQgZHlza3Ugem9zdGHFgiBwb3ByYXduaWUgenJ6dWNvbnkuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNTYgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBzY3JpcHQgJXMiCittc2dzdHIgIk5pZSB1ZGHFgm8gc2nEmSB6YXBpc2HEhyBza3J5cHR1ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwOTIKK21zZ2lkICJTZWxlY3QgbGFiZWwgdHlwZSIKK21zZ3N0ciAiUHJvc3rEmSB3eWJyYcSHIHR5cCBldHlraWV0eSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDk1IGRpc2stdXRpbHMvZmRpc2suYzoxMDE3Cittc2dpZCAiRGV2aWNlIGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIlVyesSFZHplbmllIG5pZSB6YXdpZXJhIMW8YWRuZWogem5hbmVqIHRhYmxpY3kgcGFydHljamkuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMDEKK21zZ2lkICJTZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBsYWJlbCBvciBwcmVzcyAnTCcgdG8gbG9hZCBzY3JpcHQgZmlsZS4iCittc2dzdHIgIlByb3N6xJkgd3licmHEhyB0eXAsIGFieSB1dHdvcnp5xIcgbm93xIUgZXR5a2lldMSZLCBhbGJvIG5hY2lzbsSFxIcgJ0wnLCBhYnkgd2N6eXRhxIcgcGxpayBza3J5cHR1LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ2Cittc2dpZCAiVGhpcyBpcyBjZmRpc2ssIGEgY3Vyc2VzLWJhc2VkIGRpc2sgcGFydGl0aW9uaW5nIHByb2dyYW0uIgorbXNnc3RyICJUbyBqZXN0IGNmZGlzayAtIG9wYXJ0eSBuYSBjdXJzZXMgcHJvZ3JhbSBkbyBwYXJ0eWNqb25vd2FuaWEgZHlza3UuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDcKK21zZ2lkICJJdCBsZXRzIHlvdSBjcmVhdGUsIGRlbGV0ZSwgYW5kIG1vZGlmeSBwYXJ0aXRpb25zIG9uIGEgYmxvY2sgZGV2aWNlLiIKK21zZ3N0ciAiUG96d2FsYSB0d29yennEhywgdXN1d2HEhyBpIG1vZHlmaWtvd2HEhyBwYXJ0eWNqZSBuYSB1cnrEhWR6ZW5pdSBibG9rb3d5bS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE0OQorbXNnaWQgIkNvbW1hbmQgICAgICBNZWFuaW5nIgorbXNnc3RyICJQb2xlY2VuaWUgICAgWm5hY3plbmllIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTAKK21zZ2lkICItLS0tLS0tICAgICAgLS0tLS0tLSIKK21zZ3N0ciAiLS0tLS0tLS0tICAgIC0tLS0tLS0tLSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUxCittc2dpZCAiICBiICAgICAgICAgIFRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBiICAgICAgICAgIFByemXFgsSFY3plbmllIGZsYWdpIHJvenJ1Y2h1IGRsYSBiaWXFvMSFY2VqIHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTIKK21zZ2lkICIgIGQgICAgICAgICAgRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBkICAgICAgICAgIFVzdW5pxJljaWUgYmllxbzEhWNlaiBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUzCittc2dpZCAiICBoICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorbXNnc3RyICIgIGggICAgICAgICAgV3nFm3dpZXRsZW5pZSB0ZWdvIGVrcmFudSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU0Cittc2dpZCAiICBuICAgICAgICAgIENyZWF0ZSBuZXcgcGFydGl0aW9uIGZyb20gZnJlZSBzcGFjZSIKK21zZ3N0ciAiICBuICAgICAgICAgIFV0d29yemVuaWUgbm93ZWogcGFydHljamkgbmEgd29sbnltIG1pZWpzY3UiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NQorbXNnaWQgIiAgcSAgICAgICAgICBRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICBxICAgICAgICAgIFpha2/FhGN6ZW5pZSBwcm9ncmFtdSBiZXogemFwaXN1IHRhYmxpY3kgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NgorbXNnaWQgIiAgcyAgICAgICAgICBGaXggcGFydGl0aW9ucyBvcmRlciAob25seSB3aGVuIGluIGRpc2FycmF5KSIKK21zZ3N0ciAiICBzICAgICAgICAgIFBvcHJhd2llbmllIGtvbGVqbm/Fm2NpIHBhcnR5Y2ppICh0eWxrbyBqZcWbbGkgbmllIHPEhSB1cG9yesSFZGtvd2FuZSkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NworbXNnaWQgIiAgdCAgICAgICAgICBDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgIHQgICAgICAgICAgWm1pYW5hIHR5cHUgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1OAorbXNnaWQgIiAgdSAgICAgICAgICBEdW1wIGRpc2sgbGF5b3V0IHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICIgIHUgICAgICAgICAgWnJ6dXQgdWvFgmFkdSBkeXNrdSBkbyBwbGlrdSBza3J5cHR1IHpnb2RuZWdvIHogcHJvZ3JhbWVtIHNmZGlzayIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU5Cittc2dpZCAiICBXICAgICAgICAgIFdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh5b3UgbXVzdCBlbnRlciB1cHBlcmNhc2UgVyk7IgorbXNnc3RyICIgIFcgICAgICAgICAgWmFwaXMgdGFibGljeSBwYXJ0eWNqaSBuYSBkeXNrIChtdXNpIGJ5xIcgd2llbGtpZSBXKTsiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MAorbXNnaWQgIiAgICAgICAgICAgICAgIHNpbmNlIHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhIG9uIHRoZSBkaXNrLCB5b3UgbXVzdCBlaXRoZXIiCittc2dzdHIgIiAgICAgICAgICAgICAgIHBvbmlld2HFvCBtb8W8ZSB0byB6bmlzemN6ecSHIGRhbmUgbmEgZHlza3UsIG5hbGXFvHkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MQorbXNnaWQgIiAgICAgICAgICAgICAgIGNvbmZpcm0gb3IgZGVueSB0aGUgd3JpdGUgYnkgZW50ZXJpbmcgJ3llcycgb3IgJ25vJyIKK21zZ3N0ciAiICAgICAgICAgICAgICAgcG90d2llcmR6acSHIGx1YiBhbnVsb3dhxIcgemFwaXMgd3Bpc3VqxIVjIFwidGFrXCIgbHViIFwibmllXCIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MgorbXNnaWQgIiAgeCAgICAgICAgICBEaXNwbGF5L2hpZGUgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIiAgeCAgICAgICAgICBXecWbd2lldGxlbmllL3VrcnljaWUgZG9kYXRrb3d5Y2ggaW5mb3JtYWNqaSBvIHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjMKK21zZ2lkICJVcCBBcnJvdyAgICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIHBhcnRpdGlvbiIKK21zZ3N0ciAiR8OzcmEgICAgICAgICBQcnplc3VuacSZY2llIGt1cnNvcmEgbmEgcG9wcnplZG5pxIUgcGFydHljasSZIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjQKK21zZ2lkICJEb3duIEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgcGFydGl0aW9uIgorbXNnc3RyICJEw7PFgiAgICAgICAgICBQcnplc3VuacSZY2llIGt1cnNvcmEgbmEgbmFzdMSZcG7EhSBwYXJ0eWNqxJkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2NQorbXNnaWQgIkxlZnQgQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgbWVudSBpdGVtIgorbXNnc3RyICJMZXdvICAgICAgICAgUHJ6ZXN1bmnEmWNpZSBrdXJzb3JhIG5hIHBvcHJ6ZWRuacSFIHBvenljasSZIG1lbnUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2NgorbXNnaWQgIlJpZ2h0IEFycm93ICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBtZW51IGl0ZW0iCittc2dzdHIgIlByYXdvICAgICAgICBQcnplc3VuacSZY2llIGt1cnNvcmEgbmEgbmFzdMSZcG7EhSBwb3p5Y2rEmSBtZW51IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjgKK21zZ2lkICJOb3RlOiBBbGwgb2YgdGhlIGNvbW1hbmRzIGNhbiBiZSBlbnRlcmVkIHdpdGggZWl0aGVyIHVwcGVyIG9yIGxvd2VyIgorbXNnc3RyICJVd2FnYTogd3N6eXN0a2llIHBvbGVjZW5pYSBtb2fEhSBiecSHIHVydWNob21pb25lIHdpZWxraW1pIGx1YiBtYcWCeW1pIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjkKK21zZ2lkICJjYXNlIGxldHRlcnMgKGV4Y2VwdCBmb3IgV3JpdGUpLiIKK21zZ3N0ciAibGl0ZXJhbWkgKHogd3lqxIV0a2llbSB6YXBpc3UgLSBXKS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3MQorbXNnaWQgIlVzZSBsc2Jsayg4KSBvciBwYXJ0eCg4KSB0byBzZWUgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBkZXZpY2UuIgorbXNnc3RyICJXacSZY2VqIHN6Y3plZ8OzxYLDs3cgZG90eWN6xIVjeWNoIHVyesSFZHplbmlhIG1vxbxuYSB1enlza2HEhyBwb2xlY2VuaWVtIGxzYmxrKDgpIGx1YiBwYXJ0eCg4KS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3OCBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzcKK21zZ2lkICJQcmVzcyBhIGtleSB0byBjb250aW51ZS4iCittc2dzdHIgIlByb3N6xJkgbmFjaXNuxIXEhyBrbGF3aXN6LCBhYnkga29udHludW93YcSHLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjYwCittc2dpZCAiQ291bGQgbm90IHRvZ2dsZSB0aGUgZmxhZy4iCittc2dzdHIgIk5pZSB1ZGHFgm8gc2nEmSBwcnplxYLEhWN6ecSHIGZsYWdpLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIk5pZSB1ZGHFgm8gc2nEmSB1c3VuxIXEhyBwYXJ0eWNqaSAlenUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNzIgZGlzay11dGlscy9mZGlzay1tZW51LmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaGFzIGJlZW4gZGVsZXRlZC4iCittc2dzdHIgIlBhcnR5Y2phICV6dSB6b3N0YcWCYSB1c3VuacSZdGEuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyOTMKK21zZ2lkICJQYXJ0aXRpb24gc2l6ZTogIgorbXNnc3RyICJSb3ptaWFyIHBhcnR5Y2ppOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIlptaWVuaW9ubyB0eXAgcGFydHljamkgJXp1LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSB0eXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkLiIKK21zZ3N0ciAiVHlwIHBhcnR5Y2ppICV6dSBuaWUgem9zdGHFgiB6bWllbmlvbnkuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNTMgZGlzay11dGlscy9jZmRpc2suYzoyNDY2IGRpc2stdXRpbHMvZmRpc2suYzo5OTEKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU3MAorbXNnaWQgIkRldmljZSBpcyBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIKK21zZ3N0ciAiVXJ6xIVkemVuaWUgamVzdCBvdHdhcnRlIHcgdHJ5YmllIHR5bGtvIGRvIG9kY3p5dHUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNTgKK21zZ2lkICJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gd3JpdGUgdGhlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrPyAiCittc2dzdHIgIkN6eSBuYSBwZXdubyB6YXBpc2HEhyBuYSBkeXNrIHRhYmxpY8SZIHBhcnR5Y2ppPyAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM2MAorbXNnaWQgIlR5cGUgXCJ5ZXNcIiBvciBcIm5vXCIsIG9yIHByZXNzIEVTQyB0byBsZWF2ZSB0aGlzIGRpYWxvZy4iCittc2dzdHIgIlByb3N6xJkgbmFwaXNhxIcgXCJ0YWtcIiBsdWIgXCJuaWVcIiwgYWxibyBuYWNpc27EhcSHIEVzYywgYWJ5IG9wdcWbY2nEhyB0byBva25vLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzY1IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE1NDAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1NTAKK21zZ2lkICJ5ZXMiCittc2dzdHIgInRhayIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzY2Cittc2dpZCAiRGlkIG5vdCB3cml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4iCittc2dzdHIgIk5pZSB6YXBpc2FubyB0YWJsaWN5IHBhcnR5Y2ppIG5hIGR5c2suIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzEKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsLiIKK21zZ3N0ciAiTmllIHVkYcWCbyBzacSZIHphcGlzYcSHIGV0eWtpZXR5IGR5c2t1LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzc0IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU3OAorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIlRhYmxpY2EgcGFydHljamkgem9zdGHFgmEgem1vZHlmaWtvd2FuYS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM5NyBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NjgKK21zZ2lkICJOb3RlIHRoYXQgcGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyIG5vdy4iCittc2dzdHIgIlV3YWdhOiB3cGlzeSB3IHRhYmxpY3kgcGFydHljamkgbmllIHPEhSB0ZXJheiB3IHRlaiBrb2xlam5vxZtjaSwgY28gbmEgZHlza3UuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmU7IGl0IHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICJVcnrEhWR6ZW5pZSBqdcW8IHphd2llcmEgc3lnbmF0dXLEmSAlczsgYsSZZHppZSB1c3VuacSZdGEgcHJ6ZXogcG9sZWNlbmllIHphcGlzdS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0NQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBuZXcgZGlza2xhYmVsIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgdXR3b3J6ecSHIG5vd2VqIGV0eWtpZXR5IGR5c2t1IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NTMKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb25zIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgb2Rjenl0YcSHIHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICUxJHMgW29wdGlvbnNdIDxkaXNrPlxuIgorbXNnc3RyICIgJTEkcyBbb3BjamVdIDxkeXNrPlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDkgZGlzay11dGlscy9mZGlzay5jOjczNiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTAKK21zZ2lkICJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgYSBkaXNrIHBhcnRpdGlvbiB0YWJsZS5cbiIKK21zZ3N0ciAiV3nFm3dpZXRsZW5pZSBsdWIgbW9keWZpa293YW5pZSB0YWJsaWN5IHBhcnR5Y2ppIGR5c2t1LlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NTIKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxraWVkeT5dICAgIGtvbG9yb3dhbmllIHd5asWbY2lhIChhdXRvLCBhbHdheXMgbHViIG5ldmVyKVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NTUKK21zZ2lkICIgLXosIC0temVybyAgICAgICAgICAgICAgIHN0YXJ0IHdpdGggemVyb2VkIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgLXosIC0temVybyAgICAgICAgICAgICAgIHJvenBvY3rEmWNpZSB6IHd5emVyb3dhbsSFIHRhYmxpY8SFIHBhcnR5Y2ppXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU5NCBkaXNrLXV0aWxzL2ZkaXNrLmM6ODgyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA3NworIzogbWlzYy11dGlscy9jYWwuYzozOTAgc3lzLXV0aWxzL2RtZXNnLmM6MTMzMyB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTQKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb2xvciBtb2RlIgorbXNnc3RyICJuaWUgb2JzxYJ1Z2l3YW55IHRyeWIga29sb3J1IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MTIgZGlzay11dGlscy9mZGlzay5jOjgxOCBkaXNrLXV0aWxzL3NmZGlzay5jOjIyMworbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6eWR6aWVsacSHIGtvbnRla3N0dSBsaWJmZGlzayIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+XG4iCittc2dzdHIgIiAlcyA8dXJ6xIVkemVuaWUgZHlza293ZT4gPG51bWVyIHBhcnR5Y2ppPlxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxOAorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCB0byBmb3JnZXQgYWJvdXQgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICJQb3dpYWRvbWllbmllIGrEhWRyYSwgYWJ5IHphcG9tbmlhxYJvIG8gcG9kYW5laiBwYXJ0eWNqaS5cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6NjEKK21zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlIHBhcnRpdGlvbiIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHVzdW7EhcSHIHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9ybWF0dGluZyAuLi4gIgorbXNnc3RyICJGb3JtYXRvd2FuaWUuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NjggZGlzay11dGlscy9mZGZvcm1hdC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJkb25lXG4iCittc2dzdHIgInpha2/FhGN6b25lXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJWZXJpZnlpbmcgLi4uICIKK21zZ3N0ciAiV2VyeWZpa2FjamEuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTA4Cittc2dpZCAiUmVhZDogIgorbXNnc3RyICJPZGN6eXQ6ICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJQcm9ibGVtIHJlYWRpbmcgdHJhY2svaGVhZCAldS8ldSwgZXhwZWN0ZWQgJWQsIHJlYWQgJWRcbiIKK21zZ3N0ciAiUHJvYmxlbSBwcnp5IG9kY3p5Y2llIGN5bGluZHJhL2fFgm93aWN5ICV1LyV1LCBvY3pla2l3YW5vICVkLCBvZGN6eXRhbm8gJWRcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYmFkIGRhdGEgaW4gdHJhY2svaGVhZCAldS8ldVxuIgorIkNvbnRpbnVpbmcgLi4uICIKK21zZ3N0ciAiIgorImLFgsSZZG5lIGRhbmUgbmEgxZtjaWXFvGNlL2fFgm93aWN5ICV1LyV1XG4iCisiS29udHludWFjamEuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4MgorIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMTcgbWlzYy11dGlscy93aXBlZnMuYzo0NTYgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4NAorIzogc3lzLXV0aWxzL3R1bmVscC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gPHVyesSFZHplbmllPlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ4Cittc2dpZCAiRG8gYSBsb3ctbGV2ZWwgZm9ybWF0dGluZyBvZiBhIGZsb3BweSBkaXNrLlxuIgorbXNnc3RyICJXeWtvbmFuaWUgbmlza29wb3ppb21vd2VnbyBmb3JtYXRvd2FuaWEgZHlza2lldGtpLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUxCittc2dpZCAiIC1mLCAtLWZyb20gPE4+ICAgIHN0YXJ0IGF0IHRoZSB0cmFjayBOIChkZWZhdWx0IDApXG4iCittc2dzdHIgIiAtZiwgLS1mcm9tIDxOPiAgICByb3pwb2N6xJljaWUgb2QgxZtjaWXFvGtpIE4gKGRvbXnFm2xuaWUgMClcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MgorbXNnaWQgIiAtdCwgLS10byA8Tj4gICAgICBzdG9wIGF0IHRoZSB0cmFjayBOXG4iCittc2dzdHIgIiAtdCwgLS10byA8Tj4gICAgICB6YWtvxYRjemVuaWUgbmEgxZtjaWXFvGNlIE5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MworbXNnaWQgIiIKKyIgLXIsIC0tcmVwYWlyIDxOPiAgdHJ5IHRvIHJlcGFpciB0cmFja3MgZmFpbGVkIGR1cmluZ1xuIgorIiAgICAgICAgICAgICAgICAgICAgIHRoZSB2ZXJpZmljYXRpb24gKG1heCBOIHJldHJpZXMpXG4iCittc2dzdHIgIiIKKyIgLXIsIC0tcmVwYWlyIDxOPiAgcHLDs2JhIG5hcHJhd2llbmlhIMWbY2llxbxlaywgbmEga3TDs3J5Y2ggem5hbGV6aW9ubyBixYLEmWR5XG4iCisiICAgICAgICAgICAgICAgICAgICAgdyB0cmFrY2llIHdlcnlmaWthY2ppIChtYWtzeW1hbG5pZSBOIHByw7NiKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU1Cittc2dpZCAiIC1uLCAtLW5vLXZlcmlmeSAgIGRpc2FibGUgdGhlIHZlcmlmaWNhdGlvbiBhZnRlciB0aGUgZm9ybWF0XG4iCittc2dzdHIgIiAtbiwgLS1uby12ZXJpZnkgICB3ecWCxIVjemVuaWUgd2VyeWZpa2FjamkgcG8gZm9ybWF0b3dhbml1XG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gZnJvbSIKK21zZ3N0ciAiYsWCxJlkbnkgYXJndW1lbnQgLSDFm2NpZcW8a2EgcG9jesSFdGtvd2EiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTgKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gdG8iCittc2dzdHIgImLFgsSZZG55IGFyZ3VtZW50IC0gxZtjaWXFvGthIGtvxYRjb3dhIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjAxCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHJlcGFpciIKK21zZ3N0ciAiYsWCxJlkbnkgYXJndW1lbnQgLSBvcGNqYSBuYXByYXd5IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjIxIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTEKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODUgZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMzOAorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc0OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzg1CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTYgZGlzay11dGlscy9ta3N3YXAuYzoyNDEgZGlzay11dGlscy9wYXJ0eC5jOjkzMworIzogbG9naW4tdXRpbHMvbGFzdC5jOjY4NiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzOSBtaXNjLXV0aWxzL25hbWVpLmM6MTM1CisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjYzIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg2IHN5cy11dGlscy9kbWVzZy5jOjUyNAorIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjE5OCBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzEgc3lzLXV0aWxzL2ZzdHJpbS5jOjc3CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTE5IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjkzCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMzMgdGVybS11dGlscy9tZXNnLmM6MTI5IHRleHQtdXRpbHMvbW9yZS5jOjUwNAorIzogdGV4dC11dGlscy90YWlsZi5jOjEwMyB0ZXh0LXV0aWxzL3RhaWxmLmM6MjgwCisjLCBjLWZvcm1hdAorbXNnaWQgInN0YXQgb2YgJXMgZmFpbGVkIgorbXNnc3RyICJzdGF0ICVzIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNCBkaXNrLXV0aWxzL3BhcnR4LmM6OTkxIG1pc2MtdXRpbHMvbHNibGsuYzoxNDg1CisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4OCBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogbmllIGplc3QgdXJ6xIVkemVuaWVtIGJsb2tvd3ltIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI5Cittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgb2tyZcWbbGnEhyBha3R1YWxuZWdvIGZvcm1hdHUiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMtc2lkZWQsICVkIHRyYWNrcywgJWQgc2VjL3RyYWNrLiBUb3RhbCBjYXBhY2l0eSAlZCBrQi5cbiIKK21zZ3N0ciAiJXNzdHJvbm5lLCAlZCDFm2NpZcW8ZWssICVkIHNla3QuL8WbY2llxbxrxJkuIMWBxIVjem5hIHBvamVtbm/Fm8SHICVkIGtCLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMyCittc2dpZCAiRG91YmxlIgorbXNnc3RyICJEd3UiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzIKK21zZ2lkICJTaW5nbGUiCittc2dzdHIgIkplZG5vIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM5Cittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICLFm2NpZcW8a2EgcG9jesSFdGtvd2Egb2tyZcWbbG9uYSBwcnpleiB1xbx5dGtvd25pa2EgcHJ6ZWtyYWN6YSBtYWtzeW1hbG7EhSBkbGEgbm/Fm25pa2EiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDEKK21zZ2lkICJ1c2VyIGRlZmluZWQgZW5kIHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICLFm2NpZcW8a2Ega2/FhGNvd2Egb2tyZcWbbG9uYSBwcnpleiB1xbx5dGtvd25pa2EgcHJ6ZWtyYWN6YSBtYWtzeW1hbG7EhSBkbGEgbm/Fm25pa2EiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDMKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgdXNlciBkZWZpbmVkIGVuZCB0cmFjayIKK21zZ3N0ciAixZtjaWXFvGthIHBvY3rEhXRrb3dhIG9rcmXFm2xvbmEgcHJ6ZXogdcW8eXRrb3duaWthIHd5a3JhY3phIHBvemEga2/FhGNvd8SFIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjUxIG1pc2MtdXRpbHMvbG9nZ2VyLmM6OTg3Cittc2dpZCAiY2xvc2UgZmFpbGVkIgorbXNnc3RyICJ6YW1rbmnEmWNpZSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5NSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gcXVpdD8gIgorbXNnc3RyICIiCisiXG4iCisiQ3p5IG5hIHBld25vIHpha2/FhGN6ecSHIHByb2dyYW0/ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjE1OAorIywgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3QgKGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIld5YsOzciAoZG9tecWbbG5pZSAlYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjE2MworIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyBkZWZhdWx0IHJlc3BvbnNlICVjLiIKK21zZ3N0ciAiUHJ6eWrEmXRvIHdhcnRvxZvEhyBkb215xZtsbsSFICVjLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjE3NiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjUwIGRpc2stdXRpbHMvZmRpc2suYzozMjUKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTg5IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjc3Cittc2dpZCAiVmFsdWUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiV2FydG/Fm8SHIHNwb3phIHpha3Jlc3UuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCVzLCBkb215xZtsbmllICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA4IGRpc2stdXRpbHMvZmRpc2suYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCVzLCBkb215xZtsbmllICU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglYy0lYywgZG9tecWbbG5pZSAlYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIxNyBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+LCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIGRvbXnFm2xuaWUgJTxQUkl1NjQ+KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYyk6ICIKK21zZ3N0ciAiJXMgKCVjLSVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjIzIGRpc2stdXRpbHMvZmRpc2suYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MzkyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk3Cittc2dpZCAiIFtZXWVzL1tOXW86ICIKK21zZ3N0ciAiIFtUXWFrL1tOXWllOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0MzMKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSAodHlwZSBMIHRvIGxpc3QgYWxsIHR5cGVzKTogIgorbXNnc3RyICJUeXAgcGFydHljamkgKEwgd3nFm3dpZXRsYSBsaXN0xJkgd3N6eXN0a2ljaCB0eXDDs3cpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0MzQKK21zZ2lkICJIZXggY29kZSAodHlwZSBMIHRvIGxpc3QgYWxsIGNvZGVzKTogIgorbXNnc3RyICJLb2Qgc3plc25hc3Rrb3d5IChMIHd5xZt3aWV0bGEgbGlzdMSZIHdzenlzdGtpY2gga29kw7N3KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTM2Cittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBzZXQgKERFUFJFQ0FURUQhKSIKK21zZ3N0ciAiRmxhZ2Ega29tcGF0eWJpbG5vxZtjaSB6IERPUy1lbSBqZXN0IHVzdGF3aW9uYSAoUFJaRVNUQVJaQcWBRSEpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTM3Cittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBub3Qgc2V0IgorbXNnc3RyICJGbGFnYSBrb21wYXR5Ymlsbm/Fm2NpIHogRE9TLWVtIG5pZSBqZXN0IHVzdGF3aW9uYSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU1OCBkaXNrLXV0aWxzL2ZkaXNrLmM6NTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3QgZXhpc3QgeWV0ISIKK21zZ3N0ciAiUGFydHljamEgJXp1IGplc3pjemUgbmllIGlzdG5pZWplISIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU2MyBkaXNrLXV0aWxzL2ZkaXNrLmM6NTcyIGxpYmZkaXNrL3NyYy9hc2suYzo5OTUKK21zZ2lkICJVbmtub3duIgorbXNnc3RyICJOaWV6bmFueSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICclcycgdG8gJyVzJy4iCittc2dzdHIgIlptaWVuaW9ubyB0eXAgcGFydHljamkgJyVzJyBuYSAnJXMnLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU3NQorIywgYy1mb3JtYXQKK21zZ2lkICJUeXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkOiAlcy4iCittc2dzdHIgIlR5cCBwYXJ0eWNqaSAlenUgbmllIHpvc3RhxYIgem1pZW5pb255OiAlcy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTE1czogJXMiCittc2dzdHIgIiUxNXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlczogb2Zmc2V0ID0gJTxQUkl1NjQ+LCBzaXplID0gJXp1IGJ5dGVzLiIKK21zZ3N0ciAiIgorIlxuIgorIiVzOiBvZmZzZXQgPSAlPFBSSXU2ND4sIHJvem1pYXIgPSAlenUgYmFqdMOzdy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2NzcKK21zZ2lkICJjYW5ub3Qgc2VlayIKK21zZ3N0ciAibmllIG1vxbxuYSBwcnplbWllxZtjacSHIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjgyCittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgIm5pZSBtb8W8bmEgb2Rjenl0YcSHIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Njk1IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTkgbGliZmRpc2svc3JjL2Rvcy5jOjkzMworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMTAKK21zZ2lkICJGaXJzdCBzZWN0b3IiCittc2dzdHIgIlBpZXJ3c3p5IHNla3RvciIKKworIzogZGlzay11dGlscy9mZGlzay5jOjcyMgorIywgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcyIKK21zZ3N0ciAiaW9jdGwgQkxLR0VUU0laRSBuaWUgcG93acOzZMWCIHNpxJkgbmEgJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz4gICAgICBjaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisiICUxJHMgW29wdGlvbnNdIC1sIFs8ZGlzaz5dIGxpc3QgcGFydGl0aW9uIHRhYmxlKHMpXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbb3BjamVdIDxkeXNrPiAgICAgICB6bWlhbmEgdGFibGljeSBwYXJ0eWNqaVxuIgorIiAlMSRzIFtvcGNqZV0gLWwgWzxkeXNrPl0gIHd5cGlzYW5pZSB0YWJsaWN5L3RhYmxpYyBwYXJ0eWNqaVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzM5Cittc2dpZCAiIC1iLCAtLXNlY3Rvci1zaXplIDxzaXplPiAgICAgIHBoeXNpY2FsIGFuZCBsb2dpY2FsIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8cm96bWlhcj4gICByb3ptaWFyIHNla3RvcmEgZml6eWN6bmVnbyBpIGxvZ2ljem5lZ29cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MAorbXNnaWQgIiAtQiwgLS1wcm90ZWN0LWJvb3QgICAgICAgICAgICBkb24ndCBlcmFzZSBib290Yml0cyB3aGVuIGNyZWF0aW5nIGEgbmV3IGxhYmVsXG4iCittc2dzdHIgIiAtQiwgLS1wcm90ZWN0LWJvb3QgICAgICAgICAgICBiZXogdXN1d2FuaWEgYm9vdGJpdHMgcHJ6eSB0d29yemVuaXUgZXR5a2lldHlcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MQorbXNnaWQgIiAtYywgLS1jb21wYXRpYmlsaXR5Wz08bW9kZT5dICBtb2RlIGlzICdkb3MnIG9yICdub25kb3MnIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWMsIC0tY29tcGF0aWJpbGl0eVs9PHRyeWI+XSAgdHJ5YiB6Z29kbm/Fm2NpOiAnZG9zJyBsdWIgJ25vbmRvcycgKGRvbXnFm2xueSlcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MgorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08a2llZHk+XSAgICAgICAgIGtvbG9yb3dhbmllIHd5asWbY2lhIChhdXRvLCBhbHdheXMgbHViIG5ldmVyKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ1Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgcGFydGl0aW9ucyBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgd3nFm3dpZXRsZW5pZSBwYXJ0eWNqaSBpIHpha2/FhGN6ZW5pZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ2Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RhPiAgICAgICAgICBrb2x1bW55IGRvIHd5cGlzYW5pYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ3Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgICAgICAgICAgIHJlY29nbml6ZSBzcGVjaWZpZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUgb25seVxuIgorbXNnc3RyICIgLXQsIC0tdHlwZSA8dHlwPiAgICAgICAgICAgICAgcm96cG96bmFuaWUgdHlsa28gcG9kYW5lZ28gdHlwdSB0YWJsaWN5IHBhcnR5Y2ppXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDgKK21zZ2lkICIgLXUsIC0tdW5pdHNbPTx1bml0Pl0gICAgICAgICAgZGlzcGxheSB1bml0czogJ2N5bGluZGVycycgb3IgJ3NlY3RvcnMnIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXUsIC0tdW5pdHNbPTxqZWRub3N0a2E+XSAgICBqZWRub3N0a2kgd3nFm3dpZXRsYW5pYTogJ2N5bGluZGVycycgbHViICdzZWN0b3JzJyAoZG9tecWbbG5lKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ5Cittc2dpZCAiIC1zLCAtLWdldHN6ICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgZGV2aWNlIHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9ycyBbREVQUkVDQVRFRF1cbiIKK21zZ3N0ciAiIC1zLCAtLWdldHN6ICAgICAgICAgICAgICAgICAgIHBvZGFuaWUgcm96bWlhcnUgdXJ6xIVkemVuaWEgdyBzZWt0b3JhY2ggNTEyYiBbUFJaRVNUQVJaQcWBRV1cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1MAorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIHd5cGlzeXdhbmllIHJvem1pYXLDs3cgdyBiYWp0YWNoIHphbWlhc3QgZm9ybWF0dVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjenl0ZWxuZWdvIGRsYSBjesWCb3dpZWthXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTEKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtdywgLS13aXBlIDx0cnliPiAgICAgICAgICAgICB3eW1henl3YW5pZSBzeWduYXR1ciAoYXV0bywgYWx3YXlzIGx1YiBuZXZlcilcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTMKK21zZ2lkICIgLVcsIC0td2lwZS1wYXJ0aXRpb25zIDxtb2RlPiAgd2lwZSBzaWduYXR1cmVzIGZyb20gbmV3IHBhcnRpdGlvbnMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1XLCAtLXdpcGUtcGFydGl0aW9ucyA8dHJ5Yj4gIHd5bWF6eXdhbmllIHN5Z25hdHVyIHogbm93eWNoIHBhcnR5Y2ppIChhdXRvLCBhbHdheXMgbHViIG5ldmVyKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU1Cittc2dpZCAiIC1DLCAtLWN5bGluZGVycyA8bnVtYmVyPiAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBjeWxpbmRlcnNcbiIKK21zZ3N0ciAiIC1DLCAtLWN5bGluZGVycyA8bGljemJhPiAgICAgIG9rcmXFm2xlbmllIGxpY3pieSBjeWxpbmRyw7N3XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTYKK21zZ2lkICIgLUgsIC0taGVhZHMgPG51bWJlcj4gICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGhlYWRzXG4iCittc2dzdHIgIiAtSCwgLS1oZWFkcyA8bGljemJhPiAgICAgICAgICBva3JlxZtsZW5pZSBsaWN6YnkgZ8WCb3dpY1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU3Cittc2dpZCAiIC1TLCAtLXNlY3RvcnMgPG51bWJlcj4gICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFja1xuIgorbXNnc3RyICIgLVMsIC0tc2VjdG9ycyA8bGljemJhPiAgICAgICAgb2tyZcWbbGVuaWUgbGljemJ5IHNla3RvcsOzdyBuYSDFm2NpZcW8Y2VcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOAorbXNnaWQgImludmFsaWQgc2VjdG9yIHNpemUgYXJndW1lbnQiCittc2dzdHIgImLFgsSZZG5hIHdhcnRvxZvEhyByb3ptaWFydSBzZWt0b3JhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODQwCittc2dpZCAiaW52YWxpZCBjeWxpbmRlcnMgYXJndW1lbnQiCittc2dzdHIgImLFgsSZZG5hIGxpY3piYSBjeWxpbmRyw7N3IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODUyCittc2dpZCAibm90IGZvdW5kIERPUyBsYWJlbCBkcml2ZXIiCittc2dzdHIgIm5pZSB6bmFsZXppb25vIHN0ZXJvd25pa2EgZXR5a2lldCBET1MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb21wYXRpYmlsaXR5IG1vZGUgJyVzJyIKK21zZ3N0ciAibmllem5hbnkgdHJ5YiB6Z29kbm/Fm2NpICclcyciCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NjcKK21zZ2lkICJpbnZhbGlkIGhlYWRzIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSBsaWN6YmEgZ8WCb3dpYyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg3MworbXNnaWQgImludmFsaWQgc2VjdG9ycyBhcmd1bWVudCIKK21zZ3N0ciAiYsWCxJlkbmEgbGljemJhIHNla3RvcsOzdyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg5OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNrbGFiZWw6ICVzIgorbXNnc3RyICJuaWUgb2JzxYJ1Z2l3YW5hIGV0eWtpZXRhIGR5c2t1OiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkxNiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTIxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0MQorIzogZGlzay11dGlscy9zZmRpc2suYzoyMDQ2Cittc2dpZCAidW5zdXBwb3J0ZWQgd2lwZSBtb2RlIgorbXNnc3RyICJuaWUgb2JzxYJ1Z2l3YW55IHRyeWIgd3ltYXp5d2FuaWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MzQKK21zZ2lkICJUaGUgZGV2aWNlIHByb3BlcnRpZXMgKHNlY3RvciBzaXplIGFuZCBnZW9tZXRyeSkgc2hvdWxkIGJlIHVzZWQgd2l0aCBvbmUgc3BlY2lmaWVkIGRldmljZSBvbmx5LiIKK21zZ3N0ciAiV8WCYcWbY2l3b8WbY2kgdXJ6xIVkemVuaWEgKHJvem1pYXIgc2VrdG9yYSBpIGdlb21ldHJpYSkgcG93aW5ueSBiecSHIHXFvHl3YW5lIHR5bGtvIHogamVkbnltIG9rcmXFm2xvbnltIHVyesSFZHplbmllbS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VsY29tZSB0byBmZGlzayAoJXMpLiIKK21zZ3N0ciAiV2l0YW15IHcgcHJvZ3JhbWllIGZkaXNrICglcykuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4OAorbXNnaWQgIiIKKyJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisiQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKyJabWlhbnkgcG96b3N0YW7EhSB0eWxrbyB3IHBhbWnEmWNpIGRvIGNod2lsaSBpY2ggemFwaXNhbmlhLlxuIgorIlByemVkIHXFvHljaWVtIHBvbGVjZW5pYSB6YXBpc3UgcHJvc2lteSBvIG9zdHJvxbxub8WbxIcuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYxMworIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJXMgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIlVyesSFZHplbmllICVzIHphd2llcmEganXFvCBzeWduYXR1csSZICVzLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMTAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTQyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ4NAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNjIyCittc2dpZCAiVGhlIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiVGEgc3lnbmF0dXJhIGLEmWR6aWUgdXN1bmnEmXRhIHByenkgcG9sZWNlbml1IHphcGlzdS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDEzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyNQorbXNnaWQgIkl0IGlzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSwgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4iCittc2dzdHIgIlpkZWN5ZG93YW5pZSB6YWxlY2Egc2nEmSB3eW1hemHEhyB1cnrEhWR6ZW5pZSBwcnp5IHXFvHljaXUgd2lwZWZzKDgpLCBhYnkgdW5pa27EhcSHIG1vxbxsaXd5Y2gga29saXpqaS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDIyCittc2dpZCAiQSBoeWJyaWQgR1BUIHdhcyBkZXRlY3RlZC4gWW91IGhhdmUgdG8gc3luYyB0aGUgaHlicmlkIE1CUiBtYW51YWxseSAoZXhwZXJ0IGNvbW1hbmQgJ00nKS4iCittc2dzdHIgIld5a3J5dG8gaHlicnlkb3dlIEdQVC4gVHJ6ZWJhIHpzeW5jaHJvbml6b3dhxIcgaHlicnlkb3d5IE1CUiByxJljem5pZSAocG9sZWNlbmllIGVrc3BlcnRhICdNJykuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiRHlzayAlczogJXMsIGJhanTDs3c6ICVqdSwgc2VrdG9yw7N3OiAlanUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlb21ldHJ5OiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzL3RyYWNrLCAlbGx1IGN5bGluZGVycyIKK21zZ3N0ciAiR2VvbWV0cmlhOiBnxYJvd2ljOiAlZCwgc2VrdG9yw7N3L8WbY2llxbxrxJk6ICVsbHUsIGN5bGluZHLDs3c6ICVsbHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjU5IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICJVbml0czogJXMgb2YgJWQgKiAlbGQgPSAlbGQgYnl0ZXMiCittc2dzdHIgIkplZG5vc3RraTogJXMsIGN6eWxpICVkICogJWxkID0gJWxkIGJhanTDs3ciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY1IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiUm96bWlhciBzZWt0b3JhIChsb2dpY3pueS9maXp5Y3pueSkgdyBiYWp0YWNoOiAlbHUgLyAlbHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkkvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIlJvem1pYXIgd2Uvd3kgKG1pbmltYWxueS9vcHR5bWFsbnkpIHcgYmFqdGFjaDogJWx1IC8gJWx1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3MgorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbm1lbnQgb2Zmc2V0OiAlbHUgYnl0ZXMiCittc2dzdHIgIld5csOzd25hbmllIHcgYmFqdGFjaDogJWx1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgdHlwZTogJXMiCittc2dzdHIgIlR5cCBldHlraWV0eSBkeXNrdTogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIklkZW50eWZpa2F0b3IgZHlza3U6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMDkgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjE5CisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjQ0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6eWR6aWVsacSHIGl0ZXJhdG9yYSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTE1IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyNQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnp5ZHppZWxpxIcgdGFiZWxpIHd5asWbY2lvd2VqIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxNTYgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjQ5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBsaW5lIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgemFpbmljam93YcSHIGxpbmlpIHd5asWbY2lvd2VqIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBzdGFydCBvbiBwaHlzaWNhbCBzZWN0b3IgYm91bmRhcnkuIgorbXNnc3RyICJQYXJ0eWNqYSAlenUgbmllIHphY3p5bmEgc2nEmSBuYSBncmFuaWN5IHNla3RvcmEgZml6eWN6bmVnby4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE5MgorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4iCittc2dzdHIgIldwaXN5IHcgdGFibGljeSBwYXJ0eWNqaSBuaWUgc8SFIHcgdGVqIGtvbGVqbm/Fm2NpLCBjbyBuYSBkeXNrdS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNSBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMAorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTIgbGliZmRpc2svc3JjL3NnaS5jOjExNTQgbGliZmRpc2svc3JjL3N1bi5jOjExMTAKK21zZ2lkICJTdGFydCIKK21zZ3N0ciAiUG9jesSFdGVrIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTYgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDEKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTEzIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU1IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTExCittc2dpZCAiRW5kIgorbXNnc3RyICJLb25pZWMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNyBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMgorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTQgbGliZmRpc2svc3JjL3NnaS5jOjExNTYgbGliZmRpc2svc3JjL3N1bi5jOjExMTIKK21zZ2lkICJTZWN0b3JzIgorbXNnc3RyICJTZWt0b3J5IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTkgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDQKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE1IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU4IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE0Cittc2dpZCAiU2l6ZSIKK21zZ3N0ciAiUm96bWlhciIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVucGFydGl0aW9uZWQgc3BhY2UgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICJNaWVqc2NlIG5pZXNwYXJ0eWNqb25vd2FuZSAlczogJXMsIGJhanTDs3c6ICVqdSwgc2VrdG9yw7N3OiAlanUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQxMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtbyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJEb3N0xJlwbmUga29sdW1ueSAoZGxhIC1vKTpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAibmllem5hbmEga29sdW1uYSAlczogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk1Cittc2dpZCAiR2VuZXJpYyIKK21zZ3N0ciAiT2fDs2xuZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTYKK21zZ2lkICJkZWxldGUgYSBwYXJ0aXRpb24iCittc2dzdHIgInVzdW5pxJljaWUgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk3Cittc2dpZCAibGlzdCBmcmVlIHVucGFydGl0aW9uZWQgc3BhY2UiCittc2dzdHIgInd5cGlzYW5pZSB3b2xuZWdvLCBuaWVzcGFydHljam9ub3dhbmVnbyBtaWVqc2NhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OAorbXNnaWQgImxpc3Qga25vd24gcGFydGl0aW9uIHR5cGVzIgorbXNnc3RyICJ3eXBpc2FuaWUgem5hbnljaCB0eXDDs3cgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5Cittc2dpZCAiYWRkIGEgbmV3IHBhcnRpdGlvbiIKK21zZ3N0ciAiZG9kYW5pZSBub3dlaiBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAwCittc2dpZCAicHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAid3lwaXNhbmllIHRhYmxpY3kgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMQorbXNnaWQgImNoYW5nZSBhIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJ6bWlhbmEgdHlwdSBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAyCittc2dpZCAidmVyaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIndlcnlmaWthY2phIHRhYmxpY3kgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMworbXNnaWQgInByaW50IGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICJ3eXBpc2FuaWUgaW5mb3JtYWNqaSBvIHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGZpcnN0IHNlY3RvciBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgInd5cGlzYW5pZSBzdXJvd3ljaCBkYW55Y2ggcGllcndzemVnbyBzZWt0b3JhIHVyesSFZHplbmlhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDYKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGRpc2tsYWJlbCBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgInd5cGlzYW5pZSBzdXJvd3ljaCBkYW55Y2ggZXR5a2lldHkgZHlza3UgdXJ6xIVkemVuaWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNworbXNnaWQgImZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICJwb3ByYXdpZW5pZSBrb2xlam5vxZtjaSBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA5Cittc2dpZCAiTWlzYyIKK21zZ3N0ciAiUsOzxbxuZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEwCittc2dpZCAicHJpbnQgdGhpcyBtZW51IgorbXNnc3RyICJ3ecWbd2lldGxlbmllIHRlZ28gbWVudSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTExCittc2dpZCAiY2hhbmdlIGRpc3BsYXkvZW50cnkgdW5pdHMiCittc2dzdHIgInptaWFuYSBqZWRub3N0ZWsgd3nFm3dpZXRsYW5pYS93cHJvd2FkemFuaWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMgorbXNnaWQgImV4dHJhIGZ1bmN0aW9uYWxpdHkgKGV4cGVydHMgb25seSkiCittc2dzdHIgImRvZGF0a293ZSBmdW5rY2plICh0eWxrbyBkbGEgZWtzcGVydMOzdykiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNAorbXNnaWQgIlNjcmlwdCIKK21zZ3N0ciAiU2tyeXB0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTUKK21zZ2lkICJsb2FkIGRpc2sgbGF5b3V0IGZyb20gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICJ3Y3p5dGFuaWUgdWvFgmFkdSBkeXNrdSB6IHBsaWt1IHNrcnlwdHUgc2ZkaXNrYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE2Cittc2dpZCAiZHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgInpyenV0IHVrxYJhZHUgZHlza3UgZG8gcGxpa3Ugc2tyeXB0dSBzZmRpc2thIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTgKK21zZ2lkICJTYXZlICYgRXhpdCIKK21zZ3N0ciAiWmFwaXMgaSB6YWtvxYRjemVuaWUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOQorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXQiCittc2dzdHIgInphcGlzIHRhYmxpY3kgcGFydHljamkgbmEgZHlzayBpIHpha2/FhGN6ZW5pZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIwCittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayIKK21zZ3N0ciAiemFwaXNhbmllIHRhYmxpY3kgbmEgZHlzayIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIxCittc2dpZCAicXVpdCB3aXRob3V0IHNhdmluZyBjaGFuZ2VzIgorbXNnc3RyICJ6YWtvxYRjemVuaWUgYmV6IHphcGlzeXdhbmlhIHptaWFuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjIKK21zZ2lkICJyZXR1cm4gdG8gbWFpbiBtZW51IgorbXNnc3RyICJwb3dyw7N0IGRvIGfFgsOzd25lZ28gbWVudSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTI0Cittc2dpZCAicmV0dXJuIGZyb20gQlNEIHRvIERPUyIKK21zZ3N0ciAicG93csOzdCB6IEJTRCBkbyBET1MtYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM1Cittc2dpZCAiQ3JlYXRlIGEgbmV3IGxhYmVsIgorbXNnc3RyICJVdHdvcnplbmllIG5vd2VqIGV0eWtpZXR5IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzYKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgR1BUIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidXR3b3J6ZW5pZSBub3dlaiwgcHVzdGVqIHRhYmxpY3kgcGFydHljamkgR1BUIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzcKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU0dJIChJUklYKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInV0d29yemVuaWUgbm93ZWosIHB1c3RlaiB0YWJsaWN5IHBhcnR5Y2ppIFNHSSAoSVJJWCkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOAorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJ1dHdvcnplbmllIG5vd2VqLCBwdXN0ZWogRE9TLW93ZWogdGFibGljeSBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFN1biBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInV0d29yemVuaWUgbm93ZWosIHB1c3RlaiB0YWJsaWN5IHBhcnR5Y2ppIHR5cHUgU3VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDMKK21zZ2lkICJjcmVhdGUgYW4gSVJJWCAoU0dJKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInV0d29yemVuaWUgdGFibGljeSBwYXJ0eWNqaSB0eXB1IElSSVggKFNHSSkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1MgorbXNnaWQgIkdlb21ldHJ5IgorbXNnc3RyICJHZW9tZXRyaWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1MworbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICJ6bWlhbmEgbGljemJ5IGN5bGluZHLDs3ciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NAorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgaGVhZHMiCittc2dzdHIgInptaWFuYSBsaWN6YnkgZ8WCb3dpYyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU1Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrIgorbXNnc3RyICJ6bWlhbmEgbGljemJ5IHNla3RvcsOzdyBuYSDFm2NpZcW8a8SZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjQgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTUKK21zZ2lkICJHUFQiCittc2dzdHIgIkdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY1Cittc2dpZCAiY2hhbmdlIGRpc2sgR1VJRCIKK21zZ3N0ciAiem1pYW5hIEdVSUQtYSBkeXNrdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY2Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJ6bWlhbmEgbmF6d3kgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NworbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiem1pYW5hIFVVSUQtYSBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY4Cittc2dpZCAiY2hhbmdlIHRhYmxlIGxlbmd0aCIKK21zZ3N0ciAiem1pYW5hIGTFgnVnb8WbY2kgdGFibGljeSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY5Cittc2dpZCAiZW50ZXIgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIgorbXNnc3RyICJ3ZWrFm2NpZSB3IG9jaHJvbm55L2h5YnJ5ZG93eSBNQlIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MgorbXNnaWQgInRvZ2dsZSB0aGUgbGVnYWN5IEJJT1MgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiem1pYW5hIGZsYWdpIHJvenJ1Y2h1IHRyYWR5Y3lqbmVnbyBCSU9TLXUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MworbXNnaWQgInRvZ2dsZSB0aGUgbm8gYmxvY2sgSU8gcHJvdG9jb2wgZmxhZyIKK21zZ3N0ciAiem1pYW5hIGZsYWdpIGJyYWt1IHByb3Rva2/FgnUgYmxva293ZWdvIHdlL3d5IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzQKK21zZ2lkICJ0b2dnbGUgdGhlIHJlcXVpcmVkIHBhcnRpdGlvbiBmbGFnIgorbXNnc3RyICJ6bWlhbmEgZmxhZ2kgd3ltYWdhbmVqIHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzUKK21zZ2lkICJ0b2dnbGUgdGhlIEdVSUQgc3BlY2lmaWMgYml0cyIKK21zZ3N0ciAiem1pYW5hIGJpdMOzdyBzcGVjeWZpY3pueWNoIGRsYSBHVUlELWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NQorbXNnaWQgIlN1biIKK21zZ3N0ciAiU3VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODYKK21zZ2lkICJ0b2dnbGUgdGhlIHJlYWQtb25seSBmbGFnIgorbXNnc3RyICJ6bWlhbmEgZmxhZ2kgXCJ0eWxrbyBkbyBvZGN6eXR1XCIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NworbXNnaWQgInRvZ2dsZSB0aGUgbW91bnRhYmxlIGZsYWciCittc2dzdHIgInptaWFuYSBmbGFnaSBtb250b3dhbG5vxZtjaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJ6bWlhbmEgbGljemJ5IHptaWVubnljaCBjeWxpbmRyw7N3IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTAKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJ6bWlhbmEgbGljemJ5IGRvZGF0a293eWNoIHNla3RvcsOzdyBuYSBjeWxpbmRlciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkxCittc2dpZCAiY2hhbmdlIGludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICJ6bWlhbmEgd3Nww7PFgmN6eW5uaWthIHByemVwbG90dSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkyCittc2dpZCAiY2hhbmdlIHJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICJ6bWlhbmEgcHLEmWRrb8WbY2kgb2Jyb3Rvd2VqIChvYnIuL21pbikiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MworbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJ6bWlhbmEgbGljemJ5IGZpenljem55Y2ggY3lsaW5kcsOzdyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjAyCittc2dpZCAiU0dJIgorbXNnc3RyICJTR0kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwMworbXNnaWQgInNlbGVjdCBib290YWJsZSBwYXJ0aXRpb24iCittc2dzdHIgInd5YsOzciBwYXJ0eWNqaSByb3pydWNob3dlaiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA0Cittc2dpZCAiZWRpdCBib290ZmlsZSBlbnRyeSIKK21zZ3N0ciAiZWR5Y2phIHdwaXN1IHBsaWt1IHJvenJ1Y2hvd2VnbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA1Cittc2dpZCAic2VsZWN0IHNnaSBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAid3liw7NyIHBhcnR5Y2ppIHd5bWlhbnkgU0dJIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDYKK21zZ2lkICJjcmVhdGUgU0dJIGluZm8iCittc2dzdHIgInV0d29yemVuaWUgaW5mb3JtYWNqaSBTR0kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNQorbXNnaWQgIkRPUyAoTUJSKSIKK21zZ3N0ciAiRE9TIChNQlIpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTYKK21zZ2lkICJ0b2dnbGUgYSBib290YWJsZSBmbGFnIgorbXNnc3RyICJ6bWlhbmEgZmxhZ2kgcm96cnVjaHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNworbXNnaWQgImVkaXQgbmVzdGVkIEJTRCBkaXNrbGFiZWwiCittc2dzdHIgIm1vZHlmaWthY2phIHphZ25pZcW8ZMW8b25laiBldHlraWV0eSBkeXNrdSBCU0QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxOAorbXNnaWQgInRvZ2dsZSB0aGUgZG9zIGNvbXBhdGliaWxpdHkgZmxhZyIKK21zZ3N0ciAiem1pYW5hIGZsYWdpIGtvbXBhdHliaWxub8WbY2kgeiBET1MtZW0iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMAorbXNnaWQgIm1vdmUgYmVnaW5uaW5nIG9mIGRhdGEgaW4gYSBwYXJ0aXRpb24iCittc2dzdHIgInByemVzdW5pxJljaWUgcG9jesSFdGt1IGRhbnljaCBuYSBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIxCittc2dpZCAiY2hhbmdlIHRoZSBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgInptaWFuYSBpZGVudHlmaWthdG9yYSBkeXNrdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIzCittc2dpZCAicmV0dXJuIGZyb20gcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIHRvIEdQVCIKK21zZ3N0ciAicG93csOzdCB6IG9jaHJvbm5lZ28vaHlicnlkb3dlZ28gTUJSIGRvIEdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjMzCittc2dpZCAiQlNEIgorbXNnc3RyICJCU0QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNAorbXNnaWQgImVkaXQgZHJpdmUgZGF0YSIKK21zZ3N0ciAiZWR5Y2phIGRhbnljaCB1cnrEhWR6ZW5pYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM1Cittc2dpZCAiaW5zdGFsbCBib290c3RyYXAiCittc2dzdHIgInphaW5zdGFsb3dhbmllIGtvZHUgcm96cnVjaG93ZWdvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzYKK21zZ2lkICJzaG93IGNvbXBsZXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAid3lwaXNhbmllIGNhxYJlaiBldHlraWV0eSBkeXNrdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM3Cittc2dpZCAibGluayBCU0QgcGFydGl0aW9uIHRvIG5vbi1CU0QgcGFydGl0aW9uIgorbXNnc3RyICJwb8WCxIVjemVuaWUgcGFydHljamkgQlNEIHogcGFydHljasSFIG5pZS1CU0QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscCAoZXhwZXJ0IGNvbW1hbmRzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBvbW9jIChwb2xlY2VuaWEgZWtzcGVydGEpOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzEgZGlzay11dGlscy9zZmRpc2suYzoxMjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwOlxuIgorbXNnc3RyICIiCisiXG4iCisiUG9tb2M6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UncmUgZWRpdGluZyBuZXN0ZWQgJyVzJyBwYXJ0aXRpb24gdGFibGUsIHByaW1hcnkgcGFydGl0aW9uIHRhYmxlIGlzICclcycuIgorbXNnc3RyICJUcndhIG1vZHlmaWtvd2FuaWUgemFnbmllxbxkxbxvbmVqIHRhYmxpY3kgcGFydHljamkgJyVzJywgZ8WCw7N3bmEgdGFibGljYSB0byAnJXMnLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDIxCittc2dpZCAiRXhwZXJ0IGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIlBvbGVjZW5pZSBla3NwZXJ0YSAobSB3ecWbd2lldGxhIHBvbW9jKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjMKK21zZ2lkICJDb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJQb2xlY2VuaWUgKG0gd3nFm3dpZXRsYSBwb21vYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVjOiB1bmtub3duIGNvbW1hbmQiCittc2dzdHIgIiVjOiBuaWV6bmFuZSBwb2xlY2VuaWUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ1OCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODUKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lIgorbXNnc3RyICJOYXp3YSBwbGlrdSBza3J5cHR1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NzEKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IGFwcGxpZWQuIgorbXNnc3RyICJTa3J5cHQgem9zdGHFgiBwb3ByYXduaWUgbmFuaWVzaW9ueS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ5NworbXNnaWQgIkZhaWxlZCB0byB0cmFuc2Zvcm0gZGlzayBsYXlvdXQgaW50byBzY3JpcHQiCittc2dzdHIgIk5pZSB1ZGHFgm8gc2nEmSBwcnpla3N6dGHFgmNpxIcgdWvFgmFkdSBkeXNrdSBkbyBza3J5cHR1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTEKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IHNhdmVkLiIKK21zZ3N0ciAiU2tyeXB0IHpvc3RhxYIgcG9wcmF3bmllIHphcGlzYW55LiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTM0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ3NgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIlBhcnR5Y2phICMlenUgemF3aWVyYSBzeWduYXR1csSZICVzLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTM3IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ3OQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgc2lnbmF0dXJlPyIKK21zZ3N0ciAiQ3p5IHVzdW7EhcSHIHN5Z25hdHVyxJk/IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzUKK21zZ2lkICJmYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgemFwaXNhxIcgZXR5a2lldHkgZHlza3UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYxMworbXNnaWQgIkZhaWxlZCB0byBmaXggcGFydGl0aW9ucyBvcmRlci4iCittc2dzdHIgIk5pZSB1ZGHFgm8gc2nEmSBwb3ByYXdpxIcga29sZWpub8WbY2kgcGFydHljamkuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MTUKK21zZ2lkICJQYXJ0aXRpb25zIG9yZGVyIGZpeGVkLiIKK21zZ3N0ciAiUG9wcmF3aW9ubyBrb2xlam5vxZvEhyBwYXJ0eWNqaS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIk5pZSB1ZGHFgm8gc2nEmSB1c3VuxIXEhyBwYXJ0eWNqaSAlenUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY2MAorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gY3lsaW5kZXJzIChERVBSRUNBVEVEISkuIgorbXNnc3RyICJabWlhbmEgamVkbm9zdGVrIHd5xZt3aWV0bGFuaWEvd3Byb3dhZHphbmlhIG5hIGN5bGluZHJ5IChQUlpFU1RBUlpBxYFFISkuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjIKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIHNlY3RvcnMuIgorbXNnc3RyICJabWlhbmEgamVkbm9zdGVrIHd5xZt3aWV0bGFuaWEvd3Byb3dhZHphbmlhIG5hIHNla3RvcnkuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NzIgZGlzay11dGlscy9mZGlzay1tZW51LmM6ODQyCittc2dpZCAiTGVhdmluZyBuZXN0ZWQgZGlza2xhYmVsLiIKK21zZ3N0ciAiUG96b3N0YXdpb25vIHphZ25pZcW8ZMW8b27EhSBldHlraWV0xJkgZHlza3UuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MDkKK21zZ2lkICJOZXcgbWF4aW11bSBlbnRyaWVzIgorbXNnc3RyICJOb3dhIG1ha3N5bWFsbmEgbGljemJhIHdwaXPDs3ciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjcxOQorbXNnaWQgIkVudGVyaW5nIHByb3RlY3RpdmUvaHlicmlkIE1CUiBkaXNrbGFiZWwuIgorbXNnc3RyICJXZWrFm2NpZSB3IG9jaHJvbm7EhS9oeWJyeWRvd8SFIGV0eWtpZXTEmSBkeXNrdSBNQlIuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MzUKK21zZ2lkICJOZXcgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICJOb3d5IFVVSUQgKHcgZm9ybWFjaWUgOC00LTQtNC0xMikiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc1MAorbXNnaWQgIk5ldyBuYW1lIgorbXNnc3RyICJOb3dhIG5hendhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4MTMKK21zZ2lkICJFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIldlasWbY2llIHcgemFnbmllxbxkxbxvbsSFIGV0eWtpZXTEmSBkeXNrdSBCU0QuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OTgKK21zZ2lkICJOdW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICJMaWN6YmEgY3lsaW5kcsOzdyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAwMgorbXNnaWQgIk51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAiTGljemJhIGfFgm93aWMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMDYKK21zZ2lkICJOdW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAiTGljemJhIHNla3RvcsOzdyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgamVzdCB6YW1vbnRvd2FueVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgbmllIGplc3QgemFtb250b3dhbnlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMxIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzQKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1MyBkaXNrLXV0aWxzL3NmZGlzay5jOjI5NyBsaWJmZGlzay9zcmMvYnNkLmM6NjQ2CisjOiBsaWIvcGF0aC5jOjExMCBsaWIvcGF0aC5jOjEzMSBsaWIvcGF0aC5jOjE1MiBsaWIvcGF0aC5jOjIwMAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIxMyBsb2dpbi11dGlscy9sYXN0LmM6MjUwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo2NjQKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjM5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjcxNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgJXMiCittc2dzdHIgIm5pZSBtb8W8bmEgb2Rjenl0YcSHICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMzMgbGliL3BhdGguYzoxMzMgbGliL3BhdGguYzoxNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFyc2UgZXJyb3I6ICVzIgorbXNnc3RyICJixYLEhWQgc2vFgmFkbmk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgJXMiCittc2dzdHIgIm5pZSBtb8W8bmEgdXR3b3J6ecSHIGthdGFsb2d1ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9ja2luZyBkaXNrIGJ5ICVzIC4uLiAiCittc2dzdHIgIkJsb2tvd2FuaWUgZHlza3UgcGxpa2llbSAlcy4uLiAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICIod2FpdGluZykgIgorbXNnc3RyICIob2N6ZWtpd2FuaWUpICIKKworIy4gVFJBTlNMQVRPUlM6IFRoZXNlIGFyZSBmb2xsb3d1cHMgdG8gIkxvY2tpbmcgZGlzay4uLiIuCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTQKK21zZ2lkICJzdWNjZWVkZWQiCittc2dzdHIgInBvd2lvZMWCbyBzacSZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTQKK21zZ2lkICJmYWlsZWQiCittc2dzdHIgIm5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDEyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVubG9ja2luZyAlcy5cbiIKK21zZ3N0ciAiT2RibG9rb3d5d2FuaWUgJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0dXAgZGVzY3JpcHRpb24gZm9yICVzIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgdXN0YXdpxIcgb3Bpc3UgZGxhICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NzQgbWlzYy11dGlscy9maW5kbW50LmM6NzgyIG1pc2MtdXRpbHMvbHNibGsuYzo0MzMKKyM6IHN5cy11dGlscy9tb3VudC5jOjEwMiBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjE5IHN5cy11dGlscy91bW91bnQuYzo0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogYsWCxIVkIHNrxYJhZG5pIHcgbGluaWkgJWQgLSB6aWdub3Jvd2FubyIKKworIzogZGlzay11dGlscy9mc2NrLmM6NTA2IGRpc2stdXRpbHMvZnNjay5jOjUwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIGZzdGFiIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyBwbGlrdSBmc3RhYiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njc5IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTY4IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDM0CisjOiBsb2dpbi11dGlscy92aXB3LmM6MjA0IHN5cy11dGlscy9mbG9jay5jOjM0NSBzeXMtdXRpbHMvbnNlbnRlci5jOjE1MworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxNiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIxOSBzeXMtdXRpbHMvdW5zaGFyZS5jOjQyMAorIzogdGVybS11dGlscy9zY3JpcHQuYzo3ODAKK21zZ2lkICJmb3JrIGZhaWxlZCIKK21zZ3N0ciAid3l3b8WCYW5pZSBmb3JrIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHVydWNob21pZW5pZSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc3NAorbXNnaWQgIndhaXQ6IG5vIG1vcmUgY2hpbGQgcHJvY2Vzcz8hPyIKK21zZ3N0ciAid2FpdDogYnJhayBwcm9jZXN1IHBvdG9tbmVnbz8hPyIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzc3IHN5cy11dGlscy9mbG9jay5jOjM2MyBzeXMtdXRpbHMvc3dhcG9uLmM6MzQ4CisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQwNCBzeXMtdXRpbHMvdW5zaGFyZS5jOjQyNQorbXNnaWQgIndhaXRwaWQgZmFpbGVkIgorbXNnc3RyICJ3eXdvxYJhbmllIHdhaXRwaWQgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZy4uLiAlcyBmb3IgZGV2aWNlICVzIGV4aXRlZCB3aXRoIHNpZ25hbCAlZC4iCittc2dzdHIgIlV3YWdhLi4uICVzIGRsYSB1cnrEhWR6ZW5pYSAlcyB6YWtvxYRjem9uZSBzeWduYcWCZW0gJWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXM6IHN0YXR1cyBpcyAleCwgc2hvdWxkIG5ldmVyIGhhcHBlbi4iCittc2dzdHIgIiVzICVzOiBzdGF0dXMgdG8gJXgsIHRvIG5pZSBwb3dpbm5vIHNpxJkgbmlnZHkgemRhcnp5xIcuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluaXNoZWQgd2l0aCAlcyAoZXhpdCBzdGF0dXMgJWQpXG4iCittc2dzdHIgIlpha2/FhGN6b25vICVzIChrb2Qgd3lqxZtjaWEgJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjkyNQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciAlZCAoJW0pIHdoaWxlIGV4ZWN1dGluZyBmc2NrLiVzIGZvciAlcyIKK21zZ3N0ciAiYsWCxIVkICVkICglbSkgcG9kY3phcyB3eXdvxYJ5d2FuaWEgZnNjay4lcyBkbGEgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjk5MQorbXNnaWQgIiIKKyJFaXRoZXIgYWxsIG9yIG5vbmUgb2YgdGhlIGZpbGVzeXN0ZW0gdHlwZXMgcGFzc2VkIHRvIC10IG11c3QgYmUgcHJlZml4ZWRcbiIKKyJ3aXRoICdubycgb3IgJyEnLiIKK21zZ3N0ciAiIgorIkFsYm8gd3N6eXN0a2llLCBhbGJvIMW8YWRlbiB6IHR5cMOzdyBwcnpla2F6YW55Y2ggb3BjamkgLXQgbXVzaSBiecSHXG4iCisicG9wcnplZHpvbnkgJ25vJyBsdWIgJyEnLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgYmFkIGxpbmUgaW4gL2V0Yy9mc3RhYjogYmluZCBtb3VudCB3aXRoIG5vbnplcm8gZnNjayBwYXNzIG51bWJlciIKK21zZ3N0ciAiJXM6IHBvbWluacSZdG8gYsWCxJlkbsSFIGxpbmnEmSB3IC9ldGMvZnN0YWI6IG1vbnRvd2FuaWUgdHlwdSBiaW5kIHogbmllemVyb3d5bSBudW1lcmVtIHByemViaWVndSBmc2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBub25leGlzdGVudCBkZXZpY2VcbiIKK21zZ3N0ciAiJXM6IHBvbWluacSZdG8gbmllaXN0bmllasSFY2UgdXJ6xIVkemVuaWVcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9uZXhpc3RlbnQgZGV2aWNlIChcIm5vZmFpbFwiIGZzdGFiIG9wdGlvbiBtYXkgYmUgdXNlZCB0byBza2lwIHRoaXMgZGV2aWNlKVxuIgorbXNnc3RyICIlczogdXJ6xIVkemVuaWUgbmllIGlzdG5pZWplIChtb8W8bmEgdcW8ecSHIG9wY2ppIGZzdGFiYSBcIm5vZmFpbFwiIGRvIHBvbWluacSZY2lhIHRlZ28gdXJ6xIVkemVuaWEpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIHVua25vd24gZmlsZXN5c3RlbSB0eXBlXG4iCittc2dzdHIgIiVzOiBwb21pbmnEmXRvIG5pZXpuYW55IHR5cCBzeXN0ZW11IHBsaWvDs3dcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hlY2sgJXM6IGZzY2suJXMgbm90IGZvdW5kIgorbXNnc3RyICJuaWUgbW/FvG5hIHNwcmF3ZHppxIcgJXM6IG5pZSB6bmFsZXppb25vIGZzY2suJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNTkKK21zZ2lkICJDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLlxuIgorbXNnc3RyICJTcHJhd2R6YW5pZSB3c3p5c3RraWNoIHN5c3RlbcOzdyBwbGlrw7N3LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzUwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0td2FpdGluZy0tIChwYXNzICVkKVxuIgorbXNnc3RyICItLW9jemVraXdhbmllLS0gKHByemViaWVnICVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLS0gW2ZzLW9wdGlvbnNdIFs8ZmlsZXN5c3RlbT4gLi4uXVxuIgorbXNnc3RyICIgJXMgW29wY2plXSAtLSBbb3BjamUtZnNdIFs8c3lzdGVtLXBsaWvDs3c+IC4uLl1cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM3OQorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJTcHJhd2R6YW5pZSBpIG5hcHJhd2EgbGludWtzb3dlZ28gc3lzdGVtdSBwbGlrw7N3LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzgyCittc2dpZCAiIC1BICAgICAgICAgY2hlY2sgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtQSAgICAgICAgIHNwcmF3ZHplbmllIHdzenlzdGtpY2ggc3lzdGVtw7N3IHBsaWvDs3dcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4MworbXNnaWQgIiAtQyBbPGZkPl0gIGRpc3BsYXkgcHJvZ3Jlc3MgYmFyOyBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiIC1DIFs8ZmQ+XSAgd3nFm3dpZXRsYW5pZSBwYXNrYSBwb3N0xJlwdTsgZGVza3J5cHRvciBwbGlrdSBqZXN0IGRsYSBHVUlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NAorbXNnaWQgIiAtbCAgICAgICAgIGxvY2sgdGhlIGRldmljZSB0byBndWFyYW50ZWUgZXhjbHVzaXZlIGFjY2Vzc1xuIgorbXNnc3RyICIgLWwgICAgICAgICB6YWJsb2tvd2FuaWUgdXJ6xIVkemVuaWEgdyBjZWx1IHphZ3dhcmFudG93YW5pYSB3ecWCxIVjem5vxZtjaSBkb3N0xJlwdVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg1Cittc2dpZCAiIC1NICAgICAgICAgZG8gbm90IGNoZWNrIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1NICAgICAgICAgYmV6IHNwcmF3ZHphbmlhIHphbW9udG93YW55Y2ggc3lzdGVtw7N3IHBsaWvDs3dcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NgorbXNnaWQgIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCittc2dzdHIgIiAtTiAgICAgICAgIGJleiB3eWtvbnl3YW5pYSwgamVkeW5pZSBwb2thenl3YW5pZSwgY28gem9zdGHFgm9ieSB6cm9iaW9uZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg3Cittc2dpZCAiIC1QICAgICAgICAgY2hlY2sgZmlsZXN5c3RlbXMgaW4gcGFyYWxsZWwsIGluY2x1ZGluZyByb290XG4iCittc2dzdHIgIiAtUCAgICAgICAgIHLDs3dub2xlZ8WCZSBzcHJhd2R6YW5pZSBzeXN0ZW3Ds3cgcGxpa8Ozdywgd3JheiB6IGfFgsOzd255bVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg4Cittc2dpZCAiIC1SICAgICAgICAgc2tpcCByb290IGZpbGVzeXN0ZW07IHVzZWZ1bCBvbmx5IHdpdGggJy1BJ1xuIgorbXNnc3RyICIgLVIgICAgICAgICBwb21pbmnEmWNpZSBnxYLDs3duZWdvIHN5c3RlbXUgcGxpa8OzdzsgcHJ6eWRhdG5lIHR5bGtvIHogJy1BJ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg5Cittc2dpZCAiIgorIiAtciBbPGZkPl0gIHJlcG9ydCBzdGF0aXN0aWNzIGZvciBlYWNoIGRldmljZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIiCisiIC1yIFs8ZmQ+XSAgd3lwaXN5d2FuaWUgc3RhdHlzdHlrIGRsYSBrYcW8ZGVnbyBzcHJhd2R6b25lZ28gdXJ6xIVkemVuaWE7XG4iCisiICAgICAgICAgICAgZGVza3J5cHRvciBwbGlrdSBqZXN0IGRsYSBHVUlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MQorbXNnaWQgIiAtcyAgICAgICAgIHNlcmlhbGl6ZSB0aGUgY2hlY2tpbmcgb3BlcmF0aW9uc1xuIgorbXNnc3RyICIgLXMgICAgICAgICBzemVyZWdvd2Ugb3BlcmFjamUgc3ByYXdkemFuaWFcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MgorbXNnaWQgIiAtVCAgICAgICAgIGRvIG5vdCBzaG93IHRoZSB0aXRsZSBvbiBzdGFydHVwXG4iCittc2dzdHIgIiAtVCAgICAgICAgIGJleiB3ecWbd2lldGxhbmlhIHR5dHXFgnUgbmEgcG9jesSFdGt1IGR6aWHFgmFuaWFcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MworbXNnaWQgIiIKKyIgLXQgPHR5cGU+ICBzcGVjaWZ5IGZpbGVzeXN0ZW0gdHlwZXMgdG8gYmUgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICA8dHlwZT4gaXMgYWxsb3dlZCB0byBiZSBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0XG4iCittc2dzdHIgIiIKKyIgLXQgPHR5cD4gICBva3JlxZtsZW5pZSB0eXDDs3cgc3lzdGVtw7N3IHBsaWvDs3cgZG8gc3ByYXdkemVuaWE7XG4iCisiICAgICAgICAgICAgbW/FvGUgdG8gYnnEhyBsaXN0YSB0eXDDs3cgb2RkemllbG9ueWNoIHByemVjaW5rYW1pXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTUKK21zZ2lkICIgLVYgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLVYgICAgICAgICB3eWphxZtuaWFuaWUgd3lrb255d2FueWNoIGN6eW5ub8WbY2lcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NgorbXNnaWQgIiAtPyAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAtPyAgICAgICAgIHd5xZt3aWV0bGVuaWUgdGVnbyBvcGlzdSBpIHpha2/FhGN6ZW5pZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk5Cittc2dpZCAiU2VlIHRoZSBzcGVjaWZpYyBmc2NrLiogY29tbWFuZHMgZm9yIGF2YWlsYWJsZSBmcy1vcHRpb25zLiIKK21zZ3N0ciAiSW5mb3JtYWNqZSBvIG9wY2phY2gtZnMgbW/FvG5hIHpuYWxlxbrEhyB3IGtvbmtyZXRueWNoIGZzY2suKiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQzOAorbXNnaWQgInRvbyBtYW55IGRldmljZXMiCittc2dzdHIgInpieXQgZHXFvG8gdXJ6xIVkemXFhCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ1MAorbXNnaWQgIklzIC9wcm9jIG1vdW50ZWQ/IgorbXNnc3RyICJDenkgL3Byb2MgamVzdCB6YW1vbnRvd2FueT8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSByb290IHRvIHNjYW4gZm9yIG1hdGNoaW5nIGZpbGVzeXN0ZW1zOiAlcyIKK21zZ3N0ciAidHJ6ZWJhIGJ5xIcgcm9vdGVtLCBhYnkgem5hbGXFusSHIHBhc3VqxIVjZSBzeXN0ZW15IHBsaWvDs3c6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDYyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGZpbmQgbWF0Y2hpbmcgZmlsZXN5c3RlbTogJXMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBvZG5hbGXFusSHIHBhc3VqxIVjZWdvIHN5c3RlbXUgcGxpa8OzdzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NzAgZGlzay11dGlscy9mc2NrLmM6MTU2NSBtaXNjLXV0aWxzL2tpbGwuYzozNjMKKyM6IHN5cy11dGlscy9lamVjdC5jOjI3OQorbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKK21zZ3N0ciAiemJ5dCBkdcW8byBhcmd1bWVudMOzdyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTUyNSBkaXNrLXV0aWxzL2ZzY2suYzoxNTI4Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtciIKK21zZ3N0ciAiYsWCxJlkbnkgYXJndW1lbnQgb3BjamkgLXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtcjogJWQiCittc2dzdHIgImLFgsSZZG55IGFyZ3VtZW50IG9wY2ppIC1yOiAlZCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTYxOAorbXNnaWQgInRoZSAtbCBvcHRpb24gY2FuIGJlIHVzZWQgd2l0aCBvbmUgZGV2aWNlIG9ubHkgLS0gaWdub3JlIgorbXNnc3RyICJvcGNqaSAtbCBtb8W8bmEgdcW8ecSHIHR5bGtvIHogamVkbnltIHVyesSFZHplbmllbSAtIHppZ25vcm93YW5vIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+XG4iCittc2dzdHIgIiAlcyBbb3BjamVdIDxwbGlrPlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE2Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIGNvbXByZXNzZWQgUk9NIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlNwcmF3ZHphbmllIGkgbmFwcmF3YSBza29tcHJlc293YW5lZ28gc3lzdGVtdSBwbGlrw7N3IFJPTS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOQorbXNnaWQgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHR5bGtvIGRsYSBrb21wYXR5Ymlsbm/Fm2NpLCBpZ25vcm93YW5lXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjAKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGJhcmR6aWVqIHN6Y3plZ8OzxYJvd2Uga29tdW5pa2F0eVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIxCittc2dpZCAiIC15ICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiAteSAgICAgICAgICAgICAgICAgICAgICAgdHlsa28gZGxhIGtvbXBhdHliaWxub8WbY2ksIGlnbm9yb3dhbmVcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMgorbXNnaWQgIiAtYiwgLS1ibG9ja3NpemUgPHNpemU+ICAgdXNlIHRoaXMgYmxvY2tzaXplLCBkZWZhdWx0cyB0byBwYWdlIHNpemVcbiIKK21zZ3N0ciAiIC1iLCAtLWJsb2Nrc2l6ZSA8cm96bS4+ICB1xbx5Y2llIHBvZGFuZWdvIHJvem1pYXJ1IGJsb2t1LCBkb215xZtsbmllIHN0cm9uYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIzCittc2dpZCAiICAgICAtLWV4dHJhY3RbPTxkaXI+XSAgICB0ZXN0IHVuY29tcHJlc3Npb24sIG9wdGlvbmFsbHkgZXh0cmFjdCBpbnRvIDxkaXI+XG4iCittc2dzdHIgIiAgICAgLS1leHRyYWN0Wz08a2F0Pl0gICAgdGVzdCBkZWtvbXByZXNqaSwgb3Bjam9uYWxuaWUgZGVrb21wcmVzamEgZG8gPGthdD5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBmYWlsZWQ6IHVuYWJsZSB0byBkZXRlcm1pbmUgZGV2aWNlIHNpemU6ICVzIgorbXNnc3RyICJpb2N0bCBuaWUgcG93aW9kxYJvIHNpxJk6IG5pZSBtb8W8bmEgb2tyZcWbbGnEhyByb3ptaWFydSB1cnrEhWR6ZW5pYTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGEgYmxvY2sgZGV2aWNlIG9yIGZpbGU6ICVzIgorbXNnc3RyICJuaWUgamVzdCB0byB1cnrEhWR6ZW5pZSBibG9rb3dlIGFuaSBwbGlrOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3MCBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA2Cittc2dpZCAiZmlsZSBsZW5ndGggdG9vIHNob3J0IgorbXNnc3RyICJkxYJ1Z2/Fm8SHIHBsaWt1IHpieXQgbWHFgmEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzkgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzMworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI0OSBsaWJmZGlzay9zcmMvYnNkLmM6NzE4IGxpYmZkaXNrL3NyYy9ic2QuYzo4OTAKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMDggbG9naW4tdXRpbHMvbGFzdC5jOjI0MiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgInNlZWsgb24gJXMgZmFpbGVkIgorbXNnc3RyICJwcnplbWllc3pjemVuaWUgdyAlcyBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODUgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NworbXNnaWQgInN1cGVyYmxvY2sgbWFnaWMgbm90IGZvdW5kIgorbXNnc3RyICJuaWUgem5hbGV6aW9ubyBsaWN6YnkgbWFnaWN6bmVqIHN1cGVyYmxva3UiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3JhbWZzIGVuZGlhbm5lc3MgaXMgJXNcbiIKK21zZ3N0ciAia29sZWpub8WbxIcgYmFqdMOzdyB3IHPFgm93aWUgY3JhbWZzIHRvICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTEKK21zZ2lkICJiaWciCittc2dzdHIgImJpZy1lbmRpYW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTEKK21zZ2lkICJsaXR0bGUiCittc2dzdHIgImxpdHRsZS1lbmRpYW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTUKK21zZ2lkICJ1bnN1cHBvcnRlZCBmaWxlc3lzdGVtIGZlYXR1cmVzIgorbXNnc3RyICJuaWUgb2JzxYJ1Z2l3YW5lIGNlY2h5IHN5c3RlbXUgcGxpa8OzdyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXBlcmJsb2NrIHNpemUgKCVkKSB0b28gc21hbGwiCittc2dzdHIgInJvem1pYXIgc3VwZXJibG9rdSAoJWQpIHpieXQgbWHFgnkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDQKK21zZ2lkICJ6ZXJvIGZpbGUgY291bnQiCittc2dzdHIgInplcm93YSBsaWN6YmEgcGxpa8OzdyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwOAorbXNnaWQgImZpbGUgZXh0ZW5kcyBwYXN0IGVuZCBvZiBmaWxlc3lzdGVtIgorbXNnc3RyICJwbGlrIHd5Y2hvZHppIHBvemEga29uaWVjIHN5c3RlbXUgcGxpa8OzdyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxMAorbXNnaWQgIm9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICJzdGFyeSBmb3JtYXQgY3JhbWZzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjE5Cittc2dpZCAidW5hYmxlIHRvIHRlc3QgQ1JDOiBvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAibmllIG1vxbxuYSBzcHJhd2R6acSHIENSQzogc3RhcnkgZm9ybWF0IGNyYW1mcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI3MgorbXNnaWQgImNyYyBlcnJvciIKK21zZ3N0ciAiYsWCxIVkIENSQyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NTQKK21zZ2lkICJzZWVrIGZhaWxlZCIKK21zZ3N0ciAicHJ6ZW1pZXN6Y3plbmllIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwNgorbXNnaWQgInJlYWQgcm9tZnMgZmFpbGVkIgorbXNnc3RyICJvZGN6eXQgcm9tZnMgbmllIHBvd2nDs2TFgiBzacSZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzM4Cittc2dpZCAicm9vdCBpbm9kZSBpcyBub3QgZGlyZWN0b3J5IgorbXNnc3RyICJnxYLDs3dueSBpLXfEmXplxYIgbmllIGplc3Qga2F0YWxvZ2llbSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM0MgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgcm9vdCBvZmZzZXQgKCVsdSkiCittc2dzdHIgImLFgsSZZG55IG9mZnNldCBnxYLDs3duZWdvIGthdGFsb2d1ICglbHUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzYwCittc2dpZCAiZGF0YSBibG9jayB0b28gbGFyZ2UiCittc2dzdHIgImJsb2sgZGFueWNoIHpieXQgZHXFvHkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVjb21wcmVzc2lvbiBlcnJvcjogJXMiCittc2dzdHIgImLFgsSFZCBkZWtvbXByZXNqaTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBob2xlIGF0ICVsdSAoJXp1KVxuIgorbXNnc3RyICIgIGR6aXVyYSBwb2QgJWx1ICglenUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTcgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICIgIHVuY29tcHJlc3NpbmcgYmxvY2sgYXQgJWx1IHRvICVsdSAoJWx1KVxuIgorbXNnc3RyICIgIGRla29tcHJlc2phIGJsb2t1IHBvZCAlbHUgZG8gJWx1ICglbHUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJsb2NrICglbGQpIGJ5dGVzIgorbXNnc3RyICJuaWUgYmxvayAoJWxkIGJhanTDs3cpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1zaXplICglbGQgdnMgJWxkKSBieXRlcyIKK21zZ3N0ciAiYsWCxJlkbnkgcm96bWlhciAoJWxkIHZzICVsZCBiYWp0w7N3KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxMyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE2CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwNCBtaXNjLXV0aWxzL3V1aWRkLmM6Mzc1IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODIKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM1IHN5cy11dGlscy9zZXRwcml2LmM6NTU4IHN5cy11dGlscy9zd2Fwb24uYzozODkKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZDogJXMiCittc2dzdHIgInphcGlzIG5pZSBwb3dpw7NkxYIgc2nEmTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAibGNob3duIGZhaWxlZDogJXMiCittc2dzdHIgImxjaG93biBuaWUgcG93aW9kxYJvIHNpxJk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI4CisjLCBjLWZvcm1hdAorbXNnaWQgImNob3duIGZhaWxlZDogJXMiCittc2dzdHIgImNob3duIG5pZSBwb3dpb2TFgm8gc2nEmTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidXRpbWUgZmFpbGVkOiAlcyIKK21zZ3N0ciAidXRpbWUgbmllIHBvd2lvZMWCbyBzacSZOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiaS13xJl6ZcWCIGthdGFsb2d1IG1hIHplcm93eSBvZmZzZXQgaSBuaWV6ZXJvd3kgcm96bWlhcjogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtkaXIgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWtkaXIgbmllIHBvd2lvZMWCbyBzacSZOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3NgorbXNnaWQgImZpbGVuYW1lIGxlbmd0aCBpcyB6ZXJvIgorbXNnc3RyICJ6ZXJvd2EgZMWCdWdvxZvEhyBuYXp3eSBwbGlrdSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3OAorbXNnaWQgImJhZCBmaWxlbmFtZSBsZW5ndGgiCittc2dzdHIgImLFgsSZZG5hIGTFgnVnb8WbxIcgbmF6d3kgcGxpa3UiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0ODQKK21zZ2lkICJiYWQgaW5vZGUgb2Zmc2V0IgorbXNnc3RyICJixYLEmWRueSBvZmZzZXQgaS13xJl6xYJhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDk5Cittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemUiCittc2dzdHIgImktd8SZemXFgiBwbGlrdSBtYSB6ZXJvd3kgb2Zmc2V0IGkgbmllemVyb3d5IHJvem1pYXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MDIKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIHNpemUgYW5kIG5vbi16ZXJvIG9mZnNldCIKK21zZ3N0ciAiaS13xJl6ZcWCIHBsaWt1IG1hIHplcm93eSByb3ptaWFyIGkgbmllemVyb3d5IG9mZnNldCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMQorbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gb2Zmc2V0IgorbXNnc3RyICJkb3dpxIV6YW5pZSBzeW1ib2xpY3puZSBtYSB6ZXJvd3kgb2Zmc2V0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTMzCittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBzaXplIgorbXNnc3RyICJkb3dpxIV6YW5pZSBzeW1ib2xpY3puZSBtYSB6ZXJvd3kgcm96bWlhciIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU0MgorIywgYy1mb3JtYXQKK21zZ2lkICJzaXplIGVycm9yIGluIHN5bWxpbms6ICVzIgorbXNnc3RyICJixYLEhWQgcm96bWlhcnUgZG93acSFemFuaWEgc3ltYm9saWN6bmVnbzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3ltbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICJzeW1saW5rIG5pZSBwb3dpb2TFgm8gc2nEmTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBmaWxlIGhhcyBub24temVybyBvZmZzZXQ6ICVzIgorbXNnc3RyICJwbGlrIHNwZWNqYWxueSBtYSBuaWV6ZXJvd3kgb2Zmc2V0OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU3OQorIywgYy1mb3JtYXQKK21zZ2lkICJmaWZvIGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiZmlmbyBtYSBuaWV6ZXJvd3kgcm96bWlhcjogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiZ25pYXpkbyBtYSBuaWV6ZXJvd3kgcm96bWlhcjogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYm9ndXMgbW9kZTogJXMgKCVvKSIKK21zZ3N0ciAiYsWCxJlkbnkgdHJ5YjogJXMgKCVvKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5NworIywgYy1mb3JtYXQKK21zZ2lkICJta25vZCBmYWlsZWQ6ICVzIgorbXNnc3RyICJta25vZCBuaWUgcG93aW9kxYJvIHNpxJk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjI5CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIHN0YXJ0ICglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQgKCV6dSkiCittc2dzdHIgInBvY3rEhXRlayBkYW55Y2gga2F0YWxvZ3UgKCVsdSkgPCBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikgKyBzdGFydCAoJXp1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzMworIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBlbmQgKCVsdSkgIT0gZmlsZSBkYXRhIHN0YXJ0ICglbHUpIgorbXNnc3RyICJrb25pZWMgZGFueWNoIGthdGFsb2d1ICglbHUpICE9IHBvY3rEhXRlayBkYW55Y2ggcGxpa3UgKCVsdSkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzcKK21zZ2lkICJpbnZhbGlkIGZpbGUgZGF0YSBvZmZzZXQiCittc2dzdHIgIm5pZXBvcHJhd255IG9mZnNldCBkYW55Y2ggcGxpa3UiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2ODQgZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjcyNgorbXNnaWQgImludmFsaWQgYmxvY2tzaXplIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSB3YXJ0b8WbxIcgcm96bWlhcnUgYmxva3UiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo3MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IE9LXG4iCittc2dzdHIgIiVzOiBPS1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODQKK21zZ2lkICJDaGVjayB0aGUgY29uc2lzdGVuY3kgb2YgYSBNaW5peCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJTcHJhd2R6YW5pZSBzcMOzam5vxZtjaSBzeXN0ZW11IHBsaWvDs3cgTWluaXguXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NgorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgIGxpc3QgYWxsIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICBsaXN0YSB3c3p5c3RraWNoIG5hencgcGxpa8Ozd1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODcKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICBhdXRvbWF0aWMgcmVwYWlyXG4iCittc2dzdHIgIiAtYSwgLS1hdXRvICAgICAgIG5hcHJhd2EgYXV0b21hdHljem5hXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OAorbXNnaWQgIiAtciwgLS1yZXBhaXIgICAgIGludGVyYWN0aXZlIHJlcGFpclxuIgorbXNnc3RyICIgLXIsIC0tcmVwYWlyICAgICBuYXByYXdhIGludGVyYWt0eXduYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBiZSB2ZXJib3NlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgIHRyeWIgc3pjemVnw7PFgm93eVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTAKK21zZ2lkICIgLXMsIC0tc3VwZXIgICAgICBvdXRwdXQgc3VwZXItYmxvY2sgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiIC1zLCAtLXN1cGVyICAgICAgd3lwaXNhbmllIGluZm9ybWFjamkgbyBzdXBlcmJsb2t1XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MQorbXNnaWQgIiAtbSwgLS11bmNsZWFyZWQgIGFjdGl2YXRlIG1vZGUgbm90IGNsZWFyZWQgd2FybmluZ3NcbiIKK21zZ3N0ciAiIC1tLCAtLXVuY2xlYXJlZCAgd8WCxIVjemVuaWUgb3N0cnplxbxlxYQgbyBuaWUgd3ljenlzemN6b255bSB0cnliaWVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkyCittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgZm9yY2UgY2hlY2tcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmNlICAgICAgd3ltdXN6ZW5pZSBzcHJhd2R6ZW5pYVxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhlc2UgeWVzIG5vIHF1ZXN0aW9ucyB1c2VzIHJwbWF0Y2goKSwgYW5kIHNob3VsZCBiZQorIy4gKiB0cmFuc2xhdGVkLgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICh5L24pPyAiCittc2dzdHIgIiVzICh0L24pPyAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAobi95KT8gIgorbXNnc3RyICIlcyAobi90KT8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAieVxuIgorbXNnc3RyICJ0XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJuXG4iCittc2dzdHIgIm5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQuXHQgIgorbXNnc3RyICIlcyBqZXN0IHphbW9udG93YW5lLlx0ICIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg5Cittc2dpZCAiRG8geW91IHJlYWxseSB3YW50IHRvIGNvbnRpbnVlIgorbXNnc3RyICJDenkgbmEgcGV3bm8gY2hjZXN6IGtvbnR5bnVvd2HEhyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNrIGFib3J0ZWQuXG4iCittc2dzdHIgInNwcmF3ZHphbmllIHByemVyd2FuZS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzE5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yIDwgRklSU1RaT05FIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIlN0cmVmYSBuciA8IEZJUlNUWk9ORSB3IHBsaWt1IGAlcycuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPj0gWk9ORVMgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiU3RyZWZhIG5yID49IFpPTkVTIHcgcGxpa3UgYCVzJy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyNiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDcKK21zZ2lkICJSZW1vdmUgYmxvY2siCittc2dzdHIgIlVzdW7EhcSHIGJsb2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiB1bmFibGUgdG8gc2VlayB0byBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiQsWCxIVkIG9kY3p5dHU6IG5pZSB1ZGHFgm8gc2nEmSB1c3Rhd2nEhyBuYSBibG9rIHcgcGxpa3UgJyVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJCxYLEhWQgb2Rjenl0dTogd2FkbGl3eSBibG9rIHcgcGxpa3UgJyVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkludGVybmFsIGVycm9yOiB0cnlpbmcgdG8gd3JpdGUgYmFkIGJsb2NrXG4iCisiV3JpdGUgcmVxdWVzdCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKyJCxYLEhWQgd2V3bsSZdHJ6bnk6IHByw7NiYSB6YXBpc3Ugd2FkbGl3ZWdvIGJsb2t1XG4iCisixbvEhWRhbmllIHphcGlzdSB6aWdub3Jvd2FuZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAicHJ6ZW1pZXN6Y3plbmllIG5pZSBwb3dpb2TFgm8gc2nEmSB3ZSB3cml0ZV9ibG9jayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIldyaXRlIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIkLFgsSFZCB6YXBpc3U6IHdhZGxpd3kgYmxvayB3IHBsaWt1ICclcydcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTA1Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfc3VwZXJfYmxvY2siCittc2dzdHIgInByemVtaWVzemN6ZW5pZSBuaWUgcG93aW9kxYJvIHNpxJkgd2Ugd3JpdGVfc3VwZXJfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUwNworbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHphcGlzYcSHIHN1cGVyYmxva3UiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyMAorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIk5pZSBtb8W8bmEgemFwaXNhxIcgbWFweSBpLXfEmXrFgsOzdyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTIzCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICJOaWUgbW/FvG5hIHphcGlzYcSHIG1hcHkgc3RyZWYiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyNgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgIk5pZSBtb8W8bmEgemFwaXNhxIcgaS13xJl6xYLDs3ciCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU1OAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBidWZmZXIgZm9yIHN1cGVyYmxvY2siCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnp5ZHppZWxpxIcgYnVmb3JhIGRsYSBzdXBlcmJsb2t1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjEKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBzdXBlciBibG9jayIKK21zZ3N0ciAibmllIG1vxbxuYSBvZGN6eXRhxIcgc3VwZXJibG9rdSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTgzCittc2dpZCAiYmFkIG1hZ2ljIG51bWJlciBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiYsWCxJlkbmEgbGljemJhIG1hZ2ljem5hIHcgc3VwZXJibG9rdSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg1Cittc2dpZCAiT25seSAxayBibG9ja3Mvem9uZXMgc3VwcG9ydGVkIgorbXNnc3RyICJXc3BpZXJhbmUgc8SFIHR5bGtvIGJsb2tpL3N0cmVmeSAxayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg3Cittc2dpZCAiYmFkIHNfbmlub2RlcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiYsWCxJlkbmUgcG9sZSBzX25pbm9kZXMgdyBzdXBlcmJsb2t1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODkKK21zZ2lkICJiYWQgc19pbWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiYsWCxJlkbmUgcG9sZSBzX2ltYXBfYmxvY2tzIHcgc3VwZXJibG9rdSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkxCittc2dpZCAiYmFkIHNfZmlyc3RkYXRhem9uZSBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiYsWCxJlkbmUgcG9sZSBzX2ZpcnN0ZGF0YXpvbmUgdyBzdXBlcmJsb2t1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTQKK21zZ2lkICJiYWQgc196bWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiYsWCxJlkbmUgcG9sZSBzX3ptYXBfYmxvY2tzIHcgc3VwZXJibG9rdSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjEwCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgbWFwIgorbXNnc3RyICJOaWUgbW/FvG5hIHByenlkemllbGnEhyBidWZvcmEgZGxhIG1hcHkgaS13xJl6xYLDs3ciCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxMworbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgbWFwIgorbXNnc3RyICJOaWUgbW/FvG5hIHByenlkemllbGnEhyBidWZvcmEgZGxhIG1hcHkgc3RyZWYiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxNgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKK21zZ3N0ciAiTmllIG1vxbxuYSBwcnp5ZHppZWxpxIcgYnVmb3JhIGRsYSBpLXfEmXrFgsOzdyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE5Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgY291bnQiCittc2dzdHIgIk5pZSBtb8W8bmEgcHJ6eWR6aWVsacSHIGJ1Zm9yYSBkbGEgbGljem5pa2EgaS13xJl6xYLDs3ciCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyMgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgY291bnQiCittc2dzdHIgIk5pZSBtb8W8bmEgcHJ6eWR6aWVsacSHIGJ1Zm9yYSBkbGEgbGljem5pa2Egc3RyZWYiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyNgorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlIG1hcCIKK21zZ3N0ciAiTmllIG1vxbxuYSBvZGN6eXRhxIcgbWFweSBpLXfEmXrFgsOzdyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjMwCittc2dpZCAiVW5hYmxlIHRvIHJlYWQgem9uZSBtYXAiCittc2dzdHIgIk5pZSBtb8W8bmEgb2Rjenl0YcSHIG1hcHkgc3RyZWYiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzNAorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlcyIKK21zZ3N0ciAiTmllIG1vxbxuYSBvZGN6eXRhxIcgaS13xJl6xYLDs3ciCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzNgorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIKK21zZ3N0ciAiVXdhZ2E6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGlub2Rlc1xuIgorbXNnc3RyICIlbGQgaS13xJl6xYLDs3dcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBibG9ja3NcbiIKK21zZ3N0ciAiJWxkIGJsb2vDs3dcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NgorIywgYy1mb3JtYXQKK21zZ2lkICJGaXJzdGRhdGF6b25lPSVqZCAoJWpkKVxuIgorbXNnc3RyICJGaXJzdGRhdGF6b25lPSVqZCAoJWpkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JWRcbiIKK21zZ3N0ciAiWm9uZXNpemU9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIk1heHNpemU9JXp1XG4iCittc2dzdHIgIk1heHNpemU9JXp1XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIHN0YXRlPSVkXG4iCittc2dzdHIgIlN0YW4gc3lzdGVtdSBwbGlrw7N3PSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibmFtZWxlbj0lemRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIm5hbWVsZW49JXpkXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY2NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWQgbWFya2VkIHVudXNlZCwgYnV0IHVzZWQgZm9yIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJJLXfEmXplxYIgJWQgb3puYWN6b25vIGpha28gbmlldcW8eXdhbnkgYWxlIGplc3Qgb24gdcW8eXdhbnkgcHJ6ZXogcGxpayAnJXMnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY2NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MTcKK21zZ2lkICJNYXJrIGluIHVzZSIKK21zZ3N0ciAiWm5hY3puaWsgdyB1xbx5Y2l1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2ODkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaWxlIGAlcycgaGFzIG1vZGUgJTA1b1xuIgorbXNnc3RyICJQbGlrIGAlcycgbWEgdHJ5YiAlMDVvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY5NiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogaW5vZGUgY291bnQgdG9vIGJpZy5cbiIKK21zZ3N0ciAiVXdhZ2E6IGxpY3piYSBpLXfEmXrFgsOzdyB6YSBkdcW8YS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzU1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2MworbXNnaWQgInJvb3QgaW5vZGUgaXNuJ3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImfFgsOzd255IGktd8SZemXFgiBuaWUgamVzdCBrYXRhbG9naWVtIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NzUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrIGhhcyBiZWVuIHVzZWQgYmVmb3JlLiBOb3cgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiQmxvayBiecWCIHdjemXFm25pZWogdcW8eXR5LiBPYmVjbmllIHcgcGxpa3UgYCVzJy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MDgKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1MgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA4Cittc2dpZCAiQ2xlYXIiCittc2dzdHIgIld5Y3p5xZtjacSHIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrICVkIGluIGZpbGUgYCVzJyBpcyBtYXJrZWQgbm90IGluIHVzZS4iCittc2dzdHIgIkJsb2sgJWQgdyBwbGlrdSBgJXMnIGplc3Qgb3puYWN6b255IGpha28gbmlldcW8eXdhbnkuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODIwCittc2dpZCAiQ29ycmVjdCIKK21zZ3N0ciAiTmFwcmF3acSHIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzMworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGlyZWN0b3J5ICclcycgY29udGFpbnMgYSBiYWQgaW5vZGUgbnVtYmVyIGZvciBmaWxlICclLipzJy4iCittc2dzdHIgIkthdGFsb2cgJyVzJyB6YXdpZXJhIGLFgsSZZG55IG51bWVyIGktd8SZesWCYSBkbGEgcGxpa3UgJyUuKnMnLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTYxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwMzUKK21zZ2lkICIgUmVtb3ZlIgorbXNnc3RyICIgVXN1bsSFxIciCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIKK21zZ3N0ciAiJXM6IGLFgsSZZG55IGthdGFsb2c6ICcuJyBuaWUgamVzdCBuYSBwb2N6xIV0a3VcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTg2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuLicgaXNuJ3Qgc2Vjb25kXG4iCittc2dzdHIgIiVzOiBixYLEmWRueSBrYXRhbG9nOiAnLi4nIG5pZSBqZXN0IG5hIGRydWdpZWogcG96eWNqaVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDk0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMTcKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAiYsWCxIVkIHdld27EmXRyem55IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDk3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IHNpemUgPCAzMiIKK21zZ3N0ciAiJXM6IGLFgsSZZG55IGthdGFsb2c6IHJvem1pYXIgPCAzMiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogaW52YWxpZCBpX3pvbmUsIHVzZSAtLXJlcGFpciB0byBmaXhcbiIKK21zZ3N0ciAiJXM6IHVzemtvZHpvbnkga2F0YWxvZzogYsWCxJlkbmUgaV96b25lLCBuYWxlxbx5IHXFvHnEhyAtLXJlcGFpciB3IGNlbHUgbmFwcmF3eVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTMyCittc2dpZCAic2VlayBmYWlsZWQgaW4gYmFkX3pvbmUiCittc2dzdHIgInByemVtaWVzemN6ZW5pZSBuaWUgcG93aW9kxYJvIHNpxJkgdyBiYWRfem9uZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBtb2RlIG5vdCBjbGVhcmVkLiIKK21zZ3N0ciAiVHJ5YiBpLXfEmXrFgmEgJWx1IG5pZSB3eWN6eXN6Y3pvbnkuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTUxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG5vdCB1c2VkLCBtYXJrZWQgdXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiSS13xJl6ZcWCICVsdSBqZXN0IG5pZXXFvHl3YW55LCBhIHphem5hY3pvbnkgamFrbyB1xbx5d2FueSB3IG1hcGllIGJpdG93ZWouIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IHVzZWQsIG1hcmtlZCB1bnVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIkktd8SZemXFgiAlbHUgamVzdCB1xbx5d2FueSwgYSB6YXpuYWN6b255IGpha28gbmlldcW8eXdhbnkgdyBtYXBpZSBiaXRvd2VqLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1OCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE0Cittc2dpZCAiU2V0IgorbXNnc3RyICJVc3Rhd2nEhyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE4CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSAobW9kZSA9ICUwN28pLCBpX25saW5rcz0lZCwgY291bnRlZD0lZC4iCittc2dzdHIgIkktd8SZemXFgiAlbHUgKHRyeWIgPSAlMDdvKSwgaV9ubGlua3M9JWQsIG9ibGljem9ubz0lZC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyMQorbXNnaWQgIlNldCBpX25saW5rcyB0byBjb3VudCIKK21zZ3N0ciAiVXN0YXdpZW5pZSBpX25saW5rcyBuYSBsaWN6YsSZIG9ibGljem9uxIUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIzMworIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbWFya2VkIGluIHVzZSwgbm8gZmlsZSB1c2VzIGl0LiIKK21zZ3N0ciAiU3RyZWZhICVsdTogemF6bmFjem9uYSBqYWtvIHXFvHl3YW5hLCBhIMW8YWRlbiBwbGlrIGplaiBuaWUgdcW8eXdhLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE3OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjM1Cittc2dpZCAiVW5tYXJrIgorbXNnc3RyICJPZHpuYWN6ecSHIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTg0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICJTdHJlZmEgJWx1OiB1xbx5d2FuYSwgbmFsaWN6b25vPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MworIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbm90IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICJTdHJlZmEgJWx1OiBuaWUgdcW8eXdhbmEsIG5hbGljem9ubz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjkxCittc2dpZCAiYmFkIGlub2RlIHNpemUiCittc2dzdHIgImLFgsSZZG55IHJvem1pYXIgaS13xJl6xYJhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjkzCittc2dpZCAiYmFkIHYyIGlub2RlIHNpemUiCittc2dzdHIgImLFgsSZZG55IHJvem1pYXIgaS13xJl6xYJhIHYyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzM3Cittc2dpZCAibmVlZCB0ZXJtaW5hbCBmb3IgaW50ZXJhY3RpdmUgcmVwYWlycyIKK21zZ3N0ciAiZG8gaW50ZXJha2N5am5laiBuYXByYXd5IHBvdHJ6ZWJueSBqZXN0IHRlcm1pbmFsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlcyIKK21zZ3N0ciAibmllIG1vxbxuYSBvdHdvcnp5xIcgJXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGNsZWFuLCBubyBjaGVjay5cbiIKK21zZ3N0ciAiJXMgamVzdCBjenlzdHksIGJleiBzcHJhd2R6YW5pYS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGb3JjaW5nIGZpbGVzeXN0ZW0gY2hlY2sgb24gJXMuXG4iCittc2dzdHIgIld5bXVzemVuaWUgc3ByYXdkemFuaWUgc3lzdGVtdSBwbGlrw7N3IG5hICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzU3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gb24gJXMgaXMgZGlydHksIG5lZWRzIGNoZWNraW5nLlxuIgorbXNnc3RyICJTeXN0ZW0gcGxpa8OzdyAlcyBuaWUgamVzdCBjenlzdHksIHd5bWFnYSBzcHJhd2R6ZW5pYS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZsZCBpbm9kZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlNmxkIHXFvHl3YW55Y2ggaS13xJl6xYLDs3cgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiU2bGQgem9uZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiU2bGQgdcW8eXdhbnljaCBzdHJlZiAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2ZCByZWd1bGFyIGZpbGVzXG4iCisiJTZkIGRpcmVjdG9yaWVzXG4iCisiJTZkIGNoYXJhY3RlciBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgYmxvY2sgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGxpbmtzXG4iCisiJTZkIHN5bWJvbGljIGxpbmtzXG4iCisiLS0tLS0tXG4iCisiJTZkIGZpbGVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlNmQgend5a8WCeWNoIHBsaWvDs3dcbiIKKyIlNmQga2F0YWxvZ8Ozd1xuIgorIiU2ZCBwbGlrw7N3IHVyesSFZHplxYQgem5ha293eWNoXG4iCisiJTZkIHBsaWvDs3cgdXJ6xIVkemXFhCBibG9rb3d5Y2hcbiIKKyIlNmQgZG93acSFemHFhFxuIgorIiU2ZCBkb3dpxIV6YcWEIHN5bWJvbGljem55Y2hcbiIKKyItLS0tLS1cbiIKKyIlNmQgcGxpa8Ozd1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDExCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiRklMRSBTWVNURU0gSEFTIEJFRU4gQ0hBTkdFRFxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIlpNT0RZRklLT1dBTk8gU1lTVEVNIFBMSUvDk1dcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MzMKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTM5IGRpc2stdXRpbHMvcGFydHguYzoxMDM1IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMgorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTggc3lzLXV0aWxzL2RtZXNnLmM6NjU5IHN5cy11dGlscy93ZGN0bC5jOjM0NgorIzogc3lzLXV0aWxzL3dkY3RsLmM6NDExIHRlcm0tdXRpbHMvc2NyaXB0LmM6MjcyIHRlcm0tdXRpbHMvc2NyaXB0LmM6MzQ5CisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI0OAorbXNnaWQgIndyaXRlIGZhaWxlZCIKK21zZ3N0ciAiemFwaXMgbmllIHBvd2nDs2TFgiBzacSZIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1pZ2h0IG5vdCBiZSBhbiBJU08gZmlsZXN5c3RlbSIKK21zZ3N0ciAiJXM6IHRvIG1vxbxlIG5pZSBiecSHIHN5c3RlbSBwbGlrw7N3IElTTyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTM5CisjLCBjLWZvcm1hdAorbXNnaWQgInNlZWsgZXJyb3Igb24gJXMiCittc2dzdHIgImLFgsSFZCBwcnplbWllc3pjemFuaWEgcG8gJXMiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE0MgorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkIGVycm9yIG9uICVzIgorbXNnc3RyICJixYLEhWQgb2Rjenl0dSAlcyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlY3RvciBjb3VudDogJWQsIHNlY3RvciBzaXplOiAlZFxuIgorbXNnc3RyICJsaWN6YmEgc2VrdG9yw7N3OiAlZCwgcm96bWlhciBzZWt0b3JhOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8aXNvOTY2MF9pbWFnZV9maWxlPlxuIgorbXNnc3RyICIgJXMgW29wY2plXSA8cGxpa19vYnJhenVfaXNvOTY2MD5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTc0Cittc2dpZCAiU2hvdyB0aGUgbGVuZ3RoIG9mIGFuIElTTy05NjYwIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIld5xZt3aWV0bGVuaWUgZMWCdWdvxZtjaSBzeXN0ZW11IHBsaWvDs3cgSVNPLTk2NjAuXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3NworbXNnaWQgIiAtZCwgLS1kaXZpc29yPTxudW1iZXI+ICBkaXZpZGUgdGhlIGFtb3VudCBvZiBieXRlcyBieSA8bnVtYmVyPlxuIgorbXNnc3RyICIgLWQsIC0tZGl2aXNvcj08bGljemJhPiAgcG9kemllbGVuaWUgbGljemJ5IGJhanTDs3cgcHJ6ZXogPGxpY3pixJk+XG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3OAorbXNnaWQgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBzaG93IHNlY3RvciBjb3VudCBhbmQgc2l6ZVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgd3lwaXNhbmllIGxpY3pieSBzZWt0b3LDs3cgaSBpY2ggcm96bWlhcnVcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MjEwCittc2dpZCAiaW52YWxpZCBkaXZpc29yIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRueSBwb2R6aWVsbmlrIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorbXNnc3RyICJTa8WCYWRuaWE6ICVzIFtvcGNqZV0gdXJ6xIVkemVuaWUgW2xpY3piYS1ibG9rw7N3XVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzcKK21zZ2lkICJNYWtlIGFuIFNDTyBiZnMgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiVHdvcnplbmllIHN5c3RlbXUgcGxpa8OzdyBTQ08gYmZzLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1OLCAtLWlub2Rlcz1OVU0gICAgc3BlY2lmeSBkZXNpcmVkIG51bWJlciBvZiBpbm9kZXNcbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICBzcGVjaWZ5IHZvbHVtZSBuYW1lXG4iCisiIC1GLCAtLWZuYW1lPU5BTUUgICAgc3BlY2lmeSBmaWxlIHN5c3RlbSBuYW1lXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyIgLWMgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1sICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiICAgICAgICAgICAgICAgICAgICAgLVYgYXMgdmVyc2lvbiBtdXN0IGJlIG9ubHkgb3B0aW9uXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wY2plOlxuIgorIiAtTiwgLS1pbm9kZXM9SUxFICAgIG9rcmXFm2xlbmllIHBvxbzEhWRhbmVqIGxpY3pieSBpLXfEmXrFgsOzd1xuIgorIiAtViwgLS12bmFtZT1OQVpXQSAgIG9rcmXFm2xlbmllIG5hend5IHdvbHVtZW51XG4iCisiIC1GLCAtLWZuYW1lPU5BWldBICAgb2tyZcWbbGVuaWUgbmF6d3kgc3lzdGVtdSBwbGlrw7N3XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgd3lqYcWbbmlhbmllIHd5a29ueXdhbnljaCBjenlubm/Fm2NpXG4iCisiIC1jICAgICAgICAgICAgICAgICAgb3BjamEgcG8gY2ljaHUgaWdub3Jvd2FuYVxuIgorIiAtbCAgICAgICAgICAgICAgICAgIG9wY2phIHBvIGNpY2h1IGlnbm9yb3dhbmFcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICB3eXBpc2FuaWUgaW5mb3JtYWNqaSBvIHdlcnNqaSBpIHpha2/FhGN6ZW5pZVxuIgorIiAgICAgICAgICAgICAgICAgICAgIC1WIGpha28gd2Vyc2phIG11c2kgYnnEhyBqZWR5bsSFIG9wY2rEhVxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgIHd5xZt3aWV0bGVuaWUgdGVnbyBvcGlzdSBpIHpha2/FhGN6ZW5pZVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTQ0Cittc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICJixYLEmWRuYSBsaWN6YmEgaS13xJl6xYLDs3ciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTAKK21zZ2lkICJ2b2x1bWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAibmF6d2Egd29sdW1pbnUgemEgZMWCdWdhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU3Cittc2dpZCAiZnNuYW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm5hendhIHN5c3RlbXUgcGxpa8OzdyB6YSBkxYJ1Z2EiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTMKK21zZ2lkICJpbnZhbGlkIGJsb2NrLWNvdW50IgorbXNnc3RyICJixYLEmWRuYSBsaWN6YmEgYmxva8OzdyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgIm5pZSBtb8W8bmEgcG9icmHEhyByb3ptaWFydSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJibG9ja3MgYXJndW1lbnQgdG9vIGxhcmdlLCBtYXggaXMgJWxsdSIKK21zZ3N0ciAiYXJndW1lbnQgbGljemJhLWJsb2vDs3cgemEgZHXFvHksIG1ha3NpbXVtIHRvICVsbHUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMTkKK21zZ2lkICJ0b28gbWFueSBpbm9kZXMgLSBtYXggaXMgNTEyIgorbXNnc3RyICJ6YSBkdcW8byBpLXfEmXrFgsOzdyAtIG1ha3NpbXVtIHRvIDUxMiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlLCBuZWVkIGF0IGxlYXN0ICVsbHUgYmxvY2tzIgorbXNnc3RyICJ6YSBtYcWCbyBtaWVqc2NhLCBwb3RyemViYSBjbyBuYWptbmllaiAlbGx1IGJsb2vDs3ciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlOiAlc1xuIgorbXNnc3RyICJVcnrEhWR6ZW5pZTogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJWb2x1bWU6IDwlLTZzPlxuIgorbXNnc3RyICJXb2x1bWluOiA8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJGU25hbWU6IDwlLTZzPlxuIgorbXNnc3RyICJOYXp3YUZTOiA8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NAorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9ja1NpemU6ICVkXG4iCittc2dzdHIgIlJvem1pYXJCbG9rdTogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gMSBibG9jaylcbiIKK21zZ3N0ciAiSS13xJl6xYLDs3c6ICVsZCAodyAxIGJsb2t1KVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAlbGx1IGJsb2NrcylcbiIKK21zZ3N0ciAiSS13xJl6xYLDs3c6ICVsZCAodyBibG9rYWNoOiAlbGx1KVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrczogJWxsdVxuIgorbXNnc3RyICJCbG9rw7N3OiAlbGx1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgZW5kOiAlZCwgRGF0YSBlbmQ6ICVkXG4iCittc2dzdHIgIktvbmllYyBpLXfEmXrFgsOzdzogJWQsIEtvbmllYyBkYW55Y2g6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTcKK21zZ2lkICJlcnJvciB3cml0aW5nIHN1cGVyYmxvY2siCittc2dzdHIgImLFgsSFZCB6YXBpc3Ugc3VwZXJibG9rdSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI3OAorbXNnaWQgImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIKK21zZ3N0ciAiYsWCxIVkIHphcGlzdSBnxYLDs3duZWdvIGktd8SZesWCYSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4MworbXNnaWQgImVycm9yIHdyaXRpbmcgaW5vZGUiCittc2dzdHIgImLFgsSFZCB6YXBpc3UgaS13xJl6xYJhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjg2Cittc2dpZCAic2VlayBlcnJvciIKK21zZ3N0ciAiYsWCxIVkIHByemVtaWVzemN6YW5pYSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5MgorbXNnaWQgImVycm9yIHdyaXRpbmcgLiBlbnRyeSIKK21zZ3N0ciAiYsWCxIVkIHphcGlzdSB3cGlzdSAnLiciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTYKK21zZ2lkICJlcnJvciB3cml0aW5nIC4uIGVudHJ5IgorbXNnc3RyICJixYLEhWQgemFwaXN1IHdwaXN1ICcuLiciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2xvc2luZyAlcyIKK21zZ3N0ciAiYsWCxIVkIHphbXlrYW5pYSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXQgPHR5cGU+XSBbZnMtb3B0aW9uc10gPGRldmljZT4gWzxzaXplPl1cbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gWy10IDx0eXA+XSBbb3BjamUtZnNdIDx1cnrEhWR6ZW5pZT4gWzxyb3ptaWFyPl1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDgKK21zZ2lkICJNYWtlIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiVHdvcnplbmllIGxpbnVrc293ZWdvIHN5c3RlbXUgcGxpa8Ozdy5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC10LCAtLXR5cGU9PHR5cGU+ICBmaWxlc3lzdGVtIHR5cGU7IHdoZW4gdW5zcGVjaWZpZWQsIGV4dDIgaXMgdXNlZFxuIgorbXNnc3RyICIgLXQsIC0tdHlwZT08dHlwPiAgIHR5cCBzeXN0ZW11IHBsaWvDs3c7IGRvbXnFm2xuaWUgdcW8eXdhbnkgamVzdCBleHQyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgZnMtb3B0aW9ucyAgICAgcGFyYW1ldGVycyBmb3IgdGhlIHJlYWwgZmlsZXN5c3RlbSBidWlsZGVyXG4iCittc2dzdHIgIiAgICAgb3BjamUtZnMgICAgICAgcGFyYW1ldHJ5IGZha3R5Y3puZWdvIHByb2dyYW11IHR3b3J6xIVjZWdvIHN5c3RlbSBwbGlrw7N3XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiICAgICA8dXJ6xIVkemVuaWU+ICAgxZtjaWXFvGthIGRvIHVyesSFZHplbmlhXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPHNpemU+ICAgICAgICAgbnVtYmVyIG9mIGJsb2NrcyB0byBiZSB1c2VkIG9uIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiICAgICA8cm96bWlhcj4gICAgICBsaWN6YmEgYmxva8OzdyB1cnrEhWR6ZW5pYSBkbyB3eWtvcnp5c3RhbmlhXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5aW5nIC1WIG1vcmUgdGhhbiBvbmNlIHdpbGwgY2F1c2UgYSBkcnktcnVuXG4iCittc2dzdHIgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIHd5amHFm25pYW5pZSB3eWtvbnl3YW55Y2ggY3p5bm5vxZtjaTsgcG9kYW5pZSB0ZWogb3BjamlcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgd2nEmWNlaiBuacW8IHJheiBwb3dvZHVqZSB1cnVjaG9taWVuaWUgYmV6IGZha3R5Y3puZWogYWtjamlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJzaW9uICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0O1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAtViBhcyAtLXZlcnNpb24gbXVzdCBiZSB0aGUgb25seSBvcHRpb25cbiIKK21zZ3N0ciAiIgorIiAtViwgLS12ZXJzaW9uICAgICAgd3lwaXNhbmllIGluZm9ybWFjamkgbyB3ZXJzamkgaSB6YWtvxYRjemVuaWVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgLVYgamFrbyAtLXZlcnNpb24gbXVzaSBiecSHIGplZHluxIUgb3BjasSFXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAgICAgIHd5xZt3aWV0bGVuaWUgdGVnbyBvcGlzdSBpIHpha2/FhGN6ZW5pZVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzoxMzkgbGliL2V4ZWNfc2hlbGwuYzo0OSBsb2dpbi11dGlscy9uZXdncnAuYzoyMzMKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY1NyBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5OTIKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwNCBzY2hlZHV0aWxzL2NocnQuYzo1NTgKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjYwIHNjaGVkdXRpbHMvdGFza3NldC5jOjIzOSBzeXMtdXRpbHMvZmxvY2suYzoxMjIKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDMwIHN5cy11dGlscy9wcmxpbWl0LmM6NjQ0IHN5cy11dGlscy9ydGN3YWtlLmM6NTc3CisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjMyNCBzeXMtdXRpbHMvc2V0YXJjaC5jOjQwMyBzeXMtdXRpbHMvc2V0c2lkLmM6MTE1CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzQwIHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI0MiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ2MQorIzogdGVybS11dGlscy9zY3JpcHQuYzo1ODEgdGV4dC11dGlscy9wZy5jOjEzNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGV4ZWN1dGUgJXMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB1cnVjaG9tacSHICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1c2FnZTogJXMgWy1oXSBbLXZdIFstYiBibGtzaXplXSBbLWUgZWRpdGlvbl0gWy1OIGVuZGlhbl0gWy1pIGZpbGVdIFstbiBuYW1lXSBkaXJuYW1lIG91dGZpbGVcbiIKKyIgLWggICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyIgLXYgICAgICAgICBiZSB2ZXJib3NlXG4iCisiIC1FICAgICAgICAgbWFrZSBhbGwgd2FybmluZ3MgZXJyb3JzIChub24temVybyBleGl0IHN0YXR1cylcbiIKKyIgLWIgYmxrc2l6ZSB1c2UgdGhpcyBibG9ja3NpemUsIG11c3QgZXF1YWwgcGFnZSBzaXplXG4iCisiIC1lIGVkaXRpb24gc2V0IGVkaXRpb24gbnVtYmVyIChwYXJ0IG9mIGZzaWQpXG4iCisiIC1OIGVuZGlhbiAgc2V0IGNyYW1mcyBlbmRpYW5uZXNzIChiaWd8bGl0dGxlfGhvc3QpLCBkZWZhdWx0IGhvc3RcbiIKKyIgLWkgZmlsZSAgICBpbnNlcnQgYSBmaWxlIGltYWdlIGludG8gdGhlIGZpbGVzeXN0ZW0gKHJlcXVpcmVzID49IDIuNC4wKVxuIgorIiAtbiBuYW1lICAgIHNldCBuYW1lIG9mIGNyYW1mcyBmaWxlc3lzdGVtXG4iCisiIC1wICAgICAgICAgcGFkIGJ5ICVkIGJ5dGVzIGZvciBib290IGNvZGVcbiIKKyIgLXMgICAgICAgICBzb3J0IGRpcmVjdG9yeSBlbnRyaWVzIChvbGQgb3B0aW9uLCBpZ25vcmVkKVxuIgorIiAteiAgICAgICAgIG1ha2UgZXhwbGljaXQgaG9sZXMgKHJlcXVpcmVzID49IDIuMy4zOSlcbiIKKyIgZGlybmFtZSAgICByb290IG9mIHRoZSBmaWxlc3lzdGVtIHRvIGJlIGNvbXByZXNzZWRcbiIKKyIgb3V0ZmlsZSAgICBvdXRwdXQgZmlsZVxuIgorbXNnc3RyICIiCisiU2vFgmFkbmlhOiAlcyBbLWhdIFstdl0gWy1iIHJvem1ibG9rdV0gWy1lIGVkeWNqYV0gWy1OIGVuZGlhbl0gWy1pIHBsaWtdIFstbiBuYXp3YV0ga2F0YWxvZyBwbGlrX3d5alxuIgorIiAtaCAgICAgICAgICAgIHd5xZt3aWV0bGVuaWUgdGVnbyBvcGlzdVxuIgorIiAtdiAgICAgICAgICAgIHdpxJlrc3phIGxpY3piYSBrb211bmlrYXTDs3dcbiIKKyIgLUUgICAgICAgICAgICB1Y3p5bmllbmllIHdzenlzdGtpY2ggb3N0cnplxbxlxYQgYsWCxJlkYW1pIChuaWV6ZXJvd3kga29kIHd5asWbY2lhKVxuIgorIiAtYiByb3ptYmxva3UgIHXFvHljaWUgdGVnbyByb3ptaWFydSBibG9rdSwgbXVzaSBiecSHIHLDs3dueSByb3ptaWFyb3dpIHN0cm9ueVxuIgorIiAtZSBlZHljamEgICAgIHVzdGF3aWVuaWUgbnVtZXJ1IGVkeWNqaSAoY3rEmcWbxIcgZnNpZGEpXG4iCisiIC1OIGVuZGlhbiAgICAga29sZWpub8WbxIcgYmFqdMOzdyB3IHPFgm93aWUgKGJpZ3xsaXR0bGV8aG9zdCksIGRvbXnFm2xuaWUgaG9zdFxuIgorIiAtaSBwbGlrICAgICAgIHdzdGF3aWVuaWUgb2JyYXp1IHBsaWt1IGRvIHN5c3RlbXUgcGxpa8OzdyAod3ltYWdhID49IDIuNC4wKVxuIgorIiAtbiBuYXp3YSAgICAgIHVzdGF3aWVuaWUgbmF6d3kgc3lzdGVtdSBwbGlrw7N3IGNyYW1mc1xuIgorIiAtcCAgICAgICAgICAgIHd5csOzd25hbmllIGRvICVkIGJhanTDs3cgZGxhIGtvZHUgcm96cnVjaG93ZWdvXG4iCisiIC1zICAgICAgICAgICAgc29ydG93YW5pZSB3cGlzw7N3IHcga2F0YWxvZ3UgKHN0YXJhIG9wY2phLCBpZ25vcm93YW5hKVxuIgorIiAteiAgICAgICAgICAgIHR3b3J6ZW5pZSBqYXdueWNoIGR6aXVyICh3eW1hZ2EgPj0gMi4zLjM5KVxuIgorIiBrYXRhbG9nICAgICAgIGfFgsOzd255IGthdGFsb2cgc3lzdGVtdSBwbGlrw7N3IGRvIGtvbXByZXNqaVxuIgorIiBwbGlrX3d5aiAgICAgIHBsaWsgd3lqxZtjaW93eVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWRsaW5rIGZhaWxlZDogJXMiCittc2dzdHIgInJlYWRsaW5rIG5pZSBwb3dpb2TFgm8gc2nEmTogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgb2Rjenl0YcSHIGthdGFsb2d1ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NDQzCittc2dpZCAiZmlsZXN5c3RlbSB0b28gYmlnLiAgRXhpdGluZy4iCittc2dzdHIgInN5c3RlbSBwbGlrw7N3IHphIGR1xbx5LiBaYWtvxYRjemVuaWUuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkFJRUVFOiBibG9jayBcImNvbXByZXNzZWRcIiB0byA+IDIqYmxvY2tsZW5ndGggKCVsZClcbiIKK21zZ3N0ciAiQcWBQUFBOiBibG9rIFwic2tvbXByZXNvd2FueVwiIGRvID4gMipkxYJ1Z2/Fm8SHIGJsb2t1ICglbGQpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTYuMmYlJSAoJStsZCBieXRlcylcdCVzXG4iCittc2dzdHIgIiU2LjJmJSUgKCUrbGQgYmFqdMOzdylcdCVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNsb3NlIGZpbGUgJXMiCittc2dzdHIgIm5pZSBtb8W8bmEgemFta27EhcSHIHBsaWt1ICclcyciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MzIKK21zZ2lkICJpbnZhbGlkIGVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRueSBudW1lciBlZHljamkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgInBvZGFubyBixYLEmWRuxIUga29sZWpub8WbxIcgYmFqdMOzdyB3IHPFgm93aWU7IG11c2kgYnnEhyBqZWRuxIUgeiAnYmlnJywgJ2xpdHRsZScgbHViICdob3N0JyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBndWVzdGltYXRlIG9mIHJlcXVpcmVkIHNpemUgKHVwcGVyIGJvdW5kKSBpcyAlbGxkTUIsIGJ1dCBtYXhpbXVtIGltYWdlIHNpemUgaXMgJXVNQi4gIFdlIG1pZ2h0IGRpZSBwcmVtYXR1cmVseS4iCittc2dzdHIgInV3YWdhOiBzemFjb3dhbnkgd3ltYWdhbnkgcm96bWlhciAoZ8Ozcm5hIGdyYW5pY2EpIHRvICVsbGRNQiwgYWxlIG1ha3N5bWFsbnkgcm96bWlhciBvYnJhenUgdG8gJXVNQi4gUHJvZ3JhbSBtb8W8ZSB6Z2luxIXEhyBwcnplZHdjemXFm25pZS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MzAKK21zZ2lkICJST00gaW1hZ2UgbWFwIgorbXNnc3RyICJNYXBhIG9icmF6dSBST00iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5jbHVkaW5nOiAlc1xuIgorbXNnc3RyICJEb8WCxIVjemFuaWU6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlyZWN0b3J5IGRhdGE6ICV6ZCBieXRlc1xuIgorbXNnc3RyICJEYW5lIGthdGFsb2d1OiAlemQgYmFqdMOzd1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkV2ZXJ5dGhpbmc6ICV6ZCBraWxvYnl0ZXNcbiIKK21zZ3N0ciAixYHEhWN6bmllOiAlemQga2lsb2JhanTDs3dcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2MQorIywgYy1mb3JtYXQKK21zZ2lkICJTdXBlciBibG9jazogJXpkIGJ5dGVzXG4iCittc2dzdHIgIlN1cGVyYmxvY2s6ICV6ZCBiYWp0w7N3XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1JDOiAleFxuIgorbXNnc3RyICJDUkM6ICV4XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSBhbGxvY2F0ZWQgZm9yIFJPTSBpbWFnZSAoJWxsZCBhbGxvY2F0ZWQsICV6dSB1c2VkKSIKK21zZ3N0ciAicHJ6eWR6aWVsb25vIHphIG1hxYJvIG1pZWpzY2EgbmEgb2JyYXogUk9NIChwcnp5ZHppZWxvbm8gJWxsZCwgdcW8eXRvICV6dSkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9NIGltYWdlIHdyaXRlIGZhaWxlZCAoJXpkICV6ZCkiCittc2dzdHIgImLFgsSFZCB6YXBpc3Ugb2JyYXp1IFJPTSAoJXpkICV6ZCkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODIKK21zZ2lkICJST00gaW1hZ2UiCittc2dzdHIgIm9icmF6IFJPTSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlbmFtZXMgdHJ1bmNhdGVkIHRvICV1IGJ5dGVzLiIKK21zZ3N0ciAidXdhZ2E6IG5hend5IHBsaWvDs3cgc2tyw7Njb25lIGRvICV1IGJhanTDs3cuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODkzCittc2dpZCAid2FybmluZzogZmlsZXMgd2VyZSBza2lwcGVkIGR1ZSB0byBlcnJvcnMuIgorbXNnc3RyICJ1d2FnYTogcG9taW5pxJl0byBwbGlraSB6IHBvd29kdSBixYLEmWTDs3cuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODk1CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGUgc2l6ZXMgdHJ1bmNhdGVkIHRvICVsdU1CIChtaW51cyAxIGJ5dGUpLiIKK21zZ3N0ciAidXdhZ2E6IHptbmllanN6b25vIHJvem1pYXJ5IHBsaWvDs3cgZG8gJWx1TUIgKG1pbnVzIDEgYmFqdCkuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODk5CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHVpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgInV3YWdhOiB1aWR5IHNrcsOzY29uZSBkbyAldSBiaXTDs3cgKG1vxbxlIHRvIHJ6dXRvd2HEhyBuYSBiZXpwaWVjemXFhHN0d28pLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwMgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBnaWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJ1d2FnYTogZ2lkeSBza3LDs2NvbmUgZG8gJXUgYml0w7N3IChtb8W8ZSB0byByenV0b3dhxIcgbmEgYmV6cGllY3plxYRzdHdvKS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldBUk5JTkc6IGRldmljZSBudW1iZXJzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgVGhpcyBhbG1vc3QgY2VydGFpbmx5IG1lYW5zXG4iCisidGhhdCBzb21lIGRldmljZSBmaWxlcyB3aWxsIGJlIHdyb25nLiIKK21zZ3N0ciAiIgorIlVXQUdBOiBudW1lcnkgdXJ6xIVkemXFhCBza3LDs2NvbmUgZG8gJXUgYml0w7N3LiBQcmF3aWUgbmEgcGV3bm8gb3puYWN6YSB0bywgxbxlXG4iCisia3TDs3JlxZsgcGxpa3UgdXJ6xIVkemXFhCBixJlkxIUgbmlld8WCYcWbY2l3ZS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC9kZXYvbmFtZSBbYmxvY2tzXVxuIgorbXNnc3RyICIgJXMgW29wY2plXSAvZGV2L25hendhIFtibG9raV1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM3Cittc2dpZCAiIC0xICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDFcbiIKK21zZ3N0ciAiIC0xICAgICAgICAgICAgICAgICAgICAgIHXFvHljaWUgd2Vyc2ppIDEgTWluaWtzYVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzgKK21zZ2lkICIgLTIsIC12ICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMlxuIgorbXNnc3RyICIgLTIsIC12ICAgICAgICAgICAgICAgICAgdcW8eWNpZSB3ZXJzamkgMiBNaW5pa3NhXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOQorbXNnaWQgIiAtMyAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAzXG4iCittc2dzdHIgIiAtMyAgICAgICAgICAgICAgICAgICAgICB1xbx5Y2llIHdlcnNqaSAzIE1pbmlrc2FcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQwCittc2dpZCAiIC1uLCAtLW5hbWVsZW5ndGggPG51bT4gIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgLW4sIC0tbmFtZWxlbmd0aCA8aWxlPiAgbWFrc3ltYWxuYSBkxYJ1Z2/Fm8SHIG5hencgcGxpa8Ozd1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDEKK21zZ2lkICIgLWksIC0taW5vZGVzIDxudW0+ICAgICAgbnVtYmVyIG9mIGlub2RlcyBmb3IgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC1pLCAtLWlub2RlcyA8bGljemJhPiAgIGxpY3piYSBpLXfEmXrFgsOzdyB3IHN5c3RlbWllIHBsaWvDs3dcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQyCittc2dpZCAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIGNoZWNrIHRoZSBkZXZpY2UgZm9yIGJhZCBibG9ja3NcbiIKK21zZ3N0ciAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIHNwcmF3ZHplbmllIHVyesSFZHplbmlhIHBvZCBrxIV0ZW0gd2FkbGl3eWNoIGJsb2vDs3dcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQzCittc2dpZCAiIC1sLCAtLWJhZGJsb2NrcyA8ZmlsZT4gIGxpc3Qgb2YgYmFkIGJsb2NrcyBmcm9tIGZpbGVcbiIKK21zZ3N0ciAiIC1sLCAtLWJhZGJsb2NrcyA8cGxpaz4gIGxpc3RhIHdhZGxpd3ljaCBibG9rw7N3IHogcGxpa3VcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIHRvIGJvb3QgYmxvY2sgZmFpbGVkICBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgIiVzOiBwcnplbWllc3pjemVuaWUgbmEgYmxvayByb3pydWNob3d5IG5pZSBwb3dpb2TFgm8gc2nEmSB3ZSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGNsZWFyIGJvb3Qgc2VjdG9yIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIHd5Y3p5xZtjacSHIHNla3RvcmEgcm96cnVjaG93ZWdvIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAiJXM6IHByemVtaWVzemN6ZW5pZSBuaWUgcG93aW9kxYJvIHNpxJkgd2Ugd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gc2nEmSB6YXBpc2HEhyBzdXBlcmJsb2t1IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgemFwaXNhxIcgbWFweSBpLXfEmXrFgsOzdyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgem9uZSBtYXAiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgemFwaXNhxIcgbWFweSBzdHJlZiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIHphcGlzYcSHIGktd8SZesWCw7N3IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICIlczogcHJ6ZW1pZXN6Y3plbmllIG5pZSBwb3dpb2TFgm8gc2nEmSB3ZSB3cml0ZV9ibG9jayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIiVzOiB6YXBpcyBuaWUgcG93acOzZMWCIHNpxJkgd2Ugd3JpdGVfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyMSBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyOTYKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjM0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIG1hbnkgYmFkIGJsb2NrcyIKK21zZ3N0ciAiJXM6IHpieXQgZHXFvG8gd2FkbGl3eWNoIGJsb2vDs3ciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGVub3VnaCBnb29kIGJsb2NrcyIKK21zZ3N0ciAiJXM6IHpieXQgbWHFgm8gZG9icnljaCBibG9rw7N3IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkZpcnN0IGRhdGEgYmxvY2sgYXQgJWpkLCB3aGljaCBpcyB0b28gZmFyIChtYXggJWQpLlxuIgorIlRyeSBzcGVjaWZ5aW5nIGZld2VyIGlub2RlcyBieSBwYXNzaW5nIC0taW5vZGVzIDxudW0+IgorbXNnc3RyICIiCisiUGllcndzenkgYmxvayBkYW55Y2ggcG9kICVqZCwgYSB0byB6YSBkYWxla28gKG1ha3NpbXVtICVkKS5cbiIKKyJNb8W8bmEgc3Byw7Nib3dhxIcgcG9kYcSHIG1uaWVqIGktd8SZesWCw7N3IG9wY2rEhSAtLWlub2RlcyA8bGljemJhPiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIiVsdSBpLXfEmXplxYJcbiIKK21zZ3N0clsxXSAiJWx1IGktd8SZesWCeVxuIgorbXNnc3RyWzJdICIlbHUgaS13xJl6xYLDs3c6XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlbHUgYmxva1xuIgorbXNnc3RyWzFdICIlbHUgYmxva2lcbiIKK21zZ3N0clsyXSAiJWx1IGJsb2vDs3dcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSV6dVxuIgorbXNnc3RyICJab25lc2l6ZT0lenVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJNYXhzaXplPSV6dVxuIgorIlxuIgorbXNnc3RyICIiCisiTWF4c2l6ZT0lenVcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBkdXJpbmcgdGVzdGluZyBvZiBibG9ja3MiCittc2dzdHIgIiVzOiBwcnplbWllc3pjemVuaWUgbmllIHBvd2lvZMWCbyBzacSZIHBvZGN6YXMgc3ByYXdkemFuaWEgYmxva8OzdyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIldlaXJkIHZhbHVlcyBpbiBkb19jaGVjazogcHJvYmFibHkgYnVnc1xuIgorbXNnc3RyICJEeml3bmEgd2FydG/Fm8SHIHcgZG9fY2hlY2s6IHByYXdkb3BvZG9ibmllIGLFgsSZZHlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgIiVzOiBwcnplbWllc3pjemVuaWUgbmllIHBvd2lvZMWCbyBzacSZIHcgY2hlY2tfYmxvY2tzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBibG9ja3MgYmVmb3JlIGRhdGEtYXJlYTogY2Fubm90IG1ha2UgZnMiCittc2dzdHIgIiVzOiB3YWRsaXdlIGJsb2tpIHByemVkIG9ic3phcmVtIGRhbnljaDogbmllIG1vxbxuYSB1dHdvcnp5xIcgc3lzdGVtdSBwbGlrw7N3IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MzkgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGJhZCBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlZCBiYWQgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVkIHdhZGxpd3kgYmxva1xuIgorbXNnc3RyWzFdICIlZCB3YWRsaXdlIGJsb2tpXG4iCittc2dzdHJbMl0gIiVkIHdhZGxpd3ljaCBibG9rw7N3XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgb3BlbiBmaWxlIG9mIGJhZCBibG9ja3MiCittc2dzdHIgIiVzOiBuaWUgbW/FvG5hIG90d29yennEhyBwbGlrdSB6IHdhZGxpd3ltaSBibG9rYW1pIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkYmxvY2sgbnVtYmVyIGlucHV0IGVycm9yIG9uIGxpbmUgJWRcbiIKK21zZ3N0ciAiYsWCxJlkbnkgbnVtZXIgd2FkbGl3ZWdvIGJsb2t1IHcgbGluaWkgJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBiYWRibG9ja3MgZmlsZSIKK21zZ3N0ciAiJXM6IG5pZSBtb8W8bmEgb2Rjenl0YcSHIHBsaWt1IHdhZGxpd3ljaCBibG9rw7N3IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgc2l6ZSBzbWFsbGVyIHRoYW4gcGh5c2ljYWwgc2VjdG9yIHNpemUgb2YgJXMiCittc2dzdHIgInJvem1pYXIgYmxva3UgbW5pZWpzenkgbmnFvCByb3ptaWFyIGZpenljem5lZ28gc2VrdG9yYSBuYSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgc2l6ZSBvZiAlcyIKK21zZ3N0ciAibmllIG1vxbxuYSBva3JlxZtsacSHIHJvem1pYXJ1ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlcXVlc3RlZCBibG9ja3MgKCVsbHUpIGV4Y2VlZHMgYXZhaWxhYmxlICglbGx1KSBibG9ja3NcbiIKK21zZ3N0ciAiJXM6IMW8xIVkYW5hIGxpY3piYSBibG9rw7N3ICglbGx1KSBwcnpla3JhY3phIGxpY3pixJkgZG9zdMSZcG55Y2ggYmxva8OzdyAoJWxsdSlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiJXM6IGxpY3piYSBibG9rw7N3IHpieXQgbWHFgmEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbmFtZSBsZW5ndGg6ICVkIgorbXNnc3RyICJuaWUgb2JzxYJ1Z2l3YW5hIGTFgnVnb8WbxIcgbmF6dzogJWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBtaW5peCBmaWxlIHN5c3RlbSB2ZXJzaW9uOiAlZCIKK21zZ3N0ciAibmllIG9ic8WCdWdpd2FuYSB3ZXJzamEgc3lzdGVtdSBwbGlrw7N3IG1pbml4OiAlZCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzY3Cittc2dpZCAiLXYgaXMgYW1iaWd1b3VzLCB1c2UgJy0yJyBpbnN0ZWFkIgorbXNnc3RyICItdiBqZXN0IG5pZWplZG5vem5hY3puZSwgbmFsZcW8eSB1xbx5d2HEhyAnLTInIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NzgKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6ZWFuYWxpem93YcSHIG1ha3N5bWFsbmVqIGTFgnVnb8WbY2kgbmF6dyBwbGlrw7N3IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyBsaWN6YnkgaS13xJl6xYLDs3ciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgwNgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgYmxvY2tzIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6ZWFuYWxpem93YcSHIGxpY3pieSBibG9rw7N3IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBhIGZpbGVzeXN0ZW0gaGVyZSEiCittc2dzdHIgIiVzIGplc3QgemFtb250b3dhbnk7IG9kbW93YSB1dHdvcnplbmlhIHRhbSBzeXN0ZW11IHBsaWvDs3chIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJXUiCittc2dzdHIgIkLFgsSZZG55IHBvZGFueSBwcnpleiB1xbx5dGtvd25pa2Egcm96bWlhciBzdHJvbnkgJXUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICVkLCBpbnN0ZWFkIG9mIHRoZSBzeXN0ZW0gdmFsdWUgJWQiCittc2dzdHIgIlXFvHljaWUgcG9kYW5lZ28gcHJ6ZXogdcW8eXRrb3duaWthIHJvem1pYXJ1IHN0cm9ueSAlZCB6YW1pYXN0IHN5c3RlbW93ZWdvICVkIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEyNAorbXNnaWQgIkxhYmVsIHdhcyB0cnVuY2F0ZWQuIgorbXNnc3RyICJFdHlraWV0YSB6b3N0YcWCYSBza3LDs2NvbmEuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBsYWJlbCwgIgorbXNnc3RyICJicmFrIGV0eWtpZXR5LCAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHV1aWRcbiIKK21zZ3N0ciAiYnJhayB1dWlkYVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXSBkZXZpY2UgW3NpemVdXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTa8WCYWRuaWE6XG4iCisiICVzIFtvcGNqZV0gdXJ6xIVkemVuaWUgW3Jvem1pYXJdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTUyCittc2dpZCAiU2V0IHVwIGEgTGludXggc3dhcCBhcmVhLlxuIgorbXNnc3RyICJUd29yemVuaWUgbGludWtzb3dlZ28gb2JzemFydSB3eW1pYW55LlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICBjaGVjayBiYWQgYmxvY2tzIGJlZm9yZSBjcmVhdGluZyB0aGUgc3dhcCBhcmVhXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgYWxsb3cgc3dhcCBzaXplIGFyZWEgYmUgbGFyZ2VyIHRoYW4gZGV2aWNlXG4iCisiIC1wLCAtLXBhZ2VzaXplIFNJWkUgICAgICAgc3BlY2lmeSBwYWdlIHNpemUgaW4gYnl0ZXNcbiIKKyIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICBzcGVjaWZ5IGxhYmVsXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAgc3BlY2lmeSBzd2FwLXNwYWNlIHZlcnNpb24gbnVtYmVyXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgc3BlY2lmeSB0aGUgdXVpZCB0byB1c2VcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcGNqZTpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICB0ZXN0IGLFgsSZZG55Y2ggYmxva8OzdyBwcnplZCB1dHcuIG9ic3phcnUgd3ltaWFueVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIHplendvbGVuaWUgbmEgb2JzemFyIHd5bWlhbnkgd2nEmWtzenkgbmnFvCB1cnrEhWR6ZW5pZVxuIgorIiAtcCwgLS1wYWdlc2l6ZSBST1pNSUFSICAgIG9rcmXFm2xlbmllIHJvem1pYXJ1IHN0cm9ueSB3IGJhanRhY2hcbiIKKyIgLUwsIC0tbGFiZWwgRVRZS0lFVEEgICAgICBva3JlxZtsZW5pZSBldHlraWV0eVxuIgorIiAtdiwgLS1zd2FwdmVyc2lvbiBOVU1FUiAgIG9rcmXFm2xlbmllIG51bWVydSB3ZXJzamkgb2JzemFydSB3eW1pYW55XG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgb2tyZcWbbGVuaWUgdXVpZGEgZG8gdcW8eWNpYVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgIHd5cGlzYW5pZSBpbmZvcm1hY2ppIG8gd2Vyc2ppIGkgemFrb8WEY3plbmllXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgd3nFm3dpZXRsZW5pZSB0ZWdvIG9waXN1IGkgemFrb8WEY3plbmllXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGJhZCBwYWdlczogJWx1IgorbXNnc3RyICJ6YSBkdcW8byB3YWRsaXd5Y2ggc3Ryb246ICVsdSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxOTUKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgInByemVtaWVzemN6ZW5pZSBuaWUgcG93aW9kxYJvIHNpxJkgdyBjaGVja19ibG9ja3MiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBiYWQgcGFnZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgYmFkIHBhZ2VzXG4iCittc2dzdHJbMF0gIiVsdSB3YWRsaXdhIHN0cm9uYVxuIgorbXNnc3RyWzFdICIlbHUgd2FkbGl3ZSBzdHJvbnlcbiIKK21zZ3N0clsyXSAiJWx1IHdhZGxpd3ljaCBzdHJvblxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIyOAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBuZXcgbGliYmxraWQgcHJvYmUiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnp5ZHppZWxpxIcgbm93ZWogc29uZHkgbGliYmxraWQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMwCittc2dpZCAidW5hYmxlIHRvIGFzc2lnbiBkZXZpY2UgdG8gbGliYmxraWQgcHJvYmUiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnp5cGlzYcSHIHVyesSFZHplbmlhIGRvIHNvbmR5IGxpYmJsa2lkIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjaGVja2luZyBiYWQgYmxvY2tzIGZyb20gc3dhcCBmaWxlIGlzIG5vdCBzdXBwb3J0ZWQ6ICVzIgorbXNnc3RyICJ1d2FnYTogc3ByYXdkemFuaWUgd2FkbGl3eWNoIGJsb2vDs3cgeiBwbGlrdSB3eW1pYW55IG5pZSBqZXN0IG9ic8WCdWdpd2FuZTogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjYxIGRpc2stdXRpbHMvbWtzd2FwLmM6Mjg3IGRpc2stdXRpbHMvbWtzd2FwLmM6MzM0Cittc2dpZCAidW5hYmxlIHRvIHJld2luZCBzd2FwLWRldmljZSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemV3aW7EhcSHIHVyesSFZHplbmlhIHN3YXBhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI5MAorbXNnaWQgInVuYWJsZSB0byBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgdXN1bsSFxIcgc2VrdG9yw7N3IHJvenJ1Y2hvd3ljaCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IHdpcGluZyBvbGQgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiJXM6IHV3YWdhOiB1c3V3YW5pZSBzdGFyZWogc3lnbmF0dXJ5ICVzLiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IGRvbid0IGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgIiVzOiB1d2FnYTogbmllIHVzdW5pxJl0byBzZWt0b3LDs3cgcm96cnVjaG93eWNoIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICglcyBwYXJ0aXRpb24gdGFibGUgZGV0ZWN0ZWQpLiAiCittc2dzdHIgIiAgICAgICAgKHd5a3J5dG8gdGFibGljxJkgcGFydHljamkgJXMpLiAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKGNvbXBpbGVkIHdpdGhvdXQgbGliYmxraWQpLiAiCittc2dzdHIgIiAgICAgICAgKHpidWRvd2FubyBiZXogbGliYmxraWQpLiAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzZSAtZiB0byBmb3JjZS5cbiIKK21zZ3N0ciAiVyBjZWx1IHd5bXVzemVuaWEgbW/FvG5hIHXFvHnEhyBvcGNqaSAtZi5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzaWduYXR1cmUgcGFnZSIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gc2nEmSB6YXBpc2HEhyBzdHJvbnkgc3lnbmF0dXJ5IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4MAorbXNnaWQgInBhcnNpbmcgcGFnZSBzaXplIGZhaWxlZCIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyByb3ptaWFydSBzdHJvbnkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg2Cittc2dpZCAicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgbnVtZXJ1IHdlcnNqaSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcHNwYWNlIHZlcnNpb24gJWQgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAib2JzemFyIHd5bWlhbnkgdyB3ZXJzamkgJWQgbmllIGplc3Qgb2JzxYJ1Z2l3YW55IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBpZ25vcmluZyAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkIGJ5ICVzKSIKK21zZ3N0ciAidXdhZ2E6IHppZ25vcm93YW5vIC1VIChVVUlELXkgbmllIHPEhSBvYnPFgnVnaXdhbmUgcHJ6ZXogJXMpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQxNAorbXNnaWQgIm9ubHkgb25lIGRldmljZSBhcmd1bWVudCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIgorbXNnc3RyICJvYmVjbmllIG9ic8WCdWdpd2FueSBqZXN0IHR5bGtvIGplZGVuIGFyZ3VtZW50IGLEmWTEhWN5IHVyesSFZHplbmllbSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MjEKK21zZ2lkICJlcnJvcjogcGFyc2luZyBVVUlEIGZhaWxlZCIKK21zZ3N0ciAiYsWCxIVkOiBhbmFsaXphIFVVSUQtYSBuaWUgcG93aW9kxYJhIHNpxJkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDMwCittc2dpZCAiZXJyb3I6IE5vd2hlcmUgdG8gc2V0IHVwIHN3YXAgb24/IgorbXNnc3RyICJixYLEhWQ6IE5pZSBtYSBnZHppZSB1dHdvcnp5xIcgb2JzemFydSB3eW1pYW55PyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzYKK21zZ2lkICJpbnZhbGlkIGJsb2NrIGNvdW50IGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSBsaWN6YmEgYmxva8OzdyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHNpemUgJWxsdSBLaUIgaXMgbGFyZ2VyIHRoYW4gZGV2aWNlIHNpemUgJTxQUkl1NjQ+IEtpQiIKK21zZ3N0ciAiYsWCxIVkOiByb3ptaWFyICVsbHUgS2lCIGplc3Qgd2nEmWtzenkgbmnFvCByb3ptaWFyIHVyesSFZHplbmlhICU8UFJJdTY0PiBLaUIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDUxCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzd2FwIGFyZWEgbmVlZHMgdG8gYmUgYXQgbGVhc3QgJWxkIEtpQiIKK21zZ3N0ciAiYsWCxIVkOiBvYnN6YXIgd3ltaWFueSBtdXNpIG1pZcSHIHByenluYWptbmllaiAlbGQgS2lCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB0cnVuY2F0aW5nIHN3YXAgYXJlYSB0byAlbGx1IEtpQiIKK21zZ3N0ciAidXdhZ2E6IHptbmllanN6b25vIHJvem1pYXIgd3ltaWFueSBkbyAlbGx1IEtpQiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2Ugc3dhcHNwYWNlIgorbXNnc3RyICJixYLEhWQ6ICVzIGplc3QgemFtb250b3dhbnk7IG9kbW93YSB1dHdvcnplbmlhIG9ic3phcnUgd3ltaWFueSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0Njggc3lzLXV0aWxzL3N3YXBvbi5jOjUyNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgcGVybWlzc2lvbnMgJTA0bywgJTA0byBzdWdnZXN0ZWQuIgorbXNnc3RyICIlczogbmllYmV6cGllY3puZSB1cHJhd25pZW5pYSAlMDRvLCBwb3dpbm5vIGJ5xIcgJTA0by4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDcyIHN5cy11dGlscy9zd2Fwb24uYzo1MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIGZpbGUgb3duZXIgJWQsIDAgKHJvb3QpIHN1Z2dlc3RlZC4iCittc2dzdHIgIiVzOiBuaWViZXpwaWVjem55IHfFgmHFm2NpY2llbCBwbGlrdSAlZCwgc3VnZXJvd2FueSAwIChyb290KS4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDg3Cittc2dpZCAiVW5hYmxlIHRvIHNldCB1cCBzd2FwLXNwYWNlOiB1bnJlYWRhYmxlIgorbXNnc3RyICJOaWUgdWRhxYJvIHNpxJkgdXR3b3J6ecSHIG9ic3phcnUgd3ltaWFueTogbmllY3p5dGVsbnkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgdXAgc3dhcHNwYWNlIHZlcnNpb24gJWQsIHNpemUgPSAlcyAoJTxQUkl1NjQ+IGJ5dGVzKVxuIgorbXNnc3RyICJUd29yemVuaWUgb2JzemFydSB3eW1pYW55IHcgd2Vyc2ppICVkLCByb3ptaWFyID0gJXMgKGJhanTDs3c6ICU8UFJJdTY0PilcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBvYnRhaW4gc2VsaW51eCBmaWxlIGxhYmVsIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIHV6eXNrYcSHIGV0eWtpZXR5IHBsaWt1IFNFTGludWtzYSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTUKK21zZ2lkICJ1bmFibGUgdG8gbWF0Y2hwYXRoY29uKCkiCittc2dzdHIgIm1hdGNocGF0aGNvbigpIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTgKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIG5ldyBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB1dHdvcnp5xIcgbm93ZWdvIGtvbnRla3N0dSBTRUxpbnVrc2EiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTIwCittc2dpZCAiY291bGRuJ3QgY29tcHV0ZSBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB3eWxpY3p5xIcga29udGVrc3R1IFNFTGludWtzYSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlbGFiZWwgJXMgdG8gJXMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplZXR5a2lldG93YcSHICVzIG5hICVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODYKK21zZ2lkICJwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJudW1lciBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg3Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICJwb2N6xIV0ZWsgcGFydHljamkgdyBzZWt0b3JhY2giCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OAorbXNnaWQgImVuZCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgImtvbmllYyBwYXJ0eWNqaSB3IHNla3RvcmFjaCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg5Cittc2dpZCAibnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgImxpY3piYSBzZWt0b3LDs3ciCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MAorbXNnaWQgImh1bWFuIHJlYWRhYmxlIHNpemUiCittc2dzdHIgInJvem1pYXIgdyBwb3N0YWNpIGN6eXRlbG5laiBkbGEgY3rFgm93aWVrYSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkxCittc2dpZCAicGFydGl0aW9uIG5hbWUiCittc2dzdHIgIm5hendhIHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA4IG1pc2MtdXRpbHMvbHNibGsuYzoxNjgKK21zZ2lkICJwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiVVVJRCBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkzCittc2dpZCAicGFydGl0aW9uIHRhYmxlIHR5cGUgKGRvcywgZ3B0LCAuLi4pIgorbXNnc3RyICJ0eXAgdGFibGljeSBwYXJ0eWNqaSAoZG9zLCBncHQuLi4pIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQgbWlzYy11dGlscy9sc2Jsay5jOjE2OQorbXNnaWQgInBhcnRpdGlvbiBmbGFncyIKK21zZ3N0ciAiZmxhZ2kgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIChhIHN0cmluZywgYSBVVUlELCBvciBoZXgpIgorbXNnc3RyICJ0eXAgcGFydHljamkgKMWCYcWEY3VjaCwgVVVJRCBsdWIgc3plc25hc3Rrb3dvKSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUwOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjYxNgorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BjeHQiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB6YWluaWNqb3dhxIcgbG9vcGN0eCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIG9kbmFsZcW6xIcgxbxhZG5lZ28gbmllIHXFvHl3YW5lZ28gdXJ6xIVkemVuaWEgbG9vcCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyMgorIywgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gdXNlICclcycgZm9yIHRoZSBsb29wIGRldmljZVxuIgorbXNnc3RyICJQcsOzYmEgdcW8eWNpYSAnJXMnIGpha28gdXJ6xIVkemVuaWEgbG9vcFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gdXN0YXdpxIcgcG93acSFemFuZWdvIHBsaWt1IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTMxIHN5cy11dGlscy9sb3NldHVwLmM6NTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIHNrb25maWd1cm93YcSHIHVyesSFZHplbmlhIGxvb3AiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxNjEgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozMDcgbWlzYy11dGlscy9maW5kbW50LmM6Mzc2CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MzU0IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM0MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEwNworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzcyIHN5cy11dGlscy9sc2lwYy5jOjIzMiBzeXMtdXRpbHMvbHNucy5jOjE4OQorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyNzcgc3lzLXV0aWxzL3N3YXBvbi5jOjE0NyBzeXMtdXRpbHMvd2RjdGwuYzoxNTEKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAibmllem5hbmEga29sdW1uYTogJXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gc2nEmSB6YXBpc2HEhyBudW1lcnUgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyODYgZGlzay11dGlscy9wYXJ0eC5jOjMyNCBkaXNrLXV0aWxzL3BhcnR4LmM6NDc3CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZmllZCByYW5nZSA8JWQ6JWQ+IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgInBvZGFueSBwcnplZHppYcWCIDwlZDolZD4gbmllIG1hIHNlbnN1IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MjkwCisjLCBjLWZvcm1hdAorbXNnaWQgInJhbmdlIHJlY291bnQ6IG1heCBwYXJ0bm89JWQsIGxvd2VyPSVkLCB1cHBlcj0lZFxuIgorbXNnc3RyICJwcnplbGljemVuaWUgcm96bWlhcnU6IG1ha3MuIG51bWVyIHBhcnR5Y2ppPSVkLCBkb2xueT0lZCwgZ8Ozcm55PSVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXM6IGLFgsSFZCB1c3V3YW5pYSBwYXJ0eWNqaSAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXM6IGLFgsSFZCB1c3V3YW5pYSBwYXJ0eWNqaSAlZC0lZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZW1vdmVkXG4iCittc2dzdHIgIiVzOiB1c3VuacSZdG8gcGFydHljasSZICMlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGRvZXNuJ3QgZXhpc3RcbiIKK21zZ3N0ciAiJXM6IHBhcnR5Y2phICMlZCBuaWUgaXN0bmllamVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGVsZXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiB1c3VuacSZY2llIHBhcnR5Y2ppICMlZCBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiBixYLEhWQgcG9kY3phcyBkb2Rhd2FuaWEgcGFydHljamkgJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczogYsWCxIVkIHBvZGN6YXMgZG9kYXdhbmlhIHBhcnR5Y2ppICVkLSVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDA1IGRpc2stdXRpbHMvcGFydHguYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIKK21zZ3N0ciAiJXM6IGRvZGFubyBwYXJ0eWNqxJkgIyVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFkZGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGRvZGFuaWUgcGFydHljamkgIyVkIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIlczogYsWCxIVkIGFrdHVhbGl6YWNqaSBwYXJ0eWNqaSAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXM6IGLFgsSFZCBha3R1YWxpemFjamkgcGFydHljamkgJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiAjJWQiCittc2dzdHIgIiVzOiBicmFrIHBhcnR5Y2ppICMlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZXNpemVkXG4iCittc2dzdHIgIiVzOiB6bWllbmlvbm8gcm96bWlhciBwYXJ0eWNqaSAjJWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdXBkYXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiBha3R1YWxpemFjamEgcGFydHljamkgIyVkIG5pZSBwb3dpb2TFgmEgc2nEmSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9yLCAlNmp1IE1CKVxuIgorbXNnaWRfcGx1cmFsICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9ycywgJTZqdSBNQilcbiIKK21zZ3N0clswXSAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNla3RvciwgJTZqdSBNQilcbiIKK21zZ3N0clsxXSAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNla3RvcnksICU2anUgTUIpXG4iCittc2dzdHJbMl0gIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWt0b3LDs3csICU2anUgTUIpXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1ODEgbWlzYy11dGlscy9maW5kbW50LmM6Njg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjcwNQorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzkxIHN5cy11dGlscy9sc25zLmM6NDU2Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBsaW5lIHRvIG91dHB1dCIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIGRvZGHEhyBsaW5paSBkbyB3eWrFm2NpYSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY0NAorbXNnaWQgImZhaWxlZCB0byBhZGQgZGF0YSB0byBvdXRwdXQgdGFibGUiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBkb2RhxIcgZGFueWNoIGRvIHRhYmVsaSB3eWrFm2Npb3dlaiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY2NyBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjkyMiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTg1CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg3NCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NTEgc3lzLXV0aWxzL2xvc2V0dXAuYzozMTAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MTMgc3lzLXV0aWxzL2xzaXBjLmM6MzM4IHN5cy11dGlscy9sc25zLmM6NTExCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI5NyBzeXMtdXRpbHMvc3dhcG9uLmM6MjgwIHN5cy11dGlscy93ZGN0bC5jOjI1OQorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo0ODQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB6YWluaWNqb3dhxIcgdGFiZWxpIHd5asWbY2lvd2VqIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Njc4IG1pc2MtdXRpbHMvZmluZG1udC5jOjE2MTEgbWlzYy11dGlscy9sc2Jsay5jOjE4OTYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ2NSBzeXMtdXRpbHMvbG9zZXR1cC5jOjMyMiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM1OAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTcxOCBzeXMtdXRpbHMvbHNucy5jOjUzMiBzeXMtdXRpbHMvcHJsaW1pdC5jOjMwNgorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI4OSBzeXMtdXRpbHMvd2RjdGwuYzoyNzAgc3lzLXV0aWxzL3pyYW1jdGwuYzo0OTMKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgemFpbmljam93YcSHIGtvbHVtbnkgd3lqxZtjaW93ZWoiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgZmlsdGVyIGZvciAnJXMnIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgemFpbmljam93YcSHIGZpbHRyYSBibGtpZCBkbGEgJyVzJyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIG9kY3p5dGHEhyB0YWJsaWN5IHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgdHlwZSAnJXMnIGRldGVjdGVkXG4iCittc2dzdHIgIiVzOiB3eWtyeXRvIHRhYmxpY8SZIHBhcnR5Y2ppIHR5cHUgJyVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgd2l0aCBubyBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogdGFibGljYSBwYXJ0eWNqaSBiZXogcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8cGFydGl0aW9uPl0gPGRpc2s+XG4iCittc2dzdHIgIiAlcyBbLWF8LWR8LXN8LXVdIFstLW5yIDxuOm0+IHwgPHBhcnR5Y2phPl0gPGR5c2s+XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTYKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIHByZXNlbmNlIGFuZCBudW1iZXJpbmcgb2YgcGFydGl0aW9ucy5cbiIKK21zZ3N0ciAiUG93aWFkb21pZW5pZSBqxIVkcmEgbyBvYmVjbm/Fm2NpIGkgbnVtZXJhY2ppIHBhcnR5Y2ppLlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzU5Cittc2dpZCAiIC1hLCAtLWFkZCAgICAgICAgICAgIGFkZCBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLWEsIC0tYWRkICAgICAgICAgICAgZG9kYW5pZSBwb2RhbnljaCBwYXJ0eWNqaSBsdWIgd3N6eXN0a2ljaFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYwCittc2dpZCAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIGRlbGV0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLWQsIC0tZGVsZXRlICAgICAgICAgdXN1bmnEmWNpZSBwb2RhbnljaCBwYXJ0eWNqaSBsdWIgd3N6eXN0a2ljaFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYxCittc2dpZCAiIC11LCAtLXVwZGF0ZSAgICAgICAgIHVwZGF0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLXUsIC0tdXBkYXRlICAgICAgICAgYWt0dWFsaXphY2phIHBvZGFueWNoIHBhcnR5Y2ppIGx1YiB3c3p5c3RraWNoXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjIKK21zZ2lkICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgIGxpc3QgcGFydGl0aW9uc1xuIgorIlxuIgorbXNnc3RyICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgIGxpc3RhIHBhcnR5Y2ppXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjMgbWlzYy11dGlscy9sc2Jsay5jOjE2MjMKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorIiAtYiwgLS1ieXRlcyAgICAgICAgICB3eXBpc3l3YW5pZSByb3ptaWFyw7N3IHcgYmFqdGFjaCB6YW1pYXN0IGZvcm1hdHVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgY3p5dGVsbmVnbyBkbGEgY3rFgm93aWVrYVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY0Cittc2dpZCAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLXNob3dcbiIKK21zZ3N0ciAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIGJleiB3eXBpc3l3YW5pYSBuYWfFgsOzd2vDs3cgcHJ6eSAtLXNob3dcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NQorbXNnaWQgIiAtbiwgLS1uciA8bjptPiAgICAgICBzcGVjaWZ5IHRoZSByYW5nZSBvZiBwYXJ0aXRpb25zIChlLmcuIC0tbnIgMjo0KVxuIgorbXNnc3RyICIgLW4sIC0tbnIgPG46bT4gICAgICAgb2tyZcWbbGVuaWUgcHJ6ZWR6aWHFgnUgcGFydHljamkgKG5wLiAtLW5yIDI6NClcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NgorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RhPiBva3JlxZtsZW5pZSBrb2x1bW4gZG8gd3lwaXNhbmlhIG5hIHd5asWbY2l1XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjcgbWlzYy11dGlscy9sc2Jsay5jOjE2MzcKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVAsIC0tcGFpcnMgICAgICAgICAgd3lqxZtjaWUgdyBmb3JtYWNpZSBrbHVjej1cIndhcnRvxZvEh1wiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjggbWlzYy11dGlscy9sc2Jsay5jOjE2MzgKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICB3eWrFm2NpZSB3IGZvcm1hY2llIHN1cm93eW1cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICBzcGVjaWZ5IHRoZSBwYXJ0aXRpb24gdHlwZSAoZG9zLCBic2QsIHNvbGFyaXMsIGV0Yy4pXG4iCittc2dzdHIgIiAtdCwgLS10eXBlIDx0eXA+ICAgICBva3JlxZtsZW5pZSB0eXB1IHBhcnR5Y2ppIChkb3MsIGJzZCwgc29sYXJpcyBpdHAuKVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzcwIHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgIHRyeWIgc3pjemVnw7PFgm93eVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Nzc2Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93LCAtLXJhdyBvciAtLXBhaXJzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkRvc3TEmXBuZSBrb2x1bW55IChkbGEgLS1zaG93LCAtLXJhdyBsdWIgLS1wYWlycyk6XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS1uciA8TS1OPiByYW5nZSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyBwcnplZHppYcWCdSAtLW5yIDxNLU4+IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTI0Cittc2dpZCAicGFydGl0aW9uIGFuZCBkaXNrIG5hbWUgZG8gbm90IG1hdGNoIgorbXNnc3RyICJuYXp3YSBwYXJ0eWNqaSBpIGR5c2t1IG5pZSB6Z2FkemFqxIUgc2nEmSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1MgorbXNnaWQgIi0tbnIgYW5kIDxwYXJ0aXRpb24+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIi0tbnIgaSA8cGFydHljamE+IHd5a2x1Y3phasSFIHNpxJkgd3phamVtbmllIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTcxCisjLCBjLWZvcm1hdAorbXNnaWQgInBhcnRpdGlvbjogJXMsIGRpc2s6ICVzLCBsb3dlcjogJWQsIHVwcGVyOiAlZFxuIgorbXNnc3RyICJwYXJ0eWNqYTogJXMsIGR5c2s6ICVzLCBwb2N6xIV0ZWs6ICVkLCBrb25pZWM6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBkZWxldGUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6IG5pZSBtb8W8bmEgdXN1bsSFxIcgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiJXM6IHBhcnR5Y2pvbm93YW5pZSB1cnrEhWR6ZcWEIGxvb3AgbmllIGplc3Qgb2JzxYJ1Z2l3YW5lIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgcHJvYmVyIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIHphaW5pY2pvd2HEhyBwcsOzYm5pa2EgYmxraWQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzICUyJHNyYXdOIDxtYWpvcj4gPG1pbm9yPlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPGJsb2NrZGV2aWNlPlxuIgorIiAlMSRzIC1xICUyJHNyYXdOXG4iCisiICUxJHMgLXFhXG4iCittc2dzdHIgIiIKKyJTa8WCYWRuaWE6XG4iCisiICUxJHMgJTIkc3Jhd04gPG1ham9yPiA8bWlub3I+XG4iCisiICUxJHMgJTIkc3Jhd04gL2Rldi88dXJ6xIVkemVuaWUtYmxva293ZT5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjU4Cittc2dpZCAiQmluZCBhIHJhdyBjaGFyYWN0ZXIgZGV2aWNlIHRvIGEgYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICJEb3dpxIV6YW5pZSBzdXJvd2VnbyB1cnrEhWR6ZW5pYSB6bmFrb3dlZ28gZG8gdXJ6xIVkemVuaWEgYmxva293ZWdvLlxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYxCittc2dpZCAiIC1xLCAtLXF1ZXJ5ICAgIHNldCBxdWVyeSBtb2RlXG4iCittc2dzdHIgIiAtcSwgLS1xdWVyeSAgICB1c3Rhd2llbmllIHRyeWJ1IHphcHl0YW5pYVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYyCittc2dpZCAiIC1hLCAtLWFsbCAgICAgIHF1ZXJ5IGFsbCByYXcgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgb2RweXRhbmllIHdzenlzdGtpY2ggdXJ6xIVkemXFhCBzdXJvd3ljaFxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyB0aGUgY29udHJvbCByYXcgZGV2aWNlICh1c2UgcmF3PE4+IHdoZXJlIDxOPiBpcyBncmVhdGVyIHRoYW4gemVybykiCittc2dzdHIgIlVyesSFZHplbmllICclcycgamVzdCBzdGVydWrEhWN5bSB1cnrEhWR6ZW5pZW0gc3Vyb3d5bSAobmFsZcW8eSB1xbx5xIcgcmF3PE4+LCBnZHppZSA8Tj4gamVzdCB3acSZa3N6ZSBvZCB6ZXJhKSIKKworIzogZGlzay11dGlscy9yYXcuYzoxODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSBibG9jayBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiTmllIG1vxbxuYSB6bG9rYWxpem93YcSHIHVyesSFZHplbmlhIGJsb2tvd2VnbyAnJXMnIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIlVyesSFZHplbmllICclcycgbmllIGplc3QgdXJ6xIVkemVuaWVtIGJsb2tvd3ltIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE5MyBkaXNrLXV0aWxzL3Jhdy5jOjE5NiBzeXMtdXRpbHMvaXBjcm0uYzozNTEKKyM6IHN5cy11dGlscy9pcGNybS5jOjM2NCBzeXMtdXRpbHMvaXBjcm0uYzozNzcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgYXJndW1lbnR1IgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICJOaWUgbW/FvG5hIG90d29yennEhyBuYWRyesSZZG5lZ28gdXJ6xIVkemVuaWEgc3Vyb3dlZ28gJyVzJyIKKworIzogZGlzay11dGlscy9yYXcuYzoyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSByYXcgZGV2aWNlICclcyciCittc2dzdHIgIk5pZSBtb8W8bmEgemxva2FsaXpvd2HEhyB1cnrEhWR6ZW5pYSBzdXJvd2VnbyAnJXMnIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICJSYXcgZGV2aWNlICclcycgaXMgbm90IGEgY2hhcmFjdGVyIGRldiIKK21zZ3N0ciAiVXJ6xIVkemVuaWUgc3Vyb3dlICclcycgbmllIGplc3QgdXJ6xIVkemVuaWVtIHpuYWtvd3ltIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSByYXcgZGV2IgorbXNnc3RyICJVcnrEhWR6ZW5pZSAnJXMnIG5pZSBqZXN0IHVyesSFZHplbmllbSBzdXJvd3ltIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI0NQorbXNnaWQgIkVycm9yIHF1ZXJ5aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIkLFgsSFZCBvZHB5dHl3YW5pYSB1cnrEhWR6ZW5pYSBzdXJvd2VnbyIKKworIzogZGlzay11dGlscy9yYXcuYzoyNTQgZGlzay11dGlscy9yYXcuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNyYXclZDogIGJvdW5kIHRvIG1ham9yICVkLCBtaW5vciAlZFxuIgorbXNnc3RyICIlc3JhdyVkOiAgcHJ6eXBpc2FubyBkbyB1cnrEhWR6ZW5pYSBtYWpvciAlZCwgbWlub3IgJWRcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNjgKK21zZ2lkICJFcnJvciBzZXR0aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIkLFgsSFZCB1c3Rhd2lhbmlhIHVyesSFZHplbmlhIHN1cm93ZWdvIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxOQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiICVzIDx1cnrEhWR6ZW5pZSBkeXNrb3dlPiA8bnVtZXIgcGFydHljamk+IDxkxYJ1Z2/Fm8SHPlxuIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoyMworbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgbmV3IHNpemUgb2YgYSBwYXJ0aXRpb24uXG4iCittc2dzdHIgIlBvd2lhZG9taWVuaWUgasSFZHJhIG8gbm93eW0gcm96bWlhcnplIHBhcnR5Y2ppLlxuIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBudW1iZXIgJXMiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgdXp5c2thxIcgcG9jesSFdGt1IHBhcnR5Y2ppIG51bWVyICVzIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDkKK21zZ2lkICJmYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHptaWVuacSHIHJvem1pYXJ1IHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIzMQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBuZXN0ZWQgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByenlkemllbGnEhyB6YWduaWXFvGTFvG9uZWdvIGtvbnRla3N0dSBsaWJmZGlzayIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNlZWsgJXMiCittc2dzdHIgIm5pZSBtb8W8bmEgcHJ6ZW1pZcWbY2nEhyAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDIgbGliZmRpc2svc3JjL2JzZC5jOjcyMyBsaWJmZGlzay9zcmMvYnNkLmM6ODk0CisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE2MyBzeXMtdXRpbHMvaHdjbG9jay5jOjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgJXMiCittc2dzdHIgIm5pZSBtb8W8bmEgemFwaXNhxIcgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiUxMnMgKG9mZnNldCAlNWp1LCBzaXplICU1anUpOiAlcyIKK21zZ3N0ciAiJTEycyAob2Zmc2V0ICU1anUsIHJvem1pYXIgJTVqdSk6ICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gc2nEmSB1dHdvcnp5xIcga29waWkgemFwYXNvd2VqIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMyOAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAgZmlsZSwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgdXR3b3J6ecSHIGtvcGlpIHphcGFzb3dlaiBwbGlrdSAtICRIT01FIG5pZSBqZXN0IHpkZWZpbmlvd2FuZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozNTQKK21zZ2lkICJCYWNrdXAgZmlsZXM6IgorbXNnc3RyICJQbGlraSBrb3BpaSB6YXBhc293eWNoOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozNzkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBuZXcgcGFydGl0aW9uIGZyb20gZGV2aWNlOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHdjenl0YcSHIG5vd2VqIHBhcnR5Y2ppIHogdXJ6xIVkemVuaWE7IHppZ25vcm93YW5vIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB1enlza2HEhyByb3ptaWFydSBub3dlaiBwYXJ0eWNqaTsgemlnbm9yb3dhbm8gLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgzCittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB1enlza2HEhyBwb2N6xIV0a3Ugbm93ZWogcGFydHljamk7IHppZ25vcm93YW5vIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB1enlza2HEhyByb3ptaWFydSBzdGFyZWogcGFydHljamk7IHppZ25vcm93YW5vIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NworbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgdXp5c2thxIcgcG9jesSFdGt1IHN0YXJlaiBwYXJ0eWNqaTsgemlnbm9yb3dhbm8gLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg5Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBoYXMgbm90IGJlZW4gbW92ZWQ7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJwb2N6xIV0ZWsgcGFydHljamkgbmllIHpvc3RhxYIgcHJ6ZW5pZXNpb255OyB6aWdub3Jvd2FubyAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTEKK21zZ2lkICJuZXcgcGFydGl0aW9uIGlzIHNtYWxsZXIgdGhhbiBvcmlnaW5hbDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIm5vd2EgcGFydHljamEgamVzdCBtbmllanN6YSBuacW8IHBpZXJ3b3RuYTsgemlnbm9yb3dhbm8gLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQxCittc2dpZCAiRGF0YSBtb3ZlOiIKK21zZ3N0ciAiUHJ6ZW5vc3plbmllIGRhbnljaDoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiB0eXBlc2NyaXB0IGZpbGU6ICVzIgorbXNnc3RyICIgcGxpayBza3J5cHR1OiAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIG9sZCBzdGFydDogJWp1LCBuZXcgc3RhcnQ6ICVqdSAobW92ZSAlanUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIHN0YXJ5IHBvY3rEhXRlazogJWp1LCBub3d5IHBvY3rEhXRlazogJWp1IChwcnplbmllc2llbmllICVqdSBzZWt0b3LDs3cpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUxCittc2dpZCAiRG8geW91IHdhbnQgdG8gbW92ZSBwYXJ0aXRpb24gZGF0YT8iCittc2dzdHIgIkN6eSBwcnplbmllxZvEhyBkYW5lIHBhcnR5Y2ppPyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTMgZGlzay11dGlscy9zZmRpc2suYzoxNzgzCittc2dpZCAiTGVhdmluZy4iCittc2dzdHIgIlBvem9zdGF3aW9uby4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gbW92ZSBkYXRhIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIHByemVuaWXFm8SHIGRhbnljaCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDEKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGlzIHVuY2hhbmdlZCAoLS1uby1hY3QpLiIKK21zZ3N0ciAiVGFibGljYSBwYXJ0eWNqaSBuaWUgem9zdGHFgmEgem1pZW5pb25hICgtLW5vLWFjdCkuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0NworbXNnaWQgIiIKKyJcbiIKKyJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICIiCisiXG4iCisiVGFibGljYSBwYXJ0eWNqaSB6b3N0YcWCYSB6bW9keWZpa293YW5hLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbGFiZWwgJyVzJyIKK21zZ3N0ciAibmllIG9ic8WCdWdpd2FuYSBldHlraWV0YSAnJXMnIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYyNgorbXNnaWQgIiIKKyJJZCAgTmFtZVxuIgorIlxuIgorbXNnc3RyICIiCisiSWQgIE5hendhXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjU2Cittc2dpZCAidW5yZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorbXNnc3RyICJuaWVyb3pwb3puYW55IHR5cCB0YWJsaWN5IHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjcwOQorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgIk5pZSBtb8W8bmEgcG9icmHEhyByb3ptaWFydSAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidG90YWw6ICVqdSBibG9ja3NcbiIKK21zZ3N0ciAicmF6ZW06ICVqdSBibG9rw7N3XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODA4IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODc2IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk0NyBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTQgZGlzay11dGlscy9zZmRpc2suYzoxMDc4CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzMgZGlzay11dGlscy9zZmRpc2suYzoxMTg5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUzMworbXNnaWQgIm5vIGRpc2sgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAibmllIHBvZGFubyB1cnrEhWR6ZW5pYSBkeXNrb3dlZ28iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODE5Cittc2dpZCAidG9nZ2xlIGJvb3QgZmxhZ3MgaXMgc3VwcG9ydGVkIGZvciBNQlIgb25seSIKK21zZ3N0ciAiem1pYW5hIGZsYWcgcm96cnVjaHUgamVzdCBvYnPFgnVnaXdhbmEgdHlsa28gZGxhIE1CUiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NTAgZGlzay11dGlscy9zZmRpc2suYzo4OTYgZGlzay11dGlscy9zZmRpc2suYzoxMDE5CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODMgZGlzay11dGlscy9zZmRpc2suYzoxMTM4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5NAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTMxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxMworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6ZWFuYWxpem93YcSHIG51bWVydSBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlZDogZmFpbGVkIHRvIHRvZ2dsZSBib290YWJsZSBmbGFnIgorbXNnc3RyICIlczogcGFydHljamEgJWQ6IG5pZSB1ZGHFgm8gc2nEmSB6bWllbmnEhyBmbGFnaSByb3pydWNodSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4OTEgZGlzay11dGlscy9zZmRpc2suYzo4OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBkZWxldGUiCittc2dzdHIgIiVzOiBwYXJ0eWNqYSAlenU6IG5pZSB1ZGHFgm8gc2nEmSB1c3VuxIXEhyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIlVyesSFZHplbmllIG5pZSB6YXdpZXJhIMW8YWRuZWogem5hbmVqIHRhYmxpY3kgcGFydHljamkuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk1OAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBkdW1wIHN0cnVjdCIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByenlkemllbGnEhyBzdHJ1a3R1cnkgenJ6dXR1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkdW1wIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHd5a29uYcSHIHpyenV0dSB0YWJsaWN5IHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uIHRhYmxlIGZvdW5kIgorbXNnc3RyICIlczogbmllIHpuYWxlemlvbm8gdGFibGljeSBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogcGFydHljamEgJXp1OiB0YWJsaWNhIHBhcnR5Y2ppIHphd2llcmEgbW5pZWogcGFydHljamkgKCV6dSkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gaXMgdW51c2VkIgorbXNnc3RyICIlczogcGFydHljamEgJXp1OiBwYXJ0eWNqYSBuaWUgamVzdCB1xbx5d2FuYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDE4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4MiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzcKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5MworbXNnaWQgIm5vIHBhcnRpdGlvbiBudW1iZXIgc3BlY2lmaWVkIgorbXNnc3RyICJuaWUgcG9kYW5vIG51bWVydSBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4OCBkaXNrLXV0aWxzL3NmZGlzay5jOjExNDMKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5OQorbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnRzIgorbXNnc3RyICJuaWVvY3pla2l3YW5lIGFyZ3VtZW50eSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlczogcGFydHljamEgJXp1OiBuaWUgdWRhxYJvIHNpxJkgcG9icmHEhyB0eXB1IHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIHBhcnRpdGlvbiB0eXBlICclcyciCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgdHlwdSBwYXJ0eWNqaSAlcyAnJXMnIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiVzOiBwYXJ0eWNqYSAlenU6IG5pZSB1ZGHFgm8gc2nEmSB1c3Rhd2nEhyB0eXB1IHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiVzOiBwYXJ0eWNqYSAlenU6IG5pZSB1ZGHFgm8gc2nEmSBwb2JyYcSHIFVVSUQtYSBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTEzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE2OCBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMjIKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG9iamVjdCIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByenlkemllbGnEhyBvYmlla3R1IHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiVzOiBwYXJ0eWNqYSAlenU6IG5pZSB1ZGHFgm8gc2nEmSB1c3Rhd2nEhyBVVUlELWEgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiJXM6IHBhcnR5Y2phICV6dTogbmllIHVkYcWCbyBzacSZIHBvYnJhxIcgbmF6d3kgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiJXM6IHBhcnR5Y2phICV6dTogbmllIHVkYcWCbyBzacSZIHVzdGF3acSHIG5hend5IHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIGF0dHJpYnV0ZXMiCittc2dzdHIgIiVzOiBwYXJ0eWNqYSAlenU6IG5pZSB1ZGHFgm8gc2nEmSB1c3Rhd2nEhyBhdHJ5YnV0w7N3IHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNjkKK21zZ2lkICIgQ29tbWFuZHM6XG4iCittc2dzdHIgIiBQb2xlY2VuaWE6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3MQorbXNnaWQgIiAgIHdyaXRlICAgIHdyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgd3JpdGUgICAgemFwaXMgdGFibGljeSBwYXJ0eWNqaSBuYSBkeXNrIGkgemFrb8WEY3plbmllXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3MgorbXNnaWQgIiAgIHF1aXQgICAgIHNob3cgbmV3IHNpdHVhdGlvbiBhbmQgd2FpdCBmb3IgdXNlcidzIGZlZWRiYWNrIGJlZm9yZSB3cml0ZVxuIgorbXNnc3RyICIgICBxdWl0ICAgICB3ecWbd2lldGxlbmllIG5vd2VqIHN5dHVhY2ppIGkgb2N6ZWtpd2FuaWUgbmEgcmVha2NqxJkgdcW8eXRrb3duaWthIHByemVkIHphcGlzZW1cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjczCittc2dpZCAiICAgYWJvcnQgICAgZXhpdCBzZmRpc2sgc2hlbGxcbiIKK21zZ3N0ciAiICAgYWJvcnQgICAgemFrb8WEY3plbmllIHBvd8WCb2tpIHNmZGlza1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzQKK21zZ2lkICIgICBwcmludCAgICBkaXNwbGF5IHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiICAgcHJpbnQgICAgd3lwaXNhbmllIHRhYmxpY3kgcGFydHljamlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjc1Cittc2dpZCAiICAgaGVscCAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorbXNnc3RyICIgICBoZWxwICAgICB3ecWbd2lldGxlbmllIHRlZ28gb3Bpc3VcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjc3Cittc2dpZCAiICAgQ3RybC1EICAgdGhlIHNhbWUgYXMgJ3F1aXQnXG4iCittc2dzdHIgIiAgIEN0cmwtRCAgIHRvIHNhbW8sIGNvICdxdWl0J1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODEKK21zZ2lkICIgSW5wdXQgZm9ybWF0OlxuIgorbXNnc3RyICIgRm9ybWF0IHd5asWbY2lhOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODMKK21zZ2lkICIgICA8c3RhcnQ+LCA8c2l6ZT4sIDx0eXBlPiwgPGJvb3RhYmxlPlxuIgorbXNnc3RyICIgICA8cG9jesSFdGVrPiwgPHJvem1pYXI+LCA8dHlwPiwgPHJvenJ1Y2g+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4NgorbXNnaWQgIiIKKyIgICA8c3RhcnQ+ICBCZWdpbm5pbmcgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgdGhlIGZpcnN0IGZyZWUgc3BhY2UuXG4iCittc2dzdHIgIiIKKyIgICA8cG9jesSFdGVrPiAgUG9jesSFdGVrIHBhcnR5Y2ppIHcgc2VrdG9yYWNoIGx1YiBiYWp0YWNoLCBqZcWbbGkgcG9kYW5vXG4iCisiICAgICAgICAgICAgICAgdyBmb3JtYWNpZSA8bGljemJhPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgICAgIERvbXnFm2xuaWUgcGllcndzemUgd29sbmUgbWllanNjZS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkxCittc2dpZCAiIgorIiAgIDxzaXplPiAgIFNpemUgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgYWxsIGF2YWlsYWJsZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorIiAgIDxyb3ptaWFyPiAgIFJvem1pYXIgcGFydHljamkgdyBzZWt0b3JhY2ggbHViIGJhanRhY2gsIGplxZtsaSBwb2Rhbm9cbiIKKyIgICAgICAgICAgICAgICB3IGZvcm1hY2llIDxsaWN6YmE+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgICAgRG9tecWbbG5pZSBjYcWCZSBkb3N0xJlwbmUgbWllanNjZS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk2Cittc2dpZCAiICAgPHR5cGU+ICAgVGhlIHBhcnRpdGlvbiB0eXBlLiAgRGVmYXVsdCBpcyBhIExpbnV4IGRhdGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIgICA8dHlwPiAgICBUeXAgcGFydHljamkuIERvbXnFm2xuaWUgbGludWtzb3dhIHBhcnR5Y2phIGRhbnljaC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk3Cittc2dpZCAiICAgICAgICAgICAgTUJSOiBoZXggb3IgTCxTLEUsWCBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiAgICAgICAgICAgIE1CUjogc3plc25hc3Rrb3dvIGx1YiBza3LDs3RlbSBMLFMsRSxYLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTgKK21zZ2lkICIgICAgICAgICAgICBHUFQ6IFVVSUQgb3IgTCxTLEggc2hvcnRjdXRzLlxuIgorbXNnc3RyICIgICAgICAgICAgICBHUFQ6IFVVSUQgbHViIHNrcsOzdGVtIEwsUyxILlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDEKK21zZ2lkICIgICA8Ym9vdGFibGU+ICBVc2UgJyonIHRvIG1hcmsgYW4gTUJSIHBhcnRpdGlvbiBhcyBib290YWJsZS5cbiIKK21zZ3N0ciAiICAgPHJvenJ1Y2g+ICAgJyonIG96bmFjemEgcGFydHljasSZIE1CUiBqYWtvIHJvenJ1Y2hvd8SFLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDUKK21zZ2lkICIgRXhhbXBsZTpcbiIKK21zZ3N0ciAiIFByenlrxYJhZDpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzA3Cittc2dpZCAiICAgLCA0RyAgICAgQ3JlYXRlcyBhIDRHaUIgcGFydGl0aW9uIGF0IGRlZmF1bHQgc3RhcnQgb2Zmc2V0LlxuIgorbXNnc3RyICIgICAsIDRHICAgICBVdHdvcnplbmllIHBhcnR5Y2ppIDRHaUIgb2QgZG9tecWbbG5lZ28gb2Zmc2V0dSBwb2N6xIV0a293ZWdvLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMzkgc3lzLXV0aWxzL2RtZXNnLmM6MTQ1NQorbXNnaWQgInVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgInBvbGVjZW5pZSBuaWUgb2JzxYJ1Z2l3YW5lIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlZDogdW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAibGluaWEgJWQ6IHBvbGVjZW5pZSBuaWUgb2JzxYJ1Z2l3YW5lIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MDAKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnp5ZHppZWxpxIcgbmF6d3kgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU0MQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByenlkemllbGnEhyBuYWfFgsOzd2thIHNrcnlwdHUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IG5vIHBhcnRpdGlvbiB0YWJsZSB3YXMgZm91bmQiCittc2dzdHIgIiVzOiBuaWUgbW/FvG5hIHptb2R5Zmlrb3dhxIcgcGFydHljamkgJWQ6IG5pZSB6bmFsZXppb25vIHRhYmxpY3kgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogbmllIG1vxbxuYSB6bW9keWZpa293YcSHIHBhcnR5Y2ppICVkOiB0YWJsaWNhIHBhcnR5Y2ppIGplc3QgbW5pZWpzemEgKCV6dSkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlczogcGFydGl0aW9uICVkIGlzIG5vdCBkZWZpbmVkIHlldCIKK21zZ3N0ciAidXdhZ2E6ICVzOiBuaWUgemRlZmluaW93YW5vIGplc3pjemUgcGFydHljamkgJWQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiV2VsY29tZSB0byBzZmRpc2sgKCVzKS4iCittc2dzdHIgIiIKKyJcbiIKKyJXaXRhbXkgdyBwcm9ncmFtaWUgc2ZkaXNrICglcykuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTQKK21zZ2lkICJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIKK21zZ3N0ciAiU3ByYXdkemFuaWUsIGN6eSBuaWt0IG5pZSB1xbx5d2EgdGVyYXogdGVnbyBkeXNrdS4uLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTk3Cittc2dpZCAiIgorIiBGQUlMRURcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiBOSUUgVURBxYFPIFNJxJhcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjAwCittc2dpZCAiIgorIlRoaXMgZGlzayBpcyBjdXJyZW50bHkgaW4gdXNlIC0gcmVwYXJ0aXRpb25pbmcgaXMgcHJvYmFibHkgYSBiYWQgaWRlYS5cbiIKKyJVbW91bnQgYWxsIGZpbGUgc3lzdGVtcywgYW5kIHN3YXBvZmYgYWxsIHN3YXAgcGFydGl0aW9ucyBvbiB0aGlzIGRpc2suXG4iCisiVXNlIHRoZSAtLW5vLXJlcmVhZCBmbGFnIHRvIHN1cHByZXNzIHRoaXMgY2hlY2suXG4iCittc2dzdHIgIiIKKyJUZW4gZHlzayBqZXN0IGFrdHVhbG5pZSB1xbx5d2FueSAtIHJlcGFydHljam9ub3dhbmllIGplc3QgcmFjemVqIHrFgnltIHBvbXlzxYJlbS5cbiIKKyJQcm9zesSZIG9kbW9udG93YcSHIHdzenlzdGtpZSBzeXN0ZW15IHBsaWvDs3cgb3JheiB3ecWCxIVjennEhyBwYXJ0eWNqZSB3eW1pYW55XG4iCisieiB0ZWdvIGR5c2t1LlxuIgorIkFieSBwb21pbsSFxIcgdGVuIHRlc3QsIG1vxbxuYSB1xbx5xIcgZmxhZ2kgLS1uby1yZXJlYWQuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIgorbXNnc3RyICJNb8W8bmEgdcW8ecSHIGZsYWdpIC0tZm9yY2UsIGFieSBwb21pbsSFxIcgd3N6eXN0a2llIHRlc3R5LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjA3Cittc2dpZCAiIgorIiBPS1xuIgorIlxuIgorbXNnc3RyICIiCisiIE9LXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYzNgorbXNnaWQgIiIKKyJcbiIKKyJPbGQgc2l0dWF0aW9uOiIKK21zZ3N0ciAiIgorIlxuIgorIlN0YXJhIHN5dHVhY2phOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKyJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIgorbXNnc3RyICIiCisiXG4iCisic2ZkaXNrIHV0d29yenkgbm93xIUgZXR5a2lldMSZIGR5c2t1ICclcycuXG4iCisiQWJ5IHptaWVuacSHIHR5cCBkb215xZtsbnksIG5hbGXFvHkgdcW8ecSHICdsYWJlbDogPG5hendhPidcbiIKKyJwcnplZCB6ZGVmaW5pb3dhbmllbSBwaWVyd3N6ZWogcGFydHljamkuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NTcKK21zZ2lkICIiCisiXG4iCisiVHlwZSAnaGVscCcgdG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKyJcbiIKKyJgJXMgLS1oZWxwJyB3ecWbd2lldGxpIHdpxJljZWogaW5mb3JtYWNqaS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjc1Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgdXNlZC4iCittc2dzdHIgIldzenlzdGtpZSBwYXJ0eWNqZSBzxIUgdyB1xbx5Y2l1LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzAzCittc2dpZCAiRG9uZS5cbiIKK21zZ3N0ciAiR290b3dlLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MTUKK21zZ2lkICJJZ25vcmluZyBwYXJ0aXRpb24uIgorbXNnc3RyICJaaWdub3Jvd2FubyBwYXJ0eWNqxJkuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MjQKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0IGhlYWRlcnMsIGRpc2sgbGFiZWwgbm90IGNyZWF0ZWQuIgorbXNnc3RyICJOaWUgdWRhxYJvIHNpxJkgbmFuaWXFm8SHIG5hZ8WCw7N3a8OzdyBza3J5cHR1LCBldHlraWV0YSBkeXNrdSBuaWUgem9zdGHFgmEgdXR3b3J6b25hLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkICMlZCBwYXJ0aXRpb24iCittc2dzdHIgIk5pZSB1ZGHFgm8gc2nEmSBkb2RhxIcgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc2MworbXNnaWQgIlNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuIgorbXNnc3RyICJOYWfFgsOzd2VrIHNrcnlwdHUgcHJ6eWrEmXR5LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzcyCittc2dpZCAiIgorIlxuIgorIk5ldyBzaXR1YXRpb246IgorbXNnc3RyICIiCisiXG4iCisiTm93YSBzeXR1YWNqYToiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc4MQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHdyaXRlIHRoaXMgdG8gZGlzaz8iCittc2dzdHIgIkN6eSB6YXBpc2HEhyB6bWlhbnkgbmEgZHlzaz8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc5MworbXNnaWQgIkxlYXZpbmcuXG4iCittc2dzdHIgIlBvem9zdGF3aW9uby5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcGNqZV0gPHVyesSFZHplbmllPiBbWy1OXSA8cGFydHljamE+XVxuIgorIiAlMSRzIFtvcGNqZV0gPHBvbGVjZW5pZT5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEyCittc2dpZCAiIgorIlxuIgorIkNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisiXG4iCisiUG9sZWNlbmlhOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTMKK21zZ2lkICIgLUEsIC0tYWN0aXZhdGUgPGRldj4gWzxwYXJ0PiAuLi5dIGxpc3Qgb3Igc2V0IGJvb3RhYmxlIE1CUiBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiAtQSwgLS1hY3RpdmF0ZSA8dXJ6PiBbPHBhcnQ+IC4uLl0gbGlzdGEgbHViIHVzdGF3aWVuaWUgcGFydHljamkgcm96cnVjaG93eWNoIE1CUlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTQKK21zZ2lkICIgLWQsIC0tZHVtcCA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlICh1c2FibGUgZm9yIGxhdGVyIGlucHV0KVxuIgorbXNnc3RyICIgLWQsIC0tZHVtcCA8dXJ6PiAgICAgICAgICAgICAgICAgIHpyenV0IHRhYmxpY3kgcGFydHljamkgKGpha28gcMOzxbpuaWVqc3plIHdlasWbY2llKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTUKK21zZ2lkICIgLUosIC0tanNvbiA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlIGluIEpTT04gZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uIDx1cno+ICAgICAgICAgICAgICAgICAgenJ6dXQgdGFibGljeSBwYXJ0eWNqaSB3IGZvcm1hY2llIEpTT05cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE2Cittc2dpZCAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxkZXY+IC4uLl0gICBsaXN0IGdlb21ldHJ5IG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLWcsIC0tc2hvdy1nZW9tZXRyeSBbPHVyej4gLi4uXSAgIGxpc3RhIGdlb21ldHJpaSB3c3p5c3RraWNoIGx1YiBwb2RhbnljaCB1cnrEhWR6ZcWEXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNworbXNnaWQgIiAtbCwgLS1saXN0IFs8ZGV2PiAuLi5dICAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAtbCwgLS1saXN0IFs8dXJ6PiAuLi5dICAgICAgICAgICAgbGlzdGEgcGFydHljamkga2HFvGRlZ28gdXJ6xIVkemVuaWFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE4Cittc2dpZCAiIC1GLCAtLWxpc3QtZnJlZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHVucGFydGl0aW9uZWQgZnJlZSBhcmVhcyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgLUYsIC0tbGlzdC1mcmVlIFs8dXJ6PiAuLi5dICAgICAgIGxpc3RhIHdvbG5lZ28gbWllanNjYSBrYcW8ZGVnbyB1cnrEhWR6ZW5pYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTkKK21zZ2lkICIgLXIsIC0tcmVvcmRlciA8ZGV2PiAgICAgICAgICAgICAgIGZpeCBwYXJ0aXRpb25zIG9yZGVyIChieSBzdGFydCBvZmZzZXQpXG4iCittc2dzdHIgIiAtciwgLS1yZW9yZGVyIDx1cno+ICAgICAgICAgICAgICAgcG9wcmF3aWVuaWUga29sZWpub8WbY2kgcGFydHljamkgKHdnIHBvY3rEhXRrdSlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIwCittc2dpZCAiIC1zLCAtLXNob3ctc2l6ZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHNpemVzIG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLXMsIC0tc2hvdy1zaXplIFs8dXJ6PiAuLi5dICAgICAgIGxpc3RhIHJvem1pYXLDs3cgd3N6eXN0a2ljaCBsdWIgcG9kYW55Y2ggdXJ6xIVkemXFhFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjEKK21zZ2lkICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByZWNvZ25pemVkIHR5cGVzIChzZWUgLVgpXG4iCittc2dzdHIgIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgICAgICAgICAgd3lwaXNhbmllIHpuYW55Y2ggdHlww7N3IChwLiAtWClcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIyCittc2dpZCAiIC1WLCAtLXZlcmlmeSBbPGRldj4gLi4uXSAgICAgICAgICB0ZXN0IHdoZXRoZXIgcGFydGl0aW9ucyBzZWVtIGNvcnJlY3RcbiIKK21zZ3N0ciAiIC1WLCAtLXZlcmlmeSBbPHVyej4gLi4uXSAgICAgICAgICB0ZXN0LCBjenkgcGFydHljamUgd3lnbMSFZGFqxIUgcG9wcmF3bmllXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMworbXNnaWQgIiAgICAgLS1kZWxldGUgPGRldj4gWzxwYXJ0PiAuLi5dICAgZGVsZXRlIGFsbCBvciBzcGVjaWZpZWQgcGFydGl0aW9uc1xuIgorbXNnc3RyICIgICAgIC0tZGVsZXRlIDx1cno+IFs8cGFydD4gLi4uXSAgIHVzdW5pxJljaWUgd3N6eXN0a2ljaCBsdWIgcG9kYW55Y2ggcGFydHljamlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI2Cittc2dpZCAiIC0tcGFydC1sYWJlbCA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGxhYmVsXG4iCittc2dzdHIgIiAtLXBhcnQtbGFiZWwgPHVyej4gPHBhcnQ+IFs8xYJhxYRjPl0gd3lwaXNhbmllIGx1YiB6bWlhbmEgZXR5a2lldHkgcGFydHljamlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI3Cittc2dpZCAiIC0tcGFydC10eXBlIDxkZXY+IDxwYXJ0PiBbPHR5cGU+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiIC0tcGFydC10eXBlIDx1cno+IDxwYXJ0PiBbPHR5cD5dICB3eXNwaXNhbmllIGx1YiB6bWlhbmEgdHlwdSBwYXJ0eWNqaVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjgKK21zZ2lkICIgLS1wYXJ0LXV1aWQgPGRldj4gPHBhcnQ+IFs8dXVpZD5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdXVpZFxuIgorbXNnc3RyICIgLS1wYXJ0LXV1aWQgPHVyej4gPHBhcnQ+IFs8dXVpZD5dIHd5cGlzYW5pZSBsdWIgem1pYW5hIFVVSUQtYSBwYXJ0eWNqaVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjkKK21zZ2lkICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gYXR0cmlidXRlc1xuIgorbXNnc3RyICIgLS1wYXJ0LWF0dHJzIDx1cno+IDxwYXJ0PiBbPMWCYcWEYz5dIHd5cGlzYW5pZSBsdWIgem1pYW5hIGF0cnlidXTDs3cgcGFydHljamlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODMyCittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgZGV2aWNlICh1c3VhbGx5IGRpc2spIHBhdGhcbiIKK21zZ3N0ciAiIDx1cno+ICAgICAgICAgICAgICAgICAgICAgxZtjaWXFvGthIGRvIHVyesSFZHplbmlhICh6d3lrbGUgZHlza293ZWdvKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzMKK21zZ2lkICIgPHBhcnQ+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiA8cGFydD4gICAgICAgICAgICAgICAgICAgIG51bWVyIHBhcnR5Y2ppXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzNAorbXNnaWQgIiA8dHlwZT4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiB0eXBlLCBHVUlEIGZvciBHUFQsIGhleCBmb3IgTUJSXG4iCittc2dzdHIgIiA8dHlwPiAgICAgICAgICAgICAgICAgICAgIHR5cCBwYXJ0eWNqaTogR1VJRCBkbGEgR1BULCBzemVzbmFzdGtvd28gZGxhIE1CUlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzcKK21zZ2lkICIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICBhcHBlbmQgcGFydGl0aW9ucyB0byBleGlzdGluZyBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgZG/FgsSFY3plbmllIHBhcnR5Y2ppIGRvIGlzdG5pZWrEhWNlaiB0YWJsaWN5XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzOAorbXNnaWQgIiAtYiwgLS1iYWNrdXAgICAgICAgICAgICAgIGJhY2t1cCBwYXJ0aXRpb24gdGFibGUgc2VjdG9ycyAoc2VlIC1PKVxuIgorbXNnc3RyICIgLWIsIC0tYmFja3VwICAgICAgICAgICAgICBrb3BpYSB6YXBhc293YSBzZWt0b3LDs3cgdGFibGljeSBwYXJ0eWNqaSAocC4gLU8pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzOQorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKyIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgICB3eXBpc3l3YW5pZSByb3ptaWFyw7N3IHcgYmFqdGFjaCB6YW1pYXN0IGZvcm1hdHVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBjenl0ZWxuZWdvIGRsYSBjesWCb3dpZWthXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MAorbXNnaWQgIiAgICAgLS1tb3ZlLWRhdGFbPTx0eXBlc2NyaXB0Pl0gbW92ZSBwYXJ0aXRpb24gZGF0YSBhZnRlciByZWxvY2F0aW9uIChyZXF1aXJlcyAtTilcbiIKK21zZ3N0ciAiICAgICAtLW1vdmUtZGF0YVs9PHNrcnlwdD5dIHByemVuaWVzaWVuaWUgZGFueWNoIHBhcnR5Y2ppIHBvIHByemVzdW5pxJljaXUgKHd5bWFnYSAtTilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQxCittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgd3nFgsSFY3plbmllIHdzemVsa2llZ28gc3ByYXdkemFuaWEgc3DDs2pub8WbY2lcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQyCittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAtLWNvbG9yWz08a2llZHk+XSAgICAgIGtvbG9yb3dhbmllIHd5asWbY2lhIChhdXRvLCBhbHdheXMgbHViIG5ldmVyKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDUKK21zZ2lkICIgLU4sIC0tcGFydG5vIDxudW0+ICAgICAgICBzcGVjaWZ5IHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiIC1OLCAtLXBhcnRubyA8bnVtZXI+ICAgICAgb2tyZcWbbGVuaWUgbnVtZXJ1IHBhcnR5Y2ppXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NgorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHdyaXRlIHRvIGRldmljZVxuIgorbXNnc3RyICIgLW4sIC0tbm8tYWN0ICAgICAgICAgICAgICB3eWtvbmFuaWUgd3N6eXN0a2llZ28gcG96YSB6YXBpc2VtIG5hIHVyesSFZHplbmllXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NworbXNnaWQgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBkZXZpY2UgaXMgaW4gdXNlXG4iCittc2dzdHIgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGJleiBzcHJhd2R6YW5pYSwgY3p5IHVyesSFZHplbmllIGplc3QgdyB1xbx5Y2l1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OAorbXNnaWQgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIGRvIG5vdCB0ZWxsIGtlcm5lbCBhYm91dCBjaGFuZ2VzXG4iCittc2dzdHIgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIGJleiBpbmZvcm1vd2FuaWEgasSFZHJhIG8gem1pYW5hY2hcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ5Cittc2dpZCAiIC1PLCAtLWJhY2t1cC1maWxlIDxwYXRoPiAgb3ZlcnJpZGUgZGVmYXVsdCBiYWNrdXAgZmlsZSBuYW1lXG4iCittc2dzdHIgIiAtTywgLS1iYWNrdXAtZmlsZSA8xZtjaWXFvGthPiBuYWRwaXNhbmllIGRvbXnFm2xuZWogbmF6d3kgcGxpa3Uga29waWkgemFwYXNvd2VqXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MAorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RhPiAgICAgIGtvbHVtbnkgZG8gd3lwaXNhbmlhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIGV4dHJhIGluZm8gbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgcG9taW5pxJljaWUgZG9kYXRrb3d5Y2gga29tdW5pa2F0w7N3IGluZm9ybWFjeWpueWNoXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MgorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLXcsIC0td2lwZSA8dHJ5Yj4gICAgICAgICB3eW1henl3YW5pZSBzeWduYXR1ciAoYXV0bywgYWx3YXlzIGx1YiBuZXZlcilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU0Cittc2dpZCAiIC1YLCAtLWxhYmVsIDxuYW1lPiAgICAgICAgc3BlY2lmeSBsYWJlbCB0eXBlIChkb3MsIGdwdCwgLi4uKVxuIgorbXNnc3RyICIgLVgsIC0tbGFiZWwgPG5hendhPiAgICAgICBva3JlxZtsZW5pZSB0eXB1IGV0eWtpZXR5IChkb3MsIGdwdC4uLilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU1Cittc2dpZCAiIC1ZLCAtLWxhYmVsLW5lc3RlZCA8bmFtZT4gc3BlY2lmeSBuZXN0ZWQgbGFiZWwgdHlwZSAoZG9zLCBic2QpXG4iCittc2dzdHIgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPG5hendhPiBva3JlxZtsZW5pZSB0eXB1IGV0eWtpZXR5IHphZ25pZcW8ZMW8b25laiAoZG9zLCBic2QpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NworbXNnaWQgIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIGRlcHJlY2F0ZWQsIGFsaWFzIHRvIC0tc2hvdy1nZW9tZXRyeVxuIgorbXNnc3RyICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBwcnplc3RhcnphxYJlLCBhbGlhcyBkbGEgLS1zaG93LWdlb21ldHJ5XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OAorbXNnaWQgIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiIKK21zZ3N0ciAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgcHJ6ZXN0YXJ6YcWCZSwgdHlsa28gZGxhIHpnb2Rub8WbY2kgd3N0ZWN6bmVqXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OQorbXNnaWQgIiAtdSwgLS11bml0IFMgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgc2VjdG9yIHVuaXQgaXMgc3VwcG9ydGVkXG4iCittc2dzdHIgIiAtdSwgLS11bml0IFMgICAgICAgICAgICAgIHByemVzdGFyemHFgmUsIG9ic8WCdWdpd2FuZSBzxIUgdHlsa28gc2VrdG9yeVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjMgbG9naW4tdXRpbHMvY2hmbi5jOjEwMiBsb2dpbi11dGlscy9jaHNoLmM6NzkKK21zZ2lkICIgLXYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC12LCAtLXZlcnNpb24gICB3eXBpc2FuaWUgaW5mb3JtYWNqaSBvIHdlcnNqaSBpIHpha2/FhGN6ZW5pZVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIiVzIGplc3QgcHJ6ZXN0YXJ6YcWCZSwgbmFsZcW8eSB1xbx5d2HEhyAtLXBhcnQtdHlwZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxOTczCittc2dpZCAiLS1pZCBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiLS1pZCBqZXN0IHByemVzdGFyemHFgmUsIG5hbGXFvHkgdcW8eXdhxIcgLS1wYXJ0LXR5cGUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk4OQorbXNnaWQgIi0tc2hvdy1wdC1nZW9tZXRyeSBpcyBubyBtb3JlIGltcGxlbWVudGVkLiBVc2luZyAtLXNob3ctZ2VvbWV0cnkuIgorbXNnc3RyICItLXNob3ctcHQtZ2VvbWV0cnkgbmllIGplc3QganXFvCB6YWltcGxlbWVudG93YW5lOyB1xbx5Y2llIC0tc2hvdy1nZW9tZXRyeS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAwMAorbXNnaWQgIi0tTGludXggb3B0aW9uIGlzIHVubmVjZXNzYXJ5IGFuZCBkZXByZWNhdGVkIgorbXNnc3RyICJPcGNqYSAtLUxpbnV4IGplc3QgemLEmWRuYSBpIHByemVzdGFyemHFgmEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAyOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0ICclYyciCittc2dzdHIgIm5pZSBvYnPFgnVnaXdhbmEgamVkbm9zdGthICclYyciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAzMiBpbmNsdWRlL2MuaDozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlc1xuIgorbXNnc3RyICIlcyB6IHBha2lldHUgJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMTA5Cittc2dpZCAiLS1tb3ZlZGF0YSByZXF1aXJlcyAtTiIKK21zZ3N0ciAiLS1tb3ZlZGF0YSB3eW1hZ2EgLU4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIFVVSUQ6ICVzIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6ZWFuYWxpem93YcSHIFVVSUQtYTogJXMiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgVVVJRCIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gc2nEmSB6bWllbmnEhyBwb8WCb8W8ZW5pYSBuYSBVVUlEIG9ic3phcnUgd3ltaWFueSIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIFVVSUQiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgemFwaXNhxIcgVVVJRC1hIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIGxhYmVsICIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gc2nEmSB6bWllbmnEhyBwb8WCb8W8ZW5pYSBuYSBldHlraWV0xJkgb2JzemFydSB3eW1pYW55ICIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICJsYWJlbCBpcyB0b28gbG9uZy4gVHJ1bmNhdGluZyBpdCB0byAnJXMnIgorbXNnc3RyICJldHlraWV0YSBqZXN0IHpieXQgZMWCdWdhLiBPYmNpxJl0byBkbyAnJXMnIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgbGFiZWwiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgemFwaXNhxIcgZXR5a2lldHkiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTIxCittc2dpZCAiRGlzcGxheSBvciBjaGFuZ2UgdGhlIGxhYmVsIG9yIFVVSUQgb2YgYSBzd2FwIGFyZWEuXG4iCittc2dzdHIgIld5xZt3aWV0bGVuaWUgbHViIHptaWFuYSBldHlraWV0eSBsdWIgVVVJRC1hIG9ic3phcnUgd3ltaWFueS5cbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjQKK21zZ2lkICIiCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gc3BlY2lmeSBhIG5ldyBsYWJlbFxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgIHNwZWNpZnkgYSBuZXcgdXVpZFxuIgorbXNnc3RyICIiCisiIC1MLCAtLWxhYmVsIDxldHlraWV0YT4gIG9rcmXFm2xlbmllIG5vd2VqIGV0eWtpZXR5XG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgIG9rcmXFm2xlbmllIG5vd2VnbyBVVUlELWFcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxNjcKK21zZ2lkICJpZ25vcmUgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCkiCittc2dzdHIgInppZ25vcm93YW5vIC1VIChVVUlELXkgbmllIHPEhSBvYnPFgnVnaXdhbmUgcHJ6ZXopIgorCisjOiBpbmNsdWRlL2MuaDoyOTkKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJTa8WCYWRuaWE6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwMAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiT3BjamU6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwMgorbXNnaWQgIiAtaCwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAgd3nFm3dpZXRsZW5pZSB0ZWdvIG9waXN1IGkgemFrb8WEY3plbmllXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwMworbXNnaWQgIiAtViwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgd3lwaXNhbmllIGluZm9ybWFjamkgbyB3ZXJzamkgaSB6YWtvxYRjemVuaWVcbiIKKworIzogaW5jbHVkZS9jLmg6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJGb3IgbW9yZSBkZXRhaWxzIHNlZSAlcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIldpxJljZWogaW5mb3JtYWNqaSB3ICVzLlxuIgorCisjOiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDYgaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzMKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTIgc3lzLXV0aWxzL3J0Y3dha2UuYzoyODAgdGVybS11dGlscy9zZXR0ZXJtLmM6ODA1CisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE1NworbXNnaWQgIndyaXRlIGVycm9yIgorbXNnc3RyICJixYLEhWQgemFwaXN1IgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI3Cittc2dpZCAiY29sb3JzIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgImtvbG9yeSBzxIUgZG9tecWbbG5pZSB3xYLEhWN6b25lIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI5Cittc2dpZCAiY29sb3JzIGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICJrb2xvcnkgc8SFIGRvbXnFm2xuaWUgd3nFgsSFY3pvbmUiCisKKyM6IGluY2x1ZGUvZW52Lmg6MTggbGliL3BhZ2VyLmM6MTUxIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTA1MgorIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMDU2IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjUyOQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTYwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgdXN0YXdpxIcgem1pZW5uZWogxZtyb2Rvd2lza293ZWogJXMiCisKKyM6IGluY2x1ZGUvb3B0dXRpbHMuaDo4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdGhlc2Ugb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlOiIKK21zZ3N0ciAiJXM6IHRlIG9wY2plIHd5a2x1Y3phasSFIHNpxJkgd3phamVtbmllOiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MQorbXNnaWQgIkVtcHR5IgorbXNnc3RyICJCcmFrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyCittc2dpZCAiRkFUMTIiCittc2dzdHIgIkZBVDEyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozCittc2dpZCAiWEVOSVggcm9vdCIKK21zZ3N0ciAiWEVOSVggcm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NAorbXNnaWQgIlhFTklYIHVzciIKK21zZ3N0ciAiWEVOSVggdXNyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1Cittc2dpZCAiRkFUMTYgPDMyTSIKK21zZ3N0ciAiRkFUMTYgPDMyTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NgorbXNnaWQgIkV4dGVuZGVkIgorbXNnc3RyICJSb3pzemVyem9uYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NworbXNnaWQgIkZBVDE2IgorbXNnc3RyICJGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OAorbXNnaWQgIkhQRlMvTlRGUy9leEZBVCIKK21zZ3N0ciAiSFBGUy9OVEZTL2V4RkFUIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5Cittc2dpZCAiQUlYIgorbXNnc3RyICJBSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwCittc2dpZCAiQUlYIGJvb3RhYmxlIgorbXNnc3RyICJBSVggc3RhcnRvd2EiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjExCittc2dpZCAiT1MvMiBCb290IE1hbmFnZXIiCittc2dzdHIgIk9TLzIgQm9vdCBNYW5hZ2VyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMgorbXNnaWQgIlc5NSBGQVQzMiIKK21zZ3N0ciAiVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMworbXNnaWQgIlc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNAorbXNnaWQgIlc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNQorbXNnaWQgIlc5NSBFeHQnZCAoTEJBKSIKK21zZ3N0ciAiVzk1IFJvenN6LiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTYKK21zZ2lkICJPUFVTIgorbXNnc3RyICJPUFVTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNworbXNnaWQgIkhpZGRlbiBGQVQxMiIKK21zZ3N0ciAiVWtyeXRhIEZBVDEyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOAorbXNnaWQgIkNvbXBhcSBkaWFnbm9zdGljcyIKK21zZ3N0ciAiQ29tcGFxIGRpYWdub3N0aWNzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOQorbXNnaWQgIkhpZGRlbiBGQVQxNiA8MzJNIgorbXNnc3RyICJVa3J5dGEgRkFUMTYgPDMyTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjAKK21zZ2lkICJIaWRkZW4gRkFUMTYiCittc2dzdHIgIlVrcnl0YSBGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjEKK21zZ2lkICJIaWRkZW4gSFBGUy9OVEZTIgorbXNnc3RyICJVa3J5dGEgSFBGUy9OVEZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMgorbXNnaWQgIkFTVCBTbWFydFNsZWVwIgorbXNnc3RyICJBU1QgU21hcnRTbGVlcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjMKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIgorbXNnc3RyICJVa3J5dGEgVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNAorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIlVrcnl0YSBXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI1Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiVWtyeXRhIFc5NSBGQVQxNiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjYKK21zZ2lkICJORUMgRE9TIgorbXNnc3RyICJORUMgRE9TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNworbXNnaWQgIkhpZGRlbiBOVEZTIFdpblJFIgorbXNnc3RyICJVa3J5dGEgSFBGUyBXaW5SRSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjgKK21zZ2lkICJQbGFuIDkiCittc2dzdHIgIlBsYW4gOSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjkKK21zZ2lkICJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIKK21zZ3N0ciAiUGFydGl0aW9uTWFnaWMgcmVjb3ZlcnkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMwCittc2dpZCAiVmVuaXggODAyODYiCittc2dzdHIgIlZlbml4IDgwMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMQorbXNnaWQgIlBQQyBQUmVQIEJvb3QiCittc2dzdHIgIlBQQyBQUmVQIEJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMyCittc2dpZCAiU0ZTIgorbXNnc3RyICJTRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMzCittc2dpZCAiUU5YNC54IgorbXNnc3RyICJRTlg0LngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM0Cittc2dpZCAiUU5YNC54IDJuZCBwYXJ0IgorbXNnc3RyICJRTlg0LnggcGFydC4gMi4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM1Cittc2dpZCAiUU5YNC54IDNyZCBwYXJ0IgorbXNnc3RyICJRTlg0LnggcGFydC4gMy4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM2Cittc2dpZCAiT25UcmFjayBETSIKK21zZ3N0ciAiT25UcmFjayBETSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzcKK21zZ2lkICJPblRyYWNrIERNNiBBdXgxIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgxIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOAorbXNnaWQgIkNQL00iCittc2dzdHIgIkNQL00iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM5Cittc2dpZCAiT25UcmFjayBETTYgQXV4MyIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDAKK21zZ2lkICJPblRyYWNrRE02IgorbXNnc3RyICJPblRyYWNrRE02IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MQorbXNnaWQgIkVaLURyaXZlIgorbXNnc3RyICJFWi1Ecml2ZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDIKK21zZ2lkICJHb2xkZW4gQm93IgorbXNnc3RyICJHb2xkZW4gQm93IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MworbXNnaWQgIlByaWFtIEVkaXNrIgorbXNnc3RyICJQcmlhbSBFZGlzayIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDQgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTEKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk5Cittc2dpZCAiU3BlZWRTdG9yIgorbXNnc3RyICJTcGVlZFN0b3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ1Cittc2dpZCAiR05VIEhVUkQgb3IgU3lzViIKK21zZ3N0ciAiR05VIEhVUkQgbHViIFN5c1YiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ2Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMjg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ3Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMzg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAzODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ4Cittc2dpZCAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorbXNnc3RyICJEaXNrU2VjdXJlIE11bHRpLUJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ5Cittc2dpZCAiUEMvSVgiCittc2dzdHIgIlBDL0lYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MAorbXNnaWQgIk9sZCBNaW5peCIKK21zZ3N0ciAiU3RhcnkgTWluaXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUxCittc2dpZCAiTWluaXggLyBvbGQgTGludXgiCittc2dzdHIgIk1pbml4IC8gc3RhcnkgTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUyCittc2dpZCAiTGludXggc3dhcCAvIFNvbGFyaXMiCittc2dzdHIgIkxpbnV4IHN3YXAgLyBTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MworbXNnaWQgIkxpbnV4IgorbXNnc3RyICJMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTQKK21zZ2lkICJPUy8yIGhpZGRlbiBvciBJbnRlbCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiT1MvMiAtIHVrcnl0YSBsdWIgSW50ZWwgLSBoaWJlcm5hY2phIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NworbXNnaWQgIkxpbnV4IGV4dGVuZGVkIgorbXNnc3RyICJMaW51eCBleHQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU5Cittc2dpZCAiTlRGUyB2b2x1bWUgc2V0IgorbXNnc3RyICJOVEZTIHZvbHVtZSBzZXQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYwCittc2dpZCAiTGludXggcGxhaW50ZXh0IgorbXNnc3RyICJMaW51eCBwbGFpbnRleHQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYxIGxpYmZkaXNrL3NyYy9ncHQuYzoyMDUgbGliZmRpc2svc3JjL3NnaS5jOjYzCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTQKK21zZ2lkICJMaW51eCBMVk0iCittc2dzdHIgIkxpbnV4IExWTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjIKK21zZ2lkICJBbW9lYmEiCittc2dzdHIgIkFtb2ViYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjMKK21zZ2lkICJBbW9lYmEgQkJUIgorbXNnc3RyICJBbW9lYmEgQkJUIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NAorbXNnaWQgIkJTRC9PUyIKK21zZ3N0ciAiQlNEL09TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NQorbXNnaWQgIklCTSBUaGlua3BhZCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiSUJNIFRoaW5rcGFkIGhpYmVybmF0aW9uIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NgorbXNnaWQgIkZyZWVCU0QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY3Cittc2dpZCAiT3BlbkJTRCIKK21zZ3N0ciAiT3BlbkJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjgKK21zZ2lkICJOZVhUU1RFUCIKK21zZ3N0ciAiTmVYVFNURVAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY5Cittc2dpZCAiRGFyd2luIFVGUyIKK21zZ3N0ciAiRGFyd2luIFVGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzAKK21zZ2lkICJOZXRCU0QiCittc2dzdHIgIk5ldEJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzEKK21zZ2lkICJEYXJ3aW4gYm9vdCIKK21zZ3N0ciAiRGFyd2luIGJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcyCittc2dpZCAiSEZTIC8gSEZTKyIKK21zZ3N0ciAiSEZTIC8gSEZTKyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzMKK21zZ2lkICJCU0RJIGZzIgorbXNnc3RyICJCU0RJIGZzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NAorbXNnaWQgIkJTREkgc3dhcCIKK21zZ3N0ciAiQlNESSBzd2FwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NQorbXNnaWQgIkJvb3QgV2l6YXJkIGhpZGRlbiIKK21zZ3N0ciAiVWtyeXRhIEJvb3QgV2l6YXJkIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NgorbXNnaWQgIkFjcm9uaXMgRkFUMzIgTEJBIgorbXNnc3RyICJBY3JvbmlzIEZBVDMyIExCQSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzcgbGliZmRpc2svc3JjL2dwdC5jOjIzMAorbXNnaWQgIlNvbGFyaXMgYm9vdCIKK21zZ3N0ciAiU29sYXJpcyBib290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OAorbXNnaWQgIlNvbGFyaXMiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc5Cittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTIpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xMikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgwCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgxCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgyCittc2dpZCAiU3lyaW54IgorbXNnc3RyICJTeXJpbngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgzCittc2dpZCAiTm9uLUZTIGRhdGEiCittc2dzdHIgIk5vbi1GUyBkYXRhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NAorbXNnaWQgIkNQL00gLyBDVE9TIC8gLi4uIgorbXNnc3RyICJDUC9NIC8gQ1RPUyAvIC4uLiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODYKK21zZ2lkICJEZWxsIFV0aWxpdHkiCittc2dzdHIgIkRlbGwgVXRpbGl0eSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODcKK21zZ2lkICJCb290SXQiCittc2dzdHIgIkJvb3RJdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODgKK21zZ2lkICJET1MgYWNjZXNzIgorbXNnc3RyICJET1MgYWNjZXNzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MAorbXNnaWQgIkRPUyBSL08iCittc2dzdHIgIkRPUyBSL08iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkzCittc2dpZCAiUnVmdXMgYWxpZ25tZW50IgorbXNnc3RyICJSdWZ1cyAtIHd5csOzd25hd2N6YSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTQKK21zZ2lkICJCZU9TIGZzIgorbXNnc3RyICJCZU9TIGZzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NgorbXNnaWQgIkVGSSAoRkFULTEyLzE2LzMyKSIKK21zZ3N0ciAiRUZJIChGQVQtMTIvMTYvMzIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NworbXNnaWQgIkxpbnV4L1BBLVJJU0MgYm9vdCIKK21zZ3N0ciAiTGludXgvUEEtUklTQyBib290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDAKK21zZ2lkICJET1Mgc2Vjb25kYXJ5IgorbXNnc3RyICJET1Mgc2Vjb25kYXJ5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDEKK21zZ2lkICJWTXdhcmUgVk1GUyIKK21zZ3N0ciAiVk13YXJlIFZNRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMgorbXNnaWQgIlZNd2FyZSBWTUtDT1JFIgorbXNnc3RyICJWTXdhcmUgVk1LQ09SRSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAzIGxpYmZkaXNrL3NyYy9zdW4uYzo1NQorbXNnaWQgIkxpbnV4IHJhaWQgYXV0b2RldGVjdCIKK21zZ3N0ciAiTGludXggUkFJRCBhdXRvZGV0ZWN0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDYKK21zZ2lkICJMQU5zdGVwIgorbXNnc3RyICJMQU5zdGVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDcKK21zZ2lkICJCQlQiCittc2dzdHIgIkJCVCIKKworIzogbGliL2Jsa2Rldi5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlcyBpcyBtaXNhbGlnbmVkIgorbXNnc3RyICJ1d2FnYTogJXMgamVzdCBixYLEmWRuaWUgd3lyw7N3bmFuZSIKKworIzogbGliZmRpc2svc3JjL2FsaWdubWVudC5jOjY3MgorbXNnaWQgIkNhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIld5d2/Fgnl3YW5pZSBpb2N0bCgpIHcgY2VsdSBwb25vd25lZ28gb2Rjenl0dSB0YWJsaWN5IHBhcnR5Y2ppLiIKKworIzogbGliZmRpc2svc3JjL2FsaWdubWVudC5jOjY4MQorbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuIgorbXNnc3RyICJQb25vd255IG9kY3p5dCB0YWJsaWN5IHBhcnR5Y2ppIG5pZSBwb3dpw7NkxYIgc2nEmS4iCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2ODMKK21zZ2lkICJUaGUga2VybmVsIHN0aWxsIHVzZXMgdGhlIG9sZCB0YWJsZS4gVGhlIG5ldyB0YWJsZSB3aWxsIGJlIHVzZWQgYXQgdGhlIG5leHQgcmVib290IG9yIGFmdGVyIHlvdSBydW4gcGFydHByb2JlKDgpIG9yIGtwYXJ0eCg4KS4iCittc2dzdHIgIkrEhWRybyBuYWRhbCB1xbx5d2Egc3RhcmVqIHRhYmxpY3kuIE5vd2EgdGFibGljYSBixJlkemllIHXFvHl3YW5hIHBvIG5hc3TEmXBueW0gcmVzdGFyY2llIHN5c3RlbXUgYWxibyBwbyB1cnVjaG9taWVuaXUgcGFydHByb2JlKDgpIGx1YiBrcGFydHgoOCkuIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDcyIGxpYmZkaXNrL3NyYy9hc2suYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0ZWQgcGFydGl0aW9uICVqdSIKK21zZ3N0ciAiV3licmFubyBwYXJ0eWNqxJkgJWp1IgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDc1Cittc2dpZCAiTm8gcGFydGl0aW9uIGlzIGRlZmluZWQgeWV0ISIKK21zZ3N0ciAiTmllIHpkZWZpbmlvd2FubyBqZXN6Y3plIHBhcnR5Y2ppISIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ4NworbXNnaWQgIk5vIGZyZWUgcGFydGl0aW9uIGF2YWlsYWJsZSEiCittc2dzdHIgIk5pZSBtYSBqdcW8IHdvbG55Y2ggcGFydHljamkhIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDk3Cittc2dpZCAiUGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiTnVtZXIgcGFydHljamkiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBwYXJ0aXRpb24gJWQgb2YgdHlwZSAnJXMnIGFuZCBvZiBzaXplICVzLiIKK21zZ3N0ciAiVXR3b3J6b25vIG5vd8SFIHBhcnR5Y2rEmSAlZCB0eXB1ICclcycgbyByb3ptaWFyemUgJXMuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlemQ6IGhhcyBpbnZhbGlkIHN0YXJ0aW5nIHNlY3RvciAwLiIKK21zZ3N0ciAiUGFydHljamEgJXpkIG1hIG5pZXBvcHJhd255IHNla3RvciBwb2N6xIV0a293eSAwLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE4MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGVyZSBpcyBubyAqQlNEIHBhcnRpdGlvbiBvbiAlcy4iCittc2dzdHIgIk5hICVzIG5pZSBtYSBwYXJ0eWNqaSAqQlNELiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI1OSBsaWJmZGlzay9zcmMvZG9zLmM6OTMzCittc2dpZCAiRmlyc3QgY3lsaW5kZXIiCittc2dzdHIgIlBpZXJ3c3p5IGN5bGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MjkyIGxpYmZkaXNrL3NyYy9kb3MuYzoxMTYxCittc2dpZCAiTGFzdCBjeWxpbmRlciwgK2N5bGluZGVycyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICJPc3RhdG5pIGN5bGluZGVyLCArY3lsaW5kcsOzdyBsdWIgK3Jvem1pYXJ7SyxNLEcsVCxQfSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5NyBsaWJmZGlzay9zcmMvZG9zLmM6MTE2NiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1NQorbXNnaWQgIkxhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICJPc3RhdG5pIHNla3RvciwgK3Nla3RvcsOzdyBsdWIgK3Jvem1pYXJ7SyxNLEcsVCxQfSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGV2aWNlICVzIGRvZXMgbm90IGNvbnRhaW4gQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIlVyesSFZHplbmllICVzIG5pZSB6YXdpZXJhIGV0eWtpZXR5IGR5c2t1IEJTRC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODMKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBjcmVhdGUgYSBCU0QgZGlza2xhYmVsPyIKK21zZ3N0ciAiVXR3b3J6ecSHIGV0eWtpZXTEmSBkeXNrdSBCU0Q/IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDQ5Cittc2dpZCAiRGlzayIKK21zZ3N0ciAiRHlzayIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ1NgorbXNnaWQgIlBhY2tuYW1lIgorbXNnc3RyICJOYXp3YSBkeXNrdSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MyBsaWJmZGlzay9zcmMvc3VuLmM6MTExNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICJGbGFnaSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NgorbXNnaWQgIiByZW1vdmFibGUiCittc2dzdHIgIiB3eWptb3dhbG55IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY3Cittc2dpZCAiIGVjYyIKK21zZ3N0ciAiIEVDQyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2OAorbXNnaWQgIiBiYWRzZWN0IgorbXNnc3RyICIgd2FkbGl3ZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ3NgorbXNnaWQgIkJ5dGVzL1NlY3RvciIKK21zZ3N0ciAiQmFqdMOzdy9zZWt0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODEKK21zZ2lkICJUcmFja3MvQ3lsaW5kZXIiCittc2dzdHIgIsWaY2llxbxlay9jeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4NgorbXNnaWQgIlNlY3RvcnMvQ3lsaW5kZXIiCittc2dzdHIgIlNla3RvcsOzdy9jeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5MSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOCBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMworIzogbGliZmRpc2svc3JjL3NnaS5jOjExNTcgbGliZmRpc2svc3JjL3N1bi5jOjE5NiBsaWJmZGlzay9zcmMvc3VuLmM6MTExMworbXNnaWQgIkN5bGluZGVycyIKK21zZ3N0ciAiQ3lsaW5kcnkiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTYgbGliZmRpc2svc3JjL3N1bi5jOjc2MAorbXNnaWQgIlJwbSIKK21zZ3N0ciAiT2JyLi9taW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDEgbGliZmRpc2svc3JjL3NnaS5jOjI5MiBsaWJmZGlzay9zcmMvc3VuLmM6NzgwCittc2dpZCAiSW50ZXJsZWF2ZSIKK21zZ3N0ciAiUHJ6ZXBsb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDYKK21zZ2lkICJUcmFja3NrZXciCittc2dzdHIgIlByemVzdW5pxJljaWUgZGxhIMWbY2llxbxraSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxMQorbXNnaWQgIkN5bGluZGVyc2tldyIKK21zZ3N0ciAiUHJ6ZXN1bmnEmWNpZSBkbGEgY3lsaW5kcmEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTYKK21zZ2lkICJIZWFkc3dpdGNoIgorbXNnc3RyICJabWlhbmEgZ8WCb3dpY3kiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MjEKK21zZ2lkICJUcmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICJabWlhbmEgxZtjaWXFvGtpIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjExCittc2dpZCAiYnl0ZXMvc2VjdG9yIgorbXNnc3RyICJiYWp0w7N3L3Nla3RvciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNAorbXNnaWQgInNlY3RvcnMvdHJhY2siCittc2dzdHIgInNla3RvcsOzdy/Fm2NpZcW8a8SZIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE1Cittc2dpZCAidHJhY2tzL2N5bGluZGVyIgorbXNnc3RyICLFm2NpZcW8ZWsvY3lsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTYKK21zZ2lkICJjeWxpbmRlcnMiCittc2dzdHIgImN5bGluZHLDs3ciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjAKK21zZ2lkICJzZWN0b3JzL2N5bGluZGVyIgorbXNnc3RyICJzZWt0b3LDs3cvY3lsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjMKK21zZ2lkICJycG0iCittc2dzdHIgIm9ici4vbWluIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI0Cittc2dpZCAiaW50ZXJsZWF2ZSIKK21zZ3N0ciAicHJ6ZXBsb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjUKK21zZ2lkICJ0cmFja3NrZXciCittc2dzdHIgInByemVzdW5pxJljaWUgZGxhIMWbY2llxbxraSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNgorbXNnaWQgImN5bGluZGVyc2tldyIKK21zZ3N0ciAicHJ6ZXN1bmnEmWNpZSBkbGEgY3lsaW5kcmEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjgKK21zZ2lkICJoZWFkc3dpdGNoIgorbXNnc3RyICJ6bWlhbmEgZ8WCb3dpY3kiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjkKK21zZ2lkICJ0cmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICJ6bWlhbmEgxZtjaWXFvGtpIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290c3RyYXAgZmlsZSAlcyBzdWNjZXNzZnVsbHkgbG9hZGVkLiIKK21zZ3N0ciAiUGxpayByb3pydWNob3d5ICVzIG9kY3p5dGFueSBwb3ByYXduaWUuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjczCisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcDogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKGRlZmF1bHQgJTEkcykiCittc2dzdHIgIktvZCByb3pydWNob3d5OiAlMSRzYm9vdCAtPiBib290JTEkcyAoZG9tecWbbG5pZSAlMSRzKSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcwNAorbXNnaWQgIkJvb3RzdHJhcCBvdmVybGFwcyB3aXRoIGRpc2tsYWJlbCEiCittc2dzdHIgIktvZCByb3pydWNob3d5IHphY2hvZHppIG5hIGV0eWtpZXTEmSBkeXNrdSEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwIGluc3RhbGxlZCBvbiAlcy4iCittc2dzdHIgIlphaW5zdGFsb3dhbm8ga29kIHJvenJ1Y2hvd3kgbmEgJXMuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiAgKERvbid0IGZvcmdldCB0byB3cml0ZSB0aGUgJXMgZGlza2xhYmVsIHRvby4pIgorbXNnc3RyICJFdHlraWV0YSBkeXNrdSB6YXBpc2FuYSBuYSAlcyAocHJvc3p0IG5pZSB6YXBvbW5pZcSHIHphcGlzYcSHIHRha8W8ZSBldHlraWV0eSBkeXNrdSAlcykuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiIKK21zZ3N0ciAiRXR5a2lldGEgZHlza3UgemFwaXNhbmEgbmEgJXMuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTA5IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjY2Cittc2dpZCAiU3luY2luZyBkaXNrcy4iCittc2dzdHIgIlN5bmNocm9uaXphY2phIGR5c2vDs3cuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTUwCittc2dpZCAiQlNEIGxhYmVsIGlzIG5vdCBuZXN0ZWQgd2l0aGluIGEgRE9TIHBhcnRpdGlvbi4iCittc2dzdHIgIkV0eWtpZXRhIEJTRCBuaWUgamVzdCB6YWduaWXFvGTFvG9uYSB3IHBhcnR5Y2ppIERPUy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQlNEIHBhcnRpdGlvbiAnJWMnIGxpbmtlZCB0byBET1MgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIlBhcnR5Y2phIEJTRCAnJWMnIHBvxYLEhWN6b25hIGRvIHBhcnR5Y2ppIERPUyAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNAorbXNnaWQgIlNsaWNlIgorbXNnc3RyICJQbGFzdGVyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMQorbXNnaWQgIkZzaXplIgorbXNnc3RyICJSb3ptRiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjIKK21zZ2lkICJCc2l6ZSIKK21zZ3N0ciAiUm96bUIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIzCittc2dpZCAiQ3BnIgorbXNnc3RyICJDcGciCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zZSBkZXZpY2UgZmFpbGVkIgorbXNnc3RyICIlczogemFta25pxJljaWUgdXJ6xIVkemVuaWEgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjgyNworbXNnaWQgImN5bGluZGVyIgorbXNnaWRfcGx1cmFsICJjeWxpbmRlcnMiCittc2dzdHJbMF0gImN5bGluZGVyIgorbXNnc3RyWzFdICJjeWxpbmRyeSIKK21zZ3N0clsyXSAiY3lsaW5kcsOzdyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4MjgKK21zZ2lkICJzZWN0b3IiCittc2dpZF9wbHVyYWwgInNlY3RvcnMiCittc2dzdHJbMF0gInNla3RvciIKK21zZ3N0clsxXSAic2VrdG9yeSIKK21zZ3N0clsyXSAic2VrdG9yw7N3IgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjExMzEKK21zZ2lkICJJbmNvbXBsZXRlIGdlb21ldHJ5IHNldHRpbmcuIgorbXNnc3RyICJOaWVrb21wbGV0bmUgdXN0YXdpZW5pYSBnZW9tZXRyaWkuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE0Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBhbHJlYWR5LiIKK21zZ3N0ciAiV3N6eXN0a2llIHBhcnR5Y2plIGfFgsOzd25lIHpvc3RhxYJ5IGp1xbwgemRlZmluaW93YW5lLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBleHRlbmRlZCBwYXJ0aXRpb24gdGFibGUgKG9mZnNldD0lanUpIgorbXNnc3RyICJOaWUgdWRhxYJvIHNpxJkgb2Rjenl0YcSHIHJvenN6ZXJ6b25laiB0YWJsaWN5IHBhcnR5Y2ppIChvZmZzZXQ9JWp1KSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjMyOAorbXNnaWQgIllvdSBjYW4gc2V0IGdlb21ldHJ5IGZyb20gdGhlIGV4dHJhIGZ1bmN0aW9ucyBtZW51LiIKK21zZ3N0ciAiR2VvbWV0cmnEmSBtb8W8bmEgdXN0YXdpxIcgeiBwb3ppb211IG1lbnUgZnVua2NqaSBkb2RhdGtvd3ljaC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMzEKK21zZ2lkICJET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIgorbXNnc3RyICJUcnliIHpnb2Rub8WbY2kgeiBET1MtZW0gamVzdCBwcnplc3RhcnphxYJ5LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjMzNQorbXNnaWQgIlRoZSBkZXZpY2UgcHJlc2VudHMgYSBsb2dpY2FsIHNlY3RvciBzaXplIHRoYXQgaXMgc21hbGxlciB0aGFuIHRoZSBwaHlzaWNhbCBzZWN0b3Igc2l6ZS4gQWxpZ25pbmcgdG8gYSBwaHlzaWNhbCBzZWN0b3IgKG9yIG9wdGltYWwgSS9PKSBzaXplIGJvdW5kYXJ5IGlzIHJlY29tbWVuZGVkLCBvciBwZXJmb3JtYW5jZSBtYXkgYmUgaW1wYWN0ZWQuIgorbXNnc3RyICJVcnrEhWR6ZW5pZSBwcnplZHN0YXdpYSBsb2dpY3pueSByb3ptaWFyIHNla3RvcmEgbW5pZWpzenkgb2Qgcm96bWlhcnUgZml6eWN6bmVnby4gWmFsZWNhIHNpxJkgd3lyw7N3bmFuaWUgZG8gZ3JhbmljeSBzZWt0b3JhIGZpenljem5lZ28gKGx1YiBvcHR5bWFsbmVnbyBkbGEgd2Uvd3kpLCB3IHByemVjaXdueW0gd3lwYWRrdSBtb8W8ZSB0byB3cMWCeW7EhcSHIG5hIHd5ZGFqbm/Fm8SHLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MQorbXNnaWQgIkN5bGluZGVycyBhcyBkaXNwbGF5IHVuaXRzIGFyZSBkZXByZWNhdGVkLiIKK21zZ3N0ciAiQ3lsaW5kcnkgamFrbyBqZWRub3N0a2kgd3nFm3dpZXRsYW5pYSBzxIUgcHJ6ZXN0YXJ6YcWCZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHNpemUgb2YgdGhpcyBkaXNrIGlzICVzICglanUgYnl0ZXMpLiBET1MgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCBjYW4gbm90IGJlIHVzZWQgb24gZHJpdmVzIGZvciB2b2x1bWVzIGxhcmdlciB0aGFuICVsdSBieXRlcyBmb3IgJWx1LWJ5dGUgc2VjdG9ycy4gVXNlIEdVSUQgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCAoR1BUKS4iCittc2dzdHIgIlJvem1pYXIgdGVnbyBkeXNrdSB0byAlcyAoJWp1IGJhanTDs3cpLiBET1Mtb3d5IGZvcm1hdCB0YWJsaWN5IHBhcnR5Y2ppIG5pZSBtb8W8ZSBiecSHIHXFvHl3YW55IGRsYSBkeXNrw7N3IG5hIHdvbHVtZW5hY2ggd2nEmWtzenljaCBuacW8ICVsdSBiYWp0w7N3IGRsYSAlbHUtYmFqdG93eWNoIHNla3RvcsOzdy4gTmFsZcW8eSB1xbx5xIcgZm9ybWF0dSB0YWJsaWN5IHBhcnR5Y2ppIEdVSUQgKEdQVCkuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTAzCittc2dpZCAiQmFkIG9mZnNldCBpbiBwcmltYXJ5IGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIkLFgsSZZG55IG9mZnNldCB3IGfFgsOzd25laiBwYXJ0eWNqaSByb3pzemVyem9uZWouIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIk9taXR0aW5nIHBhcnRpdGlvbnMgYWZ0ZXIgIyV6dS4gVGhleSB3aWxsIGJlIGRlbGV0ZWQgaWYgeW91IHNhdmUgdGhpcyBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJQb21pbmnEmXRvIHBhcnR5Y2plIHBvICMlenUuIELEmWTEhSB1c3VuacSZdGUsIGplxZtsaSB0YSB0YWJsaWNhIHBhcnR5Y2ppIHpvc3RhbmllIHphcGlzYW5hLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJFeHRyYSBsaW5rIHBvaW50ZXIgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIk5hZG1pYXJvd3kgd3NrYcW6bmlrIMWCxIVjesSFY3kgdyB0YWJsaWN5IHBhcnR5Y2ppICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZGF0YSBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiWmlnbm9yb3dhbm8gbmFkbWlhcm93ZSBkYW5lIHcgdGFibGljeSBwYXJ0eWNqaSAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9taXR0aW5nIGVtcHR5IHBhcnRpdGlvbiAoJXp1KSIKK21zZ3N0ciAicG9taW5pxJl0byBwdXN0xIUgcGFydHljasSZICglenUpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguIgorbXNnc3RyICJVdHdvcnpvbm8gbm93xIUgZXR5a2lldMSZIGR5c2t1IERPUyB6IGlkZW50eWZpa2F0b3JlbSBkeXNrdSAweCUwOHguIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6Njg1Cittc2dpZCAiRW50ZXIgdGhlIG5ldyBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIlByb3N6xJkgd3Byb3dhZHppxIcgbm93eSBpZGVudHlmaWthdG9yIGR5c2t1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjkyCittc2dpZCAiSW5jb3JyZWN0IHZhbHVlLiIKK21zZ3N0ciAiQsWCxJlkbmEgd2FydG/Fm8SHLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcwMQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tIDB4JTA4eCB0byAweCUwOHguIgorbXNnc3RyICJJZGVudHlmaWthdG9yIGR5c2t1IHptaWVuaW9ueSB6IDB4JTA4eCBuYSAweCUwOHguIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGV4dGVuZGVkIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIlppZ25vcm93YW5vIG5hZG1pYXJvd8SFIHBhcnR5Y2rEmSByb3pzemVyem9uxIUgJXp1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgZmxhZyAweCUwMnglMDJ4IG9mIEVCUiAoZm9yIHBhcnRpdGlvbiAlenUpIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkuIgorbXNnc3RyICJOaWVwb3ByYXduYSBmbGFnYSAweCUwMnglMDJ4IEVCUiAoZGxhIHBhcnR5Y2ppICV6dSkgYsSZZHppZSBwb3ByYXdpb25hIHByenkgemFwaXNpZSAodykuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6OTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIlN0YXJ0IHNlY3RvciAlanUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiU2VrdG9yIHBvY3rEhXRrb3d5ICVqdSBzcG96YSB6YWtyZXN1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwMjYgbGliZmRpc2svc3JjL2dwdC5jOjIxMzYgbGliZmRpc2svc3JjL3NnaS5jOjgzOQorIzogbGliZmRpc2svc3JjL3N1bi5jOjUxNworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKK21zZ3N0ciAiUGFydHljamEgJXp1IGplc3QganXFvCB6ZGVmaW5pb3dhbmEuIE5hbGXFvHkgasSFIHVzdW7EhcSHIHByemVkIHBvbm93bnltIGRvZGFuaWVtLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVsbHUgaXMgYWxyZWFkeSBhbGxvY2F0ZWQuIgorbXNnc3RyICJTZWt0b3IgJWxsdSBqZXN0IGp1xbwgcHJ6eWR6aWVsb255LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjExMzMgbGliZmRpc2svc3JjL2dwdC5jOjIxNDYKK21zZ2lkICJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlLiIKK21zZ3N0ciAiTmllIG1hIGp1xbwgd29sbnljaCBzZWt0b3LDs3cuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJEb2Rhd2FuaWUgcGFydHljamkgbG9naWN6bmVqICV6dSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY29udGFpbnMgc2VjdG9yIDAiCittc2dzdHIgIlBhcnR5Y2phICV6dTogemF3aWVyYSBzZWt0b3IgMCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaGVhZCAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlZCIKK21zZ3N0ciAiUGFydHljamEgJXp1OiBnxYJvd2ljYSAlZCB3acSZa3N6YSBuacW8IG1ha3N5bWFsbmEgJWQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHNlY3RvciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICJQYXJ0eWNqYSAlenU6IHNla3RvciAlZCB3acSZa3N6eSBuacW8IG1ha3N5bWFsbnkgJWxsdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY3lsaW5kZXIgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiUGFydHljamEgJXp1OiBjeWxpbmRlciAlZCB3acSZa3N6eSBuacW8IG1ha3N5bWFsbnkgJWxsdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogcHJldmlvdXMgc2VjdG9ycyAldSBkaXNhZ3JlZXMgd2l0aCB0b3RhbCAldSIKK21zZ3N0ciAiUGFydHljamEgJXp1OiBwb3ByemVkbmlhIGxpY3piYSBzZWt0b3LDs3cgJXUgbmllIHpnYWR6YSBzacSZIHogY2HFgmtvd2l0xIUgJXUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGJlZ2lubmluZ3MgKG5vbi1MaW51eD8pOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIlBhcnR5Y2phICV6dTogcsOzxbxuZSBwb2N6xIV0a2kgZml6eWN6bnkgaSBsb2dpY3pueSAobmllIGplc3QgbGludWtzb3dhPyk6IGZpej0oJWQsICVkLCAlZCksIGxvZz0oJWQsICVkLCAlZCkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGVuZGluZ3M6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiUGFydHljamEgJXp1OiByw7PFvG5lIGtvxYRjZSBmaXp5Y3pueSBpIGxvZ2ljem55OiBmaXo9KCVkLCAlZCwgJWQpLCBsb2c9KCVkLCAlZCwgJWQpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQwMworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJQYXJ0eWNqYSAlenU6IG5pZSBrb8WEY3p5IHNpxJkgbmEgZ3JhbmljeSBjeWxpbmRyYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGJhZCBzdGFydC1vZi1kYXRhLiIKK21zZ3N0ciAiUGFydHljamEgJXp1OiBixYLEmWRueSBwb2N6xIV0ZWsgZGFueWNoLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogb3ZlcmxhcHMgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIlBhcnR5Y2phICV6dTogemFjaG9kemkgbmEgcGFydHljasSZICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGVtcHR5LiIKK21zZ3N0ciAiUGFydHljamEgJXp1OiBqZXN0IHB1c3RhLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9naWNhbCBwYXJ0aXRpb24gJXp1OiBub3QgZW50aXJlbHkgaW4gcGFydGl0aW9uICV6dS4iCittc2dzdHIgIlBhcnR5Y2phIGxvZ2ljem5hICV6dTogbmllIHphd2llcmEgc2nEmSB3IHBlxYJuaSB3IHBhcnR5Y2ppICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDgxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRvdGFsIGFsbG9jYXRlZCBzZWN0b3JzICVsbHUgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtICVsbHUuIgorbXNnc3RyICJDYcWCa293aXRhIGxpY3piYSBwcnp5ZHppZWxvbnljaCBzZWt0b3LDs3cgJWxsdSBqZXN0IHdpxJlrc3phIG5pxbwgbWFrc3ltYWxuYSAlbGx1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVtYWluaW5nICVsbGQgdW5hbGxvY2F0ZWQgJWxkLWJ5dGUgc2VjdG9ycy4iCittc2dzdHIgIlBvem9zdGHFgm8gJWxsZCBuaWVwcnp5ZHppZWxvbnljaCBzZWt0b3LDs3cgJWxkLWJhanRvd3ljaC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTMyIGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU0Cittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGFscmVhZHkgZXhpc3RzLiIKK21zZ3N0ciAiUGFydHljamEgcm96c3plcnpvbmEganXFvCBpc3RuaWVqZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTc1Cittc2dpZCAiVGhlIG1heGltdW0gbnVtYmVyIG9mIHBhcnRpdGlvbnMgaGFzIGJlZW4gY3JlYXRlZC4iCittc2dzdHIgIlV0d29yem9ubyBqdcW8IG1ha3N5bWFsbsSFIGxpY3pixJkgcGFydHljamkuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU4NworbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4iCittc2dzdHIgIldzenlzdGtpZSBwYXJ0eWNqZSBnxYLDs3duZSBzxIUgd3lrb3J6eXN0YW5lLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1ODkgbGliZmRpc2svc3JjL2Rvcy5jOjE2MDAKK21zZ2lkICJBbGwgc3BhY2UgZm9yIHByaW1hcnkgcGFydGl0aW9ucyBpcyBpbiB1c2UuIgorbXNnc3RyICJDYcWCZSBtaWVqc2NlIG5hIHBhcnR5Y2plIGfFgsOzd25lIGplc3QganXFvCB3eWtvcnp5c3RhbmUuIgorCisjLiBUUkFOU0xBVE9SUzogVHJ5IHRvIGtlZXAgdGhpcyB3aXRoaW4gODAgY2hhcmFjdGVycy4KKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjAzCittc2dpZCAiVG8gY3JlYXRlIG1vcmUgcGFydGl0aW9ucywgZmlyc3QgcmVwbGFjZSBhIHByaW1hcnkgd2l0aCBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJBYnkgdXR3b3J6ecSHIHdpxJljZWogcGFydHljamksIG5hbGXFvHkgbmFqcGllcncgemFtaWVuacSHIGplZG7EhSBwYXJ0eWNqxJkgZ8WCw7N3bsSFIG5hIHJvenN6ZXJ6b27EhS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjA4Cittc2dpZCAiQWxsIGxvZ2ljYWwgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiBBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvbi4iCittc2dzdHIgIldzenlzdGtpZSBwYXJ0eWNqZSBsb2dpY3puZSBzxIUgd3lrb3J6eXN0YW5lLiBEb2Rhd2FuaWUgcGFydHljamkgZ8WCw7N3bmVqLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzAKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiVHlwIHBhcnR5Y2ppIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlenUgcHJpbWFyeSwgJWQgZXh0ZW5kZWQsICV6dSBmcmVlIgorbXNnc3RyICJnxYLDs3dueWNoICV6dSwgcm96c3plcnpvbnljaCAlZCwgd29sbnljaCAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjM5Cittc2dpZCAicHJpbWFyeSIKK21zZ3N0ciAiZ8WCw7N3bmEiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQxCittc2dpZCAiZXh0ZW5kZWQiCittc2dzdHIgInJvenN6ZXJ6b25hIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MQorbXNnaWQgImNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zIgorbXNnc3RyICJrb250ZW5lciBuYSBwYXJ0eWNqZSBsb2dpY3puZSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDMKK21zZ2lkICJsb2dpY2FsIgorbXNnc3RyICJsb2dpY3puYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDMKK21zZ2lkICJudW1iZXJlZCBmcm9tIDUiCittc2dzdHIgIm51bWVyb3dhbmEgb2QgNSB3end5xbwiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIHR5cGUgYCVjJy4iCittc2dzdHIgIk5pZXBvcHJhd255IHR5cCBwYXJ0eWNqaSBgJWMnLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlIHNlY3RvciAlamQ6IHNlZWsgZmFpbGVkIgorbXNnc3RyICJOaWUgbW/FvG5hIHphcGlzYcSHIHNla3RvcmEgJWpkIG5pZSBwb3dpw7NkxYIgc2nEmTogc2VlayBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxODUyIGxpYmZkaXNrL3NyYy9ncHQuYzoxMDk2Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJJZGVudHlmaWthdG9yIGR5c2t1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1OQorbXNnaWQgIlR5cGUgMCBtZWFucyBmcmVlIHNwYWNlIHRvIG1hbnkgc3lzdGVtcy4gSGF2aW5nIHBhcnRpdGlvbnMgb2YgdHlwZSAwIGlzIHByb2JhYmx5IHVud2lzZS4iCittc2dzdHIgIlR5cCAwIGRsYSB3aWVsdSBzeXN0ZW3Ds3cgb3puYWN6YSB3b2xuZSBtaWVqc2NlLiBUcnp5bWFuaWUgcGFydHljamkgbyB0eXBpZSAwIHByYXdkb3BvZG9ibmllIGplc3QgbmllbcSFZHJlLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE5NjQKK21zZ2lkICJDYW5ub3QgY2hhbmdlIHR5cGUgb2YgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiB3aGljaCBpcyBhbHJlYWR5IHVzZWQgYnkgbG9naWNhbCBwYXJ0aXRpb25zLiBEZWxldGUgbG9naWNhbCBwYXJ0aXRpb25zIGZpcnN0LiIKK21zZ3N0ciAiTmllIG1vxbxuYSB6bWllbmnEhyB0eXB1IHBhcnR5Y2ppIHJvenN6ZXJ6b25laiwga3TDs3JhIGplc3QganXFvCB1xbx5d2FuYSBwcnpleiBwYXJ0eWNqZSBsb2dpY3puZS4gTmFqcGllcncgdHJ6ZWJhIHVzdW7EhcSHIHBhcnR5Y2plIGxvZ2ljem5lLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxNDMgbGliZmRpc2svc3JjL2dwdC5jOjI4MjEKK21zZ2lkICJOb3RoaW5nIHRvIGRvLiBPcmRlcmluZyBpcyBjb3JyZWN0IGFscmVhZHkuIgorbXNnc3RyICJOaWUgbWEgbmljIGRvIHpyb2JpZW5pYSwga29sZWpub8WbxIcganXFvCBqZXN0IHByYXdpZMWCb3dhLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogbm8gZGF0YSBhcmVhLiIKK21zZ3N0ciAiUGFydHljamEgJXp1OiBuaWUgbWEgb2JzemFydSBkYW55Y2guIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjIyMgorbXNnaWQgIk5ldyBiZWdpbm5pbmcgb2YgZGF0YSIKK21zZ3N0ciAiTm93eSBwb2N6xIV0ZWsgZGFueWNoIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBpcyBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJQYXJ0eWNqYSAlenU6IGplc3QgcGFydHljasSFIHJvenN6ZXJ6b27EhS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJGbGFnYSByb3pydWNodSBkbGEgcGFydHljamkgJXp1IGplc3QgdGVyYXogd8WCxIVjem9uYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiRmxhZ2Egcm96cnVjaHUgZGxhIHBhcnR5Y2ppICV6dSBqZXN0IHRlcmF6IHd5xYLEhWN6b25hLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyOTggbGliZmRpc2svc3JjL2dwdC5jOjI5MTEgbGliZmRpc2svc3JjL3NnaS5jOjExNTMKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTA5Cittc2dpZCAiRGV2aWNlIgorbXNnc3RyICJVcnrEhWR6ZW5pZSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyOTkgbGliZmRpc2svc3JjL3N1bi5jOjQxCittc2dpZCAiQm9vdCIKK21zZ3N0ciAiUm96cnVjaCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDUgbGliZmRpc2svc3JjL3NnaS5jOjExNTkgbGliZmRpc2svc3JjL3N1bi5jOjExMTUKK21zZ2lkICJJZCIKK21zZ3N0ciAiSWQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzA5Cittc2dpZCAiU3RhcnQtQy9IL1MiCittc2dzdHIgIlBvY3rEhXRlay1DL0gvUyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTAKK21zZ2lkICJFbmQtQy9IL1MiCittc2dzdHIgIktvbmllYy1DL0gvUyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTEgbGliZmRpc2svc3JjL2dwdC5jOjI5MjEgbGliZmRpc2svc3JjL3NnaS5jOjExNjEKK21zZ2lkICJBdHRycyIKK21zZ3N0ciAiQXRyeWJ1dHkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjAKK21zZ2lkICJFRkkgU3lzdGVtIgorbXNnc3RyICJTeXN0ZW0gRUZJIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYyCittc2dpZCAiTUJSIHBhcnRpdGlvbiBzY2hlbWUiCittc2dzdHIgIlNjaGVtYXQgcGFydHljamkgTUJSIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzCittc2dpZCAiSW50ZWwgRmFzdCBGbGFzaCIKK21zZ3N0ciAiSW50ZWwgRmFzdCBGbGFzaCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2NgorbXNnaWQgIkJJT1MgYm9vdCIKK21zZ3N0ciAiQklPUyAtIHJvenJ1Y2hvd2EiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjkKK21zZ2lkICJTb255IGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICJQYXJ0eWNqYSByb3pydWNob3dhIFNvbnkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzAKK21zZ2lkICJMZW5vdm8gYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIlBhcnR5Y2phIHJvenJ1Y2hvd2EgTGVub3ZvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczCittc2dpZCAiUG93ZXJQQyBQUmVQIGJvb3QiCittc2dzdHIgIlBvd2VyUEMgUFJlUCAtIHJvenJ1Y2hvd2EiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzYKK21zZ2lkICJPTklFIGJvb3QiCittc2dzdHIgIk9OSUUgLSByb3pydWNob3dhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc3Cittc2dpZCAiT05JRSBjb25maWciCittc2dzdHIgIk9OSUUgLSBrb25maWd1cmFjamEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAKK21zZ2lkICJNaWNyb3NvZnQgcmVzZXJ2ZWQiCittc2dzdHIgIk1pY3Jvc29mdCAtIHphcmV6ZXJ3b3dhbmEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODEKK21zZ2lkICJNaWNyb3NvZnQgYmFzaWMgZGF0YSIKK21zZ3N0ciAiTWljcm9zb2Z0IC0gZGFuZSBwb2RzdGF3b3dlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgyCittc2dpZCAiTWljcm9zb2Z0IExETSBtZXRhZGF0YSIKK21zZ3N0ciAiTWljcm9zb2Z0IC0gbWV0YWRhbmUgTERNIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgzCittc2dpZCAiTWljcm9zb2Z0IExETSBkYXRhIgorbXNnc3RyICJNaWNyb3NvZnQgLSBkYW5lIExETSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NAorbXNnaWQgIldpbmRvd3MgcmVjb3ZlcnkgZW52aXJvbm1lbnQiCittc2dzdHIgIsWacm9kb3dpc2tvIG9kdHdvcnplbmlvd2UgV2luZG93cyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NQorbXNnaWQgIklCTSBHZW5lcmFsIFBhcmFsbGVsIEZzIgorbXNnc3RyICJJQk0gR2VuZXJhbCBQYXJhbGxlbCBGcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NgorbXNnaWQgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKK21zZ3N0ciAiTWljcm9zb2Z0IFN0b3JhZ2UgU3BhY2VzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg5Cittc2dpZCAiSFAtVVggZGF0YSIKK21zZ3N0ciAiSFAtVVggLSBkYW5lIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkwCittc2dpZCAiSFAtVVggc2VydmljZSIKK21zZ3N0ciAiSFAtVVggLSBzZXJ3aXNvd2EiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTMgbGliZmRpc2svc3JjL3NnaS5jOjYxIGxpYmZkaXNrL3NyYy9zdW4uYzo1MgorbXNnaWQgIkxpbnV4IHN3YXAiCittc2dzdHIgIkxpbnV4IHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTQKK21zZ2lkICJMaW51eCBmaWxlc3lzdGVtIgorbXNnc3RyICJMaW51eCAtIHN5c3RlbSBwbGlrw7N3IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk1Cittc2dpZCAiTGludXggc2VydmVyIGRhdGEiCittc2dzdHIgIkxpbnV4IC0gZGFuZSBzZXJ3ZXJvd2UiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTYKK21zZ2lkICJMaW51eCByb290ICh4ODYpIgorbXNnc3RyICJMaW51eCAtIGfFgsOzd25hICh4ODYpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3Cittc2dpZCAiTGludXggcm9vdCAoQVJNKSIKK21zZ3N0ciAiTGludXggLSBnxYLDs3duYSAoQVJNKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OAorbXNnaWQgIkxpbnV4IHJvb3QgKHg4Ni02NCkiCittc2dzdHIgIkxpbnV4IC0gZ8WCw7N3bmEgKHg4Ni02NCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTkKK21zZ2lkICJMaW51eCByb290IChBUk0tNjQpIgorbXNnc3RyICJMaW51eCAtIGfFgsOzd25hIChBUk0tNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwCittc2dpZCAiTGludXggcm9vdFx0KElBLTY0KSIKK21zZ3N0ciAiTGludXggLSBnxYLDs3duYSAoSUEtNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAxCittc2dpZCAiTGludXggcmVzZXJ2ZWQiCittc2dzdHIgIkxpbnV4IC0gemFyZXplcndvd2FuYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMgorbXNnaWQgIkxpbnV4IGhvbWUiCittc2dzdHIgIkxpbnV4IC0ga2F0YWxvZ2kgZG9tb3dlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2NAorbXNnaWQgIkxpbnV4IFJBSUQiCittc2dzdHIgIkxpbnV4IFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQKK21zZ2lkICJMaW51eCBleHRlbmRlZCBib290IgorbXNnc3RyICJMaW51eCAtIHJvenN6ZXJ6b25hIHJvenJ1Y2hvd2EiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTIKK21zZ2lkICJGcmVlQlNEIGRhdGEiCittc2dzdHIgIkZyZWVCU0QgLSBkYW5lIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzCittc2dpZCAiRnJlZUJTRCBib290IgorbXNnc3RyICJGcmVlQlNEIGJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQKK21zZ2lkICJGcmVlQlNEIHN3YXAiCittc2dzdHIgIkZyZWVCU0Qgc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNQorbXNnaWQgIkZyZWVCU0QgVUZTIgorbXNnc3RyICJGcmVlQlNEIFVGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNgorbXNnaWQgIkZyZWVCU0QgWkZTIgorbXNnc3RyICJGcmVlQlNEIFpGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNworbXNnaWQgIkZyZWVCU0QgVmludW0iCittc2dzdHIgIkZyZWVCU0QgVmludW0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjAKK21zZ2lkICJBcHBsZSBIRlMvSEZTKyIKK21zZ3N0ciAiQXBwbGUgSEZTL0hGUysiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEKK21zZ2lkICJBcHBsZSBVRlMiCittc2dzdHIgIkFwcGxlIFVGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMgorbXNnaWQgIkFwcGxlIFJBSUQiCittc2dzdHIgIkFwcGxlIFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjMKK21zZ2lkICJBcHBsZSBSQUlEIG9mZmxpbmUiCittc2dzdHIgIkFwcGxlIFJBSUQgb2ZmbGluZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNAorbXNnaWQgIkFwcGxlIGJvb3QiCittc2dzdHIgIkFwcGxlIGJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjUKK21zZ2lkICJBcHBsZSBsYWJlbCIKK21zZ3N0ciAiQXBwbGUgbGFiZWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjYKK21zZ2lkICJBcHBsZSBUViByZWNvdmVyeSIKK21zZ3N0ciAiQXBwbGUgVFYgcmVjb3ZlcnkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjcKK21zZ2lkICJBcHBsZSBDb3JlIHN0b3JhZ2UiCittc2dzdHIgIkFwcGxlIENvcmUgc3RvcmFnZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMQorbXNnaWQgIlNvbGFyaXMgcm9vdCIKK21zZ3N0ciAiU29sYXJpcyByb290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMzCittc2dpZCAiU29sYXJpcyAvdXNyICYgQXBwbGUgWkZTIgorbXNnc3RyICJTb2xhcmlzIC91c3IgLyBBcHBsZSBaRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzQKK21zZ2lkICJTb2xhcmlzIHN3YXAiCittc2dzdHIgIlNvbGFyaXMgc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNQorbXNnaWQgIlNvbGFyaXMgYmFja3VwIgorbXNnc3RyICJTb2xhcmlzIGJhY2t1cCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNgorbXNnaWQgIlNvbGFyaXMgL3ZhciIKK21zZ3N0ciAiU29sYXJpcyAvdmFyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM3Cittc2dpZCAiU29sYXJpcyAvaG9tZSIKK21zZ3N0ciAiU29sYXJpcyAvaG9tZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOAorbXNnaWQgIlNvbGFyaXMgYWx0ZXJuYXRlIHNlY3RvciIKK21zZ3N0ciAiU29sYXJpcyBhbHRlcm5hdGUgc2VjdG9yIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAxIgorbXNnc3RyICJTb2xhcmlzIC0gemFyZXplcndvd2FuYSAxIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQwCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAyIgorbXNnc3RyICJTb2xhcmlzIC0gemFyZXplcndvd2FuYSAyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAzIgorbXNnc3RyICJTb2xhcmlzIC0gemFyZXplcndvd2FuYSAzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA0IgorbXNnc3RyICJTb2xhcmlzIC0gemFyZXplcndvd2FuYSA0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQzCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA1IgorbXNnc3RyICJTb2xhcmlzIC0gemFyZXplcndvd2FuYSA1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2Cittc2dpZCAiTmV0QlNEIHN3YXAiCittc2dzdHIgIk5ldEJTRCBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ3Cittc2dpZCAiTmV0QlNEIEZGUyIKK21zZ3N0ciAiTmV0QlNEIEZGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OAorbXNnaWQgIk5ldEJTRCBMRlMiCittc2dzdHIgIk5ldEJTRCBMRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDkKK21zZ2lkICJOZXRCU0QgY29uY2F0ZW5hdGVkIgorbXNnc3RyICJOZXRCU0QgLSDFgsSFY3pvbmEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTAKK21zZ2lkICJOZXRCU0QgZW5jcnlwdGVkIgorbXNnc3RyICJOZXRCU0QgLSBzenlmcm93YW5hIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUxCittc2dpZCAiTmV0QlNEIFJBSUQiCittc2dzdHIgIk5ldEJTRCBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0Cittc2dpZCAiQ2hyb21lT1Mga2VybmVsIgorbXNnc3RyICJDaHJvbWVPUyBrZXJuZWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTUKK21zZ2lkICJDaHJvbWVPUyByb290IGZzIgorbXNnc3RyICJDaHJvbWVPUyByb290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU2Cittc2dpZCAiQ2hyb21lT1MgcmVzZXJ2ZWQiCittc2dzdHIgIkNocm9tZU9TIC0gemFyZXplcndvd2FuYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OQorbXNnaWQgIk1pZG5pZ2h0QlNEIGRhdGEiCittc2dzdHIgIk1pZG5pZ2h0QlNEIC0gZGFuZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MAorbXNnaWQgIk1pZG5pZ2h0QlNEIGJvb3QiCittc2dzdHIgIk1pZG5pZ2h0QlNEIGJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjEKK21zZ2lkICJNaWRuaWdodEJTRCBzd2FwIgorbXNnc3RyICJNaWRuaWdodEJTRCBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyCittc2dpZCAiTWlkbmlnaHRCU0QgVUZTIgorbXNnc3RyICJNaWRuaWdodEJTRCBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjMKK21zZ2lkICJNaWRuaWdodEJTRCBaRlMiCittc2dzdHIgIk1pZG5pZ2h0QlNEIFpGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NAorbXNnaWQgIk1pZG5pZ2h0QlNEIFZpbnVtIgorbXNnc3RyICJNaWRuaWdodEJTRCBWaW51bSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NworbXNnaWQgIkNlcGggSm91cm5hbCIKK21zZ3N0ciAiQ2VwaCAtIGtyb25pa2EiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjgKK21zZ2lkICJDZXBoIEVuY3J5cHRlZCBKb3VybmFsIgorbXNnc3RyICJDZXBoIC0gemFzenlmcm93YW5hIGtyb25pa2EiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjkKK21zZ2lkICJDZXBoIE9TRCIKK21zZ3N0ciAiQ2VwaCAtIE9TRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MAorbXNnaWQgIkNlcGggY3J5cHQgT1NEIgorbXNnc3RyICJDZXBoIC0gemFzenlmcm93YW5hIE9TRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MQorbXNnaWQgIkNlcGggZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiQ2VwaCAtIGR5c2sgcG9kY3phcyB0d29yemVuaWEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzIKK21zZ2lkICJDZXBoIGNyeXB0IGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIkNlcGggLSB6YXN6eWZyb3dhbnkgZHlzayBwb2RjemFzIHR3b3J6ZW5pYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NQorbXNnaWQgIk9wZW5CU0QgZGF0YSIKK21zZ3N0ciAiT3BlbkJTRCAtIGRhbmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzgKK21zZ2lkICJRTlg2IGZpbGUgc3lzdGVtIgorbXNnc3RyICJTeXN0ZW0gcGxpa8OzdyBRTlg2IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjgxCittc2dpZCAiUGxhbiA5IHBhcnRpdGlvbiIKK21zZ3N0ciAiUGFydHljamEgUGxhbiA5IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NTQ3Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdQVCBoZWFkZXIiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnp5ZHppZWxpxIcgbmFnxYLDs3drYSBHUFQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo2MzAKK21zZ2lkICJGaXJzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJQaWVyd3N6eSBMQkEgcG9kYW5lIHByemV6IHNrcnlwdCBqZXN0IHBvemEgemFrcmVzZW0uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NjQyCittc2dpZCAiTGFzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJPc3RhdG5pIExCQSBwb2RhbmUgcHJ6ZXogc2tyeXB0IGplc3QgcG96YSB6YWtyZXNlbS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR1BUIFBNQlIgc2l6ZSBtaXNtYXRjaCAoJTxQUkl1NjQ+ICE9ICU8UFJJdTY0Pikgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIm5pZXpnb2Rub8WbxIcgcm96bWlhcnUgUE1CUiBHUFQgKCU8UFJJdTY0PiAhPSAlPFBSSXU2ND4pIHpvc3RhbmllIHBvcHJhd2lvbmEgcHJ6eSB6YXBpc2llICh3KS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3OTIKK21zZ2lkICJncHQ6IHN0YXQoKSBmYWlsZWQiCittc2dzdHIgImdwdDogc3RhdCgpIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjgwMgorIywgYy1mb3JtYXQKK21zZ2lkICJncHQ6IGNhbm5vdCBoYW5kbGUgZmlsZXMgd2l0aCBtb2RlICVvIgorbXNnc3RyICJncHQ6IG5pZSBtb8W8bmEgb2JzxYJ1xbx5xIcgcGxpa8OzdyB6IHVwcmF3bmllbmlhbWkgJW8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMDY0Cittc2dpZCAiR1BUIEhlYWRlciIKK21zZ3N0ciAiTmFnxYLDs3dlayBHUFQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMDY5Cittc2dpZCAiR1BUIEVudHJpZXMiCittc2dzdHIgIldwaXN5IEdQVCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExMDMKK21zZ2lkICJGaXJzdCBMQkEiCittc2dzdHIgIlBpZXJ3c3p5IExCQSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExMDgKK21zZ2lkICJMYXN0IExCQSIKK21zZ3N0ciAiT3N0YXRuaSBMQkEiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgTEJBIChMb2dpY2FsIEJsb2NrIEFkZHJlc3MpIG9mIHRoZSBiYWNrdXAgR1BUIGhlYWRlci4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTE0Cittc2dpZCAiQWx0ZXJuYXRpdmUgTEJBIgorbXNnc3RyICJMQkEgYWx0ZXJuYXR5d25lZ28gbmFnxYLDs3drYSBHUFQiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhcnQgb2YgdGhlIGFycmF5IG9mIHBhcnRpdGlvbiBlbnRyaWVzLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjExMjAKK21zZ2lkICJQYXJ0aXRpb24gZW50cmllcyBMQkEiCittc2dzdHIgIkxCQSB3cGlzw7N3IHBhcnR5Y2ppIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEyNQorbXNnaWQgIkFsbG9jYXRlZCBwYXJ0aXRpb24gZW50cmllcyIKK21zZ3N0ciAiUHJ6eWR6aWVsb25vIHdwaXN5IHBhcnR5Y2ppIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTQ0MAorbXNnaWQgIlRoZSBiYWNrdXAgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgcHJpbWFyeSBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIlphcGFzb3dhIHRhYmxpY2EgR1BUIGplc3QgdXN6a29kem9uYSwgYWxlIGfFgsOzd25hIHd5Z2zEhWRhIGRvYnJ6ZSwgd2nEmWMgem9zdGFuaWUgdcW8eXRhIGfFgsOzd25hLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE0NDkKK21zZ2lkICJUaGUgcHJpbWFyeSBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBiYWNrdXAgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICJHxYLDs3duYSB0YWJsaWNhIEdQVCBqZXN0IHVzemtvZHpvbmEsIGFsZSB6YXBhc293YSB3eWdsxIVkYSBkb2JyemUsIHdpxJljIHpvc3RhbmllIHXFvHl0YSB6YXBhc293YS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjMxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIEdQVCBhdHRyaWJ1dGUgYml0ICclcyciCittc2dzdHIgIm5pZSBvYnPFgnVnaXdhbnkgYml0IGF0cnlidXR1IEdQVCAnJXMnIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIEdQVCBhdHRyaWJ1dGUgc3RyaW5nICclcyciCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgbGlzdHkgJyVzJyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiVVVJRCBwYXJ0eWNqaSB6bWllbmlvbnkgeiAlcyBuYSAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lIGNoYW5nZWQgZnJvbSAnJXMnIHRvICclLipzJy4iCittc2dzdHIgIk5hendhIHBhcnR5Y2ppIHptaWVuaW9uYSB6ICclcycgbmEgJyUuKnMnLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NjgKK21zZ2lkICJUaGUgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiB1bmRlcnN0ZXBzIEZpcnN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiUG9jesSFdGVrIHBhcnR5Y2ppIGplc3QgcG9uacW8ZWogRmlyc3RVc2FibGVMQkEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc3NQorbXNnaWQgIlRoZSBlbmQgb2YgdGhlIHBhcnRpdGlvbiBvdmVyc3RlcHMgTGFzdFVzYWJsZUxCQS4iCittc2dzdHIgIktvbmllYyBwYXJ0eWNqaSBwcnpla3JhY3phIExhc3RVc2FibGVMQkEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzNAorbXNnaWQgIlRoZSBkZXZpY2UgY29udGFpbnMgaHlicmlkIE1CUiAtLSB3cml0aW5nIEdQVCBvbmx5LiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBNQlIgbWFudWFsbHkuIgorbXNnc3RyICJVcnrEhWR6ZW5pZSB6YXdpZXJhIGh5YnJ5ZG93eSBNQlIgLSB6YXBpcyB0eWxrbyBHUFQuIE1CUiB0cnplYmEgenN5bmNocm9uaXpvd2HEhyByxJljem5pZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcxCittc2dpZCAiRGlzayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIkR5c2sgbmllIHphd2llcmEgcG9wcmF3bmVnbyBuYWfFgsOzd2thIHphcGFzb3dlZ28uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3NgorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiQsWCxJlkbmEgc3VtYSBDUkMgbmFnxYLDs3drYSBnxYLDs3duZWdvLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5ODAKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiQsWCxJlkbmEgc3VtYSBDUkMgbmFnxYLDs3drYSB6YXBhc293ZWdvLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5ODUKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiBlbnRyeSBjaGVja3N1bS4iCittc2dzdHIgIkLFgsSZZG5hIHN1bWEga29udHJvbG5hIHdwaXN1IHBhcnR5Y2ppLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OTAKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiQsWCxIVkIGtvbnRyb2xpIHBvcHJhd25vxZtjaSBMQkEgbmFnxYLDs3drYSBnxYLDs3duZWdvLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OTQKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICJCxYLEhWQga29udHJvbGkgcG9wcmF3bm/Fm2NpIExCQSBuYWfFgsOzd2thIHphcGFzb3dlZ28uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5OQorbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBwcmltYXJ5IGhlYWRlci4iCittc2dzdHIgIk5pZXpnb2Rub8WbxIcgTXlMQkEgeiByemVjenl3aXN0xIUgcG96eWNqxIUgdyBuYWfFgsOzd2t1IGfFgsOzd255bS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAzCittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICJOaWV6Z29kbm/Fm8SHIE15TEJBIHogcnplY3p5d2lzdMSFIHBvenljasSFIHcgbmFnxYLDs3drdSB6YXBhc293eW0uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwOAorbXNnaWQgIkRpc2sgaXMgdG9vIHNtYWxsIHRvIGhvbGQgYWxsIGRhdGEuIgorbXNnc3RyICJEeXNrIGplc3QgemJ5dCBtYcWCeSwgYWJ5IHBvbWllxZtjacSHIHdzenlzdGtpZSBkYW5lLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMTgKK21zZ2lkICJQcmltYXJ5IGFuZCBiYWNrdXAgaGVhZGVyIG1pc21hdGNoLiIKK21zZ3N0ciAiTmllemdvZG5vxZvEhyBnxYLDs3duZWdvIGkgemFwYXNvd2VnbyBuYWfFgsOzd2thLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggcGFydGl0aW9uICV1LiIKK21zZ3N0ciAiUGFydHljamEgJXUgemFjaG9kemkgbmEgcGFydHljasSZICV1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGlzIHRvbyBiaWcgZm9yIHRoZSBkaXNrLiIKK21zZ3N0ciAiUGFydHljamEgJXUgamVzdCB6Ynl0IGR1xbxhIGRsYSB0ZWdvIGR5c2t1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGVuZHMgYmVmb3JlIGl0IHN0YXJ0cy4iCittc2dzdHIgIlBhcnR5Y2phICV1IGtvxYRjenkgc2nEmSBwcnplZCBwb2N6xIV0a2llbS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQ3Cittc2dpZCAiTm8gZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0ciAiTmllIHd5a3J5dG8gYsWCxJlkw7N3LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGVhZGVyIHZlcnNpb246ICVzIgorbXNnc3RyICJXZXJzamEgbmFnxYLDs3drYTogJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nICV1IG91dCBvZiAlZCBwYXJ0aXRpb25zLiIKK21zZ3N0ciAiVyB1xbx5Y2l1IGplc3QgJXUgeiAlZCBwYXJ0eWNqaS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudC4iCittc2dpZF9wbHVyYWwgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudHMgKHRoZSBsYXJnZXN0IGlzICVzKS4iCittc2dzdHJbMF0gIkRvc3TEmXBuZSBzZWt0b3J5OiByYXplbSAlanUgdyAldSBzZWdtZW5jaWUuIgorbXNnc3RyWzFdICJEb3N0xJlwbmUgc2VrdG9yeTogcmF6ZW0gJWp1IHcgJXUgc2VnbWVudGFjaCAobmFqd2nEmWtzenkgJXMpLiIKK21zZ3N0clsyXSAiRG9zdMSZcG5lIHNla3Rvcnk6IHJhemVtICVqdSB3ICV1IHNlZ21lbnRhY2ggKG5handpxJlrc3p5ICVzKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGVycm9yIGRldGVjdGVkLiIKK21zZ2lkX3BsdXJhbCAiJWQgZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0clswXSAiV3lrcnl0byAlZCBixYLEhWQuIgorbXNnc3RyWzFdICJXeWtyeXRvICVkIGLFgsSZZHkuIgorbXNnc3RyWzJdICJXeWtyeXRvICVkIGLFgsSZZMOzdy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQyCittc2dpZCAiQWxsIHBhcnRpdGlvbnMgYXJlIGFscmVhZHkgaW4gdXNlLiIKK21zZ3N0ciAiV3N6eXN0a2llIHBhcnR5Y2plIHPEhSBqdcW8IHcgdcW8eWNpdS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTk3IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlanUgYWxyZWFkeSB1c2VkLiIKK21zZ3N0ciAiU2VrdG9yICVqdSBqZXN0IGp1xbwgdyB1xbx5Y2l1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJOaWUgdWRhxYJvIHNpxJkgdXR3b3J6ecSHIHBhcnR5Y2ppICV6dSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGxhc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIk9zdGF0bmkgdcW8eXdhbG55IHNla3RvciBHUFQgdG8gJWp1LCBhbGUgxbzEhWRhbm8gJWp1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpcnN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICJQaWVyd3N6eSB1xbx5d2Fsbnkgc2VrdG9yIEdQVCB0byAlanUsIGFsZSDFvMSFZGFubyAlanUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyOQorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IEdQVCBkaXNrbGFiZWwgKEdVSUQ6ICVzKS4iCittc2dzdHIgIlV0d29yem9ubyBub3fEhSBldHlraWV0xJkgZHlza3UgR1BUIChHVUlEOiAlcykuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ0NworbXNnaWQgIkVudGVyIG5ldyBkaXNrIFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiUHJvc3rEmSB3cHJvd2FkemnEhyBub3d5IFVVSUQgZHlza3UgKHcgZm9ybWFjaWUgOC00LTQtNC0xMikiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDU0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHlvdXIgVVVJRC4iCittc2dzdHIgIk5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgVVVJRC1hLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIklkZW50eWZpa2F0b3IgZHlza3Ugem1pZW5pb255IHogJXMgbmEgJXMuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4OAorbXNnaWQgIk5vdCBlbm91Z2ggc3BhY2UgZm9yIG5ldyBwYXJ0aXRpb24gdGFibGUhIgorbXNnc3RyICJaYSBtYcWCbyBtaWVqc2NhIG5hIG5vd8SFIHRhYmxpY8SZIHBhcnR5Y2ppISIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMldSBvdXQgb2YgcmFuZ2UgKG1pbmltYWwgc3RhcnQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICJQYXJ0eWNqYSAjJXUgcG96YSB6YWtyZXNlbSAobWluaW1hbG55IHBvY3rEhXRlayB3IHNla3RvcmFjaDogJTxQUkl1NjQ+KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMldSBvdXQgb2YgcmFuZ2UgKG1heGltYWwgZW5kIGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiUGFydHljamEgIyV1IHBvemEgemFrcmVzZW0gKG1ha3N5bWFsbnkga29uaWVjIHcgc2VrdG9yYWNoOiAlPFBSSXU2ND4pIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIG51bWJlciBvZiB0aGUgcGFydGl0aW9uIGhhcyBiZSBzbWFsbGVyIHRoYW4gJXp1LiIKK21zZ3N0ciAiVXR3b3J6b25vIGp1xbwgbWFrc3ltYWxuxIUgbGljemLEmSBwYXJ0eWNqaS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTYzCittc2dpZCAiQ2Fubm90IGFsbG9jYXRlIG1lbW9yeSEiCittc2dzdHIgIk5pZSB1ZGHFgm8gc2nEmSBwcnp5ZHppZWxpxIcgcGFtacSZY2khIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5MAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgbGVuZ3RoIGNoYW5nZWQgZnJvbSAlPFBSSXUzMj4gdG8gJTxQUkl1NjQ+LiIKK21zZ3N0ciAiRMWCdWdvxZvEhyB0YWJsaWN5IHBhcnR5Y2ppIHptaWVuacWCYSBzacSZIHogJTxQUkl1MzI+IG5hICU8UFJJdTY0Pi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBhdHRyaWJ1dGVzIG9uIHBhcnRpdGlvbiAlenUgY2hhbmdlZCB0byAweCUwMTY8UFJJeDY0Pi4iCittc2dzdHIgIkF0cnlidXR5IHBhcnR5Y2ppICV6dSB6bWllbmlvbm8gbmEgMHglMDE2PFBSSXg2ND4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc0MgorbXNnaWQgIkVudGVyIEdVSUQgc3BlY2lmaWMgYml0IgorbXNnc3RyICJCaXQgc3BlY3lmaWN6bnkgZGxhIEdVSUQtYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHRvZ2dsZSB1bnN1cHBvcnRlZCBiaXQgJWx1IgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6ZcWCxIVjennEhyBuaWUgb2JzxYJ1Z2l3YW5lZ28gYml0dSAlbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiU3BlY3lmaWN6bnkgZGxhIEdVSUQtYSBiaXQgJWQgZGxhIHBhcnR5Y2ppICV6dSBqZXN0IHRlcmF6IHfFgsSFY3pvbnkuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJTcGVjeWZpY3pueSBkbGEgR1VJRC1hIGJpdCAlZCBkbGEgcGFydHljamkgJXp1IGplc3QgdGVyYXogd3nFgsSFY3pvbnkuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3NQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiRmxhZ2EgJXMgZGxhIHBhcnR5Y2ppICV6dSBqZXN0IHRlcmF6IHfFgsSFY3pvbmEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIkZsYWdhICVzIGRsYSBwYXJ0eWNqaSAlenUgamVzdCB0ZXJheiB3ecWCxIVjem9uYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE4Cittc2dpZCAiVHlwZS1VVUlEIgorbXNnc3RyICJUeXAtVVVJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTkKK21zZ2lkICJVVUlEIgorbXNnc3RyICJVVUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkyMCBsb2dpbi11dGlscy9jaGZuLmM6MTUwIGxvZ2luLXV0aWxzL2NoZm4uYzoxNTIKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMDcKK21zZ2lkICJOYW1lIgorbXNnc3RyICJOYXp3YSIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjg0MAorbXNnaWQgIkZyZWUgc3BhY2UiCittc2dzdHIgIldvbG5lIG1pZWpzY2UiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzoxMjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uICMlenUuIgorbXNnc3RyICJOaWUgdWRhxYJvIHNpxJkgem1pZW5pxIcgcm96bWlhcnUgcGFydHljamkgIyV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0dHlwZS5jOjI1OSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTUgc2NoZWR1dGlscy9jaHJ0LmM6MjA2CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc5IHN5cy11dGlscy9od2Nsb2NrLmM6MzM0Cittc2dpZCAidW5rbm93biIKK21zZ3N0ciAibmllem5hbnkiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NworbXNnaWQgIlNHSSB2b2xoZHIiCittc2dzdHIgIlNHSSB2b2xoZHIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OAorbXNnaWQgIlNHSSB0cmtyZXBsIgorbXNnc3RyICJTR0kgdHJrcmVwbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ5Cittc2dpZCAiU0dJIHNlY3JlcGwiCittc2dzdHIgIlNHSSBzZWNyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTAKK21zZ2lkICJTR0kgcmF3IgorbXNnc3RyICJTR0kgcmF3IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTEKK21zZ2lkICJTR0kgYnNkIgorbXNnc3RyICJTR0kgYnNkIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTIKK21zZ2lkICJTR0kgc3lzdiIKK21zZ3N0ciAiU0dJIHN5c3YiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MworbXNnaWQgIlNHSSB2b2x1bWUiCittc2dzdHIgIlNHSSB2b2x1bWUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NAorbXNnaWQgIlNHSSBlZnMiCittc2dzdHIgIlNHSSBlZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NQorbXNnaWQgIlNHSSBsdm9sIgorbXNnc3RyICJTR0kgbHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU2Cittc2dpZCAiU0dJIHJsdm9sIgorbXNnc3RyICJTR0kgcmx2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NworbXNnaWQgIlNHSSB4ZnMiCittc2dzdHIgIlNHSSB4ZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OAorbXNnaWQgIlNHSSB4ZnNsb2ciCittc2dzdHIgIlNHSSB4ZnNsb2ciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OQorbXNnaWQgIlNHSSB4bHYiCittc2dzdHIgIlNHSSB4bHYiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MAorbXNnaWQgIlNHSSB4dm0iCittc2dzdHIgIlNHSSB4dm0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MiBsaWJmZGlzay9zcmMvc3VuLmM6NTMKK21zZ2lkICJMaW51eCBuYXRpdmUiCittc2dzdHIgIkxpbnV4IG5hdGl2ZSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjE1OQorbXNnaWQgIlNHSSBpbmZvIGNyZWF0ZWQgb24gc2Vjb25kIHNlY3Rvci4iCittc2dzdHIgIkluZm9ybWFjamUgU0dJIHV0d29yem9uZSB3IGRydWdpbSBzZWt0b3J6ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyNTkKK21zZ2lkICJEZXRlY3RlZCBhbiBTR0kgZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIgorbXNnc3RyICJXeWtyeXRvIGV0eWtpZXTEmSBkeXNrdSBTR0kgeiBixYLEmWRuxIUgc3VtxIUga29udHJvbG7EhS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODIgbGliZmRpc2svc3JjL3N1bi5jOjc3MAorbXNnaWQgIlBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiQ3lsaW5kcnkgZml6eWN6bmUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODcgbGliZmRpc2svc3JjL3N1bi5jOjc3NQorbXNnaWQgIkV4dHJhIHNlY3RzL2N5bCIKK21zZ3N0ciAiRG9kYXRrb3dlIHNla3RvcnkgbmEgY3lsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyOTcKK21zZ2lkICJCb290ZmlsZSIKK21zZ3N0ciAiUGxpayByb3pydWNob3d5IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mzk1Cittc2dpZCAiSW52YWxpZCBib290ZmlsZSEgIFRoZSBib290ZmlsZSBtdXN0IGJlIGFuIGFic29sdXRlIG5vbi16ZXJvIHBhdGhuYW1lLCBlLmcuIFwiL3VuaXhcIiBvciBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIk5pZXBvcHJhd255IHBsaWsgcm96cnVjaG93eSEgUGxpayByb3pydWNob3d5IG11c2kgYnnEhyBiZXp3emdsxJlkbsSFLCBuaWVwdXN0xIUgxZtjaWXFvGvEhSwgbnAuIFwiL3VuaXhcIiBsdWIgXCIvdW5peC5zYXZlXCIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDAxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlIG1heGltdW0uIgorbXNnaWRfcGx1cmFsICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZXMgbWF4aW11bS4iCittc2dzdHJbMF0gIk5hendhIHBsaWt1IHJvenJ1Y2hvd2VnbyB6Ynl0IGTFgnVnYTogbWFrc2ltdW0gdG8gJXp1IGJhanQuIgorbXNnc3RyWzFdICJOYXp3YSBwbGlrdSByb3pydWNob3dlZ28gemJ5dCBkxYJ1Z2E6IG1ha3NpbXVtIHRvICV6dSBiYWp0eS4iCittc2dzdHJbMl0gIk5hendhIHBsaWt1IHJvenJ1Y2hvd2VnbyB6Ynl0IGTFgnVnYTogbWFrc2ltdW0gdG8gJXp1IGJhanTDs3cuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDA4Cittc2dpZCAiQm9vdGZpbGUgbXVzdCBoYXZlIGEgZnVsbHkgcXVhbGlmaWVkIHBhdGhuYW1lLiIKK21zZ3N0ciAiUGxpayByb3pydWNob3d5IG11c2kgbWllxIcgcGXFgm7EhSDFm2NpZcW8a8SZLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQxNAorbXNnaWQgIkJlIGF3YXJlIHRoYXQgdGhlIGJvb3RmaWxlIGlzIG5vdCBjaGVja2VkIGZvciBleGlzdGVuY2UuICBTR0kncyBkZWZhdWx0IGlzIFwiL3VuaXhcIiwgYW5kIGZvciBiYWNrdXAgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICJVd2FnYTogcHJvZ3JhbSBuaWUgc3ByYXdkemEgaXN0bmllbmlhIHBsaWt1IHJvenJ1Y2hvd2Vnby4gRG9tecWbbG55IGRsYSBTR0kgdG8gXCIvdW5peFwiIG9yYXogXCJ1bml4LnNhdmVcIiBkbGEga29waWkgemFwYXNvd2VqLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgY3VycmVudCBib290IGZpbGUgaXM6ICVzIgorbXNnc3RyICJCaWXFvMSFY3kgcGxpayByb3pydWNob3d5IHRvOiAlcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0MQorbXNnaWQgIkVudGVyIG9mIHRoZSBuZXcgYm9vdCBmaWxlIgorbXNnc3RyICJQcm9zesSZIHdwaXNhxIcgbmF6d8SZIG5vd2VnbyBwbGlrdSByb3pydWNob3dlZ28iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDYKK21zZ2lkICJCb290IGZpbGUgaXMgdW5jaGFuZ2VkLiIKK21zZ3N0ciAiUGxpayByb3pydWNob3d5IHBvem9zdGHFgiBiZXogem1pYW4uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RmaWxlIGhhcyBiZWVuIGNoYW5nZWQgdG8gXCIlc1wiLiIKK21zZ3N0ciAiUGxpayByb3pydWNob3d5IHptaWVuaW9ueSBuYSBcIiVzXCIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTk2Cittc2dpZCAiTW9yZSB0aGFuIG9uZSBlbnRpcmUgZGlzayBlbnRyeSBwcmVzZW50LiIKK21zZ3N0ciAiSXN0bmllamUgd2nEmWNlaiBuacW8IGplZGVuIHdwaXMgZGxhIGNhxYJlZ28gZHlza3UuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAzIGxpYmZkaXNrL3NyYy9zdW4uYzo0NTgKK21zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQuIgorbXNnc3RyICJOaWUgemRlZmluaW93YW5vIMW8YWRuZWogcGFydHljamkuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEzCittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiSVJJWCBsdWJpIGdkeSBwYXJ0eWNqYSAxMSBwb2tyeXdhIGNhxYJ5IGR5c2suIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gc2hvdWxkIHN0YXJ0IGF0IGJsb2NrIDAsIG5vdCBhdCBibG9jayAlZC4iCittc2dzdHIgIlBhcnR5Y2phIGNhxYJlZ28gZHlza3UgcG93aW5uYSB6YWN6eW5hxIcgc2nEmSBvZCBibG9rdSAwLCBhIG5pZSBibG9rdSAlZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MjgKK21zZ2lkICJQYXJ0aXRpb24gMTEgc2hvdWxkIGNvdmVyIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIlBhcnR5Y2phIDExIHBvd2lubmEgcG9rcnl3YcSHIGNhxYJ5IGR5c2suIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9yLiIKK21zZ2lkX3BsdXJhbCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3JzLiIKK21zZ3N0clswXSAiUGFydHljamUgJWQgaSAlZCB6YWNob2R6xIUgbmEgc2llYmllICVkIHNla3RvcmVtLiIKK21zZ3N0clsxXSAiUGFydHljamUgJWQgaSAlZCB6YWNob2R6xIUgbmEgc2llYmllICVkIHNla3RvcmFtaS4iCittc2dzdHJbMl0gIlBhcnR5Y2plICVkIGkgJWQgemFjaG9kesSFIG5hIHNpZWJpZSAlZCBzZWt0b3JhbWkuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjYzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yOiBzZWN0b3IgJTh1IgorbXNnaWRfcGx1cmFsICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3JzOiBzZWN0b3JzICU4dS0ldSIKK21zZ3N0clswXSAiTmlldcW8eXdhbnkgb2RzdMSZcCAlOHUgc2VrdG9yIC0gc2VrdG9yICU4dSIKK21zZ3N0clsxXSAiTmlldcW8eXdhbnkgb2RzdMSZcCAlOHUgc2VrdG9yeSAtIHNla3RvcnkgJTh1LSV1IgorbXNnc3RyWzJdICJOaWV1xbx5d2FueSBvZHN0xJlwICU4dSBzZWt0b3LDs3cgLSBzZWt0b3J5ICU4dS0ldSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY5OAorbXNnaWQgIlRoZSBib290IHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIlBhcnR5Y2phIHJvenJ1Y2hvd2EgbmllIGlzdG5pZWplLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwMgorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIlBhcnR5Y2phIHd5bWlhbnkgbmllIGlzdG5pZWplLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwNgorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBoYXMgbm8gc3dhcCB0eXBlLiIKK21zZ3N0ciAiUGFydHljamEgd3ltaWFueSBuaWUgamVzdCB0eXB1IHN3YXAuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA5Cittc2dpZCAiWW91IGhhdmUgY2hvc2VuIGFuIHVudXN1YWwgYm9vdGZpbGUgbmFtZS4iCittc2dzdHIgIld5YnJhbm8gbmllc3RhbmRhcmRvd8SFIG5henfEmSBwbGlrdSByb3pydWNob3dlZ28uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzU5Cittc2dpZCAiUGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIgorbXNnc3RyICJOYSBkeXNrdSBwYXJ0eWNqZSB6YWNob2R6xIUgbmEgc2llYmllLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0NAorbXNnaWQgIkF0dGVtcHRpbmcgdG8gZ2VuZXJhdGUgZW50aXJlIGRpc2sgZW50cnkgYXV0b21hdGljYWxseS4iCittc2dzdHIgIlByw7NiYSBhdXRvbWF0eWN6bmVnbyB3eWdlbmVyb3dhbmlhIHdwaXN5IGRsYSBjYcWCZWdvIGR5c2t1LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0OQorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBpcyBhbHJlYWR5IGNvdmVyZWQgd2l0aCBwYXJ0aXRpb25zLiIKK21zZ3N0ciAiQ2HFgnkgZHlzayBqZXN0IGp1xbwgcG9rcnl0eSBwYXJ0eWNqYW1pLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg1MworbXNnaWQgIllvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKK21zZ3N0ciAiTmEgdHltIGR5c2t1IHBhcnR5Y2plIHphY2hvZHrEhSBuYSBzaWViaWUuIE5hanBpZXJ3IHRyemViYSB0byBwb3ByYXdpxIchIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODc1IGxpYmZkaXNrL3NyYy9zdW4uYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3QgJXMiCittc2dzdHIgIlBpZXJ3c3p5ICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODk5IGxpYmZkaXNrL3NyYy9zZ2kuYzo5NDkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgZWxldmVudGggcGFydGl0aW9uIGNvdmVycyB0aGUgZW50aXJlIGRpc2sgYW5kIGlzIG9mIHR5cGUgJ1NHSSB2b2x1bWUnLiIKK21zZ3N0ciAiWmRlY3lkb3dhbmllIHphbGVjYSBzacSZLCBhYnkgcGFydHljamEgamVkZW5hc3RhIHBva3J5d2HFgmEgY2HFgnkgZHlzayBpIGJ5xYJhIHR5cHUgYFNHSSB2b2x1bWUnLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjkxNCBsaWJmZGlzay9zcmMvc3VuLmM6NjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgJXMgb3IgKyVzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIk9zdGF0bmkgJXMsICslcyBsdWIgK3Jvem1pYXJ7SyxNLEcsVCxQfSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjk4NSBsaWJmZGlzay9zcmMvc3VuLmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LiBUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLiIKK21zZ3N0ciAiaW9jdGwgQkxLR0VUU0laRSBuYSAlcyBuaWUgcG93acOzZMWCIHNpxJkuIFByenlqxJl0byBsaWN6YsSZIGN5bGluZHLDs3cgJWxsdS4gVGEgd2FydG/Fm8SHIG1vxbxlIGJ5xIcgdWNpxJl0YSBkbGEgdXJ6xIVkemXFhCA+IDMzLjggR0IuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA1MQorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU0dJIGRpc2tsYWJlbC4iCittc2dzdHIgIlV0d29yem9ubyBub3fEhSBldHlraWV0xJkgZHlza3UgU0dJLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNzAKK21zZ2lkICJTb3JyeSwgb25seSBmb3Igbm9uLWVtcHR5IHBhcnRpdGlvbnMgeW91IGNhbiBjaGFuZ2UgdGhlIHRhZy4iCittc2dzdHIgIk5pZXN0ZXR5IHpuYWN6bmlrIG1vxbxuYSB6bWllbmlhxIcgdHlsa28gZGxhIG5pZXB1c3R5Y2ggcGFydHljamkuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3NgorbXNnaWQgIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDkgYXMgdm9sdW1lIGhlYWRlciAoMCksIGFuZCBwYXJ0aXRpb24gMTEgYXMgZW50aXJlIHZvbHVtZSAoNiksIGFzIElSSVggZXhwZWN0cyBpdC4iCittc2dzdHIgIk5hamxlcGllaiBwb3pvc3Rhd2nEhyBwYXJ0eWNqxJkgOSBqYWtvIG5hZ8WCw7N3ZWsgd29sdW1lbnUgKDApLCBhIHBhcnR5Y2rEmSAxMSBqYWtvIGNhxYJ5IHdvbHVtZW4gKDYpLCBwb25pZXdhxbwgdGVnbyBvY3pla3VqZSBJUklYLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwODUKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwIGlzIG9mIHR5cGUgXCJTR0kgdm9saGRyXCIsIHRoZSBJUklYIHN5c3RlbSB3aWxsIHJlbHkgb24gaXQgdG8gcmV0cmlldmUgZnJvbSBpdHMgZGlyZWN0b3J5IHN0YW5kYWxvbmUgdG9vbHMgbGlrZSBzYXNoIGFuZCBmeC4gT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiBBcmUgeW91IHN1cmUgYWJvdXQgdGFnZ2luZyB0aGlzIHBhcnRpdGlvbiBkaWZmZXJlbnRseT8iCittc2dzdHIgIlpkZWN5ZG93YW5pZSB6YWxlY2Egc2nEmSwgYWJ5IHBhcnR5Y2phIHBvZCBvZmZzZXRlbSAwIGJ5xYJhIHR5cHUgXCJTR0kgdm9saGRyXCI7IHN5c3RlbSBJUklYIHBvbGVnYSBuYSB0eW0gcHJ6eSBvZGN6eWNpZSB6IGthdGFsb2d1IHNhbW9kemllbG55Y2ggbmFyesSZZHppLCB0YWtpY2ggamFrIHNhc2ggaSBmeC4gSmVkeW5pZSBzZWtjamEgY2HFgmVnbyBkeXNrdSBcIlNHSSB2b2x1bWVcIiBtb8W8ZSBiecSHIG5pZXpnb2RuYSB6IHR5bSB6YWxlY2VuaWVtLiBDenkgbmEgcGV3bm8gdGEgcGFydHljamEgbWEgYnnEhyBvem5hY3pvbmEgaW5hY3plaj8iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MAorbXNnaWQgIlVuYXNzaWduZWQiCittc2dzdHIgIkJleiBwcnp5ZHppYcWCdSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQyCittc2dpZCAiU3VuT1Mgcm9vdCIKK21zZ3N0ciAiU3VuT1Mgcm9vdCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzCittc2dpZCAiU3VuT1Mgc3dhcCIKK21zZ3N0ciAiU3VuT1Mgc3dhcCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ0Cittc2dpZCAiU3VuT1MgdXNyIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NQorbXNnaWQgIldob2xlIGRpc2siCittc2dzdHIgIkNhxYJ5IGR5c2siCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NgorbXNnaWQgIlN1bk9TIHN0YW5kIgorbXNnc3RyICJTdW5PUyBzdGFuZCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ3Cittc2dpZCAiU3VuT1MgdmFyIgorbXNnc3RyICJTdW5PUyB2YXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0OAorbXNnaWQgIlN1bk9TIGhvbWUiCittc2dzdHIgIlN1bk9TIGhvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0OQorbXNnaWQgIlN1bk9TIGFsdCBzZWN0b3JzIgorbXNnc3RyICJTdW5PUyBhbHQgc2VjdG9ycyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUwCittc2dpZCAiU3VuT1MgY2FjaGVmcyIKK21zZ3N0ciAiU3VuT1MgY2FjaGVmcyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUxCittc2dpZCAiU3VuT1MgcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIHJlc2VydmVkIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTM3Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiBQcm9iYWJseSB5b3UnbGwgaGF2ZSB0byBzZXQgYWxsIHRoZSB2YWx1ZXMsIGUuZy4gaGVhZHMsIHNlY3RvcnMsIGN5bGluZGVycyBhbmQgcGFydGl0aW9ucyBvciBmb3JjZSBhIGZyZXNoIGxhYmVsIChzIGNvbW1hbmQgaW4gbWFpbiBtZW51KSIKK21zZ3N0ciAiV3lrcnl0byBldHlraWV0xJkgZHlza3UgU3VuYSB6IGLFgsSZZG7EhSBzdW3EhSBrb250cm9sbsSFLiBQcmF3ZG9wb2RvYm5pZSBixJlkemllIHRyemViYSB1c3Rhd2nEhyB3c3p5c3RraWUgd2FydG/Fm2NpLCB0em4uIGfFgm93aWNlLCBzZWt0b3J5LCBjeWxpbmRyeSBpIHBhcnR5Y2plIGFsYm8gd3ltdXNpxIcgdXR3b3J6ZW5pZSBub3dlaiBldHlraWV0eSAocG9sZWNlbmllIHMgdyBtZW51IGfFgsOzd255bSkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZlcnNpb24gWyVkXS4iCittc2dzdHIgIld5a3J5dG8gZXR5a2lldMSZIGR5c2t1IFN1bmEgeiBixYLEmWRuxIUgd2Vyc2rEhSBbJWRdLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5zYW5pdHkgWzB4JTA4eF0uIgorbXNnc3RyICJXeWtyeXRvIGV0eWtpZXTEmSBkeXNrdSBTdW5hIHogYsWCxJlkbsSFIHdhcnRvxZtjacSFIHZ0b2Muc2FuaXR5IFsweCUwOHhdLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5ucGFydHMgWyV1XS4iCittc2dzdHIgIld5a3J5dG8gZXR5a2lldMSZIGR5c2t1IFN1bmEgeiBixYLEmWRuxIUgd2FydG/Fm2NpxIUgdnRvYy5ucGFydHMgWyV1XS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNjUKK21zZ2lkICJXYXJuaW5nOiBXcm9uZyB2YWx1ZXMgbmVlZCB0byBiZSBmaXhlZCB1cCBhbmQgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKSIKK21zZ3N0ciAiVXdhZ2E6IELFgsSZZG5lIHdhcnRvxZtjaSBtdXN6xIUgYnnEhyBwb3ByYXdpb25lLCBjbyBuYXN0xIVwaSBwcnp5IHphcGlzaWUgKHcpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTkyCittc2dpZCAiSGVhZHMiCittc2dzdHIgIkfFgm93aWNlIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTk0Cittc2dpZCAiU2VjdG9ycy90cmFjayIKK21zZ3N0ciAiU2VrdG9yw7N3L8WbY2llxbxrxJkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoyOTcKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorbXNnc3RyICJVdHdvcnpvbm8gbm93xIUgZXR5a2lldMSZIGR5c2t1IFN1bmEuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBkb2Vzbid0IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIlBhcnR5Y2phICV1IG5pZSBrb8WEY3p5IHNpxJkgbmEgZ3JhbmljeSBjeWxpbmRyYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggb3RoZXJzIGluIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICJQYXJ0eWNqYSAldSB6YWNob2R6aSBuYSBpbm5lIHcgc2VrdG9yYWNoICV1LSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAwLSV1LiIKK21zZ3N0ciAiTmlldcW8eXdhbnkgb2RzdMSZcCAtIHNla3RvcnkgMC0ldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjUgbGliZmRpc2svc3JjL3N1bi5jOjQ3MQorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIk5pZXXFvHl3YW55IG9kc3TEmXAgLSBzZWt0b3J5ICV1LSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUyOAorbXNnaWQgIk90aGVyIHBhcnRpdGlvbnMgYWxyZWFkeSBjb3ZlciB0aGUgd2hvbGUgZGlzay4gRGVsZXRlIHNvbWUvc2hyaW5rIHRoZW0gYmVmb3JlIHJldHJ5LiIKK21zZ3N0ciAiSW5uZSBwYXJ0eWNqZSBqdcW8IHBva3J5d2FqxIUgY2HFgnkgZHlzay4gTmFqcGllcncgdHJ6ZWJhIGplIHVzdW7EhcSHIGFsYm8gem1uaWVqc3p5xIcuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlZCBpcyBhbHJlYWR5IGFsbG9jYXRlZCIKK21zZ3N0ciAiU2VrdG9yICVkIGplc3QganXFvCBwcnp5ZHppZWxvbnkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2MDAKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgdGhpcmQgcGFydGl0aW9uIGNvdmVycyB0aGUgd2hvbGUgZGlzayBhbmQgaXMgb2YgdHlwZSBgV2hvbGUgZGlzayciCittc2dzdHIgIlpkZWN5ZG93YW5pZSB6YWxlY2Egc2nEmSwgYWJ5IHRyemVjaWEgcGFydHljamEgcG9rcnl3YcWCYSBjYcWCeSBkeXNrIGkgYnnFgmEgdHlwdSBgQ2HFgnkgZHlzayciCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25pbmcgdGhlIGZpcnN0IHNlY3RvciBmcm9tICV1IHRvICV1IHRvIGJlIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiV3lyw7N3bmFuaWUgcGllcndzemVnbyBzZWt0b3JhIHogJXUgbmEgJXUgZG8gZ3JhbmljeSBjeWxpbmRyYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBoYXZlbid0IGNvdmVyZWQgdGhlIHdob2xlIGRpc2sgd2l0aCB0aGUgM3JkIHBhcnRpdGlvbiwgYnV0IHlvdXIgdmFsdWVcbiIKKyIlbHUgJXMgY292ZXJzIHNvbWUgb3RoZXIgcGFydGl0aW9uLiBZb3VyIGVudHJ5IGhhcyBiZWVuIGNoYW5nZWRcbiIKKyJ0byAlbHUgJXMiCittc2dzdHIgIiIKKyJOaWUgcG9rcnl0byBjYcWCZWdvIGR5c2t1IHRyemVjacSFIHBhcnR5Y2rEhSwgYWxlIHdhcnRvxZvEhyAlbHUgJXNcbiIKKyJwb2tyeXdhIGlubsSFIHBhcnR5Y2rEmS4gV3BpcyB6b3N0YcWCIHptaWVuaW9ueSBuYSAlbHUgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gU3VuT1MvU29sYXJpcyBjb21wYXRpYmlsaXR5LCBjb25zaWRlciBsZWF2aW5nIHRoaXMgcGFydGl0aW9uIGFzIFdob2xlIGRpc2sgKDUpLCBzdGFydGluZyBhdCAwLCB3aXRoICV1IHNlY3RvcnMiCittc2dzdHIgIkFieSB6YWNob3dhxIcga29tcGF0eWJpbG5vxZvEhyB6IFN1bk9TLWVtL1NvbGFyaXNlbSwgbmFqbGVwaWVqIHBvem9zdGF3acSHIHTEmSBwYXJ0eWNqxJkgamFrbyBjYcWCeSBkeXNrICg1KSwgemFjenluYWrEhWPEhSBzacSZIG9kIDAsIG8gJXUgc2VrdG9yYWNoIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzUwCittc2dpZCAiTGFiZWwgSUQiCittc2dzdHIgIklEIGV0eWtpZXR5IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzU1Cittc2dpZCAiVm9sdW1lIElEIgorbXNnc3RyICJJRCB3b2x1bWludSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc2NQorbXNnaWQgIkFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIlptaWVubmUgY3lsaW5kcnkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo4NzEKK21zZ2lkICJOdW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiTGljemJhIHptaWVubnljaCBjeWxpbmRyw7N3IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6ODk2Cittc2dpZCAiRXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgIkRvZGF0a293eWNoIHNla3RvcsOzdyBuYSBjeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjkyMAorbXNnaWQgIkludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICJXc3DDs8WCY3p5bm5payBwcnplcGxvdHUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5NDQKK21zZ2lkICJSb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAiUHLEmWRrb8WbxIcgb2Jyb3Rvd2EgKHJwbSkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5NjgKK21zZ2lkICJOdW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJMaWN6YmEgZml6eWN6bnljaCBjeWxpbmRyw7N3IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTAzNworbXNnaWQgIiIKKyJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiAzIGFzIFdob2xlIGRpc2sgKDUpLFxuIgorImFzIFN1bk9TL1NvbGFyaXMgZXhwZWN0cyBpdCBhbmQgZXZlbiBMaW51eCBsaWtlcyBpdC5cbiIKK21zZ3N0ciAiIgorIk5hamxlcGllaiBwb3pvc3Rhd2nEhyBwYXJ0eWNqxJkgMyBqYWtvIGNhxYJ5IGR5c2sgKDUpLFxuIgorInBvbmlld2HFvCB0ZWdvIG9jemVrdWplIFN1bk9TL1NvbGFyaXMgaSBuYXdldCBMaW51eCB0byBsdWJpLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA0OAorbXNnaWQgIiIKKyJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwXG4iCisiaXMgVUZTLCBFWFQyRlMgZmlsZXN5c3RlbSBvciBTdW5PUyBzd2FwLiBQdXR0aW5nIExpbnV4IHN3YXBcbiIKKyJ0aGVyZSBtYXkgZGVzdHJveSB5b3VyIHBhcnRpdGlvbiB0YWJsZSBhbmQgYm9vdGJsb2NrLlxuIgorIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB0YWcgdGhlIHBhcnRpdGlvbiBhcyBMaW51eCBzd2FwPyIKK21zZ3N0ciAiIgorIlpkZWN5ZG93YW5pZSB6YWxlY2Egc2nEmSwgYWJ5IHBhcnR5Y2phIHBvZCBvZmZzZXRlbSAwIGJ5xYJhXG4iCisidHlwdSBVRlMsIEVYVDJGUyBsdWIgU3VuT1Mgc3dhcC4gVW1pZXN6Y3plbmllIHR1dGFqIHBhcnR5Y2ppXG4iCisid3ltaWFueSBMaW51a3NhIG1vxbxlIHpuaXN6Y3p5xIcgdGFibGljxJkgcGFydHljamkgaSBibG9rXG4iCisicm96cnVjaG93eS4gQ3p5IG5hIHBld25vIHRhIHBhcnR5Y2phIG1hIGJ5xIcgb3puYWN6b25hIGpha29cbiIKKyJsaW51a3Nvd2EgcGFydHljamEgd3ltaWFueT8iCisKKyM6IGxpYi9wYWdlci5jOjExMgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCAoJXMpIgorbXNnc3RyICJ3eXdvxYJhbmllIHdhaXRwaWQgbmllIHBvd2lvZMWCbyBzacSZICglcykiCisKKyM6IGxpYi9wYXRoLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE4MTgKK21zZ2lkICJmYWlsZWQgdG8gY2FsbG9jYXRlIGNwdSBzZXQiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB3eWtvbmHEhyBjYWxsb2MgZGxhIHpiaW9ydSBDUFUiCisKKyM6IGxpYi9wYXRoLmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdCAlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyBsaXN0eSBDUFUgJXMiCisKKyM6IGxpYi9wYXRoLmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzayAlcyIKK21zZ3N0ciAiYsWCxIVkIHNrxYJhZG5pIG1hc2tpIENQVSAlcyIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MgorbXNnaWQgImNhbiBub3Qgb3BlbiBVTklYIHNvY2tldCIKK21zZ3N0ciAibmllIG1vxbxuYSBvdHdvcnp5xIcgZ25pYXpkYSB1bmlrc293ZWdvIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjc4Cittc2dpZCAiY2FuIG5vdCBzZXQgb3B0aW9uIGZvciBVTklYIHNvY2tldCIKK21zZ3N0ciAibmllIG1vxbxuYSB1c3Rhd2nEhyBvcGNqaSBnbmlhemRhIHVuaWtzb3dlZ28iCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6OTEKK21zZ2lkICJjYW4gbm90IGNvbm5lY3Qgb24gVU5JWCBzb2NrZXQiCittc2dzdHIgIm5pZSBtb8W8bmEgcG/FgsSFY3p5xIcgc2nEmSB6IGduaWF6ZGVtIHVuaWtzb3d5bSIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHBseW1vdXRoIHJlcXVlc3QgJWMgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICLFvMSFZGFuaWUgcGx5bW91dGggJWMgbmllIGplc3QgemFpbXBsZW1lbnRvd2FuZSIKKworIzogbGliL3JhbmR1dGlscy5jOjEzNgorbXNnaWQgImxpYmMgcHNldWRvLXJhbmRvbSBmdW5jdGlvbnMiCittc2dzdHIgImZ1bmtjamUgcHNldWRvbG9zb3dlIGxpYmMiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MTcgbGliL3N3YXBwcm9iZXIuYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHByb2JlIGRldmljZSIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gc2nEmSBzcHJhd2R6acSHIHVyesSFZHplbmlhIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcHJvYmluZyByZXN1bHQ7IHVzZSB3aXBlZnMoOCkiCittc2dzdHIgIiVzOiBuaWVqZWRub3puYWN6bnkgd3luaWsgcHLDs2J5OyBwcm9zesSZIHXFvHnEhyB3aXBlZnMoOCkiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHZhbGlkIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICIlczogbmllIGplc3QgcG9wcmF3bsSFIHBhcnR5Y2rEhSB3eW1pYW55IgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bnN1cHBvcnRlZCBzd2FwIHZlcnNpb24gJyVzJyIKK21zZ3N0ciAiJXM6IG5pZSBvYnPFgnVnaXdhbmEgd2Vyc2phIG9ic3phcnUgd3ltaWFueSAnJXMnIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTAgbG9naW4tdXRpbHMvY2hzaC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT5dXG4iCittc2dzdHIgIiAlcyBbb3BjamVdIFs8dcW8eXRrb3duaWs+XVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTMKK21zZ2lkICJDaGFuZ2UgeW91ciBmaW5nZXIgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIlptaWFuYSB3xYJhc255Y2ggaW5mb3JtYWNqaSBmaW5nZXIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5NgorbXNnaWQgIiAtZiwgLS1mdWxsLW5hbWUgPGZ1bGwtbmFtZT4gIHJlYWwgbmFtZVxuIgorbXNnc3RyICIgLWYsIC0tZnVsbC1uYW1lIDxwZcWCbmUgZGFuZT4gaW1pxJkgaSBuYXp3aXNrb1xuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTcKK21zZ2lkICIgLW8sIC0tb2ZmaWNlIDxvZmZpY2U+ICAgICAgICBvZmZpY2UgbnVtYmVyXG4iCittc2dzdHIgIiAtbywgLS1vZmZpY2UgPHBva8Ozaj4gICAgICAgICBudW1lciBwb2tvanVcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk4Cittc2dpZCAiIC1wLCAtLW9mZmljZS1waG9uZSA8cGhvbmU+ICAgb2ZmaWNlIHBob25lIG51bWJlclxuIgorbXNnc3RyICIgLXAsIC0tb2ZmaWNlLXBob25lIDx0ZWxlZm9uPiBudW1lciB0ZWxlZm9udSBiaXVyb3dlZ29cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk5Cittc2dpZCAiIC1oLCAtLWhvbWUtcGhvbmUgPHBob25lPiAgICAgaG9tZSBwaG9uZSBudW1iZXJcbiIKK21zZ3N0ciAiIC1oLCAtLWhvbWUtcGhvbmUgPHRlbGVmb24+ICAgbnVtZXIgdGVsZWZvbnUgZG9tb3dlZ29cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwMSBsb2dpbi11dGlscy9jaHNoLmM6NzgKK21zZ2lkICIgLXUsIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC11LCAtLWhlbHAgICAgIHd5xZt3aWV0bGVuaWUgdGVnbyBvcGlzdSBpIHpha2/FhGN6ZW5pZVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgImZpZWxkICVzIGlzIHRvbyBsb25nIgorbXNnc3RyICJwb2xlICVzIGplc3QgemJ5dCBkxYJ1Z2llIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTIxIGxvZ2luLXV0aWxzL2Noc2guYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGhhcyBpbGxlZ2FsIGNoYXJhY3RlcnMiCittc2dzdHIgIiVzOiB6YXdpZXJhIG5pZWRvendvbG9uZSB6bmFraSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1MCBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW4uZGVmcyBmb3JiaWRzIHNldHRpbmcgJXMiCittc2dzdHIgImxvZ2luLmRlZnMgbmllIHBvendhbGEgbmEgdXN0YXdpYW5pZSAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTU4IGxvZ2luLXV0aWxzL2NoZm4uYzozMDkKK21zZ2lkICJPZmZpY2UiCittc2dzdHIgIkJpdXJvIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjQgbG9naW4tdXRpbHMvY2hmbi5jOjMxMQorbXNnaWQgIk9mZmljZSBQaG9uZSIKK21zZ3N0ciAiVGVsLiBiaXVyb3d5IgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTY4IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzAgbG9naW4tdXRpbHMvY2hmbi5jOjMxMworbXNnaWQgIkhvbWUgUGhvbmUiCittc2dzdHIgIlRlbC4gZG9tb3d5IgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MjMzCittc2dpZCAiQWJvcnRlZC4iCittc2dzdHIgIlByemVyd2Fuby4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgaGFzIHVuZXhwZWN0ZWQgdmFsdWU6ICVzIgorbXNnc3RyICIlczogQ0hGTl9SRVNUUklDVCBtYSBuaWVvY3pla2l3YW7EhSB3YXJ0b8WbxIc6ICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGRvZXMgbm90IGFsbG93IGFueSBjaGFuZ2VzIgorbXNnc3RyICIlczogQ0hGTl9SRVNUUklDVCBuaWUgcG96d2FsYSBuYSDFvGFkbmUgem1pYW55IgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLlxuIgorbXNnc3RyICJJbmZvcm1hY2plIGZpbmdlciAqTklFKiB6b3N0YcWCeSB6bWllbmlvbmUuIFByb3N6xJkgc3Byw7Nib3dhxIcgcMOzxbpuaWVqLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBjaGFuZ2VkLlxuIgorbXNnc3RyICJJbmZvcm1hY2plIGZpbmdlciB6bWllbmlvbmUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MDggbG9naW4tdXRpbHMvY2hzaC5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJ5b3UgKHVzZXIgJWQpIGRvbid0IGV4aXN0LiIKK21zZ3N0ciAiVHkgKHXFvHl0a293bmlrICVkKSBuaWUgaXN0bmllamVzei4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MTQgbG9naW4tdXRpbHMvY2hzaC5jOjI0OCBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBcIiVzXCIgZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICJ1xbx5dGtvd25payBcIiVzXCIgbmllIGlzdG5pZWplLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQyMCBsb2dpbi11dGlscy9jaHNoLmM6MjU0Cittc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMiCittc2dzdHIgIm1vxbxuYSB6bWllbmnEhyB0eWxrbyB3cGlzeSBsb2thbG5lIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgZmluZ2VyIGluZm8gb2YgJXMiCittc2dzdHIgIiVzIG5pZSBqZXN0IGF1dG9yeXpvd2FueSBkbyB6bWlhbnkgaW5mb3JtYWNqaSBmaW5nZXIgdcW8eXRrb3duaWthICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDM1IGxvZ2luLXV0aWxzL2Noc2guYzoyNzAKK21zZ2lkICJVbmtub3duIHVzZXIgY29udGV4dCIKK21zZ3N0ciAiTmllem5hbnkga29udGVrc3QgdcW8eXRrb3duaWthIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDQxIGxvZ2luLXV0aWxzL2Noc2guYzoyNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgc2V0IGRlZmF1bHQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIm5pZSBtb8W8bmEgdXN0YXdpxIcgZG9tecWbbG5lZ28ga29udGVrc3R1IGRsYSAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MgorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgImJpZcW8xIVjeSBVSUQgbmllIHpnYWR6YSBzacSZIHogVUlELWVtIHXFvHl0a293bmlrYSwga3TDs3JlZ28gZG90eWN6eSB6bWlhbmE7IHptaWFuYSB6YWJyb25pb25hIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIGZpbmdlciBpbmZvcm1hdGlvbiBmb3IgJXMuXG4iCittc2dzdHIgIlptaWFuYSBpbmZvcm1hY2ppIGZpbmdlciBkbGEgJXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIG5vdCBjaGFuZ2VkLlxuIgorbXNnc3RyICJJbmZvcm1hY2plIGZpbmdlciBuaWUgem9zdGHFgnkgem1pZW5pb25lLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6NzIKK21zZ2lkICJDaGFuZ2UgeW91ciBsb2dpbiBzaGVsbC5cbiIKK21zZ3N0ciAiWm1pYW5hIHfFgmFzbmVqIHBvd8WCb2tpIGxvZ293YW5pYS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc1Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gIHNwZWNpZnkgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiIC1zLCAtLXNoZWxsIDxwb3fFgm9rYT4gIG9rcmXFm2xlbmllIHBvd8WCb2tpIGxvZ293YW5pYVxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6NzYKK21zZ2lkICIgLWwsIC0tbGlzdC1zaGVsbHMgICAgcHJpbnQgbGlzdCBvZiBzaGVsbHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIHd5cGlzYW5pZSBsaXN0eSBwb3fFgm9rIGkgemFrb8WEY3plbmllXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoxMDAKK21zZ2lkICJObyBrbm93biBzaGVsbHMuIgorbXNnc3RyICJCcmFrIHpuYW55Y2ggcG93xYJvay4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDAKK21zZ2lkICJzaGVsbCBtdXN0IGJlIGEgZnVsbCBwYXRoIG5hbWUiCittc2dzdHIgInBvd8WCb2thIG11c2kgYnnEhyBwb2RhbmEgcGXFgm7EhSDFm2NpZcW8a8SFIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiXCIlc1wiIG5pZSBpc3RuaWVqZSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgaXMgbm90IGV4ZWN1dGFibGUiCittc2dzdHIgIlwiJXNcIiBuaWUgamVzdCB3eWtvbnl3YWxueSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy4iCittc2dzdHIgIlV3YWdhOiBcIiVzXCIgbmllIHd5c3TEmXB1amUgdyAlcy4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMTQgbG9naW4tdXRpbHMvY2hzaC5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuXG4iCisiVXNlICVzIC1sIHRvIHNlZSBsaXN0LiIKK21zZ3N0ciAiIgorIlwiJXNcIiBuaWUgd3lzdMSZcHVqZSB3ICVzLlxuIgorIlBvbGVjZW5pZSAlcyAtbCB3ecWbd2lldGxpIGxpc3TEmS4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBzaGVsbCBvZiAlcyIKK21zZ3N0ciAiJXMgbmllIGplc3QgYXV0b3J5em93YW55IGRvIHptaWFueSBwb3fFgm9raSAlcyIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI5NQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgImJpZcW8xIVjeSBVSUQgbmllIHpnYWR6YSBzacSZIHogVUlELWVtIHXFvHl0a293bmlrYSwga3TDs3JlZ28gZG90eWN6eSB6bWlhbmE7IHptaWFuYSBwb3fFgm9raSB6YWJyb25pb25hIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzAwCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdXIgc2hlbGwgaXMgbm90IGluICVzLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICJwb3fFgm9rYSBuaWUgamVzdCB3ICVzLCB6bWlhbmEgemFicm9uaW9uYSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBzaGVsbCBmb3IgJXMuXG4iCittc2dzdHIgIlptaWFuYSBwb3fFgm9raSBkbGEgJXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMTIKK21zZ2lkICJOZXcgc2hlbGwiCittc2dzdHIgIk5vd2EgcG93xYJva2EiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjAKK21zZ2lkICJTaGVsbCBub3QgY2hhbmdlZC4iCittc2dzdHIgIlBvd8WCb2thIG5pZSB6b3N0YcWCYSB6bWllbmlvbmEuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzI1Cittc2dpZCAiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIlBvd8WCb2thICpOSUUqIHpvc3RhxYJhIHptaWVuaW9uYS4gUHJvc3rEmSBzcHLDs2Jvd2HEhyBww7PFum5pZWouIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzI5Cittc2dpZCAiIgorInNldHB3bmFtIGZhaWxlZFxuIgorIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICIiCisic2V0cHduYW0gbmllIHBvd2lvZMWCbyBzacSZXG4iCisiUG93xYJva2EgKk5JRSogem9zdGHFgmEgem1pZW5pb25hLiBQcm9zesSZIHNwcsOzYm93YcSHIHDDs8W6bmllai4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hlbGwgY2hhbmdlZC5cbiIKK21zZ3N0ciAiUG93xYJva2Egem1pZW5pb25hLlxuIgorCisjOiBsb2dpbi11dGlscy9pc2xvY2FsLmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIDxwYXNzd29yZGZpbGU+IDx1c2VybmFtZT4uLi5cbiIKK21zZ3N0ciAiU2vFgmFkbmlhOiAlcyA8cGxpa19oYXPFgmE+IDx1xbx5dGtvd25paz4uLi5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjE3NCBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjAgc3lzLXV0aWxzL2RtZXNnLmM6MTE5MworIzogc3lzLXV0aWxzL2xzaXBjLmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdGltZSBmb3JtYXQ6ICVzIgorbXNnc3RyICJuaWV6bmFueSBmb3JtYXQgY3phc3U6ICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjgxIGxvZ2luLXV0aWxzL2xhc3QuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW50ZXJydXB0ZWQgJXMiCittc2dzdHIgIlByemVyd2FubyAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjQzOSBsb2dpbi11dGlscy9sYXN0LmM6NDUwCittc2dpZCAicHJlYWxsb2NhdGlvbiBzaXplIGV4Y2VlZGVkIgorbXNnc3RyICJwcnpla3JvY3pvbm8gcm96bWlhciBwcmVhbG9rYWNqaSIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU2OQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+Li4uXSBbPHR0eT4uLi5dXG4iCittc2dzdHIgIiAlcyBbb3BjamVdIFs8dcW8eXRrb3duaWs+Li4uXSBbPHRlcm1pbmFsPi4uLl1cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3MgorbXNnaWQgIlNob3cgYSBsaXN0aW5nIG9mIGxhc3QgbG9nZ2VkIGluIHVzZXJzLlxuIgorbXNnc3RyICJXecWbd2lldGxlbmllIGxpc3R5IG9zdGF0bmlvIGxvZ3VqxIVjeWNoIHNpxJkgdcW8eXRrb3duaWvDs3cuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzUKK21zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIgLTxsaWN6YmE+ICAgICAgICAgICAgbGljemJhIGxpbmlpIGRvIHd5xZt3aWV0bGVuaWFcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NgorbXNnaWQgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBkaXNwbGF5IGhvc3RuYW1lcyBpbiB0aGUgbGFzdCBjb2x1bW5cbiIKK21zZ3N0ciAiIC1hLCAtLWhvc3RsYXN0ICAgICAgIHd5xZt3aWV0bGFuaWUgbmF6dyBob3N0w7N3IHcgb3N0YXRuaWVqIGtvbHVtbmllXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzcKK21zZ2lkICIgLWQsIC0tZG5zICAgICAgICAgICAgdHJhbnNsYXRlIHRoZSBJUCBudW1iZXIgYmFjayBpbnRvIGEgaG9zdG5hbWVcbiIKK21zZ3N0ciAiIC1kLCAtLWRucyAgICAgICAgICAgIHTFgnVtYWN6ZW5pZSBhZHJlc8OzdyBJUCB6IHBvd3JvdGVtIG5hIG5hend5IGhvc3TDs3dcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OQorIywgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgdXNlIGEgc3BlY2lmaWMgZmlsZSBpbnN0ZWFkIG9mICVzXG4iCittc2dzdHIgIiAtZiwgLS1maWxlIDxwbGlrPiAgICB1xbx5Y2llIG9rcmXFm2xvbmVnbyBwbGlrdSB6YW1pYXN0ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODAKK21zZ2lkICIgLUYsIC0tZnVsbHRpbWVzICAgICAgcHJpbnQgZnVsbCBsb2dpbiBhbmQgbG9nb3V0IHRpbWVzIGFuZCBkYXRlc1xuIgorbXNnc3RyICIgLUYsIC0tZnVsbHRpbWVzICAgICAgcGXFgm5lIGN6YXN5IG9yYXogZGF0eSBsb2dvd2FuaWEgaSB3eWxvZ293YW5pYVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgxCittc2dpZCAiIC1pLCAtLWlwICAgICAgICAgICAgIGRpc3BsYXkgSVAgbnVtYmVycyBpbiBudW1iZXJzLWFuZC1kb3RzIG5vdGF0aW9uXG4iCittc2dzdHIgIiAtaSwgLS1pcCAgICAgICAgICAgICB3ecWbd2lldGxhbmllIGFkcmVzw7N3IElQIHcgbm90YWNqaSBsaWN6Ym93by1rcm9wa293ZWpcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MgorbXNnaWQgIiAtbiwgLS1saW1pdCA8bnVtYmVyPiBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiAtbiwgLS1saW1pdCA8bGljemJhPiBsaWN6YmEgbGluaWkgZG8gd3nFm3dpZXRsZW5pYVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgzCittc2dpZCAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIGRvbid0IGRpc3BsYXkgdGhlIGhvc3RuYW1lIGZpZWxkXG4iCittc2dzdHIgIiAtUiwgLS1ub2hvc3RuYW1lICAgICBiZXogd3nFm3dpZXRsYW5pYSBwb2xhIHogbmF6d8SFIGhvc3RhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODQKK21zZ2lkICIgLXMsIC0tc2luY2UgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgc2luY2UgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtcywgLS1zaW5jZSA8Y3phcz4gICB3ecWbd2lldGxlbmllIGxpbmlpIG9kIG9rcmXFm2xvbmVnbyBjemFzdVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg1Cittc2dpZCAiIC10LCAtLXVudGlsIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHVudGlsIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLXQsIC0tdW50aWwgPGN6YXM+ICAgd3nFm3dpZXRsZW5pZSBsaW5paSBkbyBva3JlxZtsb25lZ28gY3phc3VcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NgorbXNnaWQgIiAtcCwgLS1wcmVzZW50IDx0aW1lPiBkaXNwbGF5IHdobyB3ZXJlIHByZXNlbnQgYXQgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtcCwgLS1wcmVzZW50IDxjemFzPiB3ecWbd2lldGxlbmllLCBrdG8gYnnFgiBvYmVjbnkgbyBva3JlxZtsb255bSBjemFzaWVcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NworbXNnaWQgIiAtdywgLS1mdWxsbmFtZXMgICAgICBkaXNwbGF5IGZ1bGwgdXNlciBhbmQgZG9tYWluIG5hbWVzXG4iCittc2dzdHIgIiAtdywgLS1mdWxsbmFtZXMgICAgICB3ecWbd2lldGxhbmllIHBlxYJueWNoIG5hencgdcW8eXRrb3duaWvDs3cgaSBkb21lblxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg4Cittc2dpZCAiIC14LCAtLXN5c3RlbSAgICAgICAgIGRpc3BsYXkgc3lzdGVtIHNodXRkb3duIGVudHJpZXMgYW5kIHJ1biBsZXZlbCBjaGFuZ2VzXG4iCittc2dzdHIgIiAteCwgLS1zeXN0ZW0gICAgICAgICB3cGlzeSBkb3R5Y3rEhWNlIHd5xYLEhWN6YW5pYSBpIHptaWFuIHBvemlvbcOzdyBzeXN0ZW11XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODkKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcHMgaW4gdGhlIHNwZWNpZmllZCA8Zm9ybWF0PjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHd5xZt3aWV0bGFuaWUgem5hY3puaWvDs3cgY3phc3UgdyA8Zm9ybWFjaWU+OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpbWV8c2hvcnR8ZnVsbHxpc29cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjg4MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXMgYmVnaW5zICVzIgorbXNnc3RyICIiCisiXG4iCisiJXMgemFjenluYSBzacSZICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTU2IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjQKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjgKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6ZWFuYWxpem93YcSHIGxpY3pieSIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk3NyBsb2dpbi11dGlscy9sYXN0LmM6OTgyIGxvZ2luLXV0aWxzL2xhc3QuYzo5ODcKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZSB2YWx1ZSBcIiVzXCIiCittc2dzdHIgImLFgsSZZG5hIHdhcnRvxZvEhyBjemFzdSBcIiVzXCIiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzoyOSBsb2dpbi11dGlscy9saWJ1c2VyLmM6MzEKK21zZ2lkICJDb3VsZG4ndCBkcm9wIGdyb3VwIHByaXZpbGVnZXMiCittc2dzdHIgIk5pZSB1ZGHFgm8gc2nEmSB6cnp1Y2nEhyB1cHJhd25pZcWEIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibGlidXNlciBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVzLiIKK21zZ3N0ciAiaW5pY2phbGl6YWNqYSBsaWJ1c2VyIG5pZSBwb3dpb2TFgmEgc2nEmTogJXMuIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTIKK21zZ2lkICJjaGFuZ2luZyB1c2VyIGF0dHJpYnV0ZSBmYWlsZWQiCittc2dzdHIgInptaWFuYSBhdHJ5YnV0dSB1xbx5dGtvd25pa2EgbmllIHBvd2lvZMWCYSBzacSZIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIgorbXNnc3RyICJhdHJ5YnV0IHXFvHl0a293bmlrYSBuaWUgem1pZW5pb255OiAlcyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJXUgaXMgNjAuCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjE4MAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lZCBvdXQgYWZ0ZXIgJXUgc2Vjb25kcyIKK21zZ3N0ciAicHJ6ZWtyb2N6b255IGxpbWl0IGN6YXN1IGxvZ293YW5pYSAoJXUgcykiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiBjYW4ndCByZW9wZW4gdHR5OiAlbSIKK21zZ3N0ciAiQsWBxIREIEtSWVRZQ1pOWTogbmllIG1vxbxuYSBwb25vd25pZSBvdHdvcnp5xIcgdHR5OiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzIGlzIG5vdCBhIHRlcm1pbmFsIgorbXNnc3RyICJCxYHEhEQgS1JZVFlDWk5ZOiAlcyBuaWUgamVzdCB0ZXJtaW5hbGVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxMAorIywgYy1mb3JtYXQKK21zZ2lkICJjaG93biAoJXMsICVsdSwgJWx1KSBmYWlsZWQ6ICVtIgorbXNnc3RyICJjaG93biAoJXMsICVsdSwgJWx1KSBuaWUgcG93aW9kxYJvIHNpxJk6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxNAorIywgYy1mb3JtYXQKK21zZ2lkICJjaG1vZCAoJXMsICV1KSBmYWlsZWQ6ICVtIgorbXNnc3RyICJjaG93biAoJXMsICV1KSBuaWUgcG93aW9kxYJvIHNpxJk6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM3NQorbXNnaWQgIkZBVEFMOiBiYWQgdHR5IgorbXNnc3RyICJCxYHEhEQgS1JZVFlDWk5ZOiBixYLEmWRueSB0dHkiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlczogY2hhbmdlIHBlcm1pc3Npb25zIGZhaWxlZDogJW0iCittc2dzdHIgIkLFgcSERCBLUllUWUNaTlk6ICVzOiB6bWlhbmEgdXByYXduaWXFhCBuaWUgcG93aW9kxYJhIHNpxJk6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGxvZ2luOiAlLipzICIKK21zZ3N0ciAiT3N0YXRuaWUgbG9nb3dhbmllOiAlLipzICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnJvbSAlLipzXG4iCittc2dzdHIgInogJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUzNAorIywgYy1mb3JtYXQKK21zZ2lkICJvbiAlLipzXG4iCittc2dzdHIgIm5hICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1NTIKK21zZ2lkICJ3cml0ZSBsYXN0bG9nIGZhaWxlZCIKK21zZ3N0ciAiemFwaXMgd3Bpc3UgbGFzdGxvZyBuaWUgcG93acOzZMWCIHNpxJkiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRJQUxVUCBBVCAlcyBCWSAlcyIKK21zZ3N0ciAiV0RaV09OSUVOSUUgTkEgJXMgUFJaRVogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMgRlJPTSAlcyIKK21zZ3N0ciAiTE9HT1dBTklFIE5BIFJPT1RBIE5BICVzIFogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMiCittc2dzdHIgIkxPR09XQU5JRSBOQSBST09UQSBOQSAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTE9HSU4gT04gJXMgQlkgJXMgRlJPTSAlcyIKK21zZ3N0ciAiTE9HT1dBTklFIE5BICVzIE5BIEtPTlRPICVzIFogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIgorbXNnc3RyICJMT0dPV0FOSUUgTkEgJXMgTkEgS09OVE8gJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE5Cittc2dpZCAibG9naW46ICIKK21zZ3N0ciAibG9naW46ICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUEFNIGZhaWx1cmUsIGFib3J0aW5nOiAlcyIKK21zZ3N0ciAiTmllcG93b2R6ZW5pZSBQQU0sIHByemVyd2FubzogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkbid0IGluaXRpYWxpemUgUEFNOiAlcyIKK21zZ3N0ciAiTmllIHVkYcWCbyBzacSZIHphaW5pY2pvd2HEhyBQQU06ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxNworIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gJXUgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJCxYHEmERORSBMT0dPV0FOSUUgJXUgWiAlcyBOQSBLT05UTyAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODI1IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKKyJcbiIKK21zZ3N0ciAiIgorIk5pZXBvcHJhd25lIGxvZ293YW5pZVxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg0MAorIywgYy1mb3JtYXQKK21zZ2lkICJUT08gTUFOWSBMT0dJTiBUUklFUyAoJXUpIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiWkJZVCBEVcW7TyBQUsOTQiBMT0dPV0FOSUEgKCV1KSBaICVzIE5BIEtPTlRPICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOIFNFU1NJT04gRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJOSUVVREFOQSBTRVNKQSBMT0dPV0FOSUEgWiAlcyBOQSBLT05UTyAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKK21zZ3N0ciAiIgorIlxuIgorIk5pZXBvcHJhd25lIGxvZ293YW5pZVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg4MiBsb2dpbi11dGlscy9sb2dpbi5jOjEyMzIgbG9naW4tdXRpbHMvbG9naW4uYzoxMjU1Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gc2V0dXAgcHJvYmxlbSwgYWJvcnQuIgorbXNnc3RyICIiCisiXG4iCisiUHJvYmxlbSB6IHVzdGFub3dpZW5pZW0gc2VzamksIHByemVyd2Fuby4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODgzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTEwgdXNlciBuYW1lIGluICVzOiVkLiBBYm9ydC4iCittc2dzdHIgIlBVU1RBIG5hendhIHXFvHl0a293bmlrYSB3ICVzOiVkLiBQcnplcndhbm8uIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVElPQ1NDVFRZIGZhaWxlZDogJW0iCittc2dzdHIgIlRJT0NTQ1RUWSBuaWUgcG93aW9kxYJvIHNpxJk6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW46IC1oIGlzIGZvciBzdXBlcnVzZXIgb25seVxuIgorbXNnc3RyICJsb2dpbjogLWggamVzdCB0eWxrbyBkbGEgc3VwZXJ1xbx5dGtvd25pa2FcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiBsb2dpbiBbLXBdIFstaCA8aG9zdD5dIFstSF0gW1stZl0gPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAiU2vFgmFkbmlhOiBsb2dpbiBbLXBdIFstaCA8aG9zdD5dIFstSF0gW1stZl0gPHXFvHl0a293bmlrPl1cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTkxCittc2dpZCAiQmVnaW4gYSBzZXNzaW9uIG9uIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIlJvenBvY3rEmWNpZSBzZXNqaSB3IHN5c3RlbWllLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB1c2VyIG5hbWUgXCIlc1wiIGluICVzOiVkLiBBYm9ydC4iCittc2dzdHIgIk5pZXBvcHJhd25hIG5hendhIHXFvHl0a293bmlrYSBcIiVzXCIgdyAlczolZC4gUHJ6ZXJ3YW5vLiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjU0CisjLCBjLWZvcm1hdAorbXNnaWQgImdyb3VwcyBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICJpbmljamFsaXphY2phIGdydXAgbmllIHBvd2lvZMWCYSBzacSZOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjc5Cittc2dpZCAic2V0Z2lkKCkgZmFpbGVkIgorbXNnc3RyICJzZXRnaWQoKSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMwOQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBuZXcgbWFpbC5cbiIKK21zZ3N0ciAiSmVzdCBub3dhIHBvY3p0YS5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzExCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG1haWwuXG4iCittc2dzdHIgIkplc3QgcG9jenRhLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMjUKK21zZ2lkICJzZXR1aWQoKSBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzMxIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNoYW5nZSBkaXJlY3RvcnkgZmFpbGVkIgorbXNnc3RyICIlczogem1pYW5hIGthdGFsb2d1IG5pZSBwb3dpb2TFgmEgc2nEmSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzM4IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9nZ2luZyBpbiB3aXRoIGhvbWUgPSBcIi9cIi5cbiIKK21zZ3N0ciAiTG9nb3dhbmllIHoga2F0YWxvZ2llbSBkb21vd3ltID0gXCIvXCIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM2NworbXNnaWQgImNvdWxkbid0IGV4ZWMgc2hlbGwgc2NyaXB0IgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgdXJ1Y2hvbWnEhyBza3J5cHR1IHBvd8WCb2tpIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNjkKK21zZ2lkICJubyBzaGVsbCIKK21zZ3N0ciAiYnJhayBwb3fFgm9raSIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBjb250YWlucyBpbnZhbGlkIG51bWVyaWNhbCB2YWx1ZTogJXMiCittc2dzdHIgIiVzOiAlcyB6YXdpZXJhIGLFgsSZZG7EhSB3YXJ0b8WbxIcgbGljemJvd8SFOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6Mzc1Cittc2dpZCAiaHVzaCBsb2dpbiBzdGF0dXM6IHJlc3RvcmUgb3JpZ2luYWwgSURzIGZhaWxlZCIKK21zZ3N0ciAic3RhdHVzIGNpY2hlZ28gbG9nb3dhbmlhOiBvZHR3b3J6ZW5pZSBvcnlnaW5hbG55Y2ggSUQgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOCBzeXMtdXRpbHMvbHNjcHUuYzoxNTQwIHN5cy11dGlscy9sc2NwdS5jOjE1NTAKK21zZ2lkICJubyIKK21zZ3N0ciAibmllIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNyBtaXNjLXV0aWxzL2xzYmxrLmM6MTgxCittc2dpZCAidXNlciBuYW1lIgorbXNnc3RyICJuYXp3YSB1xbx5dGtvd25pa2EiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3Cittc2dpZCAiVXNlcm5hbWUiCittc2dzdHIgIk5hendhIHXFvHl0a293bmlrYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTggc3lzLXV0aWxzL3JlbmljZS5jOjU0Cittc2dpZCAidXNlciBJRCIKK21zZ3N0ciAiSUQgdcW8eXRrb3duaWthIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgInBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAiaGFzxYJvIG5pZSBqZXN0IHd5bWFnYW5lIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgIlBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAiSGFzxYJvIG5pZSBqZXN0IHd5bWFnYW5lIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorbXNnaWQgImxvZ2luIGJ5IHBhc3N3b3JkIGRpc2FibGVkIgorbXNnc3RyICJsb2dvd2FuaWUgeiB1xbx5Y2llbSBoYXPFgmEgd3nFgsSFY3pvbmUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAiTG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIkxvZ293YW5pZSB6IHXFvHljaWVtIGhhc8WCYSB3ecWCxIVjem9uZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKK21zZ2lkICJwYXNzd29yZCBkZWZpbmVkLCBidXQgbG9ja2VkIgorbXNnc3RyICJoYXPFgm8gemRlZmluaW93YW5lLCBhbGUgemFibG9rb3dhbmUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCittc2dpZCAiUGFzc3dvcmQgaXMgbG9ja2VkIgorbXNnc3RyICJIYXPFgm8gamVzdCB6YWJsb2tvd2FuZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJsb2cgaW4gZGlzYWJsZWQgYnkgbm9sb2dpbig4KSBvciBwYW1fbm9sb2dpbig4KSIKK21zZ3N0ciAibG9nb3dhbmllIHphYmxva293YW5lIHBvcHJ6ZXogbm9sb2dpbig4KSBsdWIgcGFtX25vbG9naW4oOCkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAiTm8gbG9naW4iCittc2dzdHIgIkJyYWsgbG9nb3dhbmlhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgInByaW1hcnkgZ3JvdXAgbmFtZSIKK21zZ3N0ciAibmF6d2EgZ3J1cHkgcG9kc3Rhd293ZWoiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCittc2dpZCAiUHJpbWFyeSBncm91cCIKK21zZ3N0ciAiR3J1cGEgcG9kc3Rhd293YSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjQKK21zZ2lkICJwcmltYXJ5IGdyb3VwIElEIgorbXNnc3RyICJJRCBncnVweSBwb2RzdGF3b3dlaiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIG5hbWVzIgorbXNnc3RyICJuYXp3eSBncnVwIGRvZGF0a293eWNoIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICJHcnVweSBkb2RhdGtvd2UiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIklEIGdydXAgZG9kYXRrb3d5Y2giCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIklEIGdydXAgZG9kYXRrb3d5Y2giCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3Cittc2dpZCAiaG9tZSBkaXJlY3RvcnkiCittc2dzdHIgImthdGFsb2cgZG9tb3d5IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworbXNnaWQgIkhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICJLYXRhbG9nIGRvbW93eSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKK21zZ2lkICJsb2dpbiBzaGVsbCIKK21zZ3N0ciAicG93xYJva2EgbG9nb3dhbmlhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorbXNnaWQgIlNoZWxsIgorbXNnc3RyICJQb3fFgm9rYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJmdWxsIHVzZXIgbmFtZSIKK21zZ3N0ciAicGXFgm5hIG5hendhIHXFvHl0a293bmlrYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJHZWNvcyBmaWVsZCIKK21zZ3N0ciAiUG9sZSBHRUNPUyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKK21zZ2lkICJkYXRlIG9mIGxhc3QgbG9naW4iCittc2dzdHIgImRhdGEgb3N0YXRuaWVnbyBsb2dvd2FuaWEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiTGFzdCBsb2dpbiIKK21zZ3N0ciAiT3N0YXRuaWUgbG9nb3dhbmllIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgImxhc3QgdHR5IHVzZWQiCittc2dzdHIgIm9zdGF0bmlvIHXFvHl3YW55IHRlcm1pbmFsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgIkxhc3QgdGVybWluYWwiCittc2dzdHIgIk9zdGF0bmkgdGVybWluYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiaG9zdG5hbWUgZHVyaW5nIHRoZSBsYXN0IHNlc3Npb24iCittc2dzdHIgIm5hendhIGhvc3RhIHBvZGN6YXMgb3N0YXRuaWVqIHNlc2ppIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorbXNnaWQgIkxhc3QgaG9zdG5hbWUiCittc2dzdHIgIk9zdGF0bmlhIG5hendhIGhvc3RhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworbXNnaWQgImRhdGUgb2YgbGFzdCBmYWlsZWQgbG9naW4iCittc2dzdHIgImRhdGEgb3N0YXRuaWVnbyBuaWV1ZGFuZWdvIGxvZ293YW5pYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJGYWlsZWQgbG9naW4iCittc2dzdHIgIk5pZXVkYW5lIGxvZ293YW5pZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKK21zZ2lkICJ3aGVyZSBkaWQgdGhlIGxvZ2luIGZhaWw/IgorbXNnc3RyICJza8SFZCBsb2dvd2FuaWUgc2nEmSBuaWUgcG93aW9kxYJvPyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKK21zZ2lkICJGYWlsZWQgbG9naW4gdGVybWluYWwiCittc2dzdHIgIlRlcm1pbmFsIG5pZXVkYW5lZ28gbG9nb3dhbmlhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgInVzZXIncyBodXNoIHNldHRpbmdzIgorbXNnc3RyICJ1c3Rhd2llbmlhIHNwb2tvanUgdcW8eXRrb3duaWthIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgIkh1c2hlZCIKK21zZ3N0ciAiV3ljaXN6b255IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgImRheXMgdXNlciBpcyB3YXJuZWQgb2YgcGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAibGljemJhIGRuaSwga2llZHkgdcW8eXRrb3duaWsgamVzdCBvc3RyemVnYW55IG8gd3lnYcWbbmnEmWNpdSBoYXPFgmEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiB3YXJuIGludGVydmFsIgorbXNnc3RyICJQcnplZHppYcWCIG9zdHJ6ZcW8ZW5pYSBvIHd5Z2HFm25pxJljaXUgaGFzxYJhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgInBhc3N3b3JkIGV4cGlyYXRpb24gZGF0ZSIKK21zZ3N0ciAiZGF0YSB3eWdhxZtuacSZY2lhIGhhc8WCYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzcKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICJXeWdhxZtuacSZY2llIGhhc8WCYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJkYXRlIG9mIGxhc3QgcGFzc3dvcmQgY2hhbmdlIgorbXNnc3RyICJkYXRhIG9zdGF0bmllaiB6bWlhbnkgaGFzxYJhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorbXNnaWQgIlBhc3N3b3JkIGNoYW5nZWQiCittc2dzdHIgIkhhc8WCbyB6bWllbmlvbmUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAibnVtYmVyIG9mIGRheXMgcmVxdWlyZWQgYmV0d2VlbiBjaGFuZ2VzIgorbXNnc3RyICJsaWN6YmEgZG5pIHd5bWFnYW55Y2ggbWnEmWR6eSB6bWlhbmFtaSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzkKK21zZ2lkICJNaW5pbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICJNaW5pbWFsbnkgY3phcyB6bWlhbnkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAibWF4IG51bWJlciBvZiBkYXlzIGEgcGFzc3dvcmQgbWF5IHJlbWFpbiB1bmNoYW5nZWQiCittc2dzdHIgIm1ha3N5bWFsbmEgbGljemJhIGRuaSwgcHJ6ZXoga3TDs3JlIGhhc8WCbyBtb8W8ZSBuaWUgYnnEhyB6bWllbmlhbmUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAiTWF4aW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAiTWFrc3ltYWxueSBjemFzIHptaWFueSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJ0aGUgdXNlcidzIHNlY3VyaXR5IGNvbnRleHQiCittc2dzdHIgImtvbnRla3N0IGJlenBpZWN6ZcWEc3R3YSB1xbx5dGtvd25pa2EiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCittc2dpZCAiU2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJLb250ZWtzdCBTRUxpbnVrc2EiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBydW4gYnkgdGhlIHVzZXIiCittc2dzdHIgImxpY3piYSBwcm9jZXPDs3cgdXJ1Y2hvbWlvbnljaCBwcnpleiB1xbx5dGtvd25pa2EiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCittc2dpZCAiUnVubmluZyBwcm9jZXNzZXMiCittc2dzdHIgIlVydWNob21pb25lIHByb2Nlc3kiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6Mjg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNiBtaXNjLXV0aWxzL2xzYmxrLmM6MjMxCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgY29sdW1ucyBzcGVjaWZpZWQsIHRoZSBsaW1pdCBpcyAlenUgY29sdW1ucyIKK21zZ3N0ciAicG9kYW5vIHpieXQgZHXFvG8ga29sdW1uLCBsaW1pdCB0byAlenUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQzIHN5cy11dGlscy9sc2lwYy5jOjQ1NgorbXNnaWQgInVuc3VwcG9ydGVkIHRpbWUgdHlwZSIKK21zZ3N0ciAibmllIG9ic8WCdWdpd2FueSByb2R6YWogY3phc3UiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQ3Cittc2dpZCAiZmFpbGVkIHRvIGNvbXBvc2UgdGltZSBzdHJpbmciCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB6xYJvxbx5xIcgxYJhxYRjdWNoYSBjemFzdSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo2NDgKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcG9icmHEhyBncnVwIGRvZGF0a293eWNoIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzEKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5rbm93biBjb2x1bW4iCittc2dzdHIgImLFgsSFZCB3ZXduxJl0cnpueTogbmllem5hbmEga29sdW1uYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDc1IHN5cy11dGlscy9sc2lwYy5jOjUwMyBzeXMtdXRpbHMvbHNpcGMuYzo2MjUKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY4MCBzeXMtdXRpbHMvbHNpcGMuYzo4Mzggc3lzLXV0aWxzL2xzaXBjLmM6MTAzNgorbXNnaWQgImZhaWxlZCB0byBzZXQgZGF0YSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHVzdGF3acSHIGRhbnljaCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMYXN0IGxvZ3M6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJPc3RhdG5pZSBsb2dpOlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjggbG9naW4tdXRpbHMvbm9sb2dpbi5jOjI2CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDEgbWlzYy11dGlscy9tY29va2llLmM6ODIgbWlzYy11dGlscy91dWlkZC5jOjcwCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyNSBzeXMtdXRpbHMvZG1lc2cuYzoyNjQgc3lzLXV0aWxzL2lwY21rLmM6NjYKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjAgc3lzLXV0aWxzL2xzaXBjLmM6Mjc3IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNAorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo5NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODAgdGV4dC11dGlscy9saW5lLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIgJXMgW29wY2plXVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzEKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIld5xZt3aWV0bGVuaWUgaW5mb3JtYWNqaSBvIHpuYW55Y2ggdcW8eXRrb3duaWthY2ggdyBzeXN0ZW1pZS5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM0Cittc2dpZCAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBkaXNwbGF5IGluZm8gYWJvdXQgcGFzc3dvcmRzIGV4cGlyYXRpb25cbiIKK21zZ3N0ciAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICB3eXBpc2FuaWUgaW5mb3JtYWNqaSBvIHd5Z2HFm25pxJljaXUgaGFzZcWCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNQorbXNnaWQgIiAtYywgLS1jb2xvbi1zZXBhcmF0ZSAgICAgZGlzcGxheSBkYXRhIGluIGEgZm9ybWF0IHNpbWlsYXIgdG8gL2V0Yy9wYXNzd2RcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICB3ecWbd2lldGxlbmllIGRhbnljaCB3IGZvcm1hY2llIHBvZG9ibnltIGRvIC9ldGMvcGFzc3dkXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNiBzeXMtdXRpbHMvbHNpcGMuYzoyOTYKK21zZ2lkICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGRpc3BsYXkgaW4gYW4gZXhwb3J0LWFibGUgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIHd5xZt3aWV0bGVuaWUgd3lqxZtjaWEgdyBmb3JtYWNpZSBla3Nwb3J0b3dhbG55bVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzcKK21zZ2lkICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIGRpc3BsYXkgZGF0YSBhYm91dCB0aGUgdXNlcnMnIGxhc3QgZmFpbGVkIGxvZ2luc1xuIgorbXNnc3RyICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIHd5cGlzYW5pZSBkYW55Y2ggbyBvc3RhdG5pY2ggbmlldWRhbnljaCBsb2dvd2FuaWFjaFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzgKK21zZ2lkICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgZ3JvdXBzXG4iCittc2dzdHIgIiAtRywgLS1zdXBwLWdyb3VwcyAgICAgICAgd3lwaXNhbmllIGluZm9ybWFjamkgbyBncnVwYWNoXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOQorbXNnaWQgIiAtZywgLS1ncm91cHM9PGdyb3Vwcz4gICAgZGlzcGxheSB1c2VycyBiZWxvbmdpbmcgdG8gYSBncm91cCBpbiA8Z3JvdXBzPlxuIgorbXNnc3RyICIgLWcsIC0tZ3JvdXBzPTxncnVweT4gICAgIHd5cGlzYW5pZSB1xbx5dGtvd25pa8OzdyBuYWxlxbzEhWN5Y2ggZG8ga3TDs3JlasWbIHogPGdydXA+XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MAorbXNnaWQgIiAtTCwgLS1sYXN0ICAgICAgICAgICAgICAgc2hvdyBpbmZvIGFib3V0IHRoZSB1c2VycycgbGFzdCBsb2dpbiBzZXNzaW9uc1xuIgorbXNnc3RyICIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIHd5cGlzYW5pZSBpbmZvcm1hY2ppIG8gb3N0YXRuaWNoIHNlc2phY2ggdcW8eXRrb3duaWvDs3dcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQxCittc2dpZCAiIC1sLCAtLWxvZ2lucz08bG9naW5zPiAgICBkaXNwbGF5IG9ubHkgdXNlcnMgZnJvbSA8bG9naW5zPlxuIgorbXNnc3RyICIgLWwsIC0tbG9naW5zPTxuYXp3eT4gICAgIHd5xZt3aWV0bGFuaWUgdHlsa28gdcW8eXRrb3duaWvDs3cgbyBuYXp3YWNoIHNwb8WbcsOzZCA8bmF6dz5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQyIHN5cy11dGlscy9sc2lwYy5jOjI5OAorbXNnaWQgIiAtbiwgLS1uZXdsaW5lICAgICAgICAgICAgZGlzcGxheSBlYWNoIHBpZWNlIG9mIGluZm9ybWF0aW9uIG9uIGEgbmV3IGxpbmVcbiIKK21zZ3N0ciAiIC1uLCAtLW5ld2xpbmUgICAgICAgICAgICBrYcW8ZGEgaW5mb3JtYWNqYSB3IG5vd2VqIGxpbmlpXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MyBzeXMtdXRpbHMvbHNpcGMuYzoyOTEKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgYmV6IHd5cGlzeXdhbmlhIG5hZ8WCw7N3a8Ozd1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDQgc3lzLXV0aWxzL2xzaXBjLmM6MjkyCittc2dpZCAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBkb24ndCB0cnVuY2F0ZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBiZXogdWNpbmFuaWEgd3lqxZtjaWFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMAorbXNnaWQgIiAtbywgLS1vdXRwdXRbPTxsaXN0Pl0gICAgZGVmaW5lIHRoZSBjb2x1bW5zIHRvIG91dHB1dFxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0Wz08bGlzdGE+XSAgIG9rcmXFm2xlbmllIGtvbHVtbiBkbyB3eXBpc2FuaWFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ2Cittc2dpZCAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gbG9naW4gYnkgcGFzc3dvcmQuXG4iCittc2dzdHIgIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAgd3lwaXNhbmllIGluZm9ybWFjamkgendpxIV6YW55Y2ggeiBsb2dvd2FuaWVtIGhhc8WCZW0uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NyBzeXMtdXRpbHMvbHNpcGMuYzozMDIKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIGRpc3BsYXkgaW4gcmF3IG1vZGVcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICB3ecWbd2lldGxlbmllIHcgdHJ5YmllIHN1cm93eW1cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ4Cittc2dpZCAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICBkaXNwbGF5IHN5c3RlbSBhY2NvdW50c1xuIgorbXNnc3RyICIgLXMsIC0tc3lzdGVtLWFjY3MgICAgICAgIHd5cGlzYW5pZSBrb250IHN5c3RlbW93eWNoXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OSBzeXMtdXRpbHMvbHNpcGMuYzoyOTMKK21zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQ9PHR5cGU+IGRpc3BsYXkgZGF0ZXMgaW4gc2hvcnQsIGZ1bGwgb3IgaXNvIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tdGltZS1mb3JtYXQ9PHR5cD4gIGZvcm1hdCB3ecWbd2lldGxhbmlhIGRhdCAoc2hvcnQsIGZ1bGwsIGlzbylcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUwCittc2dpZCAiIC11LCAtLXVzZXItYWNjcyAgICAgICAgICBkaXNwbGF5IHVzZXIgYWNjb3VudHNcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXItYWNjcyAgICAgICAgICB3eXBpc2FuaWUga29udCB1xbx5dGtvd25pa8Ozd1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTEKK21zZ2lkICIgLVosIC0tY29udGV4dCAgICAgICAgICAgIGRpc3BsYXkgU0VMaW51eCBjb250ZXh0c1xuIgorbXNnc3RyICIgLVosIC0tY29udGV4dCAgICAgICAgICAgIHd5cGlzYW5pZSBrb250ZWtzdMOzdyBTRUxpbnVrc2FcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUyCittc2dpZCAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0IHVzZXIgZW50cmllcyB3aXRoIGEgbnVsIGNoYXJhY3RlclxuIgorbXNnc3RyICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgIG9kZHppZWxhbmllIHdwaXPDs3cgdcW8eXRrb3duaWvDs3cgem5ha2llbSBOVUxcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUzCittc2dpZCAiICAgICAtLXd0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIHd0bXBcbiIKK21zZ3N0ciAiICAgICAtLXd0bXAtZmlsZSA8cGxpaz4gICB1c3Rhd2llbmllIGFsdGVybmF0eXduZWogxZtjaWXFvGtpIGRvIHd0bXBcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjU0Cittc2dpZCAiICAgICAtLWJ0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIGJ0bXBcbiIKK21zZ3N0ciAiICAgICAtLWJ0bXAtZmlsZSA8cGxpaz4gICB1c3Rhd2llbmllIGFsdGVybmF0eXduZWogxZtjaWXFvGtpIGRvIGJ0bXBcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjU5IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDcgc3lzLXV0aWxzL2xzY3B1LmM6MTk3OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJEb3N0xJlwbmUga29sdW1ueTpcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDQyCittc2dpZCAiZmFpbGVkIHRvIHJlcXVlc3Qgc2VsaW51eCBzdGF0ZSIKK21zZ3N0ciAixbzEhWRhbmllIHN0YW51IFNFTGludWtzYSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ1NiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NjAKK21zZ2lkICJPbmx5IG9uZSB1c2VyIG1heSBiZSBzcGVjaWZpZWQuIFVzZSAtbCBmb3IgbXVsdGlwbGUgdXNlcnMuIgorbXNnc3RyICJNb8W8bmEgcG9kYcSHIHR5bGtvIGplZG5lZ28gdcW8eXRrb3duaWthLiBEbGEgd2llbHUgdcW8eXRrb3duaWvDs3cgcHJvc3rEmSB1xbx5xIcgLWwuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo0OSBsb2dpbi11dGlscy9uZXdncnAuYzo1NQorbXNnaWQgImNvdWxkIG5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHVzdGF3acSHIGF0cnlidXTDs3cgdGVybWluYWxhIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo1NworbXNnaWQgImdldGxpbmUoKSBmYWlsZWQiCittc2dzdHIgImdldGxpbmUoKSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE0OAorbXNnaWQgIlBhc3N3b3JkOiAiCittc2dzdHIgIkhhc8WCbzogIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNTQgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMDUKK21zZ2lkICJjcnlwdCBmYWlsZWQiCittc2dzdHIgImNyeXB0IG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Z3JvdXA+XG4iCittc2dzdHIgIiAlcyA8Z3J1cGE+XG4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE2OQorbXNnaWQgIkxvZyBpbiB0byBhIG5ldyBncm91cC5cbiIKK21zZ3N0ciAiTG9nb3dhbmllIGRvIG5vd2VqIGdydXB5LlxuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMDcKK21zZ2lkICJ3aG8gYXJlIHlvdT8iCittc2dzdHIgImtpbSBqZXN0ZcWbPyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjExIGxvZ2luLXV0aWxzL25ld2dycC5jOjIyMyBzeXMtdXRpbHMvbnNlbnRlci5jOjQyMworbXNnaWQgInNldGdpZCBmYWlsZWQiCittc2dzdHIgInNldGdpZCBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxNiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTgKK21zZ2lkICJubyBzdWNoIGdyb3VwIgorbXNnc3RyICJuaWUgbWEgdGFraWVqIGdydXB5IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjEgc3lzLXV0aWxzL21vdW50LmM6NDkxCittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQiCittc2dzdHIgImJyYWsgdXByYXduaWXFhCIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI3IHN5cy11dGlscy9uc2VudGVyLmM6NDI1Cittc2dpZCAic2V0dWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogbG9naW4tdXRpbHMvbm9sb2dpbi5jOjI5Cittc2dpZCAiUG9saXRlbHkgcmVmdXNlIGEgbG9naW4uXG4iCittc2dzdHIgIkdyemVjem5lIG9kbcOzd2llbmllIGxvZ293YW5pYS5cbiIKKworIzogbG9naW4tdXRpbHMvbm9sb2dpbi5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoaXMgYWNjb3VudCBpcyBjdXJyZW50bHkgbm90IGF2YWlsYWJsZS5cbiIKK21zZ3N0ciAiVG8ga29udG8gamVzdCBha3R1YWxuaWUgbmllZG9zdMSZcG5lLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gc2Vzc2lvbjogJXMiCittc2dzdHIgIm5pZSBtb8W8bmEgb3R3b3J6ecSHIHNlc2ppOiAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzA0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBjaGlsZCBwcm9jZXNzIgorbXNnc3RyICJuaWUgbW/FvG5hIHV0d29yennEhyBwcm9jZXN1IHBvdG9tbmVnbyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJuaWUgbW/FvG5hIHptaWVuacSHIGthdGFsb2d1IG5hICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMjEKK21zZ2lkICJjYW5ub3QgYmxvY2sgc2lnbmFscyIKK21zZ3N0ciAibmllIG1vxbxuYSB6YWJsb2tvd2HEhyBzeWduYcWCw7N3IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMzUgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzQzCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNDkgbWlzYy11dGlscy91dWlkZC5jOjQwNyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc3MQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgIm5pZSBtb8W8bmEgdXN0YXdpxIcgcHJvY2VkdXJ5IG9ic8WCdWdpIHN5Z25hxYJ1IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNzQKK21zZ2lkICIgKGNvcmUgZHVtcGVkKSIKK21zZ3N0ciAiICh6cnp1dCBwYW1pxJljaSkiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLCBraWxsaW5nIHNoZWxsLi4uIgorbXNnc3RyICIiCisiXG4iCisiU2VzamEgcHJ6ZXJ3YW5hLCB6YWJpamFuaWUgcG93xYJva2kuLi4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICIgLi4ua2lsbGVkLlxuIgorbXNnc3RyICIgLi4uemFiaXRvLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0ODYKK21zZ2lkICJtYXkgbm90IGJlIHVzZWQgYnkgbm9uLXJvb3QgdXNlcnMiCittc2dzdHIgInJ1bnVzZXIgbW/FvGUgYnnEhyB1xbx5d2FuZSB0eWxrbyBwcnpleiByb290YSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTE0Cittc2dpZCAiaW5jb3JyZWN0IHBhc3N3b3JkIgorbXNnc3RyICJixYLEmWRuZSBoYXPFgm8iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjU5OAorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXBzIgorbXNnc3RyICJuaWUgbW/FvG5hIHVzdGF3acSHIGdydXAiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjYxMyBzeXMtdXRpbHMvZWplY3QuYzo2NjUKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwIGlkIgorbXNnc3RyICJuaWUgbW/FvG5hIHVzdGF3acSHIGlkZW50eWZpa2F0b3JhIGdydXB5IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2MTUgc3lzLXV0aWxzL2VqZWN0LmM6NjY4Cittc2dpZCAiY2Fubm90IHNldCB1c2VyIGlkIgorbXNnc3RyICJuaWUgbW/FvG5hIHVzdGF3acSHIGlkZW50eWZpa2F0b3JhIHXFvHl0a293bmlrYSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC11IDx1c2VyPiBbWy0tXSA8Y29tbWFuZD5dXG4iCittc2dzdHIgIiAlcyBbb3BjamVdIC11IDx1xbx5dGtvd25paz4gPHBvbGVjZW5pZT5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njg5IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwMQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gWy1dIFs8dcW8eXRrb3duaWs+IFs8YXJndW1lbnQ+Li4uXV1cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjkwCittc2dpZCAiIgorIlxuIgorIlJ1biA8Y29tbWFuZD4gd2l0aCB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIG9mIDx1c2VyPi4gIElmIC11IGlzXG4iCisibm90IGdpdmVuLCBmYWxsIGJhY2sgdG8gc3UoMSktY29tcGF0aWJsZSBzZW1hbnRpY3MgYW5kIGV4ZWN1dGUgc3RhbmRhcmQgc2hlbGwuXG4iCisiVGhlIG9wdGlvbnMgLWMsIC1mLCAtbCwgYW5kIC1zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtdS5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlVydWNob21pZW5pZSA8cG9sZWNlbmlhPiB6IGVmZWt0eXdueW0gaWRlbnR5ZmlrYXRvcmVtIGkgZ3J1cMSFIDx1xbx5dGtvd25pa2E+LlxuIgorIkplxZtsaSBuaWUgcG9kYW5vIC11LCBuYXN0xJlwdWplIHByemVqxZtjaWUgZG8gc2VtYW50eWtpIHpnb2RuZWogeiBzdSgxKVxuIgorImkgd3l3b8WCYW5pZSBwb3fFgm9raS5cbiIKKyJPcGNqZSAtYywgLWYsIC1sIGkgLXMgd3lrbHVjemFqxIUgc2nEmSB6IC11LlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2OTcKK21zZ2lkICIgLXUsIC0tdXNlciA8dXNlcj4gICAgICAgICAgICAgdXNlcm5hbWVcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXIgPHXFvHl0a293bmlrPiAgICAgICBuYXp3YSB1xbx5dGtvd25pa2FcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzAyCittc2dpZCAiIgorIlxuIgorIkNoYW5nZSB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIHRvIHRoYXQgb2YgPHVzZXI+LlxuIgorIkEgbWVyZSAtIGltcGxpZXMgLWwuICBJZiA8dXNlcj4gaXMgbm90IGdpdmVuLCByb290IGlzIGFzc3VtZWQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJabWlhbmEgZWZla3R5d25lZ28gSUQgdcW8eXRrb3duaWthIGkgZ3J1cHkgbmEgaWRlbnR5ZmlrYXRvcnkgPHXFvHl0a293bmlrYT4uXG4iCisiU2FtIC0gb3puYWN6YSAtbC4gSmXFm2xpIG5pZSBwb2Rhbm8gPHXFvHl0a293bmlrYT4sIHByenlqbW93YW55IGplc3Qgcm9vdC5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzA5Cittc2dpZCAiIC1tLCAtcCwgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCAgZG8gbm90IHJlc2V0IGVudmlyb25tZW50IHZhcmlhYmxlc1xuIgorbXNnc3RyICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBiZXoga2Fzb3dhbmlhIHptaWVubnljaCDFm3JvZG93aXNrb3d5Y2hcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzEwCittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgICAgICAgICAgc3BlY2lmeSB0aGUgcHJpbWFyeSBncm91cFxuIgorbXNnc3RyICIgLWcsIC0tZ3JvdXAgPGdydXBhPiAgICAgICAgICAgICBva3JlxZtsZW5pZSBncnVweSBnxYLDs3duZWpcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzExCittc2dpZCAiIgorIiAtRywgLS1zdXBwLWdyb3VwIDxncm91cD4gICAgICAgIHNwZWNpZnkgYSBzdXBwbGVtZW50YWwgZ3JvdXBcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtRywgLS1zdXBwLWdyb3VwIDxncnVwYT4gICAgICAgIG9rcmXFm2xlbmllIGdydXB5IGRvZGF0a293ZWpcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzEzCittc2dpZCAiIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgICAgbWFrZSB0aGUgc2hlbGwgYSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICB1Y3p5bmllbmllIHBvd8WCb2tpIHBvd8WCb2vEhSBsb2dvd2FuaWFcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE0Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCittc2dzdHIgIiAtYyAgLS1jb21tYW5kIDxwb2xlY2VuaWU+ICAgICAgIHByemVrYXphbmllIHBvbGVjZW5pYSBkbyBwb3fFgm9raSBwcnpleiAtY1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTUKK21zZ2lkICIiCisiIC0tc2Vzc2lvbi1jb21tYW5kIDxjb21tYW5kPiAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZG8gbm90IGNyZWF0ZSBhIG5ldyBzZXNzaW9uXG4iCittc2dzdHIgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPHBvbGVjZW5pZT4gICBwcnpla2F6YW5pZSBwb2plZHluY3plZ28gcG9sZWNlbmlhIGRvIHBvd8WCb2tpXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcnpleiAtYyBiZXogdHdvcnplbmlhIG5vd2VqIHNlc2ppXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxNworbXNnaWQgIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgIHBhc3MgLWYgdG8gdGhlIHNoZWxsIChmb3IgY3NoIG9yIHRjc2gpXG4iCittc2dzdHIgIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgIHByemVrYXphbmllIC1mIGRvIHBvd8WCb2tpIChkbGEgY3NoIGkgdGNzaClcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE4Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgICAgcnVuIDxzaGVsbD4gaWYgL2V0Yy9zaGVsbHMgYWxsb3dzIGl0XG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8cG93xYJva2E+ICAgICAgICAgICB1cnVjaG9taWVuaWUgPHBvd8WCb2tpPiwgamXFm2xpIC9ldGMvc2hlbGxzIHBvendhbGFcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzYyCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cCBpcyBub3QgcG9zc2libGUiCittc2dpZF9wbHVyYWwgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cHMgaXMgbm90IHBvc3NpYmxlIgorbXNnc3RyWzBdICJwb2RhbmllIHdpxJljZWogbmnFvCAlZCBncnVweSBkb2RhdGtvd2VqIG5pZSBqZXN0IG1vxbxsaXdlIgorbXNnc3RyWzFdICJwb2RhbmllIHdpxJljZWogbmnFvCAlZCBncnVwIGRvZGF0a293eWNoIG5pZSBqZXN0IG1vxbxsaXdlIgorbXNnc3RyWzJdICJwb2RhbmllIHdpxJljZWogbmnFvCAlZCBncnVwIGRvZGF0a293eWNoIG5pZSBqZXN0IG1vxbxsaXdlIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXAgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgImdydXBhICVzIG5pZSBpc3RuaWVqZSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODg2Cittc2dpZCAiaWdub3JpbmcgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWxvZ2luIgorbXNnc3RyICJ6aWdub3Jvd2FubyAtLXByZXNlcnZlLWVudmlyb25tZW50LCB3eWtsdWN6YSBzacSZIHogLS1sb2dpbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODk3Cittc2dpZCAib3B0aW9ucyAtLXtzaGVsbCxmYXN0LGNvbW1hbmQsc2Vzc2lvbi1jb21tYW5kLGxvZ2lufSBhbmQgLS11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIm9wY2plIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IG9yYXogLS11c2VyIHd5a2x1Y3phasSFIHNpxJkgd3phamVtbmllIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5MDEKK21zZ2lkICJubyBjb21tYW5kIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgIm5pZSBwb2Rhbm8gcG9sZWNlbmlhIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5MTUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHNwZWNpZnkgYWx0ZXJuYXRpdmUgZ3JvdXBzIgorbXNnc3RyICJ0eWxrbyByb290IG1vxbxlIHBvZGF3YcSHIGdydXB5IGFsdGVybmF0eXduZSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTIyCisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgInXFvHl0a293bmlrICVzIG5pZSBpc3RuaWVqZS4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyByZXN0cmljdGVkIHNoZWxsICVzIgorbXNnc3RyICJ1xbx5Y2llIG9ncmFuaWN6b25laiBwb3fFgm9raSAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJ1d2FnYTogbmllIG1vxbxuYSB6bWllbmnEhyBrYXRhbG9ndSBuYSAlcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEzMAorbXNnaWQgInRjZ2V0YXR0ciBmYWlsZWQiCittc2dzdHIgInRjZ2V0YXR0ciBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoyMDcKK21zZ2lkICJ0Y3NldGF0dHIgZmFpbGVkIgorbXNnc3RyICJ0Y3NldGF0dHIgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdFxuIgorbXNnc3RyICIlczogYnJhayB3cGlzdSBkbGEgcm9vdGFcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3QiCittc2dzdHIgIiVzOiBicmFrIHdwaXN1IGRsYSByb290YSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcm9vdCBwYXNzd29yZCBnYXJibGVkIgorbXNnc3RyICIlczogaGFzxYJvIHJvb3RhIHVzemtvZHpvbmUiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkNhbm5vdCBvcGVuIGFjY2VzcyB0byBjb25zb2xlLCB0aGUgcm9vdCBhY2NvdW50IGlzIGxvY2tlZC5cbiIKKyJTZWUgc3Vsb2dpbig4KSBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLlxuIgorIlxuIgorIlByZXNzIEVudGVyIHRvIGNvbnRpbnVlLlxuIgorbXNnc3RyICIiCisiXG4iCisiTmllIG1vxbxuYSBvdHdvcnp5xIcgZG9zdMSZcHUgZG8ga29uc29saSwga29udG8gcm9vdGEgamVzdCB6YWJsb2tvd2FuZS5cbiIKKyJXacSZY2VqIGluZm9ybWFjamkgbmEgc3Ryb25pZSBwb2RyxJljem5pa2Egc3Vsb2dpbig4KS5cbiIKKyJcbiIKKyJQcm9zesSZIG5hY2lzbsSFxIcgRW50ZXIgdyBjZWx1IGtvbnR5bnVhY2ppLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbG9naW46ICIKK21zZ3N0ciAiUHJvc3rEmSBwb2RhxIcgaGFzxYJvIHJvb3RhIGRvIHphbG9nb3dhbmlhOiAiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIGxvZ2luOiAiCittc2dzdHIgIlByb3N6xJkgbmFjaXNuxIXEhyBFbnRlciB3IGNlbHUgemFsb2dvd2FuaWE6ICIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIlByb3N6xJkgcG9kYcSHIGhhc8WCbyByb290YSB3IGNlbHUgbmFwcmF3eVxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICJQcm9zesSZIG5hY2lzbsSFxIcgRW50ZXIgdyBjZWx1IG5hcHJhd3lcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIob3IgcHJlc3MgQ29udHJvbC1EIHRvIGNvbnRpbnVlKTogIgorbXNnc3RyICIobHViIG5hY2lzbsSFxIcgQ29udHJvbC1ELCBhYnkga29udHludW93YcSHKTogIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzQyCittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSB0byBzeXN0ZW0gcm9vdCBmYWlsZWQiCittc2dzdHIgInptaWFuYSBrYXRhbG9ndSBuYSBnxYLDs3dueSBrYXRhbG9nIHN5c3RlbXUgbmllIHBvd2lvZMWCYSBzacSZIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzkxCittc2dpZCAic2V0ZXhlY2NvbiBmYWlsZWQiCittc2dzdHIgInd5d2/FgmFuaWUgc2V0ZXhlY2NvbiBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbdHR5IGRldmljZV1cbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gW3VyesSFZHplbmllIHR0eV1cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxNAorbXNnaWQgIlNpbmdsZS11c2VyIGxvZ2luLlxuIgorbXNnc3RyICJMb2dvd2FuaWUgdyB0cnliaWUgamVkbmVnbyB1xbx5dGtvd25pa2EuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MTcKK21zZ2lkICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICBzdGFydCBhIGxvZ2luIHNoZWxsXG4iCisiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICBtYXggdGltZSB0byB3YWl0IGZvciBhIHBhc3N3b3JkIChkZWZhdWx0OiBubyBsaW1pdClcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGV4YW1pbmUgcGFzc3dvcmQgZmlsZXMgZGlyZWN0bHkgaWYgZ2V0cHduYW0oMykgZmFpbHNcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1sb2dpbi1zaGVsbCAgICAgICAgdXJ1Y2hvbWllbmllIHBvd8WCb2tpIGxvZ293YW5pYVxuIgorIiAtdCwgLS10aW1lb3V0IDxzZWt1bmR5PiAgbWFrc3ltYWxueSBjemFzIG9jemVraXdhbmlhIG5hIGhhc8WCbyAoZG9tecWbbG5pZTogYnJhaylcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGJlenBvxZtyZWRuaWUgc3ByYXdkemFuaWUgcGxpa8OzdyBoYXNlxYIsIGdkeSBnZXRwd25hbSgzKVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgemF3b2R6aVxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODcxIG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NjMgc3lzLXV0aWxzL3dkY3RsLmM6NTIzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc1MCB0ZXJtLXV0aWxzL3dhbGwuYzoxMzUKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQiCittc2dzdHIgImLFgsSZZG5hIHdhcnRvxZvEhyBsaW1pdHUgY3phc3UiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4OTMKK21zZ2lkICJvbmx5IHN1cGVydXNlciBjYW4gcnVuIHRoaXMgcHJvZ3JhbSIKK21zZ3N0ciAidHlsa28gc3VwZXJ1xbx5dGtvd25payBtb8W8ZSB1cnVjaG9tacSHIHRlbiBwcm9ncmFtIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTM2Cittc2dpZCAiY2Fubm90IG9wZW4gY29uc29sZSIKK21zZ3N0ciAibmllIG1vxbxuYSBvdHdvcnp5xIcga29uc29saSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjk0MworbXNnaWQgImNhbm5vdCBvcGVuIHBhc3N3b3JkIGRhdGFiYXNlIgorbXNnc3RyICJuaWUgbW/FvG5hIG90d29yennEhyBiYXp5IGRhbnljaCBoYXNlxYIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDYW4gbm90IGV4ZWN1dGUgc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiIgorIk5pZSBtb8W8bmEgdXJ1Y2hvbWnEhyBwb3fFgm9raSBzdVxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyNworbXNnaWQgIiIKKyJUaW1lZCBvdXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlVwxYJ5bsSFxYIgbGltaXQgY3phc3VcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwNTkKK21zZ2lkICIiCisiQ2FuIG5vdCB3YWl0IG9uIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIiIKKyJOaWUgbW/FvG5hIG9jemVraXdhxIcgdyBwb3fFgm9jZSBzdVxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE3NiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2guIgorbXNnc3RyICIlczogbmllIG1vxbxuYSBkb2RhxIcgb2JzZXJ3YXRvcmEgaW5vdGlmeS4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTg1IHRleHQtdXRpbHMvdGFpbGYuYzoxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGlub3RpZnkgZXZlbnRzIgorbXNnc3RyICIlczogbmllIG1vxbxuYSBvZGN6eXRhxIcgemRhcnplxYQgaW5vdGlmeSIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDYgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNTEKK21zZ2lkICJFeHRyYW5lb3VzIG5ld2xpbmUgaW4gZmlsZS4gRXhpdGluZy4iCittc2dzdHIgIk5hZG1pYXJvd3kgem5hayBrb8WEY2EgbGluaWkgdyBwbGlrdS4gWmFrb8WEY3plbmllLiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZW5hbWVdXG4iCittc2dzdHIgIiAlcyBbb3BjamVdIFtuYXp3YV9wbGlrdV1cbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTIKK21zZ2lkICJEdW1wIFVUTVAgYW5kIFdUTVAgZmlsZXMgaW4gcmF3IGZvcm1hdC5cbiIKK21zZ3N0ciAiWnJ6dXQgcGxpa8OzdyBVVE1QIGkgV1RNUCB3IGZvcm1hY2llIHN1cm93eW0uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE1Cittc2dpZCAiIC1mLCAtLWZvbGxvdyAgICAgICAgIG91dHB1dCBhcHBlbmRlZCBkYXRhIGFzIHRoZSBmaWxlIGdyb3dzXG4iCittc2dzdHIgIiAtZiwgLS1mb2xsb3cgICAgICAgICB3eXBpc3l3YW5pZSBkb8WCxIVjemFueWNoIGRhbnljaCB3IG1pYXLEmSByb3pyb3N0dSBwbGlrdVxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxNgorbXNnaWQgIiAtciwgLS1yZXZlcnNlICAgICAgICB3cml0ZSBiYWNrIGR1bXBlZCBkYXRhIGludG8gdXRtcCBmaWxlXG4iCittc2dzdHIgIiAtciwgLS1yZXZlcnNlICAgICAgICB6YXBpcyB6cnp1Y29ueWNoIGRhbnljaCB6IHBvd3JvdGVtIGRvIHBsaWt1IHV0bXBcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTcKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxmaWxlPiAgd3JpdGUgdG8gZmlsZSBpbnN0ZWFkIG9mIHN0YW5kYXJkIG91dHB1dFxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxwbGlrPiAgemFwaXMgZG8gcGxpa3UgemFtaWFzdCBzdGFuZGFyZG93ZWdvIHd5asWbY2lhXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzg0Cittc2dpZCAiZm9sbG93aW5nIHN0YW5kYXJkIGlucHV0IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJwb2TEhcW8YW5pZSB6YSBzdGFuZGFyZG93eW0gd2VqxZtjaWVtIG5pZSBqZXN0IG9ic8WCdWdpd2FuZSIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCB1bmR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiT2R3cm90bnkgenJ6dXQgdXRtcCB6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgZHVtcCBvZiAlc1xuIgorbXNnc3RyICJacnp1dCB1dG1wIHogJXNcbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE0MQorbXNnaWQgImNhbid0IG9wZW4gdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIm5pZSBtb8W8bmEgb3R3b3J6ecSHIHBsaWt1IHR5bWN6YXNvd2VnbyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY3JlYXRlIGEgbGluayB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiB0d29yemVuaWUgZG93acSFemFuaWEgZG8gJXMgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IGdldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiTmllIG1vxbxuYSB1enlza2HEhyBrb250ZWtzdHUgZGxhICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IHNldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiTmllIG1vxbxuYSB1c3Rhd2nEhyBrb250ZWtzdHUgZGxhICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVuY2hhbmdlZCIKK21zZ3N0ciAiJXMgbmllem1pZW5pb255IgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjU0Cittc2dpZCAiY2Fubm90IGdldCBsb2NrIgorbXNnc3RyICJuaWUgbW/FvG5hIHBvYnJhxIcgYmxva2FkeSIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI4MQorbXNnaWQgIm5vIGNoYW5nZXMgbWFkZSIKK21zZ3N0ciAibmllIHd5a29uYW5vIHptaWFuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjkwCittc2dpZCAiY2Fubm90IGNobW9kIGZpbGUiCittc2dzdHIgIm5pZSBtb8W8bmEgd3lrb25hxIcgY2htb2QgcGxpa3UiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozMDQKK21zZ2lkICJFZGl0IHRoZSBwYXNzd29yZCBvciBncm91cCBmaWxlLlxuIgorbXNnc3RyICJNb2R5ZmlrYWNqYSBwbGlrdSBoYXNlxYIgbHViIGdydXAuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTAKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBncm91cHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIlcgdHltIHN5c3RlbWllIHXFvHl3YW5lIHPEhSBncnVweSB1a3J5dGUgKHNoYWRvdykuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTEKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBwYXNzd29yZHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIlcgdHltIHN5c3RlbWllIHXFvHl3YW5lIHPEhSBoYXPFgmEgdWtyeXRlIChzaGFkb3cpLlxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhpcyBwcm9ncmFtIHVzZXMgZm9yIHkgYW5kIG4gcnBtYXRjaCgzKSwKKyMuICogd2hpY2ggbWVhbnMgdGhleSBjYW4gYmUgdHJhbnNsYXRlZC4KKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV291bGQgeW91IGxpa2UgdG8gZWRpdCAlcyBub3cgW3kvbl0/ICIKK21zZ3N0ciAiQ3p5IG1vZHlmaWtvd2HEhyB0ZXJheiAlcyBbdC9uXT8gIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjM3MgorbXNnaWQgImludmFsaWQgbW9udGggYXJndW1lbnQiCittc2dzdHIgImLFgsSZZG5hIHBvc3RhxIcgbWllc2nEhWNhIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjM4MAorbXNnaWQgImludmFsaWQgd2VlayBhcmd1bWVudCIKK21zZ3N0ciAiYsWCxJlkbmEgcG9zdGHEhyB0eWdvZG5pYSIKKworIzogbWlzYy11dGlscy9jYWwuYzozODIKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHVzZSAxLTU0IgorbXNnc3RyICJuaWVkb3p3b2xvbmEgd2FydG/Fm8SHIHR5Z29kbmlhOiBkb3B1c3pjemFsbmUgdG8gMS01NCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHRpbWVzdGFtcCBvciB1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6ZWFuYWxpem93YcSHIHpuYWN6bmlrYSBjemFzdSBsdWIgbmllem5hbmEgbmF6d2EgbWllc2nEhWNhOiAlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MzEKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZSIKK21zZ3N0ciAibmllZG96d29sb25hIHdhcnRvxZvEhyBkbmlhIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQzMyBtaXNjLXV0aWxzL2NhbC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZTogdXNlIDEtJWQiCittc2dzdHIgIm5pZWRvendvbG9uYSB3YXJ0b8WbxIcgZG5pYTogZG9wdXN6Y3phbG5lIHRvIDEtJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDM3IG1pc2MtdXRpbHMvY2FsLmM6NDQ1Cittc2dpZCAiaWxsZWdhbCBtb250aCB2YWx1ZTogdXNlIDEtMTIiCittc2dzdHIgIm5pZWRvendvbG9uYSB3YXJ0b8WbxIcgbWllc2nEhWNhOiBkb3B1c3pjemFsbmUgdG8gMS0xMiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAibmllem5hbmEgbmF6d2EgbWllc2nEhWNhOiAlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NDggbWlzYy11dGlscy9jYWwuYzo0NTIKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWUiCittc2dzdHIgIm5pZWRvendvbG9uYSB3YXJ0b8WbxIcgcm9rdSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NTAKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWU6IHVzZSBwb3NpdGl2ZSBpbnRlZ2VyIgorbXNnc3RyICJuaWVkb3p3b2xvbmEgd2FydG/Fm8SHIHJva3U6IGRvcHVzemN6YWxuZSB0eWxrbyBjYcWCa293aXRlIGRvZGF0bmllIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4MiBtaXNjLXV0aWxzL2NhbC5jOjQ5NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHllYXIgJWQgZG9lc24ndCBoYXZlIHdlZWsgJWQiCittc2dzdHIgIm5pZWRvendvbG9uYSB3YXJ0b8WbxIcgdHlnb2RuaWE6IHJvayAlZCBuaWUgbWEgdHlnb2RuaWEgJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6Njc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIgorbXNnc3RyICIlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTA0ZCIKK21zZ3N0ciAiJTA0ZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo2OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJTA0ZCIKK21zZ3N0ciAiJXMgJTRkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtbW2RheV0gbW9udGhdIHllYXJdXG4iCittc2dzdHIgIiAlcyBbb3BjamVdIFtbW2R6aWXFhF0gbWllc2nEhWNdIHJva11cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vbnRobmFtZT5cbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gPHpuYWN6bmlrX2N6YXN1fG5hendhX21pZXNpxIVjYT5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTcKK21zZ2lkICJEaXNwbGF5IGEgY2FsZW5kYXIsIG9yIHNvbWUgcGFydCBvZiBpdC5cbiIKK21zZ3N0ciAiV3nFm3dpZXRsZW5pZSBrYWxlbmRhcnphIGx1YiBwZXduZWogamVnbyBjesSZxZtjaS5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTgKK21zZ2lkICJXaXRob3V0IGFueSBhcmd1bWVudHMsIGRpc3BsYXkgdGhlIGN1cnJlbnQgbW9udGguXG4iCittc2dzdHIgIkJleiDFvGFkbnljaCBhcmd1bWVudMOzdyB3ecWbd2lldGxhbnkgamVzdCBiaWXFvMSFY3kgbWllc2nEhWMuXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMQorbXNnaWQgIiAtMSwgLS1vbmUgICAgICAgICAgICAgc2hvdyBvbmx5IGEgc2luZ2xlIG1vbnRoIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLTEsIC0tb25lICAgICAgICAgICAgIHd5xZt3aWV0bGVuaWUgdHlsa28gamVkbmVnbyBtaWVzacSFY2EgKGRvbXnFm2xuZSlcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDAyCittc2dpZCAiIC0zLCAtLXRocmVlICAgICAgICAgICBzaG93IHRocmVlIG1vbnRocyBzcGFubmluZyB0aGUgZGF0ZVxuIgorbXNnc3RyICIgLTMsIC0tdGhyZWUgICAgICAgICAgIHd5xZt3aWV0bGVuaWUgdHJ6ZWNoIG1pZXNpxJljeSBwb2tyeXdhasSFY3ljaCBkYXTEmVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDMKK21zZ2lkICIgLW4sIC0tbW9udGhzIDxudW0+ICAgIHNob3cgbnVtIG1vbnRocyBzdGFydGluZyB3aXRoIGRhdGUncyBtb250aFxuIgorbXNnc3RyICIgLW4sIC0tbW9udGhzIDxpbGU+ICAgIHd5xZt3aWV0bGVuaWUgcG9kYW5laiBsaWN6YnkgbWllc2nEmWN5IG9kIGRhdHlcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA0Cittc2dpZCAiIC1TLCAtLXNwYW4gICAgICAgICAgICBzcGFuIHRoZSBkYXRlIHdoZW4gZGlzcGxheWluZyBtdWx0aXBsZSBtb250aHNcbiIKK21zZ3N0ciAiIC1TLCAtLXNwYW4gICAgICAgICAgICByb3pzemVyemVuaWUgZGF0eSBwcnp5IHd5xZt3aWV0bGFuaXUgd2llbHUgbWllc2nEmWN5XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNQorbXNnaWQgIiAtcywgLS1zdW5kYXkgICAgICAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtcywgLS1zdW5kYXkgICAgICAgICAgbmllZHppZWxhIGpha28gcGllcndzenkgZHppZcWEIHR5Z29kbmlhXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNgorbXNnaWQgIiAtbSwgLS1tb25kYXkgICAgICAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtbSwgLS1tb25kYXkgICAgICAgICAgcG9uaWVkemlhxYJlayBqYWtvIHBpZXJ3c3p5IGR6aWXFhCB0eWdvZG5pYVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDcKK21zZ2lkICIgLWosIC0tanVsaWFuICAgICAgICAgIG91dHB1dCBKdWxpYW4gZGF0ZXNcbiIKK21zZ3N0ciAiIC1qLCAtLWp1bGlhbiAgICAgICAgICB3eXBpc3l3YW5pZSBkYXQganVsaWHFhHNraWNoXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwOAorbXNnaWQgIiAteSwgLS15ZWFyICAgICAgICAgICAgc2hvdyB0aGUgd2hvbGUgeWVhclxuIgorbXNnc3RyICIgLXksIC0teWVhciAgICAgICAgICAgIHd5xZt3aWV0bGVuaWUgY2HFgmVnbyByb2t1XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwOQorbXNnaWQgIiAtWSwgLS10d2VsdmUgICAgICAgICAgc2hvdyB0aGUgbmV4dCB0d2VsdmUgbW9udGhzXG4iCittc2dzdHIgIiAtWSwgLS10d2VsdmUgICAgICAgICAgd3nFm3dpZXRsZW5pZSBuYXN0xJlwbnljaCBkd3VuYXN0dSBtaWVzacSZY3lcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDEwCittc2dpZCAiIC13LCAtLXdlZWtbPTxudW0+XSAgICBzaG93IFVTIG9yIElTTy04NjAxIHdlZWsgbnVtYmVyc1xuIgorbXNnc3RyICIgLXcsIC0td2Vla1s9PG51bWVyPl0gIHd5xZt3aWV0bGVuaWUgbnVtZXLDs3cgdHlnb2RuaSBVUyBsdWIgSVNPLTg2MDFcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDExCittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgICAgIC0tY29sb3JbPTxraWVkeT5dIGtvbG9yb3dhbmllIGtvbXVuaWthdMOzdyAoYXV0bywgYWx3YXlzIGx1YiBuZXZlcilcbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbHVlPlxuIgorbXNnc3RyICIgJXMgW29wY2plXSB7TEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUx9PTx3YXJ0b8WbxIc+XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MzIKK21zZ2lkICJGaW5kIGEgZmlsZXN5c3RlbSBieSBsYWJlbCBvciBVVUlELlxuIgorbXNnc3RyICJPZG5hbGV6aWVuaWUgc3lzdGVtdSBwbGlrw7N3IHdnIGV0eWtpZXR5IGx1YiBVVUlELWEuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgJyVzJyIKK21zZ3N0ciAibmllIG1vxbxuYSBvZG5hbGXFusSHICclcyciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjk5Cittc2dpZCAic291cmNlIGRldmljZSIKK21zZ3N0ciAidXJ6xIVkemVuaWUgxbpyw7NkxYJvd2UiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMAorbXNnaWQgIm1vdW50cG9pbnQiCittc2dzdHIgInB1bmt0IG1vbnRvd2FuaWEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxCittc2dpZCAiZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJ0eXAgc3lzdGVtdSBwbGlrw7N3IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDIKK21zZ2lkICJhbGwgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAid3N6eXN0a2llIG9wY2plIG1vbnRvd2FuaWEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMworbXNnaWQgIlZGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICJvcGNqZSBtb250b3dhbmlhIHNwZWN5Zmljem5lIGRsYSBWRlMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNAorbXNnaWQgIkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIm9wY2plIG1vbnRvd2FuaWEgc3BlY3lmaWN6bmUgZGxhIEZTIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDUKK21zZ2lkICJmaWxlc3lzdGVtIGxhYmVsIgorbXNnc3RyICJldHlraWV0YSBzeXN0ZW11IHBsaWvDs3ciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0Cittc2dpZCAiZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICJVVUlEIHN5c3RlbXUgcGxpa8OzdyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA3Cittc2dpZCAicGFydGl0aW9uIGxhYmVsIgorbXNnc3RyICJldHlraWV0YSBwYXJ0eWNqaSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5IG1pc2MtdXRpbHMvbHNibGsuYzoxNjAKK21zZ2lkICJtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICJudW1lciB1cnrEhWR6ZW5pYSBnxYLDs3dueTpwb2JvY3pueSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEwCittc2dpZCAiYWN0aW9uIGRldGVjdGVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiYWtjamEgd3lrcnl0YSBwcnpleiAtLXBvbGwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMQorbXNnaWQgIm9sZCBtb3VudCBvcHRpb25zIHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAic3RhcmUgb3BjamUgbW9udG93YW5pYSB6YXBpc2FuZSBwcnpleiAtLXBvbGwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMgorbXNnaWQgIm9sZCBtb3VudHBvaW50IHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAic3RhcnkgcHVua3QgbW9udG93YW5pYSB6YXBpc2FueSBwcnpleiAtLXBvbGwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMworbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSIKK21zZ3N0ciAicm96bWlhciBzeXN0ZW11IHBsaWvDs3ciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNAorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSBhdmFpbGFibGUiCittc2dzdHIgImRvc3TEmXBueSByb3ptaWFyIHN5c3RlbXUgcGxpa8OzdyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE1Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIHVzZWQiCittc2dzdHIgInXFvHl3YW55IHJvem1pYXIgc3lzdGVtdSBwbGlrw7N3IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTYKK21zZ2lkICJmaWxlc3lzdGVtIHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICJwcm9jZW50b3dlIHXFvHljaWUgc3lzdGVtdSBwbGlrw7N3IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTcKK21zZ2lkICJmaWxlc3lzdGVtIHJvb3QiCittc2dzdHIgImfFgsOzd255IGthdGFsb2cgc3lzdGVtdSBwbGlrw7N3IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTgKK21zZ2lkICJ0YXNrIElEIgorbXNnc3RyICJJRCB6YWRhbmlhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkKK21zZ2lkICJtb3VudCBJRCIKK21zZ3N0ciAiSUQgbW9udG93YW5pYSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwCittc2dpZCAib3B0aW9uYWwgbW91bnQgZmllbGRzIgorbXNnc3RyICJvcGNqb25hbG5lIHBvbGEgbW9udG93YW5pYSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxCittc2dpZCAiVkZTIHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICJmbGFnaSBwcm9wYWdhY2ppIFZGUyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyCittc2dpZCAiZHVtcCg4KSBwZXJpb2QgaW4gZGF5cyBbZnN0YWIgb25seV0iCittc2dzdHIgIm9rcmVzb3dvxZvEhyB3eWtvbnl3YW5pYSBkdW1wKDgpIHcgZG5pYWNoIFt0eWxrbyBmc3RhYl0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMworbXNnaWQgInBhc3MgbnVtYmVyIG9uIHBhcmFsbGVsIGZzY2soOCkgW2ZzdGFiIG9ubHldIgorbXNnc3RyICJudW1lciBwcnplYmllZ3UgcHJ6eSByw7N3bm9sZWfFgnltIGZzY2soOCkgW3R5bGtvIGZzdGFiXSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYWN0aW9uOiAlcyIKK21zZ3N0ciAibmllem5hbmEgb3BjamE6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDMKK21zZ2lkICJtb3VudCIKK21zZ3N0ciAibW9udG93YW5pZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ2Cittc2dpZCAidW1vdW50IgorbXNnc3RyICJvZG1vbnRvd2FuaWUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0OQorbXNnaWQgInJlbW91bnQiCittc2dzdHIgInByemVtb250b3dhbmllIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTIKK21zZ2lkICJtb3ZlIgorbXNnc3RyICJwcnplbmllc2llbmllIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA3NSBzeXMtdXRpbHMvZWplY3QuYzo3MTkKKyM6IHN5cy11dGlscy9tb3VudC5jOjY2OQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmxlIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgemFpbmljam93YcSHIHRhYmxpY3kgbGlibW91bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjgzOSB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo4NAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCByZWFkICVzIgorbXNnc3RyICJuaWUgbW/FvG5hIG9kY3p5dGHEhyAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxNSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDgxCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6OTQgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ4MgorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE4NyBzeXMtdXRpbHMvbW91bnQuYzoxMzQgc3lzLXV0aWxzL21vdW50LmM6MTgyCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjU2IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTU1IHN5cy11dGlscy9zd2Fwb24uYzoyNDQKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNzQgc3lzLXV0aWxzL3N3YXBvbi5jOjczMyBzeXMtdXRpbHMvdW1vdW50LmM6Mjc0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgaXRlcmF0b3IiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB6YWluaWNqb3dhxIcgaXRlcmF0b3JhIGxpYm1vdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDg3Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFiZGlmZiIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHphaW5pY2pvd2HEhyB0YWJsaWN5IHRhYmRpZmYgbGlibW91bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMTUKK21zZ2lkICJwb2xsKCkgZmFpbGVkIgorbXNnc3RyICJwb2xsKCkgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gfCA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZSA8ZGV2aWNlPl0gWy0tdGFyZ2V0IDxwYXRoPiB8IC0tbW91bnRwb2ludCA8ZGlyPl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcGNqZV1cbiIKKyIgJTEkcyBbb3BjamVdIDx1cnrEhWR6ZW5pZT4gfCA8cHVua3RfbW9udG93YW5pYT5cbiIKKyIgJTEkcyBbb3BjamVdIDx1cnrEhWR6ZW5pZT4gPHB1bmt0X21vbnRvd2FuaWE+XG4iCisiICUxJHMgW29wY2plXSBbLS1zb3VyY2UgPHVyesSFZHplbmllPl0gWy0tdGFyZ2V0IDzFm2NpZcW8a2E+IHwgLS1tb3VudHBvaW50IDxrYXRhbG9nPl1cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5NgorbXNnaWQgIkZpbmQgYSAobW91bnRlZCkgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiT2RuYWxlemllbmllICh6YW1vbnRvd2FuZWdvKSBzeXN0ZW11IHBsaWvDs3cuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTkKK21zZ2lkICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtcywgLS1mc3RhYiAgICAgICAgICAgIHN6dWthbmllIHcgc3RhdHljem5laiB0YWJsaWN5IHN5c3RlbcOzdyBwbGlrw7N3XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDAKK21zZ2lkICIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzZWFyY2ggaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzenVrYW5pZSB3IHRhYmxpY3kgemFtb250b3dhbnljaCBzeXN0ZW3Ds3cgcGxpa8Ozd1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAxCittc2dpZCAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIHNlYXJjaCBpbiBrZXJuZWwgdGFibGUgb2YgbW91bnRlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXN5c3RlbXMgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICBzenVrYW5pZSB3IHRhYmxpY3kgasSFZHJhIHphbW9udG93YW55Y2ggc3lzdGVtw7N3IHBsaWvDs3dcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIChkb215xZtsbmUpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDQKK21zZ2lkICIgLXAsIC0tcG9sbFs9PGxpc3Q+XSAgICBtb25pdG9yIGNoYW5nZXMgaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLXAsIC0tcG9sbFs9PGxpc3RhPl0gICBtb25pdG9yb3dhbmllIHptaWFuIHcgdGFibGljeSB6YW1vbnRvd2FueWNoIHN5c3QucGxpa8Ozd1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA1Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPG51bT4gICAgdXBwZXIgbGltaXQgaW4gbWlsbGlzZWNvbmRzIHRoYXQgLS1wb2xsIHdpbGwgYmxvY2tcbiIKK21zZ3N0ciAiIC13LCAtLXRpbWVvdXQgPGlsZT4gICAgZ8Ozcm55IGxpbWl0IG9jemVraXdhbmlhIHByenkgLS1wb2xsICh3IG1pbGlzZWt1bmRhY2gpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDgKK21zZ2lkICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIgorIiAtQSwgLS1hbGwgICAgICAgICAgICAgIHd5xYLEhWN6ZW5pZSB3c3p5c3RraWNoIHdidWRvd2FueWNoIGZpbHRyw7N3LFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgd3lwaXNhbmllIHdzenlzdGtpY2ggc3lzdGVtw7N3IHBsaWvDs3dcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOQorbXNnaWQgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBBU0NJSSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCittc2dzdHIgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHXFvHljaWUgem5ha8OzdyBBU0NJSSBkbyBmb3JtYXRvd2FuaWEgZHJ6ZXdhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTAKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIHd5cGlzeXdhbmllIHJvem1pYXLDs3cgdyBiYWp0YWNoIHphbWlhc3QgZm9ybWF0dVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgY3p5dGVsbmVnbyBkbGEgY3rFgm93aWVrYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjExCittc2dpZCAiIC1DLCAtLW5vY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHdoZW4gY29tcGFyaW5nIHBhdGhzXG4iCittc2dzdHIgIiAtQywgLS1ub2Nhbm9uaWNhbGl6ZSAgIHBvcsOzd255d2FuaWUgxZtjaWXFvGVrIGJleiBkb3ByLiBkbyBwb3N0LiBrYW5vbmljem5lalxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEyCittc2dpZCAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKK21zZ3N0ciAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgd3lwaXN5d2FuaWUgxZtjaWXFvGVrIHcgcG9zdGFjaSBrYW5vbmljem5lalxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEzCittc2dpZCAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGF0ZSB0aGUgb3V0cHV0IG9mIGRmKDEpXG4iCittc2dzdHIgIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRvd2FuaWUgd3lqxZtjaWEgZGYoMSlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNAorbXNnaWQgIiAtZCwgLS1kaXJlY3Rpb24gPHdvcmQ+IGRpcmVjdGlvbiBvZiBzZWFyY2gsICdmb3J3YXJkJyBvciAnYmFja3dhcmQnXG4iCittc2dzdHIgIiAtZCwgLS1kaXJlY3Rpb24gPGphaz4gIGtpZXJ1bmVrIHd5c3p1a2l3YW5pYSAoZm9yd2FyZCBsdWIgYmFja3dhcmQpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTUKK21zZ2lkICIiCisiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgY29udmVydCB0YWdzIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkZXZpY2UgbmFtZXNcbiIKK21zZ3N0ciAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIHphbWlhbmEgem5hY3puaWvDs3cgKExBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMKVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgbmEgbmF6d3kgdXJ6xIVkemXFhFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE3Cittc2dpZCAiIC1GLCAtLXRhYi1maWxlIDxwYXRoPiAgYWx0ZXJuYXRpdmUgZmlsZSBmb3IgLXMsIC1tIG9yIC1rIG9wdGlvbnNcbiIKK21zZ3N0ciAiIC1GLCAtLXRhYi1maWxlIDxwbGlrPiAgYWx0ZXJuYXR5d255IHBsaWsgZGxhIG9wY2ppIC1zLCAtbSBsdWIgLWtcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOAorbXNnaWQgIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIHByaW50IHRoZSBmaXJzdCBmb3VuZCBmaWxlc3lzdGVtIG9ubHlcbiIKK21zZ3N0ciAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgd3lwaXNhbmllIHR5bGtvIHBpZXJ3c3plZ28gem5hbGV6aW9uZWdvIHN5c3QuIHBsaWvDs3dcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOQorbXNnaWQgIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVydCB0aGUgc2Vuc2Ugb2YgbWF0Y2hpbmdcbiIKK21zZ3N0ciAiIC1pLCAtLWludmVydCAgICAgICAgICAgb2R3csOzY2VuaWUgZG9wYXNvd2FuaWFcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDcgc3lzLXV0aWxzL2xzbnMuYzo2MTkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgIHd5asWbY2llIHcgZm9ybWFjaWUgSlNPTlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIxIHN5cy11dGlscy9sc25zLmM6NjIwCittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB3eWrFm2NpZSB3IGZvcm1hY2llIGxpc3R5XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjIKK21zZ2lkICIgLU4sIC0tdGFzayA8dGlkPiAgICAgICB1c2UgYWx0ZXJuYXRpdmUgbmFtZXNwYWNlICgvcHJvYy88dGlkPi9tb3VudGluZm8gZmlsZSlcbiIKK21zZ3N0ciAiIgorIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIHXFvHljaWUgYWx0ZXJuYXR5d25laiBwcnplc3RyemVuaSBuYXp3IChwbGlrdVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgL3Byb2MvPHRpZD4vbW91bnRpbmZvKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIzCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgY29sdW1uIGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGJleiB3eXBpc3l3YW5pYSBuYWfFgsOzd2vDs3cga29sdW1uXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjQKK21zZ2lkICIgLU8sIC0tb3B0aW9ucyA8bGlzdD4gICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IG1vdW50IG9wdGlvbnNcbiIKK21zZ3N0ciAiIC1PLCAtLW9wdGlvbnMgPGxpc3RhPiAgb2dyYW5pY3plbmllIHpiaW9ydSBzeXN0ZW3Ds3cgcGxpa8OzdyB3ZyBvcGNqaSBtb250b3dhbmlhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjUKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICB0aGUgb3V0cHV0IGNvbHVtbnMgdG8gYmUgc2hvd25cbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICAga29sdW1ueSBkbyB3eXBpc2FuaWEgbmEgd3lqxZtjaXVcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNgorbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgd3lqxZtjaWUgdyBmb3JtYWNpZSBrbHVjej1cIndhcnRvxZvEh1wiXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjcKK21zZ2lkICIgLVIsIC0tc3VibW91bnRzICAgICAgICBwcmludCBhbGwgc3VibW91bnRzIGZvciB0aGUgbWF0Y2hpbmcgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgd3lwaXNhbmllIHdzenlzdGtpY2ggcG9kbW9udG93YcWEIGRsYSBwYXN1asSFY3ljaCBmc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI4Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHd5asWbY2llIHcgZm9ybWFjaWUgc3Vyb3d5bVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5Cittc2dpZCAiIgorIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorbXNnc3RyICIiCisiIC1TLCAtLXNvdXJjZSA8xYJhxYRjdWNoPiB1cnrEhWR6ZW5pZSBkbyB6YW1vbnRvd2FuaWEgKG5hendhLCBtYWpvcjptaW5vcixcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMQorbXNnaWQgIiAtVCwgLS10YXJnZXQgPHBhdGg+ICAgIHRoZSBwYXRoIHRvIHRoZSBmaWxlc3lzdGVtIHRvIHVzZVxuIgorbXNnc3RyICIgLVQsIC0tdGFyZ2V0IDzFm2NpZcW8a2E+IMWbY2llxbxrYSBzeXN0ZW11IHBsaWvDs3cgZG8gdcW8eWNpYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMyCittc2dpZCAiIC1NLCAtLW1vdW50cG9pbnQgPGRpcj4gdGhlIG1vdW50cG9pbnQgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtTSwgLS1tb3VudHBvaW50IDxrYXRhbG9nPiBrYXRhbG9nIHB1bmt0dSBtb250b3dhbmlhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzMKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IEZTIHR5cGVzXG4iCittc2dzdHIgIiAtdCwgLS10eXBlcyA8bGlzdGE+ICAgIG9ncmFuaWN6ZW5pZSB6YmlvcnUgc3lzdGVtw7N3IHBsaWvDs3cgd2cgdHlww7N3IEZTXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzQKK21zZ2lkICIgLVUsIC0tdW5pcSAgICAgICAgICAgICBpZ25vcmUgZmlsZXN5c3RlbXMgd2l0aCBkdXBsaWNhdGUgdGFyZ2V0XG4iCittc2dzdHIgIiAtVSwgLS11bmlxICAgICAgICAgICAgIHppZ25vcm93YW5pZSBzeXN0ZW3Ds3cgcGxpa8OzdyB6IHBvd3TDs3J6b255bSBjZWxlbVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM1IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMyBzeXMtdXRpbHMvbHNucy5jOjYyNQorbXNnaWQgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGRvbid0IHRydW5jYXRlIHRleHQgaW4gY29sdW1uc1xuIgorbXNnc3RyICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBiZXogdWNpbmFuaWEgdGVrc3R1IHcga29sdW1uYWNoXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzYKK21zZ2lkICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iCittc2dzdHIgIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIGJleiB3eXBpc3l3YW5pYSBbL2thdGFsb2ddIGRsYSBtb250b3dhxYQgYmluZCBsdWIgYnRyZnNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzOQorbXNnaWQgIiAteCwgLS12ZXJpZnkgICAgICAgICAgIHZlcmlmeSBtb3VudCB0YWJsZSBjb250ZW50IChkZWZhdWx0IGlzIGZzdGFiKVxuIgorbXNnc3RyICIgLXgsIC0tdmVyaWZ5ICAgICAgICAgICBzcHJhd2R6ZW5pZSB6YXdhcnRvxZtjaSB0YWJsaWN5IG1vbnRvd2HFhCAoZG9tecWbbG5hIHRvIGZzdGFiKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQwCittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgbW9yZSBkZXRhaWxzXG4iCittc2dzdHIgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHd5cGlzYW5pZSB3acSZa3N6ZWogaWxvxZtjaSBzemN6ZWfDs8WCw7N3XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBkaXJlY3Rpb24gJyVzJyIKK21zZ3N0ciAibmllem5hbnkga2llcnVuZWsgJyVzJyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTQ0MAorbXNnaWQgImludmFsaWQgVElEIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSB3YXJ0b8WbxIcgVElEIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTA5Cittc2dpZCAiLS1wb2xsIGFjY2VwdHMgb25seSBvbmUgZmlsZSwgYnV0IG1vcmUgc3BlY2lmaWVkIGJ5IC0tdGFiLWZpbGUiCittc2dzdHIgIi0tcG9sbCBwcnp5am11amUgdHlsa28gamVkZW4gcGxpaywgYSBwcnpla2F6YW5vIHdpxJljZWogb3BjasSFIC0tdGFiLWZpbGUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MTMKK21zZ2lkICJvcHRpb25zIC0tdGFyZ2V0IGFuZCAtLXNvdXJjZSBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggY29tbWFuZCBsaW5lIGVsZW1lbnQgdGhhdCBpcyBub3QgYW4gb3B0aW9uIgorbXNnc3RyICJvcGNqaSAtLXRhcmdldCBpIC0tc291cmNlIG5pZSBtb8W8bmEgdcW8eXdhxIcgamVkbm9jemXFm25pZSB6IGVsZW1lbnRlbSBwb2xlY2VuaWEsIGt0w7NyeSBuaWUgamVzdCBvcGNqxIUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1NjIKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBjYWNoZSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHphaW5pY2pvd2HEhyBwYW1pxJljaSBwb2RyxJljem5laiBsaWJtb3VudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTYwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjb2x1bW4gaXMgcmVxdWVzdGVkLCBidXQgLS1wb2xsIGlzIG5vdCBlbmFibGVkIgorbXNnc3RyICJ6YcW8xIVkYW5vIGtvbHVtbnkgJXMsIGFsZSBuaWUgd8WCxIVjem9ubyAtLXBvbGwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTYKK21zZ2lkICJ0YXJnZXQgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJjZWwgcG9kYW55IHdpxJljZWogbmnFvCByYXoiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgb3JkZXI6ICVzIHNwZWNpZmllZCBiZWZvcmUgJXMiCittc2dzdHIgInrFgmEga29sZWpub8WbxIc6ICVzIHBvZGFubyBwcnplZCAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzMworbXNnaWQgInVuZGVmaW5lZCB0YXJnZXQgKGZzX2ZpbGUpIgorbXNnc3RyICJuaWUgb2tyZcWbbG9ubyBjZWx1IChmc19maWxlKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tY2Fub25pY2FsIHRhcmdldCBwYXRoIChyZWFsOiAlcykiCittc2dzdHIgIm5pZXpub3JtYWxpem93YW5hIMWbY2llxbxrYSBjZWx1IChwcmF3ZHppd2E6ICVzKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHRhcmdldDogJW0iCittc2dzdHIgIm5pZW9zacSFZ2FsbnkgY2VsIHd5bWFnYW55IGRvIHJvenJ1Y2h1OiAlbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSB0YXJnZXQ6ICVtIgorbXNnc3RyICJuaWVvc2nEhWdhbG55IGNlbDogJW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTEKK21zZ2lkICJ0YXJnZXQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJjZWwgbmllIGplc3Qga2F0YWxvZ2llbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MworbXNnaWQgInRhcmdldCBleGlzdHMiCittc2dzdHIgImNlbCBpc3RuaWVqZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHNvdXJjZTogJXM9JXMiCittc2dzdHIgIm5pZW9zacSFZ2FsbmUgxbpyw7NkxYJvIHd5bWFnYW5lIGRvIHJvenJ1Y2h1OiAlcz0lcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZTogJXM9JXMiCittc2dzdHIgIm5pZW9zacSFZ2FsbmU6ICVzPSVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzPSVzIHRyYW5zbGF0ZWQgdG8gJXMiCittc2dzdHIgIiVzPSVzIHByemV0xYJ1bWFjem9ubyBuYSAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5MAorbXNnaWQgInVuZGVmaW5lZCBzb3VyY2UgKGZzX3NwZWMpIgorbXNnc3RyICJuaWUgb2tyZcWbbG9ubyDFunLDs2TFgmEgKGZzX3NwZWMpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHNvdXJjZSB0YWc6ICVzIgorbXNnc3RyICJuaWUgb2JzxYJ1Z2l3YW55IHpuYWN6bmlrIMW6csOzZMWCYTogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIHNvdXJjZSAocHNldWRvL25ldCkiCittc2dzdHIgImJleiBzcHJhd2R6YW5pYSDFunLDs2TFgmEgJXMgKHBzZXVkby9zaWXEhykiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgc291cmNlOiAlczogJW0iCittc2dzdHIgIm5pZW9zacSFZ2FsbmUgxbpyw7NkxYJvOiAlczogJW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJpbmQgbW91bnQgc291cmNlICVzIGlzIGEgZGlyZWN0b3J5IG9yIHJlZ3VsYXIgZmlsZSIKK21zZ3N0ciAixbpyw7NkxYJvIG1vbnRvd2FuaWEgYmV6IGJpbmQgJXMgamVzdCBrYXRhbG9naWVtIGx1YiB6d3lrxYJ5bSBwbGlraWVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiDFunLDs2TFgm8gJXMgbmllIGplc3QgdXJ6xIVkemVuaWVtIGJsb2tvd3ltIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBleGlzdHMiCittc2dzdHIgIsW6csOzZMWCbyAlcyBpc3RuaWVqZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzMAorIywgYy1mb3JtYXQKK21zZ2lkICJWRlMgb3B0aW9uczogJXMiCittc2dzdHIgIm9wY2plIFZGUzogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlMgb3B0aW9uczogJXMiCittc2dzdHIgIm9wY2plIEZTOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2Vyc3BhY2Ugb3B0aW9uczogJXMiCittc2dzdHIgIm9wY2plIHByemVzdHJ6ZW5pIHXFvHl0a293bmlrYTogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc3dhcGFyZWEgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICJuaWUgb2JzxYJ1Z2l3YW5hIHBvbGl0eWthIGthc293YW5pYSBwcnplc3RyemVuaSB3eW1pYW55OiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI2MAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzd2FwYXJlYSBwcmlvcml0eSBvcHRpb24iCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgb3BjamkgcHJpb3J5dGV0dSBwcnplc3RyemVuaSB3eW1pYW55IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBGUyB0eXBlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAiYmV6IHNwcmF3ZHphbmlhIHR5cHUgRlMgJXMgKHBzZXVkby9zaWXEhykiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MDYKK21zZ2lkICJcIm5vbmVcIiBGUyB0eXBlIGlzIHJlY29tbWVuZGVkIGZvciBiaW5kIG9yIG1vdmUgb3ByYXRpb25zIG9ubHkiCittc2dzdHIgInR5cCBGUyBcIm5vbmVcIiBqZXN0IHphbGVjYW55IHR5bGtvIGRsYSBvcGVyYWNqaSBiaW5kIGx1YiBtb3ZlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIiVzIHd5Z2zEhWRhIG5hIG5pZSBvYnPFgnVnaXdhbnkgcHJ6ZXogYmllxbzEhWNlIGrEhWRybyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyMCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIxCittc2dpZCAiY2Fubm90IGRldGVjdCBvbi1kaXNrIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHd5a3J5xIcgdHlwdSBzeXN0ZW11IHBsaWvDs3cgbmEgZHlza3UiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgbWF0Y2ggd2l0aCBvbi1kaXNrICVzIgorbXNnc3RyICIlcyBuaWUgemdhZHphIHNpxJkgeiAlcyBuYSBkeXNrdSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib24tZGlzayAlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIiVzIG5hIGR5c2t1IHd5Z2zEhWRhIG5hIG5pZSBvYnPFgnVnaXdhbnkgcHJ6ZXogYmllxbzEhWNlIGrEhWRybyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMworIywgYy1mb3JtYXQKK21zZ2lkICJGUyB0eXBlIGlzICVzIgorbXNnc3RyICJ0eXAgRlMgdG8gJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjb21tZW5kZWQgcm9vdCBGUyBwYXNzbm8gaXMgMSAoY3VycmVudCBpcyAlZCkiCittc2dzdHIgInphbGVjYW5lIHBhc3NubyBkbGEgZ8WCw7N3bmVnbyBGUyB0byAxIChvYmVjbmllICVkKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBwYXJzZSBlcnJvciIKK21zZ2lkX3BsdXJhbCAiJWQgcGFyc2UgZXJyb3JzIgorbXNnc3RyWzBdICIlZCBixYLEhWQgc2vFgmFkbmkiCittc2dzdHJbMV0gIiVkIGLFgsSZZHkgc2vFgmFkbmkiCittc2dzdHJbMl0gIiVkIGLFgsSZZMOzdyBza8WCYWRuaSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICIsICVkIGVycm9yIgorbXNnaWRfcGx1cmFsICIsICVkIGVycm9ycyIKK21zZ3N0clswXSAiLCAlZCBixYLEhWQiCittc2dzdHJbMV0gIiwgJWQgYsWCxJlkeSIKK21zZ3N0clsyXSAiLCAlZCBixYLEmWTDs3ciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCAlZCB3YXJuaW5nIgorbXNnaWRfcGx1cmFsICIsICVkIHdhcm5pbmdzIgorbXNnc3RyWzBdICIsICVkIG9zdHJ6ZcW8ZW5pZSIKK21zZ3N0clsxXSAiLCAlZCBvc3RyemXFvGVuaWEiCittc2dzdHJbMl0gIiwgJWQgb3N0cnplxbxlxYQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzcywgbm8gZXJyb3JzIG9yIHdhcm5pbmdzIGRldGVjdGVkXG4iCittc2dzdHIgIlN1a2NlcywgbmllIHd5a3J5dG8gYsWCxJlkw7N3IGFuaSBvc3RyemXFvGXFhFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgImAlcyAtLWhlbHAnIHd5xZt3aWV0bGkgd2nEmWNlaiBpbmZvcm1hY2ppLlxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMwNAorbXNnaWQgImVtcHR5IGxvbmcgb3B0aW9uIGFmdGVyIC1sIG9yIC0tbG9uZyBhcmd1bWVudCIKK21zZ3N0ciAicHVzdGEgb3BjamEgZMWCdWdhIHBvIG9wY2ppIC1sIGx1YiAtLWxvbmciCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzI1Cittc2dpZCAidW5rbm93biBzaGVsbCBhZnRlciAtcyBvciAtLXNoZWxsIGFyZ3VtZW50IgorbXNnc3RyICJuaWV6bmFuYSBwb3fFgm9rYSBwbyBvcGNqaSAtcyBsdWIgLS1zaGVsbCIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1dIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSAtb3wtLW9wdGlvbnMgPG9wdHN0cmluZz4gW29wdGlvbnNdIFstLV0gPHBhcmFtZXRlcnM+XG4iCittc2dzdHIgIiIKKyIgJTEkcyA8b3B0c3RyaW5nPiA8cGFyYW1ldHJ5PlxuIgorIiAlMSRzIFtvcGNqZV0gWy0tXSA8b3B0c3RyaW5nPiA8cGFyYW1ldHJ5PlxuIgorIiAlMSRzIFtvcGNqZV0gLW98LS1vcHRpb25zIDxvcHRzdHJpbmc+IFtvcGNqZV0gWy0tXSA8cGFyYW1ldHJ5PlxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzOAorbXNnaWQgIlBhcnNlIGNvbW1hbmQgb3B0aW9ucy5cbiIKK21zZ3N0ciAiQW5hbGl6YSBvcGNqaSBwb2xlY2VuaWEuXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQxCittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIGFsbG93IGxvbmcgb3B0aW9ucyBzdGFydGluZyB3aXRoIHNpbmdsZSAtXG4iCittc2dzdHIgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgICB6ZXp3b2xlbmllIG5hIGTFgnVnaWUgb3BjamUgeiBqZWRueW0gLSBuYSBwb2N6xIV0a3VcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDIKK21zZ2lkICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiAgdGhlIGxvbmcgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAtbCwgLS1sb25nb3B0aW9ucyA8b3BjamU+ICAgICBkxYJ1Z2llIG9wY2plLCBqYWtpZSBtYWrEhSBiecSHIHJvenBvem5hd2FuZVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MworbXNnaWQgIiAtbiwgLS1uYW1lIDxwcm9nbmFtZT4gICAgICAgICB0aGUgbmFtZSB1bmRlciB3aGljaCBlcnJvcnMgYXJlIHJlcG9ydGVkXG4iCittc2dzdHIgIiAgLW4sIC0tbmFtZSA8cHJvZ3JhbT4gICAgICAgICBuYXp3YSwgeiBqYWvEhSBtYWrEhSBiecSHIHpnxYJhc3phbmUgYsWCxJlkeVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NAorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgICB0aGUgc2hvcnQgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICBrcsOzdGtpZSBvcGNqZSwgamFraWUgbWFqxIUgYnnEhyByb3pwb3puYXdhbmVcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDUKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBlcnJvciByZXBvcnRpbmcgYnkgZ2V0b3B0KDMpXG4iCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICB3ecWCxIVjemVuaWUga29tdW5pa2F0w7N3IGLFgsSZZMOzdyB6IGdldG9wdCgzKVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NgorbXNnaWQgIiAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICBubyBub3JtYWwgb3V0cHV0XG4iCittc2dzdHIgIiAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICBiZXogbm9ybWFsbmVnbyB3eWrFm2NpYVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NworbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICBzZXQgcXVvdGluZyBjb252ZW50aW9ucyB0byB0aG9zZSBvZiA8c2hlbGw+XG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8cG93xYJva2E+ICAgICAgICAgdXN0YXdpZW5pZSBrb253ZW5jamkgY3l0b3dhbmlhIDxwb3fFgm9raT5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDgKK21zZ2lkICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgdGVzdCBmb3IgZ2V0b3B0KDEpIHZlcnNpb25cbiIKK21zZ3N0ciAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIHNwcmF3ZHplbmllIHdlcnNqaSBnZXRvcHQoMSlcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDkKK21zZ2lkICIgLXUsIC0tdW5xdW90ZWQgICAgICAgICAgICAgICAgZG8gbm90IHF1b3RlIHRoZSBvdXRwdXRcbiIKK21zZ3N0ciAiIC11LCAtLXVucXVvdGVkICAgICAgICAgICAgICAgIGJleiBjeXRvd2FuaWEgd3lqxZtjaWFcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozOTkgbWlzYy11dGlscy9nZXRvcHQuYzo0NTkKK21zZ2lkICJtaXNzaW5nIG9wdHN0cmluZyBhcmd1bWVudCIKK21zZ3N0ciAiYnJhayBwYXJhbWV0cnUgb3B0c3RyaW5nIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1NAorbXNnaWQgImludGVybmFsIGVycm9yLCBjb250YWN0IHRoZSBhdXRob3IuIgorbXNnc3RyICJixYLEhWQgd2V3bsSZdHJ6bnksIHByb3N6xJkgc2tvbnRha3Rvd2HEhyBzacSZIGF1dG9yZW0uIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWwgJXM7IHZhbGlkIHNpZ25hbHM6IgorbXNnc3RyICJuaWV6bmFueSBzeWduYcWCICVzOyBwb3ByYXduZSBzeWduYcWCeToiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwMgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwaWQ+fDxuYW1lPi4uLlxuIgorbXNnc3RyICIgJXMgW29wY2plXSA8cGlkPnw8bmF6d2E+Li4uXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwNQorbXNnaWQgIkZvcmNpYmx5IHRlcm1pbmF0ZSBhIHByb2Nlc3MuXG4iCittc2dzdHIgIld5bXVzemVuaWUgemFrb8WEY3plbmlhIHByb2Nlc3UuXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwOAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkbyBub3QgcmVzdHJpY3QgdGhlIG5hbWUtdG8tcGlkIGNvbnZlcnNpb24gdG8gcHJvY2Vzc2VzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIHRoZSBzYW1lIHVpZCBhcyB0aGUgcHJlc2VudCBwcm9jZXNzXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBiZXogb2dyYW5pY3phbmlhIHByemVrc3p0YcWCY2VuaWEgbmF6d2EtcGlkIGRvIHByb2Nlc8Ozd1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgeiB0eW0gc2FteW0gdWlkZW0sIGNvIHByb2NlcyBiaWXFvMSFY3lcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzEwCittc2dpZCAiIC1zLCAtLXNpZ25hbCA8c2lnbmFsPiAgc2VuZCB0aGlzIDxzaWduYWw+IGluc3RlYWQgb2YgU0lHVEVSTVxuIgorbXNnc3RyICIgLXMsIC0tc2lnbmFsIDxzeWduYcWCPiAgd3lzxYJhbmllIHBvZGFuZWdvIDxzeWduYcWCdT4gemFtaWFzdCBTSUdURVJNXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMgorbXNnaWQgIiAtcSwgLS1xdWV1ZSA8dmFsdWU+ICAgIHVzZSBzaWdxdWV1ZSgyKSwgbm90IGtpbGwoMiksIGFuZCBwYXNzIDx2YWx1ZT4gYXMgZGF0YVxuIgorbXNnc3RyICIgLXEsIC0tcXVldWUgPHdhcnRvxZvEhz4gIHXFvHljaWUgc2lncXVldWUoMikgemFtaWFzdCBraWxsKDIpIGkgcHJ6ZWthemFuaWUgPHdhcnRvxZtjaT5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE0Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgcHJpbnQgcGlkcyB3aXRob3V0IHNpZ25hbGluZyB0aGVtXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICAgICAgIHd5cGlzYW5pZSBwaWTDs3cgYmV6IHd5c3nFgmFuaWEgc3lnbmHFgnVcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE1Cittc2dpZCAiIC1sLCAtLWxpc3RbPTxzaWduYWw+XSAgbGlzdCBzaWduYWwgbmFtZXMsIG9yIGNvbnZlcnQgYSBzaWduYWwgbnVtYmVyIHRvIGEgbmFtZVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdFs9PHN5Z25hxYI+XSAgd3lwaXNhbmllIG5hencgc3lnbmHFgsOzdyBsdWIgemFtaWFuYSBudW1lcnUgbmEgbmF6d8SZXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNgorbXNnaWQgIiAtTCwgLS10YWJsZSAgICAgICAgICAgIGxpc3Qgc2lnbmFsIG5hbWVzIGFuZCBudW1iZXJzXG4iCittc2dzdHIgIiAtTCwgLS10YWJsZSAgICAgICAgICAgIGxpc3RhIG5hencgaSBudW1lcsOzdyBzeWduYcWCw7N3XG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNworbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IHBpZHMgdGhhdCB3aWxsIGJlIHNpZ25hbGVkXG4iCittc2dzdHIgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHd5cGlzYW5pZSBwaWTDs3csIGRvIGt0w7NyeWNoIG1hIGJ5xIcgd3lzxYJhbnkgc3lnbmHFglxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozNjcgbWlzYy11dGlscy9raWxsLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsOiAlcyIKK21zZ3N0ciAibmllem5hbnkgc3lnbmHFgjogJXMiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM4NyBtaXNjLXV0aWxzL2tpbGwuYzozOTAgbWlzYy11dGlscy9raWxsLmM6Mzk5CisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MTEgbWlzYy11dGlscy9raWxsLmM6NDM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIlcyBpICVzIHd5a2x1Y3phasSFIHNpxJkgd3phamVtbmllIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozOTYgbWlzYy11dGlscy9raWxsLmM6NDM4IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTc0CisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjAgdGVybS11dGlscy9hZ2V0dHkuYzo3ODkgdGVybS11dGlscy9hZ2V0dHkuYzo3OTgKK21zZ2lkICJub3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAiemEgbWHFgm8gYXJndW1lbnTDs3ciCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQwOQorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAib3BjamEgJyVzJyB3eW1hZ2EgYXJndW1lbnR1IgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MTQgc3lzLXV0aWxzL2VqZWN0LmM6MjA1IHN5cy11dGlscy9lamVjdC5jOjIzMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2ODkgc3lzLXV0aWxzL3R1bmVscC5jOjE2MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTY4CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTc1IHN5cy11dGlscy90dW5lbHAuYzoxODIgc3lzLXV0aWxzL3R1bmVscC5jOjE4OQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE5NSBzeXMtdXRpbHMvdHVuZWxwLmM6MTk5IHN5cy11dGlscy90dW5lbHAuYzoyMDYKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyMzEgdGVybS11dGlscy9zZXR0ZXJtLmM6MjEzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxNgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTEgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk4CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMDAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzEyIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxNAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzIzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMzMSB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzYyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNzMgdGVybS11dGlscy9zZXR0ZXJtLmM6NTM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0MAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTQ1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NzQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU3OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODQgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg5CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTQgdGVybS11dGlscy9zZXR0ZXJtLmM6NTk5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwNworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NjQwCittc2dpZCAiYXJndW1lbnQgZXJyb3IiCittc2dzdHIgImLFgsSFZCBhcmd1bWVudHUiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNpZ25hbCBuYW1lIG9yIG51bWJlcjogJXMiCittc2dzdHIgImLFgsSZZG5hIG5hendhIGx1YiBudW1lciBzeWduYcWCdTogJXMiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCAlZCB0byBwaWQgJWRcbiIKK21zZ3N0ciAid3lzecWCYW5pZSBzeWduYcWCdSAlZCBkbyBwaWR1ICVkXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQ2MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCB0byAlcyBmYWlsZWQiCittc2dzdHIgInd5c8WCYW5pZSBzeWduYcWCdSBkbyAlcyBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjUwNworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCBwcm9jZXNzIFwiJXNcIiIKK21zZ3N0ciAibmllIHpuYWxlemlvbm8gcHJvY2VzdSBcIiVzXCIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjIyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgbmFtZTogJXMiCittc2dzdHIgIm5pZXpuYW5hIG5hendhIGthdGVnb3JpaTogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpb3JpdHkgbmFtZTogJXMiCittc2dzdHIgIm5pZXpuYW5hIG5hendhIHByaW9yeXRldHU6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVubG9nICVzOiBwYXRobmFtZSB0b28gbG9uZyIKK21zZ3N0ciAib3BlbmxvZyAlczogxZtjaWXFvGthIHpieXQgZMWCdWdhIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI2NworIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgJXMiCittc2dzdHIgInNvY2tldCAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgbmFtZSAlcyBwb3J0ICVzOiAlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHJvendpxIV6YcSHIG5hend5ICVzIHBvcnQgJXM6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMyMworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY29ubmVjdCB0byAlcyBwb3J0ICVzIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcG/FgsSFY3p5xIcgZG8gJXMgbmEgcG9ydCAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4aW11bSBpbnB1dCBsaW5lcyAoJWQpIGV4Y2VlZGVkIgorbXNnc3RyICJwcnpla3JvY3pvbm8gbWFrc3ltYWxuxIUgbGljemLEmSBsaW5paSB3ZWrFm2NpYSAoJWQpIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjQ4NworbXNnaWQgInNlbmQgbWVzc2FnZSBmYWlsZWQiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB3eXPFgmHEhyBrb211bmlrYXR1IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU1OAorIywgYy1mb3JtYXQKK21zZ2lkICJzdHJ1Y3R1cmVkIGRhdGEgSUQgJyVzJyBpcyBub3QgdW5pcXVlIgorbXNnc3RyICJJRCBkYW55Y2ggc3RydWt0dXJhbG55Y2ggJyVzJyBuaWUgamVzdCB1bmlrYXRvd3kiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tc2QtaWQgd2FzIG5vdCBzcGVjaWZpZWQgZm9yIC0tc2QtcGFyYW0gJXMiCittc2dzdHIgIm5pZSBwb2Rhbm8gLS1zZC1pZCBkbGEgLS1zZC1wYXJhbSAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NTQKK21zZ2lkICJsb2NhbHRpbWUoKSBmYWlsZWQiCittc2dzdHIgImxvY2FsdGltZSgpIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaG9zdG5hbWUgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAibmF6d2EgaG9zdGEgJyVzJyBqZXN0IHpieXQgZMWCdWdhIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc3MAorIywgYy1mb3JtYXQKK21zZ2lkICJ0YWcgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiem5hY3puaWsgJyVzJyBqZXN0IHpieXQgZMWCdWdpIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjgzMworIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyB1bmtub3duIG9wdGlvbiBhcmd1bWVudDogJXMiCittc2dzdHIgInppZ29yb3dhbm8gbmllem5hbsSFIG9wY2rEmTogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzOiB1c2luZyBhdXRvbWF0aWMgZXJyb3JzIgorbXNnc3RyICJixYLEmWRueSBhcmd1bWVudDogJXM6IHXFvHljaWUgYsWCxJlkw7N3IGF1dG9tYXR5Y3pueWNoIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjk5NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bWVzc2FnZT5dXG4iCittc2dzdHIgIiAlcyBbb3BjamVdIFs8a29tdW5pa2F0Pl1cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo5OTcKK21zZ2lkICJFbnRlciBtZXNzYWdlcyBpbnRvIHRoZSBzeXN0ZW0gbG9nLlxuIgorbXNnc3RyICJXcHJvd2FkemVuaWUga29tdW5pa2F0w7N3IGRvIGxvZ3Ugc3lzdGVtb3dlZ28uXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMAorbXNnaWQgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgbG9nIHRoZSBsb2dnZXIgY29tbWFuZCdzIFBJRFxuIgorbXNnc3RyICIgLWkgICAgICAgICAgICAgICAgICAgICAgIGxvZ293YW5pZSBQSUQtdSBwb2xlY2VuaWEgbG9nZ2VyYVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDEKK21zZ2lkICIgICAgIC0taWRbPTxpZD5dICAgICAgICAgIGxvZyB0aGUgZ2l2ZW4gPGlkPiwgb3Igb3RoZXJ3aXNlIHRoZSBQSURcbiIKK21zZ3N0ciAiICAgICAtLWlkWz08aWQ+XSAgICAgICAgICBsb2dvd2FuaWUgcG9kYW5lZ28gPGlkPiAoZG9tecWbbG5pZSBsb2dvd2FueSBqZXN0IFBJRClcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAyCittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICAgICBsb2cgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZVxuIgorbXNnc3RyICIgLWYsIC0tZmlsZSA8cGxpaz4gICAgICAgIHphbG9nb3dhbmllIHphd2FydG/Fm2NpIHBvZGFuZWdvIHBsaWt1XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMworbXNnaWQgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgZG8gbm90IGxvZyBlbXB0eSBsaW5lcyB3aGVuIHByb2Nlc3NpbmcgZmlsZXNcbiIKK21zZ3N0ciAiIC1lLCAtLXNraXAtZW1wdHkgICAgICAgICBiZXogbG9nb3dhbmlhIHB1c3R5Y2ggbGluaWkgcHJ6eSBwcnpldHdhcnphbml1IHBsaWvDs3dcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA0Cittc2dpZCAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgd3JpdGUgdGhlIGxvZ1xuIgorbXNnc3RyICIgICAgIC0tbm8tYWN0ICAgICAgICAgICAgIHd5a29uYW5pZSB3c3p5c3RraWVnbyBwb3phIHphcGlzZW0gZG8gbG9ndVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDUKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIG1hcmsgZ2l2ZW4gbWVzc2FnZSB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBvem5hY3plbmllIGtvbXVuaWthdHUgcG9kYW55bSBwcmlvcnl0ZXRlbVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDYKK21zZ2lkICIgICAgIC0tb2N0ZXQtY291bnQgICAgICAgIHVzZSByZmM2NTg3IG9jdGV0IGNvdW50aW5nXG4iCittc2dzdHIgIiAgICAgLS1vY3RldC1jb3VudCAgICAgICAgdcW8eWNpZSB6bGljemFuaWEgb2t0ZXTDs3cgd2cgcmZjNjU4N1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDcKK21zZ2lkICIgICAgIC0tcHJpby1wcmVmaXggICAgICAgIGxvb2sgZm9yIGEgcHJlZml4IG9uIGV2ZXJ5IGxpbmUgcmVhZCBmcm9tIHN0ZGluXG4iCittc2dzdHIgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAgc3p1a2FuaWUgcHJlZmlrc3UgdyBrYcW8ZGVqIGxpbmlpIGN6eXRhbmVqIHogc3RkaW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA4Cittc2dpZCAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICBvdXRwdXQgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvciBhcyB3ZWxsXG4iCittc2dzdHIgIiIKKyIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIHd5cGlzYW5pZSBrb211bmlrYXTDs3cgdGFrxbxlIG5hIHN0YW5kYXJkb3dlIHd5asWbY2llXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpYWdub3N0eWN6bmVcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA5Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICBtYXhpbXVtIHNpemUgZm9yIGEgc2luZ2xlIG1lc3NhZ2VcbiIKK21zZ3N0ciAiIC1TLCAtLXNpemUgPHJvem1pYXI+ICAgICBtYWtzeW1hbG55IHJvem1pYXIgcG9qZWR5bmN6ZWdvIGtvbXVuaWthdHVcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEwCittc2dpZCAiIC10LCAtLXRhZyA8dGFnPiAgICAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorbXNnc3RyICIgLXQsIC0tdGFnIDx6bmFjem5paz4gICAgIG96bmFjemFuaWUga2HFvGRlaiBsaW5paSBwb2RhbnltIHpuYWN6bmlraWVtXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMQorbXNnaWQgIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorbXNnc3RyICIgLW4sIC0tc2VydmVyIDxuYXp3YT4gICAgIHphcGlzIGRvIGRhbmVnbyB6ZGFsbmVnbyBzZXJ3ZXJhIHN5c2xvZ2FcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEyCittc2dpZCAiIC1QLCAtLXBvcnQgPHBvcnQ+ICAgICAgICB1c2UgdGhpcyBwb3J0IGZvciBVRFAgb3IgVENQIGNvbm5lY3Rpb25cbiIKK21zZ3N0ciAiIC1QLCAtLXBvcnQgPHBvcnQ+ICAgICAgICB1xbx5Y2llIHBvZGFuZWdvIGRvIHBvxYLEhWN6ZW5pYSBVRFAgbHViIFRDUFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTMKK21zZ2lkICIgLVQsIC0tdGNwICAgICAgICAgICAgICAgIHVzZSBUQ1Agb25seVxuIgorbXNnc3RyICIgLVQsIC0tdGNwICAgICAgICAgICAgICAgIHXFvHljaWUgdHlsa28gVENQXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNAorbXNnaWQgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCittc2dzdHIgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdcW8eWNpZSB0eWxrbyBVRFBcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE1Cittc2dpZCAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICB1c2UgdGhlIG9ic29sZXRlIEJTRCBzeXNsb2cgcHJvdG9jb2xcbiIKK21zZ3N0ciAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICB1xbx5Y2llIHByemVzdGFyemHFgmVnbyBwcm90b2tvxYJ1IHN5c2xvZ2EgQlNEXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNgorbXNnaWQgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIHVzZSB0aGUgc3lzbG9nIHByb3RvY29sICh0aGUgZGVmYXVsdCBmb3IgcmVtb3RlKTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNuaXA+IGNhbiBiZSBub3RpbWUsIG9yIG5vdHEsIGFuZC9vciBub2hvc3RcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1yZmM1NDI0Wz08c25pcD5dICAgdcW8eWNpZSBwcm90b2tvxYJ1IHN5c2xvZyAoZG9tecWbbG5lIGRsYSB6ZGFsbnljaCk7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiBtb8W8ZSBiecSHOiBub3RpbWUsIG5vdHEgaS9sdWIgbm9ob3N0XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxOAorbXNnaWQgIiAgICAgLS1zZC1pZCA8aWQ+ICAgICAgICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgSURcbiIKK21zZ3N0ciAiICAgICAtLXNkLWlkIDxpZD4gICAgICAgICBJRCBkYW55Y2ggc3RydWt0dXJhbG55Y2ggd2cgcmZjNTQyNFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTkKK21zZ2lkICIgICAgIC0tc2QtcGFyYW0gPGRhdGE+ICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIG5hbWU9dmFsdWVcbiIKK21zZ3N0ciAiICAgICAtLXNkLXBhcmFtIDxkYW5lPiAgICBkYW5lIHN0cnVrdHVyYWxuZSB3ZyByZmM1NDI0IHcgcG9zdGFjaSBuYXp3YT13YXJ0b8WbxIdcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDIwCittc2dpZCAiICAgICAtLW1zZ2lkIDxtc2dpZD4gICAgICBzZXQgcmZjNTQyNCBtZXNzYWdlIGlkIGZpZWxkXG4iCittc2dzdHIgIiAgICAgLS1tc2dpZCA8bXNnaWQ+ICAgICAgdXN0YXdpZW5pZSBwb2xhIGlkIHdpYWRvbW/Fm2NpIHdnIHJmYzU0MjRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDIxCittc2dpZCAiIC11LCAtLXNvY2tldCA8c29ja2V0PiAgICB3cml0ZSB0byB0aGlzIFVuaXggc29ja2V0XG4iCittc2dzdHIgIiAtdSwgLS1zb2NrZXQgPGduaWF6ZG8+ICAgemFwaXMgZG8gcG9kYW5lZ28gZ25pYXpkYSB1bmlrc293ZWdvXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMgorbXNnaWQgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50IGNvbm5lY3Rpb24gZXJyb3JzIHdoZW4gdXNpbmcgVW5peCBzb2NrZXRzXG4iCittc2dzdHIgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHd5cGlzeXdhbmllIGLFgsSZZMOzdyBwb8WCxIVjemVuaWEgcG9kY3phcyB1xbx5Y2lhIGduaWF6ZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pa3Nvd3ljaFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjUKK21zZ2lkICIgICAgIC0tam91cm5hbGRbPTxmaWxlPl0gIHdyaXRlIGpvdXJuYWxkIGVudHJ5XG4iCittc2dzdHIgIiAgICAgLS1qb3VybmFsZFs9PHBsaWs+XSAgemFwaXMgd3Bpc3Ugam91cm5hbGRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGUgJXMiCittc2dzdHIgInBsaWsgJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTEyNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBpZCIKK21zZ3N0ciAibmllenJvenVtaWHFgnkgaWQiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE0NQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtZXNzYWdlIHNpemUiCittc2dzdHIgIm5pZXpyb3p1bWlhxYJ5IHJvem1pYXIga29tdW5pa2F0dSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTgwCittc2dpZCAiLS1tc2dpZCBjYW5ub3QgY29udGFpbiBzcGFjZSIKK21zZ3N0ciAiLS1tc2dpZCBuaWUgbW/FvGUgemF3aWVyYcSHIHNwYWNqaSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjAyCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc3RydWN0dXJlZCBkYXRhIElEOiAnJXMnIgorbXNnc3RyICJixYLEmWRueSBJRCBkYW55Y2ggc3RydWt0dXJhbG55Y2g6ICclcyciCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIwNworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBwYXJhbWV0ZXI6ICclcyciCittc2dzdHIgImLFgsSZZG55IHBhcmFtZXRyIGRhbnljaCBzdHJ1a3R1cmFsbnljaDogJyVzJyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjE4Cittc2dpZCAiLS1maWxlIDxmaWxlPiBhbmQgPG1lc3NhZ2U+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIG1lc3NhZ2UgaXMgaWdub3JlZCIKK21zZ3N0ciAiLS1maWxlIDxwbGlrPiBvcmF6IDxrb211bmlrYXQ+IHd5a2x1Y3phasSFIHNpxJkgd3phamVtbmllLCB6aWdvcm93YW5vIGtvbXVuaWthdCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjI1Cittc2dpZCAiam91cm5hbGQgZW50cnkgY291bGQgbm90IGJlIHdyaXR0ZW4iCittc2dzdHIgIm5pZSBtb8W8bmEgemFwaXNhxIcgd3Bpc3Ugam91cm5hbGQiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM1NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxzdHJpbmc+IFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIiAlcyBbb3BjamVdIDzFgmHFhGN1Y2g+IFs8cGxpaz4uLi5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM1OAorbXNnaWQgIkRpc3BsYXkgbGluZXMgYmVnaW5uaW5nIHdpdGggYSBzcGVjaWZpZWQgc3RyaW5nLlxuIgorbXNnc3RyICJXecWbd2lldGxhbmllIGxpbmlpIHphY3p5bmFqxIVjeWNoIHNpxJkgb2Qgb2tyZcWbbG9uZWdvIMWCYcWEY3VjaGEuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MQorbXNnaWQgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgdXNlIHRoZSBhbHRlcm5hdGl2ZSBkaWN0aW9uYXJ5XG4iCittc2dzdHIgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgdcW8eWNpZSBhbHRlcm5hdHl3bmVnbyBzxYJvd25pa2FcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYyCittc2dpZCAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBjb21wYXJlIG9ubHkgYmxhbmtzIGFuZCBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLWQsIC0tYWxwaGFudW0gICAgICAgICAgIHBvcsOzd255d2FuaWUgdHlsa28gem5ha8OzdyBiaWHFgnljaCBpIGFsZmFudW1lcnljem55Y2hcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYzCittc2dpZCAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorbXNnc3RyICIgLWYsIC0taWdub3JlLWNhc2UgICAgICAgIGlnbm9yb3dhbmllIHLDs8W8bmljIHcgd2llbGtvxZtjaSBsaXRlclxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjQKK21zZ2lkICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiAgIGRlZmluZSB0aGUgc3RyaW5nLXRlcm1pbmF0aW9uIGNoYXJhY3RlclxuIgorbXNnc3RyICIgLXQsIC0tdGVybWluYXRlIDx6bmFrPiAgIG9rcmXFm2xlbmllIHpuYWt1IGtvxYRjesSFY2VnbyDFgmHFhGN1Y2hcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NworbXNnaWQgImRldmljZSBuYW1lIgorbXNnc3RyICJuYXp3YSB1cnrEhWR6ZW5pYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OAorbXNnaWQgImludGVybmFsIGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAid2V3bsSZdHJ6bmEgbmF6d2EgdXJ6xIVkemVuaWEgdyBqxIVkcnplIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU5Cittc2dpZCAiaW50ZXJuYWwgcGFyZW50IGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAid2V3bsSZdHJ6bmEgbmF6d2EgdXJ6xIVkemVuaWEgcm9kemljYSB3IGrEhWRyemUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIgc3lzLXV0aWxzL3pyYW1jdGwuYzo4NAorbXNnaWQgIndoZXJlIHRoZSBkZXZpY2UgaXMgbW91bnRlZCIKK21zZ3N0ciAibWllanNjZSB6YW1vbnRvd2FuaWEgdXJ6xIVkemVuaWEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMKK21zZ2lkICJmaWxlc3lzdGVtIExBQkVMIgorbXNnc3RyICJldHlraWV0YSBzeXN0ZW11IHBsaWvDs3ciCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSBVVUlEIgorbXNnc3RyICJVVUlEIHR5cHUgcGFydHljamkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjcKK21zZ2lkICJwYXJ0aXRpb24gTEFCRUwiCittc2dzdHIgImV0eWtpZXRhIHBhcnR5Y2ppIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcxCittc2dpZCAicmVhZC1haGVhZCBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJvZGN6eXQgeiBnw7NyeSBkbGEgdXJ6xIVkemVuaWEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzIgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NQorbXNnaWQgInJlYWQtb25seSBkZXZpY2UiCittc2dzdHIgInVyesSFZHplbmllIHR5bGtvIGRvIG9kY3p5dHUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzMKK21zZ2lkICJyZW1vdmFibGUgZGV2aWNlIgorbXNnc3RyICJ1cnrEhWR6ZW5pZSB3eWptb3dhbG5lIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc0Cittc2dpZCAicmVtb3ZhYmxlIG9yIGhvdHBsdWcgZGV2aWNlICh1c2IsIHBjbWNpYSwgLi4uKSIKK21zZ3N0ciAidXJ6xIVkemVuaWUgd3lqbW93YWxuZSBsdWIgaG90cGx1ZyAoVVNCLCBQQ01DSUEuLi4pIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc1Cittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgInVyesSFZHplbmllIG9icm90b3dlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc2Cittc2dpZCAiYWRkcyByYW5kb21uZXNzIgorbXNnc3RyICJkb2RhbmllIGxvc293b8WbY2kiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzcKK21zZ2lkICJkZXZpY2UgaWRlbnRpZmllciIKK21zZ3N0ciAiaWRlbnR5ZmlrYXRvciB1cnrEhWR6ZW5pYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OAorbXNnaWQgImRpc2sgc2VyaWFsIG51bWJlciIKK21zZ3N0ciAibnVtZXIgc2VyeWpueSBkeXNrdSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OQorbXNnaWQgInNpemUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAicm96bWlhciB1cnrEhWR6ZW5pYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MAorbXNnaWQgInN0YXRlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgInN0YW4gdXJ6xIVkemVuaWEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODIKK21zZ2lkICJncm91cCBuYW1lIgorbXNnc3RyICJuYXp3YSBncnVweSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MworbXNnaWQgImRldmljZSBub2RlIHBlcm1pc3Npb25zIgorbXNnc3RyICJ1cHJhd25pZW5pYSBwbGlrdSB1cnrEhWR6ZW5pYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NAorbXNnaWQgImFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgInd5csOzd25hbmllIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg1Cittc2dpZCAibWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAibWluaW1hbG55IHJvem1pYXIgd2Uvd3kiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODYKK21zZ2lkICJvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICJvcHR5bWFsbnkgcm96bWlhciB3ZS93eSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NworbXNnaWQgInBoeXNpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJyb3ptaWFyIHNla3RvcmEgZml6eWN6bmVnbyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OAorbXNnaWQgImxvZ2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgInJvem1pYXIgc2VrdG9yYSBsb2dpY3puZWdvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5Cittc2dpZCAiSS9PIHNjaGVkdWxlciBuYW1lIgorbXNnc3RyICJuYXp3YSBwbGFuaXN0eSB3ZS93eSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MAorbXNnaWQgInJlcXVlc3QgcXVldWUgc2l6ZSIKK21zZ3N0ciAicm96bWlhciBrb2xlamtpIMW8xIVkYcWEIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkxCittc2dpZCAiZGV2aWNlIHR5cGUiCittc2dzdHIgInR5cCB1cnrEhWR6ZW5pYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MgorbXNnaWQgImRpc2NhcmQgYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAid3lyw7N3bmFuaWUgdXN1d2FuaWEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMKK21zZ2lkICJkaXNjYXJkIGdyYW51bGFyaXR5IgorbXNnc3RyICJyb3pkemllbGN6b8WbxIcgdXN1d2FuaWEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTQKK21zZ2lkICJkaXNjYXJkIG1heCBieXRlcyIKK21zZ3N0ciAibWFrcy4gYmFqdMOzdyB1c3V3YW5pYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NQorbXNnaWQgImRpc2NhcmQgemVyb2VzIGRhdGEiCittc2dzdHIgImRhbmUgdXN1d2FuaWEgemVyYW1pIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk2Cittc2dpZCAid3JpdGUgc2FtZSBtYXggYnl0ZXMiCittc2dzdHIgInphcGlzYW5pZSB0YWtpY2ggc2FteWNoIG1ha3MuIGJhanTDs3ciCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTcKK21zZ2lkICJ1bmlxdWUgc3RvcmFnZSBpZGVudGlmaWVyIgorbXNnc3RyICJ1bmlrYWxueSBpZGVudHlmaWthdG9yIG5vxZtuaWthIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk4Cittc2dpZCAiSG9zdDpDaGFubmVsOlRhcmdldDpMdW4gZm9yIFNDU0kiCittc2dzdHIgIkhvc3Q6S2FuYcWCOkNlbDpMdW4gZGxhIFNDU0kiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTkKK21zZ2lkICJkZXZpY2UgdHJhbnNwb3J0IHR5cGUiCittc2dzdHIgInR5cCB0cmFuc3BvcnR1IGRvIHVyesSFZHplbmlhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAwCittc2dpZCAiZGUtZHVwbGljYXRlZCBjaGFpbiBvZiBzdWJzeXN0ZW1zIgorbXNnc3RyICLFgmHFhGN1Y2ggcG9kc3lzdGVtw7N3IGJleiBwb3d0w7NyemXFhCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMQorbXNnaWQgImRldmljZSByZXZpc2lvbiIKK21zZ3N0ciAid2Vyc2phIHVyesSFZHplbmlhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAyCittc2dpZCAiZGV2aWNlIHZlbmRvciIKK21zZ3N0ciAicHJvZHVjZW50IHVyesSFZHplbmlhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTI3NgorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRldmljZSBkaXJlY3RvcnkgaW4gc3lzZnMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBvdHdvcnp5xIcga2F0YWxvZ3UgdXJ6xIVkemVuaWEgdyBzeXNmcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjb21wb3NlIHN5c2ZzIHBhdGgiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgdXR3b3J6ecSHIMWbY2llxbxraSBzeXNmcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIGxpbmsiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgb2Rjenl0YcSHIGRvd2nEhXphbmlhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIHV6eXNrYcSHIG5hend5IHN5c2ZzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB3aG9sZS1kaXNrIGRldmljZSBudW1iZXIiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgcG9icmHEhyBudW1lcnUgdXJ6xIVkemVuaWEgY2HFgmVnbyBkeXNrdSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NTEgbWlzYy11dGlscy9sc2Jsay5jOjE1NTMgbWlzYy11dGlscy9sc2Jsay5jOjE1NzgKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTgwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsaXN0ICclcyciCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgbGlzdHkgJyVzJyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgZXhjbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICJsaXN0YSB3eWtsdWN6b255Y2ggdXJ6xIVkemXFhCB6Ynl0IGTFgnVnYSAobGltaXQgbGljemJ5IHVyesSFZHplxYQgdG8gJWQpIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBpbmNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgImxpc3RhIGRvxYLEhWN6b255Y2ggdXJ6xIVkemXFhCB6Ynl0IGTFgnVnYSAobGltaXQgbGljemJ5IHVyesSFZHplxYQgdG8gJWQpIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxNiBzeXMtdXRpbHMvd2RjdGwuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIgorbXNnc3RyICIgJXMgW29wY2plXSBbPHVyesSFZHplbmllPiAuLi5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjE5Cittc2dpZCAiTGlzdCBpbmZvcm1hdGlvbiBhYm91dCBibG9jayBkZXZpY2VzLlxuIgorbXNnc3RyICJJbmZvcm1hY2plIG8gdXJ6xIVkemVuaWFjaCBibG9rb3d5Y2guXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIyCittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgd3lwaXNhbmllIHdzenlzdGtpY2ggdXJ6xIVkemXFhFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNAorbXNnaWQgIiAtZCwgLS1ub2RlcHMgICAgICAgICBkb24ndCBwcmludCBzbGF2ZXMgb3IgaG9sZGVyc1xuIgorbXNnc3RyICIgLWQsIC0tbm9kZXBzICAgICAgICAgIGJleiB3eXBpc3l3YW5pYSB1cnrEhWR6ZcWEIHphbGXFvG55Y2ggaSBuYWRyesSZZG55Y2hcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjUKK21zZ2lkICIgLUQsIC0tZGlzY2FyZCAgICAgICAgcHJpbnQgZGlzY2FyZCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIC1ELCAtLWRpc2NhcmQgICAgICAgICB3eXBpc2FuaWUgbW/FvGxpd2/Fm2NpIHVzdXdhbmlhIHNla3RvcsOzd1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNgorbXNnaWQgIiAtZSwgLS1leGNsdWRlIDxsaXN0PiBleGNsdWRlIGRldmljZXMgYnkgbWFqb3IgbnVtYmVyIChkZWZhdWx0OiBSQU0gZGlza3MpXG4iCittc2dzdHIgIiAtZSwgLS1leGNsdWRlIDxsaXN0YT4gd3lrbHVjemVuaWUgdXJ6xIVkemXFhCB3ZyBudW1lcnUgZ8WCLiAoZG9tecWbbG5pZTogcmFtZHlza2kpXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI3Cittc2dpZCAiIC1mLCAtLWZzICAgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtZiwgLS1mcyAgICAgICAgICAgICAgd3lwaXNhbmllIGluZm9ybWFjamkgbyBzeXN0ZW1hY2ggcGxpa8Ozd1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyOAorbXNnaWQgIiAtaSwgLS1hc2NpaSAgICAgICAgICB1c2UgYXNjaWkgY2hhcmFjdGVycyBvbmx5XG4iCittc2dzdHIgIiAtaSwgLS1hc2NpaSAgICAgICAgICAgdcW8eXdhbmllIHd5xYLEhWN6bmllIHpuYWvDs3cgQVNDSUlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjkKK21zZ2lkICIgLUksIC0taW5jbHVkZSA8bGlzdD4gc2hvdyBvbmx5IGRldmljZXMgd2l0aCBzcGVjaWZpZWQgbWFqb3IgbnVtYmVyc1xuIgorbXNnc3RyICIgLUksIC0taW5jbHVkZSA8bGlzdGE+IHBva2F6YW5pZSB0eWxrbyB1cnrEhWR6ZcWEIG8gcG9kYW55Y2ggbnVtZXJhY2ggZ8WCw7N3bnljaFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMAorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICB3eWrFm2NpZSB3IGZvcm1hY2llIEpTT05cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzEKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgIHd5asWbY2llIHcgZm9ybWFjaWUgbGlzdHlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzIKK21zZ2lkICIgLW0sIC0tcGVybXMgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIC1tLCAtLXBlcm1zICAgICAgICAgICB3eXBpc2FuaWUgaW5mb3JtYWNqaSBvIHVwcmF3bmllbmlhY2hcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICBiZXogd3lwaXN5d2FuaWEgbmFnxYLDs3drw7N3XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM0Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RhPiAga29sdW1ueSBkbyB3eXBpc2FuaWFcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzUKK21zZ2lkICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgb3V0cHV0IGFsbCBjb2x1bW5zXG4iCittc2dzdHIgIiAtTywgLS1vdXRwdXQtYWxsICAgICB3eXBpc2FuaWUgd3N6eXN0a2ljaCBrb2x1bW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzYKK21zZ2lkICIgLXAsIC0tcGF0aHMgICAgICAgICAgcHJpbnQgY29tcGxldGUgZGV2aWNlIHBhdGhcbiIKK21zZ3N0ciAiIC1wLCAtLXBhdGhzICAgICAgICAgICB3eXBpc3l3YW5pZSBwZcWCbmVqIMWbY2llxbxraSB1cnrEhWR6ZcWEXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM5Cittc2dpZCAiIC1zLCAtLWludmVyc2UgICAgICAgIGludmVyc2UgZGVwZW5kZW5jaWVzXG4iCittc2dzdHIgIiAtcywgLS1pbnZlcnNlICAgICAgICAgb2R3csOzY2VuaWUgemFsZcW8bm/Fm2NpXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQwCittc2dpZCAiIC1TLCAtLXNjc2kgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IFNDU0kgZGV2aWNlc1xuIgorbXNnc3RyICIgLVMsIC0tc2NzaSAgICAgICAgICAgIHd5cGlzYW5pZSBpbmZvcm1hY2ppIG8gdXJ6xIVkemVuaWFjaCBTQ1NJXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQxCittc2dpZCAiIC10LCAtLXRvcG9sb2d5ICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHRvcG9sb2d5XG4iCittc2dzdHIgIiAtdCwgLS10b3BvbG9neSAgICAgICAgd3lwaXNhbmllIGluZm9ybWFjamkgbyB0b3BvbG9naWlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDIKK21zZ2lkICIgLXgsIC0tc29ydCA8Y29sdW1uPiAgc29ydCBvdXRwdXQgYnkgPGNvbHVtbj5cbiIKK21zZ3N0ciAiIC14LCAtLXNvcnQgPGtvbHVtbmE+ICBzb3J0b3dhbmllIHd5asWbY2lhIHdnIDxrb2x1bW55PlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NyBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTkgc3lzLXV0aWxzL2xzbnMuYzo2MzIKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTk2IHN5cy11dGlscy96cmFtY3RsLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tb3V0cHV0KTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkRvc3TEmXBuZSBrb2x1bW55IChkbGEgLS1vdXRwdXQpOlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWNjZXNzIHN5c2ZzIGRpcmVjdG9yeTogJXMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBkb3N0YcSHIGRvIGthdGFsb2d1IHN5c2ZzOiAlcyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzMKK21zZ2lkICJjb21tYW5kIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgInBvbGVjZW5pZSBwcm9jZXN1IHRyenltYWrEhWNlZ28gYmxva2FkxJkiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc0Cittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIlBJRCBwcm9jZXN1IHRyenltYWrEhWNlZ28gYmxva2FkxJkiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc1Cittc2dpZCAia2luZCBvZiBsb2NrOiBGTF9GTE9DSyBvciBGTF9QT1NJWC4iCittc2dzdHIgInJvZHphaiBibG9rYWR5OiBGTF9GTE9DSyBsdWIgRkxfUE9TSVguIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NgorbXNnaWQgInNpemUgb2YgdGhlIGxvY2siCittc2dzdHIgInJvem1pYXIgYmxva2FkeSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzcKK21zZ2lkICJsb2NrIGFjY2VzcyBtb2RlIgorbXNnc3RyICJ0cnliIGRvc3TEmXB1IGRvIGJsb2thZHkiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc4Cittc2dpZCAibWFuZGF0b3J5IHN0YXRlIG9mIHRoZSBsb2NrOiAwIChub25lKSwgMSAoc2V0KSIKK21zZ3N0ciAib2Jvd2nEhXprb3dvxZvEhyBibG9rYWR5OiAwIChicmFrKSwgMSAodXN0YXdpb25hKSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzkKK21zZ2lkICJyZWxhdGl2ZSBieXRlIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAid3pnbMSZZG55IG9mZnNldCBibG9rYWR5IHcgYmFqdGFjaCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODAKK21zZ2lkICJlbmRpbmcgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICJrb8WEY293eSBvZmZzZXQgYmxva2FkeSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODEKK21zZ2lkICJwYXRoIG9mIHRoZSBsb2NrZWQgZmlsZSIKK21zZ3N0ciAixZtjaWXFvGthIGRvIHphYmxva293YW5lZ28gcGxpa3UiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgyCittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGJsb2NraW5nIHRoZSBsb2NrIgorbXNnc3RyICJQSUQgcHJvY2VzdSB0cnp5bWFqxIVjZWdvIGJsb2thZMSZIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyNTkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSUQiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgaWRlbnR5ZmlrYXRvcmEiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4MSBzeXMtdXRpbHMvbnNlbnRlci5jOjIzMgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwaWQiCittc2dzdHIgIm5pZXpyb3p1bWlhxYJ5IHBpZCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6Mjg0Cittc2dpZCAiKHVua25vd24pIgorbXNnc3RyICIobmllem5hbmUpIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyOTMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgIm5pZXpyb3p1bWlhxYJ5IG9mZnNldCBwb2N6xIV0a3UiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjMwMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbmQiCittc2dzdHIgIm5pZXpyb3p1bWlhxYJ5IG9mZnNldCBrb8WEY2EiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNAorbXNnaWQgIkxpc3QgbG9jYWwgc3lzdGVtIGxvY2tzLlxuIgorbXNnc3RyICJMaXN0YSBsb2thbG55Y2ggYmxva2FkIHN5c3RlbW93eWNoLlxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDgKK21zZ2lkICIgLWksIC0tbm9pbmFjY2Vzc2libGUgICBpZ25vcmUgbG9ja3Mgd2l0aG91dCByZWFkIHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiAtaSwgLS1ub2luYWNjZXNzaWJsZSAgIGlnbm9yb3dhbmllIGJsb2thZCBiZXogcHJhd2Egb2Rjenl0dVxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDkgc3lzLXV0aWxzL2xzbnMuYzo2MjEKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBiZXogd3lwaXN5d2FuaWEgbmFnxYLDs3drw7N3XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMCBzeXMtdXRpbHMvbHNucy5jOjYyMgorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICAgb2tyZcWbbGVuaWUga29sdW1uIGRvIHd5cGlzYW5pYSBuYSB3eWrFm2NpdVxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTEKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBkaXNwbGF5IG9ubHkgbG9ja3MgaGVsZCBieSB0aGlzIHByb2Nlc3NcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgd3nFm3dpZXRsYW5pZSB0eWxrbyBibG9rYWQgdHJ6eW1hbnljaCBwcnpleiB0ZW4gcHJvY2VzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMiBzeXMtdXRpbHMvbHNucy5jOjYyNAorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgd3lqxZtjaWUgdyBmb3JtYWNpZSBzdXJvd3ltXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjU3MCBzY2hlZHV0aWxzL2NocnQuYzo0Nzggc2NoZWR1dGlscy9pb25pY2UuYzoxNzcKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE2MyBzeXMtdXRpbHMvbHNucy5jOjY5OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NgorbXNnaWQgImludmFsaWQgUElEIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSB3YXJ0b8WbxIcgUElELXUiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg1Cittc2dpZCAiR2VuZXJhdGUgbWFnaWMgY29va2llcyBmb3IgeGF1dGguXG4iCittc2dzdHIgIkdlbmVyb3dhbmllIG1hZ2ljem55Y2ggY2lhc3RlY3playBkbGEgeGF1dGguXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg4Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICB1c2UgZmlsZSBhcyBhIGNvb2tpZSBzZWVkXG4iCittc2dzdHIgIiAtZiwgLS1maWxlIDxwbGlrPiAgICAgdcW8eWNpZSBwbGlrdSBqYWtvIHphcm9ka2EgY2lhc3RlY3prYVxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OQorbXNnaWQgIiAtbSwgLS1tYXgtc2l6ZSA8bnVtPiAgbGltaXQgaG93IG11Y2ggaXMgcmVhZCBmcm9tIHNlZWQgZmlsZXNcbiIKK21zZ3N0ciAiIC1tLCAtLW1heC1zaXplIDxpbGU+ICBsaW1pdCBvZGN6eXR1IHogcGxpa8OzdyB6YXJvZGvDs3dcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6OTAKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgd3lqYcWbbmlhbmllLCBjbyBzacSZIGR6aWVqZVxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiR290ICV6dSBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICV6dSBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIlBvYnJhbm8gJXp1IGJhanQgeiAlc1xuIgorbXNnc3RyWzFdICJQb2JyYW5vICV6dSBiYWp0eSB6ICVzXG4iCittc2dzdHJbMl0gIlBvYnJhbm8gJXp1IGJhanTDs3cgeiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvc2luZyAlcyBmYWlsZWQiCittc2dzdHIgInphbWtuacSZY2llICVzIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTY0IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTQ2IHN5cy11dGlscy9mc3RyaW0uYzozMDgKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZW5ndGgiCittc2dzdHIgIm5pZXpyb3p1bWlhxYJhIGTFgnVnb8WbxIciCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE3NworbXNnaWQgIi0tbWF4LXNpemUgaWdub3JlZCB3aGVuIHVzZWQgd2l0aG91dCAtLWZpbGUiCittc2dzdHIgIlppZ25vcm93YW5vIC0tbWF4LXNpemUgdcW8eXRlIGJleiAtLWZpbGUiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE4NQorIywgYy1mb3JtYXQKK21zZ2lkICJHb3QgJWQgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlZCBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIlBvYnJhbm8gJWQgYmFqdCB6ICVzXG4iCittc2dzdHJbMV0gIlBvYnJhbm8gJWQgYmFqdHkgeiAlc1xuIgorbXNnc3RyWzJdICJQb2JyYW5vICVkIGJhanTDs3cgeiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3ltbGluazogJXMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBvZGN6eXRhxIcgZG93acSFemFuaWEgc3ltYm9saWN6bmVnbzogJXMiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgLSBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5XG4iCittc2dzdHIgIiVzIC0gbmllIG1hIHRha2llZ28gcGxpa3UgYW5pIGthdGFsb2d1XG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGF0aG5hbWU+Li4uXG4iCittc2dzdHIgIiAlcyBbb3BjamVdIDzFm2NpZcW8a2E+Li4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzYKK21zZ2lkICJGb2xsb3cgYSBwYXRobmFtZSB1bnRpbCBhIHRlcm1pbmFsIHBvaW50IGlzIGZvdW5kLlxuIgorbXNnc3RyICJQb2TEhcW8YW5pZSB6YSDFm2NpZcW8a8SFIGRvIHpuYWxlemllbmlhIHB1bmt0dSBrb8WEY293ZWdvLlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzM5Cittc2dpZCAiIgorIiAtaCwgLS1oZWxwICAgICAgICAgIGRpc3BsYXlzIHRoaXMgaGVscCB0ZXh0XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICBzaG93IG1vdW50IHBvaW50IGRpcmVjdG9yaWVzIHdpdGggYSAnRCdcbiIKKyIgLW0sIC0tbW9kZXMgICAgICAgICBzaG93IHRoZSBtb2RlIGJpdHMgb2YgZWFjaCBmaWxlXG4iCisiIC1vLCAtLW93bmVycyAgICAgICAgc2hvdyBvd25lciBhbmQgZ3JvdXAgbmFtZSBvZiBlYWNoIGZpbGVcbiIKKyIgLWwsIC0tbG9uZyAgICAgICAgICB1c2UgYSBsb25nIGxpc3RpbmcgZm9ybWF0ICgtbSAtbyAtdikgXG4iCisiIC1uLCAtLW5vc3ltbGlua3MgICAgZG9uJ3QgZm9sbG93IHN5bWxpbmtzXG4iCisiIC12LCAtLXZlcnRpY2FsICAgICAgdmVydGljYWwgYWxpZ24gb2YgbW9kZXMgYW5kIG93bmVyc1xuIgorbXNnc3RyICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgd3nFm3dpZXRsZW5pZSB0ZWdvIG9waXN1XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgd3lwaXNhbmllIGluZm9ybWFjamkgbyB3ZXJzamkgaSB6YWtvxYRjemVuaWVcbiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICB3eXBpc2FuaWUga2F0YWxvZ8OzdyBwdW5rdMOzdyBtb250b3dhbmlhIHogJ0QnXG4iCisiIC1tLCAtLW1vZGVzICAgICAgICAgd3lwaXNhbmllIGJpdMOzdyB1cHJhd25pZcWEIGthxbxkZWdvIHBsaWt1XG4iCisiIC1vLCAtLW93bmVycyAgICAgICAgd3lwaXNhbmllIHfFgmHFm2NpY2llbGEgaSBncnVweSBrYcW8ZGVnbyBwbGlrdVxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIHXFvHljaWUgZMWCdWdpZWdvIGZvcm1hdHUgbGlzdHkgKC1tIC1vIC12KVxuIgorIiAtbiwgLS1ub3N5bWxpbmtzICAgIGJleiBwb2TEhcW8YW5pYSB6YSBkb3dpxIV6YW5pYW1pIHN5bWJvbGljem55bWlcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICBwaW9ub3dlIHd5csOzd25hbmllIHVwcmF3bmllxYQgaSB3xYJhxZtjaWNpZWxpXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MDgKK21zZ2lkICJwYXRobmFtZSBhcmd1bWVudCBpcyBtaXNzaW5nIgorbXNnc3RyICJicmFrIGFyZ3VtZW50dSBixJlkxIVjZWdvIMWbY2llxbxrxIUiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTQgc3lzLXV0aWxzL2xzbnMuYzo3NjQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgVUlEIGNhY2hlIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6eWR6aWVsacSHIHBhbWnEmWNpIHBvZHLEmWN6bmVqIFVJRC3Ds3ciCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTcKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR0lEIGNhY2hlIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6eWR6aWVsacSHIHBhbWnEmWNpIHBvZHLEmWN6bmVqIEdJRC3Ds3ciCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4Y2VlZGVkIGxpbWl0IG9mIHN5bWxpbmtzIgorbXNnc3RyICIlczogcHJ6ZWtyb2N6b25vIGxpbWl0IGRvd2nEhXphxYQgc3ltYm9saWN6bnljaCIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAiJXM6IG5pZSBqZXN0IGRvd2nEhXphbmllbSBzeW1ib2xpY3pueW0iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWRsaW5rIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHJlYWRsaW5rIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5saW5rIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHVubGluayBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN5bWxpbmtpbmcgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogdHdvcnplbmllIGRvd2nEhXphbmlhIHN5bWJvbGljem5lZ28gZG8gJXMgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVuYW1lIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHptaWFuYSBuYXp3eSBuYSAlcyBuaWUgcG93aW9kxYJhIHNpxJkiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGV4cHJlc3Npb24+IDxyZXBsYWNlbWVudD4gPGZpbGU+Li4uXG4iCittc2dzdHIgIiAlcyBbb3BjamVdIDx3eXJhxbxlbmllPiA8emFtaWVubmlrPiA8cGxpaz4uLi5cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjIKK21zZ2lkICJSZW5hbWUgZmlsZXMuXG4iCittc2dzdHIgIlptaWFuYSBuYXp3IHBsaWvDs3cuXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTI1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgb3Bpc3l3YW5pZSB3eWtvbnl3YW55Y2ggY3p5bm5vxZtjaVxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyNgorbXNnaWQgIiAtcywgLS1zeW1saW5rICAgIGFjdCBvbiB0aGUgdGFyZ2V0IG9mIHN5bWxpbmtzXG4iCittc2dzdHIgIiAtcywgLS1zeW1saW5rICAgIGR6aWHFgmFuaWUgbmEgY2VsdSBkb3dpxIV6YcWEIHN5bWJvbGljem55Y2hcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcyCittc2dpZCAiQSBkYWVtb24gZm9yIGdlbmVyYXRpbmcgVVVJRHMuXG4iCittc2dzdHIgIkRlbW9uIGRvIGdlbmVyb3dhbmlhIFVVSUQtw7N3LlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzQKK21zZ2lkICIgLXAsIC0tcGlkIDxwYXRoPiAgICAgICAgcGF0aCB0byBwaWQgZmlsZVxuIgorbXNnc3RyICIgLXAsIC0tcGlkIDzFm2NpZcW8a2E+ICAgICDFm2NpZcW8a2EgZG8gcGxpa3UgcGlkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NQorbXNnaWQgIiAtcywgLS1zb2NrZXQgPHBhdGg+ICAgICBwYXRoIHRvIHNvY2tldFxuIgorbXNnc3RyICIgLXMsIC0tc29ja2V0IDzFm2NpZcW8a2E+ICDFm2NpZcW8a2EgZG8gZ25pYXpkYVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzYKK21zZ2lkICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKK21zZ3N0ciAiIC1ULCAtLXRpbWVvdXQgPGxpY3piYT4gIG9rcmXFm2xlbmllIGxpbWl0dSBjemFzdSBuaWVha3R5d25vxZtjaVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzcKK21zZ2lkICIgLWssIC0ta2lsbCAgICAgICAgICAgICAga2lsbCBydW5uaW5nIGRhZW1vblxuIgorbXNnc3RyICIgLWssIC0ta2lsbCAgICAgICAgICAgICAgemFiaWNpZSBkemlhxYJhasSFY2VnbyBkZW1vbmFcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc4Cittc2dpZCAiIC1yLCAtLXJhbmRvbSAgICAgICAgICAgIHRlc3QgcmFuZG9tLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiIC1yLCAtLXJhbmRvbSAgICAgICAgICAgIHNwcmF3ZHplbmllIGdlbmVyYXRvcmEgbG9zb3dlZ29cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICAgICAgICBzcHJhd2R6ZW5pZSBnZW5lcmF0b3JhIG9wYXJ0ZWdvIG5hIGN6YXNpZVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODAKK21zZ2lkICIgLW4sIC0tdXVpZHMgPG51bT4gICAgICAgcmVxdWVzdCBudW1iZXIgb2YgdXVpZHNcbiIKK21zZ3N0ciAiIC1uLCAtLXV1aWRzIDxsaWN6YmE+ICAgIMW8xIVkYW5pZSBva3JlxZtsb25laiBsaWN6YnkgVVVJRC3Ds3dcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgxCittc2dpZCAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKK21zZ3N0ciAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGJleiB0d29yemVuaWEgcGxpa3UgcGlkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MgorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkbyBub3QgZGFlbW9uaXplIHVzaW5nIGRvdWJsZS1mb3JrXG4iCittc2dzdHIgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBiZXogZGVtb25pem93YW5pYSBwcnpleiBwb2R3w7NqbmUgd3lrb25hbmllIGZvcmtcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgzCittc2dpZCAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIGRvIG5vdCBjcmVhdGUgbGlzdGVuaW5nIHNvY2tldFxuIgorbXNnc3RyICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gYmV6IHR3b3J6ZW5pYSBnbmlhemRhIG5hc8WCdWNodWrEhWNlZ29cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjg0Cittc2dpZCAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHJ1biBpbiBkZWJ1Z2dpbmcgbW9kZVxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgdXJ1Y2hvbWllbmllIHcgdHJ5YmllIGRpYWdub3N0eWN6bnltXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4NQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0dXJuIG9uIHF1aWV0IG1vZGVcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHfFgsSFY3plbmllIHRyeWJ1IGNpY2hlZ29cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjExOAorbXNnaWQgImJhZCBhcmd1bWVudHMiCittc2dzdHIgImLFgsSZZG5lIGFyZ3VtZW50eSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEyNQorbXNnaWQgInNvY2tldCIKK21zZ3N0ciAic29ja2V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTM2Cittc2dpZCAiY29ubmVjdCIKK21zZ3N0ciAiY29ubmVjdCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE1NgorbXNnaWQgIndyaXRlIgorbXNnc3RyICJ6YXBpcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE2NAorbXNnaWQgInJlYWQgY291bnQiCittc2dzdHIgIm9kY3p5dGFueSByb3ptaWFyIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTcwCittc2dpZCAiYmFkIHJlc3BvbnNlIGxlbmd0aCIKK21zZ3N0ciAiYsWCxJlkbmEgZMWCdWdvxZvEhyBvZHBvd2llZHppIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjIxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBsb2NrICVzIgorbXNnc3RyICJuaWUgbW/FvG5hIHphYmxva293YcSHICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjQ2Cittc2dpZCAiY291bGRuJ3QgY3JlYXRlIHVuaXggc3RyZWFtIHNvY2tldCIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHV0d29yennEhyBzdHJ1bWllbmlvd2VnbyBnbmlhemRhIHVuaWtzb3dlZ28iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgYmluZCB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIGRvd2nEhXphxIcgZ25pYXpkYSB1bmlrc293ZWdvICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mjk4Cittc2dpZCAicmVjZWl2aW5nIHNpZ25hbCBmYWlsZWQiCittc2dzdHIgIm9kZWJyYW5pZSBzeWduYcWCdSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozMTEKK21zZ2lkICJ0aW1lZCBvdXQiCittc2dzdHIgInVwxYJ5bsSFxYIgbGltaXQgY3phc3UiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNDUgc3lzLXV0aWxzL2Zsb2NrLmM6MjcxCittc2dpZCAiY2Fubm90IHNldCB1cCB0aW1lciIKK21zZ3N0ciAibmllIG1vxbxuYSB1c3Rhd2nEhyBzdG9wZXJhIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgInV1aWRkIGRhZW1vbiBpcyBhbHJlYWR5IHJ1bm5pbmcgYXQgcGlkICVzIgorbXNnc3RyICJkZW1vbiB1dWlkZCBqdcW8IGR6aWHFgmEgeiBwaWRlbSAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBsaXN0ZW4gb24gdW5peCBzb2NrZXQgJXMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSByb3pwb2N6xIXEhyBuYXPFgnVjaGl3YW5pYSBuYSBnbmllxbpkemllIHVuaWtzb3d5bSAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgdHJ1bmNhdGUgZmlsZTogJXMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBvYmNpxIXEhyBwbGlrdTogJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODYKK21zZ2lkICJzZF9saXN0ZW5fZmRzKCkgZmFpbGVkIgorbXNnc3RyICJzZF9saXN0ZW5fZmRzKCkgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzg5Cittc2dpZCAibm8gZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgc3lzdGVtY3RsIHN0YXR1cyB1dWlkZC5zb2NrZXQiCittc2dzdHIgIm5pZSBvZGVicmFubyBkZXNrcnlwdG9yw7N3IHBsaWvDs3csIHByb3N6xJkgc3ByYXdkemnEhyBzeXN0ZW1jdGwgc3RhdHVzIHV1aWRkLnNvY2tldCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM5MgorbXNnaWQgInRvbyBtYW55IGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAib2RlYnJhbm8gemJ5dCBkdcW8byBkZXNrcnlwdG9yw7N3IHBsaWvDs3csIHByb3N6xJkgc3ByYXdkemnEhyB1dWlkZC5zb2NrZXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MjAgdGVybS11dGlscy9zY3JpcHQuYzo0NTUKK21zZ2lkICJwb2xsIGZhaWxlZCIKK21zZ3N0ciAicG9sbCBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZW91dCBbJWQgc2VjXVxuIgorbXNnc3RyICJwcnpla3JvY3pvbnkgbGltaXQgY3phc3UgWyVkIHNdXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDMgdGV4dC11dGlscy9jb2x1bW4uYzo0MTQKK21zZ2lkICJyZWFkIGZhaWxlZCIKK21zZ3N0ciAib2Rjenl0IG5pZSBwb3dpw7NkxYIgc2nEmSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciByZWFkaW5nIGZyb20gY2xpZW50LCBsZW4gPSAlZCIKK21zZ3N0ciAiYsWCxIVkIG9kY3p5dHUgb2Qga2xpZW50YSwgZMWCdWdvxZvEhyA9ICVkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZCwgaW5jb21pbmcgbnVtID0gJWRcbiIKK21zZ3N0ciAib3BlcmFjamEgJWQsIG9kZWJyYW5hIGxpY3piYSA9ICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkXG4iCittc2dzdHIgIm9wZXJhY2phICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRDogJXNcbiIKK21zZ3N0ciAiV3lnZW5lcm93YW55IFVVSUQgY3phc293eTogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgcmFuZG9tIFVVSUQ6ICVzXG4iCittc2dzdHIgIld5Z2VuZXJvd2FueSBVVUlEIGxvc293eTogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dzdHJbMF0gIld5Z2VuZXJvd2FueSBVVUlEIGN6YXNvd3kgJXMgaSAlZCBrb2xlam55XG4iCittc2dzdHJbMV0gIld5Z2VuZXJvd2FueSBVVUlEIGN6YXNvd3kgJXMgaSAlZCBrb2xlam5lXG4iCittc2dzdHJbMl0gIld5Z2VuZXJvd2FueSBVVUlEIGN6YXNvd3kgJXMgaSAlZCBrb2xlam55Y2hcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgJWQgVVVJRDpcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkICVkIFVVSURzOlxuIgorbXNnc3RyWzBdICJXeWdlbmVyb3dhbm8gJWQgVVVJRDpcbiIKK21zZ3N0clsxXSAiV3lnZW5lcm93YW5vICVkIFVVSUQteTpcbiIKK21zZ3N0clsyXSAiV3lnZW5lcm93YW5vICVkIFVVSUQtw7N3OlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgb3BlcmF0aW9uICVkXG4iCittc2dzdHIgIk5pZXByYXdpZMWCb3dhIG9wZXJhY2phICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCByZXBseSBsZW5ndGggZnJvbSBzZXJ2ZXIgJWQiCittc2dzdHIgIk5pZW9jemVraXdhbmEgZMWCdWdvxZvEhyBvZHBvd2llZHppIG9kIHNlcndlcmEgJWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MDAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS11dWlkcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyAtLXV1aWRzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjE3Cittc2dpZCAidXVpZGQgaGFzIGJlZW4gYnVpbHQgd2l0aG91dCBzdXBwb3J0IGZvciBzb2NrZXQgYWN0aXZhdGlvbiIKK21zZ3N0ciAidXVpZGQgem9zdGHFgiB6YnVkb3dhbnkgYmV6IG9ic8WCdWdpIGFrdHl3YWNqaSBnbmlhemRlbSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYzNgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRpbWVvdXQiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgLS10aW1lb3V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjUzCittc2dpZCAiQm90aCAtLXNvY2tldC1hY3RpdmF0aW9uIGFuZCAtLXNvY2tldCBzcGVjaWZpZWQuIElnbm9yaW5nIC0tc29ja2V0LiIKK21zZ3N0ciAiUG9kYW5vIG9wY2rEmSAtLXNvY2tldC1hY3RpdmF0aW9uIG9yYXogLS1zb2NrZXQuIFppZ25vcm93YW5vIC0tc29ja2V0LiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2MCBtaXNjLXV0aWxzL3V1aWRkLmM6Njg4CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNhbGxpbmcgdXVpZGQgZGFlbW9uICglcykiCittc2dzdHIgImLFgsSFZCB3eXdvxYJhbmlhIGRlbW9uYSB1dWlkZCAoJXMpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYxIG1pc2MtdXRpbHMvdXVpZGQuYzo2ODkKK21zZ2lkICJ1bmV4cGVjdGVkIGVycm9yIgorbXNnc3RyICJuaWVvY3pla2l3YW55IGLFgsSFZCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEXG4iCittc2dpZF9wbHVyYWwgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURzXG4iCittc2dzdHJbMF0gIiVzIGkgJWQga29sZWpueSBVVUlEXG4iCittc2dzdHJbMV0gIiVzIGkgJWQga29sZWpuZSBVVUlELXlcbiIKK21zZ3N0clsyXSAiJXMgaSAlZCBrb2xlam55Y2ggVVVJRC3Ds3dcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY3MworIywgYy1mb3JtYXQKK21zZ2lkICJMaXN0IG9mIFVVSURzOlxuIgorbXNnc3RyICJMaXN0YSBVVUlELcOzdzpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBraWxsIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgemFiacSHIHV1aWRkIGR6aWHFgmFqxIVjZWdvIHogcGlkZW0gJWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiS2lsbGVkIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkLlxuIgorbXNnc3RyICJaYWJpdG8gdXVpZGQgZHppYcWCYWrEhWNlZ28geiBwaWRlbSAlZC5cbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjgKK21zZ2lkICJDcmVhdGUgYSBuZXcgVVVJRCB2YWx1ZS5cbiIKK21zZ3N0ciAiVXR3b3J6ZW5pZSBub3dlaiB3YXJ0b8WbY2kgVVVJRC5cbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzEKK21zZ2lkICIiCisiIC1yLCAtLXJhbmRvbSAgICAgZ2VuZXJhdGUgcmFuZG9tLWJhc2VkIHV1aWRcbiIKKyIgLXQsIC0tdGltZSAgICAgICBnZW5lcmF0ZSB0aW1lLWJhc2VkIHV1aWRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyIgLXIsIC0tcmFuZG9tICAgICBnZW5lcm93YW5pZSB1dWlkw7N3IGxvc293eWNoXG4iCisiIC10LCAtLXRpbWUgICAgICAgZ2VuZXJvd2FuaWUgdXVpZMOzdyB3ZyBjemFzdVxuIgorIiAtViwgLS12ZXJzaW9uICAgIHd5cGlzYW5pZSBpbmZvcm1hY2ppIG8gd2Vyc2ppIGkgemFrb8WEY3plbmllXG4iCisiIC1oLCAtLWhlbHAgICAgICAgd3nFm3dpZXRsZW5pZSB0ZWdvIG9waXN1IGkgemFrb8WEY3plbmllXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstQk1TIDxkaXI+Li4uIC1mXSA8bmFtZT5cbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gWy1CTVMgPGthdGFsb2c+Li4uIC1mXSA8bmF6d2E+XG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5MgorbXNnaWQgIkxvY2F0ZSB0aGUgYmluYXJ5LCBzb3VyY2UsIGFuZCBtYW51YWwtcGFnZSBmaWxlcyBmb3IgYSBjb21tYW5kLlxuIgorbXNnc3RyICJabmFsZXppZW5pZSBwbGlrw7N3IGJpbmFya2ksIMW6csOzZGXFgiBvcmF6IHN0cm9ueSBwb2RyxJljem5pa2EgZGxhIHBvbGVjZW5pYS5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk1Cittc2dpZCAiIC1iICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIGJpbmFyaWVzXG4iCittc2dzdHIgIiAtYiAgICAgICAgICAgICB3eXN6dWtpd2FuaWUgdHlsa28gYmluYXJpw7N3XG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5NgorbXNnaWQgIiAtQiA8ZGlycz4gIGRlZmluZSBiaW5hcmllcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLUIgPGthdGFsb2dpPiAgb2tyZcWbbGVuaWUgxZtjaWXFvGVrIHd5c3p1a2l3YW5pYSBiaW5hcmnDs3dcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk3Cittc2dpZCAiIC1tICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIG1hbnVhbHMgYW5kIGluZm9zXG4iCittc2dzdHIgIiAtbSAgICAgICAgICAgICB3eXN6dWtpd2FuaWUgdHlsa28gc3Ryb24gcG9kcsSZY3puaWthIG1hbiBpIGluZm9cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk4Cittc2dpZCAiIC1NIDxkaXJzPiAgZGVmaW5lIG1hbiBhbmQgaW5mbyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLU0gPGthdGFsb2dpPiAgb2tyZcWbbGVuaWUgxZtjaWXFvGVrIHd5c3p1a2l3YW5pYSBzdHJvbiBtYW4gaSBpbmZvXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5OQorbXNnaWQgIiAtcyAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBzb3VyY2VzXG4iCittc2dzdHIgIiAtcyAgICAgICAgICAgICB3eXN6dWtpd2FuaWUgdHlsa28gxbpyw7NkZcWCXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMAorbXNnaWQgIiAtUyA8ZGlycz4gIGRlZmluZSBzb3VyY2VzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiAtUyA8a2F0YWxvZ2k+ICBva3JlxZtsZW5pZSDFm2NpZcW8ZWsgd3lzenVraXdhbmlhIMW6csOzZGXFglxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDEKK21zZ2lkICIgLWYgICAgICAgICB0ZXJtaW5hdGUgPGRpcnM+IGFyZ3VtZW50IGxpc3RcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICAgIHpha2/FhGN6ZW5pZSBsaXN0eSA8a2F0YWxvZ8Ozdz4gamFrbyBhcmd1bWVudMOzd1xuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDIKK21zZ2lkICIgLXUgICAgICAgICBzZWFyY2ggZm9yIHVudXN1YWwgZW50cmllc1xuIgorbXNnc3RyICIgLXUgICAgICAgICAgICAgd3lzenVraXdhbmllIHR5bGtvIHdwaXPDs3cgbmllend5a8WCeWNoXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMworbXNnaWQgIiAtbCAgICAgICAgIG91dHB1dCBlZmZlY3RpdmUgbG9va3VwIHBhdGhzXG4iCittc2dzdHIgIiAtbCAgICAgICAgICAgICB3eXBpc2FuaWUgZWZla3R5d255Y2ggxZtjaWXFvGVrIHd5c3p1a2l3YW5pYVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzo2MTkKK21zZ2lkICJvcHRpb24gLWYgaXMgbWlzc2luZyIKK21zZ3N0ciAiYnJhayBvcGNqaSAtZiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxOTYKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInRhYmxpY2EgcGFydHljamkiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogcHJvYmluZyBpbml0aWFsaXphdGlvbiBmYWlsZWQiCittc2dzdHIgImLFgsSFZDogJXM6IGluaWNqYWxpemFjamEgcHLDs2Jvd2FuaWEgbmllIHBvd2lvZMWCYSBzacSZIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGVyYXNlICVzIG1hZ2ljIHN0cmluZyBhdCBvZmZzZXQgMHglMDhqeCIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gc2nEmSB1c3VuxIXEhyDFgmHFhGN1Y2hhIG1hZ2ljem5lZ28gJXMgcG9kIG9mZnNldGVtIDB4JTA4angiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlemQgYnl0ZSB3YXMgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIKK21zZ2lkX3BsdXJhbCAiJXM6ICV6ZCBieXRlcyB3ZXJlIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dzdHJbMF0gIiVzOiB1c3VuacSZdG8gJXpkIGJhanQgcG9kIG9mZnNldGVtIDB4JTA4anggKCVzKTogIgorbXNnc3RyWzFdICIlczogdXN1bmnEmXRvICV6ZCBiYWp0eSBwb2Qgb2Zmc2V0ZW0gMHglMDhqeCAoJXMpOiAiCittc2dzdHJbMl0gIiVzOiB1c3VuacSZdG8gJXpkIGJhanTDs3cgcG9kIG9mZnNldGVtIDB4JTA4anggKCVzKTogIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjM0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgdXR3b3J6ecSHIGtvcGlpIHphcGFzb3dlaiBzeWduYXR1cnkiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYWxsaW5nIGlvY3RsIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlOiAlbVxuIgorbXNnc3RyICIlczogd3l3b8WCeXdhbmllIGlvY3RsIHcgY2VsdSBwb25vd25lZ28gb2Rjenl0dSB0YWJsaWN5IHBhcnR5Y2ppOiAlbVxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjM4NQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB1dHdvcnp5xIcga29waWkgemFwYXNvd2VqIHN5Z25hdHVyeSAtICRIT01FIG5pZSBqZXN0IHpkZWZpbmlvd2FuZSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlnbm9yaW5nIG5lc3RlZCBcIiVzXCIgcGFydGl0aW9uIHRhYmxlIG9uIG5vbi13aG9sZSBkaXNrIGRldmljZSIKK21zZ3N0ciAiJXM6IHppZ25vcm93YW5vIHphZ25pZcW8ZMW8b27EhSB0YWJsaWPEmSBwYXJ0eWNqaSBcIiVzXCIgbmEgdXJ6xIVkemVuaXUgbmllIGLEmWTEhWN5bSBjYcWCeW0gZHlza2llbSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAweCVqeCBub3QgZm91bmQiCittc2dzdHIgIiVzOiBuaWUgem5hbGV6aW9ubyBvZmZzZXR1IDB4JWp4IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQzNQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBvcHRpb24gdG8gZm9yY2UgZXJhc2UuIgorbXNnc3RyICJNb8W8bmEgdcW8ecSHIGZsYWdpIC0tZm9yY2UsIGFieSB3eW11c2nEhyB1c3VuacSZY2llLiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0NTkKK21zZ2lkICJXaXBlIHNpZ25hdHVyZXMgZnJvbSBhIGRldmljZS5cbiIKK21zZ3N0ciAiVXN1bmnEmWNpZSBzeWduYXR1ciB6IHVyesSFZHplbmlhLlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ2MgorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICB3aXBlIGFsbCBtYWdpYyBzdHJpbmdzIChCRSBDQVJFRlVMISlcbiIKKyIgLWIsIC0tYmFja3VwICAgICAgICBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIGluICRIT01FXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgZm9yY2UgZXJhc3VyZVxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKKyIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgYWN0dWFsIHdyaXRlKCkgY2FsbFxuIgorIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCB0byBlcmFzZSwgaW4gYnl0ZXNcbiIKKyIgLXAsIC0tcGFyc2FibGUgICAgICBwcmludCBvdXQgaW4gcGFyc2FibGUgaW5zdGVhZCBvZiBwcmludGFibGUgZm9ybWF0XG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcHJlc3Mgb3V0cHV0IG1lc3NhZ2VzXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtLCBSQUlEcyBvciBwYXJ0aXRpb24gdGFibGVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgIHVzdW5pxJljaWUgd3N6eXN0a2ljaCDFgmHFhGN1Y2jDs3cgbWFnaWN6bnljaCAoT1NUUk/Fu05JRSEpXG4iCisiIC1iLCAtLWJhY2t1cCAgICAgICAgdXR3b3J6ZW5pZSBrb3BpaSB6YXBhc293ZWogc3lnbmF0dXJ5IHcgJEhPTUVcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICB3eW11c3plbmllIHVzdXdhbmlhXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgd3nFm3dpZXRsZW5pZSB0ZWdvIG9waXN1XG4iCisiIC1uLCAtLW5vLWFjdCAgICAgICAgd3N6eXN0a28gcG96YSB3xYJhxZtjaXd5bWkgb3BlcmFjamFtaSB6YXBpc3VcbiIKKyIgLW8sIC0tb2Zmc2V0IDxuPiAgICBvZmZzZXQgZG8gdXN1bmnEmWNpYSB3IGJhanRhY2hcbiIKKyIgLXAsIC0tcGFyc2FibGUgICAgICB3eWrFm2NpZSB3IGZvcm1hY2llIGRvIHByemV0d29yemVuaWFcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICBwb21pbmnEmWNpZSBrb211bmlrYXTDs3cgd3lqxZtjaW93eWNoXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0YT4gb2dyYW5pY3plbmllIHpiaW9ydSBzeXN0ZW3Ds3cgcGxpa8OzdywgUkFJRC3Ds3cgbHViIHRhYmxpYyBwYXJ0eWNqaVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIHd5cGlzYW5pZSBpbmZvcm1hY2ppIG8gd2Vyc2ppIGkgemFrb8WEY3plbmllXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTMzCittc2dpZCAiaW52YWxpZCBvZmZzZXQgYXJndW1lbnQiCittc2dzdHIgImLFgsSZZG5hIHdhcnRvxZvEhyBvZmZzZXR1IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU1OAorbXNnaWQgIlRoZSAtLWJhY2t1cCBvcHRpb24gaXMgbWVhbmluZ2xlc3MgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICJPcGNqYSAtLWJhY2t1cCBuaWUgbWEgem5hY3plbmlhIHcgdHltIGtvbnRla8WbY2llIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzUKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVhbC10aW1lIHNjaGVkdWxpbmcgYXR0cmlidXRlcyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIk9kY3p5dCBsdWIgem1pYW5hIGF0cnlidXTDs3cgc3plcmVnb3dhbmlhIGN6YXN1IHJ6ZWN6eXdpc3RlZ28gcHJvY2VzdS5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM3Cittc2dpZCAiIgorIlNldCBwb2xpY3k6XG4iCisiIGNocnQgW29wdGlvbnNdIDxwcmlvcml0eT4gPGNvbW1hbmQ+IFs8YXJnPi4uLl1cbiIKKyIgY2hydCBbb3B0aW9uc10gLS1waWQgPHByaW9yaXR5PiA8cGlkPlxuIgorbXNnc3RyICIiCisiVXN0YXdpYW5pZSBwb2xpdHlraTpcbiIKKyIgIGNocnQgW29wY2plXSA8cHJpb3J5dGV0PiA8cG9sZWNlbmllPiBbPGFyZz4uLi5dXVxuIgorIiAgY2hydCBbb3BjamVdIC0tcGlkIDxwcmlvcnl0ZXQ+IDxwaWQ+XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0MQorbXNnaWQgIiIKKyJHZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSAtcCA8cGlkPlxuIgorbXNnc3RyICIiCisiT2Rjenl0IHBvbGl0eWtpOlxuIgorIiBjaHJ0IFtvcGNqZV0gLXAgPHBpZD5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ1Cittc2dpZCAiUG9saWN5IG9wdGlvbnM6XG4iCittc2dzdHIgIk9wY2plIHBvbGl0eWtpOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDYKK21zZ2lkICIgLWIsIC0tYmF0Y2ggICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorbXNnc3RyICIgLWIsIC0tYmF0Y2ggICAgICAgICAgdXN0YXdpZW5pZSBwb2xpdHlraSBuYSBTQ0hFRF9CQVRDSFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDcKK21zZ2lkICIgLWQsIC0tZGVhZGxpbmUgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9ERUFETElORVxuIgorbXNnc3RyICIgLWQsIC0tZGVhZGxpbmUgICAgICAgdXN0YXdpZW5pZSBwb2xpdHlraSBuYSBTQ0hFRF9ERUFETElORVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDgKK21zZ2lkICIgLWYsIC0tZmlmbyAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9GSUZPXG4iCittc2dzdHIgIiAtZiwgLS1maWZvICAgICAgICAgICB1c3Rhd2llbmllIHBvbGl0eWtpIG5hIFNDSEVEX0ZJRk9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ5Cittc2dpZCAiIC1pLCAtLWlkbGUgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfSURMRVxuIgorbXNnc3RyICIgLWksIC0taWRsZSAgICAgICAgICAgdXN0YXdpZW5pZSBwb2xpdHlraSBuYSBTQ0hFRF9JRExFXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MAorbXNnaWQgIiAtbywgLS1vdGhlciAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX09USEVSXG4iCittc2dzdHIgIiAtbywgLS10aGVyICAgICAgICAgICB1c3Rhd2llbmllIHBvbGl0eWtpIG5hIFNDSEVEX09USEVSXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MQorbXNnaWQgIiAtciwgLS1yciAgICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX1JSIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXIsIC0tcnIgICAgICAgICAgICAgdXN0YXdpZW5pZSBwb2xpdHlraSBuYSBTQ0hFRF9SUiAoZG9tecWbbG5lKVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTQKK21zZ2lkICJTY2hlZHVsaW5nIG9wdGlvbnM6XG4iCittc2dzdHIgIk9wY2plIHN6ZXJlZ293YW5pYTpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU1Cittc2dpZCAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgc2V0IFNDSEVEX1JFU0VUX09OX0ZPUksgZm9yIEZJRk8gb3IgUlJcbiIKK21zZ3N0ciAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgdXN0YXdpZW5pZSBTQ0hFRF9SRVNFVF9PTl9GT1JLIGRsYSBGSUZPIGx1YiBSUlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTYKK21zZ2lkICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBydW50aW1lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAgcGFyYW1ldHIgY3phc3UgZHppYcWCYW5pYSBkbGEgREVBRExJTkVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU3Cittc2dpZCAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGFyYW1ldHIgb2tyZXN1IGRsYSBERUFETElORVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTgKK21zZ2lkICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IHBhcmFtZXRyIHRlcm1pbnUgZGxhIERFQURMSU5FXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MQorbXNnaWQgIk90aGVyIG9wdGlvbnM6XG4iCittc2dzdHIgIklubmUgb3BjamU6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MgorbXNnaWQgIiAtYSwgLS1hbGwtdGFza3MgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgLWEsIC0tYWxsLXRhc2tzICAgICAgb3Blcm93YW5pZSBuYSB3c3p5c3RraWNoIHphZGFuaWFjaCAod8SFdGthY2gpIGRhbmVnbyBQSUQtdVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjMKK21zZ2lkICIgLW0sIC0tbWF4ICAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCittc2dzdHIgIiAtbSwgLS1tYXggICAgICAgICAgICB3ecWbd2lldGxlbmllIG1pbi4gaSBtYWtzLiBwb3ByYXduZWdvIHByaW9lcnl0dVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjQKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgICAgIG9wZXJvd2FuaWUgbmEgcG9kYW55bSwgaXN0bmllasSFY3ltIFBJRC1pZVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgZGlzcGxheSBzdGF0dXMgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgIHd5xZt3aWV0bGFuaWUgaW5mb3JtYWNqaSBvIHN0YW5pZVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyMzIgc2NoZWR1dGlscy9jaHJ0LmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgb2Rjenl0YcSHIHBvbGl0eWtpIGRsYSBwaWR1ICVkIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhdHRyaWJ1dGVzIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgb2Rjenl0YcSHIGF0cnlidXTDs3cgcGlkdSAlZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY3CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgIm5vd2EgcG9saXR5a2Egc3plcmVnb3dhbmlhIHBpZHUgJWQ6ICVzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgImFrdHVhbG5hIHBvbGl0eWthIHN6ZXJlZ293YW5pYSBkbGEgcGlkdSAlZDogJXMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAibm93eSBwcmlvcnl0ZXQgc3plcmVnb3dhbmlhIGRsYSBwaWR1ICVkOiAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICJha3R1YWxueSBwcmlvcnl0ZXQgc3plcmVnb3dhbmlhIGRsYSBwaWR1ICVkOiAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIm5vd2UgcGFyYW1ldHJ5IGN6YXN1IGR6aWHFgmFuaWEvdGVybWludS9va3Jlc3UgZGxhIHBpZHUgJWQ6ICVqdS8lanUvJWp1XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgImFrdHVhbG5lIHBhcmFtZXRyeSBjemFzdSBkemlhxYJhbmlhL3Rlcm1pbnUvb2tyZXN1IGRsYSBwaWR1ICVkOiAlanUvJWp1LyVqdVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMDAgc2NoZWR1dGlscy9jaHJ0LmM6Mzk2Cittc2dpZCAiY2Fubm90IG9idGFpbiB0aGUgbGlzdCBvZiB0YXNrcyIKK21zZ3N0ciAibmllIG1vxbxuYSB1enlza2HEhyBsaXN0eSB6YWRhxYQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBtaW4vbWF4IHByaW9yaXR5XHQ6ICVkLyVkXG4iCittc2dzdHIgIk1pbmltYWxueS9tYWtzeW1hbG55IHByaW9yeXRldCAlc1x0OiAlZC8lZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IHN1cHBvcnRlZD9cbiIKK21zZ3N0ciAiUG9saXR5a2EgJXMgbmllIGplc3Qgb2JzxYJ1Z2l3YW5hP1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aWQgJWQncyBwb2xpY3kiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB1c3Rhd2nEhyBwb2xpdHlraSBkbGEgdGlkdSAlZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgdXN0YXdpxIcgcG9saXR5a2kgZGxhIHBpZHUgJWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NworbXNnaWQgImludmFsaWQgcnVudGltZSBhcmd1bWVudCIKK21zZ3N0ciAiYsWCxJlkbmEgd2FydG/Fm8SHIGN6YXN1IGR6aWHFgmFuaWEiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ5MAorbXNnaWQgImludmFsaWQgcGVyaW9kIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSB3YXJ0b8WbxIcgb2tyZXN1IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTMKK21zZ2lkICJpbnZhbGlkIGRlYWRsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSB3YXJ0b8WbxIcgdGVybWludSIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE3Cittc2dpZCAiaW52YWxpZCBwcmlvcml0eSBhcmd1bWVudCIKK21zZ3N0ciAiYsWCxJlkbmEgd2FydG/Fm8SHIHByaW9yeXRldHUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyMQorbXNnaWQgIi0tcmVzZXQtb24tZm9yayBvcHRpb24gaXMgc3VwcG9ydGVkIGZvciBTQ0hFRF9GSUZPIGFuZCBTQ0hFRF9SUiBwb2xpY2llcyBvbmx5IgorbXNnc3RyICJvcGNqYSAtLXJlc2V0LW9uLWZvcmsgamVzdCBvYnPFgnVnaXdhbmEgdHlsa28gZGxhIHBvbGl0eWsgU0NIRURfRklGTyBpIFNDSEVEX1JSIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MjYKK21zZ2lkICItLXNjaGVkLXtydW50aW1lLGRlYWRsaW5lLHBlcmlvZH0gb3B0aW9ucyBhcmUgc3VwcG9ydGVkIGZvciBTQ0hFRF9ERUFETElORSBvbmx5IgorbXNnc3RyICJvcGNqZSAtLXNjaGVkLXtydW50aW1lLGRlYWRsaW5lLHBlcmlvZH0gc8SFIG9ic8WCdWdpd2FuZSB0eWxrbyBkbGEgU0NIRURfREVBRExJTkUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0MQorbXNnaWQgIlNDSEVEX0RFQURMSU5FIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJTQ0hFRF9ERUFETElORSBuaWUgamVzdCBvYnPFgnVnaXdhbmUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcmlvcml0eSB2YWx1ZSBmb3IgdGhlIHBvbGljeTogJWQ6IHNlZSAtLW1heCBmb3IgdmFsaWQgcmFuZ2UiCittc2dzdHIgIm5pZSBvYnPFgnVnaXdhbmEgd2FydG/Fm8SHIHByaW9yeXRldHUgZGxhIHBvbGl0eWtpOiAlZDogLS1tYXggcG9rYcW8ZSBwb3ByYXdueSB6YWtyZXMiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6NzYKK21zZ2lkICJpb3ByaW9fZ2V0IGZhaWxlZCIKK21zZ3N0ciAiaW9wcmlvX2dldCBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHByaW8gJWx1XG4iCittc2dzdHIgIiVzOiBwcmlvcnl0ZXQgJWx1XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6OTgKK21zZ2lkICJpb3ByaW9fc2V0IGZhaWxlZCIKK21zZ3N0ciAiaW9wcmlvX3NldCBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXAgPHBpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC11IDx1aWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisiICUxJHMgW29wY2plXSAtcCA8cGlkPi4uLlxuIgorIiAlMSRzIFtvcGNqZV0gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW29wY2plXSAtdSA8dWlkPi4uLlxuIgorIiAlMSRzIFtvcGNqZV0gPHBvbGVjZW5pZT5cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTAKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgSS9PLXNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiT2Rjenl0IGx1YiB6bWlhbmEga2xhc3kgaSBwcmlvcnl0ZXR5IHN6ZXJlZ293YW5pYSB3ZS93eSBwcm9jZXN1LlxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExMworbXNnaWQgIiIKKyIgLWMsIC0tY2xhc3MgPGNsYXNzPiAgICBuYW1lIG9yIG51bWJlciBvZiBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCittc2dzdHIgIiIKKyIgLWMsIC0tY2xhc3MgPGtsYXNhPiAgICBuYXp3YSBsdWIgbnVtZXIga2xhc3kgc3plcmVnb3dhbmlhXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTUKK21zZ2lkICIiCisiIC1uLCAtLWNsYXNzZGF0YSA8bnVtPiAgcHJpb3JpdHkgKDAuLjcpIGluIHRoZSBzcGVjaWZpZWQgc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHkgZm9yIHRoZSByZWFsdGltZSBhbmQgYmVzdC1lZmZvcnQgY2xhc3Nlc1xuIgorbXNnc3RyICIiCisiIC1uLCAtLWNsYXNzZGF0YSA8aWxlPiAgcHJpb3J5dGV0ICgwLi43KSB3IHBvZGFuZWoga2xhc2llIHN6ZXJlZ293YW5pYSxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHR5bGtvIGRsYSBrbGFzIHJlYWx0aW1lIGkgYmVzdC1lZmZvcnRcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTcKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+Li4uICAgICBhY3Qgb24gdGhlc2UgYWxyZWFkeSBydW5uaW5nIHByb2Nlc3Nlc1xuIgorbXNnc3RyICIgLXAsIC0tcGlkIDxwaWQ+Li4uICAgICBkemlhxYJhbmllIG5hIGp1xbwgZHppYcWCYWrEhWN5Y2ggcHJvY2VzYWNoXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE4Cittc2dpZCAiIC1QLCAtLXBnaWQgPHBncnA+Li4uICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgaW4gdGhlc2UgZ3JvdXBzXG4iCittc2dzdHIgIiAtUCwgLS1wZ2lkIDxwZ3JwPi4uLiAgIGR6aWHFgmFuaWUgbmEganXFvCBkemlhxYJhasSFY3ljaCBwcm9jZXNhY2ggeiBwb2RhbnljaCBncnVwXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE5Cittc2dpZCAiIC10LCAtLWlnbm9yZSAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCittc2dzdHIgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIHppZ25vcm93YW5pZSBixYLEmWTDs3dcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMjAKK21zZ2lkICIgLXUsIC0tdWlkIDx1aWQ+Li4uICAgICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBvd25lZCBieSB0aGVzZSB1c2Vyc1xuIgorbXNnc3RyICIgLXUsIC0tdWlkIDx1aWQ+Li4uICAgICBkemlhxYJhbmllIG5hIGp1xbwgZHppYcWCYWrEhWN5Y2ggcHJvY2VzYWNoIHXFvHl0a293bmlrw7N3XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTU3Cittc2dpZCAiaW52YWxpZCBjbGFzcyBkYXRhIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuZSBkYW5lIGtsYXN5IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2MworbXNnaWQgImludmFsaWQgY2xhc3MgYXJndW1lbnQiCittc2dzdHIgImLFgsSZZG5hIHdhcnRvxZvEhyBrbGFzeSIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzY2hlZHVsaW5nIGNsYXNzOiAnJXMnIgorbXNnc3RyICJuaWV6bmFuYSBrbGFzYSBzemVyZWdvd2FuaWE6ICclcyciCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc2IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg0IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkyCittc2dpZCAiY2FuIGhhbmRsZSBvbmx5IG9uZSBvZiBwaWQsIHBnaWQgb3IgdWlkIGF0IG9uY2UiCittc2dzdHIgIm1vxbxuYSBvYnPFgnXFvHnEhyBuYXJheiB0eWxrbyBqZWRuxIUgb3BjasSZIHogcGlkLCBwZ2lkIGx1YiB1aWQiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg1Cittc2dpZCAiaW52YWxpZCBQR0lEIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSB3YXJ0b8WbxIcgUEdJRC1hIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MworbXNnaWQgImludmFsaWQgVUlEIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSB3YXJ0b8WbxIcgVUlELWEiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjEyCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3Igbm9uZSBjbGFzcyIKK21zZ3N0ciAiemlnbm9yb3dhbm8gcG9kYW5lIGRhbmUga2xhc3kgZGxhIGtsYXN5IG5vbmUiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjIwCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3IgaWRsZSBjbGFzcyIKK21zZ3N0ciAiemlnbm9yb3dhbm8gcG9kYW5lIGRhbmUga2xhc3kgZGxhIGtsYXN5IGlkbGUiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpbyBjbGFzcyAlZCIKK21zZ3N0ciAibmllem5hbmEga2xhc2EgcHJpb3J5dGV0dSAlZCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlVzYWdlOiAlcyBbb3B0aW9uc10gW21hc2sgfCBjcHUtbGlzdF0gW3BpZHxjbWQgW2FyZ3MuLi5dXVxuIgorIlxuIgorbXNnc3RyICIiCisiU2vFgmFkbmlhOiAlcyBbb3BjamVdIFttYXNrYSB8IGxpc3RhLWNwdV0gW3BpZHxwb2xlY2VuaWUgW2FyZy4uLl1dXG4iCisiXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU1Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIENQVSBhZmZpbml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIk9kY3p5dCBsdWIgem1pYW5hIHByenl3acSFemFuaWEgcHJvY2Vzb3JhIGRvIHByb2Nlc3UuXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJPcHRpb25zOlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICBkaXNwbGF5IGFuZCBzcGVjaWZ5IGNwdXMgaW4gbGlzdCBmb3JtYXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHBcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKKyJcbiIKK21zZ3N0ciAiIgorIk9wY2plOlxuIgorIiAtYSB8IC0tYWxsLXRhc2tzICAgICBvcGVyb3dhbmllIG5hIHdzenlzdGtpY2ggemFkYW5pYWNoICh3xIV0a2FjaCkgZGFuZWdvIHBpZHVcbiIKKyIgLXAsIC0tcGlkICAgICAgICAgICAgb3Blcm93YW5pZSBuYSBwb2RhbnltLCBpc3RuaWVqxIVjeW0gcGlkemllXG4iCisiIC1jLCAtLWNwdS1saXN0ICAgICAgIHd5cGlzeXdhbmllIGkgb2tyZcWbbGFuaWUgQ1BVIHcgcG9zdGFjaSBsaXN0eVxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICB3ecWbd2lldGxlbmllIHRlZ28gb3Bpc3VcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgd3nFm3dpZXRsZW5pZSBpbmZvcm1hY2ppIG8gd2Vyc2ppXG4iCisiXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBydW4gYSBuZXcgY29tbWFuZDpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyJZb3UgY2FuIHJldHJpZXZlIHRoZSBtYXNrIG9mIGFuIGV4aXN0aW5nIHRhc2s6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiT3Igc2V0IGl0OlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorIkxpc3QgZm9ybWF0IHVzZXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBpbnN0ZWFkIG9mIGEgbWFzazpcbiIKKyIgICAgJTEkcyAtcGMgMCwzLDctMTEgNzAwXG4iCisiUmFuZ2VzIGluIGxpc3QgZm9ybWF0IGNhbiB0YWtlIGEgc3RyaWRlIGFyZ3VtZW50OlxuIgorIiAgICBlLmcuIDAtMzE6MiBpcyBlcXVpdmFsZW50IHRvIG1hc2sgMHg1NTU1NTU1NVxuIgorbXNnc3RyICIiCisiRG9tecWbbG5lIHphY2hvd2FuaWUgdG8gdXJ1Y2hvbWllbmllIG5vd2VnbyBwb2xlY2VuaWE6XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisiTW/FvG5hIHRlxbwgdXp5c2thxIcgbWFza8SZIGRsYSBpc3RuaWVqxIVjZWdvIHphZGFuaWE6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiTHViIHVzdGF3acSHIGrEhTpcbiIKKyIgICAgJTEkcyAtcCAwMyA3MDBcbiIKKyJNb8W8bmEgdcW8ecSHIGZvcm1hdHUgbGlzdHkgb2RkemllbG9uZWogcHJ6ZWNpbmthbWkgemFtaWFzdCBtYXNraTpcbiIKKyIgICAgJTEkcyAtcGMgMCwzLDctMTEgNzAwXG4iCisiUHJ6ZWR6aWHFgnkgdyBmb3JtYWNpZSBsaXN0eSBtb2fEhSBtaWXEhyBhcmd1bWVudCBrcm9rdTpcbiIKKyIgICAgbnAuIDAtMzE6MiBvZHBvd2lhZGEgbWFzY2UgMHg1NTU1NTU1NVxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAiTm93YSBsaXN0YSBwcnp5cGlzYcWEIGRsYSBwaWR1ICVkOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgImFrdHVhbG5hIGxpc3RhIHByenlwaXNhxYQgZGxhIHBpZHUgJWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICJOb3dhIG1hc2thIHByenlwaXNhxYQgZGxhIHBpZHUgJWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAiYWt0dWFsbmEgbWFza2EgcHJ6eXBpc2HFhCBkbGEgcGlkdSAlZDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTkKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogY29udmVyc2lvbiBmcm9tIGNwdXNldCB0byBzdHJpbmcgZmFpbGVkIgorbXNnc3RyICJixYLEhWQgd2V3bsSZdHJ6bnk6IG5pZSB1ZGHFgm8gc2nEmSBwcnpla3N6dGHFgmNpxIcgY3B1c2V0IGRvIMWCYcWEY3VjaGEgem5ha8OzdyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTA5IHNjaGVkdXRpbHMvdGFza3NldC5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgdXp5c2thxIcgcHJ6eXBpc2HFhCBkbGEgcGlkdSAlZCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB1c3Rhd2nEhyBwcnp5cGlzYcWEIGRsYSBwaWR1ICVkIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxODYgc3lzLXV0aWxzL2NoY3B1LmM6Mjg5Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBOUl9DUFVTOyBhYm9ydGluZyIKK21zZ3N0ciAibmllIG1vxbxuYSBva3JlxZtsacSHIE5SX0NQVVM7IHByemVyd2FubyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTk1IHNjaGVkdXRpbHMvdGFza3NldC5jOjIwOCBzeXMtdXRpbHMvY2hjcHUuYzoyOTUKK21zZ2lkICJjcHVzZXRfYWxsb2MgZmFpbGVkIgorbXNnc3RyICJjcHVzZXRfYWxsb2MgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMTUgc3lzLXV0aWxzL2NoY3B1LmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdDogJXMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgbGlzdHkgQ1BVOiAlcyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjE4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzazogJXMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgbWFza2kgQ1BVOiAlcyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogWmVyby1maWxsZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiJXM6IFd5cGXFgm5pb25vIHplcmFtaSAlPFBSSXU2ND4gQiBvZCBvZmZzZXR1ICU8UFJJdTY0PlxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBEaXNjYXJkZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiJXM6IFVzdW5pxJl0byAlPFBSSXU2ND4gQiBvZCBvZmZzZXR1ICU8UFJJdTY0PlxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg3Cittc2dpZCAiRGlzY2FyZCB0aGUgY29udGVudCBvZiBzZWN0b3JzIG9uIGEgZGV2aWNlLlxuIgorbXNnc3RyICJQb3J6dWNlbmllIHphd2FydG/Fm2NpIHNla3RvcsOzdyBuYSB1cnrEhWR6ZW5pdS5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MAorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8aWxlPiAgb2Zmc2V0IHcgYmFqdGFjaCBkbyBwb2N6xIV0a3UgdXN1d2FuaWFcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDxpbGU+ICBsaWN6YmEgYmFqdMOzdyBkbyB1c3VuacSZY2lhIG9kIG9mZnNldHVcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MgorbXNnaWQgIiAtcCwgLS1zdGVwIDxudW0+ICAgIHNpemUgb2YgdGhlIGRpc2NhcmQgaXRlcmF0aW9ucyB3aXRoaW4gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgLXAsIC0tc3RlcCA8aWxlPiAgICByb3ptaWFyIGl0ZXJhY2ppIHVzdXdhbmlhIG9kIG9mZnNldHVcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MworbXNnaWQgIiAtcywgLS1zZWN1cmUgICAgICAgIHBlcmZvcm0gc2VjdXJlIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC1zLCAtLXNlY3VyZSAgICAgICAgd3lrb25hbmllIGJlenBpZWN6bmVnbyB1c3V3YW5pYVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk0Cittc2dpZCAiIC16LCAtLXplcm9vdXQgICAgICAgemVyby1maWxsIHJhdGhlciB0aGFuIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC16LCAtLXplcm9vdXQgICAgICAgd3lwZcWCbmlhbmllIHplcmFtaSB6YW1pYXN0IHVzdXdhbmlhXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgIHd5cGlzYW5pZSB3eXLDs3duYW5laiBkxYJ1Z2/Fm2NpIGkgb2Zmc2V0dVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1MCBzeXMtdXRpbHMvZnN0cmltLmM6MzEyIHN5cy11dGlscy9sb3NldHVwLmM6NjczCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMjQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IgorbXNnc3RyICJuaWV6cm96dW1pYcWCeSBvZmZzZXQiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTU0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0ZXAiCittc2dzdHIgIm5pZXpyb3p1bWlhxYJ5IGtyb2siCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTcyIHN5cy11dGlscy96cmFtY3RsLmM6NjgyIHN5cy11dGlscy96cmFtY3RsLmM6NzA4Cittc2dpZCAibm8gZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAibmllIHBvZGFubyB1cnrEhWR6ZW5pYSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzcgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM1MQorIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTIyIHN5cy11dGlscy9mc3RyaW0uYzozMzQKK21zZ2lkICJ1bmV4cGVjdGVkIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgIm5pZW9jemVraXdhbmEgbGljemJhIGFyZ3VtZW50w7N3IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLR0VUU0laRTY0IGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGlvY3RsIEJMS0dFVFNJWkU2NCBuaWUgcG93acOzZMWCIHNpxJkiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTU1pHRVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogaW9jdGwgQkxLU1NaR0VUIG5pZSBwb3dpw7NkxYIgc2nEmSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IG5pZSBqZXN0IHd5csOzd25hbnkgZG8gcm96bWlhcnUgc2VrdG9yYSAlaSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCBpcyBncmVhdGVyIHRoYW4gZGV2aWNlIHNpemUiCittc2dzdHIgIiVzOiBvZmZzZXQgamVzdCB3acSZa3N6eSBuacW8IHJvem1pYXIgdXJ6xIVkemVuaWEiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsZW5ndGggJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIlczogZMWCdWdvxZvEhyAlPFBSSXU2ND4gbmllIGplc3Qgd3lyw7N3bmFuYSBkbyByb3ptaWFydSBzZWt0b3JhICVpIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLWkVST09VVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBpb2N0bCBCTEtaRVJPT1VUIG5pZSBwb3dpw7NkxYIgc2nEmSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NFQ0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogaW9jdGwgQkxLU0VDRElTQ0FSRCBuaWUgcG93acOzZMWCIHNpxJkiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGlvY3RsIEJMS0RJU0NBUkQgbmllIHBvd2nDs2TFgiBzacSZIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo4NyBzeXMtdXRpbHMvY2hjcHUuYzoxNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJDUFUgJXUgbmllIGlzdG5pZWplIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGhvdCBwbHVnZ2FibGUiCittc2dzdHIgIkNQVSAldSBuaWUgb2JzxYJ1Z3VqZSBmdW5rY2ppIGhvdC1wbHVnIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIkNQVSAldSBqZXN0IGp1xbwgd8WCxIVjem9ueVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1IGplc3QganXFvCB3ecWCxIVjem9ueVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQgKENQVSBpcyBkZWNvbmZpZ3VyZWQpIgorbXNnc3RyICJXxYLEhWN6ZW5pZSBDUFUgJXUgbmllIHBvd2lvZMWCbyBzacSZIChwcm9jZXNvciBqZXN0IHpkZWtvbmZpZ3Vyb3dhbnkpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIlfFgsSFY3plbmllIENQVSAldSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlZFxuIgorbXNnc3RyICJDUFUgJXUgd8WCxIVjem9ueVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIChsYXN0IGVuYWJsZWQgQ1BVKSIKK21zZ3N0ciAiV3nFgsSFY3plbmllIENQVSAldSBuaWUgcG93aW9kxYJvIHNpxJkgKG9zdGF0bmkgd8WCxIVjem9ueSBDUFUpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICJXecWCxIVjemVuaWUgQ1BVICV1IG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlZFxuIgorbXNnc3RyICJDUFUgJXUgd3nFgsSFY3pvbnlcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCByZXNjYW5uaW5nIG9mIENQVXMiCittc2dzdHIgIlRlbiBzeXN0ZW0gbmllIG9ic8WCdWd1amUgcG9ub3duZWdvIHByemVzenVraXdhbmlhIENQVSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQzCittc2dpZCAiRmFpbGVkIHRvIHRyaWdnZXIgcmVzY2FuIG9mIENQVXMiCittc2dzdHIgIk5pZSB1ZGHFgm8gc2nEmSB3eXp3b2xpxIcgcG9ub3duZWdvIHByemVzenVrYW5pYSBDUFUiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJUcmlnZ2VyZWQgcmVzY2FuIG9mIENQVXNcbiIKK21zZ3N0ciAiV3l6d29sb25vIHBvbm93bmUgcHJ6ZXN6dWthbmllIENQVVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHNldHRpbmcgdGhlIGRpc3BhdGNoaW5nIG1vZGUgb2YgQ1BVcyIKK21zZ3N0ciAiVGVuIHN5c3RlbSBuaWUgb2JzxYJ1Z3VqZSB1c3Rhd2lhbmlhIHRyeWJ1IHByemVrYXp5d2FuaWEgQ1BVIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTUKK21zZ2lkICJGYWlsZWQgdG8gc2V0IGhvcml6b250YWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiTmllIHVkYcWCbyBzacSZIHVzdGF3acSHIHBvemlvbWVnbyB0cnlidSBwcnpla2F6eXdhbmlhIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCBob3Jpem9udGFsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAiVXN0YXdpb25vIHBvemlvbXkgdHJ5YiBwcnpla2F6eXdhbmlhXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1OQorbXNnaWQgIkZhaWxlZCB0byBzZXQgdmVydGljYWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiTmllIHVkYcWCbyBzacSZIHVzdGF3acSHIHBpb25vd2VnbyB0cnlidSBwcnpla2F6eXdhbmlhIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCB2ZXJ0aWNhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIlVzdGF3aW9ubyBwaW9ub3d5IHRyeWIgcHJ6ZWthenl3YW5pYVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBjb25maWd1cmFibGUiCittc2dzdHIgIkNQVSAldSBuaWUgZGFqZSBzacSZIGtvbmZpZ3Vyb3dhxIciCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAldSBqZXN0IGp1xbwgc2tvbmZpZ3Vyb3dhbnlcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJDUFUgJXUgamVzdCBqdcW8IHpkZWtvbmZpZ3Vyb3dhbnlcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiRGVrb25maWd1cmFjamEgQ1BVICV1IG5pZSBwb3dpb2TFgmEgc2nEmSAoamVzdCB3xYLEhWN6b255KSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICJLb25maWd1cmFjamEgQ1BVICV1IG5pZSBwb3dpb2TFgmEgc2nEmSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAldSBza29uZmlndXJvd2FueVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiRGVrb25maWd1cmFjamEgQ1BVICV1IG5pZSBwb3dpb2TFgmEgc2nEmSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICV1IHpkZWtvbmZpZ3Vyb3dhbnlcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgQ1BVIG51bWJlciBpbiBDUFUgbGlzdDogJXMiCittc2dzdHIgImLFgsSZZG55IG51bWVyIENQVSBuYSBsacWbY2llOiAlcyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjM4IHRleHQtdXRpbHMvY29sLmM6MTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTa8WCYWRuaWE6XG4iCisiICVzIFtvcGNqZV1cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQyCittc2dpZCAiQ29uZmlndXJlIENQVXMgaW4gYSBtdWx0aS1wcm9jZXNzb3Igc3lzdGVtLlxuIgorbXNnc3RyICJLb25maWd1cmFjamEgcHJvY2Vzb3LDs3cgdyBzeXN0ZW1pZSB3aWVsb3Byb2Nlc29yb3d5bS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQ0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyIgIC1lLCAtLWVuYWJsZSA8Y3B1LWxpc3Q+ICAgICAgIGVuYWJsZSBjcHVzXG4iCisiICAtZCwgLS1kaXNhYmxlIDxjcHUtbGlzdD4gICAgICBkaXNhYmxlIGNwdXNcbiIKKyIgIC1jLCAtLWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICAgIGNvbmZpZ3VyZSBjcHVzXG4iCisiICAtZywgLS1kZWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICBkZWNvbmZpZ3VyZSBjcHVzXG4iCisiICAtcCwgLS1kaXNwYXRjaCA8bW9kZT4gICAgICAgICBzZXQgZGlzcGF0Y2hpbmcgbW9kZVxuIgorIiAgLXIsIC0tcmVzY2FuICAgICAgICAgICAgICAgICAgdHJpZ2dlciByZXNjYW4gb2YgY3B1c1xuIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wY2plOlxuIgorIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgd3nFm3dpZXRsZW5pZSB0ZWdvIG9waXN1XG4iCisiICAtZSwgLS1lbmFibGUgPGxpc3RhLWNwdT4gICAgICB3xYLEhWN6ZW5pZSBwcm9jZXNvcsOzd1xuIgorIiAgLWQsIC0tZGlzYWJsZSA8bGlzdGEtY3B1PiAgICAgd3nFgsSFY3plbmllIHByb2Nlc29yw7N3XG4iCisiICAtYywgLS1jb25maWd1cmUgPGxpc3RhLWNwdT4gICBza29uZmlndXJvd2FuaWUgcHJvY2Vzb3LDs3dcbiIKKyIgIC1nLCAtLWRlY29uZmlndXJlIDxsaXN0YS1jcHU+IHpkZWtvbmZpZ3Vyb3dhbmllIHByb2Nlc29yw7N3XG4iCisiICAtcCwgLS1kaXNwYXRjaCA8dHJ5Yj4gICAgICAgICB1c3Rhd2llbmllIHRyeWJ1IHByemVrYXp5d2FuaWFcbiIKKyIgIC1yLCAtLXJlc2NhbiAgICAgICAgICAgICAgICAgIHd5endvbGVuaWUgcHJ6ZXNrYW5vd2FuaWEgQ1BVXG4iCisiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICB3eXBpc2FuaWUgaW5mb3JtYWNqaSBvIHdlcnNqaSBpIHpha2/FhGN6ZW5pZVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzozMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJuaWUgb2JzxYJ1Z2l3YW55IGFyZ3VtZW50OiAlcyIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzoyNworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgaGFyZHxzb2Z0XG4iCittc2dzdHIgIiAlcyBoYXJkfHNvZnRcbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICJTZXQgdGhlIGZ1bmN0aW9uIG9mIHRoZSBDdHJsLUFsdC1EZWwgY29tYmluYXRpb24uXG4iCittc2dzdHIgIlVzdGF3aWVuaWUgZnVua2NqaSBrb21iaW5hY2ppIGtsYXdpc3p5IEN0cmwtQWx0LURlbC5cbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MQorbXNnaWQgImltcGxpY2l0IgorbXNnc3RyICJkb215xZtsbmEiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB2YWx1ZSBpbiAlczogJWp1IgorbXNnc3RyICJuaWVvY3pla2l3YW5hIHdhcnRvxZvEhyB3ICVzOiAlanUiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NjMKK21zZ2lkICJZb3UgbXVzdCBiZSByb290IHRvIHNldCB0aGUgQ3RybC1BbHQtRGVsIGJlaGF2aW9yIgorbXNnc3RyICJBYnkgem1pZW5pxIcgemFjaG93YW5pZSBDdHJsLUFsdC1EZWwsIHRyemViYSBiecSHIHJvb3RlbSIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo3MSBzeXMtdXRpbHMvaXBjcm0uYzozOTIgc3lzLXV0aWxzL2lwY3JtLmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICJuaWV6bmFueSBhcmd1bWVudDogJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMAorbXNnaWQgInN5c3RlbSBpcyB1bnVzYWJsZSIKK21zZ3N0ciAic3lzdGVtIGplc3QgYmV6dcW8eXRlY3pueSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTExCittc2dpZCAiYWN0aW9uIG11c3QgYmUgdGFrZW4gaW1tZWRpYXRlbHkiCittc2dzdHIgImFrY2rEmSB0cnplYmEgcG9kasSFxIcgbmF0eWNobWlhc3QiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMgorbXNnaWQgImNyaXRpY2FsIGNvbmRpdGlvbnMiCittc2dzdHIgIndhcnVua2kga3J5dHljem5lIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTMKK21zZ2lkICJlcnJvciBjb25kaXRpb25zIgorbXNnc3RyICJ3eXN0xIVwacWCIGLFgsSFZCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE0Cittc2dpZCAid2FybmluZyBjb25kaXRpb25zIgorbXNnc3RyICJ3eXN0xIVwacWCbyBvc3RyemXFvGVuaWUiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNQorbXNnaWQgIm5vcm1hbCBidXQgc2lnbmlmaWNhbnQgY29uZGl0aW9uIgorbXNnc3RyICJub3JtYWxuZSwgYWxlIHpuYWN6xIVjZSB6ZGFyemVuaWUiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNgorbXNnaWQgImluZm9ybWF0aW9uYWwiCittc2dzdHIgImluZm9ybWFjamEiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNworbXNnaWQgImRlYnVnLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICJrb211bmlrYXR5IGRpYWdub3N0eWN6bmUiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMQorbXNnaWQgImtlcm5lbCBtZXNzYWdlcyIKK21zZ3N0ciAia29tdW5pa2F0eSBvZCBqxIVkcmEiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMgorbXNnaWQgInJhbmRvbSB1c2VyLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICJrb211bmlrYXR5IHBvemlvbXUgdcW8eXRrb3duaWthIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzMKK21zZ2lkICJtYWlsIHN5c3RlbSIKK21zZ3N0ciAic3lzdGVtIHBvY3p0b3d5IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzQKK21zZ2lkICJzeXN0ZW0gZGFlbW9ucyIKK21zZ3N0ciAiZGVtb255IHN5c3RlbW93ZSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1Cittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyIKK21zZ3N0ciAia29tdW5pa2F0eSBkb3QuIGJlenBpZWN6ZcWEc3R3YS9hdXRvcnl6YWNqaSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM2Cittc2dpZCAibWVzc2FnZXMgZ2VuZXJhdGVkIGludGVybmFsbHkgYnkgc3lzbG9nZCIKK21zZ3N0ciAia29tdW5pa2F0eSB3eWdlbmVyb3dhbmUgd2V3bsSZdHJ6bmllIHByemV6IHN5c2xvZ2QiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNworbXNnaWQgImxpbmUgcHJpbnRlciBzdWJzeXN0ZW0iCittc2dzdHIgInBvZHN5c3RlbSB3eWRydWt1IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzgKK21zZ2lkICJuZXR3b3JrIG5ld3Mgc3Vic3lzdGVtIgorbXNnc3RyICJwb2RzeXN0ZW0gc2llY2lvd3kgbmV3cyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM5Cittc2dpZCAiVVVDUCBzdWJzeXN0ZW0iCittc2dzdHIgInBvZHN5c3RlbSBVVUNQIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDAKK21zZ2lkICJjbG9jayBkYWVtb24iCittc2dzdHIgImRlbW9uIHplZ2FyYSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQxCittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyAocHJpdmF0ZSkiCittc2dzdHIgImtvbXVuaWthdHkgZG90LiBiZXpwaWVjemXFhHN0d2EvYXV0b3J5emFjamkgKHByeXdhdG5lKSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQyCittc2dpZCAiRlRQIGRhZW1vbiIKK21zZ3N0ciAiZGVtb24gRlRQIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNjcKK21zZ2lkICJEaXNwbGF5IG9yIGNvbnRyb2wgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlci5cbiIKK21zZ3N0ciAiV3nFm3dpZXRsYW5pZSBsdWIgc3Rlcm93YW5pZSBidWZvcmVtIGrEhWRyYS5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjcwCittc2dpZCAiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICBjbGVhciB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgd3ljenlzemN6ZW5pZSBidWZvcmEgdyBqxIVkcnplXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MQorbXNnaWQgIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgcmVhZCBhbmQgY2xlYXIgYWxsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgb2Rjenl0IGkgd3ljenlzemN6ZW5pZSB3c3p5c3RraWNoIGtvbXVuaWthdMOzd1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzIKK21zZ2lkICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIGRpc2FibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIHd5xYLEhWN6ZW5pZSB3eXBpc3l3YW5pYSBrb211bmlrYXTDs3cgbmEga29uc29sxJlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjczCittc2dpZCAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBlbmFibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIHfFgsSFY3plbmllIHd5cGlzeXdhbmlhIGtvbXVuaWthdMOzdyBuYSBrb25zb2zEmVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzQKK21zZ2lkICIgLUYsIC0tZmlsZSA8ZmlsZT4gICAgICAgICAgIHVzZSB0aGUgZmlsZSBpbnN0ZWFkIG9mIHRoZSBrZXJuZWwgbG9nIGJ1ZmZlclxuIgorbXNnc3RyICIgLUYsIC0tZmlsZSA8cGxpaz4gICAgICAgICAgIHXFvHljaWUgcGxpa3UgemFtaWFzdCBidWZvcmEgbG9ndSBqxIVkcmFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc1Cittc2dpZCAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0PiAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBmYWNpbGl0aWVzXG4iCittc2dzdHIgIiAtZiwgLS1mYWNpbGl0eSA8bGlzdGE+ICAgICAgb2dyYW5pY3plbmllIHd5asWbY2lhIGRvIG9rcmXFm2xvbnljaCBrYXRlZ29yaWlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc2Cittc2dpZCAiIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICBodW1hbiByZWFkYWJsZSBvdXRwdXRcbiIKK21zZ3N0ciAiIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICB3eWrFm2NpZSBjenl0ZWxuZSBkbGEgY3rFgm93aWVrYVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzcKK21zZ2lkICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIGRpc3BsYXkga2VybmVsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgd3nFm3dpZXRsZW5pZSBrb211bmlrYXTDs3cgasSFZHJhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3OAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08a2llZHk+XSAgICAgICBrb2xvcm93YW5pZSBrb211bmlrYXTDs3cgKGF1dG8sIGFsd2F5cyBsdWIgbmV2ZXIpXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MQorbXNnaWQgIiAtbCwgLS1sZXZlbCA8bGlzdD4gICAgICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgbGV2ZWxzXG4iCittc2dzdHIgIiAtbCwgLS1sZXZlbCA8bGlzdGE+ICAgICAgICAgb2dyYW5pY3plbmllIHd5asWbY2lhIGRvIG9rcmXFm2xvbnljaCBwb3ppb23Ds3dcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgyCittc2dpZCAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPGxldmVsPiBzZXQgbGV2ZWwgb2YgbWVzc2FnZXMgcHJpbnRlZCB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtbiwgLS1jb25zb2xlLWxldmVsIDxwb3ppb20+IHVzdC4gcG96aW9tdSBrb211bmlrYXTDs3cgd3lwaXN5d2FueWNoIG5hIGtvbnNvbMSZXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MworbXNnaWQgIiAtUCwgLS1ub3BhZ2VyICAgICAgICAgICAgICAgZG8gbm90IHBpcGUgb3V0cHV0IGludG8gYSBwYWdlclxuIgorbXNnc3RyICIgLVAsIC0tbm9wYWdlciAgICAgICAgICAgICAgIGJleiBwcnplcHVzemN6YW5pYSB3eWrFm2NpYSBkbyBzdHJvbmljb3dhbmlhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NAorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJhdyBtZXNzYWdlIGJ1ZmZlclxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIHd5cGlzYW5pZSBidWZvcmEga29tdW5pa2F0w7N3IHcgcG9zdGFjaSBzdXJvd2VqXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NQorbXNnaWQgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgZm9yY2UgdG8gdXNlIHN5c2xvZygyKSByYXRoZXIgdGhhbiAvZGV2L2ttc2dcbiIKK21zZ3N0ciAiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICB3eW11c3plbmllIHXFvHljaWEgc3lzbG9nKDIpIHphbWlhc3QgL2Rldi9rbXNnXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NgorbXNnaWQgIiAtcywgLS1idWZmZXItc2l6ZSA8c2l6ZT4gICAgYnVmZmVyIHNpemUgdG8gcXVlcnkgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIgLXMsIC0tYnVmZmVyLXNpemUgPHJvem1pYXI+IHJvem1pYXIgYnVmb3JhIHByenkgb2RweXR5d2FuaXUgYnVmb3JhIGrEhWRyYVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODcKK21zZ2lkICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIGRpc3BsYXkgdXNlcnNwYWNlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgd3nFm3dpZXRsYW5pZSBrb211bmlrYXTDs3cgcHJ6ZXN0cnplbmkgdcW8eXRrb3duaWthXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OAorbXNnaWQgIiAtdywgLS1mb2xsb3cgICAgICAgICAgICAgICAgd2FpdCBmb3IgbmV3IG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdywgLS1mb2xsb3cgICAgICAgICAgICAgICAgb2N6ZWtpd2FuaWUgbmEgbm93ZSBrb211bmlrYXR5XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OQorbXNnaWQgIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgZGVjb2RlIGZhY2lsaXR5IGFuZCBsZXZlbCB0byByZWFkYWJsZSBzdHJpbmdcbiIKK21zZ3N0ciAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBkZWtvZG93YW5pZSBrYXRlZ29yaWkgaSBwb3ppb211IGRvIGZvcm15IGN6eXRlbG5lalxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTAKK21zZ2lkICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIHNob3cgdGltZSBkZWx0YSBiZXR3ZWVuIHByaW50ZWQgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICBwb2Rhd2FuaWUgcsOzxbxuaWN5IGN6YXN1IG1pxJlkenkga29tdW5pa2F0YW1pXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MQorbXNnaWQgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgc2hvdyBsb2NhbCB0aW1lIGFuZCB0aW1lIGRlbHRhIGluIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIHBvZGF3YW5pZSBjemFzdSBpIHLDs8W8bmljIHcgY3p5dGVsbnltIGZvcm1hY2llXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MgorbXNnaWQgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbi1yZWFkYWJsZSB0aW1lc3RhbXAgKG1heSBiZSBpbmFjY3VyYXRlISlcbiIKK21zZ3N0ciAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICB6bmFjem5pa2kgY3phc3UgY3p5dGVsbmUgZGxhIGx1ZHppIChtbmllaiBkb2vFgmFkbmUpXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MworbXNnaWQgIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAgZG9uJ3Qgc2hvdyBhbnkgdGltZXN0YW1wIHdpdGggbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBiZXogd3lwaXN5d2FuaWEgem5hY3puaWvDs3cgY3phc3UgeiBrb211bmlrYXRhbWlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk0Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXAgdXNpbmcgdGhlIGdpdmVuIGZvcm1hdDpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyJTdXNwZW5kaW5nL3Jlc3VtZSB3aWxsIG1ha2UgY3RpbWUgYW5kIGlzbyB0aW1lc3RhbXBzIGluYWNjdXJhdGUuXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHd5xZt3aWV0bGFuaWUgem5hY3puaWvDs3cgY3phc3UgdyBwb2RhbnltIGZvcm1hY2llOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsdGF8cmVsdGltZXxjdGltZXxub3RpbWV8aXNvXVxuIgorIlphbXJvxbxlbmllL3ByemVidWR6ZW5pZSBzcG93b2R1amUgbmllZG9rxYJhZG5vxZvEhyB6bmFjem5pa8OzdyBjemFzdSBjdGltZSBpIGlzby5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzAwCittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgZmFjaWxpdGllczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9ic8WCdWdpd2FuZSBrYXRlZ29yaWUgbG9nb3dhbmlhOlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDYKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBsZXZlbHMgKHByaW9yaXRpZXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiT2JzxYJ1Z2l3YW5lIHBvemlvbXkgKHByaW9yeXRldHkpIGxvZ293YW5pYTpcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZXZlbCAnJXMnIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6ZWFuYWxpem93YcSHIHBvemlvbXUgJyVzJyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbGV2ZWwgJyVzJyIKK21zZ3N0ciAibmllem5hbnkgcG96aW9tICclcyciCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyBrYXRlZ29yaWkgJyVzJyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAibmllem5hbmEga2F0ZWdvcmlhICclcyciCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyOAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW1hcDogJXMiCittc2dzdHIgIm5pZSBtb8W8bmEgd3lrb25hxIcgbW1hcDogJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNTYKK21zZ2lkICJpbnZhbGlkIGJ1ZmZlciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSB3YXJ0b8WbxIcgcm96bWlhcnUgYnVmb3JhIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDA5Cittc2dpZCAiLS1zaG93LWRlbHRhIGlzIGlnbm9yZWQgd2hlbiB1c2VkIHRvZ2V0aGVyIHdpdGggaXNvODYwMSB0aW1lIGZvcm1hdCIKK21zZ3N0ciAib3BjamEgLS1zaG93LWRlbHRhIGplc3QgaWdub3Jvd2FuYSB3IHByenlwYWRrdSB1xbx5Y2lhIHogZm9ybWF0ZW0gY3phc3UgaXNvODYwMSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQzMgorbXNnaWQgIi0tcmF3IGNhbiBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1sZXZlbCBvciAtLWZhY2lsaXR5IG9ubHkgd2hlbiByZWFkaW5nIG1lc3NhZ2VzIGZyb20gL2Rldi9rbXNnIgorbXNnc3RyICJvcGNqYSAtLXJhdyBtb8W8ZSBiecSHIHXFvHl0YSB3cmF6IHogLS1sZXZlbCBsdWIgLS1mYWNpbGl0eSB0eWxrbyBwcnp5IGN6eXRhbml1IGtvbXVuaWthdMOzdyB6IC9kZXYva21zZyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQ0MgorbXNnaWQgInJlYWQga2VybmVsIGJ1ZmZlciBmYWlsZWQiCittc2dzdHIgIm9kY3p5dCBidWZvcmEgasSFZHJhIG5pZSBwb3dpw7NkxYIgc2nEmSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQ2MQorbXNnaWQgImtsb2djdGwgZmFpbGVkIgorbXNnc3RyICJrbG9nY3RsIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+fDxtb3VudHBvaW50Pl1cbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gWzx1cnrEhWR6ZW5pZT58PHB1bmt0IG1vbnRvd2FuaWE+XVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzcKK21zZ2lkICJFamVjdCByZW1vdmFibGUgbWVkaWEuXG4iCittc2dzdHIgIld5c3V3YW5pZSBub8Wbbmlrw7N3IHd5am1vd2FsbnljaC5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTQwCittc2dpZCAiIgorIiAtYSwgLS1hdXRvIDxvbnxvZmY+ICAgICAgICAgdHVybiBhdXRvLWVqZWN0IGZlYXR1cmUgb24gb3Igb2ZmXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxzbG90PiAgICBzd2l0Y2ggZGlzY3Mgb24gYSBDRC1ST00gY2hhbmdlclxuIgorIiAtZCwgLS1kZWZhdWx0ICAgICAgICAgICAgICAgZGlzcGxheSBkZWZhdWx0IGRldmljZVxuIgorIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAgZWplY3QgZmxvcHB5XG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBkb24ndCBjYXJlIGFib3V0IGRldmljZSB0eXBlXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICB0b2dnbGUgbWFudWFsIGVqZWN0IHByb3RlY3Rpb24gb24vb2ZmXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBkbyBub3QgdW5tb3VudCBkZXZpY2UgZXZlbiBpZiBpdCBpcyBtb3VudGVkXG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBkbyBub3QgdW5tb3VudCBhbm90aGVyIHBhcnRpdGlvbnNcbiIKKyIgLW4sIC0tbm9vcCAgICAgICAgICAgICAgICAgIGRvbid0IGVqZWN0LCBqdXN0IHNob3cgZGV2aWNlIGZvdW5kXG4iCisiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICB1c2UgL3Byb2MvbW91bnRzIGluc3RlYWQgb2YgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICBlamVjdCB0YXBlXG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICBlamVjdCBDRC1ST01cbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIGVqZWN0IFNDU0kgZGV2aWNlXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICBjbG9zZSB0cmF5XG4iCisiIC1ULCAtLXRyYXl0b2dnbGUgICAgICAgICAgICB0b2dnbGUgdHJheVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgZW5hYmxlIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC14LCAtLWNkc3BlZWQgPHNwZWVkPiAgICAgICBzZXQgQ0QtUk9NIG1heCBzcGVlZFxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAgbGlzdCBDRC1ST00gYXZhaWxhYmxlIHNwZWVkc1xuIgorbXNnc3RyICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICB3xYLEhWN6ZW5pZS93ecWCxIVjemVuaWUgYXV0b21hdHljem5lZ28gd3lzdXdhbmlhXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxzbG90PiAgICBwcnplxYLEhWN6ZW5pZSBwxYJ5dCB3IHptaWVuaWFyY2UgQ0QtUk9NXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICB3eXBpc2FuaWUgZG9tecWbbG5lZ28gdXJ6xIVkemVuaWFcbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIHd5c3VuacSZY2llIGR5c2tpZXRraVxuIgorIiAtRiwgLS1mb3JjZSAgICAgICAgICAgICAgICAgYmV6IHNwcmF3ZHphbmlhIHJvZHphanUgdXJ6xIVkemVuaWFcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIHfFgsSFY3plbmllL3d5xYLEhWN6ZW5pZSBibG9rYWR5IHLEmWN6bmVnbyB3eXN1d2FuaWFcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIGJleiBvZG1vbnRvd3l3YW5pYSB1cnrEhWR6ZW5pYSBraWVkeSB6YW1vbnRvd2FuZVxuIgorIiAtTSwgLS1uby1wYXJ0aXRpb25zLXVubW91bnQgYmV6IG9kbW9udG93eXdhbmlhIGlubnljaCBwYXJ0eWNqaVxuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgYmV6IHd5c3V3YW5pYSwgc2FtbyB3c2themFuaWUgdXJ6xIVkemVuaWFcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIHXFvHljaWUgL3Byb2MvbW91bnRzIHphbWlhc3QgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICB3eXN1bmnEmWNpZSB0YcWbbXlcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIHd5c3VuacSZY2llIHDFgnl0eSBDRC1ST01cbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIHd5c3VuacSZY2llIHogdXJ6xIVkemVuaWEgU0NTSVxuIgorIiAtdCwgLS10cmF5Y2xvc2UgICAgICAgICAgICAgemFta25pxJljaWUgc3p1ZmxhZHlcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIHByemXFgsSFY3plbmllIHN6dWZsYWR5XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICB3xYLEhWN6ZW5pZSBzemN6ZWfDs8WCb3d5Y2gga29tdW5pa2F0w7N3XG4iCisiIC14LCAtLWNkc3BlZWQgPHN6eWJrb8WbxIc+ICAgIHVzdGF3aWVuaWUgbWFrc3ltYWxuZWogcHLEmWRrb8WbY2kgQ0QtUk9NLXVcbiIKKyIgLVgsIC0tbGlzdHNwZWVkICAgICAgICAgICAgIHd5cGlzYW5pZSBkb3N0xJlwbnljaCBwcsSZZGtvxZtjaSBDRC1ST00tdVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNjQKK21zZ2lkICIiCisiXG4iCisiQnkgZGVmYXVsdCB0cmllcyAtciwgLXMsIC1mLCBhbmQgLXEgaW4gb3JkZXIgdW50aWwgc3VjY2Vzcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkRvbXnFm2xuZSBwcsOzYm93YW5lIHPEhSBrb2xlam5vIC1yLCAtcywgLWYgaSAtcSBkbyBwaWVyd3N6ZWdvIHBvd29kemVuaWEuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxMAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jaGFuZ2Vyc2xvdC8tYyBvcHRpb24iCittc2dzdHIgImLFgsSZZG55IGFyZ3VtZW50IG9wY2ppIC0tY2hhbmdlcnNsb3QvLWMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxNAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jZHNwZWVkLy14IG9wdGlvbiIKK21zZ3N0ciAiYsWCxJlkbnkgYXJndW1lbnQgb3BjamkgLS1jZHNwZWVkLy14IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMjYKK21zZ2lkICJDRC1ST00gYXV0by1lamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAicG9sZWNlbmllIGF1dG9tYXR5Y3puZWdvIHd5c3V3YW5pYSBDRC1ST00tdSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MAorbXNnaWQgIkNELVJPTSBkb29yIGxvY2sgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiYmxva2FkYSBkcnp3aWN6ZWsgbmFwxJlkdSBDRC1ST00gbmllIGplc3Qgb2JzxYJ1Z2l3YW5hIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDIKK21zZ2lkICJvdGhlciB1c2VycyBoYXZlIHRoZSBkcml2ZSBvcGVuIGFuZCBub3QgQ0FQX1NZU19BRE1JTiIKK21zZ3N0ciAiaW5uaSB1xbx5dGtvd25pY3kgbWFqxIUgbmFwxJlkIG90d2FydHkgaSBicmFrIHVwcmF3bmllbmlhIENBUF9TWVNfQURNSU4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0NAorbXNnaWQgIkNELVJPTSBsb2NrIGRvb3IgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgInBvbGVjZW5pZSBibG9rb3dhbmlhIHd5c3V3YW5pYSBDRC1ST00tdSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0OQorbXNnaWQgIkNELURyaXZlIG1heSBOT1QgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgInDFgnl0eSBDRCBOSUUgbW/FvG5hIHd5c3VuxIXEhyBwcnp5Y2lza2llbSBuYSB1cnrEhWR6ZW5pdSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzUxCittc2dpZCAiQ0QtRHJpdmUgbWF5IGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICJwxYJ5dMSZICIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzYyCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBkaXNjIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJwb2xlY2VuaWUgd3lib3J1IHDFgnl0eSBDRC1ST00gbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjYKK21zZ2lkICJDRC1ST00gbG9hZCBmcm9tIHNsb3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgInBvbGVjZW5pZSB6YcWCYWRvd2FuaWEgcMWCeXR5IENELVJPTSB6ZSBzbG90dSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2OAorbXNnaWQgIklERS9BVEFQSSBDRC1ST00gY2hhbmdlciBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgInptaWVuaWFya2EgQ0QtUk9NIElERS9BVEFQSSBuaWUgamVzdCBvYnPFgnVnaXdhbmEgcHJ6ZXogdG8gasSFZHJvXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NgorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJwb2xlY2VuaWUgemFta25pxJljaWEgc3p1ZmxhZHkgQ0QtUk9NLXUgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODgKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAicG9sZWNlbmllIHphbWtuacSZY2lhIHN6dWZsYWR5IENELVJPTS11IG5pZSBqZXN0IG9ic8WCdWdpd2FuZSBwcnpleiB0byBqxIVkcm9cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDA1Cittc2dpZCAiQ0QtUk9NIGVqZWN0IHVuc3VwcG9ydGVkIgorbXNnc3RyICJ3eXN1d2FuaWUgQ0QtUk9NLXUgbmllIGplc3Qgb2JzxYJ1Z2l3YW5lIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzMgc3lzLXV0aWxzL2VqZWN0LmM6NDU2IHN5cy11dGlscy9lamVjdC5jOjEwMTEKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgInBvbGVjZW5pZSB3eXN1bmnEmWNpYSBDRC1ST00tdSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzNgorbXNnaWQgIm5vIENELVJPTSBpbmZvcm1hdGlvbiBhdmFpbGFibGUiCittc2dzdHIgImJyYWsgZG9zdMSZcG55Y2ggaW5mb3JtYWNqaSBvIG5hcMSZZHppZSBDRC1ST00iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzOQorbXNnaWQgIkNELVJPTSBkcml2ZSBpcyBub3QgcmVhZHkiCittc2dzdHIgIm5hcMSZZCBDRC1ST00gbmllIGplc3QgZ290b3d5IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODIKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJwb2xlY2VuaWUgd3lib3J1IHByxJlka2/Fm2NpIENELVJPTS11IG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDg0IHN5cy11dGlscy9lamVjdC5jOjU3MAorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsIgorbXNnc3RyICJwb2xlY2VuaWUgd3lib3J1IHByxJlka2/Fm2NpIENELVJPTS11IG5pZSBqZXN0IG9ic8WCdWdpd2FuZSBwcnpleiB0byBqxIVkcm8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmRpbmcgQ0QtUk9NIG5hbWUiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgb2RuYWxlxbrEhyBuYXp3eSBDRC1ST00tdSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gc2nEmSBvZGN6eXRhxIcgcHLEmWRrb8WbY2kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU0NAorbXNnaWQgImZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgb2Rjenl0YcSHIHByxJlka2/Fm2NpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1ODgKK21zZ2lkICJub3QgYW4gc2cgZGV2aWNlLCBvciBvbGQgc2cgZHJpdmVyIgorbXNnc3RyICJuaWUgamVzdCB0byB1cnrEhWR6ZW5pZSBzZyBhbmkgc3Rhcnkgc3Rlcm93bmlrIHNnIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubW91bnRpbmciCittc2dzdHIgIiVzOiBvZG1vbnRvd3l3YW5pZSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njc1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBleGVjIC9iaW4vdW1vdW50IG9mIGAlcyciCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB1cnVjaG9tacSHIC9iaW4vdW1vdW50IGAlcyciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY3OAorbXNnaWQgInVuYWJsZSB0byBmb3JrIgorbXNnc3RyICJuaWUgbW/FvG5hIHd5a29uYcSHIGZvcmsiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJvZG1vbnRvd2FuaWUgYCVzJyBuaWUgemFrb8WEY3p5xYJvIHNpxJkgcG9wcmF3bmllIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGZhaWxlZFxuIgorbXNnc3RyICJvZG1vbnRvd2FuaWUgYCVzJyBuaWUgcG93aW9kxYJvIHNpxJlcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzMwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IHRhYmxlIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6ZWFuYWxpem93YcSHIHRhYmxpY3kgbW9udG93YcWEIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3OTEgc3lzLXV0aWxzL2VqZWN0LmM6ODkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudGVkIG9uICVzIgorbXNnc3RyICIlczogemFtb250b3dhbmUgcG9kICVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MzMKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byBhdXRvIgorbXNnc3RyICJ1c3Rhd2lhbmllIHByxJlka2/Fm2NpIENELVJPTS11IG5hIGF1dG9tYXR5Y3puxIUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzNQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byAlbGRYIgorbXNnc3RyICJ1c3Rhd2lhbmllIHByxJlka2/Fm2NpIENELVJPTS11IG5hICVsZFgiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg2MQorIywgYy1mb3JtYXQKK21zZ2lkICJkZWZhdWx0IGRldmljZTogYCVzJyIKK21zZ3N0ciAidXJ6xIVkemVuaWUgZG9tecWbbG5lOiBgJXMnIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgZGVmYXVsdCBkZXZpY2UgYCVzJyIKK21zZ3N0ciAidcW8eWNpZSB1cnrEhWR6ZW5pYSBkb215xZtsbmVnbyBgJXMnIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODYgc3lzLXV0aWxzL3J0Y3dha2UuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBmaW5kIGRldmljZSIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gc2nEmSBvZG5hbGXFusSHIHVyesSFZHplbmlhIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIG5hbWUgaXMgYCVzJyIKK21zZ3N0ciAibmF6d2EgdXJ6xIVkemVuaWEgdG8gYCVzJyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODk0IHN5cy11dGlscy91bW91bnQuYzoyMDYgc3lzLXV0aWxzL3Vtb3VudC5jOjIzNQorIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQwOSBzeXMtdXRpbHMvdW1vdW50LmM6NDMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgbW91bnRlZCIKK21zZ3N0ciAiJXM6IG5pZSB6YW1vbnRvd2FueSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNjIGRldmljZTogJXMgKGRpc2sgZGV2aWNlIHdpbGwgYmUgdXNlZCBmb3IgZWplY3QpIgorbXNnc3RyICIlczogdXJ6xIVkemVuaWUgZHlza293ZTogJXMgKHpvc3RhbmllIHXFvHl0ZSBkbyB3eXN1bmnEmWNpYSkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIG1vdW50cG9pbnQgb3IgZGV2aWNlIHdpdGggdGhlIGdpdmVuIG5hbWUiCittc2dzdHIgIiVzOiBuaWUgb2RuYWxlemlvbm8gcHVua3R1IG1vbnRvd2FuaWEgYW5pIHVyesSFZHplbmlhIG8gcG9kYW5laiBuYXp3aWUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgd2hvbGUtZGlzayBkZXZpY2UiCittc2dzdHIgIiVzOiB1cnrEhWR6ZW5pZSBvYmVqbXVqxIVjZSBjYcWCeSBkeXNrIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBob3QtcGx1Z2dhYmxlIGRldmljZSIKK21zZ3N0ciAiJXM6IG5pZSBqZXN0IHVyesSFZHplbmllbSB0eXB1IGhvdHBsdWciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxNworIywgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgaXMgYCVzJyIKK21zZ3N0ciAidXJ6xIVkemVuaWUgdG8gYCVzJyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTE4Cittc2dpZCAiZXhpdGluZyBkdWUgdG8gLW4vLS1ub29wIG9wdGlvbiIKK21zZ3N0ciAiemFrb8WEY3plbmllIHogcG93b2R1IG9wY2ppIC1uLy0tbm9vcCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlbmFibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiVzOiB3xYLEhWN6YW5pZSB0cnlidSBhdXRvbWF0eWN6bmVnbyB3eXN1d2FuaWEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiJXM6IHd5xYLEhWN6YW5pZSB0cnlidSBhdXRvbWF0eWN6bmVnbyB3eXN1d2FuaWEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2luZyB0cmF5IgorbXNnc3RyICIlczogemFteWthbmllIHN6dWZsYWR5IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiVzOiBwcnplxYLEhWN6YW5pZSBzenVmbGFkeSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsaXN0aW5nIENELVJPTSBzcGVlZCIKK21zZ3N0ciAiJXM6IHd5cGlzeXdhbmllIHByxJlka2/Fm2NpIENELVJPTS11IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBkZXZpY2UgaW4gdXNlIgorbXNnc3RyICJixYLEhWQ6ICVzOiB1cnrEhWR6ZW5pZSB3IHXFvHljaXUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VsZWN0aW5nIENELVJPTSBkaXNjICMlbGQiCittc2dzdHIgIiVzOiB3eWLDs3IgZHlza3UgQ0QtUk9NICMlbGQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBDRC1ST00gZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiJXM6IHByw7NiYSB3eXN1bmnEmWNpYSBwcnp5IHXFvHljaXUgcG9sZWNlbmlhIGRsYSBDRC1ST00tdSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMAorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAicG9sZWNlbmllIHd5c3VuacSZY2lhIGRsYSBDRC1ST00tdSBzacSZIHBvd2lvZMWCbyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIFNDU0kgY29tbWFuZHMiCittc2dzdHIgIiVzOiBwcsOzYmEgd3lzdW5pxJljaWEgcHJ6eSB1xbx5Y2l1IHBvbGVjZcWEIFNDU0kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTcKK21zZ2lkICJTQ1NJIGVqZWN0IHN1Y2NlZWRlZCIKK21zZ3N0ciAid3lzdW5pxJljaWUgcHJ6eSB1xbx5Y2l1IHBvbGVjZcWEIFNDU0kgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTgKK21zZ2lkICJTQ1NJIGVqZWN0IGZhaWxlZCIKK21zZ3N0ciAid3lzdW5pxJljaWUgcHJ6eSB1xbx5Y2l1IHBvbGVjZcWEIFNDU0kgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgZmxvcHB5IGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiVzOiBwcsOzYmEgd3lzdW5pxJljaWEgcHJ6eSB1xbx5Y2l1IHBvbGVjZW5pYSBkbGEgZHlza2lldGVrIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI0Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICJwb2xlY2VuaWUgd3lzdW5pxJljaWEgZHlza2lldGtpIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI1Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJwb2xlY2VuaWUgd3lzdW5pxJljaWEgZHlza2lldGtpIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIHRhcGUgb2ZmbGluZSBjb21tYW5kIgorbXNnc3RyICIlczogcHLDs2JhIHd5c3VuacSZY2lhIHByenkgdcW8eWNpdSBwb2xlY2VuaWEgb2TFgsSFY3plbmlhIHRhxZtteSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMQorbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAicG9sZWNlbmllIG9kxYLEhWN6ZW5pYSB0YcWbbXkgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzIKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgInBvbGVjZW5pZSBvZMWCxIVjemVuaWEgdGHFm215IG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzNgorbXNnaWQgInVuYWJsZSB0byBlamVjdCIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHd5c3VuxIXEhyBub8WbbmlrYSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGVuYW1lPlxuIgorbXNnc3RyICIgJXMgW29wY2plXSA8bmF6d2FfcGxpa3U+XG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4MQorbXNnaWQgIlByZWFsbG9jYXRlIHNwYWNlIHRvLCBvciBkZWFsbG9jYXRlIHNwYWNlIGZyb20gYSBmaWxlLlxuIgorbXNnc3RyICJQcnp5ZHppZWxlbmllIG1pZWpzY2EgbHViIHp3b2xuaWVuaWUgbWllanNjYSB6IHBsaWt1LlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODQKK21zZ2lkICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgcmVtb3ZlIGEgcmFuZ2UgZnJvbSB0aGUgZmlsZVxuIgorbXNnc3RyICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgdXN1bmnEmWNpZSBwcnplZHppYcWCdSB6IHBsaWt1XG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NQorbXNnaWQgIiAtZCwgLS1kaWctaG9sZXMgICAgICBkZXRlY3QgemVyb2VzIGFuZCByZXBsYWNlIHdpdGggaG9sZXNcbiIKK21zZ3N0ciAiIC1kLCAtLWRpZy1ob2xlcyAgICAgIHd5a3J5Y2llIHplciBpIHphc3TEhXBpZW5pZSBpY2ggZHppdXJhbWlcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg2Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgIGxlbmd0aCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1sLCAtLWxlbmd0aCA8bGljemJhPiBkxYJ1Z2/Fm8SHIGRsYSBvcGVyYWNqaSBwcnplZHppYcWCb3d5Y2gsIHcgYmFqdGFjaFxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODcKK21zZ2lkICIgLW4sIC0ta2VlcC1zaXplICAgICAgbWFpbnRhaW4gdGhlIGFwcGFyZW50IHNpemUgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgIHphY2hvd2FuaWUgd2lkb2N6bmVnbyByb3ptaWFydSBwbGlrdVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODgKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgb2Zmc2V0IGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIgLW8gLS1vZmZzZXQgPGlsZT4gICAgb2Zmc2V0IGRsYSBvcGVyYWNqaSBwcnplZHppYcWCb3d5Y2gsIHcgYmFqdGFjaFxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODkKK21zZ2lkICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVwbGFjZSBhIHJhbmdlIHdpdGggYSBob2xlIChpbXBsaWVzIC1uKVxuIgorbXNnc3RyICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgemFzdMSFcGllbmllIHByemVkemlhxYJ1IGR6aXVyxIUgKHfFgsSFY3phIC1uKVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTAKK21zZ2lkICIgLXosIC0temVyby1yYW5nZSAgICAgemVybyBhbmQgZW5zdXJlIGFsbG9jYXRpb24gb2YgYSByYW5nZVxuIgorbXNnc3RyICIgLXosIC0temVyby1yYW5nZSAgICAgd3l6ZXJvd2FuaWUgaSB6YXBld25pZW5pZSBwcnp5ZHppZWxlbmlhIHByemVkemlhxYJ1XG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMjYKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkOiBrZWVwIHNpemUgbW9kZSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiZmFsbG9jYXRlIG5pZSBwb3dpb2TFgm8gc2nEmTogdHJ5YiB1dHJ6eW15d2FuaWEgcm96bWlhcnUgbmllIGplc3Qgb2JzxYJ1Z2l3YW55IgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTI3Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZCIKK21zZ3N0ciAiZmFsbG9jYXRlIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBmYWlsZWQiCittc2dzdHIgIiVzOiBvZGN6eXQgbmllIHBvd2nDs2TFgiBzacSZIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJWp1IGJ5dGVzKSBjb252ZXJ0ZWQgdG8gc3BhcnNlIGhvbGVzLlxuIgorbXNnc3RyICIlczogJXMgKGJhanTDs3c6ICVqdSkgcHJ6ZWtzenRhxYJjb25vIG5hIHJ6YWRraWUgZHppdXJ5LlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzQ2IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExOAorbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZCIKK21zZ3N0ciAibmllIHBvZGFubyBuYXp3eSBwbGlrdSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM1OCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzY0Cittc2dpZCAiaW52YWxpZCBsZW5ndGggdmFsdWUgc3BlY2lmaWVkIgorbXNnc3RyICJwb2Rhbm8gYsWCxJlkbsSFIHdhcnRvxZvEhyBkxYJ1Z2/Fm2NpIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzYyCittc2dpZCAibm8gbGVuZ3RoIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAibmllIHBvZGFubyBhcmd1bWVudHUgZMWCdWdvxZtjaSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2NworbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAicG9kYW5vIGLFgsSZZG7EhSB3YXJ0b8WbxIcgb2Zmc2V0dSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gPGNvbW1hbmQ+IFs8YXJndW1lbnQ+Li4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gLWMgPGNvbW1hbmQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlIGRlc2NyaXB0b3IgbnVtYmVyPlxuIgorbXNnc3RyICIiCisiICUxJHMgW29wY2plXSA8cGxpaz58PGthdGFsb2c+IDxwb2xlY2VuaWU+IFs8YXJndW1lbnR5Pi4uLl1cbiIKKyIgJTEkcyBbb3BjamVdIDxwbGlrPnw8a2F0YWxvZz4gLWMgPHBvbGVjZW5pZT5cbiIKKyIgJTEkcyBbb3BjamVdIDxudW1lciBkZXNrcnlwdG9yYSBwbGlrdT5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTkKK21zZ2lkICJNYW5hZ2UgZmlsZSBsb2NrcyBmcm9tIHNoZWxsIHNjcmlwdHMuXG4iCittc2dzdHIgIlphcnrEhWR6YW5pZSBibG9rYWRhbWkgcGxpa293eW1pIHogcG96aW9tdSBza3J5cHTDs3cgcG93xYJva2kuXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYyCittc2dpZCAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBnZXQgYSBzaGFyZWQgbG9ja1xuIgorbXNnc3RyICIgLXMsIC0tc2hhcmVkICAgICAgICAgICAgIHBvYnJhbmllIGJsb2thZHkgd3Nww7PFgmR6aWVsb25lalxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MworbXNnaWQgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAgZ2V0IGFuIGV4Y2x1c2l2ZSBsb2NrIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIHBvYnJhbmllIGJsb2thZHkgd3nFgsSFY3puZWogKGRvbXnFm2xuZSlcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjQKK21zZ2lkICIgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIHJlbW92ZSBhIGxvY2tcbiIKK21zZ3N0ciAiIC11LCAtLXVubG9jayAgICAgICAgICAgICB1c3VuacSZY2llIGJsb2thZHlcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjUKK21zZ2lkICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIGZhaWwgcmF0aGVyIHRoYW4gd2FpdFxuIgorbXNnc3RyICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIG5pZXBvd29kemVuaWUgemFtaWFzdCBvY3pla2l3YW5pYVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NgorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCittc2dzdHIgIiAtdywgLS10aW1lb3V0IDxzZWs+ICAgICAgb2N6ZWtpd2FuaWUgb2dyYW5pY3pvbsSFIGxpY3pixJkgc2VrdW5kXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY3Cittc2dpZCAiIC1FLCAtLWNvbmZsaWN0LWV4aXQtY29kZSA8bnVtYmVyPiAgZXhpdCBjb2RlIGFmdGVyIGNvbmZsaWN0IG9yIHRpbWVvdXRcbiIKK21zZ3N0ciAiIC1FLCAtLWNvbmZsaWN0LWV4aXQtY29kZSA8a29kPiAga29kIHd5asWbY2lhIHBvIGtvbmZsaWtjaWUgbHViIHByemVrcm9jemVuaXUgY3phc3VcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjgKK21zZ2lkICIgLW8sIC0tY2xvc2UgICAgICAgICAgICAgIGNsb3NlIGZpbGUgZGVzY3JpcHRvciBiZWZvcmUgcnVubmluZyBjb21tYW5kXG4iCittc2dzdHIgIiAtbywgLS1jbG9zZSAgICAgICAgICAgICAgemFta25pxJljaWUgZGVza3J5cHRvcmEgcGxpa3UgcHJ6ZWQgd3lrb25hbmllbSBwb2xlY2VuaWFcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjkKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gIHJ1biBhIHNpbmdsZSBjb21tYW5kIHN0cmluZyB0aHJvdWdoIHRoZSBzaGVsbFxuIgorbXNnc3RyICIgLWMsIC0tY29tbWFuZCA8cG9sZWNlbmllPiAgdXJ1Y2hvbWllbmllIHBvbGVjZW5pYSBwb3ByemV6IHBvd8WCb2vEmVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MAorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAgZXhlY3V0ZSBjb21tYW5kIHdpdGhvdXQgZm9ya2luZ1xuIgorbXNnc3RyICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgIHd5d2/FgmFuaWUgcG9sZWNlbmlhIGJleiBvZGdhxYLEmXppYW5pYSBwcm9jZXN1XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcxCittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICBpbmNyZWFzZSB2ZXJib3NpdHlcbiIKK21zZ3N0ciAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICB6d2nEmWtzemVuaWUgc3pjemVnw7PFgm93b8WbY2kga29tdW5pa2F0w7N3XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjEwNworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBsb2NrIGZpbGUgJXMiCittc2dzdHIgIm5pZSBtb8W8bmEgb3R3b3J6ecSHIHBsaWt1IGJsb2thZHkgJXMiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIwNQorbXNnaWQgImludmFsaWQgdGltZW91dCB2YWx1ZSIKK21zZ3N0ciAiYsWCxJlkbmEgd2FydG/Fm8SHIGxpbWl0dSBjemFzdSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjA5Cittc2dpZCAiaW52YWxpZCBleGl0IGNvZGUiCittc2dzdHIgImLFgsSZZG55IGtvZCB3eWrFm2NpYSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjI4Cittc2dpZCAidGhlIC0tbm8tZm9yayBhbmQgLS1jbG9zZSBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIm9wY2plIC0tbm8tZm9yayBpIC0tY2xvc2UgbmllIHPEhSB6Z29kbmUiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBleGFjdGx5IG9uZSBjb21tYW5kIGFyZ3VtZW50IgorbXNnc3RyICIlcyB3eW1hZ2EgZG9rxYJhZG5pZSBqZWRuZWdvIGFyZ3VtZW50dSBixJlkxIVjZWdvIHBvbGVjZW5pZW0iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NAorbXNnaWQgImJhZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgImLFgsSZZG55IGRlc2tyeXB0b3IgcGxpa3UiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NworbXNnaWQgInJlcXVpcmVzIGZpbGUgZGVzY3JpcHRvciwgZmlsZSBvciBkaXJlY3RvcnkiCittc2dzdHIgInd5bWFnYSBkZXNrcnlwdG9yYSBwbGlrdSwgcGxpa3UgbHViIGthdGFsb2d1IgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODEKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGxvY2siCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwb2JyYcSHIGJsb2thZHkiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4OAorbXNnaWQgInRpbWVvdXQgd2hpbGUgd2FpdGluZyB0byBnZXQgbG9jayIKK21zZ3N0ciAidXDFgnluxIXFgiBsaW1pdCBjemFzdSBwb2RjemFzIG9jemVraXdhbmlhIG5hIGJsb2thZMSZIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldHRpbmcgbG9jayB0b29rICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiVzOiBwb2JyYW5pZSBibG9rYWR5IHphasSZxYJvICVsZC4lMDZsZCBzZWt1bmRcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAiJXM6IHd5a29ueXdhbmllICVzXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50cG9pbnQ+XG4iCittc2dzdHIgIiAlcyBbb3BjamVdIDxwdW5rdF9tb250b3dhbmlhPlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1MworbXNnaWQgIlN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbSAoZXh0My80LCBSZWlzZXJGUywgSkZTLCBYRlMpLlxuIgorbXNnc3RyICJaYW1yb8W8ZW5pZSBkb3N0xJlwdSBkbyBzeXN0ZW11IHBsaWvDs3cgKGV4dDMvNCwgUmVpc2VyRlMsIEpGUywgWEZTKS5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTYKK21zZ2lkICIgLWYsIC0tZnJlZXplICAgICAgZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAtZiwgLS1mcmVlemUgICAgICB6YW1yb8W8ZW5pZSBzeXN0ZW11IHBsaWvDs3dcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTcKK21zZ2lkICIgLXUsIC0tdW5mcmVlemUgICAgdW5mcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC11LCAtLXVuZnJlZXplICAgIG9kbXJvxbxlbmllIHN5c3RlbXUgcGxpa8Ozd1xuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTYKK21zZ2lkICJuZWl0aGVyIC0tZnJlZXplIG9yIC0tdW5mcmVlemUgc3BlY2lmaWVkIgorbXNnc3RyICJuaWUgcG9kYW5vIC0tZnJlZXplIGFuaSAtLXVuZnJlZXplIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXM6IG5pZSBqZXN0IGthdGFsb2dpZW0iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjE0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHphbXJvxbxlbmllIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIiVzOiBvZG1yb8W8ZW5pZSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIlczogbmllIGplc3Qga2F0YWxvZ2llbSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBGSVRSSU0gaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogaW9jdGwgRklUUklNIG5pZSBwb3dpw7NkxYIgc2nEmSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBoZXJlIGlzIGEgdmVyeSBsYXJnZSBudW1iZXIuCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJTxQUkl1NjQ+IGJ5dGVzKSB0cmltbWVkXG4iCittc2dzdHIgIiVzOiBvYmNpxJl0byAlcyAoYmFqdMOzdzogJTxQUkl1NjQ+KVxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTkxIHN5cy11dGlscy9zd2Fwb24uYzo3Mjkgc3lzLXV0aWxzL3Vtb3VudC5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgd3Bpc3UgJXMiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnQgcG9pbnQ+XG4iCittc2dzdHIgIiAlcyBbb3BjamVdIDxwdW5rdCBtb250b3dhbmlhPlxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU0Cittc2dpZCAiRGlzY2FyZCB1bnVzZWQgYmxvY2tzIG9uIGEgbW91bnRlZCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJQb3J6dWNlbmllIG5pZSB1xbx5d2FueWNoIGJsb2vDs3cgbmEgemFtb250b3dhbnltIHN5c3RlbWllIHBsaWvDs3cuXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTcKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB0cmltIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIHRoYXQgYXJlIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICBvYmNpxJljaWUgd3N6eXN0a2ljaCB6YW1vbnRvd2FueWNoLCBvYnPFgnVnaXdhbnljaCBzeXN0LiBwbC5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1OAorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIHRoZSBvZmZzZXQgaW4gYnl0ZXMgdG8gc3RhcnQgZGlzY2FyZGluZyBmcm9tXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPGlsZT4gIG9mZnNldCB3IGJhanRhY2ggZG8gcm96cG9jesSZY2lhIHVzdXdhbmlhXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC1sLCAtLWxlbmd0aCA8aWxlPiAgbGljemJhIGJhanTDs3cgZG8gdXN1bmnEmWNpYVxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYwCittc2dpZCAiIC1tLCAtLW1pbmltdW0gPG51bT4gdGhlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCB0byBkaXNjYXJkXG4iCittc2dzdHIgIiAtbSwgLS1taW5pbXVtIDxpbGU+IG1pbmltYWxuYSBkxYJ1Z2/Fm8SHIGVrc3RlbnR1IGRvIHVzdW5pxJljaWFcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IG51bWJlciBvZiBkaXNjYXJkZWQgYnl0ZXNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgd3lwaXNhbmllIGxpY3pieSB1c3V3YW55Y2ggYmFqdMOzd1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzE2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCIKK21zZ3N0ciAibmllenJvenVtaWHFgmEgbWluaW1hbG5laiBkxYJ1Z2/Fm8SHIGVrc3RlbnR1IgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzI5Cittc2dpZCAibm8gbW91bnRwb2ludCBzcGVjaWZpZWQiCittc2dzdHIgIm5pZSBwb2Rhbm8gcHVua3R1IG1vbnRvd2FuaWEiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZSBkaXNjYXJkIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIlczogb3BlcmFjamEgdXN1bmnEmWNpYSBuaWUgamVzdCBvYnPFgnVnaXdhbmEiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkFzc3VtaW5nIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gJXMgdGltZS5cbiIKK21zZ3N0ciAiUHJ6eWrEmXRvLCDFvGUgemVnYXIgc3ByesSZdG93eSBwcnplY2hvd3VqZSBjemFzICVzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI0NyBzeXMtdXRpbHMvaHdjbG9jay5jOjMzNAorbXNnaWQgIlVUQyIKK21zZ3N0ciAiVVRDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI0NyBzeXMtdXRpbHMvaHdjbG9jay5jOjMzMworbXNnaWQgImxvY2FsIgorbXNnc3RyICJsb2thbG55IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMxOAorbXNnaWQgIiIKKyJXYXJuaW5nOiB1bnJlY29nbml6ZWQgdGhpcmQgbGluZSBpbiBhZGp0aW1lIGZpbGVcbiIKKyIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pIgorbXNnc3RyICIiCisiVXdhZ2E6IG5pZXJvenBvem5hbmEgdHJ6ZWNpYSBsaW5pYSB3IHBsaWt1IGFkanRpbWVcbiIKKyIoT2N6ZWtpd2FubzogYFVUQycsIGBMT0NBTCcgbHViIG5pY3plZ28pLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBkcmlmdCBhZGp1c3RtZW50IGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICJPc3RhdG5pYSBrb3Jla3RhIG5pZWRva8WCYWRub8WbY2kgd3lrb25hbmEgJWxkIHNla3VuZCBwbyAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgY2FsaWJyYXRpb24gZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIk9zdGF0bmlhIGthbGlicmFjamEgd3lrb25hbmEgJWxkIHNla3VuZCBwbyAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkhhcmR3YXJlIGNsb2NrIGlzIG9uICVzIHRpbWVcbiIKK21zZ3N0ciAiWmVnYXIgc3ByesSZdG93eSBwcnplY2hvd3VqZSBjemFzICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzU4CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgZm9yIGNsb2NrIHRpY2suLi5cbiIKK21zZ3N0ciAiT2N6ZWtpd2FuaWUgbmEgcHJ6ZXNrb2sgemVnYXJhLi4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnN5bmNocm9uaXphdGlvbiBmYWlsZWRcbiIKK21zZ3N0ciAiLi4uc3luY2hyb25pemFjamEgbmllIHBvd2lvZMWCYSBzacSZXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmdvdCBjbG9jayB0aWNrXG4iCittc2dzdHIgIi4uLnd5xYJhcGFubyBwcnplc2tvayB6ZWdhcmFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZXMgaW4gaGFyZHdhcmUgY2xvY2s6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKK21zZ3N0ciAiQsWCxJlkbmUgd2FydG/Fm2NpIHcgemVnYXJ6ZSBzcHJ6xJl0b3d5bTogJTRkLSUuMmQtJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJIdyBjbG9jayB0aW1lIDogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiQ3phcyB6ZWdhcmEgc3ByesSZdG93ZWdvOiAlNGQtJS4yZC0lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNla3VuZCBwbyAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDY1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgcmVhZCBmcm9tIEhhcmR3YXJlIENsb2NrOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCittc2dzdHIgIkN6YXMgb2Rjenl0YW55IHogemVnYXJhIHNwcnrEmXRvd2VnbzogJTRkLSUuMmQtJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIEhhcmR3YXJlIENsb2NrIHRvICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICJVc3Rhd2lhbmllIHplZ2FyYSBzcHJ6xJl0b3dlZ28gbmEgJS4yZDolLjJkOiUuMmQgPSAlbGQgc2VrdW5kIG9kIDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2xvY2sgbm90IGNoYW5nZWQgLSB0ZXN0aW5nIG9ubHkuXG4iCittc2dzdHIgIlplZ2FyIG5pZSB6bWllbmlvbnkgLSB0byB0eWxrbyB0ZXN0LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYwMworIywgYy1mb3JtYXQKK21zZ2lkICJzbGVlcGluZyB+JWQgdXNlY1xuIgorbXNnc3RyICJvY3pla2l3YW5pZSB+JWQgdXNlY1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGp1bXBlZCBiYWNrd2FyZCAlLjZmIHNlY29uZHMgdG8gJWxkLiUwNmxkIC0gcmV0YXJnZXRpbmdcbiIKK21zZ3N0ciAiY3phcyBwcnplc2tvY3p5xYIgd3N0ZWN6ICUuNmYgc2VrIG5hICVsZC4lMDZsZCAtIHBvbm93bmUgd3lsaWN6YW5pZVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQuJTA2bGQgPCAlbGQuJTA2bGQgKCUuNmYpXG4iCittc2dzdHIgIiVsZC4lMDZsZCA8ICVsZC4lMDZsZCAoJS42ZilcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2VkIGl0IC0gJWxkLiUwNmxkIGlzIHRvbyBmYXIgcGFzdCAlbGQuJTA2bGQgKCUuNmYgPiAlLjZmKVxuIgorbXNnc3RyICJjaHliaWVuaWUgLSAlbGQuJTA2bGQgamVzdCB6YSBiYXJkem8gd3N0ZWN6IG9kICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlbGQuJTA2bGQgaXMgY2xvc2UgZW5vdWdoIHRvICVsZC4lMDZsZCAoJS42ZiA8ICUuNmYpXG4iCisiU2V0IFJUQyB0byAlbGQgKCVsZCArICVkOyByZWZzeXN0aW1lID0gJWxkLiUwNmxkKVxuIgorbXNnc3RyICIiCisiJWxkLiUwNmxkIGplc3Qgd3lzdGFyY3phasSFY28gYmxpc2tvICVsZC4lMDZsZCAoJS42ZiA8ICUuNmYpXG4iCisiVXN0YXdpZW5pZSBSVEMgbmEgJWxkICglbGQgKyAlZDsgcmVmc3lzdGltZSA9ICVsZC4lMDZsZClcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODgKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgcmVnaXN0ZXJzIGNvbnRhaW4gdmFsdWVzIHRoYXQgYXJlIGVpdGhlciBpbnZhbGlkIChlLmcuIDUwdGggZGF5IG9mIG1vbnRoKSBvciBiZXlvbmQgdGhlIHJhbmdlIHdlIGNhbiBoYW5kbGUgKGUuZy4gWWVhciAyMDk1KS4iCittc2dzdHIgIlJlamVzdHJ5IHplZ2FyYSBzcHJ6xJl0b3dlZ28gemF3aWVyYWrEhSB3YXJ0b8WbY2kgbmllcHJhd2lkxYJvd2UgKG5wLiA1MC4gZHppZcWEIG1pZXNpxIVjYSkgbHViIHNwb3phIHpha3Jlc3UsIGt0w7NyeSB0ZW4gcHJvZ3JhbSBtb8W8ZSBvYnPFgnXFvHnEhyAobnAuIHJvayAyMDk1KS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzI4Cittc2dpZCAiTm8gLS1kYXRlIG9wdGlvbiBzcGVjaWZpZWQuIgorbXNnc3RyICJOaWUgcG9kYW5vIG9wY2ppIC0tZGF0ZS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzM0Cittc2dpZCAiLS1kYXRlIGFyZ3VtZW50IHRvbyBsb25nIgorbXNnc3RyICJQYXJhbWV0ciAtLWRhdGUgemJ5dCBkxYJ1Z2kiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzQxCittc2dpZCAiIgorIlRoZSB2YWx1ZSBvZiB0aGUgLS1kYXRlIG9wdGlvbiBpcyBub3QgYSB2YWxpZCBkYXRlLlxuIgorIkluIHBhcnRpY3VsYXIsIGl0IGNvbnRhaW5zIHF1b3RhdGlvbiBtYXJrcy4iCittc2dzdHIgIiIKKyJXYXJ0b8WbxIcgb3BjamkgLS1kYXRlIG5pZSBqZXN0IHBvcHJhd27EhSBkYXTEhS5cbiIKKyJXIHN6Y3plZ8OzbG5vxZtjaSB6YXdpZXJhIHpuYWtpIGN5dG93YW5pYS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIklzc3VpbmcgZGF0ZSBjb21tYW5kOiAlc1xuIgorbXNnc3RyICJXeXdvxYJ5d2FuaWUgcG9sZWNlbmlhIGRhdGU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzUzCittc2dpZCAiVW5hYmxlIHRvIHJ1biAnZGF0ZScgcHJvZ3JhbSBpbiAvYmluL3NoIHNoZWxsLiBwb3BlbigpIGZhaWxlZCIKK21zZ3N0ciAiTmllIHVkYcWCbyBzacSZIHVydWNob21pxIcgcHJvZ3JhbXUgJ2RhdGUnIHBvd8WCb2vEhSAvYmluL3NoLiBwb3BlbigpIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzcG9uc2UgZnJvbSBkYXRlIGNvbW1hbmQgPSAlc1xuIgorbXNnc3RyICJvZHBvd2llZMW6IHogcG9sZWNlbmlhIGRhdGUgPSAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc2MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgdW5leHBlY3RlZCByZXN1bHRzLlxuIgorIlRoZSBjb21tYW5kIHdhczpcbiIKKyIgICVzXG4iCisiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyIgICVzIgorbXNnc3RyICIiCisiUG9sZWNlbmllIGRhdGUgd3l3b8WCYW5lIHByemV6ICVzIHp3csOzY2nFgm8gbmllb2N6ZWtpd2FueSB3eW5pay5cbiIKKyJXeWtvbmFuZSBwb2xlY2VuaWU6XG4iCisiICAlc1xuIgorIk90cnp5bWFuYSBvZHBvd2llZMW6OlxuIgorIiAgJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhbiBpbnRlZ2VyIHdoZXJlIHRoZSBjb252ZXJ0ZWQgdGltZSB2YWx1ZSB3YXMgZXhwZWN0ZWQuXG4iCisiVGhlIGNvbW1hbmQgd2FzOlxuIgorIiAgJXNcbiIKKyJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorIiAlc1xuIgorbXNnc3RyICIiCisiUG9sZWNlbmllIGRhdGUgd3l3b8WCYW5lIHByemV6ICVzIHp3csOzY2nFgm8gY2/FmyBpbm5lZ28gbmnFvCBsaWN6YmEgY2HFgmtvd2l0YSwgZ2R6aWUgb2N6ZWtpd2FubyBza29ud2VydG93YW5lZ28gY3phc3UuXG4iCisiV3lrb25hbmUgcG9sZWNlbmllOlxuIgorIiAgJXNcbiIKKyJPdHJ6eW1hbmEgb2Rwb3dpZWTFujpcbiIKKyIgICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzg2CisjLCBjLWZvcm1hdAorbXNnaWQgImRhdGUgc3RyaW5nICVzIGVxdWF0ZXMgdG8gJWxkIHNlY29uZHMgc2luY2UgMTk2OS5cbiIKK21zZ3N0ciAixYJhxYRjdWNoIGRhdGUgJXMgcsOzd255IGplc3QgJWxkIHNla3VuZCBvZCAxOTY5LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgyNAorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IHNldCB0aGUgU3lzdGVtIFRpbWUgZnJvbSBpdC4iCittc2dzdHIgIlplZ2FyIHNwcnrEmXRvd3kgbmllIHphd2llcmEgcHJhd2lkxYJvd2VnbyBjemFzdSwgd2nEmWMgbmllIG1vxbxuYSB6IG5pZWdvIHVzdGF3acSHIGN6YXN1IHN5c3RlbW93ZWdvLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NDMgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXk6XG4iCittc2dzdHIgIld5d2/Fgnl3YW5pZSBzZXR0aW1lb2ZkYXk6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQ0IHN5cy11dGlscy9od2Nsb2NrLmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCittc2dzdHIgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQ2IHN5cy11dGlscy9od2Nsb2NrLmM6OTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorbXNnc3RyICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTAgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgc3lzdGVtIGNsb2NrIGJlY2F1c2UgcnVubmluZyBpbiB0ZXN0IG1vZGUuXG4iCittc2dzdHIgIkJleiB1c3Rhd2lhbmlhIHplZ2FyYSBzeXN0ZW1vd2VnbyAtIHRyeWIgdGVzdG93eS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NjYgc3lzLXV0aWxzL2h3Y2xvY2suYzo5NjIKK21zZ2lkICJNdXN0IGJlIHN1cGVydXNlciB0byBzZXQgc3lzdGVtIGNsb2NrLiIKK21zZ3N0ciAiRG8gdXN0YXdpZW5pYSB6ZWdhcmEgc3lzdGVtb3dlZ28gdHJ6ZWJhIGJ5xIcgc3VwZXJ1xbx5dGtvd25pa2llbS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODY5IHN5cy11dGlscy9od2Nsb2NrLmM6OTY1Cittc2dpZCAic2V0dGltZW9mZGF5KCkgZmFpbGVkIgorbXNnc3RyICJzZXR0aW1lb2ZkYXkoKSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkN1cnJlbnQgc3lzdGVtIHRpbWU6ICVsZCA9ICVzXG4iCittc2dzdHIgIkFrdHVhbG55IGN6YXMgc3lzdGVtb3d5OiAlbGQgPSAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzMQorIywgYy1mb3JtYXQKK21zZ2lkICJcdFVUQzogJXNcbiIKK21zZ3N0ciAiXHRVVEM6ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIC0tdXBkYXRlLWRyaWZ0IG9wdGlvbiB3YXMgbm90IHVzZWQuXG4iCittc2dzdHIgIkJleiB6bWlhbnkgd3Nww7PFgmN6eW5uaWthIGtvcmVrdHksIHBvbmlld2HFvCBuaWUgcG9kYW5vIG9wY2ppIC0tdXBkYXRlLWRyaWZ0LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgSGFyZHdhcmUgQ2xvY2sgcHJldmlvdXNseSBjb250YWluZWQgZ2FyYmFnZS5cbiIKK21zZ3N0ciAiQmV6IHptaWFueSB3c3DDs8WCY3p5bm5pa2Ega29yZWt0eSwgcG9uaWV3YcW8IHplZ2FyIHNwcnrEmXRvd3kgcG9wcnplZG5pbyB6YXdpZXJhxYIgxZttaWVjaS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGxhc3QgY2FsaWJyYXRpb24gdGltZSBpcyB6ZXJvLFxuIgorInNvIGhpc3RvcnkgaXMgYmFkIGFuZCBjYWxpYnJhdGlvbiBzdGFydG92ZXIgaXMgbmVjZXNzYXJ5LlxuIgorbXNnc3RyICIiCisiQmV6IHptaWFueSB3c3DDs8WCY3p5bm5pa2Ega29yZWt0eSwgcG9uaWV3YcW8IGN6YXMgb3N0YXRuaWVqIGthbGlicmFjamkgamVzdCB6ZXJvd3ksXG4iCisid2nEmWMgaGlzdG9yaWEgamVzdCBixYLEmWRuYSBpIHRyemViYSBwb25vd25pZSB6YWN6xIXEhyBrYWxpYnJhY2rEmS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDExCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgaXQgaGFzIGJlZW4gbGVzcyB0aGFuIGZvdXIgaG91cnMgc2luY2UgdGhlIGxhc3QgY2FsaWJyYXRpb24uXG4iCittc2dzdHIgIkJleiB6bWlhbnkgd3Nww7PFgmN6eW5uaWthIGtvcmVrdHksIHBvbmlld2HFvCBvZCBwb3ByemVkbmllaiBrYWxpYnJhY2ppIG1pbsSZxYJvIG1uaWVqIG5pxbwgY3p0ZXJ5IGdvZHppbnkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnQgZmFjdG9yIHdhcyBjYWxjdWxhdGVkIGFzICVmIHNlY29uZHMvZGF5LlxuIgorIkl0IGlzIGZhciB0b28gbXVjaC4gUmVzZXR0aW5nIHRvIHplcm8uXG4iCittc2dzdHIgIiIKKyJXc3DDs8WCY3p5bm5payBrb3Jla3R5IHplZ2FyYSB6b3N0YcWCIHd5bGljem9ueSBuYSAlZiBzL2R6aWXFhC5cbiIKKyJKZXN0IHRvIHpkZWN5ZG93YW5pZSB6YSBkdcW8byAtIHByenl3csOzY29ubyB6ZXJvLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0ZWQgJWYgc2Vjb25kcyBpbiB0aGUgcGFzdCAlZiBzZWNvbmRzXG4iCisiaW4gc3BpdGUgb2YgYSBkcmlmdCBmYWN0b3Igb2YgJWYgc2Vjb25kcy9kYXkuXG4iCisiQWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBieSAlZiBzZWNvbmRzL2RheVxuIgorbXNnc3RyICIiCisiWmVnYXIgemJvY3p5xYIgbyAlZiBzZWt1bmQgcHJ6ZXogb3N0YXRuaWUgJWYgc2VrdW5kXG4iCisibWltbyB3c3DDs8WCY3p5bm5pa2Ega29yZWt0eSAlZiBzZWt1bmQvZHppZcWELlxuIgorIlptaWFuYSB3c3DDs8WCY3p5bm5pa2Ega29yZWt0eSBvICVmIHNla3VuZC9kemllxYRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVkIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlZCBzZWNvbmRzXG4iCittc2dzdHJbMF0gIkN6YXMgb2Qgb3N0YXRuaWVqIGtvcmVrdHkgdG8gJWQgc2VrdW5kYVxuIgorbXNnc3RyWzFdICJDemFzIG9kIG9zdGF0bmllaiBrb3Jla3R5IHRvICVkIHNla3VuZHlcbiIKK21zZ3N0clsyXSAiQ3phcyBvZCBvc3RhdG5pZWoga29yZWt0eSB0byAlZCBzZWt1bmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGN1bGF0ZWQgSGFyZHdhcmUgQ2xvY2sgZHJpZnQgaXMgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiT2JsaWN6b255IGRyeWYgemVnYXJhIHNwcnrEmXRvd2VnbyB0byAlbGQuJTA2bGQgc2VrdW5kXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEzMworIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgdXBkYXRpbmcgYWRqdGltZSBmaWxlIGJlY2F1c2Ugb2YgdGVzdGluZyBtb2RlLlxuIgorbXNnc3RyICJCZXogdWFrdHVhbG5pYW5pYSBwbGlrdSBhZGp0aW1lIC0gdHJ5YiB0ZXN0b3d5LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldvdWxkIGhhdmUgd3JpdHRlbiB0aGUgZm9sbG93aW5nIHRvICVzOlxuIgorIiVzIgorbXNnc3RyICIiCisiWmFwaXNhbm8gYnkgbmFzdMSZcHVqxIVjZSBkYW5lIGRvICVzOlxuIgorIiVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgaW4gaXQgKCVzKSBmb3Igd3JpdGluZyIKK21zZ3N0ciAiTmllIHVkYcWCbyBzacSZIG90d29yennEhyBwbGlrdSB6IHBhcmFtZXRyYW1pIGtvcmVrdHkgemVnYXJhICglcykgZG8gemFwaXN1IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNDkgc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCB1cGRhdGUgZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgKCVzKSBpbiBpdCIKK21zZ3N0ciAiTmllIHVkYcWCbyBzacSZIHVha3R1YWxuacSHIHBsaWt1IHogcGFyYW1ldHJhbWkga29yZWt0eSB6ZWdhcmEgKCVzKSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTY0Cittc2dpZCAiRHJpZnQgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIG5vdCB1cGRhdGVkLiIKK21zZ3N0ciAiUGFyYW1ldHJ5IGtvcmVrdHkgemVnYXJhIG5pZSB6b3N0YcWCeSB6YXBpc2FuZS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIwMAorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IGFkanVzdCBpdC4iCittc2dzdHIgIlplZ2FyIHNwcnrEmXRvd3kgbmllIHphd2llcmEgcHJhd2lkxYJvd2VnbyBjemFzdSwgd2nEmWMgbmllIG1vxbxuYSBnbyBza29yeWdvd2HEhy4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIwOAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGxhc3QgYWRqdXN0bWVudCB0aW1lIGlzIHplcm8sIHNvIGhpc3RvcnkgaXMgYmFkLlxuIgorbXNnc3RyICJCZXogdXN0YXdpYW5pYSB6ZWdhcmEsIHBvbmlld2HFvCBjemFzIG9zdGF0bmllaiBwb3ByYXdraSBqZXN0IHplcm93eSwgd2nEmWMgaGlzdG9yaWEgamVzdCBixYLEmWRuYS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjEyCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgZHJpZnQgZmFjdG9yICVmIGlzIGZhciB0b28gaGlnaC5cbiIKK21zZ3N0ciAiQmV6IHVzdGF3aWFuaWEgemVnYXJhLCB3c3DDs8WCY3p5bm5payBrb3Jla3R5ICVmIGplc3QgemRlY3lkb3dhbmllIHphIGR1xbx5LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gdXNhYmxlIGNsb2NrIGludGVyZmFjZSBmb3VuZC5cbiIKK21zZ3N0ciAiTmllIHpuYWxlemlvbm8gdcW8eXRlY3puZWdvIGludGVyZmVqc3UgemVnYXJhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmVlZGVkIGFkanVzdG1lbnQgaXMgbGVzcyB0aGFuIG9uZSBzZWNvbmQsIHNvIG5vdCBzZXR0aW5nIGNsb2NrLlxuIgorbXNnc3RyICJXeW1hZ2FuYSBrb3Jla3RhIGplc3QgbW5pZWpzemEgbmnFvCBqZWRuYSBzZWt1bmRhIC0gYmV6IHVzdGF3aWFuaWEgemVnYXJhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzODggc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBzZXQgc3lzdGVtIGNsb2NrLlxuIgorbXNnc3RyICJOaWUgdWRhxYJvIHNpxJkgdXN0YXdpxIcgemVnYXJhIHN5c3RlbW93ZWdvLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OSwgUlRDIGlzIHByZWRpY3RlZCB0byByZWFkICVsZCBzZWNvbmRzIGFmdGVyIDE5NjkuXG4iCittc2dzdHIgIlcgJWxkIHNla3VuZCBwbyAxOTY5IHByemV3aWR1amUgc2nEmSBvZGN6eXQgJWxkIHNla3VuZCBwbyAxOTY5LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0MzEKK21zZ2lkICIiCisiVGhlIGtlcm5lbCBrZWVwcyBhbiBlcG9jaCB2YWx1ZSBmb3IgdGhlIEhhcmR3YXJlIENsb2NrIG9ubHkgb24gYW4gQWxwaGEgbWFjaGluZS5cbiIKKyJUaGlzIGNvcHkgb2YgaHdjbG9jayB3YXMgYnVpbHQgZm9yIGEgbWFjaGluZSBvdGhlciB0aGFuIEFscGhhXG4iCisiKGFuZCB0aHVzIGlzIHByZXN1bWFibHkgbm90IHJ1bm5pbmcgb24gYW4gQWxwaGEgbm93KS4gIE5vIGFjdGlvbiB0YWtlbi4iCittc2dzdHIgIiIKKyJKxIVkcm8gcHJ6ZWNob3d1amUgd2FydG/Fm8SHIGVwb2NoIGRsYSB6ZWdhcmEgc3ByesSZdG93ZWdvIHd5xYLEhWN6bmllIGRsYSBtYXN6eW4gQWxwaGEuXG4iCisiVGEga29waWEgaHdjbG9ja2Egem9zdGHFgmEgemJ1ZG93YW5hIGRsYSBpbm5laiBtYXN6eW55ICh3acSZYyByYWN6ZWogbmllXG4iCisiZHppYcWCYSB0ZXJheiBuYSBtYXN6eW5pZSBBbHBoYSkuIFphbmllY2hhbm8gZHppYcWCYW5pYS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ0OAorbXNnaWQgIlVuYWJsZSB0byBnZXQgdGhlIGVwb2NoIHZhbHVlIGZyb20gdGhlIGtlcm5lbC4iCittc2dzdHIgIk5pZSB1ZGHFgm8gc2nEmSB1enlza2HEhyB3YXJ0b8WbY2kgZXBvY2ggeiBqxIVkcmEuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiS2VybmVsIGlzIGFzc3VtaW5nIGFuIGVwb2NoIHZhbHVlIG9mICVsdVxuIgorbXNnc3RyICJKxIVkcm8gcHJ6eWptdWplIHdhcnRvxZvEhyBlcG9jaCAlbHVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDU1Cittc2dpZCAiVG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSwgeW91IG11c3QgdXNlIHRoZSAnZXBvY2gnIG9wdGlvbiB0byB0ZWxsIHRvIHdoYXQgdmFsdWUgdG8gc2V0IGl0LiIKK21zZ3N0ciAiQWJ5IHVzdGF3acSHIHdhcnRvxZvEhyBlcG9jaCwgbmFsZcW8eSB1xbx5xIcgb3BjamkgJ2Vwb2NoJyB3IGNlbHUgcHJ6ZWthemFuaWEgd2FydG/Fm2NpLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDU5CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIHRoZSBlcG9jaCB0byAlbHUgLSB0ZXN0aW5nIG9ubHkuXG4iCittc2dzdHIgIkJleiB1c3Rhd2lhbmlhIHdhcnRvxZtjaSBlcG9jaCBuYSAlbHUgLSB0cnliIHRlc3Rvd3kuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLlxuIgorbXNnc3RyICJOaWUgdWRhxYJvIHNpxJkgdXN0YXdpxIcgd2FydG/Fm2NpIGVwb2NoIHcgasSFZHJ6ZS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTU2Cittc2dpZCAiIGh3Y2xvY2sgW2Z1bmN0aW9uXSBbb3B0aW9uLi4uXVxuIgorbXNnc3RyICIgaHdjbG9jayBbZnVua2NqYV0gW29wY2phLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NTkKK21zZ2lkICJRdWVyeSBvciBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrLlxuIgorbXNnc3RyICJPZGN6eXQgbHViIHVzdGF3aWVuaWUgemVnYXJhIHNwcnrEmXRvd2Vnby5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTYxCittc2dpZCAiIgorIlxuIgorIkZ1bmN0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkZ1bmtjamU6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2MgorbXNnaWQgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorIiAtciwgLS1zaG93ICAgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCByZXN1bHRcbiIKKyIgICAgIC0tZ2V0ICAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgZHJpZnQgY29ycmVjdGVkIHJlc3VsdFxuIgorIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorbXNnc3RyICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgIHd5xZt3aWV0bGVuaWUgdGVnbyBvcGlzdSBpIHpha2/FhGN6ZW5pZVxuIgorIiAtciwgLS1zaG93ICAgICAgICAgICBvZGN6eXQgemVnYXJhIHNwcnrEmXRvd2VnbyBpIHd5cGlzYW5pZSB3eW5pa3VcbiIKKyIgICAgIC0tZ2V0ICAgICAgICAgICAgb2Rjenl0IHplZ2FyYSBzcHJ6xJl0b3dlZ28gaSB3eXBpc2FuaWUgd3luaWt1IHoga29yZWt0xIVcbiIKKyIgICAgIC0tc2V0ICAgICAgICAgICAgdXN0YXdpZW5pZSBSVEMgbmEgY3phcyBwb2RhbnkgcHJ6ZXogLS1kYXRlXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2NgorbXNnaWQgIiIKKyIgLXMsIC0taGN0b3N5cyAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorIiAtdywgLS1zeXN0b2hjICAgICAgICBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIGZyb20gdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWVcbiIKKyIgICAgIC0tc3lzdHogICAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBiYXNlZCBvbiB0aGUgY3VycmVudCB0aW1lem9uZVxuIgorIiAgICAgLS1hZGp1c3QgICAgICAgICBhZGp1c3QgdGhlIFJUQyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IHNpbmNlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNsb2NrIHdhcyBsYXN0IHNldCBvciBhZGp1c3RlZFxuIgorbXNnc3RyICIiCisiIC1zLCAtLWhjdG9zeXMgICAgICAgIHVzdGF3aWVuaWUgY3phc3Ugc3lzdGVtb3dlZ28gd2cgemVnYXJhIHNwcnrEmXRvd2Vnb1xuIgorIiAtdywgLS1zeXN0b2hjICAgICAgICB1c3Rhd2llbmllIHplZ2FyYSBzcHJ6xJl0b3dlZ28gd2cgY3phc3Ugc3lzdGVtb3dlZ29cbiIKKyIgICAgIC0tc3lzdHogICAgICAgICAgdXN0YXdpZW5pZSBjemFzdSBzeXN0ZW1vd2VnbyB3ZyBiaWXFvMSFY2VqIHN0cmVmeSBjemFzb3dlalxuIgorIiAgICAgLS1hZGp1c3QgICAgICAgICBrb3Jla3RhIFJUQyBiaW9yxIVjYSBwb2QgdXdhZ8SZIGNpxIVnxYJlIG9kY2h5bGVuaWUgb2RcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBvc3RhdG5pZWdvIHVzdGF3aWFuaWEgbHViIGtvcmVrdHkgemVnYXJhXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU3MQorbXNnaWQgIiAtYywgLS1jb21wYXJlICAgICAgICBwZXJpb2RpY2FsbHkgY29tcGFyZSB0aGUgc3lzdGVtIGNsb2NrIHdpdGggdGhlIENNT1MgY2xvY2tcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbXBhcmUgICAgICAgIHJlZ3VsYXJuZSBwb3LDs3dueXdhbmllIHplZ2FyYSBzeXN0ZW1vd2VnbyB6IHplZ2FyZW0gQ01PU1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NzMKK21zZ2lkICIiCisiICAgICAtLWdldGVwb2NoICAgICAgIHByaW50IG91dCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWVcbiIKKyIgICAgIC0tc2V0ZXBvY2ggICAgICAgc2V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZSB0byB0aGUgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgZ2l2ZW4gd2l0aCAtLWVwb2NoXG4iCittc2dzdHIgIiIKKyIgICAgIC0tZ2V0ZXBvY2ggICAgICAgd3lwaXNhbmllIHdhcnRvxZtjaSBlcG9jaCB6ZWdhcmEgc3ByesSZdG93ZWdvIGrEhWRyYVxuIgorIiAgICAgLS1zZXRlcG9jaCAgICAgICB1c3Rhd2llbmllIHdhcnRvxZtjaSBlcG9jaCB6ZWdhcmEgc3ByesSZdG93ZWdvIGrEhWRyYVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIG5hIHdhcnRvxZvEhyBwb2RhbsSFIHByemV6IC0tZXBvY2hcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTc3Cittc2dpZCAiIgorIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IFJUQyByZWFkaW5nIGF0IHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKyIgICAgIC0tcHJlZGljdCAgICAgICAgb3N6YWNvd2FuaWUgb2Rjenl0dSBSVEMgbyBjemFzaWUgcG9kYW55bSBwcnpleiAtLWRhdGVcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgd3nFm3dpZXRsZW5pZSBpbmZvcm1hY2ppIG8gd2Vyc2ppIGkgemFrb8WEY3plbmllXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4MQorbXNnaWQgIiIKKyIgLXUsIC0tdXRjICAgICAgICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gVVRDXG4iCisiICAgICAtLWxvY2FsdGltZSAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIGxvY2FsIHRpbWVcbiIKK21zZ3N0ciAiIgorIiAtdSwgLS11dGMgICAgICAgICAgICB6ZWdhciBzcHJ6xJl0b3d5IHV0cnp5bXVqZSBjemFzIHcgVVRDXG4iCisiICAgICAtLWxvY2FsdGltZSAgICAgIHplZ2FyIHNwcnrEmXRvd3kgdXRyenltdWplIGN6YXMgbG9rYWxueVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODQKK21zZ2lkICIgLWYsIC0tcnRjIDxmaWxlPiAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIKK21zZ3N0ciAiIC1mLCAtLXJ0YyA8cGxpaz4gICAgIHBsaWsgc3BlY2phbG55IC9kZXYvLi4uIGRvIHXFvHljaWEgemFtaWFzdCBkb215xZtsbmVnb1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1kaXJlY3Rpc2EgICAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorIiAgICAgLS1iYWR5ZWFyICAgICAgICBpZ25vcmUgUlRDJ3MgeWVhciBiZWNhdXNlIHRoZSBCSU9TIGlzIGJyb2tlblxuIgorIiAgICAgLS1kYXRlIDx0aW1lPiAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorIiAgICAgLS1lcG9jaCA8eWVhcj4gICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBoYXJkd2FyZSBjbG9jaydzIGVwb2NoIHZhbHVlXG4iCittc2dzdHIgIiIKKyIgICAgIC0tZGlyZWN0aXNhICAgICAgYmV6cG/Fm3JlZG5pIGRvc3TEmXAgZG8gc3p5bnkgSVNBIHphbWlhc3QgJXNcbiIKKyIgICAgIC0tYmFkeWVhciAgICAgICAgaWdub3Jvd2FuaWUgcm9rdSBSVEMgemUgd3pnbMSZZHUgbmEgd2FkbGl3eSBCSU9TXG4iCisiICAgICAtLWRhdGUgPGN6YXM+ICAgIG9rcmXFm2xlbmllIGN6YXN1LCBuYSBqYWtpIG1hIGJ5xIcgdXN0YXdpb255IHplZ2FyXG4iCisiICAgICAtLWVwb2NoIDxyb2s+ICAgIG9rcmXFm2xlbmllIHJva3UsIGt0w7NyeSBqZXN0IHV6bmF3YW55IHphIHBvY3rEhXRla1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHdhcnRvxZtjaSBlcG9jaCB6ZWdhcmEgc3ByesSZdG93ZWdvXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLXVwZGF0ZS1kcmlmdCAgIHVwZGF0ZSBkcmlmdCBmYWN0b3IgaW4gJTEkcyAocmVxdWlyZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAtLXNldCBvciAtLXN5c3RvaGMpXG4iCisiICAgICAtLW5vYWRqZmlsZSAgICAgIGRvIG5vdCBhY2Nlc3MgJTEkczsgdGhpcyByZXF1aXJlcyB0aGUgdXNlIG9mXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lXG4iCisiICAgICAtLWFkamZpbGUgPGZpbGU+IHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGU7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRlZmF1bHQgaXMgJTEkc1xuIgorbXNnc3RyICIiCisiICAgICAtLXVwZGF0ZS1kcmlmdCAgIHVha3R1YWxuaWVuaWUgd3Nww7PFgmN6eW5uaWthIGtvcmVrdHkgdyAlMSRzICh3eW1hZ2FcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAtLXNldCBvciAtLXN5c3RvaGMpXG4iCisiICAgICAtLW5vYWRqZmlsZSAgICAgIGJleiBkb3N0xJlwdSBkbyAlMSRzOyB3eW1hZ2EgdG8gdcW8eWNpYSBvcGNqaVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIC0tdXRjIGx1YiAtLWxvY2FsdGltZVxuIgorIiAgICAgLS1hZGpmaWxlIDxwbGlrPiBva3JlxZtsZW5pZSDFm2NpZcW8a2kgcGxpa3Uga29yZWt0eTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBkb215xZtsbmEgdG8gJTEkc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1OTkKK21zZ2lkICIiCisiICAgICAtLXRlc3QgICAgICAgICAgIGRvIG5vdCB1cGRhdGUgYW55dGhpbmcsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGhhcHBlblxuIgorIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBkZWJ1Z2dpbmcgbW9kZVxuIgorIlxuIgorbXNnc3RyICIiCisiICAgICAtLXRlc3QgICAgICAgICAgIGJleiB1YWt0dWFsbmlhbmlhLCBqZWR5bmllIHBvZGF3YW5pZSwgY28gYnnFgm9ieSByb2Jpb25lXG4iCisiIC1ELCAtLWRlYnVnICAgICAgICAgIHRyeWIgZGlhZ25vc3R5Y3pueVxuIgorIlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE2MDIKK21zZ2lkICIiCisiIC1KfC0tamVuc2VuLCAtQXwtLWFyYywgLVN8LS1zcm0sIC1GfC0tZnVua3ktdG95XG4iCisiICAgICAgdGVsbCBod2Nsb2NrIHRoZSB0eXBlIG9mIEFscGhhIHlvdSBoYXZlIChzZWUgaHdjbG9jayg4KSlcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtSnwtLWplbnNlbiwgLUF8LS1hcmMsIC1TfC0tc3JtLCAtRnwtLWZ1bmt5LXRveVxuIgorIiAgICAgIG9rcmXFm2xlbmllIHJvZHphanUgQWxwaHkgbmEgcG90cnplYnkgaHdjbG9ja2EgKHN6Y3plZ8OzxYJ5IHcgbWFuIGh3Y2xvY2soOCkpXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTcyOAorbXNnaWQgIlVuYWJsZSB0byBjb25uZWN0IHRvIGF1ZGl0IHN5c3RlbSIKK21zZ3N0ciAiTmllIG1vxbxuYSBwb8WCxIVjennEhyBzacSZIHogc3lzdGVtZW0gYXVkeXR1IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4MjYKK21zZ2lkICJpbnZhbGlkIGVwb2NoIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSB3YXJ0b8WbxIcgZXBva2kiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTg3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB0YWtlcyBubyBub24tb3B0aW9uIGFyZ3VtZW50cy4gIFlvdSBzdXBwbGllZCAlZC5cbiIKK21zZ3N0ciAiJXMgbmllIHByenlqbXVqZSBhcmd1bWVudMOzdyBuaWUgYsSZZMSFY3ljaCBvcGNqYW1pLiBQb2Rhbm8gJWQuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTg4MAorbXNnaWQgIldpdGggLS1ub2FkamZpbGUsIHlvdSBtdXN0IHNwZWNpZnkgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lIgorbXNnc3RyICJXIHByenlwYWRrdSB1xbx5Y2lhIC0tbm9hZGpmaWxlIHRyemViYSBwb2RhxIcgLS11dGMgbHViIC0tbG9jYWx0aW1lIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4OTMKK21zZ2lkICJObyB1c2FibGUgc2V0LXRvIHRpbWUuICBDYW5ub3Qgc2V0IGNsb2NrLiIKK21zZ3N0ciAiQnJhayB6ZGF0bmVnbyBkbyB1xbx5Y2lhIGN6YXN1IGRvIHVzdGF3aWVuaWEuIE5pZSBtb8W8bmEgdXN0YXdpxIcgemVnYXJhLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxOTE3Cittc2dpZCAiQ2Fubm90IGFjY2VzcyB0aGUgSGFyZHdhcmUgQ2xvY2sgdmlhIGFueSBrbm93biBtZXRob2QuIgorbXNnc3RyICJOaWUgbW/FvG5hIHV6eXNrYcSHIGRvc3TEmXB1IGRvIHplZ2FyYSBzcHJ6xJl0b3dlZ28gxbxhZG7EhSB6bmFuxIUgbWV0b2TEhS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTkyMAorbXNnaWQgIlVzZSB0aGUgLS1kZWJ1ZyBvcHRpb24gdG8gc2VlIHRoZSBkZXRhaWxzIG9mIG91ciBzZWFyY2ggZm9yIGFuIGFjY2VzcyBtZXRob2QuIgorbXNnc3RyICJQcm9zesSZIHXFvHnEhyBvcGNqaSAtLWRlYnVnLCBhYnkgem9iYWN6ecSHIHN6Y3plZ8OzxYJ5IHBvc3p1a2l3YW5pYSBtZXRvZHkgZG9zdMSZcHUuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgImJvb3RlZCBmcm9tIE1JTE9cbiIKK21zZ3N0ciAidXJ1Y2hvbWlvbm8geiBNSUxPXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUnVmZmlhbiBCQ0QgY2xvY2tcbiIKK21zZ3N0ciAiWmVnYXIgUnVmZmlhbiBCQ0RcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9ja3BvcnQgYWRqdXN0ZWQgdG8gMHgleFxuIgorbXNnc3RyICJjbG9ja3BvcnQgem1pZW5pb255IG5hIDB4JXhcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJmdW5reSBUT1khXG4iCittc2dzdHIgImR6aXdueSB6bmFjem5payBUT1khXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXRvbWljICVzIGZhaWxlZCBmb3IgMTAwMCBpdGVyYXRpb25zISIKK21zZ3N0ciAiYXRvbW93ZSAlcyBuaWUgcG93aW9kxYJvIHNpxJkgZGxhIDEwMDAgaXRlcmFjamkhIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3NfcmVhZCgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICJjbW9zX3JlYWQoKTogemFwaXMgcG9kIGFkcmVzIHN0ZXJ1asSFY3kgJVggbmllIHBvd2nDs2TFgiBzacSZIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzI4CisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3NfcmVhZCgpOiByZWFkIGZyb20gZGF0YSBhZGRyZXNzICVYIGZhaWxlZCIKK21zZ3N0ciAiY21vc19yZWFkKCk6IG9kY3p5dCB6IGFkcmVzdSBkYW55Y2ggJVggbmllIHBvd2nDs2TFgiBzacSZIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzY1CisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3Nfd3JpdGUoKTogd3JpdGUgdG8gY29udHJvbCBhZGRyZXNzICVYIGZhaWxlZCIKK21zZ3N0ciAiY21vc193cml0ZSgpOiB6YXBpcyBwb2QgYWRyZXMgc3RlcnVqxIVjeSAlWCBuaWUgcG93acOzZMWCIHNpxJkiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICJjbW9zX3dyaXRlKCk6IHphcGlzIGRhbnljaCBwb2QgYWRyZXMgJVggbmllIHBvd2nDs2TFgiBzacSZIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjQ1Cittc2dpZCAiSSBmYWlsZWQgdG8gZ2V0IHBlcm1pc3Npb24gYmVjYXVzZSBJIGRpZG4ndCB0cnkuIgorbXNnc3RyICJOaWUgdWRhxYJvIHNpxJkgdXp5c2thxIcgdXByYXduaWXFhCwgcG9uaWV3YcW8IHRlZ28gbmllIHByw7Nib3dhbm8uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjQ4Cittc2dpZCAidW5hYmxlIHRvIGdldCBJL08gcG9ydCBhY2Nlc3M6ICB0aGUgaW9wbCgzKSBjYWxsIGZhaWxlZC4iCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB1enlza2HEhyBkb3N0xJlwdSBkbyBwb3J0w7N3IHdlL3d5OiB3eXdvxYJhbmllIGlvcGwoMykgbmllIHBvd2lvZMWCbyBzacSZLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY1MQorbXNnaWQgIlByb2JhYmx5IHlvdSBuZWVkIHJvb3QgcHJpdmlsZWdlcy5cbiIKK21zZ3N0ciAiUHJhd2RvcG9kb2JuaWUgd3ltYWdhbmUgc8SFIHVwcmF3bmllbmlhIGFkbWluaXN0cmF0b3JhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjU4Cittc2dpZCAiVXNpbmcgZGlyZWN0IEkvTyBpbnN0cnVjdGlvbnMgdG8gSVNBIGNsb2NrLiIKK21zZ3N0ciAiVcW8eWNpZSBpbnN0cnVrY2ppIGJlenBvxZtyZWRuaWVnbyB3ZS93eSBkbyB6ZWdhcmEgSVNBLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTk1CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byByZWFkIHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAibmllIHBvd2nDs2TFgiBzacSZIGlvY3RsKCVzKSBuYSAlcyB3IGNlbHUgb2Rjenl0dSBjemFzdSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tICVzIHRvIGNoYW5nZVxuIgorbXNnc3RyICJPY3pla2l3YW5pZSB3IHDEmXRsaSBuYSB6bWlhbsSZIGN6YXN1IHogJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjM2Cittc2dpZCAiVGltZWQgb3V0IHdhaXRpbmcgZm9yIHRpbWUgY2hhbmdlLiIKK21zZ3N0ciAiUHJ6ZWtyb2N6b25vIGxpbWl0IGN6YXN1IG9jemVraXdhbmlhIG5hIHptaWFuxJkgY3phc3UuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgaGF2ZSBpbnRlcnJ1cHQgZnVuY3Rpb25zLiAiCittc2dzdHIgIiVzIG5pZSBtYSBmdW5rY2ppIHByemVyd2HFhC4gIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCittc2dzdHIgIm5pZSBwb3dpw7NkxYIgc2nEmSBzZWxlY3QoKSBuYSAlcyB3IGNlbHUgb2N6ZWtpd2FuaWEgbmEgcHJ6ZXNrb2sgemVnYXJhIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayB0aW1lZCBvdXQiCittc2dzdHIgInNlbGVjdCgpIG5hICVzIHcgY2VsdSBvY3pla2l3YW5pYSBuYSBwcnplc2tvayB6ZWdhcmEgcHJ6ZWtyb2N6ecWCIGxpbWl0IGN6YXN1IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9mZiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQiCittc2dzdHIgIm5pZSBwb3dpw7NkxYIgc2nEmSBpb2N0bCgpIG5hICVzIHcgY2VsdSB3ecWCxIVjemVuaWEgcHJ6ZXJ3YcWEIHVha3R1YWxuaWXFhCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvbiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQgdW5leHBlY3RlZGx5IgorbXNnc3RyICJuaWVvY3pla2l3YW5pZSBuaWUgcG93acOzZMWCIHNpxJkgaW9jdGwoKSBuYSAlcyB3IGNlbHUgd8WCxIVjemVuaWEgcHJ6ZXJ3YcWEIHVha3R1YWxuaWXFhCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byBzZXQgdGhlIHRpbWUgZmFpbGVkLiIKK21zZ3N0ciAibmllIHBvd2nDs2TFgiBzacSZIGlvY3RsKCVzKSBuYSAlcyB3IGNlbHUgdXN0YXdpZW5pYSBjemFzdSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB3YXMgc3VjY2Vzc2Z1bC5cbiIKK21zZ3N0ciAiaW9jdGwoJXMpIHBvd2nDs2TFgiBzacSZLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozODcKK21zZ2lkICJVc2luZyB0aGUgL2RldiBpbnRlcmZhY2UgdG8gdGhlIGNsb2NrLiIKK21zZ3N0ciAiVcW8eWNpZSBpbnRlcmZlanN1IC9kZXYgZG8gemVnYXJhLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDE3IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ2NAorIywgYy1mb3JtYXQKK21zZ2lkICJUbyBtYW5pcHVsYXRlIHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLCB3ZSBtdXN0IGFjY2VzcyB0aGUgTGludXggJ3J0YycgZGV2aWNlIGRyaXZlciB2aWEgdGhlIGRldmljZSBzcGVjaWFsIGZpbGUgJXMuICBUaGlzIGZpbGUgZG9lcyBub3QgZXhpc3Qgb24gdGhpcyBzeXN0ZW0uIgorbXNnc3RyICJBYnkgem1pZW5pxIcgd2FydG/Fm8SHIGVwb2NoIHcgasSFZHJ6ZSwgdHJ6ZWJhIGRvc3RhxIcgc2nEmSBkbyBsaW51a3Nvd2VnbyBzdGVyb3duaWthIHVyesSFZHplbmlhICdydGMnIHBvcHJ6ZXogcGxpayB1cnrEhWR6ZW5pYSBzcGVjamFsbmVnbyAlcy4gVGVuIHBsaWsgbmllIGlzdG5pZWplIHcgdHltIHN5c3RlbWllLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDI5CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSB0byAlcyBmYWlsZWQiCittc2dzdHIgIm5pZSBwb3dpw7NkxYIgc2nEmSBpb2N0bChSVENfRVBPQ0hfUkVBRCkgbmEgJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQzNQorIywgYy1mb3JtYXQKK21zZ2lkICJ3ZSBoYXZlIHJlYWQgZXBvY2ggJWx1IGZyb20gJXMgd2l0aCBSVENfRVBPQ0hfUkVBRCBpb2N0bC5cbiIKK21zZ3N0ciAib2Rjenl0YW5vIHdhcnRvxZvEhyBlcG9jaCAlbHUgeiAlcyBwcnp5IHXFvHljaXUgaW9jdGwtYSBSVENfRVBPQ0hfUkVBRC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlcG9jaCB2YWx1ZSBtYXkgbm90IGJlIGxlc3MgdGhhbiAxOTAwLiAgWW91IHJlcXVlc3RlZCAlbGQiCittc2dzdHIgIldhcnRvxZvEhyBlcG9jaCBuaWUgbW/FvGUgYnnEhyBtbmllanN6YSBuacW8IDE5MDAuIMW7xIVkYW5vICVsZCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgZXBvY2ggdG8gJWx1IHdpdGggUlRDX0VQT0NIX1NFVCBpb2N0bCB0byAlcy5cbiIKK21zZ3N0ciAidXN0YXdpYW5pZSB3YXJ0b8WbY2kgZXBvY2ggbmEgJWx1IHByenkgdcW8eWNpdSBpb2N0bC1hIFJUQ19FUE9DSF9TRVQgbmEgJXMuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUga2VybmVsIGRldmljZSBkcml2ZXIgZm9yICVzIGRvZXMgbm90IGhhdmUgdGhlIFJUQ19FUE9DSF9TRVQgaW9jdGwuIgorbXNnc3RyICJTdGVyb3duaWsgdXJ6xIVkemVuaWEgdyBqxIVkcnplIGRsYSAlcyBuaWUgbWEgaW9jdGwtYSBSVENfRVBPQ0hfU0VULiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKFJUQ19FUE9DSF9TRVQpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAibmllIHBvd2nDs2TFgiBzacSZIGlvY3RsKFJUQ19FUE9DSF9TRVQpIG5hICVzIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo2OQorbXNnaWQgIkNyZWF0ZSB2YXJpb3VzIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIlR3b3J6ZW5pZSByw7PFvG55Y2ggemFzb2LDs3cgSVBDLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MgorbXNnaWQgIiAtTSwgLS1zaG1lbSA8c2l6ZT4gICAgICAgY3JlYXRlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBvZiBzaXplIDxzaXplPlxuIgorbXNnc3RyICIgLU0sIC0tc2htZW0gPHJvem1pYXI+ICAgIHV0d29yemVuaWUgc2VnbWVudHUgcGFtacSZY2kgZHppZWxvbmVqIHBvZGFuZWdvIHJvem1pYXJ1XG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjczCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZSA8bnVtYmVyPiBjcmVhdGUgc2VtYXBob3JlIGFycmF5IHdpdGggPG51bWJlcj4gZWxlbWVudHNcbiIKK21zZ3N0ciAiIC1TLCAtLXNlbWFwaG9yZSA8aWxlPiAgICB1dHdvcnplbmllIHRhYmxpY3kgc2VtYWZvcsOzdyBvIHR5bHUgZWxlbWVudGFjaFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NAorbXNnaWQgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgY3JlYXRlIG1lc3NhZ2UgcXVldWVcbiIKK21zZ3N0ciAiIC1RLCAtLXF1dWUgICAgICAgICAgICAgICB1dHdvcnplbmllIGtvbGVqa2kga29tdW5pa2F0w7N3XG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc1Cittc2dpZCAiIC1wLCAtLW1vZGUgPG1vZGU+ICAgICAgICBwZXJtaXNzaW9uIGZvciB0aGUgcmVzb3VyY2UgKGRlZmF1bHQgaXMgMDY0NClcbiIKK21zZ3N0ciAiIC1wLCAtLW1vZGUgPHRyeWI+ICAgICAgICB1cHJhd25pZW5pYSBkbyB6YXNvYnUgKGRvbXnFm2xuZSBkbyAwNjQ0KVxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTAgc3lzLXV0aWxzL2xvc2V0dXAuYzo2OTcgc3lzLXV0aWxzL3pyYW1jdGwuYzo2MjIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAibmllenJvenVtaWHFgnkgcm96bWlhciIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTE3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVsZW1lbnRzIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6ZWFuYWxpem93YcSHIGVsZW1lbnTDs3ciCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MQorbXNnaWQgImNyZWF0ZSBzaGFyZSBtZW1vcnkgZmFpbGVkIgorbXNnc3RyICJ0d29yemVuaWUgcGFtacSZY2kgZHppZWxvbmVqIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoYXJlZCBtZW1vcnkgaWQ6ICVkXG4iCittc2dzdHIgIklkZW50eWZpa2F0b3IgcGFtacSZY2kgZHppZWxvbmVqOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDkKK21zZ2lkICJjcmVhdGUgbWVzc2FnZSBxdWV1ZSBmYWlsZWQiCittc2dzdHIgInR3b3J6ZW5pZSBrb2xlamtpIGtvbXVuaWthdMOzdyBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIHF1ZXVlIGlkOiAlZFxuIgorbXNnc3RyICJJZGVudHlmaWthdG9yIGtvbGVqa2kga29tdW5pa2F0w7N3OiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTcKK21zZ2lkICJjcmVhdGUgc2VtYXBob3JlIGZhaWxlZCIKK21zZ3N0ciAidHdvcnplbmllIHNlbWFmb3LDs3cgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VtYXBob3JlIGlkOiAlZFxuIgorbXNnc3RyICJJZGVudHlmaWthdG9yIHRhYmxpY3kgc2VtYWZvcsOzdzogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIHNobXxtc2d8c2VtIDxpZD4uLi5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcGNqZV1cbiIKKyIgJTEkcyBzaG18bXNnfHNlbSA8aWQ+Li4uXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU0Cittc2dpZCAiUmVtb3ZlIGNlcnRhaW4gSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiVXN1d2FuaWUgemFzb2LDs3cgSVBDLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1NworbXNnaWQgIiAtbSwgLS1zaG1lbS1pZCA8aWQ+ICAgICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGlkXG4iCittc2dzdHIgIiAtbSwgLS1zaG1lbS1pZCA8aWQ+ICAgICAgICB1c3VuacSZY2llIHNlZ21lbnR1IHBhbWnEmWNpIGR6aWVsb25laiBvIHBvZGFueW0gaWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTgKK21zZ2lkICIgLU0sIC0tc2htZW0ta2V5IDxrZXk+ICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBrZXlcbiIKK21zZ3N0ciAiIC1NLCAtLXNobWVtLWtleSA8a2x1Y3o+ICAgIHVzdW5pxJljaWUgc2VnbWVudHUgcGFtacSZY2kgZHppZWxvbmVqIG8gcG9kYW55bSBrbHVjenVcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTkKK21zZ2lkICIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkgaWRcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlLWlkIDxpZD4gICAgICAgIHVzdW5pxJljaWUga29sZWpraSBrb211bmlrYXTDs3cgbyBwb2RhbnltIGlkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYwCittc2dpZCAiIC1RLCAtLXF1ZXVlLWtleSA8a2V5PiAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGtleVxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUta2V5IDxrbHVjej4gICAgdXN1bmnEmWNpZSBrb2xlamtpIGtvbXVuaWthdMOzdyBvIHBvZGFueW0ga2x1Y3p1XG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYxCittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8aWQ+ICAgIHJlbW92ZSBzZW1hcGhvcmUgYnkgaWRcbiIKK21zZ3N0ciAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8aWQ+ICAgIHVzdW5pxJljaWUgc2VtYWZvcmEgbyBwb2RhbnltIGlkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYyCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGtleT4gIHJlbW92ZSBzZW1hcGhvcmUgYnkga2V5XG4iCittc2dzdHIgIiAtUywgLS1zZW1hcGhvcmUta2V5IDxrbHVjej4gdXN1bmnEmWNpZSBzZW1hZm9yYSBvIHBvZGFueW0ga2x1Y3p1XG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYzCittc2dpZCAiIC1hLCAtLWFsbFs9c2htfG1zZ3xzZW1dICAgIHJlbW92ZSBhbGwgKGluIHRoZSBzcGVjaWZpZWQgY2F0ZWdvcnkpXG4iCittc2dzdHIgIiAtYSwgLS1hbGxbPXNobXxtc2d8c2VtXSAgICB1c3VuacSZY2llIHdzenlzdGtpZWdvICh6IHBvZGFuZWoga2F0ZWdvcmlpKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgb3Bpc3l3YW5pZSB3eWtvbnl3YW55Y2ggY3p5bm5vxZtjaVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgaWQgYCVkJ1xuIgorbXNnc3RyICJ1c3V3YW5pZSBzZWdtZW50dSBwYW1pxJljaSBkemllbG9uZWogbyBpZCBgJWQnXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIG1lc3NhZ2UgcXVldWUgaWQgYCVkJ1xuIgorbXNnc3RyICJ1c3V3YW5pZSBrb2xlamtpIGtvbXVuaWthdMOzdyBvIGlkIGAlZCdcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3Zpbmcgc2VtYXBob3JlIGlkIGAlZCdcbiIKK21zZ3N0ciAidXN1d2FuaWUgc2VtYWZvcmEgbyBpZCBgJWQnXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOCBzeXMtdXRpbHMvaXBjcm0uYzoyMjIKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3Iga2V5IgorbXNnc3RyICJicmFrIHVwcmF3bmllxYQgZG8gdGVnbyBrbHVjemEiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOAorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBpZCIKK21zZ3N0ciAiYnJhayB1cHJhd25pZcWEIGRvIHRlZ28gaWRlbnR5ZmlrYXRvcmEiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMSBzeXMtdXRpbHMvaXBjcm0uYzoyMjgKK21zZ2lkICJpbnZhbGlkIGtleSIKK21zZ3N0ciAiYsWCxJlkbnkga2x1Y3oiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMQorbXNnaWQgImludmFsaWQgaWQiCittc2dzdHIgImLFgsSZZG55IGlkZW50eWZpa2F0b3IiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNCBzeXMtdXRpbHMvaXBjcm0uYzoyMjUKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQga2V5IgorbXNnc3RyICJrbHVjeiBqdcW8IHVzdW5pxJl0eSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGlkIgorbXNnc3RyICJpZGVudHlmaWthdG9yIGp1xbwgdXN1bmnEmXR5IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcgc3lzLXV0aWxzL2lwY3JtLmM6MjMxCittc2dpZCAia2V5IGZhaWxlZCIKK21zZ3N0ciAib2R3b8WCYW5pZSBkbyBrbHVjemEgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcKK21zZ2lkICJpZCBmYWlsZWQiCittc2dzdHIgIm9kd2/FgmFuaWUgZG8gaWQgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZDogJXMiCittc2dzdHIgImLFgsSZZG55IGlkZW50eWZpa2F0b3I6ICVzIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzb3VyY2UocykgZGVsZXRlZFxuIgorbXNnc3RyICJ6YXNvYnkgdXN1bmnEmXRlXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjIwMAorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGtleSAoJXMpIgorbXNnc3RyICJuaWVkb3p3b2xvbnkga2x1Y3ogKCVzKSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjU2Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICJqxIVkcm8gbmllIHpvc3RhxYJvIHNrb25maWd1cm93YW5lIGRvIG9ic8WCdWdpIHBhbWnEmWNpIGR6aWVsb25laiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjY5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzIgorbXNnc3RyICJqxIVkcm8gbmllIHpvc3RhxYJvIHNrb25maWd1cm93YW5lIGRvIG9ic8WCdWdpIHNlbWFmb3LDs3ciCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI5MAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgImrEhWRybyBuaWUgem9zdGHFgm8gc2tvbmZpZ3Vyb3dhbmUgZG8gb2JzxYJ1Z2kga29sZWplayBrb211bmlrYXTDs3ciCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtyZXNvdXJjZS1vcHRpb24uLi5dIFtvdXRwdXQtb3B0aW9uXVxuIgorIiAlMSRzIC1tfC1xfC1zIC1pIDxpZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcGNqYS16YXNvYnUuLi5dIFtvcGNqYS13eWrFm2NpYV1cbiIKKyIgJTEkcyAtbXwtcXwtcyAtaSA8aWQ+XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTYgc3lzLXV0aWxzL2xzaXBjLmM6MjgwCittc2dpZCAiU2hvdyBpbmZvcm1hdGlvbiBvbiBJUEMgZmFjaWxpdGllcy5cbiIKK21zZ3N0ciAiV3nFm3dpZXRsYW5pZSBpbmZvcm1hY2ppIG8gemFzb2JhY2ggSVBDLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiAtaSwgLS1pZCA8aWQ+ICB3eXBpc2FuaWUgc3pjemVnw7PFgsOzdyB6YXNvYnUgbyBwb2RhbnltIDxpZD5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NCBzeXMtdXRpbHMvbHNpcGMuYzoyODMKK21zZ2lkICJSZXNvdXJjZSBvcHRpb25zOlxuIgorbXNnc3RyICJPcGNqZSB6YXNvYnU6XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUgc3lzLXV0aWxzL2xzaXBjLmM6Mjg0Cittc2dpZCAiIC1tLCAtLXNobWVtcyAgICAgIHNoYXJlZCBtZW1vcnkgc2VnbWVudHNcbiIKK21zZ3N0ciAiIC1tLCAtLXNobWVtcyAgICAgIHNlZ21lbnR5IHBhbWnEmWNpIGR6aWVsb25lalxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY2IHN5cy11dGlscy9sc2lwYy5jOjI4NQorbXNnaWQgIiAtcSwgLS1xdWV1ZXMgICAgICBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICIgLXEsIC0tcXVldWVzICAgICAga29sZWpraSBrb211bmlrYXTDs3dcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NyBzeXMtdXRpbHMvbHNpcGMuYzoyODYKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlcyAgc2VtYXBob3Jlc1xuIgorbXNnc3RyICIgLXMsIC0tc2VtYXBob3JlcyAgc2VtYWZvcnlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2OAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICBhbGwgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICB3c3p5c3RrbyAoZG9tecWbbG5lKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcxCittc2dpZCAiT3V0cHV0IG9wdGlvbnM6XG4iCittc2dzdHIgIk9wY2plIHd5asWbY2lhOlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcyCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAgd3nFm3dpZXRsZW5pZSBjemFzdSBwb2TFgsSFY3plbmlhLCBvZMWCxIVjemVuaWEgaSB6bWlhbnlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MworbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICBzaG93IFBJRHMgb2YgY3JlYXRvciBhbmQgbGFzdCBvcGVyYXRvclxuIgorbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAgd3nFm3dpZXRsZW5pZSBQSUQtw7N3IHR3w7NyY3kgaSB3eWtvbmF3Y3kgb3N0YXRuaWVqIG9wZXJhY2ppXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzQKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIgLWMsIC0tY3JlYXRvciAgICAgd3nFm3dpZXRsZW5pZSB0d8OzcmN5IGkgd8WCYcWbY2ljaWVsYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc1Cittc2dpZCAiIC1sLCAtLWxpbWl0cyAgICAgIHNob3cgcmVzb3VyY2UgbGltaXRzXG4iCittc2dzdHIgIiAtbCwgLS1saW1pdHMgICAgICB3ecWbd2lldGxlbmllIGxpbWl0w7N3IHphc29iw7N3XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKK21zZ2lkICIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIgorbXNnc3RyICIgLXUsIC0tc3VtbWFyeSAgICAgd3nFm3dpZXRsZW5pZSBwb2RzdW1vd2FuaWEgc3RhbnVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NworbXNnaWQgIiAgICAgLS1odW1hbiAgICAgICBzaG93IHNpemVzIGluIGh1bWFuLXJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0taHVtYW4gICAgICAgd3nFm3dpZXRsYW5pZSByb3ptaWFyw7N3IHcgcG9zdGFjaSBjenl0ZWxuZWogZGxhIGN6xYJvd2lla2FcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3OAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICBzaG93IHNpemVzIGluIGJ5dGVzXG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICB3ecWbd2lldGxlbmllIHJvem1pYXLDs3cgdyBiYWp0YWNoXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MTY0Cittc2dpZCAid2hlbiB1c2luZyBhbiBJRCwgYSBzaW5nbGUgcmVzb3VyY2UgbXVzdCBiZSBzcGVjaWZpZWQiCittc2dzdHIgIncgcHJ6eXBhZGt1IHXFvHljaWEgSUQsIG9rcmXFm2xvbnkgbXVzaSBiecSHIHBvamVkeW5jenkgemFzw7NiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2hhcmVkIG1lbW9yeSBsaW1pdHNcbiIKK21zZ3N0ciAibmllIG1vxbxuYSBwb2JyYcSHIGxpbWl0w7N3IHBhbWnEmWNpIGR6aWVsb25lalxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIExpbWl0eSBwYW1pxJljaSBkemllbG9uZWogLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIHNlZ21lbnRzID0gJWp1XG4iCittc2dzdHIgIm1ha3N5bWFsbmEgbGljemJhIHNlZ21lbnTDs3cgPSAlanVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDkKK21zZ2lkICJtYXggc2VnIHNpemUiCittc2dzdHIgIm1ha3N5bWFsbnkgcm96bWlhciBzZWdtZW50dSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTEKK21zZ2lkICJtYXggdG90YWwgc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAibWFrc3ltYWxueSByb3ptaWFyIGNhxYJlaiBwYW1pxJljaSBkemllbG9uZWoiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjE0Cittc2dpZCAibWluIHNlZyBzaXplIgorbXNnc3RyICJtaW5pbWFsbnkgcm96bWlhciBzZWdtZW50dSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5XG4iCittc2dzdHIgImrEhWRybyBuaWUgem9zdGHFgm8gc2tvbmZpZ3Vyb3dhbmUgZG8gb2JzxYJ1Z2kgcGFtacSZY2kgZHppZWxvbmVqXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU3RhbiBwYW1pxJljaSBkemllbG9uZWogLS0tLS0tXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGlzIG91dHB1dCBmb3JtYXQgaXMgbWFpbnRhaW5lZCBmb3IgYmFja3dhcmQKKyMuIGNvbXBhdGliaWxpdHkgYXMgaXBjcyBpcyB1c2VkIGluIHNjcmlwdHMuIEZvciBjb25zaXN0ZW5jeQorIy4gd2l0aCB0aGUgcmVzdCwgdGhlIHRyYW5zbGF0ZWQgZm9ybSBjYW4gZm9sbG93IHRoaXMgbW9kZWw6CisjLiAqCisjLiAic2VnbWVudHMgYWxsb2NhdGVkID0gJWRcbiIKKyMuICJwYWdlcyBhbGxvY2F0ZWQgPSAlbGRcbiIKKyMuICJwYWdlcyByZXNpZGVudCA9ICVsZFxuIgorIy4gInBhZ2VzIHN3YXBwZWQgPSAlbGRcbiIKKyMuICJzd2FwIHBlcmZvcm1hbmNlID0gJWxkIGF0dGVtcHRzLCAlbGQgc3VjY2Vzc2VzXG4iCisjLgorIzogc3lzLXV0aWxzL2lwY3MuYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInNlZ21lbnRzIGFsbG9jYXRlZCAlZFxuIgorInBhZ2VzIGFsbG9jYXRlZCAlbGRcbiIKKyJwYWdlcyByZXNpZGVudCAgJWxkXG4iCisicGFnZXMgc3dhcHBlZCAgICVsZFxuIgorIlN3YXAgcGVyZm9ybWFuY2U6ICVsZCBhdHRlbXB0c1x0ICVsZCBzdWNjZXNzZXNcbiIKK21zZ3N0ciAiIgorInNlZ21lbnTDs3cgcHJ6eWR6aWVsb255Y2ggJWRcbiIKKyJzdHJvbiBwcnp5ZHppZWxvbnljaCAlbGRcbiIKKyJzdHJvbiB3IHBhbWnEmWNpICAgICAgJWxkXG4iCisic3Ryb24gd3ltaWVuaW9ueWNoICAgJWxkXG4iCisiV3lkYWpub8WbxIcgc3dhcGE6ICVsZCBwcsOzYlx0ICVsZCBzdWtjZXPDs3dcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFR3w7NyY3kvd8WCYcWbY2ljaWVsZSBwYW1pxJljaSBkemllbG9uZWogLS0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjc0CisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgInNobWlkIgorbXNnc3RyICJpZF9zaG0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6MjgwIHN5cy11dGlscy9pcGNzLmM6Mzg2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwMSBzeXMtdXRpbHMvaXBjcy5jOjQ4OSBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgInBlcm1zIgorbXNnc3RyICJ1cHJhd24uIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgImN1aWQiCittc2dzdHIgImN1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiY2dpZCIKK21zZ3N0ciAiY2dpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJ1aWQiCittc2dzdHIgInVpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJnaWQiCittc2dzdHIgImdpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQXR0YWNoL0RldGFjaC9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEN6YXMgZG/FgsSFY3phbmlhL29kxYLEhWN6YW5pYS96bWlhbiBwYW0uZHppZWwuIC0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjc0IHN5cy11dGlscy9pcGNzLmM6MjgwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQwMSBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEgc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJvd25lciIKK21zZ3N0ciAid8WCYcWbY2ljaWVsIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NworbXNnaWQgImF0dGFjaGVkIgorbXNnc3RyICJwb2TFgsSFY3plbmllIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NworbXNnaWQgImRldGFjaGVkIgorbXNnc3RyICJvZMWCxIVjemVuaWUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY4Cittc2dpZCAiY2hhbmdlZCIKK21zZ3N0ciAiem1pYW5hIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBDcmVhdG9yL0xhc3Qtb3AgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gUElEIHR3w7NyY3kvb3N0Lm9wLiBuYSBwYW1pxJljaSBkemllbC4gLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc0Cittc2dpZCAiY3BpZCIKK21zZ3N0ciAiY3BpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzQKK21zZ2lkICJscGlkIgorbXNnc3RyICJscGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU2VnbWVudHkgcGFtacSZY2kgZHppZWxvbmVqIC0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJrZXkiCittc2dzdHIgImtsdWN6IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MSBzeXMtdXRpbHMvaXBjcy5jOjUwOAorbXNnaWQgInNpemUiCittc2dzdHIgInJvem1pYXIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgxIHN5cy11dGlscy9wcmxpbWl0LmM6NzUgc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OCBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIgc3lzLXV0aWxzL3BybGltaXQuYzo4NiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAiYnl0ZXMiCittc2dzdHIgImJhanTDs3ciCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgyCittc2dpZCAibmF0dGNoIgorbXNnc3RyICJwb2TFgsSFY3plxYQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgyCittc2dpZCAic3RhdHVzIgorbXNnc3RyICJzdGFuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMwNiBzeXMtdXRpbHMvaXBjcy5jOjMwOCBzeXMtdXRpbHMvaXBjcy5jOjMxMAorIzogc3lzLXV0aWxzL2lwY3MuYzo0MjQgc3lzLXV0aWxzL2lwY3MuYzo0MjYgc3lzLXV0aWxzL2lwY3MuYzo1MzIKKyM6IHN5cy11dGlscy9pcGNzLmM6NTM0IHN5cy11dGlscy9pcGNzLmM6NTM2IHN5cy11dGlscy9pcGNzLmM6NTkwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MiBzeXMtdXRpbHMvaXBjcy5jOjYyMSBzeXMtdXRpbHMvaXBjcy5jOjYyMworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjUgc3lzLXV0aWxzL2lwY3MuYzo2NDkKK21zZ2lkICJOb3Qgc2V0IgorbXNnc3RyICJOaWUgdXN0YXdpb25vIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMzNiBzeXMtdXRpbHMvbHNpcGMuYzo5NzYgc3lzLXV0aWxzL2xzaXBjLmM6OTgyCittc2dpZCAiZGVzdCIKK21zZ3N0ciAiZGVzdCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMzcgc3lzLXV0aWxzL2xzaXBjLmM6OTc3IHN5cy11dGlscy9sc2lwYy5jOjk5MAorbXNnaWQgImxvY2tlZCIKK21zZ3N0ciAiYmxvay4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzU3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzZW1hcGhvcmUgbGltaXRzXG4iCittc2dzdHIgIm5pZSBtb8W8bmEgcG9icmHEhyBsaW1pdMOzdyBzZW1hZm9yw7N3XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBMaW1pdHkgc2VtYWZvcsOzdyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MQorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIGFycmF5cyA9ICVkXG4iCittc2dzdHIgIm1ha3N5bWFsbmEgbGljemJhIHRhYmxpYyA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHBlciBhcnJheSA9ICVkXG4iCittc2dzdHIgIm1ha3N5bWFsbmEgbGljemJhIHNlbWFmb3LDs3cgdyB0YWJsaWN5ID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICJtYWtzeW1hbG5hIGxpY3piYSBzZW1hZm9yw7N3IHcgc3lzdGVtaWUgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggb3BzIHBlciBzZW1vcCBjYWxsID0gJWRcbiIKK21zZ3N0ciAibWFrc3ltYWxuYSBsaWN6YmEgb3BlcmFjamkgbmEgc2VtLiB3IHd5d2/FgmFuaXUgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJzZW1hcGhvcmUgbWF4IHZhbHVlID0gJXVcbiIKK21zZ3N0ciAibWFrc3ltYWxuYSB3YXJ0b8WbxIcgc2VtYWZvcmEgPSAldVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiasSFZHJvIG5pZSB6b3N0YcWCbyBza29uZmlndXJvd2FuZSBkbyBvYnPFgnVnaSBzZW1hZm9yw7N3XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTdGFuIHNlbWFmb3LDs3cgLS0tLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGFycmF5cyA9ICVkXG4iCittc2dzdHIgInRhYmxpYyB1xbx5d2FueWNoOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgc2VtYXBob3JlcyA9ICVkXG4iCittc2dzdHIgInNlbWFmb3LDs3cgcHJ6eWR6aWVsb255Y2g6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gVHfDs3JjeS93xYJhxZtjaWNpZWxlIHRhYmxpYyBzZW1hZm9yw7N3IC0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDAxCittc2dpZCAic2VtaWQiCittc2dzdHIgImlkX3NlbSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBPcGVyYXRpb24vQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBDemFzeSBvcGVyYWNqaS96bWlhbiBzZW1hZm9yw7N3IC0tLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIKK21zZ2lkICJsYXN0LW9wIgorbXNnc3RyICJvc3Qub3AuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorbXNnaWQgImxhc3QtY2hhbmdlZCIKK21zZ3N0ciAib3N0LnptaWFuYSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFRhYmxpY2Ugc2VtYWZvcsOzdyAtLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDAxCittc2dpZCAibnNlbXMiCittc2dzdHIgImxzZW0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDU5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBtZXNzYWdlIGxpbWl0c1xuIgorbXNnc3RyICJuaWUgbW/FvG5hIHBvYnJhxIcgbGltaXTDs3cga29tdW5pa2F0w7N3XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIExpbWl0eSBrb211bmlrYXTDs3cgLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBxdWV1ZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICJtYWtzeW1hbG5hIGxpY3piYSBrb2xlamVrIHcgc3lzdGVtaWUgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2NQorbXNnaWQgIm1heCBzaXplIG9mIG1lc3NhZ2UiCittc2dzdHIgIm1ha3N5bWFsbnkgcm96bWlhciBrb211bmlrYXR1IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2NworbXNnaWQgImRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUiCittc2dzdHIgImRvbXnFm2xueSBtYWtzeW1hbG55IHJvem1pYXIga29sZWpraSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICJqxIVkcm8gbmllIHpvc3RhxYJvIHNrb25maWd1cm93YW5lIGRvIG9ic8WCdWdpIGtvbGVqZWsga29tdW5pa2F0w7N3XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDc3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFN0YW4ga29tdW5pa2F0w7N3IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDc5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBxdWV1ZXMgPSAlZFxuIgorbXNnc3RyICJrb2xlamtpIHByenlkemllbG9uZTogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBoZWFkZXJzID0gJWRcbiIKK21zZ3N0ciAidcW8eXdhbmUgbmFnxYLDs3draTogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODIKK21zZ2lkICJ1c2VkIHNwYWNlIgorbXNnc3RyICJ1xbx5d2FuZSBtaWVqc2NlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MworbXNnaWQgIiBieXRlc1xuIgorbXNnc3RyICIgYmFqdMOzd1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tIFR3w7NyY3kvd8WCYcWbY2ljaWVsZSBrb2xlamVrIGtvbXVuaWthdMOzdyAtXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg5IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTAxCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgIm1zcWlkIgorbXNnc3RyICJpZF9tc3EiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBTZW5kL1JlY3YvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBLb2xlamtpIGtvbXVuaWthdMOzdzogY3phcyBvZGIuL3d5cy4vem1pYW55IC0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgInNlbmQiCittc2dzdHIgInd5c8WCYW5pZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJyZWN2IgorbXNnc3RyICJvZGJpw7NyIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImNoYW5nZSIKK21zZ3N0ciAiem1pYW5hIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gS29sZWpraSBrb211bmlrYXTDs3c6IFBJRC15IC1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJsc3BpZCIKK21zZ3N0ciAibHNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAibHJwaWQiCittc2dzdHIgImxycGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEtvbGVqa2kga29tdW5pa2F0w7N3IC0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwOAorbXNnaWQgInVzZWQtYnl0ZXMiCittc2dzdHIgImJhanTDs3ciCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA5Cittc2dpZCAibWVzc2FnZXMiCittc2dzdHIgImtvbXVuaWthdMOzdyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzQgc3lzLXV0aWxzL2lwY3MuYzo2MDQgc3lzLXV0aWxzL2lwY3MuYzo2MzcKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUzNiBzeXMtdXRpbHMvbHNpcGMuYzo3MjIgc3lzLXV0aWxzL2xzaXBjLmM6ODc5CisjLCBjLWZvcm1hdAorbXNnaWQgImlkICVkIG5vdCBmb3VuZCIKK21zZ3N0ciAiSUQgJWQgbmllIHpvc3RhxYIgem5hbGV6aW9ueSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZCBtZW1vcnkgU2VnbWVudCBzaG1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisiSWRlbnR5ZmlrYXRvciBzZWdtZW50dSBwYW1pxJljaSBkemllbG9uZWogKHNobWlkKT0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVxuIgorbXNnc3RyICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjb1x0YWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICJ0cnliPSUjb1x0cHJhd2FfZG9zdMSZcHU9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg0Cittc2dpZCAic2l6ZT0iCittc2dzdHIgInJvem1pYXI9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorbXNnaWQgImJ5dGVzPSIKK21zZ3N0ciAiYmFqdMOzdz0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg2CisjLCBjLWZvcm1hdAorbXNnaWQgImxwaWQ9JXVcdGNwaWQ9JXVcdG5hdHRjaD0lamRcbiIKK21zZ3N0ciAibHBpZD0ldVx0Y3BpZD0ldVx0cG9kxYLEhWN6ZcWEPSVqZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJhdHRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJjemFzX3BvZMWCPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgImRldF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImN6YXNfb2TFgj0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MyBzeXMtdXRpbHMvaXBjcy5jOjYyNAorIywgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2VfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJjemFzX3ptaWFueT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZSBRdWV1ZSBtc3FpZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisiSWRlbnR5ZmlrYXRvciBrb2xlamtpIGtvbXVuaWthdMOzdyAobXNxaWQpPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjA5CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHRtb2RlPSUjb1xuIgorbXNnc3RyICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVx0dHJ5Yj0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTMKK21zZ2lkICJjc2l6ZT0iCittc2dzdHIgImNyb3ptaWFyPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTMKK21zZ2lkICJjYnl0ZXM9IgorbXNnc3RyICJjYmFqdMOzdz0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE1Cittc2dpZCAicXNpemU9IgorbXNnc3RyICJxcm96bWlhcj0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE1Cittc2dpZCAicWJ5dGVzPSIKK21zZ3N0ciAicWJhanTDs3c9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiY3phc193eXPFgmFuaWE9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAicmN2X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiY3phc19vZGJpb3J1PSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgQXJyYXkgc2VtaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIklkZW50eWZpa2F0b3IgdGFibGljeSBzZW1hZm9yw7N3IChzZW1pZCk9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAidHJ5Yj0lI28sIHVwcmF3bmllbmlhPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0NworIywgYy1mb3JtYXQKK21zZ2lkICJuc2VtcyA9ICVqdVxuIgorbXNnc3RyICJsc2VtID0gJWp1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIm90aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAib3RpbWUgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJjdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgImN0aW1lID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJzZW1udW0iCittc2dzdHIgIm4uc2VtLiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJ2YWx1ZSIKK21zZ3N0ciAid2FydG/Fm8SHIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgIm5jb3VudCIKK21zZ3N0ciAib2N6ZWsubi4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAiemNvdW50IgorbXNnc3RyICJvY3play56LiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJwaWQiCittc2dzdHIgInBpZCIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjMwIHN5cy11dGlscy9pcGN1dGlscy5jOjIzNCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzgKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQiCittc2dzdHIgIiVzIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChieXRlcykgPSAiCittc2dzdHIgIiVzIChiYWp0w7N3KSA9ICIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChrYnl0ZXMpID0gIgorbXNnc3RyICIlcyAoa0IpID0gIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxODAKK21zZ2lkICJpbnZhbGlkIGlmbGFnIgorbXNnc3RyICJixYLEmWRuYSBmbGFnYSBpZmxhZyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGxkaXNjPiA8ZGV2aWNlPlxuIgorbXNnc3RyICIgJXMgW29wY2plXSA8ZHlzY3lwbGluYT4gPHVyesSFZHplbmllPlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxOTkKK21zZ2lkICJBdHRhY2ggYSBsaW5lIGRpc2NpcGxpbmUgdG8gYSBzZXJpYWwgbGluZS5cbiIKK21zZ3N0ciAiRG/FgsSFY3plbmllIGR5c2N5cGxpbnkgbGluaWkgZG8gbGluaWkgc3plcmVnb3dlai5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAyCittc2dpZCAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgbWVzc2FnZXMgdG8gc3RkZXJyXG4iCittc2dzdHIgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICB3eXBpc3l3YW5pZSBzemN6ZWfDs8WCw7N3IG5hIHN0ZGVyclxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDMKK21zZ2lkICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAgc2V0IHNlcmlhbCBsaW5lIHNwZWVkXG4iCittc2dzdHIgIiAtcywgLS1zcGVlZCA8d2FydG/Fm8SHPiAgIHVzdGF3aWVuaWUgc3p5YmtvxZtjaSBsaW5paSBzemVyZWdvd2VqXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNAorbXNnaWQgIiAtYywgLS1pbnRyby1jb21tYW5kIDxzdHJpbmc+IGludHJvIHNlbnQgYmVmb3JlIGxkYXR0YWNoXG4iCittc2dzdHIgIiAtYywgLS1pbnRyby1jb21tYW5kIDzFgmHFhGN1Y2g+IHdwcm93YWR6ZW5pZSBkbyB3eXPFgmFuaWEgcHJ6ZWQgbGRhdHRhY2hcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA1Cittc2dpZCAiIC1wLCAtLXBhdXNlIDxzZWNvbmRzPiAgIHBhdXNlIGJldHdlZW4gaW50cm8gYW5kIGxkYXR0YWNoXG4iCittc2dzdHIgIiAtcCwgLS1wYXVzZSA8c2VrdW5kPiAgICBvZGN6ZWthbmllIG1pxJlkenkgd3Byb3dhZHplbmllbSBhIGxkYXR0YWNoXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNgorbXNnaWQgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gNyBiaXRzXG4iCittc2dzdHIgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICB1c3Rhd2llbmllIHJvem1pYXJ1IHpuYWt1IG5hIDcgYml0w7N3XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNworbXNnaWQgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gOCBiaXRzXG4iCittc2dzdHIgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICB1c3Rhd2llbmllIHJvem1pYXJ1IHpuYWt1IG5hIDggYml0w7N3XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOAorbXNnaWQgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICBzZXQgcGFyaXR5IHRvIG5vbmVcbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIHVzdGF3aWVuaWUgYnJha3UgcGFyenlzdG/Fm2NpXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOQorbXNnaWQgIiAtZSwgLS1ldmVucGFyaXR5ICAgICAgICBzZXQgcGFyaXR5IHRvIGV2ZW5cbiIKK21zZ3N0ciAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIHVzdGF3aWVuaWUgcGFyenlzdG/Fm2NpIG5hIHBhcnp5c3TEhVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTAKK21zZ2lkICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAgc2V0IHBhcml0eSB0byBvZGRcbiIKK21zZ3N0ciAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIHVzdGF3aWVuaWUgcGFyenlzdG/Fm2NpIG5hIG5pZXBhcnp5c3TEhVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTEKK21zZ2lkICIgLTEsIC0tb25lc3RvcGJpdCAgICAgICAgc2V0IHN0b3AgYml0cyB0byBvbmVcbiIKK21zZ3N0ciAiIC0xLCAtLW9uZXN0b3BiaXQgICAgICAgIHVzdGF3aWVuaWUgamVkbmVnbyBiaXR1IHN0b3B1XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMgorbXNnaWQgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBzZXQgc3RvcCBiaXRzIHRvIHR3b1xuIgorbXNnc3RyICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAgdXN0YXdpZW5pZSBkd8OzY2ggYml0w7N3IHN0b3B1XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMworbXNnaWQgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBzZXQgaW5wdXQgbW9kZSBmbGFnXG4iCittc2dzdHIgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICB1c3Rhd2llbmllIGZsYWdpIHRyeWJ1IHdlasWbY2lhXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxOQorbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8bGRpc2M+IG5hbWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiWm5hbmUgbmF6d3kgPGR5c2N5cGxpbnk+OlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMjMKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGlmbGFnPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlpuYW5lIG5hend5IDxpZmxhZz46XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0MAorbXNnaWQgImludmFsaWQgc3BlZWQgYXJndW1lbnQiCittc2dzdHIgImLFgsSZZG5hIHdhcnRvxZvEhyBzenlia2/Fm2NpIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDMKK21zZ2lkICJpbnZhbGlkIHBhdXNlIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSBvcGNqYSBwYXV6eSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzU5Cittc2dpZCAiaW52YWxpZCBvcHRpb24iCittc2dzdHIgImLFgsSZZG5hIG9wY2phIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNzAKK21zZ2lkICJpbnZhbGlkIGxpbmUgZGlzY2lwbGluZSBhcmd1bWVudCIKK21zZ3N0ciAiYsWCxJlkbmEgZHlzY3lwbGluYSBsaW5paSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHNlcmlhbCBsaW5lIgorbXNnc3RyICIlcyBuaWUgamVzdCBpbnRlcmZlanNlbSBzemVyZWdvd3ltIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAibmllIG1vxbxuYSBwb2JyYcSHIGF0cnlidXTDs3cgdGVybWluYWxhIGRsYSAlcyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWVkICVkIHVuc3VwcG9ydGVkIgorbXNnc3RyICJzenlia2/Fm8SHICVkIG5pZSBqZXN0IG9ic8WCdWdpd2FuYSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgIm5pZSBtb8W8bmEgdXN0YXdpxIcgYXRyeWJ1dMOzdyB0ZXJtaW5hbGEgZGxhICVzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlIGludHJvIGNvbW1hbmQgdG8gJXMiCittc2dzdHIgIm5pZSBtb8W8bmEgbmFwaXNhxIcgcG9sZWNlbmlhIHJvenBvY3p5bmFqxIVjZWdvIGRvICVzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NjkKK21zZ2lkICJjYW5ub3Qgc2V0IGxpbmUgZGlzY2lwbGluZSIKK21zZ3N0ciAibmllIG1vxbxuYSB1c3Rhd2nEhyBkeXNjeXBsaW55IGxpbmlpIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NzkKK21zZ2lkICJjYW5ub3QgZGFlbW9uaXplIgorbXNnc3RyICJuaWUgbW/FvG5hIHN0YcSHIHNpxJkgZGVtb25lbSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2OAorbXNnaWQgImF1dG9jbGVhciBmbGFnIHNldCIKK21zZ3N0ciAidXN0YXdpb25hIGZsYWdhIGF1dG9jbGVhciIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2OQorbXNnaWQgImRldmljZSBiYWNraW5nIGZpbGUiCittc2dzdHIgInBsaWsgcG93acSFemFueSB6IHVyesSFZHplbmllbSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MAorbXNnaWQgImJhY2tpbmcgZmlsZSBpbm9kZSBudW1iZXIiCittc2dzdHIgIm51bWVyIGktd8SZesWCYSBwb3dpxIV6YW5lZ28gcGxpa3UiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzEKK21zZ2lkICJiYWNraW5nIGZpbGUgbWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAibnVtZXIgZ8WCw7N3bnk6cG9ib2N6bnkgdXJ6xIVkemVuaWEgcG93acSFemFuZWdvIHBsaWt1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcyCittc2dpZCAibG9vcCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibmF6d2EgdXJ6xIVkemVuaWEgbG9vcCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MworbXNnaWQgIm9mZnNldCBmcm9tIHRoZSBiZWdpbm5pbmciCittc2dzdHIgIm9mZnNldCBvZCBwb2N6xIV0a3UiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzQKK21zZ2lkICJwYXJ0c2NhbiBmbGFnIHNldCIKK21zZ3N0ciAidXN0YXdpb25hIGZsYWdhIHBhcnRzY2FuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2Cittc2dpZCAic2l6ZSBsaW1pdCBvZiB0aGUgZmlsZSBpbiBieXRlcyIKK21zZ3N0ciAibGltaXQgcm96bWlhcnUgcGxpa3UgdyBiYWp0YWNoIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3Cittc2dpZCAibG9vcCBkZXZpY2UgbWFqb3I6bWlub3IgbnVtYmVyIgorbXNnc3RyICJudW1lciBnxYLDs3dueTpwb2JvY3pueSB1cnrEhWR6ZW5pYSBsb29wIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4Cittc2dpZCAiYWNjZXNzIGJhY2tpbmcgZmlsZSB3aXRoIGRpcmVjdC1pbyIKK21zZ3N0ciAiZG9zdMSZcCBkbyBwb3dpxIV6YW5lZ28gcGxpa3UgeiB1xbx5Y2llbSBiZXpwb8WbcmVkbmllZ28gd2Uvd3kiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM1IHN5cy11dGlscy9sb3NldHVwLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb2Zmc2V0ICVqdSIKK21zZ3N0ciAiLCBvZmZzZXQgJWp1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1MAorIywgYy1mb3JtYXQKK21zZ2lkICIsIHNpemVsaW1pdCAlanUiCittc2dzdHIgIiwgbGltaXQgcm96bWlhcnUgJWp1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1OAorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVuY3J5cHRpb24gJXMgKHR5cGUgJXUpIgorbXNnc3RyICIsIHN6eWZyb3dhbmllICVzICh0eXAgJXUpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGV0YWNoIGZhaWxlZCIKK21zZ3N0ciAiJXM6IG9kxYLEhWN6ZW5pZSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzI5IHN5cy11dGlscy9sc2NwdS5jOjE3MzUgc3lzLXV0aWxzL3BybGltaXQuYzoyMjkKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxNzYgc3lzLXV0aWxzL3dkY3RsLmM6MjE1IHN5cy11dGlscy96cmFtY3RsLmM6NDA1Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGxpbmUiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB6YWluaWNqb3dhxIcgbGluaWkgd3lqxZtjaW93ZWoiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gWzxsb29wZGV2Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8bG9vcGRldj4gPGZpbGU+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbb3BjamVdIFs8dXJ6xIVkemVuaWVfbG9vcD5dXG4iCisiICUxJHMgW29wY2plXSAtZiB8IDx1cnrEhWR6ZW5pZV9sb29wPiA8cGxpaz5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODYKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgbG9vcCBkZXZpY2VzLlxuIgorbXNnc3RyICJLb25maWd1cmFjamEgaSBzdGVyb3dhbmllIHVyesSFZHplbmlhbWkgbG9vcGJhY2suXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzg5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgbGlzdGEgd3N6eXN0a2ljaCB1xbx5d2FueWNoIHVyesSFZHplxYRcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTAKK21zZ2lkICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2Pi4uLiAgICAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKK21zZ3N0ciAiIC1kLCAtLWRldGFjaCA8dXJ6xIVkei4+Li4uICAgICBvZMWCxIVjemVuaWUgamVkbmVnbyBsdWIgd2nEmWtzemVqIGxpY3pieSB1cnrEhWR6ZcWEXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkxCittc2dpZCAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIGRldGFjaCBhbGwgdXNlZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBvZMWCxIVjemVuaWUgd3N6eXN0a2ljaCB1xbx5d2FueWNoIHVyesSFZHplxYRcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTIKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZmluZCBmaXJzdCB1bnVzZWQgZGV2aWNlXG4iCittc2dzdHIgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICB6bmFsZXppZW5pZSBwaWVyd3N6ZWdvIG5pZSB1xbx5d2FuZWdvIHVyesSFZHplbmlhXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkzCittc2dpZCAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcGRldj4gIHJlc2l6ZSB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiAtYywgLS1zZXQtY2FwYWNpdHkgPHVyesSFZHouPiAgem1pYW5hIHJvem1pYXJ1IHVyesSFZHplbmlhXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk0Cittc2dpZCAiIC1qLCAtLWFzc29jaWF0ZWQgPGZpbGU+ICAgICAgIGxpc3QgYWxsIGRldmljZXMgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorbXNnc3RyICIgLWosIC0tYXNzb2NpYXRlZCA8cGxpaz4gICAgICAgbGlzdGEgdXJ6xIVkemXFhCBwb3dpxIV6YW55Y2ggeiA8cGxpa2llbT5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTUKK21zZ2lkICIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICAgICAgYXZvaWQgcG9zc2libGUgY29uZmxpY3QgYmV0d2VlbiBkZXZpY2VzXG4iCittc2dzdHIgIiAtTCwgLS1ub292ZXJsYXAgICAgICAgICAgICAgICB1bmlrYW5pZSBtb8W8bGl3eWNoIGtvbmZsaWt0w7N3IG1pxJlkenkgdXJ6xIVkemVuaWFtaVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5OQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBzdGFydCBhdCBvZmZzZXQgPG51bT4gaW50byBmaWxlXG4iCittc2dzdHIgIiAtbyAtLW9mZnNldCA8aWxlPiAgICAgICAgICAgICByb3pwb2N6xJljaWUgb2QgcG9kYW5lZ28gb2Zmc2V0dSB3IHBsaWt1XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAwCittc2dpZCAiICAgICAtLXNpemVsaW1pdCA8bnVtPiAgICAgICAgIGRldmljZSBpcyBsaW1pdGVkIHRvIDxudW0+IGJ5dGVzIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiAgICAgLS1zaXplbGltaXQgPGlsZT4gICAgICAgICBvZ3JhbmljemVuaWUgZG8gcG9kYW5laiBsaWN6YnkgYmFqdMOzdyBwbGlrdVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMQorbXNnaWQgIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICBjcmVhdGUgYSBwYXJ0aXRpb25lZCBsb29wIGRldmljZVxuIgorbXNnc3RyICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgdXR3b3J6ZW5pZSBwYXJ0eWNqb25vd2FuZWdvIHVyesSFZHplbmlhIGxvb3BcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDIKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0IHVwIGEgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICB1c3Rhd2llbmllIHVyesSFZHplbmlhIGxvb3AgdHlsa28gZG8gb2Rjenl0dVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMworbXNnaWQgIiAgICAgLS1kaXJlY3QtaW9bPTxvbnxvZmY+XSAgICBvcGVuIGJhY2tpbmcgZmlsZSB3aXRoIE9fRElSRUNUXG4iCittc2dzdHIgIiAgICAgLS1kaXJlY3QtaW9bPTxvbnxvZmY+XSAgICBvdHdhcmNpZSBwb3dpxIV6YW5lZ28gcGxpa3UgeiBPX0RJUkVDVFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNAorbXNnaWQgIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSBhZnRlciBzZXR1cCAod2l0aCAtZilcbiIKK21zZ3N0ciAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHd5cGlzYW5pZSBuYXp3eSB1cnrEhWR6ZW5pYSAoeiAtZilcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICB0cnliIHplIHN6Y3plZ8OzxYJvd3ltaSBpbmZvcm1hY2phbWlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgbGlzdCBpbmZvIGFib3V0IGFsbCBvciBzcGVjaWZpZWQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBpbmZvcm1hY2plIG8gd3N6eXN0a2ljaCBsdWIgcG9kYW55Y2ggKGRvbXnFm2xuZSlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTAKK21zZ2lkICIgLU8sIC0tb3V0cHV0IDxjb2xzPiAgICAgICAgICAgc3BlY2lmeSBjb2x1bW5zIHRvIG91dHB1dCBmb3IgLS1saXN0XG4iCittc2dzdHIgIiAtTywgLS1vdXRwdXQgPGtvbHVtbnk+ICAgICAgICBva3JlxZtsZW5pZSBrb2x1bW4gd3lqxZtjaWEgZGxhIC0tbGlzdFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1saXN0IG91dHB1dFxuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgYmV6IHd5cGlzeXdhbmlhIG5hZ8WCw7N3a8OzdyBwcnp5IC0tbGlzdFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMgorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1c2UgcmF3IC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1xbx5Y2llIHN1cm93ZWdvIGZvcm1hdHUgd3lqxZtjaWEgLS1saXN0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEzCittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgIHVzZSBKU09OIC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICB1xbx5Y2llIEpTT04gamFrbyBmb3JtYXR1IHd5asWbY2lhIC0tbGlzdFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOQorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgLS1saXN0IGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJEb3N0xJlwbmUga29sdW1ueSBkbGEgLS1saXN0OlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBpcyBzbWFsbGVyIHRoYW4gNTEyIGJ5dGVzOyB0aGUgbG9vcCBkZXZpY2UgbWF5IGJlIHVzZWxlc3Mgb3IgaW52aXNpYmxlIGZvciBzeXN0ZW0gdG9vbHMuIgorbXNnc3RyICIlczogVXdhZ2E6IHBsaWsgamVzdCBrcsOzdHN6eSBuacW8IDUxMiBiYWp0w7N3LCB1cnrEhWR6ZW5pZSBsb29wIG1vxbxlIGJ5xIcgYmV6dcW8eXRlY3puZSBsdWIgbmlld2lkb2N6bmUgZGxhIG5hcnrEmWR6aSBzeXN0ZW1vd3ljaC4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGRvZXMgbm90IGZpdCBpbnRvIGEgNTEyLWJ5dGUgc2VjdG9yOyB0aGUgZW5kIG9mIHRoZSBmaWxlIHdpbGwgYmUgaWdub3JlZC4iCittc2dzdHIgIiVzOiBVd2FnYTogcGxpayBuaWUgcGFzdWplIGRvIDUxMi1iYWp0b3dlZ28gc2VrdG9yYSwga29uaWVjIHBsaWt1IHpvc3RhbmllIHppZ25vcm93YW55LiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NjQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MTYgc3lzLXV0aWxzL21vdW50LmM6NDU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzIGlzdG5pZWplIHphY2hvZHrEhWNlIHVyesSFZHplbmllIGxvb3AiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyByZWFkLW9ubHkgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlczogaXN0bmllamUgemFjaG9kesSFY2UgdXJ6xIVkemVuaWUgbG9vcCB0eWxrbyBkbyBvZGN6eXR1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgZW5jcnlwdGVkIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiJXM6IGlzdG5pZWplIHphY2hvZHrEhWNlIHphc3p5ZnJvd2FuZSB1cnrEhWR6ZW5pZSBsb29wIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlLXVzZSBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gc2nEmSB1xbx5xIcgcG9ub3duaWUgdXJ6xIVkemVuaWEgbG9vcCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0OTQKK21zZ2lkICJmYWlsZWQgdG8gaW5zcGVjdCBsb29wIGRldmljZXMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB6YmFkYcSHIHVyesSFZHplxYQgbG9vcCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjaGVjayBmb3IgY29uZmxpY3RpbmcgbG9vcCBkZXZpY2VzIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIHNwcmF3ZHppxIcgdXJ6xIVkemXFhCBsb29wIHBvZCBrxIV0ZW0ga29uZmxpa3TDs3ciCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTI5IHN5cy11dGlscy9sb3NldHVwLmM6ODI2Cittc2dpZCAiY2Fubm90IGZpbmQgYW4gdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICJuaWUgbW/FvG5hIG9kbmFsZcW6xIcgbmllIHXFvHl3YW5lZ28gdXJ6xIVkemVuaWEgbG9vcCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgYmFja2luZyBmaWxlIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIHXFvHnEhyBwb3dpxIV6YW5lZ28gcGxpa3UiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjMxIHN5cy11dGlscy9sb3NldHVwLmM6NjQxIHN5cy11dGlscy9sb3NldHVwLmM6NzUzCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBkZXZpY2UiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgdcW8ecSHIHVyesSFZHplbmlhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2NAorbXNnaWQgIm5vIGxvb3AgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAibmllIHBvZGFubyB1cnrEhWR6ZW5pYSBsb29wIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3MgorbXNnaWQgIm5vIGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICJuaWUgcG9kYW5vIHBsaWt1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgb3B0aW9ucyAlcyBhcmUgYWxsb3dlZCBkdXJpbmcgbG9vcCBkZXZpY2Ugc2V0dXAgb25seSIKK21zZ3N0ciAib3BjamUgJXMgc8SFIGRvendvbG9uZSB0eWxrbyBwcnp5IGtvbmZpZ3VyYWNqaSB1cnrEhWR6ZW5pYSBsb29wIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4NAorbXNnaWQgInRoZSBvcHRpb24gLS1vZmZzZXQgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICJvcGNqYSAtLW9mZnNldCBuaWUgamVzdCBkb3p3b2xvbmEgdyB0eW0ga29udGVrxZtjaWUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgY2FwYWNpdHkgZmFpbGVkIgorbXNnc3RyICIlczogdXN0YXdpZW5pZSBwb2plbW5vxZtjaSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBkaXJlY3QgaW8gZmFpbGVkIgorbXNnc3RyICIlczogdXN0YXdpZW5pZSBiZXpwb8WbcmVkbmllZ28gd2Uvd3kgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMDgKK21zZ2lkICJub25lIgorbXNnc3RyICJicmFrIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMDkKK21zZ2lkICJwYXJhIgorbXNnc3RyICJwYXJhIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMTAKK21zZ2lkICJmdWxsIgorbXNnc3RyICJwZcWCbmEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjExMQorbXNnaWQgImNvbnRhaW5lciIKK21zZ3N0ciAia29udGVuZXIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MworbXNnaWQgImhvcml6b250YWwiCittc2dzdHIgInBvemlvbXkiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NAorbXNnaWQgInZlcnRpY2FsIgorbXNnc3RyICJwaW9ub3d5IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDYKK21zZ2lkICJsb2dpY2FsIENQVSBudW1iZXIiCittc2dzdHIgIm51bWVyIGxvZ2ljem5lZ28gQ1BVIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDcKK21zZ2lkICJsb2dpY2FsIGNvcmUgbnVtYmVyIgorbXNnc3RyICJudW1lciBsb2dpY3puZWdvIHJkemVuaWEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0OAorbXNnaWQgImxvZ2ljYWwgc29ja2V0IG51bWJlciIKK21zZ3N0ciAibnVtZXIgbG9naWN6bmVnbyBnbmlhemRhIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDkKK21zZ2lkICJsb2dpY2FsIE5VTUEgbm9kZSBudW1iZXIiCittc2dzdHIgIm51bWVyIGxvZ2ljem5lZ28gd8SZesWCYSBOVU1BIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTAKK21zZ2lkICJsb2dpY2FsIGJvb2sgbnVtYmVyIgorbXNnc3RyICJudW1lciBsb2dpY3puZWdvIHRvbXUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MQorbXNnaWQgImxvZ2ljYWwgZHJhd2VyIG51bWJlciIKK21zZ3N0ciAibnVtZXIgbG9naWN6bmVqIHDDs8WCa2kiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MgorbXNnaWQgInNob3dzIGhvdyBjYWNoZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIENQVXMiCittc2dzdHIgImluZm9ybWFjamEgamFrIHBhbWnEmWNpIHBvZHLEmWN6bmUgc8SFIHdzcMOzxYJkemllbG9uZSBtacSZZHp5IENQVSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUzCittc2dpZCAiQ1BVIGRpc3BhdGNoaW5nIG1vZGUgb24gdmlydHVhbCBoYXJkd2FyZSIKK21zZ3N0ciAidHJ5YiBwcnpla2F6eXdhbmlhIENQVSBuYSBtYXN6eW5hY2ggd2lydHVhbG55Y2giCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NAorbXNnaWQgInBoeXNpY2FsIGFkZHJlc3Mgb2YgYSBDUFUiCittc2dzdHIgImZpenljem55IGFkcmVzIENQVSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU1Cittc2dpZCAic2hvd3MgaWYgdGhlIGh5cGVydmlzb3IgaGFzIGFsbG9jYXRlZCB0aGUgQ1BVIgorbXNnc3RyICJpbmZvcm1hY2phIGN6eSBoaXBlcm5hZHpvcmNhIHByenlkemllbGnFgiBDUFUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NgorbXNnaWQgInNob3dzIGlmIExpbnV4IGN1cnJlbnRseSBtYWtlcyB1c2Ugb2YgdGhlIENQVSIKK21zZ3N0ciAiaW5mb3JtYWNqYSBjenkgTGludXggb2JlY25pZSB3eWtvcnp5c3R1amUgQ1BVIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTcKK21zZ2lkICJzaG93cyB0aGUgbWF4aW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAid3nFm3dpZXRsZW5pZSBtYWtzeW1hbG5laiBsaWN6YnkgTUh6IHByb2Nlc29yYSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU4Cittc2dpZCAic2hvd3MgdGhlIG1pbmltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgInd5xZt3aWV0bGVuaWUgbWluaW1hbG5laiBsaWN6YnkgTUh6IHByb2Nlc29yYSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NTUwCittc2dpZCAiZXJyb3I6IHVuYW1lIGZhaWxlZCIKK21zZ3N0ciAiYsWCxIVkOiB1bmFtZSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjYzNAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGV0ZXJtaW5lIG51bWJlciBvZiBDUFVzOiAlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIG9rcmXFm2xpxIcgbGljemJ5IENQVTogJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjg5MQorbXNnaWQgImVycm9yOiBjYW4gbm90IHNldCBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiYsWCxIVkOiBuaWUgbW/FvG5hIHVzdGF3acSHIHByb2NlZHVyeSBvYnPFgnVnaSBzeWduYcWCdSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6ODk2Cittc2dpZCAiZXJyb3I6IGNhbiBub3QgcmVzdG9yZSBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiYsWCxIVkOiBuaWUgbW/FvG5hIHByenl3csOzY2nEhyBwcm9jZWR1cnkgb2JzxYJ1Z2kgc3lnbmHFgnUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk1NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBmcm9tOiAlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIG9kY3p5dGHEhyB6OiAlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQxMAorbXNnaWQgIkZhaWxlZCB0byBleHRyYWN0IHRoZSBub2RlIG51bWJlciIKK21zZ3N0ciAiTmllIHVkYcWCbyBzacSZIHphcGlzYcSHIG51bWVydSB3xJl6xYJhIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTM3IHN5cy11dGlscy9sc2NwdS5jOjE1NDcKK21zZ2lkICJZIgorbXNnc3RyICJUIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTM3IHN5cy11dGlscy9sc2NwdS5jOjE1NDcKK21zZ2lkICJOIgorbXNnc3RyICJOIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlclxuIgorIiMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSURcbiIKKyIjIHN0YXJ0aW5nIGZyb20gemVyby5cbiIKK21zZ3N0ciAiIgorIiMgUG9uacW8ZWogbGlzdGEgdyBmb3JtYWNpZSDFgmF0d3ltIGRvIHByemV0d29yemVuaWEgcHJ6ZXogaW5uZSBwcm9ncmFteS5cbiIKKyIjIEthxbxkeSBpbm55IGVsZW1lbnQgdyBrYcW8ZGVqIGtvbHVtbmllIG1hIHVuaWthbG55IGlkZW50eWZpa2F0b3JcbiIKKyIjIHogbnVtZXJhY2rEhSB6YWN6eW5hasSFY8SFIG9kIHplcmEuXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3ODEKK21zZ2lkICJBcmNoaXRlY3R1cmU6IgorbXNnc3RyICJBcmNoaXRla3R1cmE6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzk1Cittc2dpZCAiQ1BVIG9wLW1vZGUocyk6IgorbXNnc3RyICJUcnliKHkpIHByYWN5IENQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3OTggc3lzLXV0aWxzL2xzY3B1LmM6MTgwMAorbXNnaWQgIkJ5dGUgT3JkZXI6IgorbXNnc3RyICJLb2xlam5vxZvEhyBiYWp0w7N3OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwMgorbXNnaWQgIkNQVShzKToiCittc2dzdHIgIkNQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDUKK21zZ2lkICJPbi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiTWFza2EgYWt0eXdueWNoIENQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDYKK21zZ2lkICJPbi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiTGlzdGEgYWt0eXdueWNoIENQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjUKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbWFzazoiCittc2dzdHIgIk1hc2thIG5pZWFrdHl3bnljaCBDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI2Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICJMaXN0YSBuaWVha3R5d255Y2ggQ1BVOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2MgorbXNnaWQgIlRocmVhZChzKSBwZXIgY29yZToiCittc2dzdHIgIlfEhXRrw7N3IG5hIHJkemXFhDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjQKK21zZ2lkICJDb3JlKHMpIHBlciBzb2NrZXQ6IgorbXNnc3RyICJSZHplbmkgbmEgZ25pYXpkbzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjcKK21zZ2lkICJTb2NrZXQocykgcGVyIGJvb2s6IgorbXNnc3RyICJHbmlhemQgbmEgdG9tOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3MAorbXNnaWQgIkJvb2socykgcGVyIGRyYXdlcjoiCittc2dzdHIgIlRvbcOzdyBuYSBww7PFgmvEmToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzIKK21zZ2lkICJEcmF3ZXIocyk6IgorbXNnc3RyICJQw7PFgmVrOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3NAorbXNnaWQgIkJvb2socyk6IgorbXNnc3RyICJUb23Ds3c6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODc3Cittc2dpZCAiU29ja2V0KHMpOiIKK21zZ3N0ciAiR25pYXpkOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MQorbXNnaWQgIk5VTUEgbm9kZShzKToiCittc2dzdHIgIlfEmXrFgsOzdyBOVU1BOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MworbXNnaWQgIlZlbmRvciBJRDoiCittc2dzdHIgIklEIHByb2R1Y2VudGE6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg1Cittc2dpZCAiTWFjaGluZSB0eXBlOiIKK21zZ3N0ciAiVHlwIG1hc3p5bnk6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg3Cittc2dpZCAiQ1BVIGZhbWlseToiCittc2dzdHIgIlJvZHppbmEgQ1BVOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4OQorbXNnaWQgIk1vZGVsOiIKK21zZ3N0ciAiTW9kZWw6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODkxCittc2dpZCAiTW9kZWwgbmFtZToiCittc2dzdHIgIk5hendhIG1vZGVsdToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTMKK21zZ2lkICJTdGVwcGluZzoiCittc2dzdHIgIldlcnNqYToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTUKK21zZ2lkICJDUFUgTUh6OiIKK21zZ3N0ciAiQ1BVIE1IejoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTcKK21zZ2lkICJDUFUgZHluYW1pYyBNSHo6IgorbXNnc3RyICJDUFUgZHluYW1pY3puZSBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk5Cittc2dpZCAiQ1BVIHN0YXRpYyBNSHo6IgorbXNnc3RyICJDUFUgc3RhdHljem5lIE1IejoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDEKK21zZ2lkICJDUFUgbWF4IE1IejoiCittc2dzdHIgIkNQVSBtYXggTUh6OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMworbXNnaWQgIkNQVSBtaW4gTUh6OiIKK21zZ3N0ciAiQ1BVIG1pbiBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA1Cittc2dpZCAiQm9nb01JUFM6IgorbXNnc3RyICJCb2dvTUlQUzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDggc3lzLXV0aWxzL2xzY3B1LmM6MTkxMAorbXNnaWQgIlZpcnR1YWxpemF0aW9uOiIKK21zZ3N0ciAiV2lydHVhbGl6YWNqYToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTMKK21zZ2lkICJIeXBlcnZpc29yOiIKK21zZ3N0ciAiSGlwZXJuYWR6b3JjYToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTUKK21zZ2lkICJIeXBlcnZpc29yIHZlbmRvcjoiCittc2dzdHIgIlByb2R1Y2VudCBoaXBlcm5hZHpvcmN5OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxNgorbXNnaWQgIlZpcnR1YWxpemF0aW9uIHR5cGU6IgorbXNnc3RyICJUeXAgd2lydHVhbGl6YWNqaToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTkKK21zZ2lkICJEaXNwYXRjaGluZyBtb2RlOiIKK21zZ3N0ciAiVHJ5YiBwcnpla2F6eXdhbmlhOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkyNSBzeXMtdXRpbHMvbHNjcHUuYzoxOTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNhY2hlOiIKK21zZ3N0ciAiQ2FjaGUgJXM6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTUEgbm9kZSVkIENQVShzKToiCittc2dzdHIgIlByb2Nlc29yeSB3xJl6xYJhIE5VTUEgJWQ6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQ2Cittc2dpZCAiRmxhZ3M6IgorbXNnc3RyICJGbGFnaToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NDkKK21zZ2lkICJQaHlzaWNhbCBzb2NrZXRzOiIKK21zZ3N0ciAiRml6eWN6bmUgZ25pYXpkYToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NTAKK21zZ2lkICJQaHlzaWNhbCBjaGlwczoiCittc2dzdHIgIkZpenljem5lIHVrxYJhZHk6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTUxCittc2dpZCAiUGh5c2ljYWwgY29yZXMvY2hpcDoiCittc2dzdHIgIkZpenljem5lIHJkemVuaWUvdWvFgmFkOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2MworbXNnaWQgIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIENQVSBhcmNoaXRlY3R1cmUuXG4iCittc2dzdHIgIld5xZt3aWV0bGVuaWUgaW5mb3JtYWNqaSBvIGFyY2hpdGVrdHVyemUgcHJvY2Vzb3JhLlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY2Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IGJvdGggb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIHd5cGlzYW5pZSB3xYIuIGkgd3nFgi4gQ1BVIChkb215xZtsbmUgZGxhIC1lKVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY3Cittc2dpZCAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIHByaW50IG9ubGluZSBDUFVzIG9ubHkgKGRlZmF1bHQgZm9yIC1wKVxuIgorbXNnc3RyICIgLWIsIC0tb25saW5lICAgICAgICAgICAgIHd5cGlzYW5pZSB0eWxrbyB3xYLEhWN6b255Y2ggQ1BVIChkb215xZtsbmUgZGxhIC1wKVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY4Cittc2dpZCAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iCittc2dzdHIgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICAgd3lwaXNhbmllIHR5bGtvIHd5xYLEhWN6b255Y2ggQ1BVXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjkKK21zZ2lkICIgLWUsIC0tZXh0ZW5kZWRbPTxsaXN0Pl0gcHJpbnQgb3V0IGFuIGV4dGVuZGVkIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tZXh0ZW5kZWRbPTxsaXN0YT5dIHd5cGlzYW5pZSB3IHJvenN6ZXJ6b255bSwgY3p5dGVsbnltIGZvcm1hY2llXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzAKK21zZ2lkICIgLXAsIC0tcGFyc2VbPTxsaXN0Pl0gICAgcHJpbnQgb3V0IGEgcGFyc2FibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtcCwgLS1wYXJzZVs9PGxpc3RhPl0gICAgd3lwaXNhbmllIHcgZm9ybWFjaWUgemRhdG55bSBkbyBhbmFsaXp5XG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzEKK21zZ2lkICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAgdXNlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIC1zLCAtLXN5c3Jvb3QgPGthdGFsb2c+ICB1xbx5Y2llIHBvZGFuZWdvIGthdGFsb2d1IGpha28gZ8WCw7N3bmVnbyBzeXN0ZW1vd2Vnb1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcyCittc2dpZCAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHByaW50IGhleGFkZWNpbWFsIG1hc2tzIHJhdGhlciB0aGFuIGxpc3RzIG9mIENQVXNcbiIKK21zZ3N0ciAiIC14LCAtLWhleCAgICAgICAgICAgICAgICB3eXBpc3l3YW5pZSBtYXNlayBzemVzbmFzdGtvd3ljaCB6YW1pYXN0IGxpc3QgQ1BVXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzMKK21zZ2lkICIgLXksIC0tcGh5c2ljYWwgICAgICAgICAgcHJpbnQgcGh5c2ljYWwgaW5zdGVhZCBvZiBsb2dpY2FsIElEc1xuIgorbXNnc3RyICIgLXksIC0tcGh5c2ljYWwgICAgICAgICAgd3lwaXNhbmllIGlkZW50eWZpa2F0b3LDs3cgZml6eWN6bnljaCB6YW1pYXN0IGxvZ2ljem55Y2hcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3B0aW9ucyAtLWFsbCwgLS1vbmxpbmUgYW5kIC0tb2ZmbGluZSBtYXkgb25seSBiZSB1c2VkIHdpdGggb3B0aW9ucyAtLWV4dGVuZGVkIG9yIC0tcGFyc2UuXG4iCittc2dzdHIgIiVzOiBvcGNqZSAtLWFsbCwgLS1vbmxpbmUgb3JheiAtLW9mZmxpbmUgbW9nxIUgYnnEhyB1xbx5d2FuZSB0eWxrbyB6IG9wY2phbWkgLS1leHRlbmRlZCBsdWIgLS1wYXJzZS5cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5Cittc2dpZCAiUmVzb3VyY2Uga2V5IgorbXNnc3RyICJLbHVjeiB6YXNvYnUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorbXNnaWQgIktleSIKK21zZ3N0ciAia2x1Y3oiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorbXNnaWQgIlJlc291cmNlIElEIgorbXNnc3RyICJJRCB6YXNvYnUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorbXNnaWQgIklEIgorbXNnc3RyICJJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCittc2dpZCAiT3duZXIncyB1c2VybmFtZSBvciBVSUQiCittc2dzdHIgIk5hendhIGx1YiBVSUQgd8WCYcWbY2ljaWVsYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCittc2dpZCAiT3duZXIiCittc2dzdHIgIlfFgmHFm2NpY2llbCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUyCittc2dpZCAiUGVybWlzc2lvbnMiCittc2dzdHIgIlVwcmF3bmllbmlhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTMKK21zZ2lkICJDcmVhdG9yIFVJRCIKK21zZ3N0ciAiVUlEIHR3w7NyY3kiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NAorbXNnaWQgIkNyZWF0b3IgdXNlciIKK21zZ3N0ciAiTmF6d2EgdHfDs3JjYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU1Cittc2dpZCAiQ3JlYXRvciBHSUQiCittc2dzdHIgIkdJRCB0d8OzcmN5IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTYKK21zZ2lkICJDcmVhdG9yIGdyb3VwIgorbXNnc3RyICJHcnVwYSB0d8OzcmN5IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKK21zZ2lkICJVc2VyIElEIgorbXNnc3RyICJJRCB1xbx5dGtvd25pa2EiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworbXNnaWQgIlVJRCIKK21zZ3N0ciAiVUlEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTgKK21zZ2lkICJVc2VyIG5hbWUiCittc2dzdHIgIk5hendhIHXFvHl0a293bmlrYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR3JvdXAgSUQiCittc2dzdHIgIklEIGdydXB5IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTkKK21zZ2lkICJHSUQiCittc2dzdHIgIkdJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYwCittc2dpZCAiR3JvdXAgbmFtZSIKK21zZ3N0ciAiTmF6d2EgZ3J1cHkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3QgY2hhbmdlIgorbXNnc3RyICJDemFzIG9zdGF0bmllaiB6bWlhbnkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorbXNnaWQgIkxhc3QgY2hhbmdlIgorbXNnc3RyICJPc3RhdG5pYSB6bWlhbmEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NAorbXNnaWQgIkJ5dGVzIHVzZWQiCittc2dzdHIgIkJhanTDs3cgdcW8eXR5Y2giCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlcyIKK21zZ3N0ciAiTGljemJhIGtvbXVuaWthdMOzdyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1Cittc2dpZCAiTWVzc2FnZXMiCittc2dzdHIgIktvbXVuaWthdMOzdyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyBzZW50IgorbXNnc3RyICJDemFzIHd5c8WCYW5pYSBvc3RhdG5pZWdvIGtvbXVuaWthdHUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIk1zZyBzZW50IgorbXNnc3RyICJLb211bmlrYXQgd3lzxYIuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHJlY2VpdmVkIgorbXNnc3RyICJDemFzIG9kZWJyYW5pYSBvc3RhdG5pZWdvIGtvbXVuaWthdHUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIk1zZyByZWNlaXZlZCIKK21zZ3N0ciAiS29tdW5pa2F0IG9kZWJyLiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyBzZW5kZXIiCittc2dzdHIgIlBJRCBvc3RhdG5pZWdvIG5hZGF3Y3kiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIk1zZyBzZW5kZXIiCittc2dzdHIgIk5hZGF3Y2EiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgcmVjZWl2ZXIiCittc2dzdHIgIlBJRCBvc3RhdG5pZWdvIG9kYmlvcmN5IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJNc2cgcmVjZWl2ZXIiCittc2dzdHIgIk9kYmlvcmNhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzIKK21zZ2lkICJTZWdtZW50IHNpemUiCittc2dzdHIgIlJvem1pYXIgc2VnbWVudHUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MworbXNnaWQgIk51bWJlciBvZiBhdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIkxpY3piYSBkb8WCxIVjem9ueWNoIHByb2Nlc8OzdyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCittc2dpZCAiQXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICJEb8WCxIVjem9uZSBwcm9jZXN5IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzQKK21zZ2lkICJTdGF0dXMiCittc2dzdHIgIlN0YW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NQorbXNnaWQgIkF0dGFjaCB0aW1lIgorbXNnc3RyICJDemFzIGRvxYLEhWN6ZW5pYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc2Cittc2dpZCAiRGV0YWNoIHRpbWUiCittc2dzdHIgIkN6YXMgb2TFgsSFY3plbmlhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAiTGluaWEgcG9sZWNlxYQgdHfDs3JjeSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3Cittc2dpZCAiQ3JlYXRvciBjb21tYW5kIgorbXNnc3RyICJQb2xlY2VuaWUgdHfDs3JjeSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiUElEIG9mIHRoZSBjcmVhdG9yIgorbXNnc3RyICJQSUQgdHfDs3JjeSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiQ3JlYXRvciBQSUQiCittc2dzdHIgIlBJRCB0d8OzcmN5IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJQSUQgb2YgbGFzdCB1c2VyIgorbXNnc3RyICJQSUQgb3N0YXRuaWVnbyB1xbx5dGtvd25pa2EiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OQorbXNnaWQgIkxhc3QgdXNlciBQSUQiCittc2dzdHIgIlBJRCBvc3RhdG5pZWdvIHXFvHl0a293bmlrYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgyCittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgIkxpY3piYSBzZW1hZm9yw7N3IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODIKK21zZ2lkICJTZW1hcGhvcmVzIgorbXNnc3RyICJTZW1hZm9yw7N3IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODMKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAiQ3phcyBvc3RhdG5pZWogb3BlcmFjamkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIkxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICJPc3RhdG5pYSBvcGVyYWNqYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2Cittc2dpZCAiUmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAiTmF6d2EgemFzb2J1IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKK21zZ2lkICJSZXNvdXJjZSIKK21zZ3N0ciAiWmFzw7NiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJSZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiT3BpcyB6YXNvYnUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworbXNnaWQgIkRlc2NyaXB0aW9uIgorbXNnc3RyICJPcGlzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJDdXJyZW50bHkgdXNlZCIKK21zZ3N0ciAiQWt0dWFsbmllIHcgdcW8eWNpdSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiVXNlZCIKK21zZ3N0ciAiVyB1xbx5Y2l1IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKK21zZ2lkICJDdXJyZW50bHkgdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIkFrdHVhbG5lIHByb2NlbnRvd2UgdcW8eWNpZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5Cittc2dpZCAiVXNlIgorbXNnc3RyICJVxbx5Y2llIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJTeXN0ZW0td2lkZSBsaW1pdCIKK21zZ3N0ciAiTGltaXQgc3lzdGVtb3d5IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJMaW1pdCIKK21zZ3N0ciAiTGltaXQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb2x1bW4gJXMgZG9lcyBub3QgYXBwbHkgdG8gdGhlIHNwZWNpZmllZCBJUEMiCittc2dzdHIgImtvbHVtbmEgJXMgbmllIG9kbm9zaSBzacSZIGRvIHBvZGFuZWdvIElQQyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg3Cittc2dpZCAiIC1nLCAtLWdsb2JhbCAgICAgIGluZm8gYWJvdXQgc3lzdGVtLXdpZGUgdXNhZ2UgKG1heSBiZSB1c2VkIHdpdGggLW0sIC1xIGFuZCAtcylcbiIKK21zZ3N0ciAiIC1nLCAtLWdsb2JhbCAgICAgIGluZm9ybWFjamEgbyBzeXN0ZW1vd3ltIHXFvHljaXUgKG1vxbxlIGJ5xIcgdcW8eXRlIHogLW0sIC1xIGkgLXMpXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OAorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICAgICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIgLWksIC0taWQgPGlkPiAgICAgd3lwaXNhbmllIHN6Y3plZ8OzxYLDs3cgemFzb2J1IG8gcG9kYW55bSA8aWQ+XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgd3lwaXN5d2FuaWUgcm96bWlhcsOzdyB3IGJhanRhY2ggemFtaWFzdCBmb3JtYXR1XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBjenl0ZWxuZWdvIGRsYSBjesWCb3dpZWthXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NQorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICAgICAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIHd5xZt3aWV0bGVuaWUgdHfDs3JjeSBpIHfFgmHFm2NpY2llbGFcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk3Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICB1c2UgdGhlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIHd5asWbY2llIHcgZm9ybWFjaWUgSlNPTlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgIGZvcmNlIGxpc3Qgb3V0cHV0IGZvcm1hdCAoZm9yIGV4YW1wbGUgd2l0aCAtLWlkKVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgIHd5bXVzemVuaWUgd3lqxZtjaWEgdyBmb3JtYWNpZSBsaXN0eSAobnAuIHogLS1pZClcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAxCittc2dpZCAiIC1QLCAtLW51bWVyaWMtcGVybXMgICAgICBwcmludCBudW1lcmljIHBlcm1pc3Npb25zIChQRVJNUyBjb2x1bW4pXG4iCittc2dzdHIgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgd3lwaXN5d2FuaWUgdXByYXduaWXFhCBsaWN6Ym93eWNoIChrb2x1bW5hIFBFUk1TKVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDMKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIHd5xZt3aWV0bGVuaWUgY3phc3UgZG/FgsSFY3plbmlhLCBvZMWCxIVjemVuaWEgaSB6bWlhbnlcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmljIGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJLb2x1bW55IG9nw7NsbmU6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkLW1lbW9yeSBjb2x1bW5zICgtLXNobWVtcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJLb2x1bW55IHBhbWnEmWNpIGR6aWVsb25laiAoLS1zaG1lbXMpOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UtcXVldWUgY29sdW1ucyAoLS1xdWV1ZXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiS29sdW1ueSBrb2xlamVrIGtvbXVuaWthdMOzdyAoLS1xdWV1ZXMpOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBjb2x1bW5zICgtLXNlbWFwaG9yZXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiS29sdW1ueSBzZW1hZm9yw7N3ICgtLXNlbWFwaG9yZXMpOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlN1bW1hcnkgY29sdW1ucyAoLS1nbG9iYWwpOlxuIgorbXNnc3RyICIiCisiXG4iCisiT3BjamUgcG9kc3Vtb3dhbmlhICgtLWdsb2JhbCk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjQxMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRWxlbWVudHM6XG4iCisiXG4iCittc2dzdHIgIiIKKyJFbGVtZW50eTpcbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA1Cittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZSBpZGVudGlmaWVycyIKK21zZ3N0ciAiTGljemJhIGlkZW50eWZpa2F0b3LDs3cgc2VtYWZvcsOzdyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA2Cittc2dpZCAiVG90YWwgbnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgIkNhxYJrb3dpdGEgbGljemJhIHNlbWFmb3LDs3ciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwNworbXNnaWQgIk1heCBzZW1hcGhvcmVzIHBlciBzZW1hcGhvcmUgc2V0LiIKK21zZ3N0ciAiTWFrc3ltYWxuYSBsaWN6YmEgc2VtYWZvcsOzdyB3IHplc3Rhd2llLiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA4Cittc2dpZCAiTWF4IG51bWJlciBvZiBvcGVyYXRpb25zIHBlciBzZW1vcCgyKSIKK21zZ3N0ciAiTWFrc3ltYWxuYSBsaWN6YmEgb3BlcmFjamkgbmEgc2Vtb3AoMikiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwOQorbXNnaWQgIlNlbWFwaG9yZSBtYXggdmFsdWUiCittc2dzdHIgIk1ha3N5bWFsbmEgd2FydG/Fm8SHIHNlbWFmb3JhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjMKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgIkxpY3piYSBrb2xlamVrIGtvbXVuaWthdMOzdyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODY0Cittc2dpZCAiTWF4IHNpemUgb2YgbWVzc2FnZSAoYnl0ZXMpIgorbXNnc3RyICJNYWtzeW1hbG55IHJvem1pYXIga29tdW5pa2F0dSAodyBiYWp0YWNoKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODY1Cittc2dpZCAiRGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSAoYnl0ZXMpIgorbXNnc3RyICJEb215xZtsbnkgbWFrc3ltYWxueSByb3ptaWFyIGtvbGVqa2kgKHcgYmFqdGFjaCkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk3OCBzeXMtdXRpbHMvbHNpcGMuYzo5OTcKK21zZ2lkICJodWdldGxiIgorbXNnc3RyICJodWdldGxiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5Nzkgc3lzLXV0aWxzL2xzaXBjLmM6MTAwNAorbXNnaWQgIm5vcmVzZXJ2ZSIKK21zZ3N0ciAibm9yZXNlcnZlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDYxCittc2dpZCAiU2hhcmVkIG1lbW9yeSBzZWdtZW50cyIKK21zZ3N0ciAiU2VnbWVudHkgcGFtacSZY2kgZHppZWxvbmVqIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDYyCittc2dpZCAiU2hhcmVkIG1lbW9yeSBwYWdlcyIKK21zZ3N0ciAiU3Ryb255IHBhbWnEmWNpIGR6aWVsb25laiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MworbXNnaWQgIk1heCBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICJNYWtzeW1hbG55IHJvem1pYXIgc2VnbWVudHUgcGFtacSZY2kgZHppZWxvbmVqICh3IGJhanRhY2gpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDY0Cittc2dpZCAiTWluIHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIk1pbmltYWxueSByb3ptaWFyIHNlZ21lbnR1IHBhbWnEmWNpIGR6aWVsb25laiAodyBiYWp0YWNoKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTEzNQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJUEMgaWRlbnRpZmllciIKK21zZ3N0ciAibmllenJvenVtaWHFgnkgaWRlbnR5ZmlrYXRvciBJUEMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEyMjkKK21zZ2lkICItLWdsb2JhbCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWNyZWF0b3IsIC0taWQgYW5kIC0tdGltZSIKK21zZ3N0ciAiLS1nbG9iYWwgd3lrbHVjemEgc2nEmSB3emFqZW1uaWUgeiAtLWNyZWF0b3IsIC0taWQgb3JheiAtLXRpbWUiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODMKK21zZ2lkICJuYW1lc3BhY2UgaWRlbnRpZmllciAoaW5vZGUgbnVtYmVyKSIKK21zZ3N0ciAiaWRlbnR5ZmlrYXRvciBwcnplc3RyemVuaSBuYXp3IChudW1lciBpLXfEmXrFgmEpIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg0Cittc2dpZCAia2luZCBvZiBuYW1lc3BhY2UiCittc2dzdHIgInJvZHphaiBwcnplc3RyemVuaSBuYXp3IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg1Cittc2dpZCAicGF0aCB0byB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICLFm2NpZcW8a2EgZG8gcHJ6ZXN0cnplbmkgbmF6dyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NgorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAibGljemJhIHByb2Nlc8OzdyB3IHByemVzdHJ6ZW5pIG5henciCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODcKK21zZ2lkICJsb3dlc3QgUElEIGluIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgIm5ham5pxbxzenkgUElEIHcgcHJ6ZXN0cnplbmkgbmF6dyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OAorbXNnaWQgIlBQSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiUFBJRCB0ZWdvIFBJRC11IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5Cittc2dpZCAiY29tbWFuZCBsaW5lIG9mIHRoZSBQSUQiCittc2dzdHIgImxpbmlhIHBvbGVjZcWEIFBJRC11IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkwCittc2dpZCAiVUlEIG9mIHRoZSBQSUQiCittc2dzdHIgIlVJRCB0ZWdvIFBJRC11IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkxCittc2dpZCAidXNlcm5hbWUgb2YgdGhlIFBJRCIKK21zZ3N0ciAibmF6d2EgdcW8eXRrb3duaWthIFBJRC11IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYxMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bmFtZXNwYWNlPl1cbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gWzxwcnplc3RyemXFhD5dXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjE2Cittc2dpZCAiTGlzdCBzeXN0ZW0gbmFtZXNwYWNlcy5cbiIKK21zZ3N0ciAiTGlzdGEgc3lzdGVtb3d5Y2ggcHJ6ZXN0cnplbmkgbmF6dy5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo2MjMKK21zZ2lkICIgLXAsIC0tdGFzayA8cGlkPiAgICAgICBwcmludCBwcm9jZXNzIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIC1wLCAtLXRhc2sgPHBpZD4gICAgICAgd3lwaXNhbmllIHByemVzdHJ6ZW5pIG5hencgcHJvY2Vzw7N3XG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjI2Cittc2dpZCAiIC10LCAtLXR5cGUgPG5hbWU+ICAgICAgbmFtZXNwYWNlIHR5cGUgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzLCBjZ3JvdXApXG4iCittc2dzdHIgIiAtdCwgLS10eXBlIDxuYXp3YT4gICAgIHJvZHphaiBwcnplc3RyemVuaSAobW50LCBuZXQsIGlwYywgdXNlciwgcGlkLCB1dHMsIGNncm91cClcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBuYW1lc3BhY2UgdHlwZTogJXMiCittc2dzdHIgIm5pZXpuYW55IHJvZHphaiBwcnplc3RyemVuaSBuYXp3OiAlcyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MzUKK21zZ2lkICItLXRhc2sgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPG5hbWVzcGFjZT4iCittc2dzdHIgIm9wY2phIC0tdGFzayB3eWtsdWN6YSBzacSZIHogPHByemVzdHJ6ZW5pxIU+IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjczNgorbXNnaWQgImludmFsaWQgbmFtZXNwYWNlIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRueSBhcmd1bWVudCBwcnplc3RyemVuaSBuYXp3IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjc3NAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZm91bmQgbmFtZXNwYWNlOiAlanUiCittc2dzdHIgIm5pZSB6bmFsZXppb25vIHByemVzdHJ6ZW5pOiAlanUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY2IHN5cy11dGlscy91bW91bnQuYzoxMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAidHlsa28gcm9vdCBtb8W8ZSB1xbx5xIcgb3BjamkgXCItLSVzXCIgKGVmZWt0eXdueSBVSUQgdG8gJXUpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2OSBzeXMtdXRpbHMvdW1vdW50LmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgInR5bGtvIHJvb3QgbW/FvGUgdG8genJvYmnEhyAoZWZla3R5d255IFVJRCB0byAldSkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjczIHN5cy11dGlscy91bW91bnQuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIgorbXNnc3RyICJ0eWxrbyByb290IG1vxbxlIHXFvHnEhyBvcGNqaSBcIi0tJXNcIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzQgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKK21zZ3N0ciAidHlsa28gcm9vdCBtb8W8ZSB0byB6cm9iacSHIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4NSBzeXMtdXRpbHMvdW1vdW50LmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAobGlibW91bnQgJXMiCittc2dzdHIgIiVzIHogcGFraWV0dSAlcyAobGlibW91bnQgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEzMAorbXNnaWQgImZhaWxlZCB0byByZWFkIG10YWIiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBvZGN6eXRhxIcgbXRhYiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkyIHN5cy11dGlscy91bW91bnQuYzoyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGlnbm9yZWRcbiIKK21zZ3N0ciAiJS0yNXM6IHppZ25vcm93YW5vXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MworIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogYWxyZWFkeSBtb3VudGVkXG4iCittc2dzdHIgIiUtMjVzOiBqdcW8IHphbW9udG93YW55XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI0OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW92ZWQgdG8gJXMuXG4iCittc2dzdHIgIiVzOiAlcyBwcnplbmllc2lvbmUgZG8gJXMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgYm91bmQgb24gJXMuXG4iCittc2dzdHIgIiVzOiAlcyBwcnp5cGlzYW5lIGRvICVzLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTQgc3lzLXV0aWxzL21vdW50LmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3VudGVkIG9uICVzLlxuIgorbXNnc3RyICIlczogJXMgemFtb250b3dhbmUgcG9kICVzLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIHByb3BhZ2F0aW9uIGZsYWdzIGNoYW5nZWQuXG4iCittc2dzdHIgIiVzOiBmbGFnaSBwcm9wYWdhY2ppICVzIHpvc3RhxYJ5IHptaWVuaW9uZS5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJtb3VudDogJXMgZG9lcyBub3QgY29udGFpbiBTRUxpbnV4IGxhYmVscy5cbiIKKyIgICAgICAgWW91IGp1c3QgbW91bnRlZCBhbiBmaWxlIHN5c3RlbSB0aGF0IHN1cHBvcnRzIGxhYmVscyB3aGljaCBkb2VzIG5vdFxuIgorIiAgICAgICBjb250YWluIGxhYmVscywgb250byBhbiBTRUxpbnV4IGJveC4gSXQgaXMgbGlrZWx5IHRoYXQgY29uZmluZWRcbiIKKyIgICAgICAgYXBwbGljYXRpb25zIHdpbGwgZ2VuZXJhdGUgQVZDIG1lc3NhZ2VzIGFuZCBub3QgYmUgYWxsb3dlZCBhY2Nlc3MgdG9cbiIKKyIgICAgICAgdGhpcyBmaWxlIHN5c3RlbS4gIEZvciBtb3JlIGRldGFpbHMgc2VlIHJlc3RvcmVjb24oOCkgYW5kIG1vdW50KDgpLlxuIgorbXNnc3RyICIiCisibW91bnQ6ICVzIG5pZSB6YXdpZXJhIGV0eWtpZXQgU0VMaW51a3NhLlxuIgorIiAgICAgICBXIHN5c3RlbWllIHogU0VMaW51a3NlbSB6YW1vbnRvd2FubyBzeXN0ZW0gcGxpa8OzdyBvYnPFgnVndWrEhWN5XG4iCisiICAgICAgIGV0eWtpZXR5LCBhbGUgaWNoIG5pZSB6YXdpZXJhasSFY3kuIE5hanByYXdkb3BvZG9ibmllaiBhcGxpa2FjamVcbiIKKyIgICAgICAgYsSZZMSFIGdlbmVyb3dhxIcga29tdW5pa2F0eSBBVkMgaSBuaWUgYsSZZMSFIG1vZ8WCeSBkb3N0YcSHIHNpxJkgZG8gdGVnb1xuIgorIiAgICAgICBzeXN0ZW11IHBsaWvDs3cuIFdpxJljZWogc3pjemVnw7PFgsOzdyB3IHJlc3RvcmVjb24oOCkgaSBtb3VudCg4KS5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Mzc4Cittc2dpZCAiV0FSTklORzogZmFpbGVkIHRvIGFwcGx5IHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICJVV0FHQTogbmllIHVkYcWCbyBzacSZIHV3emdsxJlkbmnEhyBmbGFnIHByb3BhZ2FjamkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIG1vdW50ICVzIG9uICVzIgorbXNnc3RyICJ0eWxrbyByb290IG1vxbxlIHphbW9udG93YcSHICVzIHcgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQiCittc2dzdHIgIiVzIGplc3QganXFvCB6YW1vbnRvd2FueSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHVzZWQgYXMgcmVhZCBvbmx5IGxvb3AsIG1vdW50aW5nIHJlYWQtb25seSIKK21zZ3N0ciAiJXMgamVzdCB1xbx5d2FuZSBqYWtvIHVyesSFZHplbmllIGxvb3AgdHlsa28gZG8gb2Rjenl0dSwgbW9udG93YW5pZSB0eWxrbyBkbyBvZGN6eXR1IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCAlcyBpbiAlcyIKK21zZ3N0ciAibmllIHpuYWxlemlvbm8gJXMgdyAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDIzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnRwb2ludCAlcyBpbiAlcyIKK21zZ3N0ciAibmllIHpuYWxlemlvbm8gcHVua3R1IG1vbnRvd2FuaWEgJXMgdyAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDI2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgc291cmNlICVzIGluICVzIgorbXNnc3RyICJuaWUgem5hbGV6aW9ubyDFunLDs2TFgmEgcHVua3R1IG1vbnRvd2FuaWEgJXMgdyAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlczogbW9yZSBmaWxlc3lzdGVtcyBkZXRlY3RlZC4gVGhpcyBzaG91bGQgbm90IGhhcHBlbixcbiIKKyIgICAgICAgdXNlIC10IDx0eXBlPiB0byBleHBsaWNpdGx5IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSBvclxuIgorIiAgICAgICB1c2Ugd2lwZWZzKDgpIHRvIGNsZWFuIHVwIHRoZSBkZXZpY2UuIgorbXNnc3RyICIiCisiJXM6IHd5a3J5dG8gd2nEmWNlaiBzeXN0ZW3Ds3cgcGxpa8Ozdy4gVG8gbmllIHBvd2lubm8gc2nEmSB6ZGFyennEhyxcbiIKKyIgICAgICAgcHJvc3rEmSB1xbx5xIcgLXQgPHR5cD4sIGFieSBva3JlxZtsacSHIHNhbWVtdSB0eXAgc3lzdGVtdSBwbGlrw7N3XG4iCisiICAgICAgIGx1YiB1xbx5xIcgd2lwZWZzKDgpLCBhYnkgd3ljennFm2NpxIcgdXJ6xIVkemVuaWUuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzYKK21zZ2lkICJJIGNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGZpbGVzeXN0ZW0gdHlwZSwgYW5kIG5vbmUgd2FzIHNwZWNpZmllZCIKK21zZ3N0ciAiTmllIHVkYcWCbyBzacSZIG9rcmXFm2xpxIcgdHlwdSBzeXN0ZW11IHBsaWvDs3csIGEgxbxhZGVuIG5pZSB6b3N0YcWCIHBvZGFueSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDM5Cittc2dpZCAieW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJ0cnplYmEgb2tyZcWbbGnEhyB0eXAgc3lzdGVtdSBwbGlrw7N3IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCAlcyIKK21zZ3N0ciAibmllIHpuYWxlemlvbm8gJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0NworbXNnaWQgIm1vdW50IHNvdXJjZSBub3QgZGVmaW5lZCIKK21zZ3N0ciAibmllIHpkZWZpbmlvd2FubyDFunLDs2TFgmEgbW9udG93YW5pYSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDUxIHN5cy11dGlscy9tb3VudC5jOjQ1MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6ZWFuYWxpem93YcSHIG9wY2ppIG1vbnRvd2FuaWEiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIHNrb25maWd1cm93YcSHIHVyesSFZHplbmlhIGxvb3AiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnQgZmFpbGVkIgorbXNnc3RyICIlczogbW9udG93YW5pZSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmlsZXN5c3RlbSBtb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorbXNnc3RyICIlczogc3lzdGVtIHBsaWvDs3cgemFtb250b3dhbnksIGFsZSBtb3VudCg4KSBuaWUgcG93acOzZMWCIHNpxJkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ4OSBzeXMtdXRpbHMvbW91bnQuYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgJXMgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJwdW5rdCBtb250b3dhbmlhICVzIG5pZSBqZXN0IGthdGFsb2dpZW0iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ5MworbXNnaWQgIm11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKK21zZ3N0ciAiZG8gdcW8eXdhbmlhIG1vdW50YSB0cnplYmEgYnnEhyBzdXBlcnXFvHl0a293bmlraWVtIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYnVzeSIKK21zZ3N0ciAiJXMgamVzdCB6YWrEmXR5IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9yICVzIGJ1c3kiCittc2dzdHIgIiVzIGplc3QganXFvCB6YW1vbnRvd2FueSBsdWIgJXMgamVzdCB6YWrEmXR5IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorbXNnc3RyICIgICAgICAgJXMgamVzdCBqdcW8IHphbW9udG93YW55IHcgJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50ICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJwdW5rdCBtb250b3dhbmlhICVzIG5pZSBpc3RuaWVqZSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50ICVzIGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIgorbXNnc3RyICJwdW5rdCBtb250b3dhbmlhICVzIGplc3QgZG93acSFemFuaWVtIHN5bWJvbGljem55bSBkb25pa8SFZCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJ1cnrEhWR6ZW5pZSBzcGVjamFsbmUgJXMgbmllIGlzdG5pZWplIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MzYgc3lzLXV0aWxzL21vdW50LmM6NTM4IHN5cy11dGlscy9tb3VudC5jOjU0MAorIzogc3lzLXV0aWxzL21vdW50LmM6NTU1Cittc2dpZCAibW91bnQoMikgZmFpbGVkIgorbXNnc3RyICJtb3VudCgyKSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU1MQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpIgorbXNnc3RyICJ1cnrEhWR6ZW5pZSBzcGVjamFsbmUgJXMgbmllIGlzdG5pZWplIChwcnplZHJvc3RlayDFm2NpZcW8a2kgbmllIGplc3Qga2F0YWxvZ2llbSkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICIlcyBuaWUgamVzdCB6YW1vbnRvd2FueSBhbGJvIHBvZGFubyB6xYLEhSBvcGNqxJkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbW91bnRwb2ludCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICIlcyBuaWUgamVzdCBwdW5rdGVtIG1vbnRvd2FuaWEgbHViIHBvZGFubyBuaWV3xYJhxZtjaXfEhSBvcGNqxJkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2NQorbXNnaWQgIiIKKyJiYWQgb3B0aW9uLiBOb3RlIHRoYXQgbW92aW5nIGEgbW91bnQgcmVzaWRpbmcgdW5kZXIgYSBzaGFyZWRcbiIKKyIgICAgICAgbW91bnQgaXMgdW5zdXBwb3J0ZWQuIgorbXNnc3RyICIiCisiYsWCxJlkbmEgb3BjamEuIFV3YWdhOiBwcnplbm9zemVuaWUgbW9udG93YW5pYSB1bWllc3pjem9uZWdvIHBvbmnFvGVqXG4iCisiICAgICAgIG1vbnRvd2FuaWEgd3Nww7PFgmR6aWVsb25lZ28gbmllIGplc3Qgb2JzxYJ1Z2l3YW5lLiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ3cm9uZyBmcyB0eXBlLCBiYWQgb3B0aW9uLCBiYWQgc3VwZXJibG9jayBvbiAlcyxcbiIKKyIgICAgICAgbWlzc2luZyBjb2RlcGFnZSBvciBoZWxwZXIgcHJvZ3JhbSwgb3Igb3RoZXIgZXJyb3IiCittc2dzdHIgIiIKKyJuaWV3xYJhxZtjaXd5IHR5cCBzeXN0ZW11IHBsaWvDs3csIGLFgsSZZG5hIG9wY2phLCBixYLEmWRueSBzdXBlcmJsb2sgbmEgJXMsXG4iCisiICAgICAgIGJyYWsgc3Ryb255IGtvZG93ZWogbHViIHByb2dyYW11IHBvbW9jbmljemVnbyBhbGJvIGplc3pjemUgaW5ueSBixYLEhWQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU3NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAgIChmb3Igc2V2ZXJhbCBmaWxlc3lzdGVtcyAoZS5nLiBuZnMsIGNpZnMpIHlvdSBtaWdodFxuIgorIiAgICAgICBuZWVkIGEgL3NiaW4vbW91bnQuPHR5cGU+IGhlbHBlciBwcm9ncmFtKVxuIgorbXNnc3RyICIiCisiICAgICAgIChkbGEgbmlla3TDs3J5Y2ggc3lzdGVtw7N3IHBsaWvDs3cgKG5wLiBuZnMsIGNpZnMpIG1vxbxlXG4iCisiICAgICAgIGJ5xIcgcG90cnplYm55IHByb2dyYW0gcG9tb2NuaWN6eSAvc2Jpbi9tb3VudC48dHlwPilcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIgICAgICAgSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBpcyBmb3VuZCBpbiBzeXNsb2cgLSB0cnlcbiIKKyIgICAgICAgZG1lc2cgfCB0YWlsIG9yIHNvLlxuIgorbXNnc3RyICIiCisiXG4iCisiICAgICAgIFcgbmlla3TDs3J5Y2ggcHJ6eXBhZGthY2ggcHJ6eWRhdG5lIGluZm9ybWFjamUgbW/FvG5hXG4iCisiICAgICAgIHpuYWxlxbrEhyB3IGxvZ3Ugc3lzdGVtb3d5bSAobnAuIGRtZXNnIHwgdGFpbClcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTgzCittc2dpZCAibW91bnQgdGFibGUgZnVsbCIKK21zZ3N0ciAidGFibGljYSBtb250b3dhbmlhIHBlxYJuYSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCByZWFkIHN1cGVyYmxvY2siCittc2dzdHIgIiVzOiBuaWUgbW/FvG5hIG9kY3p5dGHEhyBzdXBlcmJsb2t1IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKK21zZ3N0ciAibmllem5hbnkgdHlwIHN5c3RlbXUgcGxpa8OzdyAnJXMnIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1OTQKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAibmllem5hbnkgdHlwIHN5c3RlbXUgcGxpa8OzdyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQoMikgZmFpbHM/IgorbXNnc3RyICIlcyBuaWUgamVzdCB1cnrEhWR6ZW5pZW0gYmxva293eW0sIGEgc3RhdCgyKSBuaWUgdWRhamUgc2nEmT8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2VcbiIKKyIgICAgICAgKG1heWJlIGBtb2Rwcm9iZSBkcml2ZXInPykiCittc2dzdHIgIiIKKyJqxIVkcm8gbmllIHJvenBvem5hamUgJXMgamFrbyB1cnrEhWR6ZW5pYSBibG9rb3dlZ29cbiIKKyIgICAgICAgKG1vxbxlIGBtb2Rwcm9iZSBzdGVyb3duaWsnPykiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UgKG1heWJlIHRyeSBgLW8gbG9vcCc/KSIKK21zZ3N0ciAiJXMgbmllIGplc3QgdXJ6xIVkemVuaWVtIGJsb2tvd3ltIChtaWHFgm8gYnnEhyBgLW8gbG9vcCc/KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiAlcyBuaWUgamVzdCB1cnrEhWR6ZW5pZW0gYmxva293eW0iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzIG5pZSBqZXN0IHBvcHJhd255bSB1cnrEhWR6ZW5pZW0gYmxva293eW0iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQgJXMgcmVhZC1vbmx5IgorbXNnc3RyICJuaWUgbW/FvG5hIHphbW9udG93YcSHICVzIHR5bGtvIGRvIG9kY3p5dHUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IGAtdycgZmxhZyBnaXZlbiIKK21zZ3N0ciAiJXMgamVzdCB6YWJlenBpZWN6b25lIHByemVkIHphcGlzZW0sIGFsZSBwb2Rhbm8gZmxhZ8SZIGAtdyciCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyOAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVtb3VudCAlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCittc2dzdHIgIm5pZSBtb8W8bmEgcHJ6ZW1vbnRvd2HEhyAlcyBkbyBvZGN6eXR1IGkgemFwaXN1IC0gemFiZXpwaWVjem9uZSBwcnplZCB6YXBpc2VtIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MzEgc3lzLXV0aWxzL21vdW50LmM6NjU0IHN5cy11dGlscy91bnNoYXJlLmM6MTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAibW9udG93YW5pZSAlcyB3ICVzIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHdyaXRlLXByb3RlY3RlZCwgbW91bnRpbmcgcmVhZC1vbmx5IgorbXNnc3RyICIlcyBqZXN0IHphYmV6cGllY3pvbmUgcHJ6ZWQgemFwaXNlbSwgbW9udG93YW5pZSB0eWxrbyBkbyBvZGN6eXR1IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbWVkaXVtIGZvdW5kIG9uICVzIgorbXNnc3RyICJicmFrIG5vxZtuaWthIHcgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG9wdGlvbiBmb3JtYXQ6ICVzIgorbXNnc3RyICJuaWUgb2JzxYJ1Z2l3YW55IGZvcm1hdCBvcGNqaTogJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYXBwZW5kIG9wdGlvbiAnJXMnIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgZG/FgsSFY3p5xIcgb3BjamkgJyVzJyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWxoVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlXSA8c291cmNlPiB8IFstLXRhcmdldF0gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyA8b3BlcmF0aW9uPiA8bW91bnRwb2ludD4gWzx0YXJnZXQ+XVxuIgorbXNnc3RyICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW29wY2plXVxuIgorIiAlMSRzIFtvcGNqZV0gWy0tc291cmNlXSA8xbpyw7NkxYJvPiB8IFstLXRhcmdldF0gPGthdGFsb2c+XG4iCisiICUxJHMgW29wY2plXSA8xbpyw7NkxYJvPiA8a2F0YWxvZz5cbiIKKyIgJTEkcyA8b3BlcmFjamE+IDxwdW5rdF9tb250b3dhbmlhPiBbPGNlbD5dXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0NAorbXNnaWQgIk1vdW50IGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiTW9udG93YW5pZSBzeXN0ZW11IHBsaWvDs3cuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIG1vdW50IGFsbCBmaWxlc3lzdGVtcyBtZW50aW9uZWQgaW4gZnN0YWJcbiIKKyIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCisiIC1mLCAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIG1vdW50KDIpIHN5c2NhbGxcbiIKKyIgLUYsIC0tZm9yayAgICAgICAgICAgICAgZm9yayBvZmYgZm9yIGVhY2ggZGV2aWNlICh1c2Ugd2l0aCAtYSlcbiIKKyIgLVQsIC0tZnN0YWIgPHBhdGg+ICAgICAgYWx0ZXJuYXRpdmUgZmlsZSB0byAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAgemFtb250b3dhbmllIHdzenlzdGtpY2ggc3lzdGVtw7N3IHBsaWvDs3cgeiBmc3RhYmFcbiIKKyIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgYmV6IGRvcHJvd2FkemFuaWEgxZtjaWXFvGVrIGRvIHBvc3RhY2kga2Fub25pY3puZWpcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgdGVzdG93ZSB1cnVjaG9taWVuaWU7IHBvbWluacSZY2llIHd5d2/FgmHFhCBtb3VudCgyKVxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBvc29ibnkgcHJvY2VzIGRsYSBrYcW8ZGVnbyB1cnrEhWR6ZW5pYSAod3JheiB6IC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8xZtjaWXFvGthPiAgIGFsdGVybmF0eXdueSBwbGlrIHphbWlhc3QgL2V0Yy9mc3RhYlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBiZXogd3l3b8WCeXdhbmlhIHByb2dyYW3Ds3cgcG9tb2NuaWN6eWNoIG1vdW50Ljx0eXA+XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NgorIywgYy1mb3JtYXQKK21zZ2lkICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgc2hvdyBhbHNvIGZpbGVzeXN0ZW0gbGFiZWxzXG4iCittc2dzdHIgIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICB3ecWbd2lldGxlbmllIHRha8W8ZSBldHlraWV0IHN5c3RlbcOzdyBwbGlrw7N3XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1OCBzeXMtdXRpbHMvdW1vdW50LmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIGRvbid0IHdyaXRlIHRvIC9ldGMvbXRhYlxuIgorbXNnc3RyICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgYmV6IHphcGlzdSBkbyAvZXRjL210YWJcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbW91bnQgb3B0aW9uc1xuIgorIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC1vbmx5IChzYW1lIGFzIC1vIHJvKVxuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiIgorIiAtbywgLS1vcHRpb25zIDxsaXN0YT4gICByb3pkemllbG9uYSBwcnplY2lua2FtaSBsaXN0YSBvcGNqaSBtb250b3dhbmlhXG4iCisiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdGE+IG9ncmFuaWN6ZW5pZSB6YmlvcnUgc3lzdGVtw7N3IHBsaWvDs3cgKHdyYXogeiAtYSlcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgbW9udG93YW5pYSBzeXN0ZW11IHBsaWvDs3cgdHlsa28gZG8gb2Rjenl0dSAoLW8gcm8pXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0YT4gICAgIG9ncmFuaWN6ZW5pZSB6YmlvcnUgdHlww7N3IHN5c3RlbcOzdyBwbGlrw7N3XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc2NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLXNvdXJjZSA8c3JjPiAgICAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIHNvdXJjZSAocGF0aCwgbGFiZWwsIHV1aWQpXG4iCisiICAgICAtLXRhcmdldCA8dGFyZ2V0PiAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1zb3VyY2UgPMW6csOzZMWCbz4gICBva3JlxZtsZW5pZSDFunLDs2TFgmEgKMWbY2llxbxraSwgZXR5a2lldHksIHV1aWQtYSlcbiIKKyIgICAgIC0tdGFyZ2V0IDxjZWw+ICAgICAgb2tyZcWbbGVuaWUgcHVua3R1IG1vbnRvd2FuaWFcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzY4IHN5cy11dGlscy91bW91bnQuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgaW5mb3Jtb3dhbmllIG8gd3lrb255d2FueWNoIGN6eW5ub8WbY2lhY2hcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgemFtb250b3dhbmllIHN5c3QuIHBsLiBkbyBvZGN6eXR1IGkgemFwaXN1IChkb215xZtsbmUpXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU291cmNlOlxuIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCittc2dzdHIgIiIKKyJcbiIKKyLFuXLDs2TFgm86XG4iCisiIC1MLCAtLWxhYmVsIDxldHlraWV0YT4gIHN5bm9uaW0gTEFCRUw9PGV0eWtpZXRhPlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBzeW5vbmltIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxldHlraWV0YT4gICAgICAgIG9rcmXFm2xlbmllIHVyesSFZHplbmlhIHBvIGV0eWtpZWNpZSBzeXN0ZW11IHBsaWvDs3dcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICAgb2tyZcWbbGVuaWUgdXJ6xIVkemVuaWEgcG8gd2FydG/Fm2NpIFVVSUQgc3lzdGVtdSBwbGlrw7N3XG4iCisiIFBBUlRMQUJFTD08ZXR5a2lldGE+ICAgIG9rcmXFm2xlbmllIHVyesSFZHplbmlhIHBvIGV0eWtpZWNpZSBwYXJ0eWNqaVxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgICBva3JlxZtsZW5pZSB1cnrEhWR6ZW5pYSBwbyB3YXJ0b8WbY2kgVVVJRCBwYXJ0eWNqaVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorbXNnc3RyICIiCisiIDx1cnrEhWR6ZW5pZT4gICAgICAgICAgICBva3JlxZtsZW5pZSB1cnrEhWR6ZW5pYSBwbyDFm2NpZcW8Y2VcbiIKKyIgPGthdGFsb2c+ICAgICAgICAgICAgICAgcHVua3QgbW9udG93YW5pYSBkbGEgbW9udG93YcWEIGJpbmQgKHAuIC0tYmluZC9yYmluZClcbiIKKyIgPHBsaWs+ICAgICAgICAgICAgICAgICAgend5a8WCeSBwbGlrIGRvIHVzdGF3aWVuaWEgdXJ6xIVkemVuaWEgbG9vcGJhY2tcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcGVyYXRpb25zOlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgc29tZXdoZXJlIGVsc2UgKHNhbWUgYXMgLW8gYmluZClcbiIKKyIgLU0sIC0tbW92ZSAgICAgICAgICAgICAgbW92ZSBhIHN1YnRyZWUgdG8gc29tZSBvdGhlciBwbGFjZVxuIgorIiAtUiwgLS1yYmluZCAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgYW5kIGFsbCBzdWJtb3VudHMgc29tZXdoZXJlIGVsc2VcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wZXJhY2plOlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICB6YW1vbnRvd2FuaWUgcG9kZHJ6ZXdhIHcgaW5ueW0gbWllanNjdSAoLW8gYmluZClcbiIKKyIgLU0sIC0tbW92ZSAgICAgICAgICAgICAgcHJ6ZW5pZXNpZW5pZSBwb2Rkcnpld2EgdyBpbm5lIG1pZWpzY2VcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgcHJ6ZW5pZXNpZW5pZSBwb2Rkcnpld2Egd3JheiB6IHdld24uIG1vbnRvd2FuaWFtaVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXNsYXZlICAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXByaXZhdGUgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICBtYXJrIGEgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgb3puYWN6ZW5pZSBwb2Rkcnpld2EgamFrbyB3c3DDs8WCZHppZWxvbmVnb1xuIgorIiAtLW1ha2Utc2xhdmUgICAgICAgICAgICBvem5hY3plbmllIHBvZGRyemV3YSBqYWtvIHBvZHJ6xJlkbmVnb1xuIgorIiAtLW1ha2UtcHJpdmF0ZSAgICAgICAgICBvem5hY3plbmllIHBvZGRyemV3YSBqYWtvIHByeXdhdG5lZ29cbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgb3puYWN6ZW5pZSBwb2Rkcnpld2EgamFrbyBuaWViaW5kb3dhbG5lZ29cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6ODAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1yc2xhdmUgICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJla3VyZW5jeWpuZSBvem5hY3plbmllIHBvZGRyemV3YSBqYWtvIHdzcMOzxYJkemllbG9uZWdvXG4iCisiIC0tbWFrZS1yc2xhdmUgICAgICAgICAgIHJla3VyZW5jeWpuZSBvem5hY3plbmllIHBvZGRyemV3YSBqYWtvIHBvZHJ6xJlkbmVnb1xuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWt1cmVuY3lqbmUgb3puYWN6ZW5pZSBwb2Rkcnpld2EgamFrbyBwcnl3YXRuZWdvXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJla3VyZW5jeWpuZSBvem5hY3plbmllIHBvZGRyemV3YSBqYWtvIG5pZWJpbmRvd2FsbmVnb1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4ODcgc3lzLXV0aWxzL3Vtb3VudC5jOjU0OAorbXNnaWQgImxpYm1vdW50IGNvbnRleHQgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgInByenlkemllbGVuaWUga29udGVrc3R1IGxpYm1vdW50IG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6OTQ0IHN5cy11dGlscy91bW91bnQuYzo2MDEKK21zZ2lkICJmYWlsZWQgdG8gc2V0IG9wdGlvbnMgcGF0dGVybiIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHVzdGF3acSHIHd6b3JjYSBvcGNqaSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTA5NworbXNnaWQgInNvdXJjZSBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgIsW6csOzZMWCbyBwb2Rhbm8gd2nEmWNlaiBuacW8IHJheiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstcWRdIC9wYXRoL3RvL2RpcmVjdG9yeVxuIgorIiAlMSRzIC14IC9kZXYvZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLXFkXSAvxZtjaWXFvGthL2RvL2thdGFsb2d1XG4iCisiICUxJHMgLXggL2Rldi91cnrEhWR6ZW5pZVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEyMgorbXNnaWQgIkNoZWNrIHdoZXRoZXIgYSBkaXJlY3Rvcnkgb3IgZmlsZSBpcyBhIG1vdW50cG9pbnQuXG4iCittc2dzdHIgIlNwcmF3ZHplbmllLCBjenkga2F0YWxvZyBsdWIgcGxpayBqZXN0IHB1bmt0ZW0gbW9udG93YW5pYS5cbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjUKK21zZ2lkICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICBxdWlldCBtb2RlIC0gZG9uJ3QgcHJpbnQgYW55dGhpbmdcbiIKKyIgLWQsIC0tZnMtZGV2bm8gICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgZmlsZXN5c3RlbVxuIgorIiAteCwgLS1kZXZubyAgICAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBibG9jayBkZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgdHJ5YiBjaWNoeSAtIGJleiB3eXBpc3l3YW5pYSBuaWN6ZWdvXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICB3eXBpc2FuaWUgbnVtZXJ1IG1ham9yOm1pbm9yIHVyesSFZHplbmlhIHN5c3RlbXUgcGxpa8Ozd1xuIgorIiAteCwgLS1kZXZubyAgICAgICAgd3lwaXNhbmllIG51bWVydSBtYWpvcjptaW5vciB1cnrEhWR6ZW5pYSBibG9rb3dlZ29cbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyBuaWUgamVzdCBwdW5rdGVtIG1vbnRvd2FuaWFcbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoyMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzIGplc3QgcHVua3RlbSBtb250b3dhbmlhXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzIgc3lzLXV0aWxzL3NldHByaXYuYzo5MyBzeXMtdXRpbHMvdW5zaGFyZS5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1cbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjc2Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIG5hbWVzcGFjZXMgb2Ygb3RoZXIgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICJVcnVjaG9taWVuaWUgcHJvZ3JhbXUgeiBwcnplc3RyemVuaWFtaSBuYXp3IGlubnljaCBwcm9jZXPDs3cuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzkKK21zZ2lkICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICB0YXJnZXQgcHJvY2VzcyB0byBnZXQgbmFtZXNwYWNlcyBmcm9tXG4iCittc2dzdHIgIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgICAgcHJvY2VzIGRvY2Vsb3d5IGRvIHBvYnJhbmlhIHByemVzdHJ6ZW5pIG5hendcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MAorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgIGVudGVyIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLW0sIC0tbW91bnRbPTxwbGlrPl0gICB3ZWrFm2NpZSBkbyBwcnplc3RyemVuaSBtb250b3dhbmlhXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODEKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICBlbnRlciBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAtdSwgLS11dHNbPTxwbGlrPl0gICAgIHdlasWbY2llIGRvIHByemVzdHJ6ZW5pIFVUUyAoaG9zdG5hbWUgaXRwLilcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MgorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgIGVudGVyIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1pLCAtLWlwY1s9PHBsaWs+XSAgICAgd2VqxZtjaWUgZG8gcHJ6ZXN0cnplbmkgU3lzdGVtIFYgSVBDXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODMKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICBlbnRlciBuZXR3b3JrIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLW4sIC0tbmV0Wz08cGxpaz5dICAgICB3ZWrFm2NpZSBkbyBwcnplc3RyemVuaSBzaWVjaW93ZWpcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NAorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgIGVudGVyIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZFs9PHBsaWs+XSAgICAgd2VqxZtjaWUgZG8gcHJ6ZXN0cnplbmkgcGlkw7N3XG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODUKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICBlbnRlciBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtQywgLS1jZ3JvdXBbPTxwbGlrPl0gIHdlasWbY2llIGRvIHByemVzdHJ6ZW5pIGNncm91cFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg2Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgZW50ZXIgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1VLCAtLXVzZXJbPTxwbGlrPl0gICAgd2VqxZtjaWUgZG8gcHJ6ZXN0cnplbmkgdcW8eXRrb3duaWvDs3dcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NworbXNnaWQgIiAtUywgLS1zZXR1aWQgPHVpZD4gICAgIHNldCB1aWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgdXN0YXdpZW5pZSB1aWRhIHBvIHdlasWbY2l1IHcgcHJ6ZXN0cnplxYRcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OAorbXNnaWQgIiAtRywgLS1zZXRnaWQgPGdpZD4gICAgIHNldCBnaWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1HLCAtLXNldGdpZCA8Z2lkPiAgICAgdXN0YXdpZW5pZSBnaWRhIHBvIHdlasWbY2l1IHcgcHJ6ZXN0cnplxYRcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OQorbXNnaWQgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyBkbyBub3QgdG91Y2ggdWlkcyBvciBnaWRzXG4iCittc2dzdHIgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyBiZXogbWlhbnkgdWlkw7N3IGkgZ2lkw7N3XG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTAKK21zZ2lkICIgLXIsIC0tcm9vdFs9PGRpcj5dICAgICBzZXQgdGhlIHJvb3QgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtciwgLS1yb290Wz08a2F0YWxvZz5dIHVzdGF3aWVuaWUga2F0YWxvZ3UgZ8WCw7N3bmVnb1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkxCittc2dpZCAiIC13LCAtLXdkWz08ZGlyPl0gICAgICAgc2V0IHRoZSB3b3JraW5nIGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXcsIC0td2RbPTxrYXRhbG9nPl0gICB1c3Rhd2llbmllIGthdGFsb2d1IHJvYm9jemVnb1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkyCittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgZG8gbm90IGZvcmsgYmVmb3JlIGV4ZWMnaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgLUYsIC0tbm8tZm9yayAgICAgICAgICBiZXogd3lrb25hbmlhIGZvcmsgcHJ6ZWQgdXJ1Y2hvbWllbmllbSA8cHJvZ3JhbXU+XG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTQKK21zZ2lkICIgLVosIC0tZm9sbG93LWNvbnRleHQgICBzZXQgU0VMaW51eCBjb250ZXh0IGFjY29yZGluZyB0byAtLXRhcmdldCBQSURcbiIKK21zZ3N0ciAiIC1aLCAtLWZvbGxvdy1jb250ZXh0ICAgdXN0YXdpZW5pZSBrb250ZWtzdHUgU0VMaW51a3NhIHpnb2RuaWUgeiAtLXRhcmdldCBQSURcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAibmVpdGhlciBmaWxlbmFtZSBub3IgdGFyZ2V0IHBpZCBzdXBwbGllZCBmb3IgJXMiCittc2dzdHIgIm5pZSBwb2Rhbm8gbmF6d3kgcGxpa3UgYW5pIHBpZHUgZG9jZWxvd2VnbyBkbGEgJXMiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mjc3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHVpZCIKK21zZ3N0ciAibmllenJvenVtaWHFgnkgdWlkIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjI4MQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBnaWQiCittc2dzdHIgIm5pZXpyb3p1bWlhxYJ5IGdpZCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMTcKK21zZ2lkICJubyB0YXJnZXQgUElEIHNwZWNpZmllZCBmb3IgLS1mb2xsb3ctY29udGV4dCIKK21zZ3N0ciAibmllIHBvZGFubyBkb2NlbG93ZWdvIFBJRC11IGRsYSAtLWZvbGxvdy1jb250ZXh0IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0ICVkIFNFTGludXggY29udGV4dCIKK21zZ3N0ciAibmllIHVkYcWCbyBwb2JyYcSHIGtvbnRla3N0dSBTRUxpbnVrc2EgJWQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzIyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgZXhlYyBjb250ZXh0IHRvICclcyciCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB1c3Rhd2nEhyBrb250ZWtzdHUgd3lrb255d2FuaWEgbmEgJyVzJyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhc3NvY2lhdGUgdG8gbmFtZXNwYWNlICclcycgZmFpbGVkIgorbXNnc3RyICJwcnplxYLEhWN6ZW5pZSBkbyBwcnplc3RyemVuaSBuYXp3ICclcycgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM5MAorbXNnaWQgImNhbm5vdCBvcGVuIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIm5pZSBtb8W8bmEgb3R3b3J6ecSHIGJpZcW8xIVjZWdvIGthdGFsb2d1IHJvYm9jemVnbyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozOTcKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHJvb3QgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAiem1pYW5hIGthdGFsb2d1IHByemV6IGRlc2tyeXB0b3IgcGxpa3Uga2F0YWxvZ3UgZ8WCw7N3bmVnbyBuaWUgcG93aW9kxYJhIHNpxJkiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDAwCittc2dpZCAiY2hyb290IGZhaWxlZCIKK21zZ3N0ciAiY2hyb290IG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MTAKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHdvcmtpbmcgZGlyZWN0b3J5IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgInptaWFuYSBrYXRhbG9ndSBwcnpleiBkZXNrcnlwdG9yIHBsaWt1IGthdGFsb2d1IHJvYm9jemVnbyBuaWUgcG93aW9kxYJhIHNpxJkiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDIxIHN5cy11dGlscy9zZXRwcml2LmM6ODE1IHN5cy11dGlscy9zZXRwcml2LmM6ODE5Cittc2dpZCAic2V0Z3JvdXBzIGZhaWxlZCIKK21zZ3N0ciAic2V0Z3JvdXBzIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIG5ld19yb290IHB1dF9vbGRcbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gbm93eV9rYXRhbG9nX2fFgsOzd255IG1pZWpzY2VfbmFfc3RhcnlcbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozNworbXNnaWQgIkNoYW5nZSB0aGUgcm9vdCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJabWlhbmEgZ8WCw7N3bmVnbyBrYXRhbG9ndSBzeXN0ZW11IHBsaWvDs3cuXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IGZyb20gYCVzJyB0byBgJXMnIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgem1pZW5pxIcga2F0YWxvZ3UgZ8WCw7N3bmVnbyB6IGAlcycgbmEgYCVzJyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NQorbXNnaWQgImFkZHJlc3Mgc3BhY2UgbGltaXQiCittc2dzdHIgImxpbWl0IHByemVzdHJ6ZW5pIGFkcmVzb3dlaiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NgorbXNnaWQgIm1heCBjb3JlIGZpbGUgc2l6ZSIKK21zZ3N0ciAibWFrc3ltYWxueSByb3ptaWFyIHBsaWt1IGNvcmUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJDUFUgdGltZSIKK21zZ3N0ciAiY3phcyBDUFUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJzZWNvbmRzIgorbXNnc3RyICJzZWt1bmR5IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4Cittc2dpZCAibWF4IGRhdGEgc2l6ZSIKK21zZ3N0ciAibWFrc3ltYWxueSByb3ptaWFyIGRhbnljaCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OQorbXNnaWQgIm1heCBmaWxlIHNpemUiCittc2dzdHIgIm1ha3N5bWFsbnkgcm96bWlhciBwbGlrdSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZmlsZSBsb2NrcyBoZWxkIgorbXNnc3RyICJtYWtzeW1hbG5hIGxpY3piYSBibG9rYWQgcGxpa8OzdyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorbXNnaWQgImxvY2tzIgorbXNnc3RyICJibG9rYWR5IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCittc2dpZCAibWF4IGxvY2tlZC1pbi1tZW1vcnkgYWRkcmVzcyBzcGFjZSIKK21zZ3N0ciAibWFrc3ltYWxueSByb3ptaWFyIHphYmxva293YW5laiBwYW1pxJljaSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MgorbXNnaWQgIm1heCBieXRlcyBpbiBQT1NJWCBtcXVldWVzIgorbXNnc3RyICJtYWtzeW1hbG5hIGxpY3piYSBiYWp0w7N3IHcgUE9TSVggbXF1ZXVlIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgzCittc2dpZCAibWF4IG5pY2UgcHJpbyBhbGxvd2VkIHRvIHJhaXNlIgorbXNnc3RyICJtYWtzeW1hbG5lIGRvendvbG9uZSBuaWNlIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0Cittc2dpZCAibWF4IG51bWJlciBvZiBvcGVuIGZpbGVzIgorbXNnc3RyICJtYWtzeW1hbG5hIGxpY3piYSBvdHdhcnR5Y2ggcGxpa8OzdyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorbXNnaWQgImZpbGVzIgorbXNnc3RyICJwbGlraSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorbXNnaWQgIm1heCBudW1iZXIgb2YgcHJvY2Vzc2VzIgorbXNnc3RyICJtYWtzeW1hbG5hIGxpY3piYSBwcm9jZXPDs3ciCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKK21zZ2lkICJwcm9jZXNzZXMiCittc2dzdHIgInByb2Nlc3kiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODYKK21zZ2lkICJtYXggcmVzaWRlbnQgc2V0IHNpemUiCittc2dzdHIgIm1ha3N5bWFsbnkgcm96bWlhciBwYW1pxJljaSByZXp5ZGVudG5laiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NworbXNnaWQgIm1heCByZWFsLXRpbWUgcHJpb3JpdHkiCittc2dzdHIgIm1ha3N5bWFsbnkgcHJpb3J5dGV0IHJlYWwtdGltZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgInRpbWVvdXQgZm9yIHJlYWwtdGltZSB0YXNrcyIKK21zZ3N0ciAibGltaXQgY3phc3UgZGxhIHphZGHFhCByZWFsLXRpbWUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJtaWNyb3NlY3MiCittc2dzdHIgIm1pa3Jvc2VrdW5keSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorbXNnaWQgIm1heCBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzIgorbXNnc3RyICJtYWtzeW1hbG5hIGxpY3piYSBzeWduYcWCw7N3IG9jemVrdWrEhWN5Y2giCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJzaWduYWxzIgorbXNnc3RyICJzeWduYcWCeSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgIm1heCBzdGFjayBzaXplIgorbXNnc3RyICJtYWtzeW1hbG55IHJvem1pYXIgc3Rvc3UiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTIzCittc2dpZCAicmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAibmF6d2EgemFzb2J1IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNAorbXNnaWQgInJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJvcGlzIHphc29idSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjUKK21zZ2lkICJzb2Z0IGxpbWl0IgorbXNnc3RyICJsaW1pdCBtacSZa2tpIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNgorbXNnaWQgImhhcmQgbGltaXQgKGNlaWxpbmcpIgorbXNnc3RyICJsaW1pdCB0d2FyZHkgKG1ha3N5bWFsbnkpIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNworbXNnaWQgInVuaXRzIgorbXNnc3RyICJqZWRub3N0a2kiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1wIFBJRF1cbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gWy1wIFBJRF1cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBDT01NQU5EXG4iCittc2dzdHIgIiAlcyBbb3BjamVdIFBPTEVDRU5JRVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2NgorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZXNvdXJjZSBsaW1pdHMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICJXecWbd2lldGxhbmllIGx1YiB6bWlhbmEgbGltaXTDs3cgemFzb2LDs3cgcHJvY2VzdS5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjgKK21zZ2lkICIiCisiXG4iCisiR2VuZXJhbCBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiT3BjamUgb2fDs2xuZTpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjkKK21zZ2lkICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG91dHB1dFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIGlkZW50eWZpa2F0b3IgcHJvY2VzdVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3RhPiAgIG9rcmXFm2xlbmllIGtvbHVtbiBuYSB3eWrFm2NpdVxuIgorIiAgICAgLS1ub2hlYWRpbmdzICAgICAgIHBvbWluacSZY2llIHd5cGlzeXdhbmlhIG5hZ8WCw7N3a8Ozd1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHN1cm93eSBmb3JtYXQgd3lqxZtjaWFcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICBzemN6ZWfDs8WCb3dlIHd5asWbY2llXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgd3nFm3dpZXRsZW5pZSB0ZWdvIG9waXN1IGkgemFrb8WEY3plbmllXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgd3lwaXNhbmllIGluZm9ybWFjamkgbyB3ZXJzamkgaSB6YWtvxYRjemVuaWVcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzcKK21zZ2lkICIiCisiXG4iCisiUmVzb3VyY2VzIE9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcGNqZSB6YXNvYsOzdzpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzgKK21zZ2lkICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGNvcmUgZmlsZXMgY3JlYXRlZFxuIgorIiAtZCwgLS1kYXRhICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBhIHByb2Nlc3MncyBkYXRhIHNlZ21lbnRcbiIKKyIgLWUsIC0tbmljZSAgICAgICAgICAgICBtYXhpbXVtIG5pY2UgcHJpb3JpdHkgYWxsb3dlZCB0byByYWlzZVxuIgorIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBmaWxlcyB3cml0dGVuIGJ5IHRoZSBwcm9jZXNzXG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAgbWF4aW11bSBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAgbWF4aW11bSBzaXplIGEgcHJvY2VzcyBtYXkgbG9jayBpbnRvIG1lbW9yeVxuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgIG1heGltdW0gcmVzaWRlbnQgc2V0IHNpemVcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBvcGVuIGZpbGVzXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgbWF4aW11bSBieXRlcyBpbiBQT1NJWCBtZXNzYWdlIHF1ZXVlc1xuIgorIiAtciwgLS1ydHByaW8gICAgICAgICAgIG1heGltdW0gcmVhbC10aW1lIHNjaGVkdWxpbmcgcHJpb3JpdHlcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICBtYXhpbXVtIHN0YWNrIHNpemVcbiIKKyIgLXQsIC0tY3B1ICAgICAgICAgICAgICBtYXhpbXVtIGFtb3VudCBvZiBDUFUgdGltZSBpbiBzZWNvbmRzXG4iCisiIC11LCAtLW5wcm9jICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgdXNlciBwcm9jZXNzZXNcbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICBzaXplIG9mIHZpcnR1YWwgbWVtb3J5XG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgZmlsZSBsb2Nrc1xuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgIENQVSB0aW1lIGluIG1pY3Jvc2Vjb25kcyBhIHByb2Nlc3Mgc2NoZWR1bGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXIgcmVhbC10aW1lIHNjaGVkdWxpbmdcbiIKK21zZ3N0ciAiIgorIiAtYywgLS1jb3JlICAgICAgICAgICAgIG1ha3N5bWFsbnkgcm96bWlhciB0d29yem9ueWNoIHBsaWvDs3cgY29yZVxuIgorIiAtZCwgLS1kYXRhICAgICAgICAgICAgIG1ha3N5bWFsbnkgcm96bWlhciBzZWdtZW50dSBkYW55Y2ggcHJvY2VzdVxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIG1ha3N5bWFsbmUgZG96d29sb25lIHBvZHd5xbxzemVuaWUgbmljZVxuIgorIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgIG1ha3N5bWFsbnkgcm96bWlhciBwbGlrw7N3IHphcGlzeXdhbnljaCBwcnpleiBwcm9jZXNcbiIKKyIgLWksIC0tc2lncGVuZG5pZyAgICAgICBtYWtzeW1hbG5hIGxpY3piYSBvY3pla3VqxIVjeWNoIHN5Z25hxYLDs3dcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICBtYWtzeW1hbG55IHJvem1pYXIgcGFtacSZY2kgemFibG9rb3dhbmVqIHByemV6IHByb2Nlc1xuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgIG1ha3N5bWFsbnkgcm96bWlhciBwYW1pxJljaSByZXp5ZGVudG5laiAoUlNTKVxuIgorIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgIG1ha3N5bWFsbmEgbGljemJhIG90d2FydHljaCBwbGlrw7N3XG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgbWFrc3ltYWxuYSBsaWN6YmEgYmFqdMOzdyB3IGtvbGVqa2FjaCBrb211bmlrYXTDs3cgUE9TSVhcbiIKKyIgLXIsIC0tcnRwcmlvICAgICAgICAgICBtYWtzeW1hbG55IHByaW9yeXRldCBzemVyZWdvd2FuaWEgcmVhbC10aW1lXG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAgbWFrc3ltYWxueSByb3ptaWFyIHN0b3N1XG4iCisiIC10LCAtLWNwdSAgICAgICAgICAgICAgbWFrc3ltYWxueSBjemFzIHByb2Nlc29yYSB3IHNla3VuZGFjaFxuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIG1ha3N5bWFsbmEgbGljemJhIHByb2Nlc8OzdyB1xbx5dGtvd25pa2FcbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICByb3ptaWFyIHBhbWnEmWNpIHdpcnR1YWxuZWpcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBtYWtzeW1hbG5hIGxpY3piYSBibG9rYWQgcGxpa8Ozd1xuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgIGN6YXMgQ1BVIHcgbWlrcm9zZWt1bmRhY2ggc3plcmVnb3dhbmlhIHJlYWwtdGltZVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0MyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzEKK21zZ2lkICJ1bmxpbWl0ZWQiCittc2dzdHIgImJyYWsiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzMyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgb2xkICVzIGxpbWl0IgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgdXp5c2thxIcgc3RhcmVnbyBsaW1pdHUgJXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzU2CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBzb2Z0IGxpbWl0ICVzIGNhbm5vdCBleGNlZWQgdGhlIGhhcmQgbGltaXQiCittc2dzdHIgIm1pxJlra2kgbGltaXQgXCIlc1wiIG5pZSBtb8W8ZSBwcnpla3JvY3p5xIcgbGltaXR1IHR3YXJkZWdvIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJOZXcgJXMgbGltaXQgZm9yIHBpZCAlZDogIgorbXNnc3RyICJOb3d5IGxpbWl0ICVzIGRsYSBQSUQtdSAlZDogIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHVzdGF3acSHIGxpbWl0dSBcIiVzXCIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgb2Rjenl0YcSHIGxpbWl0dSBcIiVzXCIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBsaW1pdCIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyBsaW1pdHUgXCIlc1wiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NQorbXNnaWQgIm9wdGlvbiAtLXBpZCBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAib3BjamEgLS1waWQgbW/FvGUgYnnEhyBwb2RhbmEgdHlsa28gcmF6IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjYxNgorbXNnaWQgIm9wdGlvbnMgLS1waWQgYW5kIENPTU1BTkQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAib3BjamUgLS1waWQgaSBQT0xFQ0VOSUUgd3lrbHVjemFqxIUgc2nEmSB3emFqZW1uaWUiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNworbXNnaWQgIkRpc3BsYXkga2VybmVsIHByb2ZpbGluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiV3nFm3dpZXRsYW5pZSBpbmZvcm1hY2ppIHByb2ZpbHVqxIVjeWNoIGrEhWRyYS5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbSwgLS1tYXBmaWxlIDxtYXBmaWxlPiAgIChkZWZhdWx0czogXCIlc1wiIGFuZFxuIgorbXNnc3RyICIgLW0sIC0tbWFwZmlsZSA8cGxpa19tYXB5PiAoZG9tecWbbG5pZTogXCIlc1wiIG9yYXpcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIlc1wiKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJXNcIilcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtcCwgLS1wcm9maWxlIDxwcm8tZmlsZT4gIChkZWZhdWx0OiAgXCIlc1wiKVxuIgorbXNnc3RyICIgLXAsIC0tcHJvZmlsZSA8cHJvZmlsPiAgICAoZG9tecWbbG5pZTogXCIlc1wiKVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTYKK21zZ2lkICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorbXNnc3RyICIgLU0sIC0tbXVsdGlwbGllciA8bW5vxbw+ICAgdXN0YXdpZW5pZSBwb2RhbmVnbyBtbm/FvG5pa2EgcHJvZmlsb3dhbmlhXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNworbXNnaWQgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIHByaW50IG9ubHkgaW5mbyBhYm91dCB0aGUgc2FtcGxpbmcgc3RlcFxuIgorbXNnc3RyICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICB3eXBpc2FuaWUgdHlsa28gaW5mb3JtYWNqaSBvIGtyb2t1IHByw7Nia293YW5pYVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTgKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBwcmludCB2ZXJib3NlIGRhdGFcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgd3lwaXNhbmllIHN6Y3plZ8OzxYJvd3ljaCBkYW55Y2hcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICB3eXBpc2FuaWUgd3N6eXN0a2ljaCBzeW1ib2xpLCBuYXdldCB6IGxpY3puaWtpZW0gMFxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjAKK21zZ2lkICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCittc2dzdHIgIiAtYiwgLS1oaXN0YmluICAgICAgICAgICAgIHd5cGlzYW5pZSBwb3N6Y3plZ8OzbG55Y2ggbGljem5pa8OzdyBoaXN0b2dyYW0tYmluXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMQorbXNnaWQgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgY291bnRlcnMgd2l0aGluIGZ1bmN0aW9uc1xuIgorbXNnc3RyICIgLXMsIC0tY291bnRlcnMgICAgICAgICAgICB3eXBpc2FuaWUgcG9zemN6ZWfDs2xueWNoIGxpY3puaWvDs3cgdyBmdW5rY2phY2hcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIyCittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICB3eXplcm93YW5pZSB3c3p5c3RraWNoIGxpY3puaWvDs3cgKHR5bGtvIHJvb3QpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMworbXNnaWQgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorbXNnc3RyICIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICB3ecWCxIVjemVuaWUgd3lrcnl3YW5pYSBrb2xlam5vxZtjaSBiYWp0w7N3XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciB3cml0aW5nICVzIgorbXNnc3RyICJixYLEhWQgemFwaXN1ICVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyNzEKK21zZ2lkICJBc3N1bWluZyByZXZlcnNlZCBieXRlIG9yZGVyLiBVc2UgLW4gdG8gZm9yY2UgbmF0aXZlIGJ5dGUgb3JkZXIuIgorbXNnc3RyICJQcnp5asSZdG8gb2R3csOzY29uxIUga29sZWpub8WbxIcgYmFqdMOzdy4gT3BjamEgLW4gd3ltdXNpIG5hdHl3bsSFIGtvbGVqbm/Fm8SHLiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNhbXBsaW5nX3N0ZXA6ICV1XG4iCittc2dzdHIgIktyb2sgcHLDs2Jrb3dhbmlhOiAldVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMDIgc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzKCVpKTogd3JvbmcgbWFwIGxpbmUiCittc2dzdHIgIiVzKCVpKTogYsWCxJlkbmEgbGluaWEgbWFweSIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgXCJfc3RleHRcIiBpbiAlcyIKK21zZ3N0ciAibmllIHpuYWxlemlvbm8gXCJfc3RleHRcIiB3ICVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozNDYKK21zZ2lkICJwcm9maWxlIGFkZHJlc3Mgb3V0IG9mIHJhbmdlLiBXcm9uZyBtYXAgZmlsZT8iCittc2dzdHIgImFkcmVzIHByb2ZpbHUgc3BvemEgemFrcmVzdS4gQsWCxJlkbnkgcGxpayBtYXB5PyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6NDA0Cittc2dpZCAidG90YWwiCittc2dzdHIgInJhemVtIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTIKK21zZ2lkICJwcm9jZXNzIElEIgorbXNnc3RyICJJRCBwcm9jZXN1IgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTMKK21zZ2lkICJwcm9jZXNzIGdyb3VwIElEIgorbXNnc3RyICJJRCBncnVweSBwcm9jZXPDs3ciCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+IFstcHwtLXBpZF0gPHBpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC1nfC0tcGdycCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC11fC0tdXNlciA8dXNlcj4uLi5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstbl0gPHByaW9yeXRldD4gWy1wfC0tcGlkXSA8cGlkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yeXRldD4gIC1nfC0tcGdycCA8Z3J1cGFwcm9jPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yeXRldD4gIC11fC0tdXNlciA8dcW8eXRrb3duaWs+Li4uXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2NworbXNnaWQgIkFsdGVyIHRoZSBwcmlvcml0eSBvZiBydW5uaW5nIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiWm1pYW5hIHByaW9yeXRldHUgZHppYcWCYWrEhWN5Y2ggcHJvY2Vzw7N3LlxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzAKK21zZ2lkICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorbXNnc3RyICIgLW4sIC0tcHJpb3JpdHkgPGxpY3piYT4gIG9rcmXFm2xlbmllIHdhcnRvxZtjaSB6bWlhbnkgcHJpb3J5dGV0dVxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzEKK21zZ2lkICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBJRCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAgICBpbnRlcnByZXRhY2phIGFyZ3VtZW50dSBqYWtvIElEIHByb2Nlc3UgKGRvbXnFm2xuZSlcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcyCittc2dpZCAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKK21zZ3N0ciAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgICBpbnRlcnByZXRhY2phIGFyZ3VtZW50dSBqYWtvIElEIGdydXB5IHByb2Nlc8Ozd1xuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzMKK21zZ2lkICIgLXUsIC0tdXNlciA8bmFtZT58PGlkPiBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIgorbXNnc3RyICIgLXUsIC0tdXNlciA8bmF6d2E+fDxpZD4gIGludGVycHJldGFjamEgYXJndW1lbnR1IGpha28gbmF6d3kgbHViIElEIHXFvHl0a293bmlrYVxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIG9kY3p5dGHEhyBwcmlvcnl0ZXR1IGRsYSAlZCAoJXMpIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHVzdGF3acSHIHByaW9yeXRldHUgZGxhICVkICglcykiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgKCVzKSBvbGQgcHJpb3JpdHkgJWQsIG5ldyBwcmlvcml0eSAlZFxuIgorbXNnc3RyICIlZCAoJXMpOiBzdGFyeSBwcmlvcnl0ZXQgJWQsIG5vd3kgcHJpb3J5dGV0ICVkXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB1c2VyICVzIgorbXNnc3RyICJuaWV6bmFueSB1xbx5dGtvd25payAlcyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyBvbmUgb2YgdGhlIGFib3ZlCisjLiAqIHRocmVlIElEIG5hbWVzLiBSZWFkOiAiYmFkIHZhbHVlIGZvciAlczogJXMiCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTg1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCAlcyB2YWx1ZTogJXMiCittc2dzdHIgImLFgsSZZG5hIHdhcnRvxZvEhyAlczogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6OTgKK21zZ2lkICJFbnRlciBhIHN5c3RlbSBzbGVlcCBzdGF0ZSB1bnRpbCBhIHNwZWNpZmllZCB3YWtldXAgdGltZS5cbiIKK21zZ3N0ciAiV2VqxZtjaWUgdyBzdGFuIHXFm3BpZW5pYSBzeXN0ZW11IGRvIHBvZGFuZWdvIGN6YXN1IHBvYnVka2kuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTAxCittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgICAgICAgICByZWFkcyB0aGUgY2xvY2sgbW9kZSBmcm9tIGFkanVzdCBmaWxlIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWEsIC0tYXV0byAgICAgICAgICAgICAgICBvZGN6eXQgdHJ5YnUgemVnYXJhIHogcGxpa3Uga29yZWtjamkgKGRvbXnFm2xuZSlcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtQSwgLS1hZGpmaWxlIDxmaWxlPiAgICAgc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlc1xuIgorbXNnc3RyICIiCisiIC1BLCAtLWFkamZpbGUgPHBsaWs+ICAgICAgb2tyZcWbbGVuaWUgxZtjaWXFvGtpIHBsaWt1IGtvcmVrY2ppO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tecWbbG5hIHRvICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA1Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICBkYXRlIHRpbWUgb2YgdGltZXN0YW1wIHRvIHdha2VcbiIKK21zZ3N0ciAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICB1c3Rhd2llbmllIGN6YXN1IG9idWR6ZW5pYSBuYSBwb2RhbnlcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDYKK21zZ2lkICIgLWQsIC0tZGV2aWNlIDxkZXZpY2U+ICAgIHNlbGVjdCBydGMgZGV2aWNlIChydGMwfHJ0YzF8Li4uKVxuIgorbXNnc3RyICIgLWQsIC0tZGV2aWNlIDx1cnrEhWR6ZW5pZT4gd3liw7NyIHVyesSFZHplbmlhIHJ0YyAocnRjMHxydGMxfC4uLilcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDcKK21zZ2lkICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGRvZXMgZXZlcnl0aGluZywgYnV0IHN1c3BlbmRcbiIKK21zZ3N0ciAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICAgd3lrb25hbmllIHdzenlzdGtpZWdvIHBvemEgdcWbcGllbmllbVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOAorbXNnaWQgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIHVzZXMgbG9jYWwgdGltZXpvbmVcbiIKK21zZ3N0ciAiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICAgUlRDIHXFvHl3YSBjemFzdSBsb2thbG5lZ29cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDkKK21zZ2lkICIgICAgIC0tbGlzdC1tb2RlcyAgICAgICAgIGxpc3QgYXZhaWxhYmxlIG1vZGVzXG4iCittc2dzdHIgIiAgICAgLS1saXN0LW1vZGVzICAgICAgICAgbGlzdGEgZG9zdMSZcG55Y2ggdHJ5YsOzd1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMAorbXNnaWQgIiAtbSwgLS1tb2RlIDxtb2RlPiAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwIG1vZGVcbiIKK21zZ3N0ciAiIC1tLCAtLW1vZGUgPHRyeWI+ICAgICAgICAgdHJ5YiB1xZtwaWVuaWEgc3RhbmRieXxtZW18Li4uXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTExCittc2dpZCAiIC1zLCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iCittc2dzdHIgIiAtcywgLS1zZWNvbmRzIDxzZWt1bmQ+ICAgIGxpY3piYSBzZWt1bmQgdcWbcGllbmlhXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEyCittc2dpZCAiIC10LCAtLXRpbWUgPHRpbWVfdD4gICAgICB0aW1lIHRvIHdha2VcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgPHRpbWVfdD4gICAgICAgY3phcyBvYnVkemVuaWFcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTMKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2VzIFVUQ1xuIgorbXNnc3RyICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgICBSVEMgdcW8eXdhIGN6YXN1IFVUQ1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBzemN6ZWfDs8WCb3dlIGtvbXVuaWthdHlcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNjcKK21zZ2lkICJyZWFkIHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAib2Rjenl0IGN6YXN1IFJUQyBuaWUgcG93acOzZMWCIHNpxJkiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTczCittc2dpZCAicmVhZCBzeXN0ZW0gdGltZSBmYWlsZWQiCittc2dzdHIgIm9kY3p5dCBjemFzdSBzeXN0ZW1vd2VnbyBuaWUgcG93acOzZMWCIHNpxJkiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTg5Cittc2dpZCAiY29udmVydCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgInByemVsaWN6YW5pZSBjemFzdSBSVEMgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjIzNworbXNnaWQgInNldCBydGMgd2FrZSBhbGFybSBmYWlsZWQiCittc2dzdHIgInVzdGF3aWFuaWUgYnVkemlrYSBSVEMgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHRoaXJkIGxpbmUgaW46ICVzOiAlcyIKK21zZ3N0ciAibmllb2N6ZWtpd2FuYSB0cnplY2lhIGxpbmlhIHc6ICVzOiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjAgc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjQKK21zZ2lkICJyZWFkIHJ0YyBhbGFybSBmYWlsZWQiCittc2dzdHIgIm9kY3p5dCBhbGFybXUgUlRDIG5pZSBwb3dpw7NkxYIgc2nEmSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9mZlxuIgorbXNnc3RyICJhbGFybTogd3nFgsSFY3pvbnlcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMzgKK21zZ2lkICJjb252ZXJ0IHRpbWUgZmFpbGVkIgorbXNnc3RyICJwcnplbGljemFuaWUgY3phc3UgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb24gICVzIgorbXNnc3RyICJhbGFybTogd8WCxIVjem9ueSAgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mzg3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkOiAlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIG9kY3p5dGHEhzogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDY3CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdXNwZW5kIHN0YXRlICclcyciCittc2dzdHIgIm5pZXpuYW55IHN0YW4gdcWbcGllbmlhICclcyciCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDc1Cittc2dpZCAiaW52YWxpZCBzZWNvbmRzIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSBsaWN6YmEgc2VrdW5kIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ3OQorbXNnaWQgImludmFsaWQgdGltZSBhcmd1bWVudCIKK21zZ3N0ciAiYsWCxJlkbmEgd2FydG/Fm8SHIGN6YXN1IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYXNzdW1pbmcgUlRDIHVzZXMgVVRDIC4uLlxuIgorbXNnc3RyICIlczogemHFgm/FvG9ubywgxbxlIFJUQyB1xbx5d2EgVVRDLi4uXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTExCittc2dpZCAiVXNpbmcgVVRDIHRpbWUuXG4iCittc2dzdHIgIlXFvHljaWUgY3phc3UgVVRDLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxMgorbXNnaWQgIlVzaW5nIGxvY2FsIHRpbWUuXG4iCittc2dzdHIgIlXFvHljaWUgY3phc3UgbG9rYWxuZWdvLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxNQorbXNnaWQgIm11c3QgcHJvdmlkZSB3YWtlIHRpbWUgKHNlZSAtLXNlY29uZHMsIC0tdGltZSBhbmQgLS1kYXRlIG9wdGlvbnMpIgorbXNnc3RyICJ0cnplYmEgcG9kYcSHIGN6YXMgcG9idWRraSAob3BjamUgLS1zZWNvbmRzLCAtLXRpbWUgb3JheiAtLWRhdGUpIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgZW5hYmxlZCBmb3Igd2FrZXVwIGV2ZW50cyIKK21zZ3N0ciAiJXMgbmllIG1hIHfFgsSFY3pvbnljaCB6ZGFyemXFhCBidWR6ZW5pYSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm0gJWxkLCBzeXNfdGltZSAlbGQsIHJ0Y190aW1lICVsZCwgc2Vjb25kcyAldVxuIgorbXNnc3RyICJhbGFybSAlbGQsIHN5c190aW1lICVsZCwgcnRjX3RpbWUgJWxkLCBzZWt1bmQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTM1CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUgZG9lc24ndCBnbyBiYWNrd2FyZCB0byAlcyIKK21zZ3N0ciAiY3phcyBuaWUgYmllZ25pZSB3c3RlY3ogZG8gJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIiVzOiBwb2J1ZGthIHByenkgdcW8eWNpdSAlcyB3IGNod2lsaSAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCBmcm9tIFwiJXNcIiB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiJXM6IHBvYnVka2EgeiB0cnlidSBcIiVzXCIgcHJ6eSB1xbx5Y2l1ICVzIHcgY2h3aWxpICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU1OQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG5vOyBsZWF2aW5nXG4iCittc2dzdHIgInRyeWIgdcWbcGllbmlhOiBicmFrOyBvcHVzemN6YW5pZVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9mZjsgZXhlY3V0aW5nICVzXG4iCittc2dzdHIgInRyeWIgdcWbcGllbmlhOiB3ecWCxIVjemVuaWU7IHd5d2/Fgnl3YW5pZSAlc1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9uOyByZWFkaW5nIHJ0Y1xuIgorbXNnc3RyICJ0cnliIHXFm3BpZW5pYTogd8WCxIVjem9ueTsgb2Rjenl0eXdhbmllIFJUQ1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU5MgorbXNnaWQgInJ0YyByZWFkIGZhaWxlZCIKK21zZ3N0ciAib2Rjenl0IFJUQyBuaWUgcG93acOzZMWCIHNpxJkiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjA0CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogZGlzYWJsZTsgZGlzYWJsaW5nIGFsYXJtXG4iCittc2dzdHIgInRyeWIgdcWbcGllbmlhOiB3ecWCxIVjem9ueTsgd3nFgsSFY3phbmllIGJ1ZHppa2FcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBzaG93OyBwcmludGluZyBhbGFybSBpbmZvXG4iCittc2dzdHIgInRyeWIgdcWbcGllbmlhOiB3ecWbd2lldGxlbmllOyB3eXBpc3l3YW5pZSBpbmZvcm1hY2ppIG8gYnVkemlrdVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYxNQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6ICVzOyBzdXNwZW5kaW5nIHN5c3RlbVxuIgorbXNnc3RyICJ0cnliIHXFm3BpZW5pYTogJXM7IHVzeXBpYW5pZSBzeXN0ZW11XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjI5Cittc2dpZCAiZGlzYWJsZSBydGMgYWxhcm0gaW50ZXJydXB0IGZhaWxlZCIKK21zZ3N0ciAid3nFgsSFY3phbmllIHByemVyd2FuaWEgcG9idWRraSBSVEMgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlN3aXRjaGluZyBvbiAlcy5cbiIKK21zZ3N0ciAiV8WCxIVjemFuaWUgJXMuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxhcmNoPiBbb3B0aW9uc10gWzxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIiAlcyA8YXJjaD4gW29wY2plXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgW29wY2plXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5NgorbXNnaWQgIkNoYW5nZSB0aGUgcmVwb3J0ZWQgYXJjaGl0ZWN0dXJlIGFuZCBzZXQgcGVyc29uYWxpdHkgZmxhZ3MuXG4iCittc2dzdHIgIlptaWFuYSB6Z8WCYXN6YW5laiBhcmNoaXRla3R1cnkgaSB1c3Rhd2lhbmllIGZsYWcgb3NvYm93b8WbY2kuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTkKK21zZ2lkICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIHR1cm5zIG9uIEFERFJfTElNSVRfMzJCSVRcbiIKK21zZ3N0ciAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB3xYLEhWN6ZW5pZSBBRERSX0xJTUlUXzMyQklUXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAwCittc2dpZCAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorbXNnc3RyICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIHdza2HFum5pa2kgZnVua2NqaSB3c2thenVqxIVjZSBuYSBkZXNrcnlwdG9yeVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMQorbXNnaWQgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgdHVybnMgb24gU0hPUlRfSU5PREVcbiIKK21zZ3N0ciAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICB3xYLEhWN6ZW5pZSBTSE9SVF9JTk9ERVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMgorbXNnaWQgIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQgY2hhbmdlcyB0aGUgd2F5IHZpcnR1YWwgbWVtb3J5IGlzIGFsbG9jYXRlZFxuIgorbXNnc3RyICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IHptaWFueSB3IHNwb3NvYmllIHByenlkemllbGFuaWEgcGFtacSZY2kgd2lydHVhbG5lalxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMworbXNnaWQgIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgZGlzYWJsZXMgcmFuZG9taXphdGlvbiBvZiB0aGUgdmlydHVhbCBhZGRyZXNzIHNwYWNlXG4iCittc2dzdHIgIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgd3nFgsSFY3plbmllIGxvc293b8WbY2kgd2lydHVhbG5laiBwcnplc3RyemVuaSBhZHJlc293ZWpcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDQKK21zZ2lkICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHR1cm5zIG9uIFdIT0xFX1NFQ09ORFNcbiIKK21zZ3N0ciAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICB3xYLEhWN6ZW5pZSBXSE9MRV9TRUNPTkRTXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA1Cittc2dpZCAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0dXJucyBvbiBTVElDS1lfVElNRU9VVFNcbiIKK21zZ3N0ciAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB3xYLEhWN6ZW5pZSBTVElDS1lfVElNRU9VVFNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDYKK21zZ2lkICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCittc2dzdHIgIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgd8WCxIVjemVuaWUgUkVBRF9JTVBMSUVTX0VYRUNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDcKK21zZ2lkICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHR1cm5zIG9uIE1NQVBfUEFHRV9aRVJPXG4iCittc2dzdHIgIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgd8WCxIVjemVuaWUgTU1BUF9QQUdFX1pFUk9cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDgKK21zZ2lkICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCittc2dzdHIgIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgb2dyYW5pY3plbmllIHByemVzdHJ6ZW5pIGFkcmVzb3dlaiBkbyBtYWtzaW11bSAzIEdCXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA5Cittc2dpZCAiICAgICAtLTRnYiAgICAgICAgICAgICAgICBpZ25vcmVkIChmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBvbmx5KVxuIgorbXNnc3RyICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGlnbm9yb3dhbmUgKHR5bGtvIGRsYSBrb21wYXR5Ymlsbm/Fm2NpIHdzdGVjem5lailcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTAKK21zZ2lkICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHR1cm5zIG9uIFVOQU1FMjZcbiIKK21zZ3N0ciAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICB3xYLEhWN6ZW5pZSBVTkFNRTI2XG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTExCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBzYXkgd2hhdCBvcHRpb25zIGFyZSBiZWluZyBzd2l0Y2hlZCBvblxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHN6Y3plZ8OzxYJvd2EgaW5mb3JtYWNqYSBvIHfFgsSFY3phbnljaCBvcGNqYWNoXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTE0Cittc2dpZCAiICAgICAtLWxpc3QgICAgICAgICAgICAgICBsaXN0IHNldHRhYmxlIGFyY2hpdGVjdHVyZXMsIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgLS1saXN0ICAgICAgICAgICAgICAgbGlzdGEgbW/FvGxpd3ljaCBhcmNoaXRla3R1ciBpIHpha2/FhGN6ZW5pZVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXNcbiIKKyJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorbXNnc3RyICIiCisiJXNcbiIKKyJgJXMgLS1oZWxwJyB3ecWbd2lldGxpIHdpxJljZWogaW5mb3JtYWNqaS4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCittc2dzdHIgImAlcyAtLWhlbHAnIHd5xZt3aWV0bGkgd2nEmWNlaiBpbmZvcm1hY2ppLiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFVucmVjb2duaXplZCBhcmNoaXRlY3R1cmUiCittc2dzdHIgIiVzOiBOaWV6bmFuYSBhcmNoaXRla3R1cmEiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIktlcm5lbCBjYW5ub3Qgc2V0IGFyY2hpdGVjdHVyZSB0byAlcyIKK21zZ3N0ciAiSsSFZHJvIG5pZSBtb8W8ZSB1c3Rhd2nEhyBhcmNoaXRla3R1cnkgbmEgJXMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzA1Cittc2dpZCAiTm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIlphIG1hxYJvIGFyZ3VtZW50w7N3IgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjMyMgorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICJOaWUgdWRhxYJvIHNpxJkgdXN0YXdpxIcgb3NvYm93b8WbY2kgbmEgJXMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc5Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnLS1saXN0JyIKK21zZ3N0ciAibmllcm96cG96bmFuYSBvcGNqYSAnLS1saXN0JyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozODcKK21zZ2lkICJubyBhcmNoaXRlY3R1cmUgYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJuaWUgcG9kYW5vIGFyZ3VtZW50dSBhcmNoaXRla3R1cnkiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB1c3Rhd2nEhyBvc29ib3dvxZtjaSBuYSAlcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXhlY3V0ZSBjb21tYW5kIGAlcycuXG4iCittc2dzdHIgIld5d2/FgmFuaWUgcG9sZWNlbmlhIGAlcycuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggZGlmZmVyZW50IHByaXZpbGVnZSBzZXR0aW5ncy5cbiIKK21zZ3N0ciAiVXJ1Y2hvbWllbmllIHByb2dyYW11IHogaW5ueW1pIHVzdGF3aWVuaWFtaSB1cHJhd25pZcWELlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMAorbXNnaWQgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgc2hvdyBjdXJyZW50IHN0YXRlIChhbmQgZG8gbm90IGV4ZWMgYW55dGhpbmcpXG4iCittc2dzdHIgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgd3lwaXNhbmllIHN0YW51IGJpZcW8xIVjZWdvIChiZXogd3lrb255d2FuaWEgbmljemVnbylcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDEKK21zZ2lkICIgLS1ubnAsIC0tbm8tbmV3LXByaXZzICAgIGRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzXG4iCittc2dzdHIgIiAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAgemFicm9uaWVuaWUgbmFkYXdhbmlhIG5vd3ljaCB1cHJhd25pZcWEXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTAyCittc2dpZCAiIC0taW5oLWNhcHMgPGNhcHMsLi4uPiAgICBzZXQgaW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiAtLWluaC1jYXBzIDx1cHIsLi4uPiAgICAgdXN0YXdpZW5pZSBkemllZHppY3pvbnljaCB6ZG9sbm/Fm2NpXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTAzCittc2dpZCAiIC0tYm91bmRpbmctc2V0IDxjYXBzPiAgICBzZXQgY2FwYWJpbGl0eSBib3VuZGluZyBzZXRcbiIKK21zZ3N0ciAiIC0tYm91bmRpbmctc2V0IDx1cHI+ICAgICB1c3Rhd2llbmllIHpiaW9ydSBvZ3Jhbmljem9ueWNoIHpkb2xub8WbY2lcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDQKK21zZ2lkICIgLS1ydWlkIDx1aWQ+ICAgICAgICAgICAgIHNldCByZWFsIHVpZFxuIgorbXNnc3RyICIgLXJ1aWQgPHVpZD4gICAgICAgICAgICAgIHVzdGF3aWVuaWUgdWlkdSByemVjenl3aXN0ZWdvXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA1Cittc2dpZCAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIgLS1ldWlkIDx1aWQ+ICAgICAgICAgICAgIHVzdGF3aWVuaWUgdWlkdSBlZmVrdHl3bmVnb1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNgorbXNnaWQgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgc2V0IHJlYWwgZ2lkXG4iCittc2dzdHIgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgdXN0YXdpZW5pZSBnaWR1IHJ6ZWN6eXdpc3RlZ29cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDcKK21zZ2lkICIgLS1lZ2lkIDxnaWQ+ICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiAtLWVnaWQgPGdpZD4gICAgICAgICAgICAgdXN0YXdpZW5pZSBnaWR1IGVmZWt0eXduZWdvXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA4Cittc2dpZCAiIC0tcmV1aWQgPHVpZD4gICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIgLS1yZXVpZCA8dWlkPiAgICAgICAgICAgIHVzdGF3aWVuaWUgdWlkdSByemVjenl3aXN0ZWdvIGkgZWZla3R5d25lZ29cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDkKK21zZ2lkICIgLS1yZWdpZCA8Z2lkPiAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiAtLXJlZ2lkIDxnaWQ+ICAgICAgICAgICAgdXN0YXdpZW5pZSBnaWR1IHJ6ZWN6eXdpc3RlZ28gaSBlZmVrdHl3bmVnb1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMAorbXNnaWQgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgY2xlYXIgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICB3eWN6eXN6Y3plbmllIGdydXAgZG9kYXRrb3d5Y2hcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTEKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICB6YWNob3dhbmllIGdydXAgZG9kYXRrb3d5Y2hcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTIKK21zZ2lkICIgLS1ncm91cHMgPGdyb3VwLC4uLj4gICAgIHNldCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLS1ncm91cHMgPGdydXBhLC4uLj4gICAgIHVzdGF3aWVuaWUgZ3J1cCBkb2RhdGtvd3ljaFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMworbXNnaWQgIiAtLXNlY3VyZWJpdHMgPGJpdHM+ICAgICAgc2V0IHNlY3VyZWJpdHNcbiIKK21zZ3N0ciAiIC0tc2VjdXJlYml0cyA8Yml0eT4gICAgICB1c3Rhd2llbmllIGJpdMOzdyBiZXpwaWVjemXFhHN0d2EgKHNlY3VyZWJpdHMpXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE0Cittc2dpZCAiIC0tc2VsaW51eC1sYWJlbCA8bGFiZWw+ICBzZXQgU0VMaW51eCBsYWJlbFxuIgorbXNnc3RyICIgLS1zZWxpbnV4LWxhYmVsIDxldHlrLj4gIHVzdGF3aWVuaWUgZXR5a2lldHkgU0VMaW51a3NhKVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNQorbXNnaWQgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgc2V0IEFwcEFybW9yIHByb2ZpbGVcbiIKK21zZ3N0ciAiIC0tYXBwYXJtb3ItcHJvZmlsZSA8cHI+ICB1c3Rhd2llbmllIHByb2ZpbHUgQXBwQXJtb3JcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjEKK21zZ2lkICIgVGhpcyB0b29sIGNhbiBiZSBkYW5nZXJvdXMuICBSZWFkIHRoZSBtYW5wYWdlLCBhbmQgYmUgY2FyZWZ1bC5cbiIKK21zZ3N0ciAiIFRvIG5hcnrEmWR6aWUgbW/FvGUgYnnEhyBuaWViZXpwaWVjem5lLiBQcm9zesSZIHByemVjenl0YcSHIHN0cm9uxJkgbWFuIGkgYnnEhyBvc3Ryb8W8bnltLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE5MyBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2NworbXNnaWQgImdldHRpbmcgcHJvY2VzcyBzZWN1cmUgYml0cyBmYWlsZWQiCittc2dzdHIgInBvYmllcmFuaWUgYml0w7N3IGJlenBpZWN6ZcWEc3R3YSBwcm9jZXN1IG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdXJlYml0czogIgorbXNnc3RyICJCaXR5IGJlenBpZWN6ZcWEc3R3YToiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIltub25lXVxuIgorbXNnc3RyICJbYnJha11cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBsb25nIgorbXNnc3RyICIlczogemJ5dCBkxYJ1Z2EiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzOiAiCittc2dzdHIgIkdydXB5IGRvZGF0a293ZTogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3MyBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyMSBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyNgorIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzIgc3lzLXV0aWxzL3NldHByaXYuYzozMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdIgorbXNnc3RyICJbYnJha10iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgInVpZDogJXVcbiIKK21zZ3N0ciAidWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICJldWlkOiAldVxuIgorbXNnc3RyICJldWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJzdWlkOiAldVxuIgorbXNnc3RyICJzdWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5OSBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5MQorbXNnaWQgImdldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgImdldHJlc3VpZCBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzA4IHN5cy11dGlscy9zZXRwcml2LmM6NDA2Cittc2dpZCAiZ2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAiZ2V0cmVzZ2lkIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRWZmZWN0aXZlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICJFZmVrdHl3bmUgemRvbG5vxZtjaTogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyNAorIywgYy1mb3JtYXQKK21zZ2lkICJQZXJtaXR0ZWQgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIkRvendvbG9uZSB6ZG9sbm/Fm2NpOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkluaGVyaXRhYmxlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICJEemllZHppY3pvbmUgemRvbG5vxZtjaTogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzNQorIywgYy1mb3JtYXQKK21zZ2lkICJDYXBhYmlsaXR5IGJvdW5kaW5nIHNldDogIgorbXNnc3RyICJaYmnDs3Igb2dyYW5pY3plxYQgemRvbG5vxZtjaTogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MworbXNnaWQgIlNFTGludXggbGFiZWwiCittc2dzdHIgIkV0eWtpZXRhIFNFTGludWtzYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDYKK21zZ2lkICJBcHBBcm1vciBwcm9maWxlIgorbXNnc3RyICJQcm9maWwgQXBwQXJtb3IiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzU5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhcCAlZDogbGliY2FwLW5nIGlzIGJyb2tlbiIKK21zZ3N0ciAiY2FwICVkOiBsaWJjYXAtbmcgamVzdCB1c3prb2R6b25hIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4MgorbXNnaWQgIkludmFsaWQgc3VwcGxlbWVudGFyeSBncm91cCBpZCIKK21zZ3N0ciAiQsWCxJlkbnkgaWRlbnR5ZmlrYXRvciBncnVweSBkb2RhdGtvd2VqIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5OQorbXNnaWQgInNldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgInNldHJlc3VpZCBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDE0Cittc2dpZCAic2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0cmVzZ2lkIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MzUKK21zZ2lkICJiYWQgY2FwYWJpbGl0eSBzdHJpbmciCittc2dzdHIgImLFgsSZZG55IMWCYcWEY3VjaCB6ZG9sbm/Fm2NpIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ0MworbXNnaWQgImxpYmNhcC1uZyBpcyB0b28gb2xkIGZvciBcImFsbFwiIGNhcHMiCittc2dzdHIgImxpYmNhcC1uZyBqZXN0IHpieXQgc3RhcmEgZGxhIHpkb2xub8WbY2kgXCJhbGxcIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjYXBhYmlsaXR5IFwiJXNcIiIKK21zZ3N0ciAibmllem5hbmEgemRvbG5vxZvEhyBcIiVzXCIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDc2Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCBzZXQgLS0gcmVmdXNpbmcgdG8gYWRqdXN0IgorbXNnc3RyICJuaWVyb3pwb3puYW55IHpiacOzciBiaXTDs3cgYmV6cGllY3plxYRzdHdhIC0gb2Rtb3dhIHptaWFueSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0ODAKK21zZ2lkICJiYWQgc2VjdXJlYml0cyBzdHJpbmciCittc2dzdHIgImLFgsSZZG55IMWCYcWEY3VjaCBiaXTDs3cgYmV6cGllY3plxYRzdHdhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ4NworbXNnaWQgIithbGwgc2VjdXJlYml0cyBpcyBub3QgYWxsb3dlZCIKK21zZ3N0ciAiYml0eSBiZXpwaWVjemXFhHN0d2EgK2FsbCBuaWUgc8SFIGRvendvbG9uZSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDAKK21zZ2lkICJhZGp1c3Rpbmcga2VlcF9jYXBzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgInptaWFuYSBrZWVwX2NhcHMgbmllIG1hIHNlbnN1IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUwNAorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQiCittc2dzdHIgIm5pZXJvenBvem5hbnkgYml0IGJlenBpZWN6ZcWEc3R3YSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MjQKK21zZ2lkICJTRUxpbnV4IGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICJTRUxpbnV4IG5pZSBqZXN0IHfFgsSFY3pvbnkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb3NlIGZhaWxlZDogJXMiCittc2dzdHIgInphbWtuacSZY2llIG5pZSBwb3dpb2TFgm8gc2nEmTogJXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTQ3Cittc2dpZCAiQXBwQXJtb3IgaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIkFwcEFybW9yIG5pZSBqZXN0IHfFgsSFY3pvbnkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjU4Cittc2dpZCAiZHVwbGljYXRlIC0tbm8tbmV3LXByaXZzIG9wdGlvbiIKK21zZ3N0ciAicG93dMOzcnpvbmEgb3BjamEgLS1uby1uZXctcHJpdnMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjYzCittc2dpZCAiZHVwbGljYXRlIHJ1aWQiCittc2dzdHIgInBvd3TDs3J6b255IHJ1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjY1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJ1aWQiCittc2dzdHIgIm5pZXpyb3p1bWlhxYJ5IHJ1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjY5Cittc2dpZCAiZHVwbGljYXRlIGV1aWQiCittc2dzdHIgInBvd3TDs3J6b255IGV1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjcxCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGV1aWQiCittc2dzdHIgIm5pZXpyb3p1bWlhxYJ5IGV1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njc1Cittc2dpZCAiZHVwbGljYXRlIHJ1aWQgb3IgZXVpZCIKK21zZ3N0ciAicG93dMOzcnpvbnkgcnVpZCBsdWIgZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmV1aWQiCittc2dzdHIgIm5pZXpyb3p1bWlhxYJ5IHJldWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4MQorbXNnaWQgImR1cGxpY2F0ZSByZ2lkIgorbXNnc3RyICJwb3d0w7Nyem9ueSByZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZ2lkIgorbXNnc3RyICJuaWV6cm96dW1pYcWCeSBycGlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4NworbXNnaWQgImR1cGxpY2F0ZSBlZ2lkIgorbXNnc3RyICJwb3d0w7Nyem9ueSBlZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlZ2lkIgorbXNnc3RyICJuaWV6cm96dW1pYcWCeSBlZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY5MworbXNnaWQgImR1cGxpY2F0ZSByZ2lkIG9yIGVnaWQiCittc2dzdHIgInBvd3TDs3J6b255IHJnaWQgbHViIGVnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njk1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJlZ2lkIgorbXNnc3RyICJuaWV6cm96dW1pYcWCeSByZWdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MDAKK21zZ2lkICJkdXBsaWNhdGUgLS1jbGVhci1ncm91cHMgb3B0aW9uIgorbXNnc3RyICJwb3d0w7Nyem9uYSBvcGNqYSAtLWNsZWFyLWdyb3VwcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MDYKK21zZ2lkICJkdXBsaWNhdGUgLS1rZWVwLWdyb3VwcyBvcHRpb24iCittc2dzdHIgInBvd3TDs3J6b25hIG9wY2phIC0ta2VlcC1ncm91cHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzEyCittc2dpZCAiZHVwbGljYXRlIC0tZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAicG93dMOzcnpvbmEgb3BjamEgLS1ncm91cHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzIxCittc2dpZCAiZHVwbGljYXRlIC0taW5oLWNhcHMgb3B0aW9uIgorbXNnc3RyICJwb3d0w7Nyem9uYSBvcGNqYSAtLWluaC1jYXBzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcyNworbXNnaWQgImR1cGxpY2F0ZSAtLWJvdW5kaW5nLXNldCBvcHRpb24iCittc2dzdHIgInBvd3TDs3J6b25hIG9wY2phIC0tYm91bmRpbmctc2V0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjczMworbXNnaWQgImR1cGxpY2F0ZSAtLXNlY3VyZWJpdHMgb3B0aW9uIgorbXNnc3RyICJwb3d0w7Nyem9uYSBvcGNqYSAtLXNlY3VyZWJpdHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzM5Cittc2dpZCAiZHVwbGljYXRlIC0tc2VsaW51eC1sYWJlbCBvcHRpb24iCittc2dzdHIgInBvd3TDs3J6b25hIG9wY2phIC0tc2VsaW51eC1sYWJlbCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NDUKK21zZ2lkICJkdXBsaWNhdGUgLS1hcHBhcm1vci1wcm9maWxlIG9wdGlvbiIKK21zZ3N0ciAicG93dMOzcnpvbmEgb3BjamEgLS1hcHBhcm1vci1wcm9maWxlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc1NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICclYyciCittc2dzdHIgIm5pZXJvenBvem5hbmEgb3BjamEgJyVjJyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NjMKK21zZ2lkICItLWR1bXAgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIG9wdGlvbnMiCittc2dzdHIgIi0tZHVtcCBqZXN0IG5pZWtvbXBhdHliaWxuZSB6IGlubnltaSBvcGNqYW1pIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3MQorbXNnaWQgIi0tbGlzdC1jYXBzIG11c3QgYmUgc3BlY2lmaWVkIGFsb25lIgorbXNnc3RyICItLWxpc3QtY2FwcyBtdXNpIGJ5xIcgcG9kYW5lIHNhbW9kemllbG5pZSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzcKK21zZ2lkICJObyBwcm9ncmFtIHNwZWNpZmllZCIKK21zZ3N0ciAiTmllIHBvZGFubyBwcm9ncmFtdSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODIKK21zZ2lkICItLVtyZV1naWQgcmVxdWlyZXMgLS1rZWVwLWdyb3VwcywgLS1jbGVhci1ncm91cHMsIG9yIC0tZ3JvdXBzIgorbXNnc3RyICItLVtyZV1naWQgd3ltYWdhIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzIGx1YiAtLWdyb3VwcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODUKK21zZ2lkICJkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlcyBmYWlsZWQiCittc2dzdHIgInphYnJvbmllbmllIG5hZGF3YW5pYSBub3d5Y2ggdXByYXduaWXFhCBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzkzCittc2dpZCAia2VlcCBwcm9jZXNzIGNhcGFiaWxpdGllcyBmYWlsZWQiCittc2dzdHIgInphY2hvd2FuaWUgemRvbG5vxZtjaSBwcm9jZXN1IG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDEKK21zZ2lkICJhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgInfFgsSFY3plbmllIHpkb2xub8WbY2kiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA3Cittc2dpZCAicmVhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgInBvbm93bmUgd8WCxIVjemVuaWUgemRvbG5vxZtjaSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjMKK21zZ2lkICJzZXQgcHJvY2VzcyBzZWN1cmViaXRzIGZhaWxlZCIKK21zZ3N0ciAidXN0YXdpZW5pZSBiaXTDs3cgYmV6cGllY3plxYRzdHdhIHByb2Nlc3UgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyOQorbXNnaWQgImFwcGx5IGJvdW5kaW5nIHNldCIKK21zZ3N0ciAidXN0YXdpZW5pZSB6YmlvcnUgb2dyYW5pY3plxYQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODM1Cittc2dpZCAiYXBwbHkgY2FwYWJpbGl0aWVzIgorbXNnc3RyICJ1c3Rhd2llbmllIHpkb2xub8WbY2kiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODQwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBleGVjdXRlOiAlcyIKK21zZ3N0ciAibmllIG1vxbxuYSB1cnVjaG9tacSHOiAlcyIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFthcmd1bWVudHMgLi4uXVxuIgorbXNnc3RyICIgJXMgW29wY2plXSA8cHJvZ3JhbT4gW2FyZ3VtZW50eS4uLl1cbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjM2Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSBpbiBhIG5ldyBzZXNzaW9uLlxuIgorbXNnc3RyICJVcnVjaG9taWVuaWUgcHJvZ3JhbXUgdyBub3dlaiBzZXNqaS5cbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjM5Cittc2dpZCAiIC1jLCAtLWN0dHkgICAgIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwgdG8gdGhlIGN1cnJlbnQgb25lXG4iCittc2dzdHIgIiAtYywgLS1jdHR5ICAgICB1c3Rhd2llbmllIHRlcm1pbmFsYSBzdGVydWrEhWNlZ28gbmEgYmllxbzEhWN5XG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MAorbXNnaWQgIiAtdywgLS13YWl0ICAgICB3YWl0IHByb2dyYW0gdG8gZXhpdCwgYW5kIHVzZSB0aGUgc2FtZSByZXR1cm5cbiIKK21zZ3N0ciAiIC13LCAtLXdhaXQgICAgIG9jemVraXdhbmllIG5hIHpha2/FhGN6ZW5pZSBwcm9ncmFtdSwgendyw7NjZW5pZSB0ZWdvIHNhbWVnb1xuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6OTMKK21zZ2lkICJmb3JrIgorbXNnc3RyICJmb3JrIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTA1CisjLCBjLWZvcm1hdAorbXNnaWQgImNoaWxkICVkIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAicG90b21layAlZCBuaWUgemFrb8WEY3p5xYIgc2nEmSBub3JtYWxuaWUiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTAKK21zZ2lkICJzZXRzaWQgZmFpbGVkIgorbXNnc3RyICJzZXRzaWQgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEzCittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB1c3Rhd2nEhyB0ZXJtaW5hbGEgc3RlcnVqxIVjZWdvIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBvZmYgJXNcbiIKK21zZ3N0ciAic3dhcG9mZiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNQorbXNnaWQgIk5vdCBzdXBlcnVzZXIuIgorbXNnc3RyICJUcnplYmEgYnnEhyBzdXBlcnXFvHl0a293bmlraWVtLiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvZmYgZmFpbGVkIgorbXNnc3RyICIlczogc3dhcG9mZiBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTIyIHN5cy11dGlscy9zd2Fwb24uYzo3ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHNwZWM+XVxuIgorbXNnc3RyICIgJXMgW29wY2plXSBbPHNwZWM+XVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyNQorbXNnaWQgIkRpc2FibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIld5xYLEhWN6ZW5pZSB1cnrEhWR6ZcWEIGkgcGxpa8OzdyB6IHByemVzdHJ6ZW5pIHN0cm9uaWNvd2FuaWEgaSB3eW1pYW55LlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyOAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBzd2FwcyBmcm9tIC9wcm9jL3N3YXBzXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICB3ecWCxIVjemVuaWUgd3N6eXN0a2ljaCBvYnN6YXLDs3cgd3ltaWFueSB6IC9wcm9jL3N3YXBzXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgdHJ5YiBzemN6ZWfDs8WCb3d5Y2ggaW5mb3JtYWNqaVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEzNQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBhcmFtZXRyIDxzcGVjPjpcbiIKKyIgLUwgPGV0eWtpZXRhPiAgICAgICAgICBFVFlLSUVUQSB1cnrEhWR6ZW5pYSBkbyB1xbx5Y2lhXG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgVVVJRCB1cnrEhWR6ZW5pYSBkbyB1xbx5Y2lhXG4iCisiIExBQkVMPTxldHlraWV0YT4gICAgICAgRVRZS0lFVEEgdXJ6xIVkemVuaWEgZG8gdcW8eWNpYVxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIFVVSUQgdXJ6xIVkemVuaWEgZG8gdcW8eWNpYVxuIgorIiA8dXJ6xIVkemVuaWU+ICAgICAgICAgICBuYXp3YSB1cnrEhWR6ZW5pYSBkbyB1xbx5Y2lhXG4iCisiIDxwbGlrPiAgICAgICAgICAgICAgICAgbmF6d2EgcGxpa3UgZG8gdcW8eWNpYVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTMKK21zZ2lkICJkZXZpY2UgZmlsZSBvciBwYXJ0aXRpb24gcGF0aCIKK21zZ3N0ciAixZtjaWXFvGthIGRvIHBsaWt1IHVyesSFZHplbmlhIGx1YiBwYXJ0eWNqaSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk0Cittc2dpZCAidHlwZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJyb2R6YWogdXJ6xIVkemVuaWEiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NQorbXNnaWQgInNpemUgb2YgdGhlIHN3YXAgYXJlYSIKK21zZ3N0ciAicm96bWlhciBvYnN6YXJ1IHd5bWlhbnkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NgorbXNnaWQgImJ5dGVzIGluIHVzZSIKK21zZ3N0ciAiYmFqdMOzdyB3IHXFvHljaXUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NworbXNnaWQgInN3YXAgcHJpb3JpdHkiCittc2dzdHIgInByaW9yeXRldCBvYnN6YXJ1IHd5bWlhbnkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OAorbXNnaWQgInN3YXAgdXVpZCIKK21zZ3N0ciAiVVVJRCBvYnN6YXJ1IHd5bWlhbnkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OQorbXNnaWQgInN3YXAgbGFiZWwiCittc2dzdHIgImV0eWtpZXRhIG9ic3phcnUgd3ltaWFueSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlc1x0XHRcdFx0VHlwZVx0XHRTaXplXHRVc2VkXHRQcmlvcml0eVxuIgorbXNnc3RyICIlc1x0XHRcdFx0VHlwXHRcdFJvem1pYXJcdFXFvHl0ZVx0UHJpb3J5dGV0XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNDYKK21zZ2lkICJGaWxlbmFtZSIKK21zZ3N0ciAiTmF6d2EgcGxpa3UiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlaW5pdGlhbGl6aW5nIHRoZSBzd2FwLiIKK21zZ3N0ciAiJXM6IHBvbm93bmEgaW5pY2phbGl6YWNqYSBzd2FwYS4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxzZWVrIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGxzZWVrIG5pZSBwb3dpw7NkxYIgc2nEmSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgc2lnbmF0dXJlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHphcGlzIHN5Z25hdHVyeSBuaWUgcG93acOzZMWCIHNpxJkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIC0gaXQgYXBwZWFycyB0byBoYXZlIGhvbGVzLiIKK21zZ3N0ciAiJXM6IHBvbWluacSZdG8gLSB3eWRhamUgc2nEmSBtaWXEhyBkeml1cnkuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXQgc2l6ZSBmYWlsZWQiCittc2dzdHIgIiVzOiBvZGN6eXQgcm96bWlhcnUgbmllIHBvd2nDs2TFgiBzacSZIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIHN3YXAgaGVhZGVyIGZhaWxlZCIKK21zZ3N0ciAiJXM6IG9kY3p5dCBuYWfFgsOzd2thIHN3YXBhIG5pZSBwb3dpw7NkxYIgc2nEmSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZm91bmQgc2lnbmF0dXJlIFtwYWdlc2l6ZT0lZCwgc2lnbmF0dXJlPSVzXSIKK21zZ3N0ciAiJXM6IHpuYWxlemlvbm8gc3lnbmF0dXLEmSBbcm96bWlhciBzdHJvbnk9JWQsIHN5Z25hdHVyYT0lc10iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhZ2VzaXplPSVkLCBzd2Fwc2l6ZT0lbGx1LCBkZXZzaXplPSVsbHUiCittc2dzdHIgIiVzOiBwYWdlc2l6ZT0lZCwgc3dhcHNpemU9JWxsdSwgZGV2c2l6ZT0lbGx1IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsYXN0X3BhZ2UgMHglMDhsbHggaXMgbGFyZ2VyIHRoYW4gYWN0dWFsIHNpemUgb2Ygc3dhcHNwYWNlIgorbXNnc3RyICIlczogbGFzdF9wYWdlIDB4JTA4bGx4IHd5bm9zaSB3acSZY2VqIG5pxbwgcm96bWlhciBwcnplc3RyemVuaSB3eW1pYW55IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4iCittc2dzdHIgIiVzOiByb3ptaWFyIHN0cm9ueSBmb3JtYXR1IHN3YXBhIG5pZSB6Z2FkemEgc2nEmS4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiAoVXNlIC0tZml4cGdzeiB0byByZWluaXRpYWxpemUgaXQuKSIKK21zZ3N0ciAiJXM6IHJvem1pYXIgc3Ryb255IGZvcm1hdHUgc3dhcGEgbmllIHpnYWR6YSBzacSZICgtLWZpeHBnc3ogcG96d2FsaSB0byBwcnplaW5pY2pvd2HEhykuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzb2Z0d2FyZSBzdXNwZW5kIGRhdGEgZGV0ZWN0ZWQuIFJld3JpdGluZyB0aGUgc3dhcCBzaWduYXR1cmUuIgorbXNnc3RyICIlczogd3lrcnl0byBkYW5lIHByb2dyYW1vd2VnbyB3c3RyenltYW5pYS4gUG9ub3dueSB6YXBpcyBzeWduYXR1cnkgc3dhcGEuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBvbiAlc1xuIgorbXNnc3RyICJzd2Fwb24gJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9uIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN3YXBvbiBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vYXV0byBvcHRpb24gLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IG9wY2phIG5vYXV0byAtIHppZ25vcm93YW5vIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbHJlYWR5IGFjdGl2ZSAtLSBpZ25vcmVkIgorbXNnc3RyICIlczoganXFvCBha3R5d255IC0gemlnbm9yb3dhbm8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluYWNjZXNzaWJsZSAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogbmllZG9zdMSZcG55IC0gemlnbm9yb3dhbm8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTEKK21zZ2lkICJFbmFibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIlfFgsSFY3plbmllIHVyesSFZHplxYQgaSBwbGlrw7N3IHcgcHJ6ZXN0cnplxYQgc3Ryb25pY293YW5pYSBpIHd5bWlhbnkuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTQKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgd8WCxIVjemVuaWUgd3N6eXN0a2ljaCBwcnplc3RyemVuaSB3eW1pYW55IHogL2V0Yy9mc3RhYlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk1Cittc2dpZCAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorbXNnc3RyICIgLWQsIC0tZGlzY2FyZFs9PHBvbGl0eWthPl0gd8WCxIVjemVuaWUga2Fzb3dhbmlhIHN3YXBhLCBqZcWbbGkgdXJ6xIVkemVuaWUgb2JzxYJ1Z3VqZVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk2Cittc2dpZCAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBzaWxlbnRseSBza2lwIGRldmljZXMgdGhhdCBkbyBub3QgZXhpc3RcbiIKK21zZ3N0ciAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBjaWNoZSBwb21pbmnEmWNpZSB1cnrEhWR6ZcWEIG5pZWlzdG5pZWrEhWN5Y2hcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NworbXNnaWQgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHBvbm93bmUgaW5pY2pvd2FuaWUgcHJ6ZXN0cnpuaSB3eW1pYW55IHcgcmF6aWUgcG90cnplYnlcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5OAorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2Ygc3dhcCBvcHRpb25zXG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDxsaXN0YT4gICAgcm96ZHppZWxvbmEgcHJ6ZWNpbmthbWkgbGlzdGEgb3BjamkgcHJ6ZXN0cnpuaSB3eW1pYW55XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTkKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorbXNnc3RyICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIG9rcmXFm2xlbmllIHByaW9yeXRldHUgZGFuZWdvIHVyesSFZHplbmlhIHd5bWlhbnlcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMAorbXNnaWQgIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgZGlzcGxheSBzdW1tYXJ5IGFib3V0IHVzZWQgc3dhcCBkZXZpY2VzIChERVBSRUNBVEVEKVxuIgorbXNnc3RyICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIHd5xZt3aWV0bGVuaWUgcG9kc3Vtb3dhbmlhIHXFvHl3YW55Y2ggcHJ6ZXN0cnplbmkgKFBSWkVTVEFSWkHFgUUpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDEKK21zZ2lkICIgICAgIC0tc2hvd1s9PGNvbHVtbnM+XSAgIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKK21zZ3N0ciAiICAgICAtLXNob3dbPTxrb2x1bW55Pl0gICB3ecWbd2lldGxlbmllIHBvZHN1bW93YW5pYSB3IGRlZmluaW93YWxuZWogdGFiZWxpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDIKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IHRhYmxlIGhlYWRpbmcgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGJleiB3eXBpc3l3YW5pYSBuYWfFgsOzd2vDs3cgdGFiZWxpIChwcnp5IC0tc2hvdylcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMworbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCAod2l0aCAtLXNob3cpXG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgd3lqxZtjaWUgdyBmb3JtYWNpZSBzdXJvd3ltIChwcnp5IC0tc2hvdylcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNAorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHNpemUgaW4gYnl0ZXMgaW4gLS1zaG93IG91dHB1dFxuIgorbXNnc3RyICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIHd5xZt3aWV0bGVuaWUgcm96bWlhcnUgd3ltaWFueSB3IGJhanRhY2ggKHByenkgLS1zaG93KVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB0cnliIHN6Y3plZ8OzxYJvd3lcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBhcmFtZXRyIDxzcGVjPjpcbiIKKyIgLUwgPGV0eWtpZXRhPiAgICAgICAgICBzeW5vbmltIExBQkVMPTxldHlraWV0YT5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzeW5vbmltIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxldHlraWV0YT4gICAgICAgb2tyZcWbbGVuaWUgdXJ6xIVkemVuaWEgd2cgZXR5a2lldHkgb2JzemFydSB3eW1pYW55XG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgb2tyZcWbbGVuaWUgdXJ6xIVkemVuaWEgd2cgVVVJRC1hIG9ic3phcnUgd3ltaWFueVxuIgorIiBQQVJUTEFCRUw9PGV0eWtpZXRhPiAgIG9rcmXFm2xlbmllIHVyesSFZHplbmlhIHdnIGV0eWtpZXR5IHBhcnR5Y2ppXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgb2tyZcWbbGVuaWUgdXJ6xIVkemVuaWEgd2cgVVVJRC1hIHBhcnR5Y2ppXG4iCisiIDx1cnrEhWR6ZW5pZT4gICAgICAgICAgIG5hendhIHVyesSFZHplbmlhIGRvIHXFvHljaWFcbiIKKyIgPHBsaWs+ICAgICAgICAgICAgICAgICBuYXp3YSBwbGlrdSBkbyB1xbx5Y2lhXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MjEKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGRpc2NhcmQgcG9saWN5IHR5cGVzIChmb3IgLS1kaXNjYXJkKTpcbiIKKyIgb25jZSAgICA6IG9ubHkgc2luZ2xlLXRpbWUgYXJlYSBkaXNjYXJkcyBhcmUgaXNzdWVkXG4iCisiIHBhZ2VzICAgOiBmcmVlZCBwYWdlcyBhcmUgZGlzY2FyZGVkIGJlZm9yZSB0aGV5IGFyZSByZXVzZWRcbiIKKyJJZiBubyBwb2xpY3kgaXMgc2VsZWN0ZWQsIGJvdGggZGlzY2FyZCB0eXBlcyBhcmUgZW5hYmxlZCAoZGVmYXVsdCkuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJEb3N0xJlwbmUgcG9saXR5a2kga2Fzb3dhbmlhIChkbGEgLS1kaXNjYXJkKTpcbiIKKyIgb25jZSAgICA6IHR5bGtvIGplZG5vcmF6b3dlIGthc293YW5pZSBvYnN6YXLDs3dcbiIKKyIgcGFnZXMgICA6IGthc293YW5pZSB3b2xueWNoIHN0cm9uIHByemVkIHBvbm93bnltIHXFvHljaWVtXG4iCisiSmXFm2xpIG5pZSB3eWJyYW5vIHBvbGl0eWtpLCB3xYLEhWN6YW5lIHPEhSBvYmEgcm9kemFqZSAoZG9tecWbbG5lKS5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgyNgorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJEb3N0xJlwbmUga29sdW1ueSAoZGxhIC0tc2hvdyk6XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MDQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcHJpb3JpdHkiCittc2dzdHIgIm5pZXpyb3p1bWlhxYJ5IHByaW9yeXRldCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkyMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIm5pZSBvYnPFgnVnaXdhbmEgcG9saXR5a2Ega2Fzb3dhbmlhOiAlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCB0aGUgZGV2aWNlIGZvciAlcyIKK21zZ3N0ciAibmllIG1vxbxuYSBvZG5hbGXFusSHIHVyesSFZHplbmlhIGRsYSAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NTkKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkaXJlY3RvcnkiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBvdHdvcnp5xIcga2F0YWxvZ3UiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjY3Cittc2dpZCAic3RhdCBmYWlsZWQiCittc2dzdHIgInN0YXQgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo3OAorbXNnaWQgImZhaWxlZCB0byByZWFkIGRpcmVjdG9yeSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIG9kY3p5dGHEhyBrYXRhbG9ndSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJXMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB1c3VuxIXEhyAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gJXMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB6YW1vbnRvd2HEhyBwcnplbm9zesSFYyAlcyBkbyAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgImZvcmNpbmcgdW5tb3VudCBvZiAlcyIKK21zZ3N0ciAid3ltdXN6ZW5pZSBvZG1vbnRvd2FuaWEgJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHptaWVuacSHIGthdGFsb2d1IG5hICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAvIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgemFtb250b3dhxIcgcHJ6ZW5vc3rEhWMgJXMgZG8gLyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTc1Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgem1pZW5pxIcga2F0YWxvZ3UgZ8WCw7N3bmVnbyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTg4Cittc2dpZCAib2xkIHJvb3QgZmlsZXN5c3RlbSBpcyBub3QgYW4gaW5pdHJhbWZzIgorbXNnc3RyICJzdGFyeSBnxYLDs3dueSBzeXN0ZW0gcGxpa8OzdyBuaWUgamVzdCB0eXB1IGluaXRyYW1mcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG5ld3Jvb3RkaXI+IDxpbml0PiA8YXJncyB0byBpbml0PlxuIgorbXNnc3RyICIgJXMgW29wY2plXSA8bm93eSBrYXRhbG9nIGfFgsOzd255PiA8aW5pdD4gPGFyZ3VtZW50eSBpbml0YT5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA0Cittc2dpZCAiU3dpdGNoIHRvIGFub3RoZXIgZmlsZXN5c3RlbSBhcyB0aGUgcm9vdCBvZiB0aGUgbW91bnQgdHJlZS5cbiIKK21zZ3N0ciAiWm1pYW5hIG5hIGlubnkgc3lzdGVtIHBsaWvDs3cgamFrbyBrb3J6ZcWEIGRyemV3YSBtb250b3dhbmlhLlxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMzYKK21zZ2lkICJmYWlsZWQuIFNvcnJ5LiIKK21zZ3N0ciAibmllIHBvd2lvZMWCbyBzacSZLiBOaWVzdGV0eS4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgYWNjZXNzICVzIgorbXNnc3RyICJuaWUgbW/FvG5hIGRvc3RhxIcgc2nEmSBkbyAlcyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk0Cittc2dpZCAiU2V0IHZhcmlvdXMgcGFyYW1ldGVycyBmb3IgdGhlIGxpbmUgcHJpbnRlci5cbiIKK21zZ3N0ciAiVXN0YXdpYW5pZSByw7PFvG55Y2ggcGFyYW1ldHLDs3cgZHJ1a2Fya2kgbGluaW93ZWouXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5NworbXNnaWQgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIHNwZWNpZnkgcGFyYWxsZWwgcG9ydCBpcnFcbiIKK21zZ3N0ciAiIC1pLCAtLWlycSA8bnVtZXI+ICAgICAgICAgICAgb2tyZcWbbGVuaWUgSVJRIHBvcnR1IHLDs3dub2xlZ8WCZWdvXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5OAorbXNnaWQgIiAtdCwgLS10aW1lIDxtcz4gICAgICAgICAgICAgIGRyaXZlciB3YWl0IHRpbWUgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lIDxtcz4gICAgICAgICAgICAgIGN6YXMgb2N6ZWtpd2FuaWEgc3Rlcm93bmlrYSB3IG1pbGlzZWt1bmRhY2hcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk5Cittc2dpZCAiIC1jLCAtLWNoYXJzIDxudW0+ICAgICAgICAgICAgbnVtYmVyIG9mIG91dHB1dCBjaGFyYWN0ZXJzIGJlZm9yZSBzbGVlcFxuIgorbXNnc3RyICIgLWMsIC0tY2hhcnMgPGxpY3piYT4gICAgICAgICBsaWN6YmEgem5ha8OzdyB3eWrFm2Npb3d5Y2ggcHJ6ZWQgb2N6ZWtpd2FuaWVtXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDAKK21zZ2lkICIgLXcsIC0td2FpdCA8dXM+ICAgICAgICAgICAgICBzdHJvYmUgd2FpdCBpbiBtaWNybyBzZWNvbmRzXG4iCittc2dzdHIgIiAtdywgLS13YWl0IDx1cz4gICAgICAgICAgICAgIG9jemVraXdhbmllIHN0cm9iZSB3IG1pa3Jvc2VrdW5kYWNoXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBkbyBub3QgdHJhbnNsYXRlIDxvbnxvZmY+IGFyZ3VtZW50cy4gVGhlCisjLiBhcmd1bWVudCByZWFkZXIgZG9lcyBub3QgcmVjb2duaXplIGxvY2FsZSwgdW5sZXNzIGBvbicgaXMKKyMuIGV4YWN0bHkgdGhhdCB2ZXJ5IHNhbWUgc3RyaW5nLgorIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNAorbXNnaWQgIiAtYSwgLS1hYm9ydCA8b258b2ZmPiAgICAgICAgIGFib3J0IG9uIGVycm9yXG4iCittc2dzdHIgIiAtYSwgLS1hYm9ydCA8b258b2ZmPiAgICAgICAgIHByemVyd2FuaWUgcHJvZ3JhbXUgcG8gYsWCxJlkemllXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDUKK21zZ2lkICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBjaGVjayBwcmludGVyIHN0YXR1cyBiZWZvcmUgcHJpbnRpbmdcbiIKK21zZ3N0ciAiIC1vLCAtLWNoZWNrLXN0YXR1cyA8b258b2ZmPiAgc3ByYXdkemFuaWUgc3RhbnUgZHJ1a2Fya2kgcHJ6ZWQgZHJ1a293YW5pZW1cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNgorbXNnaWQgIiAtQywgLS1jYXJlZnVsIDxvbnxvZmY+ICAgICAgIGV4dHJhIGNoZWNraW5nIHRvIHN0YXR1cyBjaGVja1xuIgorbXNnc3RyICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICBkb2RhdGtvd2Ugc3ByYXdkemFuaWUgc3RhbnVcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNworbXNnaWQgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIHF1ZXJ5IHByaW50ZXIgc3RhdHVzXG4iCittc2dzdHIgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIHphcHl0YW5pZSBvIHN0YW4gZHJ1a2Fya2lcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOAorbXNnaWQgIiAtVCwgLS10cnVzdC1pcnEgPG9ufG9mZj4gICAgIG1ha2UgZHJpdmVyIHRvIHRydXN0IGlycVxuIgorbXNnc3RyICIgLVQsIC0tdHJ1c3QtaXJxIDxvbnxvZmY+ICAgICB3xYLEhWN6ZW5pZSB3eWtvcnp5c3R5d2FuaWEgSVJRIHByemV6IHN0ZXJvd25pa1xuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcmVzZXQgdGhlIHBvcnRcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcmVzZXQgcG9ydHVcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMAorbXNnaWQgIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgIGRpc3BsYXkgY3VycmVudCBpcnEgc2V0dGluZ1xuIgorbXNnc3RyICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICB3ecWbd2lldGxlbmllIGJpZcW8xIVjZWdvIHVzdGF3aWVuaWEgSVJRXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGFuIGxwIGRldmljZSIKK21zZ3N0ciAiJXMgbmllIGplc3QgdXJ6xIVkemVuaWVtIGxwIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjgwCittc2dpZCAiTFBHRVRTVEFUVVMgZXJyb3IiCittc2dzdHIgImLFgsSFZCBMUEdFVFNUQVRVUyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdGF0dXMgaXMgJWQiCittc2dzdHIgIlN0YW4gZHJ1a2Fya2kgJXM6ICVkIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgYnVzeSIKK21zZ3N0ciAiLCB6YWrEmXRhIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgcmVhZHkiCittc2dzdHIgIiwgZ290b3dhIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb3V0IG9mIHBhcGVyIgorbXNnc3RyICIsIGJyYWsgcGFwaWVydSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICIsIG9uLWxpbmUiCittc2dzdHIgIiwgd8WCxIVjem9uYSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5NQorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVycm9yIgorbXNnc3RyICIsIGLFgsSFZCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMwMAorbXNnaWQgImlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwgbmllIHBvd2nDs2TFgiBzacSZIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzEwCittc2dpZCAiTFBHRVRJUlEgZXJyb3IiCittc2dzdHIgImLFgsSFZCBMUEdFVElSUSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBJUlEgJWRcbiIKK21zZ3N0ciAiJXMgdcW8eXdhIElSUSAlZFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIHBvbGxpbmdcbiIKK21zZ3N0ciAiJXMgdcW8eXdhIG9kcHl0eXdhbmlhXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gfCA8ZGlyZWN0b3J5PlxuIgorbXNnc3RyICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBbb3BjamVdXG4iCisiICUxJHMgW29wY2plXSA8xbpyw7NkxYJvPiB8IDxrYXRhbG9nPlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODEKK21zZ2lkICJVbm1vdW50IGZpbGVzeXN0ZW1zLlxuIgorbXNnc3RyICJPZG1vbnRvd3l3YW5pZSBzeXN0ZW3Ds3cgcGxpa8Ozdy5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg0Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHVubW91bnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBvZG1vbnRvd2FuaWUgd3N6eXN0a2ljaCBzeXN0ZW3Ds3cgcGxpa8Ozd1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODUKK21zZ2lkICIiCisiIC1BLCAtLWFsbC10YXJnZXRzICAgICAgIHVubW91bnQgYWxsIG1vdW50cG9pbnRzIGZvciB0aGUgZ2l2ZW4gZGV2aWNlIGluIHRoZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWxsLXRhcmdldHMgICAgICAgb2Rtb250b3dhbmllIHdzenlzdGtpY2ggcHVua3TDs3cgbW9udG93YW5pYSBkbGFcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2RhbmVnbyB1cnrEhWR6ZW5pYSB3IGJpZcW8xIVjZWogcHJ6ZXN0cnplbmkgbmF6d1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODcKK21zZ2lkICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCittc2dzdHIgIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBiZXogZG9wcm93YWR6YW5pYSDFm2NpZcW8ZWsgZG8gcG9zdGFjaSBrYW5vbmljem5lalxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODgKK21zZ2lkICIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAgaWYgbW91bnRlZCBsb29wIGRldmljZSwgYWxzbyBmcmVlIHRoaXMgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIHp3YWxuaWFuaWUgdXJ6xIVkemXFhCBsb29wIHByenkgb2Rtb250b3d5d2FuaXUgaWNoXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OQorbXNnaWQgIiAgICAgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSB1bW91bnQoMikgc3lzY2FsbFxuIgorbXNnc3RyICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgdGVzdG93ZSB1cnVjaG9taWVuaWU7IHBvbWluacSZY2llIHd5d2/FgmHFhCB1bW91bnQoMilcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkwCittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIGZvcmNlIHVubW91bnQgKGluIGNhc2Ugb2YgYW4gdW5yZWFjaGFibGUgTkZTIHN5c3RlbSlcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIHd5bXVzemVuaWUgb2Rtb250b3dhbmlhICh3IHByenlwLiBuaWVvc2nEhWdhbG5lZ28gTkZTKVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTEKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgdW1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBiZXogd3l3b8WCeXdhbmlhIHByb2dyYW3Ds3cgcG9tb2NuaWN6eWNoIHVtb3VudC48dHlwPlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTMKK21zZ2lkICIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgZGV0YWNoIHRoZSBmaWxlc3lzdGVtIG5vdywgY2xlYW4gdXAgdGhpbmdzIGxhdGVyXG4iCittc2dzdHIgIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICBvZMWCxIVjemVuaWUgc3lzdGVtdSBwbGlrw7N3IG9kIHJhenUsIHNwcnrEhXRhbmllIHDDs8W6bmllalxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTQKK21zZ2lkICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCittc2dzdHIgIiAtTywgLS10ZXN0LW9wdHMgPGxpc3RhPiBvZ3JhbmljemVuaWUgemJpb3J1IHN5c3RlbcOzdyBwbGlrw7N3ICh3cmF6IHogLWEpXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NQorbXNnaWQgIiAtUiwgLS1yZWN1cnNpdmUgICAgICAgICByZWN1cnNpdmVseSB1bm1vdW50IGEgdGFyZ2V0IHdpdGggYWxsIGl0cyBjaGlsZHJlblxuIgorbXNnc3RyICIgLVIsIC0tcmVjdXJzaXZlICAgICAgICAgcmVrdXJlbmN5am5lIG9kbW9udG93YW5pZSBjZWx1IHdyYXogeiBwb3RvbWthbWlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk2Cittc2dpZCAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIGluIGNhc2UgdW5tb3VudGluZyBmYWlscywgdHJ5IHRvIHJlbW91bnQgcmVhZC1vbmx5XG4iCittc2dzdHIgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBwcnplbW9udG93YW5pZSBybyB3IHByenlwYWRrdSBuaWVtb8W8bm/Fm2NpIG9kbW9udG93YW5pYVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTcKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiAtdCwgLS10eXBlcyA8bGlzdGE+ICAgICBvZ3JhbmljemVuaWUgemJpb3J1IHR5cMOzdyBzeXN0ZW3Ds3cgcGxpa8Ozd1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcykgdW5tb3VudGVkIgorbXNnc3RyICIlcyAoJXMpIG9kbW9udG93YW55IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVubW91bnRlZCIKK21zZ3N0ciAiJXMgb2Rtb250b3dhbnkiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVtb3VudCBmYWlsZWQiCittc2dzdHIgIiVzOiBvZG1vbnRvd2FuaWUgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCittc2dzdHIgIiVzOiBzeXN0ZW0gcGxpa8OzdyBvZG1vbnRvd2FueSwgYWxlIG1vdW50KDgpIG5pZSBwb3dpw7NkxYIgc2nEmSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBuaWVwcmF3aWTFgm93ZSB1cnrEhWR6ZW5pZSBibG9rb3dlIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorbXNnc3RyICIlczogbmllIG1vxbxuYSB6YXBpc2HEhyBzdXBlcmJsb2t1IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlczogdGFyZ2V0IGlzIGJ1c3lcbiIKKyIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0XG4iCisiICAgICAgICAgdXNlIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKS4pIgorbXNnc3RyICIiCisiJXM6IGNlbCBqZXN0IHphasSZdHkuXG4iCisiICAgICAgICAoVyBuaWVrdMOzcnljaCBwcnp5cGFka2FjaCBpbmZvcm1hY2plIG8gcHJvY2VzYWNoIGtvcnp5c3RhasSFY3ljaFxuIgorIiAgICAgICAgIHogdXJ6xIVkemVuaWEgbW/FvG5hIHpuYWxlxbrEhyBwcnp5IHBvbW9jeSBsc29mKDgpIGx1YiBmdXNlcigxKS4pIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudHBvaW50IG5vdCBmb3VuZCIKK21zZ3N0ciAiJXM6IG5pZSB6bmFsZXppb25vIHB1bmt0dSBtb250b3dhbmlhIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjUwCittc2dpZCAidW5kZWZpbmVkIG1vdW50cG9pbnQiCittc2dzdHIgIm5pZSB6ZGVmaW5pb3dhbnkgcHVua3QgbW9udG93YW5pYSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdW5tb3VudCIKK21zZ3N0ciAiJXM6IHRyemViYSBiecSHIHN1cGVydcW8eXRrb3duaWtpZW0sIMW8ZWJ5IG9kbW9udG93YcSHIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBibG9jayBkZXZpY2VzIGFyZSBub3QgcGVybWl0dGVkIG9uIGZpbGVzeXN0ZW0iCittc2dzdHIgIiVzOiB1cnrEhWR6ZW5pYSBibG9rb3dlIG5pZSBzxIUgZG96d29sb25lIHcgc3lzdGVtaWUgcGxpa8OzdyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMwNworbXNnaWQgImZhaWxlZCB0byBzZXQgdW1vdW50IHRhcmdldCIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHVzdGF3acSHIGNlbHUgb2Rtb250b3dhbmlhIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzIzCittc2dpZCAibGlibW91bnQgdGFibGUgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgInByenlkemllbGVuaWUgdGFibGljeSBsaWJtb3VudCBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozNjYgc3lzLXV0aWxzL3Vtb3VudC5jOjQ0NgorbXNnaWQgImxpYm1vdW50IGl0ZXJhdG9yIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJwcnp5ZHppZWxlbmllIGl0ZXJhdG9yYSBsaWJtb3VudCBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBjaGlsZCBmcyBvZiAlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHBvYnJhxIcgcG90b21uZWdvIGZzIGRsYSAlcyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQxMCBzeXMtdXRpbHMvdW1vdW50LmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQiCittc2dzdHIgIiVzOiBuaWUgem5hbGV6aW9ubyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQ0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRldGVybWluZSBzb3VyY2UgKC0tYWxsLXRhcmdldHMgaXMgdW5zdXBwb3J0ZWQgb24gc3lzdGVtcyB3aXRoIHJlZ3VsYXIgbXRhYiBmaWxlKS4iCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgdXN0YWxpxIcgxbpyw7NkxYJhICgtLWFsbC10YXJnZXRzIG5pZSBqZXN0IG9ic8WCdWdpd2FuZSBuYSBzeXN0ZW1hY2ggemUgend5a8WCeW0gcGxpa2llbSBtdGFiKS4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zZXRncm91cHMgYXJndW1lbnQgJyVzJyIKK21zZ3N0ciAibmllIG9ic8WCdWdpd2FueSBhcmd1bWVudCAtLXNldGdyb3VwcyAnJXMnIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjExMCBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQgJXMiCittc2dzdHIgInphcGlzICVzIG5pZSBwb3dpw7NkxYIgc2nEmSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJvcGFnYXRpb24gbW9kZTogJXMiCittc2dzdHIgIm5pZSBvYnPFgnVnaXdhbnkgdHJ5YiBwcm9wYWdvd2FuaWE6ICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1NworbXNnaWQgImNhbm5vdCBjaGFuZ2Ugcm9vdCBmaWxlc3lzdGVtIHByb3BhZ2F0aW9uIgorbXNnc3RyICJuaWUgbW/FvG5hIHptaWVuacSHIHByb3BhZ293YW5pYSBnxYLDs3duZWdvIHN5c3RlbXUgcGxpa8OzdyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHN0YXQgJXMiCittc2dzdHIgIm5pZSBtb8W8bmEgd3lrb25hxIcgc3RhdCBuYSAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTMKK21zZ2lkICJwaXBlIGZhaWxlZCIKK21zZ3N0ciAidXR3b3J6ZW5pZSBwb3Rva3UgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIyNworbXNnaWQgImZhaWxlZCB0byByZWFkIHBpcGUiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBvZGN6eXRhxIcgcG90b2t1IgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1MAorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBzb21lIG5hbWVzcGFjZXMgdW5zaGFyZWQgZnJvbSB0aGUgcGFyZW50LlxuIgorbXNnc3RyICJVcnVjaG9taWVuaWUgcHJvZ3JhbXUgeiBjesSZxZtjacSFIHByemVzdHJ6ZW5pIG5hencgb2RkemllbG9ueWNoIG9kIHJvZHppY2EuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUzCittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbSwgLS1tb3VudFs9PHBsaWs+XSAgICAgIG9kZHppZWxlbmllIHByemVzdHJ6ZW5pIG1vbnRvd2FuaWFcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTQKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiIC11LCAtLXV0c1s9PHBsaWs+XSAgICAgICAgb2RkemllbGVuaWUgcHJ6ZXN0cnplbmkgVVRTIChob3N0bmFtZSBpdHAuKVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NQorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLWksIC0taXBjWz08cGxpaz5dICAgICAgICBvZGR6aWVsZW5pZSBwcnplc3RyemVuaSBTeXN0ZW0gViBJUENcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTYKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbiwgLS1uZXRbPTxwbGlrPl0gICAgICAgIG9kZHppZWxlbmllIHByemVzdHJ6ZW5pIHNpZWNpb3dlalxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NworbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLXAsIC0tcGlkWz08cGxpaz5dICAgICAgICBvZGR6aWVsZW5pZSBwcnplc3RyemVuaSBwaWTDs3dcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTgKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtVSwgLS11c2VyWz08cGxpaz5dICAgICAgIG9kZHppZWxlbmllIHByemVzdHJ6ZW5pIHXFvHl0a293bmlrw7N3XG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU5Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgICAgdW5zaGFyZSBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtQywgLS1jZ3JvdXBbPTxwbGlrPl0gICAgIG9kZHppZWxlbmllIHByemVzdHJ6ZW5pIGNncm91cFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MAorbXNnaWQgIiAtZiwgLS1mb3JrICAgICAgICAgICAgICAgIGZvcmsgYmVmb3JlIGxhdW5jaGluZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmsgICAgICAgICAgICAgICAgd3lrb25hbmllIGZvcmsgcHJ6ZWQgdXJ1Y2hvbWllbmllbSA8cHJvZ3JhbXU+XG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYxCittc2dpZCAiICAgICAtLW1vdW50LXByb2NbPTxkaXI+XSAgbW91bnQgcHJvYyBmaWxlc3lzdGVtIGZpcnN0IChpbXBsaWVzIC0tbW91bnQpXG4iCittc2dzdHIgIiAgICAgLS1tb3VudC1wcm9jWz08a2F0Pl0gIHphbW9udG93YW5pZSBuYWpwaWVydyBzeXN0ZW11IHByb2MgKHd5bXVzemEgLS1tb3VudClcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjIKK21zZ2lkICIgLXIsIC0tbWFwLXJvb3QtdXNlciAgICAgICBtYXAgY3VycmVudCB1c2VyIHRvIHJvb3QgKGltcGxpZXMgLS11c2VyKVxuIgorbXNnc3RyICIiCisiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgb2R3em9yb3dhbmllIGJpZcW8xIVjZWdvIHXFvHl0a293bmlrYSBuYSByb290YVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHd5bXVzemEgLS11c2VyKVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MworbXNnaWQgIiIKKyIgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZ5IG1vdW50IHByb3BhZ2F0aW9uIGluIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisiICAgICAtLXByb3BhZ2F0aW9uIHNsYXZlfHNoYXJlZHxwcml2YXRlfHVuY2hhbmdlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIHptb2R5Zmlrb3dhbmllIHByb3BhZ293YW5pYSB3IHByemVzdHJ6ZW5pIG1vbnRvd2FuaWFcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjUKK21zZ2lkICIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIGNvbnRyb2wgdGhlIHNldGdyb3VwcyBzeXNjYWxsIGluIHVzZXIgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIGRvcHVzemN6YWxub8WbxIcgc2V0Z3JvdXBzIHcgcHJ6ZXN0cnplbmlhY2ggdcW8eXRrb3duaWvDs3dcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzozODYKK21zZ2lkICJ1bnNoYXJlIGZhaWxlZCIKK21zZ3N0ciAidW5zaGFyZSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDMwCittc2dpZCAiY2hpbGQgZXhpdCBmYWlsZWQiCittc2dzdHIgInpha2/FhGN6ZW5pZSBwb3RvbWthIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzcKK21zZ2lkICJvcHRpb25zIC0tc2V0Z3JvdXBzPWFsbG93IGFuZCAtLW1hcC1yb290LXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAib3BjamUgLS1zZXRncm91cHM9YWxsb3cgb3JheiAtLW1hcC1yb290LXVzZXIgd3lrbHVjemFqxIUgc2nEmSB3emFqZW1uaWUiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIGZhaWxlZCIKK21zZ3N0ciAibW9udG93YW5pZSAlcyBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjczCittc2dpZCAiQ2FyZCBwcmV2aW91c2x5IHJlc2V0IHRoZSBDUFUiCittc2dzdHIgIkthcnRhIHVwcnplZG5pbyB6cmVzZXRvd2HFgmEgQ1BVIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NAorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDEiCittc2dzdHIgIlpld27EmXRyem5lIHByemVrYXp5d2FuaWUgMSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzUKK21zZ2lkICJFeHRlcm5hbCByZWxheSAyIgorbXNnc3RyICJaZXduxJl0cnpuZSBwcnpla2F6eXdhbmllIDIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc2Cittc2dpZCAiRmFuIGZhaWxlZCIKK21zZ3N0ciAiV2VudHlsYXRvciB6YXdpw7NkxYIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc3Cittc2dpZCAiS2VlcCBhbGl2ZSBwaW5nIHJlcGx5IgorbXNnc3RyICJPZHBvd2llZMW6IG5hIHBpbmcga2VlcC1hbGl2ZSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzgKK21zZ2lkICJTdXBwb3J0cyBtYWdpYyBjbG9zZSBjaGFyIgorbXNnc3RyICJPYnPFgnVnYSB6bmFrdSBtYWdpYy1jbG9zZSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzkKK21zZ2lkICJSZXNldCBkdWUgdG8gQ1BVIG92ZXJoZWF0IgorbXNnc3RyICJSZXNldCB6IHBvd29kdSBwcnplZ3J6YW5pYSBDUFUiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgwCittc2dpZCAiUG93ZXIgb3ZlciB2b2x0YWdlIgorbXNnc3RyICJOYWRtaWVybmUgbmFwacSZY2llIHphc2lsYW5pYSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODEKK21zZ2lkICJQb3dlciBiYWQvcG93ZXIgZmF1bHQiCittc2dzdHIgIkF3YXJpYSB6YXNpbGFuaWEiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgyCittc2dpZCAiUHJldGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIldjemVzbnkgbGltaXQgY3phc3UgKHcgc2VrdW5kYWNoKSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODMKK21zZ2lkICJTZXQgdGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIlVzdGF3aWVuaWUgbGltaXR1IGN6YXN1ICh3IHNla3VuZGFjaCkiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjg0Cittc2dpZCAiTm90IHRyaWdnZXIgcmVib290IgorbXNnc3RyICJCZXogd3l6d29sZW5pYSBwcnplxYJhZG93YW5pYSBzeXN0ZW11IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDAKK21zZ2lkICJmbGFnIG5hbWUiCittc2dzdHIgIm5hendhIGZsYWdpIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDEKK21zZ2lkICJmbGFnIGRlc2NyaXB0aW9uIgorbXNnc3RyICJvcGlzIGZsYWdpIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDIKK21zZ2lkICJmbGFnIHN0YXR1cyIKK21zZ3N0ciAic3RhbiBmbGFnaSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAzCittc2dpZCAiZmxhZyBib290IHN0YXR1cyIKK21zZ3N0ciAic3RhbiBmbGFnaSBwbyBzdGFyY2llIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDQKK21zZ2lkICJ3YXRjaGRvZyBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibmF6d2EgdXJ6xIVkemVuaWEgd2F0Y2hkb2ciCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZsYWc6ICVzIgorbXNnc3RyICJuaWV6bmFuYSBmbGFnYTogJXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE3NworbXNnaWQgIlNob3cgdGhlIHN0YXR1cyBvZiB0aGUgaGFyZHdhcmUgd2F0Y2hkb2cuXG4iCittc2dzdHIgIld5xZt3aWV0bGFuaWUgc3RhbnUgd2F0Y2hkb2dhIHNwcnrEmXRvd2Vnby5cbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTgwCittc2dpZCAiIgorIiAtZiwgLS1mbGFncyA8bGlzdD4gICAgIHByaW50IHNlbGVjdGVkIGZsYWdzIG9ubHlcbiIKKyIgLUYsIC0tbm9mbGFncyAgICAgICAgICBkb24ndCBwcmludCBpbmZvcm1hdGlvbiBhYm91dCBmbGFnc1xuIgorIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIGlkZW50aXR5IGluZm9ybWF0aW9uXG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIGZsYWdzIHRhYmxlXG4iCisiIC1PLCAtLW9uZWxpbmUgICAgICAgICAgcHJpbnQgYWxsIGluZm9ybWF0aW9uIG9uIG9uZSBsaW5lXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgb3V0cHV0IGNvbHVtbnMgb2YgdGhlIGZsYWdzXG4iCisiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0IGZvciBmbGFncyB0YWJsZVxuIgorIiAtVCwgLS1ub3RpbWVvdXRzICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIHRpbWVvdXRzXG4iCisiIC1zLCAtLXNldHRpbWVvdXQgPHNlYz4gc2V0IHdhdGNoZG9nIHRpbWVvdXRcbiIKKyIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICBwcmludCBvbmx5IGZsYWdzIHRhYmxlIChzYW1lIGFzIC1JIC1UKVxuIgorbXNnc3RyICIiCisiIC1mLCAtLWZsYWdzIDxsaXN0YT4gICAgd3lwaXNhbmllIHR5bGtvIHd5YnJhbnljaCBmbGFnXG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgYmV6IHd5cGlzeXdhbmlhIGluZm9ybWFjamkgbyBmbGFnYWNoXG4iCisiIC1JLCAtLW5vaWRlbnQgICAgICAgICAgYmV6IHd5cGlzeXdhbmlhIGluZm9ybWFjamkgaWRlbnR5ZmlrdWrEhWN5Y2ggd2F0Y2hkb2dhXG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgYmV6IHd5cGlzeXdhbmlhIG5hZ8WCw7N3a8OzdyBkbGEgdGFiZWxpIGZsYWdcbiIKKyIgLU8sIC0tb25lbGluZSAgICAgICAgICB3eXBpc2FuaWUgd3N6eXN0a2ljaCBpbmZvcm1hY2ppIHcgamVkbmVqIGxpbmlpXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICAga29sdW1ueSB3eWrFm2NpYSBkbGEgZmxhZ1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHN1cm93eSBmb3JtYXQgd3lqxZtjaWEgZGxhIHRhYmVsaSBmbGFnXG4iCisiIC1ULCAtLW5vdGltZW91dHMgICAgICAgYmV6IHd5cGlzeXdhbmlhIGxpbWl0w7N3IGN6YXN1IHdhdGNoZG9nYVxuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWs+IHVzdGF3aWVuaWUgbGltaXR1IGN6YXN1IHdhdGNoZG9nYVxuIgorIiAteCwgLS1mbGFncy1vbmx5ICAgICAgIHd5cGlzYW5pZSB0eWxrbyB0YWJlbGkgZmxhZyAoc3lub25pbSAtSSAtVClcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZWZhdWx0IGRldmljZSBpcyAlcy5cbiIKK21zZ3N0ciAiVXJ6xIVkemVuaWUgZG9tecWbbG5lIHRvICVzLlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxOTkKK21zZ2lkICJBdmFpbGFibGUgY29sdW1uczpcbiIKK21zZ3N0ciAiRG9zdMSZcG5lIGtvbHVtbnk6XG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biBmbGFncyAweCV4XG4iCittc2dzdHIgIiVzOiBuaWV6bmFuZSBmbGFnaSAweCV4XG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMxOSBzeXMtdXRpbHMvd2RjdGwuYzozNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhdGNoZG9nIGFscmVhZHkgaW4gdXNlLCB0ZXJtaW5hdGluZy4iCittc2dzdHIgIiVzOiB1cnrEhWR6ZW5pZSB3YXRjaGRvZyBqdcW8IHcgdcW8eWNpdSwgemFrb8WEY3plbmllLiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzMzIHN5cy11dGlscy93ZGN0bC5jOjQwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRpc2FybSB3YXRjaGRvZyIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gc2nEmSByb3picm9pxIcgd2F0Y2hkb2dhIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0aW1lb3V0IGZvciAlcyIKK21zZ3N0ciAibmllIG1vxbxuYSB1c3Rhd2nEhyBsaW1pdHUgY3phc3UgZGxhICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kLlxuIgorbXNnaWRfcGx1cmFsICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmRzLlxuIgorbXNnc3RyWzBdICJMaW1pdCBjemFzdSB6b3N0YcWCIHVzdGF3aW9ueSBuYSAlZCBzZWt1bmTEmS5cbiIKK21zZ3N0clsxXSAiTGltaXQgY3phc3Ugem9zdGHFgiB1c3Rhd2lvbnkgbmEgJWQgc2VrdW5keS5cbiIKK21zZ3N0clsyXSAiTGltaXQgY3phc3Ugem9zdGHFgiB1c3Rhd2lvbnkgbmEgJWQgc2VrdW5kLlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgd2F0Y2hkb2ciCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgdXp5c2thxIcgaW5mb3JtYWNqaSBvIHdhdGNoZG9ndSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY0IHN5cy11dGlscy93ZGN0bC5jOjQ2NyBzeXMtdXRpbHMvd2RjdGwuYzo0NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0xNHMgJTJpIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICIlLTE0cyAlMmkgc2Vjb25kc1xuIgorbXNnc3RyWzBdICIlLTE0cyAlMmkgc2VrdW5kYVxuIgorbXNnc3RyWzFdICIlLTE0cyAlMmkgc2VrdW5keVxuIgorbXNnc3RyWzJdICIlLTE0cyAlMmkgc2VrdW5kXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NQorbXNnaWQgIlRpbWVvdXQ6IgorbXNnc3RyICJMaW1pdCBjemFzdToiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2OAorbXNnaWQgIlByZS10aW1lb3V0OiIKK21zZ3N0ciAiV3N0xJlwbnkgbGltaXQgY3phc3U6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NzEKK21zZ2lkICJUaW1lbGVmdDoiCittc2dzdHIgIlBvem9zdGHFgnkgY3phczoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNQorbXNnaWQgIkRldmljZToiCittc2dzdHIgIlVyesSFZHplbmllOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA3Cittc2dpZCAiSWRlbnRpdHk6IgorbXNnc3RyICJOYXp3YToiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwOQorbXNnaWQgInZlcnNpb24iCittc2dzdHIgIndlcnNqYSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MworbXNnaWQgInpyYW0gZGV2aWNlIG5hbWUiCittc2dzdHIgIm5hendhIHVyesSFZHplbmlhIHpyYW0iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzQKK21zZ2lkICJsaW1pdCBvbiB0aGUgdW5jb21wcmVzc2VkIGFtb3VudCBvZiBkYXRhIgorbXNnc3RyICJsaW1pdCBuaWVza29tcHJlc293YW5laiBpbG/Fm2NpIGRhbnljaCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NQorbXNnaWQgInVuY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICJuaWVza29tcHJlc293YW55IHJvem1pYXIgemFwaXNhbnljaCBkYW55Y2giCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzYKK21zZ2lkICJjb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgInNrb21wcmVzb3dhbnkgcm96bWlhciB6YXBpc2FueWNoIGRhbnljaCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NworbXNnaWQgInRoZSBzZWxlY3RlZCBjb21wcmVzc2lvbiBhbGdvcml0aG0iCittc2dzdHIgInd5YnJhbnkgYWxnb3J5dG0ga29tcHJlc2ppIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc4Cittc2dpZCAibnVtYmVyIG9mIGNvbmN1cnJlbnQgY29tcHJlc3Mgb3BlcmF0aW9ucyIKK21zZ3N0ciAibGljemJhIGplZG5vY3plc255Y2ggb3BlcmFjamkga29tcHJlc2ppIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc5Cittc2dpZCAiZW1wdHkgcGFnZXMgd2l0aCBubyBhbGxvY2F0ZWQgbWVtb3J5IgorbXNnc3RyICJwdXN0ZSBzdHJvbnkgYmV6IHByenlkemllbG9uZWogcGFtacSZY2kiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODAKK21zZ2lkICJhbGwgbWVtb3J5IGluY2x1ZGluZyBhbGxvY2F0b3IgZnJhZ21lbnRhdGlvbiBhbmQgbWV0YWRhdGEgb3ZlcmhlYWQiCittc2dzdHIgImNhxYJhIHBhbWnEmcSHIHdyYXogeiBmcmFnbWVudGFjasSFIGFsb2thdG9yYSBpIG5hcnp1dGVtIG1ldGFkYW55Y2giCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODEKK21zZ2lkICJtZW1vcnkgbGltaXQgdXNlZCB0byBzdG9yZSBjb21wcmVzc2VkIGRhdGEiCittc2dzdHIgImxpbWl0IHBhbWnEmWNpIHXFvHl3YW5laiBkbyBwcnplY2hvd3l3YW5pYSBkYW55Y2ggc2tvbXByZXNvd2FueWNoIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgyCittc2dpZCAibWVtb3J5IHpyYW0gaGF2ZSBiZWVuIGNvbnN1bWVkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAicGFtacSZxIcgdcW8eXRhIHByemV6IHpyYW0gbmEgcHJ6ZWNob3d5d2FuaWUgZGFueWNoIHNrb21wcmVzb3dhbnljaCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MworbXNnaWQgIm51bWJlciBvZiBvYmplY3RzIG1pZ3JhdGVkIGJ5IGNvbXBhY3Rpb24iCittc2dzdHIgImxpY3piYSBvYmlla3TDs3cgem1pZ3Jvd2FueWNoIHByemV6IHVzcMOzam5pYW5pZSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzozNjMgc3lzLXV0aWxzL3pyYW1jdGwuYzozNzQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgbW1fc3RhdCIKK21zZ3N0ciAiTmllenJvenVtaWHFgnkgbW1fc3RhdCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorIiAlMSRzIC1yIDxkZXZpY2U+IFsuLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGRldmljZT4gLXMgPHNpemU+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbb3BjamVdIDx1cnrEhWR6ZW5pZT5cbiIKKyIgJTEkcyAtciA8dXJ6xIVkemVuaWU+IFsuLi5dXG4iCisiICUxJHMgW29wY2plXSAtZiB8IDx1cnrEhWR6ZW5pZT4gLXMgPHJvem1pYXI+XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTI3Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIHpyYW0gZGV2aWNlcy5cbiIKK21zZ3N0ciAiS29uZmlndXJhY2phIGkgc3Rlcm93YW5pZSB1cnrEhWR6ZW5pYW1pIHpyYW0uXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMwCittc2dpZCAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0ICAgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIHVzZVxuIgorbXNnc3RyICIgLWEsIC0tYWxnb3JpdGhtIGx6b3xsejQgICB3eWLDs3IgYWxnb3J5dG11IGtvbXByZXNqaVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgICBwb2Rhd2FuaWUgcm96bWlhcsOzdyB3IGJhanRhY2ggemFtaWFzdCBmb3JtYXR1IGx1ZHpraWVnb1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMgorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIGZpbmQgYSBmcmVlIGRldmljZVxuIgorbXNnc3RyICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICBvZG5hbGV6aWVuaWUgd29sbmVnbyB1cnrEhWR6ZW5pYVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMworbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIGJleiB3eXBpc3l3YW5pYSBuYWfFgsOzd2vDs3dcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzQKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICBjb2x1bW5zIHRvIHVzZSBmb3Igc3RhdHVzIG91dHB1dFxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0YT4gICAgICBrb2x1bW55IGRvIHVtaWVzemN6ZW5pYSB3IHd5asWbY2l1IHN0YW51XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM1Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgdXNlIHJhdyBzdGF0dXMgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICB1xbx5Y2llIHN1cm93ZWdvIGZvcm1hdHUgd3lqxZtjaWFcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzYKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgd3N6eXN0a2ljaCBwb2RhbnljaCB1cnrEhWR6ZcWEXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM3Cittc2dpZCAiIC1zLCAtLXNpemUgPHNpemU+ICAgICAgICAgZGV2aWNlIHNpemVcbiIKK21zZ3N0ciAiIC1zLCAtLXNpemUgPHJvem1pYXI+ICAgICAgcm96bWlhciB1cnrEhWR6ZW5pYVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzOAorbXNnaWQgIiAtdCwgLS1zdHJlYW1zIDxudW1iZXI+ICAgIG51bWJlciBvZiBjb21wcmVzc2lvbiBzdHJlYW1zXG4iCittc2dzdHIgIiAtdCwgLS1zdHJlYW1zIDxsaWN6YmE+ICAgIGxpY3piYSBzdHJ1bWllbmkga29tcHJlc3VqxIVjeWNoXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjA0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGFsZ29yaXRobTogJXMiCittc2dzdHIgIm5pZSBvYnPFgnVnaXdhbnkgYWxnb3J5dG06ICVzIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYyNgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdHJlYW1zIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6ZWFuYWxpem93YcSHIHN0cnVtaWVuaSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NDgKK21zZ2lkICJvcHRpb24gLS1maW5kIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxkZXZpY2U+IgorbXNnc3RyICJvcGNqZSAtLWZpbmQgd3lrbHVjemEgc2nEmSB6IDx1cnrEhWR6ZW5pZW0+IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NAorbXNnaWQgIm9ubHkgb25lIDxkZXZpY2U+IGF0IGEgdGltZSBpcyBhbGxvd2VkIgorbXNnc3RyICJkb3p3b2xvbmUgamVzdCB0eWxrbyA8dXJ6xIVkemVuaWU+IGplZG5vY3plxZtuaWUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjU3Cittc2dpZCAib3B0aW9ucyAtLWFsZ29yaXRobSBhbmQgLS1zdHJlYW1zIG11c3QgYmUgY29tYmluZWQgd2l0aCAtLXNpemUiCittc2dzdHIgIm9wY2plIC0tYWxnb3JpdGhtIG9yYXogLS1zdHJlYW1zIG11c3rEhSBiecSHIHBvxYLEhWN6b25lIHogLS1zaXplIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY4NyBzeXMtdXRpbHMvenJhbWN0bC5jOjcxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlc2V0IgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIHpyZXNldG93YcSHIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY5OCBzeXMtdXRpbHMvenJhbWN0bC5jOjcwNgorbXNnaWQgIm5vIGZyZWUgenJhbSBkZXZpY2UgZm91bmQiCittc2dzdHIgIm5pZSB6bmFsZXppb25vIHdvbG5lZ28gdXJ6xIVkemVuaWEgenJhbSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgbnVtYmVyIG9mIHN0cmVhbXMiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgdXN0YXdpxIcgbGljemJ5IHN0cnVtaWVuaSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYWxnb3JpdGhtIgorbXNnc3RyICIlczogbmllIHVkYcWCbyB1c3Rhd2nEhyBhbGdvcnl0bXUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGRpc2tzaXplICglanUgYnl0ZXMpIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIHVzdGF3acSHIHJvem1pYXJ1IGR5c2t1IChiYWp0w7N3OiAlanUpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjQ1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzIChhdXRvbWF0aWMgbG9naW4pXG4iCittc2dzdHIgIiVzJXMgKGF1dG9tYXR5Y3puZSB6YWxvZ293YW5pZSlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSByb290IGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVzOiBuaWUgbW/FvG5hIHptaWVuacSHIGthdGFsb2d1IGfFgsOzd25lZ28gJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHdvcmtpbmcgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiJXM6IG5pZSBtb8W8bmEgem1pZW5pxIcga2F0YWxvZ3Ugcm9ib2N6ZWdvICVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSBwcm9jZXNzIHByaW9yaXR5OiAlbSIKK21zZ3N0ciAiJXM6IG5pZSBtb8W8bmEgem1pZW5pxIcgcHJpb3J5dGV0dSBwcm9jZXN1OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGV4ZWMgJXM6ICVtIgorbXNnc3RyICIlczogbmllIG1vxbxuYSB3eXdvxYJhxIcgJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjU1NSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg0MSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg1MworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzAgdGVybS11dGlscy9hZ2V0dHkuYzoxNDE1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQzMworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDY5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ3OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE1MTYKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk3OCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeTogJW0iCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnp5ZHppZWxpxIcgcGFtacSZY2k6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjY4MAorbXNnaWQgImludmFsaWQgZGVsYXkgYXJndW1lbnQiCittc2dzdHIgImLFgsSZZG5hIHdhcnRvxZvEhyBvcMOzxbpuaWVuaWEiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzE5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtLWxvY2FsLWxpbmUiCittc2dzdHIgImLFgsSZZG55IGFyZ3VtZW50IG9wY2ppIC0tbG9jYWwtbGluZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3MzgKK21zZ2lkICJpbnZhbGlkIG5pY2UgYXJndW1lbnQiCittc2dzdHIgImLFgsSZZG5hIHdhcnRvxZvEhyBwcmlvcnl0ZXR1IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3BlZWQ6ICVzIgorbXNnc3RyICJixYLEmWRuYSBzenlia2/Fm8SHOiAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzcKK21zZ2lkICJ0b28gbWFueSBhbHRlcm5hdGUgc3BlZWRzIgorbXNnc3RyICJ6Ynl0IGR1xbxvIHphbWllbm55Y2ggc3p5YmtvxZtjaSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDA2IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAxMCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IG9wZW4gYXMgc3RhbmRhcmQgaW5wdXQ6ICVtIgorbXNnc3RyICIvZGV2LyVzOiBuaWUgbW/FvG5hIG90d29yennEhyBqYWtvIHN0YW5kYXJkb3dlIHdlasWbY2llOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIGNoYXJhY3RlciBkZXZpY2UiCittc2dzdHIgIi9kZXYvJXM6IHRvIG5pZSBqZXN0IHVyesSFZHplbmllIHpuYWtvd2UiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAzMQorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSB0dHkiCittc2dzdHIgIi9kZXYvJXM6IHRvIG5pZSBqZXN0IHRlcm1pbmFsIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzUgdGVybS11dGlscy9hZ2V0dHkuYzoxMDY3CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBnZXQgY29udHJvbGxpbmcgdHR5OiAlbSIKK21zZ3N0ciAiL2Rldi8lczogbmllIG1vxbxuYSB1enlza2HEhyB0ZXJtaW5hbGEgc3RlcnVqxIVjZWdvOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IHZoYW5ndXAoKSBmYWlsZWQ6ICVtIgorbXNnc3RyICIvZGV2LyVzOiB2aGFuZ3VwKCkgbmllIHBvd2lvZMWCbyBzacSZOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3Qgb3BlbiBmb3IgcmVhZC93cml0ZSIKK21zZ3N0ciAiJXM6IG5pZSBqZXN0IG90d2FydGUgZG8gb2Rjenl0dSBpIHphcGlzdSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBzZXQgcHJvY2VzcyBncm91cDogJW0iCittc2dzdHIgIi9kZXYvJXM6IG5pZSBtb8W8bmEgdXN0YXdpxIcgZ3J1cHkgcHJvY2Vzw7N3OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkdXAgcHJvYmxlbTogJW0iCittc2dzdHIgIiVzOiBwcm9ibGVtIHogZHVwOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIHBvYnJhxIcgYXRyeWJ1dMOzdyB0ZXJtaW5hbGE6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzMjEgdGVybS11dGlscy9hZ2V0dHkuYzoxMzQxCisjLCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgdGVybWluYWwgYXR0cmlidXRlcyBmYWlsZWQ6ICVtIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgdXN0YXdpxIcgYXRyeWJ1dMOzdyB0ZXJtaW5hbGE6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NTkKK21zZ2lkICJjYW5ub3Qgb3BlbiBvcy1yZWxlYXNlIGZpbGUiCittc2dzdHIgIm5pZSBtb8W8bmEgb3R3b3J6ecSHIHBsaWt1IG9zLXJlbGVhc2UiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTYzNworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHJlbG9hZCBmaWxlOiAlczogJW0iCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB1dHdvcnp5xIcgcGxpa3UgcHJ6ZcWCYWRvd2FuaWE6ICVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzM2Cittc2dpZCAiW3ByZXNzIEVOVEVSIHRvIGxvZ2luXSIKK21zZ3N0ciAiW3Byb3N6xJkgbmFjaXNuxIXEhyBFTlRFUiB3IGNlbHUgemFsb2dvd2FuaWFdIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjAKK21zZ2lkICJOdW0gTG9jayBvZmYiCittc2dzdHIgIk51bSBMb2NrIHd5xYLEhWN6b255IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjMKK21zZ2lkICJOdW0gTG9jayBvbiIKK21zZ3N0ciAiTnVtIExvY2sgd8WCxIVjem9ueSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzY2Cittc2dpZCAiQ2FwcyBMb2NrIG9uIgorbXNnc3RyICJDYXBzIExvY2sgd8WCxIVjem9ueSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzY5Cittc2dpZCAiU2Nyb2xsIExvY2sgb24iCittc2dzdHIgIlNjcm9sbCBMb2NrIHfFgsSFY3pvbnkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc3MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSGludDogJXNcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlV3YWdhOiAlc1xuIgorIlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQ6ICVtIgorbXNnc3RyICIlczogcmVhZDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk1OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5wdXQgb3ZlcnJ1biIKK21zZ3N0ciAiJXM6IHByemVwZcWCbmllbmllIHdlasWbY2lhIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NzQgdGVybS11dGlscy9hZ2V0dHkuYzoxOTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciBjb252ZXJzaW9uIGZvciBsb2dpbiBuYW1lIgorbXNnc3RyICIlczogYsWCxJlkbmEga29ud2Vyc2phIHpuYWt1IGRsYSBuYXp3eSB1xbx5dGtvd25pa2EiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgMHgleCBpbiBsb2dpbiBuYW1lIgorbXNnc3RyICIlczogYsWCxJlkbnkgem5hayAweCV4IHcgbmF6d2llIHXFvHl0a293bmlrYSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIHVzdGF3acSHIGF0cnlidXTDs3cgdGVybWluYWxhOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGxpbmU+IFs8YmF1ZF9yYXRlPiwuLi5dIFs8dGVybXR5cGU+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8YmF1ZF9yYXRlPiwuLi4gPGxpbmU+IFs8dGVybXR5cGU+XVxuIgorbXNnc3RyICIiCisiICUxJHMgW29wY2plXSA8bGluaWE+IFs8c3p5YmtvxZvEhz4sLi4uXSBbPHR5cF90ZXJtaW5hbGE+XVxuIgorIiAlMSRzIFtvcGNqZV0gPHN6eWJrb8WbxIc+LC4uLiA8bGluaWE+IFs8dHlwX3Rlcm1pbmFsYT5dXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExMworbXNnaWQgIk9wZW4gYSB0ZXJtaW5hbCBhbmQgc2V0IGl0cyBtb2RlLlxuIgorbXNnc3RyICJPdHdvcnplbmllIHRlcm1pbmFsYSBpIHVzdGF3aWVuaWUgamVnbyB0cnlidS5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE2Cittc2dpZCAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIGFzc3VtZSA4LWJpdCB0dHlcbiIKK21zZ3N0ciAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgICAgcHJ6eWrEmWNpZSB0ZXJtaW5hbGEgOC1iaXRvd2Vnb1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTcKK21zZ2lkICIgLWEsIC0tYXV0b2xvZ2luIDx1c2VyPiAgICAgbG9naW4gdGhlIHNwZWNpZmllZCB1c2VyIGF1dG9tYXRpY2FsbHlcbiIKK21zZ3N0ciAiIC1hLCAtLWF1dG9sb2dpbiA8dcW8eXRrb3duaWs+IGF1dG9tYXR5Y3puZSB6YWxvZ293YW5pZSBwb2RhbmVnbyB1xbx5dGtvd25pa2FcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE4Cittc2dpZCAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGRvIG5vdCByZXNldCBjb250cm9sIG1vZGVcbiIKK21zZ3N0ciAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgICAgYmV6IHJlc2V0b3dhbmlhIHRyeWJ1IHN0ZXJ1asSFY2Vnb1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTkKK21zZ2lkICIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAgdXNlIC1yIDxob3N0bmFtZT4gZm9yIGxvZ2luKDEpXG4iCittc2dzdHIgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICAgIHXFvHljaWUgLXIgPGhvc3Q+IGRsYSBwcm9ncmFtdSBsb2dpbigxKVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjAKK21zZ2lkICIgLWYsIC0taXNzdWUtZmlsZSA8ZmlsZT4gICAgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiAtZiwgLS1pc3N1ZS1maWxlIDxwbGlrPiAgICAgIHd5xZt3aWV0bGVuaWUgcGxpa3Ugd3lkYW5pYSAoaXNzdWUpXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMQorbXNnaWQgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBlbmFibGUgaGFyZHdhcmUgZmxvdyBjb250cm9sXG4iCittc2dzdHIgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICAgIHfFgsSFY3plbmllIHNwcnrEmXRvd2VqIGtvbnRyb2xpIHByemVwxYJ5d3VcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIyCittc2dpZCAiIC1ILCAtLWhvc3QgPGhvc3RuYW1lPiAgICAgIHNwZWNpZnkgbG9naW4gaG9zdFxuIgorbXNnc3RyICIgLUgsIC0taG9zdCA8aG9zdD4gICAgICAgICAgICBwb2RhbmllIGhvc3RhIGxvZ293YW5pYVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjMKK21zZ2lkICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgZG8gbm90IGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgICBiZXogd3nFm3dpZXRsYW5pYSBwbGlrdSB3eWRhbmlhIChpc3N1ZSlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI0Cittc2dpZCAiIC1JLCAtLWluaXQtc3RyaW5nIDxzdHJpbmc+IHNldCBpbml0IHN0cmluZ1xuIgorbXNnc3RyICIgLUksIC0taW5pdC1zdHJpbmcgPMWCYcWEY3VjaD4gIHBvZGFuaWUgxYJhxYRjdWNoYSBpbmljanVqxIVjZWdvXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNQorbXNnaWQgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICBkbyBub3QgY2xlYXIgdGhlIHNjcmVlbiBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICAgIGJleiBjenlzemN6ZW5pYSBla3JhbnUgcHJ6ZWQgd3lwaXNhbmllbSB6YWNoxJl0eVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjYKK21zZ2lkICIgLWwsIC0tbG9naW4tcHJvZ3JhbSA8ZmlsZT4gc3BlY2lmeSBsb2dpbiBwcm9ncmFtXG4iCittc2dzdHIgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxwbGlrPiAgIG9rcmXFm2xlbmllIHByb2dyYW11IGxvZ2luXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNworbXNnaWQgIiAtTCwgLS1sb2NhbC1saW5lWz08bW9kZT5dICBjb250cm9sIHRoZSBsb2NhbCBsaW5lIGZsYWdcbiIKK21zZ3N0ciAiIC1MLCAtLWxvY2FsLWxpbmVbPTx0cnliPl0gICAgc3Rlcm93YW5pZSBmbGFnxIUgbGluaWkgbG9rYWxuZWpcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI4Cittc2dpZCAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCittc2dzdHIgIiAtbSwgLS1leHRyYWN0LWJhdWQgICAgICAgICAgIHd5Y2nEhWduacSZY2llIHN6eWJrb8WbY2kgdyBib2RhY2ggcHJ6eSBwb8WCxIVjemVuaXVcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI5Cittc2dpZCAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGRvIG5vdCBwcm9tcHQgZm9yIGxvZ2luXG4iCittc2dzdHIgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICAgIGJleiBweXRhbmlhIG8gbmF6d8SZIGxvZ293YW5pYVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzAKK21zZ2lkICIgLU4gIC0tbm9uZXdsaW5lICAgICAgICAgICAgZG8gbm90IHByaW50IGEgbmV3bGluZSBiZWZvcmUgaXNzdWVcbiIKK21zZ3N0ciAiIC1OICAtLW5vbmV3bGluZSAgICAgICAgICAgICAgYmV6IHd5cGlzeXdhbmlhIHpuYWt1IG5vd2VqIGxpbmlpIHByemVkIGlzc3VlXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMQorbXNnaWQgIiAtbywgLS1sb2dpbi1vcHRpb25zIDxvcHRzPiBvcHRpb25zIHRoYXQgYXJlIHBhc3NlZCB0byBsb2dpblxuIgorbXNnc3RyICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8b3BjamU+ICBvcGNqZSBwcnpla2F6eXdhbmUgZG8gcHJvZ3JhbXUgbG9naW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMyCittc2dpZCAiIC1wLCAtLWxvZ2luLXBhdXNlICAgICAgICAgIHdhaXQgZm9yIGFueSBrZXkgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgICBvY3pla2l3YW5pZSBuYSBkb3dvbG55IGtsYXdpc3ogcHJ6ZWQgbG9nb3dhbmllbVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzMKK21zZ2lkICIgLXIsIC0tY2hyb290IDxkaXI+ICAgICAgICAgY2hhbmdlIHJvb3QgdG8gdGhlIGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXIsIC0tY2hyb290IDxrYXRhbG9nPiAgICAgICB6bWlhbmEga2F0YWxvZ3UgZ8WCw7N3bmVnbyBuYSBwb2RhbnlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM0Cittc2dpZCAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgIGRvIHZpcnR1YWxseSBoYW5ndXAgb24gdGhlIHR0eVxuIgorbXNnc3RyICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgICB3aXJ0dWFsbmUgcm96xYLEhWN6ZW5pZSBuYSB0ZXJtaW5hbHVcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM1Cittc2dpZCAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIHRyeSB0byBrZWVwIGJhdWQgcmF0ZSBhZnRlciBicmVha1xuIgorbXNnc3RyICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgICB6YWNob3dhbmllIHN6eWJrb8WbY2kgdyBib2RhY2ggcG8gc3lnbmFsZSBicmVha1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzYKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8bnVtYmVyPiAgICAgbG9naW4gcHJvY2VzcyB0aW1lb3V0XG4iCittc2dzdHIgIiAtdCwgLS10aW1lb3V0IDxsaWN6YmE+ICAgICAgIGxpbWl0IGN6YXN1IHByb2Nlc3UgbG9naW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM3Cittc2dpZCAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKK21zZ3N0ciAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgICAgd3lrcnl3YW5pZSB0ZXJtaW5hbGEgeiBzYW15bWkgd2llbGtpbWkgbGl0ZXJhbWlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM4Cittc2dpZCAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIHdhaXQgY2FycmlhZ2UtcmV0dXJuXG4iCittc2dzdHIgIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICAgIG9jemVraXdhbmllIG5hIHpuYWsgcG93cm90dSBrYXJldGtpIChDUilcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM5Cittc2dpZCAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIGRvIG5vdCBwcmludCBoaW50c1xuIgorbXNnc3RyICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAgICBiZXogd3lwaXN5d2FuaWEgcG9kcG93aWVkemlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQwCittc2dpZCAiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgIG5vIGhvc3RuYW1lIGF0IGFsbCB3aWxsIGJlIHNob3duXG4iCittc2dzdHIgIiAgICAgLS1ub2hvc3RuYW1lICAgICAgICAgICAgIGJleiB3ecWbd2lldGxhbmlhIG5hend5IGhvc3RhXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MQorbXNnaWQgIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICBzaG93IGZ1bGwgcXVhbGlmaWVkIGhvc3RuYW1lXG4iCittc2dzdHIgIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICAgIHd5xZt3aWV0bGVuaWUgcGXFgm5laiBuYXp3eSBob3N0YSAoeiBkb21lbsSFKVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDIKK21zZ2lkICIgICAgIC0tZXJhc2UtY2hhcnMgPHN0cmluZz4gYWRkaXRpb25hbCBiYWNrc3BhY2UgY2hhcnNcbiIKK21zZ3N0ciAiICAgICAtLWVyYXNlLWNoYXJzIDzFgmHFhGN1Y2g+ICBkb2RhdGtvd2Ugem5ha2kga2FzdWrEhWNlIChiYWNrc3BhY2UpXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MworbXNnaWQgIiAgICAgLS1raWxsLWNoYXJzIDxzdHJpbmc+ICBhZGRpdGlvbmFsIGtpbGwgY2hhcnNcbiIKK21zZ3N0ciAiICAgICAtLWtpbGwtY2hhcnMgPMWCYcWEY3VjaD4gICBkb2RhdGtvd2Ugem5ha2kga2FzdWrEhWNlIGxpbmnEmSAoa2lsbClcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ0Cittc2dpZCAiICAgICAtLWNoZGlyIDxkaXJlY3Rvcnk+ICAgIGNoZGlyIGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiICAgICAtLWNoZGlyIDxrYXRhbG9nPiAgICAgICAgem1pYW5hIGthdGFsb2d1IHByemVkIGxvZ293YW5pZW1cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ1Cittc2dpZCAiICAgICAtLWRlbGF5IDxudW1iZXI+ICAgICAgIHNsZWVwIHNlY29uZHMgYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIgICAgIC0tZGVsYXkgPGxpY3piYT4gICAgICAgICBvY3pla2l3YW5pZSAodyBzZWt1bmRhY2gpIHByemVkIHphY2jEmXTEhVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDYKK21zZ2lkICIgICAgIC0tbmljZSA8bnVtYmVyPiAgICAgICAgcnVuIGxvZ2luIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIgICAgIC0tbmljZSA8bGljemJhPiAgICAgICAgICB1cnVjaG9taWVuaWUgcHJvZ3JhbXUgbG9naW4geiBwb2RhbnltIHByaW9yeXRldGVtXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NworbXNnaWQgIiAgICAgLS1yZWxvYWQgICAgICAgICAgICAgICByZWxvYWQgcHJvbXB0cyBvbiBydW5uaW5nIGFnZXR0eSBpbnN0YW5jZXNcbiIKK21zZ3N0ciAiICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgICAgcHJ6ZcWCYWRvd2FuaWUgemFjaMSZdCB3IGR6aWHFgmFqxIVjeWNoIGluc3RhbmNqYWNoXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0OAorbXNnaWQgIiAgICAgLS1oZWxwICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAgICB3ecWbd2lldGxlbmllIHRlZ28gb3Bpc3UgaSB6YWtvxYRjemVuaWVcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ5Cittc2dpZCAiICAgICAtLXZlcnNpb24gICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICAgIHd5cGlzYW5pZSBpbmZvcm1hY2ppIG8gd2Vyc2ppIGkgemFrb8WEY3plbmllXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCB1c2VyIgorbXNnaWRfcGx1cmFsICIlZCB1c2VycyIKK21zZ3N0clswXSAiJWQgdcW8eXRrb3duaWsiCittc2dzdHJbMV0gIiVkIHXFvHl0a293bmljeSIKK21zZ3N0clsyXSAiJWQgdcW8eXRrb3duaWvDs3ciCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICJjaGVja25hbWUgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2hlY2tuYW1lIG5pZSBwb3dpb2TFgm8gc2nEmTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdG91Y2ggZmlsZSAlcyIKK21zZ3N0ciAibmllIG1vxbxuYSBkb3RrbsSFxIcgcGxpa3UgJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYyNQorbXNnaWQgIi0tcmVsb2FkIGlzIHVuc3VwcG9ydGVkIG9uIHlvdXIgc3lzdGVtIgorbXNnc3RyICItLXJlbG9hZCBuaWUgamVzdCBvYnPFgnVnaXdhbmUgdyB0eW0gc3lzdGVtaWUiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3kgfCBuXVxuIgorbXNnc3RyICIgJXMgW29wY2plXSBbeSB8IG5dXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc4Cittc2dpZCAiQ29udHJvbCB3cml0ZSBhY2Nlc3Mgb2Ygb3RoZXIgdXNlcnMgdG8geW91ciB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiU3Rlcm93YW5pZSBwcmF3ZW0gemFwaXN1IGlubnljaCB1xbx5dGtvd25pa8OzdyBuYSB0ZXJtaW5hbC5cbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6ODEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgIG9waXN5d2FuaWUgd3lrb255d2FueWNoIGN6eW5ub8WbY2lcbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTI1Cittc2dpZCAidHR5bmFtZSBmYWlsZWQiCittc2dzdHIgInR0eW5hbWUgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzQKK21zZ2lkICJpcyB5IgorbXNnc3RyICJqZXN0IHfFgsSFY3pvbmUgKHkpIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzcKK21zZ2lkICJpcyBuIgorbXNnc3RyICJqZXN0IHd5xYLEhWN6b25lIChuKSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTQ4IHRlcm0tdXRpbHMvbWVzZy5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2UgJXMgbW9kZSBmYWlsZWQiCittc2dzdHIgInptaWFuYSB1cHJhd25pZcWEICVzIG5pZSBwb3dpb2TFgmEgc2nEmSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTUwCittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgYWxsb3dlZCIKK21zZ3N0ciAiemFwaXMgbmEgdGVybWluYWwgdcW8eXRrb3duaWthIGplc3QgZG96d29sb255IgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNTcKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBkZW5pZWQiCittc2dzdHIgInphcGlzIG5hIHRlcm1pbmFsIHXFvHl0a293bmlrYSBqZXN0IG5pZWRvendvbG9ueSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJixYLEmWRueSBhcmd1bWVudDogJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVdXG4iCittc2dzdHIgIiAlcyBbb3BjamVdIFtwbGlrXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2MgorbXNnaWQgIk1ha2UgYSB0eXBlc2NyaXB0IG9mIGEgdGVybWluYWwgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiVXR3b3J6ZW5pZSBza3J5cHR1IHogc2VzamkgdGVybWluYWxvd2VqLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NQorbXNnaWQgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgYXBwZW5kIHRoZSBvdXRwdXRcbiIKKyIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gcnVuIGNvbW1hbmQgcmF0aGVyIHRoYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgcmV0dXJuIGV4aXQgY29kZSBvZiB0aGUgY2hpbGQgcHJvY2Vzc1xuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICBydW4gZmx1c2ggYWZ0ZXIgZWFjaCB3cml0ZVxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICB1c2Ugb3V0cHV0IGZpbGUgZXZlbiB3aGVuIGl0IGlzIGEgbGlua1xuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICBiZSBxdWlldFxuIgorIiAtdCwgLS10aW1pbmdbPTxmaWxlPl0gICBvdXRwdXQgdGltaW5nIGRhdGEgdG8gc3RkZXJyIChvciB0byBGSUxFKVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgZG/FgsSFY3plbmllIHd5asWbY2lhXG4iCisiIC1jLCAtLWNvbW1hbmQgPHBvbGVjZW5pZT4gdXJ1Y2hvbWllbmllIHBvbGVjZW5pYSB6YW1pYXN0IHBvd8WCb2tpIGludGVyYWt0eXduZWpcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgICB6d3LDs2NlbmllIGtvZHUgd3lqxZtjaWEgcHJvY2VzdSBwb3RvbW5lZ29cbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAgICB3eXdvxYJhbmllIGZsdXNoIHBvIGthxbxkeW0gemFwaXNpZVxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICAgIHXFvHljaWUgcGxpa3Ugd3lqxZtjaW93ZWdvIG5hd2V0IGdkeSBqZXN0IGRvd2nEhXphbmllbVxuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHRyeWIgY2ljaHlcbiIKKyIgLXQsIC0tdGltaW5nWz08cGxpaz5dICAgICB3eXBpc2FuaWUgZGFueWNoIGN6YXNvd3ljaCBuYSBzdGRlcnIgKGx1YiBkbyBwbGlrdSlcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICB3eXBpc2FuaWUgaW5mb3JtYWNqaSBvIHdlcnNqaSBpIHpha2/FhGN6ZW5pZVxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIHd5xZt3aWV0bGVuaWUgdGVnbyBvcGlzdSBpIHpha2/FhGN6ZW5pZVxuIgorIlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisib3V0cHV0IGZpbGUgYCVzJyBpcyBhIGxpbmtcbiIKKyJVc2UgLS1mb3JjZSBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LlxuIgorIlByb2dyYW0gbm90IHN0YXJ0ZWQuIgorbXNnc3RyICIiCisicGxpayB3eWrFm2Npb3d5IGAlcycgamVzdCBkb3dpxIV6YW5pZW0uXG4iCisiUHJvc3rEmSB1xbx5xIcgb3BjamkgLS1mb3JjZSwgamXFvGVsaSBuYXByYXdkxJkgbWEgYnkgdcW8eXR5LlxuIgorIlNrcnlwdCBuaWUgdXJ1Y2hvbWlvbnkuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgZG9uZSwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICJTa3J5cHQgd3lrb25hbnksIHBsaWsgdG8gJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyNjIKK21zZ2lkICJjYW5ub3Qgd3JpdGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIm5pZSBtb8W8bmEgemFwaXNhxIcgcGxpa3Ugc2tyeXB0dSIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlc2phIHByemVyd2FuYS5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXMiCittc2dzdHIgIlNrcnlwdCB1cnVjaG9taW9ueSAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNjcmlwdCBkb25lIG9uICVzIgorbXNnc3RyICIiCisiXG4iCisiU2tyeXB0IHd5a29uYW55ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYwNworbXNnaWQgImZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHBvYnJhxIcgYXRyeWJ1dMOzdyB0ZXJtaW5hbGEiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjE0Cittc2dpZCAib3BlbnB0eSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjY1MgorbXNnaWQgIm91dCBvZiBwdHkncyIKK21zZ3N0ciAiYnJhayB3b2xueWNoIHB0eSIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo3NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiU2tyeXB0IHVydWNob21pb255LCBwbGlrIHRvICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstdF0gdGltaW5nZmlsZSBbdHlwZXNjcmlwdF0gW2Rpdmlzb3JdXG4iCittc2dzdHIgIiVzIFstdF0gcGxpa19jemFzw7N3IFtza3J5cHRdIFtkemllbG5pa11cbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0NworbXNnaWQgIlBsYXkgYmFjayB0ZXJtaW5hbCB0eXBlc2NyaXB0cywgdXNpbmcgdGltaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJPZHR3b3J6ZW5pZSBza3J5cHR1IHNlc2ppIHRlcm1pbmFsb3dlaiB6IHXFvHljaWVtIGluZm9ybWFjamkgbyBjemFzaWUuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NTAKK21zZ2lkICIiCisiIC10LCAtLXRpbWluZyA8ZmlsZT4gICAgIHNjcmlwdCB0aW1pbmcgb3V0cHV0IGZpbGVcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA8ZmlsZT4gc2NyaXB0IHRlcm1pbmFsIHNlc3Npb24gb3V0cHV0IGZpbGVcbiIKKyIgLWQsIC0tZGl2aXNvciA8bnVtPiAgICAgc3BlZWQgdXAgb3Igc2xvdyBkb3duIGV4ZWN1dGlvbiB3aXRoIHRpbWUgZGl2aXNvclxuIgorIiAtbSwgLS1tYXhkZWxheSA8bnVtPiAgICB3YWl0IGF0IG1vc3QgdGhpcyBtYW55IHNlY29uZHMgYmV0d2VlbiB1cGRhdGVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyIgLXQsIC0tdGltaW5nIDxwbGlrPiAgICAgcGxpayB3eWrFm2Npb3d5IGN6YXPDs3cgc2tyeXB0dVxuIgorIiAtcywgLS10eXBlc2NyaXB0IDxwbGlrPiBwbGlrIHd5asWbY2lvd3kgc2VzamkgdGVybWluYWxhIHNrcnlwdHVcbiIKKyIgLWQsIC0tZGl2aXNvciA8aWxlPiAgICAgcHJ6eXNwaWVzemVuaWUgbHViIHp3b2xuaWVuaWUgd3lrb255d2FuaWEgdHlsZSByYXp5XG4iCisiIC1tLCAtLW1heGRlbGF5IDxpbGU+ICAgIG9jemVraXdhbmllIG5hand5xbxlaiB0eWx1IHNla3VuZCBtacSZZHp5IHptaWFuYW1pXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIHd5cGlzYW5pZSBpbmZvcm1hY2ppIG8gd2Vyc2ppIGkgemFrb8WEY3plbmllXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIHd5xZt3aWV0bGVuaWUgdGVnbyBvcGlzdSBpIHpha2/FhGN6ZW5pZVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExMgorbXNnaWQgIndyaXRlIHRvIHN0ZG91dCBmYWlsZWQiCittc2dzdHIgInphcGlzIG5hIHN0YW5kYXJkb3dlIHd5asWbY2llIG5pZSBwb3dpw7NkxYIgc2nEmSIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSBvbiAlcyIKK21zZ3N0ciAibmllb2N6ZWtpd2FueSBrb25pZWMgcGxpa3UgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHR5cGVzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIG9kY3p5dGHEhyBwbGlrdSBza3J5cHR1ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE4NAorbXNnaWQgIndyb25nIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgImLFgsSZZG5hIGxpY3piYSBhcmd1bWVudMOzdyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGltaW5nIGZpbGUgJXMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBvZGN6eXRhxIcgcGxpa3UgY3phc8OzdyAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltaW5nIGZpbGUgJXM6IGxpbmUgJWx1OiB1bmV4cGVjdGVkIGZvcm1hdCIKK21zZ3N0ciAicGxpayBjemFzw7N3ICVzOiBsaW5pYSAlbHU6IG5pZXNwb2R6aWV3YW55IGZvcm1hdCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgImFyZ3VtZW50IGVycm9yOiBicmlnaHQgJXMgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiYsWCxIVkIGFyZ3VtZW50dTogamFzbm/Fm8SHICVzIG5pZSBqZXN0IG9ic8WCdWdpd2FuYSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI4Cittc2dpZCAidG9vIG1hbnkgdGFicyIKK21zZ3N0ciAiemJ5dCBkdcW8byB0YWJ1bGFjamkiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MworbXNnaWQgIlNldCB0aGUgYXR0cmlidXRlcyBvZiBhIHRlcm1pbmFsLlxuIgorbXNnc3RyICJVc3Rhd2llbmllIGF0cnlidXTDs3cgdGVybWluYWxhLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODYKK21zZ2lkICIgLS10ZXJtICAgICAgICAgIDx0ZXJtaW5hbF9uYW1lPiAgIG92ZXJyaWRlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIC0tdGVybSAgICAgICAgICA8bmF6d2FfdGVybWluYWxhPiBuYWRwaXNhbmllIHptaWVubmVqIMWbcm9kb3dpc2tvd2VqIFRFUk1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg3Cittc2dpZCAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCB0byBwb3dlci1vbiBzdGF0ZVxuIgorbXNnc3RyICIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsYSBkbyBzdGFudSBwbyB3xYLEhWN6ZW5pdVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODgKK21zZ2lkICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5pdCBzdHJpbmcsIGFuZCB1c2UgZGVmYXVsdCBzZXR0aW5nc1xuIgorbXNnc3RyICIiCisiIC0taW5pdGlhbGl6ZSAgICAgICAgICAgICAgICAgICAgICB3ecWbd2lldGxlbmllIMWCYcWEY3VjaGEgaW5pY2p1asSFY2VnbyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdcW8eWNpZSB1c3Rhd2llxYQgZG9tecWbbG55Y2hcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg5Cittc2dpZCAiIC0tZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgZGVmYXVsdCB0ZXJtaW5hbCBzZXR0aW5nc1xuIgorbXNnc3RyICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHXFvHljaWUgZG9tecWbbG55Y2ggdXN0YXdpZcWEIHRlcm1pbmFsYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTAKK21zZ2lkICIgLS1zdG9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhdmUgY3VycmVudCB0ZXJtaW5hbCBzZXR0aW5ncyBhcyBkZWZhdWx0XG4iCittc2dzdHIgIiAtLXN0b3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgemFwaXNhbmllIG9iZWNueWNoIHVzdGF3aWXFhCBqYWtvIGRvbXnFm2xueWNoXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MQorbXNnaWQgIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAgZGlzcGxheSBjdXJzb3JcbiIKK21zZ3N0ciAiIC0tY3Vyc29yICAgICAgICBbb258b2ZmICAgICAgICAgICB3ecWbd2lldGxhbmllIGt1cnNvcmFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkyCittc2dpZCAiIC0tcmVwZWF0ICAgICAgICBbb258b2ZmXSAgICAgICAgICBrZXlib2FyZCByZXBlYXRcbiIKK21zZ3N0ciAiIC0tcmVwZWF0ICAgICAgICBbb258b2ZmXSAgICAgICAgICBwb3d0YXJ6YW5pZSBrbGF3aXN6eVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTMKK21zZ2lkICIgLS1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdICAgICAgICAgIGN1cnNvciBrZXkgYXBwbGljYXRpb24gbW9kZVxuIgorbXNnc3RyICIgLS1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdICAgICAgICAgIHRyeWIgYXBsaWthY2ppIGtsYXdpc3p5IGt1cnNvcmFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk0Cittc2dpZCAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBjb250aW51ZSBvbiBhIG5ldyBsaW5lIHdoZW4gYSBsaW5lIGlzIGZ1bGxcbiIKK21zZ3N0ciAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBrb250eW51YWNqYSB3IG5vd2VqIGxpbmlpIHBvIHphcGXFgm5pZW5pdVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTUKK21zZ2lkICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIHN3YXAgY29sb3JzIGZvciB0aGUgd2hvbGUgc2NyZWVuXG4iCittc2dzdHIgIiAtLWludmVyc2VzY3JlZW4gW29ufG9mZl0gICAgICAgICAgemFtaWFuYSBrb2xvcsOzdyBkbGEgY2HFgmVnbyBla3JhbnVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk2Cittc2dpZCAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgZm9yZWdyb3VuZCBjb2xvclxuIgorbXNnc3RyICIgLS1mb3JlZ3JvdW5kICAgIGRlZmF1bHR8PGtvbG9yPiAgIHVzdGF3aWVuaWUga29sb3J1IHRla3N0dVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTcKK21zZ2lkICIgLS1iYWNrZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBiYWNrZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8a29sb3I+ICAgdXN0YXdpZW5pZSBrb2xvcnUgdMWCYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTgKK21zZ2lkICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCB1bmRlcmxpbmVkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIC0tdWxjb2xvciAgICAgICBbYnJpZ2h0XSA8a29sb3I+ICB1c3Rhd2llbmllIGtvbG9ydSB0ZWtzdHUgcG9ka3JlxZtsb25lZ29cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk5Cittc2dpZCAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgYm9sZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiAtLWhiY29sb3IgICAgICAgW2JyaWdodF0gPGtvbG9yPiAgdXN0YXdpZW5pZSBrb2xvcnUgdGVrc3R1IHBvZ3J1YmlvbmVnb1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDAKK21zZ2lkICIgICAgICAgICAgICAgICAgIDxjb2xvcj46IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgIDxrb2xvcj46IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDEKK21zZ2lkICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJvbGRcbiIKK21zZ3N0ciAiIC0tYm9sZCAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBwb2dydWJpZW5pZVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDIKK21zZ2lkICIgLS1oYWxmLWJyaWdodCAgIFtvbnxvZmZdICAgICAgICAgIGRpbVxuIgorbXNnc3RyICIgLS1oYWxmLWJyaWdodCAgIFtvbnxvZmZdICAgICAgICAgIHByenl0xYJ1bWllbmllXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMworbXNnaWQgIiAtLWJsaW5rICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYmxpbmtcbiIKK21zZ3N0ciAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBtaWdvdGFuaWVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA0Cittc2dpZCAiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICB1bmRlcmxpbmVcbiIKK21zZ3N0ciAiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICBwb2RrcmXFm2xlbmllXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNQorbXNnaWQgIiAtLXJldmVyc2UgICAgICAgW29ufG9mZl0gICAgICAgICAgc3dhcCBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9yc1xuIgorbXNnc3RyICIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgIHphbWlhbmEga29sb3LDs3cgdGVrc3R1IGkgdMWCYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDYKK21zZ2lkICIgLS1jbGVhciAgICAgICAgIFthbGx8cmVzdF0gICAgICAgIGNsZWFyIHNjcmVlbiBhbmQgc2V0IGN1cnNvciBwb3NpdGlvblxuIgorbXNnc3RyICIgLS1jbGVhciAgICAgICAgIFthbGx8cmVzdF0gICAgICAgIHd5Y3p5c3pjemVuaWUgZWtyYW51IGkgdXN0YXdpZW5pZSBrdXJzb3JhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNworbXNnaWQgIiAtLXRhYnMgICAgICAgICAgWzxudW1iZXI+Li4uXSAgICAgc2V0IHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3Igc2hvdyB0aGVtXG4iCittc2dzdHIgIiAtLXRhYnMgICAgICAgICAgWzxsaWN6YmE+Li4uXSAgICAgdXN0YXdpZW5pZSBsdWIgd3lwaXNhbmllIHBvenljamkgdGFidWxhY2ppXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOAorbXNnaWQgIiAtLWNscnRhYnMgICAgICAgWzxudW1iZXI+Li4uXSAgICAgY2xlYXIgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBhbGxcbiIKK21zZ3N0ciAiIC0tY2xydGFicyAgICAgICBbPGxpY3piYT4uLi5dICAgICBza2Fzb3dhbmllIHBvZGFueWNoIGx1YiB3c3p5c3RraWNoIHRhYnVsYWNqaVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDkKK21zZ2lkICIgLS1yZWd0YWJzICAgICAgIFsxLTE2MF0gICAgICAgICAgIHNldCBhIHJlZ3VsYXIgdGFiIHN0b3AgaW50ZXJ2YWxcbiIKK21zZ3N0ciAiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICB1c3Rhd2llbmllIHLDs3dueWNoIG9kc3TEmXDDs3cgdGFidWxhY2ppXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMAorbXNnaWQgIiAtLWJsYW5rICAgICAgICAgWzAtNjB8Zm9yY2V8cG9rZV0gc2V0IHRpbWUgb2YgaW5hY3Rpdml0eSBiZWZvcmUgc2NyZWVuIGJsYW5rc1xuIgorbXNnc3RyICIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIGN6YXMgbmllYWt0eXdub8WbY2kgcHJ6ZWQgd3lnYXN6ZW5pZW0gZWtyYW51XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMQorbXNnaWQgIiAtLWR1bXAgICAgICAgICAgWzxudW1iZXI+XSAgICAgICAgd3JpdGUgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiAtLWR1bXAgICAgICAgICAgWzxudW1lcj5dICAgICAgICAgemFwaXMgenJ6dXQga29uc29saSB2Y3NhPG51bWVyPiBkbyBwbGlrdVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTIKK21zZ2lkICIgLS1hcHBlbmQgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIGFwcGVuZCB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIC0tYXBwZW5kICAgICAgICBbPG51bWVyPl0gICAgICAgICBkb3Bpc2FuaWUgenJ6dXR1IGtvbnNvbGkgdmNzYTxudW1lcj4gZG8gcGxpa3VcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEzCittc2dpZCAiIC0tZmlsZSAgICAgICAgICA8ZmlsZW5hbWU+ICAgICAgICBuYW1lIG9mIHRoZSBkdW1wIGZpbGVcbiIKK21zZ3N0ciAiIC0tZmlsZSAgICAgICAgICA8bmF6d2FfcGxpa3U+ICAgICBuYXp3YSBwbGlrdSB6cnp1dHVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE0Cittc2dpZCAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBzZW5kIGtlcm5lbCBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtLW1zZyAgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgd3lzecWCYW5pZSBrb211bmlrYXTDs3cgasSFZHJhIG5hIGtvbnNvbMSZXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNQorbXNnaWQgIiAtLW1zZ2xldmVsICAgICAgMC04ICAgICAgICAgICAgICAga2VybmVsIGNvbnNvbGUgbG9nIGxldmVsXG4iCittc2dzdHIgIiAtLW1zZ2xldmVsICAgICAgMC04ICAgICAgICAgICAgICAgcG96aW9tIGxvZ293YW5pYSBqxIVkcmEgbmEga29uc29sxJlcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE2Cittc2dpZCAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKK21zZ3N0ciAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE3Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQgdmVzYSBwb3dlcnNhdmluZyBmZWF0dXJlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzdGF3aWVuaWUgb3Bjamkgb3N6Y3rEmWR6YW5pYSBlbmVyZ2lpIFZFU0FcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE4Cittc2dpZCAiIC0tcG93ZXJkb3duICAgICBbMC02MF0gICAgICAgICAgICBzZXQgdmVzYSBwb3dlcmRvd24gaW50ZXJ2YWwgaW4gbWludXRlc1xuIgorbXNnc3RyICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIGxpY3piYSBtaW51dCBkbyB3ecWCxIVjemVuaWEgbW9uaXRvcmEgVkVTQVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTkKK21zZ2lkICIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIGR1cmF0aW9uIG9mIHRoZSBiZWxsIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIGN6YXMgdHJ3YW5pYSBkendvbmthIHcgbWlsaXNla3VuZGFjaFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjAKK21zZ2lkICIgLS1iZnJlcSAgICAgICAgIDxudW1iZXI+ICAgICAgICAgIGJlbGwgZnJlcXVlbmN5IGluIEhlcnR6XG4iCittc2dzdHIgIiAtLWJmcmVxICAgICAgICAgPGxpY3piYT4gICAgICAgICAgY3rEmXN0b3RsaXdvxZvEhyBkendvbmthIHcgaGVyY2FjaFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjEKK21zZ2lkICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIHNob3cgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIHd5cGlzYW5pZSBpbmZvcm1hY2ppIG8gd2Vyc2ppIGkgemFrb8WEY3plbmllXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMgorbXNnaWQgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgICAgICB3ecWbd2lldGxlbmllIHRlZ28gb3Bpc3UgaSB6YWtvxYRjemVuaWVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDMwCittc2dpZCAiZHVwbGljYXRlIHVzZSBvZiBhbiBvcHRpb24iCittc2dzdHIgInBvd3TDs3J6b25lIHXFvHljaWUgb3BjamkiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjczNAorbXNnaWQgImNhbm5vdCBmb3JjZSBibGFuayIKK21zZ3N0ciAibmllIG1vxbxuYSB3eW11c2nEhyB3eWdhc3plbmlhIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MzkKK21zZ2lkICJjYW5ub3QgZm9yY2UgdW5ibGFuayIKK21zZ3N0ciAibmllIG1vxbxuYSB3eW11c2nEhyBicmFrdSB3eWdhc3plbmlhIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NDUKK21zZ2lkICJjYW5ub3QgZ2V0IGJsYW5rIHN0YXR1cyIKK21zZ3N0ciAibmllIG1vxbxuYSBvZGN6eXRhxIcgc3RhbnUgd3lnYXN6ZW5pYSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzcxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbiBub3Qgb3BlbiBkdW1wIGZpbGUgJXMgZm9yIG91dHB1dCIKK21zZ3N0ciAibmllIG1vxbxuYSBvdHdvcnp5xIcgcGxpa3UgenJ6dXR1ICVzIGRvIHphcGlzdSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODEzCisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsICVzIGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgInRlcm1pbmFsICVzIG5pZSBvYnPFgnVndWplICVzIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo5ODgKK21zZ2lkICJjYW5ub3QgKHVuKXNldCBwb3dlcnNhdmUgbW9kZSIKK21zZ3N0ciAibmllIG1vxbxuYSB3xYLEhWN6ecSHL3d5xYLEhWN6ecSHIHRyeWJ1IG9zemN6xJlkemFuaWEgZW5lcmdpaSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTAwNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDE2Cittc2dpZCAia2xvZ2N0bCBlcnJvciIKK21zZ3N0ciAiYsWCxIVkIGtsb2djdGwiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwMzcKK21zZ2lkICIkVEVSTSBpcyBub3QgZGVmaW5lZC4iCittc2dzdHIgIk5pZSB6ZGVmaW5pb3dhbm8gJFRFUk0uIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDQ0Cittc2dpZCAidGVybWluZm8gZGF0YWJhc2UgY2Fubm90IGJlIGZvdW5kIgorbXNnc3RyICJuaWUgem5hbGV6aW9ubyBiYXp5IGRhbnljaCB0ZXJtaW5mbyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biB0ZXJtaW5hbCB0eXBlIgorbXNnc3RyICIlczogbmllem5hbnkgdHlwIHN5Z25hxYJ1IgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDQ4Cittc2dpZCAidGVybWluYWwgaXMgaGFyZGNvcHkiCittc2dzdHIgInRlcm1pbmFsIG8gdHJ3YcWCeW0gemFwaXNpZSIKKworIzogdGVybS11dGlscy90dHltc2cuYzo4MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdG9vIG1hbnkgaW92J3MiCittc2dzdHIgImLFgsSFZCB3ZXduxJl0cnpueTogemEgZHXFvG8gaW92IgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImV4Y2Vzc2l2ZWx5IGxvbmcgbGluZSBhcmciCittc2dzdHIgInpieXQgZMWCdWdpIGFyZ3VtZW50IgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVuIGZhaWxlZCIKK21zZ3N0ciAib3R3YXJjaWUgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJmb3JrOiAlbSIKK21zZ3N0ciAiZm9yazogJW0iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmb3JrIgorbXNnc3RyICJuaWUgbW/FvG5hIHd5a29uYcSHIGZvcmsiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCQUQgRVJST1IsIG1lc3NhZ2UgaXMgZmFyIHRvbyBsb25nIgorbXNnc3RyICIlczogWsWBWSBCxYHEhEQsIGtvbXVuaWthdCBqZXN0IG8gd2llbGUgemEgZMWCdWdpIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gfCA8bWVzc2FnZT5dXG4iCittc2dzdHIgIiAlcyBbb3BjamVdIFs8cGxpaz4gfCA8a29tdW5pa2F0Pl1cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODYKK21zZ2lkICJXcml0ZSBhIG1lc3NhZ2UgdG8gYWxsIHVzZXJzLlxuIgorbXNnc3RyICJOYXBpc2FuaWUga29tdW5pa2F0dSBkbyB3c3p5c3RraWNoIHXFvHl0a293bmlrw7N3LlxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4OQorbXNnaWQgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBkbyBub3QgcHJpbnQgYmFubmVyLCB3b3JrcyBvbmx5IGZvciByb290XG4iCittc2dzdHIgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBiZXogd3lwaXN5d2FuaWEgbmFnxYLDs3drYSwgdHlsa28gZGxhIHJvb3RhXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjkwCittc2dpZCAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZW91dCA8bGltaXQ+ICAgbGltaXQgY3phc3UgemFwaXN1IHcgc2VrdW5kYWNoXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEzMgorbXNnaWQgIi0tbm9iYW5uZXIgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIHJvb3QiCittc2dzdHIgIi0tbm9iYW5uZXIgamVzdCBkb3N0xJlwbmUgdHlsa28gZGxhIHJvb3RhIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiYsWCxJlkbmEgd2FydG/Fm8SHIGxpbWl0dSBjemFzdTogJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjI2OQorbXNnaWQgImNhbm5vdCBnZXQgcGFzc3dkIHVpZCIKK21zZ3N0ciAibmllIG1vxbxuYSBwb2JyYcSHIGlkZW50eWZpa2F0b3JhIHXFvHl0a293bmlrYSB6IHBhc3N3ZCIKKworIzogdGVybS11dGlscy93YWxsLmM6Mjc0Cittc2dpZCAiY2Fubm90IGdldCB0dHkgbmFtZSIKK21zZ3N0ciAibmllIG1vxbxuYSBwb2JyYcSHIG5hend5IHRlcm1pbmFsYSIKKworIzogdGVybS11dGlscy93YWxsLmM6Mjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXNAJXMgKCVzKSAoJXMpOiIKK21zZ3N0ciAiWmJpb3Jvd3kga29tdW5pa2F0IG9kIHXFvHl0a293bmlrYSAlc0AlcyAoJXMpICglcyk6IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgcmVhZCAlcyAtIHVzZSBzdGRpbi4iCittc2dzdHIgIm9kbW93YSBjenl0YW5pYSAlcyAtIHXFvHl0ZSBixJlkemllIHN0YW5kYXJkb3dlIHdlasWbY2llLiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHVzZXI+IFs8dHR5bmFtZT5dXG4iCittc2dzdHIgIiAlcyBbb3BjamVdIDx1xbx5dGtvd25paz4gWzxuYXp3YSB0ZXJtaW5hbGE+XVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6OTAKK21zZ2lkICJTZW5kIGEgbWVzc2FnZSB0byBhbm90aGVyIHVzZXIuXG4iCittc2dzdHIgIld5c8WCYW5pZSBrb211bmlrYXR1IGRvIGlubmVnbyB1xbx5dGtvd25pa2EuXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoxMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZWZmZWN0aXZlIGdpZCBkb2VzIG5vdCBtYXRjaCBncm91cCBvZiAlcyIKK21zZ3N0ciAiZWZla3R5d255IGdpZCBuaWUgcGFzdWplIGRvIGdydXB5ICVzIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4iCittc2dzdHIgIiVzIG5pZSBqZXN0IHphbG9nb3dhbnkiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDcKK21zZ2lkICJjYW4ndCBmaW5kIHlvdXIgdHR5J3MgbmFtZSIKK21zZ3N0ciAibmllIHpuYWxlemlvbm8gbmF6d3kgdHR5IgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCIKK21zZ3N0ciAiJXMgbWEgd3nFgsSFY3pvbmUga29tdW5pa2F0eSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBsb2dnZWQgaW4gbW9yZSB0aGFuIG9uY2U7IHdyaXRpbmcgdG8gJXMiCittc2dzdHIgIiVzIGplc3QgemFsb2dvd2FueSB3acSZY2VqIG5pxbwgcmF6OyBuYXBpc2FubyBuYSAlcyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIzOAorbXNnaWQgImNhcmVmdWxwdXRjIGZhaWxlZCIKK21zZ3N0ciAiY2FyZWZ1bHB1dGMgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyAoYXMgJXMpIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIktvbXVuaWthdCBvZCAlc0AlcyAoamFrbyAlcykgbmEgJXMgbyAlMDJkOiUwMmQuLi4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIktvbXVuaWthdCBvZCAlc0AlcyBuYSAlcyBvICUwMmQ6JTAyZC4uLiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjMzMQorbXNnaWQgInlvdSBoYXZlIHdyaXRlIHBlcm1pc3Npb24gdHVybmVkIG9mZiIKK21zZ3N0ciAicHJhd28gemFwaXN1IHXFvHl0a293bmlrYSBqZXN0IHd5xYLEhWN6b25lIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4gb24gJXMiCittc2dzdHIgIiVzIG5pZSBqZXN0IHphbG9nb3dhbnkgbmEgJXMiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIG9uICVzIgorbXNnc3RyICIlcyBtYSB3ecWCxIVjem9uZSBrb211bmlrYXR5IG5hICVzIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzNAorbXNnaWQgIkZpbHRlciBvdXQgcmV2ZXJzZSBsaW5lIGZlZWRzLlxuIgorbXNnc3RyICJPZGZpbHRyb3dhbmllIGNvZmFuaWEgd2llcnN6eS5cbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAgZG8gbm90IG91dHB1dCBiYWNrc3BhY2VzXG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAgcGVybWl0IGZvcndhcmQgaGFsZiBsaW5lIGZlZWRzXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAgcGFzcyB1bmtub3duIGNvbnRyb2wgc2VxdWVuY2VzXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgY29udmVydCBzcGFjZXMgdG8gdGFic1xuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIGNvbnZlcnQgdGFicyB0byBzcGFjZXNcbiIKKyIgLWwsIC0tbGluZXMgTlVNICAgICAgICBidWZmZXIgYXQgbGVhc3QgTlVNIGxpbmVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLUgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiT3BjamU6XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAgYmV6IHd5cGlzeXdhbmlhIHpuYWvDs3cgY29mbmnEmWNpYSAoYmFja3NwYWNlKVxuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIHplendvbGVuaWUgbmEgcHJ6ZXN1bmnEmWNpYSBvIHDDs8WCIGxpbmlpIGRvIHByem9kdVxuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIHByemVrYXp5d2FuaWUgbmllem5hbnljaCBzZWt3ZW5jamkgc3RlcnVqxIVjeWNoXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgemFtaWFuYSBzcGFjamkgbmEgdGFidWxhY2plXG4iCisiIC14LCAtLXNwYWNlcyAgICAgICAgICAgemFtaWFuYSB0YWJ1bGFjamkgbmEgc3BhY2plXG4iCisiIC1sLCAtLWxpbmVzIExJQ1pCQSAgICAgYnVmb3Jvd2FuaWUgY28gbmFqbW5pZWogcG9kYW5laiBsaWN6YnkgbGluaWlcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICB3eXBpc2FuaWUgaW5mb3JtYWNqaSBvIHdlcnNqaSBpIHpha2/FhGN6ZW5pZVxuIgorIiAtSCwgLS1oZWxwICAgICAgICAgICAgIHd5xZt3aWV0bGVuaWUgdGVnbyBvcGlzdSBpIHpha2/FhGN6ZW5pZVxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE0OCB0ZXh0LXV0aWxzL2NvbHJtLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzIHJlYWRzIGZyb20gc3RhbmRhcmQgaW5wdXQgYW5kIHdyaXRlcyB0byBzdGFuZGFyZCBvdXRwdXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiVzIGN6eXRhIHplIHN0YW5kYXJkb3dlZ28gd2VqxZtjaWEgaSB6YXBpc3VqZSBuYSBzdGFuZGFyZG93ZSB3eWrFm2NpZVxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjIxMgorbXNnaWQgImJhZCAtbCBhcmd1bWVudCIKK21zZ3N0ciAiYsWCxJlkbnkgYXJndW1lbnQgLWwiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbid0IGJhY2sgdXAgJXMuIgorbXNnc3RyICJ1d2FnYTogbmllIG1vxbxuYSBjb2ZuxIXEhyAlcy4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM3Cittc2dpZCAicGFzdCBmaXJzdCBsaW5lIgorbXNnc3RyICJwbyBwaWVyd3N6ZWogbGluaWkiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM3Cittc2dpZCAiLS0gbGluZSBhbHJlYWR5IGZsdXNoZWQiCittc2dzdHIgIi0gbGluaWEganXFvCB6YXBpc2FuYSIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4MSB0ZXh0LXV0aWxzL2NvbHVtbi5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIiAlcyBbb3BjamVdIFs8cGxpaz4uLi5dXG4iCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODQKK21zZ2lkICJGaWx0ZXIgbnJvZmYgb3V0cHV0IGZvciBDUlQgcHJldmlld2luZy5cbiIKK21zZ3N0ciAiRmlsdHJvd2FuaWUgd3lqxZtjaWEgbnJvZmYgZG8gcG9kZ2zEhWR1IG5hIG1vbml0b3J6ZS5cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NworbXNnaWQgIiAtLCAgLS1uby11bmRlcmxpbmluZyAgICBzdXBwcmVzcyBhbGwgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIHBvbWluacSZY2llIHBvZGtyZcWbbGFuaWFcbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OAorbXNnaWQgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBwcmludCBhbGwgaGFsZi1saW5lc1xuIgorbXNnc3RyICIgLTIsIC0taGFsZi1saW5lcyAgICAgICAgd3lwaXNhbmllIHdzenlzdGtpY2ggbGluaWkgcG/FgsOzd2tvd3ljaFxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbc3RhcnRjb2wgW2VuZGNvbF1dXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTa8WCYWRuaWE6XG4iCisiICVzIFtrb2x1bW5hX3BvY3rEhXRrb3dhIFtrb2x1bW5hX2tvxYRjb3dhXV1cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjY0Cittc2dpZCAiRmlsdGVyIG91dCB0aGUgc3BlY2lmaWVkIGNvbHVtbnMuXG4iCittc2dzdHIgIk9kZmlsdHJvd2FuaWUgcG9kYW55Y2gga29sdW1uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg1Cittc2dpZCAiZmlyc3QgYXJndW1lbnQiCittc2dzdHIgInBpZXJ3c3p5IGFyZ3VtZW50IgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg3Cittc2dpZCAic2Vjb25kIGFyZ3VtZW50IgorbXNnc3RyICJkcnVnaSBhcmd1bWVudCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjAKK21zZ2lkICJDb2x1bW5hdGUgbGlzdHMuXG4iCittc2dzdHIgIld5cGlzeXdhbmllIGxpc3QgdyBrb2x1bW5hY2guXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTIzCittc2dpZCAiIC1jLCAtLWNvbHVtbnMgPHdpZHRoPiAgICB3aWR0aCBvZiBvdXRwdXQgaW4gbnVtYmVyIG9mIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbHVtbnMgPHN6ZXJva2/Fm8SHPiBzemVyb2tvxZvEhyB3eWrFm2NpYSB3IHpuYWthY2hcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjQKK21zZ2lkICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgIGNyZWF0ZSBhIHRhYmxlXG4iCittc2dzdHIgIiAtdCwgLS10YWJsZSAgICAgICAgICAgICAgIHV0d29yemVuaWUgdGFiZWxpXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI1Cittc2dpZCAiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiBwb3NzaWJsZSB0YWJsZSBkZWxpbWl0ZXJzXG4iCittc2dzdHIgIiAtcywgLS1zZXBhcmF0b3IgPMWCYcWEY3VjaD4gxYJhxYRjdWNoIHJvemR6aWVsYWrEhWN5IGRsYSB0YWJlbGlcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjYKK21zZ2lkICIiCisiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0cmluZz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnMgc2VwYXJhdG9yIGZvciB0YWJsZSBvdXRwdXQ7IGRlZmF1bHQgaXMgdHdvIHNwYWNlc1xuIgorbXNnc3RyICIiCisiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPMWCYcWEY3VjaD5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXBhcmF0b3Iga29sdW1uIHcgdGFiZWxpIG5hIHd5asWbY2l1OyBkb215xZtsbmllIGR3aWUgc3BhY2plXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI4Cittc2dpZCAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICBmaWxsIHJvd3MgYmVmb3JlIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICAgd3lwZcWCbmlhbmllIHdpZXJzenkgcHJ6ZWQga29sdW1uYW1pXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTgyCittc2dpZCAiaW52YWxpZCBjb2x1bW5zIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSBzemVyb2tvxZvEhyBrb2x1bW4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDIyCisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQgaXMgdG9vIGxvbmcsIG91dHB1dCB3aWxsIGJlIHRydW5jYXRlZCIKK21zZ3N0ciAibGluaWEgJWQgamVzdCB6Ynl0IGTFgnVnYSwgd3lqxZtjaWUgem9zdGFuaWUgdWNpxJl0ZSIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU1IHRleHQtdXRpbHMvbW9yZS5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPi4uLlxuIgorbXNnc3RyICIgJXMgW29wY2plXSA8cGxpaz4uLi5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU4Cittc2dpZCAiRGlzcGxheSBmaWxlIGNvbnRlbnRzIGluIGhleGFkZWNpbWFsLCBkZWNpbWFsLCBvY3RhbCwgb3IgYXNjaWkuXG4iCittc2dzdHIgIld5xZt3aWV0bGVuaWUgemF3YXJ0b8WbY2kgcGxpa3Ugc3plc25hc3Rrb3dvLCBkemllc2nEmXRuaWUsIMOzc2Vta293byBsdWIgdyBBU0NJSS5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYxCittc2dpZCAiIC1iLCAtLW9uZS1ieXRlLW9jdGFsICAgICAgb25lLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICB3ecWbd2lldGxhbmllIMOzc2Vta293ZSBqZWRub2JhanRvd2VcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYyCittc2dpZCAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgb25lLWJ5dGUgY2hhcmFjdGVyIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgd3nFm3dpZXRsYW5pZSB6bmFrb3dlIGplZG5vYmFqdG93ZVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjMKK21zZ2lkICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1DLCAtLWNhbm9uaWNhbCAgICAgICAgICAgd3nFm3dpZXRsYW5pZSBrYW5vbmljem5lIGhleCtBU0NJSVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjQKK21zZ2lkICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1kLCAtLXR3by1ieXRlcy1kZWNpbWFsICAgd3nFm3dpZXRsYW5pZSBkemllc2nEmXRuZSBkd3ViYWp0b3dlXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NQorbXNnaWQgIiAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIHR3by1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1vLCAtLXR3by1ieXRlcy1vY3RhbCAgICAgd3nFm3dpZXRsYW5pZSDDs3NlbWtvd2UgZHd1YmFqdG93ZVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjYKK21zZ2lkICIgLXgsIC0tdHdvLWJ5dGVzLWhleCAgICAgICB0d28tYnl0ZSBoZXhhZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgIHd5xZt3aWV0bGFuaWUgc3plc25hc3Rrb3dlIGR3dWJhanRvd2VcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY3Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08bW9kZT5dICAgICAgaW50ZXJwcmV0IGNvbG9yIGZvcm1hdHRpbmcgc3BlY2lmaWVyc1xuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTx0cnliPl0gICAgICBpbnRlcnByZXRvd2FuaWUga29sb3Jvd3ljaCBzZWt3ZW5jamkgZm9ybWF0dWrEhWN5Y2hcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcwCittc2dpZCAiIC1lLCAtLWZvcm1hdCA8Zm9ybWF0PiAgICAgZm9ybWF0IHN0cmluZyB0byBiZSB1c2VkIGZvciBkaXNwbGF5aW5nIGRhdGFcbiIKK21zZ3N0ciAiIC1lLCAtLWZvcm1hdCA8Zm9ybWF0PiAgICAgxYJhxYRjdWNoIGZvcm1hdHVqxIVjeSBkbyB3ecWbd2lldGxhbmlhIGRhbnljaFxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzEKK21zZ2lkICIgLWYsIC0tZm9ybWF0LWZpbGUgPGZpbGU+ICBmaWxlIHRoYXQgY29udGFpbnMgZm9ybWF0IHN0cmluZ3NcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcm1hdC1maWxlIDxwbGlrPiAgcGxpayB6YXdpZXJhasSFY3kgxYJhxYRjdWNoeSBmb3JtYXR1asSFY2VcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcyCittc2dpZCAiIC1uLCAtLWxlbmd0aCA8bGVuZ3RoPiAgICAgaW50ZXJwcmV0IG9ubHkgbGVuZ3RoIGJ5dGVzIG9mIGlucHV0XG4iCittc2dzdHIgIiAtbiwgLS1sZW5ndGggPGxpY3piYT4gICAgIGludGVycHJldGFjamEgdHlsa28gcG9kYW5laiBsaWN6YnkgYmFqdMOzdyB3ZWrFm2NpYVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzMKK21zZ2lkICIgLXMsIC0tc2tpcCA8b2Zmc2V0PiAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKK21zZ3N0ciAiIC1zLCAtLXNraXAgPGxpY3piYT4gICAgICAgcG9taW5pxJljaWUgcG9kYW5laiBsaWN6YnkgYmFqdMOzdyB6IHBvY3rEhXRrdVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzQKK21zZ2lkICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICBvdXRwdXQgaWRlbnRpY2FsIGxpbmVzXG4iCittc2dzdHIgIiAtdiwgLS1uby1zcXVlZXppbmcgICAgICAgIHd5cGlzeXdhbmllIGlkZW50eWN6bnljaCBsaW5paVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtZGlzcGxheS5jOjM2NQorbXNnaWQgImFsbCBpbnB1dCBmaWxlIGFyZ3VtZW50cyBmYWlsZWQiCittc2dzdHIgIndzenlzdGtpZSBwbGlraSBwcnpla2F6YW5lIGpha28gYXJndW1lbnR5IHphd2lvZMWCeSIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGJ5dGUgY291bnQgZm9yIGNvbnZlcnNpb24gY2hhcmFjdGVyICVzIgorbXNnc3RyICJixYLEmWRuYSBsaWN6YmEgYmFqdMOzdyBkbGEgem5ha3Uga29ud2Vyc2ppICVzIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlJXMgcmVxdWlyZXMgYSBwcmVjaXNpb24gb3IgYSBieXRlIGNvdW50IgorbXNnc3RyICIlJXMgd3ltYWdhIHBvZGFuaWEgcHJlY3l6amkgbHViIGxpY3pieSBiYWp0w7N3IgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgZm9ybWF0IHslc30iCittc2dzdHIgImLFgsSZZG55IGZvcm1hdCB7JXN9IgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo3MAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29udmVyc2lvbiBjaGFyYWN0ZXIgJSUlcyIKK21zZ3N0ciAiYsWCxJlkbnkgem5hayBrb253ZXJzamkgJSUlcyIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NDM2Cittc2dpZCAiYnl0ZSBjb3VudCB3aXRoIG11bHRpcGxlIGNvbnZlcnNpb24gY2hhcmFjdGVycyIKK21zZ3N0ciAibGljemJhIGJhanTDs3cgeiB3aWVsb21hIHpuYWthbWkga29ud2Vyc2ppIgorCisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozMworbXNnaWQgIlJlYWQgb25lIGxpbmUuXG4iCittc2dzdHIgIk9kY3p5dCBqZWRuZWogbGluaWkuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIyOAorbXNnaWQgIkEgZmlsZSBwZXJ1c2FsIGZpbHRlciBmb3IgQ1JUIHZpZXdpbmcuXG4iCittc2dzdHIgIkZpbHRyIGRvIGRva8WCYWRuZWdvIHByemVnbMSFZGFuaWEgcGxpa8OzdyBuYSBtb25pdG9yemUuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMQorbXNnaWQgIiAtZCAgICAgICAgICBkaXNwbGF5IGhlbHAgaW5zdGVhZCBvZiByaW5naW5nIGJlbGxcbiIKK21zZ3N0ciAiIC1kICAgICAgICAgIHd5xZt3aWV0bGVuaWUgcG9tb2N5IHphbWlhc3QgZHp3b25rYVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzIKK21zZ2lkICIgLWYgICAgICAgICAgY291bnQgbG9naWNhbCByYXRoZXIgdGhhbiBzY3JlZW4gbGluZXNcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgIGxpY3plbmllIGxpbmlpIGxvZ2ljem55Y2ggemFtaWFzdCBsaW5paSBla3JhbnVcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjMzCittc2dpZCAiIC1sICAgICAgICAgIHN1cHByZXNzIHBhdXNlIGFmdGVyIGZvcm0gZmVlZFxuIgorbXNnc3RyICIgLWwgICAgICAgICAgcG9taW5pxJljaWUgb2N6ZWtpd2FuaWEgcHJ6ZWQgcHJ6ZXdpbmnEmWNpZW0gc3Ryb255XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNAorbXNnaWQgIiAtYyAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBkaXNwbGF5IHRleHQgYW5kIGNsZWFuIGxpbmUgZW5kc1xuIgorbXNnc3RyICIgLWMgICAgICAgICAgYmV6IHByemV3aWphbmlhLCB3ecWbd2lldGxhbmllIHRla3N0dSBpIGN6eXN6Y3plbmllIGtvxYRjw7N3IGxpbmlpXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNQorbXNnaWQgIiAtcCAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBjbGVhbiBzY3JlZW4gYW5kIGRpc3BsYXkgdGV4dFxuIgorbXNnc3RyICIgLXAgICAgICAgICAgYmV6IHByemV3aWphbmlhLCBjenlzemN6ZW5pZSBla3JhbnUgaSB3ecWbd2lldGxhbmllIHRla3N0dVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzYKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIgLXMgICAgICAgICAgxZtjaXNrYW5pZSB3aWVsdSBwdXN0eWNoIGxpbmlpIHcgamVkbsSFXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNworbXNnaWQgIiAtdSAgICAgICAgICBzdXBwcmVzcyB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIgLXUgICAgICAgICAgcG9taW5pxJljaWUgcG9ka3JlxZtsYW5pYVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzgKK21zZ2lkICIgLTxudW1iZXI+ICAgdGhlIG51bWJlciBvZiBsaW5lcyBwZXIgc2NyZWVuZnVsXG4iCittc2dzdHIgIiAtPGxpY3piYT4gICBsaWN6YmEgbGluaWkgbmEgcGXFgm55IGVrcmFuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOQorbXNnaWQgIiArPG51bWJlcj4gICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gbGluZSBudW1iZXJcbiIKK21zZ3N0ciAiICs8bGljemJhPiAgIHd5xZt3aWV0bGVuaWUgcG9jesSFdGt1IHBsaWt1IG9kIHBvZGFuZWdvIG51bWVydSBsaW5paVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDAKK21zZ2lkICIgKy88c3RyaW5nPiAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIHNlYXJjaCBzdHJpbmcgbWF0Y2hcbiIKK21zZ3N0ciAiICsvPMWCYcWEY3VjaD4gd3nFm3dpZXRsZW5pZSBwb2N6xIV0a3UgcGxpa3Ugb2QgZG9wYXNvd2FuaWEgcG9kYW5lZ28gxYJhxYRjdWNoYVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDEKK21zZ2lkICIgLVYgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAtViAgICAgICAgICB3eXBpc2FuaWUgaW5mb3JtYWNqaSBvIHdlcnNqaSBpIHpha2/FhGN6ZW5pZVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcHRpb24gLSVzIgorbXNnc3RyICJuaWV6bmFuYSBvcGNqYSAtJXMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjUwOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqICVzOiBkaXJlY3RvcnkgKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKiogJXM6IGthdGFsb2cgKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqKioqKiogJXM6IE5vdCBhIHRleHQgZmlsZSAqKioqKioqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqKioqKiogJXM6IE5pZSBqZXN0IHBsaWtpZW0gdGVrc3Rvd3ltICoqKioqKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjY0NQorIywgYy1mb3JtYXQKK21zZ2lkICJbVXNlIHEgb3IgUSB0byBxdWl0XSIKK21zZ3N0ciAiW0tsYXdpc3ogcSBsdWIgUSBrb8WEY3p5XSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tTW9yZS0tIgorbXNnc3RyICItLVdpxJljZWotLSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzI2CisjLCBjLWZvcm1hdAorbXNnaWQgIihOZXh0IGZpbGU6ICVzKSIKK21zZ3N0ciAiKE5hc3TEmXBueSBwbGlrOiAlcykiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjczNAorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3Mgc3BhY2UgdG8gY29udGludWUsICdxJyB0byBxdWl0Ll0iCittc2dzdHIgIltTcGFjamEga29udHludXVqZSwgJ3EnIGtvxYRjenkuXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTE2MgorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5iYWNrICVkIHBhZ2UiCittc2dpZF9wbHVyYWwgIi4uLmJhY2sgJWQgcGFnZXMiCittc2dzdHJbMF0gIi4uLndzdGVjeiBvICVkIHN0cm9uxJkiCittc2dzdHJbMV0gIi4uLndzdGVjeiBvICVkIHN0cm9ueSIKK21zZ3N0clsyXSAiLi4ud3N0ZWN6IG8gJWQgc3Ryb24iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc2tpcHBpbmcgJWQgbGluZSIKK21zZ2lkX3BsdXJhbCAiLi4uc2tpcHBpbmcgJWQgbGluZXMiCittc2dzdHJbMF0gIi4uLnBvbWlqYW5pZSAlZCBsaW5paSIKK21zZ3N0clsxXSAiLi4ucG9taWphbmllICVkIGxpbmlpIgorbXNnc3RyWzJdICIuLi5wb21pamFuaWUgJWQgbGluaWkiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNDgKK21zZ2lkICIiCisiXG4iCisiKioqQmFjayoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqV3N0ZWN6KioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNjMKK21zZ2lkICJObyBwcmV2aW91cyByZWd1bGFyIGV4cHJlc3Npb24iCittc2dzdHIgIkJyYWsgcG9wcnplZG5pZWdvIHd5cmHFvGVuaWEgcmVndWxhcm5lZ28iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyOTMKK21zZ2lkICIiCisiXG4iCisiTW9zdCBjb21tYW5kcyBvcHRpb25hbGx5IHByZWNlZGVkIGJ5IGludGVnZXIgYXJndW1lbnQgay4gIERlZmF1bHRzIGluIGJyYWNrZXRzLlxuIgorIlN0YXIgKCopIGluZGljYXRlcyBhcmd1bWVudCBiZWNvbWVzIG5ldyBkZWZhdWx0LlxuIgorbXNnc3RyICIiCisiXG4iCisiV2nEmWtzem/Fm8SHIHBvbGVjZcWEIG9wY2pvbmFsbmllIG1vxbxlIGJ5xIcgcG9wcnplZHpvbmEgbGljemLEhSBjYcWCa293aXTEhSBrIChkb215xZtsbmFcbiIKKyJ3IG5hd2lhc2FjaCkuXG4iCisiR3dpYXpka2EgKCopIG96bmFjemEgYXJndW1lbnQsIGt0w7NyeSBzdGFqZSBzacSZIG5vd8SFIHdhcnRvxZtjacSFIGRvbXnFm2xuxIUuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzMDAKK21zZ2lkICIiCisiPHNwYWNlPiAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXSpcbiIKKyI8cmV0dXJuPiAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFsxXSpcbiIKKyJkIG9yIGN0cmwtRCAgICAgICAgICAgICBTY3JvbGwgayBsaW5lcyBbY3VycmVudCBzY3JvbGwgc2l6ZSwgaW5pdGlhbGx5IDExXSpcbiIKKyJxIG9yIFEgb3IgPGludGVycnVwdD4gICBFeGl0IGZyb20gbW9yZVxuIgorInMgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIGxpbmVzIG9mIHRleHQgWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorImIgb3IgY3RybC1CICAgICAgICAgICAgIFNraXAgYmFja3dhcmRzIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIHBsYWNlIHdoZXJlIHByZXZpb3VzIHNlYXJjaCBzdGFydGVkXG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGxpbmUgbnVtYmVyXG4iCisiLzxyZWd1bGFyIGV4cHJlc3Npb24+ICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiByZWd1bGFyIGV4cHJlc3Npb24gWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiBsYXN0IHIuZSBbMV1cbiIKKyIhPGNtZD4gb3IgOiE8Y21kPiAgICAgICBFeGVjdXRlIDxjbWQ+IGluIGEgc3Vic2hlbGxcbiIKKyJ2ICAgICAgICAgICAgICAgICAgICAgICBTdGFydCB1cCAvdXNyL2Jpbi92aSBhdCBjdXJyZW50IGxpbmVcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICBSZWRyYXcgc2NyZWVuXG4iCisiOm4gICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIG5leHQgZmlsZSBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggcHJldmlvdXMgZmlsZSBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlclxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIFJlcGVhdCBwcmV2aW91cyBjb21tYW5kXG4iCittc2dzdHIgIiIKKyI8c3BhY2phPiAgICAgICAgICAgICAgIFd5xZt3aWV0bGVuaWUgbmFzdMSZcG55Y2ggayBsaW5paSB0ZWtzdHUgW3Jvem1pYXIgZWtyYW51XVxuIgorInogICAgICAgICAgICAgICAgICAgICAgV3nFm3dpZXRsZW5pZSBuYXN0xJlwbnljaCBrIGxpbmlpIHRla3N0dSBbcm96bWlhciBla3JhbnVdKlxuIgorIjxyZXR1cm4+ICAgICAgICAgICAgICAgV3nFm3dpZXRsZW5pZSBuYXN0xJlwbnljaCBrIGxpbmlpIHRla3N0dSBbMV0qXG4iCisiZCBsdWIgQ3RybC1EICAgICAgICAgICBQcnpld2luacSZY2llIGsgbGluaWkgW3Jvem1pYXIgcHJ6ZXdpamFuaWEsIHBvY3ouIDExXSpcbiIKKyJxLCBRIGx1YiA8cHJ6ZXJ3YW5pZT4gIFpha2/FhGN6ZW5pZSBtb3JlXG4iCisicyAgICAgICAgICAgICAgICAgICAgICBQcnpld2luacSZY2llIG8gayBsaW5paSB0ZWtzdHUgdyBwcnrDs2QgWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICBQcnpld2luacSZY2llIG8gayBla3JhbsOzdyB0ZWtzdHUgdyBwcnrDs2QgWzFdXG4iCisiYiBsdWIgQ3RybC1CICAgICAgICAgICBQcnpld2luacSZY2llIG8gayBla3JhbsOzdyB0ZWtzdHUgdyB0ecWCIFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgUHJ6ZWrFm2NpZSBkbyBtaWVqc2NhIHJvenBvY3rEmWNpYSBwb3Byei4gd3lzenVraXdhbmlhXG4iCisiPSAgICAgICAgICAgICAgICAgICAgICBXecWbd2lldGxlbmllIGJpZcW8xIVjZWdvIG51bWVydSBsaW5paVxuIgorIi88d3lyYcW8ZW5pZSByZWd1bGFybmU+IFN6dWthbmllIGsuIHd5c3TEhXBpZW5pYSB3eXJhxbxlbmlhIHJlZ3VsYXJuZWdvIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgU3p1a2FuaWUgay4gd3lzdMSFcGllbmlhIG9zdGF0bmllZ28gd3lyLiByZWd1bGFybmVnbyBbMV1cbiIKKyIhPHBvbGVjPiBsdWIgOiE8cG9sZWM+IFd5a29uYW5pZSA8cG9sZWNlbmlhPiB3IHBvZHBvd8WCb2NlXG4iCisidiAgICAgICAgICAgICAgICAgICAgICBVcnVjaG9taWVuaWUgL3Vzci9iaW4vdmkgbmEgYmllxbzEhWNlaiBsaW5paVxuIgorIkN0cmwtTCAgICAgICAgICAgICAgICAgT2RyeXNvd2FuaWUgZWtyYW51XG4iCisiOm4gICAgICAgICAgICAgICAgICAgICBQcnplasWbY2llIGRvIGsuIG5hc3TEmXBuZWdvIHBsaWt1IFsxXVxuIgorIjpwICAgICAgICAgICAgICAgICAgICAgUHJ6ZWrFm2NpZSBkbyBrLiBwb3ByemVkbmllZ28gcGxpa3UgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICBXecWbd2lldGxlbmllIGJpZcW8xIVjZWogbmF6d3kgcGxpa3UgaSBudW1lcnUgbGluaWlcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgIFBvd3TDs3J6ZW5pZSBwb3ByemVkbmllZ28gcG9sZWNlbmlhXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzNzMgdGV4dC11dGlscy9tb3JlLmM6MTM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3MgJ2gnIGZvciBpbnN0cnVjdGlvbnMuXSIKK21zZ3N0ciAiW0tsYXdpc3ogJ2gnIHd5xZt3aWV0bGEgb3Bpcy5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBsaW5lICVkIgorbXNnc3RyICJcIiVzXCIgbGluaWEgJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiW05vdCBhIGZpbGVdIGxpbmUgJWQiCittc2dzdHIgIltOaWUgcGxpa10gbGluaWEgJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0OTQKK21zZ2lkICIgIE92ZXJmbG93XG4iCittc2dzdHIgIiAgUHJ6ZXBlxYJuaWVuaWVcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU0MworbXNnaWQgIi4uLnNraXBwaW5nXG4iCittc2dzdHIgIi4uLnBvbWlqYW5pZVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTc3Cittc2dpZCAiIgorIlxuIgorIlBhdHRlcm4gbm90IGZvdW5kXG4iCittc2dzdHIgIiIKKyJcbiIKKyJOaWUgem5hbGV6aW9ubyB3em9yY2FcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU4MyB0ZXh0LXV0aWxzL3BnLmM6MTAyNyB0ZXh0LXV0aWxzL3BnLmM6MTE3MworbXNnaWQgIlBhdHRlcm4gbm90IGZvdW5kIgorbXNnc3RyICJOaWUgem5hbGV6aW9ubyB3em9yY2EiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2MjkKK21zZ2lkICJleGVjIGZhaWxlZFxuIgorbXNnc3RyICJleGVjIG5pZSBwb3dpb2TFgm8gc2nEmVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjQzCittc2dpZCAiY2FuJ3QgZm9ya1xuIgorbXNnc3RyICJuaWUgbW/FvG5hIHd5a29uYcSHIGZvcmtcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY3NworbXNnaWQgIiIKKyJcbiIKKyIuLi5Ta2lwcGluZyAiCittc2dzdHIgIiIKKyJcbiIKKyIuLi5Qcnpld2lqYW5pZSAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2ODEKK21zZ2lkICIuLi5Ta2lwcGluZyB0byBmaWxlICIKK21zZ3N0ciAiLi4uUHJ6ZWrFm2NpZSBkbyBwbGlrdSAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2ODMKK21zZ2lkICIuLi5Ta2lwcGluZyBiYWNrIHRvIGZpbGUgIgorbXNnc3RyICIuLi5QcnplasWbY2llIHdzdGVjeiBkbyBwbGlrdSAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE5NzMKK21zZ2lkICJMaW5lIHRvbyBsb25nIgorbXNnc3RyICJMaW5pYSB6Ynl0IGTFgnVnYSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjAxMAorbXNnaWQgIk5vIHByZXZpb3VzIGNvbW1hbmQgdG8gc3Vic3RpdHV0ZSBmb3IiCittc2dzdHIgIkJyYWsgcG9wcnplZG5pZWdvIHBvbGVjZW5pYSBkbyBwb2RzdGF3aWVuaWEiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNDQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBzY3JlZW5cbiIKKyIgIHEgb3IgUSAgICAgICAgICAgICAgICAgIHF1aXQgcHJvZ3JhbVxuIgorIiAgPG5ld2xpbmU+ICAgICAgICAgICAgICAgbmV4dCBwYWdlXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBza2lwIGEgcGFnZSBmb3J3YXJkXG4iCisiICBkIG9yIF5EICAgICAgICAgICAgICAgICBuZXh0IGhhbGZwYWdlXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBuZXh0IGxpbmVcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIGxhc3QgcGFnZVxuIgorIiAgL3JlZ2V4LyAgICAgICAgICAgICAgICAgc2VhcmNoIGZvcndhcmQgZm9yIHJlZ2V4XG4iCisiICA/cmVnZXg/IG9yIF5yZWdleF4gICAgICBzZWFyY2ggYmFja3dhcmQgZm9yIHJlZ2V4XG4iCisiICAuIG9yIF5MICAgICAgICAgICAgICAgICByZWRyYXcgc2NyZWVuXG4iCisiICB3IG9yIHogICAgICAgICAgICAgICAgICBzZXQgcGFnZSBzaXplIGFuZCBnbyB0byBuZXh0IHBhZ2VcbiIKKyIgIHMgZmlsZW5hbWUgICAgICAgICAgICAgIHNhdmUgY3VycmVudCBmaWxlIHRvIGZpbGVuYW1lXG4iCisiICAhY29tbWFuZCAgICAgICAgICAgICAgICBzaGVsbCBlc2NhcGVcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIHByZXZpb3VzIGZpbGVcbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIG5leHQgZmlsZVxuIgorIlxuIgorIk1hbnkgY29tbWFuZHMgYWNjZXB0IHByZWNlZGluZyBudW1iZXJzLCBmb3IgZXhhbXBsZTpcbiIKKyIrMTxuZXdsaW5lPiAobmV4dCBwYWdlKTsgLTE8bmV3bGluZT4gKHByZXZpb3VzIHBhZ2UpOyAxPG5ld2xpbmU+IChmaXJzdCBwYWdlKS5cbiIKKyJcbiIKKyJTZWUgcGcoMSkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgdGVuIGVrcmFuXG4iCisiICBxIGx1YiBRICAgICAgICAgICAgICAgICB6YWtvxYRjemVuaWUgcHJvZ3JhbXVcbiIKKyIgIDxub3dhIGxpbmlhPiAgICAgICAgICAgIG5hc3TEmXBuYSBzdHJvbmFcbiIKKyIgIGYgICAgICAgICAgICAgICAgICAgICAgIHByemV3aW5pxJljaWUgc3Ryb255IHcgcHJ6w7NkXG4iCisiICBkIGx1YiBeRCAgICAgICAgICAgICAgICBuYXN0xJlwbmUgcMOzxYIgc3Ryb255XG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBuYXN0xJlwbmEgbGluaWFcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIG9zdGF0bmlhIHN0cm9uYVxuIgorIiAgL3d5cl9yZWcvICAgICAgICAgICAgICAgc3p1a2FuaWUgd3lyYcW8ZW5pYSByZWd1bGFybmVnbyB3IHByesOzZFxuIgorIiAgP3d5cl9yZWc/IGx1YiBed3lyX3JlZ14gc3p1a2FuaWUgd3lyYcW8ZW5pYSByZWd1bGFybmVnbyB3IHR5xYJcbiIKKyIgIC4gbHViIF5MICAgICAgICAgICAgICAgIHByemVyeXNvd2FuaWUgZWtyYW51XG4iCisiICB3IGx1YiB6ICAgICAgICAgICAgICAgICB1c3Rhd2llbmllIHJvem1pYXJ1IHN0cm9ueSBpIHByemVqxZtjaWUgbmEgbmFzdMSZcG7EhVxuIgorIiAgcyBuYXp3YV9wbGlrdSAgICAgICAgICAgemFwaXNhbmllIGJpZcW8xIVjZWdvIHBsaWt1IHBvZCBwb2RhbsSFIG5henfEhVxuIgorIiAgIXBvbGVjZW5pZSAgICAgICAgICAgICAgd3l3b8WCYW5pZSBwb2xlY2VuaWEgdyBwb3fFgm9jZVxuIgorIiAgcCAgICAgICAgICAgICAgICAgICAgICAgcHJ6ZWrFm2NpZSBkbyBwb3ByemVkbmllZ28gcGxpa3VcbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIHByemVqxZtjaWUgZG8gbmFzdMSZcG5lZ28gcGxpa3VcbiIKKyJcbiIKKyJXaWVsZSBwb2xlY2XFhCBwcnp5am11amUgbGljemJ5IHBvcHJ6ZWR6YWrEhWNlLCBucC46XG4iCisiKzE8bm93YSBsaW5pYT4gKG5hc3TEmXBuYSBzdHJvbmEpOyAtMTxub3dhIGxpbmlhPiAocG9wcnplZG5pYSBzdHJvbmEpO1xuIgorIjE8bm93YSBsaW5pYT4gKHBpZXJ3c3phIHN0cm9uYSkuXG4iCisiXG4iCisiV2nEmWNlaiBpbmZvcm1hY2ppIG1vxbxuYSB6bmFsZcW6xIcgdyBwZygxKS5cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCittc2dzdHIgIiAlcyBbb3BjamVdIFsrbGluaWFdIFsrL3d6b3J6ZWMvXSBbcGxpa2ldXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMjYKK21zZ2lkICJCcm93c2UgcGFnZXdpc2UgdGhyb3VnaCB0ZXh0IGZpbGVzLlxuIgorbXNnc3RyICJQcnplZ2zEhWRhbmllIHBsaWvDs3cgdGVrc3Rvd3ljaCBwbyBzdHJvbmllLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjI5Cittc2dpZCAiIC1udW1iZXIgICAgICBsaW5lcyBwZXIgcGFnZVxuIgorbXNnc3RyICIgLWxpY3piYSAgICAgIGxpbmlpIG5hIHN0cm9uxJlcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMAorbXNnaWQgIiAtYyAgICAgICAgICAgY2xlYXIgc2NyZWVuIGJlZm9yZSBkaXNwbGF5aW5nXG4iCittc2dzdHIgIiAtYyAgICAgICAgICAgd3ljenlzemN6ZW5pZSBla3JhbnUgcHJ6ZWQgd3nFm3dpZXRsZW5pZW1cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMQorbXNnaWQgIiAtZSAgICAgICAgICAgZG8gbm90IHBhdXNlIGF0IGVuZCBvZiBhIGZpbGVcbiIKK21zZ3N0ciAiIC1lICAgICAgICAgICBiZXogb2N6ZWtpd2FuaWEgbmEga2/FhGN1IHBsaWt1XG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzIKK21zZ2lkICIgLWYgICAgICAgICAgIGRvIG5vdCBzcGxpdCBsb25nIGxpbmVzXG4iCittc2dzdHIgIiAtZiAgICAgICAgICAgYmV6IGR6aWVsZW5pYSBkxYJ1Z2ljaCBsaW5paVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMzCittc2dpZCAiIC1uICAgICAgICAgICB0ZXJtaW5hdGUgY29tbWFuZCB3aXRoIG5ldyBsaW5lXG4iCittc2dzdHIgIiAtbiAgICAgICAgICAgcHJ6ZXJ3YW5pZSBwb2xlY2VuaWEgbmEgbm93ZWogbGluaWlcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNAorbXNnaWQgIiAtcCA8cHJvbXB0PiAgc3BlY2lmeSBwcm9tcHRcbiIKK21zZ3N0ciAiIC1wIDxjacSFZz4gICAgb2tyZcWbbGVuaWUgem5ha8OzdyB6YWNoxJl0eVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM1Cittc2dpZCAiIC1yICAgICAgICAgICBkaXNhbGxvdyBzaGVsbCBlc2NhcGVcbiIKK21zZ3N0ciAiIC1yICAgICAgICAgICB6YWJsb2tvd2FuaWUgd3lqxZtjaWEgZG8gcG93xYJva2lcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNgorbXNnaWQgIiAtcyAgICAgICAgICAgcHJpbnQgbWVzc2FnZXMgdG8gc3Rkb3V0XG4iCittc2dzdHIgIiAtcyAgICAgICAgICAgd3lwaXNhbmllIGtvbXVuaWthdMOzdyBuYSBzdGFuZGFyZG93ZSB3eWrFm2NpZVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM3Cittc2dpZCAiICtudW1iZXIgICAgICBzdGFydCBhdCB0aGUgZ2l2ZW4gbGluZVxuIgorbXNnc3RyICIgK2xpY3piYSAgICAgIHJvenBvY3rEmWNpZSBvZCBwb2RhbmVqIGxpbmlpXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzgKK21zZ2lkICIgKy9wYXR0ZXJuLyAgIHN0YXJ0IGF0IHRoZSBsaW5lIGNvbnRhaW5pbmcgcGF0dGVyblxuIgorbXNnc3RyICIgKy93em9yemVjLyAgIHJvenBvY3rEmWNpZSBvZCBsaW5paSB6YXdpZXJhasSFY2VqIHd6b3J6ZWNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gJXMiCittc2dzdHIgIm9wY2phIG11c2kgbWllxIcgYXJndW1lbnQgLS0gJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBvcHRpb24gLS0gJXMiCittc2dzdHIgIm5pZWRvendvbG9uYSBvcGNqYSAtLSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjM1OQorbXNnaWQgIi4uLnNraXBwaW5nIGZvcndhcmRcbiIKK21zZ3N0ciAiLi4ucHJ6ZXdpamFuaWUgdyBwcnrDs2RcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM2MQorbXNnaWQgIi4uLnNraXBwaW5nIGJhY2t3YXJkXG4iCittc2dzdHIgIi4uLnByemV3aWphbmllIHcgdHnFglxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzc3Cittc2dpZCAiTm8gbmV4dCBmaWxlIgorbXNnc3RyICJCcmFrIG5hc3TEmXBuZWdvIHBsaWt1IgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzgxCittc2dpZCAiTm8gcHJldmlvdXMgZmlsZSIKK21zZ3N0ciAiQnJhayBwb3ByemVkbmllZ28gcGxpa3UiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvciBmcm9tICVzIGZpbGUiCittc2dzdHIgIkLFgsSFZCBvZGN6eXR1IHogcGxpa3UgJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCBFT0YgaW4gJXMgZmlsZSIKK21zZ3N0ciAiTmllb2N6ZWtpd2FueSBFT0YgdyBwbGlrdSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjg4OAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGVycm9yIGluICVzIGZpbGUiCittc2dzdHIgIk5pZXpuYW55IGLFgsSFZCB3IHBsaWt1ICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTQxCittc2dpZCAiQ2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiTmllIG1vxbxuYSB1dHdvcnp5xIcgcGxpa3UgdHltY3phc293ZWdvIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTUwIHRleHQtdXRpbHMvcGcuYzoxMTE0IHRleHQtdXRpbHMvcGcuYzoxMTQwCittc2dpZCAiUkUgZXJyb3I6ICIKK21zZ3N0ciAiQsWCxIVkIHd5cmHFvGVuaWEgcmVndWxhcm5lZ286ICIKKworIzogdGV4dC11dGlscy9wZy5jOjEwOTcKK21zZ2lkICIoRU9GKSIKK21zZ3N0ciAiKEVPRikiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTIyIHRleHQtdXRpbHMvcGcuYzoxMTQ4Cittc2dpZCAiTm8gcmVtZW1iZXJlZCBzZWFyY2ggc3RyaW5nIgorbXNnc3RyICJCcmFrIHphcGFtacSZdGFuZWdvIHN6dWthbmVnbyDFgmHFhGN1Y2hhIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTIwMworbXNnaWQgImNhbm5vdCBvcGVuICIKK21zZ3N0ciAibmllIG1vxbxuYSBvdHdvcnp5xIcgIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI1NQorbXNnaWQgInNhdmVkIgorbXNnc3RyICJ6YXBpc2FubyIKKworIzogdGV4dC11dGlscy9wZy5jOjEzNDUKK21zZ2lkICI6ICFjb21tYW5kIG5vdCBhbGxvd2VkIGluIHJmbGFnIG1vZGUuXG4iCittc2dzdHIgIjogIXBvbGVjZW5pZSBuaWUgamVzdCBkb3p3b2xvbmUgdyB0cnliaWUgeiBvcGNqxIUgLXIuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzgwCittc2dpZCAiZm9yaygpIGZhaWxlZCwgdHJ5IGFnYWluIGxhdGVyXG4iCittc2dzdHIgImZvcmsoKSBuaWUgcG93acOzZMWCIHNpxJksIHByb3N6xJkgc3Byw7Nib3dhxIcgcMOzxbpuaWVqXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNDY4Cittc2dpZCAiKE5leHQgZmlsZTogIgorbXNnc3RyICIoTmFzdMSZcG55IHBsaWs6ICIKKworIzogdGV4dC11dGlscy9wZy5jOjE1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXMgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiIKK21zZ3N0ciAiJXMgJXMgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gV3N6ZWxraWUgcHJhd2EgemFzdHJ6ZcW8b25lLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU4NyB0ZXh0LXV0aWxzL3BnLmM6MTY2MAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMgcGVyIHBhZ2UiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgbGljemJ5IGxpbmlpIG5hIHN0cm9uaWUiCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCittc2dzdHIgIlNrxYJhZG5pYTogJXMgW29wY2plXSBbcGxpayAuLi5dXG4iCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6ODAKK21zZ2lkICJSZXZlcnNlIGxpbmVzIGNoYXJhY3Rlcndpc2UuXG4iCittc2dzdHIgIk9kd3JhY2FuaWUgbGluaWkgem5hayBwbyB6bmFrdS5cbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJpbmNvbXBsZXRlIHdyaXRlIHRvIFwiJXNcIiAod3JpdHRlbiAlemQsIGV4cGVjdGVkICV6ZClcbiIKK21zZ3N0ciAibmllcGXFgm55IHphcGlzIGRvIFwiJXNcIiAoemFwaXNhbm8gJXpkLCBvY3pla2l3YW5vICV6ZClcbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoIChsaW1pdCBvZiBpbm90aWZ5IHdhdGNoZXMgd2FzIHJlYWNoZWQpLiIKK21zZ3N0ciAiJXM6IG5pZSBtb8W8bmEgZG9kYcSHIG9ic2Vyd2F0b3JhIGlub3RpZnkgKG9zacSFZ25pxJl0byBsaW1pdCBvYnNlcndhdG9yw7N3KS4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25dIDxmaWxlPlxuIgorbXNnc3RyICIgJXMgW29wY2phXSA8cGxpaz5cbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwMAorbXNnaWQgIkZvbGxvdyB0aGUgZ3Jvd3RoIG9mIGEgbG9nIGZpbGUuXG4iCittc2dzdHIgIlBvZMSFxbxhbmllIHphIHByenlyb3N0ZW0gcGxpa3UgbG9ndS5cbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwMworbXNnaWQgIiAtbiwgLS1saW5lcyA8bnVtYmVyPiAgIG91dHB1dCB0aGUgbGFzdCA8bnVtYmVyPiBsaW5lc1xuIgorbXNnc3RyICIgLW4sIC0tbGluZXMgPGxpY3piYT4gICB3eXBpc2FuaWUgb3N0YXRuaWNoIHR5bHUgbGluaWlcbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwNAorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICAgIHNhbWUgYXMgJy1uIDxudW1iZXI+J1xuIgorbXNnc3RyICIgLTxsaWN6YmE+ICAgICAgICAgICAgICB0byBzYW1vLCBjbyAnLW4gPGxpY3piYT4nXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMTAKK21zZ2lkICJXYXJuaW5nOiB1c2Ugb2YgJ3RhaWxmJyBpcyBkZXByZWNhdGVkLCB1c2UgJ3RhaWwgLWYnIGluc3RlYWQuXG4iCittc2dzdHIgIlV3YWdhOiB1xbx5Y2llICd0YWlsZicgamVzdCBwcnplc3RhcnphxYJlLCBuYWxlxbx5IHXFvHl3YcSHICd0YWlsIC1mJy5cbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIyMyB0ZXh0LXV0aWxzL3RhaWxmLmM6MjYzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyBsaWN6YnkgbGluaWkiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyNzUKK21zZ2lkICJubyBpbnB1dCBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAibmllIHBvZGFubyBwbGlrdSB3ZWrFm2Npb3dlZ28iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBhIGZpbGUiCittc2dzdHIgIiVzOiBuaWUgamVzdCBwbGlraWVtIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiAuLi5dXG4iCittc2dzdHIgIiAlcyBbb3BjamVdIFs8cGxpaz4gLi4uXVxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTM5Cittc2dpZCAiRG8gdW5kZXJsaW5pbmcuXG4iCittc2dzdHIgIlBvZGtyZcWbbGFuaWUuXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDIKK21zZ2lkICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICB3eW11c3plbmllIHptaWVubmVqIMWbcm9kb3dpc2tvd2VqIFRFUk1cbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0MworbXNnaWQgIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICAgIHVuZGVybGluaW5nIGlzIGluZGljYXRlZCB2aWEgYSBzZXBhcmF0ZSBsaW5lXG4iCittc2dzdHIgIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICAgIHBvZGtyZcWbbGFuaWUgb3puYWN6b25lIGRvZGF0a293xIUgbGluacSFXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMDQKK21zZ2lkICJ0cm91YmxlIHJlYWRpbmcgdGVybWluZm8iCittc2dzdHIgInByb2JsZW0geiBvZGN6eXRlbSB0ZXJtaW5mbyIKKworIzogdGV4dC11dGlscy91bC5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCBgJXMnIGlzIG5vdCBrbm93biwgZGVmYXVsdGluZyB0byBgZHVtYiciCittc2dzdHIgInRlcm1pbmFsIGAlcycgamVzdCBuaWV6bmFueSwgdcW8eWNpZSBkb215xZtsbmVnbyBgZHVtYiciCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBlc2NhcGUgc2VxdWVuY2UgaW4gaW5wdXQ6ICVvLCAlbyIKK21zZ3N0ciAibmllem5hbmEgc2Vrd2VuY2phIHNwZWNqYWxuYSBuYSB3ZWrFm2NpdTogJW8sICVvIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6NjI0Cittc2dpZCAiSW5wdXQgbGluZSB0b28gbG9uZy4iCittc2dzdHIgIkxpbmlhIHdlasWbY2lvd2EgemJ5dCBkxYJ1Z2EuIgorCisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gdXNlIHRoZSBIYXJkd2FyZSBDbG9jay4iCisjfiBtc2dzdHIgIk5pZXN0ZXR5IHR5bGtvIHN1cGVydcW8eXRrb3duaWsgbW/FvGUgem1pZW5pxIcgemVnYXIgc3ByesSZdG93eS4iCmRpZmYgLS1naXQgYS9wby9wdF9CUi5wbyBiL3BvL3B0X0JSLnBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhMDQ0ZjIKLS0tIC9kZXYvbnVsbAorKysgYi9wby9wdF9CUi5wbwpAQCAtMCwwICsxLDIzOTgyIEBACisjIEJyYXppbGlhbiBQb3J0dWd1ZXNlIHRyYW5zbGF0aW9uIGZvciB1dGlsLWxpbnV4LgorIyBDb3B5cmlnaHQgKEMpIDIwMTYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIENvcHlyaWdodCAoQykgMjAxNiBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIHV0aWwtbGludXggcGFja2FnZS4KKyMgUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGZyZWVseSBjb3B5IGFuZCBkaXN0cmlidXRlCisjIHRoaXMgZmlsZSBhbmQgbW9kaWZpZWQgdmVyc2lvbnMsIHByb3ZpZGVkIHRoYXQgdGhpcworIyBoZWFkZXIgaXMgbm90IHJlbW92ZWQgYW5kIG1vZGlmaWVkIHZlcnNpb25zIGFyZSBtYXJrZWQKKyMgYXMgc3VjaC4KKyMgQXJuYWxkbyBDYXJ2YWxobyBkZSBNZWxvIDxhY21lQGNvbmVjdGl2YS5jb20uYnI+LCAxOTk5LTIwMDAKKyMgUmljYXJkbyBTdGVmYW5pIDxyaWNhcmRvc0BmcmFuY2FuZXQuY29tLmJyPiwgMTk5OQorIyBNYXJjdXMgTW9yZWlyYSA8bWFyY3VzbXNAZnJiLmJyPgorIyBQYXVsbyBIZW5yaXF1ZSBSIFBpbmhlaXJvIDxudWxvQHN1bC5jb20uYnI+CisjIEFsdmFybyBBbnR1bmVzIDxhbHZhcm9AbmV0cGFyLmNvbS5icj4sIDIwMDAKKyMgUm9kcmlnbyBTdHVsemVyIExvcGVzIDxyb2RyaWdvQGNvbmVjdGl2YS5jb20uYnI+LCAyMDAwLTIwMDEKKyMgUmFmYWVsIEZvbnRlbmVsbGUgPHJmZm9udGVuZWxsZUBnbWFpbC5jb20+LCAyMDEzLCAyMDE0LCAyMDE2LCAyMDE3LgorbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdXRpbC1saW51eCAyLjI5LXJjMlxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiB1dGlsLWxpbnV4QHZnZXIua2VybmVsLm9yZ1xuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE3LTAyLTIyIDEyOjMyKzAxMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE3LTAxLTAxIDE2OjE2LTAyMDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IFJhZmFlbCBGb250ZW5lbGxlIDxyZmZvbnRlbmVsbGVAZ21haWwuY29tPlxuIgorIkxhbmd1YWdlLVRlYW06IEJyYXppbGlhbiBQb3J0dWd1ZXNlIDxsZHBici10cmFuc2xhdGlvbkBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCisiTGFuZ3VhZ2U6IHB0X0JSXG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4gPiAxKTtcbiIKKyJYLUdlbmVyYXRvcjogVmlydGFhbCAxLjAuMC1iZXRhMVxuIgorIlgtQnVnczogUmVwb3J0IHRyYW5zbGF0aW9uIGVycm9ycyB0byB0aGUgTGFuZ3VhZ2UtVGVhbSBhZGRyZXNzLlxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPHN0YXJ0PiA8bGVuZ3RoPlxuIgorbXNnc3RyICIgJXMgPGRpc3Bvc2l0aXZvPiA8bnVtLiBwYXJ0acOnw6NvPiA8aW7DrWNpbz4gPGNvbXByaW1lbnRvPlxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxOAorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgZXhpc3RlbmNlIG9mIGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiQXZpc2EgbyBrZXJuZWwgc29icmUgYSBleGlzdMOqbmNpYSBkZSB1bWEgcGFydGnDp8OjbyBlc3BlY2lmaWNhZGEuXG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjU2IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyNzYgZGlzay11dGlscy9ibG9ja2Rldi5jOjQyMAorIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ0NiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzQgZGlzay11dGlscy9kZWxwYXJ0LmM6NTcKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjcgZGlzay11dGlscy9mZGlzay5jOjcxOCBkaXNrLXV0aWxzL2ZkaXNrLmM6OTk0CisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozMDEgZGlzay11dGlscy9mZGlzay1saXN0LmM6MzQxCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNjAgZGlzay11dGlscy9mc2NrLmM6MTQ0OAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1NSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTEwCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMzQgZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4OQorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE3MyBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjYxCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzg4IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxOQorIzogZGlzay11dGlscy9ta3N3YXAuYzoyMTUgZGlzay11dGlscy9ta3N3YXAuYzoyNDQgZGlzay11dGlscy9wYXJ0eC5jOjk5NAorIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6NjQ3IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzAzCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc1NyBkaXNrLXV0aWxzL3NmZGlzay5jOjgxNiBkaXNrLXV0aWxzL3NmZGlzay5jOjg4MAorIzogZGlzay11dGlscy9zZmRpc2suYzo5MjEgZGlzay11dGlscy9zZmRpc2suYzo5NTEgZGlzay11dGlscy9zZmRpc2suYzo5ODgKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUzNyBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjYwIGxpYmZkaXNrL3NyYy9ic2QuYzo2NDEKKyM6IGxpYi9wYXRoLmM6NzAgbGliL3BhdGguYzo4MiBsb2dpbi11dGlscy9pc2xvY2FsLmM6ODcgbG9naW4tdXRpbHMvbGFzdC5jOjY3MgorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ0NiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDgzCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM1OQorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODEgbG9naW4tdXRpbHMvdmlwdy5jOjI1OCBsb2dpbi11dGlscy92aXB3LmM6Mjc2CisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDk3IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE4OCBtaXNjLXV0aWxzL21jb29raWUuYzoxMTUKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMDcgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODMgc3lzLXV0aWxzL2RtZXNnLmM6NTIyCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MDAgc3lzLXV0aWxzL2VqZWN0LmM6NzAwIHN5cy11dGlscy9mYWxsb2NhdGUuYzozNzQKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyOCBzeXMtdXRpbHMvZnN0cmltLmM6NzIgc3lzLXV0aWxzL2h3Y2xvY2suYzoyODIKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2Mzggc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTYyCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNTYgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDAxCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MjIgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDY5CisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozODggc3lzLXV0aWxzL25zZW50ZXIuYzoxMjggc3lzLXV0aWxzL3J0Y3dha2UuYzoxMzYKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MjcwIHN5cy11dGlscy9zZXRwcml2LmM6MjMwIHN5cy11dGlscy9zZXRwcml2LmM6NTI5CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1MiBzeXMtdXRpbHMvc3dhcG9uLmM6MzcxIHN5cy11dGlscy9zd2Fwb24uYzo1MTQKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2MyBzeXMtdXRpbHMvdW5zaGFyZS5jOjEwNiBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyMQorIzogc3lzLXV0aWxzL3dkY3RsLmM6MzIxIHN5cy11dGlscy93ZGN0bC5jOjM3NyB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MTgKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEyNyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQyNSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQzMQorIzogdGVybS11dGlscy9zY3JpcHQuYzo0MzMgdGVybS11dGlscy9zY3JpcHQuYzo1MjIKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTk3IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjAwCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozMzEgdGV4dC11dGlscy9jb2xjcnQuYzoyODIgdGV4dC11dGlscy9tb3JlLmM6NTEzCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjE0MSB0ZXh0LXV0aWxzL3RhaWxmLmM6NjggdGV4dC11dGlscy90YWlsZi5jOjEwMAorIzogdGV4dC11dGlscy91bC5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyICVzIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1OSBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MCBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzo5OAorbXNnaWQgImludmFsaWQgcGFydGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBkZSBuw7ptZXJvIGRlIHBhcnRpw6fDo28iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYwCittc2dpZCAiaW52YWxpZCBzdGFydCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBkZSBpbsOtY2lvIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MSBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDgKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBkZSBjb21wcmltZW50byIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjIKK21zZ2lkICJmYWlsZWQgdG8gYWRkIHBhcnRpdGlvbiIKK21zZ3N0ciAiZmFsaGEgYW8gYWRpY2lvbmFyIHBhcnRpw6fDo28iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo2MworbXNnaWQgInNldCByZWFkLW9ubHkiCittc2dzdHIgImNvbmZpZ3VyYSBzb21lbnRlIGxlaXR1cmEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3MAorbXNnaWQgInNldCByZWFkLXdyaXRlIgorbXNnc3RyICJjb25maWd1cmEgbGVpdHVyYSBlIGdyYXZhw6fDo28iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3NgorbXNnaWQgImdldCByZWFkLW9ubHkiCittc2dzdHIgIm9idMOpbSBzb21lbnRlIGxlaXR1cmEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4MgorbXNnaWQgImdldCBkaXNjYXJkIHplcm9lcyBzdXBwb3J0IHN0YXR1cyIKK21zZ3N0ciAib2J0w6ltIGVzdGFkbyBkZSBzdXBvcnRlIGEgZGVzY2FydGUgZGUgemVyb3MiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4OAorbXNnaWQgImdldCBsb2dpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgIm9idMOpbSB0YW1hbmhvIGRlIGJsb2NvIGzDs2dpY28gKHNldG9yKSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjk0Cittc2dpZCAiZ2V0IHBoeXNpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgIm9idMOpbSB0YW1hbmhvIGRlIGJsb2NvIGbDrXNpY28gKHNldG9yKSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwMAorbXNnaWQgImdldCBtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICJvYnTDqW0gdGFtYW5obyBkZSBFL1MgbcOtbmltbyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwNgorbXNnaWQgImdldCBvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICJvYnTDqW0gdGFtYW5obyBkZSBFL1Mgw7N0aW1vIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTEyCittc2dpZCAiZ2V0IGFsaWdubWVudCBvZmZzZXQgaW4gYnl0ZXMiCittc2dzdHIgIm9idMOpbSBwb3Npw6fDo28gZGUgYWxpbmhhbWVudG8gZW0gYnl0ZXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTgKK21zZ2lkICJnZXQgbWF4IHNlY3RvcnMgcGVyIHJlcXVlc3QiCittc2dzdHIgIm9idMOpbSBtw6F4aW1vIGRlIHNldG9yZXMgcG9yIHJlcXVpc2nDp8OjbyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEyNAorbXNnaWQgImdldCBibG9ja3NpemUiCittc2dzdHIgIm9idMOpbSB0YW1hbmhvIGRlIGJsb2NvIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTMxCittc2dpZCAic2V0IGJsb2Nrc2l6ZSBvbiBmaWxlIGRlc2NyaXB0b3Igb3BlbmluZyB0aGUgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJkZWZpbmUgdGFtYW5obyBkbyBibG9jbyBubyBkZXNjcml0b3IgZGUgYXJxdWl2byBhYnJpbmRvIG8gZGlzcG9zaXRpdm8gZGUgYmxvY28iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzcKK21zZ2lkICJnZXQgMzItYml0IHNlY3RvciBjb3VudCAoZGVwcmVjYXRlZCwgdXNlIC0tZ2V0c3opIgorbXNnc3RyICJvYnTDqW0gY29udGFnZW0gZGUgc2V0b3IgZGUgMzIgYml0cyAob2Jzb2xldG8sIHVzZSAtLWdldHN6KSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE0MworbXNnaWQgImdldCBzaXplIGluIGJ5dGVzIgorbXNnc3RyICJvYnTDqW0gdGFtYW5obyBlbSBieXRlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1MAorbXNnaWQgInNldCByZWFkYWhlYWQiCittc2dzdHIgImNvbmZpZ3VyYSByZWFkYWhlYWQiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTYKK21zZ2lkICJnZXQgcmVhZGFoZWFkIgorbXNnc3RyICJvYnTDqW0gcmVhZGFoZWFkIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTYzCittc2dpZCAic2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICJjb25maWd1cmEgcmVhZGFoZWFkIGRlIHNpc3RlbWEgZGUgYXJxdWl2b3MiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjkKK21zZ2lkICJnZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgIm9idMOpbSByZWFkYWhlYWQgZGUgc2lzdGVtYSBkZSBhcnF1aXZvcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3MworbXNnaWQgImZsdXNoIGJ1ZmZlcnMiCittc2dzdHIgImRlc2NhcnJlZ2EgYnVmZmVycyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3NworbXNnaWQgInJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgImzDqiBub3ZhbWVudGUgdGFiZWxhIGRlIHBhcnRpw6fDo28iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlMSRzIC1WXG4iCisiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisiXG4iCisiQXZhaWxhYmxlIGNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisiXG4iCisiVXNvOlxuIgorIiAlMSRzIC1WXG4iCisiICUxJHMgLS1yZXBvcnQgW2Rpc3Bvc2l0aXZvc11cbiIKKyIgJTEkcyBbLXZ8LXFdIGNvbWFuZG9zIGRpc3Bvc2l0aXZvc1xuIgorIlxuIgorIkNvbWFuZG9zIGRpc3BvbsOtdmVpczpcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgJS0yNXMgZ2V0IHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9yc1xuIgorbXNnc3RyICIgJS0yNXMgb2J0w6ltIHRhbWFuaG8gZW0gc2V0b3JlcyBkZSA1MTIgYnl0ZXNcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMxMQorbXNnaWQgImNvdWxkIG5vdCBnZXQgZGV2aWNlIHNpemUiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBvYnRlciBvIHRhbWFuaG8gZG8gZGlzY28iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjb21tYW5kOiAlcyIKK21zZ3N0ciAiQ29tYW5kbyBkZXNjb25oZWNpZG86ICVzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICIlcyBleGlnZSB1bSBhcmd1bWVudG8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNjggZGlzay11dGlscy9ibG9ja2Rldi5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiZXJybyBkZSBpb2N0bCBlbSAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQuXG4iCittc2dzdHIgIiVzIGZhbGhvdS5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIiVzIG9idGV2ZSBzdWNlc3NvLlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzeXNmcyBoYW5kbGVyIgorbXNnc3RyICIlczogZmFsaGEgYW8gaW5pY2lhbGl6YXIgbWFuaXB1bGFkb3IgZGUgc3lzZnMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiBzdGFydCBmcm9tIHN5c2ZzIgorbXNnc3RyICIlczogZmFsaGEgYW8gbGVyIG8gaW7DrWNpbyBkYSBwYXJ0acOnw6NvIGRlIHN5c2ZzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU3RhcnRTZWMgICAgICAgICAgICBTaXplICAgRGV2aWNlXG4iCittc2dzdHIgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU2VjSW5pYy4gICAgICAgICAgICBUYW0uICAgRGlzcG8uXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTc5Cittc2dpZCAiQm9vdGFibGUiCittc2dzdHIgIkluaWNpYWxpLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzkKK21zZ2lkICJUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIkFsdGVybmEgYSBvcMOnw6NvIGRlIGluaWNpYWxpemHDp8OjbyBkYSBwYXJ0acOnw6NvIGF0dWFsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MAorbXNnaWQgIkRlbGV0ZSIKK21zZ3N0ciAiRXhjbHVpciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODAKK21zZ2lkICJEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJFeGNsdWkgYSBwYXJ0acOnw6NvIGF0dWFsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MQorbXNnaWQgIk5ldyIKK21zZ3N0ciAiTm92YSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODEKK21zZ2lkICJDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIkNyaWEgbm92YSBwYXJ0acOnw6NvIGEgcGFydGlyIGRvIGVzcGHDp28gbGl2cmUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgyCittc2dpZCAiUXVpdCIKK21zZ3N0ciAiU2FpciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODIKK21zZ2lkICJRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIGNoYW5nZXMiCittc2dzdHIgIlNhaSBkbyBwcm9ncmFtYSBzZW0gZ3JhdmFyIGFzIGFsdGVyYcOnw7VlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODMgbGliZmRpc2svc3JjL2JzZC5jOjQzOSBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMAorIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDYgbGliZmRpc2svc3JjL2dwdC5jOjI5MTYgbGliZmRpc2svc3JjL3NnaS5jOjExNjAKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE2Cittc2dpZCAiVHlwZSIKK21zZ3N0ciAiVGlwbyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODMKK21zZ2lkICJDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJBbHRlcmEgbyB0aXBvIGRhIHBhcnRpw6fDo28iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0Cittc2dpZCAiSGVscCIKK21zZ3N0ciAiQWp1ZGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0Cittc2dpZCAiUHJpbnQgaGVscCBzY3JlZW4iCittc2dzdHIgIk1vc3RyYSB0ZWxhIGRlIGFqdWRhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NQorbXNnaWQgIlNvcnQiCittc2dzdHIgIk9yZGVuYXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1Cittc2dpZCAiRml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIkNvcnJpZ2Ugb3JkZW0gZGFzIHBhcnRpw6fDtWVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIldyaXRlIgorbXNnc3RyICJHcmF2YXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhKSIKK21zZ3N0ciAiR3JhdmEgdGFiZWxhIGRlIHBhcnRpw6fDo28gbm8gZGlzY28gKGlzdG8gcG9kZXLDoSBkZXN0cnVpciBkYWRvcykiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRHVtcCIKK21zZ3N0ciAiRGVzcGVqYXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRHVtcCBwYXJ0aXRpb24gdGFibGUgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIkRlc3BlamEgdGFiZWxhIGRlIHBhcnRpw6fDo28gcGFyYSB1bSBhcnF1aXZvIGRlIHNjcmlwdCBjb21wYXTDrXZlbCBjb20gc2ZkaXNrIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjYyMCBkaXNrLXV0aWxzL2ZkaXNrLmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB1bnN1cHBvcnRlZCBkaWFsb2cgdHlwZSAlZCIKK21zZ3N0ciAiZXJybyBpbnRlcm5vOiBzZW0gc3Vwb3J0ZSBhbyB0aXBvIGRlIGRpw6Fsb2dvICVkIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG1vdW50ZWQpIgorbXNnc3RyICIlcyAobW9udGFkbykiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI3NAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lOiIKK21zZ3N0ciAiTm9tZSBkYSBwYXJ0acOnw6NvOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjgxCittc2dpZCAiUGFydGl0aW9uIFVVSUQ6IgorbXNnc3RyICJVVUlEIGRhIHBhcnRpw6fDo286IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyOTMKK21zZ2lkICJQYXJ0aXRpb24gdHlwZToiCittc2dzdHIgIlRpcG8gZGEgcGFydGnDp8OjbzoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMwMAorbXNnaWQgIkF0dHJpYnV0ZXM6IgorbXNnc3RyICJBdHJpYnV0b3M6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMjQKK21zZ2lkICJGaWxlc3lzdGVtIFVVSUQ6IgorbXNnc3RyICJVVUlEIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3M6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMzEKK21zZ2lkICJGaWxlc3lzdGVtIExBQkVMOiIKK21zZ3N0ciAiTEFCRUwgZG8gc2lzdGVtYSBkZSBhcnF1aXZvczoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMzNworbXNnaWQgIkZpbGVzeXN0ZW06IgorbXNnc3RyICJTaXN0ZW1hIGRlIGFycXVpdm9zOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzQyCittc2dpZCAiTW91bnRwb2ludDoiCittc2dzdHIgIlBvbnRvIGRlIG1vbnRhZ2VtOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2s6ICVzIgorbXNnc3RyICJVbmlkYWRlOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlNpemU6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICJUYW1hbmhvOiAlcywgJWp1IGJ5dGVzLCAlanUgc2V0b3JlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcywgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIlLDs3R1bG86ICVzLCBpZGVudGlmaWNhZG9yOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcyIKK21zZ3N0ciAiUsOzdHVsbzogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0NgorbXNnaWQgIk1heSBiZSBmb2xsb3dlZCBieSBNIGZvciBNaUIsIEcgZm9yIEdpQiwgVCBmb3IgVGlCLCBvciBTIGZvciBzZWN0b3JzLiIKK21zZ3N0ciAiUG9kZSBzZXIgc2VndWlkbyBwb3IgTSBwYXJhIE1CLCBHIHBhcmEgR0IsIFQgcGFyYSBUQiBvdSBTIHBhcmEgc2V0b3Jlcy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1MgorbXNnaWQgIlBsZWFzZSwgc3BlY2lmeSBzaXplLiIKK21zZ3N0ciAiUG9yIGZhdm9yLCBlc3BlY2lmaXF1ZSB1bSB0YW1hbmhvLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODc0CisjLCBjLWZvcm1hdAorbXNnaWQgIk1pbmltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICJUYW1hbmhvIG3DrW5pbW8gw6kgJWp1IGJ5dGVzLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgzCisjLCBjLWZvcm1hdAorbXNnaWQgIk1heGltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICJUYW1hbmhvIG3DoXhpbW8gw6kgJWp1IGJ5dGVzLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODkwCittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNpemUuIgorbXNnc3RyICJGYWxoYSBhbyBhbmFsaXNhciBvIHRhbWFuaG8uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NDgKK21zZ2lkICJTZWxlY3QgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIlNlbGVjaW9uZSB1bSB0aXBvIGRlIHBhcnRpw6fDo28iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk5NCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjQKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lOiAiCittc2dzdHIgIkRpZ2l0ZSBvIG5vbWUgZG8gYXJxdWl2byBkZSBzY3JpcHQ6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTk1Cittc2dpZCAiVGhlIHNjcmlwdCBmaWxlIHdpbGwgYmUgYXBwbGllZCB0byBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiTyBhcnF1aXZvIHNjcmlwdCBzZXLDoSBhcGxpY2FkbyBuYSB0YWJlbGEgZGUgcGFydGnDp8OjbyBlbSBtZW3Ds3JpYS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwNCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNDYKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2NSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gJXMiCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDA2IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2NworIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgIkZhbGhhIGFvIGFuYWxpc2FyIG8gYXJxdWl2byBkZSBzY3JpcHQgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwOCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCAlcyIKK21zZ3N0ciAiRmFsaGEgYW8gYXBsaWNhciBvIHNjcmlwdCAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDI1Cittc2dpZCAiVGhlIGN1cnJlbnQgaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZSB3aWxsIGJlIGR1bXBlZCB0byB0aGUgZmlsZS4iCittc2dzdHIgIkEgdGFiZWxhIGRlIHBhcnRpw6fDo28gYXR1YWxtZW50ZSBlbSBtZW3Ds3JpYSBzZXLDoSBkZXNwZWphZGEgbm8gYXJxdWl2by4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0OTEKK21zZ2lkICJGYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgIkZhbGhhIGFvIGFsb2NhciBtYW5pcHVsYWRvciBkZSBzY3JpcHQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzOQorbXNnaWQgIkZhaWxlZCB0byByZWFkIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0LiIKK21zZ3N0ciAiRmFsaGEgYW8gbGVyIG8gbGF5b3V0IGRvIGRpc2NvIHBhcmEgbyBzY3JpcHQuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNTMKK21zZ2lkICJEaXNrIGxheW91dCBzdWNjZXNzZnVsbHkgZHVtcGVkLiIKK21zZ3N0ciAiTGF5b3V0IGRvIGRpc2NvIGRlc3BlamFkbyBjb20gc3VjZXNzby4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA1NiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIHNjcmlwdCAlcyIKK21zZ3N0ciAiRmFsaGEgYW8gZXNjcmV2ZXIgbyBzY3JpcHQgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA5MgorbXNnaWQgIlNlbGVjdCBsYWJlbCB0eXBlIgorbXNnc3RyICJTZWxlY2lvbmUgdW0gdGlwbyBkZSByw7N0dWxvIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwOTUgZGlzay11dGlscy9mZGlzay5jOjEwMTcKK21zZ2lkICJEZXZpY2UgZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiQSB1bmlkYWRlIG7Do28gY29udMOpbSB1bWEgdGFiZWxhIGRlIHBhcnRpw6fDo28gY29uaGVjaWRhLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTAxCittc2dpZCAiU2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgbGFiZWwgb3IgcHJlc3MgJ0wnIHRvIGxvYWQgc2NyaXB0IGZpbGUuIgorbXNnc3RyICJTZWxlY2lvbmUgdW0gdGlwbyBwYXJhIGNyaWFyIHVtIG5vdm8gcsOzdHVsbyBvdSBwcmVzc2lvbmUgXCJMXCIgcGFyYSBjYXJyZWdhciB1bSBhcnF1aXZvIGRlIHNjcmlwdC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE0NgorbXNnaWQgIlRoaXMgaXMgY2ZkaXNrLCBhIGN1cnNlcy1iYXNlZCBkaXNrIHBhcnRpdGlvbmluZyBwcm9ncmFtLiIKK21zZ3N0ciAiRXN0ZSDDqSBvIGNmZGlzaywgdW0gcHJvZ3JhbWEgZGUgcGFydGljaW9uYW1lbnRvIGRlIGRpc2NvIGJhc2VhZG8gbm8gXCJjdXJzZXNcIi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE0NworbXNnaWQgIkl0IGxldHMgeW91IGNyZWF0ZSwgZGVsZXRlLCBhbmQgbW9kaWZ5IHBhcnRpdGlvbnMgb24gYSBibG9jayBkZXZpY2UuIgorbXNnc3RyICJFbGUgcGVybWl0ZSBxdWUgdm9jw6ogY3JpZSwgZXhjbHVhIGUgbW9kaWZpcXVlIHBhcnRpw6fDtWVzIGVtIHVtIGRpc3Bvc2l0aXZvIGRlIGJsb2NvLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ5Cittc2dpZCAiQ29tbWFuZCAgICAgIE1lYW5pbmciCittc2dzdHIgIkNvbWFuZG8gICAgICBTaWduaWZpY2FkbyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUwCittc2dpZCAiLS0tLS0tLSAgICAgIC0tLS0tLS0iCittc2dzdHIgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTEKK21zZ2lkICIgIGIgICAgICAgICAgVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGIgICAgICAgICAgQWx0ZXJuYSBhIG9ww6fDo28gZGUgaW5pY2lhbGl6YcOnw6NvIGRhIHBhcnRpw6fDo28gYXR1YWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MgorbXNnaWQgIiAgZCAgICAgICAgICBEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGQgICAgICAgICAgRXhjbHVpIGEgcGFydGnDp8OjbyBhdHVhbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUzCittc2dpZCAiICBoICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorbXNnc3RyICIgIGggICAgICAgICAgTW9zdHJhIGVzdGEgdGVsYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU0Cittc2dpZCAiICBuICAgICAgICAgIENyZWF0ZSBuZXcgcGFydGl0aW9uIGZyb20gZnJlZSBzcGFjZSIKK21zZ3N0ciAiICBuICAgICAgICAgIENyaWEgdW1hIG5vdmEgcGFydGnDp8OjbyBhIHBhcnRpciBkbyBlc3Bhw6dvIGxpdnJlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTUKK21zZ2lkICIgIHEgICAgICAgICAgUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgcSAgICAgICAgICBTYWkgZG8gcHJvZ3JhbWEgc2VtIGdyYXZhciBhIHRhYmVsYSBkZSBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTYKK21zZ2lkICIgIHMgICAgICAgICAgRml4IHBhcnRpdGlvbnMgb3JkZXIgKG9ubHkgd2hlbiBpbiBkaXNhcnJheSkiCittc2dzdHIgIiAgcyAgICAgICAgICBDb3JyaWdlIGEgb3JkZW0gZGFzIHBhcnRpw6fDtWVzIChhcGVuYXMgcXVhbmRvIGVtIGRlc2FycmFuam8pIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTcKK21zZ2lkICIgIHQgICAgICAgICAgQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiICB0ICAgICAgICAgIEFsdGVyYSBvIHRpcG8gZGUgcGFydGnDp8OjbyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU4Cittc2dpZCAiICB1ICAgICAgICAgIER1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIiAgdSAgICAgICAgICBEZXNwZWphIGxheW91dCBkZSBkaXNjbyBwYXJhIHNjcmlwdCBjb21wYXTDrXZlbCBjb20gc2ZkaXNrIgorCisjIE1lbnNhZ2VtIHRydW5jYWRhLiBWZWphIEFCQUlYTworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU5Cittc2dpZCAiICBXICAgICAgICAgIFdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh5b3UgbXVzdCBlbnRlciB1cHBlcmNhc2UgVyk7IgorbXNnc3RyICIgIFcgICAgICAgICAgR3JhdmEgdGFiZWxhIGRlIHBhcnRpw6fDo28gbm8gZGlzY28gKGRldmUgc2VyIFcgbWFpw7pzY3VsbykiCisKKyMgTWVuc2FnZW0gdHJ1bmNhZGEuIFZlamEgQUNJTUEgZSBBQkFJWE8KKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MAorbXNnaWQgIiAgICAgICAgICAgICAgIHNpbmNlIHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhIG9uIHRoZSBkaXNrLCB5b3UgbXVzdCBlaXRoZXIiCittc2dzdHIgIiAgICAgICAgICAgICAgIGNvbW8gZXN0YSBvcMOnw6NvIHBvZGUgZGVzdHJ1aXIgZGFkb3Mgbm8gZGlzY28sIHZvY8OqIGRldmUiCisKKyMgTWVuc2FnZW0gdHJ1bmNhZGEuIFZlamEgQUNJTUEKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MQorbXNnaWQgIiAgICAgICAgICAgICAgIGNvbmZpcm0gb3IgZGVueSB0aGUgd3JpdGUgYnkgZW50ZXJpbmcgJ3llcycgb3IgJ25vJyIKK21zZ3N0ciAiICAgICAgICAgICAgICAgY29uZmlybWFyIG91IGNhbmNlbGFyIGEgZ3JhdmHDp8OjbyBpbmRpY2FuZG8gXCJzaW1cIiBvdSBcIm7Do29cIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYyCittc2dpZCAiICB4ICAgICAgICAgIERpc3BsYXkvaGlkZSBleHRyYSBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICB4ICAgICAgICAgIEV4aWJlL29jdWx0YSBpbmZvcm1hw6fDtWVzIGV4dHJhcyBzb2JyZSB1bWEgcGFydGnDp8OjbyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYzCittc2dpZCAiVXAgQXJyb3cgICAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBwYXJ0aXRpb24iCittc2dzdHIgIlNldGEgcC8gY2ltYSBNb3ZlIG8gY3Vyc29yIHBhcmEgYSBwYXJ0acOnw6NvIGFudGVyaW9yIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjQKK21zZ2lkICJEb3duIEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgcGFydGl0aW9uIgorbXNnc3RyICIiCisiU2V0YSBwLyBiYWl4b1xuIgorIiAgICAgICAgICAgICBNb3ZlIG8gY3Vyc29yIHBhcmEgYSBwcsOzeGltYSBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjUKK21zZ2lkICJMZWZ0IEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIG1lbnUgaXRlbSIKK21zZ3N0ciAiIgorIlNldGEgcC8gZXNxdWVyZGFcbiIKKyIgICAgICAgICAgICAgTW92ZSBvIGN1cnNvciBwYXJhIG8gaXRlbSBkZSBtZW51IGFudGVyaW9yIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjYKK21zZ2lkICJSaWdodCBBcnJvdyAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgbWVudSBpdGVtIgorbXNnc3RyICIiCisiU2V0YSBwLyBkaXJlaXRhXG4iCisiICAgICAgICAgICAgIE1vdmUgbyBjdXJzb3IgcGFyYSBvIHByw7N4aW1vIGl0ZW0gZGUgbWVudSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY4Cittc2dpZCAiTm90ZTogQWxsIG9mIHRoZSBjb21tYW5kcyBjYW4gYmUgZW50ZXJlZCB3aXRoIGVpdGhlciB1cHBlciBvciBsb3dlciIKK21zZ3N0ciAiTm90YTogVG9kb3Mgb3MgY29tYW5kb3MgcG9kZW0gc2VyIGRpZ2l0YWRvcyBlbSBsZXRyYXMgbWFpw7pzY3VsYXMgb3UiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2OQorbXNnaWQgImNhc2UgbGV0dGVycyAoZXhjZXB0IGZvciBXcml0ZSkuIgorbXNnc3RyICJtaW7DunNjdWxhcyAoZXhjZXRvIHBhcmEgVykuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzEKK21zZ2lkICJVc2UgbHNibGsoOCkgb3IgcGFydHgoOCkgdG8gc2VlIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgZGV2aWNlLiIKK21zZ3N0ciAiVXNlIGxzYmxrKDgpIG91IHBhcnR4KDgpIHBhcmEgdmVyIG1haXMgZGV0YWxoZXMgc29icmUgbyBkaXNwb3NpdGl2by4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3OCBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzcKK21zZ2lkICJQcmVzcyBhIGtleSB0byBjb250aW51ZS4iCittc2dzdHIgIlByZXNzaW9uZSB1bWEgdGVjbGEgcGFyYSBjb250aW51YXIuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNjAKK21zZ2lkICJDb3VsZCBub3QgdG9nZ2xlIHRoZSBmbGFnLiIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGF0aXZhci9kZXNhdGl2YXIgYSBvcMOnw6NvLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBleGNsdWlyIGEgcGFydGnDp8OjbyAlenUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNzIgZGlzay11dGlscy9mZGlzay1tZW51LmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaGFzIGJlZW4gZGVsZXRlZC4iCittc2dzdHIgIkEgcGFydGnDp8OjbyAlenUgZm9pIGV4Y2x1w61kYS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI5MworbXNnaWQgIlBhcnRpdGlvbiBzaXplOiAiCittc2dzdHIgIlRhbWFuaG8gZGEgcGFydGnDp8OjbzogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJBbHRlcmFkbyBvIHRpcG8gZGEgcGFydGnDp8OjbyAlenUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJPIHRpcG8gZGEgcGFydGnDp8OjbyAlenUgZm9pIGFsdGVyYWRvLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzUzIGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ2NiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTkxCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzAKK21zZ2lkICJEZXZpY2UgaXMgb3BlbiBpbiByZWFkLW9ubHkgbW9kZS4iCittc2dzdHIgIk8gZGlzcG9zaXRpdm8gZXN0w6EgYWJlcnRvIG5vIG1vZG8gc29tZW50ZSBsZWl0dXJhLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzU4Cittc2dpZCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHdyaXRlIHRoZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzaz8gIgorbXNnc3RyICJWb2PDqiB0ZW0gY2VydGV6YSBkZSBxdWUgZGVzZWphIGdyYXZhciBhIHRhYmVsYSBkZSBwYXJ0acOnw6NvIG5vIGRpc2NvPyAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM2MAorbXNnaWQgIlR5cGUgXCJ5ZXNcIiBvciBcIm5vXCIsIG9yIHByZXNzIEVTQyB0byBsZWF2ZSB0aGlzIGRpYWxvZy4iCittc2dzdHIgIkRpZ2l0ZSBcInNpbVwiIG91IFwibsOjb1wiIG91IHByZXNzaW9uZSBFU0MgcGFyYSBzYWlyIGRvIGRpw6Fsb2dvLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzY1IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE1NDAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1NTAKK21zZ2lkICJ5ZXMiCittc2dzdHIgInNpbSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzY2Cittc2dpZCAiRGlkIG5vdCB3cml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4iCittc2dzdHIgIkEgdGFiZWxhIGRlIHBhcnRpw6fDo28gTsODTyBmb2kgZ3JhdmFkYSBubyBkaXNjby4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3MQorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwuIgorbXNnc3RyICJGYWxoYSBhbyBncmF2YXIgcsOzdHVsbyBkbyBkaXNjby4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3NCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzgKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICJBIHRhYmVsYSBkZSBwYXJ0acOnw6NvIGZvaSBhbHRlcmFkYS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM5NyBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NjgKK21zZ2lkICJOb3RlIHRoYXQgcGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyIG5vdy4iCittc2dzdHIgIk5vdGUgcXVlIGFzIGVudHJhZGFzIGRhIHRhYmVsYSBkZSBwYXJ0acOnw6NvIG7Do28gZXN0w6EgbmEgb3JkZW0gZG8gZGlzY28gYWdvcmEuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmU7IGl0IHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICJPIGRpc3Bvc2l0aXZvIGrDoSBjb250w6ltIHVtYSBhc3NpbmF0dXJhICVzOyBlbGEgc2Vyw6EgcmVtb3ZpZGEgcG9yIHVtIGNvbWFuZG8gZGUgZXNjcml0YS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0NQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBuZXcgZGlza2xhYmVsIgorbXNnc3RyICJmYWxoYSBhbyBlc2NyZXZlciB1bSBub3ZvIHLDs3R1bG8gZG8gZGlzY28iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ1MworbXNnaWQgImZhaWxlZCB0byByZWFkIHBhcnRpdGlvbnMiCittc2dzdHIgImZhbGhhIGFvIGxlciBwYXJ0acOnw7VlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz5cbiIKK21zZ3N0ciAiICUxJHMgW29ww6fDtWVzXSA8dW5pZGFkZT5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTQ5IGRpc2stdXRpbHMvZmRpc2suYzo3MzYgZGlzay11dGlscy9zZmRpc2suYzoxODEwCittc2dpZCAiRGlzcGxheSBvciBtYW5pcHVsYXRlIGEgZGlzayBwYXJ0aXRpb24gdGFibGUuXG4iCittc2dzdHIgIkV4aWJlIG91IG1hbmlwdWxhIGEgdGFiZWxhIGRlIHBhcnRpw6fDo28gZGUgdW1hIHVuaWRhZGUuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU1MgorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PHF1YW5kbz5dICAgY29sb3JlIGEgc2HDrWRhIChhdXRvLCBhbHdheXMgb3UgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU1NQorbXNnaWQgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgc3RhcnQgd2l0aCB6ZXJvZWQgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAteiwgLS16ZXJvICAgICAgICAgICAgICBpbmljaWEgY29tIHVtYSB0YWJlbGEgZGUgcGFydGnDp8OjbyB6ZXJhZGFcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTk0IGRpc2stdXRpbHMvZmRpc2suYzo4ODIgZGlzay11dGlscy9zZmRpc2suYzoyMDc3CisjOiBtaXNjLXV0aWxzL2NhbC5jOjM5MCBzeXMtdXRpbHMvZG1lc2cuYzoxMzMzIHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNAorbXNnaWQgInVuc3VwcG9ydGVkIGNvbG9yIG1vZGUiCittc2dzdHIgInNlbSBzdXBvcnRlIGEgbW9kbyBkZSBjb3JlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjEyIGRpc2stdXRpbHMvZmRpc2suYzo4MTggZGlzay11dGlscy9zZmRpc2suYzoyMjMKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAiZmFsaGEgYW8gYWxvY2FyIGNvbnRleHRvIGRlIGxpYmZkaXNrIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj5cbiIKK21zZ3N0ciAiICVzIDxkaXNwb3NpdGl2bz4gPG51bS4gcGFydGnDp8Ojbz5cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTgKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgdG8gZm9yZ2V0IGFib3V0IGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiQXZpc2EgbyBrZXJuZWwgcGFyYSBlc3F1ZWNlciBzb2JyZSB1bWEgcGFydGnDp8OjbyBlc3BlY8OtZmljYS5cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6NjEKK21zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlIHBhcnRpdGlvbiIKK21zZ3N0ciAiZmFsaGEgYW8gcmVtb3ZlciBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9ybWF0dGluZyAuLi4gIgorbXNnc3RyICJGb3JtYXRhbmRvIC4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo2OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgImRvbmVcbiIKK21zZ3N0ciAiY29uY2x1w61kb1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmVyaWZ5aW5nIC4uLiAiCittc2dzdHIgIlZlcmlmaWNhbmRvIC4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMDgKK21zZ2lkICJSZWFkOiAiCittc2dzdHIgIkxlcjogIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByb2JsZW0gcmVhZGluZyB0cmFjay9oZWFkICV1LyV1LCBleHBlY3RlZCAlZCwgcmVhZCAlZFxuIgorbXNnc3RyICJQcm9ibGVtYSBhbyBsZXIgdHJpbGhhL2NhYmXDp2EgJXUvJXU6IGVzcGVyYWRvICVkLCBsaWRvICVkXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImJhZCBkYXRhIGluIHRyYWNrL2hlYWQgJXUvJXVcbiIKKyJDb250aW51aW5nIC4uLiAiCittc2dzdHIgIiIKKyJkYWRvcyBpbnbDoWxpZG9zIG5hIHRyaWxoYS9jYWJlw6dhICV1LyV1XG4iCisiQ29udGludWFuZG8gLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODIKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTE3IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU2IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODQKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIDxkaXNwb3NpdGl2bz5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0OAorbXNnaWQgIkRvIGEgbG93LWxldmVsIGZvcm1hdHRpbmcgb2YgYSBmbG9wcHkgZGlzay5cbiIKK21zZ3N0ciAiRXhlY3V0YSB1bWEgZm9ybWF0YcOnw6NvIGRlIGJhaXhvIG7DrXZlbCBlbSB1bSBkaXNxdWV0ZS5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MQorbXNnaWQgIiAtZiwgLS1mcm9tIDxOPiAgICBzdGFydCBhdCB0aGUgdHJhY2sgTiAoZGVmYXVsdCAwKVxuIgorbXNnc3RyICIgLWYsIC0tZnJvbSA8Tj4gICAgaW5pY2lhIGEgdHJpbGhhIE4gKHBhZHLDo28gMClcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MgorbXNnaWQgIiAtdCwgLS10byA8Tj4gICAgICBzdG9wIGF0IHRoZSB0cmFjayBOXG4iCittc2dzdHIgIiAtdCwgLS10byA8Tj4gICAgICBwYXJhIG5hIHRyaWxoYSBOXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTMKK21zZ2lkICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIHRyeSB0byByZXBhaXIgdHJhY2tzIGZhaWxlZCBkdXJpbmdcbiIKKyIgICAgICAgICAgICAgICAgICAgICB0aGUgdmVyaWZpY2F0aW9uIChtYXggTiByZXRyaWVzKVxuIgorbXNnc3RyICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIHRlbnRhIGNvcnJpZ2lyIHRyaWxoYXMgZmFsaGFkYXMgZHVyYW50ZVxuIgorIiAgICAgICAgICAgICAgICAgICAgIGEgdmVyaWZpY2HDp8OjbyAobcOheCBOIHRlbnRhdGl2YXMpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTUKK21zZ2lkICIgLW4sIC0tbm8tdmVyaWZ5ICAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLXZlcmlmeSAgIGRlc2FiaWxpdGEgYSB2ZXJpZmljYcOnw6NvIGFww7NzIGEgZm9ybWF0YcOnw6NvXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gZnJvbSIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyAtIGZyb20iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTgKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gdG8iCittc2dzdHIgImFyZ3VtZW50byBpbnbDoWxpZG8gLSB0byIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIwMQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSByZXBhaXIiCittc2dzdHIgImFyZ3VtZW50byBpbnbDoWxpZG8gLSByZXBhaXIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1MQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4NSBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzM4CisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzQ4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODUKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxNiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0MSBkaXNrLXV0aWxzL3BhcnR4LmM6OTMzCisjOiBsb2dpbi11dGlscy9sYXN0LmM6Njg2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM5IG1pc2MtdXRpbHMvbmFtZWkuYzoxMzUKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjMgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODYgc3lzLXV0aWxzL2RtZXNnLmM6NTI0CisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTk4IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzMSBzeXMtdXRpbHMvZnN0cmltLmM6NzcKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1MTkgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6OTMKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjEzMyB0ZXJtLXV0aWxzL21lc2cuYzoxMjkgdGV4dC11dGlscy9tb3JlLmM6NTA0CisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTAzIHRleHQtdXRpbHMvdGFpbGYuYzoyODAKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RhdCBvZiAlcyBmYWlsZWQiCittc2dzdHIgIm9idGVuw6fDo28gZGUgZXN0YWRvIGRlICVzIGZhbGhvdSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNCBkaXNrLXV0aWxzL3BhcnR4LmM6OTkxIG1pc2MtdXRpbHMvbHNibGsuYzoxNDg1CisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4OCBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogbsOjbyDDqSB1bSBkaXNwb3NpdGl2byBkZSBibG9jbyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyOQorbXNnaWQgImNvdWxkIG5vdCBkZXRlcm1pbmUgY3VycmVudCBmb3JtYXQgdHlwZSIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGRldGVybWluYXIgbyB0aXBvIGRlIGZvcm1hdGHDp8OjbyBhdHVhbCIKKworIyBOb3RhOiBwcmltZWlybyAiJXMiIMOpIHJlZmVyZW50ZSDDoHMgbWVuc2FnZW5zIERvdWJsZSBlIFNpbmdsZQorIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcy1zaWRlZCwgJWQgdHJhY2tzLCAlZCBzZWMvdHJhY2suIFRvdGFsIGNhcGFjaXR5ICVkIGtCLlxuIgorbXNnc3RyICIlcyBmYWNlLCAlZCB0cmlsaGFzLCAlZCBzZXRvcmVzL3RyaWxoYS4gQ2FwYWNpZGFkZSB0b3RhbCBkZSAlZCBLQi5cbiIKKworIyAiRHVwbGEgZmFjZSIKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzIKK21zZ2lkICJEb3VibGUiCittc2dzdHIgIkR1cGxhIgorCisjICJVbWEgZmFjZSIKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzIKK21zZ2lkICJTaW5nbGUiCittc2dzdHIgIlVtYSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzOQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAidHJpbGhhIGluaWNpYWwgZGVmaW5pZGEgcGVsbyB1c3XDoXJpbyBleGNlZGUgbcOheGltbyBlc3BlY8OtZmljbyBkYSBtw61kaWEiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDEKK21zZ2lkICJ1c2VyIGRlZmluZWQgZW5kIHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICJ0cmlsaGEgZmluYWwgZGVmaW5pZGEgcGVsbyB1c3XDoXJpbyBleGNlZGUgbcOheGltbyBlc3BlY8OtZmljbyBkYSBtw61kaWEiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDMKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgdXNlciBkZWZpbmVkIGVuZCB0cmFjayIKK21zZ3N0ciAidHJpbGhhIGluaWNpYWwgZGVmaW5pZGEgcGVsbyB1c3XDoXJpbyBleGNlZGUgYSB0cmlsaGEgZmluYWwgZGVmaW5pZGEgcGVsbyBtZXNtbyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI1MSBtaXNjLXV0aWxzL2xvZ2dlci5jOjk4NworbXNnaWQgImNsb3NlIGZhaWxlZCIKK21zZ3N0ciAiY2xvc2UgZmFsaG91IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTUgZGlzay11dGlscy9mZGlzay5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRG8geW91IHJlYWxseSB3YW50IHRvIHF1aXQ/ICIKK21zZ3N0ciAiIgorIlxuIgorIlZvY8OqIHJlYWxtZW50ZSBkZXNlamEgc2Fpcj8gIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdCAoZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiU2VsZWNpb25lIChwYWRyw6NvICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIGRlZmF1bHQgcmVzcG9uc2UgJWMuIgorbXNnc3RyICJVc2FuZG8gcmVzcG9zdGEgcGFkcsOjbyAlYy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxNzYgZGlzay11dGlscy9mZGlzay5jOjI1MCBkaXNrLXV0aWxzL2ZkaXNrLmM6MzI1CisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTE4OSBsaWJmZGlzay9zcmMvZ3B0LmM6MjI3NworbXNnaWQgIlZhbHVlIG91dCBvZiByYW5nZS4iCittc2dzdHIgIlZhbG9yIGZvcmEgZG8gaW50ZXJ2YWxvLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglcywgcGFkcsOjbyAlYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwOCBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglcywgcGFkcsOjbyAlPFBSSXU2ND4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJWMtJWMsIHBhZHLDo28gJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMTcgZGlzay11dGlscy9mZGlzay5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0PiwgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+LCBwYWRyw6NvICU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMpOiAiCittc2dzdHIgIiVzICglYy0lYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMyBkaXNrLXV0aWxzL2ZkaXNrLmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjM5MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NworbXNnaWQgIiBbWV1lcy9bTl1vOiAiCittc2dzdHIgIiBbU11pbS9bTl3Do286ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQzMworbXNnaWQgIlBhcnRpdGlvbiB0eXBlICh0eXBlIEwgdG8gbGlzdCBhbGwgdHlwZXMpOiAiCittc2dzdHIgIlRpcG8gZGUgcGFydGnDp8OjbyAoZGlnaXRlIEwgcGFyYSBsaXN0YXIgdG9kb3Mgb3MgdGlwb3MpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0MzQKK21zZ2lkICJIZXggY29kZSAodHlwZSBMIHRvIGxpc3QgYWxsIGNvZGVzKTogIgorbXNnc3RyICJDw7NkaWdvIGhleGFkZWNpbWFsIChkaWdpdGUgTCBwYXJhIGxpc3RhciB0b2RvcyBvcyBjw7NkaWdvcyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjUzNgorbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgc2V0IChERVBSRUNBVEVEISkiCittc2dzdHIgIkEgb3DDp8OjbyBkZSBjb21wYXRpYmlsaWRhZGUgRE9TIGVzdMOhIGF0aXZhZGEgKE9CU09MRVRBISkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1MzcKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIG5vdCBzZXQiCittc2dzdHIgIkEgb3DDp8OjbyBkZSBjb21wYXRpYmlsaWRhZGUgRE9TIG7Do28gZXN0w6EgYXRpdmFkYSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU1OCBkaXNrLXV0aWxzL2ZkaXNrLmM6NTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3QgZXhpc3QgeWV0ISIKK21zZ3N0ciAiQSBwYXJ0acOnw6NvICV6dSBhaW5kYSBuw6NvIGV4aXN0ZSEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NjMgZGlzay11dGlscy9mZGlzay5jOjU3MiBsaWJmZGlzay9zcmMvYXNrLmM6OTk1Cittc2dpZCAiVW5rbm93biIKK21zZ3N0ciAiRGVzY29uaGVjaWRvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJyVzJyB0byAnJXMnLiIKK21zZ3N0ciAiTyB0aXBvIGRhIHBhcnRpw6fDo28gXCIlc1wiIGZvaSBhbHRlcmFkbyBwYXJhIFwiJXNcIi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZDogJXMuIgorbXNnc3RyICJPIHRpcG8gZGEgcGFydGnDp8OjbyAlenUgZXN0w6EgaW5hbHRlcmFkbzogJXMuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiUxNXM6ICVzIgorbXNnc3RyICIlMTVzOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXM6IG9mZnNldCA9ICU8UFJJdTY0Piwgc2l6ZSA9ICV6dSBieXRlcy4iCittc2dzdHIgIiIKKyJcbiIKKyIlczogcG9zacOnw6NvID0gJTxQUkl1NjQ+LCB0YW1hbmhhID0gJXp1IGJ5dGVzLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY3NworbXNnaWQgImNhbm5vdCBzZWVrIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYnVzY2FyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjgyCittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBsZXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2OTUgbGliZmRpc2svc3JjL2JzZC5jOjI1OSBsaWJmZGlzay9zcmMvZG9zLmM6OTMzCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxMAorbXNnaWQgIkZpcnN0IHNlY3RvciIKK21zZ3N0ciAiUHJpbWVpcm8gc2V0b3IiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMiCittc2dzdHIgImlvY3RsIGRlIEJMS0dFVFNJWkUgZmFsaG91IGVtICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRpc2s+ICAgICAgY2hhbmdlIHBhcnRpdGlvbiB0YWJsZVxuIgorIiAlMSRzIFtvcHRpb25zXSAtbCBbPGRpc2s+XSBsaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorbXNnc3RyICIiCisiICUxJHMgW29ww6fDtWVzXSA8ZGlzY28+ICAgICAgICAgYWx0ZXJhIGEgdGFiZWxhIGRlIHBhcnRpw6fDo29cbiIKKyIgJTEkcyBbb3DDp8O1ZXNdIC1sIFs8ZGlzY28+XSAgICBsaXN0YSB0YWJlbGEocykgZGUgcGFydGnDp8Ojb1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzM5Cittc2dpZCAiIC1iLCAtLXNlY3Rvci1zaXplIDxzaXplPiAgICAgIHBoeXNpY2FsIGFuZCBsb2dpY2FsIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8dGFtYW5obz4gICB0YW1hbmhvIGRlIHNldG9yIGzDs2dpY28gZSBmw61zaWNvXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDAKK21zZ2lkICIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAgZG9uJ3QgZXJhc2UgYm9vdGJpdHMgd2hlbiBjcmVhdGluZyBhIG5ldyBsYWJlbFxuIgorbXNnc3RyICIiCisiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIG7Do28gYXBhZ2EgYml0cyBkZSBpbmljaWFsaXphw6fDo28gYW8gY3JpYXJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bSBub3ZvIHLDs3R1bG9cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MQorbXNnaWQgIiAtYywgLS1jb21wYXRpYmlsaXR5Wz08bW9kZT5dICBtb2RlIGlzICdkb3MnIG9yICdub25kb3MnIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWMsIC0tY29tcGF0aWJpbGl0eVs9PG1vZG8+XSAgbW9kbyDDqSBcImRvc1wiIG91IFwibm9uZG9zXCIgKHBhZHLDo28pXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDIKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PHF1YW5kbz5dICAgICAgICBjb2xvcml6YSBhIHNhw61kYSAoYXV0bywgYWx3YXlzIG91IG5ldmVyKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ1Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgcGFydGl0aW9ucyBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgZXhpYmUgYXMgcGFydGnDp8O1ZXMgZSBzYWlcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0NgorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgICAgICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0YT4gICAgICAgICAgbW9zdHJhIGNvbHVuYXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0NworbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICAgICAgICAgICByZWNvZ25pemUgc3BlY2lmaWVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIG9ubHlcbiIKK21zZ3N0ciAiIgorIiAtdCwgLS10eXBlIDx0aXBvPiAgICAgICAgICAgICByZWNvbmhlY2UgbyB0aXBvIGRlIHRhYmVsYSBkZSBwYXJ0acOnw6NvXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXNwZWNpZmljYWRhIGFwZW5hc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ4Cittc2dpZCAiIC11LCAtLXVuaXRzWz08dW5pdD5dICAgICAgICAgIGRpc3BsYXkgdW5pdHM6ICdjeWxpbmRlcnMnIG9yICdzZWN0b3JzJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorIiAtdSwgLS11bml0c1s9PHVuaWRhZGU+XSAgICAgICBleGliZSB1bmlkYWRlczogXCJjeWxpbmRlcnNcIiBvdSBcInNlY3RvcnNcIlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwYWRyw6NvKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ5Cittc2dpZCAiIC1zLCAtLWdldHN6ICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgZGV2aWNlIHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9ycyBbREVQUkVDQVRFRF1cbiIKK21zZ3N0ciAiIgorIiAtcywgLS1nZXRzeiAgICAgICAgICAgICAgICAgICBleGliZSBvIHRhbWFuaG8gZG8gZGlzcG9zaXRpdm8gZW0gc2V0b3JlcyBkZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUxMiBieXRlcyBbT0JTT0xFVE9dXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTAKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIGV4aWJlIFNJWkUgZW0gYnl0ZXMsIG7Do28gZW0gdW0gZm9ybWF0byBsZWfDrXZlbFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzUxCittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLXcsIC0td2lwZSA8bW9kbz4gICAgICAgICAgICAgYXBhZ2EgYXNzaW5hdHVyYXMgKGF1dG8sIGFsd2F5cyBvdSBuZXZlcilcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTMKK21zZ2lkICIgLVcsIC0td2lwZS1wYXJ0aXRpb25zIDxtb2RlPiAgd2lwZSBzaWduYXR1cmVzIGZyb20gbmV3IHBhcnRpdGlvbnMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorIiAtdywgLS13aXBlLXBhcnRpdGlvbnMgPG1vZG8+ICBhcGFnYSBhc3NpbmF0dXJhcyBkZSBub3ZhcyBwYXJ0acOnw7Vlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhdXRvLCBhbHdheXMgb3UgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTUKK21zZ2lkICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorbXNnc3RyICIgLUMsIC0tY3lsaW5kZXJzIDxuw7ptZXJvPiAgICAgIGVzcGVjaWZpY2EgbyBuw7ptZXJvIGRlIGNpbGluZHJvc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU2Cittc2dpZCAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBoZWFkc1xuIgorbXNnc3RyICIgLUgsIC0taGVhZHMgPG7Dum1lcm8+ICAgICAgICAgIGVzcGVjaWZpY2EgbyBuw7ptZXJvIGRlIGNhYmXDp2FzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTcKK21zZ2lkICIgLVMsIC0tc2VjdG9ycyA8bnVtYmVyPiAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrXG4iCittc2dzdHIgIiAtUywgLS1zZWN0b3JzIDxuw7ptZXJvPiAgICAgICAgZXNwZWNpZmljYSBvIG7Dum1lcm8gZGUgc2V0b3JlcyBwb3IgdHJpbGhhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjgKK21zZ2lkICJpbnZhbGlkIHNlY3RvciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIHRhbWFuaG8gZGUgc2V0b3IiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NDAKK21zZ2lkICJpbnZhbGlkIGN5bGluZGVycyBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBkZSBjaWxpbmRyb3MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NTIKK21zZ2lkICJub3QgZm91bmQgRE9TIGxhYmVsIGRyaXZlciIKK21zZ3N0ciAiZHJpdmVyIGRlIHLDs3R1bG8gZGUgRE9TIG7Do28gZW5jb250cmFkbyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg1OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbXBhdGliaWxpdHkgbW9kZSAnJXMnIgorbXNnc3RyICJtb2RvIGRlIGNhcGFjaWRhZGUgZGVzY29uaGVjaWRhIFwiJXNcIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg2NworbXNnaWQgImludmFsaWQgaGVhZHMgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBpbnbDoWxpZG8gZGUgY2FiZcOnYXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NzMKK21zZ2lkICJpbnZhbGlkIHNlY3RvcnMgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBpbnbDoWxpZG8gZGUgc2V0b3JlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg5OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNrbGFiZWw6ICVzIgorbXNnc3RyICJyw7N0dWxvIGRlIGRpc2NvIHNlbSBzdXBvcnRlOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkxNiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTIxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0MQorIzogZGlzay11dGlscy9zZmRpc2suYzoyMDQ2Cittc2dpZCAidW5zdXBwb3J0ZWQgd2lwZSBtb2RlIgorbXNnc3RyICJzZW0gc3Vwb3J0ZSBhIG1vZG8gZGUgYXBhZ2FyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTM0Cittc2dpZCAiVGhlIGRldmljZSBwcm9wZXJ0aWVzIChzZWN0b3Igc2l6ZSBhbmQgZ2VvbWV0cnkpIHNob3VsZCBiZSB1c2VkIHdpdGggb25lIHNwZWNpZmllZCBkZXZpY2Ugb25seS4iCittc2dzdHIgIkFzIHByb3ByaWVkYWRlcyBkZSBkaXNwb3NpdGl2byAodGFtYW5obyBlIGdlb21ldHJpYSBkbyBzZXRvcikgZGV2ZW0gc2VyIHVzYWRhcyBjb20gYXBlbmFzIHVtIGRpc3Bvc2l0aXZvIGVzcGVjaWZpY2Fkby4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VsY29tZSB0byBmZGlzayAoJXMpLiIKK21zZ3N0ciAiQmVtLXZpbmRvIGFvIGZkaXNrICglcykuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4OAorbXNnaWQgIiIKKyJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisiQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKyJBcyBhbHRlcmHDp8O1ZXMgcGVybWFuZWNlcsOjbyBhcGVuYXMgbmEgbWVtw7NyaWEsIGF0w6kgcXVlIHZvY8OqIGRlY2lkYSBncmF2w6EtbGFzLlxuIgorIlRlbmhhIGN1aWRhZG8gYW50ZXMgZGUgdXNhciBvIGNvbWFuZG8gZGUgZ3JhdmHDp8Ojby5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMDEgZGlzay11dGlscy9zZmRpc2suYzoxNjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAlcyBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiTyBkaXNwb3NpdGl2byAlcyBqw6EgY29udMOpbSB1bWEgYXNzaW5hdHVyYSAlcy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDEwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU0MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0ODQKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyMgorbXNnaWQgIlRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIkEgYXNzaW5hdHVyYSBzZXLDoSByZW1vdmlkYSBwb3IgdW0gY29tYW5kbyBkZSBlc2NyaXRhLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMTMgZGlzay11dGlscy9zZmRpc2suYzoxNjI1Cittc2dpZCAiSXQgaXMgc3Ryb25nbHkgcmVjb21tZW5kZWQgdG8gd2lwZSB0aGUgZGV2aWNlIHdpdGggd2lwZWZzKDgpLCBpbiBvcmRlciB0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zLiIKK21zZ3N0ciAiw4kgYWx0YW1lbnRlIHJlY29tZW5kYWRvIGFwYWdhciBvIGRpc3Bvc2l0aXZvIGNvbSB3aXBlZnMoOCksIHBhcmEgZXZpdGFyIHBvc3PDrXZlaXMgY29saXPDtWVzLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMjIKK21zZ2lkICJBIGh5YnJpZCBHUFQgd2FzIGRldGVjdGVkLiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBoeWJyaWQgTUJSIG1hbnVhbGx5IChleHBlcnQgY29tbWFuZCAnTScpLiIKK21zZ3N0ciAiTyBHUFQgaMOtYnJpZG8gZm9pIGRldGVjdGFkby4gVm9jw6ogdGVtIHF1ZSBzaW5jcm9uaXphciBhIE1CUiBow61icmlkYSBtYW51YWxtZW50ZSAoY29tYW5kbyBcIk1cIiBhdmFuw6dhZG8pLiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIkRpc2NvICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2V0b3JlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMvdHJhY2ssICVsbHUgY3lsaW5kZXJzIgorbXNnc3RyICJHZW9tZXRyaWE6ICVkIGNhYmXDp2FzLCAlbGx1IHNldG9yZXMvdHJpbGhhLCAlbGx1IGNpbGluZHJvcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NTkgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuaXRzOiAlcyBvZiAlZCAqICVsZCA9ICVsZCBieXRlcyIKK21zZ3N0ciAiVW5pZGFkZXM6ICVzIGRlICVkICogJWxkID0gJWxkIGJ5dGVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2NSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIlRhbWFuaG8gZGUgc2V0b3IgKGzDs2dpY28vZsOtc2ljbyk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiVGFtYW5obyBFL1MgKG3DrW5pbW8vw7N0aW1vKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3MgorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbm1lbnQgb2Zmc2V0OiAlbHUgYnl0ZXMiCittc2dzdHIgIlBvc2nDp8OjbyBkZSBhbGluaGFtZW50bzogJWx1IGJ5dGVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgdHlwZTogJXMiCittc2dzdHIgIlRpcG8gZGUgcsOzdHVsbyBkbyBkaXNjbzogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIklkZW50aWZpY2Fkb3IgZG8gZGlzY286ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMDkgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjE5CisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjQ0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorbXNnc3RyICJmYWxoYSBhbyBhbG9jYXIgaXRlcmFkb3IiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjExNSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjUKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJmYWxoYSBhbyBhbG9jYXIgdGFiZWxhIGRhIHNhw61kYSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTU2IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI0OQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgbGluZSIKK21zZ3N0ciAiZmFsaGEgYW8gYWxvY2FyIGxpbmhhIGRlIHNhw61kYSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3Qgc3RhcnQgb24gcGh5c2ljYWwgc2VjdG9yIGJvdW5kYXJ5LiIKK21zZ3N0ciAiQSBwYXJ0acOnw6NvICV6dSBuw6NvIGluaWNpYSBlbSB1bSBsaW1pdGUgZGUgc2V0b3IgZsOtc2ljby4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE5MgorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4iCittc2dzdHIgIlBhcnRpw6fDtWVzIGzDs2dpY2FzIGZvcmEgZGEgb3JkZW0gZG8gZGlzY28uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTUgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDAKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTEyIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU0IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTEwCittc2dpZCAiU3RhcnQiCittc2dzdHIgIkluw61jaW8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMQorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTMgbGliZmRpc2svc3JjL3NnaS5jOjExNTUgbGliZmRpc2svc3JjL3N1bi5jOjExMTEKK21zZ2lkICJFbmQiCittc2dzdHIgIkZpbSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE3IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAyCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NiBsaWJmZGlzay9zcmMvc3VuLmM6MTExMgorbXNnaWQgIlNlY3RvcnMiCittc2dzdHIgIlNldG9yZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOSBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNAorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTUgbGliZmRpc2svc3JjL3NnaS5jOjExNTggbGliZmRpc2svc3JjL3N1bi5jOjExMTQKK21zZ2lkICJTaXplIgorbXNnc3RyICJUYW1hbmhvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5wYXJ0aXRpb25lZCBzcGFjZSAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIkVzcGHDp28gbsOjbyBwYXJ0aWNpb25hZG8gJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZXRvcmVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLW8pOlxuIgorbXNnc3RyICIiCisiXG4iCisiQ29sdW5hcyBkaXNwb27DrXZlaXMgKHBhcmEgLW8pOlxuIgorCisjIHByaW1laXJvICVzIMOpIG5vbWUgZGUgdW0gY2FtcG8KKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQ1MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgIkNvbHVuYSBkZXNjb25oZWNpZGEgZGUgJXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NQorbXNnaWQgIkdlbmVyaWMiCittc2dzdHIgIkdlbsOpcmljbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTYKK21zZ2lkICJkZWxldGUgYSBwYXJ0aXRpb24iCittc2dzdHIgImV4Y2x1aSB1bWEgcGFydGnDp8OjbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTcKK21zZ2lkICJsaXN0IGZyZWUgdW5wYXJ0aXRpb25lZCBzcGFjZSIKK21zZ3N0ciAibGlzdGEgcGFydGnDp8O1ZXMgbsOjbyBwYXJ0aWNpb25hZGFzIGxpdnJlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTgKK21zZ2lkICJsaXN0IGtub3duIHBhcnRpdGlvbiB0eXBlcyIKK21zZ3N0ciAibGlzdGEgb3MgdGlwb3MgZGUgcGFydGnDp8O1ZXMgY29uaGVjaWRhcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTkKK21zZ2lkICJhZGQgYSBuZXcgcGFydGl0aW9uIgorbXNnc3RyICJhZGljaW9uYSB1bWEgbm92YSBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAKK21zZ2lkICJwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJtb3N0cmEgYSB0YWJlbGEgZGUgcGFydGnDp8OjbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAxCittc2dpZCAiY2hhbmdlIGEgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgImFsdGVyYSBvIHRpcG8gZGEgcGFydGnDp8OjbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAyCittc2dpZCAidmVyaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInZlcmlmaWNhIGEgdGFiZWxhIGRlIHBhcnRpw6fDo28iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMworbXNnaWQgInByaW50IGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICJtb3N0cmEgaW5mb3JtYcOnw6NvIHNvYnJlIHVtYSBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGZpcnN0IHNlY3RvciBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgIm1vc3RyYSBvcyBkYWRvcyBzZW0gZm9ybWF0YcOnw6NvIGRvIHByaW1laXJvIHNldG9yIGRvIGRpc3Bvc2l0aXZvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDYKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGRpc2tsYWJlbCBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgIm1vc3RyYSBvcyBkYWRvcyBzZW0gZm9ybWF0YcOnw6NvIGRvIHLDs3R1bG8gZG8gZGlzY28gZG8gZGlzcG9zaXRpdm8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNworbXNnaWQgImZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICJjb3JyaWdlIG9yZGVtIGRlIHBhcnRpw6fDtWVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDkKK21zZ2lkICJNaXNjIgorbXNnc3RyICJNaXNjZWzDom5lYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEwCittc2dpZCAicHJpbnQgdGhpcyBtZW51IgorbXNnc3RyICJtb3N0cmEgZXN0ZSBtZW51IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTEKK21zZ2lkICJjaGFuZ2UgZGlzcGxheS9lbnRyeSB1bml0cyIKK21zZ3N0ciAiYWx0ZXJhIGFzIHVuaWRhZGVzIGRhcyBlbnRyYWRhcyBtb3N0cmFkYXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMgorbXNnaWQgImV4dHJhIGZ1bmN0aW9uYWxpdHkgKGV4cGVydHMgb25seSkiCittc2dzdHIgImZ1bmNpb25hbGlkYWRlIGFkaWNpb25hbCAoc29tZW50ZSBwYXJhIHVzdcOhcmlvcyBhdmFuw6dhZG9zKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE0Cittc2dpZCAiU2NyaXB0IgorbXNnc3RyICJTY3JpcHQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNQorbXNnaWQgImxvYWQgZGlzayBsYXlvdXQgZnJvbSBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgImNhcnJlZ2EgbGF5b3V0IGRlIGRpc2NvIGRlIHVtIGFycXVpdm8gc2NyaXB0IGRlIHNmZGlzayIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE2Cittc2dpZCAiZHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgImRlc3BlamEgbGF5b3V0IGRlIGRpc2NvIHBhcmEgdW0gYXJxdWl2byBzY3JpcHQgZGUgc2ZkaXNrIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTgKK21zZ2lkICJTYXZlICYgRXhpdCIKK21zZ3N0ciAiU2FsdmFyICYgc2FpciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE5Cittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdCIKK21zZ3N0ciAiZ3JhdmEgYSB0YWJlbGEgbm8gZGlzY28gZSBzYWkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMAorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2siCittc2dzdHIgImdyYXZhIGEgdGFiZWxhIG5vIGRpc2NvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjEKK21zZ2lkICJxdWl0IHdpdGhvdXQgc2F2aW5nIGNoYW5nZXMiCittc2dzdHIgInNhaSBzZW0gc2FsdmFyIGFzIGFsdGVyYcOnw7VlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIyCittc2dpZCAicmV0dXJuIHRvIG1haW4gbWVudSIKK21zZ3N0ciAidm9sdGEgYW8gbWVudSBwcmluY2lwYWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyNAorbXNnaWQgInJldHVybiBmcm9tIEJTRCB0byBET1MiCittc2dzdHIgInJldG9ybmEgZGUgQlNEIHBhcmEgRE9TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzUKK21zZ2lkICJDcmVhdGUgYSBuZXcgbGFiZWwiCittc2dzdHIgIkNyaWEgdW0gbm92byByw7N0dWxvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzYKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgR1BUIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiY3JpYSB1bWEgbm92YSB0YWJlbGEgZGUgcGFydGnDp8OjbyBHUFQgdmF6aWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNworbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTR0kgKElSSVgpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiY3JpYSB1bWEgbm92YSB0YWJlbGEgZGUgcGFydGnDp8OjbyBTR0kgKElSSVgpIHZhemlhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzgKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiY3JpYSB1bWEgbm92YSB0YWJlbGEgZGUgcGFydGnDp8OjbyBET1MgdmF6aWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTdW4gcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJjcmlhIHVtYSBub3ZhIHRhYmVsYSBkZSBwYXJ0acOnw6NvIFN1biB2YXppYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQzCittc2dpZCAiY3JlYXRlIGFuIElSSVggKFNHSSkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJjcmlhIHVtYSB0YWJlbGEgZGUgcGFydGnDp8OjbyBJUklYIChTR0kpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTIKK21zZ2lkICJHZW9tZXRyeSIKK21zZ3N0ciAiR2VvbWV0cmlhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTMKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAiYWx0ZXJhIG8gbsO6bWVybyBkZSBjaWxpbmRyb3MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NAorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgaGVhZHMiCittc2dzdHIgImFsdGVyYSBuw7ptZXJvIGRlIGNhYmXDp2FzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTUKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2siCittc2dzdHIgImFsdGVyYSBvIG7Dum1lcm8gZGUgc2V0b3Jlcy90cmlsaGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NQorbXNnaWQgIkdQVCIKK21zZ3N0ciAiR1BUIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjUKK21zZ2lkICJjaGFuZ2UgZGlzayBHVUlEIgorbXNnc3RyICJhbHRlcmEgR1VJRCBkbyBkaXNjbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY2Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJhbHRlcmEgbyBub21lIGRhIHBhcnRpw6fDo28iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NworbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiYWx0ZXJhIG8gVVVJRCBkYSBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjgKK21zZ2lkICJjaGFuZ2UgdGFibGUgbGVuZ3RoIgorbXNnc3RyICJhbHRlcmEgbyBjb21wcmltZW50byBkYSB0YWJlbGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OQorbXNnaWQgImVudGVyIHByb3RlY3RpdmUvaHlicmlkIE1CUiIKK21zZ3N0ciAiaW5zZXJlIE1CUiBwcm90ZXRpdmEvaMOtYnJpZGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MgorbXNnaWQgInRvZ2dsZSB0aGUgbGVnYWN5IEJJT1MgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiYWx0ZXJuYSBhIG9ww6fDo28gZGUgaW5pY2lhbGl6YcOnw6NvIGRlIEJJT1MgbGVnYWRvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzMKK21zZ2lkICJ0b2dnbGUgdGhlIG5vIGJsb2NrIElPIHByb3RvY29sIGZsYWciCittc2dzdHIgImFsdGVybmEgYSBvcMOnw6NvIGRlIHByb3RvY29sbyBFL1Mgc2VtIGJsb2NvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzQKK21zZ2lkICJ0b2dnbGUgdGhlIHJlcXVpcmVkIHBhcnRpdGlvbiBmbGFnIgorbXNnc3RyICJhbHRlcm5hIGEgb3DDp8OjbyBkZSBwYXJ0acOnw6NvIGV4aWdpZGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NQorbXNnaWQgInRvZ2dsZSB0aGUgR1VJRCBzcGVjaWZpYyBiaXRzIgorbXNnc3RyICJhbHRlcm5hIG9zIGJpdHMgZXNwZWPDrWZpY29zIGRlIEdVSUQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NQorbXNnaWQgIlN1biIKK21zZ3N0ciAiU3VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODYKK21zZ2lkICJ0b2dnbGUgdGhlIHJlYWQtb25seSBmbGFnIgorbXNnc3RyICJhbHRlcm5hIGEgb3DDp8OjbyBkZSBzb21lbnRlIGxlaXR1cmEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NworbXNnaWQgInRvZ2dsZSB0aGUgbW91bnRhYmxlIGZsYWciCittc2dzdHIgImFsdGVybmEgYSBvcMOnw6NvIGRlIFwibW9udMOhdmVsXCIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiYWx0ZXJhIG8gbsO6bWVybyBkZSBjaWxpbmRyb3MgYWx0ZXJuYXRpdm9zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTAKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJhbHRlcmEgbsO6bWVybyBkZSBzZXRvcmVzIGV4dHJhcyBwb3IgY2lsaW5kcm8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MQorbXNnaWQgImNoYW5nZSBpbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiYWx0ZXJhIGZhdG9yIGRlIGludGVyY2FsYcOnw6NvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTIKK21zZ2lkICJjaGFuZ2Ugcm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgImFsdGVyYSBhIHZlbG9jaWRhZGUgZGUgcm90YcOnw6NvIChSUE0pIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTMKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiYWx0ZXJhIG8gbsO6bWVybyBkZSBjaWxpbmRyb3MgZsOtc2ljb3MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwMgorbXNnaWQgIlNHSSIKK21zZ3N0ciAiU0dJIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDMKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICJ0b3JuYSBhIHBhcnRpw6fDo28gaW5pY2lhbGl6w6F2ZWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNAorbXNnaWQgImVkaXQgYm9vdGZpbGUgZW50cnkiCittc2dzdHIgImVkaXRhIHVtYSBlbnRyYWRhIGRlIGFycXVpdm8gZGUgaW5pY2lhbGl6YcOnw6NvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDUKK21zZ2lkICJzZWxlY3Qgc2dpIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICJzZWxlY2lvbmEgdW1hIHBhcnRpw6fDo28gZGUgc3dhcCBzZ2kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNgorbXNnaWQgImNyZWF0ZSBTR0kgaW5mbyIKK21zZ3N0ciAiY3JpYSBpbmZvcm1hw6fDo28gU0dJIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTUKK21zZ2lkICJET1MgKE1CUikiCittc2dzdHIgIkRPUyAoTUJSKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE2Cittc2dpZCAidG9nZ2xlIGEgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiYWx0ZXJuYSBhIG9ww6fDo28gZGUgaW5pY2lhbGl6YcOnw6NvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTcKK21zZ2lkICJlZGl0IG5lc3RlZCBCU0QgZGlza2xhYmVsIgorbXNnc3RyICJlZGl0YSBvIHLDs3R1bG8gZG8gZGlzY28gQlNEIGFuaW5oYWRvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTgKK21zZ2lkICJ0b2dnbGUgdGhlIGRvcyBjb21wYXRpYmlsaXR5IGZsYWciCittc2dzdHIgImFsdGVybmEgYSBvcMOnw6NvIFwiY29tcGF0aWJpbGlkYWRlXCIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMAorbXNnaWQgIm1vdmUgYmVnaW5uaW5nIG9mIGRhdGEgaW4gYSBwYXJ0aXRpb24iCittc2dzdHIgIm1vdmUgbyBpbsOtY2lvIGRvcyBkYWRvcyBlbSB1bWEgcGFydGnDp8OjbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIxCittc2dpZCAiY2hhbmdlIHRoZSBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgImFsdGVyYSBhcyBpZGVudGlmaWNhZG9yIGRhIHVuaWRhZGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMworbXNnaWQgInJldHVybiBmcm9tIHByb3RlY3RpdmUvaHlicmlkIE1CUiB0byBHUFQiCittc2dzdHIgInJldG9ybmEgZGEgTUJSIHByb3RldGl2YS9ow61icmlkYSBwYXJhIEdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjMzCittc2dpZCAiQlNEIgorbXNnc3RyICJCU0QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNAorbXNnaWQgImVkaXQgZHJpdmUgZGF0YSIKK21zZ3N0ciAiZWRpdGEgb3MgZGFkb3MgZG8gZGlzY28iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNQorbXNnaWQgImluc3RhbGwgYm9vdHN0cmFwIgorbXNnc3RyICJpbnN0YWxhIGPDs2RpZ28gZGUgaW5pY2lhbGl6YcOnw6NvIChib290c3RyYXApIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzYKK21zZ2lkICJzaG93IGNvbXBsZXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAibW9zdHJhIG8gcsOzdHVsbyBkbyBkaXNjbyBjb21wbGV0byIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM3Cittc2dpZCAibGluayBCU0QgcGFydGl0aW9uIHRvIG5vbi1CU0QgcGFydGl0aW9uIgorbXNnc3RyICJ2aW5jdWxhIHBhcnRpw6fDo28gQlNEIGEgcGFydGnDp8OjbyBuw6NvIEJTRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwIChleHBlcnQgY29tbWFuZHMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiQWp1ZGEgKGNvbWFuZG9zIGF2YW7Dp2Fkb3MpOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzEgZGlzay11dGlscy9zZmRpc2suYzoxMjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwOlxuIgorbXNnc3RyICIiCisiXG4iCisiQWp1ZGE6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UncmUgZWRpdGluZyBuZXN0ZWQgJyVzJyBwYXJ0aXRpb24gdGFibGUsIHByaW1hcnkgcGFydGl0aW9uIHRhYmxlIGlzICclcycuIgorbXNnc3RyICJWb2PDqiBlc3TDoSBlZGl0YW5kbyB1bSB0YWJlbGEgZGUgcGFydGnDp8OjbyBcIiVzXCIgYW5pbmhhZGEsIGEgdGFiZWxhIGRlIHBhcnRpw6fDo28gcHJpbcOhcmlhIMOpIFwiJXNcIi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMQorbXNnaWQgIkV4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJDb21hbmRvIGF2YW7Dp2FkbyAobSBwYXJhIGFqdWRhKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjMKK21zZ2lkICJDb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJDb21hbmRvIChtIHBhcmEgYWp1ZGEpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQzMworIywgYy1mb3JtYXQKK21zZ2lkICIlYzogdW5rbm93biBjb21tYW5kIgorbXNnc3RyICIlYzogY29tYW5kbyBkZXNjb25oZWNpZG8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ1OCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODUKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lIgorbXNnc3RyICJEaWdpdGUgbyBub21lIGRvIGFycXVpdm8gZGUgc2NyaXB0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NzEKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IGFwcGxpZWQuIgorbXNnc3RyICJTY3JpcHQgYXBsaWNhZG8gY29tIHN1Y2Vzc28uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0OTcKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNmb3JtIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0IgorbXNnc3RyICJGYWxoYSBhbyB0cmFuc2Zvcm1hciBsYXlvdXQgZGUgZGlzY28gZW0gdW0gc2NyaXB0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTEKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IHNhdmVkLiIKK21zZ3N0ciAiU2NyaXB0IHNhbHZvIGNvbSBzdWNlc3NvLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTM0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ3NgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIlBhcnRpw6fDo28gbsK6ICV6dTogY29udMOpbSB1bWEgYXNzaW5hdHVyYSBkZSAlcy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzNyBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlIHNpZ25hdHVyZT8iCittc2dzdHIgIkRlc2VqYSByZW1vdmVyIGEgYXNzaW5hdHVyYT8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU3NQorbXNnaWQgImZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwiCittc2dzdHIgImZhbGhhIGFvIGdyYXZhciByw7N0dWxvIGRvIGRpc2NvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MTMKK21zZ2lkICJGYWlsZWQgdG8gZml4IHBhcnRpdGlvbnMgb3JkZXIuIgorbXNnc3RyICJGYWxoYSBhbyBjb3JyaWdpciBvcmRlbSBkZSBwYXJ0acOnw7Vlcy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYxNQorbXNnaWQgIlBhcnRpdGlvbnMgb3JkZXIgZml4ZWQuIgorbXNnc3RyICJPcmRlbSBkZSBwYXJ0acOnw7VlcyBjb3JyaWdpZGEuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgZXhjbHVpciBhIHBhcnRpw6fDo28gJXp1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjAKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIGN5bGluZGVycyAoREVQUkVDQVRFRCEpLiIKK21zZ3N0ciAiQWx0ZXJhbmRvIGFzIHVuaWRhZGVzIGRhcyBlbnRyYWRhcyBtb3N0cmFkYXMgcGFyYSBjaWxpbmRyb3MgKE9CU09MRVRPISkuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjIKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIHNlY3RvcnMuIgorbXNnc3RyICJBbHRlcmFuZG8gYXMgdW5pZGFkZXMgZGFzIGVudHJhZGFzIG1vc3RyYWRhcyBwYXJhIHNldG9yZXMuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NzIgZGlzay11dGlscy9mZGlzay1tZW51LmM6ODQyCittc2dpZCAiTGVhdmluZyBuZXN0ZWQgZGlza2xhYmVsLiIKK21zZ3N0ciAiRGVpeGFuZG8gbyByw7N0dWxvIGRlIGRpc2NvIGFuaW5oYWRvLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzA5Cittc2dpZCAiTmV3IG1heGltdW0gZW50cmllcyIKK21zZ3N0ciAiTm92YXMgbcOheGltbyBkZSBlbnRyYWRhcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzE5Cittc2dpZCAiRW50ZXJpbmcgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIGRpc2tsYWJlbC4iCittc2dzdHIgIkVudHJhbmRvIG5vIHLDs3R1bG8gZGUgZGlzY28gTUJSIHByb3RldGl2by9ow61icmlkby4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjczNQorbXNnaWQgIk5ldyBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIk5vdm8gVVVJRCAobm8gZm9ybWF0byA4LTQtNC00LTEyKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzUwCittc2dpZCAiTmV3IG5hbWUiCittc2dzdHIgIk5vdm8gbm9tZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6ODEzCittc2dpZCAiRW50ZXJpbmcgbmVzdGVkIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICJFbnRyYW5kbyBubyByw7N0dWxvIGRlIGRpc2NvIEJTRCBhbmluaGFkby4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5OAorbXNnaWQgIk51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgIk7Dum1lcm8gZGUgY2lsaW5kcm9zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAyCittc2dpZCAiTnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICJOw7ptZXJvIGRlIGNhYmXDp2FzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDA2Cittc2dpZCAiTnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIk7Dum1lcm8gZGUgc2V0b3JlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgZXN0w6EgbW9udGFkb1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgbsOjbyBlc3TDoSBtb250YWRvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc0CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTgxIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzUKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNTMgZGlzay11dGlscy9zZmRpc2suYzoyOTcgbGliZmRpc2svc3JjL2JzZC5jOjY0NgorIzogbGliL3BhdGguYzoxMTAgbGliL3BhdGguYzoxMzEgbGliL3BhdGguYzoxNTIgbGliL3BhdGguYzoyMDAKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMTMgbG9naW4tdXRpbHMvbGFzdC5jOjI1MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NjY0CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzOSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MTcgdGVybS11dGlscy9zZXR0ZXJtLmM6Nzc0CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzggdGVybS11dGlscy9zZXR0ZXJtLmM6Nzg1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkICVzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbGVyICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMzMgbGliL3BhdGguYzoxMzMgbGliL3BhdGguYzoxNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFyc2UgZXJyb3I6ICVzIgorbXNnc3RyICJlcnJvIGRlIGFuw6FsaXNlOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgY3JpYXIgZGlyZXTDs3JpbyAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzczCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvY2tpbmcgZGlzayBieSAlcyAuLi4gIgorbXNnc3RyICJCbG9xdWVhbmRvIGRpc2NvIHBvciAlcyAuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiKHdhaXRpbmcpICIKK21zZ3N0ciAiKGVzcGVyYW5kbykgIgorCisjLiBUUkFOU0xBVE9SUzogVGhlc2UgYXJlIGZvbGxvd3VwcyB0byAiTG9ja2luZyBkaXNrLi4uIi4KKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5NAorbXNnaWQgInN1Y2NlZWRlZCIKK21zZ3N0ciAiY29uc2VndWl1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTQKK21zZ2lkICJmYWlsZWQiCittc2dzdHIgImZhbGhvdSIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDEyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVubG9ja2luZyAlcy5cbiIKK21zZ3N0ciAiRGVzYmxvcXVlYW5kbyAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXR1cCBkZXNjcmlwdGlvbiBmb3IgJXMiCittc2dzdHIgImZhbGhhIGFvIGNvbmZpZ3VyYXIgZGVzY3Jpw6fDo28gcGFyYSAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDc0IG1pc2MtdXRpbHMvZmluZG1udC5jOjc4MiBtaXNjLXV0aWxzL2xzYmxrLmM6NDMzCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMDIgc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzoxOSBzeXMtdXRpbHMvdW1vdW50LmM6NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IGVycm8gZGUgYW7DoWxpc2UgbmEgbGluaGEgJWQgLS0gaWdub3JhZG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjUwNiBkaXNrLXV0aWxzL2ZzY2suYzo1MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSBmc3RhYiIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIGFuYWxpc2FyIGZzdGFiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2NzkgbG9naW4tdXRpbHMvbG9naW4uYzo5NjggbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMzQKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMDQgc3lzLXV0aWxzL2Zsb2NrLmM6MzQ1IHN5cy11dGlscy9uc2VudGVyLmM6MTUzCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzE2IHN5cy11dGlscy91bnNoYXJlLmM6MjE5IHN5cy11dGlscy91bnNoYXJlLmM6NDIwCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc4MAorbXNnaWQgImZvcmsgZmFpbGVkIgorbXNnc3RyICJmb3JrIGZhbGhvdSIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGV4ZWN1w6fDo28gZmFsaG91IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3NzQKK21zZ2lkICJ3YWl0OiBubyBtb3JlIGNoaWxkIHByb2Nlc3M/IT8iCittc2dzdHIgImVzcGVyYTogbmVuaHVtIHByb2Nlc3NvIGZpbGhvPyE/IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3Nzcgc3lzLXV0aWxzL2Zsb2NrLmM6MzYzIHN5cy11dGlscy9zd2Fwb24uYzozNDgKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDA0IHN5cy11dGlscy91bnNoYXJlLmM6NDI1Cittc2dpZCAid2FpdHBpZCBmYWlsZWQiCittc2dzdHIgIndhaXRwaWQgZmFsaG91IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZy4uLiAlcyBmb3IgZGV2aWNlICVzIGV4aXRlZCB3aXRoIHNpZ25hbCAlZC4iCittc2dzdHIgIkF2aXNvLi4uICVzIHBhcmEgZGlzcG9zaXRpdm8gJXMgc2FpdSBjb20gc2luYWwgJWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXM6IHN0YXR1cyBpcyAleCwgc2hvdWxkIG5ldmVyIGhhcHBlbi4iCittc2dzdHIgIiVzICVzOiBzdGF0dXMgw6kgJXgsIG51bmNhIGRldmVyaWEgYWNvbnRlY2VyLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmlzaGVkIHdpdGggJXMgKGV4aXQgc3RhdHVzICVkKVxuIgorbXNnc3RyICJGaW5hbGl6YWRvIGNvbSAlcyAoc3RhdHVzIGRlIHNhw61kYSAlZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6OTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yICVkICglbSkgd2hpbGUgZXhlY3V0aW5nIGZzY2suJXMgZm9yICVzIgorbXNnc3RyICJlcnJvICVkICglbSkgYW8gZXhlY3V0YXIgZnNjay4lcyBubyAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6OTkxCittc2dpZCAiIgorIkVpdGhlciBhbGwgb3Igbm9uZSBvZiB0aGUgZmlsZXN5c3RlbSB0eXBlcyBwYXNzZWQgdG8gLXQgbXVzdCBiZSBwcmVmaXhlZFxuIgorIndpdGggJ25vJyBvciAnIScuIgorbXNnc3RyICIiCisiVG9kbyBvdSBuZW5odW0gZG9zIHRpcG9zIGRlIHNpc3RlbWEgZGUgYXJxdWl2b3MgcGFzc2Fkb3MgcGFyYSAtdCBkZXZlbSBzZXJcbiIKKyJwcmVmaXhhZG9zIGNvbSBcIm5vXCIgb3UgXCIhXCIuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBiYWQgbGluZSBpbiAvZXRjL2ZzdGFiOiBiaW5kIG1vdW50IHdpdGggbm9uemVybyBmc2NrIHBhc3MgbnVtYmVyIgorbXNnc3RyICIlczogcHVsYW5kbyBsaW5oYSBpbnbDoWxpZGEgZW0gL2V0Yy9mc3RhYjogbW9udGFnZW0gYmluZCBjb20gbsO6bWVybyBkZSBcInBhc3NcIiBkZSBmc2NrIG7Do28temVybyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTExOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgbm9uZXhpc3RlbnQgZGV2aWNlXG4iCittc2dzdHIgIiVzOiBwdWxhbmRvIGRpc3Bvc2l0aXZvIG7Do28gZXhpc3RlbnRlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vbmV4aXN0ZW50IGRldmljZSAoXCJub2ZhaWxcIiBmc3RhYiBvcHRpb24gbWF5IGJlIHVzZWQgdG8gc2tpcCB0aGlzIGRldmljZSlcbiIKK21zZ3N0ciAiIgorIiVzOiBkaXNwb3NpdGl2byBuw6NvIGV4aXN0ZW50ZSAob3DDp8OjbyBmc3RhYiBcIm5vZmFpbFwiIHBvZGUgc2VyIHVzYWRhXG4iCisicGFyYSBwdWxhciBlc3RlIGRpc3Bvc2l0aXZvKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZVxuIgorbXNnc3RyICIlczogcHVsYW5kbyB0aXBvIGRlIHNpc3RlbWEgZGUgYXJxdWl2b3MgZGVzY29uaGVjaWRvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoZWNrICVzOiBmc2NrLiVzIG5vdCBmb3VuZCIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIHZlcmlmaWNhciAlczogZnNjay4lcyBuw6NvIGVuY29udHJhZG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNTkKK21zZ2lkICJDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLlxuIgorbXNnc3RyICJWZXJpZmljYW5kbyB0b2RvcyBvcyBzaXN0ZW1hcyBkZSBhcnF1aXZvcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM1MAorIywgYy1mb3JtYXQKK21zZ2lkICItLXdhaXRpbmctLSAocGFzcyAlZClcbiIKK21zZ3N0ciAiLS1lc3BlcmFuZG8tLSAocGFzcyAlZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM3NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC0tIFtmcy1vcHRpb25zXSBbPGZpbGVzeXN0ZW0+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gLS0gW29ww6fDtWVzLXNpcy5hcnEuXSBbPHNpc3RlbWEgZGUgYXJxdWl2b3M+IC4uLl1cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM3OQorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJWZXJpZmljYSBlIHJlcGFyYSB1bSBzaXN0ZW1hIGRlIGFycXVpdm9zIGRvIExpbnV4LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzgyCittc2dpZCAiIC1BICAgICAgICAgY2hlY2sgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtQSAgICAgICAgIHZlcmlmaWNhIHRvZG9zIG9zIHNpc3RlbWFzIGRlIGFycXVpdm9zXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODMKK21zZ2lkICIgLUMgWzxmZD5dICBkaXNwbGF5IHByb2dyZXNzIGJhcjsgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiAtQyBbPGZkPl0gIGV4aWJlIHVtYSBiYXJyYSBkZSBwcm9ncmVzc287IGRlc2NyaXRvciBkZSBhcnF1aXZvIHBhcmEgR1VJc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg0Cittc2dpZCAiIC1sICAgICAgICAgbG9jayB0aGUgZGV2aWNlIHRvIGd1YXJhbnRlZSBleGNsdXNpdmUgYWNjZXNzXG4iCittc2dzdHIgIiAtbCAgICAgICAgIHRyYXZhIG8gZGlzcG9zaXRpdm8gcGFyYSBnYXJhbnRpciBhY2Vzc28gZXhjbHVzaXZvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODUKK21zZ2lkICIgLU0gICAgICAgICBkbyBub3QgY2hlY2sgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLU0gICAgICAgICBuw6NvIHZlcmlmaWNhIHNpc3RlbWFzIGRlIGFycXVpdm9zIG1vbnRhZG9zXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODYKK21zZ2lkICIgLU4gICAgICAgICBkbyBub3QgZXhlY3V0ZSwganVzdCBzaG93IHdoYXQgd291bGQgYmUgZG9uZVxuIgorbXNnc3RyICIgLU4gICAgICAgICBuw6NvIGV4ZWN1dGEsIGFwZW5hcyBtb3N0cmEgbyBxdWUgc2VyaWEgZmVpdG9cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NworbXNnaWQgIiAtUCAgICAgICAgIGNoZWNrIGZpbGVzeXN0ZW1zIGluIHBhcmFsbGVsLCBpbmNsdWRpbmcgcm9vdFxuIgorbXNnc3RyICIgLVAgICAgICAgICB2ZXJpZmljYSBzaXN0ZW1hcyBkZSBhcnF1aXZvcyBlbSBwYXJhbGVsbywgaW5jbHVpbmRvIG8gcmFpelxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg4Cittc2dpZCAiIC1SICAgICAgICAgc2tpcCByb290IGZpbGVzeXN0ZW07IHVzZWZ1bCBvbmx5IHdpdGggJy1BJ1xuIgorbXNnc3RyICIgLVIgICAgICAgICBpZ25vcmEgbyBzaXN0ZW1hIGRlIGFycXVpdm9zIHJhaXo7IMO6dGlsIGFwZW5hcyBjb20gXCItQVwiXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODkKK21zZ2lkICIiCisiIC1yIFs8ZmQ+XSAgcmVwb3J0IHN0YXRpc3RpY3MgZm9yIGVhY2ggZGV2aWNlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiIKKyIgLXIgWzxmZD5dICByZWxhdGEgZXN0YXTDrXN0aWNhcyBwYXJhIGNhZGEgZGlzcG9zaXRpdm8gdmVyaWZpY2FkbztcbiIKKyIgICAgICAgICAgICBkZXNjcml0b3IgZGUgYXJxdWl2b3MgZmQgw6kgcGFyYSBpbnRlcmZhY2UgZ3LDoWZpY2EgKEdVSSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MQorbXNnaWQgIiAtcyAgICAgICAgIHNlcmlhbGl6ZSB0aGUgY2hlY2tpbmcgb3BlcmF0aW9uc1xuIgorbXNnc3RyICIgLXMgICAgICAgICBzZXJpYWxpemFyIGFzIG9wZXJhw6fDtWVzIGRlIHZlcmlmaWNhw6fDo29cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MgorbXNnaWQgIiAtVCAgICAgICAgIGRvIG5vdCBzaG93IHRoZSB0aXRsZSBvbiBzdGFydHVwXG4iCittc2dzdHIgIiAtVCAgICAgICAgIG7Do28gbW9zdHJhIG8gdMOtdHVsbyBubyBpbsOtY2lvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTMKK21zZ2lkICIiCisiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgPHR5cGU+IGlzIGFsbG93ZWQgdG8gYmUgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuIgorbXNnc3RyICIiCisiIC10IDx0aXBvPiAgZXNwZWNpZmljYSB0aXBvcyBkZSBzaXN0ZW1hcyBkZSBhcnF1aXZvcyBhIHNlcmVtIHZlcmlmaWNhZG9zO1xuIgorIiAgICAgICAgICAgIDx0aXBvPiBwb2RlIHNlciB1bWEgbGlzdGEgc2VwYXJhZGEgcG9yIHbDrXJndWxhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTUKK21zZ2lkICIgLVYgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLVYgICAgICAgICBleHBsaWNhIG8gcXVlIGVzdMOhIHNlbmRvIGZlaXRvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTYKK21zZ2lkICIgLT8gICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLT8gICAgICAgICBleGliZSBlc3RhIGFqdWRhIGUgc2FpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTkKK21zZ2lkICJTZWUgdGhlIHNwZWNpZmljIGZzY2suKiBjb21tYW5kcyBmb3IgYXZhaWxhYmxlIGZzLW9wdGlvbnMuIgorbXNnc3RyICJWZWphIG9zIGNvbWFuZG9zIGVzcGVjw61maWNvcyBkbyBmc2NrLiogZGFzIG9ww6fDtWVzIGRlIHNpc3RlbWFzIGRlIGFycXVpdm9zIGRpc3BvbsOtdmVpcy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MzgKK21zZ2lkICJ0b28gbWFueSBkZXZpY2VzIgorbXNnc3RyICJuw7ptZXJvIGV4Y2Vzc2l2byBkZSBkaXNwb3NpdGl2b3MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NTAKK21zZ2lkICJJcyAvcHJvYyBtb3VudGVkPyIKK21zZ3N0ciAiTyAvcHJvYyBlc3TDoSBtb250YWRvPyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ1OAorIywgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHJvb3QgdG8gc2NhbiBmb3IgbWF0Y2hpbmcgZmlsZXN5c3RlbXM6ICVzIgorbXNnc3RyICJkZXZlIHNlciByb290IHBhcmEgcHJvY3VyYXIgcG9yIHNpc3RlbWFzIGRlIGFycXVpdm9zIGNvcnJlc3BvbmRlbnRlczogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgZmluZCBtYXRjaGluZyBmaWxlc3lzdGVtOiAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGxvY2FsaXphciBzaXN0ZW1hcyBkZSBhcnF1aXZvcyBjb3JyZXNwb25kZW50ZXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDcwIGRpc2stdXRpbHMvZnNjay5jOjE1NjUgbWlzYy11dGlscy9raWxsLmM6MzYzCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyNzkKK21zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCittc2dzdHIgIm7Dum1lcm8gZXhjZXNzaXZvIGRlIGFyZ3VtZW50b3MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1MjUgZGlzay11dGlscy9mc2NrLmM6MTUyOAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXIiCittc2dzdHIgImFyZ3VtZW50byBpbnbDoWxpZG8gZGUgLXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtcjogJWQiCittc2dzdHIgImFyZ3VtZW50byBpbnbDoWxpZG8gZGUgLXI6ICVkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNjE4Cittc2dpZCAidGhlIC1sIG9wdGlvbiBjYW4gYmUgdXNlZCB3aXRoIG9uZSBkZXZpY2Ugb25seSAtLSBpZ25vcmUiCittc2dzdHIgImEgb3DDp8OjbyAtbCBwb2RlIHNlciB1c2FkYSBjb20gYXBlbmFzIHVtIGRpc3Bvc2l0aXZvIC0tIGlnbm9yYXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT5cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gPGFycXVpdm8+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTYKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgY29tcHJlc3NlZCBST00gZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiVmVyaWZpY2EgZSByZXBhcmEgdW0gc2lzdGVtYSBkZSBhcnF1aXZvcyBkZSBST00gY29tcHJpbWlkYS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOQorbXNnaWQgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHBvciBjb21wYXRpYmlsaWRhZGUgYXBlbmFzLCBpZ25vcmFkb1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIwCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBtZW5zYWdlbnMgbWFpcyBkZXRhbGhhZGFzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjEKK21zZ2lkICIgLXkgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIC15ICAgICAgICAgICAgICAgICAgICAgICBwb3IgY29tcGF0aWJpbGlkYWRlIGFwZW5hcywgaWdub3JhZG9cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMgorbXNnaWQgIiAtYiwgLS1ibG9ja3NpemUgPHNpemU+ICAgdXNlIHRoaXMgYmxvY2tzaXplLCBkZWZhdWx0cyB0byBwYWdlIHNpemVcbiIKK21zZ3N0ciAiIgorIiAtYiwgLS1ibG9ja3NpemUgPHRhbWFuaG8+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzYSBlc3NlIHRhbWFuaG8gZGUgYmxvY28sIHNlbmRvIHF1ZSBvIHBhZHLDo29cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgw6kgbyB0YW1hbmhvIGRhIHDDoWdpbmFcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMworbXNnaWQgIiAgICAgLS1leHRyYWN0Wz08ZGlyPl0gICAgdGVzdCB1bmNvbXByZXNzaW9uLCBvcHRpb25hbGx5IGV4dHJhY3QgaW50byA8ZGlyPlxuIgorbXNnc3RyICIgICAgIC0tZXh0cmFjdFs9PGRpcj5dICAgIHRlc3RhIGRlc2NvbXByZXNzw6NvLCBvcGNpb25hbG1lbnRlIGV4dHJhaSBwYXJhIDxkaXI+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZmFpbGVkOiB1bmFibGUgdG8gZGV0ZXJtaW5lIGRldmljZSBzaXplOiAlcyIKK21zZ3N0ciAiaW9jdGwgZmFsaG91OiBuw6NvIGZvaSBwb3Nzw612ZWwgZGV0ZXJtaW5hciB0YW1hbmhvIGRvIGRpc3Bvc2l0aXZvOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSBibG9jayBkZXZpY2Ugb3IgZmlsZTogJXMiCittc2dzdHIgIm7Do28gw6kgdW0gZGlzcG9zaXRpdm8gZGUgYmxvY28gb3UgYXJxdWl2bzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzAgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNgorbXNnaWQgImZpbGUgbGVuZ3RoIHRvbyBzaG9ydCIKK21zZ3N0ciAidGFtYW5obyBkZSBhcnF1aXZvIG11aXRvIHBlcXVlbm8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzkgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzMworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI0OSBsaWJmZGlzay9zcmMvYnNkLmM6NzE4IGxpYmZkaXNrL3NyYy9ic2QuYzo4OTAKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMDggbG9naW4tdXRpbHMvbGFzdC5jOjI0MiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgInNlZWsgb24gJXMgZmFpbGVkIgorbXNnc3RyICJidXNjYSBlbSAlcyBmYWxob3UiCisKKyMgIlN1cGVyYmxvY2sgbWFnaWMgaXMgYSBjb2RlIHRoYXQgaWRlbnRpZmllcyB0aGlzIGFzIGEgY3JhbWZzLCBleHRmcywgd2hhdGV2ZXIiCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODcKK21zZ2lkICJzdXBlcmJsb2NrIG1hZ2ljIG5vdCBmb3VuZCIKK21zZ3N0ciAibcOhZ2ljYSBkZSBzdXBlcmJsb2NvIG7Do28gZW5jb250cmFkYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJjcmFtZnMgZW5kaWFubmVzcyBpcyAlc1xuIgorbXNnc3RyICJuw612ZWwgZGUgZW5kaWFuIGRlIGNyYW1mcyDDqSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkxCittc2dpZCAiYmlnIgorbXNnc3RyICJncmFuZGUgKGJpZykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTEKK21zZ2lkICJsaXR0bGUiCittc2dzdHIgInBlcXVlbm8gKGxpdHRsZSkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTUKK21zZ2lkICJ1bnN1cHBvcnRlZCBmaWxlc3lzdGVtIGZlYXR1cmVzIgorbXNnc3RyICJTZW0gc3Vwb3J0ZSBhIHJlY3Vyc29zIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VwZXJibG9jayBzaXplICglZCkgdG9vIHNtYWxsIgorbXNnc3RyICJ0YW1hbmhvIGRvIHN1cGVyYmxvY28gKCVkKSDDqSBtdWl0byBwZXF1ZW5vIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA0Cittc2dpZCAiemVybyBmaWxlIGNvdW50IgorbXNnc3RyICJjb250YWdlbSBkZSBhcnF1aXZvIHplcm8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDgKK21zZ2lkICJmaWxlIGV4dGVuZHMgcGFzdCBlbmQgb2YgZmlsZXN5c3RlbSIKK21zZ3N0ciAibyBhcnF1aXZvIHNlIGVzdGVuZGUgYWzDqW0gZG8gZmltIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMTAKK21zZ2lkICJvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAiZm9ybWF0byBkZSBjcmFtZnMgYW50aWdvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjE5Cittc2dpZCAidW5hYmxlIHRvIHRlc3QgQ1JDOiBvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIHRlc3RhciBDUkM6IGZvcm1hdG8gZGUgY3JhbWZzIGFudGlnbyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI3MgorbXNnaWQgImNyYyBlcnJvciIKK21zZ3N0ciAiZXJybyBkZSBjcmMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTU0Cittc2dpZCAic2VlayBmYWlsZWQiCittc2dzdHIgImJ1c2NhIGZhbGhvdSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwNgorbXNnaWQgInJlYWQgcm9tZnMgZmFpbGVkIgorbXNnc3RyICJsZWl0dXJhIGRlIHJvbWZzIGZhbGhvdSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMzOAorbXNnaWQgInJvb3QgaW5vZGUgaXMgbm90IGRpcmVjdG9yeSIKK21zZ3N0ciAiaW5vZGUgcmFpeiBuw6NvIMOpIHVtIGRpcmV0w7NyaW8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHJvb3Qgb2Zmc2V0ICglbHUpIgorbXNnc3RyICJwb3Npw6fDo28gcmFpeiBpbnbDoWxpZGEgKCVsdSkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjAKK21zZ2lkICJkYXRhIGJsb2NrIHRvbyBsYXJnZSIKK21zZ3N0ciAiYmxvY28gZGUgZGFkb3MgbXVpdG8gZ3JhbmRlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgImRlY29tcHJlc3Npb24gZXJyb3I6ICVzIgorbXNnc3RyICJlcnJvIGRlIGRlc2NvbXByZXNzw6NvOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgIGhvbGUgYXQgJWx1ICglenUpXG4iCittc2dzdHIgIiAgYnVyYWNvIGVtICVsdSAoJXp1KVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Mzk3IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICB1bmNvbXByZXNzaW5nIGJsb2NrIGF0ICVsdSB0byAlbHUgKCVsdSlcbiIKK21zZ3N0ciAiICBkZXNjb21wcmltaW5kbyBibG9jbyBlbSAlbHUgcGFyYSAlbHUgKCVsdSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmxvY2sgKCVsZCkgYnl0ZXMiCittc2dzdHIgIm7Do28gYmxvY28gKCVsZCkgYnl0ZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLXNpemUgKCVsZCB2cyAlbGQpIGJ5dGVzIgorbXNnc3RyICJuw6NvIHRhbWFuaG8gKCVsZCB2cyAlbGQpIGJ5dGVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDEzIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTYKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTA0IG1pc2MtdXRpbHMvdXVpZGQuYzozNzUgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4MgorIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzUgc3lzLXV0aWxzL3NldHByaXYuYzo1NTggc3lzLXV0aWxzL3N3YXBvbi5jOjM4OQorIzogdGVybS11dGlscy90dHltc2cuYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkOiAlcyIKK21zZ3N0ciAiZ3JhdmHDp8OjbyBmYWxob3U6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI0CisjLCBjLWZvcm1hdAorbXNnaWQgImxjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJsY2hvd24gZmFsaG91OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyOAorIywgYy1mb3JtYXQKK21zZ2lkICJjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJjaG93biBmYWxob3U6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgInV0aW1lIGZhaWxlZDogJXMiCittc2dzdHIgInV0aW1lIGZhbGhvdTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgImlub2RlIGRlIGRpcmV0w7NyaW8gcG9zc3VpIHBvc2nDp8OjbyB6ZXJvIGNvbSB0YW1hbmhvIG7Do28gemVybzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtkaXIgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWtkaXIgZmFsaG91OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3NgorbXNnaWQgImZpbGVuYW1lIGxlbmd0aCBpcyB6ZXJvIgorbXNnc3RyICJ0YW1hbmhvIGRlIG5vbWUgZGUgYXJxdWl2byDDqSB6ZXJvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc4Cittc2dpZCAiYmFkIGZpbGVuYW1lIGxlbmd0aCIKK21zZ3N0ciAidGFtYW5obyBkZSBub21lIGRlIGFycXVpdm8gaW52w6FsaWRvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDg0Cittc2dpZCAiYmFkIGlub2RlIG9mZnNldCIKK21zZ3N0ciAicG9zacOnw6NvIGRlIGlub2RlIGludsOhbGlkYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ5OQorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplIgorbXNnc3RyICJpbm9kZSBkZSBhcnF1aXZvIHBvc3N1aSBwb3Npw6fDo28gemVybyBlIHRhbWFuaG8gbsOjbyB6ZXJvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTAyCittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBzaXplIGFuZCBub24temVybyBvZmZzZXQiCittc2dzdHIgImlub2RlIGRlIGFycXVpdm8gcG9zc3VpIHRhbWFuaG8gemVybyBlIHBvc2nDp8OjbyBuw6NvIHplcm8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzEKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIG9mZnNldCIKK21zZ3N0ciAibGluayBzaW1iw7NsaWNvIHBvc3N1aSBwb3Npw6fDo28gemVybyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMworbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gc2l6ZSIKK21zZ3N0ciAibGluayBzaW1iw7NsaWNvIHBvc3N1aSB0YW1hbmhvIHplcm8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2l6ZSBlcnJvciBpbiBzeW1saW5rOiAlcyIKK21zZ3N0ciAiZXJybyBkZSB0YW1hbmhvIG5vIGxpbmsgc2ltYsOzbGljbzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3ltbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICJsaW5rIHNpbWLDs2xpY28gZmFsaG91OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU2OQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGZpbGUgaGFzIG5vbi16ZXJvIG9mZnNldDogJXMiCittc2dzdHIgImFycXVpdm8gZXNwZWNpYWwgcG9zc3VpIHBvc2nDp8OjbyBuw6NvIHplcm86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgImZpZm8gaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICJmaWZvIHBvc3N1aSB0YW1hbmhvIG7Do28gemVybzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAibyBzb3F1ZXRlIHBvc3N1aSB0YW1hbmhvIG7Do28gemVybzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYm9ndXMgbW9kZTogJXMgKCVvKSIKK21zZ3N0ciAibW9kbyBpbnbDoWxpZG86ICVzICglbykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtub2QgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWtub2QgZmFsaG91OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYyOQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBzdGFydCAoJWx1KSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIHN0YXJ0ICglenUpIgorbXNnc3RyICJpbsOtY2lvIGRlIGRhZG9zIGRvIGRpcmV0w7NyaW8gKCVsdSkgPCBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikgKyBpbsOtY2lvICglenUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIGVuZCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCittc2dzdHIgImZpbSBkYWRvcyBkZSBkaXJldMOzcmlvICglbHUpICE9IGluw61jaW8gZGUgZGFkb3MgZGUgYXJxdWl2byAoJWx1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzNworbXNnaWQgImludmFsaWQgZmlsZSBkYXRhIG9mZnNldCIKK21zZ3N0ciAicG9zacOnw6NvIGRlIGRhZG9zIGRlIGFycXVpdm8gaW52w6FsaWRhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Njg0IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MjYKK21zZ2lkICJpbnZhbGlkIGJsb2Nrc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBkZSB0YW1hbmhvIGRlIGJsb2NvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBPS1xuIgorbXNnc3RyICIlczogT0tcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg0Cittc2dpZCAiQ2hlY2sgdGhlIGNvbnNpc3RlbmN5IG9mIGEgTWluaXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiVmVyaWZpY2EgYSBjb25zaXN0w6puY2lhIGRlIHVtIHNpc3RlbWEgZGUgYXJxdWl2b3MgZGUgTWluaXguXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NgorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgIGxpc3QgYWxsIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICBsaXN0YSB0b2RvcyBub21lcyBkZSBhcnF1aXZvc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODcKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICBhdXRvbWF0aWMgcmVwYWlyXG4iCittc2dzdHIgIiAtYSwgLS1hdXRvICAgICAgIHJlcGFyYcOnw6NvIGF1dG9tw6F0aWNhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OAorbXNnaWQgIiAtciwgLS1yZXBhaXIgICAgIGludGVyYWN0aXZlIHJlcGFpclxuIgorbXNnc3RyICIgLXIsIC0tcmVwYWlyICAgICByZXBhcmHDp8OjbyBpbnRlcmF0aXZhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGJlIHZlcmJvc2VcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgbW9kbyBkZXRhbGhhZG9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkwCittc2dpZCAiIC1zLCAtLXN1cGVyICAgICAgb3V0cHV0IHN1cGVyLWJsb2NrIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAtcywgLS1zdXBlciAgICAgIGV4aWJlIGluZm9ybWHDp8OjbyBkZSBzdXBlcmJsb2NvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MQorbXNnaWQgIiAtbSwgLS11bmNsZWFyZWQgIGFjdGl2YXRlIG1vZGUgbm90IGNsZWFyZWQgd2FybmluZ3NcbiIKK21zZ3N0ciAiIC1tLCAtLXVuY2xlYXJlZCAgYXRpdmEgYXZpc29zIGRlIG1vZG8gbsOjbyBsaW1wb1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTIKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICBmb3JjZSBjaGVja1xuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICBmb3LDp2EgdmVyaWZpY2HDp8Ojb1xuIgorCisjLiBUUkFOU0xBVE9SUzogdGhlc2UgeWVzIG5vIHF1ZXN0aW9ucyB1c2VzIHJwbWF0Y2goKSwgYW5kIHNob3VsZCBiZQorIy4gKiB0cmFuc2xhdGVkLgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICh5L24pPyAiCittc2dzdHIgIiVzIChzL24pPyAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAobi95KT8gIgorbXNnc3RyICIlcyAobi9zKT8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAieVxuIgorbXNnc3RyICJzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJuXG4iCittc2dzdHIgIm5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQuXHQgIgorbXNnc3RyICIlcyBlc3TDoSBtb250YWRvLlx0ICIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg5Cittc2dpZCAiRG8geW91IHJlYWxseSB3YW50IHRvIGNvbnRpbnVlIgorbXNnc3RyICJWb2PDqiByZWFsbWVudGUgZGVzZWphIGNvbnRpbnVhcj8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJjaGVjayBhYm9ydGVkLlxuIgorbXNnc3RyICJ2ZXJpZmljYcOnw6NvIGFib3J0YWRhLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPCBGSVJTVFpPTkUgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiTsO6bWVybyBkZSB6b25hIG1lbm9yIHF1ZSBGSVJTVFpPTkUgbm8gYXJxdWl2byBcIiVzXCIuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPj0gWk9ORVMgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiTsO6bWVybyBkZSB6b25hIG1haW9yIG91IGlndWFsIGEgWk9ORVMgbm8gYXJxdWl2byBcIiVzXCIuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQ3Cittc2dpZCAiUmVtb3ZlIGJsb2NrIgorbXNnc3RyICJSZW1vdmVyIGJsb2NvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogdW5hYmxlIHRvIHNlZWsgdG8gYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIkVycm8gZGUgbGVpdHVyYTogbsOjbyBmb2kgcG9zc8OtdmVsIGJ1c2NhciBibG9jbyBubyBhcnF1aXZvIFwiJXNcIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJFcnJvIGRlIGxlaXR1cmE6IGJsb2NvIGRlZmVpdHVvc28gbm8gYXJxdWl2byBcIiVzXCJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJbnRlcm5hbCBlcnJvcjogdHJ5aW5nIHRvIHdyaXRlIGJhZCBibG9ja1xuIgorIldyaXRlIHJlcXVlc3QgaWdub3JlZFxuIgorbXNnc3RyICIiCisiRXJybyBpbnRlcm5vOiB0ZW50YW5kbyBncmF2YXIgYmxvY28gZGVmZWl0dW9zb1xuIgorIlNvbGljaXRhw6fDo28gZGUgZ3JhdmHDp8OjbyBpZ25vcmFkYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiYnVzY2EgZmFsaG91IGVtIHdyaXRlX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGUgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiRXJybyBkZSBlc2NyaXRhOiBibG9jbyBkZWZlaXR1b3NvIG5vIGFycXVpdm8gXCIlc1wiXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUwNQorbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX3N1cGVyX2Jsb2NrIgorbXNnc3RyICJidXNjYSBmYWxob3UgZW0gd3JpdGVfc3VwZXJfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUwNworbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGdyYXZhciBzdXBlcmJsb2NvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjAKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgZ3JhdmFyIG1hcGEgZGUgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyMworbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGdyYXZhciBtYXBhIGRlIHpvbmEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyNgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBncmF2YXIgaW5vZGVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NTgKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYWxvY2FyIGJ1ZmZlciBwYXJhIHN1cGVyYmxvY28iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2MQorbXNnaWQgInVuYWJsZSB0byByZWFkIHN1cGVyIGJsb2NrIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbGVyIHN1cGVyYmxvY28iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4MworbXNnaWQgImJhZCBtYWdpYyBudW1iZXIgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIm7Dum1lcm8gbcOhZ2ljbyBpbnbDoWxpZG8gbm8gc3VwZXJibG9jbyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg1Cittc2dpZCAiT25seSAxayBibG9ja3Mvem9uZXMgc3VwcG9ydGVkIgorbXNnc3RyICJIw6Egc3Vwb3J0ZSBhcGVuYXMgYSAxSyBibG9jb3Mvem9uYXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4NworbXNnaWQgImJhZCBzX25pbm9kZXMgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgImNhbXBvIHNfbmlub2RlcyBpbnbDoWxpZG8gbm8gc3VwZXJibG9jbyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg5Cittc2dpZCAiYmFkIHNfaW1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgImNhbXBvIHNfaW1hcF9ibG9ja3MgaW52w6FsaWRvIG5vIHN1cGVyYmxvY28iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5MQorbXNnaWQgImJhZCBzX2ZpcnN0ZGF0YXpvbmUgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgImNhbXBvIHNfZmlyc3RkYXRhem9uZSBpbnbDoWxpZG8gbm8gc3VwZXJibG9jbyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk0Cittc2dpZCAiYmFkIHNfem1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgImNhbXBvIHNfem1hcF9ibG9ja3MgaW52w6FsaWRvIG5vIHN1cGVyYmxvY28iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxMAorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIG1hcCIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGFsb2NhciBidWZmZXIgcGFyYSBtYXBhIGRlIGlub2RlcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjEzCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBtYXAiCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhbG9jYXIgYnVmZmVyIHBhcmEgbWFwYSBkZSB6b25hIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTYKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhbG9jYXIgYnVmZmVyIHBhcmEgaW5vZGVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTkKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBjb3VudCIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGFsb2NhciBidWZmZXIgcGFyYSBjb250YWdlbSBkZSBpbm9kZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyMgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgY291bnQiCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhbG9jYXIgYnVmZmVyIHBhcmEgY29udGFnZW0gZGUgem9uYXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyNgorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlIG1hcCIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGxlciBtYXBhIGRlIGlub2RlcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjMwCittc2dpZCAiVW5hYmxlIHRvIHJlYWQgem9uZSBtYXAiCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBsZXIgbWFwYSBkZSB6b25hcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM0Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGVzIgorbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgbGVyIGlub2RlcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorbXNnc3RyICJBdmlzbzogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgaW5vZGVzXG4iCittc2dzdHIgIiVsZCBpbm9kZXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBibG9ja3NcbiIKK21zZ3N0ciAiJWxkIGJsb2Nvc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ZGF0YXpvbmU9JWpkICglamQpXG4iCittc2dzdHIgIlByaW1laXJhIHpvbmEgZGUgZGFkb3MgPSAlamQgKCVqZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSVkXG4iCittc2dzdHIgIlRhbWFuaG8gZGEgem9uYSA9ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0NgorIywgYy1mb3JtYXQKK21zZ2lkICJNYXhzaXplPSV6dVxuIgorbXNnc3RyICJUYW1hbmhvIG3DoXhpbW8gPSAlenVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gc3RhdGU9JWRcbiIKK21zZ3N0ciAiRXN0YWRvIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3MgPSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm5hbWVsZW49JXpkXG4iCisiXG4iCittc2dzdHIgIiIKKyJDb21wcmltZW50byBkbyBub21lID0gJXpkXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY2NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWQgbWFya2VkIHVudXNlZCwgYnV0IHVzZWQgZm9yIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJJbm9kZSAlZCBtYXJjYWRvIGNvbW8gbsOjbyB1dGlsaXphZG8sIG1hcyB1c2FkbyBwZWxvIGFycXVpdm8gXCIlc1wiXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY2NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MTcKK21zZ2lkICJNYXJrIGluIHVzZSIKK21zZ3N0ciAiTWFyY2EgZW0gdXNvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2ODkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaWxlIGAlcycgaGFzIG1vZGUgJTA1b1xuIgorbXNnc3RyICJPIGFycXVpdm8gXCIlc1wiIHRlbSBtb2RvICUwNW9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Njk2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBpbm9kZSBjb3VudCB0b28gYmlnLlxuIgorbXNnc3RyICJBdmlzbzogY29udGFnZW0gZGUgaW5vZGVzIGdyYW5kZSBkZW1haXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc1NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NjMKK21zZ2lkICJyb290IGlub2RlIGlzbid0IGEgZGlyZWN0b3J5IgorbXNnc3RyICJpbm9kZSByYWl6IG7Do28gw6kgdW0gZGlyZXTDs3JpbyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzc1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayBoYXMgYmVlbiB1c2VkIGJlZm9yZS4gTm93IGluIGZpbGUgYCVzJy4iCittc2dzdHIgIk8gYmxvY28gasOhIGZvaSB1c2Fkby4gQWdvcmEgbm8gYXJxdWl2byBcIiVzXCIuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODA4CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTIKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwOAorbXNnaWQgIkNsZWFyIgorbXNnc3RyICJMaW1wYXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgJWQgaW4gZmlsZSBgJXMnIGlzIG1hcmtlZCBub3QgaW4gdXNlLiIKK21zZ3N0ciAiQmxvY28gJWQgbm8gYXJxdWl2byBcIiVzXCIgZXN0w6EgbWFyY2FkbyBjb21vIG7Do28gdXNhZG8uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODIwCittc2dpZCAiQ29ycmVjdCIKK21zZ3N0ciAiQ29ycmV0byIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTU5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRpcmVjdG9yeSAnJXMnIGNvbnRhaW5zIGEgYmFkIGlub2RlIG51bWJlciBmb3IgZmlsZSAnJS4qcycuIgorbXNnc3RyICJPIGRpcmV0w7NyaW8gXCIlc1wiIGNvbnTDqW0gdW0gbsO6bWVybyBkZSBpbm9kZSBpbnbDoWxpZG8gcGFyYSBvIGFycXVpdm8gXCIlLipzXCIuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzNQorbXNnaWQgIiBSZW1vdmUiCittc2dzdHIgIiBSZW1vdmVyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4nIGlzbid0IGZpcnN0XG4iCittc2dzdHIgIiVzOiBkaXJldMOzcmlvIGludsOhbGlkbzogXCIuXCIgbsOjbyDDqSBvIHByaW1laXJvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk4NiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIgorbXNnc3RyICIlczogZGlyZXTDs3JpbyBpbnbDoWxpZG86IFwiLi5cIiBuw6NvIMOpIG8gc2VndW5kb1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDk0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMTcKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAiZXJybyBpbnRlcm5vIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDk3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IHNpemUgPCAzMiIKK21zZ3N0ciAiJXM6IGRpcmV0w7NyaW8gaW52w6FsaWRvOiB0YW1hbmhvIDwgMzIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IGludmFsaWQgaV96b25lLCB1c2UgLS1yZXBhaXIgdG8gZml4XG4iCittc2dzdHIgIiVzOiBkaXJldMOzcmlvIGludsOhbGlkbzogaV96b25lIGludsOhbGlkbywgdXNlIC0tcmVwYWlyIHBhcmEgY29ycmlnaXJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEzMgorbXNnaWQgInNlZWsgZmFpbGVkIGluIGJhZF96b25lIgorbXNnc3RyICJidXNjYSBmYWxob3UgZW0gYmFkX3pvbmUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5OAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbW9kZSBub3QgY2xlYXJlZC4iCittc2dzdHIgIk8gbW9kbyBkbyBpbm9kZSAlbHUgbsOjbyBmb2kgbGltcG8uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTUxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG5vdCB1c2VkLCBtYXJrZWQgdXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiTyBpbm9kZSAlbHUgbsOjbyBlc3TDoSBzZW5kbyB1c2FkbywgbWFzIGVzdMOhIG1hcmNhZG8gY29tbyBlbSB1c28gbm8gYml0bWFwLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSB1c2VkLCBtYXJrZWQgdW51c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICJPIGlub2RlICVsdSBlbSB1c28sIG1hcyBlc3TDoSBtYXJjYWRvIGNvbW8gbsOjbyBzZW5kbyB1c2FkbyBubyBiaXRtYXAuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTQKK21zZ2lkICJTZXQiCittc2dzdHIgIkNvbmZpZ3VyYXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxOAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgKG1vZGUgPSAlMDdvKSwgaV9ubGlua3M9JWQsIGNvdW50ZWQ9JWQuIgorbXNnc3RyICJJbm9kZSAlbHUgKG1vZG8gPSAlMDdvKSwgaV9ubGlua3MgPSAlZCwgY29udGFkb3MgPSAlZC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyMQorbXNnaWQgIlNldCBpX25saW5rcyB0byBjb3VudCIKK21zZ3N0ciAiQ29uZmlndXJhciBpX25saW5rcyBwYXJhIGNvbnRhZ2VtIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTc3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG1hcmtlZCBpbiB1c2UsIG5vIGZpbGUgdXNlcyBpdC4iCittc2dzdHIgIlpvbmEgJWx1OiBtYXJjYWRhIGNvbW8gZW0gdXNvLCBtYXMgbmVuaHVtIGFycXVpdm8gYSB1c2EuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTc5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzUKK21zZ2lkICJVbm1hcmsiCittc2dzdHIgIkRlc21hcmNhciIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiWm9uYSAlbHU6IGVtIHVzbywgY29udGFkb3MgPSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTg3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiWm9uYSAlbHU6IG7Do28gZW0gdXNvLCBjb250YWRvcyA9ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyOTEKK21zZ2lkICJiYWQgaW5vZGUgc2l6ZSIKK21zZ3N0ciAidGFtYW5obyBkZSBpbm9kZSBpbnbDoWxpZG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyOTMKK21zZ2lkICJiYWQgdjIgaW5vZGUgc2l6ZSIKK21zZ3N0ciAidGFtYW5obyBkZSBpbm9kZSB2MiBpbnbDoWxpZG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzMzcKK21zZ2lkICJuZWVkIHRlcm1pbmFsIGZvciBpbnRlcmFjdGl2ZSByZXBhaXJzIgorbXNnc3RyICLDqSBuZWNlc3PDoXJpbyB1bSB0ZXJtaW5hbCBwYXJhIHJlcGFyb3MgaW50ZXJhdGl2b3MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgJXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGNsZWFuLCBubyBjaGVjay5cbiIKK21zZ3N0ciAiJXMgZXN0w6EgbGltcG87IHNlbSB2ZXJpZmljYcOnw6NvLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiAlcy5cbiIKK21zZ3N0ciAiRm9yw6dhbmRvIHZlcmlmaWNhw6fDo28gZG8gc2lzdGVtYSBkZSBhcnF1aXZvcyBlbSAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1NworIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIG9uICVzIGlzIGRpcnR5LCBuZWVkcyBjaGVja2luZy5cbiIKK21zZ3N0ciAiTyBzaXN0ZW1hIGRlIGFycXVpdm9zIGVtICVzIGVzdMOhIHN1am87IHByZWNpc2EgZGUgdmVyaWZpY2HDp8Ojby5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZsZCBpbm9kZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlNmxkIGlub2RlcyB1c2Fkb3MgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiU2bGQgem9uZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiU2bGQgem9uYXMgdXNhZGFzICglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM5NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZkIHJlZ3VsYXIgZmlsZXNcbiIKKyIlNmQgZGlyZWN0b3JpZXNcbiIKKyIlNmQgY2hhcmFjdGVyIGRldmljZSBmaWxlc1xuIgorIiU2ZCBibG9jayBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgbGlua3NcbiIKKyIlNmQgc3ltYm9saWMgbGlua3NcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmlsZXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2ZCBhcnF1aXZvcyByZWd1bGFyZXNcbiIKKyIlNmQgZGlyZXTDs3Jpb3NcbiIKKyIlNmQgYXJxdWl2b3MgZGUgZGlzcG9zaXRpdm9zIGRlIGNhcmFjdGVyZXNcbiIKKyIlNmQgYXJxdWl2b3MgZGUgZGlzcG9zaXRpdm9zIGRlIGJsb2NvXG4iCisiJTZkIHbDrW5jdWxvc1xuIgorIiU2ZCB2w61uY3Vsb3Mgc2ltYsOzbGljb3NcbiIKKyItLS0tLS1cbiIKKyIlNmQgYXJxdWl2b3NcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQxMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIkZJTEUgU1lTVEVNIEhBUyBCRUVOIENIQU5HRURcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiTyBTSVNURU1BIERFIEFSUVVJVk9TIEZPSSBBTFRFUkFET1xuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MzMKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTM5IGRpc2stdXRpbHMvcGFydHguYzoxMDM1IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMgorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTggc3lzLXV0aWxzL2RtZXNnLmM6NjU5IHN5cy11dGlscy93ZGN0bC5jOjM0NgorIzogc3lzLXV0aWxzL3dkY3RsLmM6NDExIHRlcm0tdXRpbHMvc2NyaXB0LmM6MjcyIHRlcm0tdXRpbHMvc2NyaXB0LmM6MzQ5CisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI0OAorbXNnaWQgIndyaXRlIGZhaWxlZCIKK21zZ3N0ciAiZ3JhdmHDp8OjbyBmYWxob3UiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbWlnaHQgbm90IGJlIGFuIElTTyBmaWxlc3lzdGVtIgorbXNnc3RyICIlczogcG9kZSBuw6NvIHNlciB1bSBzaXN0ZW1hIGRlIGFycXVpdm9zIElTTyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTM5CisjLCBjLWZvcm1hdAorbXNnaWQgInNlZWsgZXJyb3Igb24gJXMiCittc2dzdHIgImVycm8gZGUgcHJvY3VyYSBlbSAlcyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTQyCisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWQgZXJyb3Igb24gJXMiCittc2dzdHIgImVycm8gZGUgbGVpdHVyYSBlbSAlcyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlY3RvciBjb3VudDogJWQsIHNlY3RvciBzaXplOiAlZFxuIgorbXNnc3RyICJjb250YWdlbSBkZSBzZXRvcjogJWQsIHRhbWFuaG8gZGUgc2V0b3I6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3MAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxpc285NjYwX2ltYWdlX2ZpbGU+XG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIDxhcnF1aXZvX2ltYWdlbV9pc285NjYwPlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzQKK21zZ2lkICJTaG93IHRoZSBsZW5ndGggb2YgYW4gSVNPLTk2NjAgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiTW9zdHJhIG8gdGFtYW5obyBkZSB1bSBzaXN0ZW1hIGRlIGFycXVpdm9zIElTTy05NjYwLlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzcKK21zZ2lkICIgLWQsIC0tZGl2aXNvcj08bnVtYmVyPiAgZGl2aWRlIHRoZSBhbW91bnQgb2YgYnl0ZXMgYnkgPG51bWJlcj5cbiIKK21zZ3N0ciAiIC1kLCAtLWRpdmlzb3I9PG7Dum1lcm8+ICBkaXZpZGUgYSBxdWFudGlkYWRlIGRlIGJ5dGVzIHBvciA8bsO6bWVybz5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTc4Cittc2dpZCAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHNob3cgc2VjdG9yIGNvdW50IGFuZCBzaXplXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBtb3N0cmEgdGFtYW5obyBlIGNvbnRhZ2VtIGRlIHNldG9yc1xuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoyMTAKK21zZ2lkICJpbnZhbGlkIGRpdmlzb3IgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBkaXZpc29yIGludsOhbGlkbyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3DDp8O1ZXNdIGRpc3Bvc2l0aXZvIFtjb250YWdlbS1ibG9jb11cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc3Cittc2dpZCAiTWFrZSBhbiBTQ08gYmZzIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkZheiB1bSBzaXN0ZW1hIGRlIGFycXVpdm9zIGJmcyBkYSBTQ08uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLU4sIC0taW5vZGVzPU5VTSAgICBzcGVjaWZ5IGRlc2lyZWQgbnVtYmVyIG9mIGlub2Rlc1xuIgorIiAtViwgLS12bmFtZT1OQU1FICAgIHNwZWNpZnkgdm9sdW1lIG5hbWVcbiIKKyIgLUYsIC0tZm5hbWU9TkFNRSAgICBzcGVjaWZ5IGZpbGUgc3lzdGVtIG5hbWVcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorIiAtYyAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKKyIgLWwgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAtViBhcyB2ZXJzaW9uIG11c3QgYmUgb25seSBvcHRpb25cbiIKKyIgLWgsIC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiT3DDp8O1ZXM6XG4iCisiIC1OLCAtLWlub2Rlcz1Ow5pNICAgIGVzcGVjaWZpY2EgbsO6bWVybyBkZXNlamFkbyBkZSBpbm9kZXNcbiIKKyIgLVYsIC0tdm5hbWU9Tk9NRSAgICBlc3BlY2lmaWNhIG5vbWUgZG8gdm9sdW1lXG4iCisiIC1GLCAtLWZuYW1lPU5PTUUgICAgZXNwZWNpZmljYSBub21lIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3NcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsaWNhIG8gcXVlIGVzdMOhIHNlbmRvIGZlaXRvXG4iCisiIC1jICAgICAgICAgICAgICAgICAgZXN0YSBvcMOnw6NvIMOpIGlnbm9yYWRhIHNpbGVuY2lvc2FtZW50ZVxuIgorIiAtbCAgICAgICAgICAgICAgICAgIGVzdGEgb3DDp8OjbyDDqSBpZ25vcmFkYSBzaWxlbmNpb3NhbWVudGVcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBleGliZSBpbmZvcm1hw6fDtWVzIGRhIHZlcnPDo28gZSBzYWlcbiIKKyIgICAgICAgICAgICAgICAgICAgICAtViBjb21vIHZlcnPDo28gZGV2ZSBzZXIgYSDDum5pY2Egb3DDp8Ojb1xuIgorIiAtaCwgLS1oZWxwICAgICAgICAgIGV4aWJlIGVzdGEgYWp1ZGEgZSBzYWlcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE0NAorbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAibsO6bWVybyBkZSBpbm9kZXMgaW52w6FsaWRvIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTUwCittc2dpZCAidm9sdW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm5vbWUgZGUgdm9sdW1lIG11aXRvIGxvbmdvIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU3Cittc2dpZCAiZnNuYW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm5vbWUgZGUgZnNuYW1lIG11aXRvIGxvbmdvIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTkzCittc2dpZCAiaW52YWxpZCBibG9jay1jb3VudCIKK21zZ3N0ciAiY29udGFnZW0gZGUgYmxvY29zIGludsOhbGlkYSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBvYnRlciBvIHRhbWFuaG8gZGUgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2tzIGFyZ3VtZW50IHRvbyBsYXJnZSwgbWF4IGlzICVsbHUiCittc2dzdHIgImFyZ3VtZW50byBkZSBibG9jbyBtdWl0byBncmFuZGUsIG3DoXhpbW8gw6kgJWxsdSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIxOQorbXNnaWQgInRvbyBtYW55IGlub2RlcyAtIG1heCBpcyA1MTIiCittc2dzdHIgIm7Dum1lcm8gZXhjZXNzaXZvIGRlIGlub2RlcyAtIG3DoXhpbW8gw6kgNTEyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UsIG5lZWQgYXQgbGVhc3QgJWxsdSBibG9ja3MiCittc2dzdHIgImVzcGHDp28gaW5zdWZpY2llbnRlLCDDqSBuZWNlc3PDoXJpbyBwZWxvIG1lbm9zICVsbHUgYmxvY29zIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZTogJXNcbiIKK21zZ3N0ciAiRGlzcG9zaXRpdm86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVm9sdW1lOiA8JS02cz5cbiIKK21zZ3N0ciAiVm9sdW1lOiA8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJGU25hbWU6IDwlLTZzPlxuIgorbXNnc3RyICJGU25hbWU6IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrU2l6ZTogJWRcbiIKK21zZ3N0ciAiVGFtQmxvY286ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluIDEgYmxvY2spXG4iCittc2dzdHIgIklub2RlczogJWxkIChlbSAxIGJsb2NvKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAlbGx1IGJsb2NrcylcbiIKK21zZ3N0ciAiSW5vZGVzOiAlbGQgKGVtICVsbHUgYmxvY29zKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrczogJWxsdVxuIgorbXNnc3RyICJCbG9jb3M6ICVsbHVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSBlbmQ6ICVkLCBEYXRhIGVuZDogJWRcbiIKK21zZ3N0ciAiSW5vZGUgZmltOiAlZCwgRGFkb3MgZmltOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU3Cittc2dpZCAiZXJyb3Igd3JpdGluZyBzdXBlcmJsb2NrIgorbXNnc3RyICJlcnJvIGRlIGdyYXZhw6fDo28gZGUgc3VwZXJibG9jbyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI3OAorbXNnaWQgImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIKK21zZ3N0ciAiZXJybyBkZSBncmF2YcOnw6NvIGRlIGlub2RlIGRlIHJvb3QiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODMKK21zZ2lkICJlcnJvciB3cml0aW5nIGlub2RlIgorbXNnc3RyICJlcnJvIGRlIGdyYXZhw6fDo28gZGUgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODYKK21zZ2lkICJzZWVrIGVycm9yIgorbXNnc3RyICJlcnJvIGRlIGJ1c2NhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjkyCittc2dpZCAiZXJyb3Igd3JpdGluZyAuIGVudHJ5IgorbXNnc3RyICJlcnJvIGRlIGdyYXZhw6fDo28gZGUgZW50cmFkYSAuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjk2Cittc2dpZCAiZXJyb3Igd3JpdGluZyAuLiBlbnRyeSIKK21zZ3N0ciAiZXJybyBkZSBncmF2YcOnw6NvIGRlIGVudHJhZGEgLi4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2xvc2luZyAlcyIKK21zZ3N0ciAiZXJybyBhbyBmZWNoYXIgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy10IDx0eXBlPl0gW2ZzLW9wdGlvbnNdIDxkZXZpY2U+IFs8c2l6ZT5dXG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIFstdCA8dGlwbz5dIFtvcMOnw7Vlcy1zaXN0LmFycS5dIDxkaXNwb3NpdGl2bz4gWzx0YW1hbmhvPl1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDgKK21zZ2lkICJNYWtlIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiRmF6IHVtIHNpc3RlbWEgZGUgYXJxdWl2b3MgTGludXguXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdCwgLS10eXBlPTx0eXBlPiAgZmlsZXN5c3RlbSB0eXBlOyB3aGVuIHVuc3BlY2lmaWVkLCBleHQyIGlzIHVzZWRcbiIKK21zZ3N0ciAiIgorIiAtdCwgLS10eXBlPTx0aXBvPiAgdGlwbyBkbyBzaXN0ZW1hIGRlIGFycXVpdm9zOyBxdWFuZG8gbsOjbyBlc3BlY2lmaWNhZG8sXG4iCisiICAgICAgICAgICAgICAgICAgICBleHQyIMOpIHVzYWRvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgZnMtb3B0aW9ucyAgICAgcGFyYW1ldGVycyBmb3IgdGhlIHJlYWwgZmlsZXN5c3RlbSBidWlsZGVyXG4iCittc2dzdHIgIiIKKyIgICAgIG9ww6fDtWVzLXNpc3QuYXJxLlxuIgorIiAgICAgICAgICAgICAgICAgICAgcGFyw6JtZXRyb3MgcGFyYSBvIHJlYWwgY29uc3RydXRvciBkZSBzaXN0ZW1hIGRlIGFycXVpdm9zXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiICAgICA8ZGlzcG9zaXRpdm8+ICBjYW1pbmhvIHBhcmEgbyBkaXNwb3NpdGl2byBhIHNlciB1c2Fkb1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxzaXplPiAgICAgICAgIG51bWJlciBvZiBibG9ja3MgdG8gYmUgdXNlZCBvbiB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiAgICAgPHRhbWFuaG8+ICAgICAgbsO6bWVybyBkZSBibG9jb3MgYSBzZXIgdXNhZG8gbm8gZGlzcG9zaXRpdm9cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJib3NlICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmU7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnlpbmcgLVYgbW9yZSB0aGFuIG9uY2Ugd2lsbCBjYXVzZSBhIGRyeS1ydW5cbiIKK21zZ3N0ciAiIgorIiAtViwgLS12ZXJib3NlICAgICAgZXhwbGljYSBvIHF1ZSBlc3TDoSBzZW5kbyBmZWl0bztcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgZXNwZWNpZmljYXIgLVYgbWFpcyBkZSB1bWEgdmV6LCByZXN1bHRhIGVtIHVtYSBzaW11bGHDp8Ojb1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcnNpb24gICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQ7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIC1WIGFzIC0tdmVyc2lvbiBtdXN0IGJlIHRoZSBvbmx5IG9wdGlvblxuIgorbXNnc3RyICIiCisiIC1WLCAtLXZlcnNpb24gICAgICBleGliZSBpbmZvcm1hw6fDtWVzIGRhIHZlcnPDo28gZSBzYWk7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIC1WLCBjb21vIC0tdmVyc2lvbiwgZGV2ZSBzZXIgYSDDum5pY2Egb3DDp8Ojb1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICIgLWgsIC0taGVscCAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1oLCAtLWhlbHAgICAgICAgICBleGliZSBlc3RhIGFqdWRhIGUgc2FpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjEzOSBsaWIvZXhlY19zaGVsbC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjIzMworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjU3IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk5MgorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwMCBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODA0IHNjaGVkdXRpbHMvY2hydC5jOjU1OAorIzogc2NoZWR1dGlscy9pb25pY2UuYzoyNjAgc2NoZWR1dGlscy90YXNrc2V0LmM6MjM5IHN5cy11dGlscy9mbG9jay5jOjEyMgorIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MzAgc3lzLXV0aWxzL3BybGltaXQuYzo2NDQgc3lzLXV0aWxzL3J0Y3dha2UuYzo1NzcKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzI0IHN5cy11dGlscy9zZXRhcmNoLmM6NDAzIHN5cy11dGlscy9zZXRzaWQuYzoxMTUKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozNDAgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjQyIHN5cy11dGlscy91bnNoYXJlLmM6NDYxCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU4MSB0ZXh0LXV0aWxzL3BnLmM6MTM3NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIKK21zZ3N0ciAiZmFsaGEgYW8gZXhlY3V0YXIgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVzYWdlOiAlcyBbLWhdIFstdl0gWy1iIGJsa3NpemVdIFstZSBlZGl0aW9uXSBbLU4gZW5kaWFuXSBbLWkgZmlsZV0gWy1uIG5hbWVdIGRpcm5hbWUgb3V0ZmlsZVxuIgorIiAtaCAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorIiAtdiAgICAgICAgIGJlIHZlcmJvc2VcbiIKKyIgLUUgICAgICAgICBtYWtlIGFsbCB3YXJuaW5ncyBlcnJvcnMgKG5vbi16ZXJvIGV4aXQgc3RhdHVzKVxuIgorIiAtYiBibGtzaXplIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgbXVzdCBlcXVhbCBwYWdlIHNpemVcbiIKKyIgLWUgZWRpdGlvbiBzZXQgZWRpdGlvbiBudW1iZXIgKHBhcnQgb2YgZnNpZClcbiIKKyIgLU4gZW5kaWFuICBzZXQgY3JhbWZzIGVuZGlhbm5lc3MgKGJpZ3xsaXR0bGV8aG9zdCksIGRlZmF1bHQgaG9zdFxuIgorIiAtaSBmaWxlICAgIGluc2VydCBhIGZpbGUgaW1hZ2UgaW50byB0aGUgZmlsZXN5c3RlbSAocmVxdWlyZXMgPj0gMi40LjApXG4iCisiIC1uIG5hbWUgICAgc2V0IG5hbWUgb2YgY3JhbWZzIGZpbGVzeXN0ZW1cbiIKKyIgLXAgICAgICAgICBwYWQgYnkgJWQgYnl0ZXMgZm9yIGJvb3QgY29kZVxuIgorIiAtcyAgICAgICAgIHNvcnQgZGlyZWN0b3J5IGVudHJpZXMgKG9sZCBvcHRpb24sIGlnbm9yZWQpXG4iCisiIC16ICAgICAgICAgbWFrZSBleHBsaWNpdCBob2xlcyAocmVxdWlyZXMgPj0gMi4zLjM5KVxuIgorIiBkaXJuYW1lICAgIHJvb3Qgb2YgdGhlIGZpbGVzeXN0ZW0gdG8gYmUgY29tcHJlc3NlZFxuIgorIiBvdXRmaWxlICAgIG91dHB1dCBmaWxlXG4iCittc2dzdHIgIiIKKyJ1c286ICVzIFstaF0gWy12XSBbLWIgdGFtLWJsa10gWy1lIGVkacOnw6NvXSBbLU4gZW5kaWFuXSBbLWkgYXJxdWl2b10gWy1uIG5vbWVdIG5vbWUtZGlyIGFycS1zYcOtZGFcbiIKKyIgLWggICAgICAgICBleGliZSBlc3RhIGFqdWRhXG4iCisiIC12ICAgICAgICAgbWVuc2FnZW5zIGRldGFsaGFkYXNcbiIKKyIgLUUgICAgICAgICB0b3JuYSB0b2RvcyBvcyBhdmlzb3MgZXJyb3MgKHN0YXR1cyBkZSBzYcOtZGEgbsOjbyB6ZXJvKVxuIgorIiAtYiB0YW0tYmxrIHVzYSBlc3RlIHRhbWFuaG8gZGUgYmxvY287IGRldmUgc2VyIGlndWFsIGVtIHRhbWFuaG8gZGUgcMOhZ2luYXNcbiIKKyIgLWUgZWRpw6fDo28gIGRlZmluZSBuw7ptZXJvIGRlIGVkacOnw6NvIChwYXJ0ZSBkZSBmc2lkKVxuIgorIiAtTiBlbmRpYW4gIGRlZmluZSBuw612ZWwgZGUgZW5kaWFuIGRvIGNyYW1mcyAoYmlnfGxpdHRsZXxob3N0KSwgcGFkcsOjbyDDqSBob3N0XG4iCisiIC1pIGFycXVpdm8gaW5zZXJlIHVtYSBpbWFnZW0gZGUgYXJxdWl2byBubyBzaXN0ZW1hIGRlIGFycXVpdm9zXG4iCisiICAgICAgICAgICAgKHJlcXVlciA+PSAyLjQuMClcbiIKKyIgLW4gbm9tZSAgICBkZWZpbmUgbyBub21lIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3MgY3JhbWZzXG4iCisiIC1wICAgICAgICAgcHJlZW5jaGUgZW0gJWQgYnl0ZXMgcGFyYSBjw7NkaWdvIGRlIGluaWNpYWxpemHDp8Ojb1xuIgorIiAtcyAgICAgICAgIG9yZGVuYSByZWdpc3Ryb3MgZG8gZGlyZXTDs3JpbyAob3DDp8OjbyBhbnRpZ2EsIGlnbm9yYWRhKVxuIgorIiAteiAgICAgICAgIHRvcm5hIGJ1cmFjb3MgZXhwbMOtY2l0b3MgKHJlcXVlciA+PSAyLjMuMzkpXG4iCisiIG5vbWUtZGlyICAgcmFpeiBkbyBzaXN0ZW1hIGRlIGFycXVpdm9zIGEgc2VyIGNvbXByaW1pZG9cbiIKKyIgYXJxLXNhw61kYSAgYXJxdWl2byBkZSBzYcOtZGFcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICJyZWFkbGluayBmYWxob3U6ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzA4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGxlciBvIGRpcmV0w7NyaW8gJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo0NDMKK21zZ2lkICJmaWxlc3lzdGVtIHRvbyBiaWcuICBFeGl0aW5nLiIKK21zZ3N0ciAic2lzdGVtYSBkZSBhcnF1aXZvIMOpIGdyYW5kZSBkZW1haXMuIFNhaW5kby4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQUlFRUU6IGJsb2NrIFwiY29tcHJlc3NlZFwiIHRvID4gMipibG9ja2xlbmd0aCAoJWxkKVxuIgorbXNnc3RyICJBSUVFRSwgYmxvY28gXCJjb21wcmVzc2VkXCIgcGFyYSA+IDIgKiB0YW1hbmhvIGRvIGJsb2NvICglbGQpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTYuMmYlJSAoJStsZCBieXRlcylcdCVzXG4iCittc2dzdHIgIiU2LjJmJSUgKCUrbGQgYnl0ZXMpXHQlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjbG9zZSBmaWxlICVzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZmVjaGFyIG8gYXJxdWl2byBcIiVzXCIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MzIKK21zZ2lkICJpbnZhbGlkIGVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIG7Dum1lcm8gZGUgZWRpw6fDo28iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgImZvaSBkYWRvIHVtIG7DrXZlbCBkZSBlbmRpYW4gaW52w6FsaWRvOyBkZXZlIHNlciBcImJpZ1wiLCBcImxpdHRsZVwiIG91IFwiaG9zdFwiIgorCisjIGd1ZXN0aW1hdGUgPSBndWVzcyAmIGVzdGltYXRlCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGd1ZXN0aW1hdGUgb2YgcmVxdWlyZWQgc2l6ZSAodXBwZXIgYm91bmQpIGlzICVsbGRNQiwgYnV0IG1heGltdW0gaW1hZ2Ugc2l6ZSBpcyAldU1CLiAgV2UgbWlnaHQgZGllIHByZW1hdHVyZWx5LiIKK21zZ3N0ciAiYXZpc286IGVzdGltYXRpdmEvY2h1dGUgZGUgdGFtYW5obyBuZWNlc3PDoXJpbyAobGltaXRlIG3DoXhpbW8pIMOpIGRlICVsbGRNQiwgbWFzIG8gdGFtYW5obyBtw6F4aW1vIGRlIGltYWdlbSDDqSAldU1CLiBQb2RlbW9zIG1vcnJlciBwcmVtYXR1cmFtZW50ZS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MzAKK21zZ2lkICJST00gaW1hZ2UgbWFwIgorbXNnc3RyICJtYXBhIGRlIGltYWdlbSBkZSBST00iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5jbHVkaW5nOiAlc1xuIgorbXNnc3RyICJJbmNsdWluZG86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlyZWN0b3J5IGRhdGE6ICV6ZCBieXRlc1xuIgorbXNnc3RyICJEYWRvcyBkZSBkaXJldMOzcmlvOiAlemQgYnl0ZXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg1NgorIywgYy1mb3JtYXQKK21zZ2lkICJFdmVyeXRoaW5nOiAlemQga2lsb2J5dGVzXG4iCittc2dzdHIgIlR1ZG86ICV6ZCBraWxvYnl0ZXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2MQorIywgYy1mb3JtYXQKK21zZ2lkICJTdXBlciBibG9jazogJXpkIGJ5dGVzXG4iCittc2dzdHIgIlN1cGVyYmxvY286ICV6ZCBieXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNSQzogJXhcbiIKK21zZ3N0ciAiQ1JDOiAleFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODczCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UgYWxsb2NhdGVkIGZvciBST00gaW1hZ2UgKCVsbGQgYWxsb2NhdGVkLCAlenUgdXNlZCkiCittc2dzdHIgImVzcGHDp28gYWxvY2FkbyBpbnN1ZmljaWVudGUgcGFyYSBpbWFnZW0gUk9NICglbGxkIGFsb2NhZG8sICV6dSB1c2FkbykiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9NIGltYWdlIHdyaXRlIGZhaWxlZCAoJXpkICV6ZCkiCittc2dzdHIgImdyYXZhw6fDo28gZGUgaW1hZ2VtIFJPTSBmYWxob3UgKCV6ZCAlemQpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODgyCittc2dpZCAiUk9NIGltYWdlIgorbXNnc3RyICJpbWFnZW0gUk9NIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODkxCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGVuYW1lcyB0cnVuY2F0ZWQgdG8gJXUgYnl0ZXMuIgorbXNnc3RyICJhdmlzbzogbm9tZXMgZGUgYXJxdWl2b3MgdHJ1bmNhZG9zIGVtICV1IGJ5dGVzLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MworbXNnaWQgIndhcm5pbmc6IGZpbGVzIHdlcmUgc2tpcHBlZCBkdWUgdG8gZXJyb3JzLiIKK21zZ3N0ciAiYXZpc286IGFycXVpdm9zIGZvcmFtIHB1bGFkb3MgcG9yIGNhdXNhIGRlIGVycm9zLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlIHNpemVzIHRydW5jYXRlZCB0byAlbHVNQiAobWludXMgMSBieXRlKS4iCittc2dzdHIgImF2aXNvOiB0YW1hbmhvcyBkZSBhcnF1aXZvIHRydW5jYWRvcyBlbSAlbHVNQiAobWVub3MgMSBieXRlKS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdWlkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAiYXZpc286IHVpZHMgdHJ1bmNhZG9zIGVtICV1IGJpdHMuIChJc3NvIHBvZGUgc2VyIHVtIHByb2JsZW1hIGRlIHNlZ3VyYW7Dp2EpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGdpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgImF2aXNvOiBnaWRzIHRydW5jYWRvcyBlbSAldSBiaXRzLiAoSXNzbyBwb2RlIHNlciB1bSBwcm9ibGVtYSBkZSBzZWd1cmFuw6dhKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogZGV2aWNlIG51bWJlcnMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICBUaGlzIGFsbW9zdCBjZXJ0YWlubHkgbWVhbnNcbiIKKyJ0aGF0IHNvbWUgZGV2aWNlIGZpbGVzIHdpbGwgYmUgd3JvbmcuIgorbXNnc3RyICIiCisiQVZJU086IG7Dum1lcm9zIGRlIGRpc3Bvc2l0aXZvcyB0cnVuY2Fkb3MgZW0gJXUgYml0cy4gSXNzbyBjb20gcXVhc2UgY2VydGV6YVxuIgorInNpZ25pZmljYSBxdWUgYWxndW5zIGRpc3Bvc2l0aXZvcyBmaWNhcsOjbyBlcnJhZG9zLiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gL2Rldi9uYW1lIFtibG9ja3NdXG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIC9kZXYvbm9tZSBbYmxvY29zXVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzcKK21zZ2lkICIgLTEgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMVxuIgorbXNnc3RyICIgLTEgICAgICAgICAgICAgICAgICAgICAgdXNhIE1pbml4IHZlcnPDo28gMVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzgKK21zZ2lkICIgLTIsIC12ICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMlxuIgorbXNnc3RyICIgLTIsIC12ICAgICAgICAgICAgICAgICAgdXNhIE1pbml4IHZlcnPDo28gMlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzkKK21zZ2lkICIgLTMgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gM1xuIgorbXNnc3RyICIgLTMgICAgICAgICAgICAgICAgICAgICAgdXNhIE1pbml4IHZlcnPDo28gM1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDAKK21zZ2lkICIgLW4sIC0tbmFtZWxlbmd0aCA8bnVtPiAgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzXG4iCittc2dzdHIgIiAtbiwgLS1uYW1lbGVuZ3RoIDxuw7ptPiAgdGFtYW5obyBtw6F4aW1vIGRlIG5vbWVzIGRlIGFycXVpdm9zXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MQorbXNnaWQgIiAtaSwgLS1pbm9kZXMgPG51bT4gICAgICBudW1iZXIgb2YgaW5vZGVzIGZvciB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLWksIC0taW5vZGVzIDxuw7ptPiAgICAgIG7Dum1lcm8gZGUgaW5vZGVzIHBhcmEgbyBzaXN0ZW1hIGRlIGFycXVpdm9zXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MgorbXNnaWQgIiAtYywgLS1jaGVjayAgICAgICAgICAgICBjaGVjayB0aGUgZGV2aWNlIGZvciBiYWQgYmxvY2tzXG4iCittc2dzdHIgIiAtYywgLS1jaGVjayAgICAgICAgICAgICB2ZXJpZmljYSBvIGRpc3Bvc2l0aXZvIHBvciBibG9jb3MgZGVmZWl0dW9zb3NcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQzCittc2dpZCAiIC1sLCAtLWJhZGJsb2NrcyA8ZmlsZT4gIGxpc3Qgb2YgYmFkIGJsb2NrcyBmcm9tIGZpbGVcbiIKK21zZ3N0ciAiIC1sLCAtLWJhZGJsb2NrcyA8YXJxPiAgIGxpc3RhIGRlIGJsb2NvcyBkZWZlaXR1b3NvcyBkbyBhcnF1aXZvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayB0byBib290IGJsb2NrIGZhaWxlZCAgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIlczogYnVzY2EgZGUgYmxvY28gZGUgaW5pY2lhbGl6YcOnw6NvIGZhbGhvdSBlbSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGNsZWFyIGJvb3Qgc2VjdG9yIgorbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIGxpbXBhciBvIHNldG9yIGRlIGluaWNpYWxpemHDp8OjbyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgIiVzOiBidXNjYSBmYWxob3UgZW0gd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAiJXM6IG7Do28gZm9pIHBvc3PDrXZlbCBncmF2YXIgc3VwZXJibG9jbyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIGdyYXZhciBtYXBhIGRlIGlub2RlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgem9uZSBtYXAiCittc2dzdHIgIiVzOiBuw6NvIGZvaSBwb3Nzw612ZWwgZ3JhdmFyIG1hcGEgZGUgem9uYXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiJXM6IG7Do28gZm9pIHBvc3PDrXZlbCBncmF2YXIgaW5vZGVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICIlczogYnVzY2EgZmFsaG91IGVtIHdyaXRlX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6IGdyYXZhw6fDo28gZmFsaG91IGVtIHdyaXRlX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMjEgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Mjk2CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzozNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBtYW55IGJhZCBibG9ja3MiCittc2dzdHIgIiVzOiBuw7ptZXJvIGV4Y2Vzc2l2byBkZSBibG9jb3MgZGVmZWl0dW9zb3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGVub3VnaCBnb29kIGJsb2NrcyIKK21zZ3N0ciAiJXM6IGJsb2NvcyBzZW0gcHJvYmxlbWFzIGluc3VmaWNpZW50ZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRmlyc3QgZGF0YSBibG9jayBhdCAlamQsIHdoaWNoIGlzIHRvbyBmYXIgKG1heCAlZCkuXG4iCisiVHJ5IHNwZWNpZnlpbmcgZmV3ZXIgaW5vZGVzIGJ5IHBhc3NpbmcgLS1pbm9kZXMgPG51bT4iCittc2dzdHIgIiIKKyJQcmltZWlybyBibG9jbyBkZSBkYWRvcyBlbSAlamQsIG8gcXVlIMOpIG11aXRvIGxvbmdlIChtw6F4ICVkKS5cbiIKKyJUZW50ZSBlc3BlY2lmaWNhciBtZW5vcyBpbm9kZXMgY29tIGEgb3DDp8OjbyAtLWlub2RlcyA8bsO6bT4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgaW5vZGVcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGlub2Rlc1xuIgorbXNnc3RyWzBdICIlbHUgaW5vZGVcbiIKK21zZ3N0clsxXSAiJWx1IGlub2Rlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVsdSBibG9ja3NcbiIKK21zZ3N0clswXSAiJWx1IGJsb2NvXG4iCittc2dzdHJbMV0gIiVsdSBibG9jb3NcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSV6dVxuIgorbXNnc3RyICJUYW1hbmhvIGRhIHpvbmEgPSAlenVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJNYXhzaXplPSV6dVxuIgorIlxuIgorbXNnc3RyICIiCisiVGFtYW5obyBtw6F4aW1vID0gJXp1XG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgZHVyaW5nIHRlc3Rpbmcgb2YgYmxvY2tzIgorbXNnc3RyICIlczogYnVzY2EgZmFsaG91IGR1cmFudGUgdGVzdGUgZGUgYmxvY29zIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VpcmQgdmFsdWVzIGluIGRvX2NoZWNrOiBwcm9iYWJseSBidWdzXG4iCittc2dzdHIgIlZhbG9yZXMgZXN0cmFuaG9zIGVtIGRvX2NoZWNrOiBwcm92YXZlbG1lbnRlIGVycm9zXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIgorbXNnc3RyICIlczogYnVzY2EgZmFsaG91IGVtIGNoZWNrX2Jsb2NrcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgYmxvY2tzIGJlZm9yZSBkYXRhLWFyZWE6IGNhbm5vdCBtYWtlIGZzIgorbXNnc3RyICIlczogYmxvY29zIGRlZmVpdHVvc29zIGFudGVzIGRhIMOhcmVhIGRlIGRhZG9zOiBuw6NvIMOpIHBvc3PDrXZlbCBjcmlhciBzaXN0ZW1hIGRlIGFycXVpdm9zIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MzkgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGJhZCBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlZCBiYWQgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVkIGJsb2NvIGRlZmVpdHVvc29cbiIKK21zZ3N0clsxXSAiJWQgYmxvY29zIGRlZmVpdHVvc29zXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgb3BlbiBmaWxlIG9mIGJhZCBibG9ja3MiCittc2dzdHIgIiVzOiBuw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgYXJxdWl2byBkZSBibG9jb3MgZGVmZWl0dW9zb3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1MworIywgYy1mb3JtYXQKK21zZ2lkICJiYWRibG9jayBudW1iZXIgaW5wdXQgZXJyb3Igb24gbGluZSAlZFxuIgorbXNnc3RyICJlcnJvIGRlIGVudHJhZGEgZGUgbsO6bWVybyBkZSBibG9jb3MgZGVmZWl0dW9zb3MgbmEgbGluaGEgJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBiYWRibG9ja3MgZmlsZSIKK21zZ3N0ciAiJXM6IG7Do28gZm9pIHBvc3PDrXZlbCBsZXIgYXJxdWl2byBkZSBibG9jb3MgZGVmZWl0dW9zb3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5NAorIywgYy1mb3JtYXQKK21zZ2lkICJibG9jayBzaXplIHNtYWxsZXIgdGhhbiBwaHlzaWNhbCBzZWN0b3Igc2l6ZSBvZiAlcyIKK21zZ3N0ciAidGFtYW5obyBkZSBibG9jbyBtZW5vciBkbyBxdWUgbyB0YW1hbmhvIGRvIHNldG9yIGbDrXNpY28gZGUgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5NworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNpemUgb2YgJXMiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBkZXRlcm1pbmFyIG8gdGFtYW5obyBkZSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZXF1ZXN0ZWQgYmxvY2tzICglbGx1KSBleGNlZWRzIGF2YWlsYWJsZSAoJWxsdSkgYmxvY2tzXG4iCittc2dzdHIgIiVzOiBvcyBibG9jb3MgcmVxdWlzaXRhZG9zICglbGx1KSBleGNlZGVtIG9zICglbGx1KSBibG9jb3MgZGlzcG9uw612ZWlzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbnVtYmVyIG9mIGJsb2NrcyB0b28gc21hbGwiCittc2dzdHIgIiVzOiBuw7ptZXJvIGRlIGJsb2NvcyBwZXF1ZW5vcyBkZW1haXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbmFtZSBsZW5ndGg6ICVkIgorbXNnc3RyICJzZW0gc3Vwb3J0ZSBhbyB0YW1hbmhvIGRlIG5vbWU6ICVkIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbWluaXggZmlsZSBzeXN0ZW0gdmVyc2lvbjogJWQiCittc2dzdHIgIlNlbSBzdXBvcnRlIMOgIHZlcnPDo28gZGUgc2lzdGVtYSBkZSBhcnF1aXZvcyBtaW5peDogJWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc2NworbXNnaWQgIi12IGlzIGFtYmlndW91cywgdXNlICctMicgaW5zdGVhZCIKK21zZ3N0ciAiLXYgw6kgYW1iw61ndW8sIHVzZSBcIi0yXCIgYW8gaW52w6lzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NzgKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBjb21wcmltZW50byBtw6F4aW1vIGRlIG5vbWVzIGRlIGFycXVpdm9zIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgbsO6bWVybyBkZSBpbm9kZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgwNgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgYmxvY2tzIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBuw7ptZXJvIGRlIGJsb2NvcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2UgYSBmaWxlc3lzdGVtIGhlcmUhIgorbXNnc3RyICIlcyBlc3TDoSBtb250YWRvOyBuw6NvIGNyaWFyw6EgdW0gc2lzdGVtYSBkZSBhcnF1aXZvcyBhcXVpISIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICV1IgorbXNnc3RyICJUYW1hbmhvIGRlIHDDoWdpbmEgZXNwZWNpZmljYWRvIHBlbG8gdXN1w6FyaW8gJXUgaW52w6FsaWRvIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIHVzZXItc3BlY2lmaWVkIHBhZ2Ugc2l6ZSAlZCwgaW5zdGVhZCBvZiB0aGUgc3lzdGVtIHZhbHVlICVkIgorbXNnc3RyICJVc2FuZG8gdGFtYW5obyBkZSBww6FnaW5hIGVzcGVjaWZpY2FkbyBwZWxvIHVzdcOhcmlvICVkLCBlbSB2ZXogZG9zIHZhbG9yZXMgZG8gc2lzdGVtYSAlZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMjQKK21zZ2lkICJMYWJlbCB3YXMgdHJ1bmNhdGVkLiIKK21zZ3N0ciAiUsOzdHVsbyBlc3RhdmEgdHJ1bmNhZG8uIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBsYWJlbCwgIgorbXNnc3RyICJuZW5odW0gcsOzdHVsbywgIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyB1dWlkXG4iCittc2dzdHIgIm5lbmh1bSB1dWlkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdIGRldmljZSBbc2l6ZV1cbiIKK21zZ3N0ciAiIgorIlxuIgorIlVzbzpcbiIKKyIgJXMgW29ww6fDtWVzXSBkaXNwb3NpdGl2byBbdGFtYW5ob11cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTIKK21zZ2lkICJTZXQgdXAgYSBMaW51eCBzd2FwIGFyZWEuXG4iCittc2dzdHIgIlByZXBhcmEgdW1hIMOhcmVhIGRlIHN3YXAgTGludXguXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIGNoZWNrIGJhZCBibG9ja3MgYmVmb3JlIGNyZWF0aW5nIHRoZSBzd2FwIGFyZWFcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBhbGxvdyBzd2FwIHNpemUgYXJlYSBiZSBsYXJnZXIgdGhhbiBkZXZpY2VcbiIKKyIgLXAsIC0tcGFnZXNpemUgU0laRSAgICAgICBzcGVjaWZ5IHBhZ2Ugc2l6ZSBpbiBieXRlc1xuIgorIiAtTCwgLS1sYWJlbCBMQUJFTCAgICAgICAgIHNwZWNpZnkgbGFiZWxcbiIKKyIgLXYsIC0tc3dhcHZlcnNpb24gTlVNICAgICBzcGVjaWZ5IHN3YXAtc3BhY2UgdmVyc2lvbiBudW1iZXJcbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICBzcGVjaWZ5IHRoZSB1dWlkIHRvIHVzZVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9ww6fDtWVzOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIHZlcmlmaWNhIHBvciBibG9jb3MgZGVmZWl0dW9zb3MgYW50ZXMgZGUgY3JpYXIgYVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIMOhcmVhIGRlIHN3YXBcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBwZXJtaXRlIHF1ZSBhIMOhcmVhIGRlIHRhbWFuaG8gZGUgc3dhcCBzZWphXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpb3IgZG8gcXVlIGEgZG8gZGlzcG9zaXRpdm9cbiIKKyIgLXAsIC0tcGFnZXNpemUgVEFNQU5ITyAgICBlc3BlY2lmaWNhIG8gdGFtYW5obyBkZSBww6FnaW5hcyBlbSBieXRlc1xuIgorIiAtTCwgLS1sYWJlbCBSw5NUVUxPICAgICAgICBlc3BlY2lmaWNhIG8gcsOzdHVsb1xuIgorIiAtdiwgLS1zd2FwdmVyc2lvbiBOw5pNRVJPICBlc3BlY2lmaWNhIG8gbsO6bWVybyBkYSB2ZXJzw6NvIGRvIGVzcGHDp28gZGUgc3dhcFxuIgorIiAtVSwgLS11dWlkIFVVSUQgICAgICAgICAgIGVzcGVjaWZpY2EgbyB1dWlkIGEgc2VyIHVzYWRvXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgZXhpYmUgaW5mb3JtYcOnw7VlcyBkYSB2ZXJzw6NvIGUgc2FpXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgZXhpYmUgZXN0YSBhanVkYSBlIHNhaVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBiYWQgcGFnZXM6ICVsdSIKK21zZ3N0ciAibsO6bWVybyBleGNlc3Npdm8gZGUgcMOhZ2luYXMgaW52w6FsaWRhczogJWx1IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE5NQorbXNnaWQgInNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAiYnVzY2EgZmFsaG91IGVtIGNoZWNrX2Jsb2NrcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJhZCBwYWdlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBiYWQgcGFnZXNcbiIKK21zZ3N0clswXSAiJWx1IHDDoWdpbmFzIGludsOhbGlkYXNcbiIKK21zZ3N0clsxXSAiJWx1IHDDoWdpbmFzIGludsOhbGlkYXNcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMjgKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgbmV3IGxpYmJsa2lkIHByb2JlIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYWxvY2FyIG5vdmEgZXhhbWluYcOnw6NvIGNvbSBsaWJibGtpZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMzAKK21zZ2lkICJ1bmFibGUgdG8gYXNzaWduIGRldmljZSB0byBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGRlc2lnbmFyIHVtIGRpc3Bvc2l0aXZvIHBhcmEgZXhhbWluYXIgY29tIGxpYmJsa2lkIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjaGVja2luZyBiYWQgYmxvY2tzIGZyb20gc3dhcCBmaWxlIGlzIG5vdCBzdXBwb3J0ZWQ6ICVzIgorbXNnc3RyICJhdmlzbzogc2VtIHN1cG9ydGUgYSB2ZXJpZmljYcOnw6NvIGRlIGJsb2NvcyBkZWZlaXR1b3NvcyBkZSBhcnF1aXZvIHN3YXA6ICVzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI2MSBkaXNrLXV0aWxzL21rc3dhcC5jOjI4NyBkaXNrLXV0aWxzL21rc3dhcC5jOjMzNAorbXNnaWQgInVuYWJsZSB0byByZXdpbmQgc3dhcC1kZXZpY2UiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCByZWJvYmluYXIgbyBkaXNwb3NpdGl2byBkZSBzd2FwIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI5MAorbXNnaWQgInVuYWJsZSB0byBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYXBhZ2FyIHNldG9yZXMgZGUgYml0cyBkZSBpbmljaWFsaXphw6fDo28iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiB3aXBpbmcgb2xkICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIiVzOiBhdmlzbzogYXBhZ2FuZG8gYXNzaW5hdHVyYXMgYW50aWdhcyBkZSAlcy4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiBkb24ndCBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICIlczogYXZpc286IG7Do28gYXBhZ3VlIG9zIHNldG9yZXMgZGUgYml0cyBkZSBpbmljaWFsaXphw6fDo28iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKCVzIHBhcnRpdGlvbiB0YWJsZSBkZXRlY3RlZCkuICIKK21zZ3N0ciAiICAgICAgICAodGFiZWxhIGRlIHBhcnRpw6fDo28gJXMgZGV0ZWN0YWRhKS4gIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgIChjb21waWxlZCB3aXRob3V0IGxpYmJsa2lkKS4gIgorbXNnc3RyICIgICAgICAgIChjb21waWxhZG8gc2VtIGxpYmJsa2lkKS4gIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICJVc2UgLWYgdG8gZm9yY2UuXG4iCittc2dzdHIgIlVzZSAtZiBwYXJhIGZvcsOnYXIuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc2lnbmF0dXJlIHBhZ2UiCittc2dzdHIgIiVzOiBuw6NvIGZvaSBwb3Nzw612ZWwgZ3JhdmFyIGEgcMOhZ2luYSBkZSBhc3NpbmF0dXJhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4MAorbXNnaWQgInBhcnNpbmcgcGFnZSBzaXplIGZhaWxlZCIKK21zZ3N0ciAiYW7DoWxpc2UgZGUgdGFtYW5obyBkZSBww6FnaW5hIGZhbGhvdSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODYKK21zZ2lkICJwYXJzaW5nIHZlcnNpb24gbnVtYmVyIGZhaWxlZCIKK21zZ3N0ciAiYW7DoWxpc2UgZGUgbsO6bWVybyBkZSB2ZXJzw6NvIGZhbGhvdSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcHNwYWNlIHZlcnNpb24gJWQgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAic2VtIHN1cG9ydGUgYSBlc3Bhw6dvIGRlIHN3YXAgdmVyc8OjbyAlZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogaWdub3JpbmcgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCBieSAlcykiCittc2dzdHIgImF2aXNvOiBpZ25vcmFuZG8gLVUgKCVzIG7Do28gb2ZlcmVjZSBzdXBvcnRlIGEgVVVJRHMpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQxNAorbXNnaWQgIm9ubHkgb25lIGRldmljZSBhcmd1bWVudCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIgorbXNnc3RyICJow6Egc3Vwb3J0ZSwgYXR1YWxtZW50ZSwgYXBlbmFzIGEgdW0gYXJndW1lbnRvIGRlIGRpc3Bvc2l0aXZvIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQyMQorbXNnaWQgImVycm9yOiBwYXJzaW5nIFVVSUQgZmFpbGVkIgorbXNnc3RyICJlcnJvOiBhbsOhbGlzZSBkZSBVVUlEIGZhbGhvdSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzAKK21zZ2lkICJlcnJvcjogTm93aGVyZSB0byBzZXQgdXAgc3dhcCBvbj8iCittc2dzdHIgImVycm86IG5lbmh1bSBsdWdhciBwYXJhIHNlIGNvbmZpZ3VyYXIgc3dhcD8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDM2Cittc2dpZCAiaW52YWxpZCBibG9jayBjb3VudCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBkZSBjb250YWdlbSBkZSBibG9jb3MiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzaXplICVsbHUgS2lCIGlzIGxhcmdlciB0aGFuIGRldmljZSBzaXplICU8UFJJdTY0PiBLaUIiCittc2dzdHIgImVycm86IHRhbWFuaG8gJWxsdSBLQiDDqSBtYWlvciBkbyBxdWUgbyB0YW1hbmhvIGRvIGRpc3Bvc2l0aXZvLCAlPFBSSXU2ND4gS0IiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDUxCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzd2FwIGFyZWEgbmVlZHMgdG8gYmUgYXQgbGVhc3QgJWxkIEtpQiIKK21zZ3N0ciAiZXJybzogw6FyZWEgZGUgc3dhcCBwcmVjaXNhIHRlciBwZWxvIG1lbm9zICVsZCBLQiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdHJ1bmNhdGluZyBzd2FwIGFyZWEgdG8gJWxsdSBLaUIiCittc2dzdHIgImF2aXNvOiByZWR1emluZG8gw6FyZWEgZGUgc3dhcCBwYXJhICVsbHUgS0IiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIHN3YXBzcGFjZSIKK21zZ3N0ciAiZXJybzogJXMgZXN0w6EgbW9udGFkbzsgbsOjbyBjcmlhcsOhIHVtIGVzcGHDp28gZGUgc3dhcCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0Njggc3lzLXV0aWxzL3N3YXBvbi5jOjUyNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgcGVybWlzc2lvbnMgJTA0bywgJTA0byBzdWdnZXN0ZWQuIgorbXNnc3RyICIlczogcGVybWlzc8O1ZXMgaW5zZWd1cmFzICUwNG8sIHN1Z2VyZS1zZSAlMDRvLiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NzIgc3lzLXV0aWxzL3N3YXBvbi5jOjUzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgZmlsZSBvd25lciAlZCwgMCAocm9vdCkgc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IHByb3ByaWV0w6FyaW8gZGUgYXJxdWl2byBpbnNlZ3VybyAlZDsgc3VnZXJlLXNlIDAgKHJvb3QpLiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0ODcKK21zZ2lkICJVbmFibGUgdG8gc2V0IHVwIHN3YXAtc3BhY2U6IHVucmVhZGFibGUiCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBjb25maWd1cmFyIGVzcGHDp28gZGUgc3dhcDogaWxlZ8OtdmVsIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIHVwIHN3YXBzcGFjZSB2ZXJzaW9uICVkLCBzaXplID0gJXMgKCU8UFJJdTY0PiBieXRlcylcbiIKK21zZ3N0ciAiQ29uZmlndXJhbmRvIGVzcGHDp28gZGUgc3dhcCB2ZXJzw6NvICVkLCB0YW1hbmhvID0gJXMgKCU8UFJJdTY0PiBieXRlcylcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBvYnRhaW4gc2VsaW51eCBmaWxlIGxhYmVsIgorbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIG9idGVyIG8gcsOzdHVsbyBkZSBhcnF1aXZvIHNlbGludXgiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE1Cittc2dpZCAidW5hYmxlIHRvIG1hdGNocGF0aGNvbigpIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZmF6ZXIgbWF0Y2hwYXRoY29uKCkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE4Cittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBuZXcgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZ3JhdmFyIG5vdm8gY29udGV4dG8gc2VsaW51eCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjAKK21zZ2lkICJjb3VsZG4ndCBjb21wdXRlIHNlbGludXggY29udGV4dCIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGNvbXB1dGFyIG8gY29udGV4dG8gc2VsaW51eCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlbGFiZWwgJXMgdG8gJXMiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCByb3R1bGFyIG5vdmFtZW50ZSAlcyBwYXJhICVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODYKK21zZ2lkICJwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJuw7ptZXJvIGRhIHBhcnRpw6fDo28iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NworbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIKK21zZ3N0ciAiaW7DrWNpbyBkYSBwYXJ0acOnw6NvIGVtIHNldG9yZXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OAorbXNnaWQgImVuZCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgImZpbSBkYSBwYXJ0acOnw6NvIGVtIHNldG9yZXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OQorbXNnaWQgIm51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJuw7ptZXJvIGRlIHNldG9yZXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MAorbXNnaWQgImh1bWFuIHJlYWRhYmxlIHNpemUiCittc2dzdHIgInRhbWFuaG8gbGVnw612ZWwiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MQorbXNnaWQgInBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJub21lIGRhIHBhcnRpw6fDo28iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDggbWlzYy11dGlscy9sc2Jsay5jOjE2OAorbXNnaWQgInBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJVVUlEIGRhIHBhcnRpw6fDo28iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MworbXNnaWQgInBhcnRpdGlvbiB0YWJsZSB0eXBlIChkb3MsIGdwdCwgLi4uKSIKK21zZ3N0ciAidGlwbyBkYSB0YWJlbGEgZGUgcGFydGnDp8OjbyAoZG9zLCBncHQsIC4uLikiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY5Cittc2dpZCAicGFydGl0aW9uIGZsYWdzIgorbXNnc3RyICJvcMOnw7VlcyBkYSBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTUKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSAoYSBzdHJpbmcsIGEgVVVJRCwgb3IgaGV4KSIKK21zZ3N0ciAidGlwbyBkZSBwYXJ0acOnw6NvICh1bWEgc3RyaW5nLCB1bSBVVUlEIG91IGhleGFkZWNpbWFsKSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUwOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjYxNgorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BjeHQiCittc2dzdHIgImZhbGhhIGFvIGluaWNpYWxpemFyIGxvb3BjeHQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIGxvY2FsaXphciBkaXNwb3NpdGl2byBkZSBsb29wIGxpdnJlIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTIyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeWluZyB0byB1c2UgJyVzJyBmb3IgdGhlIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIlRlbnRhbmRvIHVzYXIgXCIlc1wiIHBhcmEgbyBkaXNwb3NpdGl2byBkZSBsb29wXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYmFja2luZyBmaWxlIgorbXNnc3RyICIlczogZmFsaGEgYW8gY29uZmlndXJhciBhcnF1aXZvIGRlIGJhY2tlbmQgKHBhcmEgbG9vcCkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo1NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiBmYWxoYSBhbyBjb25maWd1cmFyIGRpc3Bvc2l0aXZvIGRlIGxvb3AiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxNjEgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozMDcgbWlzYy11dGlscy9maW5kbW50LmM6Mzc2CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MzU0IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM0MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEwNworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzcyIHN5cy11dGlscy9sc2lwYy5jOjIzMiBzeXMtdXRpbHMvbHNucy5jOjE4OQorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyNzcgc3lzLXV0aWxzL3N3YXBvbi5jOjE0NyBzeXMtdXRpbHMvd2RjdGwuYzoxNTEKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAiY29sdW5hIGRlc2NvbmhlY2lkYTogJXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiJXM6IGZhbGhhIGVtIG9idGVyIG8gbsO6bWVybyBkYSBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjg2IGRpc2stdXRpbHMvcGFydHguYzozMjQgZGlzay11dGlscy9wYXJ0eC5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZpZWQgcmFuZ2UgPCVkOiVkPiBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICJmYWl4YSBlc3BlY2lmaWNhZGEgPCVkOiVkPiBuw6NvIGZheiBzZW50aWRvIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MjkwCisjLCBjLWZvcm1hdAorbXNnaWQgInJhbmdlIHJlY291bnQ6IG1heCBwYXJ0bm89JWQsIGxvd2VyPSVkLCB1cHBlcj0lZFxuIgorbXNnc3RyICJyZWNvbnRhZ2VtIGRlIGludGVydmFsbzogbcOheC4gcGFydC4gbsK6PSVkLCBiYWl4bz0lZCwgYWx0bz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiBlcnJvIG5hIGV4Y2x1c8OjbyBkYSBwYXJ0acOnw6NvICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczogZXJybyBuYSBleGNsdXPDo28gZGFzIHBhcnRpw6fDtWVzICVkLSVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlbW92ZWRcbiIKK21zZ3N0ciAiJXM6IHBhcnRpw6fDo28gIyVkIHJlbW92aWRhXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgZG9lc24ndCBleGlzdFxuIgorbXNnc3RyICIlczogcGFydGnDp8OjbyAjJWQgbsOjbyBleGlzdGVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGVsZXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiBleGNsdXPDo28gZGEgcGFydGnDp8OjbyAjJWQgZmFsaG91IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIlczogZXJybyBuYSBhZGnDp8OjbyBkYSBwYXJ0acOnw6NvICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXM6IGVycm8gbmEgYWRpw6fDo28gZGFzIHBhcnRpw6fDtWVzICVkLSVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDA1IGRpc2stdXRpbHMvcGFydHguYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIKK21zZ3N0ciAiJXM6IHBhcnRpw6fDo28gIyVkIGFkaWNpb25hZGFcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYWRkaW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlczogYWRpw6fDo28gZGEgcGFydGnDp8OjbyAjJWQgZmFsaG91IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiBlcnJvIG5hIGF0dWFsaXphw6fDo28gZGEgcGFydGnDp8OjbyAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXM6IGVycm8gbmEgYXR1YWxpemHDp8OjbyBkYXMgcGFydGnDp8O1ZXMgJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiAjJWQiCittc2dzdHIgIiVzOiBuZW5odW1hIHBhcnRpw6fDo28gIyVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlc2l6ZWRcbiIKK21zZ3N0ciAiJXM6IHBhcnRpw6fDo28gIyVkIHJlZGltZW5zaW9uYWRhXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVwZGF0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlczogYXR1YWxpemHDp8OjbyBkYSBwYXJ0acOnw6NvICMlZCBmYWxob3UiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvciwgJTZqdSBNQilcbiIKK21zZ2lkX3BsdXJhbCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvcnMsICU2anUgTUIpXG4iCittc2dzdHJbMF0gIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZXRvciwgJTZqdSBNQilcbiIKK21zZ3N0clsxXSAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNldG9yZXMsICU2anUgTUIpXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1ODEgbWlzYy11dGlscy9maW5kbW50LmM6Njg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjcwNQorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzkxIHN5cy11dGlscy9sc25zLmM6NDU2Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBsaW5lIHRvIG91dHB1dCIKK21zZ3N0ciAiZmFsaGEgYW8gYWRpY2lvbmFyIGxpbmhhIMOgIHNhw61kYSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY0NAorbXNnaWQgImZhaWxlZCB0byBhZGQgZGF0YSB0byBvdXRwdXQgdGFibGUiCittc2dzdHIgImZhbGhhIGFvIGFkaWNpb25hciBkYWRvcyDDoCB0YWJlbGEgZGUgc2HDrWRhIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjY3IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTIyIG1pc2MtdXRpbHMvZmluZG1udC5jOjE1ODUKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODc0IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ1MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjMxMAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTcxMyBzeXMtdXRpbHMvbHNpcGMuYzozMzggc3lzLXV0aWxzL2xzbnMuYzo1MTEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjk3IHN5cy11dGlscy9zd2Fwb24uYzoyODAgc3lzLXV0aWxzL3dkY3RsLmM6MjU5CisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjQ4NAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAiZmFsaGEgYW8gaW5pY2lhbGl6YXIgdGFiZWxhIGRhIHNhw61kYSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY3OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjExIG1pc2MtdXRpbHMvbHNibGsuYzoxODk2CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NjUgc3lzLXV0aWxzL2xvc2V0dXAuYzozMjIgc3lzLXV0aWxzL2xvc2V0dXAuYzozNTgKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MTggc3lzLXV0aWxzL2xzbnMuYzo1MzIgc3lzLXV0aWxzL3BybGltaXQuYzozMDYKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyODkgc3lzLXV0aWxzL3dkY3RsLmM6MjcwIHN5cy11dGlscy96cmFtY3RsLmM6NDkzCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAiZmFsaGEgYW8gaW5pY2lhbGl6YXIgY29sdW5hIGRhIHNhw61kYSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjcyMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBibGtpZCBmaWx0ZXIgZm9yICclcyciCittc2dzdHIgImZhbGhhIGFvIGluaWNpYWxpemFyIGZpbHRybyBibGtpZCBwYXJhIFwiJXNcIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIlczogZmFsaGEgYW8gbGVyIGEgdGFiZWxhIGRlIHBhcnRpw6fDo28iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB0eXBlICclcycgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiJXM6IHRpcG8gZGUgdGFiZWxhIGRlIHBhcnRpw6fDo28gXCIlc1wiIGRldGVjdGFkYVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgd2l0aCBubyBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogdGFiZWxhIGRlIHBhcnRpw6fDo28gY29tIG5lbmh1bWEgcGFydGnDp8OjbyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0aXRpb24+XSA8ZGlzaz5cbiIKK21zZ3N0ciAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8cGFydGnDp8Ojbz5dIDxkaXNjbz5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1NgorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgcHJlc2VuY2UgYW5kIG51bWJlcmluZyBvZiBwYXJ0aXRpb25zLlxuIgorbXNnc3RyICJBdmlzYSBvIGtlcm5lbCBzb2JyZSBhIHByZXNlbsOnYSBlIHF1YW50aWRhZGUgZGUgcGFydGnDp8O1ZXMuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTkKK21zZ2lkICIgLWEsIC0tYWRkICAgICAgICAgICAgYWRkIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtYSwgLS1hZGQgICAgICAgICAgICBhZGljaW9uYSBhcyBwYXJ0acOnw7VlcyBlc3BlY2lmaWNhZGFzIG91IHRvZGFzIGVsYXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MAorbXNnaWQgIiAtZCwgLS1kZWxldGUgICAgICAgICBkZWxldGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIGV4Y2x1aSBhcyBwYXJ0acOnw7VlcyBlc3BlY2lmaWNhZGFzIG91IHRvZGFzIGVsYXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MQorbXNnaWQgIiAtdSwgLS11cGRhdGUgICAgICAgICB1cGRhdGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIC11LCAtLXVwZGF0ZSAgICAgICAgIGF0dWFsaXphIGFzIHBhcnRpw6fDtWVzIGVzcGVjaWZpY2FkYXMgb3UgdG9kYXMgZWxhc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYyCittc2dpZCAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnNcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICBsaXN0YSBhcyBwYXJ0acOnw7Vlc1xuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYzIG1pc2MtdXRpbHMvbHNibGsuYzoxNjIzCittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICBleGliZSBTSVpFIGVtIGJ5dGVzIGVtIHZleiBkZSB1bSBmb3JtYXRvIGxlZ8OtdmVsXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjQKK21zZ2lkICIgLWcsIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tc2hvd1xuIgorbXNnc3RyICIgLWcsIC0tbm9oZWFkaW5ncyAgICAgbsOjbyBleGliZSBjYWJlw6dhbGhvcyBwYXJhIC0tc2hvd1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY1Cittc2dpZCAiIC1uLCAtLW5yIDxuOm0+ICAgICAgIHNwZWNpZnkgdGhlIHJhbmdlIG9mIHBhcnRpdGlvbnMgKGUuZy4gLS1uciAyOjQpXG4iCittc2dzdHIgIiAtbiwgLS1uciA8bjptPiAgICAgICBlc3BlY2lmaWNhIGEgZmFpeGEgZGUgcGFydGnDp8O1ZXMgKGV4LjogLS1uciAyOjQpXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjYKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0YT4gZGVmaW5lIHF1YWlzIGNvbHVuYXMgZGUgc2HDrWRhIHNlIGRldmUgdXNhclxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY3IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM3Cittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1QLCAtLXBhaXJzICAgICAgICAgIHVzYSBvIGZvcm1hdG8gZGUgc2HDrWRhIGNoYXZlPVwidmFsb3JcIlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY4IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM4Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgdXNhIG8gZm9ybWF0byBkZSBzYcOtZGEgbsOjbyB0cmF0YWRvIChyYXcpXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjkKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgc3BlY2lmeSB0aGUgcGFydGl0aW9uIHR5cGUgKGRvcywgYnNkLCBzb2xhcmlzLCBldGMuKVxuIgorbXNnc3RyICIgLXQsIC0tdHlwZSA8dGlwbz4gICAgZXNwZWNpZmljYSBvIHRpcG8gZGEgcGFydGnDp8OjbyAoZG9zLCBic2QsIHNvbGFyaXMsIGV0Yy4pXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzAgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgbW9kbyBkZXRhbGhhZG9cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3NgorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdywgLS1yYXcgb3IgLS1wYWlycyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJDb2x1bmFzIGRpc3BvbsOtdmVpcyAocGFyYSAtLXNob3csIC0tcmF3IG91IC0tcGFpcnMpOlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODQ5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tbnIgPE0tTj4gcmFuZ2UiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIGEgZmFpeGEgLS1uciA8TS1OPiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkyNAorbXNnaWQgInBhcnRpdGlvbiBhbmQgZGlzayBuYW1lIGRvIG5vdCBtYXRjaCIKK21zZ3N0ciAibm9tZSBkZSBkaXNjbyBlIHBhcnRpw6fDo28gbsOjbyBjb25mZXJlbSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1MgorbXNnaWQgIi0tbnIgYW5kIDxwYXJ0aXRpb24+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIi0tbnIgZSA8cGFydGnDp8Ojbz4gc8OjbyBtdXR1YW1lbnRlIGV4Y2x1c2l2YXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFydGl0aW9uOiAlcywgZGlzazogJXMsIGxvd2VyOiAlZCwgdXBwZXI6ICVkXG4iCittc2dzdHIgInBhcnRpw6fDo286ICVzLCBkaXNjbzogJXMsIGJhaXhvOiAlZCwgYWx0bzogJWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRlbGV0ZSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIGV4Y2x1aXIgcGFydGnDp8O1ZXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiJXM6IHNlbSBzdXBvcnRlIGEgZGlzcG9zaXRpdm9zIGRlIGxvb3AgcGFydGljaW9uYWRvcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIHByb2JlciIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIGluaWNpYWxpemFyIGV4YW1pbmFkb3IgYmxraWQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzICUyJHNyYXdOIDxtYWpvcj4gPG1pbm9yPlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPGJsb2NrZGV2aWNlPlxuIgorIiAlMSRzIC1xICUyJHNyYXdOXG4iCisiICUxJHMgLXFhXG4iCittc2dzdHIgIiIKKyIgJTEkcyAlMiRzcmF3TiA8bWFpb3I+IDxtZW5vcj5cbiIKKyIgJTEkcyAlMiRzcmF3TiAvZGV2LzxkaXNwb3NpdGl2by1kZS1ibG9jbz5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjU4Cittc2dpZCAiQmluZCBhIHJhdyBjaGFyYWN0ZXIgZGV2aWNlIHRvIGEgYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICJWaW5jdWxhIHVtIGNhcmFjdGVyZSBuw6NvIHRyYXRhZG8gYSB1bSBkaXNwb3NpdGl2byBkZSBibG9jby5cbiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MQorbXNnaWQgIiAtcSwgLS1xdWVyeSAgICBzZXQgcXVlcnkgbW9kZVxuIgorbXNnc3RyICIgLXEsIC0tcXVlcnkgICAgY29uZmlndXJhIG8gbW9kbyBkZSBjb25zdWx0YVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYyCittc2dpZCAiIC1hLCAtLWFsbCAgICAgIHF1ZXJ5IGFsbCByYXcgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgY29uc3VsdGEgdG9kb3Mgb3MgZGlzcG9zaXRpdm9zXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIHRoZSBjb250cm9sIHJhdyBkZXZpY2UgKHVzZSByYXc8Tj4gd2hlcmUgPE4+IGlzIGdyZWF0ZXIgdGhhbiB6ZXJvKSIKK21zZ3N0ciAiRGlzcG9zaXRpdm8gXCIlc1wiIMOpIG8gZGlzcG9zaXRpdm8gcmF3IGRlIGNvbnRyb2xlICh1c2UgcmF3PE4+LCBzZW5kbyA8Tj4gbWFpb3IgZG8gcXVlIHplcm8pIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4MQorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIGJsb2NrIGRldmljZSAnJXMnIgorbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgbG9jYWxpemFyIG8gZGlzcG9zaXRpdm8gZGUgYmxvY28gXCIlc1wiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIkRpc3Bvc2l0aXZvIFwiJXNcIiBuw6NvIMOpIHVtIGRpc3Bvc2l0aXZvIGRlIGJsb2NvIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE5MyBkaXNrLXV0aWxzL3Jhdy5jOjE5NiBzeXMtdXRpbHMvaXBjcm0uYzozNTEKKyM6IHN5cy11dGlscy9pcGNybS5jOjM2NCBzeXMtdXRpbHMvaXBjcm0uYzozNzcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIGFyZ3VtZW50byIKKworIzogZGlzay11dGlscy9yYXcuYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyIGRpc3Bvc2l0aXZvIHJhdyBtZXN0cmUgXCIlc1wiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIyOAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGxvY2FsaXphciBvIGRpc3Bvc2l0aXZvIHJhdyBcIiVzXCIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJhdyBkZXZpY2UgJyVzJyBpcyBub3QgYSBjaGFyYWN0ZXIgZGV2IgorbXNnc3RyICJPIGRpc3Bvc2l0aXZvIHJhdyBcIiVzXCIgbsOjbyDDqSB1bSBkaXNwb3NpdGl2byBkZSBjYXJhY3RlcmVzIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSByYXcgZGV2IgorbXNnc3RyICJPIGRpc3Bvc2l0aXZvIFwiJXNcIiBuw6NvIMOpIHVtIGRpc3Bvc2l0aXZvIHJhdyIKKworIzogZGlzay11dGlscy9yYXcuYzoyNDUKK21zZ2lkICJFcnJvciBxdWVyeWluZyByYXcgZGV2aWNlIgorbXNnc3RyICJFcnJvIGFvIGNvbnN1bHRhciBvIGRpc3Bvc2l0aXZvIHJhdyIKKworIzogZGlzay11dGlscy9yYXcuYzoyNTQgZGlzay11dGlscy9yYXcuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNyYXclZDogIGJvdW5kIHRvIG1ham9yICVkLCBtaW5vciAlZFxuIgorbXNnc3RyICIlc3JhdyVkOiAgdmluY3VsYWRvIHBhcmEgbWFpb3IgJWQsIG1lbm9yICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjY4Cittc2dpZCAiRXJyb3Igc2V0dGluZyByYXcgZGV2aWNlIgorbXNnc3RyICJFcnJvIGFvIGRlZmluaXIgbyBkaXNwb3NpdGl2byByYXciCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8bGVuZ3RoPlxuIgorbXNnc3RyICIgJXMgPGRpc3Bvc2l0aXZvPiA8bnVtLiBwYXJ0acOnw6NvPiA8Y29tcHJpbWVudG8+XG4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjIzCittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBuZXcgc2l6ZSBvZiBhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiQXZpc2EgbyBrZXJuZWwgc29icmUgbyBub3ZvIHRhbWFuaG8gZGUgdW1hIHBhcnRpw6fDo28uXG4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgcGFydGl0aW9uIG51bWJlciAlcyIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIG9idGVyIGluw61jaW8gZGEgcGFydGnDp8OjbyBkZSBuw7ptZXJvICVzIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDkKK21zZ2lkICJmYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiIKK21zZ3N0ciAiZmFsaGEgYW8gcmVkaW1lbnNpb25hciBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIzMQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBuZXN0ZWQgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAiZmFsaGEgYW8gYWxvY2FyIGNvbnRleHRvIGRlIGxpYmZkaXNrIGFuaW5oYWRvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2VlayAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGJ1c2NhciAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDIgbGliZmRpc2svc3JjL2JzZC5jOjcyMyBsaWJmZGlzay9zcmMvYnNkLmM6ODk0CisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE2MyBzeXMtdXRpbHMvaHdjbG9jay5jOjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgJXMiCittc2dzdHIgIm7Do28gw6kgcG9zc8OtdmVsIGVzY3JldmVyIGVtIFwiJXNcIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTEycyAob2Zmc2V0ICU1anUsIHNpemUgJTVqdSk6ICVzIgorbXNnc3RyICIlMTJzIChwb3Npw6fDo28gJTVqdSwgdGFtYW5obyAlNWp1KTogJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIgorbXNnc3RyICIlczogZmFsaGEgYW8gY3JpYXIgdW0gYmFja3VwIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMyOAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAgZmlsZSwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICJmYWxoYSBhbyBjcmlhciB1bSBhcnF1aXZvIGJhY2t1cCwgJEhPTUUgaW5kZWZpbmlkYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozNTQKK21zZ2lkICJCYWNrdXAgZmlsZXM6IgorbXNnc3RyICJBcnF1aXZvcyBiYWNrdXA6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM3OQorbXNnaWQgImZhaWxlZCB0byByZWFkIG5ldyBwYXJ0aXRpb24gZnJvbSBkZXZpY2U7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJmYWxoYSBhbyBsZXIgbm92YSBwYXJ0acOnw6NvIGRvIGRpc3Bvc2l0aXZvOyBpZ25vcmFuZG8gLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgxCittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiZmFsaGEgYW8gb2J0ZXIgdGFtYW5obyBkYSBub3ZhIHBhcnRpw6fDo287IGlnbm9yYW5kbyAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODMKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiZmFsaGEgYW8gb2J0ZXIgaW7DrWNpbyBkYSBub3ZhIHBhcnRpw6fDo287IGlnbm9yYW5kbyAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODUKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJmYWxoYSBhbyBvYnRlciB0YW1hbmhvIGRhIHBhcnRpw6fDo28gYW50aWdhOyBpZ25vcmFuZG8gLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg3Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImZhbGhhIGFvIG9idGVyIGluw61jaW8gZGEgcGFydGnDp8OjbyBhbnRpZ2E7IGlnbm9yYW5kbyAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODkKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGhhcyBub3QgYmVlbiBtb3ZlZDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIm8gaW7DrWNpbyBkYSBwYXJ0acOnw6NvIG7Do28gZm9pIG1vdmlkbzsgaWdub3JhbmRvIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM5MQorbXNnaWQgIm5ldyBwYXJ0aXRpb24gaXMgc21hbGxlciB0aGFuIG9yaWdpbmFsOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiYSBub3ZhIHBhcnRpw6fDo28gw6kgbWVub3IgcXVlIGEgb3JpZ2luYWw7IGlnbm9yYW5kbyAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDEKK21zZ2lkICJEYXRhIG1vdmU6IgorbXNnc3RyICJNb3ZpbWVudGHDp8OjbyBkZSBkYWRvczoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiB0eXBlc2NyaXB0IGZpbGU6ICVzIgorbXNnc3RyICIgYXJxdWl2byBkZSBzY3JpcHQtZ3JhdmFkbzogJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiBvbGQgc3RhcnQ6ICVqdSwgbmV3IHN0YXJ0OiAlanUgKG1vdmUgJWp1IHNlY3RvcnMpXG4iCittc2dzdHIgIiBpbsOtY2lvIGFudGlnbzogJWp1LCBub3ZvIGluw61jaW86ICVqdSAobW92ZXIgJWp1IHNldG9yZXMpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUxCittc2dpZCAiRG8geW91IHdhbnQgdG8gbW92ZSBwYXJ0aXRpb24gZGF0YT8iCittc2dzdHIgIkRlc2VqYSBtb3ZlciBkYWRvcyBkYSBwYXJ0acOnw6NvPyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTMgZGlzay11dGlscy9zZmRpc2suYzoxNzgzCittc2dpZCAiTGVhdmluZy4iCittc2dzdHIgIkRlaXhhbmRvLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBtb3ZlIGRhdGEiCittc2dzdHIgIiVzOiBmYWxoYSBhbyBtb3ZlciBkYWRvcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDEKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGlzIHVuY2hhbmdlZCAoLS1uby1hY3QpLiIKK21zZ3N0ciAiTyB0YWJlbGEgZGEgcGFydGnDp8OjbyBuw6NvIGZvaSBhbHRlcmFkYSAoLS1uby1hY3QpLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDcKK21zZ2lkICIiCisiXG4iCisiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiIgorIlxuIgorIkEgdGFiZWxhIGRlIHBhcnRpw6fDo28gZm9pIGFsdGVyYWRhLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbGFiZWwgJyVzJyIKK21zZ3N0ciAicsOzdHVsbyBzZW0gc3Vwb3J0ZSBcIiVzXCIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjI2Cittc2dpZCAiIgorIklkICBOYW1lXG4iCisiXG4iCittc2dzdHIgIiIKKyJOb21lIElkXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjU2Cittc2dpZCAidW5yZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorbXNnc3RyICJ0aXBvIGRlIHRhYmVsYSBkZSBwYXJ0acOnw6NvIG7Do28gcmVjb25oZWNpZGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIG9idGVyIG8gdGFtYW5obyBkZSAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidG90YWw6ICVqdSBibG9ja3NcbiIKK21zZ3N0ciAidG90YWw6ICVqdSBibG9jb3NcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MDggZGlzay11dGlscy9zZmRpc2suYzo4NzYgZGlzay11dGlscy9zZmRpc2suYzo5MTcKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTQ3IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxNCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNzgKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzMyBkaXNrLXV0aWxzL3NmZGlzay5jOjExODkgZGlzay11dGlscy9zZmRpc2suYzoxNTMzCittc2dpZCAibm8gZGlzayBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJuZW5odW0gZGlzcG9zaXRpdm8gZGUgZGlzY28gZXNwZWNpZmljYWRvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgxOQorbXNnaWQgInRvZ2dsZSBib290IGZsYWdzIGlzIHN1cHBvcnRlZCBmb3IgTUJSIG9ubHkiCittc2dzdHIgIkjDoSBzdXBvcnRlIMOgIGFsdGVyYcOnw6NvIGRhIG9ww6fDo28gZGUgaW5pY2lhbGl6w6F2ZWwgYXBlbmFzIHBhcmEgTUJSIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg1MCBkaXNrLXV0aWxzL3NmZGlzay5jOjg5NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTkKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4MyBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzggZGlzay11dGlscy9zZmRpc2suYzoxMTk0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MzEgZGlzay11dGlscy9zZmRpc2suYzoyMDEzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgImZhbGhhIGVtIGFuYWxpc2FyIG7Dum1lcm8gZGEgcGFydGnDp8OjbyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlZDogZmFpbGVkIHRvIHRvZ2dsZSBib290YWJsZSBmbGFnIgorbXNnc3RyICIlczogcGFydGnDp8OjbyAlZDogZmFsaGEgYW8gYWx0ZXJhciBhIG9ww6fDo28gaW5pY2lhbGl6w6F2ZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODkxIGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZGVsZXRlIgorbXNnc3RyICIlczogcGFydGnDp8OjbyAlenU6IGZhbGhhIGFvIGV4Y2x1aXIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJBIHVuaWRhZGUgbsOjbyBjb250w6ltIHVtYSB0YWJlbGEgZGUgcGFydGnDp8OjbyBjb25oZWNpZGEuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk1OAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBkdW1wIHN0cnVjdCIKK21zZ3N0ciAiZmFsaGEgYW8gYWxvY2FyIHN0cnVjdCBkZSBkZXNwZWpvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkdW1wIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiZmFsaGEgYW8gZGVzcGVqYXIgYSB0YWJlbGEgZGUgcGFydGnDp8OjbyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiB0YWJsZSBmb3VuZCIKK21zZ3N0ciAiJXM6IG5lbmh1bWEgdGFiZWxhIGRlIHBhcnRpw6fDo28gZW5jb250cmFkYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogcGFydGnDp8OjbyAlenU6IHRhYmVsYSBkZSBwYXJ0acOnw6NvIGNvbnTDqW0gYXBlbmFzICV6dSBwYXJ0acOnw7VlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiBpcyB1bnVzZWQiCittc2dzdHIgIiVzOiBwYXJ0acOnw6NvICV6dTogcGFydGnDp8OjbyBuw6NvIGVzdMOhIHNlbmRvIHVzYWRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTggZGlzay11dGlscy9zZmRpc2suYzoxMDgyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzNworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTkzCittc2dpZCAibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiCittc2dzdHIgIm5lbmh1bSBuw7ptZXJvIGRlIHBhcnRpw6fDo28gZXNwZWNpZmljYWRvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMjQgZGlzay11dGlscy9zZmRpc2suYzoxMDg4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE0MworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTk5Cittc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudHMiCittc2dzdHIgImFyZ3VtZW50b3MgaW5lc3BlcmFkb3MiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiJXM6IHBhcnRpw6fDo28gJXp1OiBmYWxoYSBlbSBvYnRlciBvIHRpcG8gZGEgcGFydGnDp8OjbyIKKworIyBwcmltZWlybyAlcyDDqSByw7N0dWxvLCBzZWd1bmRvICVzIMOpIG8gdGlwbworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDU4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBwYXJ0aXRpb24gdHlwZSAnJXMnIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBwYXJ0acOnw6NvICVzIGRvIHRpcG8gXCIlc1wiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiVzOiBwYXJ0acOnw6NvICV6dTogZmFsaGEgYW8gZGVmaW5pciBvIHRpcG8gZGEgcGFydGnDp8OjbyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIlczogcGFydGnDp8OjbyAlenU6IGZhbGhhIGFvIG9idGVyIFVVSUQgZGEgcGFydGnDp8OjbyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTEzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE2OCBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMjIKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG9iamVjdCIKK21zZ3N0ciAiZmFsaGEgYW8gYWxvY2FyIG9iamV0byBkZSBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiVzOiBwYXJ0acOnw6NvICV6dTogZmFsaGEgYW8gZGVmaW5pciBVVUlEIGRhIHBhcnRpw6fDo28iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiJXM6IHBhcnRpw6fDo28gJXp1OiBmYWxoYSBlbSBvYnRlciBvIG7Dum1lcm8gZGEgcGFydGnDp8OjbyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlczogcGFydGnDp8OjbyAlenU6IGZhbGhhIGVtIGRlZmluaXIgbyBub21lIGRhIHBhcnRpw6fDo28iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gYXR0cmlidXRlcyIKK21zZ3N0ciAiJXM6IHBhcnRpw6fDo28gJXp1OiBmYWxoYSBhbyBkZWZpbmlyIGF0cmlidXRvcyBkYSBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNjkKK21zZ2lkICIgQ29tbWFuZHM6XG4iCittc2dzdHIgIiBDb21hbmRvczpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjcxCittc2dpZCAiICAgd3JpdGUgICAgd3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdFxuIgorbXNnc3RyICIgICB3cml0ZSAgICBncmF2YSBhIHRhYmVsYSBubyBkaXNjbyBlIHNhaVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzIKK21zZ2lkICIgICBxdWl0ICAgICBzaG93IG5ldyBzaXR1YXRpb24gYW5kIHdhaXQgZm9yIHVzZXIncyBmZWVkYmFjayBiZWZvcmUgd3JpdGVcbiIKK21zZ3N0ciAiICAgcXVpdCAgICAgbW9zdHJhIG5vdmEgc2l0dWHDp8OjbyBlIGVzcGVyYSBwZWxvIGZlZWRiYWNrIGRvIHVzdcOhcmlvIGFudGVzIGRlIGdyYXZhclxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzMKK21zZ2lkICIgICBhYm9ydCAgICBleGl0IHNmZGlzayBzaGVsbFxuIgorbXNnc3RyICIgICBhYm9ydCAgICBzYWkgZG8gc2hlbGwgZG8gc2ZkaXNrXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3NAorbXNnaWQgIiAgIHByaW50ICAgIGRpc3BsYXkgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgICBwcmludCAgICBleGliZSBhIHRhYmVsYSBkZSBwYXJ0acOnw6NvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3NQorbXNnaWQgIiAgIGhlbHAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKK21zZ3N0ciAiICAgaGVscCAgICAgbW9zdHJhIGVzdGEgYWp1ZGEgZSBzYWlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjc3Cittc2dpZCAiICAgQ3RybC1EICAgdGhlIHNhbWUgYXMgJ3F1aXQnXG4iCittc2dzdHIgIiAgIEN0cmwtRCAgIG8gbWVzbW8gcXVlIFwicXVpdFwiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MQorbXNnaWQgIiBJbnB1dCBmb3JtYXQ6XG4iCittc2dzdHIgIiBGb3JtYXRvIGRhIGVudHJhZGE6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MworbXNnaWQgIiAgIDxzdGFydD4sIDxzaXplPiwgPHR5cGU+LCA8Ym9vdGFibGU+XG4iCittc2dzdHIgIiAgIDxpbsOtY2lvPiwgPHRhbWFuaG8+LCA8dGlwbz4sIDxpbmljaWEuPlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODYKK21zZ2lkICIiCisiICAgPHN0YXJ0PiAgQmVnaW5uaW5nIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIHRoZSBmaXJzdCBmcmVlIHNwYWNlLlxuIgorbXNnc3RyICIiCisiICAgPGluw61jaW8+ICAgSW7DrWNpbyBkYSBwYXJ0acOnw6NvIGVtIHNldG9yZXMgb3UgYnl0ZXMgc2VcbiIKKyIgICAgICAgICAgICAgIGVzcGVjaWZpY2FkbyBubyBmb3JtYXRvIDxuw7ptZXJvPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgICAgTyBwYWRyw6NvIMOpIG8gcHJpbWVpcm8gZXNwYcOnbyBsaXZyZS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkxCittc2dpZCAiIgorIiAgIDxzaXplPiAgIFNpemUgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgYWxsIGF2YWlsYWJsZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorIiAgIDx0YW1hbmhvPiAgVGFtYW5obyBkYSBwYXJ0acOnw6NvIGVtIHNldG9yZXMgb3UgYnl0ZXMgc2VcbiIKKyIgICAgICAgICAgICAgIGVzcGVjaWZpY2FkbyBubyBmb3JtYXRvIDxuw7ptZXJvPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgICAgTyBwYWRyw6NvIMOpIHRvZG8gbyBlc3Bhw6dvIGRpc3BvbsOtdmVsLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTYKK21zZ2lkICIgICA8dHlwZT4gICBUaGUgcGFydGl0aW9uIHR5cGUuICBEZWZhdWx0IGlzIGEgTGludXggZGF0YSBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiAgIDx0aXBvPiAgICAgTyB0aXBvIGRhIHBhcnRpw6fDo28uIFBhZHLDo28gw6kgdW1hIHBhcnRpw6fDo28gZGUgZGFkb3MgTGludXguXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NworbXNnaWQgIiAgICAgICAgICAgIE1CUjogaGV4IG9yIEwsUyxFLFggc2hvcnRjdXRzLlxuIgorbXNnc3RyICIgICAgICAgICAgICBNQlI6IGhleGEgb3UgYXRhbGhvcyBMLFMsRSxYLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTgKK21zZ2lkICIgICAgICAgICAgICBHUFQ6IFVVSUQgb3IgTCxTLEggc2hvcnRjdXRzLlxuIgorbXNnc3RyICIgICAgICAgICAgICBHUFQ6IFVVSUQgb3UgYXRhbGhvcyBMLFMsSC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzAxCittc2dpZCAiICAgPGJvb3RhYmxlPiAgVXNlICcqJyB0byBtYXJrIGFuIE1CUiBwYXJ0aXRpb24gYXMgYm9vdGFibGUuXG4iCittc2dzdHIgIiAgIDxpbmljaWEuPiAgVXNlIFwiKlwiIHBhcmEgbWFyY2FyIHVtYSBwYXJ0acOnw6NvIGNvbW8gaW5pY2lhbGl6w6F2ZWwuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNQorbXNnaWQgIiBFeGFtcGxlOlxuIgorbXNnc3RyICIgRXhlbXBsbzpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzA3Cittc2dpZCAiICAgLCA0RyAgICAgQ3JlYXRlcyBhIDRHaUIgcGFydGl0aW9uIGF0IGRlZmF1bHQgc3RhcnQgb2Zmc2V0LlxuIgorbXNnc3RyICIgICAsIDRHICAgICBDcmlhIHVtYSBwYXJ0acOnw6NvIGRlIDRHQiBuYSBwb3Npw6fDo28gaW5pY2lhbCBwYWRyw6NvLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMzkgc3lzLXV0aWxzL2RtZXNnLmM6MTQ1NQorbXNnaWQgInVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgImNvbWFuZG8gc2VtIHN1cG9ydGUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICJsaW5oYSAlZDogY29tYW5kbyBzZW0gc3Vwb3J0ZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTAwCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJmYWxoYSBhbyBhbG9jYXIgbm9tZSBkYSBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NDEKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgImZhbGhhIGFvIGFsb2NhciBtYW5pcHVsYWRvciBkZSBzY3JpcHQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IG5vIHBhcnRpdGlvbiB0YWJsZSB3YXMgZm91bmQiCittc2dzdHIgIiVzOiBuw6NvIGZvaSBwb3Nzw612ZWwgbW9kaWZpY2FyIGEgcGFydGnDp8OjbyAlZDogbmVuaHVtYSB0YWJlbGEgZGUgcGFydGnDp8OjbyBmb2kgZW5jb250cmFkYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogcGFydGl0aW9uIHRhYmxlIGNvbnRhaW5zIG9ubHkgJXp1IHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiBuw6NvIGZvaSBwb3Nzw612ZWwgbW9kaWZpY2FyIGEgcGFydGnDp8OjbyAlZDogdGFiZWxhIGRlIHBhcnRpw6fDo28gY29udMOpbSBhcGVuYXMgJXp1IHBhcnRpw6fDtWVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXM6IHBhcnRpdGlvbiAlZCBpcyBub3QgZGVmaW5lZCB5ZXQiCittc2dzdHIgImF2aXNvOiAlczogcGFydGnDp8OjbyAlZCBuw6NvIGVzdMOhIGRlZmluaWRhIGFpbmRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIldlbGNvbWUgdG8gc2ZkaXNrICglcykuIgorbXNnc3RyICIiCisiXG4iCisiQmVtLXZpbmRvIGFvIHNmZGlzayAoJXMpLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTk0Cittc2dpZCAiQ2hlY2tpbmcgdGhhdCBuby1vbmUgaXMgdXNpbmcgdGhpcyBkaXNrIHJpZ2h0IG5vdyAuLi4iCittc2dzdHIgIlZlcmlmaWNhbmRvIHNlIG5pbmd1w6ltIGVzdMOhIHVzYW5kbyBlc3RlIGRpc2NvIG5vIG1vbWVudG8gLi4uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTcKK21zZ2lkICIiCisiIEZBSUxFRFxuIgorIlxuIgorbXNnc3RyICIiCisiIEZBTEhPVVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MDAKK21zZ2lkICIiCisiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UgLSByZXBhcnRpdGlvbmluZyBpcyBwcm9iYWJseSBhIGJhZCBpZGVhLlxuIgorIlVtb3VudCBhbGwgZmlsZSBzeXN0ZW1zLCBhbmQgc3dhcG9mZiBhbGwgc3dhcCBwYXJ0aXRpb25zIG9uIHRoaXMgZGlzay5cbiIKKyJVc2UgdGhlIC0tbm8tcmVyZWFkIGZsYWcgdG8gc3VwcHJlc3MgdGhpcyBjaGVjay5cbiIKK21zZ3N0ciAiIgorIkVzdGUgZGlzY28gZXN0w6EgZW0gdXNhZG8gLSByZXBhcnRpY2lvbsOhLWxvIG7Do28gcGFyZWNlIHNlciB1bWEgYm9hIGlkZWlhLlxuIgorIkRlc21vbnRlIHRvZG9zIHNpc3RlbWFzIGRlIGFycXVpdm9zIGUgc3dhcG9mZiB0b2RhcyBwYXJ0acOnw7VlcyBzd2FwIGRvIGRpc2NvLlxuIgorIlVzZSBhIG9ww6fDo28gLS1uby1yZXJlYWQgcGFyYSBzdXByaW1pciBlc3RhIHZlcmlmaWNhw6fDo28uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIgorbXNnc3RyICJVc2UgYSBvcMOnw6NvIC0tZm9yY2UgcGFyYSBjYW5jZWxhciB0b2RhcyBhcyB2ZXJpZmljYcOnw7Vlcy4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNworbXNnaWQgIiIKKyIgT0tcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiBPS1xuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzYKK21zZ2lkICIiCisiXG4iCisiT2xkIHNpdHVhdGlvbjoiCittc2dzdHIgIiIKKyJcbiIKKyJTaXR1YcOnw6NvIGFudGlnYToiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY1NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisic2ZkaXNrIGlzIGdvaW5nIHRvIGNyZWF0ZSBhIG5ldyAnJXMnIGRpc2sgbGFiZWwuXG4iCisiVXNlICdsYWJlbDogPG5hbWU+JyBiZWZvcmUgeW91IGRlZmluZSBhIGZpcnN0IHBhcnRpdGlvblxuIgorInRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0LiIKK21zZ3N0ciAiIgorIlxuIgorInNmZGlzayB2YWkgY3JpYXIgdW0gbm92byByw7N0dWxvIGRlIGRpc2NvIFwiJXNcIi5cbiIKKyJVc2UgXCJsYWJlbDogPG5vbWU+XCIgYW50ZXMgZGUgZGVmaW5pciB1bWEgcHJpbWVpcmFcbiIKKyJwYXJ0acOnw6NvIHBhcmEgc29icmVzY3JldmVyIG8gcGFkcsOjby4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY1NworbXNnaWQgIiIKKyJcbiIKKyJUeXBlICdoZWxwJyB0byBnZXQgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlRlbnRlIFwiJXMgLS1oZWxwXCIgcGFyYSBtYWlvcmVzIGluZm9ybWHDp8O1ZXMuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY3NQorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIHVzZWQuIgorbXNnc3RyICJUb2RhcyBwYXJ0acOnw7VlcyB1c2FkYXMuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MDMKK21zZ2lkICJEb25lLlxuIgorbXNnc3RyICJDb25jbHXDrWRvLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MTUKK21zZ2lkICJJZ25vcmluZyBwYXJ0aXRpb24uIgorbXNnc3RyICJJZ25vcmFuZG8gcGFydGnDp8Ojby4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcyNAorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgaGVhZGVycywgZGlzayBsYWJlbCBub3QgY3JlYXRlZC4iCittc2dzdHIgIkZhbGhhIGFvIGFwbGljYXIgY2FiZcOnYWxob3MgZGUgc2NyaXB0LCByw7N0dWxvIGRvIGRpc2NvIG7Do28gY3JpYWRvLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkICMlZCBwYXJ0aXRpb24iCittc2dzdHIgIkZhbGhhIGFvIGFkaWNpb25hciBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NjMKK21zZ2lkICJTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLiIKK21zZ3N0ciAiQ2FiZcOnYWxobyBkZSBzY3JpcHQgYWNlaXRvLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzcyCittc2dpZCAiIgorIlxuIgorIk5ldyBzaXR1YXRpb246IgorbXNnc3RyICIiCisiXG4iCisiU2l0dWHDp8OjbyBub3ZhOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzgxCittc2dpZCAiRG8geW91IHdhbnQgdG8gd3JpdGUgdGhpcyB0byBkaXNrPyIKK21zZ3N0ciAiRGVzZWphIGdyYXZhciBpc3RvIG5vIGRpc2NvPyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzkzCittc2dpZCAiTGVhdmluZy5cbiIKK21zZ3N0ciAiRGVpeGFuZG8uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXY+IFtbLU5dIDxwYXJ0Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbb3DDp8O1ZXNdIFs8ZGlzcD4gW1stTl0gPHBhcnRpw6fDo28+XVxuIgorIiAlMSRzIFtvcMOnw7Vlc10gPGNvbWFuZG8+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMgorbXNnaWQgIiIKKyJcbiIKKyJDb21tYW5kczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkNvbWFuZG9zOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTMKK21zZ2lkICIgLUEsIC0tYWN0aXZhdGUgPGRldj4gWzxwYXJ0PiAuLi5dIGxpc3Qgb3Igc2V0IGJvb3RhYmxlIE1CUiBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiAtQSwgLS1hY3RpdmF0ZSA8ZGlzcD4gWzxwYXJ0PiAuLi5dIGxpc3RhL2RlZmluZSBwYXJ0acOnw7VlcyBNQlIgaW5pY2lhbGl6w6F2ZWlzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNAorbXNnaWQgIiAtZCwgLS1kdW1wIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgKHVzYWJsZSBmb3IgbGF0ZXIgaW5wdXQpXG4iCittc2dzdHIgIiIKKyIgLWQsIC0tZHVtcCA8ZGlzcD4gICAgICAgICAgICAgICAgIGRlc3BlamEgYSB0YWJlbGEgZGUgcGFydGnDp8OjbyAodXPDoXZlbCBwYXJhXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc3RlcmlvciBlbnRyYWRhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNQorbXNnaWQgIiAtSiwgLS1qc29uIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgaW4gSlNPTiBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gPGRpc3A+ICAgICAgICAgICAgICAgICBkZXNwZWphIHRhYmVsYSBkZSBwYXJ0acOnw6NvIG5vIGZvcm1hdG8gSlNPTlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTYKK21zZ2lkICIgLWcsIC0tc2hvdy1nZW9tZXRyeSBbPGRldj4gLi4uXSAgIGxpc3QgZ2VvbWV0cnkgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiIKKyIgLWcsIC0tc2hvdy1nZW9tZXRyeSBbPGRpc3A+IC4uLl0gIGxpc3RhIGdlb21ldHJpYSBkZSB0b2RvcyBkaXNwb3NpdGl2b3Mgb3VcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29tZW50ZSBkYXF1ZWxlcyBlc3BlY2lmaWNhZG9zXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNworbXNnaWQgIiAtbCwgLS1saXN0IFs8ZGV2PiAuLi5dICAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAtbCwgLS1saXN0IFs8ZGlzcD4gLi4uXSAgICAgICAgICAgbGlzdGEgcGFydGnDp8O1ZXMgZGUgY2FkYSBkaXNwb3NpdGl2b1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTgKK21zZ2lkICIgLUYsIC0tbGlzdC1mcmVlIFs8ZGV2PiAuLi5dICAgICAgIGxpc3QgdW5wYXJ0aXRpb25lZCBmcmVlIGFyZWFzIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgLUYsIC0tbGlzdC1mcmVlIFs8ZGlzcD4gLi4uXSAgICAgIGxpc3RhIMOhcmVhcyBsaXZyZXMgbsOjbyBwYXJ0aWNpb25hZGFzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlIGNhZGEgZGlzcG9zaXRpdm9cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE5Cittc2dpZCAiIC1yLCAtLXJlb3JkZXIgPGRldj4gICAgICAgICAgICAgICBmaXggcGFydGl0aW9ucyBvcmRlciAoYnkgc3RhcnQgb2Zmc2V0KVxuIgorbXNnc3RyICIiCisiIC1yLCAtLXJlb3JkZXIgPGRpc3A+ICAgICAgICAgICAgICBjb3JyaWdlIG9yZGVtIGRlIHBhcnRpw6fDtWVzIChhIHBhcnRpciBkYVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3Npw6fDo28gaW5pY2lhbFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjAKK21zZ2lkICIgLXMsIC0tc2hvdy1zaXplIFs8ZGV2PiAuLi5dICAgICAgIGxpc3Qgc2l6ZXMgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiIKKyIgLXMsIC0tc2hvdy1zaXplIFs8ZGlzcD4gLi4uXSAgICAgIGxpc3RhIHRhbWFuaG9zIGRlIHRvZG9zIGRpc3Bvc2l0aXZvcyBvdVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb21lbnRlIGFxdWVsZXMgZXNwZWNpZmljYWRvc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjEKK21zZ2lkICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByZWNvZ25pemVkIHR5cGVzIChzZWUgLVgpXG4iCittc2dzdHIgIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgICAgICAgICAgbW9zdHJhIG9zIHRpcG9zIHJlY29uaGVjaWRvcyAodmVqYSAtWClcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIyCittc2dpZCAiIC1WLCAtLXZlcmlmeSBbPGRldj4gLi4uXSAgICAgICAgICB0ZXN0IHdoZXRoZXIgcGFydGl0aW9ucyBzZWVtIGNvcnJlY3RcbiIKK21zZ3N0ciAiIC1WLCAtLXZlcmlmeSBbPGRpc3A+IC4uLl0gICAgICAgICB2ZXJpZmljYSBzZSBhIHBhcnRpw6fDo28gZXN0w6EgY29ycmV0YVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjMKK21zZ2lkICIgICAgIC0tZGVsZXRlIDxkZXY+IFs8cGFydD4gLi4uXSAgIGRlbGV0ZSBhbGwgb3Igc3BlY2lmaWVkIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiICAgICAtLWRlbGV0ZSA8ZGlzcD4gWzxwYXJ0PiAuLi5dICBleGNsdWkgdG9kYXMgcGFydGnDp8O1ZXMgb3UgYXMgZXNwZWNpZmljYWRhc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjYKK21zZ2lkICIgLS1wYXJ0LWxhYmVsIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gbGFiZWxcbiIKK21zZ3N0ciAiIC0tcGFydC1sYWJlbCA8ZGlzcD4gPHBhcnQ+IFs8c3RyPl0gbW9zdHJhIG91IGFsdGVyYSBhIHRhYmVsYSBkZSBwYXJ0acOnw6NvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNworbXNnaWQgIiAtLXBhcnQtdHlwZSA8ZGV2PiA8cGFydD4gWzx0eXBlPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiAtLXBhcnQtdHlwZSA8ZGlzcD4gPHBhcnQ+IFs8dGlwbz5dIG1vc3RyYSBvdSBhbHRlcmEgbyB0aXBvIGRhIHBhcnRpw6fDo29cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI4Cittc2dpZCAiIC0tcGFydC11dWlkIDxkZXY+IDxwYXJ0PiBbPHV1aWQ+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHV1aWRcbiIKK21zZ3N0ciAiIC0tcGFydC11dWlkIDxkaXNwPiA8cGFydD4gWzx1dWlkPl0gbW9zdHJhIG91IGFsdGVyYSBvIFVVSUQgZGEgcGFydGnDp8Ojb1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjkKK21zZ2lkICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gYXR0cmlidXRlc1xuIgorbXNnc3RyICIgLS1wYXJ0LWF0dHJzIDxkaXNwPiA8cGFydD4gWzxzdHI+XSBtb3N0cmEgb3UgYWx0ZXJhIGF0cmlidXRvcyBkYSBwYXJ0acOnw6NvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzMgorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgIGRldmljZSAodXN1YWxseSBkaXNrKSBwYXRoXG4iCittc2dzdHIgIiA8ZGlzcD4gICAgICAgICAgICAgICAgICAgIGNhbWluaG8gZG8gZGlzcG9zaXRpdm8gKGdlcmFsbWVudGUgZGlzY28pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzMworbXNnaWQgIiA8cGFydD4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiIDxwYXJ0PiAgICAgICAgICAgICAgICAgICAgbsO6bWVybyBkYSBwYXJ0acOnw6NvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzNAorbXNnaWQgIiA8dHlwZT4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiB0eXBlLCBHVUlEIGZvciBHUFQsIGhleCBmb3IgTUJSXG4iCittc2dzdHIgIiA8dGlwbz4gICAgICAgICAgICAgICAgICAgIHRpcG8gZGEgcGFydGnDp8OjbywgR1VJRCBwYXJhIEdQVCwgaGV4IHBhcmEgTUJSXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzNworbXNnaWQgIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgIGFwcGVuZCBwYXJ0aXRpb25zIHRvIGV4aXN0aW5nIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICBhbmV4YSBwYXJ0acOnw7VlcyBwYXJhIHRhYmVsYSBkZSBwYXJ0acOnw6NvIGV4aXN0ZW50ZVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzgKK21zZ2lkICIgLWIsIC0tYmFja3VwICAgICAgICAgICAgICBiYWNrdXAgcGFydGl0aW9uIHRhYmxlIHNlY3RvcnMgKHNlZSAtTylcbiIKK21zZ3N0ciAiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAgZmF6IGJhY2t1cCBkZSBzZXRvcmVzIGRhIHRhYmVsYSBkZSBwYXJ0acOnw6NvICh2ZWphIC1PKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICBtb3N0cmEgVEFNQU5ITyBlbSBieXRlcyBlbSB2ZXogZGUgdW0gZm9ybWF0byBsZWfDrXZlbFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDAKK21zZ2lkICIgICAgIC0tbW92ZS1kYXRhWz08dHlwZXNjcmlwdD5dIG1vdmUgcGFydGl0aW9uIGRhdGEgYWZ0ZXIgcmVsb2NhdGlvbiAocmVxdWlyZXMgLU4pXG4iCittc2dzdHIgIiIKKyIgICAgIC0tbW92ZS1kYXRhWz08c2NyaXB0LWdyYXZhZG8+XSBtb3ZlIGRhZG9zIGRlIHBhcnRpw6fDo28gYXDDs3MgcmVhbG9jYcOnw6NvXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVxdWVyIC1OKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDEKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZ1xuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkZXNhYmlsaXRhIHRvZGEgdmVyaWZpY2HDp8OjbyBkZSBjb25zaXN0w6puY2lhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MgorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgICAgIC0tY29sb3JbPTxxdWFuZG8+XSAgICBjb2xvcmUgYSBzYcOtZGEgKGF1dG8sIGFsd2F5cyBvdSBuZXZlcilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ1Cittc2dpZCAiIC1OLCAtLXBhcnRubyA8bnVtPiAgICAgICAgc3BlY2lmeSBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiAtTiwgLS1wYXJ0bm8gPG7Dum0+ICAgICAgICBlc3BlY2lmaWNhIG8gbsO6bWVybyBkYSBwYXJ0acOnw6NvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NgorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHdyaXRlIHRvIGRldmljZVxuIgorbXNnc3RyICIgLW4sIC0tbm8tYWN0ICAgICAgICAgICAgICBmYXogdHVkbywgZXhjZXRvIGdyYXZhciBubyBkaXNwb3NpdGl2b1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDcKK21zZ2lkICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIGlzIGluIHVzZVxuIgorbXNnc3RyICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBuw6NvIHZlcmlmaWNhIHNlIG8gZGlzcG9zaXRpdm8gZXN0w6EgZW0gdXNvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OAorbXNnaWQgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIGRvIG5vdCB0ZWxsIGtlcm5lbCBhYm91dCBjaGFuZ2VzXG4iCittc2dzdHIgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIG7Do28gYXZpc2EgYW8ga2VybmVsIHNvYnJlIGFzIGFsdGVyYcOnw7Vlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDkKK21zZ2lkICIgLU8sIC0tYmFja3VwLWZpbGUgPHBhdGg+ICBvdmVycmlkZSBkZWZhdWx0IGJhY2t1cCBmaWxlIG5hbWVcbiIKK21zZ3N0ciAiIC1PLCAtLWJhY2t1cC1maWxlIDxjYW1pbmhvPiAgc29icmVzY3JldmUgbyBub21lIGRvIGFycXVpdm8gYmFja3VwIHBhZHLDo29cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUwCittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICAgICAgbW9zdHJhIGNvbHVuYXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUxCittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcHJlc3MgZXh0cmEgaW5mbyBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBzdXByaW1lIG1lbnNhZ2VucyBkZSBpbmZvcm1hw6fDo28gZXh0cmFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUyCittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtdywgLS13aXBlIDxtb2RvPiAgICAgICAgIGFwYWdhIGFzc2luYXR1cmFzIChhdXRvLCBhbHdheXMgb3UgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NAorbXNnaWQgIiAtWCwgLS1sYWJlbCA8bmFtZT4gICAgICAgIHNwZWNpZnkgbGFiZWwgdHlwZSAoZG9zLCBncHQsIC4uLilcbiIKK21zZ3N0ciAiIC1YLCAtLWxhYmVsIDxub21lPiAgICAgICAgZXNwZWNpZmljYSB0aXBvIGRlIHLDs3R1bG8gKGRvcywgZ3B0LCAuLi4pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NQorbXNnaWQgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPG5hbWU+IHNwZWNpZnkgbmVzdGVkIGxhYmVsIHR5cGUgKGRvcywgYnNkKVxuIgorbXNnc3RyICIgLVksIC0tbGFiZWwtbmVzdGVkIDxub21lPiBlc3BlY2lmaWNhIG8gdGlwbyBkZSByw7N0dWxvIGFuaW5oYWRvIChkb3MsIGJzZClcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU3Cittc2dpZCAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgZGVwcmVjYXRlZCwgYWxpYXMgdG8gLS1zaG93LWdlb21ldHJ5XG4iCittc2dzdHIgIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIG9ic29sZXRvLCBhcGVsaWRvIHBhcmEgLS1zaG93LWdlb21ldHJ5XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OAorbXNnaWQgIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiIKK21zZ3N0ciAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgb2Jzb2xldG8sIGFwZW5hcyBwYXJhIGNvbXBhdGliaWxpZGFkZSByZXZlcnNhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OQorbXNnaWQgIiAtdSwgLS11bml0IFMgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgc2VjdG9yIHVuaXQgaXMgc3VwcG9ydGVkXG4iCittc2dzdHIgIiAtdSwgLS11bml0IFMgICAgICAgICAgICAgIG9ic29sZXRvLCBow6Egc3Vwb3J0ZSBhcGVuYXMgw6AgdW5pZGFkZSBzZXRvclxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjMgbG9naW4tdXRpbHMvY2hmbi5jOjEwMiBsb2dpbi11dGlscy9jaHNoLmM6NzkKK21zZ2lkICIgLXYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC12LCAtLXZlcnNpb24gIG1vc3RyYSBpbmZvcm1hw6fDtWVzIGRhIHZlcnPDo28gZSBzYWlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxOTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIlcyBlc3TDoSBvYnNvbGV0byBlbSBmYXZvciBkZSAtLXBhcnQtdHlwZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxOTczCittc2dpZCAiLS1pZCBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiLS1pZCBlc3TDoSBvYnNvbGV0byBlbSBmYXZvciBkZSAtLXBhcnQtdHlwZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxOTg5Cittc2dpZCAiLS1zaG93LXB0LWdlb21ldHJ5IGlzIG5vIG1vcmUgaW1wbGVtZW50ZWQuIFVzaW5nIC0tc2hvdy1nZW9tZXRyeS4iCittc2dzdHIgIi0tc2hvdy1wdC1nZW9tZXRyeSBuw6NvIG1haXMgZXN0w6EgaW1wbGVtZW50YWRvLiBVc2FuZG8gLS1zaG93LWdlb21ldHJ5LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDAwCittc2dpZCAiLS1MaW51eCBvcHRpb24gaXMgdW5uZWNlc3NhcnkgYW5kIGRlcHJlY2F0ZWQiCittc2dzdHIgImEgb3DDp8OjbyAtLUxpbnV4IMOpIGRlc25lY2Vzc8OhcmlhIGUgb2Jzb2xldGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAyOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0ICclYyciCittc2dzdHIgInNlbSBzdXBvcnRlIMOgIHVuaWRhZGUgXCIlY1wiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMzIgaW5jbHVkZS9jLmg6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXNcbiIKK21zZ3N0ciAiJXMgZGUgJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMTA5Cittc2dpZCAiLS1tb3ZlZGF0YSByZXF1aXJlcyAtTiIKK21zZ3N0ciAiLS1tb3ZlZGF0YSByZXF1ZXIgLU4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIFVVSUQ6ICVzIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBVVUlEOiAlcyIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBVVUlEIgorbXNnc3RyICIlczogZmFsaGEgYW8gYnVzY2FyIFVVSUQgZGEgc3dhcCIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIFVVSUQiCittc2dzdHIgIiVzOiBmYWxoYSBhbyBncmF2YXIgVVVJRCIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBsYWJlbCAiCittc2dzdHIgIiVzOiBmYWxoYSBhbyBidXNjYXIgcsOzdHVsbyBkYSBzd2FwICIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICJsYWJlbCBpcyB0b28gbG9uZy4gVHJ1bmNhdGluZyBpdCB0byAnJXMnIgorbXNnc3RyICJyw7N0dWxvIMOpIG11aXRvIGdyYW5kZS4gUXVlYnJhbmRvLW8gcGFyYSBcIiVzXCIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBsYWJlbCIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIGdyYXZhciByw7N0dWxvIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyMQorbXNnaWQgIkRpc3BsYXkgb3IgY2hhbmdlIHRoZSBsYWJlbCBvciBVVUlEIG9mIGEgc3dhcCBhcmVhLlxuIgorbXNnc3RyICJFeGliZSBvdSBhbHRlcmEgbyByw7N0dWxvIG91IFVVSUQgZGUgdW1hIMOhcmVhIGRlIHN3YXAuXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTI0Cittc2dpZCAiIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+IHNwZWNpZnkgYSBuZXcgbGFiZWxcbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICBzcGVjaWZ5IGEgbmV3IHV1aWRcbiIKK21zZ3N0ciAiIgorIiAtTCwgLS1sYWJlbCA8csOzdHVsbz4gZXNwZWNpZmljYSB1bSBub3ZvIHLDs3R1bG9cbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICAgZXNwZWNpZmljYSB1bSBub3ZvIHV1aWRcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxNjcKK21zZ2lkICJpZ25vcmUgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCkiCittc2dzdHIgImlnbm9yYSAtVSAoc2VtIHN1cG9ydGUgYSBVVUlEcykiCisKKyM6IGluY2x1ZGUvYy5oOjI5OQorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlVzbzpcbiIKKworIzogaW5jbHVkZS9jLmg6MzAwCittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcMOnw7VlczpcbiIKKworIzogaW5jbHVkZS9jLmg6MzAyCittc2dpZCAiIC1oLCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAtaCwgLS1oZWxwICAgICBleGliZSBlc3RhIGFqdWRhIGUgc2FpXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwMworbXNnaWQgIiAtViwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgbW9zdHJhIGluZm9ybWHDp8OjbyBkYSB2ZXJzw6NvIGUgc2FpXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRm9yIG1vcmUgZGV0YWlscyBzZWUgJXMuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQYXJhIG1haXMgZGV0YWxoZXMsIHZlamEgJXMuXG4iCisKKyM6IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0NiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDggbG9naW4tdXRpbHMvdmlwdy5jOjI3MworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5MiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI4MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MDUKKyM6IHRleHQtdXRpbHMvY29sLmM6MTU3Cittc2dpZCAid3JpdGUgZXJyb3IiCittc2dzdHIgImVycm8gZGUgZXNjcml0YSIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyNworbXNnaWQgImNvbG9ycyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICJjb3JlcyBlc3TDo28gaGFiaWxpdGFkYXMgcG9yIHBhZHLDo28iCisKKyM6IGluY2x1ZGUvY29sb3JzLmg6MjkKK21zZ2lkICJjb2xvcnMgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgImNvcmVzIGVzdMOjbyBkZXNhYmlsaXRhZGFzIHBvciBwYWRyw6NvIgorCisjOiBpbmNsdWRlL2Vudi5oOjE4IGxpYi9wYWdlci5jOjE1MSBsb2dpbi11dGlscy9sb2dpbi5jOjEwNTIKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTA1NiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MjkKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTE2MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyBlbnZpcm9ubWVudCB2YXJpYWJsZSIKK21zZ3N0ciAiZmFsaGEgYW8gZGVmaW5pciBhIHZhcmnDoXZlbCBkZSBhbWJpZW50ZSAlcyIKKworIzogaW5jbHVkZS9vcHR1dGlscy5oOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGVzZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmU6IgorbXNnc3RyICIlczogZXNzYXMgb3DDp8O1ZXMgc8OjbyBtdXR1YW1lbnRlIGV4Y2x1c2l2YXM6IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxCittc2dpZCAiRW1wdHkiCittc2dzdHIgIlZhemlhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyCittc2dpZCAiRkFUMTIiCittc2dzdHIgIkZBVDEyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozCittc2dpZCAiWEVOSVggcm9vdCIKK21zZ3N0ciAicm9vdCBYRU5JWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NAorbXNnaWQgIlhFTklYIHVzciIKK21zZ3N0ciAidXNyIFhFTklYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1Cittc2dpZCAiRkFUMTYgPDMyTSIKK21zZ3N0ciAiRkFUMTYgPDMyTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NgorbXNnaWQgIkV4dGVuZGVkIgorbXNnc3RyICJFc3RlbmRpZGEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcKK21zZ2lkICJGQVQxNiIKK21zZ3N0ciAiRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgKK21zZ2lkICJIUEZTL05URlMvZXhGQVQiCittc2dzdHIgIkhQRlMvTlRGUy9leEZBVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OQorbXNnaWQgIkFJWCIKK21zZ3N0ciAiQUlYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMAorbXNnaWQgIkFJWCBib290YWJsZSIKK21zZ3N0ciAiQUlYIGluaWNpYWxpesOhdmVsIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMQorbXNnaWQgIk9TLzIgQm9vdCBNYW5hZ2VyIgorbXNnc3RyICJHZXJlbmMuIGluaWNpLiBPUy8yIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMgorbXNnaWQgIlc5NSBGQVQzMiIKK21zZ3N0ciAiRkFUMzIgVzk1IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMworbXNnaWQgIlc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiRkFUMzIgVzk1IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNAorbXNnaWQgIlc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiRkFUMTYgVzk1IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNQorbXNnaWQgIlc5NSBFeHQnZCAoTEJBKSIKK21zZ3N0ciAiRXN0ZW5kaWRhIFc5NSAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTYKK21zZ2lkICJPUFVTIgorbXNnc3RyICJPUFVTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNworbXNnaWQgIkhpZGRlbiBGQVQxMiIKK21zZ3N0ciAiRkFUMTIgRXNjb25kaWRhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOAorbXNnaWQgIkNvbXBhcSBkaWFnbm9zdGljcyIKK21zZ3N0ciAiRGlhZ27Ds3N0aWNvIENvbXBhcSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTkKK21zZ2lkICJIaWRkZW4gRkFUMTYgPDMyTSIKK21zZ3N0ciAiRkFUMTYgRXNjb25kaWRhIDwgMzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMAorbXNnaWQgIkhpZGRlbiBGQVQxNiIKK21zZ3N0ciAiRkFUMTYgRXNjb25kaWRhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMQorbXNnaWQgIkhpZGRlbiBIUEZTL05URlMiCittc2dzdHIgIkhQRlMgb3UgTlRGUyBFc2NvbmRpZGEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIyCittc2dpZCAiQVNUIFNtYXJ0U2xlZXAiCittc2dzdHIgIkFTVCBTbWFydFNsZWVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMworbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIiCittc2dzdHIgIkZBVDMyIFc5NSBFc2NvbmRpZGEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI0Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiRkFUMzIgVzk1IEVzYy4gKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI1Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiRkFUMTYgVzk1IEVzYy4gKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI2Cittc2dpZCAiTkVDIERPUyIKK21zZ3N0ciAiRE9TIE5FQyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjcKK21zZ2lkICJIaWRkZW4gTlRGUyBXaW5SRSIKK21zZ3N0ciAiV2luUkUgTlRGUyBFc2NvbmRpZGEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI4Cittc2dpZCAiUGxhbiA5IgorbXNnc3RyICJQbGFuIDkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI5Cittc2dpZCAiUGFydGl0aW9uTWFnaWMgcmVjb3ZlcnkiCittc2dzdHIgIlBhcnRpdGlvbk1hZ2ljIHJlY3VwZXJhw6fDo28iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMwCittc2dpZCAiVmVuaXggODAyODYiCittc2dzdHIgIlZlbml4IDgwMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMQorbXNnaWQgIlBQQyBQUmVQIEJvb3QiCittc2dzdHIgIkJvb3QgUFJlUCBQUEMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMyCittc2dpZCAiU0ZTIgorbXNnc3RyICJTRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMzCittc2dpZCAiUU5YNC54IgorbXNnc3RyICJRTlg0LngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM0Cittc2dpZCAiUU5YNC54IDJuZCBwYXJ0IgorbXNnc3RyICJRTlg0LnggMsKqIHBhcnRlIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNQorbXNnaWQgIlFOWDQueCAzcmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IDPCqiBwYXJ0ZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzYKK21zZ2lkICJPblRyYWNrIERNIgorbXNnc3RyICJETSBPblRyYWNrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNworbXNnaWQgIk9uVHJhY2sgRE02IEF1eDEiCittc2dzdHIgIkRNNiBPblRyYWNrIEF1eDEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM4Cittc2dpZCAiQ1AvTSIKK21zZ3N0ciAiQ1AvTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzkKK21zZ2lkICJPblRyYWNrIERNNiBBdXgzIgorbXNnc3RyICJETTYgT25UcmFjayBBdXgzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MAorbXNnaWQgIk9uVHJhY2tETTYiCittc2dzdHIgIkRNNiBPblRyYWNrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MQorbXNnaWQgIkVaLURyaXZlIgorbXNnc3RyICJFWi1Ecml2ZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDIKK21zZ2lkICJHb2xkZW4gQm93IgorbXNnc3RyICJHb2xkZW4gQm93IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MworbXNnaWQgIlByaWFtIEVkaXNrIgorbXNnc3RyICJFZGlzayBQcmlhbSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDQgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTEKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk5Cittc2dpZCAiU3BlZWRTdG9yIgorbXNnc3RyICJTcGVlZFN0b3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ1Cittc2dpZCAiR05VIEhVUkQgb3IgU3lzViIKK21zZ3N0ciAiR05VIEhVUkQgb3UgU3lzViIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDYKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAyODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDcKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAzODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDM4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDgKK21zZ2lkICJEaXNrU2VjdXJlIE11bHRpLUJvb3QiCittc2dzdHIgIk11bHRpLUJvb3QgRGlza1NlY3VyZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDkKK21zZ2lkICJQQy9JWCIKK21zZ3N0ciAiUEMvSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUwCittc2dpZCAiT2xkIE1pbml4IgorbXNnc3RyICJNaW5peCBhbnRpZ28iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUxCittc2dpZCAiTWluaXggLyBvbGQgTGludXgiCittc2dzdHIgIkxpbnV4IGFudGlnby9NaW5peCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTIKK21zZ2lkICJMaW51eCBzd2FwIC8gU29sYXJpcyIKK21zZ3N0ciAiTGludXggc3dhcCAvIFNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUzCittc2dpZCAiTGludXgiCittc2dzdHIgIkxpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NAorbXNnaWQgIk9TLzIgaGlkZGVuIG9yIEludGVsIGhpYmVybmF0aW9uIgorbXNnc3RyICJPUy8yIGVzY29uZGlkbyBvdSBoaWJlcm5hw6fDo28gSW50ZWwiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU3Cittc2dpZCAiTGludXggZXh0ZW5kZWQiCittc2dzdHIgIkVzdGVuZGlkYSBMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTkKK21zZ2lkICJOVEZTIHZvbHVtZSBzZXQiCittc2dzdHIgIkNvbmp1bnRvIGRlIHZvbHVtZXMgTlRGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjAKK21zZ2lkICJMaW51eCBwbGFpbnRleHQiCittc2dzdHIgIkxpbnV4IHRleHRvIHNpbXBsZXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYxIGxpYmZkaXNrL3NyYy9ncHQuYzoyMDUgbGliZmRpc2svc3JjL3NnaS5jOjYzCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTQKK21zZ2lkICJMaW51eCBMVk0iCittc2dzdHIgIkxpbnV4IExWTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjIKK21zZ2lkICJBbW9lYmEiCittc2dzdHIgIkFtb2ViYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjMKK21zZ2lkICJBbW9lYmEgQkJUIgorbXNnc3RyICJBbW9lYmEgQkJUIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NAorbXNnaWQgIkJTRC9PUyIKK21zZ3N0ciAiQlNEL09TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NQorbXNnaWQgIklCTSBUaGlua3BhZCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiSGliZXJuYcOnw6NvIElCTSBUaGlua3BhZCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjYKK21zZ2lkICJGcmVlQlNEIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NworbXNnaWQgIk9wZW5CU0QiCittc2dzdHIgIk9wZW5CU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY4Cittc2dpZCAiTmVYVFNURVAiCittc2dzdHIgIk5lWFRTVEVQIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OQorbXNnaWQgIkRhcndpbiBVRlMiCittc2dzdHIgIkRhcndpbiBVRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcwCittc2dpZCAiTmV0QlNEIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcxCittc2dpZCAiRGFyd2luIGJvb3QiCittc2dzdHIgImluaWMuIERhcndpbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzIKK21zZ2lkICJIRlMgLyBIRlMrIgorbXNnc3RyICJIRlMgLyBIRlMrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MworbXNnaWQgIkJTREkgZnMiCittc2dzdHIgInNpc3QuIGFycS4gQlNESSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzQKK21zZ2lkICJCU0RJIHN3YXAiCittc2dzdHIgIkJTREkgc3dhcCIKKworIyBBc3Npc3RlbnRlIGRlIGluaWNpYWxpemHDp8OjbyBlc2NvbmRpZG8KKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc1Cittc2dpZCAiQm9vdCBXaXphcmQgaGlkZGVuIgorbXNnc3RyICJBc3Npc3QuIEluaWNpLiBlc2NvbmRpZG8iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc2Cittc2dpZCAiQWNyb25pcyBGQVQzMiBMQkEiCittc2dzdHIgIkZBVDMyIExCQSBBY3JvbmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NyBsaWJmZGlzay9zcmMvZ3B0LmM6MjMwCittc2dpZCAiU29sYXJpcyBib290IgorbXNnc3RyICJpbmljaWFsaXphw6fDo28gZG8gU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzgKK21zZ2lkICJTb2xhcmlzIgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTEyKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQxMikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgwCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVDE2PDMyTSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgxCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVDE2KSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODIKK21zZ2lkICJTeXJpbngiCittc2dzdHIgIlN5cmlueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODMKK21zZ2lkICJOb24tRlMgZGF0YSIKK21zZ3N0ciAiRGFkb3MgTsOjby1GUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiQ1AvTSAvIENUT1MgLyAuLi4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg2Cittc2dpZCAiRGVsbCBVdGlsaXR5IgorbXNnc3RyICJVdGlsaXTDoXJpbyBEZWxsIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NworbXNnaWQgIkJvb3RJdCIKK21zZ3N0ciAiQm9vdEl0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4OAorbXNnaWQgIkRPUyBhY2Nlc3MiCittc2dzdHIgIkFjZXNzbyBET1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkwCittc2dpZCAiRE9TIFIvTyIKK21zZ3N0ciAiRE9TIFIvTyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTMKK21zZ2lkICJSdWZ1cyBhbGlnbm1lbnQiCittc2dzdHIgIkFsaW5oYW1lbnRvIFJ1ZnVzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NAorbXNnaWQgIkJlT1MgZnMiCittc2dzdHIgInNpc3QuIGFycS4gQmVPUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTYKK21zZ2lkICJFRkkgKEZBVC0xMi8xNi8zMikiCittc2dzdHIgIkVGSSAoRkFULTEyLzE2LzMyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTcKK21zZ2lkICJMaW51eC9QQS1SSVNDIGJvb3QiCittc2dzdHIgImluaWMuIExpbnV4L1BBLVJJU0MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMAorbXNnaWQgIkRPUyBzZWNvbmRhcnkiCittc2dzdHIgIkRPUyBzZWN1bmTDoXJpbyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAxCittc2dpZCAiVk13YXJlIFZNRlMiCittc2dzdHIgIlZNd2FyZSBWTUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDIKK21zZ2lkICJWTXdhcmUgVk1LQ09SRSIKK21zZ3N0ciAiVk13YXJlIFZNS0NPUkUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMyBsaWJmZGlzay9zcmMvc3VuLmM6NTUKK21zZ2lkICJMaW51eCByYWlkIGF1dG9kZXRlY3QiCittc2dzdHIgIkxpbnV4IFJBSUQgYXV0by1kZXRlY8Onw6NvIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDYKK21zZ2lkICJMQU5zdGVwIgorbXNnc3RyICJMQU5zdGVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDcKK21zZ2lkICJCQlQiCittc2dzdHIgIkJCVCIKKworIzogbGliL2Jsa2Rldi5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlcyBpcyBtaXNhbGlnbmVkIgorbXNnc3RyICJhdmlzbzogJXMgZXN0w6EgZGVzYWxpbmhhZG8iCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2NzIKK21zZ2lkICJDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJDaGFtYW5kbyBpb2N0bCgpIHBhcmEgcmVsZXIgdGFiZWxhIGRlIHBhcnRpw6fDo28uIgorCisjOiBsaWJmZGlzay9zcmMvYWxpZ25tZW50LmM6NjgxCittc2dpZCAiUmUtcmVhZGluZyB0aGUgcGFydGl0aW9uIHRhYmxlIGZhaWxlZC4iCittc2dzdHIgIlJlbGVpdHVyYSBkYSB0YWJlbGEgZGUgcGFydGnDp8OjbyBmYWxob3UuIgorCisjOiBsaWJmZGlzay9zcmMvYWxpZ25tZW50LmM6NjgzCittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgdGFibGUuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdCBvciBhZnRlciB5b3UgcnVuIHBhcnRwcm9iZSg4KSBvciBrcGFydHgoOCkuIgorbXNnc3RyICJPIGtlcm5lbCBhaW5kYSB1c2EgYSB0YWJlbGEgYW50aWdhLiBBIG5vdmEgdGFiZWxhIHNlcsOhIHVzYWRhIG5hIHByw7N4aW1hIHJlaW5pY2lhbGl6YcOnw6NvIG91IGFww7NzIHZvY8OqIGV4ZWN1dGFyIHBhcnRwcm9iZSg4KSBvdSBrcGFydHgoOCkuIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDcyIGxpYmZkaXNrL3NyYy9hc2suYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0ZWQgcGFydGl0aW9uICVqdSIKK21zZ3N0ciAiU2VsZWNpb25vdSBhIHBhcnRpw6fDo28gJWp1IgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDc1Cittc2dpZCAiTm8gcGFydGl0aW9uIGlzIGRlZmluZWQgeWV0ISIKK21zZ3N0ciAiTmVuaHVtYSBwYXJ0acOnw6NvIGVzdMOhIGRlZmluaWRhIGFpbmRhISIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ4NworbXNnaWQgIk5vIGZyZWUgcGFydGl0aW9uIGF2YWlsYWJsZSEiCittc2dzdHIgIk7Do28gaMOhIHBhcnRpw6fDtWVzIGxpdnJlcyBkaXNwb27DrXZlaXMhIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDk3Cittc2dpZCAiUGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiTsO6bWVybyBkYSBwYXJ0acOnw6NvIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6OTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgcGFydGl0aW9uICVkIG9mIHR5cGUgJyVzJyBhbmQgb2Ygc2l6ZSAlcy4iCittc2dzdHIgIkNyaWFkYSB1bWEgbm92YSBwYXJ0acOnw6NvICVkIGRvIHRpcG8gXCIlc1wiIGUgZGUgdGFtYW5obyAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICJQYXJ0acOnw6NvICV6ZDogcG9zc3VpIHNldG9yIGluaWNpYWwgMCBpbnbDoWxpZG8uIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZXJlIGlzIG5vICpCU0QgcGFydGl0aW9uIG9uICVzLiIKK21zZ3N0ciAiTsOjbyBleGlzdGUgcGFydGnDp8OjbyAqQlNEIGVtICVzLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI1OSBsaWJmZGlzay9zcmMvZG9zLmM6OTMzCittc2dpZCAiRmlyc3QgY3lsaW5kZXIiCittc2dzdHIgIlByaW1laXJvIGNpbGluZHJvIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MjkyIGxpYmZkaXNrL3NyYy9kb3MuYzoxMTYxCittc2dpZCAiTGFzdCBjeWxpbmRlciwgK2N5bGluZGVycyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICLDmmx0aW1vIGNpbGluZHJvLCArY2lsaW5kcm9zIG91ICt0YW1hbmhve0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTcgbGliZmRpc2svc3JjL2Rvcy5jOjExNjYgbGliZmRpc2svc3JjL2dwdC5jOjIyNTUKK21zZ2lkICJMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiw5psdGltbyBzZXRvciwgK3NldG9yZXMgb3UgK3RhbWFuaG97SyxNLEcsVCxQfSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGV2aWNlICVzIGRvZXMgbm90IGNvbnRhaW4gQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIk8gZGlzcG9zaXRpdm8gJXMgbsOjbyBjb250w6ltIHVtIHLDs3R1bG8gZGUgZGlzY28gQlNELiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MworbXNnaWQgIkRvIHlvdSB3YW50IHRvIGNyZWF0ZSBhIEJTRCBkaXNrbGFiZWw/IgorbXNnc3RyICJWb2PDqiBkZXNlamEgY3JpYXIgdW0gcsOzdHVsbyBkZSBkaXNjbyBCU0Q/IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDQ5Cittc2dpZCAiRGlzayIKK21zZ3N0ciAiVW5pZGFkZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ1NgorbXNnaWQgIlBhY2tuYW1lIgorbXNnc3RyICJOb21lIGRlIHBhY290ZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MyBsaWJmZGlzay9zcmMvc3VuLmM6MTExNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICJPcMOnw7VlcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NgorbXNnaWQgIiByZW1vdmFibGUiCittc2dzdHIgIiByZW1vdmFibGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjcKK21zZ2lkICIgZWNjIgorbXNnc3RyICIgZWNjIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY4Cittc2dpZCAiIGJhZHNlY3QiCittc2dzdHIgIiBiYWRzZWN0IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDc2Cittc2dpZCAiQnl0ZXMvU2VjdG9yIgorbXNnc3RyICJCeXRlcy9TZXRvciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4MQorbXNnaWQgIlRyYWNrcy9DeWxpbmRlciIKK21zZ3N0ciAiVHJpbGhhcy9DaWxpbmRybyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4NgorbXNnaWQgIlNlY3RvcnMvQ3lsaW5kZXIiCittc2dzdHIgIlNldG9yZXMvQ2lsaW5kcm8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTggbGliZmRpc2svc3JjL2Rvcy5jOjIzMDMKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU3IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTYgbGliZmRpc2svc3JjL3N1bi5jOjExMTMKK21zZ2lkICJDeWxpbmRlcnMiCittc2dzdHIgIkNpbGluZHJvcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5NiBsaWJmZGlzay9zcmMvc3VuLmM6NzYwCittc2dpZCAiUnBtIgorbXNnc3RyICJSUE0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDEgbGliZmRpc2svc3JjL3NnaS5jOjI5MiBsaWJmZGlzay9zcmMvc3VuLmM6NzgwCittc2dpZCAiSW50ZXJsZWF2ZSIKK21zZ3N0ciAiSW50ZXJsZWF2ZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwNgorbXNnaWQgIlRyYWNrc2tldyIKK21zZ3N0ciAiVHJhY2tza2V3IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTExCittc2dpZCAiQ3lsaW5kZXJza2V3IgorbXNnc3RyICJDeWxpbmRlcnNrZXciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTYKK21zZ2lkICJIZWFkc3dpdGNoIgorbXNnc3RyICJIZWFkc3dpdGNoIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTIxCittc2dpZCAiVHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAiQnVzY2EgdHJpbGhhIGEgdHJpbGhhIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjExCittc2dpZCAiYnl0ZXMvc2VjdG9yIgorbXNnc3RyICJieXRlcy9zZXRvciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNAorbXNnaWQgInNlY3RvcnMvdHJhY2siCittc2dzdHIgInNldG9yZXMvdHJpbGhhIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE1Cittc2dpZCAidHJhY2tzL2N5bGluZGVyIgorbXNnc3RyICJ0cmlsaGFzL2NpbGluZHJvIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE2Cittc2dpZCAiY3lsaW5kZXJzIgorbXNnc3RyICJjaWxpbmRyb3MiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjAKK21zZ2lkICJzZWN0b3JzL2N5bGluZGVyIgorbXNnc3RyICJzZXRvcmVzL2NpbGluZHJvIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIzCittc2dpZCAicnBtIgorbXNnc3RyICJSUE0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjQKK21zZ2lkICJpbnRlcmxlYXZlIgorbXNnc3RyICJpbnRlcmxlYXZlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI1Cittc2dpZCAidHJhY2tza2V3IgorbXNnc3RyICJ0cmFja3NrZXciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjYKK21zZ2lkICJjeWxpbmRlcnNrZXciCittc2dzdHIgImN5bGluZGVyc2tldyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOAorbXNnaWQgImhlYWRzd2l0Y2giCittc2dzdHIgImhlYWRzd2l0Y2giCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjkKK21zZ2lkICJ0cmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICJidXNjYSB0cmlsaGEgYSB0cmlsaGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RzdHJhcCBmaWxlICVzIHN1Y2Nlc3NmdWxseSBsb2FkZWQuIgorbXNnc3RyICJPIGFycXVpdm8gZGUgaW5pY2lhbGl6YcOnw6NvICVzIGZvaSBjYXJyZWdhZG8gY29tIHN1Y2Vzc28uIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjczCisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcDogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKGRlZmF1bHQgJTEkcykiCittc2dzdHIgIkJvb3RzdHJhcDogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKHBhZHLDo28gJTEkcykiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MDQKK21zZ2lkICJCb290c3RyYXAgb3ZlcmxhcHMgd2l0aCBkaXNrbGFiZWwhIgorbXNnc3RyICJCb290c3RyYXAgKGPDs2RpZ28gZGUgaW5pY2lhbGl6YcOnw6NvKSBzb2JyZXDDtWUgYW8gcsOzdHVsbyBkbyBkaXNjbyEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwIGluc3RhbGxlZCBvbiAlcy4iCittc2dzdHIgIkJvb3RzdHJhcCAoY8OzZGlnbyBkZSBpbmljaWFsaXphw6fDo28pIGluc3RhbGFkbyBlbSAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuICAoRG9uJ3QgZm9yZ2V0IHRvIHdyaXRlIHRoZSAlcyBkaXNrbGFiZWwgdG9vLikiCittc2dzdHIgIlRpcG8gZGUgcsOzdHVsbyBkZSBkaXNjbyBncmF2YWRvIGVtICVzLiAobGVtYnJlLXNlIGRlIGdyYXZhciAlcyB0YW1iw6ltLikiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuIgorbXNnc3RyICJUaXBvIGRlIHLDs3R1bG8gZG8gZGlzY28gZ3JhdmFkbyBlbSAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDkgbGliZmRpc2svc3JjL2NvbnRleHQuYzo2NjYKK21zZ2lkICJTeW5jaW5nIGRpc2tzLiIKK21zZ3N0ciAiU2luY3Jvbml6YW5kbyBkaXNjb3MuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTUwCittc2dpZCAiQlNEIGxhYmVsIGlzIG5vdCBuZXN0ZWQgd2l0aGluIGEgRE9TIHBhcnRpdGlvbi4iCittc2dzdHIgInLDs3R1bG8gQlNEIG7Do28gZXN0w6EgYW5pbmhhZG8gZW0gdW1hIHBhcnRpw6fDo28gRE9TLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk3OAorIywgYy1mb3JtYXQKK21zZ2lkICJCU0QgcGFydGl0aW9uICclYycgbGlua2VkIHRvIERPUyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiUGFydGnDp8OjbyBCU0QgXCIlY1wiIHZpbmN1bGFkYSDDoCBwYXJ0acOnw6NvIERPUyAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNAorbXNnaWQgIlNsaWNlIgorbXNnc3RyICJGYXRpYSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjEKK21zZ2lkICJGc2l6ZSIKK21zZ3N0ciAiRnNpemUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIyCittc2dpZCAiQnNpemUiCittc2dzdHIgIkJzaXplIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMworbXNnaWQgIkNwZyIKK21zZ3N0ciAiQ3BnIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2UgZGV2aWNlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZlY2hhbWVudG8gZG8gZGlzcG9zaXRpdm8gZmFsaG91IgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjgyNworbXNnaWQgImN5bGluZGVyIgorbXNnaWRfcGx1cmFsICJjeWxpbmRlcnMiCittc2dzdHJbMF0gImNpbGluZHJvIgorbXNnc3RyWzFdICJjaWxpbmRyb3MiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODI4Cittc2dpZCAic2VjdG9yIgorbXNnaWRfcGx1cmFsICJzZWN0b3JzIgorbXNnc3RyWzBdICJzZXRvciIKK21zZ3N0clsxXSAic2V0b3JlcyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMTMxCittc2dpZCAiSW5jb21wbGV0ZSBnZW9tZXRyeSBzZXR0aW5nLiIKK21zZ3N0ciAiQ29uZmlndXJhw6fDo28gZGUgZ2VvbWV0cmlhIGluY29tcGxldGEuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE0Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBhbHJlYWR5LiIKK21zZ3N0ciAiVG9kYXMgYXMgcGFydGnDp8O1ZXMgcHJpbcOhcmlhcyBqw6EgZm9yYW0gZGVmaW5pZGFzLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBleHRlbmRlZCBwYXJ0aXRpb24gdGFibGUgKG9mZnNldD0lanUpIgorbXNnc3RyICJGYWxoYSBhbyBsZXIgdGFiZWxhIGRlIHBhcnRpw6fDo28gZXN0ZW5kaWRhIChwb3Npw6fDo289JWp1KSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjMyOAorbXNnaWQgIllvdSBjYW4gc2V0IGdlb21ldHJ5IGZyb20gdGhlIGV4dHJhIGZ1bmN0aW9ucyBtZW51LiIKK21zZ3N0ciAiVm9jw6ogcG9kZSBmYXplciBpc3RvIGEgcGFydGlyIGRvIG1lbnUgZGUgZnVuw6fDtWVzIGV4dHJhcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMzEKK21zZ2lkICJET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIgorbXNnc3RyICJNb2RvIGNvbXBhdMOtdmVsIGNvbSBET1MgZXN0w6Egb2Jzb2xldG8uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzM1Cittc2dpZCAiVGhlIGRldmljZSBwcmVzZW50cyBhIGxvZ2ljYWwgc2VjdG9yIHNpemUgdGhhdCBpcyBzbWFsbGVyIHRoYW4gdGhlIHBoeXNpY2FsIHNlY3RvciBzaXplLiBBbGlnbmluZyB0byBhIHBoeXNpY2FsIHNlY3RvciAob3Igb3B0aW1hbCBJL08pIHNpemUgYm91bmRhcnkgaXMgcmVjb21tZW5kZWQsIG9yIHBlcmZvcm1hbmNlIG1heSBiZSBpbXBhY3RlZC4iCittc2dzdHIgIk8gZGlzcG9zaXRpdm8gYXByZXNlbnRhIHVtIHRhbWFuaG8gZGUgc2V0b3IgbMOzZ2ljbyBxdWUgw6kgbWVub3IgZG8gcXVlIG8gdGFtYW5obyBkbyBzZXRvciBmw61zaWNvLiDDiSByZWNvbWVuZGFkbyBhbGluaGFyIGFvIGxpbWl0ZSBkZSB0YW1hbmhvIGRvIHNldG9yIGbDrXNpY28gKG91IEUvUyDDs3RpbW8pIG91LCBkbyBjb250csOhcmlvLCBhIHBlcmZvcm1hbmNlIHBvZGUgc2VyIGltcGFjdGFkYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDEKK21zZ2lkICJDeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4iCittc2dzdHIgIkNpbGluZHJvcyBjb21vIHVuaWRhZGVzIGRlIGV4aWJpw6fDo28gZXN0w6Egb2Jzb2xldG8uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBzaXplIG9mIHRoaXMgZGlzayBpcyAlcyAoJWp1IGJ5dGVzKS4gRE9TIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgY2FuIG5vdCBiZSB1c2VkIG9uIGRyaXZlcyBmb3Igdm9sdW1lcyBsYXJnZXIgdGhhbiAlbHUgYnl0ZXMgZm9yICVsdS1ieXRlIHNlY3RvcnMuIFVzZSBHVUlEIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgKEdQVCkuIgorbXNnc3RyICJPIHRhbWFuaG8gZGVzdGUgZGlzY28gw6kgJXMgKCVqdSBieXRlcykuIE8gZm9ybWF0byBkYSB0YWJlbGEgZGUgcGFydGnDp8OjbyBET1MgbsOjbyBwb2RlIHNlciB1c2FkbyBlbSB1bmlkYWRlcyBjb20gdm9sdW1lcyBtYWlvcmVzIGRvIHF1ZSAoJWx1IGJ5dGVzKSBwYXJhIHNldG9yZXMgZGUgJWx1IGJ5dGVzLiBVc2UgbyBmb3JtYXRvIGRlIHRhYmVsYSBkZSBwYXJ0acOnw6NvIEdVSUQgKEdQVCkuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTAzCittc2dpZCAiQmFkIG9mZnNldCBpbiBwcmltYXJ5IGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIlBvc2nDp8OjbyBpbnbDoWxpZGEgZW0gdW1hIHBhcnRpw6fDo28gcHJpbcOhcmlhIGVzdGVuZGlkYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiT21pdHRpbmcgcGFydGl0aW9ucyBhZnRlciAjJXp1LiBUaGV5IHdpbGwgYmUgZGVsZXRlZCBpZiB5b3Ugc2F2ZSB0aGlzIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIk9taXRpbmRvIHBhcnRpw6fDtWVzIGFww7NzICMlenUuIEVsYXMgc2Vyw6NvIGV4Y2x1w61kYXMgc2Ugdm9jw6ogc2FsdmFyIGVzdGEgdGFiZWxhIGRlIHBhcnRpw6fDo28uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4dHJhIGxpbmsgcG9pbnRlciBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiUG9udGVpcm8gZGUgdsOtbmN1bG8gZXh0cmEgbmEgdGFiZWxhIGRlIHBhcnRpw6fDo28gJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU1NAorIywgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBkYXRhIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJJZ25vcmFuZG8gZGFkb3MgZXh0cmFzIG5hIHRhYmVsYSBkZSBwYXJ0acOnw6NvICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAib21pdHRpbmcgZW1wdHkgcGFydGl0aW9uICglenUpIgorbXNnc3RyICJvbWl0aW5kbyBwYXJ0acOnw6NvIHZhemlhICglenUpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguIgorbXNnc3RyICJDcmlhZG8gdW0gbm92byByw7N0dWxvIGRlIGRpc2NvIERPUyBjb20gbyBpZGVudGlmaWNhZG9yIGRlIGRpc2NvIDB4JTA4eC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2ODUKK21zZ2lkICJFbnRlciB0aGUgbmV3IGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiRGlnaXRlIG8gaWRlbnRpZmljYWRvciBkbyBub3ZvIGRpc2NvIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjkyCittc2dpZCAiSW5jb3JyZWN0IHZhbHVlLiIKK21zZ3N0ciAiVmFsb3IgaW5jb3JyZXRvLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcwMQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tIDB4JTA4eCB0byAweCUwOHguIgorbXNnc3RyICJJZGVudGlmaWNhZG9yIGRvIGRpc2NvIGFsdGVyYWRvIGRlIDB4JTA4eCBwYXJhIDB4JTA4eC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZXh0ZW5kZWQgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiSWdub3JhbmRvIHBhcnRpw6fDo28gZXN0ZW5kaWRhIGV4dHJhICV6dSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGZsYWcgMHglMDJ4JTAyeCBvZiBFQlIgKGZvciBwYXJ0aXRpb24gJXp1KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpLiIKK21zZ3N0ciAiQSBvcMOnw6NvIGludsOhbGlkYSAweCUwMnglMDJ4IGRhIEVCUiAocGFyYSBhIHBhcnRpw6fDo28gJXp1KSBzZXLDoSBjb3JyaWdpZGEgcG9yIGdyYXZhw6fDo28gKHcpLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjkyMAorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFydCBzZWN0b3IgJWp1IG91dCBvZiByYW5nZS4iCittc2dzdHIgIlNldG9yIGluaWNpYWwgJWp1IGZvcmEgZG8gaW50ZXJ2YWxvLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwMjYgbGliZmRpc2svc3JjL2dwdC5jOjIxMzYgbGliZmRpc2svc3JjL3NnaS5jOjgzOQorIzogbGliZmRpc2svc3JjL3N1bi5jOjUxNworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKK21zZ3N0ciAiQSBwYXJ0acOnw6NvICV6dSBqw6EgZXN0w6EgZGVmaW5pZGEuIEV4Y2x1YS1hIGFudGVzIGRlIGFkaWNpb27DoS1sYSBub3ZhbWVudGUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTA5NgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWxsdSBpcyBhbHJlYWR5IGFsbG9jYXRlZC4iCittc2dzdHIgIk8gc2V0b3IgJWxsdSBqw6EgZXN0w6EgYWxvY2Fkby4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTMzIGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQ2Cittc2dpZCAiTm8gZnJlZSBzZWN0b3JzIGF2YWlsYWJsZS4iCittc2dzdHIgIk7Do28gaMOhIHNldG9yZXMgbGl2cmVzIGRpc3BvbsOtdmVpcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIkFkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIkFkaWNpb25hbmRvIHVtYSBwYXJ0acOnw6NvIGzDs2dpY2EgJXp1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMxNgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjb250YWlucyBzZWN0b3IgMCIKK21zZ3N0ciAiUGFydGnDp8OjbyAlenU6IGNvbnTDqW0gc2V0b3IgMCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaGVhZCAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlZCIKK21zZ3N0ciAiUGFydGnDp8OjbyAlenU6IGEgY2FiZcOnYSAlZCDDqSBtYWlvciBkbyBxdWUgbyBtw6F4aW1vICVkIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMyMQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBzZWN0b3IgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiUGFydGnDp8OjbyAlenU6IG8gc2V0b3IgJWQgw6kgbWFpb3IgZG8gcXVlIG8gbcOheGltbyAlbGx1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMyNAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjeWxpbmRlciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICJQYXJ0acOnw7VlcyAlenU6IG8gY2lsaW5kcm8gJWQgw6kgbWFpb3IgZG8gcXVlIG8gbcOheGltbyAlbGx1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMzMAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBwcmV2aW91cyBzZWN0b3JzICV1IGRpc2FncmVlcyB3aXRoIHRvdGFsICV1IgorbXNnc3RyICJQYXJ0acOnw6NvICV6dTogb3Mgc2V0b3JlcyBhbnRlcmlvcmVzICV1IG7Do28gZXN0w6NvIGRlIGFjb3JkbyBjb20gbyB0b3RhbCAldSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgYmVnaW5uaW5ncyAobm9uLUxpbnV4Pyk6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiUGFydGnDp8OjbyAlenU6IGluw61jaW9zIGbDrXNpY28vbMOzZ2ljbyBkaWZlcmVudGVzIChuw6NvIExpbnV4Pyk6IGbDrXNpY289KCVkLCAlZCwgJWQpLCBsw7NnaWNvPSglZCwgJWQsICVkKSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgZW5kaW5nczogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICJQYXJ0acOnw6NvICV6dTogZmlucyBmw61zaWNvL2zDs2dpY28gZGlmZXJlbnRlczogZsOtc2ljbz0oJWQsICVkLCAlZCksIGzDs2dpY289KCVkLCAlZCwgJWQpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQwMworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJQYXJ0acOnw6NvICV6dTogbsOjbyB0ZXJtaW5hIGVtIHVtIGxpbWl0ZSBkZSBjaWxpbmRyby4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGJhZCBzdGFydC1vZi1kYXRhLiIKK21zZ3N0ciAiUGFydGnDp8OjbyAlenU6IGluw61jaW8gZGUgZGFkb3MgaW52w6FsaWRvLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogb3ZlcmxhcHMgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIlBhcnRpw6fDo28gJXp1OiBzb2JyZXDDtWUtc2Ugw6AgcGFydGnDp8OjbyAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ2OAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBlbXB0eS4iCittc2dzdHIgIlBhcnRpw6fDo28gJXp1OiB2YXppYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDczCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2ljYWwgcGFydGl0aW9uICV6dTogbm90IGVudGlyZWx5IGluIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJQYXJ0acOnw6NvIGzDs2dpY2EgJXp1OiBuw6NvIGVzdMOhIGNvbXBsZXRhbWVudGUgbmEgcGFydGnDp8OjbyAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICJUb3RhbCBhbGxvY2F0ZWQgc2VjdG9ycyAlbGx1IGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSAlbGx1LiIKK21zZ3N0ciAiTyB0b3RhbCBkZSBzZXRvcmVzIGFsb2NhZG9zLCAlbGx1LCDDqSBtYWlvciBkbyBxdWUgbyBtw6F4aW1vLCAlbGx1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVtYWluaW5nICVsbGQgdW5hbGxvY2F0ZWQgJWxkLWJ5dGUgc2VjdG9ycy4iCittc2dzdHIgIlJlc3RhbSAlbGxkIHNldG9yZXMgbsOjbyBhbG9jYWRvcyBkZSAlbGQgYnl0ZXMuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUzMiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1NAorbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgIlBhcnRpw6fDo28gZXN0ZW5kaWRhIGrDoSBleGlzdGUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU3NQorbXNnaWQgIlRoZSBtYXhpbXVtIG51bWJlciBvZiBwYXJ0aXRpb25zIGhhcyBiZWVuIGNyZWF0ZWQuIgorbXNnc3RyICJPIG7Dum1lcm8gbcOheGltbyBkZSBwYXJ0acOnw7VlcyBmb2kgY3JpYWRvLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1ODcKK21zZ2lkICJBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIgorbXNnc3RyICJUb2RhcyBhcyBwYXJ0acOnw7VlcyBwcmltw6FyaWFzIGVzdMOjbyBlbSB1c28uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU4OSBsaWJmZGlzay9zcmMvZG9zLmM6MTYwMAorbXNnaWQgIkFsbCBzcGFjZSBmb3IgcHJpbWFyeSBwYXJ0aXRpb25zIGlzIGluIHVzZS4iCittc2dzdHIgIlRvZG8gZXNwYcOnbyBwYXJhIHBhcnRpw6fDtWVzIHByaW3DoXJpYXMgZXN0w6EgZW0gdXNvLiIKKworIy4gVFJBTlNMQVRPUlM6IFRyeSB0byBrZWVwIHRoaXMgd2l0aGluIDgwIGNoYXJhY3RlcnMuCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYwMworbXNnaWQgIlRvIGNyZWF0ZSBtb3JlIHBhcnRpdGlvbnMsIGZpcnN0IHJlcGxhY2UgYSBwcmltYXJ5IHdpdGggYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiUGFyYSBjcmlhciBtYWlzIHBhcnRpw6fDtWVzLCBzdWJzdGl0dWEgdW1hIHBhcnRpw6fDo28gcHJpbcOhcmlhIHBvciB1bWEgZXN0ZW5kaWRhLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDgKK21zZ2lkICJBbGwgbG9naWNhbCBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIEFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uLiIKK21zZ3N0ciAiVG9kYXMgYXMgcGFydGnDp8O1ZXMgbMOzZ2ljYXMgZXN0w6NvIGVtIHVzby4gQWRpY2lvbmFuZG8gdW1hIHBhcnRpw6fDo28gcHJpbcOhcmlhLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzAKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiVGlwbyBkYSBwYXJ0acOnw6NvIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlenUgcHJpbWFyeSwgJWQgZXh0ZW5kZWQsICV6dSBmcmVlIgorbXNnc3RyICIlenUgcHJpbcOhcmlhcywgJWQgZXN0ZW5kaWRhcywgJXp1IGxpdnJlIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzOQorbXNnaWQgInByaW1hcnkiCittc2dzdHIgInByaW3DoXJpYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDEKK21zZ2lkICJleHRlbmRlZCIKK21zZ3N0ciAiZXN0ZW5kaWRhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MQorbXNnaWQgImNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zIgorbXNnc3RyICJyZWNpcGllbnRlIHBhcmEgcGFydGnDp8O1ZXMgbMOzZ2ljYXMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQzCittc2dpZCAibG9naWNhbCIKK21zZ3N0ciAibMOzZ2ljYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDMKK21zZ2lkICJudW1iZXJlZCBmcm9tIDUiCittc2dzdHIgIm51bWVyYWRvIGEgcGFydGlyIGRlIDUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIHR5cGUgYCVjJy4iCittc2dzdHIgIlRpcG8gZGUgcGFydGnDp8OjbyBpbnbDoWxpZGEgXCIlY1wiLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlIHNlY3RvciAlamQ6IHNlZWsgZmFpbGVkIgorbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgZ3JhdmFyIG8gc2V0b3IgJWpkOiBidXNjYSBmYWxob3UiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxODUyIGxpYmZkaXNrL3NyYy9ncHQuYzoxMDk2Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJJZGVudGlmaWNhZG9yIGRvIGRpc2NvIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1OQorbXNnaWQgIlR5cGUgMCBtZWFucyBmcmVlIHNwYWNlIHRvIG1hbnkgc3lzdGVtcy4gSGF2aW5nIHBhcnRpdGlvbnMgb2YgdHlwZSAwIGlzIHByb2JhYmx5IHVud2lzZS4iCittc2dzdHIgIlRpcG8gMCBzaWduaWZpY2EgZXNwYcOnbyBsaXZyZSBwYXJhIG11aXRvcyBzaXN0ZW1hcy4gTWFudGVyIHBhcnRpw6fDtWVzIHRpcG8gMCBuw6NvIMOpIHJlY29tZW5kw6F2ZWwuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk2NAorbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdHlwZSBvZiB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIHdoaWNoIGlzIGFscmVhZHkgdXNlZCBieSBsb2dpY2FsIHBhcnRpdGlvbnMuIERlbGV0ZSBsb2dpY2FsIHBhcnRpdGlvbnMgZmlyc3QuIgorbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgYWx0ZXJhciBvIHRpcG8gZGEgcGFydGnDp8OjbyBlc3RlbmRpZGEsIGEgcXVhbCBqw6EgZXN0w6Egc2VuZG8gdXNhZGEgcG9yIHBhcnRpw6fDtWVzIGzDs2dpY2FzLiBFeGNsdWEgYXMgcGFydGnDp8O1ZXMgbMOzZ2ljYXMgcHJpbWVpcm8uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE0MyBsaWJmZGlzay9zcmMvZ3B0LmM6MjgyMQorbXNnaWQgIk5vdGhpbmcgdG8gZG8uIE9yZGVyaW5nIGlzIGNvcnJlY3QgYWxyZWFkeS4iCittc2dzdHIgIk5hZGEgYSBmYXplci4gT3JkZW0gasOhIGVzdMOhIGNvcnJldGEuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBubyBkYXRhIGFyZWEuIgorbXNnc3RyICJQYXJ0acOnw6NvICV6dTogbsOjbyBwb3NzdWkgw6FyZWEgZGUgZGFkb3MuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjIyMgorbXNnaWQgIk5ldyBiZWdpbm5pbmcgb2YgZGF0YSIKK21zZ3N0ciAiTm92byBpbsOtY2lvIGRvcyBkYWRvcyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaXMgYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiUGFydGnDp8OjbyAlenU6IMOpIHVtYSBwYXJ0acOnw6NvIGVzdGVuZGlkYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJBIG9ww6fDo28gZGUgaW5pY2lhbGl6YcOnw6NvIG5hIHBhcnRpw6fDo28gJXp1IGVzdMOhIGFnb3JhIGhhYmlsaXRhZGEuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIkEgb3DDp8OjbyBkZSBpbmljaWFsaXphw6fDo28gZGEgcGFydGnDp8OjbyAlenUgZXN0w6EgYWdvcmEgZGVzYWJpbGl0YWRhLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyOTggbGliZmRpc2svc3JjL2dwdC5jOjI5MTEgbGliZmRpc2svc3JjL3NnaS5jOjExNTMKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTA5Cittc2dpZCAiRGV2aWNlIgorbXNnc3RyICJEaXNwb3NpdGl2byIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyOTkgbGliZmRpc2svc3JjL3N1bi5jOjQxCittc2dpZCAiQm9vdCIKK21zZ3N0ciAiSW5pY2lhbGl6YXIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzA1IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU5IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE1Cittc2dpZCAiSWQiCittc2dzdHIgIklkIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwOQorbXNnaWQgIlN0YXJ0LUMvSC9TIgorbXNnc3RyICJJbsOtY2lvLUMvSC9TIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMxMAorbXNnaWQgIkVuZC1DL0gvUyIKK21zZ3N0ciAiRmltLUMvSC9TIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMxMSBsaWJmZGlzay9zcmMvZ3B0LmM6MjkyMSBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MQorbXNnaWQgIkF0dHJzIgorbXNnc3RyICJBdHRycyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MAorbXNnaWQgIkVGSSBTeXN0ZW0iCittc2dzdHIgIlNpc3RlbWEgRUZJIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYyCittc2dpZCAiTUJSIHBhcnRpdGlvbiBzY2hlbWUiCittc2dzdHIgIkVzcXVlbWEgZGUgcGFydGnDp8O1ZXMgTUJSIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzCittc2dpZCAiSW50ZWwgRmFzdCBGbGFzaCIKK21zZ3N0ciAiSW50ZWwgRmFzdCBGbGFzaCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2NgorbXNnaWQgIkJJT1MgYm9vdCIKK21zZ3N0ciAiQklPUyBpbmljaWFsaXphw6fDo28iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjkKK21zZ2lkICJTb255IGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICJQYXJ0acOnw6NvIGRlIGluaWNpYWxpemHDp8OjbyBTb255IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTcwCittc2dpZCAiTGVub3ZvIGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICJQYXJ0acOnw6NvIGRlIGluaWNpYWxpemHDp8OjbyBMZW5vdm8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzMKK21zZ2lkICJQb3dlclBDIFBSZVAgYm9vdCIKK21zZ3N0ciAiUG93ZXJQQyBQUmVQIGluaWNpYWxpemHDp8OjbyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NgorbXNnaWQgIk9OSUUgYm9vdCIKK21zZ3N0ciAiT05JRSBpbmljaWFsaXphw6fDo28iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzcKK21zZ2lkICJPTklFIGNvbmZpZyIKK21zZ3N0ciAiT05JRSBjb25maWciCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAKK21zZ2lkICJNaWNyb3NvZnQgcmVzZXJ2ZWQiCittc2dzdHIgIk1pY3Jvc29mdCByZXNlcnZhZG8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODEKK21zZ2lkICJNaWNyb3NvZnQgYmFzaWMgZGF0YSIKK21zZ3N0ciAiTWljcm9zb2Z0IGRhZG9zIGLDoXNpY28iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODIKK21zZ2lkICJNaWNyb3NvZnQgTERNIG1ldGFkYXRhIgorbXNnc3RyICJNaWNyb3NvZnQgbWV0YWRhZG9zIExETSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MworbXNnaWQgIk1pY3Jvc29mdCBMRE0gZGF0YSIKK21zZ3N0ciAiTWljcm9zb2Z0IGRhZG9zIExETSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NAorbXNnaWQgIldpbmRvd3MgcmVjb3ZlcnkgZW52aXJvbm1lbnQiCittc2dzdHIgIldpbmRvd3MgYW1iaWVudGUgZGUgcmVjdXBlcmHDp8OjbyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NQorbXNnaWQgIklCTSBHZW5lcmFsIFBhcmFsbGVsIEZzIgorbXNnc3RyICJJQk0gc2lzdGVtYSBkZSBhcnF1aXZvcyBwYXJhbGVsbyBnZXJhbCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NgorbXNnaWQgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKK21zZ3N0ciAiTWljcm9zb2Z0IGVzcGHDp29zIGRlIGFybWF6ZW5hbWVudG8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODkKK21zZ2lkICJIUC1VWCBkYXRhIgorbXNnc3RyICJIUC1VWCBkYWRvcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MAorbXNnaWQgIkhQLVVYIHNlcnZpY2UiCittc2dzdHIgIkhQLVVYIHNlcnZpw6dvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2MSBsaWJmZGlzay9zcmMvc3VuLmM6NTIKK21zZ2lkICJMaW51eCBzd2FwIgorbXNnc3RyICJMaW51eCBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk0Cittc2dpZCAiTGludXggZmlsZXN5c3RlbSIKK21zZ3N0ciAiTGludXggc2lzdGVtYSBkZSBhcnF1aXZvcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NQorbXNnaWQgIkxpbnV4IHNlcnZlciBkYXRhIgorbXNnc3RyICJMaW51eCBkYWRvcyBkZSBzZXJ2aWRvciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NgorbXNnaWQgIkxpbnV4IHJvb3QgKHg4NikiCittc2dzdHIgIkxpbnV4IHJhaXogKHg4NikiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcKK21zZ2lkICJMaW51eCByb290IChBUk0pIgorbXNnc3RyICJMaW51eCByYWl6IChBUk0pIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4Cittc2dpZCAiTGludXggcm9vdCAoeDg2LTY0KSIKK21zZ3N0ciAiTGludXggcmFpeiAoeDg2LTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OQorbXNnaWQgIkxpbnV4IHJvb3QgKEFSTS02NCkiCittc2dzdHIgIkxpbnV4IHJhaXogKEFSTS02NCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAKK21zZ2lkICJMaW51eCByb290XHQoSUEtNjQpIgorbXNnc3RyICJMaW51eCByYWl6XHQoSUEtNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAxCittc2dpZCAiTGludXggcmVzZXJ2ZWQiCittc2dzdHIgIkxpbnV4IHJlc2VydmFkbyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMgorbXNnaWQgIkxpbnV4IGhvbWUiCittc2dzdHIgIkxpbnV4IGhvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMgbGliZmRpc2svc3JjL3NnaS5jOjY0Cittc2dpZCAiTGludXggUkFJRCIKK21zZ3N0ciAiTGludXggUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNAorbXNnaWQgIkxpbnV4IGV4dGVuZGVkIGJvb3QiCittc2dzdHIgIkxpbnV4IGVzdGVuZGlkYSBpbmljaWFsaXphw6fDo28iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTIKK21zZ2lkICJGcmVlQlNEIGRhdGEiCittc2dzdHIgIkZyZWVCU0QgZGFkb3MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTMKK21zZ2lkICJGcmVlQlNEIGJvb3QiCittc2dzdHIgIkZyZWVCU0QgaW5pY2lhbGl6YcOnw6NvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0Cittc2dpZCAiRnJlZUJTRCBzd2FwIgorbXNnc3RyICJGcmVlQlNEIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUKK21zZ2lkICJGcmVlQlNEIFVGUyIKK21zZ3N0ciAiRnJlZUJTRCBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTYKK21zZ2lkICJGcmVlQlNEIFpGUyIKK21zZ3N0ciAiRnJlZUJTRCBaRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTcKK21zZ2lkICJGcmVlQlNEIFZpbnVtIgorbXNnc3RyICJGcmVlQlNEIFZpbnVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIwCittc2dpZCAiQXBwbGUgSEZTL0hGUysiCittc2dzdHIgIkFwcGxlIEhGUy9IRlMrIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxCittc2dpZCAiQXBwbGUgVUZTIgorbXNnc3RyICJBcHBsZSBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjIKK21zZ2lkICJBcHBsZSBSQUlEIgorbXNnc3RyICJBcHBsZSBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzCittc2dpZCAiQXBwbGUgUkFJRCBvZmZsaW5lIgorbXNnc3RyICJBcHBsZSBSQUlEIG9mZmxpbmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjQKK21zZ2lkICJBcHBsZSBib290IgorbXNnc3RyICJBcHBsZSBpbmljaWFsaXphw6fDo28iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjUKK21zZ2lkICJBcHBsZSBsYWJlbCIKK21zZ3N0ciAiQXBwbGUgcsOzdHVsbyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNgorbXNnaWQgIkFwcGxlIFRWIHJlY292ZXJ5IgorbXNnc3RyICJBcHBsZSBUViByZWN1cGVyYcOnw6NvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI3Cittc2dpZCAiQXBwbGUgQ29yZSBzdG9yYWdlIgorbXNnc3RyICJBcHBsZSBhcm1hemVuYW1lbnRvIGNlbnRyYWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzEKK21zZ2lkICJTb2xhcmlzIHJvb3QiCittc2dzdHIgIlNvbGFyaXMgcmFpeiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMworbXNnaWQgIlNvbGFyaXMgL3VzciAmIEFwcGxlIFpGUyIKK21zZ3N0ciAiU29sYXJpcyAvdXNyICYgQXBwbGUgWkZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM0Cittc2dpZCAiU29sYXJpcyBzd2FwIgorbXNnc3RyICJTb2xhcmlzIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzUKK21zZ2lkICJTb2xhcmlzIGJhY2t1cCIKK21zZ3N0ciAiU29sYXJpcyBiYWNrdXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzYKK21zZ2lkICJTb2xhcmlzIC92YXIiCittc2dzdHIgIlNvbGFyaXMgL3ZhciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNworbXNnaWQgIlNvbGFyaXMgL2hvbWUiCittc2dzdHIgIlNvbGFyaXMgL2hvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzgKK21zZ2lkICJTb2xhcmlzIGFsdGVybmF0ZSBzZWN0b3IiCittc2dzdHIgIlNvbGFyaXMgc2V0b3IgYWx0ZXJuYXRpdm8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDEiCittc2dzdHIgIlNvbGFyaXMgcmVzZXJ2YWRvIDEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDAKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDIiCittc2dzdHIgIlNvbGFyaXMgcmVzZXJ2YWRvIDIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDEKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDMiCittc2dzdHIgIlNvbGFyaXMgcmVzZXJ2YWRvIDMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDIKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDQiCittc2dzdHIgIlNvbGFyaXMgcmVzZXJ2YWRvIDQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDMKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDUiCittc2dzdHIgIlNvbGFyaXMgcmVzZXJ2YWRvIDUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDYKK21zZ2lkICJOZXRCU0Qgc3dhcCIKK21zZ3N0ciAiTmV0QlNEIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDcKK21zZ2lkICJOZXRCU0QgRkZTIgorbXNnc3RyICJOZXRCU0QgRkZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4Cittc2dpZCAiTmV0QlNEIExGUyIKK21zZ3N0ciAiTmV0QlNEIExGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OQorbXNnaWQgIk5ldEJTRCBjb25jYXRlbmF0ZWQiCittc2dzdHIgIk5ldEJTRCBjb25jYXRlbmFkbyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MAorbXNnaWQgIk5ldEJTRCBlbmNyeXB0ZWQiCittc2dzdHIgIk5ldEJTRCBjcmlwdG9ncmFmYWRvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUxCittc2dpZCAiTmV0QlNEIFJBSUQiCittc2dzdHIgIk5ldEJTRCBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0Cittc2dpZCAiQ2hyb21lT1Mga2VybmVsIgorbXNnc3RyICJDaHJvbWVPUyBrZXJuZWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTUKK21zZ2lkICJDaHJvbWVPUyByb290IGZzIgorbXNnc3RyICJDaHJvbWVPUyBzaXN0ZW1hIHJhaXoiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTYKK21zZ2lkICJDaHJvbWVPUyByZXNlcnZlZCIKK21zZ3N0ciAiQ2hyb21lT1MgcmVzZXJ2YWRvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5Cittc2dpZCAiTWlkbmlnaHRCU0QgZGF0YSIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgZGFkb3MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjAKK21zZ2lkICJNaWRuaWdodEJTRCBib290IgorbXNnc3RyICJNaWRuaWdodEJTRCBpbmljaWFsaXphw6fDo28iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjEKK21zZ2lkICJNaWRuaWdodEJTRCBzd2FwIgorbXNnc3RyICJNaWRuaWdodEJTRCBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyCittc2dpZCAiTWlkbmlnaHRCU0QgVUZTIgorbXNnc3RyICJNaWRuaWdodEJTRCBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjMKK21zZ2lkICJNaWRuaWdodEJTRCBaRlMiCittc2dzdHIgIk1pZG5pZ2h0QlNEIFpGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NAorbXNnaWQgIk1pZG5pZ2h0QlNEIFZpbnVtIgorbXNnc3RyICJNaWRuaWdodEJTRCBWaW51bSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NworbXNnaWQgIkNlcGggSm91cm5hbCIKK21zZ3N0ciAiQ2VwaCBKb3JuYWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjgKK21zZ2lkICJDZXBoIEVuY3J5cHRlZCBKb3VybmFsIgorbXNnc3RyICJDZXBoIGpvcm5hbCBjcmlwdG9ncmFmYWRvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5Cittc2dpZCAiQ2VwaCBPU0QiCittc2dzdHIgIkNlcGggT1NEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcwCittc2dpZCAiQ2VwaCBjcnlwdCBPU0QiCittc2dzdHIgIkNlcGggT1NEIGNyaXB0b2dyYWZhZG8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzEKK21zZ2lkICJDZXBoIGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIkRpc2NvIENlcGggZW0gY3JpYcOnw6NvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcyCittc2dpZCAiQ2VwaCBjcnlwdCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICJEaXNjbyBDZXBoIGNyaXB0b2dyYWZhZG8gZW0gY3JpYcOnw6NvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1Cittc2dpZCAiT3BlbkJTRCBkYXRhIgorbXNnc3RyICJPcGVuQlNEIGRhZG9zIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc4Cittc2dpZCAiUU5YNiBmaWxlIHN5c3RlbSIKK21zZ3N0ciAiU2lzdGVtYSBkZSBhcnF1aXZvcyBRTlg2IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjgxCittc2dpZCAiUGxhbiA5IHBhcnRpdGlvbiIKK21zZ3N0ciAiUGxhbiA5IHBhcnRpw6fDo28iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo1NDcKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR1BUIGhlYWRlciIKK21zZ3N0ciAiZmFsaGEgYW8gYWxvY2FyIGNhYmXDp2FsaG8gR1BUIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NjMwCittc2dpZCAiRmlyc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiUHJpbWVpcm8gTEJBIGVzcGVjaWZpY2FkbyBwZWxvIHNjcmlwdCBlc3TDoSBmb3JhIGRvIGludGVydmFsby4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo2NDIKK21zZ2lkICJMYXN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIsOabHRpbW8gTEJBIGVzcGVjaWZpY2FkbyBwZWxvIHNjcmlwdCBlc3TDoSBmb3JhIGRvIGludGVydmFsby4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR1BUIFBNQlIgc2l6ZSBtaXNtYXRjaCAoJTxQUkl1NjQ+ICE9ICU8UFJJdTY0Pikgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIkRlc2NvbXBhc3NvIG5vIHRhbWFuaG8gZGEgUE1CUiBHUFQgKCU8UFJJdTY0PiAhPSAlPFBSSXU2ND4pIHNlcsOhIGNvcnJpZ2lkbyBwb3IgZ3JhdmHDp8OjbyAodykuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NzkyCittc2dpZCAiZ3B0OiBzdGF0KCkgZmFpbGVkIgorbXNnc3RyICJncHQ6IHN0YXQoKSBmYWxob3UiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo4MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3B0OiBjYW5ub3QgaGFuZGxlIGZpbGVzIHdpdGggbW9kZSAlbyIKK21zZ3N0ciAiZ3B0OiBuw6NvIGZvaSBwb3Nzw612ZWwgbWFuaXB1bGFyIGFycXVpdm9zIGNvbSBtb2RvICVvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTA2NAorbXNnaWQgIkdQVCBIZWFkZXIiCittc2dzdHIgIkNhYmXDp2FsaG8gR1BUIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTA2OQorbXNnaWQgIkdQVCBFbnRyaWVzIgorbXNnc3RyICJFbnRyYWRhcyBHUFQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTAzCittc2dpZCAiRmlyc3QgTEJBIgorbXNnc3RyICJQcmltZWlybyBMQkEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTA4Cittc2dpZCAiTGFzdCBMQkEiCittc2dzdHIgIsOabHRpbW8gTEJBIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIExCQSAoTG9naWNhbCBCbG9jayBBZGRyZXNzKSBvZiB0aGUgYmFja3VwIEdQVCBoZWFkZXIuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTExNAorbXNnaWQgIkFsdGVybmF0aXZlIExCQSIKK21zZ3N0ciAiTEJBIGFsdGVybmF0aXZvIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YXJ0IG9mIHRoZSBhcnJheSBvZiBwYXJ0aXRpb24gZW50cmllcy4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTIwCittc2dpZCAiUGFydGl0aW9uIGVudHJpZXMgTEJBIgorbXNnc3RyICJMQkEgZGUgZW50cmFkYXMgZGUgcGFydGnDp8OjbyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExMjUKK21zZ2lkICJBbGxvY2F0ZWQgcGFydGl0aW9uIGVudHJpZXMiCittc2dzdHIgIkVudHJhZGFzIGRlIHBhcnRpw6fDo28gYWxvY2FkYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE0NDAKK21zZ2lkICJUaGUgYmFja3VwIEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIHByaW1hcnkgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICJBIHRhYmVsYSBHUFQgcmVzZXJ2YSBlc3TDoSBiYWNrdXAsIG1hcyBhIHByaW3DoXJpYSBwYXJlY2UgZXN0YXIgT0sgZSwgcG9yIGlzc28sIGVzdGEgc2Vyw6EgdXNhZGEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTQ0OQorbXNnaWQgIlRoZSBwcmltYXJ5IEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIGJhY2t1cCBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIkEgdGFiZWxhIEdQVCBwcmltw6FyaWEgZXN0w6EgY29ycm9tcGlkYSwgbWFzIGEgYmFja3VwIHBhcmVjZSBlc3RhciBPSyBlLCBwb3IgaXNzbywgZXN0YSBzZXLDoSB1c2FkYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjMxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIEdQVCBhdHRyaWJ1dGUgYml0ICclcyciCittc2dzdHIgInNlbSBzdXBvcnRlIGFvIGJpdCBcIiVzXCIgYXRyaWJ1dG8gZGUgR1BUIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIEdQVCBhdHRyaWJ1dGUgc3RyaW5nICclcyciCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIGEgbGlzdGEgXCIlc1wiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczMQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gVVVJRCBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICJVVUlEIGRhIHBhcnRpw6fDo28gYWx0ZXJhZGEgZGUgJXMgcGFyYSAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lIGNoYW5nZWQgZnJvbSAnJXMnIHRvICclLipzJy4iCittc2dzdHIgIk5vbWUgZGEgcGFydGnDp8OjbyBhbHRlcmFkbyBkZSBcIiVzXCIgdG8gXCIlLipzXCIuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc2OAorbXNnaWQgIlRoZSBzdGFydCBvZiB0aGUgcGFydGl0aW9uIHVuZGVyc3RlcHMgRmlyc3RVc2FibGVMQkEuIgorbXNnc3RyICJPIGluw61jaW8gZGEgcGFydGnDp8OjbyDDqSBtZW5vciBxdWUgRmlyc3RVc2FibGVMQkEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc3NQorbXNnaWQgIlRoZSBlbmQgb2YgdGhlIHBhcnRpdGlvbiBvdmVyc3RlcHMgTGFzdFVzYWJsZUxCQS4iCittc2dzdHIgIk8gZmltIGRlIHBhcnRpw6fDo28gZXhjZWRlIExhc3RVc2FibGVMQkEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzNAorbXNnaWQgIlRoZSBkZXZpY2UgY29udGFpbnMgaHlicmlkIE1CUiAtLSB3cml0aW5nIEdQVCBvbmx5LiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBNQlIgbWFudWFsbHkuIgorbXNnc3RyICJPIGRpc3Bvc2l0aXZvIGNvbnTDqW0gTUJSIGjDrWJyaWRhIC0tIGVzY3JldmVuZG8gYXBlbmFzIEdQVC4gVm9jw6ogdGVtIHF1ZSBzaW5jcm9uaXphciBhIE1CUiBtYW51YWxtZW50ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcxCittc2dpZCAiRGlzayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIk8gZGlzY28gbsOjbyBjb250w6ltIHVtYSB0YWJlbGEgZGUgcGFydGnDp8OjbyB2w6FsaWRhLiIKKworIyBjYWJlw6dhbGhvIHByaW3DoXJpbyBvdSBjYWJlw6dhbGhvIGRlIHVtYSBwYXJ0acOnw6NvIHByaW3DoXJpYSwgb3UgZGEgcHJpbWVpcmE/CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3NgorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiVmVyaWZpY2HDp8OjbyBkZSBzb21hIENSQyBkbyBjYWJlw6dhbGhvIHByaW3DoXJpbyBpbnbDoWxpZGEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4MAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICJWZXJpZmljYcOnw6NvIGRlIHNvbWEgQ1JDIGRvIGNhYmXDp2FsaG8gYmFja3VwIGludsOhbGlkYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTg1Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gZW50cnkgY2hlY2tzdW0uIgorbXNnc3RyICJWZXJpZmljYcOnw6NvIGRlIHNvbWEgZGUgZW50cmFkYSBkZSBwYXJ0acOnw6NvIGludsOhbGlkYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTkwCittc2dpZCAiSW52YWxpZCBwcmltYXJ5IGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIlZlcmlmaWNhw6fDo28gZGUgc2FuaWRhZGUgZG8gTEJBIGRvIGNhYmXDp2FsaG8gcHJpbcOhcmlvIGludsOhbGlkYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTk0Cittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiVmVyaWZpY2HDp8OjbyBkZSBzYW5pZGFkZSBkbyBMQkEgZG8gY2FiZcOnYWxobyBiYWNrdXAgaW52w6FsaWRhLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OTkKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgcHJpbWFyeSBoZWFkZXIuIgorbXNnc3RyICJNeUxCQSBuw6NvIGNvbmZlcmUgY29tIGEgcG9zacOnw6NvIHJlYWwgbm8gY2FiZcOnYWxobyBwcmltw6FyaW8uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwMworbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiTXlMQkEgbsOjbyBjb25mZXJlIGNvbSBhIHBvc2nDp8OjbyByZWFsIG5vIGNhYmXDp2FsaG8gYmFja3VwLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMDgKK21zZ2lkICJEaXNrIGlzIHRvbyBzbWFsbCB0byBob2xkIGFsbCBkYXRhLiIKK21zZ3N0ciAiTyBkaXNjbyDDqSBwZXF1ZW5vIGRlbWFpcyBwYXJhIG1hbnRlciB0b2RvcyBvcyBkYWRvcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDE4Cittc2dpZCAiUHJpbWFyeSBhbmQgYmFja3VwIGhlYWRlciBtaXNtYXRjaC4iCittc2dzdHIgIkNhYmXDp2FsaG9zIHByaW3DoXJpbyBlIGJhY2t1cCBuw6NvIGNvbmZlcmVtLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggcGFydGl0aW9uICV1LiIKK21zZ3N0ciAiQSBwYXJ0acOnw6NvICV1IHNvYnJlcMO1ZS1zZSDDoCBwYXJ0acOnw6NvICV1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGlzIHRvbyBiaWcgZm9yIHRoZSBkaXNrLiIKK21zZ3N0ciAiQSBwYXJ0acOnw6NvICV1IMOpIGdyYW5kZSBkZW1haXMgcGFyYSBvIGRpc2NvLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGVuZHMgYmVmb3JlIGl0IHN0YXJ0cy4iCittc2dzdHIgIkEgcGFydGnDp8OjbyAldSB0ZXJtaW5hIGFudGVzIGRlbGEgY29tZcOnYXIuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0NworbXNnaWQgIk5vIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHIgIk5lbmh1bSBlcnJvIGRldGVjdGFkby4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIkhlYWRlciB2ZXJzaW9uOiAlcyIKK21zZ3N0ciAiVmVyc8OjbyBkbyBjYWJlw6dhbGhvOiAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgJXUgb3V0IG9mICVkIHBhcnRpdGlvbnMuIgorbXNnc3RyICJVc2FkbyAldSBkZSAlZCBwYXJ0acOnw7Vlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudC4iCittc2dpZF9wbHVyYWwgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudHMgKHRoZSBsYXJnZXN0IGlzICVzKS4iCittc2dzdHJbMF0gIlVtIHRvdGFsIGRlICVqdSBzZXRvcmVzIGxpdnJlcyBkaXNwb27DrXZlaXMgZW0gJXUgc2VnbWVudG8uIgorbXNnc3RyWzFdICJVbSB0b3RhbCBkZSAlanUgc2V0b3JlcyBsaXZyZXMgZGlzcG9uw612ZWlzIGVtICV1IHNlZ21lbnRvKHMpIChtYWlvciAlcykuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBlcnJvciBkZXRlY3RlZC4iCittc2dpZF9wbHVyYWwgIiVkIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHJbMF0gIiVkIGVycm8gZGV0ZWN0YWRvLiIKK21zZ3N0clsxXSAiJWQgZXJyb3MgZGV0ZWN0YWRvcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQyCittc2dpZCAiQWxsIHBhcnRpdGlvbnMgYXJlIGFscmVhZHkgaW4gdXNlLiIKK21zZ3N0ciAiRXN0YSBwYXJ0acOnw6NvIGrDoSBlc3TDoSBzZW5kbyB1c2FkYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTk3IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlanUgYWxyZWFkeSB1c2VkLiIKK21zZ3N0ciAiTyBzZXRvciAlanUgasOhIGVzdMOhIGVtIHVzby4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGNyaWFyIGEgcGFydGnDp8OjbyAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBsYXN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICJPIMO6bHRpbW8gc2V0b3IgR1BUIHVzw6F2ZWwgw6kgJWp1LCBtYXMgJWp1IMOpIHJlcXVpc2l0YWRvLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpcnN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICJPIHByaW1laXJvIHNldG9yIEdQVCB1c8OhdmVsIMOpICVqdSwgbWFzICVqdSDDqSByZXF1aXNpdGFkby4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgR1BUIGRpc2tsYWJlbCAoR1VJRDogJXMpLiIKK21zZ3N0ciAiQ3JpYWRvIHVtIG5vdm8gcsOzdHVsbyBkZSBkaXNjbyBHUFQgKEdVSUQ6ICVzKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDQ3Cittc2dpZCAiRW50ZXIgbmV3IGRpc2sgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICJEaWdpdGUgdW0gbm92byBVVUlEIGRlIGRpc2NvIChubyBmb3JtYXRvIDgtNC00LTQtMTIpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ1NAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSB5b3VyIFVVSUQuIgorbXNnc3RyICJGYWxoYSBhbyBhbmFsaXNhciBzZXUgVVVJRC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICJJZGVudGlmaWNhZG9yIGRlIGRpc2NvIGFsdGVyYWRvIGRlICVzIHBhcmEgJXMuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4OAorbXNnaWQgIk5vdCBlbm91Z2ggc3BhY2UgZm9yIG5ldyBwYXJ0aXRpb24gdGFibGUhIgorbXNnc3RyICJOw6NvIGjDoSBlc3Bhw6dvIHN1ZmljaWVudGUgcGFyYSBub3ZhIHRhYmVsYSBkZSBwYXJ0acOnw6NvISIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMldSBvdXQgb2YgcmFuZ2UgKG1pbmltYWwgc3RhcnQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICJQYXJ0acOnw6NvIG7CuiAldSBlc3TDoSBmb3JhIGRvIGludGVydmFsbyAoaW7DrWNpbyBtw61uaW1vIMOpICU8UFJJdTY0PiBzZXRvcmVzKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMldSBvdXQgb2YgcmFuZ2UgKG1heGltYWwgZW5kIGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiUGFydGnDp8OjbyBuwrogJXUgZXN0w6EgZm9yYSBkbyBpbnRlcnZhbG8gKGZpbmFsIG3DoXhpbW8gw6kgJTxQUkl1NjQ+IHNldG9yZXMpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIG51bWJlciBvZiB0aGUgcGFydGl0aW9uIGhhcyBiZSBzbWFsbGVyIHRoYW4gJXp1LiIKK21zZ3N0ciAiTyBuw7ptZXJvIG3DoXhpbW8gZGUgcGFydGnDp8O1ZXMgZm9pIGNyaWFkby4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTYzCittc2dpZCAiQ2Fubm90IGFsbG9jYXRlIG1lbW9yeSEiCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhbG9jYXIgbWVtw7NyaWEhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5MAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgbGVuZ3RoIGNoYW5nZWQgZnJvbSAlPFBSSXUzMj4gdG8gJTxQUkl1NjQ+LiIKK21zZ3N0ciAiQ29tcHJpbWVudG8gZGEgdGFiZWxhIGRlIHBhcnRpw6fDo28gYWx0ZXJhZG8gZGUgJTxQUkl1MzI+IHBhcmEgJTxQUkl1NjQ+LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGF0dHJpYnV0ZXMgb24gcGFydGl0aW9uICV6dSBjaGFuZ2VkIHRvIDB4JTAxNjxQUkl4NjQ+LiIKK21zZ3N0ciAiT3MgYXRyaWJ1dG9zIG5hIHBhcnRpw6fDo28gJXp1IGZvcmFtIGFsdGVyYWRvcyBwYXJhIDB4JTAxNjxQUkl4NjQ+LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NDIKK21zZ2lkICJFbnRlciBHVUlEIHNwZWNpZmljIGJpdCIKK21zZ3N0ciAiSW5zaXJhIG8gYml0IGVzcGVjw61maWNvIGRlIEdVSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB0b2dnbGUgdW5zdXBwb3J0ZWQgYml0ICVsdSIKK21zZ3N0ciAiZmFsaGEgYW8gYXRpdmFyIGJpdCBzZW0gc3Vwb3J0ZSAlbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiTyBiaXQgZXNwZWPDrWZpY28gZGUgR1VJRCAlZCBuYSBwYXJ0acOnw6NvICV6dSBlc3TDoSBoYWJpbGl0YWRvIGFnb3JhLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiTyBiaXQgZXNwZWPDrWZpY28gZGUgR1VJRCAlZCBuYSBwYXJ0acOnw6NvICV6dSBlc3TDoSBkZXNhYmlsaXRhZG8gYWdvcmEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3NQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiQSBvcMOnw6NvICVzIG5hIHBhcnRpw6fDo28gJXp1IGVzdMOhIGhhYmlsaXRhZGEgYWdvcmEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIkEgb3DDp8OjbyAlcyBuYSBwYXJ0acOnw6NvICV6dSBlc3TDoSBkZXNhYmlsaXRhZGEgYWdvcmEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxOAorbXNnaWQgIlR5cGUtVVVJRCIKK21zZ3N0ciAiVGlwby1VVUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxOQorbXNnaWQgIlVVSUQiCittc2dzdHIgIlVVSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTIwIGxvZ2luLXV0aWxzL2NoZm4uYzoxNTAgbG9naW4tdXRpbHMvY2hmbi5jOjE1MgorIzogbG9naW4tdXRpbHMvY2hmbi5jOjMwNworbXNnaWQgIk5hbWUiCittc2dzdHIgIk5vbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzo4NDAKK21zZ2lkICJGcmVlIHNwYWNlIgorbXNnc3RyICJFc3Bhw6dvIGxpdnJlIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6MTIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiAjJXp1LiIKK21zZ3N0ciAiRmFsaGEgYW8gcmVkaW1lbnNpb25hciBwYXJ0acOnw6NvICMlenUuIgorCisjOiBsaWJmZGlzay9zcmMvcGFydHR5cGUuYzoyNTkgbWlzYy11dGlscy9maW5kbW50LmM6NjU1IHNjaGVkdXRpbHMvY2hydC5jOjIwNgorIzogc2NoZWR1dGlscy9pb25pY2UuYzo3OSBzeXMtdXRpbHMvaHdjbG9jay5jOjMzNAorbXNnaWQgInVua25vd24iCittc2dzdHIgImRlc2NvbmhlY2lkYSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ3Cittc2dpZCAiU0dJIHZvbGhkciIKK21zZ3N0ciAiU0dJIHZvbGhkciIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ4Cittc2dpZCAiU0dJIHRya3JlcGwiCittc2dzdHIgIlNHSSB0cmtyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDkKK21zZ2lkICJTR0kgc2VjcmVwbCIKK21zZ3N0ciAiU0dJIHNlY3JlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MAorbXNnaWQgIlNHSSByYXciCittc2dzdHIgIlNHSSByYXciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MQorbXNnaWQgIlNHSSBic2QiCittc2dzdHIgIlNHSSBic2QiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MgorbXNnaWQgIlNHSSBzeXN2IgorbXNnc3RyICJTR0kgc3lzdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUzCittc2dpZCAiU0dJIHZvbHVtZSIKK21zZ3N0ciAiU0dJIHZvbHVtZSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU0Cittc2dpZCAiU0dJIGVmcyIKK21zZ3N0ciAiU0dJIGVmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU1Cittc2dpZCAiU0dJIGx2b2wiCittc2dzdHIgIlNHSSBsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTYKK21zZ2lkICJTR0kgcmx2b2wiCittc2dzdHIgIlNHSSBybHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU3Cittc2dpZCAiU0dJIHhmcyIKK21zZ3N0ciAiU0dJIHhmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU4Cittc2dpZCAiU0dJIHhmc2xvZyIKK21zZ3N0ciAiU0dJIHhmc2xvZyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5Cittc2dpZCAiU0dJIHhsdiIKK21zZ3N0ciAiU0dJIHhsdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYwCittc2dpZCAiU0dJIHh2bSIKK21zZ3N0ciAiU0dJIHh2bSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyIGxpYmZkaXNrL3NyYy9zdW4uYzo1MworbXNnaWQgIkxpbnV4IG5hdGl2ZSIKK21zZ3N0ciAiTGludXggbmF0aXZhIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTU5Cittc2dpZCAiU0dJIGluZm8gY3JlYXRlZCBvbiBzZWNvbmQgc2VjdG9yLiIKK21zZ3N0ciAiSW5mb3JtYcOnw6NvIFNHSSBjcmlhZGEgbm8gc2VndW5kbyBzZXRvci4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyNTkKK21zZ2lkICJEZXRlY3RlZCBhbiBTR0kgZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIgorbXNnc3RyICJEZXRlY3RhZG8gdW0gcsOzdHVsbyBkZSBkaXNjbyBTR0kgY29tIHNvbWEgZGUgdmVyaWZpY2HDp8OjbyBpbmNvcnJldGEuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjgyIGxpYmZkaXNrL3NyYy9zdW4uYzo3NzAKK21zZ2lkICJQaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIkNpbGluZHJvcyBmw61zaWNvcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4NyBsaWJmZGlzay9zcmMvc3VuLmM6Nzc1Cittc2dpZCAiRXh0cmEgc2VjdHMvY3lsIgorbXNnc3RyICJTZXRvcmVzL2NpbGluZHJvIGV4dHJhcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI5NworbXNnaWQgIkJvb3RmaWxlIgorbXNnc3RyICJBcnF1aXZvIGRlIGluaWNpYWxpemHDp8OjbyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjM5NQorbXNnaWQgIkludmFsaWQgYm9vdGZpbGUhICBUaGUgYm9vdGZpbGUgbXVzdCBiZSBhbiBhYnNvbHV0ZSBub24temVybyBwYXRobmFtZSwgZS5nLiBcIi91bml4XCIgb3IgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICJBcnF1aXZvIGRlIGluaWNpYWxpemHDp8OjbyBpbnbDoWxpZG8hIE8gYXJxdWl2byBkZSBpbmljaWFsaXphw6fDo28gZGV2ZSBzZXIgYSB1bSBjYW1pbmhvIGRpZmVyZW50ZSBkZSB6ZXJvOyBwb3IgZXhlbXBsbywgXCIvdW5peFwiIG91IFwiL3VuaXguc2F2ZVwiLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwMQorIywgYy1mb3JtYXQKK21zZ2lkICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZSBtYXhpbXVtLiIKK21zZ2lkX3BsdXJhbCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGVzIG1heGltdW0uIgorbXNnc3RyWzBdICJOb21lIGRlIGFycXVpdm8gZGUgaW5pY2lhbGl6YcOnw6NvIGdyYW5kZSBkZW1haXM6IG3DoXhpbW8gZGUgJXp1IGJ5dGUuIgorbXNnc3RyWzFdICJOb21lIGRlIGFycXVpdm8gZGUgaW5pY2lhbGl6YcOnw6NvIGdyYW5kZSBkZW1haXM6IG3DoXhpbW8gZGUgJXp1IGJ5dGVzLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwOAorbXNnaWQgIkJvb3RmaWxlIG11c3QgaGF2ZSBhIGZ1bGx5IHF1YWxpZmllZCBwYXRobmFtZS4iCittc2dzdHIgIk8gYXJxdWl2byBkZSBpbmljaWFsaXphw6fDo28gZGV2ZSB0ZXIgdW0gY2FtaW5obyBhYnNvbHV0byAoY29tcGxldG8pLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQxNAorbXNnaWQgIkJlIGF3YXJlIHRoYXQgdGhlIGJvb3RmaWxlIGlzIG5vdCBjaGVja2VkIGZvciBleGlzdGVuY2UuICBTR0kncyBkZWZhdWx0IGlzIFwiL3VuaXhcIiwgYW5kIGZvciBiYWNrdXAgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICJFc3RlamEgY2llbnRlIGRlIHF1ZSBhIGV4aXN0w6puY2lhIGRvIGFycXVpdm8gZGUgaW5pY2lhbGl6YcOnw6NvIG7Do28gw6kgY29uZmVyaWRhLiBPIHBhZHLDo28gZGEgU0dJIMOpIFwiL3VuaXhcIiBlLCBwYXJhIG8gYmFja3VwLCBcIi91bml4LnNhdmVcIi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGN1cnJlbnQgYm9vdCBmaWxlIGlzOiAlcyIKK21zZ3N0ciAiTyBhcnF1aXZvIGRlIGluaWNpYWxpemHDp8OjbyBhdHVhbCDDqTogJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDEKK21zZ2lkICJFbnRlciBvZiB0aGUgbmV3IGJvb3QgZmlsZSIKK21zZ3N0ciAiRGlnaXRlIG8gbm92byBhcnF1aXZvIGRlIGluaWNpYWxpemHDp8OjbyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0NgorbXNnaWQgIkJvb3QgZmlsZSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJPIGFycXVpdm8gZGUgaW5pY2lhbGl6YcOnw6NvIG7Do28gZm9pIGFsdGVyYWRvLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ1NworIywgYy1mb3JtYXQKK21zZ2lkICJCb290ZmlsZSBoYXMgYmVlbiBjaGFuZ2VkIHRvIFwiJXNcIi4iCittc2dzdHIgIk8gYXJxdWl2byBkZSBpbmljaWFsaXphw6fDo28gZm9pIGFsdGVyYWRvIHBhcmEgXCIlc1wiLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5NgorbXNnaWQgIk1vcmUgdGhhbiBvbmUgZW50aXJlIGRpc2sgZW50cnkgcHJlc2VudC4iCittc2dzdHIgIk1haXMgZG8gcXVlIHVtYSBlbnRyYWRhIGRlIGRpc2NvIGludGVpcm8gcHJlc2VudGUuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAzIGxpYmZkaXNrL3NyYy9zdW4uYzo0NTgKK21zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQuIgorbXNnc3RyICJOZW5odW1hIHBhcnRpw6fDo28gZGVmaW5pZGEuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEzCittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiTyBJUklYIGdvc3RhIHF1YW5kbyBhIHBhcnRpw6fDo28gMTEgYWJyYW5nZSB0b2RvIG8gZGlzY28uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gc2hvdWxkIHN0YXJ0IGF0IGJsb2NrIDAsIG5vdCBhdCBibG9jayAlZC4iCittc2dzdHIgIkEgcGFydGnDp8OjbyBkZSBkaXNjbyBpbnRlaXJvIGRldmUgaW5pY2lhciBubyBibG9jbyAwLCBuw6NvIG5vIGJsb2NvIGRlIGRpc2NvICVkLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyOAorbXNnaWQgIlBhcnRpdGlvbiAxMSBzaG91bGQgY292ZXIgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiQSBwYXJ0acOnw6NvIDExIGRldmVyaWEgYWJyYW5nZXIgdG9kbyBvIGRpc2NvLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3Rvci4iCittc2dpZF9wbHVyYWwgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9ycy4iCittc2dzdHJbMF0gIkFzIHBhcnRpw6fDtWVzICVkIGUgJWQgc2Ugc29icmVww7VlbSBwb3IgJWQgc2V0b3IuIgorbXNnc3RyWzFdICJBcyBwYXJ0acOnw7VlcyAlZCBlICVkIHNlIHNvYnJlcMO1ZW0gcG9yICVkIHNldG9yZXMuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjYzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yOiBzZWN0b3IgJTh1IgorbXNnaWRfcGx1cmFsICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3JzOiBzZWN0b3JzICU4dS0ldSIKK21zZ3N0clswXSAiSW50ZXJ2YWxvIG7Do28gdXRpbGl6YWRvIGRlICU4dSBzZXRvciAtIHNldG9yICU4dSIKK21zZ3N0clsxXSAiSW50ZXJ2YWxvIG7Do28gdXRpbGl6YWRvIGRlICU4dSBzZXRvcmVzIC0gc2V0b3JlcyAlOHUtJXUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2OTgKK21zZ2lkICJUaGUgYm9vdCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICJBIHBhcnRpw6fDo28gZGUgaW5pY2lhbGl6YcOnw6NvIG7Do28gZXhpc3RlLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwMgorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIkEgcGFydGnDp8OjbyBzd2FwIG7Do28gZXhpc3RlLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwNgorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBoYXMgbm8gc3dhcCB0eXBlLiIKK21zZ3N0ciAiQSBwYXJ0acOnw6NvIHN3YXAgbsOjbyBwb3NzdWkgbyB0aXBvIHN3YXAuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA5Cittc2dpZCAiWW91IGhhdmUgY2hvc2VuIGFuIHVudXN1YWwgYm9vdGZpbGUgbmFtZS4iCittc2dzdHIgIlZvY8OqIGVzY29saGV1IHVtIG5vbWUgZGUgYXJxdWl2byBkZSBpbmljaWFsaXphw6fDo28gaW5jb211bS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3NTkKK21zZ2lkICJQYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4iCittc2dzdHIgIlNvYnJlcG9zacOnw6NvIGRlIHBhcnRpw6fDtWVzIG5vIGRpc2NvLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0NAorbXNnaWQgIkF0dGVtcHRpbmcgdG8gZ2VuZXJhdGUgZW50aXJlIGRpc2sgZW50cnkgYXV0b21hdGljYWxseS4iCittc2dzdHIgIlRlbnRhbmRvIGdlcmFyIGVudHJhZGEgZGUgZGlzY28gaW50ZWlybyBhdXRvbWF0aWNhbWVudGUuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQ5Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIGlzIGFscmVhZHkgY292ZXJlZCB3aXRoIHBhcnRpdGlvbnMuIgorbXNnc3RyICJPIGRpc2NvIGludGVpcm8gasOhIGVzdMOhIGNvYmVydG8gY29tIHBhcnRpw6fDtWVzLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg1MworbXNnaWQgIllvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKK21zZ3N0ciAiRXhpc3RlIHVtYSBzb2JyZXBvc2nDp8OjbyBkZSBwYXJ0acOnw7VlcyBubyBkaXNjby4gQ29ycmlqYS1hIGFudGVzISIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg3NSBsaWJmZGlzay9zcmMvc3VuLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ICVzIgorbXNnc3RyICJQcmltZWlybyAlcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg5OSBsaWJmZGlzay9zcmMvc2dpLmM6OTQ5Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIGVsZXZlbnRoIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrIGFuZCBpcyBvZiB0eXBlICdTR0kgdm9sdW1lJy4iCittc2dzdHIgIsOJIGFsdGFtZW50ZSByZWNvbWVuZMOhdmVsIHF1ZSBhIGTDqWNpbWEgcHJpbWVpcmEgcGFydGnDp8OjbyBjdWJyYSB0b2RvIG8gZGlzY28gZSBzZWphIGRvIHRpcG8gXCJ2b2x1bWUgU0dJXCIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTE0IGxpYmZkaXNrL3NyYy9zdW4uYzo2MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCAlcyBvciArJXMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiw5psdGltbyAlcyBvdSArJXMgb3UgK3RhbWFuaG97SyxNLEcsVCxQfSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjk4NSBsaWJmZGlzay9zcmMvc3VuLmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LiBUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLiIKK21zZ3N0ciAiQXZpc286IGlvY3RsIGRlIEJMS0dFVFNJWkUgZmFsaG91IGVtICVzLiBVc2FuZG8gbyB2YWxvciBnZW9tw6l0cmljbyBkZSBjaWxpbmRybyBkbyAlbGx1LiBFc3RlIHZhbG9yIHBvZGUgc2VyIHRydW5jYWRvIGVtIGRpc3Bvc2l0aXZvcyA+IDMzLjggR0IuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA1MQorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU0dJIGRpc2tsYWJlbC4iCittc2dzdHIgIkNyaWFkbyB1bSBub3ZvIHLDs3R1bG8gZGUgZGlzY28gU0dJLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNzAKK21zZ2lkICJTb3JyeSwgb25seSBmb3Igbm9uLWVtcHR5IHBhcnRpdGlvbnMgeW91IGNhbiBjaGFuZ2UgdGhlIHRhZy4iCittc2dzdHIgIlNpbnRvIG11aXRvLCB2b2PDqiBwb2RlIGFsdGVyYXIgYSB0YWcgYXBlbmFzIHBhcmEgcGFydGnDp8O1ZXMgbsOjbyB2YXppYXMuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3NgorbXNnaWQgIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDkgYXMgdm9sdW1lIGhlYWRlciAoMCksIGFuZCBwYXJ0aXRpb24gMTEgYXMgZW50aXJlIHZvbHVtZSAoNiksIGFzIElSSVggZXhwZWN0cyBpdC4iCittc2dzdHIgIkNvbnNpZGVyZSBtYW50ZXIgYSBwYXJ0acOnw6NvIDkgY29tbyBjYWJlw6dhbGhvIGRlIHZvbHVtZSAoMCkgZSBhIHBhcnRpw6fDo28gMTEgY29tbyB1bSB2b2x1bWUgaW50ZWlybyAoNiksIHVtYSB2ZXogcXVlIMOpIGlzdG8gcXVlIElSSVggZXNwZXJhLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwODUKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwIGlzIG9mIHR5cGUgXCJTR0kgdm9saGRyXCIsIHRoZSBJUklYIHN5c3RlbSB3aWxsIHJlbHkgb24gaXQgdG8gcmV0cmlldmUgZnJvbSBpdHMgZGlyZWN0b3J5IHN0YW5kYWxvbmUgdG9vbHMgbGlrZSBzYXNoIGFuZCBmeC4gT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiBBcmUgeW91IHN1cmUgYWJvdXQgdGFnZ2luZyB0aGlzIHBhcnRpdGlvbiBkaWZmZXJlbnRseT8iCittc2dzdHIgIlJlY29tZW5kYS1zZSBxdWUgYSBwYXJ0acOnw6NvIG5hIHBvc2nDp8OjbyAwIHNlamEgZG8gdGlwbyBcInZvbGhkciBTR0lcIiwgasOhIHF1ZSBvIHNpc3RlbWEgSVJJWCBpcsOhIHVzw6EtbGEgcGFyYSByZWN1cGVyYXIgZGUgc2V1IGRpcmV0w7NyaW8gZmVycmFtZW50YXMgaW5kZXBlbmRlbnRlcyBjb21vIG8gc2FzaCBlIG8gZnguIEFwZW5hcyBhIHNlw6fDo28gZGUgZGlzY28gaW50ZWlybyBcInZvbHVtZSBTR0lcIiBwb2RlIHZpb2xhciBpc3RvLiBUZW0gY2VydGV6YSBxdWUgZGVzZWphIGV0aXF1ZXRhciBlc3RhIHBhcnRpw6fDo28gZGUgbW9kbyBkaWZlcmVudGU/IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDAKK21zZ2lkICJVbmFzc2lnbmVkIgorbXNnc3RyICJOw6NvIGFzc2luYWRhIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDIKK21zZ2lkICJTdW5PUyByb290IgorbXNnc3RyICJyb290IFN1bk9TIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDMKK21zZ2lkICJTdW5PUyBzd2FwIgorbXNnc3RyICJzd2FwIFN1bk9TIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDQKK21zZ2lkICJTdW5PUyB1c3IiCittc2dzdHIgInVzciBTdW5PUyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ1Cittc2dpZCAiV2hvbGUgZGlzayIKK21zZ3N0ciAiRGlzY28gaW50ZWlybyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2Cittc2dpZCAiU3VuT1Mgc3RhbmQiCittc2dzdHIgInN0YW5kIFN1bk9TIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyB2YXIiCittc2dzdHIgInZhciBTdW5PUyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ4Cittc2dpZCAiU3VuT1MgaG9tZSIKK21zZ3N0ciAiaG9tZSBTdW5PUyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ5Cittc2dpZCAiU3VuT1MgYWx0IHNlY3RvcnMiCittc2dzdHIgInNldG9yZXMgYWx0LiBTdW5PUyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUwCittc2dpZCAiU3VuT1MgY2FjaGVmcyIKK21zZ3N0ciAiY2FjaGVmcyBTdW5PUyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUxCittc2dpZCAiU3VuT1MgcmVzZXJ2ZWQiCittc2dzdHIgInJlc2VydmFkbyBTdW5PUyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEzNworbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4gUHJvYmFibHkgeW91J2xsIGhhdmUgdG8gc2V0IGFsbCB0aGUgdmFsdWVzLCBlLmcuIGhlYWRzLCBzZWN0b3JzLCBjeWxpbmRlcnMgYW5kIHBhcnRpdGlvbnMgb3IgZm9yY2UgYSBmcmVzaCBsYWJlbCAocyBjb21tYW5kIGluIG1haW4gbWVudSkiCittc2dzdHIgIkRldGVjdGFkbyByw7N0dWxvIGRlIGRpc2NvIFN1biBjb20gc29tYSBkZSB2ZXJpZmljYcOnw6NvIGluY29ycmV0YS4gUHJvdmF2ZWxtZW50ZSBzZXLDoSBuZWNlc3PDoXJpbyBjb25maWd1cmFyIHRvZG9zIG9zIHZhbG9yZXMuIFBvciBleGVtcGxvOiBjYWJlw6dhcywgc2V0b3JlcyBlIHBhcnRpw6fDtWVzIG91IGZvcsOnYXIgdW0gcsOzdHVsbyBub3ZvIChjb21hbmRvIHMgbm8gbWVudSBwcmluY2lwYWwpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2ZXJzaW9uIFslZF0uIgorbXNnc3RyICJEZXRlY3RhZG8gcsOzdHVsbyBkZSBkaXNjbyBTdW4gY29tIHNvbWEgZGUgdmVyaWZpY2HDp8OjbyBpbmNvcnJldGEgWyVkXS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2Muc2FuaXR5IFsweCUwOHhdLiIKK21zZ3N0ciAiRGV0ZWN0YWRvIHLDs3R1bG8gZGUgZGlzY28gU3VuIGNvbSB2dG9jLnNhbml0eSBpbmNvcnJldGEgWzB4JTA4eF0uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLm5wYXJ0cyBbJXVdLiIKK21zZ3N0ciAiRGV0ZWN0YWRvIHLDs3R1bG8gZGUgZGlzY28gU0dJIGNvbSB2dG9jLm5wYXJ0cyBpbmNvcnJldGEgWyV1XS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNjUKK21zZ2lkICJXYXJuaW5nOiBXcm9uZyB2YWx1ZXMgbmVlZCB0byBiZSBmaXhlZCB1cCBhbmQgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKSIKK21zZ3N0ciAiQXZpc286IHZhbG9yZXMgaW5jb3JyZXRvcyBwcmVjaXNhbSBzZXIgY29ycmlnaWRvcyBlIHNlcsOjbyBjb3JyaWdpZG9zIHBvciBncmF2YcOnw6NvICh3KSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE5MgorbXNnaWQgIkhlYWRzIgorbXNnc3RyICJDYWJlw6dhcyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE5NAorbXNnaWQgIlNlY3RvcnMvdHJhY2siCittc2dzdHIgIlNldG9yZXMvdHJpbGhhIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Mjk3Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTdW4gZGlza2xhYmVsLiIKK21zZ3N0ciAiQ3JpYWRvIHVtIG5vdm8gcsOzdHVsbyBkZSBkaXNjbyBTdW4uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBkb2Vzbid0IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIkEgcGFydGnDp8OjbyAldSBuw6NvIHRlcm1pbmEgZW0gdW0gbGltaXRlIGRlIGNpbGluZHJvLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzNQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBvdGhlcnMgaW4gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIkEgcGFydGnDp8OjbyAldSBzb2JyZXDDtWUtc2UgYSBvdXRyYXMgbm9zIHNldG9yZXMgJXUtJXUuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzIDAtJXUuIgorbXNnc3RyICJJbnRlcnZhbG8gbsOjbyB1dGlsaXphZG8gLSBzZXRvcmVzIDAtJXUuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDY1IGxpYmZkaXNrL3NyYy9zdW4uYzo0NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICJJbnRlcnZhbG8gbsOjbyB1dGlsaXphZG8gLSBzZXRvcmVzICV1LSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUyOAorbXNnaWQgIk90aGVyIHBhcnRpdGlvbnMgYWxyZWFkeSBjb3ZlciB0aGUgd2hvbGUgZGlzay4gRGVsZXRlIHNvbWUvc2hyaW5rIHRoZW0gYmVmb3JlIHJldHJ5LiIKK21zZ3N0ciAiT3V0cmFzIHBhcnRpw6fDtWVzIGrDoSBjb2JyZW0gbyBkaXNjbyBpbnRlaXJvLiBFeGNsdWEgb3UgcmVkdXphIGFsZ3VtYXMgYW50ZXMgZGUgdGVudGFyIG5vdmFtZW50ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVkIGlzIGFscmVhZHkgYWxsb2NhdGVkIgorbXNnc3RyICJPIHNldG9yICVkIGrDoSBlc3TDoSBhbG9jYWRvIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NjAwCittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHRoaXJkIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIHdob2xlIGRpc2sgYW5kIGlzIG9mIHR5cGUgYFdob2xlIGRpc2snIgorbXNnc3RyICLDiSByZWNvbWVuZGFkbyBxdWUgYSB0ZXJjZWlyYSBwYXJ0acOnw6NvIGN1YnJhIG8gZGlzY28gaW50ZWlybyBlIHNlamEgZG8gdGlwbyBcIkRpc2NvIGludGVpcm9cIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYxMAorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbmluZyB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gJXUgdG8gJXUgdG8gYmUgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJBbGluaGFtZW50byBkbyBwcmltZWlybyBzZXRvciBkZSAldSBwYXJhICV1IHBhcmEgc2VyIG5vIGxpbWl0ZSBkbyBjaWxpbmRyby4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBoYXZlbid0IGNvdmVyZWQgdGhlIHdob2xlIGRpc2sgd2l0aCB0aGUgM3JkIHBhcnRpdGlvbiwgYnV0IHlvdXIgdmFsdWVcbiIKKyIlbHUgJXMgY292ZXJzIHNvbWUgb3RoZXIgcGFydGl0aW9uLiBZb3VyIGVudHJ5IGhhcyBiZWVuIGNoYW5nZWRcbiIKKyJ0byAlbHUgJXMiCittc2dzdHIgIiIKKyJWb2PDqiBuw6NvIGNvYnJpdSBvIGRpc2NvIGludGVpcm8gY29tIGEgM8KqIHBhcnRpw6fDo28sIG1hcyBzZXUgdmFsb3JcbiIKKyIlbHUgJXMgY29icmUgYWxndW1hIG91dHJhIHBhcnRpw6fDo28uIFN1YSBlbnRyYWRhIGZvaSBhbHRlcmFkYVxuIgorInBhcmEgJWx1ICVzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzI2CisjLCBjLWZvcm1hdAorbXNnaWQgIklmIHlvdSB3YW50IHRvIG1haW50YWluIFN1bk9TL1NvbGFyaXMgY29tcGF0aWJpbGl0eSwgY29uc2lkZXIgbGVhdmluZyB0aGlzIHBhcnRpdGlvbiBhcyBXaG9sZSBkaXNrICg1KSwgc3RhcnRpbmcgYXQgMCwgd2l0aCAldSBzZWN0b3JzIgorbXNnc3RyICJTZSB2b2PDqiBkZXNlamEgbWFudGVyIGNvbXBhdGliaWxpZGFkZSBjb20gU3VuT1MvU29sYXJpcywgY29uc2lkZXJlIGRlaXhhciBlc3RhIHBhcnRpw6fDo28gY29tbyB1bSBkaXNjbyBpbnRlaXJvICg1KSwgY29tZcOnYW5kbyBlbSAwLCBjb20gJXUgc2V0b3JlcyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc1MAorbXNnaWQgIkxhYmVsIElEIgorbXNnc3RyICJSw7N0dWxvIElEIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzU1Cittc2dpZCAiVm9sdW1lIElEIgorbXNnc3RyICJWb2x1bWUgSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjUKK21zZ2lkICJBbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJDaWxpbmRyb3MgQWx0ZXJuYXRpdm9zIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6ODcxCittc2dpZCAiTnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIk7Dum1lcm8gZGUgY2lsaW5kcm9zIGFsdGVybmF0aXZvcyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg5NgorbXNnaWQgIkV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJTZXRvcmVzIGV4dHJhcyBwb3IgY2lsaW5kcm8iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MjAKK21zZ2lkICJJbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiRmF0b3IgZGUgaW50ZXJjYWxhw6fDo28iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5NDQKK21zZ2lkICJSb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAiVmVsb2NpZGFkZSBkZSByb3Rhw6fDo28gKFJQTSkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5NjgKK21zZ2lkICJOdW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJOw7ptZXJvIGRlIGNpbGluZHJvcyBmw61zaWNvcyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwMzcKK21zZ2lkICIiCisiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gMyBhcyBXaG9sZSBkaXNrICg1KSxcbiIKKyJhcyBTdW5PUy9Tb2xhcmlzIGV4cGVjdHMgaXQgYW5kIGV2ZW4gTGludXggbGlrZXMgaXQuXG4iCittc2dzdHIgIiIKKyJDb25zaWRlcmUgbWFudGVyIGEgcGFydGnDp8OjbyAzIGNvbW8gRGlzY28gaW50ZWlybyAoNSksXG4iCisidW1hIHZleiBxdWUgbyBTdW5PUy9Tb2xhcmlzIGVzcGVyYSBpc3RvIGUgYXTDqSBtZXNtbyBvIExpbnV4IGdvc3RhIGRpc3RvLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA0OAorbXNnaWQgIiIKKyJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwXG4iCisiaXMgVUZTLCBFWFQyRlMgZmlsZXN5c3RlbSBvciBTdW5PUyBzd2FwLiBQdXR0aW5nIExpbnV4IHN3YXBcbiIKKyJ0aGVyZSBtYXkgZGVzdHJveSB5b3VyIHBhcnRpdGlvbiB0YWJsZSBhbmQgYm9vdGJsb2NrLlxuIgorIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB0YWcgdGhlIHBhcnRpdGlvbiBhcyBMaW51eCBzd2FwPyIKK21zZ3N0ciAiIgorIlJlY29tZW5kYS1zZSBmb3J0ZW1lbnRlIHF1ZSBhIHBhcnRpw6fDo28gbmEgcG9zacOnw6NvIDBcbiIKKyJzZWphIGRvIHRpcG8gVUZTLCBzaXN0ZW1hIGRlIGFycXVpdm9zIEVYVDJGUyBvdSBzd2FwIFN1bk9zLlxuIgorIkNvbG9jYXIgYSBzd2FwIExpbnV4IGFsaSBwb2RlIGRlc3RydWlyIGEgdGFiZWxhIGRlIHBhcnRpw6fDo28gZVxuIgorInRyYXZhciBhIGluaWNpYWxpemHDp8Ojby5cbiIKKyJWb2PDqiB0ZW0gY2VydGV6YSBxdWUgZGVzZWphIG1hcmNhciBhIHBhcnRpw6fDo28gY29tbyBMaW51eCBzd2FwPyIKKworIzogbGliL3BhZ2VyLmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgIndhaXRwaWQgZmFpbGVkICglcykiCittc2dzdHIgIndhaXRwaWQgZmFsaG91ICglcykiCisKKyMgc2V0ID0gY29uanVudG8gZGUgaW5zdHJ1w6fDtWVzPyBvdSBvdXRyYSBjYXJhY3RlcsOtc3RpY2EgZG8gY3B1PworIzogbGliL3BhdGguYzoyMDkgc3lzLXV0aWxzL2xzY3B1LmM6MTgxOAorbXNnaWQgImZhaWxlZCB0byBjYWxsb2NhdGUgY3B1IHNldCIKK21zZ3N0ciAiZmFsaGEgYW8gY2FsbG9jYXRlIG8gY29uanVudG8gZGEgY3B1IgorCisjOiBsaWIvcGF0aC5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3QgJXMiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIGEgbGlzdGEgZGUgQ1BVICVzIgorCisjOiBsaWIvcGF0aC5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2sgJXMiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIGEgbcOhc2NhcmEgZGEgQ1BVICVzIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjcyCittc2dpZCAiY2FuIG5vdCBvcGVuIFVOSVggc29ja2V0IgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgbyBzb3F1ZXRlIFVOSVgiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzgKK21zZ2lkICJjYW4gbm90IHNldCBvcHRpb24gZm9yIFVOSVggc29ja2V0IgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZGVmaW5pciBvIHRlbXBvIGxpbWl0ZSBwYXJhIHNvcXVldGUgVU5JWCIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo5MQorbXNnaWQgImNhbiBub3QgY29ubmVjdCBvbiBVTklYIHNvY2tldCIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGNvbmVjdGFyIGFvIHNvcXVldGUgVU5JWCIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHBseW1vdXRoIHJlcXVlc3QgJWMgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICJhIHJlcXVpc2nDp8OjbyBwbHltb3V0aCAlYyBuw6NvIGVzdMOhIGltcGxlbWVudGFkYSIKKworIzogbGliL3JhbmR1dGlscy5jOjEzNgorbXNnaWQgImxpYmMgcHNldWRvLXJhbmRvbSBmdW5jdGlvbnMiCittc2dzdHIgImZ1bsOnw7VlcyBwc2V1ZG8tYWxlYXTDs3JpYXMgZG8gbGliYyIKKworIzogbGliL3N3YXBwcm9iZXIuYzoxNyBsaWIvc3dhcHByb2Jlci5jOjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gcHJvYmUgZGV2aWNlIgorbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIGV4YW1pbmFyIG8gZGlzcG9zaXRpdm8iCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYmlndW91cyBwcm9iaW5nIHJlc3VsdDsgdXNlIHdpcGVmcyg4KSIKK21zZ3N0ciAiJXM6IHJlc3VsdGFkbyBkZSBleGFtZSBhbWLDrWd1bzsgdXNlIHdpcGVmcyg4KSIKKworIzogbGliL3N3YXBwcm9iZXIuYzozNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgdmFsaWQgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIiVzOiBuw6NvIMOpIHVtYSBwYXJ0acOnw6NvIGRlIHN3YXAgdsOhbGlkYSIKKworIzogbGliL3N3YXBwcm9iZXIuYzo0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5zdXBwb3J0ZWQgc3dhcCB2ZXJzaW9uICclcyciCittc2dzdHIgIiVzOiBzZW0gc3Vwb3J0ZSDDoCB2ZXJzw6NvIGRlIHN3YXAgXCIlc1wiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTAgbG9naW4tdXRpbHMvY2hzaC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT5dXG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIFt1c3XDoXJpbz5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5MworbXNnaWQgIkNoYW5nZSB5b3VyIGZpbmdlciBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiQWx0ZXJlIHN1YSBpbmZvcm1hw6fDo28gZGUgZmluZ2VyLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTYKK21zZ2lkICIgLWYsIC0tZnVsbC1uYW1lIDxmdWxsLW5hbWU+ICByZWFsIG5hbWVcbiIKK21zZ3N0ciAiIC1mLCAtLWZ1bGwtbmFtZSA8bm9tZS1jb21wbGV0bz4gIG5vbWUgcmVhbFxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTcKK21zZ2lkICIgLW8sIC0tb2ZmaWNlIDxvZmZpY2U+ICAgICAgICBvZmZpY2UgbnVtYmVyXG4iCittc2dzdHIgIiAtbywgLS1vZmZpY2UgPGVzY3JpdMOzcmlvPiAgICAgICAgbsO6bWVybyBkbyBlc2NyaXTDs3Jpb1xuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTgKK21zZ2lkICIgLXAsIC0tb2ZmaWNlLXBob25lIDxwaG9uZT4gICBvZmZpY2UgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiAtcCwgLS1vZmZpY2UtcGhvbmUgPHRlbGVmb25lPiAgICBuw7ptZXJvIGRvIHRlbGVmb25lIGNvbWVyY2lhbFxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTkKK21zZ2lkICIgLWgsIC0taG9tZS1waG9uZSA8cGhvbmU+ICAgICBob21lIHBob25lIG51bWJlclxuIgorbXNnc3RyICIgLWgsIC0taG9tZS1waG9uZSA8dGVsZWZvbmU+ICAgICAgbsO6bWVybyBkbyB0ZWxlZm9uZSByZXNpZGVuY2lhbFxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAxIGxvZ2luLXV0aWxzL2Noc2guYzo3OAorbXNnaWQgIiAtdSwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLXUsIC0taGVscCAgICAgZXhpYmUgZXN0YSBtZW5zYWdlbSBkZSBhanVkYSBlIHNhaVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgImZpZWxkICVzIGlzIHRvbyBsb25nIgorbXNnc3RyICJjYW1wbyAlcyDDqSBsb25nbyBkZW1haXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMjEgbG9naW4tdXRpbHMvY2hzaC5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaGFzIGlsbGVnYWwgY2hhcmFjdGVycyIKK21zZ3N0ciAiJXM6IHBvc3N1aSBjYXJhY3RlcmVzIGlsZWdhaXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTAgbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTYyCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luLmRlZnMgZm9yYmlkcyBzZXR0aW5nICVzIgorbXNnc3RyICJsb2dpbi5kZWZzIHByb8OtYmUgYSBkZWZpbmnDp8OjbyBkZSAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTU4IGxvZ2luLXV0aWxzL2NoZm4uYzozMDkKK21zZ2lkICJPZmZpY2UiCittc2dzdHIgIkVzY3JpdMOzcmlvIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjQgbG9naW4tdXRpbHMvY2hmbi5jOjMxMQorbXNnaWQgIk9mZmljZSBQaG9uZSIKK21zZ3N0ciAiVGVsZWZvbmUgY29tZXJjaWFsIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTY4IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzAgbG9naW4tdXRpbHMvY2hmbi5jOjMxMworbXNnaWQgIkhvbWUgUGhvbmUiCittc2dzdHIgIlRlbGVmb25lIHJlc2lkZW5jaWFsIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MjMzCittc2dpZCAiQWJvcnRlZC4iCittc2dzdHIgIkFib3J0YWRvLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBoYXMgdW5leHBlY3RlZCB2YWx1ZTogJXMiCittc2dzdHIgIiVzOiBDSEZOX1JFU1RSSUNUIHBvc3N1aSB1bSB2YWxvciBpbmVzcGVyYWRvOiAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjI5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBkb2VzIG5vdCBhbGxvdyBhbnkgY2hhbmdlcyIKK21zZ3N0ciAiJXM6IENIRk5fUkVTVFJJQ1QgbsOjbyBwZXJtaXRlIHF1YWlzcXVlciBhbHRlcmHDp8O1ZXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuXG4iCittc2dzdHIgIkFzIGluZm9ybWHDp8O1ZXMgZGUgZmluZ2VyICpOw4NPKiBmb3JhbSBhbHRlcmFkYXMuIFRlbnRlIG5vdmFtZW50ZSBtYWlzIHRhcmRlLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBjaGFuZ2VkLlxuIgorbXNnc3RyICJBcyBpbmZvcm1hw6fDtWVzIGRlIGZpbmdlciBmb3JhbSBhbHRlcmFkYXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MDggbG9naW4tdXRpbHMvY2hzaC5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJ5b3UgKHVzZXIgJWQpIGRvbid0IGV4aXN0LiIKK21zZ3N0ciAidm9jw6ogKHVzdcOhcmlvICVkKSBuw6NvIGV4aXN0ZS4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MTQgbG9naW4tdXRpbHMvY2hzaC5jOjI0OCBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBcIiVzXCIgZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICJ1c3XDoXJpbyBcIiVzXCIgbsOjbyBleGlzdGUuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDIwIGxvZ2luLXV0aWxzL2Noc2guYzoyNTQKK21zZ2lkICJjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcyIKK21zZ3N0ciAic8OzIHBvZGUgYWx0ZXJhciBlbnRyYWRhcyBsb2NhaXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBmaW5nZXIgaW5mbyBvZiAlcyIKK21zZ3N0ciAiJXMgbsOjbyBlc3TDoSBhdXRvcml6YWRvIGEgbW9zdHJhciBhcyBpbmZvcm1hw6fDtWVzIGRlIGZpbmdlciBkZSAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzNSBsb2dpbi11dGlscy9jaHNoLmM6MjcwCittc2dpZCAiVW5rbm93biB1c2VyIGNvbnRleHQiCittc2dzdHIgIkNvbnRleHRvIGRlIHVzdcOhcmlvIGRlc2NvbmhlY2lkbyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ0MSBsb2dpbi11dGlscy9jaHNoLmM6Mjc2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHNldCBkZWZhdWx0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgY29uZmlndXJhciBvIGNvbnRleHRvIHBhZHLDo28gcGFyYSAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MgorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIlVJRCB1c2FkbyBuw6NvIGNvbmZlcmUgY29tIG8gVUlEIGRvIHVzdcOhcmlvIHBhcmEgbyBxdWFsIGVzdGFtb3MgYWx0ZXJhbmRvLCBhbHRlcmHDp8OjbyBuZWdhZGEiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgZmluZ2VyIGluZm9ybWF0aW9uIGZvciAlcy5cbiIKK21zZ3N0ciAiQWx0ZXJhbmRvIGluZm9ybWHDp8O1ZXMgZGUgZmluZ2VyIGRlICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBub3QgY2hhbmdlZC5cbiIKK21zZ3N0ciAiSW5mb3JtYcOnw7VlcyBkZSBmaW5nZXIgbsOjbyBhbHRlcmFkYXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3MgorbXNnaWQgIkNoYW5nZSB5b3VyIGxvZ2luIHNoZWxsLlxuIgorbXNnc3RyICJBbHRlcmUgc2V1IHNoZWxsIGRlIGxvZ2luLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6NzUKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgc3BlY2lmeSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgZXNwZWNpZmljYSBvIHNoZWxsIGRlIGxvZ2luXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NgorbXNnaWQgIiAtbCwgLS1saXN0LXNoZWxscyAgICBwcmludCBsaXN0IG9mIHNoZWxscyBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdC1zaGVsbHMgICAgZXhpYmUgdW1hIGxpc3RhIGRlIHNoZWxscyBlIHNhaVxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MTAwCittc2dpZCAiTm8ga25vd24gc2hlbGxzLiIKK21zZ3N0ciAiTmVuaHVtIHNoZWxsIGNvbmhlY2lkby4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDAKK21zZ2lkICJzaGVsbCBtdXN0IGJlIGEgZnVsbCBwYXRoIG5hbWUiCittc2dzdHIgIm8gc2hlbGwgcHJlY2lzYSBzZXIgdW0gbm9tZSBkZSBjYW1pbmhvIGNvbXBsZXRvIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiXCIlc1wiIG7Do28gZXhpc3RlIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBpcyBub3QgZXhlY3V0YWJsZSIKK21zZ3N0ciAiXCIlc1wiIG7Do28gw6kgZXhlY3V0w6F2ZWwiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuIgorbXNnc3RyICJBdmlzbzogXCIlc1wiIG7Do28gZXN0w6EgbGlzdGFkbyBlbSAlcy4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMTQgbG9naW4tdXRpbHMvY2hzaC5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuXG4iCisiVXNlICVzIC1sIHRvIHNlZSBsaXN0LiIKK21zZ3N0ciAiIgorIlwiJXNcIiBuw6NvIGVzdMOhIGxpc3RhZG8gZW0gJXMuXG4iCisiVXNlICVzIC1sIHBhcmEgdmVyIGEgbGlzdGEuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgc2hlbGwgb2YgJXMiCittc2dzdHIgIiVzIG7Do28gZXN0w6EgYXV0b3JpemFkbyBhIGFsdGVyYXIgbyBzaGVsbCBkZSAlcyIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI5NQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIlVJRCB1c2FkbyBuw6NvIGNvbmZlcmUgY29tIG8gVUlEIGRvIHVzdcOhcmlvIHBhcmEgbyBxdWFsIGVzdGFtb3MgYWx0ZXJhbmRvLCBhbHRlcmHDp8OjbyBkZSBzaGVsbCBuZWdhZGEiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ciBzaGVsbCBpcyBub3QgaW4gJXMsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgInNldSBzaGVsbCBuw6NvIGVzdMOhIGVtICVzLCBhbHRlcmHDp8OjbyBkZSBzaGVsbCBuZWdhZGEiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgc2hlbGwgZm9yICVzLlxuIgorbXNnc3RyICJBbHRlcmFuZG8gbyBzaGVsbCBwYXJhIG8gdXN1w6FyaW8gJXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMTIKK21zZ2lkICJOZXcgc2hlbGwiCittc2dzdHIgIk5vdm8gc2hlbGwiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjAKK21zZ2lkICJTaGVsbCBub3QgY2hhbmdlZC4iCittc2dzdHIgIlNoZWxsIG7Do28gYWx0ZXJhZG8uIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzI1Cittc2dpZCAiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIlNoZWxsICpOw4NPKiBhbHRlcmFkby4gVGVudGUgbm92YW1lbnRlIG1haXMgdGFyZGUuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzI5Cittc2dpZCAiIgorInNldHB3bmFtIGZhaWxlZFxuIgorIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICIiCisic2V0cGF3bmFtIGZhbGhvdVxuIgorIlNoZWxsICpOw4NPKiBhbHRlcmFkby4gVGVudGUgbm92YW1lbnRlIG1haXMgdGFyZGUuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoZWxsIGNoYW5nZWQuXG4iCittc2dzdHIgIlNoZWxsIGFsdGVyYWRvLlxuIgorCisjOiBsb2dpbi11dGlscy9pc2xvY2FsLmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIDxwYXNzd29yZGZpbGU+IDx1c2VybmFtZT4uLi5cbiIKK21zZ3N0ciAiVXNvOiAlcyA8YXJxdWl2by1zZW5oYT4gPHVzdcOhcmlvPi4uLlxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MTc0IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyMCBzeXMtdXRpbHMvZG1lc2cuYzoxMTkzCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB0aW1lIGZvcm1hdDogJXMiCittc2dzdHIgImZvcm1hdG8gZGUgaG9yYSBkZXNjb25oZWNpZG86ICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjgxIGxvZ2luLXV0aWxzL2xhc3QuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW50ZXJydXB0ZWQgJXMiCittc2dzdHIgIkludGVycm9tcGlkbyAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjQzOSBsb2dpbi11dGlscy9sYXN0LmM6NDUwCittc2dpZCAicHJlYWxsb2NhdGlvbiBzaXplIGV4Y2VlZGVkIgorbXNnc3RyICJ0YW1hbmhvIGRlIHByw6ktYWxvY2HDp8OjbyBleGNlZGlkbyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU2OQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+Li4uXSBbPHR0eT4uLi5dXG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIFs8dXN1w6FyaW8+Li4uXSBbPHR0eT4uLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzIKK21zZ2lkICJTaG93IGEgbGlzdGluZyBvZiBsYXN0IGxvZ2dlZCBpbiB1c2Vycy5cbiIKK21zZ3N0ciAiTW9zdHJhIHVtYSBsaXN0YWdlbSBkb3Mgw7psdGltb3MgdXN1w6FyaW9zIGF1dGVudGljYWRvcy5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NQorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiAtPG7Dum1lcm8+ICAgICAgICAgICAgcXVhbnRpZGFkZSBkZSBsaW5oYXMgcGFyYSBtb3N0cmFyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzYKK21zZ2lkICIgLWEsIC0taG9zdGxhc3QgICAgICAgZGlzcGxheSBob3N0bmFtZXMgaW4gdGhlIGxhc3QgY29sdW1uXG4iCittc2dzdHIgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBleGliZSBub21lcyBkZSBtw6FxdWluYSBuYSDDumx0aW1hIGNvbHVuYVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc3Cittc2dpZCAiIC1kLCAtLWRucyAgICAgICAgICAgIHRyYW5zbGF0ZSB0aGUgSVAgbnVtYmVyIGJhY2sgaW50byBhIGhvc3RuYW1lXG4iCittc2dzdHIgIiAtZCwgLS1kbnMgICAgICAgICAgICB0cmFkdXogbyBuw7ptZXJvIGRlIElQIHBhcmEgdW0gbm9tZSBkZSBtw6FxdWluYVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICB1c2UgYSBzcGVjaWZpYyBmaWxlIGluc3RlYWQgb2YgJXNcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPGFycXVpdm8+IHVzYSB1bSBhcnF1aXZvIGVzcGVjw61maWNvIGVtIHZleiBkZSAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgwCittc2dpZCAiIC1GLCAtLWZ1bGx0aW1lcyAgICAgIHByaW50IGZ1bGwgbG9naW4gYW5kIGxvZ291dCB0aW1lcyBhbmQgZGF0ZXNcbiIKK21zZ3N0ciAiIC1GLCAtLWZ1bGx0aW1lcyAgICAgIG1vc3RyYSBob3LDoXJpb3MgZSBkYXRhcyBjb21wbGV0b3MgZGUgbG9naW4gZSBsb2dvdXRcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MQorbXNnaWQgIiAtaSwgLS1pcCAgICAgICAgICAgICBkaXNwbGF5IElQIG51bWJlcnMgaW4gbnVtYmVycy1hbmQtZG90cyBub3RhdGlvblxuIgorbXNnc3RyICIgLWksIC0taXAgICAgICAgICAgICAgZXhpYmUgbsO6bWVyb3MgZGUgSVAgbmEgYW5vdGHDp8OjbyBuw7ptZXJvcy1lLXBvbnRvc1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgyCittc2dpZCAiIC1uLCAtLWxpbWl0IDxudW1iZXI+IGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIC1uLCAtLWxpbWl0IDxuw7ptZXJvPiBxdWFudGlkYWRlIGRlIGxpbmhhcyBwYXJhIG1vc3RyYXJcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MworbXNnaWQgIiAtUiwgLS1ub2hvc3RuYW1lICAgICBkb24ndCBkaXNwbGF5IHRoZSBob3N0bmFtZSBmaWVsZFxuIgorbXNnc3RyICIgLVIsIC0tbm9ob3N0bmFtZSAgICAgbsOjbyBleGliZSBvIGNhbXBvIGRlIG5vbWUgZGUgbcOhcXVpbmFcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NAorbXNnaWQgIiAtcywgLS1zaW5jZSA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyBzaW5jZSB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIC1zLCAtLXNpbmNlIDxob3JhPiAgIGV4aWJlIGFzIGxpbmhhcyBkZXNkZSBvIGhvcsOhcmlvIGVzcGVjaWZpY2Fkb1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg1Cittc2dpZCAiIC10LCAtLXVudGlsIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHVudGlsIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLXQsIC0tdW50aWwgPGhvcmE+ICAgZXhpYmUgYXMgbGluaGFzIGF0w6kgbyBob3LDoXJpbyBlc3BlY2lmaWNhZG9cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NgorbXNnaWQgIiAtcCwgLS1wcmVzZW50IDx0aW1lPiBkaXNwbGF5IHdobyB3ZXJlIHByZXNlbnQgYXQgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtcCwgLS1wcmVzZW50IDxob3JhPiBleGliZSBxdWVtIGVzdGF2YSBwcmVzZW50ZSBubyBob3LDoXJpbyBlc3BlY2lmaWNhZG9cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NworbXNnaWQgIiAtdywgLS1mdWxsbmFtZXMgICAgICBkaXNwbGF5IGZ1bGwgdXNlciBhbmQgZG9tYWluIG5hbWVzXG4iCittc2dzdHIgIiAtdywgLS1mdWxsbmFtZXMgICAgICBleGliZSBvcyBub21lcyBkZSBkb23DrW5pbyBlIHVzdcOhcmlvIGNvbXBsZXRvc1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg4Cittc2dpZCAiIC14LCAtLXN5c3RlbSAgICAgICAgIGRpc3BsYXkgc3lzdGVtIHNodXRkb3duIGVudHJpZXMgYW5kIHJ1biBsZXZlbCBjaGFuZ2VzXG4iCittc2dzdHIgIiIKKyIgLXgsIC0tc3lzdGVtICAgICAgICAgZXhpYmUgZW50cmFkYXMgZGUgZGVzbGlnYW1lbnRvIGRvIHNpc3RlbWEgZSBhbHRlcmHDp8O1ZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgIG5vIG7DrXZlbCBkZSBleGVjdcOnw6NvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODkKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcHMgaW4gdGhlIHNwZWNpZmllZCA8Zm9ybWF0PjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdG8+XG4iCisiICAgICAgICAgICAgICAgICAgICAgIG1vc3RyYSBtYXJjYXMgZGUgdGVtcG8gdXNhbmRvIG8gPGZvcm1hdG8+OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo4ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzIGJlZ2lucyAlcyIKK21zZ3N0ciAiIgorIlxuIgorIiVzIGluaWNpYSAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk1NiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY0CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY4Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgbsO6bWVybyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk3NyBsb2dpbi11dGlscy9sYXN0LmM6OTgyIGxvZ2luLXV0aWxzL2xhc3QuYzo5ODcKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZSB2YWx1ZSBcIiVzXCIiCittc2dzdHIgInZhbG9yIGRlIGhvcsOhcmlvIGludsOhbGlkbyBcIiVzXCIiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzoyOSBsb2dpbi11dGlscy9saWJ1c2VyLmM6MzEKK21zZ2lkICJDb3VsZG4ndCBkcm9wIGdyb3VwIHByaXZpbGVnZXMiCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCByZXRpcmFyIHByaXZpbMOpZ2lvcyBkbyBncnVwbyIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImxpYnVzZXIgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlcy4iCittc2dzdHIgImluaWNpYWxpemHDp8OjbyBkZSBsaWJ1c2VyIGZhbGhvdTogJXMuIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTIKK21zZ2lkICJjaGFuZ2luZyB1c2VyIGF0dHJpYnV0ZSBmYWlsZWQiCittc2dzdHIgImFsdGVyYcOnw6NvIGRlIGF0cmlidXRvIGRlIHVzdcOhcmlvIGZhbGhvdSIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjY2CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgYXR0cmlidXRlIG5vdCBjaGFuZ2VkOiAlcyIKK21zZ3N0ciAiYXRyaWJ1dG8gZGUgdXN1w6FyaW8gbsOjbyBhbHRlcmFkbzogJXMiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICV1IGlzIDYwLgorIzogbG9naW4tdXRpbHMvbG9naW4uYzoxODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZWQgb3V0IGFmdGVyICV1IHNlY29uZHMiCittc2dzdHIgInRlbXBvIGVzZ290YWRvIGFww7NzICV1IHNlZ3VuZG9zIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI4NgorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogY2FuJ3QgcmVvcGVuIHR0eTogJW0iCittc2dzdHIgIkZBVEFMOiBuw6NvIGZvaSBwb3Nzw612ZWwgcmVhYnJpciB0dHk6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXMgaXMgbm90IGEgdGVybWluYWwiCittc2dzdHIgIkZBVEFMOiAlcyBuw6NvIMOpIHVtIHRlcm1pbmFsIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxMAorIywgYy1mb3JtYXQKK21zZ2lkICJjaG93biAoJXMsICVsdSwgJWx1KSBmYWlsZWQ6ICVtIgorbXNnc3RyICJjaG93biAoJXMsICVsdSwgJWx1KSBmYWxob3U6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxNAorIywgYy1mb3JtYXQKK21zZ2lkICJjaG1vZCAoJXMsICV1KSBmYWlsZWQ6ICVtIgorbXNnc3RyICJjaG1vZCAoJXMsICV1KSBmYWxob3U6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM3NQorbXNnaWQgIkZBVEFMOiBiYWQgdHR5IgorbXNnc3RyICJGQVRBTDogdHR5IGludsOhbGlkbyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzOiBjaGFuZ2UgcGVybWlzc2lvbnMgZmFpbGVkOiAlbSIKK21zZ3N0ciAiRkFUQUw6ICVzOiBhbHRlcmHDp8OjbyBkZSBwZXJtaXNzw7VlcyBmYWxob3U6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGxvZ2luOiAlLipzICIKK21zZ3N0ciAiw5psdGltbyBsb2dpbjogJS4qcyAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTMxCisjLCBjLWZvcm1hdAorbXNnaWQgImZyb20gJS4qc1xuIgorbXNnc3RyICJhIHBhcnRpciBkZSAlLipzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9uICUuKnNcbiIKK21zZ3N0ciAiZW06ICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1NTIKK21zZ2lkICJ3cml0ZSBsYXN0bG9nIGZhaWxlZCIKK21zZ3N0ciAiZ3JhdmHDp8OjbyBkbyDDumx0aW1vIGxvZyBmYWxob3UiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRJQUxVUCBBVCAlcyBCWSAlcyIKK21zZ3N0ciAiRElTQ0FHRU0gRU0gJXMgUE9SICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1NworIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIEZST00gJXMiCittc2dzdHIgIkxPR0lOIENPTU8gUk9PVCBFTSAlcyBBIFBBUlRJUiBERSAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyIKK21zZ3N0ciAiTE9HSU4gQ09NTyBST09UIEVNICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorbXNnc3RyICJMT0dJTiBFTSAlcyBQT1IgJXMgQSBQQVJUSVIgREUgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIgorbXNnc3RyICJMT0dJTiBFTSAlcyBQT1IgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE5Cittc2dpZCAibG9naW46ICIKK21zZ3N0ciAibG9naW46ICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUEFNIGZhaWx1cmUsIGFib3J0aW5nOiAlcyIKK21zZ3N0ciAiZmFsaGEgZGUgUEFNOyBhYm9ydGFuZG86ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc0NgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZG4ndCBpbml0aWFsaXplIFBBTTogJXMiCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBpbmljaWFsaXphciBvIFBBTTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODE3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiAldSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIkxPR0lOIEZBTEhPVTogJXUgQSBQQVJUSVIgREUgJXMgUEFSQSAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODI1IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkxvZ2luIGluY29ycmV0b1xuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg0MAorIywgYy1mb3JtYXQKK21zZ2lkICJUT08gTUFOWSBMT0dJTiBUUklFUyAoJXUpIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiTsOaTUVSTyBFWENFU1NJVk8gREUgVEVOVEFUSVZBUyBERSBMT0dJTiAoJXUpIEEgUEFSVElSIERFICVzIFBBUkEgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg0NgorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gU0VTU0lPTiBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIlNFU1PDg08gREUgTE9HSU4gRkFMSE9VOiBBIFBBUlRJUiBERSAlcyBQQVJBICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxvZ2luIGluY29ycmVjdFxuIgorbXNnc3RyICIiCisiXG4iCisiTG9naW4gaW5jb3JyZXRvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODgyIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTIzMiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNTUKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiBzZXR1cCBwcm9ibGVtLCBhYm9ydC4iCittc2dzdHIgIiIKKyJcbiIKKyJQcm9ibGVtYSBuYSBjb25maWd1cmHDp8OjbyBkZSBzZXNzw6NvLCBhYm9ydGFuZG8uIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICJOVUxMIHVzZXIgbmFtZSBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICJub21lIGRlIHVzdcOhcmlvIE5VTE8gZW0gJXM6JWQuIEFib3J0YW5kby4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAyMAorIywgYy1mb3JtYXQKK21zZ2lkICJUSU9DU0NUVFkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiVElPQ1NDVFRZIGZhbGhvdTogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbjogLWggaXMgZm9yIHN1cGVydXNlciBvbmx5XG4iCittc2dzdHIgImxvZ2luOiAtaCDDqSBwYXJhIGFwZW5hcyBzdXBlcnVzdcOhcmlvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE4OQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogbG9naW4gWy1wXSBbLWggPGhvc3Q+XSBbLUhdIFtbLWZdIDx1c2VybmFtZT5dXG4iCittc2dzdHIgIlVzbzogbG9naW4gWy1wXSBbLWggPG3DoXF1aW5hPl0gWy1IXSBbLWZdIDx1c3XDoXJpbz5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE5MQorbXNnaWQgIkJlZ2luIGEgc2Vzc2lvbiBvbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICJJbmljaWEgdW1hIHNlc3PDo28gbm8gc2lzdGVtYS5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdXNlciBuYW1lIFwiJXNcIiBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICJOb21lIGRlIHVzdcOhcmlvIGludsOhbGlkbyBcIiVzXCIgZW0gJXM6JWQuIEFib3J0YW5kby4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJncm91cHMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiaW5pY2lhbGl6YcOnw6NvIGRlIGdydXBvcyBmYWxob3U6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNzkKK21zZ2lkICJzZXRnaWQoKSBmYWlsZWQiCittc2dzdHIgInNldGdpZCgpIGZhbGhvdSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG5ldyBtYWlsLlxuIgorbXNnc3RyICJWb2PDqiB0ZW0gdW1hIG5vdmEgbWVuc2FnZW0uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMxMQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBtYWlsLlxuIgorbXNnc3RyICJWb2PDqiB0ZW0gdW1hIG1lbnNhZ2VtLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMjUKK21zZ2lkICJzZXR1aWQoKSBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGZhbGhvdSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzMxIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNoYW5nZSBkaXJlY3RvcnkgZmFpbGVkIgorbXNnc3RyICIlczogYWx0ZXJhw6fDo28gZGUgZGlyZXTDs3JpbyBmYWxob3UiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzOCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2dpbmcgaW4gd2l0aCBob21lID0gXCIvXCIuXG4iCittc2dzdHIgIkZhemVuZG8gbG9naW4gY29tIGhvbWUgPSBcIi9cIi5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzY3Cittc2dpZCAiY291bGRuJ3QgZXhlYyBzaGVsbCBzY3JpcHQiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBleGVjdXRhciBvIHNoZWxsIHNjcmlwdCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzY5Cittc2dpZCAibm8gc2hlbGwiCittc2dzdHIgIm5lbmh1bSBzaGVsbCIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBjb250YWlucyBpbnZhbGlkIG51bWVyaWNhbCB2YWx1ZTogJXMiCittc2dzdHIgIiVzOiAlcyBjb250w6ltIHVtIHZhbG9yIG51bcOpcmljbyBpbnbDoWxpZG86ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzozNzUKK21zZ2lkICJodXNoIGxvZ2luIHN0YXR1czogcmVzdG9yZSBvcmlnaW5hbCBJRHMgZmFpbGVkIgorbXNnc3RyICJzdGF0dXMgZGUgbG9naW4gZGEgaHVzaDogcmVzdGF1cmHDp8OjbyBkZSBJRHMgb3JpZ2luYWlzIGZhbGhvdSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDggc3lzLXV0aWxzL2xzY3B1LmM6MTU0MCBzeXMtdXRpbHMvbHNjcHUuYzoxNTUwCittc2dpZCAibm8iCittc2dzdHIgIm7Do28iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3IG1pc2MtdXRpbHMvbHNibGsuYzoxODEKK21zZ2lkICJ1c2VyIG5hbWUiCittc2dzdHIgIm5vbWUgZGUgdXN1w6FyaW8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3Cittc2dpZCAiVXNlcm5hbWUiCittc2dzdHIgIk5vbWUgZGUgdXN1w6FyaW8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE4IHN5cy11dGlscy9yZW5pY2UuYzo1NAorbXNnaWQgInVzZXIgSUQiCittc2dzdHIgIklEIGRvIHVzdcOhcmlvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgInBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAic2VuaGEgbsOjbyDDqSBuZWNlc3PDoXJpYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJQYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIlNlbmhhIG7Do28gbmVjZXNzw6FyaWEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAibG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgImxvZ2luIHBvciBzZW5oYSBkZXNhYmlsaXRhZG8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAiTG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIkxvZ2luIHBvciBzZW5oYSBkZXNhYmlsaXRhZG8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCittc2dpZCAicGFzc3dvcmQgZGVmaW5lZCwgYnV0IGxvY2tlZCIKK21zZ3N0ciAic2VuaGEgZGVmaW5pZGEsIG1hcyB0cmF2YWRhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgIlBhc3N3b3JkIGlzIGxvY2tlZCIKK21zZ3N0ciAiU2VuaGEgZXN0w6EgdHJhdmFkYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJsb2cgaW4gZGlzYWJsZWQgYnkgbm9sb2dpbig4KSBvciBwYW1fbm9sb2dpbig4KSIKK21zZ3N0ciAibG9naW4gZGVzYWJpbGl0YWRvIHBvciBub2xvZ2luKDgpIG91IHBhbV9ub2xvZ2luKDgpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorbXNnaWQgIk5vIGxvZ2luIgorbXNnc3RyICJsb2dpbiBkZXNhYmlsaXRhZG8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCittc2dpZCAicHJpbWFyeSBncm91cCBuYW1lIgorbXNnc3RyICJub21lIHByaW3DoXJpbyBkbyBncnVwbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJQcmltYXJ5IGdyb3VwIgorbXNnc3RyICJHcnVwbyBwcmltw6FyaW8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI0Cittc2dpZCAicHJpbWFyeSBncm91cCBJRCIKK21zZ3N0ciAiSUQgZG8gZ3J1cG8gcHJpbcOhcmlvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgbmFtZXMiCittc2dzdHIgIm5vbWVzIGRlIGdydXBvcyBzdXBsZW1lbnRhcmVzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICJHcnVwb3Mgc3VwbGVtZW50YXJlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiSURzIGRlIGdydXBvcyBzdXBsZW1lbnRhcmVzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICJJRHMgZGUgZ3J1cG9zIHN1cGxlbWVudGFyZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3Cittc2dpZCAiaG9tZSBkaXJlY3RvcnkiCittc2dzdHIgImRpcmV0w7NyaW8gaG9tZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKK21zZ2lkICJIb21lIGRpcmVjdG9yeSIKK21zZ3N0ciAiRGlyZXTDs3JpbyBob21lIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorbXNnaWQgImxvZ2luIHNoZWxsIgorbXNnc3RyICJzaGVsbCBkZSBsb2dpbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKK21zZ2lkICJTaGVsbCIKK21zZ3N0ciAiU2hlbGwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiZnVsbCB1c2VyIG5hbWUiCittc2dzdHIgIm5vbWUgY29tcGxldG8gZGUgdXN1w6FyaW8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiR2Vjb3MgZmllbGQiCittc2dzdHIgIkNhbXBvIGdlY29zIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorbXNnaWQgImRhdGUgb2YgbGFzdCBsb2dpbiIKK21zZ3N0ciAiZGF0YSBkbyDDumx0aW1vIGxvZ2luIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorbXNnaWQgIkxhc3QgbG9naW4iCittc2dzdHIgIsOabHRpbW8gbG9naW4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCittc2dpZCAibGFzdCB0dHkgdXNlZCIKK21zZ3N0ciAiw7psdGltbyB0dHkgdXNhZG8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCittc2dpZCAiTGFzdCB0ZXJtaW5hbCIKK21zZ3N0ciAiw5psdGltbyB0ZXJtaW5hbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJob3N0bmFtZSBkdXJpbmcgdGhlIGxhc3Qgc2Vzc2lvbiIKK21zZ3N0ciAibm9tZSBkZSBtw6FxdWluYSBkYSDDumx0aW1hIHNlc3PDo28iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiTGFzdCBob3N0bmFtZSIKK21zZ3N0ciAiw5psdGltbyBub21lIGRlIG3DoXF1aW5hIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworbXNnaWQgImRhdGUgb2YgbGFzdCBmYWlsZWQgbG9naW4iCittc2dzdHIgImRhdGEgZGEgw7psdGltYSBmYWxoYSBkZSBsb2dpbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJGYWlsZWQgbG9naW4iCittc2dzdHIgIkZhbGhhIGRlIGxvZ2luIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorbXNnaWQgIndoZXJlIGRpZCB0aGUgbG9naW4gZmFpbD8iCittc2dzdHIgIm9uZGUgcXVlIG8gbG9naW4gZmFsaG91PyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKK21zZ2lkICJGYWlsZWQgbG9naW4gdGVybWluYWwiCittc2dzdHIgIlRlcm1pbmFsIGRlIGZhbGhhIGRvIGxvZ2luIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgInVzZXIncyBodXNoIHNldHRpbmdzIgorbXNnc3RyICJDb25maWd1cmHDp8O1ZXMgZGUgaHVzaCBkbyB1c3XDoXJpbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJIdXNoZWQiCittc2dzdHIgIkh1c2giCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiZGF5cyB1c2VyIGlzIHdhcm5lZCBvZiBwYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICJkaWFzIHF1ZSBvIHVzdcOhcmlvIMOpIGF2aXNhZG8gZGEgZXhwaXJhw6fDo28gZGEgc2VuaGEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiB3YXJuIGludGVydmFsIgorbXNnc3RyICJJbnRlcnZhbG8gZGUgYXZpc28gZGUgZXhwaXJhw6fDo28gZGEgc2VuaGEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAicGFzc3dvcmQgZXhwaXJhdGlvbiBkYXRlIgorbXNnc3RyICJkYXRhIGRlIGV4cGlyYcOnw6NvIGRhIHNlbmhhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIkV4cGlyYcOnw6NvIGRhIHNlbmhhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorbXNnaWQgImRhdGUgb2YgbGFzdCBwYXNzd29yZCBjaGFuZ2UiCittc2dzdHIgImRhdGEgZGEgw7psdGltYSBhbHRlcmHDp8OjbyBkYSBzZW5oYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJQYXNzd29yZCBjaGFuZ2VkIgorbXNnc3RyICJTZW5oYSBhbHRlcmFkYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzkKK21zZ2lkICJudW1iZXIgb2YgZGF5cyByZXF1aXJlZCBiZXR3ZWVuIGNoYW5nZXMiCittc2dzdHIgIm7Dum1lcm8gZGUgZGlhcyBleGlnaWRvcyBlbnRyZSBhbHRlcmHDp8O1ZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAiTWluaW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAiVGVtcG8gbcOtbmltbyBwYXJhIGFsdGVyYcOnw6NvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZGF5cyBhIHBhc3N3b3JkIG1heSByZW1haW4gdW5jaGFuZ2VkIgorbXNnc3RyICJuw7ptZXJvIG3DoXhpbW8gZGUgZGlhcyBxdWUgdW1hIHNlbmhhIHBvZGUgcGVybWFuZWNlciBpbmFsdGVyYWRhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIk1heGltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIlRlbXBvIG3DoXhpbW8gcGFyYSBhbHRlcmHDp8OjbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJ0aGUgdXNlcidzIHNlY3VyaXR5IGNvbnRleHQiCittc2dzdHIgIm8gY29udGV4dG8gZGUgc2VndXJhbsOnYSBkbyB1c3XDoXJpbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJTZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIkNvbnRleHRvIFNlbGludXgiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBydW4gYnkgdGhlIHVzZXIiCittc2dzdHIgIm7Dum1lcm8gZGUgcHJvY2Vzc29zIGV4ZWN1dGFkbyBwZWxvIHVzdcOhcmlvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorbXNnaWQgIlJ1bm5pbmcgcHJvY2Vzc2VzIgorbXNnc3RyICJQcm9jZXNzb3MgZW0gZXhlY3XDp8OjbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyODggbWlzYy11dGlscy9maW5kbW50LmM6MTM2IG1pc2MtdXRpbHMvbHNibGsuYzoyMzEKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBjb2x1bW5zIHNwZWNpZmllZCwgdGhlIGxpbWl0IGlzICV6dSBjb2x1bW5zIgorbXNnc3RyICJuw7ptZXJvIGV4Y2Vzc2l2byBkZSBjb2xpbmFzIGVzcGVjaWZpY2FkYXMsIG8gbGltaXRlIMOpICV6dSBjb2x1bmFzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0MyBzeXMtdXRpbHMvbHNpcGMuYzo0NTYKK21zZ2lkICJ1bnN1cHBvcnRlZCB0aW1lIHR5cGUiCittc2dzdHIgInRpcG8gZGUgaG9yw6FyaW8gc2VtIHN1cG9ydGUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQ3Cittc2dpZCAiZmFpbGVkIHRvIGNvbXBvc2UgdGltZSBzdHJpbmciCittc2dzdHIgImZhbGhhIGFvIGNvbXBvciBvIHRleHRvIGRlIHRlbXBvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjY0OAorbXNnaWQgImZhaWxlZCB0byBnZXQgc3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgImZhbGhhIGFvIG9idGVyIGdydXBvcyBzdXBsZW1lbnRhcmVzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzEKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5rbm93biBjb2x1bW4iCittc2dzdHIgImVycm8gaW50ZXJubzogY29sdW5hIGRlc2NvbmhlY2lkYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDc1IHN5cy11dGlscy9sc2lwYy5jOjUwMyBzeXMtdXRpbHMvbHNpcGMuYzo2MjUKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY4MCBzeXMtdXRpbHMvbHNpcGMuYzo4Mzggc3lzLXV0aWxzL2xzaXBjLmM6MTAzNgorbXNnaWQgImZhaWxlZCB0byBzZXQgZGF0YSIKK21zZ3N0ciAiZmFsaGEgYW8gZGVmaW5pciBkYWRvcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMYXN0IGxvZ3M6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLDmmx0aW1vIGxvZ2luOlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjggbG9naW4tdXRpbHMvbm9sb2dpbi5jOjI2CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDEgbWlzYy11dGlscy9tY29va2llLmM6ODIgbWlzYy11dGlscy91dWlkZC5jOjcwCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyNSBzeXMtdXRpbHMvZG1lc2cuYzoyNjQgc3lzLXV0aWxzL2lwY21rLmM6NjYKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjAgc3lzLXV0aWxzL2xzaXBjLmM6Mjc3IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNAorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo5NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODAgdGV4dC11dGlscy9saW5lLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIgJXMgW29ww6fDtWVzXVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzEKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIkV4aWJlIGluZm9ybWHDp8OjbyBzb2JyZSB1c3XDoXJpb3MgY29uaGVjaWRvcyBubyBzaXN0ZW1hLlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzQKK21zZ2lkICIgLWEsIC0tYWNjLWV4cGlyYXRpb24gICAgIGRpc3BsYXkgaW5mbyBhYm91dCBwYXNzd29yZHMgZXhwaXJhdGlvblxuIgorbXNnc3RyICIgLWEsIC0tYWNjLWV4cGlyYXRpb24gICAgIGV4aWJlIGluZm9ybWHDp8OjbyBzb2JyZSBleHBpcmHDp8OjbyBkZSBzZW5oYXNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM1Cittc2dpZCAiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICBkaXNwbGF5IGRhdGEgaW4gYSBmb3JtYXQgc2ltaWxhciB0byAvZXRjL3Bhc3N3ZFxuIgorbXNnc3RyICIgLWMsIC0tY29sb24tc2VwYXJhdGUgICAgIGV4aWJlIGRhZG9zIGVtIHVtIGZvcm1hdG8gc2ltaWxhciBhIC9ldGMvcGFzc3dkXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNiBzeXMtdXRpbHMvbHNpcGMuYzoyOTYKK21zZ2lkICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGRpc3BsYXkgaW4gYW4gZXhwb3J0LWFibGUgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGV4aWJlIGVtIHVtIGZvcm1hdG8gZGUgc2HDrWRhIGV4cG9ydMOhdmVsXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNworbXNnaWQgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAgZGlzcGxheSBkYXRhIGFib3V0IHRoZSB1c2VycycgbGFzdCBmYWlsZWQgbG9naW5zXG4iCittc2dzdHIgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAgZXhpYmUgZGFkb3MgZGFzIMO6bHRpbWFzIGZhbGhhcyBkZSBsb2dpbiBkbyB1c3XDoXJpb1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzgKK21zZ2lkICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgZ3JvdXBzXG4iCittc2dzdHIgIiAtRywgLS1zdXBwLWdyb3VwcyAgICAgICAgZXhpYmUgaW5mb3JtYcOnw6NvIHNvYnJlIGdydXBvc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzkKK21zZ2lkICIgLWcsIC0tZ3JvdXBzPTxncm91cHM+ICAgIGRpc3BsYXkgdXNlcnMgYmVsb25naW5nIHRvIGEgZ3JvdXAgaW4gPGdyb3Vwcz5cbiIKK21zZ3N0ciAiIC1nLCAtLWdyb3Vwcz08Z3J1cG9zPiAgICBleGliZSB1c3XDoXJpb3MgcGVydGVuY2VudGVzIGEgdW0gZ3J1cG8gZW0gPGdydXBvcz5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQwCittc2dpZCAiIC1MLCAtLWxhc3QgICAgICAgICAgICAgICBzaG93IGluZm8gYWJvdXQgdGhlIHVzZXJzJyBsYXN0IGxvZ2luIHNlc3Npb25zXG4iCittc2dzdHIgIiIKKyIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIG1vc3RyYSBpbmZvcm1hw6fDtWVzIHNvYnJlIHNlc3PDtWVzIGRvIMO6bHRpbW8gbG9naW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9zIHVzdcOhcmlvc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDEKK21zZ2lkICIgLWwsIC0tbG9naW5zPTxsb2dpbnM+ICAgIGRpc3BsYXkgb25seSB1c2VycyBmcm9tIDxsb2dpbnM+XG4iCittc2dzdHIgIiAtbCwgLS1sb2dpbnM9PGxvZ2lucz4gICAgZXhpYmUgYXBlbmFzIHVzdcOhcmlvcyBkZSA8bG9naW5zPlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDIgc3lzLXV0aWxzL2xzaXBjLmM6Mjk4Cittc2dpZCAiIC1uLCAtLW5ld2xpbmUgICAgICAgICAgICBkaXNwbGF5IGVhY2ggcGllY2Ugb2YgaW5mb3JtYXRpb24gb24gYSBuZXcgbGluZVxuIgorbXNnc3RyICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGV4aWJlIGNhZGEgcGVkYcOnbyBkZSBpbmZvcm1hw6fDo28gZW0gdW1hIG5vdmEgbGluaGFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQzIHN5cy11dGlscy9sc2lwYy5jOjI5MQorbXNnaWQgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBuw6NvIGV4aWJlIGNhYmXDp2FsaG9zXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NCBzeXMtdXRpbHMvbHNpcGMuYzoyOTIKK21zZ2lkICIgICAgIC0tbm90cnVuY2F0ZSAgICAgICAgIGRvbid0IHRydW5jYXRlIG91dHB1dFxuIgorbXNnc3RyICIgICAgIC0tbm90cnVuY2F0ZSAgICAgICAgIG7Do28gdHJ1bmNhIGEgc2HDrWRhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NSBzeXMtdXRpbHMvbHNpcGMuYzozMDAKK21zZ2lkICIgLW8sIC0tb3V0cHV0Wz08bGlzdD5dICAgIGRlZmluZSB0aGUgY29sdW1ucyB0byBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dFs9PGxpc3RhPl0gICBkZWZpbmUgYXMgY29sdW5hcyBhIHNlcmVtIGV4aWJpZGFzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NgorbXNnaWQgIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGxvZ2luIGJ5IHBhc3N3b3JkLlxuIgorbXNnc3RyICIgLXAsIC0tcHdkICAgICAgICAgICAgICAgIGV4aWJlIGluZm9ybWHDp8OjbyByZWxhY2lvbmFkYSBhIGxvZ2luIHBvciBzZW5oYS5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ3IHN5cy11dGlscy9sc2lwYy5jOjMwMgorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgZGlzcGxheSBpbiByYXcgbW9kZVxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIGV4aWJlIGVtIG1vZG8gbsOjbyB0cmF0YWRvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OAorbXNnaWQgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAgZGlzcGxheSBzeXN0ZW0gYWNjb3VudHNcbiIKK21zZ3N0ciAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICBleGliZSBjb250YXMgZGUgc2lzdGVtYVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDkgc3lzLXV0aWxzL2xzaXBjLmM6MjkzCittc2dpZCAiICAgICAtLXRpbWUtZm9ybWF0PTx0eXBlPiBkaXNwbGF5IGRhdGVzIGluIHNob3J0LCBmdWxsIG9yIGlzbyBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLXRpbWUtZm9ybWF0PTx0aXBvPiBleGliZSBkYXRhcyBubyBmb3JtYXRvLCBjdXJ0bywgY29tcGxldG8gb3UgaXNvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MAorbXNnaWQgIiAtdSwgLS11c2VyLWFjY3MgICAgICAgICAgZGlzcGxheSB1c2VyIGFjY291bnRzXG4iCittc2dzdHIgIiAtdSwgLS11c2VyLWFjY3MgICAgICAgICAgZXhpYmUgY29udGFzIGRlIHVzdcOhcmlvc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTEKK21zZ2lkICIgLVosIC0tY29udGV4dCAgICAgICAgICAgIGRpc3BsYXkgU0VMaW51eCBjb250ZXh0c1xuIgorbXNnc3RyICIgLVosIC0tY29udGV4dCAgICAgICAgICAgIGV4aWJlIGNvbnRleHRvcyBTRUxpbnV4XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MgorbXNnaWQgIiAteiwgLS1wcmludDAgICAgICAgICAgICAgZGVsaW1pdCB1c2VyIGVudHJpZXMgd2l0aCBhIG51bCBjaGFyYWN0ZXJcbiIKK21zZ3N0ciAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0YSBlbnRyYWRhcyBkZSB1c3XDoXJpb3MgY29tIHVtIGNhcmFjdGVyZSBudWxvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MworbXNnaWQgIiAgICAgLS13dG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciB3dG1wXG4iCittc2dzdHIgIiIKKyIgICAgIC0td3RtcC1maWxlIDxjYW1pbmhvPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lIHVtIGNhbWluaG8gYWx0ZXJuYXRpdm8gcGFyYSB3dG1wXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1NAorbXNnaWQgIiAgICAgLS1idG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciBidG1wXG4iCittc2dzdHIgIiIKKyIgICAgIC0tYnRtcC1maWxlIDxjYW1pbmhvPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lIHVtIGNhbWluaG8gYWx0ZXJuYXRpdm8gcGFyYSBidG1wXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1OSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ3IHN5cy11dGlscy9sc2NwdS5jOjE5NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisiXG4iCisiQ29sdW5hcyBkaXNwb27DrXZlaXM6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ0MgorbXNnaWQgImZhaWxlZCB0byByZXF1ZXN0IHNlbGludXggc3RhdGUiCittc2dzdHIgImZhbGhhIGFvIHJlcXVpc2l0YXIgZXN0YWRvIGRlIHNlbGludXgiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ1NiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NjAKK21zZ2lkICJPbmx5IG9uZSB1c2VyIG1heSBiZSBzcGVjaWZpZWQuIFVzZSAtbCBmb3IgbXVsdGlwbGUgdXNlcnMuIgorbXNnc3RyICJBcGVuYXMgdW0gdXN1w6FyaW8gcG9kZSBzZXIgZXNwZWNpZmljYWRvLiBVc2UgLWwgcGFyYSBtw7psdGlwbG9zIHVzdcOhcmlvcy4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjU1Cittc2dpZCAiY291bGQgbm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZGVmaW5pciBhdHJpYnV0b3MgZG8gdGVybWluYWwiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjU3Cittc2dpZCAiZ2V0bGluZSgpIGZhaWxlZCIKK21zZ3N0ciAiZ2V0bGluZSgpIGZhbGhvdSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTQ4Cittc2dpZCAiUGFzc3dvcmQ6ICIKK21zZ3N0ciAiU2VuaGE6ICIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTU0IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDA1Cittc2dpZCAiY3J5cHQgZmFpbGVkIgorbXNnc3RyICJjcmlwdG9ncmFmaWEgZmFsaG91IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxncm91cD5cbiIKK21zZ3N0ciAiICVzIDxncnVwbz5cbiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTY5Cittc2dpZCAiTG9nIGluIHRvIGEgbmV3IGdyb3VwLlxuIgorbXNnc3RyICJBY2Vzc2EgdW0gbm92byBncnVwby5cbiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjA3Cittc2dpZCAid2hvIGFyZSB5b3U/IgorbXNnc3RyICJxdWVtIMOpIHZvY8OqPyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjExIGxvZ2luLXV0aWxzL25ld2dycC5jOjIyMyBzeXMtdXRpbHMvbnNlbnRlci5jOjQyMworbXNnaWQgInNldGdpZCBmYWlsZWQiCittc2dzdHIgInNldGdpZCBmYWxob3UiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxNiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTgKK21zZ2lkICJubyBzdWNoIGdyb3VwIgorbXNnc3RyICJncnVwbyBpbmV4aXN0ZW50ZSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjIxIHN5cy11dGlscy9tb3VudC5jOjQ5MQorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIgorbXNnc3RyICJwZXJtaXNzw6NvIG5lZ2FkYSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI3IHN5cy11dGlscy9uc2VudGVyLmM6NDI1Cittc2dpZCAic2V0dWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkIGZhbGhvdSIKKworIzogbG9naW4tdXRpbHMvbm9sb2dpbi5jOjI5Cittc2dpZCAiUG9saXRlbHkgcmVmdXNlIGEgbG9naW4uXG4iCittc2dzdHIgIlJlY3Vyc2FyIGVkdWNhZGFtZW50ZSB1bSBsb2dpbi5cbiIKKworIzogbG9naW4tdXRpbHMvbm9sb2dpbi5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoaXMgYWNjb3VudCBpcyBjdXJyZW50bHkgbm90IGF2YWlsYWJsZS5cbiIKK21zZ3N0ciAiRXN0YSBjb250YSBuw6NvIGVzdMOhIGRpc3BvbsOtdmVsIG5vIG1vbWVudG8uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBzZXNzaW9uOiAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyIGEgc2Vzc8OjbzogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMwNAorbXNnaWQgImNhbm5vdCBjcmVhdGUgY2hpbGQgcHJvY2VzcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGNyaWFyIHByb2Nlc3NvIGZpbGhvIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhbHRlcmFyIG8gZGlyZXTDs3JpbyBwYXJhICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMjEKK21zZ2lkICJjYW5ub3QgYmxvY2sgc2lnbmFscyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGJsb3F1ZWFyIHNpbmFpcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzM1IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM0MworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzQ5IG1pc2MtdXRpbHMvdXVpZGQuYzo0MDcgdGVybS11dGlscy9zY3JpcHQuYzo3NzEKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZGVmaW5pciBtYW5pcHVsYWRvciBkZSBzaW5hbCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Mzc0Cittc2dpZCAiIChjb3JlIGR1bXBlZCkiCittc2dzdHIgIiAobsO6Y2xlbyBkZXNwZWphZG8pIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZCwga2lsbGluZyBzaGVsbC4uLiIKK21zZ3N0ciAiIgorIlxuIgorIlNlc3PDo28gdGVybWluYWRhLCBtYXRhbmRvIG8gc2hlbGwuLi4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICIgLi4ua2lsbGVkLlxuIgorbXNnc3RyICIgLi4ubW9ydG8uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQ4NgorbXNnaWQgIm1heSBub3QgYmUgdXNlZCBieSBub24tcm9vdCB1c2VycyIKK21zZ3N0ciAibsOjbyBwb2RlIHNlciB1c2FkbyBwb3IgdXN1w6FyaW9zIG7Do28gcm9vdCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTE0Cittc2dpZCAiaW5jb3JyZWN0IHBhc3N3b3JkIgorbXNnc3RyICJzZW5oYSBpbmNvcnJldGEiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjU5OAorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXBzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZGVmaW5pciBvcyBncnVwb3MiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjYxMyBzeXMtdXRpbHMvZWplY3QuYzo2NjUKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwIGlkIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZGVmaW5pciBvIGlkIGRlIGdydXBvIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2MTUgc3lzLXV0aWxzL2VqZWN0LmM6NjY4Cittc2dpZCAiY2Fubm90IHNldCB1c2VyIGlkIgorbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgZGVmaW5pciBvIGlkIGRlIHVzdcOhcmlvIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gLXUgPHVzdcOhcmlvPiA8Y29tYW5kbz5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njg5IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwMQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gWy1dIFs8dXN1w6FyaW8+IFs8YXJndW1lbnRvPi4uLl1dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY5MAorbXNnaWQgIiIKKyJcbiIKKyJSdW4gPGNvbW1hbmQ+IHdpdGggdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCBvZiA8dXNlcj4uICBJZiAtdSBpc1xuIgorIm5vdCBnaXZlbiwgZmFsbCBiYWNrIHRvIHN1KDEpLWNvbXBhdGlibGUgc2VtYW50aWNzIGFuZCBleGVjdXRlIHN0YW5kYXJkIHNoZWxsLlxuIgorIlRoZSBvcHRpb25zIC1jLCAtZiwgLWwsIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLXUuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJFeGVjdXRhIDxjb21hbmRvPiBjb20gbyBpZCBkZSB1c3XDoXJpbyBlIGlkIGRlIGdydXBvIGRvIDx1c3XDoXJpbz4uIFNlIC11IG7Do29cbiIKKyJmb3IgcGFzc2FkbywgdXNhLXNlIHNlbcOibnRpY2EgY29tcGF0w612ZWwgY29tIHN1KDEpIGUgbyBzaGVsbCDDqSBleGVjdXRhZGFcbiIKKyJBcyBvcMOnw7VlcyAtYywgLWYsIC1sIGUgLXMgc8OjbyBtdXR1YW1lbnRlIGV4Y2x1c2l2YXMgcGFyYSAtdS5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njk3Cittc2dpZCAiIC11LCAtLXVzZXIgPHVzZXI+ICAgICAgICAgICAgIHVzZXJuYW1lXG4iCittc2dzdHIgIiAtdSwgLS11c2VyIDx1c3XDoXJpbz4gICAgICAgICAgbm9tZSBkZSB1c3XDoXJpb1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDIKK21zZ2lkICIiCisiXG4iCisiQ2hhbmdlIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgdG8gdGhhdCBvZiA8dXNlcj4uXG4iCisiQSBtZXJlIC0gaW1wbGllcyAtbC4gIElmIDx1c2VyPiBpcyBub3QgZ2l2ZW4sIHJvb3QgaXMgYXNzdW1lZC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkFsdGVyYSBvIGlkIGRlIHVzdcOhcmlvIGUgaWQgZGUgZ3J1cG8gZWZldGl2byBwYXJhIG8gPHVzdcOhcmlvPi5cbiIKKyJVbSBtZXJvIC0gcmVzdWx0YSBlbSAtbC4gU2UgPHVzdcOhcmlvPiBuw6NvIGZvciBkYWRvLCBwcmVzdW1lIHJvb3QuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwOQorbXNnaWQgIiAtbSwgLXAsIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgIGRvIG5vdCByZXNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXNcbiIKK21zZ3N0ciAiIC1tLCAtcCwgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCBuw6NvIHJlc3RhdXJhbSB2YXJpw6F2ZWlzIGRlIGFtYmllbnRlXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMAorbXNnaWQgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICAgICAgICAgIHNwZWNpZnkgdGhlIHByaW1hcnkgZ3JvdXBcbiIKK21zZ3N0ciAiIC1nLCAtLWdyb3VwIDxncnVwbz4gICAgICAgICAgICAgZXNwZWNpZmljYSBvIGdydXBvIHByaW3DoXJpb1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTEKK21zZ2lkICIiCisiIC1HLCAtLXN1cHAtZ3JvdXAgPGdyb3VwPiAgICAgICAgc3BlY2lmeSBhIHN1cHBsZW1lbnRhbCBncm91cFxuIgorIlxuIgorbXNnc3RyICIiCisiIC1HLCAtLXN1cHAtZ3JvdXAgPGdydXBvPiAgICAgICAgZXNwZWNpZmljYSB1bSBncnVwbyBzdXBsZW1lbnRhclxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTMKK21zZ2lkICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgICAgIGZheiBkbyBzaGVsbCB1bSBzaGVsbCBkZSBsb2dpblxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTQKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbW1hbmQgPGNvbWFuZG8+ICAgICAgICAgcGFzc2EgdW0gY29tYW5kbyBwYXJhIG8gc2hlbGwgY29tIC1jXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxNQorbXNnaWQgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkbyBub3QgY3JlYXRlIGEgbmV3IHNlc3Npb25cbiIKK21zZ3N0ciAiIgorIiAtLXNlc3Npb24tY29tbWFuZCA8Y29tYW5kbz4gICAgIHBhc3NhIHVtIGNvbWFuZG8gcGFyYSBvIHNoZWxsIGNvbSAtY1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZSBuw6NvIGNyaWEgdW1hIG5vdmEgc2Vzc8Ojb1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTcKK21zZ2lkICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICBwYXNzIC1mIHRvIHRoZSBzaGVsbCAoZm9yIGNzaCBvciB0Y3NoKVxuIgorbXNnc3RyICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICBwYXNzYSAtZiBwYXJhIG8gc2hlbGwgKHBhcmEgY3NoIG91IHRjc2gpXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxOAorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHJ1biA8c2hlbGw+IGlmIC9ldGMvc2hlbGxzIGFsbG93cyBpdFxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgICBleGVjdXRhIDxzaGVsbD4gc2UgL2V0Yy9zaGVsbHMgcGVybWl0aXJcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzYyCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cCBpcyBub3QgcG9zc2libGUiCittc2dpZF9wbHVyYWwgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cHMgaXMgbm90IHBvc3NpYmxlIgorbXNnc3RyWzBdICJuw6NvIGZvaSBwb3Nzw612ZWwgZXNwZWNpZmljYXIgbWFpcyBkbyBxdWUgJWQgZ3J1cG8gc3VwbGVtZW50YXIiCittc2dzdHJbMV0gIm7Do28gZm9pIHBvc3PDrXZlbCBlc3BlY2lmaWNhciBtYWlzIGRvIHF1ZSAlZCBncnVwb3Mgc3VwbGVtZW50YXJlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzY4CisjLCBjLWZvcm1hdAorbXNnaWQgImdyb3VwICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJncnVwbyAlcyBuw6NvIGV4aXN0ZSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODg2Cittc2dpZCAiaWdub3JpbmcgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWxvZ2luIgorbXNnc3RyICJpZ25vcmFuZG8gLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgw6kgbXV0dWFtZW50ZSBleGNsdXNpdmEgY29tIC0tbG9naW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg5NworbXNnaWQgIm9wdGlvbnMgLS17c2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbn0gYW5kIC0tdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICJvcMOnw7VlcyAtLXtzaGVsbCxmYXN0LGNvbW1hbmQsc2Vzc2lvbi1jb21tYW5kLGxvZ2lufSBlIC0tdXNlciBzw6NvIG11dHVhbWVudGUgZXhjbHVzaXZvcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTAxCittc2dpZCAibm8gY29tbWFuZCB3YXMgc3BlY2lmaWVkIgorbXNnc3RyICJuZW5odW0gY29tYW5kbyBmb2kgZXNwZWNpZmljYWRvIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5MTUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHNwZWNpZnkgYWx0ZXJuYXRpdmUgZ3JvdXBzIgorbXNnc3RyICJhcGVuYXMgbyByb290IHBvZGUgZXNwZWNpZmljYXIgZ3J1cG9zIGFsdGVybmF0aXZvcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTIyCisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgInVzdcOhcmlvIFwiJXNcIiBuw6NvIGV4aXN0ZSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTYyCisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIHJlc3RyaWN0ZWQgc2hlbGwgJXMiCittc2dzdHIgInVzYW5kbyBzaGVsbCByZXN0cmluZ2lkbyAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJhdmlzbzogbsOjbyBmb2kgcG9zc8OtdmVsIGFsdGVyYXIgbyBkaXJldMOzcmlvIHBhcmEgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMzAKK21zZ2lkICJ0Y2dldGF0dHIgZmFpbGVkIgorbXNnc3RyICJ0Y2dldGF0dHIgZmFsaG91IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MjA3Cittc2dpZCAidGNzZXRhdHRyIGZhaWxlZCIKK21zZ3N0ciAidGNzZXRhdHRyIGZhbGhvdSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiJXM6IG5lbmh1bWEgZW50cmFkYSBwYXJhIHJvb3RcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3QiCittc2dzdHIgIiVzOiBuZW5odW1hIGVudHJhZGEgcGFyYSByb290IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByb290IHBhc3N3b3JkIGdhcmJsZWQiCittc2dzdHIgIiVzOiBzZW5oYSBkZSByb290IGlsZWfDrXZlbCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQ2Fubm90IG9wZW4gYWNjZXNzIHRvIGNvbnNvbGUsIHRoZSByb290IGFjY291bnQgaXMgbG9ja2VkLlxuIgorIlNlZSBzdWxvZ2luKDgpIG1hbiBwYWdlIGZvciBtb3JlIGRldGFpbHMuXG4iCisiXG4iCisiUHJlc3MgRW50ZXIgdG8gY29udGludWUuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJOw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgYWNlc3NvIGFvIGNvbnNvbGUsIGEgY29udGEgcm9vdCBlc3TDoSB0cmF2YWRhLlxuIgorIlZlamEgYSBww6FnaW5hIG1hbiBkbyBzdWxvZ2luKDgpIHBhcmEgbWFpcyBkZXRhbGhlcy5cbiIKKyJcbiIKKyJQcmVzc2lvbmUgRW50ZXIgcGFyYSBjb250aW51YXIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBsb2dpbjogIgorbXNnc3RyICJGb3JuZcOnYSBhIHNlbmhhIGRlIHJvb3QgcGFyYSBvIGxvZ2luOiAiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIGxvZ2luOiAiCittc2dzdHIgIlByZXNzaW9uZSBFTlRFUiBwYXJhIG8gbG9naW46ICIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIkZvcm5lw6dhIGEgc2VuaGEgZGUgcm9vdCBwYXJhIG1hbnV0ZW7Dp8Ojb1xuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICJQcmVzc2lvbmUgRU5URVIgcGFyYSBtYW51dGVuw6fDo29cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIob3IgcHJlc3MgQ29udHJvbC1EIHRvIGNvbnRpbnVlKTogIgorbXNnc3RyICIob3UgcHJlc3Npb25lIENvbnRybC1EIHBhcmEgY29udGludWFyKTogIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzQyCittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSB0byBzeXN0ZW0gcm9vdCBmYWlsZWQiCittc2dzdHIgImFsdGVyYcOnw6NvIGRlIGRpcmV0w7NyaW8gcGFyYSByYWl6IGRvIHNpc3RlbWEgZmFsaG91IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzkxCittc2dpZCAic2V0ZXhlY2NvbiBmYWlsZWQiCittc2dzdHIgInNldGV4ZWNjb24gZmFsaG91IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3R0eSBkZXZpY2VdXG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIFtkaXNwb3NpdGl2byB0dHldXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MTQKK21zZ2lkICJTaW5nbGUtdXNlciBsb2dpbi5cbiIKK21zZ3N0ciAiTG9naW4gY29tbyB1bSB1c3XDoXJpbyDDum5pY28uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MTcKK21zZ2lkICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICBzdGFydCBhIGxvZ2luIHNoZWxsXG4iCisiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICBtYXggdGltZSB0byB3YWl0IGZvciBhIHBhc3N3b3JkIChkZWZhdWx0OiBubyBsaW1pdClcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGV4YW1pbmUgcGFzc3dvcmQgZmlsZXMgZGlyZWN0bHkgaWYgZ2V0cHduYW0oMykgZmFpbHNcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1sb2dpbi1zaGVsbCAgICAgICAgaW5pY2lhIHVtIHNoZWxsIGRlIGxvZ2luXG4iCisiIC10LCAtLXRpbWVvdXQgPHNlZ3VuZG9zPiB0ZW1wbyBtw6F4aW1vIGRlIGVzcGVyYSBwb3IgdW1hIHNlbmhhXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAocGFkcsOjbzogc2VtIGxpbWl0ZSlcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGV4YW1pbmEgYXJxdWl2b3MgZGUgc2VuaGEgZGlyZXRhbWVudGUsIHNlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRwd25hbSgzKSBmYWxoYXJcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg3MSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDYzIHN5cy11dGlscy93ZGN0bC5jOjUyMworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3NTAgdGVybS11dGlscy93YWxsLmM6MTM1Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIHRlbXBvIGxpbWl0ZSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg5MworbXNnaWQgIm9ubHkgc3VwZXJ1c2VyIGNhbiBydW4gdGhpcyBwcm9ncmFtIgorbXNnc3RyICJhcGVuYXMgbyBzdXBlcnVzdcOhcmlvIHBvZGUgZXhlY3V0YXIgZXN0ZSBwcm9ncmFtYSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkzNgorbXNnaWQgImNhbm5vdCBvcGVuIGNvbnNvbGUiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciBvIGNvbnNvbGUiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5NDMKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYXNzd29yZCBkYXRhYmFzZSIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyIG8gYmFuY28gZGUgZGFkb3MgZGUgc2VuaGFzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2FuIG5vdCBleGVjdXRlIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIiIKKyJOw6NvIGZvaSBwb3Nzw612ZWwgZXhlY3V0YXIgc2hlbGwgZGUgc3VcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjcKK21zZ2lkICIiCisiVGltZWQgb3V0XG4iCisiXG4iCittc2dzdHIgIiIKKyJUZW1wbyBlc2dvdGFkb1xuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTA1OQorbXNnaWQgIiIKKyJDYW4gbm90IHdhaXQgb24gc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiIgorIk7Do28gZm9pIHBvc3PDrXZlbCBlc3BlcmFyIHNoZWxsIGRlIHN1XG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTc2IHRleHQtdXRpbHMvdGFpbGYuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaC4iCittc2dzdHIgIiVzOiBuw6NvIGZvaSBwb3Nzw612ZWwgYWRpY2lvbmFyIG1vbml0b3JhbWVudG8gZGUgaW5vdGlmeS4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTg1IHRleHQtdXRpbHMvdGFpbGYuYzoxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGlub3RpZnkgZXZlbnRzIgorbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIGxlciBldmVudG9zIGRlIGlub3RpZnkiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjQ2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjUxCittc2dpZCAiRXh0cmFuZW91cyBuZXdsaW5lIGluIGZpbGUuIEV4aXRpbmcuIgorbXNnc3RyICJOb3ZhIGxpbmhhIGVzdHJhbmhhIG5vIGFycXVpdm8uIFNhaW5kby4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVuYW1lXVxuIgorbXNnc3RyICIgJXMgW29ww6fDtWVzXSBbbm9tZS1hcnF1aXZvXVxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMgorbXNnaWQgIkR1bXAgVVRNUCBhbmQgV1RNUCBmaWxlcyBpbiByYXcgZm9ybWF0LlxuIgorbXNnc3RyICJEZXNwZWphIGFycXVpdm9zIFVUTVAgZSBXVE1QIGVtIGZvcm1hdG8gbsOjbyB0cmF0YWRvIChyYXcpLlxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxNQorbXNnaWQgIiAtZiwgLS1mb2xsb3cgICAgICAgICBvdXRwdXQgYXBwZW5kZWQgZGF0YSBhcyB0aGUgZmlsZSBncm93c1xuIgorbXNnc3RyICIgLWYsIC0tZm9sbG93ICAgICAgICAgZXhpYmUgZGFkb3MgYXBlbnNhZG9zIG5hIG1lZGlkYSBxdWUgY3Jlc2NlXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE2Cittc2dpZCAiIC1yLCAtLXJldmVyc2UgICAgICAgIHdyaXRlIGJhY2sgZHVtcGVkIGRhdGEgaW50byB1dG1wIGZpbGVcbiIKK21zZ3N0ciAiIC1yLCAtLXJldmVyc2UgICAgICAgIGVzY3JldmUgZGFkb3MgZGVzcGVqYWRvcyBubyBhcnF1aXZvIHV0bXBcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTcKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxmaWxlPiAgd3JpdGUgdG8gZmlsZSBpbnN0ZWFkIG9mIHN0YW5kYXJkIG91dHB1dFxuIgorbXNnc3RyICIiCisiIC1vLCAtLW91dHB1dCA8YXJxdWl2bz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgZXNjcmV2ZSBubyBhcnF1aXZvIGVtIHZleiBkYSBzYcOtZGEgcGFkcsOjb1xuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4NAorbXNnaWQgImZvbGxvd2luZyBzdGFuZGFyZCBpbnB1dCBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAic2VtIHN1cG9ydGUgw6AgZW50cmFkYSBwYWRyw6NvIGEgc2VndWlyIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIHVuZHVtcCBvZiAlc1xuIgorbXNnc3RyICJEZXNmYXppbWVudG8gZGUgZGVzcGVqbyB1dG1wIGRlICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgZHVtcCBvZiAlc1xuIgorbXNnc3RyICJEZXNwZWpvIHV0bXAgZGUgJXNcbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE0MQorbXNnaWQgImNhbid0IG9wZW4gdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciBhcnF1aXZvIHRlbXBvcsOhcmlvIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjcmVhdGUgYSBsaW5rIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGNyaWHDp8OjbyBkZSB1bSBsaW5rIHBhcmEgJXMgZmFsaG91IgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IGdldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIG9idGVyIHVtIGNvbnRleHRvIHBhcmEgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3Qgc2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgb2J0ZXIgdW0gY29udGV4dG8gcGFyYSAlcyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmNoYW5nZWQiCittc2dzdHIgIiVzIGluYWx0ZXJhZG8iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNTQKK21zZ2lkICJjYW5ub3QgZ2V0IGxvY2siCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBvYnRlciB0cmF2YSIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI4MQorbXNnaWQgIm5vIGNoYW5nZXMgbWFkZSIKK21zZ3N0ciAibmVuaHVtYSBhbHRlcmHDp8OjbyByZWFsaXphZGEiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTAKK21zZ2lkICJjYW5ub3QgY2htb2QgZmlsZSIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGZhemVyIGNobW9kIG5vIGFycXVpdm8iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozMDQKK21zZ2lkICJFZGl0IHRoZSBwYXNzd29yZCBvciBncm91cCBmaWxlLlxuIgorbXNnc3RyICJFZGl0YSBvIGFycXVpdm8gZGUgZ3J1cG9zIG91IGRlIHNlbmhhcy5cbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM1MAorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IGdyb3VwcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAiVm9jw6ogZXN0w6EgdXNhbmRvIGdydXBvcyBzb21icmEgKHNoYWRvdykgbmVzdGUgc2lzdGVtYS5cbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM1MQorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IHBhc3N3b3JkcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAiVm9jw6ogZXN0w6EgdXNhbmRvIHNlbmhhcyBzb21icmEgKHNoYWRvdykgbmVzdGUgc2lzdGVtYS5cbiIKKworIy4gVFJBTlNMQVRPUlM6IHRoaXMgcHJvZ3JhbSB1c2VzIGZvciB5IGFuZCBuIHJwbWF0Y2goMyksCisjLiAqIHdoaWNoIG1lYW5zIHRoZXkgY2FuIGJlIHRyYW5zbGF0ZWQuCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHlvdSBsaWtlIHRvIGVkaXQgJXMgbm93IFt5L25dPyAiCittc2dzdHIgIlZvY8OqIGdvc3RhcmlhIGRlIGVkaXRhciAlcyBhZ29yYSBbcy9uXT8gIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjM3MgorbXNnaWQgImludmFsaWQgbW9udGggYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBpbnbDoWxpZG8gZGUgbcOqcyIKKworIzogbWlzYy11dGlscy9jYWwuYzozODAKK21zZ2lkICJpbnZhbGlkIHdlZWsgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBpbnbDoWxpZG8gZGUgc2VtYW5hIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjM4MgorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogdXNlIDEtNTQiCittc2dzdHIgInZhbG9yIGRlIHNlbWFuYSBpbnbDoWxpZG86IHVzZSAxLTU0IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQyMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZXN0YW1wIG9yIHVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIG1hcmNhIGRlIHRlbXBvIG91IG5vbWUgZGUgbcOqcyBkZXNjb25oZWNpZG86ICVzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQzMQorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlIgorbXNnc3RyICJ2YWxvciBpbnbDoWxpZG8gZGUgZGlhIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQzMyBtaXNjLXV0aWxzL2NhbC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZTogdXNlIDEtJWQiCittc2dzdHIgInZhbG9yIGRlIGRpYSBpbnbDoWxpZG86IHVzZSAxLSVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQzNyBtaXNjLXV0aWxzL2NhbC5jOjQ0NQorbXNnaWQgImlsbGVnYWwgbW9udGggdmFsdWU6IHVzZSAxLTEyIgorbXNnc3RyICJ2YWxvciBkZSBtw6pzIGludsOhbGlkbzogdXNlIDEtMTIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDQxCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgIm5vbWUgZGUgbcOqcyBkZXNjb25oZWNpZG86ICVzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ0OCBtaXNjLXV0aWxzL2NhbC5jOjQ1MgorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZSIKK21zZ3N0ciAidmFsb3IgZGUgYW5vIGludsOhbGlkbyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NTAKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWU6IHVzZSBwb3NpdGl2ZSBpbnRlZ2VyIgorbXNnc3RyICJ2YWxvciBkZSBhbm8gaW52w6FsaWRvOiB1c2UgaW50ZWlybyBwb3NpdGl2byIKKworIzogbWlzYy11dGlscy9jYWwuYzo0ODIgbWlzYy11dGlscy9jYWwuYzo0OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB5ZWFyICVkIGRvZXNuJ3QgaGF2ZSB3ZWVrICVkIgorbXNnc3RyICJ2YWxvciBkZSBzZW1hbmEgaW52w6FsaWRvOiBvIGFubyAlZCBuw6NvIHBvc3N1aSBzZW1hbmEgJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6Njc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIgorbXNnc3RyICIlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTA0ZCIKK21zZ3N0ciAiJTA0ZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo2OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJTA0ZCIKK21zZ3N0ciAiJXMgJTA0ZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbW1tkYXldIG1vbnRoXSB5ZWFyXVxuIgorbXNnc3RyICIgJXMgW29ww6fDtWVzXSBbW1tkaWFdIG3DqnNdIGFub11cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vbnRobmFtZT5cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gPG1hcmNhLWRlLXRlbXBvfG5vbWUtbcOqcz5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTcKK21zZ2lkICJEaXNwbGF5IGEgY2FsZW5kYXIsIG9yIHNvbWUgcGFydCBvZiBpdC5cbiIKK21zZ3N0ciAiRXhpYmUgdW0gY2FsZW5kw6FyaW8gb3UgYWxndW1hIHBhcnRlIGRlbGUuXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk4Cittc2dpZCAiV2l0aG91dCBhbnkgYXJndW1lbnRzLCBkaXNwbGF5IHRoZSBjdXJyZW50IG1vbnRoLlxuIgorbXNnc3RyICJIYXZlbmRvIG5lbmh1bSBhcmd1bWVudG8sIGV4aWJlIG8gbcOqcyBhdHVhbC5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDAxCittc2dpZCAiIC0xLCAtLW9uZSAgICAgICAgICAgICBzaG93IG9ubHkgYSBzaW5nbGUgbW9udGggKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtMSwgLS1vbmUgICAgICAgICAgICAgbW9zdHJhIGFwZW5hcyB1bSDDum5pY28gbcOqcyAocGFkcsOjbylcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDAyCittc2dpZCAiIC0zLCAtLXRocmVlICAgICAgICAgICBzaG93IHRocmVlIG1vbnRocyBzcGFubmluZyB0aGUgZGF0ZVxuIgorbXNnc3RyICIgLTMsIC0tdGhyZWUgICAgICAgICAgIG1vc3RyYSB0csOqcyBtZXNlcyBhYnJhbmdlbmRvIGEgZGF0YVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDMKK21zZ2lkICIgLW4sIC0tbW9udGhzIDxudW0+ICAgIHNob3cgbnVtIG1vbnRocyBzdGFydGluZyB3aXRoIGRhdGUncyBtb250aFxuIgorbXNnc3RyICIgLW4sIC0tbW9udGhzIDxuw7ptPiAgICBtb3N0cmEgbsO6bSBtZXNlcyBpbmljaWFuZG8gY29tIG3DqnMgYXR1YWxcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA0Cittc2dpZCAiIC1TLCAtLXNwYW4gICAgICAgICAgICBzcGFuIHRoZSBkYXRlIHdoZW4gZGlzcGxheWluZyBtdWx0aXBsZSBtb250aHNcbiIKK21zZ3N0ciAiIC1TLCAtLXNwYW4gICAgICAgICAgICBleHBhbmRlIGEgZGF0YSBhbyBleGliaXIgbcO6bHRpcGxvcyBtZXNlc1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDUKK21zZ2lkICIgLXMsIC0tc3VuZGF5ICAgICAgICAgIFN1bmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIgLXMsIC0tc3VuZGF5ICAgICAgICAgIERvbWluZ28gY29tbyBwcmltZWlybyBkaWEgZGEgc2VtYW5hXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNgorbXNnaWQgIiAtbSwgLS1tb25kYXkgICAgICAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtbSwgLS1tb25kYXkgICAgICAgICAgU2VndW5kYS1mZWlyYSBjb21vIHByaW1laXJvIGRpYSBkYSBzZW1hbmFcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA3Cittc2dpZCAiIC1qLCAtLWp1bGlhbiAgICAgICAgICBvdXRwdXQgSnVsaWFuIGRhdGVzXG4iCittc2dzdHIgIiAtaiwgLS1qdWxpYW4gICAgICAgICAgZXhpYmUgZGF0YXMganVsaWFuYXNcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA4Cittc2dpZCAiIC15LCAtLXllYXIgICAgICAgICAgICBzaG93IHRoZSB3aG9sZSB5ZWFyXG4iCittc2dzdHIgIiAteSwgLS15ZWFyICAgICAgICAgICAgbW9zdHJhIHRvZG8gbyBhbm9cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA5Cittc2dpZCAiIC1ZLCAtLXR3ZWx2ZSAgICAgICAgICBzaG93IHRoZSBuZXh0IHR3ZWx2ZSBtb250aHNcbiIKK21zZ3N0ciAiIC1ZLCAtLXR3ZWx2ZSAgICAgICAgICBtb3N0cmEgb3MgcHLDs3hpbW9zIGRvemUgbWVzZXNcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDEwCittc2dpZCAiIC13LCAtLXdlZWtbPTxudW0+XSAgICBzaG93IFVTIG9yIElTTy04NjAxIHdlZWsgbnVtYmVyc1xuIgorbXNnc3RyICIgLXcsIC0td2Vla1s9PG7Dum0+XSAgICBtb3N0cmEgbsO6bWVyb3MgZGUgc2VtYW5hIGVtIFVTIG91IElTTy04NjAxXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAxMQorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1jb2xvcls9PHF1YW5kbz5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICBjb2xvcml6YSBtZW5zYWdlbnMgKGF1dG8sIGFsd2F5cyBvdSBuZXZlcilcbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbHVlPlxuIgorbXNnc3RyICIgJXMgW29ww6fDtWVzXSB7TEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUx9PTx2YWxvcj5cbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzozMgorbXNnaWQgIkZpbmQgYSBmaWxlc3lzdGVtIGJ5IGxhYmVsIG9yIFVVSUQuXG4iCittc2dzdHIgIkxvY2FsaXphIHVtIHNpc3RlbWEgZGUgYXJxdWl2b3MgcGVsbyByw7N0dWxvIG91IFVVSUQuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgJyVzJyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIHJlc29sdmVyIFwiJXNcIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6OTkKK21zZ2lkICJzb3VyY2UgZGV2aWNlIgorbXNnc3RyICJkaXNwb3NpdGl2byBmb250ZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAwCittc2dpZCAibW91bnRwb2ludCIKK21zZ3N0ciAicG9udG8gZGUgbW9udGFnZW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxCittc2dpZCAiZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJ0aXBvIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3MiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMgorbXNnaWQgImFsbCBtb3VudCBvcHRpb25zIgorbXNnc3RyICJ0b2RhcyBhcyBvcMOnw7VlcyBkZSBtb250YWdlbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAzCittc2dpZCAiVkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIm9ww6fDtWVzIGRlIG1vbnRhZ2VtIGVzcGVjw61maWNhcyBkZSBWRlMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNAorbXNnaWQgIkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIm9ww6fDtWVzIGRlIG1vbnRhZ2VtIGVzcGVjw61maWNhcyBkZSBGUyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA1Cittc2dpZCAiZmlsZXN5c3RlbSBsYWJlbCIKK21zZ3N0ciAicsOzdHVsbyBkbyBzaXN0ZW1hIGRlIGFycXVpdm9zIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDYgbWlzYy11dGlscy9sc2Jsay5jOjE2NAorbXNnaWQgImZpbGVzeXN0ZW0gVVVJRCIKK21zZ3N0ciAiVVVJRCBkbyBzaXN0ZW1hIGRlIGFycXVpdm9zIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDcKK21zZ2lkICJwYXJ0aXRpb24gbGFiZWwiCittc2dzdHIgInLDs3R1bG8gZGEgcGFydGnDp8OjbyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5IG1pc2MtdXRpbHMvbHNibGsuYzoxNjAKK21zZ2lkICJtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICJuw7ptZXJvIG1haW9yOm1lbm9yIGRvIGRpc3Bvc2l0aXZvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTAKK21zZ2lkICJhY3Rpb24gZGV0ZWN0ZWQgYnkgLS1wb2xsIgorbXNnc3RyICJhw6fDo28gZGV0ZWN0YWRhIHBvciAtLXBvbGwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMQorbXNnaWQgIm9sZCBtb3VudCBvcHRpb25zIHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAib3DDp8O1ZXMgZGUgbW9udGFnZW0gYW50aWdhIHNhbHZhcyBwb3IgLS1wb2xsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTIKK21zZ2lkICJvbGQgbW91bnRwb2ludCBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgInBvbnRvIGRlIG1vbnRhZ2VtIGFudGlnbyBzYWx2YSBwb3IgLS1wb2xsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTMKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUiCittc2dzdHIgInRhbWFuaG8gZG8gc2lzdGVtYSBkZSBhcnF1aXZvcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE0Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIGF2YWlsYWJsZSIKK21zZ3N0ciAidGFtYW5obyBkaXNwb27DrXZlbCBkbyBzaXN0ZW1hIGRlIGFycXVpdm9zIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTUKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgdXNlZCIKK21zZ3N0ciAidGFtYW5obyB1c2FkbyBkbyBzaXN0ZW1hIGRlIGFycXVpdm9zIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTYKK21zZ2lkICJmaWxlc3lzdGVtIHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICJwb3JjZW50YWdlbSBkZSB1c28gZG8gc2lzdGVtYSBkZSBhcnF1aXZvcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE3Cittc2dpZCAiZmlsZXN5c3RlbSByb290IgorbXNnc3RyICJyYWl6IGRvIHNpc3RlbWEgZGUgYXJxdWl2b3MiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOAorbXNnaWQgInRhc2sgSUQiCittc2dzdHIgIklEIGRhIHRhcmVmYSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5Cittc2dpZCAibW91bnQgSUQiCittc2dzdHIgIklEIGRlIG1vbnRhZ2VtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAKK21zZ2lkICJvcHRpb25hbCBtb3VudCBmaWVsZHMiCittc2dzdHIgImNhbXBvcyBkZSBtb250YWdlbSBvcGNpb25haXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMQorbXNnaWQgIlZGUyBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAib3DDp8O1ZXMgZGUgcHJvcGFnYcOnw6NvIFZGUyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyCittc2dpZCAiZHVtcCg4KSBwZXJpb2QgaW4gZGF5cyBbZnN0YWIgb25seV0iCittc2dzdHIgImZyZXF1w6puY2lhIGRlIGR1bXAoOCkgZW0gZGlhcyBbYXBlbmFzIGZzdGFiXSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzCittc2dpZCAicGFzcyBudW1iZXIgb24gcGFyYWxsZWwgZnNjayg4KSBbZnN0YWIgb25seV0iCittc2dzdHIgIm7Dum1lcm8gZGUgcGFzc2FnZW0gZW0gZnNjayg4KSBwYXJhbGVsYSBbYXBlbmFzIGZzdGFiXSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYWN0aW9uOiAlcyIKK21zZ3N0ciAiYcOnw6NvIGRlc2NvbmhlY2lkYTogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0MworbXNnaWQgIm1vdW50IgorbXNnc3RyICJtb250YXIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0NgorbXNnaWQgInVtb3VudCIKK21zZ3N0ciAiZGVzbW9udGFyIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDkKK21zZ2lkICJyZW1vdW50IgorbXNnc3RyICJyZW1vbnRhciIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjUyCittc2dpZCAibW92ZSIKK21zZ3N0ciAibW92ZXIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjgxMiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDc1IHN5cy11dGlscy9lamVjdC5jOjcxOQorIzogc3lzLXV0aWxzL21vdW50LmM6NjY5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFibGUiCittc2dzdHIgImZhbGhhIGFvIGluaWNpYWxpemFyIGEgdGFiZWxhIGRvIGxpYm1vdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MzkgdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGxlciAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxNSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDgxCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6OTQgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ4MgorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE4NyBzeXMtdXRpbHMvbW91bnQuYzoxMzQgc3lzLXV0aWxzL21vdW50LmM6MTgyCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjU2IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTU1IHN5cy11dGlscy9zd2Fwb24uYzoyNDQKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNzQgc3lzLXV0aWxzL3N3YXBvbi5jOjczMyBzeXMtdXRpbHMvdW1vdW50LmM6Mjc0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgaXRlcmF0b3IiCittc2dzdHIgImZhbGhhIGFvIGluaWNpYWxpemFyIG8gaXRlcmFkb3IgZG8gbGlibW91bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODcKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJkaWZmIgorbXNnc3RyICJmYWxoYSBhbyBpbmljaWFsaXphciB0YWJkaWZmIGRvIGxpYm1vdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTE1Cittc2dpZCAicG9sbCgpIGZhaWxlZCIKK21zZ3N0ciAicG9sbCgpIGZhbGhvdSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IHwgPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2UgPGRldmljZT5dIFstLXRhcmdldCA8cGF0aD4gfCAtLW1vdW50cG9pbnQgPGRpcj5dXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbb3DDp8O1ZXNdXG4iCisiICUxJHMgW29ww6fDtWVzXSA8ZGlzcC4+IHwgPHBvbnRvLW1vbnRhZ2VtPlxuIgorIiAlMSRzIFtvcMOnw7Vlc10gPGRpc3AuPiA8cG9udG8tbW9udGFnZW0+XG4iCisiICUxJHMgW29ww6fDtWVzXSBbLS1zb3VyY2UgPGRpc3AuPl0gWy0tdGFyZ2V0IDxjYW1pbmhvPiB8IC0tbW91bnRwb2ludCA8ZGlyPl1cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5NgorbXNnaWQgIkZpbmQgYSAobW91bnRlZCkgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiTG9jYWxpemEgdW0gc2lzdGVtYSBkZSBhcnF1aXZvcyAobW9udGFkbykuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTkKK21zZ2lkICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtcywgLS1mc3RhYiAgICAgICAgICAgIHBlc3F1aXNhIG5hIHRhYmVsYSBlc3TDoXRpY2EgZGUgc2lzdGVtYXMgZGUgYXJxdWl2b3NcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMAorbXNnaWQgIiAtbSwgLS1tdGFiICAgICAgICAgICAgIHNlYXJjaCBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtbSwgLS1tdGFiICAgICAgICAgICAgIHBlc3F1aXNhIG5hIHRhYmVsYSBkZSBzaXN0ZW1hcyBkZSBhcnF1aXZvcyBtb250YWRvc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAxCittc2dpZCAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIHNlYXJjaCBpbiBrZXJuZWwgdGFibGUgb2YgbW91bnRlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXN5c3RlbXMgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICBwZXNxdWlzYSBuYSB0YWJlbGEgZG8ga2VybmVsIGRlIHNpc3RlbWFzIGRlIGFycXVpdm9zXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBtb250YWRvcyAocGFkcsOjbylcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNAorbXNnaWQgIiAtcCwgLS1wb2xsWz08bGlzdD5dICAgIG1vbml0b3IgY2hhbmdlcyBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiIKKyIgLXAsIC0tcG9sbFs9PGxpc3RhPl0gICBtb25pdG9yYSBhbHRlcmHDp8O1ZXMgbmEgdGFiZWxhIGRlIHNpc3RlbWFzIGRlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGFycXVpdm9zIG1vbnRhZG9zXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDUKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8bnVtPiAgICB1cHBlciBsaW1pdCBpbiBtaWxsaXNlY29uZHMgdGhhdCAtLXBvbGwgd2lsbCBibG9ja1xuIgorbXNnc3RyICIgLXcsIC0tdGltZW91dCA8bsO6bT4gICAgbGltaXRlIG3DoXhpbW8gZW0gbWlsaXNzZWd1bmRvcyBxdWUgLS1wb2xsIGJsb3F1ZWFyw6FcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOAorbXNnaWQgIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGJ1aWx0LWluIGZpbHRlcnMsIHByaW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZGVzYWJpbGl0YSB0b2RvcyBvcyBmaWx0cm9zIGVtYmFyY2Fkb3MsIGV4aWJlIHRvZG9zXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIG9zIHNpc3RlbWFzIGRlIGFycXVpdm9zXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDkKK21zZ2lkICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgQVNDSUkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorbXNnc3RyICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2EgY2FyYWN0ZXJlcyBBU0NJSSBwYXJhIGZvcm1hdGHDp8OjbyBkYSDDoXJ2b3JlXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTAKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgZXhpYmUgdGFtYW5ob3MgZW0gYnl0ZXMgZW0gdmV6IGRlIHVtIGZvcm1hdG8gbGVnw612ZWxcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMQorbXNnaWQgIiAtQywgLS1ub2Nhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSB3aGVuIGNvbXBhcmluZyBwYXRoc1xuIgorbXNnc3RyICIgLUMsIC0tbm9jYW5vbmljYWxpemUgICBuw6NvIGNhbm9uaXphIGFvIGNvbXBhcmFyIGNhbWluaG9zXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTIKK21zZ2lkICIgLWMsIC0tY2Fub25pY2FsaXplICAgICBjYW5vbmljYWxpemUgcHJpbnRlZCBwYXRoc1xuIgorbXNnc3RyICIgLWMsIC0tY2Fub25pY2FsaXplICAgICBjYW5vbml6YSBjYW1pbmhvcyBleGliaWRvc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEzCittc2dpZCAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGF0ZSB0aGUgb3V0cHV0IG9mIGRmKDEpXG4iCittc2dzdHIgIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRhIGEgc2HDrWRhIGRlIGRmKDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTQKK21zZ2lkICIgLWQsIC0tZGlyZWN0aW9uIDx3b3JkPiBkaXJlY3Rpb24gb2Ygc2VhcmNoLCAnZm9yd2FyZCcgb3IgJ2JhY2t3YXJkJ1xuIgorbXNnc3RyICIiCisiIC1kLCAtLWRpcmVjdGlvbiA8cGFsYXZyYT5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBkaXJlw6fDo28gZGEgcGVzcXVpc2EsIFwiZm9yd2FyZFwiIG91IFwiYmFja3dhcmRcIlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE1Cittc2dpZCAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iCittc2dzdHIgIiIKKyIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBjb252ZXJ0ZSByw7N0dWxvcyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhIG5vbWVzIGRlIGRpc3Bvc2l0aXZvc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE3Cittc2dpZCAiIC1GLCAtLXRhYi1maWxlIDxwYXRoPiAgYWx0ZXJuYXRpdmUgZmlsZSBmb3IgLXMsIC1tIG9yIC1rIG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorIiAtRiwgLS10YWItZmlsZSA8Y2FtaW5obz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBhcnF1aXZvIGFsdGVybmF0aXZvIHBhcmEgb3DDp8O1ZXMgLXMsIC1tIG91IC1rXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTgKK21zZ2lkICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBwcmludCB0aGUgZmlyc3QgZm91bmQgZmlsZXN5c3RlbSBvbmx5XG4iCittc2dzdHIgIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIGV4aWJlIGFwZW5hcyBvIHByaW1laXJvIHNpc3RlbWEgZGUgYXJxdWl2b3MgZW5jb250cmFkb1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE5Cittc2dpZCAiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJ0IHRoZSBzZW5zZSBvZiBtYXRjaGluZ1xuIgorbXNnc3RyICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnRlIG8gc2VudGlkbyBkYXMgb2NvcnLDqm5jaWFzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjAgbWlzYy11dGlscy9sc2xvY2tzLmM6NTA3IHN5cy11dGlscy9sc25zLmM6NjE5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2EgZm9ybWF0byBkZSBzYcOtZGEgSlNPTlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIxIHN5cy11dGlscy9sc25zLmM6NjIwCittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1c2Egc2HDrWRhIG5vIGZvcm1hdG8gZGUgbGlzdGFcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMgorbXNnaWQgIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIHVzZSBhbHRlcm5hdGl2ZSBuYW1lc3BhY2UgKC9wcm9jLzx0aWQ+L21vdW50aW5mbyBmaWxlKVxuIgorbXNnc3RyICIiCisiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNhIGVzcGHDp28gZGUgbm9tZXMgYWx0ZXJuYXRpdm9zXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIChhcnF1aXZvIC9wcm9jLzx0aWQ+L21vdW50aW5mbylcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMworbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGNvbHVtbiBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBuw6NvIGV4aWJlIG9zIGNhYmXDp2FsaG9zIGRlIGNvbHVuYXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNAorbXNnaWQgIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIgorbXNnc3RyICIiCisiIC1PLCAtLW9wdGlvbnMgPGxpc3RhPiAgbGltaXRhIG8gY29uanVudG8gZGUgc2lzdGVtYXMgZGUgYXJxdWl2b3MgcG9yIG9ww6fDtWVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGRlIG1vbnRhZ2VtXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjUKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICB0aGUgb3V0cHV0IGNvbHVtbnMgdG8gYmUgc2hvd25cbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICAgYXMgY29sdW5hcyBkZSBzYcOtZGEgYSBzZXJlbSBtb3N0cmFkYXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNgorbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdXNhIG8gZm9ybWF0byBkZSBzYcOtZGEgY2hhdmU9XCJ2YWxvclwiXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjcKK21zZ2lkICIgLVIsIC0tc3VibW91bnRzICAgICAgICBwcmludCBhbGwgc3VibW91bnRzIGZvciB0aGUgbWF0Y2hpbmcgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIgorIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIGV4aWJlIHRvZGFzIGFzIHN1Ym1vbnRhZ2VucyBwYXJhIG9zIHNpc3RlbWFzIGRlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgYXJxdWl2b3MgY29ycmVzcG9uZGVudGVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjgKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNhIGZvcm1hdG8gZGUgc2HDrWRhIG7Do28gdHJhdGFkb1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5Cittc2dpZCAiIgorIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorbXNnc3RyICIiCisiIC1TLCAtLXNvdXJjZSA8dGV4dG8+ICAgbyBkaXNwb3NpdGl2byBhIHNlciBtb250YWRvIChwb3Igbm9tZSwgbWFpb3I6bcOtbmltbywgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzEKK21zZ2lkICIgLVQsIC0tdGFyZ2V0IDxwYXRoPiAgICB0aGUgcGF0aCB0byB0aGUgZmlsZXN5c3RlbSB0byB1c2VcbiIKK21zZ3N0ciAiIC1ULCAtLXRhcmdldCA8Y2FtaW5obz4gbyBjYW1pbmhvIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3MgcGFyYSB1c2FyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzIKK21zZ2lkICIgLU0sIC0tbW91bnRwb2ludCA8ZGlyPiB0aGUgbW91bnRwb2ludCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1NLCAtLW1vdW50cG9pbnQgPGRpcj4gbyBkaXJldMOzcmlvIGRvIHBvbnRvIGRlIG1vbnRhZ2VtXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzMKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IEZTIHR5cGVzXG4iCittc2dzdHIgIiAtdCwgLS10eXBlcyA8bGlzdGE+ICAgIGxpbWl0YSBvIGNvbmp1bnRvIGRlIHNpc3RlbWFzIGRlIGFycXVpdm9zIHBvciB0aXBvc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM0Cittc2dpZCAiIC1VLCAtLXVuaXEgICAgICAgICAgICAgaWdub3JlIGZpbGVzeXN0ZW1zIHdpdGggZHVwbGljYXRlIHRhcmdldFxuIgorbXNnc3RyICIgLVUsIC0tdW5pcSAgICAgICAgICAgICBpZ25vcmEgc2lzdGVtYXMgZGUgYXJxdWl2b3MgY29tIGFsdm9zIGR1cGxpY2Fkb3NcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNSBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTMgc3lzLXV0aWxzL2xzbnMuYzo2MjUKK21zZ2lkICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgbsOjbyB0cnVuY2EgdGV4dG8gZW0gY29sdW5hc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM2Cittc2dpZCAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorbXNnc3RyICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBuw6NvIG1vc3RyYSBbL2Rpcl0gcGFyYSBtb250YWdlbnMgYmluZCBvdSBidHJmc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM5Cittc2dpZCAiIC14LCAtLXZlcmlmeSAgICAgICAgICAgdmVyaWZ5IG1vdW50IHRhYmxlIGNvbnRlbnQgKGRlZmF1bHQgaXMgZnN0YWIpXG4iCittc2dzdHIgIiIKKyIgLXgsIC0tdmVyaWZ5ICAgICAgICAgICB2ZXJpZmljYSBvIGNvbnRlw7pkbyBkYSB0YWJlbGEgZGUgbW9udGFnZW1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIChwYWRyw6NvIMOpIGZzdGFiKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQwCittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgbW9yZSBkZXRhaWxzXG4iCittc2dzdHIgIiAgICAgLS12ZXJib3NlICAgICAgICAgIG1vc3RyYSBtYWlzIGRldGFsaGVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBkaXJlY3Rpb24gJyVzJyIKK21zZ3N0ciAiZGlyZcOnw6NvIGRlc2NvbmhlY2lkYTogXCIlc1wiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDQwCittc2dpZCAiaW52YWxpZCBUSUQgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBpbnbDoWxpZG8gZGUgVElEIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTA5Cittc2dpZCAiLS1wb2xsIGFjY2VwdHMgb25seSBvbmUgZmlsZSwgYnV0IG1vcmUgc3BlY2lmaWVkIGJ5IC0tdGFiLWZpbGUiCittc2dzdHIgIi0tcG9sbCBzw7MgYWNlaXRhIHVtIGFycXVpdm8sIG1hcyBtYWlzIGVzcGVjaWZpY2FtZW50ZSBwb3IgLS10YWItZmlsZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUxMworbXNnaWQgIm9wdGlvbnMgLS10YXJnZXQgYW5kIC0tc291cmNlIGNhbid0IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBjb21tYW5kIGxpbmUgZWxlbWVudCB0aGF0IGlzIG5vdCBhbiBvcHRpb24iCittc2dzdHIgImFzIG9ww6fDtWVzIC0tdGFyZ2V0IGUgLS1zb3VyY2UgbsOjbyBwb2RlIHNlciB1c2FkYSBqdW50byBjb20gdW0gZWxlbWVudG8gZGUgbGluaGEgZGUgY29tYW5kbyBxdWUgbsOjbyDDqSB1bWEgb3DDp8OjbyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU2MgorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGNhY2hlIgorbXNnc3RyICJmYWxoYSBhbyBpbmljaWFsaXphciBvIGNhY2hlIGRvIGxpYm1vdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNvbHVtbiBpcyByZXF1ZXN0ZWQsIGJ1dCAtLXBvbGwgaXMgbm90IGVuYWJsZWQiCittc2dzdHIgImNvbHVuYSAlcyDDqSBuZWNlc3PDoXJpYSwgbWFzIC0tcG9sbCBuw6NvIGVzdMOhIGhhYmlsaXRhZGEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTYKK21zZ2lkICJ0YXJnZXQgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJhbHZvIGVzcGVjaWZpY2FkbyBtYWlzIGRlIHVtYSB2ZXoiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgb3JkZXI6ICVzIHNwZWNpZmllZCBiZWZvcmUgJXMiCittc2dzdHIgIm9yZGVtIGluY29ycmV0YTogJXMgZXNwZWNpZmljYWRvIGFudGVzIGRlICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTMzCittc2dpZCAidW5kZWZpbmVkIHRhcmdldCAoZnNfZmlsZSkiCittc2dzdHIgImFsdm8gbsOjbyBkZWZpbmlkbyAoZnNfZmlsZSkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWNhbm9uaWNhbCB0YXJnZXQgcGF0aCAocmVhbDogJXMpIgorbXNnc3RyICJjYW1pbmhvIGRlIGFsdm8gbsOjbyBjYW7DtG5pY28gKHJlYWw6ICVzKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHRhcmdldDogJW0iCittc2dzdHIgImFsdm8gbsOjbyBhbGNhbsOnw6F2ZWwgbmEgaW5pY2lhbGl6YcOnw6NvOiAlbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSB0YXJnZXQ6ICVtIgorbXNnc3RyICJhbHZvIG7Do28gYWxjYW7Dp8OhdmVsOiAlbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MQorbXNnaWQgInRhcmdldCBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIm8gYWx2byBuw6NvIMOpIHVtIGRpcmV0w7NyaW8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTMKK21zZ2lkICJ0YXJnZXQgZXhpc3RzIgorbXNnc3RyICJhbHZvIGV4aXN0ZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHNvdXJjZTogJXM9JXMiCittc2dzdHIgImZvbnRlIG7Do28gYWxjYW7Dp8OhdmVsIG5hIGluaWNpYWxpemHDp8OjbzogJXM9JXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGU6ICVzPSVzIgorbXNnc3RyICJuw6NvIGFsY2Fuw6fDoXZlbDogJXM9JXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM9JXMgdHJhbnNsYXRlZCB0byAlcyIKK21zZ3N0ciAiJXM9JXMgc2UgdHJhZHV6aXUgcGFyYSAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5MAorbXNnaWQgInVuZGVmaW5lZCBzb3VyY2UgKGZzX3NwZWMpIgorbXNnc3RyICJmb250ZSBuw6NvIGRlZmluaWRhIChmc19zcGVjKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzb3VyY2UgdGFnOiAlcyIKK21zZ3N0ciAic2VtIHN1cG9ydGUgw6AgdGFnIGZvbnRlOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgc291cmNlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAibsOjbyB2ZXJpZmljYSBhIGZvbnRlICVzIChwc2V1ZG8vbmV0KSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBzb3VyY2U6ICVzOiAlbSIKK21zZ3N0ciAiZm9udGUgbsOjbyBhbGNhbsOnw6F2ZWw6ICVzOiAlbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmluZCBtb3VudCBzb3VyY2UgJXMgaXMgYSBkaXJlY3Rvcnkgb3IgcmVndWxhciBmaWxlIgorbXNnc3RyICJvIGZvbnRlIGRlIG1vbnRhZ2VtIG7Do28gXCJiaW5kXCIgJXMgw6kgdW0gZGlyZXTDs3JpbyBvdSBhcnF1aXZvIGNvbXVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgImEgZm9udGUgJXMgbsOjbyDDqSB1bSBkaXNwb3NpdGl2byBkZSBibG9jbyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgZXhpc3RzIgorbXNnc3RyICJmb250ZSAlcyBleGlzdGUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICJPcMOnw7VlcyBkZSBWRlM6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICJPcMOnw7VlcyBkZSBGUzogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlcnNwYWNlIG9wdGlvbnM6ICVzIgorbXNnc3RyICJvcMOnw7VlcyBkZSBlc3Bhw6dvIGRlIHVzdcOhcmlvOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzd2FwYXJlYSBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgInNlbSBzdXBvcnRlIMOgIHBvbMOtdGljYSBkZSBkZXNjYXJ0ZSBkZSDDoXJlYSBkZSBzd2FwOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI2MAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzd2FwYXJlYSBwcmlvcml0eSBvcHRpb24iCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIG9ww6fDo28gZGUgcHJpb3JpZGFkZSBkZSDDoXJlYSBkZSBzd2FwIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBGUyB0eXBlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAibsOjbyB2ZXJpZmljYSBvIHRpcG8gZGUgRlMgJXMgKHBzZXVkby9uZXQpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDA2Cittc2dpZCAiXCJub25lXCIgRlMgdHlwZSBpcyByZWNvbW1lbmRlZCBmb3IgYmluZCBvciBtb3ZlIG9wcmF0aW9ucyBvbmx5IgorbXNnc3RyICJUaXBvIGRlIEZTIFwibm9uZVwiIMOpIHJlY29tZW5kYWRvIHBhcmEgYXBlbmFzIG9wZXJhw6fDtWVzIGRlIG1vdmUgb3UgXCJiaW5kXCIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAiJXMgcGFyZWNlIG7Do28gcG9zc3VpciBzdXBvcnRlIG5vIGtlcm5lbCBhdHVhbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyMCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIxCittc2dpZCAiY2Fubm90IGRldGVjdCBvbi1kaXNrIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGRldGVjdGFyIG8gdGlwbyBkZSBzaXN0ZW1hIGRlIGFycXVpdm9zIGVtIGRpc2NvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRvZXMgbm90IG1hdGNoIHdpdGggb24tZGlzayAlcyIKK21zZ3N0ciAiJXMgbsOjbyBjb3JyZXNwb25kZSBjb20gJXMgZW0gZGlzY28iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9uLWRpc2sgJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICIlcyBlbSBkaXNjbyBwYXJlY2UgbsOjbyBwb3NzdWlyIHN1cG9ydGUgbm8ga2VybmVsIGF0dWFsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZTIHR5cGUgaXMgJXMiCittc2dzdHIgInRpcG8gZGUgRlMgw6kgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjb21tZW5kZWQgcm9vdCBGUyBwYXNzbm8gaXMgMSAoY3VycmVudCBpcyAlZCkiCittc2dzdHIgInBhc3NubyByZWNvbWVuZGFkbyBkZSBGUyByYWl6IMOpIDEgKGF0dWFsIMOpICVkKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBwYXJzZSBlcnJvciIKK21zZ2lkX3BsdXJhbCAiJWQgcGFyc2UgZXJyb3JzIgorbXNnc3RyWzBdICIlZCBlcnJvIGRlIGFuw6FsaXNlIgorbXNnc3RyWzFdICIlZCBlcnJvcyBkZSBhbsOhbGlzZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICIsICVkIGVycm9yIgorbXNnaWRfcGx1cmFsICIsICVkIGVycm9ycyIKK21zZ3N0clswXSAiLCAlZCBlcnJvIgorbXNnc3RyWzFdICIsICVkIGVycm9zIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgd2FybmluZyIKK21zZ2lkX3BsdXJhbCAiLCAlZCB3YXJuaW5ncyIKK21zZ3N0clswXSAiLCAlZCBhdmlzbyIKK21zZ3N0clsxXSAiLCAlZCBhdmlzb3MiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzcywgbm8gZXJyb3JzIG9yIHdhcm5pbmdzIGRldGVjdGVkXG4iCittc2dzdHIgIlN1Y2Vzc28sIG5lbmh1bSBlcnJvIG91IGF2aXNvIGRldGVjdGFkb1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIlRlbnRlIFwiJXMgLS1oZWxwXCIgcGFyYSBtYWlvcmVzIGluZm9ybWHDp8O1ZXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzA0Cittc2dpZCAiZW1wdHkgbG9uZyBvcHRpb24gYWZ0ZXIgLWwgb3IgLS1sb25nIGFyZ3VtZW50IgorbXNnc3RyICJvcMOnw6NvIGxvbmdhIHZhemlhIGFww7NzIGFyZ3VtZW50byAtbCBvdSAtLWxvbmciCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzI1Cittc2dpZCAidW5rbm93biBzaGVsbCBhZnRlciAtcyBvciAtLXNoZWxsIGFyZ3VtZW50IgorbXNnc3RyICJzaGVsbCBkZXNjb25oZWNpZG8gYXDDs3MgYXJndW1lbnRvIC1zIG91IC0tc2hlbGwiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tXSA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLW98LS1vcHRpb25zIDxvcHRzdHJpbmc+IFtvcHRpb25zXSBbLS1dIDxwYXJhbWV0ZXJzPlxuIgorbXNnc3RyICIiCisiICUxJHMgPG9wdHN0cmluZz4gPHBhcsOibWV0cm9zPlxuIgorIiAlMSRzIFtvcMOnw7Vlc10gWy0tXSA8b3B0c3RyaW5nPiA8cGFyw6JtZXRyb3M+XG4iCisiICUxJHMgW29ww6fDtWVzXSAtb3wtLW9wdGlvbnMgPG9wdHN0cmluZz4gW29ww6fDtWVzXSBbLS1dIHBhcsOibWV0cm9zXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzM4Cittc2dpZCAiUGFyc2UgY29tbWFuZCBvcHRpb25zLlxuIgorbXNnc3RyICJBbmFsaXNhIG9ww6fDtWVzIGRlIGNvbWFuZG8uXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQxCittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIGFsbG93IGxvbmcgb3B0aW9ucyBzdGFydGluZyB3aXRoIHNpbmdsZSAtXG4iCittc2dzdHIgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgICBwZXJtaXRlIG9ww6fDtWVzIGxvbmdhcyBpbmljaWFuZG8gY29tIHVtIMO6bmljbyAtXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQyCittc2dpZCAiIC1sLCAtLWxvbmdvcHRpb25zIDxsb25nb3B0cz4gIHRoZSBsb25nIG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIiCisiIC1sLCAtLWxvbmdvcHRpb25zIDxvcMOnw7Vlcy1sb25nYXM+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ww6fDtWVzIGxvbmdhcyBhIHNlcmVtIHJlY29uaGVjaWRhc1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MworbXNnaWQgIiAtbiwgLS1uYW1lIDxwcm9nbmFtZT4gICAgICAgICB0aGUgbmFtZSB1bmRlciB3aGljaCBlcnJvcnMgYXJlIHJlcG9ydGVkXG4iCittc2dzdHIgIiAtbiwgLS1uYW1lIDxub21lLXByb2dyYW1hPiAgICBvIG5vbWUgc29iIG8gcXVhbCBlcnJvcyBzw6NvIHJlbGF0YWRvc1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NAorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgICB0aGUgc2hvcnQgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgICBhcyBvcMOnw7VlcyBjdXJ0YXMgYSBzZXJlbSByZWNvbmhlY2lkYXNcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDUKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBlcnJvciByZXBvcnRpbmcgYnkgZ2V0b3B0KDMpXG4iCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBkZXNhYmlsaXRhIHJlbGF0b3MgZGUgZXJyb3MgcG9yIGdldG9wdCgzKVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NgorbXNnaWQgIiAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICBubyBub3JtYWwgb3V0cHV0XG4iCittc2dzdHIgIiAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICBzZW0gc2HDrWRhIG5vcm1hbFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NworbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICBzZXQgcXVvdGluZyBjb252ZW50aW9ucyB0byB0aG9zZSBvZiA8c2hlbGw+XG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICBjb25maWd1cmEgYXMgY29udmVuw6fDtWVzIHBhcmEgYXMgZG8gPHNoZWxsPlxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0OAorbXNnaWQgIiAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICB0ZXN0IGZvciBnZXRvcHQoMSkgdmVyc2lvblxuIgorbXNnc3RyICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgdGVzdGUgYSB2ZXJzw6NvIGRvIGdldG9wdCgxKVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0OQorbXNnaWQgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICBkbyBub3QgcXVvdGUgdGhlIG91dHB1dFxuIgorbXNnc3RyICIgLXUsIC0tdW5xdW90ZWQgICAgICAgICAgICAgICAgbsOjbyBww7VlIGEgc2HDrWRhIGVudHJlIGFzcGFzXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6Mzk5IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDU5Cittc2dpZCAibWlzc2luZyBvcHRzdHJpbmcgYXJndW1lbnQiCittc2dzdHIgImZhbHRhbmRvIG8gYXJndW1lbnRvIG9wdHN0cmluZyIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzo0NTQKK21zZ2lkICJpbnRlcm5hbCBlcnJvciwgY29udGFjdCB0aGUgYXV0aG9yLiIKK21zZ3N0ciAiZXJybyBpbnRlcm5vLCBlbnRyZSBlbSBjb250YXRvIGNvbSBvIGF1dG9yLiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsICVzOyB2YWxpZCBzaWduYWxzOiIKK21zZ3N0ciAic2luYWwgZGVzY29uaGVjaWRvICVzOyBzaW5haXMgdsOhbGlkb3M6IgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGlkPnw8bmFtZT4uLi5cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gPHBpZD58PG5vbWU+Li4uXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwNQorbXNnaWQgIkZvcmNpYmx5IHRlcm1pbmF0ZSBhIHByb2Nlc3MuXG4iCittc2dzdHIgIlRlcm1pbmEgZm9yw6dhZGFtZW50ZSB1bSBwcm9jZXNzby5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzA4Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRvIG5vdCByZXN0cmljdCB0aGUgbmFtZS10by1waWQgY29udmVyc2lvbiB0byBwcm9jZXNzZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggdGhlIHNhbWUgdWlkIGFzIHRoZSBwcmVzZW50IHByb2Nlc3NcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIG7Do28gcmVzdHJpbmdlIGEgY29udmVyc8OjbyBub21lLXBhcmEtcGlkIGEgcHJvY2Vzc29zXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBjb20gYSBtZXNtYSB1aWQgcXVlIG8gcHJlc2VudGUgcHJvY2Vzc29cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzEwCittc2dpZCAiIC1zLCAtLXNpZ25hbCA8c2lnbmFsPiAgc2VuZCB0aGlzIDxzaWduYWw+IGluc3RlYWQgb2YgU0lHVEVSTVxuIgorbXNnc3RyICIgLXMsIC0tc2lnbmFsIDxzaW5hbD4gICBlbnZpYSBlc3RlIDxzaW5hbD4gYW8gaW52w6lzIGRlIFNJR1RFUk1cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzEyCittc2dpZCAiIC1xLCAtLXF1ZXVlIDx2YWx1ZT4gICAgdXNlIHNpZ3F1ZXVlKDIpLCBub3Qga2lsbCgyKSwgYW5kIHBhc3MgPHZhbHVlPiBhcyBkYXRhXG4iCittc2dzdHIgIiIKKyIgLXEsIC0tcXVldWUgPHZhbG9yPiAgICB1c2Egc2lncXVldWUoMiksIGUgbsOjbyBraWxsKDIpLCBlIHBhc3NhIDx2YWxvcj5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgY29tbyBkYWRvc1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTQKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgICBwcmludCBwaWRzIHdpdGhvdXQgc2lnbmFsaW5nIHRoZW1cbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgZXhpYmUgcGlkcyBzZW0gc2luYWxpesOhLWxvc1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTUKK21zZ2lkICIgLWwsIC0tbGlzdFs9PHNpZ25hbD5dICBsaXN0IHNpZ25hbCBuYW1lcywgb3IgY29udmVydCBhIHNpZ25hbCBudW1iZXIgdG8gYSBuYW1lXG4iCittc2dzdHIgIiAtbCwgLS1saXN0IFs9PHNpbmFsPl0gIGxpc3RhIG9zIG5vbWVzIGRlIHNpbmFsIG91IGNvbnZlcnRlIHVtIHBhcmEgdW0gbm9tZVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTYKK21zZ2lkICIgLUwsIC0tdGFibGUgICAgICAgICAgICBsaXN0IHNpZ25hbCBuYW1lcyBhbmQgbnVtYmVyc1xuIgorbXNnc3RyICIgLUwsIC0tdGFibGUgICAgICAgICAgICBsaXN0YSBvcyBub21lcyBlIG7Dum1lcm9zIGRlIHNpbmFpc1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTcKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBwaWRzIHRoYXQgd2lsbCBiZSBzaWduYWxlZFxuIgorbXNnc3RyICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBtb3N0cmEgcGlkcyBxdWUgc2Vyw6NvIHNpbmFsaXphZG9zXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM2NyBtaXNjLXV0aWxzL2tpbGwuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWw6ICVzIgorbXNnc3RyICJzaW5hbCBkZXNjb25oZWNpZG8gJXMiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM4NyBtaXNjLXV0aWxzL2tpbGwuYzozOTAgbWlzYy11dGlscy9raWxsLmM6Mzk5CisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MTEgbWlzYy11dGlscy9raWxsLmM6NDM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIlcyBlICVzIHPDo28gbXV0dWFtZW50ZSBleGNsdXNpdmFzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozOTYgbWlzYy11dGlscy9raWxsLmM6NDM4IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTc0CisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjAgdGVybS11dGlscy9hZ2V0dHkuYzo3ODkgdGVybS11dGlscy9hZ2V0dHkuYzo3OTgKK21zZ2lkICJub3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAiYXJndW1lbnRvcyBpbnN1ZmljaWVudGVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uICclcycgcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgImEgb3DDp8OjbyBcIiVzXCIgZXhpZ2UgdW0gYXJndW1lbnRvIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MTQgc3lzLXV0aWxzL2VqZWN0LmM6MjA1IHN5cy11dGlscy9lamVjdC5jOjIzMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2ODkgc3lzLXV0aWxzL3R1bmVscC5jOjE2MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTY4CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTc1IHN5cy11dGlscy90dW5lbHAuYzoxODIgc3lzLXV0aWxzL3R1bmVscC5jOjE4OQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE5NSBzeXMtdXRpbHMvdHVuZWxwLmM6MTk5IHN5cy11dGlscy90dW5lbHAuYzoyMDYKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyMzEgdGVybS11dGlscy9zZXR0ZXJtLmM6MjEzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxNgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTEgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk4CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMDAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzEyIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxNAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzIzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMzMSB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzYyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNzMgdGVybS11dGlscy9zZXR0ZXJtLmM6NTM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0MAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTQ1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NzQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU3OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODQgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg5CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTQgdGVybS11dGlscy9zZXR0ZXJtLmM6NTk5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwNworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NjQwCittc2dpZCAiYXJndW1lbnQgZXJyb3IiCittc2dzdHIgImVycm8gZGUgYXJndW1lbnRvIgorCisjICdzaWd2YWwnIMOpIG8gbm9tZSBkYSB2YXJpw6F2ZWwgZSDDqSBhIG9ww6fDo28gZXhpYmlkYSBuYSBsaW5oYSBkZSBjb21hbmRvLCBwb3IgaXNzbyBuw6NvIHRyYWR1emkgLS0gUmFmYWVsCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzaWduYWwgbmFtZSBvciBudW1iZXI6ICVzIgorbXNnc3RyICJub21lIG91IG7Dum1lcm8gZGUgc2luYWwgaW52w6FsaWRvczogJXMiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCAlZCB0byBwaWQgJWRcbiIKK21zZ3N0ciAiZW52aWFuZG8gc2luYWwgJWQgcGFyYSBvIHBpZCAlZFxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJlbnZpbyBkZSBzaW5hbCBwYXJhICVzIGZhbGhvdSIKKworIzogbWlzYy11dGlscy9raWxsLmM6NTA3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHByb2Nlc3MgXCIlc1wiIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbG9jYWxpemFyIG8gcHJvY2Vzc28gXCIlc1wiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5IG5hbWU6ICVzIgorbXNnc3RyICJub21lIGRlIHJlY3Vyc28gZGVzY29uaGVjaWRvOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAibm9tZSBkZSBwcmlvcmlkYWRlIGRlc2NvbmhlY2lkbzogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZW5sb2cgJXM6IHBhdGhuYW1lIHRvbyBsb25nIgorbXNnc3RyICJvcGVubG9nICVzOiBub21lIGRvIGNhbWluaG8gbG9uZ28gZGVtYWlzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI2NworIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgJXMiCittc2dzdHIgInNvcXVldGUgJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIG5hbWUgJXMgcG9ydCAlczogJXMiCittc2dzdHIgImZhbGhhIGFvIHJlc29sdmVyIG5vbWUgJXMgbmEgcG9ydGEgJXM6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMyMworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY29ubmVjdCB0byAlcyBwb3J0ICVzIgorbXNnc3RyICJmYWxoYSBhbyBjb25lY3RhciBhICVzIG5hIHBvcnRhICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjM1MgorIywgYy1mb3JtYXQKK21zZ2lkICJtYXhpbXVtIGlucHV0IGxpbmVzICglZCkgZXhjZWVkZWQiCittc2dzdHIgIm3DoXhpbW8gZGUgbGluaGFzIGRlIGVudHJhZGFzICglZCkgZXhjZWRpZG8iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NDg3Cittc2dpZCAic2VuZCBtZXNzYWdlIGZhaWxlZCIKK21zZ3N0ciAiZW52aW8gZGUgbWVuc2FnZW0gZmFsaG91IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU1OAorIywgYy1mb3JtYXQKK21zZ2lkICJzdHJ1Y3R1cmVkIGRhdGEgSUQgJyVzJyBpcyBub3QgdW5pcXVlIgorbXNnc3RyICJJRCBcIiVzXCIgZGUgZGFkb3MgZXN0cnV0dXJhZG9zIG7Do28gw6kgw7puaWNvIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU3MgorIywgYy1mb3JtYXQKK21zZ2lkICItLXNkLWlkIHdhcyBub3Qgc3BlY2lmaWVkIGZvciAtLXNkLXBhcmFtICVzIgorbXNnc3RyICItLXNkLWlkIG7Do28gZm9pIGVzcGVjaWZpY2FkbyBwYXJhIC0tc2QtcGFyYW0gJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzU0Cittc2dpZCAibG9jYWx0aW1lKCkgZmFpbGVkIgorbXNnc3RyICJsb2NhbHRpbWUoKSBmYWxob3UiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzY0CisjLCBjLWZvcm1hdAorbXNnaWQgImhvc3RuYW1lICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgIm5vbWUgZGUgbcOhcXVpbmEgXCIlc1wiIMOpIGxvbmdvIGRlbWFpcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGFnICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgInRhZyBcIiVzXCIgw6kgbG9uZ28gZGVtYWlzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjgzMworIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyB1bmtub3duIG9wdGlvbiBhcmd1bWVudDogJXMiCittc2dzdHIgImlnbm9yYW5kbyBhcmd1bWVudG8gZGUgb3DDp8OjbyBkZXNjb25oZWNpZG86ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjg0NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlczogdXNpbmcgYXV0b21hdGljIGVycm9ycyIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbzogJXM6IHVzYW5kbyBlcnJvcyBhdXRvbcOhdGljb3MiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6OTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gWzxtZW5zYWdlbT5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6OTk3Cittc2dpZCAiRW50ZXIgbWVzc2FnZXMgaW50byB0aGUgc3lzdGVtIGxvZy5cbiIKK21zZ3N0ciAiSW5zZXJlIG1lbnNhZ2VucyBubyBzaXN0ZW1hIGRlIHJlZ2lzdHJvIGRlIGxvZ3MuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMAorbXNnaWQgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgbG9nIHRoZSBsb2dnZXIgY29tbWFuZCdzIFBJRFxuIgorbXNnc3RyICIgLWkgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJhIG8gUElEIGRvIGNvbWFuZG8gbG9nZ2VyXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMQorbXNnaWQgIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgbG9nIHRoZSBnaXZlbiA8aWQ+LCBvciBvdGhlcndpc2UgdGhlIFBJRFxuIgorbXNnc3RyICIgICAgIC0taWRbPTxpZD5dICAgICAgICAgIHJlZ2lzdHJhIG8gPGlkPiBmb3JuZWNpZG8gb3UsIHNlbsOjbywgbyBQSURcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAyCittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICAgICBsb2cgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZVxuIgorbXNnc3RyICIgLWYsIC0tZmlsZSA8YXJxdWl2bz4gICAgIHJlZ2lzdHJhIG8gY29udGXDumRvIGRlc3RlIGFycXVpdm9cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAzCittc2dpZCAiIC1lLCAtLXNraXAtZW1wdHkgICAgICAgICBkbyBub3QgbG9nIGVtcHR5IGxpbmVzIHdoZW4gcHJvY2Vzc2luZyBmaWxlc1xuIgorbXNnc3RyICIgLWUsIC0tc2tpcC1lbXB0eSAgICAgICAgIG7Do28gcmVnaXN0cmEgbGluaGFzIHZhemlhcyBhbyBwcm9jZXNzYXIgYXJxdWl2b3NcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA0Cittc2dpZCAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgd3JpdGUgdGhlIGxvZ1xuIgorbXNnc3RyICIgICAgIC0tbm8tYWN0ICAgICAgICAgICAgIGZheiB0dWRvLCBleGNldG8gZ3JhdmFyIG5vIGxvZ1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDUKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIG1hcmsgZ2l2ZW4gbWVzc2FnZSB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBtYXJjYSBhIG1lbnNhZ2VtIGRhZGEgY29tIGVzdGEgcHJpb3JpZGFkZVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDYKK21zZ2lkICIgICAgIC0tb2N0ZXQtY291bnQgICAgICAgIHVzZSByZmM2NTg3IG9jdGV0IGNvdW50aW5nXG4iCittc2dzdHIgIiAgICAgLS1vY3RldC1jb3VudCAgICAgICAgdXNhIGEgY29udGFnZW0gZGUgb2N0ZXRvIGRvIHJmYzY1ODdcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA3Cittc2dpZCAiICAgICAtLXByaW8tcHJlZml4ICAgICAgICBsb29rIGZvciBhIHByZWZpeCBvbiBldmVyeSBsaW5lIHJlYWQgZnJvbSBzdGRpblxuIgorbXNnc3RyICIgICAgIC0tcHJpby1wcmVmaXggICAgICAgIHByb2N1cmEgcG9yIHByZWZpeG8gZW0gY2FkYSBsaW5oYSBsaWRhIGRhIGVudHJhZGFcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA4Cittc2dpZCAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICBvdXRwdXQgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvciBhcyB3ZWxsXG4iCittc2dzdHIgIiAtcywgLS1zdGRlcnIgICAgICAgICAgICAgbW9zdHJhIG1lbnNhZ2VtIHBhcmEgYSBzYcOtZGEgZGUgZXJybyB0YW1iw6ltXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwOQorbXNnaWQgIiAtUywgLS1zaXplIDxzaXplPiAgICAgICAgbWF4aW11bSBzaXplIGZvciBhIHNpbmdsZSBtZXNzYWdlXG4iCittc2dzdHIgIiAtUywgLS1zaXplIDx0YW1hbmhvPiAgICAgdGFtYW5obyBtw6F4aW1vIGRlIHVtYSDDum5pY2EgbWVuc2FnZW1cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEwCittc2dpZCAiIC10LCAtLXRhZyA8dGFnPiAgICAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorbXNnc3RyICIgLXQsIC0tdGFnIDx0YWc+ICAgICAgICAgIG1hcmNhIGNhZGEgbGluaGEgY29tIGVzdGEgdGFnXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMQorbXNnaWQgIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorbXNnc3RyICIgLW4sIC0tc2VydmVyIDxub21lPiAgICAgIGVzY3JldmUgcGFyYSBlc3RlIHNlcnZpZG9yIHN5c2xvZyByZW1vdG9cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEyCittc2dpZCAiIC1QLCAtLXBvcnQgPHBvcnQ+ICAgICAgICB1c2UgdGhpcyBwb3J0IGZvciBVRFAgb3IgVENQIGNvbm5lY3Rpb25cbiIKK21zZ3N0ciAiIC1QLCAtLXBvcnQgPHBvcnRhPiAgICAgICB1c2EgZXN0YSBwb3J0YSBwYXJhIGNvbmV4w6NvIFVEUCBvdSBUQ1BcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEzCittc2dpZCAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICB1c2UgVENQIG9ubHlcbiIKK21zZ3N0ciAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICB1c2EgYXBlbmFzIFRDUFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTQKK21zZ2lkICIgLWQsIC0tdWRwICAgICAgICAgICAgICAgIHVzZSBVRFAgb25seVxuIgorbXNnc3RyICIgLWQsIC0tdWRwICAgICAgICAgICAgICAgIHVzYSBhcGVuYXMgVURQXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNQorbXNnaWQgIiAgICAgLS1yZmMzMTY0ICAgICAgICAgICAgdXNlIHRoZSBvYnNvbGV0ZSBCU0Qgc3lzbG9nIHByb3RvY29sXG4iCittc2dzdHIgIiAgICAgLS1yZmMzMTY0ICAgICAgICAgICAgdXNhIG8gcHJvdG9jb2xvIG9ic29sZXRvIGRlIHN5c2xvZyBkbyBCU0RcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE2Cittc2dpZCAiIgorIiAgICAgLS1yZmM1NDI0Wz08c25pcD5dICAgdXNlIHRoZSBzeXNsb2cgcHJvdG9jb2wgKHRoZSBkZWZhdWx0IGZvciByZW1vdGUpO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c25pcD4gY2FuIGJlIG5vdGltZSwgb3Igbm90cSwgYW5kL29yIG5vaG9zdFxuIgorbXNnc3RyICIiCisiICAgICAtLXJmYzU0MjRbPTx0cmVjaG8+XSB1c2EgbyBwcm90b2NvbG8gc3lzbG9nIChwYWRyw6NvIHBhcmEgcmVtb3RvKTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyZWNobz4gcG9kZSBzZXIgbm90aW1lIG91IG5vdHEgZS9vdSBub2hvc3RcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE4Cittc2dpZCAiICAgICAtLXNkLWlkIDxpZD4gICAgICAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBJRFxuIgorbXNnc3RyICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIElEIGRlIGRhZG9zIGVzdHJ1dHVyYWRvcyByZmM1NDI0XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxOQorbXNnaWQgIiAgICAgLS1zZC1wYXJhbSA8ZGF0YT4gICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgbmFtZT12YWx1ZVxuIgorbXNnc3RyICIgICAgIC0tc2QtcGFyYW0gPGRhZG9zPiAgIG5vbWU9dmFsb3IgZGUgZGFkb3MgZXN0cnV0dXJhZG9zIHJmYzU0MjRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDIwCittc2dpZCAiICAgICAtLW1zZ2lkIDxtc2dpZD4gICAgICBzZXQgcmZjNTQyNCBtZXNzYWdlIGlkIGZpZWxkXG4iCittc2dzdHIgIiAgICAgLS1tc2dpZCA8bXNnaWQ+ICAgICAgZGVmaW5lIGNhbXBvIGlkIGRhIG1lbnNhZ2VtIGRlIHJmYzU0MjRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDIxCittc2dpZCAiIC11LCAtLXNvY2tldCA8c29ja2V0PiAgICB3cml0ZSB0byB0aGlzIFVuaXggc29ja2V0XG4iCittc2dzdHIgIiAtdSwgLS1zb2NrZXQgPHNvcXVldGU+ICAgZ3JhdmEgbmVzdGUgc29xdWV0ZSBVbml4XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMgorbXNnaWQgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50IGNvbm5lY3Rpb24gZXJyb3JzIHdoZW4gdXNpbmcgVW5peCBzb2NrZXRzXG4iCittc2dzdHIgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIG1vc3RyYSBlcnJvcyBkZSBjb25leMOjbyBhbyB1c2FyIHNvcXVldGUgVW5peFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjUKK21zZ2lkICIgICAgIC0tam91cm5hbGRbPTxmaWxlPl0gIHdyaXRlIGpvdXJuYWxkIGVudHJ5XG4iCittc2dzdHIgIiIKKyIgICAgIC0tam91cm5hbGRbPTxhcnF1aXZvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGVzY3JldmUgZW50cmFkYSBqb3VybmFsZFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZSAlcyIKK21zZ3N0ciAiYXJxdWl2byAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTI3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGlkIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBvIGlkIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNDUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWVzc2FnZSBzaXplIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBvIHRhbWFuaG8gZGEgbWVuc2FnZW0iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE4MAorbXNnaWQgIi0tbXNnaWQgY2Fubm90IGNvbnRhaW4gc3BhY2UiCittc2dzdHIgIi0tbXNnaWQgbsOjbyBwb2RlIHRlciBlc3Bhw6dvIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgSUQ6ICclcyciCittc2dzdHIgIklEIGRlIGRhZG9zIGVzdHJ1dHVyYWRvcyBpbnbDoWxpZG86IFwiJXNcIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjA3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc3RydWN0dXJlZCBkYXRhIHBhcmFtZXRlcjogJyVzJyIKK21zZ3N0ciAicGFyw6JtZXRybyBkZSBkYWRvcyBlc3RydXR1cmFkb3MgaW52w6FsaWRvOiBcIiVzXCIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIxOAorbXNnaWQgIi0tZmlsZSA8ZmlsZT4gYW5kIDxtZXNzYWdlPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLCBtZXNzYWdlIGlzIGlnbm9yZWQiCittc2dzdHIgIi0tZmlsZSA8YXJxdWl2bz4gZSA8bWVuc2FnZW0+IHPDo28gbXV0dWFtZW50ZSBleGNsdXNpdm9zLCBtZW5zYWdlbSDDqSBpZ25vcmFkYSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjI1Cittc2dpZCAiam91cm5hbGQgZW50cnkgY291bGQgbm90IGJlIHdyaXR0ZW4iCittc2dzdHIgImVudHJhZGEgZGUgam91cm5hbGQgbsOjbyBww7RkZSBzZXIgZ3JhdmFkYSIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHN0cmluZz4gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gPHRleHRvPiBbPGFycXVpdm8+Li4uXVxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNTgKK21zZ2lkICJEaXNwbGF5IGxpbmVzIGJlZ2lubmluZyB3aXRoIGEgc3BlY2lmaWVkIHN0cmluZy5cbiIKK21zZ3N0ciAiRXhpYmUgbGluaGFzIGluaWNpYW5kbyBjb20gdW0gdGV4dG8gZXNwZWNpZmljYWRvLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjEKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgIHVzZSB0aGUgYWx0ZXJuYXRpdmUgZGljdGlvbmFyeVxuIgorbXNnc3RyICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgIHVzYSBvIGRpY2lvbsOhcmlvIGFsdGVybmF0aXZvXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MgorbXNnaWQgIiAtZCwgLS1hbHBoYW51bSAgICAgICAgICAgY29tcGFyZSBvbmx5IGJsYW5rcyBhbmQgYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBjb21wYXJhIGFwZW5hcyB2YXppb3MgZSBjYXJhY3RlcmVzIGFsZmFudW3DqXJpY29zXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MworbXNnaWQgIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIKK21zZ3N0ciAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBuw6NvIGRpZmVyZW5jaWEgbWFpw7pzY3Vsby9taW7DunNjdWxvIG5hIGNvbXBhcmHDp8Ojb1xuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjQKK21zZ2lkICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiAgIGRlZmluZSB0aGUgc3RyaW5nLXRlcm1pbmF0aW9uIGNoYXJhY3RlclxuIgorbXNnc3RyICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiAgIGRlZmluZSBvIGNhcmFjdGVyZSBkZSB0ZXJtaW5hw6fDo28gZGUgdGV4dG9cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NworbXNnaWQgImRldmljZSBuYW1lIgorbXNnc3RyICJub21lIGRvIGRpc3Bvc2l0aXZvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU4Cittc2dpZCAiaW50ZXJuYWwga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICJub21lIGludGVybm8gZG8gZGlzcG9zaXRpdm8gZGUga2VybmVsIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU5Cittc2dpZCAiaW50ZXJuYWwgcGFyZW50IGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibm9tZSBpbnRlcm5vIGRvIHBhaSBkbyBkaXNwb3NpdGl2byBkZSBrZXJuZWwiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIgc3lzLXV0aWxzL3pyYW1jdGwuYzo4NAorbXNnaWQgIndoZXJlIHRoZSBkZXZpY2UgaXMgbW91bnRlZCIKK21zZ3N0ciAib25kZSBvIGRpc3Bvc2l0aXZvIGVzdMOhIG1vbnRhZG8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMKK21zZ2lkICJmaWxlc3lzdGVtIExBQkVMIgorbXNnc3RyICJMQUJFTCBkbyBzaXN0ZW1hIGRlIGFycXVpdm9zIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2Cittc2dpZCAicGFydGl0aW9uIHR5cGUgVVVJRCIKK21zZ3N0ciAiVVVJRCBkbyB0aXBvIGRlIHBhcnRpw6fDo28iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjcKK21zZ2lkICJwYXJ0aXRpb24gTEFCRUwiCittc2dzdHIgIkxBQkVMIGRhIHBhcnRpw6fDo28iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzEKK21zZ2lkICJyZWFkLWFoZWFkIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgInJlYWQtYWhlYWQgZG8gZGlzcG9zaXRpdm8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzIgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NQorbXNnaWQgInJlYWQtb25seSBkZXZpY2UiCittc2dzdHIgImRpc3Bvc2l0aXZvIHNvbWVudGUgbGVpdHVyYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MworbXNnaWQgInJlbW92YWJsZSBkZXZpY2UiCittc2dzdHIgImRpc3Bvc2l0aXZvIHJlbW92w612ZWwiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzQKK21zZ2lkICJyZW1vdmFibGUgb3IgaG90cGx1ZyBkZXZpY2UgKHVzYiwgcGNtY2lhLCAuLi4pIgorbXNnc3RyICJkaXNwb3NpdGl2byByZW1vdsOtdmVsIG91IGhvdHBsdWcgKHVzYiwgcGNtY2lhLCAuLi4pIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc1Cittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgImRpc3Bvc2l0aXZvIHJvdGF0w7NyaW8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzYKK21zZ2lkICJhZGRzIHJhbmRvbW5lc3MiCittc2dzdHIgImFkaWNpb25hIGFsZWF0b3JpZWRhZGUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzcKK21zZ2lkICJkZXZpY2UgaWRlbnRpZmllciIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBkbyBkaXNwb3NpdGl2byIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OAorbXNnaWQgImRpc2sgc2VyaWFsIG51bWJlciIKK21zZ3N0ciAibsO6bWVybyBkZSBzZXJpYWwgZG8gZGlzY28iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzkKK21zZ2lkICJzaXplIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgInRhbWFuaG8gZG8gZGlzcG9zaXRpdm8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODAKK21zZ2lkICJzdGF0ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJlc3RhZG8gZG8gZGlzcG9zaXRpdm8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODIKK21zZ2lkICJncm91cCBuYW1lIgorbXNnc3RyICJub21lIGRvIGdydXBvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgzCittc2dpZCAiZGV2aWNlIG5vZGUgcGVybWlzc2lvbnMiCittc2dzdHIgInBlcm1pc3PDtWVzIGRvIG7DsyBkbyBkaXNwb3NpdGl2byIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NAorbXNnaWQgImFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgInBvc2nDp8OjbyBkZSBhbGluaGFtZW50byIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NQorbXNnaWQgIm1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgIm3DrW5pbW8gdGFtYW5obyBkYSBFL1MiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODYKK21zZ2lkICJvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICJ0YW1hbmhvIMOzdGltbyBkYSBFL1MiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODcKK21zZ2lkICJwaHlzaWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAidGFtYW5obyBmw61zaWNvIGRvIHNldG9yIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg4Cittc2dpZCAibG9naWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAidGFtYW5obyBsw7NnaWNvIGRvIHNldG9yIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5Cittc2dpZCAiSS9PIHNjaGVkdWxlciBuYW1lIgorbXNnc3RyICJub21lIGRvIGFnZW5kYWRvciBkZSBFL1MiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTAKK21zZ2lkICJyZXF1ZXN0IHF1ZXVlIHNpemUiCittc2dzdHIgInJlcXVpc2l0YSBvIHRhbWFuaG8gZGEgZmlsZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MQorbXNnaWQgImRldmljZSB0eXBlIgorbXNnc3RyICJ0aXBvIGRvIGRpc3Bvc2l0aXZvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkyCittc2dpZCAiZGlzY2FyZCBhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICJkZXNjYXJ0ZSBkYSBwb3Npw6fDo28gZGUgYWxpbmhhbWVudG8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMKK21zZ2lkICJkaXNjYXJkIGdyYW51bGFyaXR5IgorbXNnc3RyICJkZXNjYXJ0ZSBkZSBncmFudWxhcmlkYWRlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk0Cittc2dpZCAiZGlzY2FyZCBtYXggYnl0ZXMiCittc2dzdHIgImRlc2NhcnRlIGRlIG3DoXhpbW8gZGUgYnl0ZXMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTUKK21zZ2lkICJkaXNjYXJkIHplcm9lcyBkYXRhIgorbXNnc3RyICJkZXNjYXJ0ZSBkZSBkYWRvcyB6ZXJvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk2Cittc2dpZCAid3JpdGUgc2FtZSBtYXggYnl0ZXMiCittc2dzdHIgImVzY3JldmUgbyBtZXNtbyBtw6F4aW1vIGRlIGJ5dGVzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk3Cittc2dpZCAidW5pcXVlIHN0b3JhZ2UgaWRlbnRpZmllciIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciDDum5pY28gZGUgYXJtYXplbmFtZW50byIKKworIyBMVU4gPSBMb2dpY2FsIHVuaXQgbnVtYmVyCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk4Cittc2dpZCAiSG9zdDpDaGFubmVsOlRhcmdldDpMdW4gZm9yIFNDU0kiCittc2dzdHIgIkhvc3Q6Q2FuYWw6QWx2bzpMVU4gZGUgU0NTSSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OQorbXNnaWQgImRldmljZSB0cmFuc3BvcnQgdHlwZSIKK21zZ3N0ciAidGlwbyBkZSBkaXNwb3NpdGl2byBkZSB0cmFuc3BvcnRlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAwCittc2dpZCAiZGUtZHVwbGljYXRlZCBjaGFpbiBvZiBzdWJzeXN0ZW1zIgorbXNnc3RyICJkZS1kdXBsaWNhIGNhZGVpYSBkZSBzdWJzaXN0ZW1hcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMQorbXNnaWQgImRldmljZSByZXZpc2lvbiIKK21zZ3N0ciAicmV2aXPDo28gZG8gZGlzcG9zaXRpdm8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDIKK21zZ2lkICJkZXZpY2UgdmVuZG9yIgorbXNnc3RyICJmYWJyaWNhbnRlIGRvIGRpc3Bvc2l0aXZvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTI3NgorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRldmljZSBkaXJlY3RvcnkgaW4gc3lzZnMiCittc2dzdHIgImZhbGhhIGFvIGFicmlyIG8gZGlyZXTDs3JpbyBkbyBkaXNwb3NpdGl2byBubyBzeXNmcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjb21wb3NlIHN5c2ZzIHBhdGgiCittc2dzdHIgIiVzOiBmYWxoYSBhbyBjb21wb3IgbyBjYW1pbmhvIGRvIHN5c2ZzIgorCisjIG7Do28gw6kgVVJMLCBtYXMgc2VyaWEgdsOtbmN1bG8gdW1hIG1lbGhvciB0cmFkdcOnw6NvPworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIGxpbmsiCittc2dzdHIgIiVzOiBmYWxoYSBhbyBsZXIgbyBsaW5rIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIgorbXNnc3RyICIlczogZmFsaGEgYW8gb2J0ZXIgbyBub21lIG5vIHN5c2ZzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB3aG9sZS1kaXNrIGRldmljZSBudW1iZXIiCittc2dzdHIgIiVzOiBmYWxoYSBhbyBvYnRlciBuw7ptZXJvIGRlIGRpc3Bvc2l0aXZvIGRlIGRpc2NvIGludGVpcm8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTUxIG1pc2MtdXRpbHMvbHNibGsuYzoxNTUzIG1pc2MtdXRpbHMvbHNibGsuYzoxNTc4CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU4MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGlzdCAnJXMnIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBhIGxpc3RhIFwiJXNcIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgZXhjbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICJhIGxpc3RhIGRlIGRpc3Bvc2l0aXZvcyBleGNsdcOtZG9zIMOpIG11aXRvIGdyYW5kZSAobGltaXRlIMOpICVkIGRpc3Bvc2l0aXZvcykiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTg1CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGluY2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAiYSBsaXN0YSBkZSBkaXNwb3NpdGl2b3MgaW5jbHXDrWRvcyDDqSBtdWl0byBncmFuZGUgKGxpbWl0ZSDDqSAlZCBkaXNwb3NpdGl2b3MpIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxNiBzeXMtdXRpbHMvd2RjdGwuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIgorbXNnc3RyICIgJXMgW29ww6fDtWVzXSBbPGRpc3Bvc2l0aXZvPiAuLi5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjE5Cittc2dpZCAiTGlzdCBpbmZvcm1hdGlvbiBhYm91dCBibG9jayBkZXZpY2VzLlxuIgorbXNnc3RyICJMaXN0YSBpbmZvcm1hw6fDo28gc29icmUgZGlzcG9zaXRpdm9zIGRlIGJsb2NvLlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyMgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICBwcmludCBhbGwgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgZXhpYmUgdG9kb3Mgb3MgZGlzcG9zaXRpdm9zXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI0Cittc2dpZCAiIC1kLCAtLW5vZGVwcyAgICAgICAgIGRvbid0IHByaW50IHNsYXZlcyBvciBob2xkZXJzXG4iCittc2dzdHIgIiAtZCwgLS1ub2RlcHMgICAgICAgICBuw6NvIGV4aWJlIGRpc3Bvc2l0aXZvcyBlc2NyYXZvcyBvdSBtYW50ZW5lZG9yZXNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjUKK21zZ2lkICIgLUQsIC0tZGlzY2FyZCAgICAgICAgcHJpbnQgZGlzY2FyZCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIC1ELCAtLWRpc2NhcmQgICAgICAgIGV4aWJlIGFzIGNhcGFjaWRhZGVzIGRlIGRlc2NhcnRlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNgorbXNnaWQgIiAtZSwgLS1leGNsdWRlIDxsaXN0PiBleGNsdWRlIGRldmljZXMgYnkgbWFqb3IgbnVtYmVyIChkZWZhdWx0OiBSQU0gZGlza3MpXG4iCittc2dzdHIgIiIKKyIgLWUsIC0tZXhjbHVkZSA8bGlzdGE+XG4iCisiICAgICAgICAgICAgICAgICAgICAgIGV4Y2x1aSBkaXNwb3NpdGl2b3MgcGVsbyBuw7ptZXJvIG1haW9yXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAocGFkcsOjbzogZGlzY29zIFJBTSlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjcKK21zZ2lkICIgLWYsIC0tZnMgICAgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1mLCAtLWZzICAgICAgICAgICAgIGV4aWJlIGluZm9ybWHDp8OjbyBzb2JyZSBvcyBzaXN0ZW1hcyBkZSBhcnF1aXZvc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyOAorbXNnaWQgIiAtaSwgLS1hc2NpaSAgICAgICAgICB1c2UgYXNjaWkgY2hhcmFjdGVycyBvbmx5XG4iCittc2dzdHIgIiAtaSwgLS1hc2NpaSAgICAgICAgICB1c2EgYXBlbmFzIGNhcmFjdGVyZXMgYXNjaWlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjkKK21zZ2lkICIgLUksIC0taW5jbHVkZSA8bGlzdD4gc2hvdyBvbmx5IGRldmljZXMgd2l0aCBzcGVjaWZpZWQgbWFqb3IgbnVtYmVyc1xuIgorbXNnc3RyICIiCisiIC1JLCAtLWluY2x1ZGUgPGxpc3RhPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICBtb3N0cmEgYXBlbmFzIG9zIGRpc3Bvc2l0aXZvcyBjb20gbsO6bWVyb3MgbWFpb3Jlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgZXNwZWNpZmljYWRvc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMAorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICB1c2EgbyBmb3JtYXRvIGRlIHNhw61kYSBKU09OXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMxCittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgIHVzYSBzYcOtZGEgbm8gZm9ybWF0byBkZSBsaXN0YVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMgorbXNnaWQgIiAtbSwgLS1wZXJtcyAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIgLW0sIC0tcGVybXMgICAgICAgICAgZXhpYmUgaW5mb3JtYcOnw6NvIHNvYnJlIHBlcm1pc3PDtWVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMzCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICBuw6NvIGV4aWJlIG9zIGNhYmXDp2FsaG9zXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM0Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RhPiBtb3N0cmEgY29sdW5hc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNQorbXNnaWQgIiAtTywgLS1vdXRwdXQtYWxsICAgICBvdXRwdXQgYWxsIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1PLCAtLW91dHB1dC1hbGwgICAgIG1vc3RyYSB0b2RhcyBhcyBjb2x1bmFzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM2Cittc2dpZCAiIC1wLCAtLXBhdGhzICAgICAgICAgIHByaW50IGNvbXBsZXRlIGRldmljZSBwYXRoXG4iCittc2dzdHIgIiAtcCwgLS1wYXRocyAgICAgICAgICBleGliZSBvIGNhbWluaG8gY29tcGxldG8gZG8gZGlzcG9zaXRpdm9cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzkKK21zZ2lkICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKK21zZ3N0ciAiIC1zLCAtLWludmVyc2UgICAgICAgIGRlcGVuZMOqbmNpYXMgaW52ZXJzYXNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDAKK21zZ2lkICIgLVMsIC0tc2NzaSAgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgU0NTSSBkZXZpY2VzXG4iCittc2dzdHIgIiAtUywgLS1zY3NpICAgICAgICAgICBleGliZSBpbmZvcm1hw6fDo28gc29icmUgZGlzcG9zaXRpdm9zIFNDU0lcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDEKK21zZ2lkICIgLXQsIC0tdG9wb2xvZ3kgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgdG9wb2xvZ3lcbiIKK21zZ3N0ciAiIC10LCAtLXRvcG9sb2d5ICAgICAgIGV4aWJlIGluZm9ybWHDp8OjbyBzb2JyZSBhIHRvcG9sb2dpYVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MgorbXNnaWQgIiAteCwgLS1zb3J0IDxjb2x1bW4+ICBzb3J0IG91dHB1dCBieSA8Y29sdW1uPlxuIgorbXNnc3RyICIgLXgsIC0tc29ydCA8Y29sdW5hPiAgb3JkZW5hIGEgc2HDrWRhIHBvciA8Y29sdW5hPlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NyBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTkgc3lzLXV0aWxzL2xzbnMuYzo2MzIKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTk2IHN5cy11dGlscy96cmFtY3RsLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tb3V0cHV0KTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkNvbHVuYXMgZGlzcG9uw612ZWlzIChwYXJhIC0tb3V0cHV0KTpcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFjY2VzcyBzeXNmcyBkaXJlY3Rvcnk6ICVzIgorbXNnc3RyICJmYWxoYSBhbyBhY2Vzc2FyIGRpcmV0w7NyaW8gZG8gc3lzZnM6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3MworbXNnaWQgImNvbW1hbmQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAiY29tYW5kbyBkbyBwcm9jZXNzbyBtYW50ZW5kbyBhIHRyYXZhIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NAorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICJQSUQgZG8gcHJvY2Vzc28gbWFudGVuZG8gYSB0cmF2YSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzUKK21zZ2lkICJraW5kIG9mIGxvY2s6IEZMX0ZMT0NLIG9yIEZMX1BPU0lYLiIKK21zZ3N0ciAidGlwbyBkZSB0cmF2YTogRkxfRkxPQ0sgb3IgRkxfUE9TSVguIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NgorbXNnaWQgInNpemUgb2YgdGhlIGxvY2siCittc2dzdHIgInRhbWFuaG8gZGEgdHJhdmEiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc3Cittc2dpZCAibG9jayBhY2Nlc3MgbW9kZSIKK21zZ3N0ciAibW9kbyB0cmF2YSBkZSBhY2Vzc28iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc4Cittc2dpZCAibWFuZGF0b3J5IHN0YXRlIG9mIHRoZSBsb2NrOiAwIChub25lKSwgMSAoc2V0KSIKK21zZ3N0ciAiZXN0YWRvIG9icmlnYXTDs3JpbyBkYSB0cmF2YTogMCAobmVuaHVtYSksIDEgKGRlZmluaWRvKSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzkKK21zZ2lkICJyZWxhdGl2ZSBieXRlIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAicG9zacOnw6NvIHJlbGF0aXZhIGRlIGJ5dGUgZGEgdHJhdmEiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgwCittc2dpZCAiZW5kaW5nIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAicG9zacOnw6NvIGZpbmFsIGRhIHRyYXZhIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MQorbXNnaWQgInBhdGggb2YgdGhlIGxvY2tlZCBmaWxlIgorbXNnc3RyICJjYW1pbmhvIGRvIGFycXVpdm8gdHJhdmFkbyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODIKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgYmxvY2tpbmcgdGhlIGxvY2siCittc2dzdHIgIlBJRCBkbyBwcm9jZXNzbyBibG9xdWVhbmRvIGEgdHJhdmEiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI1OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJRCIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgbyBJRCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjgxIHN5cy11dGlscy9uc2VudGVyLmM6MjMyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBpZCIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgbyBwaWQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4NAorbXNnaWQgIih1bmtub3duKSIKK21zZ3N0ciAiKGRlc2NvbmhlY2lkYSkiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI5MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGFydCIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgbyBpbsOtY2lvIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozMDAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBvIGZpbmFsIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDQKK21zZ2lkICJMaXN0IGxvY2FsIHN5c3RlbSBsb2Nrcy5cbiIKK21zZ3N0ciAiTGlzdGEgdHJhdmFzIGRvIHNpc3RlbWEgbG9jYWwuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwOAorbXNnaWQgIiAtaSwgLS1ub2luYWNjZXNzaWJsZSAgIGlnbm9yZSBsb2NrcyB3aXRob3V0IHJlYWQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIC1pLCAtLW5vaW5hY2Nlc3NpYmxlICAgaWdub3JhIHRyYXZhcyBzZW0gcGVybWlzc8OjbyBkZSBsZWl0dXJhXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwOSBzeXMtdXRpbHMvbHNucy5jOjYyMQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIG7Do28gZXhpYmUgb3MgY2FiZcOnYWxob3NcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTEwIHN5cy11dGlscy9sc25zLmM6NjIyCittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0YT4gICBkZWZpbmUgcXVhaXMgY29sdW5hcyBkZSBzYcOtZGEgc2UgZGV2ZSB1c2FyXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMQorbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIGRpc3BsYXkgb25seSBsb2NrcyBoZWxkIGJ5IHRoaXMgcHJvY2Vzc1xuIgorbXNnc3RyICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBleGliZSBhcGVuYXMgdHJhdmFzIG1hbnRpZGFzIHBvciBlc3RlICBwcm9jZXNzb1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTIgc3lzLXV0aWxzL2xzbnMuYzo2MjQKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzYSBmb3JtYXRvIGRlIHNhw61kYSBuw6NvIHRyYXRhZG8gKHJhdylcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTcwIHNjaGVkdXRpbHMvY2hydC5jOjQ3OCBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTYzIHN5cy11dGlscy9sc25zLmM6Njk5IHN5cy11dGlscy9wcmxpbWl0LmM6NTg2Cittc2dpZCAiaW52YWxpZCBQSUQgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBpbnbDoWxpZG8gZGUgUElEIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4NQorbXNnaWQgIkdlbmVyYXRlIG1hZ2ljIGNvb2tpZXMgZm9yIHhhdXRoLlxuIgorbXNnc3RyICJHZXJhIGNvb2tpZXMgbcOhZ2ljb3MgcGFyYSB4YXV0aC5cbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODgKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgIHVzZSBmaWxlIGFzIGEgY29va2llIHNlZWRcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPGFycXVpdm8+ICB1c2EgbyBhcnF1aXZvIGNvbW8gdW1hIHNlbWVudGUgZG8gY29va2llXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg5Cittc2dpZCAiIC1tLCAtLW1heC1zaXplIDxudW0+ICBsaW1pdCBob3cgbXVjaCBpcyByZWFkIGZyb20gc2VlZCBmaWxlc1xuIgorbXNnc3RyICIgLW0sIC0tbWF4LXNpemUgPG7Dum0+ICBsaW1pdGEgcXVhbnRvIMOpIGxpZG8gZGUgYXJxdWl2b3Mgc2VtZW50ZVxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo5MAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICBleHBsaWNhIG8gcXVlIGVzdMOhIHNlbmRvIGZlaXRvXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJHb3QgJXp1IGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJXp1IGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAiT2J0aWRvICV6dSBieXRlIGRlICVzXG4iCittc2dzdHJbMV0gIk9idGlkb3MgJXp1IGJ5dGVzIGRlICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9zaW5nICVzIGZhaWxlZCIKK21zZ3N0ciAiZmVjaGFtZW50byBkZSAlcyBmYWxob3UiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE2NCBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE0NiBzeXMtdXRpbHMvZnN0cmltLmM6MzA4CisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGVuZ3RoIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBjb21wcmltZW50byIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTc3Cittc2dpZCAiLS1tYXgtc2l6ZSBpZ25vcmVkIHdoZW4gdXNlZCB3aXRob3V0IC0tZmlsZSIKK21zZ3N0ciAiLS1tYXgtc2l6ZSBpZ25vcmFkbyBxdWFuZG8gdXNhZG8gc2VtIC0tZmlsZSIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTg1CisjLCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlZCBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICVkIGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAiT2J0aWRvICVkIGJ5dGUgZGUgJXNcbiIKK21zZ3N0clsxXSAiT2J0aWRvICVkIGJ5dGVzIGRlICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzeW1saW5rOiAlcyIKK21zZ3N0ciAiZmFsaGEgYW8gbGVyIGxpbmsgc2ltYsOzbGljbzogJXMiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgLSBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5XG4iCittc2dzdHIgIiVzIC0gYXJxdWl2byBvdSBkaXJldMOzcmlvIGluZXhpc3RlbnRlXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGF0aG5hbWU+Li4uXG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIDxjYW1pbmhvcz4uLi5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzNgorbXNnaWQgIkZvbGxvdyBhIHBhdGhuYW1lIHVudGlsIGEgdGVybWluYWwgcG9pbnQgaXMgZm91bmQuXG4iCittc2dzdHIgIlNlZ3VlIHVtIGNhbWluaG8gYXTDqSB1bSBwb250byBkZSB0ZXJtaW5hw6fDo28gc2VyIGVuY29udHJhZG8uXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzkKK21zZ2lkICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheXMgdGhpcyBoZWxwIHRleHRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAteCwgLS1tb3VudHBvaW50cyAgIHNob3cgbW91bnQgcG9pbnQgZGlyZWN0b3JpZXMgd2l0aCBhICdEJ1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIHNob3cgdGhlIG1vZGUgYml0cyBvZiBlYWNoIGZpbGVcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBzaG93IG93bmVyIGFuZCBncm91cCBuYW1lIG9mIGVhY2ggZmlsZVxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIHVzZSBhIGxvbmcgbGlzdGluZyBmb3JtYXQgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICBkb24ndCBmb2xsb3cgc3ltbGlua3NcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICB2ZXJ0aWNhbCBhbGlnbiBvZiBtb2RlcyBhbmQgb3duZXJzXG4iCittc2dzdHIgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICBleGliZSBlc3RlIHRleHRvIGRlIGFqdWRhXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgZXhpYmUgaW5mb3JtYcOnw6NvIGRhIHZlcnPDo28gZSBzYWlcbiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICBtb3N0cmEgZGlyZXTDs3Jpb3MgZGUgcG9udG8gZGUgbW9udGFnZW0gY29tIHVtIFwiRFwiXG4iCisiIC1tLCAtLW1vZGVzICAgICAgICAgbW9zdHJhIG9zIGJpdHMgZGUgbW9kbyBkZSBjYWRhIGFycXVpdm9cbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBtb3N0cmEgbyBub21lIGRvIGRvbm8gZSBkbyBncnVwbyBkZSBjYWRhIGFycXVpdm9cbiIKKyIgLWwsIC0tbG9uZyAgICAgICAgICB1c2EgdW0gZm9ybWF0byBsb25nbyBkZSBsaXN0YWdlbSAoLW0gLW8gLXYpXG4iCisiIC1uLCAtLW5vc3ltbGlua3MgICAgbsOjbyBzZWd1ZSBsaW5rcyBzaW1iw7NsaWNvc1xuIgorIiAtdiwgLS12ZXJ0aWNhbCAgICAgIGFsaW5oYW1lbnRvIHZlcnRpY2FsIGRlIG1vZG9zIGUgZG9ub3NcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQwOAorbXNnaWQgInBhdGhuYW1lIGFyZ3VtZW50IGlzIG1pc3NpbmciCittc2dzdHIgImFyZ3VtZW50byBkZSBub21lIGRlIGNhbWluaG8gZXN0w6EgZmFsdGFuZG8iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTQgc3lzLXV0aWxzL2xzbnMuYzo3NjQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgVUlEIGNhY2hlIgorbXNnc3RyICJmYWxoYSBhbyBhbG9jYXIgY2FjaGUgZGUgVUlEIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE3Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdJRCBjYWNoZSIKK21zZ3N0ciAiZmFsaGEgYW8gYWxvY2FyIGNhY2hlIGRlIEdJRCIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhjZWVkZWQgbGltaXQgb2Ygc3ltbGlua3MiCittc2dzdHIgIiVzOiBleGNlZGlkbyBvIGxpbWl0ZSBkZSBsaW5rcyBzaW1iw7NsaWNvcyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAiJXM6IG7Do28gw6kgdW0gbGluayBzaW1iw7NsaWNvIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkbGluayBmYWlsZWQiCittc2dzdHIgIiVzOiByZWFkbGluayBmYWxob3UiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubGluayBmYWlsZWQiCittc2dzdHIgIiVzOiB1bmxpbmsgZmFsaG91IgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzeW1saW5raW5nIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGxpbmsgc2ltYsOzbGljbyBwYXJhICVzIGZhbGhvdSIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlbmFtZSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiByZW5vbWVhciBwYXJhICVzIGZhbGhvdSIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZXhwcmVzc2lvbj4gPHJlcGxhY2VtZW50PiA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gPGV4cHJlc3PDo28+IDxzdWJzdGl0dWnDp8Ojbz4gPGFycXVpdm8+Li4uXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTIyCittc2dpZCAiUmVuYW1lIGZpbGVzLlxuIgorbXNnc3RyICJSZW5vbWVpYSBhcnF1aXZvcy5cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICBleHBsaWNhIG8gcXVlIGVzdMOhIHNlbmRvIGZlaXRvXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTI2Cittc2dpZCAiIC1zLCAtLXN5bWxpbmsgICAgYWN0IG9uIHRoZSB0YXJnZXQgb2Ygc3ltbGlua3NcbiIKK21zZ3N0ciAiIC1zLCAtLXN5bWxpbmsgICAgYWdlIG5vIGFsdm8gZGUgbGlua3Mgc2ltYsOzbGljb3NcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcyCittc2dpZCAiQSBkYWVtb24gZm9yIGdlbmVyYXRpbmcgVVVJRHMuXG4iCittc2dzdHIgIlVtIGRhZW1vbiBwYXJhIGdlcmHDp8OjbyBkZSBVVUlEcy5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc0Cittc2dpZCAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIGNhbWluaG8gcGFyYSBvIGFycXVpdm8gcGlkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NQorbXNnaWQgIiAtcywgLS1zb2NrZXQgPHBhdGg+ICAgICBwYXRoIHRvIHNvY2tldFxuIgorbXNnc3RyICIgLXMsIC0tc29ja2V0IDxjYW1pbmhvPiAgY2FtaW5obyBkbyBzb3F1ZXRlXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NgorbXNnaWQgIiAtVCwgLS10aW1lb3V0IDxzZWM+ICAgICBzcGVjaWZ5IGluYWN0aXZpdHkgdGltZW91dFxuIgorbXNnc3RyICIgLXQsIC0tdGltZW91dCA8c2VnPiAgICAgZXNwZWNpZmljYSB0ZW1wbyBsaW1pdGUgZGUgaW5hdGl2aWRhZGVcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc3Cittc2dpZCAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGtpbGwgcnVubmluZyBkYWVtb25cbiIKK21zZ3N0ciAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIG1hdGEgdG9kb3Mgb3MgZGFlbW9uIGVtIGV4ZWN1w6fDo29cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc4Cittc2dpZCAiIC1yLCAtLXJhbmRvbSAgICAgICAgICAgIHRlc3QgcmFuZG9tLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiIC1yLCAtLXJhbmRvbSAgICAgICAgICAgIHRlc3RhIGdlcmHDp8OjbyBhbGVhdMOzcmlhXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3OQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICB0ZXN0IHRpbWUtYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgdGVzdGEgZ2VyYcOnw6NvIGJhc2VhZGEgZW0gdGVtcG9cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgwCittc2dpZCAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCittc2dzdHIgIiAtbiwgLS11dWlkcyA8bsO6bT4gICAgICAgcmVxdWlzaXRhIG7Dum1lcm8gZGUgdXVpZHNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgxCittc2dpZCAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKK21zZ3N0ciAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIG7Do28gY3JpYSBhcnF1aXZvIHBpZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODIKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorbXNnc3RyICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgbsOjbyBmYXogZGFlbW9uIHVzYW5kbyBmb3JrIGR1cGxvXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MworbXNnaWQgIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBkbyBub3QgY3JlYXRlIGxpc3RlbmluZyBzb2NrZXRcbiIKK21zZ3N0ciAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIG7Do28gY3JpYSBzb3F1ZXRlIGRlIGVzY3V0YVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODQKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCittc2dzdHIgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBleGVjdXRhIG5vIG1vZG8gZGUgZGVwdXJhw6fDo29cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjg1Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHR1cm4gb24gcXVpZXQgbW9kZVxuIgorbXNnc3RyICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgYXRpdmEgbyBtb2RvIHNpbGVuY2lvc29cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjExOAorbXNnaWQgImJhZCBhcmd1bWVudHMiCittc2dzdHIgImFyZ3VtZW50b3MgaW52w6FsaWRvcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEyNQorbXNnaWQgInNvY2tldCIKK21zZ3N0ciAic29xdWV0ZSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEzNgorbXNnaWQgImNvbm5lY3QiCittc2dzdHIgImNvbmVjdGFyIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTU2Cittc2dpZCAid3JpdGUiCittc2dzdHIgImdyYXZhciIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE2NAorbXNnaWQgInJlYWQgY291bnQiCittc2dzdHIgInF1YW50aWRhZGUgZGUgbGVpdHVyYSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE3MAorbXNnaWQgImJhZCByZXNwb25zZSBsZW5ndGgiCittc2dzdHIgImNvbXByaW1lbnRvIGRlIHJlc3Bvc3RhIGludsOhbGlkbyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIyMQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbG9jayAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIHRyYXZhciAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI0NgorbXNnaWQgImNvdWxkbid0IGNyZWF0ZSB1bml4IHN0cmVhbSBzb2NrZXQiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBjcmlhciB1bSBzb3F1ZXRlIHBhcmEgZmx1eG8gdW5peCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBiaW5kIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgdmluY3VsYXIgc29xdWV0ZSB1bml4ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mjk4Cittc2dpZCAicmVjZWl2aW5nIHNpZ25hbCBmYWlsZWQiCittc2dzdHIgInJlY2Vww6fDo28gZGUgc2luYWwgZmFsaG91IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzExCittc2dpZCAidGltZWQgb3V0IgorbXNnc3RyICJ0ZW1wbyBlc2dvdGFkbyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM0NSBzeXMtdXRpbHMvZmxvY2suYzoyNzEKK21zZ2lkICJjYW5ub3Qgc2V0IHVwIHRpbWVyIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgY29uZmlndXJhciBvIHRlbXBvcml6YWRvciIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICJ1dWlkZCBkYWVtb24gaXMgYWxyZWFkeSBydW5uaW5nIGF0IHBpZCAlcyIKK21zZ3N0ciAidW0gZGFlbW9uIGRlIHV1aWRkIGrDoSBlbSBleGVjdcOnw6NvIGNvbSBwaWQgJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgbGlzdGVuIG9uIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgb3V2aXIgbm8gc29xdWV0ZSB1bml4ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzcyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB0cnVuY2F0ZSBmaWxlOiAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIHRydWNhciBhcnF1aXZvOiAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4NgorbXNnaWQgInNkX2xpc3Rlbl9mZHMoKSBmYWlsZWQiCittc2dzdHIgInNkX2xpc3Rlbl9mZHMoKSBmYWxob3UiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODkKK21zZ2lkICJubyBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayBzeXN0ZW1jdGwgc3RhdHVzIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAibmVuaHVtIGRlc2NyaXRvciBkZSBhcnF1aXZvIHJlY2ViaWRvLCB2ZXJpZmlxdWUgc3lzdGVtY3RsIHN0YXR1cyB1dWlkZC5zb2NrZXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozOTIKK21zZ2lkICJ0b28gbWFueSBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayB1dWlkZC5zb2NrZXQiCittc2dzdHIgIm7Dum1lcm8gZXhjZXNzaXZvIGRlIGRlc2NyaXRvcmVzIGRlIGFycXVpdm8gcmVjZWJpZG9zLCB2ZXJpZmljYSB1dWlkZC5zb3F1ZXRlIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDIwIHRlcm0tdXRpbHMvc2NyaXB0LmM6NDU1Cittc2dpZCAicG9sbCBmYWlsZWQiCittc2dzdHIgInBvbGwgZmFsaG91IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDI1CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWVvdXQgWyVkIHNlY11cbiIKK21zZ3N0ciAidGVtcG8gbGltaXRlIFslZCBzZWd1bmRvc11cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0MyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQxNAorbXNnaWQgInJlYWQgZmFpbGVkIgorbXNnc3RyICJsZWl0dXJhIGZhbGhvdSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciByZWFkaW5nIGZyb20gY2xpZW50LCBsZW4gPSAlZCIKK21zZ3N0ciAiZXJybyBkZSBsZWl0dXJhIGRvIGNsaWVudGUsIGNvbXByaW1lbnRvID0gJWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkLCBpbmNvbWluZyBudW0gPSAlZFxuIgorbXNnc3RyICJvcGVyYcOnw6NvICVkLCBuw7ptZXJvIHJlY2ViaWRvID0gJWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ1NworIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAib3BlcmHDp8OjbyAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQ6ICVzXG4iCittc2dzdHIgIkdlcmFkbyB1bSBVVUlEIGRlIHRlbXBvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCByYW5kb20gVVVJRDogJXNcbiIKK21zZ3N0ciAiR2VyYWRvIHVtIFVVSUQgYWxlYXTDs3JpbzogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dzdHJbMF0gIkdlcmFkb3MgdW0gVVVJRCBkZSB0ZW1wbyAlcyBlICVkIHNlZ3VpbnRlXG4iCittc2dzdHJbMV0gIkdlcmFkb3MgdW0gVVVJRCBkZSB0ZW1wbyAlcyBlICVkIHNlZ3VpbnRlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCAlZCBVVUlEOlxuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgJWQgVVVJRHM6XG4iCittc2dzdHJbMF0gIkdlcmFkbyAlZCBVVUlEOlxuIgorbXNnc3RyWzFdICJHZXJhZG9zICVkIFVVSURzOlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgb3BlcmF0aW9uICVkXG4iCittc2dzdHIgIk9wZXJhw6fDo28gaW52w6FsaWRhOiAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgcmVwbHkgbGVuZ3RoIGZyb20gc2VydmVyICVkIgorbXNnc3RyICJDb21wcmltZW50byBkZSByZXNwb3N0YSBpbmVzcGVyYWRvIGRvIHNlcnZpZG9yICVkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjAwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdXVpZHMiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIC0tdXVpZHMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MTcKK21zZ2lkICJ1dWlkZCBoYXMgYmVlbiBidWlsdCB3aXRob3V0IHN1cHBvcnQgZm9yIHNvY2tldCBhY3RpdmF0aW9uIgorbXNnc3RyICJ1dWlkZCBmb2kgY29uc3RydcOtZG8gc2VtIHN1cG9ydGUgYSBhdGl2YcOnw6NvIGRlIHNvcXVldGUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MzYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10aW1lb3V0IgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciAtLXRpbWVvdXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NTMKK21zZ2lkICJCb3RoIC0tc29ja2V0LWFjdGl2YXRpb24gYW5kIC0tc29ja2V0IHNwZWNpZmllZC4gSWdub3JpbmcgLS1zb2NrZXQuIgorbXNnc3RyICJFc3BlY2lmaWNhZG9zIHRhbnRvIC0tc29ja2V0LWFjdGl2YXRpb24gcXVhbnRvIC0tc29ja2V0LiBJZ25vcmFuZG8gLS1zb2NrZXQuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYwIG1pc2MtdXRpbHMvdXVpZGQuYzo2ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2FsbGluZyB1dWlkZCBkYWVtb24gKCVzKSIKK21zZ3N0ciAiZXJybyBuYSBjaGFtYWRhIGRvIGRhZW1vbiB1dWlkZCAoJXMpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYxIG1pc2MtdXRpbHMvdXVpZGQuYzo2ODkKK21zZ2lkICJ1bmV4cGVjdGVkIGVycm9yIgorbXNnc3RyICJlcnJvIGluZXNwZXJhZG8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRFxuIgorbXNnaWRfcGx1cmFsICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEc1xuIgorbXNnc3RyWzBdICIlcyBlICVkIFVVSUQgc3Vic2VxdWVudGVcbiIKK21zZ3N0clsxXSAiJXMgZSAlZCBVVUlEcyBzdWJzZXF1ZW50ZXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY3MworIywgYy1mb3JtYXQKK21zZ2lkICJMaXN0IG9mIFVVSURzOlxuIgorbXNnc3RyICJMaXN0YSBkZSBVVUlEczpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBraWxsIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbWF0YXIgbyB1dWlkZCBlbSBleGVjdcOnw6NvIG5vIHBpZCAlZCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcxMAorIywgYy1mb3JtYXQKK21zZ2lkICJLaWxsZWQgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQuXG4iCittc2dzdHIgIk1hdG91IG8gdXVpZGQgZXhlY3V0YW5kbyBzb2IgcGlkICVkLlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyOAorbXNnaWQgIkNyZWF0ZSBhIG5ldyBVVUlEIHZhbHVlLlxuIgorbXNnc3RyICJDcmlhIHVtIG5vdm8gdmFsb3IgZGUgVVVJRC5cbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzEKK21zZ2lkICIiCisiIC1yLCAtLXJhbmRvbSAgICAgZ2VuZXJhdGUgcmFuZG9tLWJhc2VkIHV1aWRcbiIKKyIgLXQsIC0tdGltZSAgICAgICBnZW5lcmF0ZSB0aW1lLWJhc2VkIHV1aWRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyIgLXIsIC0tcmFuZG9tICAgICBnZXJhIHVtIHV1aWQgYmFzZWFkbyBlbSBhbGVhdG9yaWVkYWRlXG4iCisiIC10LCAtLXRpbWUgICAgICAgZ2VyYSB1bSB1dWlkIGJhc2VhZG8gZW0gdGVtcG9cbiIKKyIgLVYsIC0tdmVyc2lvbiAgICBleGliZSBpbmZvcm1hw6fDo28gZGUgdmVyc8OjbyBlIHNhaVxuIgorIiAtaCwgLS1oZWxwICAgICAgIGV4aWJlIGVzdGEgYWp1ZGEgZSBzYWlcbiIKKyJcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1CTVMgPGRpcj4uLi4gLWZdIDxuYW1lPlxuIgorbXNnc3RyICIgJXMgW29ww6fDtWVzXSBbLUJNUyA8ZGlyPi4uLiAtZl0gPG5vbWU+XG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5MgorbXNnaWQgIkxvY2F0ZSB0aGUgYmluYXJ5LCBzb3VyY2UsIGFuZCBtYW51YWwtcGFnZSBmaWxlcyBmb3IgYSBjb21tYW5kLlxuIgorbXNnc3RyICJMb2NhbGl6YSBvcyBhcnF1aXZvcyBkZSBww6FnaW5hIGRlIG1hbnVhbCwgZm9udGUgZSBleGVjdXTDoXZlaXMgZGUgdW0gY29tYW5kby5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk1Cittc2dpZCAiIC1iICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIGJpbmFyaWVzXG4iCittc2dzdHIgIiAtYiAgICAgICAgIHBlc3F1aXNhIGFwZW5hcyBwb3IgZXhlY3V0w6F2ZWlzXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5NgorbXNnaWQgIiAtQiA8ZGlycz4gIGRlZmluZSBiaW5hcmllcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLUIgPGRpcnM+ICBkZWZpbmUgbyBjYW1pbmhvIGRlIHByb2N1cmEgcG9yIGV4ZWN1dMOhdmVpc1xuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTcKK21zZ2lkICIgLW0gICAgICAgICBzZWFyY2ggb25seSBmb3IgbWFudWFscyBhbmQgaW5mb3NcbiIKK21zZ3N0ciAiIC1tICAgICAgICAgcGVzcXVpc2EgYXBlbmFzIHBvciBtYW51YWlzIGUgaW5mb3NcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk4Cittc2dpZCAiIC1NIDxkaXJzPiAgZGVmaW5lIG1hbiBhbmQgaW5mbyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLU0gPGRpcnM+ICBkZWZpbmUgbyBjYW1pbmhvIGRlIHByb2N1cmEgcG9yIHDDoWdpbmFzIG1hbiBlIGluZm9cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk5Cittc2dpZCAiIC1zICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIHNvdXJjZXNcbiIKK21zZ3N0ciAiIC1zICAgICAgICAgcGVzcXVpc2EgYXBlbmFzIHBvciBmb250ZXNcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAwCittc2dpZCAiIC1TIDxkaXJzPiAgZGVmaW5lIHNvdXJjZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIC1TIDxkaXJzPiAgZGVmaW5lIG8gY2FtaW5obyBkZSBwcm9jdXJhIHBvciBmb250ZXNcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAxCittc2dpZCAiIC1mICAgICAgICAgdGVybWluYXRlIDxkaXJzPiBhcmd1bWVudCBsaXN0XG4iCittc2dzdHIgIiAtZiAgICAgICAgIHRlcm1pbmEgYSBsaXN0YSBkZSBhcmd1bWVudG9zIGRlIDxkaXJzPlxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDIKK21zZ2lkICIgLXUgICAgICAgICBzZWFyY2ggZm9yIHVudXN1YWwgZW50cmllc1xuIgorbXNnc3RyICIgLXUgICAgICAgICBwZXNxdWlzYSBwb3IgZW50cmFkYXMgaW5jb211bnNcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAzCittc2dpZCAiIC1sICAgICAgICAgb3V0cHV0IGVmZmVjdGl2ZSBsb29rdXAgcGF0aHNcbiIKK21zZ3N0ciAiIC1sICAgICAgICAgZXhpYmUgb3MgY2FtaW5ob3MgZWZldGl2b3MgZGUgcHJvY3VyYVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzo2MTkKK21zZ2lkICJvcHRpb24gLWYgaXMgbWlzc2luZyIKK21zZ3N0ciAiYSBvcMOnw6NvIC1mIGVzdMOhIGZhbHRhbmRvIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjE5NgorbXNnaWQgInBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidGFiZWxhIGRlIHBhcnRpw6fDo28iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogcHJvYmluZyBpbml0aWFsaXphdGlvbiBmYWlsZWQiCittc2dzdHIgImVycm86ICVzOiBpbmljaWFsaXphw6fDo28gZGEgZGV0ZWPDp8OjbyBmYWxob3UiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZXJhc2UgJXMgbWFnaWMgc3RyaW5nIGF0IG9mZnNldCAweCUwOGp4IgorbXNnc3RyICIlczogZmFsaGEgYW8gYXBhZ2FyIG8gdGV4dG8gbcOhZ2ljbyAlcyBuYSBwb3Npw6fDo28gMHglMDhqeCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICV6ZCBieXRlIHdhcyBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnaWRfcGx1cmFsICIlczogJXpkIGJ5dGVzIHdlcmUgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIKK21zZ3N0clswXSAiJXM6ICV6ZCBieXRlIGZvaSBhcGFnYWRhIG5hIHBvc2nDp8OjbyAweCUwOGp4ICglcyk6ICIKK21zZ3N0clsxXSAiJXM6ICV6ZCBieXRlcyBmb3JhbSBhcGFnYWRvcyBuYSBwb3Npw6fDo28gMHglMDhqeCAoJXMpOiAiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIGNyaWFyIHVtYSBhc3NpbmF0dXJhIGJhY2t1cCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbGxpbmcgaW9jdGwgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGU6ICVtXG4iCittc2dzdHIgIiVzOiBjaGFtYW5kbyBpb2N0bCBwYXJhIHJlbGVyIHRhYmVsYSBkZSBwYXJ0acOnw6NvOiAlbVxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjM4NQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgImZhbGhhIGFvIGNyaWFyIHVtYSBhc3NpbmF0dXJhIGJhY2t1cCwgJEhPTUUgaW5kZWZpbmlkYSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlnbm9yaW5nIG5lc3RlZCBcIiVzXCIgcGFydGl0aW9uIHRhYmxlIG9uIG5vbi13aG9sZSBkaXNrIGRldmljZSIKK21zZ3N0ciAiJXM6IGlnbm9yYXIgdGFiZWxhIGRlIHBhcnRpw6fDo28gXCIlc1wiIGFuaW5oYWRhIGVtIHVtIGRpc3Bvc2l0aXZvIGRlIGRpc2NvIG7Do28taW50ZWlybyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAweCVqeCBub3QgZm91bmQiCittc2dzdHIgIiVzOiBwb3Npw6fDo28gMHglanggbsOjbyBlbmNvbnRyYWRhIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQzNQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBvcHRpb24gdG8gZm9yY2UgZXJhc2UuIgorbXNnc3RyICJVc2UgYSBvcMOnw6NvIC0tZm9yY2UgcGFyYSBmb3LDp2FyIGFwYWdhbWVudG8uIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1OQorbXNnaWQgIldpcGUgc2lnbmF0dXJlcyBmcm9tIGEgZGV2aWNlLlxuIgorbXNnc3RyICJBcGFnYSBhc3NpbmF0dXJhcyBkZSB1bSBkaXNwb3NpdGl2by5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0NjIKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpXG4iCisiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgIGZvcmNlIGVyYXN1cmVcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCisiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGxcbiIKKyIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgdG8gZXJhc2UsIGluIGJ5dGVzXG4iCisiIC1wLCAtLXBhcnNhYmxlICAgICAgcHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdFxuIgorIiAtcSwgLS1xdWlldCAgICAgICAgIHN1cHByZXNzIG91dHB1dCBtZXNzYWdlc1xuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSwgUkFJRHMgb3IgcGFydGl0aW9uIHRhYmxlc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICBhcGFnYSB0b2RvcyBvcyB0ZXh0b3MgbcOhZ2ljb3MgKFRFTkhBIENVSURBRE8hKVxuIgorIiAtYiwgLS1iYWNrdXAgICAgICAgIGNyaWEgdW1hIGFzc2luYXR1cmEgYmFja3VwIGVtICRIT01FXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgZm9yw6dhIG8gYXBhZ2FtZW50b1xuIgorIiAtaCwgLS1oZWxwICAgICAgICAgIG1vc3RyYSBlc3NlIHRleHRvIGRlIGFqdWRhXG4iCisiIC1uLCAtLW5vLWFjdCAgICAgICAgZmF6IHR1ZG8sIGV4Y2V0byBhIHJlYWwgY2hhbWFkYSBkZSB3cml0ZSgpXG4iCisiIC1vLCAtLW9mZnNldCA8bsO6bT4gIHBvc2nDp8OjbyBwYXJhIGFwYWdhciwgZW0gYnl0ZXNcbiIKKyIgLXAsIC0tcGFyc2FibGUgICAgICBleGliZSBlbSBmb3JtYXRvIGFuYWxpc8OhdmVsIGFvIGludsOpcyBkZSBpbXByaW3DrXZlbFxuIgorIiAtcSwgLS1xdWlldCAgICAgICAgIHN1cHJpbWUgYXMgbWVuc2FnZW5zIGRlIHNhw61kYVxuIgorIiAtdCwgLS10eXBlcyA8bGlzdGE+IGxpbWl0YSBvIGNvbmp1bnRvIGRlIHNpc3RlbWFzIGRlIGFycXVpdm9zLCBSQUlEcyBvdVxuIgorIiAgICAgICAgICAgICAgICAgICAgIHRhYmVsYXMgZGUgcGFydGnDp8Ojb1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIGV4aWJlIGluZm9ybWHDp8OjbyBkZSB2ZXJzw6NvIGUgc2FpXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTMzCittc2dpZCAiaW52YWxpZCBvZmZzZXQgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBpbnbDoWxpZG8gZGUgcG9zacOnw6NvIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU1OAorbXNnaWQgIlRoZSAtLWJhY2t1cCBvcHRpb24gaXMgbWVhbmluZ2xlc3MgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICJBIG9ww6fDo28gLS1iYWNrdXAgbsOjbyB0ZW0gc2VudGlkbyBuZXN0ZSBjb250ZXh0byIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM1Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlYWwtdGltZSBzY2hlZHVsaW5nIGF0dHJpYnV0ZXMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICJNb3N0cmEgb3UgYWx0ZXJhIG9zIGF0cmlidXRvcyBkZSB0ZW1wby1yZWFsIGRlIGFnZW5kYW1lbnRvIGRlIHVtIHByb2Nlc3NvLlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzcKK21zZ2lkICIiCisiU2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gPHByaW9yaXR5PiA8Y29tbWFuZD4gWzxhcmc+Li4uXVxuIgorIiBjaHJ0IFtvcHRpb25zXSAtLXBpZCA8cHJpb3JpdHk+IDxwaWQ+XG4iCittc2dzdHIgIiIKKyJDb25maWd1cmEgcG9sw610aWNhOlxuIgorIiAgY2hydCBbb3DDp8O1ZXNdIDxwcmlvcmlkYWRlPiA8Y29tYW5kbz4gWzxhcmc+Li5dXG4iCisiICBjaHJ0IFtvcMOnw7Vlc10gLS1waWQgPHByaW9yaWRhZGU+IDxwaWQ+XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0MQorbXNnaWQgIiIKKyJHZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSAtcCA8cGlkPlxuIgorbXNnc3RyICIiCisiT2J0ZXIgcG9sw610aWNhOlxuIgorIiBjaHJ0IFtvcMOnw7Vlc10gLXAgPHBpZD5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ1Cittc2dpZCAiUG9saWN5IG9wdGlvbnM6XG4iCittc2dzdHIgIk9ww6fDtWVzIGRlIHBvbMOtdGljYTpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ2Cittc2dpZCAiIC1iLCAtLWJhdGNoICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfQkFUQ0hcbiIKK21zZ3N0ciAiIC1iLCAtLWJhdGNoICAgICAgICAgIGRlZmluZSBhIHBvbMOtdGljYSBwYXJhIFNDSEVEX0JBVENIXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NworbXNnaWQgIiAtZCwgLS1kZWFkbGluZSAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0RFQURMSU5FXG4iCittc2dzdHIgIiAtZCwgLS1kZWFkbGluZSAgICAgICBkZWZpbmUgYSBwb2zDrXRpY2EgcGFyYSBTQ0hFRF9ERUFETElORVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDgKK21zZ2lkICIgLWYsIC0tZmlmbyAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9GSUZPXG4iCittc2dzdHIgIiAtZiwgLS1maWZvICAgICAgICAgICBkZWZpbmUgYSBwb2zDrXRpY2EgcGFyYSBTQ0hFRF9GSUZPXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OQorbXNnaWQgIiAtaSwgLS1pZGxlICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKK21zZ3N0ciAiIC1uaSwgLS1pZGxlICAgICAgICAgIGRlZmluZSBhIHBvbMOtdGljYSBwYXJhIFNDSEVEX0lETEVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUwCittc2dpZCAiIC1vLCAtLW90aGVyICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIKK21zZ3N0ciAiIC1vLCAtLW90aGVyICAgICAgICAgIGRlZmluZSBhIHBvbMOtdGljYSBwYXJhIFNDSEVEX09USEVSXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MQorbXNnaWQgIiAtciwgLS1yciAgICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX1JSIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXIsIC0tcnIgICAgICAgICAgICAgZGVmaW5lIGEgcG9sw610aWNhIHBhcmEgU0NIRURfUlIgKHBhZHLDo28pXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NAorbXNnaWQgIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAiT3DDp8O1ZXMgZGUgYWdlbmRhbWVudG86XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NQorbXNnaWQgIiAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgIHNldCBTQ0hFRF9SRVNFVF9PTl9GT1JLIGZvciBGSUZPIG9yIFJSXG4iCittc2dzdHIgIiAtUiB8IC0tcmVzZXQtb24tZm9yayAgICAgIGRlZmluZSBTQ0hFRF9SRVNFVF9PTl9GT1JLIHBhcmEgRklGTyBvdSBSUlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTYKK21zZ2lkICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBydW50aW1lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAgcGFyw6JtZXRybyBkZSB0ZW1wbyByZWFsIHBhcmEgREVBRExJTkVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU3Cittc2dpZCAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICBwYXLDom1ldHJvIGRlIHBlcsOtb2RvIHBhcmEgREVBRExJTkVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU4Cittc2dpZCAiIC1ELCAtLXNjaGVkLWRlYWRsaW5lIDxucz4gZGVhZGxpbmUgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBwYXLDom1ldHJvIGRlIHByYXpvIHBhcmEgREVBRExJTkVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYxCittc2dpZCAiT3RoZXIgb3B0aW9uczpcbiIKK21zZ3N0ciAiT3DDp8O1ZXMgZGUgXCJvdGhlclwiOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjIKK21zZ2lkICIgLWEsIC0tYWxsLXRhc2tzICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbC10YXNrcyAgICAgIG9wZXJhIGVtIHRvZGFzIGFzIHRhcmVmYXMgKHRocmVhZHMpIHBhcmEgbyBwaWQgZGFkb1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjMKK21zZ2lkICIgLW0sIC0tbWF4ICAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCittc2dzdHIgIiAtbSwgLS1tYXggICAgICAgICAgICAgbW9zdHJhIG3DrW4gZSBtw6F4IHByaW9yaWRhZGVzIHbDoWxpZGFzXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NAorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAgICAgb3BlcmEgbm9zIHBpZCBleGlzdGVudGVzIGZvcm5lY2lkb3NcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICBleGliZSBpbmZvcm1hw6fDo28gZG8gc3RhdHVzXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjIzMiBzY2hlZHV0aWxzL2NocnQuYzoyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgImZhbGhhIGFvIG9idGVyIGEgcG9sw610aWNhIGRvIHBpZCAlZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYXR0cmlidXRlcyIKK21zZ3N0ciAiZmFsaGEgYW8gb2J0ZXIgYXRyaWJ1dG9zIGRvIHBpZCAlZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY3CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgIm5vdmEgcG9sw610aWNhIGRlIGFnZW5kYW1lbnRvIGRvIHBpZCAlZDogJXMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAiYXR1YWwgcG9sw610aWNhIGRlIGFnZW5kYW1lbnRvIGRvIHBpZCAlZDogJXMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAibm92YSBwcmlvcmlkYWRlIGRlIGFnZW5kYW1lbnRvIGRvIHBpZCAlZDogJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAiYXR1YWwgcHJpb3JpZGFkZSBkZSBhZ2VuZGFtZW50byBkbyBwaWQgJWQ6ICVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAibm92b3MgcGFyw6JtZXRyb3MgZGUgdGVtcG8gcmVhbC9wcmF6by9wZXLDrW9kbyBkbyBwaWQgJWQ6ICVqdS8lanUvJWp1XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgImF0dWFpcyBwYXLDom1ldHJvcyBkZSB0ZW1wbyByZWFsL3ByYXpvL3BlcsOtb2RvIGRvIHBpZCAlZDogJWp1LyVqdS8lanVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzAwIHNjaGVkdXRpbHMvY2hydC5jOjM5NgorbXNnaWQgImNhbm5vdCBvYnRhaW4gdGhlIGxpc3Qgb2YgdGFza3MiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBvYnRlciBhIGxpc3RhIGRlIHRhcmVmYXMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBtaW4vbWF4IHByaW9yaXR5XHQ6ICVkLyVkXG4iCittc2dzdHIgInByaW9yaWRhZGUgbcOtbi9tw6F4IGRlICVzXHQ6ICVkLyVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3Qgc3VwcG9ydGVkP1xuIgorbXNnc3RyICJzZW0gc3Vwb3J0ZSBhICVzP1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aWQgJWQncyBwb2xpY3kiCittc2dzdHIgImZhbGhhIGFvIGNvbmZpZ3VyYXIgcG9sw610aWNhIGRvIHRpZCAlZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJmYWxoYSBhbyBjb25maWd1cmFyIGEgcG9sw610aWNhIGRvIHBpZCAlZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDg3Cittc2dpZCAiaW52YWxpZCBydW50aW1lIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIHRlbXBvIHJlYWwiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ5MAorbXNnaWQgImludmFsaWQgcGVyaW9kIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIHBlcsOtb2RvIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTMKK21zZ2lkICJpbnZhbGlkIGRlYWRsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIHByYXpvIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MTcKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5IGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIHByaW9yaWRhZGUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyMQorbXNnaWQgIi0tcmVzZXQtb24tZm9yayBvcHRpb24gaXMgc3VwcG9ydGVkIGZvciBTQ0hFRF9GSUZPIGFuZCBTQ0hFRF9SUiBwb2xpY2llcyBvbmx5IgorbXNnc3RyICJow6Egc3Vwb3J0ZSDDoCBvcMOnw6NvIC0tcmVzZXQtb24tZm9yayBwYXJhIGFwZW5hcyBhcyBwb2zDrXRpY2FzIFNDSEVEX0ZJRk8gZSBTQ0hFRF9SUiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTI2Cittc2dpZCAiLS1zY2hlZC17cnVudGltZSxkZWFkbGluZSxwZXJpb2R9IG9wdGlvbnMgYXJlIHN1cHBvcnRlZCBmb3IgU0NIRURfREVBRExJTkUgb25seSIKK21zZ3N0ciAiaMOhIHN1cG9ydGUgw6BzIG9ww6fDtWVzIC0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBwYXJhIGFwZW5hcyBTQ0hFRF9ERUFETElORSIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQxCittc2dpZCAiU0NIRURfREVBRExJTkUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIlNlbSBzdXBvcnRlIGEgU0NIRURfREVBRExJTkUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcmlvcml0eSB2YWx1ZSBmb3IgdGhlIHBvbGljeTogJWQ6IHNlZSAtLW1heCBmb3IgdmFsaWQgcmFuZ2UiCittc2dzdHIgInZhbG9yIGRlIHByaW9yaWRhZGUgc2VtIHN1cG9ydGUgcGFyYSBhIHBvbMOtdGljYTogJWQ6IHZlamEgLS1tYXggcGFyYSBpbnRlcnZhbG8gdsOhbGlkbyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo3NgorbXNnaWQgImlvcHJpb19nZXQgZmFpbGVkIgorbXNnc3RyICJpb3ByaW9fZ2V0IGZhbGhvdSIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcHJpbyAlbHVcbiIKK21zZ3N0ciAiJXM6IHByaW9yaWRhZGUgJWx1XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6OTgKK21zZ2lkICJpb3ByaW9fc2V0IGZhaWxlZCIKK21zZ3N0ciAiaW9wcmlvX3NldCBmYWxob3UiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXAgPHBpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC11IDx1aWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisiICUxJHMgW29ww6fDtWVzXSAtcCA8cGlkPi4uLlxuIgorIiAlMSRzIFtvcMOnw7Vlc10gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW29ww6fDtWVzXSAtdSA8dWlkPi4uLlxuIgorIiAlMSRzIFtvcMOnw7Vlc10gPGNvbWFuZG8+XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTEwCittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIEkvTy1zY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKyJNb3N0cmEgb3UgYWx0ZXJhIGEgY2xhc3NlIGUgYSBwcmlvcmlkYWRlIGRlIGFnZW5kYW1lbnRvIGRlIEUvUyBkZSB1bSBwcm9jZXNzby5cbiIKKyJcbiIKKyJEZWZpbmUgb3Ugb2J0w6ltIGEgY2xhc3NlIGRlIGFnZW5kYW1lbnRvIGRlIEUvUyBlIHByaW9yaWRhZGUgZGUgcHJvY2Vzc29zLlxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExMworbXNnaWQgIiIKKyIgLWMsIC0tY2xhc3MgPGNsYXNzPiAgICBuYW1lIG9yIG51bWJlciBvZiBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCittc2dzdHIgIiIKKyIgLWMsIC0tY2xhc3MgPGNsYXNzZT4gICBub21lIG91IG7Dum1lcm8gZGEgY2xhc3NlIGRlIGFnZW5kYW1lbnRvLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE1Cittc2dpZCAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPG51bT4gIHByaW9yaXR5ICgwLi43KSBpbiB0aGUgc3BlY2lmaWVkIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IGZvciB0aGUgcmVhbHRpbWUgYW5kIGJlc3QtZWZmb3J0IGNsYXNzZXNcbiIKK21zZ3N0ciAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPG7Dum0+ICBwcmlvcmlkYWRlICgwLi43KSBuYSBjbGFzc2UgZGUgYWdlbmRhbWVudG8gZGFkYSxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGFwZW5hcyBwYXJhIGNsYXNzZXMgcmVhbHRpbWUgZSBiZXN0LWVmZm9ydFxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNworbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4uLi4gICAgIGFjdCBvbiB0aGVzZSBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPHBpZD4uLi4gICAgIGFnZSBuZXNzZXMgcHJvY2Vzc29zIGrDoSBlbSBleGVjdcOnw6NvXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE4Cittc2dpZCAiIC1QLCAtLXBnaWQgPHBncnA+Li4uICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgaW4gdGhlc2UgZ3JvdXBzXG4iCittc2dzdHIgIiAtUCwgLS1wZ2lkIDxwZ3JwPi4uLiAgIGFnZSBlbSBwcm9jZXNzb3MgasOhIGVtIGV4ZWN1w6fDo28gbmVzc2VzIGdydXBvc1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOQorbXNnaWQgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIGlnbm9yZSBmYWlsdXJlc1xuIgorbXNnc3RyICIgLXQsIC0taWdub3JlICAgICAgICAgICBpZ25vcmEgZmFsaGFzXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTIwCittc2dpZCAiIC11LCAtLXVpZCA8dWlkPi4uLiAgICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgb3duZWQgYnkgdGhlc2UgdXNlcnNcbiIKK21zZ3N0ciAiIC11LCAtLXVpZCA8dWlkPi4uLiAgICAgYWdlIGVtIHByb2Nlc3NvcyBqw6EgZW0gZXhlY3XDp8OjbyBkZXNzZXMgdXN1w6FyaW9zXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTU3Cittc2dpZCAiaW52YWxpZCBjbGFzcyBkYXRhIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIGRhZG9zIGRlIGNsYXNzZTogJXMiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTYzCittc2dpZCAiaW52YWxpZCBjbGFzcyBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBkZSBjbGFzc2UiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2NoZWR1bGluZyBjbGFzczogJyVzJyIKK21zZ3N0ciAiY2xhc3NlIGRlIGFnZW5kYW1lbnRvIGRlc2NvbmhlY2lkYTogXCIlc1wiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NCBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MgorbXNnaWQgImNhbiBoYW5kbGUgb25seSBvbmUgb2YgcGlkLCBwZ2lkIG9yIHVpZCBhdCBvbmNlIgorbXNnc3RyICLDqSBwb3Nzw612ZWwgbGlkYXIgYXBlbmFzIGNvbSB1bSBlbnRyZSBwaWQsIHBnaWQgb3UgdWlkIGRlIGNhZGEgdmV6IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NQorbXNnaWQgImludmFsaWQgUEdJRCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBkZSBQR0lEIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MworbXNnaWQgImludmFsaWQgVUlEIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIFVJRCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMTIKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBub25lIGNsYXNzIgorbXNnc3RyICJpZ25vcmFuZG8gZGFkb3MgZGUgY2xhc3NlIGRhZG9zIHBhcmEgY2xhc3NlIFwibm9uZVwiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyMAorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIGlkbGUgY2xhc3MiCittc2dzdHIgImlnbm9yYW5kbyBkYWRvcyBkZSBjbGFzc2UgZGFkb3MgcGFyYSBjbGFzc2UgXCJpZGxlXCIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpbyBjbGFzcyAlZCIKK21zZ3N0ciAiY2xhc3NlIGRlIHByaW9yaWRhZGUgZGVzY29uaGVjaWRhICVkIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVXNhZ2U6ICVzIFtvcHRpb25zXSBbbWFzayB8IGNwdS1saXN0XSBbcGlkfGNtZCBbYXJncy4uLl1dXG4iCisiXG4iCittc2dzdHIgIiIKKyJVc286ICVzIFtvcMOnw7Vlc10gW23DoXNjYXJhIHwgbGlzdGEtY3B1XSBbcGlkfGNvbWFuZG8gW2FyZ3VtZW50b3MuLi5dXVxuIgorIlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1NQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBDUFUgYWZmaW5pdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICJNb3N0cmEgb3UgYWx0ZXJhIGEgYWZpbmlkYWRlIGRhIENQVSBkZSB1bSBwcm9jZXNzby5cbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk9wdGlvbnM6XG4iCisiIC1hLCAtLWFsbC10YXNrcyAgICAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisiIC1wLCAtLXBpZCAgICAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCisiIC1jLCAtLWNwdS1saXN0ICAgICAgICAgIGRpc3BsYXkgYW5kIHNwZWNpZnkgY3B1cyBpbiBsaXN0IGZvcm1hdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvblxuIgorIlxuIgorbXNnc3RyICIiCisiT3DDp8O1ZXM6XG4iCisiIC1hLCAtLWFsbC10YXNrcyAgICAgICAgIG9wZXJhIGVtIHRvZGFzIGFzIHRhcmVmYXMgKHRocmVhZHMpIHBhcmEgdW0gcGlkIGRhZG9cbiIKKyIgLXAsIC0tcGlkICAgICAgICAgICAgICAgb3BlcmEgZW0gdW0gZGFkbyBwaWQgZXhpc3RlbnRlXG4iCisiIC1jLCAtLWNwdS1saXN0ICAgICAgICAgIGV4aWJlIGUgZXNwZWNpZmljYSBjcHVzIGVtIHVtIGZvcm1hdG8gZGUgbGlzdGFcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZXhpYmUgZXN0YSBhanVkYVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBleGliZSBpbmZvcm1hw6fDo28gZGEgdmVyc8Ojb1xuIgorIlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gcnVuIGEgbmV3IGNvbW1hbmQ6XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisiWW91IGNhbiByZXRyaWV2ZSB0aGUgbWFzayBvZiBhbiBleGlzdGluZyB0YXNrOlxuIgorIiAgICAlMSRzIC1wIDcwMFxuIgorIk9yIHNldCBpdDpcbiIKKyIgICAgJTEkcyAtcCAwMyA3MDBcbiIKKyJMaXN0IGZvcm1hdCB1c2VzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QgaW5zdGVhZCBvZiBhIG1hc2s6XG4iCisiICAgICUxJHMgLXBjIDAsMyw3LTExIDcwMFxuIgorIlJhbmdlcyBpbiBsaXN0IGZvcm1hdCBjYW4gdGFrZSBhIHN0cmlkZSBhcmd1bWVudDpcbiIKKyIgICAgZS5nLiAwLTMxOjIgaXMgZXF1aXZhbGVudCB0byBtYXNrIDB4NTU1NTU1NTVcbiIKK21zZ3N0ciAiIgorIk8gY29tcG9ydGFtZW50byBwYWRyw6NvIMOpIGV4ZWN1dGFyIHVtIG5vdm8gY29tYW5kbzpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyJWb2PDqiBwb2RlIG9idGVyIGEgbcOhc2NhcmEgZGUgdW1hIHRhcmVmYSBleGlzdGVudGU6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiT3UgZGVmaW5pLWxhOlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorIkZvcm1hdG8gbGlzdGEgdXNhIHVtYSBsaXN0YSBzZXBhcmEgcG9yIHbDrXJndWxhIGVtIHZleiBkZSB1bWEgbcOhc2NhcmE6XG4iCisiICAgICUxJHMgLXBjIDAsMyw3LTExIDcwMFxuIgorIkZhaXhhcyBubyBmb3JtYXRvIGxpc3RhIHBvZGUgbGV2YXIgdW0gYXJndW1lbnRvIGFtcGxvOlxuIgorIiAgICBleC46IDAtMzE6MiDDqSBlcXVpdmFsZW50ZSDDoCBtw6FzY2FyYSAweDU1NTU1NTU1XG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkwCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICJub3ZhIGxpc3RhIGRlIGFmaW5pZGFkZSBkbyBwaWQgJWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAiYXR1YWwgbGlzdGEgZGUgYWZpbmlkYWRlIGRvIHBpZCAlZDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIm5vdmEgbcOhc2NhcmEgZGUgYWZpbmlkYWRlIGRvIHBpZCAlZDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICJhdHVhbCBtw6FzY2FyYSBkZSBhZmluaWRhZGUgZG8gcGlkICVkOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5OQorbXNnaWQgImludGVybmFsIGVycm9yOiBjb252ZXJzaW9uIGZyb20gY3B1c2V0IHRvIHN0cmluZyBmYWlsZWQiCittc2dzdHIgImVycm8gaW50ZXJubzogY29udmVyc8OjbyBkZSBjcHVzZXQgcGFyYSB0ZXh0byBmYWxob3UiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwOSBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAiZmFsaGEgYW8gb2J0ZXIgYSBhZmluaWRhZGUgZG8gcGlkICVkIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAiZmFsaGEgYW8gZGVmaW5pciBhIGFmaW5pZGFkZSBkbyBwaWQgJWQiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE4NiBzeXMtdXRpbHMvY2hjcHUuYzoyODkKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIE5SX0NQVVM7IGFib3J0aW5nIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZGV0ZXJtaW5hciBOUl9DUFVTOyBhYm9ydGFuZG8iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE5NSBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMDggc3lzLXV0aWxzL2NoY3B1LmM6Mjk1Cittc2dpZCAiY3B1c2V0X2FsbG9jIGZhaWxlZCIKK21zZ3N0ciAiY3B1c2V0X2FsbG9jIGZhbGhvdSIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjE1IHN5cy11dGlscy9jaGNwdS5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBsaXN0YSBkZSBDUFVzOiAlcyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjE4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzazogJXMiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIG3DoXNjYXJhIGRlIENQVTogJXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFplcm8tZmlsbGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiVzOiAlPFBSSXU2ND4gYnl0ZXMgcHJlZW5jaGlkb3MgY29tIHplcm8gZGEgcG9zacOnw6NvICU8UFJJdTY0PlxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBEaXNjYXJkZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiJXM6ICU8UFJJdTY0PiBieXRlcyBkZXNjYXJ0YWRvcyBkYSBwb3Npw6fDo28gJTxQUkl1NjQ+XG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODcKK21zZ2lkICJEaXNjYXJkIHRoZSBjb250ZW50IG9mIHNlY3RvcnMgb24gYSBkZXZpY2UuXG4iCittc2dzdHIgIkRlc2NhcnRhIG8gY29udGXDumRvIGRlIHNldG9yZXMgZW0gdW0gZGlzcG9zaXRpdm8uXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTAKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPG7Dum0+ICBwb3Npw6fDo28gZW0gYnl0ZXMgZGUgb25kZSBpbmljaWFyw6EgbyBkZXNjYXJ0ZVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkxCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiAtbCwgLS1sZW5ndGggPG7Dum0+ICBxdWFudGlkYWRlIGRlIGJ5dGVzIHBhcmEgZGVzY2FydGFyIGEgcGFydGlyIHBvc2nDp8Ojb1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkyCittc2dpZCAiIC1wLCAtLXN0ZXAgPG51bT4gICAgc2l6ZSBvZiB0aGUgZGlzY2FyZCBpdGVyYXRpb25zIHdpdGhpbiB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiAtcCwgLS1zdGVwIDxuw7ptPiAgICB0YW1hbmhvIGRhcyBpdGVyYcOnw7VlcyBkZSBkZXNjYXJ0ZSBuYSBwb3Npw6fDo29cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MworbXNnaWQgIiAtcywgLS1zZWN1cmUgICAgICAgIHBlcmZvcm0gc2VjdXJlIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC1zLCAtLXNlY3VyZSAgICAgICAgZXhlY3V0YSBkZXNjYXJ0ZSBzZWd1cm9cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NAorbXNnaWQgIiAteiwgLS16ZXJvb3V0ICAgICAgIHplcm8tZmlsbCByYXRoZXIgdGhhbiBkaXNjYXJkXG4iCittc2dzdHIgIiAteiwgLS16ZXJvb3V0ICAgICAgIHByZWVuY2hlIGNvbSB6ZXJvLCBhbyBpbnbDqXMgZGUgZGVzY2FydGFyXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgIGVtaXRlIHF1YW50aWRhZGUgZSBwb3Npw6fDo28gYWxpbmhhZG9zXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTUwIHN5cy11dGlscy9mc3RyaW0uYzozMTIgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NzMKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjEyNAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBvZmZzZXQiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIHBvc2nDp8OjbyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RlcCIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgYSBldGFwYSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzIgc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODIgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDgKK21zZ2lkICJubyBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJuZW5odW0gZGlzcG9zaXRpdm8gZXNwZWNpZmljYWRvIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3NyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzUxCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjIgc3lzLXV0aWxzL2ZzdHJpbS5jOjMzNAorbXNnaWQgInVuZXhwZWN0ZWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAibsO6bWVybyBpbmVzcGVyYWRvIGRlIGFyZ3VtZW50b3MiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogaW9jdGwgZGUgQkxLR0VUU0laRTY0IGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NTWkdFVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBpb2N0bCBkZSBCTEtTU1pHRVQgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0ICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiJXM6IGEgcG9zacOnw6NvICU8UFJJdTY0PiBuw6NvIGVzdMOhIGFsaW5oYWRhIGFvIHRhbWFuaG8gZGUgc2V0b3IgJWkiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgaXMgZ3JlYXRlciB0aGFuIGRldmljZSBzaXplIgorbXNnc3RyICIlczogYSBwb3Npw6fDo28gw6kgbWFpb3IgcXVlIG8gdGFtYW5obyBkbyBkaXNwb3NpdGl2byIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxlbmd0aCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiVzOiBvIGNvbXByaW1lbnRvICU8UFJJdTY0PiBuw6NvIGVzdMOhIGFsaW5oYWRvIGFvIHRhbWFuaG8gZGUgc2V0b3IgJWkiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtaRVJPT1VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGlvY3RsIGRlIEJMS1pFUk9PVVQgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU0VDRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBpb2N0bCBkZSBCTEtTRUNESVNDQVJEIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogaW9jdGwgZGUgQkxLRElTQ0FSRCBmYWxob3UiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjg3IHN5cy11dGlscy9jaGNwdS5jOjE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIkNQVSAldSBuw6NvIGV4aXN0ZSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBob3QgcGx1Z2dhYmxlIgorbXNnc3RyICJDUFUgJXUgbsOjbyDDqSBob3QtcGx1ZyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZW5hYmxlZFxuIgorbXNnc3RyICJDUFUgJXUgasOhIGVzdMOhIGhhYmlsaXRhZGFcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAldSBqw6EgZXN0w6EgZGVzYWJpbGl0YWRhXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCAoQ1BVIGlzIGRlY29uZmlndXJlZCkiCittc2dzdHIgIkNQVSAldSBmYWxob3UgYW8gaGFiaWxpdGFyIChDUFUgZXN0w6EgZGVzY29uZmlndXJhZGEpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIkNQVSAldSBmYWxob3UgYW8gaGFiaWxpdGFyIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1IGhhYmlsaXRhZGFcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCAobGFzdCBlbmFibGVkIENQVSkiCittc2dzdHIgIkNQVSAldSBmYWxob3UgYW8gZGVzYWJpbGl0YXIgKMO6bHRpbWEgQ1BVIGhhYmlsaXRhZGEpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICJDUFUgJXUgZmFsaG91IGFvIGRlc2FiaWxpdGFyIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAldSBkZXNhYmlsaXRhZGFcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCByZXNjYW5uaW5nIG9mIENQVXMiCittc2dzdHIgIkVzdGUgc2lzdGVtYSBuw6NvIG9mZXJlY2Ugc3Vwb3J0ZSBhIHZhc2N1bGhhciBub3ZhbWVudGUgcG9yIENQVXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MworbXNnaWQgIkZhaWxlZCB0byB0cmlnZ2VyIHJlc2NhbiBvZiBDUFVzIgorbXNnc3RyICJGYWxoYSBhbyBpbmljaWFyIHZhc2N1bGhhciBub3ZhbWVudGUgcG9yIENQVXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJUcmlnZ2VyZWQgcmVzY2FuIG9mIENQVXNcbiIKK21zZ3N0ciAiSW5pY2lhZG8gdmFzY3VsaGEgZGUgQ1BVc1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHNldHRpbmcgdGhlIGRpc3BhdGNoaW5nIG1vZGUgb2YgQ1BVcyIKK21zZ3N0ciAiRXN0ZSBzaXN0ZW1hIG7Do28gb2ZlcmVjZSBzdXBvcnRlIGEgZGVmaW5pw6fDo28gZGUgbW9kbyBkZSBkZXNwYWNobyBkZSBDUFVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTUKK21zZ2lkICJGYWlsZWQgdG8gc2V0IGhvcml6b250YWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiRmFsaGEgYW8gZGVmaW5pciBtb2RvIGRlc3BhY2hhbnRlIGhvcml6b250YWwiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IGhvcml6b250YWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICJEZWZpbmlkbyBjb20gc3VjZXNzbyBvIG1vZG8gZGUgZGVzcGFjaG8gaG9yaXpvbnRhbFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTkKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHZlcnRpY2FsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgIkZhbGhhIGFvIGRlZmluaXIgbW9kbyBkZXNwYWNoYW50ZSB2ZXJ0aWNhbCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgdmVydGljYWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICJEZWZpbmlkbyBjb20gc3VjZXNzbyBvIG1vZG8gZGUgZGVzcGFjaG8gdmVydGljYWxcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgY29uZmlndXJhYmxlIgorbXNnc3RyICJDUFUgJXUgbsOjbyBlc3TDoSBjb25maWd1cmFkbyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICV1IGrDoSBlc3TDoSBjb25maWd1cmFkYVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAldSBqw6EgZXN0w6EgZGVzY29uZmlndXJhZGFcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiQ1BVICV1IGZhbGhvdSBhbyBkZXNjb25maWd1cmFyIChDUFUgZXN0w6EgaGFiaWxpdGFkYSkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiQ1BVICV1IGZhbGhvdSBhbyBjb25maWd1cmFyIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICV1IGNvbmZpZ3VyYWRhXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICJDUFUgJXUgZmFsaG91IGFvIGRlc2NvbmZpZ3VyYXIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAldSBkZXNjb25maWd1cmFkYVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBDUFUgbnVtYmVyIGluIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAibsO6bWVybyBkZSBDUFUgaW52w6FsaWRvIG5hIGxpc3RhIGRlIENQVXM6ICVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzggdGV4dC11dGlscy9jb2wuYzoxMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiIgorIlxuIgorIlVzbzpcbiIKKyIgJXMgW29ww6fDtWVzXVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDIKK21zZ2lkICJDb25maWd1cmUgQ1BVcyBpbiBhIG11bHRpLXByb2Nlc3NvciBzeXN0ZW0uXG4iCittc2dzdHIgIkNvbmZpZ3VyYSBDUFVzIGVtIHVtIHNpc3RlbWEgbXVsdGlwcm9jZXNzYWRvLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorIiAgLWUsIC0tZW5hYmxlIDxjcHUtbGlzdD4gICAgICAgZW5hYmxlIGNwdXNcbiIKKyIgIC1kLCAtLWRpc2FibGUgPGNwdS1saXN0PiAgICAgIGRpc2FibGUgY3B1c1xuIgorIiAgLWMsIC0tY29uZmlndXJlIDxjcHUtbGlzdD4gICAgY29uZmlndXJlIGNwdXNcbiIKKyIgIC1nLCAtLWRlY29uZmlndXJlIDxjcHUtbGlzdD4gIGRlY29uZmlndXJlIGNwdXNcbiIKKyIgIC1wLCAtLWRpc3BhdGNoIDxtb2RlPiAgICAgICAgIHNldCBkaXNwYXRjaGluZyBtb2RlXG4iCisiICAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICB0cmlnZ2VyIHJlc2NhbiBvZiBjcHVzXG4iCisiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisiXG4iCisiT3DDp8O1ZXM6XG4iCisiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBtb3N0cmEgZXN0YSBhanVkYVxuIgorIiAgLWUsIC0tZW5hYmxlIDxsaXN0YS1jcHU+ICAgICAgaGFiaWxpdGEgY3B1c1xuIgorIiAgLWQsIC0tZGlzYWJsZSA8bGlzdGEtY3B1PiAgICAgZGVzYWJpbGl0YSBjcHVzXG4iCisiICAtYywgLS1jb25maWd1cmUgPGxpc3RhLWNwdT4gICBjb25maWd1cmEgY3B1c1xuIgorIiAgLWcsIC0tZGVjb25maWd1cmUgPGxpc3RhLWNwdT4gZGVzY29uZmlndXJhIGNwdXNcbiIKKyIgIC1wLCAtLWRpc3BhdGNoIDxtb2RvPiAgICAgICAgIGRlZmluZSBtb2RvIGRlIGRlc3BhY2hvXG4iCisiICAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICBpbmljaWEgdmFzY3VsaGEgZGUgY3B1c1xuIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgZXhpYmUgaW5mb3JtYcOnw6NvIGRhIHZlcnPDo28gZSBzYWlcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MzI2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAic2VtIHN1cG9ydGUgYW8gYXJndW1lbnRvOiAlcyIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzoyNworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgaGFyZHxzb2Z0XG4iCittc2dzdHIgIiAlcyBoYXJkfHNvZnRcbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICJTZXQgdGhlIGZ1bmN0aW9uIG9mIHRoZSBDdHJsLUFsdC1EZWwgY29tYmluYXRpb24uXG4iCittc2dzdHIgIkNvbmZpZ3VyYSBhIGZ1bsOnw6NvIGRhIGNvbWJpbmHDp8OjbyBDdHJsLUFsdC1EZWwuXG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTEKK21zZ2lkICJpbXBsaWNpdCIKK21zZ3N0ciAiaW1wbMOtY2l0byIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHZhbHVlIGluICVzOiAlanUiCittc2dzdHIgInZhbG9yIGluZXNwZXJhZG8gZW0gJXM6ICVqdSIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo2MworbXNnaWQgIllvdSBtdXN0IGJlIHJvb3QgdG8gc2V0IHRoZSBDdHJsLUFsdC1EZWwgYmVoYXZpb3IiCittc2dzdHIgIlZvY8OqIGRldmUgc2VyIHJvb3QgcGFyYSBjb25maWd1cmFyIG8gY29tcG9ydGFtZW50byBkZSBDdHJsLUFsdC1EZWwiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NzEgc3lzLXV0aWxzL2lwY3JtLmM6MzkyIHN5cy11dGlscy9pcGNybS5jOjQxNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiYXJndW1lbnRvIGRlc2NvbmhlY2lkbzogJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMAorbXNnaWQgInN5c3RlbSBpcyB1bnVzYWJsZSIKK21zZ3N0ciAic2lzdGVtYSBlc3TDoSBpbnV0aWxpesOhdmVsIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTEKK21zZ2lkICJhY3Rpb24gbXVzdCBiZSB0YWtlbiBpbW1lZGlhdGVseSIKK21zZ3N0ciAiYcOnw6NvIGRldmUgc2VyIHRvbWFkYSBpbWVkaWF0YW1lbnRlIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTIKK21zZ2lkICJjcml0aWNhbCBjb25kaXRpb25zIgorbXNnc3RyICJjb25kacOnw7VlcyBjcsOtdGljYXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMworbXNnaWQgImVycm9yIGNvbmRpdGlvbnMiCittc2dzdHIgImNvbmRpw6fDtWVzIGRlIGVycm8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNAorbXNnaWQgIndhcm5pbmcgY29uZGl0aW9ucyIKK21zZ3N0ciAiY29uZGnDp8O1ZXMgZGUgYXZpc28iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNQorbXNnaWQgIm5vcm1hbCBidXQgc2lnbmlmaWNhbnQgY29uZGl0aW9uIgorbXNnc3RyICJjb25kacOnw6NvIG5vcm1hbCwgbWFzIHNpZ25pZmljYXRpdmEiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNgorbXNnaWQgImluZm9ybWF0aW9uYWwiCittc2dzdHIgImluZm9ybWF0aXZvIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTcKK21zZ2lkICJkZWJ1Zy1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAibWVuc2FnZW5zIGRlIG7DrXZlbCBkZSBkZXB1cmHDp8OjbyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMxCittc2dpZCAia2VybmVsIG1lc3NhZ2VzIgorbXNnc3RyICJtZW5zYWdlbnMgZGUga2VybmVsIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzIKK21zZ2lkICJyYW5kb20gdXNlci1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAibWVuc2FnZW5zIGFsZWF0w7NyaWFzIGRlIG7DrXZlbCBkZSB1c3XDoXJpbyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMzCittc2dpZCAibWFpbCBzeXN0ZW0iCittc2dzdHIgInNpc3RlbWEgZGUgY29ycmVpbyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM0Cittc2dpZCAic3lzdGVtIGRhZW1vbnMiCittc2dzdHIgImRlYW1vbnMgZGUgc2lzdGVtYSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1Cittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyIKK21zZ3N0ciAibWVuc2FnZW5zIGRlIHNlZ3VyYW7Dp2EvYXV0b3JpemHDp8OjbyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM2Cittc2dpZCAibWVzc2FnZXMgZ2VuZXJhdGVkIGludGVybmFsbHkgYnkgc3lzbG9nZCIKK21zZ3N0ciAibWVuc2FnZW5zIGdlcmFkYXMgaW50ZXJuYW1lbnRlIHBlbG8gc3lzbG9nZCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM3Cittc2dpZCAibGluZSBwcmludGVyIHN1YnN5c3RlbSIKK21zZ3N0ciAic3Vic2lzdGVtYSBkZSBpbXByZXNzb3JhIGRlIGxpbmhhIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzgKK21zZ2lkICJuZXR3b3JrIG5ld3Mgc3Vic3lzdGVtIgorbXNnc3RyICJzdWJzaXN0ZW1hIGRlIG5vdMOtY2lhIGRlIHJlZGUiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOQorbXNnaWQgIlVVQ1Agc3Vic3lzdGVtIgorbXNnc3RyICJzdWJzaXN0ZW1hIFVVQ1AiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MAorbXNnaWQgImNsb2NrIGRhZW1vbiIKK21zZ3N0ciAiZGFlbW9uIGRlIHJlbMOzZ2lvIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDEKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIChwcml2YXRlKSIKK21zZ3N0ciAibWVuc2FnZW5zIGRlIHNpc3RlbWEvYXV0b3JpemHDp8OjbyAocHJpdmF0aXZvKSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQyCittc2dpZCAiRlRQIGRhZW1vbiIKK21zZ3N0ciAiZGFlbW9uIGRlIEZUUCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjY3Cittc2dpZCAiRGlzcGxheSBvciBjb250cm9sIHRoZSBrZXJuZWwgcmluZyBidWZmZXIuXG4iCittc2dzdHIgIkV4aWJlIG91IGNvbnRyb2xhIG8gYnVmZmVyIGRvIGtlcm5lbC5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjcwCittc2dpZCAiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICBjbGVhciB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgbGltcGEgbyBidWZmZXIgZG8ga2VybmVsXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MQorbXNnaWQgIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgcmVhZCBhbmQgY2xlYXIgYWxsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgbMOqIGUgYXBhZ2EgdG9kYXMgYXMgbWVuc2FnZW5zXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MgorbXNnaWQgIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAgZGlzYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAgZGVzYWJpbGl0YSBpbXByZXNzw6NvIGRlIG1lbnNhZ2VucyBwYXJhIG8gY29uc29sZVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzMKK21zZ2lkICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIGVuYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAgaGFiaWxpdGEgaW1wcmVzc8OjbyBkZSBtZW5zYWdlbnMgcGFyYSBvIGNvbnNvbGVcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc0Cittc2dpZCAiIC1GLCAtLWZpbGUgPGZpbGU+ICAgICAgICAgICB1c2UgdGhlIGZpbGUgaW5zdGVhZCBvZiB0aGUga2VybmVsIGxvZyBidWZmZXJcbiIKK21zZ3N0ciAiIC1GLCAtLWZpbGUgPGFycXVpdm8+ICAgICAgICB1c2EgbyBhcnF1aXZvIGVtIHZleiBkbyBidWZmZXIgZGUgbG9ncyBkbyBrZXJuZWxcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc1Cittc2dpZCAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0PiAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBmYWNpbGl0aWVzXG4iCittc2dzdHIgIiAtZiwgLS1mYWNpbGl0eSA8bGlzdGE+ICAgICAgIHJlc3RyaW5nZSBhIHNhw61kYSBhIHJlY3Vyc29zIGRlZmluaWRvc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzYKK21zZ2lkICIgLUgsIC0taHVtYW4gICAgICAgICAgICAgICAgIGh1bWFuIHJlYWRhYmxlIG91dHB1dFxuIgorbXNnc3RyICIgLUgsIC0taHVtYW4gICAgICAgICAgICAgICAgIHNhw61kYSBsZWfDrXZlbCBwb3IgaHVtYW5vc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzcKK21zZ2lkICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIGRpc3BsYXkga2VybmVsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgZXhpYmUgbWVuc2FnZW5zIGRlIGtlcm5lbFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzgKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PHF1YW5kbz5dICAgICAgICBjb2xvcml6YSBtZW5zYWdlbnMgKGF1dG8sIGFsd2F5cyBvdSBuZXZlcilcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgxCittc2dpZCAiIC1sLCAtLWxldmVsIDxsaXN0PiAgICAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBsZXZlbHNcbiIKK21zZ3N0ciAiIC1sLCAtLWxldmVsIDxsaXN0YT4gICAgICAgICByZXN0cmluZ2Ugc2HDrWRhIHBhcmEgbsOtdmVpcyBkZWZpbmlkb3NcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgyCittc2dpZCAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPGxldmVsPiBzZXQgbGV2ZWwgb2YgbWVzc2FnZXMgcHJpbnRlZCB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtbiwgLS1jb25zb2xlLWxldmVsIDxuw612ZWw+IGRlZmluZSBvIG7DrXZlbCBkYXMgbWVuc2FnZW5zIGV4aWJpZGFzIG5vIGNvbnNvbGVcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgzCittc2dpZCAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICBkbyBub3QgcGlwZSBvdXRwdXQgaW50byBhIHBhZ2VyXG4iCittc2dzdHIgIiAtUCwgLS1ub3BhZ2VyICAgICAgICAgICAgICAgbsOjbyByZWRpcmVjaW9uYSBhIHNhw61kYSBwYXJhIHVtIHBhZ2luYWRvclxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODQKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByYXcgbWVzc2FnZSBidWZmZXJcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBtb3N0cmEgYnVmZmVyIGRlIG1lbnNhZ2VucyBuw6NvIHRyYXRhZGFzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NQorbXNnaWQgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgZm9yY2UgdG8gdXNlIHN5c2xvZygyKSByYXRoZXIgdGhhbiAvZGV2L2ttc2dcbiIKK21zZ3N0ciAiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICBmb3LDp2EgbyB1c28gZG8gc3lzbG9nKDIpIGVtIHZleiBkbyAvZGV2L2ttc2dcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg2Cittc2dpZCAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiAtcywgLS1idWZmZXItc2l6ZSA8dGFtYW5obz4gIHRhbWFuaG8gZG8gYnVmZmVyIGRlIGNvbnN1bHRhIGRlIGJ1ZmZlciBkbyBrZXJuZWxcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg3Cittc2dpZCAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICBkaXNwbGF5IHVzZXJzcGFjZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIGV4aWJlIG1lbnNhZ2VucyBkbyBlc3Bhw6dvIGRlIHVzdcOhcmlvXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OAorbXNnaWQgIiAtdywgLS1mb2xsb3cgICAgICAgICAgICAgICAgd2FpdCBmb3IgbmV3IG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdywgLS1mb2xsb3cgICAgICAgICAgICAgICAgZXNwZXJhIHBvciBub3ZhcyBtZW5zYWdlbnNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg5Cittc2dpZCAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBkZWNvZGUgZmFjaWxpdHkgYW5kIGxldmVsIHRvIHJlYWRhYmxlIHN0cmluZ1xuIgorbXNnc3RyICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIGRlY29kaWZpY2EgbyByZWN1cnNvIGUgbsOtdmVsIHBhcmEgdGV4dG8gbGVnw612ZWxcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkwCittc2dpZCAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICBzaG93IHRpbWUgZGVsdGEgYmV0d2VlbiBwcmludGVkIG1lc3NhZ2VzXG4iCittc2dzdHIgIiIKKyIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIG1vc3RyYSBkaWZlcmVuw6dhIGRlIHRlbXBvIGVudHJlIGFzIG1lbnNhZ2Vuc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3N0cmFkYXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkxCittc2dpZCAiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBzaG93IGxvY2FsIHRpbWUgYW5kIHRpbWUgZGVsdGEgaW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKyIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIG1vc3RyYSBvIGhvcsOhcmlvIGxvY2FsIGUgZGlmZXJlbsOnYSBkZSB0ZW1wbyBlbVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXRvIGxlZ8OtdmVsXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MgorbXNnaWQgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbi1yZWFkYWJsZSB0aW1lc3RhbXAgKG1heSBiZSBpbmFjY3VyYXRlISlcbiIKK21zZ3N0ciAiIgorIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgbW9zdHJhIG1hcmNhIGRlIHRlbXBvIGxlZ8OtdmVsIHBhcmEgaHVtYW5vc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocG9kZSBzZXIgaW1wcmVjaXNvISlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkzCittc2dpZCAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBkb24ndCBzaG93IGFueSB0aW1lc3RhbXAgd2l0aCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIG7Do28gbW9zdHJhIG1hcmNhcyBkZSB0ZW1wbyBjb20gbWVuc2FnZW5zXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NAorbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wIHVzaW5nIHRoZSBnaXZlbiBmb3JtYXQ6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisiU3VzcGVuZGluZy9yZXN1bWUgd2lsbCBtYWtlIGN0aW1lIGFuZCBpc28gdGltZXN0YW1wcyBpbmFjY3VyYXRlLlxuIgorbXNnc3RyICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXRvPiBtb3N0cmEgbWFyY2EgZGUgdGVtcG8gdXNhbmRvIG8gZm9ybWF0byBmb3JuZWNpZG86XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisiU3VzcGVuZGVyL3Jlc3VtaXIgdG9ybmFyw6EgYXMgbWFyY2FzIGRlIHRlbXBvIGRlIGN0aW1lIGUgaXNvIGltcHJlY2lzYXMuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwMAorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGZhY2lsaXRpZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJSZWN1cnNvcyBkZSBsb2c6XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwNgorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGxldmVscyAocHJpb3JpdGllcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJOw612ZWlzIGRlIGxvZyAocHJpb3JpZGFkZXMpOlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxldmVsICclcyciCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIG8gbsOtdmVsIFwiJXNcIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbGV2ZWwgJyVzJyIKK21zZ3N0ciAibsOtdmVsIGRlc2NvbmhlY2lkbyBcIiVzXCIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgbyByZWN1cnNvIFwiJXNcIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAicmVjdXJzbyBkZXNjb25oZWNpZG8gXCIlc1wiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1tYXA6ICVzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZXhlY3V0YXIgbW1hcDogJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNTYKK21zZ2lkICJpbnZhbGlkIGJ1ZmZlciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIHRhbWFuaG8gZGUgYnVmZmVyIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDA5Cittc2dpZCAiLS1zaG93LWRlbHRhIGlzIGlnbm9yZWQgd2hlbiB1c2VkIHRvZ2V0aGVyIHdpdGggaXNvODYwMSB0aW1lIGZvcm1hdCIKK21zZ3N0ciAiLS1zaG93LWRlbHRhIMOpIGlnbm9yYWRvIHF1YW5kbyB1c2FkbyBqdW50byBkbyBmb3JtYXRvIGRlIHRlbXBvIGlzbzg2MDEiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MzIKK21zZ2lkICItLXJhdyBjYW4gYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tbGV2ZWwgb3IgLS1mYWNpbGl0eSBvbmx5IHdoZW4gcmVhZGluZyBtZXNzYWdlcyBmcm9tIC9kZXYva21zZyIKK21zZ3N0ciAiLS1yYXcgcG9kZSBzZXIgdXNhZG8gY29tIC0tbGV2ZWwgb3UgLS1mYWNpbGl0eSBhcGVuYXMgYW8gbGVyIG1lbnNhZ2VucyBkZSAvZGV2L2ttc2ciCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0NDIKK21zZ2lkICJyZWFkIGtlcm5lbCBidWZmZXIgZmFpbGVkIgorbXNnc3RyICJsZWl0dXJhIGRlIGJ1ZmZlciBkZSBrZXJuZWwgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDYxCittc2dpZCAia2xvZ2N0bCBmYWlsZWQiCittc2dzdHIgImtsb2djdGwgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT58PG1vdW50cG9pbnQ+XVxuIgorbXNnc3RyICIgJXMgW29ww6fDtWVzXSBbPGRpc3Bvc2l0aXZvPnw8cG9udG8tbW9udGFnZW0+XVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzcKK21zZ2lkICJFamVjdCByZW1vdmFibGUgbWVkaWEuXG4iCittc2dzdHIgIkVqZXRhIG3DqWRpYXMgcmVtb3bDrXZlaXMuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjE0MAorbXNnaWQgIiIKKyIgLWEsIC0tYXV0byA8b258b2ZmPiAgICAgICAgIHR1cm4gYXV0by1lamVjdCBmZWF0dXJlIG9uIG9yIG9mZlxuIgorIiAtYywgLS1jaGFuZ2Vyc2xvdCA8c2xvdD4gICAgc3dpdGNoIGRpc2NzIG9uIGEgQ0QtUk9NIGNoYW5nZXJcbiIKKyIgLWQsIC0tZGVmYXVsdCAgICAgICAgICAgICAgIGRpc3BsYXkgZGVmYXVsdCBkZXZpY2VcbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIGVqZWN0IGZsb3BweVxuIgorIiAtRiwgLS1mb3JjZSAgICAgICAgICAgICAgICAgZG9uJ3QgY2FyZSBhYm91dCBkZXZpY2UgdHlwZVxuIgorIiAtaSwgLS1tYW51YWxlamVjdCA8b258b2ZmPiAgdG9nZ2xlIG1hbnVhbCBlamVjdCBwcm90ZWN0aW9uIG9uL29mZlxuIgorIiAtbSwgLS1uby11bm1vdW50ICAgICAgICAgICAgZG8gbm90IHVubW91bnQgZGV2aWNlIGV2ZW4gaWYgaXQgaXMgbW91bnRlZFxuIgorIiAtTSwgLS1uby1wYXJ0aXRpb25zLXVubW91bnQgZG8gbm90IHVubW91bnQgYW5vdGhlciBwYXJ0aXRpb25zXG4iCisiIC1uLCAtLW5vb3AgICAgICAgICAgICAgICAgICBkb24ndCBlamVjdCwganVzdCBzaG93IGRldmljZSBmb3VuZFxuIgorIiAtcCwgLS1wcm9jICAgICAgICAgICAgICAgICAgdXNlIC9wcm9jL21vdW50cyBpbnN0ZWFkIG9mIC9ldGMvbXRhYlxuIgorIiAtcSwgLS10YXBlICAgICAgICAgICAgICAgICAgZWplY3QgdGFwZVxuIgorIiAtciwgLS1jZHJvbSAgICAgICAgICAgICAgICAgZWplY3QgQ0QtUk9NXG4iCisiIC1zLCAtLXNjc2kgICAgICAgICAgICAgICAgICBlamVjdCBTQ1NJIGRldmljZVxuIgorIiAtdCwgLS10cmF5Y2xvc2UgICAgICAgICAgICAgY2xvc2UgdHJheVxuIgorIiAtVCwgLS10cmF5dG9nZ2xlICAgICAgICAgICAgdG9nZ2xlIHRyYXlcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIGVuYWJsZSB2ZXJib3NlIG91dHB1dFxuIgorIiAteCwgLS1jZHNwZWVkIDxzcGVlZD4gICAgICAgc2V0IENELVJPTSBtYXggc3BlZWRcbiIKKyIgLVgsIC0tbGlzdHNwZWVkICAgICAgICAgICAgIGxpc3QgQ0QtUk9NIGF2YWlsYWJsZSBzcGVlZHNcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hdXRvIDxvbnxvZmY+ICAgICAgICAgYXRpdmEgb3UgZGVzYXRpdmEgcmVjdXJzbyBkZSBhdXRvLWVqZXRhclxuIgorIiAtYywgLS1jaGFuZ2Vyc2xvdCA8c2xvdD4gICAgYWx0ZXJuYSBkaXNjb3MgZW0gdW0gYWx0ZXJuYWRvciBkZSBDRC1ST01zXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBleGliZSBvIGRpc3Bvc2l0aXZvIHBhZHLDo29cbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIGVqZXRhIHVtIGRpc3F1ZXRlXG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBpZ25vcmEgbyB0aXBvIGRlIGRpc3Bvc2l0aXZvXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICBhdGl2YSBvdSBkZXNhdGl2YSBwcm90ZcOnw6NvIGRlIGVqZcOnw6NvIG1hbnVhbFxuIgorIiAtbSwgLS1uby11bm1vdW50ICAgICAgICAgICAgbsOjbyBkZXNtb250YSBkaXNwb3NpdGl2byBtZXNtbyBzZSBtb250YWRvXG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBuw6NvIGRlc21vbnRhIG91dHJhcyBwYXJ0acOnw7Vlc1xuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgbsOjbyBlamV0YSwgYXBlbmFzIGV4aWJlIG8gZGlzcG9zaXRpdm8gZW5jb250cmFkb1xuIgorIiAtcCwgLS1wcm9jICAgICAgICAgICAgICAgICAgdXNhIC9wcm9jL21vdW50cyBlbSB2ZXogZG8gL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICBlamV0YSBmaXRhXG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICBlamV0YSBDRC1ST01cbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIGVqZXRhIGRpc3Bvc2l0aXZvIFNDU0lcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIGZlY2hhIGEgYmFuZGVqYVxuIgorIiAtVCwgLS10cmF5dG9nZ2xlICAgICAgICAgICAgYWJyZSBhIGJhbmRlamFcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIGhhYmlsaXRhIG1lbnNhZ2VucyBkZXRhbGhhZGFzXG4iCisiIC14LCAtLWNkc3BlZWQgPHZlbG9jaWRhZGU+ICBkZWZpbmUgYSB2ZWxvY2lkYWRlIG3DoXhpbWEgZG8gQ0QtUk9NXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICBsaXN0YSBhcyB2ZWxvY2lkYWRlcyBkaXNwb27DrXZlaXMgZG8gQ0QtUk9NXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjE2NAorbXNnaWQgIiIKKyJcbiIKKyJCeSBkZWZhdWx0IHRyaWVzIC1yLCAtcywgLWYsIGFuZCAtcSBpbiBvcmRlciB1bnRpbCBzdWNjZXNzLlxuIgorbXNnc3RyICIiCisiXG4iCisiUG9yIHBhZHLDo28sIHRlbnRhIC1yLCAtcywgLWYgZSAtcSwgbmVzdGUgb3JkZW0sIGF0w6kgb2J0ZXIgc3VjZXNzby5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjEwCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNoYW5nZXJzbG90Ly1jIG9wdGlvbiIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBwYXJhIGEgb3DDp8OjbyAtLWNoYW5nZXJzbG90Ly1jIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2RzcGVlZC8teCBvcHRpb24iCittc2dzdHIgImFyZ3VtZW50byBpbnbDoWxpZG8gcGFyYSBhIG9ww6fDo28gLS1jZHNwZWVkLy14IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMjYKK21zZ2lkICJDRC1ST00gYXV0by1lamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiY29tYW5kbyBkZSBhdXRvLWVqZXRhciBDRC1ST00gZmFsaG91IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDAKK21zZ2lkICJDRC1ST00gZG9vciBsb2NrIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIlNlbSBzdXBvcnRlIMOgIHRyYXZhIGRlIHBvcnRhIGRlIHVuaWRhZGUgZGUgRFZEIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDIKK21zZ2lkICJvdGhlciB1c2VycyBoYXZlIHRoZSBkcml2ZSBvcGVuIGFuZCBub3QgQ0FQX1NZU19BRE1JTiIKK21zZ3N0ciAib3V0cm9zIHVzdcOhcmlvcyB0w6ptIGEgdW5pZGFkZSBhYmVydGEgZSBuw6NvIENBUF9TWVNfQURNSU4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0NAorbXNnaWQgIkNELVJPTSBsb2NrIGRvb3IgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgImNvbWFuZG8gZGUgdHJhdmFyIHBvcnRhIGRlIENELVJPTSBmYWxob3UiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0OQorbXNnaWQgIkNELURyaXZlIG1heSBOT1QgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgInVuaWRhZGUgZGUgQ0QgTsODTyBwb2RlIHNlciBlamV0YWRhIGNvbSBvIGJvdMOjbyBkbyBkaXNwb3NpdGl2byIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzUxCittc2dpZCAiQ0QtRHJpdmUgbWF5IGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICJ1bmlkYWRlIGRlIENEIHBvZGUgc2VyIGVqZXRhZGEgY29tIG8gYm90w6NvIGRvIGRpc3Bvc2l0aXZvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjIKK21zZ2lkICJDRC1ST00gc2VsZWN0IGRpc2MgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgImNvbWFuZG8gcGFyYSBzZWxlY2lvbmFyIGRpc2NvIENELVJPTSBmYWxob3UiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NgorbXNnaWQgIkNELVJPTSBsb2FkIGZyb20gc2xvdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiY29tYW5kbyBkZSBjYXJyZWdhciBDRC1ST00gZGUgc2xvdCBmYWxob3UiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2OAorbXNnaWQgIklERS9BVEFQSSBDRC1ST00gY2hhbmdlciBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgInNlbSBzdXBvcnRlIGEgYWx0ZXJuYWRvciBkZSBDRC1ST00gSURFL0FUQVBJIG5lc3RlIGtlcm5lbFxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODYKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiY29tYW5kbyBwYXJhIGZlY2hhciBiYW5kZWphIGRlIENELVJPTSBmYWxob3UiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4OAorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICJzZW0gc3Vwb3J0ZSBhIGZlY2hhciBiYW5kZWphIGRlIENELVJPTSBuZXN0ZSBrZXJuZWxcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDA1Cittc2dpZCAiQ0QtUk9NIGVqZWN0IHVuc3VwcG9ydGVkIgorbXNnc3RyICJzZW0gc3Vwb3J0ZSBhIGVqZcOnw6NvIGRlIENELVJPTSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDMzIHN5cy11dGlscy9lamVjdC5jOjQ1NiBzeXMtdXRpbHMvZWplY3QuYzoxMDExCittc2dpZCAiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJjb21hbmRvIGRlIGVqZcOnw6NvIGRlIENELVJPTSBmYWxob3UiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzNgorbXNnaWQgIm5vIENELVJPTSBpbmZvcm1hdGlvbiBhdmFpbGFibGUiCittc2dzdHIgIm5lbmh1bWEgaW5mb3JtYcOnw6NvIGRlIENELVJPTSBkaXNwb27DrXZlbCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM5Cittc2dpZCAiQ0QtUk9NIGRyaXZlIGlzIG5vdCByZWFkeSIKK21zZ3N0ciAidW5pZGFkZSBkZSBDRC1ST00gbsOjbyBlc3TDoSBwcm9udGEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4MgorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgImNvbWFuZG8gcGFyYSBzZWxlY2lvbmFyIHZlbG9jaWRhZGUgZGUgQ0QtUk9NIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDg0IHN5cy11dGlscy9lamVjdC5jOjU3MAorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsIgorbXNnc3RyICJzZW0gc3Vwb3J0ZSBhbyBjb21hbmRvIHBhcmEgc2VsZWNpb25hciBkZSB2ZWxvY2lkYWRlIG5lc3RlIGtlcm5lbCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZGluZyBDRC1ST00gbmFtZSIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIGxvY2FsaXphciBub21lIGRvIENELVJPTSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIGxlciBhIHZlbG9jaWRhZGUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU0NAorbXNnaWQgImZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICJmYWxoYSBhbyBsZXIgYSB2ZWxvY2lkYWRlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1ODgKK21zZ2lkICJub3QgYW4gc2cgZGV2aWNlLCBvciBvbGQgc2cgZHJpdmVyIgorbXNnc3RyICJuw6NvIMOpIHVtIGRpc3Bvc2l0aXZvIHNnIG91IGRyaXZlciBhbnRpZ28gc2ciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5tb3VudGluZyIKK21zZ3N0ciAiJXM6IGRlc21vbnRhbmRvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGV4ZWMgL2Jpbi91bW91bnQgb2YgYCVzJyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGV4ZWN1dGFyIC9iaW4vdW1vdW50IGRlIFwiJXNcIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njc4Cittc2dpZCAidW5hYmxlIHRvIGZvcmsiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBmYXplciBmb3JrIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAiZGVzbW9udGFnZW0gZGUgXCIlc1wiIG7Do28gdGVybWlub3Ugbm9ybWFsbWVudGUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZmFpbGVkXG4iCittc2dzdHIgImRlc21vbnRhZ2VtIGRlIFwiJXNcIiBmYWxob3VcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzMwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IHRhYmxlIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBhIHRhYmVsYSBkZSBtb250YWdlbSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzkxIHN5cy11dGlscy9lamVjdC5jOjg5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAiJXM6IG1vbnRhZG8gZW0gJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzMworbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvIGF1dG8iCittc2dzdHIgImRlZmluaW5kbyBhIHZlbG9jaWRhZGUgZG8gQ0QtUk9NIHBhcmEgYXV0b23DoXRpY2EiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzNQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byAlbGRYIgorbXNnc3RyICJkZWZpbmluZG8gYSB2ZWxvY2lkYWRlIGRvIENELVJPTSBwYXJhICVsZFgiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg2MQorIywgYy1mb3JtYXQKK21zZ2lkICJkZWZhdWx0IGRldmljZTogYCVzJyIKK21zZ3N0ciAiZGlzcG9zaXRpdm8gcGFkcsOjbzogXCIlc1wiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgZGVmYXVsdCBkZXZpY2UgYCVzJyIKK21zZ3N0ciAidXNhbmRvIG8gZGlzcG9zaXRpdm8gcGFkcsOjbyBcIiVzXCIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4NiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGZpbmQgZGV2aWNlIgorbXNnc3RyICIlczogbsOjbyBmb2kgbG9jYWxpemFyIG8gZGlzcG9zaXRpdm8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4OAorIywgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgbmFtZSBpcyBgJXMnIgorbXNnc3RyICJub21lIGRvIGRpc3Bvc2l0aXZvIMOpIFwiJXNcIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODk0IHN5cy11dGlscy91bW91bnQuYzoyMDYgc3lzLXV0aWxzL3Vtb3VudC5jOjIzNQorIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQwOSBzeXMtdXRpbHMvdW1vdW50LmM6NDMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgbW91bnRlZCIKK21zZ3N0ciAiJXM6IG7Do28gbW9udGFkbyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNjIGRldmljZTogJXMgKGRpc2sgZGV2aWNlIHdpbGwgYmUgdXNlZCBmb3IgZWplY3QpIgorbXNnc3RyICIlczogZGlzcG9zaXRpdm8gZGUgZGlzY286ICVzIChkaXNwb3NpdGl2byBkZSBkaXNjbyBzZXLDoSB1c2FkbyBwYXJhIGVqZcOnw6NvKSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQgbW91bnRwb2ludCBvciBkZXZpY2Ugd2l0aCB0aGUgZ2l2ZW4gbmFtZSIKK21zZ3N0ciAiJXM6IHBvbnRvIGRlIG1vbnRhZ2VtIG91IGRpc3Bvc2l0aXZvIG7Do28gZW5jb250cmFkbyBjb20gbm9tZSBkYWRvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIHdob2xlLWRpc2sgZGV2aWNlIgorbXNnc3RyICIlczogw6kgdW0gZGlzcG9zaXRpdm8gZGUgZGlzY28gaW50ZWlybyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgaG90LXBsdWdnYWJsZSBkZXZpY2UiCittc2dzdHIgIiVzOiBuw6NvIMOpIHVtIGRpc3Bvc2l0aXZvIGhvdC1wbHVnIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIGlzIGAlcyciCittc2dzdHIgImRpc3Bvc2l0aXZvIMOpIFwiJXNcIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTE4Cittc2dpZCAiZXhpdGluZyBkdWUgdG8gLW4vLS1ub29wIG9wdGlvbiIKK21zZ3N0ciAidGVybWluYW5kbyBwb3IgY2F1c2EgZGEgb3DDp8OjbyAtbi8tLW5vb3AiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZW5hYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIlczogaGFiaWxpdGFuZG8gbyBtb2RvIGRlIGF1dG8tZWpldGFyIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2FibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiVzOiBkZXNhYmlsaXRhbmRvIG8gbW9kbyBkZSBhdXRvLWVqZXRhciIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zaW5nIHRyYXkiCittc2dzdHIgIiVzOiBmZWNoYW5kbyBiYW5kZWphIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiVzOiBhYnJpbmRvIGJhbmRlamEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGlzdGluZyBDRC1ST00gc3BlZWQiCittc2dzdHIgIiVzOiBsaXN0YW5kbyB2ZWxvY2lkYWRlIGRvIENELVJPTSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTg2CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogZGV2aWNlIGluIHVzZSIKK21zZ3N0ciAiZXJybzogJXM6IGRpc3Bvc2l0aXZvIGVtIHVzbyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWxlY3RpbmcgQ0QtUk9NIGRpc2MgIyVsZCIKK21zZ3N0ciAiJXM6IHNlbGVjaW9uYW5kbyBkaXNjbyBkZSBDRC1ST00gIyVsZCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIENELVJPTSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIlczogdGVudGFuZG8gZWpldGFyIHVzYW5kbyBvIGNvbWFuZG8gZGUgZWpldGFyIENELVJPTSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMAorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiY29tYW5kbyBkZSBlamXDp8OjbyBkZSBDRC1ST00gb2J0ZXZlIHN1Y2Vzc28iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBTQ1NJIGNvbW1hbmRzIgorbXNnc3RyICIlczogdGVudGFuZG8gZWpldGFyIHVzYW5kbyBjb21hbmRvIFNDU0kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTcKK21zZ2lkICJTQ1NJIGVqZWN0IHN1Y2NlZWRlZCIKK21zZ3N0ciAiZWplw6fDo28gZGUgU0NJUyBvYnRldmUgc3VjZXNzbyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxOAorbXNnaWQgIlNDU0kgZWplY3QgZmFpbGVkIgorbXNnc3RyICJlamXDp8OjbyBkZSBTQ1NJIG9idGV2ZSBzdWNlc3NvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgZmxvcHB5IGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiVzOiB0ZW50YW5kbyBlamV0YXIgdXNhbmRvIG8gY29tYW5kbyBkZSBlamV0YXIgZGlzcXVldGUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjQKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgImNvbWFuZG8gZGUgZWpldGFyIGRpc3F1ZXRlIG9idGV2ZSBzdWNlc3NvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI1Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJjb21hbmRvIGRlIGVqZXRhciBkaXNxdWV0ZSBmYWxob3UiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyB0YXBlIG9mZmxpbmUgY29tbWFuZCIKK21zZ3N0ciAiJXM6IHRlbnRhbmRvIGVqZXRhciB1c2FuZG8gY29tYW5kbyBkZSBmaXRhIGRlc2NvbmVjdGFkYSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMQorbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiY29tYW5kbyBkZSBmaXRhIGRlc2NvbmVjdGFkYSBvYnRldmUgc3VjZXNzbyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMgorbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiY29tYW5kbyBkZSBmaXRhIGRlc2NvbmVjdGFkYSBmYWxob3UiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzYKK21zZ2lkICJ1bmFibGUgdG8gZWplY3QiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBlamV0YXIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo3OAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlbmFtZT5cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gPG5vbWUtYXJxdWl2bz5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjgxCittc2dpZCAiUHJlYWxsb2NhdGUgc3BhY2UgdG8sIG9yIGRlYWxsb2NhdGUgc3BhY2UgZnJvbSBhIGZpbGUuXG4iCittc2dzdHIgIlByw6ktYWxvY2EgZXNwYcOnbyBhLCBvdSBkZXNhbG9jYSBlc3Bhw6dvIGRlLCB1bSBhcnF1aXZvLlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODQKK21zZ2lkICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgcmVtb3ZlIGEgcmFuZ2UgZnJvbSB0aGUgZmlsZVxuIgorbXNnc3RyICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgcmVtb3ZlIHVtIGludGVydmFsbyBkbyBhcnF1aXZvXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NQorbXNnaWQgIiAtZCwgLS1kaWctaG9sZXMgICAgICBkZXRlY3QgemVyb2VzIGFuZCByZXBsYWNlIHdpdGggaG9sZXNcbiIKK21zZ3N0ciAiIC1kLCAtLWRpZy1ob2xlcyAgICAgIGRldGVjdGEgemVyb3MgZSBzdWJzdGl0dWkgY29tIGJ1cmFjb3NcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg2Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgIGxlbmd0aCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1uLCAtLWxlbmd0aCA8bsO6bT4gICBjb21wcmltZW50byBwYXJhIG9wZXJhw6fDtWVzIGRlIGludGVydmFsbyBlbSBieXRlc1xuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODcKK21zZ2lkICIgLW4sIC0ta2VlcC1zaXplICAgICAgbWFpbnRhaW4gdGhlIGFwcGFyZW50IHNpemUgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgIG1hbnTDqW0gbyB0YW1hbmhvIGFwYXJlbnRlIGRvIGFycXVpdm9cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg4Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgIG9mZnNldCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8bsO6bT4gICBwb3Npw6fDo28gcGFyYSBvcGVyYcOnw7VlcyBkZSBpbnRlcnZhbG8sIGVtIGJ5dGVzXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4OQorbXNnaWQgIiAtcCwgLS1wdW5jaC1ob2xlICAgICByZXBsYWNlIGEgcmFuZ2Ugd2l0aCBhIGhvbGUgKGltcGxpZXMgLW4pXG4iCittc2dzdHIgIiAtcCwgLS1wdW5jaC1ob2xlICAgICBzdWJzdGl0dWkgdW0gaW50ZXJ2YWxvIGNvbSB1bSBidXJhY28gKHJlc3VsdGEgZW0gLW4pXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MAorbXNnaWQgIiAteiwgLS16ZXJvLXJhbmdlICAgICB6ZXJvIGFuZCBlbnN1cmUgYWxsb2NhdGlvbiBvZiBhIHJhbmdlXG4iCittc2dzdHIgIiAteiwgLS16ZXJvLXJhbmdlICAgICB6ZXJhIGUgYXNzZWd1cmEgdW1hIGFsb2Nhw6fDo28gZGUgdW0gaW50ZXJ2YWxvXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMjYKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkOiBrZWVwIHNpemUgbW9kZSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiZmFsbG9jYXRlIGZhbGhvdTogc2VtIHN1cG9ydGUgYW8gbW9kbyBkZSBtYW51dGVuw6fDo28gZGUgdGFtYW5obyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEyNworbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQiCittc2dzdHIgImZhbGxvY2F0ZSBmYWxob3UiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgZmFpbGVkIgorbXNnc3RyICIlczogbGVpdHVyYSBmYWxob3UiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglanUgYnl0ZXMpIGNvbnZlcnRlZCB0byBzcGFyc2UgaG9sZXMuXG4iCittc2dzdHIgIiVzOiAlcyAoJWp1IGJ5dGVzKSBjb252ZXJ0aWRhIHBhcmEgYnVyYWNvcyBlc3BhcnNvcy5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM0NiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTgKK21zZ2lkICJubyBmaWxlbmFtZSBzcGVjaWZpZWQiCittc2dzdHIgIm5lbmh1bSBub21lIGRlIGFycXVpdm8gZXNwZWNpZmljYWRvIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzU4IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjQKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgInZhbG9yIGludsOhbGlkbyBkZSBjb21wcmltZW50byBlc3BlY2lmaWNhZG8iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjIKK21zZ2lkICJubyBsZW5ndGggYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJuZW5odW0gYXJndW1lbnRvIGRlIGNvbXByaW1lbnRvIGVzcGVjaWZpY2FkbyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2NworbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAidmFsb3IgaW52w6FsaWRvIGRlIHBvc2nDp8OjbyBlc3BlY2lmaWNhZG8iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IDxjb21tYW5kPiBbPGFyZ3VtZW50Pi4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IC1jIDxjb21tYW5kPlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZSBkZXNjcmlwdG9yIG51bWJlcj5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcMOnw7Vlc10gPGFycXVpdm8+fDxkaXJldMOzcmlvPiA8Y29tYW5kbz4gWzxhcmd1bWVudG9zPi4uLl1cbiIKKyIgJTEkcyBbb3DDp8O1ZXNdIDxhcnF1aXZvfGRpcmV0w7NyaW8+IC1jIDxjb21hbmRvPlxuIgorIiAlMSRzIFtvcMOnw7Vlc10gPG7Dum1lcm8gZGUgZGVzY3JpdG9yIGRlIGFycXVpdm8+XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjU5Cittc2dpZCAiTWFuYWdlIGZpbGUgbG9ja3MgZnJvbSBzaGVsbCBzY3JpcHRzLlxuIgorbXNnc3RyICJHZXJlbmNpYSB0cmF2YXMgZGUgYXJxdWl2byBkZSBzY3JpcHRzIHNoZWxsLlxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MgorbXNnaWQgIiAtcywgLS1zaGFyZWQgICAgICAgICAgICAgZ2V0IGEgc2hhcmVkIGxvY2tcbiIKK21zZ3N0ciAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBvYnTDqW0gdW1hIHRyYXZhIGNvbXBhcnRpbGhhZGFcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjMKK21zZ2lkICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIGdldCBhbiBleGNsdXNpdmUgbG9jayAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC14LCAtLWV4Y2x1c2l2ZSAgICAgICAgICBvYnTDqW0gdW1hIHRyYXZhIGV4Y2x1c2l2YSAocGFkcsOjbylcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjQKK21zZ2lkICIgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIHJlbW92ZSBhIGxvY2tcbiIKK21zZ3N0ciAiIC11LCAtLXVubG9jayAgICAgICAgICAgICByZW1vdmUgdW1hIHRyYXZhXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY1Cittc2dpZCAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICBmYWlsIHJhdGhlciB0aGFuIHdhaXRcbiIKK21zZ3N0ciAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICBmYWxoYSBlbSB2ZXogZGUgZXNwZXJhclxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NgorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCittc2dzdHIgIiAtdywgLS10aW1lb3V0IDxzZWdzPiAgICAgZXNwZXJhIHBvciB1bWEgcXVhbnRpZGFkZSBsaW1pdGFkYSBkZSB0ZW1wb1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NworbXNnaWQgIiAtRSwgLS1jb25mbGljdC1leGl0LWNvZGUgPG51bWJlcj4gIGV4aXQgY29kZSBhZnRlciBjb25mbGljdCBvciB0aW1lb3V0XG4iCittc2dzdHIgIiIKKyIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxuw7ptZXJvPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgY8OzZGlnbyBkZSBzYcOtZGEgYXDDs3MgY29uZmxpdG8gb3UgdGVtcG8gZXNnb3RhZG9cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjgKK21zZ2lkICIgLW8sIC0tY2xvc2UgICAgICAgICAgICAgIGNsb3NlIGZpbGUgZGVzY3JpcHRvciBiZWZvcmUgcnVubmluZyBjb21tYW5kXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tY2xvc2UgICAgICAgICAgICAgIGZlY2hhIG8gZGVzY3JpdG9yIGRlIGFycXVpdm8gYW50ZXMgZGUgZXhlY3V0YXJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgbyBjb21hbmRvXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY5Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICBydW4gYSBzaW5nbGUgY29tbWFuZCBzdHJpbmcgdGhyb3VnaCB0aGUgc2hlbGxcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbW1hbmQgPGNvbWFuZG8+ICBleGVjdXRhIHVtYSDDum5pY2Egc3RyaW5nIGRlIGNvbWFuZG8gY29tIG8gc2hlbGxcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzAKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgIGV4ZWN1dGUgY29tbWFuZCB3aXRob3V0IGZvcmtpbmdcbiIKK21zZ3N0ciAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgICBleGVjdXRhIG8gY29tYW5kbyBzZW0gZm9yayBkdXBsb1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgaW5jcmVhc2UgdmVyYm9zaXR5XG4iCittc2dzdHIgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgYXVtZW50YSBkZXRhbGhhbWVudG9cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyIG8gYXJxdWl2byBkZSB0cmF2YSAlcyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjA1Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IHZhbHVlIgorbXNnc3RyICJ2YWxvciBkZSB0ZW1wbyBsaW1pdGUgaW52w6FsaWRvIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDkKK21zZ2lkICJpbnZhbGlkIGV4aXQgY29kZSIKK21zZ3N0ciAiY8OzZGlnbyBkZSBzYcOtZGEgaW52w6FsaWRvIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMjgKK21zZ2lkICJ0aGUgLS1uby1mb3JrIGFuZCAtLWNsb3NlIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiYXMgb3DDp8O1ZXMgLS1uby1mb3JrIGUgLS1jbG9zZSBzw6NvIGluY29tcGF0w612ZWlzIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgZXhhY3RseSBvbmUgY29tbWFuZCBhcmd1bWVudCIKK21zZ3N0ciAiJXMgcmVxdWVyIGV4YXRhbWVudGUgdW0gYXJndW1lbnRvIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTQKK21zZ2lkICJiYWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICJkZXNjcml0b3IgZGUgYXJxdWl2byBpbnbDoWxpZG8iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NworbXNnaWQgInJlcXVpcmVzIGZpbGUgZGVzY3JpcHRvciwgZmlsZSBvciBkaXJlY3RvcnkiCittc2dzdHIgInJlcXVlciB1bSBkZXNjcml0b3IgZGUgYXJxdWl2bywgYXJxdWl2byBvdSBkaXJldMOzcmlvIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODEKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGxvY2siCittc2dzdHIgImZhbGhhIGFvIG9idGVyIHRyYXZhIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODgKK21zZ2lkICJ0aW1lb3V0IHdoaWxlIHdhaXRpbmcgdG8gZ2V0IGxvY2siCittc2dzdHIgInRlbXBvIGVzZ290YWRvIGVucXVhbnRvIGVzcGVyYXZhIHBhcmEgb2J0ZXIgdHJhdmEiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0dGluZyBsb2NrIHRvb2sgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXM6IG9idGVuw6fDo28gZGEgdHJhdmEgbGV2b3UgJWxkLiUwNmxkIHNlZ3VuZG9zXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIiVzOiBleGVjdXRhbmRvICVzXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50cG9pbnQ+XG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIDxwb250by1tb250YWdlbT5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTMKK21zZ2lkICJTdXNwZW5kIGFjY2VzcyB0byBhIGZpbGVzeXN0ZW0gKGV4dDMvNCwgUmVpc2VyRlMsIEpGUywgWEZTKS5cbiIKK21zZ3N0ciAiU3VzcGVuZGUgYWNlc3NvIGEgdW0gc2lzdGVtYSBkZSBhcnF1aXZvcyAoZXh0My80LCBSZWlzZXJGUywgSkZTIGUgWEZTKS5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTYKK21zZ2lkICIgLWYsIC0tZnJlZXplICAgICAgZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAtZiwgLS1mcmVlemUgICAgICBjb25nZWxhIG8gc2lzdGVtYSBkZSBhcnF1aXZvc1xuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1NworbXNnaWQgIiAtdSwgLS11bmZyZWV6ZSAgICB1bmZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLXUsIC0tdW5mcmVlemUgICAgZGVzY29uZ2VsYSBvIHNpc3RlbWEgZGUgYXJxdWl2b3NcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTE2Cittc2dpZCAibmVpdGhlciAtLWZyZWV6ZSBvciAtLXVuZnJlZXplIHNwZWNpZmllZCIKK21zZ3N0ciAibsOjbyBmb2kgZXNwZWNpZmljYWRvIC0tZnJlZXplIG5lbSAtLXVuZnJlZXplIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXM6IG7Do28gw6kgdW0gZGlyZXTDs3JpbyIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmcmVlemUgZmFpbGVkIgorbXNnc3RyICIlczogY29uZ2VsYW1lbnRvIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIiVzOiBkZXNjb25nZWxhbWVudG8gZmFsaG91IgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXM6IG7Do28gw6kgdW0gZGlyZXTDs3JpbyIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBGSVRSSU0gaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogaW9jdGwgZGUgRklUUklNIGZhbGhvdSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBoZXJlIGlzIGEgdmVyeSBsYXJnZSBudW1iZXIuCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJTxQUkl1NjQ+IGJ5dGVzKSB0cmltbWVkXG4iCittc2dzdHIgIiVzOiAlcyAoJTxQUkl1NjQ+IGJ5dGVzKSBkZXNjYXJ0YWRvXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxOTEgc3lzLXV0aWxzL3N3YXBvbi5jOjcyOSBzeXMtdXRpbHMvdW1vdW50LmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgJXMiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnQgcG9pbnQ+XG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIDxwb250by1tb250YWdlbT5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NAorbXNnaWQgIkRpc2NhcmQgdW51c2VkIGJsb2NrcyBvbiBhIG1vdW50ZWQgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiRGVzY2FydGEgYmxvY29zIG7Do28gdXNhZG9zIGVtIHVtIHNpc3RlbWEgZGUgYXJxdWl2b3MgbW9udGFkb3MuXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTcKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB0cmltIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIHRoYXQgYXJlIHN1cHBvcnRlZFxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgZGVzY2FydGEgdG9kb3Mgc2lzdGVtYXMgZGUgYXJxdWl2b3MgbW9udGFkb3MgcGFyYSBvc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBxdWFpcyBow6Egc3Vwb3J0ZVxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU4Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgdGhlIG9mZnNldCBpbiBieXRlcyB0byBzdGFydCBkaXNjYXJkaW5nIGZyb21cbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8bsO6bT4gIGEgcG9zacOnw6NvIGVtIGJ5dGVzIG9uZGUgc2Vyw6EgaW5pY2lhZG8gbyBkZXNjYXJ0ZVxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgdGhlIG51bWJlciBvZiBieXRlcyB0byBkaXNjYXJkXG4iCittc2dzdHIgIiAtbCwgLS1sZW5ndGggPG7Dum0+ICBvIG7Dum1lcm8gZGUgYnl0ZXMgcGFyYSBkZXNjYXJ0YXJcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MAorbXNnaWQgIiAtbSwgLS1taW5pbXVtIDxudW0+IHRoZSBtaW5pbXVtIGV4dGVudCBsZW5ndGggdG8gZGlzY2FyZFxuIgorbXNnc3RyICIgLW0sIC0tbWluaW11bSA8bsO6bT4gbyBjb21wcmltZW50byBkZSBleHRlbnPDo28gbcOtbmltYSBwYXJhIGRlc2NhcnRhclxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgbnVtYmVyIG9mIGRpc2NhcmRlZCBieXRlc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICBtb3N0cmEgbyBuw7ptZXJvIGRlIGJ5dGVzIGRlc2NhcnRhZG9zXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMTYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWluaW11bSBleHRlbnQgbGVuZ3RoIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBjb21wcmltZW50byBtw61uaW1vIGRhIGV4dGVuc8OjbyIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMyOQorbXNnaWQgIm5vIG1vdW50cG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICJuZW5odW0gcG9udG8gZGUgbW9udGFnZW0gZXNwZWNpZmljYWRhIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGUgZGlzY2FyZCBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiJXM6IHNlbSBzdXBvcnRlIGEgb3BlcmHDp8OjbyBkZSBkZXNjYXJ0ZSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXNzdW1pbmcgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiAlcyB0aW1lLlxuIgorbXNnc3RyICJQcmVzc3Vwb25kbyBxdWUgbyByZWzDs2dpbyBkZSBoYXJkd2FyZSDDqSBtYW50aWRvIG5hIGhvcmEgJXMuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ3IHN5cy11dGlscy9od2Nsb2NrLmM6MzM0Cittc2dpZCAiVVRDIgorbXNnc3RyICJVVEMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ3IHN5cy11dGlscy9od2Nsb2NrLmM6MzMzCittc2dpZCAibG9jYWwiCittc2dzdHIgImxvY2FsIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMxOAorbXNnaWQgIiIKKyJXYXJuaW5nOiB1bnJlY29nbml6ZWQgdGhpcmQgbGluZSBpbiBhZGp0aW1lIGZpbGVcbiIKKyIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pIgorbXNnc3RyICIiCisiQXZpc286IGEgdGVyY2VpcmEgbGluaGEgZG8gYXJxdWl2byBhZGp0aW1lIG7Do28gZm9pIHJlY29uaGVjaWRhXG4iCisiKEVzcGVyYXZhOiBcIlVUQ1wiIG91IFwiTE9DQUxcIiBvdSBuYWRhLikiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgZHJpZnQgYWRqdXN0bWVudCBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiw5psdGltbyBhanVzdGUgZGUgdmFyaWHDp8OjbyBmZWl0byAlbGQgc2VndW5kb3MgYXDDs3MgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGNhbGlicmF0aW9uIGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICLDmmx0aW1hIGNhbGlicmHDp8OjbyBmZWl0YSAlbGQgc2VndW5kb3MgYXDDs3MgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMzMQorIywgYy1mb3JtYXQKK21zZ2lkICJIYXJkd2FyZSBjbG9jayBpcyBvbiAlcyB0aW1lXG4iCittc2dzdHIgIk8gcmVsw7NnaW8gZGUgaGFyZHdhcmUgZXN0w6EgbmEgaG9yYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM1OAorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGZvciBjbG9jayB0aWNrLi4uXG4iCittc2dzdHIgIkFndWFyZGFuZG8gdGlxdWUgZG8gcmVsw7NnaW8uLi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc3luY2hyb25pemF0aW9uIGZhaWxlZFxuIgorbXNnc3RyICIuLi5zaW5jcm9uaXphw6fDo28gZmFsaG91XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmdvdCBjbG9jayB0aWNrXG4iCittc2dzdHIgIi4uLnRpcXVlIGRvIHJlbMOzZ2lvIG9idGlkb1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQyMgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHZhbHVlcyBpbiBoYXJkd2FyZSBjbG9jazogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorbXNnc3RyICJWYWxvcmVzIGludsOhbGlkb3Mgbm8gcmVsw7NnaW8gZGUgaGFyZHdhcmU6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHcgY2xvY2sgdGltZSA6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIkhvcmEgZG8gcmVsw7NnaW8gZGUgaGFyZHdhcmU6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAlbGQgc2VndW5kb3MgZGVzZGUgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ2NQorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHJlYWQgZnJvbSBIYXJkd2FyZSBDbG9jazogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorbXNnc3RyICJIb3JhIGxpZGEgZG8gcmVsw7NnaW8gZGUgSGFyZHdhcmU6ICU0ZC8lLjJkLyUuMmQgJTAyZDolMDJkOiUwMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyBIYXJkd2FyZSBDbG9jayB0byAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiQ29uZmlndXJhbmRvIG8gcmVsw7NnaW8gZGUgaGFyZHdhcmUgcGFyYSAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWd1bmRvcyBkZXNkZSAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNsb2NrIG5vdCBjaGFuZ2VkIC0gdGVzdGluZyBvbmx5LlxuIgorbXNnc3RyICJSZWzDs2dpbyBuw6NvIGFsdGVyYWRvIC0gYXBlbmFzIHRlc3RhbmRvLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYwMworIywgYy1mb3JtYXQKK21zZ2lkICJzbGVlcGluZyB+JWQgdXNlY1xuIgorbXNnc3RyICJkb3JtaW5kbyB+JWQgdXNlY1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGp1bXBlZCBiYWNrd2FyZCAlLjZmIHNlY29uZHMgdG8gJWxkLiUwNmxkIC0gcmV0YXJnZXRpbmdcbiIKK21zZ3N0ciAidGVtcG8gdm9sdG91ICUuNmYgc2VndW5kb3MgcGFyYSAlbGQuJTA2bGQgLSByZWZhemVuZG8gYWx2b1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQuJTA2bGQgPCAlbGQuJTA2bGQgKCUuNmYpXG4iCittc2dzdHIgIiVsZC4lMDZsZCA8ICVsZC4lMDZsZCAoJS42ZilcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2VkIGl0IC0gJWxkLiUwNmxkIGlzIHRvbyBmYXIgcGFzdCAlbGQuJTA2bGQgKCUuNmYgPiAlLjZmKVxuIgorbXNnc3RyICJwZXJkaSAtICVsZC4lMDZsZCDDqSBtdWl0byBkaXN0YW50ZSBkZSAlbGQuJTA2bGQgKCUuNmYgPiAlLjZmKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJWxkLiUwNmxkIGlzIGNsb3NlIGVub3VnaCB0byAlbGQuJTA2bGQgKCUuNmYgPCAlLjZmKVxuIgorIlNldCBSVEMgdG8gJWxkICglbGQgKyAlZDsgcmVmc3lzdGltZSA9ICVsZC4lMDZsZClcbiIKK21zZ3N0ciAiIgorIiVsZC4lMDZsZCDDqSBwZXJ0byBzdWZpY2llbnRlIGRlICVsZC4lMDZsZCAoJS42ZiA8ICUuNmYpXG4iCisiRGVmaW5pZG8gUlRDIHBhcmEgJWxkICglbGQgKyAlZDsgcmVmc3lzdGltZSA9ICVsZC4lMDZsZClcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODgKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgcmVnaXN0ZXJzIGNvbnRhaW4gdmFsdWVzIHRoYXQgYXJlIGVpdGhlciBpbnZhbGlkIChlLmcuIDUwdGggZGF5IG9mIG1vbnRoKSBvciBiZXlvbmQgdGhlIHJhbmdlIHdlIGNhbiBoYW5kbGUgKGUuZy4gWWVhciAyMDk1KS4iCittc2dzdHIgIk9zIHJlZ2lzdHJhZG9yZXMgZG8gcmVsw7NnaW8gZGUgaGFyZHdhcmUgY29udMOqbSB2YWxvcmVzIGludsOhbGlkb3MgKGV4LjogNTDCuiBkaWEgZG8gbcOqcykgb3UgYWzDqW0gZG8gaW50ZXJ2YWxvIHF1ZSBwb2RlbW9zIG1hbmlwdWxhciAoZXguOiBhbm8gMjA5NSkuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjcyOAorbXNnaWQgIk5vIC0tZGF0ZSBvcHRpb24gc3BlY2lmaWVkLiIKK21zZ3N0ciAiTmVuaHVtYSBvcMOnw6NvIC0tZGF0ZSBlc3BlY2lmaWNhZGEuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjczNAorbXNnaWQgIi0tZGF0ZSBhcmd1bWVudCB0b28gbG9uZyIKK21zZ3N0ciAiQXJndW1lbnRvIC0tZGF0ZSBtdWl0byBsb25nbyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NDEKK21zZ2lkICIiCisiVGhlIHZhbHVlIG9mIHRoZSAtLWRhdGUgb3B0aW9uIGlzIG5vdCBhIHZhbGlkIGRhdGUuXG4iCisiSW4gcGFydGljdWxhciwgaXQgY29udGFpbnMgcXVvdGF0aW9uIG1hcmtzLiIKK21zZ3N0ciAiIgorIk8gdmFsb3IgZGEgb3DDp8OjbyAtLWRhdGUgbsOjbyDDqSB1bWEgZGF0YSB2w6FsaWRhLlxuIgorIkVzcGVjaWZpY2FtZW50ZSwgZWxlIGNvbnTDqW0gYXNwYXMuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJJc3N1aW5nIGRhdGUgY29tbWFuZDogJXNcbiIKK21zZ3N0ciAiRW1pdGluZG8gY29tYW5kbyBkYXRlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc1MworbXNnaWQgIlVuYWJsZSB0byBydW4gJ2RhdGUnIHByb2dyYW0gaW4gL2Jpbi9zaCBzaGVsbC4gcG9wZW4oKSBmYWlsZWQiCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBleGVjdXRhciBvIHByb2dyYW1hIFwiZGF0ZVwiIG5vIHNoZWxsIC9iaW4vc2g6IHBvcGVuKCkgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc2MQorIywgYy1mb3JtYXQKK21zZ2lkICJyZXNwb25zZSBmcm9tIGRhdGUgY29tbWFuZCA9ICVzXG4iCittc2dzdHIgInJlc3Bvc3RhIGRvIGNvbWFuZG8gZGF0ZSA9ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCB1bmV4cGVjdGVkIHJlc3VsdHMuXG4iCisiVGhlIGNvbW1hbmQgd2FzOlxuIgorIiAgJXNcbiIKKyJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorIiAgJXMiCittc2dzdHIgIiIKKyJPIGNvbWFuZG8gZGF0ZSBlbWl0aWRvIHBvciAlcyByZXRvcm5vdSByZXN1bHRhZG9zIGluZXNwZXJhZG9zLlxuIgorIk8gY29tYW5kbyBmb2k6XG4iCisiICAlc1xuIgorIkEgcmVzcG9zdGEgZm9pOlxuIgorIiAgJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhbiBpbnRlZ2VyIHdoZXJlIHRoZSBjb252ZXJ0ZWQgdGltZSB2YWx1ZSB3YXMgZXhwZWN0ZWQuXG4iCisiVGhlIGNvbW1hbmQgd2FzOlxuIgorIiAgJXNcbiIKKyJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorIiAlc1xuIgorbXNnc3RyICIiCisiTyBjb21hbmRvIGRhdGUgZW1pdGlkbyBwb3IgJXMgcmV0b3Jub3UgdW0gdmFsb3IgZGlmZXJlbnRlIGRlIHVtIGludGVpcm8gb25kZSBvIHZhbG9yIGRlIGhvcmEgY29udmVydGlkbyBlcmEgZXNwZXJhZG8uXG4iCisiTyBjb21hbmRvIGZvaTpcbiIKKyIgICVzXG4iCisiQSByZXNwb3N0YSBmb2k6XG4iCisiICAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc4NgorIywgYy1mb3JtYXQKK21zZ2lkICJkYXRlIHN0cmluZyAlcyBlcXVhdGVzIHRvICVsZCBzZWNvbmRzIHNpbmNlIDE5NjkuXG4iCittc2dzdHIgIlN0cmluZyBkZSBkYXRlICVzIGVxdWl2YWxlIGEgJWxkIHNlZ3VuZG9zIGRlc2RlIDE5NjkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODI0Cittc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3Qgc2V0IHRoZSBTeXN0ZW0gVGltZSBmcm9tIGl0LiIKK21zZ3N0ciAiTyByZWzDs2dpbyBkZSBoYXJkd2FyZSBuw6NvIGNvbnTDqW0gdW1hIGhvcmEgdsOhbGlkYS4gRW0gZnVuw6fDo28gZGlzc28sIG7Do28gw6kgcG9zc8OtdmVsIGNvbmZpZ3VyYXIgYSBob3JhIGRvIHNpc3RlbWEgYSBwYXJ0aXIgZGVsZS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQzIHN5cy11dGlscy9od2Nsb2NrLmM6OTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5OlxuIgorbXNnc3RyICJDaGFtYW5kbyBzZXR0aW1lb2ZkYXk6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQ0IHN5cy11dGlscy9od2Nsb2NrLmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCittc2dzdHIgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQ2IHN5cy11dGlscy9od2Nsb2NrLmM6OTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorbXNnc3RyICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTAgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgc3lzdGVtIGNsb2NrIGJlY2F1c2UgcnVubmluZyBpbiB0ZXN0IG1vZGUuXG4iCittc2dzdHIgIk8gcmVsw7NnaW8gZG8gc2lzdGVtYSBuw6NvIGVzdMOhIHNlbmRvIGFqdXN0YWRvIHBvcnF1ZSBlc3RhdmEgZXhlY3V0YW5kbyBlbSBtb2RvIGRlIHRlc3RlLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg2NiBzeXMtdXRpbHMvaHdjbG9jay5jOjk2MgorbXNnaWQgIk11c3QgYmUgc3VwZXJ1c2VyIHRvIHNldCBzeXN0ZW0gY2xvY2suIgorbXNnc3RyICLDiSBuZWNlc3PDoXJpbyBzZXIgc3VwZXJ1c3XDoXJpbyBwYXJhIGFqdXN0YXIgbyByZWzDs2dpbyBkbyBzaXN0ZW1hLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4Njkgc3lzLXV0aWxzL2h3Y2xvY2suYzo5NjUKK21zZ2lkICJzZXR0aW1lb2ZkYXkoKSBmYWlsZWQiCittc2dzdHIgInNldHRpbWVvZmRheSgpIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3VycmVudCBzeXN0ZW0gdGltZTogJWxkID0gJXNcbiIKK21zZ3N0ciAiaG9yw6FyaW8gYXR1YWwgZG8gc2lzdGVtYTogJWxkID0gJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHRVVEM6ICVzXG4iCittc2dzdHIgIlx0VVRDOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk5NgorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSAtLXVwZGF0ZS1kcmlmdCBvcHRpb24gd2FzIG5vdCB1c2VkLlxuIgorbXNnc3RyICJPIGZhdG9yIGRlIHZhcmlhw6fDo28gbsOjbyBlc3TDoSBzZW5kbyBhanVzdGFkbyBwb3JxdWUgYSBvcMOnw6NvIC0tdXBkYXRlLWRyaWZ0IG7Do28gZm9pIHVzYWRhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgSGFyZHdhcmUgQ2xvY2sgcHJldmlvdXNseSBjb250YWluZWQgZ2FyYmFnZS5cbiIKK21zZ3N0ciAiTyBmYXRvciBkZSB2YXJpYcOnw6NvIG7Do28gZXN0w6Egc2VuZG8gYWp1c3RhZG8gcG9ycXVlIG8gcmVsw7NnaW8gZGUgaGFyZHdhcmUgY29udGluaGEgbGl4byBhbnRlcmlvcm1lbnRlLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgbGFzdCBjYWxpYnJhdGlvbiB0aW1lIGlzIHplcm8sXG4iCisic28gaGlzdG9yeSBpcyBiYWQgYW5kIGNhbGlicmF0aW9uIHN0YXJ0b3ZlciBpcyBuZWNlc3NhcnkuXG4iCittc2dzdHIgIiIKKyJPIGZhdG9yIGRlIHZhcmlhw6fDo28gbsOjbyBlc3TDoSBzZW5kbyBhanVzdGFkbyBwb3JxdWUgYSBkYXRhIGRlIHN1YSDDumx0aW1hIGNhbGlicmHDp8OjbyDDqSB6ZXJvLFxuIgorImVudMOjbyBvIGhpc3TDs3JpY28gw6kgaW52w6FsaWRvIGUgw6kgbmVjZXNzw6FyaW8gcmVpbmljaWFyIGEgY2FsaWJyYcOnw6NvLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBpdCBoYXMgYmVlbiBsZXNzIHRoYW4gZm91ciBob3VycyBzaW5jZSB0aGUgbGFzdCBjYWxpYnJhdGlvbi5cbiIKK21zZ3N0ciAiTyBmYXRvciBkZSB2YXJpYcOnw6NvIG7Do28gZXN0w6Egc2VuZG8gYWp1c3RhZG8gcG9ycXVlIG1lbm9zIGRlIHF1YXRybyBob3JhcyBzZSBwYXNzYXJhbSBkZXNkZSBhIMO6bHRpbWEgY2FsaWJyYcOnw6NvLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0IGZhY3RvciB3YXMgY2FsY3VsYXRlZCBhcyAlZiBzZWNvbmRzL2RheS5cbiIKKyJJdCBpcyBmYXIgdG9vIG11Y2guIFJlc2V0dGluZyB0byB6ZXJvLlxuIgorbXNnc3RyICIiCisiTyBmYXRvciBkZSB2YXJpYcOnw6NvIGRvIHJlbMOzZ2lvIGZvaSBjYWxjdWxhZG8gY29tbyAlZiBzZWd1bmRvcy9kaWEuXG4iCisiSXNzbyDDqSBkaXN0YW50ZSBkZW1haXMuIFJlZGVmaW5pbmRvIHBhcmEgemVyby5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdGVkICVmIHNlY29uZHMgaW4gdGhlIHBhc3QgJWYgc2Vjb25kc1xuIgorImluIHNwaXRlIG9mIGEgZHJpZnQgZmFjdG9yIG9mICVmIHNlY29uZHMvZGF5LlxuIgorIkFkanVzdGluZyBkcmlmdCBmYWN0b3IgYnkgJWYgc2Vjb25kcy9kYXlcbiIKK21zZ3N0ciAiIgorIk8gcmVsw7NnaW8gdmFyaW91ICVmIHNlZ3VuZG9zIG5vcyDDumx0aW1vcyAlZiBzZWd1bmRvcyxcbiIKKyJhcGVzYXIgZGUgdW0gZmF0b3IgZGUgdmFyaWHDp8OjbyBkZSAlZiBzZWd1bmRvcy9kaWEuXG4iCisiQWp1c3RhbmRvIG8gZmF0b3IgZGUgdmFyaWHDp8OjbyBlbSAlZiBzZWd1bmRvcy9kaWFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVkIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlZCBzZWNvbmRzXG4iCittc2dzdHJbMF0gIk8gdGVtcG8gZGVzZGUgbyDDumx0aW1vIGFqdXN0ZSDDqSBkZSAlZCBzZWd1bmRvXG4iCittc2dzdHJbMV0gIk8gdGVtcG8gZGVzZGUgbyDDumx0aW1vIGFqdXN0ZSDDqSBkZSAlZCBzZWd1bmRvc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsY3VsYXRlZCBIYXJkd2FyZSBDbG9jayBkcmlmdCBpcyAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICJWYXJpYcOnw6NvIGRvIHJlbMOzZ2lvIGRlIGhhcmR3YXJlIGNhbGN1bGFkYSDDqSAlbGQuJTA2bGQgc2VndW5kb3NcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTMzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCB1cGRhdGluZyBhZGp0aW1lIGZpbGUgYmVjYXVzZSBvZiB0ZXN0aW5nIG1vZGUuXG4iCittc2dzdHIgIk8gYXJxdWl2byBhZGp0aW1lIG7Do28gZXN0w6Egc2VuZG8gYXR1YWxpemFkbzogbW9kbyBkZSB0ZXN0ZS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXb3VsZCBoYXZlIHdyaXR0ZW4gdGhlIGZvbGxvd2luZyB0byAlczpcbiIKKyIlcyIKK21zZ3N0ciAiIgorIlRlcmlhIGdyYXZhZG8gbyBzZWd1aW50ZSBlbSAlczpcbiIKKyIlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIGluIGl0ICglcykgZm9yIHdyaXRpbmciCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciBvIGFycXVpdm8gY29tIG9zIHBhcsOibWV0cm9zIGRlIGFqdXN0ZSBkbyByZWzDs2dpbyAoJXMpIHBhcmEgZ3JhdmHDp8OjbyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTQ5IHN5cy11dGlscy9od2Nsb2NrLmM6MTE1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgdXBkYXRlIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzICglcykgaW4gaXQiCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhdHVhbGl6YXIgbyBhcnF1aXZvIGNvbSBvcyBwYXLDom1ldHJvcyBkZSBhanVzdGUgZG8gcmVsw7NnaW8gKCVzKSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTY0Cittc2dpZCAiRHJpZnQgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIG5vdCB1cGRhdGVkLiIKK21zZ3N0ciAiUGFyw6JtZXRyb3MgZGUgYWp1c3RlIGRlIHZhcmlhw6fDo28gbsOjbyBhdHVhbGl6YWRvcy4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIwMAorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IGFkanVzdCBpdC4iCittc2dzdHIgIk8gcmVsw7NnaW8gZGUgaGFyZHdhcmUgbsOjbyBjb250w6ltIHVtYSBob3JhIHbDoWxpZGEsIG7Do28gc2VuZG8gcG9zc8OtdmVsIGFqdXN0w6EtbG8uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBsYXN0IGFkanVzdG1lbnQgdGltZSBpcyB6ZXJvLCBzbyBoaXN0b3J5IGlzIGJhZC5cbiIKK21zZ3N0ciAiTyBmYXRvciBkZSB2YXJpYcOnw6NvIG7Do28gZXN0w6Egc2VuZG8gYWp1c3RhZG8gcG9ycXVlIGEgZGF0YSBkbyDDumx0aW1vIGFqdXN0ZSDDqSB6ZXJvLCBlbnTDo28gbyBoaXN0w7NyaWNvIMOpIGludsOhbGlkby5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjEyCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgZHJpZnQgZmFjdG9yICVmIGlzIGZhciB0b28gaGlnaC5cbiIKK21zZ3N0ciAiTyBmYXRvciBkZSB2YXJpYcOnw6NvIG7Do28gZXN0w6Egc2VuZG8gYWp1c3RhZG8gcG9ycXVlIG8gZmF0b3IgZGUgZGlmZXJlbmNpYcOnw6NvICVmIGVzdMOhIGFsdG8gZGVtYWlzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gdXNhYmxlIGNsb2NrIGludGVyZmFjZSBmb3VuZC5cbiIKK21zZ3N0ciAiTsOjbyBmb2kgZW5jb250cmFkYSB1bWEgaW50ZXJmYWNlIGRlIHJlbMOzZ2lvIHV0aWxpesOhdmVsLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmVlZGVkIGFkanVzdG1lbnQgaXMgbGVzcyB0aGFuIG9uZSBzZWNvbmQsIHNvIG5vdCBzZXR0aW5nIGNsb2NrLlxuIgorbXNnc3RyICJPIGFqdXN0ZSBuZWNlc3PDoXJpbyDDqSBtZW5vciBkbyBxdWUgdW0gc2VndW5kbywgcG9ydGFudG8gbyByZWzDs2dpbyBuw6NvIHNlcsOhIGFqdXN0YWRvLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzODggc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBzZXQgc3lzdGVtIGNsb2NrLlxuIgorbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBhanVzdGFyIG8gcmVsw7NnaW8gZG8gc2lzdGVtYS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjksIFJUQyBpcyBwcmVkaWN0ZWQgdG8gcmVhZCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LlxuIgorbXNnc3RyICJFbSAlbGQgc2VndW5kb3MgYXDDs3MgMTk2OSwgbyBSVEMgw6kgcHJldmlzdG8gcGFyYSBsZXIgJWxkIHNlZ3VuZG9zIGFww7NzIDE5NjkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQzMQorbXNnaWQgIiIKKyJUaGUga2VybmVsIGtlZXBzIGFuIGVwb2NoIHZhbHVlIGZvciB0aGUgSGFyZHdhcmUgQ2xvY2sgb25seSBvbiBhbiBBbHBoYSBtYWNoaW5lLlxuIgorIlRoaXMgY29weSBvZiBod2Nsb2NrIHdhcyBidWlsdCBmb3IgYSBtYWNoaW5lIG90aGVyIHRoYW4gQWxwaGFcbiIKKyIoYW5kIHRodXMgaXMgcHJlc3VtYWJseSBub3QgcnVubmluZyBvbiBhbiBBbHBoYSBub3cpLiAgTm8gYWN0aW9uIHRha2VuLiIKK21zZ3N0ciAiIgorIk8ga2VybmVsIG1hbnTDqW0gdW0gdmFsb3IgZGUgZXBvY2ggcGFyYSBvIHJlbMOzZ2lvIGRlIGhhcmR3YXJlIHNvbWVudGUgZW0gdW1hIG3DoXF1aW5hIEFscGhhLlxuIgorIkVzdGEgY8OzcGlhIGRlIGh3Y2xvY2sgZm9pIGNvbXBpbGFkYSBwYXJhIHVtYSBtw6FxdWluYSBkaWZlcmVudGUgZGUgQWxwaGFcbiIKKyIoZSwgYXNzaW0sIHN1cMO1ZS1zZSBxdWUgbsOjbyBlc3TDoSBzZW5kbyBleGVjdXRhZGEgZW0gdW1hIEFscGhhIG5vIG1vbWVudG8pLiBOZW5odW1hIGHDp8OjbyBmb2kgcmVhbGl6YWRhLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDQ4Cittc2dpZCAiVW5hYmxlIHRvIGdldCB0aGUgZXBvY2ggdmFsdWUgZnJvbSB0aGUga2VybmVsLiIKK21zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgY29uZmlndXJhciBvIHZhbG9yIGRlIGVwb2NoIG5vIGtlcm5lbC4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgaXMgYXNzdW1pbmcgYW4gZXBvY2ggdmFsdWUgb2YgJWx1XG4iCittc2dzdHIgIk8ga2VybmVsIGVzdMOhIHByZXNzdXBvbmRvIHVtIHZhbG9yIGRlIGVwb2NoIGRlICVsdVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NTUKK21zZ2lkICJUbyBzZXQgdGhlIGVwb2NoIHZhbHVlLCB5b3UgbXVzdCB1c2UgdGhlICdlcG9jaCcgb3B0aW9uIHRvIHRlbGwgdG8gd2hhdCB2YWx1ZSB0byBzZXQgaXQuIgorbXNnc3RyICJQYXJhIGNvbmZpZ3VyYXIgbyB2YWxvciBkZSBlcG9jaCwgw6kgbmVjZXNzw6FyaW8gdXNhciBhIG9ww6fDo28gXCJlcG9jaFwiIHBhcmEgaW5mb3JtYXIgcGFyYSBxdWUgdmFsb3IgY29uZmlndXLDoS1sby4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyB0aGUgZXBvY2ggdG8gJWx1IC0gdGVzdGluZyBvbmx5LlxuIgorbXNnc3RyICJFcG9jaCBuw6NvIGNvbmZpZ3VyYWRvIHBhcmEgJWx1OyBhcGVuYXMgdGVzdGFuZG8uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLlxuIgorbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBjb25maWd1cmFyIG8gdmFsb3IgZGUgZXBvY2ggbm8ga2VybmVsLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NTYKK21zZ2lkICIgaHdjbG9jayBbZnVuY3Rpb25dIFtvcHRpb24uLi5dXG4iCittc2dzdHIgIiBod2Nsb2NrIFtmdW7Dp8Ojb10gW29ww6fDo28uLi5dXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU1OQorbXNnaWQgIlF1ZXJ5IG9yIHNldCB0aGUgaGFyZHdhcmUgY2xvY2suXG4iCittc2dzdHIgIkNvbnN1bHRhIG91IGRlZmluZSBvIHJlbMOzZ2lvIGRlIGhhcmR3YXJlLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjEKK21zZ2lkICIiCisiXG4iCisiRnVuY3Rpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiRnVuw6fDtWVzOlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjIKK21zZ2lkICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgIHNob3cgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyIgLXIsIC0tc2hvdyAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisiICAgICAtLWdldCAgICAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IGRyaWZ0IGNvcnJlY3RlZCByZXN1bHRcbiIKKyIgICAgIC0tc2V0ICAgICAgICAgICAgc2V0IHRoZSBSVEMgdG8gdGhlIHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKK21zZ3N0ciAiIgorIiAtaCwgLS1oZWxwICAgICAgICAgICBtb3N0cmEgZXNzZSB0ZXh0byBkZSBhanVkYSBlIHNhaVxuIgorIiAtciwgLS1zaG93ICAgICAgICAgICBsw6ogcmVsw7NnaW8gZGUgaGFyZHdhcmUgZSBtb3N0cmEgbyByZXN1bHRhZG9cbiIKKyIgICAgIC0tZ2V0ICAgICAgICAgICAgbMOqIHJlbMOzZ2lvIGRlIGhhcmR3YXJlIGUgbW9zdHJhIG8gcmVzdWx0YWRvIGRhXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWHDp8OjbyBjb3JyaWdpZGFcbiIKKyIgICAgIC0tc2V0ICAgICAgICAgICAgZGVmaW5lIG8gUlRDIHBhcmEgbyBob3LDoXJpbyBkYWRvIGNvbSAtLWRhdGVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTY2Cittc2dpZCAiIgorIiAtcywgLS1oY3Rvc3lzICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisiIC13LCAtLXN5c3RvaGMgICAgICAgIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgZnJvbSB0aGUgY3VycmVudCBzeXN0ZW0gdGltZVxuIgorIiAgICAgLS1zeXN0eiAgICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRpbWV6b25lXG4iCisiICAgICAtLWFkanVzdCAgICAgICAgIGFkanVzdCB0aGUgUlRDIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgc2luY2VcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY2xvY2sgd2FzIGxhc3Qgc2V0IG9yIGFkanVzdGVkXG4iCittc2dzdHIgIiIKKyIgLXMsIC0taGN0b3N5cyAgICAgICAgZGVmaW5lIG8gaG9yw6FyaW8gZGUgc2lzdGVtYSBkbyByZWzDs2dpbyBkZSBoYXJkd2FyZVxuIgorIiAtdywgLS1zeXN0b2hjICAgICAgICBkZWZpbmUgbyByZWzDs2dpbyBkZSBoYXJkd2FyZSBkbyBob3LDoXJpbyBkZSBzaXN0ZW1hXG4iCisiICAgICAtLXN5c3R6ICAgICAgICAgIGRlZmluZSBvIGhvcsOhcmlvIGRlIHNpc3RlbWEgYmFzZWFkbyBubyBmdXNvIGhvcsOhcmlvXG4iCisiICAgICAtLWFkanVzdCAgICAgICAgIGFqdXN0YSBvIFJUQyBwYXJhIGxldmFyIGVtIGNvbnRhIGEgZGlmZXJlbmNpYcOnw6NvXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgc2lzdGVtw6F0aWNhIGrDoSBxdWUgbyByZWzDs2dpbyBmb2kgbyDDumx0aW1vIGEgc2VyXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5pZG8gb3UgYWp1c3RhZG9cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTcxCittc2dpZCAiIC1jLCAtLWNvbXBhcmUgICAgICAgIHBlcmlvZGljYWxseSBjb21wYXJlIHRoZSBzeXN0ZW0gY2xvY2sgd2l0aCB0aGUgQ01PUyBjbG9ja1xuIgorbXNnc3RyICIiCisiIC1jLCAtLWNvbXBhcmUgICAgICAgIGNvbXBhcmEgcGVyaW9kaWNhbWVudGUgbyByZWzDs2dpbyBkbyBzaXN0ZW1hIGNvbSBvXG4iCisiICAgICAgICAgICAgICAgICAgICAgIHJlbMOzZ2lvIGRhIENNT1NcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTczCittc2dpZCAiIgorIiAgICAgLS1nZXRlcG9jaCAgICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisiICAgICAtLXNldGVwb2NoICAgICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGdpdmVuIHdpdGggLS1lcG9jaFxuIgorbXNnc3RyICIiCisiICAgICAtLWdldGVwb2NoICAgICAgIG1vc3RyYSBvIHZhbG9yIGRlIGVwb2NoIGRvIHJlbMOzZ2lvIGRlIGhhcmR3YXJlIGRvIGhlcm5lbFxuIgorIiAgICAgLS1zZXRlcG9jaCAgICAgICBkZWZpbmUgbyB2YWxvciBkZSBlcG9jaCBkbyByZWzDs2dpbyBkZSBoYXJkd2FyZSBkbyBrZXJuZWxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBwYXJhIG8gdmFsb3IgZGFkbyBjb20gYSBvcMOnw6NvIC0tZXBvY2hcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTc3Cittc2dpZCAiIgorIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IFJUQyByZWFkaW5nIGF0IHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKyIgICAgIC0tcHJlZGljdCAgICAgICAgcHJldsOqIG8gUlRDIGxlbmRvIG5vIHRlbXBvIGRhZG8gY29tIC0tZGF0ZVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICBleGliZSBpbmZvcm1hw6fDo28gZGEgdmVyc8OjbyBlIHNhaVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODEKK21zZ2lkICIiCisiIC11LCAtLXV0YyAgICAgICAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIFVUQ1xuIgorIiAgICAgLS1sb2NhbHRpbWUgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBsb2NhbCB0aW1lXG4iCittc2dzdHIgIiIKKyIgLXUsIC0tdXRjICAgICAgICAgICAgbyByZWzDs2dpbyBkZSBoYXJkd2FyZSDDqSBtYW50aWRvIGVtIFVUQ1xuIgorIiAgICAgLS1sb2NhbHRpbWUgICAgICBvIHJlbMOzZ2lvIGRlIGhhcmR3YXJlIMOpIG1hbnRpZG8gbm8gaG9yw6FyaW8gbG9jYWxcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTg0Cittc2dpZCAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIHNwZWNpYWwgL2Rldi8uLi4gZmlsZSB0byB1c2UgaW5zdGVhZCBvZiBkZWZhdWx0XG4iCittc2dzdHIgIiAtZiwgLS1ydGMgPGFycXVpdm8+IGFycXVpdm8gZXNwZWNpYWwgL2Rldi8uLi4gcGFyYSB1c2FyIGVtIHZleiBkbyBwYWRyw6NvXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLWRpcmVjdGlzYSAgICAgIGFjY2VzcyB0aGUgSVNBIGJ1cyBkaXJlY3RseSBpbnN0ZWFkIG9mICVzXG4iCisiICAgICAtLWJhZHllYXIgICAgICAgIGlnbm9yZSBSVEMncyB5ZWFyIGJlY2F1c2UgdGhlIEJJT1MgaXMgYnJva2VuXG4iCisiICAgICAtLWRhdGUgPHRpbWU+ICAgIHNwZWNpZmllcyB0aGUgdGltZSB0byB3aGljaCB0byBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisiICAgICAtLWVwb2NoIDx5ZWFyPiAgIHNwZWNpZmllcyB0aGUgeWVhciB3aGljaCBpcyB0aGUgYmVnaW5uaW5nIG9mIHRoZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIGNsb2NrJ3MgZXBvY2ggdmFsdWVcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1kaXJlY3Rpc2EgICAgICBhY2Vzc28gZGlyZXRvIGFvIGJhcnJhbWVudG8gSVNBIGVtIHZleiBkZSAlc1xuIgorIiAgICAgLS1iYWR5ZWFyICAgICAgICBpZ25vcmEgbyBhbm8gZG8gUlRDIHBvcnF1ZSBhIEJJT1MgZXN0w6EgZGVmZWl0dW9zYVxuIgorIiAgICAgLS1kYXRlIDxob3LDoXJpbz4gZXNwZWNpZmljYSBvIGhvcsOhcmlvIHBhcmEgbyBxdWFsIHNlIGRlZmluaXLDoSBvXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgcmVsw7NnaW8gZGUgaGFyZHdhcmVcbiIKKyIgICAgIC0tZXBvY2ggPGFubz4gICAgZXNwZWNpZmljYSBvIGFubyBxdWUgw6kgbyBjb21lw6dvIGRvIHZhbG9yIGRlIGVwb2NoIGRlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgcmVsw7NnaW8gZGUgaGFyZHdhcmVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIGRyaWZ0IGZhY3RvciBpbiAlMSRzIChyZXF1aXJlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIC0tc2V0IG9yIC0tc3lzdG9oYylcbiIKKyIgICAgIC0tbm9hZGpmaWxlICAgICAgZG8gbm90IGFjY2VzcyAlMSRzOyB0aGlzIHJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWVcbiIKKyIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlMSRzXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgYXR1YWxpemEgbyBmYXRvciBlbSAlMSRzIChyZXF1ZXIgLS1zZXQgb3VcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAtLXN5c3RvaGMpXG4iCisiICAgICAtLW5vYWRqZmlsZSAgICAgIG7Do28gYWNlc3NhICUxJHM7IGlzc28gZXhpZ2UgbyB1c28gZGUgLS11dGMgb3VcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgLS1sb2NhbHRpbWVcbiIKKyIgICAgIC0tYWRqZmlsZSA8YXJxdWl2bz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgZXNwZWNpZmljYSBvIGNhbWluaG8gcGFyYSBvIGFycXVpdm8gZGUgYWp1c3RlO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIG8gcGFkcsOjbyDDqSAlMSRzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU5OQorbXNnaWQgIiIKKyIgICAgIC0tdGVzdCAgICAgICAgICAgZG8gbm90IHVwZGF0ZSBhbnl0aGluZywganVzdCBzaG93IHdoYXQgd291bGQgaGFwcGVuXG4iCisiIC1ELCAtLWRlYnVnICAgICAgICAgIGRlYnVnZ2luZyBtb2RlXG4iCisiXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGVzdCAgICAgICAgICAgYXR1YWxpemEgbmFkYSwgYXBlbmFzIG1vc3RyYSBvIHF1ZSBhY29udGVjZXJpYVxuIgorIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBtb2RvIGRlIGRlcHVyYcOnw6NvXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTYwMgorbXNnaWQgIiIKKyIgLUp8LS1qZW5zZW4sIC1BfC0tYXJjLCAtU3wtLXNybSwgLUZ8LS1mdW5reS10b3lcbiIKKyIgICAgICB0ZWxsIGh3Y2xvY2sgdGhlIHR5cGUgb2YgQWxwaGEgeW91IGhhdmUgKHNlZSBod2Nsb2NrKDgpKVxuIgorIlxuIgorbXNnc3RyICIiCisiIC1KfC0tamVuc2VuLCAtQXwtLWFyYywgLVN8LS1zcm0sIC1GfC0tZnVua3ktdG95XG4iCisiICAgICAgaW5mb3JtYSBhbyBod2Nsb2NrIG8gdGlwbyBkZSBhbGZhIHF1ZSB2b2PDqiB0ZW0gKGNvbnN1bHRlIGh3Y2xvY2soOCkpXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTcyOAorbXNnaWQgIlVuYWJsZSB0byBjb25uZWN0IHRvIGF1ZGl0IHN5c3RlbSIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGNvbmVjdGFyIGFvIHNpc3RlbWEgZGUgYXVkaXRvcmlhIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4MjYKK21zZ2lkICJpbnZhbGlkIGVwb2NoIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52YcyBbGlkbyBkZSBlcG9jaCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHRha2VzIG5vIG5vbi1vcHRpb24gYXJndW1lbnRzLiAgWW91IHN1cHBsaWVkICVkLlxuIgorbXNnc3RyICIlcyBuw6NvIGFjZWl0YSBhcmd1bWVudG9zIHF1ZSBuw6NvIHNlamFtIGRlIG9ww6fDo28uIFZvY8OqIGZvcm5lY2V1ICVkLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4ODAKK21zZ2lkICJXaXRoIC0tbm9hZGpmaWxlLCB5b3UgbXVzdCBzcGVjaWZ5IGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZSIKK21zZ3N0ciAiQ29tIC0tbm9hZGpmaWxlLCB2b2PDqiBkZXZlIGVzcGVjaWZpY2FyIC0tdXRjIG91IC0tbG9jYWx0aW1lIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4OTMKK21zZ2lkICJObyB1c2FibGUgc2V0LXRvIHRpbWUuICBDYW5ub3Qgc2V0IGNsb2NrLiIKK21zZ3N0ciAiTmVuaHVtYSBob3LDoXJpbyB1dGlsaXrDoXZlbC4gTsOjbyBmb2kgcG9zc8OtdmVsIGNvbmZpZ3VyYXIgbyByZWzDs2dpby4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTkxNworbXNnaWQgIkNhbm5vdCBhY2Nlc3MgdGhlIEhhcmR3YXJlIENsb2NrIHZpYSBhbnkga25vd24gbWV0aG9kLiIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGFjZXNzYXIgbyByZWzDs2dpbyBkZSBoYXJkd2FyZSBwb3IgbmVuaHVtIG3DqXRvZG8gY29uaGVjaWRvLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxOTIwCittc2dpZCAiVXNlIHRoZSAtLWRlYnVnIG9wdGlvbiB0byBzZWUgdGhlIGRldGFpbHMgb2Ygb3VyIHNlYXJjaCBmb3IgYW4gYWNjZXNzIG1ldGhvZC4iCittc2dzdHIgIlVzZSBhIG9ww6fDo28gLS1kZWJ1ZyBwYXJhIGNvbnN1bHRhciBvcyBkZXRhbGhlcyBkZSBub3NzYSBwZXNxdWlzYSBwb3IgdW0gbcOpdG9kbyBkZSBhY2Vzc28uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgImJvb3RlZCBmcm9tIE1JTE9cbiIKK21zZ3N0ciAiaW5pY2lhbGl6YcOnw6NvIGRvIE1JTE9cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJSdWZmaWFuIEJDRCBjbG9ja1xuIgorbXNnc3RyICJSZWzDs2dpbyBCQ0QgUnVmZmlhblxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb2NrcG9ydCBhZGp1c3RlZCB0byAweCV4XG4iCittc2dzdHIgInBvcnRhIGRvIHJlbMOzZ2lvIGFqdXN0YWRhIHBhcmEgMHgleFxuIgorCisjIFF1YWwgYSBtZWxob3IgdHJhZHXDp8Ojbz8gVE9ZIMOpICJ0aW1lIG9mIHllYXIiCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjcwCisjLCBjLWZvcm1hdAorbXNnaWQgImZ1bmt5IFRPWSFcbiIKK21zZ3N0ciAiZnVua3kgVE9ZIVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mjk4CisjLCBjLWZvcm1hdAorbXNnaWQgImF0b21pYyAlcyBmYWlsZWQgZm9yIDEwMDAgaXRlcmF0aW9ucyEiCittc2dzdHIgIiVzIGF0w7RtaWNvIGZhbGhvdSBwb3IgMTAwMCBpdGVyYcOnw7VlcyEiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc19yZWFkKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgImNtb3NfcmVhZCgpOiBncmF2YcOnw6NvIHBhcmEgY29udHJvbGUgZGUgZW5kZXJlw6dvICVYIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjMyOAorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3JlYWQoKTogcmVhZCBmcm9tIGRhdGEgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgImNtb3NfcmVhZCgpOiBsZWl0dXJhIGRlIGVuZGVyZcOnbyBkZSBkYWRvcyAlWCBmYWxob3UiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICJjbW9zX3dyaXRlKCk6IGdyYXZhw6fDo28gcGFyYSBjb250cm9sZSBkZSBlbmRlcmXDp28gJVggZmFsaG91IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3Nfd3JpdGUoKTogd3JpdGUgdG8gZGF0YSBhZGRyZXNzICVYIGZhaWxlZCIKK21zZ3N0ciAiY21vc193cml0ZSgpOiBncmF2YcOnw6NvIGRlIGRhZG9zIGRlIGVuZGVyZcOnbyAlWCBmYWxob3UiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NDUKK21zZ2lkICJJIGZhaWxlZCB0byBnZXQgcGVybWlzc2lvbiBiZWNhdXNlIEkgZGlkbid0IHRyeS4iCittc2dzdHIgIkV1IGZhbGhlaSBlbSBvYnRlciBwZXJtaXNzw6NvIHBvcnF1ZSBuw6NvIHRlbnRlaS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NDgKK21zZ2lkICJ1bmFibGUgdG8gZ2V0IEkvTyBwb3J0IGFjY2VzczogIHRoZSBpb3BsKDMpIGNhbGwgZmFpbGVkLiIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIG9idGVyIGFjZXNzbyBhIHBvcnRhIEUvUzogYSBjaGFtYWRhIGlvcGwoMykgZmFsaG91LiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY1MQorbXNnaWQgIlByb2JhYmx5IHlvdSBuZWVkIHJvb3QgcHJpdmlsZWdlcy5cbiIKK21zZ3N0ciAiUHJvdmF2ZWxtZW50ZSBzw6NvIG5lY2Vzc8OhcmlvcyBwcml2aWzDqWdpb3MgZGUgcm9vdC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY1OAorbXNnaWQgIlVzaW5nIGRpcmVjdCBJL08gaW5zdHJ1Y3Rpb25zIHRvIElTQSBjbG9jay4iCittc2dzdHIgIlVzYW5kbyBpbnN0cnXDp8O1ZXMgZGlyZXRhcyBkZSBFL1MgcGFyYSByZWzDs2dpbyBJU0EuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHJlYWQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICJpb2N0bCglcykgcGFyYSAlcyBwYXJhIGxlciBhIGhvcmEgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gJXMgdG8gY2hhbmdlXG4iCittc2dzdHIgIkFndWFyZGFuZG8gZW0gbG9vcCBhdMOpIHF1ZSBhIGhvcmEgZGUgJXMgbXVkZVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMzYKK21zZ2lkICJUaW1lZCBvdXQgd2FpdGluZyBmb3IgdGltZSBjaGFuZ2UuIgorbXNnc3RyICJUZW1wbyBsaW1pdGUgZXhjZWRpZG8gYW8gZXNwZXJhciBwZWxhIGFsdGVyYcOnw6NvIGRhIGhvcmEuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgaGF2ZSBpbnRlcnJ1cHQgZnVuY3Rpb25zLiAiCittc2dzdHIgIiVzIG7Do28gcG9zc3VpIGZ1bsOnw7VlcyBkZSBpbnRlcnJ1cMOnw6NvLiAiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMwMgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKK21zZ3N0ciAic2VsZWN0KCkgcGFyYSAlcyBwYXJhIGFndWFyZGFyIHRpcXVlIGRvIHJlbMOzZ2lvIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgdGltZWQgb3V0IgorbXNnc3RyICJzZWxlY3QoKSBwYXJhICVzIHBhcmEgYWd1YXJkYXIgdGlxdWUgZG8gcmVsw7NnaW8gZXhwaXJvdSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvZmYgdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIgorbXNnc3RyICJpb2N0bCgpIHBhcmEgJXMgcGFyYSBkZXNsaWdhciBpbnRlcnJ1cMOnw7VlcyBkZSBhdHVhbGl6YcOnw6NvIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvbiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQgdW5leHBlY3RlZGx5IgorbXNnc3RyICJpb2N0bCgpIHBhcmEgJXMgcGFyYSBsaWdhciBpbnRlcnJ1cMOnw7VlcyBkZSBhdHVhbGl6YcOnw6NvIGZhbGhvdSBpbmVzcGVyYWRhbWVudGUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gc2V0IHRoZSB0aW1lIGZhaWxlZC4iCittc2dzdHIgImlvY3RsKCVzKSBwYXJhICVzIHBhcmEgZGVmaW5pciBhIGhvcmEgZmFsaG91LiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB3YXMgc3VjY2Vzc2Z1bC5cbiIKK21zZ3N0ciAiaW9jdGwoJXMpIG9idGV2ZSBzdWNlc3NvLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozODcKK21zZ2lkICJVc2luZyB0aGUgL2RldiBpbnRlcmZhY2UgdG8gdGhlIGNsb2NrLiIKK21zZ3N0ciAiVXNhbmRvIGEgaW50ZXJmYWNlIC9kZXYgcGFyYSBvIHJlbMOzZ2lvLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDE3IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ2NAorIywgYy1mb3JtYXQKK21zZ2lkICJUbyBtYW5pcHVsYXRlIHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLCB3ZSBtdXN0IGFjY2VzcyB0aGUgTGludXggJ3J0YycgZGV2aWNlIGRyaXZlciB2aWEgdGhlIGRldmljZSBzcGVjaWFsIGZpbGUgJXMuICBUaGlzIGZpbGUgZG9lcyBub3QgZXhpc3Qgb24gdGhpcyBzeXN0ZW0uIgorbXNnc3RyICJQYXJhIG1hbmlwdWxhciBvIHZhbG9yIGRlIGVwb2NoIG5vIGtlcm5lbCwgw6kgbmVjZXNzw6FyaW8gYWNlc3NhciBvIGRyaXZlciBkZSBkaXNwb3NpdGl2byBcInJ0Y1wiIGRvIExpbnV4LCBhdHJhdsOpcyBkbyBhcnF1aXZvIGRlIGRpc3Bvc2l0aXZvIGVzcGVjaWFsICVzLiAgTm8gZW50YW50bywgZXNzZSBhcnF1aXZvIG7Do28gZXhpc3RlIG5lc3RlIHNpc3RlbWEuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoUlRDX0VQT0NIX1JFQUQpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoUlRDX0VQT0NIX1JFQUQpIHBhcmEgJXMgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAid2UgaGF2ZSByZWFkIGVwb2NoICVsdSBmcm9tICVzIHdpdGggUlRDX0VQT0NIX1JFQUQgaW9jdGwuXG4iCittc2dzdHIgIm7Ds3MgbGVtb3MgZXBvY2ggJWx1IGRlICVzIGNvbSBpb2N0bCBSVENfRVBPQ0hfUkVBRC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlcG9jaCB2YWx1ZSBtYXkgbm90IGJlIGxlc3MgdGhhbiAxOTAwLiAgWW91IHJlcXVlc3RlZCAlbGQiCittc2dzdHIgIk8gdmFsb3IgZGUgZXBvY2ggbsOjbyBwb2RlIHNlciBtZW5vciBxdWUgMTkwMC4gIFZvY8OqIHNvbGljaXRvdSAlbGQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIGVwb2NoIHRvICVsdSB3aXRoIFJUQ19FUE9DSF9TRVQgaW9jdGwgdG8gJXMuXG4iCittc2dzdHIgImNvbmZpZ3VyYW5kbyBlcG9jaCBjb21vICVsdSBjb20gaW9jdGwgUlRDX0VQT0NIX1NFVCBwYXJhICVzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGtlcm5lbCBkZXZpY2UgZHJpdmVyIGZvciAlcyBkb2VzIG5vdCBoYXZlIHRoZSBSVENfRVBPQ0hfU0VUIGlvY3RsLiIKK21zZ3N0ciAiTyBkcml2ZXIgZGUgZGlzcG9zaXRpdm8gZG8ga2VybmVsIHBhcmEgJXMgbsOjbyBwb3NzdWkgbyBpb2N0bCBSVENfRVBPQ0hfU0VULiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKFJUQ19FUE9DSF9TRVQpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoUlRDX0VQT0NIX1NFVCkgcGFyYSAlcyBmYWxob3UiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjY5Cittc2dpZCAiQ3JlYXRlIHZhcmlvdXMgSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiQ3JpYSB2w6FyaW9zIHJlY3Vyc29zIGRlIElQQy5cbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzIKK21zZ2lkICIgLU0sIC0tc2htZW0gPHNpemU+ICAgICAgIGNyZWF0ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgb2Ygc2l6ZSA8c2l6ZT5cbiIKK21zZ3N0ciAiIgorIiAtTSwgLS1zaG1lbSA8dGFtYW5obz4gICAgY3JpYSB1bSBzZWdtZW50byBkZSBtZW3Ds3JpYSBjb21wYXJ0aWxoYWRhIGRlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhbWFuaG8gPHRhbWFuaG8+XG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjczCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZSA8bnVtYmVyPiBjcmVhdGUgc2VtYXBob3JlIGFycmF5IHdpdGggPG51bWJlcj4gZWxlbWVudHNcbiIKK21zZ3N0ciAiIC1TLCAtLXNlbWFwaG9yZSA8bsO6bT4gICAgY3JpYSBkZSB2ZXRvciBzZW3DoWZvcm9zIGNvbSA8bsO6bT4gZWxlbWVudG9zXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc0Cittc2dpZCAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICBjcmVhdGUgbWVzc2FnZSBxdWV1ZVxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIGNyaWEgdW1hIGZpbGEgZGUgbWVuc2FnZW1cbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzUKK21zZ2lkICIgLXAsIC0tbW9kZSA8bW9kZT4gICAgICAgIHBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZSAoZGVmYXVsdCBpcyAwNjQ0KVxuIgorbXNnc3RyICIgLXAsIC0tbW9kZSA8bW9kbz4gICAgICAgIHBlcm1pc3PDo28gZG8gcmVjdXJzbyAocGFkcsOjbyDDqSAwNjQ0KVxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTAgc3lzLXV0aWxzL2xvc2V0dXAuYzo2OTcgc3lzLXV0aWxzL3pyYW1jdGwuYzo2MjIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgbyB0YW1hbmhvIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWxlbWVudHMiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIG9zIGVsZW1lbnRvcyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQxCittc2dpZCAiY3JlYXRlIHNoYXJlIG1lbW9yeSBmYWlsZWQiCittc2dzdHIgImNyaWHDp8OjbyBkZSBtZW3Ds3JpYSBjb21wYXJ0aWxoYWRhIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoYXJlZCBtZW1vcnkgaWQ6ICVkXG4iCittc2dzdHIgIklEIGRlIG1lbcOzcmlhIGNvbXBhcnRpbGhhZGE6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0OQorbXNnaWQgImNyZWF0ZSBtZXNzYWdlIHF1ZXVlIGZhaWxlZCIKK21zZ3N0ciAiY3JpYcOnw6NvIGRlIGZpbGEgZGUgbWVuc2FnZW0gZmFsaG91IgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBxdWV1ZSBpZDogJWRcbiIKK21zZ3N0ciAiSUQgZGUgZmlsYSBkZSBtZW5zYWdlbnM6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1NworbXNnaWQgImNyZWF0ZSBzZW1hcGhvcmUgZmFpbGVkIgorbXNnc3RyICJjcmlhw6fDo28gZGUgc2Vtw6Fmb3JvIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbWFwaG9yZSBpZDogJWRcbiIKK21zZ3N0ciAiSUQgZG8gc2Vtw6Fmb3JvOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPGlkPi4uLlxuIgorbXNnc3RyICIiCisiICUxJHMgW29ww6fDtWVzXVxuIgorIiAlMSRzIHNobXxtc2d8c2VtIDxpZD4uLi5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTQKK21zZ2lkICJSZW1vdmUgY2VydGFpbiBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICJSZW1vdmUgY2VydG9zIHJlY3Vyc29zIGRlIElQQy5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTcKK21zZ2lkICIgLW0sIC0tc2htZW0taWQgPGlkPiAgICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBpZFxuIgorbXNnc3RyICIgLW0sIC0tc2htZW0taWQgPGlkPiAgICAgICAgcmVtb3ZlIHNlZ21lbnRvIGRlIG1lbcOzcmlhIGNvbXBhcnRpbGhhZGEgcGVsbyBpZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OAorbXNnaWQgIiAtTSwgLS1zaG1lbS1rZXkgPGtleT4gICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGtleVxuIgorbXNnc3RyICIiCisiIC1NLCAtLXNobWVtLWtleSA8Y2hhdmU+ICAgIHJlbW92ZSBzZWdtZW50byBkZSBtZW3Ds3JpYSBjb21wYXJ0aWxoYWRhXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVsYSBjaGF2ZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OQorbXNnaWQgIiAtcSwgLS1xdWV1ZS1pZCA8aWQ+ICAgICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBpZFxuIgorbXNnc3RyICIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAgcmVtb3ZlIGZpbGEgZGUgbWVuc2FnZW5zIHBlbG8gaWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjAKK21zZ2lkICIgLVEsIC0tcXVldWUta2V5IDxrZXk+ICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkga2V5XG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZS1rZXkgPGNoYXZlPiAgICByZW1vdmUgZmlsZSBkZSBtZW5zYWdlbnMgcGVsYSBjaGF2ZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MQorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmUtaWQgPGlkPiAgICByZW1vdmUgc2VtYXBob3JlIGJ5IGlkXG4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmUtaWQgPGlkPiAgICByZW1vdmUgc2Vtw6Fmb3JvIHBlbG8gaWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjIKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlLWtleSA8a2V5PiAgcmVtb3ZlIHNlbWFwaG9yZSBieSBrZXlcbiIKK21zZ3N0ciAiIgorIiAtUywgLS1zZW1hcGhvcmUta2V5IDxjaGF2ZT5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlIHNlbcOhZm9ybyBwZWxhIGNoYXZlXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYzCittc2dpZCAiIC1hLCAtLWFsbFs9c2htfG1zZ3xzZW1dICAgIHJlbW92ZSBhbGwgKGluIHRoZSBzcGVjaWZpZWQgY2F0ZWdvcnkpXG4iCittc2dzdHIgIiAtYSwgLS1hbGxbPTxzaG18bXNnfHNlbT5dICByZW1vdmUgdHVkbyAobmEgY2F0ZWdvcmlhIGVzcGVjaWZpY2FkYSlcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIGV4cGxpY2EgbyBxdWUgZXN0w6Egc2VuZG8gZmVpdG9cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3Zpbmcgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGlkIGAlZCdcbiIKK21zZ3N0ciAicmVtb3ZlbmRvIElEIGRlIHNlZ21lbnRvIGRlIG1lbcOzcmlhIGNvbXBhcnRpbGhhZGEgXCIlZFwiXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIG1lc3NhZ2UgcXVldWUgaWQgYCVkJ1xuIgorbXNnc3RyICJyZW1vdmVuZG8gSUQgZGUgZmlsYSBkZSBtZW5zYWdlbnMgXCIlZFwiXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNlbWFwaG9yZSBpZCBgJWQnXG4iCittc2dzdHIgInJlbW92ZW5kbyBJRCBkZSBzZW3DoWZvcm8gXCIlZFwiXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOCBzeXMtdXRpbHMvaXBjcm0uYzoyMjIKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3Iga2V5IgorbXNnc3RyICJwZXJtaXNzw6NvIG5lZ2FkYSBwZWxhIGNoYXZlIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDgKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3IgaWQiCittc2dzdHIgInBlcm1pc3PDo28gbmVnYWRhIHBlbG8gSUQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMSBzeXMtdXRpbHMvaXBjcm0uYzoyMjgKK21zZ2lkICJpbnZhbGlkIGtleSIKK21zZ3N0ciAiY2hhdmUgaW52w6FsaWRhIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEKK21zZ2lkICJpbnZhbGlkIGlkIgorbXNnc3RyICJJRCBpbnbDoWxpZG8iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNCBzeXMtdXRpbHMvaXBjcm0uYzoyMjUKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQga2V5IgorbXNnc3RyICJjaGF2ZSBqw6EgcmVtb3ZpZGEiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNAorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBpZCIKK21zZ3N0ciAiSUQgasOhIHJlbW92aWRvIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcgc3lzLXV0aWxzL2lwY3JtLmM6MjMxCittc2dpZCAia2V5IGZhaWxlZCIKK21zZ3N0ciAiY2hhdmUgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcKK21zZ2lkICJpZCBmYWlsZWQiCittc2dzdHIgIklEIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWQ6ICVzIgorbXNnc3RyICJJRCBpbnbDoWxpZG86ICVzIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzb3VyY2UocykgZGVsZXRlZFxuIgorbXNnc3RyICJyZWN1cnNvKHMpIGV4Y2x1w61kb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBrZXkgKCVzKSIKK21zZ3N0ciAiY2hhdmUgaWxlZ2FsICglcykiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI1NgorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAibyBrZXJuZWwgbsOjbyBlc3TDoSBjb25maWd1cmFkbyBwYXJhIG1lbcOzcmlhIGNvbXBhcnRpbGhhZGEiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI2OQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3JlcyIKK21zZ3N0ciAibyBrZXJuZWwgbsOjbyBlc3TDoSBjb25maWd1cmFkbyBwYXJhIHNlbcOhZm9yb3MiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI5MAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgIm8ga2VybmVsIG7Do28gZXN0w6EgY29uZmlndXJhZG8gcGFyYSBtZW3Ds3JpYSBjb21wYXJ0aWxoYWRhIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbcmVzb3VyY2Utb3B0aW9uLi4uXSBbb3V0cHV0LW9wdGlvbl1cbiIKKyIgJTEkcyAtbXwtcXwtcyAtaSA8aWQ+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbb3DDp8Ojby1yZWN1cnNvLi4uXSBbb3DDp8Ojby1zYcOtZGFdXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU2IHN5cy11dGlscy9sc2lwYy5jOjI4MAorbXNnaWQgIlNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMuXG4iCittc2dzdHIgIk1vc3RyYSBpbmZvcm1hw6fDtWVzIHNvYnJlIGZhY2lsaWRhZGVzIElQQy5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OQorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIgLWksIC0taWQgPGlkPiAgZXhpYmUgZGV0YWxoZXMgc29icmUgbyByZWN1cnNvIGlkZW50aWZpY2FkbyBwZWxvIDxpZD5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NCBzeXMtdXRpbHMvbHNpcGMuYzoyODMKK21zZ2lkICJSZXNvdXJjZSBvcHRpb25zOlxuIgorbXNnc3RyICJPcMOnw7VlcyBkZSByZWN1cnNvczpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NSBzeXMtdXRpbHMvbHNpcGMuYzoyODQKK21zZ2lkICIgLW0sIC0tc2htZW1zICAgICAgc2hhcmVkIG1lbW9yeSBzZWdtZW50c1xuIgorbXNnc3RyICIgLW0sIC0tc2htZW1zICAgICAgc2VnbWVudG9zIGRlIG1lbcOzcmlhIGNvbXBhcnRpbGhhZGFcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NiBzeXMtdXRpbHMvbHNpcGMuYzoyODUKK21zZ2lkICIgLXEsIC0tcXVldWVzICAgICAgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlcyAgICAgIGZpbGFzIGRlIG1lbnNhZ2Vuc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY3IHN5cy11dGlscy9sc2lwYy5jOjI4NgorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hcGhvcmVzXG4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmVzICBzZW3DoWZvcm9zXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjgKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgYWxsIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgdG9kb3MgKHBhZHLDo28pXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzEKK21zZ2lkICJPdXRwdXQgb3B0aW9uczpcbiIKK21zZ3N0ciAiT3DDp8O1ZXMgZGUgc2HDrWRhOlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcyCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAgbW9zdHJhIGhvcsOhcmlvcyBkZSBhbmV4YcOnw6NvLCBkZXN0YWNhbWVudG8gZSBhbHRlcmHDp8Ojb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjczCittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgIHNob3cgUElEcyBvZiBjcmVhdG9yIGFuZCBsYXN0IG9wZXJhdG9yXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICBtb3N0cmEgUElEcyBkbyBjcmlhZG9yIGUgZG8gw7psdGltbyBvcGVyYWRvclxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc0Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiIC1jLCAtLWNyZWF0b3IgICAgIG1vc3RyYSBjcmlhZG9yIGUgZG9ub1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc1Cittc2dpZCAiIC1sLCAtLWxpbWl0cyAgICAgIHNob3cgcmVzb3VyY2UgbGltaXRzXG4iCittc2dzdHIgIiAtbCwgLS1saW1pdHMgICAgICBtb3N0cmEgbGltaXRlcyBkZSByZWN1cnNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKK21zZ2lkICIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIgorbXNnc3RyICIgLXUsIC0tc3VtbWFyeSAgICAgbW9zdHJhIHJlc3VtbyBkZSBlc3RhZG9cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NworbXNnaWQgIiAgICAgLS1odW1hbiAgICAgICBzaG93IHNpemVzIGluIGh1bWFuLXJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0taHVtYW4gICAgICAgbW9zdHJhIHRhbWFuaG9zIGVtIHVtIGZvcm1hdG8gbGVnw612ZWwgcG9yIGh1bWFub3NcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3OAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICBzaG93IHNpemVzIGluIGJ5dGVzXG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICBtb3N0cmEgdGFtYW5ob3MgZW0gYnl0ZXNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoxNjQKK21zZ2lkICJ3aGVuIHVzaW5nIGFuIElELCBhIHNpbmdsZSByZXNvdXJjZSBtdXN0IGJlIHNwZWNpZmllZCIKK21zZ3N0ciAiYW8gdXNhciB1bSBJRCwgYXBlbmFzIHVtIHJlY3Vyc28gZGV2ZSBzZXIgZXNwZWNpZmljYWRvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2hhcmVkIG1lbW9yeSBsaW1pdHNcbiIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIG9idGVyIGxpbWl0ZXMgZGUgbWVtw7NyaWEgY29tcGFydGlsaGFkYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLSBMaW1pdGVzIGRhIG1lbcOzcmlhIGNvbXBhcnRpbGhhZGEgLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIHNlZ21lbnRzID0gJWp1XG4iCittc2dzdHIgIk7Dum1lcm8gbcOheGltbyBkZSBzZWdtZW50b3MgPSAlanVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDkKK21zZ2lkICJtYXggc2VnIHNpemUiCittc2dzdHIgIlRhbWFuaG8gbcOheGltbyBkZSBzZWdtZW50b3MiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjExCittc2dpZCAibWF4IHRvdGFsIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgInRvdGFsIG3DoXhpbW8gZGUgbWVtw7NyaWEgY29tcGFydGlsaGFkYSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTQKK21zZ2lkICJtaW4gc2VnIHNpemUiCittc2dzdHIgIlRhbWFuaG8gbcOtbmltbyBkZSBzZWdtZW50b3MiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjI2CisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeVxuIgorbXNnc3RyICJvIGtlcm5lbCBuw6NvIGVzdMOhIGNvbmZpZ3VyYWRvIHBhcmEgbWVtw7NyaWEgY29tcGFydGlsaGFkYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzMAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLSBTdGF0dXMgZGEgbWVtw7NyaWEgY29tcGFydGlsaGFkYSAtXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGlzIG91dHB1dCBmb3JtYXQgaXMgbWFpbnRhaW5lZCBmb3IgYmFja3dhcmQKKyMuIGNvbXBhdGliaWxpdHkgYXMgaXBjcyBpcyB1c2VkIGluIHNjcmlwdHMuIEZvciBjb25zaXN0ZW5jeQorIy4gd2l0aCB0aGUgcmVzdCwgdGhlIHRyYW5zbGF0ZWQgZm9ybSBjYW4gZm9sbG93IHRoaXMgbW9kZWw6CisjLiAqCisjLiAic2VnbWVudHMgYWxsb2NhdGVkID0gJWRcbiIKKyMuICJwYWdlcyBhbGxvY2F0ZWQgPSAlbGRcbiIKKyMuICJwYWdlcyByZXNpZGVudCA9ICVsZFxuIgorIy4gInBhZ2VzIHN3YXBwZWQgPSAlbGRcbiIKKyMuICJzd2FwIHBlcmZvcm1hbmNlID0gJWxkIGF0dGVtcHRzLCAlbGQgc3VjY2Vzc2VzXG4iCisjLgorIzogc3lzLXV0aWxzL2lwY3MuYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInNlZ21lbnRzIGFsbG9jYXRlZCAlZFxuIgorInBhZ2VzIGFsbG9jYXRlZCAlbGRcbiIKKyJwYWdlcyByZXNpZGVudCAgJWxkXG4iCisicGFnZXMgc3dhcHBlZCAgICVsZFxuIgorIlN3YXAgcGVyZm9ybWFuY2U6ICVsZCBhdHRlbXB0c1x0ICVsZCBzdWNjZXNzZXNcbiIKK21zZ3N0ciAiIgorInNlZ21lbnRvcyBhbG9jYWRvcyAlZFxuIgorInDDoWdpbmFzIGFsb2NhZGFzICAgJWxkXG4iCisicMOhZ2luYXMgcmVzaWRlbnRlcyAlbGRcbiIKKyJww6FnaW5hcyB0cm9jYWRhcyAgICVsZFxuIgorIlBlcmZvcm1hbmNlIGRlIHRyb2NhOiAlbGQgdGVudGF0aXZhc1x0ICVsZCBzdWNlc3Nvc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI1OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50IENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICJDcmlhZG9yZXMvZG9ub3MgZGUgc2VnbWVudG9zIGRlIG1lbcOzcmlhIGNvbXBhcnRpbGhhZGFcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyNzQKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwCittc2dpZCAic2htaWQiCittc2dzdHIgInNobWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjI4MCBzeXMtdXRpbHMvaXBjcy5jOjM4NgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo0ODkgc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJwZXJtcyIKK21zZ3N0ciAicGVybXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiY3VpZCIKK21zZ3N0ciAiY3VpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJjZ2lkIgorbXNnc3RyICJjZ2lkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgInVpZCIKK21zZ3N0ciAidWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgImdpZCIKK21zZ3N0ciAiZ2lkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBBdHRhY2gvRGV0YWNoL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICJIb3LDoXJpb3MgZGUgYW5leGHDp8Ojby9kZXN0YWNhbWVudG8vYWx0ZXJhw6fDo28gZGEgbWVtw7NyaWEgY29tcGFydGlsaGFkYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI3NCBzeXMtdXRpbHMvaXBjcy5jOjI4MAorIzogc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo0OTUKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxIHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAib3duZXIiCittc2dzdHIgInByb3ByaWV0w6FyaW8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3Cittc2dpZCAiYXR0YWNoZWQiCittc2dzdHIgImFuZXhhZG8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3Cittc2dpZCAiZGV0YWNoZWQiCittc2dzdHIgImRlc3RhY2FkbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjgKK21zZ2lkICJjaGFuZ2VkIgorbXNnc3RyICJhbHRlcmFkbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQ3JlYXRvci9MYXN0LW9wIFBJRHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLVBJRHMgQ3JpYWRvci/Dumx0aW1hIG9wIGRhIG1lbcOzcmlhIGNvbXBhcnRpbGhhZGEtXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc0Cittc2dpZCAiY3BpZCIKK21zZ3N0ciAiY3BpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzQKK21zZ2lkICJscGlkIgorbXNnc3RyICJscGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50cyAtLS0tLS0tLVxuIgorbXNnc3RyICItIFNlZ21lbnRvcyBkYSBtZW3Ds3JpYSBjb21wYXJ0aWxoYWRhIC1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJrZXkiCittc2dzdHIgImNoYXZlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MSBzeXMtdXRpbHMvaXBjcy5jOjUwOAorbXNnaWQgInNpemUiCittc2dzdHIgInRhbWFuaG8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgxIHN5cy11dGlscy9wcmxpbWl0LmM6NzUgc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OCBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIgc3lzLXV0aWxzL3BybGltaXQuYzo4NiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAiYnl0ZXMiCittc2dzdHIgImJ5dGVzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MgorbXNnaWQgIm5hdHRjaCIKK21zZ3N0ciAibmF0dGNoIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MgorbXNnaWQgInN0YXR1cyIKK21zZ3N0ciAic3RhdHVzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMwNiBzeXMtdXRpbHMvaXBjcy5jOjMwOCBzeXMtdXRpbHMvaXBjcy5jOjMxMAorIzogc3lzLXV0aWxzL2lwY3MuYzo0MjQgc3lzLXV0aWxzL2lwY3MuYzo0MjYgc3lzLXV0aWxzL2lwY3MuYzo1MzIKKyM6IHN5cy11dGlscy9pcGNzLmM6NTM0IHN5cy11dGlscy9pcGNzLmM6NTM2IHN5cy11dGlscy9pcGNzLmM6NTkwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MiBzeXMtdXRpbHMvaXBjcy5jOjYyMSBzeXMtdXRpbHMvaXBjcy5jOjYyMworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjUgc3lzLXV0aWxzL2lwY3MuYzo2NDkKK21zZ2lkICJOb3Qgc2V0IgorbXNnc3RyICJOw6NvIGRlZmluaWRvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMzNiBzeXMtdXRpbHMvbHNpcGMuYzo5NzYgc3lzLXV0aWxzL2xzaXBjLmM6OTgyCittc2dpZCAiZGVzdCIKK21zZ3N0ciAiZGVzdCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMzcgc3lzLXV0aWxzL2xzaXBjLmM6OTc3IHN5cy11dGlscy9sc2lwYy5jOjk5MAorbXNnaWQgImxvY2tlZCIKK21zZ3N0ciAiYmxvcXVlYWRvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM1NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2VtYXBob3JlIGxpbWl0c1xuIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgb2J0ZXIgbGltaXRlcyBkZSBzZW3DoWZvcm9cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIExpbWl0ZXMgZGUgc2Vtw6Fmb3JvIC0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MQorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIGFycmF5cyA9ICVkXG4iCittc2dzdHIgIm7Dum1lcm8gbcOheGltbyBkZSB2ZXRvcmVzOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBwZXIgYXJyYXkgPSAlZFxuIgorbXNnc3RyICJtw6F4aW1vIGRlIHNlbcOhZm9yb3MgcG9yIHZldG9yOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgIm3DoXhpbW8gZ2VyYWwgZGUgc2Vtw6Fmb3JvcyBkbyBzaXN0ZW1hOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggb3BzIHBlciBzZW1vcCBjYWxsID0gJWRcbiIKK21zZ3N0ciAibcOheGltbyBkZSBvcHMgcG9yIGNoYW1hZGEgc2Vtb3A6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY1CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbWFwaG9yZSBtYXggdmFsdWUgPSAldVxuIgorbXNnc3RyICJ2YWxvciBtw6F4aW1vIGRlIHNlbcOhZm9ybzogJXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzXG4iCittc2dzdHIgIm8ga2VybmVsIG7Do28gZXN0w6EgY29uZmlndXJhZG8gcGFyYSBzZW3DoWZvcm9zXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tIFN0YXR1cyBkZSBzZW3DoWZvcm8gLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGFycmF5cyA9ICVkXG4iCittc2dzdHIgImFycmF5cyB1c2Fkb3M6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBzZW1hcGhvcmVzID0gJWRcbiIKK21zZ3N0ciAic2Vtw6Fmb3JvcyBhbG9jYWRvczogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tIENyaWFkb3Jlcy9kb25vcyBkZSBhcnJheXMgZGUgc2Vtw6Fmb3JvcyAtLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQwMQorbXNnaWQgInNlbWlkIgorbXNnc3RyICJzZW1pZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBPcGVyYXRpb24vQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tIEhvcsOhcmlvcyBkZSBhbHRlcmHDp8Ojby9vcGVyYcOnw6NvIGRlIHNlbcOhZm9ybyAtLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorbXNnaWQgImxhc3Qtb3AiCittc2dzdHIgIsO6bHRpbWEtb3AiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyCittc2dpZCAibGFzdC1jaGFuZ2VkIgorbXNnc3RyICLDumx0aW1hLWFsdGVyYcOnw6NvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gQXJyYXlzIGRlIHNlbcOhZm9yb3MgLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDAxCittc2dpZCAibnNlbXMiCittc2dzdHIgIm5zZW1zIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggbWVzc2FnZSBsaW1pdHNcbiIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIG9idGVyIGxpbWl0ZXMgZGUgbWVuc2FnZW1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tIExpbWl0ZXMgZGUgbWVuc2FnZW5zIC0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBxdWV1ZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICJuw7ptZXJvIG3DoXhpbW8gZ2VyYWwgZGUgZmlsYXMgbm8gc2lzdGVtYTogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjUKK21zZ2lkICJtYXggc2l6ZSBvZiBtZXNzYWdlIgorbXNnc3RyICJ0YW1hbmhvIG3DoXhpbW8gZGEgbWVuc2FnZW0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY3Cittc2dpZCAiZGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSIKK21zZ3N0ciAidGFtYW5obyBtw6F4aW1vIHBhZHLDo28gZGEgZmlsYSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICJvIGtlcm5lbCBuw6NvIGVzdMOhIGNvbmZpZ3VyYWRvIHBhcmEgZmlsYXMgZGUgbWVuc2FnZW1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLSBNZW5zYWdlbnMgZGUgZXN0YWRvIC0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDc5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBxdWV1ZXMgPSAlZFxuIgorbXNnc3RyICJmaWxhcyBhbG9jYWRhcyA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgaGVhZGVycyA9ICVkXG4iCittc2dzdHIgImNhYmXDp2FsaG9zIHVzYWRvczogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODIKK21zZ2lkICJ1c2VkIHNwYWNlIgorbXNnc3RyICJlc3Bhw6dvIHVzYWRvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MworbXNnaWQgIiBieXRlc1xuIgorbXNnc3RyICIgYnl0ZXNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0gQ3JpYWRvcmVzL2Rvbm9zIGRlIGZpbGFzIGRlIG1lbnNhZ2VucyAtLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg5IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTAxCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgIm1zcWlkIgorbXNnc3RyICJtc3FpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFNlbmQvUmVjdi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiSG9yw6FyaW9zIGRlIGVudmlvL3JlY2Vww6fDo28vYWx0ZXJhw6fDo28gZGUgZmlsYXMgZGUgbWVuc2FnZW5zXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAic2VuZCIKK21zZ3N0ciAiZW52aW8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAicmVjdiIKK21zZ3N0ciAicmVjZWJpbWVudG8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiY2hhbmdlIgorbXNnc3RyICJhbHRlcmHDp8OjbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFBJRHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tIFBJRHMgZGUgZmlsYXMgZGUgbWVuc2FnZW5zIC0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImxzcGlkIgorbXNnc3RyICJsc3BpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJscnBpZCIKK21zZ3N0ciAibHJwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLSBGaWxhcyBkZSBtZW5zYWdlbnMgLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA4Cittc2dpZCAidXNlZC1ieXRlcyIKK21zZ3N0ciAiYnl0ZXMgdXNhZG9zIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwOQorbXNnaWQgIm1lc3NhZ2VzIgorbXNnc3RyICJtZW5zYWdlbnMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc0IHN5cy11dGlscy9pcGNzLmM6NjA0IHN5cy11dGlscy9pcGNzLmM6NjM3CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo1MzYgc3lzLXV0aWxzL2xzaXBjLmM6NzIyIHN5cy11dGlscy9sc2lwYy5jOjg3OQorIywgYy1mb3JtYXQKK21zZ2lkICJpZCAlZCBub3QgZm91bmQiCittc2dzdHIgIklEICVkIG7Do28gZW5jb250cmFkbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZCBtZW1vcnkgU2VnbWVudCBzaG1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisiTWVtw7NyaWEgY29tcGFydGlsaGFkYTogc2htaWQgZGUgc2VnbWVudG8gPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVxuIgorbXNnc3RyICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjb1x0YWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICJtb2RlPSUjb1x0YWNjZXNzX3Blcm1zPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorbXNnaWQgInNpemU9IgorbXNnc3RyICJUYW1hbmhvPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODQKK21zZ2lkICJieXRlcz0iCittc2dzdHIgImJ5dGVzPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAibHBpZD0ldVx0Y3BpZD0ldVx0bmF0dGNoPSVqZFxuIgorbXNnc3RyICJscGlkPSV1XHRjcGlkPSV1XHRuYXR0Y2g9JWpkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgImF0dF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImF0dF90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgImRldF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImRldF90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkzIHN5cy11dGlscy9pcGNzLmM6NjI0CisjLCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZV90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImNoYW5nZV90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlIFF1ZXVlIG1zcWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJtc3FpZCBkYSBmaWxhIGRlIG1lbnNhZ2VuczogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG1vZGU9JSNvXG4iCittc2dzdHIgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHRtb2RvPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxMworbXNnaWQgImNzaXplPSIKK21zZ3N0ciAiY3NpemU9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxMworbXNnaWQgImNieXRlcz0iCittc2dzdHIgImNieXRlcz0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE1Cittc2dpZCAicXNpemU9IgorbXNnc3RyICJxc2l6ZT0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE1Cittc2dpZCAicWJ5dGVzPSIKK21zZ3N0ciAicWJ5dGVzPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgInNlbmRfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJyY3ZfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJyY3ZfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIEFycmF5IHNlbWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJzZW1pZCBkZSB2ZXRvciBkZSBzZW3DoWZvcm9zPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0IGdpZD0ldVx0IGN1aWQ9JXVcdCBjZ2lkPSV1XG4iCittc2dzdHIgInVpZD0ldVx0IGdpZD0ldVx0IGN1aWQ9JXVcdCBjZ2lkPSV1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvLCBhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgIm1vZG89JSNvLCBhY2Nlc3NfcGVybXM9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5zZW1zID0gJWp1XG4iCittc2dzdHIgIm5zZW1zID0gJWp1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIm90aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAib3RpbWUgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJjdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgImN0aW1lID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJzZW1udW0iCittc2dzdHIgInNlbW51bSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJ2YWx1ZSIKK21zZ3N0ciAidmFsb3IiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAibmNvdW50IgorbXNnc3RyICJuY291bnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAiemNvdW50IgorbXNnc3RyICJ6Y291bnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAicGlkIgorbXNnc3RyICJwaWQiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjIzMCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzQgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM4CisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkIgorbXNnc3RyICIlcyBmYWxob3UiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoYnl0ZXMpID0gIgorbXNnc3RyICIlcyAoYnl0ZXMpID0gIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKGtieXRlcykgPSAiCittc2dzdHIgIiVzIChrYnl0ZXMpID0gIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxODAKK21zZ2lkICJpbnZhbGlkIGlmbGFnIgorbXNnc3RyICJpZmxhZyBpbnbDoWxpZGEiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxsZGlzYz4gPGRldmljZT5cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gPGxkaXNjPiA8ZGlzcG9zaXRpdm8+XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE5OQorbXNnaWQgIkF0dGFjaCBhIGxpbmUgZGlzY2lwbGluZSB0byBhIHNlcmlhbCBsaW5lLlxuIgorbXNnc3RyICJBbmV4YSB1bWEgZGlzY2lwbGluYSBkZSBsaW5oYSBhIHVtYSBsaW5oYSBzZXJpYWwuXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgZXhpYmUgbWVuc2FnZW5zIGRldGFsaGFkYXMgcGFyYSBlcnJvIHBhZHLDo29cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAzCittc2dpZCAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIHNldCBzZXJpYWwgbGluZSBzcGVlZFxuIgorbXNnc3RyICIgLXMsIC0tc3BlZWQgPHZhbG9yPiAgICAgZGVmaW5lIGEgdmVsb2NpZGFkZSBkYSBsaW5oYSBzZXJpYWxcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA0Cittc2dpZCAiIC1jLCAtLWludHJvLWNvbW1hbmQgPHN0cmluZz4gaW50cm8gc2VudCBiZWZvcmUgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIC1jLCAtLWludHJvLWNvbW1hbmQgPHRleHRvPiAgaW50cm9kdcOnw6NvIGVudmlhZGEgYW50ZXMgZGUgbGRhdHRhY2hcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA1Cittc2dpZCAiIC1wLCAtLXBhdXNlIDxzZWNvbmRzPiAgIHBhdXNlIGJldHdlZW4gaW50cm8gYW5kIGxkYXR0YWNoXG4iCittc2dzdHIgIiAtcCwgLS1wYXVzZSA8c2VndW5kb3M+ICBwYXVzYSBlbnRyZSBlbnRyYWRhIGUgbGRhdHRhY2hcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA2Cittc2dpZCAiIC03LCAtLXNldmVuYml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA3IGJpdHNcbiIKK21zZ3N0ciAiIC03LCAtLXNldmVuYml0cyAgICAgICAgIGRlZmluZSBvIHRhbWFuaG8gZG8gY2FyYWN0ZXJlIHBhcmEgNyBiaXRzXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNworbXNnaWQgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gOCBiaXRzXG4iCittc2dzdHIgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICBkZWZpbmUgbyB0YW1hbmhvIGRvIGNhcmFjdGVyZSBwYXJhIDggYml0c1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDgKK21zZ2lkICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgc2V0IHBhcml0eSB0byBub25lXG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICBkZWZpbmUgYSBwYXJpZGFkZSBwYXJhIG5lbmh1bWFcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA5Cittc2dpZCAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIHNldCBwYXJpdHkgdG8gZXZlblxuIgorbXNnc3RyICIgLWUsIC0tZXZlbnBhcml0eSAgICAgICAgZGVmaW5lIHBhcmlkYWRlIHBhcmEgcGFyXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMAorbXNnaWQgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICBzZXQgcGFyaXR5IHRvIG9kZFxuIgorbXNnc3RyICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICBkZWZpbmUgcGFyaWRhZGUgcGFyYSDDrW1wYXJcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjExCittc2dpZCAiIC0xLCAtLW9uZXN0b3BiaXQgICAgICAgIHNldCBzdG9wIGJpdHMgdG8gb25lXG4iCittc2dzdHIgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBkZWZpbmUgb3MgYml0cyBkZSBwYXJhZGEgcGFyYSB1bVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTIKK21zZ2lkICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAgc2V0IHN0b3AgYml0cyB0byB0d29cbiIKK21zZ3N0ciAiIC0yLCAtLXR3b3N0b3BiaXRzICAgICAgIGRlZmluZSBvcyBiaXRzIGRlIHBhcmFkYSBwYXJhIGRvaXNcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEzCittc2dpZCAiIC1pLCAtLWlmbGFnIFstXTxpZmxhZz4gIHNldCBpbnB1dCBtb2RlIGZsYWdcbiIKK21zZ3N0ciAiIC1pLCAtLWlmbGFnIFstXTxpZmxhZz4gIGRlZmluZSBhIG9ww6fDtWVzIGRlIG1vZG8gZGUgZW50cmFkYVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTkKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGxkaXNjPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk5vbWVzIGRlIDxsZGlzYz4gY29uaGVjaWRvczpcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjIzCittc2dpZCAiIgorIlxuIgorIktub3duIDxpZmxhZz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJOb21lcyBkZSA8aWZsYWc+IGNvbmhlY2lkb3M6XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0MAorbXNnaWQgImludmFsaWQgc3BlZWQgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBpbnbDoWxpZG8gZGUgdmVsb2NpZGFkZSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQzCittc2dpZCAiaW52YWxpZCBwYXVzZSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBkZSBwYXVzYSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzU5Cittc2dpZCAiaW52YWxpZCBvcHRpb24iCittc2dzdHIgIm9ww6fDo28gaW52w6FsaWRhIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNzAKK21zZ2lkICJpbnZhbGlkIGxpbmUgZGlzY2lwbGluZSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBkZSBkaXNjaXBsaW5hIGRlIGxpbmhhIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgc2VyaWFsIGxpbmUiCittc2dzdHIgIiVzIG7Do28gw6kgdW1hIGxpbmhhIHNlcmlhbCIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzk3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBvYnRlciBvcyBhdHJpYnV0b3MgcGFyYSAlcyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWVkICVkIHVuc3VwcG9ydGVkIgorbXNnc3RyICJzZW0gc3Vwb3J0ZSDDoCB2ZWxvY2lkYWRlICVkIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGRlZmluaXIgb3MgYXRyaWJ1dG9zIGRvIHRlcm1pbmFsIHBhcmEgJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgaW50cm8gY29tbWFuZCB0byAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGdyYXZhciBjb21hbmRvIGRlIGludHJvZHXDp8OjbyBwYXJhICVzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NjkKK21zZ2lkICJjYW5ub3Qgc2V0IGxpbmUgZGlzY2lwbGluZSIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGRlZmluaXIgYSBkaXNjaXBsaW5hIGRlIGxpbmhhIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NzkKK21zZ2lkICJjYW5ub3QgZGFlbW9uaXplIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZXhlY3V0YXIgY29tbyBkYWVtb24iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjgKK21zZ2lkICJhdXRvY2xlYXIgZmxhZyBzZXQiCittc2dzdHIgIm9ww6fDo28gYXV0b2NsZWFyIGRlZmluaWRhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY5Cittc2dpZCAiZGV2aWNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiYXJxdWl2byBkZSBkaXNwb3NpdGl2byBkZSBiYWNrZW5kIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwCittc2dpZCAiYmFja2luZyBmaWxlIGlub2RlIG51bWJlciIKK21zZ3N0ciAibsO6bWVybyBkZSBpbm9kZSBkZSBhcnF1aXZvIGRlIGJhY2tlbmQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzEKK21zZ2lkICJiYWNraW5nIGZpbGUgbWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAibsO6bWVybyBtYWlvcjptZW5vciBkZSBhcnF1aXZvIGRlIGJhY2tlbmQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzIKK21zZ2lkICJsb29wIGRldmljZSBuYW1lIgorbXNnc3RyICJub21lIGRvIGRpc3Bvc2l0aXZvIGRlIGxvb3AiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzMKK21zZ2lkICJvZmZzZXQgZnJvbSB0aGUgYmVnaW5uaW5nIgorbXNnc3RyICJwb3Npw6fDo28gYSBwYXJ0aXIgZG8gY29tZcOnbyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NAorbXNnaWQgInBhcnRzY2FuIGZsYWcgc2V0IgorbXNnc3RyICJvcMOnw6NvIHBhcnRzY2FuIGRlZmluaWRhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2Cittc2dpZCAic2l6ZSBsaW1pdCBvZiB0aGUgZmlsZSBpbiBieXRlcyIKK21zZ3N0ciAibGltaXRlIGRlIHRhbWFuaG8gZG8gYXJxdWl2byBlbSBieXRlcyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NworbXNnaWQgImxvb3AgZGV2aWNlIG1ham9yOm1pbm9yIG51bWJlciIKK21zZ3N0ciAibsO6bWVybyBtYWlvcjptZW5vciBkZSBkaXNwb3NpdGl2byBkZSBsb29wIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4Cittc2dpZCAiYWNjZXNzIGJhY2tpbmcgZmlsZSB3aXRoIGRpcmVjdC1pbyIKK21zZ3N0ciAiYWNlc3NhIGFycXVpdm8gZGUgYmFja2VuZCBjb20gZS9zIGRpcmV0YSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxMzUgc3lzLXV0aWxzL2xvc2V0dXAuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvZmZzZXQgJWp1IgorbXNnc3RyICIsIHBvc2nDp8OjbyAlanUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM4IHN5cy11dGlscy9sb3NldHVwLmM6MTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgc2l6ZWxpbWl0ICVqdSIKK21zZ3N0ciAiLCBsaW1pdGUgZGUgdGFtYW5obyAlanUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZW5jcnlwdGlvbiAlcyAodHlwZSAldSkiCittc2dzdHIgIiwgY3JpcHRvZ3JhZmlhICVzICh0aXBvICV1KSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRldGFjaCBmYWlsZWQiCittc2dzdHIgIiVzOiBkZXN0YWNhbWVudG8gZmFsaG91IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjMyOSBzeXMtdXRpbHMvbHNjcHUuYzoxNzM1IHN5cy11dGlscy9wcmxpbWl0LmM6MjI5CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTc2IHN5cy11dGlscy93ZGN0bC5jOjIxNSBzeXMtdXRpbHMvenJhbWN0bC5jOjQwNQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBsaW5lIgorbXNnc3RyICJmYWxoYSBhbyBpbmljaWFsaXphciBsaW5oYSBkYSBzYcOtZGEiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gWzxsb29wZGV2Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8bG9vcGRldj4gPGZpbGU+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbb3DDp8O1ZXNdIFs8ZGlzcG9zaXRpdm8tbG9vcD5dXG4iCisiICUxJHMgW29ww6fDtWVzXSAtZiB8IDxkaXNwb3NpdGl2by1sb29wPiA8YXJxdWl2bz5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODYKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgbG9vcCBkZXZpY2VzLlxuIgorbXNnc3RyICJDb25maWd1cmEgZSBjb250cm9sYSBkaXNwb3NpdGl2b3MgZGUgbG9vcC5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgbGlzdCBhbGwgdXNlZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0YSB0b2RvcyBvcyBkaXNwb3NpdGl2b3MgdXNhZG9zXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkwCittc2dpZCAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4uLi4gICAgIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCittc2dzdHIgIiIKKyIgLWQsIC0tZGV0YWNoIDxkaXNwb3NpdGl2by1sb29wPi4uLlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0YWNhIHVtIG91IG1haXMgZGlzcG9zaXRpdm9zXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkxCittc2dpZCAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIGRldGFjaCBhbGwgdXNlZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXN0YWNhIHRvZG9zIG9zIGRpc3Bvc2l0aXZvcyB1c2Fkb3NcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTIKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZmluZCBmaXJzdCB1bnVzZWQgZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgbG9jYWxpemEgbyBwcmltZWlybyBkaXNwb3NpdGl2b1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuw6NvIHVzYWRvXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkzCittc2dpZCAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcGRldj4gIHJlc2l6ZSB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgLWMsIC0tc2V0LWNhcGFjaXR5IDxkaXNwb3NpdGl2by1sb29wPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWRpbWVuc2lvbmEgbyBkaXNwb3NpdGl2b1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5NAorbXNnaWQgIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorIiAtaiwgLS1hc3NvY2lhdGVkIDxhcnF1aXZvPiAgICBsaXN0YSB0b2RvcyBvcyBkaXNwb3NpdGl2b3MgYXNzb2NpYWRvc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb20gPGFycXVpdm8+XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk1Cittc2dpZCAiIC1MLCAtLW5vb3ZlcmxhcCAgICAgICAgICAgICAgIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0IGJldHdlZW4gZGV2aWNlc1xuIgorbXNnc3RyICIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICAgICAgZXZpdGEgcG9zc8OtdmVsIGNvbmZsaXRvIGVudHJlIGRpc3Bvc2l0aXZvc1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5OQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBzdGFydCBhdCBvZmZzZXQgPG51bT4gaW50byBmaWxlXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPG7Dum0+ICAgICAgICAgICAgaW5pY2lhIG5hIHBvc2nDp8OjbyA8bsO6bT4gZG8gYXJxdWl2b1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMAorbXNnaWQgIiAgICAgLS1zaXplbGltaXQgPG51bT4gICAgICAgICBkZXZpY2UgaXMgbGltaXRlZCB0byA8bnVtPiBieXRlcyBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgICAgIC0tc2l6ZWxpbWl0IDxuw7ptPiAgICAgICAgIGRpc3Bvc2l0aXZvIGxpbWl0YWRvIGEgPG7Dum0+IGJ5dGVzIGRvIGFycXVpdm9cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDEKK21zZ2lkICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgY3JlYXRlIGEgcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyaWEgdW0gZGlzcG9zaXRpdm8gZGUgbG9vcCBwYXJ0aWNpb25hZG9cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDIKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0IHVwIGEgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgY29uZmlndXJhIHVtIGRpc3Bvc2l0aXZvIGRlIGxvb3BcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb21lbnRlIGxlaXR1cmFcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDMKK21zZ2lkICIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAgb3BlbiBiYWNraW5nIGZpbGUgd2l0aCBPX0RJUkVDVFxuIgorbXNnc3RyICIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAgYWJyZSBhcnF1aXZvIGRlIGJhY2tlbmQgY29tIE9fRElSRUNUXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA0Cittc2dpZCAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHByaW50IGRldmljZSBuYW1lIGFmdGVyIHNldHVwICh3aXRoIC1mKVxuIgorbXNnc3RyICIiCisiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIGV4aWJlIG8gbm9tZSBkbyBkaXNwb3NpdGl2byBhcMOzcyBhXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhw6fDo28gKGNvbSAtZilcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICBtb2RvIGRldGFsaGFkb1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwOQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBsaXN0IGluZm8gYWJvdXQgYWxsIG9yIHNwZWNpZmllZCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBsaXN0YSBpbmZvcm1hw6fDo28gc29icmUgdG9kb3Mgb3UgdW0gYXBlbmFzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlc3BlY2lmaWNhZG8gKHBhZHLDo28pXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEwCittc2dpZCAiIC1PLCAtLW91dHB1dCA8Y29scz4gICAgICAgICAgIHNwZWNpZnkgY29sdW1ucyB0byBvdXRwdXQgZm9yIC0tbGlzdFxuIgorbXNnc3RyICIgLU8sIC0tb3V0cHV0IDxjb2x1bmFzPiAgICAgICAgZXNwZWNpZmljYSBjb2x1bmFzIHBhcmEgZXhpYmlyIGRlIC0tbGlzdFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1saXN0IG91dHB1dFxuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgbsOjbyBleGliZSBjYWJlw6dhbGhvcyBkYSBzYcOtZGEgZGUgLS1saXN0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEyCittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgICAgIHVzZSByYXcgLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgICAgIHVzYSBvIGZvcm1hdG8gZGUgc2HDrWRhIG7Do28gdHJhdGFkYSBkZSAtLWxpc3RcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTMKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgIHVzYSBvIGZvcm1hdG8gZGUgc2HDrWRhIEpTT04gZGUgLS1saXN0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE5Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSAtLWxpc3QgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkNvbHVuYXMgZGUgLS1saXN0IGRpc3BvbsOtdmVpczpcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFdhcm5pbmc6IGZpbGUgaXMgc21hbGxlciB0aGFuIDUxMiBieXRlczsgdGhlIGxvb3AgZGV2aWNlIG1heSBiZSB1c2VsZXNzIG9yIGludmlzaWJsZSBmb3Igc3lzdGVtIHRvb2xzLiIKK21zZ3N0ciAiJXM6IEF2aXNvOiBvIGFycXVpdm8gw6kgbWVub3IgZG8gcXVlIDUxMiBieXRlczsgbyBkaXNwb3NpdGl2byBkZSBsb29wIHBvZGUgc2VyIGluw7p0aWwgb3UgaW52aXPDrXZlbCBwYXJhIGFzIGZlcnJhbWVudGFzIGRvIHNpc3RlbWEuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBkb2VzIG5vdCBmaXQgaW50byBhIDUxMi1ieXRlIHNlY3RvcjsgdGhlIGVuZCBvZiB0aGUgZmlsZSB3aWxsIGJlIGlnbm9yZWQuIgorbXNnc3RyICIlczogQXZpc286IG8gYXJxdWl2byBuw6NvIGNhYmUgZW0gdW0gc2V0b3IgZGUgNTEyIGJ5dGVzOyBvIGZpbmFsIGRvIGFycXVpdm8gc2Vyw6EgaWdub3JhZG8uIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ2NCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUxNiBzeXMtdXRpbHMvbW91bnQuYzo0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiJXM6IGRpc3Bvc2l0aXZvIGRlIGxvb3AgZW0gc29icmVwb3Npw6fDo28gZXhpc3RlIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgcmVhZC1vbmx5IGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiJXM6IGRpc3Bvc2l0aXZvIGRlIGxvb3Agc29tZW50ZSBsZWl0dXJhIGVtIHNvYnJlcG9zacOnw6NvIGV4aXN0ZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGVuY3J5cHRlZCBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzOiBkaXNwb3NpdGl2byBkZSBsb29wIGNyaXB0b2dyYWZhZG8gZW0gc29icmVwb3Npw6fDo28gZXhpc3RlIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlLXVzZSBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIHJldXNhciBkaXNwb3NpdGl2byBkZSBsb29wIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ5NAorbXNnaWQgImZhaWxlZCB0byBpbnNwZWN0IGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAiZmFsaGEgYW8gaW5zcGVjaW9uYXIgZGlzcG9zaXRpdm9zIGRlIGxvb3AiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY2hlY2sgZm9yIGNvbmZsaWN0aW5nIGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIHZlcmlmaWNhciBwb3IgZGlzcG9zaXRpdm9zIGRlIGxvb3AgY29uZmxpdGFudGVzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUyOSBzeXMtdXRpbHMvbG9zZXR1cC5jOjgyNgorbXNnaWQgImNhbm5vdCBmaW5kIGFuIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGxvY2FsaXphciBkaXNwb3NpdGl2byBkZSBsb29wIG7Do28gdXNhZG8iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIHVzYXIgYXJxdWl2byBkZSBiYWNrZW5kIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjYzMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjY0MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1MworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3Njcgc3lzLXV0aWxzL2xvc2V0dXAuYzo4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgZGV2aWNlIgorbXNnc3RyICIlczogZmFsaGEgYW8gdXNhciBkaXNwb3NpdGl2byIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NjQKK21zZ2lkICJubyBsb29wIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIm5lbmh1bSBkaXNwb3NpdGl2byBmb2kgZXNwZWNpZmljYWRvIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3MgorbXNnaWQgIm5vIGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICJuZW5odW0gYXJxdWl2byBlc3BlY2lmaWNhZG8iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzc5CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBvcHRpb25zICVzIGFyZSBhbGxvd2VkIGR1cmluZyBsb29wIGRldmljZSBzZXR1cCBvbmx5IgorbXNnc3RyICJhcyBvcMOnw7VlcyAlcyBzw6NvIHBlcm1pdGlkYXMgYXBlbmFzIGR1cmFudGUgY29uZmlndXJhw6fDo28gZGUgZGlzcG9zaXRpdm8gZGUgbG9vcCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3ODQKK21zZ2lkICJ0aGUgb3B0aW9uIC0tb2Zmc2V0IGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAiYSBvcMOnw6NvIC0tb2Zmc2V0IG7Do28gw6kgcGVybWl0aWRhIG5lc3RlIGNvbnRleHRvIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGNhcGFjaXR5IGZhaWxlZCIKK21zZ3N0ciAiJXM6IGRlZmluacOnw6NvIGRlIGNhcGFjaWRhZGUgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGRpcmVjdCBpbyBmYWlsZWQiCittc2dzdHIgIiVzOiBkZWZpbmnDp8OjbyBkZSBlL3MgZGlyZXRhIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTA4Cittc2dpZCAibm9uZSIKK21zZ3N0ciAibmVuaHVtIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMDkKK21zZ2lkICJwYXJhIgorbXNnc3RyICJwYXJhIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMTAKK21zZ2lkICJmdWxsIgorbXNnc3RyICJjb21wbGV0byIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTExCittc2dpZCAiY29udGFpbmVyIgorbXNnc3RyICJyZWNpcGllbnRlIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzMKK21zZ2lkICJob3Jpem9udGFsIgorbXNnc3RyICJob3Jpem9udGFsIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQKK21zZ2lkICJ2ZXJ0aWNhbCIKK21zZ3N0ciAidmVydGljYWwiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0NgorbXNnaWQgImxvZ2ljYWwgQ1BVIG51bWJlciIKK21zZ3N0ciAibsO6bWVybyBkYSBDUFUgbMOzZ2ljYSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ3Cittc2dpZCAibG9naWNhbCBjb3JlIG51bWJlciIKK21zZ3N0ciAibsO6bWVybyBkbyBuw7pjbGVvIGzDs2dpY28iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0OAorbXNnaWQgImxvZ2ljYWwgc29ja2V0IG51bWJlciIKK21zZ3N0ciAibsO6bWVybyBkbyBzb3F1ZXRlIGzDs2dpY28iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0OQorbXNnaWQgImxvZ2ljYWwgTlVNQSBub2RlIG51bWJlciIKK21zZ3N0ciAibsO6bWVybyBkZSBuw7MgTlVNQSIKKworIyBOw6NvIMOpIGxpdnJvLCDDqSB1bSBncnVwbyBkZSBwcm9jZXNzYWRvcmVzLCBhcnF1aXRldHVyYSBkYSBJQk0uIERlc2Nvbmhlw6dvIHRyYWR1w6fDo28gbWFpcyBhcHJvcHJpYWRhIC0tUmFmYWVsCisjIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1Byb2Nlc3Nvcl9ib29rCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTAKK21zZ2lkICJsb2dpY2FsIGJvb2sgbnVtYmVyIgorbXNnc3RyICJuw7ptZXJvIGRlIGJvb2tzIGzDs2dpY29zIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTEKK21zZ2lkICJsb2dpY2FsIGRyYXdlciBudW1iZXIiCittc2dzdHIgIm7Dum1lcm8gZG8gZHJhd2VycyBsw7NnaWNvcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUyCittc2dpZCAic2hvd3MgaG93IGNhY2hlcyBhcmUgc2hhcmVkIGJldHdlZW4gQ1BVcyIKK21zZ3N0ciAibW9zdHJhIGNvbW8gY2FjaGVzIHPDo28gY29tcGFydGlsaGFkb3MgZW50cmUgQ1BVcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUzCittc2dpZCAiQ1BVIGRpc3BhdGNoaW5nIG1vZGUgb24gdmlydHVhbCBoYXJkd2FyZSIKK21zZ3N0ciAibW9kbyBkZSBkZXNwYWNobyBkYSBDUFUgZW0gaGFyZHdhcmUgdmlydHVhbCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU0Cittc2dpZCAicGh5c2ljYWwgYWRkcmVzcyBvZiBhIENQVSIKK21zZ3N0ciAiZW5kZXJlw6dvIGbDrXNpY28gZGUgdW1hIENQVSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU1Cittc2dpZCAic2hvd3MgaWYgdGhlIGh5cGVydmlzb3IgaGFzIGFsbG9jYXRlZCB0aGUgQ1BVIgorbXNnc3RyICJtb3N0cmEgc2UgbyBoaXBlcnZpc29yIGFsb2NvdSBhIENQVSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU2Cittc2dpZCAic2hvd3MgaWYgTGludXggY3VycmVudGx5IG1ha2VzIHVzZSBvZiB0aGUgQ1BVIgorbXNnc3RyICJtb3N0cmEgc2UgTGludXggZmF6IHVzbyBkYSBDUFUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NworbXNnaWQgInNob3dzIHRoZSBtYXhpbXVtIE1IeiBvZiB0aGUgQ1BVIgorbXNnc3RyICJtb3N0cmEgbyBNSHogbcOheGltbyBkYSBDUFUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1OAorbXNnaWQgInNob3dzIHRoZSBtaW5pbXVtIE1IeiBvZiB0aGUgQ1BVIgorbXNnc3RyICJtb3N0cmEgbyBNSHogbcOtbmltbyBkYSBDUFUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjU1MAorbXNnaWQgImVycm9yOiB1bmFtZSBmYWlsZWQiCittc2dzdHIgImVycm86IHVuYW1lIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZXRlcm1pbmUgbnVtYmVyIG9mIENQVXM6ICVzIgorbXNnc3RyICJmYWxoYSBhbyBkZXRlcm1pbmFyIG7Dum1lcm8gZGUgQ1BVczogJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjg5MQorbXNnaWQgImVycm9yOiBjYW4gbm90IHNldCBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiZXJybzogbsOjbyBmb2kgcG9zc8OtdmVsIGRlZmluaXIgbWFuaXB1bGFkb3IgZGUgc2luYWwiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjg5NgorbXNnaWQgImVycm9yOiBjYW4gbm90IHJlc3RvcmUgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCByZXN0YXVyYXIgbWFuaXB1bGFkb3IgZGUgc2luYWwiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk1NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBmcm9tOiAlcyIKK21zZ3N0ciAiZmFsaGEgYW8gbGVyIGRlOiAlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQxMAorbXNnaWQgIkZhaWxlZCB0byBleHRyYWN0IHRoZSBub2RlIG51bWJlciIKK21zZ3N0ciAiRmFsaGEgYW8gZXh0cmFpciBvIG7Dum1lcm8gZG8gbsOzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTM3IHN5cy11dGlscy9sc2NwdS5jOjE1NDcKK21zZ2lkICJZIgorbXNnc3RyICJTIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTM3IHN5cy11dGlscy9sc2NwdS5jOjE1NDcKK21zZ2lkICJOIgorbXNnc3RyICJOIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlclxuIgorIiMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSURcbiIKKyIjIHN0YXJ0aW5nIGZyb20gemVyby5cbiIKK21zZ3N0ciAiIgorIiMgRXN0ZSDDqSBvIGZvcm1hdG8gYW5hbGlzw6F2ZWwsIHF1ZSBwb2RlIGFsaW1lbnRhciBvdXRyb3MgcHJvZ3JhbWFzLlxuIgorIiMgY2FkYSBpdGVtIGRpZmVyZW50ZSBlbSBjYWRhIGNvbHVuYSB0ZW0gdW0gSUQgw7puaWNvIGNvbWXDp2FuZG8gY29tXG4iCisiIyB6ZXJvLlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzgxCittc2dpZCAiQXJjaGl0ZWN0dXJlOiIKK21zZ3N0ciAiQXJxdWl0ZXR1cmE6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzk1Cittc2dpZCAiQ1BVIG9wLW1vZGUocyk6IgorbXNnc3RyICJNb2RvKHMpIG9wZXJhY2lvbmFsIGRhIENQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3OTggc3lzLXV0aWxzL2xzY3B1LmM6MTgwMAorbXNnaWQgIkJ5dGUgT3JkZXI6IgorbXNnc3RyICJPcmRlbSBkb3MgYnl0ZXM6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODAyCittc2dpZCAiQ1BVKHMpOiIKK21zZ3N0ciAiQ1BVKHMpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwNQorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICJNw6FzY2FyYSBkZSBDUFUocykgb24tbGluZToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDYKK21zZ2lkICJPbi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiTGlzdGEgZGUgQ1BVKHMpIG9uLWxpbmU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI1Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICJNw6FzY2FyYSBkZSBDUFUocykgb2ZmLWxpbmU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI2Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICJMaXN0YSBkZSBDUFUocykgb2ZmLWxpbmU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODYyCittc2dpZCAiVGhyZWFkKHMpIHBlciBjb3JlOiIKK21zZ3N0ciAiVGhyZWFkKHMpIHBlciBuw7pjbGVvOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2NAorbXNnaWQgIkNvcmUocykgcGVyIHNvY2tldDoiCittc2dzdHIgIk7DumNsZW8ocykgcG9yIHNvcXVldGU6IgorCisjIE7Do28gw6kgbGl2cm8sIMOpIHVtIGdydXBvIGRlIHByb2Nlc3NhZG9yZXMsIGFycXVpdGV0dXJhIGRhIElCTS4gRGVzY29uaGXDp28gdHJhZHXDp8OjbyBtYWlzIGFwcm9wcmlhZGEgLS1SYWZhZWwKKyMgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvUHJvY2Vzc29yX2Jvb2sKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjcKK21zZ2lkICJTb2NrZXQocykgcGVyIGJvb2s6IgorbXNnc3RyICJTb3F1ZXRlKHMpIHBvciBib29rOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3MAorbXNnaWQgIkJvb2socykgcGVyIGRyYXdlcjoiCittc2dzdHIgIkJvb2socykgcG9yIGRyYXdlcjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzIKK21zZ2lkICJEcmF3ZXIocyk6IgorbXNnc3RyICJEcmF3ZXIocyk6IgorCisjIE7Do28gw6kgbGl2cm8sIMOpIHVtIGdydXBvIGRlIHByb2Nlc3NhZG9yZXMsIGFycXVpdGV0dXJhIGRhIElCTS4gRGVzY29uaGXDp28gdHJhZHXDp8OjbyBtYWlzIGFwcm9wcmlhZGEgLS1SYWZhZWwKKyMgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvUHJvY2Vzc29yX2Jvb2sKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzQKK21zZ2lkICJCb29rKHMpOiIKK21zZ3N0ciAiQm9vayhzKToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzcKK21zZ2lkICJTb2NrZXQocyk6IgorbXNnc3RyICJTb3F1ZXRlKHMpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MQorbXNnaWQgIk5VTUEgbm9kZShzKToiCittc2dzdHIgIk7DsyhzKSBkZSBOVU1BOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MworbXNnaWQgIlZlbmRvciBJRDoiCittc2dzdHIgIklEIGRlIGZvcm5lY2Vkb3I6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg1Cittc2dpZCAiTWFjaGluZSB0eXBlOiIKK21zZ3N0ciAiVGlwbyBkYSBtw6FxdWluYToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODcKK21zZ2lkICJDUFUgZmFtaWx5OiIKK21zZ3N0ciAiRmFtw61saWEgZGEgQ1BVOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4OQorbXNnaWQgIk1vZGVsOiIKK21zZ3N0ciAiTW9kZWxvOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5MQorbXNnaWQgIk1vZGVsIG5hbWU6IgorbXNnc3RyICJOb21lIGRvIG1vZGVsbzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTMKK21zZ2lkICJTdGVwcGluZzoiCittc2dzdHIgIlN0ZXA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk1Cittc2dpZCAiQ1BVIE1IejoiCittc2dzdHIgIkNQVSBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk3Cittc2dpZCAiQ1BVIGR5bmFtaWMgTUh6OiIKK21zZ3N0ciAiQ1BVIGNvbSBNSHogZGluw6JtaWNvOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5OQorbXNnaWQgIkNQVSBzdGF0aWMgTUh6OiIKK21zZ3N0ciAiQ1BVIGNvbSBNSHogZXN0w6F0aWNvOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMQorbXNnaWQgIkNQVSBtYXggTUh6OiIKK21zZ3N0ciAiQ1BVIE1IeiBtw6F4LjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDMKK21zZ2lkICJDUFUgbWluIE1IejoiCittc2dzdHIgIkNQVSBNSHogbcOtbi46IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA1Cittc2dpZCAiQm9nb01JUFM6IgorbXNnc3RyICJCb2dvTUlQUzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDggc3lzLXV0aWxzL2xzY3B1LmM6MTkxMAorbXNnaWQgIlZpcnR1YWxpemF0aW9uOiIKK21zZ3N0ciAiVmlydHVhbGl6YcOnw6NvOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMworbXNnaWQgIkh5cGVydmlzb3I6IgorbXNnc3RyICJIaXBlcnZpc29yOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxNQorbXNnaWQgIkh5cGVydmlzb3IgdmVuZG9yOiIKK21zZ3N0ciAiRmFicmljYW50ZSBkbyBoaXBlcnZpc29yOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxNgorbXNnaWQgIlZpcnR1YWxpemF0aW9uIHR5cGU6IgorbXNnc3RyICJUaXBvIGRlIHZpcnR1YWxpemHDp8OjbzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTkKK21zZ2lkICJEaXNwYXRjaGluZyBtb2RlOiIKK21zZ3N0ciAiTW9kbyBkZSBkZXNwYWNobzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MjUgc3lzLXV0aWxzL2xzY3B1LmM6MTkzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjYWNoZToiCittc2dzdHIgImNhY2hlIGRlICVzOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0MQorIywgYy1mb3JtYXQKK21zZ2lkICJOVU1BIG5vZGUlZCBDUFUocyk6IgorbXNnc3RyICJDUFUocykgZGUgbsOzJWQgTlVNQToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NDYKK21zZ2lkICJGbGFnczoiCittc2dzdHIgIk9ww6fDtWVzOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0OQorbXNnaWQgIlBoeXNpY2FsIHNvY2tldHM6IgorbXNnc3RyICJTb3F1ZXRlcyBmw61zaWNvczoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NTAKK21zZ2lkICJQaHlzaWNhbCBjaGlwczoiCittc2dzdHIgIkNoaXBzIGbDrXNpY29zOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk1MQorbXNnaWQgIlBoeXNpY2FsIGNvcmVzL2NoaXA6IgorbXNnc3RyICJuw7pjbGVvcy9jaGlwcyBmw61zaWNvczoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjMKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBDUFUgYXJjaGl0ZWN0dXJlLlxuIgorbXNnc3RyICJFeGliZSBpbmZvcm1hw6fDtWVzIHNvYnJlIGEgYXJxdWl0ZXR1cmEgZGEgQ1BVLlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY2Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IGJvdGggb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgZXhpYmUgQ1BVcyBvbi1saW5lcyBlIG9mZi1saW5lcyAocGFkcsOjbyBwYXJhIC1lKVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY3Cittc2dpZCAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIHByaW50IG9ubGluZSBDUFVzIG9ubHkgKGRlZmF1bHQgZm9yIC1wKVxuIgorbXNnc3RyICIgLWIsIC0tb25saW5lICAgICAgICAgICAgZXhpYmUgYXBlbmFzIENQVXMgb24tbGluZSAocGFkcsOjbyBwYXJhIC1wKVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY4Cittc2dpZCAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iCittc2dzdHIgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICBleGliZSBhcGVuYXMgQ1BVcyBvZmYtbGluZVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY5Cittc2dpZCAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdGE+XSBleGliZSB1bSBmb3JtYXRvIGxlZ8OtdmVsIGVzdGVuZGlkb1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcwCittc2dpZCAiIC1wLCAtLXBhcnNlWz08bGlzdD5dICAgIHByaW50IG91dCBhIHBhcnNhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLXAsIC0tcGFyc2VbPTxsaXN0YT5dICAgZXhpYmUgdW0gZm9ybWF0byBhbmFsaXPDoXZlbFxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcxCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHVzZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iCittc2dzdHIgIiAtcywgLS1zeXNyb290IDxkaXI+ICAgICB1c2EgbyBkaXJldMOzcmlvIGVzcGVjaWZpY2FkbyBjb21vIHJhaXogZG8gc2lzdGVtYVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcyCittc2dpZCAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHByaW50IGhleGFkZWNpbWFsIG1hc2tzIHJhdGhlciB0aGFuIGxpc3RzIG9mIENQVXNcbiIKK21zZ3N0ciAiIC14LCAtLWhleCAgICAgICAgICAgICAgIGV4aWJlIG3DoXNjYXJhcyBoZXhhZGVjaW1haXMgZW0gdmV6IGRlIGxpc3RhcyBkZSBDUFVzXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzMKK21zZ2lkICIgLXksIC0tcGh5c2ljYWwgICAgICAgICAgcHJpbnQgcGh5c2ljYWwgaW5zdGVhZCBvZiBsb2dpY2FsIElEc1xuIgorbXNnc3RyICIgLXksIC0tcGh5c2ljYWwgICAgICAgICAgZXhpYmUgSURzIGbDrXNpY29zIGVtIHZleiBkZSBsw7NnaWNvc1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvcHRpb25zIC0tYWxsLCAtLW9ubGluZSBhbmQgLS1vZmZsaW5lIG1heSBvbmx5IGJlIHVzZWQgd2l0aCBvcHRpb25zIC0tZXh0ZW5kZWQgb3IgLS1wYXJzZS5cbiIKK21zZ3N0ciAiJXM6IGFzIG9ww6fDtWVzIC0tYWxsLCAtLW9ubGluZSBlIC0tb2ZmbGluZSBwb2RlbSBzw7MgcG9kZW0gc2VyIHVzYWRhcyBjb20gYXMgb3DDp8O1ZXMgLS1leHRlbmRlZCBvdSAtLXBhcnNlLlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNDkKK21zZ2lkICJSZXNvdXJjZSBrZXkiCittc2dzdHIgIkNoYXZlIGRvIHJlY3Vyc28iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorbXNnaWQgIktleSIKK21zZ3N0ciAiQ2hhdmUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorbXNnaWQgIlJlc291cmNlIElEIgorbXNnc3RyICJJRCBkbyByZWN1cnNvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJJRCIKK21zZ3N0ciAiSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyJ3MgdXNlcm5hbWUgb3IgVUlEIgorbXNnc3RyICJOb21lIGRlIHVzdcOhcmlvIG91IFVJRCBkbyBkb25vIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKK21zZ2lkICJPd25lciIKK21zZ3N0ciAiRG9ubyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUyCittc2dpZCAiUGVybWlzc2lvbnMiCittc2dzdHIgIlBlcm1pc3PDtWVzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTMKK21zZ2lkICJDcmVhdG9yIFVJRCIKK21zZ3N0ciAiVUlEIGNyaWFkb3IiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NAorbXNnaWQgIkNyZWF0b3IgdXNlciIKK21zZ3N0ciAidXN1w6FyaW8gY3JpYWRvciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU1Cittc2dpZCAiQ3JlYXRvciBHSUQiCittc2dzdHIgIkdJRCBjcmlhZG9yIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTYKK21zZ2lkICJDcmVhdG9yIGdyb3VwIgorbXNnc3RyICJHcnVwbyBjcmlhZG9yIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKK21zZ2lkICJVc2VyIElEIgorbXNnc3RyICJJRCBkbyB1c3XDoXJpbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3Cittc2dpZCAiVUlEIgorbXNnc3RyICJJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU4Cittc2dpZCAiVXNlciBuYW1lIgorbXNnc3RyICJOb21lIGRlIHVzdcOhcmlvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTkKK21zZ2lkICJHcm91cCBJRCIKK21zZ3N0ciAiSUQgZGUgZ3J1cG8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorbXNnaWQgIkdJRCIKK21zZ3N0ciAiR0lEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjAKK21zZ2lkICJHcm91cCBuYW1lIgorbXNnc3RyICJOb21lIGRvIGdydXBvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIKK21zZ3N0ciAiVGFtYW5obyBkYSDDumx0aW1hIG11ZGFuw6dhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKK21zZ2lkICJMYXN0IGNoYW5nZSIKK21zZ3N0ciAiw5psdGltYSBtb2RpZmljYcOnw6NvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjQKK21zZ2lkICJCeXRlcyB1c2VkIgorbXNnc3RyICJCeXRlcyB1c2Fkb3MiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlcyIKK21zZ3N0ciAiTsO6bWVybyBkZSBtZW5zYWdlbnMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorbXNnaWQgIk1lc3NhZ2VzIgorbXNnc3RyICJNZW5zYWdlbnMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgc2VudCIKK21zZ3N0ciAiSG9yw6FyaW8gZGEgw7psdGltYSBtZW5zYWdlbSBlbnZpYWRhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKK21zZ2lkICJNc2cgc2VudCIKK21zZ3N0ciAiTWVuc2FnZW0gZW52aWFkYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyByZWNlaXZlZCIKK21zZ3N0ciAiSG9yw6FyaW8gZGEgw7psdGltYSBtZW5zYWdlbSByZWNlYmlkYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiTXNnIHJlY2VpdmVkIgorbXNnc3RyICJNZW5zYWdlbSByZWNlYmlkYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyBzZW5kZXIiCittc2dzdHIgIlBJRCBkbyByZW1ldGVudGUgZGEgw7psdGltYSBtZW5zYWdlbSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiTXNnIHNlbmRlciIKK21zZ3N0ciAiUmVtZXRlbnRlIGRhIG1lbnNhZ2VtIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHJlY2VpdmVyIgorbXNnc3RyICJQSUQgZG8gcmVjZXB0b3IgZGEgw7psdGltYSBtZW5zYWdlbSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiTXNnIHJlY2VpdmVyIgorbXNnc3RyICJSZWNlcHRvciBkYSBtZW5zYWdlbSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTcyCittc2dpZCAiU2VnbWVudCBzaXplIgorbXNnc3RyICJUYW1hbmhvIGRvIHNlZ21lbnRvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJOdW1iZXIgb2YgYXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICJOw7ptZXJvIGRlIHByb2Nlc3NvcyBhbmV4YWRvcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCittc2dpZCAiQXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICJQcm9jZXNzb3MgYW5leGFkb3MiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NAorbXNnaWQgIlN0YXR1cyIKK21zZ3N0ciAiU3RhdHVzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzUKK21zZ2lkICJBdHRhY2ggdGltZSIKK21zZ3N0ciAiQW5leGFyIGhvcsOhcmlvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzYKK21zZ2lkICJEZXRhY2ggdGltZSIKK21zZ3N0ciAiRGVzYW5leGFyIGhvcsOhcmlvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAiTGluaGEgZGUgY29tYW5kbyBkbyBjcmlhZG9yIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQiCittc2dzdHIgIkNvbWFuZG8gY3JpYWRvciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiUElEIG9mIHRoZSBjcmVhdG9yIgorbXNnc3RyICJQSUQgZG8gY3JpYWRvciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiQ3JlYXRvciBQSUQiCittc2dzdHIgIlBJZCBkbyBjcmlhZG9yIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJQSUQgb2YgbGFzdCB1c2VyIgorbXNnc3RyICJQSUQgZG8gw7psdGltbyB1c3XDoXJpbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiTGFzdCB1c2VyIFBJRCIKK21zZ3N0ciAiUElEIGRvIMO6bHRpbW8gdXN1w6FyaW8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJOw7ptZXJvIGRlIHNlbcOhZm9yb3MiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIlNlbWFwaG9yZXMiCittc2dzdHIgIlNlbcOhZm9yb3MiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICJIb3LDoXJpbyBkYSDDumx0aW1hIG9wZXJhw6fDo28iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIkxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICLDmmx0aW1hIG9wZXJhw6fDo28iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NgorbXNnaWQgIlJlc291cmNlIG5hbWUiCittc2dzdHIgIk5vbWUgZG8gcmVjdXJzbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2Cittc2dpZCAiUmVzb3VyY2UiCittc2dzdHIgIlJlY3Vyc28iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworbXNnaWQgIlJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJEZXNjcmnDp8OjbyBkbyByZWN1cnNvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJEZXNjcmlwdGlvbiIKK21zZ3N0ciAiRGVzY3Jpw6fDo28iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIkN1cnJlbnRseSB1c2VkIgorbXNnc3RyICJVc2FkbyBhdHVhbG1lbnRlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJVc2VkIgorbXNnc3RyICJVc2FkbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5Cittc2dpZCAiQ3VycmVudGx5IHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICJQb3JjZW50YWdlbSBkZSB1c28gYXR1YWxtZW50ZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5Cittc2dpZCAiVXNlIgorbXNnc3RyICJVc28iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIlN5c3RlbS13aWRlIGxpbWl0IgorbXNnc3RyICJMaW1pdGUgZ2xvYmFsIGRvIHNpc3RlbWEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIkxpbWl0IgorbXNnc3RyICJMaW1pdGUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb2x1bW4gJXMgZG9lcyBub3QgYXBwbHkgdG8gdGhlIHNwZWNpZmllZCBJUEMiCittc2dzdHIgImEgY29sdW5hICVzIG7Do28gc2UgYXBsaWNhIGFvIElQQyBlc3BlY2lmaWNhZG8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4NworbXNnaWQgIiAtZywgLS1nbG9iYWwgICAgICBpbmZvIGFib3V0IHN5c3RlbS13aWRlIHVzYWdlIChtYXkgYmUgdXNlZCB3aXRoIC1tLCAtcSBhbmQgLXMpXG4iCittc2dzdHIgIiIKKyIgLWcsIC0tZ2xvYmFsICAgICAgaW5mb3JtYcOnw6NvIHNvYnJlIG8gdXNvIGdsb2JhbCBkbyBzaXN0ZW1hIChwb2RlIHNlciB1c2Fkb1xuIgorIiAgICAgICAgICAgICAgICAgICAgIGNvbSAtbSwgLXEgZSAtcylcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg4Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gICAgIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiAtaSwgLS1pZCA8aWQ+ICAgICBleGliZSBkZXRhbGhlcyBzb2JyZSBvIHJlY3Vyc28gaWRlbnRpZmljYWRvIHBlbG8gPGlkPlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTQKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgZXhpYmUgVEFNQU5ITyBlbSBieXRlcyBlbSB2ZXogZGUgZm9ybWF0byBsZWfDrXZlbFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTUKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiIC1jLCAtLWNyZWF0b3IgICAgICAgICAgICBtb3N0cmEgY3JpYWRvciBlIGRvbm9cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk3Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICB1c2UgdGhlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIHVzYSBmb3JtYXRvIGRlIHNhw61kYSBKU09OXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5OQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yY2UgbGlzdCBvdXRwdXQgZm9ybWF0IChmb3IgZXhhbXBsZSB3aXRoIC0taWQpXG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yw6dhIGZvcm1hdG8gZGUgc2HDrWRhIGRlIGxpc3RhIChwb3IgZXhlbXBsbyBjb20gLS1pZClcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAxCittc2dpZCAiIC1QLCAtLW51bWVyaWMtcGVybXMgICAgICBwcmludCBudW1lcmljIHBlcm1pc3Npb25zIChQRVJNUyBjb2x1bW4pXG4iCittc2dzdHIgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgbW9zdHJhIHBlcm1pc3PDtWVzIG51bcOpcmljb3MgKGNvbHVuYSBQRVJNUylcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAzCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiIgorIiAtdCwgLS10aW1lICAgICAgICAgICAgICAgbW9zdHJhIGhvcsOhcmlvcyBkZSBhbmV4YcOnw6NvLCBkZXN0YWNhbWVudG8gZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHRlcmHDp8Ojb1xuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkdlbmVyaWMgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkNvbHVuYXMgZ2Vuw6lyaWNhczpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQtbWVtb3J5IGNvbHVtbnMgKC0tc2htZW1zKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkNvbHVuYXMgZGUgbWVtw7NyaWEgY29tcGFydGlsaGFkYSAoLS1zaG1lbXMpOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UtcXVldWUgY29sdW1ucyAoLS1xdWV1ZXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiQ29sdW5hcyBkZSBlbmZpbGVpcmFtZW50byBkZSBtZW5zYWdlbnMgKC0tcXVldWVzKTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgY29sdW1ucyAoLS1zZW1hcGhvcmVzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkNvbHVuYXMgZGUgc2Vtw6Fmb3JvICgtLXNlbWFwaG9yZXMpOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlN1bW1hcnkgY29sdW1ucyAoLS1nbG9iYWwpOlxuIgorbXNnc3RyICIiCisiXG4iCisiQ29sdW5hcyBkZSByZXN1bW8gKC0tZ2xvYmFsKTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJFbGVtZW50czpcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkVsZW1lbnRvczpcbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA1Cittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZSBpZGVudGlmaWVycyIKK21zZ3N0ciAiTsO6bWVybyBkZSBpZGVudGlmaWNhZG9yZXMgZGUgc2Vtw6Fmb3JvcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA2Cittc2dpZCAiVG90YWwgbnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgIk7Dum1lcm8gdG90YWwgZGUgc2Vtw6Fmb3JvcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA3Cittc2dpZCAiTWF4IHNlbWFwaG9yZXMgcGVyIHNlbWFwaG9yZSBzZXQuIgorbXNnc3RyICJNw6F4aW1vIGRlIHNlbcOhZm9yb3MgcG9yIGNvbmp1bnRvLiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA4Cittc2dpZCAiTWF4IG51bWJlciBvZiBvcGVyYXRpb25zIHBlciBzZW1vcCgyKSIKK21zZ3N0ciAiTsO6bWVybyBtw6F4aW1vIGRlIG9wZXJhw6fDtWVzIHBvciBzZW1vcCgyKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA5Cittc2dpZCAiU2VtYXBob3JlIG1heCB2YWx1ZSIKK21zZ3N0ciAiVmFsb3IgbcOheGltbyBkZSBzZW3DoWZvcm8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg2MworbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiTsO6bWVybyBkZSBmaWxhcyBkZSBtZW5zYWdlbSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODY0Cittc2dpZCAiTWF4IHNpemUgb2YgbWVzc2FnZSAoYnl0ZXMpIgorbXNnc3RyICJUYW1hbmhvIG3DoXhpbW8gZGEgbWVuc2FnZW0gKGJ5dGVzKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODY1Cittc2dpZCAiRGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSAoYnl0ZXMpIgorbXNnc3RyICJUYW1hbmhvIG3DoXhpbW8gcGFkcsOjbyBkYSBmaWxhIChieXRlcykiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk3OCBzeXMtdXRpbHMvbHNpcGMuYzo5OTcKK21zZ2lkICJodWdldGxiIgorbXNnc3RyICJodWdldGxiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5Nzkgc3lzLXV0aWxzL2xzaXBjLmM6MTAwNAorbXNnaWQgIm5vcmVzZXJ2ZSIKK21zZ3N0ciAic2VtLXJlc2VydmEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjEKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIgorbXNnc3RyICJTZWdtZW50b3MgZGUgbWVtw7NyaWEgY29tcGFydGlsaGFkYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MgorbXNnaWQgIlNoYXJlZCBtZW1vcnkgcGFnZXMiCittc2dzdHIgIlDDoWdpbmFzIGRlIG1lbcOzcmlhIGNvbXBhcnRpbGhhZGEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjMKK21zZ2lkICJNYXggc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAiVGFtYW5obyBtw6F4aW1vIGRlIHNlZ21lbnRvIGRlIG1lbcOzcmlhIGNvbXBhcnRpbGhhZGEgKGJ5dGVzKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2NAorbXNnaWQgIk1pbiBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICJUYW1hbmhvIG3DrW5pbW8gZGUgc2VnbWVudG8gZGUgbWVtw7NyaWEgY29tcGFydGlsaGFkYSAoYnl0ZXMpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMTM1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElQQyBpZGVudGlmaWVyIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBvIGlkZW50aWZpY2Fkb3IgZGUgSVBDIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMjI5Cittc2dpZCAiLS1nbG9iYWwgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1jcmVhdG9yLCAtLWlkIGFuZCAtLXRpbWUiCittc2dzdHIgIi0tZ2xvYmFsIMOpIG11dHVhbG1lbnRlIGV4Y2x1c2l2byBjb20gLS1jcmVhdG9yLCAtLWlkIGUgLS10aW1lIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjgzCittc2dpZCAibmFtZXNwYWNlIGlkZW50aWZpZXIgKGlub2RlIG51bWJlcikiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgZGUgZXNwYcOnbyBkZSBub21lIChuw7ptZXJvIGRlIGlub2RlKSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NAorbXNnaWQgImtpbmQgb2YgbmFtZXNwYWNlIgorbXNnc3RyICJ0aXBvIGRlIGVzcGHDp28gZGUgbm9tZSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NQorbXNnaWQgInBhdGggdG8gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAiY2FtaW5obyBkbyBlc3Bhw6dvIGRlIG5vbWUiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODYKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIGluIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgIm7Dum1lcm8gZGUgcHJvY2Vzc29zIG5vIGVzcGHDp28gZGUgbm9tZSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NworbXNnaWQgImxvd2VzdCBQSUQgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAibWVub3IgUElEIG5vIGVzcGHDp28gZGUgbm9tZSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OAorbXNnaWQgIlBQSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiUFBJRCBkbyBQSUQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODkKK21zZ2lkICJjb21tYW5kIGxpbmUgb2YgdGhlIFBJRCIKK21zZ3N0ciAibGluaGEgZGUgY29tYW5kbyBkbyBQSUQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTAKK21zZ2lkICJVSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiVUlEIGRvIFBJRCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MQorbXNnaWQgInVzZXJuYW1lIG9mIHRoZSBQSUQiCittc2dzdHIgIm5vbWUgZGUgdXN1w6FyaW8gZG8gUElEIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYxMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bmFtZXNwYWNlPl1cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gWzxlc3Bhw6dvIGRlIG5vbWU+XVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYxNgorbXNnaWQgIkxpc3Qgc3lzdGVtIG5hbWVzcGFjZXMuXG4iCittc2dzdHIgIkxpc3RhIGVzcGHDp29zIGRlIG5vbWVzIGRlIHNpc3RlbWEuXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjIzCittc2dpZCAiIC1wLCAtLXRhc2sgPHBpZD4gICAgICAgcHJpbnQgcHJvY2VzcyBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAtcCwgLS10YXNrIDxwaWQ+ICAgICAgIGV4aWJlIGVzcGHDp29zIGRlIG5vbWVzIGRvIHByb2Nlc3NvXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjI2Cittc2dpZCAiIC10LCAtLXR5cGUgPG5hbWU+ICAgICAgbmFtZXNwYWNlIHR5cGUgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzLCBjZ3JvdXApXG4iCittc2dzdHIgIiIKKyIgLXQsIC0tdHlwZSA8bm9tZT4gICAgICB0aXBvIGRlIGVzcGHDp28gZGUgbm9tZSAobW50LCBuZXQsIGlwYywgdXNlciwgcGlkLCB1dHMsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBjZ3JvdXApXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzE2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbmFtZXNwYWNlIHR5cGU6ICVzIgorbXNnc3RyICJ0aXBvIGRlIGVzcGHDp28gZGUgbm9tZSBkZXNjb25oZWNpZG86ICVzIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjczNQorbXNnaWQgIi0tdGFzayBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8bmFtZXNwYWNlPiIKK21zZ3N0ciAiLS10YXNrIMOpIG11dHVhbWVudGUgZXhjbHVzaXZhIGNvbSA8ZXNwYcOnbyBkZSBub21lPiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MzYKK21zZ2lkICJpbnZhbGlkIG5hbWVzcGFjZSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBkZSBlc3Bhw6dvIGRlIG5vbWUiCisKKyM6IHN5cy11dGlscy9sc25zLmM6Nzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBmb3VuZCBuYW1lc3BhY2U6ICVqdSIKK21zZ3N0ciAiZXNwYcOnbyBkZSBub21lIG7Do28gZW5jb250cmFkbzogJWp1IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NiBzeXMtdXRpbHMvdW1vdW50LmM6MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgImFwZW5hcyBvIHJvb3QgcG9kZSB1c2FyIGEgb3DDp8OjbyBcIi0tJXNcIiAoVUlEIGVmZXRpdmEgw6kgJXUpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2OSBzeXMtdXRpbHMvdW1vdW50LmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIm1vdW50OiBhcGVuYXMgcm9vdCBwb2RlIGZhemVyIGlzc28gKFVJRCBlZmV0aXZhIMOpICV1KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzMgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24iCittc2dzdHIgImFwZW5hcyBvIHJvb3QgcG9kZSB1c2FyIGEgb3DDp8OjbyBcIi0tJXNcIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzQgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKK21zZ3N0ciAiYXBlbmFzIG8gcm9vdCBwb2RlIGZhemVyIGlzc28iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjg1IHN5cy11dGlscy91bW91bnQuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzIChsaWJtb3VudCAlcyIKK21zZ3N0ciAiJXMgZGUgJXMgKGxpYm1vdW50ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMzAKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBtdGFiIgorbXNnc3RyICJmYWxoYSBuYSBsZWl0dXJhIGRvIG10YWIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MiBzeXMtdXRpbHMvdW1vdW50LmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBpZ25vcmVkXG4iCittc2dzdHIgIiUtMjVzOiBpZ25vcmFkb1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGFscmVhZHkgbW91bnRlZFxuIgorbXNnc3RyICIlLTI1czogasOhIG1vbnRhZGFcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3ZlZCB0byAlcy5cbiIKK21zZ3N0ciAiJXM6ICVzIG1vdmlkYSBwYXJhICVzLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGJvdW5kIG9uICVzLlxuIgorbXNnc3RyICIlczogJXMgdmluY3VsYWRhIGEgJXMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1NCBzeXMtdXRpbHMvbW91bnQuYzoyNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdW50ZWQgb24gJXMuXG4iCittc2dzdHIgIiVzOiAlcyBtb250YWRhIGVtICVzLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIHByb3BhZ2F0aW9uIGZsYWdzIGNoYW5nZWQuXG4iCittc2dzdHIgIiVzOiBvcMOnw7VlcyBkZSBwcm9wYWdhw6fDo28gZGUgJXMgYWx0ZXJhZGFzLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm1vdW50OiAlcyBkb2VzIG5vdCBjb250YWluIFNFTGludXggbGFiZWxzLlxuIgorIiAgICAgICBZb3UganVzdCBtb3VudGVkIGFuIGZpbGUgc3lzdGVtIHRoYXQgc3VwcG9ydHMgbGFiZWxzIHdoaWNoIGRvZXMgbm90XG4iCisiICAgICAgIGNvbnRhaW4gbGFiZWxzLCBvbnRvIGFuIFNFTGludXggYm94LiBJdCBpcyBsaWtlbHkgdGhhdCBjb25maW5lZFxuIgorIiAgICAgICBhcHBsaWNhdGlvbnMgd2lsbCBnZW5lcmF0ZSBBVkMgbWVzc2FnZXMgYW5kIG5vdCBiZSBhbGxvd2VkIGFjY2VzcyB0b1xuIgorIiAgICAgICB0aGlzIGZpbGUgc3lzdGVtLiAgRm9yIG1vcmUgZGV0YWlscyBzZWUgcmVzdG9yZWNvbig4KSBhbmQgbW91bnQoOCkuXG4iCittc2dzdHIgIiIKKyJtb3VudDogJXMgbsOjbyBjb250w6ltIHLDs3R1bG9zIFNFTGludXguXG4iCisiICAgICAgIFZvY8OqIGFjYWJvdSBkZSBtb250YXIgdW0gc2lzdGVtYSBkZSBhcnF1aXZvcyBxdWUgdGVtIHN1cG9ydGUgYSByw7N0dWxvcyxcbiIKKyIgICAgICAgbWFzIHF1ZSBuw6NvIGNvbnTDqW0gcsOzdHVsb3MsIGVtIHVtYSBtw6FxdWluYSBjb20gU0VMaW51eC4gw4kgYmVtIHBvc3PDrXZlbFxuIgorIiAgICAgICBxdWUgYXBsaWNhdGl2b3MgY29uZmluYWRvcyB2ZW5oYW0gYSBnZXJhciBtZW5zYWdlbnMgQVZDIGUgbsOjbyB0ZW5oYW1cbiIKKyIgICAgICAgcGVybWlzc8OjbyBwYXJhIGFjZXNzYXIgZXN0ZSBzaXN0ZW1hIGRlIGFycXVpdm9zLiBQYXJhIG1haXMgZGV0YWxoZXMsXG4iCisiICAgICAgIHZlamEgcmVzdG9yZWNvbig4KSBlIG1vdW50KDgpLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozNzgKK21zZ2lkICJXQVJOSU5HOiBmYWlsZWQgdG8gYXBwbHkgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgIkFWSVNPOiBmYWxoYSBhbyBhcGxpY2FyIGFzIG9ww6fDtWVzIGRlIHByb3BhZ2HDp8OjbyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCittc2dzdHIgImFwZW5hcyBvIHJvb3QgcG9kZSBtb250YXIgJXMgZW0gJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQiCittc2dzdHIgIiVzIGrDoSBlc3TDoSBtb250YWRhIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgdXNlZCBhcyByZWFkIG9ubHkgbG9vcCwgbW91bnRpbmcgcmVhZC1vbmx5IgorbXNnc3RyICIlcyDDqSB1c2FkbyBjb21vIGxvb3Agc29tZW50ZSBsZWl0dXJhOyBtb250YW5kbyBjb21vIHNvbWVudGUgbGVpdHVyYSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDE2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMgaW4gJXMiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBsb2NhbGl6YXIgJXMgZW0gJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyMworIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50cG9pbnQgJXMgaW4gJXMiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBsb2NhbGl6YXIgJXMgZW0gJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50IHNvdXJjZSAlcyBpbiAlcyIKK21zZ3N0ciAibsOjbyBmb2kgbW9udGFyIGEgb3JpZ2VtICVzIGVtICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzOiBtb3JlIGZpbGVzeXN0ZW1zIGRldGVjdGVkLiBUaGlzIHNob3VsZCBub3QgaGFwcGVuLFxuIgorIiAgICAgICB1c2UgLXQgPHR5cGU+IHRvIGV4cGxpY2l0bHkgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIG9yXG4iCisiICAgICAgIHVzZSB3aXBlZnMoOCkgdG8gY2xlYW4gdXAgdGhlIGRldmljZS4iCittc2dzdHIgIiIKKyIlczogbWFpcyBzaXN0ZW1hcyBkZSBhcnF1aXZvcyBkZXRlY3RhZG9zLiBJc3NvIG7Do28gZGV2ZXJpYSBhY29udGVjZXIsXG4iCisiICAgICAgIHVzZSAtdCA8dGlwbz4gcGFyYSBlc3BlY2lmaWNhciBleHBsaWNpdGFtZW50ZSBvIHRpcG8gZGUgc2lzdGVtYSBkZVxuIgorIiAgICAgICBhcnF1aXZvcyBvdSB1c2Ugd2lwZWZzKDgpIHBhcmEgYXBhZ2FyIG8gZGlzcG9zaXRpdm8uIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzYKK21zZ2lkICJJIGNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGZpbGVzeXN0ZW0gdHlwZSwgYW5kIG5vbmUgd2FzIHNwZWNpZmllZCIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGRldGVybWluYXIgbyB0aXBvIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3MgZSBuZW5odW0gZm9pIGVzcGVjaWZpY2FkbyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDM5Cittc2dpZCAieW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJ2b2PDqiBwcmVjaXNhIGVzcGVjaWZpY2FyIG8gdGlwbyBkbyBzaXN0ZW1hIGRlIGFycXVpdm9zIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGxvY2FsaXphciAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ3Cittc2dpZCAibW91bnQgc291cmNlIG5vdCBkZWZpbmVkIgorbXNnc3RyICJvcmlnZW0gZGEgbW9udGFnZW0gbsOjbyBkZWZpbmlkYSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDUxIHN5cy11dGlscy9tb3VudC5jOjQ1MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBvcMOnw7VlcyBkZSBtb250YWdlbSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0dXAgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiBmYWxoYSBhbyBjb25maWd1cmFyIGRpc3Bvc2l0aXZvIGRlIGxvb3AiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnQgZmFpbGVkIgorbXNnc3RyICIlczogbW9udGFnZW0gZmFsaG91IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZpbGVzeXN0ZW0gbW91bnRlZCwgYnV0IG1vdW50KDgpIGZhaWxlZCIKK21zZ3N0ciAiJXM6IG8gc2lzdGVtYSBkZSBhcnF1aXZvcyBtb250b3UsIG1hcyBtb3VudCg4KSBmYWxob3UiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ4OSBzeXMtdXRpbHMvbW91bnQuYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgJXMgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJvIHBvbnRvIGRlIG1vbnRhZ2VtICVzIG7Do28gw6kgdW0gZGlyZXTDs3JpbyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDkzCittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorbXNnc3RyICLDqSBuZWNlc3PDoXJpbyBzZXIgc3VwZXJ1c3XDoXJpbyBwYXJhIG1vbnRhciIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGJ1c3kiCittc2dzdHIgIiVzIGVzdMOhIG9jdXBhZG8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb3IgJXMgYnVzeSIKK21zZ3N0ciAiJXMgasOhIG1vbnRhZG8gb3UgJXMgb2N1cGFkbyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKK21zZ3N0ciAiICAgICAgICVzIGrDoSBtb250YWRvIGVtICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUyNQorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAibyBwb250byBkZSBtb250YWdlbSAlcyBuw6NvIGV4aXN0ZSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50ICVzIGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIgorbXNnc3RyICJvIHBvbnRvIGRlIG1vbnRhZ2VtICVzIMOpIHVtIHbDrW5jdWxvIHNpbWLDs2xpY28gcGFyYSBsdWdhciBuZW5odW0iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAibyBkaXNwb3NpdGl2byBlc3BlY2lhbCAlcyBuw6NvIGV4aXN0ZSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTM2IHN5cy11dGlscy9tb3VudC5jOjUzOCBzeXMtdXRpbHMvbW91bnQuYzo1NDAKKyM6IHN5cy11dGlscy9tb3VudC5jOjU1NQorbXNnaWQgIm1vdW50KDIpIGZhaWxlZCIKK21zZ3N0ciAibW91bnQoMikgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KSIKK21zZ3N0ciAibyBkaXNwb3NpdGl2byBlc3BlY2lhbCAlcyBuw6NvIGV4aXN0ZSAodW0gcHJlZml4byBkZSBjYW1pbmhvIG7Do28gw6kgdW0gZGlyZXTDs3JpbykiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICIlcyBuw6NvIGVzdMOhIG1vbnRhZG8gb3Ugb3DDp8OjbyBpbnbDoWxpZGEiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbW91bnRwb2ludCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICIlcyBuw6NvIMOpIHVtIHBvbnRvIGRlIG1vbnRhZ2VtIG91IMOpIHVtYSBvcMOnw6NvIGludsOhbGlkYSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTY1Cittc2dpZCAiIgorImJhZCBvcHRpb24uIE5vdGUgdGhhdCBtb3ZpbmcgYSBtb3VudCByZXNpZGluZyB1bmRlciBhIHNoYXJlZFxuIgorIiAgICAgICBtb3VudCBpcyB1bnN1cHBvcnRlZC4iCittc2dzdHIgIiIKKyJvcMOnw6NvIGludsOhbGlkYS4gTm90ZSBxdWUgc2VtIHN1cG9ydGUgYSBtb3ZlciB1bWEgbW9udGFnZW1cbiIKKyIgICAgICAgcmVzaWRlbnRlIGVtIHVtYSBtb250YWdlbSBjb21wYXJ0aWxoYWRhLiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ3cm9uZyBmcyB0eXBlLCBiYWQgb3B0aW9uLCBiYWQgc3VwZXJibG9jayBvbiAlcyxcbiIKKyIgICAgICAgbWlzc2luZyBjb2RlcGFnZSBvciBoZWxwZXIgcHJvZ3JhbSwgb3Igb3RoZXIgZXJyb3IiCittc2dzdHIgIiIKKyJ0aXBvIGRlIHNpc3RlbWEgZGUgYXJxdWl2b3MgaW5jb3JyZXRvLCBvcMOnw6NvIGludsOhbGlkYSxcbiIKKyIgICAgICAgc3VwZXJibG9jbyBpbnbDoWxpZG8gZW0gJXMsIHDDoWdpbmEgZGUgY8OzZGlnbyBvdSBwcm9ncmFtYVxuIgorIiAgICAgICBhdXhpbGlhciBmYWx0YW5kbyBvdSBvdXRybyBlcnJvIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgICAoZm9yIHNldmVyYWwgZmlsZXN5c3RlbXMgKGUuZy4gbmZzLCBjaWZzKSB5b3UgbWlnaHRcbiIKKyIgICAgICAgbmVlZCBhIC9zYmluL21vdW50Ljx0eXBlPiBoZWxwZXIgcHJvZ3JhbSlcbiIKK21zZ3N0ciAiIgorIiAgICAgICAocGFyYSB2w6FyaW9zIHNpc3RlbWFzIGRlIGFycXVpdm9zIChleC46IG5mcywgY2lmcykgdm9jw6pcbiIKKyIgICAgICAgcG9kZSBwcmVjaXNhciBkZSB1bSBwcm9ncmFtYSBhdXhpbGlhciAvc2Jpbi9tb3VudC48dGlwbz4pXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiICAgICAgIEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gaXMgZm91bmQgaW4gc3lzbG9nIC0gdHJ5XG4iCisiICAgICAgIGRtZXNnIHwgdGFpbCBvciBzby5cbiIKK21zZ3N0ciAiIgorIlxuIgorIiAgICAgICBFbSBhbGd1bnMgY2Fzb3MsIGluZm9ybWHDp8O1ZXMgw7p0ZWlzIHPDo28gZW5jb250cmFkYXMgbm9cbiIKKyIgICAgICAgc3lzbG9nIC0gdGVudGUgXCJkbWVzZyB8IHRhaWxcIiBvdSBhbGdvIGFzc2ltLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1ODMKK21zZ2lkICJtb3VudCB0YWJsZSBmdWxsIgorbXNnc3RyICJ0YWJlbGEgZGUgbW9udGFnZW0gY2hlaWEiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIgorbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIGxlciBvIHN1cGVyYmxvY28iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU5MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSAnJXMnIgorbXNnc3RyICJ0aXBvIGRlIHNpc3RlbWEgZGUgYXJxdWl2b3MgZGVzY29uaGVjaWRvIFwiJXNcIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTk0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgInRpcG8gZGUgc2lzdGVtYSBkZSBhcnF1aXZvcyBkZXNjb25oZWNpZG8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UsIGFuZCBzdGF0KDIpIGZhaWxzPyIKK21zZ3N0ciAiJXMgbsOjbyDDqSB1bSBkaXNwb3NpdGl2byBkZSBibG9jbyBlIHN0YXQoMikgZmFsaGE/IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInRoZSBrZXJuZWwgZG9lcyBub3QgcmVjb2duaXplICVzIGFzIGEgYmxvY2sgZGV2aWNlXG4iCisiICAgICAgIChtYXliZSBgbW9kcHJvYmUgZHJpdmVyJz8pIgorbXNnc3RyICIiCisibyBrZXJuZWwgbsOjbyByZWNvbmhlY2UgJXMgY29tbyBkaXNwb3NpdGl2byBkZSBibG9jb1xuIgorIiAgICAgICAodGFsdmV6IFwibW9kcHJvYmUgZHJpdmVyXCI/KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSAobWF5YmUgdHJ5IGAtbyBsb29wJz8pIgorbXNnc3RyICIlcyBuw6NvIMOpIHVtIGRpc3Bvc2l0aXZvIGRlIGJsb2NvICh0YWx2ZXogdGVudGFyIFwiLW8gbG9vcFwiPykiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIgJXMgbsOjbyDDqSB1bSBkaXNwb3NpdGl2byBkZSBibG9jbyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXMgbsOjbyDDqSB1bSBkaXNwb3NpdGl2byBkZSBibG9jbyB2w6FsaWRvIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50ICVzIHJlYWQtb25seSIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIG1vbnRhciAlcyBjb21vIHNvbWVudGUtbGVpdHVyYSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHdyaXRlLXByb3RlY3RlZCBidXQgZXhwbGljaXQgYC13JyBmbGFnIGdpdmVuIgorbXNnc3RyICIlcyDDqSBwcm90ZWdpZG8gY29udHJhIGdyYXZhw6fDo28sIG1hcyBhIG9ww6fDo28gXCItd1wiIGZvaSBwYXNzYWRhIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlbW91bnQgJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbW9udGFyIG5vdmFtZW50ZSAlcyBwYXJhIGdyYXZhw6fDo28sIHBvaXMgZXN0w6EgcHJvdGVnaWRvIGNvbnRyYSBncmF2YcOnw6NvIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MzEgc3lzLXV0aWxzL21vdW50LmM6NjU0IHN5cy11dGlscy91bnNoYXJlLmM6MTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAibW9udGFnZW0gZGUgJXMgZW0gJXMgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkLCBtb3VudGluZyByZWFkLW9ubHkiCittc2dzdHIgIiVzIMOpIHByb3RlZ2lkbyBjb250cmEgZ3JhdmHDp8OjbzsgbW9udGFuZG8gY29tbyBzb21lbnRlLWxlaXR1cmEiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBtZWRpdW0gZm91bmQgb24gJXMiCittc2dzdHIgIm5lbmh1bWEgbcOtZGlhIGxvY2FsaXphZGEgZW0gJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIgorbXNnc3RyICIlczogZmFsaGEgYW8gYW5hbGlzYXIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxNworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBvcHRpb24gZm9ybWF0OiAlcyIKK21zZ3N0ciAiRm9ybWF0byBkZSBvcMOnw6NvIHNlbSBzdXBvcnRlOiAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzE5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhcHBlbmQgb3B0aW9uICclcyciCittc2dzdHIgImZhbGhhIGFvIGFuZXhhciBhIG9ww6fDo28gXCIlc1wiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbGhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2VdIDxzb3VyY2U+IHwgWy0tdGFyZ2V0XSA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIDxvcGVyYXRpb24+IDxtb3VudHBvaW50PiBbPHRhcmdldD5dXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLWxoVl1cbiIKKyIgJTEkcyAtYSBbb3DDp8O1ZXNdXG4iCisiICUxJHMgW29ww6fDtWVzXSBbLS1zb3VyY2VdIDxvcmlnZW0+IHwgWy0tdGFyZ2V0XSA8ZGlyZXTDs3Jpb1xuIgorIiAlMSRzIFtvcMOnw7Vlc10gPGZvbnRlPiA8ZGlyZXTDs3Jpbz5cbiIKKyIgJTEkcyA8b3BlcmHDp8Ojbz4gPHBvbnRvLW1vbnRhZ2VtPiBbPGFsdm8+XVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NDQKK21zZ2lkICJNb3VudCBhIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIk1vbnRhIHVtIHNpc3RlbWEgZGUgYXJxdWl2b3MuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIG1vdW50IGFsbCBmaWxlc3lzdGVtcyBtZW50aW9uZWQgaW4gZnN0YWJcbiIKKyIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCisiIC1mLCAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIG1vdW50KDIpIHN5c2NhbGxcbiIKKyIgLUYsIC0tZm9yayAgICAgICAgICAgICAgZm9yayBvZmYgZm9yIGVhY2ggZGV2aWNlICh1c2Ugd2l0aCAtYSlcbiIKKyIgLVQsIC0tZnN0YWIgPHBhdGg+ICAgICAgYWx0ZXJuYXRpdmUgZmlsZSB0byAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW9udGEgdG9kb3Mgb3Mgc2lzdGVtYXMgZGUgYXJxdWl2b3MgbWVuY2lvbmFkb3NcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBubyBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBuw6NvIGNhbm9uaXphIGNhbWluaG9zXG4iCisiIC1mLCAtLWZha2UgICAgICAgICAgICAgIHRlc3RlOyBpZ25vcmEgYSBjaGFtYWRhIGRlIHNpc3RlbWEgZG8gbW91bnQoMilcbiIKKyIgLUYsIC0tZm9yayAgICAgICAgICAgICAgZmF6IGZvcmsgZGUgY2FkYSBkaXNwb3NpdGl2byAodXNhIGNvbSAtYSlcbiIKKyIgLVQsIC0tZnN0YWIgPGNhbWluaG8+ICAgYXJxdWl2byBhbHRlcm5hdGl2byBhbyAvZXRjL2ZzdGFiXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgbW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIG7Do28gY2hhbWEgb3MgYWp1ZGFudGVzIGRlIG1vdW50Ljx0aXBvPlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIHNob3cgYWxzbyBmaWxlc3lzdGVtIGxhYmVsc1xuIgorbXNnc3RyICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgbW9zdHJhIHRhbWLDqW0gb3MgcsOzdHVsb3MgZG9zIHNpc3RlbWFzIGRlIGFycXVpdm9zXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1OCBzeXMtdXRpbHMvdW1vdW50LmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIGRvbid0IHdyaXRlIHRvIC9ldGMvbXRhYlxuIgorbXNnc3RyICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgbsOjbyBlc2NyZXZlIHBhcmEgbm8gL2V0Yy9tdGFiXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc2MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIG1vdW50IG9wdGlvbnNcbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtb25seSAoc2FtZSBhcyAtbyBybylcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb3B0aW9ucyA8bGlzdGE+ICAgbGlzdGEgc2VwYXJhZGEgcG9yIHbDrXJndWxhIGRlIG9ww6fDtWVzIGRlIG1vbnRhZ2VtXG4iCisiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdGE+IGxpbWl0YSBvIGNvbmp1bnRvIGRlIHNpc3RlbWFzIGRlIGFycXVpdm9zXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVzYSBjb20gLWEpXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIG1vbnRhIG8gc2lzdGVtYSBkZSBhcnF1aXZvcyBjb21vIHNvbWVudGUgbGVpdHVyYVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIChtZXNtbyBxdWUgLW8gcm8pXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0YT4gICAgIGxpbWl0YSBvIGNvbmp1bnRvIGRlIHRpcG9zIGRlIHNpc3RlbWFzIGRlIGFycXVpdm9zXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc2NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLXNvdXJjZSA8c3JjPiAgICAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIHNvdXJjZSAocGF0aCwgbGFiZWwsIHV1aWQpXG4iCisiICAgICAtLXRhcmdldCA8dGFyZ2V0PiAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1zb3VyY2UgPG9yaWdlbT4gICBlc3BlY2lmaWNhIG9yaWdlbSBleHBsaWNpdGFtZW50ZSAocGF0aCwgbGFiZWwsIHV1aWQpXG4iCisiICAgICAtLXRhcmdldCA8YWx2bz4gICAgIGVzcGVjaWZpY2EgcG9udG8gZGUgbW9udGFnZW0gZXhwbGljaXRhbWVudGVcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzY4IHN5cy11dGlscy91bW91bnQuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgZXhwbGljYSBvIHF1ZSBlc3TDoSBzZW5kbyBmZWl0b1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtd3JpdGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb250YSBwYXJhIGxlaXR1cmEgZSBlc2NyaXRhIChwYWRyw6NvKVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNvdXJjZTpcbiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorbXNnc3RyICIiCisiXG4iCisiT3JpZ2VtOlxuIgorIiAtTCwgLS1sYWJlbCA8csOzdHVsbz4gICAgc2luw7RuaW1vIHBhcmEgTEFCRUw9PHLDs3R1bG8+XG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgIHNpbsO0bmltbyBwYXJhIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxyw7N0dWxvPiAgICAgICAgICBlc3BlY2lmaWNhIG8gZGlzcG9zaXRpdm8gcGVsbyByw7N0dWxvIGRvIHNpc3RlbWFcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBkZSBhcnF1aXZvc1xuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICBlc3BlY2lmaWNhIG8gZGlzcG9zaXRpdm8gcGVsbyBVVUlEIGRvIHNpc3RlbWFcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBkZSBhcnF1aXZvc1xuIgorIiBQQVJUTEFCRUw9PHLDs3R1bG8+ICAgICAgZXNwZWNpZmljYSBvIGRpc3Bvc2l0aXZvIHBlbG8gcsOzdHVsbyBkYSBwYXJ0acOnw6NvXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIGVzcGVjaWZpY2EgbyBkaXNwb3NpdGl2byBwZWxvIFVVSUQgZGEgcGFydGnDp8Ojb1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorbXNnc3RyICIiCisiIDxkaXNwb3NpdGl2bz4gICAgICAgICAgIGVzcGVjaWZpY2EgbyBkaXNwb3NpdGl2byBwZWxvIGNhbWluaG9cbiIKKyIgPGRpcmV0w7NyaW8+ICAgICAgICAgICAgIHBvbnRvIGRlIG1vbnRhZ2VtIHBhcmEgbW9udGFnZW5zIFwiYmluZFwiXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZlamEgLS1iaW5kL3JiaW5kKVxuIgorIiA8YXJxdWl2bz4gICAgICAgICAgICAgICBhcnF1aXZvIG5vcm1hbCBkZSBjb25maWd1cmHDp8OjbyBkZSBkaXNwb3NpdGl2byBkZSBsb29wXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc5MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3BlcmF0aW9uczpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIHNvbWV3aGVyZSBlbHNlIChzYW1lIGFzIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG1vdmUgYSBzdWJ0cmVlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlXG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcGVyYcOnw7VlczpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW9udGEgYSBzdWLDoXJ2b3JlIGVtIG91dHJvIGx1Z2FyIChtZXNtbyBxdWUgLW8gYmluZClcbiIKKyIgLU0sIC0tbW92ZSAgICAgICAgICAgICAgbW92ZSB1bWEgc3Viw6Fydm9yZSBwYXJhIG91dHJvIGx1Z2FyXG4iCisiIC1SLCAtLXJiaW5kICAgICAgICAgICAgIG1vbnRhIHVtYSBzdWLDoXJ2b3JlIGEgdG9kYXMgYXMgc3VibW9udGFnZW5zIHBhcmFcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRybyBsdWdhclxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXNsYXZlICAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXByaXZhdGUgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICBtYXJrIGEgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyY2EgdW1hIHN1YsOhcnZvcmUgY29tbyBjb21wYXJ0aWxoYWRhXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmNhIHVtYSBzdWLDoXJ2b3JlIGNvbW8gZXNjcmF2YVxuIgorIiAtLW1ha2UtcHJpdmF0ZSAgICAgICAgICBtYXJjYSB1bWEgc3Viw6Fydm9yZSBjb21vIHByaXZhZGFcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyY2EgdW1hIHN1YsOhcnZvcmUgY29tbyBuw6NvIHZpbmN1bMOhdmVsXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjgwMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorIiAtLW1ha2UtcnNoYXJlZCAgICAgICAgICBtYXJjYSByZWN1cnNpdmFtZW50ZSB1bSBjb25qdW50byBkZSBzdWLDoXJ2b3Jlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW8gY29tcGFydGlsaGFkYXNcbiIKKyIgLS1tYWtlLXJzbGF2ZSAgICAgICAgICAgbWFyY2EgcmVjdXJzaXZhbWVudGUgdW0gY29uanVudG8gZGUgc3Viw6Fydm9yZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21vIGVzY3JhdmFzXG4iCisiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIG1hcmNhIHJlY3Vyc2l2YW1lbnRlIHVtIGNvbmp1bnRvIGRlIHN1YsOhcnZvcmVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbyBwcml2YWRhc1xuIgorIiAtLW1ha2UtcnVuYmluZGFibGUgICAgICBtYXJjYSByZWN1cnNpdmFtZW50ZSB1bSBjb25qdW50byBkZSBzdWLDoXJ2b3Jlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW8gbsOjbyB2aW5jdWzDoXZlbFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4ODcgc3lzLXV0aWxzL3Vtb3VudC5jOjU0OAorbXNnaWQgImxpYm1vdW50IGNvbnRleHQgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIkFsb2Nhw6fDo28gZGEgY29udGV4dG8gZGUgbGlibW91bnQgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo5NDQgc3lzLXV0aWxzL3Vtb3VudC5jOjYwMQorbXNnaWQgImZhaWxlZCB0byBzZXQgb3B0aW9ucyBwYXR0ZXJuIgorbXNnc3RyICJmYWxoYSBhbyBkZWZpbmlyIHBhZHLDo28gZGFzIG9ww6fDtWVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMDk3Cittc2dpZCAic291cmNlIHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAiZm9udGUgZXNwZWNpZmljYWRhIG1haXMgZGUgdW1hIHZleiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstcWRdIC9wYXRoL3RvL2RpcmVjdG9yeVxuIgorIiAlMSRzIC14IC9kZXYvZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLXFkXSAvY2FtaW5oby9wYXJhL2RpcmV0w7NyaW9cbiIKKyIgJTEkcyAteCAvZGV2L2Rpc3Bvc2l0aXZvXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTIyCittc2dpZCAiQ2hlY2sgd2hldGhlciBhIGRpcmVjdG9yeSBvciBmaWxlIGlzIGEgbW91bnRwb2ludC5cbiIKK21zZ3N0ciAiVmVyaWZpY2Egc2UgdW0gZGlyZXTDs3JpbyBvdSBhcnF1aXZvIMOpIHVtIHBvbnRvIGRlIG1vbnRhZ2VtLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEyNQorbXNnaWQgIiIKKyIgLXEsIC0tcXVpZXQgICAgICAgIHF1aWV0IG1vZGUgLSBkb24ndCBwcmludCBhbnl0aGluZ1xuIgorIiAtZCwgLS1mcy1kZXZubyAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBmaWxlc3lzdGVtXG4iCisiIC14LCAtLWRldm5vICAgICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGJsb2NrIGRldmljZVxuIgorbXNnc3RyICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICBtb2RvIHNpbGVuY2lvc28gLSBleGliZSBuYWRhXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICBleGliZSBvIG7Dum1lcm8gbWFpb3I6bWVub3IgZG8gZGlzcG9zaXRpdm8gZG8gc2lzdGVtYVxuIgorIiAgICAgICAgICAgICAgICAgICAgICBkZSBhcnF1aXZvc1xuIgorIiAteCwgLS1kZXZubyAgICAgICAgZXhpYmUgbyBuw7ptZXJvIG1haW9yOm1lbm9yIGRvIGRpc3Bvc2l0aXZvIGRvIGRpc3Bvc2l0aXZvXG4iCisiICAgICAgICAgICAgICAgICAgICAgIGRlIGJsb2Nvc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjE5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzIG7Do28gw6kgdW0gcG9udG8gZGUgbW9udGFnZW1cbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoyMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzIMOpIHVtIHBvbnRvIGRlIG1vbnRhZ2VtXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzIgc3lzLXV0aWxzL3NldHByaXYuYzo5MyBzeXMtdXRpbHMvdW5zaGFyZS5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gPHByb2dyYW1hPiBbPGFyZ3VtZW50b3M+Li4uXVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjc2Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIG5hbWVzcGFjZXMgb2Ygb3RoZXIgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICJFeGVjdXRhIHVtIHByb2dyYW1hIGNvbSBlc3Bhw6dvcyBkZSBub21lIGRlIG91dHJvcyBwcm9jZXNzby5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3OQorbXNnaWQgIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgIHRhcmdldCBwcm9jZXNzIHRvIGdldCBuYW1lc3BhY2VzIGZyb21cbiIKK21zZ3N0ciAiIC10LCAtLXRhcmdldCA8cGlkPiAgICAgIHByb2Nlc3NvIGFsdm8gcGFyYSBzZSBvYnRlciBlc3Bhw6dvcyBkZSBub21lc1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgwCittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgZW50ZXIgbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbSwgLS1tb3VudFs9PGFycXVpdm8+XSBpbmZvcm1hIG8gZXNwYcOnbyBkZSBub21lIGRhIG1vbnRhZ2VtXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODEKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICBlbnRlciBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAtdSwgLS11dHNbPTxhcnF1aXZvPl0gICBpbmZvcm1hIG8gZXNwYcOnbyBkZSBub21lIFVUUyAobm9tZSBkYSBtw6FxdWluYSBldGMuKVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgyCittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgZW50ZXIgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisiIC1pLCAtLWlwY1s9PGFycXVpdm8+XSAgIGluZm9ybWEgbyBlc3Bhw6dvIGRlIG5vbWUgZGUgY29tdW5pY2HDp8OjbyBlbnRyZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzb3MgZGUgU3lzdGVtIFZcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MworbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgIGVudGVyIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbiwgLS1uZXRbPTxhcnF1aXZvPl0gICBpbmZvcm1hIG8gZXNwYcOnbyBkZSBub21lIGRhIHJlZGVcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NAorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgIGVudGVyIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1wIC0tcGlkWz08YXJxdWl2bz5dICAgIGluZm9ybWEgbyBlc3Bhw6dvIGRlIG5vbWUgZG8gcGlkXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODUKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICBlbnRlciBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtQywgLS1jZ3JvdXBbPTxhcnF1aXZvPl0gaW5mb3JtYSBvIGVzcGHDp28gZGUgbm9tZSBkZSBjZ3JvdXBcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NgorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgIGVudGVyIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtVSwgLS11c2VyWz08YXJxdWl2bz5dICBpbmZvcm1hIG8gZXNwYcOnbyBkZSBub21lIGRvIHVzdcOhcmlvXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODcKK21zZ2lkICIgLVMsIC0tc2V0dWlkIDx1aWQ+ICAgICBzZXQgdWlkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtUywgLS1zZXR1aWQgPHVpZD4gICAgICBkZWZpbmUgdWlkIG5vIGVzcGHDp28gZGUgbm9tZSBkbyB1c3XDoXJpb1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg4Cittc2dpZCAiIC1HLCAtLXNldGdpZCA8Z2lkPiAgICAgc2V0IGdpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICAgZGVmaW5lIGdpZCBubyBlc3Bhw6dvIGluZm9ybWFkb1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg5Cittc2dpZCAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzIGRvIG5vdCB0b3VjaCB1aWRzIG9yIGdpZHNcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFsc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBuw6NvIHRvY2EgbmFzIHVpZHMgb3UgZ2lkc1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkwCittc2dpZCAiIC1yLCAtLXJvb3RbPTxkaXI+XSAgICAgc2V0IHRoZSByb290IGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXIsIC0tcm9vdFs9PGRpcj5dICAgICAgZGVmaW5lIG8gZGlyZXTDs3JpbyByYWl6XG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTEKK21zZ2lkICIgLXcsIC0td2RbPTxkaXI+XSAgICAgICBzZXQgdGhlIHdvcmtpbmcgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtdywgLS13ZFs9PGRpcj5dICAgICAgICBkZWZpbmUgbyBkaXJldMOzcmlvIGRlIHRyYWJhbGhvXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTIKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICBkbyBub3QgZm9yayBiZWZvcmUgZXhlYydpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBuw6NvIGZheiBmb3JrIGFudGVzIGRlIGV4ZWN1dGFyIG8gPHByb2dyYW1hPlxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjk0Cittc2dpZCAiIC1aLCAtLWZvbGxvdy1jb250ZXh0ICAgc2V0IFNFTGludXggY29udGV4dCBhY2NvcmRpbmcgdG8gLS10YXJnZXQgUElEXG4iCittc2dzdHIgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgICBkZWZpbmUgY29udGV4dG8gU0VMaW51eCBjb25mb3JtZSBvIFBJRCBkZSAtLXRhcmdldFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJuZWl0aGVyIGZpbGVuYW1lIG5vciB0YXJnZXQgcGlkIHN1cHBsaWVkIGZvciAlcyIKK21zZ3N0ciAibmVtIG5vbWUgZGUgYXJxdWl2byBuZW0gcGlkIGFsdm8gZm9ybmVjaWRvcyBwYXJhICVzIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjI3NworbXNnaWQgImZhaWxlZCB0byBwYXJzZSB1aWQiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIHVpZCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoyODEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZ2lkIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBnaWQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzE3Cittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tZm9sbG93LWNvbnRleHQiCittc2dzdHIgIm5lbmh1bSBQSUQgYWx2byBlc3BlY2lmaWNhZG8gcGFyYSAtLWZvbGxvdy1jb250ZXh0IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0ICVkIFNFTGludXggY29udGV4dCIKK21zZ3N0ciAiZmFsaGEgYW8gb2J0ZXIgY29udGV4dG8gU0VMaW51eCBkZSAlZCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBleGVjIGNvbnRleHQgdG8gJyVzJyIKK21zZ3N0ciAiZmFsaGEgYW8gZGVmaW5pciBjb250ZXh0byBkZSBleGVjdcOnw6NvIHBhcmEgXCIlc1wiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFzc29jaWF0ZSB0byBuYW1lc3BhY2UgJyVzJyBmYWlsZWQiCittc2dzdHIgInJlYXNzb2NpYcOnw6NvIGFvIGVzcGHDp28gZGUgbm9tZSBcIiVzXCIgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM5MAorbXNnaWQgImNhbm5vdCBvcGVuIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciBvIGRpcmV0w7NyaW8gZGUgdHJhYmFsaG8gYXR1YWwiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mzk3Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSByb290IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgImFsdGVyYcOnw6NvIGRlIGRpcmV0w7NyaW8gcGVsbyBkZXNjcml0b3IgZGUgYXJxdWl2byByYWl6IGZhbGhvdSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MDAKK21zZ2lkICJjaHJvb3QgZmFpbGVkIgorbXNnc3RyICJjaHJvb3QgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQxMAorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgd29ya2luZyBkaXJlY3RvcnkgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAiYWx0ZXJhw6fDo28gZGUgZGlyZXTDs3JpbyBwZWxvIGRlc2NyaXRvciBkZSBhcnF1aXZvIGRlIGRpcmV0w7NyaW8gZGUgdHJhYmFsaG8gZmFsaG91IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQyMSBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxNSBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxOQorbXNnaWQgInNldGdyb3VwcyBmYWlsZWQiCittc2dzdHIgInNldGdyb3VwcyBmYWxob3UiCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBuZXdfcm9vdCBwdXRfb2xkXG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIG5vdmFfcmFpeiBjb2xvY2FfYW50aWdvXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzcKK21zZ2lkICJDaGFuZ2UgdGhlIHJvb3QgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiQWx0ZXJhIG8gc2lzdGVtYSBkZSBhcnF1aXZvcyByYWl6LlxuIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCBmcm9tIGAlcycgdG8gYCVzJyIKK21zZ3N0ciAiZmFsaGEgYW8gYWx0ZXJhciByYWl6IGRlIFwiJXNcIiBwYXJhIFwiJXNcIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NQorbXNnaWQgImFkZHJlc3Mgc3BhY2UgbGltaXQiCittc2dzdHIgImxpbWl0ZSBkZSBlc3Bhw6dvIGRlIGVuZGVyZcOnb3MiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKK21zZ2lkICJtYXggY29yZSBmaWxlIHNpemUiCittc2dzdHIgInRhbWFuaG8gbcOheGltbyBkZSBhcnF1aXZvIGRvIG7DumNsZW8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJDUFUgdGltZSIKK21zZ3N0ciAiVGVtcG8gZGEgQ1BVIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAic2Vjb25kcyIKK21zZ3N0ciAic2VndW5kb3MiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzgKK21zZ2lkICJtYXggZGF0YSBzaXplIgorbXNnc3RyICJ0YW1hbmhvIG3DoXhpbW8gZGUgZGFkb3MiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzkKK21zZ2lkICJtYXggZmlsZSBzaXplIgorbXNnc3RyICJ0YW1hbmhvIG3DoXhpbW8gZGUgYXJxdWl2byIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZmlsZSBsb2NrcyBoZWxkIgorbXNnc3RyICJuw7ptZXJvIG3DoXhpbW8gZGUgdHJhdmFzIGRlIGFycXVpdm8gbWFudGlkYXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKK21zZ2lkICJsb2NrcyIKK21zZ3N0ciAidHJhdmFzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCittc2dpZCAibWF4IGxvY2tlZC1pbi1tZW1vcnkgYWRkcmVzcyBzcGFjZSIKK21zZ3N0ciAiZXNwYcOnbyBtw6F4aW1vIGRlIGVuZGVyZcOnbyB0cmF2YWRvIG5hIG1lbcOzcmlhIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyCittc2dpZCAibWF4IGJ5dGVzIGluIFBPU0lYIG1xdWV1ZXMiCittc2dzdHIgIm3DoXhpbW8gZGUgYnl0ZXMgbm9zIG3Ds2R1bG9zIFBPU0lYIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgzCittc2dpZCAibWF4IG5pY2UgcHJpbyBhbGxvd2VkIHRvIHJhaXNlIgorbXNnc3RyICJwcmlvcmlkYWRlIG3DoXhpbWEgZGUgbmljZSBwZXJtaXRpZGEiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKK21zZ2lkICJtYXggbnVtYmVyIG9mIG9wZW4gZmlsZXMiCittc2dzdHIgIm7Dum1lcm8gbcOheGltbyBkZSBhcnF1aXZvcyBhYmVydG9zIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0Cittc2dpZCAiZmlsZXMiCittc2dzdHIgImFycXVpdm9zIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1Cittc2dpZCAibWF4IG51bWJlciBvZiBwcm9jZXNzZXMiCittc2dzdHIgIm7Dum1lcm8gbcOheGltbyBkZSBwcm9jZXNzb3MiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKK21zZ2lkICJwcm9jZXNzZXMiCittc2dzdHIgInByb2Nlc3NvcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NgorbXNnaWQgIm1heCByZXNpZGVudCBzZXQgc2l6ZSIKK21zZ3N0ciAidGFtYW5obyBtw6F4aW1vIGRlIGNvbmp1bnRvIHJlc2lkZW50ZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NworbXNnaWQgIm1heCByZWFsLXRpbWUgcHJpb3JpdHkiCittc2dzdHIgInByaW9yaWRhZGUgbcOheGltYSBkZSB0ZW1wbyByZWFsIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAidGltZW91dCBmb3IgcmVhbC10aW1lIHRhc2tzIgorbXNnc3RyICJ0ZW1wbyBsaW1pdGUgcGFyYSB0YXJlZmFzIGVtIHRlbXBvIHJlYWwiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJtaWNyb3NlY3MiCittc2dzdHIgIm1pY3Jvc3NlZ3VuZG9zIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAibWF4IG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHMiCittc2dzdHIgIm7Dum1lcm8gbcOheGltbyBkZSBzaW5haXMgcGVuZGVudGVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAic2lnbmFscyIKK21zZ3N0ciAic2luYWlzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAibWF4IHN0YWNrIHNpemUiCittc2dzdHIgInRhbWFuaG8gbcOheGltbyBkYSBwaWxoYSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjMKK21zZ2lkICJyZXNvdXJjZSBuYW1lIgorbXNnc3RyICJub21lIGRvIHJlY3Vyc28iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI0Cittc2dpZCAicmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgImRlc2NyacOnw6NvIGRvIHJlY3Vyc28iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI1Cittc2dpZCAic29mdCBsaW1pdCIKK21zZ3N0ciAibGltaXRlIHNvZnQiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI2Cittc2dpZCAiaGFyZCBsaW1pdCAoY2VpbGluZykiCittc2dzdHIgImxpbWl0ZSBoYXJkICh0ZXRvKSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjcKK21zZ2lkICJ1bml0cyIKK21zZ3N0ciAidW5pZGFkZXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1wIFBJRF1cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gWy1wIFBJRF1cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBDT01NQU5EXG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIENPTUFORE9cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjYKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVzb3VyY2UgbGltaXRzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiTW9zdHJhIG91IGFsdGVyYSBvcyBsaW1pdGVzIGRlIHJlY3Vyc29zIGRlIHVtIHByb2Nlc3NvLlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmFsIE9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcMOnw7VlcyBnZXJhaXM6XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY5Cittc2dpZCAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHByb2Nlc3MgaWRcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCisiICAgICAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyIgICAgIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCisiICAgICAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBvdXRwdXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKyIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBJRCBkbyBwcm9jZXNzb1xuIgorIiAtbywgLS1vdXRwdXQgPGxpc3RhPiAgIGRlZmluZSBxdWFpcyBjb2x1bmFzIGRlIHNhw61kYSBzZXLDo28gdXNhZGFzXG4iCisiICAgICAtLW5vaGVhZGluZ3MgICAgICAgbsOjbyBleGliZSBjYWJlw6dhbGhvc1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHVzYSBvIGZvcm1hdG8gZGUgc2HDrWRhIG7Do28gdHJhdGFkYVxuIgorIiAgICAgLS12ZXJib3NlICAgICAgICAgIG1lbnNhZ2VucyBkZXRhbGhhZGFzXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZXhpYmUgZXN0YSBhanVkYSBlIHNhaVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG1vc3RyYSBpbmZvcm1hw6fDo28gZGEgdmVyc8OjbyBlIHNhaVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3NworbXNnaWQgIiIKKyJcbiIKKyJSZXNvdXJjZXMgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9ww6fDtWVzIGRlIHJlY3Vyc29zOlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OAorbXNnaWQgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgY29yZSBmaWxlcyBjcmVhdGVkXG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcydzIGRhdGEgc2VnbWVudFxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIG1heGltdW0gbmljZSBwcmlvcml0eSBhbGxvd2VkIHRvIHJhaXNlXG4iCisiIC1mLCAtLWZzaXplICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlIHByb2Nlc3NcbiIKKyIgLWksIC0tc2lncGVuZGluZyAgICAgICBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHNcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICBtYXhpbXVtIHNpemUgYSBwcm9jZXNzIG1heSBsb2NrIGludG8gbWVtb3J5XG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZVxuIgorIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIG9wZW4gZmlsZXNcbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBtYXhpbXVtIGJ5dGVzIGluIFBPU0lYIG1lc3NhZ2UgcXVldWVzXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eVxuIgorIiAtcywgLS1zdGFjayAgICAgICAgICAgIG1heGltdW0gc3RhY2sgc2l6ZVxuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIG1heGltdW0gYW1vdW50IG9mIENQVSB0aW1lIGluIHNlY29uZHNcbiIKKyIgLXUsIC0tbnByb2MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiB1c2VyIHByb2Nlc3Nlc1xuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIHNpemUgb2YgdmlydHVhbCBtZW1vcnlcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBmaWxlIGxvY2tzXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAgQ1BVIHRpbWUgaW4gbWljcm9zZWNvbmRzIGEgcHJvY2VzcyBzY2hlZHVsZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1bmRlciByZWFsLXRpbWUgc2NoZWR1bGluZ1xuIgorbXNnc3RyICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAgdGFtYW5obyBtw6F4aW1vIGRlIGFycXVpdm9zIGRlIG7DumNsZW8gY3JpYWRvc1xuIgorIiAtZCwgLS1kYXRhICAgICAgICAgICAgIHRhbWFuaG8gbcOheGltbyBkZSB1bSBzZWdtZW50byBkZSBkYWRvcyBkbyBwcm9jZXNzb1xuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIHByaW9yaWRhZGUgbcOheGltYSBwZXJtaXRpZGEgZG8gbmljZVxuIgorIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgIHRhbWFuaG8gbcOheGltbyBkZSBhcnF1aXZvcyBlc2NyaXRvcyBwZWxvIHByb2Nlc3NvXG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAgbsO6bWVybyBtw6F4aW1vIGRlIHNpbmFpcyBwZW5kZW50ZXNcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICB0YW1hbmhvIG3DoXhpbW8gcXVlIHVtIHByb2Nlc3NvIHBvZGUgdHJhdmFyIGRhIG1lbcOzcmlhXG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgdGFtYW5obyBtw6F4aW1vIGRlIGNvbmp1bnRvIHJlc2lkZW50ZVxuIgorIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgIG7Dum1lcm8gbcOheGltbyBkZSBhcnF1aXZvcyBhYmVydG9zXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgYnl0ZXMgbcOheGltb3MgZW0gZmlsYXMgZGUgbWVuc2FnZW5zIFBPU0lYXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgcHJpb3JpZGFkZSBtw6F4aW1hIGVtIGFnZW5kYW1lbnRvIGVtIHRlbXBvIHJlYWxcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICB0YW1hbmhvIG3DoXhpbW8gZGEgcGlsaGFcbiIKKyIgLXQsIC0tY3B1ICAgICAgICAgICAgICBxdWFudGlkYWRlIG3DoXhpbWEgZGUgdGVtcG8gZGUgQ1BVIGVtIHNlZ3VuZG9zXG4iCisiIC11LCAtLW5wcm9jICAgICAgICAgICAgbsO6bWVybyBtw6F4aW1vIGRlIHByb2Nlc3NvcyBkZSB1c3XDoXJpb1xuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIHRhbWFuaG8gZGEgbWVtw7NyaWEgdmlydHVhbFxuIgorIiAteCwgLS1sb2NrcyAgICAgICAgICAgIG7Dum1lcm8gbcOheGltbyBkZSB0cmF2YXMgZGUgYXJxdWl2b1xuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgIHRlbXBvIGRlIENQVSBlbSBtaWNyb3NzZWd1bmRvcyBkZSB1bSBwcm9jZXNzb1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGFnZW5kYWRvIHNvYiBhZ2VuZGFtZW50byBkZSB0ZW1wbyByZWFsXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MjQzIHN5cy11dGlscy9wcmxpbWl0LmM6MjQ5IHN5cy11dGlscy9wcmxpbWl0LmM6MzY2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3MQorbXNnaWQgInVubGltaXRlZCIKK21zZ3N0ciAiaWxpbWl0YWRvIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjMzMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IG9sZCAlcyBsaW1pdCIKK21zZ3N0ciAiZmFsaGEgYW8gb2J0ZXIgbGltaXRlIGFudGlnbyAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHNvZnQgbGltaXQgJXMgY2Fubm90IGV4Y2VlZCB0aGUgaGFyZCBsaW1pdCIKK21zZ3N0ciAibyBsaW1pdGUgc29mdCBkZSAlcyBuw6NvIHBvZGUgZXhjZWRlciBvIGxpbWl0ZSBoYXJkIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJOZXcgJXMgbGltaXQgZm9yIHBpZCAlZDogIgorbXNnc3RyICJOb3ZvIGxpbWl0ZSBkZSAlcyBwYXJhIG8gcGlkICVkOiAiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mzc4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICJmYWxoYSBhbyBkZWZpbmlyIG8gbGltaXRlIGRvIHJlY3Vyc28gZGUgJXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICJmYWxoYSBhbyBvYnRlciBvIGxpbWl0ZSBkbyByZWN1cnNvIGRlICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgbGltaXQiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIG8gbGltaXRlIGRlICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NQorbXNnaWQgIm9wdGlvbiAtLXBpZCBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAiYSBvcMOnw6NvIC0tcGlkIHPDsyBwb2RlIHNlciBlc3BlY2lmaWNhZGEgdW1hIHZleiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo2MTYKK21zZ2lkICJvcHRpb25zIC0tcGlkIGFuZCBDT01NQU5EIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgImFzIG9ww6fDtWVzIC0tcGlkIGUgQ09NQU5ETyBzw6NvIG11dHVhbWVudGUgZXhjbHVzaXZhcyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA3Cittc2dpZCAiRGlzcGxheSBrZXJuZWwgcHJvZmlsaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJFeGliZSBhcyBpbmZvcm1hw6fDtWVzIGRlIHBlcmZpbCBkbyBrZXJuZWwuXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICIgLW0sIC0tbWFwZmlsZSA8bWFwZmlsZT4gICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIKK21zZ3N0ciAiIgorIiAtbSwgLS1tYXBmaWxlIDxhcnF1aXZvLW1hcGE+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBhZHLDo286IFwiJXNcIiBlXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJXNcIilcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiVzXCIpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICIgLXAsIC0tcHJvZmlsZSA8cHJvLWZpbGU+ICAoZGVmYXVsdDogIFwiJXNcIilcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1wcm9maWxlIDxhcnF1aXZvLXBlcmZpbD5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAocGFkcsOjbzogXCIlc1wiKVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTYKK21zZ2lkICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorbXNnc3RyICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBkZWZpbmUgbyBtdWx0aXBsaWNhZG9yIGRlIHBlcmZpbCBwYXJhIDxtdWx0PlxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTcKK21zZ2lkICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIKK21zZ3N0ciAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgbW9zdHJhIGluZm9ybWHDp8O1ZXMgYXBlbmFzIHNvYnJlIHBhc3NvIGRlIGFtb3N0cmFnZW1cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE4Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBkYXRhXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIG1vc3RyYSBkYWRvcyBkZXRhbGhhZG9zXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIHByaW50IGFsbCBzeW1ib2xzLCBldmVuIGlmIGNvdW50IGlzIDBcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgbW9zdHJhIHRvZG9zIHPDrW1ib2xvcywgYWluZGEgcXVlIHF1YW50aWRhZGUgZm9yIDBcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIwCittc2dpZCAiIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorbXNnc3RyICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICBtb3N0cmEgY29udGFnZW5zIGluZGl2aWR1YWlzIGRlIGhpc3RvZ3JhbS1iaW5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIxCittc2dpZCAiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCittc2dzdHIgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIG1vc3RyYSBjb250YWRvcmVzIGluZGl2aWR1YWlzIG5hcyBmdW7Dp8O1ZXNcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIyCittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZW5vdmEgdG9kb3Mgb3MgY29udGFkb3JlcyAoYXBlbmFzIHJvb3QpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMworbXNnaWQgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorbXNnc3RyICIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICBkZXNhYmlsaXRhIGRldGVjw6fDo28gYXV0b23DoXRpY2EgZGUgb3JkZW0gZGUgYnl0ZVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3Igd3JpdGluZyAlcyIKK21zZ3N0ciAiZXJybyBhbyBlc2NyZXZlciAlcyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjcxCittc2dpZCAiQXNzdW1pbmcgcmV2ZXJzZWQgYnl0ZSBvcmRlci4gVXNlIC1uIHRvIGZvcmNlIG5hdGl2ZSBieXRlIG9yZGVyLiIKK21zZ3N0ciAiUHJlc3VtaW5kbyBvcmRlbSBkZSBieXRlIGludmVyc2EuIFVzZSAtbiBwYXJhIGZvcsOnYXIgb3JkZW0gZGUgYnl0ZSBuYXRpdmEuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2FtcGxpbmdfc3RlcDogJXVcbiIKK21zZ3N0ciAiUGFzc28gZGUgYW1vc3RyYWdlbTogJXVcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzAyIHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMyMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyglaSk6IHdyb25nIG1hcCBsaW5lIgorbXNnc3RyICIlcyglaSk6IGxpbmhhIGRlIG1hcGEgaW5jb3JyZXRvIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBcIl9zdGV4dFwiIGluICVzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbG9jYWxpemFyIFwiX3N0ZXh0XCIgZW0gJXMiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjM0NgorbXNnaWQgInByb2ZpbGUgYWRkcmVzcyBvdXQgb2YgcmFuZ2UuIFdyb25nIG1hcCBmaWxlPyIKK21zZ3N0ciAiZW5kZXJlw6dvIGRlIHBlcmZpbCBmb3JhIGRvIGludGVydmFsby4gQXJxdWl2byBkZSBtYXBhIGluY29ycmV0bz8iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjQwNAorbXNnaWQgInRvdGFsIgorbXNnc3RyICJ0b3RhbCIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUyCittc2dpZCAicHJvY2VzcyBJRCIKK21zZ3N0ciAiSUQgZG8gcHJvY2Vzc28iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MworbXNnaWQgInByb2Nlc3MgZ3JvdXAgSUQiCittc2dzdHIgIklEIGRvIGdydXBvIGRvIHByb2Nlc3NvIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiBbLXB8LS1waWRdIDxwaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtZ3wtLXBncnAgPHBnaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtdXwtLXVzZXIgPHVzZXI+Li4uXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLW5dIDxwcmlvcmlkYWRlPiBbLXB8LS1waWRdIDxwaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpZGFkZT4gIC1nfC0tcGdycCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcmlkYWRlPiAgLXV8LS11c2VyIDx1c3XDoXJpbz4uLi5cbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjY3Cittc2dpZCAiQWx0ZXIgdGhlIHByaW9yaXR5IG9mIHJ1bm5pbmcgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICJBbHRlcmEgYSBwcmlvcmlkYWRlIGRlIHByb2Nlc3NvcyBlbSBleGVjdcOnw6NvLlxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzAKK21zZ2lkICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorbXNnc3RyICIgLW4sIC0tcHJpb3JpdHkgPG7Dum0+ICAgZXNwZWNpZmljYSBvIHZhbG9yIGRlIGF1bWVudG8gZG8gXCJuaWNlXCJcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcxCittc2dpZCAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgSUQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldGEgdW0gYXJndW1lbnRvIGNvbW8gSUQgZGUgcHJvY2Vzc28gKHBhZHLDo28pXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MgorbXNnaWQgIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIGdyb3VwIElEXG4iCittc2dzdHIgIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldGEgdW0gYXJndW1lbnRvIGNvbW8gSUQgZGUgZ3J1cG8gZGUgcHJvY2Vzc29cbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjczCittc2dpZCAiIC11LCAtLXVzZXIgPG5hbWU+fDxpZD4gaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHVzZXJuYW1lIG9yIHVzZXIgSURcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXIgPG5vbWU+fDxpZD4gaW50ZXJwcmV0YSBhcmd1bWVudG8gY29tbyBub21lIG91IElEIGRlIHVzdcOhcmlvXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICJmYWxoYSBhbyBvYnRlciBhIHByaW9yaWRhZGUgcGFyYSAlZCAoJXMpIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiZmFsaGEgYW8gZGVmaW5pciBwcmlvcmlkYWRlIHByYSAlZCAoJXMpIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkICglcykgb2xkIHByaW9yaXR5ICVkLCBuZXcgcHJpb3JpdHkgJWRcbiIKK21zZ3N0ciAiJWQgKCVzKSBjb20gcHJpb3JpZGFkZSBhbnRpZ2EgJWQsIHByaW9yaWRhZGUgbm92YSAlZFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTc2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdXNlciAlcyIKK21zZ3N0ciAidXN1w6FyaW8gZGVzY29uaGVjaWRvICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIG9uZSBvZiB0aGUgYWJvdmUKKyMuICogdGhyZWUgSUQgbmFtZXMuIFJlYWQ6ICJiYWQgdmFsdWUgZm9yICVzOiAlcyIKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkICVzIHZhbHVlOiAlcyIKK21zZ3N0ciAidmFsb3IgZGUgJXMgaW52w6FsaWRvOiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo5OAorbXNnaWQgIkVudGVyIGEgc3lzdGVtIHNsZWVwIHN0YXRlIHVudGlsIGEgc3BlY2lmaWVkIHdha2V1cCB0aW1lLlxuIgorbXNnc3RyICJJbnNlcmUgdW0gZXN0YWRvIGRlIGRvcm1pZGEgZGUgc2lzdGVtYSBhdMOpIHVtIGhvcsOhcmlvIGRlIGFjb3JkYXIgZXNwZWNpZmljYWRvLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMQorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgcmVhZHMgdGhlIGNsb2NrIG1vZGUgZnJvbSBhZGp1c3QgZmlsZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1hLCAtLWF1dG8gICAgICAgICAgICAgICBsw6ogbyBtb2RvIGRvIHJlbMOzZ2lvIGRvIGFycXVpdm8gZGUgYWp1c3RlIChwYWRyw6NvKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWRqZmlsZSA8YXJxdWl2bz4gIGVzcGVjaWZpY2EgbyBjYW1pbmhvIGRvIGFycXVpdm8gZGUgYWp1c3RlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwYWRyw6NvICVzKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNQorbXNnaWQgIiAgICAgLS1kYXRlIDx0aW1lc3RhbXA+ICAgZGF0ZSB0aW1lIG9mIHRpbWVzdGFtcCB0byB3YWtlXG4iCittc2dzdHIgIiAgICAgLS1kYXRlIDxtYXJjYS10ZW1wbz4gZGF0YSBlIGhvcmEgZGEgbWFyY2EgZGUgdGVtcG8gcGFyYSBhY29yZGFyXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA2Cittc2dpZCAiIC1kLCAtLWRldmljZSA8ZGV2aWNlPiAgICBzZWxlY3QgcnRjIGRldmljZSAocnRjMHxydGMxfC4uLilcbiIKK21zZ3N0ciAiIgorIiAtZCwgLS1kZXZpY2UgPGRpc3Bvc2l0aXZvPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWNpb25hIG8gZGlzcG9zaXRpdm8gZG8gcnRjIChydGMwfHJ0YzF8Li4uKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNworbXNnaWQgIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgZG9lcyBldmVyeXRoaW5nLCBidXQgc3VzcGVuZFxuIgorbXNnc3RyICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGZheiB0dWRvLCBtZW5vcyBzdXNwZW5kZXJcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDgKK21zZ2lkICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCittc2dzdHIgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIHVzYSBvIGZ1c28gaG9yw6FyaW8gbG9jYWxcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDkKK21zZ2lkICIgICAgIC0tbGlzdC1tb2RlcyAgICAgICAgIGxpc3QgYXZhaWxhYmxlIG1vZGVzXG4iCittc2dzdHIgIiAgICAgLS1saXN0LW1vZGVzICAgICAgICAgbGlzdGEgbW9kb3MgZGlzcG9uw612ZWlzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEwCittc2dpZCAiIC1tLCAtLW1vZGUgPG1vZGU+ICAgICAgICBzdGFuZGJ5fG1lbXwuLi4gc2xlZXAgbW9kZVxuIgorbXNnc3RyICIgLW0sIC0tbW9kZSA8bW9kbz4gICAgICAgIG1vZG8gcGFyYSBkb3JtaXIgZW0gc3RhbmRieXxtZW18Li4uXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTExCittc2dpZCAiIC1zLCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iCittc2dzdHIgIiAtcywgLS1zZWNvbmRzIDxzZWd1bmRvcz4gc2VndW5kb3MgcGFyYSBkb3JtaXJcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTIKK21zZ2lkICIgLXQsIC0tdGltZSA8dGltZV90PiAgICAgIHRpbWUgdG8gd2FrZVxuIgorbXNnc3RyICIgLXQsIC0tdGltZSA8aG9yw6FyaW8+ICAgICBob3LDoXJpbyBwYXJhIGFjb3JkYXJcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTMKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2VzIFVUQ1xuIgorbXNnc3RyICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2EgVVRDXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgbWVuc2FnZW5zIGRldGFsaGFkYXNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNjcKK21zZ2lkICJyZWFkIHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAibGVpdHVyYSBkbyBob3LDoXJpbyBkbyBydGMgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE3MworbXNnaWQgInJlYWQgc3lzdGVtIHRpbWUgZmFpbGVkIgorbXNnc3RyICJsZWl0dXJhIGRvIGhvcsOhcmlvIGRvIHNpc3RlbWEgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE4OQorbXNnaWQgImNvbnZlcnQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICJjb252ZXJzw6NvIGRvIGhvcsOhcmlvIGRvIHJ0YyBmYWxob3UiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MjM3Cittc2dpZCAic2V0IHJ0YyB3YWtlIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAiZGVmaW5pw6fDo28gZGUgYWxhcm1lIGRvIHJ0YyBwYXJhIGFjb3JkYXIgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHRoaXJkIGxpbmUgaW46ICVzOiAlcyIKK21zZ3N0ciAidGVyY2VpcmEgbGluaGEgaW5lc3BlcmFkYSBlbTogJXM6ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMyMCBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyNAorbXNnaWQgInJlYWQgcnRjIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAibGVpdHVyYSBkZSBhbGFybWUgZG8gcnRjIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9mZlxuIgorbXNnc3RyICJhbGFybWU6IGRlc2xpZ2Fkb1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMzOAorbXNnaWQgImNvbnZlcnQgdGltZSBmYWlsZWQiCittc2dzdHIgImNvbnZlcnPDo28gZGUgaG9yw6FyaW8gZmFsaG91IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb24gICVzIgorbXNnc3RyICJhbGFybWU6IGxpZ2FkbyAgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mzg3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkOiAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGxlcjogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDY3CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdXNwZW5kIHN0YXRlICclcyciCittc2dzdHIgImVzdGFkbyBkZSBzdXNwZW5zw6NvIGRlc2NvbmhlY2lkYSBcIiVzXCIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDc1Cittc2dpZCAiaW52YWxpZCBzZWNvbmRzIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIHNlZ3VuZG9zIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ3OQorbXNnaWQgImludmFsaWQgdGltZSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBkZSBob3LDoXJpbyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIKK21zZ3N0ciAiJXM6IHByZXN1bWluZG8gcXVlIFJUQyB1c2EgVVRDIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxMQorbXNnaWQgIlVzaW5nIFVUQyB0aW1lLlxuIgorbXNnc3RyICJVc2FuZG8gaG9yw6FyaW8gVVRDLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxMgorbXNnaWQgIlVzaW5nIGxvY2FsIHRpbWUuXG4iCittc2dzdHIgIlVzYW5kbyBob3LDoXJpbyBsb2NhbC5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTUKK21zZ2lkICJtdXN0IHByb3ZpZGUgd2FrZSB0aW1lIChzZWUgLS1zZWNvbmRzLCAtLXRpbWUgYW5kIC0tZGF0ZSBvcHRpb25zKSIKK21zZ3N0ciAiZGV2ZS1zZSBmb3JuZWNlciBob3LDoXJpbyBwYXJhIGFjb3JkYXIgKHZlamEgYXMgb3DDp8O1ZXMgLS1zZWNvbmRzLCAtLXRpbWUgZSAtLWRhdGUpIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgZW5hYmxlZCBmb3Igd2FrZXVwIGV2ZW50cyIKK21zZ3N0ciAiJXMgbsOjbyBoYWJpbGl0YWRvIHBhcmEgZXZlbnRvcyBkZSB3YWtldXAiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTI4CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtICVsZCwgc3lzX3RpbWUgJWxkLCBydGNfdGltZSAlbGQsIHNlY29uZHMgJXVcbiIKK21zZ3N0ciAiYWxhcm1lICVsZCwgaG9yw6FyaW9fc2lzdCAlbGQsIGhvcsOhcmlvX3J0YyAlbGQsIHNlZ3VuZG9zICV1XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTM1CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUgZG9lc24ndCBnbyBiYWNrd2FyZCB0byAlcyIKK21zZ3N0ciAiaG9yw6FyaW8gbsOjbyBwb2RlIHJldHJvYWdpciBwYXJhICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlczogYWNvcmRhciB1c2FuZG8gJXMgZW0gJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgZnJvbSBcIiVzXCIgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIiVzOiBhY29yZGFyIGRlIFwiJXNcIiB1c2FuZG8gJXMgZW0gJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTU5CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogbm87IGxlYXZpbmdcbiIKK21zZ3N0ciAibW9kbyBkZSBzdXNwZW5zw6NvOiBuw6NvOyBzYWluZG9cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvZmY7IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICJtb2RvIGRlIHN1c3BlbnPDo286IGRlc2xpZ2FkbzsgZXhlY3V0YW5kbyAlc1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9uOyByZWFkaW5nIHJ0Y1xuIgorbXNnc3RyICJtb2RvIGRlIHN1c3BlbnPDo286IGxpZ2FkbzsgbGVuZG8gcnRjXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTkyCittc2dpZCAicnRjIHJlYWQgZmFpbGVkIgorbXNnc3RyICJsZWl0dXJhIGRlIHJ0YyBmYWxob3UiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjA0CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogZGlzYWJsZTsgZGlzYWJsaW5nIGFsYXJtXG4iCittc2dzdHIgIm1vZG8gZGUgc3VzcGVuc8OjbzogZGVzYWJpbGl0YWRvOyBkZXNhYmlsaXRhbmRvIGFsYXJtZVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIKK21zZ3N0ciAibW9kbyBkZSBzdXNwZW5zw6NvOiBtb3N0cmFyOyBleGliaW5kbyBpbmZvcm1hw6fDo28gc29icmUgYWxhcm1lXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjE1CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogJXM7IHN1c3BlbmRpbmcgc3lzdGVtXG4iCittc2dzdHIgIm1vZG8gZGUgc3VzcGVuc8OjbzogJXM7IHN1c3BlbmRlbmRvIHNpc3RlbWFcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjkKK21zZ2lkICJkaXNhYmxlIHJ0YyBhbGFybSBpbnRlcnJ1cHQgZmFpbGVkIgorbXNnc3RyICJmYWxoYSBhbyBkZXNhYmlsaXRhciBpbnRlcnJ1cMOnw6NvIGRlIGFsYXJtZSBydGMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3dpdGNoaW5nIG9uICVzLlxuIgorbXNnc3RyICJBbHRlcm5hbmRvIGVtICVzLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8YXJjaD4gW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgPGFycXVpdGV0dXJhPiBbb3DDp8O1ZXNdIFs8cHJvZ3JhbWE+IFs8YXJndW1lbnRvPi4uLl1dXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gWzxwcm9ncmFtYT4gWzxhcmd1bWVudG9zPi4uLl1dXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTYKK21zZ2lkICJDaGFuZ2UgdGhlIHJlcG9ydGVkIGFyY2hpdGVjdHVyZSBhbmQgc2V0IHBlcnNvbmFsaXR5IGZsYWdzLlxuIgorbXNnc3RyICJBbHRlcmEgYSBhcnF1aXRldHVyYSByZWxhdGFkYSBlIGRlZmluZSBhcyBvcMOnw7VlcyBkZSBwZXJzb25hbGlkYWRlLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk5Cittc2dpZCAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB0dXJucyBvbiBBRERSX0xJTUlUXzMyQklUXG4iCittc2dzdHIgIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgbGlnYSBBRERSX0xJTUlUXzMyQklUXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAwCittc2dpZCAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorbXNnc3RyICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIGZheiBwb250ZWlyb3MgZGUgZnVuw6fDo28gYXBvbnRhciBwYXJhIGRlc2NyaXRvcmVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAxCittc2dpZCAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICB0dXJucyBvbiBTSE9SVF9JTk9ERVxuIgorbXNnc3RyICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIGxpZ2EgU0hPUlRfSU5PREVcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDIKK21zZ2lkICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKK21zZ3N0ciAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCBhbHRlcmEgYSBmb3JtYSBjb21vIG1lbcOzcmlhIHZpcnR1YWwgw6kgYWxvY2FkYVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMworbXNnaWQgIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgZGlzYWJsZXMgcmFuZG9taXphdGlvbiBvZiB0aGUgdmlydHVhbCBhZGRyZXNzIHNwYWNlXG4iCittc2dzdHIgIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgZGVzYWJpbGl0YSBhbGVhdG9yaXphw6fDo28gZG8gZXNwYcOnbyBkbyBlbmRlcmXDp28gdmlydHVhbFxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNAorbXNnaWQgIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgdHVybnMgb24gV0hPTEVfU0VDT05EU1xuIgorbXNnc3RyICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIGxpZ2EgV0hPTEVfU0VDT05EU1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNQorbXNnaWQgIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgdHVybnMgb24gU1RJQ0tZX1RJTUVPVVRTXG4iCittc2dzdHIgIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgbGlnYSBTVElDS1lfVElNRU9VVFNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDYKK21zZ2lkICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCittc2dzdHIgIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgbGlnYSBSRUFEX0lNUExJRVNfRVhFQ1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNworbXNnaWQgIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgdHVybnMgb24gTU1BUF9QQUdFX1pFUk9cbiIKK21zZ3N0ciAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICBsaWdhIE1NQVBfUEFHRV9aRVJPXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA4Cittc2dpZCAiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBsaW1pdHMgdGhlIHVzZWQgYWRkcmVzcyBzcGFjZSB0byBhIG1heGltdW0gb2YgMyBHQlxuIgorbXNnc3RyICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0YSBvIGVzcGHDp28gZGUgZW5kZXJlw6dvIHVzYWRvIGEgdW0gbcOtbmltbyBkZSAzIEdCXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA5Cittc2dpZCAiICAgICAtLTRnYiAgICAgICAgICAgICAgICBpZ25vcmVkIChmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBvbmx5KVxuIgorbXNnc3RyICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGlnbm9yYWRvIChwYXJhIGNvbXBhdGliaWxpZGFkZSBhcGVuYXMpXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTEwCittc2dpZCAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICB0dXJucyBvbiBVTkFNRTI2XG4iCittc2dzdHIgIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgbGlnYSBVTkFNRTI2XG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTExCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBzYXkgd2hhdCBvcHRpb25zIGFyZSBiZWluZyBzd2l0Y2hlZCBvblxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGZhbGEgcXVhaXMgb3DDp8O1ZXMgc2UgZXN0w6EgbGlnYW5kb1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExNAorbXNnaWQgIiAgICAgLS1saXN0ICAgICAgICAgICAgICAgbGlzdCBzZXR0YWJsZSBhcmNoaXRlY3R1cmVzLCBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3RhIGFycXVpdGV0dXJhcyBjb25maWd1csOhdmVpcyBlIHNhaVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXNcbiIKKyJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorbXNnc3RyICIiCisiJXNcbiIKKyJUZW50ZSBcIiVzIC0taGVscFwiIHBhcmEgbWFpcyBpbmZvcm1hw6fDtWVzLiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKK21zZ3N0ciAiVXRpbGl6ZSBcIiVzIC0taGVscFwiIHBhcmEgbWFpcyBpbmZvcm1hw6fDtWVzLiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFVucmVjb2duaXplZCBhcmNoaXRlY3R1cmUiCittc2dzdHIgIiVzOiBBcnF1aXRldHVyYSBuw6NvIHJlY29uaGVjaWRhIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI1OAorIywgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgY2Fubm90IHNldCBhcmNoaXRlY3R1cmUgdG8gJXMiCittc2dzdHIgIk8ga2VybmVsIG7Do28gcMO0ZGUgZGVmaW5pciBhcnF1aXRldHVyYSBwYXJhICVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjMwNQorbXNnaWQgIk5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJBcmd1bWVudG9zIGluc3VmaWNpZW50ZXMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzIyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIkZhbGhhIGFvIGRlZmluaXIgYSBwZXJzb25hbGlkYWRlIGRlICVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM3OQorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJy0tbGlzdCciCittc2dzdHIgIm9ww6fDo28gXCItLWxpc3RcIiBkZXNjb25oZWNpZGEiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzg3Cittc2dpZCAibm8gYXJjaGl0ZWN0dXJlIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAibmVuaHVtIGFyZ3VtZW50byBkZSBhcnF1aXRldHVyYSBlc3BlY2lmaWNhZGEiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgImZhbGhhIGFvIGRlZmluaXIgYSBwZXJzb25hbGlkYWRlIHBhcmEgJXMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGUgY29tbWFuZCBgJXMnLlxuIgorbXNnc3RyICJFeGVjdXRhciBjb21hbmRvXCIlc1wiLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk3Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIGRpZmZlcmVudCBwcml2aWxlZ2Ugc2V0dGluZ3MuXG4iCittc2dzdHIgIkV4ZWN1dGEgdW0gcHJvZ3JhbWEgY29tIGNvbmZpZ3VyYcOnw7VlcyBkZSBwcml2aWzDqWdpb3MgZGlmZXJlbnRlcy5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDAKK21zZ2lkICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgIHNob3cgY3VycmVudCBzdGF0ZSAoYW5kIGRvIG5vdCBleGVjIGFueXRoaW5nKVxuIgorbXNnc3RyICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgIG1vc3RyYSBlc3RhZG8gYXR1YWwgKGUgZXhlY3V0YSBuYWRhKVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMQorbXNnaWQgIiAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAgZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXNcbiIKK21zZ3N0ciAiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICBwcm/DrWJlIGNvbmNlc3PDo28gZGUgbm92b3MgcHJpdmlsw6lnaW9zXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTAyCittc2dpZCAiIC0taW5oLWNhcHMgPGNhcHMsLi4uPiAgICBzZXQgaW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiAtLWluaC1jYXBzIDxjYXBzLC4uLj4gICAgZGVmaW5lIGNhcGFjaWRhZGVzIGhlcmTDoXZlaXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDMKK21zZ2lkICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgIHNldCBjYXBhYmlsaXR5IGJvdW5kaW5nIHNldFxuIgorbXNnc3RyICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgIGRlZmluZSBjb25qdW50byBkZWxpbWl0YWRvciBkZSBjYXBhY2lkYWRlXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA0Cittc2dpZCAiIC0tcnVpZCA8dWlkPiAgICAgICAgICAgICBzZXQgcmVhbCB1aWRcbiIKK21zZ3N0ciAiIC0tcnVpZCA8dWlkPiAgICAgICAgICAgICBkZWZpbmUgdWlkIHJlYWxcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDUKK21zZ2lkICIgLS1ldWlkIDx1aWQ+ICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiAtLWV1aWQgPHVpZD4gICAgICAgICAgICAgZGVmaW5lIHVpZCBlZmV0aXZvXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA2Cittc2dpZCAiIC0tcmdpZCA8Z2lkPiAgICAgICAgICAgICBzZXQgcmVhbCBnaWRcbiIKK21zZ3N0ciAiIC0tcmdpZCA8Z2lkPiAgICAgICAgICAgICBkZWZpbmUgZ2lkIHJlYWxcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDcKK21zZ2lkICIgLS1lZ2lkIDxnaWQ+ICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiAtLWVnaWQgPGdpZD4gICAgICAgICAgICAgZGVmaW5lIGdpZCBlZmV0aXZvXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA4Cittc2dpZCAiIC0tcmV1aWQgPHVpZD4gICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIgLS1yZXVpZCA8dWlkPiAgICAgICAgICAgIGRlZmluZSB1aWQgcmVhbCBlIGVmZXRpdm9cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDkKK21zZ2lkICIgLS1yZWdpZCA8Z2lkPiAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiAtLXJlZ2lkIDxnaWQ+ICAgICAgICAgICAgZGVmaW5lIHVpZCByZWFsIGUgZWZldGl2b1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMAorbXNnaWQgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgY2xlYXIgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICBsaW1wYSBncnVwb3Mgc3VtcGxlbWVudGFyZXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTEKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICBtYW50w6ltIGdydXBvcyBzdW1wbGVtZW50YXJlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMgorbXNnaWQgIiAtLWdyb3VwcyA8Z3JvdXAsLi4uPiAgICAgc2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiAtLWdyb3VwcyA8Z3J1cG8sLi4uPiAgICAgZGVmaW5lIGdydXBvcyBzdXBsZW1lbnRhcmVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEzCittc2dpZCAiIC0tc2VjdXJlYml0cyA8Yml0cz4gICAgICBzZXQgc2VjdXJlYml0c1xuIgorbXNnc3RyICIgLS1zZWN1cmViaXRzIDxiaXRzPiAgICAgIGRlZmluZSBzZWN1cmViaXRzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE0Cittc2dpZCAiIC0tc2VsaW51eC1sYWJlbCA8bGFiZWw+ICBzZXQgU0VMaW51eCBsYWJlbFxuIgorbXNnc3RyICIgLS1zZWxpbnV4LWxhYmVsIDxyw7N0dWxvPiBkZWZpbmUgcsOzdHVsbyBTRUxpbnV4XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE1Cittc2dpZCAiIC0tYXBwYXJtb3ItcHJvZmlsZSA8cHI+ICBzZXQgQXBwQXJtb3IgcHJvZmlsZVxuIgorbXNnc3RyICIgLS1hcHBhcm1vci1wcm9maWxlIDxwcj4gIGRlZmluZSBwZXJmaWwgQXBwQXJtb3JcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjEKK21zZ2lkICIgVGhpcyB0b29sIGNhbiBiZSBkYW5nZXJvdXMuICBSZWFkIHRoZSBtYW5wYWdlLCBhbmQgYmUgY2FyZWZ1bC5cbiIKK21zZ3N0ciAiIEVzc2EgZmVycmFtZW50YSBwb2RlIHNlciBwZXJpZ29zYS4gTGVpYSBhIHDDoWdpbmEgbWFuIGUgdGVuaGEgY3VpZGFkby5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxOTMgc3lzLXV0aWxzL3NldHByaXYuYzo0NjcKK21zZ2lkICJnZXR0aW5nIHByb2Nlc3Mgc2VjdXJlIGJpdHMgZmFpbGVkIgorbXNnc3RyICJmYWxoYSBhbyBvYnRlciBiaXRzIGRlIHNlZ3VyYW7Dp2EgZG8gcHJvY2Vzc28iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3VyZWJpdHM6ICIKK21zZ3N0ciAiU2VjdXJlYml0czogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV1cbiIKK21zZ3N0ciAiW25lbmh1bV1cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBsb25nIgorbXNnc3RyICIlczogbG9uZ28gZGVtYWlzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwczogIgorbXNnc3RyICJHcnVwb3Mgc3VwbGVtZW50YXJlczogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3MyBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyMSBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyNgorIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzIgc3lzLXV0aWxzL3NldHByaXYuYzozMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdIgorbXNnc3RyICJbbmVuaHVtXSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkOiAldVxuIgorbXNnc3RyICJ1aWQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImV1aWQ6ICV1XG4iCittc2dzdHIgImV1aWQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1aWQ6ICV1XG4iCittc2dzdHIgInN1aWQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjk5IHN5cy11dGlscy9zZXRwcml2LmM6MzkxCittc2dpZCAiZ2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAiZ2V0cmVzdWlkIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMDggc3lzLXV0aWxzL3NldHByaXYuYzo0MDYKK21zZ2lkICJnZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJnZXRyZXNnaWQgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICJFZmZlY3RpdmUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIkNhcGFjaWRhZGVzIGVmZXRpdmFzOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBlcm1pdHRlZCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiQ2FwYWNpZGFkZXMgcGVybWl0aWRhczogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzMAorIywgYy1mb3JtYXQKK21zZ2lkICJJbmhlcml0YWJsZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiQ2FwYWNpZGFkZXMgaGVyZMOhdmVpczogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzNQorIywgYy1mb3JtYXQKK21zZ2lkICJDYXBhYmlsaXR5IGJvdW5kaW5nIHNldDogIgorbXNnc3RyICJDb25qdW50byBkZWxpbWl0YWRvciBkZSBjYXBhY2lkYWRlOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQzCittc2dpZCAiU0VMaW51eCBsYWJlbCIKK21zZ3N0ciAiUsOzdHVsbyBTRUxpbnV4IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0NgorbXNnaWQgIkFwcEFybW9yIHByb2ZpbGUiCittc2dzdHIgIlBlcmZpbCBBcHBBcm1vciIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FwICVkOiBsaWJjYXAtbmcgaXMgYnJva2VuIgorbXNnc3RyICJjYXAgJWQ6IGxpYmNhcC1uZyBlc3TDoSBxdWVicmFkbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODIKK21zZ2lkICJJbnZhbGlkIHN1cHBsZW1lbnRhcnkgZ3JvdXAgaWQiCittc2dzdHIgIklEIGRlIGdydXBvIHN1cGxlbWVudGFyIGludsOhbGlkbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozOTkKK21zZ2lkICJzZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJzZXRyZXN1aWQgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQxNAorbXNnaWQgInNldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgInNldHJlc2dpZCBmYWxob3UiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDM1Cittc2dpZCAiYmFkIGNhcGFiaWxpdHkgc3RyaW5nIgorbXNnc3RyICJzdHJpbmcgZGUgY2FwYWNpZGFkZSBpbnbDoWxpZGEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDQzCittc2dpZCAibGliY2FwLW5nIGlzIHRvbyBvbGQgZm9yIFwiYWxsXCIgY2FwcyIKK21zZ3N0ciAibGliY2FwLW5nIMOpIG11aXRvIGFudGlnbyBwYXJhIHRvZGFzIChcImFsbFwiKSBjYXBhY2lkYWRlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjYXBhYmlsaXR5IFwiJXNcIiIKK21zZ3N0ciAiY2FwYWNpZGFkZSBkZXNjb25oZWNpZGEgXCIlc1wiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ3NgorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQgc2V0IC0tIHJlZnVzaW5nIHRvIGFkanVzdCIKK21zZ3N0ciAiY29uanVudG8gZGUgc2VjdXJlYml0IG7Do28gcmVjb25oZWNpZG8gLS0gcmVjdXNhbmRvIG8gYWp1c3RlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ4MAorbXNnaWQgImJhZCBzZWN1cmViaXRzIHN0cmluZyIKK21zZ3N0ciAic3RyaW5nIGRlIHNlY3VyZWJpdHMgaW52w6FsaWRhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ4NworbXNnaWQgIithbGwgc2VjdXJlYml0cyBpcyBub3QgYWxsb3dlZCIKK21zZ3N0ciAic2VjdXJlYml0cyArYWxsIG7Do28gw6kgcGVybWl0aWRvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUwMAorbXNnaWQgImFkanVzdGluZyBrZWVwX2NhcHMgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiYWp1c3RhciBrZWVwX2NhcHMgbsOjbyBmYXogc2VudGlkbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDQKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IgorbXNnc3RyICJzZWN1cmViaXQgZGVzY29uaGVjaWRvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUyNAorbXNnaWQgIlNFTGludXggaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIlNFTGludXggbsOjbyBlc3TDoSBlbSBleGVjdcOnw6NvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUzOQorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9zZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJjbG9zZSBmYWxob3U6ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU0NworbXNnaWQgIkFwcEFybW9yIGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICJBcHBBcm1vciBuw6NvIGVzdMOhIGVtIGV4ZWN1w6fDo28iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjU4Cittc2dpZCAiZHVwbGljYXRlIC0tbm8tbmV3LXByaXZzIG9wdGlvbiIKK21zZ3N0ciAib3DDp8OjbyBkdXBsaWNhZGEgLS1uby1uZXctcHJpdnMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjYzCittc2dpZCAiZHVwbGljYXRlIHJ1aWQiCittc2dzdHIgInJ1aWQgZHVwbGljYWRvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY2NQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBydWlkIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBydWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY2OQorbXNnaWQgImR1cGxpY2F0ZSBldWlkIgorbXNnc3RyICJldWlkIGR1cGxpY2FkbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXVpZCIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzUKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCBvciBldWlkIgorbXNnc3RyICJydWlkIG91IGV1aWQgZHVwbGljYWRvcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmV1aWQiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIHJldWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4MQorbXNnaWQgImR1cGxpY2F0ZSByZ2lkIgorbXNnc3RyICJyZ2lkIGR1cGxpY2FkbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmdpZCIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgcmdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODcKK21zZ2lkICJkdXBsaWNhdGUgZWdpZCIKK21zZ3N0ciAiZWdpZCBkdXBsaWNhZG8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njg5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVnaWQiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIGVnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjkzCittc2dpZCAiZHVwbGljYXRlIHJnaWQgb3IgZWdpZCIKK21zZ3N0ciAicmdpZCBvdSBlZ2lkIGR1cGxpY2Fkb3MiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njk1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJlZ2lkIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciByZWdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MDAKK21zZ2lkICJkdXBsaWNhdGUgLS1jbGVhci1ncm91cHMgb3B0aW9uIgorbXNnc3RyICJvcMOnw6NvIC0tY2xlYXItZ3JvdXBzIGR1cGxpY2FkYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MDYKK21zZ2lkICJkdXBsaWNhdGUgLS1rZWVwLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIm9ww6fDo28gLS1rZWVwLWdyb3VwcyBkdXBsaWNhZGEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzEyCittc2dpZCAiZHVwbGljYXRlIC0tZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAib3DDp8OjbyAtLWdyb3VwcyBkdXBsaWNhZGEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzIxCittc2dpZCAiZHVwbGljYXRlIC0taW5oLWNhcHMgb3B0aW9uIgorbXNnc3RyICJvcMOnw6NvIC0taW5oLWNhcHMgZHVwbGljYWRhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcyNworbXNnaWQgImR1cGxpY2F0ZSAtLWJvdW5kaW5nLXNldCBvcHRpb24iCittc2dzdHIgIm9ww6fDo28gLS1ib3VuZGluZy1zZXQgZHVwbGljYWRhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjczMworbXNnaWQgImR1cGxpY2F0ZSAtLXNlY3VyZWJpdHMgb3B0aW9uIgorbXNnc3RyICJvcMOnw6NvIC0tc2VjdXJlYml0cyBkdXBsaWNhZGEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzM5Cittc2dpZCAiZHVwbGljYXRlIC0tc2VsaW51eC1sYWJlbCBvcHRpb24iCittc2dzdHIgIm9ww6fDo28gLS1zZWxpbnV4LWxhYmVsIGR1cGxpY2FkYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NDUKK21zZ2lkICJkdXBsaWNhdGUgLS1hcHBhcm1vci1wcm9maWxlIG9wdGlvbiIKK21zZ3N0ciAib3DDp8OjbyAtLWFwcGFybW9yLXByb2ZpbGUgZHVwbGljYWRhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc1NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICclYyciCittc2dzdHIgIm9ww6fDo28gXCIlY1wiIGRlc2NvbmhlY2lkYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NjMKK21zZ2lkICItLWR1bXAgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIG9wdGlvbnMiCittc2dzdHIgIi0tZHVtcCDDqSBpbmNvbXBhdMOtdmVsIGNvbSB0b2RhcyBhcyBvdXRyYXMgb3DDp8O1ZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzcxCittc2dpZCAiLS1saXN0LWNhcHMgbXVzdCBiZSBzcGVjaWZpZWQgYWxvbmUiCittc2dzdHIgIi0tbGlzdC1jYXBzIGRldmUgc2VyIGVzcGVjaWZpY2FkYSBzb3ppbmhhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3NworbXNnaWQgIk5vIHByb2dyYW0gc3BlY2lmaWVkIgorbXNnc3RyICJOZW5odW0gcHJvZ3JhbWEgZXNwZWNpZmljYWRvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4MgorbXNnaWQgIi0tW3JlXWdpZCByZXF1aXJlcyAtLWtlZXAtZ3JvdXBzLCAtLWNsZWFyLWdyb3Vwcywgb3IgLS1ncm91cHMiCittc2dzdHIgIi0tW3JlXWdpZCByZXF1ZXIgLS1rZWVwLWdyb3VwcywgLS1jbGVhci1ncm91cHMgb3UgLS1ncm91cHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzg1Cittc2dpZCAiZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXMgZmFpbGVkIgorbXNnc3RyICJmYWxoYSBhbyBwcm9pYmlyIGNvbmNlc3PDo28gZGUgbm92b3MgcHJpdmlsw6lnaW9zIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MworbXNnaWQgImtlZXAgcHJvY2VzcyBjYXBhYmlsaXRpZXMgZmFpbGVkIgorbXNnc3RyICJmYWxoYSBhbyBtYW50ZXIgY2FwYWNpZGFkZXMgZGUgcHJvY2Vzc28iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODAxCittc2dpZCAiYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICJhdGl2YXIgY2FwYWNpZGFkZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA3Cittc2dpZCAicmVhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgInJlYXRpdmFyIGNhcGFjaWRhZGVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyMworbXNnaWQgInNldCBwcm9jZXNzIHNlY3VyZWJpdHMgZmFpbGVkIgorbXNnc3RyICJkZWZpbmnDp8OjbyBkZSBzZWN1cmViaXRzIGRlIHByb2Nlc3NvIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjkKK21zZ2lkICJhcHBseSBib3VuZGluZyBzZXQiCittc2dzdHIgImFwbGljYXIgY29uanVudG8gZGVsaW1pdGFkb3IiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODM1Cittc2dpZCAiYXBwbHkgY2FwYWJpbGl0aWVzIgorbXNnc3RyICJhcGxpY2FyIGNhcGFjaWRhZGVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg0MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZXhlY3V0ZTogJXMiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBleGVjdXRhcjogJXMiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozMgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJndW1lbnRzIC4uLl1cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gPHByb2dyYW1hPiBbYXJndW1lbnRvcyAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozNgorbXNnaWQgIlJ1biBhIHByb2dyYW0gaW4gYSBuZXcgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiRXhlY3V0YSB1bSBwcm9ncmFtYSBlbSB1bWEgbm92YSBzZXNzw6NvLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzkKK21zZ2lkICIgLWMsIC0tY3R0eSAgICAgc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCB0byB0aGUgY3VycmVudCBvbmVcbiIKK21zZ3N0ciAiIC1jLCAtLWN0dHkgICAgIGRlZmluZSBvIHRlcm1pbmFsIGRlIGNvbnRyb2xlIHBhcmEgbyBhdHVhbFxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDAKK21zZ2lkICIgLXcsIC0td2FpdCAgICAgd2FpdCBwcm9ncmFtIHRvIGV4aXQsIGFuZCB1c2UgdGhlIHNhbWUgcmV0dXJuXG4iCittc2dzdHIgIiAtdywgLS13YWl0ICAgICBlc3BlcmEgbyBwcm9ncmFtYSBwYXJhIHNhaXIgZSB1c2EgbyBtZXNtbyByZXRvcm5vXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo5MworbXNnaWQgImZvcmsiCittc2dzdHIgImZvcmsiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hpbGQgJWQgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJvIGZpbGhvICVkIG7Do28gc2FpdSBub3JtYWxtZW50ZSIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExMAorbXNnaWQgInNldHNpZCBmYWlsZWQiCittc2dzdHIgInNldHNpZCBmYWxob3UiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTMKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCIKK21zZ3N0ciAiZmFsaGEgYW8gZGVmaW5pciBvIHRlcm1pbmFsIGRlIGNvbnRyb2xlIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBvZmYgJXNcbiIKK21zZ3N0ciAic3dhcG9mZiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNQorbXNnaWQgIk5vdCBzdXBlcnVzZXIuIgorbXNnc3RyICJOw6NvIMOpIHN1cGVydXN1w6FyaW8uIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9mZiBmYWlsZWQiCittc2dzdHIgIiVzOiBzd2Fwb2ZmIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjIgc3lzLXV0aWxzL3N3YXBvbi5jOjc4OAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8c3BlYz5dXG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIFs8ZXNwZWM+XVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyNQorbXNnaWQgIkRpc2FibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIkRlc2FiaWxpdGEgcGFnaW5hw6fDo28gZSB0cm9jYSAoc3dhcHBpbmcpIGRlIGRpc3Bvc2l0aXZvcyBlIGFycXVpdm9zLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyOAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBzd2FwcyBmcm9tIC9wcm9jL3N3YXBzXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkZXNhYmlsaXRhIHRvZGFzIHN3YXBzIGRlIC9wcm9jL3N3YXBzXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgbW9kbyBkZXRhbGhhZG9cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMzUKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJvIHBhcsOibWV0cm8gPGVzcGVjPjpcbiIKKyIgLUwgPHLDs3R1bG8+ICAgICAgICAgICAgUsOTVFVMTyBkZSBkaXNwb3NpdGl2byBhIHNlciB1c2Fkb1xuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQgZGUgZGlzcG9zaXRpdm8gYSBzZXIgdXNhZG9cbiIKKyIgTEFCRUw9PHLDs3R1bG8+ICAgICAgICAgUsOTVFVMTyBkZSBkaXNwb3NpdGl2byBhIHNlciB1c2Fkb1xuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIFVVSUQgZGUgZGlzcG9zaXRpdm8gYSBzZXIgdXNhZG9cbiIKKyIgPGRpc3Bvc2l0aXZvPiAgICAgICAgICBub21lIGRvIGRpc3Bvc2l0aXZvIGEgc2VyIHVzYWRvXG4iCisiIDxhcnF1aXZvPiAgICAgICAgICAgICAgbm9tZSBkbyBhcnF1aXZvIGEgc2VyIHVzYWRvXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MworbXNnaWQgImRldmljZSBmaWxlIG9yIHBhcnRpdGlvbiBwYXRoIgorbXNnc3RyICJjYW1pbmhvIGRlIHBhcnRpw6fDo28gbyBhcnF1aXZvIGRpc3Bvc2l0aXZvIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTQKK21zZ2lkICJ0eXBlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgInRpcG8gZG8gZGlzcG9zaXRpdm8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NQorbXNnaWQgInNpemUgb2YgdGhlIHN3YXAgYXJlYSIKK21zZ3N0ciAidGFtYW5obyBkYSDDoXJlYSBkZSBzd2FwIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTYKK21zZ2lkICJieXRlcyBpbiB1c2UiCittc2dzdHIgImJ5dGVzIGVtIHVzbyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk3Cittc2dpZCAic3dhcCBwcmlvcml0eSIKK21zZ3N0ciAicHJpb3JpZGFkZSBkZSBzd2FwIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTgKK21zZ2lkICJzd2FwIHV1aWQiCittc2dzdHIgInV1aWQgZGUgc3dhcCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk5Cittc2dpZCAic3dhcCBsYWJlbCIKK21zZ3N0ciAicsOzdHVsbyBkZSBzd2FwIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzXHRcdFx0XHRUeXBlXHRcdFNpemVcdFVzZWRcdFByaW9yaXR5XG4iCittc2dzdHIgIiVzXHRcdFx0XHRUaXBvXHRcdFRhbWFuaG9cdFx0VXNhZG9cdFByaW9yaWRhZGVcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI0NgorbXNnaWQgIkZpbGVuYW1lIgorbXNnc3RyICJOb21lIGRvIGFycXVpdm8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlaW5pdGlhbGl6aW5nIHRoZSBzd2FwLiIKK21zZ3N0ciAiJXM6IHJlaW5pY2lhbGl6YW5kbyBhIHN3YXAuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsc2VlayBmYWlsZWQiCittc2dzdHIgIiVzOiBsc2VlayBmYWxob3UiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIHNpZ25hdHVyZSBmYWlsZWQiCittc2dzdHIgIiVzOiBhc3NpbmF0dXJhIGRlIGdyYXZhw6fDo28gZmFsaG91IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyAtIGl0IGFwcGVhcnMgdG8gaGF2ZSBob2xlcy4iCittc2dzdHIgIiVzOiBwdWxhbmRvIC0gZWxlIHBhcmVjZSB0ZXIgYnVyYWNvcy4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldCBzaXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIG9idGVyIHRhbWFuaG8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgc3dhcCBoZWFkZXIgZmFpbGVkIgorbXNnc3RyICIlczogZmFsaGEgYW8gbGVyIGNhYmXDp2FsaG8gZGUgc3dhcCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZm91bmQgc2lnbmF0dXJlIFtwYWdlc2l6ZT0lZCwgc2lnbmF0dXJlPSVzXSIKK21zZ3N0ciAiJXM6IGVuY29udHJhZGEgYXNzaW5hdHVyYSBbdGFtYW5obyBkZSBww6FnaW5hPSVkLCBhc3NpbmF0dXJhPSVzXSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFnZXNpemU9JWQsIHN3YXBzaXplPSVsbHUsIGRldnNpemU9JWxsdSIKK21zZ3N0ciAiJXM6IHBhZ2VzaXplPSVkLCBzd2Fwc2l6ZT0lbGx1LCBkZXZzaXplPSVsbHUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxhc3RfcGFnZSAweCUwOGxseCBpcyBsYXJnZXIgdGhhbiBhY3R1YWwgc2l6ZSBvZiBzd2Fwc3BhY2UiCittc2dzdHIgIiVzOiBsYXN0X3BhZ2UgMHglMDhsbHggw6kgbWFpb3IgZG8gcXVlIG8gdGFtYW5obyBhdHVhbCBkbyBlc3Bhw6dvIGRlIHN3YXAiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiIKK21zZ3N0ciAiJXM6IHRhbWFuaG8gZGUgcMOhZ2luYSBkbyBmb3JtYXRvIGRlIHN3YXAgbsOjbyBjb25mZXJlLiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIChVc2UgLS1maXhwZ3N6IHRvIHJlaW5pdGlhbGl6ZSBpdC4pIgorbXNnc3RyICIlczogdGFtYW5obyBkZSBww6FnaW5hIGRvIGZvcm1hdG8gZGUgc3dhcCBuw6NvIGNvbmZlcmUuIChVc2UgLS1maXhwZ3N6IHBhcmEgcmVpbmljaWFsaXrDoS1sbykiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNvZnR3YXJlIHN1c3BlbmQgZGF0YSBkZXRlY3RlZC4gUmV3cml0aW5nIHRoZSBzd2FwIHNpZ25hdHVyZS4iCittc2dzdHIgIiVzOiBkYWRvcyBkZSBzdXNwZW5zw6NvIGRlIHNvZnR3YXJlIGRldGVjdGFkby4gUmVlc2NyZXZlbmRvIGEgYXNzaW5hdHVyYSBkYSBzd2FwLiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb24gJXNcbiIKK21zZ3N0ciAic3dhcG9uICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvbiBmYWlsZWQiCittc2dzdHIgIiVzOiBzd2Fwb24gZmFsaG91IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub2F1dG8gb3B0aW9uIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiBvcMOnw6NvIG5vYXV0byAtLSBpZ25vcmFkbyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBhY3RpdmUgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IGrDoSBhdGl2byAtLSBpZ25vcmFkbyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5hY2Nlc3NpYmxlIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiBpbmFjZXNzw612ZWwgLS0gaWdub3JhZG8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTEKK21zZ2lkICJFbmFibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIkhhYmlsaXRhIGRpc3Bvc2l0aXZvcyBlIGFycXVpdm9zIHBhcmEgcGFnaW5hw6fDo28gZSB0cm9jYSAoc3dhcHBpbmcpLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk0Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICBlbmFibGUgYWxsIHN3YXBzIGZyb20gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGhhYmlsaXRhIHRvZGFzIHN3YXBzIGRvIC9ldGMvZnN0YWJcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NQorbXNnaWQgIiAtZCwgLS1kaXNjYXJkWz08cG9saWN5Pl0gZW5hYmxlIHN3YXAgZGlzY2FyZHMsIGlmIHN1cHBvcnRlZCBieSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAtZCwgLS1kaXNjYXJkWz08cG9sw610aWNhPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgaGFiaWxpdGEgZGVzY2FydGUgZGUgc3dhcCwgc2UgaG91dmVyIHN1cG9ydGVcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NgorbXNnaWQgIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgc2lsZW50bHkgc2tpcCBkZXZpY2VzIHRoYXQgZG8gbm90IGV4aXN0XG4iCittc2dzdHIgIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgaWdub3JhIHNpbGVuY2lvc2FtZW50ZSBkaXNwb3NpdGl2b3MgaW5leGlzdGVudGVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTcKK21zZ2lkICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHJlaW5pdGlhbGl6ZSB0aGUgc3dhcCBzcGFjZSBpZiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICByZWluaWNpYWxpemEgbyBlc3Bhw6dvIGRlIHN3YXAsIHNlIG5lY2Vzc8OhcmlvXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTgKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHN3YXAgb3B0aW9uc1xuIgorbXNnc3RyICIgLW8sIC0tb3B0aW9ucyA8bGlzdGE+ICAgIGxpbWl0YSBzZXBhcmFkYSBwb3IgdsOtcmd1bGEgZGUgb3DDp8O1ZXMgZGUgc3dhcFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk5Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBzcGVjaWZ5IHRoZSBwcmlvcml0eSBvZiB0aGUgc3dhcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBlc3BlY2lmaWNhIGEgcHJpb3JpZGFkZSBkbyBkaXNwb3NpdGl2byBkYSBzd2FwXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDAKK21zZ2lkICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIGRpc3BsYXkgc3VtbWFyeSBhYm91dCB1c2VkIHN3YXAgZGV2aWNlcyAoREVQUkVDQVRFRClcbiIKK21zZ3N0ciAiIgorIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgZXhpYmUgdW0gcmVzdW1vIHNvYnJlIG9zIGRpc3Bvc2l0aXZvcyBkZSBzd2FwXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzYWRvcyAoT0JTT0xFVE8pXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDEKK21zZ2lkICIgICAgIC0tc2hvd1s9PGNvbHVtbnM+XSAgIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKK21zZ3N0ciAiICAgICAtLXNob3dbPTxjb2x1bmFzPl0gICBleGliZSB1bSByZXN1bW8gZW0gdW1hIHRhYmVsYSBkZWZpbsOtdmVsXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDIKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IHRhYmxlIGhlYWRpbmcgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIG7Do28gZXhpYmUgY2FiZcOnYWxobyBkYSB0YWJlbGEgKGNvbSAtLXNob3cpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDMKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHVzYSBmb3JtYXRvIGRlIHNhw61kYSBuw6NvIHRyYXRhZG8gKGNvbSAtLXNob3cpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDQKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIGRpc3BsYXkgc3dhcCBzaXplIGluIGJ5dGVzIGluIC0tc2hvdyBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBleGliZSB0YW1hbmhvIGRhIHN3YXAgZW0gYnl0ZXMgbmEgc2HDrWRhIGRlIC0tc2hvd1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBtb2RvIGRldGFsaGFkb1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODExCittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisiXG4iCisiTyBwYXLDom1ldHJvIDxlc3BlYz46XG4iCisiIC1MIDxyw7N0dWxvPiAgICAgICAgICAgIHNpbsO0bmltbyBkZSBMQUJFTD08csOzdHVsbz5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzaW7DtG5pbW8gZGUgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PHLDs3R1bG8+ICAgICAgICAgZXNwZWNpZmljYSBvIGRpc3Bvc2l0aXZvIHBvciByw7N0dWxvIGRhIMOhcmVhIGRlIHN3YXBcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBlc3BlY2lmaWNhIG8gZGlzcG9zaXRpdm8gcG9yIFVVSUQgZGEgw6FyZWEgZGUgc3dhcFxuIgorIiBQQVJUTEFCRUw9PHLDs3R1bG8+ICAgICBlc3BlY2lmaWNhIG8gZGlzcG9zaXRpdm8gcG9yIHLDs3R1bG8gZGEgcGFydGnDp8Ojb1xuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIGVzcGVjaWZpY2EgbyBkaXNwb3NpdGl2byBwb3IgVVVJRCBkYSBwYXJ0acOnw6NvXG4iCisiIDxkaXNwb3NpdGl2bz4gICAgICAgICAgbm9tZSBkbyBkaXNwb3NpdGl2byBhIHNlciB1c2Fkb1xuIgorIiA8YXJxdWl2bz4gICAgICAgICAgICAgIG5vbWUgZG8gYXJxdWl2byBhIHNlciB1c2Fkb1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODIxCittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBkaXNjYXJkIHBvbGljeSB0eXBlcyAoZm9yIC0tZGlzY2FyZCk6XG4iCisiIG9uY2UgICAgOiBvbmx5IHNpbmdsZS10aW1lIGFyZWEgZGlzY2FyZHMgYXJlIGlzc3VlZFxuIgorIiBwYWdlcyAgIDogZnJlZWQgcGFnZXMgYXJlIGRpc2NhcmRlZCBiZWZvcmUgdGhleSBhcmUgcmV1c2VkXG4iCisiSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCBib3RoIGRpc2NhcmQgdHlwZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQpLlxuIgorbXNnc3RyICIiCisiXG4iCisiVGlwb3MgZGUgcG9sw610aWNhcyBkZSBkZXNjYXJ0ZSBkaXNwb27DrXZlaXMgKHBhcmEgLS1kaXNjYXJkKTpcbiIKKyIgb25jZSAgICA6IGFwZW5hcyBkZXNjYXJ0ZXMgZGUgw6FyZWEgZGUgdXNvIMO6bmljbyBzw6NvIHVzYWRhc1xuIgorIiBwYWdlcyAgIDogcMOhZ2luYXMgbGliZXJhZGFzIHPDo28gZGVzY2FydGFkYXMgYW50ZXMgZGUgc2VyZW0gcmV1c2FkYXNcbiIKKyJTZSBuZW5odW1hIHBvbMOtdGljYSBmb3Igc2VsZWNpb25hZGEsIGFtYm9zIHRpcG9zIGRlIGRlc2NhcnRlIHPDo28gaGFiaWxpdGFkb3MuIChwYWRyw6NvKVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODI2Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93KTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkNvbHVuYXMgZGlzcG9uw612ZWlzIChwYXJhIC0tc2hvdyk6XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MDQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcHJpb3JpdHkiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIHByaW9yaWRhZGUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICJzZW0gc3Vwb3J0ZSDDoCBwb2zDrXRpY2EgZGUgZGVzY2FydGU6ICVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHRoZSBkZXZpY2UgZm9yICVzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbG9jYWxpemFyIG8gZGlzcG9zaXRpdm8gcGFyYSAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NTkKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkaXJlY3RvcnkiCittc2dzdHIgImZhbGhhIGFvIGFicmlyIG8gZGlyZXTDs3JpbyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjcKK21zZ2lkICJzdGF0IGZhaWxlZCIKK21zZ3N0ciAic3RhdCBmYWxob3UiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjc4Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgZGlyZWN0b3J5IgorbXNnc3RyICJmYWxoYSBhbyBsZXIgbyBkaXJldMOzcmlvIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVubGluayAlcyIKK21zZ3N0ciAiZmFsaGEgYW8gcmVtb3ZlciBhIGxpZ2HDp8OjbyAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gJXMiCittc2dzdHIgImZhbGhhIGFvIG1vbnRhciBtb3ZlbmRvICVzIHBhcmEgJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JjaW5nIHVubW91bnQgb2YgJXMiCittc2dzdHIgImZvcsOnYW5kbyBkZXNtb250YWdlbSBkZSAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJmYWxoYSBhbyBhbHRlcmFyIGRpcmV0w7NyaW8gcGFyYSAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTY5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gLyIKK21zZ3N0ciAiZmFsaGEgYW8gbW9udGFyIG1vdmVuZG8gJXMgcGFyYSAvIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNzUKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QiCittc2dzdHIgImZhbGhhIGFvIGFsdGVyYXIgYSByYWl6IgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxODgKK21zZ2lkICJvbGQgcm9vdCBmaWxlc3lzdGVtIGlzIG5vdCBhbiBpbml0cmFtZnMiCittc2dzdHIgInNpc3RlbWEgZGUgYXJxdWl2b3MgcmFpeiBhbnRpZ28gbsOjbyDDqSB1bSBpbml0cmFtZnMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwMAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxuZXdyb290ZGlyPiA8aW5pdD4gPGFyZ3MgdG8gaW5pdD5cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gPG5vdm9kaXJyYWl6PiA8aW5pdD4gPGFyZ3MgcGFyYSBpbmljaWFsaXphcj5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA0Cittc2dpZCAiU3dpdGNoIHRvIGFub3RoZXIgZmlsZXN5c3RlbSBhcyB0aGUgcm9vdCBvZiB0aGUgbW91bnQgdHJlZS5cbiIKK21zZ3N0ciAiQWx0ZXJuYSBwYXJhIHVtIG91dHJvIHNpc3RlbWEgZGUgYXJxdWl2b3MgY29tbyBhIHJhaXogZGEgw6Fydm9yZSBkYSBtb250YWdlbS5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjM2Cittc2dpZCAiZmFpbGVkLiBTb3JyeS4iCittc2dzdHIgImZhbGhvdS4gU2ludG8gbXVpdG8uIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGFjY2VzcyAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFjZXNzYXIgJXMiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5NAorbXNnaWQgIlNldCB2YXJpb3VzIHBhcmFtZXRlcnMgZm9yIHRoZSBsaW5lIHByaW50ZXIuXG4iCittc2dzdHIgIkRlZmluZSB2w6FyaW9zIHBhcsOibWV0cm9zIHBhcmEgYSBpbXByZXNzw6NvIGRlIGxpbmhhLlxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTcKK21zZ2lkICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICBzcGVjaWZ5IHBhcmFsbGVsIHBvcnQgaXJxXG4iCittc2dzdHIgIiAtaSwgLS1pcnEgPG7Dum0+ICAgICAgICAgICAgICBlc3BlY2lmaWNhIHBvcnRhIHBhcmFsZWxhIGlycVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTgKK21zZ2lkICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICBkcml2ZXIgd2FpdCB0aW1lIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICB0ZW1wbyBkZSBlc3BlcmEgZG8gZHJpdmVyIGVtIG1pbGlzc2VndW5kb3NcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk5Cittc2dpZCAiIC1jLCAtLWNoYXJzIDxudW0+ICAgICAgICAgICAgbnVtYmVyIG9mIG91dHB1dCBjaGFyYWN0ZXJzIGJlZm9yZSBzbGVlcFxuIgorbXNnc3RyICIgLWMsIC0tY2hhcnMgPG51bT4gICAgICAgICAgICBuw7ptZXJvIGRlIGNhcmFjdGVyZXMgZGUgc2HDrWRhIGFudGVzIGRlIGRvcm1pclxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAwCittc2dpZCAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgc3Ryb2JlIHdhaXQgaW4gbWljcm8gc2Vjb25kc1xuIgorbXNnc3RyICIgLXcsIC0td2FpdCA8dXM+ICAgICAgICAgICAgICBleGliZSBhIGVzcGVyYSBlbSBtaWNyb3NzZWd1bmRvc1xuIgorCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSA8b258b2ZmPiBhcmd1bWVudHMuIFRoZQorIy4gYXJndW1lbnQgcmVhZGVyIGRvZXMgbm90IHJlY29nbml6ZSBsb2NhbGUsIHVubGVzcyBgb24nIGlzCisjLiBleGFjdGx5IHRoYXQgdmVyeSBzYW1lIHN0cmluZy4KKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDQKK21zZ2lkICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhYm9ydCBvbiBlcnJvclxuIgorbXNnc3RyICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhYm9ydGEgc2Ugb2NvcnJlciBhbGd1bSBlcnJvXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDUKK21zZ2lkICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBjaGVjayBwcmludGVyIHN0YXR1cyBiZWZvcmUgcHJpbnRpbmdcbiIKK21zZ3N0ciAiIC1vLCAtLWNoZWNrLXN0YXR1cyA8b258b2ZmPiAgdmVyaWZpY2Egc3RhdHVzIGRhIGltcHJlc3NvcmEgYW50ZXMgZGUgaW1wcmltaXJcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNgorbXNnaWQgIiAtQywgLS1jYXJlZnVsIDxvbnxvZmY+ICAgICAgIGV4dHJhIGNoZWNraW5nIHRvIHN0YXR1cyBjaGVja1xuIgorbXNnc3RyICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICB2ZXJpZmljYcOnw6NvIGV4dHJhIHBhcmEgdmVyaWZpY2FyIG8gc3RhdHVzXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDcKK21zZ2lkICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICBxdWVyeSBwcmludGVyIHN0YXR1c1xuIgorbXNnc3RyICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICBjb25zdWx0YSBvIHN0YXR1cyBkYSBpbXByZXNzb3JhXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDgKK21zZ2lkICIgLVQsIC0tdHJ1c3QtaXJxIDxvbnxvZmY+ICAgICBtYWtlIGRyaXZlciB0byB0cnVzdCBpcnFcbiIKK21zZ3N0ciAiIC1ULCAtLXRydXN0LWlycSA8b258b2ZmPiAgICAgZmF6IG8gZHJpdmVyIGNvbmZpYXIgbm8gaXJxXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDkKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICByZXNldCB0aGUgcG9ydFxuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICByZWluaWNpYSBhIHBvcnRhXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTAKK21zZ2lkICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICBkaXNwbGF5IGN1cnJlbnQgaXJxIHNldHRpbmdcbiIKK21zZ3N0ciAiIC1xLCAtLXByaW50LWlycSA8b258b2ZmPiAgICAgZXhpYmUgY29uZmlndXJhw6fDo28gYXR1YWwgZGUgaXJxXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGFuIGxwIGRldmljZSIKK21zZ3N0ciAiJXMgbsOjbyDDqSB1bSBkaXNwb3NpdGl2byBscCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4MAorbXNnaWQgIkxQR0VUU1RBVFVTIGVycm9yIgorbXNnc3RyICJlcnJvIExQR0VUU1RBVFVTIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN0YXR1cyBpcyAlZCIKK21zZ3N0ciAibyBzdGF0dXMgZGUgJXMgw6kgJWQiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBidXN5IgorbXNnc3RyICIsIG9jdXBhZG8iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCByZWFkeSIKK21zZ3N0ciAiLCBwcm9udG8iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvdXQgb2YgcGFwZXIiCittc2dzdHIgIiwgc2VtIHBhcGVsIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb24tbGluZSIKK21zZ3N0ciAiLCBvbi1saW5lIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZXJyb3IiCittc2dzdHIgIiwgZXJybyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMwMAorbXNnaWQgImlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzEwCittc2dpZCAiTFBHRVRJUlEgZXJyb3IiCittc2dzdHIgImVycm8gTFBHRVRJUlEiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgSVJRICVkXG4iCittc2dzdHIgIiVzIHVzYW5kbyBJUlEgJWRcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBwb2xsaW5nXG4iCittc2dzdHIgIiVzIHVzYW5kbyBjb25zdWx0YSAocG9sbGluZylcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiB8IDxkaXJlY3Rvcnk+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtvcMOnw7Vlc11cbiIKKyIgJTEkcyBbb3DDp8O1ZXNdIDxmb250ZT4gfCA8ZGlyZXTDs3Jpbz5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjgxCittc2dpZCAiVW5tb3VudCBmaWxlc3lzdGVtcy5cbiIKK21zZ3N0ciAiRGVzbW9udGEgc2lzdGVtYSBkZSBhcnF1aXZvcy5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg0Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHVubW91bnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBkZXNtb250YSB0b2RvcyBvcyBzaXN0ZW1hcyBkZSBhcnF1aXZvc1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODUKK21zZ2lkICIiCisiIC1BLCAtLWFsbC10YXJnZXRzICAgICAgIHVubW91bnQgYWxsIG1vdW50cG9pbnRzIGZvciB0aGUgZ2l2ZW4gZGV2aWNlIGluIHRoZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWxsLXRhcmdldHMgICAgICAgZGVzbW9udGEgdG9kb3Mgb3MgcG9udG9zIGRlIG1vbnRhZ2VtIGRvIGRpc3Bvc2l0aXZvXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgZGFkbyBubyBlc3Bhw6dvIGRlIG5vbWVzIGF0dWFsXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NworbXNnaWQgIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKK21zZ3N0ciAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIG7Do28gY2Fub25pemEgY2FtaW5ob3NcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg4Cittc2dpZCAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGlmIG1vdW50ZWQgbG9vcCBkZXZpY2UsIGFsc28gZnJlZSB0aGlzIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAgc2UgbyBkaXNwb3NpdGl2byBkZSBsb29wIGVzdGl2ZXIgbW9udGFkbywgdGFtYsOpbVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYmVyYSBlc3RlIGRpc3Bvc2l0aXZvIGRlIGxvb3BcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg5Cittc2dpZCAiICAgICAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIHVtb3VudCgyKSBzeXNjYWxsXG4iCittc2dzdHIgIiAgICAgLS1mYWtlICAgICAgICAgICAgICBzaW11bGHDp8OjbzsgcHVsYSBhIGNoYW1hZGEgZGUgc2lzdGVtYSBkbyB1bW91bnQoMilcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkwCittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIGZvcmNlIHVubW91bnQgKGluIGNhc2Ugb2YgYW4gdW5yZWFjaGFibGUgTkZTIHN5c3RlbSlcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIGZvcsOnYSBkZXNtb250YWdlbSAoZW0gY2FzbyBkZSBzaXN0ZW1hIE5GUyBpbmFsY2Fuw6fDoXZlbClcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkxCittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIHVtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgbsOjbyBjaGFtYSBvcyBhanVkYW50ZXMgZGUgdW1vdW50Ljx0aXBvPlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTMKK21zZ2lkICIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgZGV0YWNoIHRoZSBmaWxlc3lzdGVtIG5vdywgY2xlYW4gdXAgdGhpbmdzIGxhdGVyXG4iCittc2dzdHIgIiIKKyIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgZGVzdGFjYSBvIHNpc3RlbWEgZGUgYXJxdWl2b3MgYWdvcmEsIGxpbXBhXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgYXMgY29pc2FzIGRlcG9pc1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTQKK21zZ2lkICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCittc2dzdHIgIiAtTywgLS10ZXN0LW9wdHMgPGxpc3RhPiBsaW1pdGEgbyBjb25qdW50byBkZSBzaXN0ZW1hcyBkZSBhcnF1aXZvcyAodXNlIGNvbSAtYSlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk1Cittc2dpZCAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IHVubW91bnQgYSB0YXJnZXQgd2l0aCBhbGwgaXRzIGNoaWxkcmVuXG4iCittc2dzdHIgIiAtUiwgLS1yZWN1cnNpdmUgICAgICAgICBkZXNtb250YSByZWN1cnNpdmFtZW50ZSB1bSBhbHZvIGNvbSB0b2RhcyBzZXVzIGZpbGhvc1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTYKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgaW4gY2FzZSB1bm1vdW50aW5nIGZhaWxzLCB0cnkgdG8gcmVtb3VudCByZWFkLW9ubHlcbiIKK21zZ3N0ciAiIgorIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBjYXNvIGEgZGVzbW9udGFnZW0gZmFsaGUsIHRlbnRhIHJlbW9udGFyIGNvbW8gc29tZW50ZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlaXR1cmFcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk3Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPGxpc3RhPiAgICAgbGltaXRhIG8gY29uanVudG8gZGUgc2lzdGVtYXMgZGUgYXJxdWl2b3MgcG9yIHRpcG9zXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzKSB1bm1vdW50ZWQiCittc2dzdHIgIiVzICglcykgZGVzbW9udGFkbyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bm1vdW50ZWQiCittc2dzdHIgIiVzIGRlc21vbnRhZG8iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVtb3VudCBmYWlsZWQiCittc2dzdHIgIiVzOiB1bW91bnQgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCittc2dzdHIgIiVzOiBzaXN0ZW1hIGRlIGFycXVpdm9zIGZvaSBkZXNtb250YWRvLCBtYXMgbW91bnQoOCkgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXM6IGRpc3Bvc2l0aXZvIGRlIGJsb2NvIGludsOhbGlkbyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIzOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKK21zZ3N0ciAiJXM6IG7Do28gZm9pIHBvc3PDrXZlbCBncmF2YXIgc3VwZXJibG9jbyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXM6IHRhcmdldCBpcyBidXN5XG4iCisiICAgICAgICAoSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBhYm91dCBwcm9jZXNzZXMgdGhhdFxuIgorIiAgICAgICAgIHVzZSB0aGUgZGV2aWNlIGlzIGZvdW5kIGJ5IGxzb2YoOCkgb3IgZnVzZXIoMSkuKSIKK21zZ3N0ciAiIgorIiVzOiBkaXNwb3NpdGl2byBlc3TDoSBvY3VwYWRvLlxuIgorIiAgICAgICAgKEVtIGFsZ3VucyBjYXNvcywgaW5mb3JtYcOnw7VlcyDDunRlaXMgc29icmUgcHJvY2Vzc29zXG4iCisiICAgICAgICAgcXVlIHVzYW0gbyBkaXNwb3NpdGl2byBzw6NvIGVuY29udHJhZGFzIHBvciBsc29mKDgpXG4iCisiICAgICAgICAgb3UgZnVzZXIoMSkpIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudHBvaW50IG5vdCBmb3VuZCIKK21zZ3N0ciAiJXM6IHBvbnRvIGRlIG1vbnRhZ2VtIG7Do28gZW5jb250cmFkbyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1MAorbXNnaWQgInVuZGVmaW5lZCBtb3VudHBvaW50IgorbXNnc3RyICJwb250byBkZSBtb250YWdlbSBuw6NvIGRlZmluaWRvIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtdXN0IGJlIHN1cGVydXNlciB0byB1bm1vdW50IgorbXNnc3RyICIlczogcHJlY2lzYSBzZXIgc3VwZXJ1c3XDoXJpbyBwYXJhIGRlc21vbnRhciIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmxvY2sgZGV2aWNlcyBhcmUgbm90IHBlcm1pdHRlZCBvbiBmaWxlc3lzdGVtIgorbXNnc3RyICIlczogZGlzcG9zaXRpdm9zIGRlIGJsb2NvIG7Do28gc8OjbyBwZXJtaXRpZG9zIG5vIHNpc3RlbWEgZGUgYXJxdWl2b3MiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozMDcKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHVtb3VudCB0YXJnZXQiCittc2dzdHIgImZhbGhhIGFvIGRlZmluaXIgYWx2byBkbyB1bW91bnQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozMjMKK21zZ2lkICJsaWJtb3VudCB0YWJsZSBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAiYWxvY2HDp8OjbyBkYSB0YWJlbGEgZG8gbGlibW91bnQgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzY2IHN5cy11dGlscy91bW91bnQuYzo0NDYKK21zZ2lkICJsaWJtb3VudCBpdGVyYXRvciBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAiYWxvY2HDp8OjbyBkbyBpdGVyYWRvciBkbyBsaWJtb3VudCBmYWxob3UiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBjaGlsZCBmcyBvZiAlcyIKK21zZ3N0ciAiZmFsaGEgYW8gb2J0ZXIgc2lzdGVtYSBkZSBhcnF1aXZvcyBmaWxobyBkZSAlcyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQxMCBzeXMtdXRpbHMvdW1vdW50LmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQiCittc2dzdHIgIiVzOiBuw6NvIGVuY29udHJhZG8iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo0NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlICgtLWFsbC10YXJnZXRzIGlzIHVuc3VwcG9ydGVkIG9uIHN5c3RlbXMgd2l0aCByZWd1bGFyIG10YWIgZmlsZSkuIgorbXNnc3RyICIlczogZmFsaGEgYW8gZGV0ZXJtaW5hciBmb250ZSAoc2VtIHN1cG9ydGUgYSAtLWFsbC10YXJnZXRzIGVtIHNpc3RlbWFzIGNvbSBhcnF1aXZvIG10YWIgY29tdW0pLiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo4OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCAtLXNldGdyb3VwcyBhcmd1bWVudCAnJXMnIgorbXNnc3RyICJzZW0gc3Vwb3J0ZSBhbyBhcmd1bWVudG8gZGUgLS1zZXRncm91cHMgXCIlc1wiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjExMCBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQgJXMiCittc2dzdHIgImdyYXZhw6fDo28gZGUgJXMgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcm9wYWdhdGlvbiBtb2RlOiAlcyIKK21zZ3N0ciAibW9kbyBkZSBwcm9wYWdhw6fDo28gc2VtIHN1cG9ydGU6ICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1NworbXNnaWQgImNhbm5vdCBjaGFuZ2Ugcm9vdCBmaWxlc3lzdGVtIHByb3BhZ2F0aW9uIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYWx0ZXJhciBhIHByb3BhZ2HDp8OjbyBkbyBzaXN0ZW1hIGRlIGFycXVpdm9zIHJhaXoiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzdGF0ICVzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgb2J0ZXIgZXN0YWRvIGRlICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIxMworbXNnaWQgInBpcGUgZmFpbGVkIgorbXNnc3RyICJyZWRpcmVjaW9uYW1lbnRvIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjcKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwaXBlIgorbXNnc3RyICJmYWxoYSBhbyBsZXIgbyByZWRpcmVjaW9uYW1lbnRvIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1MAorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBzb21lIG5hbWVzcGFjZXMgdW5zaGFyZWQgZnJvbSB0aGUgcGFyZW50LlxuIgorbXNnc3RyICJFeGVjdXRhIHVtIHByb2dyYW1hIGNvbSBhbGd1bnMgZXNwYcOnb3MgZGUgbm9tZSBuw6NvIGNvbXBhcnRpbGhhZG9zIGRvIHByb2Nlc3NvIHBhaS5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTMKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1tLCAtLW1vdW50Wz08YXJxdWl2bz5dICAgZGVzY29tcGFydGlsaGEgZXNwYcOnbyBkZSBub21lIGRlIG1vbnRhZ2Vuc1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NAorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIgLXUsIC0tdXRzWz08YXJxdWl2bz5dICAgICBkZXNjb21wYXJ0aWxoYSBlc3Bhw6dvIGRlIG5vbWUgVVRTIChob3N0bmFtZSBldGMuKVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NQorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLWksIC0taXBjWz08YXJxdWl2bz5dICAgICBkZXNjb21wYXJ0aWxoYSBlc3Bhw6dvIGRlIG5vbWUgZGUgSVBDIGRlIFN5c3RlbSBWXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU2Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBuZXR3b3JrIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLW4sIC0tbmV0Wz08YXJxdWl2bz5dICAgICBkZXNjb21wYXJ0aWxoYSBlc3Bhw6dvIGRlIG5vbWUgZGUgcmVkZVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NworbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLXAgLS1waWRbPTxhcnF1aXZvPl0gICAgICBkZXNjb21wYXJ0aWxoYSBlc3Bhw6dvIGRlIG5vbWUgZG8gcGlkXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU4Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLVUsIC0tdXNlcls9PGFycXVpdm8+XSAgICBkZXNjb21wYXJ0aWxoYSBlc3Bhw6dvIGRlIG5vbWUgZG8gdXN1w6FyaW9cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTkKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICAgICB1bnNoYXJlIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1jLCAtLWNncm91cFs9PGFycXVpdm8+XSAgIGRlc2NvbXBhcnRpbGhhIGVzcGHDp28gZGUgbm9tZSBkZSBjZ3JvdXBcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjAKK21zZ2lkICIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICBmb3JrIGJlZm9yZSBsYXVuY2hpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiAtZiwgLS1mb3JrICAgICAgICAgICAgICAgIGJpZnVyY2EgYW50ZXMgZGUgZXhlY3V0YXIgPHByb2dyYW1hPlxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MQorbXNnaWQgIiAgICAgLS1tb3VudC1wcm9jWz08ZGlyPl0gIG1vdW50IHByb2MgZmlsZXN5c3RlbSBmaXJzdCAoaW1wbGllcyAtLW1vdW50KVxuIgorbXNnc3RyICIiCisiICAgICAtLW1vdW50LXByb2NbPTxkaXI+XSAgbW9udGEgc2lzdGVtYSBkZSBhcnF1aXZvcyBwcm9jIHByaW1laXJvXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVzdWx0YSBlbSAtLW1vdW50KVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MgorbXNnaWQgIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIG1hcCBjdXJyZW50IHVzZXIgdG8gcm9vdCAoaW1wbGllcyAtLXVzZXIpXG4iCittc2dzdHIgIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIG1hcGVpYSB1c3XDoXJpbyBhdHVhbCBwYXJhIHJvb3QgKHJlc3VsdGEgZW0gLS11c2VyKVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MworbXNnaWQgIiIKKyIgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZ5IG1vdW50IHByb3BhZ2F0aW9uIGluIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisiICAgICAtLXByb3BhZ2F0aW9uIHNsYXZlfHNoYXJlZHxwcml2YXRlfHVuY2hhbmdlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWNhIHByb3BhZ2HDp8OjbyBkZSBtb250YWdlbSBubyBlc3Bhw6dvIGRlIG5vbWVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlIG1vbnRhZ2VtXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY1Cittc2dpZCAiIC1zLCAtLXNldGdyb3VwcyBhbGxvd3xkZW55ICBjb250cm9sIHRoZSBzZXRncm91cHMgc3lzY2FsbCBpbiB1c2VyIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIgorIiAtcywgLS1zZXRncm91cHMgYWxsb3d8ZGVueVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xhIGFzIGNoYW1hZGFzIGRlIHNpc3RlbWEgZGUgc2V0Z3JvdXBzIG5vc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXNwYcOnb3MgZGUgbm9tZSBkbyB1c3XDoXJpb1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjM4NgorbXNnaWQgInVuc2hhcmUgZmFpbGVkIgorbXNnc3RyICJ1bnNoYXJlIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzAKK21zZ2lkICJjaGlsZCBleGl0IGZhaWxlZCIKK21zZ3N0ciAic2HDrWRhIGRvIGZpbGhvIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzcKK21zZ2lkICJvcHRpb25zIC0tc2V0Z3JvdXBzPWFsbG93IGFuZCAtLW1hcC1yb290LXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAib3DDp8O1ZXMgLS1zZXRncm91cHM9YWxsb3cgZSAtLW1hcC1yb290LXVzZXIgc8OjbyBtdXR1YW1lbnRlIGV4Y2x1c2l2YXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIGZhaWxlZCIKK21zZ3N0ciAibW9udGFnZW0gZGUgJXMgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3MworbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICJBIHBsYWNhIHJlaW5pY2lhbGl6b3UgYW50ZXJpb3JtZW50ZSBhIENQVSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzQKK21zZ2lkICJFeHRlcm5hbCByZWxheSAxIgorbXNnc3RyICJUcmFuc21pc3PDo28gZXh0ZXJuYSAxIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NQorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDIiCittc2dzdHIgIlRyYW5zbWlzc8OjbyBleHRlcm5hIDIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc2Cittc2dpZCAiRmFuIGZhaWxlZCIKK21zZ3N0ciAiVmVudG9pbmhhIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzcKK21zZ2lkICJLZWVwIGFsaXZlIHBpbmcgcmVwbHkiCittc2dzdHIgIlJlc3Bvc3RhIGRvIHBpbmcgZGUgXCJrZWVwIGFsaXZlXCIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc4Cittc2dpZCAiU3VwcG9ydHMgbWFnaWMgY2xvc2UgY2hhciIKK21zZ3N0ciAiU3Vwb3J0ZSBhIGNhcmFjdGVyZSBkZSBmZWNoYW1lbnRvIG3DoWdpY28iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc5Cittc2dpZCAiUmVzZXQgZHVlIHRvIENQVSBvdmVyaGVhdCIKK21zZ3N0ciAiUmVpbmljaWFsaXphw6fDo28gcG9yIGNhdXNhIGRlIHNvYnJlYXF1ZWNpbWVudG8gZGUgQ1BVIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MAorbXNnaWQgIlBvd2VyIG92ZXIgdm9sdGFnZSIKK21zZ3N0ciAiRW5lcmdpYSBwb3Igdm9sdGFnZW0iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgxCittc2dpZCAiUG93ZXIgYmFkL3Bvd2VyIGZhdWx0IgorbXNnc3RyICJFbmVyZ2lhIGluc3VmaWNpZW50ZS9wcm9ibGVtYSBkZSBlbmVyZ2lhIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MgorbXNnaWQgIlByZXRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJQcsOpLXRlbXBvIGxpbWl0ZSAoZW0gc2VndW5kb3MpIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MworbXNnaWQgIlNldCB0aW1lb3V0IChpbiBzZWNvbmRzKSIKK21zZ3N0ciAiRGVmaW5lIG8gdGVtcG8gbGltaXRlIChlbSBzZWd1bmRvcykiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjg0Cittc2dpZCAiTm90IHRyaWdnZXIgcmVib290IgorbXNnc3RyICJOw6NvIGF0aXZhIHJlaW5pY2lhbGl6YcOnw6NvIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDAKK21zZ2lkICJmbGFnIG5hbWUiCittc2dzdHIgIm9ww6fDo28gbm9tZSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAxCittc2dpZCAiZmxhZyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAib3DDp8OjbyBkZXNjcmnDp8OjbyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAyCittc2dpZCAiZmxhZyBzdGF0dXMiCittc2dzdHIgIm9ww6fDo28gc3RhdHVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDMKK21zZ2lkICJmbGFnIGJvb3Qgc3RhdHVzIgorbXNnc3RyICJvcMOnw6NvIHN0YXR1cyBkZSBpbmljaWFsaXphw6fDo28iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwNAorbXNnaWQgIndhdGNoZG9nIGRldmljZSBuYW1lIgorbXNnc3RyICJub21lIGRvIGRpc3Bvc2l0aXZvIHdhdGNoZG9nIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmbGFnOiAlcyIKK21zZ3N0ciAib3DDp8OjbyBkZXNjb25oZWNpZGE6ICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxNzcKK21zZ2lkICJTaG93IHRoZSBzdGF0dXMgb2YgdGhlIGhhcmR3YXJlIHdhdGNoZG9nLlxuIgorbXNnc3RyICJNb3N0cmEgbyBzdGF0dXMgZG8gd2F0Y2hkb2cgZG8gaGFyZHdhcmUuXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE4MAorbXNnaWQgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICBwcmludCBzZWxlY3RlZCBmbGFncyBvbmx5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciBmbGFncyB0YWJsZVxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdCBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgcHJpbnQgb25seSBmbGFncyB0YWJsZSAoc2FtZSBhcyAtSSAtVClcbiIKK21zZ3N0ciAiIgorIiAtZiwgLS1mbGFncyA8bGlzdGE+ICAgIGV4aWJlIGFwZW5hcyBhcyBvcMOnw7VlcyBzZWxlY2lvbmFkYXNcbiIKKyIgLUYsIC0tbm9mbGFncyAgICAgICAgICBuw6NvIGV4aWJlIGluZm9ybWHDp8OjbyBzb2JyZSBvcMOnw7Vlc1xuIgorIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIG7Do28gZXhpYmUgaW5mb3JtYcOnw6NvIHNvYnJlIGEgaWRlbnRpZGFkZSBkbyB3YXRjaGRvZ1xuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIG7Do28gZXhpYmUgY2FiZcOnYWxob3MgZGEgdGFiZWxhIGRlIG9ww6fDtWVzXG4iCisiIC1PLCAtLW9uZWxpbmUgICAgICAgICAgZXhpYmUgdG9kYXMgYXMgaW5mb3JtYcOnw7VlcyBlbSB1bWEgbGluaGFcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0YT4gICByZXRvcm5hIGFzIGNvbHVuYXMgZGFzIG9ww6fDtWVzXG4iCisiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNhIGZvcm1hdG8gZGUgc2HDrWRhIG7Do28gdHJhdGFkYSBuYSB0YWJlbGEgZGUgb3DDp8O1ZXNcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBuw6NvIGV4aWJlIG9zIHRlbXBvcyBsaW1pdGVzIGRvIHdhdGNoZG9nXG4iCisiIC1zLCAtLXNldHRpbWVvdXQgPHNlZz4gZGVmaW5lIG8gdGVtcG8gbGltaXRlIGRvIHdhdGNoZG9nXG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgZXhpYmUgYXBlbmFzIGFzIHRhYmVsYSBkZSBvcMOnw7VlcyAobWVzbW8gcXVlIC1JIC1UKVxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRlZmF1bHQgZGV2aWNlIGlzICVzLlxuIgorbXNnc3RyICJPIGRpc3Bvc2l0aXZvIHBhZHLDo28gw6kgJXMuXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE5OQorbXNnaWQgIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorbXNnc3RyICJDb2x1bmFzIHZpc8OtdmVpczpcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIGZsYWdzIDB4JXhcbiIKK21zZ3N0ciAiJXM6IG9ww6fDtWVzIGRlc2NvbmhlY2lkYXMgMHgleFxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMTkgc3lzLXV0aWxzL3dkY3RsLmM6Mzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXRjaGRvZyBhbHJlYWR5IGluIHVzZSwgdGVybWluYXRpbmcuIgorbXNnc3RyICIlczogd2F0Y2hkb2cgasOhIGVtIHVzbywgdGVybWluYW5kby4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMzMyBzeXMtdXRpbHMvd2RjdGwuYzo0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkaXNhcm0gd2F0Y2hkb2ciCittc2dzdHIgIiVzOiBmYWxoYSBhbyBkZXNhcm1hciB3YXRjaGRvZyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGltZW91dCBmb3IgJXMiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBkZWZpbmlyIG8gdGVtcG8gbGltaXRlIHBhcmEgJXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0OAorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmQuXG4iCittc2dpZF9wbHVyYWwgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZHMuXG4iCittc2dzdHJbMF0gIk8gdGVtcG8gbGltaXRlIGZvaSBkZWZpbmlkbyBjb21vICVkIHNlZ3VuZG8uXG4iCittc2dzdHJbMV0gIk8gdGVtcG8gbGltaXRlIGZvaSBkZWZpbmlkbyBjb21vICVkIHNlZ3VuZG9zLlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgd2F0Y2hkb2ciCittc2dzdHIgIiVzOiBmYWxoYSBhbyBvYnRlciBpbmZvcm1hw6fDo28gc29icmUgbyB3YXRjaGRvZyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY0IHN5cy11dGlscy93ZGN0bC5jOjQ2NyBzeXMtdXRpbHMvd2RjdGwuYzo0NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0xNHMgJTJpIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICIlLTE0cyAlMmkgc2Vjb25kc1xuIgorbXNnc3RyWzBdICIlLTE0cyAlMmkgc2VndW5kb3NcbiIKK21zZ3N0clsxXSAiJS0xNHMgJTJpIHNlZ3VuZG9zXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NQorbXNnaWQgIlRpbWVvdXQ6IgorbXNnc3RyICJUZW1wbyBsaW1pdGU6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjgKK21zZ2lkICJQcmUtdGltZW91dDoiCittc2dzdHIgIlByw6ktdGVtcG8gbGltaXRlOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDcxCittc2dpZCAiVGltZWxlZnQ6IgorbXNnc3RyICJUZW1wbyByZXN0YW50ZToiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNQorbXNnaWQgIkRldmljZToiCittc2dzdHIgIkRpc3Bvc2l0aXZvOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA3Cittc2dpZCAiSWRlbnRpdHk6IgorbXNnc3RyICJJZGVudGlkYWRlOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA5Cittc2dpZCAidmVyc2lvbiIKK21zZ3N0ciAidmVyc8OjbyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MworbXNnaWQgInpyYW0gZGV2aWNlIG5hbWUiCittc2dzdHIgIm5vbWUgZG8gZGlzcG9zaXRpdm8gZGUgenJhbSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NAorbXNnaWQgImxpbWl0IG9uIHRoZSB1bmNvbXByZXNzZWQgYW1vdW50IG9mIGRhdGEiCittc2dzdHIgImxpbWl0YSBhIHF1YW50aWRhZGUgZGUgZGFkb3MgZGVzY29tcHJpbWlkb3MiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzUKK21zZ2lkICJ1bmNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAidGFtYW5obyBkZXNjb21wcmltaWRvIGRvcyBkYWRvcyBhcm1hemVuYWRvcyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NgorbXNnaWQgImNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAidGFtYW5obyBjb21wcmltaWRvIGRvcyBkYWRvcyBhcm1hemVuYWRvcyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NworbXNnaWQgInRoZSBzZWxlY3RlZCBjb21wcmVzc2lvbiBhbGdvcml0aG0iCittc2dzdHIgIm8gYWxnb3JpdG1vIGRlIGNvbXByZXNzw6NvIHNlbGVjaW9uYWRvIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc4Cittc2dpZCAibnVtYmVyIG9mIGNvbmN1cnJlbnQgY29tcHJlc3Mgb3BlcmF0aW9ucyIKK21zZ3N0ciAibsO6bWVybyBkZSBvcGVyYcOnw7VlcyBkZSBjb21wcmVzc8OjbyBjb25jb3JyZW50ZXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzkKK21zZ2lkICJlbXB0eSBwYWdlcyB3aXRoIG5vIGFsbG9jYXRlZCBtZW1vcnkiCittc2dzdHIgInDDoWdpbmFzIHZhemlhcyBjb20gbmVuaHVtYSBtZW3Ds3JpYSBhbG9jYWRhIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgwCittc2dpZCAiYWxsIG1lbW9yeSBpbmNsdWRpbmcgYWxsb2NhdG9yIGZyYWdtZW50YXRpb24gYW5kIG1ldGFkYXRhIG92ZXJoZWFkIgorbXNnc3RyICJ0b2RhIG1lbcOzcmlhIGluY2x1aW5kbyBmcmFnbWVudGHDp8OjbyBlIHNvYnJlY2FyZ2EgZGUgbWV0YWRhZG9zIGRvIGFsb2NhZG9yIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgxCittc2dpZCAibWVtb3J5IGxpbWl0IHVzZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICJsaW1pdGUgZGUgbWVtw7NyaWEgdXNhZG8gcGFyYSBhcm1hemVuYXIgZGFkb3MgY29tcHJpbWlkb3MiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODIKK21zZ2lkICJtZW1vcnkgenJhbSBoYXZlIGJlZW4gY29uc3VtZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICJhIG1lbW9yaWEgenJhbSBmb2kgY29uc3VtaWRhIHBhcmEgYXJtYXplbmFyIGRhZG9zIGNvbXByaW1pZG9zIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgzCittc2dpZCAibnVtYmVyIG9mIG9iamVjdHMgbWlncmF0ZWQgYnkgY29tcGFjdGlvbiIKK21zZ3N0ciAibsO6bWVybyBkZSBvYmpldG9zIG1pZ3JhZG9zIHBvciBjb21wYWN0YcOnw6NvIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjM2MyBzeXMtdXRpbHMvenJhbWN0bC5jOjM3NAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICJGYWxoYSBhbyBhbmFsaXNhciBtbV9zdGFydCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorIiAlMSRzIC1yIDxkZXZpY2U+IFsuLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGRldmljZT4gLXMgPHNpemU+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbb3DDp8O1ZXNdIDxkaXNwb3NpdGl2bz5cbiIKKyIgJTEkcyAtciA8ZGlzcG9zaXRpdm8+IFsuLi5dXG4iCisiICUxJHMgW29ww6fDtWVzXSAtZiB8IDxkaXNwb3NpdGl2bz4gLXMgPHRhbWFuaG8+XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTI3Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIHpyYW0gZGV2aWNlcy5cbiIKK21zZ3N0ciAiQ29uZmlndXJhIGUgY29udHJvbGEgZGlzcG9zaXRpdm9zIHpyYW0uXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMwCittc2dpZCAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0ICAgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIHVzZVxuIgorbXNnc3RyICIgLWEsIC0tYWxnb3JpdGhtIGx6b3xsejQgICBhbGdvcml0bW8gZGUgY29tcHJlc3PDo28gYSBzZXIgdXNhZG9cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzEKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICAgZXhpYmUgdGFtYW5ob3MgZW0gYnl0ZXMgZW0gdmV6IGRlIGZvcm1hdG8gbGVnw612ZWxcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzIKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICBmaW5kIGEgZnJlZSBkZXZpY2VcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgbG9jYWxpemEgdW0gZGlzcG9zaXRpdm8gbGl2cmVcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBuw6NvIGV4aWJlIGNhYmXDp2FsaG9zXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM0Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICAgICAgY29sdW5hcyBhIHNlcmVtIHVzYWRhcyBwYXJhIGEgc2HDrWRhIGRlIHN0YXR1c1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzNQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIHVzZSByYXcgc3RhdHVzIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgdXNhIG8gZm9ybWF0byBkZSBzYcOtZGEgZGUgc3RhdHVzIG7Do28gdHJhdGFkb1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzNgorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZWRlZmluZSB0b2RvcyBkaXNwb3NpdGl2b3MgZXNwZWNpZmljYWRvc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzNworbXNnaWQgIiAtcywgLS1zaXplIDxzaXplPiAgICAgICAgIGRldmljZSBzaXplXG4iCittc2dzdHIgIiAtcywgLS1zaXplIDx0YW1hbmhvPiAgICAgIHRhbWFuaG8gZG8gZGlzcG9zaXRpdm9cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzgKK21zZ2lkICIgLXQsIC0tc3RyZWFtcyA8bnVtYmVyPiAgICBudW1iZXIgb2YgY29tcHJlc3Npb24gc3RyZWFtc1xuIgorbXNnc3RyICIgLXQsIC0tc3RyZWFtcyA8bsO6bWVybz4gICAgbsO6bWVybyBkZSBmbHV4b3MgZGUgY29tcHJlc3PDo29cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYWxnb3JpdGhtOiAlcyIKK21zZ3N0ciAic2VtIHN1cG9ydGUgYW8gYWxnb3JpdG1vOiAlcyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2MjYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RyZWFtcyIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgZmx1eG9zIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY0OAorbXNnaWQgIm9wdGlvbiAtLWZpbmQgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPGRldmljZT4iCittc2dzdHIgImEgb3DDp8OjbyAtLWZpbmQgZSA8ZGlzcG9zaXRpdm8+IHPDo28gbXV0dWFtZW50ZSBleGNsdXNpdmFzIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NAorbXNnaWQgIm9ubHkgb25lIDxkZXZpY2U+IGF0IGEgdGltZSBpcyBhbGxvd2VkIgorbXNnc3RyICJwb2RlLXNlIHVzYXIgYXBlbmFzIHVtIDxkaXNwb3NpdGl2bz4gcG9yIHZleiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NTcKK21zZ2lkICJvcHRpb25zIC0tYWxnb3JpdGhtIGFuZCAtLXN0cmVhbXMgbXVzdCBiZSBjb21iaW5lZCB3aXRoIC0tc2l6ZSIKK21zZ3N0ciAib3DDp8O1ZXMgLS1hbGdvcml0aG0gZSAtLXN0cmVhbXMgZGV2ZW0gc2VyIGNvbWJpbmFkb3MgY29tIC0tc2l6ZSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODcgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZXNldCIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIHJlZGVmaW5pciIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2OTggc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDYKK21zZ2lkICJubyBmcmVlIHpyYW0gZGV2aWNlIGZvdW5kIgorbXNnc3RyICJuZW5odW0gZGlzcG9zaXRpdm8genJhbSBsaXZyZSBsb2NhbGl6YWRvIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBudW1iZXIgb2Ygc3RyZWFtcyIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIGRlZmluaXIgbsO6bWVybyBkZSBmbHV4b3MiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGFsZ29yaXRobSIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIGRlZmluaXIgYWxnb3JpdG1vIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBkaXNrc2l6ZSAoJWp1IGJ5dGVzKSIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIGRlZmluaXIgdGFtYW5obyBkbyBkaXNjbyAoJWp1IGJ5dGVzKSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMlcyAoYXV0b21hdGljIGxvZ2luKVxuIgorbXNnc3RyICIlcyVzIChpbsOtY2lvIGRlIHNlc3PDo28gYXV0b23DoXRpY28pXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugcm9vdCBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIGFsdGVyYXIgbyBkaXJldMOzcmlvIHJhaXogJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHdvcmtpbmcgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiJXM6IG7Do28gZm9pIHBvc3PDrXZlbCBhbHRlcmFyIG8gZGlyZXTDs3JpbyBkZSB0cmFiYWxobyAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2UgcHJvY2VzcyBwcmlvcml0eTogJW0iCittc2dzdHIgIiVzOiBuw6NvIGZvaSBwb3Nzw612ZWwgYWx0ZXJhciBhIHByaW9yaWRhZGUgZG8gcHJvY2Vzc286ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgZXhlYyAlczogJW0iCittc2dzdHIgIiVzOiBuw6NvIGZvaSBwb3Nzw612ZWwgZXhlY3V0YXIgJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjU1NSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg0MSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg1MworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzAgdGVybS11dGlscy9hZ2V0dHkuYzoxNDE1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQzMworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDY5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ3OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE1MTYKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk3OCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeTogJW0iCittc2dzdHIgImZhbGhhIGFvIGFsb2NhciBtZW3Ds3JpYTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NjgwCittc2dpZCAiaW52YWxpZCBkZWxheSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBkZSBhdHJhc28iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzE5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtLWxvY2FsLWxpbmUiCittc2dzdHIgImFyZ3VtZW50byBpbnbDoWxpZG8gZGUgLS1sb2NhbC1saW5lIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjczOAorbXNnaWQgImludmFsaWQgbmljZSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBkZSBuaWNlIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3BlZWQ6ICVzIgorbXNnc3RyICJ2ZWxvY2lkYWRlIGludsOhbGlkYTogJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODc3Cittc2dpZCAidG9vIG1hbnkgYWx0ZXJuYXRlIHNwZWVkcyIKK21zZ3N0ciAibsO6bWVybyBleGNlc3Npdm8gZGUgdmVsb2NpZGFkZXMgYWx0ZXJuYXRpdmFzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMDYgdGVybS11dGlscy9hZ2V0dHkuYzoxMDEwIHRlcm0tdXRpbHMvYWdldHR5LmM6MTA2MworIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgb3BlbiBhcyBzdGFuZGFyZCBpbnB1dDogJW0iCittc2dzdHIgIi9kZXYvJXM6IG7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciBjb21vIGVudHJhZGEgcGFkcsOjbzogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAyOQorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSBjaGFyYWN0ZXIgZGV2aWNlIgorbXNnc3RyICIvZGV2LyVzOiBuw6NvIMOpIHVtIGRpc3Bvc2l0aXZvIGRlIGNhcmFjdGVyZXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAzMQorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSB0dHkiCittc2dzdHIgIi9kZXYvJXM6IG7Do28gw6kgdW0gdHR5IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzUgdGVybS11dGlscy9hZ2V0dHkuYzoxMDY3CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBnZXQgY29udHJvbGxpbmcgdHR5OiAlbSIKK21zZ3N0ciAiL2Rldi8lczogbsOjbyBmb2kgcG9zc8OtdmVsIG9idGVyIHR0eSBkZSBjb250cm9sZTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA1NworIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiB2aGFuZ3VwKCkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiL2Rldi8lczogdmhhbmd1cCgpIGZhbGhvdTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG9wZW4gZm9yIHJlYWQvd3JpdGUiCittc2dzdHIgIiVzOiBuw6NvIGVzdMOhIGFiZXJ0byBwYXJhIGxlaXR1cmEvZ3JhdmHDp8OjbyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBzZXQgcHJvY2VzcyBncm91cDogJW0iCittc2dzdHIgIi9kZXYvJXM6IG7Do28gZm9pIHBvc3PDrXZlbCBkZWZpbmlyIGdydXBvIGRvIHByb2Nlc3NvOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkdXAgcHJvYmxlbTogJW0iCittc2dzdHIgIiVzOiBwcm9ibGVtYSBkZSBkdXA6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIiVzOiBmYWxoYSBhbyBvYnRlciBhdHJpYnV0b3MgZG8gdGVybWluYWw6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzMjEgdGVybS11dGlscy9hZ2V0dHkuYzoxMzQxCisjLCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgdGVybWluYWwgYXR0cmlidXRlcyBmYWlsZWQ6ICVtIgorbXNnc3RyICJmYWxoYSBhbyBkZWZpbmlyIGF0cmlidXRvcyBkbyB0ZXJtaW5hbDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ1OQorbXNnaWQgImNhbm5vdCBvcGVuIG9zLXJlbGVhc2UgZmlsZSIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyIG8gYXJxdWl2byBvcy1yZWxlYXNlIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE2MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSByZWxvYWQgZmlsZTogJXM6ICVtIgorbXNnc3RyICJmYWxoYSBhbyBjcmlhciBhcnF1aXZvIGRlIHJlY2FycmVnYW1lbnRvOiAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTczNgorbXNnaWQgIltwcmVzcyBFTlRFUiB0byBsb2dpbl0iCittc2dzdHIgIltwcmVzc2lvbmUgRU5URVIgcGFyYSBvIGluaWNpYXIgYSBzZXNzw6NvXSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzYwCittc2dpZCAiTnVtIExvY2sgb2ZmIgorbXNnc3RyICJOdW0gTG9jayBkZXNhdGl2YWRvIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjMKK21zZ2lkICJOdW0gTG9jayBvbiIKK21zZ3N0ciAiTnVtIExvY2sgYXRpdmFkbyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzY2Cittc2dpZCAiQ2FwcyBMb2NrIG9uIgorbXNnc3RyICJDYXBzIExvY2sgYXRpdmFkbyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzY5Cittc2dpZCAiU2Nyb2xsIExvY2sgb24iCittc2dzdHIgIlNjcm9sbCBMb2NrIGF0aXZhZG8iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc3MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSGludDogJXNcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkRpY2E6ICVzXG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZDogJW0iCittc2dzdHIgIiVzOiBsZWl0dXJhOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnB1dCBvdmVycnVuIgorbXNnc3RyICIlczogZW50cmFkYSBleGNlZGlkYSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTc0IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgY29udmVyc2lvbiBmb3IgbG9naW4gbmFtZSIKK21zZ3N0ciAiJXM6IGNvbnZlcnPDo28gZGUgY2FyYWN0ZXJlIGludsOhbGlkYSBwYXJhIG5vbWUgcGFyYSBpbmljaWFyIHNlc3PDo28iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgMHgleCBpbiBsb2dpbiBuYW1lIgorbXNnc3RyICIlczogY2FyYWN0ZXJlIGludsOhbGlkbyAweCV4IG5vIG5vbWUgcGFyYSBpbmljaWFyIHNlc3PDo28iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA3MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIGRlZmluaXIgYXRyaWJ1dG9zIGRvIHRlcm1pbmFsOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGxpbmU+IFs8YmF1ZF9yYXRlPiwuLi5dIFs8dGVybXR5cGU+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8YmF1ZF9yYXRlPiwuLi4gPGxpbmU+IFs8dGVybXR5cGU+XVxuIgorbXNnc3RyICIiCisiICUxJHMgW29ww6fDtWVzXSA8bGluaGE+IFs8dGF4YS10cmFuc21pc3PDo28+LC4uLl0gWzx0aXBvLXRlcm1pbmFsPl1cbiIKKyIgJTEkcyBbb3DDp8O1ZXNdIDx0YXhhLXRyYW5zbWlzc8Ojbz4sLi4uIDxsaW5oYT4gWzx0aXBvLXRlcm1pbmFsPl1cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTEzCittc2dpZCAiT3BlbiBhIHRlcm1pbmFsIGFuZCBzZXQgaXRzIG1vZGUuXG4iCittc2dzdHIgIkFicmUgdW0gdGVybWluYWwgZSBkZWZpbmUgc2V1IG1vZG8uXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExNgorbXNnaWQgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBhc3N1bWUgOC1iaXQgdHR5XG4iCittc2dzdHIgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBwcmVzdW1lIHR0eSBkZSA4IGJpdHNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE3Cittc2dpZCAiIC1hLCAtLWF1dG9sb2dpbiA8dXNlcj4gICAgIGxvZ2luIHRoZSBzcGVjaWZpZWQgdXNlciBhdXRvbWF0aWNhbGx5XG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYXV0b2xvZ2luIDx1c3XDoXJpbz4gIGluaWNpYSBzZXNzw6NvIGF1dG9tYXRpY2FtZW50ZSBwYXJhIG8gdXN1w6FyaW9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXNwZWNpZmljYWRvXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExOAorbXNnaWQgIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICBkbyBub3QgcmVzZXQgY29udHJvbCBtb2RlXG4iCittc2dzdHIgIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICBpbmljaWEgcmVpbmljaWEgbyBtb2RvIGRlIGNvbnRyb2xlXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExOQorbXNnaWQgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICB1c2UgLXIgPGhvc3RuYW1lPiBmb3IgbG9naW4oMSlcbiIKK21zZ3N0ciAiIC1FLCAtLXJlbW90ZSAgICAgICAgICAgICAgIHVzYSAtciA8bcOhcXVpbmE+IHBhcmEgbG9naW4oMSlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIwCittc2dpZCAiIC1mLCAtLWlzc3VlLWZpbGUgPGZpbGU+ICAgIGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIgLWYsIC0taXNzdWUtZmlsZSA8YXJxdWl2bz4gZXhpYmUgbyBhcnF1aXZvIGlzc3VlXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMQorbXNnaWQgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBlbmFibGUgaGFyZHdhcmUgZmxvdyBjb250cm9sXG4iCittc2dzdHIgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBoYWJpbGl0YSBjb250cm9sZSBkZSBmbHV4byBkZSBoYXJkd2FyZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjIKK21zZ2lkICIgLUgsIC0taG9zdCA8aG9zdG5hbWU+ICAgICAgc3BlY2lmeSBsb2dpbiBob3N0XG4iCittc2dzdHIgIiAtSCwgLS1ob3N0IDxtw6FxdWluYT4gICAgICAgZXNwZWNpZmljYSBtw6FxdWluYSBwcmEgaW7DrWNpbyBkZSBzZXNzw6NvXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMworbXNnaWQgIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICBkbyBub3QgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICBuw6NvIGV4aWJlIG8gYXJxdWl2byBpc3N1ZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjQKK21zZ2lkICIgLUksIC0taW5pdC1zdHJpbmcgPHN0cmluZz4gc2V0IGluaXQgc3RyaW5nXG4iCittc2dzdHIgIiAtSSwgLS1pbml0LXN0cmluZyA8dGV4dG8+ICBkZWZpbmUgbyB0ZXh0byBkZSBpbmljaWFsaXphw6fDo29cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI1Cittc2dpZCAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIGRvIG5vdCBjbGVhciB0aGUgc2NyZWVuIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIG7Do28gbGltcGEgYSB0ZWxhIGFudGVzIGRlIHBlcmd1bnRhclxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjYKK21zZ2lkICIgLWwsIC0tbG9naW4tcHJvZ3JhbSA8ZmlsZT4gc3BlY2lmeSBsb2dpbiBwcm9ncmFtXG4iCittc2dzdHIgIiIKKyIgLWwsIC0tbG9naW4tcHJvZ3JhbSA8YXJxdWl2bz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXNwZWNpZmljYSBvIHByb2dyYW1hIHVzYWRvIHBhcmEgaW5pY2lhciBzZXNzw6NvXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNworbXNnaWQgIiAtTCwgLS1sb2NhbC1saW5lWz08bW9kZT5dICBjb250cm9sIHRoZSBsb2NhbCBsaW5lIGZsYWdcbiIKK21zZ3N0ciAiIC1MLCAtLWxvY2FsLWxpbmVbPTxtb2RvPl0gIGNvbnRyb2xhIGEgb3DDp8OjbyBkZSBsaW5oYSBsb2NhbFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjgKK21zZ2lkICIgLW0sIC0tZXh0cmFjdC1iYXVkICAgICAgICAgZXh0cmFjdCBiYXVkIHJhdGUgZHVyaW5nIGNvbm5lY3RcbiIKK21zZ3N0ciAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhaSB0YXhhIGRlIHRyYW5zbWlzc8OjbyBkdXJhbnRlIGNvbmV4w6NvXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyOQorbXNnaWQgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBkbyBub3QgcHJvbXB0IGZvciBsb2dpblxuIgorbXNnc3RyICIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAgbsOjbyBwZXJndW50YSBwZWxvIG5vbWUgcGFyYSBpbmNpYXIgc2Vzc8Ojb1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzAKK21zZ2lkICIgLU4gIC0tbm9uZXdsaW5lICAgICAgICAgICAgZG8gbm90IHByaW50IGEgbmV3bGluZSBiZWZvcmUgaXNzdWVcbiIKK21zZ3N0ciAiIgorIiAtTiAgLS1ub25ld2xpbmUgICAgICAgICAgICBuw6NvIGFjcmVzY2VudGEgbm92YSBsaW5oYSBhbnRlcyBkYSBtZW5zYWdlbSBkb1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImlzc3VlXCJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMxCittc2dpZCAiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPG9wdHM+IG9wdGlvbnMgdGhhdCBhcmUgcGFzc2VkIHRvIGxvZ2luXG4iCittc2dzdHIgIiAtbywgLS1sb2dpbi1vcHRpb25zIDxvcHM+ICBvcMOnw7VlcyBxdWUgc8OjbyBwYXNzYWRhcyBhbyBpbmNpYXIgc2Vzc8Ojb1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzIKK21zZ2lkICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICBlc3BlcmEgcG9yIGFsZ3VtYSB0ZWNsYSBhbnRlcyBkZSBpbmljaWFyIHNlc3PDo29cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMzCittc2dpZCAiIC1yLCAtLWNocm9vdCA8ZGlyPiAgICAgICAgIGNoYW5nZSByb290IHRvIHRoZSBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1yLCAtLWNocm9vdCA8ZGlyPiAgICAgICAgIGFsdGVyYSBhIHJhaXogcGFyYSBvIGRpcmV0w7NyaW8gZGFkb1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzQKK21zZ2lkICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgZG8gdmlydHVhbGx5IGhhbmd1cCBvbiB0aGUgdHR5XG4iCittc2dzdHIgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICBmZWNoYSB2aXJ0dWFsbWVudGUgYSBzZXNzw6NvIG5vIHR0eVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzUKK21zZ2lkICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgdHJ5IHRvIGtlZXAgYmF1ZCByYXRlIGFmdGVyIGJyZWFrXG4iCittc2dzdHIgIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICB0ZW50YSBtYW50ZXIgYSB0YXhhIGRlIHRyYW5zbWlzc8OjbyBhcMOzcyBxdWVicmFcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM2Cittc2dpZCAiIC10LCAtLXRpbWVvdXQgPG51bWJlcj4gICAgIGxvZ2luIHByb2Nlc3MgdGltZW91dFxuIgorbXNnc3RyICIgLXQsIC0tdGltZW91dCA8bsO6bWVybz4gICAgIHRlbXBvIGxpbWl0ZSBkbyBwcm9jZXNzbyBkZSBpbsOtY2lvIGRlIHNlc3PDo29cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM3Cittc2dpZCAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKK21zZ3N0ciAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdGEgdGVybWluYWwgZW0gY2FpeGEgYWx0YVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzgKK21zZ2lkICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgd2FpdCBjYXJyaWFnZS1yZXR1cm5cbiIKK21zZ3N0ciAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIGVzcGVyYSBwZWxvIGNhcmFjdGVyZSBkZSByZXRvcm5vIGRlIGNhcnJvXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzOQorbXNnaWQgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBkbyBub3QgcHJpbnQgaGludHNcbiIKK21zZ3N0ciAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIG7Do28gbW9zdHJhIGRpY2FzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MAorbXNnaWQgIiAgICAgLS1ub2hvc3RuYW1lICAgICAgICAgICBubyBob3N0bmFtZSBhdCBhbGwgd2lsbCBiZSBzaG93blxuIgorbXNnc3RyICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAgbmVuaHVtYSBtw6FxdWluYSBzZXLDoSBtb3N0cmFkYVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDEKK21zZ2lkICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgc2hvdyBmdWxsIHF1YWxpZmllZCBob3N0bmFtZVxuIgorbXNnc3RyICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgbW9zdHJhIG8gbm9tZSBjb21wbGV0byBkYSBtw6FxdWluYVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDIKK21zZ2lkICIgICAgIC0tZXJhc2UtY2hhcnMgPHN0cmluZz4gYWRkaXRpb25hbCBiYWNrc3BhY2UgY2hhcnNcbiIKK21zZ3N0ciAiICAgICAtLWVyYXNlLWNoYXJzIDx0ZXh0bz4gIGNhcmFjdGVyZXMgYWRpY2lvbmFpcyBkZSBiYWNrc3BhY2VcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQzCittc2dpZCAiICAgICAtLWtpbGwtY2hhcnMgPHN0cmluZz4gIGFkZGl0aW9uYWwga2lsbCBjaGFyc1xuIgorbXNnc3RyICIgICAgIC0ta2lsbC1jaGFycyA8dGV4dG8+ICAgY2FyYWN0ZXJlcyBhZGljaW9uYWlzIGRlIGtpbGxcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ0Cittc2dpZCAiICAgICAtLWNoZGlyIDxkaXJlY3Rvcnk+ICAgIGNoZGlyIGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiICAgICAtLWNoZGlyIDxkaXJldMOzcmlvPiAgICBtdWRhIGRlIGRpcmV0w7NyaW8gYW50ZXMgZGUgZmF6ZXIgbG9naW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ1Cittc2dpZCAiICAgICAtLWRlbGF5IDxudW1iZXI+ICAgICAgIHNsZWVwIHNlY29uZHMgYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIgICAgIC0tZGVsYXkgPG7Dum1lcm8+ICAgICAgIHNlZ3VuZG9zIGRlIGF0cmFzbyBhbnRlcyBkZSBwZXJndW50YXJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ2Cittc2dpZCAiICAgICAtLW5pY2UgPG51bWJlcj4gICAgICAgIHJ1biBsb2dpbiB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiICAgICAtLW5pY2UgPG7Dum1lcm8+ICAgICAgICBleGVjdXRhIG8gbG9naW4gY29tIGVzc2EgcHJpb3JpZGFkZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDcKK21zZ2lkICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgcmVsb2FkIHByb21wdHMgb24gcnVubmluZyBhZ2V0dHkgaW5zdGFuY2VzXG4iCittc2dzdHIgIiAgICAgLS1yZWxvYWQgICAgICAgICAgICAgICByZWNhcnJlZ2EgcHJvbXB0cyBlbSBpbnN0w6JuY2lhcyBhZ2V0dHkgZW0gZXhlY3XDp8Ojb1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDgKK21zZ2lkICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAtLWhlbHAgICAgICAgICAgICAgICAgIG1vc3RyYSBlc3RhIGFqdWRhIGUgc2FpXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0OQorbXNnaWQgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgbW9zdHJhIGluZm9ybWHDp8OjbyBzb2JyZSBhIHZlcnPDo28gZSBzYWlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNDgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIHVzZXIiCittc2dpZF9wbHVyYWwgIiVkIHVzZXJzIgorbXNnc3RyWzBdICIlZCB1c3XDoXJpbyIKK21zZ3N0clsxXSAiJWQgdXN1w6FyaW9zIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2tuYW1lIGZhaWxlZDogJW0iCittc2dzdHIgImNoZWNrbmFtZSBmYWxob3U6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHRvdWNoIGZpbGUgJXMiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCB0b2NhciAoY3JpYXIpIG8gYXJxdWl2byAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjI1Cittc2dpZCAiLS1yZWxvYWQgaXMgdW5zdXBwb3J0ZWQgb24geW91ciBzeXN0ZW0iCittc2dzdHIgIm7Do28gaMOhIHN1cG9ydGUgYSAtLXJlbG9hZCBubyBzZXUgc2lzdGVtYSIKKworIzogdGVybS11dGlscy9tZXNnLmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbeSB8IG5dXG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIFtzIHwgbl1cbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6NzgKK21zZ2lkICJDb250cm9sIHdyaXRlIGFjY2VzcyBvZiBvdGhlciB1c2VycyB0byB5b3VyIHRlcm1pbmFsLlxuIgorbXNnc3RyICJDb250cm9sYSBhY2Vzc28gZGUgZXNjcml0YSBkZSBvdXRyb3MgdXN1w6FyaW9zIGEgc2V1IHRlcm1pbmFsLlxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo4MQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgZXhwbGljYSBvIHF1ZSBlc3TDoSBzZW5kbyBmZWl0b1xuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMjUKK21zZ2lkICJ0dHluYW1lIGZhaWxlZCIKK21zZ3N0ciAidHR5bmFtZSBmYWxob3UiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNAorbXNnaWQgImlzIHkiCittc2dzdHIgIsOpIHMiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNworbXNnaWQgImlzIG4iCittc2dzdHIgIsOpIG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE0OCB0ZXJtLXV0aWxzL21lc2cuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlICVzIG1vZGUgZmFpbGVkIgorbXNnc3RyICJhbHRlcmHDp8OjbyBkZSBtb2RvICVzIGZhbGhvdSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTUwCittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgYWxsb3dlZCIKK21zZ3N0ciAiYWNlc3NvIHBhcmEgZXNjcml0YSBhbyBzZXUgdGVybWluYWwgZXN0w6EgcGVybWl0aWRvIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNTcKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBkZW5pZWQiCittc2dzdHIgImFjZXNzbyBwYXJhIGVzY3JpdGEgYW8gc2V1IHRlcm1pbmFsIGVzdMOhIG5lZ2FkbyIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvOiAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZV1cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gW2FycXVpdm9dXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTYyCittc2dpZCAiTWFrZSBhIHR5cGVzY3JpcHQgb2YgYSB0ZXJtaW5hbCBzZXNzaW9uLlxuIgorbXNnc3RyICJDcmlhIHVtIHNjcmlwdC1ncmF2YWRvIGRlIHVtYSBzZXNzw6NvIGRlIHRlcm1pbmFsLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NQorbXNnaWQgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgYXBwZW5kIHRoZSBvdXRwdXRcbiIKKyIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gcnVuIGNvbW1hbmQgcmF0aGVyIHRoYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgcmV0dXJuIGV4aXQgY29kZSBvZiB0aGUgY2hpbGQgcHJvY2Vzc1xuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICBydW4gZmx1c2ggYWZ0ZXIgZWFjaCB3cml0ZVxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICB1c2Ugb3V0cHV0IGZpbGUgZXZlbiB3aGVuIGl0IGlzIGEgbGlua1xuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICBiZSBxdWlldFxuIgorIiAtdCwgLS10aW1pbmdbPTxmaWxlPl0gICBvdXRwdXQgdGltaW5nIGRhdGEgdG8gc3RkZXJyIChvciB0byBGSUxFKVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgIGFuZXhhIGEgc2HDrWRhXG4iCisiIC1jLCAtLWNvbW1hbmQgPGNvbWFuZG8+IGV4ZWN1dGEgY29tYW5kbyBhbyBpbnbDqXMgZGUgc2hlbGwgaW50ZXJhdGl2b1xuIgorIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICByZXRvcm5hIGPDs2RpZ28gZGUgc2HDrWRhIGRvIHByb2Nlc3NvIGZpbGhvXG4iCisiIC1mLCAtLWZsdXNoICAgICAgICAgICAgIGVzdmF6aWEgYXDDs3MgY2FkYSBncmF2YcOnw6NvXG4iCisiICAgICAtLWZvcmNlICAgICAgICAgICAgIHVzYSBhcnF1aXZvIGRlIHNhw61kYSBtZXNtbyBxdWFuZG8gZWxlIGZvciB1bSBsaW5rXG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHNlIG1hbnTDqW0gc2lsZW5jaW9zb1xuIgorIiAtdCwgLS10aW1pbmdbPTxhcnF1aXZvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgbW9zdHJhIGRhZG9zIGRlIHRlbXBvIHBhcmEgYSBzYcOtZGEgZGUgZXJybyAoc3RkZXJyKVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBvdSBwYXJhIEFSUVVJVk9cbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgbW9zdHJhIGluZm9ybWHDp8OjbyBzb2JyZSBhIHZlcnPDo28gZSBzYWlcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZXhpYmUgZXNzYSBhanVkYSBlIHNhaVxuIgorIlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisib3V0cHV0IGZpbGUgYCVzJyBpcyBhIGxpbmtcbiIKKyJVc2UgLS1mb3JjZSBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LlxuIgorIlByb2dyYW0gbm90IHN0YXJ0ZWQuIgorbXNnc3RyICIiCisiYXJxdWl2byBkZSBzYcOtZGEgXCIlc1wiIMOpIHVtIGxpbmtcbiIKKyJVc2UgLS1mb3JjZSBzZSB2b2PDqiByZWFsbWVudGUgZGVzZWphIHVzw6EtbG8uXG4iCisiUHJvZ3JhbWEgbsOjbyBpbmljaWFkby4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBkb25lLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIlNjcmlwdCBjb25jbHXDrWRvLCBvIGFycXVpdm8gw6kgJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyNjIKK21zZ2lkICJjYW5ub3Qgd3JpdGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBncmF2YXIgbm8gYXJxdWl2byBkZSBzY3JpcHQiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTZXNzw6NvIHRlcm1pbmFkYS5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXMiCittc2dzdHIgIlNjcmlwdCBpbmljaWFkbyBlbSAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNjcmlwdCBkb25lIG9uICVzIgorbXNnc3RyICIiCisiXG4iCisiU2NyaXB0IGNvbmNsdcOtZG8gZW0gJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjA3Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJmYWxoYSBhbyBvYnRlciBhdHJpYnV0b3MgZG8gdGVybWluYWwiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjE0Cittc2dpZCAib3BlbnB0eSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgZmFsaG91IgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjY1MgorbXNnaWQgIm91dCBvZiBwdHkncyIKK21zZ3N0ciAicHR5J3MgaW5zdWZpY2llbnRlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo3NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiU2NyaXB0IGluaWNpYWRvLCBvIGFycXVpdm8gw6kgJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy10XSB0aW1pbmdmaWxlIFt0eXBlc2NyaXB0XSBbZGl2aXNvcl1cbiIKK21zZ3N0ciAiICVzIFstdF0gYXJxdWl2by10ZW1wbyBbZGFkb3MtZGlnaXRhZG9zXSBbZGl2aXNvcl1cbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0NworbXNnaWQgIlBsYXkgYmFjayB0ZXJtaW5hbCB0eXBlc2NyaXB0cywgdXNpbmcgdGltaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJSZXByb2R1eiBkYWRvcyBkaWdpdGFkb3MgZG8gdGVybWluYWwsIHVzYW5kbyBpbmZvcm1hw6fDo28gZGUgdGVtcG8uXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NTAKK21zZ2lkICIiCisiIC10LCAtLXRpbWluZyA8ZmlsZT4gICAgIHNjcmlwdCB0aW1pbmcgb3V0cHV0IGZpbGVcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA8ZmlsZT4gc2NyaXB0IHRlcm1pbmFsIHNlc3Npb24gb3V0cHV0IGZpbGVcbiIKKyIgLWQsIC0tZGl2aXNvciA8bnVtPiAgICAgc3BlZWQgdXAgb3Igc2xvdyBkb3duIGV4ZWN1dGlvbiB3aXRoIHRpbWUgZGl2aXNvclxuIgorIiAtbSwgLS1tYXhkZWxheSA8bnVtPiAgICB3YWl0IGF0IG1vc3QgdGhpcyBtYW55IHNlY29uZHMgYmV0d2VlbiB1cGRhdGVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyIgLXQsIC0tdGltaW5nIDxhcnF1aXZvPiAgYXJxdWl2byBkZSBzYcOtZGEgZGUgdGVtcG8gZG8gc2NyaXB0XG4iCisiIC1zLCAtLXR5cGVzY3JpcHQgPGFycXVpdm8+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGFycXVpdm8gZGUgc2HDrWRhIGRhIHNlc3PDo28gZGUgdGVybWluYWwgZG8gc2NyaXB0XG4iCisiIC1kLCAtLWRpdmlzb3IgPG51bT4gICAgIGFjZWxlcmEgb3UgcmVkdXogYSBleGVjdcOnw6NvIGNvbSBkaXZpc29yIGRlIHRlbXBvXG4iCisiIC1tLCAtLW1heGRlbGF5IDxudW0+ICAgIGVzcGVyYSBhdMOpIGVzc2VzIG11aXRvcyBzZWd1bmRvcyBlbnRyZSBhdHVhbGl6YcOnw6NvXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG1vc3RyYSBpbmZvcm1hw6fDo28gZGEgdmVyc8OjbyBlIHNhaVxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBleGliZSBlc3RhIGFqdWRhIGUgc2FpXG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTEyCittc2dpZCAid3JpdGUgdG8gc3Rkb3V0IGZhaWxlZCIKK21zZ3N0ciAiZ3JhdmHDp8OjbyBwYXJhIGEgc2HDrWRhIHBhZHLDo28gZmFsaG91IgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIG9uICVzIgorbXNnc3RyICJmaW0gZGUgYXJxdWl2byBpbmVzcGVyYWRvIGVtICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0eXBlc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgImZhbGhhIGFvIGxlciBvIGFycXVpdm8gZGUgZGFkb3MgZ3JhdmFkb3MgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTg0Cittc2dpZCAid3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAibsO6bWVybyBpbmNvcnJldG8gZGUgYXJndW1lbnRvcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGltaW5nIGZpbGUgJXMiCittc2dzdHIgImZhbGhhIGFvIGxlciBkbyBhcnF1aXZvIGRlIHRlbXBvICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1pbmcgZmlsZSAlczogbGluZSAlbHU6IHVuZXhwZWN0ZWQgZm9ybWF0IgorbXNnc3RyICJhcnF1aXZvIGRlIHRlbXBvcyAlczogbGluaGEgJWx1OiBmb3JtYXRvIGluZXNwZXJhZG8iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJhcmd1bWVudCBlcnJvcjogYnJpZ2h0ICVzIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgImVycm8gZGUgYXJndW1lbnRvOiBzZW0gc3Vwb3J0ZSBhbyBicmlsaG8gJXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyOAorbXNnaWQgInRvbyBtYW55IHRhYnMiCittc2dzdHIgIm7Dum1lcm8gZXhjZXNzaXZvIGRlIHRhYnVsYcOnw7VlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzgzCittc2dpZCAiU2V0IHRoZSBhdHRyaWJ1dGVzIG9mIGEgdGVybWluYWwuXG4iCittc2dzdHIgIkRlZmluZSBvcyBhdHJpYnV0b3MgZGUgdW0gdGVybWluYWwuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NgorbXNnaWQgIiAtLXRlcm0gICAgICAgICAgPHRlcm1pbmFsX25hbWU+ICAgb3ZlcnJpZGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIgLS10ZXJtICAgICAgICAgIDxub21lLXRlcm1pbmFsPiAgIHNvYnJlc2NyZXZlIHZhcmnDoXZlbCBkZSBhbWJpZW50ZSBURVJNXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NworbXNnaWQgIiAtLXJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXQgdGVybWluYWwgdG8gcG93ZXItb24gc3RhdGVcbiIKK21zZ3N0ciAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICByZWluaWNpYSBvIHRlcm1pbmFsIHBhcmEgbyBlc3RhZG8gbGlnYWRvXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OAorbXNnaWQgIiAtLWluaXRpYWxpemUgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBpbml0IHN0cmluZywgYW5kIHVzZSBkZWZhdWx0IHNldHRpbmdzXG4iCittc2dzdHIgIiAtLWluaXRpYWxpemUgICAgICAgICAgICAgICAgICAgICAgZXhpYmUgc3RyaW5nIGluaWNpYWwgZSB1c2EgY29uZnMgcGFkcsO1ZXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg5Cittc2dpZCAiIC0tZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgZGVmYXVsdCB0ZXJtaW5hbCBzZXR0aW5nc1xuIgorbXNnc3RyICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHVzYSBjb25maWd1cmHDp8O1ZXMgcGFkcsOjbyBkZSB0ZXJtaW5hbFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTAKK21zZ2lkICIgLS1zdG9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhdmUgY3VycmVudCB0ZXJtaW5hbCBzZXR0aW5ncyBhcyBkZWZhdWx0XG4iCittc2dzdHIgIiAtLXN0b3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FsdmEgY29uZnMgZGUgdGVybWluYWwgYXR1YWwgY29tbyBwYWRyw6NvXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MQorbXNnaWQgIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAgZGlzcGxheSBjdXJzb3JcbiIKK21zZ3N0ciAiIC0tY3Vyc29yICAgICAgICBbb258b2ZmXSAgICAgICAgICBleGliZSBvIGN1cnNvclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTIKK21zZ2lkICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGtleWJvYXJkIHJlcGVhdFxuIgorbXNnc3RyICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHJlcGV0acOnw6NvIGRlIHRlY2xhZG9cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkzCittc2dpZCAiIC0tYXBwY3Vyc29ya2V5cyBbb258b2ZmXSAgICAgICAgICBjdXJzb3Iga2V5IGFwcGxpY2F0aW9uIG1vZGVcbiIKK21zZ3N0ciAiIC0tYXBwY3Vyc29ya2V5cyBbb258b2ZmXSAgICAgICAgICBtb2RvIGRlIGFwbGljYcOnw6NvIGRlIHRlY2xhIGRlIGN1cnNvclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTQKK21zZ2lkICIgLS1saW5ld3JhcCAgICAgIFtvbnxvZmZdICAgICAgICAgIGNvbnRpbnVlIG9uIGEgbmV3IGxpbmUgd2hlbiBhIGxpbmUgaXMgZnVsbFxuIgorbXNnc3RyICIiCisiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBjb250aW51YSBlbSB1bWEgbm92YSBsaW5oYSBxdWFuZG8gYSBsaW5oYVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXN0aXZlciBjaGVpYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTUKK21zZ2lkICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIHN3YXAgY29sb3JzIGZvciB0aGUgd2hvbGUgc2NyZWVuXG4iCittc2dzdHIgIiAtLWludmVyc2VzY3JlZW4gW29ufG9mZl0gICAgICAgICAgdHJvY2EgY29yZXMgcGFyYSBhIHRlbGEgaW50ZWlyYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTYKK21zZ2lkICIgLS1mb3JlZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBmb3JlZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiAtLWZvcmVncm91bmQgICAgZGVmYXVsdHw8Y29yPiAgICAgZGVmaW5lIGEgY29yIGRlIHRleHRvXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NworbXNnaWQgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGJhY2tncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIC0tYmFja2dyb3VuZCAgICBkZWZhdWx0fDxjb3I+ICAgICBkZWZpbmUgYSBjb3JlIGRlIGZ1bmRvXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OAorbXNnaWQgIiAtLXVsY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IHVuZGVybGluZWQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxjb3I+ICAgIGRlZmluZSBjb3IgZGUgdGV4dG8gc3VibGluaGFkb1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTkKK21zZ2lkICIgLS1oYmNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCBib2xkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29yPiAgICBkZWZpbmUgYSBjb3IgZGUgdGV4dG8gZW0gbmVncml0b1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDAKK21zZ2lkICIgICAgICAgICAgICAgICAgIDxjb2xvcj46IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgIDxjb2xvcj46IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDEKK21zZ2lkICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJvbGRcbiIKK21zZ3N0ciAiIC0tYm9sZCAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBuZWdyaXRvXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMgorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgcGlzY2FyXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMworbXNnaWQgIiAtLWJsaW5rICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYmxpbmtcbiIKK21zZ3N0ciAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBwaXNjYXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA0Cittc2dpZCAiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICB1bmRlcmxpbmVcbiIKK21zZ3N0ciAiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICBzdWJsaW5oYWRvXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNQorbXNnaWQgIiAtLXJldmVyc2UgICAgICAgW29ufG9mZl0gICAgICAgICAgc3dhcCBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9yc1xuIgorbXNnc3RyICIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgIHRyb2NhIGFzIGNvcmVzIGRlIGZyZW50ZSBlIGZ1bmRvXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNgorbXNnaWQgIiAtLWNsZWFyICAgICAgICAgW2FsbHxyZXN0XSAgICAgICAgY2xlYXIgc2NyZWVuIGFuZCBzZXQgY3Vyc29yIHBvc2l0aW9uXG4iCittc2dzdHIgIiAtLWNsZWFyICAgICAgICAgW2FsbHxyZXN0XSAgICAgICAgbGltcGEgYSB0ZWxhIGUgZGVmaW5lIGEgcG9zacOnw6NvIGRvIGN1cnNvclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDcKK21zZ2lkICIgLS10YWJzICAgICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIHNldCB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIHNob3cgdGhlbVxuIgorbXNnc3RyICIiCisiIC0tdGFicyAgICAgICAgICBbPG7Dum1lcm8+Li4uXSAgICAgZGVmaW5lIHBvc2nDp8OjbyBkZSBwYXJhZGEgZGVzc2FzIHRhYnVsYcOnw7Vlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91IG1vc3RyYS1hc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDgKK21zZ2lkICIgLS1jbHJ0YWJzICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIGNsZWFyIHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3IgYWxsXG4iCittc2dzdHIgIiIKKyIgLS1jbHJ0YWJzICAgICAgIFs8bsO6bWVybz4uLi5dICAgICBkZWZpbmUgZXNzYXMgcG9zacOnw7VlcyBkZSBwYXJhZGEgZGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJ1bGHDp8OjbyBvdSBtb3N0cmEtYXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA5Cittc2dpZCAiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICBzZXQgYSByZWd1bGFyIHRhYiBzdG9wIGludGVydmFsXG4iCittc2dzdHIgIiIKKyIgLS1yZWd0YWJzICAgICAgIFsxLTE2MF0gICAgICAgICAgIGRlZmluZSB1bSBpbnRlcnZhbG8gZGUgcGFyYWRhIGRlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFidWxhw6fDtWVzIHJlZ3VsYXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEwCittc2dpZCAiIC0tYmxhbmsgICAgICAgICBbMC02MHxmb3JjZXxwb2tlXSBzZXQgdGltZSBvZiBpbmFjdGl2aXR5IGJlZm9yZSBzY3JlZW4gYmxhbmtzXG4iCittc2dzdHIgIiIKKyIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIGRlZmluZSB0ZW1wbyBkZSBpbmF0aXZpZGFkZSBhbnRlcyBkZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbXBhciBhIHRlbGFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDExCittc2dpZCAiIC0tZHVtcCAgICAgICAgICBbPG51bWJlcj5dICAgICAgICB3cml0ZSB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIgorIiAtLWR1bXAgICAgICAgICAgWzxuw7ptZXJvPl0gICAgICAgIGVzY3JldmUgZGVzcGVqbyBkbyBjb25zb2xlIHZjc2E8bsO6bWVybz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhIHVtIGFycXVpdm9cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEyCittc2dpZCAiIC0tYXBwZW5kICAgICAgICBbPG51bWJlcj5dICAgICAgICBhcHBlbmQgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiIKKyIgLS1hcHBlbmQgICAgICAgIFs8bsO6bWVybz5dICAgICAgICBhbmV4YSBkZXNwZWpvIGRvIGNvbnNvbGUgdmNzYTxuw7ptZXJvPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmEgdW0gYXJxdWl2b1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTMKK21zZ2lkICIgLS1maWxlICAgICAgICAgIDxmaWxlbmFtZT4gICAgICAgIG5hbWUgb2YgdGhlIGR1bXAgZmlsZVxuIgorbXNnc3RyICIgLS1maWxlICAgICAgICAgIDxhcnF1aXZvPiAgICAgICAgbm9tZSBkbyBhcnF1aXZvIGRlIGRlc3Blam9cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE0Cittc2dpZCAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBzZW5kIGtlcm5lbCBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtLW1zZyAgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgZW52aWEgbWVuc2FnZW5zIGRvIGtlcm5lbCBwYXJhIG8gY29uc29sZVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTUKK21zZ2lkICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIGtlcm5lbCBjb25zb2xlIGxvZyBsZXZlbFxuIgorbXNnc3RyICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIG7DrXZlbCBkZSBsb2cgZGUgY29uc29sZSBkZSBrZXJuZWxcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE2Cittc2dpZCAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKK21zZ3N0ciAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE3Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQgdmVzYSBwb3dlcnNhdmluZyBmZWF0dXJlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZSByZWN1cnNvcyBkZSBlY29ub21pYSBkZSBlbmVyZ2lhIHZlc2FcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE4Cittc2dpZCAiIC0tcG93ZXJkb3duICAgICBbMC02MF0gICAgICAgICAgICBzZXQgdmVzYSBwb3dlcmRvd24gaW50ZXJ2YWwgaW4gbWludXRlc1xuIgorbXNnc3RyICIiCisiIC0tcG93ZXJkb3duICAgICBbMC02MF0gICAgICAgICAgICBkZWZpbmUgbyBpbnRlcnZhbG8gZGUgZGVzbGlnYW1lbnRvIHZlc2FcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbSBtaW51dG9zXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxOQorbXNnaWQgIiAtLWJsZW5ndGggICAgICAgWzAtMjAwMF0gICAgICAgICAgZHVyYXRpb24gb2YgdGhlIGJlbGwgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiAtLWJsZW5ndGggICAgICAgWzAtMjAwMF0gICAgICAgICAgZHVyYcOnw6NvIGRvIGFwaXRvIGVtIG1pbGlzc2VndW5kb3NcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIwCittc2dpZCAiIC0tYmZyZXEgICAgICAgICA8bnVtYmVyPiAgICAgICAgICBiZWxsIGZyZXF1ZW5jeSBpbiBIZXJ0elxuIgorbXNnc3RyICIgLS1iZnJlcSAgICAgICAgIDxuw7ptZXJvPiAgICAgICAgICBmcmVxdcOqbmNpYSBkZSBhcGl0byBlbSBIZXJ0elxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjEKK21zZ2lkICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIHNob3cgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIG1vc3RyYSBpbmZvcm1hw6fDo28gc29icmUgYSB2ZXJzw6NvIGUgc2FpXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMgorbXNnaWQgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3N0cmEgZXN0YSBhanVkYSBlIHNhaVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MzAKK21zZ2lkICJkdXBsaWNhdGUgdXNlIG9mIGFuIG9wdGlvbiIKK21zZ3N0ciAidXNvIGR1cGxpY2FkbyBkZSB1bWEgb3DDp8OjbyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzM0Cittc2dpZCAiY2Fubm90IGZvcmNlIGJsYW5rIgorbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBmb3LDp2FyIHZhemlvIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MzkKK21zZ2lkICJjYW5ub3QgZm9yY2UgdW5ibGFuayIKK21zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgZm9yw6dhciBuw6NvIHZhemlvIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NDUKK21zZ2lkICJjYW5ub3QgZ2V0IGJsYW5rIHN0YXR1cyIKK21zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgb2J0ZXIgc3RhdHVzIHZhemlvIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuIG5vdCBvcGVuIGR1bXAgZmlsZSAlcyBmb3Igb3V0cHV0IgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgbyBhcnF1aXZvIGRlIGRlc3Blam8gJXMgcGFyYSBzYcOtZGEiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjgxMworIywgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCAlcyBkb2VzIG5vdCBzdXBwb3J0ICVzIgorbXNnc3RyICJ0ZXJtaW5hbCAlcyBuw6NvIG9mZXJlY2Ugc3Vwb3J0ZSBhICVzIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo5ODgKK21zZ2lkICJjYW5ub3QgKHVuKXNldCBwb3dlcnNhdmUgbW9kZSIKK21zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgYWx0ZXJhciBvIGVzdGFkbyBkbyBtb2RvIGRlIGNvbnNlcnZhw6fDo28gZGUgZW5lcmdpYSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTAwNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDE2Cittc2dpZCAia2xvZ2N0bCBlcnJvciIKK21zZ3N0ciAiZXJybyBubyBrbG9nY3RsIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDM3Cittc2dpZCAiJFRFUk0gaXMgbm90IGRlZmluZWQuIgorbXNnc3RyICIkVEVSTSBuw6NvIGVzdMOhIGRlZmluaWRhLiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0NAorbXNnaWQgInRlcm1pbmZvIGRhdGFiYXNlIGNhbm5vdCBiZSBmb3VuZCIKK21zZ3N0ciAiTyBiYW5jbyBkZSBkYWRvcyBkZSB0ZXJtaW5mbyBuw6NvIHDDtGRlIHNlciBsb2NhbGl6YWRvIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIHRlcm1pbmFsIHR5cGUiCittc2dzdHIgIiVzOiB0aXBvIGRlIHRlcm1pbmFsIGRlc2NvbmhlY2lkbyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0OAorbXNnaWQgInRlcm1pbmFsIGlzIGhhcmRjb3B5IgorbXNnc3RyICJvIHRlcm1pbmFsIMOpIHVtIFwiaGFyZC1jb3B5XCIiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHRvbyBtYW55IGlvdidzIgorbXNnc3RyICJlcnJvIGludGVybm86IGlvdidzIGVtIGV4Y2Vzc28iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhjZXNzaXZlbHkgbG9uZyBsaW5lIGFyZyIKK21zZ3N0ciAibGluaGEgZGUgYXJndW1lbnRvcyBsb25nYSBkZW1haXMiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZW4gZmFpbGVkIgorbXNnc3RyICJhYmVydHVyYSBmYWxob3UiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcms6ICVtIgorbXNnc3RyICJmb3JrOiAlbSIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZvcmsiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCByZWFsaXphciBmb3JrIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkFEIEVSUk9SLCBtZXNzYWdlIGlzIGZhciB0b28gbG9uZyIKK21zZ3N0ciAiJXM6IEVSUk8gUlVJTSwgbWVuc2FnZW0gw6kgbG9uZ2EgZGVtYWlzIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gfCA8bWVzc2FnZT5dXG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIFs8YXJxdWl2bz4gfCA8bWVuc2FnZW0+XVxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4NgorbXNnaWQgIldyaXRlIGEgbWVzc2FnZSB0byBhbGwgdXNlcnMuXG4iCittc2dzdHIgIkVzY3JldmUgdW1hIG1lbnNhZ2VtIHBhcmEgdG9kb3Mgb3MgdXN1w6FyaW9zLlxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4OQorbXNnaWQgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBkbyBub3QgcHJpbnQgYmFubmVyLCB3b3JrcyBvbmx5IGZvciByb290XG4iCittc2dzdHIgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBuw6NvIG1vc3RyYSBvIGJhbm5lciwgZnVuY2lvbmEgYXBlbmFzIHBhcmEgcm9vdFxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5MAorbXNnaWQgIiAtdCwgLS10aW1lb3V0IDx0aW1lb3V0PiB3cml0ZSB0aW1lb3V0IGluIHNlY29uZHNcbiIKK21zZ3N0ciAiIgorIiAtdCwgLS10aW1lb3V0IDx0ZW1wby1saW1pdGU+IFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBlc2NyZXZlIG8gdGVtcG8gbGltaXRlIGVtIHNlZ3VuZG9zXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEzMgorbXNnaWQgIi0tbm9iYW5uZXIgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIHJvb3QiCittc2dzdHIgIi0tbm9iYW5uZXIgZXN0w6EgZGlzcG9uw612ZWwgYXBlbmFzIHBhcmEgbyByb290IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBkZSB0ZW1wbyBsaW1pdGU6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyNjkKK21zZ2lkICJjYW5ub3QgZ2V0IHBhc3N3ZCB1aWQiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBvYnRlciBvIHVpZCBkZSBwYXNzd2QiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjI3NAorbXNnaWQgImNhbm5vdCBnZXQgdHR5IG5hbWUiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBvYnRlciBvIG5vbWUgZG8gdHR5IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnJvYWRjYXN0IG1lc3NhZ2UgZnJvbSAlc0AlcyAoJXMpICglcyk6IgorbXNnc3RyICJNZW5zYWdlbSBkZSBicm9hZGNhc3QgZGUgJXNAJXMgKCVzKSAoJXMpOiIKKworIzogdGVybS11dGlscy93YWxsLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IHJlYWQgJXMgLSB1c2Ugc3RkaW4uIgorbXNnc3RyICJuw6NvIHNlcsOhIHBvc3PDrXZlbCBsZXIgJXMgLSB1c2UgYSBlbnRyYWRhIHBhZHLDo28uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXNlcj4gWzx0dHluYW1lPl1cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gPHVzdcOhcmlvPiBbPG5vbWUtdHR5Pl1cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjkwCittc2dpZCAiU2VuZCBhIG1lc3NhZ2UgdG8gYW5vdGhlciB1c2VyLlxuIgorbXNnc3RyICJFbnZpYSB1bWEgbWVuc2FnZW0gcGFyYSBvdXRybyB1c3XDoXJpby5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICJlZmZlY3RpdmUgZ2lkIGRvZXMgbm90IG1hdGNoIGdyb3VwIG9mICVzIgorbXNnc3RyICJnaWQgZWZldGl2byBuw6NvIGNvcnJlc3BvbmRlIGFvIGdydXBvIGRlICVzIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4iCittc2dzdHIgIiVzIG7Do28gZXN0w6EgY29uZWN0YWRvIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjA3Cittc2dpZCAiY2FuJ3QgZmluZCB5b3VyIHR0eSdzIG5hbWUiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBsb2NhbGl6YXIgbyBub21lIGRlIHNldSB0dHkiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIgorbXNnc3RyICIlcyBlc3TDoSBjb20gbWVuc2FnZW5zIGRlc2F0aXZhZGFzIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGxvZ2dlZCBpbiBtb3JlIHRoYW4gb25jZTsgd3JpdGluZyB0byAlcyIKK21zZ3N0ciAiJXMgZXN0w6EgY29uZWN0YWRvIG1haXMgZGUgdW1hIHZlejsgZXNjcmV2ZW5kbyBwYXJhICVzIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjM4Cittc2dpZCAiY2FyZWZ1bHB1dGMgZmFpbGVkIgorbXNnc3RyICJjYXJlZnVscHV0YyBmYWxob3UiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIChhcyAlcykgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiTWVuc2FnZW0gZGUgJXNAJXMgKGNvbW8gJXMpIGVtICVzIGVtICUwMmQ6JTAyZCAuLi4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIk1lbnNhZ2VtIGRlICVzQCVzIGVtICVzIGVtICUwMmQ6JTAyZCAuLi4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozMzEKK21zZ2lkICJ5b3UgaGF2ZSB3cml0ZSBwZXJtaXNzaW9uIHR1cm5lZCBvZmYiCittc2dzdHIgInZvY8OqIG7Do28gZXN0w6EgY29tIHBlcm1pc3PDtWVzIGRlc2F0aXZhZGFzIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4gb24gJXMiCittc2dzdHIgIiVzIG7Do28gZXN0w6EgY29uZWN0YWRvIGVtICVzIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCBvbiAlcyIKK21zZ3N0ciAiJXMgZXN0w6EgY29tIG1lbnNhZ2VucyBkZXNhYmlsaXRhZGFzIGVtICVzIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzNAorbXNnaWQgIkZpbHRlciBvdXQgcmV2ZXJzZSBsaW5lIGZlZWRzLlxuIgorbXNnc3RyICJGaWx0cmEgc2FsdG9zIGRlIGxpbmhhIHJldmVyc29zLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWIsIC0tbm8tYmFja3NwYWNlcyAgICBkbyBub3Qgb3V0cHV0IGJhY2tzcGFjZXNcbiIKKyIgLWYsIC0tZmluZSAgICAgICAgICAgICBwZXJtaXQgZm9yd2FyZCBoYWxmIGxpbmUgZmVlZHNcbiIKKyIgLXAsIC0tcGFzcyAgICAgICAgICAgICBwYXNzIHVua25vd24gY29udHJvbCBzZXF1ZW5jZXNcbiIKKyIgLWgsIC0tdGFicyAgICAgICAgICAgICBjb252ZXJ0IHNwYWNlcyB0byB0YWJzXG4iCisiIC14LCAtLXNwYWNlcyAgICAgICAgICAgY29udmVydCB0YWJzIHRvIHNwYWNlc1xuIgorIiAtbCwgLS1saW5lcyBOVU0gICAgICAgIGJ1ZmZlciBhdCBsZWFzdCBOVU0gbGluZXNcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtSCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcMOnw7VlczpcbiIKKyIgLWIsIC0tbm8tYmFja3NwYWNlcyAgICBuw6NvIG1vc3RyYSBiYWNrc3BhY2VzXG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAgcGVybWl0ZSBhdmFuw6dvIGRlIG1ldGFkZSBkYXMgbGluaGFzXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAgcGFzc2Egc2VxdcOqbmNpYSBkZSBjb250cm9sZSBkZXNjb25oZWNpZGFcbiIKKyIgLWgsIC0tdGFicyAgICAgICAgICAgICBjb252ZXJ0ZSBlc3Bhw6dvcyBwYXJhIHRhYnNcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICBjb252ZXJ0ZSB0YWJ1bGHDp8O1ZXMgcGFyYSBlc3Bhw6dvc1xuIgorIiAtbCwgLS1saW5lcyBOw5pNICAgICAgICBhcm1hemVuYSBwZWxvIG1lbm9zIE7Dmk0gbGluaGFzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgbW9zdHJhIGluZm9ybWHDp8OjbyBkYSB2ZXJzw6NvIGUgc2FpXG4iCisiIC1ILCAtLWhlbHAgICAgICAgICAgICAgeGliZSBlc3NhIGFqdWRhIGUgc2FpXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTQ4IHRleHQtdXRpbHMvY29scm0uYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXMgcmVhZHMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dFxuIgorIlxuIgorbXNnc3RyICIiCisiJXMgbMOqIGRhIGVudHJhZGEgcGFkcsOjbyBlIGVzY3JldmUgcGFyYSBhIHNhw61kYSBwYWRyw6NvXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MjEyCittc2dpZCAiYmFkIC1sIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIC1sIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW4ndCBiYWNrIHVwICVzLiIKK21zZ3N0ciAiYXZpc286IG7Do28gw6kgcG9zc8OtdmVsIGZhemVyIGPDs3BpYSBkZSBzZWd1cmFuw6dhIGRlICVzLiIKKworIzogdGV4dC11dGlscy9jb2wuYzozMzcKK21zZ2lkICJwYXN0IGZpcnN0IGxpbmUiCittc2dzdHIgImFsw6ltIGRhIHByaW1laXJhIGxpbmhhIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjMzNworbXNnaWQgIi0tIGxpbmUgYWxyZWFkeSBmbHVzaGVkIgorbXNnc3RyICItLSBsaW5oYSBqw6EgZGVzY2FycmVnYWRhIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjgxIHRleHQtdXRpbHMvY29sdW1uLmM6MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gWzxhcnF1aXZvPi4uLl1cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NAorbXNnaWQgIkZpbHRlciBucm9mZiBvdXRwdXQgZm9yIENSVCBwcmV2aWV3aW5nLlxuIgorbXNnc3RyICJGaWx0cmEgc2HDrWRhIGRlIG5yb2ZmIHBhcmEgdmlzdWFsaXphw6fDo28gZW0gQ1JULlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg3Cittc2dpZCAiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIHN1cHByZXNzIGFsbCB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgICAgc3VwcmltZSB0b2RvcyBvcyBzdWJsaW5oYWRvc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg4Cittc2dpZCAiIC0yLCAtLWhhbGYtbGluZXMgICAgICAgIHByaW50IGFsbCBoYWxmLWxpbmVzXG4iCittc2dzdHIgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBleGliZSB0b2RhcyBhcyBzZW1pLWxpbmhhc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbc3RhcnRjb2wgW2VuZGNvbF1dXG4iCittc2dzdHIgIiIKKyJcbiIKKyJVc286XG4iCisiICVzIFtjb2wtaW5pY2lhbCBbY29sLWZpbmFsXV1cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjY0Cittc2dpZCAiRmlsdGVyIG91dCB0aGUgc3BlY2lmaWVkIGNvbHVtbnMuXG4iCittc2dzdHIgIkZpbHRyYSBhcyBjb2x1bmFzIGVzcGVjaWZpY2FkYXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODUKK21zZ2lkICJmaXJzdCBhcmd1bWVudCIKK21zZ3N0ciAicHJpbWVpcm8gYXJndW1lbnRvIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg3Cittc2dpZCAic2Vjb25kIGFyZ3VtZW50IgorbXNnc3RyICJzZWd1bmRvIGFyZ3VtZW50byIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjAKK21zZ2lkICJDb2x1bW5hdGUgbGlzdHMuXG4iCittc2dzdHIgIkxpc3RhcyBkZSBjb2x1bmFzLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyMworbXNnaWQgIiAtYywgLS1jb2x1bW5zIDx3aWR0aD4gICAgd2lkdGggb2Ygb3V0cHV0IGluIG51bWJlciBvZiBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAtYywgLS1jb2x1bW5zIDxsYXJndXJhPiAgbGFyZ3VyYSBkYSBzYcOtZGEgZW0gbsO6bWVybyBkZSBjYXJhY3RlcmVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI0Cittc2dpZCAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICBjcmVhdGUgYSB0YWJsZVxuIgorbXNnc3RyICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgIGNyaWEgdW1hIHRhYmVsYVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyNQorbXNnaWQgIiAtcywgLS1zZXBhcmF0b3IgPHN0cmluZz4gcG9zc2libGUgdGFibGUgZGVsaW1pdGVyc1xuIgorbXNnc3RyICIgLXMsIC0tc2VwYXJhdG9yIDx0ZXh0bz4gIGRlbGltaXRhZG9yZXMgZGUgdGFiZWxhIHBvc3PDrXZlaXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjYKK21zZ2lkICIiCisiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0cmluZz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnMgc2VwYXJhdG9yIGZvciB0YWJsZSBvdXRwdXQ7IGRlZmF1bHQgaXMgdHdvIHNwYWNlc1xuIgorbXNnc3RyICIiCisiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHRleHRvPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgc2VwYXJhZG9yIGRlIGNvbHVuYXMgcGFyYSBzYcOtZGEgZGUgdGFiZWxhO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgbyBwYWRyw6NvIMOpIGRvaXMgZXNwYcOnb3NcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjgKK21zZ2lkICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgIGZpbGwgcm93cyBiZWZvcmUgY29sdW1uc1xuIgorbXNnc3RyICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgIHByZWVuY2hlIGxpbmhhcyBhbnRlcyBkZSBjb2x1bmFzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTgyCittc2dpZCAiaW52YWxpZCBjb2x1bW5zIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIGNvbHVuYXMiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDIyCisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQgaXMgdG9vIGxvbmcsIG91dHB1dCB3aWxsIGJlIHRydW5jYXRlZCIKK21zZ3N0ciAibGluaGEgJWQgw6kgbG9uZ2EgZGVtYWlzOyBhIHNhw61kYSBzYWlyw6EgdHJ1bmNhZGEiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1NSB0ZXh0LXV0aWxzL21vcmUuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gPGFycXVpdm8+Li4uXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1OAorbXNnaWQgIkRpc3BsYXkgZmlsZSBjb250ZW50cyBpbiBoZXhhZGVjaW1hbCwgZGVjaW1hbCwgb2N0YWwsIG9yIGFzY2lpLlxuIgorbXNnc3RyICJFeGliZSBjb250ZcO6ZG9zIGRlIGFycXVpdm8gZW0gaGV4YWRlY2ltYWwsIGRlY2ltYWwsIG9jdGFsIG91IEFTQ0lJLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjEKK21zZ2lkICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiAtYiwgLS1vbmUtYnl0ZS1vY3RhbCAgICAgIHZpc3VhbGl6YcOnw6NvIG9jdGFsIGRlIHVtIGJ5dGVcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYyCittc2dpZCAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgb25lLWJ5dGUgY2hhcmFjdGVyIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgdmlzdWFsaXphw6fDo28gZGUgY2FyYWN0ZXJlIGRlIHVtIGJ5dGVcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYzCittc2dpZCAiIC1DLCAtLWNhbm9uaWNhbCAgICAgICAgICAgY2Fub25pY2FsIGhleCtBU0NJSSBkaXNwbGF5XG4iCittc2dzdHIgIiAtQywgLS1jYW5vbmljYWwgICAgICAgICAgIHZpc3VhbGl6YcOnw6NvIGRlIGhleCtBU0NJSSBjYW7DtG5pY29cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY0Cittc2dpZCAiIC1kLCAtLXR3by1ieXRlcy1kZWNpbWFsICAgdHdvLWJ5dGUgZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiAtZCwgLS10d28tYnl0ZXMtZGVjaW1hbCAgIHZpc3VhbGl6YcOnw6NvIGRlIGRlY2ltYWwgZGUgZG9pcyBieXRlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjUKK21zZ2lkICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICB0d28tYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIHZpc3VhbGl6YcOnw6NvIGRlIG9jdGFsIGRlIGRvaXMgYnl0ZXNcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY2Cittc2dpZCAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIgLXgsIC0tdHdvLWJ5dGVzLWhleCAgICAgICB2aXN1YWxpemHDp8OjbyBkZSBoZXhhZGVjaW1hbCBkZSBkb2lzIGJ5dGVzXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NworbXNnaWQgIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHJldCBjb2xvciBmb3JtYXR0aW5nIHNwZWNpZmllcnNcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08bW9kbz5dICAgICAgaW50ZXJwcmV0YSBlc3BlY2lmaWNhZG9yZXMgZGUgZm9ybWF0YcOnw6NvIGRlIGNvclxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzAKK21zZ2lkICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIgorbXNnc3RyICIgLWUsIC0tZm9ybWF0IDxmb3JtYXRvPiAgICB0ZXh0byBkZSBmb3JtYXRvIGEgc2VyIHVzYWRvIHBhcmEgZXhpYmlyIGRhZG9zXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MQorbXNnaWQgIiAtZiwgLS1mb3JtYXQtZmlsZSA8ZmlsZT4gIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorbXNnc3RyICIiCisiIC1mLCAtLWZvcm1hdC1maWxlIDxhcnF1aXZvPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycXVpdm8gcXVlIGNvbnTDqW0gdGV4dG9zIGRlIGZvcm1hdG9zXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MgorbXNnaWQgIiAtbiwgLS1sZW5ndGggPGxlbmd0aD4gICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorbXNnc3RyICIgLW4sIC0tbGVuZ3RoIDxuw7ptPiAgICAgICAgaW50ZXJwcmV0YSBhcGVuYXMgbsO6bS4gYnl0ZXMgZGUgZW50cmFkYVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzMKK21zZ2lkICIgLXMsIC0tc2tpcCA8b2Zmc2V0PiAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKK21zZ3N0ciAiIC1zLCAtLXNraXAgPG7Dum0+ICAgICAgICAgIGlnbm9yYSBuw7ptIGJ5dGVzIGEgcGFydGlyIGRvIGluw61jaW9cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTc0Cittc2dpZCAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgb3V0cHV0IGlkZW50aWNhbCBsaW5lc1xuIgorbXNnc3RyICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICBtb3N0cmEgbGluaGFzIGlkw6pudGljYXNcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLWRpc3BsYXkuYzozNjUKK21zZ2lkICJhbGwgaW5wdXQgZmlsZSBhcmd1bWVudHMgZmFpbGVkIgorbXNnc3RyICJ0b2RvcyBvcyBhcmd1bWVudG9zIGRlIGFycXVpdm8gZGUgZW50cmFkYSBmYWxoYXJhbSIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGJ5dGUgY291bnQgZm9yIGNvbnZlcnNpb24gY2hhcmFjdGVyICVzIgorbXNnc3RyICJjb250YWdlbSBkZSBieXRlcyBpbnbDoWxpZGEgcGFyYSBjYXJhY3RlcmUgZGUgY29udmVyc8OjbyAlcyIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJSVzIHJlcXVpcmVzIGEgcHJlY2lzaW9uIG9yIGEgYnl0ZSBjb3VudCIKK21zZ3N0ciAiJSVzIHJlcXVlciB1bWEgcHJlY2lzw6NvIG91IHVtYSBjb250YWdlbSBkZSBieXRlcyIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGZvcm1hdCB7JXN9IgorbXNnc3RyICJmb3JtYXRvIGludsOhbGlkbyB7JXN9IgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo3MAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29udmVyc2lvbiBjaGFyYWN0ZXIgJSUlcyIKK21zZ3N0ciAiY2FyYWN0ZXJlIGRlIGNvbnZlcnPDo28gaW52w6FsaWRvICUlJXMiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjQzNgorbXNnaWQgImJ5dGUgY291bnQgd2l0aCBtdWx0aXBsZSBjb252ZXJzaW9uIGNoYXJhY3RlcnMiCittc2dzdHIgImNvbnRhZ2VtIGRlIGJ5dGVzIGNvbSBtw7psdGlwbG9zIGNhcmFjdGVyZXMgZGUgY29udmVyc8OjbyIKKworIzogdGV4dC11dGlscy9saW5lLmM6MzMKK21zZ2lkICJSZWFkIG9uZSBsaW5lLlxuIgorbXNnc3RyICJMw6ogdW1hIGxpbmhhLlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMjgKK21zZ2lkICJBIGZpbGUgcGVydXNhbCBmaWx0ZXIgZm9yIENSVCB2aWV3aW5nLlxuIgorbXNnc3RyICJVbSBmaWx0cm8gcGFyYSBsZWl0dXJhIGF0ZW5jaW9zYSBkZSBhcnF1aXZvcyBwYXJhIHZpc3VhbGl6YcOnw6NvIGVtIENSVC5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjMxCittc2dpZCAiIC1kICAgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmdpbmcgYmVsbFxuIgorbXNnc3RyICIgLWQgICAgICAgICBleGliZSBhanVkYSBhbyBpbnbDqXMgZGUgYXBpdGFyXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMgorbXNnaWQgIiAtZiAgICAgICAgICBjb3VudCBsb2dpY2FsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgbMOzZ2ljYSBkZSBjb250YWdlbSBhbyBpbnbDqXMgZGUgbGluaGFzIGRlIHRlbGFcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjMzCittc2dpZCAiIC1sICAgICAgICAgIHN1cHByZXNzIHBhdXNlIGFmdGVyIGZvcm0gZmVlZFxuIgorbXNnc3RyICIgLWwgICAgICAgICAgc3VwcmltZSBwYXVzYSBhcMOzcyBxdWVicmEgZGUgcMOhZ2luYVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzQKK21zZ2lkICIgLWMgICAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIKK21zZ3N0ciAiIC1jICAgICAgICAgIG7Do28gdXNhIHNjcm9sbCwgZXhpYmUgdGV4dG8gZSBsaW1wYSBmaW5zIGRlIGxpbmhhc1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzUKK21zZ2lkICIgLXAgICAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIKK21zZ3N0ciAiIC1wICAgICAgICAgIG7Do28gdXNhIHNjcm9sbCwgbGltcGEgdGVsYSBlIGV4aWJlIHRleHRvXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNgorbXNnaWQgIiAtcyAgICAgICAgICBzcXVlZXplIG11bHRpcGxlIGJsYW5rIGxpbmVzIGludG8gb25lXG4iCittc2dzdHIgIiAtcyAgICAgICAgICBjb21wYWN0YSBsaW5oYXMgdmF6aWFzIG3Dumx0aXBsYXMgZW0gdW1hXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNworbXNnaWQgIiAtdSAgICAgICAgICBzdXBwcmVzcyB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIgLXUgICAgICAgICAgc3VwcmltZSBzdWJsaW5oYWRvXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOAorbXNnaWQgIiAtPG51bWJlcj4gICB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKK21zZ3N0ciAiIC08bsO6bWVybz4gICBlc3BlY2lmaWNhIG8gbsO6bWVybyBkZSBsaW5oYXMgcG9yIHRlbGFcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM5Cittc2dpZCAiICs8bnVtYmVyPiAgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBsaW5lIG51bWJlclxuIgorbXNnc3RyICIgKzxuw7ptZXJvPiAgIGV4aWJlIG8gYXJxdWl2byBjb21lw6dhbmRvIGRhIGxpbmhhIG7Dum1lcm8gTlVNXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MAorbXNnaWQgIiArLzxzdHJpbmc+ICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gc2VhcmNoIHN0cmluZyBtYXRjaFxuIgorbXNnc3RyICIgKy88dGV4dG8+ICAgZXhpYmUgYXJxdWl2byBjb21lw6dhbmRvIGRvIHRleHRvIGRlIHBlc3F1aXNhIGNvcnJlc3BvbmRlbnRlXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MQorbXNnaWQgIiAtViAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1WICAgICAgICAgIGV4aWJlIGluZm9ybWHDp8O1ZXMgZGEgdmVyc8OjbyBlIHNhaVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcHRpb24gLSVzIgorbXNnc3RyICJvcMOnw6NvIGRlc2NvbmhlY2lkYSAtJXMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjUwOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqICVzOiBkaXJlY3RvcnkgKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKiogJXM6IGRpcmV0w7NyaW8gKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqKioqKiogJXM6IE5vdCBhIHRleHQgZmlsZSAqKioqKioqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqKioqKiogJXM6IE7Do28gw6kgdW0gYXJxdWl2byBkZSB0ZXh0byAqKioqKioqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1VzZSBxIG9yIFEgdG8gcXVpdF0iCittc2dzdHIgIltVc2UgcSBvdSBRIHBhcmEgc2Fpcl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjcyNAorIywgYy1mb3JtYXQKK21zZ2lkICItLU1vcmUtLSIKK21zZ3N0ciAiLS1NYWlzLS0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjcyNgorIywgYy1mb3JtYXQKK21zZ2lkICIoTmV4dCBmaWxlOiAlcykiCittc2dzdHIgIihQcsOzeGltbyBhcnF1aXZvOiAlcykiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjczNAorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3Mgc3BhY2UgdG8gY29udGludWUsICdxJyB0byBxdWl0Ll0iCittc2dzdHIgIltQcmVzc2lvbmUgZXNwYcOnbyBwYXJhIGNvbnRpbnVhciwgXCJxXCIgcGFyYSBzYWlyLl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjExNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uYmFjayAlZCBwYWdlIgorbXNnaWRfcGx1cmFsICIuLi5iYWNrICVkIHBhZ2VzIgorbXNnc3RyWzBdICIuLi52b2x0YSAlZCBww6FnaW5hIgorbXNnc3RyWzFdICIuLi52b2x0YSAlZCBww6FnaW5hcyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTIxMAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5za2lwcGluZyAlZCBsaW5lIgorbXNnaWRfcGx1cmFsICIuLi5za2lwcGluZyAlZCBsaW5lcyIKK21zZ3N0clswXSAiLi4ucHVsYW5kbyAlZCBsaW5oYSIKK21zZ3N0clsxXSAiLi4ucHVsYW5kbyAlZCBsaW5oYXMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNDgKK21zZ2lkICIiCisiXG4iCisiKioqQmFjayoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqVm9sdGFyKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNjMKK21zZ2lkICJObyBwcmV2aW91cyByZWd1bGFyIGV4cHJlc3Npb24iCittc2dzdHIgIk5lbmh1bWEgZXhwcmVzc8OjbyByZWd1bGFyIGFudGVyaW9yIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjkzCittc2dpZCAiIgorIlxuIgorIk1vc3QgY29tbWFuZHMgb3B0aW9uYWxseSBwcmVjZWRlZCBieSBpbnRlZ2VyIGFyZ3VtZW50IGsuICBEZWZhdWx0cyBpbiBicmFja2V0cy5cbiIKKyJTdGFyICgqKSBpbmRpY2F0ZXMgYXJndW1lbnQgYmVjb21lcyBuZXcgZGVmYXVsdC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkEgbWFpb3JpYSBkb3MgY29tYW5kb3Mgb3BjaW9uYWxtZW50ZSBzw6NvIHByZWNlZGlkb3MgcG9yIHVtIGFyZ3VtZW50byBpbnRlaXJvIGsuXG4iCisiTyBwYWRyw6NvIMOpIGNvbGNoZXRlcy4gQXN0ZXJpc2NvICgqKSBpbmRpY2EgbyBhcmd1bWVudG8gbm92byBwYWRyw6NvLlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzAwCittc2dpZCAiIgorIjxzcGFjZT4gICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbMV0qXG4iCisiZCBvciBjdHJsLUQgICAgICAgICAgICAgU2Nyb2xsIGsgbGluZXMgW2N1cnJlbnQgc2Nyb2xsIHNpemUsIGluaXRpYWxseSAxMV0qXG4iCisicSBvciBRIG9yIDxpbnRlcnJ1cHQ+ICAgRXhpdCBmcm9tIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBsaW5lcyBvZiB0ZXh0IFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyJiIG9yIGN0cmwtQiAgICAgICAgICAgICBTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBHbyB0byBwbGFjZSB3aGVyZSBwcmV2aW91cyBzZWFyY2ggc3RhcnRlZFxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBsaW5lIG51bWJlclxuIgorIi88cmVndWxhciBleHByZXNzaW9uPiAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgcmVndWxhciBleHByZXNzaW9uIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByLmUgWzFdXG4iCisiITxjbWQ+IG9yIDohPGNtZD4gICAgICAgRXhlY3V0ZSA8Y21kPiBpbiBhIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgdXAgL3Vzci9iaW4vdmkgYXQgY3VycmVudCBsaW5lXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkcmF3IHNjcmVlblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBuZXh0IGZpbGUgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIHByZXZpb3VzIGZpbGUgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXJcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBSZXBlYXQgcHJldmlvdXMgY29tbWFuZFxuIgorbXNnc3RyICIiCisiPGVzcGHDp28+ICAgICAgICAgICAgICAgIEV4aWJlIGFzIHByw7N4aW1hcyBrIGxpbmhhcyBkZSB0ZXh0byBbZXNwYcOnbyBkYSB0ZWxhXVxuIgorInogICAgICAgICAgICAgICAgICAgICAgIEV4aWJlIGFzIHByw7N4aW1hcyBrIGxpbmhhcyBkZSB0ZXh0byBbZXNwYcOnbyBkYSB0ZWxhXSpcbiIKKyI8ZW50ZXI+ICAgICAgICAgICAgICAgICBFeGliZSBhcyBwcsOzeGltYXMgbCBsaW5oYXMgZGUgdGV4dG8gWzFdKlxuIgorImQgb3UgY3RybC1EICAgICAgICAgICAgIERlc2NlIGsgbGluaGFzIFt0YW1hbmhvIGRlIHNjcm9sbCBhdHVhbCwgaW5pY2lhIGVtIDExXSpcbiIKKyJxIG91IFEgb3UgPGludGVycnVww6fDo28+IFNhaSBkbyBtb3JlXG4iCisicyAgICAgICAgICAgICAgICAgICAgICAgUHVsYSBrIGxpbmhhcyBkZSB0ZXh0byBbMV1cbiIKKyJmICAgICAgICAgICAgICAgICAgICAgICBQdWxhIGsgdGVsYXMgZGUgdGV4dG8gWzFdXG4iCisiYiBvdSBjdHJsLUIgICAgICAgICAgICAgUHVsYSBwYXJhIHRyw6FzIGsgdGVsYXMgZGUgdGV4dG8gWzFdXG4iCisiJyAgICAgICAgICAgICAgICAgICAgICAgVmFpIHBhcmEgbyBsdWdhciBvbmRlIGEgcGVzcXVpc2EgYW50ZXJpb3Igc2UgaW5pY2lvdVxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIEV4aWJlIG8gbsO6bWVybyBkZSBsaW5oYSBhdHVhbFxuIgorIi88ZXhwcmVzc8OjbyByZWd1bGFyPiAgICBQZXNxdWlzYSBwZWxhIGstw6lzaW1hIG9jb3Jyw6puY2lhIGRhIGV4cHJlc3PDo28gWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAgUGVzcXVpc2EgcGVsYSBrLcOpc2ltYSBvY29ycsOqbmNpYSBkYSDDumx0aW1hIGV4cC4gWzFdXG4iCisiITxjbWQ+IG91IDohPGNtZD4gICAgICAgRXhlY3V0YSA8Y21kPiBlbSB1bSBzdWJzaGVsbFxuIgorInYgICAgICAgICAgICAgICAgICAgICAgIEluaWNpYSBvIC91c3IvYmluL3ZpIG5hIGxpbmhhIGF0dWFsXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkZXNlbmhhIGEgdGVsYVxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIFZhaSBwYXJhIG8gay3DqXNpbWEgcHLDs3hpbW8gYXJxdWl2byBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgICAgICBWYWkgcGFyYSBvIGstw6lzaW1hIGFycXVpdm8gYW50ZXJpb3IgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgRXhpYmUgbyBuw7ptZXJvIGRhIGxpbmhhIGUgbyBub21lIGRvIGFycXVpdm8gYXR1YWxcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBSZXBldGUgbyBjb21hbmRvIGFudGVyaW9yXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzNzMgdGV4dC11dGlscy9tb3JlLmM6MTM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3MgJ2gnIGZvciBpbnN0cnVjdGlvbnMuXSIKK21zZ3N0ciAiW1ByZXNzaW9uZSBcImhcIiBwYXJhIG9idGVyIGluc3RydcOnw7Vlcy5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBsaW5lICVkIgorbXNnc3RyICJcIiVzXCIgbGluaGEgJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiW05vdCBhIGZpbGVdIGxpbmUgJWQiCittc2dzdHIgIltOw6NvIMOpIHVtIGFycXVpdm9dIGxpbmhhICVkIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDk0Cittc2dpZCAiICBPdmVyZmxvd1xuIgorbXNnc3RyICIgIEVzdG91cm9cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU0MworbXNnaWQgIi4uLnNraXBwaW5nXG4iCittc2dzdHIgIi4uLnB1bGFuZG9cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU3NworbXNnaWQgIiIKKyJcbiIKKyJQYXR0ZXJuIG5vdCBmb3VuZFxuIgorbXNnc3RyICIiCisiXG4iCisiUGFkcsOjbyBuw6NvIGVuY29udHJhZG9cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU4MyB0ZXh0LXV0aWxzL3BnLmM6MTAyNyB0ZXh0LXV0aWxzL3BnLmM6MTE3MworbXNnaWQgIlBhdHRlcm4gbm90IGZvdW5kIgorbXNnc3RyICJQYWRyw6NvIG7Do28gZW5jb250cmFkbyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTYyOQorbXNnaWQgImV4ZWMgZmFpbGVkXG4iCittc2dzdHIgImV4ZWMgZmFsaG91XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NDMKK21zZ2lkICJjYW4ndCBmb3JrXG4iCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCByZWFsaXphciBmb3JrXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NzcKK21zZ2lkICIiCisiXG4iCisiLi4uU2tpcHBpbmcgIgorbXNnc3RyICIiCisiXG4iCisiLi4uUHVsYW5kbyAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2ODEKK21zZ2lkICIuLi5Ta2lwcGluZyB0byBmaWxlICIKK21zZ3N0ciAiLi4uUHVsYW5kbyBwYXJhIGFycXVpdm8gIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjgzCittc2dpZCAiLi4uU2tpcHBpbmcgYmFjayB0byBmaWxlICIKK21zZ3N0ciAiLi4uUHVsYW5kbyBkZSB2b2x0YSBwYXJhIGFycXVpdm8gIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxOTczCittc2dpZCAiTGluZSB0b28gbG9uZyIKK21zZ3N0ciAiTGluaGEgbG9uZ2EgZGVtYWlzIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMDEwCittc2dpZCAiTm8gcHJldmlvdXMgY29tbWFuZCB0byBzdWJzdGl0dXRlIGZvciIKK21zZ3N0ciAiTsOjbyBow6EgY29tYW5kbyBhbnRlcmlvciBwYXJhIHNlciBzdWJzdGl0dcOtZG8iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNDQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBzY3JlZW5cbiIKKyIgIHEgb3IgUSAgICAgICAgICAgICAgICAgIHF1aXQgcHJvZ3JhbVxuIgorIiAgPG5ld2xpbmU+ICAgICAgICAgICAgICAgbmV4dCBwYWdlXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBza2lwIGEgcGFnZSBmb3J3YXJkXG4iCisiICBkIG9yIF5EICAgICAgICAgICAgICAgICBuZXh0IGhhbGZwYWdlXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBuZXh0IGxpbmVcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIGxhc3QgcGFnZVxuIgorIiAgL3JlZ2V4LyAgICAgICAgICAgICAgICAgc2VhcmNoIGZvcndhcmQgZm9yIHJlZ2V4XG4iCisiICA/cmVnZXg/IG9yIF5yZWdleF4gICAgICBzZWFyY2ggYmFja3dhcmQgZm9yIHJlZ2V4XG4iCisiICAuIG9yIF5MICAgICAgICAgICAgICAgICByZWRyYXcgc2NyZWVuXG4iCisiICB3IG9yIHogICAgICAgICAgICAgICAgICBzZXQgcGFnZSBzaXplIGFuZCBnbyB0byBuZXh0IHBhZ2VcbiIKKyIgIHMgZmlsZW5hbWUgICAgICAgICAgICAgIHNhdmUgY3VycmVudCBmaWxlIHRvIGZpbGVuYW1lXG4iCisiICAhY29tbWFuZCAgICAgICAgICAgICAgICBzaGVsbCBlc2NhcGVcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIHByZXZpb3VzIGZpbGVcbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIG5leHQgZmlsZVxuIgorIlxuIgorIk1hbnkgY29tbWFuZHMgYWNjZXB0IHByZWNlZGluZyBudW1iZXJzLCBmb3IgZXhhbXBsZTpcbiIKKyIrMTxuZXdsaW5lPiAobmV4dCBwYWdlKTsgLTE8bmV3bGluZT4gKHByZXZpb3VzIHBhZ2UpOyAxPG5ld2xpbmU+IChmaXJzdCBwYWdlKS5cbiIKKyJcbiIKKyJTZWUgcGcoMSkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgZXNzYSB0ZWxhXG4iCisiICBxIG91IFEgICAgICAgICAgICAgICAgICBzYWkgZG8gcHJvZ3JhbWFcbiIKKyIgIDxub3ZhbGluaGE+ICAgICAgICAgICAgIHByw7N4aW1hIHDDoWdpbmFcbiIKKyIgIGYgICAgICAgICAgICAgICAgICAgICAgIHB1bGEgdW1hIHDDoWdpbmEgcGFyYSBmcmVudGVcbiIKKyIgIGQgb3UgXkQgICAgICAgICAgICAgICAgIHByw7N4aW1hIG1laWEgcMOhZ2luYVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgcHLDs3hpbWEgbGluaGFcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIMO6bHRpbWEgcMOhZ2luYVxuIgorIiAgL3JlZ2V4LyAgICAgICAgICAgICAgICAgcGVzcXVpc2EgcGFyYSBmcmVudGUgcGVsYSBleHByZXNzw6NvIHJlZ3VsYXJcbiIKKyIgID9yZWdleD8gb3UgXnJlZ2V4XiAgICAgIHBlc3F1aXNhIHBhcmEgdHLDoXMgcGVsYSBleHByZXNzw6NvIHJlZ3VsYXJcbiIKKyIgIC4gb3UgXkwgICAgICAgICAgICAgICAgIHJlZGVzZW5oYSBhIHRlbGFcbiIKKyIgIHcgb3UgeiAgICAgICAgICAgICAgICAgIGRlZmluZSBvIHRhbWFuaG8gZGEgcMOhZ2luYSBlIHZhaSBwYXJhIGEgcHLDs3hpbWFcbiIKKyIgIHMgYXJxdWl2byAgICAgICAgICAgICAgIHNhbHZhIG8gYXJxdWl2byBhdHVhbCBwYXJhIG8gYXJxdWl2byBpbmZvcm1hZG9cbiIKKyIgICFjb21hbmRvICAgICAgICAgICAgICAgIGVzY2FwYSBwYXJhIG8gc2hlbGxcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIHZhaSBwYXJhIG8gYXJxdWl2byBhbnRlcmlvclxuIgorIiAgbiAgICAgICAgICAgICAgICAgICAgICAgdmFpIHBhcmEgbyBwcsOzeGltbyBhcnF1aXZvXG4iCisiXG4iCisiTXVpdG9zIGNvbWFuZG9zIGFjZWl0YW0gc2VyIHByZWNlZGlkb3MgcG9yIG7Dum1lcm9zLCBwb3IgZXhlbXBsbzpcbiIKKyIrMTxub3ZhbGluaGE+IChwcsOzeGltYSBwZy4pOyAtMTxub3ZhbGluaGE+IChwZy4gYW50ZXJpb3IpOyAxPG5vdmFsaW5oYT4gKHByaW1laXJhIHBnLikuXG4iCisiXG4iCisiVmVqYSBwZygxKSBwYXJhIG1haXMgaW5mb3JtYcOnw6NvLlxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyMgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFsrbGluZV0gWysvcGF0dGVybi9dIFtmaWxlc11cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gWytsaW5oYV0gWysvcGFkcsOjby9dIFthcnF1aXZvc11cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyNgorbXNnaWQgIkJyb3dzZSBwYWdld2lzZSB0aHJvdWdoIHRleHQgZmlsZXMuXG4iCittc2dzdHIgIk5hdmVnYSBww6FnaW5hIHBvciBww6FnaW5hIGVtIGFycXVpdm9zIHRleHRvcy5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyOQorbXNnaWQgIiAtbnVtYmVyICAgICAgbGluZXMgcGVyIHBhZ2VcbiIKK21zZ3N0ciAiIC1uw7ptZXJvICAgICAgbGluaGFzIHBvciBww6FnaW5hXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzAKK21zZ2lkICIgLWMgICAgICAgICAgIGNsZWFyIHNjcmVlbiBiZWZvcmUgZGlzcGxheWluZ1xuIgorbXNnc3RyICIgLWMgICAgICAgICAgIGxpbXBhIHRlbGEgYW50ZXMgZGUgZXhpYmktbGFcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMQorbXNnaWQgIiAtZSAgICAgICAgICAgZG8gbm90IHBhdXNlIGF0IGVuZCBvZiBhIGZpbGVcbiIKK21zZ3N0ciAiIC1lICAgICAgICAgICBuw6NvIHBhdXNhIGFvIGZpbmFsIGRlIHVtIGFycXVpdm9cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMgorbXNnaWQgIiAtZiAgICAgICAgICAgZG8gbm90IHNwbGl0IGxvbmcgbGluZXNcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICBuw6NvIGRpdmlkZSBsaW5oYXMgbG9uZ2FzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzMKK21zZ2lkICIgLW4gICAgICAgICAgIHRlcm1pbmF0ZSBjb21tYW5kIHdpdGggbmV3IGxpbmVcbiIKK21zZ3N0ciAiIC1uICAgICAgICAgICB0ZXJtaW5hIHVtIGNvbWFuZG8gY29tIG5vdmEgbGluaGFcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNAorbXNnaWQgIiAtcCA8cHJvbXB0PiAgc3BlY2lmeSBwcm9tcHRcbiIKK21zZ3N0ciAiIC1wIDxwcm9tcHQ+ICBlc3BlY2lmaWNhIG8gcHJvbXB0XG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzUKK21zZ2lkICIgLXIgICAgICAgICAgIGRpc2FsbG93IHNoZWxsIGVzY2FwZVxuIgorbXNnc3RyICIgLXIgICAgICAgICAgIHZlZGEgbyBlc2NhcGUgcGFyYSBzaGVsbFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM2Cittc2dpZCAiIC1zICAgICAgICAgICBwcmludCBtZXNzYWdlcyB0byBzdGRvdXRcbiIKK21zZ3N0ciAiIC1zICAgICAgICAgICBleGliZSBtZW5zYWdlbnMgcGFyYSBhIHNhw61kYSBwYWRyw6NvXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzcKK21zZ2lkICIgK251bWJlciAgICAgIHN0YXJ0IGF0IHRoZSBnaXZlbiBsaW5lXG4iCittc2dzdHIgIiArbsO6bWVybyAgICAgIGluaWNpYSBuYSBsaW5oYSBpbmZvcm1hZGFcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzOAorbXNnaWQgIiArL3BhdHRlcm4vICAgc3RhcnQgYXQgdGhlIGxpbmUgY29udGFpbmluZyBwYXR0ZXJuXG4iCittc2dzdHIgIiArL3BhZHLDo28vICAgIGluaWNpYSBuYSBsaW5oYSBjb250ZW5kbyBvIHBhZHLDo29cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gJXMiCittc2dzdHIgImEgb3DDp8OjbyByZXF1ZXIgdW0gYXJndW1lbnRvIC0tICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgb3B0aW9uIC0tICVzIgorbXNnc3RyICJhIG9ww6fDo28gw6kgaWxlZ2FsIC0tICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzU5Cittc2dpZCAiLi4uc2tpcHBpbmcgZm9yd2FyZFxuIgorbXNnc3RyICIuLi5wdWxhbmRvIHBhcmEgZnJlbnRlXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjEKK21zZ2lkICIuLi5za2lwcGluZyBiYWNrd2FyZFxuIgorbXNnc3RyICIuLi5wdWxhbmRvIHBhcmEgdHLDoXNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM3NworbXNnaWQgIk5vIG5leHQgZmlsZSIKK21zZ3N0ciAiTmVuaHVtIHByw7N4aW1vIGFycXVpdm8iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODEKK21zZ2lkICJObyBwcmV2aW91cyBmaWxlIgorbXNnc3RyICJOZW5odW0gYXJxdWl2byBhbnRlcmlvciIKKworIzogdGV4dC11dGlscy9wZy5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yIGZyb20gJXMgZmlsZSIKK21zZ3N0ciAiRXJybyBhbyBsZXIgZG8gYXJxdWl2byAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjg4NgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIEVPRiBpbiAlcyBmaWxlIgorbXNnc3RyICJGaW0gZGUgYXJxdWl2byBpbmVzcGVyYWRvIG5vIGFycXVpdm8gJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBlcnJvciBpbiAlcyBmaWxlIgorbXNnc3RyICJFcnJvIGRlc2NvbmhlY2lkbyBubyBhcnF1aXZvICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTQxCittc2dpZCAiQ2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGNyaWFyIHVtIGFycXVpdm8gdGVtcG9yw6FyaW8iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NTAgdGV4dC11dGlscy9wZy5jOjExMTQgdGV4dC11dGlscy9wZy5jOjExNDAKK21zZ2lkICJSRSBlcnJvcjogIgorbXNnc3RyICJFcnJvIFJFOiAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMDk3Cittc2dpZCAiKEVPRikiCittc2dzdHIgIihFT0YpIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTEyMiB0ZXh0LXV0aWxzL3BnLmM6MTE0OAorbXNnaWQgIk5vIHJlbWVtYmVyZWQgc2VhcmNoIHN0cmluZyIKK21zZ3N0ciAiTmVuaHVtIHRleHRvIGRlIHBlc3F1aXNhIGd1YXJkYWRvIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTIwMworbXNnaWQgImNhbm5vdCBvcGVuICIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyICIKKworIzogdGV4dC11dGlscy9wZy5jOjEyNTUKK21zZ2lkICJzYXZlZCIKK21zZ3N0ciAic2Fsdm8iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzQ1Cittc2dpZCAiOiAhY29tbWFuZCBub3QgYWxsb3dlZCBpbiByZmxhZyBtb2RlLlxuIgorbXNnc3RyICI6ICFjb21hbmRvIG7Do28gcGVybWl0aWRvIG5vIG1vZG8gcmZsYWcuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzgwCittc2dpZCAiZm9yaygpIGZhaWxlZCwgdHJ5IGFnYWluIGxhdGVyXG4iCittc2dzdHIgImZvcmsoKSBmYWxob3UsIHRlbnRlIG5vdmFtZW50ZSBtYWlzIHRhcmRlXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNDY4Cittc2dpZCAiKE5leHQgZmlsZTogIgorbXNnc3RyICIoUHLDs3hpbW8gYXJxdWl2bzogIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTUzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlcyBDb3B5cmlnaHQgKGMpIDIwMDAtMjAwMSBHdW5uYXIgUml0dGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuIgorbXNnc3RyICIlcyAlcyBDb3B5cmlnaHQgKGMpIDIwMDAtMjAwMSBHdW5uYXIgUml0dGVyLiBUb2RvcyBvcyBkaXJpdG9zIHJlc2VydmFkb3MuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTg3IHRleHQtdXRpbHMvcGcuYzoxNjYwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyBwZXIgcGFnZSIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgbsO6bWVybyBkZSBsaW5oYXMgcG9yIHDDoWdpbmEiCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCittc2dzdHIgIlVzbzogJXMgW29ww6fDtWVzXSBbYXJxdWl2byAuLi5dXG4iCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6ODAKK21zZ2lkICJSZXZlcnNlIGxpbmVzIGNoYXJhY3Rlcndpc2UuXG4iCittc2dzdHIgIkludmVydGUgbGluaGFzIGNhcmFjdGVyZSBhIGNhcmFjdGVyZS5cbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJpbmNvbXBsZXRlIHdyaXRlIHRvIFwiJXNcIiAod3JpdHRlbiAlemQsIGV4cGVjdGVkICV6ZClcbiIKK21zZ3N0ciAiZXNjcml0YSBpbmNvbXBsZXRhIHBhcmEgXCIlc1wiIChlc2NyZXZldSAlemQsIGVzcGVyYXZhLXNlICV6ZClcbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoIChsaW1pdCBvZiBpbm90aWZ5IHdhdGNoZXMgd2FzIHJlYWNoZWQpLiIKK21zZ3N0ciAiJXM6IG7Do28gZm9pIHBvc3PDrXZlbCBhY29tcGFuaGFyIGlub3RpZnkgKGxpbWl0ZSBkZSBhY29tcGFuaGFtZW50b3MgZGUgaW5vdGlmeSBmb2kgYWxjYW7Dp2FkbykuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uXSA8ZmlsZT5cbiIKK21zZ3N0ciAiICVzIFtvcMOnw6NvXSA8YXJxdWl2bz5cbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwMAorbXNnaWQgIkZvbGxvdyB0aGUgZ3Jvd3RoIG9mIGEgbG9nIGZpbGUuXG4iCittc2dzdHIgIlNlZ3VlIG8gY3Jlc2NpbWVudG8gZGUgdW0gYXJxdWl2byBkZSBsb2cuXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMDMKK21zZ2lkICIgLW4sIC0tbGluZXMgPG51bWJlcj4gICBvdXRwdXQgdGhlIGxhc3QgPG51bWJlcj4gbGluZXNcbiIKK21zZ3N0ciAiIC1uLCAtLWxpbmVzIDxuw7ptZXJvPiAgIGV4aWJlIGFzIMO6bHRpbWFzIDxuw7ptZXJvPiBsaW5oYXNcbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwNAorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICAgIHNhbWUgYXMgJy1uIDxudW1iZXI+J1xuIgorbXNnc3RyICIgLTxuw7ptZXJvPiAgICAgICAgICAgICAgbWVzbW8gcXVlIFwiLW4gPG7Dum1lcm8+XCJcbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIxMAorbXNnaWQgIldhcm5pbmc6IHVzZSBvZiAndGFpbGYnIGlzIGRlcHJlY2F0ZWQsIHVzZSAndGFpbCAtZicgaW5zdGVhZC5cbiIKK21zZ3N0ciAiQXZpc286IG8gdXNvIGRlIFwidGFpbGZcIiBlc3TDoSBvYnNvbGV0bywgdXNlIFwidGFpbCAtZlwiIGVtIHZleiBkaXNzby5cbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIyMyB0ZXh0LXV0aWxzL3RhaWxmLmM6MjYzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgbyBuw7ptZXJvIGRlIGxpbmhhcyIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjI3NQorbXNnaWQgIm5vIGlucHV0IGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICJuZW5odW0gYXJxdWl2byBkZSBlbnRyYWRhIGVzcGVjaWZpY2FkbyIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGEgZmlsZSIKK21zZ3N0ciAiJXM6IG7Do28gw6kgdW0gYXJxdWl2byIKKworIzogdGV4dC11dGlscy91bC5jOjEzNgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gLi4uXVxuIgorbXNnc3RyICIgJXMgW29ww6fDtWVzXSBbPGFycXVpdm8+IC4uLl1cbiIKKworIzogdGV4dC11dGlscy91bC5jOjEzOQorbXNnaWQgIkRvIHVuZGVybGluaW5nLlxuIgorbXNnc3RyICJTdWJsaW5oYSBvIHRleHRvLlxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQyCittc2dpZCAiIC10LCAtVCwgLS10ZXJtaW5hbCBURVJNSU5BTCAgb3ZlcnJpZGUgdGhlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIC10LCAtVCwgLS10ZXJtaW5hbCBURVJNSU5BTCAgc29icmVzY3JldmUgYSB2YXJpw6F2ZWwgZGUgYW1iaWVudGUgVEVSTVxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQzCittc2dpZCAiIC1pLCAtLWluZGljYXRlZCAgICAgICAgICAgICAgdW5kZXJsaW5pbmcgaXMgaW5kaWNhdGVkIHZpYSBhIHNlcGFyYXRlIGxpbmVcbiIKK21zZ3N0ciAiIC1pLCAtLWluZGljYXRlZCAgICAgICAgICAgICAgc3VibGluaGFkbyDDqSBpbmRpY2FkbyBjb20gbGluaGEgc2VwYXJhZGFcbiIKKworIzogdGV4dC11dGlscy91bC5jOjIwNAorbXNnaWQgInRyb3VibGUgcmVhZGluZyB0ZXJtaW5mbyIKK21zZ3N0ciAicHJvYmxlbWFzIG5hIGxlaXR1cmEgZGUgdGVybWluZm8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgYCVzJyBpcyBub3Qga25vd24sIGRlZmF1bHRpbmcgdG8gYGR1bWInIgorbXNnc3RyICJvIHRlcm1pbmFsIFwiJXNcIiBuw6NvIMOpIGNvbmhlY2lkbywgdXNhbmRvIG8gcGFkcsOjbyBcImR1bWJcIiIKKworIzogdGV4dC11dGlscy91bC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGVzY2FwZSBzZXF1ZW5jZSBpbiBpbnB1dDogJW8sICVvIgorbXNnc3RyICJzZXF1w6puY2lhIGRlIGVzY2FwZSBkZXNjb25oZWNpZG8gbmEgZW50cmFkYTogJW8sICVvIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6NjI0Cittc2dpZCAiSW5wdXQgbGluZSB0b28gbG9uZy4iCittc2dzdHIgIkxpbmhhIGRlIGVudHJhZGEgbXVpdG8gbG9uZ2EuIgorCisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gdXNlIHRoZSBIYXJkd2FyZSBDbG9jay4iCisjfiBtc2dzdHIgIkRlc2N1bHBlLCBhcGVuYXMgbyBzdXBlcnVzdcOhcmlvIHBvZGUgdXNhciBvIHJlbMOzZ2lvIGRlIGhhcmR3YXJlLiIKKworI34gbXNnaWQgIkZpbGVzeXN0ZW0gbGFiZWw6IgorI34gbXNnc3RyICJSw7N0dWxvIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3M6IgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHNldCBQQVRIIgorI34gbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZGVmaW5pciBvIFBBVEgiCisKKyN+IG1zZ2lkICIlZCIKKyN+IG1zZ3N0ciAiJWQiCisKKyN+IG1zZ2lkICJ1c2Ugb2YgJ2tpbGwgLS1waWQnIG9wdGlvbiBhcyBjb21tYW5kIG5hbWUgaXMgZGVwcmVjYXRlZCIKKyN+IG1zZ3N0ciAibyB1c28gZGEgb3DDp8OjbyBcImtpbGwgLS1waWRcIiBjb21vIG5vbWUgZGUgY29tYW5kbyBlc3TDoSBvYnNvbGV0byIKKworI34gbXNnaWQgIiU0ZC0lLjJkLSUuMmQgJTAyZDolMDJkOiUwMmQuJTA2bGQlKzAyZDolMDJkXG4iCisjfiBtc2dzdHIgIiU0ZC0lLjJkLSUuMmQgJTAyZDolMDJkOiUwMmQuJTA2bGQlKzAyZDolMDJkXG4iCisKKyN+IG1zZ2lkICJiYWQgdGltZW91dCB2YWx1ZTogJXMiCisjfiBtc2dzdHIgInZhbG9yIGRlIHRlbXBvIGxpbWl0ZSBpbnbDoWxpZG86ICVzIgorCisjfiBtc2dpZCAiZXhwZWN0ZWQgYSBudW1iZXIsIGJ1dCBnb3QgJyVzJyIKKyN+IG1zZ3N0ciAiZXNwZXJhdmEgdW0gbsO6bWVybywgbWFzIG9idGV2ZSBcIiVzXCIiCisKKyN+IG1zZ2lkICJkaXZpc29yICclcyciCisjfiBtc2dzdHIgImRpdmlzb3IgXCIlc1wiIgorCisjfiBtc2dpZCAiYXJndW1lbnQgZXJyb3I6ICVzIgorI34gbXNnc3RyICJlcnJvIGRlIGFyZ3VtZW50bzogJXMiCisKKyN+IG1zZ2lkICJ0dHkgcGF0aCAlcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiY2FtaW5obyBkbyB0dHkgJXMgw6kgbG9uZ28gZGVtYWlzIgorCisjfiBtc2dpZCAiY2Fubm90IGFjY2VzcyBmaWxlICVzIgorI34gbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYWNlc3NhciBvIGFycXVpdm8gJXMiCisKKyN+IG1zZ2lkICIlcyBpcyBub3QgYSBibG9jayBzcGVjaWFsIGRldmljZSIKKyN+IG1zZ3N0ciAiJXMgbsOjbyDDqSB1bSBkaXNwb3NpdGl2byBkZSBibG9jbyBlc3BlY2lhbCIKKworI34gbXNnaWQgIiVzOiBkZXZpY2UgaXMgbWlzYWxpZ25lZCIKKyN+IG1zZ3N0ciAiJXM6IG8gZGlzcG9zaXRpdm8gZXN0w6EgZGVzYWxpbmhhZG8iCisKKyN+IG1zZ2lkICJPUy8yIGhpZGRlbiBDOiBkcml2ZSIKKyN+IG1zZ3N0ciAiVW5pZGFkZSBDOiBPUy8yIGVzY29uZGlkYSIKKworI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIgorI34gbXNnc3RyICIlczogZXJybyBkZSBhbsOhbGlzZSBuYSBsaW5oYSAlZCIKKworI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRldmljZSBwYXRoIgorI34gbXNnc3RyICIlczogZmFsaGEgYW8gb2J0ZXIgbyBjYW1pbmhvIGRvIGRpc3Bvc2l0aXZvIgorCisjfiBtc2dpZCAiJXM6IHVua25vd24gZGV2aWNlIG5hbWUiCisjfiBtc2dzdHIgIiVzOiBub21lIGRlIGRpc3Bvc2l0aXZvIGRlc2NvbmhlY2lkbyIKKworI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRtIG5hbWUiCisjfiBtc2dzdHIgIiVzOiBmYWxoYSBhbyBvYnRlciBub21lIGRlIGRtIgorCisjfiBtc2dpZCAidGhlIHNvcnQgY29sdW1uIGhhcyB0byBiZSBhbW9uZyB0aGUgb3V0cHV0IGNvbHVtbnMiCisjfiBtc2dzdHIgImEgY29sdW5hIG9yZGVuYWRhIHRlbSBxdWUgZXN0YXIgZW50cmUgYXMgY29sdW5hcyBkZSBzYcOtZGEuIgorCisjfiBtc2dpZCAiIgorI34gIiAtcCwgLS1waWQgPHBhdGg+ICAgICAgICBwYXRoIHRvIHBpZCBmaWxlXG4iCisjfiAiIC1zLCAtLXNvY2tldCA8cGF0aD4gICAgIHBhdGggdG8gc29ja2V0XG4iCisjfiAiIC1ULCAtLXRpbWVvdXQgPHNlYz4gICAgIHNwZWNpZnkgaW5hY3Rpdml0eSB0aW1lb3V0XG4iCisjfiAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGtpbGwgcnVubmluZyBkYWVtb25cbiIKKyN+ICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdCByYW5kb20tYmFzZWQgZ2VuZXJhdGlvblxuIgorI34gIiAtdCwgLS10aW1lICAgICAgICAgICAgICB0ZXN0IHRpbWUtYmFzZWQgZ2VuZXJhdGlvblxuIgorI34gIiAtbiwgLS11dWlkcyA8bnVtPiAgICAgICByZXF1ZXN0IG51bWJlciBvZiB1dWlkc1xuIgorI34gIiAtUCwgLS1uby1waWQgICAgICAgICAgICBkbyBub3QgY3JlYXRlIHBpZCBmaWxlXG4iCisjfiAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIGRvIG5vdCBkYWVtb25pemUgdXNpbmcgZG91YmxlLWZvcmtcbiIKKyN+ICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iCisjfiAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHJ1biBpbiBkZWJ1Z2dpbmcgbW9kZVxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0dXJuIG9uIHF1aWV0IG1vZGVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtcCwgLS1waWQgPGNhbWluaG8+ICAgICBjYW1pbmhvIHBhcmEgbyBhcnF1aXZvIGRlIHBpZFxuIgorI34gIiAtcywgLS1zb2NrZXQgPGNhbWluaG8+ICBjYW1pbmhvIHBhcmEgbyBzb3F1ZXRlXG4iCisjfiAiIC1ULCAtLXRpbWVvdXQgPHNlZz4gICAgIGVzcGVjaWZpY2EgbyB0ZW1wbyBsaW1pdGUgZGUgaW5hdGl2aWRhZGVcbiIKKyN+ICIgLWssIC0ta2lsbCAgICAgICAgICAgICAgbWF0YSB1bSBkYWVtb24gZW0gZXhlY3XDp8Ojb1xuIgorI34gIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0YSBhIGdlcmHDp8OjbyBiYXNlYWRhIGVtIGFsZWF0b3JpZWRhZGVcbiIKKyN+ICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgdGVzdGEgYSBnZXJhw6fDo28gYmFzZWFkYSBlbSB0ZW1wb1xuIgorI34gIiAtbiwgLS11dWlkcyA8bsO6bWVybz4gICAgcmVxdWlzaXRhIG8gbsO6bWVybyBkZSB1dWlkc1xuIgorI34gIiAtUCwgLS1uby1waWQgICAgICAgICAgICBuw6NvIGNyaWEgdW0gYXJxdWl2byBkZSBwaWRcbiIKKyN+ICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgbsOjbyBkYWVtb25pemEgdXNhbmRvIGZvcmsgZHVwbG9cbiIKKyN+ICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gbsOjbyBjcmlhIHVtIHNvcXVldGUgZGVkaWNhZG8gcGFyYSBvdXZpclxuIgorI34gIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBleGVjdXRhIG5vIG1vZG8gZGUgZGVwdXJhw6fDo29cbiIKKyN+ICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgYXRpdmEgbyBtb2RvIHF1aWV0bywgc2lsZW5jaW9zb1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBleGliZSBpbmZvcm1hw6fDo28gZGUgdmVyc8OjbyBlIHNhaVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBleGliZSBlc3RhIGFqdWRhIGUgc2FpXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIHNjaGVkdWxpbmcgcG9saWN5IgorI34gbXNnc3RyICJwb2zDrXRpY2EgZGUgYWdlbmRhbWVudG8gZGVzY29uaGVjaWRhIgorCisjfiBtc2dpZCAiIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKKyN+ICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKKyN+ICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgYWxpZ25lZCBsZW5ndGggYW5kIG9mZnNldFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1vLCAtLW9mZnNldCA8bsO6bT4gIHBvc2nDp8OjbyBlbSBieXRlcyBwYXJhIGRlc2NhcnRlXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8bsO6bT4gIGNvbXByaW1lbnRvIGRlIGJ5dGVzIHBhcmEgZGVzY2FydGFyIGRhIHBvc2nDp8Ojb1xuIgorI34gIiAtcCwgLS1zdGVwIDxuw7ptPiAgICB0YW1hbmhvIGRhcyBpdGVyYcOnw7VlcyBkZSBkZXNjYXJ0ZSBhdMOpIGEgcG9zacOnw6NvXG4iCisjfiAiIC1zLCAtLXNlY3VyZSAgICAgICAgcmVhbGl6YSBkZXNjYXJ0ZSBzZWd1cm9cbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICBtb3N0cmEgcG9zacOnw6NvIGUgY29tcHJpbWVudG8gYWxpbmhhZGFcbiIKKworI34gbXNnaWQgIiVzICAuJTA2ZCBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVzICAuJTA2ZCBzZWd1bmRvc1xuIgorCisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yOiBpZ25vcmUgZW50cnkgYXQgbGluZSAlZC4iCisjfiBtc2dzdHIgIiVzOiBlcnJvIGRlIGFuw6FsaXNlOiBpZ25vcmFuZG8gZW50cmFkYSBuYSBsaW5oYSAlZC4iCisKKyN+IG1zZ2lkICJwYWdlcyIKKyN+IG1zZ3N0ciAicMOhZ2luYXMiCisKKyN+IG1zZ2lkICJkaWZmZXJlbnQiCisjfiBtc2dzdHIgImRpZmVyZW50ZSIKKworI34gbXNnaWQgInNhbWUiCisjfiBtc2dzdHIgImlndWFsIgorCisjfiBtc2dpZCAiTWluaW1hbCBzaXplIGlzICVqdSIKKyN+IG1zZ3N0ciAiVGFtYW5obyBtw61uaW1vIMOpICVqdSIKKworI34gbXNnaWQgIlBsZWFzZSwgc2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgZGlzayBsYWJlbC4iCisjfiBtc2dzdHIgIlBvciBmYXZvciwgc2VsZWNpb25lIHVtIHRpcG8gcGFyYSBjcmlhciB1bSBub3ZvIHLDs3R1bG8gZGUgZGlzY28uIgorCisjfiBtc2dpZCAiSGVscCBTY3JlZW4gZm9yIGNmZGlzayIKKyN+IG1zZ3N0ciAiVGVsYSBkZSBhanVkYSBkbyBjZmRpc2siCisKKyN+IG1zZ2lkICJkaXNrIGRyaXZlLiIKKyN+IG1zZ3N0ciAiZGUgZGlzY28gcsOtZ2lkby4iCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMTQgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+ICIKKyN+IG1zZ3N0ciAiQ29weXJpZ2h0IChDKSAyMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPiIKKworI34gbXNnaWQgIkJhc2VkIG9uIHRoZSBvcmlnaW5hbCBjZmRpc2sgZnJvbSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIuIgorI34gbXNnc3RyICJCYXNlYWRvIG5vIGNmZGlzayBvcmlnaW5hbCBkZSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGBubyciCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBcIm7Do29cIiIKKworI34gbXNnaWQgIkRldmljZSBvcGVuIGluIHJlYWQtb25seSBtb2RlIgorI34gbXNnc3RyICJEaXNwb3NpdGl2byBhYmVydG8gbm8gbW9kbyBzb21lbnRlIGxlaXR1cmEiCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gbXNnc3RyICJVc286ICVzIFtvcMOnw7Vlc10gZGlzcG9zaXRpdm9cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtbiwgLS1uby12ZXJpZnkgIGRpc2FibGUgdGhlIHZlcmlmaWNhdGlvbiBhZnRlciB0aGUgZm9ybWF0XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAib3DDp8O1ZXM6XG4iCisjfiAiIC1uLCAtLW5vLXZlcmlmeSAgZGVzYWJpbGl0YSBhIHZlcmlmaWNhw6fDo28gYXDDs3MgYSBmb3JtYXRhw6fDo29cbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBleGliZSBpbmZvcm1hw6fDtWVzIGRhIHZlcnPDo28gZSBzYWlcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBleGliZSBlc3RhIGFqdWRhIGUgc2FpXG4iCisjfiAiXG4iCisKKyMgbm90YTogcmVzdWx0YWRvIGRlIHRlc3RlIGRlIHN0YXQoKSAoJ21hbiAyIGZzdGF0JykKKyN+IG1zZ2lkICJzdGF0IGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAiZmFsaGEgYW8gb2J0ZXIgZXN0YWRvIGRvIGFycXVpdm8gJXMiCisKKyN+IG1zZ2lkICIgLXYgIGJlIHZlcmJvc2VcbiIKKyN+IG1zZ3N0ciAiIC12ICBtZW5zYWdlbnMgZGV0YWxoYWRhc1xuIgorCisjfiBtc2dpZCAiVXNhZ2U6XG4iCisjfiBtc2dzdHIgIlVzbzpcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbWtmcyg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBhcmEgbWFpcyBpbmZvcm1hw6fDtWVzLCB2ZWphIG1rZnMoOCkuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVmVyeSBsb25nICglenUgYnl0ZXMpIGZpbGVuYW1lIGAlcycgZm91bmQuXG4iCisjfiAiIFBsZWFzZSBpbmNyZWFzZSBNQVhfSU5QVVRfTkFNRUxFTiBpbiBta2NyYW1mcy5jIGFuZCByZWNvbXBpbGUuICBFeGl0aW5nLiIKKyN+IG1zZ3N0ciAiIgorI34gIkVuY29udHJhZG8gbm9tZSBkZSBhcnF1aXZvIG11aXRvIGdyYW5kZSAoJXp1IGJ5dGVzKSBwYXJhIFwiJXNcIi5cbiIKKyN+ICIgUG9yIGZhdm9yLCBhdW1lbnRlIE1BWF9JTlBVVF9OQU1FTEVOIGVtIG1rY3JhbWZzLmMgZW0gcmVjb21waWxlLiBTYWluZG8uIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstYyB8IC1sIGZpbGVuYW1lXSBbLW5YWF0gWy1pWFhdIC9kZXYvbmFtZSBbYmxvY2tzXSIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbLWMgfCAtbCBub21lLWFycXVpdm9dIFstblhYXSBbLWlYWF0gZGlzcG9zaXRpdm8gW2Jsb2Nvc10iCisKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAiJXM6IG7Do28gZm9pIHBvc3PDrXZlbCBhbG9jYXIgYnVmZmVycyBwYXJhIHN1cGVyYmxvY29zIgorCisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzIGZvciBtYXBzIgorI34gbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIGFsb2NhciBidWZmZXJzIHBhcmEgbWFwYXMiCisKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorI34gbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIGFsb2NhciBidWZmZXJzIHBhcmEgaW5vZGVzIgorCisjfiBtc2dpZCAiJXMgKCVzKVxuIgorI34gbXNnc3RyICIlcyAoJXMpXG4iCisKKyN+IG1zZ2lkICIlczogYmFkIGlub2RlIHNpemUiCisjfiBtc2dzdHIgIiVzOiB0YW1hbmhvIGRlIGlub2RlIGludsOhbGlkbyIKKworI34gbXNnaWQgIndpbGwgbm90IHRyeSB0byBtYWtlIGZpbGVzeXN0ZW0gb24gJyVzJyIKKyN+IG1zZ3N0ciAibsOjbyBzZXLDoSB0ZW50YWRvIGNyaWFyIHNpc3RlbWEgZGUgYXJxdWl2b3MgZW0gXCIlc1wiIgorCisjfiBtc2dpZCAiQmFkIHN3YXAgaGVhZGVyIHNpemUsIG5vIGxhYmVsIHdyaXR0ZW4uIgorI34gbXNnc3RyICJUYW1hbmhvIGRlIGNhYmXDp2FsaG8gZGUgc3dhcCBpbnbDoWxpZG8sIG5lbmh1bSByw7N0dWxvIGdyYXZhZG8uIgorCisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyAtIGNhbm5vdCBzZWVrIHRvICVsdSIKKyN+IG1zZ3N0ciAiZXJybyBkZSBidXNjYSBlbSAlcyAtIG7Do28gZm9pIHBvc3PDrXZlbCBidXNjYXIgYXTDqSAlbHUiCisKKyN+IG1zZ2lkICJzZWVrIGVycm9yOiB3YW50ZWQgMHglMDh4JTA4eCwgZ290IDB4JTA4eCUwOHgiCisjfiBtc2dzdHIgImVycm8gZGUgYnVzY2E6IGRlc2VqYWRvIDB4JTA4eCUwOHgsIG9idGlkbyAweCUwOHglMDh4IgorCisjfiBtc2dpZCAicmVhZCBlcnJvciBvbiAlcyAtIGNhbm5vdCByZWFkIHNlY3RvciAlbGx1IgorI34gbXNnc3RyICJlcnJvIGRlIGxlaXR1cmEgZW0gJXMgLSBuw6NvIGZvaSBwb3Nzw612ZWwgbGVyIG8gc2V0b3IgJWxsdSIKKworI34gbXNnaWQgIndyaXRlIGVycm9yIG9uICVzIC0gY2Fubm90IHdyaXRlIHNlY3RvciAlbGx1IgorI34gbXNnc3RyICJlcnJvIGRlIGdyYXZhw6fDo28gZW0gJXMgLSBuw6NvIGZvaSBwb3Nzw612ZWwgZ3JhdmFyIG5vIHNldG9yICVsbHUiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBwYXJ0aXRpb24gc2VjdG9yIHNhdmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgbyBhcnF1aXZvIGRlIHNhbHZhbWVudG8gZGUgc2V0b3IgZGEgcGFydGnDp8OjbyAoJXMpIgorCisjfiBtc2dpZCAid3JpdGUgZXJyb3Igb24gJXMiCisjfiBtc2dzdHIgImVycm8gZGUgZ3JhdmHDp8OjbyBlbSAlcyIKKworI34gbXNnaWQgImNhbm5vdCBzdGF0IHBhcnRpdGlvbiByZXN0b3JlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIG9idGVyIGVzdGFkbyBkbyBhcnF1aXZvIGRlIHJlc3RhdXJhw6fDo28gZGUgcGFydGnDp8OjbyAoJXMpIgorCisjfiBtc2dpZCAicGFydGl0aW9uIHJlc3RvcmUgZmlsZSBoYXMgd3Jvbmcgc2l6ZSAtIG5vdCByZXN0b3JpbmciCisjfiBtc2dzdHIgIm8gYXJxdWl2byBkZSByZXN0YXVyYcOnw6NvIGRhIHBhcnRpw6fDo28gcG9zc3VpIHRhbWFuaG8gaW5jb3JyZXRvIC0gbsOjbyByZXN0YXVyYW5kbyIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIHBhcnRpdGlvbiByZXN0b3JlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyIG8gYXJxdWl2byBkZSByZXN0YXVyYcOnw6NvIGRlIHBhcnRpw6fDo28gKCVzKSIKKworI34gbXNnaWQgImVycm9yIHJlYWRpbmcgJXMiCisjfiBtc2dzdHIgImVycm8gbmEgbGVpdHVyYSBkZSAlcyIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIGRldmljZSAlcyBmb3Igd3JpdGluZyIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyIG8gZGlzcG9zaXRpdm8gJXMgcGFyYSBncmF2YcOnw6NvIgorCisjfiBtc2dpZCAiZXJyb3Igd3JpdGluZyBzZWN0b3IgJWx1IG9uICVzIgorI34gbXNnc3RyICJlcnJvIG5hIGdyYXZhw6fDo28gZG8gc2V0b3IgJWx1IGVtICVzIgorCisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiRGlzY28gJXM6IG7Do28gZm9pIHBvc3PDrXZlbCBvYnRlciBhIGdlb21ldHJpYSIKKworI34gbXNnaWQgIkRpc2sgJXM6IGNhbm5vdCBnZXQgc2l6ZSIKKyN+IG1zZ3N0ciAiRGlzY28gJXM6IG7Do28gZm9pIHBvc3PDrXZlbCBvYnRlciBvIHRhbWFuaG8iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogc3RhcnQ9JWx1IC0gdGhpcyBsb29rcyBsaWtlIGEgcGFydGl0aW9uIHJhdGhlciB0aGFuXG4iCisjfiAidGhlIGVudGlyZSBkaXNrLiBVc2luZyBmZGlzayBvbiBpdCBpcyBwcm9iYWJseSBtZWFuaW5nbGVzcy5cbiIKKyN+ICJbVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiBpZiB5b3UgcmVhbGx5IHdhbnQgdGhpc10iCisjfiBtc2dzdHIgIiIKKyN+ICJBdmlzbzogaW7DrWNpbyA9ICAlbHUgLSBJc3RvIHBhcmVjZSBzZXIgdW1hIHBhcnRpw6fDo28gZSBuw6NvIG8gZGlzY29cbiIKKyN+ICJpbnRlaXJvLiBVc2FyIGZkaXNrIG5lbGEgcHJvdmF2ZWxtZW50ZSBuw6NvIHRyYXLDoSBxdWFscXVlciByZXN1bHRhZG9cbiIKKyN+ICJbdXNlIGEgb3DDp8OjbyAtLWZvcmNlIHNlIHJlYWxtZW50ZSBxdWlzZXIgcmVhbGl6YXIgZXN0YSBvcGVyYcOnw6NvXSIKKworI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGhlYWRzIgorI34gbXNnc3RyICJBdmlzbzogSERJT19HRVRHRU8gaW5mb3JtYSBxdWUgaMOhICVsdSBjYWJlw6dhcyIKKworI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IHNlY3RvcnMiCisjfiBtc2dzdHIgIkF2aXNvOiBIRElPX0dFVEdFTyBpbmZvcm1hIHF1ZSBow6EgJWx1IHNldG9yZXMiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBCTEtHRVRTSVpFL0hESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGN5bGluZGVycyIKKyN+IG1zZ3N0ciAiQXZpc286IEJMS0dFVFNJWkUvSERJT19HRVRHRU8gaW5mb3JtYSBxdWUgaMOhICVsdSBjaWxpbmRyb3MiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogdW5saWtlbHkgbnVtYmVyIG9mIHNlY3RvcnMgKCVsdSkgLSB1c3VhbGx5IGF0IG1vc3QgNjNcbiIKKyN+ICJUaGlzIHdpbGwgZ2l2ZSBwcm9ibGVtcyB3aXRoIGFsbCBzb2Z0d2FyZSB0aGF0IHVzZXMgQy9IL1MgYWRkcmVzc2luZy4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdmlzbzogbsO6bWVybyBkZSBzZXRvcmVzIGltcHJvdsOhdmVsICglbHUpIC0gbm9ybWFsbWVudGUgbm8gbcOheGltbyA2My5cbiIKKyN+ICJJc3RvIGNhdXNhcsOhIHByb2JsZW1hcyBhIHRvZG8gc29mdHdhcmUgcXVlIHVzYXIgZW5kZXJlw6dhbWVudG8gQ2lsL0NhYi9TZXRvci4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWx1IGN5bGluZGVycywgJWx1IGhlYWRzLCAlbHUgc2VjdG9ycy90cmFja1xuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzY28gJXM6ICVsdSBjaWxpbmRyb3MsICVsdSBjYWJlw6dhcywgJWx1IHNldG9yZXMvdHJpbGhhXG4iCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIGhlYWQ6ICVsdSAoc2hvdWxkIGJlIGluIDAtJWx1KSIKKyN+IG1zZ3N0ciAiJXMgZGEgcGFydGnDp8OjbyAlcyBwb3NzdWkgdmFsb3IgaW1wb3Nzw612ZWwgcGFyYSBjYWJlw6dhOiAlbHUgKGRldmVyaWEgZXN0YXIgZW50cmUgMCBlICVsdSkiCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIHNlY3RvcjogJWx1IChzaG91bGQgYmUgaW4gMS0lbHUpIgorI34gbXNnc3RyICIlcyBkYSBwYXJ0acOnw6NvICVzIHBvc3N1aSB2YWxvciBpbXBvc3PDrXZlbCBwYXJhIHNldG9yOiAlbHUgKGRldmVyaWEgZXN0YXIgZW50cmUgMSBlICVsdSkiCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIGN5bGluZGVyczogJWx1IChzaG91bGQgYmUgaW4gMC0lbHUpIgorI34gbXNnc3RyICIlcyBkYSBwYXJ0acOnw6NvICVzIHBvc3N1aSB2YWxvciBpbXBvc3PDrXZlbCBwYXJhIG8gY2lsaW5kcm86ICVsdSAoZGV2ZXJpYSBlc3RhciBlbnRyZSAwIGUgJWx1KSIKKworI34gbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSAuLi5cbiIKKyN+IG1zZ3N0ciAiUmVsZW5kbyBhIHRhYmVsYSBkZSBwYXJ0acOnw6NvIC4uLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBjb21tYW5kIHRvIHJlLXJlYWQgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuXG4iCisjfiAiUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB5b3VyIHN5c3RlbSBub3csXG4iCisjfiAiYmVmb3JlIHVzaW5nIG1rZnMiCisjfiBtc2dzdHIgIiIKKyN+ICJPIGNvbWFuZG8gcGFyYSByZWxlciBhIHRhYmVsYSBkZSBwYXJ0acOnw6NvIGZhbGhvdS5cbiIKKyN+ICJFeGVjdXRlIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG91IHJlaW5pY2llIG8gc2V1XG4iCisjfiAic2lzdGVtYSBhZ29yYSwgYW50ZXMgZGUgdXNhciBvIG1rZnMiCisKKyN+IG1zZ2lkICJFcnJvciBjbG9zaW5nICVzIgorI34gbXNnc3RyICJFcnJvIG5vIGZlY2hhbWVudG8gZGUgJXMiCisKKyN+IG1zZ2lkICIlczogbm8gc3VjaCBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiJXM6IHBhcnRpw6fDo28gaW5leGlzdGVudGVcbiIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBmb3JtYXQgLSB1c2luZyBzZWN0b3JzIgorI34gbXNnc3RyICJmb3JtYXRvIG7Do28gcmVjb25oZWNpZG8gLSB1c2FuZG8gc2V0b3JlcyIKKworI34gbXNnaWQgInVuaW1wbGVtZW50ZWQgZm9ybWF0IC0gdXNpbmcgJXMiCisjfiBtc2dzdHIgImZvcm1hdG8gbsOjbyBpbXBsZW1lbnRhZG8gLSB1c2FuZG8gJXMiCisKKyN+IG1zZ2lkICJzZWN0b3JzIgorI34gbXNnc3RyICJzZXRvcmVzIgorCisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiBjeWxpbmRlcnMgb2YgJWx1IGJ5dGVzLCBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiVW5pZGFkZXM6IGNpbGluZHJvcyBkZSAlbHUgYnl0ZXMsIGJsb2NvcyBkZSAxMDI0IGJ5dGVzLCBjb250YW5kbyBkZSAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgU3RhcnQgICAgIEVuZCAgICNjeWxzICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiAgICBEaXNwICBCb290IEluw61jaW8gICAgRmltICAgI2NpbHMgICAgI2Jsb2NvcyAgIElkICBTaXN0ZW1hXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IHNlY3RvcnMgb2YgNTEyIGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVbmlkYWRlczogc2V0b3JlcyBkZSA1MTIgYnl0ZXMsIGNvbnRhbmRvIGEgcGFydGlyIGRlICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgICBTdGFydCAgICAgICBFbmQgICAjc2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICAgRGlzcCAgQm9vdCAgICBJbsOtY2lvICAgICAgRmltICAgI3NldG9yZXMgIElkICBTaXN0ZW1hXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVbmlkYWRlczogYmxvY29zIGRlIDEwMjQgYnl0ZXMsIGNvbnRhbmRvIGRlICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgIFN0YXJ0ICAgICAgIEVuZCAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICAgRGlzcCAgQm9vdCAgICBJbsOtY2lvICAgICAgRmltICAgI2Jsb2NvcyAgSWQgIFNpc3RlbWFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVbml0czogMU1pQiA9IDEwMjQqMTAyNCBieXRlcywgYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVuaWRhZGVzOiAxIE1CID0gMTAyNCoxMDI0IGJ5dGVzLCBibG9jb3MgZGUgMTAyNCBieXRlcywgY29udGFuZG8gZGUgJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290IFN0YXJ0ICAgRW5kICAgIE1pQiAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICAgRGlzcCAgQm9vdCBJbsOtY2lvICBGaW0gICAgIE1CICAgICNibG9jb3MgICBJZCAgU2lzdGVtYVxuIgorCisjfiBtc2dpZCAiXHRcdHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICJcdFx0aW7DrWNpbzogKGNpbCxjYWIsc2V0KSBlc3BlcmFkbyAoJWxkLCVsZCwlbGQpIGVuY29udHJhZG8gKCVsZCwlbGQsJWxkKVxuIgorCisjfiBtc2dpZCAiXHRcdGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiXHRcdGZpbTogKGNpbCxjYWIsc2V0KSBlc3BlcmFkbyAoJWxkLCVsZCwlbGQpIGVuY29udHJhZG8gKCVsZCwlbGQsJWxkKVxuIgorCisjfiBtc2dpZCAicGFydGl0aW9uIGVuZHMgb24gY3lsaW5kZXIgJWxkLCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZGlza1xuIgorI34gbXNnc3RyICJhIHBhcnRpw6fDo28gdGVybWluYSBubyBjaWxpbmRybyAlbGQsIGFsw6ltIGRvIGZpbmFsIGRvIGRpc2NvXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogVGhlIHBhcnRpdGlvbiB0YWJsZSBsb29rcyBsaWtlIGl0IHdhcyBtYWRlXG4iCisjfiAiICBmb3IgQy9IL1M9Ki8lbGQvJWxkIChpbnN0ZWFkIG9mICVsZC8lbGQvJWxkKS5cbiIKKyN+ICJGb3IgdGhpcyBsaXN0aW5nIEknbGwgYXNzdW1lIHRoYXQgZ2VvbWV0cnkuIgorI34gbXNnc3RyICIiCisjfiAiQXZpc286IGEgdGFiZWxhIGRlIHBhcnRpw6fDo28gcGFyZWNlIHRlciBzaWRvIGZlaXRhXG4iCisjfiAiIHBhcmEgQ2lsL0NhYi9TZXQgPSAqLyVsZC8lbGQgKGVtIHZleiBkZSAlbGQvJWxkLyVsZCkuXG4iCisjfiAiUGFyYSBlc3RhIGxpc3RhZ2VtIHNlcsOhIHByZXN1bWlkYSBhcXVlbGEgZ2VvbWV0cmlhLiIKKworI34gbXNnaWQgIm5vIHBhcnRpdGlvbiB0YWJsZSBwcmVzZW50IgorI34gbXNnc3RyICJuZW5odW1hIHRhYmVsYSBkZSBwYXJ0acOnw6NvIHByZXNlbnRlIgorCisjfiBtc2dpZCAic3RyYW5nZSwgb25seSAlZCBwYXJ0aXRpb24gZGVmaW5lZCIKKyN+IG1zZ2lkX3BsdXJhbCAic3RyYW5nZSwgb25seSAlZCBwYXJ0aXRpb25zIGRlZmluZWQiCisjfiBtc2dzdHJbMF0gImVzdHJhbmhvLCBzb21lbnRlICVkIHBhcnRpw6fDo28gZXN0w6EgZGVmaW5pZGEiCisjfiBtc2dzdHJbMV0gImVzdHJhbmhvLCBzb21lbnRlICVkIHBhcnRpw6fDtWVzIGVzdMOjbyBkZWZpbmlkYXMiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBidXQgaXMgbm90IG1hcmtlZCBFbXB0eSIKKyN+IG1zZ3N0ciAiQXZpc286IGEgcGFydGnDp8OjbyAlcyBwb3NzdWkgdGFtYW5obyAwLCBtYXMgbsOjbyBlc3TDoSBtYXJjYWRhIGNvbW8gdmF6aWEiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBhbmQgaXMgYm9vdGFibGUiCisjfiBtc2dzdHIgIkF2aXNvOiBhIHBhcnRpw6fDo28gJXMgcG9zc3VpIHRhbWFuaG8gMCBlIMOpIGluaWNpYWxpesOhdmVsIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIG5vbnplcm8gc3RhcnQiCisjfiBtc2dzdHIgIkF2aXNvOiBhIHBhcnRpw6fDo28gJXMgcG9zc3VpIHRhbWFuaG8gMCBlIGluw61jaW8gZGlmZXJlbnRlIGRlIHplcm8iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb25zICVzIGFuZCAlcyBvdmVybGFwIgorI34gbXNnc3RyICJBdmlzbzogYXMgcGFydGnDp8O1ZXMgJXMgZSAlcyBzb2JyZXDDtWUtc2UiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogcGFydGl0aW9uICVzIGNvbnRhaW5zIHBhcnQgb2YgdGhlIHBhcnRpdGlvbiB0YWJsZSAoc2VjdG9yICVsbHUpLFxuIgorI34gImFuZCB3aWxsIGRlc3Ryb3kgaXQgd2hlbiBmaWxsZWQiCisjfiBtc2dzdHIgIiIKKyN+ICJBdmlzbzogYSBwYXJ0acOnw6NvICVzIGNvbnTDqW0gdW1hIHBhcnRlIGRhIHRhYmVsYSBkZSBwYXJ0acOnw6NvIChzZXRvciAlbGx1KSxcbiIKKyN+ICJlIHZhaSBkZXN0cnXDrS1sYSBxdWFuZG8gcHJlZW5jaGlkYSIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yIDAiCisjfiBtc2dzdHIgIkF2aXNvOiBhIHBhcnRpw6fDo28gJXMgY29tZcOnYSBubyBzZXRvciAwIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGV4dGVuZHMgcGFzdCBlbmQgb2YgZGlzayIKKyN+IG1zZ3N0ciAiQXZpc286IGEgcGFydGnDp8OjbyAlcyBzZSBlc3RlbmRlIGFsw6ltIGRvIGZpbSBkbyBkaXNjbyIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgJWQuJWQgVEIgKCVsbHUgYnl0ZXMpLFxuIgorI34gIndoaWNoIGlzIGxhcmdlciB0aGFuIHRoZSAlbGx1IGJ5dGVzIGxpbWl0IGltcG9zZWRcbiIKKyN+ICJieSB0aGUgRE9TIHBhcnRpdGlvbiB0YWJsZSBmb3IgJWQtYnl0ZSBzZWN0b3JzIgorI34gbXNnc3RyICIiCisjfiAiQXZpc286IGEgcGFydGnDp8OjbyAlcyBwb3NzdWkgdGFtYW5obyAlZC4lZCBUQiAoJWxsdSBieXRlcyksXG4iCisjfiAibyBxdWUgw6kgbWFpb3IgZG8gcXVlIG8gbGltaXRlIGRlICVsbHUgYnl0ZXMgaW1wb3N0b1xuIgorI34gInBlbGEgdGFiZWxhIGRlIHBhcnRpw6fDo28gRE9TIGRvcyBzZXRvcmVzIGRlICVkIGJ5dGVzIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yICVsbHUgKCVkLiVkIFRCIGZvciAlZC1ieXRlIHNlY3RvcnMpLFxuIgorI34gIndoaWNoIGV4Y2VlZHMgdGhlIERPUyBwYXJ0aXRpb24gdGFibGUgbGltaXQgb2YgJWxsdSBzZWN0b3JzIgorI34gbXNnc3RyICIiCisjfiAiQXZpc286IGEgcGFydGnDp8OjbyAlcyBjb21lw6dhIG5vIHNldG9yICVsbHUgKCVkLiVkIFRCIHBhcmEgc2V0b3JlcyBkZSAlZCBieXRlcyksXG4iCisjfiAibyBxdWUgZXhjZWRlIG8gbGltaXRlIGRhIHRhYmVsYSBkZSBwYXJ0acOnw6NvIERPUyBkb3MgJWxsdSBzZXRvcmVzIgorCisjfiBtc2dpZCAiIgorI34gIkFtb25nIHRoZSBwcmltYXJ5IHBhcnRpdGlvbnMsIGF0IG1vc3Qgb25lIGNhbiBiZSBleHRlbmRlZFxuIgorI34gIiAoYWx0aG91Z2ggdGhpcyBpcyBub3QgYSBwcm9ibGVtIHVuZGVyIExpbnV4KSIKKyN+IG1zZ3N0ciAiIgorI34gIkRlbnRyZSBhcyBwYXJ0acOnw7VlcyBwcmltw6FyaWFzLCBwZWxvIG1lbm9zIHVtYSBwb2RlIHNlciBlc3RlbmRpZGFcbiIKKyN+ICIgKGFwZXNhciBkZSBxdWUgaXNzbyBuw6NvIMOpIHVtIHByb2JsZW1hIG5vIExpbnV4KSIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5IgorI34gbXNnc3RyICJBdmlzbzogYSBwYXJ0acOnw6NvICVzIG7Do28gaW5pY2lhIGVtIHVtIGxpbWl0ZSBkZSBjaWxpbmRybyIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBlbmQgYXQgYSBjeWxpbmRlciBib3VuZGFyeSIKKyN+IG1zZ3N0ciAiQXZpc286IGEgcGFydGnDp8OjbyAlcyBuw6NvIHRlcm1pbmEgZW0gdW0gbGltaXRlIGRlIGNpbGluZHJvIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IG1vcmUgdGhhbiBvbmUgcHJpbWFyeSBwYXJ0aXRpb24gaXMgbWFya2VkIGJvb3RhYmxlIChhY3RpdmUpXG4iCisjfiAiVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sIGJ1dCB0aGUgRE9TIE1CUiB3aWxsIG5vdCBib290IHRoaXMgZGlzay4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdmlzbzogbWFpcyBkZSB1bWEgcGFydGnDp8OjbyBwcmltw6FyaWEgZXN0w6EgbWFyY2FkYSBjb21vIGluaWNpYWxpesOhdmVsIChhdGl2YSkuXG4iCisjfiAiSXN0byBuw6NvIGltcG9ydGEgcGFyYSBvIExJTE8sIG1hcyBvIERPUyBNQlIgbsOjbyBpbmljaWFsaXphcsOhIGVzdGUgZGlzY28uIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHVzdWFsbHkgb25lIGNhbiBib290IGZyb20gcHJpbWFyeSBwYXJ0aXRpb25zIG9ubHlcbiIKKyN+ICJMSUxPIGRpc3JlZ2FyZHMgdGhlIGBib290YWJsZScgZmxhZy4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdmlzbzogbm9ybWFsbWVudGUgYSBpbmljaWFsaXphw6fDo28gw6kgcG9zc8OtdmVsIGFwZW5hcyBkZSBwYXJ0acOnw7VlcyBwcmltw6FyaWFzLlxuIgorI34gIk8gTElMTyBkZXNjb25zaWRlcmEgYSBvcMOnw6NvIFwiaW5pY2lhbGl6w6F2ZWxcIi4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogbm8gcHJpbWFyeSBwYXJ0aXRpb24gaXMgbWFya2VkIGJvb3RhYmxlIChhY3RpdmUpXG4iCisjfiAiVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sIGJ1dCB0aGUgRE9TIE1CUiB3aWxsIG5vdCBib290IHRoaXMgZGlzay4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdmlzbzogbmVuaHVtYSBwYXJ0acOnw6NvIHByaW3DoXJpYSBlc3TDoSBtYXJjYWRhIGNvbW8gaW5pY2lhbGl6w6F2ZWwgKGF0aXZhKS5cbiIKKyN+ICJJc3RvIG7Do28gZmF6IGRpZmVyZW7Dp2EgcGFyYSBvIExJTE8sIG1hcyBvIE1CUiBET1MgbsOjbyBpbmljaWFsaXphcsOhIGVzdGUgZGlzY28uIgorCisjfiBtc2dpZCAic3RhcnQiCisjfiBtc2dzdHIgImluw61jaW8iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKSIKKyN+IG1zZ3N0ciAicGFydGnDp8OjbyAlczogaW7DrWNpbzogKGNpbCwgY2FiLCBzZXQpIGVzcGVyYWRvICglbGQsJWxkLCVsZCkgZW5jb250cmFkbyAoJWxkLCVsZCwlbGQpIgorCisjfiBtc2dpZCAiZW5kIgorI34gbXNnc3RyICJmaW0iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgInBhcnRpw6fDo28gJXM6IGZpbTogKGNpbCwgY2FiLCBzZXQpIGVzcGVyYWRvICglbGQsJWxkLCVsZCkgZW5jb250cmFkbyAoJWxkLCVsZCwlbGQpIgorCisjfiBtc2dpZCAicGFydGl0aW9uICVzIGVuZHMgb24gY3lsaW5kZXIgJWxkLCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZGlzayIKKyN+IG1zZ3N0ciAiYSBwYXJ0acOnw6NvICVzIHRlcm1pbmEgbm8gY2lsaW5kcm8gJWxkLCBhbMOpbSBkbyBmaW0gZG8gZGlzY28iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogc2hpZnRlZCBzdGFydCBvZiB0aGUgZXh0ZCBwYXJ0aXRpb24gZnJvbSAlbGxkIHRvICVsbGRcbiIKKyN+ICIoRm9yIGxpc3RpbmcgcHVycG9zZXMgb25seS4gRG8gbm90IGNoYW5nZSBpdHMgY29udGVudHMuKSIKKyN+IG1zZ3N0ciAiIgorI34gIkF2aXNvOiBkZXNsb2NhbWVudG8gaW5pY2lhIG5hIHBhcnRpw6fDo28gZXh0ZCBkZSAgJWxsZCBwYXJhICVsbGRcbiIKKyN+ICJQYXJhIHByb3DDs3NpdG9zIHNvbWVudGUgZGUgbGlzdGFnZW0uIE7Do28gYWx0ZXJlIHNldSBjb250ZcO6ZG8uKSIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBleHRlbmRlZCBwYXJ0aXRpb24gZG9lcyBub3Qgc3RhcnQgYXQgYSBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+ICJET1MgYW5kIExpbnV4IHdpbGwgaW50ZXJwcmV0IHRoZSBjb250ZW50cyBkaWZmZXJlbnRseS4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdmlzbzogYSBwYXJ0acOnw6NvIGVzdGVuZGlkYSBuw6NvIGluaWNpYSBlbSB1bSBsaW1pdGUgZGUgY2lsaW5kcm9cbiIKKyN+ICJET1MgZSBMaW51eCB2w6NvIGludGVycHJldGFyIHNldSBjb250ZcO6ZG8gZGlmZXJlbnRlbWVudGUuIgorCisjfiBtc2dpZCAiRVJST1I6IHNlY3RvciAlbGx1IGRvZXMgbm90IGhhdmUgYW4gbXNkb3Mgc2lnbmF0dXJlIgorI34gbXNnc3RyICJFUlJPOiBvIHNldG9yICVsbHUgbsOjbyBwb3NzdWkgdW1hIGFzc2luYXR1cmEgTVMtRE9TIgorCisjfiBtc2dpZCAidG9vIG1hbnkgcGFydGl0aW9ucyAtIGlnbm9yaW5nIHRob3NlIHBhc3QgbnIgKCV6dSkiCisjfiBtc2dzdHIgIm7Dum1lcm8gZXhjZXNzaXZvIGRlIHBhcnRpw6fDtWVzIC0gaWdub3JhbmRvIGFxdWVsYXMgYWzDqW0gZG8gbsK6ICV6dSIKKworI34gbXNnaWQgInRyZWUgb2YgcGFydGl0aW9ucz8iCisjfiBtc2dzdHIgIsOhcnZvcmUgZGUgcGFydGnDp8O1ZXM/IgorCisjfiBtc2dpZCAiZGV0ZWN0ZWQgRGlzayBNYW5hZ2VyIC0gdW5hYmxlIHRvIGhhbmRsZSB0aGF0IgorI34gbXNnc3RyICJnZXJlbmNpYWRvciBkZSBkaXNjbyBkZXRlY3RhZG8gLSBuw6NvIMOpIHBvc3PDrXZlbCB0cmF0YXIiCisKKyN+IG1zZ2lkICJETTYgc2lnbmF0dXJlIGZvdW5kIC0gZ2l2aW5nIHVwIgorI34gbXNnc3RyICJBc3NpbmF0dXJhIERNNiBlbmNvbnRyYWRhIC0gZGVzaXN0aW5kbyIKKworI34gbXNnaWQgInN0cmFuZ2UuLi4sIGFuIGV4dGVuZGVkIHBhcnRpdGlvbiBvZiBzaXplIDA/IgorI34gbXNnc3RyICJlc3RyYW5oby4uLiB1bWEgcGFydGnDp8OjbyBlc3RlbmRpZGEgZGUgdGFtYW5obyAwPyIKKworI34gbXNnaWQgInN0cmFuZ2UuLi4sIGEgQlNEIHBhcnRpdGlvbiBvZiBzaXplIDA/IgorI34gbXNnc3RyICJlc3RyYW5oby4uLiB1bWEgcGFydGnDp8OjbyBCU0QgZGUgdGFtYW5obyAwPyIKKworI34gbXNnaWQgIi1uIGZsYWcgd2FzIGdpdmVuOiBOb3RoaW5nIGNoYW5nZWQiCisjfiBtc2dzdHIgImEgb3DDp8OjbyAtbiBmb2kgZm9ybmVjaWRhOiBuYWRhIGZvaSBhbHRlcmFkbyIKKworI34gbXNnaWQgIkZhaWxlZCBzYXZpbmcgdGhlIG9sZCBzZWN0b3JzIC0gYWJvcnRpbmdcbiIKKyN+IG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIHNhbHZhciBvcyBzZXRvcmVzIGFudGlnb3MgLSBhYm9ydGFuZG9cbiIKKworI34gbXNnaWQgIkZhaWxlZCB3cml0aW5nIHRoZSBwYXJ0aXRpb24gb24gJXMiCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBncmF2YXIgYSBwYXJ0acOnw6NvIGVtICVzIgorCisjfiBtc2dpZCAibG9uZyBvciBpbmNvbXBsZXRlIGlucHV0IGxpbmUgLSBxdWl0dGluZyIKKyN+IG1zZ3N0ciAibGluaGEgZGUgZW50cmFkYSBsb25nYSBkZW1haXMgb3UgaW5jb21wbGV0YSAtIGVuY2VycmFuZG8iCisKKyN+IG1zZ2lkICJpbnB1dCBlcnJvcjogYD0nIGV4cGVjdGVkIGFmdGVyICVzIGZpZWxkIgorI34gbXNnc3RyICJlcnJvIGRlIGVudHJhZGE6IFwiPVwiIGVzcGVyYWRvIGFww7NzIG8gY2FtcG8gJXMiCisKKyN+IG1zZ2lkICJpbnB1dCBlcnJvcjogdW5leHBlY3RlZCBjaGFyYWN0ZXIgJWMgYWZ0ZXIgJXMgZmllbGQiCisjfiBtc2dzdHIgImVycm8gZGUgZW50cmFkYTogY2FyYWN0ZXJlIGluZXNwZXJhZG8gJWMgYXDDs3MgbyBjYW1wbyAlcyIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBpbnB1dDogJXMiCisjfiBtc2dzdHIgImVudHJhZGEgbsOjbyByZWNvbmhlY2lkYTogJXMiCisKKyN+IG1zZ2lkICJudW1iZXIgdG9vIGJpZyIKKyN+IG1zZ3N0ciAibsO6bWVybyBncmFuZGUgZGVtYWlzIgorCisjfiBtc2dpZCAidHJhaWxpbmcganVuayBhZnRlciBudW1iZXIiCisjfiBtc2dzdHIgImxpeG8gYXDDs3MgbyBuw7ptZXJvIgorCisjfiBtc2dpZCAibm8gcm9vbSBmb3IgcGFydGl0aW9uIGRlc2NyaXB0b3IiCisjfiBtc2dzdHIgInNlbSBlc3Bhw6dvIHBhcmEgbyBkZXNjcml0b3IgZGEgcGFydGnDp8OjbyIKKworI34gbXNnaWQgImNhbm5vdCBidWlsZCBzdXJyb3VuZGluZyBleHRlbmRlZCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBjcmlhciBhIHBhcnRpw6fDo28gZXN0ZW5kaWRhIGVudm9sdMOzcmlhIgorCisjfiBtc2dpZCAidG9vIG1hbnkgaW5wdXQgZmllbGRzIgorI34gbXNnc3RyICJuw7ptZXJvIGV4Y2Vzc2l2byBkZSBjYW1wb3MgZGUgZW50cmFkYSIKKworI34gbXNnaWQgIk5vIHJvb20gZm9yIG1vcmUiCisjfiBtc2dzdHIgIk7Do28gaMOhIGVzcGHDp28gcGFyYSBtYWlzIgorCisjfiBtc2dpZCAiSWxsZWdhbCB0eXBlIgorI34gbXNnc3RyICJUaXBvIGludsOhbGlkbyIKKworI34gbXNnaWQgIldhcm5pbmc6IGdpdmVuIHNpemUgKCVsbHUpIGV4Y2VlZHMgbWF4IGFsbG93YWJsZSBzaXplICglbGx1KSIKKyN+IG1zZ3N0ciAiQXZpc286IHRhbWFuaG8gZGFkbyAoJWxsdSkgZXhjZWRlIG8gdGFtYW5obyBtw6F4aW1vIHBlcm1pdGlkbyAoJWxsdSkiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBiYWQgcGFydGl0aW9uIHN0YXJ0IChlYXJsaWVzdCAlbGx1KSIKKyN+IG1zZ3N0ciAiQXZpc286IGluw61jaW8gZGUgcGFydGnDp8OjbyBpbnbDoWxpZG8gKG1haXMgYWRpYW50YWRvICVsbHUpIgorCisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGJvb3RhYmxlIGZsYWcgLSBjaG9vc2UgLSBvciAqIgorI34gbXNnc3RyICJvcMOnw6NvIGRlIGluaWNpYWxpemHDp8OjbyBuw6NvIHJlY29uaGVjaWRhOiBzZWxlY2lvbmUgLSBvdSAqIgorCisjfiBtc2dpZCAicGFydGlhbCBjLGgscyBzcGVjaWZpY2F0aW9uPyIKKyN+IG1zZ3N0ciAiZXNwZWNpZmljYcOnw6NvIGNpbCxjYWIsc2V0IHBhcmNpYWw/IgorCisjfiBtc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIG5vdCB3aGVyZSBleHBlY3RlZCIKKyN+IG1zZ3N0ciAiUGFydGnDp8OjbyBlc3RlbmRpZGEgbsOjbyBlc3TDoSBubyBsdWdhciBlc3BlcmFkbyIKKworI34gbXNnaWQgImJhZCBpbnB1dCIKKyN+IG1zZ3N0ciAiZW50cmFkYSBpbnbDoWxpZGEiCisKKyN+IG1zZ2lkICJ0b28gbWFueSBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJOw7ptZXJvIGV4Y2Vzc2l2byBkZSBwYXJ0acOnw7VlcyIKKworI34gbXNnaWQgIiIKKyN+ICJJbnB1dCBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDsgYWJzZW50IGZpZWxkcyBnZXQgYSBkZWZhdWx0IHZhbHVlLlxuIgorI34gIjxzdGFydD4gPHNpemU+IDx0eXBlIFtFLFMsTCxYLGhleF0+IDxib290YWJsZSBbLSwqXT4gPGMsaCxzPiA8YyxoLHM+XG4iCisjfiAiVXN1YWxseSB5b3Ugb25seSBuZWVkIHRvIHNwZWNpZnkgPHN0YXJ0PiBhbmQgPHNpemU+IChhbmQgcGVyaGFwcyA8dHlwZT4pLiIKKyN+IG1zZ3N0ciAiIgorI34gIkVudHJhZGEgbm8gZm9ybWF0byBhIHNlZ3VpcjsgY2FtcG9zIGF1c2VudGVzIHJlY2ViZW0gdmFsb3IgcGFkcsOjby5cbiIKKyN+ICI8aW7DrWNpbz4gPHRhbWFuaG8+IDx0aXBvIFtFLFMsTCxYLGhleGFdPiA8aW5pY2lhbGl6w6F2ZWwgWy0sKl0+IDxjaWwsY2FiLHNldD4gPGNpbCxjYWIsc2V0PlxuIgorI34gIk5vcm1hbG1lbnRlIHPDsyDDqSBuZWNlc3PDoXJpbyBlc3BlY2lmaWNhciA8aW7DrWNpbz4gZSA8dGFtYW5obz4gKGUsIHRhbHZleiwgPHRpcG8+KS4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+Li4uXG4iCisjfiBtc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIDxkaXNwb3NpdGl2bz4uLi5cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXMsIC0tc2hvdy1zaXplICAgICAgICAgICBsaXN0IHNpemUgb2YgYSBwYXJ0aXRpb25cbiIKKyN+ICIgLWMsIC0taWQgICAgICAgICAgICAgICAgICBjaGFuZ2Ugb3IgcHJpbnQgcGFydGl0aW9uIElkXG4iCisjfiAiICAgICAtLWNoYW5nZS1pZCAgICAgICAgICAgY2hhbmdlIElkXG4iCisjfiAiICAgICAtLXByaW50LWlkICAgICAgICAgICAgcHJpbnQgSWRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtcywgLS1zaG93LXNpemUgICAgICAgICAgIGxpc3RhIG8gdGFtYW5obyBkZSB1bWEgcGFydGnDp8Ojb1xuIgorI34gIiAtYywgLS1pZCAgICAgICAgICAgICAgICAgIGFsdGVyYSBvdSBleGliZSBvIElEIGRlIHVtYSBwYXJ0acOnw6NvXG4iCisjfiAiICAgICAtLWNoYW5nZS1pZCAgICAgICAgICAgYWx0ZXJhIG8gSURcbiIKKyN+ICIgICAgIC0tcHJpbnQtaWQgICAgICAgICAgICBleGliZSBvIElEXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zIG9mIGVhY2ggZGV2aWNlXG4iCisjfiAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICAgaWRlbSwgYnV0IGluIGEgZm9ybWF0IHN1aXRhYmxlIGZvciBsYXRlciBpbnB1dFxuIgorI34gIiAtaSwgLS1pbmNyZW1lbnQgICAgICAgICAgIG51bWJlciBjeWxpbmRlcnMgZXRjLiBmcm9tIDEgaW5zdGVhZCBvZiBmcm9tIDBcbiIKKyN+ICIgLXUsIC0tdW5pdCA8bGV0dGVyPiAgICAgICB1bml0cyB0byBiZSB1c2VkOyA8bGV0dGVyPiBjYW4gYmUgb25lIG9mXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTIChzZWN0b3JzKSwgQyAoY3lsaW5kZXJzKSwgQiAoYmxvY2tzKSwgb3IgTSAoTUIpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICBsaXN0YSBhcyBwYXJ0acOnw7VlcyBkZSBjYWRhIGRpc3Bvc2l0aXZvXG4iCisjfiAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICAgaWRlbSwgbWFzIGVtIHVtIGZvcm1hdG8gYWRlcXVhZG8gYSBlbnRyYWRhIGV4dGVybmFcbiIKKyN+ICIgLWksIC0taW5jcmVtZW50ICAgICAgICAgICBudW1lcmEgY2lsaW5kcm9zIGV0Yy4gZGUgMSBlbSB2ZXogZGUgMFxuIgorI34gIiAtdSwgLS11bml0IDxsZXRyYT4gICAgICAgIHVuaWRhZGVzIGEgc2VyZW0gdXNhZGFzOyA8bGV0cmE+IHBvZGUgc2VyIGRlbnRyZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUyAoc2V0b3JzKSwgQyAoY2lsaW5kcm9zKSwgQiAoYmxvY29zKSBvdSBNIChNQilcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLTEsIC0tb25lLW9ubHkgICAgICAgICAgICByZXNlcnZlZCBvcHRpb24gdGhhdCBkb2VzIG5vdGhpbmcgY3VycmVudGx5XG4iCisjfiAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgbGlzdCB0aGUga25vd24gcGFydGl0aW9uIHR5cGVzXG4iCisjfiAiIC1ELCAtLURPUyAgICAgICAgICAgICAgICAgZm9yIERPUy1jb21wYXRpYmlsaXR5OiB3YXN0ZSBhIGxpdHRsZSBzcGFjZVxuIgorI34gIiAtRSwgLS1ET1MtZXh0ZW5kZWQgICAgICAgIERPUyBleHRlbmRlZCBwYXJ0aXRpb24gY29tcGF0aWJpbGl0eVxuIgorI34gIiAtUiwgLS1yZS1yZWFkICAgICAgICAgICAgIG1ha2UgdGhlIGtlcm5lbCByZXJlYWQgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC0xLCAtLW9uZS1vbmx5ICAgICAgICAgICAgb3DDp8OjbyByZXNlcnZhZGEgcXVlIGF0dWFsbWVudGUgZmF6IG5hZGFcbiIKKyN+ICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICBsaXN0YSBvcyB0aXBvcyBkZSBwYXJ0acOnw6NvIGNvbmhlY2lkb3NcbiIKKyN+ICIgLUQsIC0tRE9TICAgICAgICAgICAgICAgICBjb21wYXRpYmlsaWRhZGUgY29tIERPUzsgZGVzcGVyZGnDp2EgYWxndW0gZXNwYcOnb1xuIgorI34gIiAtRSwgLS1ET1MtZXh0ZW5kZWQgICAgICAgIGNvbXBhdGliaWxpZGFkZSBjb20gcGFydGnDp8OjbyBlc3RlbmRpZGEgZGUgRE9TXG4iCisjfiAiIC1SLCAtLXJlLXJlYWQgICAgICAgICAgICAgZmF6IG8ga2VybmVsIHJlbGVyIGEgdGFiZWxhIGRlIHBhcnRpw6fDo29cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLU4gPG51bWJlcj4gICAgICAgICAgICAgICBjaGFuZ2Ugb25seSB0aGUgcGFydGl0aW9uIHdpdGggdGhpcyA8bnVtYmVyPlxuIgorI34gIiAtbiAgICAgICAgICAgICAgICAgICAgICAgIGRvIG5vdCBhY3R1YWxseSB3cml0ZSB0byBkaXNrXG4iCisjfiAiIC1PIDxmaWxlPiAgICAgICAgICAgICAgICAgc2F2ZSB0aGUgc2VjdG9ycyB0aGF0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gdG8gPGZpbGU+XG4iCisjfiAiIC1JIDxmaWxlPiAgICAgICAgICAgICAgICAgcmVzdG9yZSBzZWN0b3JzIGZyb20gPGZpbGU+XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLU4gPG7Dum1lcm8+ICAgICAgICAgICAgICAgYWx0ZXJhIGFwZW5hcyBhIHBhcnRpw6fDo28gY29tIGVzdGUgPG7Dum1lcm8+XG4iCisjfiAiIC1uICAgICAgICAgICAgICAgICAgICAgICAgbsOjbyBncmF2YSBubyBkaXNjbywgcmVhbG1lbnRlXG4iCisjfiAiIC1PIDxhcnF1aXZvPiAgICAgICAgICAgICAgc2FsdmEgb3Mgc2V0b3JlcyBxdWUgc2Vyw6NvIHNvYnJlc2NyaXRvcyBlbSA8YXJxdWl2bz5cbiIKKyN+ICIgLUkgPGFycXVpdm8+ICAgICAgICAgICAgICByZXN0YXVyYSBvcyBzZXRvcmVzIGRlIDxhcnF1aXZvPlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtViwgLS12ZXJpZnkgICAgICAgICAgICAgIGNoZWNrIHRoYXQgdGhlIGxpc3RlZCBwYXJ0aXRpb25zIGFyZSByZWFzb25hYmxlXG4iCisjfiAiIC12LCAtLXZlcnNpb24gICAgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1WLCAtLXZlcmlmeSAgICAgICAgICAgICAgdmVyaWZpY2Egc2UgYXMgcGFydGnDp8O1ZXMgbGlzdGFkYXMgc8OjbyByYXpvw6F2ZWlzXG4iCisjfiAiIC12LCAtLXZlcnNpb24gICAgICAgICAgICAgZXhpYmUgaW5mb3JtYcOnw7VlcyBkZSB2ZXJzw6NvIGUgc2FpXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgZXhpYmUgZXN0YSBhanVkYSBlIHNhaVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRhbmdlcm91cyBvcHRpb25zOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiT3DDp8O1ZXMgcGVyaWdvc2FzOlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGNvbnNpc3RlbmN5IGNoZWNraW5nXG4iCisjfiAiICAgICAtLW5vLXJlcmVhZCAgICAgICAgICAgZG8gbm90IGNoZWNrIHdoZXRoZXIgdGhlIHBhcnRpdGlvbiBpcyBpbiB1c2VcbiIKKyN+ICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBzdXBwcmVzcyB3YXJuaW5nIG1lc3NhZ2VzXG4iCisjfiAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgZG8gbm90IGNvbXBsYWluIGFib3V0IHRoaW5ncyBpcnJlbGV2YW50IGZvciBMaW51eFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGVzYXRpdmEgdG9kYXMgYXMgdmVyaWZpY2HDp8O1ZXMgZGUgY29uc2lzdMOqbmNpYVxuIgorI34gIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIG7Do28gdmVyaWZpY2Egc2UgYSBwYXJ0acOnw6NvIGVzdMOhIGVtIHVzb1xuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHJpbWUgbWVuc2FnZW5zIGRlIGF2aXNvXG4iCisjfiAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgbsOjbyByZWNsYW1hIGRlIGNvaXNhcyBpcnJlbGV2YW50ZXMgcGFyYSBvIExpbnV4XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgICAgICAgcHJpbnQgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIGdlb21ldHJ5XG4iCisjfiAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgcHJpbnQgZ2VvbWV0cnkgZ3Vlc3NlZCBmcm9tIHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZywgLS1zaG93LWdlb21ldHJ5ICAgICAgIG1vc3RyYSBhIHN1cG9zacOnw6NvIGRvIGtlcm5lbCBzb2JyZSBhIGdlb21ldHJpYVxuIgorI34gIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIG1vc3RyYSBnZW9tZXRyaWEgYWRpdmluaGFkYSBkYSB0YWJlbGEgZGUgcGFydGnDp8Ojb1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAtQSwgLS1hY3RpdmF0ZVs9PGRldmljZT5dIGFjdGl2YXRlIHRoZSBib290YWJsZSBmbGFnXG4iCisjfiAiIC1VLCAtLXVuaGlkZVs9PGRldmljZT5dICAgc2V0IHBhcnRpdGlvbiBhcyB1bmhpZGRlblxuIgorI34gIiAteCwgLS1zaG93LWV4dGVuZGVkICAgICAgIGFsc28gbGlzdCBleHRlbmRlZCBwYXJ0aXRpb25zIGluIHRoZSBvdXRwdXQsXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBleHBlY3QgZGVzY3JpcHRvcnMgZm9yIHRoZW0gaW4gdGhlIGlucHV0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLUEsIC0tYWN0aXZhdGVbPTxkaXNwb3NpdGl2bz5dXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgYXRpdmEgYSBvcMOnw6NvIGRlIGluaWNpYWxpemHDp8Ojb1xuIgorI34gIiAtVSwgLS11bmhpZGVbPTxkaXNwb3NpdGl2bz5dXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lIGEgcGFydGnDp8OjbyBjb21vIG7Do28gZXNjb25kaWRhXG4iCisjfiAiIC14LCAtLXNob3ctZXh0ZW5kZWQgICAgICAgdGFtYsOpbSBsaXN0YSBhcyBwYXJ0acOnw7VlcyBlc3RlbmRpZGFzIG5hIHNhw61kYVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3UgZXNwZXJhIGRlc2NyaXRvcmVzIHBhcmEgZWxhcyBuYSBlbnRyYWRhXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLWxlYXZlLWxhc3QgICAgICAgICAgZG8gbm90IGFsbG9jYXRlIHRoZSBsYXN0IGN5bGluZGVyXG4iCisjfiAiICAgICAtLUlCTSAgICAgICAgICAgICAgICAgc2FtZSBhcyAtLWxlYXZlLWxhc3RcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1sZWF2ZS1sYXN0ICAgICAgICAgIG7Do28gYWxvY2EgbyDDumx0aW1vIGNpbGluZHJvXG4iCisjfiAiICAgICAtLUlCTSAgICAgICAgICAgICAgICAgbyBtZXNtbyBxdWUgLS1sZWF2ZS1sYXN0XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLWluLW9yZGVyICAgICAgICAgICAgcGFydGl0aW9ucyBhcmUgaW4gb3JkZXJcbiIKKyN+ICIgICAgIC0tbm90LWluLW9yZGVyICAgICAgICBwYXJ0aXRpb25zIGFyZSBub3QgaW4gb3JkZXJcbiIKKyN+ICIgICAgIC0taW5zaWRlLW91dGVyICAgICAgICBhbGwgbG9naWNhbHMgaW5zaWRlIG91dGVybW9zdCBleHRlbmRlZFxuIgorI34gIiAgICAgLS1ub3QtaW5zaWRlLW91dGVyICAgIG5vdCBhbGwgbG9naWNhbHMgaW5zaWRlIG91dGVybW9zdCBleHRlbmRlZFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLWluLW9yZGVyICAgICAgICAgICAgcGFydGnDp8O1ZXMgZXN0w6NvIGVtIG9yZGVtXG4iCisjfiAiICAgICAtLW5vdC1pbi1vcmRlciAgICAgICAgcGFydGnDp8O1ZXMgbsOjbyBlc3TDo28gZW0gb3JkZW1cbiIKKyN+ICIgICAgIC0taW5zaWRlLW91dGVyICAgICAgICB0b2RhcyBhcyBwYXJ0acOnw7VlcyBsw7NnaWNhcyBlbSB1bWEgZXN0ZW5kaWRhXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpcyBhZmFzdGFkYSBkbyBpbsOtY2lvXG4iCisjfiAiICAgICAtLW5vdC1pbnNpZGUtb3V0ZXIgICAgdG9kYXMgYXMgcGFydGnDp8O1ZXMgbsOjbyBsw7NnaWNhcyBlbSB1bWEgZXN0ZW5kaWRhXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWlzIGFmYXN0YWRhIGRvIGluw61jaW9cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tbmVzdGVkICAgICAgICAgICAgICBldmVyeSBwYXJ0aXRpb24gaXMgZGlzam9pbnQgZnJvbSBhbGwgb3RoZXJzXG4iCisjfiAiICAgICAtLWNoYWluZWQgICAgICAgICAgICAgbGlrZSBuZXN0ZWQsIGJ1dCBleHRlbmRlZCBwYXJ0aXRpb25zIG1heSBsaWUgb3V0c2lkZVxuIgorI34gIiAgICAgLS1vbmVzZWN0b3IgICAgICAgICAgIHBhcnRpdGlvbnMgYXJlIG11dHVhbGx5IGRpc2pvaW50XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tbmVzdGVkICAgICAgICAgICAgICB0b2RhcyBhcyBwYXJ0acOnw7VlcyBlc3TDo28gZGVzY29uZWN0YWRhcyB1bWFzXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgZGFzIG91dHJhc1xuIgorI34gIiAgICAgLS1jaGFpbmVkICAgICAgICAgICAgIGNvbW8gZW0gXCJuZXN0ZWRcIiwgbWFzIGFzIHBhcnRpw6fDtWVzIGVzdGVuZGlkYXNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2RlbSBmaWNhciBmb3JhXG4iCisjfiAiICAgICAtLW9uZXNlY3RvciAgICAgICAgICAgYXMgcGFydGnDp8O1ZXMgZXN0w6NvIG11dHVhbWVudGUgZGVzY29uZWN0YWRhc1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk92ZXJyaWRlIHRoZSBkZXRlY3RlZCBnZW9tZXRyeSB1c2luZzpcbiIKKyN+ICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICBzZXQgdGhlIG51bWJlciBvZiBjeWxpbmRlcnMgdG8gdXNlXG4iCisjfiAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgc2V0IHRoZSBudW1iZXIgb2YgaGVhZHMgdG8gdXNlXG4iCisjfiAiIC1TLCAtLXNlY3RvcnMgPG51bWJlcj4gICAgc2V0IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyB0byB1c2VcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlNvYnJlc2NyZXZhIGEgZ2VvbWV0cmlhIGRldGVjdGFkYSB1c2FuZG86XG4iCisjfiAiIC1DLCAtLWN5bGluZGVycyA8bsO6bWVybz4gIGRlZmluZSBvIG7Dum1lcm8gZGUgY2lsaW5kcm9zIGEgc2VyIHVzYWRvXG4iCisjfiAiIC1ILCAtLWhlYWRzIDxuw7ptZXJvPiAgICAgIGRlZmluZSBvIG7Dum1lcm8gZGUgY2FiZcOnYXMgYSBzZXIgdXNhZG9cbiIKKyN+ICIgLVMsIC0tc2VjdG9ycyA8bsO6bWVybz4gICAgZGVmaW5lIG8gbsO6bWVybyBkZSBzZXRvcmVzIGEgc2VyIHVzYWRvXG4iCisKKyN+IG1zZ2lkICIgJXMlc2RldmljZSAgICAgICAgICAgIGxpc3QgYWN0aXZlIHBhcnRpdGlvbnMgb24gZGV2aWNlXG4iCisjfiBtc2dzdHIgIiAlcyVzZGlzcG9zaXRpdm8gICAgICAgbGlzdGEgcGFydGnDp8O1ZXMgYXMgYXRpdmFzIG5vIGRpc3Bvc2l0aXZvXG4iCisKKyN+IG1zZ2lkICIgJXMlc2RldmljZSBuMSBuMiAuLi4gIGFjdGl2YXRlIHBhcnRpdGlvbnMgbjEgLi4uLCBpbmFjdGl2YXRlIHRoZSByZXN0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgJXMlc2Rpc3Bvc2l0aXZvIG4xIG4yIC4uLlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgYXRpdmEgYXMgcGFydGnDp8O1ZXMgbjEuLi4sIGRlc2F0aXZhbmRvIGFzIGRlbWFpc1xuIgorCisjfiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgcGFydGl0aW9ucyBhcmd1bWVudCIKKyN+IG1zZ3N0ciAibsO6bWVybyBpbnbDoWxpZG8gZGUgYXJndW1lbnRvIGRlIHBhcnRpw6fDtWVzIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyICVzXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0tcHJpbnQtaWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIiCisjfiBtc2dzdHIgInVzbzogc2ZkaXNrIC0tcHJpbnQtaWQgZGlzcG9zaXRpdm8gbsO6bWVyby1wYXJ0acOnw6NvIgorCisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLWNoYW5nZS1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciBJZCIKKyN+IG1zZ3N0ciAidXNvOiBzZmRpc2sgLS1jaGFuZ2UtaWQgZGlzcG9zaXRpdm8gbsO6bWVyby1wYXJ0acOnw6NvIElEIgorCisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyIFtJZF0iCisjfiBtc2dzdHIgInVzbzogc2ZkaXNrIC0taWQgZGlzcG9zaXRpdm8gbsO6bWVyby1wYXJ0acOnw6NvIFtJRF0iCisKKyN+IG1zZ2lkICJjYW4gc3BlY2lmeSBvbmx5IG9uZSBkZXZpY2UgKGV4Y2VwdCB3aXRoIC1sIG9yIC1zKSIKKyN+IG1zZ3N0ciAicG9kZSBlc3BlY2lmaWNhciBzb21lbnRlIHVtIGRpc3Bvc2l0aXZvIChleGNldG8gY29tIC1sIG91IC1zKSIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzIHJlYWQtd3JpdGUiCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAlcyBwYXJhIGxlaXR1cmEgZSBncmF2YcOnw6NvIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgZm9yIHJlYWRpbmciCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAlcyBwYXJhIGxlaXR1cmEiCisKKyN+IG1zZ2lkICIlczogT0siCisjfiBtc2dzdHIgIiVzOiBPSyIKKworI34gbXNnaWQgIiVzOiAlbGQgY3lsaW5kZXJzLCAlbGQgaGVhZHMsICVsZCBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIiVzOiAlbGQgY2lsaW5kcm9zLCAlbGQgY2FiZcOnYXMsICVsZCBzZXRvcmVzL3RyaWxoYVxuIgorCisjfiBtc2dpZCAiYmFkIGFjdGl2ZSBieXRlOiAweCV4IGluc3RlYWQgb2YgMHg4MCIKKyN+IG1zZ3N0ciAiYnl0ZSBhdGl2byBpbnbDoWxpZG86IDB4JXggZW0gdmV6IGRlIDB4ODAiCisKKyN+IG1zZ2lkICJEb25lIgorI34gbXNnc3RyICJDb25jbHXDrWRvIgorCisjfiBtc2dpZCAiIgorI34gIllvdSBoYXZlICVkIGFjdGl2ZSBwcmltYXJ5IHBhcnRpdGlvbnMuIFRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLFxuIgorI34gImJ1dCB0aGUgRE9TIE1CUiB3aWxsIG9ubHkgYm9vdCBhIGRpc2sgd2l0aCAxIGFjdGl2ZSBwYXJ0aXRpb24uIgorI34gbXNnc3RyICIiCisjfiAiVm9jw6ogcG9zc3VpICVkIHBhcnRpw6fDtWVzIHByaW3DoXJpYXMgYXRpdmFzLiBJc3RvIG7Do28gZmF6IGRpZmVyZW7Dp2EgcGFyYSBvXG4iCisjfiAiTElMTywgbWFzIG8gTUJSIERPUyBzw7MgaW5pY2lhbGl6YXLDoSBlbSBkaXNjb3MgY29tIHVtYSBwYXJ0acOnw6NvIGF0aXZhLiIKKworI34gbXNnaWQgInBhcnRpdGlvbiAlcyBoYXMgaWQgJXggYW5kIGlzIG5vdCBoaWRkZW4iCisjfiBtc2dzdHIgImEgcGFydGnDp8OjbyAlcyBwb3NzdWkgSUQgJXggZSBuw6NvIGVzdMOhIGVzY29uZGlkYSIKKworI34gbXNnaWQgIkJhZCBJZCAlbHgiCisjfiBtc2dzdHIgIklEIGludsOhbGlkYTogJWx4IgorCisjfiBtc2dpZCAiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UuIgorI34gbXNnc3RyICJFc3RlIGRpc2NvIGVzdMOhIGF0dWFsbWVudGUgc2VuZG8gdXNhZG8uIgorCisjfiBtc2dpZCAiRmF0YWwgZXJyb3I6IGNhbm5vdCBmaW5kICVzIgorI34gbXNnc3RyICJFcnJvIGZhdGFsOiBuw6NvIGZvaSBwb3Nzw612ZWwgZW5jb250cmFyICVzIgorCisjfiBtc2dpZCAiV2FybmluZzogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJBdmlzbzogJXMgbsOjbyDDqSB1bSBkaXNwb3NpdGl2byBkZSBibG9jbyIKKworI34gbXNnaWQgIk9LIgorI34gbXNnc3RyICJPSyIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBleGlzdCwgY2Fubm90IGNoYW5nZSBpdCIKKyN+IG1zZ3N0ciAiQSBwYXJ0acOnw6NvICVkIG7Do28gZXhpc3RlOyBuw6NvIMOpIHBvc3PDrXZlbCBhbHRlcsOhLWxhIgorCisjfiBtc2dpZCAiIgorI34gIkkgZG9uJ3QgbGlrZSB0aGVzZSBwYXJ0aXRpb25zIC0gbm90aGluZyBjaGFuZ2VkLlxuIgorI34gIihJZiB5b3UgcmVhbGx5IHdhbnQgdGhpcywgdXNlIHRoZSAtLWZvcmNlIG9wdGlvbi4pIgorI34gbXNnc3RyICIiCisjfiAiRXUgbsOjbyBnb3N0byBkZXN0YXMgcGFydGnDp8O1ZXM6IG5hZGEgZm9pIGFsdGVyYWRvLlxuIgorI34gIihzZSB2b2PDqiByZWFsbWVudGUgcXVpc2VyIHVzw6EtbGFzLCB1c2UgYSBvcMOnw6NvIC0tZm9yY2UpIgorCisjfiBtc2dpZCAiSSBkb24ndCBsaWtlIHRoaXMgLSBwcm9iYWJseSB5b3Ugc2hvdWxkIGFuc3dlciBObyIKKyN+IG1zZ3N0ciAiRXUgbsOjbyBnb3N0byBkaXN0byAtIHByb3ZhdmVsbWVudGUgdm9jw6ogZGV2ZXJpYSByZXNwb25kZXIgTsOjbyIKKworI34gbXNnaWQgIkFyZSB5b3Ugc2F0aXNmaWVkIHdpdGggdGhpcz8gW3lucV0gIgorI34gbXNnc3RyICJWb2PDqiBlc3TDoSBzYXRpc2ZlaXRvIGNvbSBpc3RvPyBbc25mXSAiCisKKyMgdXRpbGl6YW5kbyB0ZXJtbyBmZWNoYW5kbyBwYXJhIHVzYXIgJ2YnIG5hcyBvcMOnw7VlcworI34gbXNnaWQgIlF1aXR0aW5nIC0gbm90aGluZyBjaGFuZ2VkIgorI34gbXNnc3RyICJGZWNoYW5kbyAtIG5hZGEgZm9pIGFsdGVyYWRvIgorCisjfiBtc2dpZCAiUGxlYXNlIGFuc3dlciBvbmUgb2YgeSxuLHFcbiIKKyN+IG1zZ3N0ciAiUG9yIGZhdm9yLCByZXNwb25kYSBzLCBuIG91IGZcbiIKKworI34gbXNnaWQgIiIKKyN+ICJTdWNjZXNzZnVsbHkgd3JvdGUgdGhlIG5ldyBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIk5vdmEgdGFiZWxhIGRlIHBhcnRpw6fDo28gZ3JhdmFkYSBjb20gc3VjZXNzb1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIklmIHlvdSBjcmVhdGVkIG9yIGNoYW5nZWQgYSBET1MgcGFydGl0aW9uLCAvZGV2L2ZvbzcsIHNheSwgdGhlbiB1c2UgZGQoMSlcbiIKKyN+ICJ0byB6ZXJvIHRoZSBmaXJzdCA1MTIgYnl0ZXM6ICBkZCBpZj0vZGV2L3plcm8gb2Y9L2Rldi9mb283IGJzPTUxMiBjb3VudD0xXG4iCisjfiAiKFNlZSBmZGlzayg4KS4pIgorI34gbXNnc3RyICIiCisjfiAiU2Ugdm9jw6ogY3Jpb3Ugb3UgYWx0ZXJvdSB1bWEgcGFydGnDp8OjbyBET1MsIHBvciBleGVtcGxvLCAvZGV2L2ZvbzcsIHVzZSBkZCgxKVxuIgorI34gInBhcmEgemVyYXIgb3MgcHJpbWVpcm9zIDUxMiBieXRlczogIGRkIGlmPS9kZXYvemVybyBvZj0vZGV2L2ZvbzcgYnM9NTEyIGNvdW50PTFcbiIKKyN+ICIoY29uc3VsdGUgZmRpc2soOCkpLiIKKworI34gbXNnaWQgImdldHRpbWVvZmRheSBmYWlsZWQiCisjfiBtc2dzdHIgImdldHRpbWVvZmRheSBmYWxob3UiCisKKyN+IG1zZ2lkICJzeXNpbmZvIGZhaWxlZCIKKyN+IG1zZ3N0ciAic3lzaW5mbyBmYWxob3UiCisKKyN+IG1zZ2lkICJ0eXBlOiAlZCIKKyN+IG1zZ3N0ciAidGlwbzogJWQiCisKKyN+IG1zZ2lkICJkaXNrOiAlLipzIgorI34gbXNnc3RyICJ1bmlkYWRlOiAlLipzIgorCisjfiBtc2dpZCAibGFiZWw6ICUuKnMiCisjfiBtc2dzdHIgInLDs3R1bG86ICUuKnMiCisKKyN+IG1zZ2lkICJmbGFnczogJXMiCisjfiBtc2dzdHIgIm9ww6fDtWVzOiAlcyIKKworI34gbXNnaWQgImJ5dGVzL3NlY3RvcjogJWxkIgorI34gbXNnc3RyICJieXRlcy9zZXRvcjogJWxkIgorCisjfiBtc2dpZCAic2VjdG9ycy90cmFjazogJWxkIgorI34gbXNnc3RyICJzZXRvcmVzL3RyaWxoYTogJWxkIgorCisjfiBtc2dpZCAidHJhY2tzL2N5bGluZGVyOiAlbGQiCisjfiBtc2dzdHIgInRyaWxoYXMvY2lsaW5kcm86ICVsZCIKKworI34gbXNnaWQgInNlY3RvcnMvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAic2V0b3Jlcy9jaWxpbmRybzogJWxkIgorCisjfiBtc2dpZCAiY3lsaW5kZXJzOiAlbGQiCisjfiBtc2dzdHIgImNpbGluZHJvczogJWxkIgorCisjfiBtc2dpZCAicnBtOiAlZCIKKyN+IG1zZ3N0ciAiUlBNOiAlZCIKKworI34gbXNnaWQgImludGVybGVhdmU6ICVkIgorI34gbXNnc3RyICJpbnRlcmxlYXZlOiAlZCIKKworI34gbXNnaWQgInRyYWNrc2tldzogJWQiCisjfiBtc2dzdHIgInRyYWNrc2tldzogJWQiCisKKyN+IG1zZ2lkICJjeWxpbmRlcnNrZXc6ICVkIgorI34gbXNnc3RyICJjeWxpbmRlcnNrZXc6ICVkIgorCisjfiBtc2dpZCAiaGVhZHN3aXRjaDogJWxkIChtaWxsaXNlY29uZHMpIgorI34gbXNnc3RyICJoZWFkc3dpdGNoOiAlbGQgKG1pbGlzc2VndW5kb3MpIgorCisjfiBtc2dpZCAidHJhY2stdG8tdHJhY2sgc2VlazogJWxkIChtaWxsaXNlY29uZHMpIgorI34gbXNnc3RyICJidXNjYSB0cmlsaGEgYSB0cmlsaGE6ICVsZCAobWlsaXNzZWd1bmRvcykiCisKKyN+IG1zZ2lkICJwYXJ0aXRpb25zOiAlZCIKKyN+IG1zZ3N0ciAicGFydGnDp8O1ZXM6ICVkIgorCisjfiBtc2dpZCAiWW91IGNhbm5vdCBjaGFuZ2UgYSBwYXJ0aXRpb24gaW50byBhbiBleHRlbmRlZCBvbmUgb3IgdmljZSB2ZXJzYS4gRGVsZXRlIGl0IGZpcnN0LiIKKyN+IG1zZ3N0ciAiVm9jw6ogbsOjbyBwb2RlIGFsdGVyYXIgdW1hIHBhcnRpw6fDo28gbm9ybWFsIHBhcmEgZXN0ZW5kaWRhIG91IHZpY2UtdmVyc2EuIEV4Y2x1YSBhIHBhcnRpw6fDo28gYW50ZXMuIgorCisjfiBtc2dpZCAiSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnkgRE9TIDYueCBwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBmZGlzayBkb2N1bWVudGF0aW9uIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLiIKKyN+IG1zZ3N0ciAiU2Ugdm9jw6ogdGl2ZXIgY3JpYWRvIG91IG1vZGlmaWNhZG8gcXVhbHF1ZXIgcGFydGnDp8OjbyBET1MgNi54LCBwb3IgZmF2b3IgY29uc3VsdGUgYSBww6FnaW5hIGRlIGRvY3VtZW50YcOnw6NvIGRvIGZkaXNrIHBhcmEgb2J0ZXIgaW5mb3JtYcOnw7VlcyBhZGljaW9uYWlzLiIKKworI34gbXNnaWQgIiIKKyN+ICJMYWJlbCBnZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9yc1xuIgorI34gIiAgICAgICAgICAgICAgICAlbGx1IGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJHZW9tZXRyaWEgZGUgcsOzdHVsbzogJWQgY2FiZcOnYXMsICVsbHUgc2V0b3Jlc1xuIgorI34gIiAgICAgICAgICAgICAgICAlbGx1IGNpbGluZHJvcywgJWQgY2lsaW5kcm9zIGbDrXNpY29zXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIHNldC4gZXh0cmFzL2NpbGlkLiwgaW50ZXJsZWF2ZSAlZDoxXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiTGFiZWwgZ2VvbWV0cnk6ICVkIHJwbSwgJWQgYWx0ZXJuYXRlIGFuZCAlZCBwaHlzaWNhbCBjeWxpbmRlcnMsXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxIgorI34gbXNnc3RyICIiCisjfiAiR2VvbWV0cmlhIHLDs3R1bG86ICVkIHJwbSwgJWQgY2lsaW5kcm9zIGFsdGVybmFkb3MgZSAlZCBmw61zaWNvcyxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAlZCBzZXQuL2NpbC4gZXh0cmFzLCBpbnRlcmxlYXZlICVkOjEiCisKKyN+IG1zZ2lkICI8bm9uZT4iCisjfiBtc2dzdHIgIjxuZW5odW1hPiIKKworI34gbXNnaWQgImZpZWxkIGlzIHRvbyBsb25nIgorI34gbXNnc3RyICJjYW1wbyBsb25nbyBkZW1haXMiCisKKyN+IG1zZ2lkICIlczogJyVjJyBpcyBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJXM6IFwiJWNcIiBuw6NvIMOpIHBlcm1pdGlkbyIKKworI34gbXNnaWQgIiclYycgaXMgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIlwiJWNcIiBuw6NvIMOpIHBlcm1pdGlkbyIKKworI34gbXNnaWQgIiVzOiBjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICIlczogY2FyYWN0ZXJlcyBkZSBjb250cm9sZSBuw6NvIHPDo28gcGVybWl0aWRvcyIKKworI34gbXNnaWQgImNvbnRyb2wgY2hhcmFjdGVycyBhcmUgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgImNhcmFjdGVyZXMgZGUgY29udHJvbGUgbsOjbyBzw6NvIHBlcm1pdGlkb3MiCisKKyN+IG1zZ2lkICJ1c2FnZTogbGFzdCBbLSNdIFstZiBmaWxlXSBbLXQgdHR5XSBbLWggaG9zdG5hbWVdIFt1c2VyIC4uLl1cbiIKKyN+IG1zZ3N0ciAidXNvOiBsYXN0IFstI10gWy1mIGFycXVpdm9dIFstdCB0dHldIFstaCBub21lLW3DoXF1aW5hXSBbdXN1w6FyaW8gLi4uXVxuIgorCisjfiBtc2dpZCAiJXM6IG1tYXAgZmFpbGVkIgorI34gbXNnc3RyICIlczogbW1hcCBmYWxob3UiCisKKyN+IG1zZ2lkICIgIHN0aWxsIGxvZ2dlZCBpbiIKKyN+IG1zZ3N0ciAiICBhaW5kYSBjb25lY3RhZG8iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAid3RtcCBiZWdpbnMgJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJ3dG1wIGluaWNpYSAlcyIKKworI34gbXNnaWQgImdldGhvc3RuYW1lIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZ2V0aG9zdG5hbWUgZmFsaG91IgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImludGVycnVwdGVkICUxMC4xMHMgJTUuNXMgXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJpbnRlcnJvbXBpZG8gJTEwLjEwcyAlNS41cyBcbiIKKworI34gbXNnaWQgIiAtbSwgLS1zdXBwLWdyb3VwcyAgICAgICAgZGlzcGxheSBzdXBwbGVtZW50YXJ5IGdyb3VwcyBhcyB3ZWxsXG4iCisjfiBtc2dzdHIgIiAtbSwgLS1zdXBwLWdyb3VwcyAgICAgICAgZXhpYmUgdGFtYsOpbSBncnVwb3Mgc3VtcGxlbWVudGFyZXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBkZXRhaWxzIHNlZSBsc2xvZ2lucygxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBhcmEgbWFpcyBkZXRhbGhlcywgdmVqYSBsc2xvZ2lucygxKS5cbiIKKworI34gbXNnaWQgImNyeXB0KCkgZmFpbGVkIgorI34gbXNnc3RyICJjcnlwdCgpIGZhbGhvdSIKKworI34gbXNnaWQgIiVzOiBzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IGZhbGhhIGFvIG9idGVyIGVzdGFkbyBkbyBhcnF1aXZvIgorCisjfiBtc2dpZCAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgVGhpcyBzbWFsbCB1c2FnZSBndWlkZVxuIgorI34gbXNnc3RyICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBNb3N0cmEgZXN0ZSBwZXF1ZW5vIGd1aWEgZGUgdXNvXG4iCisKKyN+IG1zZ2lkICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBPdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvblxuIgorI34gbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgaW5mb3JtYcOnw7VlcyBkZSB2ZXJzw6NvXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgdXNlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIKKyN+ICIgLWQsIC0tYWxwaGFudW0gICAgICAgICBjb21wYXJlIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcbiIKKyN+ICIgLWYsIC0taWdub3JlLWNhc2UgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorI34gIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+IGRlZmluZSBzdHJpbmcgdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgdXNhIHVtIGRpY2lvbsOhcmlvIGFsdGVybmF0aXZvXG4iCisjfiAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgY29tcGFyYSBhcGVuYXMgY2FyYWN0ZXJlcyBhbGZhbnVtw6lyaWNvc1xuIgorI34gIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgIGlnbm9yYSBkaWZlcmVuw6dhIGVudHJlIG1hacO6c2N1bG8gZSBtaW7DunNjdWxvXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgbmEgY29tcGFyYcOnw6NvXG4iCisjfiAiIC10LCAtLXRlcm1pbmF0ZSA8Y2hhcj4gZGVmaW5lIG8gY2FyYWN0ZXJlIGRlIHTDqXJtaW5vIGRlIHRleHRvc1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIGV4aWJlIGluZm9ybWHDp8OjbyBkYSB2ZXJzw6NvIGUgc2FpXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZXhpYmUgZXN0YSBhanVkYSBlIHNhaVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHByb2Nlc3MgaWRcbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCisjfiAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgaWQgZG8gcHJvY2Vzc29cbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDxsaXN0YT4gICBkZWZpbmUgcXVhaXMgY29sdW5hcyB1c2FyXG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgbsOjbyBleGliZSBjYWJlw6dhbGhvc1xuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzYSBvIGZvcm1hdG8gZGUgc2HDrWRhIG7Do28gdHJhdGFkb1xuIgorI34gIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIG7Do28gdHJ1bmNhIG8gdGV4dG8gbmFzIGNvbHVuYXNcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICBleGliZSBlc3RhIGFqdWRhIGUgc2FpXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgZXhpYmUgaW5mb3JtYcOnw6NvIGRhIHZlcnPDo28gZSBzYWlcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbmFtZWkoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQYXJhIG1haXMgaW5mb3JtYcOnw7VlcywgdmVqYSBuYW1laSgxKS5cbiIKKworI34gbXNnaWQgIiVzOiBsc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiBsc3RhdCBmYWxob3UiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHdpcGVmcyg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBhcmEgbWFpcyBpbmZvcm1hw6fDtWVzLCB2ZWphIHdpcGVmcyg4KS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJTY2hlZHVsaW5nIHBvbGljaWVzOlxuIgorI34gIiAgLWIgfCAtLWJhdGNoICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorI34gIiAgLWYgfCAtLWZpZm8gICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9GSUZPXG4iCisjfiAiICAtaSB8IC0taWRsZSAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKKyN+ICIgIC1vIHwgLS1vdGhlciAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIKKyN+ICIgIC1yIHwgLS1yciAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQb2zDrXRpY2FzIGRlIGFnZW5kYW1lbnRvOlxuIgorI34gIiAgLWIgfCAtLWJhdGNoICAgICAgICAgY29uZmlndXJhIHBvbMOtdGljYSBlbSBTQ0hFRF9CQVRDSFxuIgorI34gIiAgLWYgfCAtLWZpZm8gICAgICAgICAgY29uZmlndXJhIHBvbMOtdGljYSBlbSBTQ0hFRF9GSUZPXG4iCisjfiAiICAtaSB8IC0taWRsZSAgICAgICAgICBjb25maWd1cmEgcG9sw610aWNhIGVtIFNDSEVEX0lETEVcbiIKKyN+ICIgIC1vIHwgLS1vdGhlciAgICAgICAgIGNvbmZpZ3VyYSBwb2zDrXRpY2EgZW0gU0NIRURfT1RIRVJcbiIKKyN+ICIgIC1yIHwgLS1yciAgICAgICAgICAgIGNvbmZpZ3VyYSBwb2zDrXRpY2EgZW0gU0NIRURfUlIgKHBhZHLDo28pXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgIC1hIHwgLS1hbGwtdGFza3MgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscFxuIgorI34gIiAgLW0gfCAtLW1heCAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCisjfiAiICAtcCB8IC0tcGlkICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorI34gIiAgLXYgfCAtLXZlcmJvc2UgICAgICAgZGlzcGxheSBzdGF0dXMgaW5mb3JtYXRpb25cbiIKKyN+ICIgIC1WIHwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJPcMOnw7VlczpcbiIKKyN+ICIgIC1hIHwgLS1hbGwtdGFza3MgICAgIG9wZXJhIG5hcyB0YXJlZmFzICh0aHJlYWRzKSBkZSB1bSBwaWQgZm9ybmVjaWRvXG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgICBleGliZSBlc3RhIGFqdWRhXG4iCisjfiAiICAtbSB8IC0tbWF4ICAgICAgICAgICBtb3N0cmEgcHJpb3JpZGFkZXMgbcOtbmltYXMgZSBtw6F4aW1hcyB2w6FsaWRhc1xuIgorI34gIiAgLXAgfCAtLXBpZCAgICAgICAgICAgb3BlcmEgbm8gcGlkIGV4aXN0ZW50ZSBmb3JuZWNpZG9cbiIKKyN+ICIgIC12IHwgLS12ZXJib3NlICAgICAgIGV4aWJlIGluZm9ybWHDp8OjbyBkZSBlc3RhZG9cbiIKKyN+ICIgIC1WIHwgLS12ZXJzaW9uICAgICAgIGV4aWJlIGluZm9ybWHDp8OjbyBkZSB2ZXJzw6NvXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHRhc2tzZXQoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQYXJhIG1haXMgaW5mb3JtYcOnw7VlcywgdmVqYSB0YXNrc2V0KDEpLlxuIgorCisjfiBtc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLW1hbnVhbGVqZWN0Ly1pIG9wdGlvbiIKKyN+IG1zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBwYXJhIGEgb3DDp8OjbyAtLW1hbnVhbGVqZWN0Ly1pIgorCisjfiBtc2dpZCAiJXM6IGlzIHJlbW92YWJsZSBkZXZpY2UiCisjfiBtc2dzdHIgIiVzOiDDqSB1bSBkaXNwb3NpdGl2byByZW1vdsOtdmVsIgorCisjfiBtc2dpZCAiJXM6IGNvbm5lY3RlZCBieSBob3RwbHVnIHN1YnN5c3RlbTogJXMiCisjfiBtc2dzdHIgIiVzOiBjb25lY3RhZG8gcGVsbyBzaXN0ZW1hIGRlIGhvdHBsdWc6ICVzIgorCisjfiBtc2dpZCAidGltZW91dCBjYW5ub3QgYmUgemVybyIKKyN+IG1zZ3N0ciAidGVtcG8gbGltaXRlIG7Do28gcG9kZSBzZXIgemVybyIKKworI34gbXNnaWQgIk5lZWQgdG8gaW5zZXJ0ICVkIHNlY29uZCBhbmQgcmVmZXIgdGltZSBiYWNrICUuNmYgc2Vjb25kcyBhZ29cbiIKKyN+IG1zZ2lkX3BsdXJhbCAiTmVlZCB0byBpbnNlcnQgJWQgc2Vjb25kcyBhbmQgcmVmZXIgdGltZSBiYWNrICUuNmYgc2Vjb25kcyBhZ29cbiIKKyN+IG1zZ3N0clswXSAiw4kgbmVjZXNzw6FyaW8gaW5zZXJpciAlZCBzZWd1bmRvcyBlIHJlZmVyZW5jaWFyIGEgaG9yYSBkZSAlLjZmIHNlZ3VuZG8gYXRyw6FzXG4iCisjfiBtc2dzdHJbMV0gIsOJIG5lY2Vzc8OhcmlvIGluc2VyaXIgJWQgc2VndW5kb3MgZSByZWZlcmVuY2lhciBhIGhvcmEgZGUgJS42ZiBzZWd1bmRvcyBhdHLDoXNcbiIKKworI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIGNoYW5nZSB0aGUgU3lzdGVtIENsb2NrLiIKKyN+IG1zZ3N0ciAiRGVzY3VscGUsIGFwZW5hcyBvIHN1cGVydXN1w6FyaW8gcG9kZSBhbHRlcmFyIG8gcmVsw7NnaW8gZGUgc2lzdGVtYS4iCisKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiBjaGFuZ2UgdGhlIEhhcmR3YXJlIENsb2NrIGVwb2NoIGluIHRoZSBrZXJuZWwuIgorI34gbXNnc3RyICJEZXNjdWxwZSwgYXBlbmFzIG8gc3VwZXJ1c3XDoXJpbyBwb2RlIGFsdGVyYXIgbyBlcG9jaCBkbyByZWzDs2dpbyBkZSBoYXJkd2FyZSBubyBrZXJuZWwuIgorCisjfiBtc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gS0RHSFdDTEsgdG8gY2hhbmdlXG4iCisjfiBtc2dzdHIgIkFndWFyZGFuZG8gZW0gbGHDp28gYXTDqSBxdWUgYSBob3JhIGRlIEtER0hXQ0xLIG11ZGUuXG4iCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCB0byByZWFkIHRpbWUgZmFpbGVkIgorI34gbXNnc3RyICJpb2N0bCBLREdIV0NMSyBwYXJhIGxlciBhIGhvcmEgZmFsaG91IgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgdG8gcmVhZCB0aW1lIGZhaWxlZCBpbiBsb29wIgorI34gbXNnc3RyICJpb2N0bCBLREdIV0NMSyBwYXJhIGxlciBhIGhvcmEgZmFsaG91IG5vIGxhw6dvIgorCisjfiBtc2dpZCAiaW9jdGwoKSBmYWlsZWQgdG8gcmVhZCB0aW1lIGZyb20gJXMiCisjfiBtc2dzdHIgImlvY3RsKCkgZmFsaG91IGVtIGxlciBob3LDoXJpbyBkZSAlcyIKKworI34gbXNnaWQgImlvY3RsIEtEU0hXQ0xLIGZhaWxlZCIKKyN+IG1zZ3N0ciAiaW9jdGwgS0RTSFdDTEsgZmFsaG91IgorCisjfiBtc2dpZCAiVXNpbmcgdGhlIEtER0hXQ0xLIGludGVyZmFjZSB0byBtNjhrIGNsb2NrLiIKKyN+IG1zZ3N0ciAiVXNhbmRvIGEgaW50ZXJmYWNlIEtER0hXQ0xLIHBhcmEgcmVsw7NnaW8gbTY4ay4iCisKKyN+IG1zZ2lkICJDYW4ndCBvcGVuIC9kZXYvdHR5MSBvciAvZGV2L3ZjLzEiCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAvZGV2L3R0eTEgb3UgL2Rldi92Yy8xIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgZmFpbGVkIgorI34gbXNnc3RyICJpb2N0bCBLREdIV0NMSyBmYWxob3UiCisKKyN+IG1zZ2lkICJyZWFkKCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCisjfiBtc2dzdHIgInJlYWQoKSBwYXJhICVzIHBhcmEgYWd1YXJkYXIgdGlxdWUgZG8gcmVsw7NnaW8gZmFsaG91IgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGRldGFpbHMgc2VlIGxzY3B1KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGFyYSBtYWlzIGRldGFsaGVzLCB2ZWphIGxzY3B1KDEpLlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCisjfiAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIGxpc3RzIGFsbCBtb3VudHMgd2l0aCBMQUJFTHNcbiIKKyN+ICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgZXhpYmUgZXNzZSB0ZXh0byBkZSBhanVkYSBlIHNhaVxuIgorI34gIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBuw6NvIGNoYW1hIG9zIGF1eGlsaWFyZXMgbW91bnQuPHRpcG8+XG4iCisjfiAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIGxpc3RhIHRvZGFzIGFzIG1vbnRhZ2VucyBjb20gTEFCRUxzXG4iCisjfiAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIG7Do28gZ3JhdmEgZW0gL2V0Yy9tdGFiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHNheSB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtd3JpdGUgKGRlZmF1bHQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgZXhwbGljYSBvIHF1ZSBlc3TDoSBzZW5kbyBmZWl0b1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBleGliZSBpbmZvcm1hw6fDo28gZGEgdmVyc8OjbyBlIHNhaVxuIgorI34gIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb250YSBvIHNpc3RlbWEgZGUgYXJxdWl2b3MgcGFyYSBncmF2YcOnw6NvIChwYWRyw6NvKVxuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3MuLi5dXG4iCisjfiBtc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIDxwcm9ncmFtYT4gW2FyZ3VtZW50b3MuLi5dXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKKyN+ICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorI34gIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorI34gIiAtdSwgLS11c2VyIDxuYW1lfGlkPiAgIGludGVycHJldCBhcmd1bWVudCBhcyB1c2VybmFtZSBvciB1c2VyIElEXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldGEgdW0gYXJndW1lbnRvIGNvbW8gSUQgZGUgZ3J1cG8gZGUgcHJvY2Vzc29zXG4iCisjfiAiIC1uLCAtLXByaW9yaXR5IDxuw7ptPiAgIGVzcGVjaWZpY2EgbyB2YWxvciBkZSBpbmNyZW1lbnRvIGRvIG5pY2VcbiIKKyN+ICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBpbnRlcnByZXRhIHVtIGFyZ3VtZW50byBjb21vIElEIGRlIHByb2Nlc3NvIChwYWRyw6NvKVxuIgorI34gIiAtdSwgLS11c2VyIDxub21lfGlkPiAgIGludGVycHJldGEgdW0gYXJndW1lbnRvIGNvbW8gbm9tZSBvdSBJRCBkZSB1c3XDoXJpb1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGV4aWJlIGVzdGEgYWp1ZGEgZSBzYWlcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBleGliZSBpbmZvcm1hw6fDtWVzIGRhIHZlcnPDo28gZSBzYWlcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcmVuaWNlKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGFyYSBtYWlzIGluZm9ybWHDp8O1ZXMsIHZlamEgcmVuaWNlKDEpLlxuIgorCisjfiBtc2dpZCAic2V0IHJ0YyBhbGFybSBmYWlsZWQiCisjfiBtc2dzdHIgImRlZmluacOnw6NvIGRlIGFsYXJtZSBkbyBydGMgZmFsaG91IgorCisjfiBtc2dpZCAiZW5hYmxlIHJ0YyBhbGFybSBmYWlsZWQiCisjfiBtc2dzdHIgImhhYmlsaXRhw6fDo28gZGUgYWxhcm1lIGRvIHJ0YyBmYWxob3UiCisKKyN+IG1zZ2lkICJzdXNwZW5kIHRvIFwiJXNcIiB1bmF2YWlsYWJsZSIKKyN+IG1zZ3N0ciAic3VzcGVuc8OjbyBwYXJhIFwiJXNcIiBpbmRpc3BvbsOtdmVsIgorCisjfiBtc2dpZCAiICVzJXMgW29wdGlvbnNdIFtwcm9ncmFtIFtwcm9ncmFtIGFyZ3VtZW50c11dXG4iCisjfiBtc2dzdHIgIiAlcyVzIFtvcMOnw7Vlc10gW3Byb2dyYW1hIFtwcm9ncmFtYSBhcmd1bWVudG9zXV1cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorI34gIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgc2lsZW50bHkgc2tpcCBkZXZpY2VzIHRoYXQgZG8gbm90IGV4aXN0XG4iCisjfiAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICByZWluaXRpYWxpemUgdGhlIHN3YXAgc3BhY2UgaWYgbmVjZXNzYXJ5XG4iCisjfiAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBzcGVjaWZ5IHRoZSBwcmlvcml0eSBvZiB0aGUgc3dhcCBkZXZpY2VcbiIKKyN+ICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIGRpc3BsYXkgc3VtbWFyeSBhYm91dCB1c2VkIHN3YXAgZGV2aWNlcyAoREVQUkVDQVRFRClcbiIKKyN+ICIgICAgIC0tc2hvd1s9PGNvbHVtbnM+XSAgIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKKyN+ICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzLCB1c2Ugd2l0aCAtLXNob3dcbiIKKyN+ICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQsIHVzZSB3aXRoIC0tc2hvd1xuIgorI34gIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHNpemUgaW4gYnl0ZXMgaW4gLS1zaG93IG91dHB1dFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGhhYmlsaXRhIHRvZGFzIHN3YXBzIGRlIC9ldGMvZnN0YWJcbiIKKyN+ICIgLWQsIC0tZGlzY2FyZFs9PHBvbMOtdGljYT5dXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICBoYWJpbGl0YSBkZXNjYXJ0ZXMgZGUgc3dhcCwgc2UgaG91dmVyIHN1cG9ydGVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgIHBlbG8gZGlzcG9zaXRpdm9cbiIKKyN+ICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHB1bGEgc2lsZW5jaW9zYW1lbnRlIGRpc3Bvc2l0aXZvcyBxdWUgbsOjbyBleGlzdGlyZW1cbiIKKyN+ICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHJlaW5pY2lhbGl6YSBvIGVzcGHDp28gZGUgc3dhcCBzZSBuZWNlc3PDoXJpb1xuIgorI34gIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgZXNwZWNpZmljYSBhIHByaW9yaWRhZGUgZG8gZGlzcG9zaXRpdm8gZGUgc3dhcFxuIgorI34gIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgZXhpYmUgcmVzdW1vIHNvYnJlIGRpc3Bvc2l0aXZvcyBkZSBzd2FwIHVzYWRvc1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgIChPQlNPTEVUTylcbiIKKyN+ICIgICAgIC0tc2hvd1s9PGNvbHVuYXM+XSAgIGV4aWJlIHJlc3VtbyBlbSB0YWJlbGEgZGVmaW7DrXZlbFxuIgorI34gIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgbsOjbyBleGliZSBjYWJlw6dhbGhvcywgdXNlIGNvbSAtLXNob3dcbiIKKyN+ICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHVzYSBvIGZvcm1hdG8gZGUgc2HDrWRhIG7Do28gdHJhdGFkbywgdXNlIGNvbSAtLXNob3dcbiIKKyN+ICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIGV4aWJlIHRhbWFuaG8gZGUgc3dhcCBlbSBieXRlcyBuYSBzYcOtZGEgZGUgLS1zaG93XG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBtb2RvIGRldGFsaGFkb1xuIgorCisjfiBtc2dpZCAiYmFkIHZhbHVlIgorI34gbXNnc3RyICJ2YWxvciBpbnbDoWxpZG8iCisKKyN+IG1zZ2lkICIgLW0sIC0tbW91bnQgICAgICAgICAgICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiIC1tLCAtLW1vdW50ICAgICAgICAgICAgICAgZGVzY29tcGFydGlsaGEgZXNwYcOnbyBkZSBub21lcyBkZSBtb250YWdlbnNcbiIKKworI34gbXNnaWQgIiAtdSwgLS11dHMgICAgICAgICAgICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorI34gbXNnc3RyICIiCisjfiAiIC11LCAtLXV0cyAgICAgICAgICAgICAgICAgZGVzY29tcGFydGlsaGEgZXNwYcOnbyBkZSBub21lcyBkZSBVVFNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChob3N0bmFtZSwgZXRjKVxuIgorCisjfiBtc2dpZCAiIC1pLCAtLWlwYyAgICAgICAgICAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtaSwgLS1pcGMgICAgICAgICAgICAgICAgIGRlc2NvbXBhcnRpbGhhIGVzcGHDp28gZGUgbm9tZXMgZGUgU3lzdGVtIFYgSVBDXG4iCisKKyN+IG1zZ2lkICIgLW4sIC0tbmV0ICAgICAgICAgICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtbiwgLS1uZXQgICAgICAgICAgICAgICAgIGRlc2NvbXBhcnRpbGhhIGVzcGHDp28gZGUgbm9tZXMgZGUgcmVkZVxuIgorCisjfiBtc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICAgICAgICAgIGRlc2NvbXBhcnRpbGhhIGVzcGHDp28gZGUgbm9tZXMgZGUgcGlkXG4iCisKKyN+IG1zZ2lkICIgLVUsIC0tdXNlciAgICAgICAgICAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtVSwgLS11c2VyICAgICAgICAgICAgICAgIGRlc2NvbXBhcnRpbGhhIGVzcGHDp28gZGUgbm9tZXMgZGUgdXN1w6FyaW9cbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuOiAlczogJW0iCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhYnJpcjogJXM6ICVtIgorCisjfiBtc2dpZCAiZnJlYWQgZmFpbGVkIgorI34gbXNnc3RyICJmcmVhZCBmYWxob3UiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1WLCAtLXZlcnNpb24gICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1WLCAtLXZlcnNpb24gICAgbW9zdHJhIGluZm9ybWHDp8OjbyBkYSB2ZXJzw6NvIGUgc2FpXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgZXhpYmUgZXNzYSBhanVkYSBlIHNhaVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVXNvOlxuIgorI34gIiAlcyBbb3DDp8O1ZXNdIFthcnF1aXZvIC4uLl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgIHN1cHByZXNzIGFsbCB1bmRlcmxpbmluZ1xuIgorI34gIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgcHJpbnQgYWxsIGhhbGYtbGluZXNcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC0sICAtLW5vLXVuZGVybGluaW5nICBzdXByaW1lIHRvZG9zIG9zIHN1YmxpbmhhZG9zXG4iCisjfiAiIC0yLCAtLWhhbGYtbGluZXMgICAgICBtb3N0cmEgdG9kb3MgbWV0YWRlcyBkZSBsaW5oYXNcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgIG1vc3RyYSBpbmZvcm1hw6fDo28gZGEgdmVyc8OjbyBlIHNhaVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgZXhpYmUgZXNzYSBhanVkYSBlIHNhaVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk9ww6fDtWVzOlxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgbW9zdHJhIGluZm9ybWHDp8OjbyBkYSB2ZXJzw6NvIGUgc2FpXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICBleGliZSBlc3NhIGFqdWRhIGUgc2FpXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJjYWxsaW5nIGhleGR1bXAgYXMgb2QgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBmYXZvciBvZiBHTlUgY29yZXV0aWxzIG9kIgorI34gbXNnc3RyICJhIGNoYW1hZGEgZGUgaGV4ZHVtcCBjb21vIG9kIGVzdMOhIG9ic29sZXRvIGVtIGZhdm9yIGRvIEdOVSBjb3JldXRpbHMgb2QiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiT3DDp8O1ZXM6XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICBtb3N0cmEgaW5mb3JtYcOnw6NvIGRhIHZlcnPDo28gZSBzYWlcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgIGV4aWJlIGVzc2EgYWp1ZGEgZSBzYWlcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcmV2KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGFyYSBtYWlzIGluZm9ybWHDp8O1ZXMsIHZlamEgcmV2KDEpLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uXSBmaWxlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJVc286IFxuIgorI34gIiAlcyBbb3DDp8Ojb10gYXJxdWl2b1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1uLCAtLWxpbmVzIE5VTUJFUiAgb3V0cHV0IHRoZSBsYXN0IE5VTUJFUiBsaW5lc1xuIgorI34gIiAtTlVNQkVSICAgICAgICAgICAgIHNhbWUgYXMgYC1uIE5VTUJFUidcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJPcMOnw7VlczpcbiIKKyN+ICIgLW4sIC0tbGluZXMgTsOaTUVSTyAgbW9zdHJhIGFzIMO6bHRpbWFzIE7Dmk1FUk8gbGluaGFzXG4iCisjfiAiIC1Ow5pNRVJPICAgICAgICAgICAgIGlndWFsIGEgXCItbiBOw5pNRVJPXCJcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICBtb3N0cmEgaW5mb3JtYcOnw6NvIGRhIHZlcnPDo28gZSBzYWlcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICBleGliZSBlc3NhIGFqdWRhIGUgc2FpXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGZpbGVcbiIKKyN+IG1zZ3N0ciAiICVzIFtvcMOnw7Vlc10gYXJxdWl2b1xuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCisjfiBtc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIGFycXVpdm8uLi5cbiIKKworI34gbXNnaWQgIiAtbiwgLS1uby1hcmd1bWVudCAgICAgICBvcHRpb24gZG9lcyBub3QgdXNlIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIiAtbiwgLS1uby1hcmd1bWVudCAgICAgICBhIG9ww6fDo28gbsOjbyB1c2EgYXJndW1lbnRvXG4iCisKKyN+IG1zZ2lkICIgLW8sIC0tb3B0aW9uYWxbPTxhcmc+XSAgb3B0aW9uIGFyZ3VtZW50IGlzIG9wdGlvbmFsXG4iCisjfiBtc2dzdHIgIiAtbywgLS1vcHRpb25hbFs9PGFyZz5dICBvIGFyZ3VtZW50byBkYSBvcMOnw6NvIMOpIG9wY2lvbmFsXG4iCisKKyN+IG1zZ2lkICIgLXIsIC0tcmVxdWlyZWQgPGFyZz4gICAgb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIiAtciwgLS1yZXF1aXJlZCA8YXJnPiAgICBhIG9ww6fDo28gcmVxdWVyIHVtIHVtIGFyZ3VtZW50b1xuIgorCisjfiBtc2dpZCAiICAgICAtLXh5enp5ICAgICAgICAgICAgIGEgbG9uZyBvcHRpb24gb25seVxuIgorI34gbXNnc3RyICIgICAgIC0teHl6enkgICAgICAgICAgICAgIGFwZW5hcyB1bWEgb3DDp8OjbyBsb25nYVxuIgorCisjfiBtc2dpZCAiIC1lLCAtLWV4dHJlbWVseS1sb25nLWxvbmctb3B0aW9uXG4iCisjfiBtc2dzdHIgIiAtZSwgLS1leHRyZW1lbHktbG9uZy1sb25nLW9wdGlvblxuIgorCisjfiBtc2dpZCAiIC1sLCAtLWxvbmctZXhwbGFuYXRpb24gIGFuIGV4YW1wbGUgb2YgdmVyeSB2ZXJib3NlLCBhbmQgY2hhdHR5IG9wdGlvblxuIgorI34gbXNnc3RyICIgLWwsIC0tbG9uZy1leHBsYW5hdGlvbiAgdW0gZXhlbXBsbyBkZSBkZXNjcmnDp8OjbyBkZSBvcMOnw6NvIGRldGFsaGFkYSBlIGNvbVxuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gb24gdHdvLCBvciBtdWx0aXBsZSBsaW5lcywgd2hlcmUgdGhlXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG11aXRvIHRleHRvIGVtIGR1YXMsIG91IG3Dumx0aXBsYXMgbGluaGFzLCBvbmRlIGFzXG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zZWN1dGl2ZSBsaW5lcyBhcmUgaW50ZW5kZWQgYnkgdHdvIHNwYWNlc1xuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5oYXMgY29uc2VjdXRpdmFzIHTDqm0gcmVjdW8gY29tIGRvaXMgZXNwYcOnb3NcbiIKKworI34gbXNnaWQgIiAtZiwgLS1mb29iYXIgICAgICAgICAgICBuZXh0IG9wdGlvbiBkZXNjcmlwdGlvbiByZXNldHMgaW5kZW50XG4iCisjfiBtc2dzdHIgIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICBhIHByw7N4aW1hIGRlc2NyacOnw6NvIGRlIG9ww6fDo28gcmVpbmljaWEgbyByZWN1b1xuIgorCisjfiBtc2dpZCAiYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCisjfiBtc2dzdHIgInPDo28gbXV0dWFtZW50ZSBleGNsdXNpdmFzLiIKKworI34gbXNnaWQgImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzLiIKKyN+IG1zZ3N0ciAic8OzIHBvZGUgYWx0ZXJhciBlbnRyYWRhcyBsb2NhaXMuIgorCisjfiBtc2dpZCAiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWUgc3RhbXAgdXNpbmcgZm9ybWF0OlxuIgorI34gbXNnc3RyICIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdG8+IG1vc3RyYSBtYXJjYSBkZSB0ZW1wbyB1c2FuZG8gbyBmb3JtYXRvOlxuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub3RpbWV8c2hvcnR8ZnVsbHxpc29dXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm90aW1lfHNob3J0fGZ1bGx8aXNvXVxuIgorCisjfiBtc2dpZCAiQ09NTUFORCBub3Qgc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAiQ09NQU5ETyBuw6NvIGVzcGVjaWZpY2Fkby4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIHBhdGhuYW1lIFtwYXRobmFtZSAuLi5dXG4iCisjfiBtc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIG5vbWUtY2FtaW5obyBbbm9tZS1jYW1pbmhvIC4uLl1cbiIKKworI34gbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIm5lbmh1bSBub21lIGRlIGFycXVpdm8gZXNwZWNpZmljYWRvLiIKKworI34gbXNnaWQgIi4uLmJhY2sgMSBwYWdlIgorI34gbXNnc3RyICIuLi52b2x0YSAxIHDDoWdpbmEiCisKKyN+IG1zZ2lkICIuLi5za2lwcGluZyBvbmUgbGluZSIKKyN+IG1zZ3N0ciAiLi4ucHVsYW5kbyB1bWEgbGluaGEiCisKKyN+IG1zZ2lkICJ3YWlkcGlkIGZhaWxlZCIKKyN+IG1zZ3N0ciAid2FpZGRpZCBmYWxob3UiCisKKyN+IG1zZ2lkICIgLXgsIC0tZGVzdGluYXRpb24gPGRpcj4gIGV4dHJhY3QgaW50byBkaXJlY3RvcnlcbiIKKyN+IG1zZ3N0ciAiIC14LCAtLWRlc3RpbmF0aW9uIDxkaXI+ICBleHRyYWkgcGFyYSBkaXJldMOzcmlvXG4iCisKKyN+IG1zZ2lkICJjb21waWxlZCB3aXRob3V0IC14IHN1cHBvcnQiCisjfiBtc2dzdHIgImNvbXBpbGFkbyBzZW0gc3Vwb3J0ZSBhIC14IgorCisjfiBtc2dpZCAiJXM6IE91dCBvZiBtZW1vcnkhXG4iCisjfiBtc2dzdHIgIiVzOiBtZW3Ds3JpYSBpbnN1ZmljaWVudGUhXG4iCisKKyN+IG1zZ2lkICJVbnVzYWJsZSIKKyN+IG1zZ3N0ciAiSW51dGlsaXrDoXZlbCIKKworI34gbXNnaWQgIndyaXRlIGZhaWxlZFxuIgorI34gbXNnc3RyICJncmF2YcOnw6NvIGZhbGhvdVxuIgorCisjfiBtc2dpZCAiRGlzayBoYXMgYmVlbiBjaGFuZ2VkLlxuIgorI34gbXNnc3RyICJPIGRpc2NvIGZvaSBhbHRlcmFkby5cbiIKKworI34gbXNnaWQgIlJlYm9vdCB0aGUgc3lzdGVtIHRvIGVuc3VyZSB0aGUgcGFydGl0aW9uIHRhYmxlIGlzIGNvcnJlY3RseSB1cGRhdGVkLlxuIgorI34gbXNnc3RyICJSZWluaWNpYWxpemUgbyBzaXN0ZW1hIHBhcmEgYXNzZWd1cmFyIHF1ZSBhIHRhYmVsYSBkZSBwYXJ0acOnw6NvIHNlamEgYXR1YWxpemFkYSBjb3JyZXRhbWVudGUuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnlcbiIKKyN+ICJET1MgNi54IHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGNmZGlzayBtYW51YWxcbiIKKyN+ICJwYWdlIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQVZJU086IFNlIHZvY8OqIHRpdmVyIGNyaWFkbyBvdSBhbHRlcmFkbyBxdWFscXVlclxuIgorI34gInBhcnRpw6fDo28gRE9TIDYueCwgY29uc3VsdGUgYSBww6FnaW5hIGRlIG1hbnVhbFxuIgorI34gImRvIGNmZGlzayBwYXJhIG9idGVyIGluZm9ybWHDp8O1ZXMgYWRpY2lvbmFpcy5cbiIKKworI34gbXNnaWQgIkZBVEFMIEVSUk9SIgorI34gbXNnc3RyICJFUlJPIEZBVEFMIgorCisjfiBtc2dpZCAiUHJlc3MgYW55IGtleSB0byBleGl0IGNmZGlzayIKKyN+IG1zZ3N0ciAiUHJlc3Npb25lIHF1YWxxdWVyIHRlY2xhIHBhcmEgc2FpciBkbyBjZmRpc2siCisKKyN+IG1zZ2lkICJDYW5ub3Qgc2VlayBvbiBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgcmVhbGl6YXIgYnVzY2EgbmEgdW5pZGFkZSBkZSBkaXNjbyIKKworI34gbXNnaWQgIkNhbm5vdCByZWFkIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBsZXIgYSB1bmlkYWRlIGRlIGRpc2NvIgorCisjfiBtc2dpZCAiQ2Fubm90IHdyaXRlIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBncmF2YXIgbmEgdW5pZGFkZSBkZSBkaXNjbyIKKworI34gbXNnaWQgIlRvbyBtYW55IHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIk7Dum1lcm8gZXhjZXNzaXZvIGRlIHBhcnRpw6fDtWVzIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGJlZ2lucyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIkEgcGFydGnDp8OjbyBjb21lw6dhIGFudGVzIGRvIHNldG9yIDAiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIkEgcGFydGnDp8OjbyB0ZXJtaW5hIGFudGVzIGRvIHNldG9yIDAiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gYmVnaW5zIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICJBIHBhcnRpw6fDo28gY29tZcOnYSBkZXBvaXMgZG8gZmltIGRvIGRpc2NvIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGVuZHMgYWZ0ZXIgZW5kLW9mLWRpc2siCisjfiBtc2dzdHIgIkEgcGFydGnDp8OjbyBzZSBlc3RlbmRlIGF0w6kgZGVwb2lzIGRvIGZpbSBkbyBkaXNjbyIKKworI34gbXNnaWQgImxvZ2ljYWwgcGFydGl0aW9ucyBub3QgaW4gZGlzayBvcmRlciIKKyN+IG1zZ3N0ciAicGFydGnDp8O1ZXMgbMOzZ2ljYXMgZm9yYSBkYSBvcmRlbSBkbyBkaXNjbyIKKworI34gbXNnaWQgImxvZ2ljYWwgcGFydGl0aW9ucyBvdmVybGFwIgorI34gbXNnc3RyICJwYXJ0acOnw7VlcyBsw7NnaWNhcyBzb2JyZXBvc3RhcyIKKworI34gbXNnaWQgImVubGFyZ2VkIGxvZ2ljYWwgcGFydGl0aW9ucyBvdmVybGFwIgorI34gbXNnc3RyICJwYXJ0acOnw7VlcyBsw7NnaWNhcyBhdW1lbnRhZGFzIHNvYnJlcG9zdGFzIgorCisjfiBtc2dpZCAiISEhISBJbnRlcm5hbCBlcnJvciBjcmVhdGluZyBsb2dpY2FsIGRyaXZlIHdpdGggbm8gZXh0ZW5kZWQgcGFydGl0aW9uICEhISEiCisjfiBtc2dzdHIgIiEhISEgRXJybyBpbnRlcm5vIGFvIGNyaWFyIHVuaWRhZGUgbMOzZ2ljYSBzZW0gcGFydGnDp8OjbyBlc3RlbmRpZGEgISEhISIKKworI34gbXNnaWQgIkNhbm5vdCBjcmVhdGUgbG9naWNhbCBkcml2ZSBoZXJlIC0tIHdvdWxkIGNyZWF0ZSB0d28gZXh0ZW5kZWQgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgY3JpYXIgdW5pZGFkZSBsw7NnaWNhIGFxdWkgLS0gY3JpYXJpYSBkdWFzIHBhcnRpw6fDtWVzIGVzdGVuZGlkYXMiCisKKyN+IG1zZ2lkICJNZW51IGl0ZW0gdG9vIGxvbmcuIE1lbnUgbWF5IGxvb2sgb2RkLiIKKyN+IG1zZ3N0ciAiSXRlbSBkZSBtZW51IGxvbmdvIGRlbWFpcy4gTyBtZW51IHBvZGUgZmljYXIgY29tIGFzcGVjdG8gZXN0cmFuaG8uIgorCisjfiBtc2dpZCAiSWxsZWdhbCBrZXkiCisjfiBtc2dzdHIgIlRlY2xhIGlsZWdhbCIKKworI34gbXNnaWQgIkNyZWF0ZSBhIG5ldyBwcmltYXJ5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiQ3JpYSB1bWEgbm92YSBwYXJ0acOnw6NvIHByaW3DoXJpYSIKKworI34gbXNnaWQgIkNyZWF0ZSBhIG5ldyBsb2dpY2FsIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiQ3JpYSB1bWEgbm92YSBwYXJ0acOnw6NvIGzDs2dpY2EiCisKKyN+IG1zZ2lkICJDYW5jZWwiCisjfiBtc2dzdHIgIkNhbmNlbGFyIgorCisjfiBtc2dpZCAiRG9uJ3QgY3JlYXRlIGEgcGFydGl0aW9uIgorI34gbXNnc3RyICJOw6NvIGNyaWEgdW1hIHBhcnRpw6fDo28iCisKKyN+IG1zZ2lkICIhISEgSW50ZXJuYWwgZXJyb3IgISEhIgorI34gbXNnc3RyICIhISEgRXJybyBpbnRlcm5vICEhISIKKworI34gbXNnaWQgIlNpemUgKGluIE1CKTogIgorI34gbXNnc3RyICJUYW1hbmhvIChlbSBNQik6ICIKKworI34gbXNnaWQgIkJlZ2lubmluZyIKKyN+IG1zZ3N0ciAiSW7DrWNpbyIKKworI34gbXNnaWQgIkFkZCBwYXJ0aXRpb24gYXQgYmVnaW5uaW5nIG9mIGZyZWUgc3BhY2UiCisjfiBtc2dzdHIgIkFkaWNpb25hciBwYXJ0acOnw6NvIG5vIGluw61jaW8gZG8gZXNwYcOnbyBsaXZyZSIKKworI34gbXNnaWQgIkFkZCBwYXJ0aXRpb24gYXQgZW5kIG9mIGZyZWUgc3BhY2UiCisjfiBtc2dzdHIgIkFkaWNpb25hciBwYXJ0acOnw6NvIG5vIGZpbmFsIGRvIGVzcGHDp28gbGl2cmUiCisKKyN+IG1zZ2lkICJObyByb29tIHRvIGNyZWF0ZSB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICJFc3Bhw6dvIGluc3VmaWNpZW50ZSBwYXJhIGNyaWHDp8OjbyBkZSBwYXJ0acOnw6NvIGVzdGVuZGlkYSIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbiB0YWJsZS5cbiIKKyN+IG1zZ3N0ciAiTmVuaHVtYSB0YWJlbGEgZGUgcGFydGnDp8Ojby5cbiIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbiB0YWJsZS4gU3RhcnRpbmcgd2l0aCB6ZXJvIHRhYmxlLiIKKyN+IG1zZ3N0ciAiTmVuaHVtYSB0YWJlbGEgZGUgcGFydGnDp8Ojby4gSW5pY2lhbmRvIGNvbSB1bWEgdGFiZWxhIHplcmFkYSIKKworI34gbXNnaWQgIkJhZCBzaWduYXR1cmUgb24gcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJBc3NpbmF0dXJhIGludsOhbGlkYSBuYSB0YWJlbGEgZGUgcGFydGnDp8OjbyIKKworI34gbXNnaWQgIlVua25vd24gcGFydGl0aW9uIHRhYmxlIHR5cGUiCisjfiBtc2dzdHIgIlRpcG8gZGUgdGFiZWxhIGRlIHBhcnRpw6fDo28gZGVzY29uaGVjaWRvIgorCisjfiBtc2dpZCAiRG8geW91IHdpc2ggdG8gc3RhcnQgd2l0aCBhIHplcm8gdGFibGUgW3kvTl0gPyIKKyN+IG1zZ3N0ciAiVm9jw6ogZGVzZWphIGluaWNpYXIgY29tIHVtYSB0YWJlbGEgemVyYWRhIFtzL05dID8iCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgYSB1bmlkYWRlIGRlIGRpc2NvIgorCisjfiBtc2dpZCAiT3BlbmVkIGRpc2sgcmVhZC1vbmx5IC0geW91IGhhdmUgbm8gcGVybWlzc2lvbiB0byB3cml0ZSIKKyN+IG1zZ3N0ciAiRGlzY28gYWJlcnRvIHNvbWVudGUgcGFyYSBsZWl0dXJhIC0gdm9jw6ogbsOjbyB0ZW0gcGVybWlzc8OjbyBwYXJhIGdyYXZhciIKKworI34gbXNnaWQgIkNhbm5vdCBnZXQgZGlzayBzaXplIgorI34gbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgb2J0ZXIgbyB0YW1hbmhvIGRvIGRpc2NvIgorCisjfiBtc2dpZCAiQmFkIHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICJQYXJ0acOnw6NvIHByaW3DoXJpYSBpbnbDoWxpZGEiCisKKyN+IG1zZ2lkICJXYXJuaW5nISEgIFRoaXMgbWF5IGRlc3Ryb3kgZGF0YSBvbiB5b3VyIGRpc2shIgorI34gbXNnc3RyICJBdmlzbyEhIElzdG8gcG9kZSBkZXN0cnVpciBkYWRvcyBleGlzdGVudGVzIG5vIGRpc2NvISIKKworI34gbXNnaWQgIlBsZWFzZSBlbnRlciBgeWVzJyBvciBgbm8nIgorI34gbXNnc3RyICJSZXNwb25kYSBcInNpbVwiIG91IFwibsOjb1wiIgorCisjfiBtc2dpZCAiV3JpdGluZyBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4uLiIKKyN+IG1zZ3N0ciAiR3JhdmFuZG8gdGFiZWxhIGRlIHBhcnRpw6fDo28gbm8gZGlzY28uLi4iCisKKyN+IG1zZ2lkICJXcm90ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayIKKyN+IG1zZ3N0ciAiQSB0YWJlbGEgZGUgcGFydGnDp8OjbyBmb2kgZ3JhdmFkYSBubyBkaXNjbyIKKworI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSwgYnV0IHJlLXJlYWQgdGFibGUgZmFpbGVkLiAgUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB0byB1cGRhdGUgdGFibGUuIgorI34gbXNnc3RyICJUYWJlbGEgZGUgcGFydGnDp8OjbyBncmF2YWRhLCBtYXMgYSByZWxlaXR1cmEgZGEgdGFiZWxhIGZhbGhvdS4gRXhlY3V0ZSBwYXJ0cHJvYmUoOCksIGtwYXJ0eCg4KSBvdSByZWluaWNpZSBwYXJhIGF0dWFsaXphciBhIHRhYmVsYS4iCisKKyN+IG1zZ2lkICJObyBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIG1hcmtlZCBib290YWJsZS4gRE9TIE1CUiBjYW5ub3QgYm9vdCB0aGlzLiIKKyN+IG1zZ3N0ciAiTsOjbyBleGlzdGVtIHBhcnRpw6fDtWVzIHByaW3DoXJpYXMgbWFyY2FkYXMgY29tbyBpbmljaWFsaXrDoXZlaXMuIE1CUiBET1MgbsOjbyBwb2RlIGluaWNpYWxpemFyIGlzc28uIgorCisjfiBtc2dpZCAiTW9yZSB0aGFuIG9uZSBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUuIERPUyBNQlIgY2Fubm90IGJvb3QgdGhpcy4iCisjfiBtc2dzdHIgIk1haXMgZGUgdW1hIHBhcnRpw6fDo28gcHJpbcOhcmlhIGVzdMOhIG1hcmNhZGEgY29tbyBpbmljaWFsaXrDoXZlbC4gTUJSIERPUyBuw6NvIHBvZGUgaW5pY2lhbGl6YXIgaXNzby4iCisKKyN+IG1zZ2lkICJFbnRlciBmaWxlbmFtZSBvciBwcmVzcyBSRVRVUk4gdG8gZGlzcGxheSBvbiBzY3JlZW46ICIKKyN+IG1zZ3N0ciAiRGlnaXRlIHVtIG5vbWUgZGUgYXJxdWl2byBvdSBwcmVzc2lvbmUgRU5URVIgcGFyYSBleGliaXIgbmEgdGVsYTogIgorCisjfiBtc2dpZCAiRGlzayBEcml2ZTogJXNcbiIKKyN+IG1zZ3N0ciAiVW5pZGFkZSBkZSBkaXNjbzogJXNcbiIKKworI34gbXNnaWQgIlNlY3RvciAwOlxuIgorI34gbXNnc3RyICJTZXRvciAwOlxuIgorCisjfiBtc2dpZCAiU2VjdG9yICVkOlxuIgorI34gbXNnc3RyICJTZXRvciAlZDpcbiIKKworI34gbXNnaWQgIiAgIE5vbmUgICAiCisjfiBtc2dzdHIgIiAgTmVuaHVtICAiCisKKyN+IG1zZ2lkICIgICBQcmkvTG9nIgorI34gbXNnc3RyICIgICBQcmkvbMOzZyIKKworI34gbXNnaWQgIiAgIFByaW1hcnkiCisjfiBtc2dzdHIgIiAgIFByaW3DoXJpYSIKKworI34gbXNnaWQgIiAgIExvZ2ljYWwiCisjfiBtc2dzdHIgIiAgIEzDs2dpY2EiCisKKyN+IG1zZ2lkICIoJTAyWCkiCisjfiBtc2dzdHIgIiglMDJYKSIKKworIyBBcGVzYXIgZGUgIm5lbmh1bWEiIHNlciBtZWxob3IsICJuYWRhIiBjYWJlIG5hIHRlbGEKKyN+IG1zZ2lkICJOb25lIgorI34gbXNnc3RyICJOYWRhIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIFRhYmxlIGZvciAlc1xuIgorI34gbXNnc3RyICJUYWJlbGEgZGUgcGFydGnDp8OjbyBkZSAlc1xuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgRmlyc3QgICAgICAgTGFzdFxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgUHJpbWVpcm8gICAgw5psdGltb1xuIgorCisjfiBtc2dpZCAiICMgVHlwZSAgICAgICBTZWN0b3IgICAgICBTZWN0b3IgICBPZmZzZXQgICAgTGVuZ3RoICAgRmlsZXN5c3RlbSBUeXBlIChJRCkgRmxhZ1xuIgorI34gbXNnc3RyICIgIyBUaXBvICAgICAgIFNldG9yICAgICAgIFNldG9yICAgIFBvc2nDp8OjbyAgIENvbXByLiAgIFRpcG8gc2lzdC5hcnEuKElEKSBPcMOnw6NvXG4iCisKKyN+IG1zZ2lkICItLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tXG4iCisjfiBtc2dzdHIgIi0tIC0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLS1cbiIKKworI34gbXNnaWQgIiAgICAgICAgIC0tLVN0YXJ0aW5nLS0tLSAgICAgIC0tLS1FbmRpbmctLS0tLSAgICBTdGFydCAgICAgTnVtYmVyIG9mXG4iCisjfiBtc2dzdHIgIiAgICAgICAgIC0tLSBJbsOtY2lvIC0tLS0gICAgICAtLS0tLSBGaW0gLS0tLS0gICAgU2V0b3IgICAgTsO6bWVybyBkZVxuIgorCisjfiBtc2dpZCAiICMgRmxhZ3MgSGVhZCBTZWN0ICBDeWwgICBJRCAgSGVhZCBTZWN0ICBDeWwgICAgIFNlY3RvciAgICBTZWN0b3JzXG4iCisjfiBtc2dzdHIgIiAjIE9ww6dzLiBDYWIuIFNldC4gIENpbC4gIElEICBDYWIuIFNldC4gIENpbC4gICBJbmljaWFsICAgIFNldG9yZXNcbiIKKworI34gbXNnaWQgIi0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLVxuIgorI34gbXNnc3RyICItLSAtLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS1cbiIKKworI34gbXNnaWQgIlJhdyIKKyN+IG1zZ3N0ciAiQnJ1dG9zIgorCisjfiBtc2dpZCAiUHJpbnQgdGhlIHRhYmxlIHVzaW5nIHJhdyBkYXRhIGZvcm1hdCIKKyN+IG1zZ3N0ciAiTW9zdHJhciBhIHRhYmVsYSB1c2FuZG8gZm9ybWF0byBkZSBkYWRvcyBicnV0b3MiCisKKyN+IG1zZ2lkICJQcmludCB0aGUgdGFibGUgb3JkZXJlZCBieSBzZWN0b3JzIgorI34gbXNnc3RyICJNb3N0cmFyIGEgdGFiZWxhIG9yZGVuYWRhIHBvciBzZXRvcmVzIgorCisjfiBtc2dpZCAiVGFibGUiCisjfiBtc2dzdHIgIlRhYmVsYSIKKworI34gbXNnaWQgIkp1c3QgcHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiTW9zdHJhciBzb21lbnRlIGEgdGFiZWxhIGRlIHBhcnRpw6fDo28iCisKKyN+IG1zZ2lkICJEb24ndCBwcmludCB0aGUgdGFibGUiCisjfiBtc2dzdHIgIk7Do28gbW9zdHJhciBhIHRhYmVsYSIKKworI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMTk5NC0xOTk5IEtldmluIEUuIE1hcnRpbiAmIGFlYiIKKyN+IG1zZ3N0ciAiQ29weXJpZ2h0IChDKSAxOTk0LTE5OTkgS2V2aW4gRS4gTWFydGluICYgYWViIgorCisjfiBtc2dpZCAiICBnICAgICAgICAgIENoYW5nZSBjeWxpbmRlcnMsIGhlYWRzLCBzZWN0b3JzLXBlci10cmFjayBwYXJhbWV0ZXJzIgorI34gbXNnc3RyICIgIGcgICAgICAgICAgQWx0ZXJhIHBhcsOibWV0cm9zIGRlIGNpbGluZHJvcywgY2FiZcOnYXMsIHNldG9yZXMgcG9yIHRyaWxoYSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBXQVJOSU5HOiBUaGlzIG9wdGlvbiBzaG91bGQgb25seSBiZSB1c2VkIGJ5IHBlb3BsZSB3aG8iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBBVklTTzogRXN0YSBvcMOnw6NvIHPDsyBkZXZlIHNlciB1c2FkYSBwb3IgcGVzc29hcyBxdWUiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAga25vdyB3aGF0IHRoZXkgYXJlIGRvaW5nLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIHNhaWJhbSBleGF0YW1lbnRlIG8gcXVlIGVzdMOjbyBmYXplbmRvLiIKKworI34gbXNnaWQgIiAgbSAgICAgICAgICBNYXhpbWl6ZSBkaXNrIHVzYWdlIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICBtICAgICAgICAgIE1heGltaXphIG8gdXNvIGRlIGRpc2NvIGRhIHBhcnRpw6fDo28gYXR1YWwuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIE5vdGU6IFRoaXMgbWF5IG1ha2UgdGhlIHBhcnRpdGlvbiBpbmNvbXBhdGlibGUgd2l0aCIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIE5vdGE6IElzdG8gcG9kZSB0b3JuYXIgYSBwYXJ0acOnw6NvIGluY29tcGF0w612ZWwgY29tIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIERPUywgT1MvMiwgLi4uIgorI34gbXNnc3RyICIgICAgICAgICAgICAgRE9TLCBPUy8yIC4uLiIKKworI34gbXNnaWQgIiAgcCAgICAgICAgICBQcmludCBwYXJ0aXRpb24gdGFibGUgdG8gdGhlIHNjcmVlbiBvciB0byBhIGZpbGUiCisjfiBtc2dzdHIgIiAgcCAgICAgICAgICBNb3N0cmEgYSB0YWJlbGEgZGUgcGFydGnDp8OjbyBuYSB0ZWxhIG91IGVtIHVtIGFycXVpdm8uIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFRoZXJlIGFyZSBzZXZlcmFsIGRpZmZlcmVudCBmb3JtYXRzIGZvciB0aGUgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICAgICAgICAgICAgUG9kZS1zZSBzZWxlY2lvbmFyIGRpdmVyc29zIGZvcm1hdG9zIGRpZmVyZW50ZXMgcGFyYSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICB0aGF0IHlvdSBjYW4gY2hvb3NlIGZyb206IgorI34gbXNnc3RyICIgICAgICAgICAgICAgdW1hIHBhcnRpw6fDo286IgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHIgLSBSYXcgZGF0YSAoZXhhY3RseSB3aGF0IHdvdWxkIGJlIHdyaXR0ZW4gdG8gZGlzaykiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICByIC0gRGFkb3MgYnJ1dG9zIChleGF0YW1lbnRlIG8gcXVlIHNlcmlhIGdyYXZhZG8gbm8gZGlzY28pLiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICBzIC0gVGFibGUgb3JkZXJlZCBieSBzZWN0b3JzIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFRhYmVsYSBvcmRlbmFkYSBwb3Igc2V0b3Jlcy4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgdCAtIFRhYmxlIGluIHJhdyBmb3JtYXQiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICB0IC0gVGFiZWxhIGVtIGZvcm1hdG8gYnJ1dG8uIgorCisjfiBtc2dpZCAiICB1ICAgICAgICAgIENoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSIKKyN+IG1zZ3N0ciAiICB1ICAgICAgICAgIEFsdGVyYSB1bmlkYWRlcyBkZSBleGliacOnw6NvIGRvIHRhbWFuaG8gZGFzIHBhcnRpw6fDtWVzLiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBSb3RhdGVzIHRocm91Z2ggTUIsIHNlY3RvcnMgYW5kIGN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIEFsdGVybmEgZW50cmUgTUIsIHNldG9yZXMgZSBjaWxpbmRyb3MuIgorCisjfiBtc2dpZCAiQ1RSTC1MICAgICAgIFJlZHJhd3MgdGhlIHNjcmVlbiIKKyN+IG1zZ3N0ciAiQ1RSTC1MICAgICAgIFJlZGVzZW5oYSBhIHRlbGEuIgorCisjfiBtc2dpZCAiICA/ICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorI34gbXNnc3RyICIgID8gICAgICAgICAgTW9zdHJhIGVzdGEgdGVsYS4iCisKKyN+IG1zZ2lkICJDaGFuZ2UgY3lsaW5kZXIgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIkFsdGVyYXIgZ2VvbWV0cmlhIGRvcyBjaWxpbmRyb3MiCisKKyN+IG1zZ2lkICJDaGFuZ2UgaGVhZCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiQWx0ZXJhciBnZW9tZXRyaWEgZGFzIGNhYmXDp2FzIgorCisjfiBtc2dpZCAiQ2hhbmdlIHNlY3RvciBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiQWx0ZXJhciBnZW9tZXRyaWEgZG9zIHNldG9yZXMiCisKKyN+IG1zZ2lkICJEb25lIHdpdGggY2hhbmdpbmcgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIkEgYWx0ZXJhw6fDo28gZGEgZ2VvbWV0cmlhIGZvaSBjb25jbHXDrWRhIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBjeWxpbmRlcnM6ICIKKyN+IG1zZ3N0ciAiRGlnaXRlIG8gbsO6bWVybyBkZSBjaWxpbmRyb3M6ICIKKworI34gbXNnaWQgIklsbGVnYWwgY3lsaW5kZXJzIHZhbHVlIgorI34gbXNnc3RyICJWYWxvciBkZSBjaWxpbmRyb3MgaW52w6FsaWRvIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBoZWFkczogIgorI34gbXNnc3RyICJEaWdpdGUgbyBuw7ptZXJvIGRlIGNhYmXDp2FzOiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGhlYWRzIHZhbHVlIgorI34gbXNnc3RyICJWYWxvciBkZSBjYWJlw6dhcyBpbnbDoWxpZG8iCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrOiAiCisjfiBtc2dzdHIgIkRpZ2l0ZSBvIG7Dum1lcm8gZGUgc2V0b3JlcyBwb3IgdHJpbGhhOiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIHNlY3RvcnMgdmFsdWUiCisjfiBtc2dzdHIgIlZhbG9yIGRlIHNldG9yZXMgaW52w6FsaWRvIgorCisjfiBtc2dpZCAiRW50ZXIgZmlsZXN5c3RlbSB0eXBlOiAiCisjfiBtc2dzdHIgIkRpZ2l0ZSBvIHRpcG8gZG8gc2lzdGVtYSBkZSBhcnF1aXZvczogIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSBGUyBUeXBlIHRvIGVtcHR5IgorI34gbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgYWx0ZXJhciBvIHRpcG8gZGUgc2lzdGVtYSBkZSBhcnF1aXZvcyBwYXJhIHZhemlvIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSBGUyBUeXBlIHRvIGV4dGVuZGVkIgorI34gbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgYWx0ZXJhciBvIHRpcG8gZGUgc2lzdGVtYSBkZSBhcnF1aXZvcyBwYXJhIGVzdGVuZGlkbyIKKworI34gbXNnaWQgIlVuayglMDJYKSIKKyN+IG1zZ3N0ciAiRGVzYyAoJTAyWCkiCisKKyN+IG1zZ2lkICIsIE5DIgorI34gbXNnc3RyICIsIE5DIgorCisjfiBtc2dpZCAiTkMiCisjfiBtc2dzdHIgIk5DIgorCisjfiBtc2dpZCAiUHJpL0xvZyIKKyN+IG1zZ3N0ciAiUHJpL2zDs2ciCisKKyN+IG1zZ2lkICJVbmtub3duICglMDJYKSIKKyN+IG1zZ3N0ciAiRGVzY29uaGVjaWRvICglMDJYKSIKKworIyBOZW0gc2VtcHJlIMOpIGRpc2NvLCBwb3J0YW50byB1bmlkYWRlIMOpIG1haXMgYWRlcXVhZG8KKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlcyIKKyN+IG1zZ3N0ciAiVW5pZGFkZTogJXMiCisKKyN+IG1zZ2lkICJTaXplOiAlbGxkIGJ5dGVzLCAlbGxkIE1CIgorI34gbXNnc3RyICJUYW1hbmhvOiAlbGxkIGJ5dGVzLCAlbGxkIE1CIgorCisjfiBtc2dpZCAiU2l6ZTogJWxsZCBieXRlcywgJWxsZC4lbGxkIEdCIgorI34gbXNnc3RyICJUYW1hbmhvOiAlbGxkIGJ5dGVzLCAlbGxkLiVsbGQgR0IiCisKKyN+IG1zZ2lkICJIZWFkczogJWQgICBTZWN0b3JzIHBlciBUcmFjazogJWQgICBDeWxpbmRlcnM6ICVsbGQiCisjfiBtc2dzdHIgIkNhYmXDp2FzOiAlZCAgU2V0b3JlcyBwb3IgdHJpbGhhOiAlZCAgQ2lsaW5kcm9zOiAlbGxkIgorCisjfiBtc2dpZCAiUGFydCBUeXBlIgorI34gbXNnc3RyICJUaXBvIFBhcnQuIgorCisjfiBtc2dpZCAiRlMgVHlwZSIKKyN+IG1zZ3N0ciAiVGlwbyBTQSIKKworI34gbXNnaWQgIltMYWJlbF0iCisjfiBtc2dzdHIgIltSw7N0dWxvXSIKKworI34gbXNnaWQgIiAgICBTZWN0b3JzIgorI34gbXNnc3RyICIgICAgU2V0b3JlcyIKKworI34gbXNnaWQgIiAgQ3lsaW5kZXJzIgorI34gbXNnc3RyICIgIENpbGluZHJvcyIKKworI34gbXNnaWQgIiAgU2l6ZSAoTUIpIgorI34gbXNnc3RyICIgIFRhbS4gKE1CKSIKKworI34gbXNnaWQgIiAgU2l6ZSAoR0IpIgorI34gbXNnc3RyICIgIFRhbS4gKEdCKSIKKworI34gbXNnaWQgIk5vIG1vcmUgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiU2VtIG1haXMgcGFydGnDp8O1ZXMiCisKKyN+IG1zZ2lkICJDaGFuZ2UgZGlzayBnZW9tZXRyeSAoZXhwZXJ0cyBvbmx5KSIKKyN+IG1zZ3N0ciAiQWx0ZXJhIGEgZ2VvbWV0cmlhIGRvIGRpc2NvIChzb21lbnRlIHBhcmEgdXN1w6FyaW9zIGF2YW7Dp2Fkb3MpIgorCisjfiBtc2dpZCAiTWF4aW1pemUiCisjfiBtc2dzdHIgIk1heGltaXphciIKKworI34gbXNnaWQgIk1heGltaXplIGRpc2sgdXNhZ2Ugb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIChleHBlcnRzIG9ubHkpIgorI34gbXNnc3RyICJNYXhpbWl6YSBvIHVzbyBkZSBkaXNjbyBwYXJhIGEgcGFydGnDp8OjbyBhdHVhbCAoc29tZW50ZSBwYXJhIHVzdcOhcmlvcyBhdmFuw6dhZG9zKSIKKworI34gbXNnaWQgIlByaW50IgorI34gbXNnc3RyICJNb3N0cmFyIgorCisjfiBtc2dpZCAiQ2hhbmdlIHRoZSBmaWxlc3lzdGVtIHR5cGUgKERPUywgTGludXgsIE9TLzIgYW5kIHNvIG9uKSIKKyN+IG1zZ3N0ciAiQWx0ZXJhIG8gdGlwbyBkbyBzaXN0ZW1hIGRlIGFycXVpdm9zIChET1MsIExpbnV4LCBPUy8yIGUgb3V0cm9zKSIKKworI34gbXNnaWQgIlVuaXRzIgorI34gbXNnc3RyICJVbmlkYWRlcyIKKworI34gbXNnaWQgIkNoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSAoTUIsIHNlY3QsIGN5bCkiCisjfiBtc2dzdHIgIk11ZGEgdW5pZGFkZXMgbW9zdHJhZGFzIHBhcmEgbyB0YW1hbmhvIGRhcyBwYXJ0acOnw7VlcyAoTUIsIHNldG9yZXMsIGNpbGluZHJvcykiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWFrZSB0aGlzIHBhcnRpdGlvbiBib290YWJsZSIKKyN+IG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIHRvcm5hciBlc3RhIHBhcnRpw6fDo28gaW5pY2lhbGl6w6F2ZWwiCisKKyN+IG1zZ2lkICJDYW5ub3QgZGVsZXRlIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGV4Y2x1aXIgdW1hIHBhcnRpw6fDo28gdmF6aWEiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWF4aW1pemUgdGhpcyBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBtYXhpbWl6YXIgZXN0YSBwYXJ0acOnw6NvIgorCisjfiBtc2dpZCAiVGhpcyBwYXJ0aXRpb24gaXMgdW51c2FibGUiCisjfiBtc2dzdHIgIkVzdGEgcGFydGnDp8OjbyDDqSBpbnV0aWxpesOhdmVsIgorCisjfiBtc2dpZCAiVGhpcyBwYXJ0aXRpb24gaXMgYWxyZWFkeSBpbiB1c2UiCisjfiBtc2dzdHIgIkVzdGEgcGFydGnDp8OjbyBqw6EgZXN0w6Egc2VuZG8gdXNhZGEiCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIHRoZSB0eXBlIG9mIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGFsdGVyYXIgbyB0aXBvIGRlIHVtYSBwYXJ0acOnw6NvIHZhemlhIgorCisjfiBtc2dpZCAiSWxsZWdhbCBjb21tYW5kIgorI34gbXNnc3RyICJDb21hbmRvIGludsOhbGlkbyIKKworI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMTk5NC0yMDAyIEtldmluIEUuIE1hcnRpbiAmIGFlYlxuIgorI34gbXNnc3RyICJDb3B5cmlnaHQgKEMpIDE5OTQtMjAwMiBLZXZpbiBFLiBNYXJ0aW4gJiBhZWJcbiIKKworI34gbXNnaWQgIiAtaCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgIHNldCB0aGUgbnVtYmVyIG9mIGhlYWRzIHRvIHVzZVxuIgorI34gbXNnc3RyICIgLWgsIC0taGVhZHMgPG7Dum1lcm8+ICAgICAgZGVmaW5lIG8gbsO6bWVybyBkZSBjYWJlw6dhcyBhIHVzYXJcbiIKKworI34gbXNnaWQgIiAtZywgLS1ndWVzcyAgICAgICAgICAgICAgIGd1ZXNzIGEgZ2VvbWV0cnkgZnJvbSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+IG1zZ3N0ciAiIC1nLCAtLWd1ZXNzICAgICAgICAgICAgICAgYWR2aW5oYSB1bWEgZ2VvbWV0cmlhIGRhIHRhYmVsYSBkZSBwYXJ0acOnw6NvXG4iCisKKyN+IG1zZ2lkICIgLVAsIC0tcHJpbnQgPHJ8c3x0PiAgICAgICBwcmludCBwYXJ0aXRpb24gdGFibGUgaW4gc3BlY2lmaWVkIGZvcm1hdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1QLCAtLXByaW50IDxyfHN8dD4gICAgICAgbW9zdHJhIGEgdGFiZWxhIGRlIHBhcnRpw6fDo28gbm8gZm9ybWF0b1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGVzcGVjaWZpY2Fkb1xuIgorCisjfiBtc2dpZCAiIC1hLCAtLWFycm93ICAgICAgICAgICAgICAgdXNlIGFycm93IGZvciBoaWdobGlnaHRpbmcgdGhlIGN1cnJlbnQgcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiAtYSwgLS1hcnJvdyAgICAgICAgICAgICAgIHVzYSBzZXRhIHBhcmEgZGVzYXRhY2FyIGEgcGFydGnDp8OjbyBhdHVhbFxuIgorCisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhbmFsaXNhciBvIG7Dum1lcm8gZGUgY2lsaW5kcm9zIgorCisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBoZWFkcyIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFuYWxpc2FyIG8gbsO6bWVybyBkZSBjYWJlw6dhcyIKKworI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2Ygc2VjdG9ycyIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFuYWxpc2FyIG8gbsO6bWVybyBkZSBzZXRvcmVzIgorCisjfiBtc2dpZCAiOiAiCisjfiBtc2dzdHIgIjogIgorCisjfiBtc2dpZCAiIC1iIDxzaXplPiAgICAgICAgIHNlY3RvciBzaXplICg1MTIsIDEwMjQsIDIwNDggb3IgNDA5NilcbiIKKyN+IG1zZ3N0ciAiIC1iIDx0YW1hbmhvPiAgICAgIHRhbWFuaG8gZG8gc2V0b3IgKDUxMiwgMTAyNCwgMjA0OCBvdSA0MDk2KVxuIgorCisjfiBtc2dpZCAiIC1oICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscCB0ZXh0XG4iCisjfiBtc2dzdHIgIiAtaCAgICAgICAgICAgICAgICBtb3N0cmEgZXN0ZSB0ZXh0byBkZSBhanVkYVxuIgorCisjfiBtc2dpZCAiXG4iCisjfiBtc2dzdHIgIlxuIgorCisjfiBtc2dpZCAiIyIKKyN+IG1zZ3N0ciAiIyIKKworI34gbXNnaWQgImZzaXplIgorI34gbXNnc3RyICJmc2l6ZSIKKworI34gbXNnaWQgImJzaXplIgorI34gbXNnc3RyICJic2l6ZSIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCisjfiBtc2dzdHIgIkEgcGFydGnDp8OjbyAlZCBqw6EgZXN0w6EgZGVmaW5pZGEuIEV4Y2x1YS1hIGFudGVzIGRlIGFkaWNpb27DoS1sYSBub3ZhbWVudGUuIgorCisjfiBtc2dpZCAiIgorI34gIlBhcnRpdGlvbiB0eXBlOlxuIgorI34gIiAgIHAgICBwcmltYXJ5ICglemQgcHJpbWFyeSwgJWQgZXh0ZW5kZWQsICV6ZCBmcmVlKVxuIgorI34gIiVzXG4iCisjfiAiU2VsZWN0IChkZWZhdWx0ICVjKSIKKyN+IG1zZ3N0ciAiIgorI34gIlRpcG8gZGUgcGFydGnDp8OjbzpcbiIKKyN+ICIgICBwICAgcHJpbcOhcmlhICglemQgcHJpbcOhcmlhLCAlZCBlc3RlbmRpZGEsICV6ZCBsaXZyZSlcbiIKKyN+ICIlc1xuIgorI34gIlNlbGVjaW9uYXIgKHBhZHLDo28gJWMpIgorCisjfiBtc2dpZCAiICAgZSAgIGV4dGVuZGVkIgorI34gbXNnc3RyICIgICBlICAgZXN0ZW5kaWRhIgorCisjfiBtc2dpZCAiTnIiCisjfiBtc2dzdHIgIk5yIgorCisjfiBtc2dpZCAiQUYiCisjfiBtc2dzdHIgIkFGIgorCisjfiBtc2dpZCAiSGQiCisjfiBtc2dzdHIgIkhkIgorCisjfiBtc2dpZCAiU2VjIgorI34gbXNnc3RyICJTZXQiCisKKyN+IG1zZ2lkICJDeWwiCisjfiBtc2dzdHIgIkNpbCIKKworI34gbXNnaWQgIlRoaXMgZG9lc24ndCBsb29rIGxpa2UgYSBwYXJ0aXRpb24gdGFibGUuIFByb2JhYmx5IHlvdSBzZWxlY3RlZCB0aGUgd3JvbmcgZGV2aWNlLiIKKyN+IG1zZ3N0ciAiSXNzbyBuw6NvIHNlIHBhcmVjZSBjb20gdW1hIHRhYmVsYSBkZSBwYXJ0acOnw7Vlcy4gUHJvdmF2ZWxtZW50ZSB2b2PDqiBzZWxlY2lvbm91IG8gZGlzcG9zaXRpdm8gZXJyYWRvLiIKKworI34gbXNnaWQgIkJsb2NrcyAiCisjfiBtc2dzdHIgIkJsb2NvcyAiCisKKyN+IG1zZ2lkICJTeXN0ZW0iCisjfiBtc2dzdHIgIlNpc3RlbWEiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJXpkIGlzIGFscmVhZHkgZGVmaW5lZC4gRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorI34gbXNnc3RyICJBIHBhcnRpw6fDo28gJXpkIGrDoSBlc3TDoSBkZWZpbmlkYS4gRXhjbHVhLWEgYW50ZXMgZGUgYWRpY2lvbsOhLWxhIG5vdmFtZW50ZS4iCisKKyN+IG1zZ2lkICJQdCMiCisjfiBtc2dzdHIgIlB0IyIKKworI34gbXNnaWQgIkluZm8iCisjfiBtc2dzdHIgIkluZm9ybWHDp8OjbyIKKworI34gbXNnaWQgIlNlY3RvciIKKyN+IG1zZ3N0ciAiU2V0b3IiCisKKyN+IG1zZ2lkICJZb3Ugd2lsbCBnZXQgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKKyN+IG1zZ3N0ciAiSGF2ZXLDoSB1bWEgc29icmVwb3Npw6fDo28gZGUgcGFydGnDp8O1ZXMgbm8gZGlzY28uIENvcnJpamEtYSBhbnRlcyEiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiAgQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuIFRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuIgorI34gbXNnc3RyICJBdmlzbzogaW9jdGwgZGUgQkxLR0VUU0laRSBmYWxob3UgZW0gJXMuIFVzYW5kbyBvIHZhbG9yIGdlb23DqXRyaWNvIGRlIGNpbGluZHJvIGRvICVsbHUuIEVzdGUgdmFsb3IgcG9kZSBzZXIgdHJ1bmNhZG8gZW0gZGlzcG9zaXRpdm9zID4gMzMuOCBHQi4iCisKKyN+IG1zZ2lkICJGbGFnIgorI34gbXNnc3RyICJPcMOnw7VlcyIKKworI34gbXNnaWQgIiIKKyN+ICIgJTEkcyBbb3B0aW9uc10gTEFCRUw9PGxhYmVsPlxuIgorI34gIiAlMSRzIFtvcHRpb25zXSBVVUlEPTx1dWlkPlxuIgorI34gbXNnc3RyICIiCisjfiAiICUxJHMgW29ww6fDtWVzXSBMQUJFTD08csOzdHVsbz5cbiIKKyN+ICIgJTEkcyBbb3DDp8O1ZXNdIFVVSUQ9PHV1aWQ+XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1BLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgYnVpbHQtaW4gZmlsdGVycywgcHJpbnQgYWxsIGZpbGVzeXN0ZW1zXG4iCisjfiAiIC1hLCAtLWFzY2lpICAgICAgICAgICAgdXNlIEFTQ0lJIGNoYXJzIGZvciB0cmVlIGZvcm1hdHRpbmdcbiIKKyN+ICIgLWMsIC0tY2Fub25pY2FsaXplICAgICBjYW5vbmljYWxpemUgcHJpbnRlZCBwYXRoc1xuIgorI34gIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRhdGUgdGhlIG91dHB1dCBvZiBkZigxKVxuIgorI34gIiAtZCwgLS1kaXJlY3Rpb24gPHdvcmQ+IGRpcmVjdGlvbiBvZiBzZWFyY2gsICdmb3J3YXJkJyBvciAnYmFja3dhcmQnXG4iCisjfiAiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgY29udmVydCB0YWdzIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkZXZpY2UgbmFtZXNcbiIKKyN+ICIgLUYsIC0tdGFiLWZpbGUgPHBhdGg+ICBhbHRlcm5hdGl2ZSBmaWxlIGZvciAtLWZzdGFiLCAtLW10YWIgb3IgLS1rZXJuZWwgb3B0aW9uc1xuIgorI34gIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIHByaW50IHRoZSBmaXJzdCBmb3VuZCBmaWxlc3lzdGVtIG9ubHlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGRlc2FiaWxpdGEgdG9kb3Mgb3MgZmlsdHJvcyBlbWJ1dGlkb3MsIGV4aWJlIHRvZG9zXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgb3Mgc2lzdGVtYXMgZGUgYXJxdWl2b3NcbiIKKyN+ICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2EgY2FyYWN0ZXJlcyBBU0NJSSBwYXJhIGZvcm1hdGHDp8OjbyBlbSDDoXJ2b3JlXG4iCisjfiAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pemEgb3MgY2FtaW5ob3MgZXhpYmlkb3NcbiIKKyN+ICIgLUQsIC0tZGYgICAgICAgICAgICAgICBpbWl0YSBhIHNhw61kYSBkbyBkZigxKVxuIgorI34gIiAtZCwgLS1kaXJlY3Rpb24gPHBhbGF2cmE+XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgZGlyZcOnw6NvIGRhIHBlc3F1aXNhLCBcImZvcndhcmRcIiBvdSBcImJhY2t3YXJkXCJcbiIKKyN+ICIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBjb252ZXJ0ZSB0YWdzIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTClcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYSBub21lcyBkZSBkaXNwb3NpdGl2b3NcbiIKKyN+ICIgLUYsIC0tdGFiLWZpbGUgPGNhbWluaG8+XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgYXJxdWl2byBhbHRlcm5hdGl2byBwYXJhIGFzIG9ww6fDtWVzIC0tZnN0YWIsIC0tbXRhYlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICBvdSAtLWtlcm5lbFxuIgorI34gIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIGV4aWJlIHPDsyBvIHByaW1laXJvIHNpc3RlbWEgZGUgYXJxdWl2b3MgZW5jb250cmFkb1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVydCB0aGUgc2Vuc2Ugb2YgbWF0Y2hpbmdcbiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCisjfiAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNlIGFsdGVybmF0aXZlIG5hbWVzcGFjZSAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIGZpbGUpXG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgY29sdW1uIGhlYWRpbmdzXG4iCisjfiAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnRlIG8gc2VudGlkbyBkYSBjb3JyZXNwb25kw6puY2lhXG4iCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdXNhIHVtYSBzYcOtZGEgZm9ybWF0YWRhIGVtIGxpc3RhXG4iCisjfiAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNhIHVtIGVzcGHDp28gZGUgbm9tZSBhbHRlcmFudGl2b1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAoYXJxdWl2byAvcHJvYy88dGlkPi9tb3VudGluZm8pXG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgbsOjbyBleGliZSBvcyBjYWJlw6dhbGhvcyBkYSBjb2x1bmFcbiIKKyN+ICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBuw6NvIHRydW5jYSB0ZXh0byBuYXMgY29sdW5hc1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIGRvbid0IHByaW50IFsvZGlyXSBmb3IgYmluZCBvciBidHJmcyBtb3VudHNcbiIKKyN+ICIgLVIsIC0tc3VibW91bnRzICAgICAgICBwcmludCBhbGwgc3VibW91bnRzIGZvciB0aGUgbWF0Y2hpbmcgZmlsZXN5c3RlbXNcbiIKKyN+ICIgLVMsIC0tc291cmNlIDxzdHJpbmc+ICB0aGUgZGV2aWNlIHRvIG1vdW50IChieSBuYW1lLCBtYWo6bWluLCBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKKyN+ICIgLVQsIC0tdGFyZ2V0IDxzdHJpbmc+ICB0aGUgbW91bnRwb2ludCB0byB1c2VcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIG7Do28gZXhpYmUgWy9kaXJdIHBhcmEgbW9udGFnZW5zIFwiYmluZFwiIG91IGJ0cmZzXG4iCisjfiAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgZXhpYmUgdG9kYXMgYXMgc3VibW9udGFnZW5zIHBhcmEgb3Mgc2lzdGVtYXMgZGVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBhcnF1aXZvcyBjb3JyZXNwb25kZW50ZXNcbiIKKyN+ICIgLVMsIC0tc291cmNlIDx0ZXh0bz4gICBvIGRpc3Bvc2l0aXZvIHBhcmEgbW9udGFyIChwb3Igbm9tZSwgbWFpb3I6bcOtbmltbyxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKKyN+ICIgLVQsIC0tdGFyZ2V0IDx0ZXh0bz4gICBvIHBvbnRvIGRlIG1vbnRhZ2VtIHBhcmEgdXNhclxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZiwgLS1maWxlIDxmaWxlPiB1c2UgZmlsZSBhcyBhIGNvb2tpZSBzZWVkXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWYsIC0tZmlsZSA8YXJxdWl2bz5cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgdXNhIG8gYXJxdWl2byBjb21vIHVtYSBzZW1lbnRlIGRvIGNvb2tpZVxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICBleHBsaWNhIG8gcXVlIGVzdMOhIHNlbmRvIGZlaXRvXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgIGV4aWJlIGluZm9ybWHDp8OjbyBkYSB2ZXJzw6NvIGUgc2FpXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgIGV4aWJlIGVzdGEgYWp1ZGEgZSBzYWlcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIkJvdGggLS1waWQgYW5kIC0tbm8tcGlkIHNwZWNpZmllZC4gSWdub3JpbmcgLS1uby1waWQuIgorI34gbXNnc3RyICJFc3BlY2lmaWNhZG9zIHRhbnRvIC0tcGlkIHF1YW50byAtLW5vLXBpZC4gSWdub3JhbmRvIC0tbm8tcGlkLiIKKworI34gbXNnaWQgIndhcm5pbmc6IGVycm9yIHJlYWRpbmcgJXM6ICVzIgorI34gbXNnc3RyICJhdmlzbzogZXJybyBuYSBsZWl0dXJhIGRlICVzOiAlcyIKKworI34gbXNnaWQgIndhcm5pbmc6IGNhbid0IG9wZW4gJXM6ICVzIgorI34gbXNnc3RyICJhdmlzbzogbsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyICVzOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjb3VsZCBub3Qgb3BlbiAlcyAtIHVzaW5nICVzIGluc3RlYWRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAlcyAtIHVzYW5kbyAlc1xuIgorCisjfiBtc2dpZCAiY2FuJ3QgY3JlYXRlIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGNyaWFyIG8gYXJxdWl2byBkZSBibG9xdWVpbyAlczogJXMgKHVzZSBhIG9ww6fDo28gLW4gcGFyYSBhbnVsYXIpIgorCisjfiBtc2dpZCAiY2FuJ3QgbGluayBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCB2aW5jdWxhciBvIGFycXVpdm8gZGUgYmxvcXVlaW8gJXM6ICVzICh1c2UgYSBvcMOnw6NvIC1uIHBhcmEgYW51bGFyKSIKKworI34gbXNnaWQgImNhbid0IG9wZW4gbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgbyBhcnF1aXZvIGRlIGJsb3F1ZWlvICVzOiAlcyAodXNlIGEgb3DDp8OjbyAtbiBwYXJhIGFudWxhcikiCisKKyN+IG1zZ2lkICJDYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGJsb3F1ZWFyIG8gYXJxdWl2byBkZSBibG9xdWVpbyAlczogJXNcbiIKKworI34gbXNnaWQgImNhbid0IGxvY2sgbG9jayBmaWxlICVzOiAlcyIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGJsb3F1ZWFyIG8gYXJxdWl2byBkZSBibG9xdWVpbyAlczogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiQ2Fubm90IGNyZWF0ZSBsaW5rICVzXG4iCisjfiAiUGVyaGFwcyB0aGVyZSBpcyBhIHN0YWxlIGxvY2sgZmlsZT9cbiIKKyN+IG1zZ3N0ciAiIgorI34gIk7Do28gZm9pIHBvc3PDrXZlbCBjcmlhciBvIHbDrW5jdWxvICVzXG4iCisjfiAiVGFsdmV6IGhhamEgdW0gYXJxdWl2byBkZSBibG9xdWVpbyB2ZW5jaWRvP1xuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgKCVzKSAtIG10YWIgbm90IHVwZGF0ZWQiCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAlcyAoJXMpIC0gbXRhYiBuw6NvIGF0dWFsaXphZG8iCisKKyN+IG1zZ2lkICJlcnJvciB3cml0aW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAiZXJybyBhbyBncmF2YXIgJXM6ICVzIgorCisjfiBtc2dpZCAiJXM6IGNhbm5vdCBmZmx1c2ggY2hhbmdlczogJXMiCisjfiBtc2dzdHIgIiVzOiBuw6NvIGZvaSBwb3Nzw612ZWwgZmZsdXNoIG5hcyBhbHRlcmHDp8O1ZXM6ICVzIgorCisjfiBtc2dpZCAiZXJyb3IgY2hhbmdpbmcgbW9kZSBvZiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiZXJybyBhbyBhbHRlcmFyIG8gbW9kbyBkZSAlczogJXNcbiIKKworI34gbXNnaWQgImVycm9yIGNoYW5naW5nIG93bmVyIG9mICVzOiAlc1xuIgorI34gbXNnc3RyICJlcnJvIGFvIGFsdGVyYXIgbyBkb25vIGRlICVzOiAlc1xuIgorCisjfiBtc2dpZCAiY2FuJ3QgcmVuYW1lICVzIHRvICVzOiAlc1xuIgorI34gbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgcmVub21lYXIgJXMgcGFyYSAlczogJXNcbiIKKworIyBBbHRlcmVpIG8gZXhlbXBsbyBlbnRyZSBwYXLDqm50ZXNlcyBwYXJhIGNhYmVyIG5hIGxpbmhhLiBBIHRyYWR1w6fDo28gbsOjbyBmaWNvdQorIyBsaXRlcmFsLCBtYXMgcGVuc28gc2VyIHVtIGV4ZW1wbG8gYWNlaXTDoXZlbCBtYW50ZW5kbyBhIGVzdHJ1dHVyYSB0ZXh0dWFsLgorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJtb3VudDogd2FybmluZzogL2V0Yy9tdGFiIGlzIG5vdCB3cml0YWJsZSAoZS5nLiByZWFkLW9ubHkgZmlsZXN5c3RlbSkuXG4iCisjfiAiICAgICAgIEl0J3MgcG9zc2libGUgdGhhdCBpbmZvcm1hdGlvbiByZXBvcnRlZCBieSBtb3VudCg4KSBpcyBub3RcbiIKKyN+ICIgICAgICAgdXAgdG8gZGF0ZS4gRm9yIGFjdHVhbCBpbmZvcm1hdGlvbiBhYm91dCBzeXN0ZW0gbW91bnQgcG9pbnRzXG4iCisjfiAiICAgICAgIGNoZWNrIHRoZSAvcHJvYy9tb3VudHMgZmlsZS5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIm1vdW50OiBhdmlzbzogL2V0Yy9tdGFiIG7Do28gw6kgZ3JhdsOhdmVsIChleC46IGFycXVpdm8gc29tZW50ZSBsZWl0dXJhKS5cbiIKKyN+ICIgICAgICAgw4kgcG9zc8OtdmVsIHF1ZSBhIGluZm9ybWHDp8OjbyByZWxhdGFkYSBwb3IgbW91bnQoOCkgbsOjbyBlc3RlamFcbiIKKyN+ICIgICAgICAgYXR1YWxpemFkYS4gUGFyYSBpbmZvcm1hw6fDtWVzIG1haXMgYXR1YWlzIHNvYnJlIG9zIHBvbnRvcyBkZSBtb250YWdlbVxuIgorI34gIiAgICAgICB2ZXJpZmlxdWUgbyBhcnF1aXZvIC9wcm9jL21vdW50cy5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIm1vdW50OiBpbXByb3Blcmx5IHF1b3RlZCBvcHRpb24gc3RyaW5nICclcyciCisjfiBtc2dzdHIgIm1vdW50OiB0ZXh0byBkZSBvcMOnw6NvIGluYXByb3ByaWFkYW1lbnRlIGVudHJlIGFzIGFzcGFzIFwiJXNcIiIKKworIyAxLSBub21lIG9ww6fDo287IDItIGRhZG9zOyAzLSBkYWRvcyB0cmF0YWRvcworI34gbXNnaWQgIm1vdW50OiB0cmFuc2xhdGVkICVzICclcycgdG8gJyVzJ1xuIgorI34gbXNnc3RyICJtb3VudDogJXMgdHJhZHV6aWRhIGRlIFwiJXNcIiBwYXJhIFwiJXNcIlxuIgorCisjfiBtc2dpZCAibW91bnQ6IFNFTGludXggKmNvbnRleHQ9IG9wdGlvbnMgYXJlIGlnbm9yZSBvbiByZW1vdW50LlxuIgorI34gbXNnc3RyICJtb3VudDogb3DDp8O1ZXMgU0VMaW51eCAqY29udGV4dD0gc8OjbyBpZ25vcmFkYXMgYW8gcmVtb250YXIuXG4iCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGRlIGFjb3JkbyBjb20gbXRhYiwgJXMgasOhIGVzdMOhIG1vbnRhZG8gZW0gJXMiCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIG1vdW50ZWQgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiBkZSBhY29yZG8gY29tIG8gbXRhYiwgJXMgZXN0w6EgbW9udGFkbyBlbSAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBvcGVuICVzIGZvciB3cml0aW5nOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IG7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAlcyBwYXJhIGdyYXZhw6fDo286ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIHdyaXRpbmcgJXM6ICVzIgorI34gbXNnc3RyICJtb3VudDogZXJybyBhbyBncmF2YXIgJXM6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIGNoYW5naW5nIG1vZGUgb2YgJXM6ICVzIgorI34gbXNnc3RyICJtb3VudDogZXJybyBhbyBhbHRlcmFyIG1vZG8gZGUgJXM6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDogbsOjbyBmb2kgcG9zc8OtdmVsIGRlZmluaXIgaWQgZG8gZ3J1cG86ICVtIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgdXNlciBpZDogJW0iCisjfiBtc2dzdHIgIm1vdW50OiBuw6NvIGZvaSBwb3Nzw612ZWwgZGVmaW5pciBpZCBkbyB1c3XDoXJpbzogJW0iCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IGZvcms6ICVzIgorI34gbXNnc3RyICJtb3VudDogbsOjbyBmb2kgcG9zc8OtdmVsIHJlYWxpemFyIGZvcms6ICVzIgorCisjfiBtc2dpZCAiVHJ5aW5nICVzXG4iCisjfiBtc2dzdHIgIkV4cGVyaW1lbnRhbmRvICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogeW91IGRpZG4ndCBzcGVjaWZ5IGEgZmlsZXN5c3RlbSB0eXBlIGZvciAlc1xuIgorI34gbXNnc3RyICJtb3VudDogbsOjbyBmb2kgZXNwZWNpZmljYWRvIHVtIHRpcG8gZGUgc2lzdGVtYSBkZSBhcnF1aXZvcyBwYXJhICVzXG4iCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSBhbGwgdHlwZXMgbWVudGlvbmVkIGluICVzIG9yICVzXG4iCisjfiBtc2dzdHIgIiAgICAgICBWb3UgdGVudGFyIHRvZG9zIG9zIHRpcG9zIG1lbmNpb25hZG9zIGVtICVzIG91ICVzXG4iCisKKyN+IG1zZ2lkICIgICAgICAgYW5kIGl0IGxvb2tzIGxpa2UgdGhpcyBpcyBzd2Fwc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAgICAgIGUgcGFyZWNlIHNlciB1bSBlc3Bhw6dvIGRlIHN3YXBcbiIKKworI34gbXNnaWQgIiAgICAgICBJIHdpbGwgdHJ5IHR5cGUgJXNcbiIKKyN+IG1zZ3N0ciAiICAgICAgIFZvdSB0ZW50YXIgbyB0aXBvICVzXG4iCisKKyN+IG1zZ2lkICIlcyBsb29rcyBsaWtlIHN3YXBzcGFjZSAtIG5vdCBtb3VudGVkIgorI34gbXNnc3RyICIlcyBwYXJlY2UgZXNwYcOnbyBkZSBzd2FwIC0gbsOjbyBtb250YWRvIgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiAlczogbW9yZSBmaWxlc3lzdGVtcyBkZXRlY3RlZC4gVGhpcyBzaG91bGQgbm90IGhhcHBlbixcbiIKKyN+ICIgICAgICAgdXNlIC10IDx0eXBlPiB0byBleHBsaWNpdGx5IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSBvclxuIgorI34gIiAgICAgICB1c2Ugd2lwZWZzKDgpIHRvIGNsZWFuIHVwIHRoZSBkZXZpY2UuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogJXM6IG1haXMgc2lzdGVtYXMgZGUgYXJxdWl2b3MgZGV0ZWN0YWRvcy4gSXNzbyBuw6NvIGRldmVyaWEgYWNvbnRlY2VyLFxuIgorI34gIiAgICAgICB1c2UgLXQgPHRpcG8+IHBhcmEgZXNwZWNpZmljYXIgZXhwbGljaXRhbWVudGUgbyB0aXBvIGRlIHNpc3RlbWEgZGVcbiIKKyN+ICIgICAgICAgYXJxdWl2b3Mgb3UgdXNlIHdpcGVmcyg4KSBwYXJhIGFwYWdhciBvIGRpc3Bvc2l0aXZvLlxuIgorCisjfiBtc2dpZCAibW91bnQgZmFpbGVkIgorI34gbXNnc3RyICJtb3VudCBmYWxob3UiCisKKyN+IG1zZ2lkICJtb3VudDogb25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IHNvbWVudGUgbyByb290IHBvZGUgbW9udGFyICVzIGVtICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGxvb3AgZGV2aWNlIHNwZWNpZmllZCB0d2ljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IGRpc3Bvc2l0aXZvIGRlIGxvb3AgZXNwZWNpZmljYWRvIGR1YXMgdmV6ZXMiCisKKyN+IG1zZ2lkICJtb3VudDogdHlwZSBzcGVjaWZpZWQgdHdpY2UiCisjfiBtc2dzdHIgIm1vdW50OiB0aXBvIGVzcGVjaWZpY2FkbyBkdWFzIHZlemVzIgorCisjfiBtc2dpZCAibW91bnQ6IHNraXBwaW5nIHRoZSBzZXR1cCBvZiBhIGxvb3AgZGV2aWNlXG4iCisjfiBtc2dzdHIgIm1vdW50OiBwdWxhbmRvIGEgY29uZmlndXJhw6fDo28gZGUgdW0gZGlzcG9zaXRpdm8gZGUgbG9vcFxuIgorCisjfiBtc2dpZCAibW91bnQ6IGVuYWJsaW5nIGF1dG9jbGVhciBsb29wZGV2IGZsYWdcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGhhYmlsaXRhbmRvIGEgb3DDp8OjbyBhdXRvY2xlYXIgZGUgZGlzcG9zaXRpdm8gZGUgbG9vcFxuIgorCisjfiBtc2dpZCAibW91bnQ6IGludmFsaWQgb2Zmc2V0ICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICJtb3VudDogZXNwZWNpZmljYWRhIHBvc2nDp8OjbyBpbnbDoWxpZGEgXCIlc1wiIgorCisjfiBtc2dpZCAibW91bnQ6IGludmFsaWQgc2l6ZWxpbWl0ICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICJtb3VudDogZXNwZWNpZmljYWRvIGxpbWl0ZSBkZSB0YW1hbmhvIGludsOhbGlkbyBcIiVzXCIiCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIGFzIGxvb3AiCisjfiBtc2dzdHIgIm1vdW50OiBkZSBhY29yZG8gY29tIG8gbXRhYiwgJXMgasOhIGVzdMOhIG1vbnRhZG8gZW0gJXMgY29tbyBsb29wIgorCisjfiBtc2dpZCAiZW5jcnlwdGlvbiBub3Qgc3VwcG9ydGVkLCB1c2UgY3J5cHRzZXR1cCg4KSBpbnN0ZWFkIgorI34gbXNnc3RyICJzZW0gc3Vwb3J0ZSBhIGNyaXB0b2dyYWZpYSwgdXNlIGNyeXB0c2V0dXAoOCkiCisKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGRldiBjb250ZXh0IgorI34gbXNnc3RyICJtb3VudDogZmFsaGEgYW8gaW5pY2lhbGl6YXIgY29udGV4dG8gZGUgZGlzcG9zaXRpdm8gZGUgbG9vcCIKKworI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gdXNlICVzIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IGZhbGhhIGFvIHVzYXIgZGlzcG9zaXRpdm8gZGUgJXMiCisKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIGZvdW5kIGZyZWUgbG9vcCBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiBmYWxoYSBlbSBsb2NhbGl6YXIgZGlzcG9zaXRpdm8gZGUgbG9vcCBsaXZyZSIKKworI34gbXNnaWQgIm1vdW50OiBnb2luZyB0byB1c2UgdGhlIGxvb3AgZGV2aWNlICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBzZXLDoSB1c2FkbyBvIGRpc3Bvc2l0aXZvIGRlIGxvb3AgJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiAlczogZmFpbGVkIHRvIHNldCBsb29wZGV2IGF0dHJpYnV0ZXMiCisjfiBtc2dzdHIgIm1vdW50OiAlczogZmFsaGEgYW8gY29uZmlndXJhciBhdHJpYnV0b3MgZG8gZGlzcG9zaXRpdm8gZGUgbG9vcCIKKworI34gbXNnaWQgIm1vdW50OiAlczogZmFpbGVkIHNldHRpbmcgdXAgbG9vcCBkZXZpY2U6ICVtIgorI34gbXNnc3RyICJtb3VudDogJXM6IGZhbGhhIGFvIGNvbmZpZ3VyYXIgZGlzcG9zaXRpdm8gZGUgbG9vcDogJW0iCisKKyN+IG1zZ2lkICJtb3VudDogc3RvbGVuIGxvb3A9JXMgLi4udHJ5aW5nIGFnYWluXG4iCisjfiBtc2dzdHIgIm1vdW50OiBsb29wOiVzIGZ1cnRhZG8gLi4udGVudGFuZG8gbm92YW1lbnRlXG4iCisKKyN+IG1zZ2lkICJtb3VudDogc3RvbGVuIGxvb3A9JXMiCisjfiBtc2dzdHIgInVtb3VudDogbG9vcD0lcyBmdXJ0YWRvIgorCisjfiBtc2dpZCAibW91bnQ6IHNldHVwIGxvb3AgZGV2aWNlIHN1Y2Nlc3NmdWxseVxuIgorI34gbXNnc3RyICJtb3VudDogY29uZmlndXJhw6fDo28gZGUgZGlzcG9zaXRpdm8gZGUgbGHDp28gcmVhbGl6YWRhIGNvbSBzdWNlc3NvXG4iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gJXMgZm91bmQgLSBjcmVhdGluZyBpdC4uXG4iCisjfiBtc2dzdHIgIm1vdW50OiBuZW5odW0gJXMgZW5jb250cmFkbyAtIGNyaWFuZG8tby4uLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBvcGVuICVzIGZvciBzZXR0aW5nIHNwZWVkIgorI34gbXNnc3RyICJtb3VudDogbsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyICVzIHBhcmEgY29uZmlndXJhw6fDo28gZGEgdmVsb2NpZGFkZSIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHNwZWVkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IG7Do28gZm9pIHBvc3PDrXZlbCBjb25maWd1cmFyIHZlbG9jaWRhZGU6ICVtIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGRlIGFjb3JkbyBjb20gbyBtdGFiLCAlcyBqw6EgZXN0w6EgbW9udGFkbyBlbSAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IHdhcm5pbmc6ICVzIHNlZW1zIHRvIGJlIG1vdW50ZWQgcmVhZC13cml0ZS5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGF2aXNvOiAlcyBwYXJlY2UgZXN0YXIgbW9udGFkbyBwYXJhIGxlaXR1cmEgZSBncmF2YcOnw6NvLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IHdhcm5pbmc6ICVzIHNlZW1zIHRvIGJlIG1vdW50ZWQgcmVhZC1vbmx5LlxuIgorI34gbXNnc3RyICJtb3VudDogYXZpc286ICVzIHBhcmVjZSBlc3RhciBtb250YWRvIHNvbWVudGUgcGFyYSBsZWl0dXJhLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IEkgY291bGQgbm90IGRldGVybWluZSB0aGUgZmlsZXN5c3RlbSB0eXBlLCBhbmQgbm9uZSB3YXMgc3BlY2lmaWVkIgorI34gbXNnc3RyICJtb3VudDogbsOjbyBmb2kgcG9zc8OtdmVsIGRldGVybWluYXIgbyB0aXBvIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3MgZSBuZW5odW0gZm9pIGVzcGVjaWZpY2FkbyIKKworI34gbXNnaWQgIm1vdW50OiB5b3UgbXVzdCBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUiCisjfiBtc2dzdHIgIm1vdW50OiB2b2PDqiBwcmVjaXNhIGVzcGVjaWZpY2FyIG8gdGlwbyBkbyBzaXN0ZW1hIGRlIGFycXVpdm9zIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGEgbW9udGFnZW0gZmFsaG91IgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGlzIG5vdCBhIGRpcmVjdG9yeSIKKyN+IG1zZ3N0ciAibW91bnQ6IG8gcG9udG8gZGUgbW9udGFnZW0gJXMgbsOjbyDDqSB1bSBkaXJldMOzcmlvIgorCisjfiBtc2dpZCAibW91bnQ6IHBlcm1pc3Npb24gZGVuaWVkIgorI34gbXNnc3RyICJtb3VudDogcGVybWlzc8OjbyBuZWdhZGEiCisKKyN+IG1zZ2lkICJtb3VudDogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorI34gbXNnc3RyICJtb3VudDogw6kgbmVjZXNzw6FyaW8gc2VyIHN1cGVydXN1w6FyaW8gcGFyYSBtb250YXIiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgYnVzeSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGVzdMOhIG9jdXBhZG8iCisKKyN+IG1zZ2lkICJtb3VudDogcHJvYyBhbHJlYWR5IG1vdW50ZWQiCisjfiBtc2dzdHIgIm1vdW50OiBwcm9jIGrDoSBtb250YWRvIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGFscmVhZHkgbW91bnRlZCBvciAlcyBidXN5IgorI34gbXNnc3RyICJtb3VudDogJXMgasOhIG1vbnRhZG8gb3UgJXMgb2N1cGFkbyIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBwb2ludCAlcyBkb2VzIG5vdCBleGlzdCIKKyN+IG1zZ3N0ciAibW91bnQ6IG8gcG9udG8gZGUgbW9udGFnZW0gJXMgbsOjbyBleGlzdGUiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCisjfiBtc2dzdHIgIm1vdW50OiBvIHBvbnRvIGRlIG1vbnRhZ2VtICVzIMOpIHVtIGxpbmsgc2ltYsOzbGljbyBwYXJhIGx1Z2FyIG5lbmh1bSIKKworI34gbXNnaWQgIm1vdW50OiBzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKKyN+IG1zZ3N0ciAibW91bnQ6IG8gZGlzcG9zaXRpdm8gZXNwZWNpYWwgJXMgbsOjbyBleGlzdGUiCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0XG4iCisjfiAiICAgICAgIChhIHBhdGggcHJlZml4IGlzIG5vdCBhIGRpcmVjdG9yeSlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiBvIGRpc3Bvc2l0aXZvIGVzcGVjaWFsICVzIG7Do28gZXhpc3RlXG4iCisjfiAiICAgICAgICh1bSBwcmVmaXhvIGRlIGNhbWluaG8gbsOjbyDDqSB1bSBkaXJldMOzcmlvKVxuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCisjfiBtc2dzdHIgIm1vdW50OiAlcyBuw6NvIGVzdMOhIG1vbnRhZG8gb3Ugb3DDp8OjbyBpbnbDoWxpZGEiCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHdyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLFxuIgorI34gIiAgICAgICBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiB0aXBvIGRlIHNpc3RlbWEgZGUgYXJxdWl2b3MgaW5jb3JyZXRvLCBvcMOnw6NvIGludsOhbGlkYSxcbiIKKyN+ICIgICAgICAgc3VwZXJibG9jbyBpbnbDoWxpZG8gZW0gJXMsIHDDoWdpbmEgZGUgY8OzZGlnbyBvdSBwcm9ncmFtYVxuIgorI34gIiAgICAgICBhdXhpbGlhciBmYWx0YW5kbyBvdSBvdXRybyBlcnJvIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoZm9yIHNldmVyYWwgZmlsZXN5c3RlbXMgKGUuZy4gbmZzLCBjaWZzKSB5b3UgbWlnaHRcbiIKKyN+ICIgICAgICAgbmVlZCBhIC9zYmluL21vdW50Ljx0eXBlPiBoZWxwZXIgcHJvZ3JhbSkiCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAgKHBhcmEgdsOhcmlvcyBzaXN0ZW1hcyBkZSBhcnF1aXZvcyAoZXguOiBuZnMsIGNpZnMpIHZvY8OqXG4iCisjfiAiICAgICAgIHBvZGUgcHJlY2lzYXIgZGUgdW0gcHJvZ3JhbWEgYXV4aWxpYXIgL3NiaW4vbW91bnQuPHRpcG8+KSIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgKGNvdWxkIHRoaXMgYmUgdGhlIElERSBkZXZpY2Ugd2hlcmUgeW91IGluIGZhY3QgdXNlXG4iCisjfiAiICAgICAgIGlkZS1zY3NpIHNvIHRoYXQgc3IwIG9yIHNkYSBvciBzbyBpcyBuZWVkZWQ/KSIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAocG9kZXJpYSBzZXIgZXN0ZSBvIGRpc3Bvc2l0aXZvIElERSBubyBxdWFsIHZvY8OqIGRlXG4iCisjfiAiICAgICAgIGZhdG8gdXNhIGlkZS1zY3NpLCBkZSBmb3JtYSBxdWUgc3IwIG91IHNkYSwgb3UgcXVhbFxuIgorI34gIiAgICAgICBzZWphLCBzZWphIG5lY2Vzc8OhcmlvPykiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIChhcmVuJ3QgeW91IHRyeWluZyB0byBtb3VudCBhbiBleHRlbmRlZCBwYXJ0aXRpb24sXG4iCisjfiAiICAgICAgIGluc3RlYWQgb2Ygc29tZSBsb2dpY2FsIHBhcnRpdGlvbiBpbnNpZGU/KSIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAodm9jw6ogbsOjbyBlc3TDoSB0ZW50YW5kbyBtb250YXIgdW1hIHBhcnRpw6fDo28gZXN0ZW5kaWRhLFxuIgorI34gIiAgICAgICBlbSB2ZXogZGUgdW1hIHBhcnRpw6fDo28gbMOzZ2ljYSBkZW50cm8gZGVzdGE/IgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICBJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGlzIGZvdW5kIGluIHN5c2xvZyAtIHRyeVxuIgorI34gIiAgICAgICBkbWVzZyB8IHRhaWwgIG9yIHNvXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAgRW0gYWxndW5zIGNhc29zLCBpbmZvcm1hw6fDtWVzIMO6dGVpcyBzw6NvIGVuY29udHJhZGFzIG5vXG4iCisjfiAiICAgICAgIHN5c2xvZyAtIHRlbnRlIFwiZG1lc2cgfCB0YWlsXCIgb3UgYWxnbyBhc3NpbS5cbiIKKworI34gbXNnaWQgIm1vdW50OiAlczogY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIgorI34gbXNnc3RyICJtb3VudDogJXM6IG7Do28gZm9pIHBvc3PDrXZlbCBsZXIgbyBzdXBlcmJsb2NvIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiB1bmtub3duIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzOiBkaXNwb3NpdGl2byBkZSBibG9jbyBkZXNjb25oZWNpZG8iCisKKyN+IG1zZ2lkICJtb3VudDogdW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpcG8gZGUgc2lzdGVtYSBkZSBhcnF1aXZvcyBcIiVzXCIgZGVzY29uaGVjaWRvIgorCisjfiBtc2dpZCAibW91bnQ6IHByb2JhYmx5IHlvdSBtZWFudCAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IHByb3ZhdmVsbWVudGUgdm9jw6ogcXVpcyBkaXplciAlcyIKKworI34gbXNnaWQgIm1vdW50OiBtYXliZSB5b3UgbWVhbnQgJ2lzbzk2NjAnPyIKKyN+IG1zZ3N0ciAibW91bnQ6IHRhbHZleiB2b2PDqiBxdWlzZXNzZSBkaXplciBcImlzbzk2NjBcIj8iCisKKyN+IG1zZ2lkICJtb3VudDogbWF5YmUgeW91IG1lYW50ICd2ZmF0Jz8iCisjfiBtc2dzdHIgIm1vdW50OiB0YWx2ZXogdm9jw6ogcXVpc2Vzc2UgZGl6ZXIgXCJ2ZmF0XCI/IgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGhhcyB3cm9uZyBkZXZpY2UgbnVtYmVyIG9yIGZzIHR5cGUgJXMgbm90IHN1cHBvcnRlZCIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIHBvc3N1aSBuw7ptZXJvIGRlIGRpc3Bvc2l0aXZvIGluY29ycmV0byBvdSBzZW0gc3Vwb3J0ZSBhbyB0aXBvIGRlIHNpc3RlbWEgZGUgYXJxdWl2b3MgJXMiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCBmYWlscz8iCisjfiBtc2dzdHIgIm1vdW50OiAlcyBuw6NvIMOpIHVtIGRpc3Bvc2l0aXZvIGRlIGJsb2NvIGUgZmFsaGEgYW8gb2J0ZXIgZXN0YWRvIGRvIGFycXVpdm8/IgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiB0aGUga2VybmVsIGRvZXMgbm90IHJlY29nbml6ZSAlcyBhcyBhIGJsb2NrIGRldmljZVxuIgorI34gIiAgICAgICAobWF5YmUgYG1vZHByb2JlIGRyaXZlcic/KSIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiBvIGtlcm5lbCBuw6NvIHJlY29uaGVjZSAlcyBjb21vIGRpc3Bvc2l0aXZvIGRlIGJsb2NvXG4iCisjfiAiICAgICAgICh0YWx2ZXogXCJtb2Rwcm9iZSBkcml2ZXJcIj8pIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSAobWF5YmUgdHJ5IGAtbyBsb29wJz8pIgorI34gbXNnc3RyICJtb3VudDogJXMgbsOjbyDDqSB1bSBkaXNwb3NpdGl2byBkZSBibG9jbyAodGVudGUgdGFsdmV6IFwiLW8gbG9vcFwiPykiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudDogJXMgbsOjbyDDqSB1bSBkaXNwb3NpdGl2byBkZSBibG9jbyIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBuw6NvIMOpIHVtIGRpc3Bvc2l0aXZvIGRlIGJsb2NvIHbDoWxpZG8iCisKKyN+IG1zZ2lkICJibG9jayBkZXZpY2UgIgorI34gbXNnc3RyICJkaXNwb3NpdGl2byBkZSBibG9jbyAiCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IG1vdW50ICVzJXMgcmVhZC1vbmx5IgorI34gbXNnc3RyICJtb3VudDogbsOjbyBmb2kgcG9zc8OtdmVsIG1vbnRhciAlcyVzIHNvbWVudGUgcGFyYSBsZWl0dXJhIgorCisjfiBtc2dpZCAibW91bnQ6ICVzJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCBgLXcnIGZsYWcgZ2l2ZW4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyVzIMOpIHByb3RlZ2lkbyBjb250cmEgZ3JhdmHDp8OjbywgbWFzIGEgb3DDp8OjbyBcIi13XCIgZm9pIHBhc3NhZGEiCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHJlbW91bnQgJXMlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCisjfiBtc2dzdHIgIm1vdW50OiBuw6NvIGZvaSBwb3Nzw612ZWwgbW9udGFyICVzJXMgc29tZW50ZSBwYXJhIGxlaXR1cmEiCisKKyN+IG1zZ2lkICJtb3VudDogJXMlcyBpcyB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50aW5nIHJlYWQtb25seSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzJXMgw6kgcHJvdGVnaWRvIGNvbnRyYSBncmF2YcOnw6NvOyBtb250YW5kbyBzb21lbnRlIHBhcmEgbGVpdHVyYSIKKworI34gbXNnaWQgIm1vdW50OiBubyBtZWRpdW0gZm91bmQgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiBuZW5odW1hIG3DrWRpYSBsb2NhbGl6YWRhIGVtICVzIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHR5cGUgd2FzIGdpdmVuIC0gSSdsbCBhc3N1bWUgbmZzIGJlY2F1c2Ugb2YgdGhlIGNvbG9uXG4iCisjfiBtc2dzdHIgIm1vdW50OiBuZW5odW0gdGlwbyBmb2kgZm9ybmVjaWRvIC0gc3Vwb25kbyBuZnMgcG9yIGNhdXNhIGRvcyBkb2lzLXBvbnRvc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHR5cGUgd2FzIGdpdmVuIC0gSSdsbCBhc3N1bWUgY2lmcyBiZWNhdXNlIG9mIHRoZSAvLyBwcmVmaXhcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG5lbmh1bSB0aXBvIGZvaSBmb3JuZWNpZG8gLSBzdXBvbmRvIGNpZnMgcG9yIGNhdXNhIGRvIHByZWZpeCAvL1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGlnbm9yZSAlcyAodW5wYXJzYWJsZSBvZmZzZXQ9IG9wdGlvbilcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGlnbm9yYWRvICVzIChvcMOnw6NvIG7Do28gYW5hbGlzw6F2ZWwgb2Zmc2V0PSlcbiIKKworI34gbXNnaWQgIm1vdW50OiAlcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGrDoSBtb250YWRvIGVtICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IG1vdW50IC1WICAgICAgICAgICAgICAgICA6IHByaW50IHZlcnNpb25cbiIKKyN+ICIgICAgICAgbW91bnQgLWggICAgICAgICAgICAgICAgIDogcHJpbnQgdGhpcyBoZWxwXG4iCisjfiAiICAgICAgIG1vdW50ICAgICAgICAgICAgICAgICAgICA6IGxpc3QgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorI34gIiAgICAgICBtb3VudCAtbCAgICAgICAgICAgICAgICAgOiBpZGVtLCBpbmNsdWRpbmcgdm9sdW1lIGxhYmVsc1xuIgorI34gIlNvIGZhciB0aGUgaW5mb3JtYXRpb25hbCBwYXJ0LiBOZXh0IHRoZSBtb3VudGluZy5cbiIKKyN+ICJUaGUgY29tbWFuZCBpcyBgbW91bnQgWy10IGZzdHlwZV0gc29tZXRoaW5nIHNvbWV3aGVyZScuXG4iCisjfiAiRGV0YWlscyBmb3VuZCBpbiAvZXRjL2ZzdGFiIG1heSBiZSBvbWl0dGVkLlxuIgorI34gIiAgICAgICBtb3VudCAtYSBbLXR8LU9dIC4uLiAgICAgOiBtb3VudCBhbGwgc3R1ZmYgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiICAgICAgIG1vdW50IGRldmljZSAgICAgICAgICAgICA6IG1vdW50IGRldmljZSBhdCB0aGUga25vd24gcGxhY2VcbiIKKyN+ICIgICAgICAgbW91bnQgZGlyZWN0b3J5ICAgICAgICAgIDogbW91bnQga25vd24gZGV2aWNlIGhlcmVcbiIKKyN+ICIgICAgICAgbW91bnQgLXQgdHlwZSBkZXYgZGlyICAgIDogb3JkaW5hcnkgbW91bnQgY29tbWFuZFxuIgorI34gIk5vdGUgdGhhdCBvbmUgZG9lcyBub3QgcmVhbGx5IG1vdW50IGEgZGV2aWNlLCBvbmUgbW91bnRzXG4iCisjfiAiYSBmaWxlc3lzdGVtIChvZiB0aGUgZ2l2ZW4gdHlwZSkgZm91bmQgb24gdGhlIGRldmljZS5cbiIKKyN+ICJPbmUgY2FuIGFsc28gbW91bnQgYW4gYWxyZWFkeSB2aXNpYmxlIGRpcmVjdG9yeSB0cmVlIGVsc2V3aGVyZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1iaW5kIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJvciBtb3ZlIGEgc3VidHJlZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tb3ZlIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBtb3VudCBjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2hhcmVkIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2xhdmUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1wcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtdW5iaW5kYWJsZSBkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBhbGwgdGhlIG1vdW50cyBpbiBhIG1vdW50IHN1YnRyZWVcbiIKKyN+ICJjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzbGF2ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJwcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnVuYmluZGFibGUgZGlyXG4iCisjfiAiQSBkZXZpY2UgY2FuIGJlIGdpdmVuIGJ5IG5hbWUsIHNheSAvZGV2L2hkYTEgb3IgL2Rldi9jZHJvbSxcbiIKKyN+ICJvciBieSBsYWJlbCwgdXNpbmcgIC1MIGxhYmVsICBvciBieSB1dWlkLCB1c2luZyAgLVUgdXVpZCAuXG4iCisjfiAiT3RoZXIgb3B0aW9uczogWy1uZkZyc3Z3XSBbLW8gb3B0aW9uc10gWy1wIHBhc3N3ZGZkXS5cbiIKKyN+ICJGb3IgbWFueSBtb3JlIGRldGFpbHMsIHNheSAgbWFuIDggbW91bnQgLlxuIgorI34gbXNnc3RyICIiCisjfiAiVXNvOiAgIG1vdW50IC1WICAgICAgICAgICAgICAgICA6IG1vc3RyYSB2ZXJzw6NvXG4iCisjfiAiICAgICAgIG1vdW50IC1oICAgICAgICAgICAgICAgICA6IG1vc3RyYSBlc3RhIGFqdWRhXG4iCisjfiAiICAgICAgIG1vdW50ICAgICAgICAgICAgICAgICAgICA6IGxpc3RhIHNpc3RlbWFzIGRlIGFycXVpdm9zIG1vbnRhZG9zXG4iCisjfiAiICAgICAgIG1vdW50IC1sICAgICAgICAgICAgICAgICA6IGlkZW0sIGluY2x1aW5kbyByw7N0dWxvcyBkZSB2b2x1bWVzXG4iCisjfiAiRXN0YXMgZXJhbSBhcyBvcMOnw7VlcyBkZSBpbmZvcm1hw6fDo28uIEFnb3JhIGFzIGRlIG1vbnRhZ2VtLlxuIgorI34gIk8gY29tYW5kbyDDqSBcIm1vdW50IFstdCB0aXBvU0FdIGFsZ3VtYS1jb2lzYSBhbGd1bS1sdWdhclwiLlxuIgorI34gIkRldGFsaGVzIGVuY29udHJhZG9zIGVtIC9ldGMvZnN0YWIgcG9kZW0gc2VyIG9taXRpZG9zLlxuIgorI34gIiAgICAgICBtb3VudCAtYSAgICAgICAgICAgICAgICAgOiBtb250YSB0dWRvIGNvbnRpZG8gZW0gL2V0Yy9mc3RhYlxuIgorI34gIiAgICAgICBtb3VudCBkaXNwb3NpdGl2byAgICAgICAgOiBtb250YSBkaXNwb3NpdGl2byBubyBsdWdhciBjb25oZWNpZG9cbiIKKyN+ICIgICAgICAgbW91bnQgZGlyZXTDs3JpbyAgICAgICAgICA6IG1vbnRhIGRpc3Bvc2l0aXZvIGNvbmhlY2lkbyBhcXVpXG4iCisjfiAiICAgICAgIG1vdW50IC10IHRpcG8gZGV2IGRpciAgICA6IGNvbWFuZG8gbm9ybWFsIGRlIG1vbnRhZ2VtXG4iCisjfiAiTm90ZSBxdWUgbsOjbyBzZSBtb250YSByZWFsbWVudGUgdW0gZGlzcG9zaXRpdm8sIG1vbnRhLXNlIHVtXG4iCisjfiAic2lzdGVtYSBkZSBhcnF1aXZvcyAoZGUgdW0gZGV0ZXJtaW5hZG8gdGlwbykgZW5jb250cmFkbyBubyBkaXNwb3NpdGl2by5cbiIKKyN+ICJQb2RlLXNlIG1vbnRhciB0YW1iw6ltIGVtIG91dHJvIGx1Z2FyIHVtYSDDoXJ2b3JlIGRlIGRpcmV0w7NyaW9zIFxuIgorI34gImFudGVyaW9ybWVudGUgdmlzw612ZWw6XG4iCisjfiAiICAgICAgIG1vdW50IC0tYmluZCBkaXItYW50aWdvIGRpci1ub3ZvXG4iCisjfiAiw4kgcG9zc8OtdmVsIGFsdGVyYXIgbyB0aXBvIGRlIG1vbnRhZ2VtIGNvbnRlbmRvIG8gZGlyZXTDs3JpbzpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNoYXJlZCBkaXJldMOzcmlvXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1zbGF2ZSBkaXJldMOzcmlvXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1wcml2YXRlIGRpcmV0w7NyaW9cbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXVuYmluZGFibGUgZGlyZXTDs3Jpb1xuIgorI34gIsOJIHBvc3PDrXZlbCBhbHRlcmFyIG8gdGlwbyBkZSB0b2RhcyBhcyBtb250YWdlbnMgZW0gdW1hIHN1YsOhcnZvcmUgZGUgbW9udGFnZW1cbiIKKyN+ICJjb250ZW5kbyBvIGRpcmV0w7NyaW86XG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1yc2hhcmVkIGRpcmV0w7NyaW9cbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzbGF2ZSBkaXJldMOzcmlvXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ycHJpdmF0ZSBkaXJldMOzcmlvXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ydW5iaW5kYWJsZSBkaXJldMOzcmlvXG4iCisjfiAiVW0gZGlzcG9zaXRpdm8gcG9kZSBzZXIgaW5mb3JtYWRvIHBlbG8gbm9tZSwgZGlnYW1vcyAvZGV2L2hkYTEgb3UgL2Rldi9jZHJvbSxcbiIKKyN+ICJvdSBwb3IgdW0gcsOzdHVsbywgdXNhbmRvIC1MIHLDs3R1bG8gb3UgcG9yIHV1aWQsIHVzYW5kbyAtVSB1dWlkLlxuIgorI34gIk91dHJhcyBvcMOnw7VlczogWy1uZkZyc3Z3XSBbLW8gb3DDp8O1ZXNdLlxuIgorI34gIlBhcmEgbWFpcyBkZXRhbGhlcywgY29uc3VsdGUgXCJtYW4gOCBtb3VudFwiLlxuIgorCisjfiBtc2dpZCAiLS1wYXNzLWZkIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQiCisjfiBtc2dzdHIgIm7Do28gaMOhIG1haXMgc3Vwb3J0ZSBhIC0tcGFzcy1mcyIKKworI34gbXNnaWQgIm1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorI34gbXNnc3RyICJtb3VudDogYXBlbmFzIHJvb3QgcG9kZSBmYXplciBpc3NvIChVSUQgZWZldGl2YSDDqSAldSkiCisKKyN+IG1zZ2lkICJtb3VudDogb25seSByb290IGNhbiBkbyB0aGF0IgorI34gbXNnc3RyICJtb3VudDogb3BlcmHDp8OjbyBleGNsdXNpdmEgZGUgcm9vdCIKKworI34gbXNnaWQgIm5vdGhpbmcgd2FzIG1vdW50ZWQiCisjfiBtc2dzdHIgIm5hZGEgZm9pIG1vbnRhZG8iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gc3VjaCBwYXJ0aXRpb24gZm91bmQiCisjfiBtc2dzdHIgIm1vdW50OiBwYXJ0acOnw6NvIG7Do28gZm9pIGVuY29udHJhZGEiCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3QgZmluZCAlcyBpbiAlcyBvciAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IG7Do28gZm9pIHBvc3PDrXZlbCBsb2NhbGl6YXIgJXMgZW0gJXMgb3UgJXMiCisKKyN+IG1zZ2lkICJbbW50ZW50XTogd2FybmluZzogbm8gZmluYWwgbmV3bGluZSBhdCB0aGUgZW5kIG9mICVzXG4iCisjfiBtc2dzdHIgIlttbnRlbnRdOiBhdmlzbzogbsOjbyBow6Egbm92YSBsaW5oYSBmaW5hbCBubyBmaW5hbCBkZSAlc1xuIgorCisjfiBtc2dpZCAiW21udGVudF06IGxpbmUgJWQgaW4gJXMgaXMgYmFkJXNcbiIKKyN+IG1zZ3N0ciAiW21udGVudF06IGxpbmhhICVkIGVtICVzIHRlbSAlcyBpbnbDoWxpZG8oYSlcbiIKKworI34gbXNnaWQgIjsgcmVzdCBvZiBmaWxlIGlnbm9yZWQiCisjfiBtc2dzdHIgIjsgcmVzdG8gZG8gYXJxdWl2byBpZ25vcmFkbyIKKworI34gbXNnaWQgIm5vdCBlbm91Z2ggbWVtb3J5IgorI34gbXNnc3RyICJtZW3Ds3JpYSBpbnN1ZmljaWVudGUiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNvbXBpbGVkIHdpdGhvdXQgc3VwcG9ydCBmb3IgLWZcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiBjb21waWxhZG8gc2VtIHN1cG9ydGUgYSAtZlxuIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3Qgc2V0IGdyb3VwIGlkOiAlbSIKKyN+IG1zZ3N0ciAidW1vdW50OiBuw6NvIGZvaSBwb3Nzw612ZWwgY29uZmlndXJhciBpZCBkbyBncnVwbzogJW0iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBzZXQgdXNlciBpZDogJW0iCisjfiBtc2dzdHIgInVtb3VudDogbsOjbyBmb2kgcG9zc8OtdmVsIGNvbmZpZ3VyYXIgaWQgZG8gdXN1w6FyaW86ICVtIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgZm9yazogJXMiCisjfiBtc2dzdHIgInVtb3VudDogbsOjbyBmb2kgcG9zc8OtdmVsIHJlYWxpemFyIGZvcms6ICVzIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogaW52YWxpZCBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IGRpc3Bvc2l0aXZvIGRlIGJsb2NvIGludsOhbGlkbyIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG5vdCBtb3VudGVkIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBuw6NvIG1vbnRhZG8iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBuw6NvIGZvaSBwb3Nzw612ZWwgZ3JhdmFyIHN1cGVyYmxvY28iCisKKyN+IG1zZ2lkICIiCisjfiAidW1vdW50OiAlczogZGV2aWNlIGlzIGJ1c3kuXG4iCisjfiAiICAgICAgICAoSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBhYm91dCBwcm9jZXNzZXMgdGhhdCB1c2VcbiIKKyN+ICIgICAgICAgICB0aGUgZGV2aWNlIGlzIGZvdW5kIGJ5IGxzb2YoOCkgb3IgZnVzZXIoMSkpIgorI34gbXNnc3RyICIiCisjfiAidW1vdW50OiAlczogZGlzcG9zaXRpdm8gZXN0w6Egb2N1cGFkby5cbiIKKyN+ICIgICAgICAgIChFbSBhbGd1bnMgY2Fzb3MsIGluZm9ybWHDp8O1ZXMgw7p0ZWlzIHNvYnJlIHByb2Nlc3Nvc1xuIgorI34gIiAgICAgICAgIHF1ZSB1c2FtIG8gZGlzcG9zaXRpdm8gc8OjbyBlbmNvbnRyYWRhcyBubyBsc29mKDgpXG4iCisjfiAiICAgICAgICAgb3UgZnVzZXIoMSkpIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogbm90IGZvdW5kIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBuw6NvIGVuY29udHJhZG8iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBtdXN0IGJlIHN1cGVydXNlciB0byB1bW91bnQiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IHByZWNpc2Egc2VyIHN1cGVydXN1w6FyaW8gcGFyYSBkZXNtb250YXIiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBibG9jayBkZXZpY2VzIG5vdCBwZXJtaXR0ZWQgb24gZnMiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IGRpc3Bvc2l0aXZvcyBkZSBibG9jbyBuw6NvIHBlcm1pdGlkb3Mgbm8gc2lzdGVtYSBkZSBhcnF1aXZvcyIKKworI34gbXNnaWQgInVtb3VudDogJXM6ICVzIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiAlcyIKKworI34gbXNnaWQgInVtb3VudDogaW50ZXJuYWwgZXJyb3I6IGludmFsaWQgYWJzIHBhdGg6ICVzIgorI34gbXNnc3RyICJ1bW91bnQ6IGVycm8gaW50ZXJubzogY2FtaW5obyBhYnNvbHV0byBpbnbDoWxpZG86ICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gY2hkaXIgdG8gJXM6ICVtIgorI34gbXNnc3RyICJ1bW91bnQ6IGZhbGhhIGFvIG11ZGFyIHBhcmEgbyBkaXJldMOzcmlvICVzOiAlbSIKKworI34gbXNnaWQgInVtb3VudDogZmFpbGVkIHRvIG9idGFpbiBjdXJyZW50IGRpcmVjdG9yeTogJW0iCisjfiBtc2dzdHIgInVtb3VudDogZmFsaGEgYW8gb2J0ZXIgbyBkaXJldMOzcmlvIGF0dWFsOiAlbSIKKworI34gbXNnaWQgInVtb3VudDogbW91bnRwb2ludCBtb3ZlZCAoJXMgLT4gJXMpIgorI34gbXNnc3RyICJ1bW91bnQ6IG8gcG9udG8gZGUgbW9udGFnZW0gbW92ZXUgKCVzIC0+ICVzKSIKKworI34gbXNnaWQgImN1cnJlbnQgZGlyZWN0b3J5IG1vdmVkIHRvICVzXG4iCisjfiBtc2dzdHIgIm8gZGlyZXTDs3JpbyBhdHVhbCBtb3ZldSBwYXJhICVzXG4iCisKKyN+IG1zZ2lkICJubyB1bW91bnQyLCB0cnlpbmcgdW1vdW50Li4uXG4iCisjfiBtc2dzdHIgIm7Do28gZXhpc3RlIHVtb3VudDIsIHRlbnRhbmRvIHVtb3VudC4uLlxuIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBidXN5IC0gcmVtb3VudGVkIHJlYWQtb25seVxuIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIGVzdMOhIG9jdXBhZG8gLSByZW1vbnRhZG8gc29tZW50ZSBwYXJhIGxlaXR1cmFcbiIKKworI34gbXNnaWQgInVtb3VudDogY291bGQgbm90IHJlbW91bnQgJXMgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDogbsOjbyBmb2kgcG9zc8OtdmVsIHJlbW9udGFyICVzIHNvbWVudGUgcGFyYSBsZWl0dXJhXG4iCisKKyN+IG1zZ2lkICIlcyBoYXMgYmVlbiB1bm1vdW50ZWRcbiIKKyN+IG1zZ3N0ciAiJXMgZm9pIGRlc21vbnRhZG9cbiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IGZpbmQgbGlzdCBvZiBmaWxlc3lzdGVtcyB0byB1bm1vdW50IgorI34gbXNnc3RyICJ1bW91bnQ6IG7Do28gZm9pIHBvc3PDrXZlbCBsb2NhbGl6YXIgYSBsaXN0YSBkZSBzaXN0ZW1hcyBkZSBhcnF1aXZvcyBhIGRlc21vbnRhciIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogdW1vdW50IC1oIHwgLVZcbiIKKyN+ICIgICAgICAgdW1vdW50IC1hIFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBbLXQgdmZzdHlwZXNdIFstTyBvcHRzXVxuIgorI34gIiAgICAgICB1bW91bnQgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIHNwZWNpYWwgfCBub2RlLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVc286IHVtb3VudCAtaCB8IC1WXG4iCisjfiAiICAgICB1bW91bnQgLWEgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIFstdCB0aXBvc1NBVl0gWy1PIG9ww6fDtWVzXVxuIgorI34gIiAgICAgdW1vdW50IFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBlc3BlY2lhbCB8IG7Dsy4uLlxuIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlICdvZmZzZXQ9JXMnIG9wdGlvbnNcbiIKKyN+IG1zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgb3DDp8O1ZXMgXCJvZmZzZXQ9JXNcIlxuIgorCisjfiBtc2dpZCAiZGV2aWNlICVzIGlzIGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICJkaXNwb3NpdGl2byAlcyBlc3TDoSBhc3NvY2lhZG8gY29tICVzXG4iCisKKyN+IG1zZ2lkICJkZXZpY2UgJXMgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICJkaXNwb3NpdGl2byAlcyBuw6NvIGVzdMOhIGNvbmVjdGFkbyBjb20gJXNcbiIKKworI34gbXNnaWQgIkNhbm5vdCB1bm1vdW50IFwiXCJcbiIKKyN+IG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGRlc21vbnRhciBcIlwiXG4iCisKKyN+IG1zZ2lkICJUcnlpbmcgdG8gdW5tb3VudCAlc1xuIgorI34gbXNnc3RyICJUZW50YW5kbyBkZXNtb250YXIgJXNcbiIKKworI34gbXNnaWQgInVtb3VudDogY29uZnVzZWQgd2hlbiBhbmFseXppbmcgbXRhYiIKKyN+IG1zZ3N0ciAidW1vdW50OiBjb25mdXNvIGFvIGFuYWxpc2FyIG8gbXRhYiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IHVubW91bnQgJXMgLS0gJXMgaXMgbW91bnRlZCBvdmVyIGl0IG9uIHRoZSBzYW1lIHBvaW50IgorI34gbXNnc3RyICJ1bW91bnQ6IG7Do28gZm9pIHBvc3PDrXZlbCBkZXNtb250YXIgJXMgLS0gJXMgZXN0w6EgbW9udGFyIHNvYnJlIGVsZSBubyBtZXNtbyBwb250byIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBmaW5kICVzIGluIG10YWJcbiIKKyN+IG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGxvY2FsaXphciAlcyBlbSBtdGFiXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IHdhcm5pbmc6ICVzIGlzIGFzc29jaWF0ZWQgd2l0aCBtb3JlIHRoYW4gb25lIGxvb3AgZGV2aWNlXG4iCisjfiBtc2dzdHIgInVtb3VudDogYXZpc286ICVzIGVzdMOhIGFzc29jaWFkbyBjb20gbWFpcyBkZSB1bSBkaXNwb3NpdGl2byBkZSBsb29wXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGlzIG5vdCBtb3VudGVkIChhY2NvcmRpbmcgdG8gbXRhYikiCisjfiBtc2dzdHIgInVtb3VudDogJXMgbsOjbyBlc3TDoSBtb250YWRvIChkZSBhY29yZG8gY29tIG10YWIpIgorCisjfiBtc2dpZCAidW1vdW50OiBpdCBzZWVtcyAlcyBpcyBtb3VudGVkIG11bHRpcGxlIHRpbWVzIgorI34gbXNnc3RyICJ1bW91bnQ6IHBhcmVjZSBxdWUgJXMgZXN0w6EgbW9udGFkbyBtw7psdGlwbGFzIHZlemVzIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBpcyBub3QgaW4gdGhlIGZzdGFiIChhbmQgeW91IGFyZSBub3Qgcm9vdCkiCisjfiBtc2dzdHIgInVtb3VudDogJXMgbsOjbyBlc3TDoSBuYSBmc3RhYiAoZSB2b2PDqiBuw6NvIMOpIHJvb3QpIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBtb3VudCBkaXNhZ3JlZXMgd2l0aCB0aGUgZnN0YWIiCisjfiBtc2dzdHIgInVtb3VudDogYSBtb250YWdlbSBkZSAlcyBuw6NvIGVzdMOhIGRlIGFjb3JkbyBjb20gYSBmc3RhYiIKKworI34gbXNnaWQgInVtb3VudDogb25seSAlcyBjYW4gdW5tb3VudCAlcyBmcm9tICVzIgorI34gbXNnc3RyICJ1bW91bnQ6IHNvbWVudGUgJXMgcG9kZSBkZXNtb250YXIgJXMgZGUgJXMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKKyN+IG1zZ3N0ciAidW1vdW50OiBvcGVyYcOnw6NvIGV4Y2x1c2l2YSBkZSByb290IgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIiUxJHMgLSBzZXRzIG9yIGdldHMgcHJvY2VzcyBpbyBzY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eS5cbiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgICUxJHMgW09QVElPTl0gLXAgUElEIFtQSUQuLi5dXG4iCisjfiAiICAlMSRzIFtPUFRJT05dIENPTU1BTkRcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAgLWMsIC0tY2xhc3MgPGNsYXNzPiAgIHNjaGVkdWxpbmcgY2xhc3MgbmFtZSBvciBudW1iZXJcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKKyN+ICIgIC1uLCAtLWNsYXNzZGF0YSA8bnVtPiBzY2hlZHVsaW5nIGNsYXNzIGRhdGFcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAwLTcgZm9yIHJlYWx0aW1lIGFuZCBiZXN0LWVmZm9ydCBjbGFzc2VzXG4iCisjfiAiICAtcCwgLS1waWQ9UElEICAgICAgICAgdmlldyBvciBtb2RpZnkgYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NcbiIKKyN+ICIgIC10LCAtLWlnbm9yZSAgICAgICAgICBpZ25vcmUgZmFpbHVyZXNcbiIKKyN+ICIgIC1WLCAtLXZlcnNpb24gICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAgLWgsIC0taGVscCAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlMSRzIC0gZGVmaW5lIG91IG9idMOpbSBjbGFzc2UgZSBwcmlvcmlkYWRlIGRlIGFnZW5kYW1lbnRvIGRlIGUvcyBkbyBwcm9jZXNzby5cbiIKKyN+ICJcbiIKKyN+ICJVc286XG4iCisjfiAiICAlMSRzIFtPUMOHw4NPXSAtcCBQSUQgW1BJRC4uLl1cbiIKKyN+ICIgICUxJHMgW09Qw4fDg09dIENPTUFORE9cbiIKKyN+ICJcbiIKKyN+ICJPcMOnw7VlczpcbiIKKyN+ICIgIC1jLCAtLWNsYXNzIDxjbGFzc2U+ICBub21lIG91IG7Dum1lcm8gZGEgY2xhc3NlIGRlIGFnZW5kYW1lbnRvXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCisjfiAiICAtbiwgLS1jbGFzc2RhdGEgPG7Dum0+IGRhZG9zIGRhIGNsYXNzZSBkZSBhZ2VuZGFtZW50b1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDAtNyBwYXJhIGNsYXNzZXMgcmVhbHRpbWUgb3UgYmVzdC1lZmZvcnRcbiIKKyN+ICIgIC1wLCAtLXBpZD1QSUQgICAgICAgICB2w6ogb3UgbW9kaWZpY2EgcHJvY2Vzc28gYXR1YWxtZW50ZSBlbSBleGVjdcOnw6NvXG4iCisjfiAiICAtdCwgLS1pZ25vcmUgICAgICAgICAgaWdub3JhIGZhbGhhc1xuIgorI34gIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgIGV4aWJlIGluZm9ybWHDp8OjbyBkYSB2ZXJzw6NvIGUgc2FpXG4iCisjfiAiICAtaCwgLS1oZWxwICAgICAgICAgICAgZXhpYmUgZXN0YSBhanVkYSBlIHNhaVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8dHR5PiBbLi4uXVxuIgorI34gbXNnc3RyICIgJXMgW29ww6fDtWVzXSA8dHR5PiBbLi4uXVxuIgorCisjfiBtc2dpZCAiIC1zLCAtLXNldC10aHJlc2hvbGQgPG51bT4gICAgICAgICAgc2V0IGludGVycnVwdGlvbiB0aHJlc2hvbGQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAiIC1zLCAtLXNldC10aHJlc2hvbGQgPG7Dum0+ICAgICAgICAgIGRlZmluZSBvIHZhbG9yIGxpbWlhciBkZSBpbnRlcnJ1cMOnw6NvXG4iCisKKyN+IG1zZ2lkICIgLVMsIC0tc2V0LWRlZmF1bHQtdGhyZXNob2xkIDxudW0+ICBzZXQgZGVmYXVsdCB0aHJlc2hvbGQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAiIC1TLCAtLXNldC1kZWZhdWx0LXRocmVzaG9sZCA8bsO6bT4gIGRlZmluZSBvIHZhbG9yIHBhZHLDo28gZGUgbGltaWFyXG4iCisKKyN+IG1zZ2lkICIgLXQsIC0tc2V0LWZsdXNoIDxudW0+ICAgICAgICAgICAgICBzZXQgZmx1c2ggdGltZW91dCB0byB2YWx1ZVxuIgorI34gbXNnc3RyICIgLXQsIC0tc2V0LWZsdXNoIDxuw7ptPiAgICAgICAgICAgICAgZGVmaW5lIGNvbSB2YWxvciBvIHRlbXBvIGxpbWl0ZSBhdMOpIGVzdmF6aWFyXG4iCisKKyN+IG1zZ2lkICIgLVQsIC0tc2V0LWRlZmF1bHQtZmx1c2ggPG51bT4gICAgICBzZXQgdGhlIGRlZmF1bHQgZmx1c2ggdGltZW91dCB0byB2YWx1ZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1ULCAtLXNldC1kZWZhdWx0LWZsdXNoIDxuw7ptPiAgICAgIGRlZmluZSBvIHZhbG9yIHBhZHLDo28gZGUgdGVtcG8gbGltaXRlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdMOpIGVzdmF6aWFyXG4iCisKKyN+IG1zZ2lkICIgLWksIC0taW50ZXJ2YWwgPHNlY29uZHM+ICAgICAgICAgICBnYXRoZXIgc3RhdGlzdGljcyBldmVyeSA8c2Vjb25kcz4gaW50ZXJ2YWxcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaSwgLS1pbnRlcnZhbCA8c2VndW5kb3M+ICAgICAgICAgIG9idMOpbSBlc3RhdMOtc3RpY2FzIGEgY2FkYSBpbnRlcnZhbG8gZGVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWd1bmRvcz4gaW50ZXJ2YWxcbiIKKworI34gbXNnaWQgIiIKKyN+ICJGaWxlICVzLCBGb3IgdGhyZXNob2xkIHZhbHVlICVsdSwgTWF4aW11bSBjaGFyYWN0ZXJzIGluIGZpZm8gd2VyZSAlZCxcbiIKKyN+ICJhbmQgdGhlIG1heGltdW0gdHJhbnNmZXIgcmF0ZSBpbiBjaGFyYWN0ZXJzL3NlY29uZCB3YXMgJWYiCisjfiBtc2dzdHIgIiIKKyN+ICJBcnF1aXZvICVzLCBwYXJhIG8gdmFsb3IgZGUgbGltaWFyIGRlICVsdSwgbyBuw7ptZXJvIG3DoXhpbW8gZGUgY2FyYWN0ZXJlc1xuIgorI34gImVtIGZpZm8gZXJhIGRlICVkIGUgYSB0YXhhIGRlIHRyYW5zZmVyw6puY2lhIG3DoXhpbWEsIGVtIGNhcmFjdGVyZXMgcG9yXG4iCisjfiAic2VndW5kbywgZXJhIGRlICVmIgorCisjfiBtc2dpZCAiIgorI34gIkZpbGUgJXMsIEZvciB0aHJlc2hvbGQgdmFsdWUgJWx1IGFuZCB0aW1lb3V0IHZhbHVlICVsdSwgTWF4aW11bSBjaGFyYWN0ZXJzIGluIGZpZm8gd2VyZSAlZCxcbiIKKyN+ICJhbmQgdGhlIG1heGltdW0gdHJhbnNmZXIgcmF0ZSBpbiBjaGFyYWN0ZXJzL3NlY29uZCB3YXMgJWYiCisjfiBtc2dzdHIgIiIKKyN+ICJBcnF1aXZvICVzLCBwYXJhIG8gdmFsb3IgZGUgbGltaWFyIGRlICVsdSBlIHZhbG9yIGRlIHRlbXBvIGxpbWl0ZSBkZSAlbHUsXG4iCisjfiAibyBuw7ptZXJvIG3DoXhpbW8gZGUgY2FyYWN0ZXJlcyBlbSBmaWZvIGVyYSBkZSAlZCBlIGEgdGF4YSBkZSB0cmFuc2ZlcsOqbmNpYVxuIgorI34gIm3DoXhpbWEsIGVtIGNhcmFjdGVyZXMgcG9yIHNlZ3VuZG8sIGVyYSBkZSAlZiIKKworI34gbXNnaWQgImNhbm5vdCBpc3N1ZSBDWUdFVE1PTiBvbiAlcyIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGV4ZWN1dGFyIGEgZnVuw6fDo28gQ1lHRVRNT04gZW0gJXMiCisKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRocmVzaG9sZCBmb3IgJXMiCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBvYnRlciBsaW1pdGFyIHBhcmEgJXMiCisKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRpbWVvdXQgZm9yICVzIgorI34gbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgb2J0ZXIgdGVtcG8gbGltaXRlIHBhcmEgJXMiCisKKyN+IG1zZ2lkICIlczogJWx1IGludHMsICVsdS8lbHUgY2hhcnM7IGZpZm86ICVsdSB0aHJlc2gsICVsdSB0bW91dCwgJWx1IG1heCwgJWx1IG5vd1xuIgorI34gbXNnc3RyICIlczogJWx1IGludHMsICVsdS8lbHUgY2hhcnM7IGZpZm86ICVsdSBsaW1pYXIsICVsdSB0ZW1wbyBsaW1pdGUsICVsdSBtw6F4LCAlbHUgYWdvcmFcbiIKKworI34gbXNnaWQgIiAgICVmIGludC9zZWM7ICVmIHJlYywgJWYgc2VuZCAoY2hhci9zZWMpXG4iCisjfiBtc2dzdHIgIiAgICVmIGludC9zOyAlZiByZWNlYmlkb3MsICVmIGVudmlhZG9zIChjaGFyL3MpXG4iCisKKyN+IG1zZ2lkICIlczogJWx1IGludHMsICVsdSBjaGFyczsgZmlmbzogJWx1IHRocmVzaCwgJWx1IHRtb3V0LCAlbHUgbWF4LCAlbHUgbm93XG4iCisjfiBtc2dzdHIgIiVzOiAlbHUgaW50cywgJWx1IGNoYXJzOyBmaWZvOiAlbHUgbGltaWFyLCAlbHUgdGVtcG8gbGltaXRlLCAlbHUgbcOheCwgJWx1IGFnb3JhXG4iCisKKyN+IG1zZ2lkICIgICAlZiBpbnQvc2VjOyAlZiByZWMgKGNoYXIvc2VjKVxuIgorI34gbXNnc3RyICIgICAlZiBpbnQvczsgJWYgcmVjZWJpZG9zIChjaGFyL3MpXG4iCisKKyN+IG1zZ2lkICJJbnZhbGlkIGludGVydmFsIHZhbHVlIgorI34gbXNnc3RyICJWYWxvciBkZSBpbnRlcnZhbG8gaW52w6FsaWRvIgorCisjfiBtc2dpZCAiSW52YWxpZCBpbnRlcnZhbCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIlZhbG9yIGRlIGludGVydmFsbyBpbnbDoWxpZG86ICVkIgorCisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdmFsdWUiCisjfiBtc2dzdHIgIlZhbG9yIGRlZmluaWRvIGludsOhbGlkbyIKKworI34gbXNnaWQgIkludmFsaWQgc2V0IHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiVmFsb3IgZGVmaW5pZG8gaW52w6FsaWRvOiAlZCIKKworI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmFsb3IgcGFkcsOjbyBpbnbDoWxpZG8iCisKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdmFsdWU6ICVkIgorI34gbXNnc3RyICJWYWxvciBwYWRyw6NvIGludsOhbGlkbzogJWQiCisKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICJWYWxvciBkZSB0ZW1wbyBkZWZpbmlkbyBpbnbDoWxpZG8iCisKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiVmFsb3IgZGUgdGVtcG8gZGVmaW5pZG8gaW52w6FsaWRvOiAlZCIKKworI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICJWYWxvciBkZSB0ZW1wbyBwYWRyw6NvIGludsOhbGlkbyIKKworI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB0aW1lIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiVmFsb3IgZGUgdGVtcG8gcGFkcsOjbyBpbnbDoWxpZG86ICVkIgorCisjfiBtc2dpZCAiY2Fubm90IHNldCAlcyB0byB0aHJlc2hvbGQgJWQiCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBkZWZpbmlyICVzIGNvbSBsaW1pYXIgJWQiCisKKyN+IG1zZ2lkICJjYW5ub3Qgc2V0ICVzIHRvIHRpbWUgdGhyZXNob2xkICVkIgorI34gbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZGVmaW5pciAlcyBjb21vIGxpbWlhciBkZSB0ZW1wbyAlZCIKKworI34gbXNnaWQgIiVzOiAlbGQgY3VycmVudCB0aHJlc2hvbGQgYW5kICVsZCBjdXJyZW50IHRpbWVvdXRcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCDDqSBvIGxpbWlhciBhdHVhbCBlICVsZCDDqSBvIHRlbXBvIGxpbWl0ZSBhdHVhbFxuIgorCisjfiBtc2dpZCAiJXM6ICVsZCBkZWZhdWx0IHRocmVzaG9sZCBhbmQgJWxkIGRlZmF1bHQgdGltZW91dFxuIgorI34gbXNnc3RyICIlczogJWxkIMOpIG8gbGltaWFyIHBhZHLDo28gZSAlbGQgw6kgbyB0ZW1wbyBsaW1pdGUgcGFkcsOjb1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbiwgLS1rZWVwLXNpemUgICAgIGRvbid0IG1vZGlmeSB0aGUgbGVuZ3RoIG9mIHRoZSBmaWxlXG4iCisjfiAiIC1wLCAtLXB1bmNoLWhvbGUgICAgcHVuY2ggaG9sZXMgaW4gdGhlIGZpbGVcbiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgb2YgdGhlIGFsbG9jYXRpb24sIGluIGJ5dGVzXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIHRoZSBhbGxvY2F0aW9uLCBpbiBieXRlc1xuIgorI34gbXNnc3RyICIiCisjfiAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgbsOjbyBtb2RpZmljYSBvIGNvbXByaW1lbnRvIGRvIGFycXVpdm9cbiIKKyN+ICIgLXAsIC0tcHVuY2gtaG9sZSAgICBmYXogYnVyYWNvcyBubyBhcnF1aXZvXG4iCisjfiAiIC1vLCAtLW9mZnNldCA8bsO6bT4gIHBvc2nDp8OjbyBkYSBhbG9jYcOnw6NvLCBlbSBieXRlc1xuIgorI34gIiAtbCwgLS1sZW5ndGggPG7Dum0+ICBjb21wcmltZW50byBkYSBhbG9jYcOnw6NvLCBlbSBieXRlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKKyN+ICIgLW0sIC0tbWluaW11bSA8bnVtPiBtaW5pbXVtIGV4dGVudCBsZW5ndGggdG8gZGlzY2FyZFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IG51bWJlciBvZiBkaXNjYXJkZWQgYnl0ZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtbywgLS1vZmZzZXQgPG7Dum0+ICBwb3Npw6fDo28gZW0gYnl0ZXMgZGEgcXVhbCBzZSB2YWkgZGVzY2FydGFyXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8bsO6bT4gIGNvbXByaW1lbnRvIGRlIGJ5dGVzIHBhcmEgZGVzY2FydGFyIGRhIHBvc2nDp8Ojb1xuIgorI34gIiAtbSwgLS1taW5pbXVtIDxuw7ptPiBjb21wcmltZW50byBtw61uaW1vIGRhIGV4dGVuc8OjbyBwYXJhIGRlc2NhcnRhclxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgIG1vc3RyYSBuw7ptZXJvIGRlIGJ5dGVzIGRlc2NhcnRhZG9zXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGltZSBlbGFwc2VkIHNpbmNlIHJlZmVyZW5jZSB0aW1lIGhhcyBiZWVuICUuNmYgc2Vjb25kcy5cbiIKKyN+ICJEZWxheWluZyBmdXJ0aGVyIHRvIHJlYWNoIHRoZSBuZXcgdGltZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIk8gdGVtcG8gZGVjb3JyaWRvIGRlc2RlIG8gaG9yw6FyaW8gZGUgcmVmZXLDqm5jaWEgZm9pIGRlICUuNmYgc2VndW5kb3MuXG4iCisjfiAiQXRyYXNhbmRvIG1haXMgcGFyYSBjaGVnYXIgYW8gcHLDs3hpbW8gc2VndW5kbyBjaGVpby5cbiIKKworI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGV0ZXJtaW5lIHNvdXJjZSIKKyN+IG1zZ3N0ciAiJXM6IGZhbGhhIGFvIGRldGVybWluYXIgZm9udGUiCisKKyN+IG1zZ2lkICIgLXRlcm0gPHRlcm1pbmFsX25hbWU+XG4iCisjfiBtc2dzdHIgIiAtdGVybSA8bm9tZS10ZXJtaW5hbD5cbiIKKworI34gbXNnaWQgIiAtcmVzZXRcbiIKKyN+IG1zZ3N0ciAiIC1yZXNldFxuIgorCisjfiBtc2dpZCAiIC1pbml0aWFsaXplXG4iCisjfiBtc2dzdHIgIiAtaW5pdGlhbGl6ZVxuIgorCisjfiBtc2dpZCAiIC1jdXJzb3IgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1jdXJzb3IgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtcmVwZWF0IDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtcmVwZWF0IDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLWFwcGN1cnNvcmtleXMgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1hcHBjdXJzb3JrZXlzIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLWxpbmV3cmFwIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtbGluZXdyYXAgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtZGVmYXVsdFxuIgorI34gbXNnc3RyICIgLWRlZmF1bHRcbiIKKworI34gbXNnaWQgIiAtZm9yZWdyb3VuZCA8ZGVmYXVsdHxibGFja3xibHVlfGN5YW58Z3JlZW58bWFnZW50YXxyZWR8d2hpdGV8eWVsbG93PlxuIgorI34gbXNnc3RyICIgLWZvcmVncm91bmQgPGRlZmF1bHR8YmxhY2t8Ymx1ZXxjeWFufGdyZWVufG1hZ2VudGF8cmVkfHdoaXRlfHllbGxvdz5cbiIKKworI34gbXNnaWQgIiAtYmFja2dyb3VuZCA8ZGVmYXVsdHxibGFja3xibHVlfGN5YW58Z3JlZW58bWFnZW50YXxyZWR8d2hpdGV8eWVsbG93PlxuIgorI34gbXNnc3RyICIgLWJhY2tncm91bmQgPGRlZmF1bHR8YmxhY2t8Ymx1ZXxjeWFufGdyZWVufG1hZ2VudGF8cmVkfHdoaXRlfHllbGxvdz5cbiIKKworI34gbXNnaWQgIiAtaGJjb2xvciA8YmxhY2t8Ymx1ZXxicmlnaHR8Y3lhbnxncmVlbnxncmV5fG1hZ2VudGF8cmVkfHdoaXRlfHllbGxvdz5cbiIKKyN+IG1zZ3N0ciAiIC1oYmNvbG9yIDxibGFja3xibHVlfGJyaWdodHxjeWFufGdyZWVufGdyZXl8bWFnZW50YXxyZWR8d2hpdGV8eWVsbG93PlxuIgorCisjfiBtc2dpZCAiIC1pbnZlcnNlc2NyZWVuIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtaW52ZXJzZXNjcmVlbiA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1ib2xkIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtYm9sZCA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1ibGluayA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLWJsaW5rIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLXJldmVyc2UgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1yZXZlcnNlIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLXVuZGVybGluZSA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLXVuZGVybGluZSA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1zdG9yZVxuIgorI34gbXNnc3RyICIgLXN0b3JlXG4iCisKKyN+IG1zZ2lkICIgLWNsZWFyIDxhbGx8cmVzdD5cbiIKKyN+IG1zZ3N0ciAiIC1jbGVhciA8YWxsfHJlc3Q+XG4iCisKKyN+IG1zZ2lkICIgLXRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICAgICAodGFibiA9IDEtMTYwKVxuIgorI34gbXNnc3RyICIgLXRhYnMgPGFiYTEgYWJhMiBhYmEzIC4uLj4gICAgICAoYWJhTiA9IDEtMTYwKVxuIgorCisjfiBtc2dpZCAiIC1jbHJ0YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+IG1zZ3N0ciAiIC1jbHJ0YWJzIDxhYmExIGFiYTIgYWJhMyAuLi4+ICAgKGFiYU4gPSAxLTE2MClcbiIKKworI34gbXNnaWQgIiAtcmVndGFicyA8MS0xNjA+XG4iCisjfiBtc2dzdHIgIiAtcmVndGFicyA8MS0xNjA+XG4iCisKKyN+IG1zZ2lkICIgLWJsYW5rIDwwLTYwfGZvcmNlfHBva2U+XG4iCisjfiBtc2dzdHIgIiAtYmxhbmsgPDAtNjB8Zm9yY2V8cG9rZT5cbiIKKworI34gbXNnaWQgIiAtZHVtcCAgIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gbXNnc3RyICIgLWR1bXAgICA8MS1OVU1FUk9fREVfQ09OU09MRVM+XG4iCisKKyN+IG1zZ2lkICIgLWFwcGVuZCA8MS1OUl9DT05TT0xFUz5cbiIKKyN+IG1zZ3N0ciAiIC1hcHBlbmQgPDEtTlVNRVJPX0RFX0NPTlNPTEVTPlxuIgorCisjfiBtc2dpZCAiIC1maWxlIGR1bXBmaWxlbmFtZVxuIgorI34gbXNnc3RyICIgLWZpbGUgYXJxdWl2by1kZS1kZXNwZWpvXG4iCisKKyN+IG1zZ2lkICIgLW1zZyA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLW1zZyA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1tc2dsZXZlbCA8MC04PlxuIgorI34gbXNnc3RyICIgLW1zZ2xldmVsIDwwLTg+XG4iCisKKyN+IG1zZ2lkICIgLXBvd2VyZG93biA8MC02MD5cbiIKKyN+IG1zZ3N0ciAiIC1wb3dlcmRvd24gPDAtNjA+XG4iCisKKyN+IG1zZ2lkICIgLWJsZW5ndGggPDAtMjAwMD5cbiIKKyN+IG1zZ3N0ciAiIC1ibGVuZ3RoIDwwLTIwMDA+XG4iCisKKyN+IG1zZ2lkICIgLWJmcmVxIGZyZXFudW1iZXJcbiIKKyN+IG1zZ3N0ciAiIC1iZnJlcSBmcmVxbnVtYmVyXG4iCisKKyN+IG1zZ2lkICIgLXZlcnNpb25cbiIKKyN+IG1zZ3N0ciAiIC12ZXJzaW9uXG4iCisKKyN+IG1zZ2lkICIgLWhlbHBcbiIKKyN+IG1zZ3N0ciAiIC1oZWxwXG4iCisKKyN+IG1zZ2lkICJFcnJvciB3cml0aW5nIHNjcmVlbmR1bXAiCisjfiBtc2dzdHIgIkVycm8gYW8gZ3JhdmFyIG8gZGVzcGVqbyBkZSB0ZWxhIgorCisjfiBtc2dpZCAiQ291bGRuJ3QgcmVhZCBuZWl0aGVyIC9kZXYvdmNzYTAgbm9yIC9kZXYvdmNzYSIKKyN+IG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGxlciB0YW50byAvZGV2L3Zjc2EwIHF1YW50byAvZGV2L3Zjc2EiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVc286ICVzIFtvcMOnw7Vlc10gYXJxdWl2by4uLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIk9wdGlvbnM6XG4iCisjfiAiICAtZCAgICAgICAgZGlzcGxheSBoZWxwIGluc3RlYWQgb2YgcmluZyBiZWxsXG4iCisjfiAiICAtZiAgICAgICAgY291bnQgbG9naWNhbCwgcmF0aGVyIHRoYW4gc2NyZWVuIGxpbmVzXG4iCisjfiAiICAtbCAgICAgICAgc3VwcHJlc3MgcGF1c2UgYWZ0ZXIgZm9ybSBmZWVkXG4iCisjfiAiICAtcCAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIKKyN+ICIgIC1jICAgICAgICBkbyBub3Qgc2Nyb2xsLCBkaXNwbGF5IHRleHQgYW5kIGNsZWFuIGxpbmUgZW5kc1xuIgorI34gIiAgLXUgICAgICAgIHN1cHByZXNzIHVuZGVybGluaW5nXG4iCisjfiAiICAtcyAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorI34gIiAgLU5VTSAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBsaW5lcyBwZXIgc2NyZWVuZnVsXG4iCisjfiAiICArTlVNICAgICAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIGxpbmUgbnVtYmVyIE5VTVxuIgorI34gIiAgKy9TVFJJTkcgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBzZWFyY2ggc3RyaW5nIG1hdGNoXG4iCisjfiAiICAtViAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIk9ww6fDtWVzOlxuIgorI34gIiAgLWQgICAgICAgIGV4aWJlIGFqdWRhIGFvIGludsOpcyBkZSBhcGl0YXJcbiIKKyN+ICIgIC1mICAgICAgICBjb250YSBsaW5oYXMgbMOzZ2ljYXMsIGVtIHZleiBkYXMgbGluaGFzIGRlIHRlbGFcbiIKKyN+ICIgIC1sICAgICAgICBzdXByaW1lIHBhdXNhIGFww7NzIHF1ZWJyYSBkZSBww6FnaW5hXG4iCisjfiAiICAtcCAgICAgICAgbsOjbyB1c2Egc2Nyb2xsLCBsaW1wYSB0ZWxhIGUgZXhpYmUgdGV4dG9cbiIKKyN+ICIgIC1jICAgICAgICBuw6NvIHVzYSBzY3JvbGwsIGV4aWJlIHRleHRvIGUgbGluaGEgZmlucyBkZSBsaW5oYVxuIgorI34gIiAgLXUgICAgICAgIHN1cHJpbWUgc3VibGluaGFkb3NcbiIKKyN+ICIgIC1zICAgICAgICBjb21wYWN0YSBsaW5oYXMgdmF6aWFzIG3Dumx0aXBsYXMgZW0gdW1hXG4iCisjfiAiICAtTsOaTSAgICAgIGVzcGVjaWZpY2EgbyBuw7ptZXJvIGRlIGxpbmhhcyBwb3IgdGVsYVxuIgorI34gIiAgK07Dmk0gICAgICBleGliZSBvIGFycXVpdm8gY29tZcOnYW5kbyBkYSBsaW5oYSBuw7ptZXJvIE5VTVxuIgorI34gIiAgKy9URVhUTyAgIGV4aWJlIG8gYXJxdWl2byBjb21lw6dhbmRvIGRvIHRleHRvIGRlIHBlc3F1aXNhIGNvcnJlc3BvbmRlbnRlXG4iCisjfiAiICAtViAgICAgICAgbW9zdHJhIGluZm9ybWHDp8OjbyBkYSB2ZXJzw6NvIGUgc2FpXG4iCisKKyN+IG1zZ2lkICJsaW5lIHRvbyBsb25nIgorI34gbXNnc3RyICJsaW5oYSBsb25nYSBkZW1haXMiCisKKyN+IG1zZ2lkICJzZXQgYmxvY2tzaXplIgorI34gbXNnc3RyICJjb25maWd1cmEgdGFtYW5obyBkZSBibG9jbyIKKworI34gbXNnaWQgIm9uZSBiYWQgYmxvY2tcbiIKKyN+IG1zZ3N0ciAidW0gYmxvY28gZGVmZWl0dW9zb1xuIgorCisjfiBtc2dpZCAicGFydGl0aW9uIHR5cGUgaGV4IG9yIHV1aWQiCisjfiBtc2dzdHIgInRpcG8gZGUgdGFiZWxhIGRlIHBhcnRpw6fDo28gKGhleCBvdSB1dWlkKSIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiBtc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIGRpc3Bvc2l0aXZvXG4iCisKKyN+IG1zZ2lkICJyZWFkIGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAiZmFsaGEgbmEgbGVpdHVyYTogJXMiCisKKyN+IG1zZ2lkICJzZWVrIGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAiYnVzY2EgZGUgJXMgZmFsaG91IgorCisjfiBtc2dpZCAic2VlayBmYWlsZWQ6ICVkIgorI34gbXNnc3RyICJidXNjYSBmYWxob3U6ICVkIgorCisjfiBtc2dpZCAid3JpdGUgZmFpbGVkOiAlZCIKKyN+IG1zZ3N0ciAiZ3JhdmHDp8OjbyBmYWxob3U6ICVkIgorCisjfiBtc2dpZCAiRGV0ZWN0ZWQgJWQgZXJyb3IocykuIgorI34gbXNnc3RyICJEZXRlY3RhZG8ocykgJWQgZXJybyhzKS4iCisKKyN+IG1zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQiCisjfiBtc2dzdHIgIk5lbmh1bWEgcGFydGnDp8OjbyBkZWZpbmlkYSIKKworI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgbGlzdCBhbGwgdXNlZCBkZXZpY2VzXG4iCisjfiAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4gWy4uLl0gIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCisjfiAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIGRldGFjaCBhbGwgdXNlZCBkZXZpY2VzXG4iCisjfiAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorI34gIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICByZXNpemUgZGV2aWNlXG4iCisjfiAiIC1qLCAtLWFzc29jaWF0ZWQgPGZpbGU+ICAgICAgIGxpc3QgYWxsIGRldmljZXMgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3RhIHRvZG9zIG9zIGRpc3Bvc2l0aXZvcyB1c2Fkb3NcbiIKKyN+ICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2PiBbLi4uXSAgZGVzYW5leGEgdW0gb3UgbWFpcyBkaXNwb3NpdGl2b3NcbiIKKyN+ICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGVzYW5leGEgdG9kb3Mgb3MgZGlzcG9zaXRpdm9zIHVzYWRvc1xuIgorI34gIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICBsb2NhbGl6YSBvIHByaW1laXJvIGRpc3Bvc2l0aXZvIG7Do28gdXNhZG9cbiIKKyN+ICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxkaXNwb3NpdGl2by1sb29wPlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWRpbWVuc2lvbmEgbyBkaXNwb3NpdGl2b1xuIgorI34gIiAtaiwgLS1hc3NvY2lhdGVkIDxhcnF1aXZvPlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0YSB0b2RvcyBvcyBkaXNwb3NpdGl2b3MgYXNzb2NpYWRvcyBjb21cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXJxdWl2bz5cbiIKKworI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlLCBvZmZzZXQgaXMgbm90IDUxMi1ieXRlIGFsaWduZWQuIgorI34gbXNnc3RyICIlczogZmFsaGEgYW8gY29uZmlndXJhciBkaXNwb3NpdGl2byBkZSBsb29wLCBwb3Npw6fDo28gbsOjbyBlc3TDoSBhbGluaGFkbyBhIDUxMiBieXRlcy4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5zc3Vwb3J0ZWQgLS1sb2NhbC1saW5lIG1vZGUgYXJndW1lbnQiCisjfiBtc2dzdHIgIiVzOiBzaW5hbCBkZXNjb25oZWNpZG8gJXNcbiIKKworI34gbXNnaWQgInVzYWdlOlxuIgorI34gbXNnc3RyICJ1c286XG4iCisKKyN+IG1zZ2lkICJcdE5PVEU6IGVsdnR1bmUgb25seSB3b3JrcyB3aXRoIDIuNCBrZXJuZWxzXG4iCisjfiBtc2dzdHIgIlx0Tk9UQTogZWx2dHVuZSBmdW5jaW9uYSBhcGVuYXMgY29tIGtlcm5lbHMgMi40XG4iCisKKyN+IG1zZ2lkICJtaXNzaW5nIGJsb2NrZGV2aWNlLCB1c2UgLWggZm9yIGhlbHBcbiIKKyN+IG1zZ3N0ciAiZmFsdGFuZG8gbyBkaXNwb3NpdGl2byBkZSBibG9jbywgdXNlIC1oIHBhcmEgYWp1ZGFcbiIKKworIyAic3lzZnMgdHVuYWJsZXMiIMOpIHVtIHRlcm1vIGRlIGRlc2Vudm9sdmltZW50byBlIG7Do28gZW5jb250cmVpIHJlbGF0b3MgZGUgdHJhZHXDp8OjbyBwYXJhIGVsZSAtIG5lbSBtZXNtbyBub3Mgb3V0cm9zIGlkaW9tYXMKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiZWx2dHVuZSBpcyBvbmx5IHVzZWZ1bCBvbiBvbGRlciBrZXJuZWxzO1xuIgorI34gImZvciAyLjYgdXNlIElPIHNjaGVkdWxlciBzeXNmcyB0dW5hYmxlcyBpbnN0ZWFkLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gImVsdnR1bmUgw6kgw7p0aWwgYXBlbmFzIGVtIGtlcm5lbHMgbWFpcyBhbnRpZ29zO1xuIgorI34gInBhcmEgMi42LCB1c2UgYWdlbmRhZG9yIGRlIEUvUyBzeXNmcyB0dW5hYmxlcy4uXG4iCisKKyN+IG1zZ2lkICJlZGl0aW9uIG51bWJlciBhcmd1bWVudCBmYWlsZWQiCisjfiBtc2dzdHIgImFyZ3VtZW50byBkZSBuw7ptZXJvIGRlIGVkacOnw6NvIGZhbGhvdSIKKworI34gbXNnaWQgImZzeW5jIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZnN5bmMgZmFsaG91IgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIlByaW50IHZlcnNpb246XG4iCisjfiAiICAgICAgICAlcyAtdlxuIgorI34gIlByaW50IHBhcnRpdGlvbiB0YWJsZTpcbiIKKyN+ICIgICAgICAgICVzIC1QIHtyfHN8dH0gW29wdGlvbnNdIGRldmljZVxuIgorI34gIkludGVyYWN0aXZlIHVzZTpcbiIKKyN+ICIgICAgICAgICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIi1hOiBVc2UgYXJyb3cgaW5zdGVhZCBvZiBoaWdobGlnaHRpbmc7XG4iCisjfiAiLXo6IFN0YXJ0IHdpdGggYSB6ZXJvIHBhcnRpdGlvbiB0YWJsZSwgaW5zdGVhZCBvZiByZWFkaW5nIHRoZSBwdCBmcm9tIGRpc2s7XG4iCisjfiAiLWMgQyAtaCBIIC1zIFM6IE92ZXJyaWRlIHRoZSBrZXJuZWwncyBpZGVhIG9mIHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzLFxuIgorI34gIiAgICAgICAgICAgICAgICB0aGUgbnVtYmVyIG9mIGhlYWRzIGFuZCB0aGUgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2suXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJVc286XG4iCisjfiAiTW9zdHJhciB2ZXJzw6NvOlxuIgorI34gIiAgICAgICAgJXMgLXZcbiIKKyN+ICJNb3N0cmFyIHRhYmVsYSBkZSBwYXJ0acOnw6NvOlxuIgorI34gIiAgICAgICAgJXMgLVAge3J8c3x0fSBbb3DDp8O1ZXNdIGRpc3Bvc2l0aXZvXG4iCisjfiAiVXNvIGludGVyYXRpdm86XG4iCisjfiAiICAgICAgICAlcyBbb3DDp8O1ZXNdIGRpc3Bvc2l0aXZvXG4iCisjfiAiXG4iCisjfiAiT3DDp8O1ZXM6XG4iCisjfiAiLWE6IFVzYSBzZXRhIGVtIHZleiBkZSByZWFsY2UuXG4iCisjfiAiLXo6IEluaWNpYSBjb20gdW1hIHRhYmVsYSBkZSB6ZXJvIHBhcnRpw6fDtWVzLCBlbSB2ZXogZGUgbGVyIGEgdGFiZWxhIGRvIGRpc2NvLlxuIgorI34gIi1jIEMgLWggSCAtcyBTOiBTb2JyZXDDtWUgYXMgc3Vwb3Npw6fDtWVzIGRvIGtlcm5lbCBxdWFudG8gYSBuw7ptZXJvIGRlIGNpbGluZHJvcyxcbiIKKyN+ICIgICAgICAgICAgICAgICAgbsO6bWVybyBkZSBjYWJlw6dhcyBlIG7Dum1lcm8gZGUgc2V0b3Jlcy90cmlsaGEuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJXcml0aW5nIGRpc2tsYWJlbCB0byAlcy5cbiIKKyN+IG1zZ3N0ciAiR3JhdmFuZG8gcsOzdHVsbyBkZSBkaXNjbyBlbSAlcy5cbiIKKworI34gbXNnaWQgIkxhc3QgJXMgb3IgK3NpemUgb3IgK3NpemVNIG9yICtzaXplSyIKKyN+IG1zZ3N0ciAiw5psdGltbyAlcyBvdSArdGFtYW5obyBvdSArdGFtYW5obyBNIG91ICt0YW1hbmhvIEsiCisKKyN+IG1zZ2lkICJSZWFkaW5nIGRpc2tsYWJlbCBvZiAlcyBhdCBzZWN0b3IgJWQuXG4iCisjfiBtc2dzdHIgIkxlbmRvIHLDs3R1bG8gZGUgZGlzY28gZGUgJXMgbm8gc2V0b3IgJWQuXG4iCisKKyN+IG1zZ2lkICJCU0QgZGlza2xhYmVsIGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCisjfiBtc2dzdHIgIkNvbWFuZG8gcGFyYSByw7N0dWxvIGRlIGRpc2NvIEJTRCAodGVjbGUgbSBwYXJhIG9idGVyIGFqdWRhKTogIgorCisjfiBtc2dpZCAiZHJpdmVkYXRhOiAiCisjfiBtc2dzdHIgImRyaXZlZGF0YTogIgorCisjfiBtc2dpZCAiIyAgICAgICBzdGFydCAgICAgICBlbmQgICAgICBzaXplICAgICBmc3R5cGUgICBbZnNpemUgYnNpemUgICBjcGddXG4iCisjfiBtc2dzdHIgIiMgICAgICAgaW7DrWNpbyAgICAgIGZpbSAgICAgIHRhbWFuaG8gIHRpcG9TQSAgIFtmc2l6ZSBic2l6ZSAgIGNwZ11cbiIKKworI34gbXNnaWQgIk11c3QgYmUgPD0gc2VjdG9ycy90cmFjayAqIHRyYWNrcy9jeWxpbmRlciAoZGVmYXVsdCkuXG4iCisjfiBtc2dzdHIgIlByZWNpc2Egc2VyIDw9IHNldG9yZXMvdHJpbGhhICogdHJpbGhhcy9jaWxpbmRybyAocGFkcsOjbykuXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gKGEtJWMpOiAiCisjfiBtc2dzdHIgIlBhcnRpw6fDo28gKGEtJWMpOiAiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiB0b28gbWFueSBwYXJ0aXRpb25zICglZCwgbWF4aW11bSBpcyAlZCkuXG4iCisjfiBtc2dzdHIgIkF2aXNvOiBuw7ptZXJvIGRlIHBhcnRpw6fDtWVzIGV4Y2Vzc2l2byAoJWQ7IG8gbcOheGltbyAgw6kgJWQpLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlN5bmNpbmcgZGlza3MuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJTaW5jcm9uaXphbmRvIGRpc2Nvcy5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJTEkcyBbb3B0aW9uc10gPGRpc2s+ICAgIGNoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICIgJTEkcyBbb3B0aW9uc10gLWwgPGRpc2s+IGxpc3QgcGFydGl0aW9uIHRhYmxlKHMpXG4iCisjfiAiICUxJHMgLXMgPHBhcnRpdGlvbj4gICAgICBnaXZlIHBhcnRpdGlvbiBzaXplKHMpIGluIGJsb2Nrc1xuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1iIDxzaXplPiAgICAgICAgICAgICBzZWN0b3Igc2l6ZSAoNTEyLCAxMDI0LCAyMDQ4IG9yIDQwOTYpXG4iCisjfiAiIC1jWz08bW9kZT5dICAgICAgICAgICBjb21wYXRpYmxlIG1vZGU6ICdkb3MnIG9yICdub25kb3MnIChkZWZhdWx0KVxuIgorI34gIiAtaCAgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhpcyBoZWxwIHRleHRcbiIKKyN+ICIgLXVbPTx1bml0Pl0gICAgICAgICAgIGRpc3BsYXkgdW5pdHM6ICdjeWxpbmRlcnMnIG9yICdzZWN0b3JzJyAoZGVmYXVsdClcbiIKKyN+ICIgLXYgICAgICAgICAgICAgICAgICAgIHByaW50IHByb2dyYW0gdmVyc2lvblxuIgorI34gIiAtQyA8bnVtYmVyPiAgICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorI34gIiAtSCA8bnVtYmVyPiAgICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGhlYWRzXG4iCisjfiAiIC1TIDxudW1iZXI+ICAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVzbzpcbiIKKyN+ICIgJTEkcyBbb3DDp8O1ZXNdIDx1bmlkYWRlPiAgICAgYWx0ZXJhIHRhYmVsYSBkZSBwYXJ0acOnw6NvXG4iCisjfiAiICUxJHMgW29ww6fDtWVzXSAtbCA8dW5pZGFkZT4gIGxpc3RhIHRhYmVsYXMgZGUgcGFydGnDp8Ojb1xuIgorI34gIiAlMSRzIC1zIDxwYXJ0acOnw6NvPiAgICAgICAgICBmb3JuZWNlIG8gdGFtYW5obyBkYSBwYXJ0acOnw6NvIGVtIGJsb2Nvc1xuIgorI34gIlxuIgorI34gIk9ww6fDtWVzOlxuIgorI34gIiAtYiA8dGFtYW5obz4gICAgICAgICAgdGFtYW5obyBkbyBzZXRvciAoNTEyLCAxMDI0LCAyMDQ4IG91IDQwOTYpXG4iCisjfiAiIC1jWz08bW9kbz5dICAgICAgICAgICBtb2RvIGRlIGNvbXBhdGliaWxpZGFkZTogXCJkb3NcIiBvdSBcIm5vbmRvc1wiIChwYWRyw6NvKVxuIgorI34gIiAtaCAgICAgICAgICAgICAgICAgICAgbW9zdHJhIGVzdGEgbWVuc2FnZW0gZGUgdGV4dG9cbiIKKyN+ICIgLXVbPTx1bmlkYWRlPl0gICAgICAgIGV4aWJlIGFzIHVuaWRhZGVzOiBcImNpbGluZHJvc1wiIG91IFwic2V0b3Jlc1wiIChwYWRyw6NvKVxuIgorI34gIiAtdiAgICAgICAgICAgICAgICAgICAgZXhpYmUgYSB2ZXJzw6NvIGRvIHByb2dyYW1hXG4iCisjfiAiIC1DIDxuw7ptZXJvPiAgICAgICAgICAgZXNwZWNpZmljYSBvIG7Dum1lcm8gZGUgY2lsaW5kcm9zXG4iCisjfiAiIC1IIDxuw7ptZXJvPiAgICAgICAgICAgZXNwZWNpZmljYSBvIG7Dum1lcm8gZGUgY2FiZcOnYXNcbiIKKyN+ICIgLVMgPG7Dum1lcm8+ICAgICAgICAgICBlc3BlY2lmaWNhIG8gbsO6bWVybyBkZSBzZXRvcmVzIHBvciB0cmlsaGFcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgInVuYWJsZSB0byBzZWVrIG9uICVzIgorI34gbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgcmVhbGl6YXIgYnVzY2EgZW0gJXMiCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBncmF2YXIgZW0gJXMiCisKKyN+IG1zZ2lkICJmYXRhbCBlcnJvciIKKyN+IG1zZ3N0ciAiZXJybyBmYXRhbCIKKworI34gbXNnaWQgIkNvbW1hbmQgYWN0aW9uIgorI34gbXNnc3RyICJDb21hbmRvIC0gYcOnw6NvIgorCisjfiBtc2dpZCAiWW91IG11c3Qgc2V0IgorI34gbXNnc3RyICJWb2PDqiBwcmVjaXNhIGNvbmZpZ3VyYXIiCisKKyN+IG1zZ2lkICJoZWFkcyIKKyN+IG1zZ3N0ciAiY2FiZcOnYXMiCisKKyN+IG1zZ2lkICIgYW5kICIKKyN+IG1zZ3N0ciAiIGUgIgorCisjfiBtc2dpZCAiVW5zdXBwb3J0ZWQgc3VmZml4OiAnJXMnLlxuIgorI34gbXNnc3RyICJOw6NvIHN1cG9ydGUgYW8gc3VmaXhvOiBcIiVzXCIuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiU3VwcG9ydGVkOiAxMF5OOiBLQiAoS2lsb0J5dGUpLCBNQiAoTWVnYUJ5dGUpLCBHQiAoR2lnYUJ5dGUpXG4iCisjfiAiICAgICAgICAgICAgMl5OOiBLICAoS2liaUJ5dGUpLCBNICAoTWViaUJ5dGUpLCBHICAoR2liaUJ5dGUpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJIw6Egc3Vwb3J0ZTogMTBeTjogS0IgKEtpbG9CeXRlKSwgTUIgKE1lZ2FCeXRlKSwgR0IgKEdpZ2FCeXRlKVxuIgorI34gIiAgICAgICAgICAgICAyXk46IEsgIChLaWJpQnl0ZSksIE0gIChNZWJpQnl0ZSksIEcgIChHaWJpQnl0ZSlcbiIKKworI34gbXNnaWQgIlVzaW5nIGRlZmF1bHQgdmFsdWUgJXVcbiIKKyN+IG1zZ3N0ciAiVXNhbmRvIHZhbG9yIHBhZHLDo28gJXVcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbGQgTUIsICVsbGQgYnl0ZXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNjbyAlczogJWxkIE1CLCAlbGxkIGJ5dGVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZC4lbGQgR0IsICVsbHUgYnl0ZXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNjbyAlczogJWxkLiVsZCBHQiwgJWxsdSBieXRlcyIKKworI34gbXNnaWQgIiwgJWxsdSBzZWN0b3JzXG4iCisjfiBtc2dzdHIgIiwgJWxsdSBzZXRvcmVzXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgd3JpdGUgZGlzayBsYWJlbCIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGdyYXZhciBvIHLDs3R1bG8gZG8gZGlzY28iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRXJyb3IgY2xvc2luZyBmaWxlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJFcnJvIG5vIGZlY2hhbWVudG8gZG8gYXJxdWl2b1xuIgorCisjfiBtc2dpZCAiV2FybmluZzogc2V0dGluZyBzZWN0b3Igb2Zmc2V0IGZvciBET1MgY29tcGF0aWJpbGl0eVxuIgorI34gbXNnc3RyICJBdmlzbzogY29uZmlndXJhbmRvIG8gZGVzbG9jYW1lbnRvIGRlIHNldG9yIHBhcmEgY29tcGF0aWJpbGlkYWRlIGNvbSBET1NcbiIKKworI34gbXNnaWQgIkRldGVjdGVkIGFuIE9TRi8xIGRpc2tsYWJlbCBvbiAlcywgZW50ZXJpbmcgZGlza2xhYmVsIG1vZGUuXG4iCisjfiBtc2dzdHIgIkRldGVjdGFkbyB1bSByw7N0dWxvIGRlIGRpc2NvIE9TRi8xIGVtICVzLCBlbnRyYW5kbyBlbSBtb2RvIGRlIHLDs3R1bG8uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogRE9TLWNvbXBhdGlibGUgbW9kZSBpcyBkZXByZWNhdGVkLiBJdCdzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvXG4iCisjfiAiICAgICAgICAgc3dpdGNoIG9mZiB0aGUgbW9kZSAod2l0aCBjb21tYW5kICdjJykuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQVZJU086IG8gbW9kbyBjb21wYXTDrXZlbCBjb20gRE9TIGVzdMOhIG9ic29sZXRvLiDDiSBhbHRhbWVudGUgcmVjb21lbmTDoXZlbFxuIgorI34gIiAgICAgICBkZXNhdGl2YXIgZXN0ZSBtb2RvIChjb20gbyBjb21hbmRvIFwiY1wiKS4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogY3lsaW5kZXJzIGFzIGRpc3BsYXkgdW5pdHMgYXJlIGRlcHJlY2F0ZWQuIFVzZSBjb21tYW5kICd1JyB0b1xuIgorI34gIiAgICAgICAgIGNoYW5nZSB1bml0cyB0byBzZWN0b3JzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQVZJU086IG9zIGNpbGluZHJvcyBjb21vIHVuaWRhZGUgZGUgZXhpYmnDp8OjbyBlc3TDo28gb2Jzb2xldG9zLiBVc2Ugb1xuIgorI34gIiAgICAgICBjb21hbmRvIFwidVwiIHBhcmEgYWx0ZXJhciBhcyB1bmlkYWRlcyBwYXJhIHNldG9yZXMuXG4iCisKKyN+IG1zZ2lkICJOZXcgZGlzayBpZGVudGlmaWVyIChjdXJyZW50IDB4JTA4eCk6ICIKKyN+IG1zZ3N0ciAiTm92byBpZGVudGlmaWNhZG9yIGRvIGRpc2NvIChhdHVhbCAweCUwOHgpOiAiCisKKyN+IG1zZ2lkICJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlXG4iCisjfiBtc2dzdHIgIk7Do28gaMOhIHNldG9yZXMgbGl2cmVzIGRpc3BvbsOtdmVpc1xuIgorCisjIMOabHRpbW8gY2lsaW5kcm8sICtjaWxpbmRyb3MsICt0YW1hbmhvSywgK3RhbWFuaG9NIG91ICt0YW1hbmhvRworI34gbXNnaWQgIkxhc3QgJTEkcywgKyUyJHMgb3IgK3NpemV7SyxNLEd9IgorI34gbXNnc3RyICLDmmx0aW1vICUxJHMsICslMiRzIG91ICt0YW1hbmhve0ssTSxHfSIKKworI34gbXNnaWQgIiAgICAgcGh5cz0oJWQsICVkLCAlZCkgIgorI34gbXNnc3RyICIgICAgIGbDrXMuID0gKCVkLCAlZCwgJWQpICIKKworI34gbXNnaWQgImxvZ2ljYWw9KCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgImzDs2dpY28gPSAoJWQsICVkLCAlZClcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IGJhZCBzdGFydC1vZi1kYXRhIGluIHBhcnRpdGlvbiAlemRcbiIKKyN+IG1zZ3N0ciAiQXZpc286IGluw61jaW8gZGUgZGFkb3MgaW52w6FsaWRvIG5hIHBhcnRpw6fDo28gJXpkXG4iCisKKyN+IG1zZ2lkICJBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvblxuIgorI34gbXNnc3RyICJBZGljaW9uYW5kbyB1bWEgcGFydGnDp8OjbyBwcmltw6FyaWFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueSBET1MgNi54cGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgZmRpc2sgbWFudWFsIHBhZ2UgZm9yIGFkZGl0aW9uYWxpbmZvcm1hdGlvbi5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkFWSVNPOiBTZSB2b2PDqiB0aXZlciBjcmlhZG8gb3UgYWx0ZXJhZG8gcXVhbHF1ZXIgcGFydGnDp8OjbyBET1MgNi54LCBjb25zdWx0ZSBhIHDDoWdpbmEgZGUgbWFudWFsIGRvIGZkaXNrIHBhcmEgb2J0ZXIgaW5mb3JtYcOnw7VlcyBhZGljaW9uYWlzLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiJSpzIEJvb3QgICAgICBTdGFydCAgICAgICAgIEVuZCAgICAgIEJsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiJSpzIEJvb3QgICAgICBJbsOtY2lvICAgICAgICBGaW0gICAgICBCbG9jb3MgICBJZCAgU2lzdGVtYVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMsICVsbHUgY3lsaW5kZXJzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNjbyAlczogJWQgY2FiZcOnYXMsICVsbHUgc2V0b3JlcywgJWxsdSBjaWxpbmRyb3NcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIk5yIEFGICBIZCBTZWMgIEN5bCAgSGQgU2VjICBDeWwgICAgIFN0YXJ0ICAgICAgU2l6ZSBJRFxuIgorI34gbXNnc3RyICJObyBPQSAgQ2IgU2V0ICBDaWwgIENiIFNldCAgQ2lsICAgICBJbsOtY2lvICAgICBUYW0gIElEXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRUaGVyZSBpcyBhIHZhbGlkIE1hYyBsYWJlbCBvbiB0aGlzIGRpc2suXG4iCisjfiAiXHRVbmZvcnR1bmF0ZWx5IGZkaXNrKDEpIGNhbm5vdCBoYW5kbGUgdGhlc2UgZGlza3MuXG4iCisjfiAiXHRVc2UgZWl0aGVyIHBkaXNrIG9yIHBhcnRlZCB0byBtb2RpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZS5cbiIKKyN+ICJcdE5ldmVydGhlbGVzcyBzb21lIGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0RXhpc3RlIHVtIHLDs3R1bG8gTWFjIHbDoWxpZG8gbmVzdGUgZGlzY28uXG4iCisjfiAiXHRJbmZlbGl6bWVudGUsIG8gZmRpc2soMSkgbsOjbyDDqSBjYXBheiBkZSBtYW5pcHVsYXIgZXN0ZXMgZGlzY29zXG4iCisjfiAiXHRVc2UgbyBwZGlzayBvdSBwYXJ0ZWQgcGFyYSBtb2RpZmljYXIgYSB0YWJlbGEgZGUgcGFydGnDp8Ojby5cbiIKKyN+ICJcdE7Do28gb2JzdGFudGUsIGFsZ3VucyBjb25zZWxob3M6XG4iCisjfiAiXHQxLiBmZGlzayBkZXN0cnVpcsOhIHNldSBjb250ZcO6ZG8gbmEgZ3JhdmHDp8Ojby5cbiIKKyN+ICJcdDIuIENlcnRpZmlxdWUtc2UgZGUgcXVlIG8gZGlzY28gTsODTyDDqSBtYWlzIHVtYSBwYXJ0ZSB2aXRhbFxuIgorI34gIlx0ICAgZGUgdW0gZ3J1cG8gZGUgdm9sdW1lcyAoZG8gY29udHLDoXJpbywgdm9jw6ogcG9kZXLDoSBhcGFnYXJcbiIKKyN+ICJcdCAgIHRhbWLDqW0gb3V0cm9zIGRpc2Nvcywgc2UgbsOjbyBob3V2ZXIgZXNwZWxoYW1lbnRvKS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdFNvcnJ5IC0gdGhpcyBmZGlzayBjYW5ub3QgaGFuZGxlIE1hYyBkaXNrIGxhYmVscy5cbiIKKyN+ICJcdElmIHlvdSB3YW50IHRvIGFkZCBET1MtdHlwZSBwYXJ0aXRpb25zLCBjcmVhdGVcbiIKKyN+ICJcdGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUgZmlyc3QuIChVc2Ugby4pXG4iCisjfiAiXHRXQVJOSU5HOiBUaGlzIHdpbGwgZGVzdHJveSB0aGUgcHJlc2VudCBkaXNrIGNvbnRlbnRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXHRTaW50byBtdWl0byAtIGVzdGUgZmRpc2sgbsOjbyBwb2RlIG1hbmlwdWxhciByw7N0dWxvcyBkZSBkaXNjb3MgTWFjLlxuIgorI34gIlx0U2Ugdm9jw6ogZGVzZWphIGFkaWNpb25hciBwYXJ0acOnw7VlcyBkbyB0aXBvIERPUywgcHJpbWVpciBjcmllIHVtYVxuIgorI34gIlx0bm92YSB0YWJlbGEgZGUgcGFydGnDp8OjbyBET1MgdmF6aWEuIChVc2Ugby4pXG4iCisjfiAiXHRBVklTTzogSXNzbyB2YWkgZGVzdHJ1aXIgbyBhdHVhbCBjb250ZcO6ZG8gZG8gZGlzY28uXG4iCisKKyN+IG1zZ2lkICJBY2NvcmRpbmcgdG8gTUlQUyBDb21wdXRlciBTeXN0ZW1zLCBJbmMgdGhlIExhYmVsIG11c3Qgbm90IGNvbnRhaW4gbW9yZSB0aGFuIDUxMiBieXRlc1xuIgorI34gbXNnc3RyICJEZSBhY29yZG8gY29tIGEgTUlQUyBDb21wdXRlciBTeXN0ZW1zLCBJbmMuLCBvIHLDs3R1bG8gbsOjbyBwb2RlIGNvbnRlciBtYWlzIGRvIHF1ZSA1MTIgYnl0ZXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTR0kgZGlzayBsYWJlbCk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMsICVsbHUgY3lsaW5kZXJzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqICVsZCBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzY28gJXMgKHLDs3R1bG8gZGUgZGlzY28gU0dJKTogJWQgY2FiZcOnYXMsICVsbHUgc2V0b3JlcywgJWxsdSBjaWxpbmRyb3NcbiIKKyN+ICJVbmlkYWRlcyA9ICVzIGRlICVkICogJWxkIGJ5dGVzXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiLS0tLS0gcGFydGl0aW9ucyAtLS0tLVxuIgorI34gIlB0IyAlKnMgIEluZm8gICAgIFN0YXJ0ICAgICAgIEVuZCAgIFNlY3RvcnMgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIi0tLS0tLSBwYXJ0acOnw7VlcyAtLS0tLS1cbiIKKyN+ICJwdCMgJSpzICBJbmZvICAgICBJbsOtY2lvICAgICAgRmltICAgU2V0b3JlcyAgSWQgIFNpc3RlbWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiLS0tLS0gQm9vdGluZm8gLS0tLS1cbiIKKyN+ICJCb290ZmlsZTogJXNcbiIKKyN+ICItLS0tLSBEaXJlY3RvcnkgRW50cmllcyAtLS0tLVxuIgorI34gbXNnc3RyICIiCisjfiAiLS0tLS0gSW5mby4gZGUgaW5pY2lhbGl6YcOnw6NvIC0tLS0tXG4iCisjfiAiQXJxdWl2byBkZSBpbmljaWFsaXphw6fDo286ICVzXG4iCisjfiAiLS0tLS0gRW50cmFkYXMgZGUgZGlyZXTDs3JpbyAtLS0tLVxuIgorCisjfiBtc2dpZCAiJTJ6ZDogJS0xMHMgc2VjdG9yJTV1IHNpemUlOHVcbiIKKyN+IG1zZ3N0ciAiJTJ6ZDogJS0xMHMgc2V0b3IgJTV1IHRhbWFuaG8gJTh1XG4iCisKKyN+IG1zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWRcbiIKKyN+IG1zZ3N0ciAiTmVuaHVtYSBwYXJ0acOnw6NvIGRlZmluaWRhXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGVudGlyZSBkaXNrIHBhcnRpdGlvbiBpcyBvbmx5ICVkIGRpc2tibG9jayBsYXJnZSxcbiIKKyN+ICJidXQgdGhlIGRpc2sgaXMgJWQgZGlza2Jsb2NrcyBsb25nLlxuIgorI34gbXNnc3RyICIiCisjfiAiQSBwYXJ0acOnw6NvIGRlIGRpc2NvIGludGVpcm8gdGVtIHVtIHRhbWFuaG8gZGUgYXBlbmFzICVkIGJsb2NvcyBkZSBkaXNjbyxcbiIKKyN+ICJtYXMgbyBkaXNjbyB0ZW0gJWQgYmxvY29zIGRlIHRhbWFuaG8uXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3Qgc3RhcnQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIkEgcGFydGnDp8OjbyAlZCBuw6NvIGluaWNpYSBlbSB1bSBsaW1pdGUgZGUgY2lsaW5kcm8uXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gbXNnc3RyICJBIHBhcnRpw6fDo28gJWQgbsOjbyB0ZXJtaW5hIGVtIHVtIGxpbWl0ZSBkZSBjaWxpbmRyby5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlemQgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuXG4iCisjfiBtc2dzdHIgIkEgcGFydGnDp8OjbyAlemQgasOhIGVzdMOhIGRlZmluaWRhLiBFeGNsdWEtYSBhbnRlcyBkZSBhZGljaW9uw6EtbGEgbm92YW1lbnRlLlxuIgorCisjfiBtc2dpZCAiIExhc3QgJXMiCisjfiBtc2dzdHIgIiDDmmx0aW1vICVzIgorCisjfiBtc2dpZCAiQnVpbGRpbmcgYSBuZXcgU0dJIGRpc2tsYWJlbC5cbiIKKyN+IG1zZ3N0ciAiQ29uc3RydWluZG8gdW0gbm92byByw7NkdWxvIGRlIGRpc2NvIFNHSS5cbiIKKworI34gbXNnaWQgIkhESU9fR0VUR0VPIGlvY3RsIGZhaWxlZCBvbiAlcyIKKyN+IG1zZ3N0ciAiaW9jdGwgSERJT19HRVRHRU8gZmFsaG91IGVtICVzIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6ICBCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuXG4iCisjfiAiVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkF2aXNvOiBpb2N0bCBCTEtHRVRTSVpFIGZhbGhvdSBlbSAlcy4gVXNhbmRvIG8gdmFsb3IgZ2VvbcOpdHJpY28gZG8gY2lsaW5kcm8gZGUgJWxsdS5cbiIKKyN+ICJFc3RlIHZhbG9yIHBvZGUgc2VyIHRydW5jYWRvIGVtIGRpc3Bvc2l0aXZvcyA+IDMzLjggR0IuXG4iCisKKyN+IG1zZ2lkICJJRD0lMDJ4XHRTVEFSVD0lZFx0TEVOR1RIPSVkXG4iCisjfiBtc2dzdHIgIklEPSUwMnhcdElOw41DSU89JWRcdENPTVBSSU1FTlRPPSVkXG4iCisKKyN+IG1zZ2lkICJUcnlpbmcgdG8ga2VlcCBwYXJhbWV0ZXJzIG9mIHBhcnRpdGlvbnMgYWxyZWFkeSBzZXQuXG4iCisjfiBtc2dzdHIgIlRlbnRhbmRvIG1hbnRlciBvcyBwYXLDom1ldHJvcyBkYSBwYXJ0acOnw7VlcyBqw6EgZGVmaW5pZGFzLlxuIgorCisjfiBtc2dpZCAiWUVTXG4iCisjfiBtc2dzdHIgIlNJTVxuIgorCisjfiBtc2dpZCAiQnVpbGRpbmcgYSBuZXcgU3VuIGRpc2tsYWJlbC4iCisjfiBtc2dzdHIgIkNvbnN0cnVpbmRvIHVtIG5vdm8gcsOzcnVsbyBkZSBkaXNjbyBTdW4uIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFN1biBkaXNrIGxhYmVsKTogJXUgaGVhZHMsICVsbHUgc2VjdG9ycywgJWQgcnBtXG4iCisjfiAiJWxsdSBjeWxpbmRlcnMsICVkIGFsdGVybmF0ZSBjeWxpbmRlcnMsICVkIHBoeXNpY2FsIGN5bGluZGVyc1xuIgorI34gIiVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiAiTGFiZWwgSUQ6ICVzXG4iCisjfiAiVm9sdW1lIElEOiAlc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiA1MTIgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2NvICVzIChyw7N0dWxvIGRlIGRpc2NvIFN1bik6ICV1IGNhYmXDp2FzLCAlbGx1IHNldG9yZXMsICVkIFJQTVxuIgorI34gIiVsbHUgY2lsaW5kcm9zLCAlZCBjaWxpbmRyb3MgYWx0ZXJuYXRpdm9zLCAlZCBjaWxpbmRyb3MgZsOtc2ljb3NcbiIKKyN+ICIlZCBzZXRvcmVzL2NpbGluZHJvcyBleHRyYXMsIGludGVybGVhdmUgJWQ6MVxuIgorI34gIklEIHLDs3R1bG86ICVzXG4iCisjfiAiSUQgdm9sdW1lOiAlc1xuIgorI34gIlVuaWRhZGVzID0gJXMgZGUgJWQgKiA1MTIgYnl0ZXNcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTdW4gZGlzayBsYWJlbCk6ICV1IGhlYWRzLCAlbGx1IHNlY3RvcnMsICVsbHUgY3lsaW5kZXJzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqIDUxMiBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzY28gJXMgKHLDs3R1bG8gZGUgZGlzY28gU3VuKTogJXUgY2FiZcOnYXMsICVsbHUgc2V0b3JlcywgJWxsdSBjaWxpbmRyb3NcbiIKKyN+ICJVbmlkYWRlcyA9ICVzIGRlICVkICogNTEyIGJ5dGVzXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIlKnMgRmxhZyAgICBTdGFydCAgICAgICBFbmQgICAgQmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIlKnMgT3DDp8OjbyAgIEluw61jaW8gICAgICBGaW0gICAgQmxvY29zICAgSWQgIFNpc3RlbWFcbiIKKworI34gbXNnaWQgIiVzIC1BbiBkZXZpY2VcdCBhY3RpdmF0ZSBwYXJ0aXRpb24gbiwgaW5hY3RpdmF0ZSB0aGUgb3RoZXIgb25lc1xuIgorI34gbXNnc3RyICIlcyAtQW4gZGlzcG9zaXRpdm9cdCBhdGl2YSBhIHBhcnRpw6fDo28gbiwgZGVzYXRpdmEgYXMgZGVtYWlzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRG9uZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiQ29uY2x1w61kb1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiV0FSTklORzogZmRpc2sgR1BUIHN1cHBvcnQgaXMgY3VycmVudGx5IG5ldywgYW5kIHRoZXJlZm9yZSBpbiBhbiBleHBlcmltZW50YWwgcGhhc2UuIFVzZSBhdCB5b3VyIG93biBkaXNjcmV0aW9uLiIKKyN+IG1zZ3N0ciAiQVZJU086IFN1cG9ydGUgZG8gZmRpc2sgYSBHUFQgw6kgbm92byBlLCBwb3J0YW50bywgZW0gdW1hIGZhc2UgZXhwZXJpbWVudGFsLiBVc2UgYSBzZXUgcHLDs3ByaW8gY3JpdMOpcmlvIgorCisjfiBtc2dpZCAiQ3JlYXRlZCBwYXJ0aXRpb24gJXpkXG4iCisjfiBtc2dzdHIgIkEgcGFydGnDp8OjbyAlemQgZm9pIGNyaWFkYVxuIgorCisjfiBtc2dpZCAiQnVpbGRpbmcgYSBuZXcgR1BUIGRpc2tsYWJlbCAoR1VJRDogJTA4WC0lMDRYLSUwNFgtJTAyWCUwMlgtJTAyWCUwMlglMDJYJTAyWCUwMlglMDJYKVxuIgorI34gbXNnc3RyICJDb25zdHJ1aW5kbyB1bSBub3ZvIHLDs2R1bG8gZGUgZGlzY28gR1BUIChHVUlEOiAlMDhYLSUwNFgtJTA0WC0lMDJYJTAyWC0lMDJYJTAyWCUwMlglMDJYJTAyWCUwMlgpXG4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIC11IDxVU0VSPiBDT01NQU5EXG4iCisjfiBtc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIC11IDxVU1XDgVJJTz4gQ09NQU5ET1xuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBbLV0gW1VTRVIgW2FyZ10uLi5dXG4iCisjfiBtc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIFstXSBbVVNVw4FSSU8gW2FyZ10uLi5dXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC0xLCAtLW9uZSAgICAgICAgc2hvdyBvbmx5IGN1cnJlbnQgbW9udGggKGRlZmF1bHQpXG4iCisjfiAiIC0zLCAtLXRocmVlICAgICAgc2hvdyBwcmV2aW91cywgY3VycmVudCBhbmQgbmV4dCBtb250aFxuIgorI34gIiAtcywgLS1zdW5kYXkgICAgIFN1bmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorI34gIiAtbSwgLS1tb25kYXkgICAgIE1vbmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorI34gIiAtaiwgLS1qdWxpYW4gICAgIG91dHB1dCBKdWxpYW4gZGF0ZXNcbiIKKyN+ICIgLXksIC0teWVhciAgICAgICBzaG93IHdob2xlIGN1cnJlbnQgeWVhclxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtMSwgLS1vbmUgICAgICAgIG1vc3RyYSBhcGVuYXMgbyBtw6pzIGF0dWFsIChwYWRyw6NvKVxuIgorI34gIiAtMywgLS10aHJlZSAgICAgIG1vc3RyYSBtw6pzIGFudGVyaW9yLCBhdHVhbCBlIHByw7N4aW1vXG4iCisjfiAiIC1zLCAtLXN1bmRheSAgICAgRG9taW5nbyBjb21vIHByaW1laXJvIGRpYSBkYSBzZW1hbmFcbiIKKyN+ICIgLW0sIC0tbW9uZGF5ICAgICBTZWd1bmRhLWZlaXJhIGNvbW8gcHJpbWVpcm8gZGlhIGRhIHNlbWFuYVxuIgorI34gIiAtaiwgLS1qdWxpYW4gICAgIGV4aWJlIGRhdGFzIGp1bGlhbmFzXG4iCisjfiAiIC15LCAtLXllYXIgICAgICAgbW9zdHJhIG8gYW5vIGF0dWFsIGludGVpcm9cbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBleGliZSBpbmZvcm1hw6fDtWVzIGRlIHZlcnPDo28gZSBzYWlcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBleGliZSBlc3RlIHRleHRvIGRlIGFqdWRhIGUgc2FpXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJnZXRhZGRyaW5mbyAlczolczogJXMiCisjfiBtc2dzdHIgImdldGFkZHJpbmZvICVzOiVzOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICIgLWQsIC0tdWRwICAgICAgICAgICAgIHVzZSBVRFAgb25seVxuIgorI34gIiAtaSwgLS1pZCAgICAgICAgICAgICAgbG9nIHRoZSBwcm9jZXNzIElEIHRvb1xuIgorI34gIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgbG9nIHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGVcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZCwgLS11ZHAgICAgICAgICAgICAgdXNhIGFwZW5hcyBVRFBcbiIKKyN+ICIgLWksIC0taWQgICAgICAgICAgICAgIHJlZ2lzdHJhIG8gbG9nIGRvIElEIGRvIHByb2Nlc3NvIHRhbWLDqW1cbiIKKyN+ICIgLWYsIC0tZmlsZSA8YXJxdWl2bz4gIHJlZ2lzdHJhIG8gY29udGXDumRvIGRlc3RlIGFycXVpdm8gdGFtYsOpbVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgZXhpYmUgZXN0ZSB0ZXh0byBkZSBhanVkYSBlIHNhaVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorI34gIiAtUCwgLS1wb3J0IDxudW1iZXI+ICAgdXNlIHRoaXMgVURQIHBvcnRcbiIKKyN+ICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+IG1hcmsgZ2l2ZW4gbWVzc2FnZSB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKKyN+ICIgLXMsIC0tc3RkZXJyICAgICAgICAgIG91dHB1dCBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yIGFzIHdlbGxcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtbiwgLS1zZXJ2ZXIgPG5vbWU+ICAgZ3JhdmEgbmVzdGUgc2Vydmlkb3IgcmVtb3RvIGRlIHN5c2xvZ1xuIgorI34gIiAtUCwgLS1wb3J0IDxuw7ptZXJvPiAgIHVzYSBlc3RhIHBvcnRhIFVEUFxuIgorI34gIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gbWFyY2EgYSBtZW5zYWdlbSBmb3JuZWNpZGEgY29tIGVzdGEgcHJpb3JpZGFkZVxuIgorI34gIiAtcywgLS1zdGRlcnIgICAgICAgICAgZW52aWEgYSBtZW5zYWdlbSBwYXJhIGEgc2HDrWRhIGRlIGVycm8gdGFtYsOpbVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtdCwgLS10YWcgPHRhZz4gICAgICAgbWFyayBldmVyeSBsaW5lIHdpdGggdGhpcyB0YWdcbiIKKyN+ICIgLXUsIC0tc29ja2V0IDxzb2NrZXQ+IHdyaXRlIHRvIHRoaXMgVW5peCBzb2NrZXRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXQsIC0tdGFnIDx0YWc+ICAgICAgIG1hcmNhIGNhZGEgbGluaGEgY29tIGVzdGEgdGFnXG4iCisjfiAiIC11LCAtLXNvY2tldCA8c29xdWV0ZT4gZ3JhdmEgbmVzdGUgc29xdWV0ZSBVbml4XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICBleGliZSBpbmZvcm1hw6fDo28gZGEgdmVyc8OjbyBlIHNhaVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4vY3JlYXRlICVzOiAlbVxuIgorI34gbXNnc3RyICJGYWxoYSBhbyBhYnJpci9jcmlhciAlczogJW1cbiIKKworI34gbXNnaWQgIkZhaWxlZCB0byBsb2NrICVzOiAlbVxuIgorI34gbXNnc3RyICJGYWxoYSBhbyB0cmF2YXIgJXM6ICVtXG4iCisKKyN+IG1zZ2lkICJCYWQgbnVtYmVyOiAlc1xuIgorI34gbXNnc3RyICJOw7ptZXJvIGludsOhbGlkbzogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmaW5kIHVudXNlZCBsb29wIGRldmljZSBmYWlsZWQiCisjfiBtc2dzdHIgIm1vdW50OiBhIG1vbnRhZ2VtIGZhbGhvdSIKKworIywgZnV6enkKKyN+fCBtc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2UgLi4uXG4iCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gbXNnc3RyICJVc286ICVzIFtvcMOnw7Vlc10gZGlzcG9zaXRpdm8gLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAlcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbLVZdIFstdnwtcV0gY29tYW5kb3MgZGlzcG9zaXRpdm9zXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuICVzXG4iCisjfiBtc2dzdHIgIiVzOiBuw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtbiBdIGRldmljZVxuIgorI34gbXNnc3RyICJVc286ICVzIFsgLW4gXSBkaXNwb3NpdGl2b1xuIgorCisjfiBtc2dpZCAibWFsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAibWFsbG9jIGZhbGhvdSIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWxhcnZzbWZdIC9kZXYvbmFtZVxuIgorI34gbXNnc3RyICJVc286ICVzIFsgLWxhcnZzbWZdIGRpc3Bvc2l0aXZvXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy14XSBbLWQgPG51bT5dIGlzbzk2NjAtaW1hZ2VcbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbLXhdIFstZCA8bnVtPl0gaXNvOTY2MC1pbWFnZVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbLXZdIFstTiBuci1vZi1pbm9kZXNdIFstViB2b2x1bWUtbmFtZV1cbiIKKyN+ICIgICAgICAgWy1GIGZzbmFtZV0gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVzbzogJXMgWy12XSBbLU4gbnItZGUtaW5vZGVzXSBbLVYgbm9tZS12b2x1bWVdXG4iCisjfiAiICAgICAgIFstRiBub21lIGRlIHNpc3QgYXJxdWl2b3NdIGRpc3Bvc2l0aXZvIFtjb250YWdlbS1kZS1ibG9jb3NdXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBkZXZpY2UgJXMiCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCB2ZXJpZmljYXIgc3RhdHVzIGRlIGRpc3Bvc2l0aXZvICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1rZnMgKCVzKVxuIgorI34gbXNnc3RyICJta2ZzIHZlcnPDo28gJXMgKCVzKVxuIgorCisjfiBtc2dpZCAic3RydG9sIGVycm9yOiBudW1iZXIgb2YgYmxvY2tzIG5vdCBzcGVjaWZpZWQiCisjfiBtc2dzdHIgImVycm8gZGUgc3RydG9sOiBuw7ptZXJvIGRlIGJsb2NvcyBuw6NvIGVzcGVjaWZpY2FkbyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNlY3RvciBzaXplIGZvciAlcyIKKyN+IG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIG9idGVyIG8gdGFtYW5obyBkZSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2FsbG9jKCkgZmFpbGVkOiAlc1xuIgorI34gbXNnc3RyICJtYWxsb2MgZmFsaG91IgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLWNdIFstcFBBR0VTWl0gWy1MIGxhYmVsXSBbLVUgVVVJRF0gL2Rldi9uYW1lIFtibG9ja3NdXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgWy1jXSBbLXYwfC12MV0gWy1wVGFtUMOhZ10gZGlzcG9zaXRpdm8gW2Jsb2Nvc11cbiIKKworI34gbXNnaWQgIk91dCBvZiBtZW1vcnkiCisjfiBtc2dzdHIgIk1lbcOzcmlhIGluc3VmaWNpZW50ZSIKKworI34gbXNnaWQgIm9uZSBiYWQgcGFnZVxuIgorI34gbXNnc3RyICJ1bWEgcMOhZ2luYSBpbnbDoWxpZGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgIG9uIHdob2xlIGRpc2suICIKKyN+IG1zZ3N0ciAiICAgcyAgIG1vc3RyYSBvIHLDs3R1bG8gZG8gZGlzY28gY29tcGxldG8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGRvZXMgbm90IHN1cHBvcnQgc3dhcHNwYWNlIHZlcnNpb24gJWQuXG4iCisjfiBtc2dzdHIgIiVzIC0gZXJybzogdmVyc8OjbyAlZCBkZXNjb25oZWNpZGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZXJyb3I6IHdpbGwgbm90IHRyeSB0byBtYWtlIHN3YXBkZXZpY2Ugb24gJyVzJ1xuIgorI34gbXNnc3RyICJOw6NvIHNlcsOhIHRlbnRhZG8gY3JpYXIgZGlzcG9zaXRpdm8gZGUgcGVybXV0YSAoc3dhcCkgZW0gJyVzJyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6XG4iCisjfiAiICAlcyAiCisjfiBtc2dzdHIgIlVzbzoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTWVudSB3aXRob3V0IGRpcmVjdGlvbi4gRGVmYXVsdGluZyB0byBob3Jpem9udGFsLiIKKyN+IG1zZ3N0ciAiTWVudSBzZW0gZGlyZcOnw6NvLiBBc3N1bWluZG8gaG9yaXpvbnRhbCBjb21vIHBhZHLDo28uIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0VGhlcmUgaXMgYSB2YWxpZCBBSVggbGFiZWwgb24gdGhpcyBkaXNrLlxuIgorI34gIlx0VW5mb3J0dW5hdGVseSBMaW51eCBjYW5ub3QgaGFuZGxlIHRoZXNlXG4iCisjfiAiXHRkaXNrcyBhdCB0aGUgbW9tZW50LiAgTmV2ZXJ0aGVsZXNzIHNvbWVcbiIKKyN+ICJcdGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+ICJcdDMuIEJlZm9yZSBkZWxldGluZyB0aGlzIHBoeXNpY2FsIHZvbHVtZSBiZSBzdXJlXG4iCisjfiAiXHQgICB0byByZW1vdmUgdGhlIGRpc2sgbG9naWNhbGx5IGZyb20geW91ciBBSVhcbiIKKyN+ICJcdCAgIG1hY2hpbmUuICAoT3RoZXJ3aXNlIHlvdSBiZWNvbWUgYW4gQUlYcGVydCkuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHRFeGlzdGUgdW0gcsOzdHVsbyBBSVggdsOhbGlkbyBuZXN0ZSBkaXNjby5cbiIKKyN+ICJcdEluZmVsaXptZW50ZSwgbyBMaW51eCBuw6NvIMOpIGNhcGF6IGRlIG1hbmlwdWxhciBkaXNjb3NcbiIKKyN+ICJcdGRlIHRhbCB0aXBvIGF0dWFsbWVudGUuIE7Do28gb2JzdGFudGUsIGFsZ3Vuc1xuIgorI34gIlx0Y29uc2VsaG9zOlxuIgorI34gIlx0MS4gZmRpc2sgZGVzdHJ1aXLDoSBzZXUgY29udGXDumRvIG5hIGdyYXZhw6fDo28uXG4iCisjfiAiXHQyLiBDZXJ0aWZpcXVlLXNlIGRlIHF1ZSBvIGRpc2NvIE7Dg08gw6kgbWFpcyB1bWEgcGFydGUgdml0YWxcbiIKKyN+ICJcdCAgIGRlIHVtIGdydXBvIGRlIHZvbHVtZXMgKGRvIGNvbnRyw6FyaW8sIHZvY8OqIHBvZGVyw6EgYXBhZ2FyXG4iCisjfiAiXHQgICB0YW1iw6ltIG91dHJvcyBkaXNjb3MsIHNlIG7Do28gaG91dmVyIGVzcGVsaGFtZW50bykuXG4iCisjfiAiXHQzLiBBbnRlcyBkZSBleGNsdWlyIGVzdGUgdm9sdW1lIGbDrXNpY28sIGNlcnRpZmlxdWUtc2UgZGVcbiIKKyN+ICJcdCAgIHJlbW92ZXIgbyBkaXNjbyBsb2dpY2FtZW50ZSBkZSBzdWEgbcOhcXVpbmEgQUlYXG4iCisjfiAiXHQgICAoZG8gY29udHLDoXJpbyB2b2PDqiBpcsOhIHNlIHRvcm5hciB1bSBBSVhwZXJ0KS4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQlNEIGxhYmVsIGZvciBkZXZpY2U6ICVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJSw7N0dWxvIEJTRCBkbyBkaXNwb3NpdGl2bzogJXNcbiIKKworI34gbXNnaWQgIiAgIGQgICBkZWxldGUgYSBCU0QgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICBkICAgZXhjbHVpIHVtYSBwYXJ0acOnw6NvIEJTRCIKKworI34gbXNnaWQgIiAgIG4gICBhZGQgYSBuZXcgQlNEIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgbiAgIGNyaWEgdW1hIG5vdmEgcGFydGnDp8OjbyBCU0QiCisKKyN+IG1zZ2lkICIgICBwICAgcHJpbnQgQlNEIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiICAgcCAgIG1vc3RyYSBhIHRhYmVsYSBkZSBwYXJ0acOnw6NvIEJTRCIKKworI34gbXNnaWQgIiAgIHQgICBjaGFuZ2UgYSBwYXJ0aXRpb24ncyBmaWxlc3lzdGVtIGlkIgorI34gbXNnc3RyICIgICB0ICAgYWx0ZXJhIGEgaWRlbnRpZmljYcOnw6NvIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3MiCisKKyN+IG1zZ2lkICIgICB1ICAgY2hhbmdlIHVuaXRzIChjeWxpbmRlcnMvc2VjdG9ycykiCisjfiBtc2dzdHIgIiAgIHUgICBhbHRlcmEgdW5pZGFkZXMgKGNpbGluZHJvcy9zZXRvcmVzKSIKKworI34gbXNnaWQgIlVuYWJsZSB0byBvcGVuICVzXG4iCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAlc1xuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGFueSBtb3JlIG1lbW9yeVxuIgorI34gbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgYWxvY2FyIG1haXMgcXVhbHF1ZXIgbWVtw7NyaWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiQnVpbGRpbmcgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguXG4iCisjfiAiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorI34gIkFmdGVyIHRoYXQsIG9mIGNvdXJzZSwgdGhlIHByZXZpb3VzIGNvbnRlbnQgd29uJ3QgYmUgcmVjb3ZlcmFibGUuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJDcmlhbmRvIHVtIG5vdm8gcsOzdHVsbyBkZSBkaXNjbyBET1MuIEFzIGFsdGVyYcOnw7VlcyBwZXJtYW5lY2Vyw6NvXG4iCisjfiAic29tZW50ZSBlbSBtZW3Ds3JpYSBhdMOpIHF1ZSB2b2PDqiBkZWNpZGEgZ3JhdsOhLWxhcy4gQXDDs3MgaXN0bywgw6kgY2xhcm8sXG4iCisjfiAibyBjb250ZcO6ZG8gYW50ZXJpb3IgbsOjbyBwb2RlcsOhIG1haXMgc2VyIHJlY3VwZXJhZG8uXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJOb3RlOiBzZWN0b3Igc2l6ZSBpcyAlZCAobm90ICVkKVxuIgorI34gbXNnc3RyICJOb3RhOiBvIHRhbWFuaG8gZG8gc2V0b3Igw6kgJWQgKG7Do28gJWQpXG4iCisKKyN+IG1zZ2lkICJEZXZpY2UgY29udGFpbnMgbmVpdGhlciBhIHZhbGlkIERPUyBwYXJ0aXRpb24gdGFibGUsIG5vciBTdW4sIFNHSSBvciBPU0YgZGlza2xhYmVsXG4iCisjfiBtc2dzdHIgIk8gZGlzcG9zaXRpdm8gbsOjbyBjb250w6ltIG5lbSB1bWEgdGFiZWxhIGRlIHBhcnRpw6fDo28gRE9TIHbDoWxpZGEgbmVtIHVtIHLDs3R1bG8gZGUgZGlzY28gU3VuLCBPU0Ygb3UgU0dJXG4iCisKKyN+IG1zZ2lkICJJbnRlcm5hbCBlcnJvclxuIgorI34gbXNnc3RyICJFcnJvIGludGVybm9cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJnb3QgRU9GIHRocmljZSAtIGV4aXRpbmcuLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRU9GIChmaW0gZGUgYXJxdWl2bykgcmVjZWJpZG8gdHLDqnMgdmV6ZXMgLSBzYWluZG8uLi5cbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlZCBoYXMgZW1wdHkgdHlwZVxuIgorI34gbXNnc3RyICJBdmlzbzogYSBwYXJ0acOnw6NvICVkIHBvc3N1aSB0aXBvIHZhemlvXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWkgZG9lcyBub3Qgc3RhcnQgb24gY3lsaW5kZXIgYm91bmRhcnk6XG4iCisjfiBtc2dzdHIgIkEgcGFydGnDp8OjbyAlaSBuw6NvIGluaWNpYSBlbSB1bSBsaW1pdGUgZGUgY2lsaW5kcm86XG4iCisKKyN+IG1zZ2lkICJzaG91bGQgYmUgKCVkLCAlZCwgMSlcbiIKKyN+IG1zZ3N0ciAiZGV2ZXJpYSBzZXIgKCVkLCAlZCwgMSlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWkgZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gbXNnc3RyICJBIHBhcnRpw6fDo28gJWQgbsOjbyB0ZXJtaW5hIGVtIHVtIGxpbWl0ZSBkZSBjaWxpbmRyby5cbiIKKworI34gbXNnaWQgInNob3VsZCBiZSAoJWQsICVkLCAlZClcbiIKKyN+IG1zZ3N0ciAiZGV2ZXJpYSBzZXIgKCVkLCAlZCwgJWQpXG4iCisKKyN+IG1zZ2lkICJZb3UgbXVzdCBkZWxldGUgc29tZSBwYXJ0aXRpb24gYW5kIGFkZCBhbiBleHRlbmRlZCBwYXJ0aXRpb24gZmlyc3RcbiIKKyN+IG1zZ3N0ciAiVm9jw6ogcHJlY2lzYSBleGNsdWlyIGFsZ3VtYSBwYXJ0acOnw6NvIGUgYWRpY2lvbmFyIHVtYSBwYXJ0acOnw6NvIGVzdGVuZGlkYSBhbnRlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIkNvbW1hbmQgYWN0aW9uXG4iCisjfiAiICAgJXNcbiIKKyN+ICIgICBwICAgcHJpbWFyeSBwYXJ0aXRpb24gKDEtNClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkNvbWFuZG8gLSBhw6fDo29cbiIKKyN+ICIgICAlc1xuIgorI34gIiAgIHAgICBwYXJ0acOnw6NvIHByaW3DoXJpYSAoMS00KVxuIgorCisjfiBtc2dpZCAiVGhpcyBrZXJuZWwgZmluZHMgdGhlIHNlY3RvciBzaXplIGl0c2VsZiAtIC1iIG9wdGlvbiBpZ25vcmVkXG4iCisjfiBtc2dzdHIgIkVzdGUga2VybmVsIGxvY2FsaXphIG8gdGFtYW5obyBkZSBzZXRvciBwb3IgY29udGEgcHLDs3ByaWEgLSBvcMOnw6NvIC1iIGlnbm9yYWRhXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRTb3JyeSwgbm8gZXhwZXJ0cyBtZW51IGZvciBTR0kgcGFydGl0aW9uIHRhYmxlcyBhdmFpbGFibGUuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJcdERlc2N1bHBlLiBOw6NvIGjDoSB1bSBtZW51IGF2YW7Dp2FkbyBkaXNwb27DrXZlbCBwYXJhIHRhYmVsYXMgZGUgcGFydGnDp8OjbyBTR0kuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJTb3JyeSBZb3UgbWF5IGNoYW5nZSB0aGUgVGFnIG9mIG5vbi1lbXB0eSBwYXJ0aXRpb25zLlxuIgorI34gbXNnc3RyICJEZXNjdWxwZS4gVm9jw6ogcG9kZSBhbHRlcmFyIGFwZW5hcyBhIGV0aXF1ZXRhIGRlIHBhcnRpw6fDtWVzIG7Do28gdmF6aWFzLlxuIgorCisjfiBtc2dpZCAiRG8gWW91IGtub3csIFlvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzaz9cbiIKKyN+IG1zZ3N0ciAiVm9jw6ogc2FiaWEgcXVlIHRlbSB1bWEgc29icmVwb3Npw6fDo28gZGUgcGFydGnDp8O1ZXMgbm8gZGlzY28/XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiQnVpbGRpbmcgYSBuZXcgU0dJIGRpc2tsYWJlbC4gQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSxcbiIKKyN+ICJ1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uIEFmdGVyIHRoYXQsIG9mIGNvdXJzZSwgdGhlIHByZXZpb3VzXG4iCisjfiAiY29udGVudCB3aWxsIGJlIHVucmVjb3ZlcmFibHkgbG9zdC5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkNyaWFuZG8gdW0gbm92byByw7N0dWxvIGRlIGRpc2NvIFNHSS4gQXMgYWx0ZXJhw6fDtWVzIHBlcm1hbmVjZXLDo29cbiIKKyN+ICJzb21lbnRlIGVtIG1lbcOzcmlhIGF0w6kgcXVlIHZvY8OqIGRlY2lkYSBncmF2w6EtbGFzLiBBcMOzcyBpc3RvLCDDqSBjbGFybyxcbiIKKyN+ICJvIGNvbnRlw7pkbyBhbnRlcmlvciBuw6NvIHBvZGVyw6EgbWFpcyBzZXIgcmVjdXBlcmFkby5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIm91dCBvZiBtZW1vcnkgLSBnaXZpbmcgdXBcbiIKKyN+IG1zZ3N0ciAibWVtw7NyaWEgaW5zdWZpY2llbnRlIC0gZGVzaXN0aW5kb1xuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeT9cbiIKKyN+IG1zZ3N0ciAibWVtw7NyaWEgaW5zdWZpY2llbnRlP1xuIgorCisjfiBtc2dpZCAiYW5kICVzIG92ZXJsYXBcbiIKKyN+IG1zZ3N0ciAiZSAlcyBzZSBzb2JyZXDDtWVtXG4iCisKKyN+IG1zZ2lkICJkZXZpY2U6IHNvbWV0aGluZyBsaWtlIC9kZXYvaGRhIG9yIC9kZXYvc2RhIgorI34gbXNnc3RyICJkaXNwb3NpdGl2bzogYWxnbyBjb21vIC9kZXYvaGRhIG91IC9kZXYvc2RhIgorCisjfiBtc2dpZCAiICAgIC1zIFtvciAtLXNob3ctc2l6ZV06IGxpc3Qgc2l6ZSBvZiBhIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgIC1zIFtvdSAtLXNob3ctc2l6ZV06IGxpc3RhIG8gdGFtYW5obyBkZSB1bWEgcGFydGnDp8OjbyIKKworI34gbXNnaWQgIiAgICAtZCBbb3IgLS1kdW1wXTogICAgICBpZGVtLCBidXQgaW4gYSBmb3JtYXQgc3VpdGFibGUgZm9yIGxhdGVyIGlucHV0IgorI34gbXNnc3RyICIgICAgLWQgW291IC0tZHVtcF06ICAgICAgaWRlbSwgbWFzIGVtIHVtIGZvcm1hdG8gYWRlcXVhZG8gcGFyYSBlbnRyYWRhIHBvc3RlcmlvciIKKworI34gbXNnaWQgIiAgICAtaSBbb3IgLS1pbmNyZW1lbnRdOiBudW1iZXIgY3lsaW5kZXJzIGV0Yy4gZnJvbSAxIGluc3RlYWQgb2YgZnJvbSAwIgorI34gbXNnc3RyICIgICAgLWkgW291IC0taW5jcmVtZW50XTogbnVtZXJhIG9zIGNpbGluZHJvcywgZXRjLiBhIHBhcnRpciBkZSAxLCBlbSB2ZXogZGUgMCIKKworI34gbXNnaWQgIiAgICAtdVMsIC11QiwgLXVDLCAtdU06ICBhY2NlcHQvcmVwb3J0IGluIHVuaXRzIG9mIHNlY3RvcnMvYmxvY2tzL2N5bGluZGVycy9NQiIKKyN+IG1zZ3N0ciAiICAgIC11UywgLXVCLCAtdUMsIC11TTogIGFjZWl0YS9pbmZvcm1hIGVtIHVuaWRhZGVzIGRlIHNldG9yZXMvYmxvY29zL2NpbGluZHJvcy9NQiIKKworI34gbXNnaWQgIiAgICAtVCBbb3IgLS1saXN0LXR5cGVzXTpsaXN0IHRoZSBrbm93biBwYXJ0aXRpb24gdHlwZXMiCisjfiBtc2dzdHIgIiAgICAtVCBbb3UgLS1saXN0LXR5cGVzXTpsaXN0YSBvcyB0aXBvcyBkZSBwYXJ0acOnw6NvIGNvbmhlY2lkb3MiCisKKyN+IG1zZ2lkICIgICAgLUQgW29yIC0tRE9TXTogICAgICAgZm9yIERPUy1jb21wYXRpYmlsaXR5OiB3YXN0ZSBhIGxpdHRsZSBzcGFjZSIKKyN+IG1zZ3N0ciAiICAgIC1EIFtvdSAtLURPU106ICAgICAgIHBhcmEgY29tcGF0aWJpbGlkYWRlIGNvbSBET1M6IGRlc3BlcmRpw6dhIHVtIHBvdWNvIGRlIGVzcGHDp28iCisKKyN+IG1zZ2lkICIgICAgLVIgW29yIC0tcmUtcmVhZF06ICAgbWFrZSBrZXJuZWwgcmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiICAgIC1SIFtvdSAtLXJlLXJlYWRdOiAgIGZheiBvIGtlcm5lbCByZWxlciBhIHRhYmVsYSBkZSBwYXJ0acOnw6NvIgorCisjfiBtc2dpZCAiICAgIC1PIGZpbGUgOiAgICAgICAgICAgIHNhdmUgdGhlIHNlY3RvcnMgdGhhdCB3aWxsIGJlIG92ZXJ3cml0dGVuIHRvIGZpbGUiCisjfiBtc2dzdHIgIiAgICAtTyBhcnF1aXZvIDogICAgICAgICAgc2FsdmEgb3Mgc2V0b3JlcyBxdWUgc2Vyw6NvIHNvYnJlc2NyaXRvcyBlbSBhcnF1aXZvIgorCisjfiBtc2dpZCAiICAgIC1JIGZpbGUgOiAgICAgICAgICAgIHJlc3RvcmUgdGhlc2Ugc2VjdG9ycyBhZ2FpbiIKKyN+IG1zZ3N0ciAiICAgIC1JIGFycXVpdm8gOiAgICAgICAgIHJlc3RhdXJhIG9zIHNldG9yZXMgZ3JhdmFkb3MgZW0gYXJxdWl2byIKKworI34gbXNnaWQgIiAgICAtdiBbb3IgLS12ZXJzaW9uXTogICBwcmludCB2ZXJzaW9uIgorI34gbXNnc3RyICIgICAgLXYgW291IC0tdmVyc2lvbl06ICAgbW9zdHJhIGEgdmVyc8OjbyIKKworI34gbXNnaWQgIiAgICAtZyBbb3IgLS1zaG93LWdlb21ldHJ5XTogcHJpbnQgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIGdlb21ldHJ5IgorI34gbXNnc3RyICIgICAgLWcgW291IC0tc2hvdy1nZW9tZXRyeV06IG1vc3RyYSBhIHN1cG9zacOnw6NvIGRvIGtlcm5lbCBzb2JyZSBhIGdlb21ldHJpYSIKKworI34gbXNnaWQgIiAgICAtTCAgW29yIC0tTGludXhdOiAgICAgIGRvIG5vdCBjb21wbGFpbiBhYm91dCB0aGluZ3MgaXJyZWxldmFudCBmb3IgTGludXgiCisjfiBtc2dzdHIgIiAgICAtTCAgW291IC0tTGludXhdOiAgICAgIG7Do28gcmVjbGFtYSBkZSBjb2lzYXMgaXJyZWxldmFudGVzIHBhcmEgbyBMaW51eCIKKworI34gbXNnaWQgIiAgICBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZXRlY3RlZCBnZW9tZXRyeSB1c2luZzoiCisjfiBtc2dzdHIgIiAgICBWb2PDqiBwb2RlIGFudWxhciBhIGdlb21ldHJpYSBkZXRlY3RhZGEgdXNhbmRvOiIKKworI34gbXNnaWQgIiAgICAtZiAgW29yIC0tZm9yY2VdOiAgICAgIGRvIHdoYXQgSSBzYXksIGV2ZW4gaWYgaXQgaXMgc3R1cGlkIgorI34gbXNnc3RyICIgICAgLWYgIFtvdSAtLWZvcmNlXTogICAgICBmYcOnYSBvIHF1ZSBldSBtYW5kYXIsIG1lc21vIHF1ZSBzZWphIGlkaW90YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2UgdGhlIC0tZm9yY2UgZmxhZyB0byBvdmVycnVsZSB0aGlzIGNoZWNrLlxuIgorI34gbXNnc3RyICJVc2UgYSBvcMOnw6NvIC0tZm9yY2UgcGFyYSBjYW5jZWxhciB0b2RhcyBhcyB2ZXJpZmljYcOnw7Vlcy5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJzZmRpc2s6IHByZW1hdHVyZSBlbmQgb2YgaW5wdXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gInNmZGlzazogZmluYWwgZGUgZW50cmFkYSBwcmVtYXR1cm9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXQVJOSU5HOiBjb3VsZG4ndCBvcGVuICVzOiAlc1xuIgorI34gbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNvdWxkbid0IGFsbG9jYXRlIG1lbW9yeSBmb3IgZmlsZXN5c3RlbSB0eXBlc1xuIgorI34gbXNnc3RyICJtb3VudDogdm9jw6ogcHJlY2lzYSBlc3BlY2lmaWNhciBvIHRpcG8gZG8gc2lzdGVtYSBkZSBhcnF1aXZvcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogZnNjayBbLUFNTlBSVFZdIFsgLUMgWyBmZCBdIF0gWy10IGZzdHlwZV0gW2ZzLW9wdGlvbnNdIFtmaWxlc3lzIC4uLl1cbiIKKyN+IG1zZ3N0ciAiVXNvOiBta2ZzIFstVl0gWy10IHRpcG9TaXN0QXJxXSBbb3DDp8O1ZXMtc2lzdEFycV0gZGlzcG9zaXRpdm8gW3RhbWFuaG9dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ291bGRuJ3Qgb3BlbiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZzY2sgZnJvbSAlc1xuIgorI34gbXNnc3RyICIlcyBkZSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBVbmFibGUgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciBmc2NrX3BhdGhcbiIKKyN+IG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGFsb2NhciBidWZmZXIgcGFyYSBpbm9kZXMiCisKKyN+IG1zZ2lkICJUcnkgYGdldG9wdCAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICJUZW50ZSBgZ2V0b3B0IC0taGVscCcgcGFyYSBtYWlvcmVzIGluZm9ybWHDp8O1ZXMuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogZ2V0b3B0IG9wdHN0cmluZyBwYXJhbWV0ZXJzXG4iCisjfiBtc2dzdHIgIlVzbzogZ2V0b3B0IHRleHRvX29ww6fDtWVzIHBhcsOibWV0cm9zXG4iCisKKyN+IG1zZ2lkICIgICAgICAgZ2V0b3B0IFtvcHRpb25zXSBbLS1dIG9wdHN0cmluZyBwYXJhbWV0ZXJzXG4iCisjfiBtc2dzdHIgIiAgICAgICBnZXRvcHQgW29ww6fDtWVzXSBbLS1dIHRleHRvX29ww6fDtWVzIHBhcsOibWV0cm9zXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZ2V0b3B0IChlbmhhbmNlZCkgMS4xLjRcbiIKKyN+IG1zZ3N0ciAiZ2V0b3B0IChtZWxob3JhZG8pIDEuMS4wKVxuIgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gL2Rldi9wb3J0OiAlcyIKKyN+IG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgYWJyaXIgL2Rldi9wb3J0OiAlcyIKKworI34gbXNnaWQgIihFeHBlY3RlZDogYFVUQycgb3IgYExPQ0FMJyBvciBub3RoaW5nLilcbiIKKyN+IG1zZ3N0ciAiKEVzcGVyYWRvOiBgVVRDJywgYExPQ0FMJyAgb3UgbmFkYS4pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gImh3Y2xvY2sgLSBxdWVyeSBhbmQgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayAoUlRDKVxuIgorI34gIlxuIgorI34gIlVzYWdlOiBod2Nsb2NrIFtmdW5jdGlvbl0gW29wdGlvbnMuLi5dXG4iCisjfiAiXG4iCisjfiAiRnVuY3Rpb25zOlxuIgorI34gIiAgLWggfCAtLWhlbHAgICAgICAgICBzaG93IHRoaXMgaGVscFxuIgorI34gIiAgLXIgfCAtLXNob3cgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCByZXN1bHRcbiIKKyN+ICIgICAgICAgLS1zZXQgICAgICAgICAgc2V0IHRoZSBydGMgdG8gdGhlIHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyN+ICIgIC1zIHwgLS1oY3Rvc3lzICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAgLXcgfCAtLXN5c3RvaGMgICAgICBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIHRvIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lXG4iCisjfiAiICAgICAgIC0tc3lzdHogICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgYmFzZWQgb24gdGhlIGN1cnJlbnQgdGltZXpvbmVcbiIKKyN+ICIgICAgICAgLS1hZGp1c3QgICAgICAgYWRqdXN0IHRoZSBydGMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCBzaW5jZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICB0aGUgY2xvY2sgd2FzIGxhc3Qgc2V0IG9yIGFkanVzdGVkXG4iCisjfiAiICAgICAgIC0tZ2V0ZXBvY2ggICAgIHByaW50IG91dCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWVcbiIKKyN+ICIgICAgICAgLS1zZXRlcG9jaCAgICAgc2V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZSB0byB0aGUgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGdpdmVuIHdpdGggLS1lcG9jaFxuIgorI34gIiAgICAgICAtLXByZWRpY3QgICAgICBwcmVkaWN0IHJ0YyByZWFkaW5nIGF0IHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyN+ICIgIC12IHwgLS12ZXJzaW9uICAgICAgcHJpbnQgb3V0IHRoZSB2ZXJzaW9uIG9mIGh3Y2xvY2sgdG8gc3Rkb3V0XG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczogXG4iCisjfiAiICAtdSB8IC0tdXRjICAgICAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIFVUQ1xuIgorI34gIiAgICAgICAtLWxvY2FsdGltZSAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBsb2NhbCB0aW1lXG4iCisjfiAiICAtZiB8IC0tcnRjPXBhdGggICAgIHNwZWNpYWwgL2Rldi8uLi4gZmlsZSB0byB1c2UgaW5zdGVhZCBvZiBkZWZhdWx0XG4iCisjfiAiICAgICAgIC0tZGlyZWN0aXNhICAgIGFjY2VzcyB0aGUgSVNBIGJ1cyBkaXJlY3RseSBpbnN0ZWFkIG9mICVzXG4iCisjfiAiICAgICAgIC0tYmFkeWVhciAgICAgIGlnbm9yZSBydGMncyB5ZWFyIGJlY2F1c2UgdGhlIGJpb3MgaXMgYnJva2VuXG4iCisjfiAiICAgICAgIC0tZGF0ZSAgICAgICAgIHNwZWNpZmllcyB0aGUgdGltZSB0byB3aGljaCB0byBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiICAgICAgIC0tZXBvY2g9eWVhciAgIHNwZWNpZmllcyB0aGUgeWVhciB3aGljaCBpcyB0aGUgYmVnaW5uaW5nIG9mIHRoZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgaGFyZHdhcmUgY2xvY2sncyBlcG9jaCB2YWx1ZVxuIgorI34gIiAgICAgICAtLW5vYWRqZmlsZSAgICBkbyBub3QgYWNjZXNzIC9ldGMvYWRqdGltZS4gUmVxdWlyZXMgdGhlIHVzZSBvZlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWVcbiIKKyN+ICIgICAgICAgLS1hZGpmaWxlPXBhdGggc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZSAoZGVmYXVsdCBpc1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAvZXRjL2FkanRpbWUpXG4iCisjfiAiICAgICAgIC0tdGVzdCAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IGFjdHVhbGx5IHVwZGF0aW5nIHRoZSBoYXJkd2FyZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBjbG9jayBvciBhbnl0aGluZyBlbHNlXG4iCisjfiAiICAtRCB8IC0tZGVidWcgICAgICAgIGRlYnVnIG1vZGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gImh3Y2xvY2sgLSBjb25zdWx0YSBlIGFqdXN0YSBvIHJlbMOzZ2lvIGRlIGhhcmR3YXJlIChSVEMpLlxuIgorI34gIlxuIgorI34gIlVzbzogaHdjbG9jayBbZnVuw6fDo29dIFtvcMOnw7Vlcy4uLl1cbiIKKyN+ICJcbiIKKyN+ICJGdW7Dp8O1ZXM6XG4iCisjfiAiICAtLWhlbHAgICAgICAgIE1vc3RyYSBlc3RhIGFqdWRhLlxuIgorI34gIiAgLS1zaG93ICAgICAgICBMw6ogbyByZWzDs2dpbyBkZSBoYXJkd2FyZSBlIGltcHJpbWUgbyByZXN1bHRhZG8uXG4iCisjfiAiICAtLXNldCAgICAgICAgIENvbmZpZ3VyYSBvIFJUQyBwYXJhIGEgaG9yYSBmb3JuZWNpZGEgY29tIC0tZGF0ZS5cbiIKKyN+ICIgIC0taGN0b3N5cyAgICAgQ29uZmlndXJhIGEgaG9yYSBkbyBzaXN0ZW1hIGEgcGFydGlyIGRvIHJlbMOzZ2lvIGRlIGhhcmR3YXJlLlxuIgorI34gIiAgLS1zeXN0b2hjICAgICBDb25maWd1cmEgbyByZWzDs2dpbyBkZSBoYXJkd2FyZSBwYXJhIGEgaG9yYSBhdHVhbCBkbyBzaXN0ZW1hLlxuIgorI34gIiAgLS1hZGp1c3QgICAgICBBanVzdGEgbyBSVEMgcGFyYSBsZXZhciBlbSBjb250YSB2YXJpYcOnw6NvIHNpc3RlbcOhdGljYSBkZXNkZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgcXVlIG8gcmVsw7NnaW8gZm9pIGFqdXN0YWRvIG91IGNvbmZpZ3VyYWRvIGRhIMO6bHRpbWEgdmV6LlxuIgorI34gIiAgLS1nZXRlcG9jaCAgICBFeGliZSBvIHZhbG9yIGRlIGVwb2NoIGRvIHJlbMOzZ2lvIGRlIGhhcmR3YXJlIGRvIGtlcm5lbC5cbiIKKyN+ICIgIC0tc2V0ZXBvY2ggICAgQ29uZmlndXJhIG8gdmFsb3IgZGUgZXBvY2ggZG8gcmVsw7NnaW8gZGUgaGFyZHdhcmUgZG8ga2VybmVsIHBhcmEgbyBcbiIKKyN+ICIgICAgICAgICAgICAgICAgdmFsb3IgZm9ybmVjaWRvIGNvbSAtLWVwb2NoLlxuIgorI34gIiAgLS12ZXJzaW9uICAgICBDb2xvY2EgYSB2ZXJzw6NvIGRlIGh3Y2xvY2sgZW0gc3Rkb3V0LlxuIgorI34gIlxuIgorI34gIk9ww6fDtWVzOiBcbiIKKyN+ICIgIC0tdXRjICAgICAgICAgTyByZWzDs2dpbyBkZSBoYXJkd2FyZSDDqSBtYW50aWRvIGVtIFVUQyAoaG9yYSB1bml2ZXJzYWwgY29vcmRlbmFkYSkuXG4iCisjfiAiICAtLWxvY2FsdGltZSAgIE8gcmVsw7NnaW8gZGUgaGFyZHdhcmUgw6kgbWFudGlkbyBlbSBob3JhIGxvY2FsLlxuIgorI34gIiAgLS1kaXJlY3Rpc2EgICBBY2Vzc2EgbyBiYXJyYW1lbnRvIElTQSBkaXJldGFtZW50ZSwgZW0gdmV6IGRlICVzLlxuIgorI34gIiAgLS1iYWR5ZWFyICAgICBJZ25vcmEgbyBhbm8gZG8gUlRDLCBwb2lzIGEgQklPUyBlc3TDoSBjb20gcHJvYmxlbWFzLlxuIgorI34gIiAgLS1kYXRlICAgICAgICBFc3BlY2lmaWNhIGEgaG9yYSBwYXJhIGEgcXVhbCBjb25maWd1cmFyIG8gcmVsw7NnaW8gZGUgaGFyZHdhcmUuXG4iCisjfiAiICAtLWVwb2NoPWFubyAgRXNwZWNpZmljYSBvIGFubyBpbmljaWFsIGRvIHZhbG9yIFxuIgorI34gIiAgICAgICAgICAgICAgICBkZSBlcG9jaCBkbyByZWzDs2dpbyBkZSBoYXJkd2FyZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiWW91IGhhdmUgc3BlY2lmaWVkIG11bHRpcGxlIGZ1bmN0aW9ucy5cbiIKKyN+ICJZb3UgY2FuIG9ubHkgcGVyZm9ybSBvbmUgZnVuY3Rpb24gYXQgYSB0aW1lLlxuIgorI34gbXNnc3RyICIiCisjfiAiVm9jw6ogZXNwZWNpZmljb3UgbcO6bHRpcGxhcyBvcMOnw7VlcyBkZSBmdW7Dp8Ojby5cbiIKKyN+ICJWb2PDqiBzw7MgcG9kZSBleGVjdXRhciB1bWEgZnVuw6fDo28gcG9yIHZlei5cbiIKKworI34gbXNnaWQgIiVzOiBUaGUgLS11dGMgYW5kIC0tbG9jYWx0aW1lIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC5cbiIKKyN+IG1zZ3N0ciAiJXM6IEFzIG9ww6fDtWVzIC0tdXRjIGUgLS1sb2NhbHRpbWUgc8OjbyBtdXR1YW1lbnRlIGV4Y2x1c2l2YXMuIFZvY8OqIGVzcGVjaWZpY291IGFtYmFzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBUaGUgLS1hZGp1c3QgYW5kIC0tbm9hZGpmaWxlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC5cbiIKKyN+IG1zZ3N0ciAiJXM6IEFzIG9ww6fDtWVzIC0tdXRjIGUgLS1sb2NhbHRpbWUgc8OjbyBtdXR1YW1lbnRlIGV4Y2x1c2l2YXMuIFZvY8OqIGVzcGVjaWZpY291IGFtYmFzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBUaGUgLS1hZGpmaWxlIGFuZCAtLW5vYWRqZmlsZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuICBZb3Ugc3BlY2lmaWVkIGJvdGguXG4iCisjfiBtc2dzdHIgIiVzOiBBcyBvcMOnw7VlcyAtLXV0YyBlIC0tbG9jYWx0aW1lIHPDo28gbXV0dWFtZW50ZSBleGNsdXNpdmFzLiBWb2PDqiBlc3BlY2lmaWNvdSBhbWJhcy5cbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBvcGVuICVzIgorI34gbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgJXMiCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgaW5pdHN0cmluZyIKKyN+IG1zZ3N0ciAiY2FuJ3QgbWFsbG9jIGluaXRzdHJpbmciCisKKyN+IG1zZ2lkICJ1c2VycyIKKyN+IG1zZ3N0ciAidXN1w6FyaW9zIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgWy04aGlMbVV3XSBbLWwgbG9naW5fcHJvZ3JhbV0gWy10IHRpbWVvdXRdIFstSSBpbml0c3RyaW5nXSBbLUggbG9naW5faG9zdF0gYmF1ZF9yYXRlLC4uLiBsaW5lIFt0ZXJtdHlwZV1cbiIKKyN+ICJvclx0Wy1oaUxtd10gWy1sIGxvZ2luX3Byb2dyYW1dIFstdCB0aW1lb3V0XSBbLUkgaW5pdHN0cmluZ10gWy1IIGxvZ2luX2hvc3RdIGxpbmUgYmF1ZF9yYXRlLC4uLiBbdGVybXR5cGVdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVc286ICVzIFstaGlMbXddIFstbCBwcm9ncmFtYV9sb2dpbl0gWy10IHRlbXBvX2xpbWl0ZV0gWy1JIHN0cmluZ19pbmljXSBbLUggaG9zdF9sb2dpbl0gdGF4YV9iYXVkLC4uLiBsaW5oYSBbdGlwb190ZXJtXVxuIgorI34gIm91XHRbLWhpTG13XSBbLWwgcHJvZ3JhbWFfbG9naW5dIFstdCB0ZW1wb19saW1pdGVdIFstSSBzdHJpbmdfaW5pY10gWy1IIGhvc3RfbG9naW5dIGxpbmhhIHRheGFfYmF1ZCwuLi4gW3RpcG9fdGVybV1cbiIKKworI34gbXNnaWQgImxvZ2luOiBtZW1vcnkgbG93LCBsb2dpbiBtYXkgZmFpbFxuIgorI34gbXNnc3RyICJsb2dpbjogcG91Y2EgbWVtw7NyaWE7IG8gbG9naW4gcG9kZSBmYWxoYXJcbiIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBmb3IgdHR5Y2xhc3MiCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBtYWxsb2MgcGFyYSB0dHljbGFzcyIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBmb3IgZ3JwbGlzdCIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIG1hbGxvYyBwYXJhIGdycGxpc3QiCisKKyN+IG1zZ2lkICJMb2dpbiBvbiAlcyBmcm9tICVzIGRlbmllZC5cbiIKKyN+IG1zZ3N0ciAiTG9naW4gZW0gJXMgZGUgJXMgbmVnYWRvLlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsgLWYgZnVsbC1uYW1lIF0gWyAtbyBvZmZpY2UgXSAiCisjfiBtc2dzdHIgIlVzbzogJXMgWyAtZiBub21lX2NvbXBsZXRvIF0gWyAtbyBsb2NhbF9kZV90cmFiYWxobyBdICIKKworI34gbXNnaWQgIlsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorI34gbXNnc3RyICJbIC0taGVscCBdIFsgLS12ZXJzaW9uIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFsgLXMgc2hlbGwgXSBbIC0tbGlzdC1zaGVsbHMgXSBbIC0taGVscCBdIFsgLS12ZXJzaW9uIF1cbiIKKyN+ICIgICAgICAgWyB1c2VybmFtZSBdXG4iCisjfiBtc2dzdHIgIlsgLS1saXN0LXNoZWxscyBdIFsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBVc2UgLWwgb3B0aW9uIHRvIHNlZSBsaXN0LlxuIgorI34gbXNnc3RyICIlczogdXNlIGEgb3DDp8OjbyAtbCBwYXJhIHZlciBhIGxpc3RhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMgZm9yIHJlYWRpbmcsIGV4aXRpbmcuIgorI34gbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgJXMgcGFyYSBsZWl0dXJhIgorCisjfiBtc2dpZCAibGFzdDogbWFsbG9jIGZhaWx1cmUuXG4iCisjfiBtc2dzdHIgImxhc3Q6IGZhbGhhIGRlIG1hbGxvYy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsb2dpbjogT3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICIlczogbWVtw7NyaWEgaW5zdWZpY2llbnRlIVxuIgorCisjfiBtc2dpZCAiJXMgbG9naW4gcmVmdXNlZCBvbiB0aGlzIHRlcm1pbmFsLlxuIgorI34gbXNnc3RyICIlczogbG9naW4gcmVjdXNhZG8gbmVzdGUgdGVybWluYWwuXG4iCisKKyN+IG1zZ2lkICJMT0dJTiAlcyBSRUZVU0VEIEZST00gJXMgT04gVFRZICVzIgorI34gbXNnc3RyICIlczogTE9HSU4gUkVDVVNBRE8gQSBQQVJUSVIgREUgJXMgTk8gVFRZICVzIgorCisjfiBtc2dpZCAiTE9HSU4gJXMgUkVGVVNFRCBPTiBUVFkgJXMiCisjfiBtc2dzdHIgIiVzOiBMT0dJTiBSRUNVU0FETyBOTyBUVFkgJXMiCisKKyN+IG1zZ2lkICJMb2dpbiBpbmNvcnJlY3RcbiIKKyN+IG1zZ3N0ciAiTG9naW4gaW5jb3JyZXRvXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogZmFpbHVyZSBmb3JraW5nOiAlcyIKKyN+IG1zZ3N0ciAibG9naW46IGZhbGhhIGVtIGZvcms6ICVzIgorCisjfiBtc2dpZCAibG9naW46IG5vIHNoZWxsOiAlcy5cbiIKKyN+IG1zZ3N0ciAibG9naW46IG7Do28gZXhpc3RlIGludGVycHJldGFkb3IgZGUgY29tYW5kb3M6ICVzLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIiVzIGxvZ2luOiAiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlcyB1c3XDoXJpbzogIgorCisjfiBtc2dpZCAibG9naW4gbmFtZSBtdWNoIHRvbyBsb25nLlxuIgorI34gbXNnc3RyICJub21lIGRlIGxvZ2luIGxvbmdvIGRlbWFpcy5cbiIKKworI34gbXNnaWQgImxvZ2luIG5hbWVzIG1heSBub3Qgc3RhcnQgd2l0aCAnLScuXG4iCisjfiBtc2dzdHIgIm5vbWVzIGRlIGxvZ2luIG7Do28gcG9kZW0gaW5pY2lhciBjb20gJy0nLlxuIgorCisjfiBtc2dpZCAiRVhDRVNTSVZFIGxpbmVmZWVkcyIKKyN+IG1zZ3N0ciAiU2FsdG9zIGRlIGxpbmhhIEVYQ0VTU0lWT1MiCisKKyN+IG1zZ2lkICJMT0dJTiBGQUlMVVJFIEZST00gJXMsICVzIgorI34gbXNnc3RyICJGQUxIQSBERSBMT0dJTiBBIFBBUlRJUiBERSAlcywgJXMiCisKKyN+IG1zZ2lkICJMT0dJTiBGQUlMVVJFIE9OICVzLCAlcyIKKyN+IG1zZ3N0ciAiRkFMSEEgREUgTE9HSU4gRU0gJXMsICVzIgorCisjfiBtc2dpZCAiJWQgTE9HSU4gRkFJTFVSRVMgRlJPTSAlcywgJXMiCisjfiBtc2dzdHIgIiVkIEZBTEhBUyBERSBMT0dJTiBBIFBBUlRJUiBERSAlcywgJXMiCisKKyN+IG1zZ2lkICIlZCBMT0dJTiBGQUlMVVJFUyBPTiAlcywgJXMiCisjfiBtc2dzdHIgIiVkIEZBTEhBUyBERSBMT0dJTiBFTSAlcywgJXMiCisKKyN+IG1zZ2lkICJ1c2FnZTogbWVzZyBbeSB8IG5dXG4iCisjfiBtc2dzdHIgIlVzbzogbWVzZyBbeSB8IG5dXG4iCisKKyN+IG1zZ2lkICJuZXdncnA6IHNldGdpZCIKKyN+IG1zZ3N0ciAibmV3Z3JwOiBzZXRnaWQiCisKKyN+IG1zZ2lkICJuZXdncnA6IFBlcm1pc3Npb24gZGVuaWVkIgorI34gbXNnc3RyICJuZXdncnA6IHBlcm1pc3PDo28gbmVnYWRhIgorCisjfiBtc2dpZCAibmV3Z3JwOiBzZXR1aWQiCisjfiBtc2dzdHIgIm5ld2dycDogc2V0dWlkIgorCisjfiBtc2dpZCAiVXNhZ2U6IHNodXRkb3duIFstaHwtcl0gWy1mcXNdIFtub3d8aGg6c3N8K21pbnNdXG4iCisjfiBtc2dzdHIgIlVzbzogc2h1dGRvd24gWy1ofC1yXSBbLWZxc10gW25vd3xoaDpzc3wrbWluc11cbiIKKworI34gbXNnaWQgIlNodXRkb3duIHByb2Nlc3MgYWJvcnRlZCIKKyN+IG1zZ3N0ciAiUHJvY2Vzc28gZGUgZGVzbGlnYW1lbnRvIGFib3J0YWRvIgorCisjfiBtc2dpZCAiJXM6IE9ubHkgcm9vdCBjYW4gc2h1dCBhIHN5c3RlbSBkb3duLlxuIgorI34gbXNnc3RyICIlczogc29tZW50ZSBvIHJvb3QgcG9kZSBkZXNsaWdhciB1bSBzaXN0ZW1hLlxuIgorCisjfiBtc2dpZCAiVGhhdCBtdXN0IGJlIHRvbW9ycm93LCBjYW4ndCB5b3Ugd2FpdCB0aWxsIHRoZW4/XG4iCisjfiBtc2dzdHIgIklzdG8gcHJlY2lzYSBzZXIgYW1hbmjDoy4gVm9jw6ogcG9kZSBlc3BlcmFyP1xuIgorCisjfiBtc2dpZCAiZm9yIG1haW50ZW5hbmNlOyBib3VuY2UsIGJvdW5jZSIKKyN+IG1zZ3N0ciAicGFyYSBtYW51dGVuw6fDo287IGJvdW5jZSwgYm91bmNlIgorCisjfiBtc2dpZCAiVGhlIHN5c3RlbSBpcyBiZWluZyBzaHV0IGRvd24gd2l0aGluIDUgbWludXRlcyIKKyN+IG1zZ3N0ciAiTyBzaXN0ZW1hIHNlcsOhIGRlc2xpZ2FkbyBkZW50cm8gZGUgNSBtaW51dG9zIgorCisjfiBtc2dpZCAiTG9naW4gaXMgdGhlcmVmb3JlIHByb2hpYml0ZWQuIgorI34gbXNnc3RyICJBc3NpbSwgbG9naW5zIGVzdMOjbyBwcm9pYmlkb3MuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJlYm9vdGVkIGJ5ICVzOiAlcyIKKyN+IG1zZ3N0ciAiJXMgcG9yICVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJoYWx0ZWQgYnkgJXM6ICVzIgorI34gbXNnc3RyICIlcyBwb3IgJXM6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldoeSBhbSBJIHN0aWxsIGFsaXZlIGFmdGVyIHJlYm9vdD8iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQb3IgcXVlIGV1IGFpbmRhIGVzdG91IHZpdm8gYXDDs3MgYSByZWluaWNpYWxpemHDp8Ojbz8iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiTm93IHlvdSBjYW4gdHVybiBvZmYgdGhlIHBvd2VyLi4uIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQWdvcmEgdm9jw6ogcG9kZSBkZXNsaWdhciBhIGVuZXJnaWEuLi4iCisKKyN+IG1zZ2lkICJDYWxsaW5nIGtlcm5lbCBwb3dlci1vZmYgZmFjaWxpdHkuLi5cbiIKKyN+IG1zZ3N0ciAiQ2hhbWFuZG8gcmVjdXJzbyBkZSBkZXNsaWdhbWVudG8gZG8ga2VybmVsLi4uXG4iCisKKyN+IG1zZ2lkICJFcnJvciBwb3dlcmluZyBvZmZcdCVzXG4iCisjfiBtc2dzdHIgIkVycm8gYW8gZGVzbGlnYXJcdCVzXG4iCisKKyN+IG1zZ2lkICJFeGVjdXRpbmcgdGhlIHByb2dyYW0gXCIlc1wiIC4uLlxuIgorI34gbXNnc3RyICJFeGVjdXRhbmRvIG8gcHJvZ3JhbWEgXCIlc1wiIC4uLlxuIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gJWQgaG91cnMgJWQgbWludXRlcyIKKyN+IG1zZ3N0ciAiTyBzaXN0ZW1hIHNlcsOhIGRlc2xpZ2FkbyBlbSAlZCBob3JhcyBlICVkIG1pbnV0byhzKSIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluIDEgaG91ciAlZCBtaW51dGVzIgorI34gbXNnc3RyICJPIHNpc3RlbWEgc2Vyw6EgZGVzbGlnYWRvIGVtIDEgaG9yYSBlICVkIG1pbnV0byhzKSIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluICVkIG1pbnV0ZXNcbiIKKyN+IG1zZ3N0ciAiTyBzaXN0ZW1hIHNlcsOhIGRlc2xpZ2FkbyBlbSAlZCBtaW51dG9zXG4iCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAxIG1pbnV0ZVxuIgorI34gbXNnc3RyICJPIHNpc3RlbWEgc2Vyw6EgZGVzbGlnYWRvIGVtIDEgbWludXRvXG4iCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBJTU1FRElBVEVMWSFcbiIKKyN+IG1zZ3N0ciAiTyBzaXN0ZW1hIHNlcsOhIGRlc2xpZ2FkbyBJTUVESUFUQU1FTlRFIVxuIgorCisjfiBtc2dpZCAiXHQuLi4gJXMgLi4uXG4iCisjfiBtc2dzdHIgIlx0Li4uICVzIC4uLlxuIgorCisjfiBtc2dpZCAiQ2Fubm90IGZvcmsgZm9yIHN3YXBvZmYuIFNocnVnISIKKyN+IG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgZmF6ZXIgZm9yayBwYXJhIHN3YXBvZmYuIERyb2dhISIKKworI34gbXNnaWQgIkNhbm5vdCBleGVjIHN3YXBvZmYsIGhvcGluZyB1bW91bnQgd2lsbCBkbyB0aGUgdHJpY2suIgorI34gbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBleGVjIHN3YXBvZmYuIEVzcGVyYW5kbyBxdWUgdW1vdW50IHJlc29sdmEgbyBwcm9ibGVtYS4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZm9yayBmb3IgdW1vdW50LCB0cnlpbmcgbWFudWFsbHkuIgorI34gbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBmYXplciBmb3JrIHBhcmEgdW1vdW50OyB0ZW50YW5kbyBtYW51YWxtZW50ZS4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyAlcywgdHJ5aW5nIHVtb3VudC5cbiIKKyN+IG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgZXhlYyAlczsgdGVudGFuZG8gdW1vdW50LlxuIgorCisjfiBtc2dpZCAiQ2Fubm90IGV4ZWMgdW1vdW50LCBnaXZpbmcgdXAgb24gdW1vdW50LiIKKyN+IG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgZXhlYyB1bW91bnQ7IGRlc2lzdGluZG8gZGUgdW1vdW50LiIKKworI34gbXNnaWQgIlVubW91bnRpbmcgYW55IHJlbWFpbmluZyBmaWxlc3lzdGVtcy4uLiIKKyN+IG1zZ3N0ciAiRGVzbW9udGFuZG8gcXVhaXNxdWVyIHNpc3RlbWFzIGRlIGFycXVpdm9zIHJlbWFuZXNjZW50ZXMuLi4iCisKKyN+IG1zZ2lkICJzaHV0ZG93bjogQ291bGRuJ3QgdW1vdW50ICVzOiAlc1xuIgorI34gbXNnc3RyICJzaHV0ZG93bjogbsOjbyBmb2kgcG9zc8OtdmVsIGRlc21vbnRhciAlczogJXNcbiIKKworI34gbXNnaWQgIkJvb3RpbmcgdG8gc2luZ2xlIHVzZXIgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiSW5pY2lhbGl6YW5kbyBlbSBtb2RvIG1vbm91c3XDoXJpby5cbiIKKworI34gbXNnaWQgImV4ZWMgb2Ygc2luZ2xlIHVzZXIgc2hlbGwgZmFpbGVkXG4iCisjfiBtc2dzdHIgImV4ZWMgZGUgaW50ZXJwcmV0YWRvciBkZSBjb21hbmRvcyBtb25vdXN1w6FyaW8gZmFsaG91XG4iCisKKyN+IG1zZ2lkICJmb3JrIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICJmb3JrIGRlIGludGVycHJldGFkb3IgZGUgY29tYW5kb3MgbW9ub3VzdcOhcmlvIGZhbGhvdVxuIgorCisjfiBtc2dpZCAiZXJyb3Igb3BlbmluZyBmaWZvXG4iCisjfiBtc2dzdHIgImVycm8gYWJyaW5kbyBmaWZvXG4iCisKKyN+IG1zZ2lkICJlcnJvciBydW5uaW5nIGZpbmFscHJvZ1xuIgorI34gbXNnc3RyICJlcnJvIGV4ZWN1dGFuZG8gZm5hbHByb2dcbiIKKworI34gbXNnaWQgImVycm9yIGZvcmtpbmcgZmluYWxwcm9nXG4iCisjfiBtc2dzdHIgImVycm8gZmF6ZW5kbyBmb3JrIGZpbmFscHJvZ1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldyb25nIHBhc3N3b3JkLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiU2VuaGEgaW5jb3JyZXRhLlxuIgorCisjfiBtc2dpZCAiZm9yayBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAibyBmb3JrIGZhbGhvdVxuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gaW5pdHRhYlxuIgorI34gbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgaW5pdHRhYlxuIgorCisjfiBtc2dpZCAibm8gVEVSTSBvciBjYW5ub3Qgc3RhdCB0dHlcbiIKKyN+IG1zZ3N0ciAic2VtIFRFUk0gb3UgbsOjbyDDqSBwb3Nzw612ZWwgc3RhdCB0dHlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciBhdCBzdG9wcGluZyBzZXJ2aWNlIFwiJXNcIlxuIgorI34gbXNnc3RyICJlcnJvIGFvIGdyYXZhciAlczogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU3RvcHBlZCBzZXJ2aWNlOiAlc1xuIgorI34gbXNnc3RyICJlcnJvIGFvIGdyYXZhciAlczogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgYXQgc3RhcnRpbmcgc2VydmljZSBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAiZXJybyBhbyBncmF2YXIgJXM6ICVzIgorCisjfiBtc2dpZCAidG9vIG1hbnkgaW92J3MgKGNoYW5nZSBjb2RlIGluIHdhbGwvdHR5bXNnLmMpIgorI34gbXNnc3RyICJuw7ptZXJvIGV4Y2Vzc2l2byBkZSBpb3ZzIChhbHRlcmUgbyBjw7NkaWdvIGRlIHdhbGwvdHR5bXNnLmMpIgorCisjfiBtc2dpZCAiJXM6IEJBRCBFUlJPUiIKKyN+IG1zZ3N0ciAiJXM6IEVSUk8gR1JBVkUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHRoZSBncm91cCBmaWxlIGlzIGJ1c3kuXG4iCisjfiBtc2dzdHIgIiVzOiBvIGFycXVpdm8gJXMgZXN0w6Egb2N1cGFkby5cbiIKKworI34gbXNnaWQgIiVzOiB0aGUgJXMgZmlsZSBpcyBidXN5ICglcyBwcmVzZW50KVxuIgorI34gbXNnc3RyICIlczogbyBhcnF1aXZvICVzIGVzdMOhIG9jdXBhZG8gKCVzIHByZXNlbnRlKS5cbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCBsaW5rICVzOiAlc1xuIgorI34gbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIHZpbmN1bGFyICVzOiAlc1xuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHVubG9jayAlczogJXMgKHlvdXIgY2hhbmdlcyBhcmUgc3RpbGwgaW4gJXMpXG4iCisjfiBtc2dzdHIgIiVzOiBuw6NvIGZvaSBwb3Nzw612ZWwgZGVzYmxvcXVlYXIgJXM6ICVzIChhcyBhbHRlcmHDp8O1ZXMgYWluZGEgZXN0w6NvIGVtICVzKVxuIgorCisjfiBtc2dpZCAiJXM6IENhbm5vdCBmb3JrXG4iCisjfiBtc2dzdHIgIiVzOiBuw6NvIGZvaSBwb3Nzw612ZWwgcmVhbGl6YXIgZm9ya1xuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFtmaWxlXVxuIgorI34gbXNnc3RyICJVc286ICVzIFthcnF1aXZvXVxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHJlYWQgJXMuXG4iCisjfiBtc2dzdHIgIiVzOiBuw6NvIGZvaSBwb3Nzw612ZWwgbGVyICVzLlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHN0YXQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVzOiBuw6NvIGZvaSBwb3Nzw612ZWwgc3RhdCBhcnF1aXZvIHRlbXBvcsOhcmlvLlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHJlYWQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVzOiBuw6NvIGZvaSBwb3Nzw612ZWwgbGVyIGFycXVpdm8gdGVtcG9yw6FyaW8uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IGNhbCBbLTEzc21qeVZdIFtbW2RheV0gbW9udGhdIHllYXJdXG4iCisjfiBtc2dzdHIgIlVzbzogY2FsIFstbWp5Vl0gW1ttw6pzXSBhbm9dXG4iCisKKyN+IG1zZ2lkICJTdC4gVGliJ3MgRGF5IgorI34gbXNnc3RyICJEaWEgZGUgU8OjbyBUaWIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yOiAlcyIKKyN+IG1zZ3N0ciAiJXM6IGVycm8gZGUgcHJvY3VyYSBlbSAlc1xuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLXMgc2lnbmFsIHwgLXAgXSBbIC1hIF0gcGlkIC4uLlxuIgorI34gbXNnc3RyICJVc286ICVzIFsgLXMgc2luYWwgfCAtcCBdIFsgLWEgXSBwaWQgLi4uXG4iCisKKyN+IG1zZ2lkICIgICAgICAgJXMgLWwgWyBzaWduYWwgXVxuIgorI34gbXNnc3RyICIgICAgICAgJXMgLWwgWyBzaW5hbCBdXG4iCisKKyN+IG1zZ2lkICJsb2dnZXI6ICVzOiAlcy5cbiIKKyN+IG1zZ3N0ciAibG9nZ2VyOiAlczogJXMuXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogbG9nZ2VyIFstaXNdIFstZiBmaWxlXSBbLXAgcHJpXSBbLXQgdGFnXSBbLXUgc29ja2V0XSBbIG1lc3NhZ2UgLi4uIF1cbiIKKyN+IG1zZ3N0ciAiVXNvOiBsb2dnZXIgWy1pc10gWy1mIGFycXVpdm9dIFstcCBwcmlvcmlkYWRlXSBbLXQgZXRpcXVldGFdIFstdSBzb3F1ZXRlXSBbIG1lbnNhZ2VtIC4uLiBdXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogbG9vayBbLWRmYV0gWy10IGNoYXJdIHN0cmluZyBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAiVXNvOiBsb29rIFstZGZhXSBbLXQgY2hhcl0gc3RyaW5nIFthcnF1aXZvXVxuIgorCisjfiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeT8iCisjfiBtc2dzdHIgIm1lbcOzcmlhIGluc3VmaWNpZW50ZT9cbiIKKworI34gbXNnaWQgIiVzOiBvdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgIiVzOiBtZW3Ds3JpYSBpbnN1ZmljaWVudGUhXG4iCisKKyN+IG1zZ2lkICJjYWxsOiAlcyBmcm9tIHRvIGZpbGVzLi4uXG4iCisjfiBtc2dzdHIgImNoYW1hZGE6ICVzIGRlIHBhcmEgYXJxdWl2b3MuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogc2NyaXB0IFstYV0gWy1lXSBbLWZdIFstcV0gWy10XSBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAiVXNvOiBzY3JpcHQgWy1hXSBbLWZdIFstcV0gW2FycXVpdm9dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHdyaXRlIGVycm9yICVkOiAlc1xuIgorI34gbXNnc3RyICJlcnJvIGRlIGdyYXZhw6fDo28gZW0gJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogd3JpdGUgZXJyb3I6ICVzXG4iCisjfiBtc2dzdHIgImVycm8gZGUgZ3JhdmHDp8OjbyBlbSAlc1xuIgorCisjfiBtc2dpZCAiICBbIC1zbm93IFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1zbm93IFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtc29mdHNjcm9sbCBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtc29mdHNjcm9sbCBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWRlZmF1bHQgXVxuIgorI34gbXNnc3RyICIgIFsgLWRlZmF1bHQgXVxuIgorCisjfiBtc2dpZCAiICBbIC1mb3JlZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1mb3JlZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdCBdXG4iCisjfiBtc2dzdHIgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdCBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWJhY2tncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWJhY2tncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAiICBbIC11bGNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLXVsY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlIF1cbiIKKyN+IG1zZ3N0ciAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXVsY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC11bGNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLWhiY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtaGJjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtaGJjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWhiY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtc3RhbmRvdXQgWyBhdHRyIF0gXVxuIgorI34gbXNnc3RyICIgIFsgLXN0YW5kb3V0IFsgYXR0ciBdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1kXSBbLXAgcGlkZmlsZV0gWy1zIHNvY2tldHBhdGhdIFstVCB0aW1lb3V0XVxuIgorI34gbXNnc3RyICJVc286IGxhc3QgWy0jXSBbLWYgYXJxdWl2b10gWy10IHR0eV0gWy1oIG5vbWVfaG9zdF0gW3VzdcOhcmlvIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgJXMgLWtcbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIC1sIFsgc2luYWwgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLXJdIFstdF1cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbIC1zIGludGVycHJldGFkb3JfZGVfY29tYW5kb3MgXSAiCisKKyN+IG1zZ2lkICJ3aGVyZWlzIFsgLXNibXUgXSBbIC1TQk0gZGlyIC4uLiAtZiBdIG5hbWUuLi5cbiIKKyN+IG1zZ3N0ciAid2hlcmVpcyBbIC1zYm11IF0gWyAtU0JNIGRpciAuLi4gLWYgXSBub21lLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV0FSTklORzogJXM6IGFwcGVhcnMgdG8gY29udGFpbiAnJXMnIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiTyBkaXNjbyAlcyBuw6NvIGNvbnTDqW0gdW1hIHRhYmVsYSBkZSBwYXJ0acOnw6NvIHbDoWxpZGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIG9mZnNldCB2YWx1ZSAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiVmFsb3IgZGVmaW5pZG8gaW52w6FsaWRvOiAlc1xuIgorCisjfiBtc2dpZCAidXNhZ2U6IHdyaXRlIHVzZXIgW3R0eV1cbiIKKyN+IG1zZ3N0ciAiVXNvOiB3cml0ZSB1c3XDoXJpbyBbdHR5XVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxvb3A6IGNhbid0IHNldCBjYXBhY2l0eSBvbiBkZXZpY2UgJXM6ICVzXG4iCisjfiBtc2dzdHIgImxvb3A6IG7Do28gZm9pIHBvc3PDrXZlbCBvYnRlciBpbmZvcm1hw6fDtWVzIHNvYnJlIG8gZGlzcG9zaXRpdm8gJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLCBlbmNyeXB0aW9uIHR5cGUgJWRcbiIKKyN+IG1zZ3N0ciAiVGlwbyBkZSBjcmlwdG9ncmFmaWEgbsOjbyBzdXBvcnRhZG86ICVzXG4iCisKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBnZXQgaW5mbyBvbiBkZXZpY2UgJXM6ICVzXG4iCisjfiBtc2dzdHIgImxvb3A6IG7Do28gZm9pIHBvc3PDrXZlbCBvYnRlciBpbmZvcm1hw6fDtWVzIHNvYnJlIG8gZGlzcG9zaXRpdm8gJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBvcGVuIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDogbsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyIG8gZGlzcG9zaXRpdm8gJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IC9kZXYgZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0LiIKKyN+IG1zZ3N0ciAiJXM6IHVzdcOhcmlvIFwiJXNcIiBuw6NvIGV4aXN0ZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiJXM6IENvdWxkIG5vdCBmaW5kIGFueSBsb29wIGRldmljZS4gTWF5YmUgdGhpcyBrZXJuZWwgZG9lcyBub3Qga25vd1xuIgorI34gIiAgICAgICBhYm91dCB0aGUgbG9vcCBkZXZpY2U/IChJZiBzbywgcmVjb21waWxlIG9yIGBtb2Rwcm9iZSBsb29wJy4pIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IE7Do28gZm9pIHBvc3PDrXZlbCBsb2NhbGl6YXIgbmVuaHVtIGRpc3Bvc2l0aXZvIGRlIGxhw6dvIGUsIGRlIGFjb3JkbyBjb20gJXMsXG4iCisjfiAiICAgICAgIGVzdGUga2VybmVsIG7Do28gY29uaGVjZSBvIGRpc3Bvc2l0aXZvIGRlIGxhw6dvXG4iCisjfiAiICAgICAgIChzZSBmb3IgZXN0ZSBvIGNhc28sIHJlY29tcGlsZSBvdSB1c2UgYGluc21vZCBsb29wLm8nKS4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSB3aGlsZSByZWFkaW5nIHBhc3NwaHJhc2UiCisjfiBtc2dzdHIgIkZhbHRhIG1lbcOzcmlhIHF1YW5kbyBvIGJ1ZmZlciBjcmVzY2UuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2FybmluZzogJXMgaXMgYWxyZWFkeSBhc3NvY2lhdGVkIHdpdGggJXNcbiIKKyN+IG1zZ3N0ciAiTyBzZXRvciAlZCBqw6EgZXN0w6EgYWxvY2Fkb1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhcm5pbmc6ICVzOiBpcyB3cml0ZS1wcm90ZWN0ZWQsIHVzaW5nIHJlYWQtb25seS5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzJXMgw6kgcHJvdGVnaWRvIGNvbnRyYSBncmF2YcOnw6NvOyBtb250YW5kbyBzb21lbnRlIHBhcmEgbGVpdHVyYSIKKworI34gbXNnaWQgIkNvdWxkbid0IGxvY2sgaW50byBtZW1vcnksIGV4aXRpbmcuXG4iCisjfiBtc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGJsb3F1ZWFyIChsb2NrKSBuYSBtZW3Ds3JpYSwgc2FpbmRvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2V0X2xvb3AoJXMsJXMsJWxsdSwlbGx1KTogc3VjY2Vzc1xuIgorI34gbXNnc3RyICJzZXRfbG9vcCglcywlcywlZCk6IHN1Y2Vzc29cbiIKKworI34gbXNnaWQgImRlbF9sb29wKCVzKTogc3VjY2Vzc1xuIgorI34gbXNnc3RyICJkZWxfbG9vcCglcyk6IHN1Y2Vzc29cbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IGRlbGV0ZSBkZXZpY2UgJXM6ICVzXG4iCisjfiBtc2dzdHIgImxvb3A6IG7Do28gZm9pIHBvc3PDrXZlbCBleGNsdWlyIG8gZGlzcG9zaXRpdm8gJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJUaGlzIG1vdW50IHdhcyBjb21waWxlZCB3aXRob3V0IGxvb3Agc3VwcG9ydC4gUGxlYXNlIHJlY29tcGlsZS5cbiIKKyN+IG1zZ3N0ciAiRXN0ZSBtb3VudCBmb2kgY29tcGlsYWRvIHNlbSBzdXBvcnRlIGEgbGHDp29zLiBSZWNvbXBpbGUtby5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICUxJHMgbG9vcF9kZXZpY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdpdmUgaW5mb1xuIgorI34gIiAlMSRzIC1hIHwgLS1hbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkXG4iCisjfiAiICUxJHMgLWQgfCAtLWRldGFjaCA8bG9vcGRldj4gWzxsb29wZGV2PiAuLi5dIGRlbGV0ZVxuIgorI34gIiAlMSRzIC1mIHwgLS1maW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaW5kIHVudXNlZFxuIgorI34gIiAlMSRzIC1jIHwgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICAgICAgICAgICByZXNpemVcbiIKKyN+ICIgJTEkcyAtaiB8IC0tYXNzb2NpYXRlZCA8ZmlsZT4gWy1vIDxudW0+XSAgICAgbGlzdCBhbGwgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorI34gIiAlMSRzIFsgb3B0aW9ucyBdIHstZnwtLWZpbmR8bG9vcGRldn0gPGZpbGU+ICBzZXR1cFxuIgorI34gbXNnc3RyICIiCisjfiAidXNhZ2U6XG4iCisjfiAiICAlcyBkaXNwb3NpdGl2b19sYcOnbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGTDoSBpbmZvcm1hw6fDtWVzXG4iCisjfiAiICAlcyAtZCBkaXNwb3NpdGl2b19sYcOnbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGV4Y2x1aVxuIgorI34gIiAgJXMgWyAtZSBjcmlwdG9ncmFmaWEgXSBbIC1vIGRlc2xvY2FtZW50byBdIGRpc3Bvc2l0aXZvX2xhw6dvIGFycXVpdm8gIyBjb25maWd1cmHDp8Ojb1xuIgorCisjfiBtc2dpZCAiTm8gbG9vcCBzdXBwb3J0IHdhcyBhdmFpbGFibGUgYXQgY29tcGlsZSB0aW1lLiBQbGVhc2UgcmVjb21waWxlLlxuIgorI34gbXNnc3RyICJOw6NvIGhhdmlhIHN1cG9ydGUgYSBsYcOnbyBkaXNwb27DrXZlbCBxdWFuZG8gZGEgY29tcGlsYcOnw6NvLiBSZWNvbXBpbGUuXG4iCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3Qgb3BlbiAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBuw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgJXM6ICVzIgorCisjfiBtc2dpZCAiYnVnIGluIHhzdHJuZHVwIGNhbGwiCisjfiBtc2dzdHIgImVycm8gbmEgY2hhbWFkYSBhIHhzdHJuZHVwIgorCisjLCBmdXp6eQorI34gbXNnaWQgImV4ZWN2IGZhaWxlZCIKKyN+IG1zZ3N0ciAiZXhlYyBmYWxob3VcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmtub3duXG4iCisjfiBtc2dzdHIgImRlc2NvbmhlY2lkYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgYW5kICVkLiIKKyN+IG1zZ3N0ciAiIGUgIgorCisjfiBtc2dpZCAiVXNhZ2U6IGN0cmxhbHRkZWwgaGFyZHxzb2Z0XG4iCisjfiBtc2dzdHIgIlVzbzogY3RybGFsdGRlbCBoYXJkfHNvZnRcbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLXEgWy1pIGludGVydmFsXV0gKFstcyB2YWx1ZV18Wy1TIHZhbHVlXSkgKFstdCB2YWx1ZV18Wy1UIHZhbHVlXSkgWy1nfC1HXSBmaWxlIFtmaWxlLi4uXVxuIgorI34gbXNnc3RyICJVc286ICVzIFstcSBbLWkgaW50ZXJ2YWxvXV0gKFstcyB2YWxvcl18Wy1TIHZhbG9yXSkgKFstdCB2YWxvcl18Wy1UIHZhbG9yXSkgWy1nfC1HXSBhcnF1aXZvIFthcnF1aXZvLi4uXVxuIgorCisjfiBtc2dpZCAiQ2FuJ3Qgb3BlbiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLWNdIFstbiBsZXZlbF0gWy1yXSBbLXMgYnVmc2l6ZV1cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbLWNdIFstbiBuw612ZWxdIFstcyB0YW1hbmhvX2J1ZmZlcl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogYmFkIG51bWJlcjogJXNcbiIKKyN+IG1zZ3N0ciAiTsO6bWVybyBpbnbDoWxpZG86ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZvcmsgZmFpbGVkOiAlc1xuIgorI34gbXNnc3RyICJvIGZvcmsgZmFsaG91XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiZXN0YWRvIGRhIHJvdGEgZmFsaG91XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZGVwcmVjYXRlZCB1c2FnZTogJXMge3NobSB8IG1zZyB8IHNlbX0gaWQgLi4uXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW3NobSB8IG1zZyB8IHNlbV0gaWQuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogJXMgKCVzKVxuIgorI34gbXNnc3RyICIlcyBlbSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1heCBzZWcgc2l6ZSAoa2J5dGVzKSA9ICVsdVxuIgorI34gbXNnc3RyICJ0YW1hbmhvIG3DoXhpbW8gZG8gc2VnbWVudG8gKEtiKTogJWxkXG4iCisKKyN+IG1zZ2lkICJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyN+IG1zZ3N0ciAic2VnbWVudG9zIGFsb2NhZG9zOiAlZFxuIgorCisjfiBtc2dpZCAicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorI34gbXNnc3RyICJww6FnaW5hcyBhbG9jYWRhcyAlbGRcbiIKKworI34gbXNnaWQgInBhZ2VzIHJlc2lkZW50ICAlbGRcbiIKKyN+IG1zZ3N0ciAicMOhZ2luYXMgcmVzaWRlbnRlczogJWxkXG4iCisKKyN+IG1zZ2lkICJwYWdlcyBzd2FwcGVkICAgJWxkXG4iCisjfiBtc2dzdHIgInDDoWdpbmFzIHBlcm11dGFkYXM6ICVsZFxuIgorCisjfiBtc2dpZCAiU3dhcCBwZXJmb3JtYW5jZTogJWxkIGF0dGVtcHRzXHQgJWxkIHN1Y2Nlc3Nlc1xuIgorI34gbXNnc3RyICJEZXNlbXBlbmhvIGRlIHBlcm11dGE6ICVsZCB0ZW50YXRpdmFzXHQgJWxkIHN1Y2Vzc29zXG4iCisKKyN+IG1zZ2lkICJjYnl0ZXM9JWxkXHRxYnl0ZXM9JWxkXHRxbnVtPSVsZFx0bHNwaWQ9JWRcdGxycGlkPSVkXG4iCisjfiBtc2dzdHIgImNieXRlcz0lbGRcdHFieXRlcz0lbGRcdHFudW09JWxkXHRsc3BpZD0lZFx0bHJwaWQ9JWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsZGF0dGFjaCBmcm9tICVzXG4iCisjfiBtc2dzdHIgIiVzIGRlICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6IGNhbm5vdCBvcGVuICVzIgorI34gbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm91dCBvZiBtZW1vcnkiCisjfiBtc2dzdHIgIm1lbcOzcmlhIGluc3VmaWNpZW50ZT9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiJXM6IFVzYWdlOiBcIiVzIFtvcHRpb25zXVxuIgorI34gIlx0IC1tIDxtYXBmaWxlPiAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCisjfiAiXHRcdFx0XHQgIFwiJXNcIilcbiIKKyN+ICJcdCAtcCA8cHJvLWZpbGU+IChkZWZhdWx0OiBcIiVzXCIpXG4iCisjfiAiXHQgLU0gPG11bHQ+ICAgICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorI34gIlx0IC1pICAgICAgICAgICAgcHJpbnQgb25seSBpbmZvIGFib3V0IHRoZSBzYW1wbGluZyBzdGVwXG4iCisjfiAiXHQgLXYgICAgICAgICAgICBwcmludCB2ZXJib3NlIGRhdGFcbiIKKyN+ICJcdCAtYSAgICAgICAgICAgIHByaW50IGFsbCBzeW1ib2xzLCBldmVuIGlmIGNvdW50IGlzIDBcbiIKKyN+ICJcdCAtYiAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgaGlzdG9ncmFtLWJpbiBjb3VudHNcbiIKKyN+ICJcdCAtcyAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgY291bnRlcnMgd2l0aGluIGZ1bmN0aW9uc1xuIgorI34gIlx0IC1yICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorI34gIlx0IC1uICAgICAgICAgICAgZGlzYWJsZSBieXRlIG9yZGVyIGF1dG8tZGV0ZWN0aW9uXG4iCisjfiAiXHQgLVYgICAgICAgICAgICBwcmludCB2ZXJzaW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogVXNvOiBcIiVzIFtvcMOnw7Vlc11cbiIKKyN+ICJcdCAtbSA8YXJxX21hcGE+ICAocGFkcsOjbyA9IFwiJXNcIilcbiIKKyN+ICJcdCAtcCA8YXJxX3Bybz4gKHBhZHLDo28gPSBcIiVzXCIpXG4iCisjfiAiXHQgLU0gPG11bHQ+ICAgICBjb25maWd1cmEgbyBwZXJmaWwgZGUgbXVsdGlwbGljYcOnw6NvIHBhcmEgPG11bHQ+XG4iCisjfiAiXHQgLWkgICAgICAgICAgICBtb3N0cmEgc29tZW50ZSBpbmZvcm1hw6fDtWVzIHNvYnJlIG8gcGFzc28gZGUgYW1vc3RyYWdlbS5cbiIKKyN+ICJcdCAtdiAgICAgICAgICAgIG1vc3RyYSBkYWRvcyBkZXRhbGhhZG9zLlxuIgorI34gIlx0IC1hICAgICAgICAgICAgbW9zdHJhIHRvZG9zIG9zIHPDrW1ib2xvcywgbWVzbW8gc2UgYSBjb250YWdlbSBmb3IgMC5cbiIKKyN+ICJcdCAtciAgICAgICAgICAgIHJlaW5pY2lhbGl6YSB0b2RvcyBvcyBjb250YWRvcmVzIChzb21lbnRlIHJvb3QpXG4iCisjfiAiXHQgLVYgICAgICAgICAgICBtb3N0cmEgYSB2ZXJzw6NvIGUgc2FpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVhZHByb2ZpbGU6IGVycm9yIHdyaXRpbmcgJXM6ICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBlcnJvIGFvIGdyYXZhciAlczogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVuaWNlIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAiJXMgZGUgJXNcbiIKKworI34gbXNnaWQgInJlbmljZTogJXM6IHVua25vd24gdXNlclxuIgorI34gbXNnc3RyICJyZW5pY2U6ICVzOiB1c3XDoXJpbyBkZXNjb25oZWNpZG9cbiIKKworI34gbXNnaWQgInJlbmljZTogJXM6IGJhZCB2YWx1ZVxuIgorI34gbXNnc3RyICJyZW5pY2U6ICVzOiB2YWxvciBpbnbDoWxpZG9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogaWxsZWdhbCBpbnRlcnZhbCAlcyBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIlRlY2xhIGlsZWdhbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogaWxsZWdhbCB0aW1lX3QgdmFsdWUgJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IG7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJ0YyByZWFkIgorI34gbXNnc3RyICIsIHByb250byIKKworI34gbXNnaWQgInVzYWdlOiAlcyBwcm9ncmFtIFthcmcgLi4uXVxuIgorI34gbXNnc3RyICJVc286ICVzIHByb2dyYW1hIFthcmcgLi4uXVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyA8ZGV2aWNlPiBbIC1pIDxJUlE+IHwgLXQgPFRJTUU+IHwgLWMgPENIQVJTPiB8IC13IDxXQUlUPiB8IFxuIgorI34gIiAgICAgICAgICAtYSBbb258b2ZmXSB8IC1vIFtvbnxvZmZdIHwgLUMgW29ufG9mZl0gfCAtcSBbb258b2ZmXSB8IC1zIHwgXG4iCisjfiAiICAgICAgICAgIC1UIFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVzbzogJXMgPGRpc3Bvc2l0aXZvPiBbIC1pIDxJUlE+IHwgLXQgPEhPUkE+IHwgLWMgPENIQVJTPiB8IC13IDxFU1BFUkE+IHwgXG4iCisjfiAiICAgICAgICAgIC1hIFtvbnxvZmZdIHwgLW8gW29ufG9mZl0gfCAtQyBbb258b2ZmXSB8IC1xIFtvbnxvZmZdIHwgLXMgfCBcbiIKKyN+ICIgICAgICAgICAgLVQgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAibWFsbG9jIGVycm9yIgorI34gbXNnc3RyICJlcnJvIGRlIG1hbGxvYyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleGVjICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZXhlYyBmYWxob3VcbiIKKworI34gbXNnaWQgImNvbDogYmFkIC1sIGFyZ3VtZW50ICVzLlxuIgorI34gbXNnc3RyICJjb2w6IGFyZ3VtZW50byBpbnbDoWxpZG8gcGFyYSAtbCAlcy5cbiIKKworI34gbXNnaWQgInVzYWdlOiBjb2wgWy1iZnB4XSBbLWwgbmxpbmVdXG4iCisjfiBtc2dzdHIgIlVzbzogY29sIFstYmZweF0gWy1sIG5saW5oYV1cbiIKKworI34gbXNnaWQgImNvbDogd3JpdGUgZXJyb3IuXG4iCisjfiBtc2dzdHIgImNvbDogZXJybyBkZSBncmF2YcOnw6NvLlxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLSBdIFsgLTIgXSBbIGZpbGUgLi4uIF1cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbIC0gXSBbIC0yIF0gWyBhcnF1aXZvIC4uLiBdXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogY29sdW1uIFstdHhdIFstYyBjb2x1bW5zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIlVzbzogY29sdW1uIFstdHhdIFstYyBjb2x1bmFzXSBbYXJxdWl2byAuLi5dXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBiYWQgbGVuZ3RoIHZhbHVlLlxuIgorI34gbXNnc3RyICJoZXhkdW1wOiB2YWxvciBkZSBjb21wcmltZW50byBpbmNvcnJldG8uXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBiYWQgc2tpcCB2YWx1ZS5cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogdmFsb3IgcGFyYSBwdWxhciBpbmNvcnJldG8uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaGV4ZHVtcDogWy1iY0Nkb3Z4XSBbLWUgZm10XSBbLWYgZm10X2ZpbGVdIFstbiBsZW5ndGhdIFstcyBza2lwXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgImhleGR1bXA6IFstYmNkb3Z4XSBbLWUgZm10XSBbLWYgYXJxX2ZtdF0gWy1uIGNvbXByXSBbLXMgcHVsYXJdIFthcnF1aXZvIC4uLl1cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbLWRmbHBjc3VdIFsrbGluZW51bSB8ICsvcGF0dGVybl0gbmFtZTEgbmFtZTIgLi4uXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgWy1kZmxwY3N1XSBbK27Dum1lcm9fZGFfbGluaGEgfCArL3BhZHLDo29dIG5vbWUxIG5vbWUyIC4uLlxuIgorCisjfiBtc2dpZCAib2Q6IG9kKDEpIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIGhleGR1bXAoMSkuXG4iCisjfiBtc2dzdHIgIm9kOiBvZCgxKSBmb2kgZGVwcmVjaWFkbyBwYXJhIGhleGR1bXAoMSkuXG4iCisKKyN+IG1zZ2lkICJvZDogaGV4ZHVtcCgxKSBjb21wYXRpYmlsaXR5IGRvZXNuJ3Qgc3VwcG9ydCB0aGUgLSVjIG9wdGlvbiVzXG4iCisjfiBtc2dzdHIgIm9kOiBhIGNvbXBhdGliaWxpZGFkZSBjb20gaGV4ZHVtcCgxKSBuw6NvIHN1cG9ydGEgYSBvcMOnw6NvIC0lYyVzXG4iCisKKyN+IG1zZ2lkICI7IHNlZSBzdHJpbmdzKDEpLiIKKyN+IG1zZ3N0ciAiOyBjb25zdWx0ZSBzdHJpbmdzKDEpLiIKKworI34gbXNnaWQgImhleGR1bXA6IGNhbid0IHJlYWQgJXMuXG4iCisjfiBtc2dzdHIgImhleGR1bXA6IG7Do28gZm9pIHBvc3PDrXZlbCBsZXIgJXMuXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBsaW5lIHRvbyBsb25nLlxuIgorI34gbXNnc3RyICJoZXhkdW1wOiBsaW5oYSBsb25nYSBkZW1haXMuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICJNZW3Ds3JpYSBpbnN1ZmljaWVudGUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gIgorI34gbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyc3BhY2UiCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhbG9jYXIgZXNwYcOnbyBlbSBidWZmZXJcbiIKKworI34gbXNnaWQgInVzYWdlOiByZXYgW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJVc286IHJldiBbYXJxdWl2byAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHRhaWxmIFstbiBOIHwgLU5dIGxvZ2ZpbGUiCisjfiBtc2dzdHIgIlVzbzogJXMgW2FycXVpdm9dXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtaSBdIFsgLXRUZXJtIF0gZmlsZS4uLlxuIgorI34gbXNnc3RyICJVc286ICVzIFsgLWkgXSBbIC10VGVybSBdIGFycXVpdm8uLi5cbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIuXG4iCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhbG9jYXIgYnVmZmVyLlxuIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSB3aGVuIGdyb3dpbmcgYnVmZmVyLlxuIgorI34gbXNnc3RyICJGYWx0YSBtZW3Ds3JpYSBxdWFuZG8gbyBidWZmZXIgY3Jlc2NlLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImAlcyc6IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdFxuIgorI34gbXNnc3RyICI6IGRpcmV0w7NyaW8gaW52w6FsaWRvOiAnLicgbsOjbyDDqSBvIHByaW1laXJvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYCVzJzogYmFkIGRpcmVjdG9yeTogJy4uJyBpc24ndCBzZWNvbmRcbiIKKyN+IG1zZ3N0ciAiOiBkaXJldMOzcmlvIGludsOhbGlkbzogJy4uJyBuw6NvIMOpIG8gc2VndW5kb1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBlcnJvcjogbGFiZWwgb25seSB3aXRoIHYxIHN3YXAgYXJlYVxuIgorI34gbXNnc3RyICIlcyAtIGVycm86IG5lbmh1bSBsdWdhciBwYXJhIGF0aXZhciBwZXJtdXRhIChzd2FwKT9cbiIKKworI34gbXNnaWQgImZhdGFsOiBmaXJzdCBwYWdlIHVucmVhZGFibGUiCisjfiBtc2dzdHIgImZhdGFsOiBwcmltZWlyYSBww6FnaW5hIGlsZWfDrXZlbCIKKworI34gbXNnaWQgIiIKKyN+ICIlczogRGV2aWNlICclcycgY29udGFpbnMgYSB2YWxpZCBTdW4gZGlza2xhYmVsLlxuIgorI34gIlRoaXMgcHJvYmFibHkgbWVhbnMgY3JlYXRpbmcgdjAgc3dhcCB3b3VsZCBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiTm8gc3dhcCBjcmVhdGVkLiBJZiB5b3UgcmVhbGx5IHdhbnQgdG8gY3JlYXRlIHN3YXAgdjAgb24gdGhhdCBkZXZpY2UsIHVzZVxuIgorI34gInRoZSAtZiBvcHRpb24gdG8gZm9yY2UgaXQuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogbyBkaXNwb3NpdGl2byAnJXMnIGNvbnTDqW0gdW0gcsOzdHVsbyBkZSBkaXNjbyBTdW4gdsOhbGlkby5cbiIKKyN+ICIgSXN0byBwcm92YXZlbG1lbnRlIHNpZ25pZmljYSBxdWUgY3JpYXIgYSBwZXJtdXRhIChzd2FwKSB2MCBkZXN0cnVpcsOhIHN1YSB0YWJlbGEgZGUgcGFydGnDp8Ojby5cbiIKKyN+ICIgTmVuaHVtYSBwZXJtdXRhIGNyaWFkYS4gU2Ugdm9jw6ogcmVhbG1lbnRlIGRlc2VqYSBjcmlhciB1bWEgcGVybXV0YSB2MCBuZXNzZSBkaXNwb3NpdGl2bywgdXNlXG4iCisjfiAiYSBvcMOnw6NvIC1mIHBhcmEgZm9yw6dhciBhIGNyaWHDp8Ojby5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJMaW51eCBleHQzIgorI34gbXNnc3RyICJMaW51eCBleHQyIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkxpbnV4IFhGUyIKKyN+IG1zZ3N0ciAiTGludXgiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTGludXggSkZTIgorI34gbXNnc3RyICJMaW51eCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJMaW51eCBSZWlzZXJGUyIKKyN+IG1zZ3N0ciAiTGludXggbmF0aXZhIgorCisjfiBtc2dpZCAiT1MvMiBJRlMiCisjfiBtc2dzdHIgIklGUyBkbyBPUy8yIgorCisjfiBtc2dpZCAiTlRGUyIKKyN+IG1zZ3N0ciAiTlRGUyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IGZkaXNrIFstYiBTU1pdIFstdV0gRElTSyAgICAgQ2hhbmdlIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gIiAgICAgICBmZGlzayAtbCBbLWIgU1NaXSBbLXVdIERJU0sgIExpc3QgcGFydGl0aW9uIHRhYmxlKHMpXG4iCisjfiAiICAgICAgIGZkaXNrIC1zIFBBUlRJVElPTiAgICAgICAgICAgR2l2ZSBwYXJ0aXRpb24gc2l6ZShzKSBpbiBibG9ja3NcbiIKKyN+ICIgICAgICAgZmRpc2sgLXYgICAgICAgICAgICAgICAgICAgICBHaXZlIGZkaXNrIHZlcnNpb25cbiIKKyN+ICJIZXJlIERJU0sgaXMgc29tZXRoaW5nIGxpa2UgL2Rldi9oZGIgb3IgL2Rldi9zZGFcbiIKKyN+ICJhbmQgUEFSVElUSU9OIGlzIHNvbWV0aGluZyBsaWtlIC9kZXYvaGRhN1xuIgorI34gIi11OiBnaXZlIFN0YXJ0IGFuZCBFbmQgaW4gc2VjdG9yIChpbnN0ZWFkIG9mIGN5bGluZGVyKSB1bml0c1xuIgorI34gIi1iIDIwNDg6IChmb3IgY2VydGFpbiBNTyBkaXNrcykgdXNlIDIwNDgtYnl0ZSBzZWN0b3JzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVc286IGZkaXNrIFstYiBTU1pdIFstdV0gRElTQ08gICAgIEFsdGVyYSBhIHRhYmVsYSBkZSBwYXJ0acOnw6NvLlxuIgorI34gIiAgICAgICBmZGlzayAtbCBbLWIgU1NaXSBbLXVdIERJU0NPICBMaXN0YSBhKHMpIHRhYmVsYShzKSBkZSBwYXJ0acOnw7Vlcy5cbiIKKyN+ICIgICAgICAgZmRpc2sgLXMgUEFSVEnDh8ODTyAgICAgICAgICAgRMOhIG8gdGFtYW5obyBkYShzKSBwYXJ0acOnw6NvKMO1ZXMpLCBlbSBibG9jb3MuXG4iCisjfiAiICAgICAgIGZkaXNrIC12ICAgICAgICAgICAgICAgICAgICAgRMOhIGEgdmVyc8OjbyBkbyBmZGlzay5cbiIKKyN+ICJBcXVpLCBESVNDTyDDqSBhbGdvIGNvbW8gL2Rldi9oZGIgb3UgL2Rldi9zZGFcbiIKKyN+ICJlIFBBUlRJw4fDg08gw6kgYWxnbyBjb21vIC9kZXYvaGRhNy5cbiIKKyN+ICItdTogZMOhIEluw61jaW8gZSBGaW0gZW0gdW5pZGFkZXMgZGUgc2V0b3IgKGVtIHZleiBkZSBjaWxpbmRybykuXG4iCisjfiAiLWIgMjA0ODogKHBhcmEgY2VydGFzIHVuaWRhZGVzIE1PKSB1c2FyIHNldG9yZXMgZGUgIDIwNDggYnl0ZXMuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IGZkaXNrIFstbF0gWy1iIFNTWl0gWy11XSBkZXZpY2VcbiIKKyN+ICJFLmcuOiBmZGlzayAvZGV2L2hkYSAgKGZvciB0aGUgZmlyc3QgSURFIGRpc2spXG4iCisjfiAiICBvcjogZmRpc2sgL2Rldi9zZGMgIChmb3IgdGhlIHRoaXJkIFNDU0kgZGlzaylcbiIKKyN+ICIgIG9yOiBmZGlzayAvZGV2L2VkYSAgKGZvciB0aGUgZmlyc3QgUFMvMiBFU0RJIGRyaXZlKVxuIgorI34gIiAgb3I6IGZkaXNrIC9kZXYvcmQvYzBkMCAgb3I6IGZkaXNrIC9kZXYvaWRhL2MwZDAgIChmb3IgUkFJRCBkZXZpY2VzKVxuIgorI34gIiAgLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVc286IGZkaXNrIFstbF0gWy1iIFNTWl0gWy11XSBkaXNwb3NpdGl2b1xuIgorI34gIkV4LjogZmRpc2sgL2Rldi9oZGEgIChwYXJhIG8gcHJpbWVpcm8gZGlzY28gSURFKTtcbiIKKyN+ICIgb3UgOiBmZGlzayAvZGV2L3NkYyAgKHBhcmEgbyB0ZXJjZWlybyBkaXNjbyBTQ1NJICk7XG4iCisjfiAiIG91IDogZmRpc2sgL2Rldi9lZGEgIChwYXJhIGEgcHJpbWVpcmEgdW5pZGFkZSBFU0RJIFBTLzIpO1xuIgorI34gIiBvdSA6IGZkaXNrIC9kZXYvcmQvYzBkMCAgb3UgOiBmZGlzayAvZGV2L2lkYS9jMGQwICAocGFyYSBkaXNwb3NpdGl2b3MgUkFJRClcbiIKKyN+ICIgIC4uLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlRoZSBudW1iZXIgb2YgY3lsaW5kZXJzIGZvciB0aGlzIGRpc2sgaXMgc2V0IHRvICVkLlxuIgorI34gIlRoZXJlIGlzIG5vdGhpbmcgd3Jvbmcgd2l0aCB0aGF0LCBidXQgdGhpcyBpcyBsYXJnZXIgdGhhbiAxMDI0LFxuIgorI34gImFuZCBjb3VsZCBpbiBjZXJ0YWluIHNldHVwcyBjYXVzZSBwcm9ibGVtcyB3aXRoOlxuIgorI34gIjEpIHNvZnR3YXJlIHRoYXQgcnVucyBhdCBib290IHRpbWUgKGUuZy4sIG9sZCB2ZXJzaW9ucyBvZiBMSUxPKVxuIgorI34gIjIpIGJvb3RpbmcgYW5kIHBhcnRpdGlvbmluZyBzb2Z0d2FyZSBmcm9tIG90aGVyIE9Tc1xuIgorI34gIiAgIChlLmcuLCBET1MgRkRJU0ssIE9TLzIgRkRJU0spXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJPIG7Dum1lb3IgZGUgY2lsaW5kcm9zIHBhcmEgZXN0ZSBkaXNjbyBlc3TDoSBjb25maWd1cmFkbyBwYXJhICVkLlxuIgorI34gIk7Do28gZXhpc3RlIG5hZGEgZGUgZXJyYWRvLCBtYXMgaXN0byDDqSBtYWlvciBxdWUgMTAyNCxcbiIKKyN+ICJlIHBvZGUgZW0gY2VydGFzIGNvbmZpZ3VyYcOnw7VlcyBjYXVzYXIgcHJvYmxlbWFzIGNvbTpcbiIKKyN+ICIxKSBwcm9ncmFtYXMgcXVlIGV4ZWN1dGFtIGVtIHRlbXBvIGRlIGluaWNpYWxpemHDp8OjbyAodmVyc8O1ZXMgdmVsaGFzIGRvIExJTE8pXG4iCisjfiAiMikgaW5pY2lhbGl6YcOnw6NvIGUgcHJvZ3JhbWFzIGRlIHBhcnRpY2lvbmFtZW50byBkZSBvdXRyb3MgT1NzXG4iCisjfiAiICAgKHAuZXguLCBET1MgRkRJU0ssIE9TLzIgRkRJU0spXG4iCisKKyN+IG1zZ2lkICJjYWxsaW5nIG9wZW5fdHR5XG4iCisjfiBtc2dzdHIgImNhbGxpbmcgb3Blbl90dHlcbiIKKworI34gbXNnaWQgImNhbGxpbmcgdGVybWlvX2luaXRcbiIKKyN+IG1zZ3N0ciAiY2FsbGluZyB0ZXJtaW9faW5pdFxuIgorCisjfiBtc2dpZCAid3JpdGluZyBpbml0IHN0cmluZ1xuIgorI34gbXNnc3RyICJ3cml0aW5nIHN0cmluZyBpbml0XG4iCisKKyN+IG1zZ2lkICJiZWZvcmUgYXV0b2JhdWRcbiIKKyN+IG1zZ3N0ciAiYmVmb3JlIGF1dG9iYXVkXG4iCisKKyN+IG1zZ2lkICJ3YWl0aW5nIGZvciBjci1sZlxuIgorI34gbXNnc3RyICJ3YWl0aW5nIGZvciBjci1sZlxuIgorCisjfiBtc2dpZCAicmVhZGluZyBsb2dpbiBuYW1lXG4iCisjfiBtc2dzdHIgInJlYWRpbmcgbG9naW4gbmFtZVxuIgorCisjfiBtc2dpZCAiYWZ0ZXIgZ2V0b3B0IGxvb3BcbiIKKyN+IG1zZ3N0ciAiYWZ0ZXIgZ2V0b3B0IGxvb3BcbiIKKworI34gbXNnaWQgImV4aXRpbmcgcGFyc2VhcmdzXG4iCisjfiBtc2dzdHIgImV4aXRpbmcgcGFyc2VhcmdzXG4iCisKKyN+IG1zZ2lkICJlbnRlcmVkIHBhcnNlX3NwZWVkc1xuIgorI34gbXNnc3RyICJlbnRlcmVkIHBhcnNlX3NwZWVkc1xuIgorCisjfiBtc2dpZCAiZXhpdGluZyBwYXJzZXNwZWVkc1xuIgorI34gbXNnc3RyICJleGl0aW5nIHBhcnNlc3BlZWRzXG4iCisKKyN+IG1zZ2lkICJvcGVuKDIpXG4iCisjfiBtc2dzdHIgIm9wZW4oMilcbiIKKworI34gbXNnaWQgImR1cGluZ1xuIgorI34gbXNnc3RyICJkdXBpbmdcbiIKKworI34gbXNnaWQgInRlcm1faW8gMlxuIgorI34gbXNnc3RyICJ0ZXJtX2lvIDJcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IFwiJXNcIiBpcyBub3QgbGlzdGVkIGluIC9ldGMvc2hlbGxzXG4iCisjfiBtc2dzdHIgIkF2aXNvOiAgXCIlc1wiIG7Do28gZXN0w6EgbGlzdGFkbyBlbSAvZXRjL3NoZWxsc1xuIgorCisjfiBtc2dpZCAiQ2FuJ3QgcmVhZCAlcywgZXhpdGluZy4iCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBsZXIgJXM7IHNhaW5kby4iCisKKyN+IG1zZ2lkICJ0aW1lb3V0ID0gJWQsIHF1aWV0ID0gJWQsIHJlYm9vdCA9ICVkXG4iCisjfiBtc2dzdHIgInRpbWVvdXQgPSAlZCwgcXVpZXQgPSAlZCwgcmVib290ID0gJWRcbiIKKworI34gbXNnaWQgIm5hbWVpOiBjb3VsZCBub3QgY2hkaXIgdG8gcm9vdCFcbiIKKyN+IG1zZ3N0ciAibmFtZWk6IG7Do28gZm9pIHBvc3PDrXZlbCBtdWRhciBwYXJhIG8gZGlyZXTDs3JpbyByYWl6IVxuIgorCisjfiBtc2dpZCAibmFtZWk6IGNvdWxkIG5vdCBzdGF0IHJvb3QhXG4iCisjfiBtc2dzdHIgIm5hbWVpOiBuw6NvIGZvaSBwb3Nzw612ZWwgc3RhdCByYWl6IVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5hbWVpOiBidWYgb3ZlcmZsb3dcbiIKKyN+IG1zZ3N0ciAiICBFc3RvdXJvXG4iCisKKyN+IG1zZ2lkICIgPyBjb3VsZCBub3QgY2hkaXIgaW50byAlcyAtICVzICglZClcbiIKKyN+IG1zZ3N0ciAiID8gbsOjbyBmb2kgcG9zc8OtdmVsIG11ZGFyIHBhcmEgbyBkaXJldMOzcmlvICVzIC0gJXMgKCVkKVxuIgorCisjfiBtc2dpZCAiID8gcHJvYmxlbXMgcmVhZGluZyBzeW1saW5rICVzIC0gJXMgKCVkKVxuIgorI34gbXNnc3RyICIgPyBwcm9ibGVtYXMgYW8gbGVyIGxpbmsgc2ltYsOzbGljbyAlcyAtICVzICglZClcbiIKKworI34gbXNnaWQgIiAgKioqIEVYQ0VFREVEIFVOSVggTElNSVQgT0YgU1lNTElOS1MgKioqXG4iCisjfiBtc2dzdHIgIiAgKioqIExJTUlURSBERSBMSU5LUyBTSU1Cw5NMSUNPUyBETyBVTklYIEVYQ0VESURPICoqKlxuIgorCisjfiBtc2dpZCAibmFtZWk6IHVua25vd24gZmlsZSB0eXBlIDAlMDZvIG9uIGZpbGUgJXNcbiIKKyN+IG1zZ3N0ciAibmFtZWk6IHRpcG8gZGUgYXJxdWl2byBkZXNjb25oZWNpZG8gMCUwNm8gbm8gYXJxdWl2byAlc1xuIgorCisjfiBtc2dpZCAiY291bGRuJ3QgcmVhZCAlcywgYW5kIGNhbm5vdCBpb2N0bCBkdW1wXG4iCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBsZXIgJXMgZSBuw6NvIMOpIHBvc3PDrXZlbCByZWFsaXphciBpb2N0bCBkYSBkZXNjYXJnYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBnb2luZyB0byBtb3VudCAlcyBieSAlc1xuIgorI34gbXNnc3RyICJtb3VudDogbW9udGFuZG8gJXMgcG9yICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IG5vIExBQkVMPSwgbm8gVVVJRD0sIGdvaW5nIHRvIG1vdW50ICVzIGJ5IHBhdGhcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG1vbnRhbmRvICVzIHBvciAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjb3VsZCBub3QgZmluZCBhbnkgZGV2aWNlIC9kZXYvbG9vcCMiCisjfiBtc2dzdHIgIm1vdW50OiBuw6NvIGZvaSBwb3Nzw612ZWwgbG9jYWxpemFyIHF1YWxxdWVyIGRpc3Bvc2l0aXZvIC9kZXYvbG9vcCMiCisKKyN+IG1zZ2lkICJtb3VudDogYmFja2dyb3VuZGluZyBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHRlbnRhbmRvIG1vbnRhciBlbSBzZWd1bmRvIHBsYW5vIFwiJXNcIlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGdpdmluZyB1cCBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGRlc2lzdGluZG8gZGUgXCIlc1wiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gInVzYWdlOiAlcyBbLWhWXVxuIgorI34gIiAgICAgICAlcyAtYSBbLWVdIFstdl1cbiIKKyN+ICIgICAgICAgJXMgWy12XSBbLXAgcHJpb3JpdHldIHNwZWNpYWx8TEFCRUw9dm9sdW1lX25hbWUgLi4uXG4iCisjfiAiICAgICAgICVzIFstc11cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVzbzogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgJXMgLWEgWy12XVxuIgorI34gIiAgICAgICAlcyBbLXZdIFstcCBwcmlvcmlkYWRlXSBlc3BlY2lhbCAuLi5cbiIKKyN+ICIgICAgICAgJXMgWy1zXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgJXMgLWEgWy12XVxuIgorI34gIiAgICAgICAlcyBbLXZdIHNwZWNpYWwgLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVc286ICVzIFstaFZdXG4iCisjfiAiICAgICAgICVzIC1hIFstdl1cbiIKKyN+ICIgICAgICAgJXMgWy12XSBbLXAgcHJpb3JpZGFkZV0gZXNwZWNpYWwgLi4uXG4iCisjfiAiICAgICAgICVzIFstc11cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2Fubm90IGNhbm9uaWNhbGl6ZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IG7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAlczogJXNcbiIKKworI34gbXNnaWQgImNvdWxkIG5vdCB1bW91bnQgJXMgLSB0cnlpbmcgJXMgaW5zdGVhZFxuIgorI34gbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZWZldHVhciB1bW91bnQgZW0gJXMgLSB0ZW50YW5kbyAlcyBlbSB2ZXogZGVsZVxuIgorCisjfiBtc2dpZCAidXNhZ2UgOiAlcyAtYXNtcSAtdGNsdXAgXG4iCisjfiBtc2dzdHIgIlVzbyA6ICVzIC1hc21xIC10Y2x1cCBcbiIKKworI34gbXNnaWQgIlx0JXMgWy1zIC1tIC1xXSAtaSBpZFxuIgorI34gbXNnc3RyICJcdCVzIFstcyAtbSAtcV0gLWkgaWRcbiIKKworI34gbXNnaWQgIlx0JXMgLWggZm9yIGhlbHAuXG4iCisjfiBtc2dzdHIgIlx0JXMgLWggcGFyYSBhanVkYS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJSZXNvdXJjZSBTcGVjaWZpY2F0aW9uOlxuIgorI34gIlx0LW0gOiBzaGFyZWRfbWVtXG4iCisjfiAiXHQtcSA6IG1lc3NhZ2VzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFc3BlY2lmaWNhw6fDo28gZGUgcmVjdXJzbzpcbiIKKyN+ICJcdC1tIDogbWVtw7NyaWEgY29tcGFydGlsaGFkYVxuIgorI34gIlx0LXEgOiBtZW5zYWdlbnNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdC1zIDogc2VtYXBob3Jlc1xuIgorI34gIlx0LWEgOiBhbGwgKGRlZmF1bHQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcdC1zIDogc2Vtw6Fmb3Jvc1xuIgorI34gIlx0LWEgOiB0dWRvIChwYWRyw6NvKVxuIgorCisjfiBtc2dpZCAiIgorI34gIk91dHB1dCBGb3JtYXQ6XG4iCisjfiAiXHQtdCA6IHRpbWVcbiIKKyN+ICJcdC1wIDogcGlkXG4iCisjfiAiXHQtYyA6IGNyZWF0b3JcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkZvcm1hdG8gZGUgc2HDrWRhOlxuIgorI34gIlx0LXQgOiBob3LDoXJpb1xuIgorI34gIlx0LXAgOiBwaWRcbiIKKyN+ICJcdC1jIDogY3JpYWRvclxuIgorCisjfiBtc2dpZCAiIgorI34gIlx0LWwgOiBsaW1pdHNcbiIKKyN+ICJcdC11IDogc3VtbWFyeVxuIgorI34gbXNnc3RyICIiCisjfiAiXHQtbCA6IGxpbWl0ZXNcbiIKKyN+ICJcdC11IDogcmVzdW1vXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMlLTEwcyUtMTBzJS0xMHMlLTEwcyUtMTBzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMlLTEwcyAgJS0yMHMlLTIwcyUtMjBzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMlLTEwcyUtMTBzJS0xMHNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEyc1xuIgorI34gbXNnc3RyICIlLTEwcyUtMTBzJS0xMHMlLTEwcyUtMTBzJS0xMHMlLTEyc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUtOHMgJS0xMHMgJS0yNi4yNHMgJS0yNi4yNHNcbiIKKyN+IG1zZ3N0ciAiJS04cyUtMTBzICAlLTI2LjI0cyAlLTI2LjI0c1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iCisjfiBtc2dzdHIgIiUtMTBzJS0xMHMlLTEwcyUtMTBzJS0xMHNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlLThzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisjfiBtc2dzdHIgIiUtOHMlLTEwcyAgJS0yMHMlLTIwcyUtMjBzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnMgJS0xMnNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMlLTEwcyUtMTBzJS0xMHMlLTEycyUtMTJzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHJkZXYgWyAtcnYgXSBbIC1vIE9GRlNFVCBdIFsgSU1BR0UgWyBWQUxVRSBbIE9GRlNFVCBdIF0gXSIKKyN+IG1zZ3N0ciAiVXNvOiByZGV2IFsgLXJzdiBdIFsgLW8gREVTTE9DQU1FTlRPIF0gWyBJTUFHRU0gWyBWQUxPUiBbIERFU0xPQ0FNRU5UT10gXSBdIgorCisjfiBtc2dpZCAiICByZGV2IC9kZXYvZmQwICAob3IgcmRldiAvbGludXgsIGV0Yy4pIGRpc3BsYXlzIHRoZSBjdXJyZW50IFJPT1QgZGV2aWNlIgorI34gbXNnc3RyICIgIHJkZXYgL2Rldi9mZDAgIChvdSByZGV2IC9saW51eCwgZXRjLikgZXhpYmUgbyBkaXNwb3NpdGl2byBSQUlaIGF0dWFsIgorCisjfiBtc2dpZCAiICByZGV2IC9kZXYvZmQwIC9kZXYvaGRhMiAgICAgICAgIHNldHMgUk9PVCB0byAvZGV2L2hkYTIiCisjfiBtc2dzdHIgIiAgcmRldiAvZGV2L2ZkMCAvZGV2L2hkYTIgICAgICAgICBkZWZpbmUgYSBSQUlaIGNvbW8gL2Rldi9oZGEyIgorCisjfiBtc2dpZCAiICByZGV2IC1SIC9kZXYvZmQwIDEgICAgICAgICAgICAgIHNldCB0aGUgUk9PVEZMQUdTIChyZWFkb25seSBzdGF0dXMpIgorI34gbXNnc3RyICIgIHJkZXYgLVIgL2Rldi9mZDAgMSAgICAgICAgICAgICAgZGVmaW5lIFJPT1RGTEFHUyAoc3RhdHVzIGRlIHNvbWVudGUgbGVpdHVyYSkiCisKKyN+IG1zZ2lkICIgIHJkZXYgLXIgL2Rldi9mZDAgNjI3ICAgICAgICAgICAgc2V0IHRoZSBSQU1ESVNLIHNpemUiCisjfiBtc2dzdHIgIiAgcmRldiAtciAvZGV2L2ZkMCA2MjcgICAgICAgICAgICBkZWZpbmUgbyB0YW1hbmhvIGRvIFJBTURJU0sgKGRpc2NvIGRlIFJBTSkiCisKKyN+IG1zZ2lkICIgIHJkZXYgLXYgL2Rldi9mZDAgMSAgICAgICAgICAgICAgc2V0IHRoZSBib290dXAgVklERU9NT0RFIgorI34gbXNnc3RyICIgIHJkZXYgLXYgL2Rldi9mZDAgMSAgICAgICAgICAgICAgZGVmaW5lIG8gVklERU9NT0RFIChtb2RvIGRlIHbDrWRlbykgZGUgaW5pY2lhbGl6YcOnw6NvIgorCisjfiBtc2dpZCAiICByZGV2IC1vIE4gLi4uICAgICAgICAgICAgICAgICAgIHVzZSB0aGUgYnl0ZSBvZmZzZXQgTiIKKyN+IG1zZ3N0ciAiICByZGV2IC1vIE4gLi4uICAgICAgICAgICAgICAgICAgIHVzYSBvIGRlc2xvY2FtZW50byBkZSBieXRlcyBOIgorCisjfiBtc2dpZCAiICByb290ZmxhZ3MgLi4uICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgcmRldiAtUiIKKyN+IG1zZ3N0ciAiICByb290ZmxhZ3MgLi4uICAgICAgICAgICAgICAgICAgIG8gbWVzbW8gcXVlIHJkZXYgLVIiCisKKyN+IG1zZ2lkICIgIHJhbXNpemUgLi4uICAgICAgICAgICAgICAgICAgICAgc2FtZSBhcyByZGV2IC1yIgorI34gbXNnc3RyICIgIHJhbXNpemUgLi4uICAgICAgICAgICAgICAgICAgICAgbyBtZXNtbyBxdWUgcmRldiAtciIKKworI34gbXNnaWQgIiAgdmlkbW9kZSAuLi4gICAgICAgICAgICAgICAgICAgICBzYW1lIGFzIHJkZXYgLXYiCisjfiBtc2dzdHIgIiAgdmlkbW9kZSAuLi4gICAgICAgICAgICAgICAgICAgICBvIG1lc21vIHF1ZSByZGV2IC12IgorCisjfiBtc2dpZCAiTm90ZTogdmlkZW8gbW9kZXMgYXJlOiAtMz1Bc2ssIC0yPUV4dGVuZGVkLCAtMT1Ob3JtYWxWZ2EsIDE9a2V5MSwgMj1rZXkyLC4uLiIKKyN+IG1zZ3N0ciAiTm90YTogb3MgbW9kb3MgZGUgdsOtZGVvIHPDo286IC0zPUFzaywgLTI9RXh0ZW5kZWQsIC0xPU5vcm1hbFZnYSwgMT1rZXkxLCAyPWtleTIsLi4uIgorCisjfiBtc2dpZCAiICAgICAgdXNlIC1SIDEgdG8gbW91bnQgcm9vdCByZWFkb25seSwgLVIgMCBmb3IgcmVhZC93cml0ZS4iCisjfiBtc2dzdHIgIiAgICAgIHVzZSAtUiAxIHBhcmEgbW9udGFyIGEgcmFpeiBzb21lbnRlIHBhcmEgbGVpdHVyYSwgLVIgMCBmb3IgbGVpdHVyYS9ncmF2YcOnw6NvLiIKKworI34gbXNnaWQgInVzYWdlOiByZW5pY2UgcHJpb3JpdHkgWyBbIC1wIF0gcGlkcyBdIFsgWyAtZyBdIHBncnBzIF0gWyBbIC11IF0gdXNlcnMgXVxuIgorI34gbXNnc3RyICJyZW5pY2UgcHJpb3JpZGFkZSBbIFsgLXAgXSBwaWRzIF0gWyBbIC1nIF0gcGdycHMgXSBbIFsgLXUgXSB1c3XDoXJpb3MgXVxuIgorCisjfiBtc2dpZCAiQXNzdW1pbmcgcGFnZXMgb2Ygc2l6ZSAlZCAobm90ICVkKVxuIgorI34gbXNnc3RyICJBc3N1bWluZG8gcMOhZ2luYXMgZGUgdGFtYW5obyAlZCAobsOjbyAlZClcbiIKKworI34gbXNnaWQgIkF1dG9jb25maWd1cmUgZm91bmQgYSAlcyVzJXNcbiIKKyN+IG1zZ3N0ciAiQSBjb25maWd1cmHDp8OjbyBhdXRvbcOhdGljYSBlbmNvbnRyb3UgdW0oYSkgJXMlcyVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRHJpdmUgdHlwZVxuIgorI34gIiAgID8gICBhdXRvIGNvbmZpZ3VyZVxuIgorI34gIiAgIDAgICBjdXN0b20gKHdpdGggaGFyZHdhcmUgZGV0ZWN0ZWQgZGVmYXVsdHMpIgorI34gbXNnc3RyICIiCisjfiAiVGlwbyBkYSB1bmlkYWRlXG4iCisjfiAiICAgPyAgIGNvbmZpZ3VyYcOnw6NvIGF1dG9tw6F0aWNhXG4iCisjfiAiICAgMCAgIHBlcnNvbmFsaXphZGEgKGNvbSBwYWRyw7VlcyBkZXRlY3RhZG9zIHBvciBoYXJkd2FyZSkiCisKKyN+IG1zZ2lkICJTZWxlY3QgdHlwZSAoPyBmb3IgYXV0bywgMCBmb3IgY3VzdG9tKTogIgorI34gbXNnc3RyICJTZWxlY2lvbmUgbyB0aXBvICg/IHBhcmEgYXV0b23DoXRpY2EsIDAgcGFyYSBwZXJzb25hbGl6YWRhKTogIgorCisjfiBtc2dpZCAiWW91IG1heSBjaGFuZ2UgYWxsIHRoZSBkaXNrIHBhcmFtcyBmcm9tIHRoZSB4IG1lbnUiCisjfiBtc2dzdHIgIlZvY8OqIHBvZGUgYWx0ZXJhciB0b2RvcyBvcyBwYXLDom1ldHJvcyBkbyBkaXNjbyBhIHBhcnRpciBkbyBtZW51IHgiCisKKyN+IG1zZ2lkICIzLDVcIiBmbG9wcHkiCisjfiBtc2dzdHIgIkRpc3F1ZXRlIGRlIDMsNSBwb2wuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIGZyb20gdXRpbC1saW51eC0lc1xuIgorI34gbXNnc3RyICIlcyBkZSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjb3VsZCBub3Qgb3BlbiAlcywgc28gVVVJRCBhbmQgTEFCRUwgY29udmVyc2lvbiBjYW5ub3QgYmUgZG9uZS5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAlcyAtIGNvbnZlcnPDtWVzIGRlIFVVSUQgZSBMQUJFTCBuw6NvIHBvZGVtIHNlciBmZWl0YXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogYmFkIFVVSUQiCisjfiBtc2dzdHIgIm1vdW50OiBVVUlEIGludsOhbGlkYSIKKworI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgd2l0aCBuZnMgbW91bnQgdmVyc2lvbiA0LCB0cnlpbmcgMy4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogZmFsaG91IGNvbSBvIG1vdW50IGRvIG5mcyB2ZXJzw6NvIDQsIHRlbnRhbmRvIGNvbSBvIDMuLlxuIgorI34gIiBcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogZXJyb3Igd2hpbGUgZ3Vlc3NpbmcgZmlsZXN5c3RlbSB0eXBlXG4iCisjfiBtc2dzdHIgIm1vdW50OiB2b2PDqiBwcmVjaXNhIGVzcGVjaWZpY2FyIG8gdGlwbyBkbyBzaXN0ZW1hIGRlIGFycXVpdm9zIgorCisjfiBtc2dpZCAibW91bnQ6IGV4Y2Vzc2l2ZWx5IGxvbmcgaG9zdDpkaXIgYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGFyZ3VtZW50byBob3N0OmRpciBleGNlc3NpdmFtZW50ZSBsb25nb1xuIgorCisjfiBtc2dpZCAibW91bnQ6IHdhcm5pbmc6IG11bHRpcGxlIGhvc3RuYW1lcyBub3Qgc3VwcG9ydGVkXG4iCisjfiBtc2dzdHIgIm1vdW50OiBhdmlzbzogbm9tZXMgZGUgaG9zdCBtw7psdGlwbG9zIG7Do28gc8OjbyBzdXBvcnRhZG9zXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZGlyZWN0b3J5IHRvIG1vdW50IG5vdCBpbiBob3N0OmRpciBmb3JtYXRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGRpcmV0w7NyaW8gYSBtb250YXIgbsOjbyBlc3TDoSBubyBmb3JtYXRvIGhvc3Q6ZGlyXG4iCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3QgZ2V0IGFkZHJlc3MgZm9yICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBuw6NvIMOpIHBvc3PDrXZlbCBvYnRlciBlbmRlcmXDp28gcGFyYSAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGdvdCBiYWQgaHAtPmhfbGVuZ3RoXG4iCisjfiBtc2dzdHIgIm1vdW50OiBvYnRpZG8gaHAtPmhfbGVuZ3RoIGludsOhbGlkb1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGV4Y2Vzc2l2ZWx5IGxvbmcgb3B0aW9uIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIm1vdW50OiBhcmd1bWVudG8gZGUgb3DDp8OjbyBleGNlc3NpdmFtZW50ZSBsb25nb1xuIgorCisjfiBtc2dpZCAiV2FybmluZzogVW5yZWNvZ25pemVkIHByb3RvPSBvcHRpb24uXG4iCisjfiBtc2dzdHIgIkF2aXNvOiBvcMOnw6NvIHByb3RvPSBuw6NvIHJlY29uaGVjaWRhLlxuIgorCisjfiBtc2dpZCAiV2FybmluZzogT3B0aW9uIG5hbWxlbiBpcyBub3Qgc3VwcG9ydGVkLlxuIgorI34gbXNnc3RyICJBdmlzbzogYSBvcMOnw6NvIG5hbWxlbiBuw6NvIMOpIHN1cG9ydGFkYS5cbiIKKworI34gbXNnaWQgInVua25vd24gbmZzIG1vdW50IHBhcmFtZXRlcjogJXM9JWRcbiIKKyN+IG1zZ3N0ciAicGFyw6JtZXRybyBkZSBtb250YWdlbSBkZSBuZnMgZGVzY29uaGVjaWRvOiAlcz0lZFxuIgorCisjfiBtc2dpZCAidW5rbm93biBuZnMgbW91bnQgb3B0aW9uOiAlcyVzXG4iCisjfiBtc2dzdHIgIm9ww6fDo28gZGUgbW9udGFnZW0gZGUgbmZzIGRlc2NvbmhlY2lkYTogJXMlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGdvdCBiYWQgaHAtPmhfbGVuZ3RoP1xuIgorI34gbXNnc3RyICJtb3VudDogb2J0aWRvIGhwLT5oX2xlbmd0aCBpbnbDoWxpZG8/XG4iCisKKyN+IG1zZ2lkICJuZnMgYmluZHJlc3Zwb3J0IgorI34gbXNnc3RyICJuZnMgYmluZHJlc3Zwb3J0IgorCisjfiBtc2dpZCAidXNlZCBwb3J0bWFwcGVyIHRvIGZpbmQgTkZTIHBvcnRcbiIKKyN+IG1zZ3N0ciAidXNhZG8gcG9ydG1hcHBlciBwYXJhIGxvY2FsaXphciBwb3J0YSBORlNcbiIKKworI34gbXNnaWQgInVzaW5nIHBvcnQgJWQgZm9yIG5mcyBkZWFtb25cbiIKKyN+IG1zZ3N0ciAidXNhbmRvIHBvcnRhICVkIHBhcmEgbyBkYWVtb24gZG8gbmZzXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIG5mcyBzdGF0dXMgcmV0dXJuIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAidmFsb3IgZGUgcmV0b3JubyBkZSBzdGF0dXMgZGUgbmZzIGRlc2NvbmhlY2lkbzogJWQiCisKKyN+IG1zZ2lkICJob3N0OiAlcywgZGlyZWN0b3J5OiAlc1xuIgorI34gbXNnc3RyICJob3N0OiAlcywgZGlyZXTDs3JpbzogJXNcbiIKKworI34gbXNnaWQgInVtb3VudDogY2FuJ3QgZ2V0IGFkZHJlc3MgZm9yICVzXG4iCisjfiBtc2dzdHIgInVtb3VudDogbsOjbyBmb2kgcG9zc8OtdmVsIG9idGVyIGVuZGVyZcOnbyBkZSAlc1xuIgorCisjfiBtc2dpZCAidW1vdW50OiBnb3QgYmFkIGhvc3RwLT5oX2xlbmd0aFxuIgorI34gbXNnc3RyICJ1bW91bnQ6IG9idGlkbyBob3N0cC0+aF9sZW5ndGggaW52w6FsaWRvXG4iCisKKyN+IG1zZ2lkICJCbG9jayAlZCBpbiBmaWxlIGAiCisjfiBtc2dzdHIgIk8gYmxvY28gJWQgbm8gYXJxdWl2byBgIgorCisjfiBtc2dpZCAiOiBiYWQgZGlyZWN0b3J5OiBzaXplPDMyIgorI34gbXNnc3RyICI6IGRpcmV0w7NyaW8gaW52w6FsaWRvOiB0YW1hbmhvIDwgMzIiCisKKyN+IG1zZ2lkICJub3QgIgorI34gbXNnc3RyICJuw6NvICIKKworI34gbXNnaWQgIiVzOiBub3QgY29tcGlsZWQgd2l0aCBtaW5peCB2MiBzdXBwb3J0XG4iCisjfiBtc2dzdHIgIiVzOiBuw6NvIGNvbXBpbGFkbyBjb20gc3Vwb3J0ZSBhIG1pbml4IHYyXG4iCisKKyN+IG1zZ2lkICJTeW50YXggZXJyb3I6ICclcydcbiIKKyN+IG1zZ3N0ciAiRXJybyBkZSBzaW50YXhlOiAnJXMnXG4iCisKKyN+IG1zZ2lkICJObyBzdWNoIHBhcmFtZXRlciBzZXQ6ICclcydcbiIKKyN+IG1zZ3N0ciAiTsOjbyBow6EgdGFsIHBhcsOibWV0cm8gZGVmaW5pZG86ICclcydcbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC1wIF0gZGV2IG5hbWVcbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbIC1wIF0gZGlzcG9zaXRpdm9cbiIKKworI34gbXNnaWQgIiAgICAgICAlcyBbIC1wIF0gZGV2IHNpemUgc2VjdCBoZWFkcyB0cmFja3Mgc3RyZXRjaCBnYXAgcmF0ZSBzcGVjMSBmbXRfZ2FwXG4iCisjfiBtc2dzdHIgIiAgICAgICAlcyBbIC1wIF0gZGlzcCB0YW0gc2V0IGNhYmXDpyB0cmlsaGFzIGV4dCAgIGludGVydiB0YXhhIHNwZWMxIGZtdF9pbnRlcnZcbiIKKworI34gbXNnaWQgIiAgICAgICAlcyBbIC1jIHwgLXkgfCAtbiB8IC1kIF0gZGV2XG4iCisjfiBtc2dzdHIgIiAgICAgICAlcyBbIC1jIHwgLXkgfCAtbiB8IC1kIF0gZGlzcFxuIgorCisjfiBtc2dpZCAiICAgICAgICVzIFsgLWMgfCAteSB8IC1uIF0gZGV2XG4iCisjfiBtc2dzdHIgIiAgICAgICAlcyBbIC1jIHwgLXkgfCAtbiBdIGRpc3BcbiIKKworI34gbXNnaWQgIkJvb3QgKCUwMlgpIgorI34gbXNnc3RyICJCb290ICglMDJYKSIKKworI34gbXNnaWQgIk5vbmUgKCUwMlgpIgorI34gbXNnc3RyICJOZW5odW0gKCUwMlgpIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVpIGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeTpcbiIKKyN+IG1zZ3N0ciAiQSBwYXJ0acOnw6NvICVpIG7Do28gdGVybWluYSBlbSB1bSBsaW1pdGUgZGUgY2lsaW5kcm86XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWQgaGVhZHMsICVkIHNlY3RvcnMsICVkIGN5bGluZGVyc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiAlZCBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzY28gJXM6ICVkIGNhYmXDp2FzLCAlZCBzZXRvcmVzLCAlZCBjaWxpbmRyb3NcbiIKKyN+ICJVbmlkYWRlcyA9ICVzIGRlICVkICogJWQgYnl0ZXNcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlZCBoYXMgYW4gb2RkIG51bWJlciBvZiBzZWN0b3JzLlxuIgorI34gbXNnc3RyICJBdmlzbzogYSBwYXJ0acOnw6NvICVkIHBvc3N1aSB1bSBuw7ptZXJvIMOtbXBhciBkZSBzZXRvcmVzLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlJlLXJlYWQgdGFibGUgZmFpbGVkIHdpdGggZXJyb3IgJWQ6ICVzLlxuIgorI34gIlJlYm9vdCB5b3VyIHN5c3RlbSB0byBlbnN1cmUgdGhlIHBhcnRpdGlvbiB0YWJsZSBpcyB1cGRhdGVkLlxuIgorI34gbXNnc3RyICIiCisjfiAiQSByZWxlaXR1cmEgZGEgdGFiZWxhIGRlIHBhcnRpw6fDo28gZmFsaG91LiBFcnJvICVkOiAlcy5cbiIKKyN+ICJSZWluaWNpYWxpemUgbyBzaXN0ZW1hIHBhcmEgYXNzZWd1cmFyLXNlIGRlIHF1ZSBhIHRhYmVsYSBkZSBwYXJ0acOnw6NvIHNlamEgYXR1YWxpemFkYS5cbiIKKworI34gbXNnaWQgIkFTVCBXaW5kb3dzIHN3YXBmaWxlIgorI34gbXNnc3RyICJBcnF1aXZvIGRlIHBlcm11dGEgV2luZG93cyBBU1QiCisKKyN+IG1zZ2lkICJCU0QvMzg2IgorI34gbXNnc3RyICJCU0QvMzg2IgorCisjfiBtc2dpZCAiYW5kIHdpbGwgZGVzdHJveSBpdCB3aGVuIGZpbGxlZFxuIgorI34gbXNnc3RyICJlIGRlc3RydWlyw6EgYSB0YWJlbGEgcXVhbmRvIGNoZWlhXG4iCisKKyN+IG1zZ2lkICIgKGFsdGhvdWdoIHRoaXMgaXMgbm90IGEgcHJvYmxlbSB1bmRlciBMaW51eClcbiIKKyN+IG1zZ3N0ciAiIChlbWJvcmEgaXN0byBuw6NvIHNlamEgdW0gcHJvYmxlbWEgbm8gTGludXgpXG4iCisKKyN+IG1zZ2lkICIoRm9yIGxpc3RpbmcgcHVycG9zZXMgb25seS4gRG8gbm90IGNoYW5nZSBpdHMgY29udGVudHMuKVxuIgorI34gbXNnc3RyICIoUGFyYSBwcm9ww7NzaXRvcyBzb21lbnRlIGRlIGxpc3RhZ2VtLiBOw6NvIGFsdGVyZSBzZXUgY29udGXDumRvLilcbiIKKworI34gbXNnaWQgIkRPUyBhbmQgTGludXggd2lsbCBpbnRlcnByZXQgdGhlIGNvbnRlbnRzIGRpZmZlcmVudGx5LlxuIgorI34gbXNnc3RyICJET1MgZSBMaW51eCB2w6NvIGludGVycHJldGFyIHNldSBjb250ZcO6ZG8gZGlmZXJlbnRlbWVudGUuXG4iCisKKyN+IG1zZ2lkICJmb3IgcmVhZGluZyIKKyN+IG1zZ3N0ciAicGFyYSBsZWl0dXJhIgorCisjfiBtc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgZm9yICVzXG4iCisjfiBtc2dzdHIgImlvY3RsIEJMS0dFVFNJWkUgZmFsaG91IHBhcmEgJXNcbiIKKworI34gbXNnaWQgInVzYWdlOiBiYW5uZXIgWy13IHdpZHRoXVxuIgorI34gbXNnc3RyICJVc286IGJhbm5lciBbLXcgbGFyZ3VyYV1cbiIKKworI34gbXNnaWQgIk1lc3NhZ2U6ICIKKyN+IG1zZ3N0ciAiTWVuc2FnZW06ICIKKworI34gbXNnaWQgIlRoZSBjaGFyYWN0ZXIgJyVjJyBpcyBub3QgaW4gbXkgY2hhcmFjdGVyIHNldCIKKyN+IG1zZ3N0ciAiTyBjYXJhY3RlcmUgJyVjJyBuw6NvIGZheiBwYXJ0ZSBkbyBtZXUgY29uanVudG8gZGUgY2FyYWN0ZXJlcyIKKworI34gbXNnaWQgIk1lc3NhZ2UgJyVzJyBpcyBPS1xuIgorI34gbXNnc3RyICJBIG1lbnNhZ2VtICclcycgZXN0w6EgT0tcbiIKKworI34gbXNnaWQgIm51bWJlciBgJXMnIHRvIGAlcycgb3V0IG9mIHJhbmdlXG4iCisjfiBtc2dzdHIgIm7Dum1lcm8gYCVzJyBhIGAlcycgZm9yYSBkbyBpbnRlcnZhbG9cbiIKKworI34gbXNnaWQgIm9wdGlvbiBgJXMnIGRvZXNuJ3QgYWxsb3cgYW4gYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAiYSBvcMOnw6NvIGAlcycgbsOjbyBwZXJtaXRlIHVtIGFyZ3VtZW50b1xuIgorCisjfiBtc2dpZCAiICAgICAgIFsgdXNlcm5hbWUgXVxuIgorI34gbXNnc3RyICIgICAgICAgWyBub21lX3VzdcOhcmlvIF1cbiIKKworI34gbXNnaWQgImNvdWxkbid0IG9wZW4gL2Rldi91cmFuZG9tIgorI34gbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgL2Rldi91cmFuZG9tIgorCisjfiBtc2dpZCAiY291bGRuJ3QgcmVhZCByYW5kb20gZGF0YSBmcm9tIC9kZXYvdXJhbmRvbSIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGxlciBkYWRvcyBhbGVhdMOzcmlvcyBkZSAvZGV2L3VyYW5kb20iCisKKyN+IG1zZ2lkICJjYW4ndCBzdGF0KCVzKSIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIHN0YXQoJXMpIgorCisjfiBtc2dpZCAiJXMgZG9lc24ndCBoYXZlIHRoZSBjb3JyZWN0IGZpbGVtb2RlcyIKKyN+IG1zZ3N0ciAiJXMgbsOjbyBwb3NzdWkgb3MgbW9kb3MgZGUgYXJxdWl2byBjb3JyZXRvcyIKKworI34gbXNnaWQgImNhbid0IHJlYWQgZGF0YSBmcm9tICVzIgorI34gbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbGVyIGRhZG9zIGRlICVzIgorCisjfiBtc2dpZCAiIgorI34gIlRvbyBtYW55IHVzZXJzIGxvZ2dlZCBvbiBhbHJlYWR5LlxuIgorI34gIlRyeSBhZ2FpbiBsYXRlci5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIk7Dum1lcm8gbcOheGltbyBkZSB1c3XDoXJpb3MgasOhIGNvbmVjdGFkb3MuXG4iCisjfiAiVGVudGUgbm92YW1lbnRlIG1haXMgdGFyZGUuXG4iCisKKyN+IG1zZ2lkICJZb3UgaGF2ZSB0b28gbWFueSBwcm9jZXNzZXMgcnVubmluZy5cbiIKKyN+IG1zZ3N0ciAiTsO6bWVybyBleGNlc3Npdm8gZGUgcHJvY2Vzc29zIGVtIGV4ZWN1w6fDo28uXG4iCisKKyN+IG1zZ2lkICJuZXcgIgorI34gbXNnc3RyICJub3ZhcyAiCisKKyN+IG1zZ2lkICJUaGUgcGFzc3dvcmQgbXVzdCBoYXZlIGF0IGxlYXN0IDYgY2hhcmFjdGVycywgdHJ5IGFnYWluLlxuIgorI34gbXNnc3RyICJBIHNlbmhhIGRldmUgdGVyIHBlbG8gbWVub3MgNiBjYXJhY3RlcmVzOyB0ZW50ZSBub3ZhbWVudGUuXG4iCisKKyN+IG1zZ2lkICJUaGUgcGFzc3dvcmQgbXVzdCBjb250YWluIGNoYXJhY3RlcnMgb3V0IG9mIHR3byBvZiB0aGUgZm9sbG93aW5nXG4iCisjfiBtc2dzdHIgIkEgc2VuaGEgZGV2ZSBjb250ZXIgY2FyYWN0ZXJlcyBkZSB1bWEgZGFzIGR1YXMgY2xhc3NlcyBzZWd1aW50ZXM6XG4iCisKKyN+IG1zZ2lkICJjbGFzc2VzOiAgdXBwZXIgYW5kIGxvd2VyIGNhc2UgbGV0dGVycywgZGlnaXRzIGFuZCBub24gYWxwaGFudW1lcmljXG4iCisjfiBtc2dzdHIgImxldHJhcyBtYWnDunNjdWxhcyBlIG1pbsO6c2N1bGFzLCBkw61naXRvcyBlIGNhcmFjdGVyZXMgbsOjbyBhbGZhbnVtw6lyaWNvcy5cbiIKKworI34gbXNnaWQgImNoYXJhY3RlcnMuIFNlZSBwYXNzd2QoMSkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIkNvbnN1bHRlIHBhc3N3ZCgxKSBwYXJhIG1haW9yZXMgaW5mb3JtYcOnw7Vlcy5cbiIKKworI34gbXNnaWQgIllvdSBjYW5ub3QgcmV1c2UgdGhlIG9sZCBwYXNzd29yZC5cbiIKKyN+IG1zZ3N0ciAiVm9jw6ogbsOjbyBwb2RlIHJldXRpbGl6YXIgYSBzZW5oYSBhbnRpZ2EuXG4iCisKKyN+IG1zZ2lkICJQbGVhc2UgZG9uJ3QgdXNlIHNvbWV0aGluZyBsaWtlIHlvdXIgdXNlcm5hbWUgYXMgcGFzc3dvcmQhXG4iCisjfiBtc2dzdHIgIk7Do28gdXNlIGFsZ28gY29tbyBzZXUgbm9tZSBkZSB1c3XDoXJpbyBjb21vIHNlbmhhIVxuIgorCisjfiBtc2dpZCAiUGxlYXNlIGRvbid0IHVzZSBzb21ldGhpbmcgbGlrZSB5b3VyIHJlYWxuYW1lIGFzIHBhc3N3b3JkIVxuIgorI34gbXNnc3RyICJOw6NvIHVzZSBhbGdvIGNvbW8gc2V1IG5vbWUgcmVhbCBjb21vIHNlbmhhIVxuIgorCisjfiBtc2dpZCAiT25seSByb290IG1heSB1c2UgdGhlIG9uZSBhbmQgdHdvIGFyZ3VtZW50IGZvcm1zLlxuIgorI34gbXNnc3RyICJTb21lbnRlIHJvb3QgcG9kZSB1c2FyIG9zIGZvcm1hdG9zIGRlIHVtIGUgZG9pcyBhcmd1bWVudG9zLlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6IHBhc3N3ZCBbLWZvcXN2Vl0gW3VzZXIgW3Bhc3N3b3JkXV1cbiIKKyN+IG1zZ3N0ciAiVXNvOiBwYXNzd2QgWy1mb3FzdlZdIFtub21lX3VzdcOhcmlvIFtzZW5oYV1dXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZmluZCBsb2dpbiBuYW1lIgorI34gbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgbG9jYWxpemFyIG8gbm9tZSBkZSBsb2dpbiIKKworI34gbXNnaWQgIk9ubHkgcm9vdCBjYW4gY2hhbmdlIHRoZSBwYXNzd29yZCBmb3Igb3RoZXJzLlxuIgorI34gbXNnc3RyICJTb21lbnRlIHJvb3QgcG9kZSBhbHRlcmFyIHNlbmhhcyBkZSB0ZXJjZWlyb3MuXG4iCisKKyN+IG1zZ2lkICJDYW4ndCBmaW5kIHVzZXJuYW1lIGFueXdoZXJlLiBJcyBgJXMnIHJlYWxseSBhIHVzZXI/IgorI34gbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgZW5jb250cmFyIG8gbm9tZSBkZSB1c3XDoXJpbyBlbSBuZW5odW0gbHVnYXIuIGAlcycgcmVhbG1lbnRlIMOpIHVtIG5vbWUgZGUgdXN1w6FyaW8/IgorCisjfiBtc2dpZCAiU29ycnksIEkgY2FuIG9ubHkgY2hhbmdlIGxvY2FsIHBhc3N3b3Jkcy4gVXNlIHlwcGFzc3dkIGluc3RlYWQuIgorI34gbXNnc3RyICJFdSBzw7MgcG9zc28gYWx0ZXJhciBzZW5oYXMgbG9jYWlzLiBVc2UgeXBwYXNzd2QuIgorCisjfiBtc2dpZCAiVUlEIGFuZCB1c2VybmFtZSBkb2VzIG5vdCBtYXRjaCwgaW1wb3N0ZXIhIgorI34gbXNnc3RyICJOb21lIGRlIHVzdcOhcmlvIGUgVUlEIG7Do28gY29ycmVzcG9uZGVtLCBpbXBvc3RvciEiCisKKyN+IG1zZ2lkICJDaGFuZ2luZyBwYXNzd29yZCBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAiQWx0ZXJhbmRvIGEgc2VuaGEgcGFyYSBvIHVzdcOhcmlvICVzXG4iCisKKyN+IG1zZ2lkICJJbGxlZ2FsIHBhc3N3b3JkLCBpbXBvc3Rlci4iCisjfiBtc2dzdHIgIlNlbmhhIGluY29ycmV0YSwgaW1wb3N0b3IuIgorCisjfiBtc2dpZCAiRW50ZXIgbmV3IHBhc3N3b3JkOiAiCisjfiBtc2dzdHIgIkluZm9ybWUgYSBub3ZhIHNlbmhhOiAiCisKKyN+IG1zZ2lkICJSZS10eXBlIG5ldyBwYXNzd29yZDogIgorI34gbXNnc3RyICJSZWRpZ2l0ZSBhIG5vdmEgc2VuaGE6ICIKKworI34gbXNnaWQgIllvdSBtaXNzcGVsbGVkIGl0LiBQYXNzd29yZCBub3QgY2hhbmdlZC4iCisjfiBtc2dzdHIgIlZvY8OqIG7Do28gYSBpbmZvcm1vdSBjb3JyZXRhbWVudGUuIEEgc2VuaGEgbsOjbyBmb2kgYWx0ZXJhZGEuIgorCisjfiBtc2dpZCAiUk9PVCBQQVNTV09SRCBDSEFOR0VEIgorI34gbXNnc3RyICJBIFNFTkhBIERPIFJPT1QgRk9JIEFMVEVSQURBIgorCisjfiBtc2dpZCAicGFzc3dvcmQgY2hhbmdlZCBieSByb290LCB1c2VyICVzIgorI34gbXNnc3RyICJzZW5oYSBhbHRlcmFkYSBwZWxvIHJvb3QsIHVzdcOhcmlvICVzIgorCisjfiBtc2dpZCAiY2FsbGluZyBzZXRwd25hbSB0byBzZXQgcGFzc3dvcmQuXG4iCisjfiBtc2dzdHIgImNoYW1hbmRvIHNldHB3bmFtIHBhcmEgZGVmaW5pciBhIHNlbmhhLlxuIgorCisjfiBtc2dpZCAiaGFsdGVkIgorI34gbXNnc3RyICJwYXJhZG8iCisKKyN+IG1zZ2lkICJlcnJvciBydW5uaW5nIHByb2dyYW1tZVxuIgorI34gbXNnc3RyICJlcnJvIGV4ZWN1dGFuZG8gcHJvZ3JhbWFcbiIKKworI34gbXNnaWQgIiVzOiBbJTA0eF06JWxkICglcykgb2Zmc2V0ICVkLCAlcyBlbmNyeXB0aW9uXG4iCisjfiBtc2dzdHIgIiVzOiBbJTA0eF06JWxkICglcykgZGVzbG9jYW1lbnRvICVkLCBjcmlwdG9ncmFmaWEgJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogQ291bGQgbm90IGZpbmQgYW55IGxvb3AgZGV2aWNlLlxuIgorI34gIiAgICAgICBNYXliZSAvZGV2L2xvb3AjIGhhcyBhIHdyb25nIG1ham9yIG51bWJlcj8iCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogTsOjbyBmb2kgcG9zc8OtdmVsIGxvY2FsaXphciBuZW5odW0gZGlzcG9zaXRpdm8gZGUgbGHDp28uXG4iCisjfiAiICAgICAgIFRhbHZleiBkZXYvbG9vcCMgdGVuaGEgdW0gbsO6bWVybyBwcmluY2lwYWwgaW5jb3JyZXRvPyIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogQ291bGQgbm90IGZpbmQgYW55IGxvb3AgZGV2aWNlLiBNYXliZSB0aGlzIGtlcm5lbCBkb2VzIG5vdCBrbm93XG4iCisjfiAiICAgICAgIGFib3V0IHRoZSBsb29wIGRldmljZSAodGhlbiByZWNvbXBpbGUgb3IgYGluc21vZCBsb29wLm8nKSwgb3JcbiIKKyN+ICIgICAgICAgbWF5YmUgL2Rldi9sb29wIyBoYXMgdGhlIHdyb25nIG1ham9yIG51bWJlcj8iCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogTsOjbyBmb2kgcG9zc8OtdmVsIGxvY2FsaXphciBuZW5odW0gZGlzcG9zaXRpdm8gZGUgbGHDp28uIFRhbHZleiBlc3RlIGtlcm5lbFxuIgorI34gIiAgICAgICBuw6NvIGNvbmhlw6dhIG8gZGlzcG9zaXRpdm8gZGUgbGHDp28gKHNlIGZvciBlc3RlIG8gY2FzbywgcmVjb21waWxlIG91IHVzZSBgaW5zbW9kIGxvb3AubycpXG4iCisjfiAiICAgICAgIG91IHRhbHZleiBkZXYvbG9vcCMgdGVuaGEgdW0gbsO6bWVybyBwcmluY2lwYWwgaW5jb3JyZXRvPyIKKworI34gbXNnaWQgIkluaXQgKHVwIHRvIDE2IGhleCBkaWdpdHMpOiAiCisjfiBtc2dzdHIgIkluaWNpYWxpemHDp8OjbyAoYXTDqSAxNiBkw61naXRvcyBoZXhhZGVjaW1haXMpOiIKKworI34gbXNnaWQgIk5vbi1oZXggZGlnaXQgJyVjJy5cbiIKKyN+IG1zZ3N0ciAiRGlnaXRvIG7Do28gaGV4YWRlY2ltYWwgJyVjJy5cbiIKKworI34gbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGdldCBrZXkgZm9yIGVuY3J5cHRpb24gc3lzdGVtICVkXG4iCisjfiBtc2dzdHIgIk8gbW9kbyBkZSBvYnRlciBhIGNoYXZlIHBhcmEgbyBzaXN0ZW1hIGRlIGNyaXB0b2dyYWZpYSAlZCBuw6NvIMOpIGNvbmhlY2lkb1xuIgorCisjfiBtc2dpZCAibW91bnQ6IHRoaXMgdmVyc2lvbiB3YXMgY29tcGlsZWQgd2l0aG91dCBzdXBwb3J0IGZvciB0aGUgdHlwZSBgbmZzJyIKKyN+IG1zZ3N0ciAibW91bnQ6IGVzdGEgdmVyc8OjbyBmb2kgY29tcGlsYWRhIHNlbSBzdXBvcnRlIGFvIHRpcG8gYG5mcyciCisKKyN+IG1zZ2lkICJub3QgbW91bnRlZCBhbnl0aGluZyIKKyN+IG1zZ3N0ciAibmFkYSBmb2kgbW9udGFkbyIKKworI34gbXNnaWQgImN1cnJlbnQiCisjfiBtc2dzdHIgImF0dWFsIgorCisjfiBtc2dpZCAiJXM6ICVsdSBpbnRzLCAlbHUvJWx1IGNoYXJzOyAiCisjfiBtc2dzdHIgIiVzOiAlbHUgaW50cywgJWx1LyVsdSBjaGFyczsgIgorCisjfiBtc2dpZCAiZmlmbzogJWx1IHRocmVzaCwgJWx1IHRtb3V0LCAiCisjfiBtc2dzdHIgImZpZm86ICVsdSBsaW1pYXIsICVsdSB0ZW1wby1saW1pdGUsICIKKworI34gbXNnaWQgIiVsdSBtYXgsICVsdSBub3dcbiIKKyN+IG1zZ3N0ciAiJWx1IG3DoXgsICVsdSBhZ29yYVxuIgorCisjfiBtc2dpZCAiIHdoaWNoIHlvdSBoYXZlIHJlYWQgYWNjZXNzLlxuIgorI34gbXNnc3RyICIgb3MgcXVhaXMgdm9jw6ogdGVtIGFjZXNzbyBkZSBsZWl0dXJhLlxuIgorCisjfiBtc2dpZCAiJS0xMHMlLTEwcyUtMTBzJS0xMHMlLTEwcyUtMTJzXG4iCisjfiBtc2dzdHIgIiUtMTBzJS0xMHMlLTEwcyUtMTBzJS0xMHMlLTEyc1xuIgorCisjfiBtc2dpZCAiICByZGV2IC1zIC9kZXYvZmQwIC9kZXYvaGRhMiAgICAgIHNldCB0aGUgU1dBUCBkZXZpY2UiCisjfiBtc2dzdHIgIiAgcmRldiAtcyAvZGV2L2ZkMCAvZGV2L2hkYTIgICAgICBkZWZpbmUgbyBkaXNwb3NpdGl2byBkZSBTV0FQIChwZXJtdXRhKSIKKworI34gbXNnaWQgIiAgc3dhcGRldiAuLi4gICAgICAgICAgICAgICAgICAgICBzYW1lIGFzIHJkZXYgLXMiCisjfiBtc2dzdHIgIiAgc3dhcGRldiAuLi4gICAgICAgICAgICAgICAgICAgICBvIG1lc21vIHF1ZSByZGV2IC1zIgorCisjfiBtc2dpZCAiQ2FuJ3Qgb3BlbiBoZWxwIGZpbGUiCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciBvIGFycXVpdm8gZGUgYWp1ZGEiCmRpZmYgLS1naXQgYS9wby9ydS5wbyBiL3BvL3J1LnBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzNDRjN2UKLS0tIC9kZXYvbnVsbAorKysgYi9wby9ydS5wbwpAQCAtMCwwICsxLDE4NzkxIEBACisjIFRyYW5zbGF0aW9uIG9mIHV0aWwtbGludXgtMi4yNy1yYzIucG8gdG8gUnVzc2lhbgorIyBDb3B5cmlnaHQgKEMpIDIwMDMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIEluYy4KKyMgVGhpcyBmaWxlIGlzIHB1dCBpbiB0aGUgcHVibGljIGRvbWFpbi4KKyMgUGF2ZWwgTWFyeWFub3YgPGFjaWRAamFjay5raWV2LnVhPiwgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAxNS4KKyMgRXZnZW5peSBZYWt1c2hldiA8eWVuODFAbWFpbC5ydT4sIDIwMTUuCisjCittc2dpZCAiIgorbXNnc3RyICIiCisiUHJvamVjdC1JZC1WZXJzaW9uOiB1dGlsLWxpbnV4IDIuMjctcmMyXG4iCisiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IHV0aWwtbGludXhAdmdlci5rZXJuZWwub3JnXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTctMDItMjIgMTI6MzIrMDEwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTUtMTItMjkgMjI6NTUrMDMwMFxuIgorIkxhc3QtVHJhbnNsYXRvcjogRXZnZW5peSBZYWt1c2hldiA8eWVuODFAbWFpbC5ydT5cbiIKKyJMYW5ndWFnZS1UZWFtOiBSdXNzaWFuIDxnbnVAZDA3LnJ1PlxuIgorIkxhbmd1YWdlOiBydVxuIgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCisiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgorIlgtR2VuZXJhdG9yOiBHdHJhbnNsYXRvciAyLjkxLjZcbiIKKyJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTM7IHBsdXJhbD0obiUxMD09MSAmJiBuJTEwMCE9MTEgPyAwIDogbiUxMD49MiAmJiBuJTEwPD00ICYmIChuJTEwMDwxMCB8fCBuJTEwMD49MjApID8gMSA6IDIpXG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8c3RhcnQ+IDxsZW5ndGg+XG4iCittc2dzdHIgIiAlcyA80YPRgdGC0YDQvtC50YHRgtCy0L4+IDzQvdC+0LzQtdGAINGA0LDQt9C00LXQu9CwPiA80L3QsNGH0LDQu9C+PiA80LTQu9C40L3QsD5cbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTgKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIGV4aXN0ZW5jZSBvZiBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgItCh0L7QvtCx0YnQuNGC0Ywg0Y/QtNGA0YMg0L4g0YHRg9GJ0LXRgdGC0LLQvtCy0LDQvdC40Lgg0YPQutCw0LfQsNC90L3QvtCz0L4g0YDQsNC30LTQtdC70LAuXG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjU2IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyNzYgZGlzay11dGlscy9ibG9ja2Rldi5jOjQyMAorIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ0NiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzQgZGlzay11dGlscy9kZWxwYXJ0LmM6NTcKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjcgZGlzay11dGlscy9mZGlzay5jOjcxOCBkaXNrLXV0aWxzL2ZkaXNrLmM6OTk0CisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozMDEgZGlzay11dGlscy9mZGlzay1saXN0LmM6MzQxCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNjAgZGlzay11dGlscy9mc2NrLmM6MTQ0OAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1NSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTEwCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMzQgZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4OQorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE3MyBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjYxCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzg4IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxOQorIzogZGlzay11dGlscy9ta3N3YXAuYzoyMTUgZGlzay11dGlscy9ta3N3YXAuYzoyNDQgZGlzay11dGlscy9wYXJ0eC5jOjk5NAorIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6NjQ3IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzAzCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc1NyBkaXNrLXV0aWxzL3NmZGlzay5jOjgxNiBkaXNrLXV0aWxzL3NmZGlzay5jOjg4MAorIzogZGlzay11dGlscy9zZmRpc2suYzo5MjEgZGlzay11dGlscy9zZmRpc2suYzo5NTEgZGlzay11dGlscy9zZmRpc2suYzo5ODgKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUzNyBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjYwIGxpYmZkaXNrL3NyYy9ic2QuYzo2NDEKKyM6IGxpYi9wYXRoLmM6NzAgbGliL3BhdGguYzo4MiBsb2dpbi11dGlscy9pc2xvY2FsLmM6ODcgbG9naW4tdXRpbHMvbGFzdC5jOjY3MgorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ0NiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDgzCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM1OQorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODEgbG9naW4tdXRpbHMvdmlwdy5jOjI1OCBsb2dpbi11dGlscy92aXB3LmM6Mjc2CisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDk3IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE4OCBtaXNjLXV0aWxzL21jb29raWUuYzoxMTUKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMDcgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODMgc3lzLXV0aWxzL2RtZXNnLmM6NTIyCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MDAgc3lzLXV0aWxzL2VqZWN0LmM6NzAwIHN5cy11dGlscy9mYWxsb2NhdGUuYzozNzQKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyOCBzeXMtdXRpbHMvZnN0cmltLmM6NzIgc3lzLXV0aWxzL2h3Y2xvY2suYzoyODIKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2Mzggc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTYyCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNTYgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDAxCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MjIgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDY5CisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozODggc3lzLXV0aWxzL25zZW50ZXIuYzoxMjggc3lzLXV0aWxzL3J0Y3dha2UuYzoxMzYKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MjcwIHN5cy11dGlscy9zZXRwcml2LmM6MjMwIHN5cy11dGlscy9zZXRwcml2LmM6NTI5CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1MiBzeXMtdXRpbHMvc3dhcG9uLmM6MzcxIHN5cy11dGlscy9zd2Fwb24uYzo1MTQKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2MyBzeXMtdXRpbHMvdW5zaGFyZS5jOjEwNiBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyMQorIzogc3lzLXV0aWxzL3dkY3RsLmM6MzIxIHN5cy11dGlscy93ZGN0bC5jOjM3NyB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MTgKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEyNyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQyNSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQzMQorIzogdGVybS11dGlscy9zY3JpcHQuYzo0MzMgdGVybS11dGlscy9zY3JpcHQuYzo1MjIKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTk3IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjAwCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozMzEgdGV4dC11dGlscy9jb2xjcnQuYzoyODIgdGV4dC11dGlscy9tb3JlLmM6NTEzCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjE0MSB0ZXh0LXV0aWxzL3RhaWxmLmM6NjggdGV4dC11dGlscy90YWlsZi5jOjEwMAorIzogdGV4dC11dGlscy91bC5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgJXMiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjU5IGRpc2stdXRpbHMvZGVscGFydC5jOjYwIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjk4Cittc2dpZCAiaW52YWxpZCBwYXJ0aXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0LDRgNCz0YPQvNC10L3RgiDQvdC+0LzQtdGAINGA0LDQt9C00LXQu9CwIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MAorbXNnaWQgImludmFsaWQgc3RhcnQgYXJndW1lbnQiCittc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQuSDQsNGA0LPRg9C80LXQvdGCINC90LDRh9Cw0LvQsCIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjEgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA4Cittc2dpZCAiaW52YWxpZCBsZW5ndGggYXJndW1lbnQiCittc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQuSDQsNGA0LPRg9C80LXQvdGCINC00LvQuNC90YsiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYyCittc2dpZCAiZmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24iCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LTQvtCx0LDQstC40YLRjCDRgNCw0LfQtNC10LsiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo2MworbXNnaWQgInNldCByZWFkLW9ubHkiCittc2dzdHIgItGD0YHRgtCw0L3QvtCy0LjRgtGMINGC0L7Qu9GM0LrQviDQtNC70Y8g0YfRgtC10L3QuNGPIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzAKK21zZ2lkICJzZXQgcmVhZC13cml0ZSIKK21zZ3N0ciAi0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0YfRgtC10L3QuNC1LdC30LDQv9C40YHRjCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjc2Cittc2dpZCAiZ2V0IHJlYWQtb25seSIKK21zZ3N0ciAi0L/QvtC70YPRh9C40YLRjCDRgtC+0LvRjNC60L4g0LTQu9GPINGH0YLQtdC90LjRjyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjgyCittc2dpZCAiZ2V0IGRpc2NhcmQgemVyb2VzIHN1cHBvcnQgc3RhdHVzIgorbXNnc3RyICLQv9C+0LvRg9GH0LjRgtGMINGB0L7RgdGC0L7Rj9C90LjQtSDQv9C+0LTQtNC10YDQttC60Lgg0LjQs9C90L7RgNC40YDQvtCy0LDQvdC40Y8g0L3Rg9C70LXQstGL0YUg0LTQsNC90L3Ri9GFIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODgKK21zZ2lkICJnZXQgbG9naWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICLQv9C+0LvRg9GH0LjRgtGMINGA0LDQt9C80LXRgCDQu9C+0LPQuNGH0LXRgdC60L7Qs9C+INCx0LvQvtC60LAgKNGB0LXQutGC0L7RgNCwKSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjk0Cittc2dpZCAiZ2V0IHBoeXNpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgItC/0L7Qu9GD0YfQuNGC0Ywg0YDQsNC30LzQtdGAINGE0LjQt9C40YfQtdGB0LrQvtCz0L4g0LHQu9C+0LrQsCAo0YHQtdC60YLQvtGA0LApIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTAwCittc2dpZCAiZ2V0IG1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgItC/0L7Qu9GD0YfQuNGC0Ywg0LzQuNC90LjQvNCw0LvRjNC90YvQuSDRgNCw0LfQvNC10YAgSS9PIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTA2Cittc2dpZCAiZ2V0IG9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgItC/0L7Qu9GD0YfQuNGC0Ywg0L7Qv9GC0LjQvNCw0LvRjNC90YvQuSDRgNCw0LfQvNC10YAgSS9PIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTEyCittc2dpZCAiZ2V0IGFsaWdubWVudCBvZmZzZXQgaW4gYnl0ZXMiCittc2dzdHIgItC/0L7Qu9GD0YfQuNGC0Ywg0YHQvNC10YnQtdC90LjQtSDQstGL0YDQsNCy0L3QuNCy0LDQvdC40Y8g0LIg0LHQsNC50YLQsNGFIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTE4Cittc2dpZCAiZ2V0IG1heCBzZWN0b3JzIHBlciByZXF1ZXN0IgorbXNnc3RyICLQv9C+0LvRg9GH0LjRgtGMINC80LDQutGBLiDRh9C40YHQu9C+INGB0LXQutGC0L7RgNC+0LIg0LfQsCDQt9Cw0L/RgNC+0YEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMjQKK21zZ2lkICJnZXQgYmxvY2tzaXplIgorbXNnc3RyICLQv9C+0LvRg9GH0LjRgtGMINGA0LDQt9C80LXRgCDQsdC70L7QutCwIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTMxCittc2dpZCAic2V0IGJsb2Nrc2l6ZSBvbiBmaWxlIGRlc2NyaXB0b3Igb3BlbmluZyB0aGUgYmxvY2sgZGV2aWNlIgorbXNnc3RyICLRg9GB0YLQsNC90L7QstC40YLRjCDRgNCw0LfQvNC10YAg0LHQu9C+0LrQsCDQvdCwINC00LXRgdC60YDQuNC/0YLQvtGA0LUg0YTQsNC50LvQsCwg0YPQutCw0LfRi9Cy0LDRjtGJ0LXQs9C+INC90LAg0LHQu9C+0YfQvdC+0LUg0YPRgdGC0YDQvtC50YHRgtCy0L4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzcKK21zZ2lkICJnZXQgMzItYml0IHNlY3RvciBjb3VudCAoZGVwcmVjYXRlZCwgdXNlIC0tZ2V0c3opIgorbXNnc3RyICLQv9C+0LvRg9GH0LjRgtGMINC60L7Qu9C40YfQtdGB0YLQstC+IDMyLdCx0LjRgtC90YvRhSDRgdC10LrRgtC+0YDQvtCyICjRg9GB0YLQsNGA0LXQu9C+LCDQuNGB0L/QvtC70YzQt9GD0LnRgtC1IC0tZ2V0c3opIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTQzCittc2dpZCAiZ2V0IHNpemUgaW4gYnl0ZXMiCittc2dzdHIgItC/0L7Qu9GD0YfQuNGC0Ywg0YDQsNC30LzQtdGAINCyINCx0LDQudGC0LDRhSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1MAorbXNnaWQgInNldCByZWFkYWhlYWQiCittc2dzdHIgItGD0YHRgtCw0L3QvtCy0LjRgtGMINGD0L/RgNC10LbQtNCw0Y7RidC10LUg0YfRgtC10L3QuNC1IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTU2Cittc2dpZCAiZ2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAi0L/QvtC70YPRh9C40YLRjCDRg9C/0YDQtdC20LTQsNGO0YnQtdC1INGH0YLQtdC90LjQtSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2MworbXNnaWQgInNldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAi0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0YPQv9GA0LXQttC00LDRjtGJ0LXQtSDRh9GC0LXQvdC40LUg0KTQoSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2OQorbXNnaWQgImdldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAi0L/QvtC70YPRh9C40YLRjCDRg9C/0YDQtdC20LTQsNGO0YnQtdC1INGH0YLQtdC90LjQtSDQpNChIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTczCittc2dpZCAiZmx1c2ggYnVmZmVycyIKK21zZ3N0ciAi0L7Rh9C40YHRgtC40YLRjCDQsdGD0YTQtdGA0YsiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzcKK21zZ2lkICJyZXJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICLQv9C10YDQtdGH0LjRgtCw0YLRjCDRgtCw0LHQu9C40YbRgyDRgNCw0LfQtNC10LvQvtCyIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJTEkcyAtVlxuIgorIiAlMSRzIC0tcmVwb3J0IFtkZXZpY2VzXVxuIgorIiAlMSRzIFstdnwtcV0gY29tbWFuZHMgZGV2aWNlc1xuIgorIlxuIgorIkF2YWlsYWJsZSBjb21tYW5kczpcbiIKK21zZ3N0ciAiIgorIlxuIgorItCY0YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OlxuIgorIiAlMSRzIC1WXG4iCisiICUxJHMgLS1yZXBvcnQgW9GD0YHRgtGA0L7QudGB0YLQstCwXVxuIgorIiAlMSRzIFstdnwtcV0g0LrQvtC80LDQvdC00Ysg0YPRgdGC0YDQvtC50YHRgtCy0LBcbiIKKyJcbiIKKyLQlNC+0YHRgtGD0L/QvdGL0LUg0LrQvtC80LDQvdC00Ys6XG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICUtMjVzIGdldCBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnNcbiIKK21zZ3N0ciAiICUtMjVzINC/0L7Qu9GD0YfQuNGC0Ywg0YDQsNC30LzQtdGAINCyINGB0LXQutGC0L7RgNCw0YUg0L/QviA1MTIg0LHQsNC50YJcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMxMQorbXNnaWQgImNvdWxkIG5vdCBnZXQgZGV2aWNlIHNpemUiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/QvtC70YPRh9C40YLRjCDRgNCw0LfQvNC10YAg0YPRgdGC0YDQvtC50YHRgtCy0LAiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjb21tYW5kOiAlcyIKK21zZ3N0ciAi0J3QtdC40LfQstC10YHRgtC90LDRjyDQutC+0LzQsNC90LTQsDogJXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgItCU0LvRjyAlcyDRgtGA0LXQsdGD0LXRgtGB0Y8g0LDRgNCz0YPQvNC10L3RgiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM2OCBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGVycm9yIG9uICVzIgorbXNnc3RyICLQvtGI0LjQsdC60LAg0YPQv9GA0LDQstC70LXQvdC40Y8g0LLQstC+0LTQvtC8LdCy0YvQstC+0LTQvtC8INC90LAgJXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkLlxuIgorbXNnc3RyICIlcyDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5LlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiJXMg0LfQsNCy0LXRgNGI0ZHQvSDRg9GB0L/QtdGI0L3Qvi5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgc3lzZnMgaGFuZGxlciIKK21zZ3N0ciAiJXM6INC90LUg0YPQtNCw0LvQvtGB0Ywg0LjQvdC40YbQuNCw0LvQuNC30LjRgNC+0LLQsNGC0Ywg0L7QsdGA0LDQsdC+0YLRh9C40Logc3lzZnMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiBzdGFydCBmcm9tIHN5c2ZzIgorbXNnc3RyICIlczog0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0L3QsNGH0LDQu9C+INGA0LDQt9C00LXQu9CwINC40Lcgc3lzZnMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk8gICAgUkEgICBTU1ogICBCU1ogICBTdGFydFNlYyAgICAgICAgICAgIFNpemUgICBEZXZpY2VcbiIKK21zZ3N0ciAi0KfRgiAgICDQl9C/ICAg0KHQutGCICAg0JHQu9C6ICAg0J3QsNGH0KHQtdC60YIgICAgICAgICAgICAg0KDQsNC30LzQtdGAINCj0YHRgtGA0L7QudGB0YLQstC+XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTc5Cittc2dpZCAiQm9vdGFibGUiCittc2dzdHIgItCX0LDQs9GA0YPQty4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTc5Cittc2dpZCAiVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICLQn9C10YDQtdC60LvRjtGH0LjRgtGMINC30LDQs9GA0YPQt9C+0YfQvdGL0Lkg0YTQu9Cw0LMg0YLQtdC60YPRidC10LPQviDRgNCw0LfQtNC10LvQsCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODAKK21zZ2lkICJEZWxldGUiCittc2dzdHIgItCj0LTQsNC70LjRgtGMIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MAorbXNnaWQgIkRlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgItCj0LTQsNC70LjRgtGMINGC0LXQutGD0YnQuNC5INGA0LDQt9C00LXQuyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODEKK21zZ2lkICJOZXciCittc2dzdHIgItCd0L7QstGL0LkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgxCittc2dpZCAiQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICLQodC+0LfQtNCw0YLRjCDQvdC+0LLRi9C5INGA0LDQt9C00LXQuyDQvdCwINGB0LLQvtCx0L7QtNC90L7QvCDQv9GA0L7RgdGC0YDQsNC90YHRgtCy0LUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgyCittc2dpZCAiUXVpdCIKK21zZ3N0ciAi0JLRi9GF0L7QtCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODIKKyMsIGZ1enp5Cittc2dpZCAiUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBjaGFuZ2VzIgorbXNnc3RyICLQktGL0LnRgtC4INC40Lcg0L/RgNC+0LPRgNCw0LzQvNGLINCx0LXQtyDQt9Cw0L/QuNGB0Lgg0YLQsNCx0LvQuNGG0Ysg0YDQsNC30LTQtdC70L7QsiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODMgbGliZmRpc2svc3JjL2JzZC5jOjQzOSBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMAorIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDYgbGliZmRpc2svc3JjL2dwdC5jOjI5MTYgbGliZmRpc2svc3JjL3NnaS5jOjExNjAKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE2Cittc2dpZCAiVHlwZSIKK21zZ3N0ciAi0KLQuNC/IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MworbXNnaWQgIkNoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgItCY0LfQvNC10L3QuNGC0Ywg0YLQuNC/INGC0LDQsdC70LjRhtGLINGA0LDQt9C00LXQu9C+0LIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0Cittc2dpZCAiSGVscCIKK21zZ3N0ciAi0KHQv9GA0LDQstC60LAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0Cittc2dpZCAiUHJpbnQgaGVscCBzY3JlZW4iCittc2dzdHIgItCf0L7QutCw0LfQsNGC0Ywg0YHQv9GA0LDQstC60YMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1Cittc2dpZCAiU29ydCIKK21zZ3N0ciAi0KHQvtGA0YLQuNGA0L7QstC60LAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1Cittc2dpZCAiRml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgItCY0YHQv9GA0LDQstC40YLRjCDQv9C+0YDRj9C00L7QuiDRgNCw0LfQtNC10LvQvtCyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIldyaXRlIgorbXNnc3RyICLQl9Cw0L/QuNGB0YwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhKSIKK21zZ3N0ciAi0JfQsNC/0LjRgdCw0YLRjCDRgtCw0LHQu9C40YbRgyDRgNCw0LfQtNC10LvQvtCyINC90LAg0LTQuNGB0LogKNGN0YLQviDQvNC+0LbQtdGCINGA0LDQt9GA0YPRiNC40YLRjCDQtNCw0L3QvdGL0LUpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworbXNnaWQgIkR1bXAiCittc2dzdHIgItCU0LDQvNC/IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworbXNnaWQgIkR1bXAgcGFydGl0aW9uIHRhYmxlIHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICLQl9Cw0L/QuNGB0LDRgtGMINGC0LDQsdC70LjRhtGDINGA0LDQt9C00LXQu9C+0LIg0LIg0YTQsNC50Lsg0YHRhtC10L3QsNGA0LjRjywg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdC80L7Qs9C+IHNmZGlzayIKKworIzogZGlzay11dGlscy9jZmRpc2suYzo2MjAgZGlzay11dGlscy9mZGlzay5jOjQxNQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlhbG9nIHR5cGUgJWQiCittc2dzdHIgItCy0L3Rg9GC0YDQtdC90L3Rj9GPINC+0YjQuNCx0LrQsDog0L3QtdC/0L7QtNC00LXRgNC20LjQstCw0LXQvNGL0Lkg0YLQuNC/INC00LjQsNC70L7Qs9CwICVkIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG1vdW50ZWQpIgorbXNnc3RyICIlcyAo0L/RgNC40LzQvtC90YLQuNGA0L7QstCw0L0pIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyNzQKK21zZ2lkICJQYXJ0aXRpb24gbmFtZToiCittc2dzdHIgItCY0LzRjyDRgNCw0LfQtNC10LvQsDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI4MQorbXNnaWQgIlBhcnRpdGlvbiBVVUlEOiIKK21zZ3N0ciAiVVVJRCDRgNCw0LfQtNC10LvQsDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI5MworbXNnaWQgIlBhcnRpdGlvbiB0eXBlOiIKK21zZ3N0ciAi0KLQuNC/INGA0LDQt9C00LXQu9CwOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzAwCittc2dpZCAiQXR0cmlidXRlczoiCittc2dzdHIgItCQ0YLRgNC40LHRg9GC0Ys6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMjQKK21zZ2lkICJGaWxlc3lzdGVtIFVVSUQ6IgorbXNnc3RyICJVVUlEINGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80Ys6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMzEKKyMsIGZ1enp5Cittc2dpZCAiRmlsZXN5c3RlbSBMQUJFTDoiCittc2dzdHIgItCc0JXQotCa0JAg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRiyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzM3Cittc2dpZCAiRmlsZXN5c3RlbToiCittc2dzdHIgItCk0LDQudC70L7QstCw0Y8g0YHQuNGB0YLQtdC80LA6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNDIKK21zZ2lkICJNb3VudHBvaW50OiIKK21zZ3N0ciAi0KLQvtGH0LrQsCDQvNC+0L3RgtC40YDQvtCy0LDQvdC40Y86IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzazogJXMiCittc2dzdHIgItCU0LjRgdC6OiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlNpemU6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICLQoNCw0LfQvNC10YA6ICVzLCAlanUg0LHQsNC50YIsICVqdSDRgdC10LrRgtC+0YDQvtCyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzLCBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAi0JzQtdGC0LrQsDogJXMsINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcyIKK21zZ3N0ciAi0JzQtdGC0LrQsDogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0NgorbXNnaWQgIk1heSBiZSBmb2xsb3dlZCBieSBNIGZvciBNaUIsIEcgZm9yIEdpQiwgVCBmb3IgVGlCLCBvciBTIGZvciBzZWN0b3JzLiIKK21zZ3N0ciAi0JzQvtC20L3QviDRg9C60LDQt9Cw0YLRjCBNINC00LvRjyDQnNCxLCBHINC00LvRjyDQk9CxLCBUINC00LvRjyBUYiDQuNC70LggUyDQtNC70Y8g0YHQtdC60YLQvtGA0L7QsiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODUyCittc2dpZCAiUGxlYXNlLCBzcGVjaWZ5IHNpemUuIgorbXNnc3RyICLQo9C60LDQttC40YLQtSDRgNCw0LfQvNC10YAuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWluaW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgItCc0LjQvdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAwqDigJQgJWp1INCx0LDQudGCLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgzCisjLCBjLWZvcm1hdAorbXNnaWQgIk1heGltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICLQnNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAwqDigJQgJWp1ICjQsdCw0LnRgikuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OTAKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2l6ZS4iCittc2dzdHIgItCd0LUg0YPQtNCw0ZHRgtGB0Y8g0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0YDQsNC30LzQtdGALiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQ4Cittc2dpZCAiU2VsZWN0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICLQktGL0LHQtdGA0LjRgtC1INGC0LjQvyDRgNCw0LfQtNC10LvQsCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTk0IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAyNAorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWU6ICIKK21zZ3N0ciAi0KPQutCw0LbQuNGC0LUg0LjQvNGPINGE0LDQudC70LAg0YHRhtC10L3QsNGA0LjRjzogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5OTUKK21zZ2lkICJUaGUgc2NyaXB0IGZpbGUgd2lsbCBiZSBhcHBsaWVkIHRvIGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICLQmiDRgtCw0LHQu9C40YbQtSDRgNCw0LfQtNC10LvQvtCyLCDQvdCw0YXQvtC00Y/RidC10LnRgdGPINCyINC/0LDQvNGP0YLQuCwg0LHRg9C00LXRgiDQv9GA0LjQvNC10L3QtdC9INGE0LDQudC7INGB0YbQtdC90LDRgNC40Y8uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMDQgZGlzay11dGlscy9jZmRpc2suYzoyMDQ2CisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjUgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuICVzIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDA2IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2NworIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdGA0LDQsdC+0YLQsNGC0Ywg0YTQsNC50Lsg0YHRhtC10L3QsNGA0LjRjyAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDA4IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2OQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0ICVzIgorbXNnc3RyICLQndC10YPQtNCw0LvQvtGB0Ywg0L/RgNC40LzQtdC90LjRgtGMINGB0YbQtdC90LDRgNC40LkgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAyNQorbXNnaWQgIlRoZSBjdXJyZW50IGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUgd2lsbCBiZSBkdW1wZWQgdG8gdGhlIGZpbGUuIgorbXNnc3RyICLQotC10LrRg9GJ0LDRjyDRgtCw0LHQu9C40YbQsCDRgNCw0LfQtNC10LvQvtCyINCyINC/0LDQvNGP0YLQuCDQsdGD0LTQtdGCINGB0L7RhdGA0LDQvdC10L3QsCDQsiDRhNCw0LnQuy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0OTEKK21zZ2lkICJGYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdGA0LDRgtC40YLRjNGB0Y8g0Log0L7QsdGA0LDQsdC+0YLRh9C40LrRgyDRgdGG0LXQvdCw0YDQuNGPIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzkKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBkaXNrIGxheW91dCBpbnRvIHNjcmlwdC4iCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YHRh9C40YLQsNGC0Ywg0YDQsNC30LzQtdGC0LrRgyDQtNC40YHQutCwINC00LvRjyDRgdC60YDQuNC/0YLQsC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA1MworbXNnaWQgIkRpc2sgbGF5b3V0IHN1Y2Nlc3NmdWxseSBkdW1wZWQuIgorbXNnc3RyICLQoNCw0LfQvNC10YLQutCwINC00LjRgdC60LAg0YPRgdC/0LXRiNC90L4g0YHQvtGF0YDQsNC90LXQvdCwLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDU2IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUwOQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgc2NyaXB0ICVzIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0YHQutGA0LjQv9GCICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwOTIKK21zZ2lkICJTZWxlY3QgbGFiZWwgdHlwZSIKK21zZ3N0ciAi0JLRi9Cx0LXRgNC40YLQtSDRgtC40L8g0LzQtdGC0LrQuCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDk1IGRpc2stdXRpbHMvZmRpc2suYzoxMDE3Cittc2dpZCAiRGV2aWNlIGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgItCj0YHRgtGA0L7QudGB0YLQstC+INC90LUg0YHQvtC00LXRgNC20LjRgiDRgdGC0LDQvdC00LDRgNGC0L3QvtC5INGC0LDQsdC70LjRhtGLINGA0LDQt9C00LXQu9C+0LIuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMDEKK21zZ2lkICJTZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBsYWJlbCBvciBwcmVzcyAnTCcgdG8gbG9hZCBzY3JpcHQgZmlsZS4iCittc2dzdHIgItCn0YLQvtCx0Ysg0LfQsNC00LDRgtGMINC90L7QstGD0Y4g0LzQtdGC0LrRgywg0LLRi9Cx0LXRgNC40YLQtSDRgtC40L8g0LjQu9C4INC90LDQttC80LjRgtC1ICdMJyDQtNC70Y8g0LfQsNCz0YDRg9C30LrQuCDRhNCw0LnQu9CwINGB0YbQtdC90LDRgNC40Y8uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDYKK21zZ2lkICJUaGlzIGlzIGNmZGlzaywgYSBjdXJzZXMtYmFzZWQgZGlzayBwYXJ0aXRpb25pbmcgcHJvZ3JhbS4iCittc2dzdHIgItCt0YLQviBjZmRpc2sgLSDQv9GA0L7QutC70Y/RgtCw0Y8g0L/RgNC+0LPRgNCw0LzQvNCwINC00LvRjyDRgNCw0LfQvNC10YLQutC4INC00LjRgdC60LAuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDcKK21zZ2lkICJJdCBsZXRzIHlvdSBjcmVhdGUsIGRlbGV0ZSwgYW5kIG1vZGlmeSBwYXJ0aXRpb25zIG9uIGEgYmxvY2sgZGV2aWNlLiIKK21zZ3N0ciAi0J7QvdCwINC/0L7Qt9Cy0L7Qu9GP0LXRgiDQstCw0Lwg0YHQvtC30LTQsNCy0LDRgtGMLCDRg9C00LDQu9GP0YLRjCDQuCDQuNC30LzQtdC90Y/RgtGMINGA0LDQt9C00LXQu9GLINC90LAg0LHQu9C+0YfQvdGL0YUg0YPRgdGC0YDQvtC50YHRgtCy0LDRhS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE0OQorbXNnaWQgIkNvbW1hbmQgICAgICBNZWFuaW5nIgorbXNnc3RyICLQmtC+0LzQsNC90LTQsCAgICAgINCX0L3QsNGH0LXQvdC40LUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MAorbXNnaWQgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorbXNnc3RyICItLS0tLS0tICAgICAgLS0tLS0tLS0iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MQorbXNnaWQgIiAgYiAgICAgICAgICBUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgYiAgICAgICAgICDQn9C10YDQtdC60LvRjtGH0LXQvdC40LUg0LfQsNCz0YDRg9C30L7Rh9C90L7Qs9C+INGE0LvQsNCz0LAg0YLQtdC60YPRidC10LPQviDRgNCw0LfQtNC10LvQsCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUyCittc2dpZCAiICBkICAgICAgICAgIERlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgZCAgICAgICAgICDQo9C00LDQu9C10L3QuNC1INGC0LXQutGD0YnQtdCz0L4g0YDQsNC30LTQtdC70LAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MworbXNnaWQgIiAgaCAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKK21zZ3N0ciAiICBoICAgICAgICAgINCS0YvQstC+0LQg0Y3RgtC+0Lkg0YHQv9GA0LDQstC60LgiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NAorbXNnaWQgIiAgbiAgICAgICAgICBDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIiAgbiAgICAgICAgICDQodC+0LfQtNCw0L3QuNC1INC90L7QstC+0LPQviDRgNCw0LfQtNC10LvQsCDQvdCwINGB0LLQvtCx0L7QtNC90L7QvCDQv9GA0L7RgdGC0YDQsNC90YHRgtCy0LUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NQorbXNnaWQgIiAgcSAgICAgICAgICBRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICBxICAgICAgICAgINCS0YvRhdC+0LQg0LjQtyDQv9GA0L7Qs9GA0LDQvNC80Ysg0LHQtdC3INC30LDQv9C40YHQuCDRgtCw0LHQu9C40YbRiyDRgNCw0LfQtNC10LvQvtCyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTYKK21zZ2lkICIgIHMgICAgICAgICAgRml4IHBhcnRpdGlvbnMgb3JkZXIgKG9ubHkgd2hlbiBpbiBkaXNhcnJheSkiCittc2dzdHIgIiAgcyAgICAgICAgICDQmNGB0L/RgNCw0LLQu9C10L3QuNC1INC/0L7RgNGP0LTQutCwINGA0LDQt9C00LXQu9C+0LIgKNGC0L7Qu9GM0LrQviDQv9GA0Lgg0L3QtdC/0YDQsNCy0LjQu9GM0L3QvtC8INC/0L7RgNGP0LTQutC1INGB0LvQtdC00L7QstCw0L3QuNGPINGA0LDQt9C00LXQu9C+0LIpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTcKK21zZ2lkICIgIHQgICAgICAgICAgQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiICB0ICAgICAgICAgINCh0LzQtdC90LAg0YLQuNC/0LAg0YDQsNC30LTQtdC70LAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1OAorbXNnaWQgIiAgdSAgICAgICAgICBEdW1wIGRpc2sgbGF5b3V0IHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICIgIHUgICAgICAgICAg0JfQsNC/0LjRgdCw0YLRjCDRgdC+0LTQtdGA0LbQuNC80L7QtSDQtNC40YHQutCwINCyINGE0LDQudC7INGB0YbQtdC90LDRgNC40Y8sINC/0L7QtNC00LXRgNC20LjQstCw0LXQvNC+0LPQviBzZmRpc2siCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1OQorbXNnaWQgIiAgVyAgICAgICAgICBXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAoeW91IG11c3QgZW50ZXIgdXBwZXJjYXNlIFcpOyIKK21zZ3N0ciAiICBXICAgICAgICAgINCX0LDQv9C40YHRjCDRgtCw0LHQu9C40YbRiyDRgNCw0LfQtNC10LvQvtCyINC90LAg0LTQuNGB0LogKNGC0YDQtdCx0YPQtdGC0YHRjyDQstCy0LXRgdGC0Lgg0LfQsNCz0LvQsNCy0L3Rg9GOIFcpOyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYwCittc2dpZCAiICAgICAgICAgICAgICAgc2luY2UgdGhpcyBtaWdodCBkZXN0cm95IGRhdGEgb24gdGhlIGRpc2ssIHlvdSBtdXN0IGVpdGhlciIKK21zZ3N0ciAiICAgICAgICAgICAgINCiLtC6LiDRjdGC0L4g0LzQvtC20LXRgiDRgNCw0LfRgNGD0YjQuNGC0Ywg0LTQsNC90L3Ri9C1INC90LAg0LTQuNGB0LrQtSwg0LLRiyDQtNC+0LvQttC90Ysg0LvQuNCx0L4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MQorbXNnaWQgIiAgICAgICAgICAgICAgIGNvbmZpcm0gb3IgZGVueSB0aGUgd3JpdGUgYnkgZW50ZXJpbmcgJ3llcycgb3IgJ25vJyIKK21zZ3N0ciAiICAgICAgICAgICAgINC/0L7QtNGC0LLQtdGA0LTQuNGC0Ywg0LjQu9C4INC+0YLQvNC10L3QuNGC0Ywg0LfQsNC/0LjRgdGMLCDQvdCw0LHRgNCw0LIgJ9C00LAnINC40LvQuCAn0L3QtdGCJyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYyCittc2dpZCAiICB4ICAgICAgICAgIERpc3BsYXkvaGlkZSBleHRyYSBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICB4ICAgICAgICAgINCe0YLQvtCx0YDQsNC30LjRgtGML9GB0LrRgNGL0YLRjCDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3Rg9GOINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INGA0LDQt9C00LXQu9C1IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjMKK21zZ2lkICJVcCBBcnJvdyAgICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIHBhcnRpdGlvbiIKK21zZ3N0ciAi0KHRgtGA0LXQu9C60LAg0LLQstC10YDRhSDQn9C10YDQtdC80LXRidC10L3QuNC1INC60YPRgNGB0L7RgNCwINC90LAg0L/RgNC10LTRi9C00YPRidC40Lkg0YDQsNC30LTQtdC7IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjQKK21zZ2lkICJEb3duIEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgcGFydGl0aW9uIgorbXNnc3RyICLQodGC0YDQtdC70LrQsCDQstC90LjQtyDQn9C10YDQtdC80LXRidC10L3QuNC1INC60YPRgNGB0L7RgNCwINC90LAg0YHQu9C10LTRg9GO0YnQuNC5INGA0LDQt9C00LXQuyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY1Cittc2dpZCAiTGVmdCBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBtZW51IGl0ZW0iCittc2dzdHIgItCh0YLRgNC10LvQutCwINCy0LvQtdCy0L4gINCf0LXRgNC10LzQtdGJ0LXQvdC40LUg0LrRg9GA0YHQvtGA0LAg0L3QsCDQv9GA0LXQtNGL0LTRg9GJ0LjQuSDQv9GD0L3QutGCINC80LXQvdGOIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjYKK21zZ2lkICJSaWdodCBBcnJvdyAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgbWVudSBpdGVtIgorbXNnc3RyICLQodGC0YDQtdC70LrQsCDQstC/0YDQsNCy0L4g0J/QtdGA0LXQvNC10YnQtdC90LjQtSDQutGD0YDRgdC+0YDQsCDQvdCwINGB0LvQtdC00YPRjtGJ0LjQuSDQv9GD0L3QutGCINC80LXQvdGOIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjgKK21zZ2lkICJOb3RlOiBBbGwgb2YgdGhlIGNvbW1hbmRzIGNhbiBiZSBlbnRlcmVkIHdpdGggZWl0aGVyIHVwcGVyIG9yIGxvd2VyIgorbXNnc3RyICLQn9GA0LjQvNC10YfQsNC90LjQtTog0JLRgdC1INC60L7QvNCw0L3QtNGLINC80L7Qs9GD0YIg0LHRi9GC0Ywg0LLQstC10LTQtdC90Ysg0LrQsNC6INCyINCy0LXRgNGF0L3QtdC8IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjkKK21zZ2lkICJjYXNlIGxldHRlcnMgKGV4Y2VwdCBmb3IgV3JpdGUpLiIKK21zZ3N0ciAi0YLQsNC6INC4INC90LjQttC90LXQvCDRgNC10LPQuNGB0YLRgNC1ICjQt9CwINC40YHQutC70Y7Rh9C10L3QuNC10Lwg0LrQvtC80LDQvdC00YsgV3JpdGUpLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTcxCittc2dpZCAiVXNlIGxzYmxrKDgpIG9yIHBhcnR4KDgpIHRvIHNlZSBtb3JlIGRldGFpbHMgYWJvdXQgdGhlIGRldmljZS4iCittc2dzdHIgItCY0YHQv9C+0LvRjNC30YPQudGC0LUgbHNibGsoOCkg0LjQu9C4IHBhcnR4KDgpLCDRh9GC0L7QsdGLINC/0L7RgdC80L7RgtGA0LXRgtGMINCx0L7Qu9C10LUg0L/QvtC00YDQvtCx0L3Rg9GOINC40L3RhNC+0YDQvNCw0YbQuNGOINC+0LEg0YPRgdGC0YDQvtC50YHRgtCy0LUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzggZGlzay11dGlscy9jZmRpc2suYzoyNDM3Cittc2dpZCAiUHJlc3MgYSBrZXkgdG8gY29udGludWUuIgorbXNnc3RyICLQndCw0LbQvNC40YLQtSDQutC70LDQstC40YjRgyDQtNC70Y8g0L/RgNC+0LTQvtC70LbQtdC90LjRjy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI2MAorbXNnaWQgIkNvdWxkIG5vdCB0b2dnbGUgdGhlIGZsYWcuIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LrQu9GO0YfQuNGC0Ywg0L/RgNC40LfQvdCw0LouIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRg9C00LDQu9C40YLRjCDRgNCw0LfQtNC10LsgJXp1LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjcyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzMworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGhhcyBiZWVuIGRlbGV0ZWQuIgorbXNnc3RyICLQoNCw0LfQtNC10LsgJXp1INCx0YvQuyDRg9C00LDQu9C10L0uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyOTMKK21zZ2lkICJQYXJ0aXRpb24gc2l6ZTogIgorbXNnc3RyICLQoNCw0LfQvNC10YAg0YDQsNC30LTQtdC70LA6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAi0JjQt9C80LXQvdC10L0g0YLQuNC/INGA0LDQt9C00LXQu9CwICV6dS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgdHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCittc2dzdHIgItCi0LjQvyDRgNCw0LfQtNC10LvQsCAlenUg0L3QtSDQuNC30LzQtdC90LjQu9GB0Y8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM1MyBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NjYgZGlzay11dGlscy9mZGlzay5jOjk5MQorIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTcwCittc2dpZCAiRGV2aWNlIGlzIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUuIgorbXNnc3RyICLQo9GB0YLRgNC+0LnRgdGC0LLQviDQvtGC0LrRgNGL0YLQviDQsiDRgNC10LbQuNC80LUg0LTQu9GPINGH0YLQtdC90LjRjy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM1OAorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAi0JLRiyDRg9Cy0LXRgNC10L3Riywg0YfRgtC+INGF0L7RgtC40YLQtSDQt9Cw0L/QuNGB0LDRgtGMINGC0LDQsdC70LjRhtGDINGA0LDQt9C00LXQu9C+0LIg0L3QsCDQtNC40YHQuj8gIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjAKK21zZ2lkICJUeXBlIFwieWVzXCIgb3IgXCJub1wiLCBvciBwcmVzcyBFU0MgdG8gbGVhdmUgdGhpcyBkaWFsb2cuIgorbXNnc3RyICLQndCw0LHQtdGA0LjRgtC1IFwieWVzXCIg0LjQu9C4IFwibm9cIiwg0LjQu9C4INC90LDQttC80LjRgtC1IEVTQyDQtNC70Y8g0LLQvtC30LLRgNCw0YLQsC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM2NSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOSBzeXMtdXRpbHMvbHNjcHUuYzoxNTQwCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTUwCittc2dpZCAieWVzIgorbXNnc3RyICLQtNCwIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjYKK21zZ2lkICJEaWQgbm90IHdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrLiIKK21zZ3N0ciAi0KLQsNCx0LvQuNGG0LAg0YDQsNC30LTQtdC70L7QsiDQvdC1INC30LDQv9C40YHQsNC90LAg0L3QsCDQtNC40YHQui4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3MQorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwuIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0LzQtdGC0LrRgyDQtNC40YHQutCwLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzc0IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU3OAorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgItCi0LDQsdC70LjRhtCwINGA0LDQt9C00LXQu9C+0LIg0LHRi9C70LAg0LjQt9C80LXQvdC10L3QsC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM5NyBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NjgKK21zZ2lkICJOb3RlIHRoYXQgcGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyIG5vdy4iCittc2dzdHIgItCe0LHRgNCw0YLQuNGC0LUg0LLQvdC40LzQsNC90LjQtSwg0YfRgtC+INC30LDQv9C40YHQuCDRgtCw0LHQu9C40YbRiyDRgNCw0LfQtNC10LvQvtCyINGA0LDRgdC/0L7Qu9C+0LbQtdC90Ysg0L3QtSDQsiDQtNC40YHQutC+0LLQvtC8INC/0L7RgNGP0LTQutC1IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmU7IGl0IHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0NQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBuZXcgZGlza2xhYmVsIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINC90L7QstGD0Y4g0LzQtdGC0LrRgyDQtNC40YHQutCwIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NTMKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb25zIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDRgNCw0LfQtNC10LvRiyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz5cbiIKK21zZ3N0ciAiICUxJHMgW9C/0LDRgNCw0LzQtdGC0YDRi10gPNC00LjRgdC6PlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDkgZGlzay11dGlscy9mZGlzay5jOjczNiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTAKK21zZ2lkICJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgYSBkaXNrIHBhcnRpdGlvbiB0YWJsZS5cbiIKK21zZ3N0ciAi0JLRi9Cy0LXRgdGC0Lgg0LjQu9C4INC+0YLRgNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDRgtCw0LHQu9C40YbRgyDRgNCw0LfQtNC10LvQvtCyINC00LjRgdC60LAuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU1MgorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAg0LLRi9Cy0L7QtCDRgdC+0L7QsdGJ0LXQvdC40Lkg0YDQsNC30L3Ri9C80Lgg0YbQstC10YLQsNC80LggKNC30L3QsNGH0LXQvdC40Y86IGF1dG890LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60LgsIGFsd2F5cz3QstGB0LXQs9C00LAsIG5ldmVyPdC90LjQutC+0LPQtNCwKVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NTUKK21zZ2lkICIgLXosIC0temVybyAgICAgICAgICAgICAgIHN0YXJ0IHdpdGggemVyb2VkIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgLXosIC0temVybyAgICAgICAgICAgICAgINC90LDRh9Cw0YLRjCDRgSDQvtCx0L3Rg9C70LXQvdC90L7QuSDRgtCw0LHQu9C40YbQtdC5INGA0LDQt9C00LXQu9C+0LJcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTk0IGRpc2stdXRpbHMvZmRpc2suYzo4ODIgZGlzay11dGlscy9zZmRpc2suYzoyMDc3CisjOiBtaXNjLXV0aWxzL2NhbC5jOjM5MCBzeXMtdXRpbHMvZG1lc2cuYzoxMzMzIHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNAorbXNnaWQgInVuc3VwcG9ydGVkIGNvbG9yIG1vZGUiCittc2dzdHIgItC90LXQv9C+0LTQtNC10YDQttC40LLQsNC10LzRi9C5INGG0LLQtdGC0L7QstC+0Lkg0YDQtdC20LjQvCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjEyIGRpc2stdXRpbHMvZmRpc2suYzo4MTggZGlzay11dGlscy9zZmRpc2suYzoyMjMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INCy0YvQtNC10LvQuNGC0Ywg0LHRg9GE0LXRgC5cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+XG4iCittc2dzdHIgIiAlcyA80LTQuNGB0LrQvtCy0L7QtSDRg9GB0YLRgNC+0LnRgdGC0LLQvj4gPNC90L7QvNC10YAg0YDQsNC30LTQtdC70LA+XG4iCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjE4Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIHRvIGZvcmdldCBhYm91dCBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgItCh0L7QvtCx0YnQuNGC0Ywg0Y/QtNGA0YMg0YHQuNGB0YLQtdC80Ysg0L7QsSDRg9C00LDQu9C10L3QuNC4INGD0LrQsNC30LDQvdC90L7Qs9C+INGA0LDQt9C00LXQu9CwINC40Lcg0L/QsNC80Y/RgtC4LlxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MQorbXNnaWQgImZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGD0LTQsNC70LjRgtGMINGA0LDQt9C00LXQuyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcm1hdHRpbmcgLi4uICIKK21zZ3N0ciAi0JLRi9C/0L7Qu9C90Y/QtdGC0YHRjyDRhNC+0YDQvNCw0YLQuNGA0L7QstCw0L3QuNC1IC4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo2OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgImRvbmVcbiIKK21zZ3N0ciAi0LPQvtGC0L7QstC+XG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJWZXJpZnlpbmcgLi4uICIKK21zZ3N0ciAi0JLRi9C/0L7Qu9C90Y/QtdGC0YHRjyDQv9GA0L7QstC10YDQutCwIC4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMDgKK21zZ2lkICJSZWFkOiAiCittc2dzdHIgItCn0YLQtdC90LjQtToiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJvYmxlbSByZWFkaW5nIHRyYWNrL2hlYWQgJXUvJXUsIGV4cGVjdGVkICVkLCByZWFkICVkXG4iCittc2dzdHIgItCe0YjQuNCx0LrQsCDRh9GC0LXQvdC40Y8g0LTQvtGA0L7QttC60Lgv0LPQvtC70L7QstC60LggJXUvJXUsINC+0LbQuNC00LDQu9C+0YHRjCAlZCwg0L/RgNC+0YfQuNGC0LDQvdC+ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImJhZCBkYXRhIGluIHRyYWNrL2hlYWQgJXUvJXVcbiIKKyJDb250aW51aW5nIC4uLiAiCittc2dzdHIgIiIKKyLQv9C70L7RhdC40LUg0LTQsNC90L3Ri9C1INCyINC00L7RgNC+0LbQutC1L9Cz0L7Qu9C+0LLQutC1ICV1LyV1XG4iCisi0J/RgNC+0LTQvtC70LbQtdC90LjQtSAuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4MgorIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMTcgbWlzYy11dGlscy93aXBlZnMuYzo0NTYgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4NAorIzogc3lzLXV0aWxzL3R1bmVscC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiJXMgW9C/0LDRgNCw0LzQtdGC0YDRi10gPNGD0YHRgtGA0L7QudGB0YLQstC+PlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ4Cittc2dpZCAiRG8gYSBsb3ctbGV2ZWwgZm9ybWF0dGluZyBvZiBhIGZsb3BweSBkaXNrLlxuIgorbXNnc3RyICLQn9GA0L7QuNC30LLQtdGB0YLQuCDQvdC40LfQutC+0YPRgNC+0LLQvdC10LLQvtC1INGE0L7RgNC80LDRgtC40YDQvtCy0LDQvdC40LUg0LTQuNGB0LrQtdGC0YsuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTEKK21zZ2lkICIgLWYsIC0tZnJvbSA8Tj4gICAgc3RhcnQgYXQgdGhlIHRyYWNrIE4gKGRlZmF1bHQgMClcbiIKK21zZ3N0ciAiIC1mLCAtLWZyb20gPE4+ICAgINC90LDRh9Cw0YLRjCDRgSDQtNC+0YDQvtC20LrQuCBOICjQv9C+INGD0LzQvtC70YfQsNC90LjRjiAwKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUyCittc2dpZCAiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgYXQgdGhlIHRyYWNrIE5cbiIKK21zZ3N0ciAiIC10LCAtLXRvIDxOPiAgICAgINC+0YHRgtCw0L3QvtCy0LjRgtGM0YHRjyDQvdCwINC00L7RgNC+0LbQutC1IE5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MworbXNnaWQgIiIKKyIgLXIsIC0tcmVwYWlyIDxOPiAgdHJ5IHRvIHJlcGFpciB0cmFja3MgZmFpbGVkIGR1cmluZ1xuIgorIiAgICAgICAgICAgICAgICAgICAgIHRoZSB2ZXJpZmljYXRpb24gKG1heCBOIHJldHJpZXMpXG4iCittc2dzdHIgIiIKKyIgLXIsIC0tcmVwYWlyIDxOPiAg0L/Ri9GC0LDRgtGM0YHRjyDQstC+0YHRgdGC0LDQvdC+0LLQuNGC0Ywg0LTQvtGA0L7QttC60LgsINC90LUg0L/RgNC+0YfQuNGC0LDQvdC90YvQtVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAg0LLQviDQstGA0LXQvNGPINC/0YDQvtCy0LXRgNC60LggKNC80LDQutGB0LjQvNGD0LwgTiDQv9C+0L/Ri9GC0L7QuilcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1NQorbXNnaWQgIiAtbiwgLS1uby12ZXJpZnkgICBkaXNhYmxlIHRoZSB2ZXJpZmljYXRpb24gYWZ0ZXIgdGhlIGZvcm1hdFxuIgorbXNnc3RyICIgLW4sIC0tbm8tdmVyaWZ5ICAg0L3QtSDQv9GA0L7QstC10YDRj9GC0Ywg0L/QvtGB0LvQtSDRhNC+0YDQvNCw0YLQuNGA0L7QstCw0L3QuNGPXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gZnJvbSIKK21zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzRi9C5INCw0YDQs9GD0LzQtdC90YIgLSBmcm9tIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk4Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHRvIgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0LDRgNCz0YPQvNC10L3RgiAtIHRvIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjAxCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHJlcGFpciIKK21zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzRi9C5INCw0YDQs9GD0LzQtdC90YIgLSByZXBhaXIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1MQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4NSBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzM4CisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzQ4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODUKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxNiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0MSBkaXNrLXV0aWxzL3BhcnR4LmM6OTMzCisjOiBsb2dpbi11dGlscy9sYXN0LmM6Njg2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM5IG1pc2MtdXRpbHMvbmFtZWkuYzoxMzUKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjMgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODYgc3lzLXV0aWxzL2RtZXNnLmM6NTI0CisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTk4IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzMSBzeXMtdXRpbHMvZnN0cmltLmM6NzcKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1MTkgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6OTMKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjEzMyB0ZXJtLXV0aWxzL21lc2cuYzoxMjkgdGV4dC11dGlscy9tb3JlLmM6NTA0CisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTAzIHRleHQtdXRpbHMvdGFpbGYuYzoyODAKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RhdCBvZiAlcyBmYWlsZWQiCittc2dzdHIgItCy0YvQv9C+0LvQtdC90LjQtSDQutC+0LzQsNC90LTRiyBzdGF0INC00LvRjyAlcyDQt9Cw0LLQtdGA0YjQuNC70L7RgdGMINC90LXRg9C00LDRh9C90L4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjQgZGlzay11dGlscy9wYXJ0eC5jOjk5MSBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ4NQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODggc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXM6INC90LUg0LHQu9C+0YfQvdC+0LUg0YPRgdGC0YDQvtC50YHRgtCy0L4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjkKK21zZ2lkICJjb3VsZCBub3QgZGV0ZXJtaW5lIGN1cnJlbnQgZm9ybWF0IHR5cGUiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC+0L/RgNC10LTQtdC70LjRgtGMINGC0LXQutGD0YnQuNC5INGC0LjQvyDRhNC+0YDQvNCw0YLQsCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcy1zaWRlZCwgJWQgdHJhY2tzLCAlZCBzZWMvdHJhY2suIFRvdGFsIGNhcGFjaXR5ICVkIGtCLlxuIgorbXNnc3RyICIlcy3RgdGC0L7RgNC+0L3QvdC40LksICVkINC00L7RgNC+0LbQtdC6LCAlZCDRgdC10LrRgi/QtNC+0YDQvtC20LouINCe0LHRidCw0Y8g0LXQvNC60L7RgdGC0YwgJWQg0LrQkS5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMgorbXNnaWQgIkRvdWJsZSIKK21zZ3N0ciAi0JTQstC+0LnQvdC+0LkiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzIKK21zZ2lkICJTaW5nbGUiCittc2dzdHIgItCe0LTQuNC90LDRgNC90YvQuSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzOQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAi0L3QvtC80LXRgCDQvdCw0YfQsNC70YzQvdC+0Lkg0LTQvtGA0L7QttC60LgsINC30LDQtNCw0L3QvdC+0Lkg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LwsINC/0YDQtdCy0YvRiNCw0LXRgiDQvNCw0LrRgdC40LzQsNC70YzQvdC+0LUg0YfQuNGB0LvQviDQtNC+0YDQvtC20LXQuiDQvdC+0YHQuNGC0LXQu9GPIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQxCittc2dpZCAidXNlciBkZWZpbmVkIGVuZCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAi0L3QvtC80LXRgCDQutC+0L3QtdGH0L3QvtC5INC00L7RgNC+0LbQutC4LCDQt9Cw0LTQsNC90L3QvtC5INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC8LCDQv9GA0LXQstGL0YjQsNC10YIg0LzQsNC60YHQuNC80LDQu9GM0L3QvtC1INGH0LjRgdC70L4g0LTQvtGA0L7QttC10Log0L3QvtGB0LjRgtC10LvRjyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MworbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSB1c2VyIGRlZmluZWQgZW5kIHRyYWNrIgorbXNnc3RyICLQvdC+0LzQtdGAINC90LDRh9Cw0LvRjNC90L7QuSDQtNC+0YDQvtC20LrQuCwg0LfQsNC00LDQvdC90L7QuSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQvCwg0L/RgNC10LLRi9GI0LDQtdGCINC90L7QvNC10YAg0LrQvtC90LXRh9C90L7QuSDQtNC+0YDQvtC20LrQuCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI1MSBtaXNjLXV0aWxzL2xvZ2dlci5jOjk4NworbXNnaWQgImNsb3NlIGZhaWxlZCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0LrRgNGL0YLRjCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk1IGRpc2stdXRpbHMvZmRpc2suYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkRvIHlvdSByZWFsbHkgd2FudCB0byBxdWl0PyAiCittc2dzdHIgIiIKKyJcbiIKKyLQktGLINC00LXQudGB0YLQstC40YLQtdC70YzQvdC+INGF0L7RgtC40YLQtSDQstGL0LnRgtC4PyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjE1OAorIywgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3QgKGRlZmF1bHQgJWMpOiAiCittc2dzdHIgItCS0YvQsdC10YDQuNGC0LUgKNC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOIC0gJWMpOiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjE2MworIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyBkZWZhdWx0IHJlc3BvbnNlICVjLiIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINC+0YLQstC10YIg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4gJWMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxNzYgZGlzay11dGlscy9mZGlzay5jOjI1MCBkaXNrLXV0aWxzL2ZkaXNrLmM6MzI1CisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTE4OSBsaWJmZGlzay9zcmMvZ3B0LmM6MjI3NworbXNnaWQgIlZhbHVlIG91dCBvZiByYW5nZS4iCittc2dzdHIgItCX0L3QsNGH0LXQvdC40LUg0LfQsCDQv9GA0LXQtNC10LvQsNC80Lgg0LTQuNCw0L/QsNC30L7QvdCwLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglcywg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4gLSAlYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwOCBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJXMsINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOIC0gJWp1KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCVjLSVjLCDQv9C+INGD0LzQvtC70YfQsNC90LjRjiAtICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjE3IGRpc2stdXRpbHMvZmRpc2suYzoyNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+LCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCVqdS0lanUsINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOIC0gJWp1KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYyk6ICIKK21zZ3N0ciAiJXMgKCVjLSVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjIzIGRpc2stdXRpbHMvZmRpc2suYzoyODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJWp1LSVqdSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjM5MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NworbXNnaWQgIiBbWV1lcy9bTl1vOiAiCittc2dzdHIgIiBbWV0g0JTQsC9bTl0g0J3QtdGCOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0MzMKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSAodHlwZSBMIHRvIGxpc3QgYWxsIHR5cGVzKTogIgorbXNnc3RyICLQotC40L8g0YDQsNC30LTQtdC70LAgKNCy0LLQtdC00LjRgtC1IEwg0LTQu9GPINC/0L7Qu9GD0YfQtdC90LjRjyDRgdC/0LjRgdC60LAg0YLQuNC/0L7QsiDRgNCw0LfQtNC10LvQvtCyKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDM0Cittc2dpZCAiSGV4IGNvZGUgKHR5cGUgTCB0byBsaXN0IGFsbCBjb2Rlcyk6ICIKK21zZ3N0ciAi0KjQtdGB0YLQvdCw0LTRhtCw0YLQtdGA0LjRh9C90YvQuSDQutC+0LQgKNCy0LLQtdC00LjRgtC1IEwg0LTQu9GPINC/0L7Qu9GD0YfQtdC90LjRjyDRgdC/0LjRgdC60LAg0LrQvtC00L7Qsik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjUzNgorbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgc2V0IChERVBSRUNBVEVEISkiCittc2dzdHIgItCk0LvQsNCzIERPUy3RgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDRg9GB0YLQsNC90L7QstC70LXQvSAo0KPRgdGC0LDRgNC10LvQviEpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTM3Cittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBub3Qgc2V0IgorbXNnc3RyICLQpNC70LDQsyBET1Mt0YHQvtCy0LzQtdGB0YLQuNC80L7RgdGC0Lgg0L3QtSDRg9GB0YLQsNC90L7QstC70LXQvSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU1OCBkaXNrLXV0aWxzL2ZkaXNrLmM6NTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3QgZXhpc3QgeWV0ISIKK21zZ3N0ciAi0KDQsNC30LTQtdC7ICV6dSDQtdGJ0LUg0L3QtSDRgdGD0YnQtdGB0YLQstGD0LXRgiEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NjMgZGlzay11dGlscy9mZGlzay5jOjU3MiBsaWJmZGlzay9zcmMvYXNrLmM6OTk1Cittc2dpZCAiVW5rbm93biIKK21zZ3N0ciAi0J3QtdC40LfQstC10YHRgtC90YvQuSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICclcycgdG8gJyVzJy4iCittc2dzdHIgItCi0LjQvyDRgNCw0LfQtNC10LvQsCAnJXMnINC40LfQvNC10L3QtdC9INC90LAgJyVzJy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZDogJXMuIgorbXNnc3RyICLQotC40L8g0YDQsNC30LTQtdC70LAgJXp1INC90LUg0LjQt9C80LXQvdC10L0gOiVzLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlMTVzOiAlcyIKK21zZ3N0ciAiJTE1czogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2NzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlczogb2Zmc2V0ID0gJTxQUkl1NjQ+LCBzaXplID0gJXp1IGJ5dGVzLiIKK21zZ3N0ciAiIgorIlxuIgorIiVzOiDRgdC80LXRidC10L3QuNC1ID0gJWp1LCDRgNCw0LfQvNC10YIgPSAlenUg0LHQsNC50YIuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Njc3Cittc2dpZCAiY2Fubm90IHNlZWsiCittc2dzdHIgItC+0YjQuNCx0LrQsCDQv9C+0LjRgdC60LAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2ODIKK21zZ2lkICJjYW5ub3QgcmVhZCIKK21zZ3N0ciAi0L7RiNC40LHQutCwINGH0YLQtdC90LjRjyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY5NSBsaWJmZGlzay9zcmMvYnNkLmM6MjU5IGxpYmZkaXNrL3NyYy9kb3MuYzo5MzMKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEwCittc2dpZCAiRmlyc3Qgc2VjdG9yIgorbXNnc3RyICLQn9C10YDQstGL0Lkg0YHQtdC60YLQvtGAIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzIyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzIgorbXNnc3RyICJCTEtHRVRTSVpFIGlvY3RsINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10Lkg0L3QsCAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICAgIGNoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyIgJTEkcyBbb3B0aW9uc10gLWwgWzxkaXNrPl0gbGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvQv9Cw0YDQsNC80LXRgtGAXSA80LTQuNGB0Lo+ICAgICAg0LjQt9C80LXQvdC40YLRjCDRgtCw0LHQu9C40YbRgyDRgNCw0LfQtNC10LvQvtCyXG4iCisiICUxJHMgW9C/0LDRgNCw0LzQtdGC0YBdIC1sIFs80LTQuNGB0Lo+XSDQstGL0LLQtdGB0YLQuCDRgtCw0LHQu9C40YbRgyDRgNCw0LfQtNC10LvQvtCyXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MzkKK21zZ2lkICIgLWIsIC0tc2VjdG9yLXNpemUgPHNpemU+ICAgICAgcGh5c2ljYWwgYW5kIGxvZ2ljYWwgc2VjdG9yIHNpemVcbiIKK21zZ3N0ciAiIC1iLCAtLXNlY3Rvci1zaXplIDzRgNCw0LfQvNC10YA+ICAgINGA0LDQt9C80LXRgCDRhNC40LfQuNGH0LXRgdC60L7Qs9C+INC4INC70L7Qs9C40YfQtdGB0LrQvtCz0L4g0YHQtdC60YLQvtGA0L7QslxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQwCisjLCBmdXp6eQorbXNnaWQgIiAtQiwgLS1wcm90ZWN0LWJvb3QgICAgICAgICAgICBkb24ndCBlcmFzZSBib290Yml0cyB3aGVuIGNyZWF0aW5nIGEgbmV3IGxhYmVsXG4iCittc2dzdHIgIiAtQiwgLS1wcm90ZWN0LWJvb3QgICAgICAgICAgICDQvdC1INC+0YfQuNGJ0LDRgtGMINCx0LjRgtGLINC30LDQs9GA0YPQt9C60Lgg0L/RgNC4INGB0L7Qt9C00LDQvdC40Lgg0L3QvtCy0L7QuSDQvNC10YLQutC4XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDEKK21zZ2lkICIgLWMsIC0tY29tcGF0aWJpbGl0eVs9PG1vZGU+XSAgbW9kZSBpcyAnZG9zJyBvciAnbm9uZG9zJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTzRgNC10LbQuNC8Pl0gINGA0LXQttC40Lwg0YHQvtCy0LzQtdGB0YLQuNC80L7RgdGC0LggJ2Rvcycg0LjQu9C4ICdub25kb3MnICjQv9C+INGD0LzQvtC70YfQsNC90LjRjilcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MgorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICAgINCy0YvQstC+0LQg0YHQvtC+0LHRidC10L3QuNC5INGA0LDQt9C90YvQvNC4INGG0LLQtdGC0LDQvNC4ICjQt9C90LDRh9C10L3QuNGPOiBhdXRvPdCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC4LCBhbHdheXM90LLRgdC10LPQtNCwLCBuZXZlcj3QvdC40LrQvtCz0LTQsClcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0NQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBwYXJ0aXRpb25zIGFuZCBleGl0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINGB0L/QuNGB0L7QuiDRgNCw0LfQtNC10LvQvtCyINC4INCy0YvQudGC0LhcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0NgorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgICAgICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDzRgdC/0LjRgdC+0Lo+ICAgICAgICAg0L/QvtC70Y8g0LLRi9Cy0L7QtNCwXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDcKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgICAgICAgICAgcmVjb2duaXplIHNwZWNpZmllZCBwYXJ0aXRpb24gdGFibGUgdHlwZSBvbmx5XG4iCittc2dzdHIgIiAtdCwgLS10eXBlIDzRgtC40L8g0YDQsNC30LTQtdC70LA+ICAgICAg0L/RgNC40L3QuNC80LDRgtGMINGC0L7Qu9GM0LrQviDRg9C60LDQt9Cw0L3QvdGL0LUg0YLQuNC/0Ysg0YLQsNCx0LvQuNGGINGA0LDQt9C00LXQu9C+0LJcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0OAorbXNnaWQgIiAtdSwgLS11bml0c1s9PHVuaXQ+XSAgICAgICAgICBkaXNwbGF5IHVuaXRzOiAnY3lsaW5kZXJzJyBvciAnc2VjdG9ycycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtdSwgLS11bml0c1s9PHVuaXQ+XSAgICAgICAgICDQvtGC0L7QsdGA0LDQttC10L3QuNC1OiDRhtC40LvQuNC90LTRgNGLICdjeWxpbmRlcnMnINC40LvQuCDRgdC10LrRgtC+0YDQsCAnc2VjdG9ycycgKNC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ5Cittc2dpZCAiIC1zLCAtLWdldHN6ICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgZGV2aWNlIHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9ycyBbREVQUkVDQVRFRF1cbiIKK21zZ3N0ciAiIC1zLCAtLWdldHN6ICAgICAgICAgICAgICAgICAgINC+0YLQvtCx0YDQsNC30LjRgtGMINGA0LDQt9C80LXRgCDRg9GB0YLRgNC+0LnRgdGC0LLQsCDQsiA1MTIt0LHQsNC50YLQvtCy0YvRhSDRgdC10LrRgtC+0YDQsNGFIFvRg9GB0YLQsNGA0LXQu9C+XVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzUwCittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICDQstGL0LLQtdGB0YLQuCDQoNCQ0JfQnNCV0KAgINCyINCx0LDQudGC0LDRhSwg0LAg0L3QtSDQsiDQutGA0LDRgtC90YvRhSDQtdC00LjQvdC40YbQsNGFXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTEKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgICAg0LLRi9Cy0L7QtCDRgdC+0L7QsdGJ0LXQvdC40Lkg0YDQsNC30L3Ri9C80Lgg0YbQstC10YLQsNC80LggKNC30L3QsNGH0LXQvdC40Y86IGF1dG890LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60LgsIGFsd2F5cz3QstGB0LXQs9C00LAsIG5ldmVyPdC90LjQutC+0LPQtNCwKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzUyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MworIywgZnV6enkKK21zZ2lkICIgLVcsIC0td2lwZS1wYXJ0aXRpb25zIDxtb2RlPiAgd2lwZSBzaWduYXR1cmVzIGZyb20gbmV3IHBhcnRpdGlvbnMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICAgINCy0YvQstC+0LQg0YHQvtC+0LHRidC10L3QuNC5INGA0LDQt9C90YvQvNC4INGG0LLQtdGC0LDQvNC4ICjQt9C90LDRh9C10L3QuNGPOiBhdXRvPdCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC4LCBhbHdheXM90LLRgdC10LPQtNCwLCBuZXZlcj3QvdC40LrQvtCz0LTQsClcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1NQorbXNnaWQgIiAtQywgLS1jeWxpbmRlcnMgPG51bWJlcj4gICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzXG4iCittc2dzdHIgIiAtQywgLS1jeWxpbmRlcnMgPNGH0LjRgdC70L4+ICAgICAgINGD0LrQsNC20LjRgtC1INC60L7Qu9C40YfQtdGB0YLQstC+INGG0LjQu9C40L3QtNGA0L7QslxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU2Cittc2dpZCAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBoZWFkc1xuIgorbXNnc3RyICIgLUgsIC0taGVhZHMgPNGH0LjRgdC70L4+ICAgICAgICAgICDRg9C60LDQttC40YLQtSDQutC+0LvQuNGH0LXRgdGC0LLQviDQs9C+0LvQvtCy0L7QulxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU3Cittc2dpZCAiIC1TLCAtLXNlY3RvcnMgPG51bWJlcj4gICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFja1xuIgorbXNnc3RyICIgLVMsIC0tc2VjdG9ycyA80YfQuNGB0LvQvj4gICAgICAgICDRg9C60LDQttC40YLQtSDQutC+0LvQuNGH0LXRgdGC0LLQviDRgdC10LrRgtC+0YDQvtCyINC90LAg0LTQvtGA0L7QttC60YNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOAorbXNnaWQgImludmFsaWQgc2VjdG9yIHNpemUgYXJndW1lbnQiCittc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQuSDQsNGA0LPRg9C80LXQvdGCINGA0LDQt9C80LXRgNCwINGB0LXQutGC0L7RgNCwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODQwCittc2dpZCAiaW52YWxpZCBjeWxpbmRlcnMgYXJndW1lbnQiCittc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQuSDQsNGA0LPRg9C80LXQvdGCINGG0LjQu9C40L3QtNGA0L7QsiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg1MgorbXNnaWQgIm5vdCBmb3VuZCBET1MgbGFiZWwgZHJpdmVyIgorbXNnc3RyICLQv9GA0LjQstC+0LQg0YEg0LzQtdGC0LrQvtC5IERPUyDQvdC1INC90LDQudC00LXQvSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg1OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbXBhdGliaWxpdHkgbW9kZSAnJXMnIgorbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3Ri9C5INGA0LXQttC40Lwg0YHQvtCy0LzQtdGB0YLQuNC80L7RgdGC0LggJyVzJyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg2NworbXNnaWQgImludmFsaWQgaGVhZHMgYXJndW1lbnQiCittc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQuSDQsNGA0LPRg9C80LXQvdGCINCz0L7Qu9C+0LLQvtC6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODczCittc2dpZCAiaW52YWxpZCBzZWN0b3JzIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0LDRgNCz0YPQvNC10L3RgiDRgdC10LrRgtC+0YDQvtCyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODk5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2tsYWJlbDogJXMiCittc2dzdHIgItC90LXQv9C+0LTQtNC10YDQttC40LLQsNC10LzQsNGPINC80LXRgtC60LAg0LTQuNGB0LrQsDogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MTYgZGlzay11dGlscy9mZGlzay5jOjkyMSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0NgorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB3aXBlIG1vZGUiCittc2dzdHIgItC90LXQv9C+0LTQtNC10YDQttC40LLQsNC10LzRi9C5INGG0LLQtdGC0L7QstC+0Lkg0YDQtdC20LjQvCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkzNAorbXNnaWQgIlRoZSBkZXZpY2UgcHJvcGVydGllcyAoc2VjdG9yIHNpemUgYW5kIGdlb21ldHJ5KSBzaG91bGQgYmUgdXNlZCB3aXRoIG9uZSBzcGVjaWZpZWQgZGV2aWNlIG9ubHkuIgorbXNnc3RyICLQn9Cw0YDQsNC80LXRgtGA0Ysg0YPRgdGC0YDQvtC50YHRgtCy0LAgKNGA0LDQt9C80LXRgNCwINGB0LXQutGC0L7RgNCwINC4INCz0LXQvtC80LXRgtGA0LjRjykg0LTQvtC70LbQvdGLINCx0YvRgtGMINC40YHQv9C+0LvRjNC30L7QstCw0L3RiyDRgtC+0LvRjNC60L4g0YEg0L7QtNC90LjQvCDRg9C60LDQt9Cw0L3QvdGL0Lwg0YPRgdGC0YDQvtC50YHRgtCy0L7QvCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk4MgorIywgYy1mb3JtYXQKK21zZ2lkICJXZWxjb21lIHRvIGZkaXNrICglcykuIgorbXNnc3RyICLQlNC+0LHRgNC+INC/0L7QttCw0LvQvtCy0LDRgtGMINCyIGZkaXNrICglcykuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4OAorbXNnaWQgIiIKKyJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisiQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKyLQmNC30LzQtdC90LXQvdC40Y8g0L7RgdGC0LDQvdGD0YLRgdGPINGC0L7Qu9GM0LrQviDQsiDQv9Cw0LzRj9GC0Lgg0LTQviDRgtC10YUg0L/QvtGALCDQv9C+0LrQsCDQstGLINC90LUg0YDQtdGI0LjRgtC1INC30LDQv9C40YHQsNGC0Ywg0LjRhS5cbiIKKyLQkdGD0LTRjNGC0LUg0LLQvdC40LzQsNGC0LXQu9GM0L3Riywg0LjRgdC/0L7Qu9GM0LfRg9GPINC60L7QvNCw0L3QtNGDIHdyaXRlLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAwMSBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICVzIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDEwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU0MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0ODQKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyMgorbXNnaWQgIlRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMTMgZGlzay11dGlscy9zZmRpc2suYzoxNjI1CisjLCBmdXp6eQorbXNnaWQgIkl0IGlzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSwgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4iCittc2dzdHIgIiVzOiDRg9GB0YLRgNC+0LnRgdGC0LLQviDRgdC+0LTQtdGA0LbQuNGCINC00LXQudGB0YLQstC40YLQtdC70YzQvdGD0Y4g0YHQuNCz0YDQsNGC0YPRgNGDICclcyc7INC10YHQu9C4INGN0YLQviDQvtGI0LjQsdC+0YfQvdC+LCDQvdCw0YHRgtC+0Y/RgtC10LvRjNC90L4g0YDQtdC60L7QvNC10L3QtNGD0LXRgtGB0Y8g0L7Rh9C40YHRgtC40YLRjCDRg9GB0YLRgNC+0LnRgdGC0LLQviDRgSDQv9C+0LzQvtGJ0YzRjiB3aXBlZnMoOCkg0LLQviDQuNC30LHQtdC20LDQvdC40LUg0LLQvtC30LzQvtC20L3Ri9GFINC/0YDQvtCx0LvQtdC8IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAyMgorbXNnaWQgIkEgaHlicmlkIEdQVCB3YXMgZGV0ZWN0ZWQuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIGh5YnJpZCBNQlIgbWFudWFsbHkgKGV4cGVydCBjb21tYW5kICdNJykuIgorbXNnc3RyICLQntCx0YDQsNGA0YPQttC10L3QsCDQs9C40LHRgNC40LTQvdCw0Y8g0YLQsNCx0LvQuNGG0LAg0YDQsNC30LTQtdC70L7QsiBHUFQuINCd0LXQvtCx0YXQvtC00LjQvNC+INGB0LjQvdGF0YDQvtC90LjQt9C40YDQvtCy0LDRgtGMINC10LUg0YEg0LPQuNCx0YDQuNC00L3QvtC5INGC0LDQsdC70LjRhtC10LkgTUJSINCy0YDRg9GH0L3Rg9GOICjRjdC60YHQv9C10YDRgtC90LDRjyDQutC+0LzQsNC90LTQsCAnTScpLiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgItCU0LjRgdC6ICVzOiAlcywgJWp1INCx0LDQudGCLCAlanUg0YHQtdC60YLQvtGA0L7QsiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMvdHJhY2ssICVsbHUgY3lsaW5kZXJzIgorbXNnc3RyICLQk9C10L7QvNC10YLRgNC40Y86ICVkINCz0L7Qu9C+0LLQvtC6LCAlbGx1INGB0LXQutGC0L7RgNC+0LIv0LTQvtGA0L7QttC60YMsICVsbHUg0YbQuNC70LjQvdC00YDQvtCyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo1OSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5pdHM6ICVzIG9mICVkICogJWxkID0gJWxkIGJ5dGVzIgorbXNnc3RyICLQldC00LjQvdC40YbRizogJXMg0L/QviAlZCAqICVsZCA9ICVsZCDQsdCw0LnRgiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjUgZGlzay11dGlscy9mZGlzay1saXN0LmM6Mjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorbXNnc3RyICLQoNCw0LfQvNC10YAg0YHQtdC60YLQvtGA0LAgKNC70L7Qs9C40YfQtdGB0LrQuNC5L9GE0LjQt9C40YfQtdGB0LrQuNC5KTogJWx1INCx0LDQudGCIC8gJWx1INCx0LDQudGCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2OAorIywgYy1mb3JtYXQKK21zZ2lkICJJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorbXNnc3RyICLQoNCw0LfQvNC10YAgSS9PICjQvNC40L3QuNC80LDQu9GM0L3Ri9C5L9C+0L/RgtC40LzQsNC70YzQvdGL0LkpOiAlbHUg0LHQsNC50YIgLyAlbHUg0LHQsNC50YIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkFsaWdubWVudCBvZmZzZXQ6ICVsdSBieXRlcyIKK21zZ3N0ciAi0KHQvNC10YnQtdC90LjQtSDQstGL0YDQsNCy0L3QuNCy0LDQvdC40Y86ICVsdSDQsdCw0LnRgiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHR5cGU6ICVzIgorbXNnc3RyICLQotC40L8g0LzQtdGC0LrQuCDQtNC40YHQutCwOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAi0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LTQuNGB0LrQsDogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjEwOSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTkKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNDQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQstGL0LTQtdC70LjRgtGMINCx0YPRhNC10YAuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjExNSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LLRi9C00LXQu9C40YLRjCDQsdGD0YTQtdGALlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxNTYgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjQ5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgbGluZSIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LLRi9C00LXQu9C40YLRjCDQsdGD0YTQtdGALlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBzdGFydCBvbiBwaHlzaWNhbCBzZWN0b3IgYm91bmRhcnkuIgorbXNnc3RyICLQoNCw0LfQtNC10LsgJXp1INC90LDRh9C40L3QsNC10YLRgdGPINC90LUg0L3QsCDQs9GA0LDQvdC40YbQtSDRhNC40LfQuNGH0LXRgdC60L7Qs9C+INGB0LXQutGC0L7RgNCwLiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTkyCittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLiIKK21zZ3N0ciAi0K3Qu9C10LzQtdC90YLRiyDRgtCw0LHQu9C40YbRiyDRgNCw0LfQtNC10LvQvtCyINGD0L/QvtGA0Y/QtNC+0YfQtdC90Ysg0L3QtSDRgtCw0LosINC60LDQuiDQvdCwINC00LjRgdC60LUuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTUgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDAKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTEyIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU0IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTEwCittc2dpZCAiU3RhcnQiCittc2dzdHIgItC90LDRh9Cw0LvQviIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE2IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAxCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxMyBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NSBsaWJmZGlzay9zcmMvc3VuLmM6MTExMQorbXNnaWQgIkVuZCIKK21zZ3N0ciAi0JrQvtC90LXRhiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE3IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAyCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NiBsaWJmZGlzay9zcmMvc3VuLmM6MTExMgorbXNnaWQgIlNlY3RvcnMiCittc2dzdHIgItCh0LXQutGC0L7RgNGLIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTkgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDQKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE1IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU4IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE0Cittc2dpZCAiU2l6ZSIKK21zZ3N0ciAi0KDQsNC30LzQtdGAIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5wYXJ0aXRpb25lZCBzcGFjZSAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgItCd0LXRgNCw0LfQvNC10YfQtdC90L3QvtC1INC80LXRgdGC0L4gJXM6ICVzLCAlanUg0LHQsNC50YIsICVqdSDRgdC10LrRgtC+0YDQvtCyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLW8pOlxuIgorbXNnc3RyICIiCisiXG4iCisi0JTQvtGB0YLRg9C/0L3Ri9C1INC/0L7Qu9GPICjQtNC70Y8gLW8pOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICIlczog0J3QtdC40LfQstC10YHRgtC90YvQuSDRgdGC0L7QsdC10YY6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NQorbXNnaWQgIkdlbmVyaWMiCittc2dzdHIgItCe0LHRidC40LUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk2Cittc2dpZCAiZGVsZXRlIGEgcGFydGl0aW9uIgorbXNnc3RyICLRg9C00LDQu9C40YLRjCDRgNCw0LfQtNC10LsiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk3Cittc2dpZCAibGlzdCBmcmVlIHVucGFydGl0aW9uZWQgc3BhY2UiCittc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0YHQstC+0LHQvtC00L3QvtC1INC90LXRgNCw0LfQvNC10YfQtdC90L3QvtC1INC/0YDQvtGB0YLRgNCw0L3RgdGC0LLQviIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTgKK21zZ2lkICJsaXN0IGtub3duIHBhcnRpdGlvbiB0eXBlcyIKK21zZ3N0ciAi0YHQv9C40YHQvtC6INC40LfQstC10YHRgtC90YvRhSDRgtC40L/QvtCyINGA0LDQt9C00LXQu9C+0LIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5Cittc2dpZCAiYWRkIGEgbmV3IHBhcnRpdGlvbiIKK21zZ3N0ciAi0LTQvtCx0LDQstC70LXQvdC40LUg0L3QvtCy0L7Qs9C+INGA0LDQt9C00LXQu9CwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAKK21zZ2lkICJwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICLQstGL0LLQtdGB0YLQuCDRgtCw0LHQu9C40YbRgyDRgNCw0LfQtNC10LvQvtCyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDEKK21zZ2lkICJjaGFuZ2UgYSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAi0LjQt9C80LXQvdC10L3QuNC1INGC0LjQv9CwINGA0LDQt9C00LXQu9CwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDIKK21zZ2lkICJ2ZXJpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi0L/RgNC+0LLQtdGA0LrQsCDRgtCw0LHQu9C40YbRiyDRgNCw0LfQtNC10LvQvtCyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDMKK21zZ2lkICJwcmludCBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L4g0YDQsNC30LTQtdC70LUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNQorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAi0LLRi9Cy0L7QtCDRgdGL0YDRi9GFINC00LDQvdC90YvRhSDQv9C10YDQstC+0LPQviDRgdC10LrRgtC+0YDQsCDRg9GB0YLRgNC+0LnRgdGC0LLQsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA2Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBkaXNrbGFiZWwgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICLQstGL0LLQvtC0INGB0YvRgNGL0YUg0LTQsNC90L3Ri9GFINC80LXRgtC60Lgg0YPRgdGC0YDQvtC50YHRgtCy0LAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNworbXNnaWQgImZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICLQt9Cw0YTQuNC60YHQuNGA0L7QstCw0YLRjCDQv9C+0YDRj9C00L7QuiDRgNCw0LfQtNC10LvQvtCyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDkKK21zZ2lkICJNaXNjIgorbXNnc3RyICLQoNCw0LfQvdC+0LUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMAorbXNnaWQgInByaW50IHRoaXMgbWVudSIKK21zZ3N0ciAi0LLRi9Cy0L7QtCDRjdGC0L7Qs9C+INC80LXQvdGOIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTEKK21zZ2lkICJjaGFuZ2UgZGlzcGxheS9lbnRyeSB1bml0cyIKK21zZ3N0ciAi0LjQt9C80LXQvdC10L3QuNC1INC10LTQuNC90LjRhiDQuNC30LzQtdGA0LXQvdC40Y8g0Y3QutGA0LDQvdCwL9GB0L7QtNC10YDQttC40LzQvtCz0L4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMgorbXNnaWQgImV4dHJhIGZ1bmN0aW9uYWxpdHkgKGV4cGVydHMgb25seSkiCittc2dzdHIgItC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdCw0Y8g0YTRg9C90LrRhtC40L7QvdCw0LvRjNC90L7RgdGC0YwgKNGC0L7Qu9GM0LrQviDQtNC70Y8g0Y3QutGB0L/QtdGA0YLQvtCyKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE0Cittc2dpZCAiU2NyaXB0IgorbXNnc3RyICLQodGG0LXQvdCw0YDQuNC5IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTUKK21zZ2lkICJsb2FkIGRpc2sgbGF5b3V0IGZyb20gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICLQt9Cw0LPRgNGD0LfQuNGC0Ywg0YDQsNC30LzQtdGC0LrRgyDQuNC3INGE0LDQudC70LAg0YHRhtC10L3QsNGA0LjRjyBzZmRpc2siCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNgorbXNnaWQgImR1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICLQt9Cw0L/QuNGB0LDRgtGMINGA0LDQt9C80LXRgtC60YMg0LIg0YTQsNC50Lsg0YHRhtC10L3QsNGA0LjRjyBzZmRpc2siCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOAorbXNnaWQgIlNhdmUgJiBFeGl0IgorbXNnc3RyICLQl9Cw0L/QuNGB0LDRgtGMINC4INCy0YvQudGC0LgiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOQorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXQiCittc2dzdHIgItC30LDQv9C40YHRjCDRgtCw0LHQu9C40YbRiyDRgNCw0LfQtNC10LvQvtCyINC90LAg0LTQuNGB0Log0Lgg0LLRi9GF0L7QtCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIwCittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayIKK21zZ3N0ciAi0LfQsNC/0LjRgdGMINGC0LDQsdC70LjRhtGLINGA0LDQt9C00LXQu9C+0LIg0L3QsCDQtNC40YHQuiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIxCittc2dpZCAicXVpdCB3aXRob3V0IHNhdmluZyBjaGFuZ2VzIgorbXNnc3RyICLQstGL0YXQvtC0INCx0LXQtyDRgdC+0YXRgNCw0L3QtdC90LjRjyDQuNC30LzQtdC90LXQvdC40LkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMgorbXNnaWQgInJldHVybiB0byBtYWluIG1lbnUiCittc2dzdHIgItCy0L7Qt9Cy0YDQsNGCINCyINCz0LvQsNCy0L3QvtC1INC80LXQvdGOIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjQKK21zZ2lkICJyZXR1cm4gZnJvbSBCU0QgdG8gRE9TIgorbXNnc3RyICLQstC+0LfQstGA0LDRgiDQvtGCIEJTRCDQuiBET1MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNQorbXNnaWQgIkNyZWF0ZSBhIG5ldyBsYWJlbCIKK21zZ3N0ciAi0KHQvtC30LTQsNGC0Ywg0L3QvtCy0YPRjiDQvNC10YLQutGDIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzYKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgR1BUIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi0YHQvtC30LTQsNC90LjQtSDQvdC+0LLQvtC5INC/0YPRgdGC0L7QuSDRgtCw0LHQu9C40YbRiyDRgNCw0LfQtNC10LvQvtCyIEdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM3Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFNHSSAoSVJJWCkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICLRgdC+0LfQtNCw0L3QuNC1INC90L7QstC+0Lkg0L/Rg9GB0YLQvtC5INGC0LDQsdC70LjRhtGLINGA0LDQt9C00LXQu9C+0LIgU0dJIChJUklYKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM4Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgItGB0L7Qt9C00LDQvdC40LUg0L3QvtCy0L7QuSDQv9GD0YHRgtC+0Lkg0YLQsNCx0LvQuNGG0Ysg0YDQsNC30LTQtdC70L7QsiBET1MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTdW4gcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICLRgdC+0LfQtNCw0L3QuNC1INC90L7QstC+0Lkg0L/Rg9GB0YLQvtC5INGC0LDQsdC70LjRhtGLINGA0LDQt9C00LXQu9C+0LIgU3VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDMKK21zZ2lkICJjcmVhdGUgYW4gSVJJWCAoU0dJKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgItGB0L7Qt9C00LDQvdC40LUg0YLQsNCx0LvQuNGG0Ysg0YDQsNC30LTQtdC70L7QsiBJUklYIChTR0kpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTIKK21zZ2lkICJHZW9tZXRyeSIKK21zZ3N0ciAi0JPQtdC+0LzQtdGC0YDQuNGPIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTMKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAi0LjQt9C80LXQvdC10L3QuNC1INC60L7Qu9C40YfQtdGB0YLQstCwINGG0LjQu9C40L3QtNGA0L7QsiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU0Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAi0LjQt9C80LXQvdC10L3QuNC1INC60L7Qu9C40YfQtdGB0YLQstCwINCz0L7Qu9C+0LLQvtC6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTUKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2siCittc2dzdHIgItC40LfQvNC10L3QtdC90LjQtSDQutC+0LvQuNGH0LXRgdGC0LLQsCDRgdC10LrRgtC+0YDQvtCyINC90LAg0LTQvtGA0L7QttC60YMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NQorbXNnaWQgIkdQVCIKK21zZ3N0ciAiR1BUIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjUKK21zZ2lkICJjaGFuZ2UgZGlzayBHVUlEIgorbXNnc3RyICLQuNC30LzQtdC90LjRgtGMIEdVSUQg0LTQuNGB0LrQsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY2Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICLQuNC30LzQtdC90LjRgtGMINC40LzRjyDRgNCw0LfQtNC10LvQsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY3Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICLQuNC30LzQtdC90LjRgtGMIFVVSUQg0YDQsNC30LTQtdC70LAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgdGFibGUgbGVuZ3RoIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINC00LvQuNC90YMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OQorbXNnaWQgImVudGVyIHByb3RlY3RpdmUvaHlicmlkIE1CUiIKK21zZ3N0ciAi0LLRhdC+0LQg0LIg0L3QsNGB0LvQtdC00YHRgtCy0LXQvdC90YvQuS/Qs9C40LHRgNC40LTQvdGL0LkgTUJSIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzIKK21zZ2lkICJ0b2dnbGUgdGhlIGxlZ2FjeSBCSU9TIGJvb3RhYmxlIGZsYWciCittc2dzdHIgItC/0LXRgNC10LrQu9GO0YfQtdC90LjQtSDRhNC70LDQs9CwINC30LDQs9GA0YPQt9C60LggQklPUyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTczCittc2dpZCAidG9nZ2xlIHRoZSBubyBibG9jayBJTyBwcm90b2NvbCBmbGFnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NAorbXNnaWQgInRvZ2dsZSB0aGUgcmVxdWlyZWQgcGFydGl0aW9uIGZsYWciCittc2dzdHIgItC/0LXRgNC10LrQu9GO0YfQtdC90LjQtSDRhNC70LDQs9CwINGC0YDQtdCx0YPQtdC80L7Qs9C+INGA0LDQt9C00LXQu9CwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzUKK21zZ2lkICJ0b2dnbGUgdGhlIEdVSUQgc3BlY2lmaWMgYml0cyIKK21zZ3N0ciAi0L/QtdGA0LXQutC70Y7Rh9C10L3QuNC1INCx0LjRgtC+0LIgR1VJRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg1Cittc2dpZCAiU3VuIgorbXNnc3RyICJTdW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NgorbXNnaWQgInRvZ2dsZSB0aGUgcmVhZC1vbmx5IGZsYWciCittc2dzdHIgItC/0LXRgNC10LrQu9GO0YfQtdC90LjQtSDRhNC70LDQs9CwINGC0L7Qu9GM0LrQviDQtNC70Y8g0YfRgtC10L3QuNGPIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODcKK21zZ2lkICJ0b2dnbGUgdGhlIG1vdW50YWJsZSBmbGFnIgorbXNnc3RyICLQv9C10YDQtdC60LvRjtGH0LXQvdC40LUg0YTQu9Cw0LPQsCDQvNC+0L3RgtC40YDQvtCy0LDQvdC40Y8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAi0LjQt9C80LXQvdC10L3QuNC1INC60L7Qu9C40YfQtdGB0YLQstCwINCw0LvRjNGC0LXRgNC90LDRgtC40LLQvdGL0YUg0YbQuNC70LjQvdC00YDQvtCyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTAKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICLQuNC30LzQtdC90LXQvdC40LUg0LrQvtC70LjRh9C10YHRgtCy0LAg0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvRhSDRgdC10LrRgtC+0YDQvtCyINC90LAg0YbQuNC70LjQvdC00YAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MQorbXNnaWQgImNoYW5nZSBpbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAi0LjQt9C80LXQvdC10L3QuNC1INC60L7RjdGE0YTQuNGG0LjQtdC90YLQsCDRh9C10YDQtdC00L7QstCw0L3QuNGPIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTIKK21zZ2lkICJjaGFuZ2Ugcm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgItC40LfQvNC10L3QtdC90LjQtSDRgdC60L7RgNC+0YHRgtC4INCy0YDQsNGJ0LXQvdC40Y8gKNC+0LEv0LzQuNC9KSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkzCittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgItC40LfQvNC10L3QtdC90LjQtSDQutC+0LvQuNGH0LXRgdGC0LLQsCDRhNC40LfQuNGH0LXRgdC60LjRhSDRhtC40LvQuNC90LTRgNC+0LIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwMgorbXNnaWQgIlNHSSIKK21zZ3N0ciAiU0dJIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDMKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICLQstGL0LHQvtGAINC30LDQs9GA0YPQt9C+0YfQvdC+0LPQviDRgNCw0LfQtNC10LvQsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA0Cittc2dpZCAiZWRpdCBib290ZmlsZSBlbnRyeSIKK21zZ3N0ciAi0YDQtdC00LDQutGC0LjRgNC+0LLQsNC90LjQtSDRgdC+0LTQtdGA0LbQuNC80L7Qs9C+INC30LDQs9GA0YPQt9C+0YfQvdC+0LPQviDRhNCw0LnQu9CwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDUKK21zZ2lkICJzZWxlY3Qgc2dpIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICLQstGL0LHQvtGAINGA0LDQt9C00LXQu9CwINC00LvRjyDRgdCy0L7Qv9C40L3Qs9CwIHNnaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA2Cittc2dpZCAiY3JlYXRlIFNHSSBpbmZvIgorbXNnc3RyICLRgdC+0LfQtNCw0L3QuNC1INC00LDQvdC90YvRhSBTR0kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNQorbXNnaWQgIkRPUyAoTUJSKSIKK21zZ3N0ciAiRE9TIChNQlIpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTYKK21zZ2lkICJ0b2dnbGUgYSBib290YWJsZSBmbGFnIgorbXNnc3RyICLQv9C10YDQtdC60LvRjtGH0LXQvdC40LUg0YTQu9Cw0LPQsCDQt9Cw0LPRgNGD0LfQutC4IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTcKK21zZ2lkICJlZGl0IG5lc3RlZCBCU0QgZGlza2xhYmVsIgorbXNnc3RyICLRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNC1INCy0LvQvtC20LXQvdC90L7QuSDQvNC10YLQutC4INC00LjRgdC60LAgQlNEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTgKK21zZ2lkICJ0b2dnbGUgdGhlIGRvcyBjb21wYXRpYmlsaXR5IGZsYWciCittc2dzdHIgItC/0LXRgNC10LrQu9GO0YfQtdC90LjQtSDRhNC70LDQs9CwIGRvcy3RgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIwCittc2dpZCAibW92ZSBiZWdpbm5pbmcgb2YgZGF0YSBpbiBhIHBhcnRpdGlvbiIKK21zZ3N0ciAi0L/QtdGA0LXQvNC10YnQtdC90LjQtSDQvdCw0YfQsNC70LAg0LTQsNC90L3Ri9GFINGA0LDQt9C00LXQu9CwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjEKK21zZ2lkICJjaGFuZ2UgdGhlIGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAi0LjQt9C80LXQvdC10L3QuNC1INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0LAg0LTQuNGB0LrQsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIzCittc2dpZCAicmV0dXJuIGZyb20gcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIHRvIEdQVCIKK21zZ3N0ciAi0LLQvtC30LLRgNCw0LQg0LjQtyDQvdCw0YHQu9C10LTRgdGC0LLQtdC90L3QvtCz0L4v0LPQuNCx0YDQuNC00L3QvtCz0L4gTUJSIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzMKK21zZ2lkICJCU0QiCittc2dzdHIgIkJTRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM0Cittc2dpZCAiZWRpdCBkcml2ZSBkYXRhIgorbXNnc3RyICLRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNC1INC00LDQvdC90YvRhSDQtNC40YHQutCwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzUKK21zZ2lkICJpbnN0YWxsIGJvb3RzdHJhcCIKK21zZ3N0ciAi0YPRgdGC0LDQvdC+0LLQutCwIGJvb3RzdHJhcCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM2Cittc2dpZCAic2hvdyBjb21wbGV0ZSBkaXNrbGFiZWwiCittc2dzdHIgItC+0YLQvtCx0YDQsNC20LXQvdC40LUg0L/QvtC70L3QvtC5INC80LXRgtC60Lgg0LTQuNGB0LrQsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM3Cittc2dpZCAibGluayBCU0QgcGFydGl0aW9uIHRvIG5vbi1CU0QgcGFydGl0aW9uIgorbXNnc3RyICLRgdCy0Y/Qt9GL0LLQsNC90LjQtSDRgNCw0LfQtNC10LvQsCBCU0Qg0YEg0YDQsNC30LTQtdC70L7QvCDQvdC1LUJTRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwIChleHBlcnQgY29tbWFuZHMpOlxuIgorbXNnc3RyICIiCisiXG4iCisi0KHQv9GA0LDQstC60LAgKNC00LvRjyDRjdC60YHQv9C10YDRgtC+0LIpOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzEgZGlzay11dGlscy9zZmRpc2suYzoxMjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwOlxuIgorbXNnc3RyICIiCisiXG4iCisi0KHQv9GA0LDQstC60LA6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UncmUgZWRpdGluZyBuZXN0ZWQgJyVzJyBwYXJ0aXRpb24gdGFibGUsIHByaW1hcnkgcGFydGl0aW9uIHRhYmxlIGlzICclcycuIgorbXNnc3RyICLQktGLINGA0LXQtNCw0LrRgtC40YDRg9C10YLQtSDQstC70L7QttC10L3QvdGD0Y4g0YLQsNC70LjRhtGDINGA0LDQt9C00LXQu9C+0LIgJyVzJywg0L/QtdGA0LLQuNGH0L3QsNGPINGC0LDQsdC70LjRhtCwINGA0LDQt9C00LXQu9C+0LIgLSAnJXMnLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDIxCittc2dpZCAiRXhwZXJ0IGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgItCa0L7QvNCw0L3QtNGLINGN0LrRgdC/0LXRgNGC0LAgKG0g0LTQu9GPINGB0L/RgNCw0LLQutC4KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjMKK21zZ2lkICJDb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICLQmtC+0LzQsNC90LTQsCAobSDQtNC70Y8g0YHQv9GA0LDQstC60LgpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQzMworIywgYy1mb3JtYXQKK21zZ2lkICIlYzogdW5rbm93biBjb21tYW5kIgorbXNnc3RyICIlYzog0L3QtdC40LfQstC10YHRgtC90LDRjyDQutC+0LzQsNC90LTQsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDU4IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4NQorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWUiCittc2dzdHIgItCS0LLQtdC00LjRgtC1INC40LzRjyDRhNCw0LnQu9CwINGB0LrRgNC40L/RgtCwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NzEKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IGFwcGxpZWQuIgorbXNnc3RyICLQodGG0LXQvdCw0YDQuNC5INC/0YDQuNC80LXQvdC10L0g0YPRgdC/0LXRiNC90L4uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0OTcKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNmb3JtIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0IgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0YDQtdC+0LHRgNCw0LfQvtCy0LDRgtGMINGA0LDQt9C80LXRgtC60YMg0LTQuNGB0LrQsCDQsiDRgdGG0LXQvdCw0YDQuNC5IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTEKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IHNhdmVkLiIKK21zZ3N0ciAi0KHRhtC10L3QsNGA0LjQuSDQt9Cw0L/QuNGB0LDQvSDRg9GB0L/QtdGI0L3Qvi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzNCBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAi0KDQsNC30LTQtdC7ICV6dTog0YHQvtC00LXRgNC20LjRgiDQvdGD0LvQtdCy0L7QuSDRgdC10LrRgtC+0YAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzNyBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzkKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gcmVtb3ZlIHRoZSBzaWduYXR1cmU/IgorbXNnc3RyICLQktGLINGF0L7RgtC40YLQtSDQt9Cw0L/QuNGB0LDRgtGMINGN0YLQviDQvdCwINC00LjRgdC6PyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTc1Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINC80LXRgtC60YMg0LTQuNGB0LrQsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjEzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBmaXggcGFydGl0aW9ucyBvcmRlci4iCittc2dzdHIgItC30LDRhNC40LrRgdC40YDQvtCy0LDRgtGMINC/0L7RgNGP0LTQvtC6INGA0LDQt9C00LXQu9C+0LIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYxNQorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb25zIG9yZGVyIGZpeGVkLiIKK21zZ3N0ciAi0KDQsNC30LTQtdC70Ysg0L3QtSDQvtC/0YDQtdC00LXQu9C10L3Riy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0YDQsNC30LTQtdC7ICV6dSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjYwCittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBjeWxpbmRlcnMgKERFUFJFQ0FURUQhKS4iCittc2dzdHIgItCt0LrRgNCw0L0v0YHQvtC00LXRgNC20LjQvNC+0LUg0LHRg9C00LXRgiDQvtGC0L7QsdGA0LDQttCw0YLRjNGB0Y8g0LIg0YbQuNC70LjQvdC00YDQsNGFICjQo9Ch0KLQkNCg0JXQm9CeISkuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjIKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIHNlY3RvcnMuIgorbXNnc3RyICLQrdC60YDQsNC9L9GB0L7QtNC10YDQttC40LzQvtC1INCx0YPQtNC10YIg0L7RgtC+0LHRgNCw0LbQsNGC0YzRgdGPINCyINGB0LXQutGC0L7RgNCw0YUuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NzIgZGlzay11dGlscy9mZGlzay1tZW51LmM6ODQyCittc2dpZCAiTGVhdmluZyBuZXN0ZWQgZGlza2xhYmVsLiIKK21zZ3N0ciAi0JLRi9GF0L7QtCDQuNC3INCy0LvQvtC20LXQvdC90L7QuSDQvNC10YLQutC4INC00LjRgdC60LAuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MDkKK21zZ2lkICJOZXcgbWF4aW11bSBlbnRyaWVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjcxOQorbXNnaWQgIkVudGVyaW5nIHByb3RlY3RpdmUvaHlicmlkIE1CUiBkaXNrbGFiZWwuIgorbXNnc3RyICLQktCy0L7QtCDQvNC10YLQutC4INC90LDRgdC70LXQtNGB0YLQstC10L3QvdC+0LPQvi/Qs9C40LHRgNC40LTQvdC+0LPQviBNQlIuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MzUKK21zZ2lkICJOZXcgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICLQndC+0LLRi9C5IFVVSUQgKNCyINGE0L7RgNC80LDRgtC1IDgtNC00LTQtMTIpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NTAKK21zZ2lkICJOZXcgbmFtZSIKK21zZ3N0ciAi0J3QvtCy0L7QtSDQuNC80Y8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjgxMworbXNnaWQgIkVudGVyaW5nIG5lc3RlZCBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAi0JLRhdC+0LQg0LLQviDQstC70L7QttC10L3QvdGD0Y4g0LzQtdGC0LrRgyDQtNC40YHQutCwIEJTRC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5OAorbXNnaWQgIk51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgItCa0L7Qu9C40YfQtdGB0YLQstC+INGG0LjQu9C40L3QtNGA0L7QsiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAwMgorbXNnaWQgIk51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAi0JrQvtC70LjRh9C10YHRgtCy0L4g0LPQvtC70L7QstC+0LoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMDYKK21zZ2lkICJOdW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAi0JrQvtC70LjRh9C10YHRgtCy0L4g0YHQtdC60YLQvtGA0L7QsiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMg0L/RgNC40LzQvtC90YLQuNGA0L7QstCw0L1cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudGVkXG4iCittc2dzdHIgIiVzINC90LUg0L/RgNC40LzQvtC90YLQuNGA0L7QstCw0L1cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMxIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzQKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1MyBkaXNrLXV0aWxzL3NmZGlzay5jOjI5NyBsaWJmZGlzay9zcmMvYnNkLmM6NjQ2CisjOiBsaWIvcGF0aC5jOjExMCBsaWIvcGF0aC5jOjEzMSBsaWIvcGF0aC5jOjE1MiBsaWIvcGF0aC5jOjIwMAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIxMyBsb2dpbi11dGlscy9sYXN0LmM6MjUwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo2NjQKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjM5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjcxNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgJXMiCittc2dzdHIgItC90LUg0YPQtNCw0ZHRgtGB0Y8g0L/RgNC+0YfQuNGC0LDRgtGMICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMzMgbGliL3BhdGguYzoxMzMgbGliL3BhdGguYzoxNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFyc2UgZXJyb3I6ICVzIgorbXNnc3RyICLQvtGI0LjQsdC60LAg0YDQsNC30LHQvtGA0LA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgJXMiCittc2dzdHIgItC90LUg0YPQtNCw0ZHRgtGB0Y8g0YHQvtC30LTQsNGC0Ywg0LrQsNGC0LDQu9C+0LMgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM3MworIywgYy1mb3JtYXQKK21zZ2lkICJMb2NraW5nIGRpc2sgYnkgJXMgLi4uICIKK21zZ3N0ciAi0JHQu9C+0LrQuNGA0L7QstC60LAg0LTQuNGB0LrQsCDQv9C+ICVzIC4uLiAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICIod2FpdGluZykgIgorbXNnc3RyICIo0L7QttC40LTQsNC90LjQtSkiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGVzZSBhcmUgZm9sbG93dXBzIHRvICJMb2NraW5nIGRpc2suLi4iLgorIzogZGlzay11dGlscy9mc2NrLmM6Mzk0Cittc2dpZCAic3VjY2VlZGVkIgorbXNnc3RyICLRg9GB0L/QtdGI0L3QviIKKworIzogZGlzay11dGlscy9mc2NrLmM6Mzk0Cittc2dpZCAiZmFpbGVkIgorbXNnc3RyICLQvtGI0LjQsdC60LAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQxMgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmxvY2tpbmcgJXMuXG4iCittc2dzdHIgItCg0LDQt9Cx0LvQvtC60LjRgNC+0LLQutCwICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGRlc2NyaXB0aW9uIGZvciAlcyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0LTQsNGC0Ywg0L7Qv9C40YHQsNC90LjQtSDQtNC70Y8gJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ3NCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3ODIgbWlzYy11dGlscy9sc2Jsay5jOjQzMworIzogc3lzLXV0aWxzL21vdW50LmM6MTAyIHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6MTkgc3lzLXV0aWxzL3Vtb3VudC5jOjQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCAtLSBpZ25vcmVkIgorbXNnc3RyICIlczog0L7RiNC40LHQutCwINGA0LDQt9Cx0L7RgNCwINCyINGB0YLRgNC+0LrQtSAlZCDigJQg0LjQs9C90L7RgNC40YDRg9C10YLRgdGPIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo1MDYgZGlzay11dGlscy9mc2NrLmM6NTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UgZnN0YWIiCittc2dzdHIgIiVzOiDQvtGI0LjQsdC60LAg0YDQsNC30LHQvtGA0LAgZnN0YWIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY3OSBsb2dpbi11dGlscy9sb2dpbi5jOjk2OCBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAzNAorIzogbG9naW4tdXRpbHMvdmlwdy5jOjIwNCBzeXMtdXRpbHMvZmxvY2suYzozNDUgc3lzLXV0aWxzL25zZW50ZXIuYzoxNTMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTYgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTkgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MjAKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzgwCittc2dpZCAiZm9yayBmYWlsZWQiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0LTQvtGH0LXRgNC90LjQuSDQv9GA0L7RhtC10YHRgSIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRlIGZhaWxlZCIKK21zZ3N0ciAiJXM6INC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3NzQKK21zZ2lkICJ3YWl0OiBubyBtb3JlIGNoaWxkIHByb2Nlc3M/IT8iCittc2dzdHIgIndhaXQ6INCx0L7Qu9GM0YjQtSDQvdC10YIg0LTQvtGH0LXRgNC90LjRhSDQv9GA0L7RhtC10YHRgdC+0LI/IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3Nzcgc3lzLXV0aWxzL2Zsb2NrLmM6MzYzIHN5cy11dGlscy9zd2Fwb24uYzozNDgKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDA0IHN5cy11dGlscy91bnNoYXJlLmM6NDI1Cittc2dpZCAid2FpdHBpZCBmYWlsZWQiCittc2dzdHIgIndhaXRwaWQg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmcuLi4gJXMgZm9yIGRldmljZSAlcyBleGl0ZWQgd2l0aCBzaWduYWwgJWQuIgorbXNnc3RyICLQn9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1LiAlcyDQtNC70Y8g0YPRgdGC0YDQvtC50YHRgtCy0LAgJXMg0LfQsNCy0LXRgNGI0LjQuyDRgNCw0LHQvtGC0YMg0L/QvtGB0LvQtSDRgdC40LPQvdCw0LvQsCAlZC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjgwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlczogc3RhdHVzIGlzICV4LCBzaG91bGQgbmV2ZXIgaGFwcGVuLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluaXNoZWQgd2l0aCAlcyAoZXhpdCBzdGF0dXMgJWQpXG4iCittc2dzdHIgItCg0LDQsdC+0YLQsCDRgSAlcyDQt9Cw0LrQvtC90YfQtdC90LAgKNGB0YLQsNGC0YPRgSDQt9Cw0LLQtdGA0YjQtdC90LjRjyDRgNCw0LHQvtGC0YsgLSAlZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6OTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yICVkICglbSkgd2hpbGUgZXhlY3V0aW5nIGZzY2suJXMgZm9yICVzIgorbXNnc3RyICLQvtGI0LjQsdC60LAgJWQgKCVtKSDQv9GA0Lgg0LfQsNC/0YPRgdC60LUgZnNjay4lcyDQtNC70Y8gJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjk5MQorbXNnaWQgIiIKKyJFaXRoZXIgYWxsIG9yIG5vbmUgb2YgdGhlIGZpbGVzeXN0ZW0gdHlwZXMgcGFzc2VkIHRvIC10IG11c3QgYmUgcHJlZml4ZWRcbiIKKyJ3aXRoICdubycgb3IgJyEnLiIKK21zZ3N0ciAiIgorItCb0LjQsdC+INC90Lgg0L7QtNC40L0g0LjQtyDRgtC40L/QvtCyINGE0LDQudC70L7QstGL0YUg0YHQuNGB0YLQtdC8LCDQu9C40LHQviDQstGB0LUg0YLQuNC/0Ysg0YTQsNC50LvQvtCy0YvRhSDRgdC40YHRgtC10LwsXG4iCisi0L/QtdGA0LXQtNCw0L3QvdGL0YUg0YEg0L/QsNGA0LDQvNC10YLRgNC+0LwgLXQsINC00L7Qu9C20L3RiyDQsdGL0YLRjCDRg9C60LDQt9Cw0L3RiyDRgSDQv9GA0LjRgdGC0LDQstC60L7QuSAnbm8nINC40LvQuCAnIScuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBiYWQgbGluZSBpbiAvZXRjL2ZzdGFiOiBiaW5kIG1vdW50IHdpdGggbm9uemVybyBmc2NrIHBhc3MgbnVtYmVyIgorbXNnc3RyICIlczog0L/RgNC+0L/Rg9GB0Log0YHRgtGA0L7QutC4INCyINGE0LDQudC70LUgL2V0Yy9mc3RhYjogYmluZCBtb3VudCB3aXRoIG5vbnplcm8gZnNjayBwYXNzIG51bWJlciIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTExOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgbm9uZXhpc3RlbnQgZGV2aWNlXG4iCittc2dzdHIgIiVzOiDQv9GA0L7Qv9GD0YHQuiDQvdC10YHRg9GJ0LXRgdGC0LLRg9GO0YnQtdCz0L4g0YPRgdGC0YDQvtC50YHRgtCy0LBcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9uZXhpc3RlbnQgZGV2aWNlIChcIm5vZmFpbFwiIGZzdGFiIG9wdGlvbiBtYXkgYmUgdXNlZCB0byBza2lwIHRoaXMgZGV2aWNlKVxuIgorbXNnc3RyICIlczog0L3QtdGB0YPRidC10YHRgtCy0YPRjtGJ0LXQtSDRg9GB0YLRgNC+0LnRgdGC0LLQviAo0LzQvtC20L3QviDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L/QsNGA0LDQvNC10YLRgCBcIm5vZmFpbFwiLCDRh9GC0L7QsdGLINC/0YDQvtC/0YPRgdGC0LjRgtGMINGN0YLQviDRg9GB0YLRgNC+0LnRgdGC0LLQvilcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgdW5rbm93biBmaWxlc3lzdGVtIHR5cGVcbiIKK21zZ3N0ciAiJXM6INC/0YDQvtC/0YPRgdC6INC90LXQuNC30LLQtdGB0YLQvdC+0Lkg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRi1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGVjayAlczogZnNjay4lcyBub3QgZm91bmQiCittc2dzdHIgItC90LUg0LzQvtCz0YMg0L/RgNC+0LLQtdGA0LjRgtGMICVzOiDQvdC1INC90LDQudC00LXQvSBmc2NrLiVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjU5Cittc2dpZCAiQ2hlY2tpbmcgYWxsIGZpbGUgc3lzdGVtcy5cbiIKK21zZ3N0ciAi0J/RgNC+0LLQtdGA0LrQsCDQstGB0LXRhSDRhNCw0LnQu9C+0LLRi9GFINGB0LjRgdGC0LXQvC5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM1MAorIywgYy1mb3JtYXQKK21zZ2lkICItLXdhaXRpbmctLSAocGFzcyAlZClcbiIKK21zZ3N0ciAiLS3QvtC20LjQtNCw0L3QuNC1LS0gKNC/0YDQvtC50LTQtdC90L4gJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAtLSBbZnMtb3B0aW9uc10gWzxmaWxlc3lzdGVtPiAuLi5dXG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgF0gLS0gW9C/0LDRgNCw0LzQtdGC0YDRiyDQpNChXSBbPNGE0LDQudC70L7QstCw0Y8g0YHQuNGB0YLQtdC80LA+IC4uLl1cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM3OQorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLQn9GA0L7QstC10YDQutCwINC4INC40YHQv9GA0LDQstC70LXQvdC40LUg0L7RiNC40LHQvtC6INC90LAg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzQtSBMaW51eC5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4MgorbXNnaWQgIiAtQSAgICAgICAgIGNoZWNrIGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLUEgICAgICAgICDQv9GA0L7QstC10YDQuNGC0Ywg0LLRgdC1INGE0LDQudC70L7QstGL0LUg0YHQuNGB0YLQtdC80YtcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4MworbXNnaWQgIiAtQyBbPGZkPl0gIGRpc3BsYXkgcHJvZ3Jlc3MgYmFyOyBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiIC1DIFs8ZmQ+XSAg0L/QvtC60LDQt9GL0LLQsNGC0Ywg0YHRgtCw0YLRg9GBINCy0YvQv9C+0LvQvdC10L3QuNGPOyBmZCAtINC00LXRgdC60YDQuNC/0YLQvtGAINGE0LDQudC70LAg0L/RgNC4INGA0LDQsdC+0YLQtSDQsiDQs9GA0LDRhNC40YfQtdGB0LrQvtC8INC40L3RgtC10YDRhNC10LnRgdC1XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODQKK21zZ2lkICIgLWwgICAgICAgICBsb2NrIHRoZSBkZXZpY2UgdG8gZ3VhcmFudGVlIGV4Y2x1c2l2ZSBhY2Nlc3NcbiIKK21zZ3N0ciAiIC1sICAgICAgICAg0LfQsNCx0LvQvtC60LjRgNC+0LLQsNGC0Ywg0YPRgdGC0YDQvtC50YHRgtCy0L4g0LTQu9GPINCz0LDRgNCw0L3RgtC40Lgg0LjRgdC60LvRjtGH0LjRgtC10LvRjNC90L7Qs9C+INC00L7RgdGC0YPQv9CwXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODUKK21zZ2lkICIgLU0gICAgICAgICBkbyBub3QgY2hlY2sgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLU0gICAgICAgICDQvdC1INC/0YDQvtCy0LXRgNGP0YLRjCDQv9GA0LjQvNC+0L3RgtC40YDQvtCy0LDQvdC90YvQtSDRhNCw0LnQu9C+0LLRi9C1INGB0LjRgdGC0LXQvNGLXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODYKK21zZ2lkICIgLU4gICAgICAgICBkbyBub3QgZXhlY3V0ZSwganVzdCBzaG93IHdoYXQgd291bGQgYmUgZG9uZVxuIgorbXNnc3RyICIgLU4gICAgICAgICDQvdC1INC30LDQv9GD0YHQutCw0YLRjCwg0L/QvtC60LDQt9Cw0YLRjCDQuNC80LjRgtCw0YbQuNGOINCy0YvQv9C+0LvQvdC10L3QuNGPXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODcKK21zZ2lkICIgLVAgICAgICAgICBjaGVjayBmaWxlc3lzdGVtcyBpbiBwYXJhbGxlbCwgaW5jbHVkaW5nIHJvb3RcbiIKK21zZ3N0ciAiIC1QICAgICAgICAg0L/RgNC+0LLQtdGA0LjRgtGMINGE0LDQudC70L7QstGL0LUg0YHQuNGB0YLQtdC80Ysg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+LCDQstC60LvRjtGH0LDRjyDQutC+0YDQvdC10LLRg9GOXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODgKK21zZ2lkICIgLVIgICAgICAgICBza2lwIHJvb3QgZmlsZXN5c3RlbTsgdXNlZnVsIG9ubHkgd2l0aCAnLUEnXG4iCittc2dzdHIgIiAtUiAgICAgICAgINC/0YDRgNC+0L/Rg9GB0YLQuNGC0Ywg0LrQvtGA0L3QtdCy0YPRjiDRhNCw0LnQu9C+0LLRg9GOINGB0LjRgdGC0LXQvNGDOyDQvNC+0LbQtdGCINCx0YvRgtGMINC40YHQv9C+0LvRjNC30L7QstCw0L3QviDRgtC+0LvRjNC60L4g0YEgJy1BJ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg5CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLXIgWzxmZD5dICByZXBvcnQgc3RhdGlzdGljcyBmb3IgZWFjaCBkZXZpY2UgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiICAgIC1sIFvQuNC70LggLS1saXN0XTogICAgICDRgdC/0LjRgdC+0Log0YDQsNC30LTQtdC70L7QsiDQutCw0LbQtNC+0LPQviDRg9GB0YLRgNC+0LnRgdGC0LLQsCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MQorbXNnaWQgIiAtcyAgICAgICAgIHNlcmlhbGl6ZSB0aGUgY2hlY2tpbmcgb3BlcmF0aW9uc1xuIgorbXNnc3RyICIgLXMgICAgICAgICDQv9C+0YHQu9C10LTQvtCy0LDRgtC10LvRjNC90L7QtSDQstGL0L/QvtC70L3QtdC90LjQtSDQv9GA0L7QstC10YDQvtC6XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTIKK21zZ2lkICIgLVQgICAgICAgICBkbyBub3Qgc2hvdyB0aGUgdGl0bGUgb24gc3RhcnR1cFxuIgorbXNnc3RyICIgLVQgICAgICAgICDQvdC1INC/0L7QutCw0LfRi9Cy0LDRgtGMINC30LDQs9C+0LvQvtCy0L7QuiDQv9GA0Lgg0LfQsNC/0YPRgdC60LVcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MworbXNnaWQgIiIKKyIgLXQgPHR5cGU+ICBzcGVjaWZ5IGZpbGVzeXN0ZW0gdHlwZXMgdG8gYmUgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICA8dHlwZT4gaXMgYWxsb3dlZCB0byBiZSBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0XG4iCittc2dzdHIgIiIKKyIgLXQgPNGC0LjQvz4gINGD0LrQsNC30LDRgtGMINGE0LDQudC70L7QstGD0Y4g0YHQuNGB0YLQtdC80YMg0LTQu9GPINC/0YDQvtCy0LXRgNC60Lg7XG4iCisiICAgICAgICAgICDQsiDQutCw0YfQtdGB0YLQstC1INC/0LDRgNCw0LzQtdGC0YDQsCDQvNC+0LbQvdC+INC/0LXRgNC10YfQuNGB0LvQuNGC0Ywg0L3QtdGB0LrQvtC70YzQutC+INGE0LDQudC70L7QstGL0YUg0YHQuNGB0YLQtdC8INGH0LXRgNC10Lcg0LfQsNC/0Y/RgtGD0Y5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NQorbXNnaWQgIiAtViAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtViAgICAgICAgINC/0L7QtNGA0L7QsdC90L7QtSDQvtC/0LjRgdCw0L3QuNC1INCy0YvQv9C+0LvQvdGP0LXQvNGL0YUg0LTQtdC50YHRgtCy0LjQuVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk2Cittc2dpZCAiIC0/ICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC0/ICAgICAgICAg0L/QvtC60LDQt9Cw0YLRjCDRjdGC0YMg0YHQv9GA0LDQstC60YMg0Lgg0LLRi9C50YLQuFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk5Cittc2dpZCAiU2VlIHRoZSBzcGVjaWZpYyBmc2NrLiogY29tbWFuZHMgZm9yIGF2YWlsYWJsZSBmcy1vcHRpb25zLiIKK21zZ3N0ciAi0J/QvtGB0LzQvtGC0YDQuNGC0LUg0LrQvtC90LrRgNC10YLQvdGD0Y4g0LrQvtC80LDQvdC00YMgZnNjay4qINC00LvRjyDQtNC+0YHRgtGD0L/QvdGL0YUg0L/QsNGA0LDQvNC10YLRgNC+0LIg0YTQsNC50LvQvtCy0YvRhSDRgdC40YHRgtC10LwuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDM4Cittc2dpZCAidG9vIG1hbnkgZGV2aWNlcyIKK21zZ3N0ciAi0YHQu9C40YjQutC+0Lwg0LzQvdC+0LPQviDRg9GB0YLRgNC+0LnRgdGC0LIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NTAKK21zZ2lkICJJcyAvcHJvYyBtb3VudGVkPyIKK21zZ3N0ciAi0KTQsNC50LvQvtCy0LDRjyDRgdC40YHRgtC10LzQsCAvcHJvYyDQv9GA0LjQvNC+0L3RgtC40YDQvtCy0LDQvdCwPyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ1OAorIywgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHJvb3QgdG8gc2NhbiBmb3IgbWF0Y2hpbmcgZmlsZXN5c3RlbXM6ICVzIgorbXNnc3RyICLQvdC10L7QsdGF0L7QtNC40LzQviDQt9Cw0L/Rg9GB0YLQuNGC0Ywg0L7RgiDQuNC80LXQvdC4INGD0YfQtdGC0L3QvtC5INC30LDQv9C40YHQuCByb290LCDRh9GC0L7QsdGLINC/0YDQvtGB0LrQsNC90LjRgNC+0LLQsNGC0Ywg0LLRi9Cx0YDQsNC90L3Ri9C1INGE0LDQudC70L7QstGL0LUg0YHQuNGB0YLQtdC80Ys6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDYyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGZpbmQgbWF0Y2hpbmcgZmlsZXN5c3RlbTogJXMiCittc2dzdHIgItC90LUg0L3QsNC50LTQtdC90Ysg0L/QvtC00YXQvtC00Y/RidC40LUg0YTQsNC50LvQvtCy0YvQtSDRgdC40YHRgtC10LzRizogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NzAgZGlzay11dGlscy9mc2NrLmM6MTU2NSBtaXNjLXV0aWxzL2tpbGwuYzozNjMKKyM6IHN5cy11dGlscy9lamVjdC5jOjI3OQorbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKK21zZ3N0ciAi0YHQu9C40YjQutC+0Lwg0LzQvdC+0LPQviDQsNGA0LPRg9C80LXQvdGC0L7QsiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTUyNSBkaXNrLXV0aWxzL2ZzY2suYzoxNTI4Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtciIKK21zZ3N0ciAi0L3QtdCy0LXRgNC90YvQuSBp0LDRgNCz0LzQtdC90YIg0L/QsNGA0LDQvNC10YLRgNCwIC1yIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTc2CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXI6ICVkIgorbXNnc3RyICLQvdC10LLQtdGA0L3Ri9C5IGnQsNGA0LPQvNC10L3RgiDQv9Cw0YDQsNC80LXRgtGA0LAgLXI6ICVkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNjE4Cittc2dpZCAidGhlIC1sIG9wdGlvbiBjYW4gYmUgdXNlZCB3aXRoIG9uZSBkZXZpY2Ugb25seSAtLSBpZ25vcmUiCittc2dzdHIgItC/0LDRgNCw0LzQtdGC0YAgLWwg0LzQvtC20LXRgiDQsdGL0YLRjCDQuNGB0L/QvtC70YzQt9C+0LLQsNC9INGC0L7Qu9GM0LrQviDRgSDQvtC00L3QuNC8INGD0YHRgtGA0L7QudGB0YLQstC+0LwgLS0g0LjQs9C90L7RgNC40YDRg9C10LwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT5cbiIKK21zZ3N0ciAiJXMgW9C/0LDRgNCw0LzQtdGC0YDRi10gPNGE0LDQudC7PlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE2Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIGNvbXByZXNzZWQgUk9NIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgItCf0YDQvtCy0LXRgNC40YLRjCDQuCDQuNGB0L/RgNCw0LLQuNGC0Ywg0L7RiNC40LHQutC4INC90LAg0YHQttCw0YLQvtC5IFJPTS3RhNCw0LnQu9C+0LLQvtC5INGB0LjRgdGC0LXQvNC1LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE5Cittc2dpZCAiIC1hICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAg0YLQvtC70YzQutC+INC00LvRjyDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCwg0LjQs9C90L7RgNC40YDRg9C10YLRgdGPXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjAKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgINC/0L7QtNGA0L7QsdC90YvQuSDRgNC10LbQuNC8XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjEKK21zZ2lkICIgLXkgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIC15ICAgICAgICAgICAgICAgICAgICAgICDRgtC+0LvRjNC60L4g0LTQu9GPINGB0L7QstC80LXRgdGC0LjQvNC+0YHRgtC4LCDQuNCz0L3QvtGA0LjRgNGD0LXRgtGB0Y9cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMgorbXNnaWQgIiAtYiwgLS1ibG9ja3NpemUgPHNpemU+ICAgdXNlIHRoaXMgYmxvY2tzaXplLCBkZWZhdWx0cyB0byBwYWdlIHNpemVcbiIKK21zZ3N0ciAiIC1iLCAtLWJsb2Nrc2l6ZSA80YDQsNC30LzQtdGAPiDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LfQsNC00LDQvdC90YvQuSDRgNCw0LfQvNC10YAg0LHQu9C+0LrQsCwg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4gLSDRgNCw0LfQvNC10YAg0YHRgtGA0LDQvdC40YbRi1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIzCittc2dpZCAiICAgICAtLWV4dHJhY3RbPTxkaXI+XSAgICB0ZXN0IHVuY29tcHJlc3Npb24sIG9wdGlvbmFsbHkgZXh0cmFjdCBpbnRvIDxkaXI+XG4iCittc2dzdHIgIiAgICAgLS1leHRyYWN0Wz08ZGlyPl0gICAg0L/RgNC+0LLQtdGA0LrQsCDRgNCw0YHQv9Cw0LrQvtCy0LrQuCwg0L7Qv9GG0LjQvtC90LDQu9GM0L3QviDQsiDQutCw0YLQsNC70L7QsyA8ZGlyPlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGZhaWxlZDogdW5hYmxlIHRvIGRldGVybWluZSBkZXZpY2Ugc2l6ZTogJXMiCittc2dzdHIgItC+0YjQuNCx0LrQsCDQstGL0LfQvtCy0LAgaW9jbHQ6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0L/RgNC10LTQtdC70LjRgtGMINGA0LDQt9C80LXRgCDRg9GB0YLRgNC+0LnRgdGC0LLQsDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGEgYmxvY2sgZGV2aWNlIG9yIGZpbGU6ICVzIgorbXNnc3RyICLQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LHQu9C+0YfQvdGL0Lwg0YPRgdGC0YDQvtC50YHRgtCy0L7QvCDQuNC70Lgg0YTQsNC50LvQvtC8OiAlcyAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzAgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNgorbXNnaWQgImZpbGUgbGVuZ3RoIHRvbyBzaG9ydCIKK21zZ3N0ciAi0YHQu9C40YjQutC+0Lwg0LzQsNC70LDRjyDQtNC70LjQvdCwINGE0LDQudC70LAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzkgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzMworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI0OSBsaWJmZGlzay9zcmMvYnNkLmM6NzE4IGxpYmZkaXNrL3NyYy9ic2QuYzo4OTAKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMDggbG9naW4tdXRpbHMvbGFzdC5jOjI0MiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgInNlZWsgb24gJXMgZmFpbGVkIgorbXNnc3RyICLQv9C+0LjRgdC6INC90LAgJXMg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg3Cittc2dpZCAic3VwZXJibG9jayBtYWdpYyBub3QgZm91bmQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJjcmFtZnMgZW5kaWFubmVzcyBpcyAlc1xuIgorbXNnc3RyICLQv9C+0YDRj9C00L7QuiDQsdCw0LnRgiBjcmFtZnMgLSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkxCittc2dpZCAiYmlnIgorbXNnc3RyICLQsdC+0LvRjNGI0L7QuSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MQorbXNnaWQgImxpdHRsZSIKK21zZ3N0ciAi0LfQsNCz0L7Qu9C+0LLQvtC6IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTk1Cittc2dpZCAidW5zdXBwb3J0ZWQgZmlsZXN5c3RlbSBmZWF0dXJlcyIKK21zZ3N0ciAi0L3QtdC/0L7QtNC00LXRgNC20LjQstCw0LXQvNGL0LUg0L7RgdC+0LHQtdC90L3QvtGB0YLQuCDRhNCw0LnQu9C+0LLQvtC5INGB0LjRgdGC0LXQvNGLIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgInN1cGVyYmxvY2sgc2l6ZSAoJWQpIHRvbyBzbWFsbCIKK21zZ3N0ciAi0YDQsNC30LzQtdGAINGB0YPQv9C10YDQsdC70L7QutCwINGB0LvQuNGI0LrQvtC8INCx0L7Qu9GM0YjQvtC5ICglZCkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDQKK21zZ2lkICJ6ZXJvIGZpbGUgY291bnQiCittc2dzdHIgItC/0L7QtNGB0YfQtdGCINC60L7Qu9C40YfQtdGB0YLQstCwINGE0LDQudC70L7QsiDQvdGD0LvQtdCy0L7QuSDQtNC70LjQvdGLIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA4Cittc2dpZCAiZmlsZSBleHRlbmRzIHBhc3QgZW5kIG9mIGZpbGVzeXN0ZW0iCittc2dzdHIgItGE0LDQudC7INCy0YvRhdC+0LTQuNGCINC30LAg0L/RgNC10LTQtdC70Ysg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRiyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxMAorbXNnaWQgIm9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICLRgdGC0LDRgNGL0Lkg0YTQvtGA0LzQsNGCIGNyYW1mcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxOQorbXNnaWQgInVuYWJsZSB0byB0ZXN0IENSQzogb2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC/0YDQvtCy0LXRgNC40YLRjCDQutC+0L3RgtGA0L7Qu9GM0L3Rg9GOINGB0YPQvNC80YMgQ1JDOiDRgdGC0LDRgNGL0Lkg0YTQvtGA0LzQsNGCIGNmcmFtZnMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNzIKK21zZ2lkICJjcmMgZXJyb3IiCittc2dzdHIgItC+0YjQuNCx0LrQsCDQutC+0L3RgtGA0L7Qu9GM0L3QvtC5INGB0YPQvNC80YsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTU0Cittc2dpZCAic2VlayBmYWlsZWQiCittc2dzdHIgItC+0YjQuNCx0LrQsCDQv9C+0LjRgdC60LAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDYKK21zZ2lkICJyZWFkIHJvbWZzIGZhaWxlZCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywgcm9tZnMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMzgKK21zZ2lkICJyb290IGlub2RlIGlzIG5vdCBkaXJlY3RvcnkiCittc2dzdHIgImlub2RlINC60L7RgNC90Y8g0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC60LDRgtCw0LvQvtCz0L7QvCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM0MgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgcm9vdCBvZmZzZXQgKCVsdSkiCittc2dzdHIgItC90LXQstC10YDQvdC+0LUg0YHQvNC10YnQtdC90LjQtSDQutC+0YDQvdGPICglbHUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzYwCittc2dpZCAiZGF0YSBibG9jayB0b28gbGFyZ2UiCittc2dzdHIgItCx0LvQvtC6INC00LDQvdC90YvQuSDRgdC70LjRiNC60L7QvCDQsdC+0LvRjNGI0L7QuSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJkZWNvbXByZXNzaW9uIGVycm9yOiAlcyIKK21zZ3N0ciAi0L7RiNC40LHQutCwINGA0LDRgdC/0LDQutC+0LLQutC4OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgIGhvbGUgYXQgJWx1ICglenUpXG4iCittc2dzdHIgIiAgwqvQtNGL0YDQsMK7INCyICVsdSAoJXp1KVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Mzk3IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICB1bmNvbXByZXNzaW5nIGJsb2NrIGF0ICVsdSB0byAlbHUgKCVsdSlcbiIKK21zZ3N0ciAiICDRgNCw0YHQv9Cw0LrQvtCy0YvQstCw0LXRgtGB0Y8g0LHQu9C+0LogJWx1INCyICVsdSAoJWx1KVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1ibG9jayAoJWxkKSBieXRlcyIKK21zZ3N0ciAi0L3QtdCx0LvQvtGH0L3Ri9C1ICglbGQpINCx0LDQudGC0YsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLXNpemUgKCVsZCB2cyAlbGQpIGJ5dGVzIgorbXNnc3RyICLQsdC10LfRgNCw0LfQvNC10YDQvdGL0LUgKCVsZCDQv9GA0L7RgtC40LIgJWxkKSDQsdCw0LnRgtGLIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDEzIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTYKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTA0IG1pc2MtdXRpbHMvdXVpZGQuYzozNzUgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4MgorIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzUgc3lzLXV0aWxzL3NldHByaXYuYzo1NTggc3lzLXV0aWxzL3N3YXBvbi5jOjM4OQorIzogdGVybS11dGlscy90dHltc2cuYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkOiAlcyIKK21zZ3N0ciAi0L7RiNC40LHQutCwIHdyaXRlOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyNAorIywgYy1mb3JtYXQKK21zZ2lkICJsY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAi0L7RiNC40LHQutCwIGxjaG93bjogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAi0L7RiNC40LHQutCwIGNob3duOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQzMworIywgYy1mb3JtYXQKK21zZ2lkICJ1dGltZSBmYWlsZWQ6ICVzIgorbXNnc3RyICLQvtGI0LjQsdC60LAgdXRpbWU6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICJpbm9kZSDQutCw0YLQsNC70L7Qs9CwINC40LzQtdC10YIg0L3Rg9C70LXQstC+0LUg0YHQvNC10YnQtdC90LjQtSDQuCDQvdC10L3Rg9C70LXQstC+0Lkg0YDQsNC30LzQtdGAOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ2MAorIywgYy1mb3JtYXQKK21zZ2lkICJta2RpciBmYWlsZWQ6ICVzIgorbXNnc3RyICLQstGL0L/QvtC70LXQvdC40LUgbWtkaXIg0LfQsNCy0LXRgNGI0LjQu9C+0YHRjCDQvdC10YPQtNCw0YfQtdC5OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3NgorbXNnaWQgImZpbGVuYW1lIGxlbmd0aCBpcyB6ZXJvIgorbXNnc3RyICLQvdGD0LvQtdCy0LDRjyDQtNC70LjQvdCwINC40LzQtdC90Lgg0YTQsNC50LvQsCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3OAorbXNnaWQgImJhZCBmaWxlbmFtZSBsZW5ndGgiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90LDRjyDQtNC70LjQvdCwINC40LzQtdC90Lgg0YTQsNC50LvQsCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4NAorbXNnaWQgImJhZCBpbm9kZSBvZmZzZXQiCittc2dzdHIgItC90LXQstC10YDQvdC+0LUg0YHQvNC10YnQtdC90LjQtSBpbm9kZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ5OQorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplIgorbXNnc3RyICJpbm9kZSDRhNCw0LnQu9CwINC40LzQtdC10YIg0L3Rg9C70LXQstC+0LUg0YHQvNC10YnQtdC90LjQtSDQuCDQvdC10L3Rg9C70LXQstC+0Lkg0L7QsdGK0LXQvCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUwMgorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gc2l6ZSBhbmQgbm9uLXplcm8gb2Zmc2V0IgorbXNnc3RyICJpbm9kZSDRhNCw0LnQu9CwINC40LzQtdC10YIg0L3Rg9C70LXQstC+0Lkg0L7QsdGK0LXQvCDQuCDQvdC10L3Rg9C70LXQstC+0LUg0YHQvNC10YnQtdC90LjQtSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMQorbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gb2Zmc2V0IgorbXNnc3RyICLRgdC40LzQstC+0LvQuNGH0LXRgdC60LDRjyDRgdGB0YvQu9C60LAg0LjQvNC10LXRgiDQvdGD0LvQtdCy0L7QtSDRgdC80LXRidC10L3QuNC1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTMzCittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBzaXplIgorbXNnc3RyICLRgdC40LzQstC+0LvQuNGH0LXRgdC60LDRjyDRgdGB0YvQu9C60LAg0LjQvNC10LXRgiDQvdGD0LvQtdCy0L7QuSDRgNCw0LfQvNC10YAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2l6ZSBlcnJvciBpbiBzeW1saW5rOiAlcyIKK21zZ3N0ciAi0L7RiNC40LHQutCwINGA0LDQt9C80LXRgNCwINCyINGB0LjQvNCy0L7Qu9C40YfQtdGB0LrQvtC5INGB0YHRi9C70LrQtTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3ltbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICLQvtGI0LjQsdC60LAg0YHQuNC80LLQvtC70LjRh9C10YHQutC+0Lkg0YHRgdGL0LvQutC4OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU2OQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGZpbGUgaGFzIG5vbi16ZXJvIG9mZnNldDogJXMiCittc2dzdHIgItC+0YHQvtCx0YvQuSDRhNCw0LnQuyDQuNC80LXQtdGCINC90LXQvdGD0LvQtdCy0L7QtSDRgdC80LXRidC10L3QuNC1OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU3OQorIywgYy1mb3JtYXQKK21zZ2lkICJmaWZvIGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAi0L7Rh9C10YDQtdC00YwgZmlmbyDQuNC80LXQtdGCINC90LXQvdGD0LvQtdCy0YPRjiDQtNC70LjQvdGDOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU4NQorIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICLRgdC+0LrQtdGCINC40LzQtdC10YIg0L3QtdC90YPQu9C10LLRg9GOINC00LvQuNC90YM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg4CisjLCBjLWZvcm1hdAorbXNnaWQgImJvZ3VzIG1vZGU6ICVzICglbykiCittc2dzdHIgItGE0LjQutGC0LjQstC90YvQuSDRgNC10LbQuNC8OiAlcyAoJW8pIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1rbm9kIGZhaWxlZDogJXMiCittc2dzdHIgItCy0YvQv9C+0LvQvdC10L3QuNC1IG1rbm9kINC30LDQstC10YDRiNC40LvQvtGB0Ywg0L3QtdGD0LTQsNGH0LXQuTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIHN0YXJ0ICglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQgKCV6dSkiCittc2dzdHIgItC90LDRh9Cw0LvQviDQtNCw0L3QvdGL0YUg0LrQsNGC0LDQu9C+0LPQsCAoJWx1KSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIHN0YXJ0ICglenUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBlbmQgKCVsdSkgIT0gZmlsZSBkYXRhIHN0YXJ0ICglbHUpIgorbXNnc3RyICLQutC+0L3QtdGGINC00LDQvdC90YvRhSDQutCw0YLQsNC70L7Qs9CwICglbHUpICE9IGZpbGUgZGF0YSBzdGFydCAoJWx1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzNworbXNnaWQgImludmFsaWQgZmlsZSBkYXRhIG9mZnNldCIKK21zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzQvtC1INGB0LzQtdGJ0LXQvdC40LUg0LTQsNC90L3Ri9GFINGE0LDQudC70LAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2ODQgZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjcyNgorbXNnaWQgImludmFsaWQgYmxvY2tzaXplIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0LDRgNCz0YPQvNC10L3RgiDRgNCw0LfQvNC10YDQsCDQsdC70L7QutCwIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBPS1xuIgorbXNnc3RyICIlczog0J7QmlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODQKK21zZ2lkICJDaGVjayB0aGUgY29uc2lzdGVuY3kgb2YgYSBNaW5peCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLQn9GA0L7QstC10YDQutCwINGG0LXQu9C+0YHRgtC90L7RgdGC0Lgg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRiyBNaW5peC5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg2Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgbGlzdCBhbGwgZmlsZW5hbWVzXG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgINCy0YvQstC10YHRgtC4INGB0L/QuNGB0L7QuiDQstGB0LXRhSDRhNCw0LnQu9C+0LJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg3Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgYXV0b21hdGljIHJlcGFpclxuIgorbXNnc3RyICIgLWEsIC0tYXV0byAgICAgICDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQvtC1INC40YHQv9GA0LDQstC70LXQvdC40LUg0L7RiNC40LHQvtC6XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OAorbXNnaWQgIiAtciwgLS1yZXBhaXIgICAgIGludGVyYWN0aXZlIHJlcGFpclxuIgorbXNnc3RyICIgLXIsIC0tcmVwYWlyICAgICDQuNC90YLQtdGA0LDQutGC0LjQstC90L7QtSDQuNGB0L/RgNCw0LLQu9C10L3QuNC1INC+0YjQuNCx0L7QulxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBiZSB2ZXJib3NlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgINC/0L7QtNGA0L7QsdC90YvQuSDRgNC10LbQuNC8XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MAorbXNnaWQgIiAtcywgLS1zdXBlciAgICAgIG91dHB1dCBzdXBlci1ibG9jayBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICDQktGL0LLQvtC0INC40L3RhNC+0YDQvNCw0YbQuNC4INC+INGB0YPQv9C10YDQsdC70L7QutC1XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MQorbXNnaWQgIiAtbSwgLS11bmNsZWFyZWQgIGFjdGl2YXRlIG1vZGUgbm90IGNsZWFyZWQgd2FybmluZ3NcbiIKK21zZ3N0ciAiIC1tLCAtLXVuY2xlYXJlZCAgINCy0LrQu9GO0YfQuNGC0Ywg0L/RgNC10LTRg9C/0YDQtdC20LXQvdC40Y8gXCJtb2RlIG5vdCBjbGVhcmVkXCJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkyCittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgZm9yY2UgY2hlY2tcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmNlICAgICAg0L/RgNC40L3Rg9C00LjRgtC10LvRjNC90LDRjyDQv9GA0L7QstC10YDQutCwXG4iCisKKyMuIFRSQU5TTEFUT1JTOiB0aGVzZSB5ZXMgbm8gcXVlc3Rpb25zIHVzZXMgcnBtYXRjaCgpLCBhbmQgc2hvdWxkIGJlCisjLiAqIHRyYW5zbGF0ZWQuCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKHkvbik/ICIKK21zZ3N0ciAiJXMgKNC0L9C9KT8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG4veSk/ICIKK21zZ3N0ciAiJXMgKNC9L9C0KT8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAieVxuIgorbXNnc3RyICLQtFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiblxuIgorbXNnc3RyICLQvVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZC5cdCAiCittc2dzdHIgIiVzINC/0YDQuNC80L7QvdGC0LjRgNC+0LLQsNC9Llx0ICIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg5Cittc2dpZCAiRG8geW91IHJlYWxseSB3YW50IHRvIGNvbnRpbnVlIgorbXNnc3RyICLQktGLINC00LXQudGB0YLQstC40YLQtdC70YzQvdC+INGF0L7RgtC40YLQtSDQv9GA0L7QtNC+0LvQttC40YLRjCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNrIGFib3J0ZWQuXG4iCittc2dzdHIgItC/0YDQvtCy0LXRgNC60LAg0L/RgNC10YDQstCw0L3QsC5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzE5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yIDwgRklSU1RaT05FIGluIGZpbGUgYCVzJy4iCittc2dzdHIgItCX0L7QvdCwIG5yIDwgRklSU1RaT05FINCyINGE0LDQudC70LUgYCVzJy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA+PSBaT05FUyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICLQl9C+0L3QsCBuciA+PSBaT05FUyDQsiDRhNCw0LnQu9C1IGAlcycuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQ3Cittc2dpZCAiUmVtb3ZlIGJsb2NrIgorbXNnc3RyICLQo9C00LDQu9C40YLRjCDQsdC70L7QuiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IHVuYWJsZSB0byBzZWVrIHRvIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICLQntGI0LjQsdC60LAg0YfRgtC10L3QuNGPOiDQvdC10LLQvtC30LzQvtC20L3QviDQvdCw0LnRgtC4INCx0LvQvtC6INCyINGE0LDQudC70LUgJyVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICLQntGI0LjQsdC60LAg0YfRgtC10L3QuNGPOiDQvtGI0LjQsdC+0YfQvdGL0Lkg0LHQu9C+0Log0LIg0YTQsNC50LvQtSAnJXMnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSW50ZXJuYWwgZXJyb3I6IHRyeWluZyB0byB3cml0ZSBiYWQgYmxvY2tcbiIKKyJXcml0ZSByZXF1ZXN0IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorItCS0L3Rg9GC0YDQtdC90L3Rj9GPINC+0YjQuNCx0LrQsDog0L/QvtC/0YvRgtC60LAg0LfQsNC/0LjRgdCw0YLRjCDQvtGI0LjQsdC+0YfQvdGL0Lkg0LHQu9C+0LpcbiIKKyLQl9Cw0L/RgNC+0YEg0L3QsCDQt9Cw0L/QuNGB0Ywg0L/RgNC+0LjQs9C90L7RgNC40YDQvtCy0LDQvVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAi0L/QvtC40YHQuiDQsiB3cml0ZV9ibG9jayDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGUgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAi0J7RiNC40LHQutCwINC30LDQv9C40YHQuDog0L3QtdCy0LXRgNC90YvQuSDQsdC70L7QuiDQsiDRhNCw0LnQu9C1ICclcydcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTA1Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfc3VwZXJfYmxvY2siCittc2dzdHIgItC/0L7QuNGB0Log0LIgd3JpdGVfc3VwZXJfYmxvY2sg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTA3Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQt9Cw0L/QuNGB0LDRgtGMINGB0YPQv9C10YDQsdC70L7QuiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTIwCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LfQsNC/0LjRgdCw0YLRjCDQutCw0YDRgtGDIGlub2RlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjMKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgem9uZSBtYXAiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INC30LDQv9C40YHQsNGC0Ywg0LrQsNGA0YLRgyB6b25lIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjYKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQt9Cw0L/QuNGB0LDRgtGMIGlub2RlJ9GLIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NTgKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQstGL0LTQtdC70LjRgtGMINCx0YPRhNC10YAg0LTQu9GPINGB0YPQv9C10YDQsdC70L7QutCwIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjEKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBzdXBlciBibG9jayIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L/RgNC+0YfQuNGC0LDRgtGMINGB0YPQv9C10YDQsdC70L7QuiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTgzCittc2dpZCAiYmFkIG1hZ2ljIG51bWJlciBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAi0L3QtdCy0LXRgNC90L7QtSDQvNCw0LPQuNGH0LXRgdC60L7QtSDRh9C40YHQu9C+INCyINGB0YPQv9C10YDQsdC70L7QutC1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODUKK21zZ2lkICJPbmx5IDFrIGJsb2Nrcy96b25lcyBzdXBwb3J0ZWQiCittc2dzdHIgItCf0L7QtNC00LXRgNC20LjQstCw0Y7RgtGB0Y8g0YLQvtC70YzQutC+IDFrINCx0LvQvtC60Lgv0LfQvtC90YsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4NworIywgZnV6enkKK21zZ2lkICJiYWQgc19uaW5vZGVzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICLQvdC10LLQtdGA0L3QvtC1INC/0L7Qu9C1IHNfaW1hcF9ibG9ja3Mg0LIg0YHRg9C/0LXRgNCx0LvQvtC60LUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4OQorbXNnaWQgImJhZCBzX2ltYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICLQvdC10LLQtdGA0L3QvtC1INC/0L7Qu9C1IHNfaW1hcF9ibG9ja3Mg0LIg0YHRg9C/0LXRgNCx0LvQvtC60LUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5MQorIywgZnV6enkKK21zZ2lkICJiYWQgc19maXJzdGRhdGF6b25lIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICLQvdC10LLQtdGA0L3QvtC1INC/0L7Qu9C1IHNfaW1hcF9ibG9ja3Mg0LIg0YHRg9C/0LXRgNCx0LvQvtC60LUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5NAorbXNnaWQgImJhZCBzX3ptYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICLQvdC10LLQtdGA0L3QvtC1INC/0L7Qu9C1IHNfem1hcF9ibG9ja3Mg0LIg0YHRg9C/0LXRgNCx0LvQvtC60LUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxMAorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIG1hcCIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0YDQsNC30LzQtdGB0YLQuNGC0Ywg0LHRg9GE0LXRgCDQtNC70Y8g0LrQsNGA0YLRiyBpbm9kZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjEzCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBtYXAiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INCy0YvQtNC10LvQuNGC0Ywg0LHRg9GE0LXRgCDQtNC70Y8g0LrQsNGA0YLRiyDQt9C+0L3RiyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE2Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDRgNCw0LfQvNC10YHRgtC40YLRjCDQsdGD0YTQtdGAINC00LvRjyBpbm9kZSfQvtCyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTkKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBjb3VudCIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LLRi9C00LXQu9C40YLRjCDQsdGD0YTQtdGAINC00LvRjyDRh9C40YHQu9CwIGlub2RlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjIKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIGNvdW50IgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQstGL0LTQtdC70LjRgtGMINCx0YPRhNC10YAg0LTQu9GPINGH0LjRgdC70LAg0LfQvtC9IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjYKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZSBtYXAiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INC/0YDQvtGH0LjRgtCw0YLRjCDQutCw0YDRgtGDIGlub2RlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzAKK21zZ2lkICJVbmFibGUgdG8gcmVhZCB6b25lIG1hcCIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0L/RgNC+0YfQuNGC0LDRgtGMINC60LDRgNGC0YMg0LfQvtC9IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzQKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZXMiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INC/0YDQvtGH0LjRgtCw0YLRjCBpbm9kZSfRiyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorbXNnc3RyICLQn9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiDQn9C10YDQstCw0Y8g0LfQvtC90LAgIT0gTm9ybV9maXJzdHpvbmVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBpbm9kZXNcbiIKK21zZ3N0ciAiJWxkIGlub2RlJ9C+0LJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBibG9ja3NcbiIKK21zZ3N0ciAiJWxkINCx0LvQvtC60L7QslxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ZGF0YXpvbmU9JWpkICglamQpXG4iCittc2dzdHIgItCf0LXRgNCy0LDRjyDQt9C+0L3QsCDQtNCw0L3QvdGL0YU9JWpkICglamQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0NQorIywgYy1mb3JtYXQKK21zZ2lkICJab25lc2l6ZT0lZFxuIgorbXNnc3RyICLQoNCw0LfQvNC10YAg0LfQvtC90Ys9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIk1heHNpemU9JXp1XG4iCittc2dzdHIgItCc0LDQutGBLiDRgNCw0LfQvNC10YA9JXp1XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIHN0YXRlPSVkXG4iCittc2dzdHIgItCh0L7RgdGC0L7Rj9C90LjQtSDRhNCw0LnQu9C+0LLQvtC5INGB0LjRgdGC0LXQvNGLPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibmFtZWxlbj0lemRcbiIKKyJcbiIKK21zZ3N0ciAiIgorItC00LvQuNC90LAg0LjQvNC10L3QuD0lemRcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjY0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcxNAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlZCBtYXJrZWQgdW51c2VkLCBidXQgdXNlZCBmb3IgZmlsZSAnJXMnXG4iCittc2dzdHIgIklub2RlICVkINC/0L7QvNC10YfQtdC9INC60LDQuiDQvdC10LjRgdC/0L7Qu9GM0LfRg9C10LzRi9C5LCDQvdC+INC40YHQv9C+0LvRjNC30YPQtdGC0YHRjyDRhNCw0LnQu9C+0LwgJyVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NjcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzE3Cittc2dpZCAiTWFyayBpbiB1c2UiCittc2dzdHIgItCf0L7QvNC10YLQuNGC0YwsINC60LDQuiDQuNGB0L/QvtC70YzQt9GD0LXQvNGL0LkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY4OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpbGUgYCVzJyBoYXMgbW9kZSAlMDVvXG4iCittc2dzdHIgItCk0LDQudC7IGAlcycg0L3QsNGF0L7QtNC40YLRgdGPINCyINGA0LXQttC40LzQtSAlMDVvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY5NiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogaW5vZGUgY291bnQgdG9vIGJpZy5cbiIKK21zZ3N0ciAi0J/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTog0YfQuNGB0LvQviBpbm9kZSDRgdC70LjRiNC60L7QvCDQstC10LvQuNC60L4uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc1NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NjMKK21zZ2lkICJyb290IGlub2RlIGlzbid0IGEgZGlyZWN0b3J5IgorbXNnc3RyICLQutC+0YDQvdC10LLQvtC5IGlub2RlINC90LUg0Y/QstC70Y/QtdGC0YHRjyDQutCw0YLQsNC70L7Qs9C+0LwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc3NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgaGFzIGJlZW4gdXNlZCBiZWZvcmUuIE5vdyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICLQkdC70L7QuiDQsdGL0Lsg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvSDRgNCw0L3QtdC1LiDQotC10L/QtdGA0Ywg0LIg0YTQsNC50LvQtSBgJXMnLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzc3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgwOAorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTUyCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTk5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDgKK21zZ2lkICJDbGVhciIKK21zZ3N0ciAi0J7Rh9C40YHRgtC40YLRjCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzg3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayAlZCBpbiBmaWxlIGAlcycgaXMgbWFya2VkIG5vdCBpbiB1c2UuIgorbXNnc3RyICLQkdC70L7QuiAlZCDQsiDRhNCw0LnQu9C1IGAlcycg0L/QvtC80LXRh9C10L0g0LrQsNC6INC90LXQuNGB0L/QvtC70YzQt9GD0LXQvNGL0LkuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODIwCittc2dpZCAiQ29ycmVjdCIKK21zZ3N0ciAi0JjRgdC/0YDQsNCy0LjRgtGMIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzMworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGlyZWN0b3J5ICclcycgY29udGFpbnMgYSBiYWQgaW5vZGUgbnVtYmVyIGZvciBmaWxlICclLipzJy4iCittc2dzdHIgItCa0LDRgtCw0LvQvtCzICclcycg0YHQvtC00LXRgNC20LjRgiDQvdC10LLQtdGA0L3Ri9C5INC90L7QvNC10YAgaW5vZGUg0LTQu9GPINGE0LDQudC70LAgJyUuKnMnLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTYxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwMzUKK21zZ2lkICIgUmVtb3ZlIgorbXNnc3RyICIg0KPQtNCw0LvQuNGC0YwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIKK21zZ3N0ciAiJXM6INC90LXQstC10YDQvdGL0Lkg0LrQsNGC0LDQu9C+0LM6ICcuJyDQvdC1INC/0LXRgNCy0YvQuVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5ODYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4uJyBpc24ndCBzZWNvbmRcbiIKK21zZ3N0ciAiJXM6INC90LXQstC10YDQvdGL0Lkg0LrQsNGC0LDQu9C+0LM6ICcuLicg0L3QtSDQstGC0L7RgNC+0LlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA5NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTE3Cittc2dpZCAiaW50ZXJuYWwgZXJyb3IiCittc2dzdHIgItCy0L3Rg9GC0YDQtdC90L3Rj9GPINC+0YjQuNCx0LrQsCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA5NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBzaXplIDwgMzIiCittc2dzdHIgIiVzOiDQvdC10LLQtdGA0L3Ri9C5INC60LDRgtCw0LvQvtCzOiDRgNCw0LfQvNC10YAgPCAzMiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IGludmFsaWQgaV96b25lLCB1c2UgLS1yZXBhaXIgdG8gZml4XG4iCittc2dzdHIgIiVzOiDQvdC10LLQtdGA0L3Ri9C5INC60LDRgtCw0LvQvtCzOiAnLicg0L3QtSDQv9C10YDQstGL0LlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEzMgorbXNnaWQgInNlZWsgZmFpbGVkIGluIGJhZF96b25lIgorbXNnc3RyICLQv9C+0LjRgdC6INCyIGJhZF96b25lINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5OAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbW9kZSBub3QgY2xlYXJlZC4iCittc2dzdHIgItCg0LXQttC40LwgaW5vZGUgJWx1INC90LUg0L7Rh9C40YnQtdC9LiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA3CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBub3QgdXNlZCwgbWFya2VkIHVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIklub2RlICVsdSDQvdC1INC40YHQv9C+0LvRjNC30YPQtdGC0YHRjywg0L/QvtC80LXRh9C10L0g0LrQsNC6INC40YHQv9C+0LvRjNC30YPQtdC80YvQuSDQsiBiaXRtYXAn0LUuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IHVzZWQsIG1hcmtlZCB1bnVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIklub2RlICVsdSDQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8sINC/0L7QvNC10YfQtdC9INC60LDQuiDQvdC10LjRgdC/0L7Qu9GM0LfRg9C10LzRi9C5INCyIGJpdG1hcCfQtS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTggZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxNAorbXNnaWQgIlNldCIKK21zZ3N0ciAi0J/RgNC40YHQstC+0LjRgtGMIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTYyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IChtb2RlID0gJTA3byksIGlfbmxpbmtzPSVkLCBjb3VudGVkPSVkLiIKK21zZ3N0ciAiSW5vZGUgJWx1ICjRgNC10LbQuNC8ID0gJTA3byksIGlfbmxpbmtzPSVkLCBjb3VudGVkPSVkLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjIxCittc2dpZCAiU2V0IGlfbmxpbmtzIHRvIGNvdW50IgorbXNnc3RyICLQn9GA0LjRgdCy0L7QuNGC0YwgaV9ubGlua3Mn0YMg0YfQuNGB0LvQviIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBtYXJrZWQgaW4gdXNlLCBubyBmaWxlIHVzZXMgaXQuIgorbXNnc3RyICLQl9C+0L3QsCAlbHU6INC/0L7QvNC10YfQtdC90LAg0LrQsNC6INC40YHQv9C+0LvRjNC30YPQtdC80LDRjywg0L3QviDQuNGB0L/QvtC70YzQt9GD0Y7RidC40YUg0LXQtSDRhNCw0LnQu9C+0LIg0L3QtdGCLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE3OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjM1Cittc2dpZCAiVW5tYXJrIgorbXNnc3RyICLQodC90Y/RgtGMINC80LXRgtC60YMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogaW4gdXNlLCBjb3VudGVkPSVkXG4iCittc2dzdHIgItCX0L7QvdCwICVsdTog0LjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPLCBjb3VudGVkPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MworIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbm90IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICLQl9C+0L3QsCAlbHU6INC90LUg0LjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPLCBjb3VudGVkPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyOTEKK21zZ2lkICJiYWQgaW5vZGUgc2l6ZSIKK21zZ3N0ciAi0L3QtdCy0LXRgNC90YvQuSDRgNCw0LfQvNC10YAgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyOTMKK21zZ2lkICJiYWQgdjIgaW5vZGUgc2l6ZSIKK21zZ3N0ciAi0L3QtdCy0LXRgNC90YvQuSDRgNCw0LfQvNC10YAgdjIgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzMzcKK21zZ2lkICJuZWVkIHRlcm1pbmFsIGZvciBpbnRlcmFjdGl2ZSByZXBhaXJzIgorbXNnc3RyICLQvdGD0LbQtdC9INGC0LXRgNC80LjQvdCw0Lsg0LTQu9GPINC40L3RgtC10YDQsNC60YLQuNCy0L3QvtCz0L4g0LjRgdC/0YDQsNCy0LvQtdC90LjRjyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXMiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMICVzOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBjbGVhbiwgbm8gY2hlY2suXG4iCittc2dzdHIgIiVzINGH0LjRgdGCLCDQv9GA0L7QstC10YDQutCwINC90LUg0L3Rg9C20L3QsC5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGb3JjaW5nIGZpbGVzeXN0ZW0gY2hlY2sgb24gJXMuXG4iCittc2dzdHIgItCX0LDQv9GD0YHQutCw0LXRgtGB0Y8g0L/RgNC+0LLQtdGA0LrQsCDRhNCw0LnQu9C+0LLQvtC5INGB0LjRgdGC0LXQvNGLINC90LAgJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBvbiAlcyBpcyBkaXJ0eSwgbmVlZHMgY2hlY2tpbmcuXG4iCittc2dzdHIgItCk0LDQudC70L7QstCw0Y8g0YHQuNGB0YLQtdC80LAg0L3QsCAlcyDQv9C+0LLRgNC10LbQtNC10L3QsCwg0L3Rg9C20L3QsCDQv9GA0L7QstC10YDQutCwLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmxkIGlub2RlcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiIgorIlxuIgorItCY0YHQv9C+0LvRjNC30YPRjtGC0YHRjyAlNmxkIGlub2RlcyAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTZsZCB6b25lcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfRg9GO0YLRgdGPICU2bGQg0LfQvtC9ICglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM5NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZkIHJlZ3VsYXIgZmlsZXNcbiIKKyIlNmQgZGlyZWN0b3JpZXNcbiIKKyIlNmQgY2hhcmFjdGVyIGRldmljZSBmaWxlc1xuIgorIiU2ZCBibG9jayBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgbGlua3NcbiIKKyIlNmQgc3ltYm9saWMgbGlua3NcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmlsZXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2ZCDQvtCx0YvRh9C90YvRhSDRhNCw0LnQu9C+0LJcbiIKKyIlNmQg0LrQsNGC0LDQu9C+0LPQvtCyXG4iCisiJTZkINGE0LDQudC70L7QsiDRgdC40LzQstC+0LvRjNC90YvRhSDRg9GB0YLRgNC+0LnRgdGC0LJcbiIKKyIlNmQg0YTQsNC50LvQvtCyINCx0LvQvtGH0L3Ri9GFINGD0YHRgtGA0L7QudGB0YLQslxuIgorIiU2ZCDRgdGB0YvQu9C+0LpcbiIKKyIlNmQg0YHQuNC80LLQvtC70LjRh9C10YHQutC40YUg0YHRgdGL0LvQvtC6XG4iCisiLS0tLS0tXG4iCisiJTZkINGE0LDQudC70L7QslxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDExCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiRklMRSBTWVNURU0gSEFTIEJFRU4gQ0hBTkdFRFxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyLQpNCQ0JnQm9Ce0JLQkNCvINCh0JjQodCi0JXQnNCQINCR0KvQm9CQINCY0JfQnNCV0J3QldCd0JBcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MjMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODMzCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUzOSBkaXNrLXV0aWxzL3BhcnR4LmM6MTAzNSBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTIKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzk4IHN5cy11dGlscy9kbWVzZy5jOjY1OSBzeXMtdXRpbHMvd2RjdGwuYzozNDYKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQxMSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI3MiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjM0OQorIzogdGV4dC11dGlscy9wZy5jOjEyNDgKK21zZ2lkICJ3cml0ZSBmYWlsZWQiCittc2dzdHIgItC30LDQv9C40YHRjCDQt9Cw0LLQtdGA0YjQuNC70LDRgdGMINC90LXRg9C00LDRh9C90L4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbWlnaHQgbm90IGJlIGFuIElTTyBmaWxlc3lzdGVtIgorbXNnc3RyICIlczog0L3QtSDQvNC+0LbQtdGCINCx0YvRgtGMINGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80L7QuSBJU08iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEzOQorIywgYy1mb3JtYXQKK21zZ2lkICJzZWVrIGVycm9yIG9uICVzIgorbXNnc3RyICLQvtGI0LjQsdC60LAg0L/QvtC40YHQutCwINC90LAgJXMiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE0MgorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkIGVycm9yIG9uICVzIgorbXNnc3RyICLQvtGI0LjQsdC60LAg0YfRgtC10L3QuNGPINC90LAgJXMiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZWN0b3IgY291bnQ6ICVkLCBzZWN0b3Igc2l6ZTogJWRcbiIKK21zZ3N0ciAi0YfQuNGB0LvQviDRgdC10LrRgtC+0YDQvtCyOiAlZCwg0YDQsNC30LzQtdGAINGB0LXQutGC0L7RgNCwOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8aXNvOTY2MF9pbWFnZV9maWxlPlxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YBdIDzRhNCw0LnQuyDQvtCx0YDQsNC30LAg0YHRgtCw0L3QtNCw0YDRgtCwIGlzbzk2NjA+XG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3NAorbXNnaWQgIlNob3cgdGhlIGxlbmd0aCBvZiBhbiBJU08tOTY2MCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLQn9C+0LrQsNC30LDRgtGMINC00LvQuNC90YMg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRiyDRgdGC0LDQvdC00LDRgNGC0LAgSVNPLTk2NjAuXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3NworbXNnaWQgIiAtZCwgLS1kaXZpc29yPTxudW1iZXI+ICBkaXZpZGUgdGhlIGFtb3VudCBvZiBieXRlcyBieSA8bnVtYmVyPlxuIgorbXNnc3RyICIgLWQsIC0tZGl2aXNvcj080YfQuNGB0LvQvj4gINGA0LDQt9C00LXQu9C40YLRjCDQutC+0LvQuNGH0LXRgdGC0LLQviDQsdCw0LnRgiDQvdCwIDzRh9C40YHQu9C+PlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzgKK21zZ2lkICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgc2hvdyBzZWN0b3IgY291bnQgYW5kIHNpemVcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgINC/0L7QutCw0LfQsNGC0Ywg0LrQvtC70LjRh9C10YHRgtCy0L4g0YHQtdC60YLQvtGA0L7QsiDQuCDRgNCw0LfQvNC10YBcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MjEwCittc2dpZCAiaW52YWxpZCBkaXZpc29yIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0LTQtdC70LjRgtC10LvRjCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzIFvQv9Cw0YDQsNC80LXRgtGA0YtdINGD0YHRgtGA0L7QudGB0YLQstC+IFvQutC+0Lst0LLQviDQsdC70L7QutC+0LJdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3NworbXNnaWQgIk1ha2UgYW4gU0NPIGJmcyBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLQodC+0LfQtNCw0YLRjCDRhNCw0LnQu9C+0LLRg9GOINGB0LjRgdGC0LXQvNGDIFNDTyBiZnMuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLU4sIC0taW5vZGVzPU5VTSAgICBzcGVjaWZ5IGRlc2lyZWQgbnVtYmVyIG9mIGlub2Rlc1xuIgorIiAtViwgLS12bmFtZT1OQU1FICAgIHNwZWNpZnkgdm9sdW1lIG5hbWVcbiIKKyIgLUYsIC0tZm5hbWU9TkFNRSAgICBzcGVjaWZ5IGZpbGUgc3lzdGVtIG5hbWVcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorIiAtYyAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKKyIgLWwgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAtViBhcyB2ZXJzaW9uIG11c3QgYmUgb25seSBvcHRpb25cbiIKKyIgLWgsIC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisi0J/QsNGA0LDQvNC10YLRgNGLOlxuIgorIiAtTiwgLS1pbm9kZXM9TlVNICAgINGD0LrQsNC30LDRgtGMINC20LXQu9Cw0LXQvNC+0LUg0LrQvtC70LjRh9C10YHRgtCy0L4gaW5vZGVcbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICDRg9C60LDQt9Cw0YLRjCDQuNC80Y8g0YLQvtC80LBcbiIKKyIgLUYsIC0tZm5hbWU9TkFNRSAgICDRg9C60LDQt9Cw0YLRjCDQuNC80Y8g0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRi1xuIgorIiAtdiwgLS12ZXJib3NlICAgICAgINC/0L7QtNGA0L7QsdC90LDRjyDQuNC90YTQvtGA0LzQsNGG0LjRjyDQviDQstGL0L/QvtC70L3Rj9C10LzRi9GFINC00LXQudGB0YLQstC40Y/RhVxuIgorIiAtYyAgICAgICAgICAgICAgICAgINGN0YLQvtGCINC/0LDRgNCw0LzQtdGC0YAg0LjQs9C90L7RgNC40YDRg9C10YLRgdGPXG4iCisiIC1sICAgICAgICAgICAgICAgICAg0Y3RgtC+0YIg0L/QsNGA0LDQvNC10YLRgCDQuNCz0L3QvtGA0LjRgNGD0LXRgtGB0Y9cbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICDQstGL0LLQtdGB0YLQuCDQuNC90YTQvtGA0LzQsNGG0LjRjiDQviDQstC10YDRgdC40Lgg0Lgg0LLRi9C50YLQuFxuIgorIiAgICAgICAgICAgICAgICAgICAgIC1WINC60LDQuiDQv9Cw0YDQsNC80LXRgtGAINCy0LXRgNGB0LjQuCDQtNC+0LvQttC10L0g0LHRi9GC0Ywg0LXQtNC40L3RgdGC0LLQtdC90L3Ri9C8INCw0YDQs9GD0LzQtdC90YLQvtC8XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAg0L/QvtC60LDQt9Cw0YLRjCDRjdGC0YMg0YHQv9GA0LDQstC60YMg0Lgg0LLRi9C50YLQuFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTQ0Cittc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNC+0LUg0LrQvtC70LjRh9C10YHRgtCy0L4gaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTAKK21zZ2lkICJ2b2x1bWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAi0LjQvNGPINGC0L7QvNCwINGB0LvQuNGI0LrQvtC8INC00LvQuNC90L3QvtC1IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU3Cittc2dpZCAiZnNuYW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgItC40LzRjyDRhNCw0LnQuy4g0YHQuNGB0YLQtdC80Ysg0YHQu9C40YjQutC+0Lwg0LTQu9C40L3QvdC+0LUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTMKK21zZ2lkICJpbnZhbGlkIGJsb2NrLWNvdW50IgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNC+0LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0LHQu9C+0LrQvtCyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L/QvtC70YPRh9C40YLRjCDRgNCw0LfQvNC10YAgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2tzIGFyZ3VtZW50IHRvbyBsYXJnZSwgbWF4IGlzICVsbHUiCittc2dzdHIgItCw0YDQs9GD0LzQtdC90YIg0LHQu9C+0LrQvtCyINGB0LvQuNGI0LrQvtC8INCy0LXQu9C40LosINC80LDQutGB0LjQvNGD0LwgLSAlbGx1IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjE5Cittc2dpZCAidG9vIG1hbnkgaW5vZGVzIC0gbWF4IGlzIDUxMiIKK21zZ3N0ciAi0YHQu9C40YjQutC+0Lwg0LzQvdC+0LPQviBpbm9kZSfQvtCyLCDQvNCw0LrRgdC40LzRg9C8IC0gNTEyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UsIG5lZWQgYXQgbGVhc3QgJWxsdSBibG9ja3MiCittc2dzdHIgItC90LUg0YXQstCw0YLQsNC10YIg0LzQtdGB0YLQsCwg0L3Rg9C20L3QviDQutCw0Log0LzQuNC90LjQvNGD0LwgJWxsdSDQsdC70L7QutC+0LIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlOiAlc1xuIgorbXNnc3RyICLQo9GB0YLRgNC+0LnRgdGC0LLQvjogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJWb2x1bWU6IDwlLTZzPlxuIgorbXNnc3RyICLQotC+0Lw6IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZTbmFtZTogPCUtNnM+XG4iCittc2dzdHIgItCY0LzRjyDRhNCw0LnQuy4g0YHQuNGB0YLQtdC80Ys6IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrU2l6ZTogJWRcbiIKK21zZ3N0ciAi0KDQsNC30LzQtdGAINCx0LvQvtC60LA6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluIDEgYmxvY2spXG4iCittc2dzdHIgIklub2RlJ9GLOiAlbGQgKNCyIDEg0LHQu9C+0LrQtSlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0OQorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gJWxsdSBibG9ja3MpXG4iCittc2dzdHIgIklub2RlJ9GLOiAlbGQgKNCyICVsbHUg0LHQu9C+0LrQsNGFKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrczogJWxsdVxuIgorbXNnc3RyICLQkdC70L7QutC4OiAlbGx1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgZW5kOiAlZCwgRGF0YSBlbmQ6ICVkXG4iCittc2dzdHIgItCa0L7QvdC10YYgaW5vZGU6ICVkLCDQutC+0L3QtdGGINC00LDQvdC90YvRhTogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NworbXNnaWQgImVycm9yIHdyaXRpbmcgc3VwZXJibG9jayIKK21zZ3N0ciAi0L7RiNC40LHQutCwINC30LDQv9C40YHQuCDRgdGD0L/QtdGA0LHQu9C+0LrQsCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI3OAorbXNnaWQgImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIKK21zZ3N0ciAi0L7RiNC40LHQutCwINC30LDQv9C40YHQuCDQutC+0YDQvdC10LLQvtCz0L4gaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODMKK21zZ2lkICJlcnJvciB3cml0aW5nIGlub2RlIgorbXNnc3RyICLQvtGI0LjQsdC60LAg0LfQsNC/0LjRgdC4IGlub2RlIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjg2Cittc2dpZCAic2VlayBlcnJvciIKK21zZ3N0ciAi0L7RiNC40LHQutCwINC/0L7QuNGB0LrQsCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5MgorbXNnaWQgImVycm9yIHdyaXRpbmcgLiBlbnRyeSIKK21zZ3N0ciAi0L7RiNC40LHQutCwINC30LDQv9C40YHQuCAuINGN0LvQtdC80LXQvdGC0LAiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTYKK21zZ2lkICJlcnJvciB3cml0aW5nIC4uIGVudHJ5IgorbXNnc3RyICLQvtGI0LjQsdC60LAg0LfQsNC/0LjRgdC4IC4uINGN0LvQtdC80LXQvdGC0LAiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2xvc2luZyAlcyIKK21zZ3N0ciAi0L7RiNC40LHQutCwINC30LDQutGA0YvRgtC40Y8gJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy10IDx0eXBlPl0gW2ZzLW9wdGlvbnNdIDxkZXZpY2U+IFs8c2l6ZT5dXG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgNGLXSBbLXQgPNGC0LjQvz5dIFvQv9Cw0YDQsNC80LXRgtGA0Ysg0KTQoV0gPNGD0YHRgtGA0L7QudGB0YLQstC+PiBbPNGA0LDQt9C80LXRgD5dXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ4Cittc2dpZCAiTWFrZSBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgItCh0L7Qt9C00LDRgtGMINGE0LDQudC70L7QstGD0Y4g0YHQuNGB0YLQtdC80YMgTGludXguXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdCwgLS10eXBlPTx0eXBlPiAgZmlsZXN5c3RlbSB0eXBlOyB3aGVuIHVuc3BlY2lmaWVkLCBleHQyIGlzIHVzZWRcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGU9PNGC0LjQvz4gINGC0LjQvyDRhNCw0LnQu9C+0LLQvtC5INGB0LjRgdGC0LXQvNGLOyBleHQyLCDQtdGB0LvQuCDQvdC40YfQtdCz0L4g0L3QtSDRg9C60LDQt9Cw0L3QvlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIGZzLW9wdGlvbnMgICAgIHBhcmFtZXRlcnMgZm9yIHRoZSByZWFsIGZpbGVzeXN0ZW0gYnVpbGRlclxuIgorbXNnc3RyICIgICAgIGZzLW9wdGlvbnMgICAgINC/0LDRgNCw0LzQtdGC0YDRiyDQtNC70Y8g0L/RgNC+0LPRgNCw0LzQvNGLINGB0L7Qt9C00LDQvdC40Y8g0YDQtdCw0LvRjNC90L7QuSDRhNCw0LnQu9C+0LLQvtC5INGB0LjRgdGC0LXQvNGLXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiICAgICA80YPRgdGC0YDQvtC50YHRgtCy0L4+ICAgICAgINC/0YPRgtGMINC6INC40YHQv9C+0LvRjNC30YPQtdC80L7QvNGDINGD0YHRgtGA0L7QudGB0YLQstGDXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPHNpemU+ICAgICAgICAgbnVtYmVyIG9mIGJsb2NrcyB0byBiZSB1c2VkIG9uIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiICAgICA8c2l6ZT4gICAgICAgICDRh9C40YHQu9C+INC40YHQv9C+0LvRjNC30YPQtdC80YvRhSDQsdC70L7QutC+0LIg0YPRgdGC0YDQvtC50YHRgtCy0LBcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJib3NlICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmU7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnlpbmcgLVYgbW9yZSB0aGFuIG9uY2Ugd2lsbCBjYXVzZSBhIGRyeS1ydW5cbiIKK21zZ3N0ciAiIgorIiAtViwgLS12ZXJib3NlICAgICAg0L/QvtC00YDQvtCx0L3QsNGPINC40L3RhNC+0YDQvNCw0YbQuNGPINC+INCy0YvQv9C+0LvQvdGP0LXQvNGL0YUg0LTQtdC50YHRgtCy0LjRj9GFO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICDRg9C60LDQt9Cw0L3QuNC1INC/0LDRgNCw0LzQtdGC0YDQsCAtViDQsdC+0LvQtdC1INC+0LTQvdC+0LPQviDRgNCw0LfQsCDQv9GA0LjQstC10LTQtdGCINC6INGC0LXRgdGC0L7QstC+0LzRgyDQt9Cw0L/Rg9GB0LrRg1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcnNpb24gICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQ7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIC1WIGFzIC0tdmVyc2lvbiBtdXN0IGJlIHRoZSBvbmx5IG9wdGlvblxuIgorbXNnc3RyICIiCisiIC1WLCAtLXZlcnNpb24gICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQ7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIC1WINC60LDQuiDQv9Cw0YDQsNC80LXRgtGAINCy0LXRgNGB0LjQuCDQtNC+0LvQttC10L0g0LHRi9GC0Ywg0LXQtNC40L3RgdGC0LLQtdC90L3Ri9C8INC/0LDRgNCw0LzQtdGC0YDQvtC8XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINGN0YLRgyDRgdC/0YDQsNCy0LrRgyDQuCDQstGL0LnRgtC4XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjEzOSBsaWIvZXhlY19zaGVsbC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjIzMworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjU3IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk5MgorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwMCBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODA0IHNjaGVkdXRpbHMvY2hydC5jOjU1OAorIzogc2NoZWR1dGlscy9pb25pY2UuYzoyNjAgc2NoZWR1dGlscy90YXNrc2V0LmM6MjM5IHN5cy11dGlscy9mbG9jay5jOjEyMgorIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MzAgc3lzLXV0aWxzL3BybGltaXQuYzo2NDQgc3lzLXV0aWxzL3J0Y3dha2UuYzo1NzcKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzI0IHN5cy11dGlscy9zZXRhcmNoLmM6NDAzIHN5cy11dGlscy9zZXRzaWQuYzoxMTUKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozNDAgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjQyIHN5cy11dGlscy91bnNoYXJlLmM6NDYxCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU4MSB0ZXh0LXV0aWxzL3BnLmM6MTM3NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0LLRi9C/0L7Qu9C90LjRgtGMICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisidXNhZ2U6ICVzIFstaF0gWy12XSBbLWIgYmxrc2l6ZV0gWy1lIGVkaXRpb25dIFstTiBlbmRpYW5dIFstaSBmaWxlXSBbLW4gbmFtZV0gZGlybmFtZSBvdXRmaWxlXG4iCisiIC1oICAgICAgICAgcHJpbnQgdGhpcyBoZWxwXG4iCisiIC12ICAgICAgICAgYmUgdmVyYm9zZVxuIgorIiAtRSAgICAgICAgIG1ha2UgYWxsIHdhcm5pbmdzIGVycm9ycyAobm9uLXplcm8gZXhpdCBzdGF0dXMpXG4iCisiIC1iIGJsa3NpemUgdXNlIHRoaXMgYmxvY2tzaXplLCBtdXN0IGVxdWFsIHBhZ2Ugc2l6ZVxuIgorIiAtZSBlZGl0aW9uIHNldCBlZGl0aW9uIG51bWJlciAocGFydCBvZiBmc2lkKVxuIgorIiAtTiBlbmRpYW4gIHNldCBjcmFtZnMgZW5kaWFubmVzcyAoYmlnfGxpdHRsZXxob3N0KSwgZGVmYXVsdCBob3N0XG4iCisiIC1pIGZpbGUgICAgaW5zZXJ0IGEgZmlsZSBpbWFnZSBpbnRvIHRoZSBmaWxlc3lzdGVtIChyZXF1aXJlcyA+PSAyLjQuMClcbiIKKyIgLW4gbmFtZSAgICBzZXQgbmFtZSBvZiBjcmFtZnMgZmlsZXN5c3RlbVxuIgorIiAtcCAgICAgICAgIHBhZCBieSAlZCBieXRlcyBmb3IgYm9vdCBjb2RlXG4iCisiIC1zICAgICAgICAgc29ydCBkaXJlY3RvcnkgZW50cmllcyAob2xkIG9wdGlvbiwgaWdub3JlZClcbiIKKyIgLXogICAgICAgICBtYWtlIGV4cGxpY2l0IGhvbGVzIChyZXF1aXJlcyA+PSAyLjMuMzkpXG4iCisiIGRpcm5hbWUgICAgcm9vdCBvZiB0aGUgZmlsZXN5c3RlbSB0byBiZSBjb21wcmVzc2VkXG4iCisiIG91dGZpbGUgICAgb3V0cHV0IGZpbGVcbiIKK21zZ3N0ciAiIgorItC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiAlcyBbLWhdIFstdl0gWy1iINGA0LfQvF/QsdC70LpdIFstZSDQuNC30LTQsNC90LjQtV0gWy1OINC+0LHRgNCw0YLQvdGL0LldIFstaSDRhNCw0LnQu10gWy1uINC40LzRj10g0LjQvNGPX9C60LDRgiDQstGL0YVf0YTQsNC50LtcbiIKKyIgLWggICAgICAgICDQstGL0LLQvtC0INGN0YLQvtC5INGB0L/RgNCw0LLQutC4XG4iCisiIC12ICAgICAgICAg0L/QvtC00YDQvtCx0L3Ri9C5INGA0LXQttC40LxcbiIKKyIgLUUgICAgICAgICDRgdGH0LjRgtCw0YLRjCDQvtGI0LjQsdC60LDQvNC4INCy0YHQtSDQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNGPICjQvdC10L3Rg9C70LXQstC+0Lkg0YHRgtCw0YLRg9GBINCy0YvRhdC+0LTQsClcbiIKKyIgLWIg0YDQt9C8X9Cx0LvQuiDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtSDRjdGC0L7Qs9C+INGA0LDQt9C80LXRgNCwINCx0LvQvtC60LA7INC00L7Qu9C20LXQvSDRgNCw0LLQvdGP0YLRjNGB0Y8g0YDQsNC30LzQtdGA0YMg0YHRgtGA0LDQvdC40YbRi1xuIgorIiAtZSDQuNC30LTQsNC90LjQtSDRg9GB0YLQsNC90L7QstC60LAg0L3QvtC80LXRgNCwINC40LfQtNCw0L3QuNGPICjRh9Cw0YHRgtGMIGZzaWQpXG4iCisiIC1OIGVuZGlhbiAg0YPRgdGC0LDQvdC+0LLQutCwINC/0L7RgNGP0LTQutCwINCx0LDQudGCIGNyYW1mcyAoYmlnfGxpdHRsZXxob3N0KSwgaG9zdCDQv9C+LdGD0LzQvtC70YfQsNC90LjRjlxuIgorIiAtaSDRhNCw0LnQuyAgICDQstGB0YLQsNCy0LrQsCDRhNCw0LnQu9CwINC+0LHRgNCw0LfQsCDQsiDRhNCw0LnQu9C+0LLRg9GOINGB0LjRgdGC0LXQvNGDICjRgtGA0LXQsdGD0LXRgtGB0Y8g0LLQtdGA0YHQuNGPID49IDIuNC4wKVxuIgorIiAtbiDQuNC80Y8gICAgINGD0YHRgtCw0L3QvtCy0LrQsCDQuNC80LXQvdC4INGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80YsgY3JhbWZzXG4iCisiIC1wICAgICAgICAg0LfQsNC/0L7Qu9C90LXQvdC40LUgJWQg0LHQsNC50YLQsNC80Lgg0LTQu9GPINC30LDQs9GA0YPQt9C+0YfQvdC+0LPQviDQutC+0LTQsFxuIgorIiAtcyAgICAgICAgINGB0L7RgNGC0LjRgNC+0LLQutCwINGB0L7QtNC10YDQttC40LzQvtCz0L4g0LrQsNGC0LDQu9C+0LPQsCAo0YPRgdGC0LDRgNC10LLRiNCw0Y8g0L7Qv9GG0LjRjywg0LjQs9C90L7RgNC40YDRg9C10YLRgdGPKVxuIgorIiAteiAgICAgICAgINGB0L7Qt9C00LDQvdC40LUg0Y/QstC90YvRhSDQtNGL0YAgKNGC0YDQtdCx0YPQtdGC0YHRjyDQstC10YDRgdC40Y8gPj0gMi4zLjM5KVxuIgorIiDQuNC80Y9f0LrQsNGCICAgINC60L7RgNC90LXQstC+0Lkg0LrQsNGC0LDQu9C+0LMg0YHQttC40LzQsNC10LzQvtC5INGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80YtcbiIKKyIg0LLRi9GFX9GE0LDQudC7ICAg0LLRi9GF0L7QtNC90L7QuSDRhNCw0LnQu1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWRsaW5rIGZhaWxlZDogJXMiCittc2dzdHIgItC30LDQv9GD0YHQuiByZWFkbGluayDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQvdC+OiAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMwOAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBkaXJlY3RvcnkgJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMINC60LDRgtCw0LvQvtCzICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NDQzCittc2dpZCAiZmlsZXN5c3RlbSB0b28gYmlnLiAgRXhpdGluZy4iCittc2dzdHIgItGE0LDQudC70L7QstCw0Y8g0YHQuNGB0YLQtdC80LAg0YHQu9C40YjQutC+0Lwg0LLQtdC70LjQutCwLiAg0JfQsNCy0LXRgNGI0LXQvdC40LUg0YDQsNCx0L7RgtGLLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYwMgorIywgYy1mb3JtYXQKK21zZ2lkICJBSUVFRTogYmxvY2sgXCJjb21wcmVzc2VkXCIgdG8gPiAyKmJsb2NrbGVuZ3RoICglbGQpXG4iCittc2dzdHIgIkFJRUVFOiDQsdC70L7QuiBcItGB0LbQsNGCXCIg0LIgPiAyKtC00LvQuNC90LBf0LHQu9C+0LrQsCAoJWxkKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiU2LjJmJSUgKCUrbGQgYnl0ZXMpXHQlc1xuIgorbXNnc3RyICIlNi4yZiUlICglK2xkINCx0LDQudGCKVx0JXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2xvc2UgZmlsZSAlcyIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LfQsNC60YDRi9GC0Ywg0YTQsNC50LsgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MzIKK21zZ2lkICJpbnZhbGlkIGVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0L3QvtC80LXRgCDQsNGA0LPRg9C80LXQvdGC0LAg0LjQt9C00LDQvdC40Y8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgItGD0LrQsNC30LDQvSDQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0L/QvtGA0Y/QtNC+0Log0LHQsNC50YI7INC30L3QsNGH0LXQvdC40LUg0LTQvtC70LbQvdC+INCx0YvRgtGMICdiaWcnLCAnbGl0dGxlJywg0LjQu9C4ICdob3N0JyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBndWVzdGltYXRlIG9mIHJlcXVpcmVkIHNpemUgKHVwcGVyIGJvdW5kKSBpcyAlbGxkTUIsIGJ1dCBtYXhpbXVtIGltYWdlIHNpemUgaXMgJXVNQi4gIFdlIG1pZ2h0IGRpZSBwcmVtYXR1cmVseS4iCittc2dzdHIgItC/0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6INC/0YDQuNCx0LvQuNC30LjRgtC10LvRjNC90L4g0YLRgNC10LHRg9C10LzRi9C5INGA0LDQt9C80LXRgCAo0LLQtdGA0YXQvdGP0Y8g0LPRgNCw0L3QuNGG0LApINGB0L7RgdGC0LDQstC70Y/QtdGCICVsbGTQnNCRLCDQsCDQvNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAINC+0LHRgNCw0LfQsCAtICV10JzQkS4gINCS0L7Qt9C80L7QttC90L4g0L/RgNC10LbQtNC10LLRgNC10LzQtdC90L3QvtC1INC30LDQstC10YDRiNC10L3QuNC1INGA0LDQsdC+0YLRiy4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MzAKK21zZ2lkICJST00gaW1hZ2UgbWFwIgorbXNnc3RyICLQmtCw0YDRgtCwINC+0LHRgNCw0LfQsCBST00iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5jbHVkaW5nOiAlc1xuIgorbXNnc3RyICLQktC60LvRjtGH0LDRjzogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg0OAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgZGF0YTogJXpkIGJ5dGVzXG4iCittc2dzdHIgItCU0LDQvdC90YvQtSDQutCw0YLQsNC70L7Qs9CwOiAlemQg0LHQsNC50YJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg1NgorIywgYy1mb3JtYXQKK21zZ2lkICJFdmVyeXRoaW5nOiAlemQga2lsb2J5dGVzXG4iCittc2dzdHIgItCS0YHQtTogJXpkINC60LjQu9C+0LHQsNC50YJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2MQorIywgYy1mb3JtYXQKK21zZ2lkICJTdXBlciBibG9jazogJXpkIGJ5dGVzXG4iCittc2dzdHIgItCh0YPQv9C10YDQsdC70L7QujogJXpkINCx0LDQudGCXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1JDOiAleFxuIgorbXNnc3RyICJDUkM6ICV4XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSBhbGxvY2F0ZWQgZm9yIFJPTSBpbWFnZSAoJWxsZCBhbGxvY2F0ZWQsICV6dSB1c2VkKSIKK21zZ3N0ciAi0L3QtSDRhdCy0LDRgtCw0LXRgiDQvNC10YHRgtCwLCDQstGL0LTQtdC70LXQvdC90L7Qs9C+INC00LvRjyBST00t0L7QsdGA0LDQt9CwICglbGxkINCy0YvQtNC10LvQtdC90L4sICV6dSDQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8pIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODc5CisjLCBjLWZvcm1hdAorbXNnaWQgIlJPTSBpbWFnZSB3cml0ZSBmYWlsZWQgKCV6ZCAlemQpIgorbXNnc3RyICLQl9Cw0L/QuNGB0YwgUk9NLdC+0LHRgNCw0LfQsCDQt9Cw0LLQtdGA0YjQuNC70LDRgdGMINC90LXRg9C00LDRh9C10LkgKCV6ZCAlemQpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODgyCittc2dpZCAiUk9NIGltYWdlIgorbXNnc3RyICLQvtCx0YDQsNC3IFJPTSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlbmFtZXMgdHJ1bmNhdGVkIHRvICV1IGJ5dGVzLiIKK21zZ3N0ciAi0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTog0LjQvNC10L3QsCDRhNCw0LnQu9C+0LIg0YPQvNC10L3RjNGI0LXQvdGLINC00L4gJXUg0LHQsNC50YIuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODkzCittc2dpZCAid2FybmluZzogZmlsZXMgd2VyZSBza2lwcGVkIGR1ZSB0byBlcnJvcnMuIgorbXNnc3RyICLQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiDQuNC3LdC30LAg0L7RiNC40LHQvtC6INCx0YvQu9C4INC/0YDQvtC/0YPRidC10L3RiyDRhNCw0LnQu9GLLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlIHNpemVzIHRydW5jYXRlZCB0byAlbHVNQiAobWludXMgMSBieXRlKS4iCittc2dzdHIgItC/0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6INGA0LDQt9C80LXRgNGLINGE0LDQudC70L7QsiDRg9C80LXQvdGM0YjQtdC90Ysg0LTQviAlbHXQnNCRICjQvNC40L3Rg9GBIDEg0LHQsNC50YIpLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5OQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICLQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiB1aWQn0Ysg0YPQvNC10L3RjNGI0LXQvdGLINC00L4gJXUg0LHQuNGCLiAgKNCt0YLQviDQvNC+0LbQtdGCINC60LDRgdCw0YLRjNGB0Y8g0LHQtdC30L7Qv9Cw0YHQvdC+0YHRgtC4LikiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ2lkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAi0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTogZ2lkJ9GLINGD0LzQtdC90YzRiNC10L3RiyDQtNC+ICV1INCx0LjRgi4gICjQrdGC0L4g0LzQvtC20LXRgiDQutCw0YHQsNGC0YzRgdGPINCx0LXQt9C+0L/QsNGB0L3QvtGB0YLQuC4pIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXQVJOSU5HOiBkZXZpY2UgbnVtYmVycyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIFRoaXMgYWxtb3N0IGNlcnRhaW5seSBtZWFuc1xuIgorInRoYXQgc29tZSBkZXZpY2UgZmlsZXMgd2lsbCBiZSB3cm9uZy4iCittc2dzdHIgIiIKKyLQn9Cg0JXQlNCj0J/QoNCV0JbQlNCV0J3QmNCVOiDRh9C40YHQu9C+INGD0YHRgtGA0L7QudGB0YLQsiDRg9C80LXQvdGM0YjQtdC90L4g0LTQviAldSDQsdC40YIuICDQrdGC0L4g0L/RgNCw0LrRgtC40YfQtdGB0LrQuFxuIgorItCy0YHQtdCz0LTQsCDQvtC30L3QsNGH0LDQtdGCLCDRh9GC0L4g0L3QtdC60L7RgtC+0YDRi9C1INGE0LDQudC70Ysg0YPRgdGC0YDQvtC50YHRgtCyINCx0YPQtNGD0YIg0L3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C80LguIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKK21zZ3N0ciAiJXMgW9C/0LDRgNCw0LzQtdGC0YDRi10gL2Rldi9uYW1lIFvQsdC70L7QutC+0LJdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzNworbXNnaWQgIiAtMSAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAxXG4iCittc2dzdHIgIiAtMSAgICAgICAgICAgICAgICAgICAgICDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YwgMdGOINCy0LXRgNGB0LjRjiBNaW5peFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzgKK21zZ2lkICIgLTIsIC12ICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMlxuIgorbXNnc3RyICIgLTIsIC12ICAgICAgICAgICAgICAgICAg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMIDLRjiDQstC10YDRgdC40Y4gTWluaXhcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM5Cittc2dpZCAiIC0zICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDNcbiIKK21zZ3N0ciAiIC0zLCAtdiAgICAgICAgICAgICAgICAgINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCAz0Y4g0LLQtdGA0YHQuNGOIE1pbml4XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MAorbXNnaWQgIiAtbiwgLS1uYW1lbGVuZ3RoIDxudW0+ICBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiIC1uLCAtLW5hbWVsZW5ndGggPNC60L7Quy3QstC+PiAg0LzQsNC60YHQuNC80LDQu9GM0L3QsNGPINC00LvQuNC90LAg0LjQvNC10L0g0YTQsNC50LvQvtCyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MQorbXNnaWQgIiAtaSwgLS1pbm9kZXMgPG51bT4gICAgICBudW1iZXIgb2YgaW5vZGVzIGZvciB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLWksIC0taW5vZGVzIDzQutC+0Lst0LLQvj4gICDQutC+0LvQuNGH0LXRgdGC0LLQviBpbm9kZSfQsiDQtNC70Y8g0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRi1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDIKK21zZ2lkICIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgY2hlY2sgdGhlIGRldmljZSBmb3IgYmFkIGJsb2Nrc1xuIgorbXNnc3RyICIgLWMsIC0tY2hlY2sgICAgICAgICAgICAg0L/RgNC+0LLQtdGA0LrQsCDRg9GB0YLRgNC+0LnRgdGC0LLQsCDQvdCwINCx0Y3QtC3QsdC70L7QutC4XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MworbXNnaWQgIiAtbCwgLS1iYWRibG9ja3MgPGZpbGU+ICBsaXN0IG9mIGJhZCBibG9ja3MgZnJvbSBmaWxlXG4iCittc2dzdHIgIiAtbCwgLS1iYWRibG9ja3MgPNGE0LDQudC7PiAg0YHQv9C40YHQvtC6INCx0Y3QtNCx0LvQvtC60L7QsiDQuNC3INGE0LDQudC70LBcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIHRvIGJvb3QgYmxvY2sgZmFpbGVkICBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgIiVzOiDQv9C+0LjRgdC6INC30LDQs9GA0YPQt9C+0YfQvdC+0LPQviDQsdC70L7QutCwINCyIHdyaXRlX3RhYmxlcyDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBjbGVhciBib290IHNlY3RvciIKK21zZ3N0ciAiJXM6INC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Rh9C40YHRgtC40YLRjCDQt9Cw0LPRgNGD0LfQvtGH0L3Ri9C5INGB0LXQutGC0L7RgCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgIiVzOiDQv9C+0LjRgdC6INCyIHdyaXRlX3RhYmxlcyDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC30LDQv9C40YHQsNGC0Ywg0YHRg9C/0LXRgNCx0LvQvtC6IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQt9Cw0L/QuNGB0LDRgtGMINC60LDRgNGC0YMgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0LfQsNC/0LjRgdCw0YLRjCDQutCw0YDRgtGDINC30L7QvSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0LfQsNC/0LjRgdCw0YLRjCBpbm9kZSfRiyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6INC/0L7QuNGB0Log0LIgd3JpdGVfYmxvY2sg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIiVzOiDQt9Cw0L/QuNGB0Ywg0LIgd3JpdGVfYmxvY2sg0LfQsNCy0LXRgNGI0LjQu9Cw0YHRjCDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMjEgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Mjk2CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzozNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBtYW55IGJhZCBibG9ja3MiCittc2dzdHIgIiVzOiDRgdC70LjRiNC60L7QvCDQvNC90L7Qs9C+INC/0LvQvtGF0LjRhSDQsdC70L7QutC+0LIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGVub3VnaCBnb29kIGJsb2NrcyIKK21zZ3N0ciAiJXM6INC90LUg0YXQstCw0YLQsNC10YIg0YXQvtGA0L7RiNC40YUg0LHQu9C+0LrQvtCyIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkZpcnN0IGRhdGEgYmxvY2sgYXQgJWpkLCB3aGljaCBpcyB0b28gZmFyIChtYXggJWQpLlxuIgorIlRyeSBzcGVjaWZ5aW5nIGZld2VyIGlub2RlcyBieSBwYXNzaW5nIC0taW5vZGVzIDxudW0+IgorbXNnc3RyICIiCisi0J/QtdGA0LLRi9C5INCx0LvQvtC6INC00LDQvdC90YvRhSDQsiAlamQsINGN0YLQviDRgdC70LjRiNC60L7QvCDQsdC+0LvRjNGI0L7QtSDQt9C90LDRh9C10L3QuNC1ICjQvNCw0LrRgdC40LzRg9C8IC0gJWQpLlxuIgorItCf0L7Qv9GA0L7QsdGD0LnRgtC1INGD0LrQsNC30LDRgtGMINC80LXQvdGM0YjQtSBpbm9kZSfQvtCyINGBINC/0LDRgNCw0LzQtdGC0YDQvtC8IC0taW5vZGVzIDxudW0+IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGlub2RlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBpbm9kZXNcbiIKK21zZ3N0clswXSAiJWx1IGlub2RlXG4iCittc2dzdHJbMV0gIiVsdSBpbm9kZSfQsFxuIgorbXNnc3RyWzJdICIlbHUgaW5vZGUn0L7QslxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVsdSBibG9ja3NcbiIKK21zZ3N0clswXSAiJWx1INCx0LvQvtC6XG4iCittc2dzdHJbMV0gIiVsdSDQsdC70L7QutCwXG4iCittc2dzdHJbMl0gIiVsdSDQsdC70L7QutC+0LJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSV6dVxuIgorbXNnc3RyICLQoNCw0LfQvNC10YAg0LfQvtC90Ys9JXp1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTWF4c2l6ZT0lenVcbiIKKyJcbiIKK21zZ3N0ciAiIgorItCc0LDQutGBLiDRgNCw0LfQvNC10YA9JXp1XG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgZHVyaW5nIHRlc3Rpbmcgb2YgYmxvY2tzIgorbXNnc3RyICIlczog0L/QvtC40YHQuiDQstC+INCy0YDQtdC80Y8g0L/RgNC+0LLQtdGA0LrQuCDQsdC70L7QutC+0LIg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIldlaXJkIHZhbHVlcyBpbiBkb19jaGVjazogcHJvYmFibHkgYnVnc1xuIgorbXNnc3RyICLQndC10L/QvtC90Y/RgtC90YvQtSDQt9C90LDRh9C10L3QuNGPINCyIGRvX2NoZWNrOiDQstC+0LfQvNC+0LbQvdC+INGB0LHQvtC5XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIgorbXNnc3RyICIlczog0L/QvtC40YHQuiDQsiBjaGVja19ibG9ja3Mg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgYmxvY2tzIGJlZm9yZSBkYXRhLWFyZWE6IGNhbm5vdCBtYWtlIGZzIgorbXNnc3RyICIlczog0L/Qu9C+0YXQuNC1INCx0LvQvtC60Lgg0L/QtdGA0LXQtCBkYXRhLWFyZWE6INC90LUg0YPQtNCw0ZHRgtGB0Y8g0YHQvtC30LTQsNGC0Ywg0KTQoSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjM5IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICIlZCBiYWQgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWQgYmFkIGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlZCDQv9C70L7RhdC+0Lkg0LHQu9C+0LpcbiIKK21zZ3N0clsxXSAiJWQg0L/Qu9C+0YXQuNGFINCx0LvQvtC60LBcbiIKK21zZ3N0clsyXSAiJWQg0L/Qu9C+0YXQuNGFINCx0LvQvtC60L7QslxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IG9wZW4gZmlsZSBvZiBiYWQgYmxvY2tzIgorbXNnc3RyICIlczog0L3QtSDRg9C00LDRkdGC0YHRjyDQvtGC0LrRgNGL0YLRjCDRhNCw0LnQuyDQv9C70L7RhdC40YUg0LHQu9C+0LrQvtCyIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkYmxvY2sgbnVtYmVyIGlucHV0IGVycm9yIG9uIGxpbmUgJWRcbiIKK21zZ3N0ciAi0L7RiNC40LHQutCwINCy0LLQvtC00LAg0L3QvtC80LXRgNCwINCx0Y3QtNCx0LvQvtC60LAg0LIg0YHRgtGA0L7QutC1ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgYmFkYmxvY2tzIGZpbGUiCittc2dzdHIgIiVzOiDQvdC1INGD0LTQsNGR0YLRgdGPINC/0YDQvtGH0LjRgtCw0YLRjCDRhNCw0LnQuyDQv9C70L7RhdC40YUg0LHQu9C+0LrQvtCyIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgc2l6ZSBzbWFsbGVyIHRoYW4gcGh5c2ljYWwgc2VjdG9yIHNpemUgb2YgJXMiCittc2dzdHIgItGA0LDQt9C80LXRgCDQsdC70L7QutCwINC80LXQvdGM0YjQtSDRgNCw0LfQvNC10YDQsCDRhNC40LfQuNGH0LXRgdC60L7Qs9C+INGB0LXQutGC0L7RgNCwINGD0YHRgtGA0L7QudGB0YLQstCwICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBzaXplIG9mICVzIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQvtC/0YDQtdC00LXQu9C40YLRjCDRgNCw0LfQvNC10YAgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVxdWVzdGVkIGJsb2NrcyAoJWxsdSkgZXhjZWVkcyBhdmFpbGFibGUgKCVsbHUpIGJsb2Nrc1xuIgorbXNnc3RyICIlczog0LfQsNC/0YDQvtGI0LXQvdC90L7QtSDQutC+0LvQuNGH0LXRgdGC0LLQviDQsdC70L7QutC+0LIgKCVsbHUpINC/0YDQtdCy0YvRiNCw0LXRgiDQtNC+0L/Rg9GB0YLQuNC80L7QtSDQutC+0LvQuNGH0LXRgdGC0LLQviAoJWxsdSlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiJXM6INGB0LvQuNGI0LrQvtC8INC80LDQu9C+0LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0YHQtdC60YLQvtGA0L7QsiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzIzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBuYW1lIGxlbmd0aDogJWQiCittc2dzdHIgItC90LXQv9C+0LTQtNC10YDQttC40LLQsNC10LzQsNGPINC00LvQuNC90LAg0LjQvNC10L3QuDogJWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBtaW5peCBmaWxlIHN5c3RlbSB2ZXJzaW9uOiAlZCIKK21zZ3N0ciAi0L3QtdC/0L7QtNC00LXRgNC20LjQstCw0LXQvNCw0Y8g0LLQtdGA0YHQuNGPINGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80YsgbWluaXg6ICVkIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NjcKK21zZ2lkICItdiBpcyBhbWJpZ3VvdXMsIHVzZSAnLTInIGluc3RlYWQiCittc2dzdHIgItC90LXQvtC00L3QvtC30L3QsNGH0L3Ri9C5INC/0LDRgNCw0LzQtdGC0YAgLXYsINC40YHQv9C+0LvRjNC30YPQudGC0LUgJy0yJyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Nzc4Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lcyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCDQvNCw0LrRgdC40LzQsNC70YzQvdGD0Y4g0LTQu9C40L3RgyDQuNC80LXQvSDRhNCw0LnQu9C+0LIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc4MgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINC60L7Qu9C40YfQtdGB0YLQstC+IGlub2RlJ9C+0LIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgwNgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgYmxvY2tzIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINC60L7Qu9C40YfQtdGB0YLQstC+INCx0LvQvtC60L7QsiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2UgYSBmaWxlc3lzdGVtIGhlcmUhIgorbXNnc3RyICIlcyDQv9GA0LjQvNC+0L3RgtC40YDQvtCy0LDQvTsg0L3QtSDRgdC+0LfQtNCw0LLQsNC50YLQtSDQt9C00LXRgdGMINGE0LDQudC70L7QstGD0Y4g0YHQuNGB0YLQtdC80YMhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJXUiCittc2dzdHIgItCd0LXQstC10YDQvdGL0Lkg0YDQsNC30LzQtdGAINGB0YLRgNCw0L3QuNGG0YsgJXUsINGD0LrQsNC30LDQvdC90YvQuSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQvCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJWQsIGluc3RlYWQgb2YgdGhlIHN5c3RlbSB2YWx1ZSAlZCIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINC30LDQtNCw0L3QvdGL0Lkg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10Lwg0YDQsNC30LzQtdGAINGB0YLRgNCw0L3QuNGG0YsgJWQsINCy0LzQtdGB0YLQviDRgdC40YHRgtC10LzQvdC+0LPQviDQt9C90LDRh9C10L3QuNGPICVkIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEyNAorbXNnaWQgIkxhYmVsIHdhcyB0cnVuY2F0ZWQuIgorbXNnc3RyICLQnNC10YLQutCwINCx0YvQu9C+INGD0LrQvtGA0L7Rh9C10L3QsC4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGxhYmVsLCAiCittc2dzdHIgItCx0LXQtyDQvNC10YLQutC4LCAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHV1aWRcbiIKK21zZ3N0ciAi0L3QtdGCIHV1aWRcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc10gZGV2aWNlIFtzaXplXVxuIgorbXNnc3RyICIiCisiXG4iCisi0JjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6XG4iCisiJXMgW9C/0LDRgNCw0LzQtdGC0YDRi10g0YPRgdGC0YDQvtC50YHRgtCy0L4uW9GA0LDQt9C80LXRgF1cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTIKK21zZ2lkICJTZXQgdXAgYSBMaW51eCBzd2FwIGFyZWEuXG4iCittc2dzdHIgItCd0LDRgdGC0YDQvtC50LrQsCDQv9GA0L7RgdGC0YDQsNC90YHRgtCy0LAg0LTQu9GPIHN3YXBcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1jLCAtLWNoZWNrICAgICAgICAgICAgICAgY2hlY2sgYmFkIGJsb2NrcyBiZWZvcmUgY3JlYXRpbmcgdGhlIHN3YXAgYXJlYVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGFsbG93IHN3YXAgc2l6ZSBhcmVhIGJlIGxhcmdlciB0aGFuIGRldmljZVxuIgorIiAtcCwgLS1wYWdlc2l6ZSBTSVpFICAgICAgIHNwZWNpZnkgcGFnZSBzaXplIGluIGJ5dGVzXG4iCisiIC1MLCAtLWxhYmVsIExBQkVMICAgICAgICAgc3BlY2lmeSBsYWJlbFxuIgorIiAtdiwgLS1zd2FwdmVyc2lvbiBOVU0gICAgIHNwZWNpZnkgc3dhcC1zcGFjZSB2ZXJzaW9uIG51bWJlclxuIgorIiAtVSwgLS11dWlkIFVVSUQgICAgICAgICAgIHNwZWNpZnkgdGhlIHV1aWQgdG8gdXNlXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisi0J/QsNGA0LDQvNC10YLRgNGLOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgINC/0YDQvtCy0LXRgNC60LAg0L3QsCDQsdGN0LTQsdC70L7QutC4INC/0LXRgNC10LQg0YHQvtC30LTQsNC90LjQtdC8IHN3YXBcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICDRgNCw0LfRgNC10YjQuNGC0Ywg0YDQsNC30LzQtdGA0YMgc3dhcCDQsdGL0YLRjCDQsdC+0LvRjNGI0LUg0YDQsNC30LzQtdGA0LAg0YPRgdGC0YDQvtC50YHRgtCy0LBcbiIKKyIgLXAsIC0tcGFnZXNpemUgU0laRSAgICAgICDRg9C60LDQt9Cw0YLRjCDRgNCw0LfQvNC10YAg0YHRgtGA0LDQvdC40YbRiyDQsiDQsdCw0LnRgtCw0YVcbiIKKyIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICDRg9C60LDQt9Cw0YLRjCDQvNC10YLQutGDXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAg0YPQutCw0LfQsNGC0Ywg0L3QvtC80LXRgCDQstC10YDRgdC40Lggc3dhcC3Qv9GA0L7RgdGC0YDQsNC90YHRgtCy0LBcbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICDRg9C60LDQt9Cw0YLRjCDQuNGB0L/QvtC70YzQt9GD0LXQvNGL0LkgVVVJRFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgINCy0YvQstC10YHRgtC4INC90L7QvNC10YAg0LLQtdGA0YHQuNC4INC4INCy0YvQudGC0LhcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINGN0YLRgyDRgdC/0YDQsNCy0LrRgyDQuCDQstGL0LnRgtC4XG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGJhZCBwYWdlczogJWx1IgorbXNnc3RyICLRgdC70LjRiNC60L7QvCDQvNC90L7Qs9C+INC/0LvQvtGF0LjRhSDRgdGC0YDQsNC90LjRhjogJWx1IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE5NQorbXNnaWQgInNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAi0L/QvtC40YHQuiDQsiBjaGVja19ibG9ja3Mg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJhZCBwYWdlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBiYWQgcGFnZXNcbiIKK21zZ3N0clswXSAiJWx1INC/0LvQvtGF0LDRjyDRgdGC0YDQsNC90LjRhtCwXG4iCittc2dzdHJbMV0gIiVsdSDQv9C70L7RhdC40LUg0YHRgtGA0LDQvdC40YbRi1xuIgorbXNnc3RyWzJdICIlbHUg0L/Qu9C+0YXQuNGFINGB0YLRgNCw0L3QuNGGXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjI4CisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBuZXcgbGliYmxraWQgcHJvYmUiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INCy0YvQtNC10LvQuNGC0Ywg0LHRg9GE0LXRgNGLINC00LvRjyBpbm9kZXMiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMwCittc2dpZCAidW5hYmxlIHRvIGFzc2lnbiBkZXZpY2UgdG8gbGliYmxraWQgcHJvYmUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2hlY2tpbmcgYmFkIGJsb2NrcyBmcm9tIHN3YXAgZmlsZSBpcyBub3Qgc3VwcG9ydGVkOiAlcyIKK21zZ3N0ciAi0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTog0L/RgNC+0LLQtdGA0LrQsCDQvdCwINCx0Y3QtNCx0LvQvtC60Lgg0LIgc3dhcC3RhNCw0LnQu9Cw0YUg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YLRgdGPOiAlcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNjEgZGlzay11dGlscy9ta3N3YXAuYzoyODcgZGlzay11dGlscy9ta3N3YXAuYzozMzQKK21zZ2lkICJ1bmFibGUgdG8gcmV3aW5kIHN3YXAtZGV2aWNlIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQv9C10YDQtdC80L7RgtCw0YLRjCDRg9GB0YLRgNC+0LnRgdGC0LLQviDQtNC70Y8g0YHQstC+0L/QuNC90LPQsCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyOTAKK21zZ2lkICJ1bmFibGUgdG8gZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L7Rh9C40YHRgtC40YLRjCDQt9Cw0LPRgNGD0LfQvtGH0L3Ri9C1INGB0LXQutGC0L7RgNCwIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogd2lwaW5nIG9sZCAlcyBzaWduYXR1cmUuIgorbXNnc3RyICIlczog0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTog0L7Rh9C40YHRgtC60LAg0YHRgtCw0YDQvtC5INGB0LjQs9C90LDRgtGD0YDRiyAlcy4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiBkb24ndCBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICIlczog0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTog0L3QtSDQvtGH0LjRidCw0YLRjCDQt9Cw0LPRgNGD0LfQvtGH0L3Ri9C5INGB0LXQutGC0L7RgCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoJXMgcGFydGl0aW9uIHRhYmxlIGRldGVjdGVkKS4gIgorbXNnc3RyICIgICAgICAgICjQvtCx0L3QsNGA0YPQttC10L3QsCDRgtCw0LHQu9C40YbQsCDRgNCw0LfQtNC10LvQvtCyICVzKS4gIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgIChjb21waWxlZCB3aXRob3V0IGxpYmJsa2lkKS4gIgorbXNnc3RyICIgICAgICAgICjRgdC60L7QvNC/0LjQu9C40YDQvtCy0LDQvdC+INCx0LXQtyBsaWJibGtpZCkuICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNlIC1mIHRvIGZvcmNlLlxuIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9GD0LnRgtC1IC1mINC00LvRjyDQv9GA0LjQvdGD0LTQuNGC0LXQu9GM0L3QvtCz0L4g0L/RgNC40LzQtdC90LXQvdC40Y8uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc2lnbmF0dXJlIHBhZ2UiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQt9Cw0L/QuNGB0LDRgtGMINGB0YLRgNCw0L3QuNGG0YMg0YEg0YHQuNCz0L3QsNGC0YPRgNC+0LkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzgwCittc2dpZCAicGFyc2luZyBwYWdlIHNpemUgZmFpbGVkIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINGA0LDQt9C80LXRgCDRgdGC0YDQsNC90LjRhtGLIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4NgorbXNnaWQgInBhcnNpbmcgdmVyc2lvbiBudW1iZXIgZmFpbGVkIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINC90L7QvNC10YAg0LLQtdGA0YHQuNC4IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwc3BhY2UgdmVyc2lvbiAlZCBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICLQstC10YDRgdC40Y8gc3dhcCAlZCDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgtGB0Y8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGlnbm9yaW5nIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQgYnkgJXMpIgorbXNnc3RyICLQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiDQuNCz0L3QvtGA0LjRgNC+0LLQsNC90LjQtSAtVSAoJXMg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YIgVVVJRCkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDE0Cittc2dpZCAib25seSBvbmUgZGV2aWNlIGFyZ3VtZW50IGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQiCittc2dzdHIgItCyINC00LDQvdC90YvQuSDQvNC+0LzQtdC90YIg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGC0YHRjyDRgtC+0LvRjNC60L4g0L7QtNC90L4g0YPRgdGC0YDQvtC50YHRgtCy0L4g0LIg0LrQsNGH0LXRgdGC0LLQtSDQsNGA0LPRg9C80LXQvdGC0LAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDIxCittc2dpZCAiZXJyb3I6IHBhcnNpbmcgVVVJRCBmYWlsZWQiCittc2dzdHIgItC+0YjQuNCx0LrQsDog0L3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCBVVUlEIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzMAorbXNnaWQgImVycm9yOiBOb3doZXJlIHRvIHNldCB1cCBzd2FwIG9uPyIKK21zZ3N0ciAi0L7RiNC40LHQutCwOiDQvdC10LPQtNC1INGB0L7Qt9C00LDRgtGMINGA0LDQt9C00LXQuyDQv9C+0LTQutCw0YfQutC4PyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzYKK21zZ2lkICJpbnZhbGlkIGJsb2NrIGNvdW50IGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0LDRgNCz0YPQvNC10L3RgiDQutC+0LvQuNGH0LXRgdGC0LLQsCDQsdC70L7QutC+0LIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc2l6ZSAlbGx1IEtpQiBpcyBsYXJnZXIgdGhhbiBkZXZpY2Ugc2l6ZSAlPFBSSXU2ND4gS2lCIgorbXNnc3RyICLQvtGI0LjQsdC60LA6INGA0LDQt9C80LXRgCAlbGx1INCa0LjQkSDQsdC+0LvRjNGI0LUsINGH0LXQvCDRgNCw0LfQvNC10YAg0YPRgdGC0YDQvtC50YHRgtCy0LAgJWp1INCa0LjQkSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHN3YXAgYXJlYSBuZWVkcyB0byBiZSBhdCBsZWFzdCAlbGQgS2lCIgorbXNnc3RyICLQvtGI0LjQsdC60LA6INC/0YDQvtGB0YLRgNCw0L3RgdGC0LLQviDQtNC70Y8gc3dhcCDQtNC+0LvQttC90L4g0LHRi9GC0Ywg0L/QviDQutGA0LDQudC90LXQuSDQvNC10YDQtSAlbGQg0JrQuNCRIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB0cnVuY2F0aW5nIHN3YXAgYXJlYSB0byAlbGx1IEtpQiIKK21zZ3N0ciAi0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTog0L/RgNC+0YHRgtGA0LDQvdGB0YLQstC+INC00LvRjyBzd2FwINGD0LzQtdC90YzRiNCw0LXRgtGB0Y8g0LTQviAlbGx1INCa0LjQkSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2Ugc3dhcHNwYWNlIgorbXNnc3RyICLQvtGI0LjQsdC60LA6ICVzINC/0YDQuNC80L7QvdGC0LjRgNC+0LLQsNC9OyDQv9GA0L7RgdGC0YDQsNC90YHRgtCy0L4gc3dhcCDQvdC1INCx0YPQtNC10YIg0YHQvtC30LTQsNC90L4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDY4IHN5cy11dGlscy9zd2Fwb24uYzo1MjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBwZXJtaXNzaW9ucyAlMDRvLCAlMDRvIHN1Z2dlc3RlZC4iCittc2dzdHIgIiVzOiDQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiAlcyDQuNC80LXQtdGCINC90LXQsdC10LfQvtC/0LDRgdC90YvQtSDRgNCw0LfRgNC10YjQtdC90LjRjyAlMDRvLCDRgNC10LrQvtC80LXQvdC00YPQtdGC0YHRjyAlMDRvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDcyIHN5cy11dGlscy9zd2Fwb24uYzo1MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBmaWxlIG93bmVyICVkLCAwIChyb290KSBzdWdnZXN0ZWQuIgorbXNnc3RyICIlczog0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTogJXMg0LjQvNC10LXRgiDQvdC10LHQtdC30L7Qv9Cw0YHQvdGL0LUg0YDQsNC30YDQtdGI0LXQvdC40Y8gJTA0bywg0YDQtdC60L7QvNC10L3QtNGD0LXRgtGB0Y8gJTA0b1xuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ4NworbXNnaWQgIlVuYWJsZSB0byBzZXQgdXAgc3dhcC1zcGFjZTogdW5yZWFkYWJsZSIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0L/RgNC+0YHRgtGA0LDQvdGB0YLQstC+INC00LvRjyDRgdCy0L7Qv9C40L3Qs9CwOiDQvdC10YfQuNGC0LDQtdC80YvQuSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgdXAgc3dhcHNwYWNlIHZlcnNpb24gJWQsIHNpemUgPSAlcyAoJTxQUkl1NjQ+IGJ5dGVzKVxuIgorbXNnc3RyICLQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgtGB0Y8g0L/RgNC+0YHRgtGA0LDQvdGB0YLQstC+INC00LvRjyBzd2FwINCy0LXRgNGB0LjQuCAlZCwg0YDQsNC30LzQtdGAID0gJXMgKCVqdSDQsdCw0LnRgilcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBvYnRhaW4gc2VsaW51eCBmaWxlIGxhYmVsIgorbXNnc3RyICIlczog0L3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0L3QsNGA0YPQttC40YLRjCDRhNCw0LnQu9C+0LLRg9GOINC80LXRgtC60YMgc2VsaW51eCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTUKK21zZ2lkICJ1bmFibGUgdG8gbWF0Y2hwYXRoY29uKCkiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIG1hdGNocGF0aGNvbigpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxOAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbmV3IHNlbGludXggY29udGV4dCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDQvdC+0LLRi9C5INC60L7QvdGC0LXQutGB0YIgc2VsaW51eCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjAKK21zZ2lkICJjb3VsZG4ndCBjb21wdXRlIHNlbGludXggY29udGV4dCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0YfQuNGB0LvQuNGC0Ywg0LrQvtC90YLQtdC60YHRgiBzZWxpbnV4IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVsYWJlbCAlcyB0byAlcyIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L/QtdGA0LXQuNC80LXQvdC+0LLQsNGC0YwgJXMg0LIgJXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NgorbXNnaWQgInBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgItC90L7QvNC10YAg0YDQsNC30LTQtdC70LAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NworbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIKK21zZ3N0ciAi0L3QsNGH0LDQu9C+INGA0LDQt9C00LXQu9CwINCyINGB0LXQutGC0L7RgNCw0YUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OAorbXNnaWQgImVuZCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgItC60L7QvdC10YYg0YDQsNC30LTQtdC70LAg0LIg0YHQtdC60YLQvtGA0LDRhSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg5Cittc2dpZCAibnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgItC60L7Qu9C40YfQtdGB0YLQstC+INGB0LXQutGC0L7RgNC+0LIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MAorbXNnaWQgImh1bWFuIHJlYWRhYmxlIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkxCittc2dpZCAicGFydGl0aW9uIG5hbWUiCittc2dzdHIgItC40LzRjyDRgNCw0LfQtNC10LvQsCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkyIG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY4Cittc2dpZCAicGFydGl0aW9uIFVVSUQiCittc2dzdHIgIlVVSUQg0YDQsNC30LTQtdC70LAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MworbXNnaWQgInBhcnRpdGlvbiB0YWJsZSB0eXBlIChkb3MsIGdwdCwgLi4uKSIKK21zZ3N0ciAi0YLQuNC/INGC0LDQsdC70LjRhtGLINGA0LDQt9C00LXQu9C+0LIgKGRvcywgZ3B0LCAuLi4pIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQgbWlzYy11dGlscy9sc2Jsay5jOjE2OQorbXNnaWQgInBhcnRpdGlvbiBmbGFncyIKK21zZ3N0ciAi0YTQu9Cw0LPQuCDRgNCw0LfQtNC10LvQvtCyIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTUKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSAoYSBzdHJpbmcsIGEgVVVJRCwgb3IgaGV4KSIKK21zZ3N0ciAi0YLQuNC/INGA0LDQt9C00LXQu9CwICjRgdGC0YDQvtC60LAsIFVVSUQg0LjQu9C4INCyIGhleC3RhNC+0YDQvNCw0YLQtSkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDggc3lzLXV0aWxzL2xvc2V0dXAuYzo2MTYKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wY3h0IgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC40L3QuNGG0LjQsNC70LjQt9C40YDQvtCy0LDRgtGMIGxvb3BjeHQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6INC90LUg0YPQtNCw0LvQvtGB0Ywg0L3QsNC50YLQuCDQvdC4INC+0LTQvdC+0LPQviDRgdCy0L7QsdC+0LTQvdC+0LPQviDRg9GB0YLRgNC+0LnRgdGC0LLQsCDQvtCx0YDQsNGC0L3QvtC5INGB0LLRj9C30LgiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvIHVzZSAnJXMnIGZvciB0aGUgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAi0J/QvtC/0YvRgtC60LAg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMICclcycg0LrQsNC6INGD0YHRgtGA0L7QudGB0YLQstC+INC+0LHRgNCw0YLQvdC+0Lkg0YHQstGP0LfQuFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXM6INC90LUg0YPQtNCw0LvQvtGB0Ywg0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0YTQsNC50Lsg0L/QvtC00LTQtdGA0LbQutC4IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTMxIHN5cy11dGlscy9sb3NldHVwLmM6NTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczog0L3QtSDRg9C00LDQu9C+0YHRjCDQvdCw0YHRgtGA0L7QuNGC0Ywg0YPRgdGC0YDQvtC50YHRgtCy0L4g0L7QsdGA0LDRgtC90L7QuSDRgdCy0Y/Qt9C4IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTYxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzA3IG1pc2MtdXRpbHMvZmluZG1udC5jOjM3NgorIzogbWlzYy11dGlscy9sc2Jsay5jOjM1NCBtaXNjLXV0aWxzL2xzbG9ja3MuYzozNDIgc3lzLXV0aWxzL2xvc2V0dXAuYzoxMDcKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM3MiBzeXMtdXRpbHMvbHNpcGMuYzoyMzIgc3lzLXV0aWxzL2xzbnMuYzoxODkKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjc3IHN5cy11dGlscy9zd2Fwb24uYzoxNDcgc3lzLXV0aWxzL3dkY3RsLmM6MTUxCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjE0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdGL0Lkg0YHRgtC+0LvQsdC10YY6ICVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0L3QvtC80LXRgCDRgNCw0LfQtNC10LvQsCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI4NiBkaXNrLXV0aWxzL3BhcnR4LmM6MzI0IGRpc2stdXRpbHMvcGFydHguYzo0NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lmaWVkIHJhbmdlIDwlZDolZD4gZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAi0YPQutCw0LfQsNC90L3Ri9C5INC00LjQsNC/0LDQt9C+0L0gPCVkOiVkPiDQvdC1INC40LzQtdC10YIg0YHQvNGL0YHQu9CwIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MjkwCisjLCBjLWZvcm1hdAorbXNnaWQgInJhbmdlIHJlY291bnQ6IG1heCBwYXJ0bm89JWQsIGxvd2VyPSVkLCB1cHBlcj0lZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXM6INC+0YjQuNCx0LrQsCDRg9C00LDQu9C10L3QuNGPINGA0LDQt9C00LXQu9CwICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczog0L7RiNC40LHQutCwINGD0LTQsNC70LXQvdC40Y8g0YDQsNC30LTQtdC70L7QsiAlZC0lZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZW1vdmVkXG4iCittc2dzdHIgIiVzOiDRgNCw0LfQtNC10LsgIyVkINGD0LTQsNC70LXQvVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGRvZXNuJ3QgZXhpc3RcbiIKK21zZ3N0ciAiJXM6INGA0LDQt9C00LXQuyAjJWQg0L3QtSDRgdGD0YnQtdGB0YLQstGD0LXRglxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZWxldGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXM6INC90LUg0YPQtNCw0LvQvtGB0Ywg0YPQtNCw0LvQuNGC0Ywg0YDQsNC30LTQtdC7ICMlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXM6INC+0YjQuNCx0LrQsCDQtNC+0LHQsNCy0LvQtdC90LjRjyDRgNCw0LfQtNC10LvQsCAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiVzOiDQvtGI0LjQsdC60LAg0LTQvtCx0LDQstC70LXQvdC40Y8g0YDQsNC30LTQtdC70LAgJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MDUgZGlzay11dGlscy9wYXJ0eC5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBhZGRlZFxuIgorbXNnc3RyICIlczog0YDQsNC30LTQtdC7ICMlZCDQtNC+0LHQsNCy0LvQtdC9XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFkZGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXM6INC90LUg0YPQtNCw0LvQvtGB0Ywg0LTQvtCx0LDQstC40YLRjCDRgNCw0LfQtNC10LsgIyVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiDQvtGI0LjQsdC60LAg0L7QsdC90L7QstC70LXQvdC40Y8g0YDQsNC30LTQtdC70LAgJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiVzOiDQvtGI0LjQsdC60LAg0L7QsdC90L7QstC70LXQvdC40Y8g0YDQsNC30LTQtdC70L7QsiAlZC0lZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uICMlZCIKK21zZ3N0ciAiJXM6INC90LXRgiDRgNCw0LfQtNC10LvQsCAjJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVzaXplZFxuIgorbXNnc3RyICIlczog0YDQsNC30LTQtdC7INGA0LDQt9C00LXQu9CwICMlZCDQuNC30LzQtdC90LXQvVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1cGRhdGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXM6INC90LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdC90L7QstC40YLRjCDRgNCw0LfQtNC10LsgIyVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWN0b3IsICU2anUgTUIpXG4iCittc2dpZF9wbHVyYWwgIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWN0b3JzLCAlNmp1IE1CKVxuIgorbXNnc3RyWzBdICIjJTJkOiAlOWp1LSU5anUgKCU5anUg0YHQtdC60YLQvtGALCAlNmp1INCc0JEpXG4iCittc2dzdHJbMV0gIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSDRgdC10LrRgtC+0YDQsCwgJTZqdSDQnNCRKVxuIgorbXNnc3RyWzJdICIjJTJkOiAlOWp1LSU5anUgKCU5anUg0YHQtdC60YLQvtGA0L7QsiwgJTZqdSDQnNCRKVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTgxIG1pc2MtdXRpbHMvZmluZG1udC5jOjY4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MDUKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM5MSBzeXMtdXRpbHMvbHNucy5jOjQ1NgorbXNnaWQgImZhaWxlZCB0byBhZGQgbGluZSB0byBvdXRwdXQiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LTQvtCx0LDQstC40YLRjCDRgdGC0YDQvtC60YMg0LLRi9Cy0L7QtNCwIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjQ0Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBkYXRhIHRvIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQtNC+0LHQsNCy0LjRgtGMINC00LDQvdC90YvQtSDQsiDRgtCw0LHQu9C40YbRgyDQstGL0LLQvtC00LAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NjcgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo5MjIgbWlzYy11dGlscy9maW5kbW50LmM6MTU4NQorIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NzQgbWlzYy11dGlscy9sc2xvY2tzLmM6NDUxIHN5cy11dGlscy9sb3NldHVwLmM6MzEwCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzEzIHN5cy11dGlscy9sc2lwYy5jOjMzOCBzeXMtdXRpbHMvbHNucy5jOjUxMQorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyOTcgc3lzLXV0aWxzL3N3YXBvbi5jOjI4MCBzeXMtdXRpbHMvd2RjdGwuYzoyNTkKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NDg0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtC40L3QuNGG0LjQsNC70LjQt9C40YDQvtCy0LDRgtGMINGC0LDQsdC70LjRhtGDINCy0YvQstC+0LTQsCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY3OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjExIG1pc2MtdXRpbHMvbHNibGsuYzoxODk2CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NjUgc3lzLXV0aWxzL2xvc2V0dXAuYzozMjIgc3lzLXV0aWxzL2xvc2V0dXAuYzozNTgKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MTggc3lzLXV0aWxzL2xzbnMuYzo1MzIgc3lzLXV0aWxzL3BybGltaXQuYzozMDYKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyODkgc3lzLXV0aWxzL3dkY3RsLmM6MjcwIHN5cy11dGlscy96cmFtY3RsLmM6NDkzCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7QuNC90LjRhtC40LDQu9C40LfQuNGA0L7QstCw0YLRjCDRgdGC0L7Qu9Cx0LXRhiDQstGL0LLQvtC00LAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIGZpbHRlciBmb3IgJyVzJyIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LLRi9C00LXQu9C40YLRjCDQsdGD0YTQtdGALlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10YfQuNGC0LDRgtGMINGC0LDQsdC70LjRhtGDINGA0LDQt9C00LXQu9C+0LIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB0eXBlICclcycgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiJXM6INC+0LHQvdCw0YDRg9C20LXQvdCwINGC0LDQsdC70LjRhtCwINGA0LDQt9C00LXQu9C+0LIgJyVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgd2l0aCBubyBwYXJ0aXRpb25zIgorbXNnc3RyICIlczog0YLQsNCx0LvQuNGG0LAg0YDQsNC30LTQtdC70L7QsiDQsdC10Lcg0LXQtNC40L3QvtCz0L4g0YDQsNC30LTQtdC70LAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8cGFydGl0aW9uPl0gPGRpc2s+XG4iCittc2dzdHIgIiAlcyBbLWF8LWR8LXN8LXVdIFstLW5yIDxuOm0+IHwgPNGA0LDQt9C00LXQuz5dIDzQtNC40YHQuj5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1NgorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgcHJlc2VuY2UgYW5kIG51bWJlcmluZyBvZiBwYXJ0aXRpb25zLlxuIgorbXNnc3RyICLQn9C10YDQtdC00LDRgtGMINC60L7QvNCw0L3QtNGDINGP0LTRgNGDINC+INGB0YPRidC10YHRgtCy0L7QstCw0L3QuNC4INC4INC/0L7RgNGP0LTQutC1INGB0LvQtdC00L7QstCw0L3QuNGPINGA0LDQt9C00LXQu9C+0LJcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1OQorbXNnaWQgIiAtYSwgLS1hZGQgICAgICAgICAgICBhZGQgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIC1hLCAtLWFkZCAgICAgICAgICAgINC00L7QsdCw0LLQuNGC0Ywg0YPQutCw0LfQsNC90L3Ri9C5INGA0LDQt9C00LXQuyDQuNC70Lgg0LLRgdC1INGA0LDQt9C00LXQu9GLXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjAKK21zZ2lkICIgLWQsIC0tZGVsZXRlICAgICAgICAgZGVsZXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtZCwgLS1kZWxldGUgICAgICAgICDRg9C00LDQu9C40YLRjCDRg9C60LDQt9Cw0L3QvdGL0Lkg0YDQsNC30LTQtdC7INC40LvQuCDQstGB0LUg0YDQsNC30LTQtdC70YtcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MQorbXNnaWQgIiAtdSwgLS11cGRhdGUgICAgICAgICB1cGRhdGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIC11LCAtLXVwZGF0ZSAgICAgICAgINC+0LHQvdC+0LLQuNGC0Ywg0YPQutCw0LfQsNC90L3Ri9C5INGA0LDQt9C00LXQuyDQuNC70Lgg0LLRgdC1INGA0LDQt9C00LXQu9GLXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjIKK21zZ2lkICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgIGxpc3QgcGFydGl0aW9uc1xuIgorIlxuIgorbXNnc3RyICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgINGB0L/QuNGB0L7QuiDRgNCw0LfQtNC10LvQvtCyXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjMgbWlzYy11dGlscy9sc2Jsay5jOjE2MjMKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY0Cittc2dpZCAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLXNob3dcbiIKK21zZ3N0ciAiIC1nLCAtLW5vaGVhZGluZ3MgICAgINC90LUg0LLRi9Cy0L7QtNC40YLRjCDQt9Cw0LPQvtC70L7QstC60Lgg0LTQu9GPINC/0LDRgNCw0LzQtdGC0YDQsCAtLXNob3dcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NQorbXNnaWQgIiAtbiwgLS1uciA8bjptPiAgICAgICBzcGVjaWZ5IHRoZSByYW5nZSBvZiBwYXJ0aXRpb25zIChlLmcuIC0tbnIgMjo0KVxuIgorbXNnc3RyICIgLW4sIC0tbnIgPG46bT4gICAgICAg0LfQsNC00LDRgtGMINC00LjQsNC/0LDQt9C+0L0g0YDQsNC30LTQtdC70L7QsiAo0L3QsNC/0YAuLCAtLW5yIDI6NClcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NgorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICDQstGL0LHRgNCw0YLRjCDQstGL0LLQvtC00LjQvNGL0LUg0YHRgtC+0LvQsdGG0YtcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NyBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNworbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtUCwgLS1wYWlycyAgICAgICAgICDQstGL0LLQvtC00LjRgtGMINCyINGE0L7RgNC80LDRgtC1INC60LvRjtGHPVwi0LfQvdCw0YfQtdC90LjQtVwiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjggbWlzYy11dGlscy9sc2Jsay5jOjE2MzgKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiIKKyIgLXIsIC0tcmF3ICAgICAgICAgICAg0LLRi9Cy0L7QtNC40YLRjCDQsiBcItGB0YvRgNC+0LxcIiDRhNC+0YDQvNCw0YLQtVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY5Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgIHNwZWNpZnkgdGhlIHBhcnRpdGlvbiB0eXBlIChkb3MsIGJzZCwgc29sYXJpcywgZXRjLilcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGUgPHR5cGU+ICAgINC30LDQtNCw0YLRjCDRgtC40L8g0YDQsNC30LTQtdC70LAgKGRvcywgYnNkLCBzb2xhcmlzLCBldGMuKVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzcwIHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgINGA0LXQttC40Lwg0L/QvtC00YDQvtCx0L3QvtCz0L4g0LLRi9Cy0L7QtNCwXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzYKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3csIC0tcmF3IG9yIC0tcGFpcnMpOlxuIgorbXNnc3RyICIiCisiXG4iCisi0JTQvtGB0YLRg9C/0L3Ri9C1INGB0YLQvtC70LHRhtGLICjQtNC70Y8g0L/QsNGA0LDQvNC10YLRgNC+0LIgLS1zaG93LCAtLXJhdyDQuNC70LggLS1wYWlycyk6XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS1uciA8TS1OPiByYW5nZSIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0YHQv9C+0LfQvdCw0YLRjCDQtNC40LDQv9Cw0LfQvtC9IC0tbnIgPE0tTj4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MjQKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIGFuZCBkaXNrIG5hbWUgZG8gbm90IG1hdGNoIgorbXNnc3RyICLQotCw0LHQu9C40YbQsCDRgNCw0LfQtNC10LvQvtCyINC90LUg0LjQt9C80LXQvdC10L3QsCAoLS1uby1hY3QpLiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1MgorbXNnaWQgIi0tbnIgYW5kIDxwYXJ0aXRpb24+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgItC/0LDRgNCw0LzQtdGC0YDRiyAtLW5yINC4IDxwYXJ0aXRpb24+INCy0LfQsNC40LzQvtC40YHQutC70Y7Rh9Cw0Y7RidC40LUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFydGl0aW9uOiAlcywgZGlzazogJXMsIGxvd2VyOiAlZCwgdXBwZXI6ICVkXG4iCittc2dzdHIgItGA0LDQt9C00LXQuzogJXMsINC00LjRgdC6OiAlcywg0L3QuNC2LjogJWQsINCy0LXRgNGFLjogJWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRlbGV0ZSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0YPQtNCw0LvQuNGC0Ywg0YDQsNC30LTQtdC70YsiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIHByb2JlciIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LLRi9C00LXQu9C40YLRjCDQsdGD0YTQtdGALlxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyAlMiRzcmF3TiA8bWFqb3I+IDxtaW5vcj5cbiIKKyIgJTEkcyAlMiRzcmF3TiAvZGV2LzxibG9ja2RldmljZT5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTgKK21zZ2lkICJCaW5kIGEgcmF3IGNoYXJhY3RlciBkZXZpY2UgdG8gYSBibG9jayBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MQorbXNnaWQgIiAtcSwgLS1xdWVyeSAgICBzZXQgcXVlcnkgbW9kZVxuIgorbXNnc3RyICIgLXEsIC0tcXVlcnkgICAg0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0YDQtdC20LjQvCDQvtGH0LXRgNC10LTQuFxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYyCittc2dpZCAiIC1hLCAtLWFsbCAgICAgIHF1ZXJ5IGFsbCByYXcgZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIHRoZSBjb250cm9sIHJhdyBkZXZpY2UgKHVzZSByYXc8Tj4gd2hlcmUgPE4+IGlzIGdyZWF0ZXIgdGhhbiB6ZXJvKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4MQorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIGJsb2NrIGRldmljZSAnJXMnIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINC90LDRhdC+0LbQtNC10L3QuNC1INCx0LvQvtGH0L3QvtCz0L4g0YPRgdGC0YDQvtC50YHRgtCy0LAgJyVzJyIKKworIzogZGlzay11dGlscy9yYXcuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICLQn9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiAlcyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LHQu9C+0YfQvdGL0Lwg0YPRgdGC0YDQvtC50YHRgtCy0L7QvCIKKworIzogZGlzay11dGlscy9yYXcuYzoxOTMgZGlzay11dGlscy9yYXcuYzoxOTYgc3lzLXV0aWxzL2lwY3JtLmM6MzUxCisjOiBzeXMtdXRpbHMvaXBjcm0uYzozNjQgc3lzLXV0aWxzL2lwY3JtLmM6Mzc3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGFyZ3VtZW50IgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0LHRgNCw0LHQvtGC0LDRgtGMINCw0YDQs9GD0LzQtdC90YIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQvtC/0YDQtdC00LXQu9C40YLRjCDRgdC+0YHRgtC+0Y/QvdC40LUg0YPRgdGC0YDQvtC50YHRgtCy0LAgJXMiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0YHQvtGB0YLQvtGP0L3QuNC1INGD0YHRgtGA0L7QudGB0YLQstCwICVzIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUmF3IGRldmljZSAnJXMnIGlzIG5vdCBhIGNoYXJhY3RlciBkZXYiCittc2dzdHIgIi9kZXYvJXM6INC90LXQsdC70L7Rh9C90L7QtSDRg9GB0YLRgNC+0LnRgdGC0LLQviIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIHJhdyBkZXYiCittc2dzdHIgItCf0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6ICVzINC90LUg0Y/QstC70Y/QtdGC0YHRjyDQsdC70L7Rh9C90YvQvCDRg9GB0YLRgNC+0LnRgdGC0LLQvtC8XG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjQ1CisjLCBmdXp6eQorbXNnaWQgIkVycm9yIHF1ZXJ5aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgItC+0YjQuNCx0LrQsCDQvtGB0YLQsNC90L7QstC60Lgg0YHQtdGA0LLQuNGB0LA6IFwiJXNcIiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNTQgZGlzay11dGlscy9yYXcuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNyYXclZDogIGJvdW5kIHRvIG1ham9yICVkLCBtaW5vciAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjY4CisjLCBmdXp6eQorbXNnaWQgIkVycm9yIHNldHRpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAi0L7RiNC40LHQutCwINC+0YHRgtCw0L3QvtCy0LrQuCDRgdC10YDQstC40YHQsDogXCIlc1wiIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxsZW5ndGg+XG4iCittc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiBzZmRpc2sgLS1pZCDRg9GB0YLRgNC+0LnRgdGC0LLQviDQvdC+0LzQtdGAX9GA0LDQt9C00LXQu9CwIFtJZF1cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjMKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICLQodC+0L7QsdGJ0LjRgtGMINGP0LTRgNGDINC+INC90L7QstC+0Lwg0YDQsNC30LzQtdGA0LUg0YDQsNC30LTQtdC70LBcbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gbnVtYmVyICVzIgorbXNnc3RyICIlczog0L3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCDQvdCw0YfQsNC70L4g0YDQsNC30LTQtdC70LAgJXMiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwOQorbXNnaWQgImZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uIgorbXNnc3RyICLQvdC10YPQtNCw0LvQvtGB0Ywg0LjQt9C80LXQvdC40YLRjCDQvdC+0LzQtdGAINGA0LDQt9C80LXRgNCwIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIzMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbmVzdGVkIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INCy0YvQtNC10LvQuNGC0Ywg0LHRg9GE0LXRgC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNlZWsgJXMiCittc2dzdHIgItC+0YjQuNCx0LrQsCDQv9C+0LjRgdC60LAgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzAyIGxpYmZkaXNrL3NyYy9ic2QuYzo3MjMgbGliZmRpc2svc3JjL2JzZC5jOjg5NAorIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNjMgc3lzLXV0aWxzL2h3Y2xvY2suYzoxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlICVzIgorbXNnc3RyICLQvtGI0LjQsdC60LAg0LfQsNC/0LjRgdC4ICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlMTJzIChvZmZzZXQgJTVqdSwgc2l6ZSAlNWp1KTogJXMiCittc2dzdHIgIiUxMnMgKNGB0LzQtdGJ0LXQvdC40LUgJTVqdSwg0YDQsNC30LzQtdGAICU1anUpOiAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAiCittc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINGA0LXQt9C10YDQstC90YPRjiDQutC+0L/QuNGOIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMyOAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIGZpbGUsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDRgNC10LfQtdGA0LLQvdGD0Y4g0LrQvtC/0LjRjiDRgdC40LPQvdCw0YLRg9GA0YssINC/0LXRgNC10LzQtdC90L3QsNGPICRIT01FINC90LUg0L7Qv9GA0LXQtNC10LvQtdC90LAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzU0Cittc2dpZCAiQmFja3VwIGZpbGVzOiIKK21zZ3N0ciAi0KDQtdC30LXRgNCy0L3Ri9C1INGE0LDQudC70Ys6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM3OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBuZXcgcGFydGl0aW9uIGZyb20gZGV2aWNlOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0YDQsNGB0YjQuNGA0LXQvdC90YPRjiDRgtCw0LHQu9C40YbRgyDRgNCw0LfQtNC10LvQvtCyICjRgdC80LXRidC10L3QuNC1PSVqdSkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINC90LDRh9Cw0LvQviDRgNCw0LfQtNC10LvQsCAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINC90LDRh9Cw0LvQviDRgNCw0LfQtNC10LvQsCAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiJXM6INC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0L3QsNGH0LDQu9C+INGA0LDQt9C00LXQu9CwICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiJXM6INC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0L3QsNGH0LDQu9C+INGA0LDQt9C00LXQu9CwICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4OQorIywgZnV6enkKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGhhcyBub3QgYmVlbiBtb3ZlZDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINC90LDRh9Cw0LvQviDRgNCw0LfQtNC10LvQsCAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTEKK21zZ2lkICJuZXcgcGFydGl0aW9uIGlzIHNtYWxsZXIgdGhhbiBvcmlnaW5hbDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDEKK21zZ2lkICJEYXRhIG1vdmU6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgdHlwZXNjcmlwdCBmaWxlOiAlcyIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0YDQsNCx0L7RgtCw0YLRjCDRhNCw0LnQuyDRgdGG0LXQvdCw0YDQuNGPICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICIgb2xkIHN0YXJ0OiAlanUsIG5ldyBzdGFydDogJWp1IChtb3ZlICVqdSBzZWN0b3JzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUxCisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIG1vdmUgcGFydGl0aW9uIGRhdGE/IgorbXNnc3RyICLQktGLINGF0L7RgtC40YLQtSDQt9Cw0L/QuNGB0LDRgtGMINGN0YLQviDQvdCwINC00LjRgdC6PyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTMgZGlzay11dGlscy9zZmRpc2suYzoxNzgzCittc2dpZCAiTGVhdmluZy4iCittc2dzdHIgItCS0YvRhdC+0LQuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjUyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBtb3ZlIGRhdGEiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC00LDRgtGMINC00LDQvdC90YvQtSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDEKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGlzIHVuY2hhbmdlZCAoLS1uby1hY3QpLiIKK21zZ3N0ciAi0KLQsNCx0LvQuNGG0LAg0YDQsNC30LTQtdC70L7QsiDQvdC1INC40LfQvNC10L3QtdC90LAgKC0tbm8tYWN0KS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQ3Cittc2dpZCAiIgorIlxuIgorIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIiIKKyJcbiIKKyLQotCw0LHQu9C40YbQsCDRgNCw0LfQtNC10LvQvtCyINCx0YvQu9CwINC40LfQvNC10L3QtdC90LAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjIzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGxhYmVsICclcyciCittc2dzdHIgItC90LXQv9C+0LTQtNC10YDQttC40LLQsNC10LzQsNGPINC80LXRgtC60LAg0LTQuNGB0LrQsCAnJXMnIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYyNgorbXNnaWQgIiIKKyJJZCAgTmFtZVxuIgorIlxuIgorbXNnc3RyICIiCisiSWQgINCY0LzRj1xuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjY1NgorbXNnaWQgInVucmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUgdHlwZSIKK21zZ3N0ciAi0L3QtdGA0LDRgdC/0L7Qt9C90LDQvdC90YvQuSDRgtC40L8g0YLQsNCx0LvQuNGG0Ysg0YDQsNC30LTQtdC70L7QsiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQv9C+0LvRg9GH0LjRgtGMINGA0LDQt9C80LXRgCAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidG90YWw6ICVqdSBibG9ja3NcbiIKK21zZ3N0ciAi0LLRgdC10LPQvjogJWp1INCx0LvQvtC60L7QslxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgwOCBkaXNrLXV0aWxzL3NmZGlzay5jOjg3NiBkaXNrLXV0aWxzL3NmZGlzay5jOjkxNworIzogZGlzay11dGlscy9zZmRpc2suYzo5NDcgZGlzay11dGlscy9zZmRpc2suYzoxMDE0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA3OAorIzogZGlzay11dGlscy9zZmRpc2suYzoxMTMzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE4OSBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MzMKK21zZ2lkICJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgItC90LUg0YPQutCw0LfQsNC90L4g0LTQuNGB0LrQvtCy0L7QtSDRg9GB0YLRgNC+0LnRgdGC0LLQviIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MTkKK21zZ2lkICJ0b2dnbGUgYm9vdCBmbGFncyBpcyBzdXBwb3J0ZWQgZm9yIE1CUiBvbmx5IgorbXNnc3RyICLQv9C10YDQtdC60LvRjtGH0LXQvdC40LUg0YDQtdC20LjQvNCwINC30LDQs9GA0YPQt9C60Lgg0L/QvtC00LTQtdGA0LbQuNCy0LDRgtGB0Y8g0YLQvtC70YzQutC+INC00LvRjyBNQlIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODUwIGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxOQorIzogZGlzay11dGlscy9zZmRpc2suYzoxMDgzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzOCBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTQKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUzMSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMTMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0L3QvtC80LXRgCDRgNCw0LfQtNC10LvQsCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlZDogZmFpbGVkIHRvIHRvZ2dsZSBib290YWJsZSBmbGFnIgorbXNnc3RyICIlczog0YDQsNC30LTQtdC7ICVkOiDQvdC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LrQu9GO0YfQuNGC0Ywg0YTQu9Cw0LMg0LfQsNCz0YDRg9C30LrQuCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4OTEgZGlzay11dGlscy9zZmRpc2suYzo4OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZGVsZXRlIgorbXNnc3RyICIlczog0YDQsNC30LTQtdC7ICV6dTog0L3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LvRg9GH0LjRgtGMINGC0LjQvyDRgNCw0LfQtNC10LvQsCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgItCj0YHRgtGA0L7QudGB0YLQstC+INC90LUg0YHQvtC00LXRgNC20LjRgiDRgdGC0LDQvdC00LDRgNGC0L3QvtC5INGC0LDQsdC70LjRhtGLINGA0LDQt9C00LXQu9C+0LIuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk1OAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBkdW1wIHN0cnVjdCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCDRgdGC0YDRg9C60YLRg9GA0YMg0LLRi9Cy0L7QtNCwIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkdW1wIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0LLQtdGB0YLQuCDRgtCw0LHQu9C40YbRgyDRgNCw0LfQtNC10LvQvtCyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uIHRhYmxlIGZvdW5kIgorbXNnc3RyICIlczog0L3QtdGCINC90LDQudC00LXQvdCwINGC0LDQsdC70LjRhtCwINGA0LDQt9C00LXQu9C+0LIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6INGA0LDQt9C00LXQuyAlenU6INGC0LDQsdC70LjRhtCwINGA0LDQt9C00LXQu9C+0LIg0YHQvtC00LXRgNC20LjRgiDRgtC+0LvRjNC60L4gJXp1INGA0LDQt9C00LXQu9C+0LIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gaXMgdW51c2VkIgorbXNnc3RyICIlczog0YDQsNC30LTQtdC7ICV6dTog0YDQsNC30LTQtdC7INC90LUg0LjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTggZGlzay11dGlscy9zZmRpc2suYzoxMDgyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzNworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTkzCittc2dpZCAibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiCittc2dzdHIgItC90LUg0YPQutCw0LfQsNC9INC90L7QvNC10YAg0YDQsNC30LTQtdC70LAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAyNCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODggZGlzay11dGlscy9zZmRpc2suYzoxMTQzCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTkKK21zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50cyIKK21zZ3N0ciAi0L3QtdC/0YDQtdC00LLQuNC00LXQvdC90YvQtSDQsNGA0LPRg9C80LXQvdGC0YsiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiJXM6INGA0LDQt9C00LXQuyAlenU6INC90LUg0YPQtNCw0LvQvtGB0Ywg0L/QvtC70YPRh9C40YLRjCDRgtC40L8g0YDQsNC30LTQtdC70LAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA1OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgcGFydGl0aW9uIHR5cGUgJyVzJyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LvRg9GH0LjRgtGMICVzINGC0LjQvyDRgNCw0LfQtNC10LvQsCAnJXMnIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiVzOiDRgNCw0LfQtNC10LsgJXp1OiDQvdC1INGD0LTQsNC70L7RgdGMINC30LDQtNCw0YLRjCDRgtC40L8g0YDQsNC30LTQtdC70LAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiJXM6INGA0LDQt9C00LXQuyAlenU6INC90LUg0YPQtNCw0LvQvtGB0Ywg0L/QvtC70YPRh9C40YLRjCBVVUlEINGA0LDQt9C00LXQu9CwIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMTMgZGlzay11dGlscy9zZmRpc2suYzoxMTY4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIyMgorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gb2JqZWN0IgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINCy0YvQtNC10LvQuNGC0Ywg0L7QsdGK0LXQutGCINGA0LDQt9C00LXQu9CwIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiVzOiDRgNCw0LfQtNC10LsgJXp1OiDQvdC1INGD0LTQsNC70L7RgdGMINC30LDQtNCw0YLRjCBVVUlEINGA0LDQt9C00LXQu9CwIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIiVzOiDRgNCw0LfQtNC10LsgJXp1OiDQvdC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0LjQvNGPINGA0LDQt9C00LXQu9CwIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIiVzOiDRgNCw0LfQtNC10LsgJXp1OiDQvdC1INGD0LTQsNC70L7RgdGMINC30LDQtNCw0YLRjCDQuNC80Y8g0YDQsNC30LTQtdC70LAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gYXR0cmlidXRlcyIKK21zZ3N0ciAiJXM6INGA0LDQt9C00LXQuyAlenU6INC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC00LDRgtGMINCw0YLRgNC40LHRg9GC0Ysg0YDQsNC30LTQtdC70LAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI2OQorbXNnaWQgIiBDb21tYW5kczpcbiIKK21zZ3N0ciAiINCa0L7QvNCw0L3QtNGLOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzEKK21zZ2lkICIgICB3cml0ZSAgICB3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0XG4iCittc2dzdHIgIiAgIHdyaXRlICAgINC30LDQv9C40YHRjCDRgtCw0LHQu9C40YbRiyDRgNCw0LfQtNC10LvQvtCyINC90LAg0LTQuNGB0Log0Lgg0LLRi9GF0L7QtFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzIKK21zZ2lkICIgICBxdWl0ICAgICBzaG93IG5ldyBzaXR1YXRpb24gYW5kIHdhaXQgZm9yIHVzZXIncyBmZWVkYmFjayBiZWZvcmUgd3JpdGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzMKK21zZ2lkICIgICBhYm9ydCAgICBleGl0IHNmZGlzayBzaGVsbFxuIgorbXNnc3RyICIgICBhYm9ydCAgICDQstGL0LnRgtC4INC40Lcg0L7QsdC+0LvQvtGH0LrQuFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzQKK21zZ2lkICIgICBwcmludCAgICBkaXNwbGF5IHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiICAgcHJpbnQgICAg0LLRi9Cy0LXRgdGC0Lgg0YLQsNCx0LvQuNGG0YMg0YDQsNC30LTQtdC70L7QslxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzUKK21zZ2lkICIgICBoZWxwICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCittc2dzdHIgIiAgIGhlbHAgICAgINC/0L7QutCw0LfQsNGC0Ywg0Y3RgtGDINGB0L/RgNCw0LLQutGDINC4INCy0YvQudGC0LhcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjc3Cittc2dpZCAiICAgQ3RybC1EICAgdGhlIHNhbWUgYXMgJ3F1aXQnXG4iCittc2dzdHIgIiAgIEN0cmwtRCAgINGC0L4g0LbQtSwg0YfRgtC+INC4ICdxdWl0J1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODEKK21zZ2lkICIgSW5wdXQgZm9ybWF0OlxuIgorbXNnc3RyICIg0KTQvtGA0LzQsNGCINCy0LLQvtC00LA6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MworbXNnaWQgIiAgIDxzdGFydD4sIDxzaXplPiwgPHR5cGU+LCA8Ym9vdGFibGU+XG4iCittc2dzdHIgIiAgIDzQvdCw0Yc+LCA80YDQsNC30Lw+LCA80YLQuNC/PiwgPNC30LDQs9GAPlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODYKK21zZ2lkICIiCisiICAgPHN0YXJ0PiAgQmVnaW5uaW5nIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIHRoZSBmaXJzdCBmcmVlIHNwYWNlLlxuIgorbXNnc3RyICIiCisiICAgPNC90LDRhz4gICAg0J3QsNGH0LDQu9C+INGA0LDQt9C00LXQu9CwINCyINGB0LXQutGC0L7RgNCw0YUg0LjQu9C4INCx0LDQudGC0LDRhSwg0LXRgdC70LhcbiIKKyIgICAgICAgICAgICDQt9Cw0LTQsNC9INGE0L7RgNC80LDRgiA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgINCf0L4g0YPQvNC+0LvRh9Cw0L3QuNGOIC0g0L/QtdGA0LLQsNGPINC90LXRgNCw0LfQvNC10YfQtdC90L3QsNGPINC+0LHQu9Cw0YHRgtGMLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTEKK21zZ2lkICIiCisiICAgPHNpemU+ICAgU2l6ZSBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyBhbGwgYXZhaWxhYmxlIHNwYWNlLlxuIgorbXNnc3RyICIiCisiICAgPNGA0LDQt9C8PiAgINCg0LDQt9C80LXRgCDRgNCw0LfQtNC10LvQsCDQsiDRgdC10LrRgtC+0YDQsNGFINC40LvQuCDQsdCw0LnRgtCw0YUsINC10YHQu9C4XG4iCisiICAgICAgICAgICAg0LfQsNC00LDQvSDRhNC+0YDQvNCw0YIgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICDQn9C+INGD0LzQvtC70YfQsNC90LjRjiAtINCy0YHRjyDQvdC10YDQsNC30LzQtdGH0LXQvdC90LDRjyDQvtCx0LvQsNGB0YLRjC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk2Cittc2dpZCAiICAgPHR5cGU+ICAgVGhlIHBhcnRpdGlvbiB0eXBlLiAgRGVmYXVsdCBpcyBhIExpbnV4IGRhdGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIgICA80YLQuNC/PiAgICDQotC40L8g0YDQsNC30LTQtdC70LAuINCf0L4g0YPQvNC+0LvRh9Cw0L3QuNGOIC0g0YDQsNC30LTQtdC7INC00LDQvdC90YvRhSBMaW51eC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgIE1CUjogaGV4IG9yIEwsUyxFLFggc2hvcnRjdXRzLlxuIgorbXNnc3RyICIgICAgICAgICAgICBNQlI6INGI0LXRgdGC0L3QsNC00YbQsNGC0LXRgNC40YfQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDQuNC70LggTCxTLEUsWC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk4CisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgIEdQVDogVVVJRCBvciBMLFMsSCBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiAgICAgICAgICAgIEdQVDogVVVJRCDQuNC70LggTCxTLEguXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwMQorbXNnaWQgIiAgIDxib290YWJsZT4gIFVzZSAnKicgdG8gbWFyayBhbiBNQlIgcGFydGl0aW9uIGFzIGJvb3RhYmxlLlxuIgorbXNnc3RyICIgICA80LfQsNCz0YA+ICAgICAg0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSDRgdC40LzQstC+0LsgJyonLCDRh9GC0L7QsdGLINC/0L7QvNC10L3QuNGC0Ywg0YDQsNC30LTQtdC7IE1CUiDQutCw0Log0LfQsNCz0YDRg9C30L7Rh9C90YvQuVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDUKK21zZ2lkICIgRXhhbXBsZTpcbiIKK21zZ3N0ciAiINCf0YDQuNC80LXRgDpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzA3Cittc2dpZCAiICAgLCA0RyAgICAgQ3JlYXRlcyBhIDRHaUIgcGFydGl0aW9uIGF0IGRlZmF1bHQgc3RhcnQgb2Zmc2V0LlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMzOSBzeXMtdXRpbHMvZG1lc2cuYzoxNDU1Cittc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAi0L3QtdC/0L7QtNC00LXRgNC20LjQstCw0LXQvNCw0Y8g0LrQvtC80LDQvdC00LAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICLRgdGC0YDQvtC60LAgJWQ6INC90LXQv9C+0LTQtNC10YDQttC40LLQsNC10LzQsNGPINC60L7QvNCw0L3QtNCwIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MDAKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0LjQvNGPINGA0LDQt9C00LXQu9CwIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NDEKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L3QsNC30L3QsNGH0LjRgtGMINC+0LHRgNCw0LHQvtGC0YfQuNC6INGB0YbQtdC90LDRgNC40Y8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IG5vIHBhcnRpdGlvbiB0YWJsZSB3YXMgZm91bmQiCittc2dzdHIgIiVzOiDQvdC1INC80L7Qs9GDINC40LfQvNC10L3QuNGC0Ywg0YDQsNC30LTQtdC7ICVkOiDRgtCw0LHQu9C40YbQsCDRgNCw0LfQtNC10LvQvtCyINC90LUg0L3QsNC50LTQtdC90LAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczog0L3QtSDQvNC+0LPRgyDQuNC30LzQtdC90LjRgtGMINGA0LDQt9C00LXQuyAlZDog0YLQsNCx0LvQuNGG0LAg0YDQsNC30LTQtdC70L7QsiDRgdC+0LTQtdGA0LbQuNGCINGC0L7Qu9GM0LrQviAlenUg0YDQsNC30LTQtdC70L7QsiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzOiBwYXJ0aXRpb24gJWQgaXMgbm90IGRlZmluZWQgeWV0IgorbXNnc3RyICLQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiAlcyDRgNCw0LfQtNC10LsgJWQg0LXRidC1INC90LUg0L7Qv9GA0LXQtNC10LvQtdC9IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIldlbGNvbWUgdG8gc2ZkaXNrICglcykuIgorbXNnc3RyICIiCisiXG4iCisi0JTQvtCx0YDQviDQv9C+0LbQsNC70L7QstCw0YLRjCDQsiBzZmRpc2sgKCVzKS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NAorbXNnaWQgIkNoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIgorbXNnc3RyICLQn9GA0L7QstC10YDRj9C10YLRgdGPLCDRh9GC0L7QsdGLINGB0LXQudGH0LDRgSDQvdC40LrRgtC+INC90LUg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQuyDRjdGC0L7RgiDQtNC40YHQui4uLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTk3Cittc2dpZCAiIgorIiBGQUlMRURcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiDQntCo0JjQkdCa0JBcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjAwCittc2dpZCAiIgorIlRoaXMgZGlzayBpcyBjdXJyZW50bHkgaW4gdXNlIC0gcmVwYXJ0aXRpb25pbmcgaXMgcHJvYmFibHkgYSBiYWQgaWRlYS5cbiIKKyJVbW91bnQgYWxsIGZpbGUgc3lzdGVtcywgYW5kIHN3YXBvZmYgYWxsIHN3YXAgcGFydGl0aW9ucyBvbiB0aGlzIGRpc2suXG4iCisiVXNlIHRoZSAtLW5vLXJlcmVhZCBmbGFnIHRvIHN1cHByZXNzIHRoaXMgY2hlY2suXG4iCittc2dzdHIgIiIKKyLQlNC40YHQuiDRgdC10LnRh9Cw0YEg0LjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPLCDRgdC60L7RgNC10LUg0LLRgdC10LPQviwg0YDQsNC30LzQtdGC0LrQsCAtINGN0YLQviDQv9C70L7RhdCw0Y8g0LjQtNC10Y8uXG4iCisi0KDQsNC30LzQvtC90YLQuNGA0YPQudGC0LUg0LLRgdC1INGE0LDQudC70L7QstGL0LUg0YHQuNGB0YLQtdC80Ysg0Lgg0L7RgtC60LvRjtGH0LjRgtC1INCy0YHQtSDRgNCw0LfQtNC10LvRiyDRgdCy0L7Qv9C40L3Qs9CwINGN0YLQvtCz0L4g0LTQuNGB0LrQsC5cbiIKKyLQmNGB0L/QvtC70YzQt9GD0LnRgtC1INGE0LvQsNCzIC0tbm8tcmVyZWFkINC00LvRjyDQvtGC0LzQtdC90Ysg0Y3RgtC+0Lkg0L/RgNC+0LLQtdGA0LrQuC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjA1Cittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIGZsYWcgdG8gb3ZlcnJ1bGUgYWxsIGNoZWNrcy4iCittc2dzdHIgItCY0YHQv9C+0LvRjNC30YPQudGC0LUg0YTQu9Cw0LMgLS1mb3JjZSDQtNC70Y8g0L7RgtC60LvRjtGH0LXQvdC40Y8g0LLRgdC10YUg0L/RgNC+0LLQtdGA0L7Qui4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNworbXNnaWQgIiIKKyIgT0tcbiIKKyJcbiIKK21zZ3N0ciAiINCe0JpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjM2Cittc2dpZCAiIgorIlxuIgorIk9sZCBzaXR1YXRpb246IgorbXNnc3RyICIiCisiXG4iCisi0KHRgtCw0YDQsNGPINGB0LjRgtGD0LDRhtC40Y86IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorInNmZGlzayBpcyBnb2luZyB0byBjcmVhdGUgYSBuZXcgJyVzJyBkaXNrIGxhYmVsLlxuIgorIlVzZSAnbGFiZWw6IDxuYW1lPicgYmVmb3JlIHlvdSBkZWZpbmUgYSBmaXJzdCBwYXJ0aXRpb25cbiIKKyJ0byBvdmVycmlkZSB0aGUgZGVmYXVsdC4iCittc2dzdHIgIiIKKyJcbiIKKyJzZmRpc2sg0YHQvtC30LTQsNGB0YIg0L3QvtCy0YPRjiDQvNC10YLQutGDINC00LjRgdC60LAgJyVzJy5cbiIKKyLQlNC70Y8g0L/QtdGA0LXQvtC/0YDQtdC00LXQu9C10L3QuNGPINC/0LDRgNCw0LzQtdGC0YDQvtCyINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOXG4iCisi0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSAnbGFiZWw6IDzQuNC80Y8+JyDQv9C10YDQtdC0INGB0L7Qt9C00LDQvdC40LXQvCDQv9C10YDQstC+0LPQviDRgNCw0LfQtNC10LvQsC4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY1NworbXNnaWQgIiIKKyJcbiIKKyJUeXBlICdoZWxwJyB0byBnZXQgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorIlxuIgorItCS0LLQtdC00LjRgtC1IGBoZWxwJyDQtNC70Y8g0L/QvtC70YPRh9C10L3QuNGPINC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdC+0Lkg0LjQvdGE0L7RgNC80LDRhtC40LguXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY3NQorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIHVzZWQuIgorbXNnc3RyICLQktGB0LUg0YDQsNC30LTQtdC70Ysg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdGLLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzAzCisjLCBmdXp6eQorbXNnaWQgIkRvbmUuXG4iCittc2dzdHIgItCT0L7RgtC+0LLQvi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcxNQorbXNnaWQgIklnbm9yaW5nIHBhcnRpdGlvbi4iCittc2dzdHIgItCY0LPQvdC+0YDQuNGA0L7QstCw0L3QuNC1INGA0LDQt9C00LXQu9CwLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzI0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCBoZWFkZXJzLCBkaXNrIGxhYmVsIG5vdCBjcmVhdGVkLiIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0LjQvNC10L3QuNGC0Ywg0LfQsNCz0L7Qu9C+0LLQutC4INGB0YbQtdC90LDRgNC40Y8sINC80LXRgtC60LAg0LTQuNGB0LrQsCDQvdC1INGB0L7Qt9C00LDQvdCwLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkICMlZCBwYXJ0aXRpb24iCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0LTQvtCx0LDQstC40YLRjCDRgNCw0LfQtNC10LsiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc2MworbXNnaWQgIlNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuIgorbXNnc3RyICLQl9Cw0LPQvtC70L7QstC+0Log0YHQutGA0LjQv9GC0LAg0L/RgNC40L3Rj9GCLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzcyCittc2dpZCAiIgorIlxuIgorIk5ldyBzaXR1YXRpb246IgorbXNnc3RyICIiCisiXG4iCisi0J3QvtCy0LDRjyDRgdC40YLRg9Cw0YbQuNGPOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzgxCittc2dpZCAiRG8geW91IHdhbnQgdG8gd3JpdGUgdGhpcyB0byBkaXNrPyIKK21zZ3N0ciAi0JLRiyDRhdC+0YLQuNGC0LUg0LfQsNC/0LjRgdCw0YLRjCDRjdGC0L4g0L3QsCDQtNC40YHQuj8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc5MworbXNnaWQgIkxlYXZpbmcuXG4iCittc2dzdHIgItCS0YvRhdC+0LQuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2PiBbWy1OXSA8cGFydD5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogbWtmcyBbLVZdIFstdCDRgtC40L9f0YTRgV0gW9C+0L/RhtC40Lhf0YTRgV0g0YPRgdGC0YDQvtC50YHRgtCy0L4gW9GA0LDQt9C80LXRgF1cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEyCittc2dpZCAiIgorIlxuIgorIkNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisiXG4iCisi0JrQvtC80LDQvdC00Ys6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMworbXNnaWQgIiAtQSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gbGlzdCBvciBzZXQgYm9vdGFibGUgTUJSIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIC1BLCAtLWFjdGl2YXRlIDxkZXY+IFs8cGFydD4gLi4uXSDQstGL0LLQtdGB0YLQuCDQuNC70Lgg0YHQtNC10LvQsNGC0Ywg0LfQsNCz0YDRg9C30L7Rh9C90YvQvNC4INGA0LDQt9C00LXQu9GLIE1CUlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSAodXNhYmxlIGZvciBsYXRlciBpbnB1dClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlIGluIEpTT04gZm9ybWF0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINGB0L/QuNGB0L7QuiDRgNCw0LfQtNC10LvQvtCyINC4INCy0YvQudGC0LhcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE2Cittc2dpZCAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxkZXY+IC4uLl0gICBsaXN0IGdlb21ldHJ5IG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCBbPGRldj4gLi4uXSAgICAgICAgICAgIGxpc3QgcGFydGl0aW9ucyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAg0L/QvtC60LDQt9Cw0YLRjCDRgdC/0LjRgdC+0Log0YDQsNC30LTQtdC70L7QsiDQuCDQstGL0LnRgtC4XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxOAorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbGlzdC1mcmVlIFs8ZGV2PiAuLi5dICAgICAgIGxpc3QgdW5wYXJ0aXRpb25lZCBmcmVlIGFyZWFzIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINGB0L/QuNGB0L7QuiDRgNCw0LfQtNC10LvQvtCyINC4INCy0YvQudGC0LhcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE5CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZW9yZGVyIDxkZXY+ICAgICAgICAgICAgICAgZml4IHBhcnRpdGlvbnMgb3JkZXIgKGJ5IHN0YXJ0IG9mZnNldClcbiIKK21zZ3N0ciAiIC1hLCAtLWFkZCAgICAgICAgICAgINC00L7QsdCw0LLQuNGC0Ywg0YPQutCw0LfQsNC90L3Ri9C5INGA0LDQt9C00LXQuyDQuNC70Lgg0LLRgdC1INGA0LDQt9C00LXQu9GLXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hvdy1zaXplIFs8ZGV2PiAuLi5dICAgICAgIGxpc3Qgc2l6ZXMgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICDQrdGC0L4g0L3QtdCx0L7Qu9GM0YjQvtC1INGA0YPQutC+0LLQvtC00YHRgtCy0L4g0L/QviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjEKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmVjb2duaXplZCB0eXBlcyAoc2VlIC1YKVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAg0K3RgtC+INC90LXQsdC+0LvRjNGI0L7QtSDRgNGD0LrQvtCy0L7QtNGB0YLQstC+INC/0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIyCisjLCBmdXp6eQorbXNnaWQgIiAtViwgLS12ZXJpZnkgWzxkZXY+IC4uLl0gICAgICAgICAgdGVzdCB3aGV0aGVyIHBhcnRpdGlvbnMgc2VlbSBjb3JyZWN0XG4iCittc2dzdHIgIiAgcSAgICAgICAgICDQktGL0YXQvtC0INC40Lcg0L/RgNC+0LPRgNCw0LzQvNGLINCx0LXQtyDQt9Cw0L/QuNGB0Lgg0YLQsNCx0LvQuNGG0Ysg0YDQsNC30LTQtdC70L7QsiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIzCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1kZWxldGUgPGRldj4gWzxwYXJ0PiAuLi5dICAgZGVsZXRlIGFsbCBvciBzcGVjaWZpZWQgcGFydGl0aW9uc1xuIgorbXNnc3RyICIgLUEsIC0tYWN0aXZhdGUgPGRldj4gWzxwYXJ0PiAuLi5dINCy0YvQstC10YHRgtC4INC40LvQuCDRgdC00LXQu9Cw0YLRjCDQt9Cw0LPRgNGD0LfQvtGH0L3Ri9C80Lgg0YDQsNC30LTQtdC70YsgTUJSXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNgorbXNnaWQgIiAtLXBhcnQtbGFiZWwgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBsYWJlbFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNworbXNnaWQgIiAtLXBhcnQtdHlwZSA8ZGV2PiA8cGFydD4gWzx0eXBlPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI4CisjLCBmdXp6eQorbXNnaWQgIiAtLXBhcnQtdXVpZCA8ZGV2PiA8cGFydD4gWzx1dWlkPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB1dWlkXG4iCittc2dzdHIgIiAgICAtYyBb0LjQu9C4IC0taWRdOiAgICAgICAg0LLRi9Cy0L7QtCDQuNC70Lgg0LjQt9C80LXQvdC10L3QuNC1IElkINGA0LDQt9C00LXQu9CwIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjkKK21zZ2lkICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gYXR0cmlidXRlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzMgorIywgZnV6enkKK21zZ2lkICIgPGRldj4gICAgICAgICAgICAgICAgICAgICBkZXZpY2UgKHVzdWFsbHkgZGlzaykgcGF0aFxuIgorbXNnc3RyICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAg0L/QvtC60LDQt9Cw0YLRjCDRjdGC0YMg0YHQv9GA0LDQstC60YMg0Lgg0LLRi9C50YLQuFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzMKKyMsIGZ1enp5Cittc2dpZCAiIDxwYXJ0PiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgICAgLU4jIDogICAgICAgICAgICAgICAgINC40LfQvNC10L3QtdC90LjQtSDRgtC+0LvRjNC60L4g0YDQsNC30LTQtdC70LAg0YEg0L3QvtC80LXRgNC+0LwgIyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM0Cittc2dpZCAiIDx0eXBlPiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIHR5cGUsIEdVSUQgZm9yIEdQVCwgaGV4IGZvciBNQlJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzcKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgYXBwZW5kIHBhcnRpdGlvbnMgdG8gZXhpc3RpbmcgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgcSAgICAgICAgICDQktGL0YXQvtC0INC40Lcg0L/RgNC+0LPRgNCw0LzQvNGLINCx0LXQtyDQt9Cw0L/QuNGB0Lgg0YLQsNCx0LvQuNGG0Ysg0YDQsNC30LTQtdC70L7QsiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM4CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1iYWNrdXAgICAgICAgICAgICAgIGJhY2t1cCBwYXJ0aXRpb24gdGFibGUgc2VjdG9ycyAoc2VlIC1PKVxuIgorbXNnc3RyICIgIG4gICAgICAgICAg0KHQvtC30LTQsNC90LjQtSDQvdC+0LLQvtCz0L4g0YDQsNC30LTQtdC70LAg0L3QsCDRgdCy0L7QsdC+0LTQvdC+0Lwg0L/RgNC+0YHRgtGA0LDQvdGB0YLQstC1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzkKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MAorbXNnaWQgIiAgICAgLS1tb3ZlLWRhdGFbPTx0eXBlc2NyaXB0Pl0gbW92ZSBwYXJ0aXRpb24gZGF0YSBhZnRlciByZWxvY2F0aW9uIChyZXF1aXJlcyAtTilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDEKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIKK21zZ3N0ciAi0JLRiyDQvNC+0LbQtdGC0LUg0L7RgtC60LvRjtGH0LjRgtGMINC/0YDQvtCy0LXRgNC60YMg0LLRgdC10YUg0L/RgNC+0YLQuNCy0L7RgNC10YfQuNC5OiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQyCittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ1CisjLCBmdXp6eQorbXNnaWQgIiAtTiwgLS1wYXJ0bm8gPG51bT4gICAgICAgIHNwZWNpZnkgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgLUgsIC0taGVhZHMgPNGH0LjRgdC70L4+ICAgICAgICAgICDRg9C60LDQttC40YLQtSDQutC+0LvQuNGH0LXRgdGC0LLQviDQs9C+0LvQvtCy0L7QulxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDYKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgd3JpdGUgdG8gZGV2aWNlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICDQndC1INC30LDQutC70Y7Rh9Cw0YLRjCDQsiDQutCw0LLRi9GH0LrQuCDQstGL0YXQvtC00L3Ri9C1INC00LDQvdC90YvQtVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLXJlcmVhZCAgICAgICAgICAgZG8gbm90IGNoZWNrIHdoZXRoZXIgdGhlIGRldmljZSBpcyBpbiB1c2VcbiIKK21zZ3N0ciAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgINC90LUg0L7Rh9C40YnQsNGC0Ywg0Y3QutGA0LDQvSDQtNC+INGB0YLRgNC+0LrQuCDQv9GA0LjQs9C70LDRiNC10L3QuNGPXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm8tdGVsbC1rZXJuZWwgICAgICBkbyBub3QgdGVsbCBrZXJuZWwgYWJvdXQgY2hhbmdlc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAg0J3QtSDQt9Cw0LrQu9GO0YfQsNGC0Ywg0LIg0LrQsNCy0YvRh9C60Lgg0LLRi9GF0L7QtNC90YvQtSDQtNCw0L3QvdGL0LVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ5Cittc2dpZCAiIC1PLCAtLWJhY2t1cC1maWxlIDxwYXRoPiAgb3ZlcnJpZGUgZGVmYXVsdCBiYWNrdXAgZmlsZSBuYW1lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUwCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICDQkdC10Lcg0L7QsdGL0YfQvdGL0YUg0LLRi9GF0L7QtNC90YvRhSDQtNCw0L3QvdGL0YVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUxCisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIGV4dHJhIGluZm8gbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAgIC1xICBb0LjQu9C4IC0tcXVpZXRdOiAgICAgINC/0L7QtNCw0LLQu9C10L3QuNC1INC/0YDQtdC00YPQv9GA0LXQttC00LDRjtGJ0LjRhSDRgdC+0L7QsdGJ0LXQvdC40LkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MgorIywgZnV6enkKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICAgINCy0YvQstC+0LQg0YHQvtC+0LHRidC10L3QuNC5INGA0LDQt9C90YvQvNC4INGG0LLQtdGC0LDQvNC4ICjQt9C90LDRh9C10L3QuNGPOiBhdXRvPdCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC4LCBhbHdheXM90LLRgdC10LPQtNCwLCBuZXZlcj3QvdC40LrQvtCz0LTQsClcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU0Cittc2dpZCAiIC1YLCAtLWxhYmVsIDxuYW1lPiAgICAgICAgc3BlY2lmeSBsYWJlbCB0eXBlIChkb3MsIGdwdCwgLi4uKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NQorbXNnaWQgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPG5hbWU+IHNwZWNpZnkgbmVzdGVkIGxhYmVsIHR5cGUgKGRvcywgYnNkKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NworbXNnaWQgIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIGRlcHJlY2F0ZWQsIGFsaWFzIHRvIC0tc2hvdy1nZW9tZXRyeVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICDQndC1INC30LDQutC70Y7Rh9Cw0YLRjCDQsiDQutCw0LLRi9GH0LrQuCDQstGL0YXQvtC00L3Ri9C1INC00LDQvdC90YvQtVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTkKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVuaXQgUyAgICAgICAgICAgICAgZGVwcmVjYXRlZCwgb25seSBzZWN0b3IgdW5pdCBpcyBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MyBsb2dpbi11dGlscy9jaGZuLmM6MTAyIGxvZ2luLXV0aWxzL2Noc2guYzo3OQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgINCS0YvQstC+0LQg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0LLQtdGA0YHQuNC4XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NzMKK21zZ2lkICItLWlkIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk4OQorbXNnaWQgIi0tc2hvdy1wdC1nZW9tZXRyeSBpcyBubyBtb3JlIGltcGxlbWVudGVkLiBVc2luZyAtLXNob3ctZ2VvbWV0cnkuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAwMAorbXNnaWQgIi0tTGludXggb3B0aW9uIGlzIHVubmVjZXNzYXJ5IGFuZCBkZXByZWNhdGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAyOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0ICclYyciCittc2dzdHIgItC90LXQv9C+0LTQtNC10YDQttC40LLQsNC10LzQsNGPINC10LTQuNC90LjRhtCwOiclYyciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAzMiBpbmNsdWRlL2MuaDozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlc1xuIgorbXNnc3RyICIlcyDQuNC3ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjEwOQorbXNnaWQgIi0tbW92ZWRhdGEgcmVxdWlyZXMgLU4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgVVVJRDogJXMiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC+0LHRgNCw0LHQvtGC0LDRgtGMIFVVSUQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBVVUlEIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgVVVJRCIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC30LDQv9C40YHQsNGC0YwgVVVJRCIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgbGFiZWwgIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgImxhYmVsIGlzIHRvbyBsb25nLiBUcnVuY2F0aW5nIGl0IHRvICclcyciCittc2dzdHIgItGB0LvQuNGI0LrQvtC8INC00LvQuNC90L3QsNGPINC80LXRgtC60LAuINCh0L7QutGA0LDRidCw0LXRgtGB0Y8g0LTQviAnJXMnIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgbGFiZWwiCittc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0LzQtdGC0LrRgyIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjEKK21zZ2lkICJEaXNwbGF5IG9yIGNoYW5nZSB0aGUgbGFiZWwgb3IgVVVJRCBvZiBhIHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAi0J/QvtC60LDQt9Cw0YLRjCDQuNC70Lgg0LjQt9C80LXQvdC40YLRjCDQvNC10YLQutGDINC40LvQuCBVVUlEIHN3YXAt0L7QsdC70LDRgdGC0LguXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTI0Cittc2dpZCAiIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+IHNwZWNpZnkgYSBuZXcgbGFiZWxcbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICBzcGVjaWZ5IGEgbmV3IHV1aWRcbiIKK21zZ3N0ciAiIgorIiAtTCwgLS1sYWJlbCA80LzQtdGC0LrQsD4g0YPQutCw0LfQsNGC0Ywg0L3QvtCy0YPRjiDQvNC10YLQutGDXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAg0YPQutCw0LfQsNGC0Ywg0L3QvtCy0YvQuSB1dWlkXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTY3Cittc2dpZCAiaWdub3JlIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQpIgorbXNnc3RyICLQv9GA0L7Qv9GD0YHRgtC40YLRjCAtVSAoVVVJRCfRiyDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0Y7RgtGB0Y8pIgorCisjOiBpbmNsdWRlL2MuaDoyOTkKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLQmNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTpcbiIKKworIzogaW5jbHVkZS9jLmg6MzAwCittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLQn9Cw0YDQsNC80LXRgtGA0Ys6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwMgorbXNnaWQgIiAtaCwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAg0L/QvtC60LDQt9Cw0YLRjCDRjdGC0YMg0YHQv9GA0LDQstC60YMg0Lgg0LLRi9C50YLQuFxuIgorCisjOiBpbmNsdWRlL2MuaDozMDMKK21zZ2lkICIgLVYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorIiAtViwgLS12ZXJzaW9uICDQstGL0LLQtdGB0YLQuCDQvdC+0LzQtdGAINCy0LXRgNGB0LjQuCDQuCDQstGL0LnRgtC4XG4iCisiXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRm9yIG1vcmUgZGV0YWlscyBzZWUgJXMuXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQlNC70Y8g0LHQvtC70LXQtSDQtNC10YLQsNC70YzQvdC+0Lkg0LjQvdGE0L7RgNC80LDRhtC40Lgg0YHQvNC+0YLRgNC40YLQtSAlcy5cbiIKKworIzogaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ2IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0OCBsb2dpbi11dGlscy92aXB3LmM6MjczCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjkyIHN5cy11dGlscy9ydGN3YWtlLmM6MjgwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjgwNQorIzogdGV4dC11dGlscy9jb2wuYzoxNTcKK21zZ2lkICJ3cml0ZSBlcnJvciIKK21zZ3N0ciAi0L7RiNC40LHQutCwINC30LDQv9C40YHQuCIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyNworbXNnaWQgImNvbG9ycyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICLRhtCy0LXRgtC90L7QuSDRiNGA0LjRhNGCINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOINC/0L7QtNC00LXRgNC20LjQstCw0LXRgtGB0Y8iCisKKyM6IGluY2x1ZGUvY29sb3JzLmg6MjkKK21zZ2lkICJjb2xvcnMgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgItGG0LLQtdGC0L3QvtC5INGI0YDQuNGE0YIg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4g0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YLRgdGPIgorCisjOiBpbmNsdWRlL2Vudi5oOjE4IGxpYi9wYWdlci5jOjE1MSBsb2dpbi11dGlscy9sb2dpbi5jOjEwNTIKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTA1NiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MjkKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTE2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgZW52aXJvbm1lbnQgdmFyaWFibGUiCittc2dzdHIgItCe0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0Lgg0YDQsNC30LTQtdC70LAg0L3QsCAlc1xuIgorCisjOiBpbmNsdWRlL29wdHV0aWxzLmg6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZXNlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZToiCittc2dzdHIgIiVzOiDRjdGC0Lgg0L/QsNGA0LDQvNC10YLRgNGLINGP0LLQu9GP0Y7RgtGB0Y8g0LLQt9Cw0LjQvNC+0LjRgdC60LvRjtGH0LDRjtGJ0LjQvNC4OiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MQorbXNnaWQgIkVtcHR5IgorbXNnc3RyICLQn9GD0YHRgtC+0LkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIKK21zZ2lkICJGQVQxMiIKK21zZ3N0ciAiRkFUMTIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMKK21zZ2lkICJYRU5JWCByb290IgorbXNnc3RyICJYRU5JWCByb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0Cittc2dpZCAiWEVOSVggdXNyIgorbXNnc3RyICJYRU5JWCB1c3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUKK21zZ2lkICJGQVQxNiA8MzJNIgorbXNnc3RyICJGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2Cittc2dpZCAiRXh0ZW5kZWQiCittc2dzdHIgItCg0LDRgdGI0LjRgNC10L3QvdGL0LkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcKK21zZ2lkICJGQVQxNiIKK21zZ3N0ciAiRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgKK21zZ2lkICJIUEZTL05URlMvZXhGQVQiCittc2dzdHIgIkhQRlMvTlRGUy9leEZBVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OQorbXNnaWQgIkFJWCIKK21zZ3N0ciAiQUlYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMAorbXNnaWQgIkFJWCBib290YWJsZSIKK21zZ3N0ciAiQUlYINC30LDQs9GA0YPQt9C+0YfQvdGL0LkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjExCittc2dpZCAiT1MvMiBCb290IE1hbmFnZXIiCittc2dzdHIgIk9TLzIgQm9vdC3QvNC10L3QtdC00LbQtdGAIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMgorbXNnaWQgIlc5NSBGQVQzMiIKK21zZ3N0ciAiVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMworbXNnaWQgIlc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNAorbXNnaWQgIlc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNQorbXNnaWQgIlc5NSBFeHQnZCAoTEJBKSIKK21zZ3N0ciAiVzk1INGA0LDRgdGI0LjRgC4gKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE2Cittc2dpZCAiT1BVUyIKK21zZ3N0ciAiT1BVUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTcKK21zZ2lkICJIaWRkZW4gRkFUMTIiCittc2dzdHIgItCh0LrRgNGL0YLRi9C5IEZBVDEyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOAorbXNnaWQgIkNvbXBhcSBkaWFnbm9zdGljcyIKK21zZ3N0ciAiQ29tcGFxINC00LjQsNCz0L3QvtGB0YLQuNC60LAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE5Cittc2dpZCAiSGlkZGVuIEZBVDE2IDwzMk0iCittc2dzdHIgItCh0LrRgNGL0YLRi9C5IEZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIwCittc2dpZCAiSGlkZGVuIEZBVDE2IgorbXNnc3RyICLQodC60YDRi9GC0YvQuSBGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjEKK21zZ2lkICJIaWRkZW4gSFBGUy9OVEZTIgorbXNnc3RyICLQodC60YDRi9GC0YvQuSBIUEZTL05URlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIyCittc2dpZCAiQVNUIFNtYXJ0U2xlZXAiCittc2dzdHIgIkFTVCBTbWFydFNsZWVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMworbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIiCittc2dzdHIgItCh0LrRgNGL0YLRi9C5IFc5NSBGQVQzMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjQKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICLQodC60YDRi9GC0YvQuSBXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI1Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAi0KHQutGA0YvRgtGL0LkgVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNgorbXNnaWQgIk5FQyBET1MiCittc2dzdHIgIk5FQyBET1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI3Cittc2dpZCAiSGlkZGVuIE5URlMgV2luUkUiCittc2dzdHIgItCh0LrRgNGL0YLRi9C5IE5URlMgV2luUkUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI4Cittc2dpZCAiUGxhbiA5IgorbXNnc3RyICJQbGFuIDkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI5Cittc2dpZCAiUGFydGl0aW9uTWFnaWMgcmVjb3ZlcnkiCittc2dzdHIgIlBhcnRpdGlvbk1hZ2ljINCy0L7RgdGB0YLQsNC90L7QstC70LXQvdC40LUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMwCittc2dpZCAiVmVuaXggODAyODYiCittc2dzdHIgIlZlbml4IDgwMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMQorbXNnaWQgIlBQQyBQUmVQIEJvb3QiCittc2dzdHIgIlBQQyBQUmVQIEJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMyCittc2dpZCAiU0ZTIgorbXNnc3RyICJTRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMzCittc2dpZCAiUU5YNC54IgorbXNnc3RyICJRTlg0LngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM0Cittc2dpZCAiUU5YNC54IDJuZCBwYXJ0IgorbXNnc3RyICJRTlg0LnggMi3RjyDRh9Cw0YHRgtGMIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNQorbXNnaWQgIlFOWDQueCAzcmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IDMt0Y8g0YfQsNGB0YLRjCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzYKK21zZ2lkICJPblRyYWNrIERNIgorbXNnc3RyICJPblRyYWNrIERNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNworbXNnaWQgIk9uVHJhY2sgRE02IEF1eDEiCittc2dzdHIgIk9uVHJhY2sgRE02IEF1eDEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM4Cittc2dpZCAiQ1AvTSIKK21zZ3N0ciAiQ1AvTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzkKK21zZ2lkICJPblRyYWNrIERNNiBBdXgzIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MAorbXNnaWQgIk9uVHJhY2tETTYiCittc2dzdHIgIk9uVHJhY2tETTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQxCittc2dpZCAiRVotRHJpdmUiCittc2dzdHIgIkVaLURyaXZlIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MgorbXNnaWQgIkdvbGRlbiBCb3ciCittc2dzdHIgIkdvbGRlbiBCb3ciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQzCittc2dpZCAiUHJpYW0gRWRpc2siCittc2dzdHIgIlByaWFtIEVkaXNrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MQorIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTkKK21zZ2lkICJTcGVlZFN0b3IiCittc2dzdHIgIlNwZWVkU3RvciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDUKK21zZ2lkICJHTlUgSFVSRCBvciBTeXNWIgorbXNnc3RyICJHTlUgSFVSRCDQuNC70LggU3lzViIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDYKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAyODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDcKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAzODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDM4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDgKK21zZ2lkICJEaXNrU2VjdXJlIE11bHRpLUJvb3QiCittc2dzdHIgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDkKK21zZ2lkICJQQy9JWCIKK21zZ3N0ciAiUEMvSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUwCittc2dpZCAiT2xkIE1pbml4IgorbXNnc3RyICJPbGQgTWluaXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUxCittc2dpZCAiTWluaXggLyBvbGQgTGludXgiCittc2dzdHIgIk1pbml4IC8g0YHRgtCw0YDRi9C5IExpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MgorbXNnaWQgIkxpbnV4IHN3YXAgLyBTb2xhcmlzIgorbXNnc3RyICJMaW51eCDRgdCy0L7QvyAvIFNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUzCittc2dpZCAiTGludXgiCittc2dzdHIgIkxpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NAorbXNnaWQgIk9TLzIgaGlkZGVuIG9yIEludGVsIGhpYmVybmF0aW9uIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU3Cittc2dpZCAiTGludXggZXh0ZW5kZWQiCittc2dzdHIgIkxpbnV4INGA0LDRgdGI0LjRgNC10L0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU5Cittc2dpZCAiTlRGUyB2b2x1bWUgc2V0IgorbXNnc3RyICJOVEZTINC90LDQsdC+0YAg0YLQvtC80L7QsiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjAKK21zZ2lkICJMaW51eCBwbGFpbnRleHQiCittc2dzdHIgIkxpbnV4IHBsYWludGV4dCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjEgbGliZmRpc2svc3JjL2dwdC5jOjIwNSBsaWJmZGlzay9zcmMvc2dpLmM6NjMKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1NAorbXNnaWQgIkxpbnV4IExWTSIKK21zZ3N0ciAiTGludXggTFZNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MgorbXNnaWQgIkFtb2ViYSIKK21zZ3N0ciAiQW1vZWJhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MworbXNnaWQgIkFtb2ViYSBCQlQiCittc2dzdHIgIkFtb2ViYSBCQlQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY0Cittc2dpZCAiQlNEL09TIgorbXNnc3RyICJCU0QvT1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY1Cittc2dpZCAiSUJNIFRoaW5rcGFkIGhpYmVybmF0aW9uIgorbXNnc3RyICJJQk0gVGhpbmtwYWQgaGliZXJuYXRpb24iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY2Cittc2dpZCAiRnJlZUJTRCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjcKK21zZ2lkICJPcGVuQlNEIgorbXNnc3RyICJPcGVuQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OAorbXNnaWQgIk5lWFRTVEVQIgorbXNnc3RyICJOZVhUU1RFUCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjkKK21zZ2lkICJEYXJ3aW4gVUZTIgorbXNnc3RyICJEYXJ3aW4gVUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MAorbXNnaWQgIk5ldEJTRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MQorbXNnaWQgIkRhcndpbiBib290IgorbXNnc3RyICJEYXJ3aW4g0LfQsNCz0YDRg9C30L7Rh9C90YvQuSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzIKK21zZ2lkICJIRlMgLyBIRlMrIgorbXNnc3RyICJIRlMgLyBIRlMrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MworbXNnaWQgIkJTREkgZnMiCittc2dzdHIgIkJTREkg0YTRgSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzQKK21zZ2lkICJCU0RJIHN3YXAiCittc2dzdHIgIkJTREkg0YHQstC+0L8iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc1Cittc2dpZCAiQm9vdCBXaXphcmQgaGlkZGVuIgorbXNnc3RyICJCb290IFdpemFyZCDRgdC60YDRi9GC0YvQuSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzYKK21zZ2lkICJBY3JvbmlzIEZBVDMyIExCQSIKK21zZ3N0ciAiQWNyb25pcyBGQVQzMiBMQkEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc3IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzAKK21zZ2lkICJTb2xhcmlzIGJvb3QiCittc2dzdHIgIlNvbGFyaXMg0LfQsNCz0YAuIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OAorbXNnaWQgIlNvbGFyaXMiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc5Cittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTIpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xMikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgwCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgxCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgyCittc2dpZCAiU3lyaW54IgorbXNnc3RyICJTeXJpbngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgzCittc2dpZCAiTm9uLUZTIGRhdGEiCittc2dzdHIgItCU0LDQvdC90YvQtSDQvdC1INCk0KEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg0Cittc2dpZCAiQ1AvTSAvIENUT1MgLyAuLi4iCittc2dzdHIgIkNQL00gLyBDVE9TIC8gLi4uIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NgorbXNnaWQgIkRlbGwgVXRpbGl0eSIKK21zZ3N0ciAiRGVsbCBVdGlsaXR5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NworbXNnaWQgIkJvb3RJdCIKK21zZ3N0ciAiQm9vdEl0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4OAorbXNnaWQgIkRPUyBhY2Nlc3MiCittc2dzdHIgIkRPUyBhY2Nlc3MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkwCittc2dpZCAiRE9TIFIvTyIKK21zZ3N0ciAiRE9TIFIvTyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTMKKyMsIGZ1enp5Cittc2dpZCAiUnVmdXMgYWxpZ25tZW50IgorbXNnc3RyICJjb2w6INC90LXQstC10YDQvdGL0Lkg0LDRgNCz0YPQvNC10L3RgiAtbCAlcy5cbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTQKK21zZ2lkICJCZU9TIGZzIgorbXNnc3RyICJCZU9TINGE0YEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk2Cittc2dpZCAiRUZJIChGQVQtMTIvMTYvMzIpIgorbXNnc3RyICJFRkkgKEZBVC0xMi8xNi8zMikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk3Cittc2dpZCAiTGludXgvUEEtUklTQyBib290IgorbXNnc3RyICJMaW51eC9QQS1SSVNDINC30LDQs9GALiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAwCittc2dpZCAiRE9TIHNlY29uZGFyeSIKK21zZ3N0ciAiRE9TINCy0YLQvtGA0LjRh9C90YvQuSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAxCittc2dpZCAiVk13YXJlIFZNRlMiCittc2dzdHIgIlZNd2FyZSBWTUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDIKK21zZ2lkICJWTXdhcmUgVk1LQ09SRSIKK21zZ3N0ciAiVk13YXJlIFZNS0NPUkUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMyBsaWJmZGlzay9zcmMvc3VuLmM6NTUKK21zZ2lkICJMaW51eCByYWlkIGF1dG9kZXRlY3QiCittc2dzdHIgItCQ0LLRgtC+0L7Qv9GA0LXQtNC10LvQtdC90LjQtSBMaW51eCByYWlkIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDYKK21zZ2lkICJMQU5zdGVwIgorbXNnc3RyICJMQU5zdGVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDcKK21zZ2lkICJCQlQiCittc2dzdHIgIkJCVCIKKworIzogbGliL2Jsa2Rldi5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlcyBpcyBtaXNhbGlnbmVkIgorbXNnc3RyICLQn9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiAlcyDQvdC1INCy0YvRgNC+0LLQvdC10L0iCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2NzIKK21zZ2lkICJDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICLQktGL0LfRi9Cy0LDQtdGC0YHRjyBpb2N0bCgpINC00LvRjyDQv9C10YDQtdGH0LjRgtGL0LLQsNC90LjRjyDRgtCw0LHQu9C40YbRiyDRgNCw0LfQtNC10LvQvtCyLiIKKworIzogbGliZmRpc2svc3JjL2FsaWdubWVudC5jOjY4MQorbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuIgorbXNnc3RyICLQn9C10YDQtdGH0LjRgtGL0LLQsNC90LjQtSDRgtCw0LHQu9C40YbRiyDRgNCw0LfQtNC10LvQvtCyINC90LUg0YPQtNCw0LvQvtGB0YwuIgorCisjOiBsaWJmZGlzay9zcmMvYWxpZ25tZW50LmM6NjgzCittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgdGFibGUuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdCBvciBhZnRlciB5b3UgcnVuIHBhcnRwcm9iZSg4KSBvciBrcGFydHgoOCkuIgorbXNnc3RyICLQr9C00YDQviDQstGB0LUg0LXRidC1INC40YHQv9C+0LvRjNC30YPQtdGCINGB0YLQsNGA0YPRjiDRgtCw0LHQu9C40YbRgy4g0J3QvtCy0LDRjyDRgtCw0LHQu9C40YbQsCDQsdGD0LTQtdGCINC40YHQv9C+0LvRjNC30L7QstCw0L3QsCDQv9GA0Lgg0YHQu9C10LTRg9GO0YnQtdC5INC/0LXRgNC10LfQsNCz0YDRg9C30LrQtSDQuNC70Lgg0L/RgNC4INC30LDQv9GD0YHQutC1IHBhcnRwcm9iZSg4KSDQuNC70Lgga3BhcnR4KDgpLiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ3MiBsaWJmZGlzay9zcmMvYXNrLmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdGVkIHBhcnRpdGlvbiAlanUiCittc2dzdHIgItCS0YvQsdGA0LDQvdC90YvQuSDRgNCw0LfQtNC10LsgJWp1IgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDc1Cittc2dpZCAiTm8gcGFydGl0aW9uIGlzIGRlZmluZWQgeWV0ISIKK21zZ3N0ciAi0KDQsNC30LTQtdC70Ysg0LXRidC1INC90LUg0L7Qv9GA0LXQtNC10LvQtdC90YshIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDg3Cittc2dpZCAiTm8gZnJlZSBwYXJ0aXRpb24gYXZhaWxhYmxlISIKK21zZ3N0ciAi0J3QtdGCINGB0LLQvtCx0L7QtNC90YvRhSDQtNC+0YHRgtGD0L/QvdGL0YUg0YDQsNC30LTQtdC70L7QsiEiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0OTcKK21zZ2lkICJQYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICLQndC+0LzQtdGAINGA0LDQt9C00LXQu9CwIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6OTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgcGFydGl0aW9uICVkIG9mIHR5cGUgJyVzJyBhbmQgb2Ygc2l6ZSAlcy4iCittc2dzdHIgItCh0L7Qt9C00LDQvSDQvdC+0LLRi9C5INGA0LDQt9C00LXQuyAlZCDRgSDRgtC40L/QvtC8ICclcycg0Lgg0YDQsNC30LzQtdGA0L7QvCAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICLQoNCw0LfQtNC10LsgJXpkINGB0L7QtNC10YDQttC40YIg0L3QtdCy0LXRgNC90YvQuSDQvdCw0YfQsNC70YzQvdGL0Lkg0L3Rg9C70LXQstC+0Lkg0YHQtdC60YLQvtGALiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE4MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGVyZSBpcyBubyAqQlNEIHBhcnRpdGlvbiBvbiAlcy4iCittc2dzdHIgItCd0LAgJXMg0L3QtdGCINGA0LDQt9C00LXQu9C+0LIgKkJTRC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTkgbGliZmRpc2svc3JjL2Rvcy5jOjkzMworbXNnaWQgIkZpcnN0IGN5bGluZGVyIgorbXNnc3RyICLQn9C10YDQstGL0Lkg0YbQuNC70LjQvdC00YAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTIgbGliZmRpc2svc3JjL2Rvcy5jOjExNjEKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgItCf0L7RgdC70LXQtNC90LjQuSDRhtC40LvQuNC90LTRgCArINGH0LjRgdC70L4g0YbQuNC70LjQvdC00YDQvtCyINC40LvQuCArINGA0LDQt9C80LXRgHtLLE0sRyxULFB9IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6Mjk3IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTY2IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjU1Cittc2dpZCAiTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgItCf0L7RgdC70LXQtNC90LjQuSDRgdC10LrRgtC+0YAgKyDRh9C40YHQu9C+INGB0LXQutGC0L7RgNC+0LIg0LjQu9C4ICsg0YDQsNC30LzQtdGAe0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRldmljZSAlcyBkb2VzIG5vdCBjb250YWluIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICLQo9GB0YLRgNC+0LnRgdGC0LLQviAlcyDQvdC1INGB0L7QtNC10YDQttC40YIg0LzQtdGC0LrQuCDQtNC40YHQutCwIEJTRC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODMKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBjcmVhdGUgYSBCU0QgZGlza2xhYmVsPyIKK21zZ3N0ciAi0KXQvtGC0LjRgtC1INGB0L7Qt9C00LDRgtGMINC80LXRgtC60YMg0LTQuNGB0LrQsCBCU0Q/IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDQ5Cittc2dpZCAiRGlzayIKK21zZ3N0ciAi0JTQuNGB0LoiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NTYKK21zZ2lkICJQYWNrbmFtZSIKK21zZ3N0ciAi0JjQvNGPINC/0LDQutC10YLQsCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MyBsaWJmZGlzay9zcmMvc3VuLmM6MTExNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICLQpNC70LDQs9C4IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY2Cittc2dpZCAiIHJlbW92YWJsZSIKK21zZ3N0ciAiINGB0YrQtdC80L3Ri9C5IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY3Cittc2dpZCAiIGVjYyIKK21zZ3N0ciAiINC60L7RgNGA0LXQutGG0LjRjyDQvtGI0LjQsdC+0LoiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjgKK21zZ2lkICIgYmFkc2VjdCIKK21zZ3N0ciAiIGJhZC3RgdC10LrRgtC+0YAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NzYKK21zZ2lkICJCeXRlcy9TZWN0b3IiCittc2dzdHIgItCR0LDQudGCL9Ch0LXQutGC0L7RgCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4MQorbXNnaWQgIlRyYWNrcy9DeWxpbmRlciIKK21zZ3N0ciAi0JTQvtGA0L7QttC60Lgv0KbQuNC70LjQvdC00YAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODYKK21zZ2lkICJTZWN0b3JzL0N5bGluZGVyIgorbXNnc3RyICLQodC10LrRgtC+0YDRiy/QptC40LvQuNC90LTRgCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5MSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOCBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMworIzogbGliZmRpc2svc3JjL3NnaS5jOjExNTcgbGliZmRpc2svc3JjL3N1bi5jOjE5NiBsaWJmZGlzay9zcmMvc3VuLmM6MTExMworbXNnaWQgIkN5bGluZGVycyIKK21zZ3N0ciAi0KbQuNC70LjQvdC00YDRiyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5NiBsaWJmZGlzay9zcmMvc3VuLmM6NzYwCittc2dpZCAiUnBtIgorbXNnc3RyICLQntCxL9C80LjQvSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMSBsaWJmZGlzay9zcmMvc2dpLmM6MjkyIGxpYmZkaXNrL3NyYy9zdW4uYzo3ODAKK21zZ2lkICJJbnRlcmxlYXZlIgorbXNnc3RyICLQp9C10YDQtdC00L7QstCw0L3QuNC1IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTA2Cittc2dpZCAiVHJhY2tza2V3IgorbXNnc3RyICLQn9C10YDQtdC60L7RgSDQtNC+0YDQvtC20LrQuCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxMQorbXNnaWQgIkN5bGluZGVyc2tldyIKK21zZ3N0ciAi0J/QtdGA0LXQutC+0YEg0YbQuNC70LjQvdC00YDQsCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxNgorbXNnaWQgIkhlYWRzd2l0Y2giCittc2dzdHIgItCf0LXRgNC10LrQu9GO0YfQtdC90LjQtSDQs9C+0LvQvtCy0LrQuCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUyMQorbXNnaWQgIlRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgItCf0L7QuNGB0Log0LTQvtGA0L7QttC60LgiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTEKK21zZ2lkICJieXRlcy9zZWN0b3IiCittc2dzdHIgItCx0LDQudGCL9GB0LXQutGC0L7RgCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNAorbXNnaWQgInNlY3RvcnMvdHJhY2siCittc2dzdHIgItGB0LXQutGC0L7RgNGLL9C00L7RgNC+0LbQutCwIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE1Cittc2dpZCAidHJhY2tzL2N5bGluZGVyIgorbXNnc3RyICLQtNC+0YDQvtC20LrQuC/RhtC40LvQuNC90LTRgCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNgorbXNnaWQgImN5bGluZGVycyIKK21zZ3N0ciAi0YbQuNC70LjQvdC00YDRiyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMAorbXNnaWQgInNlY3RvcnMvY3lsaW5kZXIiCittc2dzdHIgItGB0LXQutGC0L7RgNGLL9GG0LjQu9C40L3QtNGAIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIzCittc2dpZCAicnBtIgorbXNnc3RyICLQvtCxL9C80LjQvSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNAorbXNnaWQgImludGVybGVhdmUiCittc2dzdHIgItGH0LXRgNC10LTQvtCy0LDQvdC40LUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjUKK21zZ2lkICJ0cmFja3NrZXciCittc2dzdHIgItC/0LXRgNC10LrQvtGBINC00L7RgNC+0LbQutC4IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI2Cittc2dpZCAiY3lsaW5kZXJza2V3IgorbXNnc3RyICLQv9C10YDQtdC60L7RgSDRhtC40LvQuNC90LTRgNCwIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI4Cittc2dpZCAiaGVhZHN3aXRjaCIKK21zZ3N0ciAi0L/QtdGA0LXQutC70Y7Rh9C10L3QuNC1INCz0L7Qu9C+0LLQutC4IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI5Cittc2dpZCAidHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAi0L/QvtC40YHQuiDQtNC+0YDQvtC20LrQuCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdHN0cmFwIGZpbGUgJXMgc3VjY2Vzc2Z1bGx5IGxvYWRlZC4iCittc2dzdHIgItCk0LDQudC7INC90LDRh9Cw0LvRjNC90L7QuSDQt9Cw0LPRgNGD0LfQutC4ICVzINGD0YHQv9C10YjQvdC+INC30LDQs9GA0YPQttC10L0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwOiAlMSRzYm9vdCAtPiBib290JTEkcyAoZGVmYXVsdCAlMSRzKSIKK21zZ3N0ciAi0JfQsNCz0YDRg9C30YfQuNC6OiAlMSRzYm9vdCAtPiBib290JTEkcyAo0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4gJTEkcykiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MDQKK21zZ2lkICJCb290c3RyYXAgb3ZlcmxhcHMgd2l0aCBkaXNrbGFiZWwhIgorbXNnc3RyICLQl9Cw0LPRgNGD0LfRh9C40Log0L/QtdGA0LXQutGA0YvQstCw0LXRgtGB0Y8g0YEg0LzQtdGC0LrQvtC5INC00LjRgdC60LAhIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcCBpbnN0YWxsZWQgb24gJXMuIgorbXNnc3RyICLQl9Cw0LPRgNGD0LfRh9C40Log0YPRgdGC0LDQvdC+0LLQu9C10L0g0L3QsCAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuICAoRG9uJ3QgZm9yZ2V0IHRvIHdyaXRlIHRoZSAlcyBkaXNrbGFiZWwgdG9vLikiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwMworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4iCittc2dzdHIgItCc0LXRgtC60LAg0LTQuNGB0LrQsCDQt9Cw0L/QuNGB0LDQvdCwICVzLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwOSBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY2NgorbXNnaWQgIlN5bmNpbmcgZGlza3MuIgorbXNnc3RyICLQodC40L3RhdGA0L7QvdC40LfQuNGA0YPRjtGC0YHRjyDQtNC40YHQutC4LiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk1MAorbXNnaWQgIkJTRCBsYWJlbCBpcyBub3QgbmVzdGVkIHdpdGhpbiBhIERPUyBwYXJ0aXRpb24uIgorbXNnc3RyICLQnNC10YLQutCwIEJTRCDQvdC1INC90LDRhdC+0LTQuNGC0YHRjyDQsiBET1Mt0YDQsNC30LTQtdC70LUuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTc4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJTRCBwYXJ0aXRpb24gJyVjJyBsaW5rZWQgdG8gRE9TIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICLQoNCw0LfQtNC10LsgQlNEICclYycg0YHQstGP0LfQsNC9INGBINGA0LDQt9C00LXQu9C+0LwgRE9TICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE0Cittc2dpZCAiU2xpY2UiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjEKK21zZ2lkICJGc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMgorbXNnaWQgIkJzaXplIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIzCittc2dpZCAiQ3BnIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zZSBkZXZpY2UgZmFpbGVkIgorbXNnc3RyICIlczog0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0LrRgNGL0YLRjCDRg9GB0YLRgNC+0LnRgdGC0LLQviIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4MjcKK21zZ2lkICJjeWxpbmRlciIKK21zZ2lkX3BsdXJhbCAiY3lsaW5kZXJzIgorbXNnc3RyWzBdICLRhtC40LvQuNC90LTRgCIKK21zZ3N0clsxXSAi0YbQuNC70LjQvdC00YDQsCIKK21zZ3N0clsyXSAi0YbQuNC70LjQvdC00YDQvtCyIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjgyOAorbXNnaWQgInNlY3RvciIKK21zZ2lkX3BsdXJhbCAic2VjdG9ycyIKK21zZ3N0clswXSAi0YHQtdC60YLQvtGAIgorbXNnc3RyWzFdICLRgdC10LrRgtC+0YDQsCIKK21zZ3N0clsyXSAi0YHQtdC60YLQvtGA0L7QsiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMTMxCittc2dpZCAiSW5jb21wbGV0ZSBnZW9tZXRyeSBzZXR0aW5nLiIKK21zZ3N0ciAi0J3QtdC/0L7Qu9C90YvQtSDQv9Cw0YDQsNC80LXRgtGA0Ysg0LPQtdC+0LzQtdGC0YDQuNC4LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxNAorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgaGF2ZSBiZWVuIGRlZmluZWQgYWxyZWFkeS4iCittc2dzdHIgItCS0YHQtSDQvtGB0L3QvtCy0L3Ri9C1INGA0LDQt9C00LXQu9GLINGD0LbQtSDQsdGL0LvQuCDQvtC/0YDQtdC00LXQu9C10L3Riy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZXh0ZW5kZWQgcGFydGl0aW9uIHRhYmxlIChvZmZzZXQ9JWp1KSIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0YDQsNGB0YjQuNGA0LXQvdC90YPRjiDRgtCw0LHQu9C40YbRgyDRgNCw0LfQtNC10LvQvtCyICjRgdC80LXRidC10L3QuNC1PSVqdSkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMjgKK21zZ2lkICJZb3UgY2FuIHNldCBnZW9tZXRyeSBmcm9tIHRoZSBleHRyYSBmdW5jdGlvbnMgbWVudS4iCittc2dzdHIgItCS0Ysg0LzQvtC20LXRgtC1INC90LDRgdGC0YDQvtC40YLRjCDQs9C10L7QvNC10YLRgNC40Y4g0LIg0LzQtdC90Y4g0YDQsNGB0YjQuNGA0LXQvdC90YvRhSDRhNGD0L3QutGG0LjQuS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMzEKK21zZ2lkICJET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIgorbXNnc3RyICJET1Mt0YHQvtCy0LzQtdGB0YLQuNC80YvQuSDRgNC10LbQuNC8INGD0YHRgtCw0YDQtdC7LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjMzNQorbXNnaWQgIlRoZSBkZXZpY2UgcHJlc2VudHMgYSBsb2dpY2FsIHNlY3RvciBzaXplIHRoYXQgaXMgc21hbGxlciB0aGFuIHRoZSBwaHlzaWNhbCBzZWN0b3Igc2l6ZS4gQWxpZ25pbmcgdG8gYSBwaHlzaWNhbCBzZWN0b3IgKG9yIG9wdGltYWwgSS9PKSBzaXplIGJvdW5kYXJ5IGlzIHJlY29tbWVuZGVkLCBvciBwZXJmb3JtYW5jZSBtYXkgYmUgaW1wYWN0ZWQuIgorbXNnc3RyICLQoNCw0LfQvNC10YAg0LvQvtCz0LjRh9C10YHQutC+0LPQviDRgdC10LrRgtC+0YDQsCDRg9GB0YLRgNC+0LnRgdGC0LLQsCDQvNC10L3RjNGI0LUg0YDQsNC30LzQtdGA0LAg0YTQuNC30LjRh9C10YHQutC+0LPQviDRgdC10LrRgtC+0YDQsC4g0KDQtdC60L7QvNC10L3QtNGD0LXRgtGB0Y8g0LLRi9GA0LDQstC90LjQstCw0L3QuNC1INC/0L4g0LPRgNCw0L3QuNGG0LUg0YTQuNC30LjRh9C10YHQutC+0LPQviDRgdC10LrRgtC+0YDQsCAo0LjQu9C4INC+0L/RgtC40LzQsNC70YzQvdC+0LzRgyBJL08pLCDQuNC90LDRh9C1INC80L7QttC10YIg0YHQvdC40LfQuNGC0YzRgdGPINC/0L7Qu9C40LfQstC+0LTQuNGC0LXQu9GM0L3QvtGB0YLRjC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDEKK21zZ2lkICJDeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4iCittc2dzdHIgItCm0LjQu9C40L3QtNGA0Ysg0LrQsNC6INC10LTQuNC90LjRhtGLINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0LTQsNC90L3Ri9GFINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDRjtGC0YHRjy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHNpemUgb2YgdGhpcyBkaXNrIGlzICVzICglanUgYnl0ZXMpLiBET1MgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCBjYW4gbm90IGJlIHVzZWQgb24gZHJpdmVzIGZvciB2b2x1bWVzIGxhcmdlciB0aGFuICVsdSBieXRlcyBmb3IgJWx1LWJ5dGUgc2VjdG9ycy4gVXNlIEdVSUQgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCAoR1BUKS4iCittc2dzdHIgItCg0LDQt9C80LXRgCDRjdGC0L7Qs9C+INC00LjRgdC60LAgLSAlcyAoJWp1INCx0LDQudGCKS4g0KLQsNCx0LvQuNGG0LAg0YDQsNC30LTQtdC70L7QsiBET1Mg0L3QtSDQvNC+0LbQtdGCINCx0YvRgtGMINC40YHQv9C+0LvRjNC30L7QstCw0L3QsCDQvdCwINGD0YHRgtGA0L7QudGB0YLQstCw0YUg0LTQu9GPINGC0L7QvNC+0LIg0LHQvtC70YzRiNC1ICVsdSDQsdCw0LnRgiDQtNC70Y8g0YHQtdC60YLQvtGA0L7QsiDRgNCw0LfQvNC10YDQvtC8ICVsdSDQsdCw0LnRgi4g0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSDRgtCw0LHQu9C40YbRgyDRgNCw0LfQtNC10LvQvtCyIEdVSUQgKEdQVCkuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTAzCittc2dpZCAiQmFkIG9mZnNldCBpbiBwcmltYXJ5IGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgItCd0LXQstC10YDQvdC+0LUg0YHQvNC10YnQtdC90LjQtSDQsiDQvtGB0L3QvtCy0L3QvtC8INGA0LDRgdGI0LjRgNC10L3QvdC+0Lwg0YDQsNC30LTQtdC70LUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIk9taXR0aW5nIHBhcnRpdGlvbnMgYWZ0ZXIgIyV6dS4gVGhleSB3aWxsIGJlIGRlbGV0ZWQgaWYgeW91IHNhdmUgdGhpcyBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICLQn9GA0L7Qv9GD0YHQutCw0Y7RgtGB0Y8g0YDQsNC30LTQtdC70Ysg0L/QvtGB0LvQtSAjJXp1LiDQntC90Lgg0LHRg9C00YPRgiDRg9C00LDQu9C10L3Riywg0LXRgdC70Lgg0LLRiyDRgdC+0YXRgNCw0L3QuNGC0LUg0Y3RgtGDINGC0LDQsdC70LjRhtGDINGA0LDQt9C00LXQu9C+0LIuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4dHJhIGxpbmsgcG9pbnRlciBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAi0KPQutCw0LfQsNGC0LXQu9GMINC90LAg0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YPRjiDRgdGB0YvQu9C60YMg0LIg0YLQsNCx0LvQuNGG0LUg0YDQsNC30LTQtdC70L7QsiAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGRhdGEgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgItCY0LPQvdC+0YDQuNGA0YPRjtGC0YHRjyDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3Ri9C1INC00LDQvdC90YvQtSDQsiDRgtCw0LHQu9C40YbQtSDRgNCw0LfQtNC10LvQvtCyICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAib21pdHRpbmcgZW1wdHkgcGFydGl0aW9uICglenUpIgorbXNnc3RyICLQmNCz0L3QvtGA0LjRgNGD0LXRgtGB0Y8g0L/Rg9GB0YLQvtC5INGA0LDQt9C00LXQuyAoJXp1KSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY2NAorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IERPUyBkaXNrbGFiZWwgd2l0aCBkaXNrIGlkZW50aWZpZXIgMHglMDh4LiIKK21zZ3N0ciAi0KHQvtC30LTQsNC90LAg0L3QvtCy0LDRjyDQvNC10YLQutCwIERPUyDRgSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNC+0LwgMHglMDh4LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY4NQorbXNnaWQgIkVudGVyIHRoZSBuZXcgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICLQktCy0LXQtNC40YLQtSDQvdC+0LLRi9C5INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC00LjRgdC60LAiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2OTIKK21zZ2lkICJJbmNvcnJlY3QgdmFsdWUuIgorbXNnc3RyICLQndC10LLQtdGA0L3QvtC1INC30L3QsNGH0LXQvdC40LUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gMHglMDh4IHRvIDB4JTA4eC4iCittc2dzdHIgItCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC00LjRgdC60LAg0LjQt9C80LXQvdC10L0g0YEgMHglMDh4INC90LAgMHglMDh4LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjc5MworIywgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBleHRlbmRlZCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICLQmNCz0L3QvtGA0LjRgNGD0LXRgtGB0Y8g0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvQuSDRgNCw0YHRiNC40YDQtdC90L3Ri9C5INGA0LDQt9C00LXQuyAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBmbGFnIDB4JTAyeCUwMnggb2YgRUJSIChmb3IgcGFydGl0aW9uICV6dSkgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgItCd0LXQstC10YDQvdGL0Lkg0YTQu9Cw0LMgMHglMDJ4JTAyeCDRgNCw0YHRiNC40YDQtdC90L3QvtC5INC30LDQs9GA0YPQt9C+0YfQvdC+0Lkg0LfQsNC/0LjRgdC4ICjQtNC70Y8g0YDQsNC30LTQtdC70LAgJXp1KSDQsdGD0LTQtdGCINC40YHQv9GA0LDQstC70LXQvSDQt9Cw0L/QuNGB0YzRji4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo5MjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN0YXJ0IHNlY3RvciAlanUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAi0JfQvdCw0YfQtdC90LjQtSDQt9CwINC/0YDQtdC00LXQu9Cw0LzQuCDQtNC40LDQv9Cw0LfQvtC90LAuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMDI2IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTM2IGxpYmZkaXNrL3NyYy9zZ2kuYzo4MzkKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCittc2dzdHIgItCg0LDQt9C00LXQuyAlenUg0YPQttC1INC+0L/RgNC10LTQtdC70LXQvS4gINCj0LTQsNC70LjRgtC1INC10LPQviDQv9C10YDQtdC0INGC0LXQvCwg0LrQsNC6INGB0L3QvtCy0LAg0LTQvtCx0LDQstC40YLRjCDQtdCz0L4uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTA5NgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWxsdSBpcyBhbHJlYWR5IGFsbG9jYXRlZC4iCittc2dzdHIgItCh0LXQutGC0L7RgCAlbGx1INGD0LbQtSDQstGL0LTQtdC70LXQvSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjExMzMgbGliZmRpc2svc3JjL2dwdC5jOjIxNDYKK21zZ2lkICJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlLiIKK21zZ3N0ciAi0J7RgtGB0YPRgtGB0YLQstGD0Y7RgiDQtNC+0YHRgtGD0L/QvdGL0LUg0YHQstC+0LHQvtC00L3Ri9C1INGB0LXQutGC0L7RgNGLLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWRkaW5nIGxvZ2ljYWwgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAi0JTQvtCx0LDQstC70LXQvdC40LUg0LvQvtCz0LjRh9C10YHQutC+0LPQviDRgNCw0LfQtNC10LvQsCAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGNvbnRhaW5zIHNlY3RvciAwIgorbXNnc3RyICLQoNCw0LfQtNC10LsgJXp1OiDRgdC+0LTQtdGA0LbQuNGCINC90YPQu9C10LLQvtC5INGB0LXQutGC0L7RgCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaGVhZCAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlZCIKK21zZ3N0ciAi0KDQsNC30LTQtdC7ICV6dTog0LPQvtC70L7QstC60LAgJWQg0LHQvtC70YzRiNC1LCDRh9C10Lwg0LzQsNC60YHQuNC80YPQvCAlZCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogc2VjdG9yICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgItCg0LDQt9C00LXQuyAlenU6INGB0LXQutGC0L7RgCAlZCDQsdC+0LvRjNGI0LUsINGH0LXQvCDQvNCw0LrRgdC40LzRg9C8ICVsbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGN5bGluZGVyICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgItCg0LDQt9C00LXQuyAlenU6INGG0LjQu9C40L3QtNGAICVkINCx0L7Qu9GM0YjQtSwg0YfQtdC8INC80LDQutGB0LjQvNGD0LwgJWxsdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogcHJldmlvdXMgc2VjdG9ycyAldSBkaXNhZ3JlZXMgd2l0aCB0b3RhbCAldSIKK21zZ3N0ciAi0KDQsNC30LTQtdC7ICV6dTog0L/RgNC10LTRi9C00YPRidC40LUg0YHQtdC60YLQvtGA0YsgJXUg0L/RgNC+0YLQuNCy0L7RgNC10YfQsNGCINGB0YPQvNC80LDRgNC90L7QvNGDINC30L3QsNGH0LXQvdC40Y4gJXUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGJlZ2lubmluZ3MgKG5vbi1MaW51eD8pOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgItCg0LDQt9C00LXQuyAlenU6INGA0LDQt9C70LjRh9C90YvQtSDRhNC40LfQuNGH0LXRgdC60LjQtS/Qu9C+0LPQuNGH0LXRgdC60LjQtSDQvdCw0YfQsNC70LAgKNC90LUtTGludXg/KTog0YTQuNC30LjRhz0oJWQsICVkLCAlZCksINC70L7Qs9C40Yc9KCVkLCAlZCwgJWQpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM5NAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBlbmRpbmdzOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgItCg0LDQt9C00LXQuyAlenU6INGA0LDQt9C70LjRh9C90YvQtSDRhNC40LfQuNGH0LXRgdC60LjQtS/Qu9C+0LPQuNGH0LXRgdC60LjQtSDQvtC60L7QvdGH0LDQvdC40Y8gKNC90LUtTGludXg/KTog0YTQuNC30LjRhz0oJWQsICVkLCAlZCksINC70L7Qs9C40Yc9KCVkLCAlZCwgJWQpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQwMworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICLQoNCw0LfQtNC10LsgJXp1INC90LUg0LfQsNC60LDQvdGH0LjQstCw0LXRgtGB0Y8g0L3QsCDQs9GA0LDQvdC40YbQtSDRhtC40LvQuNC90LTRgNCwLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogYmFkIHN0YXJ0LW9mLWRhdGEuIgorbXNnc3RyICLQoNCw0LfQtNC10LsgJXp1OiDQvdC10LLQtdGA0L3QvtC1INC90LDRh9Cw0LvQviDQtNCw0L3QvdGL0YUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ0MgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBvdmVybGFwcyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAi0KDQsNC30LTQtdC7ICV6dTog0L/QtdGA0LXQutGA0YvQstCw0LXRgiDRgNCw0LfQtNC10LsgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZW1wdHkuIgorbXNnc3RyICLQoNCw0LfQtNC10LsgJXp1OiDQv9GD0YHRgi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDczCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2ljYWwgcGFydGl0aW9uICV6dTogbm90IGVudGlyZWx5IGluIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICLQm9C+0LPQuNGH0LXRgdC60LjQuSDRgNCw0LfQtNC10LsgJXp1OiDQvdC1INC90LDRhdC+0LTQuNGC0YHRjyDRhtC10LvQuNC60L7QvCDQsiDRgNCw0LfQtNC10LvQtSAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICJUb3RhbCBhbGxvY2F0ZWQgc2VjdG9ycyAlbGx1IGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSAlbGx1LiIKK21zZ3N0ciAi0KHRg9C80LzQsNGA0L3QvtC1INC60L7Qu9C40YfQtdGB0YLQstC+INCy0YvQtNC10LvQtdC90L3Ri9GFINGB0LXQutGC0L7RgNC+0LIgJWxsdSDQsdC+0LvRjNGI0LUsINGH0LXQvCDQvNCw0LrRgdC40LzRg9C8ICVsbHUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJSZW1haW5pbmcgJWxsZCB1bmFsbG9jYXRlZCAlbGQtYnl0ZSBzZWN0b3JzLiIKK21zZ3N0ciAi0J7RgdGC0LDQu9C+0YHRjCAlbGxkINC90LXQt9Cw0L3Rj9GC0YvRhSAlbGQt0LHQsNC50YLQvtCy0YvRhSDRgdC10LrRgtC+0YDQvtCyLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1MzIgbGliZmRpc2svc3JjL2Rvcy5jOjE5NTQKK21zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gYWxyZWFkeSBleGlzdHMuIgorbXNnc3RyICLQoNCw0YHRiNC40YDQtdC90L3Ri9C5INGA0LDQt9C00LXQuyDRg9C20LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU3NQorbXNnaWQgIlRoZSBtYXhpbXVtIG51bWJlciBvZiBwYXJ0aXRpb25zIGhhcyBiZWVuIGNyZWF0ZWQuIgorbXNnc3RyICLQkdGL0LvQviDRgdC+0LfQtNCw0L3QviDQvNCw0LrRgdC40LzQsNC70YzQvdC+INCy0L7Qt9C80L7QttC90L7QtSDQutC+0LvQuNGH0LXRgdGC0LLQviDRgNCw0LfQtNC10LvQvtCyLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1ODcKK21zZ2lkICJBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIgorbXNnc3RyICLQl9Cw0LTQtdC50YHRgtCy0L7QstCw0L3RiyDQstGB0LUg0L7RgdC90L7QstC90YvQtSDRgNCw0LfQtNC10LvRiy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTg5IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjAwCittc2dpZCAiQWxsIHNwYWNlIGZvciBwcmltYXJ5IHBhcnRpdGlvbnMgaXMgaW4gdXNlLiIKK21zZ3N0ciAi0JLRgdC1INC/0YDQvtGB0YLRgNCw0L3RgdGC0LLQviDQtNC70Y8g0LvQvtCz0LjRh9C10YHQutC40YUg0YDQsNC30LTQtdC70L7QsiDQt9Cw0LTQtdC50YHRgtCy0L7QstCw0L3Qvi4iCisKKyMuIFRSQU5TTEFUT1JTOiBUcnkgdG8ga2VlcCB0aGlzIHdpdGhpbiA4MCBjaGFyYWN0ZXJzLgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDMKK21zZ2lkICJUbyBjcmVhdGUgbW9yZSBwYXJ0aXRpb25zLCBmaXJzdCByZXBsYWNlIGEgcHJpbWFyeSB3aXRoIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgItCn0YLQvtCx0Ysg0YHQvtC30LTQsNGC0Ywg0LHQvtC70YzRiNC1INGA0LDQt9C00LXQu9C+0LIsINGB0L3QsNGH0LDQu9CwINC/0L7QvNC10L3Rj9C50YLQtSDQvtGB0L3QvtCy0L3QvtC5INGA0LDQt9C00LXQuyDQvdCwINGA0LDRgdGI0LjRgNC10L3QvdGL0LkuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYwOAorbXNnaWQgIkFsbCBsb2dpY2FsIHBhcnRpdGlvbnMgYXJlIGluIHVzZS4gQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb24uIgorbXNnc3RyICLQl9Cw0LTQtdC50YHRgtCy0L7QstCw0L3RiyDQstGB0LUg0LvQvtCz0LjRh9C10YHQutC40LUg0YDQsNC30LTQtdC70YsuINCU0L7QsdCw0LLQu9C10L3QuNC1INC+0YHQvdC+0LLQvdC+0LPQviDRgNCw0LfQtNC10LvQsC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjMwCittc2dpZCAiUGFydGl0aW9uIHR5cGUiCittc2dzdHIgItCi0LjQvyDRgNCw0LfQtNC10LvQsCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXp1IHByaW1hcnksICVkIGV4dGVuZGVkLCAlenUgZnJlZSIKK21zZ3N0ciAiJXp1INC/0LXRgNCy0LjRh9C90YvQuSwgJWQg0YDQsNGB0YjQuNGA0LXQvdGL0LksICV6dSDRgdCy0L7QsdC+0LTQvdC+IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzOQorbXNnaWQgInByaW1hcnkiCittc2dzdHIgItC+0YHQvdC+0LLQvdC+0LkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQxCittc2dpZCAiZXh0ZW5kZWQiCittc2dzdHIgItGA0LDRgdGI0LjRgNC10L3QvdGL0LkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQxCittc2dpZCAiY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMiCittc2dzdHIgItC60L7QvdGC0LXQudC90LXRgCDQtNC70Y8g0LvQvtCz0LjRh9C10YHQutC40YUg0YDQsNC30LTQtdC70L7QsiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDMKK21zZ2lkICJsb2dpY2FsIgorbXNnc3RyICLQu9C+0LPQuNGH0LXRgdC60LjQuSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDMKK21zZ2lkICJudW1iZXJlZCBmcm9tIDUiCittc2dzdHIgItGH0LjRgdC70L4g0L7RgiA1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY4MQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiB0eXBlIGAlYycuIgorbXNnc3RyICLQndC10LLQtdGA0L3Ri9C5INGC0LjQvyDRgNCw0LfQtNC10LvQsCBgJWMnLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlIHNlY3RvciAlamQ6IHNlZWsgZmFpbGVkIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQt9Cw0L/QuNGB0LDRgtGMINGB0LXQutGC0L7RgCAlamQ6INC/0L7QuNGB0Log0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE4NTIgbGliZmRpc2svc3JjL2dwdC5jOjEwOTYKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIiCittc2dzdHIgItCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC00LjRgdC60LAiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU5Cittc2dpZCAiVHlwZSAwIG1lYW5zIGZyZWUgc3BhY2UgdG8gbWFueSBzeXN0ZW1zLiBIYXZpbmcgcGFydGl0aW9ucyBvZiB0eXBlIDAgaXMgcHJvYmFibHkgdW53aXNlLiIKK21zZ3N0ciAi0KLQuNC/IDAg0L7Qt9C90LDRh9Cw0LXRgiDRgdCy0L7QsdC+0LTQvdC+0LUg0L/RgNC+0YHRgtGA0LDQvdGB0YLQstC+INC00LvRjyDQvNC90L7Qs9C40YUg0YHQuNGB0YLQtdC8LiDQndCw0LvQuNGH0LjQtSDRgNCw0LfQtNC10LvQvtCyINGC0LjQv9CwIDAg0LLQtdGA0L7Rj9GC0L3Qviwg0L3QtdGA0LDQt9GD0LzQvdC+LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE5NjQKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGNoYW5nZSB0eXBlIG9mIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24gd2hpY2ggaXMgYWxyZWFkeSB1c2VkIGJ5IGxvZ2ljYWwgcGFydGl0aW9ucy4gRGVsZXRlIGxvZ2ljYWwgcGFydGl0aW9ucyBmaXJzdC4iCittc2dzdHIgItCd0LUg0YPQtNCw0LXRgtGB0Y8g0LjQt9C80LXQvdC40YLRjCDRgtC40L8g0YDQsNGB0YjQuNGA0LXQvdC90L7Qs9C+INGA0LDQt9C00LXQu9CwLCDQsiDQutC+0YLQvtGA0L7QvCDRg9C20LUg0LXRgdGC0Ywg0LvQvtCz0LjRh9C10YHQutC40LUg0YDQsNC30LTQtdC70YsuINCh0L3QsNGH0LDQu9CwINGD0LTQsNC70LjRgtC1INC40YUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE0MyBsaWJmZGlzay9zcmMvZ3B0LmM6MjgyMQorIywgZnV6enkKK21zZ2lkICJOb3RoaW5nIHRvIGRvLiBPcmRlcmluZyBpcyBjb3JyZWN0IGFscmVhZHkuIgorbXNnc3RyICLQndC10YfQtdCz0L4g0LLRi9C/0L7Qu9C90Y/RgtGMLiDQntGH0LXRgNC10LTQvdC+0YHRgtGMINGD0LbQtSDQv9GA0LDQstC40LvRjNC90LDRjy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG5vIGRhdGEgYXJlYS4iCittc2dzdHIgItCg0LDQt9C00LXQuyAlenU6INC90LXRgiDQvtCx0LvQsNGB0YLQuCDRgSDQtNCw0L3QvdGL0LzQuC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjIyCittc2dpZCAiTmV3IGJlZ2lubmluZyBvZiBkYXRhIgorbXNnc3RyICLQndC+0LLQvtC1INC90LDRh9Cw0LvQviDQtNCw0L3QvdGL0YUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGlzIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgItCg0LDQt9C00LXQuyAlenU6INGP0LLQu9GP0LXRgtGB0Y8g0YDQsNGB0YjQuNGA0LXQvdC90YvQvCDRgNCw0LfQtNC10LvQvtC8LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgItCk0LvQsNCzINC30LDQs9GA0YPQt9C60Lgg0YDQsNC30LTQtdC70LAgJXp1INCy0LrQu9GO0YfQtdC9LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICLQpNC70LDQsyDQt9Cw0LPRgNGD0LfQutC4INGA0LDQt9C00LXQu9CwICV6dSDQstGL0LrQu9GO0YfQtdC9LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyOTggbGliZmRpc2svc3JjL2dwdC5jOjI5MTEgbGliZmRpc2svc3JjL3NnaS5jOjExNTMKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTA5Cittc2dpZCAiRGV2aWNlIgorbXNnc3RyICLQo9GB0YLRgC3QstC+IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI5OSBsaWJmZGlzay9zcmMvc3VuLmM6NDEKK21zZ2lkICJCb290IgorbXNnc3RyICLQl9Cw0LPRgNGD0LfQvtGH0L3Ri9C5IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1OSBsaWJmZGlzay9zcmMvc3VuLmM6MTExNQorbXNnaWQgIklkIgorbXNnc3RyICLQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDkKK21zZ2lkICJTdGFydC1DL0gvUyIKK21zZ3N0ciAi0J3QsNGH0LDQu9C+LUMvSC9TIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMxMAorbXNnaWQgIkVuZC1DL0gvUyIKK21zZ3N0ciAi0JrQvtC90LXRhi1DL0gvUyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTEgbGliZmRpc2svc3JjL2dwdC5jOjI5MjEgbGliZmRpc2svc3JjL3NnaS5jOjExNjEKK21zZ2lkICJBdHRycyIKK21zZ3N0ciAi0JDRgtGA0LjQsdGD0YLRiyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MAorbXNnaWQgIkVGSSBTeXN0ZW0iCittc2dzdHIgIkVGSSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MgorIywgZnV6enkKK21zZ2lkICJNQlIgcGFydGl0aW9uIHNjaGVtZSIKK21zZ3N0ciAi0KDQsNC30LTQtdC70Ysg0L3QtSDQvtC/0YDQtdC00LXQu9C10L3Ri1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzCittc2dpZCAiSW50ZWwgRmFzdCBGbGFzaCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY2Cittc2dpZCAiQklPUyBib290IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjkKK21zZ2lkICJTb255IGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICLQl9Cw0LPRgNGD0LfQvtGH0L3Ri9C5INGA0LDQt9C00LXQuyBTb255IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTcwCittc2dpZCAiTGVub3ZvIGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICLQl9Cw0LPRgNGD0LfQvtGH0L3Ri9C5INGA0LDQt9C00LXQuyBMZW5vdm8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAiUG93ZXJQQyBQUmVQIGJvb3QiCittc2dzdHIgIlBQQyBQUmVQIEJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzYKK21zZ2lkICJPTklFIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NworbXNnaWQgIk9OSUUgY29uZmlnIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAKK21zZ2lkICJNaWNyb3NvZnQgcmVzZXJ2ZWQiCittc2dzdHIgItCX0LDRgNC10LfQtdGA0LLQuNGA0L7QstCw0L3QvdGL0Lkg0YDQsNC30LTQtdC7IE1pY3Jvc29mdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MQorbXNnaWQgIk1pY3Jvc29mdCBiYXNpYyBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODIKK21zZ2lkICJNaWNyb3NvZnQgTERNIG1ldGFkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODMKK21zZ2lkICJNaWNyb3NvZnQgTERNIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NAorbXNnaWQgIldpbmRvd3MgcmVjb3ZlcnkgZW52aXJvbm1lbnQiCittc2dzdHIgItCh0YDQtdC00LAg0LTQu9GPINCy0L7RgdGB0YLQsNC90L7QstC70LXQvdC40Y8gTWljcm9zb2Z0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg1Cittc2dpZCAiSUJNIEdlbmVyYWwgUGFyYWxsZWwgRnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NgorbXNnaWQgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg5Cittc2dpZCAiSFAtVVggZGF0YSIKK21zZ3N0ciAi0JTQsNC90L3Ri9C1IEhQLVVYIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkwCittc2dpZCAiSFAtVVggc2VydmljZSIKK21zZ3N0ciAi0KHQu9GD0LbQsdCwIEhQLVVYIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2MSBsaWJmZGlzay9zcmMvc3VuLmM6NTIKK21zZ2lkICJMaW51eCBzd2FwIgorbXNnc3RyICJMaW51eCDRgdCy0L7QvyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NAorbXNnaWQgIkxpbnV4IGZpbGVzeXN0ZW0iCittc2dzdHIgItCk0LDQudC70L7QstCw0Y8g0YHQuNGB0YLQtdC80LAgTGludXgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUKK21zZ2lkICJMaW51eCBzZXJ2ZXIgZGF0YSIKK21zZ3N0ciAi0JTQsNC90L3Ri9C1INGB0LXRgNCy0LXRgNCwIExpbnV4IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk2Cittc2dpZCAiTGludXggcm9vdCAoeDg2KSIKK21zZ3N0ciAi0JrQvtGA0L3QtdCy0L7QuSDRgNCw0LfQtNC10LsgTGludXggKHg4NikiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcKK21zZ2lkICJMaW51eCByb290IChBUk0pIgorbXNnc3RyICLQmtC+0YDQvdC10LLQvtC5INGA0LDQt9C00LXQuyBMaW51eCAoQVJNKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OAorbXNnaWQgIkxpbnV4IHJvb3QgKHg4Ni02NCkiCittc2dzdHIgItCa0L7RgNC90LXQstC+0Lkg0YDQsNC30LTQtdC7IExpbnV4ICh4ODYtNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5Cittc2dpZCAiTGludXggcm9vdCAoQVJNLTY0KSIKK21zZ3N0ciAi0JrQvtGA0L3QtdCy0L7QuSDRgNCw0LfQtNC10LsgTGludXggKEFSTS02NCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAKKyMsIGZ1enp5Cittc2dpZCAiTGludXggcm9vdFx0KElBLTY0KSIKK21zZ3N0ciAi0JrQvtGA0L3QtdCy0L7QuSDRgNCw0LfQtNC10LsgTGludXggKEFSTS02NCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDEKK21zZ2lkICJMaW51eCByZXNlcnZlZCIKK21zZ3N0ciAi0JfQsNGA0LXQt9C10YDQstC40YDQvtCy0LDQvdC+INGB0LjRgdGC0LXQvNC+0LkgTGludXgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDIKK21zZ2lkICJMaW51eCBob21lIgorbXNnc3RyICLQlNC+0LzQsNGI0L3QuNC5INGA0LDQt9C00LXQuyBMaW51eCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMyBsaWJmZGlzay9zcmMvc2dpLmM6NjQKK21zZ2lkICJMaW51eCBSQUlEIgorbXNnc3RyICJMaW51eCBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0Cittc2dpZCAiTGludXggZXh0ZW5kZWQgYm9vdCIKK21zZ3N0ciAi0KDQsNGB0YjQuNGA0LXQvdC90LDRjyDQt9Cw0LPRgNGD0LfQutCwIExpbnV4IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEyCisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgZGF0YSIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMworIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIGJvb3QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBzd2FwIgorbXNnc3RyICJCU0RJINGB0LLQvtC/IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1Cittc2dpZCAiRnJlZUJTRCBVRlMiCittc2dzdHIgIkZyZWVCU0QgVUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2Cittc2dpZCAiRnJlZUJTRCBaRlMiCittc2dzdHIgIkZyZWVCU0QgWkZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgVmludW0iCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAiQXBwbGUgSEZTL0hGUysiCittc2dzdHIgIk9TLzIgSFBGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMQorbXNnaWQgIkFwcGxlIFVGUyIKK21zZ3N0ciAiQXBwbGUgVUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyCittc2dpZCAiQXBwbGUgUkFJRCIKK21zZ3N0ciAiQXBwbGUgUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMworbXNnaWQgIkFwcGxlIFJBSUQgb2ZmbGluZSIKK21zZ3N0ciAiQXBwbGUgUkFJRCDQvtGC0LrQu9GO0YfQtdC9IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0Cittc2dpZCAiQXBwbGUgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1Cittc2dpZCAiQXBwbGUgbGFiZWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNgorbXNnaWQgIkFwcGxlIFRWIHJlY292ZXJ5IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjcKK21zZ2lkICJBcHBsZSBDb3JlIHN0b3JhZ2UiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMQorbXNnaWQgIlNvbGFyaXMgcm9vdCIKK21zZ3N0ciAiU29sYXJpcyDQutC+0YDQvS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMKK21zZ2lkICJTb2xhcmlzIC91c3IgJiBBcHBsZSBaRlMiCittc2dzdHIgIlNvbGFyaXMgL3VzciAmIEFwcGxlIFpGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNAorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHN3YXAiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzUKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyBiYWNrdXAiCittc2dzdHIgIlNvbGFyaXMg0LfQsNCz0YAuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM2Cittc2dpZCAiU29sYXJpcyAvdmFyIgorbXNnc3RyICJTb2xhcmlzIC92YXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzcKK21zZ2lkICJTb2xhcmlzIC9ob21lIgorbXNnc3RyICJTb2xhcmlzIC9ob21lIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM4CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgYWx0ZXJuYXRlIHNlY3RvciIKK21zZ3N0ciAi0YHQu9C40YjQutC+0Lwg0LzQvdC+0LPQviDQsNC70YzRgtC10YDQvdCw0YLQuNCy0L3Ri9GFINGB0LrQvtGA0L7RgdGC0LXQuSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOQorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDEiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MAorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDIiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MQorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDMiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MgorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDQiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MworIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDUiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NgorIywgZnV6enkKK21zZ2lkICJOZXRCU0Qgc3dhcCIKK21zZ3N0ciAiQlNESSDRgdCy0L7QvyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NworbXNnaWQgIk5ldEJTRCBGRlMiCittc2dzdHIgIk5ldEJTRCBGRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgKK21zZ2lkICJOZXRCU0QgTEZTIgorbXNnc3RyICJOZXRCU0QgTEZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5Cittc2dpZCAiTmV0QlNEIGNvbmNhdGVuYXRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwCittc2dpZCAiTmV0QlNEIGVuY3J5cHRlZCIKK21zZ3N0ciAiTmV0QlNEINGI0LjRhNGA0L7QstCw0L3QvdGL0LkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTEKK21zZ2lkICJOZXRCU0QgUkFJRCIKK21zZ3N0ciAiTmV0QlNEIFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTQKK21zZ2lkICJDaHJvbWVPUyBrZXJuZWwiCittc2dzdHIgItGP0LTRgNC+IENocm9tZU9TIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU1Cittc2dpZCAiQ2hyb21lT1Mgcm9vdCBmcyIKK21zZ3N0ciAi0LrQvtGA0L3QtdCy0LDRjyDQpNChIENocm9tZU9TIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU2CisjLCBmdXp6eQorbXNnaWQgIkNocm9tZU9TIHJlc2VydmVkIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTkKK21zZ2lkICJNaWRuaWdodEJTRCBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjAKK21zZ2lkICJNaWRuaWdodEJTRCBib290IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjEKKyMsIGZ1enp5Cittc2dpZCAiTWlkbmlnaHRCU0Qgc3dhcCIKK21zZ3N0ciAiQlNESSDRgdCy0L7QvyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MgorbXNnaWQgIk1pZG5pZ2h0QlNEIFVGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYzCittc2dpZCAiTWlkbmlnaHRCU0QgWkZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjQKK21zZ2lkICJNaWRuaWdodEJTRCBWaW51bSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY3Cittc2dpZCAiQ2VwaCBKb3VybmFsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjgKK21zZ2lkICJDZXBoIEVuY3J5cHRlZCBKb3VybmFsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjkKK21zZ2lkICJDZXBoIE9TRCIKK21zZ3N0ciAiQ2VwaCBPU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAKK21zZ2lkICJDZXBoIGNyeXB0IE9TRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcxCittc2dpZCAiQ2VwaCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzIKK21zZ2lkICJDZXBoIGNyeXB0IGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NQorIywgZnV6enkKK21zZ2lkICJPcGVuQlNEIGRhdGEiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzgKK21zZ2lkICJRTlg2IGZpbGUgc3lzdGVtIgorbXNnc3RyICLQpNCw0LnQu9C+0LLQsNGPINGB0LjRgdGC0LXQvNCwIFFOWDYiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyODEKKyMsIGZ1enp5Cittc2dpZCAiUGxhbiA5IHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgZCAgINGD0LTQsNC70LXQvdC40LUg0YDQsNC30LTQtdC70LAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo1NDcKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR1BUIGhlYWRlciIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCDQt9Cw0LPQvtC70L7QstC+0LogR1BUIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NjMwCittc2dpZCAiRmlyc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAi0J3QsNGH0LDQu9GM0L3Ri9C5INCw0LTRgNC10YEgTEJBLCDRg9C60LDQt9Cw0L3QvdGL0Lkg0LIg0YHQutGA0LjQv9GC0LUsINCy0L3QtSDQtNC+0L/Rg9GB0YLQuNC80L7Qs9C+INC00LjQsNC/0LDQt9C+0L3QsC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo2NDIKK21zZ2lkICJMYXN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgItCa0L7QvdC10YfQvdGL0Lkg0LDQtNGA0LXRgSBMQkEsINGD0LrQsNC30LDQvdC90YvQuSDQsiDRgdC60YDQuNC/0YLQtSwg0LLQvdC1INC00L7Qv9GD0YHRgtC40LzQvtCz0L4g0LTQuNCw0L/QsNC30L7QvdCwLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjc3NQorIywgYy1mb3JtYXQKK21zZ2lkICJHUFQgUE1CUiBzaXplIG1pc21hdGNoICglPFBSSXU2ND4gIT0gJTxQUkl1NjQ+KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NzkyCittc2dpZCAiZ3B0OiBzdGF0KCkgZmFpbGVkIgorbXNnc3RyICJncHQ6INCy0YvQv9C+0LvQvdC10L3QuNC1IHN0YXQoKSDQt9Cw0LLQtdGA0YjQuNC70L7RgdGMINC90LXRg9C00LDRh9C90L4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo4MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3B0OiBjYW5ub3QgaGFuZGxlIGZpbGVzIHdpdGggbW9kZSAlbyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTA2NAorbXNnaWQgIkdQVCBIZWFkZXIiCittc2dzdHIgItCX0LDQs9C+0LvQvtCy0L7QuiBHUFQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMDY5Cittc2dpZCAiR1BUIEVudHJpZXMiCittc2dzdHIgItCX0LDQv9C40YHQuCBHUFQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTAzCittc2dpZCAiRmlyc3QgTEJBIgorbXNnc3RyICLQndCw0YfQsNC70YzQvdGL0Lkg0LDQtNGA0LXRgSBMQkEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTA4Cittc2dpZCAiTGFzdCBMQkEiCittc2dzdHIgItCa0L7QvdC10YfQvdGL0Lkg0LDQtNGA0LXRgSBMQkEiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgTEJBIChMb2dpY2FsIEJsb2NrIEFkZHJlc3MpIG9mIHRoZSBiYWNrdXAgR1BUIGhlYWRlci4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTE0Cittc2dpZCAiQWx0ZXJuYXRpdmUgTEJBIgorbXNnc3RyICLQkNC70YzRgtC10YDQvdCw0YLQuNCy0L3Ri9C5INCw0LTRgNC10YEgTEJBIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YXJ0IG9mIHRoZSBhcnJheSBvZiBwYXJ0aXRpb24gZW50cmllcy4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTIwCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBlbnRyaWVzIExCQSIKK21zZ3N0ciAi0KDQsNC30LTQtdC7IChhLSVjKTogIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEyNQorbXNnaWQgIkFsbG9jYXRlZCBwYXJ0aXRpb24gZW50cmllcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTQ0MAorbXNnaWQgIlRoZSBiYWNrdXAgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgcHJpbWFyeSBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgItCg0LXQt9C10YDQstC90LDRjyDRgtCw0LHQu9C40YbQsCBHUFQg0L/QvtCy0YDQtdC20LTQtdC90LAsINC90L4g0YEg0L7RgdC90L7QstC90L7QuSwg0LrQsNC20LXRgtGB0Y8sINCy0YHQtSDQsiDQv9C+0YDRj9C00LrQtSwg0L/QvtGN0YLQvtC80YMg0L7QvdCwINCx0YPQtNC10YIg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdCwLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE0NDkKK21zZ2lkICJUaGUgcHJpbWFyeSBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBiYWNrdXAgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICLQntGB0L3QvtCy0L3QsNGPINGC0LDQsdC70LjRhtCwIEdQVCDQv9C+0LLRgNC10LbQtNC10L3QsCwg0L3QviDRgSDRgNC10LfQtdGA0LLQvdC+0LksINC60LDQttC10YLRgdGPLCDQstGB0LUg0LIg0L/QvtGA0Y/QtNC60LUsINC/0L7RjdGC0L7QvNGDINC+0L3QsCDQsdGD0LTQtdGCINC40YHQv9C+0LvRjNC30L7QstCw0L3QsC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjMxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIEdQVCBhdHRyaWJ1dGUgYml0ICclcyciCittc2dzdHIgItC90LXQv9C+0LTQtNC10YDQttC40LLQsNC10LzRi9C5INCx0LjRgiDQsNGC0YDQuNCx0YPRgtCwIEdQVCAnJXMnIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIEdQVCBhdHRyaWJ1dGUgc3RyaW5nICclcyciCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBVVUlEIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIlVVSUQg0YDQsNC30LTQtdC70LAg0LjQt9C80LXQvdC10L0g0YEgJXMg0L3QsCAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lIGNoYW5nZWQgZnJvbSAnJXMnIHRvICclLipzJy4iCittc2dzdHIgItCY0LzRjyDRgNCw0LfQtNC10LvQsCDQuNC30LzQtdC90LXQvdC+INGBICclcycg0L3QsCAnJS4qcycuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc2OAorIywgZnV6enkKK21zZ2lkICJUaGUgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiB1bmRlcnN0ZXBzIEZpcnN0VXNhYmxlTEJBLiIKK21zZ3N0ciAi0JfQsNCz0YDRg9C30L7Rh9C90YvQuSDRgNCw0LfQtNC10Lsg0L3QtSDRgdGD0YnQtdGB0YLQstGD0LXRgi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzc1CisjLCBmdXp6eQorbXNnaWQgIlRoZSBlbmQgb2YgdGhlIHBhcnRpdGlvbiBvdmVyc3RlcHMgTGFzdFVzYWJsZUxCQS4iCittc2dzdHIgItC60L7QvdC10YYg0YDQsNC30LTQtdC70LAg0LIg0YHQtdC60YLQvtGA0LDRhSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MzQKK21zZ2lkICJUaGUgZGV2aWNlIGNvbnRhaW5zIGh5YnJpZCBNQlIgLS0gd3JpdGluZyBHUFQgb25seS4gWW91IGhhdmUgdG8gc3luYyB0aGUgTUJSIG1hbnVhbGx5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3MQorbXNnaWQgIkRpc2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICLQndCwINC00LjRgdC60LUg0L7RgtGB0YPRgtGB0YLQstGD0LXRgiDQtNC+0L/Rg9GB0YLQuNC80YvQuSDRgNC10LfQtdGA0LLQvdGL0Lkg0LfQsNCz0L7Qu9C+0LLQvtC6LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NzYKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgItCd0LXQtNC+0L/Rg9GB0YLQuNC80LDRjyDQutC+0L3RgtGA0L7Qu9GM0L3QsNGPINGB0YPQvNC80LAgQ1JDINC/0LXRgNCy0LjRh9C90L7Qs9C+INC30LDQs9C+0LvQvtCy0LrQsC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTgwCittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgItCd0LXQtNC+0L/Rg9GB0YLQuNC80LDRjyDQutC+0L3RgtGA0L7Qu9GM0L3QsNGPINGB0YPQvNC80LAgQ1JDINGA0LXQt9C10YDQstC90L7Qs9C+INC30LDQs9C+0LvQvtCy0LrQsC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTg1Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gZW50cnkgY2hlY2tzdW0uIgorbXNnc3RyICLQndC10LTQvtC/0YPRgdGC0LjQvNCw0Y8g0LrQvtC90YLRgNC+0LvRjNC90LDRjyDRgdGD0LzQvNCwINC30LDQv9C40YHQuCDRgNCw0LfQtNC10LvQsC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTkwCittc2dpZCAiSW52YWxpZCBwcmltYXJ5IGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OTQKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTk5Cittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IHByaW1hcnkgaGVhZGVyLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwMworbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwOAorbXNnaWQgIkRpc2sgaXMgdG9vIHNtYWxsIHRvIGhvbGQgYWxsIGRhdGEuIgorbXNnc3RyICLQoNCw0LfQvNC10YAg0LTQuNGB0LrQsCDRgdC70LjRiNC60L7QvCDQvNCw0LssINGH0YLQvtCx0Ysg0LLQvNC10YHRgtC40YLRjCDQstGB0LUg0LTQsNC90L3Ri9C1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMTgKK21zZ2lkICJQcmltYXJ5IGFuZCBiYWNrdXAgaGVhZGVyIG1pc21hdGNoLiIKK21zZ3N0ciAi0J/QtdGA0LLQuNGH0L3Ri9C5INC4INGA0LXQt9C10YDQstC90YvQuSDQt9Cw0LPQvtC70L7QstC60Lgg0L3QtSDRgdC+0LLQv9Cw0LTQsNGO0YIuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAyNAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBwYXJ0aXRpb24gJXUuIgorbXNnc3RyICLQn9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiDRgNCw0LfQtNC10LsgJXUg0L/QtdGA0LXQutGA0YvQstCw0LXRgiDRgNCw0LfQtNC10LsgJXUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAzMQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgaXMgdG9vIGJpZyBmb3IgdGhlIGRpc2suIgorbXNnc3RyICLQoNCw0LfQtNC10LsgJXUg0YHQu9C40YjQutC+0Lwg0LHQvtC70YzRiNC+0Lkg0LTQu9GPINC00LjRgdC60LAuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAzOAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZW5kcyBiZWZvcmUgaXQgc3RhcnRzLiIKK21zZ3N0ciAi0JrQvtC90LXRhiDRgNCw0LfQtNC10LvQsCAldSDQvdCw0YXQvtC00LjRgtGB0Y8g0YDQsNC90YzRiNC1INC10LPQviDQvdCw0YfQsNC70LAuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0NworbXNnaWQgIk5vIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHIgItCe0YjQuNCx0L7QuiDQvdC1INC+0LHRgNCw0YDRg9C20LXQvdC+LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGVhZGVyIHZlcnNpb246ICVzIgorbXNnc3RyICLQktC10YDRgdC40Y8g0LfQsNCz0L7Qu9C+0LLQutCwOiAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgJXUgb3V0IG9mICVkIHBhcnRpdGlvbnMuIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9GD0Y7RgtGB0Y8gJXUg0YDQsNC30LTQtdC70L7QsiDQuNC3ICVkLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50LiIKK21zZ2lkX3BsdXJhbCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50cyAodGhlIGxhcmdlc3QgaXMgJXMpLiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCittc2dzdHJbMl0gIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgZXJyb3IgZGV0ZWN0ZWQuIgorbXNnaWRfcGx1cmFsICIlZCBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyWzBdICLQntCx0YDQsNGA0YPQttC10L3QsCAlZCDQvtGI0LjQsdC60LAuIgorbXNnc3RyWzFdICLQntCx0L3QsNGA0YPQttC10L3RiyAlZCDQvtGI0LjQsdC60LguIgorbXNnc3RyWzJdICLQntCx0L3QsNGA0YPQttC10L3QviAlZCDQvtGI0LjQsdC+0LouIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0MgorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIGFyZSBhbHJlYWR5IGluIHVzZS4iCittc2dzdHIgItCS0YHQtSDRgNCw0LfQtNC10LvRiyDRg9C20LUg0LjRgdC/0L7Qu9GM0LfRg9GO0YLRgdGPLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOTcgbGliZmRpc2svc3JjL2dwdC5jOjIyMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVqdSBhbHJlYWR5IHVzZWQuIgorbXNnc3RyICLQodC10LrRgtC+0YAgJWp1INGD0LbQtSDQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0YDQsNC30LTQtdC7ICV6dSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGxhc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpcnN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgR1BUIGRpc2tsYWJlbCAoR1VJRDogJXMpLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ0NworbXNnaWQgIkVudGVyIG5ldyBkaXNrIFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAi0JLQstC10LTQuNGC0LUg0L3QvtCy0YvQuSBVVUlEINC00LjRgdC60LAgKNCyINGE0L7RgNC80LDRgtC1IDgtNC00LTQtMTIpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ1NAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSB5b3VyIFVVSUQuIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC+0LHRgNCw0LHQvtGC0LDRgtGMINCy0LDRiCBVVUlELiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgItCY0LTQtdC90LTQuNGE0LjQutCw0YLQvtGAINC00LjRgdC60LAg0LjQt9C80LXQvdC10L0g0YEgJXMg0L3QsCAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDg4CisjLCBmdXp6eQorbXNnaWQgIk5vdCBlbm91Z2ggc3BhY2UgZm9yIG5ldyBwYXJ0aXRpb24gdGFibGUhIgorbXNnc3RyICLQndC10YIg0YHQstC+0LHQvtC00L3Ri9GFINC00L7RgdGC0YPQv9C90YvRhSDRgNCw0LfQtNC10LvQvtCyISIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMldSBvdXQgb2YgcmFuZ2UgKG1pbmltYWwgc3RhcnQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXUgb3V0IG9mIHJhbmdlIChtYXhpbWFsIGVuZCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBudW1iZXIgb2YgdGhlIHBhcnRpdGlvbiBoYXMgYmUgc21hbGxlciB0aGFuICV6dS4iCittc2dzdHIgItCR0YvQu9C+INGB0L7Qt9C00LDQvdC+INC80LDQutGB0LjQvNCw0LvRjNC90L4g0LLQvtC30LzQvtC20L3QvtC1INC60L7Qu9C40YfQtdGB0YLQstC+INGA0LDQt9C00LXQu9C+0LIuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU2MworIywgZnV6enkKK21zZ2lkICJDYW5ub3QgYWxsb2NhdGUgbWVtb3J5ISIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LLRi9C00LXQu9C40YLRjCDQsdGD0YTQtdGALlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGxlbmd0aCBjaGFuZ2VkIGZyb20gJTxQUkl1MzI+IHRvICU8UFJJdTY0Pi4iCittc2dzdHIgItCY0LzRjyDRgNCw0LfQtNC10LvQsCDQuNC30LzQtdC90LXQvdC+INGBICclcycg0L3QsCAnJS4qcycuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGF0dHJpYnV0ZXMgb24gcGFydGl0aW9uICV6dSBjaGFuZ2VkIHRvIDB4JTAxNjxQUkl4NjQ+LiIKK21zZ3N0ciAi0KHQuNGB0YLQtdC80L3Ri9C5INGC0LjQvyDRgNCw0LfQtNC10LvQsCAlZCDQuNC30LzQtdC90LXQvSDQvdCwICV4ICglcylcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NDIKK21zZ2lkICJFbnRlciBHVUlEIHNwZWNpZmljIGJpdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdG9nZ2xlIHVuc3VwcG9ydGVkIGJpdCAlbHUiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/QtdGA0LXQutC70Y7Rh9C40YLRjCDQvdC10L/QvtC00LTQtdGA0LbQuNCy0LDQtdC80YvQuSDQsdC40YIgJWx1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3NQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAi0KTQu9Cw0LMgJXMg0YDQsNC30LTQtdC70LAgJXp1INGC0LXQv9C10YDRjCDQstC60LvRjtGH0LXQvS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAi0KTQu9Cw0LMgJXMg0YDQsNC30LTQtdC70LAgJXp1INGC0LXQv9C10YDRjCDQstGL0LrQu9GO0YfQtdC9LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTgKK21zZ2lkICJUeXBlLVVVSUQiCittc2dzdHIgItCi0LjQvyBVVUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxOQorbXNnaWQgIlVVSUQiCittc2dzdHIgIlVVSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTIwIGxvZ2luLXV0aWxzL2NoZm4uYzoxNTAgbG9naW4tdXRpbHMvY2hmbi5jOjE1MgorIzogbG9naW4tdXRpbHMvY2hmbi5jOjMwNworbXNnaWQgIk5hbWUiCittc2dzdHIgItCY0LzRjyIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjg0MAorbXNnaWQgIkZyZWUgc3BhY2UiCittc2dzdHIgItCh0LLQvtCx0L7QtNC90L7QtSDQv9GA0L7RgdGC0YDQsNC90YHRgtCy0L4iCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzoxMjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uICMlenUuIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC40LfQvNC10L3QuNGC0Ywg0YDQsNC30LzQtdGAINGA0LDQt9C00LXQu9CwICMlenUuIgorCisjOiBsaWJmZGlzay9zcmMvcGFydHR5cGUuYzoyNTkgbWlzYy11dGlscy9maW5kbW50LmM6NjU1IHNjaGVkdXRpbHMvY2hydC5jOjIwNgorIzogc2NoZWR1dGlscy9pb25pY2UuYzo3OSBzeXMtdXRpbHMvaHdjbG9jay5jOjMzNAorbXNnaWQgInVua25vd24iCittc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdGL0LkiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NworbXNnaWQgIlNHSSB2b2xoZHIiCittc2dzdHIgIlNHSSB2b2xoZHIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OAorbXNnaWQgIlNHSSB0cmtyZXBsIgorbXNnc3RyICJTR0kgdHJrcmVwbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ5Cittc2dpZCAiU0dJIHNlY3JlcGwiCittc2dzdHIgIlNHSSBzZWNyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTAKK21zZ2lkICJTR0kgcmF3IgorbXNnc3RyICJTR0kgcmF3IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTEKK21zZ2lkICJTR0kgYnNkIgorbXNnc3RyICJTR0kgYnNkIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTIKK21zZ2lkICJTR0kgc3lzdiIKK21zZ3N0ciAiU0dJIHN5c3YiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MworbXNnaWQgIlNHSSB2b2x1bWUiCittc2dzdHIgIlNHSSB2b2x1bWUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NAorbXNnaWQgIlNHSSBlZnMiCittc2dzdHIgIlNHSSBlZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NQorbXNnaWQgIlNHSSBsdm9sIgorbXNnc3RyICJTR0kgbHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU2Cittc2dpZCAiU0dJIHJsdm9sIgorbXNnc3RyICJTR0kgcmx2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NworbXNnaWQgIlNHSSB4ZnMiCittc2dzdHIgIlNHSSB4ZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OAorbXNnaWQgIlNHSSB4ZnNsb2ciCittc2dzdHIgIlNHSSB4ZnNsb2ciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OQorbXNnaWQgIlNHSSB4bHYiCittc2dzdHIgIlNHSSB4bHYiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MAorbXNnaWQgIlNHSSB4dm0iCittc2dzdHIgIlNHSSB4dm0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MiBsaWJmZGlzay9zcmMvc3VuLmM6NTMKK21zZ2lkICJMaW51eCBuYXRpdmUiCittc2dzdHIgIkxpbnV4INGB0L7QsdGB0YLQstC10L0uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTU5Cittc2dpZCAiU0dJIGluZm8gY3JlYXRlZCBvbiBzZWNvbmQgc2VjdG9yLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjU5CisjLCBmdXp6eQorbXNnaWQgIkRldGVjdGVkIGFuIFNHSSBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4iCittc2dzdHIgItCe0LHQvdCw0YDRg9C20LXQvdCwINC80LXRgtC60LAg0LTQuNGB0LrQsCBzZ2kg0YEg0L3QtdCy0LXRgNC90L7QuSDQutC+0L3RgtGA0L7Qu9GM0L3QvtC5INGB0YPQvNC80L7QuS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4MiBsaWJmZGlzay9zcmMvc3VuLmM6NzcwCittc2dpZCAiUGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICLQpNC40LfQuNGH0LXRgdC60LjQtSDRhtC40LvQuNC90LTRgNGLIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjg3IGxpYmZkaXNrL3NyYy9zdW4uYzo3NzUKK21zZ2lkICJFeHRyYSBzZWN0cy9jeWwiCittc2dzdHIgItCU0L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0LUg0YHQtdC60YLQvtGA0Ysg0L3QsCDRhtC40LvQuNC90LTRgCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI5NworbXNnaWQgIkJvb3RmaWxlIgorbXNnc3RyICLQpNCw0LnQuyDQt9Cw0LPRgNGD0LfRh9C40LrQsCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjM5NQorbXNnaWQgIkludmFsaWQgYm9vdGZpbGUhICBUaGUgYm9vdGZpbGUgbXVzdCBiZSBhbiBhYnNvbHV0ZSBub24temVybyBwYXRobmFtZSwgZS5nLiBcIi91bml4XCIgb3IgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICLQndC10LLQtdGA0L3Ri9C5IEJvb3Qt0YTQsNC50LshICBCb290LdGE0LDQudC7INC00L7Qu9C20LXQvSDQsdGL0YLRjCDQsNCx0YHQvtC70Y7RgtC90YvQvCDQvdC10L/Rg9GB0YLRi9C8INC/0YPRgtC10LLRi9C8INC40LzQtdC90LXQvCwg0L3QsNC/0YAuIFwiL3VuaXhcIiDQuNC70LggXCIvdW5peC5zYXZlXCIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDAxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlIG1heGltdW0uIgorbXNnaWRfcGx1cmFsICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZXMgbWF4aW11bS4iCittc2dzdHJbMF0gItCh0LvQuNGI0LrQvtC8INC00LvQuNC90L3QvtC1INC40LzRjyBCb290LdGE0LDQudC70LA6ICDQvNCw0LrRgdC40LzRg9C8ICV6dSDQsdCw0LnRgi4iCittc2dzdHJbMV0gItCh0LvQuNGI0LrQvtC8INC00LvQuNC90L3QvtC1INC40LzRjyBCb290LdGE0LDQudC70LA6ICDQvNCw0LrRgdC40LzRg9C8ICV6dSDQsdCw0LnRgtCwLiIKK21zZ3N0clsyXSAi0KHQu9C40YjQutC+0Lwg0LTQu9C40L3QvdC+0LUg0LjQvNGPIEJvb3Qt0YTQsNC50LvQsDogINC80LDQutGB0LjQvNGD0LwgJXp1INCx0LDQudGCLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwOAorIywgZnV6enkKK21zZ2lkICJCb290ZmlsZSBtdXN0IGhhdmUgYSBmdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUuIgorbXNnc3RyICJCb290LdGE0LDQudC7INC00L7Qu9C20LXQvSDQuNC80LXRgtGMINC/0L7Qu9C90L7RgdGC0YzRjiDRg9GC0L7Rh9C90LXQvdC90L7QtSDQv9GD0YLQtdCy0L7QtSDQuNC80Y8uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MTQKK21zZ2lkICJCZSBhd2FyZSB0aGF0IHRoZSBib290ZmlsZSBpcyBub3QgY2hlY2tlZCBmb3IgZXhpc3RlbmNlLiAgU0dJJ3MgZGVmYXVsdCBpcyBcIi91bml4XCIsIGFuZCBmb3IgYmFja3VwIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAi0JfQvdCw0LnRgtC1LCDRh9GC0L4g0YHRg9GJ0LXRgdGC0LLQvtCy0LDQvdC40LUgYm9vdC3RhNCw0LnQu9CwINC90LUg0L/RgNC+0LLQtdGA0Y/QtdGC0YHRjy4g0JIgU0dJINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOIC0gXCIvdW5peFwiINC4INC00LvRjyDRgNC10LfQtdGA0LLQvdC+0Lkg0LrQvtC/0LjQuCBcIi91bml4LnNhdmVcIi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGN1cnJlbnQgYm9vdCBmaWxlIGlzOiAlcyIKK21zZ3N0ciAi0KLQtdC60YPRidC40LkgYm9vdC3RhNCw0LnQuzogJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDEKK21zZ2lkICJFbnRlciBvZiB0aGUgbmV3IGJvb3QgZmlsZSIKK21zZ3N0ciAi0JLQstC10LTQuNGC0LUg0LjQvNGPINC90L7QstC+0LPQviBib290LdGE0LDQudC70LAiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDYKK21zZ2lkICJCb290IGZpbGUgaXMgdW5jaGFuZ2VkLiIKK21zZ3N0ciAiQm9vdC3RhNCw0LnQuyDQvdC1INC40LfQvNC10L3QtdC9LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ1NworIywgYy1mb3JtYXQKK21zZ2lkICJCb290ZmlsZSBoYXMgYmVlbiBjaGFuZ2VkIHRvIFwiJXNcIi4iCittc2dzdHIgIkJvb3Qt0YTQsNC50Lsg0LjQt9C80LXQvdC10L0g0L3QsCBcIiVzXCIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTk2Cittc2dpZCAiTW9yZSB0aGFuIG9uZSBlbnRpcmUgZGlzayBlbnRyeSBwcmVzZW50LiIKK21zZ3N0ciAi0J/RgNC40YHRg9GC0YHRgtCy0YPQtdGCINCx0L7Qu9C10LUg0L7QtNC90L7QuSDQt9Cw0L/QuNGB0Lgg0LTQu9GPINCy0YHQtdCz0L4g0LTQuNGB0LrQsC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MDMgbGliZmRpc2svc3JjL3N1bi5jOjQ1OAorbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZC4iCittc2dzdHIgItCg0LDQt9C00LXQu9GLINC90LUg0L7Qv9GA0LXQtNC10LvQtdC90YsuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEzCisjLCBmdXp6eQorbXNnaWQgIklSSVggbGlrZXMgaXQgd2hlbiBwYXJ0aXRpb24gMTEgY292ZXJzIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIklSSVgg0LvRjtCx0LjRgiwg0LrQvtCz0LTQsCDQoNCw0LfQtNC10LsgMTEg0L7RhdCy0LDRgtGL0LLQsNC10YIg0LLQtdGB0Ywg0LTQuNGB0LouXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIHBhcnRpdGlvbiBzaG91bGQgc3RhcnQgYXQgYmxvY2sgMCwgbm90IGF0IGJsb2NrICVkLiIKK21zZ3N0ciAi0KDQsNC30LTQtdC7INCy0YHQtdCz0L4g0LTQuNGB0LrQsCDQtNC+0LvQttC10L0g0L3QsNGH0LjQvdCw0YLRjNGB0Y8g0YEg0LHQu9C+0LrQsCAwLCDQsCDQvdC1INGBINCx0LvQvtC60LAgJWQuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjI4Cittc2dpZCAiUGFydGl0aW9uIDExIHNob3VsZCBjb3ZlciB0aGUgZW50aXJlIGRpc2suIgorbXNnc3RyICLQoNCw0LfQtNC10LsgIzExINC00L7Qu9C20LXQvSDQvtGF0LLQsNGC0YvQstCw0YLRjCDQstC10YHRjCDQtNC40YHQui4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3IuIgorbXNnaWRfcGx1cmFsICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3RvcnMuIgorbXNnc3RyWzBdICLQoNCw0LfQtNC10LvRiyAlZCDQuCAlZCDQv9C10YDQtdC60YDRi9Cy0LDRjtGC0YHRjyDQsiAlZCDRgdC10LrRgtC+0YDQtS4iCittc2dzdHJbMV0gItCg0LDQt9C00LXQu9GLICVkINC4ICVkINC/0LXRgNC10LrRgNGL0LLQsNGO0YLRgdGPINCyICVkINGB0LXQutGC0L7RgNCw0YUuIgorbXNnc3RyWzJdICLQoNCw0LfQtNC10LvRiyAlZCDQuCAlZCDQv9C10YDQtdC60YDRi9Cy0LDRjtGC0YHRjyDQsiAlZCDRgdC10LrRgtC+0YDQsNGFLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY2MyBsaWJmZGlzay9zcmMvc2dpLmM6Njg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3I6IHNlY3RvciAlOHUiCittc2dpZF9wbHVyYWwgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3RvcnM6IHNlY3RvcnMgJTh1LSV1IgorbXNnc3RyWzBdICLQndC10LjRgdC/0L7Qu9GM0LfRg9C10LzRi9C5INC/0YDQvtC80LXQttGD0YLQvtC6INC40LcgJTh1INGB0LXQutGC0L7RgNCwOiDRgdC10LrRgtC+0YAgJTh1IgorbXNnc3RyWzFdICLQndC10LjRgdC/0L7Qu9GM0LfRg9C10LzRi9C5INC/0YDQvtC80LXQttGD0YLQvtC6INC40LcgJTh1INGB0LXQutGC0L7RgNC+0LI6INGB0LXQutGC0L7RgNGLICU4dS0ldSIKK21zZ3N0clsyXSAi0J3QtdC40YHQv9C+0LvRjNC30YPQtdC80YvQuSDQv9GA0L7QvNC10LbRg9GC0L7QuiDQuNC3ICU4dSDRgdC10LrRgtC+0YDQvtCyOiDRgdC10LrRgtC+0YDRiyAlOHUtJXUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2OTgKK21zZ2lkICJUaGUgYm9vdCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICLQl9Cw0LPRgNGD0LfQvtGH0L3Ri9C5INGA0LDQt9C00LXQuyDQvdC1INGB0YPRidC10YHRgtCy0YPQtdGCLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwMgorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgItCg0LDQt9C00LXQuyDRgdCy0L7Qv9C40L3Qs9CwINC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA2Cittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGhhcyBubyBzd2FwIHR5cGUuIgorbXNnc3RyICLQoNCw0LfQtNC10Lsg0YHQstC+0L/QuNC90LPQsCDQvdC1INC40LzQtdC10YIg0YLQuNC/IHN3YXAuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA5Cittc2dpZCAiWW91IGhhdmUgY2hvc2VuIGFuIHVudXN1YWwgYm9vdGZpbGUgbmFtZS4iCittc2dzdHIgItCS0Ysg0LLRi9Cx0YDQsNC70Lgg0L3QtdC+0LHRi9GH0L3QvtC1INC40LzRjyBib290LdGE0LDQudC70LAuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzU5Cittc2dpZCAiUGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIgorbXNnc3RyICLQn9C10YDQtdC60YDRi9Cy0LDQvdC40LUg0YDQsNC30LTQtdC70L7QsiDQvdCwINC00LjRgdC60LUuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQ0CisjLCBmdXp6eQorbXNnaWQgIkF0dGVtcHRpbmcgdG8gZ2VuZXJhdGUgZW50aXJlIGRpc2sgZW50cnkgYXV0b21hdGljYWxseS4iCittc2dzdHIgItCS0YvQv9C+0LvQvdGP0LXRgtGB0Y8g0L/QvtC/0YvRgtC60LAg0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60Lgg0YHQvtC30LTQsNGC0Ywg0L/Rg9C90LrRgiDQstGB0LXQs9C+INC00LjRgdC60LAuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDkKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgaXMgYWxyZWFkeSBjb3ZlcmVkIHdpdGggcGFydGl0aW9ucy4iCittc2dzdHIgItCS0LXRgdGMINC00LjRgdC6INGD0LbQtSDRgNCw0LfQsdC40YIg0L3QsCDRgNCw0LfQtNC10LvRiy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NTMKK21zZ2lkICJZb3UgZ290IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCEiCittc2dzdHIgItCS0Ysg0L/QvtC70YPRh9C40LvQuCDQv9C10YDQtdC60YDRi9Cy0LDQvdC40LUg0YDQsNC30LTQtdC70L7QsiDQvdCwINC00LjRgdC60LUuINCh0L3QsNGH0LDQu9CwINC40YHQv9GA0LDQstGM0YLQtSDRjdGC0L4hIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODc1IGxpYmZkaXNrL3NyYy9zdW4uYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3QgJXMiCittc2dzdHIgItCf0LXRgNCy0YvQuSAlcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg5OSBsaWJmZGlzay9zcmMvc2dpLmM6OTQ5Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIGVsZXZlbnRoIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrIGFuZCBpcyBvZiB0eXBlICdTR0kgdm9sdW1lJy4iCittc2dzdHIgItCd0LDRgdGC0L7Rj9GC0LXQu9GM0L3QviDRgNC10LrQvtC80LXQvdC00YPQtdGC0YHRjywg0YfRgtC+0LHRiyDQvtC00LjQvdC90LDQtNGG0LDRgtGL0Lkg0YDQsNC30LTQtdC7INC+0YXQstCw0YLRi9Cy0LDQuyDQstC10YHRjCDQtNC40YHQuiDQuCDQuNC80LXQuyDRgtC40L8gYFNHSSB2b2x1bWUnLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjkxNCBsaWJmZGlzay9zcmMvc3VuLmM6NjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMYXN0ICVzIG9yICslcyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICLQn9C+0YHQu9C10LTQvdC40LkgJXMg0LjQu9C4ICtzaXplINC40LvQuCArc2l6ZU0g0LjQu9C4ICtzaXplSyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjk4NSBsaWJmZGlzay9zcmMvc3VuLmM6MjQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi4iCittc2dzdHIgIiIKKyLQn9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiBCTEtHRVRTSVpFIGlvY3RsINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10Lkg0L3QsCAlcy4g0JjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINC30L3QsNGH0LXQvdC40LUg0LPQtdC+0LzQtdGC0YDQuNC4INGG0LjQu9C40L3QtNGA0LAgJWQuXG4iCisi0K3RgtC+INC30L3QsNGH0LXQvdC40LUg0LzQvtC20LXRgiDQsdGL0YLRjCDRg9C80LXQvdGM0YjQtdC90L4g0LTQu9GPINGD0YHRgtGA0L7QudGB0YLQsiA+IDMzLjgg0JPQkS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNTEKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTR0kgZGlza2xhYmVsLiIKK21zZ3N0ciAiICAgcyAgINGB0L7Qt9C00LDQvdC40LUg0L3QvtCy0L7QuSDRh9C40YHRgtC+0Lkg0LzQtdGC0LrQuCDQtNC40YHQutCwIFN1biIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNzAKK21zZ2lkICJTb3JyeSwgb25seSBmb3Igbm9uLWVtcHR5IHBhcnRpdGlvbnMgeW91IGNhbiBjaGFuZ2UgdGhlIHRhZy4iCittc2dzdHIgItCaINGB0L7QttCw0LvQtdC90LjRjiwg0LLRiyDQvNC+0LbQtdGC0LUg0LjQt9C80LXQvdC40YLRjCDRjdGC0L7RgiDQv9GA0LjQt9C90LDQuiDRgtC+0LvRjNC60L4g0LTQu9GPINC90LXQv9GD0YHRgtGL0YUg0YDQsNC30LTQtdC70L7Qsi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDc2CisjLCBmdXp6eQorbXNnaWQgIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDkgYXMgdm9sdW1lIGhlYWRlciAoMCksIGFuZCBwYXJ0aXRpb24gMTEgYXMgZW50aXJlIHZvbHVtZSAoNiksIGFzIElSSVggZXhwZWN0cyBpdC4iCittc2dzdHIgIiIKKyLQn9GA0LXQtNC70LDQs9Cw0LXRgtGB0Y8g0L7RgdGC0LDQstC40YLRjCDRgNCw0LfQtNC10LsgOSDQsiDQstC40LTQtSDQt9Cw0LPQvtC70L7QstC60LAg0YLQvtC80LAgKDApLFxuIgorItCwINGA0LDQt9C00LXQuyAxMSDQsiDQstC40LTQtSDRhtC10LvQvtCz0L4g0YLQvtC80LAgKDYpLCDQutCw0Log0YLQvtCz0L4g0L7QttC40LTQsNC10YIgSVJJWC5cbiIKKyJcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwODUKKyMsIGZ1enp5Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMCBpcyBvZiB0eXBlIFwiU0dJIHZvbGhkclwiLCB0aGUgSVJJWCBzeXN0ZW0gd2lsbCByZWx5IG9uIGl0IHRvIHJldHJpZXZlIGZyb20gaXRzIGRpcmVjdG9yeSBzdGFuZGFsb25lIHRvb2xzIGxpa2Ugc2FzaCBhbmQgZnguIE9ubHkgdGhlIFwiU0dJIHZvbHVtZVwiIGVudGlyZSBkaXNrIHNlY3Rpb24gbWF5IHZpb2xhdGUgdGhpcy4gQXJlIHlvdSBzdXJlIGFib3V0IHRhZ2dpbmcgdGhpcyBwYXJ0aXRpb24gZGlmZmVyZW50bHk/IgorbXNnc3RyICIiCisi0J3QsNGB0YLQvtGP0YLQtdC70YzQvdC+INGA0LXQutC+0LzQtdC90LTRg9C10YLRgdGPLCDRh9GC0L7QsdGLINGA0LDQt9C00LXQuyDRgdC+XG4iCisi0YHQvNC10YnQtdC90LjQtdC8IDAg0LjQvNC10Lsg0YLQuNC/IFwiU0dJIHZvbGhkclwiLCDRgdC40YHRgtC10LzQsCBJUklYXG4iCisi0LHRg9C00LXRgiDQvdCw0LTQtdGP0YLRjNGB0Y8g0L3QsCDQvdC10LPQviDQtNC70Y8g0LjQt9Cy0LvQtdGH0LXQvdC40Y8g0LjQtyDQtdCz0L4g0LrQsNGC0LDQu9C+0LPQsFxuIgorItGB0LDQvNC+0YHRgtC+0Y/RgtC10LvRjNC90YvRhSDRg9GC0LjQu9C40YIg0YLQuNC/0LAgc2FzaCDQuCBmeC5cbiIKKyLQotC+0LvRjNC60L4g0YDQsNC30LTQtdC7INCy0YHQtdCz0L4g0LTQuNGB0LrQsCBcIlNHSSB2b2x1bWVcIiDQvNC+0LbQtdGCINC90LDRgNGD0YjQuNGC0Ywg0Y3RgtC+LlxuIgorItCS0LLQtdC00LjRgtC1INCU0JAsINC10YHQu9C4INCy0Ysg0YPQstC10YDQtdC90YssINGH0YLQviDRgNCw0LfQvNC10YLQuNC70Lgg0Y3RgtC+0YIg0YDQsNC30LTQtdC7INC+0YLQtNC10LvRjNC90L4uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MAorbXNnaWQgIlVuYXNzaWduZWQiCittc2dzdHIgItCd0LXQvdCw0LfQvdCw0YfQtdC9IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDIKK21zZ2lkICJTdW5PUyByb290IgorbXNnc3RyICJTdW5PUyByb290IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDMKK21zZ2lkICJTdW5PUyBzd2FwIgorbXNnc3RyICJTdW5PUyBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDQKK21zZ2lkICJTdW5PUyB1c3IiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ1Cittc2dpZCAiV2hvbGUgZGlzayIKK21zZ3N0ciAiV2hvbGUgZGlzayIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2Cittc2dpZCAiU3VuT1Mgc3RhbmQiCittc2dzdHIgIlN1bk9TIHN0YW5kIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyB2YXIiCittc2dzdHIgIlN1bk9TIHZhciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ4Cittc2dpZCAiU3VuT1MgaG9tZSIKK21zZ3N0ciAiU3VuT1MgaG9tZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ5CisjLCBmdXp6eQorbXNnaWQgIlN1bk9TIGFsdCBzZWN0b3JzIgorbXNnc3RyICIlbGxkINC90LXQt9Cw0L3Rj9GC0YvRhSDRgdC10LrRgtC+0YDQvtCyXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MAorIywgZnV6enkKK21zZ2lkICJTdW5PUyBjYWNoZWZzIgorbXNnc3RyICJTdW5PUyBob21lIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTEKKyMsIGZ1enp5Cittc2dpZCAiU3VuT1MgcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEzNworIywgZnV6enkKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIFByb2JhYmx5IHlvdSdsbCBoYXZlIHRvIHNldCBhbGwgdGhlIHZhbHVlcywgZS5nLiBoZWFkcywgc2VjdG9ycywgY3lsaW5kZXJzIGFuZCBwYXJ0aXRpb25zIG9yIGZvcmNlIGEgZnJlc2ggbGFiZWwgKHMgY29tbWFuZCBpbiBtYWluIG1lbnUpIgorbXNnc3RyICIiCisi0J7QsdC90LDRgNGD0LbQtdC90LAg0LzQtdGC0LrQsCDQtNC40YHQutCwIHN1biDRgSDQvdC10LLQtdGA0L3QvtC5XG4iCisi0LrQvtC90YLRgNC+0LvRjNC90L7QuSDRgdGD0LzQvNC+0LkuINCS0L7Qt9C80L7QttC90L4g0LLQsNC8XG4iCisi0L/QvtC90LDQtNC+0LHQuNGC0YHRjyDRg9GB0YLQsNC90L7QstC40YLRjCDQstGB0LUg0LfQvdCw0YfQtdC90LjRjyxcbiIKKyLQvdCw0L/RgC4g0LPQvtC70L7QstC60LgsINGB0LXQutGC0L7RgNGLLCDRhtC40LvQuNC90LTRgNGLINC4INGA0LDQt9C00LXQu9GLLFxuIgorItC40LvQuCDQv9GA0LjQvdGD0LTQuNGC0LXQu9GM0L3QviDQvtCx0L3QvtCy0LjRgtGMINC80LXRgtC60YMgKNC60L7QvNCw0L3QtNCwXG4iCisicyDQsiDQs9C70LDQstC90L7QvCDQvNC10L3RjilcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZlcnNpb24gWyVkXS4iCittc2dzdHIgItCe0LHQvdCw0YDRg9C20LXQvdCwINC80LXRgtC60LAg0LTQuNGB0LrQsCBzZ2kg0YEg0L3QtdCy0LXRgNC90L7QuSDQutC+0L3RgtGA0L7Qu9GM0L3QvtC5INGB0YPQvNC80L7QuS5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2Muc2FuaXR5IFsweCUwOHhdLiIKK21zZ3N0ciAi0J7QsdC90LDRgNGD0LbQtdC90LAg0LzQtdGC0LrQsCDQtNC40YHQutCwIHNnaSDRgSDQvdC10LLQtdGA0L3QvtC5INC60L7QvdGC0YDQvtC70YzQvdC+0Lkg0YHRg9C80LzQvtC5LlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5ucGFydHMgWyV1XS4iCittc2dzdHIgItCe0LHQvdCw0YDRg9C20LXQvdCwINC80LXRgtC60LAg0LTQuNGB0LrQsCBzZ2kg0YEg0L3QtdCy0LXRgNC90L7QuSDQutC+0L3RgtGA0L7Qu9GM0L3QvtC5INGB0YPQvNC80L7QuS5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2NQorIywgZnV6enkKK21zZ2lkICJXYXJuaW5nOiBXcm9uZyB2YWx1ZXMgbmVlZCB0byBiZSBmaXhlZCB1cCBhbmQgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKSIKK21zZ3N0ciAi0J/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTog0L3QtdCy0LXRgNC90YvQuSDRhNC70LDQsyAweCUwNHgg0YLQsNCx0LvQuNGG0Ysg0YDQsNC30LTQtdC70L7QsiAlZCDQsdGD0LTQtdGCINC40YHQv9GA0LDQstC70LXQvSDQt9Cw0L/QuNGB0YzRjlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTkyCittc2dpZCAiSGVhZHMiCittc2dzdHIgItCT0L7Qu9C+0LLQutC4IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTk0Cittc2dpZCAiU2VjdG9ycy90cmFjayIKK21zZ3N0ciAi0KHQtdC60YLQvtGA0Ysv0LTQvtGA0L7QttC60LAiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoyOTcKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorbXNnc3RyICLQodC+0LfQtNCw0L3QsCDQvdC+0LLQsNGPINC80LXRgtC60LAg0LTQuNGB0LrQsCBTdW4uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBkb2Vzbid0IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgItCg0LDQt9C00LXQuyAldSDQvdC1INC30LDQutCw0L3Rh9C40LLQsNC10YLRgdGPINC90LAg0LPRgNCw0L3QuNGG0LUg0YbQuNC70LjQvdC00YDQsC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggb3RoZXJzIGluIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICLQoNCw0LfQtNC10LsgJXUg0L/QtdGA0LXQutGA0YvQstCw0LXRgtGB0Y8g0YEg0LTRgNGD0LPQuNC80Lgg0LIg0YHQtdC60YLQvtGA0LDRhSAldS0ldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgMC0ldS4iCittc2dzdHIgItCd0LXQuNGB0L/QvtC70YzQt9GD0LXQvNGL0Lkg0L/RgNC+0LzQtdC20YPRgtC+0LogLSDRgdC10LrRgtC+0YDRiyAwLSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NSBsaWJmZGlzay9zcmMvc3VuLmM6NDcxCisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAi0J3QtdC40YHQv9C+0LvRjNC30YPQtdC80YvQuSDQv9GA0L7QvNC10LbRg9GC0L7QuiAtINGB0LXQutGC0L7RgNGLICV1LSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUyOAorIywgZnV6enkKK21zZ2lkICJPdGhlciBwYXJ0aXRpb25zIGFscmVhZHkgY292ZXIgdGhlIHdob2xlIGRpc2suIERlbGV0ZSBzb21lL3NocmluayB0aGVtIGJlZm9yZSByZXRyeS4iCittc2dzdHIgIiIKKyLQlNGA0YPQs9C40LUg0YDQsNC30LTQtdC70Ysg0YPQttC1INC+0YXQstCw0YLRi9Cy0LDRjtGCINCy0LXRgdGMINC00LjRgdC6LlxuIgorItCj0LTQsNC70LjRgtC1INC90LXQutC+0YLQvtGA0YvQtSDQuNC70Lgg0YPQvNC10L3RjNGI0LjRgtC1INC40YUg0L/QtdGA0LXQtCDQv9C+0LLRgtC+0YDQvdC+0Lkg0L/QvtC/0YvRgtC60L7QuS5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU5MworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWQgaXMgYWxyZWFkeSBhbGxvY2F0ZWQiCittc2dzdHIgItCh0LXQutGC0L7RgCAlZCDRg9C20LUg0LLRi9C00LXQu9C10L0iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2MDAKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgdGhpcmQgcGFydGl0aW9uIGNvdmVycyB0aGUgd2hvbGUgZGlzayBhbmQgaXMgb2YgdHlwZSBgV2hvbGUgZGlzayciCittc2dzdHIgItCd0LDRgdGC0L7Rj9GC0LXQu9GM0L3QviDRgNC10LrQvtC80LXQvdC00YPQtdGC0YHRjywg0YfRgtC+0LHRiyDRgtGA0LXRgtC40Lkg0YDQsNC30LTQtdC7INC+0YXQstCw0YLRi9Cy0LDQuyDQstC10YHRjCDQtNC40YHQuiDQuCDQuNC80LXQuyDRgtC40L8gYNCy0LXRgdGMINC00LjRgdC6JyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYxMAorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbmluZyB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gJXUgdG8gJXUgdG8gYmUgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZW4ndCBjb3ZlcmVkIHRoZSB3aG9sZSBkaXNrIHdpdGggdGhlIDNyZCBwYXJ0aXRpb24sIGJ1dCB5b3VyIHZhbHVlXG4iCisiJWx1ICVzIGNvdmVycyBzb21lIG90aGVyIHBhcnRpdGlvbi4gWW91ciBlbnRyeSBoYXMgYmVlbiBjaGFuZ2VkXG4iCisidG8gJWx1ICVzIgorbXNnc3RyICIiCisi0JLRiyDQvdC1INC+0YXQstCw0YLQuNC70Lgg0LLQtdGB0Ywg0LTQuNGB0LogMy3QvCDRgNCw0LfQtNC10LvQvtC8LCDQvdC+INCy0LDRiNC1INC30L3QsNGH0LXQvdC40LVcbiIKKyIlZCAlcyDQt9Cw0YXQstCw0YLQuNC70L4g0LTRgNGD0LPQvtC5INGA0LDQt9C00LXQuy4g0JLQsNGIINC/0YPQvdC60YIg0LHRi9C7INC40LfQvNC10L3QtdC9XG4iCisi0L3QsCAlZCAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzI2CisjLCBjLWZvcm1hdAorbXNnaWQgIklmIHlvdSB3YW50IHRvIG1haW50YWluIFN1bk9TL1NvbGFyaXMgY29tcGF0aWJpbGl0eSwgY29uc2lkZXIgbGVhdmluZyB0aGlzIHBhcnRpdGlvbiBhcyBXaG9sZSBkaXNrICg1KSwgc3RhcnRpbmcgYXQgMCwgd2l0aCAldSBzZWN0b3JzIgorbXNnc3RyICLQldGB0LvQuCDQstGLINGF0L7RgtC40YLQtSDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YHQvtCy0LzQtdGB0YLQuNC80L7RgdGC0Ywg0YEgU3VuT1MvU29sYXJpcywg0L/QvtGB0YLQsNGA0LDQudGC0LXRgdGMINC+0YHRgtCw0LLQuNGC0Ywg0Y3RgtC+0YIg0YDQsNC30LTQtdC7INC60LDQuiDQstC10YHRjCBkaXNrICg1KSwg0L3QsNGH0LjQvdCw0Y8g0YEgMCwg0YEgJXUg0YHQtdC60YLQvtGA0LDQvNC4IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzUwCittc2dpZCAiTGFiZWwgSUQiCittc2dzdHIgIklEINC80LXRgtC60LgiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NTUKK21zZ2lkICJWb2x1bWUgSUQiCittc2dzdHIgIklEINGC0L7QvNCwIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzY1Cittc2dpZCAiQWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAi0JDQu9GM0YLQtdGA0L3QsNGC0LjQstC90YvQtSDRhtC40LvQuNC90LTRgNGLIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6ODcxCittc2dpZCAiTnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgItCa0L7Qu9C40YfQtdGB0YLQstC+INCw0LvRjNGC0LXRgNC90LDRgtC40LLQvdGL0YUg0YbQuNC70LjQvdC00YDQvtCyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6ODk2Cittc2dpZCAiRXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgItCU0L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0LUg0YHQtdC60YLQvtGA0Ysg0L3QsCDRhtC40LvQuNC90LTRgCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjkyMAorbXNnaWQgIkludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICLQmtC+0Y3RhNGE0LjRhtC40LXQvdGCINGH0LXRgNC10LTQvtCy0LDQvdC40Y8iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5NDQKK21zZ2lkICJSb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAi0KHQutC+0YDQvtGB0YLRjCDQstGA0LDRidC10L3QuNGPICjQvtCxL9C80LjQvSkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5NjgKK21zZ2lkICJOdW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICLQmtC+0LvQuNGH0LXRgdGC0LLQviDRhNC40LfQuNGH0LXRgdC60LjRhSDRhtC40LvQuNC90LTRgNC+0LIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDM3Cittc2dpZCAiIgorIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDMgYXMgV2hvbGUgZGlzayAoNSksXG4iCisiYXMgU3VuT1MvU29sYXJpcyBleHBlY3RzIGl0IGFuZCBldmVuIExpbnV4IGxpa2VzIGl0LlxuIgorbXNnc3RyICIiCisi0J/RgNC10LTQu9Cw0LPQsNC10YLRgdGPINC+0YHRgtCw0LLQuNGC0Ywg0YDQsNC30LTQtdC7IDMg0LIg0LLQuNC00LUg0YbQtdC70L7Qs9C+INC00LjRgdC60LAgKDUpLFxuIgorItC60LDQuiDRgtC+0LPQviDQvtC20LjQtNCw0LXRgiBTdW5PUy9Tb2xhcmlzLCDQuCDQutC+0YLQvtGA0YvQuSDQs9C+0LTQuNGC0YHRjyDQtNCw0LbQtSDQtNC70Y8gTGludXguXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDQ4Cittc2dpZCAiIgorIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDBcbiIKKyJpcyBVRlMsIEVYVDJGUyBmaWxlc3lzdGVtIG9yIFN1bk9TIHN3YXAuIFB1dHRpbmcgTGludXggc3dhcFxuIgorInRoZXJlIG1heSBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlIGFuZCBib290YmxvY2suXG4iCisiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHRhZyB0aGUgcGFydGl0aW9uIGFzIExpbnV4IHN3YXA/IgorbXNnc3RyICIiCisi0J3QsNGB0YLQvtGP0YLQtdC70YzQvdC+INGA0LXQutC+0LzQtdC90LTRg9C10YLRgdGPLCDRh9GC0L7QsdGLINGA0LDQt9C00LXQuyDRgdC+INGB0LzQtdGJ0LXQvdC40LXQvCAwXG4iCisi0LHRi9C7INGBINGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80L7QuSBVRlMsIEVYVDJGUyDQuNC70Lgg0YHQstC+0L/QvtC8IFN1bk9TLlxuIgorItCg0LDQt9C80LXRidC10L3QuNC1INC90LAg0L3QtdC8INGB0LLQvtC/0LAgTGludXgg0LzQvtC20LXRgiDRgNCw0LfRgNGD0YjQuNGC0Ywg0LLQsNGI0YMg0YLQsNCx0LvQuNGG0YMg0YDQsNC30LTQtdC70L7QslxuIgorItC4INC30LDQs9GA0YPQt9C+0YfQvdGL0Lkg0LHQu9C+0LouINCS0Ysg0YPQstC10YDQtdC90YssINGH0YLQviDRhdC+0YLQuNGC0LUg0L/QvtC80LXRgtC40YLRjCDRjdGC0L7RgiDRgNCw0LfQtNC10Lsg0LrQsNC6IExpbnV4INGB0LLQvtC/PyAiCisKKyM6IGxpYi9wYWdlci5jOjExMgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCAoJXMpIgorbXNnc3RyICLQstGL0L/QvtC70L3QtdC90LjQtSB3YWl0cGlkINC30LDQstC10YDRiNC40LvQvtGB0Ywg0L3QtdGD0LTQsNGH0LXQuSAoJXMpIgorCisjOiBsaWIvcGF0aC5jOjIwOSBzeXMtdXRpbHMvbHNjcHUuYzoxODE4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjYWxsb2NhdGUgY3B1IHNldCIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LLRi9C00LXQu9C40YLRjCDQsdGD0YTQtdGALlxuIgorCisjOiBsaWIvcGF0aC5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3QgJXMiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC+0LHRgNCw0LHQvtGC0LDRgtGMINGB0L/QuNGB0L7QuiDQptCf0KMgJXMiCisKKyM6IGxpYi9wYXRoLmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2sgJXMiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzIKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG5vdCBvcGVuIFVOSVggc29ja2V0IgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCDQutC+0L3RgdC+0LvRjCIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3OAorIywgZnV6enkKK21zZ2lkICJjYW4gbm90IHNldCBvcHRpb24gZm9yIFVOSVggc29ja2V0IgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQv9C+0LvRg9GH0LjRgtGMINGC0LDQudC8LdCw0YPRgiDQtNC70Y8gJXM6ICVzXG4iCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG5vdCBjb25uZWN0IG9uIFVOSVggc29ja2V0IgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCDQutC+0L3RgdC+0LvRjCIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHBseW1vdXRoIHJlcXVlc3QgJWMgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICIiCisKKyM6IGxpYi9yYW5kdXRpbHMuYzoxMzYKK21zZ2lkICJsaWJjIHBzZXVkby1yYW5kb20gZnVuY3Rpb25zIgorbXNnc3RyICIiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MTcgbGliL3N3YXBwcm9iZXIuYzozMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBwcm9iZSBkZXZpY2UiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC/0LXRgNC10LzQvtGC0LDRgtGMINGD0YHRgtGA0L7QudGB0YLQstC+INC00LvRjyDRgdCy0L7Qv9C40L3Qs9CwIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcHJvYmluZyByZXN1bHQ7IHVzZSB3aXBlZnMoOCkiCittc2dzdHIgIiIKKworIzogbGliL3N3YXBwcm9iZXIuYzozNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgdmFsaWQgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIiVzOiDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LTQvtC/0YPRgdGC0LjQvNGL0Lwg0YHQstC+0L8t0YDQsNC30LTQtdC70L7QvCIKKworIzogbGliL3N3YXBwcm9iZXIuYzo0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5zdXBwb3J0ZWQgc3dhcCB2ZXJzaW9uICclcyciCittc2dzdHIgIiVzOiDQvdC10L/QvtC00LTQtdGA0LbQuNCy0LDQtdC80LDRjyDQstC10YDRgdC40Y8g0YHQstC+0L8gJyVzJyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjkwIGxvZ2luLXV0aWxzL2Noc2guYzo2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzIFvQvtC/0YbQuNC4XSDRg9GB0YLRgNC+0LnRgdGC0LLQvi4uLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTMKK21zZ2lkICJDaGFuZ2UgeW91ciBmaW5nZXIgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgItCY0LfQvNC10L3QtdC90LjQtSDQuNC90YTQvtGA0LzQsNGG0LjQuCBmaW5nZXIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5NgorbXNnaWQgIiAtZiwgLS1mdWxsLW5hbWUgPGZ1bGwtbmFtZT4gIHJlYWwgbmFtZVxuIgorbXNnc3RyICIgLWYsIC0tZnVsbC1uYW1lIDxmdWxsLW5hbWU+ICDQvdCw0YHRgtC+0Y/RidC10LUg0LjQvNGPXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5NworbXNnaWQgIiAtbywgLS1vZmZpY2UgPG9mZmljZT4gICAgICAgIG9mZmljZSBudW1iZXJcbiIKK21zZ3N0ciAiIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICAg0L3QvtC80LXRgCDQutCw0LHQuNC90LXRgtCwXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OAorbXNnaWQgIiAtcCwgLS1vZmZpY2UtcGhvbmUgPHBob25lPiAgIG9mZmljZSBwaG9uZSBudW1iZXJcbiIKK21zZ3N0ciAiIC1wLCAtLW9mZmljZS1waG9uZSA8cGhvbmU+ICAg0YLQtdC70LXRhNC+0L3QvdGL0Lkg0L3QvtC80LXRgCDQutCw0LHQuNC90LXRgtCwXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OQorbXNnaWQgIiAtaCwgLS1ob21lLXBob25lIDxwaG9uZT4gICAgIGhvbWUgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiAtaCwgLS1ob21lLXBob25lIDxwaG9uZT4gICAgINC00L7QvNCw0YjQvdC40Lkg0L3QvtC80LXRgCDRgtC10LvQtdGE0L7QvdCwXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDEgbG9naW4tdXRpbHMvY2hzaC5jOjc4Cittc2dpZCAiIC11LCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAtdSwgLS1oZWxwICAgICDQv9C+0LrQsNC30LDRgtGMINGN0YLRgyDRgdC/0YDQsNCy0LrRgyDQuCDQstGL0LnRgtC4XG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmllbGQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgItC/0L7Qu9C1ICVzINGB0LvQuNGI0LrQvtC8INC00LvQuNC90L3QvtC1IgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTIxIGxvZ2luLXV0aWxzL2Noc2guYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGhhcyBpbGxlZ2FsIGNoYXJhY3RlcnMiCittc2dzdHIgIiVzOiDQuNC80LXRjtGC0YHRjyDQvdC10LTQvtC/0YPRgdGC0LjQvNGL0LUg0YHQuNC80LLQvtC70YsiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTAgbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTYyCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luLmRlZnMgZm9yYmlkcyBzZXR0aW5nICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE1OCBsb2dpbi11dGlscy9jaGZuLmM6MzA5Cittc2dpZCAiT2ZmaWNlIgorbXNnc3RyICLQmtCw0LHQuNC90LXRgiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2MiBsb2dpbi11dGlscy9jaGZuLmM6MTY0IGxvZ2luLXV0aWxzL2NoZm4uYzozMTEKK21zZ2lkICJPZmZpY2UgUGhvbmUiCittc2dzdHIgItCi0LXQu9C10YTQvtC9INCyINC60LDQsdC40L3QtdGC0LUiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjggbG9naW4tdXRpbHMvY2hmbi5jOjE3MCBsb2dpbi11dGlscy9jaGZuLmM6MzEzCittc2dpZCAiSG9tZSBQaG9uZSIKK21zZ3N0ciAi0JTQvtC80LDRiNC90LjQuSDRgtC10LvQtdGE0L7QvSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjIzMworbXNnaWQgIkFib3J0ZWQuIgorbXNnc3RyICLQn9GA0LXRgNCy0LDQvS4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgaGFzIHVuZXhwZWN0ZWQgdmFsdWU6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgZG9lcyBub3QgYWxsb3cgYW55IGNoYW5nZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci5cbiIKK21zZ3N0ciAi0JjQvdGE0L7RgNC80LDRhtC40Y8gZmluZ2VyICrQndCVKiDQuNC30LzQtdC90LXQvdCwLiDQn9C+0L/RgNC+0LHRg9C50YLQtSDQtdGJ0LUg0YDQsNC3INC/0L7Qv9C+0LfQttC1LlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBjaGFuZ2VkLlxuIgorbXNnc3RyICLQmNC90YTQvtGA0LzQsNGG0LjRjyBmaW5nZXIg0LjQt9C80LXQvdC10L3QsC5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQwOCBsb2dpbi11dGlscy9jaHNoLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdSAodXNlciAlZCkgZG9uJ3QgZXhpc3QuIgorbXNnc3RyICLQstGLICjQv9C+0LvRjNC30L7QstCw0YLQtdC70YwgJWQpINC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YLQtS4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MTQgbG9naW4tdXRpbHMvY2hzaC5jOjI0OCBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBcIiVzXCIgZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICLQv9C+0LvRjNC30L7QstCw0YLQtdC70YwgXCIlc1wiINC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDIwIGxvZ2luLXV0aWxzL2Noc2guYzoyNTQKK21zZ2lkICJjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcyIKK21zZ3N0ciAi0LzQvtC20L3QviDRgtC+0LvRjNC60L4g0LjQt9C80LXQvdC40YLRjCDQu9C+0LrQsNC70YzQvdGL0LUg0Y3Qu9C10LzQtdC90YLRiyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIGZpbmdlciBpbmZvIG9mICVzIgorbXNnc3RyICIlcyDQvdC1INCw0LLRgtC+0YDQuNC30L7QstCw0L0g0LTQu9GPINC40LfQvNC10L3QtdC90LjRjyBmaW5nZXIt0LjQvdGE0L7RgNC80LDRhtC40Lgg0L7QsSAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzNSBsb2dpbi11dGlscy9jaHNoLmM6MjcwCittc2dpZCAiVW5rbm93biB1c2VyIGNvbnRleHQiCittc2dzdHIgItCd0LXQuNC30LLQtdGB0YLQvdGL0Lkg0LrQvtC90YLQtdC60YHRgiDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NDEgbG9naW4tdXRpbHMvY2hzaC5jOjI3NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAi0L3QtSDRg9C00LDRkdGC0YHRjyDQt9Cw0LTQsNGC0Ywg0LrQvtC90YLQtdC60YHRgiDQv9C+INGD0LzQvtC70YfQsNC90LjRjiDQtNC70Y8gJXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTIKKyMsIGZ1enp5Cittc2dpZCAicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSBhbHRlcmluZywgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiJXM6INCX0LDQv9GD0YnQtdC90L3Ri9C5IFVJRCDQvdC1INGB0L7QstC/0LDQtNCw0LXRgiDRgSBVSUQn0L7QvCDRgNC10LTQsNC60YLQuNGA0YPQtdC80L7Qs9C+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjywg0LjQt9C80LXQvdC10L3QuNC1INGI0LXQu9C70LAg0LfQsNC/0YDQtdGJ0LXQvdC+XG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgZmluZ2VyIGluZm9ybWF0aW9uIGZvciAlcy5cbiIKK21zZ3N0ciAi0JjQt9C80LXQvdC10L3QuNC1INC40L3RhNC+0YDQvNCw0YbQuNC4IGZpbmdlciDQtNC70Y8gJXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIG5vdCBjaGFuZ2VkLlxuIgorbXNnc3RyICLQmNC90YTQvtGA0LzQsNGG0LjRjyBmaW5nZXIg0L3QtSDQuNC30LzQtdC90LXQvdCwLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6NzIKK21zZ2lkICJDaGFuZ2UgeW91ciBsb2dpbiBzaGVsbC5cbiIKK21zZ3N0ciAi0JjQt9C80LXQvdC10L3QuNC1INGI0LXQu9C70LAg0LTQu9GPINCy0YXQvtC00LAuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBzcGVjaWZ5IGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICDRg9C60LDQt9Cw0YLRjCDRiNC10LvQuyDQtNC70Y8g0LLRhdC+0LTQsFxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6NzYKK21zZ2lkICIgLWwsIC0tbGlzdC1zaGVsbHMgICAgcHJpbnQgbGlzdCBvZiBzaGVsbHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgINCy0YvQstC10YHRgtC4INGB0L/QuNGB0L7QuiDRiNC10LvQu9C+0LIg0Lgg0LLRi9C50YLQuFxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MTAwCittc2dpZCAiTm8ga25vd24gc2hlbGxzLiIKK21zZ3N0ciAi0J3QtdGCINC40LfQstC10YHRgtC90YvRhSDRiNC10LvQu9C+0LIuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjAwCittc2dpZCAic2hlbGwgbXVzdCBiZSBhIGZ1bGwgcGF0aCBuYW1lIgorbXNnc3RyICLRiNC10LvQuyDQtNC+0LvQttC10L0g0LHRi9GC0Ywg0L/QvtC70L3Ri9C8INGB0L7RgdGC0LDQstC90YvQvCDQuNC80LXQvdC10LwiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJcIiVzXCIg0L3QtSDRgdGD0YnQtdGB0YLQstGD0LXRgiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgaXMgbm90IGV4ZWN1dGFibGUiCittc2dzdHIgIlwiJXNcIiDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LjRgdC/0L7Qu9C90Y/QtdC80YvQvCIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy4iCittc2dzdHIgItCf0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6IFwiJXNcIiDQvtGC0YHRg9GC0YHRgtCy0YPQtdGCINCyINGB0L/QuNGB0LrQtSAlcy4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMTQgbG9naW4tdXRpbHMvY2hzaC5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuXG4iCisiVXNlICVzIC1sIHRvIHNlZSBsaXN0LiIKK21zZ3N0ciAiIgorIlwiJXNcIiDQvtGC0YHRg9GC0YHRgtCy0YPQtdGCINCyINGB0L/QuNGB0LrQtSAlcy5cbiIKKyLQmNGB0L/QvtC70YzQt9GD0LnRgtC1ICVzIC1sINC00LvRjyDQv9GA0L7RgdC80L7RgtGA0LAg0YHQv9C40YHQutCwLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIHNoZWxsIG9mICVzIgorbXNnc3RyICIlcyDQvdC1INCw0LLRgtC+0YDQuNC30L7QstCw0L0g0LTQu9GPINC40LfQvNC10L3QtdC90LjRjyDRiNC10LvQu9CwICVzIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6Mjk1Cittc2dpZCAicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSBhbHRlcmluZywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAi0JfQsNC/0YPRidC10L3QvdGL0LkgVUlEINC90LUg0YHQvtCy0L/QsNC00LDQtdGCINGBIFVJRCfQvtC8INGA0LXQtNCw0LrRgtC40YDRg9C10LzQvtCz0L4g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLCDQuNC30LzQtdC90LXQvdC40LUg0YjQtdC70LvQsCDQt9Cw0L/RgNC10YnQtdC90L4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ciBzaGVsbCBpcyBub3QgaW4gJXMsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgItCS0LDRiCDRiNC10LvQuyDQvtGC0YHRg9GC0YHRgtCy0YPQtdGCINCyICVzLCDQuNC30LzQtdC90LXQvdC40LUg0YjQtdC70LvQsCDQt9Cw0L/RgNC10YnQtdC90L4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgc2hlbGwgZm9yICVzLlxuIgorbXNnc3RyICLQmNC30LzQtdC90LXQvdC40LUg0YjQtdC70LvQsCDQtNC70Y8gJXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMTIKK21zZ2lkICJOZXcgc2hlbGwiCittc2dzdHIgItCd0L7QstGL0Lkg0YjQtdC70LsiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjAKK21zZ2lkICJTaGVsbCBub3QgY2hhbmdlZC4iCittc2dzdHIgItCo0LXQu9C7INC90LUg0LjQt9C80LXQvdGR0L0uIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzI1Cittc2dpZCAiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgItCo0LXQu9C7ICrQndCVKiDQuNC30LzQtdC90ZHQvS4g0J/QvtC/0YDQvtCx0YPQudGC0LUg0LXRidC1INGA0LDQtyDQv9C+0L/QvtC30LbQtS4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjkKKyMsIGZ1enp5Cittc2dpZCAiIgorInNldHB3bmFtIGZhaWxlZFxuIgorIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICLQqNC10LvQuyAq0J3QlSog0LjQt9C80LXQvdGR0L0uINCf0L7Qv9GA0L7QsdGD0LnRgtC1INC10YnQtSDRgNCw0Lcg0L/QvtC/0L7Qt9C20LUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hlbGwgY2hhbmdlZC5cbiIKK21zZ3N0ciAi0KjQtdC70Lsg0LjQt9C80LXQvdGR0L0uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIDxwYXNzd29yZGZpbGU+IDx1c2VybmFtZT4uLi5cbiIKK21zZ3N0ciAiJXM6INGE0LDQudC7INC/0LDRgNC+0LvQtdC5INC30LDQvdGP0YIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoxNzQgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjIwIHN5cy11dGlscy9kbWVzZy5jOjExOTMKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHRpbWUgZm9ybWF0OiAlcyIKK21zZ3N0ciAi0J3QtdC40LfQstC10YHRgtC90YvQuSDRhNC+0YDQvNCw0YIg0LLRgNC10LzQtdC90Lg6ICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjgxIGxvZ2luLXV0aWxzL2xhc3QuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW50ZXJydXB0ZWQgJXMiCittc2dzdHIgItCf0YDQtdGA0LLQsNC9ICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NDM5IGxvZ2luLXV0aWxzL2xhc3QuYzo0NTAKK21zZ2lkICJwcmVhbGxvY2F0aW9uIHNpemUgZXhjZWVkZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPi4uLl0gWzx0dHk+Li4uXVxuIgorbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogJXMg0L/RgNC+0LPRgNCw0LzQvNCwIFvQsNGA0LPRg9C80LXQvdGCIC4uLl1cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3MgorbXNnaWQgIlNob3cgYSBsaXN0aW5nIG9mIGxhc3QgbG9nZ2VkIGluIHVzZXJzLlxuIgorbXNnc3RyICLQn9C+0LrQsNC30LDRgtGMINGB0L/QuNGB0L7QuiDQv9C+0YHQu9C10LTQvdC40YUg0LLRhdC+0LTQuNCy0YjQuNGFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5LlxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc1Cittc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgIGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIC08bnVtYmVyPiAgICAgICAgICAgINCy0YvQstC+0LTQuNC80L7QtSDRh9C40YHQu9C+INGB0YLRgNC+0LpcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NgorbXNnaWQgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBkaXNwbGF5IGhvc3RuYW1lcyBpbiB0aGUgbGFzdCBjb2x1bW5cbiIKK21zZ3N0ciAiIC1hLCAtLWhvc3RsYXN0ICAgICAgINC+0YLQvtCx0YDQsNC30LjRgtGMINC40LzQtdC90LAg0YXQvtGB0YLQvtCyINCyINC/0L7RgdC70LXQtNC90LXQuSDQutC+0LvQvtC90LrQtVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc3Cittc2dpZCAiIC1kLCAtLWRucyAgICAgICAgICAgIHRyYW5zbGF0ZSB0aGUgSVAgbnVtYmVyIGJhY2sgaW50byBhIGhvc3RuYW1lXG4iCittc2dzdHIgIiAtZCwgLS1kbnMgICAgICAgICAgICDQv9C10YDQtdCy0LXRgdGC0LggSVAt0LDQtNGA0LXRgSDQvtCx0YDQsNGC0L3QviDQsiDQuNC80Y8g0YXQvtGB0YLQsFxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICB1c2UgYSBzcGVjaWZpYyBmaWxlIGluc3RlYWQgb2YgJXNcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRg9C60LDQt9Cw0L3QvdGL0Lkg0YTQsNC50Lsg0LLQvNC10YHRgtC+ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODAKK21zZ2lkICIgLUYsIC0tZnVsbHRpbWVzICAgICAgcHJpbnQgZnVsbCBsb2dpbiBhbmQgbG9nb3V0IHRpbWVzIGFuZCBkYXRlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODEKK21zZ2lkICIgLWksIC0taXAgICAgICAgICAgICAgZGlzcGxheSBJUCBudW1iZXJzIGluIG51bWJlcnMtYW5kLWRvdHMgbm90YXRpb25cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgyCittc2dpZCAiIC1uLCAtLWxpbWl0IDxudW1iZXI+IGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIC1uLCAtLWxpbWl0IDxudW1iZXI+INC60L7Qu9C40YfQtdGB0YLQstC+INC+0YLQvtCx0YDQsNC20LDQtdC80YvRhSDRgdGC0YDQvtC6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODMKK21zZ2lkICIgLVIsIC0tbm9ob3N0bmFtZSAgICAgZG9uJ3QgZGlzcGxheSB0aGUgaG9zdG5hbWUgZmllbGRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg0Cittc2dpZCAiIC1zLCAtLXNpbmNlIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHNpbmNlIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLXMsIC0tc2luY2UgPHRpbWU+ICAg0L7RgtC+0LHRgNCw0LbQsNGC0Ywg0YHRgtGA0L7QutC4INC90LDRh9C40L3QsNGPINGBINGD0LrQsNC30LDQvdC90L7Qs9C+INCy0YDQtdC80LXQvdC4XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODUKK21zZ2lkICIgLXQsIC0tdW50aWwgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgdW50aWwgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtdCwgLS11bnRpbCA8dGltZT4gICDQvtGC0L7QsdGA0LDQttCw0YLRjCDRgdGC0YDQvtC60Lgg0LTQviDRg9C60LDQt9Cw0L3QvdC+0LPQviDQstGA0LXQvNC10L3QuFxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg2Cittc2dpZCAiIC1wLCAtLXByZXNlbnQgPHRpbWU+IGRpc3BsYXkgd2hvIHdlcmUgcHJlc2VudCBhdCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg3Cittc2dpZCAiIC13LCAtLWZ1bGxuYW1lcyAgICAgIGRpc3BsYXkgZnVsbCB1c2VyIGFuZCBkb21haW4gbmFtZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg4Cittc2dpZCAiIC14LCAtLXN5c3RlbSAgICAgICAgIGRpc3BsYXkgc3lzdGVtIHNodXRkb3duIGVudHJpZXMgYW5kIHJ1biBsZXZlbCBjaGFuZ2VzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OQorbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wcyBpbiB0aGUgc3BlY2lmaWVkIDxmb3JtYXQ+OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpbWV8c2hvcnR8ZnVsbHxpc29cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6ODgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlcyBiZWdpbnMgJXMiCittc2dzdHIgIiIKKyJcbiIKKyIlcyDQvdCw0YfQsNC70YHRjyAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk1NiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY0CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY4Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0LfQvtCx0YDQsNGC0Ywg0L3QvtC80LXRgCIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk3NyBsb2dpbi11dGlscy9sYXN0LmM6OTgyIGxvZ2luLXV0aWxzL2xhc3QuYzo5ODcKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZSB2YWx1ZSBcIiVzXCIiCittc2dzdHIgItC90LXQstC10YDQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDQstGA0LXQvNC10L3QuDogJyVzJyIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjI5IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzozMQorbXNnaWQgIkNvdWxkbid0IGRyb3AgZ3JvdXAgcHJpdmlsZWdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibGlidXNlciBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVzLiIKK21zZ3N0ciAi0L7RiNC40LHQutCwINC40L3QuNGG0LjQsNC70LjQt9Cw0YbQuNC4IGxpYnVzZXI6ICVzLiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjUyCittc2dpZCAiY2hhbmdpbmcgdXNlciBhdHRyaWJ1dGUgZmFpbGVkIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC40LfQvNC10L3QuNGC0Ywg0LDRgtGA0LjQsdGD0YLRiyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8iCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo2NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIGF0dHJpYnV0ZSBub3QgY2hhbmdlZDogJXMiCittc2dzdHIgItCw0YLRgNC40LHRg9GC0Ysg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC90LUg0LjQt9C80LXQvdC10L3RizogJXMiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICV1IGlzIDYwLgorIzogbG9naW4tdXRpbHMvbG9naW4uYzoxODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZWQgb3V0IGFmdGVyICV1IHNlY29uZHMiCittc2dzdHIgItC40YHRgtC10LrQu9C+INCy0YDQtdC80Y8g0L7QttC40LTQsNC90LjRjyDQsiAldSDRgdC10LrRg9C90LQiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiBjYW4ndCByZW9wZW4gdHR5OiAlbSIKK21zZ3N0ciAi0KTQkNCi0JDQm9Cs0J3QkNCvINCe0KjQmNCR0JrQkDog0L3QtSDRg9C00LDRkdGC0YHRjyDQv9C+0LLRgtC+0YDQvdC+INC+0YLQutGA0YvRgtGMIHR0eTogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlcyBpcyBub3QgYSB0ZXJtaW5hbCIKK21zZ3N0ciAi0KTQkNCi0JDQm9Cs0J3QkNCvINCe0KjQmNCR0JrQkDogJXMg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINGC0LXRgNC80LjQvdCw0LvQvtC8IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxMAorIywgYy1mb3JtYXQKK21zZ2lkICJjaG93biAoJXMsICVsdSwgJWx1KSBmYWlsZWQ6ICVtIgorbXNnc3RyICLQvtGI0LjQsdC60LAgY2hvd24gKCVzLCAlbHUsICVsdSk6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxNAorIywgYy1mb3JtYXQKK21zZ2lkICJjaG1vZCAoJXMsICV1KSBmYWlsZWQ6ICVtIgorbXNnc3RyICLQvtGI0LjQsdC60LAgY2htb2QgKCVzLCAldSk6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM3NQorbXNnaWQgIkZBVEFMOiBiYWQgdHR5IgorbXNnc3RyICLQpNCQ0KLQkNCb0KzQndCQ0K8g0J7QqNCY0JHQmtCQOiDQvdC10LLQtdGA0L3Ri9C5IHR0eSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzOiBjaGFuZ2UgcGVybWlzc2lvbnMgZmFpbGVkOiAlbSIKK21zZ3N0ciAi0KTQkNCi0JDQm9Cs0J3QkNCvINCe0KjQmNCR0JrQkDogJXM6INC90LUg0YPQtNCw0LvQvtGB0Ywg0LjQt9C80LXQvdC40YLRjCDRgNCw0LfRgNC10YjQtdC90LjRjzogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgbG9naW46ICUuKnMgIgorbXNnc3RyICLQn9C+0YHQu9C10LTQvdC40Lkg0LLRhdC+0LQg0LIg0YHQuNGB0YLQtdC80YM6ICUuKnMgIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUzMQorIywgYy1mb3JtYXQKK21zZ2lkICJmcm9tICUuKnNcbiIKK21zZ3N0ciAi0LjQtyAlLipzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9uICUuKnNcbiIKK21zZ3N0ciAi0LIgJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjU1MgorIywgZnV6enkKK21zZ2lkICJ3cml0ZSBsYXN0bG9nIGZhaWxlZCIKK21zZ3N0ciAi0J7RgtC60YDRi9GC0LjQtSAlcyDQt9Cw0LLQtdGA0YjQuNC70L7RgdGMINC90LXRg9C00LDRh9C10LkiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRJQUxVUCBBVCAlcyBCWSAlcyIKK21zZ3N0ciAiRElBTFVQINCd0JAgJXMg0KfQldCg0JXQlyAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyBGUk9NICVzIgorbXNnc3RyICLQktCl0J7QlCBST09UINCSICVzINChICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2MAorIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIgorbXNnc3RyICLQktCl0J7QlCBST09UINCSICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorbXNnc3RyICLQktCl0J7QlCDQkiAlcyDQp9CV0KDQldCXICVzINCY0JcgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIgorbXNnc3RyICLQktCl0J7QlCDQkiAlcyDQp9CV0KDQldCXICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjcxOQorbXNnaWQgImxvZ2luOiAiCittc2dzdHIgItC70L7Qs9C40L06ICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUEFNIGZhaWx1cmUsIGFib3J0aW5nOiAlcyIKK21zZ3N0ciAi0YHQsdC+0LkgUEFNLCDQstGL0L/QvtC70L3Rj9C10YLRgdGPINC/0YDQtdGA0YvQstCw0L3QuNC1OiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGRuJ3QgaW5pdGlhbGl6ZSBQQU06ICVzIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQuNC90LjRhtC40LDQu9C40LfQuNGA0L7QstCw0YLRjCBQQU06ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxNworIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gJXUgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICLQodCR0J7QmSDQktCl0J7QlNCQICV1INCY0JcgJXMg0JTQm9CvICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MjUgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxvZ2luIGluY29ycmVjdFxuIgorIlxuIgorbXNnc3RyICIiCisi0J3QtdCy0LXRgNC90YvQuSDQu9C+0LPQuNC9XG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRPTyBNQU5ZIExPR0lOIFRSSUVTICgldSkgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICLQodCb0JjQqNCa0J7QnCDQnNCd0J7Qk9CeINCf0J7Qn9Cr0KLQntCaINCS0KXQntCU0JAgKCV1KSDQmNCXICVzINCU0JvQryAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiBTRVNTSU9OIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAi0KHQkdCe0Jkg0KHQldCh0KHQmNCYINCS0KXQntCU0JAg0JjQlyAlcyDQlNCb0K8gJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg1NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTG9naW4gaW5jb3JyZWN0XG4iCittc2dzdHIgIiIKKyJcbiIKKyLQndC10LLQtdGA0L3Ri9C5INC70L7Qs9C40L1cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4ODIgbG9naW4tdXRpbHMvbG9naW4uYzoxMjMyIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI1NQorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHNldHVwIHByb2JsZW0sIGFib3J0LiIKK21zZ3N0ciAiIgorIlxuIgorItCf0YDQvtCx0LvQtdC80LAg0L3QsNGB0YLRgNC+0LnQutC4INGB0LXQsNC90YHQsC4g0J/RgNC10YDRi9Cy0LDQvdC40LUuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICJOVUxMIHVzZXIgbmFtZSBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICLQn9Cj0KHQotCe0JUg0LjQvNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQsiAlczolZC4g0J/RgNC10YDRi9Cy0LDQvdC40LUuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVElPQ1NDVFRZIGZhaWxlZDogJW0iCittc2dzdHIgIlRJT0NTQ1RUWSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5OiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTc0CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luOiAtaCBpcyBmb3Igc3VwZXJ1c2VyIG9ubHlcbiIKK21zZ3N0ciAibG9naW46IC1oINGC0L7Qu9GM0LrQviDQtNC70Y8g0YHRg9C/0LXRgNC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRj1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6IGxvZ2luIFstcF0gWy1oIDxob3N0Pl0gWy1IXSBbWy1mXSA8dXNlcm5hbWU+XVxuIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogbG9naW4gWy1wXSBbLWggPNC60L7QvNC/0YzRjtGC0LXRgD5dIFtbLWZdIDzQuNC80Y9f0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPPl1cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTkxCisjLCBmdXp6eQorbXNnaWQgIkJlZ2luIGEgc2Vzc2lvbiBvbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICLQktGLINC40YHQv9C+0LvRjNC30YPQtdGC0LUg0YLQtdC90LXQstGL0LUg0L/QsNGA0L7Qu9C4INC90LAg0Y3RgtC+0Lkg0YHQuNGB0YLQtdC80LUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTIzMworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHVzZXIgbmFtZSBcIiVzXCIgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAi0J3QtdCy0LXRgNC90L7QtSDQuNC80Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPIFwiJXNcIiDQsiAlczolZC4g0J/RgNC10YDRi9Cy0LDQvdC40LUuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXBzIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgItC40L3QuNGG0LjQsNC70LjQt9Cw0YbQuNGPINCz0YDRg9C/0L8g0LfQsNCy0LXRgNGI0LjQu9Cw0YHRjCDQvdC10YPQtNCw0YfQtdC5OiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjc5Cittc2dpZCAic2V0Z2lkKCkgZmFpbGVkIgorbXNnc3RyICLQvtGI0LjQsdC60LAgc2V0Z2lkKCkiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMwOQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBuZXcgbWFpbC5cbiIKK21zZ3N0ciAi0JLQsNC8INC90L7QstC+0LUg0L/QuNGB0YzQvNC+LlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbWFpbC5cbiIKK21zZ3N0ciAi0JLQsNC8INC/0LjRgdGM0LzQvi5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzI1Cittc2dpZCAic2V0dWlkKCkgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzEgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2hhbmdlIGRpcmVjdG9yeSBmYWlsZWQiCittc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LnRgtC4INCyINC60LDRgtCw0LvQvtCzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzggbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczOQorIywgYy1mb3JtYXQKK21zZ2lkICJMb2dnaW5nIGluIHdpdGggaG9tZSA9IFwiL1wiLlxuIgorbXNnc3RyICLQktGF0L7QtCDQsiDRgdC40YHRgtC10LzRgyDRgSDQtNC+0LzQsNGI0L3QuNC8INC60LDRgtCw0LvQvtCz0L7QvCA9IFwiL1wiLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNjcKK21zZ2lkICJjb3VsZG4ndCBleGVjIHNoZWxsIHNjcmlwdCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0Ywg0YjQtdC70Lst0YHQutGA0LjQv9GCIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNjkKK21zZ2lkICJubyBzaGVsbCIKK21zZ3N0ciAi0L3QtdGCINGI0LXQu9C70LAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgY29udGFpbnMgaW52YWxpZCBudW1lcmljYWwgdmFsdWU6ICVzIgorbXNnc3RyICIlczogJXMg0YHQvtC00LXRgNC20LjRgiDQvdC10LTQvtC/0YPRgdGC0LjQvNC+0LUg0YfQuNGB0LvQvtCy0L7QtSDQt9C90LDRh9C10L3QuNC1OiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6Mzc1Cittc2dpZCAiaHVzaCBsb2dpbiBzdGF0dXM6IHJlc3RvcmUgb3JpZ2luYWwgSURzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOCBzeXMtdXRpbHMvbHNjcHUuYzoxNTQwIHN5cy11dGlscy9sc2NwdS5jOjE1NTAKK21zZ2lkICJubyIKK21zZ3N0ciAi0L3QtdGCIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNyBtaXNjLXV0aWxzL2xzYmxrLmM6MTgxCittc2dpZCAidXNlciBuYW1lIgorbXNnc3RyICLQuNC80Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNworbXNnaWQgIlVzZXJuYW1lIgorbXNnc3RyICLQmNC80Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOCBzeXMtdXRpbHMvcmVuaWNlLmM6NTQKK21zZ2lkICJ1c2VyIElEIgorbXNnc3RyICLQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE5Cittc2dpZCAicGFzc3dvcmQgbm90IHJlcXVpcmVkIgorbXNnc3RyICLQv9Cw0YDQvtC70Ywg0L3QtSDRgtGA0LXQsdGD0LXRgtGB0Y8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE5Cittc2dpZCAiUGFzc3dvcmQgbm90IHJlcXVpcmVkIgorbXNnc3RyICLQn9Cw0YDQvtC70Ywg0L3QtSDRgtGA0LXQsdGD0LXRgtGB0Y8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAibG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgItCy0YXQvtC0INC/0L4g0L/QsNGA0L7Qu9GOINC+0YLQutC70Y7Rh9C10L0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAiTG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgItCS0YXQvtC0INC/0L4g0L/QsNGA0L7Qu9GOINC+0YLQutC70Y7Rh9C10L0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCittc2dpZCAicGFzc3dvcmQgZGVmaW5lZCwgYnV0IGxvY2tlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgIlBhc3N3b3JkIGlzIGxvY2tlZCIKK21zZ3N0ciAi0J/QsNGA0L7Qu9GMINC30LDQsdC70L7QutC40YDQvtCy0LDQvSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJsb2cgaW4gZGlzYWJsZWQgYnkgbm9sb2dpbig4KSBvciBwYW1fbm9sb2dpbig4KSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorbXNnaWQgIk5vIGxvZ2luIgorbXNnc3RyICLQndC10YIgbG9naW4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCittc2dpZCAicHJpbWFyeSBncm91cCBuYW1lIgorbXNnc3RyICLQuNC80Y8g0L/QtdGA0LLQuNGH0L3QvtC5INCz0YDRg9C/0L/RiyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJQcmltYXJ5IGdyb3VwIgorbXNnc3RyICLQntGB0L3QvtCy0L3QsNGPINCz0YDRg9C/0L/QsCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjQKK21zZ2lkICJwcmltYXJ5IGdyb3VwIElEIgorbXNnc3RyICJJRCDQv9C10YDQstC40YfQvdC+0Lkg0LPRgNGD0L/Qv9GLIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgbmFtZXMiCittc2dzdHIgItC40LzQtdC90LAg0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvRhSDQs9GA0YPQv9C/IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICLQlNC+0L/QvtC70L3QuNGC0LXQu9GM0L3Ri9C1INCz0YDRg9C/0L/RiyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiSUQg0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvRhSDQs9GA0YPQv9C/IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICJJRCDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3Ri9GFINCz0YDRg9C/0L8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3Cittc2dpZCAiaG9tZSBkaXJlY3RvcnkiCittc2dzdHIgItC00L7QvNCw0YjQvdC40Lkg0LrQsNGC0LDQu9C+0LMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3Cittc2dpZCAiSG9tZSBkaXJlY3RvcnkiCittc2dzdHIgItCU0L7QvNCw0YjQvdC40Lkg0LrQsNGC0LDQu9C+0LMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4Cittc2dpZCAibG9naW4gc2hlbGwiCittc2dzdHIgItC60L7QvNCw0L3QtNC90YvQuSDQv9GA0L7RhtC10YHRgdC+0YAgbG9naW4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4Cittc2dpZCAiU2hlbGwiCittc2dzdHIgItCa0L7QvNCw0L3QtNC90YvQuSDQv9GA0L7RhtC10YHRgdC+0YAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiZnVsbCB1c2VyIG5hbWUiCittc2dzdHIgItC/0L7Qu9C90L7QtSDQuNC80Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgIkdlY29zIGZpZWxkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiZGF0ZSBvZiBsYXN0IGxvZ2luIgorbXNnc3RyICLQtNCw0YLQsCDQv9C+0YHQu9C10LTQvdC10LPQviDQstGF0L7QtNCwINCyINGB0LjRgdGC0LXQvNGDIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorbXNnaWQgIkxhc3QgbG9naW4iCittc2dzdHIgItCf0L7RgdC70LXQtNC90LjQuSDQstGF0L7QtCDQsiDRgdC40YHRgtC10LzRgyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJsYXN0IHR0eSB1c2VkIgorbXNnc3RyICLQv9C+0YHQu9C10LTQvdC40Lkg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC90YvQuSDRgtC10YDQvNC40L3QsNC7IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgIkxhc3QgdGVybWluYWwiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJob3N0bmFtZSBkdXJpbmcgdGhlIGxhc3Qgc2Vzc2lvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorbXNnaWQgIkxhc3QgaG9zdG5hbWUiCittc2dzdHIgItCY0LzRjyDQv9C+0YHQu9C10LTQvdC10LPQviDQutC+0LzQv9GM0Y7RgtC10YDQsCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJkYXRlIG9mIGxhc3QgZmFpbGVkIGxvZ2luIgorbXNnc3RyICLQtNCw0YLQsCDQv9C+0YHQu9C10LTQvdC10LPQviDQvdC10YPQtNCw0YfQvdC+0LPQviDQstGF0L7QtNCwINCyINGB0LjRgdGC0LXQvNGDIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworbXNnaWQgIkZhaWxlZCBsb2dpbiIKK21zZ3N0ciAi0J3QtdGD0LTQsNGH0L3Ri9C5INCy0YXQvtC0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorbXNnaWQgIndoZXJlIGRpZCB0aGUgbG9naW4gZmFpbD8iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKK21zZ2lkICJGYWlsZWQgbG9naW4gdGVybWluYWwiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJ1c2VyJ3MgaHVzaCBzZXR0aW5ncyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgIkh1c2hlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgImRheXMgdXNlciBpcyB3YXJuZWQgb2YgcGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAi0LrQvtC70LjRh9C10YHRgtCy0L4g0LTQvdC10Lks0LfQsCDQutC+0YLQvtGA0YvQtSDQv9GA0LXQtNGD0L/RgNC10LbQtNCw0YLRjCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0L7QsSDQuNGB0YLQtdGH0LXQvdC40Lgg0YHRgNC+0LrQsCDQtNC10LnRgdGC0LLQuNGPINC/0LDRgNC+0LvRjyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzYKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIHdhcm4gaW50ZXJ2YWwiCittc2dzdHIgItCY0L3RgtC10YDQstCw0Lsg0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjRjyDQvtCxINC40YHRgtC10YfQtdC90LjQuCDRgdGA0L7QutCwINC00LXQudGB0YLQstC40Y8g0L/QsNGA0L7Qu9GPIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgInBhc3N3b3JkIGV4cGlyYXRpb24gZGF0ZSIKK21zZ3N0ciAi0LTQsNGC0LAg0LjRgdGC0LXRh9C10L3QuNC1INGB0YDQvtC60LAg0LTQtdC50YHRgtCy0LjRjyDQv9Cw0YDQvtC70Y8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAi0KHRgNC+0Log0LTQtdC50YHRgtCy0LjRjyDQv9Cw0YDQvtC70Y8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4Cittc2dpZCAiZGF0ZSBvZiBsYXN0IHBhc3N3b3JkIGNoYW5nZSIKK21zZ3N0ciAi0LTQsNGC0LAg0L/QvtGB0LvQtdC00L3QtdC5INGB0LzQtdC90Ysg0L/QsNGA0L7Qu9GPIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorbXNnaWQgIlBhc3N3b3JkIGNoYW5nZWQiCittc2dzdHIgItCf0LDRgNC+0LvRjCDQuNC30LzQtdC90ZHQvSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzkKK21zZ2lkICJudW1iZXIgb2YgZGF5cyByZXF1aXJlZCBiZXR3ZWVuIGNoYW5nZXMiCittc2dzdHIgItGC0YDQtdCx0YPQtdC80L7QtSDQutC+0LvQuNGH0LXRgdGC0LLQviDQtNC90LXQuSDQvNC10LbQtNGDINC40LfQvNC10L3QtdC90LjRj9C80LgiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAiTWluaW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZGF5cyBhIHBhc3N3b3JkIG1heSByZW1haW4gdW5jaGFuZ2VkIgorbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70YzQvdC+0LUg0YfQuNGB0LvQviDQtNC90LXQuSwg0LIg0YLQtdGH0LXQvdC40LUg0LrQvtGC0L7RgNGL0YUg0L/QsNGA0L7Qu9GMINC80L7QttC10YIg0L3QtSDQvNC10L3Rj9GC0YzRgdGPIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIk1heGltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJ0aGUgdXNlcidzIHNlY3VyaXR5IGNvbnRleHQiCittc2dzdHIgItC60L7QvdGC0LXQutGB0YIg0LHQtdC30L7Qv9Cw0YHQvdC+0YHRgtC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJTZWxpbnV4IGNvbnRleHQiCittc2dzdHIgItCa0L7QvdGC0LXQutGB0YIgU2VsaW51eCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIHJ1biBieSB0aGUgdXNlciIKK21zZ3N0ciAi0LrQvtC70LjRh9C10YHRgtCy0L4g0L/RgNC+0YbQtdGB0YHQvtCyLCDQutC+0YLQvtGA0YvQtSDQt9Cw0L/Rg9GB0YLQuNC7INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKK21zZ2lkICJSdW5uaW5nIHByb2Nlc3NlcyIKK21zZ3N0ciAi0JfQsNC/0YPRidC10L3QvdGL0LUg0L/RgNC+0YbQtdGB0YHRiyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyODggbWlzYy11dGlscy9maW5kbW50LmM6MTM2IG1pc2MtdXRpbHMvbHNibGsuYzoyMzEKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBjb2x1bW5zIHNwZWNpZmllZCwgdGhlIGxpbWl0IGlzICV6dSBjb2x1bW5zIgorbXNnc3RyICLRg9C60LDQt9Cw0L3QviDRgdC70LjRiNC60L7QvCDQvNC90L7Qs9C+INC/0L7Qu9C10LksINC+0LPRgNCw0L3QuNGH0LXQvdC40LUgLSAlenUg0L/QvtC70LXQuSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDMgc3lzLXV0aWxzL2xzaXBjLmM6NDU2Cittc2dpZCAidW5zdXBwb3J0ZWQgdGltZSB0eXBlIgorbXNnc3RyICLQvdC10L/QvtC00LTQtdGA0LbQuNCy0LDQtdC80YvQuSDRgtC40L8g0LLRgNC10LzQtdC90LgiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjb21wb3NlIHRpbWUgc3RyaW5nIgorbXNnc3RyICLQntGI0LjQsdC60LAg0LfQsNC/0LjRgdC4INGA0LDQt9C00LXQu9CwINC90LAgJXNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo2NDgKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvQtSDQs9GA0YPQv9C/0YsiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA3MQorbXNnaWQgImludGVybmFsIGVycm9yOiB1bmtub3duIGNvbHVtbiIKK21zZ3N0ciAi0LLQvdGD0YLRgNC10L3QvdGP0Y8g0L7RiNC40LHQutCwOiDQvdC10LjQt9Cy0LXRgdGC0L3Ri9C5INGB0YLQvtC70LHQtdGGIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzUgc3lzLXV0aWxzL2xzaXBjLmM6NTAzIHN5cy11dGlscy9sc2lwYy5jOjYyNQorIzogc3lzLXV0aWxzL2xzaXBjLmM6NjgwIHN5cy11dGlscy9sc2lwYy5jOjgzOCBzeXMtdXRpbHMvbHNpcGMuYzoxMDM2Cittc2dpZCAiZmFpbGVkIHRvIHNldCBkYXRhIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQtNCw0YLRjCDQtNCw0L3QvdGL0LUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTE2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTGFzdCBsb2dzOlxuIgorbXNnc3RyICIiCisiXG4iCisi0J/QvtGB0LvQtdC00L3QuNC1INCy0YXQvtC00Ysg0LIg0YHQuNGB0YLQtdC80YM6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyOCBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMSBtaXNjLXV0aWxzL21jb29raWUuYzo4MiBtaXNjLXV0aWxzL3V1aWRkLmM6NzAKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI1IHN5cy11dGlscy9kbWVzZy5jOjI2NCBzeXMtdXRpbHMvaXBjbWsuYzo2NgorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2MCBzeXMtdXRpbHMvbHNpcGMuYzoyNzcgc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA0CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjk1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MCB0ZXh0LXV0aWxzL2xpbmUuYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgNGLXVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzEKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgItCf0L7QutCw0LfQsNGC0Ywg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L7QsSDQuNC30LLQtdGB0YLQvdGL0YUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GP0YUg0YHQuNGB0YLQtdC80YsuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNAorbXNnaWQgIiAtYSwgLS1hY2MtZXhwaXJhdGlvbiAgICAgZGlzcGxheSBpbmZvIGFib3V0IHBhc3N3b3JkcyBleHBpcmF0aW9uXG4iCittc2dzdHIgIiAtYSwgLS1hY2MtZXhwaXJhdGlvbiAgICAg0LLRi9Cy0LXRgdGC0Lgg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L7QsSDQuNGB0YLQtdGH0LXQvdC40Lgg0YHRgNC+0LrQsCDQtNC10LnRgdGC0LLQuNGPINC/0LDRgNC+0LvQtdC5XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNQorbXNnaWQgIiAtYywgLS1jb2xvbi1zZXBhcmF0ZSAgICAgZGlzcGxheSBkYXRhIGluIGEgZm9ybWF0IHNpbWlsYXIgdG8gL2V0Yy9wYXNzd2RcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICDQstGL0LLQtdGB0YLQuCDQtNCw0L3QvdGL0LUg0LIg0YTQvtGA0LzQsNGC0LUg0YHRhdC+0LbQtdC8INGBINGE0L7RgNC80LDRgtC+0Lwg0YTQsNC50LvQsCAvZXRjL3Bhc3N3ZFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzYgc3lzLXV0aWxzL2xzaXBjLmM6Mjk2Cittc2dpZCAiIC1lLCAtLWV4cG9ydCAgICAgICAgICAgICBkaXNwbGF5IGluIGFuIGV4cG9ydC1hYmxlIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1lLCAtLWV4cG9ydCAgICAgICAgICAgICDQstGL0LLQtdGB0YLQuCDQsiDRhNC+0YDQvNCw0YLQtSDQtNC70Y8g0Y3QutGB0L/QvtGA0YLQuNGA0L7QstCw0L3QuNGPINC00LDQvdC90YvRhVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzcKK21zZ2lkICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIGRpc3BsYXkgZGF0YSBhYm91dCB0aGUgdXNlcnMnIGxhc3QgZmFpbGVkIGxvZ2luc1xuIgorbXNnc3RyICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgINCy0YvQstC10YHRgtC4INC00LDQvdC90YvQtSDQv9C+INC/0L7RgdC70LXQtNC90LjQvCDQvdC10YPQtNCw0YfQvdGL0Lwg0LLRhdC+0LTQsNC8INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOAorbXNnaWQgIiAtRywgLS1zdXBwLWdyb3VwcyAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBncm91cHNcbiIKK21zZ3N0ciAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICDQstGL0LLQtdGB0YLQuCDQuNC90YTQvtGA0LzQsNGG0LjRjiDQviDQs9GA0YPQv9C/0LDRhVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzkKK21zZ2lkICIgLWcsIC0tZ3JvdXBzPTxncm91cHM+ICAgIGRpc3BsYXkgdXNlcnMgYmVsb25naW5nIHRvIGEgZ3JvdXAgaW4gPGdyb3Vwcz5cbiIKK21zZ3N0ciAiIC1nLCAtLWdyb3Vwcz080LPRgNGD0L/Qv9GLPiAgICDQstGL0LLQtdGB0YLQuCDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuSwg0LLRhdC+0LTRj9GJ0LjRhSDQsiDQs9GA0YPQv9C/0YMg0LjQtyA80LPRgNGD0L/Qv9GLPlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDAKK21zZ2lkICIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIHNob3cgaW5mbyBhYm91dCB0aGUgdXNlcnMnIGxhc3QgbG9naW4gc2Vzc2lvbnNcbiIKK21zZ3N0ciAiIC1MLCAtLWxhc3QgICAgICAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INC/0L7RgdC70LXQtNC90LXQvCDQstGF0L7QtNC1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRj1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDEKK21zZ2lkICIgLWwsIC0tbG9naW5zPTxsb2dpbnM+ICAgIGRpc3BsYXkgb25seSB1c2VycyBmcm9tIDxsb2dpbnM+XG4iCittc2dzdHIgIiAtbCwgLS1sb2dpbnM9PGxvZ2lucz4gICAg0LLRi9Cy0LXRgdGC0Lgg0YLQvtC70YzQutC+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5INC40LcgPGxvZ2lucz5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQyIHN5cy11dGlscy9sc2lwYy5jOjI5OAorbXNnaWQgIiAtbiwgLS1uZXdsaW5lICAgICAgICAgICAgZGlzcGxheSBlYWNoIHBpZWNlIG9mIGluZm9ybWF0aW9uIG9uIGEgbmV3IGxpbmVcbiIKK21zZ3N0ciAiIC1uLCAtLW5ld2xpbmUgICAgICAgICAgICDQstGL0LLQvtC00LjRgtGMINC60LDQttC00YvQuSDQsdC70L7QuiDQuNC90YTQvtGA0LzQsNGG0LjQuCDRgSDQvdC+0LLQvtC5INGB0YLRgNC+0LrQuFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDMgc3lzLXV0aWxzL2xzaXBjLmM6MjkxCittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NCBzeXMtdXRpbHMvbHNpcGMuYzoyOTIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBkb24ndCB0cnVuY2F0ZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NSBzeXMtdXRpbHMvbHNpcGMuYzozMDAKK21zZ2lkICIgLW8sIC0tb3V0cHV0Wz08bGlzdD5dICAgIGRlZmluZSB0aGUgY29sdW1ucyB0byBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dFs9PGxpc3Q+XSAgICDQvtC/0YDQtdC00LXQu9C40YLRjCDQstGL0LLQvtC00LjQvNGL0LUg0YHRgtC+0LvQsdGG0YtcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ2Cittc2dpZCAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gbG9naW4gYnkgcGFzc3dvcmQuXG4iCittc2dzdHIgIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAg0LLRi9Cy0LXRgdGC0Lgg0LjQvdGE0L7RgNC80LDRhtC40Y4sINGB0LLRj9C30LDQvdC90YPRjiDRgdC+INCy0YXQvtC00L7QvCDQv9C+INC/0LDRgNC+0LvRji5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ3IHN5cy11dGlscy9sc2lwYy5jOjMwMgorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgZGlzcGxheSBpbiByYXcgbW9kZVxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgINC+0YLQvtCx0YDQsNC30LjRgtGMINCyINGE0L7RgNC80LDRgtC1INGB0YvRgNGL0YUg0LTQsNC90L3Ri9GFXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OAorbXNnaWQgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAgZGlzcGxheSBzeXN0ZW0gYWNjb3VudHNcbiIKK21zZ3N0ciAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICDQstGL0LLQtdGB0YLQuCDRgdC40YHRgtC10LzQvdGL0YUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LlcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ5IHN5cy11dGlscy9sc2lwYy5jOjI5MworbXNnaWQgIiAgICAgLS10aW1lLWZvcm1hdD08dHlwZT4gZGlzcGxheSBkYXRlcyBpbiBzaG9ydCwgZnVsbCBvciBpc28gZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS10aW1lLWZvcm1hdD08dHlwZT4g0LLRi9Cy0LXRgdGC0Lgg0LTQsNGC0Ysg0LIg0LrQvtGA0L7RgtC60L7QvCwg0L/QvtC70L3QvtC8INGE0L7RgNC80LDRgtC1INC40LvQuCDRhNC+0YDQvNCw0YLQtSBpc29cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUwCittc2dpZCAiIC11LCAtLXVzZXItYWNjcyAgICAgICAgICBkaXNwbGF5IHVzZXIgYWNjb3VudHNcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXItYWNjcyAgICAgICAgICDQvtGC0L7QsdGA0LDQt9C40YLRjCDQv9C+0LvRjNC30L7QstCw0YLQtdC70YzRgdC60LjQtSDQsNC60LrQsNGD0L3RgtGLXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MQorbXNnaWQgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgZGlzcGxheSBTRUxpbnV4IGNvbnRleHRzXG4iCittc2dzdHIgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAg0L/QvtC60LDQt9Cw0YLRjCDQutC+0L3RgtC10LrRgdGCIFNFTGludXhcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUyCittc2dpZCAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0IHVzZXIgZW50cmllcyB3aXRoIGEgbnVsIGNoYXJhY3RlclxuIgorbXNnc3RyICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgINGA0LDQt9Cz0YDQsNC90LjRh9C40YLRjCDQv9C+0LvRjNC30L7QstCw0YLQtdC70YzRgdC60LjQtSDQtNCw0L3QvdGL0LUg0L3Rg9C70Ywt0YHQuNC80LLQvtC70L7QvFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTMKK21zZ2lkICIgICAgIC0td3RtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3Igd3RtcFxuIgorbXNnc3RyICIgICAgIC0td3RtcC1maWxlIDxwYXRoPiAgINGD0YHRgtCw0L3QvtCy0LjRgtGMINC/0YPRgtGMINC00LvRjyB3dG1wXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1NAorbXNnaWQgIiAgICAgLS1idG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciBidG1wXG4iCittc2dzdHIgIiAgICAgLS1idG1wLWZpbGUgPHBhdGg+ICAg0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0L/Rg9GC0Ywg0LTQu9GPIHd0bXBcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjU5IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDcgc3lzLXV0aWxzL2xzY3B1LmM6MTk3OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLQlNC+0YHRgtGD0L/QvdGL0LUg0L/QvtC70Y86XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ0MgorbXNnaWQgImZhaWxlZCB0byByZXF1ZXN0IHNlbGludXggc3RhdGUiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC/0YDQvtGB0LjRgtGMINGB0L7RgdGC0L7Rj9C90LjQtSBzZWxpbnV4IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NTYgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDYwCittc2dpZCAiT25seSBvbmUgdXNlciBtYXkgYmUgc3BlY2lmaWVkLiBVc2UgLWwgZm9yIG11bHRpcGxlIHVzZXJzLiIKK21zZ3N0ciAi0JzQvtC20LXRgiDQsdGL0YLRjCDRg9C60LDQt9Cw0L0g0YLQvtC70YzQutC+INC+0LTQuNC9INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjC4g0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSAtbCDQtNC70Y8g0YPQutCw0LfQsNC90LjRjyDQvdC10YHQutC+0LvRjNC60LjRhSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuS4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjU1Cittc2dpZCAiY291bGQgbm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGD0YHRgtCw0L3QvtCy0LjRgtGMINCw0YLRgNC40LHRg9GC0Ysg0YLQtdGA0LzQuNC90LDQu9CwIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo1NworbXNnaWQgImdldGxpbmUoKSBmYWlsZWQiCittc2dzdHIgItC+0YjQuNCx0LrQsCDQstGL0LfQvtCy0LAgZ2V0bGluZSgpIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNDgKK21zZ2lkICJQYXNzd29yZDogIgorbXNnc3RyICLQn9Cw0YDQvtC70Yw6ICIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTU0IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDA1Cittc2dpZCAiY3J5cHQgZmFpbGVkIgorbXNnc3RyICLRiNC40YTRgNC+0LLQsNC90LjQtSDQt9Cw0LLQtdGA0YjQuNC70L7RgdGMINC90LXRg9C00LDRh9C10LkiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE2NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGdyb3VwPlxuIgorbXNnc3RyICIgJXMgPNCz0YDRg9C/0L/QsD5cbiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTY5Cittc2dpZCAiTG9nIGluIHRvIGEgbmV3IGdyb3VwLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIwNworbXNnaWQgIndobyBhcmUgeW91PyIKK21zZ3N0ciAi0LrRgtC+INCy0Ys/IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTEgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjIzIHN5cy11dGlscy9uc2VudGVyLmM6NDIzCittc2dpZCAic2V0Z2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0Z2lkINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxNiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTgKK21zZ2lkICJubyBzdWNoIGdyb3VwIgorbXNnc3RyICLQvdC10YIg0YLQsNC60L7QuSDQs9GA0YPQv9C/0YsuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjEgc3lzLXV0aWxzL21vdW50LmM6NDkxCittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQiCittc2dzdHIgItC00L7RgdGC0YPQvyDQt9Cw0L/RgNC10YnQtdC9IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjcgc3lzLXV0aWxzL25zZW50ZXIuYzo0MjUKK21zZ2lkICJzZXR1aWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjkKK21zZ2lkICJQb2xpdGVseSByZWZ1c2UgYSBsb2dpbi5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhpcyBhY2NvdW50IGlzIGN1cnJlbnRseSBub3QgYXZhaWxhYmxlLlxuIgorbXNnc3RyICLQrdGC0LAg0YPRh9C10YLQvdCw0Y8g0LfQsNC/0LjRgdGMINCyINC00LDQvdC90YvQuSDQvNC+0LzQtdC90YIg0L3QtdC00L7RgdGC0YPQv9C90LAuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBzZXNzaW9uOiAlcyIKK21zZ3N0ciAi0L3QtSDQvNC+0LPRgyDQvtGC0LrRgNGL0YLRjCDRgdC10YHRgdC40Y46ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMDQKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGNoaWxkIHByb2Nlc3MiCittc2dzdHIgItC90LUg0LzQvtCz0YMg0YHQvtC30LTQsNGC0Ywg0LTQvtGH0LXRgNC90LjQuSDQv9GA0L7RhtC10YHRgSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICLQvdC1INC80L7Qs9GDINGB0LzQtdC90LjRgtGMINC60LDRgtCw0LvQvtCzINC90LAgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMyMQorbXNnaWQgImNhbm5vdCBibG9jayBzaWduYWxzIgorbXNnc3RyICLQvdC1INC80L7Qs9GDINC30LDQsdC70L7QutC40YDQvtCy0LDRgtGMINGB0LjQs9C90LDQu9GLIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMzUgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzQzCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNDkgbWlzYy11dGlscy91dWlkZC5jOjQwNyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc3MQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INGD0YHRgtCw0L3QvtCy0LjRgtGMINC+0LHRgNCw0LHQvtGC0YfQuNC6INGB0LjQs9C90LDQu9CwIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNzQKK21zZ2lkICIgKGNvcmUgZHVtcGVkKSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZCwga2lsbGluZyBzaGVsbC4uLiIKK21zZ3N0ciAiIgorIlxuIgorItCh0LXRgdGB0LjRjyDQt9Cw0LLQtdGA0YjQtdC90LAsINC30LDQstC10YDRiNC10L3QuNC1INGA0LDQsdC+0YLRiyDRiNC10LvQu9CwLi4uIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC4uLmtpbGxlZC5cbiIKK21zZ3N0ciAiIC4uLtC30LDQstC10YDRiNC10L0uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQ4NgorbXNnaWQgIm1heSBub3QgYmUgdXNlZCBieSBub24tcm9vdCB1c2VycyIKK21zZ3N0ciAi0L3QtSDQvNC+0LbQtdGCINCx0YvRgtGMINC40YHQv9C+0LvRjNC30L7QstCw0L3QviDQvdC1INGB0YPQv9C10YDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y/QvNC4IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MTQKK21zZ2lkICJpbmNvcnJlY3QgcGFzc3dvcmQiCittc2dzdHIgItC90LXQstC10YDQvdGL0Lkg0L/QsNGA0L7Qu9GMIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1OTgKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwcyIKK21zZ3N0ciAi0L3QtSDQvNC+0LMg0LfQsNC00LDRgtGMINCz0YDRg9C/0L/RiyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjEzIHN5cy11dGlscy9lamVjdC5jOjY2NQorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXAgaWQiCittc2dzdHIgItC90LUg0LzQvtCzINC30LDQtNCw0YLRjCBJRCDQs9GA0YPQv9C/0YsiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjYxNSBzeXMtdXRpbHMvZWplY3QuYzo2NjgKK21zZ2lkICJjYW5ub3Qgc2V0IHVzZXIgaWQiCittc2dzdHIgItC90LUg0LzQvtCzINC30LDQtNCw0YLRjCBJRCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAtdSA8dXNlcj4gW1stLV0gPGNvbW1hbmQ+XVxuIgorbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogbmFtZWkgWy1teF0g0L/Rg9GC0LXQstC+0LVf0LjQvNGPIFvQv9GD0YLQtdCy0L7QtV/QuNC80Y8gLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2ODkgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzINC/0YDQvtCz0YDQsNC80LzQsCBb0LDRgNCz0YPQvNC10L3RgiAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY5MAorbXNnaWQgIiIKKyJcbiIKKyJSdW4gPGNvbW1hbmQ+IHdpdGggdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCBvZiA8dXNlcj4uICBJZiAtdSBpc1xuIgorIm5vdCBnaXZlbiwgZmFsbCBiYWNrIHRvIHN1KDEpLWNvbXBhdGlibGUgc2VtYW50aWNzIGFuZCBleGVjdXRlIHN0YW5kYXJkIHNoZWxsLlxuIgorIlRoZSBvcHRpb25zIC1jLCAtZiwgLWwsIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLXUuXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQl9Cw0L/Rg9GB0YLQuNGC0YwgPGNvbW1hbmQ+INC+0YIg0LjQvNC10L3QuCDRgtC10LrRg9GJ0LXQs9C+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQuCDQs9GA0YPQv9C/0Ysg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPIDx1c2VyPi4g0JXRgdC70LhcbiIKKyItdSDQvdC1INC30LDQtNCw0L0sINCy0LXRgNC90YPRgtGM0YHRjyDQuiBzdSgxKS3RgdC+0LLQvNC10YHRgtC40LzQvtC80YMg0LfQvdCw0YfQtdC90LjRjiDQuCDQt9Cw0L/Rg9GB0YLQuNGC0Ywg0YHRgtCw0L3QtNCw0YDRgtC90YvQuSDRiNC10LvQuy5cbiIKKyLQn9Cw0YDQsNC80LXRgtGA0YsgLWMsIC1mLCAtbCDQuCAtcyDRj9Cy0LvRj9GO0YLRgdGPINCy0LfQsNC40LzQvtC40YHQutC70Y7RidCw0Y7RidC40LzQuCDRgSAtdS5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njk3Cittc2dpZCAiIC11LCAtLXVzZXIgPHVzZXI+ICAgICAgICAgICAgIHVzZXJuYW1lXG4iCittc2dzdHIgIiAtdSwgLS11c2VyIDx1c2VyPiAgICAgICAgICAgICDQuNC80Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwMgorbXNnaWQgIiIKKyJcbiIKKyJDaGFuZ2UgdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCB0byB0aGF0IG9mIDx1c2VyPi5cbiIKKyJBIG1lcmUgLSBpbXBsaWVzIC1sLiAgSWYgPHVzZXI+IGlzIG5vdCBnaXZlbiwgcm9vdCBpcyBhc3N1bWVkLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwOQorbXNnaWQgIiAtbSwgLXAsIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgIGRvIG5vdCByZXNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTAKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgICAgICAgICBzcGVjaWZ5IHRoZSBwcmltYXJ5IGdyb3VwXG4iCittc2dzdHIgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICAgICAgICAgINGD0LrQsNC30LDRgtGMINC/0LXRgNCy0LjRh9C90YPRjiDQs9GA0YPQv9C/0YNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzExCittc2dpZCAiIgorIiAtRywgLS1zdXBwLWdyb3VwIDxncm91cD4gICAgICAgIHNwZWNpZnkgYSBzdXBwbGVtZW50YWwgZ3JvdXBcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtRywgLS1zdXBwLWdyb3VwIDxncm91cD4gICAgICAgINGD0LrQsNC30LDRgtGMINC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdGD0Y4g0LPRgNGD0L/Qv9GDXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMworIywgZnV6enkKK21zZ2lkICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICDQrdGC0L4g0L3QtdCx0L7Qu9GM0YjQvtC1INGA0YPQutC+0LLQvtC00YHRgtCy0L4g0L/QviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTQKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTUKK21zZ2lkICIiCisiIC0tc2Vzc2lvbi1jb21tYW5kIDxjb21tYW5kPiAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZG8gbm90IGNyZWF0ZSBhIG5ldyBzZXNzaW9uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE3CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgIHBhc3MgLWYgdG8gdGhlIHNoZWxsIChmb3IgY3NoIG9yIHRjc2gpXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICDQn9GA0L7QstC10YDQutCwINCy0LXRgNGB0LjQuCBnZXRvcHQoMSlcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE4CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHJ1biA8c2hlbGw+IGlmIC9ldGMvc2hlbGxzIGFsbG93cyBpdFxuIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsPdGI0LXQu9C7ICAgICAgICAgICAgINCj0YHRgtCw0L3QvtCy0LrQsCDRg9GB0LvQvtCy0LjQuSDQt9Cw0LrQuy4g0LIg0LrQsNCy0YvRh9C60Lgg0LTQu9GPINGI0LXQu9C70LBcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzYyCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cCBpcyBub3QgcG9zc2libGUiCittc2dpZF9wbHVyYWwgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cHMgaXMgbm90IHBvc3NpYmxlIgorbXNnc3RyWzBdICLRg9C60LDQt9Cw0L3QuNC1INCx0L7Qu9C10LUsINGH0LXQvCAlZCDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3QvtC5INCz0YDRg9C/0L/RiyDQvdC10LLQvtC30LzQvtC20L3QviIKK21zZ3N0clsxXSAi0YPQutCw0LfQsNC90LjQtSDQsdC+0LvQtdC1LCDRh9C10LwgJWQg0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvRhSDQs9GA0YPQv9C/INC90LXQstC+0LfQvNC+0LbQvdC+IgorbXNnc3RyWzJdICLRg9C60LDQt9Cw0L3QuNC1INCx0L7Qu9C10LUsINGH0LXQvCAlZCDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3Ri9GFINCz0YDRg9C/0L8g0L3QtdCy0L7Qt9C80L7QttC90L4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc2OAorIywgYy1mb3JtYXQKK21zZ2lkICJncm91cCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi0LPRgNGD0L/Qv9CwICVzINC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg4NgorbXNnaWQgImlnbm9yaW5nIC0tcHJlc2VydmUtZW52aXJvbm1lbnQsIGl0J3MgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1sb2dpbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4OTcKK21zZ2lkICJvcHRpb25zIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IGFuZCAtLXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgNGLIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59INC4IC0tdXNlciAtINCy0LfQsNC40LzQvtC40YHQutC70Y7Rh9Cw0Y7RidC40LUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkwMQorbXNnaWQgIm5vIGNvbW1hbmQgd2FzIHNwZWNpZmllZCIKK21zZ3N0ciAi0L3QtSDRg9C60LDQt9Cw0L3QsCDQutC+0LzQsNC90LTQsCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTE1Cittc2dpZCAib25seSByb290IGNhbiBzcGVjaWZ5IGFsdGVybmF0aXZlIGdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMICVzINC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyByZXN0cmljdGVkIHNoZWxsICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk4NgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAi0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTog0L3QtSDQvNC+0LPRgyDQv9C+0LzQtdC90Y/RgtGMINC60LDRgtCw0LvQvtCzINC90LAgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMzAKKyMsIGZ1enp5Cittc2dpZCAidGNnZXRhdHRyIGZhaWxlZCIKK21zZ3N0ciAiKNCh0LvQtdC00YPRjtGJ0LjQuSDRhNCw0LnQuzogJXMpIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MjA3CisjLCBmdXp6eQorbXNnaWQgInRjc2V0YXR0ciBmYWlsZWQiCittc2dzdHIgIijQodC70LXQtNGD0Y7RidC40Lkg0YTQsNC50Ls6ICVzKSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290XG4iCittc2dzdHIgIiVzOiDQvdC1INC+0YLQutGA0YvRgiDQtNC70Y8g0YfRgtC10L3QuNGPL9C30LDQv9C40YHQuCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290IgorbXNnc3RyICIlczog0L3QtSDQvtGC0LrRgNGL0YIg0LTQu9GPINGH0YLQtdC90LjRjy/Qt9Cw0L/QuNGB0LgiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiByb290IHBhc3N3b3JkIGdhcmJsZWQiCittc2dzdHIgIiVzOiDRhNCw0LnQuyDQv9Cw0YDQvtC70LXQuSDQt9Cw0L3Rj9GCLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJDYW5ub3Qgb3BlbiBhY2Nlc3MgdG8gY29uc29sZSwgdGhlIHJvb3QgYWNjb3VudCBpcyBsb2NrZWQuXG4iCisiU2VlIHN1bG9naW4oOCkgbWFuIHBhZ2UgZm9yIG1vcmUgZGV0YWlscy5cbiIKKyJcbiIKKyJQcmVzcyBFbnRlciB0byBjb250aW51ZS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbG9naW46ICIKK21zZ3N0ciAi0JTQu9GPINCy0YXQvtC00LAg0LLQstC10LTQuNGC0LUg0L/QsNGA0L7Qu9GMIHJvb3Q6ICIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MAorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbG9naW46ICIKK21zZ3N0ciAi0J3QsNC20LzQuNGC0LUgRW50ZXIg0LTQu9GPINCy0YXQvtC00LAiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICLQlNC70Y8g0L/RgNC+0LTQvtC70LbQtdC90LjRjyDQstCy0LXQtNC40YLQtSDQv9Cw0YDQvtC70Ywgcm9vdFxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICLQlNC70Y8g0L/RgNC+0LTQvtC70LbQtdC90LjRjyDQvdCw0LbQvNC40YLQtSBFbnRlclxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIihvciBwcmVzcyBDb250cm9sLUQgdG8gY29udGludWUpOiAiCittc2dzdHIgIijQuNC70Lgg0L3QsNC20LzQuNGC0LUgQ29udHJvbC1EINC00LvRjyDQv9GA0L7QtNC+0LvQttC10L3QuNGPKTogIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzQyCittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSB0byBzeXN0ZW0gcm9vdCBmYWlsZWQiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvNC10L3QuNGC0Ywg0LTQuNGA0LXQutGC0L7RgNC40Y4g0L3QsCDQutC+0YDQvdC10LLRg9GOIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzkxCittc2dpZCAic2V0ZXhlY2NvbiBmYWlsZWQiCittc2dzdHIgItCy0YvQv9C+0LvQvdC10L3QuNC1IHNldGV4ZWNjb24g0LfQsNCy0LXRgNGI0LjQu9C+0YHRjCDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFt0dHkgZGV2aWNlXVxuIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogJXMgW9C+0L/RhtC40LhdINGD0YHRgtGA0L7QudGB0YLQstC+Li4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MTQKK21zZ2lkICJTaW5nbGUtdXNlciBsb2dpbi5cbiIKK21zZ3N0ciAi0J7QtNC90L7Qv9C+0LvRjNC30L7QstCw0YLQtdC70YzRgdC60LjQuSDQstGF0L7QtC5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxNworbXNnaWQgIiIKKyIgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgIHN0YXJ0IGEgbG9naW4gc2hlbGxcbiIKKyIgLXQsIC0tdGltZW91dCA8c2Vjb25kcz4gIG1heCB0aW1lIHRvIHdhaXQgZm9yIGEgcGFzc3dvcmQgKGRlZmF1bHQ6IG5vIGxpbWl0KVxuIgorIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAgZXhhbWluZSBwYXNzd29yZCBmaWxlcyBkaXJlY3RseSBpZiBnZXRwd25hbSgzKSBmYWlsc1xuIgorbXNnc3RyICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICDQt9Cw0L/Rg9GB0Log0YjQtdC70LvQsCDQtNC70Y8g0LLRhdC+0LTQsFxuIgorIiAtdCwgLS10aW1lb3V0IDxzZWNvbmRzPiAg0LzQsNC60YHQuNC80LDQu9GM0L3QvtC1INCy0YDQtdC80Y8g0L7QttC40LTQsNC90LjRjyDQstCy0L7QtNCwINC/0LDRgNC+0LvRjyAo0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4gLSDQsdC10Lcg0L7Qs9GA0LDQvdC40YfQtdC90LjRjylcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgINC/0YDQvtGH0LjRgtCw0YLRjCDRhNCw0LnQu9GLIHBhc3N3b3JkINC90LXQv9C+0YHRgNC10LTRgdGC0LLQtdC90L3QviDQtdGB0LvQuCBnZXRwd25hbSgzKSDQt9Cw0LLQtdGA0YjQsNC10YLRgdGPINC90LXRg9C00LDRh9C90L5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg3MSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDYzIHN5cy11dGlscy93ZGN0bC5jOjUyMworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3NTAgdGVybS11dGlscy93YWxsLmM6MTM1Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0LDRgNCz0YPQvNC10L3RgiB0aW1lb3V0IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODkzCittc2dpZCAib25seSBzdXBlcnVzZXIgY2FuIHJ1biB0aGlzIHByb2dyYW0iCittc2dzdHIgItGN0YLRgyDQv9GA0L7Qs9GA0LDQvNC80YMg0LzQvtC20LXRgiDQt9Cw0L/Rg9GB0YLQuNGC0Ywg0YLQvtC70YzQutC+INGB0YPQv9C10YDQv9C+0LvRjNC30L7QstCw0YLQtdC70YwiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5MzYKK21zZ2lkICJjYW5ub3Qgb3BlbiBjb25zb2xlIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCDQutC+0L3RgdC+0LvRjCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjk0MworbXNnaWQgImNhbm5vdCBvcGVuIHBhc3N3b3JkIGRhdGFiYXNlIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCDQsdCw0LfRgyDQv9Cw0YDQvtC70LXQuSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNhbiBub3QgZXhlY3V0ZSBzdSBzaGVsbFxuIgorIlxuIgorbXNnc3RyICIiCisi0J3QtdCy0L7Qt9C80L7QttC90L4g0LLRi9C/0L7Qu9C90LjRgtGMIHN1IHNoZWxsXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDI3Cittc2dpZCAiIgorIlRpbWVkIG91dFxuIgorIlxuIgorbXNnc3RyICIiCisi0LLRgNC10LzRjyDQvtC20LjQtNCw0L3QuNGPINC40YHRgtC10LrQu9C+XG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDU5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJDYW4gbm90IHdhaXQgb24gc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiIgorItCd0LXQstC+0LfQvNC+0LbQvdC+INCy0YvQv9C+0LvQvdC40YLRjCBzdSBzaGVsbFxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE3NiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2guIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTg1IHRleHQtdXRpbHMvdGFpbGYuYzoxNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBpbm90aWZ5IGV2ZW50cyIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjQ2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjUxCittc2dpZCAiRXh0cmFuZW91cyBuZXdsaW5lIGluIGZpbGUuIEV4aXRpbmcuIgorbXNnc3RyICLQn9C+0YHRgtC+0YDQvtC90L3QuNC1INGB0YLRgNC+0LrQuCDQsiDRhNCw0LnQu9C1LiDQktGL0YXQvtC0LiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVuYW1lXVxuIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogJXMgW9C+0L/RhtC40LhdINGD0YHRgtGA0L7QudGB0YLQstC+Li4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzEyCittc2dpZCAiRHVtcCBVVE1QIGFuZCBXVE1QIGZpbGVzIGluIHJhdyBmb3JtYXQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTUKK21zZ2lkICIgLWYsIC0tZm9sbG93ICAgICAgICAgb3V0cHV0IGFwcGVuZGVkIGRhdGEgYXMgdGhlIGZpbGUgZ3Jvd3NcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxNgorbXNnaWQgIiAtciwgLS1yZXZlcnNlICAgICAgICB3cml0ZSBiYWNrIGR1bXBlZCBkYXRhIGludG8gdXRtcCBmaWxlXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTcKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxmaWxlPiAgd3JpdGUgdG8gZmlsZSBpbnN0ZWFkIG9mIHN0YW5kYXJkIG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzg0Cittc2dpZCAiZm9sbG93aW5nIHN0YW5kYXJkIGlucHV0IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgdW5kdW1wIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCBkdW1wIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE0MQorbXNnaWQgImNhbid0IG9wZW4gdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgItC90LUg0LzQvtCz0YMg0L7RgtC60YDRi9GC0Ywg0LLRgNC10LzQtdC90L3Ri9C5INGE0LDQudC7IgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjcmVhdGUgYSBsaW5rIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6INGB0L7Qt9C00LDQvdC40LUg0YHRgdGL0LvQutC4INC00LvRjyAlcyDQt9Cw0LLQtdGA0YjQuNC70L7RgdGMINC90LXRg9C00LDRh9C10LkiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3QgZ2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQv9C+0LvRg9GH0LjRgtGMINC60L7QvdGC0LXQutGB0YIg0LTQu9GPICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IHNldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0LrQvtC90YLQtdC60YHRgiDQtNC70Y8gJXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5jaGFuZ2VkIgorbXNnc3RyICIlcyDQvdC1INC40LfQvNC10L3QtdC9IgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjU0CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgbG9jayIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0YHQvtC30LTQsNGC0Ywg0LTQvtGH0LXRgNC90LjQuSDQv9GA0L7RhtC10YHRgSIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI4MQorbXNnaWQgIm5vIGNoYW5nZXMgbWFkZSIKK21zZ3N0ciAi0LjQt9C80LXQvdC10L3QuNC5INC90LUg0LHRi9C70L4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTAKK21zZ2lkICJjYW5ub3QgY2htb2QgZmlsZSIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0YHQvNC10L3QuNGC0Ywg0YDQsNC30YDQtdGI0LXQvdC40Y8g0LTQu9GPINGE0LDQudC70LAiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozMDQKK21zZ2lkICJFZGl0IHRoZSBwYXNzd29yZCBvciBncm91cCBmaWxlLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTAKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBncm91cHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgItCS0Ysg0LjRgdC/0L7Qu9GM0LfRg9C10YLQtSDRgtC10L3QtdCy0YvQtSDQs9GA0YPQv9C/0Ysg0L3QsCDRjdGC0L7QuSDRgdC40YHRgtC10LzQtS5cbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM1MQorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IHBhc3N3b3JkcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAi0JLRiyDQuNGB0L/QvtC70YzQt9GD0LXRgtC1INGC0LXQvdC10LLRi9C1INC/0LDRgNC+0LvQuCDQvdCwINGN0YLQvtC5INGB0LjRgdGC0LXQvNC1LlxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhpcyBwcm9ncmFtIHVzZXMgZm9yIHkgYW5kIG4gcnBtYXRjaCgzKSwKKyMuICogd2hpY2ggbWVhbnMgdGhleSBjYW4gYmUgdHJhbnNsYXRlZC4KKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV291bGQgeW91IGxpa2UgdG8gZWRpdCAlcyBub3cgW3kvbl0/ICIKK21zZ3N0ciAi0KXQvtGC0LjRgtC1INC70Lgg0LLRiyDRgdC10LnRh9Cw0YEg0L7RgtGA0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMICVzIFvQtC/QvV0/ICIKKworIzogbWlzYy11dGlscy9jYWwuYzozNzIKK21zZ2lkICJpbnZhbGlkIG1vbnRoIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0LDRgNCz0YPQvNC10L3RgiDQvNC10YHRj9GG0LAiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzgwCittc2dpZCAiaW52YWxpZCB3ZWVrIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0LDRgNCz0YPQvNC10L3RgiDQvdC10LTQtdC70LgiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzgyCisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogdXNlIDEtNTQiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90L7QtSDQt9C90LDRh9C10L3QuNC1INC90LXQtNC10LvQuDog0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSAxLTUzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHRpbWVzdGFtcCBvciB1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQzMQorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDQtNC90Y8iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDMzIG1pc2MtdXRpbHMvY2FsLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlOiB1c2UgMS0lZCIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LUg0LTQvdGPOiDQuNGB0L/QvtC70YzQt9GD0LnRgtC1IDEtJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDM3IG1pc2MtdXRpbHMvY2FsLmM6NDQ1Cittc2dpZCAiaWxsZWdhbCBtb250aCB2YWx1ZTogdXNlIDEtMTIiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90L7QtSDQt9C90LDRh9C10L3QuNC1INC80LXRgdGP0YbQsDog0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSAxLTEyIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAi0L3QtdC40LfQstC10YHRgtC90L7QtSDQuNC80Y8g0L/RgNC40L7RgNC40YLQtdGC0LA6ICVzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ0OCBtaXNjLXV0aWxzL2NhbC5jOjQ1MgorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZSIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LUg0LPQvtC00LAiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDUwCittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlOiB1c2UgcG9zaXRpdmUgaW50ZWdlciIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LUg0LPQvtC00LA6INC40YHQv9C+0LvRjNC30YPQudGC0LUg0L/QvtC70L7QttC40YLQtdC70YzQvdC+0LUg0YbQtdC70L7QtSDRh9C40YHQu9C+IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4MiBtaXNjLXV0aWxzL2NhbC5jOjQ5NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHllYXIgJWQgZG9lc24ndCBoYXZlIHdlZWsgJWQiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90L7QtSDQt9C90LDRh9C10L3QuNC1INC90LXQtNC10LvQuDogJWTQuSDQs9C+0LQg0L3QtSDRgdC+0LTQtdGA0LbQuNGCINC90LXQtNC10LvQuCAlZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo2NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMiCittc2dzdHIgIiVzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlMDRkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAlMDRkIgorbXNnc3RyICIlcyAlZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW1tbZGF5XSBtb250aF0geWVhcl1cbiIKK21zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzIFsr0YTQvtGA0LzQsNGCXSBb0LTQtdC90Ywg0LzQtdGB0Y/RhiDQs9C+0LRdXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx0aW1lc3RhbXB8bW9udGhuYW1lPlxuIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogJXMgW9C+0L/RhtC40LhdINGD0YHRgtGA0L7QudGB0YLQstC+Li4uXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk3Cittc2dpZCAiRGlzcGxheSBhIGNhbGVuZGFyLCBvciBzb21lIHBhcnQgb2YgaXQuXG4iCittc2dzdHIgItCe0YLQvtCx0YDQsNC30LjRgtGMINC60LDQu9C10L3QtNCw0YDRjCDQuNC70Lgg0LrQsNC60YPRji3RgtC+INC10LPQviDRh9Cw0YHRgtGMLlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5OAorbXNnaWQgIldpdGhvdXQgYW55IGFyZ3VtZW50cywgZGlzcGxheSB0aGUgY3VycmVudCBtb250aC5cbiIKK21zZ3N0ciAi0JXRgdC70Lgg0L3QtdGCINCw0YDQs9GD0LzQtdC90YLQvtCyLCDQvtGC0L7QsdGA0LDQttCw0LXRgtGB0YHRjyDRgtC10LrRg9GJ0LjQuSDQvNC10YHRj9GGLlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDEKK21zZ2lkICIgLTEsIC0tb25lICAgICAgICAgICAgIHNob3cgb25seSBhIHNpbmdsZSBtb250aCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC0xLCAtLW9uZSAgICAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINC+0LTQuNC9INC80LXRgdGP0YYgKNC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOKVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDIKK21zZ2lkICIgLTMsIC0tdGhyZWUgICAgICAgICAgIHNob3cgdGhyZWUgbW9udGhzIHNwYW5uaW5nIHRoZSBkYXRlXG4iCittc2dzdHIgIiAtMywgLS10aHJlZSAgICAgICAgICAg0L/QvtC60LDQt9Cw0YLRjCDRgtGA0Lgg0LzQtdGB0Y/RhtCwLCDRgdC+0LTQtdGA0LbQsNGJ0LjRhSDQtNCw0YLRg1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDMKK21zZ2lkICIgLW4sIC0tbW9udGhzIDxudW0+ICAgIHNob3cgbnVtIG1vbnRocyBzdGFydGluZyB3aXRoIGRhdGUncyBtb250aFxuIgorbXNnc3RyICIgLW4sIC0tbW9udGhzIDxudW0+ICAgINC/0L7QutCw0LfQsNGC0YwgbnVtINC80LXRgdGP0YbQtdCyLCDQvdCw0YfQuNC90LDRjyDRgSDQvNC10YHRj9GG0LAg0LTQsNGC0YtcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA0CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zcGFuICAgICAgICAgICAgc3BhbiB0aGUgZGF0ZSB3aGVuIGRpc3BsYXlpbmcgbXVsdGlwbGUgbW9udGhzXG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAg0L7RgtC+0LHRgNCw0LfQuNGC0Ywg0LIg0YTQvtGA0LzQsNGC0LUg0YHRi9GA0YvRhSDQtNCw0L3QvdGL0YVcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA1Cittc2dpZCAiIC1zLCAtLXN1bmRheSAgICAgICAgICBTdW5kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIC1zLCAtLXN1bmRheSAgICAgICAgICDQv9C10YDQstGL0Lkg0LTQtdC90Ywg0L3QtdC00LXQu9C4IC0g0LLQvtGB0LrRgNC10YHQtdC90YzQtVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDYKK21zZ2lkICIgLW0sIC0tbW9uZGF5ICAgICAgICAgIE1vbmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIgLW0sIC0tbW9uZGF5ICAgICAgICAgINC/0LXRgNCy0YvQuSDQtNC10L3RjCDQvdC10LTQtdC70LggLSDQv9C+0L3QtdC00LXQu9GM0L3QuNC6XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNworbXNnaWQgIiAtaiwgLS1qdWxpYW4gICAgICAgICAgb3V0cHV0IEp1bGlhbiBkYXRlc1xuIgorbXNnc3RyICIgLWosIC0tanVsaWFuICAgICAgICAgINCy0YvQstC+0LQg0LTQsNGCINCyINGO0LvQuNCw0L3RgdC60L7QvCDRgdGC0LjQu9C1XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwOAorbXNnaWQgIiAteSwgLS15ZWFyICAgICAgICAgICAgc2hvdyB0aGUgd2hvbGUgeWVhclxuIgorbXNnc3RyICIgLXksIC0teWVhciAgICAgICAgICAgINC/0L7QutCw0LfQsNGC0Ywg0LLQtdGB0Ywg0LPQvtC0XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwOQorbXNnaWQgIiAtWSwgLS10d2VsdmUgICAgICAgICAgc2hvdyB0aGUgbmV4dCB0d2VsdmUgbW9udGhzXG4iCittc2dzdHIgIiAtWSwgLS10d2VsdmUgICAgICAgICAg0L/QvtC60LDQt9Cw0YLRjCDRgdC70LXQtNGD0Y7RidC40LUgMTIg0LzQtdGB0Y/RhtC10LJcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDEwCittc2dpZCAiIC13LCAtLXdlZWtbPTxudW0+XSAgICBzaG93IFVTIG9yIElTTy04NjAxIHdlZWsgbnVtYmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAxMQorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10ge0xBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMfT08dmFsdWU+XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzozMgorbXNnaWQgIkZpbmQgYSBmaWxlc3lzdGVtIGJ5IGxhYmVsIG9yIFVVSUQuXG4iCittc2dzdHIgItCf0L7QuNGB0Log0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRiyDQv9C+INC80LXRgtC60LUg0LjQu9C4IFVVSUQuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgJyVzJyIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0YDQsNC30YDQtdGI0LjRgtGMICclcyciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjk5Cittc2dpZCAic291cmNlIGRldmljZSIKK21zZ3N0ciAi0YPRgdGC0YDQvtC50YHRgtCy0L4t0LjRgdGC0L7Rh9C90LjQuiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAwCittc2dpZCAibW91bnRwb2ludCIKK21zZ3N0ciAi0YLQvtGH0LrQsCDQvNC+0L3RgtC40YDQvtCy0LDQvdC40Y8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxCittc2dpZCAiZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICLRgtC40L8g0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRiyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAyCittc2dpZCAiYWxsIG1vdW50IG9wdGlvbnMiCittc2dzdHIgItCy0YHQtSDQv9Cw0YDQsNC80LXRgtGA0Ysg0LzQvtC90YLQuNGA0L7QstCw0L3QuNGPIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDMKK21zZ2lkICJWRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAi0J7Qv9GG0LjQuCDQvNC+0L3RgtC40YDQvtCy0LDQvdC40Y8sINGB0L/QtdGG0LjRhNC40YfQvdGL0LUg0LTQu9GPIFZGUyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA0CisjLCBmdXp6eQorbXNnaWQgIkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgItCf0L7Qu9C10LfQvdGL0LUg0L7Qv9GG0LjQuDoiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNQorbXNnaWQgImZpbGVzeXN0ZW0gbGFiZWwiCittc2dzdHIgItC80LXRgtC60LAg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRiyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA2IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQKK21zZ2lkICJmaWxlc3lzdGVtIFVVSUQiCittc2dzdHIgIlVVSUQg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRiyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA3Cittc2dpZCAicGFydGl0aW9uIGxhYmVsIgorbXNnc3RyICLQvNC10YLQutCwINGA0LDQt9C00LXQu9CwIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDkgbWlzYy11dGlscy9sc2Jsay5jOjE2MAorbXNnaWQgIm1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEwCittc2dpZCAiYWN0aW9uIGRldGVjdGVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTEKK21zZ2lkICJvbGQgbW91bnQgb3B0aW9ucyBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEyCittc2dpZCAib2xkIG1vdW50cG9pbnQgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMworbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSIKK21zZ3N0ciAi0YDQsNC30LzQtdGAINGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80YsiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNAorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSBhdmFpbGFibGUiCittc2dzdHIgItC00L7RgdGC0YPQv9C90YvQuSDRgNCw0LfQvNC10YAg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRiyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE1Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIHVzZWQiCittc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0L3QvdGL0Lkg0YDQsNC30LzQtdGAINGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80YsiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNgorbXNnaWQgImZpbGVzeXN0ZW0gdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC1INGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80Ysg0LIg0L/RgNC+0YbQtdC90YLQsNGFIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTcKK21zZ2lkICJmaWxlc3lzdGVtIHJvb3QiCittc2dzdHIgItC60L7RgNC10L3RjCDRhNCw0LnQu9C+0LLQvtC5INGB0LjRgdGC0LXQvNGLIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTgKK21zZ2lkICJ0YXNrIElEIgorbXNnc3RyICJJRCDQt9Cw0LTQsNGH0LgiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOQorIywgZnV6enkKK21zZ2lkICJtb3VudCBJRCIKK21zZ3N0ciAibW91bnQg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwCisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbmFsIG1vdW50IGZpZWxkcyIKK21zZ3N0ciAibW91bnQ6INC80L7QvdGC0LjRgNC+0LLQsNC90LjQtSDQt9Cw0LLQtdGA0YjQuNC70L7RgdGMINC90LXRg9C00LDRh9C10LkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMQorbXNnaWQgIlZGUyBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIKK21zZ2lkICJkdW1wKDgpIHBlcmlvZCBpbiBkYXlzIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMKK21zZ2lkICJwYXNzIG51bWJlciBvbiBwYXJhbGxlbCBmc2NrKDgpIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhY3Rpb246ICVzIgorbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3QvtC1INC00LXQudGB0YLQstC40LU6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDMKK21zZ2lkICJtb3VudCIKK21zZ3N0ciAi0LzQvtC90YLQuNGA0L7QstCw0YLRjCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ2Cittc2dpZCAidW1vdW50IgorbXNnc3RyICLRgNCw0LfQvNC+0L3RgtC40YDQvtCy0LDRgtGMIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDkKK21zZ2lkICJyZW1vdW50IgorbXNnc3RyICLQv9C10YDQtdC80L7QvdGC0LjRgNC+0LLQsNGC0YwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1MgorbXNnaWQgIm1vdmUiCittc2dzdHIgItC/0LXRgNC10LzQtdGB0YLQuNGC0YwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjgxMiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDc1IHN5cy11dGlscy9lamVjdC5jOjcxOQorIzogc3lzLXV0aWxzL21vdW50LmM6NjY5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFibGUiCittc2dzdHIgItC+0YjQuNCx0LrQsCDQuNC90LjRhtC40LDQu9C40LfQsNGG0LjQuCBsaWJtb3VudCB0YWJsZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODM5IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgJXMiCittc2dzdHIgItC90LUg0YPQtNCw0ZHRgtGB0Y8g0L/RgNC+0YfQuNGC0LDRgtGMICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDE1IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODEKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo5NCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDgyCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTg3IHN5cy11dGlscy9tb3VudC5jOjEzNCBzeXMtdXRpbHMvbW91bnQuYzoxODIKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6NTYgc3lzLXV0aWxzL3N3YXBvZmYuYzoxNTUgc3lzLXV0aWxzL3N3YXBvbi5jOjI0NAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI3NCBzeXMtdXRpbHMvc3dhcG9uLmM6NzMzIHN5cy11dGlscy91bW91bnQuYzoyNzQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIKK21zZ3N0ciAi0L7RiNC40LHQutCwINC40L3QuNGG0LjQsNC70LjQt9Cw0YbQuNC4IGxpYm1vdW50IGl0ZXJhdG9yIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDg3Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFiZGlmZiIKK21zZ3N0ciAi0L7RiNC40LHQutCwINC40L3QuNGG0LjQsNC70LjQt9Cw0YbQuNC4IGxpYm1vdW50IHRhYmRpZmYiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMTUKK21zZ2lkICJwb2xsKCkgZmFpbGVkIgorbXNnc3RyICLQvtGI0LjQsdC60LAgcG9sbCgpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gfCA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZSA8ZGV2aWNlPl0gWy0tdGFyZ2V0IDxwYXRoPiB8IC0tbW91bnRwb2ludCA8ZGlyPl1cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk2CisjLCBmdXp6eQorbXNnaWQgIkZpbmQgYSAobW91bnRlZCkgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiTGludXgg0LfQsNC60LDQt9C90L7QuSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5OQorbXNnaWQgIiAtcywgLS1mc3RhYiAgICAgICAgICAgIHNlYXJjaCBpbiBzdGF0aWMgdGFibGUgb2YgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1zLCAtLWZzdGFiICAgICAgICAgICAg0L/QvtC40YHQuiDQsiDRgdGC0LDRgtC40YfQvdC+0Lkg0YLQsNCx0LvQuNGG0LUg0YTQsNC50LvQvtCy0YvRhSDRgdC40YHRgtC10LxcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMAorbXNnaWQgIiAtbSwgLS1tdGFiICAgICAgICAgICAgIHNlYXJjaCBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtbSwgLS1tdGFiICAgICAgICAgICAgINC/0L7QuNGB0Log0LIg0YLQsNCx0LvQuNGG0LUg0L/RgNC40LzQvtC90YLQuNGA0L7QstCw0L3QvdGL0YUg0YTQsNC50LvQvtCy0YvRhSDRgdC40YHRgtC10LxcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMQorbXNnaWQgIiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICBzZWFyY2ggaW4ga2VybmVsIHRhYmxlIG9mIG1vdW50ZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzeXN0ZW1zIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAg0L/QvtC40YHQuiDQv9GA0LjQvNC+0L3RgtC40YDQvtCy0LDQvdC90YvRhSDRhNCw0LnQu9C+0LLRi9GFINGB0LjRgdGC0LXQvFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgINCyINGC0LDQsdC70LjRhtC1INGP0LTRgNCwICjQv9C+INGD0LzQvtC70YfQsNC90LjRjilcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNAorbXNnaWQgIiAtcCwgLS1wb2xsWz08bGlzdD5dICAgIG1vbml0b3IgY2hhbmdlcyBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNQorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxudW0+ICAgIHVwcGVyIGxpbWl0IGluIG1pbGxpc2Vjb25kcyB0aGF0IC0tcG9sbCB3aWxsIGJsb2NrXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOAorbXNnaWQgIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGJ1aWx0LWluIGZpbHRlcnMsIHByaW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDkKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFzY2lpICAgICAgICAgICAgdXNlIEFTQ0lJIGNoYXJzIGZvciB0cmVlIGZvcm1hdHRpbmdcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgINCS0YvQstC+0LQg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0LLQtdGA0YHQuNC4XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTAKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjExCittc2dpZCAiIC1DLCAtLW5vY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHdoZW4gY29tcGFyaW5nIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMgorbXNnaWQgIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaWNhbGl6ZSBwcmludGVkIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMworIywgZnV6enkKK21zZ2lkICIgLUQsIC0tZGYgICAgICAgICAgICAgICBpbWl0YXRlIHRoZSBvdXRwdXQgb2YgZGYoMSlcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTQKK21zZ2lkICIgLWQsIC0tZGlyZWN0aW9uIDx3b3JkPiBkaXJlY3Rpb24gb2Ygc2VhcmNoLCAnZm9yd2FyZCcgb3IgJ2JhY2t3YXJkJ1xuIgorbXNnc3RyICIgLWQsIC0tZGlyZWN0aW9uIDx3b3JkPiDQvdCw0L/RgNCw0LLQu9C10L3QuNC1INC/0L7QuNGB0LrQsDogJ2ZvcndhcmQnIC0g0LLQv9GA0LXRgNC10LQsICdiYWNrd2FyZCcgLSDQvdCw0LfQsNC0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTUKK21zZ2lkICIiCisiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgY29udmVydCB0YWdzIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkZXZpY2UgbmFtZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE3Cittc2dpZCAiIC1GLCAtLXRhYi1maWxlIDxwYXRoPiAgYWx0ZXJuYXRpdmUgZmlsZSBmb3IgLXMsIC1tIG9yIC1rIG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE4Cittc2dpZCAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTkKK21zZ2lkICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnQgdGhlIHNlbnNlIG9mIG1hdGNoaW5nXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDcgc3lzLXV0aWxzL2xzbnMuYzo2MTkKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg0JLRi9Cy0L7QtCDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDQstC10YDRgdC40LhcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMSBzeXMtdXRpbHMvbHNucy5jOjYyMAorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICDQkdC10Lcg0L7QsdGL0YfQvdGL0YUg0LLRi9GF0L7QtNC90YvRhSDQtNCw0L3QvdGL0YVcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMgorbXNnaWQgIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIHVzZSBhbHRlcm5hdGl2ZSBuYW1lc3BhY2UgKC9wcm9jLzx0aWQ+L21vdW50aW5mbyBmaWxlKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBjb2x1bW4gaGVhZGluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI0Cittc2dpZCAiIC1PLCAtLW9wdGlvbnMgPGxpc3Q+ICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBtb3VudCBvcHRpb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIHRoZSBvdXRwdXQgY29sdW1ucyB0byBiZSBzaG93blxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICDRgdC/0LjRgdC+0Log0LLRi9Cy0L7QtNC40LzRi9GFINGB0YLQvtC70LHRhtC+0LJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNgorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDQktGL0LLQvtC0INC40L3RhNC+0YDQvNCw0YbQuNC4INC+INCy0LXRgNGB0LjQuFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI3Cittc2dpZCAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgcHJpbnQgYWxsIHN1Ym1vdW50cyBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgINCS0YvQstC+0LQg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0LLQtdGA0YHQuNC4XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjkKK21zZ2lkICIiCisiIC1TLCAtLXNvdXJjZSA8c3RyaW5nPiAgdGhlIGRldmljZSB0byBtb3VudCAoYnkgbmFtZSwgbWFqOm1pbiwgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMQorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGFyZ2V0IDxwYXRoPiAgICB0aGUgcGF0aCB0byB0aGUgZmlsZXN5c3RlbSB0byB1c2VcbiIKK21zZ3N0ciAiICAgbCAgINGB0L/QuNGB0L7QuiDRgtC40L/QvtCyINC40LfQstC10YHRgtC90YvRhSDRhNCw0LnQu9C+0LLRi9GFINGB0LjRgdGC0LXQvCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMgorIywgZnV6enkKK21zZ2lkICIgLU0sIC0tbW91bnRwb2ludCA8ZGlyPiB0aGUgbW91bnRwb2ludCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAibW91bnQ6INGC0L7Rh9C60LAg0LzQvtC90YLQuNGA0L7QstCw0L3QuNGPICVzINC90LUg0Y/QstC70Y/QtdGC0YHRjyDQutCw0YLQsNC70L7Qs9C+0LwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzMKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBGUyB0eXBlc1xuIgorbXNnc3RyICIgICBsICAg0YHQv9C40YHQvtC6INGC0LjQv9C+0LIg0LjQt9Cy0LXRgdGC0L3Ri9GFINGE0LDQudC70L7QstGL0YUg0YHQuNGB0YLQtdC8IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM0Cittc2dpZCAiIC1VLCAtLXVuaXEgICAgICAgICAgICAgaWdub3JlIGZpbGVzeXN0ZW1zIHdpdGggZHVwbGljYXRlIHRhcmdldFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzUgbWlzYy11dGlscy9sc2xvY2tzLmM6NTEzIHN5cy11dGlscy9sc25zLmM6NjI1Cittc2dpZCAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNgorbXNnaWQgIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIGRvbid0IHByaW50IFsvZGlyXSBmb3IgYmluZCBvciBidHJmcyBtb3VudHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM5CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS12ZXJpZnkgICAgICAgICAgIHZlcmlmeSBtb3VudCB0YWJsZSBjb250ZW50IChkZWZhdWx0IGlzIGZzdGFiKVxuIgorbXNnc3RyICIgLTEsIC0tb25lICAgICAgICAgICAgINC/0L7QutCw0LfQsNGC0Ywg0L7QtNC40L0g0LzQtdGB0Y/RhiAo0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4pXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgbW9yZSBkZXRhaWxzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDQktGL0LLQvtC0INC40L3RhNC+0YDQvNCw0YbQuNC4INC+INCy0LXRgNGB0LjQuFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzY4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZGlyZWN0aW9uICclcyciCittc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdC+0LUg0L3QsNC/0YDQsNCy0LvQtdC90LjQtSAnJXMnIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDQwCittc2dpZCAiaW52YWxpZCBUSUQgYXJndW1lbnQiCittc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQuSDQsNGA0LPRg9C80LXQvdGCIFRJRCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUwOQorbXNnaWQgIi0tcG9sbCBhY2NlcHRzIG9ubHkgb25lIGZpbGUsIGJ1dCBtb3JlIHNwZWNpZmllZCBieSAtLXRhYi1maWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MTMKK21zZ2lkICJvcHRpb25zIC0tdGFyZ2V0IGFuZCAtLXNvdXJjZSBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggY29tbWFuZCBsaW5lIGVsZW1lbnQgdGhhdCBpcyBub3QgYW4gb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1NjIKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBjYWNoZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNvbHVtbiBpcyByZXF1ZXN0ZWQsIGJ1dCAtLXBvbGwgaXMgbm90IGVuYWJsZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExNgorIywgZnV6enkKK21zZ2lkICJ0YXJnZXQgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICLQktGLINGD0LrQsNC30LDQu9C4INGG0LjQu9C40L3QtNGA0L7QsiDQsdC+0LvRjNGI0LUsINGH0LXQvCDQvNC+0LbQtdGCINCx0YvRgtGMINC90LAg0LTQuNGB0LrQtSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBvcmRlcjogJXMgc3BlY2lmaWVkIGJlZm9yZSAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTMzCittc2dpZCAidW5kZWZpbmVkIHRhcmdldCAoZnNfZmlsZSkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tY2Fub25pY2FsIHRhcmdldCBwYXRoIChyZWFsOiAlcykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHRhcmdldDogJW0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSB0YXJnZXQ6ICVtIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTEKKyMsIGZ1enp5Cittc2dpZCAidGFyZ2V0IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXM6INC90LUg0Y/QstC70Y/QtdGC0YHRjyDQutCw0YLQsNC70L7Qs9C+0LwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTMKK21zZ2lkICJ0YXJnZXQgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCBzb3VyY2U6ICVzPSVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGU6ICVzPSVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzPSVzIHRyYW5zbGF0ZWQgdG8gJXMiCittc2dzdHIgIm1vdW50OiAlcyDRg9C20LUg0L/RgNC40LzQvtC90YLQuNGA0L7QstCw0L0g0L3QsCAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTkwCittc2dpZCAidW5kZWZpbmVkIHNvdXJjZSAoZnNfc3BlYykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc291cmNlIHRhZzogJXMiCittc2dzdHIgItC90LXQv9C+0LTQtNC10YDQttC40LLQsNC10LzRi9C5INCw0YDQs9GD0LzQtdC90YI6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBzb3VyY2UgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgc291cmNlOiAlczogJW0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmluZCBtb3VudCBzb3VyY2UgJXMgaXMgYSBkaXJlY3Rvcnkgb3IgcmVndWxhciBmaWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIm1vdW50OiAlcyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LHQu9C+0YfQvdGL0Lwg0YPRgdGC0YDQvtC50YHRgtCy0L7QvCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic291cmNlICVzIGV4aXN0cyIKK21zZ3N0ciAi0YPRgdGC0YDQvtC50YHRgtCy0L4t0LjRgdGC0L7Rh9C90LjQuiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3Ri9C5INC/0LDRgNCw0LzQtdGC0YAgLSVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAi0L3QtdC40LfQstC10YHRgtC90YvQuSDQv9Cw0YDQsNC80LXRgtGAIC0lcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXNlcnNwYWNlIG9wdGlvbnM6ICVzIgorbXNnc3RyICLQn9C+0LvQtdC30L3Ri9C1INC+0L/RhtC40Lg6IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzd2FwYXJlYSBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgItC90LXQv9C+0LTQtNC10YDQttC40LLQsNC10LzQsNGPINC80LXRgtC60LAg0LTQuNGB0LrQsDogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNjAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN3YXBhcmVhIHByaW9yaXR5IG9wdGlvbiIKK21zZ3N0ciAi0J7RiNC40LHQutCwINC30LDQv9C40YHQuCDRgNCw0LfQtNC10LvQsCDQvdCwICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIEZTIHR5cGUgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MDYKK21zZ2lkICJcIm5vbmVcIiBGUyB0eXBlIGlzIHJlY29tbWVuZGVkIGZvciBiaW5kIG9yIG1vdmUgb3ByYXRpb25zIG9ubHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyMCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIxCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBkZXRlY3Qgb24tZGlzayBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIm1vdW50OiDQvdC10LjQt9Cy0LXRgdGC0L3Ri9C5INGC0LjQvyDRhNCw0LnQu9C+0LLQvtC5INGB0LjRgdGC0LXQvNGLICclcyciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgbWF0Y2ggd2l0aCBvbi1kaXNrICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAib24tZGlzayAlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRlMgdHlwZSBpcyAlcyIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0YDQsNCx0L7RgtCw0YLRjCDRhNCw0LnQuyDRgdGG0LXQvdCw0YDQuNGPICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY29tbWVuZGVkIHJvb3QgRlMgcGFzc25vIGlzIDEgKGN1cnJlbnQgaXMgJWQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIHBhcnNlIGVycm9yIgorbXNnaWRfcGx1cmFsICIlZCBwYXJzZSBlcnJvcnMiCittc2dzdHJbMF0gItC+0YjQuNCx0LrQsCDRgNCw0LfQsdC+0YDQsDogJXMiCittc2dzdHJbMV0gItC+0YjQuNCx0LrQsCDRgNCw0LfQsdC+0YDQsDogJXMiCittc2dzdHJbMl0gItC+0YjQuNCx0LrQsCDRgNCw0LfQsdC+0YDQsDogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgZXJyb3IiCittc2dpZF9wbHVyYWwgIiwgJWQgZXJyb3JzIgorbXNnc3RyWzBdICIsINC+0YjQuNCx0LrQsCIKK21zZ3N0clsxXSAiLCDQvtGI0LjQsdC60LAiCittc2dzdHJbMl0gIiwg0L7RiNC40LHQutCwIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgd2FybmluZyIKK21zZ2lkX3BsdXJhbCAiLCAlZCB3YXJuaW5ncyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCittc2dzdHJbMl0gIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxNworIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzLCBubyBlcnJvcnMgb3Igd2FybmluZ3MgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjI0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICLQn9C+0L/RgNC+0LHRg9C50YLQtSBgZ2V0b3B0IC0taGVscCcg0LTQu9GPINC/0L7Qu9GD0YfQtdC90LjRjyDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3QvtC5INC40L3RhNC+0YDQvNCw0YbQuNC4LlxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMwNAorbXNnaWQgImVtcHR5IGxvbmcgb3B0aW9uIGFmdGVyIC1sIG9yIC0tbG9uZyBhcmd1bWVudCIKK21zZ3N0ciAi0L/Rg9GB0YLQsNGPINC+0L/RhtC40Y8gbG9uZyDQv9C+0YHQu9C1INCw0YDQs9GD0LzQtdC90YLQsCAtbCDQuNC70LggLS1sb25nIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMyNQorbXNnaWQgInVua25vd24gc2hlbGwgYWZ0ZXIgLXMgb3IgLS1zaGVsbCBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC40LfQstC10YHRgtC90YvQuSDRiNC10LvQuyDQv9C+0YHQu9C1INCw0YDQs9GD0LzQtdC90YLQsCAtcyDQuNC70LggLS1zaGVsbCIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tXSA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLW98LS1vcHRpb25zIDxvcHRzdHJpbmc+IFtvcHRpb25zXSBbLS1dIDxwYXJhbWV0ZXJzPlxuIgorbXNnc3RyICIgICAgICAgZ2V0b3B0IFvQvtC/0YbQuNC4XSAtb3wtLW9wdGlvbnMg0YHRgtGA0L7QutCwX9C+0L/RhtC40LkgW9C+0L/RhtC40LhdIFstLV1cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzgKKyMsIGZ1enp5Cittc2dpZCAiUGFyc2UgY29tbWFuZCBvcHRpb25zLlxuIgorbXNnc3RyICLQntC/0LDRgdC90YvQtSDQvtC/0YbQuNC4OiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIGFsbG93IGxvbmcgb3B0aW9ucyBzdGFydGluZyB3aXRoIHNpbmdsZSAtXG4iCittc2dzdHIgIiAgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICDQoNCw0LfRgNC10YjQtdC90LjQtSDQtNC70LjQvdC90YvRhSDQvtC/0YbQuNC5LCDQvdCw0YfQuNC90LDRjtGJ0LjRhdGB0Y8g0YEg0L7QtNC90L7Qs9C+IC1cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxvbmdvcHRpb25zIDxsb25nb3B0cz4gIHRoZSBsb25nIG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgIC1sLCAtLWxvbmdvcHRpb25zPWxvbmdvcHRzICAg0JTQu9C40L3QvdGL0LUg0L7Qv9GG0LjQuCDQtNC70Y8g0YDQsNGB0L/QvtC30L3QsNCy0LDQvdC40Y9cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5hbWUgPHByb2duYW1lPiAgICAgICAgIHRoZSBuYW1lIHVuZGVyIHdoaWNoIGVycm9ycyBhcmUgcmVwb3J0ZWRcbiIKK21zZ3N0ciAiICAtbiwgLS1uYW1lPdC40LzRj1/Qv9GA0L7Qs9GA0LDQvNC80YsgICAgINCY0LzRjywg0L7RgiDQutC+0YLQvtGA0L7Qs9C+INCy0LXQtNC10YLRgdGPINC+0YLRh9C10YIg0L7QsSDQvtGI0LjQsdC60LDRhVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICAgdGhlIHNob3J0IG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM90YHRgtGA0L7QutCwX9C+0L/RhtC40LkgICDQmtC+0YDQvtGC0LrQuNC1INC+0L/RhtC40Lgg0LTQu9GPINGA0LDRgdC/0L7Qt9C90LDQstCw0L3QuNGPXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ1CisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBkaXNhYmxlIGVycm9yIHJlcG9ydGluZyBieSBnZXRvcHQoMylcbiIKK21zZ3N0ciAiICAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgINCe0YLQutC70Y7Rh9C10L3QuNC1INC+0YLRh9C10YLQsCDQvtCxINC+0YjQuNCx0LrQsNGFIGdldG9wdCgzKVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NgorIywgZnV6enkKK21zZ2lkICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgbm8gbm9ybWFsIG91dHB1dFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAg0JHQtdC3INC+0LHRi9GH0L3Ri9GFINCy0YvRhdC+0LTQvdGL0YUg0LTQsNC90L3Ri9GFXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICBzZXQgcXVvdGluZyBjb252ZW50aW9ucyB0byB0aG9zZSBvZiA8c2hlbGw+XG4iCittc2dzdHIgIiAgLXMsIC0tc2hlbGw90YjQtdC70LsgICAgICAgICAgICAg0KPRgdGC0LDQvdC+0LLQutCwINGD0YHQu9C+0LLQuNC5INC30LDQutC7LiDQsiDQutCw0LLRi9GH0LrQuCDQtNC70Y8g0YjQtdC70LvQsFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0OAorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgdGVzdCBmb3IgZ2V0b3B0KDEpIHZlcnNpb25cbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgINCf0YDQvtCy0LXRgNC60LAg0LLQtdGA0YHQuNC4IGdldG9wdCgxKVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0OQorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdW5xdW90ZWQgICAgICAgICAgICAgICAgZG8gbm90IHF1b3RlIHRoZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6Mzk5IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDU5Cittc2dpZCAibWlzc2luZyBvcHRzdHJpbmcgYXJndW1lbnQiCittc2dzdHIgItC+0YLRgdGD0YLRgdGC0LLRg9C10YIg0LDRgNCz0YPQvNC10L3RgiDRgdGC0YDQvtC60Lgg0L7Qv9GG0LjQuSIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzo0NTQKK21zZ2lkICJpbnRlcm5hbCBlcnJvciwgY29udGFjdCB0aGUgYXV0aG9yLiIKK21zZ3N0ciAi0LLQvdGD0YLRgNC10L3QvdGP0Y8g0L7RiNC40LHQutCwLCDRgdCy0Y/QttC40YLQtdGB0Ywg0YEg0LDQstGC0L7RgNC+0LwuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWwgJXM7IHZhbGlkIHNpZ25hbHM6IgorbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3Ri9C5INGB0LjQs9C90LDQuyAlczsg0LTQvtC/0YPRgdGC0LjQvNGL0LUg0YHQuNCz0L3QsNC70Ys6IgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBpZD58PG5hbWU+Li4uXG4iCittc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiAlcyDQv9GA0L7Qs9GA0LDQvNC80LAgW9Cw0YDQs9GD0LzQtdC90YIgLi4uXVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDUKK21zZ2lkICJGb3JjaWJseSB0ZXJtaW5hdGUgYSBwcm9jZXNzLlxuIgorbXNnc3RyICLQn9GA0LjQvdGD0LTQuNGC0LXQu9GM0L3QviDQt9Cw0LLQtdGA0YjQuNGC0Ywg0L/RgNC+0YbQtdGB0YEuXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwOAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkbyBub3QgcmVzdHJpY3QgdGhlIG5hbWUtdG8tcGlkIGNvbnZlcnNpb24gdG8gcHJvY2Vzc2VzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIHRoZSBzYW1lIHVpZCBhcyB0aGUgcHJlc2VudCBwcm9jZXNzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzEwCittc2dpZCAiIC1zLCAtLXNpZ25hbCA8c2lnbmFsPiAgc2VuZCB0aGlzIDxzaWduYWw+IGluc3RlYWQgb2YgU0lHVEVSTVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMgorbXNnaWQgIiAtcSwgLS1xdWV1ZSA8dmFsdWU+ICAgIHVzZSBzaWdxdWV1ZSgyKSwgbm90IGtpbGwoMiksIGFuZCBwYXNzIDx2YWx1ZT4gYXMgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNAorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICAgIHByaW50IHBpZHMgd2l0aG91dCBzaWduYWxpbmcgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNQorbXNnaWQgIiAtbCwgLS1saXN0Wz08c2lnbmFsPl0gIGxpc3Qgc2lnbmFsIG5hbWVzLCBvciBjb252ZXJ0IGEgc2lnbmFsIG51bWJlciB0byBhIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTYKK21zZ2lkICIgLUwsIC0tdGFibGUgICAgICAgICAgICBsaXN0IHNpZ25hbCBuYW1lcyBhbmQgbnVtYmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNworbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IHBpZHMgdGhhdCB3aWxsIGJlIHNpZ25hbGVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzY3IG1pc2MtdXRpbHMva2lsbC5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbDogJXMiCittc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdGL0Lkg0YHQuNCz0L3QsNC7OiAlcyIKKworIzogbWlzYy11dGlscy9raWxsLmM6Mzg3IG1pc2MtdXRpbHMva2lsbC5jOjM5MCBtaXNjLXV0aWxzL2tpbGwuYzozOTkKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQxMSBtaXNjLXV0aWxzL2tpbGwuYzo0MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiVzINC4ICVzINGP0LLQu9GP0Y7RgtGB0Y8g0LLQt9Cw0LjQvNC90L4g0LjRgdC60LvRjtGH0LDRjtGJ0LjQvNC4IgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozOTYgbWlzYy11dGlscy9raWxsLmM6NDM4IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTc0CisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjAgdGVybS11dGlscy9hZ2V0dHkuYzo3ODkgdGVybS11dGlscy9hZ2V0dHkuYzo3OTgKK21zZ2lkICJub3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAi0L3QtdC00L7RgdGC0LDRgtC+0YfQvdC+INCw0YDQs9GD0LzQtdC90YLQvtCyIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uICclcycgcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgItC00LvRjyDQv9Cw0YDQsNC80LXRgtGA0LAgJyVzJyDRgtGA0LXQsdGD0LXRgtGB0Y8g0LDRgNCz0YPQvNC10L3RgiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDE0IHN5cy11dGlscy9lamVjdC5jOjIwNSBzeXMtdXRpbHMvZWplY3QuYzoyMzAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Njg5IHN5cy11dGlscy90dW5lbHAuYzoxNjEgc3lzLXV0aWxzL3R1bmVscC5jOjE2OAorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE3NSBzeXMtdXRpbHMvdHVuZWxwLmM6MTgyIHN5cy11dGlscy90dW5lbHAuYzoxODkKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxOTUgc3lzLXV0aWxzL3R1bmVscC5jOjE5OSBzeXMtdXRpbHMvdHVuZWxwLmM6MjA2CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjMxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxMyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzcgdGVybS11dGlscy9zZXR0ZXJtLmM6MjcyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzQgdGVybS11dGlscy9zZXR0ZXJtLmM6MjkxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5OAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzAwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxMiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyMyB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMzEgdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ2CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDggdGVybS11dGlscy9zZXR0ZXJtLmM6MzYwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjM2MgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzczIHRlcm0tdXRpbHMvc2V0dGVybS5jOjUzNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDAKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NTAgdGVybS11dGlscy9zZXR0ZXJtLmM6NTc0CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NzkgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4OQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTk0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MDcKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjY0MAorbXNnaWQgImFyZ3VtZW50IGVycm9yIgorbXNnc3RyICLQvtGI0LjQsdC60LAg0LDRgNCz0YPQvNC10L3RgtCwIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzaWduYWwgbmFtZSBvciBudW1iZXI6ICVzIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LjQvNGPINC40LvQuCDQvdC+0LzQtdGAINGB0LjQs9C90LDQu9CwOiAlcyIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsICVkIHRvIHBpZCAlZFxuIgorbXNnc3RyICLQvtGC0L/RgNCw0LLQutCwINGB0LjQs9C90LDQu9CwICVkINC/0YDQvtGG0LXRgdGB0YMg0YEg0L3QvtC80LXRgNC+0LwgJWRcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAi0L7RgtC/0YDQsNCy0LrQsCDRgdC40LPQvdCw0LvQsCDQtNC70Y8gJXMg0LfQsNCy0LXRgNGI0LjQu9Cw0YHRjCDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgcHJvY2VzcyBcIiVzXCIiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC90LDQudGC0Lgg0L/RgNC+0YbQtdGB0YEgXCIlc1wiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5IG5hbWU6ICVzIgorbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3QvtC1INC40LzRjyDQvtCx0YrQtdC60YLQsDogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpb3JpdHkgbmFtZTogJXMiCittc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdC+0LUg0LjQvNGPINC/0YDQuNC+0YDQuNGC0LXRgtCwOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wZW5sb2cgJXM6IHBhdGhuYW1lIHRvbyBsb25nIgorbXNnc3RyICLQuNC80Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINGB0LvQuNGI0LrQvtC8INC00LvQuNC90L3QvtC1LlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI2NworIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgJXMiCittc2dzdHIgItGB0L7QutC10YIgJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBuYW1lICVzIHBvcnQgJXM6ICVzIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQv9C10YDQtdC40LzQtdC90L7QstCw0YLRjCAlcyDQsiAlczogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNvbm5lY3QgdG8gJXMgcG9ydCAlcyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LTQutC70Y7Rh9C40YLRjNGB0Y8g0LogJXMsINC/0L7RgNGCICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjM1MgorIywgYy1mb3JtYXQKK21zZ2lkICJtYXhpbXVtIGlucHV0IGxpbmVzICglZCkgZXhjZWVkZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAic2VuZCBtZXNzYWdlIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RydWN0dXJlZCBkYXRhIElEICclcycgaXMgbm90IHVuaXF1ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU3MgorIywgYy1mb3JtYXQKK21zZ2lkICItLXNkLWlkIHdhcyBub3Qgc3BlY2lmaWVkIGZvciAtLXNkLXBhcmFtICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzU0CisjLCBmdXp6eQorbXNnaWQgImxvY2FsdGltZSgpIGZhaWxlZCIKK21zZ3N0ciAibWFsbG9jINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzY0CisjLCBjLWZvcm1hdAorbXNnaWQgImhvc3RuYW1lICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgItGB0LvQuNGI0LrQvtC8INC00LvQuNC90L3QvtC1INC40LzRjyDRhdC+0YHRgtCwICclcyciCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0YWcgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAi0L/QvtC70LUg0YHQu9C40YjQutC+0Lwg0LTQu9C40L3QvdC+0LUuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODMzCisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIHVua25vd24gb3B0aW9uIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi0LjQs9C90L7RgNC40YDQvtCy0LDQvdC40LUg0L3QtdC40LfQstC10YHRgtC90L7Qs9C+INCw0YDQs9GD0LzQtdC90YLQsCDQv9Cw0YDQsNC80LXRgtGA0LA6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjg0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXM6IHVzaW5nIGF1dG9tYXRpYyBlcnJvcnMiCittc2dzdHIgItC90LXQstC10YDQvdGL0LkgaWQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6OTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bWVzc2FnZT5dXG4iCittc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiAlcyDQv9GA0L7Qs9GA0LDQvNC80LAgW9Cw0YDQs9GD0LzQtdC90YIgLi4uXVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjk5NworIywgZnV6enkKK21zZ2lkICJFbnRlciBtZXNzYWdlcyBpbnRvIHRoZSBzeXN0ZW0gbG9nLlxuIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDRg9GB0YLQsNC90L7QstC40YLRjCDRgdC40YHRgtC10LzQvdGL0LUg0YfQsNGB0YsuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMAorIywgZnV6enkKK21zZ2lkICIgLWkgICAgICAgICAgICAgICAgICAgICAgIGxvZyB0aGUgbG9nZ2VyIGNvbW1hbmQncyBQSURcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgINCt0YLQviDQvdC10LHQvtC70YzRiNC+0LUg0YDRg9C60L7QstC+0LTRgdGC0LLQviDQv9C+INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGOXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMQorbXNnaWQgIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgbG9nIHRoZSBnaXZlbiA8aWQ+LCBvciBvdGhlcndpc2UgdGhlIFBJRFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgICAgIGxvZyB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlXG4iCittc2dzdHIgIiAtZSAgICAgICAgICAg0L3QtSDQtNC10LvQsNGC0Ywg0L/QsNGD0LfRgyDQsiDQutC+0L3RhtC1INGE0LDQudC70LBcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAzCisjLCBmdXp6eQorbXNnaWQgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgZG8gbm90IGxvZyBlbXB0eSBsaW5lcyB3aGVuIHByb2Nlc3NpbmcgZmlsZXNcbiIKK21zZ3N0ciAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgINC90LUg0L/QvtC60LDQt9GL0LLQsNGC0Ywg0L/RgNC40LPQu9Cw0YjQtdC90LjQtSDQtNC70Y8g0LLRhdC+0LTQsFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDQKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgd3JpdGUgdGhlIGxvZ1xuIgorbXNnc3RyICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAg0L3QtSDQv9C+0LrQsNC30YvQstCw0YLRjCDRgdC+0LLQtdGC0YtcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA1Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBtYXJrIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA2Cittc2dpZCAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICB1c2UgcmZjNjU4NyBvY3RldCBjb3VudGluZ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNworbXNnaWQgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAgbG9vayBmb3IgYSBwcmVmaXggb24gZXZlcnkgbGluZSByZWFkIGZyb20gc3RkaW5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDgKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICBvdXRwdXQgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvciBhcyB3ZWxsXG4iCittc2dzdHIgIiAtcyAgICAgICAgICAg0LLRi9Cy0L7QtNC40YLRjCDRgdC+0L7QsdGJ0LXQvdC40Y8g0L3QsCDRgdGC0LDQvdC00LDRgNGC0L3Ri9C5INCy0YvQstC+0LRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA5Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICBtYXhpbXVtIHNpemUgZm9yIGEgc2luZ2xlIG1lc3NhZ2VcbiIKK21zZ3N0ciAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICDQvNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAINC+0LTQvdC+0LPQviDRgdC+0L7QsdGJ0LXQvdC40Y9cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEwCittc2dpZCAiIC10LCAtLXRhZyA8dGFnPiAgICAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMQorbXNnaWQgIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMgorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcG9ydCA8cG9ydD4gICAgICAgIHVzZSB0aGlzIHBvcnQgZm9yIFVEUCBvciBUQ1AgY29ubmVjdGlvblxuIgorbXNnc3RyICIgLVAsIC0tcG9ydCA8bnVtYmVyPiAgICAgINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRjdGC0L7RgiBVRFAt0L/QvtGA0YJcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEzCittc2dpZCAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICB1c2UgVENQIG9ubHlcbiIKK21zZ3N0ciAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YLQvtC70YzQutC+IFRDUFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTQKK21zZ2lkICIgLWQsIC0tdWRwICAgICAgICAgICAgICAgIHVzZSBVRFAgb25seVxuIgorbXNnc3RyICIgLWQsIC0tdWRwICAgICAgICAgICAgICAgINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgtC+0LvRjNC60L4gVURQXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNQorbXNnaWQgIiAgICAgLS1yZmMzMTY0ICAgICAgICAgICAgdXNlIHRoZSBvYnNvbGV0ZSBCU0Qgc3lzbG9nIHByb3RvY29sXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE2Cittc2dpZCAiIgorIiAgICAgLS1yZmM1NDI0Wz08c25pcD5dICAgdXNlIHRoZSBzeXNsb2cgcHJvdG9jb2wgKHRoZSBkZWZhdWx0IGZvciByZW1vdGUpO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c25pcD4gY2FuIGJlIG5vdGltZSwgb3Igbm90cSwgYW5kL29yIG5vaG9zdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxOAorbXNnaWQgIiAgICAgLS1zZC1pZCA8aWQ+ICAgICAgICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgSURcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTkKK21zZ2lkICIgICAgIC0tc2QtcGFyYW0gPGRhdGE+ICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIG5hbWU9dmFsdWVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjAKK21zZ2lkICIgICAgIC0tbXNnaWQgPG1zZ2lkPiAgICAgIHNldCByZmM1NDI0IG1lc3NhZ2UgaWQgZmllbGRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjEKK21zZ2lkICIgLXUsIC0tc29ja2V0IDxzb2NrZXQ+ICAgIHdyaXRlIHRvIHRoaXMgVW5peCBzb2NrZXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjIKK21zZ2lkICIiCisiICAgICAtLXNvY2tldC1lcnJvcnNbPTxvbnxvZmZ8YXV0bz5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludCBjb25uZWN0aW9uIGVycm9ycyB3aGVuIHVzaW5nIFVuaXggc29ja2V0c1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyNQorbXNnaWQgIiAgICAgLS1qb3VybmFsZFs9PGZpbGU+XSAgd3JpdGUgam91cm5hbGQgZW50cnlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZSAlcyIKK21zZ3N0ciAi0YTQsNC50LsgJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTEyNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgaWQiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L/RgNC+0YbQtdGB0YHQsCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTQ1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtZXNzYWdlIHNpemUiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE4MAorbXNnaWQgIi0tbXNnaWQgY2Fubm90IGNvbnRhaW4gc3BhY2UiCittc2dzdHIgIi0tbXNnaWQg0L3QtSDQvNC+0LbQtdGCINGB0L7QtNC10YDQttCw0YLRjCDQv9GA0L7QsdC10LvQsCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBJRDogJyVzJyIKK21zZ3N0ciAi0L3QtdCy0LXRgNC90YvQuSBpZDogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBwYXJhbWV0ZXI6ICclcyciCittc2dzdHIgItC90LXQstC10YDQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDRgtCw0LnQvC3QsNGD0YLQsDogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIxOAorbXNnaWQgIi0tZmlsZSA8ZmlsZT4gYW5kIDxtZXNzYWdlPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLCBtZXNzYWdlIGlzIGlnbm9yZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjI1Cittc2dpZCAiam91cm5hbGQgZW50cnkgY291bGQgbm90IGJlIHdyaXR0ZW4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxzdHJpbmc+IFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiAlcyBb0L7Qv9GG0LjQuF0g0YPRgdGC0YDQvtC50YHRgtCy0L4uLi5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzU4Cittc2dpZCAiRGlzcGxheSBsaW5lcyBiZWdpbm5pbmcgd2l0aCBhIHNwZWNpZmllZCBzdHJpbmcuXG4iCittc2dzdHIgItCe0YLQvtCx0YDQsNC30LjRgtGMINGB0YLRgNC+0LrQuCwg0L3QsNGH0LjQvdCw0Y7RidC40LXRgdGPINGBINC30LDQtNCw0L3QvdC+0Lkg0L/QvtGB0LvQtdC00L7QstCw0YLQtdC70YzQvdC+0YHRgtC4LlxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjEKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgIHVzZSB0aGUgYWx0ZXJuYXRpdmUgZGljdGlvbmFyeVxuIgorbXNnc3RyICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQsNC70YzRgtC10YDQvdCw0YLQuNCy0L3Ri9C5INGB0LvQvtCy0LDRgNGMXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MgorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tYWxwaGFudW0gICAgICAgICAgIGNvbXBhcmUgb25seSBibGFua3MgYW5kIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAtZCwgLS1hbHBoYW51bSAgICAgICAgICAg0YHRgNCw0LLQvdC40LLQsNGC0Ywg0YLQvtC70YzQutC+INCw0LvRhNCw0LLQuNGC0L3Qvi3RhtC40YTRgNC+0LLRi9C1INGB0LjQvNCy0L7Qu9GLXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MworbXNnaWQgIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjQKK21zZ2lkICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiAgIGRlZmluZSB0aGUgc3RyaW5nLXRlcm1pbmF0aW9uIGNoYXJhY3RlclxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTcKK21zZ2lkICJkZXZpY2UgbmFtZSIKK21zZ3N0ciAi0LjQvNGPINGD0YHRgtGA0L7QudGB0YLQstCwIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU4Cittc2dpZCAiaW50ZXJuYWwga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTkKK21zZ2lkICJpbnRlcm5hbCBwYXJlbnQga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIgc3lzLXV0aWxzL3pyYW1jdGwuYzo4NAorbXNnaWQgIndoZXJlIHRoZSBkZXZpY2UgaXMgbW91bnRlZCIKK21zZ3N0ciAi0LrRg9C00LAg0L/RgNC40LzQvtC90YLQuNGA0L7QstCw0L3QviDRg9GB0YLRgNC+0LnRgdGC0LLQviIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MworbXNnaWQgImZpbGVzeXN0ZW0gTEFCRUwiCittc2dzdHIgItCc0JXQotCa0JAg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRiyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NgorbXNnaWQgInBhcnRpdGlvbiB0eXBlIFVVSUQiCittc2dzdHIgIlVVSUQg0YLQuNC/0LAg0YDQsNC30LTQtdC70LAiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjcKK21zZ2lkICJwYXJ0aXRpb24gTEFCRUwiCittc2dzdHIgItCc0JXQotCa0JAg0YDQsNC30LTQtdC70LAiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzEKK21zZ2lkICJyZWFkLWFoZWFkIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAi0YPRgdGC0YDQvtC50YHRgtCy0L4g0YLQvtC70YzQutC+INC00LvRjyDRh9GC0LXQvdC40Y8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzMKK21zZ2lkICJyZW1vdmFibGUgZGV2aWNlIgorbXNnc3RyICLRgdGK0ZHQvNC90L7QtSDRg9GB0YLRgNC+0LnRgdGC0LLQviIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NAorbXNnaWQgInJlbW92YWJsZSBvciBob3RwbHVnIGRldmljZSAodXNiLCBwY21jaWEsIC4uLikiCittc2dzdHIgItGB0YrQtdC80L3QvtC1INGD0YHRgtGA0L7QudGB0YLQstC+INC40LvQuCDRg9GB0YLRgNC+0LnRgdGC0LLQviDRgSDQs9C+0YDRj9GH0LjQvCDQv9C+0LTQutC70Y7Rh9C10L3QuNC10LwgKHVzYiwgcGNtY2lhLCAuLi4pIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc1Cittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NgorbXNnaWQgImFkZHMgcmFuZG9tbmVzcyIKK21zZ3N0ciAi0LTQvtCx0LDQstC70Y/QtdGCINGB0LvRg9GH0LDQudC90L7QtSDQt9C90LDRh9C10L3QuNC1IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc3Cittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIiCittc2dzdHIgItC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGD0YHRgtGA0L7QudGB0YLQstCwIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc4Cittc2dpZCAiZGlzayBzZXJpYWwgbnVtYmVyIgorbXNnc3RyICLRgdC10YDQuNC50L3Ri9C5INC90L7QvNC10YAg0LTQuNGB0LrQsCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OQorbXNnaWQgInNpemUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAi0YDQsNC30LzQtdGAINGD0YHRgtGA0L7QudGB0YLQstCwIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgwCittc2dpZCAic3RhdGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAi0YHQvtGB0YLQvtGP0L3QuNC1INGD0YHRgtGA0L7QudGB0YLQstCwIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgyCittc2dpZCAiZ3JvdXAgbmFtZSIKK21zZ3N0ciAi0L3QsNC30LLQsNC90LjQtSDQs9GA0YPQv9C/0YsiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODMKK21zZ2lkICJkZXZpY2Ugbm9kZSBwZXJtaXNzaW9ucyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg0Cittc2dpZCAiYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAi0YHQvNC10YnQtdC90LjQtSDQstGL0YDQsNCy0L3QuNCy0LDQvdC40Y8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODUKK21zZ2lkICJtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICLQvNC40L3QuNC80LDQu9GM0L3Ri9C5INGA0LDQt9C80LXRgCBJL08iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODYKK21zZ2lkICJvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICLQvtC/0YLQuNC80LDQu9GM0L3Ri9C5INGA0LDQt9C80LXRgCBJL08iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODcKK21zZ2lkICJwaHlzaWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAi0YDQsNC30LzQtdGAINGE0LjQt9C40YfQtdGB0LrQvtCz0L4g0YHQtdC60YLQvtGA0LAiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODgKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICLRgNCw0LfQvNC10YAg0LvQvtCz0LjRh9C10YHQutC+0LPQviDRgdC10LrRgtC+0YDQsCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OQorbXNnaWQgIkkvTyBzY2hlZHVsZXIgbmFtZSIKK21zZ3N0ciAi0LjQvNGPINC/0LvQsNC90LjRgNC+0LLRidC40LrQsCBJL08iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTAKK21zZ2lkICJyZXF1ZXN0IHF1ZXVlIHNpemUiCittc2dzdHIgItC30LDQv9GA0L7RgdC40YLRjCDRgNCw0LfQvNC10YAg0L7Rh9C10YDQtdC00LgiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTEKK21zZ2lkICJkZXZpY2UgdHlwZSIKK21zZ3N0ciAi0YLQuNC/INGD0YHRgtGA0L7QudGB0YLQstCwIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkyCisjLCBmdXp6eQorbXNnaWQgImRpc2NhcmQgYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAi0L7RgtCx0YDQvtGB0LjRgtGMINGB0LzQtdGJ0LXQvdC40LUg0LLRi9GA0LDQstC90LjQstCw0L3QuNGPIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkzCittc2dpZCAiZGlzY2FyZCBncmFudWxhcml0eSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk0Cittc2dpZCAiZGlzY2FyZCBtYXggYnl0ZXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NQorbXNnaWQgImRpc2NhcmQgemVyb2VzIGRhdGEiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NgorbXNnaWQgIndyaXRlIHNhbWUgbWF4IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTcKK21zZ2lkICJ1bmlxdWUgc3RvcmFnZSBpZGVudGlmaWVyIgorbXNnc3RyICLRg9C90LjQutCw0LvRjNC90YvQuSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRhdGA0LDQvdC40LvQuNGJ0LAiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTgKK21zZ2lkICJIb3N0OkNoYW5uZWw6VGFyZ2V0Okx1biBmb3IgU0NTSSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk5Cittc2dpZCAiZGV2aWNlIHRyYW5zcG9ydCB0eXBlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDAKK21zZ2lkICJkZS1kdXBsaWNhdGVkIGNoYWluIG9mIHN1YnN5c3RlbXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMQorbXNnaWQgImRldmljZSByZXZpc2lvbiIKK21zZ3N0ciAi0YDQtdCy0LjQt9C40Y8g0YPRgdGC0YDQvtC50YHRgtCy0LAiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDIKK21zZ2lkICJkZXZpY2UgdmVuZG9yIgorbXNnc3RyICLQv9GA0L7QuNC30LLQvtC00LjRgtC10LvRjCDRg9GB0YLRgNC+0LnRgdGC0LLQsCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjEyNzYKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkZXZpY2UgZGlyZWN0b3J5IGluIHN5c2ZzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNvbXBvc2Ugc3lzZnMgcGF0aCIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIGxpbmsiCittc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDRgdGB0YvQu9C60YMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB3aG9sZS1kaXNrIGRldmljZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NTEgbWlzYy11dGlscy9sc2Jsay5jOjE1NTMgbWlzYy11dGlscy9sc2Jsay5jOjE1NzgKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGlzdCAnJXMnIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1OAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBleGNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgItGB0L/QuNGB0L7QuiDQuNGB0LrQu9GO0YfQtdC90L3Ri9GFINGD0YHRgtGA0L7QudGB0YLQsiDRgdC70LjRiNC60L7QvCDQstC10LvQuNC6ICjQv9GA0LXQtNC10LsgLSAlZCDRg9GB0YLRgNC+0LnRgdGC0LIpIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBpbmNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgItGB0L/QuNGB0L7QuiDQstC60LvRjtGH0LXQvdC90YvRhSDRg9GB0YLRgNC+0LnRgdGC0LIg0YHQu9C40YjQutC+0Lwg0LLQtdC70LjQuiAo0L/RgNC10LTQtdC7IC0gJWQg0YPRgdGC0YDQvtC50YHRgtCyKSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MTYgc3lzLXV0aWxzL3dkY3RsLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0YtdIFs80YPRgdGC0YDQvtC50YHRgtCy0L4+IC4uLl1cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MTkKK21zZ2lkICJMaXN0IGluZm9ybWF0aW9uIGFib3V0IGJsb2NrIGRldmljZXMuXG4iCittc2dzdHIgItCS0YvQstC10YHRgtC4INC40L3RhNC+0YDQvNCw0YbQuNGOINC+INCx0LvQvtGH0L3Ri9GFINGD0YHRgtGA0L7QudGB0YLQstCw0YUuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIyCittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINCy0YHQtSDRg9GB0YLRgNC+0LnRgdGC0LLQsFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNAorbXNnaWQgIiAtZCwgLS1ub2RlcHMgICAgICAgICBkb24ndCBwcmludCBzbGF2ZXMgb3IgaG9sZGVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI1Cittc2dpZCAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHByaW50IGRpc2NhcmQgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjYKK21zZ2lkICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI3Cittc2dpZCAiIC1mLCAtLWZzICAgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtZiwgLS1mcyAgICAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INGE0LDQudC70L7QstGL0YUg0YHQuNGB0YLQtdC80LDRhVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyOAorbXNnaWQgIiAtaSwgLS1hc2NpaSAgICAgICAgICB1c2UgYXNjaWkgY2hhcmFjdGVycyBvbmx5XG4iCittc2dzdHIgIiAtaSwgLS1hc2NpaSAgICAgICAgICDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YLQvtC70YzQutC+IEFTQ0lJLdGB0LjQvNCy0L7Qu9GLXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI5Cittc2dpZCAiIC1JLCAtLWluY2x1ZGUgPGxpc3Q+IHNob3cgb25seSBkZXZpY2VzIHdpdGggc3BlY2lmaWVkIG1ham9yIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMAorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0LTQu9GPINCy0YvQstC+0LTQsCDRhNC+0YDQvNCw0YIgSlNPTlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINC00LDQvdC90YvQtSDQsiDQstC40LTQtSDRgdC/0LjRgdC60LBcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzIKK21zZ2lkICIgLW0sIC0tcGVybXMgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIC1tLCAtLXBlcm1zICAgICAgICAgINC/0L7QutCw0LfQsNGC0Ywg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L4g0YDQsNC30YDQtdGI0LXQvdC40Y/RhVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMworbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM0Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzUKK21zZ2lkICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgb3V0cHV0IGFsbCBjb2x1bW5zXG4iCittc2dzdHIgIiAtTywgLS1vdXRwdXQtYWxsICAgICDQstGL0LLQvtC00LjRgtGMINCy0YHQtSDRgdGC0L7Qu9Cx0YbRi1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNgorbXNnaWQgIiAtcCwgLS1wYXRocyAgICAgICAgICBwcmludCBjb21wbGV0ZSBkZXZpY2UgcGF0aFxuIgorbXNnc3RyICIgLXAsIC0tcGF0aHMgICAgICAgICAg0L/QtdGH0LDRgtCw0YLRjCDQv9C+0LvQvdGL0Lkg0L/Rg9GC0Ywg0Log0YPRgdGC0YDQvtC50YHRgtCy0YNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzkKK21zZ2lkICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MAorbXNnaWQgIiAtUywgLS1zY3NpICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBTQ1NJIGRldmljZXNcbiIKK21zZ3N0ciAiIC1TLCAtLXNjc2kgICAgICAgICAgINCy0YvQstC10YHRgtC4INC40L3RhNC+0YDQvNCw0YbQuNGOINC+0LEg0YPRgdGC0YDQvtC50YHRgtCy0LDRhSBTQ1NJXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQxCittc2dpZCAiIC10LCAtLXRvcG9sb2d5ICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHRvcG9sb2d5XG4iCittc2dzdHIgIiAtdCwgLS10b3BvbG9neSAgICAgICDQstGL0LLQtdGB0YLQuCDQuNC90YTQvtGA0LzQsNGG0LjRjiDQviDRgtC+0L/QvtC70L7Qs9C40LhcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDIKK21zZ2lkICIgLXgsIC0tc29ydCA8Y29sdW1uPiAgc29ydCBvdXRwdXQgYnkgPGNvbHVtbj5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NyBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTkgc3lzLXV0aWxzL2xzbnMuYzo2MzIKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTk2IHN5cy11dGlscy96cmFtY3RsLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tb3V0cHV0KTpcbiIKK21zZ3N0ciAiIgorIlxuIgorItCU0L7RgdGC0YPQv9C90YvQtSDRgdGC0L7Qu9Cx0YbRiyAo0LTQu9GPIC0tb3V0cHV0KTpcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFjY2VzcyBzeXNmcyBkaXJlY3Rvcnk6ICVzIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0LTQvtGB0YLRg9C/INC6INC60LDRgtCw0LvQvtCz0YMgc3lzZnM6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3MworbXNnaWQgImNvbW1hbmQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NAorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc1Cittc2dpZCAia2luZCBvZiBsb2NrOiBGTF9GTE9DSyBvciBGTF9QT1NJWC4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzYKK21zZ2lkICJzaXplIG9mIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc3Cittc2dpZCAibG9jayBhY2Nlc3MgbW9kZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OAorbXNnaWQgIm1hbmRhdG9yeSBzdGF0ZSBvZiB0aGUgbG9jazogMCAobm9uZSksIDEgKHNldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzkKK21zZ2lkICJyZWxhdGl2ZSBieXRlIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MAorbXNnaWQgImVuZGluZyBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODEKK21zZ2lkICJwYXRoIG9mIHRoZSBsb2NrZWQgZmlsZSIKK21zZ3N0ciAi0L/Rg9GC0Ywg0Log0LfQsNCx0LvQvtC60LjRgNC+0LLQsNC90L3QvtC80YMg0YTQsNC50LvRgyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODIKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgYmxvY2tpbmcgdGhlIGxvY2siCittc2dzdHIgItC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC/0YDQvtGG0LXRgdGB0LAsINCx0LvQvtC60LjRgNGD0Y7RidC10LPQviDQtNC+0YHRgtGD0L8iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI1OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJRCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjgxIHN5cy11dGlscy9uc2VudGVyLmM6MjMyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBpZCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQv9GA0L7RhtC10YHRgdCwIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODQKK21zZ2lkICIodW5rbm93bikiCittc2dzdHIgIijQvdC10LjQt9Cy0LXRgdGC0L3QvikiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI5MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGFydCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCDQvdCw0YfQsNC70L4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjMwMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbmQiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0LrQvtC90LXRhiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA0CisjLCBmdXp6eQorbXNnaWQgIkxpc3QgbG9jYWwgc3lzdGVtIGxvY2tzLlxuIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDRg9GB0YLQsNC90L7QstC40YLRjCDRgdC40YHRgtC10LzQvdGL0LUg0YfQsNGB0YsuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwOAorbXNnaWQgIiAtaSwgLS1ub2luYWNjZXNzaWJsZSAgIGlnbm9yZSBsb2NrcyB3aXRob3V0IHJlYWQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDkgc3lzLXV0aWxzL2xzbnMuYzo2MjEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMCBzeXMtdXRpbHMvbHNucy5jOjYyMgorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTEKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBkaXNwbGF5IG9ubHkgbG9ja3MgaGVsZCBieSB0aGlzIHByb2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTIgc3lzLXV0aWxzL2xzbnMuYzo2MjQKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg0JLRi9Cy0L7QtCDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDQstC10YDRgdC40LhcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTcwIHNjaGVkdXRpbHMvY2hydC5jOjQ3OCBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTYzIHN5cy11dGlscy9sc25zLmM6Njk5IHN5cy11dGlscy9wcmxpbWl0LmM6NTg2Cittc2dpZCAiaW52YWxpZCBQSUQgYXJndW1lbnQiCittc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQuSDQsNGA0LPRg9C80LXQvdGCIFBJRCIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODUKK21zZ2lkICJHZW5lcmF0ZSBtYWdpYyBjb29raWVzIGZvciB4YXV0aC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgdXNlIGZpbGUgYXMgYSBjb29raWUgc2VlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg5Cittc2dpZCAiIC1tLCAtLW1heC1zaXplIDxudW0+ICBsaW1pdCBob3cgbXVjaCBpcyByZWFkIGZyb20gc2VlZCBmaWxlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkwCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgINGA0LDQt9GK0Y/RgdC90LXQvdC40LUg0LLRi9C/0L7Qu9C90Y/QtdC80YvRhSDQtNC10LnRgdGC0LLQuNC5XG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJHb3QgJXp1IGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJXp1IGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAi0J/QvtC70YPRh9C10L0gJXp1INCx0LDQudGCINC40LcgJXNcbiIKK21zZ3N0clsxXSAi0J/QvtC70YPRh9C10L3QviAlenUg0LHQsNC50YLQsCDQuNC3ICVzXG4iCittc2dzdHJbMl0gItCf0L7Qu9GD0YfQtdC90L4gJXp1INCx0LDQudGCINC40LcgJXNcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb3NpbmcgJXMgZmFpbGVkIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQutGA0YvRgtGMICVzIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNjQgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNDYgc3lzLXV0aWxzL2ZzdHJpbS5jOjMwOAorIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTE3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxlbmd0aCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCDQtNC70LjQvdGDIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNzcKK21zZ2lkICItLW1heC1zaXplIGlnbm9yZWQgd2hlbiB1c2VkIHdpdGhvdXQgLS1maWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE4NQorIywgYy1mb3JtYXQKK21zZ2lkICJHb3QgJWQgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlZCBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gItCf0L7Qu9GD0YfQtdC9ICVkINCx0LDQudGCINC40LcgJXNcbiIKK21zZ3N0clsxXSAi0J/QvtC70YPRh9C10L3QviAlZCDQsdCw0LnRgtCwINC40LcgJXNcbiIKK21zZ3N0clsyXSAi0J/QvtC70YPRh9C10L3QviAlZCDQsdCw0LnRgiDQuNC3ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzeW1saW5rOiAlcyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0YHQuNC80LLQvtC70YzQvdGD0Y4g0YHRgdGL0LvQutGDOiAlcyIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAtIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiJXMg4oCUINC90LXRgiDRgtCw0LrQvtCz0L4g0YTQsNC50LvQsCDQuNC70Lgg0LrQsNGC0LDQu9C+0LPQsFxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBhdGhuYW1lPi4uLlxuIgorbXNnc3RyICIgJXMgW9C+0L/RhtC40LhdIDzQv9GD0YLRjD4uLi5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzNgorbXNnaWQgIkZvbGxvdyBhIHBhdGhuYW1lIHVudGlsIGEgdGVybWluYWwgcG9pbnQgaXMgZm91bmQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzOQorbXNnaWQgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICBkaXNwbGF5cyB0aGlzIGhlbHAgdGV4dFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC14LCAtLW1vdW50cG9pbnRzICAgc2hvdyBtb3VudCBwb2ludCBkaXJlY3RvcmllcyB3aXRoIGEgJ0QnXG4iCisiIC1tLCAtLW1vZGVzICAgICAgICAgc2hvdyB0aGUgbW9kZSBiaXRzIG9mIGVhY2ggZmlsZVxuIgorIiAtbywgLS1vd25lcnMgICAgICAgIHNob3cgb3duZXIgYW5kIGdyb3VwIG5hbWUgb2YgZWFjaCBmaWxlXG4iCisiIC1sLCAtLWxvbmcgICAgICAgICAgdXNlIGEgbG9uZyBsaXN0aW5nIGZvcm1hdCAoLW0gLW8gLXYpIFxuIgorIiAtbiwgLS1ub3N5bWxpbmtzICAgIGRvbid0IGZvbGxvdyBzeW1saW5rc1xuIgorIiAtdiwgLS12ZXJ0aWNhbCAgICAgIHZlcnRpY2FsIGFsaWduIG9mIG1vZGVzIGFuZCBvd25lcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDA4Cittc2dpZCAicGF0aG5hbWUgYXJndW1lbnQgaXMgbWlzc2luZyIKK21zZ3N0ciAi0L7RgtGB0YPRgtGB0YLQstGD0LXRgiDQsNGA0LPRg9C80LXQvdGCINC/0YPRgtC4IgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE0IHN5cy11dGlscy9sc25zLmM6NzY0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBVSUQgY2FjaGUiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0LfQsNCz0L7Qu9C+0LLQvtC6IEdQVCIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR0lEIGNhY2hlIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINC30LDQs9C+0LvQvtCy0L7QuiBHUFQiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4Y2VlZGVkIGxpbWl0IG9mIHN5bWxpbmtzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHN5bWJvbGljIGxpbmsiCittc2dzdHIgIiVzOiDQvdC1INGB0LjQvNCy0L7Qu9GM0L3QsNGPINGB0YHRi9C70LrQsCIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZGxpbmsgZmFpbGVkIgorbXNnc3RyICIlczog0L7RiNC40LHQutCwIHJlYWRsaW5rIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmxpbmsgZmFpbGVkIgorbXNnc3RyICIlczog0L7RiNC40LHQutCwIHVubGluayIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3ltbGlua2luZyB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINGB0LjQvNCy0L7Qu9GM0L3Rg9GOINGB0YHRi9C70LrRgyDQvdCwICVzIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVuYW1lIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6INC90LUg0YPQtNCw0LvQvtGB0Ywg0L/QtdGA0LXQuNC80LXQvdC+0LLQsNGC0Ywg0LIgJXMiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGV4cHJlc3Npb24+IDxyZXBsYWNlbWVudD4gPGZpbGU+Li4uXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjIKK21zZ2lkICJSZW5hbWUgZmlsZXMuXG4iCittc2dzdHIgItCf0LXRgNC10LjQvNC10L3QvtCy0LDRgtGMINGE0LDQudC70YsuXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTI1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAg0YDQsNC30YrRj9GB0L3QtdC90LjQtSDQstGL0L/QvtC70L3Rj9C10LzRi9GFINC00LXQudGB0YLQstC40LlcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjYKK21zZ2lkICIgLXMsIC0tc3ltbGluayAgICBhY3Qgb24gdGhlIHRhcmdldCBvZiBzeW1saW5rc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MgorbXNnaWQgIkEgZGFlbW9uIGZvciBnZW5lcmF0aW5nIFVVSURzLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkIDxwYXRoPiAgICAgICAgcGF0aCB0byBwaWQgZmlsZVxuIgorbXNnc3RyICIgICBsICAg0YHQv9C40YHQvtC6INGC0LjQv9C+0LIg0LjQt9Cy0LXRgdGC0L3Ri9GFINGE0LDQudC70L7QstGL0YUg0YHQuNGB0YLQtdC8IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNvY2tldCA8cGF0aD4gICAgIHBhdGggdG8gc29ja2V0XG4iCittc2dzdHIgIiAgIGwgICDRgdC/0LjRgdC+0Log0YLQuNC/0L7QsiDQuNC30LLQtdGB0YLQvdGL0YUg0YTQsNC50LvQvtCy0YvRhSDRgdC40YHRgtC10LwiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NgorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKK21zZ3N0ciAiIC1ILCAtLWhlYWRzIDzRh9C40YHQu9C+PiAgICAgICAgICAg0YPQutCw0LbQuNGC0LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0LPQvtC70L7QstC+0LpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc3CisjLCBmdXp6eQorbXNnaWQgIiAtaywgLS1raWxsICAgICAgICAgICAgICBraWxsIHJ1bm5pbmcgZGFlbW9uXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICDRgNCw0LfQvNC+0L3RgtC40YDQvtCy0LDRgtGMINCy0YHQtSDRhNCw0LnQu9C+0LLRi9C1INGB0LjRgdGC0LXQvNGLXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3OAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdCByYW5kb20tYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgICAgICAgICAgICAgINC/0LDRgNCw0LzQtdGC0YDRi1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICDQn9GA0L7QstC10YDQutCwINCy0LXRgNGB0LjQuCBnZXRvcHQoMSlcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgwCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS11dWlkcyA8bnVtPiAgICAgICByZXF1ZXN0IG51bWJlciBvZiB1dWlkc1xuIgorbXNnc3RyICIgLUgsIC0taGVhZHMgPNGH0LjRgdC70L4+ICAgICAgICAgICDRg9C60LDQttC40YLQtSDQutC+0LvQuNGH0LXRgdGC0LLQviDQs9C+0LvQvtCy0L7QulxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKK21zZ3N0ciAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgINC90LUg0L/QvtC60LDQt9GL0LLQsNGC0Ywg0YTQsNC50LsgaXNzdWVcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgyCisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkbyBub3QgZGFlbW9uaXplIHVzaW5nIGRvdWJsZS1mb3JrXG4iCittc2dzdHIgIiAgICAgICAgICAgICAg0L/QsNGA0LDQvNC10YLRgNGLXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MworIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iCittc2dzdHIgIiAtbSwgLS11bmNsZWFyZWQgICDQstC60LvRjtGH0LjRgtGMINC/0YDQtdC00YPQv9GA0LXQttC10L3QuNGPIFwibW9kZSBub3QgY2xlYXJlZFwiXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4NAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDQktGL0LLQvtC0INC40L3RhNC+0YDQvNCw0YbQuNC4INC+INCy0LXRgNGB0LjQuFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODUKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHR1cm4gb24gcXVpZXQgbW9kZVxuIgorbXNnc3RyICIgICAgLXEgIFvQuNC70LggLS1xdWlldF06ICAgICAg0L/QvtC00LDQstC70LXQvdC40LUg0L/RgNC10LTRg9C/0YDQtdC20LTQsNGO0YnQuNGFINGB0L7QvtCx0YnQtdC90LjQuSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjExOAorbXNnaWQgImJhZCBhcmd1bWVudHMiCittc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQtSDQsNGA0LPRg9C80LXQvdGC0YsiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMjUKK21zZ2lkICJzb2NrZXQiCittc2dzdHIgItGB0L7QutC10YIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMzYKK21zZ2lkICJjb25uZWN0IgorbXNnc3RyICLQv9C+0LTQutC70Y7Rh9C10L3QuNC1IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTU2Cittc2dpZCAid3JpdGUiCittc2dzdHIgItC30LDQv9C40YHRjCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE2NAorbXNnaWQgInJlYWQgY291bnQiCittc2dzdHIgItGH0LjRgdC70L4g0YfRgtC10L3QuNC5IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTcwCittc2dpZCAiYmFkIHJlc3BvbnNlIGxlbmd0aCIKK21zZ3N0ciAi0L3QtdCy0LXRgNC90LDRjyDQtNC70LjQvdCwINC+0YLQstC10YLQsCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIyMQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbG9jayAlcyIKK21zZ3N0ciAi0L3QtSDRg9C00LDRkdGC0YHRjyDQt9Cw0LHQu9C+0LrQuNGA0L7QstCw0YLRjCAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI0NgorbXNnaWQgImNvdWxkbid0IGNyZWF0ZSB1bml4IHN0cmVhbSBzb2NrZXQiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0YHQvtC60LXRgiDQv9C+0YLQvtC60LAgdW5peCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBiaW5kIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQuNCy0Y/Qt9Cw0YLRjNGB0Y8g0Log0YHQvtC60LXRgtGDIHVuaXggJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyOTgKKyMsIGZ1enp5Cittc2dpZCAicmVjZWl2aW5nIHNpZ25hbCBmYWlsZWQiCittc2dzdHIgItC+0YLQv9GA0LDQstC60LAg0YHQuNCz0L3QsNC70LAg0LTQu9GPICVzINC30LDQstC10YDRiNC40LvQsNGB0Ywg0L3QtdGD0LTQsNGH0LXQuSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjMxMQorIywgZnV6enkKK21zZ2lkICJ0aW1lZCBvdXQiCittc2dzdHIgIiIKKyLQstGA0LXQvNGPINC+0LbQuNC00LDQvdC40Y8g0LjRgdGC0LXQutC70L5cbiIKKyJcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM0NSBzeXMtdXRpbHMvZmxvY2suYzoyNzEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCB1cCB0aW1lciIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidXVpZGQgZGFlbW9uIGlzIGFscmVhZHkgcnVubmluZyBhdCBwaWQgJXMiCittc2dzdHIgItC00LXQvNC+0L0gdXVpZGQg0LTQtdC80L7QvSDRg9C20LUg0LfQsNC/0YPRidC10L0g0YEg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDQvtC8INC/0YDQvtGG0LXRgdGB0LAgJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgbGlzdGVuIG9uIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGB0LvRg9GI0LDRgtGMINGB0L7QutC10YIgdW5peCAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgdHJ1bmNhdGUgZmlsZTogJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdGA0LXQt9Cw0YLRjCDRhNCw0LnQuzogJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODYKKyMsIGZ1enp5Cittc2dpZCAic2RfbGlzdGVuX2ZkcygpIGZhaWxlZCIKK21zZ3N0ciAic2V0dGltZW9mZGF5KCkg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4OQorbXNnaWQgIm5vIGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHN5c3RlbWN0bCBzdGF0dXMgdXVpZGQuc29ja2V0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozOTIKK21zZ2lkICJ0b28gbWFueSBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayB1dWlkZC5zb2NrZXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQyMCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ1NQorIywgZnV6enkKK21zZ2lkICJwb2xsIGZhaWxlZCIKK21zZ3N0ciAi0L7RiNC40LHQutCwIHBvbGwoKSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltZW91dCBbJWQgc2VjXVxuIgorbXNnc3RyICLQuNGB0YLQtdC60LvQviDQstGA0LXQvNGPINC+0LbQuNC00LDQvdC40Y8g0LIgJXUg0YHQtdC60YPQvdC0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQzIHRleHQtdXRpbHMvY29sdW1uLmM6NDE0Cittc2dpZCAicmVhZCBmYWlsZWQiCittc2dzdHIgItC+0YjQuNCx0LrQsCDRh9GC0LXQvdC40Y8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHJlYWRpbmcgZnJvbSBjbGllbnQsIGxlbiA9ICVkIgorbXNnc3RyICLQntGI0LjQsdC60LAg0YfRgtC10L3QuNGPICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkLCBpbmNvbWluZyBudW0gPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkXG4iCittc2dzdHIgItC+0L/QtdGA0LDRhtC40Y8gJWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ3MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHJhbmRvbSBVVUlEOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgYW5kICVkIGZvbGxvd2luZ1xuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKK21zZ3N0clsyXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCAlZCBVVUlEOlxuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgJWQgVVVJRHM6XG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorbXNnc3RyWzJdICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAi0J3QtdC00L7Qv9GD0YHRgtC40LzQsNGPINC+0L/QtdGA0LDRhtC40Y8gJWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUzOQorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIHJlcGx5IGxlbmd0aCBmcm9tIHNlcnZlciAlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjAwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXV1aWRzIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjE3Cittc2dpZCAidXVpZGQgaGFzIGJlZW4gYnVpbHQgd2l0aG91dCBzdXBwb3J0IGZvciBzb2NrZXQgYWN0aXZhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjM2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRpbWVvdXQiCittc2dzdHIgItCe0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0Lgg0YDQsNC30LTQtdC70LAg0L3QsCAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjUzCittc2dpZCAiQm90aCAtLXNvY2tldC1hY3RpdmF0aW9uIGFuZCAtLXNvY2tldCBzcGVjaWZpZWQuIElnbm9yaW5nIC0tc29ja2V0LiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYwIG1pc2MtdXRpbHMvdXVpZGQuYzo2ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNhbGxpbmcgdXVpZGQgZGFlbW9uICglcykiCittc2dzdHIgItC+0YjQuNCx0LrQsCDRgdC80LXQvdGLINGA0LXQttC40LzQsCAlczogJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjEgbWlzYy11dGlscy91dWlkZC5jOjY4OQorbXNnaWQgInVuZXhwZWN0ZWQgZXJyb3IiCittc2dzdHIgItC90LXQv9GA0LXQtNCy0LjQtNC10L3QvdCw0Y8g0L7RiNC40LHQutCwIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURcbiIKK21zZ2lkX3BsdXJhbCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRHNcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCittc2dzdHJbMl0gIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY3MworIywgYy1mb3JtYXQKK21zZ2lkICJMaXN0IG9mIFVVSURzOlxuIgorbXNnc3RyICLQodC/0LjRgdC+0LogVVVJRDpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBraWxsIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiS2lsbGVkIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI4CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZSBhIG5ldyBVVUlEIHZhbHVlLlxuIgorbXNnc3RyICLQodC+0LfQtNCw0YLRjCDQvdC+0LLRi9C5INC70L7Qs9C40YfQtdGB0LrQuNC5INGA0LDQt9C00LXQuyIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzEKK21zZ2lkICIiCisiIC1yLCAtLXJhbmRvbSAgICAgZ2VuZXJhdGUgcmFuZG9tLWJhc2VkIHV1aWRcbiIKKyIgLXQsIC0tdGltZSAgICAgICBnZW5lcmF0ZSB0aW1lLWJhc2VkIHV1aWRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstQk1TIDxkaXI+Li4uIC1mXSA8bmFtZT5cbiIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzIFvQvtC/0YbQuNC4XSDRg9GB0YLRgNC+0LnRgdGC0LLQvi4uLlxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTIKK21zZ2lkICJMb2NhdGUgdGhlIGJpbmFyeSwgc291cmNlLCBhbmQgbWFudWFsLXBhZ2UgZmlsZXMgZm9yIGEgY29tbWFuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTUKK21zZ2lkICIgLWIgICAgICAgICBzZWFyY2ggb25seSBmb3IgYmluYXJpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTYKK21zZ2lkICIgLUIgPGRpcnM+ICBkZWZpbmUgYmluYXJpZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTcKKyMsIGZ1enp5Cittc2dpZCAiIC1tICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIG1hbnVhbHMgYW5kIGluZm9zXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDQktGL0LLQvtC0INC40L3RhNC+0YDQvNCw0YbQuNC4INC+INCy0LXRgNGB0LjQuFxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTgKK21zZ2lkICIgLU0gPGRpcnM+ICBkZWZpbmUgbWFuIGFuZCBpbmZvIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk5Cittc2dpZCAiIC1zICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIHNvdXJjZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDAKK21zZ2lkICIgLVMgPGRpcnM+ICBkZWZpbmUgc291cmNlcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMQorbXNnaWQgIiAtZiAgICAgICAgIHRlcm1pbmF0ZSA8ZGlycz4gYXJndW1lbnQgbGlzdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMgorbXNnaWQgIiAtdSAgICAgICAgIHNlYXJjaCBmb3IgdW51c3VhbCBlbnRyaWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAzCittc2dpZCAiIC1sICAgICAgICAgb3V0cHV0IGVmZmVjdGl2ZSBsb29rdXAgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzo2MTkKK21zZ2lkICJvcHRpb24gLWYgaXMgbWlzc2luZyIKK21zZ3N0ciAi0L7RgtGB0YPRgtGB0YLQstGD0LXRgiDQv9Cw0YDQsNC80LXRgtGAIC1mIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjE5NgorbXNnaWQgInBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi0YLQsNCx0LvQuNGG0LAg0YDQsNC30LTQtdC70L7QsiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBwcm9iaW5nIGluaXRpYWxpemF0aW9uIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBlcmFzZSAlcyBtYWdpYyBzdHJpbmcgYXQgb2Zmc2V0IDB4JTA4angiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dpZF9wbHVyYWwgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzBdICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorbXNnc3RyWzFdICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorbXNnc3RyWzJdICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC30LDQv9C40YHQsNGC0Ywg0YHRgtGA0LDQvdC40YbRgyDRgSDRgdC40LPQvdCw0YLRg9GA0L7QuSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYWxsaW5nIGlvY3RsIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlOiAlbVxuIgorbXNnc3RyICLQktGL0LfRi9Cy0LDQtdGC0YHRjyBpb2N0bCgpINC00LvRjyDQv9C10YDQtdGH0LjRgtGL0LLQsNC90LjRjyDRgtCw0LHQu9C40YbRiyDRgNCw0LfQtNC10LvQvtCyLlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjM4NQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0YDQtdC30LXRgNCy0L3Rg9GOINC60L7Qv9C40Y4g0YHQuNCz0L3QsNGC0YPRgNGLLCDQv9C10YDQtdC80LXQvdC90LDRjyAkSE9NRSDQvdC1INC+0L/RgNC10LTQtdC70LXQvdCwIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaWdub3JpbmcgbmVzdGVkIFwiJXNcIiBwYXJ0aXRpb24gdGFibGUgb24gbm9uLXdob2xlIGRpc2sgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0IDB4JWp4IG5vdCBmb3VuZCIKK21zZ3N0ciAidW1vdW50OiAlczog0L3QtSDQvdCw0LnQtNC10L0iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDM1CisjLCBmdXp6eQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBvcHRpb24gdG8gZm9yY2UgZXJhc2UuIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9GD0LnRgtC1INGE0LvQsNCzIC0tZm9yY2Ug0LTQu9GPINC+0YLQutC70Y7Rh9C10L3QuNGPINCy0YHQtdGFINC/0YDQvtCy0LXRgNC+0LouXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU5Cittc2dpZCAiV2lwZSBzaWduYXR1cmVzIGZyb20gYSBkZXZpY2UuXG4iCittc2dzdHIgItCe0YfQuNGB0YLQutCwINGB0LjQs9C90LDRgtGD0YAg0L3QsCDRg9GB0YLRgNC+0LnRgdGC0LLQtS5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0NjIKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpXG4iCisiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgIGZvcmNlIGVyYXN1cmVcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCisiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGxcbiIKKyIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgdG8gZXJhc2UsIGluIGJ5dGVzXG4iCisiIC1wLCAtLXBhcnNhYmxlICAgICAgcHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdFxuIgorIiAtcSwgLS1xdWlldCAgICAgICAgIHN1cHByZXNzIG91dHB1dCBtZXNzYWdlc1xuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSwgUkFJRHMgb3IgcGFydGl0aW9uIHRhYmxlc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MzMKK21zZ2lkICJpbnZhbGlkIG9mZnNldCBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdCy0LXRgNC90L7QtSDQt9C90LDRh9C10L3QuNC1INGB0LzQtdGJ0LXQvdC40Y8iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTU4Cittc2dpZCAiVGhlIC0tYmFja3VwIG9wdGlvbiBpcyBtZWFuaW5nbGVzcyBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM1Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlYWwtdGltZSBzY2hlZHVsaW5nIGF0dHJpYnV0ZXMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNworbXNnaWQgIiIKKyJTZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSA8cHJpb3JpdHk+IDxjb21tYW5kPiBbPGFyZz4uLi5dXG4iCisiIGNocnQgW29wdGlvbnNdIC0tcGlkIDxwcmlvcml0eT4gPHBpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDEKK21zZ2lkICIiCisiR2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gLXAgPHBpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDUKK21zZ2lkICJQb2xpY3kgb3B0aW9uczpcbiIKK21zZ3N0ciAi0J/QsNGA0LDQvNC10YLRgNGLINC/0L7Qu9C40YLQuNC60Lg6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NgorbXNnaWQgIiAtYiwgLS1iYXRjaCAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0JBVENIXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ3CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kZWFkbGluZSAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0RFQURMSU5FXG4iCittc2dzdHIgIiAgICAgICAgICAgICAg0L/QsNGA0LDQvNC10YLRgNGLXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlmbyAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9GSUZPXG4iCittc2dzdHIgIiAgICAgICAgICAgICAg0L/QsNGA0LDQvNC10YLRgNGLXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OQorbXNnaWQgIiAtaSwgLS1pZGxlICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTAKK21zZ2lkICIgLW8sIC0tb3RoZXIgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcnIgICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHQgLSDQotCw0LHQu9C40YbQsCDQsiDRhNC+0YDQvNCw0YLQtSDRgdGL0YDRi9GFINC00LDQvdC90YvRhSIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU0CisjLCBmdXp6eQorbXNnaWQgIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAi0JTRgNGD0LPQuNC1INC/0LDRgNCw0LzQtdGC0YDRizpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU1Cittc2dpZCAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgc2V0IFNDSEVEX1JFU0VUX09OX0ZPUksgZm9yIEZJRk8gb3IgUlJcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTYKK21zZ2lkICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBydW50aW1lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTcKK21zZ2lkICIgLVAsIC0tc2NoZWQtcGVyaW9kIDxucz4gICBwZXJpb2QgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1OAorbXNnaWQgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IGRlYWRsaW5lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjEKK21zZ2lkICJPdGhlciBvcHRpb25zOlxuIgorbXNnc3RyICLQlNGA0YPQs9C40LUg0L/QsNGA0LDQvNC10YLRgNGLOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjIKK21zZ2lkICIgLWEsIC0tYWxsLXRhc2tzICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjMKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1heCAgICAgICAgICAgIHNob3cgbWluIGFuZCBtYXggdmFsaWQgcHJpb3JpdGllc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAg0J3QtSDQt9Cw0LrQu9GO0YfQsNGC0Ywg0LIg0LrQsNCy0YvRh9C60Lgg0LLRi9GF0L7QtNC90YvQtSDQtNCw0L3QvdGL0LVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAg0K3RgtC+INC90LXQsdC+0LvRjNGI0L7QtSDRgNGD0LrQvtCy0L7QtNGB0YLQstC+INC/0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICBkaXNwbGF5IHN0YXR1cyBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsPdGI0LXQu9C7ICAgICAgICAgICAgINCj0YHRgtCw0L3QvtCy0LrQsCDRg9GB0LvQvtCy0LjQuSDQt9Cw0LrQuy4g0LIg0LrQsNCy0YvRh9C60Lgg0LTQu9GPINGI0LXQu9C70LBcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjMyIHNjaGVkdXRpbHMvY2hydC5jOjI1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgItCe0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0Lgg0YDQsNC30LTQtdC70LAg0L3QsCAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhdHRyaWJ1dGVzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2NworIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcHJpb3JpdHk6ICVkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMDAgc2NoZWR1dGlscy9jaHJ0LmM6Mzk2CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvYnRhaW4gdGhlIGxpc3Qgb2YgdGFza3MiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvdCw0LnRgtC4INGD0YHRgtGA0L7QudGB0YLQstC+INC00LvRjyAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbWluL21heCBwcmlvcml0eVx0OiAlZC8lZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IHN1cHBvcnRlZD9cbiIKK21zZ3N0ciAiTkZTINGH0LXRgNC10LcgVENQINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGC0YHRjy5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAi0J7RiNC40LHQutCwINC30LDQv9C40YHQuCDRgNCw0LfQtNC10LvQsCDQvdCwICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgItCe0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0Lgg0YDQsNC30LTQtdC70LAg0L3QsCAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBydW50aW1lIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0LDRgNCz0YPQvNC10L3RgiDQstGA0LXQvNC10L3QuCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDkwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcGVyaW9kIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LLQtdGA0L3Ri9C5IGlkOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBkZWFkbGluZSBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzRi9C5INCw0YDQs9GD0LzQtdC90YIg0LPQvtC70L7QstC+0LoiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUxNworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5IGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LLQtdGA0L3Ri9C5IGlkIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MjEKK21zZ2lkICItLXJlc2V0LW9uLWZvcmsgb3B0aW9uIGlzIHN1cHBvcnRlZCBmb3IgU0NIRURfRklGTyBhbmQgU0NIRURfUlIgcG9saWNpZXMgb25seSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MjYKK21zZ2lkICItLXNjaGVkLXtydW50aW1lLGRlYWRsaW5lLHBlcmlvZH0gb3B0aW9ucyBhcmUgc3VwcG9ydGVkIGZvciBTQ0hFRF9ERUFETElORSBvbmx5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0MQorIywgZnV6enkKK21zZ2lkICJTQ0hFRF9ERUFETElORSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiTkZTINGH0LXRgNC10LcgVENQINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGC0YHRjy5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByaW9yaXR5IHZhbHVlIGZvciB0aGUgcG9saWN5OiAlZDogc2VlIC0tbWF4IGZvciB2YWxpZCByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc2CisjLCBmdXp6eQorbXNnaWQgImlvcHJpb19nZXQgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5INC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LlcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHByaW8gJWx1XG4iCittc2dzdHIgIiVzINC90LAgJXNcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo5OAorIywgZnV6enkKK21zZ2lkICJpb3ByaW9fc2V0IGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXAgPHBpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC11IDx1aWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTEwCittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIEkvTy1zY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTMKK21zZ2lkICIiCisiIC1jLCAtLWNsYXNzIDxjbGFzcz4gICAgbmFtZSBvciBudW1iZXIgb2Ygc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IG5vbmUsIDE6IHJlYWx0aW1lLCAyOiBiZXN0LWVmZm9ydCwgMzogaWRsZVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE1Cittc2dpZCAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPG51bT4gIHByaW9yaXR5ICgwLi43KSBpbiB0aGUgc3BlY2lmaWVkIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IGZvciB0aGUgcmVhbHRpbWUgYW5kIGJlc3QtZWZmb3J0IGNsYXNzZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNworbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4uLi4gICAgIGFjdCBvbiB0aGVzZSBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTgKK21zZ2lkICIgLVAsIC0tcGdpZCA8cGdycD4uLi4gICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBpbiB0aGVzZSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOQorbXNnaWQgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIGlnbm9yZSBmYWlsdXJlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTIwCittc2dpZCAiIC11LCAtLXVpZCA8dWlkPi4uLiAgICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgb3duZWQgYnkgdGhlc2UgdXNlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE1NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGNsYXNzIGRhdGEgYXJndW1lbnQiCittc2dzdHIgIiVzOiDQvdC10LLQtdGA0L3Ri9C5IGNyYW1mcyAtINC+0YjQuNCx0L7Rh9C90L7QtSDRgdC80LXRidC10L3QuNC1INC00LDQvdC90YvRhSDRhNCw0LnQu9CwXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTYzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY2xhc3MgYXJndW1lbnQiCittc2dzdHIgImNvbDog0L3QtdCy0LXRgNC90YvQuSDQsNGA0LPRg9C80LXQvdGCIC1sICVzLlxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzY2hlZHVsaW5nIGNsYXNzOiAnJXMnIgorbXNnc3RyICIlczog0J3QtdC40LfQstC10YHRgtC90LDRjyDQutC+0LzQsNC90LTQsDogJXNcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNzYgc2NoZWR1dGlscy9pb25pY2UuYzoxODQgc2NoZWR1dGlscy9pb25pY2UuYzoxOTIKK21zZ2lkICJjYW4gaGFuZGxlIG9ubHkgb25lIG9mIHBpZCwgcGdpZCBvciB1aWQgYXQgb25jZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFBHSUQgYXJndW1lbnQiCittc2dzdHIgImNvbDog0L3QtdCy0LXRgNC90YvQuSDQsNGA0LPRg9C80LXQvdGCIC1sICVzLlxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFVJRCBhcmd1bWVudCIKK21zZ3N0ciAiY29sOiDQvdC10LLQtdGA0L3Ri9C5INCw0YDQs9GD0LzQtdC90YIgLWwgJXMuXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjEyCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3Igbm9uZSBjbGFzcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyMAorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIGlkbGUgY2xhc3MiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpbyBjbGFzcyAlZCIKK21zZ3N0ciAi0L3QtdC40LfQstC10YHRgtC90LDRjyDQvtGI0LjQsdC60LAg0LIgaWQiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiVXNhZ2U6ICVzIFtvcHRpb25zXSBbbWFzayB8IGNwdS1saXN0XSBbcGlkfGNtZCBbYXJncy4uLl1dXG4iCisiXG4iCittc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiAlcyBb0L7Qv9GG0LjQuF0g0YPRgdGC0YDQvtC50YHRgtCy0L4uLi5cbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTUKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgQ1BVIGFmZmluaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiT3B0aW9uczpcbiIKKyIgLWEsIC0tYWxsLXRhc2tzICAgICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKKyIgLXAsIC0tcGlkICAgICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKKyIgLWMsIC0tY3B1LWxpc3QgICAgICAgICAgZGlzcGxheSBhbmQgc3BlY2lmeSBjcHVzIGluIGxpc3QgZm9ybWF0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIHJ1biBhIG5ldyBjb21tYW5kOlxuIgorIiAgICAlMSRzIDAzIHNzaGQgLWIgMTAyNFxuIgorIllvdSBjYW4gcmV0cmlldmUgdGhlIG1hc2sgb2YgYW4gZXhpc3RpbmcgdGFzazpcbiIKKyIgICAgJTEkcyAtcCA3MDBcbiIKKyJPciBzZXQgaXQ6XG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisiTGlzdCBmb3JtYXQgdXNlcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IGluc3RlYWQgb2YgYSBtYXNrOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJSYW5nZXMgaW4gbGlzdCBmb3JtYXQgY2FuIHRha2UgYSBzdHJpZGUgYXJndW1lbnQ6XG4iCisiICAgIGUuZy4gMC0zMToyIGlzIGVxdWl2YWxlbnQgdG8gbWFzayAweDU1NTU1NTU1XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5OQorbXNnaWQgImludGVybmFsIGVycm9yOiBjb252ZXJzaW9uIGZyb20gY3B1c2V0IHRvIHN0cmluZyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTA5IHNjaGVkdXRpbHMvdGFza3NldC5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjExOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAi0J7RiNC40LHQutCwINC30LDQv9C40YHQuCDRgNCw0LfQtNC10LvQsCDQvdCwICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE4NiBzeXMtdXRpbHMvY2hjcHUuYzoyODkKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIE5SX0NQVVM7IGFib3J0aW5nIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE5NSBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMDggc3lzLXV0aWxzL2NoY3B1LmM6Mjk1CisjLCBmdXp6eQorbXNnaWQgImNwdXNldF9hbGxvYyBmYWlsZWQiCittc2dzdHIgIm1hbGxvYyDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMTUgc3lzLXV0aWxzL2NoY3B1LmM6MjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzazogJXMiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFplcm8tZmlsbGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogRGlzY2FyZGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4NworbXNnaWQgIkRpc2NhcmQgdGhlIGNvbnRlbnQgb2Ygc2VjdG9ycyBvbiBhIGRldmljZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkwCittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiAtbiwgLS1uYW1lbGVuZ3RoIDzQutC+0Lst0LLQvj4gINC80LDQutGB0LjQvNCw0LvRjNC90LDRjyDQtNC70LjQvdCwINC40LzQtdC9INGE0LDQudC70L7QslxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkyCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1zdGVwIDxudW0+ICAgIHNpemUgb2YgdGhlIGRpc2NhcmQgaXRlcmF0aW9ucyB3aXRoaW4gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgLW4sIC0tbW9udGhzIDxudW0+ICAgINC/0L7QutCw0LfQsNGC0YwgbnVtINC80LXRgdGP0YbQtdCyLCDQvdCw0YfQuNC90LDRjyDRgSDQvNC10YHRj9GG0LAg0LTQsNGC0YtcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICDRgNC10LbQuNC8INC/0L7QtNGA0L7QsdC90L7Qs9C+INCy0YvQstC+0LTQsFxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk0CisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS16ZXJvb3V0ICAgICAgIHplcm8tZmlsbCByYXRoZXIgdGhhbiBkaXNjYXJkXG4iCittc2dzdHIgIiAgICAgICAgICAgICAg0L/QsNGA0LDQvNC10YLRgNGLXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgYWxpZ25lZCBsZW5ndGggYW5kIG9mZnNldFxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgINGA0LDQt9GK0Y/RgdC90LXQvdC40LUg0LLRi9C/0L7Qu9C90Y/QtdC80YvRhSDQtNC10LnRgdGC0LLQuNC5XG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTUwIHN5cy11dGlscy9mc3RyaW0uYzozMTIgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NzMKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjEyNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RlcCIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzIgc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODIgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDgKK21zZ2lkICJubyBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICLQvdC1INGD0LrQsNC30LDQvdC+INGD0YHRgtGA0L7QudGB0YLQstC+IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3NyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzUxCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjIgc3lzLXV0aWxzL2ZzdHJpbS5jOjMzNAorIywgZnV6enkKK21zZ2lkICJ1bmV4cGVjdGVkIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgItC80LDQutGB0LjQvNCw0LvRjNC90L7QtSDQutC+0LvQuNGH0LXRgdGC0LLQviDRgdC10LPQvNC10L3RgtC+0LIgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJCTEtHRVRTSVpFIGlvY3RsINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10Lkg0L3QsCAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NTWkdFVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIkJMS0dFVFNJWkUgaW9jdGwg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSDQvdCwICVzXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0IGlzIGdyZWF0ZXIgdGhhbiBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LvRg9GH0LjRgtGMINGA0LDQt9C80LXRgCDRg9GB0YLRgNC+0LnRgdGC0LLQsCIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxlbmd0aCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtaRVJPT1VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiQkxLR0VUU0laRSBpb2N0bCDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5INC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTRUNESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiS0RHSFdDTEsgaW9jdGwg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiS0RHSFdDTEsgaW9jdGwg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6ODcgc3lzLXV0aWxzL2NoY3B1LmM6MTc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiQ1BVICV1INC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGhvdCBwbHVnZ2FibGUiCittc2dzdHIgIiVzOiAlcyDQvdC1IGxwLdGD0YHRgtGA0L7QudGB0YLQstC+LlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIkNQVSAldSDRg9C20LUg0LfQsNC00LXQudGB0YLQstC+0LLQsNC9XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEwMgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBkaXNhYmxlZFxuIgorbXNnc3RyICJDUFUgJXUg0YPQttC1INCy0YvQutC70Y7Rh9C10L1cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCAoQ1BVIGlzIGRlY29uZmlndXJlZCkiCittc2dzdHIgItCh0LXQutGC0L7RgCAlZCDRg9C20LUg0LLRi9C00LXQu9C10L1cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlZFxuIgorbXNnc3RyICJDUFUgJXUg0LfQsNC00LXQudGB0YLQstC+0LLQsNC9XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIChsYXN0IGVuYWJsZWQgQ1BVKSIKK21zZ3N0ciAiJXMg0YHQvtGB0YLQvtGP0L3QuNC1IC0gJWQiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICIlcyDRgdC+0YHRgtC+0Y/QvdC40LUgLSAlZCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlZFxuIgorbXNnc3RyICJDUFUgJXUg0L7RgtC60LvRjtGH0LXQvVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHJlc2Nhbm5pbmcgb2YgQ1BVcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHRyaWdnZXIgcmVzY2FuIG9mIENQVXMiCittc2dzdHIgItCe0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0Lgg0YDQsNC30LTQtdC70LAg0L3QsCAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJpZ2dlcmVkIHJlc2NhbiBvZiBDUFVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTUxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBzZXR0aW5nIHRoZSBkaXNwYXRjaGluZyBtb2RlIG9mIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU1CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICLQntGI0LjQsdC60LAg0LfQsNC/0LjRgdC4INGA0LDQt9C00LXQu9CwINC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU2CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU5CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBzZXQgdmVydGljYWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAi0J7RiNC40LHQutCwINC30LDQv9C40YHQuCDRgNCw0LfQtNC10LvQsCDQvdCwICVzXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IHZlcnRpY2FsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgY29uZmlndXJhYmxlIgorbXNnc3RyICLQkNCy0YLQvtC60L7QvdGE0LjQs9GD0YDQsNGG0LjRjyDQt9Cw0LLQtdGA0YjQuNC70LDRgdGMINC90LXRg9C00LDRh9C10LkuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgY29uZmlndXJlZFxuIgorbXNnc3RyICJDUFUgJXUg0YPQttC1INC90LDRgdGC0YDQvtC10L1cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAi0KHQtdC60YLQvtGAICVkINGD0LbQtSDQstGL0LTQtdC70LXQvVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAi0JDQstGC0L7QutC+0L3RhNC40LPRg9GA0LDRhtC40Y8g0LfQsNCy0LXRgNGI0LjQu9Cw0YHRjCDQvdC10YPQtNCw0YfQtdC5LlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICLQkNCy0YLQvtC60L7QvdGE0LjQs9GD0YDQsNGG0LjRjyDQt9Cw0LLQtdGA0YjQuNC70LDRgdGMINC90LXRg9C00LDRh9C10LkuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAi0JDQstGC0L7QutC+0L3RhNC40LPRg9GA0LDRhtC40Y8g0LfQsNCy0LXRgNGI0LjQu9Cw0YHRjCDQvdC10YPQtNCw0YfQtdC5LlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgItCQ0LLRgtC+0LrQvtC90YTQuNCz0YPRgNCw0YbQuNGPINC30LDQstC10YDRiNC40LvQsNGB0Ywg0L3QtdGD0LTQsNGH0LXQuS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmVkXG4iCittc2dzdHIgItCQ0LLRgtC+0LrQvtC90YTQuNCz0YPRgNCw0YbQuNGPINC30LDQstC10YDRiNC40LvQsNGB0Ywg0L3QtdGD0LTQsNGH0LXQuS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIENQVSBudW1iZXIgaW4gQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICLQmtC+0LvQuNGH0LXRgdGC0LLQviDRhtC40LvQuNC90LTRgNC+0LIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzOCB0ZXh0LXV0aWxzL2NvbC5jOjEzMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIiCisiXG4iCisi0JjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6XG4iCisiJXMgW9C/0LDRgNCw0LzQtdGC0YDRi11cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQyCittc2dpZCAiQ29uZmlndXJlIENQVXMgaW4gYSBtdWx0aS1wcm9jZXNzb3Igc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0NAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhpcyBoZWxwXG4iCisiICAtZSwgLS1lbmFibGUgPGNwdS1saXN0PiAgICAgICBlbmFibGUgY3B1c1xuIgorIiAgLWQsIC0tZGlzYWJsZSA8Y3B1LWxpc3Q+ICAgICAgZGlzYWJsZSBjcHVzXG4iCisiICAtYywgLS1jb25maWd1cmUgPGNwdS1saXN0PiAgICBjb25maWd1cmUgY3B1c1xuIgorIiAgLWcsIC0tZGVjb25maWd1cmUgPGNwdS1saXN0PiAgZGVjb25maWd1cmUgY3B1c1xuIgorIiAgLXAsIC0tZGlzcGF0Y2ggPG1vZGU+ICAgICAgICAgc2V0IGRpc3BhdGNoaW5nIG1vZGVcbiIKKyIgIC1yLCAtLXJlc2NhbiAgICAgICAgICAgICAgICAgIHRyaWdnZXIgcmVzY2FuIG9mIGNwdXNcbiIKKyIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MzI2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi0L3QtdC/0L7QtNC00LXRgNC20LjQstCw0LXQvNGL0Lkg0LDRgNCz0YPQvNC10L3RgjogJXMiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIGhhcmR8c29mdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0IHRoZSBmdW5jdGlvbiBvZiB0aGUgQ3RybC1BbHQtRGVsIGNvbWJpbmF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTEKK21zZ2lkICJpbXBsaWNpdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHZhbHVlIGluICVzOiAlanUiCittc2dzdHIgItC90LXQv9GA0LXQtNCy0LjQtNC10L3QvdGL0LUg0LDRgNCz0YPQvNC10L3RgtGLIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjYzCittc2dpZCAiWW91IG11c3QgYmUgcm9vdCB0byBzZXQgdGhlIEN0cmwtQWx0LURlbCBiZWhhdmlvciIKK21zZ3N0ciAi0JLRiyDQtNC+0LvQttC90Ysg0LjQvNC10YLRjCDQv9GA0LDQstCwIHJvb3Qn0LAg0LTQu9GPINC90LDQt9C90LDRh9C10L3QuNGPINC00LXQudGB0YLQstC40Y8g0L/RgNC4INC90LDQttCw0YLQuNC4IEN0cmwtQWx0LURlbCIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo3MSBzeXMtdXRpbHMvaXBjcm0uYzozOTIgc3lzLXV0aWxzL2lwY3JtLmM6NDE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiJXM6INC90LXQuNC30LLQtdGB0YLQvdGL0Lkg0LDRgNCz0YPQvNC10L3RgjogJXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEwCittc2dpZCAic3lzdGVtIGlzIHVudXNhYmxlIgorbXNnc3RyICLRgdC40YHRgtC10LzQsCDQvdC10LjRgdC/0L7Qu9GM0LfRg9C10LzQsNGPIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTEKK21zZ2lkICJhY3Rpb24gbXVzdCBiZSB0YWtlbiBpbW1lZGlhdGVseSIKK21zZ3N0ciAi0LTQtdC50YHRgtCy0LjQtSDQtNC+0LvQttC90L4g0LHRi9GC0Ywg0L/RgNC+0LjQt9Cy0LXQtNC10L3QviDQvdC10LzQtdC00LvQtdC90L3QviIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEyCittc2dpZCAiY3JpdGljYWwgY29uZGl0aW9ucyIKK21zZ3N0ciAi0YPRgdC70L7QstC40Y8g0LrRgNC40YLQuNGH0L3QvtGB0YLQuCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEzCittc2dpZCAiZXJyb3IgY29uZGl0aW9ucyIKK21zZ3N0ciAi0YPRgdC70L7QstC40Y8g0L7RiNC40LHQvtC6IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTQKK21zZ2lkICJ3YXJuaW5nIGNvbmRpdGlvbnMiCittc2dzdHIgItGD0YHQu9C+0LLQuNGPINC/0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNQorbXNnaWQgIm5vcm1hbCBidXQgc2lnbmlmaWNhbnQgY29uZGl0aW9uIgorbXNnc3RyICLQvtCx0YvRh9C90YvQtSwg0L3QviDQt9C90LDRh9C40LzRi9C1INGD0YHQu9C+0LLQuNGPIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTYKK21zZ2lkICJpbmZvcm1hdGlvbmFsIgorbXNnc3RyICLQuNC90YTQvtGA0LzQsNGG0LjQvtC90L3Ri9C5IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTcKK21zZ2lkICJkZWJ1Zy1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAi0L7RgtC70LDQtNC+0YfQvdGL0LUg0YHQvtC+0LHRidC10L3QuNGPIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzEKK21zZ2lkICJrZXJuZWwgbWVzc2FnZXMiCittc2dzdHIgItGB0L7QvtCx0YnQtdC90LjRjyDRj9C00YDQsCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMyCittc2dpZCAicmFuZG9tIHVzZXItbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMzCittc2dpZCAibWFpbCBzeXN0ZW0iCittc2dzdHIgItC/0L7Rh9GC0L7QstCw0Y8g0YHQuNGB0YLQtdC80LAiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNAorbXNnaWQgInN5c3RlbSBkYWVtb25zIgorbXNnc3RyICLRgdC40YHRgtC10LzQvdGL0LUg0YHQu9GD0LbQsdGLIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzUKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIgorbXNnc3RyICLRgdC+0L7QsdGJ0LXQvdC40Y8g0LHQtdC30L7Qv9Cw0YHQvdC+0YHRgtC4L9Cw0LLRgtC+0YDQuNC30LDRhtC40LgiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNgorbXNnaWQgIm1lc3NhZ2VzIGdlbmVyYXRlZCBpbnRlcm5hbGx5IGJ5IHN5c2xvZ2QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM3Cittc2dpZCAibGluZSBwcmludGVyIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzgKK21zZ2lkICJuZXR3b3JrIG5ld3Mgc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOQorbXNnaWQgIlVVQ1Agc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MAorbXNnaWQgImNsb2NrIGRhZW1vbiIKK21zZ3N0ciAi0YHQu9GD0LbQsdCwINCy0YDQtdC80LXQvdC4IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDEKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIChwcml2YXRlKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDIKK21zZ2lkICJGVFAgZGFlbW9uIgorbXNnc3RyICLRgdC70YPQttCx0LAgRlRQIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNjcKK21zZ2lkICJEaXNwbGF5IG9yIGNvbnRyb2wgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlci5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzAKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICBjbGVhciB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiAgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICDQntGC0LrQu9GO0YfQtdC90LjQtSDQvtGC0YfQtdGC0LAg0L7QsSDQvtGI0LjQsdC60LDRhSBnZXRvcHQoMylcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjcxCittc2dpZCAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICByZWFkIGFuZCBjbGVhciBhbGwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzIKK21zZ2lkICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIGRpc2FibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MworbXNnaWQgIiAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAgZW5hYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzQKK21zZ2lkICIgLUYsIC0tZmlsZSA8ZmlsZT4gICAgICAgICAgIHVzZSB0aGUgZmlsZSBpbnN0ZWFkIG9mIHRoZSBrZXJuZWwgbG9nIGJ1ZmZlclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NQorbXNnaWQgIiAtZiwgLS1mYWNpbGl0eSA8bGlzdD4gICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgZmFjaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NgorIywgZnV6enkKK21zZ2lkICIgLUgsIC0taHVtYW4gICAgICAgICAgICAgICAgIGh1bWFuIHJlYWRhYmxlIG91dHB1dFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAg0J3QtSDQt9Cw0LrQu9GO0YfQsNGC0Ywg0LIg0LrQsNCy0YvRh9C60Lgg0LLRi9GF0L7QtNC90YvQtSDQtNCw0L3QvdGL0LVcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc3Cittc2dpZCAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICBkaXNwbGF5IGtlcm5lbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgINC+0YLQvtCx0YDQsNC20LDRgtGMINGB0L7QvtCx0YnQtdC90LjRjyDRj9C00YDQsFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzgKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgxCittc2dpZCAiIC1sLCAtLWxldmVsIDxsaXN0PiAgICAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBsZXZlbHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODIKK21zZ2lkICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bGV2ZWw+IHNldCBsZXZlbCBvZiBtZXNzYWdlcyBwcmludGVkIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODMKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICBkbyBub3QgcGlwZSBvdXRwdXQgaW50byBhIHBhZ2VyXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICDQndC1INC30LDQutC70Y7Rh9Cw0YLRjCDQsiDQutCw0LLRi9GH0LrQuCDQstGL0YXQvtC00L3Ri9C1INC00LDQvdC90YvQtVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODQKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICDQrdGC0L4g0L3QtdCx0L7Qu9GM0YjQvtC1INGA0YPQutC+0LLQvtC00YHRgtCy0L4g0L/QviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODUKK21zZ2lkICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIGZvcmNlIHRvIHVzZSBzeXNsb2coMikgcmF0aGVyIHRoYW4gL2Rldi9rbXNnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg2Cittc2dpZCAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgZGlzcGxheSB1c2Vyc3BhY2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgINCt0YLQviDQvdC10LHQvtC70YzRiNC+0LUg0YDRg9C60L7QstC+0LTRgdGC0LLQviDQv9C+INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGOXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OAorIywgZnV6enkKK21zZ2lkICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAg0K3RgtC+INC90LXQsdC+0LvRjNGI0L7QtSDRgNGD0LrQvtCy0L7QtNGB0YLQstC+INC/0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg5Cittc2dpZCAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBkZWNvZGUgZmFjaWxpdHkgYW5kIGxldmVsIHRvIHJlYWRhYmxlIHN0cmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MAorbXNnaWQgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgc2hvdyB0aW1lIGRlbHRhIGJldHdlZW4gcHJpbnRlZCBtZXNzYWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MQorbXNnaWQgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgc2hvdyBsb2NhbCB0aW1lIGFuZCB0aW1lIGRlbHRhIGluIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MgorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHNob3cgaHVtYW4tcmVhZGFibGUgdGltZXN0YW1wIChtYXkgYmUgaW5hY2N1cmF0ZSEpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICDQndC1INC30LDQutC70Y7Rh9Cw0YLRjCDQsiDQutCw0LLRi9GH0LrQuCDQstGL0YXQvtC00L3Ri9C1INC00LDQvdC90YvQtVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBkb24ndCBzaG93IGFueSB0aW1lc3RhbXAgd2l0aCBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAg0J3QtSDQt9Cw0LrQu9GO0YfQsNGC0Ywg0LIg0LrQsNCy0YvRh9C60Lgg0LLRi9GF0L7QtNC90YvQtSDQtNCw0L3QvdGL0LVcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk0Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXAgdXNpbmcgdGhlIGdpdmVuIGZvcm1hdDpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyJTdXNwZW5kaW5nL3Jlc3VtZSB3aWxsIG1ha2UgY3RpbWUgYW5kIGlzbyB0aW1lc3RhbXBzIGluYWNjdXJhdGUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzAwCittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgZmFjaWxpdGllczpcbiIKK21zZ3N0ciAiIgorIlxuIgorItCf0L7QtNC00LXRgNC20LjQstCw0LXQvNGL0LUg0LLQvtC30LzQvtC20L3QvtGB0YLQuCDQttGD0YDQvdCw0LvQuNGA0L7QstCw0L3QuNGPOlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDYKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBsZXZlbHMgKHByaW9yaXRpZXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisi0J/QvtC00LTQtdGA0LTQuNCy0LDQtdC80YvQtSDRg9GA0L7QstC90Lgg0LbRg9GA0L3QsNC70LjRgNC+0LLQsNC90LjRjyAo0L/RgNC40L7RgNC40YLQtdGC0YspOlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZXZlbCAnJXMnIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbGV2ZWwgJyVzJyIKK21zZ3N0ciAi0L3QtdC40LfQstC10YHRgtC90YvQuSDRgtC40L8g0YDQtdGB0YPRgNGB0LA6ICVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGZhY2lsaXR5ICclcyciCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjQwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSAnJXMnIgorbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3Ri9C5INGC0LjQvyDRgNC10YHRg9GA0YHQsDogJXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW1hcDogJXMiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzU2Cittc2dpZCAiaW52YWxpZCBidWZmZXIgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDA5Cittc2dpZCAiLS1zaG93LWRlbHRhIGlzIGlnbm9yZWQgd2hlbiB1c2VkIHRvZ2V0aGVyIHdpdGggaXNvODYwMSB0aW1lIGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDMyCittc2dpZCAiLS1yYXcgY2FuIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWxldmVsIG9yIC0tZmFjaWxpdHkgb25seSB3aGVuIHJlYWRpbmcgbWVzc2FnZXMgZnJvbSAvZGV2L2ttc2ciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQ0MgorbXNnaWQgInJlYWQga2VybmVsIGJ1ZmZlciBmYWlsZWQiCittc2dzdHIgItGH0YLQtdC90LjQtSDQsdGD0YTQtdGA0LAg0Y/QtNGA0LAg0LfQsNCy0LXRgNGI0LjQu9C+0YHRjCDQvdC10YPQtNCw0YfQvdC+IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDYxCisjLCBmdXp6eQorbXNnaWQgImtsb2djdGwgZmFpbGVkIgorbXNnc3RyICJmc3luYyDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+fDxtb3VudHBvaW50Pl1cbiIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzIFvQvtC/0YbQuNC4XSDRg9GB0YLRgNC+0LnRgdGC0LLQvi4uLlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiRWplY3QgcmVtb3ZhYmxlIG1lZGlhLlxuIgorbXNnc3RyICLRgdGK0ZHQvNC90L7QtSDRg9GB0YLRgNC+0LnRgdGC0LLQviIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTQwCittc2dpZCAiIgorIiAtYSwgLS1hdXRvIDxvbnxvZmY+ICAgICAgICAgdHVybiBhdXRvLWVqZWN0IGZlYXR1cmUgb24gb3Igb2ZmXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxzbG90PiAgICBzd2l0Y2ggZGlzY3Mgb24gYSBDRC1ST00gY2hhbmdlclxuIgorIiAtZCwgLS1kZWZhdWx0ICAgICAgICAgICAgICAgZGlzcGxheSBkZWZhdWx0IGRldmljZVxuIgorIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAgZWplY3QgZmxvcHB5XG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBkb24ndCBjYXJlIGFib3V0IGRldmljZSB0eXBlXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICB0b2dnbGUgbWFudWFsIGVqZWN0IHByb3RlY3Rpb24gb24vb2ZmXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBkbyBub3QgdW5tb3VudCBkZXZpY2UgZXZlbiBpZiBpdCBpcyBtb3VudGVkXG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBkbyBub3QgdW5tb3VudCBhbm90aGVyIHBhcnRpdGlvbnNcbiIKKyIgLW4sIC0tbm9vcCAgICAgICAgICAgICAgICAgIGRvbid0IGVqZWN0LCBqdXN0IHNob3cgZGV2aWNlIGZvdW5kXG4iCisiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICB1c2UgL3Byb2MvbW91bnRzIGluc3RlYWQgb2YgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICBlamVjdCB0YXBlXG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICBlamVjdCBDRC1ST01cbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIGVqZWN0IFNDU0kgZGV2aWNlXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICBjbG9zZSB0cmF5XG4iCisiIC1ULCAtLXRyYXl0b2dnbGUgICAgICAgICAgICB0b2dnbGUgdHJheVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgZW5hYmxlIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC14LCAtLWNkc3BlZWQgPHNwZWVkPiAgICAgICBzZXQgQ0QtUk9NIG1heCBzcGVlZFxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAgbGlzdCBDRC1ST00gYXZhaWxhYmxlIHNwZWVkc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjE2NAorbXNnaWQgIiIKKyJcbiIKKyJCeSBkZWZhdWx0IHRyaWVzIC1yLCAtcywgLWYsIGFuZCAtcSBpbiBvcmRlciB1bnRpbCBzdWNjZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxMAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jaGFuZ2Vyc2xvdC8tYyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjE0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNkc3BlZWQvLXggb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjMyNgorbXNnaWQgIkNELVJPTSBhdXRvLWVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MAorIywgZnV6enkKK21zZ2lkICJDRC1ST00gZG9vciBsb2NrIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgItCf0L7QtNC00LXRgNC20LjQstCw0Y7RgtGB0Y8g0YLQvtC70YzQutC+IDFrINCx0LvQvtC60Lgv0LfQvtC90YsiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MgorbXNnaWQgIm90aGVyIHVzZXJzIGhhdmUgdGhlIGRyaXZlIG9wZW4gYW5kIG5vdCBDQVBfU1lTX0FETUlOIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0NAorbXNnaWQgIkNELVJPTSBsb2NrIGRvb3IgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQ5Cittc2dpZCAiQ0QtRHJpdmUgbWF5IE5PVCBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNTEKK21zZ2lkICJDRC1Ecml2ZSBtYXkgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzYyCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBkaXNjIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NgorbXNnaWQgIkNELVJPTSBsb2FkIGZyb20gc2xvdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjgKK21zZ2lkICJJREUvQVRBUEkgQ0QtUk9NIGNoYW5nZXIgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NgorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4OAorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQwNQorbXNnaWQgIkNELVJPTSBlamVjdCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzMgc3lzLXV0aWxzL2VqZWN0LmM6NDU2IHN5cy11dGlscy9lamVjdC5jOjEwMTEKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM2Cittc2dpZCAibm8gQ0QtUk9NIGluZm9ybWF0aW9uIGF2YWlsYWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzkKK21zZ2lkICJDRC1ST00gZHJpdmUgaXMgbm90IHJlYWR5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4MgorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDg0IHN5cy11dGlscy9lamVjdC5jOjU3MAorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kaW5nIENELVJPTSBuYW1lIgorbXNnc3RyICLQv9C+0LjRgdC6INCyIHdyaXRlX3RhYmxlcyDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTQ0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQv9GA0L7Rh9C40YLQsNGC0YwgJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTg4CisjLCBmdXp6eQorbXNnaWQgIm5vdCBhbiBzZyBkZXZpY2UsIG9yIG9sZCBzZyBkcml2ZXIiCittc2dzdHIgIiVzINC90LUg0Y/QstC70Y/QtdGC0YHRjyDQsdC70L7Rh9C90YvQvCDRg9GB0YLRgNC+0LnRgdGC0LLQvtC8INC40LvQuCDRhNCw0LnQu9C+0LxcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bm1vdW50aW5nIgorbXNnc3RyICIlczog0YDQsNC30LzQvtC90YLQuNGA0YPQtdGC0YHRjyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njc1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBleGVjIC9iaW4vdW1vdW50IG9mIGAlcyciCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INCy0YvQv9C+0LvQvdC40YLRjCAvYmluL3Vtb3VudCDQtNC70Y8gJyVzJyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njc4Cittc2dpZCAidW5hYmxlIHRvIGZvcmsiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INGB0L7Qt9C00LDRgtGMINC00L7Rh9C10YDQvdC40Lkg0L/RgNC+0YbQtdGB0YEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAibW91bnQ6INGC0L7Rh9C60LAg0LzQvtC90YLQuNGA0L7QstCw0L3QuNGPICVzINC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGZhaWxlZFxuIgorbXNnc3RyICJvcGVuKCkgJXMg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzMwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzkxIHN5cy11dGlscy9lamVjdC5jOjg5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAiJXM6INC80L7QvdGC0LjRgNC+0LLQsNC90L4g0LIgJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzMworbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvIGF1dG8iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODM1CisjLCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvICVsZFgiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODYxCisjLCBjLWZvcm1hdAorbXNnaWQgImRlZmF1bHQgZGV2aWNlOiBgJXMnIgorbXNnc3RyICLRg9GB0YLRgNC+0LnRgdGC0LLQviDQv9C+INGD0LzQvtC70YfQsNC90LjRjjogYCVzJyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyBkZWZhdWx0IGRldmljZSBgJXMnIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0LfQvdCw0YfQtdC90LjQtSDQv9C+INGD0LzQvtC70YfQsNC90LjRjiAldVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODYgc3lzLXV0aWxzL3J0Y3dha2UuYzozNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gZmluZCBkZXZpY2UiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC/0LXRgNC10LzQvtGC0LDRgtGMINGD0YHRgtGA0L7QudGB0YLQstC+INC00LvRjyDRgdCy0L7Qv9C40L3Qs9CwIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIG5hbWUgaXMgYCVzJyIKK21zZ3N0ciAi0LjQvNGPINGD0YHRgtGA0L7QudGB0YLQstCwIC0gYCVzJyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODk0IHN5cy11dGlscy91bW91bnQuYzoyMDYgc3lzLXV0aWxzL3Vtb3VudC5jOjIzNQorIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQwOSBzeXMtdXRpbHMvdW1vdW50LmM6NDMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgbW91bnRlZCIKK21zZ3N0ciAiJXM6INC90LUg0L/RgNC40LzQvtC90YLQuNGA0L7QstCw0L0iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg5OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYyBkZXZpY2U6ICVzIChkaXNrIGRldmljZSB3aWxsIGJlIHVzZWQgZm9yIGVqZWN0KSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBmb3VuZCBtb3VudHBvaW50IG9yIGRldmljZSB3aXRoIHRoZSBnaXZlbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIHdob2xlLWRpc2sgZGV2aWNlIgorbXNnc3RyICIlczogJXMg0L3QtSBscC3Rg9GB0YLRgNC+0LnRgdGC0LLQvi5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGhvdC1wbHVnZ2FibGUgZGV2aWNlIgorbXNnc3RyICIlczogJXMg0L3QtSBscC3Rg9GB0YLRgNC+0LnRgdGC0LLQvi5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgaXMgYCVzJyIKK21zZ3N0ciAibG9vcDog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0Ywg0YPRgdGC0YDQvtC50YHRgtCy0L4gJXM6ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxOAorbXNnaWQgImV4aXRpbmcgZHVlIHRvIC1uLy0tbm9vcCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlbmFibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNhYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NpbmcgdHJheSIKK21zZ3N0ciAiJXM6INC30LDQutGA0YvRgtC40LUg0LvQvtGC0LrQsCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b2dnbGluZyB0cmF5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGlzdGluZyBDRC1ST00gc3BlZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IGRldmljZSBpbiB1c2UiCittc2dzdHIgInVtb3VudDogJXM6INGD0YHRgtGA0L7QudGB0YLQstC+INC30LDQvdGP0YLQviIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWxlY3RpbmcgQ0QtUk9NIGRpc2MgIyVsZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgQ0QtUk9NIGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMAorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgU0NTSSBjb21tYW5kcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE3Cittc2dpZCAiU0NTSSBlamVjdCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxOAorIywgZnV6enkKK21zZ2lkICJTQ1NJIGVqZWN0IGZhaWxlZCIKK21zZ3N0ciAi0LLRi9C/0L7Qu9C90LXQvdC40LUg0LfQsNCy0LXRgNGI0LjQu9C+0YHRjCDQvdC10YPQtNCw0YfQtdC5XG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBmbG9wcHkgZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI0Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjUKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIHRhcGUgb2ZmbGluZSBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzEKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMgorIywgZnV6enkKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgItC+0YLQutGA0YvRgtC40LUg0LrQsNGC0LDQu9C+0LPQsCDQt9Cw0LLQtdGA0YjQuNC70L7RgdGMINC90LXRg9C00LDRh9C10LlcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzNgorbXNnaWQgInVuYWJsZSB0byBlamVjdCIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0LjQt9Cy0LvQtdGH0YwiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZW5hbWU+XG4iCittc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiAlcyBb0L7Qv9GG0LjQuF0g0YPRgdGC0YDQvtC50YHRgtCy0L4uLi5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjgxCittc2dpZCAiUHJlYWxsb2NhdGUgc3BhY2UgdG8sIG9yIGRlYWxsb2NhdGUgc3BhY2UgZnJvbSBhIGZpbGUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg0Cittc2dpZCAiIC1jLCAtLWNvbGxhcHNlLXJhbmdlIHJlbW92ZSBhIHJhbmdlIGZyb20gdGhlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODUKK21zZ2lkICIgLWQsIC0tZGlnLWhvbGVzICAgICAgZGV0ZWN0IHplcm9lcyBhbmQgcmVwbGFjZSB3aXRoIGhvbGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg2Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgIGxlbmd0aCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODcKK21zZ2lkICIgLW4sIC0ta2VlcC1zaXplICAgICAgbWFpbnRhaW4gdGhlIGFwcGFyZW50IHNpemUgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODgKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgb2Zmc2V0IGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4OQorbXNnaWQgIiAtcCwgLS1wdW5jaC1ob2xlICAgICByZXBsYWNlIGEgcmFuZ2Ugd2l0aCBhIGhvbGUgKGltcGxpZXMgLW4pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkwCittc2dpZCAiIC16LCAtLXplcm8tcmFuZ2UgICAgIHplcm8gYW5kIGVuc3VyZSBhbGxvY2F0aW9uIG9mIGEgcmFuZ2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTI2Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZDoga2VlcCBzaXplIG1vZGUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEyNworIywgZnV6enkKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkIgorbXNnc3RyICJtYWxsb2Mg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgZmFpbGVkIgorbXNnc3RyICLQv9C+0LjRgdC6INC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglanUgYnl0ZXMpIGNvbnZlcnRlZCB0byBzcGFyc2UgaG9sZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM0NiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTgKK21zZ2lkICJubyBmaWxlbmFtZSBzcGVjaWZpZWQiCittc2dzdHIgItC90LUg0LfQsNC00LDQvdC+INC40LzRjyDRhNCw0LnQu9CwIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzU4IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBsZW5ndGggdmFsdWUgc3BlY2lmaWVkIgorbXNnc3RyICLQndC10LLQtdGA0L3QvtC1INC30L3QsNGH0LXQvdC40LUg0YPRgdGC0LDQvdC+0LLQutC4OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzYyCisjLCBmdXp6eQorbXNnaWQgIm5vIGxlbmd0aCBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgItC90LXRhdCy0LDRgtC60LAg0L/QsNC80Y/RgtC4IgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzY3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAi0J3QtdCy0LXRgNC90L7QtSDQt9C90LDRh9C10L3QuNC1INGD0YHRgtCw0L3QvtCy0LrQuDogJXNcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gPGNvbW1hbmQ+IFs8YXJndW1lbnQ+Li4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gLWMgPGNvbW1hbmQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlIGRlc2NyaXB0b3IgbnVtYmVyPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjU5CisjLCBmdXp6eQorbXNnaWQgIk1hbmFnZSBmaWxlIGxvY2tzIGZyb20gc2hlbGwgc2NyaXB0cy5cbiIKK21zZ3N0ciAibG9naW46INC90LXRgiDQv9Cw0LzRj9GC0Lgg0LTQu9GPINGI0LXQu9C7LdGB0LrRgNC40L/RgtCwLlxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hhcmVkICAgICAgICAgICAgIGdldCBhIHNoYXJlZCBsb2NrXG4iCittc2dzdHIgIiAgICAgICAgICAgICAg0L/QsNGA0LDQvNC10YLRgNGLXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYzCittc2dpZCAiIC14LCAtLWV4Y2x1c2l2ZSAgICAgICAgICBnZXQgYW4gZXhjbHVzaXZlIGxvY2sgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjQKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVubG9jayAgICAgICAgICAgICByZW1vdmUgYSBsb2NrXG4iCittc2dzdHIgIiAgICAgICAgICAgICAg0L/QsNGA0LDQvNC10YLRgNGLXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY1CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub25ibG9jayAgICAgICAgICAgZmFpbCByYXRoZXIgdGhhbiB3YWl0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAg0L/QsNGA0LDQvNC10YLRgNGLXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY2Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPHNlY3M+ICAgICB3YWl0IGZvciBhIGxpbWl0ZWQgYW1vdW50IG9mIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NworbXNnaWQgIiAtRSwgLS1jb25mbGljdC1leGl0LWNvZGUgPG51bWJlcj4gIGV4aXQgY29kZSBhZnRlciBjb25mbGljdCBvciB0aW1lb3V0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjgKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBjbG9zZSBmaWxlIGRlc2NyaXB0b3IgYmVmb3JlIHJ1bm5pbmcgY29tbWFuZFxuIgorbXNnc3RyICIgLUogIC0tbm9jbGVhciAgICAgICAgICAgICAg0L3QtSDQvtGH0LjRidCw0YLRjCDRjdC60YDQsNC9INC00L4g0YHRgtGA0L7QutC4INC/0YDQuNCz0LvQsNGI0LXQvdC40Y9cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjkKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gIHJ1biBhIHNpbmdsZSBjb21tYW5kIHN0cmluZyB0aHJvdWdoIHRoZSBzaGVsbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcwCisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAgZXhlY3V0ZSBjb21tYW5kIHdpdGhvdXQgZm9ya2luZ1xuIgorbXNnc3RyICIgICAgICAgICAgICAgINC/0LDRgNCw0LzQtdGC0YDRi1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICAgIGluY3JlYXNlIHZlcmJvc2l0eVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgINC/0L7QtNGA0L7QsdC90YvQuSDRgNC10LbQuNC8XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjEwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gbG9jayBmaWxlICVzIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgJXM6ICVzXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIwNQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgdmFsdWUiCittc2dzdHIgItC90LXQstC10YDQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDRgtCw0LnQvC3QsNGD0YLQsDogJXMiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIwOQorbXNnaWQgImludmFsaWQgZXhpdCBjb2RlIgorbXNnc3RyICLQvdC10LLQtdGA0L3Ri9C5INC60L7QtCDQstGL0YXQvtC00LAiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIyOAorbXNnaWQgInRoZSAtLW5vLWZvcmsgYW5kIC0tY2xvc2Ugb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgZXhhY3RseSBvbmUgY29tbWFuZCBhcmd1bWVudCIKK21zZ3N0ciAi0JTQu9GPICVzINGC0YDQtdCx0YPQtdGC0YHRjyDQsNGA0LPRg9C80LXQvdGCXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NAorbXNnaWQgImJhZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgItC40YHQv9C+0YDRh9C10L3QvdGL0Lkg0LTQtdGB0LrRgNC40L/RgtC+0YAg0YTQsNC50LvQsCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjU3Cittc2dpZCAicmVxdWlyZXMgZmlsZSBkZXNjcmlwdG9yLCBmaWxlIG9yIGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBsb2NrIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQtNCw0YLRjCDQtNCw0L3QvdGL0LUiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4OAorbXNnaWQgInRpbWVvdXQgd2hpbGUgd2FpdGluZyB0byBnZXQgbG9jayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldHRpbmcgbG9jayB0b29rICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAiJXM6INCy0YvQv9C+0LvQvdGP0LXRgtGB0Y8gJXNcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnRwb2ludD5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1MworbXNnaWQgIlN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbSAoZXh0My80LCBSZWlzZXJGUywgSkZTLCBYRlMpLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjU2CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mcmVlemUgICAgICBmcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiICB0ICAgICAgICAgINCh0LzQtdC90LAg0YLQuNC/0LAg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRiyIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTcKK21zZ2lkICIgLXUsIC0tdW5mcmVlemUgICAgdW5mcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTYKK21zZ2lkICJuZWl0aGVyIC0tZnJlZXplIG9yIC0tdW5mcmVlemUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIlczog0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC60LDRgtCw0LvQvtCz0L7QvCIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC40YHQuiDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmZyZWV6ZSBmYWlsZWQiCittc2dzdHIgItC/0L7QuNGB0Log0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiDQvdC1INC60LDRgtCw0LvQvtCzIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBGSVRSSU0gaW9jdGwgZmFpbGVkIgorbXNnc3RyICLQv9C+0LjRgdC6INC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgaGVyZSBpcyBhIHZlcnkgbGFyZ2UgbnVtYmVyLgorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCU8UFJJdTY0PiBieXRlcykgdHJpbW1lZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxOTEgc3lzLXV0aWxzL3N3YXBvbi5jOjcyOSBzeXMtdXRpbHMvdW1vdW50LmM6MzI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnQgcG9pbnQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NAorbXNnaWQgIkRpc2NhcmQgdW51c2VkIGJsb2NrcyBvbiBhIG1vdW50ZWQgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU3Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgdHJpbSBhbGwgbW91bnRlZCBmaWxlc3lzdGVtcyB0aGF0IGFyZSBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU4Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgdGhlIG9mZnNldCBpbiBieXRlcyB0byBzdGFydCBkaXNjYXJkaW5nIGZyb21cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgdGhlIG51bWJlciBvZiBieXRlcyB0byBkaXNjYXJkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MAorbXNnaWQgIiAtbSwgLS1taW5pbXVtIDxudW0+IHRoZSBtaW5pbXVtIGV4dGVudCBsZW5ndGggdG8gZGlzY2FyZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBudW1iZXIgb2YgZGlzY2FyZGVkIGJ5dGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMxNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWluaW11bSBleHRlbnQgbGVuZ3RoIgorbXNnc3RyICLQntGI0LjQsdC60LAg0LfQsNC/0LjRgdC4INGA0LDQt9C00LXQu9CwINC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMyOQorbXNnaWQgIm5vIG1vdW50cG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICLQvdC1INGD0LrQsNC30LDQvdGLINGC0L7Rh9C60Lgg0LzQvtC90YLQuNGA0L7QstCw0L3QuNGPIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdGhlIGRpc2NhcmQgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgItCf0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6INC+0L/RhtC40Y8gbm9sb2NrINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGC0YHRjy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXNzdW1pbmcgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiAlcyB0aW1lLlxuIgorbXNnc3RyICLQn9C+0LTRgNCw0LfRg9C80LXQstCw0LXRgtGB0Y8sINGH0YLQviDQsNC/0L/QsNGA0LDRgtC90YvQtSDRh9Cw0YHRiyDQstGL0YHRgtCw0LLQu9C10L3RiyDQv9C+ICVzINCy0YDQtdC80LXQvdC4LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI0NyBzeXMtdXRpbHMvaHdjbG9jay5jOjMzNAorbXNnaWQgIlVUQyIKK21zZ3N0ciAiVVRDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI0NyBzeXMtdXRpbHMvaHdjbG9jay5jOjMzMworbXNnaWQgImxvY2FsIgorbXNnc3RyICLQvNC10YHRgtC90L7QvNGDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMxOAorIywgZnV6enkKK21zZ2lkICIiCisiV2FybmluZzogdW5yZWNvZ25pemVkIHRoaXJkIGxpbmUgaW4gYWRqdGltZSBmaWxlXG4iCisiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKSIKK21zZ3N0ciAi0J/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTog0L3QtdGA0LDRgdC/0L7Qt9C90LDQvdC90LDRjyDRgtGA0LXRgtGM0Y8g0YHRgtGA0L7QutCwINCyINGE0LDQudC70LUgYWRqdGltZVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMyNworIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGRyaWZ0IGFkanVzdG1lbnQgZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgItCU0LDRgtCwINC/0L7RgdC70LXQtNC90LXQuSDQutC+0YDRgNC10LrRgtC40YDQvtCy0LrQuCDQvtGC0LrQu9C+0L3QtdC90LjRjyAtICVsZCDRgdC10LrRg9C90LQg0L/QvtGB0LvQtSAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgY2FsaWJyYXRpb24gZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgItCU0LDRgtCwINC/0L7RgdC70LXQtNC90LXQuSDQutCw0LvQuNCx0YDQvtCy0LrQuCAtICVsZCDRgdC10LrRg9C90LQg0L/QvtGB0LvQtSAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkhhcmR3YXJlIGNsb2NrIGlzIG9uICVzIHRpbWVcbiIKK21zZ3N0ciAi0JDQv9C/0LDRgNCw0YLQvdGL0LUg0YfQsNGB0Ysg0LLRi9GB0YLQsNCy0LvQtdC90Ysg0L/QviAlcyDQstGA0LXQvNC10L3QuFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM1OAorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGZvciBjbG9jayB0aWNrLi4uXG4iCittc2dzdHIgItCe0LbQuNC00LDQtdGC0YHRjyDRgtC40LrQsNC90YzQtSDRh9Cw0YHQvtCyLi4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnN5bmNocm9uaXphdGlvbiBmYWlsZWRcbiIKK21zZ3N0ciAiLi4u0YHQuNC90YXRgNC+0L3QuNC30LDRhtC40Y8g0LfQsNCy0LXRgNGI0LjQu9Cw0YHRjCDQvdC10YPQtNCw0YfQtdC5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmdvdCBjbG9jayB0aWNrXG4iCittc2dzdHIgIi4uLtC/0L7Qu9GD0YfQtdC90L4g0YLQuNC60LDQvdGM0LUg0YfQsNGB0L7QslxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQyMgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHZhbHVlcyBpbiBoYXJkd2FyZSBjbG9jazogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorbXNnc3RyICLQndC10LLQtdGA0L3Ri9C1INC30L3QsNGH0LXQvdC40Y8g0LIg0LDQv9C/0LDRgNCw0YLQvdGL0YUg0YfQsNGB0LDRhTogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJIdyBjbG9jayB0aW1lIDogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAi0JDQv9C/0LDRgNCw0YLQvdC+0LUg0LLRgNC10LzRjzogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCDRgdC10LrRg9C90LQg0YEgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ2NQorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHJlYWQgZnJvbSBIYXJkd2FyZSBDbG9jazogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorbXNnc3RyICLQktGA0LXQvNGPLCDQv9GA0L7Rh9C40YLQsNC90L3QvtC1INGBINCw0L/Qv9Cw0YDQsNGC0L3Ri9GFINGH0LDRgdC+0LI6ICU0ZC8lLjJkLyUuMmQgJTAyZDolMDJkOiUwMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyBIYXJkd2FyZSBDbG9jayB0byAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAi0JDQv9C/0LDRgNCw0YLQvdGL0LUg0YfQsNGB0Ysg0YPRgdGC0LDQvdCw0LLQu9C40LLQsNGO0YLRgdGPINCyICUuMmQ6JS4yZDolLjJkID0gJWxkINGB0LXQutGD0L3QtCDRgSAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNsb2NrIG5vdCBjaGFuZ2VkIC0gdGVzdGluZyBvbmx5LlxuIgorbXNnc3RyICLQp9Cw0YHRiyDQvdC1INC40LfQvNC10L3QtdC90YsgLSDRgtC+0LvRjNC60L4g0YLQtdGB0YLQuNGA0L7QstCw0L3QuNC1LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYwMworIywgYy1mb3JtYXQKK21zZ2lkICJzbGVlcGluZyB+JWQgdXNlY1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjE0CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUganVtcGVkIGJhY2t3YXJkICUuNmYgc2Vjb25kcyB0byAlbGQuJTA2bGQgLSByZXRhcmdldGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZC4lMDZsZCA8ICVsZC4lMDZsZCAoJS42ZilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciBwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVsZC4lMDZsZCBpcyBjbG9zZSBlbm91Z2ggdG8gJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyJTZXQgUlRDIHRvICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2bGQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODgKKyMsIGZ1enp5Cittc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIHJlZ2lzdGVycyBjb250YWluIHZhbHVlcyB0aGF0IGFyZSBlaXRoZXIgaW52YWxpZCAoZS5nLiA1MHRoIGRheSBvZiBtb250aCkgb3IgYmV5b25kIHRoZSByYW5nZSB3ZSBjYW4gaGFuZGxlIChlLmcuIFllYXIgMjA5NSkuIgorbXNnc3RyICLQoNC10LPQuNGB0YLRgNGLINCw0L/Qv9Cw0YDQsNGC0L3Ri9GFINGH0LDRgdC+0LIg0YHQvtC00LXRgNC20LDRgiDQt9C90LDRh9C10L3QuNGPLCDQutC+0YLQvtGA0YvQtSDQu9C40LHQviDQvdC10LLQtdGA0L3RiyAo0L3QsNC/0YAuLCA1MC3QuSDQtNC10L3RjCDQvNC10YHRj9GG0LApLCDQu9C40LHQviDQvdCw0YXQvtC00Y/RgtGB0Y8g0LfQsCDQv9GA0LXQtNC10LvQsNC80Lgg0Y3RhNGE0LXQutGC0LjQstC90L7Qs9C+INC00LjQsNC/0LDQt9C+0L3QsCAo0L3QsNC/0YAsIDIwOTUg0LPQvtC0KS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MjgKKyMsIGZ1enp5Cittc2dpZCAiTm8gLS1kYXRlIG9wdGlvbiBzcGVjaWZpZWQuIgorbXNnc3RyICLQndC1INGD0LrQsNC30LDQvdCwINC+0L/RhtC40Y8gLS1kYXRlLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjczNAorIywgZnV6enkKK21zZ2lkICItLWRhdGUgYXJndW1lbnQgdG9vIGxvbmciCittc2dzdHIgItCQ0YDQs9GD0LzQtdC90YIgLS1kYXRlINGB0LvQuNGI0LrQvtC8INC00LvQuNC90L3Ri9C5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzQxCisjLCBmdXp6eQorbXNnaWQgIiIKKyJUaGUgdmFsdWUgb2YgdGhlIC0tZGF0ZSBvcHRpb24gaXMgbm90IGEgdmFsaWQgZGF0ZS5cbiIKKyJJbiBwYXJ0aWN1bGFyLCBpdCBjb250YWlucyBxdW90YXRpb24gbWFya3MuIgorbXNnc3RyICIiCisi0JfQvdCw0YfQtdC90LjQtSDQvtC/0YbQuNC4IC0tZGF0ZSDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LLQtdGA0L3QvtC5INC00LDRgtC+0LkuXG4iCisi0JIg0YfQsNGB0YLQvdC+0YHRgtC4LCDQvtC90L4g0YHQvtC00LXRgNC20LjRgiDQutCw0LLRi9GH0LrQuC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSXNzdWluZyBkYXRlIGNvbW1hbmQ6ICVzXG4iCittc2dzdHIgItCf0L7QtNCw0LXRgtGB0Y8g0LrQvtC80LDQvdC00Ysg0LTQsNGC0Ys6ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzUzCittc2dpZCAiVW5hYmxlIHRvIHJ1biAnZGF0ZScgcHJvZ3JhbSBpbiAvYmluL3NoIHNoZWxsLiBwb3BlbigpIGZhaWxlZCIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LfQsNC/0YPRgdGC0LjRgtGMINC/0YDQvtCz0YDQsNC80LzRgyAnZGF0ZScg0LIg0YjQtdC70LvQtSAvYmluL3NoLiBwb3BlbigpINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzYxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlc3BvbnNlIGZyb20gZGF0ZSBjb21tYW5kID0gJXNcbiIKK21zZ3N0ciAi0L7RgtCy0LXRgiDQutC+0LzQsNC90LTRiyBkYXRlID0gJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCB1bmV4cGVjdGVkIHJlc3VsdHMuXG4iCisiVGhlIGNvbW1hbmQgd2FzOlxuIgorIiAgJXNcbiIKKyJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorIiAgJXMiCittc2dzdHIgIiIKKyLQmtC+0LzQsNC90LTQsCBkYXRlLCDQstGL0LfQstCw0L3QvdCw0Y8gJXMsINCy0L7Qt9Cy0YDQsNGC0LjQu9CwINC90LXQvtC20LjQtNCw0L3QvdGL0LUg0YDQtdC30YPQu9GM0YLQsNGC0YsuXG4iCisi0JrQvtC80LDQvdC00LAg0LHRi9C70LA6XG4iCisiICAlc1xuIgorItCe0YLQstC10YIg0LHRi9C7OlxuIgorIiAgJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkYXRlIGNvbW1hbmQgaXNzdWVkIGJ5ICVzIHJldHVybmVkIHNvbWV0aGluZyBvdGhlciB0aGFuIGFuIGludGVnZXIgd2hlcmUgdGhlIGNvbnZlcnRlZCB0aW1lIHZhbHVlIHdhcyBleHBlY3RlZC5cbiIKKyJUaGUgY29tbWFuZCB3YXM6XG4iCisiICAlc1xuIgorIlRoZSByZXNwb25zZSB3YXM6XG4iCisiICVzXG4iCittc2dzdHIgIiIKKyLQmtC+0LzQsNC90LTQsCBkYXRlLCDQstGL0LfQstCw0L3QvdCw0Y8gJXMsINCy0L7Qt9Cy0YDQsNGC0LjQu9CwINGH0YLQvi3RgtC+INC60YDQvtC80LUg0YbQtdC70L7Qs9C+INGH0LjRgdC70LAsINGC0L7Qs9C00LAg0LrQsNC6INC+0LbQuNC00LDQu9C+0YHRjCDQv9GA0LXQvtCx0YDQsNC30L7QstCw0L3QvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDQstGA0LXQvNC10L3QuC5cbiIKKyLQmtC+0LzQsNC90LTQsCDQsdGL0LvQsDpcbiIKKyIgICVzXG4iCisi0J7RgtCy0LXRgiDQsdGL0Ls6XG4iCisiICAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc4NgorIywgYy1mb3JtYXQKK21zZ2lkICJkYXRlIHN0cmluZyAlcyBlcXVhdGVzIHRvICVsZCBzZWNvbmRzIHNpbmNlIDE5NjkuXG4iCittc2dzdHIgItGB0YLRgNC+0LrQsCDQtNCw0YLRiyAlcyDRgNCw0LLQvdGP0LXRgtGB0Y8gJWxkINGB0LXQutGD0L3QtNCw0Lwg0YEgMTk2OS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4MjQKKyMsIGZ1enp5Cittc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3Qgc2V0IHRoZSBTeXN0ZW0gVGltZSBmcm9tIGl0LiIKK21zZ3N0ciAi0JDQv9C/0LDRgNCw0YLQvdGL0LUg0YfQsNGB0Ysg0L3QtSDRgdC+0LTQtdGA0LbQsNGCINCy0LXRgNC90L7Qs9C+INCy0YDQtdC80LXQvdC4LCDQv9C+0Y3RgtC+0LzRgyDRgSDQvdC40YUg0L3QtdCy0L7Qt9C80L7QttC90L4g0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0YHQuNGB0YLQtdC80L3QvtC1INCy0YDQtdC80Y8uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQzIHN5cy11dGlscy9od2Nsb2NrLmM6OTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5OlxuIgorbXNnc3RyICLQktGL0LfRi9Cy0LDQtdGC0YHRjyBzZXR0aW1lb2ZkYXk6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQ0IHN5cy11dGlscy9od2Nsb2NrLmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCittc2dzdHIgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQ2IHN5cy11dGlscy9od2Nsb2NrLmM6OTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorbXNnc3RyICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTAgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgc3lzdGVtIGNsb2NrIGJlY2F1c2UgcnVubmluZyBpbiB0ZXN0IG1vZGUuXG4iCittc2dzdHIgItCh0LjRgdGC0LXQvNC90YvQtSDRh9Cw0YHRiyDQvdC1INGD0YHRgtCw0L3QvtCy0LvQtdC90YssINC/0L7RgtC+0LzRgyDRh9GC0L4g0LfQsNC/0YPRgdC6INCyINGC0LXRgdGC0L7QstC+0Lwg0YDQtdC20LjQvNC1LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg2NiBzeXMtdXRpbHMvaHdjbG9jay5jOjk2MgorbXNnaWQgIk11c3QgYmUgc3VwZXJ1c2VyIHRvIHNldCBzeXN0ZW0gY2xvY2suIgorbXNnc3RyICLQlNC70Y8g0YPRgdGC0LDQvdC+0LLQutC4INGB0LjRgdGC0LXQvNC90YvRhSDRh9Cw0YHQvtCyINC90YPQttC90Ysg0L/RgNCw0LLQsCDRgdGD0L/QtdGA0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4Njkgc3lzLXV0aWxzL2h3Y2xvY2suYzo5NjUKK21zZ2lkICJzZXR0aW1lb2ZkYXkoKSBmYWlsZWQiCittc2dzdHIgInNldHRpbWVvZmRheSgpINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkN1cnJlbnQgc3lzdGVtIHRpbWU6ICVsZCA9ICVzXG4iCittc2dzdHIgItCi0LXQutGD0YnQtdC1INGB0LjRgdGC0LXQvNC90L7QtSDQstGA0LXQvNGPOiAlbGQgPSAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzMQorIywgYy1mb3JtYXQKK21zZ2lkICJcdFVUQzogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgLS11cGRhdGUtZHJpZnQgb3B0aW9uIHdhcyBub3QgdXNlZC5cbiIKK21zZ3N0ciAi0JrQvtGA0YDQtdC60YLQuNGA0L7QstC60LAg0LrQvtGN0YTRhNC40YbQuNC10L3RgtCwINC+0YLQutC70L7QvdC10L3QuNGPINC90LUg0LLRi9C/0L7Qu9C90LXQvdCwLCDQv9C+0YLQvtC80YMg0YfRgtC+INCw0L/Qv9Cw0YDQsNGC0L3Ri9C1INGH0LDRgdGLINGA0LDQvdC10LUg0YHQvtC00LXRgNC20LDQu9C4INC80YPRgdC+0YAuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAwMAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSBIYXJkd2FyZSBDbG9jayBwcmV2aW91c2x5IGNvbnRhaW5lZCBnYXJiYWdlLlxuIgorbXNnc3RyICLQmtC+0YDRgNC10LrRgtC40YDQvtCy0LrQsCDQutC+0Y3RhNGE0LjRhtC40LXQvdGC0LAg0L7RgtC60LvQvtC90LXQvdC40Y8g0L3QtSDQstGL0L/QvtC70L3QtdC90LAsINC/0L7RgtC+0LzRgyDRh9GC0L4g0LDQv9C/0LDRgNCw0YLQvdGL0LUg0YfQsNGB0Ysg0YDQsNC90LXQtSDRgdC+0LTQtdGA0LbQsNC70Lgg0LzRg9GB0L7RgC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGxhc3QgY2FsaWJyYXRpb24gdGltZSBpcyB6ZXJvLFxuIgorInNvIGhpc3RvcnkgaXMgYmFkIGFuZCBjYWxpYnJhdGlvbiBzdGFydG92ZXIgaXMgbmVjZXNzYXJ5LlxuIgorbXNnc3RyICIiCisi0JrQvtGA0YDQtdC60YLQuNGA0L7QstC60LAg0LrQvtGN0YTRhNC40YbQuNC10L3RgtCwINC+0YLQutC70L7QvdC10L3QuNGPINC90LUg0LLRi9C/0L7Qu9C90LXQvdCwLCDQv9C+0YLQvtC80YNcbiIKKyLRh9GC0L4g0L/QvtGB0LvQtdC00L3Rj9GPINC60LDQu9C40LHRgNC+0LLQutCwINCx0YvQu9CwINC90YPQu9C10LLQvtC5LCDQv9C+0Y3RgtC+0LzRgyDQvdC10LLQtdGA0L3QsFxuIgorItGF0YDQvtC90L7Qu9C+0LPQuNGPINC4INC90LXQvtCx0YXQvtC00LjQvCDQt9Cw0L/Rg9GB0Log0LrQsNC70LjQsdGA0L7QstC60LguXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBpdCBoYXMgYmVlbiBsZXNzIHRoYW4gZm91ciBob3VycyBzaW5jZSB0aGUgbGFzdCBjYWxpYnJhdGlvbi5cbiIKK21zZ3N0ciAi0JrQvtGA0YDQtdC60YLQuNGA0L7QstC60LAg0LrQvtGN0YTRhNC40YbQuNC10L3RgtCwINC+0YLQutC70L7QvdC10L3QuNGPINC90LUg0LLRi9C/0L7Qu9C90LXQvdCwLCDQv9C+0YLQvtC80YMg0YfRgtC+INGB0L4g0LLRgNC10LzQtdC90Lgg0L/QvtGB0LvQtdC00L3QtdC5INC60LDQu9C40LHRgNC+0LLQutC4INC/0YDQvtGI0LvQviDQvNC10L3QtdC1INC00L3Rjy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdCBmYWN0b3Igd2FzIGNhbGN1bGF0ZWQgYXMgJWYgc2Vjb25kcy9kYXkuXG4iCisiSXQgaXMgZmFyIHRvbyBtdWNoLiBSZXNldHRpbmcgdG8gemVyby5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdGVkICVmIHNlY29uZHMgaW4gdGhlIHBhc3QgJWYgc2Vjb25kc1xuIgorImluIHNwaXRlIG9mIGEgZHJpZnQgZmFjdG9yIG9mICVmIHNlY29uZHMvZGF5LlxuIgorIkFkanVzdGluZyBkcmlmdCBmYWN0b3IgYnkgJWYgc2Vjb25kcy9kYXlcbiIKK21zZ3N0ciAiIgorItCn0LDRgdGLINC/0LXRgNC10LLQtdC00LXQvdGLINC90LAgJS4xZiDRgdC10LrRg9C90LQg0L3QsNC30LDQtCwgJWQg0YHQtdC60YPQvdC0INC90LXRgdC80L7RgtGA0Y8g0L3QsCDQutC+0Y3RhNGE0LjRhtC40LXQvdGCINC+0YLQutC70L7QvdC10L3QuNGPICVmINGB0LXQutGD0L3QtCDQsiDQtNC10L3RjC5cbiIKKyLQmtC+0Y3RhNGE0LjRhtC40LXQvdGCINC+0YLQutC70L7QvdC10L3QuNGPINC90LDRgdGC0YDQsNC40LLQsNC10YLRgdGPINC90LAgJWYg0YHQtdC60YPQvdC0INCyINC00LXQvdGMXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWQgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVkIHNlY29uZHNcbiIKK21zZ3N0clswXSAi0JLRgNC10LzRjyDQv9C+0YHQu9C1INC/0L7RgdC70LXQtNC90LXQuSDQutC+0YDRgNC10LrRgtC40YDQvtCy0LrQuCDRgdC+0YHRgtCw0LLQu9GP0LXRgiAlZCDRgdC10LrRg9C90LRcbiIKK21zZ3N0clsxXSAi0JLRgNC10LzRjyDQv9C+0YHQu9C1INC/0L7RgdC70LXQtNC90LXQuSDQutC+0YDRgNC10LrRgtC40YDQvtCy0LrQuCDRgdC+0YHRgtCw0LLQu9GP0LXRgiAlZCDRgdC10LrRg9C90LRcbiIKK21zZ3N0clsyXSAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsY3VsYXRlZCBIYXJkd2FyZSBDbG9jayBkcmlmdCBpcyAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEzMworIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgdXBkYXRpbmcgYWRqdGltZSBmaWxlIGJlY2F1c2Ugb2YgdGVzdGluZyBtb2RlLlxuIgorbXNnc3RyICLQpNCw0LnQuyBhZGp0aW1lINC90LUg0L7QsdC90L7QstC70Y/QtdGC0YHRjywg0L/QvtGC0L7QvNGDINGH0YLQviDQstC60LvRjtGH0LXQvSDRgNC10LbQuNC8INGC0LXRgdGC0LjRgNC+0LLQsNC90LjRjy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXb3VsZCBoYXZlIHdyaXR0ZW4gdGhlIGZvbGxvd2luZyB0byAlczpcbiIKKyIlcyIKK21zZ3N0ciAiIgorItCh0LvQtdC00YPRjtGJ0LXQtSDQsdGD0LTQtdGCINC30LDQv9C40YHQsNC90L4g0LIgJXM6XG4iCisiJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE0MworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3Qgb3BlbiBmaWxlIHdpdGggdGhlIGNsb2NrIGFkanVzdG1lbnQgcGFyYW1ldGVycyBpbiBpdCAoJXMpIGZvciB3cml0aW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE0OSBzeXMtdXRpbHMvaHdjbG9jay5jOjExNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHVwZGF0ZSBmaWxlIHdpdGggdGhlIGNsb2NrIGFkanVzdG1lbnQgcGFyYW1ldGVycyAoJXMpIGluIGl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE2NAorIywgZnV6enkKK21zZ2lkICJEcmlmdCBhZGp1c3RtZW50IHBhcmFtZXRlcnMgbm90IHVwZGF0ZWQuIgorbXNnc3RyICLQn9Cw0YDQsNC80LXRgtGA0Ysg0LrQvtGA0YDQtdC60YLQuNGA0L7QstC60Lgg0L7RgtC60LvQvtC90LXQvdC40Y8g0L3QtSDQvtCx0L3QvtCy0LvQtdC90YsuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIwMAorIywgZnV6enkKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBhZGp1c3QgaXQuIgorbXNnc3RyICLQkNC/0L/QsNGA0LDRgtC90YvQtSDRh9Cw0YHRiyDQvdC1INGB0L7QtNC10YDQttCw0YIg0LLQtdGA0L3QvtCz0L4g0LLRgNC10LzQtdC90LgsINC/0L7RjdGC0L7QvNGDINC+0YLQutC+0YDRgNC10LrRgtC40YDQvtCy0LDRgtGMINC40YUg0L3QtdCy0L7Qt9C80L7QttC90L4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBsYXN0IGFkanVzdG1lbnQgdGltZSBpcyB6ZXJvLCBzbyBoaXN0b3J5IGlzIGJhZC5cbiIKK21zZ3N0ciAiIgorItCa0L7RgNGA0LXQutGC0LjRgNC+0LLQutCwINC60L7RjdGE0YTQuNGG0LjQtdC90YLQsCDQvtGC0LrQu9C+0L3QtdC90LjRjyDQvdC1INCy0YvQv9C+0LvQvdC10L3QsCwg0L/QvtGC0L7QvNGDXG4iCisi0YfRgtC+INC/0L7RgdC70LXQtNC90Y/RjyDQutCw0LvQuNCx0YDQvtCy0LrQsCDQsdGL0LvQsCDQvdGD0LvQtdCy0L7QuSwg0L/QvtGN0YLQvtC80YMg0L3QtdCy0LXRgNC90LBcbiIKKyLRhdGA0L7QvdC+0LvQvtCz0LjRjyDQuCDQvdC10L7QsdGF0L7QtNC40Lwg0LfQsNC/0YPRgdC6INC60LDQu9C40LHRgNC+0LLQutC4LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgZHJpZnQgZmFjdG9yICVmIGlzIGZhciB0b28gaGlnaC5cbiIKK21zZ3N0ciAiIgorItCa0L7RgNGA0LXQutGC0LjRgNC+0LLQutCwINC60L7RjdGE0YTQuNGG0LjQtdC90YLQsCDQvtGC0LrQu9C+0L3QtdC90LjRjyDQvdC1INCy0YvQv9C+0LvQvdC10L3QsCwg0L/QvtGC0L7QvNGDXG4iCisi0YfRgtC+INC/0L7RgdC70LXQtNC90Y/RjyDQutCw0LvQuNCx0YDQvtCy0LrQsCDQsdGL0LvQsCDQvdGD0LvQtdCy0L7QuSwg0L/QvtGN0YLQvtC80YMg0L3QtdCy0LXRgNC90LBcbiIKKyLRhdGA0L7QvdC+0LvQvtCz0LjRjyDQuCDQvdC10L7QsdGF0L7QtNC40Lwg0LfQsNC/0YPRgdC6INC60LDQu9C40LHRgNC+0LLQutC4LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gdXNhYmxlIGNsb2NrIGludGVyZmFjZSBmb3VuZC5cbiIKK21zZ3N0ciAi0J3QtSDQvdCw0LnQtNC10L0g0L/RgNC40LPQvtC00L3Ri9C5INGH0LDRgdC+0LLQvtC5INC40L3RgtC10YDRhNC10LnRgS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5lZWRlZCBhZGp1c3RtZW50IGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kLCBzbyBub3Qgc2V0dGluZyBjbG9jay5cbiIKK21zZ3N0ciAi0J3QtdC+0LHRhdC+0LTQuNC80LDRjyDQutC+0YDRgNC10LrRgtC40YDQvtCy0LrQsCDRgdC+0YHRgtCw0LLQu9GP0LXRgiDQvNC10L3RjNGI0LUg0YHQtdC60YPQvdC00YssINC/0L7RjdGC0L7QvNGDINGH0LDRgdGLINC90LUg0L3QsNGB0YLRgNCw0LjQstCw0Y7RgtGB0Y8uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM4OCBzeXMtdXRpbHMvaHdjbG9jay5jOjEzOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIHNldCBzeXN0ZW0gY2xvY2suXG4iCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INGD0YHRgtCw0L3QvtCy0LjRgtGMINGB0LjRgdGC0LXQvNC90YvQtSDRh9Cw0YHRiy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjksIFJUQyBpcyBwcmVkaWN0ZWQgdG8gcmVhZCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQzMQorIywgZnV6enkKK21zZ2lkICIiCisiVGhlIGtlcm5lbCBrZWVwcyBhbiBlcG9jaCB2YWx1ZSBmb3IgdGhlIEhhcmR3YXJlIENsb2NrIG9ubHkgb24gYW4gQWxwaGEgbWFjaGluZS5cbiIKKyJUaGlzIGNvcHkgb2YgaHdjbG9jayB3YXMgYnVpbHQgZm9yIGEgbWFjaGluZSBvdGhlciB0aGFuIEFscGhhXG4iCisiKGFuZCB0aHVzIGlzIHByZXN1bWFibHkgbm90IHJ1bm5pbmcgb24gYW4gQWxwaGEgbm93KS4gIE5vIGFjdGlvbiB0YWtlbi4iCittc2dzdHIgIiIKKyLQl9C90LDRh9C10L3QuNC1INCy0LXQutCwINC00LvRjyDQsNC/0L/QsNGA0LDRgtC90YvRhSDRh9Cw0YHQvtCyINGP0LTRgNC+INGF0YDQsNC90LjRgiDRgtC+0LvRjNC60L4g0L3QsCBBbHBoYS3QvNCw0YjQuNC90LDRhS5cbiIKKyLQrdGC0LAg0LrQvtC/0LjRjyBod2Nsb2NrINCx0YvQu9CwINGB0L7Qt9C00LDQvdCwINC00LvRjyDQvNCw0YjQuNC90YssINC+0YLQu9C40YfQvdC+0Lkg0L7RgiBBbHBoYVxuIgorIijQuCwg0YLQsNC60LjQvCDQvtCx0YDQsNC30L7QvCwg0YHQtdC50YfQsNGBLCDQv9C+LdCy0LjQtNC40LzQvtC80YMsINC90LAgQWxwaGEg0L3QtSDRgNCw0LHQvtGC0LDQtdGCKS4gINCU0LXQudGB0YLQstC40LUg0L7RgtC60LvQvtC90LXQvdC+LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NDgKKyMsIGZ1enp5Cittc2dpZCAiVW5hYmxlIHRvIGdldCB0aGUgZXBvY2ggdmFsdWUgZnJvbSB0aGUga2VybmVsLiIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0L/QvtC70YPRh9C40YLRjCDQt9C90LDRh9C10L3QuNC1INCy0LXQutCwINC40Lcg0Y/QtNGA0LAuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgaXMgYXNzdW1pbmcgYW4gZXBvY2ggdmFsdWUgb2YgJWx1XG4iCittc2dzdHIgItCv0LTRgNC+INC/0L7QtNGA0LDQt9GD0LzQtdCy0LDQtdGCLCDRh9GC0L4g0LfQvdCw0YfQtdC90LjQtSDQstC10LrQsCAlbHVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDU1CisjLCBmdXp6eQorbXNnaWQgIlRvIHNldCB0aGUgZXBvY2ggdmFsdWUsIHlvdSBtdXN0IHVzZSB0aGUgJ2Vwb2NoJyBvcHRpb24gdG8gdGVsbCB0byB3aGF0IHZhbHVlIHRvIHNldCBpdC4iCittc2dzdHIgItCn0YLQvtCx0Ysg0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0LfQvdCw0YfQtdC90LjQtSDQstC10LrQsCwg0LLRiyDQtNC+0LvQttC90Ysg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC+0L/RhtC40Y4gJ2Vwb2NoJyDQtNC70Y8g0YPQutCw0LfQsNC90LjRjyDQvdGD0LbQvdC+0LPQviDQt9C90LDRh9C10L3QuNGPLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIHRoZSBlcG9jaCB0byAlbHUgLSB0ZXN0aW5nIG9ubHkuXG4iCittc2dzdHIgItCS0LXQuiDQvdC1INGD0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGC0YHRjyDQsiAlZCAtINGC0L7Qu9GM0LrQviDRgtC10YHRgtC40YDQvtCy0LDQvdC40LUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLlxuIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDRg9GB0YLQsNC90L7QstC40YLRjCDQsiDRj9C00YDQtSDQt9C90LDRh9C10L3QuNC1INCy0LXQutCwLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NTYKK21zZ2lkICIgaHdjbG9jayBbZnVuY3Rpb25dIFtvcHRpb24uLi5dXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTU5Cittc2dpZCAiUXVlcnkgb3Igc2V0IHRoZSBoYXJkd2FyZSBjbG9jay5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjEKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkZ1bmN0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkINGA0LDQt9C00LXQu9GLOlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjIKK21zZ2lkICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgIHNob3cgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyIgLXIsIC0tc2hvdyAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisiICAgICAtLWdldCAgICAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IGRyaWZ0IGNvcnJlY3RlZCByZXN1bHRcbiIKKyIgICAgIC0tc2V0ICAgICAgICAgICAgc2V0IHRoZSBSVEMgdG8gdGhlIHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjYKK21zZ2lkICIiCisiIC1zLCAtLWhjdG9zeXMgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyIgLXcsIC0tc3lzdG9oYyAgICAgICAgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayBmcm9tIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lXG4iCisiICAgICAtLXN5c3R6ICAgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgYmFzZWQgb24gdGhlIGN1cnJlbnQgdGltZXpvbmVcbiIKKyIgICAgIC0tYWRqdXN0ICAgICAgICAgYWRqdXN0IHRoZSBSVEMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCBzaW5jZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjbG9jayB3YXMgbGFzdCBzZXQgb3IgYWRqdXN0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NzEKK21zZ2lkICIgLWMsIC0tY29tcGFyZSAgICAgICAgcGVyaW9kaWNhbGx5IGNvbXBhcmUgdGhlIHN5c3RlbSBjbG9jayB3aXRoIHRoZSBDTU9TIGNsb2NrXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTczCittc2dpZCAiIgorIiAgICAgLS1nZXRlcG9jaCAgICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisiICAgICAtLXNldGVwb2NoICAgICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGdpdmVuIHdpdGggLS1lcG9jaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU3NworbXNnaWQgIiIKKyIgICAgIC0tcHJlZGljdCAgICAgICAgcHJlZGljdCBSVEMgcmVhZGluZyBhdCB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4MQorbXNnaWQgIiIKKyIgLXUsIC0tdXRjICAgICAgICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gVVRDXG4iCisiICAgICAtLWxvY2FsdGltZSAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIGxvY2FsIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODQKK21zZ2lkICIgLWYsIC0tcnRjIDxmaWxlPiAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1kaXJlY3Rpc2EgICAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorIiAgICAgLS1iYWR5ZWFyICAgICAgICBpZ25vcmUgUlRDJ3MgeWVhciBiZWNhdXNlIHRoZSBCSU9TIGlzIGJyb2tlblxuIgorIiAgICAgLS1kYXRlIDx0aW1lPiAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorIiAgICAgLS1lcG9jaCA8eWVhcj4gICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBoYXJkd2FyZSBjbG9jaydzIGVwb2NoIHZhbHVlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIGRyaWZ0IGZhY3RvciBpbiAlMSRzIChyZXF1aXJlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIC0tc2V0IG9yIC0tc3lzdG9oYylcbiIKKyIgICAgIC0tbm9hZGpmaWxlICAgICAgZG8gbm90IGFjY2VzcyAlMSRzOyB0aGlzIHJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWVcbiIKKyIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlMSRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTk5Cittc2dpZCAiIgorIiAgICAgLS10ZXN0ICAgICAgICAgICBkbyBub3QgdXBkYXRlIGFueXRoaW5nLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBoYXBwZW5cbiIKKyIgLUQsIC0tZGVidWcgICAgICAgICAgZGVidWdnaW5nIG1vZGVcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE2MDIKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtSnwtLWplbnNlbiwgLUF8LS1hcmMsIC1TfC0tc3JtLCAtRnwtLWZ1bmt5LXRveVxuIgorIiAgICAgIHRlbGwgaHdjbG9jayB0aGUgdHlwZSBvZiBBbHBoYSB5b3UgaGF2ZSAoc2VlIGh3Y2xvY2soOCkpXG4iCisiXG4iCittc2dzdHIgIiIKKyIgIC0tamVuc2VuLCAtLWFyYywgLS1zcm0sIC0tZnVua3ktdG95XG4iCisiICAgICAgICAgICAgICAgINGB0L7QvtCx0YnQsNC10YIgaHdjbG9jayfRgyDRgtC40L8g0LLQsNGI0LXQuSBhbHBoYSAo0YHQvC4gaHdjbG9jayg4KSlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNzI4CisjLCBmdXp6eQorbXNnaWQgIlVuYWJsZSB0byBjb25uZWN0IHRvIGF1ZGl0IHN5c3RlbSIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0YHQuNGB0YLQtdC80L3Ri9C1INGH0LDRgdGLLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4MjYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBlcG9jaCBhcmd1bWVudCIKK21zZ3N0ciAiY29sOiDQvdC10LLQtdGA0L3Ri9C5INCw0YDQs9GD0LzQtdC90YIgLWwgJXMuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTg3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB0YWtlcyBubyBub24tb3B0aW9uIGFyZ3VtZW50cy4gIFlvdSBzdXBwbGllZCAlZC5cbiIKK21zZ3N0ciAiJXMg0L/RgNC40L3QuNC80LDQtdGCINC90LXQvtC/0YbQuNC+0L3QsNC70YzQvdGL0LUg0LDRgNCz0YPQvNC10L3RgtGLLiAg0JLQsNC8INC/0YDQtdC00L7RgdGC0LDQstC70LXQvdGLICVkLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4ODAKKyMsIGZ1enp5Cittc2dpZCAiV2l0aCAtLW5vYWRqZmlsZSwgeW91IG11c3Qgc3BlY2lmeSBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWUiCittc2dzdHIgIiVzOiDQoSAtLW5vYWRqZmlsZSDQstGLINC00L7Qu9C20L3RiyDRg9C60LDQt9Cw0YLRjCDQu9C40LHQviAtLXV0Yywg0LvQuNCx0L4gLS1sb2NhbHRpbWVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODkzCisjLCBmdXp6eQorbXNnaWQgIk5vIHVzYWJsZSBzZXQtdG8gdGltZS4gIENhbm5vdCBzZXQgY2xvY2suIgorbXNnc3RyICLQntGC0YHRg9GC0YHRgtCy0YPQtdGCINC/0YDQuNCz0L7QtNC90L7QtSDQtNC70Y8g0YPRgdGC0LDQvdC+0LLQutC4INCy0YDQtdC80Y8uINCd0LXQstC+0LfQvNC+0LbQvdC+INGD0YHRgtCw0L3QvtCy0LjRgtGMINGH0LDRgdGLLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE5MTcKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGFjY2VzcyB0aGUgSGFyZHdhcmUgQ2xvY2sgdmlhIGFueSBrbm93biBtZXRob2QuIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQv9C+0LvRg9GH0LjRgtGMINC00L7RgdGC0YPQvyDQuiDQsNC/0L/QsNGA0LDRgtC90YvQvCDRh9Cw0YHQsNC8INC60LDQutC40Lwg0LHRiyDRgtC+INC90Lgg0LHRi9C70L4g0LjQt9Cy0LXRgdGC0L3Ri9C8INGB0L/QvtGB0L7QsdC+0LwuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTkyMAorIywgZnV6enkKK21zZ2lkICJVc2UgdGhlIC0tZGVidWcgb3B0aW9uIHRvIHNlZSB0aGUgZGV0YWlscyBvZiBvdXIgc2VhcmNoIGZvciBhbiBhY2Nlc3MgbWV0aG9kLiIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSDQvtC/0YbQuNGOIC0tZGVidWcsINGH0YLQvtCx0Ysg0YPQstC40LTQtdGC0Ywg0L/QvtC00YDQvtCx0L3Rg9GOINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INC90LDRiNC10Lwg0L/QvtC40YHQutC1INC00LvRjyDQvNC10YLQvtC00LAg0LTQvtGB0YLRg9C/0LAuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYm9vdGVkIGZyb20gTUlMT1xuIgorbXNnc3RyICLQt9Cw0LPRgNGD0LbQtdC9INC40LcgTUlMT1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIlJ1ZmZpYW4gQkNEIGNsb2NrXG4iCittc2dzdHIgIlJ1ZmZpYW4gQkNELdGH0LDRgdGLXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvY2twb3J0IGFkanVzdGVkIHRvIDB4JXhcbiIKK21zZ3N0ciAi0L/QvtGA0YIg0YfQsNGB0L7QsiDQstGL0YHRgtCw0LLQu9C10L0g0L3QsCAweCV4XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnVua3kgVE9ZIVxuIgorbXNnc3RyICLQutC70LDRgdGB0L3QsNGPINCY0JPQoNCj0KjQmtCQIVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mjk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJhdG9taWMgJXMgZmFpbGVkIGZvciAxMDAwIGl0ZXJhdGlvbnMhIgorbXNnc3RyICIlczog0LDRgtC+0LzQvdGL0LkgJXMg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSDQtNC70Y8gMTAwMCDQuNGC0LXRgNCw0YbQuNC5ISIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjMyNAorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3JlYWQoKTogd3JpdGUgdG8gY29udHJvbCBhZGRyZXNzICVYIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzI4CisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3NfcmVhZCgpOiByZWFkIGZyb20gZGF0YSBhZGRyZXNzICVYIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzY1CisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3Nfd3JpdGUoKTogd3JpdGUgdG8gY29udHJvbCBhZGRyZXNzICVYIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3Nfd3JpdGUoKTogd3JpdGUgdG8gZGF0YSBhZGRyZXNzICVYIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjQ1CisjLCBmdXp6eQorbXNnaWQgIkkgZmFpbGVkIHRvIGdldCBwZXJtaXNzaW9uIGJlY2F1c2UgSSBkaWRuJ3QgdHJ5LiIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LHRi9C70L4g0L/QvtC70YPRh9C40YLRjCDRgNCw0LfRgNC10YjQtdC90LjQtSwg0L/QvtGC0L7QvNGDINC90LUg0LHRi9C70LAg0LLRi9C/0L7Qu9C90LXQvdCwINC/0L7Qv9GL0YLQutCwLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjQ4CisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBnZXQgSS9PIHBvcnQgYWNjZXNzOiAgdGhlIGlvcGwoMykgY2FsbCBmYWlsZWQuIgorbXNnc3RyICIlcyDQvdC10LLQvtC30LzQvtC20L3QviDQv9C+0LvRg9GH0LjRgtGMINC00L7RgdGC0YPQvyDQuiDQv9C+0YDRgtGDIEkvTzogINCy0YvQt9C+0LIgaW9wbCgzKSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjUxCittc2dpZCAiUHJvYmFibHkgeW91IG5lZWQgcm9vdCBwcml2aWxlZ2VzLlxuIgorbXNnc3RyICLQktC+0LfQvNC+0LbQvdC+LCDQstCw0Lwg0L3Rg9C20L3RiyDQv9GA0LjQstC40LvQtdCz0LjQuCByb290J9CwLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjU4Cittc2dpZCAiVXNpbmcgZGlyZWN0IEkvTyBpbnN0cnVjdGlvbnMgdG8gSVNBIGNsb2NrLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byByZWFkIHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoKSAlcyDQv9GA0Lgg0YfRgtC10L3QuNC4INCy0YDQtdC80LXQvdC4INC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSAlcyB0byBjaGFuZ2VcbiIKK21zZ3N0ciAi0JIg0YbQuNC60LvQtSDQvtC20LjQtNCw0LXRgtGB0Y8g0LTQu9GPINGB0LzQtdC90Ysg0LLRgNC10LzRjyDQuNC3ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIzNgorIywgZnV6enkKK21zZ2lkICJUaW1lZCBvdXQgd2FpdGluZyBmb3IgdGltZSBjaGFuZ2UuIgorbXNnc3RyICLQmNGB0YLQtdC60LvQviDQstGA0LXQvNGPINC+0LbQuNC00LDQvdC40Y8g0LTQu9GPINGB0LzQtdC90Ysg0LLRgNC10LzQtdC90LguXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBoYXZlIGludGVycnVwdCBmdW5jdGlvbnMuICIKK21zZ3N0ciAiJXMg0L3QtSDQuNC80LXQtdGCINGE0YPQvdC60YbQuNC5INC/0YDQtdGA0YvQstCw0L3QuNGPLiAiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMwMgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKK21zZ3N0ciAic2VsZWN0KCkg0LIgJXMg0LTQu9GPINC+0LbQuNC00LDQvdC40Y8g0YLQuNC60LDQvdGM0Y8g0YfQsNGB0L7QsiDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgdGltZWQgb3V0IgorbXNnc3RyICLQmNGB0YLQtdC60LvQviDQstGA0LXQvNGPINC+0LbQuNC00LDQvdC40Y8g0YLQuNC60LDQvdGM0Y8g0YfQsNGB0L7QsiBzZWxlY3QoKSDQsiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9mZiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQiCittc2dzdHIgImlvY3RsKCkg0LIgJXMg0LTQu9GPINCy0YvQutC70Y7Rh9C10L3QuNGPINC/0YDQtdGA0YvQstCw0L3QuNC5INC+0LHQvdC+0LLQu9C10L3QuNGPINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb24gdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIHVuZXhwZWN0ZWRseSIKK21zZ3N0ciAiaW9jdGwoKSDQsiAlcyDQtNC70Y8g0LLQutC70Y7Rh9C10L3QuNGPINC/0YDQtdGA0YvQstCw0L3QuNC5INC+0LHQvdC+0LLQu9C10L3QuNGPINC90LXQvtC20LjQtNCw0L3QvdC+INC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHNldCB0aGUgdGltZSBmYWlsZWQuIgorbXNnc3RyICJpb2N0bCgpINCyICVzINC00LvRjyDRg9GB0YLQsNC90L7QstC60Lgg0LLRgNC10LzQtdC90Lgg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB3YXMgc3VjY2Vzc2Z1bC5cbiIKK21zZ3N0ciAiaW9jdGwoJXMpINC30LDQstC10YDRiNC40LvRgdGPINGD0YHQv9C10YjQvdC+LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozODcKK21zZ2lkICJVc2luZyB0aGUgL2RldiBpbnRlcmZhY2UgdG8gdGhlIGNsb2NrLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MTcgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUbyBtYW5pcHVsYXRlIHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLCB3ZSBtdXN0IGFjY2VzcyB0aGUgTGludXggJ3J0YycgZGV2aWNlIGRyaXZlciB2aWEgdGhlIGRldmljZSBzcGVjaWFsIGZpbGUgJXMuICBUaGlzIGZpbGUgZG9lcyBub3QgZXhpc3Qgb24gdGhpcyBzeXN0ZW0uIgorbXNnc3RyICLQlNC70Y8g0LjQt9C80LXQvdC10L3QuNGPINC30L3QsNGH0LXQvdC40Y8g0LLQtdC60LAg0LIg0Y/QtNGA0LUg0L3QtdC+0LHRhdC+0LTQuNC80L4g0L/QvtC70YPRh9C40YLRjCDQtNC+0YHRgtGD0L8g0Log0LTRgNCw0LnQstC10YDRgyDRg9GB0YLRgNC+0LnRgdGC0LLQsCBMaW51eCAncnRjJyDQv9C+0YHRgNC10LTRgdGC0LLQvtC8INGB0L/QtdGG0LjQsNC70YzQvdC+0LPQviDRhNCw0LnQu9CwINGD0YHRgtGA0L7QudGB0YLQstCwICVzLiDQkiDQtNCw0L3QvdC+0Lkg0YHQuNGB0YLQtdC80LUg0Y3RgtC+0YIg0YTQsNC50Lsg0L7RgtGB0YPRgtGB0YLQstGD0LXRgi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDI5CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSB0byAlcyBmYWlsZWQiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSDQsiAlcyDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndlIGhhdmUgcmVhZCBlcG9jaCAlbHUgZnJvbSAlcyB3aXRoIFJUQ19FUE9DSF9SRUFEIGlvY3RsLlxuIgorbXNnc3RyICLQsdGL0Lsg0L/RgNC+0YfQuNGC0LDQvSDQstC10LogJWxkINC40LcgJXMg0YfQtdGA0LXQtyBSVENfRVBPQ0hfUkVBRCBpb2N0bC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgZXBvY2ggdmFsdWUgbWF5IG5vdCBiZSBsZXNzIHRoYW4gMTkwMC4gIFlvdSByZXF1ZXN0ZWQgJWxkIgorbXNnc3RyICLQl9C90LDRh9C10L3QuNC1INCy0LXQutCwINC90LUg0LzQvtC20LXRgiDQsdGL0YLRjCDQvNC10L3RjNGI0LUgMTkwMC4g0JLRiyDQt9Cw0L/RgNC+0YHQuNC70LggJWxkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBlcG9jaCB0byAlbHUgd2l0aCBSVENfRVBPQ0hfU0VUIGlvY3RsIHRvICVzLlxuIgorbXNnc3RyICLQstC10Log0YPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YLRgdGPINCyICVsZCDRgSBSVENfRVBPQ0hfU0VUIGlvY3RsINCyICVzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBrZXJuZWwgZGV2aWNlIGRyaXZlciBmb3IgJXMgZG9lcyBub3QgaGF2ZSB0aGUgUlRDX0VQT0NIX1NFVCBpb2N0bC4iCittc2dzdHIgItCU0YDQsNC50LLQtdGAINGD0YHRgtGA0L7QudGB0YLQstCwINGP0LTRgNCwINC00LvRjyAlcyDQvdC1INC40LzQtdC10YIgUlRDX0VQT0NIX1NFVCBpb2N0bC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKFJUQ19FUE9DSF9TRVQpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoUlRDX0VQT0NIX1NFVCkg0LIgJXMg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NjkKK21zZ2lkICJDcmVhdGUgdmFyaW91cyBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjcyCittc2dpZCAiIC1NLCAtLXNobWVtIDxzaXplPiAgICAgICBjcmVhdGUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IG9mIHNpemUgPHNpemU+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzMKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlIDxudW1iZXI+IGNyZWF0ZSBzZW1hcGhvcmUgYXJyYXkgd2l0aCA8bnVtYmVyPiBlbGVtZW50c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc0CisjLCBmdXp6eQorbXNnaWQgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgY3JlYXRlIG1lc3NhZ2UgcXVldWVcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgINCR0LXQtyDQvtCx0YvRh9C90YvRhSDQstGL0YXQvtC00L3Ri9GFINC00LDQvdC90YvRhVxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NQorbXNnaWQgIiAtcCwgLS1tb2RlIDxtb2RlPiAgICAgICAgcGVybWlzc2lvbiBmb3IgdGhlIHJlc291cmNlIChkZWZhdWx0IGlzIDA2NDQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTEwIHN5cy11dGlscy9sb3NldHVwLmM6Njk3IHN5cy11dGlscy96cmFtY3RsLmM6NjIyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVsZW1lbnRzIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDEKK21zZ2lkICJjcmVhdGUgc2hhcmUgbWVtb3J5IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNoYXJlZCBtZW1vcnkgaWQ6ICVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQodC10LPQvNC10L3RgiDRgdC+0LLQvC4g0LjRgdC/LiDQv9Cw0LzRj9GC0Lggc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQ5Cittc2dpZCAiY3JlYXRlIG1lc3NhZ2UgcXVldWUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBxdWV1ZSBpZDogJWRcbiIKK21zZ3N0ciAiIgorIlxuIgorItCe0YfQtdGA0LXQtNGMINGB0L7QvtCx0YnQtdC90LjQuSBtc3FpZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIHNlbWFwaG9yZSBmYWlsZWQiCittc2dzdHIgItCy0YvQtNC10LvQtdC90L4g0YHQtdC80LDRhNC+0YDQvtCyID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZW1hcGhvcmUgaWQ6ICVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQnNCw0YHRgdC40LIg0YHQtdC80LDRhNC+0YDQvtCyIHNlbWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPGlkPi4uLlxuIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogJXMgW9C+0L/RhtC40LhdINGD0YHRgtGA0L7QudGB0YLQstC+Li4uXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU0Cittc2dpZCAiUmVtb3ZlIGNlcnRhaW4gSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1NworbXNnaWQgIiAtbSwgLS1zaG1lbS1pZCA8aWQ+ICAgICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTgKK21zZ2lkICIgLU0sIC0tc2htZW0ta2V5IDxrZXk+ICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBrZXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OQorbXNnaWQgIiAtcSwgLS1xdWV1ZS1pZCA8aWQ+ICAgICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYwCittc2dpZCAiIC1RLCAtLXF1ZXVlLWtleSA8a2V5PiAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGtleVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYxCittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8aWQ+ICAgIHJlbW92ZSBzZW1hcGhvcmUgYnkgaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MgorbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUta2V5IDxrZXk+ICByZW1vdmUgc2VtYXBob3JlIGJ5IGtleVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYzCittc2dpZCAiIC1hLCAtLWFsbFs9c2htfG1zZ3xzZW1dICAgIHJlbW92ZSBhbGwgKGluIHRoZSBzcGVjaWZpZWQgY2F0ZWdvcnkpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDQktGL0LLQvtC0INC40L3RhNC+0YDQvNCw0YbQuNC4INC+INCy0LXRgNGB0LjQuFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVtb3Zpbmcgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGlkIGAlZCdcbiIKK21zZ3N0ciAiIgorIlxuIgorItCh0LXQs9C80LXQvdGCINGB0L7QstC8LiDQuNGB0L8uINC/0LDQvNGP0YLQuCBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVtb3ZpbmcgbWVzc2FnZSBxdWV1ZSBpZCBgJWQnXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQntGH0LXRgNC10LTRjCDRgdC+0L7QsdGJ0LXQvdC40LkgbXNxaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNlbWFwaG9yZSBpZCBgJWQnXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQnNCw0YHRgdC40LIg0YHQtdC80LDRhNC+0YDQvtCyIHNlbWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOCBzeXMtdXRpbHMvaXBjcm0uYzoyMjIKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3Iga2V5IgorbXNnc3RyICLQtNC70Y8g0LrQu9GO0YfQsCDQtNC+0YHRgtGD0L8g0LfQsNC/0YDQtdGJ0LXQvSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGlkIgorbXNnc3RyICLQtNC70Y8gaWQg0LTQvtGB0YLRg9C/INC30LDQv9GA0LXRidC10L0iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMSBzeXMtdXRpbHMvaXBjcm0uYzoyMjgKK21zZ2lkICJpbnZhbGlkIGtleSIKK21zZ3N0ciAi0L3QtdCy0LXRgNC90YvQuSDQutC70Y7RhyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExCittc2dpZCAiaW52YWxpZCBpZCIKK21zZ3N0ciAi0L3QtdCy0LXRgNC90YvQuSBpZCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0IHN5cy11dGlscy9pcGNybS5jOjIyNQorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBrZXkiCittc2dzdHIgItC60LvRjtGHINGD0LbQtSDRg9C00LDQu9C10L0iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNAorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBpZCIKK21zZ3N0ciAiaWQg0YPQttC1INGD0LTQsNC70LXQvSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE3IHN5cy11dGlscy9pcGNybS5jOjIzMQorIywgZnV6enkKK21zZ2lkICJrZXkgZmFpbGVkIgorbXNnc3RyICLQv9C+0LjRgdC6INC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNworIywgZnV6enkKK21zZ2lkICJpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEzNAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkOiAlcyIKK21zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzRi9C5IGlkOiAlcyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgInJlc291cmNlKHMpIGRlbGV0ZWRcbiIKK21zZ3N0ciAi0YDQtdGB0YPRgNGB0Yso0YspINGD0LTQsNC70LXQvSjRiylcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGtleSAoJXMpIgorbXNnc3RyICIlczog0L3QtdCy0LXRgNC90YvQuSDQutC70Y7RhyAoJXMpXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI1NgorIywgZnV6enkKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgItGP0LTRgNC+INC90LUg0L3QsNGB0YLRgNC+0LXQvdC+INC00LvRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjyDRgdC+0LLQvNC10YHRgtC90L4g0LjRgdC/0L7Qu9GM0LfRg9C10LzQvtC5INC/0LDQvNGP0YLQuFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNjkKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzIgorbXNnc3RyICLRj9C00YDQviDQvdC1INC90LDRgdGC0YDQvtC10L3QviDQvdCwINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC1INGB0LXQvNCw0YTQvtGA0L7QslxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyOTAKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAi0Y/QtNGA0L4g0L3QtSDQvdCw0YHRgtGA0L7QtdC90L4g0L3QsCDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtSDQvtGH0LXRgNC10LTQuCDRgdC+0L7QsdGJ0LXQvdC40LlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW3Jlc291cmNlLW9wdGlvbi4uLl0gW291dHB1dC1vcHRpb25dXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTYgc3lzLXV0aWxzL2xzaXBjLmM6MjgwCisjLCBmdXp6eQorbXNnaWQgIlNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMuXG4iCittc2dzdHIgIiVzINC/0YDQtdC00L7RgdGC0LDQstC70Y/QtdGCINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INGB0YDQtdC00YHRgtCy0LDRhSBpcGMsINC6INC60L7RgtC+0YDRi9C8INCy0Ysg0LjQvNC10LXRgtC1INC00L7RgdGC0YPQvyDQvdCwINGH0YLQtdC90LjQtS5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiLWkgaWQgWy1zIC1xIC1tXSA6INC/0L7QtNGA0L7QsdC90L7RgdGC0Lgg0L4g0YDQtdGB0YPRgNGB0LUsINC40LTQtdC90YLQuNGE0LjRhtC40YDQvtCy0LDQvdC90L7QvCDQv9C+IGlkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQgc3lzLXV0aWxzL2xzaXBjLmM6MjgzCisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIG9wdGlvbnM6XG4iCittc2dzdHIgItCf0L7Qu9C10LfQvdGL0LUg0L7Qv9GG0LjQuDoiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUgc3lzLXV0aWxzL2xzaXBjLmM6Mjg0Cittc2dpZCAiIC1tLCAtLXNobWVtcyAgICAgIHNoYXJlZCBtZW1vcnkgc2VnbWVudHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY2IHN5cy11dGlscy9sc2lwYy5jOjI4NQorbXNnaWQgIiAtcSwgLS1xdWV1ZXMgICAgICBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Njcgc3lzLXV0aWxzL2xzaXBjLmM6Mjg2Cittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZXMgIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgIGFsbCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcxCisjLCBmdXp6eQorbXNnaWQgIk91dHB1dCBvcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQg0YDQsNC30LTQtdC70Ys6XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzIKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MworbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICBzaG93IFBJRHMgb2YgY3JlYXRvciBhbmQgbGFzdCBvcGVyYXRvclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzQKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzUKK21zZ2lkICIgLWwsIC0tbGltaXRzICAgICAgc2hvdyByZXNvdXJjZSBsaW1pdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc2Cittc2dpZCAiIC11LCAtLXN1bW1hcnkgICAgIHNob3cgc3RhdHVzIHN1bW1hcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc3Cittc2dpZCAiICAgICAtLWh1bWFuICAgICAgIHNob3cgc2l6ZXMgaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3OAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICBzaG93IHNpemVzIGluIGJ5dGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoxNjQKK21zZ2lkICJ3aGVuIHVzaW5nIGFuIElELCBhIHNpbmdsZSByZXNvdXJjZSBtdXN0IGJlIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNoYXJlZCBtZW1vcnkgbGltaXRzXG4iCittc2dzdHIgItC80LDQutGB0LjQvNGD0Lwg0YHRg9C80LzQsNGA0L3QvtC5INGB0L7QstC8LiDQuNGB0L8uINC/0LDQvNGP0YLQuCAo0LrQsdCw0LnRgikgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDQn9GA0LXQtNC10LvRiyDRgdC+0LLQvC4g0LjRgdC/LiDQv9Cw0LzRj9GC0LggLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2Ygc2VnbWVudHMgPSAlanVcbiIKK21zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3QvtC1INC60L7Qu9C40YfQtdGB0YLQstC+INGB0LXQs9C80LXQvdGC0L7QsiA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwOQorIywgZnV6enkKK21zZ2lkICJtYXggc2VnIHNpemUiCittc2dzdHIgItC90LXQstC10YDQvdGL0Lkg0YDQsNC30LzQtdGAIGlub2RlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxMQorIywgZnV6enkKK21zZ2lkICJtYXggdG90YWwgc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAi0LzQsNC60YHQuNC80YPQvCDRgdGD0LzQvNCw0YDQvdC+0Lkg0YHQvtCy0LwuINC40YHQvy4g0L/QsNC80Y/RgtC4ICjQutCx0LDQudGCKSA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxNAorIywgZnV6enkKK21zZ2lkICJtaW4gc2VnIHNpemUiCittc2dzdHIgItC80LjQvdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAINGB0LXQs9C80LXQvdGC0LAgKNCx0LDQudGCKSA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIyNgorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnlcbiIKK21zZ3N0ciAi0Y/QtNGA0L4g0L3QtSDQvdCw0YHRgtGA0L7QtdC90L4g0LTQu9GPINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGPINGB0L7QstC80LXRgdGC0L3QviDQuNGB0L/QvtC70YzQt9GD0LXQvNC+0Lkg0L/QsNC80Y/RgtC4XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g0KHQvtGB0YLQvtGP0L3QuNC1INGB0L7QstC8LiDQuNGB0L8uINC/0LDQvNGP0YLQuCAtLS0tLS0tLVxuIgorCisjLiBUUkFOU0xBVE9SUzogVGhpcyBvdXRwdXQgZm9ybWF0IGlzIG1haW50YWluZWQgZm9yIGJhY2t3YXJkCisjLiBjb21wYXRpYmlsaXR5IGFzIGlwY3MgaXMgdXNlZCBpbiBzY3JpcHRzLiBGb3IgY29uc2lzdGVuY3kKKyMuIHdpdGggdGhlIHJlc3QsIHRoZSB0cmFuc2xhdGVkIGZvcm0gY2FuIGZvbGxvdyB0aGlzIG1vZGVsOgorIy4gKgorIy4gInNlZ21lbnRzIGFsbG9jYXRlZCA9ICVkXG4iCisjLiAicGFnZXMgYWxsb2NhdGVkID0gJWxkXG4iCisjLiAicGFnZXMgcmVzaWRlbnQgPSAlbGRcbiIKKyMuICJwYWdlcyBzd2FwcGVkID0gJWxkXG4iCisjLiAic3dhcCBwZXJmb3JtYW5jZSA9ICVsZCBhdHRlbXB0cywgJWxkIHN1Y2Nlc3Nlc1xuIgorIy4KKyM6IHN5cy11dGlscy9pcGNzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyJwYWdlcyBhbGxvY2F0ZWQgJWxkXG4iCisicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorInBhZ2VzIHN3YXBwZWQgICAlbGRcbiIKKyJTd2FwIHBlcmZvcm1hbmNlOiAlbGQgYXR0ZW1wdHNcdCAlbGQgc3VjY2Vzc2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tINCh0L7Qt9C00LDRgtC10LvQuC/QstC70LDQtNC10LvRjNGG0Ysg0YHQtdCz0LzQtdC90YLQsCDRgdC+0LLQvC4g0LjRgdC/LiDQv9Cw0LzRj9GC0LggLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyNzQKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwCittc2dpZCAic2htaWQiCittc2dzdHIgInNobWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjI4MCBzeXMtdXRpbHMvaXBjcy5jOjM4NgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo0ODkgc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJwZXJtcyIKK21zZ3N0ciAi0L/RgNCw0LLQsCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJjdWlkIgorbXNnc3RyICJjdWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgImNnaWQiCittc2dzdHIgImNnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAidWlkIgorbXNnc3RyICJ1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiZ2lkIgorbXNnc3RyICJnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IEF0dGFjaC9EZXRhY2gvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDQp9C40YHQu9C+INC/0L7QtNC60LvRjtGH0LXQvdC40Lkv0L7RgtC60LvRjtGH0LXQvdC40Lkv0LjQt9C80LXQvdC10L3QuNGPINGB0L7QstC8LiDQuNGB0L8uINC/0LDQvNGP0YLQuCAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI3NCBzeXMtdXRpbHMvaXBjcy5jOjI4MAorIzogc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo0OTUKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxIHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAib3duZXIiCittc2dzdHIgItCy0LvQsNC00LXQu9C10YYiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3Cittc2dpZCAiYXR0YWNoZWQiCittc2dzdHIgItC/0L7QtNC60LvRjtGH0LXQvdC+IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NworbXNnaWQgImRldGFjaGVkIgorbXNnc3RyICLQvtGC0LrQu9GO0YfQtdC90L4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY4Cittc2dpZCAiY2hhbmdlZCIKK21zZ3N0ciAi0LjQt9C80LXQvdC10L3QviIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IENyZWF0b3IvTGFzdC1vcCBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDQodC+0LfQtNCw0YLQtdC70Ywv0L/QvtGB0LvQtdC00L3Rj9GPINC+0L/QtdGA0LDRhtC40Y8g0YHQvtCy0LwuINC40YHQvy4g0L/QsNC80Y/RgtC4IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc0Cittc2dpZCAiY3BpZCIKK21zZ3N0ciAiY3BpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzQKK21zZ2lkICJscGlkIgorbXNnc3RyICJscGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g0KHQtdCz0LzQtdC90YLRiyDRgdC+0LLQvC4g0LjRgdC/LiDQv9Cw0LzRj9GC0LggLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJrZXkiCittc2dzdHIgItC60LvRjtGHIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MSBzeXMtdXRpbHMvaXBjcy5jOjUwOAorbXNnaWQgInNpemUiCittc2dzdHIgItGA0LDQt9C80LXRgCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODEgc3lzLXV0aWxzL3BybGltaXQuYzo3NSBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4IHN5cy11dGlscy9wcmxpbWl0LmM6Nzkgc3lzLXV0aWxzL3BybGltaXQuYzo4MQorIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJieXRlcyIKK21zZ3N0ciAi0LHQsNC50YLRiyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODIKK21zZ2lkICJuYXR0Y2giCittc2dzdHIgIm5hdHRjaCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODIKK21zZ2lkICJzdGF0dXMiCittc2dzdHIgItGB0L7RgdGC0L7Rj9C90LjQtSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMDYgc3lzLXV0aWxzL2lwY3MuYzozMDggc3lzLXV0aWxzL2lwY3MuYzozMTAKKyM6IHN5cy11dGlscy9pcGNzLmM6NDI0IHN5cy11dGlscy9pcGNzLmM6NDI2IHN5cy11dGlscy9pcGNzLmM6NTMyCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUzNCBzeXMtdXRpbHMvaXBjcy5jOjUzNiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorIzogc3lzLXV0aWxzL2lwY3MuYzo1OTIgc3lzLXV0aWxzL2lwY3MuYzo2MjEgc3lzLXV0aWxzL2lwY3MuYzo2MjMKKyM6IHN5cy11dGlscy9pcGNzLmM6NjI1IHN5cy11dGlscy9pcGNzLmM6NjQ5Cittc2dpZCAiTm90IHNldCIKK21zZ3N0ciAi0J3QtSDRg9GB0YLQsNC90L7QstC70LXQvSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMzYgc3lzLXV0aWxzL2xzaXBjLmM6OTc2IHN5cy11dGlscy9sc2lwYy5jOjk4MgorbXNnaWQgImRlc3QiCittc2dzdHIgItC90LDQt9C90LDRh9C10L3QuNC1IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMzNyBzeXMtdXRpbHMvbHNpcGMuYzo5Nzcgc3lzLXV0aWxzL2xzaXBjLmM6OTkwCittc2dpZCAibG9ja2VkIgorbXNnc3RyICLQt9Cw0LHQu9C+0LrQuNGA0L7QstCw0L0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2VtYXBob3JlIGxpbWl0c1xuIgorbXNnc3RyICLQntGI0LjQsdC60LAg0LfQsNC/0LjRgdC4INGA0LDQt9C00LXQu9CwINC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tINCf0YDQtdC00LXQu9GLINGB0LXQvNCw0YTQvtGA0L7QsiAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MQorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIGFycmF5cyA9ICVkXG4iCittc2dzdHIgItC80LDQutGB0LjQvNCw0LvRjNC90L7QtSDQutC+0LvQuNGH0LXRgdGC0LLQviDQvNCw0YHRgdC40LLQvtCyID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgcGVyIGFycmF5ID0gJWRcbiIKK21zZ3N0ciAi0LzQsNC60YHQuNC80YPQvCDRgdC10LzQsNGE0L7RgNC+0LIg0L3QsCDQvNCw0YHRgdC40LIgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgItC80LDQutGB0LjQvNGD0Lwg0YHQtdC80LDRhNC+0YDQvtCyINC90LAg0LLRgdGOINGB0LjRgdGC0LXQvNGDID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG9wcyBwZXIgc2Vtb3AgY2FsbCA9ICVkXG4iCittc2dzdHIgItC80LDQutGB0LjQvNGD0Lwg0L7Qv9C10YDQsNGG0LjQuSDQvdCwINCy0YvQt9C+0LIg0YHQtdC80LDRhNC+0YDQsCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY1CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbWFwaG9yZSBtYXggdmFsdWUgPSAldVxuIgorbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDRgdC10LzQsNGE0L7RgNCwID0gJXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzXG4iCittc2dzdHIgItGP0LTRgNC+INC90LUg0L3QsNGB0YLRgNC+0LXQvdC+INC90LAg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LUg0YHQtdC80LDRhNC+0YDQvtCyXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDQodC+0YHRgtC+0Y/QvdC40LUg0YHQtdC80LDRhNC+0YDQsCAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGFycmF5cyA9ICVkXG4iCittc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0L3QviDQvNCw0YHRgdC40LLQvtCyID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHNlbWFwaG9yZXMgPSAlZFxuIgorbXNnc3RyICLQstGL0LTQtdC70LXQvdC+INGB0LXQvNCw0YTQvtGA0L7QsiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g0KHQvtC30LTQsNGC0LXQu9C4L9Cy0LvQsNC00LXQu9GM0YbRiyDQvNCw0YHRgdC40LLQvtCyINGB0LXQvNCw0YTQvtGA0L7QsiAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQwMQorbXNnaWQgInNlbWlkIgorbXNnc3RyICJzZW1pZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgT3BlcmF0aW9uL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g0JrQvtC70LjRh9C10YHRgtCy0L4g0L7Qv9C10YDQsNGG0LjQuS/QuNC30LzQtdC90LXQvdC40Lkg0YHQvtCy0LwuINC40YHQvy4g0L/QsNC80Y/RgtC4IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyCittc2dpZCAibGFzdC1vcCIKK21zZ3N0ciAi0L/QvtGB0LvQtdC00L3Rj9GPINC+0L/QtdGA0LDRhtC40Y8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyCittc2dpZCAibGFzdC1jaGFuZ2VkIgorbXNnc3RyICLQv9C+0YHQu9C10LTQvdC10LUg0LjQt9C80LXQvdC10L3QuNC1IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g0JzQsNGB0YHQuNCy0Ysg0YHQtdC80LDRhNC+0YDQvtCyIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDAxCittc2dpZCAibnNlbXMiCittc2dzdHIgIm5zZW1zIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIG1lc3NhZ2UgbGltaXRzXG4iCittc2dzdHIgItCa0L7Qu9C40YfQtdGB0YLQstC+INCz0L7Qu9C+0LLQvtC6IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g0KHQvtC+0LHRidC10L3QuNGPOiDQn9GA0LXQtNC10LvRiyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggcXVldWVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAi0LzQsNC60YHQuNC80YPQvCDQvtGH0LXRgNC10LTQtdC5INC00LvRjyDQstGB0LXQuSDRgdC40YHRgtC10LzRiyA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY1Cittc2dpZCAibWF4IHNpemUgb2YgbWVzc2FnZSIKK21zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3Ri9C5INGA0LDQt9C80LXRgCDRgdC+0L7QsdGJ0LXQvdC40Y8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY3Cittc2dpZCAiZGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSIKK21zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3Ri9C5INC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOINGA0LDQt9C80LXRgCDRgdC+0L7QsdGJ0LXQvdC40Y8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAi0Y/QtNGA0L4g0L3QtSDQvdCw0YHRgtGA0L7QtdC90L4g0L3QsCDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtSDQvtGH0LXRgNC10LTQuCDRgdC+0L7QsdGJ0LXQvdC40LlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tINCh0L7QvtCx0YnQtdC90LjRjzog0KHQvtGB0YLQvtGP0L3QuNC1LS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHF1ZXVlcyA9ICVkXG4iCittc2dzdHIgItCy0YvQtNC10LvQtdC90L4g0L7Rh9C10YDQtdC00LXQuSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgaGVhZGVycyA9ICVkXG4iCittc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0L3QviDQt9Cw0LPQvtC70L7QstC60L7QsiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgyCittc2dpZCAidXNlZCBzcGFjZSIKK21zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC+INC/0YDQvtGB0YLRgNCw0L3RgdGC0LLQsCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODMKK21zZ2lkICIgYnl0ZXNcbiIKK21zZ3N0ciAiINCx0LDQudGCXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDQntGH0LXRgNC10LTQuCDRgdC+0L7QsdGJ0LXQvdC40Lk6INCh0L7Qt9C00LDRgtC10LvQuC/QstC70LDQtNC10LvRjNGG0YstLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OSBzeXMtdXRpbHMvaXBjcy5jOjQ5NSBzeXMtdXRpbHMvaXBjcy5jOjUwMQorIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJtc3FpZCIKK21zZ3N0ciAibXNxaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBTZW5kL1JlY3YvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDQmtC+0LvQuNGH0LXRgdGC0LLQviDQvtGC0L/RgNCw0LLQu9C10L3QuNC5L9C/0YDQuNC10LzQsC/QuNC30LzQtdC90LXQvdC40Lkg0L7Rh9C10YDQtdC00Lgg0YHQvtC+0LHRidC10L3QuNC5IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAic2VuZCIKK21zZ3N0ciAi0L7RgtC/0YDQsNCy0LvQtdC90L4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAicmVjdiIKK21zZ3N0ciAi0L/RgNC40L3Rj9GC0L4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiY2hhbmdlIgorbXNnc3RyICLQuNC30LzQtdC90LXQvdC+IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gUElEJ9GLINC+0YfQtdGA0LXQtNC4INGB0L7QvtCx0YnQtdC90LjQuSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImxzcGlkIgorbXNnc3RyICJsc3BpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJscnBpZCIKK21zZ3N0ciAibHJwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g0J7Rh9C10YDQtdC00Lgg0YHQvtC+0LHRidC10L3QuNC5IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA4Cittc2dpZCAidXNlZC1ieXRlcyIKK21zZ3N0ciAi0LjRgdC/LiDQsdCw0LnRgtGLIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwOQorbXNnaWQgIm1lc3NhZ2VzIgorbXNnc3RyICLRgdC+0L7QsdGJ0LXQvdC40Y8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc0IHN5cy11dGlscy9pcGNzLmM6NjA0IHN5cy11dGlscy9pcGNzLmM6NjM3CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo1MzYgc3lzLXV0aWxzL2xzaXBjLmM6NzIyIHN5cy11dGlscy9sc2lwYy5jOjg3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWQgJWQgbm90IGZvdW5kIgorbXNnc3RyICJ1bW91bnQ6ICVzOiDQvdC1INC90LDQudC00LXQvSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZCBtZW1vcnkgU2VnbWVudCBzaG1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisi0KHQtdCz0LzQtdC90YIg0YHQvtCy0LwuINC40YHQvy4g0L/QsNC80Y/RgtC4IHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVxuIgorbXNnc3RyICJ1aWQ9JWRcdGdpZD0lZFx0Y3VpZD0lZFx0Y2dpZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjb1x0YWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICLRgNC10LbQuNC8PSUjb1x00L/RgNCw0LLQsF/QtNC+0YHRgtGD0L/QsD0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODQKK21zZ2lkICJzaXplPSIKK21zZ3N0ciAi0YDQsNC30LzQtdGAPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODQKK21zZ2lkICJieXRlcz0iCittc2dzdHIgItCx0LDQudGC0YsiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJscGlkPSV1XHRjcGlkPSV1XHRuYXR0Y2g9JWpkXG4iCittc2dzdHIgItCx0LDQudGC0Ys9JWxkXHRscGlkPSVkXHRjcGlkPSVkXHRuYXR0Y2g9JWxkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgImF0dF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgItCy0YDQtdC80Y9f0L/QvtC00LrQuz0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MQorIywgYy1mb3JtYXQKK21zZ2lkICJkZXRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICLQstGA0LXQvNGPX9C+0YLQutC7PSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkzIHN5cy11dGlscy9pcGNzLmM6NjI0CisjLCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZV90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgItCy0YDQtdC80Y9f0LjQt9C80LXQvT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZSBRdWV1ZSBtc3FpZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisi0J7Rh9C10YDQtdC00Ywg0YHQvtC+0LHRidC10L3QuNC5IG1zcWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjA5CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHRtb2RlPSUjb1xuIgorbXNnc3RyICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVx00YDQtdC20LjQvD0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTMKK21zZ2lkICJjc2l6ZT0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTMKKyMsIGZ1enp5Cittc2dpZCAiY2J5dGVzPSIKK21zZ3N0ciAi0LHQsNC50YLRiyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKK21zZ2lkICJxc2l6ZT0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKKyMsIGZ1enp5Cittc2dpZCAicWJ5dGVzPSIKK21zZ3N0ciAi0LHQsNC50YLRiyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgItCy0YDQtdC80Y9f0L7RgtC/0YDQsNCy0LrQuD0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJyY3ZfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICLQstGA0LXQvNGPX9C/0L7Qu9GD0YfQtdC90LjRjz0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIEFycmF5IHNlbWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQnNCw0YHRgdC40LIg0YHQtdC80LDRhNC+0YDQvtCyIHNlbWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0IGdpZD0ldVx0IGN1aWQ9JXVcdCBjZ2lkPSV1XG4iCittc2dzdHIgInVpZD0ldVx0IGdpZD0ldVx0IGN1aWQ9JXVcdCBjZ2lkPSV1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvLCBhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgItGA0LXQttC40Lw9JSNvLCDQv9GA0LDQstCwX9C00L7RgdGC0YPQv9CwPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibnNlbXMgPSAlanVcbiIKK21zZ3N0ciAi0Lot0LLQvl/RgdC10LwgPSAlbGRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAib3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICLQstGA0LXQvNGPX9C+0L/QtdGAID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICLQstGA0LXQvNGPX9C40LfQvD0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJzZW1udW0iCittc2dzdHIgItGH0LjRgdC70L4g0YHQtdC80LDRhNC+0YDQvtCyIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInZhbHVlIgorbXNnc3RyICLQt9C90LDRh9C10L3QuNC1IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgIm5jb3VudCIKK21zZ3N0ciAibmNvdW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInpjb3VudCIKK21zZ3N0ciAiemNvdW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInBpZCIKK21zZ3N0ciAicGlkIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzAgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM0IHN5cy11dGlscy9pcGN1dGlscy5jOjIzOAorIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQiCittc2dzdHIgItC/0L7QuNGB0Log0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoYnl0ZXMpID0gIgorbXNnc3RyICLQsdCw0LnRgtGLIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIChrYnl0ZXMpID0gIgorbXNnc3RyICLQsdCw0LnRgtGLIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxODAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBpZmxhZyIKK21zZ3N0ciAi0L3QtdCy0LXRgNC90YvQuSBpZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxsZGlzYz4gPGRldmljZT5cbiIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzIFvQvtC/0YbQuNC4XSDRg9GB0YLRgNC+0LnRgdGC0LLQvi4uLlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxOTkKK21zZ2lkICJBdHRhY2ggYSBsaW5lIGRpc2NpcGxpbmUgdG8gYSBzZXJpYWwgbGluZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDIKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBtZXNzYWdlcyB0byBzdGRlcnJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDMKK21zZ2lkICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAgc2V0IHNlcmlhbCBsaW5lIHNwZWVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA0Cittc2dpZCAiIC1jLCAtLWludHJvLWNvbW1hbmQgPHN0cmluZz4gaW50cm8gc2VudCBiZWZvcmUgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDUKK21zZ2lkICIgLXAsIC0tcGF1c2UgPHNlY29uZHM+ICAgcGF1c2UgYmV0d2VlbiBpbnRybyBhbmQgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDYKK21zZ2lkICIgLTcsIC0tc2V2ZW5iaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDcgYml0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNworbXNnaWQgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gOCBiaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA4Cittc2dpZCAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIHNldCBwYXJpdHkgdG8gbm9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOQorbXNnaWQgIiAtZSwgLS1ldmVucGFyaXR5ICAgICAgICBzZXQgcGFyaXR5IHRvIGV2ZW5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTAKK21zZ2lkICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAgc2V0IHBhcml0eSB0byBvZGRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTEKK21zZ2lkICIgLTEsIC0tb25lc3RvcGJpdCAgICAgICAgc2V0IHN0b3AgYml0cyB0byBvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTIKK21zZ2lkICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAgc2V0IHN0b3AgYml0cyB0byB0d29cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTMKK21zZ2lkICIgLWksIC0taWZsYWcgWy1dPGlmbGFnPiAgc2V0IGlucHV0IG1vZGUgZmxhZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxOQorbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8bGRpc2M+IG5hbWVzOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIyMworbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8aWZsYWc+IG5hbWVzOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNwZWVkIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LLQtdGA0L3Ri9C5IGlkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwYXVzZSBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzRi9C5INCw0YDQs9GD0LzQtdC90YIg0LPQvtC70L7QstC+0LoiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM1OQorbXNnaWQgImludmFsaWQgb3B0aW9uIgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0L/QsNGA0LDQvNC10YLRgCIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzcwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbGluZSBkaXNjaXBsaW5lIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LLQtdGA0L3Ri9C5IGlkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHNlcmlhbCBsaW5lIgorbXNnc3RyICIlcyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0L7RgdC+0LHRi9C8INCx0LvQvtGH0L3Ri9C8INGD0YHRgtGA0L7QudGB0YLQstC+0LwiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L/QvtC70YPRh9C40YLRjCDRgNCw0LfQvNC10YAgJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVlZCAlZCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSBpbnRybyBjb21tYW5kIHRvICVzIgorbXNnc3RyICLQvdC1INGD0LTQsNGR0YLRgdGPINGB0L7Qt9C00LDRgtGMINC60LDRgtCw0LvQvtCzICVzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NjkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBsaW5lIGRpc2NpcGxpbmUiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INC90LDQudGC0Lgg0L3QsCDQtNC40YHQutC+0LLQvtC8INC90LDQutC+0L/QuNGC0LXQu9C1IgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NzkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGRhZW1vbml6ZSIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgJXMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjgKK21zZ2lkICJhdXRvY2xlYXIgZmxhZyBzZXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2OQorbXNnaWQgImRldmljZSBiYWNraW5nIGZpbGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MAorbXNnaWQgImJhY2tpbmcgZmlsZSBpbm9kZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MQorbXNnaWQgImJhY2tpbmcgZmlsZSBtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzIKKyMsIGZ1enp5Cittc2dpZCAibG9vcCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAi0LHQu9C+0YfQvdC+0LUg0YPRgdGC0YDQvtC50YHRgtCy0L4gIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjczCittc2dpZCAib2Zmc2V0IGZyb20gdGhlIGJlZ2lubmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc0Cittc2dpZCAicGFydHNjYW4gZmxhZyBzZXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NgorbXNnaWQgInNpemUgbGltaXQgb2YgdGhlIGZpbGUgaW4gYnl0ZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NworbXNnaWQgImxvb3AgZGV2aWNlIG1ham9yOm1pbm9yIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4Cittc2dpZCAiYWNjZXNzIGJhY2tpbmcgZmlsZSB3aXRoIGRpcmVjdC1pbyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzNSBzeXMtdXRpbHMvbG9zZXR1cC5jOjE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCBvZmZzZXQgJWp1IgorbXNnc3RyICIsINGB0LzQtdGJ0LXQvdC40LUgJWQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM4IHN5cy11dGlscy9sb3NldHVwLmM6MTUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsIHNpemVsaW1pdCAlanUiCittc2dzdHIgIiwg0L7Qs9GA0LDQvdC40YfQtdC90LjQtSDQvdCwINGA0LDQt9C80LXRgCAlbGxkIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCBlbmNyeXB0aW9uICVzICh0eXBlICV1KSIKK21zZ3N0ciAiLCDRiNC40YTRgNC+0LLQsNC90LjQtSAlcyAo0YLQuNC/ICVkKSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZXRhY2ggZmFpbGVkIgorbXNnc3RyICIlcyDRgdC+0YHRgtC+0Y/QvdC40LUgLSAlZCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozMjkgc3lzLXV0aWxzL2xzY3B1LmM6MTczNSBzeXMtdXRpbHMvcHJsaW1pdC5jOjIyOQorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjE3NiBzeXMtdXRpbHMvd2RjdGwuYzoyMTUgc3lzLXV0aWxzL3pyYW1jdGwuYzo0MDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGxpbmUiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INCy0YvQtNC10LvQuNGC0Ywg0LHRg9GE0LXRgC5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSBbPGxvb3BkZXY+XVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxsb29wZGV2PiA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM4NgorbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCBsb29wIGRldmljZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODkKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAg0K3RgtC+INC90LXQsdC+0LvRjNGI0L7QtSDRgNGD0LrQvtCy0L7QtNGB0YLQstC+INC/0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTAKK21zZ2lkICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2Pi4uLiAgICAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MQorIywgZnV6enkKK21zZ2lkICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgINCt0YLQviDQvdC10LHQvtC70YzRiNC+0LUg0YDRg9C60L7QstC+0LTRgdGC0LLQviDQv9C+INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGOXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICBmaW5kIGZpcnN0IHVudXNlZCBkZXZpY2VcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgINCt0YLQviDQvdC10LHQvtC70YzRiNC+0LUg0YDRg9C60L7QstC+0LTRgdGC0LLQviDQv9C+INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGOXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkzCittc2dpZCAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcGRldj4gIHJlc2l6ZSB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTQKK21zZ2lkICIgLWosIC0tYXNzb2NpYXRlZCA8ZmlsZT4gICAgICAgbGlzdCBhbGwgZGV2aWNlcyBhc3NvY2lhdGVkIHdpdGggPGZpbGU+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTUKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLW5vb3ZlcmxhcCAgICAgICAgICAgICAgIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0IGJldHdlZW4gZGV2aWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAg0K3RgtC+INC90LXQsdC+0LvRjNGI0L7QtSDRgNGD0LrQvtCy0L7QtNGB0YLQstC+INC/0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAwCittc2dpZCAiICAgICAtLXNpemVsaW1pdCA8bnVtPiAgICAgICAgIGRldmljZSBpcyBsaW1pdGVkIHRvIDxudW0+IGJ5dGVzIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDEKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAgbiAgICAgICAgICDQodC+0LfQtNCw0L3QuNC1INC90L7QstC+0LPQviDRgNCw0LfQtNC10LvQsCDQvdCwINGB0LLQvtCx0L7QtNC90L7QvCDQv9GA0L7RgdGC0YDQsNC90YHRgtCy0LUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAyCittc2dpZCAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgICAgIHNldCB1cCBhIHJlYWQtb25seSBsb29wIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAzCittc2dpZCAiICAgICAtLWRpcmVjdC1pb1s9PG9ufG9mZj5dICAgIG9wZW4gYmFja2luZyBmaWxlIHdpdGggT19ESVJFQ1RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNAorbXNnaWQgIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSBhZnRlciBzZXR1cCAod2l0aCAtZilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDQktGL0LLQvtC0INC40L3RhNC+0YDQvNCw0YbQuNC4INC+INCy0LXRgNGB0LjQuFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwOQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgbGlzdCBpbmZvIGFib3V0IGFsbCBvciBzcGVjaWZpZWQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICDQrdGC0L4g0L3QtdCx0L7Qu9GM0YjQvtC1INGA0YPQutC+0LLQvtC00YHRgtCy0L4g0L/QviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMAorbXNnaWQgIiAtTywgLS1vdXRwdXQgPGNvbHM+ICAgICAgICAgICBzcGVjaWZ5IGNvbHVtbnMgdG8gb3V0cHV0IGZvciAtLWxpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tbGlzdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1c2UgcmF3IC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICDQndC1INC30LDQutC70Y7Rh9Cw0YLRjCDQsiDQutCw0LLRi9GH0LrQuCDQstGL0YXQvtC00L3Ri9C1INC00LDQvdC90YvQtVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMworIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgLS1saXN0IGNvbHVtbnM6XG4iCittc2dzdHIgItCU0L7RgdGC0YPQv9C90YvQtSDQutC+0LzQsNC90LTRizpcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFdhcm5pbmc6IGZpbGUgaXMgc21hbGxlciB0aGFuIDUxMiBieXRlczsgdGhlIGxvb3AgZGV2aWNlIG1heSBiZSB1c2VsZXNzIG9yIGludmlzaWJsZSBmb3Igc3lzdGVtIHRvb2xzLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBkb2VzIG5vdCBmaXQgaW50byBhIDUxMi1ieXRlIHNlY3RvcjsgdGhlIGVuZCBvZiB0aGUgZmlsZSB3aWxsIGJlIGlnbm9yZWQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDY0IHN5cy11dGlscy9sb3NldHVwLmM6NTE2IHN5cy11dGlscy9tb3VudC5jOjQ1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiJXMg0L3QtSBscC3Rg9GB0YLRgNC+0LnRgdGC0LLQviIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIHJlYWQtb25seSBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGVuY3J5cHRlZCBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmUtdXNlIGxvb3AgZGV2aWNlIgorbXNnc3RyICJtb3VudDog0YPRgdGC0LDQvdC+0LLQutCwINGD0YHRgtGA0L7QudGB0YLQstCwINC+0LHRgNCw0YLQvdC+0Lkg0YHQstGP0LfQuCDQt9Cw0LLQtdGA0YjQuNC70LDRgdGMINC90LXRg9C00LDRh9C10LlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0OTQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluc3BlY3QgbG9vcCBkZXZpY2VzIgorbXNnc3RyICJtb3VudDog0YPRgdGC0LDQvdC+0LLQutCwINGD0YHRgtGA0L7QudGB0YLQstCwINC+0LHRgNCw0YLQvdC+0Lkg0YHQstGP0LfQuCDQt9Cw0LLQtdGA0YjQuNC70LDRgdGMINC90LXRg9C00LDRh9C10LlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY2hlY2sgZm9yIGNvbmZsaWN0aW5nIGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAibW91bnQ6INGD0YHRgtCw0L3QvtCy0LrQsCDRg9GB0YLRgNC+0LnRgdGC0LLQsCDQvtCx0YDQsNGC0L3QvtC5INGB0LLRj9C30Lgg0LfQsNCy0LXRgNGI0LjQu9Cw0YHRjCDQvdC10YPQtNCw0YfQtdC5XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTI5IHN5cy11dGlscy9sb3NldHVwLmM6ODI2CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmaW5kIGFuIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC90LDQudGC0Lgg0L3QuCDQvtC00L3QvtCz0L4g0YHQstC+0LHQvtC00L3QvtCz0L4g0YPRgdGC0YDQvtC50YHRgtCy0LAg0L7QsdGA0LDRgtC90L7QuSDRgdCy0Y/Qt9C4IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgYmFja2luZyBmaWxlIgorbXNnc3RyICJpb2N0bCgpINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10Lkg0L/RgNC4INGH0YLQtdC90LjQuCDQstGA0LXQvNC10L3QuCDQuNC3ICVzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjYzMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjY0MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1MworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3Njcgc3lzLXV0aWxzL2xvc2V0dXAuYzo4MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGRldmljZSIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L/QtdGA0LXQvNC+0YLQsNGC0Ywg0YPRgdGC0YDQvtC50YHRgtCy0L4g0LTQu9GPINGB0LLQvtC/0LjQvdCz0LAiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzY0CisjLCBmdXp6eQorbXNnaWQgIm5vIGxvb3AgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAibW91bnQ6INGD0YHRgtGA0L7QudGB0YLQstC+INC+0LHRgNCw0YLQvdC+0Lkg0YHQstGP0LfQuCDRg9C60LDQt9Cw0L3QviDQtNCy0LDQttC00YsiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzcyCisjLCBmdXp6eQorbXNnaWQgIm5vIGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICLQndC1INGD0LrQsNC30LDQvdCwINC+0L/RhtC40Y8gLS1kYXRlLlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgb3B0aW9ucyAlcyBhcmUgYWxsb3dlZCBkdXJpbmcgbG9vcCBkZXZpY2Ugc2V0dXAgb25seSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4NAorbXNnaWQgInRoZSBvcHRpb24gLS1vZmZzZXQgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGNhcGFjaXR5IGZhaWxlZCIKK21zZ3N0ciAiJXMg0YHQvtGB0YLQvtGP0L3QuNC1IC0gJWQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGRpcmVjdCBpbyBmYWlsZWQiCittc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LnRgtC4INCyINC60LDRgtCw0LvQvtCzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMDgKK21zZ2lkICJub25lIgorbXNnc3RyICLQvdC10YIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjEwOQorbXNnaWQgInBhcmEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTEwCittc2dpZCAiZnVsbCIKK21zZ3N0ciAi0L/QvtC70L3Ri9C5IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMTEKK21zZ2lkICJjb250YWluZXIiCittc2dzdHIgItC60L7QvdGC0LXQudC90LXRgCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTczCittc2dpZCAiaG9yaXpvbnRhbCIKK21zZ3N0ciAi0LPQvtGA0LjQt9C+0L3RgtCw0LvRjNC90YvQuSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0Cittc2dpZCAidmVydGljYWwiCittc2dzdHIgItCy0LXRgNGC0LjQutCw0LvRjNC90YvQuSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ2Cittc2dpZCAibG9naWNhbCBDUFUgbnVtYmVyIgorbXNnc3RyICLQvdC+0LzQtdGAINC70L7Qs9C40YfQtdGB0LrQvtCz0L4g0KbQn9CjIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDcKK21zZ2lkICJsb2dpY2FsIGNvcmUgbnVtYmVyIgorbXNnc3RyICLQvdC+0LzQtdGAINC70L7Qs9C40YfQtdGB0LrQvtCz0L4g0Y/QtNGA0LAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0OAorbXNnaWQgImxvZ2ljYWwgc29ja2V0IG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDkKK21zZ2lkICJsb2dpY2FsIE5VTUEgbm9kZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUwCittc2dpZCAibG9naWNhbCBib29rIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTEKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBkcmF3ZXIgbnVtYmVyIgorbXNnc3RyICLQvdC+0LzQtdGAINC70L7Qs9C40YfQtdGB0LrQvtCz0L4g0Y/QtNGA0LAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MgorbXNnaWQgInNob3dzIGhvdyBjYWNoZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUzCittc2dpZCAiQ1BVIGRpc3BhdGNoaW5nIG1vZGUgb24gdmlydHVhbCBoYXJkd2FyZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTQKK21zZ2lkICJwaHlzaWNhbCBhZGRyZXNzIG9mIGEgQ1BVIgorbXNnc3RyICLRhNC40LfQuNGH0LXRgdC60LjQuSDQsNC00YDQtdGBINCm0J/QoyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU1Cittc2dpZCAic2hvd3MgaWYgdGhlIGh5cGVydmlzb3IgaGFzIGFsbG9jYXRlZCB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NgorbXNnaWQgInNob3dzIGlmIExpbnV4IGN1cnJlbnRseSBtYWtlcyB1c2Ugb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTcKK21zZ2lkICJzaG93cyB0aGUgbWF4aW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQvNCw0LrRgdC40LzQsNC70YzQvdGD0Y4g0YfQsNGB0YLQvtGC0YMg0KbQn9CjINCyIE1IeiAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1OAorbXNnaWQgInNob3dzIHRoZSBtaW5pbXVtIE1IeiBvZiB0aGUgQ1BVIgorbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINC80LjQvdC40LzQsNC70YzQvdGD0Y4g0YfQsNGB0YLQvtGC0YMg0KbQn9CjINCyIE1IeiAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjU1MAorIywgZnV6enkKK21zZ2lkICJlcnJvcjogdW5hbWUgZmFpbGVkIgorbXNnc3RyICJtb3VudCDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo2MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZXRlcm1pbmUgbnVtYmVyIG9mIENQVXM6ICVzIgorbXNnc3RyICIlczog0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtSAtINC90LXQstC+0LfQvNC+0LbQvdC+INC+0L/RgNC10LTQtdC70LjRgtGMINGA0LDQt9C80LXRgCDRhNCw0LnQu9C+0LLQvtC5INGB0LjRgdGC0LXQvNGLXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjg5MQorIywgZnV6enkKK21zZ2lkICJlcnJvcjogY2FuIG5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INGD0YHRgtCw0L3QvtCy0LjRgtGMINC+0LHRgNCw0LHQvtGC0YfQuNC6INGB0LjQs9C90LDQu9CwIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo4OTYKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3I6IGNhbiBub3QgcmVzdG9yZSBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0L7QsdGA0LDQsdC+0YLRh9C40Log0YHQuNCz0L3QsNC70LAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgZnJvbTogJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMINGB0LjQvNCy0L7Qu9GM0L3Rg9GOINGB0YHRi9C70LrRgzogJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MTAKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGV4dHJhY3QgdGhlIG5vZGUgbnVtYmVyIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQstGL0LTQtdC70LjRgtGMINCx0YPRhNC10YAuXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1Mzcgc3lzLXV0aWxzL2xzY3B1LmM6MTU0NworbXNnaWQgIlkiCittc2dzdHIgItCUIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTM3IHN5cy11dGlscy9sc2NwdS5jOjE1NDcKK21zZ2lkICJOIgorbXNnc3RyICLQnSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTYzMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXJcbiIKKyIjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElEXG4iCisiIyBzdGFydGluZyBmcm9tIHplcm8uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc4MQorbXNnaWQgIkFyY2hpdGVjdHVyZToiCittc2dzdHIgItCQ0YDRhdC40YLQtdC60YLRg9GA0LA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzk1Cittc2dpZCAiQ1BVIG9wLW1vZGUocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3OTggc3lzLXV0aWxzL2xzY3B1LmM6MTgwMAorbXNnaWQgIkJ5dGUgT3JkZXI6IgorbXNnc3RyICLQn9C+0YDRj9C00L7QuiDQsdCw0LnRgjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDIKK21zZ2lkICJDUFUocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDUKK21zZ2lkICJPbi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA2Cittc2dpZCAiT24tbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNQorbXNnaWQgIk9mZi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI2Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjIKK21zZ2lkICJUaHJlYWQocykgcGVyIGNvcmU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjQKK21zZ2lkICJDb3JlKHMpIHBlciBzb2NrZXQ6IgorbXNnc3RyICLQr9C00LXRgCDQvdCwINGB0L7QutC10YI6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODY3Cittc2dpZCAiU29ja2V0KHMpIHBlciBib29rOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODcwCittc2dpZCAiQm9vayhzKSBwZXIgZHJhd2VyOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODcyCittc2dpZCAiRHJhd2VyKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODc0Cittc2dpZCAiQm9vayhzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3NworbXNnaWQgIlNvY2tldChzKToiCittc2dzdHIgItCh0L7QutC10YLQvtCyOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MQorbXNnaWQgIk5VTUEgbm9kZShzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MworbXNnaWQgIlZlbmRvciBJRDoiCittc2dzdHIgIklEINC/0YDRgNC+0LjQt9Cy0L7QtNC40YLQtdC70Y86IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg1CisjLCBmdXp6eQorbXNnaWQgIk1hY2hpbmUgdHlwZToiCittc2dzdHIgItCi0LjQvyDRgNCw0LfQtNC10LvQsDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODcKK21zZ2lkICJDUFUgZmFtaWx5OiIKK21zZ3N0ciAi0KHQtdC80LXQudGB0YLQstC+INCm0J/QozoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODkKK21zZ2lkICJNb2RlbDoiCittc2dzdHIgItCc0L7QtNC10LvRjDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTEKK21zZ2lkICJNb2RlbCBuYW1lOiIKK21zZ3N0ciAi0JjQvNGPINC80L7QtNC10LvQuDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTMKK21zZ2lkICJTdGVwcGluZzoiCittc2dzdHIgItCh0YLQtdC/0L/QuNC90LM6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk1Cittc2dpZCAiQ1BVIE1IejoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5NworbXNnaWQgIkNQVSBkeW5hbWljIE1IejoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5OQorbXNnaWQgIkNQVSBzdGF0aWMgTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAxCittc2dpZCAiQ1BVIG1heCBNSHo6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDMKK21zZ2lkICJDUFUgbWluIE1IejoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNQorbXNnaWQgIkJvZ29NSVBTOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA4IHN5cy11dGlscy9sc2NwdS5jOjE5MTAKK21zZ2lkICJWaXJ0dWFsaXphdGlvbjoiCittc2dzdHIgItCS0LjRgNGC0YPQsNC70LjQt9Cw0YbQuNGPOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMworbXNnaWQgIkh5cGVydmlzb3I6IgorbXNnc3RyICLQk9C40L/QtdGA0LLQuNC30L7RgDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTUKK21zZ2lkICJIeXBlcnZpc29yIHZlbmRvcjoiCittc2dzdHIgItCg0LDQt9GA0LDQsdC+0YLRh9C40Log0LPQuNC/0LXRgNCy0LjQt9C+0YDQsDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTYKK21zZ2lkICJWaXJ0dWFsaXphdGlvbiB0eXBlOiIKK21zZ3N0ciAi0KLQuNC/INCy0LjRgNGC0YPQsNC70LjQt9Cw0YbQuNC4OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxOQorbXNnaWQgIkRpc3BhdGNoaW5nIG1vZGU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MjUgc3lzLXV0aWxzL2xzY3B1LmM6MTkzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjYWNoZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0MQorIywgYy1mb3JtYXQKK21zZ2lkICJOVU1BIG5vZGUlZCBDUFUocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NDYKK21zZ2lkICJGbGFnczoiCittc2dzdHIgItCk0LvQsNCz0Lg6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQ5CisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIHNvY2tldHM6IgorbXNnc3RyICLQpNC40LfQuNGH0LXRgdC60LjQtSDRhtC40LvQuNC90LTRgNGLIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTUwCisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIGNoaXBzOiIKK21zZ3N0ciAi0KTQuNC30LjRh9C10YHQutC40LUg0YbQuNC70LjQvdC00YDRiyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk1MQorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBjb3Jlcy9jaGlwOiIKK21zZ3N0ciAi0YDQsNC30LzQtdGAINGE0LjQt9C40YfQtdGB0LrQvtCz0L4g0YHQtdC60YLQvtGA0LAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjMKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBDUFUgYXJjaGl0ZWN0dXJlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjYKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgcHJpbnQgYm90aCBvbmxpbmUgYW5kIG9mZmxpbmUgQ1BVcyAoZGVmYXVsdCBmb3IgLWUpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2NworbXNnaWQgIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBwcmludCBvbmxpbmUgQ1BVcyBvbmx5IChkZWZhdWx0IGZvciAtcClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY4Cittc2dpZCAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2OQorbXNnaWQgIiAtZSwgLS1leHRlbmRlZFs9PGxpc3Q+XSBwcmludCBvdXQgYW4gZXh0ZW5kZWQgcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MAorbXNnaWQgIiAtcCwgLS1wYXJzZVs9PGxpc3Q+XSAgICBwcmludCBvdXQgYSBwYXJzYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcxCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHVzZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MgorbXNnaWQgIiAteCwgLS1oZXggICAgICAgICAgICAgICBwcmludCBoZXhhZGVjaW1hbCBtYXNrcyByYXRoZXIgdGhhbiBsaXN0cyBvZiBDUFVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MworIywgZnV6enkKK21zZ2lkICIgLXksIC0tcGh5c2ljYWwgICAgICAgICAgcHJpbnQgcGh5c2ljYWwgaW5zdGVhZCBvZiBsb2dpY2FsIElEc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAg0L/QvtC60LDQt9Cw0YLRjCDQstGB0LUg0YPRgdGC0YDQvtC50YHRgtCy0LBcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3B0aW9ucyAtLWFsbCwgLS1vbmxpbmUgYW5kIC0tb2ZmbGluZSBtYXkgb25seSBiZSB1c2VkIHdpdGggb3B0aW9ucyAtLWV4dGVuZGVkIG9yIC0tcGFyc2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIGtleSIKK21zZ3N0ciAi0YDQtdGB0YPRgNGB0Yso0YspINGD0LTQsNC70LXQvSjRiylcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5CisjLCBmdXp6eQorbXNnaWQgIktleSIKK21zZ3N0ciAi0LrQu9GO0YciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBJRCIKK21zZ3N0ciAi0YDQtdGB0YPRgNGB0Yso0YspINGD0LTQsNC70LXQvSjRiylcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCittc2dpZCAiSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCittc2dpZCAiT3duZXIncyB1c2VybmFtZSBvciBVSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCisjLCBmdXp6eQorbXNnaWQgIk93bmVyIgorbXNnc3RyICLQstC70LDQtNC10LvQtdGGIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTIKKyMsIGZ1enp5Cittc2dpZCAiUGVybWlzc2lvbnMiCittc2dzdHIgIiVzINC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUzCittc2dpZCAiQ3JlYXRvciBVSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU0Cittc2dpZCAiQ3JlYXRvciB1c2VyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NQorbXNnaWQgIkNyZWF0b3IgR0lEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NgorIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGdyb3VwIgorbXNnc3RyICLQntGB0L3QvtCy0L3QsNGPINCz0YDRg9C/0L/QsCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgIlVzZXIgSUQiCittc2dzdHIgItC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3Cittc2dpZCAiVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OAorIywgZnV6enkKK21zZ2lkICJVc2VyIG5hbWUiCittc2dzdHIgItCY0LzRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorbXNnaWQgIkdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorIywgZnV6enkKK21zZ2lkICJHSUQiCittc2dzdHIgIlNHSSByYXciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MAorIywgZnV6enkKK21zZ2lkICJHcm91cCBuYW1lIgorbXNnc3RyICLQvdCw0LfQstCw0L3QuNC1INCz0YDRg9C/0L/RiyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBjaGFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCisjLCBmdXp6eQorbXNnaWQgIkxhc3QgY2hhbmdlIgorbXNnc3RyICLQv9C+0YHQu9C10LTQvdC10LUg0LjQt9C80LXQvdC10L3QuNC1IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjQKKyMsIGZ1enp5Cittc2dpZCAiQnl0ZXMgdXNlZCIKK21zZ3N0ciAi0J/QvtC80LXRgtC40YLRjCwg0LrQsNC6INC40YHQv9C+0LvRjNC30YPQtdC80YvQuSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlcyIKK21zZ3N0ciAi0JrQvtC70LjRh9C10YHRgtCy0L4g0LPQvtC70L7QstC+0LoiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorIywgZnV6enkKK21zZ2lkICJNZXNzYWdlcyIKK21zZ3N0ciAi0YHQvtC+0LHRidC10L3QuNGPIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKKyMsIGZ1enp5Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyBzZW50IgorbXNnc3RyICLQtNCw0YLQsCDQv9C+0YHQu9C10LTQvdC10LPQviDQstGF0L7QtNCwINCyINGB0LjRgdGC0LXQvNGDIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKK21zZ2lkICJNc2cgc2VudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHJlY2VpdmVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIk1zZyByZWNlaXZlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjgKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHNlbmRlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjgKK21zZ2lkICJNc2cgc2VuZGVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgcmVjZWl2ZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiTXNnIHJlY2VpdmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MgorIywgZnV6enkKK21zZ2lkICJTZWdtZW50IHNpemUiCittc2dzdHIgItC/0L7Qu9GD0YfQuNGC0Ywg0YDQsNC30LzQtdGAINCx0LvQvtC60LAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MworIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2YgYXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70YzQvdC+0LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0YHQtdCz0LzQtdC90YLQvtCyID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MworbXNnaWQgIkF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzQKKyMsIGZ1enp5Cittc2dpZCAiU3RhdHVzIgorbXNnc3RyICLRgdC+0YHRgtC+0Y/QvdC40LUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NQorIywgZnV6enkKK21zZ2lkICJBdHRhY2ggdGltZSIKK21zZ3N0ciAi0L/QvtC00LrQu9GO0YfQtdC90L4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NgorIywgZnV6enkKK21zZ2lkICJEZXRhY2ggdGltZSIKK21zZ3N0ciAi0L7RgtC60LvRjtGH0LXQvdC+IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRvciBjb21tYW5kIgorbXNnc3RyICLQvdC10YIg0LrQvtC80LDQvdC00Ys/XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIlBJRCBvZiB0aGUgY3JlYXRvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJDcmVhdG9yIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJQSUQgb2YgbGFzdCB1c2VyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OQorIywgZnV6enkKK21zZ2lkICJMYXN0IHVzZXIgUElEIgorbXNnc3RyICLQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAi0JrQvtC70LjRh9C10YHRgtCy0L4g0YHQtdC60YLQvtGA0L7QsiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgyCisjLCBmdXp6eQorbXNnaWQgIlNlbWFwaG9yZXMiCittc2dzdHIgIiIKKyJcbiIKKyLQnNCw0YHRgdC40LIg0YHQtdC80LDRhNC+0YDQvtCyIHNlbWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworIywgZnV6enkKK21zZ2lkICJMYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAi0L7Qv9C10YDQsNGG0LjRjyAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAi0YDQtdGB0YPRgNGB0Yso0YspINGD0LTQsNC70LXQvSjRiylcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIgorbXNnc3RyICLRgNC10YHRg9GA0YHRiyjRiykg0YPQtNCw0LvQtdC9KNGLKVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgItGA0LXRgdGD0YDRgdGLKNGLKSDRg9C00LDQu9C10L0o0YspXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworIywgZnV6enkKK21zZ2lkICJEZXNjcmlwdGlvbiIKK21zZ3N0ciAi0YDQtdGB0YPRgNGB0Yso0YspINGD0LTQsNC70LXQvSjRiylcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiQ3VycmVudGx5IHVzZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiVXNlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiQ3VycmVudGx5IHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICLQodC+0YHRgtC+0Y/QvdC40LUg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRiz0lZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiVXNlIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtToiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIlN5c3RlbS13aWRlIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIkxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb2x1bW4gJXMgZG9lcyBub3QgYXBwbHkgdG8gdGhlIHNwZWNpZmllZCBJUEMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg3Cittc2dpZCAiIC1nLCAtLWdsb2JhbCAgICAgIGluZm8gYWJvdXQgc3lzdGVtLXdpZGUgdXNhZ2UgKG1heSBiZSB1c2VkIHdpdGggLW0sIC1xIGFuZCAtcylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODgKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gICAgIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIi1pIGlkIFstcyAtcSAtbV0gOiDQv9C+0LTRgNC+0LHQvdC+0YHRgtC4INC+INGA0LXRgdGD0YDRgdC1LCDQuNC00LXQvdGC0LjRhNC40YbQuNGA0L7QstCw0L3QvdC+0Lwg0L/QviBpZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTQKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAg0J3QtSDQt9Cw0LrQu9GO0YfQsNGC0Ywg0LIg0LrQsNCy0YvRh9C60Lgg0LLRi9GF0L7QtNC90YvQtSDQtNCw0L3QvdGL0LVcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk1CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICAgICAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIgICAgICAgICAgICAgINC/0LDRgNCw0LzQtdGC0YDRi1xuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTcKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICB1c2UgdGhlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg0JLRi9Cy0L7QtCDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDQstC10YDRgdC40LhcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk5CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yY2UgbGlzdCBvdXRwdXQgZm9ybWF0IChmb3IgZXhhbXBsZSB3aXRoIC0taWQpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICDQkdC10Lcg0L7QsdGL0YfQvdGL0YUg0LLRi9GF0L7QtNC90YvRhSDQtNCw0L3QvdGL0YVcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAxCittc2dpZCAiIC1QLCAtLW51bWVyaWMtcGVybXMgICAgICBwcmludCBudW1lcmljIHBlcm1pc3Npb25zIChQRVJNUyBjb2x1bW4pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAzCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICDQndC1INC30LDQutC70Y7Rh9Cw0YLRjCDQsiDQutCw0LLRi9GH0LrQuCDQstGL0YXQvtC00L3Ri9C1INC00LDQvdC90YvQtVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmljIGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIlZCDRgNCw0LfQtNC10LvRizpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkLW1lbW9yeSBjb2x1bW5zICgtLXNobWVtcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLQodC10LPQvNC10L3RgiDRgdC+0LLQvC4g0LjRgdC/LiDQv9Cw0LzRj9GC0Lggc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlLXF1ZXVlIGNvbHVtbnMgKC0tcXVldWVzKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgY29sdW1ucyAoLS1zZW1hcGhvcmVzKTpcbiIKK21zZ3N0ciAi0JTQvtGB0YLRg9C/0L3Ri9C1INC60L7QvNCw0L3QtNGLOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlN1bW1hcnkgY29sdW1ucyAoLS1nbG9iYWwpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjQxMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRWxlbWVudHM6XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA1CisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmUgaWRlbnRpZmllcnMiCittc2dzdHIgItCa0L7Qu9C40YfQtdGB0YLQstC+INCw0LvRjNGC0LXRgNC90LDRgtC40LLQvdGL0YUg0YbQuNC70LjQvdC00YDQvtCyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDYKKyMsIGZ1enp5Cittc2dpZCAiVG90YWwgbnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgItC60L7Qu9C40YfQtdGB0YLQstC+INGB0LXQutGC0L7RgNC+0LIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwNworIywgZnV6enkKK21zZ2lkICJNYXggc2VtYXBob3JlcyBwZXIgc2VtYXBob3JlIHNldC4iCittc2dzdHIgItC80LDQutGB0LjQvNGD0Lwg0YHQtdC80LDRhNC+0YDQvtCyINC90LAg0LzQsNGB0YHQuNCyID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA4CisjLCBmdXp6eQorbXNnaWQgIk1heCBudW1iZXIgb2Ygb3BlcmF0aW9ucyBwZXIgc2Vtb3AoMikiCittc2dzdHIgItC80LDQutGB0LjQvNCw0LvRjNC90L7QtSDQutC+0LvQuNGH0LXRgdGC0LLQviDRgdC10LPQvNC10L3RgtC+0LIgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA5CisjLCBmdXp6eQorbXNnaWQgIlNlbWFwaG9yZSBtYXggdmFsdWUiCittc2dzdHIgItC80LDQutGB0LjQvNCw0LvRjNC90L7QtSDQt9C90LDRh9C10L3QuNC1INGB0LXQvNCw0YTQvtGA0LAgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjMKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICLQmtC+0LvQuNGH0LXRgdGC0LLQviDQs9C+0LvQvtCy0L7QuiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODY0CisjLCBmdXp6eQorbXNnaWQgIk1heCBzaXplIG9mIG1lc3NhZ2UgKGJ5dGVzKSIKK21zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3Ri9C5INGA0LDQt9C80LXRgCDRgdC+0L7QsdGJ0LXQvdC40Y8gKNCx0LDQudGCKSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg2NQorIywgZnV6enkKK21zZ2lkICJEZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIChieXRlcykiCittc2dzdHIgItC80LDQutGB0LjQvNCw0LvRjNC90YvQuSDQv9C+INGD0LzQvtC70YfQsNC90LjRjiDRgNCw0LfQvNC10YAg0YHQvtC+0LHRidC10L3QuNGPICjQsdCw0LnRgikgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5Nzggc3lzLXV0aWxzL2xzaXBjLmM6OTk3Cittc2dpZCAiaHVnZXRsYiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5Nzkgc3lzLXV0aWxzL2xzaXBjLmM6MTAwNAorIywgZnV6enkKK21zZ2lkICJub3Jlc2VydmUiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MQorIywgZnV6enkKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIgorbXNnc3RyICIiCisiXG4iCisi0KHQtdCz0LzQtdC90YIg0YHQvtCy0LwuINC40YHQvy4g0L/QsNC80Y/RgtC4IHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjIKKyMsIGZ1enp5Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBwYWdlcyIKK21zZ3N0ciAiIgorIlxuIgorItCh0LXQs9C80LXQvdGCINGB0L7QstC8LiDQuNGB0L8uINC/0LDQvNGP0YLQuCBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDYzCisjLCBmdXp6eQorbXNnaWQgIk1heCBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICIiCisiXG4iCisi0KHQtdCz0LzQtdC90YIg0YHQvtCy0LwuINC40YHQvy4g0L/QsNC80Y/RgtC4IHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjQKKyMsIGZ1enp5Cittc2dpZCAiTWluIHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIiIKKyJcbiIKKyLQodC10LPQvNC10L3RgiDRgdC+0LLQvC4g0LjRgdC/LiDQv9Cw0LzRj9GC0Lggc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTEzNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSVBDIGlkZW50aWZpZXIiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L/RgNC+0YbQtdGB0YHQsCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTIyOQorbXNnaWQgIi0tZ2xvYmFsIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tY3JlYXRvciwgLS1pZCBhbmQgLS10aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODMKK21zZ2lkICJuYW1lc3BhY2UgaWRlbnRpZmllciAoaW5vZGUgbnVtYmVyKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg0Cittc2dpZCAia2luZCBvZiBuYW1lc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NQorIywgZnV6enkKK21zZ2lkICJwYXRoIHRvIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgItGB0L7RgdGC0L7Rj9C90LjQtSDRg9GB0YLRgNC+0LnRgdGC0LLQsCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NgorIywgZnV6enkKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIGluIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgItC60L7Qu9C40YfQtdGB0YLQstC+INC/0YDQvtGG0LXRgdGB0L7Qsiwg0LrQvtGC0L7RgNGL0LUg0LfQsNC/0YPRgdGC0LjQuyDQv9C+0LvRjNC30L7QstCw0YLQtdC70YwiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODcKK21zZ2lkICJsb3dlc3QgUElEIGluIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OAorbXNnaWQgIlBQSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5Cittc2dpZCAiY29tbWFuZCBsaW5lIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MAorbXNnaWQgIlVJRCBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTEKK21zZ2lkICJ1c2VybmFtZSBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bmFtZXNwYWNlPl1cbiIKK21zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzINC/0YDQvtCz0YDQsNC80LzQsCBb0LDRgNCz0YPQvNC10L3RgiAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjE2CisjLCBmdXp6eQorbXNnaWQgIkxpc3Qgc3lzdGVtIG5hbWVzcGFjZXMuXG4iCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INGD0YHRgtCw0L3QvtCy0LjRgtGMINGB0LjRgdGC0LXQvNC90YvQtSDRh9Cw0YHRiy5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo2MjMKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXRhc2sgPHBpZD4gICAgICAgcHJpbnQgcHJvY2VzcyBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICDQrdGC0L4g0L3QtdCx0L7Qu9GM0YjQvtC1INGA0YPQutC+0LLQvtC00YHRgtCy0L4g0L/QviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYyNgorbXNnaWQgIiAtdCwgLS10eXBlIDxuYW1lPiAgICAgIG5hbWVzcGFjZSB0eXBlIChtbnQsIG5ldCwgaXBjLCB1c2VyLCBwaWQsIHV0cywgY2dyb3VwKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG5hbWVzcGFjZSB0eXBlOiAlcyIKK21zZ3N0ciAibW91bnQ6INC90LXQuNC30LLQtdGB0YLQvdGL0Lkg0YLQuNC/INGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80YsgJyVzJyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MzUKK21zZ2lkICItLXRhc2sgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPG5hbWVzcGFjZT4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MzYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBuYW1lc3BhY2UgYXJndW1lbnQiCittc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQuSDQsNGA0LPRg9C80LXQvdGCINCz0L7Qu9C+0LLQvtC6IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjc3NAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZm91bmQgbmFtZXNwYWNlOiAlanUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjYgc3lzLXV0aWxzL3Vtb3VudC5jOjExNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAibW91bnQ6INGC0L7Qu9GM0LrQviByb290INC80L7QttC10YIg0YHQtNC10LvQsNGC0Ywg0Y3RgtC+IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2OSBzeXMtdXRpbHMvdW1vdW50LmM6MTIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICJtb3VudDog0YLQvtC70YzQutC+IHJvb3Qg0LzQvtC20LXRgiDRgdC00LXQu9Cw0YLRjCDRjdGC0L4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjczIHN5cy11dGlscy91bW91bnQuYzoxMjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiIKK21zZ3N0ciAibW91bnQ6INGC0L7Qu9GM0LrQviByb290INC80L7QttC10YIg0LzQvtC90YLQuNGA0L7QstCw0YLRjCAlcyDQvdCwICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NCBzeXMtdXRpbHMvdW1vdW50LmM6MTI1CisjLCBmdXp6eQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKK21zZ3N0ciAibW91bnQ6INGC0L7Qu9GM0LrQviByb290INC80L7QttC10YIg0YHQtNC10LvQsNGC0Ywg0Y3RgtC+IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4NSBzeXMtdXRpbHMvdW1vdW50LmM6NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgKGxpYm1vdW50ICVzIgorbXNnc3RyICIlcyDQuNC3ICVzJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTMwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIG10YWIiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INC/0YDQvtGH0LjRgtCw0YLRjCAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTIgc3lzLXV0aWxzL3Vtb3VudC5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGFscmVhZHkgbW91bnRlZFxuIgorbXNnc3RyICJtb3VudDogJXMg0YPQttC1INC/0YDQuNC80L7QvdGC0LjRgNC+0LLQsNC9INC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW92ZWQgdG8gJXMuXG4iCittc2dzdHIgIiVzOiBcIiVzXCIg0L3QtSDRgdGD0YnQtdGB0YLQstGD0LXRgi5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgYm91bmQgb24gJXMuXG4iCittc2dzdHIgIiVzOiDQvtGI0LjQsdC60LAg0L/QvtC40YHQutCwINC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjU0IHN5cy11dGlscy9tb3VudC5jOjI1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdW50ZWQgb24gJXMuXG4iCittc2dzdHIgIm1vdW50OiAlcyDRg9C20LUg0L/RgNC40LzQvtC90YLQuNGA0L7QstCw0L0g0L3QsCAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBwcm9wYWdhdGlvbiBmbGFncyBjaGFuZ2VkLlxuIgorbXNnc3RyICIlczogJXMg0L3QtSDQuNC30LzQtdC90LXQvVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm1vdW50OiAlcyBkb2VzIG5vdCBjb250YWluIFNFTGludXggbGFiZWxzLlxuIgorIiAgICAgICBZb3UganVzdCBtb3VudGVkIGFuIGZpbGUgc3lzdGVtIHRoYXQgc3VwcG9ydHMgbGFiZWxzIHdoaWNoIGRvZXMgbm90XG4iCisiICAgICAgIGNvbnRhaW4gbGFiZWxzLCBvbnRvIGFuIFNFTGludXggYm94LiBJdCBpcyBsaWtlbHkgdGhhdCBjb25maW5lZFxuIgorIiAgICAgICBhcHBsaWNhdGlvbnMgd2lsbCBnZW5lcmF0ZSBBVkMgbWVzc2FnZXMgYW5kIG5vdCBiZSBhbGxvd2VkIGFjY2VzcyB0b1xuIgorIiAgICAgICB0aGlzIGZpbGUgc3lzdGVtLiAgRm9yIG1vcmUgZGV0YWlscyBzZWUgcmVzdG9yZWNvbig4KSBhbmQgbW91bnQoOCkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Mzc4Cittc2dpZCAiV0FSTklORzogZmFpbGVkIHRvIGFwcGx5IHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKK21zZ3N0ciAibW91bnQ6INGC0L7Qu9GM0LrQviByb290INC80L7QttC10YIg0LzQvtC90YLQuNGA0L7QstCw0YLRjCAlcyDQvdCwICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCIKK21zZ3N0ciAibW91bnQ6IHByb2Mg0YPQttC1INC/0YDQuNC80L7QvdGC0LjRgNC+0LLQsNC9IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHVzZWQgYXMgcmVhZCBvbmx5IGxvb3AsIG1vdW50aW5nIHJlYWQtb25seSIKK21zZ3N0ciAibW91bnQ6ICVzJXMg0LfQsNGJ0LjRidC10L0g0L7RgiDQt9Cw0L/QuNGB0LgsINC80L7QvdGC0LjRgNGD0LXRgtGB0Y8g0YLQvtC70YzQutC+INC00LvRjyDRh9GC0LXQvdC40Y8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCAlcyBpbiAlcyIKK21zZ3N0ciAibW91bnQ6INC90LXQstC+0LfQvNC+0LbQvdC+INC90LDQudGC0LggJXMg0LIgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudHBvaW50ICVzIGluICVzIgorbXNnc3RyICJtb3VudDog0L3QtdCy0L7Qt9C80L7QttC90L4g0L3QsNC50YLQuCAlcyDQsiAlcyDQuNC70LggJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBzb3VyY2UgJXMgaW4gJXMiCittc2dzdHIgInNodXRkb3duOiDQndC10LLQvtC30LzQvtC20L3QviDRgNCw0LfQvNC+0L3RgtC40YDQvtCy0LDRgtGMICVzOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzOiBtb3JlIGZpbGVzeXN0ZW1zIGRldGVjdGVkLiBUaGlzIHNob3VsZCBub3QgaGFwcGVuLFxuIgorIiAgICAgICB1c2UgLXQgPHR5cGU+IHRvIGV4cGxpY2l0bHkgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIG9yXG4iCisiICAgICAgIHVzZSB3aXBlZnMoOCkgdG8gY2xlYW4gdXAgdGhlIGRldmljZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDM2CisjLCBmdXp6eQorbXNnaWQgIkkgY291bGQgbm90IGRldGVybWluZSB0aGUgZmlsZXN5c3RlbSB0eXBlLCBhbmQgbm9uZSB3YXMgc3BlY2lmaWVkIgorbXNnc3RyICJtb3VudDog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0YLQuNC/INGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80YssINC4INC90Lgg0L7QtNC90LAg0L3QtSDQsdGL0LvQsCDRg9C60LDQt9Cw0L3QsCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDM5CisjLCBmdXp6eQorbXNnaWQgInlvdSBtdXN0IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAibW91bnQ6INCy0Ysg0LTQvtC70LbQvdGLINGD0LrQsNC30LDRgtGMINGC0LjQvyDRhNCw0LnQu9C+0LLQvtC5INGB0LjRgdGC0LXQvNGLIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQv9GA0L7Rh9C40YLQsNGC0YwgJXMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0NworIywgZnV6enkKK21zZ2lkICJtb3VudCBzb3VyY2Ugbm90IGRlZmluZWQiCittc2dzdHIgIm1vdW50OiDQvNC+0L3RgtC40YDQvtCy0LDQvdC40LUg0LfQsNCy0LXRgNGI0LjQu9C+0YHRjCDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTEgc3lzLXV0aWxzL21vdW50LmM6NDUzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0dXAgbG9vcCBkZXZpY2UiCittc2dzdHIgIm1vdW50OiDRg9GB0YLQsNC90L7QstC60LAg0YPRgdGC0YDQvtC50YHRgtCy0LAg0L7QsdGA0LDRgtC90L7QuSDRgdCy0Y/Qt9C4INC30LDQstC10YDRiNC40LvQsNGB0Ywg0L3QtdGD0LTQsNGH0LXQuVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudCBmYWlsZWQiCittc2dzdHIgIm1vdW50INC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmlsZXN5c3RlbSBtb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ4OSBzeXMtdXRpbHMvbW91bnQuYzo1NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50ICVzIGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAibW91bnQ6INGC0L7Rh9C60LAg0LzQvtC90YLQuNGA0L7QstCw0L3QuNGPICVzINC90LUg0Y/QstC70Y/QtdGC0YHRjyDQutCw0YLQsNC70L7Qs9C+0LwiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ5MworIywgZnV6enkKK21zZ2lkICJtdXN0IGJlIHN1cGVydXNlciB0byB1c2UgbW91bnQiCittc2dzdHIgIm1vdW50OiDQvdC10L7QsdGF0L7QtNC40LzQviDQuNC80LXRgtGMINC/0YDQsNCy0LAg0YHRg9C/0LXRgNC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQtNC70Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8gbW91bnQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYnVzeSIKK21zZ3N0ciAibW91bnQ6ICVzINC30LDQvdGP0YIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9yICVzIGJ1c3kiCittc2dzdHIgIm1vdW50OiAlcyDRg9C20LUg0L/RgNC40LzQvtC90YLQuNGA0L7QstCw0L0g0LjQu9C4ICVzINC30LDQvdGP0YIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorbXNnc3RyICJtb3VudDogJXMg0YPQttC1INC/0YDQuNC80L7QvdGC0LjRgNC+0LLQsNC9INC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAibW91bnQ6INGC0L7Rh9C60LAg0LzQvtC90YLQuNGA0L7QstCw0L3QuNGPICVzINC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgJXMgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCittc2dzdHIgIm1vdW50OiDRgtC+0YfQutCwINC80L7QvdGC0LjRgNC+0LLQsNC90LjRjyAlcyDRj9Cy0LvRj9C10YLRgdGPINGB0LjQvNCy0L7Qu9C40YfQtdGB0LrQvtC5INGB0YHRi9C70LrQvtC5INCyINC90LjQutGD0LTQsCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAibW91bnQ6INGB0L/QtdGG0LjQsNC70YzQvdC+0LUg0YPRgdGC0YDQvtC50YHRgtCy0L4gJXMg0L3QtSDRgdGD0YnQtdGB0YLQstGD0LXRgiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTM2IHN5cy11dGlscy9tb3VudC5jOjUzOCBzeXMtdXRpbHMvbW91bnQuYzo1NDAKKyM6IHN5cy11dGlscy9tb3VudC5jOjU1NQorIywgZnV6enkKK21zZ2lkICJtb3VudCgyKSBmYWlsZWQiCittc2dzdHIgIm1vdW50INC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KSIKK21zZ3N0ciAiIgorIm1vdW50OiDRgdC/0LXRhtC40LDQu9GM0L3QvtC1INGD0YHRgtGA0L7QudGB0YLQstC+ICVzINC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YJcbiIKKyIgICAgICAgKNC/0YDQtdGE0LjQutGBINC/0YPRgtC4INC90LUg0Y/QstC70Y/QtdGC0YHRjyDQutCw0YLQsNC70L7Qs9C+0LwpXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IG1vdW50ZWQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAibW91bnQ6ICVzINGD0LbQtSDQvdC1INC/0YDQuNC80L7QvdGC0LjRgNC+0LLQsNC9INC40LvQuCDQvdC10LLQtdGA0L3QsNGPINC+0L/RhtC40Y8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50cG9pbnQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAibW91bnQ6ICVzINGD0LbQtSDQvdC1INC/0YDQuNC80L7QvdGC0LjRgNC+0LLQsNC9INC40LvQuCDQvdC10LLQtdGA0L3QsNGPINC+0L/RhtC40Y8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2NQorbXNnaWQgIiIKKyJiYWQgb3B0aW9uLiBOb3RlIHRoYXQgbW92aW5nIGEgbW91bnQgcmVzaWRpbmcgdW5kZXIgYSBzaGFyZWRcbiIKKyIgICAgICAgbW91bnQgaXMgdW5zdXBwb3J0ZWQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIndyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLFxuIgorIiAgICAgICBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKK21zZ3N0ciAiIgorIm1vdW50OiDQvdC10LLQtdGA0L3Ri9C5INGC0LjQvyDQpNChLCDQvdC10LLQtdGA0L3QsNGPINC+0L/RhtC40Y8sINC90LXQstC10YDQvdGL0Lkg0YHRg9C/0LXRgNCx0LvQvtC6XG4iCisiICAgICAgINC90LAgJXMsINC+0YLRgdGD0YLRgdGC0LLRg9C10YIg0LrQvtC00L7QstCw0Y8g0YHRgtGA0LDQvdC40YbQsCDQuNC70Lgg0LTRgNGD0LPQsNGPINC+0YjQuNCx0LrQsCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgICAgKGZvciBzZXZlcmFsIGZpbGVzeXN0ZW1zIChlLmcuIG5mcywgY2lmcykgeW91IG1pZ2h0XG4iCisiICAgICAgIG5lZWQgYSAvc2Jpbi9tb3VudC48dHlwZT4gaGVscGVyIHByb2dyYW0pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiICAgICAgIEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gaXMgZm91bmQgaW4gc3lzbG9nIC0gdHJ5XG4iCisiICAgICAgIGRtZXNnIHwgdGFpbCBvciBzby5cbiIKK21zZ3N0ciAiIgorIiAgICAgICDQkiDQvdC10LrQvtGC0L7RgNGL0YUg0YHQu9GD0YfQsNGP0YUg0L/QvtC70LXQt9C90LDRjyDQuNC90YTQvtGA0LzQsNGG0LjRjyDQvNC+0LbQtdGCINCx0YvRgtGMXG4iCisiICAgICAgINC90LDQudC00LXQvdCwINCyIHN5c2xvZyAtINC/0L7Qv9GA0L7QsdGD0LnRgtC1IGRtZXNnIHwgdGFpbCDQuNC70Lgg0YfRgtC+LdGC0L5cbiIKKyIgICAgICAg0LIg0Y3RgtC+0Lwg0YDQvtC00LVcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTgzCittc2dpZCAibW91bnQgdGFibGUgZnVsbCIKK21zZ3N0ciAi0YLQsNCx0LvQuNGG0LAg0LzQvtC90YLQuNGA0L7QstCw0L3QuNGPINC30LDQv9C+0LvQvdC10L3QsCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIgorbXNnc3RyICJtb3VudDogJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC/0YDQvtGH0LjRgtCw0YLRjCDRgdGD0L/QtdGA0LHQu9C+0LoiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKK21zZ3N0ciAibW91bnQ6INC90LXQuNC30LLQtdGB0YLQvdGL0Lkg0YLQuNC/INGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80YsgJyVzJyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTk0CisjLCBmdXp6eQorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJtb3VudDog0L3QtdC40LfQstC10YHRgtC90YvQuSDRgtC40L8g0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRiyAnJXMnIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQoMikgZmFpbHM/IgorbXNnc3RyICJtb3VudDogJXMg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINCx0LvQvtGH0L3Ri9C8INGD0YHRgtGA0L7QudGB0YLQstC+0LwsINCwINC+0L/RgNC10LTQtdC70LXQvdC40LUg0YHQvtGB0YLQvtGP0L3QuNGPINC90LXQstC+0LfQvNC+0LbQvdC+PyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisidGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2VcbiIKKyIgICAgICAgKG1heWJlIGBtb2Rwcm9iZSBkcml2ZXInPykiCittc2dzdHIgIiIKKyJtb3VudDog0Y/QtNGA0L4g0L3QtSDRgNCw0YHQv9C+0LfQvdCw0LXRgiAlcyDQutCw0Log0LHQu9C+0YfQvdC+0LUg0YPRgdGC0YDQvtC50YHRgtCy0L5cbiIKKyIgICAgICAgKNC80L7QttC10YIg0LHRi9GC0YwgYGluc21vZCBkcml2ZXInPykiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIChtYXliZSB0cnkgYC1vIGxvb3AnPykiCittc2dzdHIgIm1vdW50OiAlcyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LHQu9C+0YfQvdGL0Lwg0YPRgdGC0YDQvtC50YHRgtCy0L7QvCAo0LzQvtC20LXRgiDQv9C+0L/RgNC+0LHQvtCy0LDRgtGMIGAtbyBsb29wJz8pIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIm1vdW50OiAlcyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LHQu9C+0YfQvdGL0Lwg0YPRgdGC0YDQvtC50YHRgtCy0L7QvCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIm1vdW50OiAlcyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LLQtdGA0L3Ri9C8INCx0LvQvtGH0L3Ri9C8INGD0YHRgtGA0L7QudGB0YLQstC+0LwiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50ICVzIHJlYWQtb25seSIKK21zZ3N0ciAibW91bnQ6INC90LXQstC+0LfQvNC+0LbQvdC+INC/0YDQuNC80L7QvdGC0LjRgNC+0LLQsNGC0YwgJXMlcyDRgtC+0LvRjNC60L4g0LTQu9GPINGH0YLQtdC90LjRjyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IGAtdycgZmxhZyBnaXZlbiIKK21zZ3N0ciAibW91bnQ6ICVzJXMg0LfQsNGJ0LjRidC10L0g0L7RgiDQt9Cw0L/QuNGB0LgsINC90L4g0Y/QstC90L4g0YPQutCw0LfQsNC9INGE0LvQsNCzIGAtdyciCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlbW91bnQgJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorbXNnc3RyICJtb3VudDog0L3QtdCy0L7Qt9C80L7QttC90L4g0L/RgNC40LzQvtC90YLQuNGA0L7QstCw0YLRjCAlcyVzINGC0L7Qu9GM0LrQviDQtNC70Y8g0YfRgtC10L3QuNGPIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MzEgc3lzLXV0aWxzL21vdW50LmM6NjU0IHN5cy11dGlscy91bnNoYXJlLmM6MTg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBvbiAlcyBmYWlsZWQiCittc2dzdHIgIm1vdW50OiDQvNC+0L3RgtC40YDQvtCy0LDQvdC40LUg0LfQsNCy0LXRgNGI0LjQu9C+0YHRjCDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHdyaXRlLXByb3RlY3RlZCwgbW91bnRpbmcgcmVhZC1vbmx5IgorbXNnc3RyICJtb3VudDogJXMlcyDQt9Cw0YnQuNGJ0LXQvSDQvtGCINC30LDQv9C40YHQuCwg0LzQvtC90YLQuNGA0YPQtdGC0YHRjyDRgtC+0LvRjNC60L4g0LTQu9GPINGH0YLQtdC90LjRjyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJubyBtZWRpdW0gZm91bmQgb24gJXMiCittc2dzdHIgIm1vdW50OiAlcyDRg9C20LUg0L/RgNC40LzQvtC90YLQuNGA0L7QstCw0L0g0L3QsCAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3B0aW9uIGZvcm1hdDogJXMiCittc2dzdHIgItCS0LLQtdC00LjRgtC1INGC0LjQvyDRhNCw0LnQu9C+0LLQvtC5INGB0LjRgdGC0LXQvNGLOiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYXBwZW5kIG9wdGlvbiAnJXMnIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbGhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2VdIDxzb3VyY2U+IHwgWy0tdGFyZ2V0XSA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIDxvcGVyYXRpb24+IDxtb3VudHBvaW50PiBbPHRhcmdldD5dXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzQ0CisjLCBmdXp6eQorbXNnaWQgIk1vdW50IGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAi0JfQsNC/0YPRgdC60LDQtdGC0YHRjyDQv9GA0L7QstC10YDQutCwINGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80Ysg0L3QsCAlcy5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW91bnQgYWxsIGZpbGVzeXN0ZW1zIG1lbnRpb25lZCBpbiBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgbW91bnQoMikgc3lzY2FsbFxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBmb3JrIG9mZiBmb3IgZWFjaCBkZXZpY2UgKHVzZSB3aXRoIC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8cGF0aD4gICAgICBhbHRlcm5hdGl2ZSBmaWxlIHRvIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgc2hvdyBhbHNvIGZpbGVzeXN0ZW0gbGFiZWxzXG4iCittc2dzdHIgIiAgIGwgICDRgdC/0LjRgdC+0Log0YLQuNC/0L7QsiDQuNC30LLQtdGB0YLQvdGL0YUg0YTQsNC50LvQvtCy0YvRhSDRgdC40YHRgtC10LwiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1OCBzeXMtdXRpbHMvdW1vdW50LmM6OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc2MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIG1vdW50IG9wdGlvbnNcbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtb25seSAoc2FtZSBhcyAtbyBybylcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tc291cmNlIDxzcmM+ICAgICAgZXhwbGljaXRseSBzcGVjaWZpZXMgc291cmNlIChwYXRoLCBsYWJlbCwgdXVpZClcbiIKKyIgICAgIC0tdGFyZ2V0IDx0YXJnZXQ+ICAgZXhwbGljaXRseSBzcGVjaWZpZXMgbW91bnRwb2ludFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc2OCBzeXMtdXRpbHMvdW1vdW50LmM6OTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBzYXkgd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgLXMsIC0tc2hlbGw90YjQtdC70LsgICAgICAgICAgICAg0KPRgdGC0LDQvdC+0LLQutCwINGD0YHQu9C+0LLQuNC5INC30LDQutC7LiDQsiDQutCw0LLRi9GH0LrQuCDQtNC70Y8g0YjQtdC70LvQsFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtd3JpdGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTb3VyY2U6XG4iCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc5MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3BlcmF0aW9uczpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIHNvbWV3aGVyZSBlbHNlIChzYW1lIGFzIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG1vdmUgYSBzdWJ0cmVlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjgwMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4ODcgc3lzLXV0aWxzL3Vtb3VudC5jOjU0OAorIywgZnV6enkKK21zZ2lkICJsaWJtb3VudCBjb250ZXh0IGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJtb3VudDog0LzQvtC90YLQuNGA0L7QstCw0L3QuNC1INC30LDQstC10YDRiNC40LvQvtGB0Ywg0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6OTQ0IHN5cy11dGlscy91bW91bnQuYzo2MDEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCBvcHRpb25zIHBhdHRlcm4iCittc2dzdHIgItCe0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0Lgg0YDQsNC30LTQtdC70LAg0L3QsCAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMDk3CisjLCBmdXp6eQorbXNnaWQgInNvdXJjZSBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgItCS0Ysg0YPQutCw0LfQsNC70Lgg0YbQuNC70LjQvdC00YDQvtCyINCx0L7Qu9GM0YjQtSwg0YfQtdC8INC80L7QttC10YIg0LHRi9GC0Ywg0L3QsCDQtNC40YHQutC1IgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1xZF0gL3BhdGgvdG8vZGlyZWN0b3J5XG4iCisiICUxJHMgLXggL2Rldi9kZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEyMgorbXNnaWQgIkNoZWNrIHdoZXRoZXIgYSBkaXJlY3Rvcnkgb3IgZmlsZSBpcyBhIG1vdW50cG9pbnQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjUKK21zZ2lkICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICBxdWlldCBtb2RlIC0gZG9uJ3QgcHJpbnQgYW55dGhpbmdcbiIKKyIgLWQsIC0tZnMtZGV2bm8gICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgZmlsZXN5c3RlbVxuIgorIiAteCwgLS1kZXZubyAgICAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBibG9jayBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjE5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzINC90LUg0Y/QstC70Y/QtdGC0YHRjyDRgtC+0YfQutC+0Lkg0LzQvtC90YLQuNGA0L7QstCw0L3QuNGPXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyDRj9Cy0LvRj9C10YLRgdGPINGC0L7Rh9C60L7QuSDQvNC+0L3RgtC40YDQvtCy0LDQvdC40Y9cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkzIHN5cy11dGlscy91bnNoYXJlLmM6MjQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1cbiIKK21zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzINC/0YDQvtCz0YDQsNC80LzQsCBb0LDRgNCz0YPQvNC10L3RgiAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzYKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggbmFtZXNwYWNlcyBvZiBvdGhlciBwcm9jZXNzZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3OQorbXNnaWQgIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgIHRhcmdldCBwcm9jZXNzIHRvIGdldCBuYW1lc3BhY2VzIGZyb21cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgwCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgIGVudGVyIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAg0J3QtSDQt9Cw0LrQu9GO0YfQsNGC0Ywg0LIg0LrQsNCy0YvRh9C60Lgg0LLRi9GF0L7QtNC90YvQtSDQtNCw0L3QvdGL0LVcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MQorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICBlbnRlciBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICDQntGC0LrQu9GO0YfQtdC90LjQtSDQvtGC0YfQtdGC0LAg0L7QsSDQvtGI0LjQsdC60LDRhSBnZXRvcHQoMylcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MgorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgIGVudGVyIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgIGVudGVyIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICDQn9GA0L7QstC10YDQutCwINCy0LXRgNGB0LjQuCBnZXRvcHQoMSlcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICBlbnRlciBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICDQrdGC0L4g0L3QtdCx0L7Qu9GM0YjQvtC1INGA0YPQutC+0LLQvtC00YHRgtCy0L4g0L/QviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjlxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg1CisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gIGVudGVyIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODYKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgZW50ZXIgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgINCt0YLQviDQvdC10LHQvtC70YzRiNC+0LUg0YDRg9C60L7QstC+0LTRgdGC0LLQviDQv9C+INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGOXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODcKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgc2V0IHVpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAg0K3RgtC+INC90LXQsdC+0LvRjNGI0L7QtSDRgNGD0LrQvtCy0L7QtNGB0YLQstC+INC/0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICDQrdGC0L4g0L3QtdCx0L7Qu9GM0YjQvtC1INGA0YPQutC+0LLQvtC00YHRgtCy0L4g0L/QviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjlxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg5Cittc2dpZCAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzIGRvIG5vdCB0b3VjaCB1aWRzIG9yIGdpZHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkwCittc2dpZCAiIC1yLCAtLXJvb3RbPTxkaXI+XSAgICAgc2V0IHRoZSByb290IGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTEKK21zZ2lkICIgLXcsIC0td2RbPTxkaXI+XSAgICAgICBzZXQgdGhlIHdvcmtpbmcgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MgorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgIGRvIG5vdCBmb3JrIGJlZm9yZSBleGVjJ2luZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjk0Cittc2dpZCAiIC1aLCAtLWZvbGxvdy1jb250ZXh0ICAgc2V0IFNFTGludXggY29udGV4dCBhY2NvcmRpbmcgdG8gLS10YXJnZXQgUElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAibmVpdGhlciBmaWxlbmFtZSBub3IgdGFyZ2V0IHBpZCBzdXBwbGllZCBmb3IgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoyNzcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHVpZCIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoyODEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGdpZCIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMTcKK21zZ2lkICJubyB0YXJnZXQgUElEIHNwZWNpZmllZCBmb3IgLS1mb2xsb3ctY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0ICVkIFNFTGludXggY29udGV4dCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LvRg9GH0LjRgtGMINC60L7QvdGC0LXQutGB0YIgU0VMaW51eCDQtNC70Y8gJWQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGV4ZWMgY29udGV4dCB0byAnJXMnIgorbXNnc3RyICLQntGI0LjQsdC60LAg0LfQsNC/0LjRgdC4INGA0LDQt9C00LXQu9CwINC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhc3NvY2lhdGUgdG8gbmFtZXNwYWNlICclcycgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzkwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMINGE0LDQudC7ICclcyciCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mzk3Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSByb290IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MDAKKyMsIGZ1enp5Cittc2dpZCAiY2hyb290IGZhaWxlZCIKK21zZ3N0ciAibW91bnQg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MTAKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHdvcmtpbmcgZGlyZWN0b3J5IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MjEgc3lzLXV0aWxzL3NldHByaXYuYzo4MTUgc3lzLXV0aWxzL3NldHByaXYuYzo4MTkKKyMsIGZ1enp5Cittc2dpZCAic2V0Z3JvdXBzIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIG5ld19yb290IHB1dF9vbGRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjM3Cittc2dpZCAiQ2hhbmdlIHRoZSByb290IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgItCY0LfQvNC10L3QuNGC0Ywg0LrQvtGA0L3QtdCy0YPRjiDRhNCw0LnQu9C+0LLRg9GOINGB0LjRgdGC0LXQvNGDLlxuIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QgZnJvbSBgJXMnIHRvIGAlcyciCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzUKK21zZ2lkICJhZGRyZXNzIHNwYWNlIGxpbWl0IgorbXNnc3RyICLQv9GA0LXQtNC10Lsg0LDQtNGA0LXRgdC90L7Qs9C+INC/0YDQvtGB0YLRgNCw0L3RgdGC0LLQsCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NgorbXNnaWQgIm1heCBjb3JlIGZpbGUgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAiQ1BVIHRpbWUiCittc2dzdHIgItC/0YDQvtGG0LXRgdGB0L7RgNC90L7QtSDQstGA0LXQvNGPIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAic2Vjb25kcyIKK21zZ3N0ciAi0YHQtdC60YPQvdC0IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4Cittc2dpZCAibWF4IGRhdGEgc2l6ZSIKK21zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3Ri9C5INGA0LDQt9C80LXRgCDQtNCw0L3QvdGL0YUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzkKK21zZ2lkICJtYXggZmlsZSBzaXplIgorbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAINGE0LDQudC70LAiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKKyMsIGZ1enp5Cittc2dpZCAibWF4IG51bWJlciBvZiBmaWxlIGxvY2tzIGhlbGQiCittc2dzdHIgItC80LDQutGB0LjQvNCw0LvRjNC90L7QtSDQutC+0LvQuNGH0LXRgdGC0LLQviDRgdC10LPQvNC10L3RgtC+0LIgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorIywgZnV6enkKK21zZ2lkICJsb2NrcyIKK21zZ3N0ciAi0LHQu9C+0LrQvtCyIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCittc2dpZCAibWF4IGxvY2tlZC1pbi1tZW1vcnkgYWRkcmVzcyBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyCittc2dpZCAibWF4IGJ5dGVzIGluIFBPU0lYIG1xdWV1ZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MworbXNnaWQgIm1heCBuaWNlIHByaW8gYWxsb3dlZCB0byByYWlzZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0Cittc2dpZCAibWF4IG51bWJlciBvZiBvcGVuIGZpbGVzIgorbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70YzQvdC+0LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0L7RgtC60YDRi9GC0YvRhSDRhNCw0LnQu9C+0LIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXMiCittc2dzdHIgItGE0LDQudC7ICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1Cittc2dpZCAibWF4IG51bWJlciBvZiBwcm9jZXNzZXMiCittc2dzdHIgItC80LDQutGB0LjQvNCw0LvRjNC90L7QtSDQutC+0LvQuNGH0LXRgdGC0LLQviDQv9GA0L7RhtC10YHRgdC+0LIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKKyMsIGZ1enp5Cittc2dpZCAicHJvY2Vzc2VzIgorbXNnc3RyICJJRCDQv9GA0L7RhtC10YHRgdCwIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2Cittc2dpZCAibWF4IHJlc2lkZW50IHNldCBzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODcKKyMsIGZ1enp5Cittc2dpZCAibWF4IHJlYWwtdGltZSBwcmlvcml0eSIKK21zZ3N0ciAiZ2V0cHJpb3JpdHkiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJ0aW1lb3V0IGZvciByZWFsLXRpbWUgdGFza3MiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgIm1pY3Jvc2VjcyIKK21zZ3N0ciAi0LzQuNC60YDQvtGB0LXQutGD0L3QtCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscyIKK21zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3QvtC1INC60L7Qu9C40YfQtdGB0YLQstC+INGB0LXQs9C80LXQvdGC0L7QsiA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAic2lnbmFscyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAibWF4IHN0YWNrIHNpemUiCittc2dzdHIgItC80LDQutGB0LjQvNCw0LvRjNC90YvQuSDRgNCw0LfQvNC10YAg0YHRgtC10LrQsCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjMKKyMsIGZ1enp5Cittc2dpZCAicmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAi0YDQtdGB0YPRgNGB0Yso0YspINGD0LTQsNC70LXQvSjRiylcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAicmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgItGA0LXRgdGD0YDRgdGLKNGLKSDRg9C00LDQu9C10L0o0YspXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI1Cittc2dpZCAic29mdCBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNgorbXNnaWQgImhhcmQgbGltaXQgKGNlaWxpbmcpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI3Cittc2dpZCAidW5pdHMiCittc2dzdHIgItCV0LQuINC40LfQvC4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstcCBQSURdXG4iCittc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiAlcyBb0L7Qv9GG0LjQuF0g0YPRgdGC0YDQvtC50YHRgtCy0L4uLi5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gQ09NTUFORFxuIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogJXMgW9C+0L/RhtC40LhdINGD0YHRgtGA0L7QudGB0YLQstC+Li4uXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY2Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlc291cmNlIGxpbWl0cyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgItCf0L7RgdC80L7RgtGA0LXRgtGMINC40LvQuCDQuNC30LzQtdC90LjRgtGMINC/0YDQtdC00LXQu9GLINGA0LXRgdGD0YDRgdC+0LIg0L/RgNC+0YbQtdGB0YHQsC5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjgKK21zZ2lkICIiCisiXG4iCisiR2VuZXJhbCBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisi0J7QsdGJ0LjQtSDQv9Cw0YDQsNC80LXRgtGA0Ys6XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY5Cittc2dpZCAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHByb2Nlc3MgaWRcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCisiICAgICAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyIgICAgIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCisiICAgICAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBvdXRwdXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzcKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlJlc291cmNlcyBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQg0YDQsNC30LTQtdC70Ys6XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc4Cittc2dpZCAiIgorIiAtYywgLS1jb3JlICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBjb3JlIGZpbGVzIGNyZWF0ZWRcbiIKKyIgLWQsIC0tZGF0YSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgYSBwcm9jZXNzJ3MgZGF0YSBzZWdtZW50XG4iCisiIC1lLCAtLW5pY2UgICAgICAgICAgICAgbWF4aW11bSBuaWNlIHByaW9yaXR5IGFsbG93ZWQgdG8gcmFpc2VcbiIKKyIgLWYsIC0tZnNpemUgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgZmlsZXMgd3JpdHRlbiBieSB0aGUgcHJvY2Vzc1xuIgorIiAtaSwgLS1zaWdwZW5kaW5nICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFsc1xuIgorIiAtbCwgLS1tZW1sb2NrICAgICAgICAgIG1heGltdW0gc2l6ZSBhIHByb2Nlc3MgbWF5IGxvY2sgaW50byBtZW1vcnlcbiIKKyIgLW0sIC0tcnNzICAgICAgICAgICAgICBtYXhpbXVtIHJlc2lkZW50IHNldCBzaXplXG4iCisiIC1uLCAtLW5vZmlsZSAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2Ygb3BlbiBmaWxlc1xuIgorIiAtcSwgLS1tc2dxdWV1ZSAgICAgICAgIG1heGltdW0gYnl0ZXMgaW4gUE9TSVggbWVzc2FnZSBxdWV1ZXNcbiIKKyIgLXIsIC0tcnRwcmlvICAgICAgICAgICBtYXhpbXVtIHJlYWwtdGltZSBzY2hlZHVsaW5nIHByaW9yaXR5XG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAgbWF4aW11bSBzdGFjayBzaXplXG4iCisiIC10LCAtLWNwdSAgICAgICAgICAgICAgbWF4aW11bSBhbW91bnQgb2YgQ1BVIHRpbWUgaW4gc2Vjb25kc1xuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHVzZXIgcHJvY2Vzc2VzXG4iCisiIC12LCAtLWFzICAgICAgICAgICAgICAgc2l6ZSBvZiB2aXJ0dWFsIG1lbW9yeVxuIgorIiAteCwgLS1sb2NrcyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIGZpbGUgbG9ja3NcbiIKKyIgLXksIC0tcnR0aW1lICAgICAgICAgICBDUFUgdGltZSBpbiBtaWNyb3NlY29uZHMgYSBwcm9jZXNzIHNjaGVkdWxlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVyIHJlYWwtdGltZSBzY2hlZHVsaW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoyNDMgc3lzLXV0aWxzL3BybGltaXQuYzoyNDkgc3lzLXV0aWxzL3BybGltaXQuYzozNjYKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzcxCittc2dpZCAidW5saW1pdGVkIgorbXNnc3RyICLQvdC10L7Qs9GA0LDQvdC40YfQtdC90L4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IG9sZCAlcyBsaW1pdCIKK21zZ3N0ciAi0J7RiNC40LHQutCwINC30LDQv9C40YHQuCDRgNCw0LfQtNC10LvQsCDQvdCwICVzXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzU2CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBzb2Z0IGxpbWl0ICVzIGNhbm5vdCBleGNlZWQgdGhlIGhhcmQgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmV3ICVzIGxpbWl0IGZvciBwaWQgJWQ6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgItCe0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0Lgg0YDQsNC30LTQtdC70LAg0L3QsCAlc1xuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgItCe0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0Lgg0YDQsNC30LTQtdC70LAg0L3QsCAlc1xuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjQ1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIGxpbWl0IgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NQorbXNnaWQgIm9wdGlvbiAtLXBpZCBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjYxNgorbXNnaWQgIm9wdGlvbnMgLS1waWQgYW5kIENPTU1BTkQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDcKK21zZ2lkICJEaXNwbGF5IGtlcm5lbCBwcm9maWxpbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbSwgLS1tYXBmaWxlIDxtYXBmaWxlPiAgIChkZWZhdWx0czogXCIlc1wiIGFuZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJXNcIilcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJXMnKVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1wLCAtLXByb2ZpbGUgPHByby1maWxlPiAgKGRlZmF1bHQ6ICBcIiVzXCIpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE2Cittc2dpZCAiIC1NLCAtLW11bHRpcGxpZXIgPG11bHQ+ICAgc2V0IHRoZSBwcm9maWxpbmcgbXVsdGlwbGllciB0byA8bXVsdD5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgcHJpbnQgb25seSBpbmZvIGFib3V0IHRoZSBzYW1wbGluZyBzdGVwXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICDQndC1INC30LDQutC70Y7Rh9Cw0YLRjCDQsiDQutCw0LLRi9GH0LrQuCDQstGL0YXQvtC00L3Ri9C1INC00LDQvdC90YvQtVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTgKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBkYXRhXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDQktGL0LLQvtC0INC40L3RhNC+0YDQvNCw0YbQuNC4INC+INCy0LXRgNGB0LjQuFxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTkKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAg0K3RgtC+INC90LXQsdC+0LvRjNGI0L7QtSDRgNGD0LrQvtCy0L7QtNGB0YLQstC+INC/0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIwCittc2dpZCAiIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMQorbXNnaWQgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgY291bnRlcnMgd2l0aGluIGZ1bmN0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICDQn9GA0L7QstC10YDQutCwINCy0LXRgNGB0LjQuCBnZXRvcHQoMSlcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIzCittc2dpZCAiIC1uLCAtLW5vLWF1dG8gICAgICAgICAgICAgZGlzYWJsZSBieXRlIG9yZGVyIGF1dG8tZGV0ZWN0aW9uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjQwCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHdyaXRpbmcgJXMiCittc2dzdHIgItC+0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0LggJXMiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI3MQorbXNnaWQgIkFzc3VtaW5nIHJldmVyc2VkIGJ5dGUgb3JkZXIuIFVzZSAtbiB0byBmb3JjZSBuYXRpdmUgYnl0ZSBvcmRlci4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6Mjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTYW1wbGluZ19zdGVwOiAldVxuIgorbXNnc3RyICLQqNCw0LNf0LTQuNGB0LrRgNC10YLQuNC30LDRhtC40Lg6ICVpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMwMiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzKCVpKTogd3JvbmcgbWFwIGxpbmUiCittc2dzdHIgIiVzOiAlcyglaSk6INC90LXQstC10YDQvdCw0Y8g0YHRgtGA0L7QutCwIG1hcFxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgXCJfc3RleHRcIiBpbiAlcyIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC90LDQudGC0LggXCJfc3RleHRcIiDQsiAlc1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozNDYKKyMsIGZ1enp5Cittc2dpZCAicHJvZmlsZSBhZGRyZXNzIG91dCBvZiByYW5nZS4gV3JvbmcgbWFwIGZpbGU/IgorbXNnc3RyICIlczog0LDQtNGA0LXRgSBwcm9maWxlINC30LAg0L/RgNC10LTQtdC70LDQvNC4INC00LjQsNC/0LDQt9C+0L3QsC4g0J3QtdCy0LXRgNC90YvQuSDRhNCw0LnQuyBtYXA/XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjQwNAorbXNnaWQgInRvdGFsIgorbXNnc3RyICLQstGB0LXQs9C+IgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTIKK21zZ2lkICJwcm9jZXNzIElEIgorbXNnc3RyICJJRCDQv9GA0L7RhtC10YHRgdCwIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTMKK21zZ2lkICJwcm9jZXNzIGdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+IFstcHwtLXBpZF0gPHBpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC1nfC0tcGdycCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC11fC0tdXNlciA8dXNlcj4uLi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjcKK21zZ2lkICJBbHRlciB0aGUgcHJpb3JpdHkgb2YgcnVubmluZyBwcm9jZXNzZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcwCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIHNwZWNpZnkgdGhlIG5pY2UgaW5jcmVtZW50IHZhbHVlXG4iCittc2dzdHIgIiAtQywgLS1jeWxpbmRlcnMgPNGH0LjRgdC70L4+ICAgICAgINGD0LrQsNC20LjRgtC1INC60L7Qu9C40YfQtdGB0YLQstC+INGG0LjQu9C40L3QtNGA0L7QslxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzEKK21zZ2lkICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBJRCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzIKK21zZ2lkICIgLWcsIC0tcGdycCA8aWQ+ICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBncm91cCBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MworbXNnaWQgIiAtdSwgLS11c2VyIDxuYW1lPnw8aWQ+IGludGVycHJldCBhcmd1bWVudCBhcyB1c2VybmFtZSBvciB1c2VyIElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICLQntGI0LjQsdC60LAg0LfQsNC/0LjRgdC4INGA0LDQt9C00LXQu9CwINC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICLQntGI0LjQsdC60LAg0LfQsNC/0LjRgdC4INGA0LDQt9C00LXQu9CwINC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjEwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgKCVzKSBvbGQgcHJpb3JpdHkgJWQsIG5ldyBwcmlvcml0eSAlZFxuIgorbXNnc3RyICIlZDog0YHRgtCw0YDRi9C5INC/0YDQuNC+0YDQuNGC0LXRgiAlZCwg0L3QvtCy0YvQuSDQv9GA0LjQvtGA0LjRgtC10YIgJWRcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjE3NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHVzZXIgJXMiCittc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdGL0Lkg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIG9uZSBvZiB0aGUgYWJvdmUKKyMuICogdGhyZWUgSUQgbmFtZXMuIFJlYWQ6ICJiYWQgdmFsdWUgZm9yICVzOiAlcyIKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCAlcyB2YWx1ZTogJXMiCittc2dzdHIgItC90LXQstC10YDQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDRgtCw0LnQvC3QsNGD0YLQsDogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6OTgKK21zZ2lkICJFbnRlciBhIHN5c3RlbSBzbGVlcCBzdGF0ZSB1bnRpbCBhIHNwZWNpZmllZCB3YWtldXAgdGltZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMQorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgcmVhZHMgdGhlIGNsb2NrIG1vZGUgZnJvbSBhZGp1c3QgZmlsZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDUKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZXN0YW1wPiAgIGRhdGUgdGltZSBvZiB0aW1lc3RhbXAgdG8gd2FrZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA2Cittc2dpZCAiIC1kLCAtLWRldmljZSA8ZGV2aWNlPiAgICBzZWxlY3QgcnRjIGRldmljZSAocnRjMHxydGMxfC4uLilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNworbXNnaWQgIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgZG9lcyBldmVyeXRoaW5nLCBidXQgc3VzcGVuZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA4CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIHVzZXMgbG9jYWwgdGltZXpvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgINCS0YvQstC+0LQg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0LLQtdGA0YHQuNC4XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA5Cittc2dpZCAiICAgICAtLWxpc3QtbW9kZXMgICAgICAgICBsaXN0IGF2YWlsYWJsZSBtb2Rlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEwCittc2dpZCAiIC1tLCAtLW1vZGUgPG1vZGU+ICAgICAgICBzdGFuZGJ5fG1lbXwuLi4gc2xlZXAgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTExCittc2dpZCAiIC1zLCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTIKK21zZ2lkICIgLXQsIC0tdGltZSA8dGltZV90PiAgICAgIHRpbWUgdG8gd2FrZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEzCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIHVzZXMgVVRDXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICDQndC1INC30LDQutC70Y7Rh9Cw0YLRjCDQsiDQutCw0LLRi9GH0LrQuCDQstGL0YXQvtC00L3Ri9C1INC00LDQvdC90YvQtVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtZXNzYWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTY3CisjLCBmdXp6eQorbXNnaWQgInJlYWQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICJnZXR0aW1lb2ZkYXkg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBzeXN0ZW0gdGltZSBmYWlsZWQiCittc2dzdHIgItCy0YvQtNC10LvQtdC90L4g0YHQtdC80LDRhNC+0YDQvtCyID0gJWRcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiY29udmVydCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgIm1vdW50INC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MjM3Cittc2dpZCAic2V0IHJ0YyB3YWtlIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHRoaXJkIGxpbmUgaW46ICVzOiAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMyMCBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyNAorIywgZnV6enkKK21zZ2lkICJyZWFkIHJ0YyBhbGFybSBmYWlsZWQiCittc2dzdHIgItCy0YvQtNC10LvQtdC90L4g0YHQtdC80LDRhNC+0YDQvtCyID0gJWRcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9mZlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzM4Cittc2dpZCAiY29udmVydCB0aW1lIGZhaWxlZCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC60L7QvdCy0LXRgNGC0LjRgNC+0LLQsNGC0Ywg0LLRgNC10LzRjyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9uICAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM4NworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZDogJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMOiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdXNwZW5kIHN0YXRlICclcyciCittc2dzdHIgIiAlczog0L3QtdGA0LDRgdC/0L7Qt9C90LDQvdC90YvQuSDRgtC40L8g0YLQsNCx0LvQuNGG0Ysg0YDQsNC30LTQtdC70L7QslxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ3NQorbXNnaWQgImludmFsaWQgc2Vjb25kcyBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzRi9C5INCw0YDQs9GD0LzQtdC90YIg0YHQtdC60YPQvdC0IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ3OQorbXNnaWQgImludmFsaWQgdGltZSBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzRi9C5INCw0YDQs9GD0LzQtdC90YIg0LLRgNC10LzQtdC90LgiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhc3N1bWluZyBSVEMgdXNlcyBVVEMgLi4uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTEKK21zZ2lkICJVc2luZyBVVEMgdGltZS5cbiIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINCy0YHQtdC80LjRgNC90L7QtSDQstGA0LXQvNGPLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxMgorbXNnaWQgIlVzaW5nIGxvY2FsIHRpbWUuXG4iCittc2dzdHIgItCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQvNC10YHRgtC90L7QtSDQstGA0LXQvNGPLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxNQorbXNnaWQgIm11c3QgcHJvdmlkZSB3YWtlIHRpbWUgKHNlZSAtLXNlY29uZHMsIC0tdGltZSBhbmQgLS1kYXRlIG9wdGlvbnMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgZW5hYmxlZCBmb3Igd2FrZXVwIGV2ZW50cyIKK21zZ3N0ciAiJXM6ICVzINC90LUgbHAt0YPRgdGC0YDQvtC50YHRgtCy0L4uXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTI4CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtICVsZCwgc3lzX3RpbWUgJWxkLCBydGNfdGltZSAlbGQsIHNlY29uZHMgJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzNQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGRvZXNuJ3QgZ28gYmFja3dhcmQgdG8gJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgItCh0L7QvtCx0YnQtdC90LjQtSDQvtGCICVzQCVzINC90LAgJXMg0LIgJXMgLi4uIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCBmcm9tIFwiJXNcIiB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAi0KHQvtC+0LHRidC10L3QuNC1INC+0YIgJXNAJXMg0L3QsCAlcyDQsiAlcyAuLi4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTU5CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogbm87IGxlYXZpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9mZjsgZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvbjsgcmVhZGluZyBydGNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU5MgorIywgZnV6enkKK21zZ2lkICJydGMgcmVhZCBmYWlsZWQiCittc2dzdHIgIijQodC70LXQtNGD0Y7RidC40Lkg0YTQsNC50Ls6ICVzKSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBkaXNhYmxlOyBkaXNhYmxpbmcgYWxhcm1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYxNQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6ICVzOyBzdXNwZW5kaW5nIHN5c3RlbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjI5Cittc2dpZCAiZGlzYWJsZSBydGMgYWxhcm0gaW50ZXJydXB0IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlN3aXRjaGluZyBvbiAlcy5cbiIKK21zZ3N0ciAi0J/QtdGA0LXQutC70Y7Rh9C10L3QuNC1INC90LAgJXMuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8YXJjaD4gW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogJXMg0L/RgNC+0LPRgNCw0LzQvNCwIFvQsNGA0LPRg9C80LXQvdGCIC4uLl1cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzINC/0YDQvtCz0YDQsNC80LzQsCBb0LDRgNCz0YPQvNC10L3RgiAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTYKK21zZ2lkICJDaGFuZ2UgdGhlIHJlcG9ydGVkIGFyY2hpdGVjdHVyZSBhbmQgc2V0IHBlcnNvbmFsaXR5IGZsYWdzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTkKK21zZ2lkICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIHR1cm5zIG9uIEFERFJfTElNSVRfMzJCSVRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMAorbXNnaWQgIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAgbWFrZXMgZnVuY3Rpb24gcG9pbnRlcnMgcG9pbnQgdG8gZGVzY3JpcHRvcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMQorbXNnaWQgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgdHVybnMgb24gU0hPUlRfSU5PREVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMgorbXNnaWQgIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQgY2hhbmdlcyB0aGUgd2F5IHZpcnR1YWwgbWVtb3J5IGlzIGFsbG9jYXRlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAzCittc2dpZCAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBkaXNhYmxlcyByYW5kb21pemF0aW9uIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNAorbXNnaWQgIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgdHVybnMgb24gV0hPTEVfU0VDT05EU1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA1Cittc2dpZCAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0dXJucyBvbiBTVElDS1lfVElNRU9VVFNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNgorbXNnaWQgIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgdHVybnMgb24gUkVBRF9JTVBMSUVTX0VYRUNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNworbXNnaWQgIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgdHVybnMgb24gTU1BUF9QQUdFX1pFUk9cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOAorbXNnaWQgIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgbGltaXRzIHRoZSB1c2VkIGFkZHJlc3Mgc3BhY2UgdG8gYSBtYXhpbXVtIG9mIDMgR0JcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOQorbXNnaWQgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMAorbXNnaWQgIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgdHVybnMgb24gVU5BTUUyNlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTExCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgc2F5IHdoYXQgb3B0aW9ucyBhcmUgYmVpbmcgc3dpdGNoZWQgb25cbiIKK21zZ3N0ciAiICAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgINCg0LDQt9GA0LXRiNC10L3QuNC1INC00LvQuNC90L3Ri9GFINC+0L/RhtC40LksINC90LDRh9C40L3QsNGO0YnQuNGF0YHRjyDRgSDQvtC00L3QvtCz0L4gLVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExNAorbXNnaWQgIiAgICAgLS1saXN0ICAgICAgICAgICAgICAgbGlzdCBzZXR0YWJsZSBhcmNoaXRlY3R1cmVzLCBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiJXNcbiIKKyJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorbXNnc3RyICLQn9C+0L/RgNC+0LHRg9C50YLQtSBgZ2V0b3B0IC0taGVscCcg0LTQu9GPINC/0L7Qu9GD0YfQtdC90LjRjyDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3QvtC5INC40L3RhNC+0YDQvNCw0YbQuNC4LlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKK21zZ3N0ciAi0J/QvtC/0YDQvtCx0YPQudGC0LUgYGdldG9wdCAtLWhlbHAnINC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90L7QuSDQuNC90YTQvtGA0LzQsNGG0LjQuC5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFVucmVjb2duaXplZCBhcmNoaXRlY3R1cmUiCittc2dzdHIgIiAlczog0J3QtdGA0LDRgdC/0L7Qt9C90LDQvdC90LDRjyDQsNGA0YXQuNGC0LXQutGC0YPRgNCwIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiS2VybmVsIGNhbm5vdCBzZXQgYXJjaGl0ZWN0dXJlIHRvICVzIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQv9C+0LvRg9GH0LjRgtGMINGC0LDQudC8LdCw0YPRgiDQtNC70Y8gJXM6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzA1Cittc2dpZCAiTm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgItCd0LXQtNC+0YHRgtCw0YLQvtGH0L3QviDQsNGA0LPRg9C80LXQvdGC0L7QsiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgItCe0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0Lgg0YDQsNC30LTQtdC70LAg0L3QsCAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM3OQorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJy0tbGlzdCciCittc2dzdHIgItC90LXRgNCw0YHQv9C+0LfQvdCw0L3QvdGL0Lkg0L/QsNGA0LDQvNC10YLRgCAnLS1saXN0JyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozODcKK21zZ2lkICJubyBhcmNoaXRlY3R1cmUgYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICLQvdC1INGD0LrQsNC30LDQvdCwINCw0YDRhdC40YLQtdC60YLRg9GA0LAiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICLQntGI0LjQsdC60LAg0LfQsNC/0LjRgdC4INGA0LDQt9C00LXQu9CwINC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGUgY29tbWFuZCBgJXMnLlxuIgorbXNnc3RyICLQn9C+0LTQsNC10YLRgdGPINC60L7QvNCw0L3QtNGLINC00LDRgtGLOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk3Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIGRpZmZlcmVudCBwcml2aWxlZ2Ugc2V0dGluZ3MuXG4iCittc2dzdHIgItCX0LDQv9GD0YHQuiDQv9GA0L7Qs9GA0LDQvNC80Ysg0YEg0YDQsNC30LvQuNGH0L3Ri9C80Lgg0L3QsNGB0YLRgNC+0LnQutCw0LzQuCDQtNC+0YHRgtGD0L/QsC5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDAKK21zZ2lkICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgIHNob3cgY3VycmVudCBzdGF0ZSAoYW5kIGRvIG5vdCBleGVjIGFueXRoaW5nKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTAxCittc2dpZCAiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICBkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTAyCittc2dpZCAiIC0taW5oLWNhcHMgPGNhcHMsLi4uPiAgICBzZXQgaW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDMKK21zZ2lkICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgIHNldCBjYXBhYmlsaXR5IGJvdW5kaW5nIHNldFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA0Cittc2dpZCAiIC0tcnVpZCA8dWlkPiAgICAgICAgICAgICBzZXQgcmVhbCB1aWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNQorbXNnaWQgIiAtLWV1aWQgPHVpZD4gICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNgorbXNnaWQgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgc2V0IHJlYWwgZ2lkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDcKK21zZ2lkICIgLS1lZ2lkIDxnaWQ+ICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDgKK21zZ2lkICIgLS1yZXVpZCA8dWlkPiAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDkKK21zZ2lkICIgLS1yZWdpZCA8Z2lkPiAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTAKK21zZ2lkICIgLS1jbGVhci1ncm91cHMgICAgICAgICAgIGNsZWFyIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTEKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMgorbXNnaWQgIiAtLWdyb3VwcyA8Z3JvdXAsLi4uPiAgICAgc2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTMKK21zZ2lkICIgLS1zZWN1cmViaXRzIDxiaXRzPiAgICAgIHNldCBzZWN1cmViaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTQKK21zZ2lkICIgLS1zZWxpbnV4LWxhYmVsIDxsYWJlbD4gIHNldCBTRUxpbnV4IGxhYmVsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTUKK21zZ2lkICIgLS1hcHBhcm1vci1wcm9maWxlIDxwcj4gIHNldCBBcHBBcm1vciBwcm9maWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjEKK21zZ2lkICIgVGhpcyB0b29sIGNhbiBiZSBkYW5nZXJvdXMuICBSZWFkIHRoZSBtYW5wYWdlLCBhbmQgYmUgY2FyZWZ1bC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE5MyBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2NworbXNnaWQgImdldHRpbmcgcHJvY2VzcyBzZWN1cmUgYml0cyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdXJlYml0czogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIltub25lXVxuIgorbXNnc3RyICJb0L3QtdGCXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIGxvbmciCittc2dzdHIgIiVzOiDRgdC70LjRiNC60L7QvCDQsdC+0LvRjNGI0LDRjyDQtNC70LjQvdCwIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjczIHN5cy11dGlscy9zZXRwcml2LmM6MzIxIHN5cy11dGlscy9zZXRwcml2LmM6MzI2CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzMiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV0iCittc2dzdHIgIlvQvdC10YJdIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ6ICV1XG4iCittc2dzdHIgInVpZDogJXVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXVpZDogJXVcbiIKK21zZ3N0ciAiZXVpZDogJXVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VpZDogJXVcbiIKK21zZ3N0ciAic3VpZDogJXVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTkgc3lzLXV0aWxzL3NldHByaXYuYzozOTEKKyMsIGZ1enp5Cittc2dpZCAiZ2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMDggc3lzLXV0aWxzL3NldHByaXYuYzo0MDYKKyMsIGZ1enp5Cittc2dpZCAiZ2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRWZmZWN0aXZlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICLQrdGE0YTQtdC60YLQuNCy0L3Ri9C1INCy0L7Qt9C80L7QttC90L7RgdGC0Lg6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGVybWl0dGVkIGNhcGFiaWxpdGllczogIgorbXNnc3RyICLQoNCw0LfRgNC10YjQtdC90L3Ri9C1INCy0L7Qt9C80L7QttC90L7RgdGC0Lg6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgItCd0LDRgdC70LXQtNGD0LXQvNGL0LUg0LLQvtC30LzQvtC20L3QvtGB0YLQuDogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzNQorIywgYy1mb3JtYXQKK21zZ2lkICJDYXBhYmlsaXR5IGJvdW5kaW5nIHNldDogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQzCittc2dpZCAiU0VMaW51eCBsYWJlbCIKK21zZ3N0ciAi0JzQtdGC0LrQsCBTRUxpbnV4IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0NgorbXNnaWQgIkFwcEFybW9yIHByb2ZpbGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FwICVkOiBsaWJjYXAtbmcgaXMgYnJva2VuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzgyCittc2dpZCAiSW52YWxpZCBzdXBwbGVtZW50YXJ5IGdyb3VwIGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzk5CisjLCBmdXp6eQorbXNnaWQgInNldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDE0CisjLCBmdXp6eQorbXNnaWQgInNldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDM1Cittc2dpZCAiYmFkIGNhcGFiaWxpdHkgc3RyaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDQzCittc2dpZCAibGliY2FwLW5nIGlzIHRvbyBvbGQgZm9yIFwiYWxsXCIgY2FwcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjYXBhYmlsaXR5IFwiJXNcIiIKK21zZ3N0ciAiJXM6INCd0LXQuNC30LLQtdGB0YLQvdCw0Y8g0LrQvtC80LDQvdC00LA6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDc2CisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQgc2V0IC0tIHJlZnVzaW5nIHRvIGFkanVzdCIKK21zZ3N0ciAi0L3QtdGA0LDRgdC/0L7Qt9C90LDQvdC90YvQuSDRhNC+0YDQvNCw0YIgLSDQuNGB0L/QvtC70YzQt9GD0Y7RgtGB0Y8g0YHQtdC60YLQvtGA0YtcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0ODAKK21zZ2lkICJiYWQgc2VjdXJlYml0cyBzdHJpbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAiK2FsbCBzZWN1cmViaXRzIGlzIG5vdCBhbGxvd2VkIgorbXNnc3RyICInJWMnINC30LDQv9GA0LXRidC10L0uXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTAwCittc2dpZCAiYWRqdXN0aW5nIGtlZXBfY2FwcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTA0CisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQiCittc2dzdHIgItC90LXRgNCw0YHQv9C+0LfQvdCw0L3QvdGL0Lkg0LLQstC+0LQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTI0Cittc2dpZCAiU0VMaW51eCBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiU0VMaW51eCDQvdC1INGA0LDQsdC+0YLQsNC10YIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjbG9zZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJvcGVucHR5INC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LlcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NDcKK21zZ2lkICJBcHBBcm1vciBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiQXBwQXJtb3Ig0L3QtSDRgNCw0LHQvtGC0LDQtdGCIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY1OAorbXNnaWQgImR1cGxpY2F0ZSAtLW5vLW5ldy1wcml2cyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NjMKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY2NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcnVpZCIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NjkKK21zZ2lkICJkdXBsaWNhdGUgZXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY3MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXVpZCIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzUKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCBvciBldWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njc3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZXVpZCIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODEKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmdpZCIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODcKK21zZ2lkICJkdXBsaWNhdGUgZWdpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWdpZCIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2OTMKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCBvciBlZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njk1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZWdpZCIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MDAKK21zZ2lkICJkdXBsaWNhdGUgLS1jbGVhci1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzA2Cittc2dpZCAiZHVwbGljYXRlIC0ta2VlcC1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzEyCisjLCBmdXp6eQorbXNnaWQgImR1cGxpY2F0ZSAtLWdyb3VwcyBvcHRpb24iCittc2dzdHIgItCe0L/QsNGB0L3Ri9C1INC+0L/RhtC40Lg6IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcyMQorbXNnaWQgImR1cGxpY2F0ZSAtLWluaC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcyNworbXNnaWQgImR1cGxpY2F0ZSAtLWJvdW5kaW5nLXNldCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MzMKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWN1cmViaXRzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjczOQorbXNnaWQgImR1cGxpY2F0ZSAtLXNlbGludXgtbGFiZWwgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzQ1Cittc2dpZCAiZHVwbGljYXRlIC0tYXBwYXJtb3ItcHJvZmlsZSBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJyVjJyIKK21zZ3N0ciAi0L3QtdGA0LDRgdC/0L7Qt9C90LDQvdC90YvQuSDQstCy0L7QtDogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NjMKK21zZ2lkICItLWR1bXAgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzEKK21zZ2lkICItLWxpc3QtY2FwcyBtdXN0IGJlIHNwZWNpZmllZCBhbG9uZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3NworbXNnaWQgIk5vIHByb2dyYW0gc3BlY2lmaWVkIgorbXNnc3RyICLQn9GA0L7Qs9GA0LDQvNC80LAg0L3QtSDRg9C60LDQt9Cw0L3QsCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODIKK21zZ2lkICItLVtyZV1naWQgcmVxdWlyZXMgLS1rZWVwLWdyb3VwcywgLS1jbGVhci1ncm91cHMsIG9yIC0tZ3JvdXBzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzg1Cittc2dpZCAiZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzkzCittc2dpZCAia2VlcCBwcm9jZXNzIGNhcGFiaWxpdGllcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDEKK21zZ2lkICJhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDcKK21zZ2lkICJyZWFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyMworbXNnaWQgInNldCBwcm9jZXNzIHNlY3VyZWJpdHMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODI5Cittc2dpZCAiYXBwbHkgYm91bmRpbmcgc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODM1Cittc2dpZCAiYXBwbHkgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODQwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBleGVjdXRlOiAlcyIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0LLRi9C/0L7Qu9C90LjRgtGMOiAlcyIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJndW1lbnRzIC4uLl1cbiIKK21zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzINC/0YDQvtCz0YDQsNC80LzQsCBb0LDRgNCz0YPQvNC10L3RgiAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozNgorbXNnaWQgIlJ1biBhIHByb2dyYW0gaW4gYSBuZXcgc2Vzc2lvbi5cbiIKK21zZ3N0ciAi0JfQsNC/0YPRgdGC0LjRgtGMINC/0YDQvtCz0YDQsNC80LzRgyDQsiDQvdC+0LLQvtC5INGB0LXRgdGB0LjQuC5cbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjM5Cittc2dpZCAiIC1jLCAtLWN0dHkgICAgIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwgdG8gdGhlIGN1cnJlbnQgb25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQwCittc2dpZCAiIC13LCAtLXdhaXQgICAgIHdhaXQgcHJvZ3JhbSB0byBleGl0LCBhbmQgdXNlIHRoZSBzYW1lIHJldHVyblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo5MworbXNnaWQgImZvcmsiCittc2dzdHIgItGB0L7Qt9C00LDQvdC40LUg0LTQvtGH0LXRgNC90LXQs9C+INC/0YDQvtGG0LXRgdGB0LAiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hpbGQgJWQgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTAKKyMsIGZ1enp5Cittc2dpZCAic2V0c2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0LIg0Y/QtNGA0LUg0LfQvdCw0YfQtdC90LjQtSDQstC10LrQsC5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3dhcG9mZiAlc1xuIgorbXNnc3RyICIlcyDQvdCwICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA1Cittc2dpZCAiTm90IHN1cGVydXNlci4iCittc2dzdHIgItCd0LUg0YHRg9C/0LXRgNC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjC4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb2ZmIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyMiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8c3BlYz5dXG4iCittc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiAlcyBb0L7Qv9GG0LjQuF0g0YPRgdGC0YDQvtC50YHRgtCy0L4uLi5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjUKK21zZ2lkICJEaXNhYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI4Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIHN3YXBzIGZyb20gL3Byb2Mvc3dhcHNcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEzNQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTMKK21zZ2lkICJkZXZpY2UgZmlsZSBvciBwYXJ0aXRpb24gcGF0aCIKK21zZ3N0ciAi0L/Rg9GC0Ywg0Log0YPRgdGC0YDQvtC50YHRgtCy0YMg0LjQu9C4INGA0LDQt9C00LXQu9GDIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTQKK21zZ2lkICJ0eXBlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgItGC0LjQvyDRg9GB0YLRgNC+0LnRgdGC0LLQsCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk1Cittc2dpZCAic2l6ZSBvZiB0aGUgc3dhcCBhcmVhIgorbXNnc3RyICLRgNCw0LfQvNC10YAg0YHQstC+0L8t0L7QsdC70LDRgdGC0LgiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NgorbXNnaWQgImJ5dGVzIGluIHVzZSIKK21zZ3N0ciAi0LHQsNC50YIg0LjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTcKKyMsIGZ1enp5Cittc2dpZCAic3dhcCBwcmlvcml0eSIKK21zZ3N0ciAic2V0cHJpb3JpdHkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OAorbXNnaWQgInN3YXAgdXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAic3dhcCBsYWJlbCIKK21zZ3N0ciAi0LHQtdC3INC80LXRgtC60LgsICIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlc1x0XHRcdFx0VHlwZVx0XHRTaXplXHRVc2VkXHRQcmlvcml0eVxuIgorbXNnc3RyICIlc1x0XHRcdFx00KLQuNC/XHRcdNCg0LDQt9C80LXRgFx00JjRgdC/LdC90L5cdNCf0YDQuNC+0YDQuNGC0LXRglxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ2Cittc2dpZCAiRmlsZW5hbWUiCittc2dzdHIgItCY0LzRjyDRhNCw0LnQu9CwIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWluaXRpYWxpemluZyB0aGUgc3dhcC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxzZWVrIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC40YHQuiDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgc2lnbmF0dXJlIGZhaWxlZCIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0LfQsNC/0LjRgdCw0YLRjCDRgdGC0YDQsNC90LjRhtGDINGBINGB0LjQs9C90LDRgtGD0YDQvtC5IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgLSBpdCBhcHBlYXJzIHRvIGhhdmUgaG9sZXMuIgorbXNnc3RyICIlczog0J/RgNC+0L/Rg9GB0LrQsNC10YLRgdGPINGE0LDQudC7ICVzIC0g0L/QvtGF0L7QttC1INCyINC90ZHQvCDQuNC80LXRjtGC0YHRjyDQtNGL0YDRiy5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldCBzaXplIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC40YHQuiDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIHN3YXAgaGVhZGVyIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmb3VuZCBzaWduYXR1cmUgW3BhZ2VzaXplPSVkLCBzaWduYXR1cmU9JXNdIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhZ2VzaXplPSVkLCBzd2Fwc2l6ZT0lbGx1LCBkZXZzaXplPSVsbHUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGFzdF9wYWdlIDB4JTA4bGx4IGlzIGxhcmdlciB0aGFuIGFjdHVhbCBzaXplIG9mIHN3YXBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIChVc2UgLS1maXhwZ3N6IHRvIHJlaW5pdGlhbGl6ZSBpdC4pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNvZnR3YXJlIHN1c3BlbmQgZGF0YSBkZXRlY3RlZC4gUmV3cml0aW5nIHRoZSBzd2FwIHNpZ25hdHVyZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3dhcG9uICVzXG4iCittc2dzdHIgIiVzINC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvbiBmYWlsZWQiCittc2dzdHIgImZzeW5jINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub2F1dG8gb3B0aW9uIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiDQvtGI0LjQsdC60LAg0YDQsNC30LHQvtGA0LAg0LIg0YHRgtGA0L7QutC1ICVkIOKAlCDQuNCz0L3QvtGA0LjRgNGD0LXRgtGB0Y8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbHJlYWR5IGFjdGl2ZSAtLSBpZ25vcmVkIgorbXNnc3RyICIlczog0L7RiNC40LHQutCwINGA0LDQt9Cx0L7RgNCwINCyINGB0YLRgNC+0LrQtSAlZCDigJQg0LjQs9C90L7RgNC40YDRg9C10YLRgdGPIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaW5hY2Nlc3NpYmxlIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQt9Cw0L/QuNGB0LDRgtGMIGlub2RlJ9GLIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzkxCittc2dpZCAiRW5hYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTQKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICBlbmFibGUgYWxsIHN3YXBzIGZyb20gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAg0K3RgtC+INC90LXQsdC+0LvRjNGI0L7QtSDRgNGD0LrQvtCy0L7QtNGB0YLQstC+INC/0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NQorbXNnaWQgIiAtZCwgLS1kaXNjYXJkWz08cG9saWN5Pl0gZW5hYmxlIHN3YXAgZGlzY2FyZHMsIGlmIHN1cHBvcnRlZCBieSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk2Cittc2dpZCAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBzaWxlbnRseSBza2lwIGRldmljZXMgdGhhdCBkbyBub3QgZXhpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk3Cittc2dpZCAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICByZWluaXRpYWxpemUgdGhlIHN3YXAgc3BhY2UgaWYgbmVjZXNzYXJ5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5OAorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2Ygc3dhcCBvcHRpb25zXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5OQorbXNnaWQgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgc3BlY2lmeSB0aGUgcHJpb3JpdHkgb2YgdGhlIHN3YXAgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMAorbXNnaWQgIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgZGlzcGxheSBzdW1tYXJ5IGFib3V0IHVzZWQgc3dhcCBkZXZpY2VzIChERVBSRUNBVEVEKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDEKK21zZ2lkICIgICAgIC0tc2hvd1s9PGNvbHVtbnM+XSAgIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgdGFibGUgaGVhZGluZyAod2l0aCAtLXNob3cpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICDQndC1INC30LDQutC70Y7Rh9Cw0YLRjCDQsiDQutCw0LLRi9GH0LrQuCDQstGL0YXQvtC00L3Ri9C1INC00LDQvdC90YvQtVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAzCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCAod2l0aCAtLXNob3cpXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDQktGL0LLQvtC0INC40L3RhNC+0YDQvNCw0YbQuNC4INC+INCy0LXRgNGB0LjQuFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA0CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHNpemUgaW4gYnl0ZXMgaW4gLS1zaG93IG91dHB1dFxuIgorbXNnc3RyICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAg0L/QvtC60LDQt9Cw0YLRjCDRjdGC0YMg0YHQv9GA0LDQstC60YMg0Lgg0LLRi9C50YLQuFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDQktGL0LLQvtC0INC40L3RhNC+0YDQvNCw0YbQuNC4INC+INCy0LXRgNGB0LjQuFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODExCittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MjEKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGRpc2NhcmQgcG9saWN5IHR5cGVzIChmb3IgLS1kaXNjYXJkKTpcbiIKKyIgb25jZSAgICA6IG9ubHkgc2luZ2xlLXRpbWUgYXJlYSBkaXNjYXJkcyBhcmUgaXNzdWVkXG4iCisiIHBhZ2VzICAgOiBmcmVlZCBwYWdlcyBhcmUgZGlzY2FyZGVkIGJlZm9yZSB0aGV5IGFyZSByZXVzZWRcbiIKKyJJZiBubyBwb2xpY3kgaXMgc2VsZWN0ZWQsIGJvdGggZGlzY2FyZCB0eXBlcyBhcmUgZW5hYmxlZCAoZGVmYXVsdCkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgyNgorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3cpOlxuIgorbXNnc3RyICLQlNC+0YHRgtGD0L/QvdGL0LUg0LrQvtC80LDQvdC00Ys6XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MDQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHByaW9yaXR5IgorbXNnc3RyICLQntGI0LjQsdC60LAg0LfQsNC/0LjRgdC4INGA0LDQt9C00LXQu9CwINC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkyMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzo3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgdGhlIGRldmljZSBmb3IgJXMiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvdCw0LnRgtC4INGD0YHRgtGA0L7QudGB0YLQstC+INC00LvRjyAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo1OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkaXJlY3RvcnkiCittc2dzdHIgItCe0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0Lgg0YDQsNC30LTQtdC70LAg0L3QsCAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2NworIywgZnV6enkKK21zZ2lkICJzdGF0IGZhaWxlZCIKK21zZ3N0ciAiKNCh0LvQtdC00YPRjtGJ0LjQuSDRhNCw0LnQuzogJXMpIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo3OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBkaXJlY3RvcnkiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INC/0YDQvtGH0LjRgtCw0YLRjCAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJXMiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAlcyIKK21zZ3N0ciAiaW9jdGwoKSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5INC/0YDQuCDRh9GC0LXQvdC40Lgg0LLRgNC10LzQtdC90Lgg0LjQtyAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmb3JjaW5nIHVubW91bnQgb2YgJXMiCittc2dzdHIgItCS0YvQv9C+0LvQvdGP0LXRgtGB0Y8g0L/QvtC/0YvRgtC60LAg0YDQsNC30LzQvtC90YLQuNGA0L7QstCw0YLRjCAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gLyIKK21zZ3N0ciAiaW9jdGwoKSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5INC/0YDQuCDRh9GC0LXQvdC40Lgg0LLRgNC10LzQtdC90Lgg0LjQtyAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTc1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCIKK21zZ3N0ciAi0J7RiNC40LHQutCwINC30LDQv9C40YHQuCDRgNCw0LfQtNC10LvQsCDQvdCwICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE4OAorbXNnaWQgIm9sZCByb290IGZpbGVzeXN0ZW0gaXMgbm90IGFuIGluaXRyYW1mcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bmV3cm9vdGRpcj4gPGluaXQ+IDxhcmdzIHRvIGluaXQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA0Cittc2dpZCAiU3dpdGNoIHRvIGFub3RoZXIgZmlsZXN5c3RlbSBhcyB0aGUgcm9vdCBvZiB0aGUgbW91bnQgdHJlZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMzYKK21zZ2lkICJmYWlsZWQuIFNvcnJ5LiIKK21zZ3N0ciAi0L3QtdGD0LTQsNGH0LAuINCW0LDQu9GMLiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgYWNjZXNzICVzIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCAlcyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk0Cittc2dpZCAiU2V0IHZhcmlvdXMgcGFyYW1ldGVycyBmb3IgdGhlIGxpbmUgcHJpbnRlci5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTcKK21zZ2lkICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICBzcGVjaWZ5IHBhcmFsbGVsIHBvcnQgaXJxXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk4Cittc2dpZCAiIC10LCAtLXRpbWUgPG1zPiAgICAgICAgICAgICAgZHJpdmVyIHdhaXQgdGltZSBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTkKK21zZ2lkICIgLWMsIC0tY2hhcnMgPG51bT4gICAgICAgICAgICBudW1iZXIgb2Ygb3V0cHV0IGNoYXJhY3RlcnMgYmVmb3JlIHNsZWVwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMAorbXNnaWQgIiAtdywgLS13YWl0IDx1cz4gICAgICAgICAgICAgIHN0cm9iZSB3YWl0IGluIG1pY3JvIHNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSA8b258b2ZmPiBhcmd1bWVudHMuIFRoZQorIy4gYXJndW1lbnQgcmVhZGVyIGRvZXMgbm90IHJlY29nbml6ZSBsb2NhbGUsIHVubGVzcyBgb24nIGlzCisjLiBleGFjdGx5IHRoYXQgdmVyeSBzYW1lIHN0cmluZy4KKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDQKK21zZ2lkICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhYm9ydCBvbiBlcnJvclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDUKK21zZ2lkICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBjaGVjayBwcmludGVyIHN0YXR1cyBiZWZvcmUgcHJpbnRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA2Cittc2dpZCAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAgZXh0cmEgY2hlY2tpbmcgdG8gc3RhdHVzIGNoZWNrXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICBxdWVyeSBwcmludGVyIHN0YXR1c1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAg0J3QtSDQt9Cw0LrQu9GO0YfQsNGC0Ywg0LIg0LrQsNCy0YvRh9C60Lgg0LLRi9GF0L7QtNC90YvQtSDQtNCw0L3QvdGL0LVcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOAorbXNnaWQgIiAtVCwgLS10cnVzdC1pcnEgPG9ufG9mZj4gICAgIG1ha2UgZHJpdmVyIHRvIHRydXN0IGlycVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDkKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcmVzZXQgdGhlIHBvcnRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTAKK21zZ2lkICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICBkaXNwbGF5IGN1cnJlbnQgaXJxIHNldHRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBhbiBscCBkZXZpY2UiCittc2dzdHIgIiVzINC90LUgbHAt0YPRgdGC0YDQvtC50YHRgtCy0L4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODAKK21zZ2lkICJMUEdFVFNUQVRVUyBlcnJvciIKK21zZ3N0ciAi0L7RiNC40LHQutCwIExQR0VUU1RBVFVTIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN0YXR1cyBpcyAlZCIKK21zZ3N0ciAiJXMg0YHQvtGB0YLQvtGP0L3QuNC1IC0gJWQiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBidXN5IgorbXNnc3RyICIsINC30LDQvdGP0YIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCByZWFkeSIKK21zZ3N0ciAiLCDQs9C+0YLQvtCyIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb3V0IG9mIHBhcGVyIgorbXNnc3RyICIsINC90LXRgiDQsdGD0LzQsNCz0LgiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvbi1saW5lIgorbXNnc3RyICIsINC+0L3Qu9Cw0LnQvSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5NQorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVycm9yIgorbXNnc3RyICIsINC+0YjQuNCx0LrQsCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMwMAorbXNnaWQgImlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxMAorbXNnaWQgIkxQR0VUSVJRIGVycm9yIgorbXNnc3RyICLQvtGI0LjQsdC60LAgTFBHRVRJUlEiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgSVJRICVkXG4iCittc2dzdHIgIiVzINC40YHQv9C+0LvRjNC30YPQtdGCINC/0YDQtdGA0YvQstCw0L3QuNC1ICVkXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgcG9sbGluZ1xuIgorbXNnc3RyICIlcyDQuNGB0L/QvtC70YzQt9GD0LXRgiDQvtC/0YDQvtGBXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gfCA8ZGlyZWN0b3J5PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4MQorbXNnaWQgIlVubW91bnQgZmlsZXN5c3RlbXMuXG4iCittc2dzdHIgItCg0LDQt9C80L7QvdGC0LjRgNC+0LLQsNC90LjQtSDRhNCw0LnQu9C+0LLRi9GFINGB0LjRgdGC0LXQvC5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg0Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHVubW91bnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICDRgNCw0LfQvNC+0L3RgtC40YDQvtCy0LDRgtGMINCy0YHQtSDRhNCw0LnQu9C+0LLRi9C1INGB0LjRgdGC0LXQvNGLXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NQorbXNnaWQgIiIKKyIgLUEsIC0tYWxsLXRhcmdldHMgICAgICAgdW5tb3VudCBhbGwgbW91bnRwb2ludHMgZm9yIHRoZSBnaXZlbiBkZXZpY2UgaW4gdGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODcKK21zZ2lkICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg4Cittc2dpZCAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGlmIG1vdW50ZWQgbG9vcCBkZXZpY2UsIGFsc28gZnJlZSB0aGlzIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg5Cittc2dpZCAiICAgICAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIHVtb3VudCgyKSBzeXNjYWxsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkwCittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIGZvcmNlIHVubW91bnQgKGluIGNhc2Ugb2YgYW4gdW5yZWFjaGFibGUgTkZTIHN5c3RlbSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTEKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgdW1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkzCittc2dpZCAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGRldGFjaCB0aGUgZmlsZXN5c3RlbSBub3csIGNsZWFuIHVwIHRoaW5ncyBsYXRlclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NAorbXNnaWQgIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTUKK21zZ2lkICIgLVIsIC0tcmVjdXJzaXZlICAgICAgICAgcmVjdXJzaXZlbHkgdW5tb3VudCBhIHRhcmdldCB3aXRoIGFsbCBpdHMgY2hpbGRyZW5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTYKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgaW4gY2FzZSB1bm1vdW50aW5nIGZhaWxzLCB0cnkgdG8gcmVtb3VudCByZWFkLW9ubHlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTcKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIgICBsICAg0YHQv9C40YHQvtC6INGC0LjQv9C+0LIg0LjQt9Cy0LXRgdGC0L3Ri9GFINGE0LDQudC70L7QstGL0YUg0YHQuNGB0YLQtdC8IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcykgdW5tb3VudGVkIgorbXNnc3RyICIlcyAoJXMpINGA0LDQt9C80L7QvdGC0LjRgNC+0LLQsNC9IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVubW91bnRlZCIKK21zZ3N0ciAiJXMg0YDQsNC30LzQvtC90YLQuNGA0L7QstCw0L0uIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW1vdW50IGZhaWxlZCIKK21zZ3N0ciAibW91bnQg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAidW1vdW50OiAlczog0L3QtdCy0LXRgNC90L7QtSDQsdC70L7Rh9C90L7QtSDRg9GB0YLRgNC+0LnRgdGC0LLQviIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IHdyaXRlIHN1cGVyYmxvY2siCittc2dzdHIgInVtb3VudDogJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC30LDQv9C40YHQsNGC0Ywg0YHRg9C/0LXRgNCx0LvQvtC6IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlczogdGFyZ2V0IGlzIGJ1c3lcbiIKKyIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0XG4iCisiICAgICAgICAgdXNlIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKS4pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudHBvaW50IG5vdCBmb3VuZCIKK21zZ3N0ciAidW1vdW50OiAlczog0L3QtSDQvdCw0LnQtNC10L0iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNTAKK21zZ2lkICJ1bmRlZmluZWQgbW91bnRwb2ludCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdW5tb3VudCIKK21zZ3N0ciAidW1vdW50OiAlczog0L3QtdC+0LHRhdC+0LTQuNC80L4g0LjQvNC10YLRjCDQv9GA0LDQstCwINGB0YPQv9C10YDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0LTQu9GPINGA0LDQt9C80L7QvdGC0LjRgNC+0LLQsNC90LjRjyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJsb2NrIGRldmljZXMgYXJlIG5vdCBwZXJtaXR0ZWQgb24gZmlsZXN5c3RlbSIKK21zZ3N0ciAidW1vdW50OiAlczog0LHQu9C+0YfQvdGL0LUg0YPRgdGC0YDQvtC50YHRgtCy0LAg0L3QsCBmcyDQt9Cw0L/RgNC10YnQtdC90YsiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozMDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCB1bW91bnQgdGFyZ2V0IgorbXNnc3RyICLQntGI0LjQsdC60LAg0LfQsNC/0LjRgdC4INGA0LDQt9C00LXQu9CwINC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMyMworbXNnaWQgImxpYm1vdW50IHRhYmxlIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozNjYgc3lzLXV0aWxzL3Vtb3VudC5jOjQ0NgorIywgZnV6enkKK21zZ2lkICJsaWJtb3VudCBpdGVyYXRvciBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibWFsbG9jINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgY2hpbGQgZnMgb2YgJXMiCittc2dzdHIgItCe0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0Lgg0YDQsNC30LTQtdC70LAg0L3QsCAlc1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NDEwIHN5cy11dGlscy91bW91bnQuYzo0MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQiCittc2dzdHIgInVtb3VudDogJXM6INC90LUg0L3QsNC50LTQtdC9IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NDQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGV0ZXJtaW5lIHNvdXJjZSAoLS1hbGwtdGFyZ2V0cyBpcyB1bnN1cHBvcnRlZCBvbiBzeXN0ZW1zIHdpdGggcmVndWxhciBtdGFiIGZpbGUpLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCAtLXNldGdyb3VwcyBhcmd1bWVudCAnJXMnIgorbXNnc3RyICIlczog0L3QtdC40LfQstC10YHRgtC90YvQuSDQsNGA0LPRg9C80LXQvdGCOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjExMCBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkICVzIgorbXNnc3RyICIo0KHQu9C10LTRg9GO0YnQuNC5INGE0LDQudC7OiAlcykiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcm9wYWdhdGlvbiBtb2RlOiAlcyIKK21zZ3N0ciAi0JLQstC10LTQuNGC0LUg0YLQuNC/INGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80Ys6IgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1NworbXNnaWQgImNhbm5vdCBjaGFuZ2Ugcm9vdCBmaWxlc3lzdGVtIHByb3BhZ2F0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCAlcyIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0YHQvtGB0YLQvtGP0L3QuNC1INGD0YHRgtGA0L7QudGB0YLQstCwICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIxMworIywgZnV6enkKK21zZ2lkICJwaXBlIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5XG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjI3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIHBpcGUiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INC/0YDQvtGH0LjRgtCw0YLRjCAlc1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1MAorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBzb21lIG5hbWVzcGFjZXMgdW5zaGFyZWQgZnJvbSB0aGUgcGFyZW50LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUzCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAg0J3QtSDQt9Cw0LrQu9GO0YfQsNGC0Ywg0LIg0LrQsNCy0YvRh9C60Lgg0LLRi9GF0L7QtNC90YvQtSDQtNCw0L3QvdGL0LVcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTQKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICDQntGC0LrQu9GO0YfQtdC90LjQtSDQvtGC0YfQtdGC0LAg0L7QsSDQvtGI0LjQsdC60LDRhSBnZXRvcHQoMylcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTUKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICDQrdGC0L4g0L3QtdCx0L7Qu9GM0YjQvtC1INGA0YPQutC+0LLQvtC00YHRgtCy0L4g0L/QviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjlxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NgorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICDQn9GA0L7QstC10YDQutCwINCy0LXRgNGB0LjQuCBnZXRvcHQoMSlcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTcKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICDQrdGC0L4g0L3QtdCx0L7Qu9GM0YjQvtC1INGA0YPQutC+0LLQvtC00YHRgtCy0L4g0L/QviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjlxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OAorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICDQrdGC0L4g0L3QtdCx0L7Qu9GM0YjQvtC1INGA0YPQutC+0LLQvtC00YHRgtCy0L4g0L/QviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjlxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OQorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICAgICB1bnNoYXJlIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYwCittc2dpZCAiIC1mLCAtLWZvcmsgICAgICAgICAgICAgICAgZm9yayBiZWZvcmUgbGF1bmNoaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYxCittc2dpZCAiICAgICAtLW1vdW50LXByb2NbPTxkaXI+XSAgbW91bnQgcHJvYyBmaWxlc3lzdGVtIGZpcnN0IChpbXBsaWVzIC0tbW91bnQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjIKK21zZ2lkICIgLXIsIC0tbWFwLXJvb3QtdXNlciAgICAgICBtYXAgY3VycmVudCB1c2VyIHRvIHJvb3QgKGltcGxpZXMgLS11c2VyKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYzCittc2dpZCAiIgorIiAgICAgLS1wcm9wYWdhdGlvbiBzbGF2ZXxzaGFyZWR8cHJpdmF0ZXx1bmNoYW5nZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZnkgbW91bnQgcHJvcGFnYXRpb24gaW4gbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjUKK21zZ2lkICIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIGNvbnRyb2wgdGhlIHNldGdyb3VwcyBzeXNjYWxsIGluIHVzZXIgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6Mzg2CisjLCBmdXp6eQorbXNnaWQgInVuc2hhcmUgZmFpbGVkIgorbXNnc3RyICLQv9C+0LjRgdC6INC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDMwCisjLCBmdXp6eQorbXNnaWQgImNoaWxkIGV4aXQgZmFpbGVkIgorbXNnc3RyICLQstGL0L/QvtC70L3QtdC90LjQtSDQt9Cw0LLQtdGA0YjQuNC70L7RgdGMINC90LXRg9C00LDRh9C10LlcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzcKK21zZ2lkICJvcHRpb25zIC0tc2V0Z3JvdXBzPWFsbG93IGFuZCAtLW1hcC1yb290LXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgZmFpbGVkIgorbXNnc3RyICJtb3VudCDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3MworbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc0Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NQorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAiRmFuIGZhaWxlZCIKK21zZ3N0ciAiZnN5bmMg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzcKK21zZ2lkICJLZWVwIGFsaXZlIHBpbmcgcmVwbHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzgKK21zZ2lkICJTdXBwb3J0cyBtYWdpYyBjbG9zZSBjaGFyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc5Cittc2dpZCAiUmVzZXQgZHVlIHRvIENQVSBvdmVyaGVhdCIKK21zZ3N0ciAi0J/QtdGA0LXQt9Cw0L/Rg9GB0YIg0LjQty3Qt9CwINC/0LXRgNC10LPRgNC10LLQsCDQptCfIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MAorbXNnaWQgIlBvd2VyIG92ZXIgdm9sdGFnZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MQorbXNnaWQgIlBvd2VyIGJhZC9wb3dlciBmYXVsdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MgorbXNnaWQgIlByZXRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgzCittc2dpZCAiU2V0IHRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjg0Cittc2dpZCAiTm90IHRyaWdnZXIgcmVib290IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMAorbXNnaWQgImZsYWcgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDEKK21zZ2lkICJmbGFnIGRlc2NyaXB0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMgorIywgZnV6enkKK21zZ2lkICJmbGFnIHN0YXR1cyIKK21zZ3N0ciAi0YHQvtGB0YLQvtGP0L3QuNC1IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDMKK21zZ2lkICJmbGFnIGJvb3Qgc3RhdHVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwNAorbXNnaWQgIndhdGNoZG9nIGRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmbGFnOiAlcyIKK21zZ3N0ciAiJXM6INCd0LXQuNC30LLQtdGB0YLQvdCw0Y8g0LrQvtC80LDQvdC00LA6ICVzXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE3NworbXNnaWQgIlNob3cgdGhlIHN0YXR1cyBvZiB0aGUgaGFyZHdhcmUgd2F0Y2hkb2cuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTgwCittc2dpZCAiIgorIiAtZiwgLS1mbGFncyA8bGlzdD4gICAgIHByaW50IHNlbGVjdGVkIGZsYWdzIG9ubHlcbiIKKyIgLUYsIC0tbm9mbGFncyAgICAgICAgICBkb24ndCBwcmludCBpbmZvcm1hdGlvbiBhYm91dCBmbGFnc1xuIgorIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIGlkZW50aXR5IGluZm9ybWF0aW9uXG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIGZsYWdzIHRhYmxlXG4iCisiIC1PLCAtLW9uZWxpbmUgICAgICAgICAgcHJpbnQgYWxsIGluZm9ybWF0aW9uIG9uIG9uZSBsaW5lXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgb3V0cHV0IGNvbHVtbnMgb2YgdGhlIGZsYWdzXG4iCisiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0IGZvciBmbGFncyB0YWJsZVxuIgorIiAtVCwgLS1ub3RpbWVvdXRzICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIHRpbWVvdXRzXG4iCisiIC1zLCAtLXNldHRpbWVvdXQgPHNlYz4gc2V0IHdhdGNoZG9nIHRpbWVvdXRcbiIKKyIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICBwcmludCBvbmx5IGZsYWdzIHRhYmxlIChzYW1lIGFzIC1JIC1UKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRlZmF1bHQgZGV2aWNlIGlzICVzLlxuIgorbXNnc3RyICJsb29wOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCDRg9GB0YLRgNC+0LnRgdGC0LLQviAlczogJXNcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk5CisjLCBmdXp6eQorbXNnaWQgIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorbXNnc3RyICLQlNC+0YHRgtGD0L/QvdGL0LUg0LrQvtC80LDQvdC00Ys6XG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjI4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZmxhZ3MgMHgleFxuIgorbXNnc3RyICIlczog0L3QtdC40LfQstC10YHRgtC90YvQuSDRgdC40LPQvdCw0LsgJXNcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzE5IHN5cy11dGlscy93ZGN0bC5jOjM3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2F0Y2hkb2cgYWxyZWFkeSBpbiB1c2UsIHRlcm1pbmF0aW5nLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMzMgc3lzLXV0aWxzL3dkY3RsLmM6NDAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRpc2FybSB3YXRjaGRvZyIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRpbWVvdXQgZm9yICVzIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQv9C+0LvRg9GH0LjRgtGMINGC0LDQudC8LdCw0YPRgiDQtNC70Y8gJXM6ICVzXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kLlxuIgorbXNnaWRfcGx1cmFsICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmRzLlxuIgorbXNnc3RyWzBdICLQktGA0LXQvNGPINC/0L7RgdC70LUg0L/QvtGB0LvQtdC00L3QtdC5INC60L7RgNGA0LXQutGC0LjRgNC+0LLQutC4INGB0L7RgdGC0LDQstC70Y/QtdGCICVkINGB0LXQutGD0L3QtFxuIgorbXNnc3RyWzFdICLQktGA0LXQvNGPINC/0L7RgdC70LUg0L/QvtGB0LvQtdC00L3QtdC5INC60L7RgNGA0LXQutGC0LjRgNC+0LLQutC4INGB0L7RgdGC0LDQstC70Y/QtdGCICVkINGB0LXQutGD0L3QtFxuIgorbXNnc3RyWzJdICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB3YXRjaGRvZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjQgc3lzLXV0aWxzL3dkY3RsLmM6NDY3IHN5cy11dGlscy93ZGN0bC5jOjQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlLTE0cyAlMmkgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIiUtMTRzICUyaSBzZWNvbmRzXG4iCittc2dzdHJbMF0gIiUtMTRzICUyaSDRgdC10LrRg9C90LTQsFxuIgorbXNnc3RyWzFdICIiCisiJS0xNHMgJTJpINGB0LXQutGD0L3QtNGLXG4iCisiXG4iCittc2dzdHJbMl0gIiUtMTRzICUyaSDRgdC10LrRg9C90LRcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY1Cittc2dpZCAiVGltZW91dDoiCittc2dzdHIgItCi0LDQudC80LDRg9GCOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY4CisjLCBmdXp6eQorbXNnaWQgIlByZS10aW1lb3V0OiIKK21zZ3N0ciAi0LLRgNC10LzRjyDQvtC20LjQtNCw0L3QuNGPINC40YHRgtC10LrQu9C+IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NzEKK21zZ2lkICJUaW1lbGVmdDoiCittc2dzdHIgItCe0YHRgtCw0LLRiNC10LXRgdGPINCy0YDQtdC80Y86IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDUKK21zZ2lkICJEZXZpY2U6IgorbXNnc3RyICLQo9GB0YLRgC3QstC+OiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA3Cittc2dpZCAiSWRlbnRpdHk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwOQorbXNnaWQgInZlcnNpb24iCittc2dzdHIgItCy0LXRgNGB0LjRjyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MworIywgZnV6enkKK21zZ2lkICJ6cmFtIGRldmljZSBuYW1lIgorbXNnc3RyICLQsdC70L7Rh9C90L7QtSDRg9GB0YLRgNC+0LnRgdGC0LLQviAiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzQKK21zZ2lkICJsaW1pdCBvbiB0aGUgdW5jb21wcmVzc2VkIGFtb3VudCBvZiBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzUKK21zZ2lkICJ1bmNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAi0L3QtdGB0LbQsNGC0YvQuSDRgNCw0LfQvNC10YAg0YXRgNCw0L3QuNC80YvRhSDQtNCw0L3QvdGL0YUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzYKK21zZ2lkICJjb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgItGB0LbQsNGC0YvQuSDRgNCw0LfQvNC10YAg0YXRgNCw0L3QuNC80YvRhSDQtNCw0L3QvdGL0YUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzcKK21zZ2lkICJ0aGUgc2VsZWN0ZWQgY29tcHJlc3Npb24gYWxnb3JpdGhtIgorbXNnc3RyICLQstGL0LHRgNCw0L3QvdGL0Lkg0LDQu9Cz0L7RgNC40YLQvCDRgdC20LDRgtC40Y8iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzgKK21zZ2lkICJudW1iZXIgb2YgY29uY3VycmVudCBjb21wcmVzcyBvcGVyYXRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiZW1wdHkgcGFnZXMgd2l0aCBubyBhbGxvY2F0ZWQgbWVtb3J5IgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQstGL0LTQtdC70LjRgtGMINCx0YPRhNC10YAuXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODAKK21zZ2lkICJhbGwgbWVtb3J5IGluY2x1ZGluZyBhbGxvY2F0b3IgZnJhZ21lbnRhdGlvbiBhbmQgbWV0YWRhdGEgb3ZlcmhlYWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MQorbXNnaWQgIm1lbW9yeSBsaW1pdCB1c2VkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgyCittc2dpZCAibWVtb3J5IHpyYW0gaGF2ZSBiZWVuIGNvbnN1bWVkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgzCittc2dpZCAibnVtYmVyIG9mIG9iamVjdHMgbWlncmF0ZWQgYnkgY29tcGFjdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjM2MyBzeXMtdXRpbHMvenJhbWN0bC5jOjM3NAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgbW1fc3RhdCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCDQvdCw0YfQsNC70L4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCisiICUxJHMgLXIgPGRldmljZT4gWy4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8ZGV2aWNlPiAtcyA8c2l6ZT5cbiIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6IG1rZnMgWy1WXSBbLXQg0YLQuNC/X9GE0YFdIFvQvtC/0YbQuNC4X9GE0YFdINGD0YHRgtGA0L7QudGB0YLQstC+IFvRgNCw0LfQvNC10YBdXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTI3Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIHpyYW0gZGV2aWNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMAorbXNnaWQgIiAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NCAgIGNvbXByZXNzaW9uIGFsZ29yaXRobSB0byB1c2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMQorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIGZpbmQgYSBmcmVlIGRldmljZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAg0K3RgtC+INC90LXQsdC+0LvRjNGI0L7QtSDRgNGD0LrQvtCy0L7QtNGB0YLQstC+INC/0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM0CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIGNvbHVtbnMgdG8gdXNlIGZvciBzdGF0dXMgb3V0cHV0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINC00LDQvdC90YvQtSDQsiDQstC40LTQtSDRgdC/0LjRgdC60LBcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgdXNlIHJhdyBzdGF0dXMgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAg0J3QtSDQt9Cw0LrQu9GO0YfQsNGC0Ywg0LIg0LrQsNCy0YvRh9C60Lgg0LLRi9GF0L7QtNC90YvQtSDQtNCw0L3QvdGL0LVcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzYKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICDQrdGC0L4g0L3QtdCx0L7Qu9GM0YjQvtC1INGA0YPQutC+0LLQvtC00YHRgtCy0L4g0L/QviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjlxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzNworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAg0L/QvtC60LDQt9Cw0YLRjCDQstGB0LUg0YPRgdGC0YDQvtC50YHRgtCy0LBcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzgKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXN0cmVhbXMgPG51bWJlcj4gICAgbnVtYmVyIG9mIGNvbXByZXNzaW9uIHN0cmVhbXNcbiIKK21zZ3N0ciAiIC1TLCAtLXNlY3RvcnMgPNGH0LjRgdC70L4+ICAgICAgICAg0YPQutCw0LbQuNGC0LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0YHQtdC60YLQvtGA0L7QsiDQvdCwINC00L7RgNC+0LbQutGDXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBhbGdvcml0aG06ICVzIgorbXNnc3RyICIlczog0L3QtdC40LfQstC10YHRgtC90YvQuSDQsNGA0LPRg9C80LXQvdGCOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYyNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RyZWFtcyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCDQvdCw0YfQsNC70L4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjQ4Cittc2dpZCAib3B0aW9uIC0tZmluZCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8ZGV2aWNlPiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NAorbXNnaWQgIm9ubHkgb25lIDxkZXZpY2U+IGF0IGEgdGltZSBpcyBhbGxvd2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjU3Cittc2dpZCAib3B0aW9ucyAtLWFsZ29yaXRobSBhbmQgLS1zdHJlYW1zIG11c3QgYmUgY29tYmluZWQgd2l0aCAtLXNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODcgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVzZXQiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njk4IHN5cy11dGlscy96cmFtY3RsLmM6NzA2Cittc2dpZCAibm8gZnJlZSB6cmFtIGRldmljZSBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgbnVtYmVyIG9mIHN0cmVhbXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0LrQvtC70LjRh9C10YHRgtCy0L4g0YHRgtGA0L7QuiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGFsZ29yaXRobSIKK21zZ3N0ciAiJXM6INC90LUg0YPQtNCw0LvQvtGB0Ywg0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0YTQsNC50Lsg0L/QvtC00LTQtdGA0LbQutC4IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgZGlza3NpemUgKCVqdSBieXRlcykiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC/0LXRgNC10LzQvtGC0LDRgtGMINGD0YHRgtGA0L7QudGB0YLQstC+INC00LvRjyDRgdCy0L7Qv9C40L3Qs9CwIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjQ1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzIChhdXRvbWF0aWMgbG9naW4pXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugcm9vdCBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0LLRi9C/0L7Qu9C90LjRgtGMICVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugd29ya2luZyBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0LLRi9C/0L7Qu9C90LjRgtGMICVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2UgcHJvY2VzcyBwcmlvcml0eTogJW0iCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvdCw0LnRgtC4INC/0YDQvtGG0LXRgdGBIFwiJXNcIlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgZXhlYyAlczogJW0iCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQstGL0L/QvtC70L3QuNGC0YwgJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjU1NSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg0MSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg1MworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzAgdGVybS11dGlscy9hZ2V0dHkuYzoxNDE1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQzMworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDY5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ3OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE1MTYKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk3OCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI1MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnk6ICVtIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQstGL0LTQtdC70LjRgtGMINCx0YPRhNC10YAuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NjgwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZGVsYXkgYXJndW1lbnQiCittc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQuSDQsNGA0LPRg9C80LXQvdGCINCz0L7Qu9C+0LLQvtC6IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjcxOQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC0tbG9jYWwtbGluZSIKK21zZ3N0ciAi0JrQvtC70LjRh9C10YHRgtCy0L4g0YbQuNC70LjQvdC00YDQvtCyIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjczOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG5pY2UgYXJndW1lbnQiCittc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQuSDQsNGA0LPRg9C80LXQvdGCINCy0YDQtdC80LXQvdC4IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3BlZWQ6ICVzIgorbXNnc3RyICLQvdC10LLQtdGA0L3QsNGPINGB0LrQvtGA0L7RgdGC0Yw6ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3NworbXNnaWQgInRvbyBtYW55IGFsdGVybmF0ZSBzcGVlZHMiCittc2dzdHIgItGB0LvQuNGI0LrQvtC8INC80L3QvtCz0L4g0LDQu9GM0YLQtdGA0L3QsNGC0LjQstC90YvRhSDRgdC60L7RgNC+0YHRgtC10LkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAwNiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMTAgdGVybS11dGlscy9hZ2V0dHkuYzoxMDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBvcGVuIGFzIHN0YW5kYXJkIGlucHV0OiAlbSIKK21zZ3N0ciAiL2Rldi8lczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0Ywg0LrQsNC6INGB0YLQsNC90LTQsNGA0YLQvdGL0Lkg0LLQstC+0LQ6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgY2hhcmFjdGVyIGRldmljZSIKK21zZ3N0ciAiL2Rldi8lczog0L3QtdCx0LvQvtGH0L3QvtC1INGD0YHRgtGA0L7QudGB0YLQstC+IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIHR0eSIKK21zZ3N0ciAiL2Rldi8lczog0L3QtdCx0LvQvtGH0L3QvtC1INGD0YHRgtGA0L7QudGB0YLQstC+IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzUgdGVybS11dGlscy9hZ2V0dHkuYzoxMDY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3QgZ2V0IGNvbnRyb2xsaW5nIHR0eTogJW0iCittc2dzdHIgIi9kZXYvJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMINC60LDQuiDRgdGC0LDQvdC00LDRgNGC0L3Ri9C5INCy0LLQvtC0OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiB2aGFuZ3VwKCkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiL2RldjogY2hkaXIoKSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3Qgb3BlbiBmb3IgcmVhZC93cml0ZSIKK21zZ3N0ciAiJXM6INC90LUg0L7RgtC60YDRi9GCINC00LvRjyDRh9GC0LXQvdC40Y8v0LfQsNC/0LjRgdC4IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBzZXQgcHJvY2VzcyBncm91cDogJW0iCittc2dzdHIgIi9kZXYvJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMINC60LDQuiDRgdGC0LDQvdC00LDRgNGC0L3Ri9C5INCy0LLQvtC0OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkdXAgcHJvYmxlbTogJW0iCittc2dzdHIgIiVzOiDQv9GA0L7QsdC70LXQvNCwINC00YPQsdC70LjRgNC+0LLQsNC90LjRjzogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTExNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC/0L7Qu9GD0YfQuNGC0Ywg0YDQsNC30LzQtdGAICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzMjEgdGVybS11dGlscy9hZ2V0dHkuYzoxMzQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXMgZmFpbGVkOiAlbSIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L/QvtC70YPRh9C40YLRjCDRgNCw0LfQvNC10YAgJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ1OQorbXNnaWQgImNhbm5vdCBvcGVuIG9zLXJlbGVhc2UgZmlsZSIKK21zZ3N0ciAi0L3QtSDQvNC+0LPRgyDQvtGC0LrRgNGL0YLRjCDRhNCw0LnQuyBvcy1yZWxlYXNlIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE2MzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcmVsb2FkIGZpbGU6ICVzOiAlbSIKK21zZ3N0ciAiaW9jdGwoKSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5INC/0YDQuCDRh9GC0LXQvdC40Lgg0LLRgNC10LzQtdC90Lgg0LjQtyAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzM2Cittc2dpZCAiW3ByZXNzIEVOVEVSIHRvIGxvZ2luXSIKK21zZ3N0ciAiW9C90LDQttC80LjRgtC1IEVOVEVSINC00LvRjyDQstGF0L7QtNCwXSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzYwCittc2dpZCAiTnVtIExvY2sgb2ZmIgorbXNnc3RyICJOdW0gTG9jayDQstGL0LrQu9GO0YfQtdC9IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjMKK21zZ2lkICJOdW0gTG9jayBvbiIKK21zZ3N0ciAiTnVtIExvY2sg0LLQutC70Y7Rh9C10L0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2NgorbXNnaWQgIkNhcHMgTG9jayBvbiIKK21zZ3N0ciAiQ2FwcyBMb2NrINCy0LrQu9GO0YfQtdC9IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjkKK21zZ2lkICJTY3JvbGwgTG9jayBvbiIKK21zZ3N0ciAiU2Nyb2xsIExvY2sg0LLQutC70Y7Rh9C10L0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc3MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSGludDogJXNcbiIKKyJcbiIKK21zZ3N0ciAiIgorItCh0L7QstC10YI6ICVzXG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZDogJW0iCittc2dzdHIgIiVzOiDRh9GC0LXQvdC40LU6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlucHV0IG92ZXJydW4iCittc2dzdHIgIiVzOiDQv9C10YDQtdC/0L7Qu9C90LXQvdC40LUg0LLQstC+0LTQsCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTc0IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgY29udmVyc2lvbiBmb3IgbG9naW4gbmFtZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgY2hhcmFjdGVyIDB4JXggaW4gbG9naW4gbmFtZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINGD0YHRgtCw0L3QvtCy0LjRgtGMINCw0YLRgNC40LHRg9GC0Ysg0YLQtdGA0LzQuNC90LDQu9CwOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGxpbmU+IFs8YmF1ZF9yYXRlPiwuLi5dIFs8dGVybXR5cGU+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8YmF1ZF9yYXRlPiwuLi4gPGxpbmU+IFs8dGVybXR5cGU+XVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExMworbXNnaWQgIk9wZW4gYSB0ZXJtaW5hbCBhbmQgc2V0IGl0cyBtb2RlLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExNgorbXNnaWQgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBhc3N1bWUgOC1iaXQgdHR5XG4iCittc2dzdHIgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICA4LdCx0LjRgtC90YvQuSB0dHlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE3Cittc2dpZCAiIC1hLCAtLWF1dG9sb2dpbiA8dXNlcj4gICAgIGxvZ2luIHRoZSBzcGVjaWZpZWQgdXNlciBhdXRvbWF0aWNhbGx5XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE4Cittc2dpZCAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGRvIG5vdCByZXNldCBjb250cm9sIG1vZGVcbiIKK21zZ3N0ciAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgINC90LUg0YHQsdGA0LDRgdGL0LLQsNGC0Ywg0YDQtdC20LjQvCDRg9C/0YDQsNCy0LvQtdC90LjRj1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTkKK21zZ2lkICIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAgdXNlIC1yIDxob3N0bmFtZT4gZm9yIGxvZ2luKDEpXG4iCittc2dzdHIgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YwgLXIgPNC40LzRjyDQutC+0LzQv9GM0Y7RgtC10YDQsD4g0LTQu9GPIGxvZ2luKDEpXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMAorbXNnaWQgIiAtZiwgLS1pc3N1ZS1maWxlIDxmaWxlPiAgICBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjEKK21zZ2lkICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgZW5hYmxlIGhhcmR3YXJlIGZsb3cgY29udHJvbFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMgorbXNnaWQgIiAtSCwgLS1ob3N0IDxob3N0bmFtZT4gICAgICBzcGVjaWZ5IGxvZ2luIGhvc3RcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjMKK21zZ2lkICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgZG8gbm90IGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAg0L3QtSDQv9C+0LrQsNC30YvQstCw0YLRjCDRhNCw0LnQuyBpc3N1ZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjQKK21zZ2lkICIgLUksIC0taW5pdC1zdHJpbmcgPHN0cmluZz4gc2V0IGluaXQgc3RyaW5nXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI1Cittc2dpZCAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIGRvIG5vdCBjbGVhciB0aGUgc2NyZWVuIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgINC90LUg0L7Rh9C40YnQsNGC0Ywg0Y3QutGA0LDQvSDQtNC+INGB0YLRgNC+0LrQuCDQv9GA0LjQs9C70LDRiNC10L3QuNGPXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNgorbXNnaWQgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBzcGVjaWZ5IGxvZ2luIHByb2dyYW1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjcKK21zZ2lkICIgLUwsIC0tbG9jYWwtbGluZVs9PG1vZGU+XSAgY29udHJvbCB0aGUgbG9jYWwgbGluZSBmbGFnXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI4Cittc2dpZCAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI5Cittc2dpZCAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGRvIG5vdCBwcm9tcHQgZm9yIGxvZ2luXG4iCittc2dzdHIgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICDQvdC1INC/0L7QutCw0LfRi9Cy0LDRgtGMINC/0YDQuNCz0LvQsNGI0LXQvdC40LUg0LTQu9GPINCy0YXQvtC00LBcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMwCittc2dpZCAiIC1OICAtLW5vbmV3bGluZSAgICAgICAgICAgIGRvIG5vdCBwcmludCBhIG5ld2xpbmUgYmVmb3JlIGlzc3VlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMxCittc2dpZCAiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPG9wdHM+IG9wdGlvbnMgdGhhdCBhcmUgcGFzc2VkIHRvIGxvZ2luXG4iCittc2dzdHIgIiAtbywgLS1sb2dpbi1vcHRpb25zIDzQv9Cw0YDQsNC8PiDQv9Cw0YDQsNC80LXRgtGA0YssINC/0LXRgNC10LTQsNCy0LDQtdC80YvQtSDQsiBsb2dpblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzIKK21zZ2lkICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMzCittc2dpZCAiIC1yLCAtLWNocm9vdCA8ZGlyPiAgICAgICAgIGNoYW5nZSByb290IHRvIHRoZSBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzQKK21zZ2lkICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgZG8gdmlydHVhbGx5IGhhbmd1cCBvbiB0aGUgdHR5XG4iCittc2dzdHIgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICDQstC40YDRgtGD0LDQu9GM0L3Ri9C5INGB0LHRgNC+0YEg0YHQvtC10LTQuNC90LXQvdC40Y8g0LIgdHR5XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNQorbXNnaWQgIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICB0cnkgdG8ga2VlcCBiYXVkIHJhdGUgYWZ0ZXIgYnJlYWtcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzYKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8bnVtYmVyPiAgICAgbG9naW4gcHJvY2VzcyB0aW1lb3V0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM3Cittc2dpZCAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzgKK21zZ2lkICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgd2FpdCBjYXJyaWFnZS1yZXR1cm5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzkKK21zZ2lkICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAgZG8gbm90IHByaW50IGhpbnRzXG4iCittc2dzdHIgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICDQvdC1INC/0L7QutCw0LfRi9Cy0LDRgtGMINGB0L7QstC10YLRi1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDAKK21zZ2lkICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAgbm8gaG9zdG5hbWUgYXQgYWxsIHdpbGwgYmUgc2hvd25cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDEKK21zZ2lkICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgc2hvdyBmdWxsIHF1YWxpZmllZCBob3N0bmFtZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MgorbXNnaWQgIiAgICAgLS1lcmFzZS1jaGFycyA8c3RyaW5nPiBhZGRpdGlvbmFsIGJhY2tzcGFjZSBjaGFyc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MworbXNnaWQgIiAgICAgLS1raWxsLWNoYXJzIDxzdHJpbmc+ICBhZGRpdGlvbmFsIGtpbGwgY2hhcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDQKK21zZ2lkICIgICAgIC0tY2hkaXIgPGRpcmVjdG9yeT4gICAgY2hkaXIgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NQorbXNnaWQgIiAgICAgLS1kZWxheSA8bnVtYmVyPiAgICAgICBzbGVlcCBzZWNvbmRzIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDYKK21zZ2lkICIgICAgIC0tbmljZSA8bnVtYmVyPiAgICAgICAgcnVuIGxvZ2luIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NworIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgcmVsb2FkIHByb21wdHMgb24gcnVubmluZyBhZ2V0dHkgaW5zdGFuY2VzXG4iCittc2dzdHIgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICDQvdC1INC/0L7QutCw0LfRi9Cy0LDRgtGMINGB0L7QstC10YLRi1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDgKK21zZ2lkICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAtLWhlbHAgICAgICAgICAgICAgICAgINC/0L7QutCw0LfQsNGC0Ywg0Y3RgtGDINGB0L/RgNCw0LLQutGDINC4INCy0YvQudGC0LhcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ5Cittc2dpZCAiICAgICAtLXZlcnNpb24gICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INCy0LXRgNGB0LjQuCDQuCDQstGL0LnRgtC4XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCB1c2VyIgorbXNnaWRfcGx1cmFsICIlZCB1c2VycyIKK21zZ3N0clswXSAiJWQg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMIgorbXNnc3RyWzFdICIlZCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8iCittc2dzdHJbMl0gIiVkINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2tuYW1lIGZhaWxlZDogJW0iCittc2dzdHIgImNoZWNrbmFtZSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdG91Y2ggZmlsZSAlcyIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0Ywg0YTQsNC50LsgJyVzJyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjI1Cittc2dpZCAiLS1yZWxvYWQgaXMgdW5zdXBwb3J0ZWQgb24geW91ciBzeXN0ZW0iCittc2dzdHIgIi0tcmVsb2FkINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGC0YHRjyDQvdCwINCy0LDRiNC10Lkg0YHQuNGB0YLQtdC80LUiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3kgfCBuXVxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDRi10gW3kgfCBuXVxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3OAorbXNnaWQgIkNvbnRyb2wgd3JpdGUgYWNjZXNzIG9mIG90aGVyIHVzZXJzIHRvIHlvdXIgdGVybWluYWwuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6ODEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMjUKK21zZ2lkICJ0dHluYW1lIGZhaWxlZCIKK21zZ3N0ciAidHR5bmFtZSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzQKK21zZ2lkICJpcyB5IgorbXNnc3RyICLQtNCwIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzcKK21zZ2lkICJpcyBuIgorbXNnc3RyICLQvdC10YIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE0OCB0ZXJtLXV0aWxzL21lc2cuYzoxNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZSAlcyBtb2RlIGZhaWxlZCIKK21zZ3N0ciAi0LLRi9C00LXQu9C10L3QviDRgdC10LzQsNGE0L7RgNC+0LIgPSAlZFxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNTAKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBhbGxvd2VkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1NworbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGRlbmllZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICLQvdC10LLQtdGA0L3Ri9C5IGlkOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZV1cbiIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzIFvQvtC/0YbQuNC4XSDRg9GB0YLRgNC+0LnRgdGC0LLQvi4uLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2MgorbXNnaWQgIk1ha2UgYSB0eXBlc2NyaXB0IG9mIGEgdGVybWluYWwgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NQorbXNnaWQgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgYXBwZW5kIHRoZSBvdXRwdXRcbiIKKyIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gcnVuIGNvbW1hbmQgcmF0aGVyIHRoYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgcmV0dXJuIGV4aXQgY29kZSBvZiB0aGUgY2hpbGQgcHJvY2Vzc1xuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICBydW4gZmx1c2ggYWZ0ZXIgZWFjaCB3cml0ZVxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICB1c2Ugb3V0cHV0IGZpbGUgZXZlbiB3aGVuIGl0IGlzIGEgbGlua1xuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICBiZSBxdWlldFxuIgorIiAtdCwgLS10aW1pbmdbPTxmaWxlPl0gICBvdXRwdXQgdGltaW5nIGRhdGEgdG8gc3RkZXJyIChvciB0byBGSUxFKVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisib3V0cHV0IGZpbGUgYCVzJyBpcyBhIGxpbmtcbiIKKyJVc2UgLS1mb3JjZSBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LlxuIgorIlByb2dyYW0gbm90IHN0YXJ0ZWQuIgorbXNnc3RyICIiCisi0J/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTogYCVzJyDRj9Cy0LvRj9C10YLRgdGPINGB0YHRi9C70LrQvtC5LlxuIgorItCY0YHQv9C+0LvRjNC30YPQudGC0LUgYCVzIFvQvtC/0YbQuNC4XSAlcycsINC10YHQu9C4INCy0Ysg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90L4g0YXQvtGC0LjRgtC1INGN0YLQviDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YwuXG4iCisi0KHQutGA0LjQv9GCINC90LUg0LfQsNC/0YPRidC10L0uXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBkb25lLCBmaWxlIGlzICVzXG4iCittc2dzdHIgItCh0LrRgNC40L/RgiDQstGL0L/QvtC70L3QtdC9LCDRhNCw0LnQuyAtICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MjYyCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCB3cml0ZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC90LDQudGC0Lgg0YPRgdGC0YDQvtC50YHRgtCy0L4g0LTQu9GPICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXMiCittc2dzdHIgItCh0LrRgNC40L/RgiDQt9Cw0L/Rg9GJ0LXQvSAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNjcmlwdCBkb25lIG9uICVzIgorbXNnc3RyICIiCisiXG4iCisi0KHQutGA0LjQv9GCINCy0YvQv9C+0LvQvdC10L0gJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjA3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L/QvtC70YPRh9C40YLRjCDRgNCw0LfQvNC10YAgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjE0CisjLCBmdXp6eQorbXNnaWQgIm9wZW5wdHkgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5INC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LlcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2NTIKKyMsIGZ1enp5Cittc2dpZCAib3V0IG9mIHB0eSdzIgorbXNnc3RyICLQndC1INGF0LLQsNGC0LDQtdGCIHB0eVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc1MgorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgc3RhcnRlZCwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICLQodC60YDQuNC/0YIg0LfQsNC/0YPRidC10L0sINGE0LDQudC7wqDigJQgJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy10XSB0aW1pbmdmaWxlIFt0eXBlc2NyaXB0XSBbZGl2aXNvcl1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQ3Cittc2dpZCAiUGxheSBiYWNrIHRlcm1pbmFsIHR5cGVzY3JpcHRzLCB1c2luZyB0aW1pbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo1MAorbXNnaWQgIiIKKyIgLXQsIC0tdGltaW5nIDxmaWxlPiAgICAgc2NyaXB0IHRpbWluZyBvdXRwdXQgZmlsZVxuIgorIiAtcywgLS10eXBlc2NyaXB0IDxmaWxlPiBzY3JpcHQgdGVybWluYWwgc2Vzc2lvbiBvdXRwdXQgZmlsZVxuIgorIiAtZCwgLS1kaXZpc29yIDxudW0+ICAgICBzcGVlZCB1cCBvciBzbG93IGRvd24gZXhlY3V0aW9uIHdpdGggdGltZSBkaXZpc29yXG4iCisiIC1tLCAtLW1heGRlbGF5IDxudW0+ICAgIHdhaXQgYXQgbW9zdCB0aGlzIG1hbnkgc2Vjb25kcyBiZXR3ZWVuIHVwZGF0ZXNcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExMgorIywgZnV6enkKK21zZ2lkICJ3cml0ZSB0byBzdGRvdXQgZmFpbGVkIgorbXNnc3RyICLQntGC0LrRgNGL0YLQuNC1ICVzINC30LDQstC10YDRiNC40LvQvtGB0Ywg0L3QtdGD0LTQsNGH0LXQuSIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSBvbiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjEyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdHlwZXNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJpb2N0bCgpINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10Lkg0L/RgNC4INGH0YLQtdC90LjQuCDQstGA0LXQvNC10L3QuCDQuNC3ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE4NAorIywgZnV6enkKK21zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70YzQvdC+0LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0YHQtdCz0LzQtdC90YLQvtCyID0gJWx1XG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aW1pbmcgZmlsZSAlcyIKK21zZ3N0ciAiaW9jdGwoKSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5INC/0YDQuCDRh9GC0LXQvdC40Lgg0LLRgNC10LzQtdC90Lgg0LjQtyAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltaW5nIGZpbGUgJXM6IGxpbmUgJWx1OiB1bmV4cGVjdGVkIGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXJndW1lbnQgZXJyb3I6IGJyaWdodCAlcyBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyOAorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSB0YWJzIgorbXNnc3RyICLRgdC70LjRiNC60L7QvCDQvNC90L7Qs9C+INC/0LvQvtGF0LjRhSDQsdC70L7QutC+0LIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MworbXNnaWQgIlNldCB0aGUgYXR0cmlidXRlcyBvZiBhIHRlcm1pbmFsLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NgorbXNnaWQgIiAtLXRlcm0gICAgICAgICAgPHRlcm1pbmFsX25hbWU+ICAgb3ZlcnJpZGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NworIywgZnV6enkKK21zZ2lkICIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHRvIHBvd2VyLW9uIHN0YXRlXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICDQn9GA0L7QstC10YDQutCwINCy0LXRgNGB0LjQuCBnZXRvcHQoMSlcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg4Cittc2dpZCAiIC0taW5pdGlhbGl6ZSAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGluaXQgc3RyaW5nLCBhbmQgdXNlIGRlZmF1bHQgc2V0dGluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODkKKyMsIGZ1enp5Cittc2dpZCAiIC0tZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgZGVmYXVsdCB0ZXJtaW5hbCBzZXR0aW5nc1xuIgorbXNnc3RyICIgIHJkZXYgLW8gTiAuLi4gICAgICAgICAgICAgICAgICAg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LUg0YHQvNC10YnQtdC90LjRjyDQsdCw0LnRgtC+0LIgTiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkwCittc2dpZCAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgdGVybWluYWwgc2V0dGluZ3MgYXMgZGVmYXVsdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MQorbXNnaWQgIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAgZGlzcGxheSBjdXJzb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTIKK21zZ2lkICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGtleWJvYXJkIHJlcGVhdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MworbXNnaWQgIiAtLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gICAgICAgICAgY3Vyc29yIGtleSBhcHBsaWNhdGlvbiBtb2RlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk0Cittc2dpZCAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBjb250aW51ZSBvbiBhIG5ldyBsaW5lIHdoZW4gYSBsaW5lIGlzIGZ1bGxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTUKK21zZ2lkICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIHN3YXAgY29sb3JzIGZvciB0aGUgd2hvbGUgc2NyZWVuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk2Cittc2dpZCAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgZm9yZWdyb3VuZCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NworbXNnaWQgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGJhY2tncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTgKK21zZ2lkICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCB1bmRlcmxpbmVkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTkKK21zZ2lkICIgLS1oYmNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCBib2xkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDAKK21zZ2lkICIgICAgICAgICAgICAgICAgIDxjb2xvcj46IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMQorIywgZnV6enkKK21zZ2lkICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJvbGRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICDQn9C10YDQstGL0LkgICDQn9C+0YHQu9C10LTQvS5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAyCisjLCBmdXp6eQorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiAgWyAtaGFsZi1icmlnaHQgW29ufG9mZl0gXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDMKK21zZ2lkICIgLS1ibGluayAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJsaW5rXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA0CisjLCBmdXp6eQorbXNnaWQgIiAtLXVuZGVybGluZSAgICAgW29ufG9mZl0gICAgICAgICAgdW5kZXJsaW5lXG4iCittc2dzdHIgIiAgWyAtdW5kZXJsaW5lIFtvbnxvZmZdIF1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA1Cittc2dpZCAiIC0tcmV2ZXJzZSAgICAgICBbb258b2ZmXSAgICAgICAgICBzd2FwIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQgY29sb3JzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA2Cittc2dpZCAiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICBjbGVhciBzY3JlZW4gYW5kIHNldCBjdXJzb3IgcG9zaXRpb25cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDcKK21zZ2lkICIgLS10YWJzICAgICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIHNldCB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIHNob3cgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOAorbXNnaWQgIiAtLWNscnRhYnMgICAgICAgWzxudW1iZXI+Li4uXSAgICAgY2xlYXIgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBhbGxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDkKK21zZ2lkICIgLS1yZWd0YWJzICAgICAgIFsxLTE2MF0gICAgICAgICAgIHNldCBhIHJlZ3VsYXIgdGFiIHN0b3AgaW50ZXJ2YWxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTAKK21zZ2lkICIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIHNldCB0aW1lIG9mIGluYWN0aXZpdHkgYmVmb3JlIHNjcmVlbiBibGFua3NcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTEKK21zZ2lkICIgLS1kdW1wICAgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIHdyaXRlIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMgorbXNnaWQgIiAtLWFwcGVuZCAgICAgICAgWzxudW1iZXI+XSAgICAgICAgYXBwZW5kIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMworbXNnaWQgIiAtLWZpbGUgICAgICAgICAgPGZpbGVuYW1lPiAgICAgICAgbmFtZSBvZiB0aGUgZHVtcCBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE0Cittc2dpZCAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBzZW5kIGtlcm5lbCBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE1Cittc2dpZCAiIC0tbXNnbGV2ZWwgICAgICAwLTggICAgICAgICAgICAgICBrZXJuZWwgY29uc29sZSBsb2cgbGV2ZWxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTYKKyMsIGZ1enp5Cittc2dpZCAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKK21zZ3N0ciAiICBbIC1wb3dlcnNhdmUgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdIF1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE3Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQgdmVzYSBwb3dlcnNhdmluZyBmZWF0dXJlc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxOAorbXNnaWQgIiAtLXBvd2VyZG93biAgICAgWzAtNjBdICAgICAgICAgICAgc2V0IHZlc2EgcG93ZXJkb3duIGludGVydmFsIGluIG1pbnV0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTkKK21zZ2lkICIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIGR1cmF0aW9uIG9mIHRoZSBiZWxsIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMAorbXNnaWQgIiAtLWJmcmVxICAgICAgICAgPG51bWJlcj4gICAgICAgICAgYmVsbCBmcmVxdWVuY3kgaW4gSGVydHpcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjEKKyMsIGZ1enp5Cittc2dpZCAiIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICBzaG93IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgINCS0YvQstC+0LQg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0LLQtdGA0YHQuNC4XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMgorIywgZnV6enkKK21zZ2lkICIgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICDQrdGC0L4g0L3QtdCx0L7Qu9GM0YjQvtC1INGA0YPQutC+0LLQvtC00YHRgtCy0L4g0L/QviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MzAKK21zZ2lkICJkdXBsaWNhdGUgdXNlIG9mIGFuIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MzQKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGZvcmNlIGJsYW5rIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDRgdC+0LfQtNCw0YLRjCDQtNC+0YfQtdGA0L3QuNC5INC/0YDQvtGG0LXRgdGBIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MzkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGZvcmNlIHVuYmxhbmsiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INGB0L7Qt9C00LDRgtGMINC00L7Rh9C10YDQvdC40Lkg0L/RgNC+0YbQtdGB0YEiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0NQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IGJsYW5rIHN0YXR1cyIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgJXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4gbm90IG9wZW4gZHVtcCBmaWxlICVzIGZvciBvdXRwdXQiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMINGD0YHRgtGA0L7QudGB0YLQstC+ICVzINC00LvRjyDQt9Cw0L/QuNGB0LhcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODEzCisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsICVzIGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6OTg4CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDRg9GB0YLQsNC90L7QstC40YLRjC/RgdC90Y/RgtGMINGA0LXQttC40Lwg0Y3QvdC10YDQs9C+0YHQsdC10YDQtdC20LXQvdC40Y9cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTAwNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDE2CisjLCBmdXp6eQorbXNnaWQgImtsb2djdGwgZXJyb3IiCittc2dzdHIgItC+0YjQuNCx0LrQsCBrbG9nY3RsOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDM3CisjLCBmdXp6eQorbXNnaWQgIiRURVJNIGlzIG5vdCBkZWZpbmVkLiIKK21zZ3N0ciAiJXM6INC/0LXRgNC10LzQtdC90L3QsNGPICRURVJNINC90LUg0L7Qv9GA0LXQtNC10LvQtdC90LAuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDQKK21zZ2lkICJ0ZXJtaW5mbyBkYXRhYmFzZSBjYW5ub3QgYmUgZm91bmQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gdGVybWluYWwgdHlwZSIKK21zZ3N0ciAiJXM6INC90LXQuNC30LLQtdGB0YLQvdGL0Lkg0YHQuNCz0L3QsNC7ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDgKK21zZ2lkICJ0ZXJtaW5hbCBpcyBoYXJkY29weSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdG9vIG1hbnkgaW92J3MiCittc2dzdHIgItCy0L3Rg9GC0YDQtdC90L3Rj9GPINC+0YjQuNCx0LrQsCIKKworIzogdGVybS11dGlscy90dHltc2cuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICJleGNlc3NpdmVseSBsb25nIGxpbmUgYXJnIgorbXNnc3RyICLRh9GA0LXQt9Cy0YvRh9Cw0LnQvdC+INC00LvQuNC90L3QsNGPINGB0YLRgNC+0LrQsCBhcmciCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVuIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5XG4iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmb3JrOiAlbSIKK21zZ3N0ciAi0YHQvtC30LTQsNC90LjQtSDQtNC+0YfQtdGA0L3QtdCz0L4g0L/RgNC+0YbQtdGB0YHQsDogJXMiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmb3JrIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDRgdC+0LfQtNCw0YLRjCDQtNC+0YfQtdGA0L3QuNC5INC/0YDQvtGG0LXRgdGBIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkFEIEVSUk9SLCBtZXNzYWdlIGlzIGZhciB0b28gbG9uZyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IHwgPG1lc3NhZ2U+XVxuIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogJXMgW9C+0L/RhtC40LhdINGD0YHRgtGA0L7QudGB0YLQstC+Li4uXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg2Cittc2dpZCAiV3JpdGUgYSBtZXNzYWdlIHRvIGFsbCB1c2Vycy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4OQorbXNnaWQgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBkbyBub3QgcHJpbnQgYmFubmVyLCB3b3JrcyBvbmx5IGZvciByb290XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTAKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8dGltZW91dD4gd3JpdGUgdGltZW91dCBpbiBzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6MTMyCittc2dpZCAiLS1ub2Jhbm5lciBpcyBhdmFpbGFibGUgb25seSBmb3Igcm9vdCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudDogJXMiCittc2dzdHIgItC90LXQstC10YDQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDRgtCw0LnQvC3QsNGD0YLQsDogJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjI2OQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IHBhc3N3ZCB1aWQiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC/0L7Qu9GD0YfQuNGC0Ywg0YDQsNC30LzQtdGAICVzIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyNzQKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGdldCB0dHkgbmFtZSIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0L/QvtC70YPRh9C40YLRjCDRgNCw0LfQvNC10YAg0LTQuNGB0LrQsCIKKworIzogdGVybS11dGlscy93YWxsLmM6Mjk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCcm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzQCVzICglcykgKCVzKToiCittc2dzdHIgItCo0LjRgNC+0LrQvtCy0LXRidCw0YLQtdC70YzQvdC+0LUg0YHQvtC+0LHRidC10L3QuNC1INC+0YIgJXNAJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjMyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgcmVhZCAlcyAtIHVzZSBzdGRpbi4iCittc2dzdHIgIiVzOiDQvdC1INCx0YPQtNC10YIg0L/RgNC+0YfQuNGC0LDQvSAlcyAtINC40YHQv9C+0LvRjNC30YPQudGC0LUg0YHRgtCw0L3QtNCw0YDRgtC90YvQuSDQstCy0L7QtC5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1c2VyPiBbPHR0eW5hbWU+XVxuIgorbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogbmFtZWkgWy1teF0g0L/Rg9GC0LXQstC+0LVf0LjQvNGPIFvQv9GD0YLQtdCy0L7QtV/QuNC80Y8gLi4uXVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6OTAKK21zZ2lkICJTZW5kIGEgbWVzc2FnZSB0byBhbm90aGVyIHVzZXIuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICJlZmZlY3RpdmUgZ2lkIGRvZXMgbm90IG1hdGNoIGdyb3VwIG9mICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4iCittc2dzdHIgIndyaXRlOiAlcyDQvdC1INCy0L7RiNC10Lsg0LIg0YHQuNGB0YLQtdC80YNcbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwNworIywgZnV6enkKK21zZ2lkICJjYW4ndCBmaW5kIHlvdXIgdHR5J3MgbmFtZSIKK21zZ3N0ciAid3JpdGU6INC90LXQstC+0LfQvNC+0LbQvdC+INC90LDQudGC0Lgg0LjQvNGPINCy0LDRiNC10LPQviB0dHlcbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIgorbXNnc3RyICJ3cml0ZTog0LTQu9GPICVzINGB0L7QvtCx0YnQtdC90LjRjyDQvtGC0LrQu9GO0YfQtdC90YtcbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbG9nZ2VkIGluIG1vcmUgdGhhbiBvbmNlOyB3cml0aW5nIHRvICVzIgorbXNnc3RyICJ3cml0ZTogJXMg0LLQvtGI0LXQuyDQsiDRgdC40YHRgtC10LzRgyDQsdC+0LvQtdC1INC+0LTQvdC+0LPQviDRgNCw0LfQsDsg0LfQsNC/0LjRgdGMINCy0YvQv9C+0LvQvdGP0LXRgtGB0Y8g0LIgJXNcbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIzOAorIywgZnV6enkKK21zZ2lkICJjYXJlZnVscHV0YyBmYWlsZWQiCittc2dzdHIgIm1hbGxvYyDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgKGFzICVzKSBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICLQodC+0L7QsdGJ0LXQvdC40LUg0L7RgiAlc0AlcyAo0LrQsNC6ICVzKSDQvdCwICVzINCyICVzIC4uLiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgItCh0L7QvtCx0YnQtdC90LjQtSDQvtGCICVzQCVzINC90LAgJXMg0LIgJXMgLi4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzMxCisjLCBmdXp6eQorbXNnaWQgInlvdSBoYXZlIHdyaXRlIHBlcm1pc3Npb24gdHVybmVkIG9mZiIKK21zZ3N0ciAid3JpdGU6INCy0LDRiNC1INGA0LDQt9GA0LXRiNC10L3QuNC1INC90LAg0LfQsNC/0LjRgdGMINCx0YvQu9C+INCy0YvQutC70Y7Rh9C10L3Qvi5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiBvbiAlcyIKK21zZ3N0ciAid3JpdGU6ICVzINC90LUg0LLQvtGI0LXQuyDQsiDRgdC40YHRgtC10LzRgyAlcy5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIG9uICVzIgorbXNnc3RyICJ3cml0ZTog0LTQu9GPICVzINGB0L7QvtCx0YnQtdC90LjRjyDQvtGC0LrQu9GO0YfQtdC90Ysg0L3QsCAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzNAorIywgZnV6enkKK21zZ2lkICJGaWx0ZXIgb3V0IHJldmVyc2UgbGluZSBmZWVkcy5cbiIKK21zZ3N0ciAi0YHQu9C40YjQutC+0Lwg0LzQvdC+0LPQviDQv9GD0YHRgtGL0YUg0L/QtdGA0LXQstC+0LTQvtCyINGB0YLRgNC+0LouXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYiwgLS1uby1iYWNrc3BhY2VzICAgIGRvIG5vdCBvdXRwdXQgYmFja3NwYWNlc1xuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIHBlcm1pdCBmb3J3YXJkIGhhbGYgbGluZSBmZWVkc1xuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIHBhc3MgdW5rbm93biBjb250cm9sIHNlcXVlbmNlc1xuIgorIiAtaCwgLS10YWJzICAgICAgICAgICAgIGNvbnZlcnQgc3BhY2VzIHRvIHRhYnNcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICBjb252ZXJ0IHRhYnMgdG8gc3BhY2VzXG4iCisiIC1sLCAtLWxpbmVzIE5VTSAgICAgICAgYnVmZmVyIGF0IGxlYXN0IE5VTSBsaW5lc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1ILCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE0OCB0ZXh0LXV0aWxzL2NvbHJtLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzIHJlYWRzIGZyb20gc3RhbmRhcmQgaW5wdXQgYW5kIHdyaXRlcyB0byBzdGFuZGFyZCBvdXRwdXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjIxMgorIywgZnV6enkKK21zZ2lkICJiYWQgLWwgYXJndW1lbnQiCittc2dzdHIgImNvbDog0L3QtdCy0LXRgNC90YvQuSDQsNGA0LPRg9C80LXQvdGCIC1sICVzLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjMzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2FuJ3QgYmFjayB1cCAlcy4iCittc2dzdHIgImNvbDog0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTog0L3QtdCy0L7Qt9C80L7QttC90L4g0L/QvtC00LTQtdGA0LbQsNGC0YwgJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM3Cittc2dpZCAicGFzdCBmaXJzdCBsaW5lIgorbXNnc3RyICLQv9C+0YHQu9C10LTQvdGP0Y8g0L/QtdGA0LLQsNGPINGB0YLRgNC+0LrQsCIKKworIzogdGV4dC11dGlscy9jb2wuYzozMzcKK21zZ2lkICItLSBsaW5lIGFscmVhZHkgZmx1c2hlZCIKK21zZ3N0ciAiLS0g0YHRgtGA0L7QutCwINGD0LbQtSDQstGL0YDQvtCy0L3QtdC90LAiCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODEgdGV4dC11dGlscy9jb2x1bW4uYzoxMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzIFvQvtC/0YbQuNC4XSDRg9GB0YLRgNC+0LnRgdGC0LLQvi4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg0Cittc2dpZCAiRmlsdGVyIG5yb2ZmIG91dHB1dCBmb3IgQ1JUIHByZXZpZXdpbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NworbXNnaWQgIiAtLCAgLS1uby11bmRlcmxpbmluZyAgICBzdXBwcmVzcyBhbGwgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg4CisjLCBmdXp6eQorbXNnaWQgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBwcmludCBhbGwgaGFsZi1saW5lc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAg0L/QvtC60LDQt9Cw0YLRjCDQstGB0LUg0YPRgdGC0YDQvtC50YHRgtCy0LBcbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtzdGFydGNvbCBbZW5kY29sXV1cbiIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzIFvQvtC/0YbQuNC4XSDRg9GB0YLRgNC+0LnRgdGC0LLQvi4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjQKK21zZ2lkICJGaWx0ZXIgb3V0IHRoZSBzcGVjaWZpZWQgY29sdW1ucy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg1CisjLCBmdXp6eQorbXNnaWQgImZpcnN0IGFyZ3VtZW50IgorbXNnc3RyICJjb2w6INC90LXQstC10YDQvdGL0Lkg0LDRgNCz0YPQvNC10L3RgiAtbCAlcy5cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NworIywgZnV6enkKK21zZ2lkICJzZWNvbmQgYXJndW1lbnQiCittc2dzdHIgImNvbDog0L3QtdCy0LXRgNC90YvQuSDQsNGA0LPRg9C80LXQvdGCIC1sICVzLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyMAorbXNnaWQgIkNvbHVtbmF0ZSBsaXN0cy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyMworbXNnaWQgIiAtYywgLS1jb2x1bW5zIDx3aWR0aD4gICAgd2lkdGggb2Ygb3V0cHV0IGluIG51bWJlciBvZiBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICBjcmVhdGUgYSB0YWJsZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgINC/0LDRgNCw0LzQtdGC0YDRi1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyNQorbXNnaWQgIiAtcywgLS1zZXBhcmF0b3IgPHN0cmluZz4gcG9zc2libGUgdGFibGUgZGVsaW1pdGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI2Cittc2dpZCAiIgorIiAtbywgLS1vdXRwdXQtc2VwYXJhdG9yIDxzdHJpbmc+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zIHNlcGFyYXRvciBmb3IgdGFibGUgb3V0cHV0OyBkZWZhdWx0IGlzIHR3byBzcGFjZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyOAorbXNnaWQgIiAteCwgLS1maWxscm93cyAgICAgICAgICAgZmlsbCByb3dzIGJlZm9yZSBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxODIKK21zZ2lkICJpbnZhbGlkIGNvbHVtbnMgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlZCBpcyB0b28gbG9uZywgb3V0cHV0IHdpbGwgYmUgdHJ1bmNhdGVkIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1NSB0ZXh0LXV0aWxzL21vcmUuYzoyMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+Li4uXG4iCittc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiAlcyBb0L7Qv9GG0LjQuF0g0YPRgdGC0YDQvtC50YHRgtCy0L4uLi5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU4Cittc2dpZCAiRGlzcGxheSBmaWxlIGNvbnRlbnRzIGluIGhleGFkZWNpbWFsLCBkZWNpbWFsLCBvY3RhbCwgb3IgYXNjaWkuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYxCittc2dpZCAiIC1iLCAtLW9uZS1ieXRlLW9jdGFsICAgICAgb25lLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MgorbXNnaWQgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgIG9uZS1ieXRlIGNoYXJhY3RlciBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYzCittc2dpZCAiIC1DLCAtLWNhbm9uaWNhbCAgICAgICAgICAgY2Fub25pY2FsIGhleCtBU0NJSSBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY0Cittc2dpZCAiIC1kLCAtLXR3by1ieXRlcy1kZWNpbWFsICAgdHdvLWJ5dGUgZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY1Cittc2dpZCAiIC1vLCAtLXR3by1ieXRlcy1vY3RhbCAgICAgdHdvLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NgorbXNnaWQgIiAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjcKK21zZ2lkICIgLUwsIC0tY29sb3JbPTxtb2RlPl0gICAgICBpbnRlcnByZXQgY29sb3IgZm9ybWF0dGluZyBzcGVjaWZpZXJzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcwCittc2dpZCAiIC1lLCAtLWZvcm1hdCA8Zm9ybWF0PiAgICAgZm9ybWF0IHN0cmluZyB0byBiZSB1c2VkIGZvciBkaXNwbGF5aW5nIGRhdGFcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzEKK21zZ2lkICIgLWYsIC0tZm9ybWF0LWZpbGUgPGZpbGU+ICBmaWxlIHRoYXQgY29udGFpbnMgZm9ybWF0IHN0cmluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzIKK21zZ2lkICIgLW4sIC0tbGVuZ3RoIDxsZW5ndGg+ICAgICBpbnRlcnByZXQgb25seSBsZW5ndGggYnl0ZXMgb2YgaW5wdXRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzMKK21zZ2lkICIgLXMsIC0tc2tpcCA8b2Zmc2V0PiAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzQKK21zZ2lkICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICBvdXRwdXQgaWRlbnRpY2FsIGxpbmVzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLWRpc3BsYXkuYzozNjUKKyMsIGZ1enp5Cittc2dpZCAiYWxsIGlucHV0IGZpbGUgYXJndW1lbnRzIGZhaWxlZCIKK21zZ3N0ciAi0L3QtdGF0LLQsNGC0LrQsCDQv9Cw0LzRj9GC0LgiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgYnl0ZSBjb3VudCBmb3IgY29udmVyc2lvbiBjaGFyYWN0ZXIgJXMiCittc2dzdHIgImhleGR1bXA6INC90LXQstC10YDQvdC+0LUg0YfQuNGB0LvQviDQsdCw0LnRgiDQtNC70Y8g0YHQuNC80LLQvtC70LAg0L/RgNC10L7QsdGA0LDQt9C+0LLQsNC90LjRjyAlcy5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiUlcyByZXF1aXJlcyBhIHByZWNpc2lvbiBvciBhIGJ5dGUgY291bnQiCittc2dzdHIgImhleGR1bXA6INC00LvRjyAlJXMg0YLRgNC10LHRg9C10YLRgdGPINGC0L7Rh9C90L7RgdGC0Ywg0LjQu9C4INGH0LjRgdC70L4g0LHQsNC50YIuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgZm9ybWF0IHslc30iCittc2dzdHIgImhleGR1bXA6INC90LXQstC10YDQvdGL0Lkg0YTQvtGA0LzQsNGCIHslc31cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb252ZXJzaW9uIGNoYXJhY3RlciAlJSVzIgorbXNnc3RyICJoZXhkdW1wOiDQvdC10LLQtdGA0L3Ri9C5INGB0LjQvNCy0L7QuyDQv9GA0LXQvtCx0YDQsNC30L7QstCw0L3QuNGPICUlJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjQzNgorIywgZnV6enkKK21zZ2lkICJieXRlIGNvdW50IHdpdGggbXVsdGlwbGUgY29udmVyc2lvbiBjaGFyYWN0ZXJzIgorbXNnc3RyICJoZXhkdW1wOiDRh9C40YHQu9C+INCx0LDQudGCINGBINC80L3QvtCz0L7Rh9C40YHQu9C10L3QvdGL0LzQuCDRgdC40LzQstC+0LvQsNC80Lgg0L/RgNC10L7QsdGA0LDQt9C+0LLQsNC90LjRjy5cbiIKKworIzogdGV4dC11dGlscy9saW5lLmM6MzMKK21zZ2lkICJSZWFkIG9uZSBsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIyOAorbXNnaWQgIkEgZmlsZSBwZXJ1c2FsIGZpbHRlciBmb3IgQ1JUIHZpZXdpbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjMxCittc2dpZCAiIC1kICAgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmdpbmcgYmVsbFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMgorbXNnaWQgIiAtZiAgICAgICAgICBjb3VudCBsb2dpY2FsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMworbXNnaWQgIiAtbCAgICAgICAgICBzdXBwcmVzcyBwYXVzZSBhZnRlciBmb3JtIGZlZWRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzQKK21zZ2lkICIgLWMgICAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzUKK21zZ2lkICIgLXAgICAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzYKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNworbXNnaWQgIiAtdSAgICAgICAgICBzdXBwcmVzcyB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOAorIywgZnV6enkKK21zZ2lkICIgLTxudW1iZXI+ICAgdGhlIG51bWJlciBvZiBsaW5lcyBwZXIgc2NyZWVuZnVsXG4iCittc2dzdHIgItCS0LLQtdC00LjRgtC1INC60L7Qu9C40YfQtdGB0YLQstC+INGG0LjQu9C40L3QtNGA0L7QsjoiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOQorbXNnaWQgIiArPG51bWJlcj4gICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gbGluZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDAKK21zZ2lkICIgKy88c3RyaW5nPiAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIHNlYXJjaCBzdHJpbmcgbWF0Y2hcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1WICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg0JLRi9Cy0L7QtCDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDQstC10YDRgdC40LhcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIC0lcyIKK21zZ3N0ciAi0L3QtdC40LfQstC10YHRgtC90YvQuSDQv9Cw0YDQsNC80LXRgtGAIC0lcyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKiogJXM6IGRpcmVjdG9yeSAqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKiAlczog0LrQsNGC0LDQu9C+0LMgKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqKioqKiogJXM6IE5vdCBhIHRleHQgZmlsZSAqKioqKioqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqKioqKiogJXM6INCd0LUg0YLQtdC60YHRgtC+0LLRi9C5INGE0LDQudC7ICoqKioqKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjY0NQorIywgYy1mb3JtYXQKK21zZ2lkICJbVXNlIHEgb3IgUSB0byBxdWl0XSIKK21zZ3N0ciAiW9CY0YHQv9C+0LvRjNC30YPQudGC0LUgcSDQuNC70Lggb3IgUSDQtNC70Y8g0LLRi9GF0L7QtNCwXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tTW9yZS0tIgorbXNnc3RyICItLdCU0LDQu9C10LUtLSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzI2CisjLCBjLWZvcm1hdAorbXNnaWQgIihOZXh0IGZpbGU6ICVzKSIKK21zZ3N0ciAiKNCh0LvQtdC00YPRjtGJ0LjQuSDRhNCw0LnQuzogJXMpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzIHNwYWNlIHRvIGNvbnRpbnVlLCAncScgdG8gcXVpdC5dIgorbXNnc3RyICJb0J3QsNC20LzQuNGC0LUg0L/RgNC+0LHQtdC7INC00LvRjyDQv9GA0L7QtNC+0LvQttC10L3QuNGPLCAncScg0LTQu9GPINCy0YvRhdC+0LTQsC5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmJhY2sgJWQgcGFnZSIKK21zZ2lkX3BsdXJhbCAiLi4uYmFjayAlZCBwYWdlcyIKK21zZ3N0clswXSAiLi4u0L3QsNC30LDQtCDQvdCwICVkINGB0YLRgNCw0L3QuNGG0YMiCittc2dzdHJbMV0gIi4uLtC90LDQt9Cw0LQg0L3QsCAlZCDRgdGC0YDQsNC90LjRhtGLIgorbXNnc3RyWzJdICIuLi7QvdCw0LfQsNC0INC90LAgJWQg0YHRgtGA0LDQvdC40YYiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc2tpcHBpbmcgJWQgbGluZSIKK21zZ2lkX3BsdXJhbCAiLi4uc2tpcHBpbmcgJWQgbGluZXMiCittc2dzdHJbMF0gIi4uLtC/0YDQvtC/0YPRgdC60LDQtdGC0YHRjyAlZCDRgdGC0YDQvtC60LAiCittc2dzdHJbMV0gIi4uLtC/0YDQvtC/0YPRgdC60LDRjtGC0YHRjyAlZCDRgdGC0YDQvtC60LgiCittc2dzdHJbMl0gIi4uLtC/0YDQvtC/0YPRgdC60LDRjtGC0YHRjyAlZCDRgdGC0YDQvtC6IgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjQ4Cittc2dpZCAiIgorIlxuIgorIioqKkJhY2sqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKtCd0LDQt9Cw0LQqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI2MworbXNnaWQgIk5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKK21zZ3N0ciAi0J3QtdGCINC/0YDQtdC00YvQtNGD0YnQtdCz0L4g0YDQtdCz0YPQu9GP0YDQvdC+0LPQviDQstGL0YDQsNC20LXQvdC40Y8iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyOTMKK21zZ2lkICIiCisiXG4iCisiTW9zdCBjb21tYW5kcyBvcHRpb25hbGx5IHByZWNlZGVkIGJ5IGludGVnZXIgYXJndW1lbnQgay4gIERlZmF1bHRzIGluIGJyYWNrZXRzLlxuIgorIlN0YXIgKCopIGluZGljYXRlcyBhcmd1bWVudCBiZWNvbWVzIG5ldyBkZWZhdWx0LlxuIgorbXNnc3RyICIiCisiXG4iCisi0JHQvtC70YzRiNC40L3RgdGC0LLRgyDQutC+0LzQsNC90LQg0L7Qv9GG0LjQvtC90LDQu9GM0L3QviDQv9GA0LXQtNGI0LXRgdGC0LLRg9C10YIg0YfQuNGB0LvQvtCy0L7QuSDQsNGA0LPRg9C80LXQvdGCIGsuINCX0L3QsNGH0LXQvdC40Y8g0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4g0LIg0LrQsNCy0YvRh9C60LDRhS5cbiIKKyLQl9Cy0LXQt9C00L7Rh9C60LAgKCopINC+0LfQvdCw0YfQsNC10YIsINGH0YLQviDQsNGA0LPRg9C80LXQvdGCINGB0YLQsNC90L7QstC40YLRgdGPINC90L7QstGL0Lwg0LfQvdCw0YfQtdC90LjQtdC8INC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOLlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzAwCittc2dpZCAiIgorIjxzcGFjZT4gICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbMV0qXG4iCisiZCBvciBjdHJsLUQgICAgICAgICAgICAgU2Nyb2xsIGsgbGluZXMgW2N1cnJlbnQgc2Nyb2xsIHNpemUsIGluaXRpYWxseSAxMV0qXG4iCisicSBvciBRIG9yIDxpbnRlcnJ1cHQ+ICAgRXhpdCBmcm9tIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBsaW5lcyBvZiB0ZXh0IFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyJiIG9yIGN0cmwtQiAgICAgICAgICAgICBTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBHbyB0byBwbGFjZSB3aGVyZSBwcmV2aW91cyBzZWFyY2ggc3RhcnRlZFxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBsaW5lIG51bWJlclxuIgorIi88cmVndWxhciBleHByZXNzaW9uPiAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgcmVndWxhciBleHByZXNzaW9uIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByLmUgWzFdXG4iCisiITxjbWQ+IG9yIDohPGNtZD4gICAgICAgRXhlY3V0ZSA8Y21kPiBpbiBhIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgdXAgL3Vzci9iaW4vdmkgYXQgY3VycmVudCBsaW5lXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkcmF3IHNjcmVlblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBuZXh0IGZpbGUgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIHByZXZpb3VzIGZpbGUgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXJcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBSZXBlYXQgcHJldmlvdXMgY29tbWFuZFxuIgorbXNnc3RyICIiCisiPNC/0YDQvtCx0LXQuz4gICAgICAgICAgICAgICAg0JLRi9Cy0L7QtCDRgdC70LXQtNGD0Y7RidC40YUgayDRgdGC0YDQvtC6INGC0LXQutGB0YLQsCBb0YLQtdC60YPRidC40Lkg0YDQsNC30LzQtdGAINGN0LrRgNCw0L3QsF1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICDQktGL0LLQvtC0INGB0LvQtdC00YPRjtGJ0LjRhSBrINGB0YLRgNC+0Log0YLQtdC60YHRgtCwIFvRgtC10LrRg9GJ0LjQuSDRgNCw0LfQvNC10YAg0Y3QutGA0LDQvdCwXSpcbiIKKyI8cmV0dXJuPiAgICAgICAgICAgICAgICDQktGL0LLQvtC0INGB0LvQtdC00YPRjtGJ0LjRhSBrINGB0YLRgNC+0Log0YLQtdC60YHRgtCwIFsxXSpcbiIKKyJkINC40LvQuCBjdHJsLUQgICAgICAgICAgICDQn9GA0L7QutGA0YPRgtC60LAgayDRgdGC0YDQvtC6IFvRgtC10LrRg9GJ0LXQtSDQt9C90LDRh9C10L3QuNC1INC/0YDQvtC60YDRg9GC0LrQuCwg0LjQt9C90LDRh9Cw0LvRjNC90L4gMTFdKlxuIgorInEg0LjQu9C4IFEg0LjQu9C4IDzQv9GA0LXRgNGL0LIuPiAgINCS0YvRhdC+0LQg0LjQtyBtb3JlXG4iCisicyAgICAgICAgICAgICAgICAgICAgICAg0J/RgNC+0L/Rg9GB0Log0LLQv9C10YDQtdC0IGsg0YHRgtGA0L7QuiDRgtC10LrRgdGC0LAgWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAg0J/RgNC+0L/Rg9GB0Log0LLQv9C10YDQtdC0IGsg0L/QvtC70L3Ri9GFINGN0LrRgNCw0L3QvtCyINGC0LXQutGB0YLQsCBbMV1cbiIKKyJiINC40LvQuCBjdHJsLUIgICAgICAgICAgICDQn9GA0L7Qv9GD0YHQuiDQvdCw0LfQsNC0IGsg0L/QvtC70L3Ri9GFINGN0LrRgNCw0L3QvtCyINGC0LXQutGB0YLQsCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICDQn9C10YDQtdGF0L7QtCDQsiDQvNC10YHRgtC+LCDRgSDQutC+0YLQvtGA0L7Qs9C+INCx0YvQuyDQvdCw0YfQsNGCINC/0YDQtdC00YvQtNGD0YnQuNC5INC/0L7QuNGB0LpcbiIKKyI9ICAgICAgICAgICAgICAgICAgICAgICDQntGC0L7QsdGA0LDQttC10L3QuNC1INC90L7QvNC10YDQsCDRgtC10LrRg9GJ0LXQuSDRgdGC0YDQvtC60LhcbiIKKyIvPNGA0LXQs9GD0LvRj9GA0L3QvtC1INCy0YvRgNCw0LbQtdC90LjQtT4g0J/QvtC40YHQuiBrLdCz0L4g0LLRhdC+0LbQtNC10L3QuNGPINGA0LXQs9GD0LvRj9GA0L3QvtCz0L4g0LLRi9GA0LDQttC10L3QuNGPIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgINCf0L7QuNGB0Logay3Qs9C+INCy0YXQvtC20LTQtdC90LjRjyDQv9C+0YHQu9C10LTQvdC10LPQviDRgC7Qsi4gWzFdXG4iCisiITxjbWQ+INC40LvQuCA6ITxjbWQ+ICAgICAg0JLRi9C/0L7Qu9C90LXQvdC40LUgPGNtZD4g0LIg0YHRg9CxLdGI0LXQu9C70LVcbiIKKyJ2ICAgICAgICAgICAgICAgICAgICAgICDQl9Cw0L/Rg9GB0LogL3Vzci9iaW4vdmkg0YEg0YLQtdC60YPRidC10Lkg0YHRgtGA0L7QutC4XG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAg0J/QtdGA0LXRgNC40YHQvtCy0YvQstCw0L3QuNC1INGN0LrRgNCw0L3QsFxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgINCf0LXRgNC10YXQvtC0INC6IGst0LzRgyDRgdC70LXQtNGD0Y7RidC10LzRgyDRhNCw0LnQu9GDIFsxXVxuIgorIjpwICAgICAgICAgICAgICAgICAgICAgINCf0LXRgNC10YXQvtC0INC6IGst0LzRgyDQv9GA0LXQtNGL0LTRg9GJ0LXQvNGDINGE0LDQudC70YMgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAg0J7RgtC+0LHRgNCw0LbQtdC90LjQtSDQuNC80LXQvdC4INGC0LXQutGD0YnQtdCz0L4g0YTQsNC50LvQsCDQuCDQvdC+0LzQtdGA0LAg0YHRgtGA0L7QutC4XG4iCisiLiAgICAgICAgICAgICAgICAgICAgICAg0J/QvtCy0YLQvtGA0LXQvdC40LUg0L/RgNC10LTRi9C00YPRidC10Lkg0LrQvtC80LDQvdC00YtcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTM3MyB0ZXh0LXV0aWxzL21vcmUuYzoxMzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyAnaCcgZm9yIGluc3RydWN0aW9ucy5dIgorbXNnc3RyICJb0J3QsNC20LzQuNGC0LUgJ2gnINC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0LjQvdGB0YLRgNGD0LrRhtC40LkuXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgbGluZSAlZCIKK21zZ3N0ciAiXCIlc1wiINGB0YLRgNC+0LrQsCAlZCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQxMgorIywgYy1mb3JtYXQKK21zZ2lkICJbTm90IGEgZmlsZV0gbGluZSAlZCIKK21zZ3N0ciAiW9Cd0LUg0YTQsNC50LtdINGB0YLRgNC+0LrQsCAlZCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQ5NAorbXNnaWQgIiAgT3ZlcmZsb3dcbiIKK21zZ3N0ciAiICDQn9C10YDQtdC/0L7Qu9C90LXQvdC40LVcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU0MworbXNnaWQgIi4uLnNraXBwaW5nXG4iCittc2dzdHIgIi4uLtC/0YDQvtC/0YPRgdC60LDQtdGC0YHRj1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTc3Cittc2dpZCAiIgorIlxuIgorIlBhdHRlcm4gbm90IGZvdW5kXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQqNCw0LHQu9C+0L0g0L3QtSDQvdCw0LnQtNC10L1cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU4MyB0ZXh0LXV0aWxzL3BnLmM6MTAyNyB0ZXh0LXV0aWxzL3BnLmM6MTE3MworbXNnaWQgIlBhdHRlcm4gbm90IGZvdW5kIgorbXNnc3RyICLQqNCw0LHQu9C+0L0g0L3QtSDQvdCw0LnQtNC10L0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2MjkKK21zZ2lkICJleGVjIGZhaWxlZFxuIgorbXNnc3RyICLQstGL0L/QvtC70L3QtdC90LjQtSDQt9Cw0LLQtdGA0YjQuNC70L7RgdGMINC90LXRg9C00LDRh9C10LlcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY0MworbXNnaWQgImNhbid0IGZvcmtcbiIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0YHQvtC30LTQsNGC0Ywg0LTQvtGH0LXRgNC90LjQuSDQv9GA0L7RhtC10YHRgVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjc3Cittc2dpZCAiIgorIlxuIgorIi4uLlNraXBwaW5nICIKK21zZ3N0ciAiIgorIlxuIgorIi4uLtCf0YDQvtC/0YPRgdC60LDQtdGC0YHRjyAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2ODEKK21zZ2lkICIuLi5Ta2lwcGluZyB0byBmaWxlICIKK21zZ3N0ciAiLi4u0J/RgNC+0L/Rg9GB0LrQsNC10YLRgdGPINC00L4g0YTQsNC50LvQsCAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2ODMKK21zZ2lkICIuLi5Ta2lwcGluZyBiYWNrIHRvIGZpbGUgIgorbXNnc3RyICIuLi7Qn9GA0L7Qv9GD0YHQutCw0LXRgtGB0Y8g0L7QsdGA0LDRgtC90L4g0LTQviDRhNCw0LnQu9CwICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTk3MworbXNnaWQgIkxpbmUgdG9vIGxvbmciCittc2dzdHIgItCh0YLRgNC+0LrQsCDRgdC70LjRiNC60L7QvCDQtNC70LjQvdC90LDRjyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjAxMAorbXNnaWQgIk5vIHByZXZpb3VzIGNvbW1hbmQgdG8gc3Vic3RpdHV0ZSBmb3IiCittc2dzdHIgItCd0LXRgiDQv9GA0LXQtNGL0LTRg9GJ0LXQuSDQutC+0LzQsNC90LTRiyDQtNC70Y8g0LfQsNC80LXQvdGLIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTQ0Cittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyIgIGggICAgICAgICAgICAgICAgICAgICAgIHRoaXMgc2NyZWVuXG4iCisiICBxIG9yIFEgICAgICAgICAgICAgICAgICBxdWl0IHByb2dyYW1cbiIKKyIgIDxuZXdsaW5lPiAgICAgICAgICAgICAgIG5leHQgcGFnZVxuIgorIiAgZiAgICAgICAgICAgICAgICAgICAgICAgc2tpcCBhIHBhZ2UgZm9yd2FyZFxuIgorIiAgZCBvciBeRCAgICAgICAgICAgICAgICAgbmV4dCBoYWxmcGFnZVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgbmV4dCBsaW5lXG4iCisiICAkICAgICAgICAgICAgICAgICAgICAgICBsYXN0IHBhZ2VcbiIKKyIgIC9yZWdleC8gICAgICAgICAgICAgICAgIHNlYXJjaCBmb3J3YXJkIGZvciByZWdleFxuIgorIiAgP3JlZ2V4PyBvciBecmVnZXheICAgICAgc2VhcmNoIGJhY2t3YXJkIGZvciByZWdleFxuIgorIiAgLiBvciBeTCAgICAgICAgICAgICAgICAgcmVkcmF3IHNjcmVlblxuIgorIiAgdyBvciB6ICAgICAgICAgICAgICAgICAgc2V0IHBhZ2Ugc2l6ZSBhbmQgZ28gdG8gbmV4dCBwYWdlXG4iCisiICBzIGZpbGVuYW1lICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgZmlsZSB0byBmaWxlbmFtZVxuIgorIiAgIWNvbW1hbmQgICAgICAgICAgICAgICAgc2hlbGwgZXNjYXBlXG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBwcmV2aW91cyBmaWxlXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBuZXh0IGZpbGVcbiIKKyJcbiIKKyJNYW55IGNvbW1hbmRzIGFjY2VwdCBwcmVjZWRpbmcgbnVtYmVycywgZm9yIGV4YW1wbGU6XG4iCisiKzE8bmV3bGluZT4gKG5leHQgcGFnZSk7IC0xPG5ld2xpbmU+IChwcmV2aW91cyBwYWdlKTsgMTxuZXdsaW5lPiAoZmlyc3QgcGFnZSkuXG4iCisiXG4iCisiU2VlIHBnKDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIgorbXNnc3RyICIlcyBb0L/QsNGA0LDQvNC10YLRgNGLXSBbK9GB0YLRgNC+0LrQsF0gWysv0YjQsNCx0LvQvtC9L10gW9GE0LDQudC70YtdXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMjYKK21zZ2lkICJCcm93c2UgcGFnZXdpc2UgdGhyb3VnaCB0ZXh0IGZpbGVzLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMjkKK21zZ2lkICIgLW51bWJlciAgICAgIGxpbmVzIHBlciBwYWdlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMAorbXNnaWQgIiAtYyAgICAgICAgICAgY2xlYXIgc2NyZWVuIGJlZm9yZSBkaXNwbGF5aW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMQorbXNnaWQgIiAtZSAgICAgICAgICAgZG8gbm90IHBhdXNlIGF0IGVuZCBvZiBhIGZpbGVcbiIKK21zZ3N0ciAiIC1lICAgICAgICAgICDQvdC1INC00LXQu9Cw0YLRjCDQv9Cw0YPQt9GDINCyINC60L7QvdGG0LUg0YTQsNC50LvQsFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMyCittc2dpZCAiIC1mICAgICAgICAgICBkbyBub3Qgc3BsaXQgbG9uZyBsaW5lc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgINC90LUg0YDQsNC30LHQuNCy0LDRgtGMINC00LvQuNC90L3Ri9C1INGB0YLRgNC+0LrQuFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMzCittc2dpZCAiIC1uICAgICAgICAgICB0ZXJtaW5hdGUgY29tbWFuZCB3aXRoIG5ldyBsaW5lXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNAorbXNnaWQgIiAtcCA8cHJvbXB0PiAgc3BlY2lmeSBwcm9tcHRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM1Cittc2dpZCAiIC1yICAgICAgICAgICBkaXNhbGxvdyBzaGVsbCBlc2NhcGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM2Cittc2dpZCAiIC1zICAgICAgICAgICBwcmludCBtZXNzYWdlcyB0byBzdGRvdXRcbiIKK21zZ3N0ciAiIC1zICAgICAgICAgICDQstGL0LLQvtC00LjRgtGMINGB0L7QvtCx0YnQtdC90LjRjyDQvdCwINGB0YLQsNC90LTQsNGA0YLQvdGL0Lkg0LLRi9Cy0L7QtFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM3Cittc2dpZCAiICtudW1iZXIgICAgICBzdGFydCBhdCB0aGUgZ2l2ZW4gbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzgKK21zZ2lkICIgKy9wYXR0ZXJuLyAgIHN0YXJ0IGF0IHRoZSBsaW5lIGNvbnRhaW5pbmcgcGF0dGVyblxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICVzIgorbXNnc3RyICLQlNC70Y8g0L/QsNGA0LDQvNC10YLRgNCwINC90YPQttC10L0g0LDRgNCz0YPQvNC10L3RgiDigJQgJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBvcHRpb24gLS0gJXMiCittc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQuSDQv9Cw0YDQsNC80LXRgtGAIOKAlCAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjM1OQorbXNnaWQgIi4uLnNraXBwaW5nIGZvcndhcmRcbiIKK21zZ3N0ciAiLi4u0L/RgNC+0L/Rg9GB0LrQsNC10YLRgdGPINCy0L/QtdGA0LXQtFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzYxCittc2dpZCAiLi4uc2tpcHBpbmcgYmFja3dhcmRcbiIKK21zZ3N0ciAiLi4u0L/RgNC+0L/Rg9GB0LrQsNC10YLRgdGPINC90LDQt9Cw0LRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM3NworbXNnaWQgIk5vIG5leHQgZmlsZSIKK21zZ3N0ciAi0J3QtdGCINGB0LvQtdC00YPRjtGJ0LXQs9C+INGE0LDQudC70LAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODEKK21zZ2lkICJObyBwcmV2aW91cyBmaWxlIgorbXNnc3RyICLQndC10YIg0L/RgNC10LTRi9C00YPRidC10LPQviDRhNCw0LnQu9CwIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3IgZnJvbSAlcyBmaWxlIgorbXNnc3RyICLQntGI0LjQsdC60LAg0YfRgtC10L3QuNGPINC40Lcg0YTQsNC50LvQsCAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjg4NgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIEVPRiBpbiAlcyBmaWxlIgorbXNnc3RyICLQndC10L7QttC40LTQsNC90L3Ri9C5INC60L7QvdC10YYg0YTQsNC50LvQsCDQsiDRhNCw0LnQu9C1ICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODg4CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gZXJyb3IgaW4gJXMgZmlsZSIKK21zZ3N0ciAi0J3QtdC40LfQstC10YHRgtC90LDRjyDQvtGI0LjQsdC60LAg0LIg0YTQsNC50LvQtSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjk0MQorIywgZnV6enkKK21zZ2lkICJDYW5ub3QgY3JlYXRlIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICLQndC1INGD0LTQsNGR0YLRgdGPINGB0L7Qt9C00LDRgtGMINCy0YDQtdC80LXQvdC90YvQuSDRhNCw0LnQuyIKKworIzogdGV4dC11dGlscy9wZy5jOjk1MCB0ZXh0LXV0aWxzL3BnLmM6MTExNCB0ZXh0LXV0aWxzL3BnLmM6MTE0MAorbXNnaWQgIlJFIGVycm9yOiAiCittc2dzdHIgItCe0YjQuNCx0LrQsCBSRTogIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTA5NworbXNnaWQgIihFT0YpIgorbXNnc3RyICIo0LrQvtC90LXRhiDRhNCw0LnQu9CwKSIKKworIzogdGV4dC11dGlscy9wZy5jOjExMjIgdGV4dC11dGlscy9wZy5jOjExNDgKK21zZ2lkICJObyByZW1lbWJlcmVkIHNlYXJjaCBzdHJpbmciCittc2dzdHIgItCd0LXRgiDQt9Cw0L/QvtC80L3QtdC90L3Ri9GFINGB0YLRgNC+0Log0L/QvtC40YHQutCwIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTIwMworbXNnaWQgImNhbm5vdCBvcGVuICIKK21zZ3N0ciAi0L3QtSDRg9C00LDRkdGC0YHRjyDQvtGC0LrRgNGL0YLRjCIKKworIzogdGV4dC11dGlscy9wZy5jOjEyNTUKK21zZ2lkICJzYXZlZCIKK21zZ3N0ciAi0YHQvtGF0YDQsNC90LXQvSIKKworIzogdGV4dC11dGlscy9wZy5jOjEzNDUKK21zZ2lkICI6ICFjb21tYW5kIG5vdCBhbGxvd2VkIGluIHJmbGFnIG1vZGUuXG4iCittc2dzdHIgIjogIdC60L7QvNCw0L3QtNCwINC90LUg0YDQsNC30YDQtdGI0LXQvdCwINCyINGA0LXQttC40LzQtSByZmxhZy5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzODAKK21zZ2lkICJmb3JrKCkgZmFpbGVkLCB0cnkgYWdhaW4gbGF0ZXJcbiIKK21zZ3N0ciAiZm9yaygpINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LksINC/0L7Qv9GA0L7QsdGD0LnRgtC1INC10YnQtSDRgNCw0Lcg0L/QvtC/0L7Qt9C20LVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjE0NjgKK21zZ2lkICIoTmV4dCBmaWxlOiAiCittc2dzdHIgIijQodC70LXQtNGD0Y7RidC40Lkg0YTQsNC50Ls6ICIKKworIzogdGV4dC11dGlscy9wZy5jOjE1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXMgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU4NyB0ZXh0LXV0aWxzL3BnLmM6MTY2MAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMgcGVyIHBhZ2UiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0YfQuNGB0LvQviDRgdGC0YDQvtC6INC90LAg0YHRgtGA0LDQvdC40YbQtSIKKworIzogdGV4dC11dGlscy9yZXYuYzo3NgorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzIFvQv9Cw0YDQsNC80LXRgtGA0YtdIFvRhNCw0LnQuyAuLi5dXG4iCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6ODAKK21zZ2lkICJSZXZlcnNlIGxpbmVzIGNoYXJhY3Rlcndpc2UuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJpbmNvbXBsZXRlIHdyaXRlIHRvIFwiJXNcIiAod3JpdHRlbiAlemQsIGV4cGVjdGVkICV6ZClcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2ggKGxpbWl0IG9mIGlub3RpZnkgd2F0Y2hlcyB3YXMgcmVhY2hlZCkuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxOTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uXSA8ZmlsZT5cbiIKK21zZ3N0ciAiJXMgW9C/0LDRgNCw0LzQtdGC0YDRi10gPNGE0LDQudC7PlxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjAwCittc2dpZCAiRm9sbG93IHRoZSBncm93dGggb2YgYSBsb2cgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjAzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1saW5lcyA8bnVtYmVyPiAgIG91dHB1dCB0aGUgbGFzdCA8bnVtYmVyPiBsaW5lc1xuIgorbXNnc3RyICIgLUMsIC0tY3lsaW5kZXJzIDzRh9C40YHQu9C+PiAgICAgICDRg9C60LDQttC40YLQtSDQutC+0LvQuNGH0LXRgdGC0LLQviDRhtC40LvQuNC90LTRgNC+0LJcbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwNAorIywgZnV6enkKK21zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgICBzYW1lIGFzICctbiA8bnVtYmVyPidcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgINCt0YLQviDQvdC10LHQvtC70YzRiNC+0LUg0YDRg9C60L7QstC+0LTRgdGC0LLQviDQv9C+INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGOXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMTAKK21zZ2lkICJXYXJuaW5nOiB1c2Ugb2YgJ3RhaWxmJyBpcyBkZXByZWNhdGVkLCB1c2UgJ3RhaWwgLWYnIGluc3RlYWQuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIyMyB0ZXh0LXV0aWxzL3RhaWxmLmM6MjYzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCDQutC+0LvQuNGH0LXRgdGC0LLQviDRgdGC0YDQvtC6IgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6Mjc1Cittc2dpZCAibm8gaW5wdXQgZmlsZSBzcGVjaWZpZWQiCittc2dzdHIgItCd0LUg0YPQutCw0LfQsNC9INCy0YXQvtC00L3QvtC5INGE0LDQudC7IgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGEgZmlsZSIKK21zZ3N0ciAi0LrQvtGA0L3QtdCy0L7QuSBpbm9kZSDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LrQsNGC0LDQu9C+0LPQvtC8IgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiAuLi5dXG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgNGLXSBbPNGE0LDQudC7PiAuLi5dXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxMzkKK21zZ2lkICJEbyB1bmRlcmxpbmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQyCittc2dpZCAiIC10LCAtVCwgLS10ZXJtaW5hbCBURVJNSU5BTCAgb3ZlcnJpZGUgdGhlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQzCittc2dpZCAiIC1pLCAtLWluZGljYXRlZCAgICAgICAgICAgICAgdW5kZXJsaW5pbmcgaXMgaW5kaWNhdGVkIHZpYSBhIHNlcGFyYXRlIGxpbmVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA0Cittc2dpZCAidHJvdWJsZSByZWFkaW5nIHRlcm1pbmZvIgorbXNnc3RyICLQvtGI0LjQsdC60LAg0YfRgtC10L3QuNGPIHRlcm1pbmZvIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsIGAlcycgaXMgbm90IGtub3duLCBkZWZhdWx0aW5nIHRvIGBkdW1iJyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZXNjYXBlIHNlcXVlbmNlIGluIGlucHV0OiAlbywgJW8iCittc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdCw0Y8gZXNjYXBlLdC/0L7RgdC70LXQtNC+0LLQsNGC0LXQu9GM0L3QvtGB0YLRjCDQstC+INCy0YXQvtC00L3Ri9GFINC00LDQvdC90YvRhTogJW8sICVvIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6NjI0Cittc2dpZCAiSW5wdXQgbGluZSB0b28gbG9uZy4iCittc2dzdHIgItCh0YLRgNC+0LrQsCDQstGF0L7QtNC90YvRhSDQtNCw0L3QvdGL0YUg0YHQu9C40YjQutC+0Lwg0LTQu9C40L3QvdCw0Y8uIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIHVzZSB0aGUgSGFyZHdhcmUgQ2xvY2suIgorI34gbXNnc3RyICLQmiDRgdC+0LbQsNC70LXQvdC40Y4g0YLQvtC70YzQutC+INGB0YPQv9C10YDQv9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0LzQvtC20LXRgiDQuNC30LzQtdC90Y/RgtGMINCw0L/Qv9Cw0YDQsNGC0L3Ri9C1INGH0LDRgdGLLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIHNlY2NvbXAgY29udGV4dCIKKyN+IG1zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQuNC90LjRhtC40LDQu9C40LfQuNGA0L7QstCw0YLRjCBsb29wY3h0IgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBhZGQgc2VjY29tcCBydWxlIgorI34gbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQv9GA0L7Rh9C40YLQsNGC0YwgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gbG9hZCBzZWNjb21wIHJ1bGUiCisjfiBtc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INC/0YDQvtGH0LjRgtCw0YLRjCAlc1xuIgorCisjfiBtc2dpZCAiRmlsZXN5c3RlbSBsYWJlbDoiCisjfiBtc2dzdHIgItCc0LXRgtC60LAg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRizoiCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc2V0IFBBVEgiCisjfiBtc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC30LDQtNCw0YLRjCBQQVRIIgorCisjfiBtc2dpZCAiJWQiCisjfiBtc2dzdHIgIiVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgImFyZ3VtZW50IGVycm9yOiAlcyIKKyN+IG1zZ3N0ciAi0L7RiNC40LHQutCwINC30LDQv9C40YHQuCDQvdCwICVzXG4iCisKKyN+IG1zZ2lkICJiYWQgdGltZW91dCB2YWx1ZTogJXMiCisjfiBtc2dzdHIgItC90LXQstC10YDQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDRgtCw0LnQvC3QsNGD0YLQsDogJXMiCisKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCIKKyN+IG1zZ3N0ciAiJXM6INC+0YjQuNCx0LrQsCDRgNCw0LfQsdC+0YDQsCDQsiDRgdGC0YDQvtC60LUgJWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yOiBpZ25vcmUgZW50cnkgYXQgbGluZSAlZC4iCisjfiBtc2dzdHIgItC/0L7RgdC70LXQtNC90Y/RjyDQv9C10YDQstCw0Y8g0YHRgtGA0L7QutCwIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBub3Qgc2V0dXAgdGltZXIiCisjfiBtc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMICVzIgorCisjfiBtc2dpZCAiZGlmZmVyZW50IgorI34gbXNnc3RyICLQvtGC0LvQuNGH0LDQtdGC0YHRjyIKKworI34gbXNnaWQgInNhbWUiCisjfiBtc2dzdHIgItC+0LTQuNC90LDQutC+0LLRi9C5IgorCisjfiBtc2dpZCAiY2Fubm90IGFjY2VzcyBmaWxlICVzIgorI34gbXNnc3RyICLQvdC10YIg0LTQvtGB0YLRg9C/0LAg0Log0YTQsNC50LvRgyAlcyIKKworI34gbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIHNwZWNpYWwgZGV2aWNlIgorI34gbXNnc3RyICIlcyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0L7RgdC+0LHRi9C8INCx0LvQvtGH0L3Ri9C8INGD0YHRgtGA0L7QudGB0YLQstC+0LwiCisKKyN+IG1zZ2lkICIlczogZGV2aWNlIGlzIG1pc2FsaWduZWQiCisjfiBtc2dzdHIgIiVzOiDQs9GA0LDQvdC40YbRiyDRg9GB0YLRgNC+0LnRgdGC0LLQsCDQvdC1INCy0YvRgNCw0LLQvdC10L3RiyIKKworI34gbXNnaWQgIk9TLzIgaGlkZGVuIEM6IGRyaXZlIgorI34gbXNnc3RyICJPUy8yINGB0LrRgNGL0YLRi9C5INC00LjRgdC6IEM6IgorCisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgZGV2aWNlIHBhdGgiCisjfiBtc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0L/Rg9GC0Ywg0Log0YPRgdGC0YDQvtC50YHRgtCy0YMiCisKKyN+IG1zZ2lkICIlczogdW5rbm93biBkZXZpY2UgbmFtZSIKKyN+IG1zZ3N0ciAiJXM6INC90LXQuNC30LLQtdGB0YLQvdC+0LUg0LjQvNGPINGD0YHRgtGA0L7QudGB0YLQstCwIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRtIG5hbWUiCisjfiBtc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyMsIGZ1enp5CisjfnwgbXNnaWQgIiVzICAlLjZmIHNlY29uZHNcbiIKKyN+IG1zZ2lkICIlcyAgLiUwNmQgc2Vjb25kc1xuIgorI34gbXNnc3RyICIlcyAgJS42ZiDRgdC10LrRg9C90LRcbiIKKworI34gbXNnaWQgInBhZ2VzIgorI34gbXNnc3RyICLRgdGC0YDQsNC90LjRhiIKZGlmZiAtLWdpdCBhL3BvL3NsLnBvIGIvcG8vc2wucG8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDQzYTlkMAotLS0gL2Rldi9udWxsCisrKyBiL3BvL3NsLnBvCkBAIC0wLDAgKzEsMjQ1MTIgQEAKKyMgLSotIG1vZGU6IHBvIC0qLSBTbG92ZW5pYW4gdHJhbnNsYXRpb24gZm9yIHV0aWwtbGludXggcGFja2FnZS4KKyMgQ29weXJpZ2h0IChDKSAyMDAyLCAyMDAzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBQcmltb74gUGV0ZXJsaW4gPHByaW1vei5wZXRlcmxpbkBiaW9maXoubWYudW5pLWxqLnNpPiwgMjAwMiwgMjAwMy4KKyMgU2ltb24gTWloZXZjIDxzaW1vbm1paGV2Y0B2b2xqYS5uZXQ+LCAyMDA1LCAyMDA2CisjICRJZDogdXRpbC1saW51eC0yLjEzLXByZTYuc2wucG8sdiAxLjMgMjAwNi8wMy8wNCAxOToyOTozNCBwZXRlcmxpbiBFeHAgJAorIworIyBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gZnJlZWx5IGNvcHkgYW5kIGRpc3RyaWJ1dGUKKyMgdGhpcyBmaWxlIGFuZCBtb2RpZmllZCB2ZXJzaW9ucywgcHJvdmlkZWQgdGhhdCB0aGlzCisjIGhlYWRlciBpcyBub3QgcmVtb3ZlZCBhbmQgbW9kaWZpZWQgdmVyc2lvbnMgYXJlIG1hcmtlZAorIyBhcyBzdWNoLgorIworbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdXRpbC1saW51eCAyLjEzLXByZTZcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogdXRpbC1saW51eEB2Z2VyLmtlcm5lbC5vcmdcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNy0wMi0yMiAxMjozMiswMTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAwNi0wMy0wNSAxMjoyOSswMjAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBTaW1vbiBNaWhldmMgPHNpbW9ubWloZXZjQGVtYWlsLnNpPlxuIgorIkxhbmd1YWdlLVRlYW06IFNsb3ZlbmlhbiA8dHJhbnNsYXRpb24tdGVhbS1zbEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCisiTGFuZ3VhZ2U6IHNsXG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMlxuIgorIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxzdGFydD4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxOAorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgZXhpc3RlbmNlIG9mIGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1NiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mjc2IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0MjAKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NDYgZGlzay11dGlscy9jZmRpc2suYzoyNjM0IGRpc2stdXRpbHMvZGVscGFydC5jOjU3CisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI3IGRpc2stdXRpbHMvZmRpc2suYzo3MTggZGlzay11dGlscy9mZGlzay5jOjk5NAorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzAxIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM0MQorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzYwIGRpc2stdXRpbHMvZnNjay5jOjE0NDgKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTUgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxMAorIzogZGlzay11dGlscy9pc29zaXplLmM6MTM0IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODkKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNzMgZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2MQorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4OCBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTkKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjE1IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ0IGRpc2stdXRpbHMvcGFydHguYzo5OTQKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwMSBkaXNrLXV0aWxzL3NmZGlzay5jOjY0NyBkaXNrLXV0aWxzL3NmZGlzay5jOjcwMworIzogZGlzay11dGlscy9zZmRpc2suYzo3NTcgZGlzay11dGlscy9zZmRpc2suYzo4MTYgZGlzay11dGlscy9zZmRpc2suYzo4ODAKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTIxIGRpc2stdXRpbHMvc2ZkaXNrLmM6OTUxIGRpc2stdXRpbHMvc2ZkaXNrLmM6OTg4CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MzcgZGlzay11dGlscy9zd2FwbGFiZWwuYzo2MCBsaWJmZGlzay9zcmMvYnNkLmM6NjQxCisjOiBsaWIvcGF0aC5jOjcwIGxpYi9wYXRoLmM6ODIgbG9naW4tdXRpbHMvaXNsb2NhbC5jOjg3IGxvZ2luLXV0aWxzL2xhc3QuYzo2NzIKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NDYgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ4MworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzYgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNTkKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzgxIGxvZ2luLXV0aWxzL3ZpcHcuYzoyNTggbG9naW4tdXRpbHMvdmlwdy5jOjI3NgorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5NyBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODggbWlzYy11dGlscy9tY29va2llLmM6MTE1CisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjA3IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTgzIHN5cy11dGlscy9kbWVzZy5jOjUyMgorIzogc3lzLXV0aWxzL2VqZWN0LmM6NTAwIHN5cy11dGlscy9lamVjdC5jOjcwMCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzc0CisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjggc3lzLXV0aWxzL2ZzdHJpbS5jOjcyIHN5cy11dGlscy9od2Nsb2NrLmM6MjgyCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjM4IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE2MgorIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjU2IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQwMQorIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDIyIHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ2OQorIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzg4IHN5cy11dGlscy9uc2VudGVyLmM6MTI4IHN5cy11dGlscy9ydGN3YWtlLmM6MTM2CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI3MCBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzMCBzeXMtdXRpbHMvc2V0cHJpdi5jOjUyOQorIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NTIgc3lzLXV0aWxzL3N3YXBvbi5jOjM3MSBzeXMtdXRpbHMvc3dhcG9uLmM6NTE0CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjMgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMDYgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjEKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMyMSBzeXMtdXRpbHMvd2RjdGwuYzozNzcgdGVybS11dGlscy9hZ2V0dHkuYzoyNjE4CisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMjcgdGVybS11dGlscy9zY3JpcHQuYzo0MjUgdGVybS11dGlscy9zY3JpcHQuYzo0MzEKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDMzIHRlcm0tdXRpbHMvc2NyaXB0LmM6NTIyCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE5NyB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIwMAorIzogdGVybS11dGlscy93YWxsLmM6MzMxIHRleHQtdXRpbHMvY29sY3J0LmM6MjgyIHRleHQtdXRpbHMvbW9yZS5jOjUxMworIzogdGV4dC11dGlscy9yZXYuYzoxNDEgdGV4dC11dGlscy90YWlsZi5jOjY4IHRleHQtdXRpbHMvdGFpbGYuYzoxMDAKKyM6IHRleHQtdXRpbHMvdWwuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXMiCittc2dzdHIgIm5pIG1vZ2/oZSBvZHByZXRpICVzIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1OSBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MCBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzo5OAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBhcnRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgIm5ldmVsamF2ZW4gaWQiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc3RhcnQgYXJndW1lbnQiCittc2dzdHIgIm5ldmVsamF2ZW4gaWQiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYxIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIKK21zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24iCittc2dzdHIgInBvbm92bm8gcHJlYmVyaSB0YWJlbG8gcmF6ZGVsa292IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NjMKK21zZ2lkICJzZXQgcmVhZC1vbmx5IgorbXNnc3RyICJuYXN0YXZpIHNhbW8gemEgYnJhbmplIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzAKK21zZ2lkICJzZXQgcmVhZC13cml0ZSIKK21zZ3N0ciAibmFzdGF2aSB6YSBwaXNhbmplIGluIGJyYW5qZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjc2Cittc2dpZCAiZ2V0IHJlYWQtb25seSIKK21zZ3N0ciAicHJlYmVyaSBzYW1vIHphIGJyYW5qZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjgyCittc2dpZCAiZ2V0IGRpc2NhcmQgemVyb2VzIHN1cHBvcnQgc3RhdHVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4OAorIywgZnV6enkKK21zZ2lkICJnZXQgbG9naWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICJwcmViZXJpIHZlbGlrb3N0IHNla3RvcmphIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6OTQKKyMsIGZ1enp5Cittc2dpZCAiZ2V0IHBoeXNpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgInByZWJlcmkgdmVsaWtvc3Qgc2VrdG9yamEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDAKK21zZ2lkICJnZXQgbWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTA2Cittc2dpZCAiZ2V0IG9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExMgorIywgZnV6enkKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAic2xhYmEgdmVsaWtvc3QgaW5vZGEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTgKKyMsIGZ1enp5Cittc2dpZCAiZ2V0IG1heCBzZWN0b3JzIHBlciByZXF1ZXN0IgorbXNnc3RyICJEb2RhdG5pIHNla3RvcmppIG5hIHN0ZXpvIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTI0Cittc2dpZCAiZ2V0IGJsb2Nrc2l6ZSIKK21zZ3N0ciAicHJlYmVyaSB2ZWxpa29zdCBibG9rYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzMQorbXNnaWQgInNldCBibG9ja3NpemUgb24gZmlsZSBkZXNjcmlwdG9yIG9wZW5pbmcgdGhlIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgImdldCAzMi1iaXQgc2VjdG9yIGNvdW50IChkZXByZWNhdGVkLCB1c2UgLS1nZXRzeikiCittc2dzdHIgInByZWJlcmkgMzItYml0bm8guXRldmlsbyBzZWt0b3JqZXYiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNDMKKyMsIGZ1enp5Cittc2dpZCAiZ2V0IHNpemUgaW4gYnl0ZXMiCittc2dzdHIgInByZWJlcmkgdmVsaWtvc3QodiBiYWp0aWgpIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTUwCittc2dpZCAic2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAibmFzdGF2aSBicmFuamUtdm5hcHJlaiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1NgorbXNnaWQgImdldCByZWFkYWhlYWQiCittc2dzdHIgInByZWJlcmkgYnJhbmplLXZuYXByZWoiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjMKKyMsIGZ1enp5Cittc2dpZCAic2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICJuYXN0YXZpIGJyYW5qZS12bmFwcmVqIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTY5CisjLCBmdXp6eQorbXNnaWQgImdldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAicHJlYmVyaSBicmFuamUtdm5hcHJlaiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3MworbXNnaWQgImZsdXNoIGJ1ZmZlcnMiCittc2dzdHIgIml6cHJhem5pIG1lZHBvbW5pbG5pa2UiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzcKK21zZ2lkICJyZXJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJwb25vdm5vIHByZWJlcmkgdGFiZWxvIHJhemRlbGtvdiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICUxJHMgLVZcbiIKKyIgJTEkcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyIgJTEkcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyJcbiIKKyJBdmFpbGFibGUgY29tbWFuZHM6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICUtMjVzIGdldCBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnNcbiIKK21zZ3N0ciAicHJlYmVyaSB2ZWxpa29zdCh2IGJhanRpaCkiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMTEKKyMsIGZ1enp5Cittc2dpZCAiY291bGQgbm90IGdldCBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAiVmVsaWtvc3RpIGRpc2tvdm5lIHN0ZXplIG5pIG1vZ2/oZSBwcmVicmF0aSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjb21tYW5kOiAlcyIKK21zZ3N0ciAiJXM6IE5lem5hbiB1a2F6OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXMgemFodGV2YSBhcmd1bWVudFxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzY4IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGVycm9yIG9uICVzIgorbXNnc3RyICIlczogbmFwYWthIGlvY3RsIG5hICVzXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZC5cbiIKK21zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIiVzIGplIHVzcGVsby5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIHN5c2ZzIGhhbmRsZXIiCittc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYS5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiBzdGFydCBmcm9tIHN5c2ZzIgorbXNnc3RyICJwb25vdm5vIHByZWJlcmkgdGFiZWxvIHJhemRlbGtvdiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUk8gICAgUkEgICBTU1ogICBCU1ogICBTdGFydFNlYyAgICAgICAgICAgIFNpemUgICBEZXZpY2VcbiIKK21zZ3N0ciAic2FtbyB6YSBicmFuamUgICAgYnJhbmplLXZuYXByZWogICAgdmVsaWtvc3Qgc2VrdG9yamEgICAgdmVsaWtvc3QgYmxva2EgemHoZXRuaSBzZWt0b3IgICAgdmVsaWtvc3QgICAgTmFwcmF2YVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3OQorbXNnaWQgIkJvb3RhYmxlIgorbXNnc3RyICJaYWdvbnNraSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzkKK21zZ2lkICJUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIlByZWtsb3BpIHphZ29uc2tvIHphc3RhdmljbyB0cmVudXRuZWdhIHJhemRlbGthIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MAorbXNnaWQgIkRlbGV0ZSIKK21zZ3N0ciAiSXpicmm5aSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODAKK21zZ2lkICJEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJJemJyablpIHRhIHJhemRlbGVrIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MQorbXNnaWQgIk5ldyIKK21zZ3N0ciAiTm92YSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODEKK21zZ2lkICJDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIlVzdHZhcmkgbm92IHJhemRlbGVrIGl6IG5lemFzZWRlbmVnYSBwcm9zdG9yYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODIKK21zZ2lkICJRdWl0IgorbXNnc3RyICJJemhvZCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODIKKyMsIGZ1enp5Cittc2dpZCAiUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBjaGFuZ2VzIgorbXNnc3RyICJJemhvZCBpeiBwcm9ncmFtYSBicmV6IHphcGlzYSB0YWJlbGUgcmF6ZGVsa292IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MyBsaWJmZGlzay9zcmMvYnNkLmM6NDM5IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIwCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNiBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MAorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMTYKK21zZ2lkICJUeXBlIgorbXNnc3RyICJUaXAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgzCisjLCBmdXp6eQorbXNnaWQgIkNoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgIHQgICBzcHJlbWVuaSBzaXN0ZW1za2kgSUQgcmF6ZGVsa2EiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0Cittc2dpZCAiSGVscCIKK21zZ3N0ciAiUG9tb+giCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0Cittc2dpZCAiUHJpbnQgaGVscCBzY3JlZW4iCittc2dzdHIgIkl6cGm5aSBzdHJhbiB6IG5hdm9kaWxpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NQorbXNnaWQgIlNvcnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiRml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIiAgIGYgICBwb3ByYXZpIHZyc3RuaSByZWQgcmF6ZGVsa292IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIldyaXRlIgorbXNnc3RyICJaYXBpuWkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhKSIKK21zZ3N0ciAiWmFwablpIHRhYmVsbyByYXpkZWxrb3YgbmEgZGlzayAodG8gbGFoa28gdW5p6GkgcG9kYXRrZSkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRHVtcCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworIywgZnV6enkKK21zZ2lkICJEdW1wIHBhcnRpdGlvbiB0YWJsZSB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiSXpwablpIHRhYmVsbyByYXpkZWxrb3YgbmEgemFzbG9uIGFsaSBzaHJhbmkgdiBkYXRvdGVrbyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzo2MjAgZGlzay11dGlscy9mZGlzay5jOjQxNQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlhbG9nIHR5cGUgJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAobW91bnRlZCkiCittc2dzdHIgInVtb3VudDogJXM6IG5ldXNwZblubyBpc2thbmplIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyNzQKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIG5hbWU6IgorbXNnc3RyICKpdGV2aWxrYSByYXpkZWxrYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjgxCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBVVUlEOiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHJhemRlbGtvdjpcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjkzCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0eXBlOiIKK21zZ3N0ciAiqXRldmlsa2EgcmF6ZGVsa2EiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMwMAorbXNnaWQgIkF0dHJpYnV0ZXM6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMyNAorIywgZnV6enkKK21zZ2lkICJGaWxlc3lzdGVtIFVVSUQ6IgorbXNnc3RyICJWbmVzaXRlIHZyc3RvIGRhdG90ZehuZWdhIHNpc3RlbWE6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzMxCisjLCBmdXp6eQorbXNnaWQgIkZpbGVzeXN0ZW0gTEFCRUw6IgorbXNnc3RyICJWbmVzaXRlIHZyc3RvIGRhdG90ZehuZWdhIHNpc3RlbWE6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzM3CisjLCBmdXp6eQorbXNnaWQgIkZpbGVzeXN0ZW06IgorbXNnc3RyICJWbmVzaXRlIHZyc3RvIGRhdG90ZehuZWdhIHNpc3RlbWE6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzQyCisjLCBmdXp6eQorbXNnaWQgIk1vdW50cG9pbnQ6IgorbXNnc3RyICIlcyBqZSBwcmlrbG9wbGplbi5cdCAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzazogJXMiCittc2dzdHIgImRpc2s6ICUuKnNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTaXplOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiIgorIlxuIgorIkRpc2sgJXM6ICVsdSBzdGV6LCAlbHUgZ2xhdiwgJWx1IHNla3Rvcmpldi9zdGV6b1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcywgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIkRpc2tvdm5pIFBvZ29uOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMiCittc2dzdHIgIm96bmFrYTogJS4qc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NDYKK21zZ2lkICJNYXkgYmUgZm9sbG93ZWQgYnkgTSBmb3IgTWlCLCBHIGZvciBHaUIsIFQgZm9yIFRpQiwgb3IgUyBmb3Igc2VjdG9ycy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODUyCisjLCBmdXp6eQorbXNnaWQgIlBsZWFzZSwgc3BlY2lmeSBzaXplLiIKK21zZ3N0ciAiSXpiaXJhIC0tZGF0ZSBuaSBiaWxhIHBvZGFuYS5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNaW5pbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAicHJlYmVyaSB2ZWxpa29zdCh2IGJhanRpaCkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWF4aW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgInByZWJlcmkgdmVsaWtvc3QodiBiYWp0aWgpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OTAKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNpemUuIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQ4CisjLCBmdXp6eQorbXNnaWQgIlNlbGVjdCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiSXpicmFuIHJhemRlbGVrICVkXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk5NCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjQKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZTogIgorbXNnc3RyICIlczogemEgJXMgbmkgbW9nb+hlIG5hanRpIG5hcHJhdmVcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTk1CisjLCBmdXp6eQorbXNnaWQgIlRoZSBzY3JpcHQgZmlsZSB3aWxsIGJlIGFwcGxpZWQgdG8gaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIk5lIGJvc3RlIG1vZ2xpIHphcGlzYXRpIHRhYmVsZSByYXpkZWxrb3YuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwNCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNDYKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2NSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuICVzIgorbXNnc3RyICIlcyBuZSBtb3JlbSBvZHByZXRpXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwNiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAia2xpYyBpb2N0bCgpIG5pIHVzcGVsIHByZWJyYXRpIOhhc2EgaXogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwOCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgJXMiCittc2dzdHIgImtsaWMgaW9jdGwoKSBuaSB1c3BlbCBwcmVicmF0aSDoYXNhIGl6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjUKK21zZ2lkICJUaGUgY3VycmVudCBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlIHdpbGwgYmUgZHVtcGVkIHRvIHRoZSBmaWxlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzMgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDkxCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiWmEgbWVkcG9tbmlsbmlrIG5pIG1vZ2/oZSBkb2RlbGl0aSBwb21uaWxuaWthLlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzkKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZGlzayBsYXlvdXQgaW50byBzY3JpcHQuIgorbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA1MworbXNnaWQgIkRpc2sgbGF5b3V0IHN1Y2Nlc3NmdWxseSBkdW1wZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA1NiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBzY3JpcHQgJXMiCittc2dzdHIgImtsaWMgaW9jdGwoKSBuaSB1c3BlbCBwcmVicmF0aSDoYXNhIGl6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwOTIKKyMsIGZ1enp5Cittc2dpZCAiU2VsZWN0IGxhYmVsIHR5cGUiCittc2dzdHIgIk5lcHJhdmlsZW4gdGlwXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA5NSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxNworIywgZnV6enkKK21zZ2lkICJEZXZpY2UgZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiRGlzayAlcyBuZSB2c2VidWplIHZlbGphdm5lIHRhYmVsZSByYXpkZWxrb3ZcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTAxCittc2dpZCAiU2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgbGFiZWwgb3IgcHJlc3MgJ0wnIHRvIGxvYWQgc2NyaXB0IGZpbGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE0NgorIywgZnV6enkKK21zZ2lkICJUaGlzIGlzIGNmZGlzaywgYSBjdXJzZXMtYmFzZWQgZGlzayBwYXJ0aXRpb25pbmcgcHJvZ3JhbS4iCittc2dzdHIgIkNmZGlzayBqZSB0ZWtzdG92bmkgcHJvZ3JhbSB6YSB1cmVqYW5qZSBkaXNrb3ZuaWggcmF6ZGVsa292LCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ3CisjLCBmdXp6eQorbXNnaWQgIkl0IGxldHMgeW91IGNyZWF0ZSwgZGVsZXRlLCBhbmQgbW9kaWZ5IHBhcnRpdGlvbnMgb24gYSBibG9jayBkZXZpY2UuIgorbXNnc3RyICJzIGthdGVyaW0gbGFoa28gdXN0dmFyamF0ZSwgYnJpuWV0ZSBhbGkgc3ByZW1pbmphdGUgcmF6ZGVsa2UiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE0OQorbXNnaWQgIkNvbW1hbmQgICAgICBNZWFuaW5nIgorbXNnc3RyICIgIFVrYXogICAgICAgIFBvbWVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTAKK21zZ2lkICItLS0tLS0tICAgICAgLS0tLS0tLSIKK21zZ3N0ciAiLS0tLS0tLSAgICAgIC0tLS0tLS0iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MQorbXNnaWQgIiAgYiAgICAgICAgICBUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgYiAgICAgICAgICBQcmVrbG9wIG1lZCB6YWdvbnNraW0vbmV6YWdvbnNraW0gcmF6ZGVsa29tIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTIKK21zZ2lkICIgIGQgICAgICAgICAgRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBkICAgICAgICAgIEl6YnJpuWkgdHJlbnV0bmkgcmF6ZGVsZWsiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MworbXNnaWQgIiAgaCAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKK21zZ3N0ciAiICBoICAgICAgICAgIHByaWthvmkgdG8gcG9tb+giCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NAorbXNnaWQgIiAgbiAgICAgICAgICBDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIiAgbiAgICAgICAgICBVc3R2YXJpIG5vdiByYXpkZWxlayBuYSBuZXphc2VkZW5lZ2EgcHJvc3RvcmEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NQorbXNnaWQgIiAgcSAgICAgICAgICBRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICBxICAgICAgICAgIFphcHVzdGkgcHJvZ3JhbSwgbmUgZGEgYmkgemFwaXNhbCB0YWJlbG8gcmF6ZGVsa292IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTYKKyMsIGZ1enp5Cittc2dpZCAiICBzICAgICAgICAgIEZpeCBwYXJ0aXRpb25zIG9yZGVyIChvbmx5IHdoZW4gaW4gZGlzYXJyYXkpIgorbXNnc3RyICIgICAgICAgICAgICAgIHBhcmFtZXRyaVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTcKKyMsIGZ1enp5Cittc2dpZCAiICB0ICAgICAgICAgIENoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgdCAgICAgICAgICBTcHJlbWVuaSB2cnN0byBkYXRvdGXobmVnYSBzaXN0ZW1hIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTgKK21zZ2lkICIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTkKKyMsIGZ1enp5Cittc2dpZCAiICBXICAgICAgICAgIFdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh5b3UgbXVzdCBlbnRlciB1cHBlcmNhc2UgVyk7IgorbXNnc3RyICIgIFcgICAgICAgICAgWmFwablpIHRhYmVsbyByYXpkZWxrb3YgbmEgZGlzayAobW9yYSBiaXRpIHZlbGlraSBXISkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MAorIywgZnV6enkKK21zZ2lkICIgICAgICAgICAgICAgICBzaW5jZSB0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSBvbiB0aGUgZGlzaywgeW91IG11c3QgZWl0aGVyIgorbXNnc3RyICIgICAgICAgICAgICAgS2VyIGxhaGtvIHRhIGl6YmlyYSB1bmnoaSBwb2RhdGtlIG5hIGRpc2t1LCBtb3JhdGUsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAgICAgICAgICAgY29uZmlybSBvciBkZW55IHRoZSB3cml0ZSBieSBlbnRlcmluZyAneWVzJyBvciAnbm8nIgorbXNnc3RyICIgICAgICAgICAgICAgaXpiaXJvIHBvdHJkaXRpIGFsaSBwcmVrbGljYXRpIHogdm5vc29tICxkYWAgYWxpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjIKKyMsIGZ1enp5Cittc2dpZCAiICB4ICAgICAgICAgIERpc3BsYXkvaGlkZSBleHRyYSBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjMKK21zZ2lkICJVcCBBcnJvdyAgICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIHBhcnRpdGlvbiIKK21zZ3N0ciAiUHW56GljYSBnb3IgIFByZW1ha25pIGthemFsZWMgbmEgcHJlarluamkgcmF6ZGVsZWsiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2NAorbXNnaWQgIkRvd24gQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBwYXJ0aXRpb24iCittc2dzdHIgIlB1uehpY2EgZG9sICBQcmVtYWtuaSBrYXphbGVjIG5hIG5hc2xlZG5qaSByYXpkZWxlayIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY1CisjLCBmdXp6eQorbXNnaWQgIkxlZnQgQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgbWVudSBpdGVtIgorbXNnc3RyICJQdbnoaWNhIGdvciAgUHJlbWFrbmkga2F6YWxlYyBuYSBwcmVquW5qaSByYXpkZWxlayIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY2CisjLCBmdXp6eQorbXNnaWQgIlJpZ2h0IEFycm93ICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBtZW51IGl0ZW0iCittc2dzdHIgIlB1uehpY2EgZG9sICBQcmVtYWtuaSBrYXphbGVjIG5hIG5hc2xlZG5qaSByYXpkZWxlayIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY4Cittc2dpZCAiTm90ZTogQWxsIG9mIHRoZSBjb21tYW5kcyBjYW4gYmUgZW50ZXJlZCB3aXRoIGVpdGhlciB1cHBlciBvciBsb3dlciIKK21zZ3N0ciAiT3BvbWJhOiBWc2UgdWthemUgbGFoa28gdnBpuWV0ZSB6IHZlbGlraW1pIGFsaSBtYWxpbWkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2OQorIywgZnV6enkKK21zZ2lkICJjYXNlIGxldHRlcnMgKGV4Y2VwdCBmb3IgV3JpdGUpLiIKK21zZ3N0ciAidGlza2FuaW1pIOhya2FtaSAoeiBpemplbW8gVykuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzEKK21zZ2lkICJVc2UgbHNibGsoOCkgb3IgcGFydHgoOCkgdG8gc2VlIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgZGV2aWNlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzggZGlzay11dGlscy9jZmRpc2suYzoyNDM3CisjLCBmdXp6eQorbXNnaWQgIlByZXNzIGEga2V5IHRvIGNvbnRpbnVlLiIKK21zZ3N0ciAiUHJpdGlzbml0ZSBrYXRlcm9rb2xpIHRpcGtvIHphIG5hZGFsamV2YW5qZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjYwCisjLCBmdXp6eQorbXNnaWQgIkNvdWxkIG5vdCB0b2dnbGUgdGhlIGZsYWcuIgorbXNnc3RyICJOaSBtb2dv6GUgb2RwcmV0aSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIkl6YnJhbiByYXpkZWxlayAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNzIgZGlzay11dGlscy9mZGlzay1tZW51LmM6NjMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGhhcyBiZWVuIGRlbGV0ZWQuIgorbXNnc3RyICJSYXpkZWxlayAlZCBuaW1hIHBvZGF0a292bmVnYSBvYm1v6GphXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI5MworIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gc2l6ZTogIgorbXNnc3RyICIiCisiXG4iCisiJWQgcmF6ZGVsa292OlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiVGlwIHJhemRlbGthICVkIGplIHNwcmVtZW5qZW4gdiAleCAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIHR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJUaXAgcmF6ZGVsa2EgJWQgamUgc3ByZW1lbmplbiB2ICV4ICglcylcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzUzIGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ2NiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTkxCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzAKK21zZ2lkICJEZXZpY2UgaXMgb3BlbiBpbiByZWFkLW9ubHkgbW9kZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzU4CisjLCBmdXp6eQorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAiU3RlIHByZXByaehhbmksIGRhIL5lbGl0ZSB6YXBpc2F0aSB0YWJlbG8gcmF6ZGVsa292IG5hIGRpc2s/IChkYSBhbGkgbmUpOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM2MAorbXNnaWQgIlR5cGUgXCJ5ZXNcIiBvciBcIm5vXCIsIG9yIHByZXNzIEVTQyB0byBsZWF2ZSB0aGlzIGRpYWxvZy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzY1IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE1NDAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1NTAKK21zZ2lkICJ5ZXMiCittc2dzdHIgImRhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjYKKyMsIGZ1enp5Cittc2dpZCAiRGlkIG5vdCB3cml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4iCittc2dzdHIgIlRhYmVsYSByYXpkZWxrb3YgbmkgYmlsYSB6YXBpc2FuYSBuYSBkaXNrIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzEKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbC4iCittc2dzdHIgImlza2FuamUgbmkgdXNwZWxvIHYgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzQgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTc4CisjLCBmdXp6eQorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIiIKKyJUYWJlbGEgcmF6ZGVsa292IGplIGJpbGEgc3ByZW1lbmplbmEhXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM5NyBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NjgKKyMsIGZ1enp5Cittc2dpZCAiTm90ZSB0aGF0IHBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlciBub3cuIgorbXNnc3RyICIiCisiXG4iCisiVm5vc2kgdGFiZWxlIHJhemRlbGtvdiBuaXNvIHYgZGlza292bmVtIHZyc3RuZW0gcmVkdVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmU7IGl0IHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGRpc2tsYWJlbCIKK21zZ3N0ciAiaXNrYW5qZSBuaSB1c3BlbG8gdiB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ1MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb25zIgorbXNnc3RyICJwb25vdm5vIHByZWJlcmkgdGFiZWxvIHJhemRlbGtvdiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJTEkcyBbb3B0aW9uc10gPGRpc2s+XG4iCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0OSBkaXNrLXV0aWxzL2ZkaXNrLmM6NzM2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMAorIywgZnV6enkKK21zZ2lkICJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgYSBkaXNrIHBhcnRpdGlvbiB0YWJsZS5cbiIKK21zZ3N0ciAicG9ub3ZubyBwcmViZXJpIHRhYmVsbyByYXpkZWxrb3YiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU1MgorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NTUKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXplcm8gICAgICAgICAgICAgICBzdGFydCB3aXRoIHplcm9lZCBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTk0IGRpc2stdXRpbHMvZmRpc2suYzo4ODIgZGlzay11dGlscy9zZmRpc2suYzoyMDc3CisjOiBtaXNjLXV0aWxzL2NhbC5jOjM5MCBzeXMtdXRpbHMvZG1lc2cuYzoxMzMzIHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNAorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb2xvciBtb2RlIgorbXNnc3RyICJuaSB1a2F6YT9cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjEyIGRpc2stdXRpbHMvZmRpc2suYzo4MTggZGlzay11dGlscy9zZmRpc2suYzoyMjMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYS5cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPlxuIgorbXNnc3RyICJ1cG9yYWJhOiBzZmRpc2sgLS1pZCBuYXByYXZhILl0LiByYXpkZWxrYSBbSWRdXG4iCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjE4Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIHRvIGZvcmdldCBhYm91dCBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6NjEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24iCittc2dzdHIgInBvbm92bm8gcHJlYmVyaSB0YWJlbG8gcmF6ZGVsa292IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9ybWF0dGluZyAuLi4gIgorbXNnc3RyICJGb3JtYXRpcmFtbyAuLi4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo2OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgImRvbmVcbiIKK21zZ3N0ciAib3ByYXZsamVub1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmVyaWZ5aW5nIC4uLiAiCittc2dzdHIgIlByZXZlcmphbmplLi4uIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTA4Cittc2dpZCAiUmVhZDogIgorbXNnc3RyICJCZXJpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlByb2JsZW0gcmVhZGluZyB0cmFjay9oZWFkICV1LyV1LCBleHBlY3RlZCAlZCwgcmVhZCAlZFxuIgorbXNnc3RyICJUZb5hdmEgcHJpIGJyYW5qdSBzdGV6ZSAlZDogcHJp6GFrb3Zhbm8gJWQsIHByZWJyYW5vICVkXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJiYWQgZGF0YSBpbiB0cmFjay9oZWFkICV1LyV1XG4iCisiQ29udGludWluZyAuLi4gIgorbXNnc3RyICIiCisic2xhYmkgcG9kYXRraSBuYSBzdGV6aSAlZFxuIgorIk5hZGFsanVqZW1vLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODIKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTE3IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU2IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODQKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ4Cittc2dpZCAiRG8gYSBsb3ctbGV2ZWwgZm9ybWF0dGluZyBvZiBhIGZsb3BweSBkaXNrLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTEKK21zZ2lkICIgLWYsIC0tZnJvbSA8Tj4gICAgc3RhcnQgYXQgdGhlIHRyYWNrIE4gKGRlZmF1bHQgMClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUyCittc2dpZCAiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgYXQgdGhlIHRyYWNrIE5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUzCittc2dpZCAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICB0cnkgdG8gcmVwYWlyIHRyYWNrcyBmYWlsZWQgZHVyaW5nXG4iCisiICAgICAgICAgICAgICAgICAgICAgdGhlIHZlcmlmaWNhdGlvbiAobWF4IE4gcmV0cmllcylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU1Cittc2dpZCAiIC1uLCAtLW5vLXZlcmlmeSAgIGRpc2FibGUgdGhlIHZlcmlmaWNhdGlvbiBhZnRlciB0aGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gZnJvbSIKK21zZ3N0ciAibmV2ZWxqYXZuaSBpZDogJXNcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5OAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gdG8iCittc2dzdHIgIm5ldmVsamF2bmkgaWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMDEKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHJlcGFpciIKK21zZ3N0ciAibmV2ZWxqYXZuaSBpZDogJXNcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyMSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTUxCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg1IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMzgKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4NQorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE2IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQxIGRpc2stdXRpbHMvcGFydHguYzo5MzMKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo2ODYgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzkgbWlzYy11dGlscy9uYW1laS5jOjEzNQorIzogbWlzYy11dGlscy9yZW5hbWUuYzo2MyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4NiBzeXMtdXRpbHMvZG1lc2cuYzo1MjQKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxOTggc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTMxIHN5cy11dGlscy9mc3RyaW0uYzo3NworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjUxOSBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo5MworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTMzIHRlcm0tdXRpbHMvbWVzZy5jOjEyOSB0ZXh0LXV0aWxzL21vcmUuYzo1MDQKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxMDMgdGV4dC11dGlscy90YWlsZi5jOjI4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3RhdCBvZiAlcyBmYWlsZWQiCittc2dzdHIgIihOYXNsZWRuamEgZGF0b3Rla2E6ICVzKSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNCBkaXNrLXV0aWxzL3BhcnR4LmM6OTkxIG1pc2MtdXRpbHMvbHNibGsuYzoxNDg1CisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4OCBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXM6IG5pIGJsb+huYSBuYXByYXZhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjkKKyMsIGZ1enp5Cittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICJUcmVudXRuZSB2cnN0ZSBmb3JtYXRpcmFuamEgbmkgbW/oIHVnb3Rvdml0aSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcy1zaWRlZCwgJWQgdHJhY2tzLCAlZCBzZWMvdHJhY2suIFRvdGFsIGNhcGFjaXR5ICVkIGtCLlxuIgorbXNnc3RyICIlc3N0cmFuc2thLCAlZCBzdGV6LCAlZCBzZWt0b3JqZXYvc3Rlem8uIFNrdXBuYSB2ZWxpa29zdCAlZCBrQi5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMgorbXNnaWQgIkRvdWJsZSIKK21zZ3N0ciAiRHZvIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMyCittc2dpZCAiU2luZ2xlIgorbXNnc3RyICJFbm8iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzkKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MQorbXNnaWQgInVzZXIgZGVmaW5lZCBlbmQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MworbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSB1c2VyIGRlZmluZWQgZW5kIHRyYWNrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNTEgbWlzYy11dGlscy9sb2dnZXIuYzo5ODcKKyMsIGZ1enp5Cittc2dpZCAiY2xvc2UgZmFpbGVkIgorbXNnc3RyICJpc2thbmplIGplIGJpbG8gbmV1c3BluW5vIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTUgZGlzay11dGlscy9mZGlzay5jOjExMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkRvIHlvdSByZWFsbHkgd2FudCB0byBxdWl0PyAiCittc2dzdHIgIkFsaSByZXMgvmVsaXRlIG5hZGFsamV2YXRpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3QgKGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICgldS0ldSwgcHJpdnpldG8gJXUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIGRlZmF1bHQgcmVzcG9uc2UgJWMuIgorbXNnc3RyICJVcG9yYmxqZW5hIGJvIHByaXZ6ZXRhIHZyZWRub3N0ICV1XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxNzYgZGlzay11dGlscy9mZGlzay5jOjI1MCBkaXNrLXV0aWxzL2ZkaXNrLmM6MzI1CisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTE4OSBsaWJmZGlzay9zcmMvZ3B0LmM6MjI3NworIywgZnV6enkKK21zZ2lkICJWYWx1ZSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJWcmVkbm9zdCBpenZlbiBkb3NlZ2EuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCV1LSV1LCBwcml2emV0byAldSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwOCBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJXUtJXUsIHByaXZ6ZXRvICV1KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICgldS0ldSwgcHJpdnpldG8gJXUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMTcgZGlzay11dGlscy9mZGlzay5jOjI3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJXUtJXUsIHByaXZ6ZXRvICV1KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMpOiAiCittc2dzdHIgIiVzOiAlcyAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMjMgZGlzay11dGlscy9mZGlzay5jOjI4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzOiAlcyAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzozOTIgZGlzay11dGlscy9zZmRpc2suYzoxOTcKK21zZ2lkICIgW1ldZXMvW05dbzogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0MzMKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHR5cGUgKHR5cGUgTCB0byBsaXN0IGFsbCB0eXBlcyk6ICIKK21zZ3N0ciAiqWVzdG5hanN0ablrYSBrb2RhIChwcml0aXNuaSBMIHphIGl6Ym9yIGtvZCk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQzNAorIywgZnV6enkKK21zZ2lkICJIZXggY29kZSAodHlwZSBMIHRvIGxpc3QgYWxsIGNvZGVzKTogIgorbXNnc3RyICKpZXN0bmFqc3RpuWthIGtvZGEgKHByaXRpc25pIEwgemEgaXpib3Iga29kKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTM2CisjLCBmdXp6eQorbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgc2V0IChERVBSRUNBVEVEISkiCittc2dzdHIgIlpkcnW+bGppdm9zdCB6IERPUyBqZSBuYXN0YXZsamVuYS5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjUzNworIywgZnV6enkKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIG5vdCBzZXQiCittc2dzdHIgIlpkcnW+bGppdm9zdCB6IERPUyBuaSBuYXN0YXZsamVuYS5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU1OCBkaXNrLXV0aWxzL2ZkaXNrLmM6NTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IGV4aXN0IHlldCEiCittc2dzdHIgIlJhemRlbGVrICVkILllIG5lIG9ic3RhamEhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NjMgZGlzay11dGlscy9mZGlzay5jOjU3MiBsaWJmZGlzay9zcmMvYXNrLmM6OTk1Cittc2dpZCAiVW5rbm93biIKK21zZ3N0ciAiTmV6bmFubyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAnJXMnIHRvICclcycuIgorbXNnc3RyICJUaXAgcmF6ZGVsa2EgJWQgamUgc3ByZW1lbmplbiB2ICV4ICglcylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZDogJXMuIgorbXNnc3RyICJUaXAgcmF6ZGVsa2EgJWQgamUgc3ByZW1lbmplbiB2ICV4ICglcylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJTE1czogJXMiCittc2dzdHIgImRpc2s6ICUuKnNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXM6IG9mZnNldCA9ICU8UFJJdTY0Piwgc2l6ZSA9ICV6dSBieXRlcy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY3NworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2VlayIKK21zZ3N0ciAidmVqaXRldiBuaSBtb2dv6GEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2ODIKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgIiVzICVzIG5pIG1vZ2/oZSBicmF0aS5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY5NSBsaWJmZGlzay9zcmMvYnNkLmM6MjU5IGxpYmZkaXNrL3NyYy9kb3MuYzo5MzMKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEwCisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IHNlY3RvciIKK21zZ3N0ciAiUHJ2aSAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjcyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMiCittc2dzdHIgIkJMS0dFVFNJWkUgb2QgaW9jdGwgbmkgdXNwZWwgbmEgJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICAgIGNoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyIgJTEkcyBbb3B0aW9uc10gLWwgWzxkaXNrPl0gbGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzM5CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8c2l6ZT4gICAgICBwaHlzaWNhbCBhbmQgbG9naWNhbCBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDAKK21zZ2lkICIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAgZG9uJ3QgZXJhc2UgYm9vdGJpdHMgd2hlbiBjcmVhdGluZyBhIG5ldyBsYWJlbFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDEKK21zZ2lkICIgLWMsIC0tY29tcGF0aWJpbGl0eVs9PG1vZGU+XSAgbW9kZSBpcyAnZG9zJyBvciAnbm9uZG9zJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQyCisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0NQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBwYXJ0aXRpb25zIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0NgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW5peml6YmlyICAgICAgIEtyYXRrZSBpemJpcmUgemEgcHJlcG96bmF2b1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ3CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICAgICAgICAgICByZWNvZ25pemUgc3BlY2lmaWVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIG9ubHlcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0OAorbXNnaWQgIiAtdSwgLS11bml0c1s9PHVuaXQ+XSAgICAgICAgICBkaXNwbGF5IHVuaXRzOiAnY3lsaW5kZXJzJyBvciAnc2VjdG9ycycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0OQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgZGlzcGxheSBkZXZpY2Ugc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzIFtERVBSRUNBVEVEXVxuIgorbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzUxCisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTMKKyMsIGZ1enp5Cittc2dpZCAiIC1XLCAtLXdpcGUtcGFydGl0aW9ucyA8bW9kZT4gIHdpcGUgc2lnbmF0dXJlcyBmcm9tIG5ldyBwYXJ0aXRpb25zIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTUKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWN5bGluZGVycyA8bnVtYmVyPiAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBjeWxpbmRlcnNcbiIKK21zZ3N0ciAiVm5lc2l0ZSC5dGV2aWxvIHN0ZXo6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1NgorIywgZnV6enkKK21zZ2lkICIgLUgsIC0taGVhZHMgPG51bWJlcj4gICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGhlYWRzXG4iCittc2dzdHIgIiAgICAtSCMgW2FsaSAtLWhlYWRzICNdOiAgIG5hc3RhdmkguXRldmlsbyBnbGF2IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU3CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKK21zZ3N0ciAiVm5lc2l0ZSC5dGV2aWxvIHNla3RvcmpldiBuYSBzdGV6bzogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc2VjdG9yIHNpemUgYXJndW1lbnQiCittc2dzdHIgIm5ldmVsamF2ZW4gaWQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NDAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjeWxpbmRlcnMgYXJndW1lbnQiCittc2dzdHIgIm5ldmVsamF2ZW4gaWQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NTIKKyMsIGZ1enp5Cittc2dpZCAibm90IGZvdW5kIERPUyBsYWJlbCBkcml2ZXIiCittc2dzdHIgIiVzOiB6YSAlcyBuaSBtb2dv6GUgbmFqdGkgbmFwcmF2ZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbXBhdGliaWxpdHkgbW9kZSAnJXMnIgorbXNnc3RyICJJbWVuaWsgJXMgbmUgb2JzdGFqYSFcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg2NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGhlYWRzIGFyZ3VtZW50IgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODczCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc2VjdG9ycyBhcmd1bWVudCIKK21zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlza2xhYmVsOiAlcyIKK21zZ3N0ciAiJXM6IG5lem5hbiBhcmd1bWVudDogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkxNiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTIxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0MQorIzogZGlzay11dGlscy9zZmRpc2suYzoyMDQ2CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIHdpcGUgbW9kZSIKK21zZ3N0ciAibmkgdWthemE/XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MzQKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGRldmljZSBwcm9wZXJ0aWVzIChzZWN0b3Igc2l6ZSBhbmQgZ2VvbWV0cnkpIHNob3VsZCBiZSB1c2VkIHdpdGggb25lIHNwZWNpZmllZCBkZXZpY2Ugb25seS4iCittc2dzdHIgIk9wb3pvcmlsbzogaXpiaXJhIC1iIChuYXN0YXZpIHZlbGlrb3N0IHNla3RvcmphKSBzZSBuYWogdXBvcmFibGphIHMgcG9kYW5vIG5hcHJhdm9cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk4MgorIywgYy1mb3JtYXQKK21zZ2lkICJXZWxjb21lIHRvIGZkaXNrICglcykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5ODQgZGlzay11dGlscy9zZmRpc2suYzoxNTg4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisiQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKyJVc3R2YXJqYSBzZSBub3ZhIGRpc2tvdm5hIG96bmFrYSB0aXBhIHN1bi4gU3ByZW1lbWJlIGJvZG8gb3N0YWxlIHZcbiIKKyJwb21uaWxuaWt1IHNhbW8gZG9rbGVyIHNlIG5lIG9kbG/oaXRlLCBkYSBqaWggYm9zdGUgemFwaXNhbGkuIFBvIHRlbVxuIgorImJvIHByZWq5bmphIHZzZWJpbmEgbmVwb3ZybmxqaXZhLlxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAwMSBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICVzIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDEwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU0MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0ODQKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyMgorbXNnaWQgIlRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMTMgZGlzay11dGlscy9zZmRpc2suYzoxNjI1Cittc2dpZCAiSXQgaXMgc3Ryb25nbHkgcmVjb21tZW5kZWQgdG8gd2lwZSB0aGUgZGV2aWNlIHdpdGggd2lwZWZzKDgpLCBpbiBvcmRlciB0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAyMgorbXNnaWQgIkEgaHlicmlkIEdQVCB3YXMgZGV0ZWN0ZWQuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIGh5YnJpZCBNQlIgbWFudWFsbHkgKGV4cGVydCBjb21tYW5kICdNJykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiIgorIlxuIgorIkRpc2sgJXM6ICVsdSBzdGV6LCAlbHUgZ2xhdiwgJWx1IHNla3Rvcmpldi9zdGV6b1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMvdHJhY2ssICVsbHUgY3lsaW5kZXJzIgorbXNnc3RyICIlZCBnbGF2LCAlZCBzZWt0b3JqZXYvc3Rlem8sICVkIHN0ZXoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjU5IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5pdHM6ICVzIG9mICVkICogJWxkID0gJWxkIGJ5dGVzIgorbXNnc3RyICIiCisiRW5vdGUgPSAlcyBvZCAlZCB4ICVkID0gJWQgYmFqdG92XG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY1IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2OAorIywgYy1mb3JtYXQKK21zZ2lkICJJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJBbGlnbm1lbnQgb2Zmc2V0OiAlbHUgYnl0ZXMiCittc2dzdHIgInNsYWJhIHZlbGlrb3N0IGlub2RhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHR5cGU6ICVzIgorbXNnc3RyICJEaXNrb3ZuYSBlbm90YTogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIkRpc2tvdm5pIFBvZ29uOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTA5IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxOQorIzogZGlzay11dGlscy9mc2NrLmM6MTI0NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCittc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYS5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTE1IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE1NiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNDkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBsaW5lIgorbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBzdGFydCBvbiBwaHlzaWNhbCBzZWN0b3IgYm91bmRhcnkuIgorbXNnc3RyICJSYXpkZWxlayAlaSBzZSBuZSB6YehuZSBuYSBtZWppIHN0ZXo6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE5MgorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuIgorbXNnc3RyICIiCisiXG4iCisiVm5vc2kgdGFiZWxlIHJhemRlbGtvdiBuaXNvIHYgZGlza292bmVtIHZyc3RuZW0gcmVkdVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTUgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDAKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTEyIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU0IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTEwCisjLCBmdXp6eQorbXNnaWQgIlN0YXJ0IgorbXNnc3RyICJ6YehldGVrIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTYgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDEKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTEzIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU1IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTExCittc2dpZCAiRW5kIgorbXNnc3RyICJLb25lYyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE3IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAyCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NiBsaWJmZGlzay9zcmMvc3VuLmM6MTExMgorbXNnaWQgIlNlY3RvcnMiCittc2dzdHIgIlNla3RvcmppIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTkgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDQKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE1IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU4IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE0Cittc2dpZCAiU2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVucGFydGl0aW9uZWQgc3BhY2UgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICIiCisiXG4iCisiRGlzayAlczogJWx1IHN0ZXosICVsdSBnbGF2LCAlbHUgc2VrdG9yamV2L3N0ZXpvXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLW8pOlxuIgorbXNnc3RyICJSYXpwb2xvvmxqaXZpIHVrYXppOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAiJXM6IE5lem5hbiB1a2F6OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NQorbXNnaWQgIkdlbmVyaWMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTYKKyMsIGZ1enp5Cittc2dpZCAiZGVsZXRlIGEgcGFydGl0aW9uIgorbXNnc3RyICIgICBkICAgemJyablpIHJhemRlbGVrIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NworIywgZnV6enkKK21zZ2lkICJsaXN0IGZyZWUgdW5wYXJ0aXRpb25lZCBzcGFjZSIKK21zZ3N0ciAiICAgZSAgIGl6cGm5aSByYXq5aXJqZW5lIHJhemRlbGtlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OAorIywgZnV6enkKK21zZ2lkICJsaXN0IGtub3duIHBhcnRpdGlvbiB0eXBlcyIKK21zZ3N0ciAiICAgbCAgIGl6cGm5aSB6bmFuZSB2cnN0ZSByYXpkZWxrb3YiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5CisjLCBmdXp6eQorbXNnaWQgImFkZCBhIG5ldyBwYXJ0aXRpb24iCittc2dzdHIgIiAgIG4gICBkb2RhaiBub3YgcmF6ZGVsZWsiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMAorIywgZnV6enkKK21zZ2lkICJwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJTYW1vIGl6cGlzIHRhYmVsZSByYXpkZWxrb3YiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgYSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiICAgdCAgIHNwcmVtZW5pIHNpc3RlbXNraSBJRCByYXpkZWxrYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAyCisjLCBmdXp6eQorbXNnaWQgInZlcmlmeSB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgICB2ICAgcHJldmVyaSB0YWJlbG8gcmF6ZGVsa292IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIiVzOiBuaSBibG/obmEgbmFwcmF2YVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICIgICBkICAgaXpwablpIHN1cm92ZSBwb2RhdGtlIGl6IHRhYmVsZSByYXpkZWxrb3YiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNgorIywgZnV6enkKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGRpc2tsYWJlbCBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgIiAgIGQgICBpenBpuWkgc3Vyb3ZlIHBvZGF0a2UgaXogdGFiZWxlIHJhemRlbGtvdiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA3CisjLCBmdXp6eQorbXNnaWQgImZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICIgICBmICAgcG9wcmF2aSB2cnN0bmkgcmVkIHJhemRlbGtvdiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA5Cittc2dpZCAiTWlzYyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTAKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgdGhpcyBtZW51IgorbXNnc3RyICIgICBtICAgaXpwablpIHRhIG1lbmkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgZGlzcGxheS9lbnRyeSB1bml0cyIKK21zZ3N0ciAiICAgdSAgIHNwcmVtZW5pIHByaWthem5lL3Zub3NuZSBlbm90ZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEyCisjLCBmdXp6eQorbXNnaWQgImV4dHJhIGZ1bmN0aW9uYWxpdHkgKGV4cGVydHMgb25seSkiCittc2dzdHIgIiAgIHggICBkb2RhdG5lIG1vvm5vc3RpIChzYW1vIHphIHBvem5hdmFsY2UpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTQKK21zZ2lkICJTY3JpcHQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE1Cittc2dpZCAibG9hZCBkaXNrIGxheW91dCBmcm9tIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTYKK21zZ2lkICJkdW1wIGRpc2sgbGF5b3V0IHRvIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTgKK21zZ2lkICJTYXZlICYgRXhpdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTkKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdCIKK21zZ3N0ciAiICAgdyAgIHphcGm5aSB0YWJlbG8gcmF6ZGVsa292IG5hIGRpc2sgaW4ga29u6GFqIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjAKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayIKK21zZ3N0ciAiICAgdyAgIHphcGm5aSBvem5ha28gZGlza2EgbmEgZGlzayIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIxCisjLCBmdXp6eQorbXNnaWQgInF1aXQgd2l0aG91dCBzYXZpbmcgY2hhbmdlcyIKK21zZ3N0ciAiICAgcSAgIGtvbuhhaiwgbmUgZGEgYmkgc2hyYW5pbCBzcHJlbWVtYmUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMgorIywgZnV6enkKK21zZ2lkICJyZXR1cm4gdG8gbWFpbiBtZW51IgorbXNnc3RyICIgICByICAgdnJuaSBzZSB2IGdsYXZuaSBtZW5pIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjQKK21zZ2lkICJyZXR1cm4gZnJvbSBCU0QgdG8gRE9TIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNQorIywgZnV6enkKK21zZ2lkICJDcmVhdGUgYSBuZXcgbGFiZWwiCittc2dzdHIgIiAgIHMgICB1c3R2YXJpIG5vdm8gcHJhem5vIG96bmFrbyBkaXNrYSB0aXBhIFN1biIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM2CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBHUFQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgICBvICAgdXN0dmFyaSBub3ZvIHByYXpubyB0YWJlbG8gcmF6ZGVsa292IHRpcGEgTVMtRE9TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFNHSSAoSVJJWCkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgICBvICAgdXN0dmFyaSBub3ZvIHByYXpubyB0YWJlbG8gcmF6ZGVsa292IHRpcGEgTVMtRE9TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIG8gICB1c3R2YXJpIG5vdm8gcHJhem5vIHRhYmVsbyByYXpkZWxrb3YgdGlwYSBNUy1ET1MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOQorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU3VuIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgbyAgIHVzdHZhcmkgbm92byBwcmF6bm8gdGFiZWxvIHJhemRlbGtvdiB0aXBhIE1TLURPUyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQzCisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhbiBJUklYIChTR0kpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgZyAgIHVzdHZhcmkgdGFiZWxvIHJhemRlbGt2byB0aXBhIElSSVggKFNHSSkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1MgorbXNnaWQgIkdlb21ldHJ5IgorbXNnc3RyICJHZW9tZXRyLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTUzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICIgICBjICAgc3ByZW1lbmkguXRldmlsbyBzdGV6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTQKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAiICAgaCAgIHNwcmVtZW5pILl0ZXZpbG8gZ2xhdiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU1CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2Ygc2VjdG9ycy90cmFjayIKK21zZ3N0ciAiICAgcyAgIHNwcmVtZW5pILl0ZXZpbG8gc2VrdG9yamV2L3NsZWQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NQorIywgZnV6enkKK21zZ2lkICJHUFQiCittc2dzdHIgIkVGSSBHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgZGlzayBHVUlEIgorbXNnc3RyICJzcHJlbWVuamVubyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY2CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiqXRldmlsa2EgcmF6ZGVsa2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiIKKyJcbiIKKyIlZCByYXpkZWxrb3Y6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgdGFibGUgbGVuZ3RoIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY5Cittc2dpZCAiZW50ZXIgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MgorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIGxlZ2FjeSBCSU9TIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiAgIGEgICBwcmVrbG9waSB6YWdvbnNrbyB6YXN0YXZpY28iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MworIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIG5vIGJsb2NrIElPIHByb3RvY29sIGZsYWciCittc2dzdHIgIiAgIGMgICBwcmVrbG9waSB6ZHJ1vmxqaXZvIHogRE9TIHphc3RhdmljbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc0CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgcmVxdWlyZWQgcGFydGl0aW9uIGZsYWciCittc2dzdHIgIiAgIGEgICBwcmVrbG9waSBzYW1vIHphIGJyYW5qZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc1Cittc2dpZCAidG9nZ2xlIHRoZSBHVUlEIHNwZWNpZmljIGJpdHMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg1Cittc2dpZCAiU3VuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NgorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIHJlYWQtb25seSBmbGFnIgorbXNnc3RyICIgICBhICAgcHJla2xvcGkgc2FtbyB6YSBicmFuamUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NworIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIG1vdW50YWJsZSBmbGFnIgorbXNnc3RyICIgICBjICAgcHJla2xvcGkgemFzdGF2aWNvIHByaWtsb3Bsaml2byIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg5CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiICAgYSAgIHNwcmVtZW5pILl0ZXZpbG8gaXptZW5p6G5paCBzdGV6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTAKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBleHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAiICAgZSAgIHNwcmVtZW5pILl0ZXZpbG8gZG9kYXRraWggc2VrdG9yamV2IG5hIHN0ZXpvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTEKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICIgICBpICAgc3ByZW1lbmkga29lZmljaWVudCBwcmVwbGV0ZW5vc3RpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTIKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICIgICBvICAgc3ByZW1lbmkgaGl0cm9zdCB2cnRlbmphIChvYnJhdGkvbWluKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICIgICB5ICAgc3ByZW1lbmkguXRldmlsbyBmaXpp6G5paCBzdGV6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDIKKyMsIGZ1enp5Cittc2dpZCAiU0dJIgorbXNnc3RyICJTR0kgc3Vyb3YiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwMworIywgZnV6enkKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICIgICBhICAgaXpiZXJpIHphZ29uc2tpIHJhemRlbGVrIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDQKKyMsIGZ1enp5Cittc2dpZCAiZWRpdCBib290ZmlsZSBlbnRyeSIKK21zZ3N0ciAiICAgYiAgIHVyZWRpIHphZ29uc2tvZGF0b3Rl6G5pIHZub3MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNQorIywgZnV6enkKK21zZ2lkICJzZWxlY3Qgc2dpIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICIgICBjICAgaXpiZXJpIGl6bWVuamFsbmkgcmF6ZGVsZWsgdGlwYSBzZ2kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNgorbXNnaWQgImNyZWF0ZSBTR0kgaW5mbyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTUKKyMsIGZ1enp5Cittc2dpZCAiRE9TIChNQlIpIgorbXNnc3RyICJET1Mgc2FtbyB6YSBicmFuamUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNgorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgYSBib290YWJsZSBmbGFnIgorbXNnc3RyICIgICBhICAgcHJla2xvcGkgemFnb25za28gemFzdGF2aWNvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTcKKyMsIGZ1enp5Cittc2dpZCAiZWRpdCBuZXN0ZWQgQlNEIGRpc2tsYWJlbCIKK21zZ3N0ciAiICAgYiAgIHNwcmVtZW5pIG96bmFrbyBkaXNrYSB0aXBhIEJTRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE4CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgZG9zIGNvbXBhdGliaWxpdHkgZmxhZyIKK21zZ3N0ciAiICAgYyAgIHByZWtsb3BpIHpkcnW+bGppdm8geiBET1MgemFzdGF2aWNvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAibW92ZSBiZWdpbm5pbmcgb2YgZGF0YSBpbiBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgYiAgIHByZW1ha25pIHph6GV0ZWsgcG9kYXRrb3YgdiByYXpkZWxrdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIxCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSB0aGUgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICIgICB1ICAgc3ByZW1lbmkgcHJpa2F6bmUvdm5vc25lIGVub3RlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjMKK21zZ2lkICJyZXR1cm4gZnJvbSBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgdG8gR1BUIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzMworIywgZnV6enkKK21zZ2lkICJCU0QiCittc2dzdHIgIkJTRC9PUyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM0CisjLCBmdXp6eQorbXNnaWQgImVkaXQgZHJpdmUgZGF0YSIKK21zZ3N0ciAiICAgZSAgIGG+dXJpcmFqIGRpc2tvdm5lIHBvZGF0a2UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNQorIywgZnV6enkKK21zZ2lkICJpbnN0YWxsIGJvb3RzdHJhcCIKK21zZ3N0ciAiICAgaSAgIG5hbWVzdGkgemHoZXRuaSBuYWxhZ2FsbmlrIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzYKKyMsIGZ1enp5Cittc2dpZCAic2hvdyBjb21wbGV0ZSBkaXNrbGFiZWwiCittc2dzdHIgIiAgIHMgICBwcmlrYb5pIGNlbG9zdG5vIG96bmFrbyBkaXNrYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM3CisjLCBmdXp6eQorbXNnaWQgImxpbmsgQlNEIHBhcnRpdGlvbiB0byBub24tQlNEIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgeCAgIHBvdmW+aSByYXpkZWxlayB0aXBhIEJTRCB6IHJhemRlbGtvbSBkcnVnZWdhIHRpcGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscCAoZXhwZXJ0IGNvbW1hbmRzKTpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzEgZGlzay11dGlscy9zZmRpc2suYzoxMjY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscDpcbiIKK21zZ3N0ciAiUG9tb+giCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UncmUgZWRpdGluZyBuZXN0ZWQgJyVzJyBwYXJ0aXRpb24gdGFibGUsIHByaW1hcnkgcGFydGl0aW9uIHRhYmxlIGlzICclcycuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMQorbXNnaWQgIkV4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJTdHJva292bmkgdWtheiAobSB6YSBwb21v6Ck6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDIzCittc2dpZCAiQ29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAiVWtheiAobSB6YSBwb21v6Ck6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlYzogdW5rbm93biBjb21tYW5kIgorbXNnc3RyICIlYzogbmV6bmFuIHVrYXpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDU4IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4NQorIywgZnV6enkKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lIgorbXNnc3RyICIlczogemEgJXMgbmkgbW9nb+hlIG5hanRpIG5hcHJhdmVcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDcxCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBhcHBsaWVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0OTcKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHRyYW5zZm9ybSBkaXNrIGxheW91dCBpbnRvIHNjcmlwdCIKK21zZ3N0ciAiWmEgbWVkcG9tbmlsbmlrIG5pIG1vZ2/oZSBkb2RlbGl0aSBwb21uaWxuaWthLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTEKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IHNhdmVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzQgZGlzay11dGlscy9zZmRpc2suYzoxNDc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIk9wb3pvcmlsbzogcmF6ZGVsZWsgJWQgdnNlYnVqZSBzZWt0b3IgMFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzcgZGlzay11dGlscy9zZmRpc2suYzoxNDc5CisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgc2lnbmF0dXJlPyIKK21zZ3N0ciAiQWxpIL5lbGl0ZSB6YXBpc2F0aSB0byBuYSBkaXNrPyBbeW5xXSAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU3NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsIgorbXNnc3RyICJpc2thbmplIG5pIHVzcGVsbyB2IHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjEzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBmaXggcGFydGl0aW9ucyBvcmRlci4iCittc2dzdHIgIiAgIGYgICBwb3ByYXZpIHZyc3RuaSByZWQgcmF6ZGVsa292IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MTUKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9ucyBvcmRlciBmaXhlZC4iCittc2dzdHIgIk5vYmVuIHJhemRlbGVrIG5pIGRvbG/oZW5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIkl6YnJhbiByYXpkZWxlayAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjAKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBjeWxpbmRlcnMgKERFUFJFQ0FURUQhKS4iCittc2dzdHIgIlNwcmVtaW5qYW0gZW5vdGUgcHJpa2F6YS92bm9zYSBuYSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjIKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBzZWN0b3JzLiIKK21zZ3N0ciAiU3ByZW1pbmphbSBlbm90ZSBwcmlrYXphL3Zub3NhIG5hICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY3MiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4NDIKKyMsIGZ1enp5Cittc2dpZCAiTGVhdmluZyBuZXN0ZWQgZGlza2xhYmVsLiIKK21zZ3N0ciAiICAgYiAgIHNwcmVtZW5pIG96bmFrbyBkaXNrYSB0aXBhIEJTRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzA5Cittc2dpZCAiTmV3IG1heGltdW0gZW50cmllcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MTkKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXJpbmcgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIGRpc2tsYWJlbC4iCittc2dzdHIgIiAgIGIgICBzcHJlbWVuaSBvem5ha28gZGlza2EgdGlwYSBCU0QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjczNQorbXNnaWQgIk5ldyBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzUwCisjLCBmdXp6eQorbXNnaWQgIk5ldyBuYW1lIgorbXNnc3RyICJOZXZlbGphdm5vIHVwb3JhYm5puWtvIGltZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6ODEzCisjLCBmdXp6eQorbXNnaWQgIkVudGVyaW5nIG5lc3RlZCBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAiICAgYiAgIHNwcmVtZW5pIG96bmFrbyBkaXNrYSB0aXBhIEJTRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTk4Cittc2dpZCAiTnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAiqXRldmlsbyBzdGV6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAyCittc2dpZCAiTnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICKpdGV2aWxvIGdsYXYiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMDYKK21zZ2lkICJOdW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAiqXRldmlsbyBzZWt0b3JqZXYiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZFxuIgorbXNnc3RyICIlcyBqZSBwcmlrbG9wbGplbi5cdCAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50ZWRcbiIKK21zZ3N0ciAidW1vdW50OiAlczogbmV1c3BluW5vIGlza2FuamUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc0CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTgxIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzUKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNTMgZGlzay11dGlscy9zZmRpc2suYzoyOTcgbGliZmRpc2svc3JjL2JzZC5jOjY0NgorIzogbGliL3BhdGguYzoxMTAgbGliL3BhdGguYzoxMzEgbGliL3BhdGguYzoxNTIgbGliL3BhdGguYzoyMDAKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMTMgbG9naW4tdXRpbHMvbGFzdC5jOjI1MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NjY0CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzOSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MTcgdGVybS11dGlscy9zZXR0ZXJtLmM6Nzc0CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzggdGVybS11dGlscy9zZXR0ZXJtLmM6Nzg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCAlcyIKK21zZ3N0ciAiJXMgJXMgbmkgbW9nb+hlIGJyYXRpLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMzMgbGliL3BhdGguYzoxMzMgbGliL3BhdGguYzoxNTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInBhcnNlIGVycm9yOiAlcyIKK21zZ3N0ciAibmFwYWthIHByaSBpc2thbmp1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJuYW1laTogdHJlbnV0bmVnYSBpbWVuaWthIG5pIG1vZ2/oZSBkb2JpdGkgLSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxvY2tpbmcgZGlzayBieSAlcyAuLi4gIgorbXNnc3RyICJTaW5ocm9uaXppcmFtIGRpc2tlLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiKHdhaXRpbmcpICIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlc2UgYXJlIGZvbGxvd3VwcyB0byAiTG9ja2luZyBkaXNrLi4uIi4KKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5NAorIywgZnV6enkKK21zZ2lkICJzdWNjZWVkZWQiCittc2dzdHIgIiVzIGplIHVzcGVsby5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Mzk0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCIKK21zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbmxvY2tpbmcgJXMuXG4iCittc2dzdHIgIlVwb3JhYmxqYW0gJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGRlc2NyaXB0aW9uIGZvciAlcyIKK21zZ3N0ciAia2xpYyBpb2N0bCgpIG5pIHVzcGVsIHByZWJyYXRpIOhhc2EgaXogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ3NCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3ODIgbWlzYy11dGlscy9sc2Jsay5jOjQzMworIzogc3lzLXV0aWxzL21vdW50LmM6MTAyIHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6MTkgc3lzLXV0aWxzL3Vtb3VudC5jOjQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCAtLSBpZ25vcmVkIgorbXNnc3RyICJuYXBha2EgcHJpIGlza2FuanUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjUwNiBkaXNrLXV0aWxzL2ZzY2suYzo1MDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UgZnN0YWIiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2NzkgbG9naW4tdXRpbHMvbG9naW4uYzo5NjggbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMzQKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMDQgc3lzLXV0aWxzL2Zsb2NrLmM6MzQ1IHN5cy11dGlscy9uc2VudGVyLmM6MTUzCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzE2IHN5cy11dGlscy91bnNoYXJlLmM6MjE5IHN5cy11dGlscy91bnNoYXJlLmM6NDIwCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc4MAorIywgZnV6enkKK21zZ2lkICJmb3JrIGZhaWxlZCIKK21zZ3N0ciAidmVqaXRldiBuaSB1c3BlbGFcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0ZSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgbmkgdXNwZWxcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzc0Cittc2dpZCAid2FpdDogbm8gbW9yZSBjaGlsZCBwcm9jZXNzPyE/IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc3NyBzeXMtdXRpbHMvZmxvY2suYzozNjMgc3lzLXV0aWxzL3N3YXBvbi5jOjM0OAorIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MDQgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MjUKKyMsIGZ1enp5Cittc2dpZCAid2FpdHBpZCBmYWlsZWQiCittc2dzdHIgImtsaWMgc2V0dWlkKCkgbmkgdXNwZWwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc5NQorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nLi4uICVzIGZvciBkZXZpY2UgJXMgZXhpdGVkIHdpdGggc2lnbmFsICVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXM6IHN0YXR1cyBpcyAleCwgc2hvdWxkIG5ldmVyIGhhcHBlbi4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmlzaGVkIHdpdGggJXMgKGV4aXQgc3RhdHVzICVkKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjkyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgJWQgKCVtKSB3aGlsZSBleGVjdXRpbmcgZnNjay4lcyBmb3IgJXMiCittc2dzdHIgIiVzOiBuYXBha2EgJWQgcHJpIHJherlpcmphbmp1ISAlcCglZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6OTkxCittc2dpZCAiIgorIkVpdGhlciBhbGwgb3Igbm9uZSBvZiB0aGUgZmlsZXN5c3RlbSB0eXBlcyBwYXNzZWQgdG8gLXQgbXVzdCBiZSBwcmVmaXhlZFxuIgorIndpdGggJ25vJyBvciAnIScuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIGJhZCBsaW5lIGluIC9ldGMvZnN0YWI6IGJpbmQgbW91bnQgd2l0aCBub256ZXJvIGZzY2sgcGFzcyBudW1iZXIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTExOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIG5vbmV4aXN0ZW50IGRldmljZVxuIgorbXNnc3RyICIlczogJXMgbmkgbHAgbmFwcmF2YS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9uZXhpc3RlbnQgZGV2aWNlIChcIm5vZmFpbFwiIGZzdGFiIG9wdGlvbiBtYXkgYmUgdXNlZCB0byBza2lwIHRoaXMgZGV2aWNlKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZVxuIgorbXNnc3RyICJtb3VudDogbmV6bmFuIHRpcCBkYXQuIHNpc3RlbWEgJyVzJyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hlY2sgJXM6IGZzY2suJXMgbm90IGZvdW5kIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNTkKKyMsIGZ1enp5Cittc2dpZCAiQ2hlY2tpbmcgYWxsIGZpbGUgc3lzdGVtcy5cbiIKK21zZ3N0ciAiUHJpc2lsbmkgcHJlZ2xlZCBkYXRvdGXobmVnYSBzaXN0ZW1hIG5hICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzUwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0td2FpdGluZy0tIChwYXNzICVkKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLS0gW2ZzLW9wdGlvbnNdIFs8ZmlsZXN5c3RlbT4gLi4uXVxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzc5CisjLCBmdXp6eQorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJQcmlzaWxuaSBwcmVnbGVkIGRhdG90ZehuZWdhIHNpc3RlbWEgbmEgJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODIKKyMsIGZ1enp5Cittc2dpZCAiIC1BICAgICAgICAgY2hlY2sgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIlByaXNpbG5pIHByZWdsZWQgZGF0b3Rl6G5lZ2Egc2lzdGVtYSBuYSAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4MworbXNnaWQgIiAtQyBbPGZkPl0gIGRpc3BsYXkgcHJvZ3Jlc3MgYmFyOyBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg0Cittc2dpZCAiIC1sICAgICAgICAgbG9jayB0aGUgZGV2aWNlIHRvIGd1YXJhbnRlZSBleGNsdXNpdmUgYWNjZXNzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NQorIywgZnV6enkKK21zZ2lkICIgLU0gICAgICAgICBkbyBub3QgY2hlY2sgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIHQgICAgICAgICAgU3ByZW1lbmkgdnJzdG8gZGF0b3Rl6G5lZ2Egc2lzdGVtYSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NgorbXNnaWQgIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NworbXNnaWQgIiAtUCAgICAgICAgIGNoZWNrIGZpbGVzeXN0ZW1zIGluIHBhcmFsbGVsLCBpbmNsdWRpbmcgcm9vdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODgKK21zZ2lkICIgLVIgICAgICAgICBza2lwIHJvb3QgZmlsZXN5c3RlbTsgdXNlZnVsIG9ubHkgd2l0aCAnLUEnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4OQorIywgZnV6enkKK21zZ2lkICIiCisiIC1yIFs8ZmQ+XSAgcmVwb3J0IHN0YXRpc3RpY3MgZm9yIGVhY2ggZGV2aWNlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiAgICAtbCBbYWxpIC0tbGlzdF06ICAgICBpenBpuWkgcmF6ZGVsa2UgemEgdnNha28gbmFwcmF2byIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MQorIywgZnV6enkKK21zZ2lkICIgLXMgICAgICAgICBzZXJpYWxpemUgdGhlIGNoZWNraW5nIG9wZXJhdGlvbnNcbiIKK21zZ3N0ciAiICBkICAgICAgICAgIEl6YnJpuWkgdHJlbnV0bmkgcmF6ZGVsZWsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTIKKyMsIGZ1enp5Cittc2dpZCAiIC1UICAgICAgICAgZG8gbm90IHNob3cgdGhlIHRpdGxlIG9uIHN0YXJ0dXBcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5lIHphcGm5aSBzcHJlbWVtYiBuYSBkaXNrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkzCittc2dpZCAiIgorIiAtdCA8dHlwZT4gIHNwZWNpZnkgZmlsZXN5c3RlbSB0eXBlcyB0byBiZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIDx0eXBlPiBpcyBhbGxvd2VkIHRvIGJlIGEgY29tbWEtc2VwYXJhdGVkIGxpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk1CisjLCBmdXp6eQorbXNnaWQgIiAtViAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NgorIywgZnV6enkKK21zZ2lkICIgLT8gICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTkKK21zZ2lkICJTZWUgdGhlIHNwZWNpZmljIGZzY2suKiBjb21tYW5kcyBmb3IgYXZhaWxhYmxlIGZzLW9wdGlvbnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MzgKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgZGV2aWNlcyIKK21zZ3N0ciAiJXM6ICVzIG5pIGxwIG5hcHJhdmEuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NTAKKyMsIGZ1enp5Cittc2dpZCAiSXMgL3Byb2MgbW91bnRlZD8iCittc2dzdHIgIiVzIGplIG9ka2xvcGxqZW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSByb290IHRvIHNjYW4gZm9yIG1hdGNoaW5nIGZpbGVzeXN0ZW1zOiAlcyIKK21zZ3N0ciAiT2RrbGFwbGphbSBwcmVvc3RhbGUgZGF0b3Rl6G5lIHNpc3RlbWUuLi4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGZpbmQgbWF0Y2hpbmcgZmlsZXN5c3RlbTogJXMiCittc2dzdHIgIk9ka2xhcGxqYW0gcHJlb3N0YWxlIGRhdG90ZehuZSBzaXN0ZW1lLi4uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDcwIGRpc2stdXRpbHMvZnNjay5jOjE1NjUgbWlzYy11dGlscy9raWxsLmM6MzYzCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyNzkKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgorbXNnc3RyICIlczogbmV6bmFuIGFyZ3VtZW50OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTI1IGRpc2stdXRpbHMvZnNjay5jOjE1MjgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtciIKK21zZ3N0ciAibmV2ZWxqYXZuaSBpZDogJXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtcjogJWQiCittc2dzdHIgIm5ldmVsamF2bmkgaWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2MTgKK21zZ2lkICJ0aGUgLWwgb3B0aW9uIGNhbiBiZSB1c2VkIHdpdGggb25lIGRldmljZSBvbmx5IC0tIGlnbm9yZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPlxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE2Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIGNvbXByZXNzZWQgUk9NIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOQorbXNnaWQgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjAKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIxCittc2dpZCAiIC15ICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMgorbXNnaWQgIiAtYiwgLS1ibG9ja3NpemUgPHNpemU+ICAgdXNlIHRoaXMgYmxvY2tzaXplLCBkZWZhdWx0cyB0byBwYWdlIHNpemVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIzCittc2dpZCAiICAgICAtLWV4dHJhY3RbPTxkaXI+XSAgICB0ZXN0IHVuY29tcHJlc3Npb24sIG9wdGlvbmFsbHkgZXh0cmFjdCBpbnRvIDxkaXI+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZmFpbGVkOiB1bmFibGUgdG8gZGV0ZXJtaW5lIGRldmljZSBzaXplOiAlcyIKK21zZ3N0ciAiJXM6IG9wb3pvcmlsbyAtIHZlbGlrb3N0aSBkYXRvdGXobmVnYSBzaXN0ZW1hIG5pIG1v6CB1Z290b3ZpdGkgXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGJsb2NrIGRldmljZSBvciBmaWxlOiAlcyIKK21zZ3N0ciAiJXMgbmkgYmxv6G5hIGVub3RhIG96LiBkYXRvdGVrYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTcwIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDYKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBsZW5ndGggdG9vIHNob3J0IgorbXNnc3RyICIlczogbmV2ZWxqYXZlbiBjcmFtZnMgLSBpbWUgZGF0b3Rla2UgamUgcHJla3JhdGtvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzkgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzMworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI0OSBsaWJmZGlzay9zcmMvYnNkLmM6NzE4IGxpYmZkaXNrL3NyYy9ic2QuYzo4OTAKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMDggbG9naW4tdXRpbHMvbGFzdC5jOjI0MiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZWVrIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg3Cittc2dpZCAic3VwZXJibG9jayBtYWdpYyBub3QgZm91bmQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJjcmFtZnMgZW5kaWFubmVzcyBpcyAlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTEKK21zZ2lkICJiaWciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MQorbXNnaWQgImxpdHRsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTk1CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIGZpbGVzeXN0ZW0gZmVhdHVyZXMiCittc2dzdHIgIlZuZXNpdGUgdnJzdG8gZGF0b3Rl6G5lZ2Egc2lzdGVtYTogIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzdXBlcmJsb2NrIHNpemUgKCVkKSB0b28gc21hbGwiCittc2dzdHIgIql0ZXZpbG8gc2VrdG9yamV2IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA0Cittc2dpZCAiemVybyBmaWxlIGNvdW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDgKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBleHRlbmRzIHBhc3QgZW5kIG9mIGZpbGVzeXN0ZW0iCittc2dzdHIgIk9wb3pvcmlsbzogcmF6ZGVsZWsgJXMgcG90ZWthIHphIGtvbmNlbSBkaXNrYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjEwCisjLCBmdXp6eQorbXNnaWQgIm9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICIlczogb3Bvem9yaWxvIC0gc3RhcmEgc2xpa2EgY3JhbWZzLCBtYW5qa2EgQ1JDXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMTkKK21zZ2lkICJ1bmFibGUgdG8gdGVzdCBDUkM6IG9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNzIKKyMsIGZ1enp5Cittc2dpZCAiY3JjIGVycm9yIgorbXNnc3RyICIsIG5hcGFrYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NTQKK21zZ2lkICJzZWVrIGZhaWxlZCIKK21zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwNgorIywgZnV6enkKK21zZ2lkICJyZWFkIHJvbWZzIGZhaWxlZCIKK21zZ3N0ciAiKE5hc2xlZG5qYSBkYXRvdGVrYTogJXMpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzM4CisjLCBmdXp6eQorbXNnaWQgInJvb3QgaW5vZGUgaXMgbm90IGRpcmVjdG9yeSIKK21zZ3N0ciAia29yZW5za2kgaW5vZCBuaSBpbWVuaWsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHJvb3Qgb2Zmc2V0ICglbHUpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjAKK21zZ2lkICJkYXRhIGJsb2NrIHRvbyBsYXJnZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkZWNvbXByZXNzaW9uIGVycm9yOiAlcyIKK21zZ3N0ciAibmFwYWthIHByaSBpc2thbmp1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgIGhvbGUgYXQgJWx1ICglenUpXG4iCittc2dzdHIgIiAgIGx1a25qYSB2ICVsZCAoJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTcgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICB1bmNvbXByZXNzaW5nIGJsb2NrIGF0ICVsdSB0byAlbHUgKCVsdSlcbiIKK21zZ3N0ciAiICByYXq5aXJqYW0gYmxvayBtZWQgJWxkIGluICVsZCAoJWxkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub24tYmxvY2sgKCVsZCkgYnl0ZXMiCittc2dzdHIgIiVzOiBuZWJsb+huaWggKCVsZCkgYmFqdG92XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vbi1zaXplICglbGQgdnMgJWxkKSBieXRlcyIKK21zZ3N0ciAiJXM6IFphcGlzYW5paCBzYW1vICVsdSBvZCBza3Vwbm8gJWx1IGJhanRvdiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxMyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE2CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwNCBtaXNjLXV0aWxzL3V1aWRkLmM6Mzc1IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODIKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM1IHN5cy11dGlscy9zZXRwcml2LmM6NTU4IHN5cy11dGlscy9zd2Fwb24uYzozODkKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQ6ICVzIgorbXNnc3RyICIoTmFzbGVkbmphIGRhdG90ZWthOiAlcykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJwcmlrbG9wIG5pIHVzcGVsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJwcmlrbG9wIG5pIHVzcGVsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1dGltZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJuZXByYXZpbG5hIHZyZWRub3N0IHphIHByZWtvcmHoaXRldiDoYXNhOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJta2RpciBmYWlsZWQ6ICVzIgorbXNnc3RyICIvZGV2OiBjaGRpcigpIG5pIHVzcGVsOiAlbSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3NgorbXNnaWQgImZpbGVuYW1lIGxlbmd0aCBpcyB6ZXJvIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NzgKK21zZ2lkICJiYWQgZmlsZW5hbWUgbGVuZ3RoIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0ODQKKyMsIGZ1enp5Cittc2dpZCAiYmFkIGlub2RlIG9mZnNldCIKK21zZ3N0ciAic2xhYmEgdmVsaWtvc3QgaW5vZGEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0OTkKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTAyCittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBzaXplIGFuZCBub24temVybyBvZmZzZXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMQorbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gb2Zmc2V0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzMKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2l6ZSBlcnJvciBpbiBzeW1saW5rOiAlcyIKK21zZ3N0ciAiJXM6IG5hcGHobmEgdmVsaWtvc3Qgc2ltYm9sbmUgcG92ZXphdmUgLCVzYFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzeW1saW5rIGZhaWxlZDogJXMiCittc2dzdHIgImZzeW5jIG5pIHVzcGVsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTY5CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZmlsZSBoYXMgbm9uLXplcm8gb2Zmc2V0OiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgImZpZm8gaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJib2d1cyBtb2RlOiAlcyAoJW8pIgorbXNnc3RyICIlczogcG9uYXJlamVuIG5h6GluIG5hIGAlcycgKCVvKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJta25vZCBmYWlsZWQ6ICVzIgorbXNnc3RyICJwcmlrbG9wIG5pIHVzcGVsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBzdGFydCAoJWx1KSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIHN0YXJ0ICglenUpIgorbXNnc3RyICIlczogbmV2ZWxqYXZlbiBjcmFtZnMgLSBrb25lYyBwb2RhdGtvdiBpbWVuaWthICglbGQpIG5pIGVuYWsgemHoZXRrdSBkYXRvdGXobmloIHBvZGF0a292ICglbGQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIGVuZCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCittc2dzdHIgIiVzOiBuZXZlbGphdmVuIGNyYW1mcyAtIGtvbmVjIHBvZGF0a292IGltZW5pa2EgKCVsZCkgbmkgZW5hayB6YehldGt1IGRhdG90ZehuaWggcG9kYXRrb3YgKCVsZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzNworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGZpbGUgZGF0YSBvZmZzZXQiCittc2dzdHIgIiVzIG5ldmVsamF2ZW4gY3JhbWZzIC0gbmV2ZWxqYXZlbiBvZG1payBkYXRvdGXobmloIHBvZGF0a292XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2ODQgZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjcyNgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGJsb2Nrc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAidW1vdW50OiAlczogbmV2ZWxqYXZuYSBibG/obmEgbmFwcmF2YSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogT0tcbiIKK21zZ3N0ciAiJXM6IFZyZWR1XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NAorIywgZnV6enkKK21zZ2lkICJDaGVjayB0aGUgY29uc2lzdGVuY3kgb2YgYSBNaW5peCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJQcmlzaWxuaSBwcmVnbGVkIGRhdG90ZehuZWdhIHNpc3RlbWEgbmEgJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICBsaXN0IGFsbCBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiICBbIC1maWxlIGl6aG9kbmFfZGF0IF1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg3Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgYXV0b21hdGljIHJlcGFpclxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVwYWlyICAgICBpbnRlcmFjdGl2ZSByZXBhaXJcbiIKK21zZ3N0ciAiemEgaW50ZXJha3Rpdm5hIG9wcmF2aWxhIGplIHBvdHJlYmVuIHRlcm1pbmFsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgYmUgdmVyYm9zZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3VwZXIgICAgICBvdXRwdXQgc3VwZXItYmxvY2sgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTEKK21zZ2lkICIgLW0sIC0tdW5jbGVhcmVkICBhY3RpdmF0ZSBtb2RlIG5vdCBjbGVhcmVkIHdhcm5pbmdzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgIGZvcmNlIGNoZWNrXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBTcHJlbWVuaSB2cnN0byBkYXRvdGXobmVnYSBzaXN0ZW1hIgorCisjLiBUUkFOU0xBVE9SUzogdGhlc2UgeWVzIG5vIHF1ZXN0aW9ucyB1c2VzIHJwbWF0Y2goKSwgYW5kIHNob3VsZCBiZQorIy4gKiB0cmFuc2xhdGVkLgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICh5L24pPyAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChuL3kpPyAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiblxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkLlx0ICIKK21zZ3N0ciAiJXMgamUgcHJpa2xvcGxqZW4uXHQgIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODkKK21zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gY29udGludWUiCittc2dzdHIgIkFsaSByZXMgvmVsaXRlIG5hZGFsamV2YXRpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2sgYWJvcnRlZC5cbiIKK21zZ3N0ciAicHJldmVyamFuamUgcHJla2luamVuby5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzE5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yIDwgRklSU1RaT05FIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIrl0ZXZpbG8gb2Jtb+hqYSA8IFBSVk9PQk1PyEpFIHYgZGF0b3Rla2kgYCVzJy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA+PSBaT05FUyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICK5dGV2aWxvIG9ibW/oamEgPj0gT0JNT8hKQSB2IGRhdG90ZWtpIGAlcycuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQ3Cittc2dpZCAiUmVtb3ZlIGJsb2NrIgorbXNnc3RyICJPZHN0cmFuaSBibG9rIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogdW5hYmxlIHRvIHNlZWsgdG8gYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIk5hcGFrYSBwcmkgYnJhbmp1OiBpc2thbmplIGRvIGJsb2thIHYgZGF0b3Rla2kgbmkgbW++bm8gJyVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJOYXBha2EgcHJpIGJyYW5qdTogcG+5a29kb3ZhbiBibG9rIHYgZGF0b3Rla2kgLCVzYFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkludGVybmFsIGVycm9yOiB0cnlpbmcgdG8gd3JpdGUgYmFkIGJsb2NrXG4iCisiV3JpdGUgcmVxdWVzdCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKyJOb3RyYW5qYSBuYXBha2E6IHBvc2t1cyBwaXNhbmphIHYgcG+5a29kb3ZhbiBibG9rXG4iCisiWmFodGV2YSBwbyBwaXNhbmp1IGplIGlnbm9yaXJhbmEuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4NworbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICJpc2thbmplIG5pIHVzcGVsbyB2IHdyaXRlX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGUgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiTmFwYWthIHByaSBwaXNhbmp1OiBwb7lrb2RvdmFuIGJsb2sgdiBkYXRvdGVraSAnJXMnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUwNQorbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX3N1cGVyX2Jsb2NrIgorbXNnc3RyICJuZXVzcGW5bm8gaXNrYW5qZSB2IHdyaXRlX3N1cGVyX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MDcKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgInN1cGVyYmxva2EgbmkgbW++bm8gemFwaXNhdGkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyMAorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgInNlem5hbWEgaW5vZG92IG5pIG1vvm5vIHphcGlzYXRpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjMKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgem9uZSBtYXAiCittc2dzdHIgInNlem5hbWEgb2Jtb+hpaiBuaSBtb75ubyB6YXBpc2F0aSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTI2Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiWmFwaXMgaW5vZG92IG5pIG1vvmVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NTgKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGFsbG9jIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKK21zZ3N0ciAiZG9kZWxpdGV2IG1lZHBvbW5pbG5pa2EgemEgc2V6bmFtZSBuaSB1c3BlbGEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2MQorbXNnaWQgInVuYWJsZSB0byByZWFkIHN1cGVyIGJsb2NrIgorbXNnc3RyICJicmFuamUgc3VwZXJibG9rYSBuaSBtb75ubyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTgzCittc2dpZCAiYmFkIG1hZ2ljIG51bWJlciBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAicG+5a29kb3ZhbiB0aXAgZGF0b3Rla2UgdiBzdXBlcmJsb2t1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODUKK21zZ2lkICJPbmx5IDFrIGJsb2Nrcy96b25lcyBzdXBwb3J0ZWQiCittc2dzdHIgIlNhbW8gMWsgdmVsaWtpIGJsb2tpL3BvZHJv6GphIHNvIHBvZHBydGkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4NworIywgZnV6enkKK21zZ2lkICJiYWQgc19uaW5vZGVzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJwb7lrb2RvdmFubyBzX2ltYXBfYmxvY2tzIHBvbGplIHYgc3VwZXJibG9rdSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg5Cittc2dpZCAiYmFkIHNfaW1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInBvuWtvZG92YW5vIHNfaW1hcF9ibG9ja3MgcG9samUgdiBzdXBlcmJsb2t1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTEKKyMsIGZ1enp5Cittc2dpZCAiYmFkIHNfZmlyc3RkYXRhem9uZSBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAicG+5a29kb3Zhbm8gc19pbWFwX2Jsb2NrcyBwb2xqZSB2IHN1cGVyYmxva3UiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5NAorbXNnaWQgImJhZCBzX3ptYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJwb7lrb2RvdmFuIHNfem1hcF9ibG9ja3MgcG9samUgdiBzdXBlcmJsb2t1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTAKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBtYXAiCittc2dzdHIgIkRvZGVsaXRldiBtZWRwb21uaWxuaWthIHphIHNlem5hbSBpbm9kb3YgbmkgbW++bmEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxMworIywgZnV6enkKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIG1hcCIKK21zZ3N0ciAiRG9kZWxpdGV2IG1lZHBvbW5pbG5pa2EgemEgc2V6bmFtIGlub2RvdiBuaSBtb75uYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE2Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorbXNnc3RyICJEb2RlbGl0ZXYgbWVkcG9tbmlsbmlrYSB6YSBpbm9kZSBuaSBtb75uYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE5Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgY291bnQiCittc2dzdHIgIkRvZGVsaXRldiBtZWRwb21uaWxuaWthIHphILl0ZXZpbG8gaW5vZG92IG5pIG1vvm5hIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjIKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIGNvdW50IgorbXNnc3RyICJEb2RlbGl0ZXYgbWVkcG9tbmlsbmlrYSB6YSC5dGV2aWxvIHBvZHJv6GlqIG5pIG1vvm5hIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjYKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZSBtYXAiCittc2dzdHIgIkJyYW5qZSBzZXpuYW1hIGlub2RvdiBuaSBtb75ubyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjMwCittc2dpZCAiVW5hYmxlIHRvIHJlYWQgem9uZSBtYXAiCittc2dzdHIgIkJyYW5qZSBzZXpuYW1hIHBvZHJv6GlqIG5pIG1vvm5vIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzQKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZXMiCittc2dzdHIgIkJyYW5qZSBpbm9kb3YgbmkgbW++bm8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzNgorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIKK21zZ3N0ciAiT3Bvem9yaWxvOiBGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBpbm9kZXNcbiIKK21zZ3N0ciAiJWxkIGlub2RvdlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGJsb2Nrc1xuIgorbXNnc3RyICIlbGQgYmxva292XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ZGF0YXpvbmU9JWpkICglamQpXG4iCittc2dzdHIgIlBydm8gcG9kYXRrb3ZubyBwb2Ryb+hqZT0lbGQgKCVsZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSVkXG4iCittc2dzdHIgIlZlbGlrb3N0IHBvZHJv6GphPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWF4c2l6ZT0lenVcbiIKK21zZ3N0ciAiTmFqdmXoamEgdmVsaWtvc3Q9JWxkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIHN0YXRlPSVkXG4iCittc2dzdHIgIlN0YW5qZSBkYXQuIHNpc3RlbWE9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisibmFtZWxlbj0lemRcbiIKKyJcbiIKK21zZ3N0ciAiIgorImRvbL5pbmEgZGF0b3Rla2U9JWRcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjY0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcxNAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlZCBtYXJrZWQgdW51c2VkLCBidXQgdXNlZCBmb3IgZmlsZSAnJXMnXG4iCittc2dzdHIgIklub2QgJWQgb3puYehlbiBrb3QgcHJvc3QsIHZlbmRhciBqZSC+ZSB6YXNlZGVuIHphIGRhdG90ZWtvICwlc2BcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjY3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcxNworbXNnaWQgIk1hcmsgaW4gdXNlIgorbXNnc3RyICJPem5h6GksIGRhIGplIHYgcmFiaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Njg5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjczNworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlsZSBgJXMnIGhhcyBtb2RlICUwNW9cbiIKK21zZ3N0ciAiVGEgZGF0b3Rla2EgYCVzJyBqZSB2IHN0YW5qdSAlMDVvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY5NiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogaW5vZGUgY291bnQgdG9vIGJpZy5cbiIKK21zZ3N0ciAiT3Bvem9yaWxvOiC5dGV2aWxvIGlub2RvdiBwcmV2ZWxpa28uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc1NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NjMKK21zZ2lkICJyb290IGlub2RlIGlzbid0IGEgZGlyZWN0b3J5IgorbXNnc3RyICJrb3JlbnNraSBpbm9kIG5pIGltZW5payIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzc1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayBoYXMgYmVlbiB1c2VkIGJlZm9yZS4gTm93IGluIGZpbGUgYCVzJy4iCittc2dzdHIgIkJsb2sgamUgvmUgYmlsIHYgcmFiaS4gU2VkYWogamUgdiBkYXRvdGVraSBgJXMnLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzc3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgwOAorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTUyCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTk5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDgKK21zZ2lkICJDbGVhciIKK21zZ3N0ciAiUG/oaXN0aSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzg3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayAlZCBpbiBmaWxlIGAlcycgaXMgbWFya2VkIG5vdCBpbiB1c2UuIgorbXNnc3RyICJCbG9rICVkIHYgZGF0b3Rla2kgLCVzYCBqZSBvem5h6GVuIGtvdCBwcm9zdC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MjAKK21zZ2lkICJDb3JyZWN0IgorbXNnc3RyICJQb3ByYXZpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzMworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGlyZWN0b3J5ICclcycgY29udGFpbnMgYSBiYWQgaW5vZGUgbnVtYmVyIGZvciBmaWxlICclLipzJy4iCittc2dzdHIgIkRpcmVrdG9yeSAnJXMnIHZzZWJ1amUgcG+5a29kb3ZhbiC5dGV2aWxrbyBpbm9kYSB6YSBkYXRvdGVrbyAnJS4qcycuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzNQorbXNnaWQgIiBSZW1vdmUiCittc2dzdHIgIk9kc3RyYW5pIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4nIGlzbid0IGZpcnN0XG4iCittc2dzdHIgIiVzOiBwb7lrb2RvdmFuIGltZW5pazogJy4nIG5pIG5hIHBydmVtIG1lc3R1XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk4NiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIgorbXNnc3RyICIlczogcG+5a29kb3ZhbiBpbWVuaWs6ICcuLicgbmkgbmEgZHJ1Z2VtIG1lc3R1XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwOTQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTExNworbXNnaWQgImludGVybmFsIGVycm9yIgorbXNnc3RyICJub3RyYW5qYSBuYXBha2EiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwOTcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogc2l6ZSA8IDMyIgorbXNnc3RyICIlczogcG+5a29kb3ZhbiBpbWVuaWs6IHZlbGlrb3N0IDwgMzIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBpbnZhbGlkIGlfem9uZSwgdXNlIC0tcmVwYWlyIHRvIGZpeFxuIgorbXNnc3RyICIlczogcG+5a29kb3ZhbiBpbWVuaWs6ICcuJyBuaSBuYSBwcnZlbSBtZXN0dVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTMyCittc2dpZCAic2VlayBmYWlsZWQgaW4gYmFkX3pvbmUiCittc2dzdHIgImlza2FuamUgdiBiYWRfem9uZSBuaSB1c3BlbG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG1vZGUgbm90IGNsZWFyZWQuIgorbXNnc3RyICJzdGFuamUgJWQgaW5vZGEgbmkgcG/oabnoZW5vIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTUxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBub3QgdXNlZCwgbWFya2VkIHVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIklub2QgJWQgbmkgdiByYWJ1LCBvem5h6GVuIGtvdCB2IHJhYmkgdiBzbGlraS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IHVzZWQsIG1hcmtlZCB1bnVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIklub2QgJWQgdiByYWJpLCBvem5h6GVuIGtvdCBuaSB2IHJhYmkgdiBzbGlraS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTggZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxNAorbXNnaWQgIlNldCIKK21zZ3N0ciAiTmFzdGF2aSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgKG1vZGUgPSAlMDdvKSwgaV9ubGlua3M9JWQsIGNvdW50ZWQ9JWQuIgorbXNnc3RyICJJbm9kICVkIChzdGFuamUgPSAlMDdvKSwgaV9ubGlua3M9JWQsIGNvdW50ZWQ9JWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjEKK21zZ2lkICJTZXQgaV9ubGlua3MgdG8gY291bnQiCittc2dzdHIgImlfbmxpbmtzIG5hc3RhdmkgbmEgY291bnQgIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTc3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBtYXJrZWQgaW4gdXNlLCBubyBmaWxlIHVzZXMgaXQuIgorbXNnc3RyICJQb2Ryb+hqZSAlZDogb3puYehlbm8ga290IHYgcmFiaSwgdmVuZGFyIGdhIG5vYmVuYSBkYXRvdGVrYSBuZSB1cG9yYWJsamEuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTc5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzUKK21zZ2lkICJVbm1hcmsiCittc2dzdHIgIk9kem5h6GkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICJQb2Ryb+hqZSAlZDogdiByYWJpLCBjb3VudGVkPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiUG9kcm/oamUgJWQ6IG5pIHYgcmFiaSwgY291bnRlZD0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjkxCittc2dpZCAiYmFkIGlub2RlIHNpemUiCittc2dzdHIgInNsYWJhIHZlbGlrb3N0IGlub2RhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjkzCittc2dpZCAiYmFkIHYyIGlub2RlIHNpemUiCittc2dzdHIgInNsYWJhIHZlbGlrb3N0IHYyIGlub2RhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzM3Cittc2dpZCAibmVlZCB0ZXJtaW5hbCBmb3IgaW50ZXJhY3RpdmUgcmVwYWlycyIKK21zZ3N0ciAiemEgaW50ZXJha3Rpdm5hIG9wcmF2aWxhIGplIHBvdHJlYmVuIHRlcm1pbmFsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXMiCittc2dzdHIgIm5pIG1vZ2/oZSBvZHByZXRpICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGNsZWFuLCBubyBjaGVjay5cbiIKK21zZ3N0ciAiJXMgamUg6GlzdCwgcHJldmVyamFuamUgbmkgcG90cmVibm8uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9yY2luZyBmaWxlc3lzdGVtIGNoZWNrIG9uICVzLlxuIgorbXNnc3RyICJQcmlzaWxuaSBwcmVnbGVkIGRhdG90ZehuZWdhIHNpc3RlbWEgbmEgJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBvbiAlcyBpcyBkaXJ0eSwgbmVlZHMgY2hlY2tpbmcuXG4iCittc2dzdHIgIkRhdG90ZehuaSBzaXN0ZW0gbmEgJXMgbmkg6GlzdCwgcG90cmVidWplIHByZWdsZWQuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2bGQgaW5vZGVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICIiCisiXG4iCisiJTZsZCBpbm9kb3YgcG9yYWJsamVuaWggKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiU2bGQgem9uZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiU2bGQgcG9kcm/oaWogcG9yYWJsamVuaWggKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmQgcmVndWxhciBmaWxlc1xuIgorIiU2ZCBkaXJlY3Rvcmllc1xuIgorIiU2ZCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGJsb2NrIGRldmljZSBmaWxlc1xuIgorIiU2ZCBsaW5rc1xuIgorIiU2ZCBzeW1ib2xpYyBsaW5rc1xuIgorIi0tLS0tLVxuIgorIiU2ZCBmaWxlc1xuIgorbXNnc3RyICIiCisiXG4iCisiJTZkIG5hdmFkbmloIGRhdG90ZWtcbiIKKyIlNmQgaW1lbmlrb3ZcbiIKKyIlNmQgZGF0b3RlayB6bmFrb3ZuaWggbmFwcmF2XG4iCisiJTZkIGRhdG90ZWsgYmxv6G5paCBuYXByYXZcbiIKKyIlNmQgcG92ZXphdlxuIgorIiU2ZCBzaW1ib2xuaWggcG92ZXphdlxuIgorIi0tLS0tLVxuIgorIiU2ZCBkYXRvdGVrXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyJGSUxFIFNZU1RFTSBIQVMgQkVFTiBDSEFOR0VEXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIkRBVE9URchOSSBTSVNURU0gSkUgQklMIFNQUkVNRU5KRU5cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MjMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODMzCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUzOSBkaXNrLXV0aWxzL3BhcnR4LmM6MTAzNSBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTIKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzk4IHN5cy11dGlscy9kbWVzZy5jOjY1OSBzeXMtdXRpbHMvd2RjdGwuYzozNDYKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQxMSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI3MiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjM0OQorIzogdGV4dC11dGlscy9wZy5jOjEyNDgKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgZmFpbGVkIgorbXNnc3RyICIoTmFzbGVkbmphIGRhdG90ZWthOiAlcykiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbWlnaHQgbm90IGJlIGFuIElTTyBmaWxlc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VlayBlcnJvciBvbiAlcyIKK21zZ3N0ciAiJXM6IG5hcGFrYSBwcmkgaXNrYW5qdSBuYSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlYWQgZXJyb3Igb24gJXMiCittc2dzdHIgIiVzOiBuYXBha2EgcHJpIGJyYW5qdSB6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZWN0b3IgY291bnQ6ICVkLCBzZWN0b3Igc2l6ZTogJWRcbiIKK21zZ3N0ciAiuXRldmlsbyBzZWt0b3JqZXY6ICVkLCB2ZWxpa29zdCBzZWt0b3JqZXY6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8aXNvOTY2MF9pbWFnZV9maWxlPlxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzQKK21zZ2lkICJTaG93IHRoZSBsZW5ndGggb2YgYW4gSVNPLTk2NjAgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzcKK21zZ2lkICIgLWQsIC0tZGl2aXNvcj08bnVtYmVyPiAgZGl2aWRlIHRoZSBhbW91bnQgb2YgYnl0ZXMgYnkgPG51bWJlcj5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzgKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHNob3cgc2VjdG9yIGNvdW50IGFuZCBzaXplXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MjEwCittc2dpZCAiaW52YWxpZCBkaXZpc29yIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzcKK21zZ2lkICJNYWtlIGFuIFNDTyBiZnMgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1OLCAtLWlub2Rlcz1OVU0gICAgc3BlY2lmeSBkZXNpcmVkIG51bWJlciBvZiBpbm9kZXNcbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICBzcGVjaWZ5IHZvbHVtZSBuYW1lXG4iCisiIC1GLCAtLWZuYW1lPU5BTUUgICAgc3BlY2lmeSBmaWxlIHN5c3RlbSBuYW1lXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyIgLWMgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1sICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiICAgICAgICAgICAgICAgICAgICAgLVYgYXMgdmVyc2lvbiBtdXN0IGJlIG9ubHkgb3B0aW9uXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTQ0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAiTmV2ZWxqYXZubyC5dGV2aWxvOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTUwCittc2dpZCAidm9sdW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgImltZSBvYnNlZ2EgamUgcHJlZG9sZ28iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTcKK21zZ2lkICJmc25hbWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAiaW1lIGRhdG90ZehuZWdhIHNpc3RlbWEgamUgcHJlZG9sZ28iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBibG9jay1jb3VudCIKK21zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgIm5pIG1vZ2/oZSBkb2JpdGkgdmVsaWtvc3RpICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJibG9ja3MgYXJndW1lbnQgdG9vIGxhcmdlLCBtYXggaXMgJWxsdSIKK21zZ3N0ciAiYmxvY2tzIGFyZ3VtZW50IHByZXZlbGlrLCBuYWp2ZehqaSBqZSAlbHUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMTkKK21zZ2lkICJ0b28gbWFueSBpbm9kZXMgLSBtYXggaXMgNTEyIgorbXNnc3RyICJwcmV2ZeggaW5vZG92IC0gbmFqdmXoIDUxMiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSwgbmVlZCBhdCBsZWFzdCAlbGx1IGJsb2NrcyIKK21zZ3N0ciAibmkgemFkb3N0aSBwcm9zdG9yYSwgbmFqbWFuaiAlbHUgYmxva292IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZTogJXNcbiIKK21zZ3N0ciAiTmFwcmF2YSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIlZvbHVtZTogPCUtNnM+XG4iCittc2dzdHIgIk9ic2VnOiA8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJGU25hbWU6IDwlLTZzPlxuIgorbXNnc3RyICJpbWUgZGF0LiBzaXN0ZW1hOiA8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NAorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9ja1NpemU6ICVkXG4iCittc2dzdHIgIlZlbGlrb3N0IGJsb2thOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gMSBibG9jaylcbiIKK21zZ3N0ciAiSW5vZGk6ICVkICh2IGVuZW0gYmxva3UpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAlbGx1IGJsb2NrcylcbiIKK21zZ3N0ciAiSW5vZGk6ICVkICh2ICVsZCBibG9raWgpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrczogJWxsdVxuIgorbXNnc3RyICJCbG9raTogJWxkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgZW5kOiAlZCwgRGF0YSBlbmQ6ICVkXG4iCittc2dzdHIgImtvbmVjIGlub2RvdjogJWQsIGtvbmVjIHBvZGF0a292OiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU3Cittc2dpZCAiZXJyb3Igd3JpdGluZyBzdXBlcmJsb2NrIgorbXNnc3RyICJuYXBha2EgcHJpIHphcGlzb3Zhbmp1IHN1cGVyYmxva2EiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNzgKK21zZ2lkICJlcnJvciB3cml0aW5nIHJvb3QgaW5vZGUiCittc2dzdHIgIm5hcGFrYSBwcmkgemFwaXNvdmFuanUga29yZW5za2VnYSBpbm9kYSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4MworbXNnaWQgImVycm9yIHdyaXRpbmcgaW5vZGUiCittc2dzdHIgIm5hcGFrYSBwcmkgemFwaXNvdmFuanUgaW5vZGEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODYKK21zZ2lkICJzZWVrIGVycm9yIgorbXNnc3RyICJuYXBha2EgcHJpIGlza2FuanUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTIKK21zZ2lkICJlcnJvciB3cml0aW5nIC4gZW50cnkiCittc2dzdHIgIm5hcGFrYSBwcmkgemFwaXNvdmFuanUgdm5vc2EgLiAiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTYKK21zZ2lkICJlcnJvciB3cml0aW5nIC4uIGVudHJ5IgorbXNnc3RyICJuYXBha2EgcHJpIHphcGlzb3Zhbmp1IHZub3NhIC4uIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNsb3NpbmcgJXMiCittc2dzdHIgIm5hcGFrYSBwcmkgemFwaXJhbmp1ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXQgPHR5cGU+XSBbZnMtb3B0aW9uc10gPGRldmljZT4gWzxzaXplPl1cbiIKK21zZ3N0ciAiVXBvcmFiYTogbWtmcyBbLVZdIFstdCB0aXAgZGF0LiBzaXN0ZW1hXSBbaXpiaXJlIGRhdC4gc2lzdC5dIG5hcHJhdmEgW3ZlbGlrb3N0XVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0OAorIywgZnV6enkKK21zZ2lkICJNYWtlIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiVm5lc2l0ZSB2cnN0byBkYXRvdGXobmVnYSBzaXN0ZW1hOiAiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdCwgLS10eXBlPTx0eXBlPiAgZmlsZXN5c3RlbSB0eXBlOyB3aGVuIHVuc3BlY2lmaWVkLCBleHQyIGlzIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIGZzLW9wdGlvbnMgICAgIHBhcmFtZXRlcnMgZm9yIHRoZSByZWFsIGZpbGVzeXN0ZW0gYnVpbGRlclxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxzaXplPiAgICAgICAgIG51bWJlciBvZiBibG9ja3MgdG8gYmUgdXNlZCBvbiB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJib3NlICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmU7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnlpbmcgLVYgbW9yZSB0aGFuIG9uY2Ugd2lsbCBjYXVzZSBhIGRyeS1ydW5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcnNpb24gICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQ7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIC1WIGFzIC0tdmVyc2lvbiBtdXN0IGJlIHRoZSBvbmx5IG9wdGlvblxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLWgsIC0taGVscCAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzoxMzkgbGliL2V4ZWNfc2hlbGwuYzo0OSBsb2dpbi11dGlscy9uZXdncnAuYzoyMzMKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY1NyBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5OTIKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwNCBzY2hlZHV0aWxzL2NocnQuYzo1NTgKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjYwIHNjaGVkdXRpbHMvdGFza3NldC5jOjIzOSBzeXMtdXRpbHMvZmxvY2suYzoxMjIKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDMwIHN5cy11dGlscy9wcmxpbWl0LmM6NjQ0IHN5cy11dGlscy9ydGN3YWtlLmM6NTc3CisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjMyNCBzeXMtdXRpbHMvc2V0YXJjaC5jOjQwMyBzeXMtdXRpbHMvc2V0c2lkLmM6MTE1CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzQwIHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI0MiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ2MQorIzogdGVybS11dGlscy9zY3JpcHQuYzo1ODEgdGV4dC11dGlscy9wZy5jOjEzNzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBleGVjdXRlICVzIgorbXNnc3RyICJrbGljIGlvY3RsKCkgbmkgdXNwZWwgcHJlYnJhdGkg6GFzYSBpeiAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjEzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorInVzYWdlOiAlcyBbLWhdIFstdl0gWy1iIGJsa3NpemVdIFstZSBlZGl0aW9uXSBbLU4gZW5kaWFuXSBbLWkgZmlsZV0gWy1uIG5hbWVdIGRpcm5hbWUgb3V0ZmlsZVxuIgorIiAtaCAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorIiAtdiAgICAgICAgIGJlIHZlcmJvc2VcbiIKKyIgLUUgICAgICAgICBtYWtlIGFsbCB3YXJuaW5ncyBlcnJvcnMgKG5vbi16ZXJvIGV4aXQgc3RhdHVzKVxuIgorIiAtYiBibGtzaXplIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgbXVzdCBlcXVhbCBwYWdlIHNpemVcbiIKKyIgLWUgZWRpdGlvbiBzZXQgZWRpdGlvbiBudW1iZXIgKHBhcnQgb2YgZnNpZClcbiIKKyIgLU4gZW5kaWFuICBzZXQgY3JhbWZzIGVuZGlhbm5lc3MgKGJpZ3xsaXR0bGV8aG9zdCksIGRlZmF1bHQgaG9zdFxuIgorIiAtaSBmaWxlICAgIGluc2VydCBhIGZpbGUgaW1hZ2UgaW50byB0aGUgZmlsZXN5c3RlbSAocmVxdWlyZXMgPj0gMi40LjApXG4iCisiIC1uIG5hbWUgICAgc2V0IG5hbWUgb2YgY3JhbWZzIGZpbGVzeXN0ZW1cbiIKKyIgLXAgICAgICAgICBwYWQgYnkgJWQgYnl0ZXMgZm9yIGJvb3QgY29kZVxuIgorIiAtcyAgICAgICAgIHNvcnQgZGlyZWN0b3J5IGVudHJpZXMgKG9sZCBvcHRpb24sIGlnbm9yZWQpXG4iCisiIC16ICAgICAgICAgbWFrZSBleHBsaWNpdCBob2xlcyAocmVxdWlyZXMgPj0gMi4zLjM5KVxuIgorIiBkaXJuYW1lICAgIHJvb3Qgb2YgdGhlIGZpbGVzeXN0ZW0gdG8gYmUgY29tcHJlc3NlZFxuIgorIiBvdXRmaWxlICAgIG91dHB1dCBmaWxlXG4iCittc2dzdHIgIiIKKyJ1cG9yYWJhOiAlcyBbLWhdIFstdl0gWy1iIHZlbGlrb3N0IGJsb2thXSBbLWUgaXpkYWphXSBbLWkgZGF0b3Rla2FdIFstbiBpbWVdIGltZW5payBpemhvZG5hX2RhdG90ZWthXG4iCisiIC1oICAgICAgICAgICAgICAgICAgcHJpa2G+aSB0byBwb21v6FxuIgorIiAtdiAgICAgICAgICAgICAgICAgIHByaWthvmkgdmXoIGluZm9ybWFjaWpcbiIKKyIgLUUgICAgICAgICAgICAgICAgICBzcHJlbWVuaSB2c2Egb3Bvem9yaWxhIHYgbmFwYWtlKG5lbmnoZWxuYSB2cmVkbm9zdCBpemhvZGEpXG4iCisiIC1iIHZlbGlrb3N0IGJsb2thICAgdXBvcmFiaSB0byB2ZWxpa29zdCBibG9rYSwgbW9yYSBiaXRpIGVuYWsgdmVsaWtvc3RpIHN0cmFuaVxuIgorIiAtZSBpemRhamEgICAgICAgICAgIG5hc3RhdmkguXRldmlsa28gaXpkYWplIChkZWwgaWRlbnRpZmlrYWNpamUoZnNpZCkgZGF0LiBzaXN0ZW1hKVxuIgorIiAtaSBkYXRvdGVrYSAgICAgICAgIHZzdGF2aSBzbGlrbyBkYXRvdGVrZSB2IGRhdG90ZehuaSBzaXN0ZW0gKHJhemxp6GljYSA+PSAyLjQuMClcbiIKKyIgLW4gaW1lICAgICAgICAgICAgICBuYXN0YXZpbSBpbWUgZGF0b3Rl6G5lZ2Egc2lzdGVtYSBjcmFtZnNcbiIKKyIgLXAgICAgICAgICAgICAgICAgICBwb3Zl6GFqIHphICVkIGJhanRvdiB6YSB6YWdvbnNraSBrb2RcbiIKKyIgLXMgICAgICAgICAgICAgICAgICByYXp2cnN0aSB2bm9zZSBpbWVuaWtvdiAoc3RhcmVquWkgYXJndW1lbnQgLSBzZSBuZSB1cG+5dGV2YSlcbiIKKyIgLXogICAgICAgICAgICAgICAgICBuYXJlZGkgamFzbmUgbHVrbmplIChyYXpsaehpY2EgPj0gMi4zLjM5KVxuIgorIiBpbWVuaWsgICAgICAgICAgICAgIGtvcmVuIGRhdG90ZehuZWdhIHNpc3RlbWEsIGtpIGdhIHN0aXNrYW1vXG4iCisiIGl6aG9kbmFfZGF0b3Rla2EgICAgaXpob2RuYSBkYXRvdGVrYVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZWFkbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICIoTmFzbGVkbmphIGRhdG90ZWthOiAlcykiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAia29yZW5za2kgaW5vZCBuaSBpbWVuaWsiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo0NDMKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSB0b28gYmlnLiAgRXhpdGluZy4iCittc2dzdHIgImRhdG90ZehuaSBzaXN0ZW0gamUgcHJldmVsaWsuIEtvbuh1amVtLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkFJRUVFOiBibG9jayBcImNvbXByZXNzZWRcIiB0byA+IDIqYmxvY2tsZW5ndGggKCVsZClcbiIKK21zZ3N0ciAiQUlFRUU6IGJsb2sgXCJzdGlzbmplblwiIGRvID4gMipibG9ja2xlbmd0aCAoJWxkKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStkIGJhanRvdilcdCVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjbG9zZSBmaWxlICVzIgorbXNnc3RyICJEYXRvdGVrZSAsJXNgIG5pIG1vZ2/oZSBvZHByZXRpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzMyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZWRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgIm5ldmVsamF2ZW4gaWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ3Vlc3RpbWF0ZSBvZiByZXF1aXJlZCBzaXplICh1cHBlciBib3VuZCkgaXMgJWxsZE1CLCBidXQgbWF4aW11bSBpbWFnZSBzaXplIGlzICV1TUIuICBXZSBtaWdodCBkaWUgcHJlbWF0dXJlbHkuIgorbXNnc3RyICJvcG96b3JpbG86IHByaWJsab5layB6YWh0ZXZhbmUgdmVsaWtvc3RpICh6Z29ybmphIG1lamEpIGplICVMZE1CLCBhbXBhayBuYWp2ZehqYSB2ZWxpa29zdCBzbGlrZSBqZSAldU1CLiBMYWhrbyBrb27oYW1vIHByZWQga29uY2VtLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODMwCittc2dpZCAiUk9NIGltYWdlIG1hcCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkluY2x1ZGluZzogJXNcbiIKK21zZ3N0ciAiVmtsanXobm86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpcmVjdG9yeSBkYXRhOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiUG9kYXRraSBpbWVuaWthOiAlZCBiYWp0b3ZcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRXZlcnl0aGluZzogJXpkIGtpbG9ieXRlc1xuIgorbXNnc3RyICJWc2Ugc2t1cGFqOiAlZCBraWxvYmFqdG92XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN1cGVyIGJsb2NrOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiU3VwZXJibG9rOiAlZCBiYWp0b3ZcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICJDUkM6ICV4XG4iCittc2dzdHIgIkNSQzogJXhcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSBhbGxvY2F0ZWQgZm9yIFJPTSBpbWFnZSAoJWxsZCBhbGxvY2F0ZWQsICV6dSB1c2VkKSIKK21zZ3N0ciAiemEgUk9NIHNsaWtvIG5pIHphZG9zdGkgcHJvc3RvcmEgKCVMZCByZXplcnZpcmFubywgJWQgdiByYWJpKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJST00gaW1hZ2Ugd3JpdGUgZmFpbGVkICglemQgJXpkKSIKK21zZ3N0ciAiemFwaXNvdmFuamUgUk9NIHNsaWtlIG5pIHVzcGVsbyAoJWQgJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODIKK21zZ2lkICJST00gaW1hZ2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZW5hbWVzIHRydW5jYXRlZCB0byAldSBieXRlcy4iCittc2dzdHIgIm9wb3pvcmlsbzogaW1lbmEgZGF0b3RlayBzbyBza3LoZW5hIG5hIDI1NSBiYWp0b3YuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTMKKyMsIGZ1enp5Cittc2dpZCAid2FybmluZzogZmlsZXMgd2VyZSBza2lwcGVkIGR1ZSB0byBlcnJvcnMuIgorbXNnc3RyICJvcG96b3JpbG86IG5la2F0ZXJlIGRhdG90ZWtlIHNvIGJpbGUgaWdub3JpcmFuZSB6YXJhZGkgbmFwYWsuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGUgc2l6ZXMgdHJ1bmNhdGVkIHRvICVsdU1CIChtaW51cyAxIGJ5dGUpLiIKK21zZ3N0ciAid2FybmluZzogdmVsaWtvc3RpIGRhdG90ZWsgem1hbmphuWFuZSBuYSAlbHVNQiAoMSBiYWp0IG1hbmopLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJvcG96b3JpbG86IHVpZC1pIHptYW5quWFuaSBuYSAldSBiaXRvdi4gIChMYWhrbyB2cGxpdmEgbmEgdmFybm9zdC4pXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGdpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgIm9wb3pvcmlsbzogZ2lkLWkgem1hbmq5YW5pIG5hICV1IGJpdG92LiAgKExhaGtvIHZwbGl2YSBuYSB2YXJub3N0LilcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIldBUk5JTkc6IGRldmljZSBudW1iZXJzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgVGhpcyBhbG1vc3QgY2VydGFpbmx5IG1lYW5zXG4iCisidGhhdCBzb21lIGRldmljZSBmaWxlcyB3aWxsIGJlIHdyb25nLiIKK21zZ3N0ciAiIgorIk9QT1pPUklMTzoguXRldmlsa2UgbmFwcmF2IHptYW5quWFuZSBuYSAldSBiaXRvdi4gVG8gc2tvcmFqIHphZ290b3ZvIHBvbWVuaSxcbiIKKyJkYSBzZSBib2RvIHBvamF2aWxlIG5hcGFrZSB2IGRhdG90ZWthaCBuYXByYXYuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgIiAtMSAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAxXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM4CisjLCBmdXp6eQorbXNnaWQgIiAtMiwgLXYgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAyXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM5CisjLCBmdXp6eQorbXNnaWQgIiAtMyAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAzXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQwCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uYW1lbGVuZ3RoIDxudW0+ICBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taW5vZGVzIDxudW0+ICAgICAgbnVtYmVyIG9mIGlub2RlcyBmb3IgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiVm5lc2l0ZSC5dGV2aWxvIHN0ZXo6ICIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQyCisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jaGVjayAgICAgICAgICAgICBjaGVjayB0aGUgZGV2aWNlIGZvciBiYWQgYmxvY2tzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MworbXNnaWQgIiAtbCwgLS1iYWRibG9ja3MgPGZpbGU+ICBsaXN0IG9mIGJhZCBibG9ja3MgZnJvbSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayB0byBib290IGJsb2NrIGZhaWxlZCAgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICJpc2thbmplIGRvIHphZ29uc2tlZ2EgYmxva2EgbmkgdXNwZWxvIHYgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gY2xlYXIgYm9vdCBzZWN0b3IiCittc2dzdHIgInphZ29uc2tlZ2Egc2VrdG9yamEgbmkgbW9nb+hlIHBv6GlzdGl0aSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICJpc2thbmplIG5pIHVzcGVsbyB2IHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICJzdXBlcmJsb2thIG5pIG1vvm5vIHphcGlzYXRpIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICJ6YXBpcyBzZXpuYW1hIGlub2RvdiBuaSB1c3BlbCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICJ6YXBpcyBzZXpuYW1hIHBvZHJv6GlqIG5pIHVzcGVsIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICJ6YXBpcyBpbm9kb3YgbmkgdXNwZWwiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICJpc2thbmplIG5pIHVzcGVsbyB2IHdyaXRlX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgInBpc2FuamUgbmkgdXNwZWxvIHYgd3JpdGVfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyMSBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyOTYKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjM0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBtYW55IGJhZCBibG9ja3MiCittc2dzdHIgInByZXZl6CBwb7lrb2RvdmFuaWggYmxva292IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZW5vdWdoIGdvb2QgYmxvY2tzIgorbXNnc3RyICJwcmVtYWxvIG5lcG+5a29kb3ZhbmloIGJsb2tvdiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJGaXJzdCBkYXRhIGJsb2NrIGF0ICVqZCwgd2hpY2ggaXMgdG9vIGZhciAobWF4ICVkKS5cbiIKKyJUcnkgc3BlY2lmeWluZyBmZXdlciBpbm9kZXMgYnkgcGFzc2luZyAtLWlub2RlcyA8bnVtPiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIiVsZCBpbm9kb3ZcbiIKK21zZ3N0clsxXSAiJWxkIGlub2RvdlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVsdSBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlbHUgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVsZCBibG9rb3ZcbiIKK21zZ3N0clsxXSAiJWxkIGJsb2tvdlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSV6dVxuIgorbXNnc3RyICJWZWxpa29zdCBwb2Ryb+hqYT0lZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJNYXhzaXplPSV6dVxuIgorIlxuIgorbXNnc3RyICIiCisiTmFqdmXoamEgdmVsaWtvc3Q9JWxkXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGR1cmluZyB0ZXN0aW5nIG9mIGJsb2NrcyIKK21zZ3N0ciAiaXNrYW5qZSBtZWQgdGVzdGlyYW5qZW0gYmxva292IG5pIHVzcGVsbyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIldlaXJkIHZhbHVlcyBpbiBkb19jaGVjazogcHJvYmFibHkgYnVnc1xuIgorbXNnc3RyICJOZW5hdmFkbmUgdnJlZG5vc3RpIHYgZG9fY2hlY2s6IHZlcmpldG5vIHByb2dyYW1za2EgbmFwYWthXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAiaXNrYW5qZSB2IGNoZWNrX2Jsb2NrcyBuaSB1c3BlbG8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBibG9ja3MgYmVmb3JlIGRhdGEtYXJlYTogY2Fubm90IG1ha2UgZnMiCittc2dzdHIgInNsYWJpIGJsb2tpIHByZWQgcG9kYXRrb3ZuaW0gb2Jtb+hqZW06IGRhdG90ZehuZWdhIHNpc3RlbWEgbmUgbW9yZW0gbmFyZWRpdGkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzOSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIGJhZCBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlZCBiYWQgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVkIHBvuWtvZG92YW5paCBibG9rb3ZcbiIKK21zZ3N0clsxXSAiJWQgcG+5a29kb3ZhbmloIGJsb2tvdlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBvcGVuIGZpbGUgb2YgYmFkIGJsb2NrcyIKK21zZ3N0ciAibmUgbW9yZW0gb2RwcmV0aSBkYXRvdGVrZSBzIHBvuWtvZG92YW5pbWkgYmxva2kiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1MworIywgYy1mb3JtYXQKK21zZ2lkICJiYWRibG9jayBudW1iZXIgaW5wdXQgZXJyb3Igb24gbGluZSAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGJhZGJsb2NrcyBmaWxlIgorbXNnc3RyICJEaXNrb3ZuZWdhIHBvZ29uYSBuaSBtb2dv6GUgcHJlYnJhdGkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5NAorIywgYy1mb3JtYXQKK21zZ2lkICJibG9jayBzaXplIHNtYWxsZXIgdGhhbiBwaHlzaWNhbCBzZWN0b3Igc2l6ZSBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgc2l6ZSBvZiAlcyIKK21zZ3N0ciAibmkgbW9nb+hlIGRvYml0aSB2ZWxpa29zdGkgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVxdWVzdGVkIGJsb2NrcyAoJWxsdSkgZXhjZWVkcyBhdmFpbGFibGUgKCVsbHUpIGJsb2Nrc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG51bWJlciBvZiBibG9ja3MgdG9vIHNtYWxsIgorbXNnc3RyICKpdGV2aWxvIHNla3RvcmpldiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzIzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbmFtZSBsZW5ndGg6ICVkIgorbXNnc3RyICIlczogbmV6bmFuIGFyZ3VtZW50OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG1pbml4IGZpbGUgc3lzdGVtIHZlcnNpb246ICVkIgorbXNnc3RyICJWbmVzaXRlIHZyc3RvIGRhdG90ZehuZWdhIHNpc3RlbWE6ICIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzY3Cittc2dpZCAiLXYgaXMgYW1iaWd1b3VzLCB1c2UgJy0yJyBpbnN0ZWFkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc3OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzgyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODA2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgYmxvY2tzIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2UgYSBmaWxlc3lzdGVtIGhlcmUhIgorbXNnc3RyICIlcyBqZSBwcmlrbG9wbGplbjsgZGF0LiBzaXN0ZW1hIHphdG8gbmUgYm8gbmFyZWplbiEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJhZCB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJXUiCittc2dzdHIgIlBvZGFuYSB2ZWxpa29zdCBzdHJhbmkgbmkgZG9icmElZFxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2luZyB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJWQsIGluc3RlYWQgb2YgdGhlIHN5c3RlbSB2YWx1ZSAlZCIKK21zZ3N0ciAiVXBvcmFibGphbW8gcG9kYW5vIHZlbGlrb3N0IHN0cmFuaSAlZCBuYW1lc3RvIHNpc3RlbXNrZSB2cmVkbm9zdGkgJWQvJWRcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAiTGFiZWwgd2FzIHRydW5jYXRlZC4iCittc2dzdHIgIk96bmFrYSBqZSBiaWxhIHNrcmFquWFuYVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gbGFiZWwsICIKK21zZ3N0ciAibmkgb3puYWtlIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyB1dWlkXG4iCittc2dzdHIgIm5pIHV1aWQtYVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc10gZGV2aWNlIFtzaXplXVxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1MgorbXNnaWQgIlNldCB1cCBhIExpbnV4IHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICBjaGVjayBiYWQgYmxvY2tzIGJlZm9yZSBjcmVhdGluZyB0aGUgc3dhcCBhcmVhXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgYWxsb3cgc3dhcCBzaXplIGFyZWEgYmUgbGFyZ2VyIHRoYW4gZGV2aWNlXG4iCisiIC1wLCAtLXBhZ2VzaXplIFNJWkUgICAgICAgc3BlY2lmeSBwYWdlIHNpemUgaW4gYnl0ZXNcbiIKKyIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICBzcGVjaWZ5IGxhYmVsXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAgc3BlY2lmeSBzd2FwLXNwYWNlIHZlcnNpb24gbnVtYmVyXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgc3BlY2lmeSB0aGUgdXVpZCB0byB1c2VcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGJhZCBwYWdlczogJWx1IgorbXNnc3RyICJwcmV2ZeggcG+5a29kb3ZhbmloIHN0cmFuaSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxOTUKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgImlza2FuamUgdiBjaGVja19ibG9ja3MgbmkgdXNwZWxvIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJhZCBwYWdlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBiYWQgcGFnZXNcbiIKK21zZ3N0clswXSAiJWx1IHBvuWtvZG92YW5paCBzdHJhbmlcbiIKK21zZ3N0clsxXSAiJWx1IHBvuWtvZG92YW5paCBzdHJhbmlcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMjgKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGFsbG9jIG5ldyBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAiZG9kZWxpdGV2IG1lZHBvbW5pbG5pa2EgemEgaW5vZGUgbmkgdXNwZWxhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIzMAorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gYXNzaWduIGRldmljZSB0byBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAiZG9kZWxpdGV2IG1lZHBvbW5pbG5pa2EgemEgaW5vZGUgbmkgdXNwZWxhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2hlY2tpbmcgYmFkIGJsb2NrcyBmcm9tIHN3YXAgZmlsZSBpcyBub3Qgc3VwcG9ydGVkOiAlcyIKK21zZ3N0ciAiT3Bvem9yaWxvOiBJemJpcmEgbmFtbGVuIG5pIHBvZHBydGEuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjYxIGRpc2stdXRpbHMvbWtzd2FwLmM6Mjg3IGRpc2stdXRpbHMvbWtzd2FwLmM6MzM0Cittc2dpZCAidW5hYmxlIHRvIHJld2luZCBzd2FwLWRldmljZSIKK21zZ3N0ciAiaXptZW5qYWxuZSBuYXByYXZlIG5pIG1vZ2/oZSBwcmV2aXRpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI5MAorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAiemFnb25za2VnYSBzZWt0b3JqYSBuaSBtb2dv6GUgcG/oaXN0aXRpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogd2lwaW5nIG9sZCAlcyBzaWduYXR1cmUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogZG9uJ3QgZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAiemFnb25za2VnYSBzZWt0b3JqYSBuaSBtb2dv6GUgcG/oaXN0aXRpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoJXMgcGFydGl0aW9uIHRhYmxlIGRldGVjdGVkKS4gIgorbXNnc3RyICIgICBwICAgaXpwablpIEJTRC1qZXZvIHRhYmVsbyByYXpkZWxrb3YiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgIChjb21waWxlZCB3aXRob3V0IGxpYmJsa2lkKS4gIgorbXNnc3RyICIgICBzICAgcHJpa2G+aSBjZWxvc3RubyBvem5ha28gZGlza2EiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2UgLWYgdG8gZm9yY2UuXG4iCittc2dzdHIgIlVwb3JhYml0ZSAlcyAtbCB6YSBpenBpcyBzZXpuYW1hLlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzaWduYXR1cmUgcGFnZSIKK21zZ3N0ciAic3RyYW5pIHMgcG9kcGlzb20gbmkgbW9nb+hlIHphcGlzYXRpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4MAorIywgZnV6enkKK21zZ2lkICJwYXJzaW5nIHBhZ2Ugc2l6ZSBmYWlsZWQiCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg2CisjLCBmdXp6eQorbXNnaWQgInBhcnNpbmcgdmVyc2lvbiBudW1iZXIgZmFpbGVkIgorbXNnc3RyICJkb2RlbGplbmkgc2VtYWZvcmppID0gJWRcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcHNwYWNlIHZlcnNpb24gJWQgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBpZ25vcmluZyAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkIGJ5ICVzKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQxNAorbXNnaWQgIm9ubHkgb25lIGRldmljZSBhcmd1bWVudCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDIxCisjLCBmdXp6eQorbXNnaWQgImVycm9yOiBwYXJzaW5nIFVVSUQgZmFpbGVkIgorbXNnc3RyICIiCisiXG4iCisiTmFwYWthIHByaSB6YXBpcmFuanUgZGF0b3Rla2VcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzAKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3I6IE5vd2hlcmUgdG8gc2V0IHVwIHN3YXAgb24/IgorbXNnc3RyICIlczogbmFwYWthOiBpem1lbmphbG5lZ2EgcHJvc3RvcmEgbmkgbW++bm8gbmlrYW1vciBuYW1lc3RpdGk/XG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDM2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYmxvY2sgY291bnQgYXJndW1lbnQiCittc2dzdHIgIm5ldmVsamF2ZW4gaWQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc2l6ZSAlbGx1IEtpQiBpcyBsYXJnZXIgdGhhbiBkZXZpY2Ugc2l6ZSAlPFBSSXU2ND4gS2lCIgorbXNnc3RyICIlczogbmFwYWthOiB2ZWxpa29zdCAlbHUgamUgdmXoamEgb2QgdmVsaWtvc3RpIG5hcHJhdmUgJWx1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc3dhcCBhcmVhIG5lZWRzIHRvIGJlIGF0IGxlYXN0ICVsZCBLaUIiCittc2dzdHIgIiVzOiBuYXBha2E6IHZlbGlrb3N0IGl6bWVuamFsbmVnYSBwcm9zdG9yYSBtb3JhIGJpdGkgdnNhaiAlbGQgS0JcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHRydW5jYXRpbmcgc3dhcCBhcmVhIHRvICVsbHUgS2lCIgorbXNnc3RyICIlczogb3Bvem9yaWxvOiBtZWphIGl6bWVuamFsbmVnYSBwcm9zdG9yYSBwb3N0YXZsamVuYSBuYSAlbGRLQlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2Ugc3dhcHNwYWNlIgorbXNnc3RyICIlcyBqZSBwcmlrbG9wbGplbjsgZGF0LiBzaXN0ZW1hIHphdG8gbmUgYm8gbmFyZWplbiEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDY4IHN5cy11dGlscy9zd2Fwb24uYzo1MjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBwZXJtaXNzaW9ucyAlMDRvLCAlMDRvIHN1Z2dlc3RlZC4iCittc2dzdHIgIiVzOiBvcG96b3JpbG86ICVzIGltYSBuZXZhcm5hIGRvdm9samVuamEgJTA0bywgc3ZldHVqZW0gJTA0b1xuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ3MiBzeXMtdXRpbHMvc3dhcG9uLmM6NTMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgZmlsZSBvd25lciAlZCwgMCAocm9vdCkgc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IG9wb3pvcmlsbzogJXMgaW1hIG5ldmFybmEgZG92b2xqZW5qYSAlMDRvLCBzdmV0dWplbSAlMDRvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDg3Cittc2dpZCAiVW5hYmxlIHRvIHNldCB1cCBzd2FwLXNwYWNlOiB1bnJlYWRhYmxlIgorbXNnc3RyICJJem1lbmphbG5lZ2EgcHJvc3RvcmEgbmkgbW9nb+hlIG5hc3Rhdml0aTogbmViZXJsaml2IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyB1cCBzd2Fwc3BhY2UgdmVyc2lvbiAlZCwgc2l6ZSA9ICVzICglPFBSSXU2ND4gYnl0ZXMpXG4iCittc2dzdHIgIlByaXByYXZsamFtbyBpem1lbmphbG5pIHByb3N0b3IgcmF6bGnoaWNlICVkLCB2ZWxpa29zdCA9ICVsbHUga0JcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gb2J0YWluIHNlbGludXggZmlsZSBsYWJlbCIKK21zZ3N0ciAiaXptZW5qYWxuZSBuYXByYXZlIG5pIG1vZ2/oZSBwcmV2aXRpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxNQorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gbWF0Y2hwYXRoY29uKCkiCittc2dzdHIgInN0YW5qYSAlcyBuaSBtb2dv6GUgZG9iaXRpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxOAorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIG5ldyBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgInphcGlzIGlub2RvdiBuaSB1c3BlbCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjAKK21zZ2lkICJjb3VsZG4ndCBjb21wdXRlIHNlbGludXggY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlbGFiZWwgJXMgdG8gJXMiCittc2dzdHIgIm5pIG1vZ2/oZSBwcmVpbWVub3ZhdGkgJXMgdiAlczogJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg2CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIql0ZXZpbGthIHJhemRlbGthIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODcKKyMsIGZ1enp5Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICJTYW1vIGl6cGlzIHRhYmVsZSByYXpkZWxrb3YiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OAorIywgZnV6enkKK21zZ2lkICJlbmQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICJOZXVzcGW5bm8gemFwaXNvdmFuamUgcmF6ZGVsa2EgbmEgJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg5CisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICKpdGV2aWxvIHNla3RvcmpldiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkwCittc2dpZCAiaHVtYW4gcmVhZGFibGUgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTEKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIG5hbWUiCittc2dzdHIgIql0ZXZpbGthIHJhemRlbGthIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA4IG1pc2MtdXRpbHMvbHNibGsuYzoxNjgKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiIKKyJcbiIKKyIlZCByYXpkZWxrb3Y6XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MworIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUgdHlwZSAoZG9zLCBncHQsIC4uLikiCittc2dzdHIgIlRhYmVsYSByYXpkZWxrb3Ygc2UgemFwaXN1amUgbmEgZGlzay4uLiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk0IG1pc2MtdXRpbHMvbHNibGsuYzoxNjkKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIGZsYWdzIgorbXNnc3RyICIiCisiXG4iCisiJWQgcmF6ZGVsa292OlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTUKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSAoYSBzdHJpbmcsIGEgVVVJRCwgb3IgaGV4KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTE0IHN5cy11dGlscy9sb3NldHVwLmM6NTA4IHN5cy11dGlscy9sb3NldHVwLmM6NjE2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BjeHQiCittc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYS5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IGlza2FuamUgcHJvc3RlIGxvb3AgbmFwcmF2ZSBuaSBiaWxvIHVzcGW5bm9cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvIHVzZSAnJXMnIGZvciB0aGUgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAibW91bnQ6IGxvb3AgbmFwcmF2YSAlcyBibyB1cG9yYWJsamVuYVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBiYWNraW5nIGZpbGUiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTMxIHN5cy11dGlscy9sb3NldHVwLmM6NTUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB1cCBsb29wIGRldmljZSIKK21zZ3N0ciAiaXptZW5qYWxuZSBuYXByYXZlIG5pIG1vZ2/oZSBwcmV2aXRpIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTYxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzA3IG1pc2MtdXRpbHMvZmluZG1udC5jOjM3NgorIzogbWlzYy11dGlscy9sc2Jsay5jOjM1NCBtaXNjLXV0aWxzL2xzbG9ja3MuYzozNDIgc3lzLXV0aWxzL2xvc2V0dXAuYzoxMDcKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM3MiBzeXMtdXRpbHMvbHNpcGMuYzoyMzIgc3lzLXV0aWxzL2xzbnMuYzoxODkKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjc3IHN5cy11dGlscy9zd2Fwb24uYzoxNDcgc3lzLXV0aWxzL3dkY3RsLmM6MTUxCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjE0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICIlczogTmV6bmFuIHVrYXo6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgImlza2FuamUgbmkgdXNwZWxvIHYgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjg2IGRpc2stdXRpbHMvcGFydHguYzozMjQgZGlzay11dGlscy9wYXJ0eC5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZpZWQgcmFuZ2UgPCVkOiVkPiBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmFuZ2UgcmVjb3VudDogbWF4IHBhcnRubz0lZCwgbG93ZXI9JWQsIHVwcGVyPSVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiSXpicmFuIHJhemRlbGVrICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVtb3ZlZFxuIgorbXNnc3RyICJOb2JlbiByYXpkZWxlayBuaSBkb2xv6GVuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGRvZXNuJ3QgZXhpc3RcbiIKK21zZ3N0ciAiVGEgcmF6ZGVsZWsgvmUgb2JzdGFqYS5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRlbGV0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICJJemJyYW4gcmF6ZGVsZWsgJWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIm5pIHZzZWJvdmFuIHYgcmF6ZGVsa3UgJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICJPcG96b3JpbG86IHJhemRlbGtpICVzICIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQwNSBkaXNrLXV0aWxzL3BhcnR4LmM6NTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBhZGRlZFxuIgorbXNnc3RyICJOb2JlbiByYXpkZWxlayBuaSBkb2xv6GVuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIkl6YnJhbiByYXpkZWxlayAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiT3Bvem9yaWxvOiByYXpkZWxraSAlcyAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBwYXJ0aXRpb24gIyVkIgorbXNnc3RyICJOb2JlbiByYXpkZWxlayBuaSBkb2xv6GVuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlc2l6ZWRcbiIKK21zZ3N0ciAiTm9iZW4gcmF6ZGVsZWsgbmkgZG9sb+hlblxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdXBkYXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIkl6YnJhbiByYXpkZWxlayAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWN0b3IsICU2anUgTUIpXG4iCittc2dpZF9wbHVyYWwgIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWN0b3JzLCAlNmp1IE1CKVxuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU4MSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2ODggbWlzYy11dGlscy9maW5kbW50LmM6NzA1CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozOTEgc3lzLXV0aWxzL2xzbnMuYzo0NTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBsaW5lIHRvIG91dHB1dCIKK21zZ3N0ciAiWmEgbWVkcG9tbmlsbmlrIG5pIG1vZ2/oZSBkb2RlbGl0aSBwb21uaWxuaWthLlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjQ0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhZGQgZGF0YSB0byBvdXRwdXQgdGFibGUiCittc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYS5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY2NyBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjkyMiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTg1CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg3NCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NTEgc3lzLXV0aWxzL2xvc2V0dXAuYzozMTAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MTMgc3lzLXV0aWxzL2xzaXBjLmM6MzM4IHN5cy11dGlscy9sc25zLmM6NTExCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI5NyBzeXMtdXRpbHMvc3dhcG9uLmM6MjgwIHN5cy11dGlscy93ZGN0bC5jOjI1OQorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo0ODQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NzggbWlzYy11dGlscy9maW5kbW50LmM6MTYxMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5NgorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDY1IHN5cy11dGlscy9sb3NldHVwLmM6MzIyIHN5cy11dGlscy9sb3NldHVwLmM6MzU4CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzE4IHN5cy11dGlscy9sc25zLmM6NTMyIHN5cy11dGlscy9wcmxpbWl0LmM6MzA2CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjg5IHN5cy11dGlscy93ZGN0bC5jOjI3MCBzeXMtdXRpbHMvenJhbWN0bC5jOjQ5MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIGZpbHRlciBmb3IgJyVzJyIKK21zZ3N0ciAiWmEgbWVkcG9tbmlsbmlrIG5pIG1vZ2/oZSBkb2RlbGl0aSBwb21uaWxuaWthLlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJwb25vdm5vIHByZWJlcmkgdGFiZWxvIHJhemRlbGtvdiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB0eXBlICclcycgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiICAgcCAgIGl6cGm5aSBCU0QtamV2byB0YWJlbG8gcmF6ZGVsa292IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHdpdGggbm8gcGFydGl0aW9ucyIKK21zZ3N0ciAiRGlzayAlcyBuZSB2c2VidWplIHZlbGphdm5lIHRhYmVsZSByYXpkZWxrb3ZcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0aXRpb24+XSA8ZGlzaz5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzU2Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBwcmVzZW5jZSBhbmQgbnVtYmVyaW5nIG9mIHBhcnRpdGlvbnMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1OQorbXNnaWQgIiAtYSwgLS1hZGQgICAgICAgICAgICBhZGQgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYwCittc2dpZCAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIGRlbGV0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjEKK21zZ2lkICIgLXUsIC0tdXBkYXRlICAgICAgICAgdXBkYXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MgorIywgZnV6enkKK21zZ2lkICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgIGxpc3QgcGFydGl0aW9uc1xuIgorIlxuIgorbXNnc3RyICIgICAgICAgICAgICAgIHBhcmFtZXRyaVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYzIG1pc2MtdXRpbHMvbHNibGsuYzoxNjIzCittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NAorbXNnaWQgIiAtZywgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1zaG93XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NQorbXNnaWQgIiAtbiwgLS1uciA8bjptPiAgICAgICBzcGVjaWZ5IHRoZSByYW5nZSBvZiBwYXJ0aXRpb25zIChlLmcuIC0tbnIgMjo0KVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjYKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW5peml6YmlyICAgICAgIEtyYXRrZSBpemJpcmUgemEgcHJlcG96bmF2b1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY3IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM3CisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OCBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzOAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICBzcGVjaWZ5IHRoZSBwYXJ0aXRpb24gdHlwZSAoZG9zLCBic2QsIHNvbGFyaXMsIGV0Yy4pXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzYKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93LCAtLXJhdyBvciAtLXBhaXJzKTpcbiIKK21zZ3N0ciAiUmF6cG9sb75saml2aSB1a2F6aTpcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg0OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS1uciA8TS1OPiByYW5nZSIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MjQKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIGFuZCBkaXNrIG5hbWUgZG8gbm90IG1hdGNoIgorbXNnc3RyICIiCisiVGFiZWxhIHJhemRlbGtvdiBqZSBiaWxhIHNwcmVtZW5qZW5hIVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTUyCittc2dpZCAiLS1uciBhbmQgPHBhcnRpdGlvbj4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTcxCisjLCBjLWZvcm1hdAorbXNnaWQgInBhcnRpdGlvbjogJXMsIGRpc2s6ICVzLCBsb3dlcjogJWQsIHVwcGVyOiAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlIHBhcnRpdGlvbnMiCittc2dzdHIgIlByYXpuZWdhIHJhemRlbGthIHNlIG5lIG1vcmUgemJyaXNhdGkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIHByb2JlciIKK21zZ3N0ciAiWmEgbWVkcG9tbmlsbmlrIG5pIG1vZ2/oZSBkb2RlbGl0aSBwb21uaWxuaWthLlxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyAlMiRzcmF3TiA8bWFqb3I+IDxtaW5vcj5cbiIKKyIgJTEkcyAlMiRzcmF3TiAvZGV2LzxibG9ja2RldmljZT5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTgKK21zZ2lkICJCaW5kIGEgcmF3IGNoYXJhY3RlciBkZXZpY2UgdG8gYSBibG9jayBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MQorbXNnaWQgIiAtcSwgLS1xdWVyeSAgICBzZXQgcXVlcnkgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjIKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgcXVlcnkgYWxsIHJhdyBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgdGhlIGNvbnRyb2wgcmF3IGRldmljZSAodXNlIHJhdzxOPiB3aGVyZSA8Tj4gaXMgZ3JlYXRlciB0aGFuIHplcm8pIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIGJsb2NrIGRldmljZSAnJXMnIgorbXNnc3RyICJPbWVqaXR2ZW5lIGRhdG90ZWtlICVzIG5pIG1vZ2/oZSB6YWtsZW5pdGk6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIk9wb3pvcmlsbzogJXMgbmkgYmxva292bmEgbmFwcmF2YVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE5MyBkaXNrLXV0aWxzL3Jhdy5jOjE5NiBzeXMtdXRpbHMvaXBjcm0uYzozNTEKKyM6IHN5cy11dGlscy9pcGNybS5jOjM2NCBzeXMtdXRpbHMvaXBjcm0uYzozNzcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGFyZ3VtZW50IgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuIG1hc3RlciByYXcgZGV2aWNlICclcyciCittc2dzdHIgInN0YW5qYSBuYXByYXZlICVzIG5pIG1vZ2/oZSBkb2JpdGkiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAic3RhbmphIG5hcHJhdmUgJXMgbmkgbW9nb+hlIGRvYml0aSIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJhdyBkZXZpY2UgJyVzJyBpcyBub3QgYSBjaGFyYWN0ZXIgZGV2IgorbXNnc3RyICIvZGV2LyVzOiBuaSB6bmFrb3ZuYSBuYXByYXZhIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgcmF3IGRldiIKK21zZ3N0ciAiJXMgbmkgcG9zZWJuYSBibG/obmEgbmFwcmF2YSIKKworIzogZGlzay11dGlscy9yYXcuYzoyNDUKKyMsIGZ1enp5Cittc2dpZCAiRXJyb3IgcXVlcnlpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAibmFwYWthIHByaSB6YXVzdGF2bGphbmp1IHN0b3JpdHZlOiBcIiVzXCIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjU0IGRpc2stdXRpbHMvcmF3LmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzcmF3JWQ6ICBib3VuZCB0byBtYWpvciAlZCwgbWlub3IgJWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI2OAorIywgZnV6enkKK21zZ2lkICJFcnJvciBzZXR0aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIm5hcGFrYSBwcmkgemF1c3RhdmxqYW5qdSBzdG9yaXR2ZTogXCIlc1wiIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxsZW5ndGg+XG4iCittc2dzdHIgInVwb3JhYmE6IHNmZGlzayAtLWlkIG5hcHJhdmEguXQuIHJhemRlbGthIFtJZF1cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjMKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBudW1iZXIgJXMiCittc2dzdHIgImlza2FuamUgbmkgdXNwZWxvIHYgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24iCittc2dzdHIgInBvbm92bm8gcHJlYmVyaSB0YWJlbG8gcmF6ZGVsa292IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIzMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbmVzdGVkIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyOTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZWVrICVzIgorbXNnc3RyICJ2ZWppdGV2IG5pIG1vZ2/oYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDIgbGliZmRpc2svc3JjL2JzZC5jOjcyMyBsaWJmZGlzay9zcmMvYnNkLmM6ODk0CisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE2MyBzeXMtdXRpbHMvaHdjbG9jay5jOjE2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlICVzIgorbXNnc3RyICJuaSBtb2dv6GUgb2RwcmV0aSAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTEycyAob2Zmc2V0ICU1anUsIHNpemUgJTVqdSk6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCIKK21zZ3N0ciAic3RyYW5pIHMgcG9kcGlzb20gbmkgbW9nb+hlIHphcGlzYXRpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMyOAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIGZpbGUsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAic3RyYW5pIHMgcG9kcGlzb20gbmkgbW9nb+hlIHphcGlzYXRpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM1NAorbXNnaWQgIkJhY2t1cCBmaWxlczoiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozNzkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbmV3IHBhcnRpdGlvbiBmcm9tIGRldmljZTsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgInBvbm92bm8gcHJlYmVyaSB0YWJlbG8gcmF6ZGVsa292IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJpc2thbmplIG5pIHVzcGVsbyB2IHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImlza2FuamUgbmkgdXNwZWxvIHYgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJpc2thbmplIG5pIHVzcGVsbyB2IHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImlza2FuamUgbmkgdXNwZWxvIHYgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4OQorIywgZnV6enkKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGhhcyBub3QgYmVlbiBtb3ZlZDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImlza2FuamUgbmkgdXNwZWxvIHYgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM5MQorbXNnaWQgIm5ldyBwYXJ0aXRpb24gaXMgc21hbGxlciB0aGFuIG9yaWdpbmFsOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0MQorbXNnaWQgIkRhdGEgbW92ZToiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiB0eXBlc2NyaXB0IGZpbGU6ICVzIgorbXNnc3RyICJEYXRvdGVrZSAsJXNgIG5pIG1vZ2/oZSBvZHByZXRpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICIgb2xkIHN0YXJ0OiAlanUsIG5ldyBzdGFydDogJWp1IChtb3ZlICVqdSBzZWN0b3JzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUxCisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIG1vdmUgcGFydGl0aW9uIGRhdGE/IgorbXNnc3RyICJBbGkgvmVsaXRlIHphcGlzYXRpIHRvIG5hIGRpc2s/IFt5bnFdICIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTMgZGlzay11dGlscy9zZmRpc2suYzoxNzgzCittc2dpZCAiTGVhdmluZy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1MjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gbW92ZSBkYXRhIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDEKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBpcyB1bmNoYW5nZWQgKC0tbm8tYWN0KS4iCittc2dzdHIgIiIKKyJUYWJlbGEgcmF6ZGVsa292IGplIGJpbGEgc3ByZW1lbmplbmEhXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQ3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICIiCisiVGFiZWxhIHJhemRlbGtvdiBqZSBiaWxhIHNwcmVtZW5qZW5hIVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbGFiZWwgJyVzJyIKK21zZ3N0ciAiJXM6IG5lem5hbiBhcmd1bWVudDogJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MjYKK21zZ2lkICIiCisiSWQgIE5hbWVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIklkICBJbWVcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2NTYKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorbXNnc3RyICIgJXM6IG5lcHJlcG96bmFuIHRpcCB0YWJlbGUgcmF6ZGVsa292IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjcwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICJWZWxpa29zdGkgJXMgbmkgbW9nb+hlIHVnb3Rvdml0aVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidG90YWw6ICVqdSBibG9ja3NcbiIKK21zZ3N0ciAic2t1cG5vOiAlbGx1IGJsb2tvdlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgwOCBkaXNrLXV0aWxzL3NmZGlzay5jOjg3NiBkaXNrLXV0aWxzL3NmZGlzay5jOjkxNworIzogZGlzay11dGlscy9zZmRpc2suYzo5NDcgZGlzay11dGlscy9zZmRpc2suYzoxMDE0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA3OAorIzogZGlzay11dGlscy9zZmRpc2suYzoxMTMzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE4OSBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MzMKKyMsIGZ1enp5Cittc2dpZCAibm8gZGlzayBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJtb3VudDogbG9vcCBuYXByYXZhIGplIHBvZGFuYSBkdmFrcmF0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgxOQorbXNnaWQgInRvZ2dsZSBib290IGZsYWdzIGlzIHN1cHBvcnRlZCBmb3IgTUJSIG9ubHkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NTAgZGlzay11dGlscy9zZmRpc2suYzo4OTYgZGlzay11dGlscy9zZmRpc2suYzoxMDE5CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODMgZGlzay11dGlscy9zZmRpc2suYzoxMTM4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5NAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTMxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiaXNrYW5qZSBuaSB1c3BlbG8gdiB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJWQ6IGZhaWxlZCB0byB0b2dnbGUgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg5MSBkaXNrLXV0aWxzL3NmZGlzay5jOjg5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBkZWxldGUiCittc2dzdHIgImlza2FuamUgbmkgdXNwZWxvIHYgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiRGlzayAlcyBuZSB2c2VidWplIHZlbGphdm5lIHRhYmVsZSByYXpkZWxrb3ZcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NTgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGR1bXAgc3RydWN0IgorbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGR1bXAgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJwb25vdm5vIHByZWJlcmkgdGFiZWxvIHJhemRlbGtvdiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBwYXJ0aXRpb24gdGFibGUgZm91bmQiCittc2dzdHIgIk5pIHRhYmVsZSByYXpkZWxrb3YuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIHRhYmxlIGNvbnRhaW5zIG9ubHkgJXp1IHBhcnRpdGlvbnMiCittc2dzdHIgIkRpc2sgJXMgbmUgdnNlYnVqZSB2ZWxqYXZuZSB0YWJlbGUgcmF6ZGVsa292XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIGlzIHVudXNlZCIKK21zZ3N0ciAiT3Bvem9yaWxvOiByYXpkZWxlayAlZCBwcmVrcml2YSByYXpkZWxlayAlZC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDE4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4MiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzcKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5MworIywgZnV6enkKK21zZ2lkICJubyBwYXJ0aXRpb24gbnVtYmVyIHNwZWNpZmllZCIKK21zZ3N0ciAiSXpiaXJhIC0tZGF0ZSBuaSBiaWxhIHBvZGFuYS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4OCBkaXNrLXV0aWxzL3NmZGlzay5jOjExNDMKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5OQorIywgZnV6enkKK21zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50cyIKK21zZ3N0ciAibmFqLiC5dC4gb2RzZWtvdiA9ICVsdVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJpc2thbmplIG5pIHVzcGVsbyB2IHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgcGFydGl0aW9uIHR5cGUgJyVzJyIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIkRpc2sgJXMgbmUgdnNlYnVqZSB2ZWxqYXZuZSB0YWJlbGUgcmF6ZGVsa292XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIkRpc2sgJXMgbmUgdnNlYnVqZSB2ZWxqYXZuZSB0YWJlbGUgcmF6ZGVsa292XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTExMyBkaXNrLXV0aWxzL3NmZGlzay5jOjExNjggZGlzay11dGlscy9zZmRpc2suYzoxMjIyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gb2JqZWN0IgorbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTExNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIkRpc2sgJXMgbmUgdnNlYnVqZSB2ZWxqYXZuZSB0YWJlbGUgcmF6ZGVsa292XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgImlza2FuamUgbmkgdXNwZWxvIHYgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJpc2thbmplIG5pIHVzcGVsbyB2IHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gYXR0cmlidXRlcyIKK21zZ3N0ciAiRGlzayAlcyBuZSB2c2VidWplIHZlbGphdm5lIHRhYmVsZSByYXpkZWxrb3ZcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjY5CisjLCBmdXp6eQorbXNnaWQgIiBDb21tYW5kczpcbiIKK21zZ3N0ciAiUmF6cG9sb75saml2aSB1a2F6aTpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjcxCisjLCBmdXp6eQorbXNnaWQgIiAgIHdyaXRlICAgIHdyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgdyAgIHphcGm5aSB0YWJlbG8gcmF6ZGVsa292IG5hIGRpc2sgaW4ga29u6GFqIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzIKK21zZ2lkICIgICBxdWl0ICAgICBzaG93IG5ldyBzaXR1YXRpb24gYW5kIHdhaXQgZm9yIHVzZXIncyBmZWVkYmFjayBiZWZvcmUgd3JpdGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzMKK21zZ2lkICIgICBhYm9ydCAgICBleGl0IHNmZGlzayBzaGVsbFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3NAorIywgZnV6enkKK21zZ2lkICIgICBwcmludCAgICBkaXNwbGF5IHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiICAgcCAgIGl6cGm5aSBCU0QtamV2byB0YWJlbG8gcmF6ZGVsa292IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzUKKyMsIGZ1enp5Cittc2dpZCAiICAgaGVscCAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3NworbXNnaWQgIiAgIEN0cmwtRCAgIHRoZSBzYW1lIGFzICdxdWl0J1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MQorbXNnaWQgIiBJbnB1dCBmb3JtYXQ6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjgzCittc2dpZCAiICAgPHN0YXJ0PiwgPHNpemU+LCA8dHlwZT4sIDxib290YWJsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODYKK21zZ2lkICIiCisiICAgPHN0YXJ0PiAgQmVnaW5uaW5nIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIHRoZSBmaXJzdCBmcmVlIHNwYWNlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MQorbXNnaWQgIiIKKyIgICA8c2l6ZT4gICBTaXplIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIGFsbCBhdmFpbGFibGUgc3BhY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk2Cittc2dpZCAiICAgPHR5cGU+ICAgVGhlIHBhcnRpdGlvbiB0eXBlLiAgRGVmYXVsdCBpcyBhIExpbnV4IGRhdGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NworbXNnaWQgIiAgICAgICAgICAgIE1CUjogaGV4IG9yIEwsUyxFLFggc2hvcnRjdXRzLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5OAorbXNnaWQgIiAgICAgICAgICAgIEdQVDogVVVJRCBvciBMLFMsSCBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzAxCisjLCBmdXp6eQorbXNnaWQgIiAgIDxib290YWJsZT4gIFVzZSAnKicgdG8gbWFyayBhbiBNQlIgcGFydGl0aW9uIGFzIGJvb3RhYmxlLlxuIgorbXNnc3RyICJOZSBib3N0ZSBtb2dsaSB6YXBpc2F0aSB0YWJlbGUgcmF6ZGVsa292LlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDUKK21zZ2lkICIgRXhhbXBsZTpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDcKKyMsIGZ1enp5Cittc2dpZCAiICAgLCA0RyAgICAgQ3JlYXRlcyBhIDRHaUIgcGFydGl0aW9uIGF0IGRlZmF1bHQgc3RhcnQgb2Zmc2V0LlxuIgorbXNnc3RyICIgIG4gICAgICAgICAgVXN0dmFyaSBub3YgcmF6ZGVsZWsgbmEgbmV6YXNlZGVuZWdhIHByb3N0b3JhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMzkgc3lzLXV0aWxzL2RtZXNnLmM6MTQ1NQorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICJuaSB1a2F6YT9cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICJuaSB1a2F6YT9cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTAwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAicG9ub3ZubyBwcmViZXJpIHRhYmVsbyByYXpkZWxrb3YiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU0MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IG5vIHBhcnRpdGlvbiB0YWJsZSB3YXMgZm91bmQiCittc2dzdHIgInBvbm92bm8gcHJlYmVyaSB0YWJlbG8gcmF6ZGVsa292IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogcGFydGl0aW9uIHRhYmxlIGNvbnRhaW5zIG9ubHkgJXp1IHBhcnRpdGlvbnMiCittc2dzdHIgIkRpc2sgJXMgbmUgdnNlYnVqZSB2ZWxqYXZuZSB0YWJlbGUgcmF6ZGVsa292XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXM6IHBhcnRpdGlvbiAlZCBpcyBub3QgZGVmaW5lZCB5ZXQiCittc2dzdHIgIk5vYmVuIHJhemRlbGVrILllIG5pIGRvbG/oZW4hXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiV2VsY29tZSB0byBzZmRpc2sgKCVzKS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTk0CisjLCBmdXp6eQorbXNnaWQgIkNoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIgorbXNnc3RyICJQcmV2ZXJqYW0sIGRhIG5paOhlIG5lIHVwb3JhYmxqYSB0ZWdhIGRpc2thIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTcKK21zZ2lkICIiCisiIEZBSUxFRFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwMAorIywgZnV6enkKK21zZ2lkICIiCisiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UgLSByZXBhcnRpdGlvbmluZyBpcyBwcm9iYWJseSBhIGJhZCBpZGVhLlxuIgorIlVtb3VudCBhbGwgZmlsZSBzeXN0ZW1zLCBhbmQgc3dhcG9mZiBhbGwgc3dhcCBwYXJ0aXRpb25zIG9uIHRoaXMgZGlzay5cbiIKKyJVc2UgdGhlIC0tbm8tcmVyZWFkIGZsYWcgdG8gc3VwcHJlc3MgdGhpcyBjaGVjay5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlRhIGRpc2sgamUgdHJlbnV0bm8gdiByYWJpIC0gcG9ub3ZubyByYXpkZWxqZXZhbmplIGplIHZlcmpldG5vIHNsYWJhIGlkZWphLlxuIgorIk9ka2xvcGl0ZSB2c2UgZGF0LiBzaXN0ZW1lIGluIGl6a2xqdehpdGUgdnNlIGl6bWVuamFsbmUgcmF6ZGVsa2UgbmEgdGVtIGRpc2t1LlxuIgorIlVwb3JhYml0ZSAtLW5vLXJlcmVhZCB6YXN0YXZpY28gZGEgaXprbGp16Gl0ZSB0byBwcmV2ZXJqYW5qZS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjA1CisjLCBmdXp6eQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIgorbXNnc3RyICJVcG9yYWJpdGUgLS1mb3JjZSBpemJpcm8gZGEgb2JpZGV0ZSB2c2EgcHJldmVyamFuamEuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNworIywgZnV6enkKK21zZ2lkICIiCisiIE9LXG4iCisiXG4iCittc2dzdHIgIiVzOiBWcmVkdVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzYKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIk9sZCBzaXR1YXRpb246IgorbXNnc3RyICJTdGFybyBzdGFuamU6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY1NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisic2ZkaXNrIGlzIGdvaW5nIHRvIGNyZWF0ZSBhIG5ldyAnJXMnIGRpc2sgbGFiZWwuXG4iCisiVXNlICdsYWJlbDogPG5hbWU+JyBiZWZvcmUgeW91IGRlZmluZSBhIGZpcnN0IHBhcnRpdGlvblxuIgorInRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NTcKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlR5cGUgJ2hlbHAnIHRvIGdldCBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJQb3NrdXNpdGUgYGdldG9wdCAtLWhlbHAnIHphIHZl6CBpbmZvcm1hY2lqLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NzUKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgdXNlZC4iCittc2dzdHIgIk5vYmVuIHJhemRlbGVrIG5pIGJpbCBuYWpkZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzAzCisjLCBmdXp6eQorbXNnaWQgIkRvbmUuXG4iCittc2dzdHIgIiIKKyJPcHJhdmxqZW5vXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcxNQorIywgZnV6enkKK21zZ2lkICJJZ25vcmluZyBwYXJ0aXRpb24uIgorbXNnc3RyICJOZSB1c3R2YXJpIHJhemRlbGthIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MjQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCBoZWFkZXJzLCBkaXNrIGxhYmVsIG5vdCBjcmVhdGVkLiIKK21zZ3N0ciAiaXNrYW5qZSBuaSB1c3BlbG8gdiB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCAjJWQgcGFydGl0aW9uIgorbXNnc3RyICJwb25vdm5vIHByZWJlcmkgdGFiZWxvIHJhemRlbGtvdiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzYzCittc2dpZCAiU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzcyCisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJOZXcgc2l0dWF0aW9uOiIKK21zZ3N0ciAiTm92byBzdGFuamU6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc4MQorIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byB3cml0ZSB0aGlzIHRvIGRpc2s/IgorbXNnc3RyICJBbGkgvmVsaXRlIHphcGlzYXRpIHRvIG5hIGRpc2s/IFt5bnFdICIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzkzCittc2dpZCAiTGVhdmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAidXBvcmFiYTogbmFtZWkgWy1teF0gaW1lbmlrIFtpbWVuaWsgLi4uXVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTIKK21zZ2lkICIiCisiXG4iCisiQ29tbWFuZHM6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEzCittc2dpZCAiIC1BLCAtLWFjdGl2YXRlIDxkZXY+IFs8cGFydD4gLi4uXSBsaXN0IG9yIHNldCBib290YWJsZSBNQlIgcGFydGl0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZHVtcCA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlICh1c2FibGUgZm9yIGxhdGVyIGlucHV0KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE1CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgaW4gSlNPTiBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNgorbXNnaWQgIiAtZywgLS1zaG93LWdlb21ldHJ5IFs8ZGV2PiAuLi5dICAgbGlzdCBnZW9tZXRyeSBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTcKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgWzxkZXY+IC4uLl0gICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTgKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLWxpc3QtZnJlZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHVucGFydGl0aW9uZWQgZnJlZSBhcmVhcyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxOQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVvcmRlciA8ZGV2PiAgICAgICAgICAgICAgIGZpeCBwYXJ0aXRpb25zIG9yZGVyIChieSBzdGFydCBvZmZzZXQpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjAKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNob3ctc2l6ZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHNpemVzIG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1ULiAtLXRlc3QgICAgICAgICAgICAgICAgICAgVGVzdCB6YSByYXpsaehpY28gZ2V0b3B0KDEpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMQorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByZWNvZ25pemVkIHR5cGVzIChzZWUgLVgpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjIKKyMsIGZ1enp5Cittc2dpZCAiIC1WLCAtLXZlcmlmeSBbPGRldj4gLi4uXSAgICAgICAgICB0ZXN0IHdoZXRoZXIgcGFydGl0aW9ucyBzZWVtIGNvcnJlY3RcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjMKK21zZ2lkICIgICAgIC0tZGVsZXRlIDxkZXY+IFs8cGFydD4gLi4uXSAgIGRlbGV0ZSBhbGwgb3Igc3BlY2lmaWVkIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjYKK21zZ2lkICIgLS1wYXJ0LWxhYmVsIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gbGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjcKK21zZ2lkICIgLS1wYXJ0LXR5cGUgPGRldj4gPHBhcnQ+IFs8dHlwZT5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdHlwZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyOAorIywgZnV6enkKK21zZ2lkICIgLS1wYXJ0LXV1aWQgPGRldj4gPHBhcnQ+IFs8dXVpZD5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdXVpZFxuIgorbXNnc3RyICIgICAgLWMgW2FsaSAtLWlkXTogICAgICAgaXpwablpIGFsaSBzcHJlbWVuaSBJZCByYXpkZWxrYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI5Cittc2dpZCAiIC0tcGFydC1hdHRycyA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGF0dHJpYnV0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzIKKyMsIGZ1enp5Cittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgZGV2aWNlICh1c3VhbGx5IGRpc2spIHBhdGhcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzMKKyMsIGZ1enp5Cittc2dpZCAiIDxwYXJ0PiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgICAgLU4jIDogICAgICAgICAgICAgICAgc3ByZW1lbmkgc2FtbyByYXpkZWxrZSBzILl0ZXZpbGtvICMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzNAorbXNnaWQgIiA8dHlwZT4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiB0eXBlLCBHVUlEIGZvciBHUFQsIGhleCBmb3IgTUJSXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM3CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgIGFwcGVuZCBwYXJ0aXRpb25zIHRvIGV4aXN0aW5nIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzgKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAgYmFja3VwIHBhcnRpdGlvbiB0YWJsZSBzZWN0b3JzIChzZWUgLU8pXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzOQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQwCittc2dpZCAiICAgICAtLW1vdmUtZGF0YVs9PHR5cGVzY3JpcHQ+XSBtb3ZlIHBhcnRpdGlvbiBkYXRhIGFmdGVyIHJlbG9jYXRpb24gKHJlcXVpcmVzIC1OKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZ1xuIgorbXNnc3RyICJWc2EgZG9zbGVkbm9zdG5hIHByZXZlcmphbmphIGxhaGtvIG9uZW1vZ2/oaXRlIHo6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NQorIywgZnV6enkKK21zZ2lkICIgLU4sIC0tcGFydG5vIDxudW0+ICAgICAgICBzcGVjaWZ5IHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiICAgIC1IIyBbYWxpIC0taGVhZHMgI106ICAgbmFzdGF2aSC5dGV2aWxvIGdsYXYiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NgorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB3cml0ZSB0byBkZXZpY2VcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NworIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIGlzIGluIHVzZVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ4CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIGRvIG5vdCB0ZWxsIGtlcm5lbCBhYm91dCBjaGFuZ2VzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBuZSB6YXBpuWkgc3ByZW1lbWIgbmEgZGlzayIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ5Cittc2dpZCAiIC1PLCAtLWJhY2t1cC1maWxlIDxwYXRoPiAgb3ZlcnJpZGUgZGVmYXVsdCBiYWNrdXAgZmlsZSBuYW1lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUwCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1uaXppemJpciAgICAgICBLcmF0a2UgaXpiaXJlIHphIHByZXBvem5hdm9cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUxCisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIGV4dHJhIGluZm8gbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAgIC1xICBbYWxpIC0tcXVpZXRdOiAgICAgbmUgcHJpa2G+aSBvcG96b3JpbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUyCisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTQKKyMsIGZ1enp5Cittc2dpZCAiIC1YLCAtLWxhYmVsIDxuYW1lPiAgICAgICAgc3BlY2lmeSBsYWJlbCB0eXBlIChkb3MsIGdwdCwgLi4uKVxuIgorbXNnc3RyICIgIC1zLCAgLS1zaGVsbD1sdXBpbmEgICAgICAgICAgTmFzdGF2aSBsdXBpbnNrbyBrb252ZW5jaWpvIGNpdGlyYW5qYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTUKK21zZ2lkICIgLVksIC0tbGFiZWwtbmVzdGVkIDxuYW1lPiBzcGVjaWZ5IG5lc3RlZCBsYWJlbCB0eXBlIChkb3MsIGJzZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTcKK21zZ2lkICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBkZXByZWNhdGVkLCBhbGlhcyB0byAtLXNob3ctZ2VvbWV0cnlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTgKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgZGVwcmVjYXRlZCwgb25seSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU5CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bml0IFMgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgc2VjdG9yIHVuaXQgaXMgc3VwcG9ydGVkXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjMgbG9naW4tdXRpbHMvY2hmbi5jOjEwMiBsb2dpbi11dGlscy9jaHNoLmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxOTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk3MworbXNnaWQgIi0taWQgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxOTg5Cittc2dpZCAiLS1zaG93LXB0LWdlb21ldHJ5IGlzIG5vIG1vcmUgaW1wbGVtZW50ZWQuIFVzaW5nIC0tc2hvdy1nZW9tZXRyeS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDAwCittc2dpZCAiLS1MaW51eCBvcHRpb24gaXMgdW5uZWNlc3NhcnkgYW5kIGRlcHJlY2F0ZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0ICclYyciCittc2dzdHIgIiVzOiBuZXpuYW4gYXJndW1lbnQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAzMiBpbmNsdWRlL2MuaDozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlc1xuIgorbXNnc3RyICIlcyBpeiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIxMDkKK21zZ2lkICItLW1vdmVkYXRhIHJlcXVpcmVzIC1OIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBVVUlEOiAlcyIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIFVVSUQiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIFVVSUQiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBsYWJlbCAiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgImxhYmVsIGlzIHRvbyBsb25nLiBUcnVuY2F0aW5nIGl0IHRvICclcyciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBsYWJlbCIKK21zZ3N0ciAiaXNrYW5qZSBuaSB1c3BlbG8gdiB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTIxCittc2dpZCAiRGlzcGxheSBvciBjaGFuZ2UgdGhlIGxhYmVsIG9yIFVVSUQgb2YgYSBzd2FwIGFyZWEuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjQKK21zZ2lkICIiCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gc3BlY2lmeSBhIG5ldyBsYWJlbFxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgIHNwZWNpZnkgYSBuZXcgdXVpZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTY3Cittc2dpZCAiaWdub3JlIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQpIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjI5OQorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCittc2dzdHIgIlVwb3JhYmE6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwMAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHJhemRlbGtvdjpcbiIKKworIzogaW5jbHVkZS9jLmg6MzAyCittc2dpZCAiIC1oLCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jLmg6MzAzCisjLCBmdXp6eQorbXNnaWQgIiAtViwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkZvciBtb3JlIGRldGFpbHMgc2VlICVzLlxuIgorbXNnc3RyICJGaW5nZXIgaW5mb3JtYWNpamEgc3ByZW1lbmplbmEuXG4iCisKKyM6IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0NiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDggbG9naW4tdXRpbHMvdmlwdy5jOjI3MworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5MiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI4MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MDUKKyM6IHRleHQtdXRpbHMvY29sLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgIndyaXRlIGVycm9yIgorbXNnc3RyICJjb2w6IHBpc2FsbmEgbmFwYWthLlxuIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI3CisjLCBmdXp6eQorbXNnaWQgImNvbG9ycyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICJWcGlzIG5hICVzIGl6ICVzIGplIHphbmlrYW4ocHJpdnpldG8pLlxuIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI5CisjLCBmdXp6eQorbXNnaWQgImNvbG9ycyBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAiVnBpcyBuYSAlcyBpeiAlcyBqZSB6YW5pa2FuKHByaXZ6ZXRvKS5cbiIKKworIzogaW5jbHVkZS9lbnYuaDoxOCBsaWIvcGFnZXIuYzoxNTEgbG9naW4tdXRpbHMvbG9naW4uYzoxMDUyCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwNTYgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTI5CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICJOZXVzcGW5bm8gemFwaXNvdmFuamUgcmF6ZGVsa2EgbmEgJXNcbiIKKworIzogaW5jbHVkZS9vcHR1dGlscy5oOjgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdGhlc2Ugb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlOiIKK21zZ3N0ciAiJXM6IC0tYWRqdXN0IGluIC0tbm9hZGpmaWxlIGl6YmlyaSBzZSBtZWRzZWJvam5vIGl6a2xqdeh1amV0YS4gUG9kYWxpIHN0ZSBvYmUuXG4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEKK21zZ2lkICJFbXB0eSIKK21zZ3N0ciAiUHJhem5vIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyCittc2dpZCAiRkFUMTIiCittc2dzdHIgIkZBVDEyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozCittc2dpZCAiWEVOSVggcm9vdCIKK21zZ3N0ciAiWEVOSVgga29yZW5za2kiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQKK21zZ2lkICJYRU5JWCB1c3IiCittc2dzdHIgIlhFTklYIHVzciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NQorbXNnaWQgIkZBVDE2IDwzMk0iCittc2dzdHIgIkZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYKK21zZ2lkICJFeHRlbmRlZCIKK21zZ3N0ciAiUmF6uWlyamVuIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3Cittc2dpZCAiRkFUMTYiCittc2dzdHIgIkZBVDE2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4CisjLCBmdXp6eQorbXNnaWQgIkhQRlMvTlRGUy9leEZBVCIKK21zZ3N0ciAiSFBGUy9OVEZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5Cittc2dpZCAiQUlYIgorbXNnc3RyICJBSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwCittc2dpZCAiQUlYIGJvb3RhYmxlIgorbXNnc3RyICJBSVggemFnb25za2kiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjExCittc2dpZCAiT1MvMiBCb290IE1hbmFnZXIiCittc2dzdHIgIk9TLzIgemFnb25za2kgdXByYXZsamFsbmlrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMgorbXNnaWQgIlc5NSBGQVQzMiIKK21zZ3N0ciAiVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMworbXNnaWQgIlc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNAorbXNnaWQgIlc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNQorbXNnaWQgIlc5NSBFeHQnZCAoTEJBKSIKK21zZ3N0ciAiVzk1IFJherknYSAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTYKK21zZ2lkICJPUFVTIgorbXNnc3RyICJPUFVTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNworbXNnaWQgIkhpZGRlbiBGQVQxMiIKK21zZ3N0ciAiU2tyaXRpIEZBVDEyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOAorbXNnaWQgIkNvbXBhcSBkaWFnbm9zdGljcyIKK21zZ3N0ciAiQ29tcGFxIGRpYWdub3N0aWthIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOQorbXNnaWQgIkhpZGRlbiBGQVQxNiA8MzJNIgorbXNnc3RyICJTa3JpdGkgRkFUMTYgPDMyTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjAKK21zZ2lkICJIaWRkZW4gRkFUMTYiCittc2dzdHIgIlNrcml0aSBGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjEKK21zZ2lkICJIaWRkZW4gSFBGUy9OVEZTIgorbXNnc3RyICJTa3JpdGkgSFBGUy9OVEZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMgorbXNnaWQgIkFTVCBTbWFydFNsZWVwIgorbXNnc3RyICJBU1QgU21hcnRTbGVlcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjMKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIgorbXNnc3RyICJTa3JpdGkgVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNAorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIlNrcml0aSBXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI1Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiU2tyaXRpIFc5NSBGQVQxNiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjYKK21zZ2lkICJORUMgRE9TIgorbXNnc3RyICJORUMgRE9TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNworIywgZnV6enkKK21zZ2lkICJIaWRkZW4gTlRGUyBXaW5SRSIKK21zZ3N0ciAiU2tyaXRpIEhQRlMvTlRGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjgKK21zZ2lkICJQbGFuIDkiCittc2dzdHIgIlBsYW4gOSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjkKK21zZ2lkICJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIKK21zZ3N0ciAiUGFydGl0aW9uTWFnaWMgb2tyZXZhbG5pIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMAorbXNnaWQgIlZlbml4IDgwMjg2IgorbXNnc3RyICJWZW5peCA4MDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzEKK21zZ2lkICJQUEMgUFJlUCBCb290IgorbXNnc3RyICJQUEMgUFJlUCB6YWdvbnNraSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzIKK21zZ2lkICJTRlMiCittc2dzdHIgIlNGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzMKK21zZ2lkICJRTlg0LngiCittc2dzdHIgIlFOWDQueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzQKK21zZ2lkICJRTlg0LnggMm5kIHBhcnQiCittc2dzdHIgIlFOWDQueCAyLiBkZWwiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM1Cittc2dpZCAiUU5YNC54IDNyZCBwYXJ0IgorbXNnc3RyICJRTlg0LnggMy4gZGVsIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNgorbXNnaWQgIk9uVHJhY2sgRE0iCittc2dzdHIgIk9uVHJhY2sgRE0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM3Cittc2dpZCAiT25UcmFjayBETTYgQXV4MSIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzgKK21zZ2lkICJDUC9NIgorbXNnc3RyICJDUC9NIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOQorbXNnaWQgIk9uVHJhY2sgRE02IEF1eDMiCittc2dzdHIgIk9uVHJhY2sgRE02IEF1eDMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQwCittc2dpZCAiT25UcmFja0RNNiIKK21zZ3N0ciAiT25UcmFja0RNNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDEKK21zZ2lkICJFWi1Ecml2ZSIKK21zZ3N0ciAiRVotRHJpdmUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQyCittc2dpZCAiR29sZGVuIEJvdyIKK21zZ3N0ciAiR29sZGVuIEJvdyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDMKK21zZ2lkICJQcmlhbSBFZGlzayIKK21zZ3N0ciAiUHJpYW0gRWRpc2siCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkxCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OQorbXNnaWQgIlNwZWVkU3RvciIKK21zZ3N0ciAiU3BlZWRTdG9yIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NQorbXNnaWQgIkdOVSBIVVJEIG9yIFN5c1YiCittc2dzdHIgIkdOVSBIVVJEIGFsaSBTeXNWIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NgorbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDI4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NworbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDM4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMzg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OAorbXNnaWQgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKK21zZ3N0ciAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OQorbXNnaWQgIlBDL0lYIgorbXNnc3RyICJQQy9JWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTAKK21zZ2lkICJPbGQgTWluaXgiCittc2dzdHIgIlN0YXJpIE1pbml4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MQorbXNnaWQgIk1pbml4IC8gb2xkIExpbnV4IgorbXNnc3RyICJNaW5peCAvIHN0YXJpIExpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MgorbXNnaWQgIkxpbnV4IHN3YXAgLyBTb2xhcmlzIgorbXNnc3RyICJMaW51eCBpem1lbmphbG5pIC8gU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTMKK21zZ2lkICJMaW51eCIKK21zZ3N0ciAiTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU0Cittc2dpZCAiT1MvMiBoaWRkZW4gb3IgSW50ZWwgaGliZXJuYXRpb24iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTcKK21zZ2lkICJMaW51eCBleHRlbmRlZCIKK21zZ3N0ciAiTGludXggcmF6uWlyamVuIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OQorbXNnaWQgIk5URlMgdm9sdW1lIHNldCIKK21zZ3N0ciAiTlRGUyBvYnNlZ25hIG1ub75pY2EiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYwCisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IHBsYWludGV4dCIKK21zZ3N0ciAiTGludXggcGxhaW50ZXh0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjA1IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MworIzogbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggTFZNIgorbXNnc3RyICJMaW51eCBMVk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYyCittc2dpZCAiQW1vZWJhIgorbXNnc3RyICJBbW9lYmEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYzCittc2dpZCAiQW1vZWJhIEJCVCIKK21zZ3N0ciAiQW1vZWJhIEJCVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjQKK21zZ2lkICJCU0QvT1MiCittc2dzdHIgIkJTRC9PUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjUKK21zZ2lkICJJQk0gVGhpbmtwYWQgaGliZXJuYXRpb24iCittc2dzdHIgIklCTSBUaGlua3BhZCBoaWJlcm5hdGlvbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjYKK21zZ2lkICJGcmVlQlNEIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NworbXNnaWQgIk9wZW5CU0QiCittc2dzdHIgIk9wZW5CU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY4Cittc2dpZCAiTmVYVFNURVAiCittc2dzdHIgIk5lWFRTVEVQIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OQorbXNnaWQgIkRhcndpbiBVRlMiCittc2dzdHIgIkRhcndpbiBVRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcwCittc2dpZCAiTmV0QlNEIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcxCittc2dpZCAiRGFyd2luIGJvb3QiCittc2dzdHIgIkRhcndpbiB6YWdvbnNraSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzIKKyMsIGZ1enp5Cittc2dpZCAiSEZTIC8gSEZTKyIKK21zZ3N0ciAiT1MvMiBIUEZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MworbXNnaWQgIkJTREkgZnMiCittc2dzdHIgIkJTREkgZGF0LiBzaXN0ZW0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc0Cittc2dpZCAiQlNESSBzd2FwIgorbXNnc3RyICJCU0RJIGl6bWVuamFsbmkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc1Cittc2dpZCAiQm9vdCBXaXphcmQgaGlkZGVuIgorbXNnc3RyICJza3JpdGkgQm9vdCBXaXp6YXJkIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NgorIywgZnV6enkKK21zZ2lkICJBY3JvbmlzIEZBVDMyIExCQSIKK21zZ3N0ciAiVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NyBsaWJmZGlzay9zcmMvZ3B0LmM6MjMwCittc2dpZCAiU29sYXJpcyBib290IgorbXNnc3RyICJTb2xhcmlzIHphZ29uc2tpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OAorbXNnaWQgIlNvbGFyaXMiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc5Cittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTIpIgorbXNnc3RyICJEUkRPUy9za3RyIChGQVQtMTIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MAorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKK21zZ3N0ciAiRFJET1Mvc2t0ciAoRkFULTE2IDwgMzJNKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODEKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNikiCittc2dzdHIgIkRSRE9TL3NrdHIgKEZBVC0xNikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgyCittc2dpZCAiU3lyaW54IgorbXNnc3RyICJTeXJpbngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgzCittc2dpZCAiTm9uLUZTIGRhdGEiCittc2dzdHIgIm5lZGF0b3Rl6G5vc2lzdGVtc2tpIHBvZGF0a2kiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg0Cittc2dpZCAiQ1AvTSAvIENUT1MgLyAuLi4iCittc2dzdHIgIkNQL00gLyBDVE9TIC8gLi4uIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NgorbXNnaWQgIkRlbGwgVXRpbGl0eSIKK21zZ3N0ciAiRGVsbCBVdGlsaXR5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NworbXNnaWQgIkJvb3RJdCIKK21zZ3N0ciAiQm9vdEl0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4OAorbXNnaWQgIkRPUyBhY2Nlc3MiCittc2dzdHIgIkRPUyBkb3N0b3AiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkwCittc2dpZCAiRE9TIFIvTyIKK21zZ3N0ciAiRE9TIHNhbW8gemEgYnJhbmplIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MworIywgZnV6enkKK21zZ2lkICJSdWZ1cyBhbGlnbm1lbnQiCittc2dzdHIgImNvbDogc2xhYiBhcmd1bWVudCAtbDogJXMuXG4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk0Cittc2dpZCAiQmVPUyBmcyIKK21zZ3N0ciAiQmVPUyBkYXQuIHNpc3QuIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NgorbXNnaWQgIkVGSSAoRkFULTEyLzE2LzMyKSIKK21zZ3N0ciAiRUZJIChGQVQtMTIvMTYvMzIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NworbXNnaWQgIkxpbnV4L1BBLVJJU0MgYm9vdCIKK21zZ3N0ciAiTGludXgvUEEtUklTQyB6YWdvbnNraSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAwCittc2dpZCAiRE9TIHNlY29uZGFyeSIKK21zZ3N0ciAiRE9TIHNla3VuZGFybmkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMQorbXNnaWQgIlZNd2FyZSBWTUZTIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMgorbXNnaWQgIlZNd2FyZSBWTUtDT1JFIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMyBsaWJmZGlzay9zcmMvc3VuLmM6NTUKK21zZ2lkICJMaW51eCByYWlkIGF1dG9kZXRlY3QiCittc2dzdHIgIkxpbnV4IHJhaWQgc2Ftb3phem5hdmEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwNgorbXNnaWQgIkxBTnN0ZXAiCittc2dzdHIgIkxBTnN0ZXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwNworbXNnaWQgIkJCVCIKK21zZ3N0ciAiQkJUIgorCisjOiBsaWIvYmxrZGV2LmM6MjgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlcyBpcyBtaXNhbGlnbmVkIgorbXNnc3RyICJPcG96b3JpbG86ICVzIG5pIGJsb2tvdm5hIG5hcHJhdmFcbiIKKworIzogbGliZmRpc2svc3JjL2FsaWdubWVudC5jOjY3MgorIywgZnV6enkKK21zZ2lkICJDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJLbGnoZW0gaW9jdGwoKSB6YSBwb25vdm5vIGJyYW5qZSB0YWJlbGUgcmF6ZGVsa292LlxuIgorCisjOiBsaWJmZGlzay9zcmMvYWxpZ25tZW50LmM6NjgxCisjLCBmdXp6eQorbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuIgorbXNnc3RyICJQb25vdm5vIGJlcmVtIHRhYmVsbyByYXpkZWxrb3YgLi4uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2ODMKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgdGFibGUuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdCBvciBhZnRlciB5b3UgcnVuIHBhcnRwcm9iZSg4KSBvciBrcGFydHgoOCkuIgorbXNnc3RyICIiCisiXG4iCisiT1BPWk9SSUxPOiBQb25vdm5vIGJyYW5qZSB0YWJlbGUgcmF6ZGVsa292IG5lIGJvIHVzcGVsbywgbmFwYWthICVkOiAlcy5cbiIKKyJKZWRybyC5ZSB2ZWRubyB1cG9yYWJsamEgc3Rhcm8gdGFiZWxvLlxuIgorIk5vdmEgdGFiZWxvIGJvIHYgdXBvcmFiaSC5ZWxlIHBvIG5hc2xlZG5qZW0gemFnb251LlxuIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDcyIGxpYmZkaXNrL3NyYy9hc2suYzo0ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdGVkIHBhcnRpdGlvbiAlanUiCittc2dzdHIgIkl6YnJhbiByYXpkZWxlayAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDc1CisjLCBmdXp6eQorbXNnaWQgIk5vIHBhcnRpdGlvbiBpcyBkZWZpbmVkIHlldCEiCittc2dzdHIgIk5vYmVuIHJhemRlbGVrILllIG5pIGRvbG/oZW4hXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAiTm8gZnJlZSBwYXJ0aXRpb24gYXZhaWxhYmxlISIKK21zZ3N0ciAiTmkgdmXoIHByb3N0aWggc2VrdG9yamV2XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0OTcKK21zZ2lkICJQYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICKpdGV2aWxrYSByYXpkZWxrYSIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjk5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBwYXJ0aXRpb24gJWQgb2YgdHlwZSAnJXMnIGFuZCBvZiBzaXplICVzLiIKK21zZ3N0ciAiUmF6ZGVsZWsgJWQguWUgbmUgb2JzdGFqYSFcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICJSYXpkZWxlayAlcyBpbWEgbmV2ZWxqYXZuaSB6YehldG5pIHNla3RvciAwLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGVyZSBpcyBubyAqQlNEIHBhcnRpdGlvbiBvbiAlcy4iCittc2dzdHIgIk5hICVzIG5pIHJhemRlbGthIHRpcGEgKkJTRC5cbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI1OSBsaWJmZGlzay9zcmMvZG9zLmM6OTMzCisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IGN5bGluZGVyIgorbXNnc3RyICJzdGV6YSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5MiBsaWJmZGlzay9zcmMvZG9zLmM6MTE2MQorIywgZnV6enkKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIlphZG5qaSAlcyBhbGkgK3NpemUgYWxpICtzaXplTSBhbGkgK3NpemVLIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6Mjk3IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTY2IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjU1CisjLCBmdXp6eQorbXNnaWQgIkxhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICJaYWRuamkgJXMgYWxpICtzaXplIGFsaSArc2l6ZU0gYWxpICtzaXplSyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRldmljZSAlcyBkb2VzIG5vdCBjb250YWluIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICIlcyBuZSB2c2VidWplIG96bmFrZSBkaXNrYS5cbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MworIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBjcmVhdGUgYSBCU0QgZGlza2xhYmVsPyIKK21zZ3N0ciAiQWxpIL5lbGl0ZSB1c3R2YXJpdGkgb3puYWtvIGRpc2thPyAoeS9uKSAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NDkKKyMsIGZ1enp5Cittc2dpZCAiRGlzayIKK21zZ3N0ciAiZGlzazogJS4qc1xuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDU2Cittc2dpZCAiUGFja25hbWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MyBsaWJmZGlzay9zcmMvc3VuLmM6MTExNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICJPem5ha2UiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjYKK21zZ2lkICIgcmVtb3ZhYmxlIgorbXNnc3RyICIgb2RzdHJhbmxqaXYiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjcKK21zZ2lkICIgZWNjIgorbXNnc3RyICIgZWNjIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY4Cittc2dpZCAiIGJhZHNlY3QiCittc2dzdHIgIiBwb7lzZWt0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NzYKKyMsIGZ1enp5Cittc2dpZCAiQnl0ZXMvU2VjdG9yIgorbXNnc3RyICJiYWp0aS9zZWt0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODEKKyMsIGZ1enp5Cittc2dpZCAiVHJhY2tzL0N5bGluZGVyIgorbXNnc3RyICJzbGVkaS9zdGV6byIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4NgorIywgZnV6enkKK21zZ2lkICJTZWN0b3JzL0N5bGluZGVyIgorbXNnc3RyICJzZWt0b3JqaS9zdGV6byIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5MSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOCBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMworIzogbGliZmRpc2svc3JjL3NnaS5jOjExNTcgbGliZmRpc2svc3JjL3N1bi5jOjE5NiBsaWJmZGlzay9zcmMvc3VuLmM6MTExMworbXNnaWQgIkN5bGluZGVycyIKK21zZ3N0ciAiU3RleiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5NiBsaWJmZGlzay9zcmMvc3VuLmM6NzYwCisjLCBmdXp6eQorbXNnaWQgIlJwbSIKK21zZ3N0ciAib2JyYXRpL21pbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMSBsaWJmZGlzay9zcmMvc2dpLmM6MjkyIGxpYmZkaXNrL3NyYy9zdW4uYzo3ODAKKyMsIGZ1enp5Cittc2dpZCAiSW50ZXJsZWF2ZSIKK21zZ3N0ciAicHJlcGxldGVubyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwNgorIywgZnV6enkKK21zZ2lkICJUcmFja3NrZXciCittc2dzdHIgInBvuWV2bm9zdHNsZWRpIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTExCisjLCBmdXp6eQorbXNnaWQgIkN5bGluZGVyc2tldyIKK21zZ3N0ciAicG+5ZXZub3N0c3RlemUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTYKKyMsIGZ1enp5Cittc2dpZCAiSGVhZHN3aXRjaCIKK21zZ3N0ciAicHJlaG9kIGdsYXYiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MjEKKyMsIGZ1enp5Cittc2dpZCAiVHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAiaXNrYW5qZSBzbGVkaS1kby1zbGVkaSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMQorbXNnaWQgImJ5dGVzL3NlY3RvciIKK21zZ3N0ciAiYmFqdGkvc2VrdG9yIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE0Cittc2dpZCAic2VjdG9ycy90cmFjayIKK21zZ3N0ciAic2VrdG9yamkvc2xlZCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNQorbXNnaWQgInRyYWNrcy9jeWxpbmRlciIKK21zZ3N0ciAic2xlZGkvc3Rlem8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTYKK21zZ2lkICJjeWxpbmRlcnMiCittc2dzdHIgInN0ZXplIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIwCittc2dpZCAic2VjdG9ycy9jeWxpbmRlciIKK21zZ3N0ciAic2VrdG9yamkvc3Rlem8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjMKK21zZ2lkICJycG0iCittc2dzdHIgIm9icmF0aS9taW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjQKK21zZ2lkICJpbnRlcmxlYXZlIgorbXNnc3RyICJwcmVwbGV0ZW5vIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI1Cittc2dpZCAidHJhY2tza2V3IgorbXNnc3RyICJwb7lldm5vc3RzbGVkaSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNgorbXNnaWQgImN5bGluZGVyc2tldyIKK21zZ3N0ciAicG+5ZXZub3N0c3RlemUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjgKK21zZ2lkICJoZWFkc3dpdGNoIgorbXNnc3RyICJwcmVob2QgZ2xhdiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOQorbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgImlza2FuamUgc2xlZGktZG8tc2xlZGkiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RzdHJhcCBmaWxlICVzIHN1Y2Nlc3NmdWxseSBsb2FkZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcDogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKGRlZmF1bHQgJTEkcykiCittc2dzdHIgIlph6GV0bmkgbmFsYWdhbG5pazogJXNib290IC0+IGJvb3QlcyAoJXMpOiAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MDQKKyMsIGZ1enp5Cittc2dpZCAiQm9vdHN0cmFwIG92ZXJsYXBzIHdpdGggZGlza2xhYmVsISIKK21zZ3N0ciAiWmHoZXRuaSBuYWxhZ2FsbmlrIHNlIHByZWtyaXZhIHogb3puYWtvIGRpc2thIVxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXAgaW5zdGFsbGVkIG9uICVzLiIKK21zZ3N0ciAiWmHoZXRuaSBuYWxhZ2FsbmlrIGplIG5hbWW56GVuIG5hICVzLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiAgKERvbid0IGZvcmdldCB0byB3cml0ZSB0aGUgJXMgZGlza2xhYmVsIHRvby4pIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiIKK21zZ3N0ciAiRGlza292bmEgZW5vdGE6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDkgbGliZmRpc2svc3JjL2NvbnRleHQuYzo2NjYKKyMsIGZ1enp5Cittc2dpZCAiU3luY2luZyBkaXNrcy4iCittc2dzdHIgIlNpbmhyb25pemlyYW0gZGlza2UuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NTAKK21zZ2lkICJCU0QgbGFiZWwgaXMgbm90IG5lc3RlZCB3aXRoaW4gYSBET1MgcGFydGl0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCU0QgcGFydGl0aW9uICclYycgbGlua2VkIHRvIERPUyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiICAgeCAgIHBvdmW+aSByYXpkZWxlayB0aXBhIEJTRCB6IHJhemRlbGtvbSBkcnVnZWdhIHRpcGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE0Cittc2dpZCAiU2xpY2UiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjEKKyMsIGZ1enp5Cittc2dpZCAiRnNpemUiCittc2dzdHIgIk5hanZl6GphIHZlbGlrb3N0PSVsZFxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMgorIywgZnV6enkKK21zZ2lkICJCc2l6ZSIKK21zZ3N0ciAiTmFqdmXoamEgdmVsaWtvc3Q9JWxkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIzCittc2dpZCAiQ3BnIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2UgZGV2aWNlIGZhaWxlZCIKK21zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4MjcKKyMsIGZ1enp5Cittc2dpZCAiY3lsaW5kZXIiCittc2dpZF9wbHVyYWwgImN5bGluZGVycyIKK21zZ3N0clswXSAic3RlemEiCittc2dzdHJbMV0gInN0ZXphIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjgyOAorIywgZnV6enkKK21zZ2lkICJzZWN0b3IiCittc2dpZF9wbHVyYWwgInNlY3RvcnMiCittc2dzdHJbMF0gInNla3RvciIKK21zZ3N0clsxXSAic2VrdG9yIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjExMzEKK21zZ2lkICJJbmNvbXBsZXRlIGdlb21ldHJ5IHNldHRpbmcuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTQKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBhbHJlYWR5LiIKK21zZ3N0ciAiVnNpIHByaW1hcm5pIHJhemRlbGtpIHNvIL5lIGRvbG/oZW5pIVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBleHRlbmRlZCBwYXJ0aXRpb24gdGFibGUgKG9mZnNldD0lanUpIgorbXNnc3RyICJwb25vdm5vIHByZWJlcmkgdGFiZWxvIHJhemRlbGtvdiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjMyOAorIywgZnV6enkKK21zZ2lkICJZb3UgY2FuIHNldCBnZW9tZXRyeSBmcm9tIHRoZSBleHRyYSBmdW5jdGlvbnMgbWVudS4iCittc2dzdHIgIiIKKyIlcyVzLlxuIgorIlRvIGxhaGtvIHN0b3JpdGUgdiBtZW5panUgeiBkb2RhdG5pbWkgbW++bm9zdG1pLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzMxCittc2dpZCAiRE9TLWNvbXBhdGlibGUgbW9kZSBpcyBkZXByZWNhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzM1Cittc2dpZCAiVGhlIGRldmljZSBwcmVzZW50cyBhIGxvZ2ljYWwgc2VjdG9yIHNpemUgdGhhdCBpcyBzbWFsbGVyIHRoYW4gdGhlIHBoeXNpY2FsIHNlY3RvciBzaXplLiBBbGlnbmluZyB0byBhIHBoeXNpY2FsIHNlY3RvciAob3Igb3B0aW1hbCBJL08pIHNpemUgYm91bmRhcnkgaXMgcmVjb21tZW5kZWQsIG9yIHBlcmZvcm1hbmNlIG1heSBiZSBpbXBhY3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MQorbXNnaWQgIkN5bGluZGVycyBhcyBkaXNwbGF5IHVuaXRzIGFyZSBkZXByZWNhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBzaXplIG9mIHRoaXMgZGlzayBpcyAlcyAoJWp1IGJ5dGVzKS4gRE9TIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgY2FuIG5vdCBiZSB1c2VkIG9uIGRyaXZlcyBmb3Igdm9sdW1lcyBsYXJnZXIgdGhhbiAlbHUgYnl0ZXMgZm9yICVsdS1ieXRlIHNlY3RvcnMuIFVzZSBHVUlEIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgKEdQVCkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MDMKKyMsIGZ1enp5Cittc2dpZCAiQmFkIG9mZnNldCBpbiBwcmltYXJ5IGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIlBvuWtvZG92YW4gb2RtaWsgdiBwcmltYXJuZW0gcmF6uWlyamVuZW0gcmF6ZGVsa3VcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjUxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiT21pdHRpbmcgcGFydGl0aW9ucyBhZnRlciAjJXp1LiBUaGV5IHdpbGwgYmUgZGVsZXRlZCBpZiB5b3Ugc2F2ZSB0aGlzIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIiIKKyJPcG96b3JpbG86IG9tZWp1amVtIHJhemRlbGtlIHBvICMlZC5cbiIKKyLIZSBzaHJhbml0ZSB0YSByYXpkZWxlayBib2RvIGl6YnJpc2FuaS5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRXh0cmEgbGluayBwb2ludGVyIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJPcG96b3JpbG86IGRvZGF0bmkgcG92ZXpvdmFsbmkga2F6YWxlYyB2IHRhYmVsaSByYXpkZWxrb3YgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZGF0YSBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiT3Bvem9yaWxvOiBkb2RhdG5pIHBvZGF0a2kgdiB0YWJlbGkgcmF6ZGVsa292ICVkIG5lIGJvZG8gdXBvuXRldmFuaVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbWl0dGluZyBlbXB0eSBwYXJ0aXRpb24gKCV6dSkiCittc2dzdHIgIk9wb3pvcmlsbzogcHJhemVuIHJhemRlbGVrXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguIgorbXNnc3RyICIgICBzICAgdXN0dmFyaSBub3ZvIHByYXpubyBvem5ha28gZGlza2EgdGlwYSBTdW4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2ODUKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXIgdGhlIG5ldyBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIiAgIHUgICBzcHJlbWVuaSBwcmlrYXpuZS92bm9zbmUgZW5vdGUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2OTIKKyMsIGZ1enp5Cittc2dpZCAiSW5jb3JyZWN0IHZhbHVlLiIKK21zZ3N0ciAiTmV2ZWxqYXZuYSB2cmVkbm9zdCBuYXN0YXZsamFuamE6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAweCUwOHggdG8gMHglMDh4LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBleHRlbmRlZCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJEb2RhdG5pIHJherlpcmplbiByYXpkZWxlayAlZCBuZSBibyB1cG+5dGV2YW5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjgwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBmbGFnIDB4JTAyeCUwMnggb2YgRUJSIChmb3IgcGFydGl0aW9uICV6dSkgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIk9wb3pvcmlsbzogbmV2ZWxqYXZuYSB6YXN0YXZpY2EgMHglMDR4IHRhYmVsZSByYXpkZWxrb3YgJWQgYm8gcG9wcmF2bGplbmEgeiB3KHJpdGUpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo5MjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN0YXJ0IHNlY3RvciAlanUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiVnJlZG5vc3QgaXp2ZW4gZG9zZWdhLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTAyNiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzNiBsaWJmZGlzay9zcmMvc2dpLmM6ODM5CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKK21zZ3N0ciAiUmF6ZGVsZWsgJWQgamUgvmUgZG9sb+hlbi4gWmJyablpdGUgZ2EgcHJlZGVuIGdhIHBvbm92bm8gZG9kYXRlLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTA5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVsbHUgaXMgYWxyZWFkeSBhbGxvY2F0ZWQuIgorbXNnc3RyICJTZWt0b3IgJWQgamUgvmUgZG9kZWxqZW5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjExMzMgbGliZmRpc2svc3JjL2dwdC5jOjIxNDYKKyMsIGZ1enp5Cittc2dpZCAiTm8gZnJlZSBzZWN0b3JzIGF2YWlsYWJsZS4iCittc2dzdHIgIk5pIHZl6CBwcm9zdGloIHNla3RvcmpldlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTI4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQWRkaW5nIGxvZ2ljYWwgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiUG+5a29kb3ZhbiBsb2dp6G5pIHJhemRlbGVrIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY29udGFpbnMgc2VjdG9yIDAiCittc2dzdHIgIk9wb3pvcmlsbzogcmF6ZGVsZWsgJWQgdnNlYnVqZSBzZWt0b3IgMFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaGVhZCAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlZCIKK21zZ3N0ciAiUmF6ZGVsZWsgJWQ6IGdsYXZhICVkIGplIHZl6GphIG9kIG5hanZl6GplICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBzZWN0b3IgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiUmF6ZGVsZWsgJWQ6IHNla3RvciAlZCBqZSB2ZehqaSBvZCBuYWp2ZehqZWdhICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjeWxpbmRlciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICJSYXpkZWxraSAlZDogc3RlemEgJWQgamUgdmXoamEgb2QgbmFqdmXoamUgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHByZXZpb3VzIHNlY3RvcnMgJXUgZGlzYWdyZWVzIHdpdGggdG90YWwgJXUiCittc2dzdHIgIlJhemRlbGVrICVkOiBwcmVquW5qaSBzZWt0b3JqaSAlZCBzZSBuZSB1amVtYWpvIHMgY2Vsb3RvICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBiZWdpbm5pbmdzIChub24tTGludXg/KTogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICJGaXpp6G5pIHph6GV0ZWsgcmF6ZGVsa2EgJWQgbmkgZW5hayBsb2dp6G5lbXUgKG5lLUxpbnV4Pyk6XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBlbmRpbmdzOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIkZpemnobmEvbG9naehuYSBrb25jYSByYXpkZWxrYSAlZCBzZSBuZSB1amVtYXRhOlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiUmF6ZGVsZWsgJWQgc2UgbmUga29u6GEgbmEgbWVqaSBzIGNpbGluZHJvbS5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGJhZCBzdGFydC1vZi1kYXRhLiIKK21zZ3N0ciAiUmF6ZGVsZWsgJWQgbmltYSBwb2RhdGtvdm5lZ2Egb2Jtb+hqYVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogb3ZlcmxhcHMgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIk9wb3pvcmlsbzogcmF6ZGVsZWsgJWQgcHJla3JpdmEgcmF6ZGVsZWsgJWQuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBlbXB0eS4iCittc2dzdHIgIk9wb3pvcmlsbzogcmF6ZGVsZWsgJWQgamUgcHJhemVuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMb2dpY2FsIHBhcnRpdGlvbiAlenU6IG5vdCBlbnRpcmVseSBpbiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiTG9naehuaSByYXpkZWxlayAlZCBuaSB2IGNlbG90aSB2IHJhemRlbGt1ICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUb3RhbCBhbGxvY2F0ZWQgc2VjdG9ycyAlbGx1IGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSAlbGx1LiIKK21zZ3N0ciAiVnNvdGEgZG9kZWxqZW5paCBzZWt0b3JqZXYgJWQgamUgdmXoamEgb2QgbmFqdmXoamUgJWxsZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUmVtYWluaW5nICVsbGQgdW5hbGxvY2F0ZWQgJWxkLWJ5dGUgc2VjdG9ycy4iCittc2dzdHIgIiVsbGQgbmVkb2RlbGplbmloIHNla3RvcmpldlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUzMiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1NAorIywgZnV6enkKK21zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gYWxyZWFkeSBleGlzdHMuIgorbXNnc3RyICJUYSByYXpkZWxlayC+ZSBvYnN0YWphLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU3NQorIywgZnV6enkKK21zZ2lkICJUaGUgbWF4aW11bSBudW1iZXIgb2YgcGFydGl0aW9ucyBoYXMgYmVlbiBjcmVhdGVkLiIKK21zZ3N0ciAiTmFqdmXoamUgbW++bm8guXRldmlsbyByYXpkZWxrb3YgamUgYmlsbyB1c3R2YXJqZW5vXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTg3CisjLCBmdXp6eQorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4iCittc2dzdHIgIlZzaSBsb2dp6G5pIHJhemRlbGtpIHNvIHYgdXBvcmFiaVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU4OSBsaWJmZGlzay9zcmMvZG9zLmM6MTYwMAorIywgZnV6enkKK21zZ2lkICJBbGwgc3BhY2UgZm9yIHByaW1hcnkgcGFydGl0aW9ucyBpcyBpbiB1c2UuIgorbXNnc3RyICJWc2kgbG9naehuaSByYXpkZWxraSBzbyB2IHVwb3JhYmlcbiIKKworIy4gVFJBTlNMQVRPUlM6IFRyeSB0byBrZWVwIHRoaXMgd2l0aGluIDgwIGNoYXJhY3RlcnMuCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYwMworIywgZnV6enkKK21zZ2lkICJUbyBjcmVhdGUgbW9yZSBwYXJ0aXRpb25zLCBmaXJzdCByZXBsYWNlIGEgcHJpbWFyeSB3aXRoIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIkl6YnJpc2F0aSBtb3JhdGUgbmVrIHJhemRlbGVrIGluIG5hanByZWogZG9kYXRpIHJherlpcmplbiByYXpkZWxla1xuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYwOAorIywgZnV6enkKK21zZ2lkICJBbGwgbG9naWNhbCBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIEFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uLiIKK21zZ3N0ciAiVnNpIGxvZ2nobmkgcmF6ZGVsa2kgc28gdiB1cG9yYWJpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjMwCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICKpdGV2aWxrYSByYXpkZWxrYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXp1IHByaW1hcnksICVkIGV4dGVuZGVkLCAlenUgZnJlZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzOQorIywgZnV6enkKK21zZ2lkICJwcmltYXJ5IgorbXNnc3RyICJQcmltYXJlbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDEKKyMsIGZ1enp5Cittc2dpZCAiZXh0ZW5kZWQiCittc2dzdHIgIlJherlpcmplbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDEKKyMsIGZ1enp5Cittc2dpZCAiY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMiCittc2dzdHIgIlBvuWtvZG92YW4gbG9naehuaSByYXpkZWxlayIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDMKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCIKK21zZ3N0ciAiTG9naehlbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDMKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyZWQgZnJvbSA1IgorbXNnc3RyICJsICAgbG9naehuaSAoNSBhbGkgdmXoKSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIHR5cGUgYCVjJy4iCittc2dzdHIgIk5ldmVsamF2bmEguXRldmlsa2EgcmF6ZGVsa2EgemEgdGlwIGAlYydcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB3cml0ZSBzZWN0b3IgJWpkOiBzZWVrIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHphICVzIG5pIG1vZ2/oZSBuYWp0aSBuYXByYXZlXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxODUyIGxpYmZkaXNrL3NyYy9ncHQuYzoxMDk2CisjLCBmdXp6eQorbXNnaWQgIkRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiRGlza292bmkgUG9nb246ICVzIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1OQorIywgZnV6enkKK21zZ2lkICJUeXBlIDAgbWVhbnMgZnJlZSBzcGFjZSB0byBtYW55IHN5c3RlbXMuIEhhdmluZyBwYXJ0aXRpb25zIG9mIHR5cGUgMCBpcyBwcm9iYWJseSB1bndpc2UuIgorbXNnc3RyICIiCisiViBtbm9naWggc2lzdGVtaWggcG9tZW5pIHRpcCAwIHByYXplbiBwcm9zdG9yLFxuIgorInYgTGludXh1IHBhIG5lLiBSYXpkZWxrb3YgdGlwYSAwIG5pIHBhbWV0bm8gaW1ldGlcbiIKKyJSYXpkZWxlayBsYWhrbyB6YnJpuWV0ZSB6IHVrYXpvbSBgZCcuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxOTY0Cittc2dpZCAiQ2Fubm90IGNoYW5nZSB0eXBlIG9mIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24gd2hpY2ggaXMgYWxyZWFkeSB1c2VkIGJ5IGxvZ2ljYWwgcGFydGl0aW9ucy4gRGVsZXRlIGxvZ2ljYWwgcGFydGl0aW9ucyBmaXJzdC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxNDMgbGliZmRpc2svc3JjL2dwdC5jOjI4MjEKKyMsIGZ1enp5Cittc2dpZCAiTm90aGluZyB0byBkby4gT3JkZXJpbmcgaXMgY29ycmVjdCBhbHJlYWR5LiIKK21zZ3N0ciAiIgorIk5p6CBuaSB0cmViYSBzcHJlbWVuaXRpLiBSZWQgamUgvmUgcHJhdmlsZW4uXG4iCisiXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBubyBkYXRhIGFyZWEuIgorbXNnc3RyICJSYXpkZWxlayAlZCBuaW1hIHBvZGF0a292bmVnYSBvYm1v6GphXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjIyCittc2dpZCAiTmV3IGJlZ2lubmluZyBvZiBkYXRhIgorbXNnc3RyICJOb3YgemHoZXRlayBwb2RhdGtvdiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyNzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGlzIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIk9QT1pPUklMTzogUmF6ZGVsZWsgJWQgamUgcmF6uWlyamVuaSByYXpkZWxla1xuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIlRpcCByYXpkZWxrYSAlZCBqZSBzcHJlbWVuamVuIHYgJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJUaXAgcmF6ZGVsa2EgJWQgamUgc3ByZW1lbmplbiB2ICV4ICglcylcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyOTggbGliZmRpc2svc3JjL2dwdC5jOjI5MTEgbGliZmRpc2svc3JjL3NnaS5jOjExNTMKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTA5Cittc2dpZCAiRGV2aWNlIgorbXNnc3RyICJOYXByYXZhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI5OSBsaWJmZGlzay9zcmMvc3VuLmM6NDEKK21zZ2lkICJCb290IgorbXNnc3RyICJaYWdvbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDUgbGliZmRpc2svc3JjL3NnaS5jOjExNTkgbGliZmRpc2svc3JjL3N1bi5jOjExMTUKK21zZ2lkICJJZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwOQorIywgZnV6enkKK21zZ2lkICJTdGFydC1DL0gvUyIKK21zZ3N0ciAiemHoZXRlayIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTAKK21zZ2lkICJFbmQtQy9IL1MiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTEgbGliZmRpc2svc3JjL2dwdC5jOjI5MjEgbGliZmRpc2svc3JjL3NnaS5jOjExNjEKK21zZ2lkICJBdHRycyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYwCittc2dpZCAiRUZJIFN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYyCisjLCBmdXp6eQorbXNnaWQgIk1CUiBwYXJ0aXRpb24gc2NoZW1lIgorbXNnc3RyICKpdGV2aWxrYSByYXpkZWxrYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MworbXNnaWQgIkludGVsIEZhc3QgRmxhc2giCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2NgorIywgZnV6enkKK21zZ2lkICJCSU9TIGJvb3QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjkKKyMsIGZ1enp5Cittc2dpZCAiU29ueSBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgYSAgIGl6YmVyaSB6YWdvbnNraSByYXpkZWxlayIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MAorIywgZnV6enkKK21zZ2lkICJMZW5vdm8gYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGEgICBpemJlcmkgemFnb25za2kgcmF6ZGVsZWsiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAiUG93ZXJQQyBQUmVQIGJvb3QiCittc2dzdHIgIlBQQyBQUmVQIHphZ29uc2tpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc2CisjLCBmdXp6eQorbXNnaWQgIk9OSUUgYm9vdCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NworbXNnaWQgIk9OSUUgY29uZmlnIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAKK21zZ2lkICJNaWNyb3NvZnQgcmVzZXJ2ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MQorbXNnaWQgIk1pY3Jvc29mdCBiYXNpYyBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODIKK21zZ2lkICJNaWNyb3NvZnQgTERNIG1ldGFkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODMKK21zZ2lkICJNaWNyb3NvZnQgTERNIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NAorbXNnaWQgIldpbmRvd3MgcmVjb3ZlcnkgZW52aXJvbm1lbnQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NQorbXNnaWQgIklCTSBHZW5lcmFsIFBhcmFsbGVsIEZzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODYKK21zZ2lkICJNaWNyb3NvZnQgU3RvcmFnZSBTcGFjZXMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4OQorIywgZnV6enkKK21zZ2lkICJIUC1VWCBkYXRhIgorbXNnc3RyICIgICBkICAgemJyablpIHJhemRlbGVrIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkwCisjLCBmdXp6eQorbXNnaWQgIkhQLVVYIHNlcnZpY2UiCittc2dzdHIgIk5pIHZl6CByYXpkZWxrb3YiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTMgbGliZmRpc2svc3JjL3NnaS5jOjYxIGxpYmZkaXNrL3NyYy9zdW4uYzo1MgorbXNnaWQgIkxpbnV4IHN3YXAiCittc2dzdHIgIkxpbnV4IGl6bWVuamFsbmkgcHJvc3RvciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NAorIywgZnV6enkKK21zZ2lkICJMaW51eCBmaWxlc3lzdGVtIgorbXNnc3RyICJWbmVzaXRlIHZyc3RvIGRhdG90ZehuZWdhIHNpc3RlbWE6ICIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NQorIywgZnV6enkKK21zZ2lkICJMaW51eCBzZXJ2ZXIgZGF0YSIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk2Cittc2dpZCAiTGludXggcm9vdCAoeDg2KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3Cittc2dpZCAiTGludXggcm9vdCAoQVJNKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4Cittc2dpZCAiTGludXggcm9vdCAoeDg2LTY0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5Cittc2dpZCAiTGludXggcm9vdCAoQVJNLTY0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwCittc2dpZCAiTGludXggcm9vdFx0KElBLTY0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAxCisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IHJlc2VydmVkIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDIKKyMsIGZ1enp5Cittc2dpZCAiTGludXggaG9tZSIKK21zZ3N0ciAiTGludXggcG8gbWVyaSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMyBsaWJmZGlzay9zcmMvc2dpLmM6NjQKK21zZ2lkICJMaW51eCBSQUlEIgorbXNnc3RyICJMaW51eCBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0CisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IGV4dGVuZGVkIGJvb3QiCittc2dzdHIgIkxpbnV4IHJherlpcmplbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMgorIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIGRhdGEiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTMKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBib290IgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0Qgc3dhcCIKK21zZ3N0ciAiQlNESSBpem1lbmphbG5pIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgVUZTIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgWkZTIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgVmludW0iCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAiQXBwbGUgSEZTL0hGUysiCittc2dzdHIgIk9TLzIgSFBGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMQorbXNnaWQgIkFwcGxlIFVGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyCittc2dpZCAiQXBwbGUgUkFJRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzCittc2dpZCAiQXBwbGUgUkFJRCBvZmZsaW5lIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjQKK21zZ2lkICJBcHBsZSBib290IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjUKK21zZ2lkICJBcHBsZSBsYWJlbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI2Cittc2dpZCAiQXBwbGUgVFYgcmVjb3ZlcnkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNworbXNnaWQgIkFwcGxlIENvcmUgc3RvcmFnZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMxCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcm9vdCIKK21zZ3N0ciAiU29sYXJpcyB6YWdvbnNraSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMworbXNnaWQgIlNvbGFyaXMgL3VzciAmIEFwcGxlIFpGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgc3dhcCIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNQorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIGJhY2t1cCIKK21zZ3N0ciAiU29sYXJpcyB6YWdvbnNraSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNgorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIC92YXIiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyAvaG9tZSIKK21zZ3N0ciAiU29sYXJpcyB6YWdvbnNraSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOAorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIGFsdGVybmF0ZSBzZWN0b3IiCittc2dzdHIgInByZXZl6CByYXpsaehuaWggaGl0cm9zdGkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzkKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAxIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDAKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAyIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDEKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAzIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA0IgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDMKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA1IgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDYKKyMsIGZ1enp5Cittc2dpZCAiTmV0QlNEIHN3YXAiCittc2dzdHIgIkJTREkgaXptZW5qYWxuaSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NworIywgZnV6enkKK21zZ2lkICJOZXRCU0QgRkZTIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgKKyMsIGZ1enp5Cittc2dpZCAiTmV0QlNEIExGUyIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5Cittc2dpZCAiTmV0QlNEIGNvbmNhdGVuYXRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwCittc2dpZCAiTmV0QlNEIGVuY3J5cHRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUxCisjLCBmdXp6eQorbXNnaWQgIk5ldEJTRCBSQUlEIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTQKK21zZ2lkICJDaHJvbWVPUyBrZXJuZWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NQorbXNnaWQgIkNocm9tZU9TIHJvb3QgZnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NgorIywgZnV6enkKK21zZ2lkICJDaHJvbWVPUyByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5Cittc2dpZCAiTWlkbmlnaHRCU0QgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYwCittc2dpZCAiTWlkbmlnaHRCU0QgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYxCisjLCBmdXp6eQorbXNnaWQgIk1pZG5pZ2h0QlNEIHN3YXAiCittc2dzdHIgIkJTREkgaXptZW5qYWxuaSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MgorbXNnaWQgIk1pZG5pZ2h0QlNEIFVGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYzCittc2dpZCAiTWlkbmlnaHRCU0QgWkZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjQKK21zZ2lkICJNaWRuaWdodEJTRCBWaW51bSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY3Cittc2dpZCAiQ2VwaCBKb3VybmFsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjgKK21zZ2lkICJDZXBoIEVuY3J5cHRlZCBKb3VybmFsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjkKK21zZ2lkICJDZXBoIE9TRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcwCittc2dpZCAiQ2VwaCBjcnlwdCBPU0QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MQorbXNnaWQgIkNlcGggZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcyCittc2dpZCAiQ2VwaCBjcnlwdCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzUKKyMsIGZ1enp5Cittc2dpZCAiT3BlbkJTRCBkYXRhIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc4CisjLCBmdXp6eQorbXNnaWQgIlFOWDYgZmlsZSBzeXN0ZW0iCittc2dzdHIgIlZuZXNpdGUgdnJzdG8gZGF0b3Rl6G5lZ2Egc2lzdGVtYTogIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjgxCisjLCBmdXp6eQorbXNnaWQgIlBsYW4gOSBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGQgICB6YnJpuWkgcmF6ZGVsZWsiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo1NDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdQVCBoZWFkZXIiCittc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYS5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjYzMAorbXNnaWQgIkZpcnN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjY0MgorbXNnaWQgIkxhc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Nzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIkdQVCBQTUJSIHNpemUgbWlzbWF0Y2ggKCU8UFJJdTY0PiAhPSAlPFBSSXU2ND4pIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3OTIKKyMsIGZ1enp5Cittc2dpZCAiZ3B0OiBzdGF0KCkgZmFpbGVkIgorbXNnc3RyICJpc2thbmplIGplIGJpbG8gbmV1c3BluW5vIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6ODAyCisjLCBjLWZvcm1hdAorbXNnaWQgImdwdDogY2Fubm90IGhhbmRsZSBmaWxlcyB3aXRoIG1vZGUgJW8iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEwNjQKK21zZ2lkICJHUFQgSGVhZGVyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMDY5Cittc2dpZCAiR1BUIEVudHJpZXMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExMDMKKyMsIGZ1enp5Cittc2dpZCAiRmlyc3QgTEJBIgorbXNnc3RyICJQcnZpICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEwOAorIywgZnV6enkKK21zZ2lkICJMYXN0IExCQSIKK21zZ3N0ciAiIFphZG5qaSAlcyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBMQkEgKExvZ2ljYWwgQmxvY2sgQWRkcmVzcykgb2YgdGhlIGJhY2t1cCBHUFQgaGVhZGVyLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjExMTQKK21zZ2lkICJBbHRlcm5hdGl2ZSBMQkEiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFydCBvZiB0aGUgYXJyYXkgb2YgcGFydGl0aW9uIGVudHJpZXMuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEyMAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gZW50cmllcyBMQkEiCittc2dzdHIgIkl6YnJhbiByYXpkZWxlayAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEyNQorIywgZnV6enkKK21zZ2lkICJBbGxvY2F0ZWQgcGFydGl0aW9uIGVudHJpZXMiCittc2dzdHIgIkl6YnJhbiByYXpkZWxlayAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTQ0MAorbXNnaWQgIlRoZSBiYWNrdXAgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgcHJpbWFyeSBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE0NDkKK21zZ2lkICJUaGUgcHJpbWFyeSBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBiYWNrdXAgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBHUFQgYXR0cmlidXRlIGJpdCAnJXMnIgorbXNnc3RyICIlczogbmV6bmFuIGFyZ3VtZW50OiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIEdQVCBhdHRyaWJ1dGUgc3RyaW5nICclcyciCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gbmFtZSBjaGFuZ2VkIGZyb20gJyVzJyB0byAnJS4qcycuIgorbXNnc3RyICJOZXVzcGW5bm8gemFwaXNvdmFuamUgcmF6ZGVsa2EgbmEgJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NjgKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gdW5kZXJzdGVwcyBGaXJzdFVzYWJsZUxCQS4iCittc2dzdHIgIiIKKyJcbiIKKyJaYWdvbnNraSByYXpkZWxlayBuZSBvYnN0YWphLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc3NQorIywgZnV6enkKK21zZ2lkICJUaGUgZW5kIG9mIHRoZSBwYXJ0aXRpb24gb3ZlcnN0ZXBzIExhc3RVc2FibGVMQkEuIgorbXNnc3RyICJOZXVzcGW5bm8gemFwaXNvdmFuamUgcmF6ZGVsa2EgbmEgJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MzQKK21zZ2lkICJUaGUgZGV2aWNlIGNvbnRhaW5zIGh5YnJpZCBNQlIgLS0gd3JpdGluZyBHUFQgb25seS4gWW91IGhhdmUgdG8gc3luYyB0aGUgTUJSIG1hbnVhbGx5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3MQorIywgZnV6enkKK21zZ2lkICJEaXNrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiRGlzayAlcyBuZSB2c2VidWplIHZlbGphdm5lIHRhYmVsZSByYXpkZWxrb3ZcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NzYKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5ODAKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4NQorIywgZnV6enkKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiBlbnRyeSBjaGVja3N1bS4iCittc2dzdHIgIk5ldmVsamF2bmEguXRldmlsa2EgcmF6ZGVsa2EgemEgdGlwIGAlYydcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OTAKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5NAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OTkKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgcHJpbWFyeSBoZWFkZXIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAzCittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDA4Cittc2dpZCAiRGlzayBpcyB0b28gc21hbGwgdG8gaG9sZCBhbGwgZGF0YS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMTgKK21zZ2lkICJQcmltYXJ5IGFuZCBiYWNrdXAgaGVhZGVyIG1pc21hdGNoLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggcGFydGl0aW9uICV1LiIKK21zZ3N0ciAiT3Bvem9yaWxvOiByYXpkZWxlayAlZCBwcmVrcml2YSByYXpkZWxlayAlZC5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBpcyB0b28gYmlnIGZvciB0aGUgZGlzay4iCittc2dzdHIgIk5hIGRpc2t1IHNlIHZhbSBwcmVrcml2YWpvIHJhemRlbGtpLiBQb3ByYXZpdGUgamloIVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGVuZHMgYmVmb3JlIGl0IHN0YXJ0cy4iCittc2dzdHIgIlJhemRlbGVrIHNlIGtvbuhhIHByZWQgc2VrdG9yamVtIDAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQ3Cittc2dpZCAiTm8gZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSGVhZGVyIHZlcnNpb246ICVzIgorbXNnc3RyICJuYXBha2EgcHJpIGlza2FuanUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2luZyAldSBvdXQgb2YgJWQgcGFydGl0aW9ucy4iCittc2dzdHIgInphbmltaXZvLCBzYW1vICVkIHJhemRlbGtvdiBqZSBkb2xv6GVuaWguXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnQuIgorbXNnaWRfcGx1cmFsICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnRzICh0aGUgbGFyZ2VzdCBpcyAlcykuIgorbXNnc3RyWzBdICJOaSB2ZeggcHJvc3RpaCBzZWt0b3JqZXZcbiIKK21zZ3N0clsxXSAiTmkgdmXoIHByb3N0aWggc2VrdG9yamV2XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGVycm9yIGRldGVjdGVkLiIKK21zZ2lkX3BsdXJhbCAiJWQgZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQyCisjLCBmdXp6eQorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIGFyZSBhbHJlYWR5IGluIHVzZS4iCittc2dzdHIgIlRhIHJhemRlbGVrIHNlIL5lIHVwb3JhYmxqYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOTcgbGliZmRpc2svc3JjL2dwdC5jOjIyMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlanUgYWxyZWFkeSB1c2VkLiIKK21zZ3N0ciAiU2VrdG9yICVkIGplIL5lIGRvZGVsamVuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIk5lIHVzdHZhcmkgcmF6ZGVsa2EiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBsYXN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaXJzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBHUFQgZGlza2xhYmVsIChHVUlEOiAlcykuIgorbXNnc3RyICIgICBzICAgdXN0dmFyaSBub3ZvIHByYXpubyBvem5ha28gZGlza2EgdGlwYSBTdW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDQ3Cittc2dpZCAiRW50ZXIgbmV3IGRpc2sgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDU0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSB5b3VyIFVVSUQuIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICJOZXVzcGW5bm8gemFwaXNvdmFuamUgcmF6ZGVsa2EgbmEgJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0ODgKKyMsIGZ1enp5Cittc2dpZCAiTm90IGVub3VnaCBzcGFjZSBmb3IgbmV3IHBhcnRpdGlvbiB0YWJsZSEiCittc2dzdHIgIk5pIHZl6CBwcm9zdGloIHNla3RvcmpldlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5NworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV1IG91dCBvZiByYW5nZSAobWluaW1hbCBzdGFydCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMldSBvdXQgb2YgcmFuZ2UgKG1heGltYWwgZW5kIGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIG51bWJlciBvZiB0aGUgcGFydGl0aW9uIGhhcyBiZSBzbWFsbGVyIHRoYW4gJXp1LiIKK21zZ3N0ciAiTmFqdmXoamUgbW++bm8guXRldmlsbyByYXpkZWxrb3YgamUgYmlsbyB1c3R2YXJqZW5vXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTYzCisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBhbGxvY2F0ZSBtZW1vcnkhIgorbXNnc3RyICJ2ZWppdGV2IG5pIG1vZ2/oYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBsZW5ndGggY2hhbmdlZCBmcm9tICU8UFJJdTMyPiB0byAlPFBSSXU2ND4uIgorbXNnc3RyICJOZXVzcGW5bm8gemFwaXNvdmFuamUgcmF6ZGVsa2EgbmEgJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBhdHRyaWJ1dGVzIG9uIHBhcnRpdGlvbiAlenUgY2hhbmdlZCB0byAweCUwMTY8UFJJeDY0Pi4iCittc2dzdHIgIlRpcCByYXpkZWxrYSAlZCBqZSBzcHJlbWVuamVuIHYgJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc0MgorbXNnaWQgIkVudGVyIEdVSUQgc3BlY2lmaWMgYml0IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdG9nZ2xlIHVuc3VwcG9ydGVkIGJpdCAlbHUiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJUaXAgcmF6ZGVsa2EgJWQgamUgc3ByZW1lbmplbiB2ICV4ICglcylcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIlRpcCByYXpkZWxrYSAlZCBqZSBzcHJlbWVuamVuIHYgJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJUaXAgcmF6ZGVsa2EgJWQgamUgc3ByZW1lbmplbiB2ICV4ICglcylcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTgKKyMsIGZ1enp5Cittc2dpZCAiVHlwZS1VVUlEIgorbXNnc3RyICJUaXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE5Cittc2dpZCAiVVVJRCIKK21zZ3N0ciAiVVVJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MjAgbG9naW4tdXRpbHMvY2hmbi5jOjE1MCBsb2dpbi11dGlscy9jaGZuLmM6MTUyCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzA3Cittc2dpZCAiTmFtZSIKK21zZ3N0ciAiSW1lIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6ODQwCisjLCBmdXp6eQorbXNnaWQgIkZyZWUgc3BhY2UiCittc2dzdHIgIk5ldXBvcmFibGplbiBwcm9zdG9yIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6MTIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24gIyV6dS4iCittc2dzdHIgInBvbm92bm8gcHJlYmVyaSB0YWJlbG8gcmF6ZGVsa292IgorCisjOiBsaWJmZGlzay9zcmMvcGFydHR5cGUuYzoyNTkgbWlzYy11dGlscy9maW5kbW50LmM6NjU1IHNjaGVkdXRpbHMvY2hydC5jOjIwNgorIzogc2NoZWR1dGlscy9pb25pY2UuYzo3OSBzeXMtdXRpbHMvaHdjbG9jay5jOjMzNAorbXNnaWQgInVua25vd24iCittc2dzdHIgIm5lem5hbmVtIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDcKK21zZ2lkICJTR0kgdm9saGRyIgorbXNnc3RyICJTR0kgZ2xhdmFvYnNnYSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ4Cittc2dpZCAiU0dJIHRya3JlcGwiCittc2dzdHIgIlNHSSBvZHppdnN0ZXplIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDkKK21zZ2lkICJTR0kgc2VjcmVwbCIKK21zZ3N0ciAiU0dJIG9keml2c2VrdCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUwCittc2dpZCAiU0dJIHJhdyIKK21zZ3N0ciAiU0dJIHN1cm92IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTEKK21zZ2lkICJTR0kgYnNkIgorbXNnc3RyICJTR0kgYnNkIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTIKK21zZ2lkICJTR0kgc3lzdiIKK21zZ3N0ciAiU0dJIHN5c3YiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MworbXNnaWQgIlNHSSB2b2x1bWUiCittc2dzdHIgIlNHSSBvYnNlZyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU0Cittc2dpZCAiU0dJIGVmcyIKK21zZ3N0ciAiU0dJIGVmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU1Cittc2dpZCAiU0dJIGx2b2wiCittc2dzdHIgIlNHSSBsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTYKK21zZ2lkICJTR0kgcmx2b2wiCittc2dzdHIgIlNHSSBybHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU3Cittc2dpZCAiU0dJIHhmcyIKK21zZ3N0ciAiU0dJIHhmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU4Cittc2dpZCAiU0dJIHhmc2xvZyIKK21zZ3N0ciAiU0dJIHhmc2xvZyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5Cittc2dpZCAiU0dJIHhsdiIKK21zZ3N0ciAiU0dJIHhsdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYwCittc2dpZCAiU0dJIHh2bSIKK21zZ3N0ciAiU0dJIHh2bSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyIGxpYmZkaXNrL3NyYy9zdW4uYzo1MworbXNnaWQgIkxpbnV4IG5hdGl2ZSIKK21zZ3N0ciAiTGludXggZG9tYehhIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTU5Cittc2dpZCAiU0dJIGluZm8gY3JlYXRlZCBvbiBzZWNvbmQgc2VjdG9yLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjU5CisjLCBmdXp6eQorbXNnaWQgIkRldGVjdGVkIGFuIFNHSSBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4iCittc2dzdHIgIlphem5hbmEgamUgYmlsYSBkaXNrb3ZuYSBvem5ha2EgdGlwYSBTR0kgeiBuYXBh6G5vIGtvbnRyb2xubyB2c290by5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4MiBsaWJmZGlzay9zcmMvc3VuLmM6NzcwCittc2dpZCAiUGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJGaXpp6G5lIHN0ZXplIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjg3IGxpYmZkaXNrL3NyYy9zdW4uYzo3NzUKKyMsIGZ1enp5Cittc2dpZCAiRXh0cmEgc2VjdHMvY3lsIgorbXNnc3RyICJEb2RhdG5pIHNla3RvcmppIG5hIHN0ZXpvIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjk3CisjLCBmdXp6eQorbXNnaWQgIkJvb3RmaWxlIgorbXNnc3RyICIoTmFzbGVkbmphIGRhdG90ZWthOiAlcykiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzozOTUKKyMsIGZ1enp5Cittc2dpZCAiSW52YWxpZCBib290ZmlsZSEgIFRoZSBib290ZmlsZSBtdXN0IGJlIGFuIGFic29sdXRlIG5vbi16ZXJvIHBhdGhuYW1lLCBlLmcuIFwiL3VuaXhcIiBvciBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIiIKKyJcbiIKKyJOZXZlbGphdm5hIHphZ29uc2thIGRhdC4hXG4iCisiXHRaYWdvbnNrYSBkYXRvdGVrYSBtb3JhIGJpdGkgYWJzb2x1dG5hIG5lbmnoZWxuYSBwb3QsXG4iCisiXHRucHIuIFwiL3VuaXhcIiBhbGkgXCIvdW5peC5zYXZlXCIuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlIG1heGltdW0uIgorbXNnaWRfcGx1cmFsICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZXMgbWF4aW11bS4iCittc2dzdHJbMF0gIiIKKyJcbiIKKyJcdEltZSB6YWdvbnNrZSBkYXQuIGplIHByZWRvbGdvOiBuYWp2ZeggMTYgYmFqdG92LlxuIgorbXNnc3RyWzFdICIiCisiXG4iCisiXHRJbWUgemFnb25za2UgZGF0LiBqZSBwcmVkb2xnbzogbmFqdmXoIDE2IGJhanRvdi5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwOAorIywgZnV6enkKK21zZ2lkICJCb290ZmlsZSBtdXN0IGhhdmUgYSBmdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUuIgorbXNnc3RyICIiCisiXG4iCisiXHRaYWdvbnNrYSBkYXRvdGVrYSBtb3JhIGJpdGkgcG9wb2xuYSBwb3QuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAiQmUgYXdhcmUgdGhhdCB0aGUgYm9vdGZpbGUgaXMgbm90IGNoZWNrZWQgZm9yIGV4aXN0ZW5jZS4gIFNHSSdzIGRlZmF1bHQgaXMgXCIvdW5peFwiLCBhbmQgZm9yIGJhY2t1cCBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIiIKKyJcbiIKKyJcdFphdmVkYXRpIHNlIG1vcmF0ZSwgZGEgc2UgbmUgcHJlZ2xlZGEsIGFsaSB6YWdvbnNrYSBkYXQuIG9ic3RhamEuXG4iCisiXHRQcml2emV0byB6YSBTR0kgamhlIFwiL3VuaXhcIiBpbiB6YSB2YXJub3N0bm8ga29waWpvIFwiL3VuaXguc2F2ZVwiLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgY3VycmVudCBib290IGZpbGUgaXM6ICVzIgorbXNnc3RyICIiCisiXG4iCisiVHJlbnV0bmEgemFnb25za2EgZGF0b3Rla2EgamU6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDEKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXIgb2YgdGhlIG5ldyBib290IGZpbGUiCittc2dzdHIgIlByb3NpbW8gdnBpuWl0ZSBpbWUgbm92ZSB6YWdvbnNrZSBkYXRvdGVrZTogIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQ2CisjLCBmdXp6eQorbXNnaWQgIkJvb3QgZmlsZSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJaYWdvbnNrYSBkYXRvdGVrYSBuaSBiaWxhIHNwcmVtZW5qZW5hXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJvb3RmaWxlIGhhcyBiZWVuIGNoYW5nZWQgdG8gXCIlc1wiLiIKK21zZ3N0ciAiIgorIlxuIgorIlx0WmFnb25za2EgZGF0b3Rla2EgamUgc3ByZW1lbmplbmEgbmEgXCIlc1wiLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTk2CisjLCBmdXp6eQorbXNnaWQgIk1vcmUgdGhhbiBvbmUgZW50aXJlIGRpc2sgZW50cnkgcHJlc2VudC4iCittc2dzdHIgIlByaXNvdGVuIGplIHZl6CBrb3QgZW4gdm5vcyBjZWxvdG5lZ2EgZGlza2EuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MDMgbGliZmRpc2svc3JjL3N1bi5jOjQ1OAorIywgZnV6enkKK21zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQuIgorbXNnc3RyICJOb2JlbiByYXpkZWxlayBuaSBkb2xv6GVuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTMKKyMsIGZ1enp5Cittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiSVJJWC11IGplIHa5Zegg6GUgcmF6ZGVsZWsgMTEgcHJla3JpdmEgY2Vsb3RlbiBkaXNrLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIHNob3VsZCBzdGFydCBhdCBibG9jayAwLCBub3QgYXQgYmxvY2sgJWQuIgorbXNnc3RyICIiCisiUmF6ZGVsZWsg6GV6IGNlbG90ZW4gZGlzayBzZSBtb3JhIHph6GV0aSBuYSBibG9rdSAwLFxuIgorIm5lIG5hIGRpc2tvdm5lbSBibG9rdSAlZC5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyOAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gMTEgc2hvdWxkIGNvdmVyIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIkVuIHJhemRlbGVrICgjMTEpIG5haiBiaSBwb2tyaXZhbCBjZWxvdGVuIGRpc2suXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9yLiIKK21zZ2lkX3BsdXJhbCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3JzLiIKK21zZ3N0clswXSAiUmF6ZGVsa2EgJWQgaW4gJWQgc2UgcHJla3JpdmF0YSB2IHNrdXBubyAlZCBzZWt0b3JqaWguXG4iCittc2dzdHJbMV0gIlJhemRlbGthICVkIGluICVkIHNlIHByZWtyaXZhdGEgdiBza3Vwbm8gJWQgc2VrdG9yamloLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjYzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3Rvcjogc2VjdG9yICU4dSIKK21zZ2lkX3BsdXJhbCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yczogc2VjdG9ycyAlOHUtJXUiCittc2dzdHJbMF0gIiU4dSBzZWt0b3JqZXYgbmkgdiByYWJpIC0gc2VrdG9yamkgJTh1LSV1XG4iCittc2dzdHJbMV0gIiU4dSBzZWt0b3JqZXYgbmkgdiByYWJpIC0gc2VrdG9yamkgJTh1LSV1XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2OTgKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGJvb3QgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiIgorIlxuIgorIlphZ29uc2tpIHJhemRlbGVrIG5lIG9ic3RhamEuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDIKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiIgorIlxuIgorIkl6bWVuamFsbmkgcmF6ZGVsZWsgbmUgb2JzdGFqYS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwNgorIywgZnV6enkKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gaGFzIG5vIHN3YXAgdHlwZS4iCittc2dzdHIgIiIKKyJcbiIKKyJJem1lbmphbG5pIHJhemRlbGVrIG5pbWEgZG9sb+hlbmVnYSB0aXBhLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA5CisjLCBmdXp6eQorbXNnaWQgIllvdSBoYXZlIGNob3NlbiBhbiB1bnVzdWFsIGJvb3RmaWxlIG5hbWUuIgorbXNnc3RyICJcdEl6YnJhbGkgc3RlIG5lbmF2YWRubyBpbWUgemFnb25za2UgZGF0b3Rla2UuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3NTkKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIgorbXNnc3RyICJOYSBkaXNrdSBzZSB2YW0gcHJla3JpdmFqbyByYXpkZWxraS4gUG9wcmF2aXRlIGppaCFcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0NAorIywgZnV6enkKK21zZ2lkICJBdHRlbXB0aW5nIHRvIGdlbmVyYXRlIGVudGlyZSBkaXNrIGVudHJ5IGF1dG9tYXRpY2FsbHkuIgorbXNnc3RyICJTYW1vZGVqbmkgcG9za3VzIHZub3NhIGNlbG90bmVnYSBkaXNrYS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0OQorIywgZnV6enkKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgaXMgYWxyZWFkeSBjb3ZlcmVkIHdpdGggcGFydGl0aW9ucy4iCittc2dzdHIgIkNlbG90ZW4gZGlzayBqZSC+ZSBwcmVrcml0IHogcmF6ZGVsa2kuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NTMKKyMsIGZ1enp5Cittc2dpZCAiWW91IGdvdCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiBGaXggaXQgZmlyc3QhIgorbXNnc3RyICJOYSBkaXNrdSBzZSB2YW0gcHJla3JpdmFqbyByYXpkZWxraS4gUG9wcmF2aXRlIGppaCFcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg3NSBsaWJmZGlzay9zcmMvc3VuLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ICVzIgorbXNnc3RyICJQcnZpICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODk5IGxpYmZkaXNrL3NyYy9zZ2kuYzo5NDkKKyMsIGZ1enp5Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIGVsZXZlbnRoIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrIGFuZCBpcyBvZiB0eXBlICdTR0kgdm9sdW1lJy4iCittc2dzdHIgIiIKKyJQcmlwb3Jv6GxqaXZvIGplLCBkYSBlbmFqc3RpIHJhemRlbGVrXG4iCisicHJla3JpdmEgY2Vsb3RlbiBkaXNrIGluIGplIHRpcGEgYFNHSSB2b2x1bWUnXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5MTQgbGliZmRpc2svc3JjL3N1bi5jOjYzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTGFzdCAlcyBvciArJXMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiWmFkbmppICVzIGFsaSArc2l6ZSBhbGkgK3NpemVNIGFsaSArc2l6ZUsiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5ODUgbGliZmRpc2svc3JjL3N1bi5jOjI0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuIFRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuIgorbXNnc3RyICIiCisiT3Bvem9yaWxvOiBCTEtHRVRTSVpFIGlvY3RsIG5pIHVzcGVsIG5hICVzLiBVcG9yYWJsamEgc2UgZ2VvbWV0cmlqc2thIHZyZWRub3N0IHN0ZXplICVkLlxuIgorIlRhIHZyZWRub3N0IHNlIGxhaGtvIHNrcmFquWEgemEgbmFwcmF2ZSA+IDMzLjggR0IuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDUxCisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU0dJIGRpc2tsYWJlbC4iCittc2dzdHIgIiAgIHMgICB1c3R2YXJpIG5vdm8gcHJhem5vIG96bmFrbyBkaXNrYSB0aXBhIFN1biIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNzAKKyMsIGZ1enp5Cittc2dpZCAiU29ycnksIG9ubHkgZm9yIG5vbi1lbXB0eSBwYXJ0aXRpb25zIHlvdSBjYW4gY2hhbmdlIHRoZSB0YWcuIgorbXNnc3RyICKuYWwgbGFoa28gc2FtbyBzaXN0ZW1za2kgc2tyYm5payBzcHJlbWluaiBzaXN0ZW1za28gdXJvLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3NgorIywgZnV6enkKK21zZ2lkICJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiA5IGFzIHZvbHVtZSBoZWFkZXIgKDApLCBhbmQgcGFydGl0aW9uIDExIGFzIGVudGlyZSB2b2x1bWUgKDYpLCBhcyBJUklYIGV4cGVjdHMgaXQuIgorbXNnc3RyICIiCisiUmF6ZGVsZWsgOSBwdXN0aXRlIGtvdCBvYnNlZ292byBnbGF2b1t2b2x1bWUgaGVhZGVyXSAoMCksXG4iCisicmF6ZGVsZWsgMTEgcGEga290IGNlbG90bmkgZGVsICg2KSwga290IHByaehha3VqZSBJUklYLlxuIgorIlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA4NQorIywgZnV6enkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwIGlzIG9mIHR5cGUgXCJTR0kgdm9saGRyXCIsIHRoZSBJUklYIHN5c3RlbSB3aWxsIHJlbHkgb24gaXQgdG8gcmV0cmlldmUgZnJvbSBpdHMgZGlyZWN0b3J5IHN0YW5kYWxvbmUgdG9vbHMgbGlrZSBzYXNoIGFuZCBmeC4gT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiBBcmUgeW91IHN1cmUgYWJvdXQgdGFnZ2luZyB0aGlzIHBhcnRpdGlvbiBkaWZmZXJlbnRseT8iCittc2dzdHIgIiIKKyJQcmlwb3Jv6GxqaXZvIGplLCBkYSBqZSByYXpkZWxlayBuYSBvZG1pa3UgMCB0aXBhIFwiU0dJIHZvbGhkclwiLFxuIgorInNpc3RlbSBJUklYIHNlIHphbmG5YSBuYSB0bywgZGEgbGFoa28gdXBvcmFibGphIG9yb2RqYSBrb3Qgc28gXG4iCisic2FzaCBpbiBmeCB6IG5qZWdhLiBTYW1vIFwiU0dJIG9ic2VnXCIgY2Vsb3RlbiBkZWwgZGlza2EgbGFoa29cbiIKKyJrcrlpIHRvLiBWdGlwa2FqdGUgREEsIOhlIHJlc25p6G5vIL5lbGl0ZSBvem5h6Gl0aSB0byBwYXJ0aWNpam8gZHJ1Z2HoZS5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQwCittc2dpZCAiVW5hc3NpZ25lZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDIKK21zZ2lkICJTdW5PUyByb290IgorbXNnc3RyICJTdW5PUyBrb3JlbnNrYSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzCittc2dpZCAiU3VuT1Mgc3dhcCIKK21zZ3N0ciAiU3VuT1MgaXptZW5qYWxuYSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ0Cittc2dpZCAiU3VuT1MgdXNyIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NQorbXNnaWQgIldob2xlIGRpc2siCittc2dzdHIgIkNlbG90ZW4gZGlzayIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2Cittc2dpZCAiU3VuT1Mgc3RhbmQiCittc2dzdHIgIlN1bk9TIHN0YW5kIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyB2YXIiCittc2dzdHIgIlN1bk9TIHZhciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ4Cittc2dpZCAiU3VuT1MgaG9tZSIKK21zZ3N0ciAiU3VuT1MgaG9tZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ5CisjLCBmdXp6eQorbXNnaWQgIlN1bk9TIGFsdCBzZWN0b3JzIgorbXNnc3RyICIlbGxkIG5lZG9kZWxqZW5paCBzZWt0b3JqZXZcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUwCisjLCBmdXp6eQorbXNnaWQgIlN1bk9TIGNhY2hlZnMiCittc2dzdHIgIlN1bk9TIGhvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MQorIywgZnV6enkKK21zZ2lkICJTdW5PUyByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTM3CisjLCBmdXp6eQorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4gUHJvYmFibHkgeW91J2xsIGhhdmUgdG8gc2V0IGFsbCB0aGUgdmFsdWVzLCBlLmcuIGhlYWRzLCBzZWN0b3JzLCBjeWxpbmRlcnMgYW5kIHBhcnRpdGlvbnMgb3IgZm9yY2UgYSBmcmVzaCBsYWJlbCAocyBjb21tYW5kIGluIG1haW4gbWVudSkiCittc2dzdHIgIiIKKyJaYXpuYW5hIGplIGJpbGEgc3VuLW92YSBvem5ha2EgZGlza2EgeiBuYXBh6G5vIGtvbnRyb2xub1xuIgorInZzb3RvLiBWZXJqZXRubyBib3N0ZSBtb3JhbGkgbmFzdGF2aXRpIHZzZSB2cmVkbm9zdGlcbiIKKyIobnByLiBnbGF2ZSwgc2VrdG9yamksIHN0ZXplLCByYXpkZWxraSkgYWxpIHByaXNpbGl0aVxuIgorInN2Zb5vIG96bmFrbyAodWtheiBzIHYgZ2xhdm5lbSBtZW5panUpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2ZXJzaW9uIFslZF0uIgorbXNnc3RyICJaYXpuYW5hIGplIGJpbGEgZGlza292bmEgb3puYWthIHRpcGEgU0dJIHogbmFwYehubyBrb250cm9sbm8gdnNvdG8uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLnNhbml0eSBbMHglMDh4XS4iCittc2dzdHIgIlphem5hbmEgamUgYmlsYSBkaXNrb3ZuYSBvem5ha2EgdGlwYSBTR0kgeiBuYXBh6G5vIGtvbnRyb2xubyB2c290by5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2MubnBhcnRzIFsldV0uIgorbXNnc3RyICJaYXpuYW5hIGplIGJpbGEgZGlza292bmEgb3puYWthIHRpcGEgU0dJIHogbmFwYehubyBrb250cm9sbm8gdnNvdG8uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiV2FybmluZzogV3JvbmcgdmFsdWVzIG5lZWQgdG8gYmUgZml4ZWQgdXAgYW5kIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkiCittc2dzdHIgIk9wb3pvcmlsbzogbmV2ZWxqYXZuYSB6YXN0YXZpY2EgMHglMDR4IHRhYmVsZSByYXpkZWxrb3YgJWQgYm8gcG9wcmF2bGplbmEgeiB3KHJpdGUpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTIKK21zZ2lkICJIZWFkcyIKK21zZ3N0ciAiR2xhdiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE5NAorbXNnaWQgIlNlY3RvcnMvdHJhY2siCittc2dzdHIgIlNla3RvcmppL3NsZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoyOTcKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTdW4gZGlza2xhYmVsLiIKK21zZ3N0ciAiICAgcyAgIHVzdHZhcmkgbm92byBwcmF6bm8gb3puYWtvIGRpc2thIHRpcGEgU3VuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZG9lc24ndCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJSYXpkZWxlayAlZCBzZSBuZSBrb27oYSBuYSBtZWppIHMgc3Rlem9cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggb3RoZXJzIGluIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICJSYXpkZWxlayAlZCBzZSBwcmVrcml2YSB6IGRydWdpbWkgdiBzZWt0b3JqaWggJWQtJWRcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgMC0ldS4iCittc2dzdHIgIk5lcG9yYWJsamVuIHByb3N0b3IgLSBzZWt0b3JqaSAwLSVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjUgbGliZmRpc2svc3JjL3N1bi5jOjQ3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICJOZXBvcmFibGplbiBwcm9zdG9yIC0gc2VrdG9yamkgJWQtJWRcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUyOAorIywgZnV6enkKK21zZ2lkICJPdGhlciBwYXJ0aXRpb25zIGFscmVhZHkgY292ZXIgdGhlIHdob2xlIGRpc2suIERlbGV0ZSBzb21lL3NocmluayB0aGVtIGJlZm9yZSByZXRyeS4iCittc2dzdHIgIiIKKyJEcnVnaSByYXpkZWxraSC+ZSBwcmVrcml2YWpvIHZlcyBkaXNrLlxuIgorIkl6YnJpuWl0ZS9wb21hbmq5YWp0ZSBuZWthdGVyZSBwcmVkZW4gcG9ub3ZubyBwb3NrdXNpdGUuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlZCBpcyBhbHJlYWR5IGFsbG9jYXRlZCIKK21zZ3N0ciAiU2VrdG9yICVkIGplIL5lIGRvZGVsamVuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2MDAKKyMsIGZ1enp5Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHRoaXJkIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIHdob2xlIGRpc2sgYW5kIGlzIG9mIHR5cGUgYFdob2xlIGRpc2snIgorbXNnc3RyICIiCisiUHJpcG9yb+hsaml2byBqZSwgZGEgZW5hanN0aSByYXpkZWxla1xuIgorInByZWtyaXZhIGNlbG90ZW4gZGlzayBpbiBqZSB0aXBhIGBTR0kgdm9sdW1lJ1xuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NjEwCisjLCBjLWZvcm1hdAorbXNnaWQgIkFsaWduaW5nIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSAldSB0byAldSB0byBiZSBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjY4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBoYXZlbid0IGNvdmVyZWQgdGhlIHdob2xlIGRpc2sgd2l0aCB0aGUgM3JkIHBhcnRpdGlvbiwgYnV0IHlvdXIgdmFsdWVcbiIKKyIlbHUgJXMgY292ZXJzIHNvbWUgb3RoZXIgcGFydGl0aW9uLiBZb3VyIGVudHJ5IGhhcyBiZWVuIGNoYW5nZWRcbiIKKyJ0byAlbHUgJXMiCittc2dzdHIgIiIKKyJOaXN0ZSBwb2tyaWxpIGNlbG90bmVnYSBkaXNrYSBzIHRyZXRqaW0gcmF6ZGVsa29tLCBhbXBhayB2YblhIHZyZWRub3N0XG4iCisiJWQgJXMgcHJla3JpdmEgbmVrYXRlcmUgZHJ1Z2UgcmF6ZGVsa2UuIFZhuSB2bm9zIGplIGJpbCBzcHJlbWVuamVuXG4iCisibmEgJWQgJXNcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjcyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gU3VuT1MvU29sYXJpcyBjb21wYXRpYmlsaXR5LCBjb25zaWRlciBsZWF2aW5nIHRoaXMgcGFydGl0aW9uIGFzIFdob2xlIGRpc2sgKDUpLCBzdGFydGluZyBhdCAwLCB3aXRoICV1IHNlY3RvcnMiCittc2dzdHIgIiIKKyLIZSC+ZWxpdGUgb2hyYW5pdGkgemRydb5saml2b3N0IHMgU3VuT1MvU29sYXJpcywgcG90ZW0gcHVzdGl0ZVxuIgorInRhIHJhemRlbGVrIGtvdCBDZWxvdGVuIGRpc2sgKDUpLCB6IHph6GV0a29tIG5hIDAgaW4gJXUgc2VrdG9yamlcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc1MAorIywgZnV6enkKK21zZ2lkICJMYWJlbCBJRCIKK21zZ3N0ciAib3puYWthOiAlLipzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NTUKKyMsIGZ1enp5Cittc2dpZCAiVm9sdW1lIElEIgorbXNnc3RyICJPYnNlZzogPCUtNnM+XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjUKK21zZ2lkICJBbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJBbHRlcm5hdGl2bmUgc3RlemUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo4NzEKK21zZ2lkICJOdW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiqXRldmlsbyBkcnVnaWggc3RleiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg5NgorbXNnaWQgIkV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJEb2RhdG5pIHNla3RvcmppIG5hIHN0ZXpvIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTIwCittc2dpZCAiSW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIkZha3RvciBwcmVwbGV0ZW5vc3RpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTQ0Cittc2dpZCAiUm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIkhpdHJvc3QgdnJ0ZW5qYSAob2JyYXRpL21pbikiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5NjgKK21zZ2lkICJOdW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICKpdGV2aWxvIGZpemnobmloIHN0ZXoiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDM3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiAzIGFzIFdob2xlIGRpc2sgKDUpLFxuIgorImFzIFN1bk9TL1NvbGFyaXMgZXhwZWN0cyBpdCBhbmQgZXZlbiBMaW51eCBsaWtlcyBpdC5cbiIKK21zZ3N0ciAiIgorIlJhem1pc2xpdGUgbyB0ZW0sIGRhIHB1c3RpdGUgcmF6ZGVsZWsgMyBrb3QgY2Vsb3RuaSBkaXNrICg1KS5cbiIKKyJUYWsgamUgZG9nb3ZvciB2IFN1bk9TL1NvbGFyaXMsIExpbnV4IHBhIGdhIHNwb7l0dWplLlxuIgorIlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA0OAorIywgZnV6enkKK21zZ2lkICIiCisiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMFxuIgorImlzIFVGUywgRVhUMkZTIGZpbGVzeXN0ZW0gb3IgU3VuT1Mgc3dhcC4gUHV0dGluZyBMaW51eCBzd2FwXG4iCisidGhlcmUgbWF5IGRlc3Ryb3kgeW91ciBwYXJ0aXRpb24gdGFibGUgYW5kIGJvb3RibG9jay5cbiIKKyJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdGFnIHRoZSBwYXJ0aXRpb24gYXMgTGludXggc3dhcD8iCittc2dzdHIgIiIKKyJaZWxvIGplIHByaXBvcm/obGppdm8gcHVzdGl0aSByYXpkZWxlayB6IG9kbWlrb20gMFxuIgorImtvdCBVRlMsIEVYVDJGUyBkYXQuIHNpc3RlbSBhbGkgU3VuT1MgaXptZW5qYWxuaS4gyGUgXG4iCisicG9zdGF2aXRlIHRqYSBMaW51eCBpem1lbmphbG5pIHRvIGxhaGtvIHVuaehpIHRhYmVsbyBcbiIKKyJyYXpkZWxrb3YgaW4gemFnb25za2kgYmxvay4gVm5lc2l0ZSBEQSwg6GUgcmVzIL5lbGl0ZVxuIgorImRhIHNlIHRhIHJhemRlbGVrIG96bmHoaSBrb3QgODIgKExpbnV4IGl6bWVuamFsbmkpOiAiCisKKyM6IGxpYi9wYWdlci5jOjExMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FpdHBpZCBmYWlsZWQgKCVzKSIKK21zZ3N0ciAia2xpYyBzZXR1aWQoKSBuaSB1c3BlbCIKKworIzogbGliL3BhdGguYzoyMDkgc3lzLXV0aWxzL2xzY3B1LmM6MTgxOAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY2FsbG9jYXRlIGNwdSBzZXQiCittc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYS5cbiIKKworIzogbGliL3BhdGguYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdCAlcyIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IGxpYi9wYXRoLmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2sgJXMiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjcyCisjLCBmdXp6eQorbXNnaWQgImNhbiBub3Qgb3BlbiBVTklYIHNvY2tldCIKK21zZ3N0ciAibmkgbW9nb+hlIG9kcHJldGkgJXMiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzgKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG5vdCBzZXQgb3B0aW9uIGZvciBVTklYIHNvY2tldCIKK21zZ3N0ciAiT2Rtb3JhIHphICVzIG5pIG1vZ2/oZSBkb2JpdGk6ICVzXG4iCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG5vdCBjb25uZWN0IG9uIFVOSVggc29ja2V0IgorbXNnc3RyICJuaSBtb2dv6GUgb2RwcmV0aSAlcyIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHBseW1vdXRoIHJlcXVlc3QgJWMgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICIiCisKKyM6IGxpYi9yYW5kdXRpbHMuYzoxMzYKK21zZ2lkICJsaWJjIHBzZXVkby1yYW5kb20gZnVuY3Rpb25zIgorbXNnc3RyICIiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MTcgbGliL3N3YXBwcm9iZXIuYzozMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBwcm9iZSBkZXZpY2UiCittc2dzdHIgIml6bWVuamFsbmUgbmFwcmF2ZSBuaSBtb2dv6GUgcHJldml0aSIKKworIzogbGliL3N3YXBwcm9iZXIuYzozMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYW1iaWd1b3VzIHByb2JpbmcgcmVzdWx0OyB1c2Ugd2lwZWZzKDgpIgorbXNnc3RyICIiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSB2YWxpZCBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAiJXM6IHRhayByYXpkZWxlayBuZSBvYnN0YWphXG4iCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6NDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bnN1cHBvcnRlZCBzd2FwIHZlcnNpb24gJyVzJyIKK21zZ3N0ciAiJXM6IG5hcGFrYTogbmV6bmFuYSByYXpsaehpY2EgJWRcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjkwIGxvZ2luLXV0aWxzL2Noc2guYzo2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAidXBvcmFiYTogbmFtZWkgWy1teF0gaW1lbmlrIFtpbWVuaWsgLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHlvdXIgZmluZ2VyIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJTcHJlbWluamFtIGZpbmdlciBpbmZvcm1hY2lqbyB6YSAlcy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk2Cittc2dpZCAiIC1mLCAtLWZ1bGwtbmFtZSA8ZnVsbC1uYW1lPiAgcmVhbCBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk3Cittc2dpZCAiIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICAgb2ZmaWNlIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tb2ZmaWNlLXBob25lIDxwaG9uZT4gICBvZmZpY2UgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiIKKyJbIC1wIHBpc2Fybmm5a2ktdGVsIF1cbiIKKyJcdFsgLWggZG9tYehpLXRlbCAgIF0gIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTkKK21zZ2lkICIgLWgsIC0taG9tZS1waG9uZSA8cGhvbmU+ICAgICBob21lIHBob25lIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDEgbG9naW4tdXRpbHMvY2hzaC5jOjc4Cittc2dpZCAiIC11LCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjExNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmllbGQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgInBvbGplIGplIHByZWRvbGdvLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTIxIGxvZ2luLXV0aWxzL2Noc2guYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGhhcyBpbGxlZ2FsIGNoYXJhY3RlcnMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1MCBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW4uZGVmcyBmb3JiaWRzIHNldHRpbmcgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTU4IGxvZ2luLXV0aWxzL2NoZm4uYzozMDkKK21zZ2lkICJPZmZpY2UiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2MiBsb2dpbi11dGlscy9jaGZuLmM6MTY0IGxvZ2luLXV0aWxzL2NoZm4uYzozMTEKK21zZ2lkICJPZmZpY2UgUGhvbmUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2OCBsb2dpbi11dGlscy9jaGZuLmM6MTcwIGxvZ2luLXV0aWxzL2NoZm4uYzozMTMKK21zZ2lkICJIb21lIFBob25lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyMzMKKyMsIGZ1enp5Cittc2dpZCAiQWJvcnRlZC4iCittc2dzdHIgIiIKKyJcbiIKKyJQcmVraW5qZW5vLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGhhcyB1bmV4cGVjdGVkIHZhbHVlOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGRvZXMgbm90IGFsbG93IGFueSBjaGFuZ2VzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuXG4iCittc2dzdHIgIkZpbmdlciBpbmZvcm1hY2lqYSBOSSBzcHJlbWVuamVuYS4gUG9za3VzaXRlIHBvbm92bm8ga2FzbmVqZS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gY2hhbmdlZC5cbiIKK21zZ3N0ciAiRmluZ2VyIGluZm9ybWFjaWphIHNwcmVtZW5qZW5hLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDA4IGxvZ2luLXV0aWxzL2Noc2guYzoyNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInlvdSAodXNlciAlZCkgZG9uJ3QgZXhpc3QuIgorbXNnc3RyICIlczogdmkgKHVwb3JhYm5payAlZCkgbmUgb2JzdGFqYXRlLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDE0IGxvZ2luLXV0aWxzL2Noc2guYzoyNDggbG9naW4tdXRpbHMvbGlidXNlci5jOjU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIFwiJXNcIiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIiVzOiB1cG9yYWJuaWsgXCIlc1wiIG5lIG9ic3RqYS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQyMCBsb2dpbi11dGlscy9jaHNoLmM6MjU0CisjLCBmdXp6eQorbXNnaWQgImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzIgorbXNnc3RyICIlczogbGFoa28gc3ByZW1pbmphIHNhbW8gbG9rYWxuZSB2bm9zZTsgbmFtZXN0byB0ZWdhIHVwb3JhYml0ZSB5cCVzIC5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBmaW5nZXIgaW5mbyBvZiAlcyIKK21zZ3N0ciAiJXM6ICVzIG5pbWEgcHJpc3Rvam5vc3RpIHphIHNwcmVtaW5qYW5qZSBpbmZvcm1hY2lqZSBmaW5nZXIgb2QgJXNcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzNSBsb2dpbi11dGlscy9jaHNoLmM6MjcwCisjLCBmdXp6eQorbXNnaWQgIlVua25vd24gdXNlciBjb250ZXh0IgorbXNnc3RyICJOZXpuYW5hIG5hcGFrYSB2IHVwb3JhYm5puWtpIHp2ZXppW3VzZXIgY29udGV4dF0iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NDEgbG9naW4tdXRpbHMvY2hzaC5jOjI3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgc2V0IGRlZmF1bHQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIiVzOiBOZSBtb3JlIHNlIG5hc3Rhdml0aSBwcml2emV0ZSB6dmV6ZVtjb250ZXh0XSB6YSAvZXRjL3Bhc3N3ZCIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MgorIywgZnV6enkKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICIlczogVGVrb+hpIFVJRCBuZSB1c3RyZXphIFVJRHUgdXBvcmFibmlrYSwga2kgZ2EgYb51cmlyYW1vLCBzcHJlbWVtYmEgbHVwaW5lIHphbmlrYW5hXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgZmluZ2VyIGluZm9ybWF0aW9uIGZvciAlcy5cbiIKK21zZ3N0ciAiU3ByZW1pbmphbSBmaW5nZXIgaW5mb3JtYWNpam8gemEgJXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIG5vdCBjaGFuZ2VkLlxuIgorbXNnc3RyICJGaW5nZXIgaW5mb3JtYWNpamEgbmkgc3ByZW1lbmplbmEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3MgorIywgZnV6enkKK21zZ2lkICJDaGFuZ2UgeW91ciBsb2dpbiBzaGVsbC5cbiIKK21zZ3N0ciAiU3ByZW1pbmphbSBsdXBpbm8gemEgJXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgc3BlY2lmeSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIgIC1zLCAgLS1zaGVsbD1sdXBpbmEgICAgICAgICAgTmFzdGF2aSBsdXBpbnNrbyBrb252ZW5jaWpvIGNpdGlyYW5qYVxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6NzYKK21zZ2lkICIgLWwsIC0tbGlzdC1zaGVsbHMgICAgcHJpbnQgbGlzdCBvZiBzaGVsbHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MTAwCisjLCBmdXp6eQorbXNnaWQgIk5vIGtub3duIHNoZWxscy4iCittc2dzdHIgIk5pIHpuYW5paCBsdXBpbi5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIwMAorIywgZnV6enkKK21zZ2lkICJzaGVsbCBtdXN0IGJlIGEgZnVsbCBwYXRoIG5hbWUiCittc2dzdHIgIiVzOiBsdXBpbmEgbW9yYSBiaXRpIHBvbG5vIGltZSBwb3RpLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiVzOiBcIiVzXCIgbmUgb2JzdGFqYS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGlzIG5vdCBleGVjdXRhYmxlIgorbXNnc3RyICIlczogXCIlc1wiIG5pIGl6dnK5bGppdmEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IFwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLiIKK21zZ3N0ciAiT3Bvem9yaWxvOiBcIiVzXCIgbmkgbmEgc2V6bmFtdSB2IC9ldGMvc2hlbGxzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjE0IGxvZ2luLXV0aWxzL2Noc2guYzoyMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy5cbiIKKyJVc2UgJXMgLWwgdG8gc2VlIGxpc3QuIgorbXNnc3RyICIlczogXCIlc1wiIG5pIG5hIHNlem5hbXUgdiAvZXRjL3NoZWxscy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBzaGVsbCBvZiAlcyIKK21zZ3N0ciAiJXM6ICVzIG5pbWEgcHJpc3Rvam5vc3RpIHphIHNwcmVtZW1ibyBsdXBpbmUgJXNcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI5NQorIywgZnV6enkKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICIlczogVGVrb+hpIFVJRCBuZSB1c3RyZXphIFVJRHUgdXBvcmFibmlrYSwga2kgZ2EgYb51cmlyYW1vLCBzcHJlbWVtYmEgbHVwaW5lIHphbmlrYW5hXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInlvdXIgc2hlbGwgaXMgbm90IGluICVzLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICIlczogVmG5YSBsdXBpbmEgbmkgdiAvZXRjL3NoZWxscywgc3ByZW1lbWJhIGx1cGluZSB6YW5pa2FuYVxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIHNoZWxsIGZvciAlcy5cbiIKK21zZ3N0ciAiU3ByZW1pbmphbSBsdXBpbm8gemEgJXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMTIKK21zZ2lkICJOZXcgc2hlbGwiCittc2dzdHIgIk5vdmEgbHVwaW5hIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzIwCisjLCBmdXp6eQorbXNnaWQgIlNoZWxsIG5vdCBjaGFuZ2VkLiIKK21zZ3N0ciAiTHVwaW5hIG5pIGJpbGEgc3ByZW1lbmplbmEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjUKKyMsIGZ1enp5Cittc2dpZCAiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIkx1cGluYSBOSSBiaWxhIHNwcmVtZW5qZW5hLiBQb3NrdXNpdGUgem5vdmEga2FzbmVqZS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyOQorIywgZnV6enkKK21zZ2lkICIiCisic2V0cHduYW0gZmFpbGVkXG4iCisiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIkx1cGluYSBOSSBiaWxhIHNwcmVtZW5qZW5hLiBQb3NrdXNpdGUgem5vdmEga2FzbmVqZS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICJTaGVsbCBjaGFuZ2VkLlxuIgorbXNnc3RyICJMdXBpbmEgamUgYmlsYSBzcHJlbWVuamVuYS5cbiIKKworIzogbG9naW4tdXRpbHMvaXNsb2NhbC5jOjk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgPHBhc3N3b3JkZmlsZT4gPHVzZXJuYW1lPi4uLlxuIgorbXNnc3RyICJ1cG9yYWJhOiAlcyBbZGF0b3Rla2FdXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoxNzQgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjIwIHN5cy11dGlscy9kbWVzZy5jOjExOTMKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB0aW1lIGZvcm1hdDogJXMiCittc2dzdHIgIiVzOiBOZXpuYW4gdWthejogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjI4MSBsb2dpbi11dGlscy9sYXN0LmM6Mjg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnRlcnJ1cHRlZCAlcyIKK21zZ3N0ciAiIgorIlxuIgorInByZWtpbmplbm8gJTEwLjEwcyAlNS41cyBcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjQzOSBsb2dpbi11dGlscy9sYXN0LmM6NDUwCittc2dpZCAicHJlYWxsb2NhdGlvbiBzaXplIGV4Y2VlZGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT4uLi5dIFs8dHR5Pi4uLl1cbiIKK21zZ3N0ciAidXBvcmFiYTogbmFtZWkgWy1teF0gaW1lbmlrIFtpbWVuaWsgLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTcyCittc2dpZCAiU2hvdyBhIGxpc3Rpbmcgb2YgbGFzdCBsb2dnZWQgaW4gdXNlcnMuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NQorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NgorbXNnaWQgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBkaXNwbGF5IGhvc3RuYW1lcyBpbiB0aGUgbGFzdCBjb2x1bW5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc3Cittc2dpZCAiIC1kLCAtLWRucyAgICAgICAgICAgIHRyYW5zbGF0ZSB0aGUgSVAgbnVtYmVyIGJhY2sgaW50byBhIGhvc3RuYW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OQorIywgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgdXNlIGEgc3BlY2lmaWMgZmlsZSBpbnN0ZWFkIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MAorbXNnaWQgIiAtRiwgLS1mdWxsdGltZXMgICAgICBwcmludCBmdWxsIGxvZ2luIGFuZCBsb2dvdXQgdGltZXMgYW5kIGRhdGVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taXAgICAgICAgICAgICAgZGlzcGxheSBJUCBudW1iZXJzIGluIG51bWJlcnMtYW5kLWRvdHMgbm90YXRpb25cbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MgorbXNnaWQgIiAtbiwgLS1saW1pdCA8bnVtYmVyPiBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MworIywgZnV6enkKK21zZ2lkICIgLVIsIC0tbm9ob3N0bmFtZSAgICAgZG9uJ3QgZGlzcGxheSB0aGUgaG9zdG5hbWUgZmllbGRcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFByZXBpuWkgdGFiZWxvIHJhemRlbGtvdiBuYSB6YXNsb24gYWxpIHYgZGF0b3Rla28iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODQKK21zZ2lkICIgLXMsIC0tc2luY2UgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgc2luY2UgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NQorbXNnaWQgIiAtdCwgLS11bnRpbCA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyB1bnRpbCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg2Cittc2dpZCAiIC1wLCAtLXByZXNlbnQgPHRpbWU+IGRpc3BsYXkgd2hvIHdlcmUgcHJlc2VudCBhdCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg3CisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS1mdWxsbmFtZXMgICAgICBkaXNwbGF5IGZ1bGwgdXNlciBhbmQgZG9tYWluIG5hbWVzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODgKK21zZ2lkICIgLXgsIC0tc3lzdGVtICAgICAgICAgZGlzcGxheSBzeXN0ZW0gc2h1dGRvd24gZW50cmllcyBhbmQgcnVuIGxldmVsIGNoYW5nZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg5Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXBzIGluIHRoZSBzcGVjaWZpZWQgPGZvcm1hdD46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGltZXxzaG9ydHxmdWxsfGlzb1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo4ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlcyBiZWdpbnMgJXMiCittc2dzdHIgIiIKKyJcbiIKKyJ3dG1wIHph6GVuamEgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NTYgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2NAorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIgorbXNnc3RyICJOZXVzcGW5bm8gemFwaXNvdmFuamUgcmF6ZGVsa2EgbmEgJXNcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk3NyBsb2dpbi11dGlscy9sYXN0LmM6OTgyIGxvZ2luLXV0aWxzL2xhc3QuYzo5ODcKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWUgdmFsdWUgXCIlc1wiIgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6MjkgbG9naW4tdXRpbHMvbGlidXNlci5jOjMxCittc2dpZCAiQ291bGRuJ3QgZHJvcCBncm91cCBwcml2aWxlZ2VzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibGlidXNlciBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVzLiIKK21zZ3N0ciAiIgorIlxuIgorIk5hcGFrYSBwcmkgemFwaXJhbmp1IGRhdG90ZWtlXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1MgorIywgZnV6enkKK21zZ2lkICJjaGFuZ2luZyB1c2VyIGF0dHJpYnV0ZSBmYWlsZWQiCittc2dzdHIgImRvZGVsamVuaSBzZW1hZm9yamkgPSAlZFxuIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICV1IGlzIDYwLgorIzogbG9naW4tdXRpbHMvbG9naW4uYzoxODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRpbWVkIG91dCBhZnRlciAldSBzZWNvbmRzIgorbXNnc3RyICJQcmlqYXZhIGplIHBvdGVrbGEgcG8gJWQgc2VrdW5kYWguXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogY2FuJ3QgcmVvcGVuIHR0eTogJW0iCittc2dzdHIgIlVTT0ROQSBOQVBBS0E6IHR0eSBuaSBtb2dv6GUgem5vdmEgb2RwcmV0aTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXMgaXMgbm90IGEgdGVybWluYWwiCittc2dzdHIgIiVzIG5pIHBvc2VibmEgYmxv6G5hIG5hcHJhdmEiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaG93biAoJXMsICVsdSwgJWx1KSBmYWlsZWQ6ICVtIgorbXNnc3RyICJwcmlrbG9wIG5pIHVzcGVsIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2htb2QgKCVzLCAldSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiL2RldjogY2hkaXIoKSBuaSB1c3BlbDogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mzc1Cittc2dpZCAiRkFUQUw6IGJhZCB0dHkiCittc2dzdHIgIlVTT0ROQSBOQVBBS0E6IHBvuWtvZG92YW4gdHR5IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXM6IGNoYW5nZSBwZXJtaXNzaW9ucyBmYWlsZWQ6ICVtIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgbG9naW46ICUuKnMgIgorbXNnc3RyICJaYWRuamEgcHJpamF2YTogJS4qcyAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTMxCisjLCBjLWZvcm1hdAorbXNnaWQgImZyb20gJS4qc1xuIgorbXNnc3RyICJ6IHJh6HVuYWxuaWthICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAib24gJS4qc1xuIgorbXNnc3RyICJ6IGxpbmlqZSAlLipzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTUyCisjLCBmdXp6eQorbXNnaWQgIndyaXRlIGxhc3Rsb2cgZmFpbGVkIgorbXNnc3RyICJPZHBpcmFuamUgJXMgbmkgdXNwZWxvIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJESUFMVVAgQVQgJXMgQlkgJXMiCittc2dzdHIgIlRFTEVGT05TS0EgUFJJSkFWQSBaIExJTklKRSAlcywgVVBPUkFCTklLICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1NworIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIEZST00gJXMiCittc2dzdHIgIlNLUkJOSalLQSBQUklKQVZBIFogUkHIVU5BTE5JS0EgJXMsIFVQT1JBQk5JSyAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyIKK21zZ3N0ciAiU0tSQk5JqUtBIFBSSUpBVkEgTkEgTElOSUpJICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorbXNnc3RyICJQUklKQVZBIE5BIExJTklKSSAlcyBVUE9SQUJOSUtBICVzIFogUkHIVU5BTE5JS0EgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIgorbXNnc3RyICJQUklKQVZBIE5BIExJTklKSSAlcyBVUE9SQUJOSUtBICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjcxOQorbXNnaWQgImxvZ2luOiAiCittc2dzdHIgInByaWphdmE6ICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCittc2dzdHIgImxvZ2luOiBQQU0gbmkgdXNwZWwsIHByZWtpbmphbTogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGRuJ3QgaW5pdGlhbGl6ZSBQQU06ICVzIgorbXNnc3RyICJQQU0gbmkgbW/oIGluaWNpYWxpemlyYXRpOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiAldSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIk5FVVNQRalOQSBQUklKQVZBICVkIElaICVzIFpBIFVQT1JBQk5JS0EgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgyNSBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTG9naW4gaW5jb3JyZWN0XG4iCisiXG4iCittc2dzdHIgIiIKKyJOZXByYXZpbG5hIHByaWphdmFcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRPTyBNQU5ZIExPR0lOIFRSSUVTICgldSkgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJQUkVWRcggUE9TS1VTT1YgUFJJSkFWRSAoJWQpIElaICVzIFpBICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOIFNFU1NJT04gRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJORVVTUEWpTkEgUFJJSkFWTkEgU0VKQSBJWiAlcyB6YSAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKK21zZ3N0ciAiIgorIlxuIgorIk5ldXNwZbluYSBwcmlqYXZhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODgyIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTIzMiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNTUKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gc2V0dXAgcHJvYmxlbSwgYWJvcnQuIgorbXNnc3RyICIiCisiXG4iCisiTmFwYWthIHByaSBuYXN0YXZsamFuanUgc2VqZSwgcHJla2luamFtLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICJOVUxMIHVzZXIgbmFtZSBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICJuaehlbG5vIHVwb3JhYm5puWtvIGltZSB2ICVzOiVkLiBQcmVraW5qYW0uIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVElPQ1NDVFRZIGZhaWxlZDogJW0iCittc2dzdHIgIlRJT0NTQ1RUWSBuaSB1c3BlbDogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibG9naW46IC1oIGlzIGZvciBzdXBlcnVzZXIgb25seVxuIgorbXNnc3RyICJsb2dpbjogLWggamUgbmEgdm9sam8gc2FtbyB6YSBzaXN0ZW1za2VnYSBza3JibmlrYS5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogbG9naW4gWy1wXSBbLWggPGhvc3Q+XSBbLUhdIFtbLWZdIDx1c2VybmFtZT5dXG4iCittc2dzdHIgInVwb3JhYmE6IGxhc3QgWy0jXSBbLWYgZGF0XSBbLXQgdHR5XSBbLWggaW1lIGdvc3RpdGVsamFdIFt1cG9yYWJuaWsgLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExOTEKKyMsIGZ1enp5Cittc2dpZCAiQmVnaW4gYSBzZXNzaW9uIG9uIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIk5hIHRlbSBzaXN0ZW11IHVwb3JhYmxqYXRlIHphc2Vu6GVuYSBnZXNsYS5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdXNlciBuYW1lIFwiJXNcIiBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICJOZXByYXZpbG5vIHVwb3JhYm5puWtvIGltZSBcIiVzXCIgdiAlczolZC4gUHJla2luamFtLiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJncm91cHMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorIlxuIgorIk5hcGFrYSBwcmkgemFwaXJhbmp1IGRhdG90ZWtlXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI3OQorIywgZnV6enkKK21zZ2lkICJzZXRnaWQoKSBmYWlsZWQiCittc2dzdHIgImtsaWMgc2V0dWlkKCkgbmkgdXNwZWwiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMwOQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBuZXcgbWFpbC5cbiIKK21zZ3N0ciAiyGFrYSB2YXMgbm92YSBwb7l0YS5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzExCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG1haWwuXG4iCittc2dzdHIgIshha2EgdmFzIHBvuXRhLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMjUKK21zZ2lkICJzZXR1aWQoKSBmYWlsZWQiCittc2dzdHIgImtsaWMgc2V0dWlkKCkgbmkgdXNwZWwiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzMSBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2hhbmdlIGRpcmVjdG9yeSBmYWlsZWQiCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzOCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2dpbmcgaW4gd2l0aCBob21lID0gXCIvXCIuXG4iCittc2dzdHIgIlZwaXN1amVtIHNlIHMgZG9tYehpbSBpbWVuaWtvbSA9IFwiL1wiLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNjcKKyMsIGZ1enp5Cittc2dpZCAiY291bGRuJ3QgZXhlYyBzaGVsbCBzY3JpcHQiCittc2dzdHIgImxvZ2luOiBza3JpcHRhIHVrYXpuZSBsdXBpbmUgbmkgbW/oIHBvZ25hdGk6ICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNjkKKyMsIGZ1enp5Cittc2dpZCAibm8gc2hlbGwiCittc2dzdHIgIk5pIHVrYXpuZSBsdXBpbmUiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjIwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGNvbnRhaW5zIGludmFsaWQgbnVtZXJpY2FsIHZhbHVlOiAlcyIKK21zZ3N0ciAiTmV2ZWxqYXZuYSB2cmVkbm9zdCBpbnRlcnZhbGE6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjM3NQorbXNnaWQgImh1c2ggbG9naW4gc3RhdHVzOiByZXN0b3JlIG9yaWdpbmFsIElEcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDggc3lzLXV0aWxzL2xzY3B1LmM6MTU0MCBzeXMtdXRpbHMvbHNjcHUuYzoxNTUwCittc2dpZCAibm8iCittc2dzdHIgIm5lIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNyBtaXNjLXV0aWxzL2xzYmxrLmM6MTgxCisjLCBmdXp6eQorbXNnaWQgInVzZXIgbmFtZSIKK21zZ3N0ciAiTmV2ZWxqYXZubyB1cG9yYWJuablrbyBpbWUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3CisjLCBmdXp6eQorbXNnaWQgIlVzZXJuYW1lIgorbXNnc3RyICJOZXZlbGphdm5vIHVwb3JhYm5puWtvIGltZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTggc3lzLXV0aWxzL3JlbmljZS5jOjU0CisjLCBmdXp6eQorbXNnaWQgInVzZXIgSUQiCittc2dzdHIgInVwb3JhYm5payIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKKyMsIGZ1enp5Cittc2dpZCAicGFzc3dvcmQgbm90IHJlcXVpcmVkIgorbXNnc3RyICJHZXNsbyBuaSBiaWxvIHNwcmVtZW5qZW5vLiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKKyMsIGZ1enp5Cittc2dpZCAiUGFzc3dvcmQgbm90IHJlcXVpcmVkIgorbXNnc3RyICJHZXNsbyBuaSBiaWxvIHNwcmVtZW5qZW5vLiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAibG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIiVzOiBkYXRvdGVrYSBza3VwaW5lIGplIHYgcmFiaS5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAiTG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIiVzOiBkYXRvdGVrYSBza3VwaW5lIGplIHYgcmFiaS5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKKyMsIGZ1enp5Cittc2dpZCAicGFzc3dvcmQgZGVmaW5lZCwgYnV0IGxvY2tlZCIKK21zZ3N0ciAiZ2VzbG8gc3ByZW1lbmplbm8sIHVwb3JhYm5payAlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKKyMsIGZ1enp5Cittc2dpZCAiUGFzc3dvcmQgaXMgbG9ja2VkIgorbXNnc3RyICJHZXNsbyBuaSBiaWxvIHNwcmVtZW5qZW5vLiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJsb2cgaW4gZGlzYWJsZWQgYnkgbm9sb2dpbig4KSBvciBwYW1fbm9sb2dpbig4KSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorIywgZnV6enkKK21zZ2lkICJObyBsb2dpbiIKK21zZ3N0ciAicHJpamF2YTogIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgInByaW1hcnkgZ3JvdXAgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworIywgZnV6enkKK21zZ2lkICJQcmltYXJ5IGdyb3VwIgorbXNnc3RyICJQcmltYXJlbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjQKK21zZ2lkICJwcmltYXJ5IGdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworIywgZnV6enkKK21zZ2lkICJob21lIGRpcmVjdG9yeSIKK21zZ3N0ciAiSW1lbmlrICVzIG5lIG9ic3RhamEhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3CisjLCBmdXp6eQorbXNnaWQgIkhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICJJbWVuaWsgJXMgbmUgb2JzdGFqYSFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKKyMsIGZ1enp5Cittc2dpZCAibG9naW4gc2hlbGwiCittc2dzdHIgIk5pIHVrYXpuZSBsdXBpbmUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4CisjLCBmdXp6eQorbXNnaWQgIlNoZWxsIgorbXNnc3RyICJOaSB1a2F6bmUgbHVwaW5lIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorIywgZnV6enkKK21zZ2lkICJmdWxsIHVzZXIgbmFtZSIKK21zZ3N0ciAiTmV2ZWxqYXZubyB1cG9yYWJuablrbyBpbWUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiR2Vjb3MgZmllbGQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKKyMsIGZ1enp5Cittc2dpZCAiZGF0ZSBvZiBsYXN0IGxvZ2luIgorbXNnc3RyICJ6YSBwcnZvIHZyc3RpY28iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCisjLCBmdXp6eQorbXNnaWQgIkxhc3QgbG9naW4iCittc2dzdHIgIlphZG5qYSBwcmlqYXZhOiAlLipzICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJsYXN0IHR0eSB1c2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCisjLCBmdXp6eQorbXNnaWQgIkxhc3QgdGVybWluYWwiCittc2dzdHIgIiVzIG5pIHBvc2VibmEgYmxv6G5hIG5hcHJhdmEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiaG9zdG5hbWUgZHVyaW5nIHRoZSBsYXN0IHNlc3Npb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBob3N0bmFtZSIKK21zZ3N0ciAibGFzdDogZG9iaSBpbWUgZ29zdGl0ZWxqYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKKyMsIGZ1enp5Cittc2dpZCAiZGF0ZSBvZiBsYXN0IGZhaWxlZCBsb2dpbiIKK21zZ3N0ciAibHN0YXQgaW1lbmlrYSBuaSB1c3BlbFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworbXNnaWQgIkZhaWxlZCBsb2dpbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorIywgZnV6enkKK21zZ2lkICJ3aGVyZSBkaWQgdGhlIGxvZ2luIGZhaWw/IgorbXNnc3RyICJPZHBpcmFuamUgJXMgbmkgdXNwZWxvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgbG9naW4gdGVybWluYWwiCittc2dzdHIgIk5ldXNwZblubyB6YXBpc292YW5qZSByYXpkZWxrYSBuYSAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgInVzZXIncyBodXNoIHNldHRpbmdzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAiSHVzaGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiZGF5cyB1c2VyIGlzIHdhcm5lZCBvZiBwYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiB3YXJuIGludGVydmFsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAicGFzc3dvcmQgZXhwaXJhdGlvbiBkYXRlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIk5hcGFrYSB2IGdlc2x1LiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiZGF0ZSBvZiBsYXN0IHBhc3N3b3JkIGNoYW5nZSIKK21zZ3N0ciAiVm5lc2l0ZSBzdGFybyBnZXNsbzogIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorIywgZnV6enkKK21zZ2lkICJQYXNzd29yZCBjaGFuZ2VkIgorbXNnc3RyICJHZXNsbyBqZSBiaWxvIHNwcmVtZW5qZW5vLlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIm51bWJlciBvZiBkYXlzIHJlcXVpcmVkIGJldHdlZW4gY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorIywgZnV6enkKK21zZ2lkICJNaW5pbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICIlczogYnJleiBzcHJlbWVtYlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZGF5cyBhIHBhc3N3b3JkIG1heSByZW1haW4gdW5jaGFuZ2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCisjLCBmdXp6eQorbXNnaWQgIk1heGltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIk5ldXNwZblubyB6YXBpc292YW5qZSByYXpkZWxrYSBuYSAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgInRoZSB1c2VyJ3Mgc2VjdXJpdHkgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorIywgZnV6enkKK21zZ2lkICJTZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIkxpbnV4IHBsYWludGV4dCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBydW4gYnkgdGhlIHVzZXIiCittc2dzdHIgIm5hai4guXQuIG9kc2Vrb3YgPSAlbHVcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAiUnVubmluZyBwcm9jZXNzZXMiCittc2dzdHIgIiVzOiBwcm9jZXNhIG5pIG1vZ2/oZSBuYWp0aSBcIiVzXCJcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyODggbWlzYy11dGlscy9maW5kbW50LmM6MTM2IG1pc2MtdXRpbHMvbHNibGsuYzoyMzEKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBjb2x1bW5zIHNwZWNpZmllZCwgdGhlIGxpbWl0IGlzICV6dSBjb2x1bW5zIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQzIHN5cy11dGlscy9sc2lwYy5jOjQ1NgorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB0aW1lIHR5cGUiCittc2dzdHIgIiVzOiBuZXpuYW4gYXJndW1lbnQ6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjb21wb3NlIHRpbWUgc3RyaW5nIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo2NDgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA3MQorIywgZnV6enkKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5rbm93biBjb2x1bW4iCittc2dzdHIgIm5vdHJhbmphIG5hcGFrYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDc1IHN5cy11dGlscy9sc2lwYy5jOjUwMyBzeXMtdXRpbHMvbHNpcGMuYzo2MjUKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY4MCBzeXMtdXRpbHMvbHNpcGMuYzo4Mzggc3lzLXV0aWxzL2xzaXBjLmM6MTAzNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGRhdGEiCittc2dzdHIgInN0YW5qYSAlcyBuaSBtb2dv6GUgZG9iaXRpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjExNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMYXN0IGxvZ3M6XG4iCittc2dzdHIgIlphZG5qYSBwcmlqYXZhOiAlLipzICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjI4IGxvZ2luLXV0aWxzL25vbG9naW4uYzoyNgorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTAxIG1pc2MtdXRpbHMvbWNvb2tpZS5jOjgyIG1pc2MtdXRpbHMvdXVpZGQuYzo3MAorIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjUgc3lzLXV0aWxzL2RtZXNnLmM6MjY0IHN5cy11dGlscy9pcGNtay5jOjY2CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTYwIHN5cy11dGlscy9sc2lwYy5jOjI3NyBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDQKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6OTUgdGVybS11dGlscy9zZXR0ZXJtLmM6MzgwIHRleHQtdXRpbHMvbGluZS5jOjMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzMQorbXNnaWQgIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQga25vd24gdXNlcnMgaW4gdGhlIHN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzQKK21zZ2lkICIgLWEsIC0tYWNjLWV4cGlyYXRpb24gICAgIGRpc3BsYXkgaW5mbyBhYm91dCBwYXNzd29yZHMgZXhwaXJhdGlvblxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNQorbXNnaWQgIiAtYywgLS1jb2xvbi1zZXBhcmF0ZSAgICAgZGlzcGxheSBkYXRhIGluIGEgZm9ybWF0IHNpbWlsYXIgdG8gL2V0Yy9wYXNzd2RcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzYgc3lzLXV0aWxzL2xzaXBjLmM6Mjk2CisjLCBmdXp6eQorbXNnaWQgIiAtZSwgLS1leHBvcnQgICAgICAgICAgICAgZGlzcGxheSBpbiBhbiBleHBvcnQtYWJsZSBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM3CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAgZGlzcGxheSBkYXRhIGFib3V0IHRoZSB1c2VycycgbGFzdCBmYWlsZWQgbG9naW5zXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgZ3JvdXBzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM5Cittc2dpZCAiIC1nLCAtLWdyb3Vwcz08Z3JvdXBzPiAgICBkaXNwbGF5IHVzZXJzIGJlbG9uZ2luZyB0byBhIGdyb3VwIGluIDxncm91cHM+XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQwCisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1sYXN0ICAgICAgICAgICAgICAgc2hvdyBpbmZvIGFib3V0IHRoZSB1c2VycycgbGFzdCBsb2dpbiBzZXNzaW9uc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQxCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb2dpbnM9PGxvZ2lucz4gICAgZGlzcGxheSBvbmx5IHVzZXJzIGZyb20gPGxvZ2lucz5cbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQyIHN5cy11dGlscy9sc2lwYy5jOjI5OAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGRpc3BsYXkgZWFjaCBwaWVjZSBvZiBpbmZvcm1hdGlvbiBvbiBhIG5ldyBsaW5lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQzIHN5cy11dGlscy9sc2lwYy5jOjI5MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDQgc3lzLXV0aWxzL2xzaXBjLmM6MjkyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub3RydW5jYXRlICAgICAgICAgZG9uJ3QgdHJ1bmNhdGUgb3V0cHV0XG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBuZSB6YXBpuWkgc3ByZW1lbWIgbmEgZGlzayIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0Wz08bGlzdD5dICAgIGRlZmluZSB0aGUgY29sdW1ucyB0byBvdXRwdXRcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW5peml6YmlyICAgICAgIEtyYXRrZSBpemJpcmUgemEgcHJlcG96bmF2b1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDYKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gbG9naW4gYnkgcGFzc3dvcmQuXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ3IHN5cy11dGlscy9sc2lwYy5jOjMwMgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIGRpc3BsYXkgaW4gcmF3IG1vZGVcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ4CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAgZGlzcGxheSBzeXN0ZW0gYWNjb3VudHNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ5IHN5cy11dGlscy9sc2lwYy5jOjI5MworbXNnaWQgIiAgICAgLS10aW1lLWZvcm1hdD08dHlwZT4gZGlzcGxheSBkYXRlcyBpbiBzaG9ydCwgZnVsbCBvciBpc28gZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUwCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2VyLWFjY3MgICAgICAgICAgZGlzcGxheSB1c2VyIGFjY291bnRzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MQorIywgZnV6enkKK21zZ2lkICIgLVosIC0tY29udGV4dCAgICAgICAgICAgIGRpc3BsYXkgU0VMaW51eCBjb250ZXh0c1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTIKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0IHVzZXIgZW50cmllcyB3aXRoIGEgbnVsIGNoYXJhY3RlclxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUzCittc2dpZCAiICAgICAtLXd0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIHd0bXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTQKK21zZ2lkICIgICAgIC0tYnRtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3IgYnRtcFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1OSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ3IHN5cy11dGlscy9sc2NwdS5jOjE5NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1uczpcbiIKK21zZ3N0ciAiUmF6cG9sb75saml2aSB1a2F6aTpcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDQyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZXF1ZXN0IHNlbGludXggc3RhdGUiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NTYgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDYwCittc2dpZCAiT25seSBvbmUgdXNlciBtYXkgYmUgc3BlY2lmaWVkLiBVc2UgLWwgZm9yIG11bHRpcGxlIHVzZXJzLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo0OSBsb2dpbi11dGlscy9uZXdncnAuYzo1NQorIywgZnV6enkKK21zZ2lkICJjb3VsZCBub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiCittc2dzdHIgIm5pIG1vZ2/oZSBkb2JpdGkgdmVsaWtvc3RpICVzIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo1NworIywgZnV6enkKK21zZ2lkICJnZXRsaW5lKCkgZmFpbGVkIgorbXNnc3RyICJrbGljIHNldHVpZCgpIG5pIHVzcGVsIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNDgKK21zZ2lkICJQYXNzd29yZDogIgorbXNnc3RyICJHZXNsbzogIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNTQgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMDUKKyMsIGZ1enp5Cittc2dpZCAiY3J5cHQgZmFpbGVkIgorbXNnc3RyICJtYWxsb2MgbmkgdXNwZWwiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxncm91cD5cbiIKK21zZ3N0ciAibmV3Z3JwOiBUYWthIHNrdXBpbmUgbmkuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjkKK21zZ2lkICJMb2cgaW4gdG8gYSBuZXcgZ3JvdXAuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjA3CisjLCBmdXp6eQorbXNnaWQgIndobyBhcmUgeW91PyIKK21zZ3N0ciAibmV3Z3JwOiBLZG8gc2k/IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTEgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjIzIHN5cy11dGlscy9uc2VudGVyLmM6NDIzCisjLCBmdXp6eQorbXNnaWQgInNldGdpZCBmYWlsZWQiCittc2dzdHIgImtsaWMgc2V0dWlkKCkgbmkgdXNwZWwiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxNiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTgKKyMsIGZ1enp5Cittc2dpZCAibm8gc3VjaCBncm91cCIKK21zZ3N0ciAibmV3Z3JwOiBUYWthIHNrdXBpbmUgbmkuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjEgc3lzLXV0aWxzL21vdW50LmM6NDkxCisjLCBmdXp6eQorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIgorbXNnc3RyICJtb3VudDogZG9zdG9wIHphdnJuamVuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjcgc3lzLXV0aWxzL25zZW50ZXIuYzo0MjUKKyMsIGZ1enp5Cittc2dpZCAic2V0dWlkIGZhaWxlZCIKK21zZ3N0ciAia2xpYyBzZXR1aWQoKSBuaSB1c3BlbCIKKworIzogbG9naW4tdXRpbHMvbm9sb2dpbi5jOjI5Cittc2dpZCAiUG9saXRlbHkgcmVmdXNlIGEgbG9naW4uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbm9sb2dpbi5jOjc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGlzIGFjY291bnQgaXMgY3VycmVudGx5IG5vdCBhdmFpbGFibGUuXG4iCittc2dzdHIgIlRhIGRpc2sgamUgdHJlbnV0bm8gdiByYWJpLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoyOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIHNlc3Npb246ICVzIgorbXNnc3RyICJuaSBtb2dv6GUgb2RwcmV0aSAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzA0CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjcmVhdGUgY2hpbGQgcHJvY2VzcyIKK21zZ3N0ciAiaWQtYSAlcyBuaSBtb2dv6GUgb2RzdHJhbml0aSAoJXMpXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIm5hbWVpOiB0cmVudXRuZWdhIGltZW5pa2EgbmkgbW9nb+hlIGRvYml0aSAtICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMyMQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgYmxvY2sgc2lnbmFscyIKK21zZ3N0ciAiRGF0b3Rla2UgLCVzYCBuaSBtb2dv6GUgb2RwcmV0aSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzM1IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM0MworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzQ5IG1pc2MtdXRpbHMvdXVpZGQuYzo0MDcgdGVybS11dGlscy9zY3JpcHQuYzo3NzEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiU2lnbmFsbmVnYSB1cHJhdmxqYWxuaWthIG5pIG1vZ2/oZSBuYXN0YXZpdGkiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM3NAorbXNnaWQgIiAoY29yZSBkdW1wZWQpIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLCBraWxsaW5nIHNoZWxsLi4uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC4uLmtpbGxlZC5cbiIKK21zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NDg2Cittc2dpZCAibWF5IG5vdCBiZSB1c2VkIGJ5IG5vbi1yb290IHVzZXJzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjUxNAorIywgZnV6enkKK21zZ2lkICJpbmNvcnJlY3QgcGFzc3dvcmQiCittc2dzdHIgIk5hcGHobm8gZ2VzbG8uIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1OTgKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBncm91cHMiCittc2dzdHIgIm1vdW50OiBoaXRyb3N0aSBuaSBtb2dv6GUgbmFzdGF2aXRpOiAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjEzIHN5cy11dGlscy9lamVjdC5jOjY2NQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwIGlkIgorbXNnc3RyICJtb3VudDogaGl0cm9zdGkgbmkgbW9nb+hlIG5hc3Rhdml0aTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjYxNSBzeXMtdXRpbHMvZWplY3QuYzo2NjgKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCB1c2VyIGlkIgorbXNnc3RyICJtb3VudDogaGl0cm9zdGkgbmkgbW9nb+hlIG5hc3Rhdml0aTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAtdSA8dXNlcj4gW1stLV0gPGNvbW1hbmQ+XVxuIgorbXNnc3RyICJ1cG9yYWJhOiBuYW1laSBbLW14XSBpbWVuaWsgW2ltZW5payAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY4OSBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJ1cG9yYWJhOiAlcyBwcm9ncmFtIFtpemJpcmEgLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2OTAKK21zZ2lkICIiCisiXG4iCisiUnVuIDxjb21tYW5kPiB3aXRoIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgb2YgPHVzZXI+LiAgSWYgLXUgaXNcbiIKKyJub3QgZ2l2ZW4sIGZhbGwgYmFjayB0byBzdSgxKS1jb21wYXRpYmxlIHNlbWFudGljcyBhbmQgZXhlY3V0ZSBzdGFuZGFyZCBzaGVsbC5cbiIKKyJUaGUgb3B0aW9ucyAtYywgLWYsIC1sLCBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC11LlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY5NworIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNlciA8dXNlcj4gICAgICAgICAgICAgdXNlcm5hbWVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDIKK21zZ2lkICIiCisiXG4iCisiQ2hhbmdlIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgdG8gdGhhdCBvZiA8dXNlcj4uXG4iCisiQSBtZXJlIC0gaW1wbGllcyAtbC4gIElmIDx1c2VyPiBpcyBub3QgZ2l2ZW4sIHJvb3QgaXMgYXNzdW1lZC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDkKK21zZ2lkICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBkbyBub3QgcmVzZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzEwCittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgICAgICAgICAgc3BlY2lmeSB0aGUgcHJpbWFyeSBncm91cFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMQorbXNnaWQgIiIKKyIgLUcsIC0tc3VwcC1ncm91cCA8Z3JvdXA+ICAgICAgICBzcGVjaWZ5IGEgc3VwcGxlbWVudGFsIGdyb3VwXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzEzCisjLCBmdXp6eQorbXNnaWQgIiAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgICAgIG1ha2UgdGhlIHNoZWxsIGEgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTQKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTUKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtLXNlc3Npb24tY29tbWFuZCA8Y29tbWFuZD4gICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvblxuIgorbXNnc3RyICIgICAgICAgICAgICAgICBQcnZpICAgICAgICBaYWRuamlcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE3CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgIHBhc3MgLWYgdG8gdGhlIHNoZWxsIChmb3IgY3NoIG9yIHRjc2gpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTgKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgICAgcnVuIDxzaGVsbD4gaWYgL2V0Yy9zaGVsbHMgYWxsb3dzIGl0XG4iCittc2dzdHIgIiAgLXMsICAtLXNoZWxsPWx1cGluYSAgICAgICAgICBOYXN0YXZpIGx1cGluc2tvIGtvbnZlbmNpam8gY2l0aXJhbmphXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc2MgorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXAgaXMgbm90IHBvc3NpYmxlIgorbXNnaWRfcGx1cmFsICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXBzIGlzIG5vdCBwb3NzaWJsZSIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXAgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiVzOiB1cG9yYWJuaWsgXCIlc1wiIG5lIG9ic3RqYS5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODg2Cittc2dpZCAiaWdub3JpbmcgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg5NworbXNnaWQgIm9wdGlvbnMgLS17c2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbn0gYW5kIC0tdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkwMQorIywgZnV6enkKK21zZ2lkICJubyBjb21tYW5kIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgIkl6YmlyYSAtLWRhdGUgbmkgYmlsYSBwb2RhbmEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkxNQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gc3BlY2lmeSBhbHRlcm5hdGl2ZSBncm91cHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2VyICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIlczogdXBvcmFibmlrIFwiJXNcIiBuZSBvYnN0amEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyByZXN0cmljdGVkIHNoZWxsICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIm5hbWVpOiB0cmVudXRuZWdhIGltZW5pa2EgbmkgbW9nb+hlIGRvYml0aSAtICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMzAKKyMsIGZ1enp5Cittc2dpZCAidGNnZXRhdHRyIGZhaWxlZCIKK21zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjIwNworIywgZnV6enkKK21zZ2lkICJ0Y3NldGF0dHIgZmFpbGVkIgorbXNnc3RyICJpc2thbmplIGplIGJpbG8gbmV1c3BluW5vIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiJXM6IG5pIG9kcHJ0byB6YSBicmFuamUvcGlzYW5qZSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290IgorbXNnc3RyICIlczogbmkgb2RwcnRvIHphIGJyYW5qZS9waXNhbmplIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcm9vdCBwYXNzd29yZCBnYXJibGVkIgorbXNnc3RyICIlczogZGF0b3Rla2Egc2t1cGluZSBqZSB2IHJhYmkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkNhbm5vdCBvcGVuIGFjY2VzcyB0byBjb25zb2xlLCB0aGUgcm9vdCBhY2NvdW50IGlzIGxvY2tlZC5cbiIKKyJTZWUgc3Vsb2dpbig4KSBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLlxuIgorIlxuIgorIlByZXNzIEVudGVyIHRvIGNvbnRpbnVlLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbG9naW46ICIKK21zZ3N0ciAiJXM6IGRhdG90ZWthIHNrdXBpbmUgamUgdiByYWJpLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbG9naW46ICIKK21zZ3N0ciAiJXM6IGRhdG90ZWthIHNrdXBpbmUgamUgdiByYWJpLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAiJXM6IGRhdG90ZWthIHNrdXBpbmUgamUgdiByYWJpLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIob3IgcHJlc3MgQ29udHJvbC1EIHRvIGNvbnRpbnVlKTogIgorbXNnc3RyICJBbGkgcmVzIL5lbGl0ZSBuYWRhbGpldmF0aSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc0MgorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IHRvIHN5c3RlbSByb290IGZhaWxlZCIKK21zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc5MQorIywgZnV6enkKK21zZ2lkICJzZXRleGVjY29uIGZhaWxlZCIKK21zZ3N0ciAiemFnb24gbmkgdXNwZWxcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbdHR5IGRldmljZV1cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxNAorbXNnaWQgIlNpbmdsZS11c2VyIGxvZ2luLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MTcKK21zZ2lkICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICBzdGFydCBhIGxvZ2luIHNoZWxsXG4iCisiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICBtYXggdGltZSB0byB3YWl0IGZvciBhIHBhc3N3b3JkIChkZWZhdWx0OiBubyBsaW1pdClcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGV4YW1pbmUgcGFzc3dvcmQgZmlsZXMgZGlyZWN0bHkgaWYgZ2V0cHduYW0oMykgZmFpbHNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODcxIG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NjMgc3lzLXV0aWxzL3dkY3RsLmM6NTIzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc1MCB0ZXJtLXV0aWxzL3dhbGwuYzoxMzUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50IgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODkzCisjLCBmdXp6eQorbXNnaWQgIm9ubHkgc3VwZXJ1c2VyIGNhbiBydW4gdGhpcyBwcm9ncmFtIgorbXNnc3RyICJtb3VudDogdG8gbGFoa28gaXp2ZWRlIHNhbW8gc2lzdGVtc2tpIHNrcmJuaWsiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5MzYKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gY29uc29sZSIKK21zZ3N0ciAibmkgbW9nb+hlIG9kcHJldGkgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5NDMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gcGFzc3dvcmQgZGF0YWJhc2UiCittc2dzdHIgIm1vdW50OiBoaXRyb3N0aSBuaSBtb2dv6GUgbmFzdGF2aXRpOiAlcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDYW4gbm90IGV4ZWN1dGUgc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiTmkgbW/oIHBvZ25hdGkgJXM6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDI3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJUaW1lZCBvdXRcbiIKKyJcbiIKK21zZ3N0ciAi6GFzIHNlIGplIGl6dGVrZWwiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDU5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJDYW4gbm90IHdhaXQgb24gc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiTmkgbW/oIHBvZ25hdGkgJXM6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTc2IHRleHQtdXRpbHMvdGFpbGYuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxODUgdGV4dC11dGlscy90YWlsZi5jOjE3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGlub3RpZnkgZXZlbnRzIgorbXNnc3RyICIlczogbmkgbW9nb+hlIG9kcHJldGkgJXNcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDYgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNTEKK21zZ2lkICJFeHRyYW5lb3VzIG5ld2xpbmUgaW4gZmlsZS4gRXhpdGluZy4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVuYW1lXVxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMgorbXNnaWQgIkR1bXAgVVRNUCBhbmQgV1RNUCBmaWxlcyBpbiByYXcgZm9ybWF0LlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE1CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb2xsb3cgICAgICAgICBvdXRwdXQgYXBwZW5kZWQgZGF0YSBhcyB0aGUgZmlsZSBncm93c1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTYKK21zZ2lkICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgd3JpdGUgYmFjayBkdW1wZWQgZGF0YSBpbnRvIHV0bXAgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8ZmlsZT4gIHdyaXRlIHRvIGZpbGUgaW5zdGVhZCBvZiBzdGFuZGFyZCBvdXRwdXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4NAorbXNnaWQgImZvbGxvd2luZyBzdGFuZGFyZCBpbnB1dCBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIHVuZHVtcCBvZiAlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgZHVtcCBvZiAlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiY2FuJ3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiJXM6IHph6GFzbmUgZGF0b3Rla2UgbmkgbW9nb+hlIG9kcHJldGkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjcmVhdGUgYSBsaW5rIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHByZWltZW5vdmFuamUgJXMgbmEgJXMgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBnZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIiVzOiBOaSBtb2dv6GUgZG9iaXRpIHp2ZXplIHphICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBzZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIiVzOiBOaSBtb2dv6GUgbmFzdGF2aXRpIHVwb3JhYm5puWtlIHp2ZXplIHphICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmNoYW5nZWQiCittc2dzdHIgIiVzOiAlcyBuaSBzcHJlbWVuamVub1xuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjU0CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgbG9jayIKK21zZ3N0ciAidmVqaXRldiBuaSBtb2dv6GEiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyODEKKyMsIGZ1enp5Cittc2dpZCAibm8gY2hhbmdlcyBtYWRlIgorbXNnc3RyICIlczogYnJleiBzcHJlbWVtYlxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjkwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjaG1vZCBmaWxlIgorbXNnc3RyICJEYXRvdGVrZSAsJXNgIG5pIG1vZ2/oZSBvZHByZXRpIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzA0Cittc2dpZCAiRWRpdCB0aGUgcGFzc3dvcmQgb3IgZ3JvdXAgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzUwCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgZ3JvdXBzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICJOYSB0ZW0gc2lzdGVtdSB1cG9yYWJsamF0ZSB6YXNlbuhlbmUgc2t1cGluZS5cbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM1MQorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IHBhc3N3b3JkcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAiTmEgdGVtIHNpc3RlbXUgdXBvcmFibGphdGUgemFzZW7oZW5hIGdlc2xhLlxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhpcyBwcm9ncmFtIHVzZXMgZm9yIHkgYW5kIG4gcnBtYXRjaCgzKSwKKyMuICogd2hpY2ggbWVhbnMgdGhleSBjYW4gYmUgdHJhbnNsYXRlZC4KKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV291bGQgeW91IGxpa2UgdG8gZWRpdCAlcyBub3cgW3kvbl0/ICIKK21zZ3N0ciAiQWxpIL5lbGl0ZSBhvnVyaXJhdGkgJXMgW3kvbl0/ICIKKworIzogbWlzYy11dGlscy9jYWwuYzozNzIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBtb250aCBhcmd1bWVudCIKK21zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworIzogbWlzYy11dGlscy9jYWwuYzozODAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB3ZWVrIGFyZ3VtZW50IgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjM4MgorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHVzZSAxLTU0IgorbXNnc3RyICJuZXZlbGphdm5hIHZyZWRub3N0IGxldGE6IHVwb3JhYml0ZSAxLTk5OTkiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZXN0YW1wIG9yIHVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQzMQorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZSIKK21zZ3N0ciAiTmVkb3ZvbGplbm8guXRldmlsbyBnbGF2IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQzMyBtaXNjLXV0aWxzL2NhbC5jOjQ1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWU6IHVzZSAxLSVkIgorbXNnc3RyICJuZXZlbGphdm5hIHZyZWRub3N0IGxldGE6IHVwb3JhYml0ZSAxLTk5OTkiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDM3IG1pc2MtdXRpbHMvY2FsLmM6NDQ1Cittc2dpZCAiaWxsZWdhbCBtb250aCB2YWx1ZTogdXNlIDEtMTIiCittc2dzdHIgIm5ldmVsamF2bmEgdnJlZG5vc3QgbWVzZWNhOiB1cG9yYWJpdGUgMS0xMiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgImxvZ2dlcjogbmV6bmFubyBwcmVkbm9zdG5vIGltZTogJXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDQ4IG1pc2MtdXRpbHMvY2FsLmM6NDUyCisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZSIKK21zZ3N0ciAiTmVkb3ZvbGplbm8guXRldmlsbyBnbGF2IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ1MAorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWU6IHVzZSBwb3NpdGl2ZSBpbnRlZ2VyIgorbXNnc3RyICJuZXZlbGphdm5hIHZyZWRub3N0IGxldGE6IHVwb3JhYml0ZSAxLTk5OTkiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDgyIG1pc2MtdXRpbHMvY2FsLmM6NDk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHllYXIgJWQgZG9lc24ndCBoYXZlIHdlZWsgJWQiCittc2dzdHIgIm5ldmVsamF2bmEgdnJlZG5vc3QgbGV0YTogdXBvcmFiaXRlIDEtOTk5OSIKKworIzogbWlzYy11dGlscy9jYWwuYzo2NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTA0ZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgJTA0ZCIKK21zZ3N0ciAiJXMgJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtbW2RheV0gbW9udGhdIHllYXJdXG4iCittc2dzdHIgInVwb3JhYmE6IGNhbCBbLTEzc21qeVZdIFtbbWVzZWNdIGxldG9dXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx0aW1lc3RhbXB8bW9udGhuYW1lPlxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5NworbXNnaWQgIkRpc3BsYXkgYSBjYWxlbmRhciwgb3Igc29tZSBwYXJ0IG9mIGl0LlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk4Cittc2dpZCAiV2l0aG91dCBhbnkgYXJndW1lbnRzLCBkaXNwbGF5IHRoZSBjdXJyZW50IG1vbnRoLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMQorIywgZnV6enkKK21zZ2lkICIgLTEsIC0tb25lICAgICAgICAgICAgIHNob3cgb25seSBhIHNpbmdsZSBtb250aCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMgorIywgZnV6enkKK21zZ2lkICIgLTMsIC0tdGhyZWUgICAgICAgICAgIHNob3cgdGhyZWUgbW9udGhzIHNwYW5uaW5nIHRoZSBkYXRlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDAzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1tb250aHMgPG51bT4gICAgc2hvdyBudW0gbW9udGhzIHN0YXJ0aW5nIHdpdGggZGF0ZSdzIG1vbnRoXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA0CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zcGFuICAgICAgICAgICAgc3BhbiB0aGUgZGF0ZSB3aGVuIGRpc3BsYXlpbmcgbXVsdGlwbGUgbW9udGhzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNQorbXNnaWQgIiAtcywgLS1zdW5kYXkgICAgICAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA2Cittc2dpZCAiIC1tLCAtLW1vbmRheSAgICAgICAgICBNb25kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDcKKyMsIGZ1enp5Cittc2dpZCAiIC1qLCAtLWp1bGlhbiAgICAgICAgICBvdXRwdXQgSnVsaWFuIGRhdGVzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA4CisjLCBmdXp6eQorbXNnaWQgIiAteSwgLS15ZWFyICAgICAgICAgICAgc2hvdyB0aGUgd2hvbGUgeWVhclxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwOQorIywgZnV6enkKK21zZ2lkICIgLVksIC0tdHdlbHZlICAgICAgICAgIHNob3cgdGhlIG5leHQgdHdlbHZlIG1vbnRoc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAxMAorbXNnaWQgIiAtdywgLS13ZWVrWz08bnVtPl0gICAgc2hvdyBVUyBvciBJU08tODYwMSB3ZWVrIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMTEKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbHVlPlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MzIKKyMsIGZ1enp5Cittc2dpZCAiRmluZCBhIGZpbGVzeXN0ZW0gYnkgbGFiZWwgb3IgVVVJRC5cbiIKK21zZ3N0ciAiUHJpc2lsbmkgcHJlZ2xlZCBkYXRvdGXobmVnYSBzaXN0ZW1hIG5hICVzLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICJuaSBtb2dv6GUgb2RwcmV0aSAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6OTkKKyMsIGZ1enp5Cittc2dpZCAic291cmNlIGRldmljZSIKK21zZ3N0ciAiYmxv6G5hIG5hcHJhdmEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMAorbXNnaWQgIm1vdW50cG9pbnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxIG1pc2MtdXRpbHMvbHNibGsuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJWbmVzaXRlIHZyc3RvIGRhdG90ZehuZWdhIHNpc3RlbWE6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAyCisjLCBmdXp6eQorbXNnaWQgImFsbCBtb3VudCBvcHRpb25zIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAzCittc2dpZCAiVkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA0CisjLCBmdXp6eQorbXNnaWQgIkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgInVwb3JhYm5lIGl6YmlyZToiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNQorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIGxhYmVsIgorbXNnc3RyICJWbmVzaXRlIHZyc3RvIGRhdG90ZehuZWdhIHNpc3RlbWE6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA2IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQKK21zZ2lkICJmaWxlc3lzdGVtIFVVSUQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA3CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBsYWJlbCIKK21zZ3N0ciAiqXRldmlsa2EgcmF6ZGVsa2EiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOSBtaXNjLXV0aWxzL2xzYmxrLmM6MTYwCittc2dpZCAibWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTAKK21zZ2lkICJhY3Rpb24gZGV0ZWN0ZWQgYnkgLS1wb2xsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMQorbXNnaWQgIm9sZCBtb3VudCBvcHRpb25zIHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTIKK21zZ2lkICJvbGQgbW91bnRwb2ludCBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEzCisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSIKK21zZ3N0ciAiVm5lc2l0ZSB2cnN0byBkYXRvdGXobmVnYSBzaXN0ZW1hOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNAorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgYXZhaWxhYmxlIgorbXNnc3RyICJWbmVzaXRlIHZyc3RvIGRhdG90ZehuZWdhIHNpc3RlbWE6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE1CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSB1c2VkIgorbXNnc3RyICJWbmVzaXRlIHZyc3RvIGRhdG90ZehuZWdhIHNpc3RlbWE6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE2CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIlZuZXNpdGUgdnJzdG8gZGF0b3Rl6G5lZ2Egc2lzdGVtYTogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSByb290IgorbXNnc3RyICJWbmVzaXRlIHZyc3RvIGRhdG90ZehuZWdhIHNpc3RlbWE6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE4Cittc2dpZCAidGFzayBJRCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkKKyMsIGZ1enp5Cittc2dpZCAibW91bnQgSUQiCittc2dzdHIgIm5jb3VudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwCisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbmFsIG1vdW50IGZpZWxkcyIKK21zZ3N0ciAibW91bnQ6IHByaWtsb3AgbmkgdXNwZWwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMQorIywgZnV6enkKK21zZ2lkICJWRlMgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgIiIKKyJcbiIKKyIlZCByYXpkZWxrb3Y6XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMgorbXNnaWQgImR1bXAoOCkgcGVyaW9kIGluIGRheXMgW2ZzdGFiIG9ubHldIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMworbXNnaWQgInBhc3MgbnVtYmVyIG9uIHBhcmFsbGVsIGZzY2soOCkgW2ZzdGFiIG9ubHldIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhY3Rpb246ICVzIgorbXNnc3RyICIlczogTmV6bmFuIHVrYXo6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0MworIywgZnV6enkKK21zZ2lkICJtb3VudCIKK21zZ3N0ciAibmNvdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDYKKyMsIGZ1enp5Cittc2dpZCAidW1vdW50IgorbXNnc3RyICJuY291bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0OQorIywgZnV6enkKK21zZ2lkICJyZW1vdW50IgorbXNnc3RyICJiZXJpICVjXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1MgorIywgZnV6enkKK21zZ2lkICJtb3ZlIgorbXNnc3RyICJPZHN0cmFuaSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODEyIG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNzUgc3lzLXV0aWxzL2VqZWN0LmM6NzE5CisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NjkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFibGUiCittc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYS5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODM5IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCByZWFkICVzIgorbXNnc3RyICIlcyAlcyBuaSBtb2dv6GUgYnJhdGkuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMTUgbWlzYy11dGlscy9maW5kbW50LmM6MTA4MQorIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjk0IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0ODIKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxODcgc3lzLXV0aWxzL21vdW50LmM6MTM0IHN5cy11dGlscy9tb3VudC5jOjE4MgorIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo1NiBzeXMtdXRpbHMvc3dhcG9mZi5jOjE1NSBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ0CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjc0IHN5cy11dGlscy9zd2Fwb24uYzo3MzMgc3lzLXV0aWxzL3Vtb3VudC5jOjI3NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIKK21zZ3N0ciAiWmEgbWVkcG9tbmlsbmlrIG5pIG1vZ2/oZSBkb2RlbGl0aSBwb21uaWxuaWthLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDg3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmRpZmYiCittc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYS5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExNQorIywgZnV6enkKK21zZ2lkICJwb2xsKCkgZmFpbGVkIgorbXNnc3RyICJtYWxsb2MgbmkgdXNwZWwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiB8IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlIDxkZXZpY2U+XSBbLS10YXJnZXQgPHBhdGg+IHwgLS1tb3VudHBvaW50IDxkaXI+XVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTYKKyMsIGZ1enp5Cittc2dpZCAiRmluZCBhIChtb3VudGVkKSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJWbmVzaXRlIHZyc3RvIGRhdG90ZehuZWdhIHNpc3RlbWE6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5OQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAwCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tdGFiICAgICAgICAgICAgIHNlYXJjaCBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMQorbXNnaWQgIiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICBzZWFyY2ggaW4ga2VybmVsIHRhYmxlIG9mIG1vdW50ZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzeXN0ZW1zIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBvbGxbPTxsaXN0Pl0gICAgbW9uaXRvciBjaGFuZ2VzIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAgbCAgIGl6cGm5aSB6bmFuZSBkYXRvdGXobmUgc2lzdGVtZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNQorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxudW0+ICAgIHVwcGVyIGxpbWl0IGluIG1pbGxpc2Vjb25kcyB0aGF0IC0tcG9sbCB3aWxsIGJsb2NrXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOAorIywgZnV6enkKK21zZ2lkICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA5CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBBU0NJSSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMAorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTEKK21zZ2lkICIgLUMsIC0tbm9jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgd2hlbiBjb21wYXJpbmcgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEyCittc2dpZCAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEzCisjLCBmdXp6eQorbXNnaWQgIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRhdGUgdGhlIG91dHB1dCBvZiBkZigxKVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNAorbXNnaWQgIiAtZCwgLS1kaXJlY3Rpb24gPHdvcmQ+IGRpcmVjdGlvbiBvZiBzZWFyY2gsICdmb3J3YXJkJyBvciAnYmFja3dhcmQnXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNQorbXNnaWQgIiIKKyIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBjb252ZXJ0IHRhZ3MgKExBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMKSBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGRldmljZSBuYW1lc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTcKK21zZ2lkICIgLUYsIC0tdGFiLWZpbGUgPHBhdGg+ICBhbHRlcm5hdGl2ZSBmaWxlIGZvciAtcywgLW0gb3IgLWsgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTgKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIgorbXNnc3RyICIgICBsICAgaXpwablpIHpuYW5lIGRhdG90ZehuZSBzaXN0ZW1lIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE5CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVydCB0aGUgc2Vuc2Ugb2YgbWF0Y2hpbmdcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIwIG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNyBzeXMtdXRpbHMvbHNucy5jOjYxOQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMSBzeXMtdXRpbHMvbHNucy5jOjYyMAorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjIKK21zZ2lkICIgLU4sIC0tdGFzayA8dGlkPiAgICAgICB1c2UgYWx0ZXJuYXRpdmUgbmFtZXNwYWNlICgvcHJvYy88dGlkPi9tb3VudGluZm8gZmlsZSlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGNvbHVtbiBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNAorbXNnaWQgIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjUKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgdGhlIG91dHB1dCBjb2x1bW5zIHRvIGJlIHNob3duXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1uaXppemJpciAgICAgICBLcmF0a2UgaXpiaXJlIHphIHByZXBvem5hdm9cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNgorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNworIywgZnV6enkKK21zZ2lkICIgLVIsIC0tc3VibW91bnRzICAgICAgICBwcmludCBhbGwgc3VibW91bnRzIGZvciB0aGUgbWF0Y2hpbmcgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjgKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOQorbXNnaWQgIiIKKyIgLVMsIC0tc291cmNlIDxzdHJpbmc+ICB0aGUgZGV2aWNlIHRvIG1vdW50IChieSBuYW1lLCBtYWo6bWluLCBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMxCisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10YXJnZXQgPHBhdGg+ICAgIHRoZSBwYXRoIHRvIHRoZSBmaWxlc3lzdGVtIHRvIHVzZVxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9bml6aXpiaXIgICAgICAgS3JhdGtlIGl6YmlyZSB6YSBwcmVwb3puYXZvXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzIKKyMsIGZ1enp5Cittc2dpZCAiIC1NLCAtLW1vdW50cG9pbnQgPGRpcj4gdGhlIG1vdW50cG9pbnQgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1uaXppemJpciAgICAgICBLcmF0a2UgaXpiaXJlIHphIHByZXBvem5hdm9cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMworIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IEZTIHR5cGVzXG4iCittc2dzdHIgIiAgIGwgICBpenBpuWkgem5hbmUgZGF0b3Rl6G5lIHNpc3RlbWUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzQKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVuaXEgICAgICAgICAgICAgaWdub3JlIGZpbGVzeXN0ZW1zIHdpdGggZHVwbGljYXRlIHRhcmdldFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM1IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMyBzeXMtdXRpbHMvbHNucy5jOjYyNQorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzYKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzOQorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tdmVyaWZ5ICAgICAgICAgICB2ZXJpZnkgbW91bnQgdGFibGUgY29udGVudCAoZGVmYXVsdCBpcyBmc3RhYilcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgbW9yZSBkZXRhaWxzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTM2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBkaXJlY3Rpb24gJyVzJyIKK21zZ3N0ciAiSW1lbmlrICVzIG5lIG9ic3RhamEhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NDAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBUSUQgYXJndW1lbnQiCittc2dzdHIgIm5ldmVsamF2bmkgaWQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MDkKK21zZ2lkICItLXBvbGwgYWNjZXB0cyBvbmx5IG9uZSBmaWxlLCBidXQgbW9yZSBzcGVjaWZpZWQgYnkgLS10YWItZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTEzCittc2dpZCAib3B0aW9ucyAtLXRhcmdldCBhbmQgLS1zb3VyY2UgY2FuJ3QgYmUgdXNlZCB0b2dldGhlciB3aXRoIGNvbW1hbmQgbGluZSBlbGVtZW50IHRoYXQgaXMgbm90IGFuIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTYyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGNhY2hlIgorbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE2MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY29sdW1uIGlzIHJlcXVlc3RlZCwgYnV0IC0tcG9sbCBpcyBub3QgZW5hYmxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE2CisjLCBmdXp6eQorbXNnaWQgInRhcmdldCBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgIk5hdmVkbGkgc3RlIHZl6CBzdGV6LCBrb3QgamloIGplIG5hIGRpc2t1IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIG9yZGVyOiAlcyBzcGVjaWZpZWQgYmVmb3JlICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMzMKK21zZ2lkICJ1bmRlZmluZWQgdGFyZ2V0IChmc19maWxlKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1jYW5vbmljYWwgdGFyZ2V0IHBhdGggKHJlYWw6ICVzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgdGFyZ2V0OiAlbSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSB0YXJnZXQ6ICVtIgorbXNnc3RyICIlcyBuaSBtb2dv6GUgcHJlYnJhdGlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MQorIywgZnV6enkKK21zZ2lkICJ0YXJnZXQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJrb3JlbnNraSBpbm9kIG5pIGltZW5payIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MworbXNnaWQgInRhcmdldCBleGlzdHMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHNvdXJjZTogJXM9JXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGU6ICVzPSVzIgorbXNnc3RyICIoTmFzbGVkbmphIGRhdG90ZWthOiAlcykiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzPSVzIHRyYW5zbGF0ZWQgdG8gJXMiCittc2dzdHIgIlNla3RvciAlZCBqZSC+ZSBkb2RlbGplblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTkwCittc2dpZCAidW5kZWZpbmVkIHNvdXJjZSAoZnNfc3BlYykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc291cmNlIHRhZzogJXMiCittc2dzdHIgIiVzOiBuZXpuYW4gYXJndW1lbnQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIHNvdXJjZSAocHNldWRvL25ldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgc291cmNlOiAlczogJW0iCittc2dzdHIgIiclcycgbmkgbW9nb+hlIG9kcHJldGkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJpbmQgbW91bnQgc291cmNlICVzIGlzIGEgZGlyZWN0b3J5IG9yIHJlZ3VsYXIgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogbmkgYmxv6G5hIG5hcHJhdmFcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic291cmNlICVzIGV4aXN0cyIKK21zZ3N0ciAiYmxv6G5hIG5hcHJhdmEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlZGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRlMgb3B0aW9uczogJXMiCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzZXJzcGFjZSBvcHRpb25zOiAlcyIKK21zZ3N0ciAibmV2YXJuZSBpemJpcmU6IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzd2FwYXJlYSBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIiVzOiBuZXpuYW4gYXJndW1lbnQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNjAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN3YXBhcmVhIHByaW9yaXR5IG9wdGlvbiIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIEZTIHR5cGUgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MDYKK21zZ2lkICJcIm5vbmVcIiBGUyB0eXBlIGlzIHJlY29tbWVuZGVkIGZvciBiaW5kIG9yIG1vdmUgb3ByYXRpb25zIG9ubHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyMCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIxCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBkZXRlY3Qgb24tZGlzayBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIm1vdW50OiBuZXpuYW4gdGlwIGRhdC4gc2lzdGVtYSAnJXMnIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRvZXMgbm90IG1hdGNoIHdpdGggb24tZGlzayAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIm9uLWRpc2sgJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZTIHR5cGUgaXMgJXMiCittc2dzdHIgInZyc3RhOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY29tbWVuZGVkIHJvb3QgRlMgcGFzc25vIGlzIDEgKGN1cnJlbnQgaXMgJWQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIHBhcnNlIGVycm9yIgorbXNnaWRfcGx1cmFsICIlZCBwYXJzZSBlcnJvcnMiCittc2dzdHJbMF0gIm5hcGFrYSBwcmkgaXNrYW5qdSIKK21zZ3N0clsxXSAibmFwYWthIHByaSBpc2thbmp1IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsICVkIGVycm9yIgorbXNnaWRfcGx1cmFsICIsICVkIGVycm9ycyIKK21zZ3N0clswXSAiLCBuYXBha2EiCittc2dzdHJbMV0gIiwgbmFwYWthIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgd2FybmluZyIKK21zZ2lkX3BsdXJhbCAiLCAlZCB3YXJuaW5ncyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzcywgbm8gZXJyb3JzIG9yIHdhcm5pbmdzIGRldGVjdGVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzoyNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiUG9za3VzaXRlIGBnZXRvcHQgLS1oZWxwJyB6YSB2ZeggaW5mb3JtYWNpai5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMDQKK21zZ2lkICJlbXB0eSBsb25nIG9wdGlvbiBhZnRlciAtbCBvciAtLWxvbmcgYXJndW1lbnQiCittc2dzdHIgImRvbGdhIHByYXpuYSBpemJpcmEgcG8gLWwgYWxpIC0tbG9uZyBpemJpcmEiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzI1Cittc2dpZCAidW5rbm93biBzaGVsbCBhZnRlciAtcyBvciAtLXNoZWxsIGFyZ3VtZW50IgorbXNnc3RyICJuZXpuYW5hIGx1cGluYSBwbyAtcyBhbGkgLXNoZWxsIGl6YmlyYSIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tXSA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLW98LS1vcHRpb25zIDxvcHRzdHJpbmc+IFtvcHRpb25zXSBbLS1dIDxwYXJhbWV0ZXJzPlxuIgorbXNnc3RyICIgICAgICAgZ2V0b3B0IFtpemJpcmVdIC1vfC0taXpiaXJlIG9wdHN0cmluZyBbaXpiaXJlXSBbLS1dXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzM4CisjLCBmdXp6eQorbXNnaWQgIlBhcnNlIGNvbW1hbmQgb3B0aW9ucy5cbiIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQxCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgICBhbGxvdyBsb25nIG9wdGlvbnMgc3RhcnRpbmcgd2l0aCBzaW5nbGUgLVxuIgorbXNnc3RyICIgIC1hLiAtLWFsdGVybmF0aXZlICAgICAgICAgICAgRG92b2xpIGRvbGdlIGl6YmlyZSwga2kgc2UgemHobmVqbyB6IGVuaW0gLVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiAgdGhlIGxvbmcgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAgLWwgIC0tbG9uZ29wdGlvbnM9ZG9sZ2VpemJpcmUgICBEb2xnZSBpemJpcmUgemEgcHJlcG96bmF2b1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICAgdGhlIG5hbWUgdW5kZXIgd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZFxuIgorbXNnc3RyICIgIC1uLCAtLW5hbWU9aW1lcHJvZ3JhbWEgICAgICAgSW1lIG5hIGthdGVyZWdhIHNlIG5hc2xhdmxqYWpvIG5hcGFrZVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICAgdGhlIHNob3J0IG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9bml6aXpiaXIgICAgICAgS3JhdGtlIGl6YmlyZSB6YSBwcmVwb3puYXZvXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ1CisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBkaXNhYmxlIGVycm9yIHJlcG9ydGluZyBieSBnZXRvcHQoMylcbiIKK21zZ3N0ciAiICAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgIE9uZW1vZ2/oaSBnZXRvcHQoMykgcG9yb+hhbmplIG5hcGFrXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ2CisjLCBmdXp6eQorbXNnaWQgIiAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICBubyBub3JtYWwgb3V0cHV0XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICBzZXQgcXVvdGluZyBjb252ZW50aW9ucyB0byB0aG9zZSBvZiA8c2hlbGw+XG4iCittc2dzdHIgIiAgLXMsICAtLXNoZWxsPWx1cGluYSAgICAgICAgICBOYXN0YXZpIGx1cGluc2tvIGtvbnZlbmNpam8gY2l0aXJhbmphXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ4CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICB0ZXN0IGZvciBnZXRvcHQoMSkgdmVyc2lvblxuIgorbXNnc3RyICIgIC1ULiAtLXRlc3QgICAgICAgICAgICAgICAgICAgVGVzdCB6YSByYXpsaehpY28gZ2V0b3B0KDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ5CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICBkbyBub3QgcXVvdGUgdGhlIG91dHB1dFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozOTkgbWlzYy11dGlscy9nZXRvcHQuYzo0NTkKK21zZ2lkICJtaXNzaW5nIG9wdHN0cmluZyBhcmd1bWVudCIKK21zZ3N0ciAibWFuamthIGl6YmlyYSBuaXppemJpciAiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDU0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3IsIGNvbnRhY3QgdGhlIGF1dGhvci4iCittc2dzdHIgIm5vdHJhbmphIG5hcGFrYSwgc3Bvcm/oaXRlIGF2dG9yanUuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsICVzOyB2YWxpZCBzaWduYWxzOiIKK21zZ3N0ciAiJXM6IG5lem5hbiBzaWduYWwgJXM7IHZlbGphdm5pIHNpZ25hbGk6XG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGlkPnw8bmFtZT4uLi5cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzA1Cittc2dpZCAiRm9yY2libHkgdGVybWluYXRlIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDgKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IHRoZSBuYW1lLXRvLXBpZCBjb252ZXJzaW9uIHRvIHByb2Nlc3Nlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgc2FtZSB1aWQgYXMgdGhlIHByZXNlbnQgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMAorbXNnaWQgIiAtcywgLS1zaWduYWwgPHNpZ25hbD4gIHNlbmQgdGhpcyA8c2lnbmFsPiBpbnN0ZWFkIG9mIFNJR1RFUk1cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTIKK21zZ2lkICIgLXEsIC0tcXVldWUgPHZhbHVlPiAgICB1c2Ugc2lncXVldWUoMiksIG5vdCBraWxsKDIpLCBhbmQgcGFzcyA8dmFsdWU+IGFzIGRhdGFcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgcHJpbnQgcGlkcyB3aXRob3V0IHNpZ25hbGluZyB0aGVtXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTUKK21zZ2lkICIgLWwsIC0tbGlzdFs9PHNpZ25hbD5dICBsaXN0IHNpZ25hbCBuYW1lcywgb3IgY29udmVydCBhIHNpZ25hbCBudW1iZXIgdG8gYSBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE2Cittc2dpZCAiIC1MLCAtLXRhYmxlICAgICAgICAgICAgbGlzdCBzaWduYWwgbmFtZXMgYW5kIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgcGlkcyB0aGF0IHdpbGwgYmUgc2lnbmFsZWRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozNjcgbWlzYy11dGlscy9raWxsLmM6Mzc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbDogJXMiCittc2dzdHIgIiVzOiBuZXpuYW4gc2lnbmFsICVzXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM4NyBtaXNjLXV0aWxzL2tpbGwuYzozOTAgbWlzYy11dGlscy9raWxsLmM6Mzk5CisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MTEgbWlzYy11dGlscy9raWxsLmM6NDM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiJXM6IC0tYWRqdXN0IGluIC0tbm9hZGpmaWxlIGl6YmlyaSBzZSBtZWRzZWJvam5vIGl6a2xqdeh1amV0YS4gUG9kYWxpIHN0ZSBvYmUuXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM5NiBtaXNjLXV0aWxzL2tpbGwuYzo0MzggbWlzYy11dGlscy9yZW5hbWUuYzoxNzQKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc4OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc5OAorIywgZnV6enkKK21zZ2lkICJub3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAiUHJldmXoIGFyZ3VtZW50b3YuXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uICclcycgcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgIiVzIHphaHRldmEgYXJndW1lbnRcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDE0IHN5cy11dGlscy9lamVjdC5jOjIwNSBzeXMtdXRpbHMvZWplY3QuYzoyMzAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Njg5IHN5cy11dGlscy90dW5lbHAuYzoxNjEgc3lzLXV0aWxzL3R1bmVscC5jOjE2OAorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE3NSBzeXMtdXRpbHMvdHVuZWxwLmM6MTgyIHN5cy11dGlscy90dW5lbHAuYzoxODkKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxOTUgc3lzLXV0aWxzL3R1bmVscC5jOjE5OSBzeXMtdXRpbHMvdHVuZWxwLmM6MjA2CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjMxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxMyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzcgdGVybS11dGlscy9zZXR0ZXJtLmM6MjcyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzQgdGVybS11dGlscy9zZXR0ZXJtLmM6MjkxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5OAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzAwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxMiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyMyB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMzEgdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ2CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDggdGVybS11dGlscy9zZXR0ZXJtLmM6MzYwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjM2MgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzczIHRlcm0tdXRpbHMvc2V0dGVybS5jOjUzNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDAKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NTAgdGVybS11dGlscy9zZXR0ZXJtLmM6NTc0CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NzkgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4OQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTk0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MDcKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjY0MAorIywgZnV6enkKK21zZ2lkICJhcmd1bWVudCBlcnJvciIKK21zZ3N0ciAiJXM6IE5hcGFrZSBwcmkgaXpiaXJpLCB1cG9yYWJpXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzaWduYWwgbmFtZSBvciBudW1iZXI6ICVzIgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsICVkIHRvIHBpZCAlZFxuIgorbXNnc3RyICIlczogcHJlaW1lbm92YW5qZSAlcyBuYSAlcyBuaSB1c3BlbG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQ2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogcHJlaW1lbm92YW5qZSAlcyBuYSAlcyBuaSB1c3BlbG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjUwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgcHJvY2VzcyBcIiVzXCIiCittc2dzdHIgIiVzOiBwcm9jZXNhIG5pIG1vZ2/oZSBuYWp0aSBcIiVzXCJcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgbmFtZTogJXMiCittc2dzdHIgImxvZ2dlcjogbmV6bmFubyBpbWUgcG9zbG9wamFbZmFjaWxpdHldOiAlcy5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpb3JpdHkgbmFtZTogJXMiCittc2dzdHIgImxvZ2dlcjogbmV6bmFubyBwcmVkbm9zdG5vIGltZTogJXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVubG9nICVzOiBwYXRobmFtZSB0b28gbG9uZyIKK21zZ3N0ciAiUHJpamF2bm8gaW1lIGplIHByZWRvbGdvLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic29ja2V0ICVzIgorbXNnc3RyICJWZWxpa29zdCBibG9rYTogJWRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIG5hbWUgJXMgcG9ydCAlczogJXMiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNvbm5lY3QgdG8gJXMgcG9ydCAlcyIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heGltdW0gaW5wdXQgbGluZXMgKCVkKSBleGNlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjQ4NworIywgZnV6enkKK21zZ2lkICJzZW5kIG1lc3NhZ2UgZmFpbGVkIgorbXNnc3RyICJrbGljIHNldHVpZCgpIG5pIHVzcGVsIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU1OAorIywgYy1mb3JtYXQKK21zZ2lkICJzdHJ1Y3R1cmVkIGRhdGEgSUQgJyVzJyBpcyBub3QgdW5pcXVlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tc2QtaWQgd2FzIG5vdCBzcGVjaWZpZWQgZm9yIC0tc2QtcGFyYW0gJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NTQKKyMsIGZ1enp5Cittc2dpZCAibG9jYWx0aW1lKCkgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IG5pIHVzcGVsXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJob3N0bmFtZSAnJXMnIGlzIHRvbyBsb25nIgorbXNnc3RyICJwb2xqZSBqZSBwcmVkb2xnby5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRhZyAnJXMnIGlzIHRvbyBsb25nIgorbXNnc3RyICJwb2xqZSBqZSBwcmVkb2xnby5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIHVua25vd24gb3B0aW9uIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiJXM6IG5lem5hbiBhcmd1bWVudDogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzOiB1c2luZyBhdXRvbWF0aWMgZXJyb3JzIgorbXNnc3RyICJuZXZlbGphdm5pIGlkOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjk5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG1lc3NhZ2U+XVxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjk5NworIywgZnV6enkKK21zZ2lkICJFbnRlciBtZXNzYWdlcyBpbnRvIHRoZSBzeXN0ZW0gbG9nLlxuIgorbXNnc3RyICJTaXN0ZW1za2UgdXJlIHNlIG5lIGRhIG5hc3Rhdml0aS5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAwCisjLCBmdXp6eQorbXNnaWQgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgbG9nIHRoZSBsb2dnZXIgY29tbWFuZCdzIFBJRFxuIgorbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMQorbXNnaWQgIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgbG9nIHRoZSBnaXZlbiA8aWQ+LCBvciBvdGhlcndpc2UgdGhlIFBJRFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgICAgIGxvZyB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAzCisjLCBmdXp6eQorbXNnaWQgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgZG8gbm90IGxvZyBlbXB0eSBsaW5lcyB3aGVuIHByb2Nlc3NpbmcgZmlsZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5lIHphcGm5aSBzcHJlbWVtYiBuYSBkaXNrIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDQKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgd3JpdGUgdGhlIGxvZ1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA1Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBtYXJrIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA2Cittc2dpZCAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICB1c2UgcmZjNjU4NyBvY3RldCBjb3VudGluZ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNworbXNnaWQgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAgbG9vayBmb3IgYSBwcmVmaXggb24gZXZlcnkgbGluZSByZWFkIGZyb20gc3RkaW5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDgKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICBvdXRwdXQgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvciBhcyB3ZWxsXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA5CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zaXplIDxzaXplPiAgICAgICAgbWF4aW11bSBzaXplIGZvciBhIHNpbmdsZSBtZXNzYWdlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEwCittc2dpZCAiIC10LCAtLXRhZyA8dGFnPiAgICAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMQorbXNnaWQgIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMgorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcG9ydCA8cG9ydD4gICAgICAgIHVzZSB0aGlzIHBvcnQgZm9yIFVEUCBvciBUQ1AgY29ubmVjdGlvblxuIgorbXNnc3RyICIgIC1zLCAgLS1zaGVsbD1sdXBpbmEgICAgICAgICAgTmFzdGF2aSBsdXBpbnNrbyBrb252ZW5jaWpvIGNpdGlyYW5qYVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTMKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICB1c2UgVENQIG9ubHlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTQKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLXVkcCAgICAgICAgICAgICAgICB1c2UgVURQIG9ubHlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICB1c2UgdGhlIG9ic29sZXRlIEJTRCBzeXNsb2cgcHJvdG9jb2xcbiIKK21zZ3N0ciAiICAtVC4gLS10ZXN0ICAgICAgICAgICAgICAgICAgIFRlc3QgemEgcmF6bGnoaWNvIGdldG9wdCgxKVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTYKK21zZ2lkICIiCisiICAgICAtLXJmYzU0MjRbPTxzbmlwPl0gICB1c2UgdGhlIHN5c2xvZyBwcm90b2NvbCAodGhlIGRlZmF1bHQgZm9yIHJlbW90ZSk7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiBjYW4gYmUgbm90aW1lLCBvciBub3RxLCBhbmQvb3Igbm9ob3N0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE4Cittc2dpZCAiICAgICAtLXNkLWlkIDxpZD4gICAgICAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBJRFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxOQorbXNnaWQgIiAgICAgLS1zZC1wYXJhbSA8ZGF0YT4gICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgbmFtZT12YWx1ZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMAorbXNnaWQgIiAgICAgLS1tc2dpZCA8bXNnaWQ+ICAgICAgc2V0IHJmYzU0MjQgbWVzc2FnZSBpZCBmaWVsZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMQorbXNnaWQgIiAtdSwgLS1zb2NrZXQgPHNvY2tldD4gICAgd3JpdGUgdG8gdGhpcyBVbml4IHNvY2tldFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMgorbXNnaWQgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50IGNvbm5lY3Rpb24gZXJyb3JzIHdoZW4gdXNpbmcgVW5peCBzb2NrZXRzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDI1Cittc2dpZCAiICAgICAtLWpvdXJuYWxkWz08ZmlsZT5dICB3cml0ZSBqb3VybmFsZCBlbnRyeVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTExMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmlsZSAlcyIKK21zZ3N0ciAiKE5hc2xlZG5qYSBkYXRvdGVrYTogJXMpIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExMjcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGlkIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTQ1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtZXNzYWdlIHNpemUiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODAKK21zZ2lkICItLW1zZ2lkIGNhbm5vdCBjb250YWluIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgSUQ6ICclcyciCittc2dzdHIgIm5ldmVsamF2bmkgaWQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICJuZXByYXZpbG5hIHZyZWRub3N0IHphIHByZWtvcmHoaXRldiDoYXNhOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjE4Cittc2dpZCAiLS1maWxlIDxmaWxlPiBhbmQgPG1lc3NhZ2U+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIG1lc3NhZ2UgaXMgaWdub3JlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMjUKK21zZ2lkICJqb3VybmFsZCBlbnRyeSBjb3VsZCBub3QgYmUgd3JpdHRlbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHN0cmluZz4gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzU4Cittc2dpZCAiRGlzcGxheSBsaW5lcyBiZWdpbm5pbmcgd2l0aCBhIHNwZWNpZmllZCBzdHJpbmcuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYxCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgdXNlIHRoZSBhbHRlcm5hdGl2ZSBkaWN0aW9uYXJ5XG4iCittc2dzdHIgIiAgLWEuIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICBEb3ZvbGkgZG9sZ2UgaXpiaXJlLCBraSBzZSB6YehuZWpvIHogZW5pbSAtXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MgorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tYWxwaGFudW0gICAgICAgICAgIGNvbXBhcmUgb25seSBibGFua3MgYW5kIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYzCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjQKK21zZ2lkICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiAgIGRlZmluZSB0aGUgc3RyaW5nLXRlcm1pbmF0aW9uIGNoYXJhY3RlclxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTcKK21zZ2lkICJkZXZpY2UgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU4Cittc2dpZCAiaW50ZXJuYWwga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTkKK21zZ2lkICJpbnRlcm5hbCBwYXJlbnQga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIgc3lzLXV0aWxzL3pyYW1jdGwuYzo4NAorbXNnaWQgIndoZXJlIHRoZSBkZXZpY2UgaXMgbW91bnRlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzCittc2dpZCAiZmlsZXN5c3RlbSBMQUJFTCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIFVVSUQiCittc2dzdHIgIiIKKyJcbiIKKyIlZCByYXpkZWxrb3Y6XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjcKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIExBQkVMIgorbXNnc3RyICKpdGV2aWxrYSByYXpkZWxrYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MQorIywgZnV6enkKK21zZ2lkICJyZWFkLWFoZWFkIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgInN0YXQgaW1lbmlrYSBuaSB1c3BlbFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcyIHN5cy11dGlscy9sb3NldHVwLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAibmFzdGF2aSBzYW1vIHphIGJyYW5qZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MworIywgZnV6enkKK21zZ2lkICJyZW1vdmFibGUgZGV2aWNlIgorbXNnc3RyICIgb2RzdHJhbmxqaXYiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzQKK21zZ2lkICJyZW1vdmFibGUgb3IgaG90cGx1ZyBkZXZpY2UgKHVzYiwgcGNtY2lhLCAuLi4pIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzUKK21zZ2lkICJyb3RhdGlvbmFsIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc2Cittc2dpZCAiYWRkcyByYW5kb21uZXNzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzcKK21zZ2lkICJkZXZpY2UgaWRlbnRpZmllciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc4Cittc2dpZCAiZGlzayBzZXJpYWwgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzkKK21zZ2lkICJzaXplIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MAorIywgZnV6enkKK21zZ2lkICJzdGF0ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJzdGF0IGltZW5pa2EgbmkgdXNwZWxcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MgorbXNnaWQgImdyb3VwIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MworbXNnaWQgImRldmljZSBub2RlIHBlcm1pc3Npb25zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODQKKyMsIGZ1enp5Cittc2dpZCAiYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAic2xhYmEgdmVsaWtvc3QgaW5vZGEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODUKK21zZ2lkICJtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODYKK21zZ2lkICJvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAicGh5c2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgInByZWJlcmkgdmVsaWtvc3Qgc2VrdG9yamEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODgKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAicHJlYmVyaSB2ZWxpa29zdCBzZWt0b3JqYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OQorbXNnaWQgIkkvTyBzY2hlZHVsZXIgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwCittc2dpZCAicmVxdWVzdCBxdWV1ZSBzaXplIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTEKK21zZ2lkICJkZXZpY2UgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkyCisjLCBmdXp6eQorbXNnaWQgImRpc2NhcmQgYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAic2xhYmEgdmVsaWtvc3QgaW5vZGEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMKK21zZ2lkICJkaXNjYXJkIGdyYW51bGFyaXR5IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTQKK21zZ2lkICJkaXNjYXJkIG1heCBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk1Cittc2dpZCAiZGlzY2FyZCB6ZXJvZXMgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk2Cittc2dpZCAid3JpdGUgc2FtZSBtYXggYnl0ZXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NworIywgZnV6enkKK21zZ2lkICJ1bmlxdWUgc3RvcmFnZSBpZGVudGlmaWVyIgorbXNnc3RyICIgICB1ICAgc3ByZW1lbmkgcHJpa2F6bmUvdm5vc25lIGVub3RlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk4Cittc2dpZCAiSG9zdDpDaGFubmVsOlRhcmdldDpMdW4gZm9yIFNDU0kiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OQorbXNnaWQgImRldmljZSB0cmFuc3BvcnQgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAwCittc2dpZCAiZGUtZHVwbGljYXRlZCBjaGFpbiBvZiBzdWJzeXN0ZW1zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDEKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIHJldmlzaW9uIgorbXNnc3RyICJyYXpsaehpY2EiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDIKK21zZ2lkICJkZXZpY2UgdmVuZG9yIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxMjc2Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGV2aWNlIGRpcmVjdG9yeSBpbiBzeXNmcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjb21wb3NlIHN5c2ZzIHBhdGgiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIGxpbmsiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3lzZnMgbmFtZSIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB3aG9sZS1kaXNrIGRldmljZSBudW1iZXIiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1MSBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1MyBtaXNjLXV0aWxzL2xzYmxrLmM6MTU3OAorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsaXN0ICclcyciCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1OAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBleGNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgaW5jbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjE2IHN5cy11dGlscy93ZGN0bC5jOjE3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxOQorIywgZnV6enkKK21zZ2lkICJMaXN0IGluZm9ybWF0aW9uIGFib3V0IGJsb2NrIGRldmljZXMuXG4iCittc2dzdHIgIiVzOiBuaSBibG/obmEgbmFwcmF2YVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyMgorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgcHJpbnQgYWxsIGRldmljZXNcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tbm9kZXBzICAgICAgICAgZG9uJ3QgcHJpbnQgc2xhdmVzIG9yIGhvbGRlcnNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5lIHphcGm5aSBzcHJlbWVtYiBuYSBkaXNrIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNQorbXNnaWQgIiAtRCwgLS1kaXNjYXJkICAgICAgICBwcmludCBkaXNjYXJkIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI2Cittc2dpZCAiIC1lLCAtLWV4Y2x1ZGUgPGxpc3Q+IGV4Y2x1ZGUgZGV2aWNlcyBieSBtYWpvciBudW1iZXIgKGRlZmF1bHQ6IFJBTSBkaXNrcylcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNworIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZnMgICAgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI4CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1hc2NpaSAgICAgICAgICB1c2UgYXNjaWkgY2hhcmFjdGVycyBvbmx5XG4iCittc2dzdHIgIiAgLVQuIC0tdGVzdCAgICAgICAgICAgICAgICAgICBUZXN0IHphIHJhemxp6GljbyBnZXRvcHQoMSlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjkKK21zZ2lkICIgLUksIC0taW5jbHVkZSA8bGlzdD4gc2hvdyBvbmx5IGRldmljZXMgd2l0aCBzcGVjaWZpZWQgbWFqb3IgbnVtYmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMwCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzEKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzIKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLXBlcm1zICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNAorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM1CisjLCBmdXp6eQorbXNnaWQgIiAtTywgLS1vdXRwdXQtYWxsICAgICBvdXRwdXQgYWxsIGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW5peml6YmlyICAgICAgIEtyYXRrZSBpemJpcmUgemEgcHJlcG96bmF2b1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGF0aHMgICAgICAgICAgcHJpbnQgY29tcGxldGUgZGV2aWNlIHBhdGhcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzOQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MAorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2NzaSAgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgU0NTSSBkZXZpY2VzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDEKK21zZ2lkICIgLXQsIC0tdG9wb2xvZ3kgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgdG9wb2xvZ3lcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MgorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tc29ydCA8Y29sdW1uPiAgc29ydCBvdXRwdXQgYnkgPGNvbHVtbj5cbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW5peml6YmlyICAgICAgIEtyYXRrZSBpemJpcmUgemEgcHJlcG96bmF2b1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NyBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTkgc3lzLXV0aWxzL2xzbnMuYzo2MzIKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTk2IHN5cy11dGlscy96cmFtY3RsLmM6NTQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLW91dHB1dCk6XG4iCittc2dzdHIgIlJhenBvbG++bGppdmkgdWthemk6XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWNjZXNzIHN5c2ZzIGRpcmVjdG9yeTogJXMiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3MworbXNnaWQgImNvbW1hbmQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NAorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc1Cittc2dpZCAia2luZCBvZiBsb2NrOiBGTF9GTE9DSyBvciBGTF9QT1NJWC4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBvZiB0aGUgbG9jayIKK21zZ3N0ciAic3RhdCBpbWVuaWthIG5pIHVzcGVsXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc3CisjLCBmdXp6eQorbXNnaWQgImxvY2sgYWNjZXNzIG1vZGUiCittc2dzdHIgIm5pIG1vZ2/oZSBkb2JpdGkgdmVsaWtvc3RpICVzIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OAorbXNnaWQgIm1hbmRhdG9yeSBzdGF0ZSBvZiB0aGUgbG9jazogMCAobm9uZSksIDEgKHNldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzkKK21zZ2lkICJyZWxhdGl2ZSBieXRlIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MAorbXNnaWQgImVuZGluZyBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAicGF0aCBvZiB0aGUgbG9ja2VkIGZpbGUiCittc2dzdHIgIkRhdG90ZWtlICwlc2AgbmkgbW9nb+hlIG9kcHJldGkiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgyCittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGJsb2NraW5nIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI1OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSUQiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODEgc3lzLXV0aWxzL25zZW50ZXIuYzoyMzIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBpZCIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4NAorIywgZnV6enkKK21zZ2lkICIodW5rbm93bikiCittc2dzdHIgIm5lem5hbmVtIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzAwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbmQiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDQKKyMsIGZ1enp5Cittc2dpZCAiTGlzdCBsb2NhbCBzeXN0ZW0gbG9ja3MuXG4iCittc2dzdHIgIlNpc3RlbXNrZSB1cmUgc2UgbmUgZGEgbmFzdGF2aXRpLlxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDgKK21zZ2lkICIgLWksIC0tbm9pbmFjY2Vzc2libGUgICBpZ25vcmUgbG9ja3Mgd2l0aG91dCByZWFkIHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA5IHN5cy11dGlscy9sc25zLmM6NjIxCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTAgc3lzLXV0aWxzL2xzbnMuYzo2MjIKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9bml6aXpiaXIgICAgICAgS3JhdGtlIGl6YmlyZSB6YSBwcmVwb3puYXZvXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMQorbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIGRpc3BsYXkgb25seSBsb2NrcyBoZWxkIGJ5IHRoaXMgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMiBzeXMtdXRpbHMvbHNucy5jOjYyNAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTcwIHNjaGVkdXRpbHMvY2hydC5jOjQ3OCBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTYzIHN5cy11dGlscy9sc25zLmM6Njk5IHN5cy11dGlscy9wcmxpbWl0LmM6NTg2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgUElEIGFyZ3VtZW50IgorbXNnc3RyICJuZXZlbGphdm5pIGlkOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4NQorbXNnaWQgIkdlbmVyYXRlIG1hZ2ljIGNvb2tpZXMgZm9yIHhhdXRoLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg4Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICB1c2UgZmlsZSBhcyBhIGNvb2tpZSBzZWVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODkKK21zZ2lkICIgLW0sIC0tbWF4LXNpemUgPG51bT4gIGxpbWl0IGhvdyBtdWNoIGlzIHJlYWQgZnJvbSBzZWVkIGZpbGVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6OTAKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR290ICV6dSBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICV6dSBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIkRvYmxqZW5paCAlZCBiYWp0b3Ygb2QgJXNcbiIKK21zZ3N0clsxXSAiRG9ibGplbmloICVkIGJhanRvdiBvZCAlc1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNsb3NpbmcgJXMgZmFpbGVkIgorbXNnc3RyICJ6YWdvbiBuaSB1c3BlbFxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNjQgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNDYgc3lzLXV0aWxzL2ZzdHJpbS5jOjMwOAorIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZW5ndGgiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNzcKK21zZ2lkICItLW1heC1zaXplIGlnbm9yZWQgd2hlbiB1c2VkIHdpdGhvdXQgLS1maWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR290ICVkIGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJWQgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICJEb2JsamVuaWggJWQgYmFqdG92IG9kICVzXG4iCittc2dzdHJbMV0gIkRvYmxqZW5paCAlZCBiYWp0b3Ygb2QgJXNcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzeW1saW5rOiAlcyIKK21zZ3N0ciAia2xpYyBpb2N0bCgpIG5pIHVzcGVsIHByZWJyYXRpIOhhc2EgaXogJXMiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzoyODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIC0gTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeVxuIgorbXNnc3RyICJrb3JlbnNraSBpbm9kIG5pIGltZW5payIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGF0aG5hbWU+Li4uXG4iCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzYKK21zZ2lkICJGb2xsb3cgYSBwYXRobmFtZSB1bnRpbCBhIHRlcm1pbmFsIHBvaW50IGlzIGZvdW5kLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzkKK21zZ2lkICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheXMgdGhpcyBoZWxwIHRleHRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAteCwgLS1tb3VudHBvaW50cyAgIHNob3cgbW91bnQgcG9pbnQgZGlyZWN0b3JpZXMgd2l0aCBhICdEJ1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIHNob3cgdGhlIG1vZGUgYml0cyBvZiBlYWNoIGZpbGVcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBzaG93IG93bmVyIGFuZCBncm91cCBuYW1lIG9mIGVhY2ggZmlsZVxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIHVzZSBhIGxvbmcgbGlzdGluZyBmb3JtYXQgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICBkb24ndCBmb2xsb3cgc3ltbGlua3NcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICB2ZXJ0aWNhbCBhbGlnbiBvZiBtb2RlcyBhbmQgb3duZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQwOAorIywgZnV6enkKK21zZ2lkICJwYXRobmFtZSBhcmd1bWVudCBpcyBtaXNzaW5nIgorbXNnc3RyICJJemJpcmEgLS1kYXRlIGplIHByZWRvbGdhLlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE0IHN5cy11dGlscy9sc25zLmM6NzY0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBVSUQgY2FjaGUiCittc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYS5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR0lEIGNhY2hlIgorbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4Y2VlZGVkIGxpbWl0IG9mIHN5bWxpbmtzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICIlczogbmkgYmxv6G5hIG5hcHJhdmFcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWRsaW5rIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBuaSB1c3BlbFxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5saW5rIGZhaWxlZCIKK21zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN5bWxpbmtpbmcgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogcHJlaW1lbm92YW5qZSAlcyBuYSAlcyBuaSB1c3BlbG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVuYW1lIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHByZWltZW5vdmFuamUgJXMgbmEgJXMgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjExOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZXhwcmVzc2lvbj4gPHJlcGxhY2VtZW50PiA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAiUmVuYW1lIGZpbGVzLlxuIgorbXNnc3RyICJpc2thbmplIGplIGJpbG8gbmV1c3BluW5vIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyNQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTI2Cittc2dpZCAiIC1zLCAtLXN5bWxpbmsgICAgYWN0IG9uIHRoZSB0YXJnZXQgb2Ygc3ltbGlua3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzIKK21zZ2lkICJBIGRhZW1vbiBmb3IgZ2VuZXJhdGluZyBVVUlEcy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW5peml6YmlyICAgICAgIEtyYXRrZSBpemJpcmUgemEgcHJlcG96bmF2b1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNvY2tldCA8cGF0aD4gICAgIHBhdGggdG8gc29ja2V0XG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1uaXppemJpciAgICAgICBLcmF0a2UgaXpiaXJlIHphIHByZXBvem5hdm9cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc2CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10aW1lb3V0IDxzZWM+ICAgICBzcGVjaWZ5IGluYWN0aXZpdHkgdGltZW91dFxuIgorbXNnc3RyICIgIC1zLCAgLS1zaGVsbD1sdXBpbmEgICAgICAgICAgTmFzdGF2aSBsdXBpbnNrbyBrb252ZW5jaWpvIGNpdGlyYW5qYVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGtpbGwgcnVubmluZyBkYWVtb25cbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzgKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhbmRvbSAgICAgICAgICAgIHRlc3QgcmFuZG9tLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAgLVQuIC0tdGVzdCAgICAgICAgICAgICAgICAgICBUZXN0IHphIHJhemxp6GljbyBnZXRvcHQoMSlcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgwCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS11dWlkcyA8bnVtPiAgICAgICByZXF1ZXN0IG51bWJlciBvZiB1dWlkc1xuIgorbXNnc3RyICIgICAgLUgjIFthbGkgLS1oZWFkcyAjXTogICBuYXN0YXZpILl0ZXZpbG8gZ2xhdiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgxCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1uby1waWQgICAgICAgICAgICBkbyBub3QgY3JlYXRlIHBpZCBmaWxlXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBQcmVwablpIHRhYmVsbyByYXpkZWxrb3YgbmEgemFzbG9uIGFsaSB2IGRhdG90ZWtvIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODIKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIGRvIG5vdCBkYWVtb25pemUgdXNpbmcgZG91YmxlLWZvcmtcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgzCittc2dpZCAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIGRvIG5vdCBjcmVhdGUgbGlzdGVuaW5nIHNvY2tldFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4NAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjg1CisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0dXJuIG9uIHF1aWV0IG1vZGVcbiIKK21zZ3N0ciAiICAgIC1xICBbYWxpIC0tcXVpZXRdOiAgICAgbmUgcHJpa2G+aSBvcG96b3JpbCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjExOAorIywgZnV6enkKK21zZ2lkICJiYWQgYXJndW1lbnRzIgorbXNnc3RyICJjb2w6IHNsYWIgYXJndW1lbnQgLWw6ICVzLlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTI1CisjLCBmdXp6eQorbXNnaWQgInNvY2tldCIKK21zZ3N0ciAibmZzIGthbmFsIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTM2CisjLCBmdXp6eQorbXNnaWQgImNvbm5lY3QiCittc2dzdHIgIm5mcyBwb3ZlemF2YSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE1NgorIywgZnV6enkKK21zZ2lkICJ3cml0ZSIKK21zZ3N0ciAiWmFwablpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTY0CisjLCBmdXp6eQorbXNnaWQgInJlYWQgY291bnQiCittc2dzdHIgImJlcmkgJWNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE3MAorbXNnaWQgImJhZCByZXNwb25zZSBsZW5ndGgiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGxvY2sgJXMiCittc2dzdHIgIm5pIG1vZ2/oZSBvZHByZXRpICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjQ2CisjLCBmdXp6eQorbXNnaWQgImNvdWxkbid0IGNyZWF0ZSB1bml4IHN0cmVhbSBzb2NrZXQiCittc2dzdHIgIiVzIG5pIG1vZ2/oZSBvZHByZXRpOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBiaW5kIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICIlcyBuaSBtb2dv6GUgb2RwcmV0aTogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI5OAorIywgZnV6enkKK21zZ2lkICJyZWNlaXZpbmcgc2lnbmFsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHByZWltZW5vdmFuamUgJXMgbmEgJXMgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzExCittc2dpZCAidGltZWQgb3V0IgorbXNnc3RyICLoYXMgc2UgamUgaXp0ZWtlbCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM0NSBzeXMtdXRpbHMvZmxvY2suYzoyNzEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCB1cCB0aW1lciIKK21zZ3N0ciAibW91bnQ6IGhpdHJvc3RpIG5pIG1vZ2/oZSBuYXN0YXZpdGk6ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgInV1aWRkIGRhZW1vbiBpcyBhbHJlYWR5IHJ1bm5pbmcgYXQgcGlkICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGxpc3RlbiBvbiB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAiJXMgbmkgbW9nb+hlIG9kcHJldGk6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB0cnVuY2F0ZSBmaWxlOiAlcyIKK21zZ3N0ciAic3RhbmphIG5hcHJhdmUgJXMgbmkgbW9nb+hlIGRvYml0aSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4NgorIywgZnV6enkKK21zZ2lkICJzZF9saXN0ZW5fZmRzKCkgZmFpbGVkIgorbXNnc3RyICJrbGljIHNldHRpbWVvZmRheSgpIG5pIHVzcGVsIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzg5Cittc2dpZCAibm8gZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgc3lzdGVtY3RsIHN0YXR1cyB1dWlkZC5zb2NrZXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM5MgorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayB1dWlkZC5zb2NrZXQiCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MjAgdGVybS11dGlscy9zY3JpcHQuYzo0NTUKKyMsIGZ1enp5Cittc2dpZCAicG9sbCBmYWlsZWQiCittc2dzdHIgIm1hbGxvYyBuaSB1c3BlbCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltZW91dCBbJWQgc2VjXVxuIgorbXNnc3RyICJQcmlqYXZhIGplIHBvdGVrbGEgcG8gJWQgc2VrdW5kYWguXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDMgdGV4dC11dGlscy9jb2x1bW4uYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBmYWlsZWQiCittc2dzdHIgIihOYXNsZWRuamEgZGF0b3Rla2E6ICVzKSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgcmVhZGluZyBmcm9tIGNsaWVudCwgbGVuID0gJWQiCittc2dzdHIgIk5hcGFrYSBwcmkgYnJhbmp1ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkLCBpbmNvbWluZyBudW0gPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQ6ICVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgcmFuZG9tIFVVSUQ6ICVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCAlZCBVVUlEOlxuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgJWQgVVVJRHM6XG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIG9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgcmVwbHkgbGVuZ3RoIGZyb20gc2VydmVyICVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MDAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdXVpZHMiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjE3Cittc2dpZCAidXVpZGQgaGFzIGJlZW4gYnVpbHQgd2l0aG91dCBzdXBwb3J0IGZvciBzb2NrZXQgYWN0aXZhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjM2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRpbWVvdXQiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjUzCittc2dpZCAiQm90aCAtLXNvY2tldC1hY3RpdmF0aW9uIGFuZCAtLXNvY2tldCBzcGVjaWZpZWQuIElnbm9yaW5nIC0tc29ja2V0LiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYwIG1pc2MtdXRpbHMvdXVpZGQuYzo2ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNhbGxpbmcgdXVpZGQgZGFlbW9uICglcykiCittc2dzdHIgIk5hcGFrYSBwcmkgc3ByZW1pbmphbmp1IG5h6GluYSAlczogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2MSBtaXNjLXV0aWxzL3V1aWRkLmM6Njg5CisjLCBmdXp6eQorbXNnaWQgInVuZXhwZWN0ZWQgZXJyb3IiCittc2dzdHIgIiVzOiBOZXByaehha292YW4ga29uZWMgZGF0b3Rla2UgdiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURcbiIKK21zZ2lkX3BsdXJhbCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRHNcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGlzdCBvZiBVVUlEczpcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBraWxsIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkIgorbXNnc3RyICIlcyBuaSBtb2dv6GUgb2RwcmV0aTogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiS2lsbGVkIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkLlxuIgorbXNnc3RyICIlcyBuaSBtb2dv6GUgb2RwcmV0aTogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjgKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlIGEgbmV3IFVVSUQgdmFsdWUuXG4iCittc2dzdHIgIiAgIHMgICB1c3R2YXJpIG5vdm8gcHJhem5vIG96bmFrbyBkaXNrYSB0aXBhIFN1biIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzEKK21zZ2lkICIiCisiIC1yLCAtLXJhbmRvbSAgICAgZ2VuZXJhdGUgcmFuZG9tLWJhc2VkIHV1aWRcbiIKKyIgLXQsIC0tdGltZSAgICAgICBnZW5lcmF0ZSB0aW1lLWJhc2VkIHV1aWRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstQk1TIDxkaXI+Li4uIC1mXSA8bmFtZT5cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTkyCittc2dpZCAiTG9jYXRlIHRoZSBiaW5hcnksIHNvdXJjZSwgYW5kIG1hbnVhbC1wYWdlIGZpbGVzIGZvciBhIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk1CisjLCBmdXp6eQorbXNnaWQgIiAtYiAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBiaW5hcmllc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgbmUgemFwablpIHNwcmVtZW1iIG5hIGRpc2siCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5NgorbXNnaWQgIiAtQiA8ZGlycz4gIGRlZmluZSBiaW5hcmllcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5NworIywgZnV6enkKK21zZ2lkICIgLW0gICAgICAgICBzZWFyY2ggb25seSBmb3IgbWFudWFscyBhbmQgaW5mb3NcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5lIHphcGm5aSBzcHJlbWVtYiBuYSBkaXNrIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTgKK21zZ2lkICIgLU0gPGRpcnM+ICBkZWZpbmUgbWFuIGFuZCBpbmZvIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk5Cittc2dpZCAiIC1zICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIHNvdXJjZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDAKK21zZ2lkICIgLVMgPGRpcnM+ICBkZWZpbmUgc291cmNlcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMQorIywgZnV6enkKK21zZ2lkICIgLWYgICAgICAgICB0ZXJtaW5hdGUgPGRpcnM+IGFyZ3VtZW50IGxpc3RcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDIKK21zZ2lkICIgLXUgICAgICAgICBzZWFyY2ggZm9yIHVudXN1YWwgZW50cmllc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMworbXNnaWQgIiAtbCAgICAgICAgIG91dHB1dCBlZmZlY3RpdmUgbG9va3VwIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NjE5CisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbiAtZiBpcyBtaXNzaW5nIgorbXNnc3RyICJJemJpcmEgLS1kYXRlIGplIHByZWRvbGdhLlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjE5NgorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIql0ZXZpbGthIHJhemRlbGthIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjI2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBwcm9iaW5nIGluaXRpYWxpemF0aW9uIGZhaWxlZCIKK21zZ3N0ciAiIgorIlxuIgorIk5hcGFrYSBwcmkgemFwaXJhbmp1IGRhdG90ZWtlXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGVyYXNlICVzIG1hZ2ljIHN0cmluZyBhdCBvZmZzZXQgMHglMDhqeCIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dpZF9wbHVyYWwgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzBdICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKK21zZ3N0clsxXSAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAiCittc2dzdHIgInN0cmFuaSBzIHBvZHBpc29tIG5pIG1vZ2/oZSB6YXBpc2F0aSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYWxsaW5nIGlvY3RsIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlOiAlbVxuIgorbXNnc3RyICJLbGnoZW0gaW9jdGwoKSB6YSBwb25vdm5vIGJyYW5qZSB0YWJlbGUgcmF6ZGVsa292LlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjM4NQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlnbm9yaW5nIG5lc3RlZCBcIiVzXCIgcGFydGl0aW9uIHRhYmxlIG9uIG5vbi13aG9sZSBkaXNrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAweCVqeCBub3QgZm91bmQiCittc2dzdHIgInVtb3VudDogJXM6IG5ldXNwZblubyBpc2thbmplIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQzNQorIywgZnV6enkKK21zZ2lkICJVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIHRvIGZvcmNlIGVyYXNlLiIKK21zZ3N0ciAiVXBvcmFiaXRlIC0tZm9yY2UgaXpiaXJvIGRhIG9iaWRldGUgdnNhIHByZXZlcmphbmphLlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1OQorbXNnaWQgIldpcGUgc2lnbmF0dXJlcyBmcm9tIGEgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDYyCittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgIHdpcGUgYWxsIG1hZ2ljIHN0cmluZ3MgKEJFIENBUkVGVUwhKVxuIgorIiAtYiwgLS1iYWNrdXAgICAgICAgIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAgaW4gJEhPTUVcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICBmb3JjZSBlcmFzdXJlXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorIiAtbiwgLS1uby1hY3QgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBhY3R1YWwgd3JpdGUoKSBjYWxsXG4iCisiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IHRvIGVyYXNlLCBpbiBieXRlc1xuIgorIiAtcCwgLS1wYXJzYWJsZSAgICAgIHByaW50IG91dCBpbiBwYXJzYWJsZSBpbnN0ZWFkIG9mIHByaW50YWJsZSBmb3JtYXRcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICBzdXBwcmVzcyBvdXRwdXQgbWVzc2FnZXNcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0sIFJBSURzIG9yIHBhcnRpdGlvbiB0YWJsZXNcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTMzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgb2Zmc2V0IGFyZ3VtZW50IgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU1OAorbXNnaWQgIlRoZSAtLWJhY2t1cCBvcHRpb24gaXMgbWVhbmluZ2xlc3MgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZWFsLXRpbWUgc2NoZWR1bGluZyBhdHRyaWJ1dGVzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzcKK21zZ2lkICIiCisiU2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gPHByaW9yaXR5PiA8Y29tbWFuZD4gWzxhcmc+Li4uXVxuIgorIiBjaHJ0IFtvcHRpb25zXSAtLXBpZCA8cHJpb3JpdHk+IDxwaWQ+XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQxCittc2dpZCAiIgorIkdldCBwb2xpY3k6XG4iCisiIGNocnQgW29wdGlvbnNdIC1wIDxwaWQ+XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgIlBvbGljeSBvcHRpb25zOlxuIgorbXNnc3RyICJuZXZhcm5lIGl6YmlyZToiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NgorbXNnaWQgIiAtYiwgLS1iYXRjaCAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0JBVENIXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ3CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kZWFkbGluZSAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0RFQURMSU5FXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgcGFyYW1ldHJpXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlmbyAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9GSUZPXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgcGFyYW1ldHJpXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OQorbXNnaWQgIiAtaSwgLS1pZGxlICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTAKK21zZ2lkICIgLW8sIC0tb3RoZXIgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcnIgICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NAorIywgZnV6enkKK21zZ2lkICJTY2hlZHVsaW5nIG9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIlZCByYXpkZWxrb3Y6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NQorbXNnaWQgIiAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgIHNldCBTQ0hFRF9SRVNFVF9PTl9GT1JLIGZvciBGSUZPIG9yIFJSXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU2Cittc2dpZCAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAgcnVudGltZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU3Cittc2dpZCAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTgKK21zZ2lkICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYxCisjLCBmdXp6eQorbXNnaWQgIk90aGVyIG9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIlZCByYXpkZWxrb3Y6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MgorbXNnaWQgIiAtYSwgLS1hbGwtdGFza3MgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MworIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbWF4ICAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgZGlzcGxheSBzdGF0dXMgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyMzIgc2NoZWR1dGlscy9jaHJ0LmM6MjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGF0dHJpYnV0ZXMiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY3CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMwMCBzY2hlZHV0aWxzL2NocnQuYzozOTYKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9idGFpbiB0aGUgbGlzdCBvZiB0YXNrcyIKK21zZ3N0ciAiJXM6IHphICVzIG5pIG1vZ2/oZSBuYWp0aSBuYXByYXZlXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBtaW4vbWF4IHByaW9yaXR5XHQ6ICVkLyVkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3Qgc3VwcG9ydGVkP1xuIgorbXNnc3RyICJORlMg6GV6IFRDUCBuaSBwb2RwcnQuXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aWQgJWQncyBwb2xpY3kiCittc2dzdHIgIk5ldXNwZblubyB6YXBpc292YW5qZSByYXpkZWxrYSBuYSAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJOZXVzcGW5bm8gemFwaXNvdmFuamUgcmF6ZGVsa2EgbmEgJXNcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDg3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcnVudGltZSBhcmd1bWVudCIKK21zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDkwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcGVyaW9kIGFyZ3VtZW50IgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBkZWFkbGluZSBhcmd1bWVudCIKK21zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcHJpb3JpdHkgYXJndW1lbnQiCittc2dzdHIgIm5ldmVsamF2ZW4gaWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyMQorbXNnaWQgIi0tcmVzZXQtb24tZm9yayBvcHRpb24gaXMgc3VwcG9ydGVkIGZvciBTQ0hFRF9GSUZPIGFuZCBTQ0hFRF9SUiBwb2xpY2llcyBvbmx5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyNgorbXNnaWQgIi0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgZm9yIFNDSEVEX0RFQURMSU5FIG9ubHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQxCisjLCBmdXp6eQorbXNnaWQgIlNDSEVEX0RFQURMSU5FIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJORlMg6GV6IFRDUCBuaSBwb2RwcnQuXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcmlvcml0eSB2YWx1ZSBmb3IgdGhlIHBvbGljeTogJWQ6IHNlZSAtLW1heCBmb3IgdmFsaWQgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo3NgorIywgZnV6enkKK21zZ2lkICJpb3ByaW9fZ2V0IGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBuaSB1c3BlbFxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcHJpbyAlbHVcbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo5OAorIywgZnV6enkKK21zZ2lkICJpb3ByaW9fc2V0IGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBuaSB1c3BlbFxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEwNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIC1wIDxwaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC1QIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtdSA8dWlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExMAorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBJL08tc2NoZWR1bGluZyBjbGFzcyBhbmQgcHJpb3JpdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTEzCittc2dpZCAiIgorIiAtYywgLS1jbGFzcyA8Y2xhc3M+ICAgIG5hbWUgb3IgbnVtYmVyIG9mIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNQorbXNnaWQgIiIKKyIgLW4sIC0tY2xhc3NkYXRhIDxudW0+ICBwcmlvcml0eSAoMC4uNykgaW4gdGhlIHNwZWNpZmllZCBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgb25seSBmb3IgdGhlIHJlYWx0aW1lIGFuZCBiZXN0LWVmZm9ydCBjbGFzc2VzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTcKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+Li4uICAgICBhY3Qgb24gdGhlc2UgYWxyZWFkeSBydW5uaW5nIHByb2Nlc3Nlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE4Cittc2dpZCAiIC1QLCAtLXBnaWQgPHBncnA+Li4uICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgaW4gdGhlc2UgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTkKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLWlnbm9yZSAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMjAKK21zZ2lkICIgLXUsIC0tdWlkIDx1aWQ+Li4uICAgICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBvd25lZCBieSB0aGVzZSB1c2Vyc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY2xhc3MgZGF0YSBhcmd1bWVudCIKK21zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjbGFzcyBhcmd1bWVudCIKK21zZ3N0ciAibmV2ZWxqYXZuaSBpZDogJXNcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2NoZWR1bGluZyBjbGFzczogJyVzJyIKK21zZ3N0ciAiJXM6IE5lem5hbiB1a2F6OiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NCBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MgorbXNnaWQgImNhbiBoYW5kbGUgb25seSBvbmUgb2YgcGlkLCBwZ2lkIG9yIHVpZCBhdCBvbmNlIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgUEdJRCBhcmd1bWVudCIKK21zZ3N0ciAibmV2ZWxqYXZuaSBpZDogJXNcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBVSUQgYXJndW1lbnQiCittc2dzdHIgIm5ldmVsamF2bmkgaWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjEyCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3Igbm9uZSBjbGFzcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyMAorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIGlkbGUgY2xhc3MiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpbyBjbGFzcyAlZCIKK21zZ3N0ciAidiBpZCBqZSBuZXpuYW5hIG5hcGFrYSIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJVc2FnZTogJXMgW29wdGlvbnNdIFttYXNrIHwgY3B1LWxpc3RdIFtwaWR8Y21kIFthcmdzLi4uXV1cbiIKKyJcbiIKK21zZ3N0ciAidXBvcmFiYTogJXMgcHJvZ3JhbSBbaXpiaXJhIC4uLl1cbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTUKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgQ1BVIGFmZmluaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiT3B0aW9uczpcbiIKKyIgLWEsIC0tYWxsLXRhc2tzICAgICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKKyIgLXAsIC0tcGlkICAgICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKKyIgLWMsIC0tY3B1LWxpc3QgICAgICAgICAgZGlzcGxheSBhbmQgc3BlY2lmeSBjcHVzIGluIGxpc3QgZm9ybWF0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIHJ1biBhIG5ldyBjb21tYW5kOlxuIgorIiAgICAlMSRzIDAzIHNzaGQgLWIgMTAyNFxuIgorIllvdSBjYW4gcmV0cmlldmUgdGhlIG1hc2sgb2YgYW4gZXhpc3RpbmcgdGFzazpcbiIKKyIgICAgJTEkcyAtcCA3MDBcbiIKKyJPciBzZXQgaXQ6XG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisiTGlzdCBmb3JtYXQgdXNlcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IGluc3RlYWQgb2YgYSBtYXNrOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJSYW5nZXMgaW4gbGlzdCBmb3JtYXQgY2FuIHRha2UgYSBzdHJpZGUgYXJndW1lbnQ6XG4iCisiICAgIGUuZy4gMC0zMToyIGlzIGVxdWl2YWxlbnQgdG8gbWFzayAweDU1NTU1NTU1XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5OQorIywgZnV6enkKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogY29udmVyc2lvbiBmcm9tIGNwdXNldCB0byBzdHJpbmcgZmFpbGVkIgorbXNnc3RyICIiCisiXG4iCisiTmFwYWthIHByaSB6YXBpcmFuanUgZGF0b3Rla2VcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTA5IHNjaGVkdXRpbHMvdGFza3NldC5jOjEyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjExOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE4NiBzeXMtdXRpbHMvY2hjcHUuYzoyODkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBOUl9DUFVTOyBhYm9ydGluZyIKK21zZ3N0ciAibmkgbW9nb+hlIGRvYml0aSB2ZWxpa29zdGkgJXMiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE5NSBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMDggc3lzLXV0aWxzL2NoY3B1LmM6Mjk1CisjLCBmdXp6eQorbXNnaWQgImNwdXNldF9hbGxvYyBmYWlsZWQiCittc2dzdHIgIm1hbGxvYyBuaSB1c3BlbCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjE1IHN5cy11dGlscy9jaGNwdS5jOjIzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrOiAlcyIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFplcm8tZmlsbGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogRGlzY2FyZGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4NworbXNnaWQgIkRpc2NhcmQgdGhlIGNvbnRlbnQgb2Ygc2VjdG9ycyBvbiBhIGRldmljZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkwCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKK21zZ3N0ciAiICAgIC1DIyBbYWxpIC0tY3lsaW5kZXJzICNdOm5hc3RhdmkguXRldmlsbyBzdGV6IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkxCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgICAgLUMjIFthbGkgLS1jeWxpbmRlcnMgI106bmFzdGF2aSC5dGV2aWxvIHN0ZXoiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXN0ZXAgPG51bT4gICAgc2l6ZSBvZiB0aGUgZGlzY2FyZCBpdGVyYXRpb25zIHdpdGhpbiB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NAorIywgZnV6enkKK21zZ2lkICIgLXosIC0temVyb291dCAgICAgICB6ZXJvLWZpbGwgcmF0aGVyIHRoYW4gZGlzY2FyZFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IGFsaWduZWQgbGVuZ3RoIGFuZCBvZmZzZXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1MCBzeXMtdXRpbHMvZnN0cmltLmM6MzEyIHN5cy11dGlscy9sb3NldHVwLmM6NjczCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG9mZnNldCIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTU0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGVwIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzIgc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODIgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDgKKyMsIGZ1enp5Cittc2dpZCAibm8gZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAibW91bnQ6IGxvb3AgbmFwcmF2YSBqZSBwb2RhbmEgZHZha3JhdCIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzcgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM1MQorIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTIyIHN5cy11dGlscy9mc3RyaW0uYzozMzQKKyMsIGZ1enp5Cittc2dpZCAidW5leHBlY3RlZCBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJuYWouILl0LiBvZHNla292ID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLR0VUU0laRTY0IGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiQkxLR0VUU0laRSBvZCBpb2N0bCBuaSB1c3BlbCBuYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NTWkdFVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgbmkgdXNwZWxcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgaXMgZ3JlYXRlciB0aGFuIGRldmljZSBzaXplIgorbXNnc3RyICJWZWxpa29zdGkgZGlza292bmUgc3RlemUgbmkgbW9nb+hlIHByZWJyYXRpIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGVuZ3RoICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1pFUk9PVVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IG5pIHVzcGVsXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU0VDRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgbmkgdXNwZWxcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBuaSB1c3BlbFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo4NyBzeXMtdXRpbHMvY2hjcHUuYzoxNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiJXM6IFwiJXNcIiBuZSBvYnN0YWphLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBob3QgcGx1Z2dhYmxlIgorbXNnc3RyICIlczogXCIlc1wiIG5pIGl6dnK5bGppdmEuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIlNla3RvciAlZCBqZSC+ZSBkb2RlbGplblxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIlNla3RvciAlZCBqZSC+ZSBkb2RlbGplblxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIChDUFUgaXMgZGVjb25maWd1cmVkKSIKK21zZ3N0ciAiU2VrdG9yICVkIGplIL5lIGRvZGVsamVuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIlNhbW96YXpuYXZhIG5pIHVzcGVsYS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlZFxuIgorbXNnc3RyICJTYW1vemF6bmF2YSBuaSB1c3BlbGEuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIChsYXN0IGVuYWJsZWQgQ1BVKSIKK21zZ3N0ciAiU2VrdG9yICVkIGplIL5lIGRvZGVsamVuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICJTZWt0b3IgJWQgamUgvmUgZG9kZWxqZW5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZWRcbiIKK21zZ3N0ciAiU2VrdG9yICVkIGplIL5lIGRvZGVsamVuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgcmVzY2FubmluZyBvZiBDUFVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gdHJpZ2dlciByZXNjYW4gb2YgQ1BVcyIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJUcmlnZ2VyZWQgcmVzY2FuIG9mIENQVXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHNldHRpbmcgdGhlIGRpc3BhdGNoaW5nIG1vZGUgb2YgQ1BVcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTUKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHNldCBob3Jpem9udGFsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgIk5ldXNwZblubyB6YXBpc292YW5qZSByYXpkZWxrYSBuYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIk5ldXNwZblubyB6YXBpc292YW5qZSByYXpkZWxrYSBuYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTkKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHNldCB2ZXJ0aWNhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICJOZXVzcGW5bm8gemFwaXNvdmFuamUgcmF6ZGVsa2EgbmEgJXNcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IHZlcnRpY2FsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBjb25maWd1cmFibGUiCittc2dzdHIgIiVzOiBcIiVzXCIgbmkgaXp2crlsaml2YS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBjb25maWd1cmVkXG4iCittc2dzdHIgIlNla3RvciAlZCBqZSC+ZSBkb2RlbGplblxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJTZWt0b3IgJWQgamUgvmUgZG9kZWxqZW5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIChDUFUgaXMgZW5hYmxlZCkiCittc2dzdHIgIlNhbW96YXpuYXZhIG5pIHVzcGVsYS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiU2Ftb3phem5hdmEgbmkgdXNwZWxhLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmVkXG4iCittc2dzdHIgIlNhbW96YXpuYXZhIG5pIHVzcGVsYS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICJTYW1vemF6bmF2YSBuaSB1c3BlbGEuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJTYW1vemF6bmF2YSBuaSB1c3BlbGEuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBDUFUgbnVtYmVyIGluIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAiTmV2ZWxqYXZubyC5dGV2aWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzggdGV4dC11dGlscy9jb2wuYzoxMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0MgorbXNnaWQgIkNvbmZpZ3VyZSBDUFVzIGluIGEgbXVsdGktcHJvY2Vzc29yIHN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorIiAgLWUsIC0tZW5hYmxlIDxjcHUtbGlzdD4gICAgICAgZW5hYmxlIGNwdXNcbiIKKyIgIC1kLCAtLWRpc2FibGUgPGNwdS1saXN0PiAgICAgIGRpc2FibGUgY3B1c1xuIgorIiAgLWMsIC0tY29uZmlndXJlIDxjcHUtbGlzdD4gICAgY29uZmlndXJlIGNwdXNcbiIKKyIgIC1nLCAtLWRlY29uZmlndXJlIDxjcHUtbGlzdD4gIGRlY29uZmlndXJlIGNwdXNcbiIKKyIgIC1wLCAtLWRpc3BhdGNoIDxtb2RlPiAgICAgICAgIHNldCBkaXNwYXRjaGluZyBtb2RlXG4iCisiICAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICB0cmlnZ2VyIHJlc2NhbiBvZiBjcHVzXG4iCisiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjMyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICIlczogbmV6bmFuIGFyZ3VtZW50OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgaGFyZHxzb2Z0XG4iCittc2dzdHIgIlVwb3JhYmE6IGN0cmxhbHRkZWwgaGFyZHxzb2Z0XG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0IHRoZSBmdW5jdGlvbiBvZiB0aGUgQ3RybC1BbHQtRGVsIGNvbWJpbmF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTEKK21zZ2lkICJpbXBsaWNpdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHZhbHVlIGluICVzOiAlanUiCittc2dzdHIgIm5hai4guXQuIG9kc2Vrb3YgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo2MworIywgZnV6enkKK21zZ2lkICJZb3UgbXVzdCBiZSByb290IHRvIHNldCB0aGUgQ3RybC1BbHQtRGVsIGJlaGF2aW9yIgorbXNnc3RyICJaYSBuYXN0YXZpdGV2IG9ibmG5YW5qYSBDdHJsLUFsdC1EZWwgbW9yYXRlIGJpdGkgc2lzdGVtc2tpIHNrcmJuaWsuXG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NzEgc3lzLXV0aWxzL2lwY3JtLmM6MzkyIHN5cy11dGlscy9pcGNybS5jOjQxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhcmd1bWVudDogJXMiCittc2dzdHIgIiVzOiBuZXpuYW4gYXJndW1lbnQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMAorIywgZnV6enkKK21zZ2lkICJzeXN0ZW0gaXMgdW51c2FibGUiCittc2dzdHIgIlRhIHJhemRlbGVrIG5pIHVwb3JhYmVuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTEKK21zZ2lkICJhY3Rpb24gbXVzdCBiZSB0YWtlbiBpbW1lZGlhdGVseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTIKK21zZ2lkICJjcml0aWNhbCBjb25kaXRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMworIywgZnV6enkKK21zZ2lkICJlcnJvciBjb25kaXRpb25zIgorbXNnc3RyICJuYXBha2EgcHJpIHphcGlyYW5qdSAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE0CisjLCBmdXp6eQorbXNnaWQgIndhcm5pbmcgY29uZGl0aW9ucyIKK21zZ3N0ciAiT3Bvem9yaWxvOiByYXpkZWxlayAlcyAiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNQorbXNnaWQgIm5vcm1hbCBidXQgc2lnbmlmaWNhbnQgY29uZGl0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNgorbXNnaWQgImluZm9ybWF0aW9uYWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE3Cittc2dpZCAiZGVidWctbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMxCisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBtZXNzYWdlcyIKK21zZ3N0ciAic3Bvcm/oaWxhIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzIKK21zZ2lkICJyYW5kb20gdXNlci1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzMKKyMsIGZ1enp5Cittc2dpZCAibWFpbCBzeXN0ZW0iCittc2dzdHIgIlZuZXNpdGUgdnJzdG8gZGF0b3Rl6G5lZ2Egc2lzdGVtYTogIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzQKK21zZ2lkICJzeXN0ZW0gZGFlbW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzUKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNgorbXNnaWQgIm1lc3NhZ2VzIGdlbmVyYXRlZCBpbnRlcm5hbGx5IGJ5IHN5c2xvZ2QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM3Cittc2dpZCAibGluZSBwcmludGVyIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzgKK21zZ2lkICJuZXR3b3JrIG5ld3Mgc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOQorbXNnaWQgIlVVQ1Agc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MAorIywgZnV6enkKK21zZ2lkICJjbG9jayBkYWVtb24iCittc2dzdHIgIm5pIG1vZ2/oZSBkb2JpdGkgdmVsaWtvc3RpICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDEKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIChwcml2YXRlKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDIKKyMsIGZ1enp5Cittc2dpZCAiRlRQIGRhZW1vbiIKK21zZ3N0ciAibmkgbW9nb+hlIGRvYml0aSB2ZWxpa29zdGkgJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI2NworbXNnaWQgIkRpc3BsYXkgb3IgY29udHJvbCB0aGUga2VybmVsIHJpbmcgYnVmZmVyLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MAorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGNsZWFyIHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjcxCisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgcmVhZCBhbmQgY2xlYXIgYWxsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MgorIywgZnV6enkKK21zZ2lkICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIGRpc2FibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MworIywgZnV6enkKK21zZ2lkICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIGVuYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc0Cittc2dpZCAiIC1GLCAtLWZpbGUgPGZpbGU+ICAgICAgICAgICB1c2UgdGhlIGZpbGUgaW5zdGVhZCBvZiB0aGUga2VybmVsIGxvZyBidWZmZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzUKK21zZ2lkICIgLWYsIC0tZmFjaWxpdHkgPGxpc3Q+ICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGZhY2lsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzYKKyMsIGZ1enp5Cittc2dpZCAiIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICBodW1hbiByZWFkYWJsZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NworIywgZnV6enkKK21zZ2lkICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIGRpc3BsYXkga2VybmVsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3OAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MQorbXNnaWQgIiAtbCwgLS1sZXZlbCA8bGlzdD4gICAgICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgbGV2ZWxzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgyCittc2dpZCAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPGxldmVsPiBzZXQgbGV2ZWwgb2YgbWVzc2FnZXMgcHJpbnRlZCB0byBjb25zb2xlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgzCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1ub3BhZ2VyICAgICAgICAgICAgICAgZG8gbm90IHBpcGUgb3V0cHV0IGludG8gYSBwYWdlclxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg0CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJhdyBtZXNzYWdlIGJ1ZmZlclxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg1CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgZm9yY2UgdG8gdXNlIHN5c2xvZygyKSByYXRoZXIgdGhhbiAvZGV2L2ttc2dcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NgorbXNnaWQgIiAtcywgLS1idWZmZXItc2l6ZSA8c2l6ZT4gICAgYnVmZmVyIHNpemUgdG8gcXVlcnkgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NworIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIGRpc3BsYXkgdXNlcnNwYWNlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OAorIywgZnV6enkKK21zZ2lkICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODkKK21zZ2lkICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIGRlY29kZSBmYWNpbGl0eSBhbmQgbGV2ZWwgdG8gcmVhZGFibGUgc3RyaW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkwCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgc2hvdyB0aW1lIGRlbHRhIGJldHdlZW4gcHJpbnRlZCBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkxCittc2dpZCAiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBzaG93IGxvY2FsIHRpbWUgYW5kIHRpbWUgZGVsdGEgaW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkyCisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbi1yZWFkYWJsZSB0aW1lc3RhbXAgKG1heSBiZSBpbmFjY3VyYXRlISlcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MworIywgZnV6enkKK21zZ2lkICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIGRvbid0IHNob3cgYW55IHRpbWVzdGFtcCB3aXRoIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTQKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcCB1c2luZyB0aGUgZ2l2ZW4gZm9ybWF0OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsdGF8cmVsdGltZXxjdGltZXxub3RpbWV8aXNvXVxuIgorIlN1c3BlbmRpbmcvcmVzdW1lIHdpbGwgbWFrZSBjdGltZSBhbmQgaXNvIHRpbWVzdGFtcHMgaW5hY2N1cmF0ZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDAKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBmYWNpbGl0aWVzOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwNgorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGxldmVscyAocHJpb3JpdGllcyk6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGV2ZWwgJyVzJyIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBsZXZlbCAnJXMnIgorbXNnc3RyICIlczogTmV6bmFuIHVrYXo6ICVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGZhY2lsaXR5ICclcyciCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo0MDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAiSW1lbmlrICVzIG5lIG9ic3RhamEhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1tYXA6ICVzIgorbXNnc3RyICJuaSBtb2dv6GUgb2RwcmV0aSAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1NgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGJ1ZmZlciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDA5Cittc2dpZCAiLS1zaG93LWRlbHRhIGlzIGlnbm9yZWQgd2hlbiB1c2VkIHRvZ2V0aGVyIHdpdGggaXNvODYwMSB0aW1lIGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDMyCittc2dpZCAiLS1yYXcgY2FuIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWxldmVsIG9yIC0tZmFjaWxpdHkgb25seSB3aGVuIHJlYWRpbmcgbWVzc2FnZXMgZnJvbSAvZGV2L2ttc2ciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQ0MgorIywgZnV6enkKK21zZ2lkICJyZWFkIGtlcm5lbCBidWZmZXIgZmFpbGVkIgorbXNnc3RyICJrbGljIGdldHRpbWVvZmRheSBuaSB1c3BlbCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQ2MQorIywgZnV6enkKK21zZ2lkICJrbG9nY3RsIGZhaWxlZCIKK21zZ3N0ciAiZnN5bmMgbmkgdXNwZWwiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT58PG1vdW50cG9pbnQ+XVxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiRWplY3QgcmVtb3ZhYmxlIG1lZGlhLlxuIgorbXNnc3RyICIgb2RzdHJhbmxqaXYiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjE0MAorbXNnaWQgIiIKKyIgLWEsIC0tYXV0byA8b258b2ZmPiAgICAgICAgIHR1cm4gYXV0by1lamVjdCBmZWF0dXJlIG9uIG9yIG9mZlxuIgorIiAtYywgLS1jaGFuZ2Vyc2xvdCA8c2xvdD4gICAgc3dpdGNoIGRpc2NzIG9uIGEgQ0QtUk9NIGNoYW5nZXJcbiIKKyIgLWQsIC0tZGVmYXVsdCAgICAgICAgICAgICAgIGRpc3BsYXkgZGVmYXVsdCBkZXZpY2VcbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIGVqZWN0IGZsb3BweVxuIgorIiAtRiwgLS1mb3JjZSAgICAgICAgICAgICAgICAgZG9uJ3QgY2FyZSBhYm91dCBkZXZpY2UgdHlwZVxuIgorIiAtaSwgLS1tYW51YWxlamVjdCA8b258b2ZmPiAgdG9nZ2xlIG1hbnVhbCBlamVjdCBwcm90ZWN0aW9uIG9uL29mZlxuIgorIiAtbSwgLS1uby11bm1vdW50ICAgICAgICAgICAgZG8gbm90IHVubW91bnQgZGV2aWNlIGV2ZW4gaWYgaXQgaXMgbW91bnRlZFxuIgorIiAtTSwgLS1uby1wYXJ0aXRpb25zLXVubW91bnQgZG8gbm90IHVubW91bnQgYW5vdGhlciBwYXJ0aXRpb25zXG4iCisiIC1uLCAtLW5vb3AgICAgICAgICAgICAgICAgICBkb24ndCBlamVjdCwganVzdCBzaG93IGRldmljZSBmb3VuZFxuIgorIiAtcCwgLS1wcm9jICAgICAgICAgICAgICAgICAgdXNlIC9wcm9jL21vdW50cyBpbnN0ZWFkIG9mIC9ldGMvbXRhYlxuIgorIiAtcSwgLS10YXBlICAgICAgICAgICAgICAgICAgZWplY3QgdGFwZVxuIgorIiAtciwgLS1jZHJvbSAgICAgICAgICAgICAgICAgZWplY3QgQ0QtUk9NXG4iCisiIC1zLCAtLXNjc2kgICAgICAgICAgICAgICAgICBlamVjdCBTQ1NJIGRldmljZVxuIgorIiAtdCwgLS10cmF5Y2xvc2UgICAgICAgICAgICAgY2xvc2UgdHJheVxuIgorIiAtVCwgLS10cmF5dG9nZ2xlICAgICAgICAgICAgdG9nZ2xlIHRyYXlcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIGVuYWJsZSB2ZXJib3NlIG91dHB1dFxuIgorIiAteCwgLS1jZHNwZWVkIDxzcGVlZD4gICAgICAgc2V0IENELVJPTSBtYXggc3BlZWRcbiIKKyIgLVgsIC0tbGlzdHNwZWVkICAgICAgICAgICAgIGxpc3QgQ0QtUk9NIGF2YWlsYWJsZSBzcGVlZHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNjQKK21zZ2lkICIiCisiXG4iCisiQnkgZGVmYXVsdCB0cmllcyAtciwgLXMsIC1mLCBhbmQgLXEgaW4gb3JkZXIgdW50aWwgc3VjY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTAKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2hhbmdlcnNsb3QvLWMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxNAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2RzcGVlZC8teCBvcHRpb24iCittc2dzdHIgIm5ldmVsamF2bmkgaWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjMyNgorbXNnaWQgIkNELVJPTSBhdXRvLWVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MAorIywgZnV6enkKK21zZ2lkICJDRC1ST00gZG9vciBsb2NrIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIlNhbW8gMWsgdmVsaWtpIGJsb2tpL3BvZHJv6GphIHNvIHBvZHBydGkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MgorbXNnaWQgIm90aGVyIHVzZXJzIGhhdmUgdGhlIGRyaXZlIG9wZW4gYW5kIG5vdCBDQVBfU1lTX0FETUlOIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0NAorbXNnaWQgIkNELVJPTSBsb2NrIGRvb3IgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQ5Cittc2dpZCAiQ0QtRHJpdmUgbWF5IE5PVCBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNTEKK21zZ2lkICJDRC1Ecml2ZSBtYXkgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzYyCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBkaXNjIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NgorbXNnaWQgIkNELVJPTSBsb2FkIGZyb20gc2xvdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjgKK21zZ2lkICJJREUvQVRBUEkgQ0QtUk9NIGNoYW5nZXIgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NgorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4OAorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQwNQorbXNnaWQgIkNELVJPTSBlamVjdCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzMgc3lzLXV0aWxzL2VqZWN0LmM6NDU2IHN5cy11dGlscy9lamVjdC5jOjEwMTEKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM2Cittc2dpZCAibm8gQ0QtUk9NIGluZm9ybWF0aW9uIGF2YWlsYWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzkKK21zZ2lkICJDRC1ST00gZHJpdmUgaXMgbm90IHJlYWR5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4MgorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDg0IHN5cy11dGlscy9lamVjdC5jOjU3MAorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kaW5nIENELVJPTSBuYW1lIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1NDQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgInN0YW5qYSAlcyBuaSBtb2dv6GUgZG9iaXRpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1ODgKKyMsIGZ1enp5Cittc2dpZCAibm90IGFuIHNnIGRldmljZSwgb3Igb2xkIHNnIGRyaXZlciIKK21zZ3N0ciAiJXMgbmkgYmxv6G5hIGVub3RhIG96LiBkYXRvdGVrYVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bm1vdW50aW5nIgorbXNnc3RyICJwcmlrbG9wIG5pIHVzcGVsIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBleGVjIC9iaW4vdW1vdW50IG9mIGAlcyciCittc2dzdHIgImtsaWMgaW9jdGwoKSBuaSB1c3BlbCBwcmVicmF0aSDoYXNhIGl6ICVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzgKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGZvcmsiCittc2dzdHIgIm5pIG1vZ2/oZSBvZHByZXRpICVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgIm1vdW50OiBwcmlrbG9wbmEgdG/oa2EgJXMgbmUgb2JzdGFqYSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZmFpbGVkXG4iCittc2dzdHIgIiVzOiBwcmVpbWVub3ZhbmplICVzIG5hICVzIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzMwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjc5MSBzeXMtdXRpbHMvZWplY3QuYzo4OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudGVkIG9uICVzIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBuZXVzcGW5bm8gaXNrYW5qZSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODMzCittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gYXV0byIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gJWxkWCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVmYXVsdCBkZXZpY2U6IGAlcyciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyBkZWZhdWx0IGRldmljZSBgJXMnIgorbXNnc3RyICJVcG9yYmxqZW5hIGJvIHByaXZ6ZXRhIHZyZWRub3N0ICV1XG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4NiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBmaW5kIGRldmljZSIKK21zZ3N0ciAiaXptZW5qYWxuZSBuYXByYXZlIG5pIG1vZ2/oZSBwcmV2aXRpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBuYW1lIGlzIGAlcyciCittc2dzdHIgImxvb3A6IG5pIG1vZ2/oZSBvZHByZXRpIG5hcHJhdmUgJXM6ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg5NCBzeXMtdXRpbHMvdW1vdW50LmM6MjA2IHN5cy11dGlscy91bW91bnQuYzoyMzUKKyM6IHN5cy11dGlscy91bW91bnQuYzo0MDkgc3lzLXV0aWxzL3Vtb3VudC5jOjQzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBtb3VudGVkIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBuZXVzcGW5bm8gaXNrYW5qZSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNjIGRldmljZTogJXMgKGRpc2sgZGV2aWNlIHdpbGwgYmUgdXNlZCBmb3IgZWplY3QpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIG1vdW50cG9pbnQgb3IgZGV2aWNlIHdpdGggdGhlIGdpdmVuIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgd2hvbGUtZGlzayBkZXZpY2UiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgaG90LXBsdWdnYWJsZSBkZXZpY2UiCittc2dzdHIgIiVzOiBuaSBibG/obmEgbmFwcmF2YVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBpcyBgJXMnIgorbXNnc3RyICJsb29wOiBuaSBtb2dv6GUgb2RwcmV0aSBuYXByYXZlICVzOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTgKK21zZ2lkICJleGl0aW5nIGR1ZSB0byAtbi8tLW5vb3Agb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZW5hYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NpbmcgdHJheSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsaXN0aW5nIENELVJPTSBzcGVlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogZGV2aWNlIGluIHVzZSIKK21zZ3N0ciAidW1vdW50OiAlczogbmFwcmF2YSBqZSB6YXBvc2xlbmEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VsZWN0aW5nIENELVJPTSBkaXNjICMlbGQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIENELVJPTSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTAKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIFNDU0kgY29tbWFuZHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxNworIywgZnV6enkKK21zZ2lkICJTQ1NJIGVqZWN0IHN1Y2NlZWRlZCIKK21zZ3N0ciAiJXMgamUgdXNwZWxvLlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE4CisjLCBmdXp6eQorbXNnaWQgIlNDU0kgZWplY3QgZmFpbGVkIgorbXNnc3RyICJ6YWdvbiBuaSB1c3BlbFxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgZmxvcHB5IGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNAorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI1Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyB0YXBlIG9mZmxpbmUgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDMxCittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzIKKyMsIGZ1enp5Cittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJvcGVuIGltZW5pa2EgbmkgdXNwZWxcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzNgorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZWplY3QiCittc2dzdHIgImtsaWMgaW9jdGwoKSBuaSB1c3BlbCBwcmVicmF0aSDoYXNhIGl6ICVzIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGVuYW1lPlxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODEKK21zZ2lkICJQcmVhbGxvY2F0ZSBzcGFjZSB0bywgb3IgZGVhbGxvY2F0ZSBzcGFjZSBmcm9tIGEgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODQKK21zZ2lkICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgcmVtb3ZlIGEgcmFuZ2UgZnJvbSB0aGUgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGlnLWhvbGVzICAgICAgZGV0ZWN0IHplcm9lcyBhbmQgcmVwbGFjZSB3aXRoIGhvbGVzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBuZSB6YXBpuWkgc3ByZW1lbWIgbmEgZGlzayIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg2CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gICBsZW5ndGggZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iCittc2dzdHIgIiAgICAtQyMgW2FsaSAtLWN5bGluZGVycyAjXTpuYXN0YXZpILl0ZXZpbG8gc3RleiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg3CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1rZWVwLXNpemUgICAgICBtYWludGFpbiB0aGUgYXBwYXJlbnQgc2l6ZSBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgUHJlcGm5aSB0YWJlbG8gcmF6ZGVsa292IG5hIHphc2xvbiBhbGkgdiBkYXRvdGVrbyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg4Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgIG9mZnNldCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODkKK21zZ2lkICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVwbGFjZSBhIHJhbmdlIHdpdGggYSBob2xlIChpbXBsaWVzIC1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MAorbXNnaWQgIiAteiwgLS16ZXJvLXJhbmdlICAgICB6ZXJvIGFuZCBlbnN1cmUgYWxsb2NhdGlvbiBvZiBhIHJhbmdlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEyNgorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQ6IGtlZXAgc2l6ZSBtb2RlIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMjcKKyMsIGZ1enp5Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBuaSB1c3BlbFxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgbmkgdXNwZWxcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjI2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCVqdSBieXRlcykgY29udmVydGVkIHRvIHNwYXJzZSBob2xlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzQ2IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExOAorIywgZnV6enkKK21zZ2lkICJubyBmaWxlbmFtZSBzcGVjaWZpZWQiCittc2dzdHIgIkl6YmlyYSAtLWRhdGUgbmkgYmlsYSBwb2RhbmEuXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTggc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgIk5ldmVsamF2bmEgdnJlZG5vc3QgbmFzdGF2bGphbmphOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzYyCisjLCBmdXp6eQorbXNnaWQgIm5vIGxlbmd0aCBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgIlByZXZl6CBhcmd1bWVudG92LlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzY3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAiTmV2ZWxqYXZuYSB2cmVkbm9zdCBuYXN0YXZsamFuamE6ICVzXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IDxjb21tYW5kPiBbPGFyZ3VtZW50Pi4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IC1jIDxjb21tYW5kPlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZSBkZXNjcmlwdG9yIG51bWJlcj5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo1OQorIywgZnV6enkKK21zZ2lkICJNYW5hZ2UgZmlsZSBsb2NrcyBmcm9tIHNoZWxsIHNjcmlwdHMuXG4iCittc2dzdHIgImxvZ2luOiBuaSBwcm9zdGVnYSBwb21uaWxuaWthIHphIGx1cGluc2tpIHNrcmlwdC5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjIKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBnZXQgYSBzaGFyZWQgbG9ja1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MworIywgZnV6enkKK21zZ2lkICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIGdldCBhbiBleGNsdXNpdmUgbG9jayAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY0CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAgcmVtb3ZlIGEgbG9ja1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIGZhaWwgcmF0aGVyIHRoYW4gd2FpdFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NgorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjcKK21zZ2lkICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxudW1iZXI+ICBleGl0IGNvZGUgYWZ0ZXIgY29uZmxpY3Qgb3IgdGltZW91dFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY4CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1jbG9zZSAgICAgICAgICAgICAgY2xvc2UgZmlsZSBkZXNjcmlwdG9yIGJlZm9yZSBydW5uaW5nIGNvbW1hbmRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY5Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICBydW4gYSBzaW5nbGUgY29tbWFuZCBzdHJpbmcgdGhyb3VnaCB0aGUgc2hlbGxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MAorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgIGV4ZWN1dGUgY29tbWFuZCB3aXRob3V0IGZvcmtpbmdcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICBpbmNyZWFzZSB2ZXJib3NpdHlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoxMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlcyIKK21zZ3N0ciAiRGF0b3Rla2UgLCVzYCBuaSBtb2dv6GUgb2RwcmV0aSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjA1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgdGltZW91dCB2YWx1ZSIKK21zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjA5CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZXhpdCBjb2RlIgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMjgKK21zZ2lkICJ0aGUgLS1uby1mb3JrIGFuZCAtLWNsb3NlIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGNvbW1hbmQgYXJndW1lbnQiCittc2dzdHIgIiVzIHphaHRldmEgYXJndW1lbnRcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjU0CisjLCBmdXp6eQorbXNnaWQgImJhZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgImJsb+huYSBuYXByYXZhIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTcKKyMsIGZ1enp5Cittc2dpZCAicmVxdWlyZXMgZmlsZSBkZXNjcmlwdG9yLCBmaWxlIG9yIGRpcmVjdG9yeSIKK21zZ3N0ciAia29yZW5za2kgaW5vZCBuaSBpbWVuaWsiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGxvY2siCittc2dzdHIgInN0YW5qYSAlcyBuaSBtb2dv6GUgZG9iaXRpIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODgKK21zZ2lkICJ0aW1lb3V0IHdoaWxlIHdhaXRpbmcgdG8gZ2V0IGxvY2siCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0dGluZyBsb2NrIHRvb2sgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXMgICUuNmYgc2VrdW5kXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjM0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICJOYXBha2EgcHJpIGl6dmFqYW5qdVx0JXNcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50cG9pbnQ+XG4iCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjUzCittc2dpZCAiU3VzcGVuZCBhY2Nlc3MgdG8gYSBmaWxlc3lzdGVtIChleHQzLzQsIFJlaXNlckZTLCBKRlMsIFhGUykuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTYKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZyZWV6ZSAgICAgIGZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgIHQgICAgICAgICAgU3ByZW1lbmkgdnJzdG8gZGF0b3Rl6G5lZ2Egc2lzdGVtYSIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTcKK21zZ2lkICIgLXUsIC0tdW5mcmVlemUgICAgdW5mcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTYKK21zZ2lkICJuZWl0aGVyIC0tZnJlZXplIG9yIC0tdW5mcmVlemUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAia29yZW5za2kgaW5vZCBuaSBpbWVuaWsiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjE0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgbmkgdXNwZWxcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5mcmVlemUgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IG5pIHVzcGVsXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAia29yZW5za2kgaW5vZCBuaSBpbWVuaWsiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEZJVFJJTSBpb2N0bCBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgbmkgdXNwZWxcbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBoZXJlIGlzIGEgdmVyeSBsYXJnZSBudW1iZXIuCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJTxQUkl1NjQ+IGJ5dGVzKSB0cmltbWVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE5MSBzeXMtdXRpbHMvc3dhcG9uLmM6NzI5IHN5cy11dGlscy91bW91bnQuYzozMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50IHBvaW50PlxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU0Cittc2dpZCAiRGlzY2FyZCB1bnVzZWQgYmxvY2tzIG9uIGEgbW91bnRlZCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTcKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgdHJpbSBhbGwgbW91bnRlZCBmaWxlc3lzdGVtcyB0aGF0IGFyZSBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU4Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgdGhlIG9mZnNldCBpbiBieXRlcyB0byBzdGFydCBkaXNjYXJkaW5nIGZyb21cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU5CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gZGlzY2FyZFxuIgorbXNnc3RyICIgICAgLUMjIFthbGkgLS1jeWxpbmRlcnMgI106bmFzdGF2aSC5dGV2aWxvIHN0ZXoiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjAKK21zZ2lkICIgLW0sIC0tbWluaW11bSA8bnVtPiB0aGUgbWluaW11bSBleHRlbnQgbGVuZ3RoIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IG51bWJlciBvZiBkaXNjYXJkZWQgYnl0ZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzE2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtaW5pbXVtIGV4dGVudCBsZW5ndGgiCittc2dzdHIgImtsaWMgaW9jdGwoKSBuaSB1c3BlbCBwcmVicmF0aSDoYXNhIGl6ICVzIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzI5CisjLCBmdXp6eQorbXNnaWQgIm5vIG1vdW50cG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICJJemJpcmEgLS1kYXRlIG5pIGJpbGEgcG9kYW5hLlxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdGhlIGRpc2NhcmQgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIk9wb3pvcmlsbzogaXpiaXJhIG5vbG9jayBuaSBwb2RwcnRhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJBc3N1bWluZyBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluICVzIHRpbWUuXG4iCittc2dzdHIgIlByaXZ6ZW1hbW8sIGRhIHN0cm9qbmEgdXJhIHRl6GUgdiAlcyDoYXN1LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI0NyBzeXMtdXRpbHMvaHdjbG9jay5jOjMzNAorbXNnaWQgIlVUQyIKK21zZ3N0ciAiVVRDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI0NyBzeXMtdXRpbHMvaHdjbG9jay5jOjMzMworbXNnaWQgImxvY2FsIgorbXNnc3RyICJrcmFqZXZuZW0iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzE4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJXYXJuaW5nOiB1bnJlY29nbml6ZWQgdGhpcmQgbGluZSBpbiBhZGp0aW1lIGZpbGVcbiIKKyIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pIgorbXNnc3RyICIlczogT3Bvem9yaWxvOiBuZXByZXBvem5hbmEgdHJldGphIHZyc3RpY2EgdiBkYXRvdGVraSBhZGp0aW1lXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgZHJpZnQgYWRqdXN0bWVudCBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiWmFkbmphIHByaWxhZ29kaXRldiBkcnNlbmp1IG9wcmF2bGplbmEgJWxkIHNla3VuZCBwbyBsZXR1IDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBjYWxpYnJhdGlvbiBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiWmFkbmplIHByZXZlcmphbmplIG1lciBqZSBiaWxvIG9wcmF2bGplbm8gJWxkIHNla3VuZCBwbyBsZXR1IDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGFyZHdhcmUgY2xvY2sgaXMgb24gJXMgdGltZVxuIgorbXNnc3RyICJTdHJvam5hIHVyYSB0ZehlIHYgJXMg6GFzdVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM1OAorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGZvciBjbG9jayB0aWNrLi4uXG4iCittc2dzdHIgIshha2FtbyBuYSB0aWt0YWsgdXJlLi4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnN5bmNocm9uaXphdGlvbiBmYWlsZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5nb3QgY2xvY2sgdGlja1xuIgorbXNnc3RyICIuLi5kb2JpbGkgdGlrdGFrLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQyMgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHZhbHVlcyBpbiBoYXJkd2FyZSBjbG9jazogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorbXNnc3RyICJOZXZlbGphdm5lIHZyZWRub3N0aSB2IHN0cm9qbmkgdXJpOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkh3IGNsb2NrIHRpbWUgOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICLIYXMgc3Ryb2puZSB1cmU6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAlbGQgc2VrdW5kIHBvIGxldHUgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ2NQorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHJlYWQgZnJvbSBIYXJkd2FyZSBDbG9jazogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorbXNnc3RyICLIYXMsIHByZWJyYW4gaXogc3Ryb2puZSB1cmU6ICU0ZC8lLjJkLyUuMmQgJTAyZDolMDJkOiUwMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyBIYXJkd2FyZSBDbG9jayB0byAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiU3Ryb2pubyB1cm8gbmFzdGF2bGphbW8gbmEgJS4yZDolLjJkOiUuMmQgPSAlbGQgc2VrdW5kIHBvIGxldHUgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICJDbG9jayBub3QgY2hhbmdlZCAtIHRlc3Rpbmcgb25seS5cbiIKK21zZ3N0ciAiVXJlIG5pIHNwcmVtZW5qZW5hIC0gemdvbGogcHJlaXprdXMuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjAzCisjLCBjLWZvcm1hdAorbXNnaWQgInNsZWVwaW5nIH4lZCB1c2VjXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBqdW1wZWQgYmFja3dhcmQgJS42ZiBzZWNvbmRzIHRvICVsZC4lMDZsZCAtIHJldGFyZ2V0aW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkLiUwNmxkIDwgJWxkLiUwNmxkICglLjZmKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NlZCBpdCAtICVsZC4lMDZsZCBpcyB0b28gZmFyIHBhc3QgJWxkLiUwNmxkICglLjZmID4gJS42ZilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJWxkLiUwNmxkIGlzIGNsb3NlIGVub3VnaCB0byAlbGQuJTA2bGQgKCUuNmYgPCAlLjZmKVxuIgorIlNldCBSVEMgdG8gJWxkICglbGQgKyAlZDsgcmVmc3lzdGltZSA9ICVsZC4lMDZsZClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY4OAorIywgZnV6enkKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgcmVnaXN0ZXJzIGNvbnRhaW4gdmFsdWVzIHRoYXQgYXJlIGVpdGhlciBpbnZhbGlkIChlLmcuIDUwdGggZGF5IG9mIG1vbnRoKSBvciBiZXlvbmQgdGhlIHJhbmdlIHdlIGNhbiBoYW5kbGUgKGUuZy4gWWVhciAyMDk1KS4iCittc2dzdHIgIiIKKyJSZWdpc3RyaSBzdHJvam5lIHVyZSB2c2VidWplam8gdnJlZG5vc3RpIGtpIHNvIGJvZGlzaSBuZXZlbGphdm5lXG4iCisiKG5wci4gNTAuIGRhbiB2IG1lc2VjdSksIGJvZGlzaSBpenZlbiBuYbllZ2EgZG9zZWdhIChucHIuIGxldG8gMjA5NSkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzI4CisjLCBmdXp6eQorbXNnaWQgIk5vIC0tZGF0ZSBvcHRpb24gc3BlY2lmaWVkLiIKK21zZ3N0ciAiSXpiaXJhIC0tZGF0ZSBuaSBiaWxhIHBvZGFuYS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MzQKKyMsIGZ1enp5Cittc2dpZCAiLS1kYXRlIGFyZ3VtZW50IHRvbyBsb25nIgorbXNnc3RyICJJemJpcmEgLS1kYXRlIGplIHByZWRvbGdhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc0MQorIywgZnV6enkKK21zZ2lkICIiCisiVGhlIHZhbHVlIG9mIHRoZSAtLWRhdGUgb3B0aW9uIGlzIG5vdCBhIHZhbGlkIGRhdGUuXG4iCisiSW4gcGFydGljdWxhciwgaXQgY29udGFpbnMgcXVvdGF0aW9uIG1hcmtzLiIKK21zZ3N0ciAiIgorIlZyZWRub3N0LCBwb2RhbmEgcHJpIGl6YmlyaSAtLWRhdGUgbmkgdmVsamF2ZW4gZGF0dW0uXG4iCisiTWVkIGRydWdpbSB2c2VidWplIG5hcmVrb3ZhamUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIklzc3VpbmcgZGF0ZSBjb21tYW5kOiAlc1xuIgorbXNnc3RyICJJenZhamFtbyB1a2F6IGRhdGU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzUzCittc2dpZCAiVW5hYmxlIHRvIHJ1biAnZGF0ZScgcHJvZ3JhbSBpbiAvYmluL3NoIHNoZWxsLiBwb3BlbigpIGZhaWxlZCIKK21zZ3N0ciAiTmUgbW9yZW1vIHBvZ25hdGkgdWthemEgJ2RhdGUnIHYgbHVwaW5pIC9iaW4vc2gsIGtsaWMgcG9wZW4oKSBuaSB1c3BlbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzcG9uc2UgZnJvbSBkYXRlIGNvbW1hbmQgPSAlc1xuIgorbXNnc3RyICJvZHppdiB1a2F6YSBkYXRlID0gJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCB1bmV4cGVjdGVkIHJlc3VsdHMuXG4iCisiVGhlIGNvbW1hbmQgd2FzOlxuIgorIiAgJXNcbiIKKyJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorIiAgJXMiCittc2dzdHIgIiIKKyJVa2F6IGRhdGUsIGtpIGdhIGplIHBvZ25hbCAlcywgamUgdnJuaWwgbmVwcmnoYWtvdmFuIHJlenVsdGF0LlxuIgorIlVrYXogamUgYmlsOlxuIgorIiAgJXNcbiIKKyJPZHppdiBwYTpcbiIKKyIgICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhbiBpbnRlZ2VyIHdoZXJlIHRoZSBjb252ZXJ0ZWQgdGltZSB2YWx1ZSB3YXMgZXhwZWN0ZWQuXG4iCisiVGhlIGNvbW1hbmQgd2FzOlxuIgorIiAgJXNcbiIKKyJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorIiAlc1xuIgorbXNnc3RyICIiCisiVWtheiBkYXRlLCBraSBnYSBqZSBwb2duYWwgJXMgamUgdnJuaWwgbmVrYWogZHJ1Z2VnYSBrb3QguXRldmlsbywga2plciBqZSBiaWwgcHJp6GFrb3ZhbiB6YW1lbmphbiDoYXMuXG4iCisiVWtheiBqZSBiaWw6XG4iCisiICVzXG4iCisiT2R6aXYgcGE6XG4iCisiICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzg2CisjLCBjLWZvcm1hdAorbXNnaWQgImRhdGUgc3RyaW5nICVzIGVxdWF0ZXMgdG8gJWxkIHNlY29uZHMgc2luY2UgMTk2OS5cbiIKK21zZ3N0ciAibml6IGRhdHVtICVzIGplIGVuYWsgJWxkIHNla3VuZCBvZCBsZXRhIDE5NjkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODI0CisjLCBmdXp6eQorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IHNldCB0aGUgU3lzdGVtIFRpbWUgZnJvbSBpdC4iCittc2dzdHIgIlN0cm9qbmEgdXJhIG5lIHZzZWJ1amUgdmVsamF2bmVnYSDoYXNhLCB6YXRvIG5hc3RhdmxqYW5qZSBzaXN0ZW1za2VnYSDoYXNhIGl6IG5qZSBuaSBtb2dv6GUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQzIHN5cy11dGlscy9od2Nsb2NrLmM6OTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5OlxuIgorbXNnc3RyICJLbGnoZW0gc2V0dGltZW9mZGF5OlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg0NCBzeXMtdXRpbHMvaHdjbG9jay5jOjkzMgorIywgYy1mb3JtYXQKK21zZ2lkICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorbXNnc3RyICJcdHR2LnR2X3NlYyA9ICVsZCwgdGMudGNfdXNlYyA9ICVsZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg0NiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzNAorIywgYy1mb3JtYXQKK21zZ2lkICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKK21zZ3N0ciAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODUwIHN5cy11dGlscy9od2Nsb2NrLmM6OTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIHN5c3RlbSBjbG9jayBiZWNhdXNlIHJ1bm5pbmcgaW4gdGVzdCBtb2RlLlxuIgorbXNnc3RyICJTaXN0ZW1za2EgdXJhIG5lIGJvIG5hc3RhdmxqZW5hLCBrZXIgc2UgaXp2YWphIHRlc3RpcmFuamUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODY2IHN5cy11dGlscy9od2Nsb2NrLmM6OTYyCisjLCBmdXp6eQorbXNnaWQgIk11c3QgYmUgc3VwZXJ1c2VyIHRvIHNldCBzeXN0ZW0gY2xvY2suIgorbXNnc3RyICJTYW1vIHNpc3RlbXNraSBza3JibmlrIGxhaGtvIG5hc3RhdmxqYSBzaXN0ZW1za28gdXJvLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg2OSBzeXMtdXRpbHMvaHdjbG9jay5jOjk2NQorbXNnaWQgInNldHRpbWVvZmRheSgpIGZhaWxlZCIKK21zZ3N0ciAia2xpYyBzZXR0aW1lb2ZkYXkoKSBuaSB1c3BlbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3VycmVudCBzeXN0ZW0gdGltZTogJWxkID0gJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzMQorIywgYy1mb3JtYXQKK21zZ2lkICJcdFVUQzogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgLS11cGRhdGUtZHJpZnQgb3B0aW9uIHdhcyBub3QgdXNlZC5cbiIKK21zZ3N0ciAiRmFrdG9yIGRyc2VuamEgbmUgYm8gbmFzdGF2bGplbiwga2VyIGplIHN0cm9qbmEgdXJhIHZzZWJvdmFsYSBzbWV0aS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIEhhcmR3YXJlIENsb2NrIHByZXZpb3VzbHkgY29udGFpbmVkIGdhcmJhZ2UuXG4iCittc2dzdHIgIkZha3RvciBkcnNlbmphIG5lIGJvIG5hc3RhdmxqZW4sIGtlciBqZSBzdHJvam5hIHVyYSB2c2Vib3ZhbGEgc21ldGkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAwNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBsYXN0IGNhbGlicmF0aW9uIHRpbWUgaXMgemVybyxcbiIKKyJzbyBoaXN0b3J5IGlzIGJhZCBhbmQgY2FsaWJyYXRpb24gc3RhcnRvdmVyIGlzIG5lY2Vzc2FyeS5cbiIKK21zZ3N0ciAiIgorIkZha3RvciBkcnNlbmphIG5lIGJvIG5hc3RhdmxqZW4sIGtlciBqYSB6YWRuamkga2FsaWJyYWNpanNraSDoYXMgMCxcbiIKKyJ6Z29kb3ZpbmEgamUgemF0byBwb7lrb2RvdmFuYS4gUG90cmVibmEgamUgcG9ub3ZuYSBrYWxpYnJhY2lqYS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGl0IGhhcyBiZWVuIGxlc3MgdGhhbiBmb3VyIGhvdXJzIHNpbmNlIHRoZSBsYXN0IGNhbGlicmF0aW9uLlxuIgorbXNnc3RyICJGYWt0b3IgZHJzZW5qYSBuZSBibyBuYXN0YXZsamVuLCB6YXRvIGtlciBqZSBtaW5pbCBtYW5qIGtvdCBlbiBkYW4gb2QgemFkbmplIGthbGlicmFjaWplLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0IGZhY3RvciB3YXMgY2FsY3VsYXRlZCBhcyAlZiBzZWNvbmRzL2RheS5cbiIKKyJJdCBpcyBmYXIgdG9vIG11Y2guIFJlc2V0dGluZyB0byB6ZXJvLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0ZWQgJWYgc2Vjb25kcyBpbiB0aGUgcGFzdCAlZiBzZWNvbmRzXG4iCisiaW4gc3BpdGUgb2YgYSBkcmlmdCBmYWN0b3Igb2YgJWYgc2Vjb25kcy9kYXkuXG4iCisiQWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBieSAlZiBzZWNvbmRzL2RheVxuIgorbXNnc3RyICIiCisiVXJhIGplIGRyc2VsYSAlLjFmIHNla3VuZCB2IHphZG5qaWggJWQgc2VrdW5kYWgsIG5hdmtsanViIHRlbXUgZGEgamUgZmFrdG9yIGRyc2VuamEgJWYgc2VrdW5kL2Rhbi5cbiIKKyJQcmlsYWdhamFtIGZha3RvciBkcnNlbmphIHphICVmIHNla3VuZC9kYW5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlZCBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWQgc2Vjb25kc1xuIgorbXNnc3RyWzBdICLIYXMgb2QgemFkbmplIHByaWxhZ29kaXR2ZSBqZSAlZCBzZWt1bmRcbiIKK21zZ3N0clsxXSAiyGFzIG9kIHphZG5qZSBwcmlsYWdvZGl0dmUgamUgJWQgc2VrdW5kXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2FsY3VsYXRlZCBIYXJkd2FyZSBDbG9jayBkcmlmdCBpcyAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICIlcyAgJS42ZiBzZWt1bmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTMzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCB1cGRhdGluZyBhZGp0aW1lIGZpbGUgYmVjYXVzZSBvZiB0ZXN0aW5nIG1vZGUuXG4iCittc2dzdHIgImFkanRpbWUgbmUgYm8gcG9zb2RvYmxqZW4gemFyYWRpIHRlc3RuZWdhIG5h6GluYS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXb3VsZCBoYXZlIHdyaXR0ZW4gdGhlIGZvbGxvd2luZyB0byAlczpcbiIKKyIlcyIKK21zZ3N0ciAiIgorIk5hICVzIGJpIGJpbG8gbmFwaXNhbm8gc2xlZGXoZTpcbiIKKyIlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIGluIGl0ICglcykgZm9yIHdyaXRpbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTQ5IHN5cy11dGlscy9od2Nsb2NrLmM6MTE1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgdXBkYXRlIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzICglcykgaW4gaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTY0CisjLCBmdXp6eQorbXNnaWQgIkRyaWZ0IGFkanVzdG1lbnQgcGFyYW1ldGVycyBub3QgdXBkYXRlZC4iCittc2dzdHIgIkRyc25lIHByaWxhZ29kaXR2ZSBwYXJhbWV0cm92IG5lIGJvZG8gcG9zb2RvYmxqZW5lLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMDAKKyMsIGZ1enp5Cittc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3QgYWRqdXN0IGl0LiIKK21zZ3N0ciAiU3Ryb2puYSB1cmEgbmUgdnNlYnVqZSB2ZWxqYXZuZWdhIOhhc2EsIHphdG8gc2UgamUgbmUgbW9yZSBwcmlsYWdvZGl0aS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGxhc3QgYWRqdXN0bWVudCB0aW1lIGlzIHplcm8sIHNvIGhpc3RvcnkgaXMgYmFkLlxuIgorbXNnc3RyICIiCisiRmFrdG9yIGRyc2VuamEgbmUgYm8gbmFzdGF2bGplbiwga2VyIGphIHphZG5qaSBrYWxpYnJhY2lqc2tpIOhhcyAwLFxuIgorInpnb2RvdmluYSBqZSB6YXRvIHBvuWtvZG92YW5hLiBQb3RyZWJuYSBqZSBwb25vdm5hIGthbGlicmFjaWphLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgZHJpZnQgZmFjdG9yICVmIGlzIGZhciB0b28gaGlnaC5cbiIKK21zZ3N0ciAiIgorIkZha3RvciBkcnNlbmphIG5lIGJvIG5hc3RhdmxqZW4sIGtlciBqYSB6YWRuamkga2FsaWJyYWNpanNraSDoYXMgMCxcbiIKKyJ6Z29kb3ZpbmEgamUgemF0byBwb7lrb2RvdmFuYS4gUG90cmVibmEgamUgcG9ub3ZuYSBrYWxpYnJhY2lqYS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHVzYWJsZSBjbG9jayBpbnRlcmZhY2UgZm91bmQuXG4iCittc2dzdHIgIklza2FuamUgdXBvcmFibmVnYSB1cmluZWdhIHZtZXNuaWthIG5pIGJpbG8gdXNwZbluby5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5lZWRlZCBhZGp1c3RtZW50IGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kLCBzbyBub3Qgc2V0dGluZyBjbG9jay5cbiIKK21zZ3N0ciAiUG90cmVibmEgcHJpbGFnb2RpdGV2IGplIG1hbmq5YSBvZCBlbmUgc2VrdW5kLCB6YXRvIHVyYSBuZSBibyBuYXN0YXZsamVuYS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzg4IHN5cy11dGlscy9od2Nsb2NrLmM6MTM5NAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gc2V0IHN5c3RlbSBjbG9jay5cbiIKK21zZ3N0ciAiU2lzdGVtc2tlIHVyZSBzZSBuZSBkYSBuYXN0YXZpdGkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQwMgorIywgYy1mb3JtYXQKK21zZ2lkICJBdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LCBSVEMgaXMgcHJlZGljdGVkIHRvIHJlYWQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0MzEKKyMsIGZ1enp5Cittc2dpZCAiIgorIlRoZSBrZXJuZWwga2VlcHMgYW4gZXBvY2ggdmFsdWUgZm9yIHRoZSBIYXJkd2FyZSBDbG9jayBvbmx5IG9uIGFuIEFscGhhIG1hY2hpbmUuXG4iCisiVGhpcyBjb3B5IG9mIGh3Y2xvY2sgd2FzIGJ1aWx0IGZvciBhIG1hY2hpbmUgb3RoZXIgdGhhbiBBbHBoYVxuIgorIihhbmQgdGh1cyBpcyBwcmVzdW1hYmx5IG5vdCBydW5uaW5nIG9uIGFuIEFscGhhIG5vdykuICBObyBhY3Rpb24gdGFrZW4uIgorbXNnc3RyICIiCisiSmVkcm8gaHJhbmkgcmF6ZG9ibm8gdnJlZG5vc3QgemEgU3Ryb2pubyB1cm8gc2FtbyBuYSBBbHBoYSBzdHJvanUuXG4iCisiVGEga29waWphIHN0cm9qbmUgdXJlIGplIGJpbGEgemdyYWplbmEgemEgZHJ1Z2VnYVxuIgorIihpbiB6ZGFqIHZlcmpldG5vIG5lIHRl6GUgbmEgQWxwaGEgc3Ryb2p1KS4gQnJleiB1a3JlcG92LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NDgKKyMsIGZ1enp5Cittc2dpZCAiVW5hYmxlIHRvIGdldCB0aGUgZXBvY2ggdmFsdWUgZnJvbSB0aGUga2VybmVsLiIKK21zZ3N0ciAiVnJlZG5vc3RpIGVwb2NoIG5pIG1vZ2/oZSBkb2JpdGkgb2QgamVkcmEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgaXMgYXNzdW1pbmcgYW4gZXBvY2ggdmFsdWUgb2YgJWx1XG4iCittc2dzdHIgIkplZHJvIHByZWRwb3N0YXZsamEsIGRhIGplIHZyZWRub3N0IGVwb2NoICVsdVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NTUKKyMsIGZ1enp5Cittc2dpZCAiVG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSwgeW91IG11c3QgdXNlIHRoZSAnZXBvY2gnIG9wdGlvbiB0byB0ZWxsIHRvIHdoYXQgdmFsdWUgdG8gc2V0IGl0LiIKK21zZ3N0ciAiyGUgaG/oZXRlIG5hc3Rhdml0aSB2cmVkbm9zdCBlcG9jaCwgbW9yYXRlIHVwb3JhYml0aSBpemJpcm8gJ2Vwb2NoJ1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIHRoZSBlcG9jaCB0byAlbHUgLSB0ZXN0aW5nIG9ubHkuXG4iCittc2dzdHIgIkVwb2NoIG5lIGJvIG5hc3RhdmxqZW4gbmEgJWQgLSBzYW1vIHByZWl6a3W5YW0uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLlxuIgorbXNnc3RyICJWcmVkbm9zdGkgZXBvY2ggbmkgYmlsbyBtb75ubyBuYXN0YXZpdGkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU1NgorbXNnaWQgIiBod2Nsb2NrIFtmdW5jdGlvbl0gW29wdGlvbi4uLl1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NTkKK21zZ2lkICJRdWVyeSBvciBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2MQorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiRnVuY3Rpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcmF6ZGVsa292OlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjIKK21zZ2lkICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgIHNob3cgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyIgLXIsIC0tc2hvdyAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisiICAgICAtLWdldCAgICAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IGRyaWZ0IGNvcnJlY3RlZCByZXN1bHRcbiIKKyIgICAgIC0tc2V0ICAgICAgICAgICAgc2V0IHRoZSBSVEMgdG8gdGhlIHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjYKK21zZ2lkICIiCisiIC1zLCAtLWhjdG9zeXMgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyIgLXcsIC0tc3lzdG9oYyAgICAgICAgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayBmcm9tIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lXG4iCisiICAgICAtLXN5c3R6ICAgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgYmFzZWQgb24gdGhlIGN1cnJlbnQgdGltZXpvbmVcbiIKKyIgICAgIC0tYWRqdXN0ICAgICAgICAgYWRqdXN0IHRoZSBSVEMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCBzaW5jZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjbG9jayB3YXMgbGFzdCBzZXQgb3IgYWRqdXN0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NzEKK21zZ2lkICIgLWMsIC0tY29tcGFyZSAgICAgICAgcGVyaW9kaWNhbGx5IGNvbXBhcmUgdGhlIHN5c3RlbSBjbG9jayB3aXRoIHRoZSBDTU9TIGNsb2NrXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTczCittc2dpZCAiIgorIiAgICAgLS1nZXRlcG9jaCAgICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisiICAgICAtLXNldGVwb2NoICAgICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGdpdmVuIHdpdGggLS1lcG9jaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU3NworbXNnaWQgIiIKKyIgICAgIC0tcHJlZGljdCAgICAgICAgcHJlZGljdCBSVEMgcmVhZGluZyBhdCB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4MQorbXNnaWQgIiIKKyIgLXUsIC0tdXRjICAgICAgICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gVVRDXG4iCisiICAgICAtLWxvY2FsdGltZSAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIGxvY2FsIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODQKK21zZ2lkICIgLWYsIC0tcnRjIDxmaWxlPiAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1kaXJlY3Rpc2EgICAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorIiAgICAgLS1iYWR5ZWFyICAgICAgICBpZ25vcmUgUlRDJ3MgeWVhciBiZWNhdXNlIHRoZSBCSU9TIGlzIGJyb2tlblxuIgorIiAgICAgLS1kYXRlIDx0aW1lPiAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorIiAgICAgLS1lcG9jaCA8eWVhcj4gICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBoYXJkd2FyZSBjbG9jaydzIGVwb2NoIHZhbHVlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIGRyaWZ0IGZhY3RvciBpbiAlMSRzIChyZXF1aXJlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIC0tc2V0IG9yIC0tc3lzdG9oYylcbiIKKyIgICAgIC0tbm9hZGpmaWxlICAgICAgZG8gbm90IGFjY2VzcyAlMSRzOyB0aGlzIHJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWVcbiIKKyIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlMSRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTk5Cittc2dpZCAiIgorIiAgICAgLS10ZXN0ICAgICAgICAgICBkbyBub3QgdXBkYXRlIGFueXRoaW5nLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBoYXBwZW5cbiIKKyIgLUQsIC0tZGVidWcgICAgICAgICAgZGVidWdnaW5nIG1vZGVcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE2MDIKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtSnwtLWplbnNlbiwgLUF8LS1hcmMsIC1TfC0tc3JtLCAtRnwtLWZ1bmt5LXRveVxuIgorIiAgICAgIHRlbGwgaHdjbG9jayB0aGUgdHlwZSBvZiBBbHBoYSB5b3UgaGF2ZSAoc2VlIGh3Y2xvY2soOCkpXG4iCisiXG4iCittc2dzdHIgIiIKKyIgIC0tamVuc2VuLCAtLWFyYywgLS1zcm0sIC0tZnVua3ktdG95XG4iCisiICAgICAgICAgICAgICAgIHBvdmVqIGh3Y2xvY2t1IHRpcCBhbHBoYSwga2kgZ2EgaW1hcCAoZ2xlaiBod2Nsb2NrKDgpKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE3MjgKKyMsIGZ1enp5Cittc2dpZCAiVW5hYmxlIHRvIGNvbm5lY3QgdG8gYXVkaXQgc3lzdGVtIgorbXNnc3RyICJTaXN0ZW1za2UgdXJlIHNlIG5lIGRhIG5hc3Rhdml0aS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODI2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZXBvY2ggYXJndW1lbnQiCittc2dzdHIgIm5ldmVsamF2ZW4gaWQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTg3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB0YWtlcyBubyBub24tb3B0aW9uIGFyZ3VtZW50cy4gIFlvdSBzdXBwbGllZCAlZC5cbiIKK21zZ3N0ciAiJXMgbmUgc3ByZWplbWEgYXJndW1lbnRvdiBicmV6IGl6YmlyLiBQb2RhbGkgc3RlOiAlZC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODgwCisjLCBmdXp6eQorbXNnaWQgIldpdGggLS1ub2FkamZpbGUsIHlvdSBtdXN0IHNwZWNpZnkgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lIgorbXNnc3RyICIlczogLS1ub2FkamZpbGUgbW9yYXRlIHBvZGF0aSBza3VwYWogeiAtLXV0YyBhbGkgLS1sb2NhbHRpbWVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODkzCisjLCBmdXp6eQorbXNnaWQgIk5vIHVzYWJsZSBzZXQtdG8gdGltZS4gIENhbm5vdCBzZXQgY2xvY2suIgorbXNnc3RyICJOaSB1cG9yYWJuZWdhIG5hc3Rhdml0dmVuZWdhIOhhc2EuIFVyYSBuZSBibyBuYXN0YXZsamVuYS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxOTE3CisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBhY2Nlc3MgdGhlIEhhcmR3YXJlIENsb2NrIHZpYSBhbnkga25vd24gbWV0aG9kLiIKK21zZ3N0ciAiRG8gc3Ryb2puZSB1cmUgbmkgbW9nb+hlIGRvc3RvcGF0aSBwbyB6bmFuaWggbWV0b2RhaC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxOTIwCisjLCBmdXp6eQorbXNnaWQgIlVzZSB0aGUgLS1kZWJ1ZyBvcHRpb24gdG8gc2VlIHRoZSBkZXRhaWxzIG9mIG91ciBzZWFyY2ggZm9yIGFuIGFjY2VzcyBtZXRob2QuIgorbXNnc3RyICJVcG9yYWJpdGUgLS1kZWJ1ZyBpemJpcm8sIHphIHBvZHJvYm5vc3RpIG8gaXNrYW5qdSBtZXRvZGUgZG9zdG9wYS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjIyMworIywgYy1mb3JtYXQKK21zZ2lkICJib290ZWQgZnJvbSBNSUxPXG4iCittc2dzdHIgInphZ25hbm8gaXogTUlMT1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIlJ1ZmZpYW4gQkNEIGNsb2NrXG4iCittc2dzdHIgIlVyYSBSdWZmaWFuIEJDRFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb2NrcG9ydCBhZGp1c3RlZCB0byAweCV4XG4iCittc2dzdHIgInZyYXRhIHVyZSBuYXJhdm5hbmEgbmEgMHgleFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjcwCisjLCBjLWZvcm1hdAorbXNnaWQgImZ1bmt5IFRPWSFcbiIKK21zZ3N0ciAiemFiYXZuYSBJR1JByEEhXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImF0b21pYyAlcyBmYWlsZWQgZm9yIDEwMDAgaXRlcmF0aW9ucyEiCittc2dzdHIgIiVzOiBhdG9tc2tpICVzIG5ldXNwZbllbiB2IDEwMDAgcG9ub3ZpdHZhaCEiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc19yZWFkKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjMyOAorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3JlYWQoKTogcmVhZCBmcm9tIGRhdGEgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3dyaXRlKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3dyaXRlKCk6IHdyaXRlIHRvIGRhdGEgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY0NQorIywgZnV6enkKK21zZ2lkICJJIGZhaWxlZCB0byBnZXQgcGVybWlzc2lvbiBiZWNhdXNlIEkgZGlkbid0IHRyeS4iCittc2dzdHIgIkRvdm9samVuamEgbWkgbmkgdXNwZWxvIHByaWRvYml0aSwga2VyIG5pc2VtIHBvc2t1c2lsLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjQ4CisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBnZXQgSS9PIHBvcnQgYWNjZXNzOiAgdGhlIGlvcGwoMykgY2FsbCBmYWlsZWQuIgorbXNnc3RyICIlcyBuZSBtb3JlIGRvYml0aSBkb3N0b3BhIGRvIFYvSSB2cmF0OiBrbGljIGlvcGwoMykgbmV1c3BluWVuLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjUxCittc2dpZCAiUHJvYmFibHkgeW91IG5lZWQgcm9vdCBwcml2aWxlZ2VzLlxuIgorbXNnc3RyICJWZXJqZXRubyBwb3RyZWJ1amV0ZSBwcmF2aWNlIHNrcmJuaWthIHNpc3RlbWEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NTgKK21zZ2lkICJVc2luZyBkaXJlY3QgSS9PIGluc3RydWN0aW9ucyB0byBJU0EgY2xvY2suIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHJlYWQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICJrbGljIGlvY3RsKCkgayAlcyB6YSBicmFuamUg6GFzYSBuaSB1c3BlbFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gJXMgdG8gY2hhbmdlXG4iCittc2dzdHIgIshha2FtIHYgemFua2kgbmEgc3ByZW1lbWJvIOhhc2EgaXogJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjM2CisjLCBmdXp6eQorbXNnaWQgIlRpbWVkIG91dCB3YWl0aW5nIGZvciB0aW1lIGNoYW5nZS4iCittc2dzdHIgIlNwcmVtZW1iYSDoYXNhIGplIHRyYWphbGEgcHJlZG9sZ28uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBoYXZlIGludGVycnVwdCBmdW5jdGlvbnMuICIKK21zZ3N0ciAiJXMgbmltYSBwcmVraW5pdHZlbmloIGZ1bmtjaWouIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCittc2dzdHIgImtsaWMgc2VsZWN0KCkgayAlcyB6YSDoYWthbmplIG5hIHByZW1payB1cmUgbmkgdXNwZWwiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayB0aW1lZCBvdXQiCittc2dzdHIgImtsaWMgc2VsZWN0KCkgayAlcyB6YSDoYWthbmplIG5hIHByZW1payB1cmUgamUgdHJhamFsIHByZWRvbGdvXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb2ZmIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCIKK21zZ3N0ciAia2xpYyBpb2N0bCgpIGsgJXMgemEgaXprbG9wIHBvc29kYWJsamFuamEgcHJla2luaXRldiBuaSB1c3BlbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvbiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQgdW5leHBlY3RlZGx5IgorbXNnc3RyICJrbGljIGlvY3RsKCkgayAlcyB6YSB2a2xvcCBwb3NvZGFibGphbmphIHByZWtpbml0ZXYgbmVwcmnoYWtvdmFubyBuaSB1c3BlbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gc2V0IHRoZSB0aW1lIGZhaWxlZC4iCittc2dzdHIgImtsaWMgaW9jdGwoKSBrICVzIHphIG5hc3Rhdml0ZXYg6GFzYSBuaSB1c3BlbC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB3YXMgc3VjY2Vzc2Z1bC5cbiIKK21zZ3N0ciAia2xpYyBpb2N0bCglcykgamUgYmlsIHVzcGW5ZW4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM4NworbXNnaWQgIlVzaW5nIHRoZSAvZGV2IGludGVyZmFjZSB0byB0aGUgY2xvY2suIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQxNyBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRvIG1hbmlwdWxhdGUgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwsIHdlIG11c3QgYWNjZXNzIHRoZSBMaW51eCAncnRjJyBkZXZpY2UgZHJpdmVyIHZpYSB0aGUgZGV2aWNlIHNwZWNpYWwgZmlsZSAlcy4gIFRoaXMgZmlsZSBkb2VzIG5vdCBleGlzdCBvbiB0aGlzIHN5c3RlbS4iCittc2dzdHIgIlphIHNwcmVtaW5qYW5qZSB2cmVkbm9zdGkgcmF6ZG9iamEgdiBqZWRydSBqZSBwb3RyZWJubyBpbWV0aSBkb3N0b3AgZG8gTGludXhvdmVnYSAncnRjJyBnb25pbG5pa2EgbmFwcmF2ZSBza296aSBwb3NlYm5vIGRhdG90ZWtvIG5hcHJhdmUgJXMuIE5hIHRlbSBzaXN0ZW11IHRhIGRhdG90ZWthIG5lIG9ic3RhamEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQyOQorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bChSVENfRVBPQ0hfUkVBRCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJrbGljIGlvY3RsKFJUQ19FUE9DSF9SRUFEKSBrICVzIG5pIHVzcGVsIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndlIGhhdmUgcmVhZCBlcG9jaCAlbHUgZnJvbSAlcyB3aXRoIFJUQ19FUE9DSF9SRUFEIGlvY3RsLlxuIgorbXNnc3RyICJwcmVicmFuYSBqZSBiaWxhIHZyZWRub3N0IHJhemRvYmphICVsZCBpeiAlcyB6IFJUQ19FUE9DSF9SRUFEIGlvY3RsLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlcG9jaCB2YWx1ZSBtYXkgbm90IGJlIGxlc3MgdGhhbiAxOTAwLiAgWW91IHJlcXVlc3RlZCAlbGQiCittc2dzdHIgIlZyZWRub3N0IHJhemRvYmphIG1vcmEgYml0aSB2ZehqYSBhbGkgZW5ha2EgMTkwMC4gWmFodGV2YW5hIGplIGJpbGEgJWxkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBlcG9jaCB0byAlbHUgd2l0aCBSVENfRVBPQ0hfU0VUIGlvY3RsIHRvICVzLlxuIgorbXNnc3RyICJuYXN0YXZsamFtIHZyZWRub3N0IHJhemRvYmphIG5hICVsZCB6IFJUQ19FUE9DSF9TRVQgaW9jdGwgbmEgJXMuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGtlcm5lbCBkZXZpY2UgZHJpdmVyIGZvciAlcyBkb2VzIG5vdCBoYXZlIHRoZSBSVENfRVBPQ0hfU0VUIGlvY3RsLiIKK21zZ3N0ciAiR29uaWxuaWsgamVkcmEgemEgJXMgbmltYSBSVENfRVBPQ0hfU0VUIGlvY3RsLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoUlRDX0VQT0NIX1NFVCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfU0VUKSBrICVzIG5pIHVzcGVsIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo2OQorbXNnaWQgIkNyZWF0ZSB2YXJpb3VzIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzIKK21zZ2lkICIgLU0sIC0tc2htZW0gPHNpemU+ICAgICAgIGNyZWF0ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgb2Ygc2l6ZSA8c2l6ZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MworbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUgPG51bWJlcj4gY3JlYXRlIHNlbWFwaG9yZSBhcnJheSB3aXRoIDxudW1iZXI+IGVsZW1lbnRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzQKKyMsIGZ1enp5Cittc2dpZCAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICBjcmVhdGUgbWVzc2FnZSBxdWV1ZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NQorbXNnaWQgIiAtcCwgLS1tb2RlIDxtb2RlPiAgICAgICAgcGVybWlzc2lvbiBmb3IgdGhlIHJlc291cmNlIChkZWZhdWx0IGlzIDA2NDQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTEwIHN5cy11dGlscy9sb3NldHVwLmM6Njk3IHN5cy11dGlscy96cmFtY3RsLmM6NjIyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbGVtZW50cyIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MQorbXNnaWQgImNyZWF0ZSBzaGFyZSBtZW1vcnkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBpZDogJWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlZ21lbnQgZGVsamVuZWdhIHBvbW5pbG5pa2Egc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQ5Cittc2dpZCAiY3JlYXRlIG1lc3NhZ2UgcXVldWUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBxdWV1ZSBpZDogJWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIm1zcWlkIHNwb3Jv6GlsbmUgdnJzdGUgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIHNlbWFwaG9yZSBmYWlsZWQiCittc2dzdHIgImRvZGVsamVuaSBzZW1hZm9yamkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlbWFwaG9yZSBpZDogJWRcbiIKK21zZ3N0ciAiIgorIlxuIgorInNlbWlkIFBvbGogc2VtYWZvcmpldj0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIHNobXxtc2d8c2VtIDxpZD4uLi5cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTQKK21zZ2lkICJSZW1vdmUgY2VydGFpbiBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU3CisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1zaG1lbS1pZCA8aWQ+ICAgICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGlkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTZWdtZW50IGRlbGplbmVnYSBwb21uaWxuaWthIHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU4Cittc2dpZCAiIC1NLCAtLXNobWVtLWtleSA8a2V5PiAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkga2V5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTkKK21zZ2lkICIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkgaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MAorbXNnaWQgIiAtUSwgLS1xdWV1ZS1rZXkgPGtleT4gICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBrZXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MQorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmUtaWQgPGlkPiAgICByZW1vdmUgc2VtYXBob3JlIGJ5IGlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjIKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlLWtleSA8a2V5PiAgcmVtb3ZlIHNlbWFwaG9yZSBieSBrZXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MworbXNnaWQgIiAtYSwgLS1hbGxbPXNobXxtc2d8c2VtXSAgICByZW1vdmUgYWxsIChpbiB0aGUgc3BlY2lmaWVkIGNhdGVnb3J5KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjY0CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgaWQgYCVkJ1xuIgorbXNnc3RyICIiCisiXG4iCisiU2VnbWVudCBkZWxqZW5lZ2EgcG9tbmlsbmlrYSBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVtb3ZpbmcgbWVzc2FnZSBxdWV1ZSBpZCBgJWQnXG4iCittc2dzdHIgIiIKKyJcbiIKKyJtc3FpZCBzcG9yb+hpbG5lIHZyc3RlID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNlbWFwaG9yZSBpZCBgJWQnXG4iCittc2dzdHIgIiIKKyJcbiIKKyJzZW1pZCBQb2xqIHNlbWFmb3JqZXY9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4IHN5cy11dGlscy9pcGNybS5jOjIyMgorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBrZXkiCittc2dzdHIgInphIGtsanXoIGRvc3RvcCB6YW5pa2FuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDgKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3IgaWQiCittc2dzdHIgInphIGlkIGplIGRvc3RvcCB6YXZybmplbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExIHN5cy11dGlscy9pcGNybS5jOjIyOAorbXNnaWQgImludmFsaWQga2V5IgorbXNnc3RyICJuZXZlbGphdmVuIGtsanXoIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEKK21zZ2lkICJpbnZhbGlkIGlkIgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQgc3lzLXV0aWxzL2lwY3JtLmM6MjI1Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGtleSIKK21zZ3N0ciAia2xqdeggamUgvmUgYmlsIG9kc3RyYW5qZW4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNAorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBpZCIKK21zZ3N0ciAiaWQgamUgvmUgb2RzdHJhbmplbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE3IHN5cy11dGlscy9pcGNybS5jOjIzMQorIywgZnV6enkKK21zZ2lkICJrZXkgZmFpbGVkIgorbXNnc3RyICJpc2thbmplIGplIGJpbG8gbmV1c3BluW5vIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiaWQgZmFpbGVkIgorbXNnc3RyICJrbGljIHNldHVpZCgpIG5pIHVzcGVsIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWQ6ICVzIgorbXNnc3RyICJuZXZlbGphdm5pIGlkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzb3VyY2UocykgZGVsZXRlZFxuIgorbXNnc3RyICJ2aXIvaSBzbyB6YnJpc2FuaVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwga2V5ICglcykiCittc2dzdHIgIiVzOiBuZWRvdm9samVuIGtsanXoICglcylcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjU2CisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAiemEgZGVsamVuIHBvbW5pbG5payBqZWRybyBuaSBuYXN0YXZsamVub1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNjkKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzIgorbXNnc3RyICJ6YSBzZW1hZm9yamUgamVkcm8gbmkgcHJhdmlsbm8gbmFzdGF2bGplbm9cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjkwCisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgInphIHNwb3Jv6GlsbmUgdnJzdGUgamVkcm8gbmkgcHJhdmlsbm8gbmFzdGF2bGplbm9cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW3Jlc291cmNlLW9wdGlvbi4uLl0gW291dHB1dC1vcHRpb25dXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTYgc3lzLXV0aWxzL2xzaXBjLmM6MjgwCisjLCBmdXp6eQorbXNnaWQgIlNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMuXG4iCittc2dzdHIgIiVzIHBvbnVqYSBpbmZvcm1hY2lqZSBvIGlwYyBwb3Nsb3BqaWggemEga2F0ZXJlIGltYXRlIGJyYWxuaSBkb3N0b3BcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiLWkgaWQgWy1zIC1xIC1tXSA6IHBvZHJvYm5vc3RpIG8gdmlydSBwcmVwb3puYW5lbSBwbyBpZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0IHN5cy11dGlscy9sc2lwYy5jOjI4MworIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBvcHRpb25zOlxuIgorbXNnc3RyICJuZXZhcm5lIGl6YmlyZToiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUgc3lzLXV0aWxzL2xzaXBjLmM6Mjg0Cittc2dpZCAiIC1tLCAtLXNobWVtcyAgICAgIHNoYXJlZCBtZW1vcnkgc2VnbWVudHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY2IHN5cy11dGlscy9sc2lwYy5jOjI4NQorbXNnaWQgIiAtcSwgLS1xdWV1ZXMgICAgICBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Njcgc3lzLXV0aWxzL2xzaXBjLmM6Mjg2Cittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZXMgIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgIGFsbCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcxCisjLCBmdXp6eQorbXNnaWQgIk91dHB1dCBvcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcmF6ZGVsa292OlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcyCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgIHNob3cgUElEcyBvZiBjcmVhdG9yIGFuZCBsYXN0IG9wZXJhdG9yXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NAorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NQorbXNnaWQgIiAtbCwgLS1saW1pdHMgICAgICBzaG93IHJlc291cmNlIGxpbWl0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKK21zZ2lkICIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWh1bWFuICAgICAgIHNob3cgc2l6ZXMgaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc4Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgIHNob3cgc2l6ZXMgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjE2NAorbXNnaWQgIndoZW4gdXNpbmcgYW4gSUQsIGEgc2luZ2xlIHJlc291cmNlIG11c3QgYmUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2hhcmVkIG1lbW9yeSBsaW1pdHNcbiIKK21zZ3N0ciAibmFqLiBza3Vwbm8gZGVsamVuZWdhIHBvbS4gKHN0cmFuaSkgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0gT21laml0dmUgZGVsamVuZWdhIHBvbW5pbG5pa2EgLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBzZWdtZW50cyA9ICVqdVxuIgorbXNnc3RyICJuYWouILl0LiBvZHNla292ID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA5CisjLCBmdXp6eQorbXNnaWQgIm1heCBzZWcgc2l6ZSIKK21zZ3N0ciAic2xhYmEgdmVsaWtvc3QgaW5vZGEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjExCisjLCBmdXp6eQorbXNnaWQgIm1heCB0b3RhbCBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICJuYWouIHNrdXBubyBkZWxqZW5lZ2EgcG9tLiAoc3RyYW5pKSA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxNAorIywgZnV6enkKK21zZ2lkICJtaW4gc2VnIHNpemUiCittc2dzdHIgInNsYWJhIHZlbGlrb3N0IGlub2RhIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIyNgorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnlcbiIKK21zZ3N0ciAiemEgZGVsamVuIHBvbW5pbG5payBqZWRybyBuaSBuYXN0YXZsamVub1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzMAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLSBTdGFuamUgZGVsamVuZWdhIHBvbW5pbG5pa2EgLS0tLVxuIgorCisjLiBUUkFOU0xBVE9SUzogVGhpcyBvdXRwdXQgZm9ybWF0IGlzIG1haW50YWluZWQgZm9yIGJhY2t3YXJkCisjLiBjb21wYXRpYmlsaXR5IGFzIGlwY3MgaXMgdXNlZCBpbiBzY3JpcHRzLiBGb3IgY29uc2lzdGVuY3kKKyMuIHdpdGggdGhlIHJlc3QsIHRoZSB0cmFuc2xhdGVkIGZvcm0gY2FuIGZvbGxvdyB0aGlzIG1vZGVsOgorIy4gKgorIy4gInNlZ21lbnRzIGFsbG9jYXRlZCA9ICVkXG4iCisjLiAicGFnZXMgYWxsb2NhdGVkID0gJWxkXG4iCisjLiAicGFnZXMgcmVzaWRlbnQgPSAlbGRcbiIKKyMuICJwYWdlcyBzd2FwcGVkID0gJWxkXG4iCisjLiAic3dhcCBwZXJmb3JtYW5jZSA9ICVsZCBhdHRlbXB0cywgJWxkIHN1Y2Nlc3Nlc1xuIgorIy4KKyM6IHN5cy11dGlscy9pcGNzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyJwYWdlcyBhbGxvY2F0ZWQgJWxkXG4iCisicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorInBhZ2VzIHN3YXBwZWQgICAlbGRcbiIKKyJTd2FwIHBlcmZvcm1hbmNlOiAlbGQgYXR0ZW1wdHNcdCAlbGQgc3VjY2Vzc2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLSBzdHZhcm5pa2kvbGFzdG5pa2kgZGVsamVuZWdhIHBvbW5pbG5puWtlZ2Egb2RzZWthIC0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyNzQKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwCittc2dpZCAic2htaWQiCittc2dzdHIgInNobWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjI4MCBzeXMtdXRpbHMvaXBjcy5jOjM4NgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo0ODkgc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJwZXJtcyIKK21zZ3N0ciAiZG92b2xqZW5qYSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJjdWlkIgorbXNnc3RyICJjdWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgImNnaWQiCittc2dzdHIgImNnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAidWlkIgorbXNnc3RyICJ1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiZ2lkIgorbXNnc3RyICJnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IEF0dGFjaC9EZXRhY2gvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0gRGVsamVubyBwb21uaWxuablraSBwcmlwZXRpL29kcGV0aS9zcHJlbWVuamVuaSDoYXNpIC0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyNzQgc3lzLXV0aWxzL2lwY3MuYzoyODAKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NDk1CisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMSBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgIm93bmVyIgorbXNnc3RyICJsYXN0bmlrIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NworbXNnaWQgImF0dGFjaGVkIgorbXNnc3RyICJwcmlwZXRvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NworbXNnaWQgImRldGFjaGVkIgorbXNnc3RyICJvZHBldG8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY4Cittc2dpZCAiY2hhbmdlZCIKK21zZ3N0ciAic3ByZW1lbmplbm8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBDcmVhdG9yL0xhc3Qtb3AgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tIFN0dmFyaXRlbGogZGVsamVuZWdhIHBvbW5pbG5pa2EgLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3NAorbXNnaWQgImNwaWQiCittc2dzdHIgImNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc0Cittc2dpZCAibHBpZCIKK21zZ3N0ciAibHBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLSBTZWdtZW50aSBkZWxqZW5lZ2EgcG9tbmlsbmlrYSAtLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwIHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAia2V5IgorbXNnc3RyICJrbGp16CIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODEgc3lzLXV0aWxzL2lwY3MuYzo1MDgKK21zZ2lkICJzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgxIHN5cy11dGlscy9wcmxpbWl0LmM6NzUgc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OCBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIgc3lzLXV0aWxzL3BybGltaXQuYzo4NiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAiYnl0ZXMiCittc2dzdHIgImJhanRvdiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODIKK21zZ2lkICJuYXR0Y2giCittc2dzdHIgIm5hdHRjaCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODIKK21zZ2lkICJzdGF0dXMiCittc2dzdHIgInN0YW5qZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMDYgc3lzLXV0aWxzL2lwY3MuYzozMDggc3lzLXV0aWxzL2lwY3MuYzozMTAKKyM6IHN5cy11dGlscy9pcGNzLmM6NDI0IHN5cy11dGlscy9pcGNzLmM6NDI2IHN5cy11dGlscy9pcGNzLmM6NTMyCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUzNCBzeXMtdXRpbHMvaXBjcy5jOjUzNiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorIzogc3lzLXV0aWxzL2lwY3MuYzo1OTIgc3lzLXV0aWxzL2lwY3MuYzo2MjEgc3lzLXV0aWxzL2lwY3MuYzo2MjMKKyM6IHN5cy11dGlscy9pcGNzLmM6NjI1IHN5cy11dGlscy9pcGNzLmM6NjQ5Cittc2dpZCAiTm90IHNldCIKK21zZ3N0ciAiTmVuYXN0YXZsamVubyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMzYgc3lzLXV0aWxzL2xzaXBjLmM6OTc2IHN5cy11dGlscy9sc2lwYy5jOjk4MgorbXNnaWQgImRlc3QiCittc2dzdHIgInBvbm9yIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMzNyBzeXMtdXRpbHMvbHNpcGMuYzo5Nzcgc3lzLXV0aWxzL2xzaXBjLmM6OTkwCittc2dpZCAibG9ja2VkIgorbXNnc3RyICJ6YWtsZW5qZW4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2VtYXBob3JlIGxpbWl0c1xuIgorbXNnc3RyICJOZXVzcGW5bm8gemFwaXNvdmFuamUgcmF6ZGVsa2EgbmEgJXNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLSBPbWVqaXR2ZSBzZW1hZm9yamV2IC0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBhcnJheXMgPSAlZFxuIgorbXNnc3RyICJuYWouILl0LiBwb2xqID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgcGVyIGFycmF5ID0gJWRcbiIKK21zZ3N0ciAibmFqLiC5dC4gc2VtYWZvcmpldiBuYSBwb2xqZSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAibmFqLiBzaXN0ZW1za2loIHNlbWFmb3JqZXYgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggb3BzIHBlciBzZW1vcCBjYWxsID0gJWRcbiIKK21zZ3N0ciAibmFqLiC5dC4gb3BlcmFjaWogbmEga2xpYyBzZW1vcCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZW1hcGhvcmUgbWF4IHZhbHVlID0gJXVcbiIKK21zZ3N0ciAibmFqLiB2cmVkbm9zdCBzZW1hZm9yamEgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiemEgc2VtYWZvcmplIGplZHJvIG5pIHByYXZpbG5vIG5hc3RhdmxqZW5vXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0gU3RhbmplIHNlbWFmb3JqYSAtLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc4CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAidXBvcmFibGplbmEgcG9samEgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgc2VtYXBob3JlcyA9ICVkXG4iCittc2dzdHIgImRvZGVsamVuaSBzZW1hZm9yamkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLSBzdHZhcm5pa2kvbGFzdG5pa2kgcG9saiBzZW1hZm9yamV2IC0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0MDEKK21zZ2lkICJzZW1pZCIKK21zZ3N0ciAic2VtaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIE9wZXJhdGlvbi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLSDIYXNpIG9wZXJhY2lqL3NwcmVtZW1iIGRlbGplbmVnYSBwb21uaWxuaWthIC0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIKK21zZ2lkICJsYXN0LW9wIgorbXNnc3RyICJ6YWRuamEtb3AiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyCittc2dpZCAibGFzdC1jaGFuZ2VkIgorbXNnc3RyICJ6YWRuamEgc3ByZW1lbWJhIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tIFNlbWFmb3JuYSBwb2xqYSAtLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDAxCittc2dpZCAibnNlbXMiCittc2dzdHIgIrl0c2VtIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIG1lc3NhZ2UgbGltaXRzXG4iCittc2dzdHIgIql0ZXZpbG8gZ2xhdiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLSBTcG9yb+hpbGE6IE9tZWppdHZlIC0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHF1ZXVlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgIm5hai4gc2lzdGVtc2tpaCB2cnN0ID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjUKKyMsIGZ1enp5Cittc2dpZCAibWF4IHNpemUgb2YgbWVzc2FnZSIKK21zZ3N0ciAibmFqLiB2ZWxpa29zdCBzcG9yb+hpbGEgKEIpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjcKKyMsIGZ1enp5Cittc2dpZCAiZGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSIKK21zZ3N0ciAibmFqLiBwcml2emV0YSB2ZWxpa29zdCB2cnN0ZSAoQikgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzXG4iCittc2dzdHIgInphIHNwb3Jv6GlsbmUgdnJzdGUgamVkcm8gbmkgcHJhdmlsbm8gbmFzdGF2bGplbm9cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLSBTcG9yb+hpbGE6IFN0YW5qZSAtLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDc5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBxdWV1ZXMgPSAlZFxuIgorbXNnc3RyICJkb2RlbGplbmUgdnJzdGUgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGhlYWRlcnMgPSAlZFxuIgorbXNnc3RyICJ1cG9yYWJsamVuZSBnbGF2ZSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgyCisjLCBmdXp6eQorbXNnaWQgInVzZWQgc3BhY2UiCittc2dzdHIgInBvcmFibGplbiBwcm9zdG9yID0gJWQgYmFqdG92XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgzCisjLCBmdXp6eQorbXNnaWQgIiBieXRlc1xuIgorbXNnc3RyICJiYWp0b3YiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0gU3Bvcm/oaWxuYSB2cnN0YTogc3R2YXJuaWtpL2xhc3RuaWtpIC0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODkgc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MDEKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibXNxaWQiCittc2dzdHIgImlkc3BvcnZyc3QiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBTZW5kL1JlY3YvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0gyGFzaSBvZGRhamUvc3ByZWplbWEvc3ByZW1lbWJlIHNwb3Jv6GlsbmloIHZyc3QgLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgInNlbmQiCittc2dzdHIgInBvuWxqaSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJyZWN2IgorbXNnc3RyICJzcHJlam1pIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImNoYW5nZSIKK21zZ3N0ciAic3ByZW1lbmkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0gUElELWkgc3Bvcm/oaWxuaWggdnJzdCAtLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAibHNwaWQiCittc2dzdHIgImxzcGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImxycGlkIgorbXNnc3RyICJscnBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0gU3Bvcm/oaWxuZSB2cnN0ZSAtLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA4Cittc2dpZCAidXNlZC1ieXRlcyIKK21zZ3N0ciAicG9yYWJsamVuaS1iYWp0aSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDkKK21zZ2lkICJtZXNzYWdlcyIKK21zZ3N0ciAic3Bvcm/oaWxhIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU3NCBzeXMtdXRpbHMvaXBjcy5jOjYwNCBzeXMtdXRpbHMvaXBjcy5jOjYzNworIzogc3lzLXV0aWxzL2xzaXBjLmM6NTM2IHN5cy11dGlscy9sc2lwYy5jOjcyMiBzeXMtdXRpbHMvbHNpcGMuYzo4NzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlkICVkIG5vdCBmb3VuZCIKK21zZ3N0ciAidW1vdW50OiAlczogbmV1c3BluW5vIGlza2FuamUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQgbWVtb3J5IFNlZ21lbnQgc2htaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlZ21lbnQgZGVsamVuZWdhIHBvbW5pbG5pa2Egc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCittc2dzdHIgInVpZD0lZFx0Z2lkPSVkXHRjdWlkPSVkXHRjZ2lkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvXHRhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgIm5h6GluPSUjb1x0ZG9zdG9wX2Rvdm9samVuamE9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg0CisjLCBmdXp6eQorbXNnaWQgInNpemU9IgorbXNnc3RyICJOYWp2ZehqYSB2ZWxpa29zdD0lbGRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODQKKyMsIGZ1enp5Cittc2dpZCAiYnl0ZXM9IgorbXNnc3RyICJiYWp0b3YiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJscGlkPSV1XHRjcGlkPSV1XHRuYXR0Y2g9JWpkXG4iCittc2dzdHIgImJhanRpPSVsZFx0bHBpZD0lZFx0Y3BpZD0lZFx0bmF0dGNoPSVsZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJhdHRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJhdHRf6GFzPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgImRldF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImRldF/oYXM9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTMgc3lzLXV0aWxzL2lwY3MuYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAi6GFzX3NwcmVtZW1iZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZSBRdWV1ZSBtc3FpZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisibXNxaWQgc3Bvcm/oaWxuZSB2cnN0ZSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVx0bW9kZT0lI29cbiIKK21zZ3N0ciAidWlkPSVkXHRnaWQ9JWRcdGN1aWQ9JWRcdGNnaWQ9JWRcdG1vZGU9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjEzCittc2dpZCAiY3NpemU9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjEzCisjLCBmdXp6eQorbXNnaWQgImNieXRlcz0iCittc2dzdHIgImJhanRvdiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKK21zZ2lkICJxc2l6ZT0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKKyMsIGZ1enp5Cittc2dpZCAicWJ5dGVzPSIKK21zZ3N0ciAiYmFqdG92IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAib2RkYWpuaV/oYXM9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAicmN2X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAic3ByZWplbW5pX+hhcz0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIEFycmF5IHNlbWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJzZW1pZCBQb2xqIHNlbWFmb3JqZXY9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0IGdpZD0ldVx0IGN1aWQ9JXVcdCBjZ2lkPSV1XG4iCittc2dzdHIgInVpZD0lZFx0IGdpZD0lZFx0IGN1aWQ9JWRcdCBjZ2lkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvLCBhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgIm5h6GluPSUjbywgZG9zdG9wX2Rvdm9samVuamE9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJuc2VtcyA9ICVqdVxuIgorbXNnc3RyICK5dHNlbSA9ICVsZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJvdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgIm90aW1lID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICJjdGltZSA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAic2VtbnVtIgorbXNnc3RyICK5dHNlbSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJ2YWx1ZSIKK21zZ3N0ciAidnJlZG5vc3QiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAibmNvdW50IgorbXNnc3RyICJuY291bnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAiemNvdW50IgorbXNnc3RyICJ6Y291bnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAicGlkIgorbXNnc3RyICJwaWQiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjIzMCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzQgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM4CisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoYnl0ZXMpID0gIgorbXNnc3RyICJiYWp0b3YiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKGtieXRlcykgPSAiCittc2dzdHIgImJhanRvdiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTgwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgaWZsYWciCittc2dzdHIgIm5ldmVsamF2bmkgaWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bGRpc2M+IDxkZXZpY2U+XG4iCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE5OQorbXNnaWQgIkF0dGFjaCBhIGxpbmUgZGlzY2lwbGluZSB0byBhIHNlcmlhbCBsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMworbXNnaWQgIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICBzZXQgc2VyaWFsIGxpbmUgc3BlZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDQKK21zZ2lkICIgLWMsIC0taW50cm8tY29tbWFuZCA8c3RyaW5nPiBpbnRybyBzZW50IGJlZm9yZSBsZGF0dGFjaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNQorbXNnaWQgIiAtcCwgLS1wYXVzZSA8c2Vjb25kcz4gICBwYXVzZSBiZXR3ZWVuIGludHJvIGFuZCBsZGF0dGFjaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNgorbXNnaWQgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gNyBiaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA3Cittc2dpZCAiIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA4IGJpdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDgKK21zZ2lkICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgc2V0IHBhcml0eSB0byBub25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA5Cittc2dpZCAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIHNldCBwYXJpdHkgdG8gZXZlblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMAorbXNnaWQgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICBzZXQgcGFyaXR5IHRvIG9kZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMQorbXNnaWQgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBzZXQgc3RvcCBiaXRzIHRvIG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMgorbXNnaWQgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBzZXQgc3RvcCBiaXRzIHRvIHR3b1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMworbXNnaWQgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBzZXQgaW5wdXQgbW9kZSBmbGFnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE5Cittc2dpZCAiIgorIlxuIgorIktub3duIDxsZGlzYz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjIzCittc2dpZCAiIgorIlxuIgorIktub3duIDxpZmxhZz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc3BlZWQgYXJndW1lbnQiCittc2dzdHIgIm5ldmVsamF2ZW4gaWQiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBhdXNlIGFyZ3VtZW50IgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNTkKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBvcHRpb24iCittc2dzdHIgIm5ldmVsamF2ZW4gaWQiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM3MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGxpbmUgZGlzY2lwbGluZSBhcmd1bWVudCIKK21zZ3N0ciAibmV2ZWxqYXZuaSBpZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBzZXJpYWwgbGluZSIKK21zZ3N0ciAiJXMgbmkgcG9zZWJuYSBibG/obmEgbmFwcmF2YSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICJuaSBtb2dv6GUgZG9iaXRpIHZlbGlrb3N0aSAlcyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWVkICVkIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAibmkgbW9nb+hlIGRvYml0aSB2ZWxpa29zdGkgJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlIGludHJvIGNvbW1hbmQgdG8gJXMiCittc2dzdHIgIm5hbWVpOiB0cmVudXRuZWdhIGltZW5pa2EgbmkgbW9nb+hlIGRvYml0aSAtICVzXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ2OQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IGxpbmUgZGlzY2lwbGluZSIKK21zZ3N0ciAiSXNrYW5qZSBuYSBkaXNrdSBuaSBtb2dv6GUiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ3OQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZGFlbW9uaXplIgorbXNnc3RyICJuaSBtb2dv6GUgZG9iaXRpIHZlbGlrb3N0aSAlcyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2OAorbXNnaWQgImF1dG9jbGVhciBmbGFnIHNldCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY5CisjLCBmdXp6eQorbXNnaWQgImRldmljZSBiYWNraW5nIGZpbGUiCittc2dzdHIgInBvbm92bm8gcHJlYmVyaSB0YWJlbG8gcmF6ZGVsa292IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwCittc2dpZCAiYmFja2luZyBmaWxlIGlub2RlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcxCittc2dpZCAiYmFja2luZyBmaWxlIG1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MgorIywgZnV6enkKK21zZ2lkICJsb29wIGRldmljZSBuYW1lIgorbXNnc3RyICJtb3VudDogJXM6IG5lem5hbmEgbmFwcmF2YSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MworbXNnaWQgIm9mZnNldCBmcm9tIHRoZSBiZWdpbm5pbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NAorIywgZnV6enkKK21zZ2lkICJwYXJ0c2NhbiBmbGFnIHNldCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHJhemRlbGtvdjpcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NgorIywgZnV6enkKK21zZ2lkICJzaXplIGxpbWl0IG9mIHRoZSBmaWxlIGluIGJ5dGVzIgorbXNnc3RyICJzbGFiYSB2ZWxpa29zdCBpbm9kYSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NworbXNnaWQgImxvb3AgZGV2aWNlIG1ham9yOm1pbm9yIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4Cittc2dpZCAiYWNjZXNzIGJhY2tpbmcgZmlsZSB3aXRoIGRpcmVjdC1pbyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzNSBzeXMtdXRpbHMvbG9zZXR1cC5jOjE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCBvZmZzZXQgJWp1IgorbXNnc3RyICIsIG9kbWlrICVkIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCBzaXplbGltaXQgJWp1IgorbXNnc3RyICIsIG9tZWppdGV2X3ZlbGlrb3N0aSAlbGxkIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCBlbmNyeXB0aW9uICVzICh0eXBlICV1KSIKK21zZ3N0ciAiLCC5aWZyaXJhbmplICVzICh0aXAgJWQpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRldGFjaCBmYWlsZWQiCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzI5IHN5cy11dGlscy9sc2NwdS5jOjE3MzUgc3lzLXV0aWxzL3BybGltaXQuYzoyMjkKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxNzYgc3lzLXV0aWxzL3dkY3RsLmM6MjE1IHN5cy11dGlscy96cmFtY3RsLmM6NDA1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBsaW5lIgorbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gWzxsb29wZGV2Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8bG9vcGRldj4gPGZpbGU+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODYKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgbG9vcCBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzg5CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2Pi4uLiAgICAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MQorIywgZnV6enkKK21zZ2lkICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZmluZCBmaXJzdCB1bnVzZWQgZGV2aWNlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkzCittc2dpZCAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcGRldj4gIHJlc2l6ZSB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTQKK21zZ2lkICIgLWosIC0tYXNzb2NpYXRlZCA8ZmlsZT4gICAgICAgbGlzdCBhbGwgZGV2aWNlcyBhc3NvY2lhdGVkIHdpdGggPGZpbGU+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTUKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLW5vb3ZlcmxhcCAgICAgICAgICAgICAgIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0IGJldHdlZW4gZGV2aWNlc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5OQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBzdGFydCBhdCBvZmZzZXQgPG51bT4gaW50byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDAKK21zZ2lkICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZGV2aWNlIGlzIGxpbWl0ZWQgdG8gPG51bT4gYnl0ZXMgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMQorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgY3JlYXRlIGEgcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBzZXQgdXAgYSByZWFkLW9ubHkgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAzCittc2dpZCAiICAgICAtLWRpcmVjdC1pb1s9PG9ufG9mZj5dICAgIG9wZW4gYmFja2luZyBmaWxlIHdpdGggT19ESVJFQ1RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNAorbXNnaWQgIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSBhZnRlciBzZXR1cCAod2l0aCAtZilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDkKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGxpc3QgaW5mbyBhYm91dCBhbGwgb3Igc3BlY2lmaWVkIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC1ULiAtLXRlc3QgICAgICAgICAgICAgICAgICAgVGVzdCB6YSByYXpsaehpY28gZ2V0b3B0KDEpXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEwCittc2dpZCAiIC1PLCAtLW91dHB1dCA8Y29scz4gICAgICAgICAgIHNwZWNpZnkgY29sdW1ucyB0byBvdXRwdXQgZm9yIC0tbGlzdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDExCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1saXN0IG91dHB1dFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgICAgIHVzZSByYXcgLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMworIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOQorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIC0tbGlzdCBjb2x1bW5zOlxuIgorbXNnc3RyICJSYXpwb2xvvmxqaXZpIHVrYXppOlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBpcyBzbWFsbGVyIHRoYW4gNTEyIGJ5dGVzOyB0aGUgbG9vcCBkZXZpY2UgbWF5IGJlIHVzZWxlc3Mgb3IgaW52aXNpYmxlIGZvciBzeXN0ZW0gdG9vbHMuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGRvZXMgbm90IGZpdCBpbnRvIGEgNTEyLWJ5dGUgc2VjdG9yOyB0aGUgZW5kIG9mIHRoZSBmaWxlIHdpbGwgYmUgaWdub3JlZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NjQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MTYgc3lzLXV0aWxzL21vdW50LmM6NDU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlczogJXMgbmkgbHAgbmFwcmF2YS5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIHJlYWQtb25seSBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGVuY3J5cHRlZCBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmUtdXNlIGxvb3AgZGV2aWNlIgorbXNnc3RyICJpem1lbmphbG5lIG5hcHJhdmUgbmkgbW9nb+hlIHByZXZpdGkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDk0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbnNwZWN0IGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAibW91bnQ6IG5hc3Rhdml0ZXYgbG9vcCBuYXByYXZlIG5pIHVzcGVsYVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjaGVjayBmb3IgY29uZmxpY3RpbmcgbG9vcCBkZXZpY2VzIgorbXNnc3RyICJpem1lbmphbG5lIG5hcHJhdmUgbmkgbW9nb+hlIHByZXZpdGkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTI5IHN5cy11dGlscy9sb3NldHVwLmM6ODI2CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmaW5kIGFuIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IHphICVzIG5pIG1vZ2/oZSBuYWp0aSBuYXByYXZlXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBiYWNraW5nIGZpbGUiCittc2dzdHIgInBvbm92bm8gcHJlYmVyaSB0YWJlbG8gcmF6ZGVsa292IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjYzMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjY0MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1MworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3Njcgc3lzLXV0aWxzL2xvc2V0dXAuYzo4MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGRldmljZSIKK21zZ3N0ciAiaXptZW5qYWxuZSBuYXByYXZlIG5pIG1vZ2/oZSBwcmV2aXRpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2NAorIywgZnV6enkKK21zZ2lkICJubyBsb29wIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIm1vdW50OiBsb29wIG5hcHJhdmEgamUgcG9kYW5hIGR2YWtyYXQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzcyCisjLCBmdXp6eQorbXNnaWQgIm5vIGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICJJemJpcmEgLS1kYXRlIG5pIGJpbGEgcG9kYW5hLlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgb3B0aW9ucyAlcyBhcmUgYWxsb3dlZCBkdXJpbmcgbG9vcCBkZXZpY2Ugc2V0dXAgb25seSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4NAorbXNnaWQgInRoZSBvcHRpb24gLS1vZmZzZXQgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGNhcGFjaXR5IGZhaWxlZCIKK21zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgZGlyZWN0IGlvIGZhaWxlZCIKK21zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTA4CisjLCBmdXp6eQorbXNnaWQgIm5vbmUiCittc2dzdHIgIkJyZXoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjEwOQorbXNnaWQgInBhcmEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTEwCittc2dpZCAiZnVsbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMTEKK21zZ2lkICJjb250YWluZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTczCittc2dpZCAiaG9yaXpvbnRhbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQKK21zZ2lkICJ2ZXJ0aWNhbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDYKK21zZ2lkICJsb2dpY2FsIENQVSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgY29yZSBudW1iZXIiCittc2dzdHIgInByZWJlcmkgdmVsaWtvc3Qgc2VrdG9yamEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0OAorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIHNvY2tldCBudW1iZXIiCittc2dzdHIgInByZWJlcmkgdmVsaWtvc3Qgc2VrdG9yamEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0OQorbXNnaWQgImxvZ2ljYWwgTlVNQSBub2RlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTAKK21zZ2lkICJsb2dpY2FsIGJvb2sgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MQorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIGRyYXdlciBudW1iZXIiCittc2dzdHIgInByZWJlcmkgdmVsaWtvc3Qgc2VrdG9yamEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MgorbXNnaWQgInNob3dzIGhvdyBjYWNoZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUzCittc2dpZCAiQ1BVIGRpc3BhdGNoaW5nIG1vZGUgb24gdmlydHVhbCBoYXJkd2FyZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTQKK21zZ2lkICJwaHlzaWNhbCBhZGRyZXNzIG9mIGEgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NQorbXNnaWQgInNob3dzIGlmIHRoZSBoeXBlcnZpc29yIGhhcyBhbGxvY2F0ZWQgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTYKK21zZ2lkICJzaG93cyBpZiBMaW51eCBjdXJyZW50bHkgbWFrZXMgdXNlIG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU3Cittc2dpZCAic2hvd3MgdGhlIG1heGltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU4Cittc2dpZCAic2hvd3MgdGhlIG1pbmltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NTUwCisjLCBmdXp6eQorbXNnaWQgImVycm9yOiB1bmFtZSBmYWlsZWQiCittc2dzdHIgIiIKKyJcbiIKKyJOYXBha2EgcHJpIHphcGlyYW5qdSBkYXRvdGVrZVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo2MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZXRlcm1pbmUgbnVtYmVyIG9mIENQVXM6ICVzIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6ODkxCisjLCBmdXp6eQorbXNnaWQgImVycm9yOiBjYW4gbm90IHNldCBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiU2lnbmFsbmVnYSB1cHJhdmxqYWxuaWthIG5pIG1vZ2/oZSBuYXN0YXZpdGkiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjg5NgorIywgZnV6enkKK21zZ2lkICJlcnJvcjogY2FuIG5vdCByZXN0b3JlIHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJTaWduYWxuZWdhIHVwcmF2bGphbG5pa2EgbmkgbW9nb+hlIG5hc3Rhdml0aSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBmcm9tOiAlcyIKK21zZ3N0ciAic3RhbmphICVzIG5pIG1vZ2/oZSBkb2JpdGkiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MTAKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGV4dHJhY3QgdGhlIG5vZGUgbnVtYmVyIgorbXNnc3RyICJpc2thbmplIG5pIHVzcGVsbyB2IHdyaXRlX3RhYmxlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTUzNyBzeXMtdXRpbHMvbHNjcHUuYzoxNTQ3Cittc2dpZCAiWSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTM3IHN5cy11dGlscy9sc2NwdS5jOjE1NDcKKyMsIGZ1enp5Cittc2dpZCAiTiIKK21zZ3N0ciAiTkMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyXG4iCisiIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRFxuIgorIiMgc3RhcnRpbmcgZnJvbSB6ZXJvLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3ODEKK21zZ2lkICJBcmNoaXRlY3R1cmU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3OTUKK21zZ2lkICJDUFUgb3AtbW9kZShzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc5OCBzeXMtdXRpbHMvbHNjcHUuYzoxODAwCittc2dpZCAiQnl0ZSBPcmRlcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwMgorbXNnaWQgIkNQVShzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwNQorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDYKK21zZ2lkICJPbi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI1Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjYKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2MgorbXNnaWQgIlRocmVhZChzKSBwZXIgY29yZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2NAorbXNnaWQgIkNvcmUocykgcGVyIHNvY2tldDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2NworbXNnaWQgIlNvY2tldChzKSBwZXIgYm9vazoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3MAorbXNnaWQgIkJvb2socykgcGVyIGRyYXdlcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3MgorbXNnaWQgIkRyYXdlcihzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3NAorbXNnaWQgIkJvb2socyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzcKKyMsIGZ1enp5Cittc2dpZCAiU29ja2V0KHMpOiIKK21zZ3N0ciAibmZzIGthbmFsIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgxCittc2dpZCAiTlVNQSBub2RlKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgzCittc2dpZCAiVmVuZG9yIElEOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg1CisjLCBmdXp6eQorbXNnaWQgIk1hY2hpbmUgdHlwZToiCittc2dzdHIgIql0ZXZpbGthIHJhemRlbGthIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg3Cittc2dpZCAiQ1BVIGZhbWlseToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4OQorbXNnaWQgIk1vZGVsOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODkxCisjLCBmdXp6eQorbXNnaWQgIk1vZGVsIG5hbWU6IgorbXNnc3RyICJOZXZlbGphdm5vIHVwb3JhYm5puWtvIGltZSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5MworbXNnaWQgIlN0ZXBwaW5nOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk1Cittc2dpZCAiQ1BVIE1IejoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5NworbXNnaWQgIkNQVSBkeW5hbWljIE1IejoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5OQorbXNnaWQgIkNQVSBzdGF0aWMgTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAxCittc2dpZCAiQ1BVIG1heCBNSHo6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDMKK21zZ2lkICJDUFUgbWluIE1IejoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNQorbXNnaWQgIkJvZ29NSVBTOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA4IHN5cy11dGlscy9sc2NwdS5jOjE5MTAKKyMsIGZ1enp5Cittc2dpZCAiVmlydHVhbGl6YXRpb246IgorbXNnc3RyICJTdGFybyBzdGFuamU6XG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTMKK21zZ2lkICJIeXBlcnZpc29yOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE1Cittc2dpZCAiSHlwZXJ2aXNvciB2ZW5kb3I6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTYKK21zZ2lkICJWaXJ0dWFsaXphdGlvbiB0eXBlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE5Cittc2dpZCAiRGlzcGF0Y2hpbmcgbW9kZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkyNSBzeXMtdXRpbHMvbHNjcHUuYzoxOTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNhY2hlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTUEgbm9kZSVkIENQVShzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0NgorIywgZnV6enkKK21zZ2lkICJGbGFnczoiCittc2dzdHIgIk96bmFrZSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0OQorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBzb2NrZXRzOiIKK21zZ3N0ciAiRml6aehuZSBzdGV6ZSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk1MAorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBjaGlwczoiCittc2dzdHIgIkZpemnobmUgc3RlemUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NTEKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY29yZXMvY2hpcDoiCittc2dzdHIgInByZWJlcmkgdmVsaWtvc3Qgc2VrdG9yamEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjMKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBDUFUgYXJjaGl0ZWN0dXJlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjYKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IGJvdGggb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIgorbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjcKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIHByaW50IG9ubGluZSBDUFVzIG9ubHkgKGRlZmF1bHQgZm9yIC1wKVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2OAorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAgcHJpbnQgb2ZmbGluZSBDUFVzIG9ubHlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY5Cittc2dpZCAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcwCittc2dpZCAiIC1wLCAtLXBhcnNlWz08bGlzdD5dICAgIHByaW50IG91dCBhIHBhcnNhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzEKK21zZ2lkICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAgdXNlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcyCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1oZXggICAgICAgICAgICAgICBwcmludCBoZXhhZGVjaW1hbCBtYXNrcyByYXRoZXIgdGhhbiBsaXN0cyBvZiBDUFVzXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MworIywgZnV6enkKK21zZ2lkICIgLXksIC0tcGh5c2ljYWwgICAgICAgICAgcHJpbnQgcGh5c2ljYWwgaW5zdGVhZCBvZiBsb2dpY2FsIElEc1xuIgorbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9wdGlvbnMgLS1hbGwsIC0tb25saW5lIGFuZCAtLW9mZmxpbmUgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIG9wdGlvbnMgLS1leHRlbmRlZCBvciAtLXBhcnNlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBrZXkiCittc2dzdHIgIk5ldmVsamF2bm8gdXBvcmFibmm5a28gaW1lIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNDkKKyMsIGZ1enp5Cittc2dpZCAiS2V5IgorbXNnc3RyICJrbGp16CIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIElEIgorbXNnc3RyICJOZXZlbGphdm5vIHVwb3JhYm5puWtvIGltZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCisjLCBmdXp6eQorbXNnaWQgIklEIgorbXNnc3RyICJVVUlEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKK21zZ2lkICJPd25lcidzIHVzZXJuYW1lIG9yIFVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKKyMsIGZ1enp5Cittc2dpZCAiT3duZXIiCittc2dzdHIgImxhc3RuaWsiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MgorIywgZnV6enkKK21zZ2lkICJQZXJtaXNzaW9ucyIKK21zZ3N0ciAicmF6bGnoaWNhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTMKK21zZ2lkICJDcmVhdG9yIFVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTQKK21zZ2lkICJDcmVhdG9yIHVzZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU1Cittc2dpZCAiQ3JlYXRvciBHSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU2CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgZ3JvdXAiCittc2dzdHIgIlByaW1hcmVuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiVXNlciBJRCIKK21zZ3N0ciAidXBvcmFibmlrIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiVUlEIgorbXNnc3RyICJVVUlEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTgKKyMsIGZ1enp5Cittc2dpZCAiVXNlciBuYW1lIgorbXNnc3RyICJOZXZlbGphdm5vIHVwb3JhYm5puWtvIGltZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR3JvdXAgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5CisjLCBmdXp6eQorbXNnaWQgIkdJRCIKK21zZ3N0ciAiU0dJIHN1cm92IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjAKKyMsIGZ1enp5Cittc2dpZCAiR3JvdXAgbmFtZSIKK21zZ3N0ciAiTmV2ZWxqYXZubyB1cG9yYWJuablrbyBpbWUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorIywgZnV6enkKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIKK21zZ3N0ciAic3RhdCBpbWVuaWthIG5pIHVzcGVsXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorIywgZnV6enkKK21zZ2lkICJMYXN0IGNoYW5nZSIKK21zZ3N0ciAiemFkbmphIHNwcmVtZW1iYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY0CisjLCBmdXp6eQorbXNnaWQgIkJ5dGVzIHVzZWQiCittc2dzdHIgIk96bmHoaSwgZGEgamUgdiByYWJpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2VzIgorbXNnc3RyICKpdGV2aWxvIGdsYXYiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorIywgZnV6enkKK21zZ2lkICJNZXNzYWdlcyIKK21zZ3N0ciAic3Bvcm/oaWxhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKKyMsIGZ1enp5Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyBzZW50IgorbXNnc3RyICJ6YSBwcnZvIHZyc3RpY28iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIk1zZyBzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgcmVjZWl2ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiTXNnIHJlY2VpdmVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgc2VuZGVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIk1zZyBzZW5kZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyByZWNlaXZlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJNc2cgcmVjZWl2ZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTcyCisjLCBmdXp6eQorbXNnaWQgIlNlZ21lbnQgc2l6ZSIKK21zZ3N0ciAicHJlYmVyaSB2ZWxpa29zdCBibG9rYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBhdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIm5hai4guXQuIG9kc2Vrb3YgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCittc2dpZCAiQXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NAorIywgZnV6enkKK21zZ2lkICJTdGF0dXMiCittc2dzdHIgInN0YW5qZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc1CisjLCBmdXp6eQorbXNnaWQgIkF0dGFjaCB0aW1lIgorbXNnc3RyICJwcmlwZXRvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzYKKyMsIGZ1enp5Cittc2dpZCAiRGV0YWNoIHRpbWUiCittc2dzdHIgIm9kcGV0byIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgY29tbWFuZCBsaW5lIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgY29tbWFuZCIKK21zZ3N0ciAibmkgdWthemE/XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIlBJRCBvZiB0aGUgY3JlYXRvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJDcmVhdG9yIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJQSUQgb2YgbGFzdCB1c2VyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OQorIywgZnV6enkKK21zZ2lkICJMYXN0IHVzZXIgUElEIgorbXNnc3RyICJ1cG9yYWJuaWsiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAiqXRldmlsbyBzZWt0b3JqZXYiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorIywgZnV6enkKK21zZ2lkICJTZW1hcGhvcmVzIgorbXNnc3RyICIiCisiXG4iCisic2VtaWQgUG9saiBzZW1hZm9yamV2PSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworIywgZnV6enkKK21zZ2lkICJMYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIG5hbWUiCittc2dzdHIgIk5ldmVsamF2bm8gdXBvcmFibmm5a28gaW1lIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UiCittc2dzdHIgIk5ldmVsamF2bm8gdXBvcmFibmm5a28gaW1lIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgImJsb+huYSBuYXByYXZhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiRGVzY3JpcHRpb24iCittc2dzdHIgImJsb+huYSBuYXByYXZhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJDdXJyZW50bHkgdXNlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJVc2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorIywgZnV6enkKK21zZ2lkICJDdXJyZW50bHkgdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIlZuZXNpdGUgdnJzdG8gZGF0b3Rl6G5lZ2Egc2lzdGVtYTogIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiVXNlIgorbXNnc3RyICJVcG9yYWJhOiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiU3lzdGVtLXdpZGUgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiTGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbHVtbiAlcyBkb2VzIG5vdCBhcHBseSB0byB0aGUgc3BlY2lmaWVkIElQQyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODcKK21zZ2lkICIgLWcsIC0tZ2xvYmFsICAgICAgaW5mbyBhYm91dCBzeXN0ZW0td2lkZSB1c2FnZSAobWF5IGJlIHVzZWQgd2l0aCAtbSwgLXEgYW5kIC1zKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OAorIywgZnV6enkKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgICAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiLWkgaWQgWy1zIC1xIC1tXSA6IHBvZHJvYm5vc3RpIG8gdmlydSBwcmVwb3puYW5lbSBwbyBpZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTQKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk1CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICAgICAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NworIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIHVzZSB0aGUgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk5CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yY2UgbGlzdCBvdXRwdXQgZm9ybWF0IChmb3IgZXhhbXBsZSB3aXRoIC0taWQpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMQorbXNnaWQgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgcHJpbnQgbnVtZXJpYyBwZXJtaXNzaW9ucyAoUEVSTVMgY29sdW1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMworIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiR2VuZXJpYyBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcmF6ZGVsa292OlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQtbWVtb3J5IGNvbHVtbnMgKC0tc2htZW1zKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlZ21lbnQgZGVsamVuZWdhIHBvbW5pbG5pa2Egc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZS1xdWV1ZSBjb2x1bW5zICgtLXF1ZXVlcyk6XG4iCittc2dzdHIgIlJhenBvbG++bGppdmkgdWthemk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBjb2x1bW5zICgtLXNlbWFwaG9yZXMpOlxuIgorbXNnc3RyICJSYXpwb2xvvmxqaXZpIHVrYXppOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlN1bW1hcnkgY29sdW1ucyAoLS1nbG9iYWwpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjQxMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRWxlbWVudHM6XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA1CisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmUgaWRlbnRpZmllcnMiCittc2dzdHIgIql0ZXZpbG8gc2VrdG9yamV2IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDYKKyMsIGZ1enp5Cittc2dpZCAiVG90YWwgbnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgIql0ZXZpbG8gc2VrdG9yamV2IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDcKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNlbWFwaG9yZXMgcGVyIHNlbWFwaG9yZSBzZXQuIgorbXNnc3RyICJuYWouILl0LiBzZW1hZm9yamV2IG5hIHBvbGplID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA4CisjLCBmdXp6eQorbXNnaWQgIk1heCBudW1iZXIgb2Ygb3BlcmF0aW9ucyBwZXIgc2Vtb3AoMikiCittc2dzdHIgIm5hai4guXQuIG9kc2Vrb3YgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA5CisjLCBmdXp6eQorbXNnaWQgIlNlbWFwaG9yZSBtYXggdmFsdWUiCittc2dzdHIgIm5hai4gdnJlZG5vc3Qgc2VtYWZvcmphID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODYzCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiqXRldmlsbyBnbGF2IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjQKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNpemUgb2YgbWVzc2FnZSAoYnl0ZXMpIgorbXNnc3RyICJuYWouIHZlbGlrb3N0IHNwb3Jv6GlsYSAoQikgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjUKKyMsIGZ1enp5Cittc2dpZCAiRGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSAoYnl0ZXMpIgorbXNnc3RyICJuYWouIHByaXZ6ZXRhIHZlbGlrb3N0IHZyc3RlIChCKSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk3OCBzeXMtdXRpbHMvbHNpcGMuYzo5OTcKK21zZ2lkICJodWdldGxiIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk3OSBzeXMtdXRpbHMvbHNpcGMuYzoxMDA0CisjLCBmdXp6eQorbXNnaWQgIm5vcmVzZXJ2ZSIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDYxCisjLCBmdXp6eQorbXNnaWQgIlNoYXJlZCBtZW1vcnkgc2VnbWVudHMiCittc2dzdHIgIiIKKyJcbiIKKyJTZWdtZW50IGRlbGplbmVnYSBwb21uaWxuaWthIHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjIKKyMsIGZ1enp5Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBwYWdlcyIKK21zZ3N0ciAiIgorIlxuIgorIlNlZ21lbnQgZGVsamVuZWdhIHBvbW5pbG5pa2Egc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MworIywgZnV6enkKK21zZ2lkICJNYXggc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAibmFqLiB2ZWxpa29zdCBzcG9yb+hpbGEgKEIpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2NAorIywgZnV6enkKK21zZ2lkICJNaW4gc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAibmFqLiB2ZWxpa29zdCBzcG9yb+hpbGEgKEIpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTEzNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSVBDIGlkZW50aWZpZXIiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMjI5CisjLCBmdXp6eQorbXNnaWQgIi0tZ2xvYmFsIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tY3JlYXRvciwgLS1pZCBhbmQgLS10aW1lIgorbXNnc3RyICIlczogLS1hZGp1c3QgaW4gLS1ub2FkamZpbGUgaXpiaXJpIHNlIG1lZHNlYm9qbm8gaXprbGp16HVqZXRhLiBQb2RhbGkgc3RlIG9iZS5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4MworbXNnaWQgIm5hbWVzcGFjZSBpZGVudGlmaWVyIChpbm9kZSBudW1iZXIpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODQKK21zZ2lkICJraW5kIG9mIG5hbWVzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg1CisjLCBmdXp6eQorbXNnaWQgInBhdGggdG8gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAic3RhdCBpbWVuaWthIG5pIHVzcGVsXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODYKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJuYWouILl0LiBvZHNla292ID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODcKK21zZ2lkICJsb3dlc3QgUElEIGluIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OAorbXNnaWQgIlBQSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5Cittc2dpZCAiY29tbWFuZCBsaW5lIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MAorbXNnaWQgIlVJRCBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTEKK21zZ2lkICJ1c2VybmFtZSBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bmFtZXNwYWNlPl1cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo2MTYKKyMsIGZ1enp5Cittc2dpZCAiTGlzdCBzeXN0ZW0gbmFtZXNwYWNlcy5cbiIKK21zZ3N0ciAiU2lzdGVtc2tlIHVyZSBzZSBuZSBkYSBuYXN0YXZpdGkuXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjIzCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS10YXNrIDxwaWQ+ICAgICAgIHByaW50IHByb2Nlc3MgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjI2Cittc2dpZCAiIC10LCAtLXR5cGUgPG5hbWU+ICAgICAgbmFtZXNwYWNlIHR5cGUgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzLCBjZ3JvdXApXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbmFtZXNwYWNlIHR5cGU6ICVzIgorbXNnc3RyICJuZXpuYW4gdmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjczNQorIywgZnV6enkKK21zZ2lkICItLXRhc2sgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPG5hbWVzcGFjZT4iCittc2dzdHIgIiVzOiAtLWFkanVzdCBpbiAtLW5vYWRqZmlsZSBpemJpcmkgc2UgbWVkc2Vib2pubyBpemtsanXodWpldGEuIFBvZGFsaSBzdGUgb2JlLlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjczNgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG5hbWVzcGFjZSBhcmd1bWVudCIKK21zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGZvdW5kIG5hbWVzcGFjZTogJWp1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY2IHN5cy11dGlscy91bW91bnQuYzoxMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIm1vdW50OiB0byBsYWhrbyBpenZlZGUgc2FtbyBzaXN0ZW1za2kgc2tyYm5payIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njkgc3lzLXV0aWxzL3Vtb3VudC5jOjEyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiBkbyB0aGF0IChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAibW91bnQ6IHRvIGxhaGtvIGl6dmVkZSBzYW1vIHNpc3RlbXNraSBza3JibmlrIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MyBzeXMtdXRpbHMvdW1vdW50LmM6MTI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24iCittc2dzdHIgIm1vdW50OiBzYW1vIHNpc3RlbXNraSBza3JibmlrIGxhaGtvIHByaWtsb3BpICVzIG5hICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NCBzeXMtdXRpbHMvdW1vdW50LmM6MTI1CisjLCBmdXp6eQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKK21zZ3N0ciAibW91bnQ6IHRvIGxhaGtvIGl6dmVkZSBzYW1vIHNpc3RlbXNraSBza3JibmlrIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4NSBzeXMtdXRpbHMvdW1vdW50LmM6NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgKGxpYm1vdW50ICVzIgorbXNnc3RyICIlcyBpeiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMzAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbXRhYiIKK21zZ3N0ciAic3RhbmphICVzIG5pIG1vZ2/oZSBkb2JpdGkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MiBzeXMtdXRpbHMvdW1vdW50LmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogYWxyZWFkeSBtb3VudGVkXG4iCittc2dzdHIgIm1vdW50OiAlcyBqZSC+ZSBwcmlrbG9wbGplbiB2ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdmVkIHRvICVzLlxuIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBuZXVzcGW5bm8gaXNrYW5qZSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgYm91bmQgb24gJXMuXG4iCittc2dzdHIgInVtb3VudDogJXM6IG5ldXNwZblubyBpc2thbmplIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTQgc3lzLXV0aWxzL21vdW50LmM6MjU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW91bnRlZCBvbiAlcy5cbiIKK21zZ3N0ciAidW1vdW50OiAlczogbmV1c3BluW5vIGlza2FuamUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgcHJvcGFnYXRpb24gZmxhZ3MgY2hhbmdlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm1vdW50OiAlcyBkb2VzIG5vdCBjb250YWluIFNFTGludXggbGFiZWxzLlxuIgorIiAgICAgICBZb3UganVzdCBtb3VudGVkIGFuIGZpbGUgc3lzdGVtIHRoYXQgc3VwcG9ydHMgbGFiZWxzIHdoaWNoIGRvZXMgbm90XG4iCisiICAgICAgIGNvbnRhaW4gbGFiZWxzLCBvbnRvIGFuIFNFTGludXggYm94LiBJdCBpcyBsaWtlbHkgdGhhdCBjb25maW5lZFxuIgorIiAgICAgICBhcHBsaWNhdGlvbnMgd2lsbCBnZW5lcmF0ZSBBVkMgbWVzc2FnZXMgYW5kIG5vdCBiZSBhbGxvd2VkIGFjY2VzcyB0b1xuIgorIiAgICAgICB0aGlzIGZpbGUgc3lzdGVtLiAgRm9yIG1vcmUgZGV0YWlscyBzZWUgcmVzdG9yZWNvbig4KSBhbmQgbW91bnQoOCkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Mzc4CisjLCBmdXp6eQorbXNnaWQgIldBUk5JTkc6IGZhaWxlZCB0byBhcHBseSBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKK21zZ3N0ciAibW91bnQ6IHNhbW8gc2lzdGVtc2tpIHNrcmJuaWsgbGFoa28gcHJpa2xvcGkgJXMgbmEgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYWxyZWFkeSBtb3VudGVkIgorbXNnc3RyICJtb3VudDogJXMgamUgvmUgcHJpa2xvcGxqZW4gdiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHVzZWQgYXMgcmVhZCBvbmx5IGxvb3AsIG1vdW50aW5nIHJlYWQtb25seSIKK21zZ3N0ciAibW91bnQ6ICVzJXMgamUgemG56Gl0ZW5hIHByZWQgcGlzYW5qZW0sIHByaWtsYXBsamFtIHNhbW8gemEgYnJhbmplIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMgaW4gJXMiCittc2dzdHIgIm1vdW50OiAlcyBuaSBtb2dv6GUgbmFqdGkgdiAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50cG9pbnQgJXMgaW4gJXMiCittc2dzdHIgIm1vdW50OiAlcyBuaSBtb2dv6GUgbmFqdGkgdiAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50IHNvdXJjZSAlcyBpbiAlcyIKK21zZ3N0ciAibW91bnQ6ICVzIG5pIG1vZ2/oZSBuYWp0aSB2ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzOiBtb3JlIGZpbGVzeXN0ZW1zIGRldGVjdGVkLiBUaGlzIHNob3VsZCBub3QgaGFwcGVuLFxuIgorIiAgICAgICB1c2UgLXQgPHR5cGU+IHRvIGV4cGxpY2l0bHkgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIG9yXG4iCisiICAgICAgIHVzZSB3aXBlZnMoOCkgdG8gY2xlYW4gdXAgdGhlIGRldmljZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDM2CisjLCBmdXp6eQorbXNnaWQgIkkgY291bGQgbm90IGRldGVybWluZSB0aGUgZmlsZXN5c3RlbSB0eXBlLCBhbmQgbm9uZSB3YXMgc3BlY2lmaWVkIgorbXNnc3RyICJtb3VudDogVGlwYSBkYXQuIHNpc3RlbWEgbmkgYmlsbyBtb2dv6GUgdWdvdG92aXRpIGluIG5pIGJpbCBwb2RhbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDM5CisjLCBmdXp6eQorbXNnaWQgInlvdSBtdXN0IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAibW91bnQ6IHRpcCBkYXQuIHNpc3RlbWEgbW9yYSBiaXRpIHBvZGFuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMiCittc2dzdHIgIiVzOiBuaSBtb2dv6GUgcG92ZXphdGkgJXM6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0NworIywgZnV6enkKK21zZ2lkICJtb3VudCBzb3VyY2Ugbm90IGRlZmluZWQiCittc2dzdHIgIm1vdW50OiBwcmlrbG9wIG5pIHVzcGVsIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTEgc3lzLXV0aWxzL21vdW50LmM6NDUzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIgorbXNnc3RyICJpem1lbmphbG5lIG5hcHJhdmUgbmkgbW9nb+hlIHByZXZpdGkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50IGZhaWxlZCIKK21zZ3N0ciAicHJpa2xvcCBuaSB1c3BlbCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmlsZXN5c3RlbSBtb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorbXNnc3RyICJtb3VudDogcHJpa2xvcCBuaSB1c3BlbCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDg5IHN5cy11dGlscy9tb3VudC5jOjU0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgJXMgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJtb3VudDogcHJpa2xvcG5hIHRv6GthICVzIG5pIGltZW5payIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDkzCisjLCBmdXp6eQorbXNnaWQgIm11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKK21zZ3N0ciAibW91bnQ6IHVrYXogbW91bnQgbGFoa28gdXBvcmFibGphIHNhbW8gc2lzdGVtc2tpIHNrcmJuaWsiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYnVzeSIKK21zZ3N0ciAibW91bnQ6ICVzIGplIHYgcmFiaSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb3IgJXMgYnVzeSIKK21zZ3N0ciAibW91bnQ6ICVzIGplIL5lIHByaWtsb3BsamVuIGFsaSAlcyB6YXBvc2xlbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzXG4iCittc2dzdHIgIm1vdW50OiAlcyBqZSC+ZSBwcmlrbG9wbGplbiB2ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIm1vdW50OiBwcmlrbG9wbmEgdG/oa2EgJXMgbmUgb2JzdGFqYSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBpcyBhIHN5bWJvbGljIGxpbmsgdG8gbm93aGVyZSIKK21zZ3N0ciAibW91bnQ6IHByaWtsb3BuYSB0b+hrYSAlcyBqZSBzaW1ib2xuYSBwb3ZlemF2YSBkbyBuaehlc2FyIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJtb3VudDogcG9zZWJuYSBuYXByYXZhICVzIG5lIG9ic3RhamEiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUzNiBzeXMtdXRpbHMvbW91bnQuYzo1Mzggc3lzLXV0aWxzL21vdW50LmM6NTQwCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NTUKKyMsIGZ1enp5Cittc2dpZCAibW91bnQoMikgZmFpbGVkIgorbXNnc3RyICJwcmlrbG9wIG5pIHVzcGVsIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IChhIHBhdGggcHJlZml4IGlzIG5vdCBhIGRpcmVjdG9yeSkiCittc2dzdHIgIiIKKyJtb3VudDogcG9zZWJuYSBuYXByYXZhICVzIG5lIG9ic3RhamFcbiIKKyJcdChwb3QgbmkgaW1lbmlrKVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCittc2dzdHIgIm1vdW50OiAlcyC5ZSBuaSBwcmlrbG9wbGplbiBhbGkgbmVwcmF2aWxuYSBpemJpcmEiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50cG9pbnQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAibW91bnQ6ICVzILllIG5pIHByaWtsb3BsamVuIGFsaSBuZXByYXZpbG5hIGl6YmlyYSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTY1Cittc2dpZCAiIgorImJhZCBvcHRpb24uIE5vdGUgdGhhdCBtb3ZpbmcgYSBtb3VudCByZXNpZGluZyB1bmRlciBhIHNoYXJlZFxuIgorIiAgICAgICBtb3VudCBpcyB1bnN1cHBvcnRlZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisid3JvbmcgZnMgdHlwZSwgYmFkIG9wdGlvbiwgYmFkIHN1cGVyYmxvY2sgb24gJXMsXG4iCisiICAgICAgIG1pc3NpbmcgY29kZXBhZ2Ugb3IgaGVscGVyIHByb2dyYW0sIG9yIG90aGVyIGVycm9yIgorbXNnc3RyICIiCisibW91bnQ6IG5hcGHoZW4gdGlwIGRhdC4gc2lzdGVtYSwgbmVwcmF2aWxuYSBpemJpcmEsIHBvuWtvZG92YW4gc3VwZXJibG9rIG5hICVzLFxuIgorIlx0bWFuamtham/oYSBrb2RuYSBzdHJhbiBhbGkgZHJ1Z2UgbmFwYWtlIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgICAoZm9yIHNldmVyYWwgZmlsZXN5c3RlbXMgKGUuZy4gbmZzLCBjaWZzKSB5b3UgbWlnaHRcbiIKKyIgICAgICAgbmVlZCBhIC9zYmluL21vdW50Ljx0eXBlPiBoZWxwZXIgcHJvZ3JhbSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIgICAgICAgSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBpcyBmb3VuZCBpbiBzeXNsb2cgLSB0cnlcbiIKKyIgICAgICAgZG1lc2cgfCB0YWlsIG9yIHNvLlxuIgorbXNnc3RyICIiCisiXHRWIG5la2F0ZXJpaCBwcmltZXJpaCBkb2JpdGUgdXBvcmFibmUgaW5mb3JtYWNpamUgdiBzaXN0LiBkbmV2bmlrdVxuIgorIlx0cG9za3VzaXRlIHogZG1lc2cgfCB0YWlsXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU4MworbXNnaWQgIm1vdW50IHRhYmxlIGZ1bGwiCittc2dzdHIgInByaWtsb3BuYSB0YWJlbGEgamUgcG9sbmEiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IHJlYWQgc3VwZXJibG9jayIKK21zZ3N0ciAibW91bnQ6ICVzOiBzdXBlcmJsb2thIG5pIG1vZ2/oZSBwcmVicmF0aSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSAnJXMnIgorbXNnc3RyICJtb3VudDogbmV6bmFuIHRpcCBkYXQuIHNpc3RlbWEgJyVzJyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTk0CisjLCBmdXp6eQorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJtb3VudDogbmV6bmFuIHRpcCBkYXQuIHNpc3RlbWEgJyVzJyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UsIGFuZCBzdGF0KDIpIGZhaWxzPyIKK21zZ3N0ciAibW91bnQ6ICVzIG5pIGJsb+huYSBuYXByYXZhIGluIHN0YXQgbmUgdXNwZT8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorInRoZSBrZXJuZWwgZG9lcyBub3QgcmVjb2duaXplICVzIGFzIGEgYmxvY2sgZGV2aWNlXG4iCisiICAgICAgIChtYXliZSBgbW9kcHJvYmUgZHJpdmVyJz8pIgorbXNnc3RyICIiCisibW91bnQ6IGplZHJvIG5lIHByZXBvem5hICVzIGtvdCBibG/obmUgbmFwcmF2ZVxuIgorIlx0KG1vZ2/oZSBgaW5zbW9kIGdvbmlsbmlrJz8pIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSAobWF5YmUgdHJ5IGAtbyBsb29wJz8pIgorbXNnc3RyICJtb3VudDogJXMgbmkgYmxv6G5hIG5hcHJhdmEgKHBvc2t1c2l0ZSBgLW8gbG9vcCc/KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogbmkgYmxv6G5hIG5hcHJhdmFcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIm1vdW50OiAlcyBuaSB2ZWxqYXZuYSBibG/obmEgbmFwcmF2YSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQgJXMgcmVhZC1vbmx5IgorbXNnc3RyICJtb3VudDogJXMlcyBuaSBtb+ggcHJpa2xvcGl0aSBzYW1vIHphIGJyYW5qZSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IGAtdycgZmxhZyBnaXZlbiIKK21zZ3N0ciAibW91bnQ6ICVzJXMgamUgemG56Gl0ZW5hIHByZWQgcGlzYW5qZW0gYW1wYWsgcG9kYW5hIGplIGAtdycgemFzdGF2aWNhIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZW1vdW50ICVzIHJlYWQtd3JpdGUsIGlzIHdyaXRlLXByb3RlY3RlZCIKK21zZ3N0ciAibW91bnQ6ICVzJXMgbmkgbW/oIHByaWtsb3BpdGkgc2FtbyB6YSBicmFuamUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYzMSBzeXMtdXRpbHMvbW91bnQuYzo2NTQgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHByZWltZW5vdmFuamUgJXMgbmEgJXMgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHdyaXRlLXByb3RlY3RlZCwgbW91bnRpbmcgcmVhZC1vbmx5IgorbXNnc3RyICJtb3VudDogJXMlcyBqZSB6YbnoaXRlbmEgcHJlZCBwaXNhbmplbSwgcHJpa2xhcGxqYW0gc2FtbyB6YSBicmFuamUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gbWVkaXVtIGZvdW5kIG9uICVzIgorbXNnc3RyICJtb3VudDogJXMgamUgvmUgcHJpa2xvcGxqZW4gdiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG9wdGlvbiBmb3JtYXQ6ICVzIgorbXNnc3RyICIlczogbmV6bmFuIGFyZ3VtZW50OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhcHBlbmQgb3B0aW9uICclcyciCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbGhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2VdIDxzb3VyY2U+IHwgWy0tdGFyZ2V0XSA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIDxvcGVyYXRpb24+IDxtb3VudHBvaW50PiBbPHRhcmdldD5dXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzQ0CisjLCBmdXp6eQorbXNnaWQgIk1vdW50IGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiUHJpc2lsbmkgcHJlZ2xlZCBkYXRvdGXobmVnYSBzaXN0ZW1hIG5hICVzLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBtb3VudCBhbGwgZmlsZXN5c3RlbXMgbWVudGlvbmVkIGluIGZzdGFiXG4iCisiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSBtb3VudCgyKSBzeXNjYWxsXG4iCisiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIGZvcmsgb2ZmIGZvciBlYWNoIGRldmljZSAodXNlIHdpdGggLWEpXG4iCisiIC1ULCAtLWZzdGFiIDxwYXRoPiAgICAgIGFsdGVybmF0aXZlIGZpbGUgdG8gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgbW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBzaG93IGFsc28gZmlsZXN5c3RlbSBsYWJlbHNcbiIKK21zZ3N0ciAiICBbIC1maWxlIGl6aG9kbmFfZGF0IF1cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU4IHN5cy11dGlscy91bW91bnQuYzo5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIGRvbid0IHdyaXRlIHRvIC9ldGMvbXRhYlxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbW91bnQgb3B0aW9uc1xuIgorIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC1vbmx5IChzYW1lIGFzIC1vIHJvKVxuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1zb3VyY2UgPHNyYz4gICAgICBleHBsaWNpdGx5IHNwZWNpZmllcyBzb3VyY2UgKHBhdGgsIGxhYmVsLCB1dWlkKVxuIgorIiAgICAgLS10YXJnZXQgPHRhcmdldD4gICBleHBsaWNpdGx5IHNwZWNpZmllcyBtb3VudHBvaW50XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzY4IHN5cy11dGlscy91bW91bnQuYzo5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHNheSB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtd3JpdGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTb3VyY2U6XG4iCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc5MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3BlcmF0aW9uczpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIHNvbWV3aGVyZSBlbHNlIChzYW1lIGFzIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG1vdmUgYSBzdWJ0cmVlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjgwMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4ODcgc3lzLXV0aWxzL3Vtb3VudC5jOjU0OAorIywgZnV6enkKK21zZ2lkICJsaWJtb3VudCBjb250ZXh0IGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJtb3VudDogcHJpa2xvcCBuaSB1c3BlbCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6OTQ0IHN5cy11dGlscy91bW91bnQuYzo2MDEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCBvcHRpb25zIHBhdHRlcm4iCittc2dzdHIgIk5ldXNwZblubyB6YXBpc292YW5qZSByYXpkZWxrYSBuYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMDk3CisjLCBmdXp6eQorbXNnaWQgInNvdXJjZSBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgIk5hdmVkbGkgc3RlIHZl6CBzdGV6LCBrb3QgamloIGplIG5hIGRpc2t1IgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1xZF0gL3BhdGgvdG8vZGlyZWN0b3J5XG4iCisiICUxJHMgLXggL2Rldi9kZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEyMgorbXNnaWQgIkNoZWNrIHdoZXRoZXIgYSBkaXJlY3Rvcnkgb3IgZmlsZSBpcyBhIG1vdW50cG9pbnQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjUKK21zZ2lkICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICBxdWlldCBtb2RlIC0gZG9uJ3QgcHJpbnQgYW55dGhpbmdcbiIKKyIgLWQsIC0tZnMtZGV2bm8gICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgZmlsZXN5c3RlbVxuIgorIiAteCwgLS1kZXZubyAgICAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBibG9jayBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjE5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgbW91bnRwb2ludFxuIgorbXNnc3RyICJrb3JlbnNraSBpbm9kIG5pIGltZW5payIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoyMDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyBqZSBwcmlrbG9wbGplbi5cdCAiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzIgc3lzLXV0aWxzL3NldHByaXYuYzo5MyBzeXMtdXRpbHMvdW5zaGFyZS5jOjI0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXG4iCittc2dzdHIgInVwb3JhYmE6ICVzIHByb2dyYW0gW2l6YmlyYSAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzYKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggbmFtZXNwYWNlcyBvZiBvdGhlciBwcm9jZXNzZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3OQorbXNnaWQgIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgIHRhcmdldCBwcm9jZXNzIHRvIGdldCBuYW1lc3BhY2VzIGZyb21cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgwCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgIGVudGVyIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgZW50ZXIgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODIKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgZW50ZXIgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgZW50ZXIgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICBlbnRlciBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODUKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgZW50ZXIgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODYKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgZW50ZXIgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg3CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZXR1aWQgPHVpZD4gICAgIHNldCB1aWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg4CisjLCBmdXp6eQorbXNnaWQgIiAtRywgLS1zZXRnaWQgPGdpZD4gICAgIHNldCBnaWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg5Cittc2dpZCAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzIGRvIG5vdCB0b3VjaCB1aWRzIG9yIGdpZHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkwCittc2dpZCAiIC1yLCAtLXJvb3RbPTxkaXI+XSAgICAgc2V0IHRoZSByb290IGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTEKK21zZ2lkICIgLXcsIC0td2RbPTxkaXI+XSAgICAgICBzZXQgdGhlIHdvcmtpbmcgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MgorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgIGRvIG5vdCBmb3JrIGJlZm9yZSBleGVjJ2luZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjk0Cittc2dpZCAiIC1aLCAtLWZvbGxvdy1jb250ZXh0ICAgc2V0IFNFTGludXggY29udGV4dCBhY2NvcmRpbmcgdG8gLS10YXJnZXQgUElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAibmVpdGhlciBmaWxlbmFtZSBub3IgdGFyZ2V0IHBpZCBzdXBwbGllZCBmb3IgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoyNzcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHVpZCIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MjgxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBnaWQiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMxNworbXNnaWQgIm5vIHRhcmdldCBQSUQgc3BlY2lmaWVkIGZvciAtLWZvbGxvdy1jb250ZXh0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0ICVkIFNFTGludXggY29udGV4dCIKK21zZ3N0ciAiemFwaXMgaW5vZG92IG5pIHVzcGVsIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBleGVjIGNvbnRleHQgdG8gJyVzJyIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mzc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZWFzc29jaWF0ZSB0byBuYW1lc3BhY2UgJyVzJyBmYWlsZWQiCittc2dzdHIgImRvZGVsamVuaSBzZW1hZm9yamkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM5MAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICJOYXBha2EgcHJpIHNwcmVtaW5qYW5qdSBuYehpbmEgJXM6ICVzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mzk3CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgcm9vdCBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICJpc2thbmplIGplIGJpbG8gbmV1c3BluW5vIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQwMAorIywgZnV6enkKK21zZ2lkICJjaHJvb3QgZmFpbGVkIgorbXNnc3RyICJwcmlrbG9wIG5pIHVzcGVsIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQxMAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHdvcmtpbmcgZGlyZWN0b3J5IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDIxIHN5cy11dGlscy9zZXRwcml2LmM6ODE1IHN5cy11dGlscy9zZXRwcml2LmM6ODE5CisjLCBmdXp6eQorbXNnaWQgInNldGdyb3VwcyBmYWlsZWQiCittc2dzdHIgIk9kcGlyYW5qZSAlcyBuaSB1c3BlbG8iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gbmV3X3Jvb3QgcHV0X29sZFxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjM3CisjLCBmdXp6eQorbXNnaWQgIkNoYW5nZSB0aGUgcm9vdCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJQcmlzaWxuaSBwcmVnbGVkIGRhdG90ZehuZWdhIHNpc3RlbWEgbmEgJXMuXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCBmcm9tIGAlcycgdG8gYCVzJyIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzUKK21zZ2lkICJhZGRyZXNzIHNwYWNlIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKKyMsIGZ1enp5Cittc2dpZCAibWF4IGNvcmUgZmlsZSBzaXplIgorbXNnc3RyICJEYXRvdGVrZSAsJXNgIG5pIG1vZ2/oZSBvZHByZXRpIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAiQ1BVIHRpbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworIywgZnV6enkKK21zZ2lkICJzZWNvbmRzIgorbXNnc3RyICJET1Mgc2VrdW5kYXJuaSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OAorbXNnaWQgIm1heCBkYXRhIHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OQorIywgZnV6enkKK21zZ2lkICJtYXggZmlsZSBzaXplIgorbXNnc3RyICJzbGFiYSB2ZWxpa29zdCBpbm9kYSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIGZpbGUgbG9ja3MgaGVsZCIKK21zZ3N0ciAibmFqLiC5dC4gb2RzZWtvdiA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCisjLCBmdXp6eQorbXNnaWQgImxvY2tzIgorbXNnc3RyICIlbGQgYmxva292XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKK21zZ2lkICJtYXggbG9ja2VkLWluLW1lbW9yeSBhZGRyZXNzIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIKK21zZ2lkICJtYXggYnl0ZXMgaW4gUE9TSVggbXF1ZXVlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgzCittc2dpZCAibWF4IG5pY2UgcHJpbyBhbGxvd2VkIHRvIHJhaXNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKKyMsIGZ1enp5Cittc2dpZCAibWF4IG51bWJlciBvZiBvcGVuIGZpbGVzIgorbXNnc3RyICJuYWouILl0LiBvZHNla292ID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXMiCittc2dzdHIgIihOYXNsZWRuamEgZGF0b3Rla2E6ICVzKSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIHByb2Nlc3NlcyIKK21zZ3N0ciAibmFqLiC5dC4gb2RzZWtvdiA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1CisjLCBmdXp6eQorbXNnaWQgInByb2Nlc3NlcyIKK21zZ3N0ciAiJXM6IHByb2Nlc2EgbmkgbW9nb+hlIG5hanRpIFwiJXNcIlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2Cittc2dpZCAibWF4IHJlc2lkZW50IHNldCBzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODcKKyMsIGZ1enp5Cittc2dpZCAibWF4IHJlYWwtdGltZSBwcmlvcml0eSIKK21zZ3N0ciAiZG9iaXByaW9yaXRldG8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJ0aW1lb3V0IGZvciByZWFsLXRpbWUgdGFza3MiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgIm1pY3Jvc2VjcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5CisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzIgorbXNnc3RyICJuYWouILl0LiBvZHNla292ID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJzaWduYWxzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJtYXggc3RhY2sgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyMworIywgZnV6enkKK21zZ2lkICJyZXNvdXJjZSBuYW1lIgorbXNnc3RyICJOZXZlbGphdm5vIHVwb3JhYm5puWtvIGltZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAicmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgImJsb+huYSBuYXByYXZhIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNQorbXNnaWQgInNvZnQgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjYKK21zZ2lkICJoYXJkIGxpbWl0IChjZWlsaW5nKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNworIywgZnV6enkKK21zZ2lkICJ1bml0cyIKK21zZ3N0ciAiRW5vdGUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstcCBQSURdXG4iCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIENPTU1BTkRcbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjYKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVzb3VyY2UgbGltaXRzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiR2VuZXJhbCBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcmF6ZGVsa292OlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OQorbXNnaWQgIiIKKyIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBwcm9jZXNzIGlkXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorIiAgICAgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCisiICAgICAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorIiAgICAgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJSZXNvdXJjZXMgT3B0aW9uczpcbiIKK21zZ3N0ciAibmV2YXJuZSBpemJpcmU6IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OAorbXNnaWQgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgY29yZSBmaWxlcyBjcmVhdGVkXG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcydzIGRhdGEgc2VnbWVudFxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIG1heGltdW0gbmljZSBwcmlvcml0eSBhbGxvd2VkIHRvIHJhaXNlXG4iCisiIC1mLCAtLWZzaXplICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlIHByb2Nlc3NcbiIKKyIgLWksIC0tc2lncGVuZGluZyAgICAgICBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHNcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICBtYXhpbXVtIHNpemUgYSBwcm9jZXNzIG1heSBsb2NrIGludG8gbWVtb3J5XG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZVxuIgorIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIG9wZW4gZmlsZXNcbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBtYXhpbXVtIGJ5dGVzIGluIFBPU0lYIG1lc3NhZ2UgcXVldWVzXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eVxuIgorIiAtcywgLS1zdGFjayAgICAgICAgICAgIG1heGltdW0gc3RhY2sgc2l6ZVxuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIG1heGltdW0gYW1vdW50IG9mIENQVSB0aW1lIGluIHNlY29uZHNcbiIKKyIgLXUsIC0tbnByb2MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiB1c2VyIHByb2Nlc3Nlc1xuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIHNpemUgb2YgdmlydHVhbCBtZW1vcnlcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBmaWxlIGxvY2tzXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAgQ1BVIHRpbWUgaW4gbWljcm9zZWNvbmRzIGEgcHJvY2VzcyBzY2hlZHVsZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1bmRlciByZWFsLXRpbWUgc2NoZWR1bGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MjQzIHN5cy11dGlscy9wcmxpbWl0LmM6MjQ5IHN5cy11dGlscy9wcmxpbWl0LmM6MzY2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3MQorbXNnaWQgInVubGltaXRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjMzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBvbGQgJXMgbGltaXQiCittc2dzdHIgIk5ldXNwZblubyB6YXBpc292YW5qZSByYXpkZWxrYSBuYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM1NgorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgc29mdCBsaW1pdCAlcyBjYW5ub3QgZXhjZWVkIHRoZSBoYXJkIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5ldyAlcyBsaW1pdCBmb3IgcGlkICVkOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICJOZXVzcGW5bm8gemFwaXNvdmFuamUgcmF6ZGVsa2EgbmEgJXNcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICJOZXVzcGW5bm8gemFwaXNvdmFuamUgcmF6ZGVsa2EgbmEgJXNcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo0NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBsaW1pdCIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NTg1Cittc2dpZCAib3B0aW9uIC0tcGlkIG1heSBiZSBzcGVjaWZpZWQgb25seSBvbmNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NjE2CisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbnMgLS1waWQgYW5kIENPTU1BTkQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiJXM6IC0tYWRqdXN0IGluIC0tbm9hZGpmaWxlIGl6YmlyaSBzZSBtZWRzZWJvam5vIGl6a2xqdeh1amV0YS4gUG9kYWxpIHN0ZSBvYmUuXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNworbXNnaWQgIkRpc3BsYXkga2VybmVsIHByb2ZpbGluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1tLCAtLW1hcGZpbGUgPG1hcGZpbGU+ICAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJXNcIilcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgUHJ2aSAgICAgICAgWmFkbmppXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICIgLXAsIC0tcHJvZmlsZSA8cHJvLWZpbGU+ICAoZGVmYXVsdDogIFwiJXNcIilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTYKK21zZ2lkICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNworIywgZnV6enkKK21zZ2lkICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBwcmludCB2ZXJib3NlIGRhdGFcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTkKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMAorbXNnaWQgIiAtYiwgLS1oaXN0YmluICAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgaGlzdG9ncmFtLWJpbiBjb3VudHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjEKK21zZ2lkICIgLXMsIC0tY291bnRlcnMgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGNvdW50ZXJzIHdpdGhpbiBmdW5jdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorbXNnc3RyICIgIC1ULiAtLXRlc3QgICAgICAgICAgICAgICAgICAgVGVzdCB6YSByYXpsaehpY28gZ2V0b3B0KDEpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMworbXNnaWQgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3Igd3JpdGluZyAlcyIKK21zZ3N0ciAibmFwYWthIHByaSBwaXNhbmp1ICVzOiAlcyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjcxCittc2dpZCAiQXNzdW1pbmcgcmV2ZXJzZWQgYnl0ZSBvcmRlci4gVXNlIC1uIHRvIGZvcmNlIG5hdGl2ZSBieXRlIG9yZGVyLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNhbXBsaW5nX3N0ZXA6ICV1XG4iCittc2dzdHIgIlZ6b3Lobmlfa29yYWs6ICVpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMwMiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzKCVpKTogd3JvbmcgbWFwIGxpbmUiCittc2dzdHIgIiVzOiAlcyglaSk6IG5hcGHobmEgcHJlc2xpa292YWxuYShtYXApIHZyc3RpY2FcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIFwiX3N0ZXh0XCIgaW4gJXMiCittc2dzdHIgIiVzOiBcIl9zdGV4dFwiIG5pIG1vZ2/oZSBuYWp0aSB2ICVzXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjM0NgorIywgZnV6enkKK21zZ2lkICJwcm9maWxlIGFkZHJlc3Mgb3V0IG9mIHJhbmdlLiBXcm9uZyBtYXAgZmlsZT8iCittc2dzdHIgIiVzOiBwcm9maWwgbmFzbG92YSBqZSBpenZlbiBkb21ldGEuIE5hcGHobmEgcHJlc2xpay4obWFwKSBkYXQuP1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzo0MDQKK21zZ2lkICJ0b3RhbCIKK21zZ3N0ciAic2t1cG5vIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTIKK21zZ2lkICJwcm9jZXNzIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MworbXNnaWQgInByb2Nlc3MgZ3JvdXAgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gWy1wfC0tcGlkXSA8cGlkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLWd8LS1wZ3JwIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLXV8LS11c2VyIDx1c2VyPi4uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2NworbXNnaWQgIkFsdGVyIHRoZSBwcmlvcml0eSBvZiBydW5uaW5nIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXByaW9yaXR5IDxudW0+ICAgc3BlY2lmeSB0aGUgbmljZSBpbmNyZW1lbnQgdmFsdWVcbiIKK21zZ3N0ciAiVm5lc2l0ZSC5dGV2aWxvIHN0ZXo6ICIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcxCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcyCittc2dpZCAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzMKK21zZ2lkICIgLXUsIC0tdXNlciA8bmFtZT58PGlkPiBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkICglcykgb2xkIHByaW9yaXR5ICVkLCBuZXcgcHJpb3JpdHkgJWRcbiIKK21zZ3N0ciAiJWQ6IHN0YXJhIHByaW9yaXRldGEgJWQsIG5vdmEgcHJpb3JpdGV0YSAlZFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHVzZXIgJXMiCittc2dzdHIgIiVzOiBOZXpuYW4gdWthejogJXNcbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyBvbmUgb2YgdGhlIGFib3ZlCisjLiAqIHRocmVlIElEIG5hbWVzLiBSZWFkOiAiYmFkIHZhbHVlIGZvciAlczogJXMiCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgJXMgdmFsdWU6ICVzIgorbXNnc3RyICJuZXByYXZpbG5hIHZyZWRub3N0IHphIHByZWtvcmHoaXRldiDoYXNhOiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo5OAorbXNnaWQgIkVudGVyIGEgc3lzdGVtIHNsZWVwIHN0YXRlIHVudGlsIGEgc3BlY2lmaWVkIHdha2V1cCB0aW1lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgcmVhZHMgdGhlIGNsb2NrIG1vZGUgZnJvbSBhZGp1c3QgZmlsZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDUKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZXN0YW1wPiAgIGRhdGUgdGltZSBvZiB0aW1lc3RhbXAgdG8gd2FrZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA2Cittc2dpZCAiIC1kLCAtLWRldmljZSA8ZGV2aWNlPiAgICBzZWxlY3QgcnRjIGRldmljZSAocnRjMHxydGMxfC4uLilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNworbXNnaWQgIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgZG9lcyBldmVyeXRoaW5nLCBidXQgc3VzcGVuZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA4CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIHVzZXMgbG9jYWwgdGltZXpvbmVcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOQorbXNnaWQgIiAgICAgLS1saXN0LW1vZGVzICAgICAgICAgbGlzdCBhdmFpbGFibGUgbW9kZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMAorbXNnaWQgIiAtbSwgLS1tb2RlIDxtb2RlPiAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMQorbXNnaWQgIiAtcywgLS1zZWNvbmRzIDxzZWNvbmRzPiAgc2Vjb25kcyB0byBzbGVlcFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEyCittc2dpZCAiIC10LCAtLXRpbWUgPHRpbWVfdD4gICAgICB0aW1lIHRvIHdha2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMworIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2VzIFVUQ1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE0CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTY3CisjLCBmdXp6eQorbXNnaWQgInJlYWQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICJrbGljIGdldHRpbWVvZmRheSBuaSB1c3BlbCIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBzeXN0ZW0gdGltZSBmYWlsZWQiCittc2dzdHIgImRvZGVsamVuaSBzZW1hZm9yamkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE4OQorIywgZnV6enkKK21zZ2lkICJjb252ZXJ0IHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiIgorIlxuIgorIk5hcGFrYSBwcmkgemFwaXJhbmp1IGRhdG90ZWtlXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MjM3Cittc2dpZCAic2V0IHJ0YyB3YWtlIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHRoaXJkIGxpbmUgaW46ICVzOiAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMyMCBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyNAorIywgZnV6enkKK21zZ2lkICJyZWFkIHJ0YyBhbGFybSBmYWlsZWQiCittc2dzdHIgImRvZGVsamVuaSBzZW1hZm9yamkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb2ZmXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMzgKKyMsIGZ1enp5Cittc2dpZCAiY29udmVydCB0aW1lIGZhaWxlZCIKK21zZ3N0ciAia2xpYyBnZXR0aW1lb2ZkYXkgbmkgdXNwZWwiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvbiAgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkOiAlcyIKK21zZ3N0ciAiTmkgbW9nb+hlIG9kcHJldGkgJXNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdXNwZW5kIHN0YXRlICclcyciCittc2dzdHIgIiAlczogbmVwcmVwb3puYW4gdGlwIHRhYmVsZSByYXpkZWxrb3YiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDc1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc2Vjb25kcyBhcmd1bWVudCIKK21zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0NzkKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lIGFyZ3VtZW50IgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYXNzdW1pbmcgUlRDIHVzZXMgVVRDIC4uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTExCisjLCBmdXp6eQorbXNnaWQgIlVzaW5nIFVUQyB0aW1lLlxuIgorbXNnc3RyICJVcG9yYWJsamFtICVzLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxMgorIywgZnV6enkKK21zZ2lkICJVc2luZyBsb2NhbCB0aW1lLlxuIgorbXNnc3RyICJVcG9yYWJsamFtICVzLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxNQorbXNnaWQgIm11c3QgcHJvdmlkZSB3YWtlIHRpbWUgKHNlZSAtLXNlY29uZHMsIC0tdGltZSBhbmQgLS1kYXRlIG9wdGlvbnMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgZW5hYmxlZCBmb3Igd2FrZXVwIGV2ZW50cyIKK21zZ3N0ciAiJXM6ICVzIG5pIGxwIG5hcHJhdmEuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTI4CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtICVsZCwgc3lzX3RpbWUgJWxkLCBydGNfdGltZSAlbGQsIHNlY29uZHMgJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzNQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGRvZXNuJ3QgZ28gYmFja3dhcmQgdG8gJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIlNwb3Jv6GlsbyBpeiAlc0AlcyBuYSAlcyBwcmkgJXMgLi4uIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCBmcm9tIFwiJXNcIiB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiU3Bvcm/oaWxvIGl6ICVzQCVzIG5hICVzIHByaSAlcyAuLi4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTU5CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogbm87IGxlYXZpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9mZjsgZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvbjsgcmVhZGluZyBydGNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU5MgorIywgZnV6enkKK21zZ2lkICJydGMgcmVhZCBmYWlsZWQiCittc2dzdHIgIihOYXNsZWRuamEgZGF0b3Rla2E6ICVzKSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBkaXNhYmxlOyBkaXNhYmxpbmcgYWxhcm1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYxNQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6ICVzOyBzdXNwZW5kaW5nIHN5c3RlbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjI5Cittc2dpZCAiZGlzYWJsZSBydGMgYWxhcm0gaW50ZXJydXB0IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlN3aXRjaGluZyBvbiAlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGFyY2g+IFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAidXBvcmFiYTogJXMgcHJvZ3JhbSBbaXpiaXJhIC4uLl1cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAidXBvcmFiYTogJXMgcHJvZ3JhbSBbaXpiaXJhIC4uLl1cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5NgorbXNnaWQgIkNoYW5nZSB0aGUgcmVwb3J0ZWQgYXJjaGl0ZWN0dXJlIGFuZCBzZXQgcGVyc29uYWxpdHkgZmxhZ3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5OQorbXNnaWQgIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgdHVybnMgb24gQUREUl9MSU1JVF8zMkJJVFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAwCittc2dpZCAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAxCittc2dpZCAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICB0dXJucyBvbiBTSE9SVF9JTk9ERVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAyCittc2dpZCAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCBjaGFuZ2VzIHRoZSB3YXkgdmlydHVhbCBtZW1vcnkgaXMgYWxsb2NhdGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDMKK21zZ2lkICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIGRpc2FibGVzIHJhbmRvbWl6YXRpb24gb2YgdGhlIHZpcnR1YWwgYWRkcmVzcyBzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA0Cittc2dpZCAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICB0dXJucyBvbiBXSE9MRV9TRUNPTkRTXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDUKK21zZ2lkICIgLVQsIC0tc3RpY2t5LXRpbWVvdXRzICAgIHR1cm5zIG9uIFNUSUNLWV9USU1FT1VUU1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA2Cittc2dpZCAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICB0dXJucyBvbiBSRUFEX0lNUExJRVNfRVhFQ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA3Cittc2dpZCAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICB0dXJucyBvbiBNTUFQX1BBR0VfWkVST1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA4Cittc2dpZCAiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBsaW1pdHMgdGhlIHVzZWQgYWRkcmVzcyBzcGFjZSB0byBhIG1heGltdW0gb2YgMyBHQlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA5Cittc2dpZCAiICAgICAtLTRnYiAgICAgICAgICAgICAgICBpZ25vcmVkIChmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBvbmx5KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTEwCittc2dpZCAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICB0dXJucyBvbiBVTkFNRTI2XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBzYXkgd2hhdCBvcHRpb25zIGFyZSBiZWluZyBzd2l0Y2hlZCBvblxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTE0CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1saXN0ICAgICAgICAgICAgICAgbGlzdCBzZXR0YWJsZSBhcmNoaXRlY3R1cmVzLCBhbmQgZXhpdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlc1xuIgorIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCittc2dzdHIgIlBvc2t1c2l0ZSBgZ2V0b3B0IC0taGVscCcgemEgdmXoIGluZm9ybWFjaWouXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorbXNnc3RyICJQb3NrdXNpdGUgYGdldG9wdCAtLWhlbHAnIHphIHZl6CBpbmZvcm1hY2lqLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IFVucmVjb2duaXplZCBhcmNoaXRlY3R1cmUiCittc2dzdHIgIiAlczogbmVwcmVwb3puYW4gdGlwIHRhYmVsZSByYXpkZWxrb3YiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgY2Fubm90IHNldCBhcmNoaXRlY3R1cmUgdG8gJXMiCittc2dzdHIgIk9kbW9yYSB6YSAlcyBuaSBtb2dv6GUgZG9iaXRpOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjMwNQorIywgZnV6enkKK21zZ2lkICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAiUHJldmXoIGFyZ3VtZW50b3YuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICJOZXVzcGW5bm8gemFwaXNvdmFuamUgcmF6ZGVsa2EgbmEgJXNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNzkKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnLS1saXN0JyIKK21zZ3N0ciAibmVwcmVwb3puYW4gdmhvZDogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozODcKKyMsIGZ1enp5Cittc2dpZCAibm8gYXJjaGl0ZWN0dXJlIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAiUHJldmXoIGFyZ3VtZW50b3YuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICJOZXVzcGW5bm8gemFwaXNvdmFuamUgcmF6ZGVsa2EgbmEgJXNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGUgY29tbWFuZCBgJXMnLlxuIgorbXNnc3RyICJJenZhamFtbyB1a2F6IGRhdGU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggZGlmZmVyZW50IHByaXZpbGVnZSBzZXR0aW5ncy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMAorbXNnaWQgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgc2hvdyBjdXJyZW50IHN0YXRlIChhbmQgZG8gbm90IGV4ZWMgYW55dGhpbmcpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDEKK21zZ2lkICIgLS1ubnAsIC0tbm8tbmV3LXByaXZzICAgIGRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDIKK21zZ2lkICIgLS1pbmgtY2FwcyA8Y2FwcywuLi4+ICAgIHNldCBpbmhlcml0YWJsZSBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMworbXNnaWQgIiAtLWJvdW5kaW5nLXNldCA8Y2Fwcz4gICAgc2V0IGNhcGFiaWxpdHkgYm91bmRpbmcgc2V0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAiIC0tcnVpZCA8dWlkPiAgICAgICAgICAgICBzZXQgcmVhbCB1aWRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDUKK21zZ2lkICIgLS1ldWlkIDx1aWQ+ICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDYKK21zZ2lkICIgLS1yZ2lkIDxnaWQ+ICAgICAgICAgICAgIHNldCByZWFsIGdpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA3Cittc2dpZCAiIC0tZWdpZCA8Z2lkPiAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA4Cittc2dpZCAiIC0tcmV1aWQgPHVpZD4gICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA5Cittc2dpZCAiIC0tcmVnaWQgPGdpZD4gICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEwCittc2dpZCAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICBjbGVhciBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTExCittc2dpZCAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICBrZWVwIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTIKK21zZ2lkICIgLS1ncm91cHMgPGdyb3VwLC4uLj4gICAgIHNldCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEzCittc2dpZCAiIC0tc2VjdXJlYml0cyA8Yml0cz4gICAgICBzZXQgc2VjdXJlYml0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE0Cittc2dpZCAiIC0tc2VsaW51eC1sYWJlbCA8bGFiZWw+ICBzZXQgU0VMaW51eCBsYWJlbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE1Cittc2dpZCAiIC0tYXBwYXJtb3ItcHJvZmlsZSA8cHI+ICBzZXQgQXBwQXJtb3IgcHJvZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIxCittc2dpZCAiIFRoaXMgdG9vbCBjYW4gYmUgZGFuZ2Vyb3VzLiAgUmVhZCB0aGUgbWFucGFnZSwgYW5kIGJlIGNhcmVmdWwuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxOTMgc3lzLXV0aWxzL3NldHByaXYuYzo0NjcKK21zZ2lkICJnZXR0aW5nIHByb2Nlc3Mgc2VjdXJlIGJpdHMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3VyZWJpdHM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdXG4iCittc2dzdHIgIkJyZXoiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIGxvbmciCittc2dzdHIgIlZyc3RpY2EgamUgcHJlZG9sZ2EiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNzMgc3lzLXV0aWxzL3NldHByaXYuYzozMjEgc3lzLXV0aWxzL3NldHByaXYuYzozMjYKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzMyIHN5cy11dGlscy9zZXRwcml2LmM6MzM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV0iCittc2dzdHIgIkJyZXoiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgInVpZDogJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICJldWlkOiAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1aWQ6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTkgc3lzLXV0aWxzL3NldHByaXYuYzozOTEKKyMsIGZ1enp5Cittc2dpZCAiZ2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAia2xpYyBzZXR1aWQoKSBuaSB1c3BlbCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMDggc3lzLXV0aWxzL3NldHByaXYuYzo0MDYKKyMsIGZ1enp5Cittc2dpZCAiZ2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAia2xpYyBzZXR1aWQoKSBuaSB1c3BlbCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRWZmZWN0aXZlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBlcm1pdHRlZCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzMAorIywgYy1mb3JtYXQKK21zZ2lkICJJbmhlcml0YWJsZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzNQorIywgYy1mb3JtYXQKK21zZ2lkICJDYXBhYmlsaXR5IGJvdW5kaW5nIHNldDogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQzCisjLCBmdXp6eQorbXNnaWQgIlNFTGludXggbGFiZWwiCittc2dzdHIgIkxpbnV4IHBsYWludGV4dCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDYKK21zZ2lkICJBcHBBcm1vciBwcm9maWxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzU5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhcCAlZDogbGliY2FwLW5nIGlzIGJyb2tlbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4MgorbXNnaWQgIkludmFsaWQgc3VwcGxlbWVudGFyeSBncm91cCBpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5OQorIywgZnV6enkKK21zZ2lkICJzZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJrbGljIHNldHVpZCgpIG5pIHVzcGVsIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQxNAorIywgZnV6enkKK21zZ2lkICJzZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJrbGljIHNldHVpZCgpIG5pIHVzcGVsIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQzNQorbXNnaWQgImJhZCBjYXBhYmlsaXR5IHN0cmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ0MworbXNnaWQgImxpYmNhcC1uZyBpcyB0b28gb2xkIGZvciBcImFsbFwiIGNhcHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY2FwYWJpbGl0eSBcIiVzXCIiCittc2dzdHIgIkltZW5payAlcyBuZSBvYnN0YWphIVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ3NgorIywgZnV6enkKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IHNldCAtLSByZWZ1c2luZyB0byBhZGp1c3QiCittc2dzdHIgIm5lcmF6cG96bmF2bmEgb2JsaWthIC0gdXBvcmFibGphbSBzZWt0b3JqZVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ4MAorbXNnaWQgImJhZCBzZWN1cmViaXRzIHN0cmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ4NworIywgZnV6enkKK21zZ2lkICIrYWxsIHNlY3VyZWJpdHMgaXMgbm90IGFsbG93ZWQiCittc2dzdHIgIiclYycgbmkgZG92b2xqZW5vLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUwMAorbXNnaWQgImFkanVzdGluZyBrZWVwX2NhcHMgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUwNAorIywgZnV6enkKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IgorbXNnc3RyICJuZXByZXBvem5hbiB2aG9kOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUyNAorbXNnaWQgIlNFTGludXggaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNsb3NlIGZhaWxlZDogJXMiCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTQ3Cittc2dpZCAiQXBwQXJtb3IgaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NTgKK21zZ2lkICJkdXBsaWNhdGUgLS1uby1uZXctcHJpdnMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjYzCittc2dpZCAiZHVwbGljYXRlIHJ1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NjUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJ1aWQiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY2OQorbXNnaWQgImR1cGxpY2F0ZSBldWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjcxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBldWlkIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzUKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCBvciBldWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njc3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZXVpZCIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjgxCittc2dpZCAiZHVwbGljYXRlIHJnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJnaWQiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4NworbXNnaWQgImR1cGxpY2F0ZSBlZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njg5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlZ2lkIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2OTMKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCBvciBlZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njk1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZWdpZCIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzAwCittc2dpZCAiZHVwbGljYXRlIC0tY2xlYXItZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcwNgorbXNnaWQgImR1cGxpY2F0ZSAtLWtlZXAtZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcxMgorbXNnaWQgImR1cGxpY2F0ZSAtLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MjEKK21zZ2lkICJkdXBsaWNhdGUgLS1pbmgtY2FwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MjcKK21zZ2lkICJkdXBsaWNhdGUgLS1ib3VuZGluZy1zZXQgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzMzCittc2dpZCAiZHVwbGljYXRlIC0tc2VjdXJlYml0cyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MzkKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWxpbnV4LWxhYmVsIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc0NQorbXNnaWQgImR1cGxpY2F0ZSAtLWFwcGFybW9yLXByb2ZpbGUgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICclYyciCittc2dzdHIgIm5lcHJlcG96bmFuIHZob2Q6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzYzCittc2dpZCAiLS1kdW1wIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzcxCittc2dpZCAiLS1saXN0LWNhcHMgbXVzdCBiZSBzcGVjaWZpZWQgYWxvbmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzcKKyMsIGZ1enp5Cittc2dpZCAiTm8gcHJvZ3JhbSBzcGVjaWZpZWQiCittc2dzdHIgIkl6YmlyYSAtLWRhdGUgbmkgYmlsYSBwb2RhbmEuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgyCittc2dpZCAiLS1bcmVdZ2lkIHJlcXVpcmVzIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCBvciAtLWdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4NQorbXNnaWQgImRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MworbXNnaWQgImtlZXAgcHJvY2VzcyBjYXBhYmlsaXRpZXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODAxCittc2dpZCAiYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA3Cittc2dpZCAicmVhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjMKKyMsIGZ1enp5Cittc2dpZCAic2V0IHByb2Nlc3Mgc2VjdXJlYml0cyBmYWlsZWQiCittc2dzdHIgImtsaWMgc2V0dWlkKCkgbmkgdXNwZWwiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODI5Cittc2dpZCAiYXBwbHkgYm91bmRpbmcgc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODM1Cittc2dpZCAiYXBwbHkgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZXhlY3V0ZTogJXMiCittc2dzdHIgInN0YW5qYSBuYXByYXZlICVzIG5pIG1vZ2/oZSBkb2JpdGkiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3VtZW50cyAuLi5dXG4iCittc2dzdHIgInVwb3JhYmE6ICVzIHByb2dyYW0gW2l6YmlyYSAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozNgorbXNnaWQgIlJ1biBhIHByb2dyYW0gaW4gYSBuZXcgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzkKK21zZ2lkICIgLWMsIC0tY3R0eSAgICAgc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCB0byB0aGUgY3VycmVudCBvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDAKK21zZ2lkICIgLXcsIC0td2FpdCAgICAgd2FpdCBwcm9ncmFtIHRvIGV4aXQsIGFuZCB1c2UgdGhlIHNhbWUgcmV0dXJuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjkzCisjLCBmdXp6eQorbXNnaWQgImZvcmsiCittc2dzdHIgInZlaml0ZXY6ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaGlsZCAlZCBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgIm1vdW50OiBwcmlrbG9wbmEgdG/oa2EgJXMgbmUgb2JzdGFqYSIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExMAorIywgZnV6enkKK21zZ2lkICJzZXRzaWQgZmFpbGVkIgorbXNnc3RyICJrbGljIHNldHVpZCgpIG5pIHVzcGVsIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIgorbXNnc3RyICJOZXVzcGW5bm8gemFwaXNvdmFuamUgcmF6ZGVsa2EgbmEgJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3dhcG9mZiAlc1xuIgorbXNnc3RyICIlcyBuYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNQorIywgZnV6enkKK21zZ2lkICJOb3Qgc3VwZXJ1c2VyLiIKK21zZ3N0ciAiTmlzdGUgc2lzdGVtc2tpIHNrcmJuaWsuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9mZiBmYWlsZWQiCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTIyIHN5cy11dGlscy9zd2Fwb24uYzo3ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxzcGVjPl1cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjUKK21zZ2lkICJEaXNhYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI4Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIHN3YXBzIGZyb20gL3Byb2Mvc3dhcHNcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEzNQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIGZpbGUgb3IgcGFydGl0aW9uIHBhdGgiCittc2dzdHIgIiAgIGQgICB6YnJpuWkgcmF6ZGVsZWsiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NAorIywgZnV6enkKK21zZ2lkICJ0eXBlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgInN0YXQgaW1lbmlrYSBuaSB1c3BlbFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTUKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBvZiB0aGUgc3dhcCBhcmVhIgorbXNnc3RyICJzdGF0IGltZW5pa2EgbmkgdXNwZWxcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk2CisjLCBmdXp6eQorbXNnaWQgImJ5dGVzIGluIHVzZSIKK21zZ3N0ciAiT3puYehpLCBkYSBqZSB2IHJhYmkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NworIywgZnV6enkKK21zZ2lkICJzd2FwIHByaW9yaXR5IgorbXNnc3RyICJuYXN0YXZpcHJpb3JpdGV0byIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk4Cittc2dpZCAic3dhcCB1dWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OQorIywgZnV6enkKK21zZ2lkICJzd2FwIGxhYmVsIgorbXNnc3RyICJuaSBvem5ha2UiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNcdFx0XHRcdFR5cGVcdFx0U2l6ZVx0VXNlZFx0UHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ2Cittc2dpZCAiRmlsZW5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVpbml0aWFsaXppbmcgdGhlIHN3YXAuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsc2VlayBmYWlsZWQiCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBzaWduYXR1cmUgZmFpbGVkIgorbXNnc3RyICJPZHBpcmFuamUgJXMgbmkgdXNwZWxvIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgLSBpdCBhcHBlYXJzIHRvIGhhdmUgaG9sZXMuIgorbXNnc3RyICIlczogZGF0LiAlcyBuZSBibyB1cG+5dGV2YW5hIHphcmFkaSBsdWtlbmouXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXQgc2l6ZSBmYWlsZWQiCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgc3dhcCBoZWFkZXIgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZvdW5kIHNpZ25hdHVyZSBbcGFnZXNpemU9JWQsIHNpZ25hdHVyZT0lc10iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFnZXNpemU9JWQsIHN3YXBzaXplPSVsbHUsIGRldnNpemU9JWxsdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsYXN0X3BhZ2UgMHglMDhsbHggaXMgbGFyZ2VyIHRoYW4gYWN0dWFsIHNpemUgb2Ygc3dhcHNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4gKFVzZSAtLWZpeHBnc3ogdG8gcmVpbml0aWFsaXplIGl0LikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc29mdHdhcmUgc3VzcGVuZCBkYXRhIGRldGVjdGVkLiBSZXdyaXRpbmcgdGhlIHN3YXAgc2lnbmF0dXJlLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb24gJXNcbiIKK21zZ3N0ciAiJXMgbmEgJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvbiBmYWlsZWQiCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub2F1dG8gb3B0aW9uIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiBuZXpuYW5hIG1vvm5vc3QgXCItJWNcIlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBhY3RpdmUgLS0gaWdub3JlZCIKK21zZ3N0ciAibmFwYWthIHByaSBpc2thbmp1IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaW5hY2Nlc3NpYmxlIC0tIGlnbm9yZWQiCittc2dzdHIgInphcGlzIGlub2RvdiBuaSB1c3BlbCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5MQorbXNnaWQgIkVuYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk0CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgZW5hYmxlIGFsbCBzd2FwcyBmcm9tIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk1Cittc2dpZCAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTYKK21zZ2lkICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHNpbGVudGx5IHNraXAgZGV2aWNlcyB0aGF0IGRvIG5vdCBleGlzdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTcKK21zZ2lkICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHJlaW5pdGlhbGl6ZSB0aGUgc3dhcCBzcGFjZSBpZiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk4Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBzd2FwIG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk5Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBzcGVjaWZ5IHRoZSBwcmlvcml0eSBvZiB0aGUgc3dhcCBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAwCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgZGlzcGxheSBzdW1tYXJ5IGFib3V0IHVzZWQgc3dhcCBkZXZpY2VzIChERVBSRUNBVEVEKVxuIgorbXNnc3RyICIgICAgLWwgW2FsaSAtLWxpc3RdOiAgICAgaXpwablpIHJhemRlbGtlIHphIHZzYWtvIG5hcHJhdm8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDEKK21zZ2lkICIgICAgIC0tc2hvd1s9PGNvbHVtbnM+XSAgIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgdGFibGUgaGVhZGluZyAod2l0aCAtLXNob3cpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAzCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCAod2l0aCAtLXNob3cpXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIGRpc3BsYXkgc3dhcCBzaXplIGluIGJ5dGVzIGluIC0tc2hvdyBvdXRwdXRcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODIxCittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBkaXNjYXJkIHBvbGljeSB0eXBlcyAoZm9yIC0tZGlzY2FyZCk6XG4iCisiIG9uY2UgICAgOiBvbmx5IHNpbmdsZS10aW1lIGFyZWEgZGlzY2FyZHMgYXJlIGlzc3VlZFxuIgorIiBwYWdlcyAgIDogZnJlZWQgcGFnZXMgYXJlIGRpc2NhcmRlZCBiZWZvcmUgdGhleSBhcmUgcmV1c2VkXG4iCisiSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCBib3RoIGRpc2NhcmQgdHlwZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQpLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MjYKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93KTpcbiIKK21zZ3N0ciAiUmF6cG9sb75saml2aSB1a2F6aTpcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkwNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcHJpb3JpdHkiCittc2dzdHIgIk5ldXNwZblubyB6YXBpc292YW5qZSByYXpkZWxrYSBuYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIiVzOiBuZXpuYW4gYXJndW1lbnQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHRoZSBkZXZpY2UgZm9yICVzIgorbXNnc3RyICIlczogemEgJXMgbmkgbW9nb+hlIG5hanRpIG5hcHJhdmVcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NTkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGlyZWN0b3J5IgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjcKKyMsIGZ1enp5Cittc2dpZCAic3RhdCBmYWlsZWQiCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjc4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIGRpcmVjdG9yeSIKK21zZ3N0ciAia29yZW5za2kgaW5vZCBuaSBpbWVuaWsiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjExMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVubGluayAlcyIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAlcyIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZm9yY2luZyB1bm1vdW50IG9mICVzIgorbXNnc3RyICIlcyBwb3NrdblhbSBvZGtsb3BpdGlcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAibmFtZWk6IHRyZW51dG5lZ2EgaW1lbmlrYSBuaSBtb2dv6GUgZG9iaXRpIC0gJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvIC8iCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNzUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IgorbXNnc3RyICJOZXVzcGW5bm8gemFwaXNvdmFuamUgcmF6ZGVsa2EgbmEgJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTg4Cittc2dpZCAib2xkIHJvb3QgZmlsZXN5c3RlbSBpcyBub3QgYW4gaW5pdHJhbWZzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bmV3cm9vdGRpcj4gPGluaXQ+IDxhcmdzIHRvIGluaXQ+XG4iCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwNAorbXNnaWQgIlN3aXRjaCB0byBhbm90aGVyIGZpbGVzeXN0ZW0gYXMgdGhlIHJvb3Qgb2YgdGhlIG1vdW50IHRyZWUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjM2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZC4gU29ycnkuIgorbXNnc3RyICJpc2thbmplIGplIGJpbG8gbmV1c3BluW5vIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBhY2Nlc3MgJXMiCittc2dzdHIgIkRhdG90ZWtlICwlc2AgbmkgbW9nb+hlIG9kcHJldGkiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5NAorbXNnaWQgIlNldCB2YXJpb3VzIHBhcmFtZXRlcnMgZm9yIHRoZSBsaW5lIHByaW50ZXIuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk3Cittc2dpZCAiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAgc3BlY2lmeSBwYXJhbGxlbCBwb3J0IGlycVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5OAorbXNnaWQgIiAtdCwgLS10aW1lIDxtcz4gICAgICAgICAgICAgIGRyaXZlciB3YWl0IHRpbWUgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk5Cittc2dpZCAiIC1jLCAtLWNoYXJzIDxudW0+ICAgICAgICAgICAgbnVtYmVyIG9mIG91dHB1dCBjaGFyYWN0ZXJzIGJlZm9yZSBzbGVlcFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDAKK21zZ2lkICIgLXcsIC0td2FpdCA8dXM+ICAgICAgICAgICAgICBzdHJvYmUgd2FpdCBpbiBtaWNybyBzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgPG9ufG9mZj4gYXJndW1lbnRzLiBUaGUKKyMuIGFyZ3VtZW50IHJlYWRlciBkb2VzIG5vdCByZWNvZ25pemUgbG9jYWxlLCB1bmxlc3MgYG9uJyBpcworIy4gZXhhY3RseSB0aGF0IHZlcnkgc2FtZSBzdHJpbmcuCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA0Cittc2dpZCAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAgYWJvcnQgb24gZXJyb3JcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA1Cittc2dpZCAiIC1vLCAtLWNoZWNrLXN0YXR1cyA8b258b2ZmPiAgY2hlY2sgcHJpbnRlciBzdGF0dXMgYmVmb3JlIHByaW50aW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNgorbXNnaWQgIiAtQywgLS1jYXJlZnVsIDxvbnxvZmY+ICAgICAgIGV4dHJhIGNoZWNraW5nIHRvIHN0YXR1cyBjaGVja1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAgcXVlcnkgcHJpbnRlciBzdGF0dXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDgKK21zZ2lkICIgLVQsIC0tdHJ1c3QtaXJxIDxvbnxvZmY+ICAgICBtYWtlIGRyaXZlciB0byB0cnVzdCBpcnFcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA5CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIHJlc2V0IHRoZSBwb3J0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEwCittc2dpZCAiIC1xLCAtLXByaW50LWlycSA8b258b2ZmPiAgICAgZGlzcGxheSBjdXJyZW50IGlycSBzZXR0aW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGFuIGxwIGRldmljZSIKK21zZ3N0ciAiJXM6ICVzIG5pIGxwIG5hcHJhdmEuXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODAKKyMsIGZ1enp5Cittc2dpZCAiTFBHRVRTVEFUVVMgZXJyb3IiCittc2dzdHIgIm5hcGFrYSBwcmkgTFBHRVRJUlEiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3RhdHVzIGlzICVkIgorbXNnc3RyICIlcyBzdGFuamUgamUgJWQiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBidXN5IgorbXNnc3RyICIsIHphcG9zbGVuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgcmVhZHkiCittc2dzdHIgIiwgcHJpcHJhdmxqZW4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvdXQgb2YgcGFwZXIiCittc2dzdHIgIiwgcGFwaXJqYSBqZSB6bWFuamthbG8iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvbi1saW5lIgorbXNnc3RyICIsIHBvdmV6YW5vIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZXJyb3IiCittc2dzdHIgIiwgbmFwYWthIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzAwCisjLCBmdXp6eQorbXNnaWQgImlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiZnN5bmMgbmkgdXNwZWwiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTAKK21zZ2lkICJMUEdFVElSUSBlcnJvciIKK21zZ3N0ciAibmFwYWthIHByaSBMUEdFVElSUSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBJUlEgJWRcbiIKK21zZ3N0ciAiJXMgdXBvcmFibGphIElSUSAlZFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIHBvbGxpbmdcbiIKK21zZ3N0ciAiJXMgdXBvcmFibGphIGdsYXNvdmFuamVcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiB8IDxkaXJlY3Rvcnk+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjgxCisjLCBmdXp6eQorbXNnaWQgIlVubW91bnQgZmlsZXN5c3RlbXMuXG4iCittc2dzdHIgIlZuZXNpdGUgdnJzdG8gZGF0b3Rl6G5lZ2Egc2lzdGVtYTogIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODQKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHVubW91bnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg1Cittc2dpZCAiIgorIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICB1bm1vdW50IGFsbCBtb3VudHBvaW50cyBmb3IgdGhlIGdpdmVuIGRldmljZSBpbiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NworbXNnaWQgIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODgKK21zZ2lkICIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAgaWYgbW91bnRlZCBsb29wIGRldmljZSwgYWxzbyBmcmVlIHRoaXMgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODkKK21zZ2lkICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgdW1vdW50KDIpIHN5c2NhbGxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTAKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgZm9yY2UgdW5tb3VudCAoaW4gY2FzZSBvZiBhbiB1bnJlYWNoYWJsZSBORlMgc3lzdGVtKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MQorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSB1bW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGRldGFjaCB0aGUgZmlsZXN5c3RlbSBub3csIGNsZWFuIHVwIHRoaW5ncyBsYXRlclxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTQKK21zZ2lkICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk1Cittc2dpZCAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IHVubW91bnQgYSB0YXJnZXQgd2l0aCBhbGwgaXRzIGNoaWxkcmVuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk2CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBpbiBjYXNlIHVubW91bnRpbmcgZmFpbHMsIHRyeSB0byByZW1vdW50IHJlYWQtb25seVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk3CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiICAgbCAgIGl6cGm5aSB6bmFuZSBkYXRvdGXobmUgc2lzdGVtZSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzKSB1bm1vdW50ZWQiCittc2dzdHIgIiVzIGplIHByaWtsb3BsamVuLlx0ICIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5tb3VudGVkIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBuZXVzcGW5bm8gaXNrYW5qZSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVtb3VudCBmYWlsZWQiCittc2dzdHIgInByaWtsb3AgbmkgdXNwZWwiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCittc2dzdHIgIm1vdW50OiBwcmlrbG9wIG5pIHVzcGVsIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgInVtb3VudDogJXM6IG5ldmVsamF2bmEgYmxv6G5hIG5hcHJhdmEiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorbXNnc3RyICJtb3VudDogJXM6IHN1cGVyYmxva2EgbmkgbW9nb+hlIHByZWJyYXRpIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlczogdGFyZ2V0IGlzIGJ1c3lcbiIKKyIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0XG4iCisiICAgICAgICAgdXNlIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKS4pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudHBvaW50IG5vdCBmb3VuZCIKK21zZ3N0ciAidW1vdW50OiAlczogbmV1c3BluW5vIGlza2FuamUiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNTAKKyMsIGZ1enp5Cittc2dpZCAidW5kZWZpbmVkIG1vdW50cG9pbnQiCittc2dzdHIgIm1vdW50OiAlcyBuaSBtb2dv6GUgbmFqdGkgdiAlcyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVubW91bnQiCittc2dzdHIgInVtb3VudDogJXM6IHNhbW8gc2lzdGVtc2tpIHNrcmJuaWsgbGFoa28gb2RrbGFwbGphIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYmxvY2sgZGV2aWNlcyBhcmUgbm90IHBlcm1pdHRlZCBvbiBmaWxlc3lzdGVtIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBuYSBkYXQuIHNpc3QuIGJsb+huZSBuYXByYXZlIG5pc28gZG92b2xqZW5lIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzA3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgdW1vdW50IHRhcmdldCIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozMjMKKyMsIGZ1enp5Cittc2dpZCAibGlibW91bnQgdGFibGUgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIm1vdW50OiBwcmlrbG9wIG5pIHVzcGVsIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzY2IHN5cy11dGlscy91bW91bnQuYzo0NDYKKyMsIGZ1enp5Cittc2dpZCAibGlibW91bnQgaXRlcmF0b3IgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIm1vdW50OiBwcmlrbG9wIG5pIHVzcGVsIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGNoaWxkIGZzIG9mICVzIgorbXNnc3RyICJOZXVzcGW5bm8gemFwaXNvdmFuamUgcmF6ZGVsa2EgbmEgJXNcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQxMCBzeXMtdXRpbHMvdW1vdW50LmM6NDMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBuZXVzcGW5bm8gaXNrYW5qZSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQ0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRldGVybWluZSBzb3VyY2UgKC0tYWxsLXRhcmdldHMgaXMgdW5zdXBwb3J0ZWQgb24gc3lzdGVtcyB3aXRoIHJlZ3VsYXIgbXRhYiBmaWxlKS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zZXRncm91cHMgYXJndW1lbnQgJyVzJyIKK21zZ3N0ciAiJXM6IG5lem5hbiBhcmd1bWVudDogJXNcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMTAgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZCAlcyIKK21zZ3N0ciAiKE5hc2xlZG5qYSBkYXRvdGVrYTogJXMpIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJvcGFnYXRpb24gbW9kZTogJXMiCittc2dzdHIgIiVzOiBuZXpuYW4gYXJndW1lbnQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjaGFuZ2Ugcm9vdCBmaWxlc3lzdGVtIHByb3BhZ2F0aW9uIgorbXNnc3RyICJQcmlzaWxuaSBwcmVnbGVkIGRhdG90ZehuZWdhIHNpc3RlbWEgbmEgJXMuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCAlcyIKK21zZ3N0ciAic3RhbmphIG5hcHJhdmUgJXMgbmkgbW9nb+hlIGRvYml0aSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTMKKyMsIGZ1enp5Cittc2dpZCAicGlwZSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgbmkgdXNwZWxcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGlwZSIKK21zZ3N0ciAic3RhbmphICVzIG5pIG1vZ2/oZSBkb2JpdGkiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUwCittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIHNvbWUgbmFtZXNwYWNlcyB1bnNoYXJlZCBmcm9tIHRoZSBwYXJlbnQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTMKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTQKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTUKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTYKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBuZXR3b3JrIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTgKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU5CisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gICAgIHVuc2hhcmUgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYwCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JrICAgICAgICAgICAgICAgIGZvcmsgYmVmb3JlIGxhdW5jaGluZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYxCittc2dpZCAiICAgICAtLW1vdW50LXByb2NbPTxkaXI+XSAgbW91bnQgcHJvYyBmaWxlc3lzdGVtIGZpcnN0IChpbXBsaWVzIC0tbW91bnQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjIKK21zZ2lkICIgLXIsIC0tbWFwLXJvb3QtdXNlciAgICAgICBtYXAgY3VycmVudCB1c2VyIHRvIHJvb3QgKGltcGxpZXMgLS11c2VyKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYzCittc2dpZCAiIgorIiAgICAgLS1wcm9wYWdhdGlvbiBzbGF2ZXxzaGFyZWR8cHJpdmF0ZXx1bmNoYW5nZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZnkgbW91bnQgcHJvcGFnYXRpb24gaW4gbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjUKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNldGdyb3VwcyBhbGxvd3xkZW55ICBjb250cm9sIHRoZSBzZXRncm91cHMgc3lzY2FsbCBpbiB1c2VyIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjM4NgorIywgZnV6enkKK21zZ2lkICJ1bnNoYXJlIGZhaWxlZCIKK21zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzAKKyMsIGZ1enp5Cittc2dpZCAiY2hpbGQgZXhpdCBmYWlsZWQiCittc2dzdHIgImtsaWMgc2V0dWlkKCkgbmkgdXNwZWwiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDM3CisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbnMgLS1zZXRncm91cHM9YWxsb3cgYW5kIC0tbWFwLXJvb3QtdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIlczogLS1hZGp1c3QgaW4gLS1ub2FkamZpbGUgaXpiaXJpIHNlIG1lZHNlYm9qbm8gaXprbGp16HVqZXRhLiBQb2RhbGkgc3RlIG9iZS5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIGZhaWxlZCIKK21zZ3N0ciAicHJpa2xvcCBuaSB1c3BlbCIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzMKK21zZ2lkICJDYXJkIHByZXZpb3VzbHkgcmVzZXQgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NAorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzUKK21zZ2lkICJFeHRlcm5hbCByZWxheSAyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc2CisjLCBmdXp6eQorbXNnaWQgIkZhbiBmYWlsZWQiCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc3Cittc2dpZCAiS2VlcCBhbGl2ZSBwaW5nIHJlcGx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc4Cittc2dpZCAiU3VwcG9ydHMgbWFnaWMgY2xvc2UgY2hhciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OQorbXNnaWQgIlJlc2V0IGR1ZSB0byBDUFUgb3ZlcmhlYXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODAKK21zZ2lkICJQb3dlciBvdmVyIHZvbHRhZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODEKK21zZ2lkICJQb3dlciBiYWQvcG93ZXIgZmF1bHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODIKKyMsIGZ1enp5Cittc2dpZCAiUHJldGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIlByaWphdmEgamUgcG90ZWtsYSBwbyAlZCBzZWt1bmRhaC5cbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAiU2V0IHRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJQcmlqYXZhIGplIHBvdGVrbGEgcG8gJWQgc2VrdW5kYWguXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjg0Cittc2dpZCAiTm90IHRyaWdnZXIgcmVib290IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMAorbXNnaWQgImZsYWcgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiYmxv6G5hIG5hcHJhdmEiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMgorIywgZnV6enkKK21zZ2lkICJmbGFnIHN0YXR1cyIKK21zZ3N0ciAic3RhbmplIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBib290IHN0YXR1cyIKK21zZ3N0ciAic3RhbmphICVzIG5pIG1vZ2/oZSBkb2JpdGkiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwNAorIywgZnV6enkKK21zZ2lkICJ3YXRjaGRvZyBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibW91bnQ6ICVzOiBuZXpuYW5hIG5hcHJhdmEiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmbGFnOiAlcyIKK21zZ3N0ciAiJXM6IG5lem5hbiBhcmd1bWVudDogJXNcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTc3Cittc2dpZCAiU2hvdyB0aGUgc3RhdHVzIG9mIHRoZSBoYXJkd2FyZSB3YXRjaGRvZy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxODAKK21zZ2lkICIiCisiIC1mLCAtLWZsYWdzIDxsaXN0PiAgICAgcHJpbnQgc2VsZWN0ZWQgZmxhZ3Mgb25seVxuIgorIiAtRiwgLS1ub2ZsYWdzICAgICAgICAgIGRvbid0IHByaW50IGluZm9ybWF0aW9uIGFib3V0IGZsYWdzXG4iCisiIC1JLCAtLW5vaWRlbnQgICAgICAgICAgZG9uJ3QgcHJpbnQgd2F0Y2hkb2cgaWRlbnRpdHkgaW5mb3JtYXRpb25cbiIKKyIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLU8sIC0tb25lbGluZSAgICAgICAgICBwcmludCBhbGwgaW5mb3JtYXRpb24gb24gb25lIGxpbmVcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBvdXRwdXQgY29sdW1ucyBvZiB0aGUgZmxhZ3NcbiIKKyIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXQgZm9yIGZsYWdzIHRhYmxlXG4iCisiIC1ULCAtLW5vdGltZW91dHMgICAgICAgZG9uJ3QgcHJpbnQgd2F0Y2hkb2cgdGltZW91dHNcbiIKKyIgLXMsIC0tc2V0dGltZW91dCA8c2VjPiBzZXQgd2F0Y2hkb2cgdGltZW91dFxuIgorIiAteCwgLS1mbGFncy1vbmx5ICAgICAgIHByaW50IG9ubHkgZmxhZ3MgdGFibGUgKHNhbWUgYXMgLUkgLVQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGVmYXVsdCBkZXZpY2UgaXMgJXMuXG4iCittc2dzdHIgImxvb3A6IG5pIG1vZ2/oZSBvZHByZXRpIG5hcHJhdmUgJXM6ICVzXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE5OQorIywgZnV6enkKK21zZ2lkICJBdmFpbGFibGUgY29sdW1uczpcbiIKK21zZ3N0ciAiUmF6cG9sb75saml2aSB1a2F6aTpcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6Mjg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biBmbGFncyAweCV4XG4iCittc2dzdHIgIiVzOiBuZXpuYW4gc2lnbmFsICVzXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMxOSBzeXMtdXRpbHMvd2RjdGwuYzozNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhdGNoZG9nIGFscmVhZHkgaW4gdXNlLCB0ZXJtaW5hdGluZy4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzMzIHN5cy11dGlscy93ZGN0bC5jOjQwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkaXNhcm0gd2F0Y2hkb2ciCittc2dzdHIgIml6bWVuamFsbmUgbmFwcmF2ZSBuaSBtb2dv6GUgcHJldml0aSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRpbWVvdXQgZm9yICVzIgorbXNnc3RyICJPZG1vcmEgemEgJXMgbmkgbW9nb+hlIGRvYml0aTogJXNcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmQuXG4iCittc2dpZF9wbHVyYWwgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZHMuXG4iCittc2dzdHJbMF0gIshhcyBvZCB6YWRuamUgcHJpbGFnb2RpdHZlIGplICVkIHNla3VuZFxuIgorbXNnc3RyWzFdICLIYXMgb2QgemFkbmplIHByaWxhZ29kaXR2ZSBqZSAlZCBzZWt1bmRcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB3YXRjaGRvZyIKK21zZ3N0ciAiaXNrYW5qZSBuaSB1c3BlbG8gdiB3cml0ZV90YWJsZXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NCBzeXMtdXRpbHMvd2RjdGwuYzo0Njcgc3lzLXV0aWxzL3dkY3RsLmM6NDcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlLTE0cyAlMmkgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIiUtMTRzICUyaSBzZWNvbmRzXG4iCittc2dzdHJbMF0gIiVzICAlLjZmIHNla3VuZFxuIgorbXNnc3RyWzFdICIlcyAgJS42ZiBzZWt1bmRcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY1Cittc2dpZCAiVGltZW91dDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY4CisjLCBmdXp6eQorbXNnaWQgIlByZS10aW1lb3V0OiIKK21zZ3N0ciAi6GFzIHNlIGplIGl6dGVrZWwiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ3MQorbXNnaWQgIlRpbWVsZWZ0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDUKKyMsIGZ1enp5Cittc2dpZCAiRGV2aWNlOiIKK21zZ3N0ciAiTmFwcmF2YSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA3Cittc2dpZCAiSWRlbnRpdHk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwOQorbXNnaWQgInZlcnNpb24iCittc2dzdHIgInJhemxp6GljYSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MworIywgZnV6enkKK21zZ2lkICJ6cmFtIGRldmljZSBuYW1lIgorbXNnc3RyICJtb3VudDogJXM6IG5lem5hbmEgbmFwcmF2YSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NAorbXNnaWQgImxpbWl0IG9uIHRoZSB1bmNvbXByZXNzZWQgYW1vdW50IG9mIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NQorbXNnaWQgInVuY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzYKK21zZ2lkICJjb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NworbXNnaWQgInRoZSBzZWxlY3RlZCBjb21wcmVzc2lvbiBhbGdvcml0aG0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OAorbXNnaWQgIm51bWJlciBvZiBjb25jdXJyZW50IGNvbXByZXNzIG9wZXJhdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OQorIywgZnV6enkKK21zZ2lkICJlbXB0eSBwYWdlcyB3aXRoIG5vIGFsbG9jYXRlZCBtZW1vcnkiCittc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYS5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MAorbXNnaWQgImFsbCBtZW1vcnkgaW5jbHVkaW5nIGFsbG9jYXRvciBmcmFnbWVudGF0aW9uIGFuZCBtZXRhZGF0YSBvdmVyaGVhZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgxCittc2dpZCAibWVtb3J5IGxpbWl0IHVzZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODIKK21zZ2lkICJtZW1vcnkgenJhbSBoYXZlIGJlZW4gY29uc3VtZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODMKK21zZ2lkICJudW1iZXIgb2Ygb2JqZWN0cyBtaWdyYXRlZCBieSBjb21wYWN0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6MzYzIHN5cy11dGlscy96cmFtY3RsLmM6Mzc0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyIgJTEkcyAtciA8ZGV2aWNlPiBbLi4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxkZXZpY2U+IC1zIDxzaXplPlxuIgorbXNnc3RyICJVcG9yYWJhOiBta2ZzIFstVl0gWy10IHRpcCBkYXQuIHNpc3RlbWFdIFtpemJpcmUgZGF0LiBzaXN0Ll0gbmFwcmF2YSBbdmVsaWtvc3RdXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTI3Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIHpyYW0gZGV2aWNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMAorbXNnaWQgIiAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NCAgIGNvbXByZXNzaW9uIGFsZ29yaXRobSB0byB1c2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMQorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIGZpbmQgYSBmcmVlIGRldmljZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzQKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW5peml6YmlyICAgICAgIEtyYXRrZSBpemJpcmUgemEgcHJlcG96bmF2b1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzNQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICB1c2UgcmF3IHN0YXR1cyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzYKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzcKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNpemUgPHNpemU+ICAgICAgICAgZGV2aWNlIHNpemVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzOAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tc3RyZWFtcyA8bnVtYmVyPiAgICBudW1iZXIgb2YgY29tcHJlc3Npb24gc3RyZWFtc1xuIgorbXNnc3RyICIgICAgLVMjIFthbGkgLS1zZWN0b3JzICNdOiBuYXN0YXZpILl0ZXZpbG8gc2VrdG9yamV2IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYWxnb3JpdGhtOiAlcyIKK21zZ3N0ciAiJXM6IG5lem5hbiBhcmd1bWVudDogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2MjYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0cmVhbXMiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY0OAorIywgZnV6enkKK21zZ2lkICJvcHRpb24gLS1maW5kIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxkZXZpY2U+IgorbXNnc3RyICIlczogLS1hZGp1c3QgaW4gLS1ub2FkamZpbGUgaXpiaXJpIHNlIG1lZHNlYm9qbm8gaXprbGp16HVqZXRhLiBQb2RhbGkgc3RlIG9iZS5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NTQKK21zZ2lkICJvbmx5IG9uZSA8ZGV2aWNlPiBhdCBhIHRpbWUgaXMgYWxsb3dlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NworbXNnaWQgIm9wdGlvbnMgLS1hbGdvcml0aG0gYW5kIC0tc3RyZWFtcyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggLS1zaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njg3IHN5cy11dGlscy96cmFtY3RsLmM6NzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlc2V0IgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2OTggc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDYKK21zZ2lkICJubyBmcmVlIHpyYW0gZGV2aWNlIGZvdW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBudW1iZXIgb2Ygc3RyZWFtcyIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBhbGdvcml0aG0iCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgZGlza3NpemUgKCVqdSBieXRlcykiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjQ1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzIChhdXRvbWF0aWMgbG9naW4pXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugcm9vdCBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczogbmUgbW9yZSBpenZlc3RpICVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugd29ya2luZyBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICJOYXBha2EgcHJpIHNwcmVtaW5qYW5qdSBuYehpbmEgJXM6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHByb2Nlc3MgcHJpb3JpdHk6ICVtIgorbXNnc3RyICIlczogcHJvY2VzYSBuaSBtb2dv6GUgbmFqdGkgXCIlc1wiXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBleGVjICVzOiAlbSIKK21zZ3N0ciAiJXM6IG5lIG1vcmUgaXp2ZXN0aSAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTU1IHRlcm0tdXRpbHMvYWdldHR5LmM6ODQxIHRlcm0tdXRpbHMvYWdldHR5LmM6ODUzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MTUgdGVybS11dGlscy9hZ2V0dHkuYzoxNDMzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NjkgdGVybS11dGlscy9hZ2V0dHkuYzoxNDc5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTUxNgorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTc4IHRlcm0tdXRpbHMvYWdldHR5LmM6MjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeTogJW0iCittc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYS5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo2ODAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBkZWxheSBhcmd1bWVudCIKK21zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3MTkKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtLWxvY2FsLWxpbmUiCittc2dzdHIgIm5ldmVsamF2bmkgaWQ6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzM4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbmljZSBhcmd1bWVudCIKK21zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHNwZWVkOiAlcyIKK21zZ3N0ciAibmVwcmF2aWxuYSBoaXRyb3N0OiAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzcKK21zZ2lkICJ0b28gbWFueSBhbHRlcm5hdGUgc3BlZWRzIgorbXNnc3RyICJwcmV2ZeggcmF6bGnobmloIGhpdHJvc3RpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMDYgdGVybS11dGlscy9hZ2V0dHkuYzoxMDEwIHRlcm0tdXRpbHMvYWdldHR5LmM6MTA2MworIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgb3BlbiBhcyBzdGFuZGFyZCBpbnB1dDogJW0iCittc2dzdHIgIi9kZXYvJXM6IG5pIG1vZ2/oZSBvZHByZXRpIGtvdCBzdGFuZGFyZG5pIHZob2Q6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgY2hhcmFjdGVyIGRldmljZSIKK21zZ3N0ciAiL2Rldi8lczogbmkgem5ha292bmEgbmFwcmF2YSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSB0dHkiCittc2dzdHIgImtvcmVuc2tpIGlub2QgbmkgaW1lbmlrIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzUgdGVybS11dGlscy9hZ2V0dHkuYzoxMDY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3QgZ2V0IGNvbnRyb2xsaW5nIHR0eTogJW0iCittc2dzdHIgIi9kZXYvJXM6IG5pIG1vZ2/oZSBvZHByZXRpIGtvdCBzdGFuZGFyZG5pIHZob2Q6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IHZoYW5ndXAoKSBmYWlsZWQ6ICVtIgorbXNnc3RyICJ2ZWppdGV2IG5pIHVzcGVsYVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBvcGVuIGZvciByZWFkL3dyaXRlIgorbXNnc3RyICIlczogbmkgb2RwcnRvIHphIGJyYW5qZS9waXNhbmplIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBzZXQgcHJvY2VzcyBncm91cDogJW0iCittc2dzdHIgIiVzOiBwcm9jZXNhIG5pIG1vZ2/oZSBuYWp0aSBcIiVzXCJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkdXAgcHJvYmxlbTogJW0iCittc2dzdHIgIiVzOiBuYXBha2EgcHJpIHByZXZhcmk6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICJuaSBtb2dv6GUgZG9iaXRpIHZlbGlrb3N0aSAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMzIxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZhaWxlZDogJW0iCittc2dzdHIgIm5pIG1vZ2/oZSBkb2JpdGkgdmVsaWtvc3RpICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NTkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gb3MtcmVsZWFzZSBmaWxlIgorbXNnc3RyICJEYXRvdGVrZSAsJXNgIG5pIG1vZ2/oZSBvZHByZXRpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE2MzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcmVsb2FkIGZpbGU6ICVzOiAlbSIKK21zZ3N0ciAia2xpYyBpb2N0bCgpIG5pIHVzcGVsIHByZWJyYXRpIOhhc2EgaXogJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTczNgorbXNnaWQgIltwcmVzcyBFTlRFUiB0byBsb2dpbl0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzYwCittc2dpZCAiTnVtIExvY2sgb2ZmIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2MworbXNnaWQgIk51bSBMb2NrIG9uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2NgorbXNnaWQgIkNhcHMgTG9jayBvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjkKK21zZ2lkICJTY3JvbGwgTG9jayBvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJIaW50OiAlc1xuIgorIlxuIgorbXNnc3RyICJ2cnN0YTogJXNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkOiAlbSIKK21zZ3N0ciAiJXM6IGJlcmk6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlucHV0IG92ZXJydW4iCittc2dzdHIgIiVzOiB2aG9kIGplIHByZXBsYXZsamVuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NzQgdGVybS11dGlscy9hZ2V0dHkuYzoxOTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciBjb252ZXJzaW9uIGZvciBsb2dpbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgMHgleCBpbiBsb2dpbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIm5pIG1vZ2/oZSBkb2JpdGkgdmVsaWtvc3RpICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8bGluZT4gWzxiYXVkX3JhdGU+LC4uLl0gWzx0ZXJtdHlwZT5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxiYXVkX3JhdGU+LC4uLiA8bGluZT4gWzx0ZXJtdHlwZT5dXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTEzCittc2dpZCAiT3BlbiBhIHRlcm1pbmFsIGFuZCBzZXQgaXRzIG1vZGUuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE2CisjLCBmdXp6eQorbXNnaWQgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBhc3N1bWUgOC1iaXQgdHR5XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTcKK21zZ2lkICIgLWEsIC0tYXV0b2xvZ2luIDx1c2VyPiAgICAgbG9naW4gdGhlIHNwZWNpZmllZCB1c2VyIGF1dG9tYXRpY2FsbHlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTgKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGRvIG5vdCByZXNldCBjb250cm9sIG1vZGVcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExOQorIywgZnV6enkKK21zZ2lkICIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAgdXNlIC1yIDxob3N0bmFtZT4gZm9yIGxvZ2luKDEpXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIwCittc2dpZCAiIC1mLCAtLWlzc3VlLWZpbGUgPGZpbGU+ICAgIGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMQorbXNnaWQgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBlbmFibGUgaGFyZHdhcmUgZmxvdyBjb250cm9sXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIyCisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS1ob3N0IDxob3N0bmFtZT4gICAgICBzcGVjaWZ5IGxvZ2luIGhvc3RcbiIKK21zZ3N0ciAiICAtcywgIC0tc2hlbGw9bHVwaW5hICAgICAgICAgIE5hc3RhdmkgbHVwaW5za28ga29udmVuY2lqbyBjaXRpcmFuamFcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIzCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICBkbyBub3QgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBQcmVwablpIHRhYmVsbyByYXpkZWxrb3YgbmEgemFzbG9uIGFsaSB2IGRhdG90ZWtvIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjQKK21zZ2lkICIgLUksIC0taW5pdC1zdHJpbmcgPHN0cmluZz4gc2V0IGluaXQgc3RyaW5nXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI1CisjLCBmdXp6eQorbXNnaWQgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICBkbyBub3QgY2xlYXIgdGhlIHNjcmVlbiBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjYKK21zZ2lkICIgLWwsIC0tbG9naW4tcHJvZ3JhbSA8ZmlsZT4gc3BlY2lmeSBsb2dpbiBwcm9ncmFtXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI3Cittc2dpZCAiIC1MLCAtLWxvY2FsLWxpbmVbPTxtb2RlPl0gIGNvbnRyb2wgdGhlIGxvY2FsIGxpbmUgZmxhZ1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyOAorbXNnaWQgIiAtbSwgLS1leHRyYWN0LWJhdWQgICAgICAgICBleHRyYWN0IGJhdWQgcmF0ZSBkdXJpbmcgY29ubmVjdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyOQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAgZG8gbm90IHByb21wdCBmb3IgbG9naW5cbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5lIHphcGm5aSBzcHJlbWVtYiBuYSBkaXNrIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzAKKyMsIGZ1enp5Cittc2dpZCAiIC1OICAtLW5vbmV3bGluZSAgICAgICAgICAgIGRvIG5vdCBwcmludCBhIG5ld2xpbmUgYmVmb3JlIGlzc3VlXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBQcmVwablpIHRhYmVsbyByYXpkZWxrb3YgbmEgemFzbG9uIGFsaSB2IGRhdG90ZWtvIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzEKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPG9wdHM+IG9wdGlvbnMgdGhhdCBhcmUgcGFzc2VkIHRvIGxvZ2luXG4iCittc2dzdHIgIiAgLWwgIC0tbG9uZ29wdGlvbnM9ZG9sZ2VpemJpcmUgICBEb2xnZSBpemJpcmUgemEgcHJlcG96bmF2b1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzIKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLWxvZ2luLXBhdXNlICAgICAgICAgIHdhaXQgZm9yIGFueSBrZXkgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgbmUgemFwablpIHNwcmVtZW1iIG5hIGRpc2siCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMworbXNnaWQgIiAtciwgLS1jaHJvb3QgPGRpcj4gICAgICAgICBjaGFuZ2Ugcm9vdCB0byB0aGUgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM0CisjLCBmdXp6eQorbXNnaWQgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICBkbyB2aXJ0dWFsbHkgaGFuZ3VwIG9uIHRoZSB0dHlcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNQorbXNnaWQgIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICB0cnkgdG8ga2VlcCBiYXVkIHJhdGUgYWZ0ZXIgYnJlYWtcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzYKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8bnVtYmVyPiAgICAgbG9naW4gcHJvY2VzcyB0aW1lb3V0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM3Cittc2dpZCAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzgKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIHdhaXQgY2FycmlhZ2UtcmV0dXJuXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzkKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIGRvIG5vdCBwcmludCBoaW50c1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgbmUgemFwablpIHNwcmVtZW1iIG5hIGRpc2siCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAgbm8gaG9zdG5hbWUgYXQgYWxsIHdpbGwgYmUgc2hvd25cbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFByZXBpuWkgdGFiZWxvIHJhemRlbGtvdiBuYSB6YXNsb24gYWxpIHYgZGF0b3Rla28iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MQorbXNnaWQgIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICBzaG93IGZ1bGwgcXVhbGlmaWVkIGhvc3RuYW1lXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQyCittc2dpZCAiICAgICAtLWVyYXNlLWNoYXJzIDxzdHJpbmc+IGFkZGl0aW9uYWwgYmFja3NwYWNlIGNoYXJzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQzCittc2dpZCAiICAgICAtLWtpbGwtY2hhcnMgPHN0cmluZz4gIGFkZGl0aW9uYWwga2lsbCBjaGFyc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NAorbXNnaWQgIiAgICAgLS1jaGRpciA8ZGlyZWN0b3J5PiAgICBjaGRpciBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ1CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1kZWxheSA8bnVtYmVyPiAgICAgICBzbGVlcCBzZWNvbmRzIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NgorbXNnaWQgIiAgICAgLS1uaWNlIDxudW1iZXI+ICAgICAgICBydW4gbG9naW4gd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yZWxvYWQgICAgICAgICAgICAgICByZWxvYWQgcHJvbXB0cyBvbiBydW5uaW5nIGFnZXR0eSBpbnN0YW5jZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5lIHphcGm5aSBzcHJlbWVtYiBuYSBkaXNrIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDgKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWhlbHAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ5CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjQ4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgdXNlciIKK21zZ2lkX3BsdXJhbCAiJWQgdXNlcnMiCittc2dzdHJbMF0gInVwb3JhYm5payIKK21zZ3N0clsxXSAidXBvcmFibmlrIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNoZWNrbmFtZSBmYWlsZWQ6ICVtIgorbXNnc3RyICJwcmlrbG9wIG5pIHVzcGVsIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB0b3VjaCBmaWxlICVzIgorbXNnc3RyICJEYXRvdGVrZSAsJXNgIG5pIG1vZ2/oZSBvZHByZXRpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MjUKK21zZ2lkICItLXJlbG9hZCBpcyB1bnN1cHBvcnRlZCBvbiB5b3VyIHN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbeSB8IG5dXG4iCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc4Cittc2dpZCAiQ29udHJvbCB3cml0ZSBhY2Nlc3Mgb2Ygb3RoZXIgdXNlcnMgdG8geW91ciB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo4MQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMjUKKyMsIGZ1enp5Cittc2dpZCAidHR5bmFtZSBmYWlsZWQiCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNAorIywgZnV6enkKK21zZ2lkICJpcyB5IgorbXNnc3RyICJqZSB5XG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNworIywgZnV6enkKK21zZ2lkICJpcyBuIgorbXNnc3RyICJqZSBuXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE0OCB0ZXJtLXV0aWxzL21lc2cuYzoxNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZSAlcyBtb2RlIGZhaWxlZCIKK21zZ3N0ciAiZG9kZWxqZW5pIHNlbWFmb3JqaSA9ICVkXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTU3Cittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgZGVuaWVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXMiCittc2dzdHIgIm5ldmVsamF2bmkgaWQ6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2MgorbXNnaWQgIk1ha2UgYSB0eXBlc2NyaXB0IG9mIGEgdGVybWluYWwgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NQorbXNnaWQgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgYXBwZW5kIHRoZSBvdXRwdXRcbiIKKyIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gcnVuIGNvbW1hbmQgcmF0aGVyIHRoYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgcmV0dXJuIGV4aXQgY29kZSBvZiB0aGUgY2hpbGQgcHJvY2Vzc1xuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICBydW4gZmx1c2ggYWZ0ZXIgZWFjaCB3cml0ZVxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICB1c2Ugb3V0cHV0IGZpbGUgZXZlbiB3aGVuIGl0IGlzIGEgbGlua1xuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICBiZSBxdWlldFxuIgorIiAtdCwgLS10aW1pbmdbPTxmaWxlPl0gICBvdXRwdXQgdGltaW5nIGRhdGEgdG8gc3RkZXJyIChvciB0byBGSUxFKVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisib3V0cHV0IGZpbGUgYCVzJyBpcyBhIGxpbmtcbiIKKyJVc2UgLS1mb3JjZSBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LlxuIgorIlByb2dyYW0gbm90IHN0YXJ0ZWQuIgorbXNnc3RyICIiCisiT3Bvem9yaWxvOiBgJXMnIGplIHBvdmV6YXZhLlxuIgorIlVwb3JhYml0ZSBgJXMgW2l6YmlyZV0gJXMnIOhlIGpvIL5lbGl0ZSB1cG9yYWJpdGkuXG4iCisiU2tyaXB0IG5pIGJpbCBpenZyuWVuLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgZG9uZSwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICJTY3JpcHQga29u6GFuLCBkYXQuIGplICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MjYyCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCB3cml0ZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiJXM6IHphICVzIG5pIG1vZ2/oZSBuYWp0aSBuYXByYXZlXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXMiCittc2dzdHIgIlNjcmlwdCBzZSBqZSB6YehlbCBuYSAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNjcmlwdCBkb25lIG9uICVzIgorbXNnc3RyICIiCisiXG4iCisiU2NyaXB0IGtvbuhhbiBuYSAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2MDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJuaSBtb2dv6GUgZG9iaXRpIHZlbGlrb3N0aSAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2MTQKKyMsIGZ1enp5Cittc2dpZCAib3BlbnB0eSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgbmkgdXNwZWxcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2NTIKKyMsIGZ1enp5Cittc2dpZCAib3V0IG9mIHB0eSdzIgorbXNnc3RyICJabWFuamthbG8gcHR5LWpldlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc1MgorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgc3RhcnRlZCwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICJTY3JpcHQgc2UgamUgemHoZWwsIGRhdC4gamUgJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy10XSB0aW1pbmdmaWxlIFt0eXBlc2NyaXB0XSBbZGl2aXNvcl1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQ3Cittc2dpZCAiUGxheSBiYWNrIHRlcm1pbmFsIHR5cGVzY3JpcHRzLCB1c2luZyB0aW1pbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo1MAorbXNnaWQgIiIKKyIgLXQsIC0tdGltaW5nIDxmaWxlPiAgICAgc2NyaXB0IHRpbWluZyBvdXRwdXQgZmlsZVxuIgorIiAtcywgLS10eXBlc2NyaXB0IDxmaWxlPiBzY3JpcHQgdGVybWluYWwgc2Vzc2lvbiBvdXRwdXQgZmlsZVxuIgorIiAtZCwgLS1kaXZpc29yIDxudW0+ICAgICBzcGVlZCB1cCBvciBzbG93IGRvd24gZXhlY3V0aW9uIHdpdGggdGltZSBkaXZpc29yXG4iCisiIC1tLCAtLW1heGRlbGF5IDxudW0+ICAgIHdhaXQgYXQgbW9zdCB0aGlzIG1hbnkgc2Vjb25kcyBiZXR3ZWVuIHVwZGF0ZXNcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExMgorIywgZnV6enkKK21zZ2lkICJ3cml0ZSB0byBzdGRvdXQgZmFpbGVkIgorbXNnc3RyICJPZHBpcmFuamUgJXMgbmkgdXNwZWxvIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIG9uICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0eXBlc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgImtsaWMgaW9jdGwoKSBuaSB1c3BlbCBwcmVicmF0aSDoYXNhIGl6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE4NAorIywgZnV6enkKK21zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJuYWouILl0LiBvZHNla292ID0gJWx1XG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aW1pbmcgZmlsZSAlcyIKK21zZ3N0ciAia2xpYyBpb2N0bCgpIG5pIHVzcGVsIHByZWJyYXRpIOhhc2EgaXogJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aW1pbmcgZmlsZSAlczogbGluZSAlbHU6IHVuZXhwZWN0ZWQgZm9ybWF0IgorbXNnc3RyICIlczogTmVwcmnoYWtvdmFuIGtvbmVjIGRhdG90ZWtlIHYgJXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgImFyZ3VtZW50IGVycm9yOiBicmlnaHQgJXMgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjgKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgdGFicyIKK21zZ3N0ciAiJXM6IG5lem5hbiBhcmd1bWVudDogJXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzgzCittc2dpZCAiU2V0IHRoZSBhdHRyaWJ1dGVzIG9mIGEgdGVybWluYWwuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg2Cittc2dpZCAiIC0tdGVybSAgICAgICAgICA8dGVybWluYWxfbmFtZT4gICBvdmVycmlkZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg3CisjLCBmdXp6eQorbXNnaWQgIiAtLXJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXQgdGVybWluYWwgdG8gcG93ZXItb24gc3RhdGVcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OAorIywgZnV6enkKK21zZ2lkICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5pdCBzdHJpbmcsIGFuZCB1c2UgZGVmYXVsdCBzZXR0aW5nc1xuIgorbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OQorIywgZnV6enkKK21zZ2lkICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBkZWZhdWx0IHRlcm1pbmFsIHNldHRpbmdzXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkwCittc2dpZCAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgdGVybWluYWwgc2V0dGluZ3MgYXMgZGVmYXVsdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MQorIywgZnV6enkKK21zZ2lkICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGRpc3BsYXkgY3Vyc29yXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MgorIywgZnV6enkKK21zZ2lkICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGtleWJvYXJkIHJlcGVhdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkzCittc2dpZCAiIC0tYXBwY3Vyc29ya2V5cyBbb258b2ZmXSAgICAgICAgICBjdXJzb3Iga2V5IGFwcGxpY2F0aW9uIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTQKKyMsIGZ1enp5Cittc2dpZCAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBjb250aW51ZSBvbiBhIG5ldyBsaW5lIHdoZW4gYSBsaW5lIGlzIGZ1bGxcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTUKK21zZ2lkICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIHN3YXAgY29sb3JzIGZvciB0aGUgd2hvbGUgc2NyZWVuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk2Cittc2dpZCAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgZm9yZWdyb3VuZCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NworbXNnaWQgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGJhY2tncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTgKK21zZ2lkICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCB1bmRlcmxpbmVkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTkKK21zZ2lkICIgLS1oYmNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCBib2xkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDAKK21zZ2lkICIgICAgICAgICAgICAgICAgIDxjb2xvcj46IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMQorIywgZnV6enkKK21zZ2lkICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJvbGRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDIKKyMsIGZ1enp5Cittc2dpZCAiIC0taGFsZi1icmlnaHQgICBbb258b2ZmXSAgICAgICAgICBkaW1cbiIKK21zZ3N0ciAiICBbIC1oYWxmLWJyaWdodCBbb258b2ZmXSBdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMworbXNnaWQgIiAtLWJsaW5rICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYmxpbmtcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDQKKyMsIGZ1enp5Cittc2dpZCAiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICB1bmRlcmxpbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDUKK21zZ2lkICIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgIHN3YXAgZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBjb2xvcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDYKKyMsIGZ1enp5Cittc2dpZCAiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICBjbGVhciBzY3JlZW4gYW5kIHNldCBjdXJzb3IgcG9zaXRpb25cbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNworIywgZnV6enkKK21zZ2lkICIgLS10YWJzICAgICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIHNldCB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIHNob3cgdGhlbVxuIgorbXNnc3RyICIgIC1ULiAtLXRlc3QgICAgICAgICAgICAgICAgICAgVGVzdCB6YSByYXpsaehpY28gZ2V0b3B0KDEpXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOAorIywgZnV6enkKK21zZ2lkICIgLS1jbHJ0YWJzICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIGNsZWFyIHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3IgYWxsXG4iCittc2dzdHIgIiAgLVQuIC0tdGVzdCAgICAgICAgICAgICAgICAgICBUZXN0IHphIHJhemxp6GljbyBnZXRvcHQoMSlcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA5CisjLCBmdXp6eQorbXNnaWQgIiAtLXJlZ3RhYnMgICAgICAgWzEtMTYwXSAgICAgICAgICAgc2V0IGEgcmVndWxhciB0YWIgc3RvcCBpbnRlcnZhbFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEwCittc2dpZCAiIC0tYmxhbmsgICAgICAgICBbMC02MHxmb3JjZXxwb2tlXSBzZXQgdGltZSBvZiBpbmFjdGl2aXR5IGJlZm9yZSBzY3JlZW4gYmxhbmtzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDExCittc2dpZCAiIC0tZHVtcCAgICAgICAgICBbPG51bWJlcj5dICAgICAgICB3cml0ZSB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTIKK21zZ2lkICIgLS1hcHBlbmQgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIGFwcGVuZCB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTMKK21zZ2lkICIgLS1maWxlICAgICAgICAgIDxmaWxlbmFtZT4gICAgICAgIG5hbWUgb2YgdGhlIGR1bXAgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNAorIywgZnV6enkKK21zZ2lkICIgLS1tc2cgICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHNlbmQga2VybmVsIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTUKKyMsIGZ1enp5Cittc2dpZCAiIC0tbXNnbGV2ZWwgICAgICAwLTggICAgICAgICAgICAgICBrZXJuZWwgY29uc29sZSBsb2cgbGV2ZWxcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE2CisjLCBmdXp6eQorbXNnaWQgIiAtLXBvd2Vyc2F2ZSAgICAgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdXG4iCittc2dzdHIgIiAgWyAtcG93ZXJzYXZlIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXSBdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNworIywgZnV6enkKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCB2ZXNhIHBvd2Vyc2F2aW5nIGZlYXR1cmVzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgIFBydmkgICAgICAgIFphZG5qaVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTgKK21zZ2lkICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIHNldCB2ZXNhIHBvd2VyZG93biBpbnRlcnZhbCBpbiBtaW51dGVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE5Cittc2dpZCAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICBkdXJhdGlvbiBvZiB0aGUgYmVsbCBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjAKK21zZ2lkICIgLS1iZnJlcSAgICAgICAgIDxudW1iZXI+ICAgICAgICAgIGJlbGwgZnJlcXVlbmN5IGluIEhlcnR6XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIxCisjLCBmdXp6eQorbXNnaWQgIiAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAgc2hvdyB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIyCisjLCBmdXp6eQorbXNnaWQgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MzAKK21zZ2lkICJkdXBsaWNhdGUgdXNlIG9mIGFuIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MzQKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGZvcmNlIGJsYW5rIgorbXNnc3RyICJ2ZWppdGV2IG5pIG1vZ2/oYSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzM5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmb3JjZSB1bmJsYW5rIgorbXNnc3RyICJ2ZWppdGV2IG5pIG1vZ2/oYSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQ1CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgYmxhbmsgc3RhdHVzIgorbXNnc3RyICIlcyBuZSBtb3JlbSBvZHByZXRpXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuIG5vdCBvcGVuIGR1bXAgZmlsZSAlcyBmb3Igb3V0cHV0IgorbXNnc3RyICJuYXByYXZlICVzIG5pIG1vZ2/oZSBvZHByZXRpIHphIGJyYW5qZVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsICVzIGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgIiVzOiB1cG9yYWJuaWsgXCIlc1wiIG5lIG9ic3RqYS5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6OTg4CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlIgorbXNnc3RyICJuaSBtb2dv6GUgbmFzdGF2aXRpIHBvd2Vyc2F2ZSBuYehpbmFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTAwNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDE2CisjLCBmdXp6eQorbXNnaWQgImtsb2djdGwgZXJyb3IiCittc2dzdHIgImtsb2djdGwgbmFwYWthOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDM3CisjLCBmdXp6eQorbXNnaWQgIiRURVJNIGlzIG5vdCBkZWZpbmVkLiIKK21zZ3N0ciAiJXM6ICRURVJNIG5pIGRvbG/oZW4uXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDQKK21zZ2lkICJ0ZXJtaW5mbyBkYXRhYmFzZSBjYW5ub3QgYmUgZm91bmQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gdGVybWluYWwgdHlwZSIKK21zZ3N0ciAiJXM6IG5lem5hbiBzaWduYWwgJXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0OAorbXNnaWQgInRlcm1pbmFsIGlzIGhhcmRjb3B5IgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB0b28gbWFueSBpb3YncyIKK21zZ3N0ciAibm90cmFuamEgbmFwYWthIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImV4Y2Vzc2l2ZWx5IGxvbmcgbGluZSBhcmciCittc2dzdHIgInByZWtvcmHoaXRldiBkb2y+aW5lIHZyc3RpY2UgYXJndW1lbnRhIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjEwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3BlbiBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgbmkgdXNwZWxcbiIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZvcms6ICVtIgorbXNnc3RyICJ2ZWppdGV2OiAlcyIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZvcmsiCittc2dzdHIgInZlaml0ZXYgbmkgbW9nb+hhIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkFEIEVSUk9SLCBtZXNzYWdlIGlzIGZhciB0b28gbG9uZyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IHwgPG1lc3NhZ2U+XVxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4NgorbXNnaWQgIldyaXRlIGEgbWVzc2FnZSB0byBhbGwgdXNlcnMuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODkKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIGRvIG5vdCBwcmludCBiYW5uZXIsIHdvcmtzIG9ubHkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjkwCittc2dpZCAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEzMgorbXNnaWQgIi0tbm9iYW5uZXIgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIHJvb3QiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6MTM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJuZXByYXZpbG5hIHZyZWRub3N0IHphIHByZWtvcmHoaXRldiDoYXNhOiAlcyIKKworIzogdGVybS11dGlscy93YWxsLmM6MjY5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgcGFzc3dkIHVpZCIKK21zZ3N0ciAibW91bnQ6IGhpdHJvc3RpIG5pIG1vZ2/oZSBuYXN0YXZpdGk6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyNzQKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGdldCB0dHkgbmFtZSIKK21zZ3N0ciAiVmVsaWtvc3RpIGRpc2tvdm5lIHN0ZXplIG5pIG1vZ2/oZSBwcmVicmF0aSIKKworIzogdGVybS11dGlscy93YWxsLmM6Mjk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCcm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzQCVzICglcykgKCVzKToiCittc2dzdHIgIlByZWpldG8gc3Bvcm/oaWxvIG9kICVzQCVzIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozMjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IHJlYWQgJXMgLSB1c2Ugc3RkaW4uIgorbXNnc3RyICIlczogJXMgbmUgYm8gcHJlYnJhbiAtIHVwb3JhYmkgc3RkaW4uXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXNlcj4gWzx0dHluYW1lPl1cbiIKK21zZ3N0ciAidXBvcmFiYTogbmFtZWkgWy1teF0gaW1lbmlrIFtpbWVuaWsgLi4uXVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6OTAKK21zZ2lkICJTZW5kIGEgbWVzc2FnZSB0byBhbm90aGVyIHVzZXIuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICJlZmZlY3RpdmUgZ2lkIGRvZXMgbm90IG1hdGNoIGdyb3VwIG9mICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4iCittc2dzdHIgIndyaXRlOiAlcyBzZSBuaSBwcmlqYXZsamVuXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDcKKyMsIGZ1enp5Cittc2dpZCAiY2FuJ3QgZmluZCB5b3VyIHR0eSdzIG5hbWUiCittc2dzdHIgIndyaXRlOiBpbWVuYSB2YbllZ2EgdHR5IG5pIG1vZ2/oZSBuYWp0aVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQiCittc2dzdHIgIndyaXRlOiAlcyBpbWEgb25lbW9nb+hlbmEgc3Bvcm/oaWxhXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGxvZ2dlZCBpbiBtb3JlIHRoYW4gb25jZTsgd3JpdGluZyB0byAlcyIKK21zZ3N0ciAid3JpdGU6ICVzIHNlIGplIHByaWphdmlsIHZl6CBrb3QgZW5rcmF0OyBwabllbSB2ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiY2FyZWZ1bHB1dGMgZmFpbGVkIgorbXNnc3RyICJtYWxsb2MgbmkgdXNwZWwiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyAoYXMgJXMpIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIlNwb3Jv6GlsbyBpeiAlc0AlcyAoa290ICVzKSBuYSAlcyBwcmkgJXMgLi4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6Mjg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiU3Bvcm/oaWxvIGl6ICVzQCVzIG5hICVzIHByaSAlcyAuLi4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozMzEKKyMsIGZ1enp5Cittc2dpZCAieW91IGhhdmUgd3JpdGUgcGVybWlzc2lvbiB0dXJuZWQgb2ZmIgorbXNnc3RyICJ3cml0ZTogZG92b2xqZW5qZSB6YSBwaXNhbmplIGltYXRlIGl6a2xvcGxqZW5vLlxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIG9uICVzIgorbXNnc3RyICJ3cml0ZTogJXMgbmkgcHJpamF2bGplbiBuYSAlcy5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIG9uICVzIgorbXNnc3RyICJ3cml0ZTogJXMgaW1hIG9uZW1vZ2/oZW5hIHNwb3Jv6GlsYSBuYSAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzNAorbXNnaWQgIkZpbHRlciBvdXQgcmV2ZXJzZSBsaW5lIGZlZWRzLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYiwgLS1uby1iYWNrc3BhY2VzICAgIGRvIG5vdCBvdXRwdXQgYmFja3NwYWNlc1xuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIHBlcm1pdCBmb3J3YXJkIGhhbGYgbGluZSBmZWVkc1xuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIHBhc3MgdW5rbm93biBjb250cm9sIHNlcXVlbmNlc1xuIgorIiAtaCwgLS10YWJzICAgICAgICAgICAgIGNvbnZlcnQgc3BhY2VzIHRvIHRhYnNcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICBjb252ZXJ0IHRhYnMgdG8gc3BhY2VzXG4iCisiIC1sLCAtLWxpbmVzIE5VTSAgICAgICAgYnVmZmVyIGF0IGxlYXN0IE5VTSBsaW5lc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1ILCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE0OCB0ZXh0LXV0aWxzL2NvbHJtLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzIHJlYWRzIGZyb20gc3RhbmRhcmQgaW5wdXQgYW5kIHdyaXRlcyB0byBzdGFuZGFyZCBvdXRwdXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjIxMgorIywgZnV6enkKK21zZ2lkICJiYWQgLWwgYXJndW1lbnQiCittc2dzdHIgImNvbDogc2xhYiBhcmd1bWVudCAtbDogJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW4ndCBiYWNrIHVwICVzLiIKK21zZ3N0ciAiY29sOiBvcG96b3JpbG86IHZhcm5vc3RubyBrb3BpcmFuamUgJXMgbmkgbW9nb+hlLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjMzNworbXNnaWQgInBhc3QgZmlyc3QgbGluZSIKK21zZ3N0ciAiemEgcHJ2byB2cnN0aWNvIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjMzNworbXNnaWQgIi0tIGxpbmUgYWxyZWFkeSBmbHVzaGVkIgorbXNnc3RyICItLSB2cnN0aWNhIGplIL5lIHNwbGFrbmplbmEiCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODEgdGV4dC11dGlscy9jb2x1bW4uYzoxMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NAorbXNnaWQgIkZpbHRlciBucm9mZiBvdXRwdXQgZm9yIENSVCBwcmV2aWV3aW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODcKK21zZ2lkICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgICAgc3VwcHJlc3MgYWxsIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OAorIywgZnV6enkKK21zZ2lkICIgLTIsIC0taGFsZi1saW5lcyAgICAgICAgcHJpbnQgYWxsIGhhbGYtbGluZXNcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW3N0YXJ0Y29sIFtlbmRjb2xdXVxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjQKK21zZ2lkICJGaWx0ZXIgb3V0IHRoZSBzcGVjaWZpZWQgY29sdW1ucy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg1CisjLCBmdXp6eQorbXNnaWQgImZpcnN0IGFyZ3VtZW50IgorbXNnc3RyICJjb2w6IHNsYWIgYXJndW1lbnQgLWw6ICVzLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgInNlY29uZCBhcmd1bWVudCIKK21zZ3N0ciAiY29sOiBzbGFiIGFyZ3VtZW50IC1sOiAlcy5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjAKK21zZ2lkICJDb2x1bW5hdGUgbGlzdHMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjMKK21zZ2lkICIgLWMsIC0tY29sdW1ucyA8d2lkdGg+ICAgIHdpZHRoIG9mIG91dHB1dCBpbiBudW1iZXIgb2YgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI0CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10YWJsZSAgICAgICAgICAgICAgY3JlYXRlIGEgdGFibGVcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjUKK21zZ2lkICIgLXMsIC0tc2VwYXJhdG9yIDxzdHJpbmc+IHBvc3NpYmxlIHRhYmxlIGRlbGltaXRlcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyNgorbXNnaWQgIiIKKyIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8c3RyaW5nPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucyBzZXBhcmF0b3IgZm9yIHRhYmxlIG91dHB1dDsgZGVmYXVsdCBpcyB0d28gc3BhY2VzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjgKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICBmaWxsIHJvd3MgYmVmb3JlIGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjE4MgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGNvbHVtbnMgYXJndW1lbnQiCittc2dzdHIgIm5ldmVsamF2ZW4gaWQiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDIyCisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQgaXMgdG9vIGxvbmcsIG91dHB1dCB3aWxsIGJlIHRydW5jYXRlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTUgdGV4dC11dGlscy9tb3JlLmM6MjI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPi4uLlxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTgKK21zZ2lkICJEaXNwbGF5IGZpbGUgY29udGVudHMgaW4gaGV4YWRlY2ltYWwsIGRlY2ltYWwsIG9jdGFsLCBvciBhc2NpaS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjEKK21zZ2lkICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYyCittc2dpZCAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgb25lLWJ5dGUgY2hhcmFjdGVyIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjMKK21zZ2lkICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjQKK21zZ2lkICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjUKK21zZ2lkICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICB0d28tYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY2Cittc2dpZCAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NworbXNnaWQgIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHJldCBjb2xvciBmb3JtYXR0aW5nIHNwZWNpZmllcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzAKK21zZ2lkICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MQorbXNnaWQgIiAtZiwgLS1mb3JtYXQtZmlsZSA8ZmlsZT4gIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MgorbXNnaWQgIiAtbiwgLS1sZW5ndGggPGxlbmd0aD4gICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MworbXNnaWQgIiAtcywgLS1za2lwIDxvZmZzZXQ+ICAgICAgIHNraXAgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICBvdXRwdXQgaWRlbnRpY2FsIGxpbmVzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLWRpc3BsYXkuYzozNjUKKyMsIGZ1enp5Cittc2dpZCAiYWxsIGlucHV0IGZpbGUgYXJndW1lbnRzIGZhaWxlZCIKK21zZ3N0ciAibmFqLiC5dC4gb2RzZWtvdiA9ICVsdVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkIGJ5dGUgY291bnQgZm9yIGNvbnZlcnNpb24gY2hhcmFjdGVyICVzIgorbXNnc3RyICJoZXhkdW1wOiBzbGFiILl0ZXZlYyBiYWp0b3YgemEgcHJldHZvcm5pIHpuYWsgJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlJXMgcmVxdWlyZXMgYSBwcmVjaXNpb24gb3IgYSBieXRlIGNvdW50IgorbXNnc3RyICJoZXhkdW1wOiAlJXMgemFodGV2YSBib2Rpc2kgbmF0YW7obm9zdCBib2Rpc2kguXRldmVjIGJhanRvdi5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCBmb3JtYXQgeyVzfSIKK21zZ3N0ciAiaGV4ZHVtcDogc2xhYmEgb2JsaWthIFslc11cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb252ZXJzaW9uIGNoYXJhY3RlciAlJSVzIgorbXNnc3RyICJoZXhkdW1wOiBzbGFiIHByZXR2b3JuaSB6bmFrICUlJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjQzNgorIywgZnV6enkKK21zZ2lkICJieXRlIGNvdW50IHdpdGggbXVsdGlwbGUgY29udmVyc2lvbiBjaGFyYWN0ZXJzIgorbXNnc3RyICJoZXhkdW1wOiC5dGV2ZWMgYmFqdG92IGplIG5hdmVkZW4geiB2ZehrcmF0bmltaSBwcmV0dm9ybmltaSB6bmFraS5cbiIKKworIzogdGV4dC11dGlscy9saW5lLmM6MzMKK21zZ2lkICJSZWFkIG9uZSBsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIyOAorbXNnaWQgIkEgZmlsZSBwZXJ1c2FsIGZpbHRlciBmb3IgQ1JUIHZpZXdpbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjMxCisjLCBmdXp6eQorbXNnaWQgIiAtZCAgICAgICAgICBkaXNwbGF5IGhlbHAgaW5zdGVhZCBvZiByaW5naW5nIGJlbGxcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzIKKyMsIGZ1enp5Cittc2dpZCAiIC1mICAgICAgICAgIGNvdW50IGxvZ2ljYWwgcmF0aGVyIHRoYW4gc2NyZWVuIGxpbmVzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBuZSB6YXBpuWkgc3ByZW1lbWIgbmEgZGlzayIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjMzCisjLCBmdXp6eQorbXNnaWQgIiAtbCAgICAgICAgICBzdXBwcmVzcyBwYXVzZSBhZnRlciBmb3JtIGZlZWRcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFByZXBpuWkgdGFiZWxvIHJhemRlbGtvdiBuYSB6YXNsb24gYWxpIHYgZGF0b3Rla28iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNAorIywgZnV6enkKK21zZ2lkICIgLWMgICAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5lIHphcGm5aSBzcHJlbWVtYiBuYSBkaXNrIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzUKKyMsIGZ1enp5Cittc2dpZCAiIC1wICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGNsZWFuIHNjcmVlbiBhbmQgZGlzcGxheSB0ZXh0XG4iCittc2dzdHIgIiAgcCAgICAgICAgICBQcmVwablpIHRhYmVsbyByYXpkZWxrb3YgbmEgemFzbG9uIGFsaSB2IGRhdG90ZWtvIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzYKKyMsIGZ1enp5Cittc2dpZCAiIC1zICAgICAgICAgIHNxdWVlemUgbXVsdGlwbGUgYmxhbmsgbGluZXMgaW50byBvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzcKK21zZ2lkICIgLXUgICAgICAgICAgc3VwcHJlc3MgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiIC08bnVtYmVyPiAgIHRoZSBudW1iZXIgb2YgbGluZXMgcGVyIHNjcmVlbmZ1bFxuIgorbXNnc3RyICJWbmVzaXRlILl0ZXZpbG8gc3RlejogIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzkKK21zZ2lkICIgKzxudW1iZXI+ICAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIGxpbmUgbnVtYmVyXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQwCittc2dpZCAiICsvPHN0cmluZz4gIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBzZWFyY2ggc3RyaW5nIG1hdGNoXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQxCisjLCBmdXp6eQorbXNnaWQgIiAtViAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo0ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIC0lcyIKK21zZ3N0ciAiJXM6IG5lem5hbmEgbW++bm9zdCBcIi0lY1wiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjUwOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqICVzOiBkaXJlY3RvcnkgKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKiogJXM6IGltZW5payAqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKioqKioqKiAlczogTm90IGEgdGV4dCBmaWxlICoqKioqKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKioqKioqKiAlczogTmkgem5ha292bmEgZGF0b3Rla2EgKioqKioqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIltVc2UgcSBvciBRIHRvIHF1aXRdIgorbXNnc3RyICJbWmEgaXpob2QgdXBvcmFiaXRlIHEgYWxpIFFdIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1Nb3JlLS0iCittc2dzdHIgIi0tTmFwcmVqLS0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjcyNgorIywgYy1mb3JtYXQKK21zZ2lkICIoTmV4dCBmaWxlOiAlcykiCittc2dzdHIgIihOYXNsZWRuamEgZGF0b3Rla2E6ICVzKSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyBzcGFjZSB0byBjb250aW51ZSwgJ3EnIHRvIHF1aXQuXSIKK21zZ3N0ciAiW1ByaXRpc25pdGUgcHJlc2xlZG5pY28gemEgbmFkYWxqZXZhbmplLCBRIHphIGl6aG9kLl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjExNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi4uLmJhY2sgJWQgcGFnZSIKK21zZ2lkX3BsdXJhbCAiLi4uYmFjayAlZCBwYWdlcyIKK21zZ3N0clswXSAiLi4ubmF6YWogemEgJWQgc3RyYW5pIgorbXNnc3RyWzFdICIuLi5uYXphaiB6YSAlZCBzdHJhbmkiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi4uLnNraXBwaW5nICVkIGxpbmUiCittc2dpZF9wbHVyYWwgIi4uLnNraXBwaW5nICVkIGxpbmVzIgorbXNnc3RyWzBdICIuLi5wcmVza29rICVkIHZyc3RpYyIKK21zZ3N0clsxXSAiLi4ucHJlc2tvayAlZCB2cnN0aWMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNDgKK21zZ2lkICIiCisiXG4iCisiKioqQmFjayoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqTmF6YWoqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI2MworIywgZnV6enkKK21zZ2lkICJObyBwcmV2aW91cyByZWd1bGFyIGV4cHJlc3Npb24iCittc2dzdHIgIktycGEgcmVndWxhcm5lZ2EgaXpyYXphIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjkzCittc2dpZCAiIgorIlxuIgorIk1vc3QgY29tbWFuZHMgb3B0aW9uYWxseSBwcmVjZWRlZCBieSBpbnRlZ2VyIGFyZ3VtZW50IGsuICBEZWZhdWx0cyBpbiBicmFja2V0cy5cbiIKKyJTdGFyICgqKSBpbmRpY2F0ZXMgYXJndW1lbnQgYmVjb21lcyBuZXcgZGVmYXVsdC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlZl6GluaSB1a2F6diBzZSBsYWhrbyBkb2RhIGNlbG+5dGV2aWxza2kgYXJndW1lbnQgay4gUHJpdnpldG8gdiBva2xlcGFqaWguXG4iCisiWnZlemRpY2EgKCopIHBvbWVuaSwgZGEgYm8gYXJndW1lbnQgb2Qgc2VkYWogbmFwcmVqIHByaXZ6ZXQuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzMDAKK21zZ2lkICIiCisiPHNwYWNlPiAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXSpcbiIKKyI8cmV0dXJuPiAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFsxXSpcbiIKKyJkIG9yIGN0cmwtRCAgICAgICAgICAgICBTY3JvbGwgayBsaW5lcyBbY3VycmVudCBzY3JvbGwgc2l6ZSwgaW5pdGlhbGx5IDExXSpcbiIKKyJxIG9yIFEgb3IgPGludGVycnVwdD4gICBFeGl0IGZyb20gbW9yZVxuIgorInMgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIGxpbmVzIG9mIHRleHQgWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorImIgb3IgY3RybC1CICAgICAgICAgICAgIFNraXAgYmFja3dhcmRzIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIHBsYWNlIHdoZXJlIHByZXZpb3VzIHNlYXJjaCBzdGFydGVkXG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGxpbmUgbnVtYmVyXG4iCisiLzxyZWd1bGFyIGV4cHJlc3Npb24+ICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiByZWd1bGFyIGV4cHJlc3Npb24gWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiBsYXN0IHIuZSBbMV1cbiIKKyIhPGNtZD4gb3IgOiE8Y21kPiAgICAgICBFeGVjdXRlIDxjbWQ+IGluIGEgc3Vic2hlbGxcbiIKKyJ2ICAgICAgICAgICAgICAgICAgICAgICBTdGFydCB1cCAvdXNyL2Jpbi92aSBhdCBjdXJyZW50IGxpbmVcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICBSZWRyYXcgc2NyZWVuXG4iCisiOm4gICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIG5leHQgZmlsZSBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggcHJldmlvdXMgZmlsZSBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlclxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIFJlcGVhdCBwcmV2aW91cyBjb21tYW5kXG4iCittc2dzdHIgIiIKKyI8cHJlc2xlZG5pY2E+ICAgICAgICAgICBQcmlrYb5pIG5hc2xlZG5qaWggayB2cnN0aWMgYmVzZWRpbGEgW3RyZW51dG5hIHZlbGlrb3N0IHphc2xvbmFdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgUHJpa2G+aSBuYXNsZWRuamloIGsgdnJzdGljIGJlc2VkaWxhIFt0cmVudXRuYSB2ZWxpa29zdCB6YXNsb25hXVxuIgorIjxlbnRlcj4gICAgICAgICAgICAgICAgIFByaWthvmkgbmFzbGVkbmppaCBrIHZyc3RpYyBiZXNlZGlsYSBbMV0qXG4iCisiZCBhbGkgY3RybC1kICAgICAgICAgICAgUG9tYWtuaSBzZSB6YSBrIHZyc3RpYyBbdHJlbnV0bmEgcG9taehuYSBoaXRyb3N0LCBwb25hdmFkaSAxMV0qXG4iCisicSwgUSBhbGkgPHByZWtpbml0ZXY+ICAgUHJla2luaSBpenBpc1xuIgorInMgICAgICAgICAgICAgICAgICAgICAgIFByZXNrb+hpIGsgdnJzdGljIGJlc2VkaWxhIFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFByZXNrb+hpIGsgemFzbG9ub3YgYmVzZWRpbGEgWzFdXG4iCisiYiBhbGkgY3RybC1CICAgICAgICAgICAgUHJla2/oaSBrIHphc2xvbm92IGJlc2VkaWxhIG5hemFqIFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgIFBvamRpIG5hIHByb3N0b3IgemHoZXRrYSBwcmVquW5qZWdhIGlza2FuamFcbiIKKyI9ICAgICAgICAgICAgICAgICAgICAgICBQcmlrYb5pILl0ZXZpbGtvIHZyc3RpY2VcbiIKKyIvPHJlZ3VsYXJuaSBpenJhej4gICAgICBQb2m56Gkgay10byBwb2phdml0ZXYgcmVndWxhcm5lZ2EgaXpyYXphIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFBvabnoaSBrLXRvIHBvamF2aXRldiB6YWRuamVnYSByZWcuIGl6cmF6YSBbMV1cbiIKKyIhPHVrYXo+IGFsaSA6ITx1a2F6PiAgICBaYb5lbmkgdWtheiB2IHBvZGx1cGluaVxuIgorInYgICAgICAgICAgICAgICAgICAgICAgIFphvmVuaSAvdXNyL2Jpbi92aSBuYSB0cmVudXRuaSB2cnN0aWNpXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgT3N2Zb5pIHphc2xvblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIFBvamRpIG5hIGstdG8gZGF0b3Rla28gemEgdHJlbnV0bm8gWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgUG9qaWQgbmEgay10byBkYXRvdGVrYSBwcmVkIHRyZW51dG5vIFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgICAgIFByaWthvmkgaW1lIHRyZW51dG5lIGRhdG90ZWtlIGluILl0ZXZpbGtvIHZyc3RpY2VcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBQb25vdmkgcHJlarluamkgdWthelxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzczIHRleHQtdXRpbHMvbW9yZS5jOjEzNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzICdoJyBmb3IgaW5zdHJ1Y3Rpb25zLl0iCittc2dzdHIgIltQcml0aXNuaXRlICdoJyB6YSBuYXZvZGlsYS5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBsaW5lICVkIgorbXNnc3RyICJcIiVzXCIgdnJzdGljYSAlZCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQxMgorIywgYy1mb3JtYXQKK21zZ2lkICJbTm90IGEgZmlsZV0gbGluZSAlZCIKK21zZ3N0ciAiW05pIGRhdG90ZWthXSB2cnN0aWNhICVkIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDk0Cittc2dpZCAiICBPdmVyZmxvd1xuIgorbXNnc3RyICIgIFByZWtvcmHoaXRldlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTQzCittc2dpZCAiLi4uc2tpcHBpbmdcbiIKK21zZ3N0ciAiLi4ucHJlc2tva1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTc3Cittc2dpZCAiIgorIlxuIgorIlBhdHRlcm4gbm90IGZvdW5kXG4iCittc2dzdHIgIiIKKyJcbiIKKyJWem9yY2EgbmkgbW/oIG5hanRpXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1ODMgdGV4dC11dGlscy9wZy5jOjEwMjcgdGV4dC11dGlscy9wZy5jOjExNzMKK21zZ2lkICJQYXR0ZXJuIG5vdCBmb3VuZCIKK21zZ3N0ciAiVnpvcmNhIG5pIG1v6CBuYWp0aSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTYyOQorbXNnaWQgImV4ZWMgZmFpbGVkXG4iCittc2dzdHIgInphZ29uIG5pIHVzcGVsXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NDMKK21zZ2lkICJjYW4ndCBmb3JrXG4iCittc2dzdHIgInZlaml0ZXYgbmkgbW9nb+hhXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NzcKK21zZ2lkICIiCisiXG4iCisiLi4uU2tpcHBpbmcgIgorbXNnc3RyICIiCisiXG4iCisiLi4uIFByZXNrb2sgIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjgxCittc2dpZCAiLi4uU2tpcHBpbmcgdG8gZmlsZSAiCittc2dzdHIgIi4uLiBQcmVza29rIG5hIGRhdG90ZWtvICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY4MworbXNnaWQgIi4uLlNraXBwaW5nIGJhY2sgdG8gZmlsZSAiCittc2dzdHIgIi4uLiBQcmVza29rIG5hemFqIG5hIGRhdG90ZWtvICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTk3MworbXNnaWQgIkxpbmUgdG9vIGxvbmciCittc2dzdHIgIlZyc3RpY2EgamUgcHJlZG9sZ2EiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIwMTAKK21zZ2lkICJObyBwcmV2aW91cyBjb21tYW5kIHRvIHN1YnN0aXR1dGUgZm9yIgorbXNnc3RyICJaYXJhZGkgbmVvYnN0b2pl6GVnYSBwcmVquW5qZWdhIHVrYXphIHphbWVuamF2YSBuaSBtb2dv6GEiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNDQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBzY3JlZW5cbiIKKyIgIHEgb3IgUSAgICAgICAgICAgICAgICAgIHF1aXQgcHJvZ3JhbVxuIgorIiAgPG5ld2xpbmU+ICAgICAgICAgICAgICAgbmV4dCBwYWdlXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBza2lwIGEgcGFnZSBmb3J3YXJkXG4iCisiICBkIG9yIF5EICAgICAgICAgICAgICAgICBuZXh0IGhhbGZwYWdlXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBuZXh0IGxpbmVcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIGxhc3QgcGFnZVxuIgorIiAgL3JlZ2V4LyAgICAgICAgICAgICAgICAgc2VhcmNoIGZvcndhcmQgZm9yIHJlZ2V4XG4iCisiICA/cmVnZXg/IG9yIF5yZWdleF4gICAgICBzZWFyY2ggYmFja3dhcmQgZm9yIHJlZ2V4XG4iCisiICAuIG9yIF5MICAgICAgICAgICAgICAgICByZWRyYXcgc2NyZWVuXG4iCisiICB3IG9yIHogICAgICAgICAgICAgICAgICBzZXQgcGFnZSBzaXplIGFuZCBnbyB0byBuZXh0IHBhZ2VcbiIKKyIgIHMgZmlsZW5hbWUgICAgICAgICAgICAgIHNhdmUgY3VycmVudCBmaWxlIHRvIGZpbGVuYW1lXG4iCisiICAhY29tbWFuZCAgICAgICAgICAgICAgICBzaGVsbCBlc2NhcGVcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIHByZXZpb3VzIGZpbGVcbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIG5leHQgZmlsZVxuIgorIlxuIgorIk1hbnkgY29tbWFuZHMgYWNjZXB0IHByZWNlZGluZyBudW1iZXJzLCBmb3IgZXhhbXBsZTpcbiIKKyIrMTxuZXdsaW5lPiAobmV4dCBwYWdlKTsgLTE8bmV3bGluZT4gKHByZXZpb3VzIHBhZ2UpOyAxPG5ld2xpbmU+IChmaXJzdCBwYWdlKS5cbiIKKyJcbiIKKyJTZWUgcGcoMSkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjI2Cittc2dpZCAiQnJvd3NlIHBhZ2V3aXNlIHRocm91Z2ggdGV4dCBmaWxlcy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjI5Cittc2dpZCAiIC1udW1iZXIgICAgICBsaW5lcyBwZXIgcGFnZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzAKK21zZ2lkICIgLWMgICAgICAgICAgIGNsZWFyIHNjcmVlbiBiZWZvcmUgZGlzcGxheWluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAiIC1lICAgICAgICAgICBkbyBub3QgcGF1c2UgYXQgZW5kIG9mIGEgZmlsZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgUHJlcGm5aSB0YWJlbG8gcmF6ZGVsa292IG5hIHphc2xvbiBhbGkgdiBkYXRvdGVrbyIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMgorIywgZnV6enkKK21zZ2lkICIgLWYgICAgICAgICAgIGRvIG5vdCBzcGxpdCBsb25nIGxpbmVzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBuZSB6YXBpuWkgc3ByZW1lbWIgbmEgZGlzayIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMworbXNnaWQgIiAtbiAgICAgICAgICAgdGVybWluYXRlIGNvbW1hbmQgd2l0aCBuZXcgbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzQKK21zZ2lkICIgLXAgPHByb21wdD4gIHNwZWNpZnkgcHJvbXB0XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNQorbXNnaWQgIiAtciAgICAgICAgICAgZGlzYWxsb3cgc2hlbGwgZXNjYXBlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNgorIywgZnV6enkKK21zZ2lkICIgLXMgICAgICAgICAgIHByaW50IG1lc3NhZ2VzIHRvIHN0ZG91dFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzcKK21zZ2lkICIgK251bWJlciAgICAgIHN0YXJ0IGF0IHRoZSBnaXZlbiBsaW5lXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzOAorbXNnaWQgIiArL3BhdHRlcm4vICAgc3RhcnQgYXQgdGhlIGxpbmUgY29udGFpbmluZyBwYXR0ZXJuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICVzIgorbXNnc3RyICIlczogaXpiaXJhIHphaHRldmEgYXJndW1lbnQgLS0gJXNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBvcHRpb24gLS0gJXMiCittc2dzdHIgIiVzOiBuZWRvdm9samVuYSBpemJpcmEgLS0gJXNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM1OQorbXNnaWQgIi4uLnNraXBwaW5nIGZvcndhcmRcbiIKK21zZ3N0ciAiLi4uIHByZXNrb2sgbmFwcmVqXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjEKK21zZ2lkICIuLi5za2lwcGluZyBiYWNrd2FyZFxuIgorbXNnc3RyICIuLi4gcHJlc2tvayBuYXphalxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzc3Cittc2dpZCAiTm8gbmV4dCBmaWxlIgorbXNnc3RyICJOYXNsZWRuamUgZGF0b3Rla2UgbmkiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODEKK21zZ2lkICJObyBwcmV2aW91cyBmaWxlIgorbXNnc3RyICJQcmVquW5qZSBkYXRvdGVrZSBuaSIKKworIzogdGV4dC11dGlscy9wZy5jOjg4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvciBmcm9tICVzIGZpbGUiCittc2dzdHIgIiVzOiBOYXBha2EgcHJpIGJyYW5qdSBpeiBkYXRvdGVrZSAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIEVPRiBpbiAlcyBmaWxlIgorbXNnc3RyICIlczogTmVwcmnoYWtvdmFuIGtvbmVjIGRhdG90ZWtlIHYgJXNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjg4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBlcnJvciBpbiAlcyBmaWxlIgorbXNnc3RyICIlczogTmV6bmFuYSBuYXBha2EgdiBkYXRvdGVraSAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTQxCisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIiVzOiBaYehhc25lIGRhdG90ZWtlIG5pIG1vZ2/oZSB1c3R2YXJpdGlcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjk1MCB0ZXh0LXV0aWxzL3BnLmM6MTExNCB0ZXh0LXV0aWxzL3BnLmM6MTE0MAorbXNnaWQgIlJFIGVycm9yOiAiCittc2dzdHIgIm5hcGFrYSBSRTogIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTA5NworbXNnaWQgIihFT0YpIgorbXNnc3RyICIoRU9GKSIKKworIzogdGV4dC11dGlscy9wZy5jOjExMjIgdGV4dC11dGlscy9wZy5jOjExNDgKK21zZ2lkICJObyByZW1lbWJlcmVkIHNlYXJjaCBzdHJpbmciCittc2dzdHIgIlNocmFuamVuZWdhIGlza2FsbmVnYSBuaXphIG5pIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTIwMworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiAiCittc2dzdHIgIm5pIG1vZ2/oZSBvZHByZXRpICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI1NQorbXNnaWQgInNhdmVkIgorbXNnc3RyICJzaHJhbmplbm8iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzQ1Cittc2dpZCAiOiAhY29tbWFuZCBub3QgYWxsb3dlZCBpbiByZmxhZyBtb2RlLlxuIgorbXNnc3RyICI6ICF1a2F6IG5pIGRvdm9samVuIHYgcmZsYWcgbmHoaW51LlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM4MAorbXNnaWQgImZvcmsoKSBmYWlsZWQsIHRyeSBhZ2FpbiBsYXRlclxuIgorbXNnc3RyICJrbGljIGZvcmsoKSBuaSB1c3BlbCwgcG9za3VzaXRlIHBvem5lamVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjE0NjgKK21zZ2lkICIoTmV4dCBmaWxlOiAiCittc2dzdHIgIihOYXNsZWRuamEgZGF0b3Rla2E6ICIKKworIzogdGV4dC11dGlscy9wZy5jOjE1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXMgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU4NyB0ZXh0LXV0aWxzL3BnLmM6MTY2MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGxpbmVzIHBlciBwYWdlIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogdGV4dC11dGlscy9yZXYuYzo3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6ODAKK21zZ2lkICJSZXZlcnNlIGxpbmVzIGNoYXJhY3Rlcndpc2UuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJpbmNvbXBsZXRlIHdyaXRlIHRvIFwiJXNcIiAod3JpdHRlbiAlemQsIGV4cGVjdGVkICV6ZClcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2ggKGxpbWl0IG9mIGlub3RpZnkgd2F0Y2hlcyB3YXMgcmVhY2hlZCkuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxOTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uXSA8ZmlsZT5cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwMAorbXNnaWQgIkZvbGxvdyB0aGUgZ3Jvd3RoIG9mIGEgbG9nIGZpbGUuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbGluZXMgPG51bWJlcj4gICBvdXRwdXQgdGhlIGxhc3QgPG51bWJlcj4gbGluZXNcbiIKK21zZ3N0ciAiVm5lc2l0ZSC5dGV2aWxvIHN0ZXo6ICIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwNAorIywgZnV6enkKK21zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgICBzYW1lIGFzICctbiA8bnVtYmVyPidcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjEwCittc2dpZCAiV2FybmluZzogdXNlIG9mICd0YWlsZicgaXMgZGVwcmVjYXRlZCwgdXNlICd0YWlsIC1mJyBpbnN0ZWFkLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMjMgdGV4dC11dGlscy90YWlsZi5jOjI2MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGxpbmVzIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjI3NQorIywgZnV6enkKK21zZ2lkICJubyBpbnB1dCBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAiSXpiaXJhIC0tZGF0ZSBuaSBiaWxhIHBvZGFuYS5cbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjI4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBhIGZpbGUiCittc2dzdHIgImtvcmVuc2tpIGlub2QgbmkgaW1lbmlrIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gLi4uXVxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTM5Cittc2dpZCAiRG8gdW5kZXJsaW5pbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjE0MgorbXNnaWQgIiAtdCwgLVQsIC0tdGVybWluYWwgVEVSTUlOQUwgIG92ZXJyaWRlIHRoZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjE0MworbXNnaWQgIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICAgIHVuZGVybGluaW5nIGlzIGluZGljYXRlZCB2aWEgYSBzZXBhcmF0ZSBsaW5lXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjIwNAorbXNnaWQgInRyb3VibGUgcmVhZGluZyB0ZXJtaW5mbyIKK21zZ3N0ciAicHJpIGJyYW5qdSB0ZXJtaW5mbyBiYXplIHBvZGF0ay4gamUgcHJpuWxvIGRvIG5hcGFrZSIKKworIzogdGV4dC11dGlscy91bC5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCBgJXMnIGlzIG5vdCBrbm93biwgZGVmYXVsdGluZyB0byBgZHVtYiciCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjI5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBlc2NhcGUgc2VxdWVuY2UgaW4gaW5wdXQ6ICVvLCAlbyIKK21zZ3N0ciAiTmEgdmhvZHUgamUgbmV6bmFubyB1YmW+bm8gemFwb3JlZGplOiAlbywgJW9cbiIKKworIzogdGV4dC11dGlscy91bC5jOjYyNAorIywgZnV6enkKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAiVmhvZG5hIHZyc3RpY2EgamUgcHJlZG9sZ2EuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gdXNlIHRoZSBIYXJkd2FyZSBDbG9jay4iCisjfiBtc2dzdHIgIq5hbCBsYWhrbyBzYW1vIHNpc3RlbXNraSBza3JibmlrIHNwcmVtaW5qYSBzdHJvam5vIHVyby5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzZWNjb21wIGNvbnRleHQiCisjfiBtc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gYWRkIHNlY2NvbXAgcnVsZSIKKyN+IG1zZ3N0ciAic3RhbmphICVzIG5pIG1vZ2/oZSBkb2JpdGkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGxvYWQgc2VjY29tcCBydWxlIgorI34gbXNnc3RyICJzdGFuamEgJXMgbmkgbW9nb+hlIGRvYml0aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGaWxlc3lzdGVtIGxhYmVsOiIKKyN+IG1zZ3N0ciAiVm5lc2l0ZSB2cnN0byBkYXRvdGXobmVnYSBzaXN0ZW1hOiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHNldCBQQVRIIgorI34gbXNnc3RyICJzdGFuamEgJXMgbmkgbW9nb+hlIGRvYml0aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJhcmd1bWVudCBlcnJvcjogJXMiCisjfiBtc2dzdHIgIiVzOiBOYXBha2UgcHJpIGl6YmlyaSwgdXBvcmFiaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInR0eSBwYXRoICVzIHRvbyBsb25nIgorI34gbXNnc3RyICJWaG9kbmEgdnJzdGljYSBqZSBwcmVkb2xnYS5cbiIKKworI34gbXNnaWQgImJhZCB0aW1lb3V0IHZhbHVlOiAlcyIKKyN+IG1zZ3N0ciAibmVwcmF2aWxuYSB2cmVkbm9zdCB6YSBwcmVrb3Jh6Gl0ZXYg6GFzYTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQiCisjfiBtc2dzdHIgIm5hcGFrYSBwcmkgaXNrYW5qdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3I6IGlnbm9yZSBlbnRyeSBhdCBsaW5lICVkLiIKKyN+IG1zZ3N0ciAibmFwYWthIHByaSBpc2thbmp1IgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBub3Qgc2V0dXAgdGltZXIiCisjfiBtc2dzdHIgIm1vdW50OiBoaXRyb3N0aSBuaSBtb2dv6GUgbmFzdGF2aXRpOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzYW1lIgorI34gbXNnc3RyICJJbWUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGFjY2VzcyBmaWxlICVzIgorI34gbXNnc3RyICJEYXRvdGVrZSAsJXNgIG5pIG1vZ2/oZSBvZHByZXRpIgorCisjfiBtc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgc3BlY2lhbCBkZXZpY2UiCisjfiBtc2dzdHIgIiVzIG5pIHBvc2VibmEgYmxv6G5hIG5hcHJhdmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGRldmljZSBpcyBtaXNhbGlnbmVkIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBuYXByYXZhIGplIHphcG9zbGVuYSIKKworI34gbXNnaWQgIk9TLzIgaGlkZGVuIEM6IGRyaXZlIgorI34gbXNnc3RyICJPUy8yIHNrcml0aSBDOiBwb2dvbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGdldCBkZXZpY2UgcGF0aCIKKyN+IG1zZ3N0ciAiaXptZW5qYWxuZSBuYXByYXZlIG5pIG1vZ2/oZSBwcmV2aXRpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmtub3duIGRldmljZSBuYW1lIgorI34gbXNnc3RyICJtb3VudDogJXM6IG5lem5hbmEgbmFwcmF2YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGdldCBkbSBuYW1lIgorI34gbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyAgLiUwNmQgc2Vjb25kc1xuIgorI34gbXNnc3RyICIlcyAgJS42ZiBzZWt1bmRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYWdlcyIKKyN+IG1zZ3N0ciAic3Bvcm/oaWxhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJWZXJ5IGxvbmcgKCV6dSBieXRlcykgZmlsZW5hbWUgYCVzJyBmb3VuZC5cbiIKKyN+ICIgUGxlYXNlIGluY3JlYXNlIE1BWF9JTlBVVF9OQU1FTEVOIGluIG1rY3JhbWZzLmMgYW5kIHJlY29tcGlsZS4gIEV4aXRpbmcuIgorI34gbXNnc3RyICIiCisjfiAiT2JzdGFqYSB6ZWxvIGRvbGdhICgldSBiYWp0b3YpIGRhdG90ZWthIGAlcycuXG4iCisjfiAiJyBQcm9zaW0gZGEgcG92ZehhdGUgTUFYX0lOUFVUX05BTUVMRU4gdiBta2NyYW1mcy5jIGluIHBvbm92bm8gcHJldmVkZXRlLiBLb27odWplbS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAiZG9kZWxpdGV2IG1lZHBvbW5pbG5pa2EgemEgc2V6bmFtZSBuaSB1c3BlbGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzIGZvciBtYXBzIgorI34gbXNnc3RyICJkb2RlbGl0ZXYgbWVkcG9tbmlsbmlrYSB6YSBzZXpuYW1lIG5pIHVzcGVsYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorI34gbXNnc3RyICJkb2RlbGl0ZXYgbWVkcG9tbmlsbmlrYSB6YSBpbm9kZSBuaSB1c3BlbGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTnVtYmVyIG9mIFNlbWFwaG9yZSBJRHMiCisjfiBtc2dzdHIgIql0ZXZpbG8gc2VrdG9yamV2IgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLWMgfCAtbCBmaWxlbmFtZV0gWy1uWFhdIFstaVhYXSAvZGV2L25hbWUgW2Jsb2Nrc10iCisjfiBtc2dzdHIgIlVwb3JhYmE6ICVzIFstYyB8IC1sIGltZSBkYXQuXSBbLW5YWF0gWy1pWFhdIC9kZXYvaW1lIFtibG9raV1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogYmFkIGlub2RlIHNpemUiCisjfiBtc2dzdHIgInNsYWJhIHZlbGlrb3N0IGlub2RhIgorCisjfiBtc2dpZCAid2lsbCBub3QgdHJ5IHRvIG1ha2UgZmlsZXN5c3RlbSBvbiAnJXMnIgorI34gbXNnc3RyICJuYSAnJXMnIG5lIGJvIHBvc2t1c2EgbmFyZWRpdGkgZGF0b3Rl6G5pIHNpc3RlbSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0eXBlOiAlZCIKKyN+IG1zZ3N0ciAidnJzdGE6ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZGlzazogJS4qcyIKKyN+IG1zZ3N0ciAiZGlzazogJS4qc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxhYmVsOiAlLipzIgorI34gbXNnc3RyICJvem5ha2E6ICUuKnNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmbGFnczogJXMiCisjfiBtc2dzdHIgInphc3RhdmljZToiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYnl0ZXMvc2VjdG9yOiAlbGQiCisjfiBtc2dzdHIgImJhanRpL3Nla3RvcjogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VjdG9ycy90cmFjazogJWxkIgorI34gbXNnc3RyICJzZWt0b3Ivc2xlZDogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHJhY2tzL2N5bGluZGVyOiAlbGQiCisjfiBtc2dzdHIgInNsZWQvc3RlemE6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlY3RvcnMvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAic2VrdG9yL3N0ZXphOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjeWxpbmRlcnM6ICVsZCIKKyN+IG1zZ3N0ciAic3RlemU6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJwbTogJWQiCisjfiBtc2dzdHIgIm9icmF0aS9taW46ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW50ZXJsZWF2ZTogJWQiCisjfiBtc2dzdHIgInByZXBsZXRlbm86ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHJhY2tza2V3OiAlZCIKKyN+IG1zZ3N0ciAicG+5ZXZub3N0c2xlZGkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3lsaW5kZXJza2V3OiAlZCIKKyN+IG1zZ3N0ciAicG+5ZXZub3N0c2xlZGk6ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaGVhZHN3aXRjaDogJWxkIChtaWxsaXNlY29uZHMpIgorI34gbXNnc3RyICJ6YW1lbmphdmEgZ2xhdmU6ICVsZFx0XHQjIG1pbGlzZWt1bmRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmFjay10by10cmFjayBzZWVrOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgImlza2FuamUgc2xlZC1kby1zbGVkaTogJWxkXHQjIG1pbGlzZWt1bmRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb25zOiAlZCIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIiVkIHJhemRlbGtvdjpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJZb3UgY2Fubm90IGNoYW5nZSBhIHBhcnRpdGlvbiBpbnRvIGFuIGV4dGVuZGVkIG9uZSBvciB2aWNlIHZlcnNhLiBEZWxldGUgaXQgZmlyc3QuIgorI34gbXNnc3RyICIiCisjfiAiUmF6ZGVsa2EgbmUgbW9yZXRlIHByZXR2b3JpdGkgdiByYXq5aXJqZW5lZ2EgYWxpIG9icmF0bm8uXG4iCisjfiAiTmFqcHJlaiBnYSB6YnJpuWl0ZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiTGFiZWwgZ2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnNcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWxsdSBjeWxpbmRlcnMsICVkIHBoeXNpY2FsIGN5bGluZGVyc1xuIgorI34gIiAgICAgICAgICAgICAgICAlZCBleHRyYSBzZWN0cy9jeWwsIGludGVybGVhdmUgJWQ6MVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAob3puYWthIGRpc2thIHRpcGEgU0dJKTogJWQgZ2xhdiwgJWQgc2VrdG9yamV2XG4iCisjfiAiJWQgc3RleiwgJWQgZml6aehuaWggc3RlelxuIgorI34gIiVkIGRvZGF0bmkgc2VrdC9zdGV6bywgcHJlcGxldGVub3N0ICVkOjFcbiIKKyN+ICIlc1xuIgorI34gIkVub3RlID0gJXMgb2QgJWQgKiAlZCBiYWp0b3ZcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICI8bm9uZT4iCisjfiBtc2dzdHIgIkJyZXoiCisKKyN+IG1zZ2lkICJnZXR0aW1lb2ZkYXkgZmFpbGVkIgorI34gbXNnc3RyICJrbGljIGdldHRpbWVvZmRheSBuaSB1c3BlbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzeXNpbmZvIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZnN5bmMgbmkgdXNwZWwiCisKKyN+IG1zZ2lkICJ1c2FnZTogbGFzdCBbLSNdIFstZiBmaWxlXSBbLXQgdHR5XSBbLWggaG9zdG5hbWVdIFt1c2VyIC4uLl1cbiIKKyN+IG1zZ3N0ciAidXBvcmFiYTogbGFzdCBbLSNdIFstZiBkYXRdIFstdCB0dHldIFstaCBpbWUgZ29zdGl0ZWxqYV0gW3Vwb3JhYm5payAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IG1tYXAgZmFpbGVkIgorI34gbXNnc3RyICJpc2thbmplIGplIGJpbG8gbmV1c3BluW5vIgorCisjfiBtc2dpZCAiICBzdGlsbCBsb2dnZWQgaW4iCisjfiBtc2dzdHIgIiAguWUgdmVkbm8gcHJpamF2bGplbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJ3dG1wIGJlZ2lucyAlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gInd0bXAgemHoZW5qYSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJnZXRob3N0bmFtZSBmYWlsZWQiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJOYXBha2EgcHJpIHphcGlyYW5qdSBkYXRvdGVrZVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImludGVycnVwdGVkICUxMC4xMHMgJTUuNXMgXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJwcmVraW5qZW5vICUxMC4xMHMgJTUuNXMgXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWF1dG8vLWEgb3B0aW9uIgorI34gbXNnc3RyICJuZXZlbGphdm5pIGlkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIGNoYW5nZSB0aGUgU3lzdGVtIENsb2NrLiIKKyN+IG1zZ3N0ciAirmFsIGxhaGtvIHNhbW8gc2lzdGVtc2tpIHNrcmJuaWsgc3ByZW1pbmogc2lzdGVtc2tvIHVyby5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiBjaGFuZ2UgdGhlIEhhcmR3YXJlIENsb2NrIGVwb2NoIGluIHRoZSBrZXJuZWwuIgorI34gbXNnc3RyICKuYWwgbGFoa28gc2FtbyBzaXN0ZW1za2kgc2tyYm5payBzcHJlbWluamEgcmF6ZG9iamUgc3Ryb2puZSB1cmUgdiBqZWRydS5cbiIKKworI34gbXNnaWQgInJlYWQoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKKyN+IG1zZ3N0ciAia2xpYyByZWFkKCkgayAlcyB6YSDoYWthbmplIG5hIHByZW1payB1cmUgbmkgdXNwZWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2V0IHJ0YyBhbGFybSBmYWlsZWQiCisjfiBtc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIHZhbHVlIgorI34gbXNnc3RyICJuZXByYXZpbG5hIHZyZWRub3N0IHphIHByZWtvcmHoaXRldiDoYXNhOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW0sIC0tbW91bnQgICAgICAgICAgICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdSwgLS11dHMgICAgICAgICAgICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1pLCAtLWlwYyAgICAgICAgICAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW4sIC0tbmV0ICAgICAgICAgICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1VLCAtLXVzZXIgICAgICAgICAgICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVtIgorI34gbXNnc3RyICJuaSBtb2dv6GUgb2RwcmV0aSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmcmVhZCBmYWlsZWQiCisjfiBtc2dzdHIgIihOYXNsZWRuamEgZGF0b3Rla2E6ICVzKSIKKworI34gbXNnaWQgIkhlbHAgU2NyZWVuIGZvciBjZmRpc2siCisjfiBtc2dzdHIgIk9zbm92bmEgbmF2b2RpbGEgemEgY2ZkaXNrIgorCisjfiBtc2dpZCAiZGlzayBkcml2ZS4iCisjfiBtc2dzdHIgIm5hIHZhuWVtIGRpc2t1LiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBgbm8nIgorI34gbXNnc3RyICIgICAgICAgICAgICAgYG5lJyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUb28gc21hbGwgcGFydGl0aW9uIHNpemUgc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAiTm9iZW4gcmF6ZGVsZWsgbmkgZG9sb+hlblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInN0YXQgZmFpbGVkICVzIgorI34gbXNnc3RyICIoTmFzbGVkbmphIGRhdG90ZWthOiAlcykiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCisjfiBtc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbjogJXMiCisjfiBtc2dzdHIgIm5pIG1vZ2/oZSBvZHByZXRpICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogbHN0YXQgZmFpbGVkIgorI34gbXNnc3RyICJpc2thbmplIGplIGJpbG8gbmV1c3BluW5vIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBsZWFzZSwgc2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgZGlzayBsYWJlbC4iCisjfiBtc2dzdHIgIkFsaSC+ZWxpdGUgdXN0dmFyaXRpIG96bmFrbyBkaXNrYT8gKHkvbikgIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlR5cGUgb2YgdGhlIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkLiIKKyN+IG1zZ3N0ciAiVGlwIHJhemRlbGthICVkIGplIHNwcmVtZW5qZW4gdiAleCAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGZpbGVcbiIKKyN+IG1zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTpcbiIKKyN+IG1zZ3N0ciAiVXBvcmFiYTpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG1rZnMoOCkuXG4iCisjfiBtc2dzdHIgIkZpbmdlciBpbmZvcm1hY2lqYSBzcHJlbWVuamVuYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyAoJXMpXG4iCisjfiBtc2dzdHIgIiVzOiAlcyAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQmFkIHN3YXAgaGVhZGVyIHNpemUsIG5vIGxhYmVsIHdyaXR0ZW4uIgorI34gbXNnc3RyICJQb7lrb2RvdmFuYSB2ZWxpa29zdCBnbGF2YSBpem1lbmphbG5lZ2EgcHJvc3RvcmEsIG96bmFrYSBuaSB6YXBpc2FuYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlZWsgZXJyb3Igb24gJXMgLSBjYW5ub3Qgc2VlayB0byAlbHUiCisjfiBtc2dzdHIgIm5hcGFrYSBwcmkgaXNrYW5qdSBuYSAlcyAtIGlza2FuamUgZG8gJWx1IG5pIG1vvm5vXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBlcnJvcjogd2FudGVkIDB4JTA4eCUwOHgsIGdvdCAweCUwOHglMDh4IgorI34gbXNnc3RyICJuYXBha2EgcHJpIGlza2FuanU6IHphaHRldmFubyAweCUwOHglMDh4LCBkb2JsamVubyAweCUwOHglMDh4XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVhZCBlcnJvciBvbiAlcyAtIGNhbm5vdCByZWFkIHNlY3RvciAlbGx1IgorI34gbXNnc3RyICJuYXBhayBwcmkgYnJhbmp1IG5hICVzIC0gYnJhbmplIHNla3RvcmphICVsdSBuaSBtb75ub1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGVycm9yIG9uICVzIC0gY2Fubm90IHdyaXRlIHNlY3RvciAlbGx1IgorI34gbXNnc3RyICJuYXBha2EgcHJpIHBpc2FuanUgbmEgJXMgLSBzZWt0b3JqYSAlbHUgbmkgbW++bm8gemFwaXNhdGlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBwYXJ0aXRpb24gc2VjdG9yIHNhdmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJzaHJhbmplbmUgZGF0b3Rla2Ugc2VrdG9yamEgcmF6ZGVsa2EgbmkgbW9nb+hlIG9kcHJldGkgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGVycm9yIG9uICVzIgorI34gbXNnc3RyICJuYXBha2EgcHJpIHBpc2FuanUgbmEgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcykiCisjfiBtc2dzdHIgInN0YW5qYSBvYm5vdml0dmVuZSBkYXRvdGVrZSByYXpkZWxrYSBuaSBtb2dv6GUgZG9iaXRpICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gcmVzdG9yZSBmaWxlIGhhcyB3cm9uZyBzaXplIC0gbm90IHJlc3RvcmluZyIKKyN+IG1zZ3N0ciAib2Jub3ZpdHZlbmEgZGF0b3Rla2EgcmF6ZGVsa2EgaW1hIG5hcGHobm8gdmVsaWtvc3QgLSBuZSBvYm5hdmxqYW1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcykiCisjfiBtc2dzdHIgIm9ibm92aXR2ZW5lIGRhdG90ZWtlIHJhemRlbGthIG5pIG1vZ2/oZSBvZHByZXRpICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciByZWFkaW5nICVzIgorI34gbXNnc3RyICJuYXBha2EgcHJpIGJyYW5qdSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuIGRldmljZSAlcyBmb3Igd3JpdGluZyIKKyN+IG1zZ3N0ciAibmFwcmF2ZSAlcyBuaSBtb2dv6GUgb2RwcmV0aSB6YSBicmFuamVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciB3cml0aW5nIHNlY3RvciAlbHUgb24gJXMiCisjfiBtc2dzdHIgIm5hcGFrYSBwcmkgemFwaXNvdmFuanUgc2VrdG9yamEgJWx1IG5hICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiRGlzayAlczogZ2VvbWV0cmlqZSBuaSBtb2dv6GUgbmFqdGlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJEaXNrICVzOiBjYW5ub3QgZ2V0IHNpemUiCisjfiBtc2dzdHIgIkRpc2sgJXM6IHZlbGlrb3N0aSBuaSBtb2dv6GUgbmFqdGlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogc3RhcnQ9JWx1IC0gdGhpcyBsb29rcyBsaWtlIGEgcGFydGl0aW9uIHJhdGhlciB0aGFuXG4iCisjfiAidGhlIGVudGlyZSBkaXNrLiBVc2luZyBmZGlzayBvbiBpdCBpcyBwcm9iYWJseSBtZWFuaW5nbGVzcy5cbiIKKyN+ICJbVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiBpZiB5b3UgcmVhbGx5IHdhbnQgdGhpc10iCisjfiBtc2dzdHIgIiIKKyN+ICJPcG96b3JpbG86IHph6GV0ZWs9JWx1IC0gdG8gamUgYm9saiBwb2RvYm5vIHJhemRlbGt1IGtvdFxuIgorI34gImNlbG90bmVtdSBkaXNrdS4gVXBvcmFiYSBmZGlzay1hIG5hIG5qZW0gamUgdmVyamV0bm8gXG4iCisjfiAiYnJleiBzbWlzbGEuIFt1cG9yYWJpdGUgLS1mb3JjZSBpemJpcm8g6GUgdG8gcmVzIL5lbGl0ZV1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBIRElPX0dFVEdFTyBzYXlzIHRoYXQgdGhlcmUgYXJlICVsdSBoZWFkcyIKKyN+IG1zZ3N0ciAiT3Bvem9yaWxvOiBIRElPX0dFVEdFTyBwcmF2aSBkYSBqZSAlbHUgZ2xhdlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IHNlY3RvcnMiCisjfiBtc2dzdHIgIk9wb3pvcmlsbzogSERJT19HRVRHRU8gcHJhdmksIGRhIGplICVsdSBzZWt0b3JqZXZcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBCTEtHRVRTSVpFL0hESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGN5bGluZGVycyIKKyN+IG1zZ3N0ciAiT3Bvem9yaWxvOiBCTEtHRVRTSVpFL0hESU9fR0VUR0VPIHByYXZpLCBkYSBqZSAlbHUgc3RlelxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiB1bmxpa2VseSBudW1iZXIgb2Ygc2VjdG9ycyAoJWx1KSAtIHVzdWFsbHkgYXQgbW9zdCA2M1xuIgorI34gIlRoaXMgd2lsbCBnaXZlIHByb2JsZW1zIHdpdGggYWxsIHNvZnR3YXJlIHRoYXQgdXNlcyBDL0gvUyBhZGRyZXNzaW5nLiIKKyN+IG1zZ3N0ciAiIgorI34gIk9wb3pvcmlsbzogbWFsbyB2ZXJqZXRubyC5dGV2aWxvIHNla3RvcmpldiAoJWx1KSAtIHBvbmF2YWRpIGppaCBqZSA2M1xuIgorI34gIlRvIGJvIHBvdnpyb+hpbG8gdGW+YXZlIHogdnNvIHByb2dyYW1za28gb3ByZW1vLCBraSB1cG9yYWJsamEgQy9HL1MgbmFzbGF2bGphbmplLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsdSBjeWxpbmRlcnMsICVsdSBoZWFkcywgJWx1IHNlY3RvcnMvdHJhY2tcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsdSBzdGV6LCAlbHUgZ2xhdiwgJWx1IHNla3Rvcmpldi9zdGV6b1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3IgaGVhZDogJWx1IChzaG91bGQgYmUgaW4gMC0lbHUpIgorI34gbXNnc3RyICIlcyBvZCByYXpkZWxrYSAlcyBpbWEgbmVtb2dv6G8gdnJlZG5vc3QgZ2xhdmU6ICVsdSAobW9yYSBiaXRpIDAtJWx1KVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3Igc2VjdG9yOiAlbHUgKHNob3VsZCBiZSBpbiAxLSVsdSkiCisjfiBtc2dzdHIgIiVzIG9kIHJhemRlbGthICVzIGltYSBuZW1vZ2/obyB2cmVkbm9zdCBzZWt0b3JqYTogJWx1IChtb3JhIGJpdGkgMS0lbHUpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBjeWxpbmRlcnM6ICVsdSAoc2hvdWxkIGJlIGluIDAtJWx1KSIKKyN+IG1zZ3N0ciAiJXMgb2QgcmF6ZGVsa2EgJXMgaW1hIG5lbW9nb+hvIHZyZWRub3N0IHN0ZXplOiAlbHUgKG1vcmEgYml0aSAwLSVsdSlcbiIKKworI34gbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSAuLi5cbiIKKyN+IG1zZ3N0ciAiUG9ub3ZubyBiZXJlbSB0YWJlbG8gcmF6ZGVsa292IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJUaGUgY29tbWFuZCB0byByZS1yZWFkIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLlxuIgorI34gIlJ1biBwYXJ0cHJvYmUoOCksIGtwYXJ0eCg4KSBvciByZWJvb3QgeW91ciBzeXN0ZW0gbm93LFxuIgorI34gImJlZm9yZSB1c2luZyBta2ZzIgorI34gbXNnc3RyICIiCisjfiAiVWtheiBwb25vdm5lZ2EgYnJhbmphIHRhYmVsZSByYXpkZWxrb3YgbmkgdXNwZWxcbiIKKyN+ICJQb25vdm5vIHphvmVuaXRlIHZhuSBzaXN0ZW0gemRhaiBwcmVkIHVwb3JhYm8gbWtmc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkVycm9yIGNsb3NpbmcgJXMiCisjfiBtc2dzdHIgIk5hcGFrYSBwcmkgemFwaXJhbmp1ICVzXG4iCisKKyN+IG1zZ2lkICIlczogbm8gc3VjaCBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiJXM6IHRhayByYXpkZWxlayBuZSBvYnN0YWphXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGZvcm1hdCAtIHVzaW5nIHNlY3RvcnMiCisjfiBtc2dzdHIgIm5lcmF6cG96bmF2bmEgb2JsaWthIC0gdXBvcmFibGphbSBzZWt0b3JqZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuaW1wbGVtZW50ZWQgZm9ybWF0IC0gdXNpbmcgJXMiCisjfiBtc2dzdHIgIm5lcG9kcHJ0YSBvYmxpa2EgLSB1cG9yYWJsamFtICVzXG4iCisKKyN+IG1zZ2lkICJzZWN0b3JzIgorI34gbXNnc3RyICJzZWt0b3JqaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IGN5bGluZGVycyBvZiAlbHUgYnl0ZXMsIGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFbm90ZSA9IHN0ZXplIHBvICVsdSBiYWp0b3YsIGJsb2tpIHBvIDEwMjQgYmFqdG92LCC5dGVqZW0gb2QgJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290IFN0YXJ0ICAgICBFbmQgICAjY3lscyAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgTmFwcmF2YSBaYWdvbiBaYehldGVrIEtvbmVjICAjc3RlemUgICAgI2Jsb2tpICAgIElkICBTaXN0ZW1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IHNlY3RvcnMgb2YgNTEyIGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFbm90ZSA9IHNla3RvcmppIHBvIDUxMiBiYWp0b3YsILl0ZWplbSBvZCAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgICAgU3RhcnQgICAgICAgRW5kICAgI3NlY3RvcnMgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiIE5hcHJhdmEgWmFnb24gICBaYehldGVrICAgICBLb25lYyAgI3NrdHJqaSAgIElkICBTaXN0ZW1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFbm90ZSA9IGJsb2tpIHBvIDEwMjQgYmFqdG92LCC5dGVqZW0gb2QgJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290ICAgU3RhcnQgICAgICAgRW5kICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiBOYXByYXZhIFphZ29uICBaYehldGVrICAgICBLb25lYyAgICNibG9raSAgICBJZCAgU2lzdGVtXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiAxTWlCID0gMTAyNCoxMDI0IGJ5dGVzLCBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiRW5vdGUgPSBNaUIgaXogMTA0ODU3NiBiYWp0b3YsIGJsb2tpIHBvIDEwMjQgYmFqdG92LCC5dGVqZSBzZSBvZCAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgU3RhcnQgICBFbmQgICAgTWlCICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIk5hcHJhdmEgWmFnb24gWmHoZXRlayBLb25lYyAgIE1pQiAgICAjYmxva2kgICAgSWQgIFNpc3RlbVxuIgorCisjfiBtc2dpZCAiXHRcdHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICJcdFx0emHoZXRlazogKHN0eixnLHNrdCkgcHJp6GFrb3Zhbm8gKCVsZCwlbGQsJWxkKSwgbmFqZGVubyAoJWxkLCVsZCwlbGQpXG4iCisKKyN+IG1zZ2lkICJcdFx0ZW5kOiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICJcdFx0a29uZWM6IChzdHosZyxza3QpIHByaehha292YW5vICglbGQsJWxkLCVsZCksIG5hamRlbm8gKCVsZCwlbGQsJWxkKVxuIgorCisjfiBtc2dpZCAicGFydGl0aW9uIGVuZHMgb24gY3lsaW5kZXIgJWxkLCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZGlza1xuIgorI34gbXNnc3RyICJyYXpkZWxlayBzZSBrb27oYSBuYSBzdGV6aSAlbGQgemEga29uY2VtIGRpc2thXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IFRoZSBwYXJ0aXRpb24gdGFibGUgbG9va3MgbGlrZSBpdCB3YXMgbWFkZVxuIgorI34gIiAgZm9yIEMvSC9TPSovJWxkLyVsZCAoaW5zdGVhZCBvZiAlbGQvJWxkLyVsZCkuXG4iCisjfiAiRm9yIHRoaXMgbGlzdGluZyBJJ2xsIGFzc3VtZSB0aGF0IGdlb21ldHJ5LiIKKyN+IG1zZ3N0ciAiIgorI34gIk9wb3pvcmlsbzogVGFiZWxhIHJhemRlbGtvdiBpemdsZWRhLCBrb3QgZGEgamUgYmlsYVxuIgorI34gIiBuYXJlamVuYSB6YSBzdHovZy9za3Q9Ki8lbGQlbGQgKG5hbWVzdG8gJWxkLyVsZC8lbGQpLlxuIgorI34gIlphIHRhIHNwaXNlayBzZSBwcml2emVtYSB0byBnZW9tZXRyaWpvLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5vIHBhcnRpdGlvbiB0YWJsZSBwcmVzZW50LiIKKyN+IG1zZ3N0ciAibm9iZW5hIHRhYmVsYSByYXpkZWxrb3YgbmkgbmEgdm9sam8uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3RyYW5nZSwgb25seSAlZCBwYXJ0aXRpb25zIGRlZmluZWQuIgorI34gbXNnc3RyICJ6YW5pbWl2bywgc2FtbyAlZCByYXpkZWxrb3YgamUgZG9sb+hlbmloLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGJ1dCBpcyBub3QgbWFya2VkIEVtcHR5IgorI34gbXNnc3RyICJPcG96b3JpbG86IHJhemRlbGVrICVzIGltYSB2ZWxpa29zdCAwIGFtcGFrIG5pIG96bmHoZW4ga290IFByYXplblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGFuZCBpcyBib290YWJsZSIKKyN+IG1zZ3N0ciAiT3Bvem9yaWxvOiByYXpkZWxlayAlcyBpbWEgdmVsaWtvc3QgMCBpbiBqZSBvem5h6GVuIGtvdCB6YWdvbnNraVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGFuZCBub256ZXJvIHN0YXJ0IgorI34gbXNnc3RyICJPcG96b3JpbG86IHJhemRlbGVrICVzIGltYSB2ZWxpa29zdCAwIGluIG5lbmnoZWxuaSB6YehldGVrXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGlzIG5vdCBjb250YWluZWQgaW4gcGFydGl0aW9uICVzIgorI34gbXNnc3RyICJuaSB2c2Vib3ZhbiB2IHJhemRlbGt1ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9ucyAlcyBhbmQgJXMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAiT3Bvem9yaWxvOiByYXpkZWxlayAlZCBqZSBwcmF6ZW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogcGFydGl0aW9uICVzIGNvbnRhaW5zIHBhcnQgb2YgdGhlIHBhcnRpdGlvbiB0YWJsZSAoc2VjdG9yICVsbHUpLFxuIgorI34gImFuZCB3aWxsIGRlc3Ryb3kgaXQgd2hlbiBmaWxsZWQiCisjfiBtc2dzdHIgIiIKKyN+ICJPcG96b3JpbG86IHJhemRlbGVrICVzIHZzZWJ1amUgZGVsIHRhYmVsZSByYXpkZWxrb3YgKHNla3RvciAlbHUpXG4iCisjfiAiaW4gYm8gdW5p6GVuLCBrbyBzZSBuYXBvbG5pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIHN0YXJ0cyBhdCBzZWN0b3IgMCIKKyN+IG1zZ3N0ciAiT3Bvem9yaWxvOiByYXpkZWxlayAlcyBzZSB6YehuZSBuYSBzZWt0b3JqdSAwXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGV4dGVuZHMgcGFzdCBlbmQgb2YgZGlzayIKKyN+IG1zZ3N0ciAiT3Bvem9yaWxvOiByYXpkZWxlayAlcyBwb3Rla2EgemEga29uY2VtIGRpc2thXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkFtb25nIHRoZSBwcmltYXJ5IHBhcnRpdGlvbnMsIGF0IG1vc3Qgb25lIGNhbiBiZSBleHRlbmRlZFxuIgorI34gIiAoYWx0aG91Z2ggdGhpcyBpcyBub3QgYSBwcm9ibGVtIHVuZGVyIExpbnV4KSIKKyN+IG1zZ3N0ciAiIgorI34gIk1lZCBwcmltYXJuaW1pIHJhemRlbGtpIHNlIGxhaGtvIHJherlpcmkgc2FtbyBlZGVuXG4iCisjfiAiICjoZXByYXYgdG8gbmkgcHJvYmxlbSBwcmkgTGludXgtdSlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZG9lcyBub3Qgc3RhcnQgYXQgYSBjeWxpbmRlciBib3VuZGFyeSIKKyN+IG1zZ3N0ciAiT3Bvem9yaWxvOiByYXpkZWxlayAlcyBzZSBuZSB6YehuZSBuYSBtZWppIHMgc3Rlem9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZG9lcyBub3QgZW5kIGF0IGEgY3lsaW5kZXIgYm91bmRhcnkiCisjfiBtc2dzdHIgIk9wb3pvcmlsbzogcmF6ZGVsZWsgJXMgc2UgbmUga29u6GEgbmEgbWVqaSBzIHN0ZXpvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IG1vcmUgdGhhbiBvbmUgcHJpbWFyeSBwYXJ0aXRpb24gaXMgbWFya2VkIGJvb3RhYmxlIChhY3RpdmUpXG4iCisjfiAiVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sIGJ1dCB0aGUgRE9TIE1CUiB3aWxsIG5vdCBib290IHRoaXMgZGlzay4iCisjfiBtc2dzdHIgIiIKKyN+ICJPcG96b3JpbG86IHZl6CBrb3QgZW4gcHJpbWFybmkgcmF6ZGVsZWsgamUgb3puYehlbiBrb3QgemFnb25za2kgXG4iCisjfiAiVG8gbmkgcHJvYmxlbSB6YSBMSUxPLCBzYW1vIERPUyBNQlIgc2UgbmUgbW9yZSB6YWduYXRpIHMgdGVnYSBkaXNrYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogdXN1YWxseSBvbmUgY2FuIGJvb3QgZnJvbSBwcmltYXJ5IHBhcnRpdGlvbnMgb25seVxuIgorI34gIkxJTE8gZGlzcmVnYXJkcyB0aGUgYGJvb3RhYmxlJyBmbGFnLiIKKyN+IG1zZ3N0ciAiIgorI34gIk9wb3pvcmlsbzogcG9uYXZhZGkgc2UgbGFoa28gemFnYW5qYSBzIHByaW1hcm5paCByYXpkZWxrb3YsIHNhbW9cbiIKKyN+ICJMSUxPIG5lIHVwb7l0ZXZhIHphc3RhdmljZSBgYm9vdGFibGUnLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBubyBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLiIKKyN+IG1zZ3N0ciAiIgorI34gIk9wb3pvcmlsbzogbm9iZW4gcHJpbWFybmkgcmF6ZGVsZWsgbmkgb3puYehlbiBrb3QgemFnb25za2lcbiIKKyN+ICJUbyBuaSBwcm9ibGVtIHphIExJTE8sIHNhbW8gRE9TIE1CUiBzZSBuZSBtb3JlIHphZ25hdGkgcyB0ZWdhIGRpc2thLlxuIgorCisjfiBtc2dpZCAic3RhcnQiCisjfiBtc2dzdHIgInph6GV0ZWsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uICVzOiBzdGFydDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgInJhemRlbGVrICVzOiB6YehldGVrOiAoc3R6LGcsc2t0KSBwcmnoYWtvdmFubyAoJWxkLCVsZCwlbGQpLCBuYWpkZW5vICglbGQsJWxkLCVsZClcbiIKKworI34gbXNnaWQgImVuZCIKKyN+IG1zZ3N0ciAia29uZWMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uICVzOiBlbmQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpIgorI34gbXNnc3RyICJyYXpkZWxlayAlczoga29uZWM6IChzdHosZyxza3QpIHByaehha292YW5vICglbGQsJWxkLCVsZCkgbmFqZGVubyAoJWxkLCVsZCwlbGQpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uICVzIGVuZHMgb24gY3lsaW5kZXIgJWxkLCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZGlzayIKKyN+IG1zZ3N0ciAicmF6ZGVsZWsgJXMgc2Uga29u6GEgbmEgc3RlemkgJWxkLCB6YSBrb25jZW0gZGlza2FcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogc2hpZnRlZCBzdGFydCBvZiB0aGUgZXh0ZCBwYXJ0aXRpb24gZnJvbSAlbGxkIHRvICVsbGRcbiIKKyN+ICIoRm9yIGxpc3RpbmcgcHVycG9zZXMgb25seS4gRG8gbm90IGNoYW5nZSBpdHMgY29udGVudHMuKSIKKyN+IG1zZ3N0ciAiIgorI34gIk9wb3pvcmlsbzogemHoZXRlayByYXq5aXJqZW5lZ2EgcmF6ZGVsa2EgamUgYmlsIHByZW1ha25qZW5cbiIKKyN+ICJvZCAlbGQgbmEgJWxkIChTYW1vIHphIGl6cGlzb3ZhbmplLCBuZSBzcHJlbWluamFqdGUgdnNlYmluZS4pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IGV4dGVuZGVkIHBhcnRpdGlvbiBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gIkRPUyBhbmQgTGludXggd2lsbCBpbnRlcnByZXQgdGhlIGNvbnRlbnRzIGRpZmZlcmVudGx5LiIKKyN+IG1zZ3N0ciAiIgorI34gIk9wb3pvcmlsbzogcmF6uWlyamVuIHJhemRlbGVrIHNlIG5lIHph6G5lIG5hIG1lamkgcyBzdGV6by5cbiIKKyN+ICJET1MgaW4gTGludXggYm9zdGEgdG9sbWHoaWxhIHZzZWJpbm8gcmF6bGnobm8uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRVJST1I6IHNlY3RvciAlbGx1IGRvZXMgbm90IGhhdmUgYW4gbXNkb3Mgc2lnbmF0dXJlIgorI34gbXNnc3RyICJOQVBBS0E6IHNla3RvciAlbHUgbmltYSBvem5ha2UgdGlwYSBtc2Rvc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRvbyBtYW55IHBhcnRpdGlvbnMgLSBpZ25vcmluZyB0aG9zZSBwYXN0IG5yICglenUpIgorI34gbXNnc3RyICJwcmV2ZeggcmF6ZGVsa292IC0gcG8guXQuICVkIG5lIGJvZG8gdXBvuXRldmFuaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyZWUgb2YgcGFydGl0aW9ucz8iCisjfiBtc2dzdHIgImRyZXZvIHJhemRlbGtvdj9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJkZXRlY3RlZCBEaXNrIE1hbmFnZXIgLSB1bmFibGUgdG8gaGFuZGxlIHRoYXQiCisjfiBtc2dzdHIgInphem5hbiBqZSBVcHJhdmxqYWxuaWsgZGlza2EgLSB1cHJhdmxqYW5qZSB6IG5qaW0gbmkgcG9kcHJ0b1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkRNNiBzaWduYXR1cmUgZm91bmQgLSBnaXZpbmcgdXAiCisjfiBtc2dzdHIgIkRNNiBwb2RwaXMgbmFqZGVuIC0ga29u6HVqZW1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdHJhbmdlLi4uLCBhbiBleHRlbmRlZCBwYXJ0aXRpb24gb2Ygc2l6ZSAwPyIKKyN+IG1zZ3N0ciAiemFuaW1pdm8uLi4sIHJherlpcmplbiByYXpkZWxlayB2ZWxpa29zdGkgMD9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdHJhbmdlLi4uLCBhIEJTRCBwYXJ0aXRpb24gb2Ygc2l6ZSAwPyIKKyN+IG1zZ3N0ciAiemFuaW1pdm8uLi4sIEJTRCByYXpkZWxlayB2ZWxpa29zdGkgMD9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICItbiBmbGFnIHdhcyBnaXZlbjogTm90aGluZyBjaGFuZ2VkIgorI34gbXNnc3RyICItbiB6YXN0YXZpY2EgamUgYmlsIHBvZGFuYTogQnJleiBzcHJlbWVtYlxuIgorCisjfiBtc2dpZCAiRmFpbGVkIHNhdmluZyB0aGUgb2xkIHNlY3RvcnMgLSBhYm9ydGluZ1xuIgorI34gbXNnc3RyICJOZXVzcGW5bm8gc2hyYW5qZXZhbmplIHN0YXJpaCBzZWt0b3JqZXYgLSBwcmVraW5qYW1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYWlsZWQgd3JpdGluZyB0aGUgcGFydGl0aW9uIG9uICVzIgorI34gbXNnc3RyICJOZXVzcGW5bm8gemFwaXNvdmFuamUgcmF6ZGVsa2EgbmEgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsb25nIG9yIGluY29tcGxldGUgaW5wdXQgbGluZSAtIHF1aXR0aW5nIgorI34gbXNnc3RyICJkb2xnYSBhbGkgbmVwb3BvbG5hIHZub3NuYSB2cnN0aWNhIC0ga29u6HVqZW1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnB1dCBlcnJvcjogYD0nIGV4cGVjdGVkIGFmdGVyICVzIGZpZWxkIgorI34gbXNnc3RyICJ2aG9kbmEgbmFwYWthOiBgPScgcHJp6GFrb3Zhbm8gcG8gcG9sanUgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnB1dCBlcnJvcjogdW5leHBlY3RlZCBjaGFyYWN0ZXIgJWMgYWZ0ZXIgJXMgZmllbGQiCisjfiBtc2dzdHIgInZob2RuYSBuYXBha2E6IG5lcHJp6GFrb3ZhbiB6bmFrICVjIHBvIHBvbGp1ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGlucHV0OiAlcyIKKyN+IG1zZ3N0ciAibmVwcmVwb3puYW4gdmhvZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJudW1iZXIgdG9vIGJpZyIKKyN+IG1zZ3N0ciAicHJldmVsaWthILl0ZXZpbGthXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHJhaWxpbmcganVuayBhZnRlciBudW1iZXIiCisjfiBtc2dzdHIgIrl0ZXZpbGtpIHNsZWRpam8g6HVkbmkgcG9kYXRraVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5vIHJvb20gZm9yIHBhcnRpdGlvbiBkZXNjcmlwdG9yIgorI34gbXNnc3RyICJ6YSBvcGlzbmlrIHJhemRlbGthIG5pIHByb3N0b3JhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGJ1aWxkIHN1cnJvdW5kaW5nIGV4dGVuZGVkIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAidXN0dmFyamFuamUgcmF6uWlyamVuZWdhIHJhemRlbGthIG9rb2xpIG9ic3RvamXoZWdhIG5pIHVzcGVsb1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRvbyBtYW55IGlucHV0IGZpZWxkcyIKKyN+IG1zZ3N0ciAicHJldmXoIHZob2RuaWggcG9salxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vIHJvb20gZm9yIG1vcmUiCisjfiBtc2dzdHIgIk5pIHZl6CBwcm9zdG9yYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIklsbGVnYWwgdHlwZSIKKyN+IG1zZ3N0ciAiTmVwcmF2aWxlbiB0aXBcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBnaXZlbiBzaXplICglbGx1KSBleGNlZWRzIG1heCBhbGxvd2FibGUgc2l6ZSAoJWxsdSkiCisjfiBtc2dzdHIgIk9wb3pvcmlsbzogcG9kYW5hIHZlbGlrb3N0ICglbHUpIHByZXNlZ2EgbmFqdmXoam8gZG92b2xqZW5vICglbHUpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogZW1wdHkgcGFydGl0aW9uIgorI34gbXNnc3RyICJPcG96b3JpbG86IHByYXplbiByYXpkZWxla1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IGJhZCBwYXJ0aXRpb24gc3RhcnQgKGVhcmxpZXN0ICVsbHUpIgorI34gbXNnc3RyICJPcG96b3JpbG86IHBvuWtvZG92YW4gemHoZXRlayByYXpkZWxrYSAobmFqcHJlaiAlbHUpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGJvb3RhYmxlIGZsYWcgLSBjaG9vc2UgLSBvciAqIgorI34gbXNnc3RyICJuZXByZXBvem5hbmEgemFnb25za2EgemFzdGF2aWNhIC0gaXp2ZXJpdGUgLSBhbGkgKlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpYWwgYyxoLHMgc3BlY2lmaWNhdGlvbj8iCisjfiBtc2dzdHIgImRlbG5hIHN0eixnLHNrdCBzcGVjaWZpa2FjaWphP1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBub3Qgd2hlcmUgZXhwZWN0ZWQiCisjfiBtc2dzdHIgIlJherlpcmplbiByYXpkZWxlayBuYSBuZXByaehha292YW5lbSBtZXN0dVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImJhZCBpbnB1dCIKKyN+IG1zZ3N0ciAic2xhYiB2bm9zXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidG9vIG1hbnkgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAicHJldmXoIHJhemRlbGtvdlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJJbnB1dCBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDsgYWJzZW50IGZpZWxkcyBnZXQgYSBkZWZhdWx0IHZhbHVlLlxuIgorI34gIjxzdGFydD4gPHNpemU+IDx0eXBlIFtFLFMsTCxYLGhleF0+IDxib290YWJsZSBbLSwqXT4gPGMsaCxzPiA8YyxoLHM+XG4iCisjfiAiVXN1YWxseSB5b3Ugb25seSBuZWVkIHRvIHNwZWNpZnkgPHN0YXJ0PiBhbmQgPHNpemU+IChhbmQgcGVyaGFwcyA8dHlwZT4pLiIKKyN+IG1zZ3N0ciAiIgorI34gIlZub3MgdiBzbGVkZehpIG9ibGlraTsgb2Rzb3RuYSBwb2xqYSBkb2Jpam8gcHJpdnpldG8gdnJlZG5vc3QuXG4iCisjfiAiPHN0YXJ0PiA8c2l6ZT4gPHR5cGU+IFtFLFMsTCxYLGhleF0+IDxib290YWJsZSBbLSwqXT4gPGMsaCxzPiA8YyxoLHM+XG4iCisjfiAiUG9uYXZhZGkgamUgcG90cmVibm8gemFwaXNhdGkgc2FtbyA8c3RhcnQ+IGluIDxzaXplPiAoduhhc2loIHR1ZGkgPHR5cGU+KS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+Li4uXG4iCisjfiBtc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRhbmdlcm91cyBvcHRpb25zOlxuIgorI34gbXNnc3RyICJuZXZhcm5lIGl6YmlyZToiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtZywgLS1zaG93LWdlb21ldHJ5ICAgICAgIHByaW50IHRoZSBrZXJuZWwncyBpZGVhIG9mIHRoZSBnZW9tZXRyeVxuIgorI34gIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIHByaW50IGdlb21ldHJ5IGd1ZXNzZWQgZnJvbSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCisjfiBtc2dzdHIgIiAgICAtRyBbYWxpIC0tc2hvdy1wdC1nZW9tZXRyeV06IGl6cGm5aSB1Z2FuamVubyBnb21ldHJpam8gaXogdGFiZWxlIHJhemRlbGtvdiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1BLCAtLWFjdGl2YXRlWz08ZGV2aWNlPl0gYWN0aXZhdGUgdGhlIGJvb3RhYmxlIGZsYWdcbiIKKyN+ICIgLVUsIC0tdW5oaWRlWz08ZGV2aWNlPl0gICBzZXQgcGFydGl0aW9uIGFzIHVuaGlkZGVuXG4iCisjfiAiIC14LCAtLXNob3ctZXh0ZW5kZWQgICAgICAgYWxzbyBsaXN0IGV4dGVuZGVkIHBhcnRpdGlvbnMgaW4gdGhlIG91dHB1dCxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIGV4cGVjdCBkZXNjcmlwdG9ycyBmb3IgdGhlbSBpbiB0aGUgaW5wdXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAteCBbYWxpIC0tc2hvdy1leHRlbmRlZF06IGl6cGm5aSB0dWRpIHJherlpcmplbmUgcmF6ZGVsa2UgYWxpXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJp6GFrdWogb3Bpc25pa2UgbmEgdmhvZHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzJXNkZXZpY2UgICAgICAgICAgICBsaXN0IGFjdGl2ZSBwYXJ0aXRpb25zIG9uIGRldmljZVxuIgorI34gbXNnc3RyICIlcyBuYXByYXZhXHRcdCBpenBpuWkgZGVqYXZuZSByYXpkZWxrZSBuYSBuYXByYXZpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzJXNkZXZpY2UgbjEgbjIgLi4uICBhY3RpdmF0ZSBwYXJ0aXRpb25zIG4xIC4uLiwgaW5hY3RpdmF0ZSB0aGUgcmVzdFxuIgorI34gbXNnc3RyICIlcyBuYXByYXZhILl0MSC5dDIgLi4uIGFrdGl2aXJhaiByYXpkZWxlayBuMSAuLi4sIGRlYWt0aXZpcmFqIG9zdGFsZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHBhcnRpdGlvbnMgYXJndW1lbnQiCisjfiBtc2dzdHIgIk5ldmVsamF2bm8guXRldmlsbzogJXNcbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzXG4iCisjfiBtc2dzdHIgIiVzIG5lIG1vcmVtIG9kcHJldGlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0tcHJpbnQtaWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIiCisjfiBtc2dzdHIgInVwb3JhYmE6IHNmZGlzayAtLXByaW50LWlkIG5hcHJhdmEguXQuIHJhemRlbGthXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLWNoYW5nZS1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciBJZCIKKyN+IG1zZ3N0ciAidXBvcmFiYTogc2ZkaXNrIC0tY2hhbmdlLWlkIG5hcHJhdmEguXQuIHJhemRlbGthIElkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyIFtJZF0iCisjfiBtc2dzdHIgInVwb3JhYmE6IHNmZGlzayAtLWlkIG5hcHJhdmEguXQuIHJhemRlbGthIFtJZF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW4gc3BlY2lmeSBvbmx5IG9uZSBkZXZpY2UgKGV4Y2VwdCB3aXRoIC1sIG9yIC1zKSIKKyN+IG1zZ3N0ciAibmF2ZWRldGUgbGFoa28gc2FtbyBlbm8gbmFwcmF2byAocmF6ZW4geiAtbCBhbGkgLXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgcmVhZC13cml0ZSIKKyN+IG1zZ3N0ciAiJXMgbmkgbW9nb+hlIG9kcHJldGkgemEgYnJhbmplIGluIHBpc2FuamVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyBmb3IgcmVhZGluZyIKKyN+IG1zZ3N0ciAiJXMgbmkgbW9nb+hlIG9kcHJldGkgemEgYnJhbmplXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IE9LIgorI34gbXNnc3RyICIlczogVnJlZHVcbiIKKworI34gbXNnaWQgIiVzOiAlbGQgY3lsaW5kZXJzLCAlbGQgaGVhZHMsICVsZCBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIiVzOiAlbGQgc3RleiwgJWxkIGdsYXYsICVsZCBzZWt0b3JqZXYvc2xlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImJhZCBhY3RpdmUgYnl0ZTogMHgleCBpbnN0ZWFkIG9mIDB4ODAiCisjfiBtc2dzdHIgInNsYWIgZGVqYXZuaSBiYWp0OiAweCV4IG5hbWVzdG8gMHg4MFxuIgorCisjfiBtc2dpZCAiRG9uZSIKKyN+IG1zZ3N0ciAiT3ByYXZsamVubyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiWW91IGhhdmUgJWQgYWN0aXZlIHByaW1hcnkgcGFydGl0aW9ucy4gVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sXG4iCisjfiAiYnV0IHRoZSBET1MgTUJSIHdpbGwgb25seSBib290IGEgZGlzayB3aXRoIDEgYWN0aXZlIHBhcnRpdGlvbi4iCisjfiBtc2dzdHIgIiIKKyN+ICJJbWF0ZSAlZCBkZWphdm5paCBwcmltYXJuaWggcmF6ZGVsa292LiBaYSBMSUxPIHRvIG5pIHRlvmF2YSxcbiIKKyN+ICJhbXBhayBET1MgTUJSIHNlIGJvIG5hbG++aWwgc2FtbyB6IGRpc2tvdiwga2kgaW1ham8gMSBkZWphdmVuIHJhemRlbGVrLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiAlcyBoYXMgaWQgJXggYW5kIGlzIG5vdCBoaWRkZW4iCisjfiBtc2dzdHIgInJhemRlbGVrICVzIGltYSBpZCAleCBpbiBuaSBza3JpdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJhZCBJZCAlbHgiCisjfiBtc2dzdHIgIlNsYWIgSWQgJWx4XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UuIgorI34gbXNnc3RyICJUYSBkaXNrIGplIHRyZW51dG5vIHYgcmFiaS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYXRhbCBlcnJvcjogY2Fubm90IGZpbmQgJXMiCisjfiBtc2dzdHIgIlVzb2RuYSBuYXBha2E6ICVzIG5pIG1vZ2/oZSBuYWp0aVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAiT3Bvem9yaWxvOiAlcyBuaSBibG9rb3ZuYSBuYXByYXZhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiT0siCisjfiBtc2dzdHIgIlZSRURVXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGRvZXMgbm90IGV4aXN0LCBjYW5ub3QgY2hhbmdlIGl0IgorI34gbXNnc3RyICJSYXpkZWxlayAlZCBuZSBvYnN0YWphIGluIG5lIG1vcmUgYml0aSBzcHJlbWVuamVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkkgZG9uJ3QgbGlrZSB0aGVzZSBwYXJ0aXRpb25zIC0gbm90aGluZyBjaGFuZ2VkLlxuIgorI34gIihJZiB5b3UgcmVhbGx5IHdhbnQgdGhpcywgdXNlIHRoZSAtLWZvcmNlIG9wdGlvbi4pIgorI34gbXNnc3RyICIiCisjfiAiVGUgcmF6ZGVsa2kgbWkgbmUgdXN0cmV6YWpvIC0gbmkgc3ByZW1lbWIuXG4iCisjfiAiKMhlIHJlcyC+ZWxpdGUgdG8sIHVwb3JhYml0ZSBpemJpcm8gLS1mb3JjZS4pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSSBkb24ndCBsaWtlIHRoaXMgLSBwcm9iYWJseSB5b3Ugc2hvdWxkIGFuc3dlciBObyIKKyN+IG1zZ3N0ciAiVG8gbWkgbmUgdXN0cmV6YSAtIHZlcmpldG5vIGJpIG1vcmFsaSBvZGdvdm9yaXRpIE5lXG4iCisKKyN+IG1zZ2lkICJBcmUgeW91IHNhdGlzZmllZCB3aXRoIHRoaXM/IFt5bnFdICIKKyN+IG1zZ3N0ciAiQWxpIHN0ZSB6YWRvdm9sam5pIHMgdGVtPyBbeW5xXSAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUXVpdHRpbmcgLSBub3RoaW5nIGNoYW5nZWQiCisjfiBtc2dzdHIgIktvbuh1amVtIC0gYnJleiBzcHJlbWVtYlxuIgorCisjfiBtc2dpZCAiUGxlYXNlIGFuc3dlciBvbmUgb2YgeSxuLHFcbiIKKyN+IG1zZ3N0ciAiUHJvc2ltLCBkYSBvZGdvdm9yaXpvIHogeSxuLHFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJTdWNjZXNzZnVsbHkgd3JvdGUgdGhlIG5ldyBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlRhYmVsYSByYXpkZWxrb3YgamUgdXNwZblubyB6YXBpc2FuYVxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJJZiB5b3UgY3JlYXRlZCBvciBjaGFuZ2VkIGEgRE9TIHBhcnRpdGlvbiwgL2Rldi9mb283LCBzYXksIHRoZW4gdXNlIGRkKDEpXG4iCisjfiAidG8gemVybyB0aGUgZmlyc3QgNTEyIGJ5dGVzOiAgZGQgaWY9L2Rldi96ZXJvIG9mPS9kZXYvZm9vNyBicz01MTIgY291bnQ9MVxuIgorI34gIihTZWUgZmRpc2soOCkuKSIKKyN+IG1zZ3N0ciAiIgorI34gIshlIHN0ZSB1c3R2YXJpbGkgYWxpIHNwcmVtZW5pbGkgcmF6ZGVsZWsgdGlwYSBET1MsIG5wci4gL2Rldi9mb283LCBwb3RlbSB1cG9yYWJpdGVcbiIKKyN+ICJkZCgxKSB6YXRvLCBkYSBwb3N0YXZpdGUgcHJ2aWggNTEyIGJhanRvdiBuYSAwOiBkZCBpZj0vZGV2L3plcm8gb2Y9L2Rldi9mb283IGJzPTUxMiBjb3VudD0xXG4iCisjfiAiKGdsZWogZmRpc2soOCkuKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImFyZSBtdXR1YWxseSBleGNsdXNpdmUuIgorI34gbXNnc3RyICIlczogLS1hZGp1c3QgaW4gLS1ub2FkamZpbGUgaXpiaXJpIHNlIG1lZHNlYm9qbm8gaXprbGp16HVqZXRhLiBQb2RhbGkgc3RlIG9iZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueSBET1MgNi54IHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGZkaXNrIGRvY3VtZW50YXRpb24gZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiT1BPWk9SSUxPOiDIZSBzdGUgdXN0dmFyaWxpIGFsaSBzcHJlbWVuaWxpXG4iCisjfiAiRE9TIDYueCByYXpkZWxrZSwgc2kgcHJvc2ltIG9nbGVqdGVcbiIKKyN+ICJwcmlyb+huaWsgY2ZkaXNrYSB6YSBkb2RhdG5lIGluZm9ybWFjaWplLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZpZWxkIGlzIHRvbyBsb25nIgorI34gbXNnc3RyICJwb2xqZSBqZSBwcmVkb2xnby5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogJyVjJyBpcyBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJXM6ICclYycgbmkgZG92b2xqZW5vLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiclYycgaXMgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIiclYycgbmkgZG92b2xqZW5vLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICIlczogTmFkem9ybmkgem5ha2kgbmlzbyBkb3ZvbGplbmkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY29udHJvbCBjaGFyYWN0ZXJzIGFyZSBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiTmFkem9ybmkgem5ha2kgbmlzbyBkb3ZvbGplbmkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMuIgorI34gbXNnc3RyICIlczogbGFoa28gc3ByZW1pbmphIHNhbW8gbG9rYWxuZSB2bm9zZTsgbmFtZXN0byB0ZWdhIHVwb3JhYml0ZSB5cCVzIC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vdGltZXxzaG9ydHxmdWxsfGlzb11cbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgUHJ2aSAgICAgICAgWmFkbmppXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGRldGFpbHMgc2VlIGxzbG9naW5zKDEpLlxuIgorI34gbXNnc3RyICJGaW5nZXIgaW5mb3JtYWNpamEgc3ByZW1lbmplbmEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3J5cHQoKSBmYWlsZWQiCisjfiBtc2dzdHIgIm1hbGxvYyBuaSB1c3BlbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDT01NQU5EIG5vdCBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJJemJpcmEgLS1kYXRlIG5pIGJpbGEgcG9kYW5hLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFRoaXMgc21hbGwgdXNhZ2UgZ3VpZGVcbiIKKyN+IG1zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIHBhdGhuYW1lIFtwYXRobmFtZSAuLi5dXG4iCisjfiBtc2dzdHIgInVwb3JhYmE6IG5hbWVpIFstbXhdIGltZW5payBbaW1lbmlrIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHdpcGVmcyg4KS5cbiIKKyN+IG1zZ3N0ciAiRmluZ2VyIGluZm9ybWFjaWphIHNwcmVtZW5qZW5hLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgdGFza3NldCgxKS5cbiIKKyN+IG1zZ3N0ciAiRmluZ2VyIGluZm9ybWFjaWphIHNwcmVtZW5qZW5hLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBpcyByZW1vdmFibGUgZGV2aWNlIgorI34gbXNnc3RyICIgb2RzdHJhbmxqaXYiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibm8gZmlsZW5hbWUgc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAiSXpiaXJhIC0tZGF0ZSBuaSBiaWxhIHBvZGFuYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0aW1lb3V0IGNhbm5vdCBiZSB6ZXJvIgorI34gbXNnc3RyICJtb3VudDogaGl0cm9zdGkgbmkgbW9nb+hlIG5hc3Rhdml0aTogJXMiCisKKyN+IG1zZ2lkICJOZWVkIHRvIGluc2VydCAlZCBzZWNvbmRzIGFuZCByZWZlciB0aW1lIGJhY2sgJS42ZiBzZWNvbmRzIGFnb1xuIgorI34gbXNnc3RyICJQb3RyZWJubyBqZSB2c3Rhdml0aSAlZCBzZWt1bmQgaW4gcHJldml0aSDoYXMgemEgJS42ZiBzZWt1bmRcbiIKKworI34gbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tIEtER0hXQ0xLIHRvIGNoYW5nZVxuIgorI34gbXNnc3RyICLIYWthbSB2IHphbmtpIG5hIHNwcmVtZW1ibyDoYXNhIGl6IEtER0hXQ0xLXG4iCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCB0byByZWFkIHRpbWUgZmFpbGVkIgorI34gbXNnc3RyICJLREdIV0NMSyBpb2N0bCB6YSBicmFuamUg6GFzYSBuaSB1c3BlbG8iCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCB0byByZWFkIHRpbWUgZmFpbGVkIGluIGxvb3AiCisjfiBtc2dzdHIgIktER0hXQ0xLIGlvY3RsIHphIGJyYW5qZSDoYXNhIG5pIHVzcGVsbyB2IHphbmtpIgorCisjfiBtc2dpZCAiaW9jdGwoKSBmYWlsZWQgdG8gcmVhZCB0aW1lIGZyb20gJXMiCisjfiBtc2dzdHIgImtsaWMgaW9jdGwoKSBuaSB1c3BlbCBwcmVicmF0aSDoYXNhIGl6ICVzIgorCisjfiBtc2dpZCAiaW9jdGwgS0RTSFdDTEsgZmFpbGVkIgorI34gbXNnc3RyICJpb2N0bCBLRFNIV0NMSyBuaSB1c3BlbCIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gL2Rldi90dHkxIG9yIC9kZXYvdmMvMSIKKyN+IG1zZ3N0ciAiL2Rldi90dHkxIGFsaSAvZGV2L3ZjLzEgbmkgbW9nb+hlIG9kcHJldGkiCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgIktER0hXQ0xLIGlvY3RsIG5pIHVzcGVsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBkZXRhaWxzIHNlZSBsc2NwdSgxKS5cbiIKKyN+IG1zZ3N0ciAiRmluZ2VyIGluZm9ybWFjaWphIHNwcmVtZW5qZW5hLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFthcmdzLi4uXVxuIgorI34gbXNnc3RyICJ1cG9yYWJhOiAlcyBwcm9ncmFtIFtpemJpcmEgLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcmVuaWNlKDEpLlxuIgorI34gbXNnc3RyICJGaW5nZXIgaW5mb3JtYWNpamEgc3ByZW1lbmplbmEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzJXMgW29wdGlvbnNdIFtwcm9ncmFtIFtwcm9ncmFtIGFyZ3VtZW50c11dXG4iCisjfiBtc2dzdHIgInVwb3JhYmE6ICVzIHByb2dyYW0gW2l6YmlyYSAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjfiBtc2dpZCAiLi4uYmFjayAxIHBhZ2UiCisjfiBtc2dzdHIgIi4uLm5hemFqIHphIGVubyBzdHJhbiIKKworI34gbXNnaWQgIi4uLnNraXBwaW5nIG9uZSBsaW5lIgorI34gbXNnc3RyICIuLi5wcmVza29rIHZyc3RpY2UiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSByZXYoMSkuXG4iCisjfiBtc2dzdHIgIkZpbmdlciBpbmZvcm1hY2lqYSBzcHJlbWVuamVuYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25dIGZpbGVcbiIKKyN+IG1zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKKyN+IG1zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW4sIC0tbm8tYXJndW1lbnQgICAgICAgb3B0aW9uIGRvZXMgbm90IHVzZSBhcmd1bWVudFxuIgorI34gbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXIsIC0tcmVxdWlyZWQgPGFyZz4gICAgb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIiVzOiBpemJpcmEgemFodGV2YSBhcmd1bWVudCAtLSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgLS14eXp6eSAgICAgICAgICAgICBhIGxvbmcgb3B0aW9uIG9ubHlcbiIKKyN+IG1zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5lIHphcGm5aSBzcHJlbWVtYiBuYSBkaXNrIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNlY3V0aXZlIGxpbmVzIGFyZSBpbnRlbmRlZCBieSB0d28gc3BhY2VzXG4iCisjfiBtc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1mLCAtLWZvb2JhciAgICAgICAgICAgIG5leHQgb3B0aW9uIGRlc2NyaXB0aW9uIHJlc2V0cyBpbmRlbnRcbiIKKyN+IG1zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1oICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscCB0ZXh0XG4iCisjfiBtc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLS12ZXJzaW9uXG4iCisjfiBtc2dzdHIgInJhemxp6GljYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjb21waWxlZCB3aXRob3V0IC14IHN1cHBvcnQiCisjfiBtc2dzdHIgIiVzOiBwcmV2ZWRlbm8gYnJleiAteCBhcmd1bWVudGFcbiIKKworI34gbXNnaWQgIiVzOiBPdXQgb2YgbWVtb3J5IVxuIgorI34gbXNnc3RyICIlczogWm1hbmprYWxvIHBvbW5pbG5pa2EhXG4iCisKKyN+IG1zZ2lkICJVbnVzYWJsZSIKKyN+IG1zZ3N0ciAiTmV1cG9yYWJubyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAiKE5hc2xlZG5qYSBkYXRvdGVrYTogJXMpIgorCisjfiBtc2dpZCAiRGlzayBoYXMgYmVlbiBjaGFuZ2VkLlxuIgorI34gbXNnc3RyICJEaXNrIGplIGJpbCBzcHJlbWVuamVuLlxuIgorCisjfiBtc2dpZCAiUmVib290IHRoZSBzeXN0ZW0gdG8gZW5zdXJlIHRoZSBwYXJ0aXRpb24gdGFibGUgaXMgY29ycmVjdGx5IHVwZGF0ZWQuXG4iCisjfiBtc2dzdHIgIlBvbm92bm8gemG+ZW5pdGUgc2lzdGVtLCBkYSBibyByYXpkZWxpdHZlbmEgdGFiZWxhIHByYXZpbG5vIGG+dXJpcmFuYS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueVxuIgorI34gIkRPUyA2LnggcGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgY2ZkaXNrIG1hbnVhbFxuIgorI34gInBhZ2UgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJPUE9aT1JJTE86IMhlIHN0ZSB1c3R2YXJpbGkgYWxpIHNwcmVtZW5pbGlcbiIKKyN+ICJET1MgNi54IHJhemRlbGtlLCBzaSBwcm9zaW0gb2dsZWp0ZVxuIgorI34gInByaXJv6G5payBjZmRpc2thIHphIGRvZGF0bmUgaW5mb3JtYWNpamUuXG4iCisKKyN+IG1zZ2lkICJGQVRBTCBFUlJPUiIKKyN+IG1zZ3N0ciAiVVNPRE5BIE5BUEFLQSIKKworI34gbXNnaWQgIlByZXNzIGFueSBrZXkgdG8gZXhpdCBjZmRpc2siCisjfiBtc2dzdHIgIlByaXRpc25pa2Uga2F0ZXJva29saSB0aXBrbyB6YSBpemhvZCBpeiBjZmRpc2stYSIKKworI34gbXNnaWQgIkNhbm5vdCBzZWVrIG9uIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIklza2FuamUgbmEgZGlza3UgbmkgbW9nb+hlIgorCisjfiBtc2dpZCAiQ2Fubm90IHJlYWQgZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiRGlza292bmVnYSBwb2dvbmEgbmkgbW9nb+hlIHByZWJyYXRpIgorCisjfiBtc2dpZCAiQ2Fubm90IHdyaXRlIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIk5hIGRpc2tvdm5pIHBvZ29uIG5pIG1vZ2/oZSBwaXNhdGkiCisKKyN+IG1zZ2lkICJUb28gbWFueSBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJQcmV2ZeggcmF6ZGVsa292IgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGJlZ2lucyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIlJhemRlbGVrIHNlIHph6G5lIHByZWQgc2VrdG9yamVtIDAiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIlJhemRlbGVrIHNlIGtvbuhhIHByZWQgc2VrdG9yamVtIDAiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gYmVnaW5zIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICJSYXpkZWxlayBzZSB6YehuZSBwbyBrb25jdSBkaXNrYSIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICJSYXpkZWxlayBzZSBrb27oYSBwbyBrb25jdSBkaXNrYSIKKworI34gbXNnaWQgImxvZ2ljYWwgcGFydGl0aW9ucyBub3QgaW4gZGlzayBvcmRlciIKKyN+IG1zZ3N0ciAibG9naehuaSByYXpkZWxraSBuaXNvIHYgcHJhdmVtIGRpc2tvdm5lbSByZWR1IgorCisjfiBtc2dpZCAibG9naWNhbCBwYXJ0aXRpb25zIG92ZXJsYXAiCisjfiBtc2dzdHIgImxvZ2nobmkgcmF6ZGVsa2kgc2UgcHJla3JpdmFqbyIKKworI34gbXNnaWQgImVubGFyZ2VkIGxvZ2ljYWwgcGFydGl0aW9ucyBvdmVybGFwIgorI34gbXNnc3RyICJwb3Zl6GFuaSBsb2dp6G5pIHJhemRlbGtpIHNlIHByZWtyaXZham8iCisKKyN+IG1zZ2lkICIhISEhIEludGVybmFsIGVycm9yIGNyZWF0aW5nIGxvZ2ljYWwgZHJpdmUgd2l0aCBubyBleHRlbmRlZCBwYXJ0aXRpb24gISEhISIKKyN+IG1zZ3N0ciAiISEhISBJbnRlcm5hIG5hcGFrYSBwcmkgdXN0dmFyamFuamUgbG9naehuZWdhIHBvZ29uYSBicmV6IHJherlpcmplbmVnYSByYXpkZWxrYSAhISEhIgorCisjfiBtc2dpZCAiQ2Fubm90IGNyZWF0ZSBsb2dpY2FsIGRyaXZlIGhlcmUgLS0gd291bGQgY3JlYXRlIHR3byBleHRlbmRlZCBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJMb2dp6G5lZ2EgcG9nb25hIG5hIHRlbSBtZXN0dSBuaSBtb2dv6GUgdXN0dmFyaXRpIC0gdXN0dmFyaWxpIGJpIGR2YSByYXq5aXJqZW5hIHJhemRlbGthIgorCisjfiBtc2dpZCAiTWVudSBpdGVtIHRvbyBsb25nLiBNZW51IG1heSBsb29rIG9kZC4iCisjfiBtc2dzdHIgIk1lbnVqc2tpIHZub3MgcHJlZG9sZy4gTWVudSBsYWhrbyBpemdsZWRhIG5lbmF2YWRuby4iCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGtleSIKKyN+IG1zZ3N0ciAiTmVkb3ZvbGplbmEgdGlwa2EiCisKKyN+IG1zZ2lkICJDcmVhdGUgYSBuZXcgcHJpbWFyeSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlVzdHZhcmkgbm92IHByaW1hcmVuIHJhemRlbGVrIgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IGxvZ2ljYWwgcGFydGl0aW9uIgorI34gbXNnc3RyICJVc3R2YXJpIG5vdiBsb2dp6GVuIHJhemRlbGVrIgorCisjfiBtc2dpZCAiQ2FuY2VsIgorI34gbXNnc3RyICJQcmVrbGnoaSIKKworI34gbXNnaWQgIkRvbid0IGNyZWF0ZSBhIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiTmUgdXN0dmFyaSByYXpkZWxrYSIKKworI34gbXNnaWQgIiEhISBJbnRlcm5hbCBlcnJvciAhISEiCisjfiBtc2dzdHIgIiEhISBJbnRlcm5hIG5hcGFrYSAhISEiCisKKyN+IG1zZ2lkICJTaXplIChpbiBNQik6ICIKKyN+IG1zZ3N0ciAiVmVsaWtvc3QgKHYgTUIpOiAiCisKKyN+IG1zZ2lkICJCZWdpbm5pbmciCisjfiBtc2dzdHIgIlph6GV0ZWsiCisKKyN+IG1zZ2lkICJBZGQgcGFydGl0aW9uIGF0IGJlZ2lubmluZyBvZiBmcmVlIHNwYWNlIgorI34gbXNnc3RyICJEb2RhaiByYXpkZWxlayBuYSB6YehldGVrIG5lemFzZWRlbmVnYSBwcm9zdG9yYSIKKworI34gbXNnaWQgIkFkZCBwYXJ0aXRpb24gYXQgZW5kIG9mIGZyZWUgc3BhY2UiCisjfiBtc2dzdHIgIkRvZGFqIHJhemRlbGVrIG5hIGtvbmVjIG5lemFzZWRlbmVnYSBwcm9zdG9yYSIKKworI34gbXNnaWQgIk5vIHJvb20gdG8gY3JlYXRlIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIk5pIHByb3N0b3JhIHphIHVzdHZhcmphbmplIHJherlpcmplbmVnYSByYXpkZWxrYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJObyBwYXJ0aXRpb24gdGFibGUuIFN0YXJ0aW5nIHdpdGggemVybyB0YWJsZS4iCisjfiBtc2dzdHIgIk5pIHRhYmVsZSByYXpkZWxrb3YuIFVwb3JhYmEgcHJhem5lIHRhYmVsZS4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQmFkIHNpZ25hdHVyZSBvbiBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIlBvuWtvZG92YW4gcG9kcGlzIG5hIHRhYmVsaSByYXpkZWxrb3YiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVW5rbm93biBwYXJ0aXRpb24gdGFibGUgdHlwZSIKKyN+IG1zZ3N0ciAiTmV6bmFuIHRpcCB0YWJlbGUgcmF6ZGVsa292IgorCisjfiBtc2dpZCAiRG8geW91IHdpc2ggdG8gc3RhcnQgd2l0aCBhIHplcm8gdGFibGUgW3kvTl0gPyIKKyN+IG1zZ3N0ciAiQWxpIL5lbGl0ZSB6YehldGkgcyBwcmF6bm8gdGFiZWxvIFt5L05dID8iCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJEaXNrb3ZuZSBlbm90ZSBuaSBtb2dv6GUgb2RwcmV0aSIKKworI34gbXNnaWQgIk9wZW5lZCBkaXNrIHJlYWQtb25seSAtIHlvdSBoYXZlIG5vIHBlcm1pc3Npb24gdG8gd3JpdGUiCisjfiBtc2dzdHIgIkRpc2sgb2RwcnQgc2FtbyB6YSBicmFuamUgLSBuaW1hdGUgZG92b2xqZW5qYSB6YSBwaXNhbmplIgorCisjfiBtc2dpZCAiQ2Fubm90IGdldCBkaXNrIHNpemUiCisjfiBtc2dzdHIgIlZlbGlrb3N0aSBkaXNrb3ZuZSBzdGV6ZSBuaSBtb2dv6GUgcHJlYnJhdGkiCisKKyN+IG1zZ2lkICJCYWQgcHJpbWFyeSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlBvuWtvZG92YW4gcHJpbWFybmkgcmF6ZGVsZWsiCisKKyN+IG1zZ2lkICJXYXJuaW5nISEgIFRoaXMgbWF5IGRlc3Ryb3kgZGF0YSBvbiB5b3VyIGRpc2shIgorI34gbXNnc3RyICJPcG96b3JpbG8hISBUbyBsYWhrbyB1bmnoaSBwb2RhdGtlIG5hIHZhuWVtIGRpc2t1ISIKKworI34gbXNnaWQgIlBsZWFzZSBlbnRlciBgeWVzJyBvciBgbm8nIgorI34gbXNnc3RyICJQcm9zaW0gdnBpuWl0ZSAsZGFgIGFsaSAsbmVgIgorCisjfiBtc2dpZCAiV3JpdGluZyBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4uLiIKKyN+IG1zZ3N0ciAiVGFiZWxhIHJhemRlbGtvdiBzZSB6YXBpc3VqZSBuYSBkaXNrLi4uIgorCisjfiBtc2dpZCAiV3JvdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2siCisjfiBtc2dzdHIgIlRhYmVsYSByYXpkZWxrb3YgamUgYmlsYSB6YXBpc2FuYSBuYSBkaXNrIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSwgYnV0IHJlLXJlYWQgdGFibGUgZmFpbGVkLiAgUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB0byB1cGRhdGUgdGFibGUuIgorI34gbXNnc3RyICJUYWJlbGEgcmF6ZGVsa292IHphcGlzYW5hLCBhbXBhayBwb25vdm5vIGJyYW5qZSB0YWJlbGUgbmkgdXNwZWxvLiBQb25vdm5vIHphvmVuaXRlIHNpc3RlbSwgZGEgcG9zb2RvYml0ZSB0YWJlbG8uIgorCisjfiBtc2dpZCAiTm8gcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBtYXJrZWQgYm9vdGFibGUuIERPUyBNQlIgY2Fubm90IGJvb3QgdGhpcy4iCisjfiBtc2dzdHIgIk5vYmVuIHByaW1hcm5pIHJhemRlbGVrIG5pIG96bmHoZW4ga290IHphZ29uc2tpLiBET1MgTUJSIHNlIG5lIG1vcmUgemFnbmF0aS4iCisKKyN+IG1zZ2lkICJNb3JlIHRoYW4gb25lIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZS4gRE9TIE1CUiBjYW5ub3QgYm9vdCB0aGlzLiIKKyN+IG1zZ3N0ciAiVmXoIGtvdCBlbiBwcmltYXJuaSByYXpkZWxlayBqZSBvem5h6GVuIGtvdCB6YWdvbnNraS4gRE9TIE1CUiBzZSBuZSBtb3JlIHphZ25hdGkuIgorCisjfiBtc2dpZCAiRW50ZXIgZmlsZW5hbWUgb3IgcHJlc3MgUkVUVVJOIHRvIGRpc3BsYXkgb24gc2NyZWVuOiAiCisjfiBtc2dzdHIgIlZuZXNpdGUgaW1lIGRhdG90ZWtlIGFsaSBwcml0aXNuaXRlIEVOVEVSIHphIHByaWtheiBuYSB6YXNsb251OiAiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlc1xuIgorI34gbXNnc3RyICJEaXNrb3ZuYSBlbm90YTogJXNcbiIKKworI34gbXNnaWQgIlNlY3RvciAwOlxuIgorI34gbXNnc3RyICJTZWt0b3IgMDpcbiIKKworI34gbXNnaWQgIlNlY3RvciAlZDpcbiIKKyN+IG1zZ3N0ciAiU2VrdG9yICVkOlxuIgorCisjfiBtc2dpZCAiICAgTm9uZSAgICIKKyN+IG1zZ3N0ciAiICAgQnJleiAgICIKKworI34gbXNnaWQgIiAgIFByaS9Mb2ciCisjfiBtc2dzdHIgIiAgIFByaS9Mb2ciCisKKyN+IG1zZ2lkICIgICBQcmltYXJ5IgorI34gbXNnc3RyICIgIFByaW1hcmVuIgorCisjfiBtc2dpZCAiICAgTG9naWNhbCIKKyN+IG1zZ3N0ciAiICAgTG9naehlbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIoJTAyWCkiCisjfiBtc2dzdHIgIiglMDJYKSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJOb25lIgorI34gbXNnc3RyICJCcmV6IgorCisjfiBtc2dpZCAiUGFydGl0aW9uIFRhYmxlIGZvciAlc1xuIgorI34gbXNnc3RyICJUYWJlbGEgcmF6ZGVsa292IHphICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICAgICAgICAgRmlyc3QgICAgICAgTGFzdFxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICBQcnZpICAgICAgICBaYWRuamlcbiIKKworI34gbXNnaWQgIiAjIFR5cGUgICAgICAgU2VjdG9yICAgICAgU2VjdG9yICAgT2Zmc2V0ICAgIExlbmd0aCAgIEZpbGVzeXN0ZW0gVHlwZSAoSUQpIEZsYWdcbiIKKyN+IG1zZ3N0ciAiICMgVGlwICAgICAgICBTZWt0b3IgICAgICBTZWt0b3IgICBPZG1payAgICAgRG9svmluYSAgVGlwIGRhdC4gc2lzdGVtYSAoSUQpIFphc3RhdmljZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIi0tIC0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS1cbiIKKyN+IG1zZ3N0ciAiLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAgIC0tLVN0YXJ0aW5nLS0tLSAgICAgIC0tLS1FbmRpbmctLS0tLSAgICBTdGFydCAgICAgTnVtYmVyIG9mXG4iCisjfiBtc2dzdHIgIiAgICAgICAgIC0tLS1aYehldG5pLS0tICAgICAgLS0tLUtvbuhuaS0tLS0gIFph6GV0ZWsgICAgIKl0ZXZpbG9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgIyBGbGFncyBIZWFkIFNlY3QgIEN5bCAgIElEICBIZWFkIFNlY3QgIEN5bCAgICAgU2VjdG9yICAgIFNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiICMgICBPem4gR2xhdiBTZWt0IFN0eiAgIElEICBHbGF2IFNla3QgU3R6ICAgIHNla3RvciBzZWt0b3JqZXZcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICItLSAtLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS1cbiIKKyN+IG1zZ3N0ciAiLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tLS0tLSAtLS0tLS0tLS1cbiIKKworI34gbXNnaWQgIlJhdyIKKyN+IG1zZ3N0ciAiU3Vyb3YiCisKKyN+IG1zZ2lkICJQcmludCB0aGUgdGFibGUgdXNpbmcgcmF3IGRhdGEgZm9ybWF0IgorI34gbXNnc3RyICJJenBpcyB0YWJlbGUgdiBzdXJvdmkgb2JsaWtpIgorCisjfiBtc2dpZCAiUHJpbnQgdGhlIHRhYmxlIG9yZGVyZWQgYnkgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiSXpwaXMgdGFiZWxlLCB1cmVqZW5lIHBvIHNla3RvcmppaCIKKworI34gbXNnaWQgIlRhYmxlIgorI34gbXNnc3RyICJUYWJlbGEiCisKKyN+IG1zZ2lkICJKdXN0IHByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIlNhbW8gaXpwaXMgdGFiZWxlIHJhemRlbGtvdiIKKworI34gbXNnaWQgIkRvbid0IHByaW50IHRoZSB0YWJsZSIKKyN+IG1zZ3N0ciAiQnJleiBpenBpc2EgdGFiZWxlIHJhemRlbGtvdiIKKworI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMTk5NC0xOTk5IEtldmluIEUuIE1hcnRpbiAmIGFlYiIKKyN+IG1zZ3N0ciAiQ29weXJpZ2h0IChDKSAxOTk0LTE5OTkgS2V2aW4gRS4gTWFydGluICYgYWViIgorCisjfiBtc2dpZCAiICBnICAgICAgICAgIENoYW5nZSBjeWxpbmRlcnMsIGhlYWRzLCBzZWN0b3JzLXBlci10cmFjayBwYXJhbWV0ZXJzIgorI34gbXNnc3RyICIgIGcgICAgICAgICAgU3ByZW1lbmkgcGFyYW1ldHJlICi5dC4gc3RleiwguXQuIGdsYXYsIHNla3Rvcmpldi9zdGV6bykiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgV0FSTklORzogVGhpcyBvcHRpb24gc2hvdWxkIG9ubHkgYmUgdXNlZCBieSBwZW9wbGUgd2hvIgorI34gbXNnc3RyICIgICAgICAgICAgICAgT1BPWk9SSUxPOiBJemJpcm8gbmFqIGl6YmVyZWpvIGxlIHRpc3RpLCIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBrbm93IHdoYXQgdGhleSBhcmUgZG9pbmcuIgorI34gbXNnc3RyICIgICAgICAgICAgICAga2kgcmF6dW1lam8sIGthaiBwb+huZWpvLiIKKworI34gbXNnaWQgIiAgbSAgICAgICAgICBNYXhpbWl6ZSBkaXNrIHVzYWdlIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICBtICAgICAgICAgIFBvcmFiaSBuYWp2ZeggcHJvc3RvcmEgemEgdHJlbnV0bmkgcmF6ZGVsZWsiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgTm90ZTogVGhpcyBtYXkgbWFrZSB0aGUgcGFydGl0aW9uIGluY29tcGF0aWJsZSB3aXRoIgorI34gbXNnc3RyICIgICAgICAgICAgICAgT3BvbWJhOiBUbyBsYWhrbyBuYXByYXZpIHJhemRlbGVrIG5lemRydb5saml2IHoiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgRE9TLCBPUy8yLCAuLi4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBET1MsIE9TLzIsIC4uLiIKKworI34gbXNnaWQgIiAgcCAgICAgICAgICBQcmludCBwYXJ0aXRpb24gdGFibGUgdG8gdGhlIHNjcmVlbiBvciB0byBhIGZpbGUiCisjfiBtc2dzdHIgIiAgcCAgICAgICAgICBQcmVwablpIHRhYmVsbyByYXpkZWxrb3YgbmEgemFzbG9uIGFsaSB2IGRhdG90ZWtvIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFRoZXJlIGFyZSBzZXZlcmFsIGRpZmZlcmVudCBmb3JtYXRzIGZvciB0aGUgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICAgICAgICAgICAgT2JzdGFqYSB2ZeggcmF6bGnobmloIHphcGlzb3YgemEgcGFydGljaWpvIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIHRoYXQgeW91IGNhbiBjaG9vc2UgZnJvbToiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBtZWQga2F0ZXJpbWkgbGFoa28gaXpiaXJhdGU6IgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHIgLSBSYXcgZGF0YSAoZXhhY3RseSB3aGF0IHdvdWxkIGJlIHdyaXR0ZW4gdG8gZGlzaykiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICByIC0gbmVvYmRlbGFuaSBwb2RhdGtpIChuYXRh6G5vIHRvLCBrYXIgYmkgYmlsbyB6YXBpc2FubyBuYSBkaXNrKSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICBzIC0gVGFibGUgb3JkZXJlZCBieSBzZWN0b3JzIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFRhYmVsYSwgdXJlamVuYSBwbyBzZWt0b3JqaWgiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgdCAtIFRhYmxlIGluIHJhdyBmb3JtYXQiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICB0IC0gdGFiZWxhIHYgb2JsaWtpIG5lb2JkZWxhbmloIHBvZGF0a292IgorCisjfiBtc2dpZCAiICB1ICAgICAgICAgIENoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSIKKyN+IG1zZ3N0ciAiICB1ICAgICAgICAgIFNwcmVtZW5pIGVub3RlIGl6cGlzYSB2ZWxpa29zdGkgcmF6ZGVsa292IgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFJvdGF0ZXMgdGhyb3VnaCBNQiwgc2VjdG9ycyBhbmQgY3lsaW5kZXJzIgorI34gbXNnc3RyICIgICAgICAgICAgICAgS3JvvmkgbWVkIE1CLCBzZWt0b3JqaSBpbiBzdGV6YW1pIgorCisjfiBtc2dpZCAiQ1RSTC1MICAgICAgIFJlZHJhd3MgdGhlIHNjcmVlbiIKKyN+IG1zZ3N0ciAiQ1RSTC1MICAgICAgIE9zdmW+aSBpenBpcyIKKworI34gbXNnaWQgIiAgPyAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKKyN+IG1zZ3N0ciAiICA/ICAgICAgICAgIEl6cGm5aSB0byBva25vIgorCisjfiBtc2dpZCAiQ2hhbmdlIGN5bGluZGVyIGdlb21ldHJ5IgorI34gbXNnc3RyICJTcHJlbWVuaSC5dGV2aWxvIHN0ZXoiCisKKyN+IG1zZ2lkICJDaGFuZ2UgaGVhZCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiU3ByZW1lbmkguXRldmlsbyBnbGF2IgorCisjfiBtc2dpZCAiQ2hhbmdlIHNlY3RvciBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiU3ByZW1lbmkguXRldmlsbyBzZWt0b3JqZXYiCisKKyN+IG1zZ2lkICJEb25lIHdpdGggY2hhbmdpbmcgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIlNwcmVtZW1iYSBnZW9tZXRyaWplIGplIGtvbuhhbmEiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIGN5bGluZGVyczogIgorI34gbXNnc3RyICJWbmVzaXRlILl0ZXZpbG8gc3RlejogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBjeWxpbmRlcnMgdmFsdWUiCisjfiBtc2dzdHIgIk5lZG92b2xqZW5hIHZyZWRub3N0IHN0ZXoiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIGhlYWRzOiAiCisjfiBtc2dzdHIgIlZuZXNpdGUguXRldmlsbyBnbGF2OiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGhlYWRzIHZhbHVlIgorI34gbXNnc3RyICJOZWRvdm9samVubyC5dGV2aWxvIGdsYXYiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrOiAiCisjfiBtc2dzdHIgIlZuZXNpdGUguXRldmlsbyBzZWt0b3JqZXYgbmEgc3Rlem86ICIKKworI34gbXNnaWQgIklsbGVnYWwgc2VjdG9ycyB2YWx1ZSIKKyN+IG1zZ3N0ciAiTmVkb3ZvbGplbm8guXRldmlsbyBzZWt0b3JqZXYiCisKKyN+IG1zZ2lkICJFbnRlciBmaWxlc3lzdGVtIHR5cGU6ICIKKyN+IG1zZ3N0ciAiVm5lc2l0ZSB2cnN0byBkYXRvdGXobmVnYSBzaXN0ZW1hOiAiCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIEZTIFR5cGUgdG8gZW1wdHkiCisjfiBtc2dzdHIgIlZyc3RlIGRhdG90ZehuZWdhIHNpc3RlbWEgbmkgbW/oIHNwcmVtZW5pdGkgbmEgcHJhem5vIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSBGUyBUeXBlIHRvIGV4dGVuZGVkIgorI34gbXNnc3RyICJWcnN0ZSBkYXRvdGXobmVnYSBzaXN0ZW1hIG5pIG1v6CBzcHJlbWVuaXRpIG5hIHJherlpcmplbm8iCisKKyN+IG1zZ2lkICJVbmsoJTAyWCkiCisjfiBtc2dzdHIgIlVuayglMDJYKSIKKworI34gbXNnaWQgIiwgTkMiCisjfiBtc2dzdHIgIiwgTkMiCisKKyN+IG1zZ2lkICJOQyIKKyN+IG1zZ3N0ciAiTkMiCisKKyN+IG1zZ2lkICJQcmkvTG9nIgorI34gbXNnc3RyICJQcmkvTG9nIgorCisjfiBtc2dpZCAiVW5rbm93biAoJTAyWCkiCisjfiBtc2dzdHIgIk5lem5hbm8gKCUwMlgpIgorCisjfiBtc2dpZCAiRGlzayBEcml2ZTogJXMiCisjfiBtc2dzdHIgIkRpc2tvdm5pIFBvZ29uOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTaXplOiAlbGxkIGJ5dGVzLCAlbGxkIE1CIgorI34gbXNnc3RyICJWZWxpa29zdDogJWxsZCBiYWp0b3YsICVsbGQgTUIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU2l6ZTogJWxsZCBieXRlcywgJWxsZC4lbGxkIEdCIgorI34gbXNnc3RyICJWZWxpa29zdDogJWxsZCBiYWp0b3YsICVsbGQsJWxsZCBHQiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJIZWFkczogJWQgICBTZWN0b3JzIHBlciBUcmFjazogJWQgICBDeWxpbmRlcnM6ICVsbGQiCisjfiBtc2dzdHIgIkdsYXY6ICAlZCAgIFNla3Rvcmpldi9zdGV6bzogICAlZCAgIFN0ZXo6ICAgICAgJWxsZCIKKworI34gbXNnaWQgIlBhcnQgVHlwZSIKKyN+IG1zZ3N0ciAiVGlwIFJhemQuIgorCisjfiBtc2dpZCAiRlMgVHlwZSIKKyN+IG1zZ3N0ciAiRGF0LiBzaXN0ZW0iCisKKyN+IG1zZ2lkICJbTGFiZWxdIgorI34gbXNnc3RyICJbT3puYWthXSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgU2VjdG9ycyIKKyN+IG1zZ3N0ciAiU2VrdG9yamV2IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgQ3lsaW5kZXJzIgorI34gbXNnc3RyICJTdGV6IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgU2l6ZSAoTUIpIgorI34gbXNnc3RyICJWZWwuIChNQikiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICBTaXplIChHQikiCisjfiBtc2dzdHIgIlZlbC4gKEdCKSIKKworI34gbXNnaWQgIk5vIG1vcmUgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiTmkgdmXoIHJhemRlbGtvdiIKKworI34gbXNnaWQgIkNoYW5nZSBkaXNrIGdlb21ldHJ5IChleHBlcnRzIG9ubHkpIgorI34gbXNnc3RyICJOYXN0YXZpIGdlb21ldHJpam8gZGlza2EgKHNhbW8gcG96bmF2YWxjaSkiCisKKyN+IG1zZ2lkICJNYXhpbWl6ZSIKKyN+IG1zZ3N0ciAiUmF6cHJpIgorCisjfiBtc2dpZCAiTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24gKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIlJhenByaSB0cmVudXRuaSByYXpkZWxlayDoZXogY2Vsb3RubyBuZXphc2VkZW5vIG9ibW/oamUgKHNhbW8gcG96bmF2YWxjaSkiCisKKyN+IG1zZ2lkICJQcmludCIKKyN+IG1zZ3N0ciAiTmF0aXNuaSIKKworI34gbXNnaWQgIkNoYW5nZSB0aGUgZmlsZXN5c3RlbSB0eXBlIChET1MsIExpbnV4LCBPUy8yIGFuZCBzbyBvbikiCisjfiBtc2dzdHIgIlNwcmVtZW5pIHRpcCBkYXRvdGXobmVnYSBzaXN0ZW1hIChET1MsIExpbnV4LCBPUy8yIGl0bi4pIgorCisjfiBtc2dpZCAiVW5pdHMiCisjfiBtc2dzdHIgIkVub3RlIgorCisjfiBtc2dpZCAiQ2hhbmdlIHVuaXRzIG9mIHRoZSBwYXJ0aXRpb24gc2l6ZSBkaXNwbGF5IChNQiwgc2VjdCwgY3lsKSIKKyN+IG1zZ3N0ciAiU3ByZW1lbmkgZW5vdGUgcHJpa2F6YSB2ZWxpa29zdGkgcmF6ZGVsa292IChNQiwgc2VrdCwgY2lsKSIKKworI34gbXNnaWQgIkNhbm5vdCBtYWtlIHRoaXMgcGFydGl0aW9uIGJvb3RhYmxlIgorI34gbXNnc3RyICJUZSBwYXJ0aWNpamUgc2UgbmUgbW9yZSBuYXN0YXZpdGkga290IHphZ29uc2tlIgorCisjfiBtc2dpZCAiQ2Fubm90IGRlbGV0ZSBhbiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlByYXpuZWdhIHJhemRlbGthIHNlIG5lIG1vcmUgemJyaXNhdGkiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWF4aW1pemUgdGhpcyBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlRlZ2EgcmF6ZGVsa2Egc2UgbmUgbW9yZSByYXpwcmV0aSIKKworI34gbXNnaWQgIlRoaXMgcGFydGl0aW9uIGlzIHVudXNhYmxlIgorI34gbXNnc3RyICJUYSByYXpkZWxlayBuaSB1cG9yYWJlbiIKKworI34gbXNnaWQgIlRoaXMgcGFydGl0aW9uIGlzIGFscmVhZHkgaW4gdXNlIgorI34gbXNnc3RyICJUYSByYXpkZWxlayBzZSC+ZSB1cG9yYWJsamEiCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIHRoZSB0eXBlIG9mIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiVGlwYSBwcmF6bmVnYSByYXpkZWxrYSBzZSBuZSBtb3JlIHNwcmVtZW5pdGkiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGNvbW1hbmQiCisjfiBtc2dzdHIgIk5hcGHoZW4gdWtheiIKKworI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMTk5NC0yMDAyIEtldmluIEUuIE1hcnRpbiAmIGFlYlxuIgorI34gbXNnc3RyICJDb3B5cmlnaHQgKEMpIDE5OTQtMjAwMiBLZXZpbiBFLiBNYXJ0aW4gJiBhZWJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWgsIC0taGVhZHMgPG51bWJlcj4gICAgICBzZXQgdGhlIG51bWJlciBvZiBoZWFkcyB0byB1c2VcbiIKKyN+IG1zZ3N0ciAiICAgIC1IIyBbYWxpIC0taGVhZHMgI106ICAgbmFzdGF2aSC5dGV2aWxvIGdsYXYiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1nLCAtLWd1ZXNzICAgICAgICAgICAgICAgZ3Vlc3MgYSBnZW9tZXRyeSBmcm9tIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVAsIC0tcHJpbnQgPHJ8c3x0PiAgICAgICBwcmludCBwYXJ0aXRpb24gdGFibGUgaW4gc3BlY2lmaWVkIGZvcm1hdFxuIgorI34gbXNnc3RyICIgIHAgICAgICAgICAgUHJlcGm5aSB0YWJlbG8gcmF6ZGVsa292IG5hIHphc2xvbiBhbGkgdiBkYXRvdGVrbyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWEsIC0tYXJyb3cgICAgICAgICAgICAgICB1c2UgYXJyb3cgZm9yIGhpZ2hsaWdodGluZyB0aGUgY3VycmVudCBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiICBkICAgICAgICAgIEl6YnJpuWkgdHJlbnV0bmkgcmF6ZGVsZWsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIiAgIGMgICBzcHJlbWVuaSC5dGV2aWxvIHN0ZXoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBoZWFkcyIKKyN+IG1zZ3N0ciAibmkgbW9nb+hlIG9kcHJldGkgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBzZWN0b3JzIgorI34gbXNnc3RyICJuaSBtb2dv6GUgb2RwcmV0aSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJic2l6ZSIKKyN+IG1zZ3N0ciAiTmFqdmXoamEgdmVsaWtvc3Q9JWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgZSAgIGV4dGVuZGVkIgorI34gbXNnc3RyICJlICAgcmF6uWlyamVuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5yIgorI34gbXNnc3RyICJOQyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTZWMiCisjfiBtc2dzdHIgIk5hc3RhdmkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhpcyBkb2Vzbid0IGxvb2sgbGlrZSBhIHBhcnRpdGlvbiB0YWJsZS4gUHJvYmFibHkgeW91IHNlbGVjdGVkIHRoZSB3cm9uZyBkZXZpY2UuIgorI34gbXNnc3RyICIiCisjfiAiVG8gbmUgaXpnbGVkYSBrb3QgdGFiZWxhIHJhemRlbGtvdlxuIgorI34gIlZlcmpldG5vIHN0ZSBpemJyYWxpIG5hcGHobm8gbmFwcmF2by5cbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCbG9ja3MgIgorI34gbXNnc3RyICIlbGQgYmxva292XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU2VjdG9yIgorI34gbXNnc3RyICJTZWt0b3JqaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJZb3Ugd2lsbCBnZXQgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKKyN+IG1zZ3N0ciAiUHJla3JpdmFsaSBzZSB2YW0gYm9kbyByYXpkZWxraSBuYSBkaXNrdS4gUG9wcmF2aXRlIGppaCFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGbGFnIgorI34gbXNnc3RyICJPem5ha2UiCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiBlcnJvciByZWFkaW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAib3Bvem9yaWxvOiBuYXBha2EgcHJpIGJyYW5qdSAlczogJXMiCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiBjYW4ndCBvcGVuICVzOiAlcyIKKyN+IG1zZ3N0ciAib3Bvem9yaWxvOiBuZSBtb3JlbSBvZHByZXRpICVzOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjb3VsZCBub3Qgb3BlbiAlcyAtIHVzaW5nICVzIGluc3RlYWRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG5pIG1vZ2/oZSBvZHByZXRpICVzIC0gdXBvcmFibGphbSAlcyBuYW1lc3RvIHRlZ2FcbiIKKworI34gbXNnaWQgImNhbid0IGNyZWF0ZSBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgIm5pIG1vZ2/oZSB1c3R2YXJpdGkgb21laml0dmVuZSBkYXRvdGVrZSAlczogJXMgKHphIHBvdm96aXRldiB1cG9yYWJpIC1uKSIKKworI34gbXNnaWQgImNhbid0IGxpbmsgbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICJvbWVqaXR2ZW5lIGRhdG90ZWtlICVzIG5pIG1vZ2/oZSB2ZXphdGkgOiAlcyAoemEgcG92b3ppdGV2IHVwb3JhYmkgLW4pIgorCisjfiBtc2dpZCAiY2FuJ3Qgb3BlbiBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgIm9tZWppdHZlbmUgZGF0b3Rla2UgJXMgbmkgbW9nb+hlIG9kcHJldGk6ICVzICh6YSBwb3Zveml0ZXYgdXBvcmFiaSAtbikiCisKKyN+IG1zZ2lkICJDYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiT21laml0dmVuZSBkYXRvdGVrZSAlcyBuaSBtb2dv6GUgemFrbGVuaXRpOiAlc1xuIgorCisjfiBtc2dpZCAiY2FuJ3QgbG9jayBsb2NrIGZpbGUgJXM6ICVzIgorI34gbXNnc3RyICJvbWVqaXR2ZW5lIGRhdG90ZWtlICVzIG5pIG1vZ2/oZSB6YWtsZW5pdGk6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIkNhbm5vdCBjcmVhdGUgbGluayAlc1xuIgorI34gIlBlcmhhcHMgdGhlcmUgaXMgYSBzdGFsZSBsb2NrIGZpbGU/XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQb3ZlemF2ZSAlcyBuaSBtb2dv6GUgdXN0dmFyaXRpXG4iCisjfiAiTW9nb+hlIG9ic3RhamEgbmV2ZWxqYXZuYSB6YWtsZXBuYSBkYXRvdGVrYT9cbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzICglcykgLSBtdGFiIG5vdCB1cGRhdGVkIgorI34gbXNnc3RyICIlcyBuaSBtb2dv6GUgb2RwcmV0aSAoJXMpIC0gbXRhYiBuaSBhvnVyaXJhbiIKKworI34gbXNnaWQgImVycm9yIHdyaXRpbmcgJXM6ICVzIgorI34gbXNnc3RyICJuYXBha2EgcHJpIHBpc2FuanUgJXM6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYW5ub3QgZmZsdXNoIGNoYW5nZXM6ICVzIgorI34gbXNnc3RyICIlczogemEgJXMgc3RhbmplIG5pIHpuYW5vOiAlc1xuIgorCisjfiBtc2dpZCAiZXJyb3IgY2hhbmdpbmcgbW9kZSBvZiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiTmFwYWthIHByaSBzcHJlbWluamFuanUgbmHoaW5hICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIGNoYW5naW5nIG93bmVyIG9mICVzOiAlc1xuIgorI34gbXNnc3RyICJOYXBha2EgcHJpIHNwcmVtaW5qYW5qdSBuYehpbmEgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJjYW4ndCByZW5hbWUgJXMgdG8gJXM6ICVzXG4iCisjfiBtc2dzdHIgIm5pIG1vZ2/oZSBwcmVpbWVub3ZhdGkgJXMgdiAlczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogdHJhbnNsYXRlZCAlcyAnJXMnIHRvICclcydcbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIG5pIG1vZ2/oZSBuYWp0aSB2ICVzIGFsaSAlcyIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogcG8gZXZpZGVuY2kgbXRhYiBqZSAlcyC+ZSBwcmlrbG9wbGplbm8gbmEgJXMiCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIG1vdW50ZWQgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiBwbyBldmlkZW5jaSBtdGFiIGplICVzIHByaWtsb3BsamVubyBuYSAlczwiCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3Qgb3BlbiAlcyBmb3Igd3JpdGluZzogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBlbm90ZSAlcyBuaSBtb+ggb2RwcmV0aSB6YSBwaXNhbmplOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBlcnJvciB3cml0aW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IG5hcGFrYSBwcmkgcGlzYW5qdSBuYSAlczogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogZXJyb3IgY2hhbmdpbmcgbW9kZSBvZiAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBuYXBha2EgcHJpIHNwcmVtaW5qYW5qdSBuYehpbmEgJXM6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IGdyb3VwIGlkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IGhpdHJvc3RpIG5pIG1vZ2/oZSBuYXN0YXZpdGk6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHVzZXIgaWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDogaGl0cm9zdGkgbmkgbW9nb+hlIG5hc3Rhdml0aTogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IGZvcms6ICVzIgorI34gbXNnc3RyICJtb3VudDogbmkgbW9nb+hlIHZlaml0aTogJXMiCisKKyN+IG1zZ2lkICJUcnlpbmcgJXNcbiIKKyN+IG1zZ3N0ciAiUG9za3W5YW0geiAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IHlvdSBkaWRuJ3Qgc3BlY2lmeSBhIGZpbGVzeXN0ZW0gdHlwZSBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHphICVzIG5pc3RlIHBvZGFsaSB2cnN0ZSBkYXQuIHNpc3RlbWFcbiIKKworI34gbXNnaWQgIiAgICAgICBJIHdpbGwgdHJ5IGFsbCB0eXBlcyBtZW50aW9uZWQgaW4gJXMgb3IgJXNcbiIKKyN+IG1zZ3N0ciAiXHRVcG9yYWJpbGkgc2UgYm9kbyB2c2kgdGlwaSBvbWVuamVuaSB2ICVzIGFsaSAlc1xuIgorCisjfiBtc2dpZCAiICAgICAgIGFuZCBpdCBsb29rcyBsaWtlIHRoaXMgaXMgc3dhcHNwYWNlXG4iCisjfiBtc2dzdHIgIlx0aW4gaXpnbGVkYSBrb3QgZGEgamUgaXptZW5qYWxuaSBwcm9zdG9yXG4iCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSB0eXBlICVzXG4iCisjfiBtc2dzdHIgIlx0VXBvcmFibGplbiBibyB0aXAgJXNcbiIKKworI34gbXNnaWQgIiVzIGxvb2tzIGxpa2Ugc3dhcHNwYWNlIC0gbm90IG1vdW50ZWQiCisjfiBtc2dzdHIgIiVzIGplIHBvZG9iZW4gaXptZW5qYWxuZW11IHByb3N0b3J1LCB6YXRvIG5lIGJvIHByaWtsb3BsamVuIgorCisjfiBtc2dpZCAibW91bnQgZmFpbGVkIgorI34gbXNnc3RyICJwcmlrbG9wIG5pIHVzcGVsIgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiBzYW1vIHNpc3RlbXNraSBza3JibmlrIGxhaGtvIHByaWtsb3BpICVzIG5hICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGxvb3AgZGV2aWNlIHNwZWNpZmllZCB0d2ljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IGxvb3AgbmFwcmF2YSBqZSBwb2RhbmEgZHZha3JhdCIKKworI34gbXNnaWQgIm1vdW50OiB0eXBlIHNwZWNpZmllZCB0d2ljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpcCBqZSBwb2RhbiBkdmFrcmF0IgorCisjfiBtc2dpZCAibW91bnQ6IHNraXBwaW5nIHRoZSBzZXR1cCBvZiBhIGxvb3AgZGV2aWNlXG4iCisjfiBtc2dzdHIgIm1vdW50OiBuYXN0YXZpdGV2IGxvb3AgbmFwcmF2ZSBibyBwcmVza2/oZW5hXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGVuYWJsaW5nIGF1dG9jbGVhciBsb29wZGV2IGZsYWdcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGxvb3AgbmFwcmF2YSAlcyBibyB1cG9yYWJsamVuYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBpbnZhbGlkIG9mZnNldCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiTmV2ZWxqYXZuYSB2cmVkbm9zdCBuYXN0YXZsamFuamE6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGludmFsaWQgc2l6ZWxpbWl0ICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICJOZXZlbGphdm5hIHZyZWRub3N0IG5hc3RhdmxqYW5qYTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIGFzIGxvb3AiCisjfiBtc2dzdHIgIm1vdW50OiBwbyBldmlkZW5jaSBtdGFiIGplICVzIL5lIHByaWtsb3BsamVubyBuYSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGRldiBjb250ZXh0IgorI34gbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byB1c2UgJXMgZGV2aWNlIgorI34gbXNnc3RyICJpem1lbmphbG5lIG5hcHJhdmUgbmkgbW9nb+hlIHByZXZpdGkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byBmb3VuZCBmcmVlIGxvb3AgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudDogbmFzdGF2aXRldiBsb29wIG5hcHJhdmUgbmkgdXNwZWxhXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ29pbmcgdG8gdXNlIHRoZSBsb29wIGRldmljZSAlc1xuIgorI34gbXNnc3RyICJtb3VudDogbG9vcCBuYXByYXZhICVzIGJvIHVwb3JhYmxqZW5hXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgdG8gc2V0IGxvb3BkZXYgYXR0cmlidXRlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IG5hc3Rhdml0ZXYgbG9vcCBuYXByYXZlIG5pIHVzcGVsYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiAlczogZmFpbGVkIHNldHRpbmcgdXAgbG9vcCBkZXZpY2U6ICVtIgorI34gbXNnc3RyICJtb3VudDogbmFzdGF2aXRldiBsb29wIG5hcHJhdmUgbmkgdXNwZWxhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IHN0b2xlbiBsb29wPSVzIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBzZXR1cCBsb29wIGRldmljZSBzdWNjZXNzZnVsbHlcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG5hc3Rhdml0ZXYgbG9vcCBuYXByYXZlIGplIHVzcGVsYVxuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vICVzIGZvdW5kIC0gY3JlYXRpbmcgaXQuLlxuIgorI34gbXNnc3RyICJtb3VudDogJXMgYm8gdXN0dmFyamVuLCBrZXIgZ2EgbmlzZW0gbmG5ZWxcbiIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgb3BlbiAlcyBmb3Igc2V0dGluZyBzcGVlZCIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIG5pIG1vZ2/oZSBvZHByZXRpIHphIG5hc3Rhdml0ZXYgaGl0cm9zdGkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgc3BlZWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDogaGl0cm9zdGkgbmkgbW9nb+hlIG5hc3Rhdml0aTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHBvIGV2aWRlbmNpIG10YWIgamUgJXMgvmUgcHJpa2xvcGxqZW5vIG5hICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtd3JpdGUuXG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgamUgemFwb3NsZW5hIC0gcG9ub3ZubyBwcmlrbGFwbGphbSBzYW1vIHphIGJyYW5qZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtb25seS5cbiIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBqZSB6YXBvc2xlbmEgLSBwb25vdm5vIHByaWtsYXBsamFtIHNhbW8gemEgYnJhbmplXG4iCisKKyN+IG1zZ2lkICJtb3VudDogSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW50OiBUaXBhIGRhdC4gc2lzdGVtYSBuaSBiaWxvIG1vZ2/oZSB1Z290b3ZpdGkgaW4gbmkgYmlsIHBvZGFuIgorCisjfiBtc2dpZCAibW91bnQ6IHlvdSBtdXN0IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpcCBkYXQuIHNpc3RlbWEgbW9yYSBiaXRpIHBvZGFuIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IHByaWtsb3AgbmkgdXNwZWwiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgaXMgbm90IGEgZGlyZWN0b3J5IgorI34gbXNnc3RyICJtb3VudDogcHJpa2xvcG5hIHRv6GthICVzIG5pIGltZW5payIKKworI34gbXNnaWQgIm1vdW50OiBwZXJtaXNzaW9uIGRlbmllZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGRvc3RvcCB6YXZybmplbiIKKworI34gbXNnaWQgIm1vdW50OiBtdXN0IGJlIHN1cGVydXNlciB0byB1c2UgbW91bnQiCisjfiBtc2dzdHIgIm1vdW50OiB1a2F6IG1vdW50IGxhaGtvIHVwb3JhYmxqYSBzYW1vIHNpc3RlbXNraSBza3JibmlrIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIGJ1c3kiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBqZSB2IHJhYmkiCisKKyN+IG1zZ2lkICJtb3VudDogcHJvYyBhbHJlYWR5IG1vdW50ZWQiCisjfiBtc2dzdHIgIm1vdW50OiBwcm9jIGplIL5lIHByaWtsb3BsamVuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGFscmVhZHkgbW91bnRlZCBvciAlcyBidXN5IgorI34gbXNnc3RyICJtb3VudDogJXMgamUgvmUgcHJpa2xvcGxqZW4gYWxpICVzIHphcG9zbGVuIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGRvZXMgbm90IGV4aXN0IgorI34gbXNnc3RyICJtb3VudDogcHJpa2xvcG5hIHRv6GthICVzIG5lIG9ic3RhamEiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCisjfiBtc2dzdHIgIm1vdW50OiBwcmlrbG9wbmEgdG/oa2EgJXMgamUgc2ltYm9sbmEgcG92ZXphdmEgZG8gbmnoZXNhciIKKworI34gbXNnaWQgIm1vdW50OiBzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKKyN+IG1zZ3N0ciAibW91bnQ6IHBvc2VibmEgbmFwcmF2YSAlcyBuZSBvYnN0YWphIgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiBzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdFxuIgorI34gIiAgICAgICAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogcG9zZWJuYSBuYXByYXZhICVzIG5lIG9ic3RhamFcbiIKKyN+ICJcdChwb3QgbmkgaW1lbmlrKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiAlcyBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorI34gbXNnc3RyICJtb3VudDogJXMguWUgbmkgcHJpa2xvcGxqZW4gYWxpIG5lcHJhdmlsbmEgaXpiaXJhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJtb3VudDogd3JvbmcgZnMgdHlwZSwgYmFkIG9wdGlvbiwgYmFkIHN1cGVyYmxvY2sgb24gJXMsXG4iCisjfiAiICAgICAgIG1pc3NpbmcgY29kZXBhZ2Ugb3IgaGVscGVyIHByb2dyYW0sIG9yIG90aGVyIGVycm9yIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IG5hcGHoZW4gdGlwIGRhdC4gc2lzdGVtYSwgbmVwcmF2aWxuYSBpemJpcmEsIHBvuWtvZG92YW4gc3VwZXJibG9rIG5hICVzLFxuIgorI34gIlx0bWFuamtham/oYSBrb2RuYSBzdHJhbiBhbGkgZHJ1Z2UgbmFwYWtlIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoY291bGQgdGhpcyBiZSB0aGUgSURFIGRldmljZSB3aGVyZSB5b3UgaW4gZmFjdCB1c2VcbiIKKyN+ICIgICAgICAgaWRlLXNjc2kgc28gdGhhdCBzcjAgb3Igc2RhIG9yIHNvIGlzIG5lZWRlZD8pIgorI34gbXNnc3RyICIiCisjfiAiXHQodG8gYmkgbGFoa28gYmlsYSBJREUgbmFwcmF2YSBwcmkga2F0ZXJpIHVwb3JhYmxqYXRlXG4iCisjfiAiXHRpZGUtc2NzaSB0YWtvLCBkYSBqZSBwb3RyZWJubyBpbWV0aSBzcjAgYWxpIHNkYSkiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIChhcmVuJ3QgeW91IHRyeWluZyB0byBtb3VudCBhbiBleHRlbmRlZCBwYXJ0aXRpb24sXG4iCisjfiAiICAgICAgIGluc3RlYWQgb2Ygc29tZSBsb2dpY2FsIHBhcnRpdGlvbiBpbnNpZGU/KSIKKyN+IG1zZ3N0ciAiIgorI34gIlx0KGFsaSBwb3NrdblhdGUgcHJpa2xvcGl0aSByYXq5aXJqZW4gcmF6ZGVsZWssXG4iCisjfiAiXHRuYW1lc3RvIG5vdHJhbmplZ2EgbG9naehuZWdhIHJhemRlbGthPykiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gaXMgZm91bmQgaW4gc3lzbG9nIC0gdHJ5XG4iCisjfiAiICAgICAgIGRtZXNnIHwgdGFpbCAgb3Igc29cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlx0ViBuZWthdGVyaWggcHJpbWVyaWggZG9iaXRlIHVwb3JhYm5lIGluZm9ybWFjaWplIHYgc2lzdC4gZG5ldm5pa3VcbiIKKyN+ICJcdHBvc2t1c2l0ZSB6IGRtZXNnIHwgdGFpbFxuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiBjYW4ndCByZWFkIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgIm1vdW50OiAlczogc3VwZXJibG9rYSBuaSBtb2dv6GUgcHJlYnJhdGkiCisKKyN+IG1zZ2lkICJtb3VudDogJXM6IHVua25vd24gZGV2aWNlIgorI34gbXNnc3RyICJtb3VudDogJXM6IG5lem5hbmEgbmFwcmF2YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogdW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKKyN+IG1zZ3N0ciAibW91bnQ6IG5lem5hbiB0aXAgZGF0LiBzaXN0ZW1hICclcyciCisKKyN+IG1zZ2lkICJtb3VudDogcHJvYmFibHkgeW91IG1lYW50ICVzIgorI34gbXNnc3RyICJtb3VudDogdmVyamV0bm8gamUgYmlsbyBtablsamVubyAlcyIKKworI34gbXNnaWQgIm1vdW50OiBtYXliZSB5b3UgbWVhbnQgJ2lzbzk2NjAnPyIKKyN+IG1zZ3N0ciAibW91bnQ6IG1vZ2/oZSBqZSBiaWwgbWm5bGplbiAnaXNvOTY2MCc/IgorCisjfiBtc2dpZCAibW91bnQ6IG1heWJlIHlvdSBtZWFudCAndmZhdCc/IgorI34gbXNnc3RyICJtb3VudDogbW9nb+hlIGplIGJpbCBtablsamVuICd2ZmF0Jz8iCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaGFzIHdyb25nIGRldmljZSBudW1iZXIgb3IgZnMgdHlwZSAlcyBub3Qgc3VwcG9ydGVkIgorI34gbXNnc3RyICJtb3VudDogJXMgaW1hIG5hcGHobm8guXRldmlsa28gbmFwcmF2ZSBhbGkgcGEgZGF0b3Rl6G5vc2lzdGVtc2tpIHRpcCAlcyBuaSBwb2RwcnQiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCBmYWlscz8iCisjfiBtc2dzdHIgIm1vdW50OiAlcyBuaSBibG/obmEgbmFwcmF2YSBpbiBzdGF0IG5lIHVzcGU/IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJtb3VudDogdGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2VcbiIKKyN+ICIgICAgICAgKG1heWJlIGBtb2Rwcm9iZSBkcml2ZXInPykiCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogamVkcm8gbmUgcHJlcG96bmEgJXMga290IGJsb+huZSBuYXByYXZlXG4iCisjfiAiXHQobW9nb+hlIGBpbnNtb2QgZ29uaWxuaWsnPykiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIChtYXliZSB0cnkgYC1vIGxvb3AnPykiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBuaSBibG/obmEgbmFwcmF2YSAocG9za3VzaXRlIGAtbyBsb29wJz8pIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIG5pIGJsb+huYSBuYXByYXZhIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIG5pIHZlbGphdm5hIGJsb+huYSBuYXByYXZhIgorCisjfiBtc2dpZCAiYmxvY2sgZGV2aWNlICIKKyN+IG1zZ3N0ciAiYmxv6G5hIG5hcHJhdmEiCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IG1vdW50ICVzJXMgcmVhZC1vbmx5IgorI34gbXNnc3RyICJtb3VudDogJXMlcyBuaSBtb+ggcHJpa2xvcGl0aSBzYW1vIHphIGJyYW5qZSIKKworI34gbXNnaWQgIm1vdW50OiAlcyVzIGlzIHdyaXRlLXByb3RlY3RlZCBidXQgZXhwbGljaXQgYC13JyBmbGFnIGdpdmVuIgorI34gbXNnc3RyICJtb3VudDogJXMlcyBqZSB6YbnoaXRlbmEgcHJlZCBwaXNhbmplbSBhbXBhayBwb2RhbmEgamUgYC13JyB6YXN0YXZpY2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCByZW1vdW50ICVzJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorI34gbXNnc3RyICJtb3VudDogJXMlcyBuaSBtb+ggcHJpa2xvcGl0aSBzYW1vIHphIGJyYW5qZSIKKworI34gbXNnaWQgIm1vdW50OiAlcyVzIGlzIHdyaXRlLXByb3RlY3RlZCwgbW91bnRpbmcgcmVhZC1vbmx5IgorI34gbXNnc3RyICJtb3VudDogJXMlcyBqZSB6YbnoaXRlbmEgcHJlZCBwaXNhbmplbSwgcHJpa2xhcGxqYW0gc2FtbyB6YSBicmFuamUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IG5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGplIL5lIHByaWtsb3BsamVuIHYgJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiBubyB0eXBlIHdhcyBnaXZlbiAtIEknbGwgYXNzdW1lIG5mcyBiZWNhdXNlIG9mIHRoZSBjb2xvblxuIgorI34gbXNnc3RyICJtb3VudDogdGlwIG5pIGJpbCBwb2RhbiAtIHByZWRwb3N0YXZsamEgc2UgbmZzIHphcmFkaSBkdm9waehqYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBubyB0eXBlIHdhcyBnaXZlbiAtIEknbGwgYXNzdW1lIGNpZnMgYmVjYXVzZSBvZiB0aGUgLy8gcHJlZml4XG4iCisjfiBtc2dzdHIgIm1vdW50OiB0aXAgbmkgYmlsIHBvZGFuIC0gcHJlZHBvc3RhdmxqYSBzZSBzbWJmcyB6YXJhZGkgcHJlZHBvbmUgLy8gXG4iCisKKyN+IG1zZ2lkICJtb3VudDogJXMgYWxyZWFkeSBtb3VudGVkIG9uICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyBqZSC+ZSBwcmlrbG9wbGplbiB2ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiBtb3VudCAtViAgICAgICAgICAgICAgICAgOiBwcmludCB2ZXJzaW9uXG4iCisjfiAiICAgICAgIG1vdW50IC1oICAgICAgICAgICAgICAgICA6IHByaW50IHRoaXMgaGVscFxuIgorI34gIiAgICAgICBtb3VudCAgICAgICAgICAgICAgICAgICAgOiBsaXN0IG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKKyN+ICIgICAgICAgbW91bnQgLWwgICAgICAgICAgICAgICAgIDogaWRlbSwgaW5jbHVkaW5nIHZvbHVtZSBsYWJlbHNcbiIKKyN+ICJTbyBmYXIgdGhlIGluZm9ybWF0aW9uYWwgcGFydC4gTmV4dCB0aGUgbW91bnRpbmcuXG4iCisjfiAiVGhlIGNvbW1hbmQgaXMgYG1vdW50IFstdCBmc3R5cGVdIHNvbWV0aGluZyBzb21ld2hlcmUnLlxuIgorI34gIkRldGFpbHMgZm91bmQgaW4gL2V0Yy9mc3RhYiBtYXkgYmUgb21pdHRlZC5cbiIKKyN+ICIgICAgICAgbW91bnQgLWEgWy10fC1PXSAuLi4gICAgIDogbW91bnQgYWxsIHN0dWZmIGZyb20gL2V0Yy9mc3RhYlxuIgorI34gIiAgICAgICBtb3VudCBkZXZpY2UgICAgICAgICAgICAgOiBtb3VudCBkZXZpY2UgYXQgdGhlIGtub3duIHBsYWNlXG4iCisjfiAiICAgICAgIG1vdW50IGRpcmVjdG9yeSAgICAgICAgICA6IG1vdW50IGtub3duIGRldmljZSBoZXJlXG4iCisjfiAiICAgICAgIG1vdW50IC10IHR5cGUgZGV2IGRpciAgICA6IG9yZGluYXJ5IG1vdW50IGNvbW1hbmRcbiIKKyN+ICJOb3RlIHRoYXQgb25lIGRvZXMgbm90IHJlYWxseSBtb3VudCBhIGRldmljZSwgb25lIG1vdW50c1xuIgorI34gImEgZmlsZXN5c3RlbSAob2YgdGhlIGdpdmVuIHR5cGUpIGZvdW5kIG9uIHRoZSBkZXZpY2UuXG4iCisjfiAiT25lIGNhbiBhbHNvIG1vdW50IGFuIGFscmVhZHkgdmlzaWJsZSBkaXJlY3RvcnkgdHJlZSBlbHNld2hlcmU6XG4iCisjfiAiICAgICAgIG1vdW50IC0tYmluZCBvbGRkaXIgbmV3ZGlyXG4iCisjfiAib3IgbW92ZSBhIHN1YnRyZWU6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbW92ZSBvbGRkaXIgbmV3ZGlyXG4iCisjfiAiT25lIGNhbiBjaGFuZ2UgdGhlIHR5cGUgb2YgbW91bnQgY29udGFpbmluZyB0aGUgZGlyZWN0b3J5IGRpcjpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNsYXZlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcHJpdmF0ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXVuYmluZGFibGUgZGlyXG4iCisjfiAiT25lIGNhbiBjaGFuZ2UgdGhlIHR5cGUgb2YgYWxsIHRoZSBtb3VudHMgaW4gYSBtb3VudCBzdWJ0cmVlXG4iCisjfiAiY29udGFpbmluZyB0aGUgZGlyZWN0b3J5IGRpcjpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzaGFyZWQgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1yc2xhdmUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ycHJpdmF0ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJ1bmJpbmRhYmxlIGRpclxuIgorI34gIkEgZGV2aWNlIGNhbiBiZSBnaXZlbiBieSBuYW1lLCBzYXkgL2Rldi9oZGExIG9yIC9kZXYvY2Ryb20sXG4iCisjfiAib3IgYnkgbGFiZWwsIHVzaW5nICAtTCBsYWJlbCAgb3IgYnkgdXVpZCwgdXNpbmcgIC1VIHV1aWQgLlxuIgorI34gIk90aGVyIG9wdGlvbnM6IFstbmZGcnN2d10gWy1vIG9wdGlvbnNdIFstcCBwYXNzd2RmZF0uXG4iCisjfiAiRm9yIG1hbnkgbW9yZSBkZXRhaWxzLCBzYXkgIG1hbiA4IG1vdW50IC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVwb3JhYmE6IG1vdW50IC1WICAgICAgICAgICAgICAgOiBpenBpcyByYXpsaehpY2VcbiIKKyN+ICIgICAgICAgICBtb3VudCAtaCAgICAgICAgICAgICAgIDogaXpwaXMgdGUgcG9tb+hpXG4iCisjfiAiICAgICAgICAgbW91bnQgICAgICAgICAgICAgICAgICA6IHNlem5hbSBwcmlrbG9wbGplbmloIGRhdG90ZehuaWggc2lzdGVtb3ZcbiIKKyN+ICIgICAgICAgICBtb3VudCAtbCAgICAgICAgICAgICAgIDogc2V6bmFtIHByaWtsLiBkYXQuIHNpc3QuIHogb3puYWthbWkgb2JzZWdvdlxuIgorI34gIlRvIHNvIGJpbGUgaW5mb3JtYXRpdm5lIGl6YmlyZS4gVWtheiB6YSBwcmlrbG9wIGltYSBvYmxpa29cbiIKKyN+ICIgIG1vdW50IFstdCB0aXBdIG5hcHJhdmEgaW1lbmlrXG4iCisjfiAiyGUgamUgbmFwcmF2YSC+ZSBuYXZlZGVuYSB2IC9ldGMvZnN0YWIsIGxhaGtvIHBvZHJvYm5vc3RpIGl6cHVzdGltby5cbiIKKyN+ICIgICAgICAgICBtb3VudCAtYSBbLXR8LU9dICAgICAgIFx0OiBwcmlrbG9wIHZzZWggbmFwcmF2LCBuYXZlZGVuaWggdiAvZXRjL2ZzdGFiXG4iCisjfiAiICAgICAgICAgbW91bnQgbmFwcmF2YSAgICAgICAgICBcdDogcHJpa2xvcCBuYXByYXZlIG5hIHpuYW5vIHByaWtsb3BubyB0b+hrb1xuIgorI34gIiAgICAgICAgIG1vdW50IGltZW5payAgICAgICAgICAgXHQ6IHByaWtsb3Agem5hbmUgbmFwcmF2ZSBuYSBpbWVuaWtcbiIKKyN+ICIgICAgICAgICBtb3VudCAtdCB0aXAgbmFwcmF2YSBpbWVuaWsgICA6IHRpcGnoZW4gdWtheiBtb3VudFxuIgorI34gIlYgcmVzbmljaSBwcmF2emFwcmF2IG5lIHByaWtsb3BpbW8gbmFwcmF2ZSwgYW1wYWsgZGF0b3Rl6G5pIHNpc3RlbSAocG9kYW5lZ2FcbiIKKyN+ICJ0aXBhKSBuYSBwb2RhbmkgbmFwcmF2aS5cbiIKKyN+ICJUdWRpIHZpZG5pIGltZW5payB2IG9ic3RvamXoZW0gZGF0b3Rl6G5lbSBzaXN0ZW11IGxhaGtvIHByaWtsb3BpbW8gbmEgZHJ1Z28gdG/oa286XG4iCisjfiAiICAgICAgICAgbW91bnQgLS1iaW5kIHN0YXJpX2ltZW5payBub3ZpX2ltZW5pa1xuIgorI34gIk1vZ2/oZSBqZSBwcmVtYWtuaXRpIHR1ZGkgY2VsbyBpbWVuablrbyBzdHJ1a3R1cm86XG4iCisjfiAiICAgICAgICAgbW91bnQgLS1tb3ZlIHN0YXJpX2ltZW5payBub3ZpX2ltZW5pa1xuIgorI34gIk5hcHJhdm8gbGFoa28gbmFzbG92aW1vIHogaW1lbm9tIHBvc2VibmUgZGF0b3Rla2UsIG5wci4gL2Rldi9oZGExIGFsaSAvZGV2L2Nkcm9tLFxuIgorI34gInogb3puYWtvICh6IGl6YmlybyAtTCBvem5ha2EpLCBhbGkgeiBpZGVudGlmaWthY2lqc2tvILl0ZXZpbGtvICh6IGl6YmlybyAtVSB1dWlkKS5cbiIKKyN+ICJEcnVnZSBpemJpcmU6IFstbmZGcnN2d10gWy1vIGl6YmlyZV0uXG4iCisjfiAiUG9kcm9ibm9zdGkgbGFoa28gcG9puehldGUgdiBwcmlyb+huaWt1IHogdWthem9tOiBtYW4gOCBtb3VudFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorI34gbXNnc3RyICJtb3VudDogdG8gbGFoa28gaXp2ZWRlIHNhbW8gc2lzdGVtc2tpIHNrcmJuaWsiCisKKyN+IG1zZ2lkICJtb3VudDogb25seSByb290IGNhbiBkbyB0aGF0IgorI34gbXNnc3RyICJtb3VudDogdG8gbGFoa28gaXp2ZWRlIHNhbW8gc2lzdGVtc2tpIHNrcmJuaWsiCisKKyN+IG1zZ2lkICJub3RoaW5nIHdhcyBtb3VudGVkIgorI34gbXNnc3RyICJuaeggbmkgYmlsbyBwcmlrbG9wbGplbm8iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gc3VjaCBwYXJ0aXRpb24gZm91bmQiCisjfiBtc2dzdHIgIm1vdW50OiB0YWtlZ2EgcmF6ZGVsa2EgbmlzZW0gbmG5ZWwiCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3QgZmluZCAlcyBpbiAlcyBvciAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIG5pIG1vZ2/oZSBuYWp0aSB2ICVzIGFsaSAlcyIKKworI34gbXNnaWQgIlttbnRlbnRdOiB3YXJuaW5nOiBubyBmaW5hbCBuZXdsaW5lIGF0IHRoZSBlbmQgb2YgJXNcbiIKKyN+IG1zZ3N0ciAiW21udGVudF06IG9wb3pvcmlsbzogbmEga29uY3UgZGF0b3Rla2UgJXMgbWFuamthIHByZWhvZCBuYSB6YehldGVrIHZyc3RpY2VcbiIKKworI34gbXNnaWQgIlttbnRlbnRdOiBsaW5lICVkIGluICVzIGlzIGJhZCVzXG4iCisjfiBtc2dzdHIgIlttbnRlbnRdOiB2cnN0aWNpICVkIGluICVzIHN0YSBwb7lrb2RvdmFuaSVzXG4iCisKKyN+IG1zZ2lkICI7IHJlc3Qgb2YgZmlsZSBpZ25vcmVkIgorI34gbXNnc3RyICI7IHByZW9zdGFuZWsgZGF0b3Rla2UgYm8gaWdub3JpcmFuIgorCisjfiBtc2dpZCAibm90IGVub3VnaCBtZW1vcnkiCisjfiBtc2dzdHIgInByZW1hbG8gcG9tbmlsbmlrYSIKKworI34gbXNnaWQgInVtb3VudDogY29tcGlsZWQgd2l0aG91dCBzdXBwb3J0IGZvciAtZlxuIgorI34gbXNnc3RyICJ1bW91bnQ6IHByZXZhamFuamUgamUgcG90ZWthbG8gYnJleiBwb2Rwb3JlIHphIC1mXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3Qgc2V0IGdyb3VwIGlkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IGhpdHJvc3RpIG5pIG1vZ2/oZSBuYXN0YXZpdGk6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogY2Fubm90IHNldCB1c2VyIGlkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IGhpdHJvc3RpIG5pIG1vZ2/oZSBuYXN0YXZpdGk6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogY2Fubm90IGZvcms6ICVzIgorI34gbXNnc3RyICJ1bW91bnQ6IHZlaml0ZXYgbmkgbW9nb+hhOiAlcyIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGludmFsaWQgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBuZXZlbGphdm5hIGJsb+huYSBuYXByYXZhIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogbm90IG1vdW50ZWQiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IG5pIHByaWtsb3BsamVuYSIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGNhbid0IHdyaXRlIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgInVtb3VudDogJXM6IHN1cGVyYmxva2EgbmkgbW9nb+hlIHphcGlzYXRpIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogbm90IGZvdW5kIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBuZXVzcGW5bm8gaXNrYW5qZSIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVtb3VudCIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogc2FtbyBzaXN0ZW1za2kgc2tyYm5payBsYWhrbyBvZGtsYXBsamEiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBibG9jayBkZXZpY2VzIG5vdCBwZXJtaXR0ZWQgb24gZnMiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IG5hIGRhdC4gc2lzdC4gYmxv6G5lIG5hcHJhdmUgbmlzbyBkb3ZvbGplbmUiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiAlcyIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gY2hkaXIgdG8gJXM6ICVtIgorI34gbXNnc3RyICJuYW1laTogc3ByZW1lbWJhIGltZW5pa2EgbmkgbW9nb+hhIHYgJXMgLSAlcyAoJWQpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gb2J0YWluIGN1cnJlbnQgZGlyZWN0b3J5OiAlbSIKKyN+IG1zZ3N0ciAibmFtZWk6IHRyZW51dG5lZ2EgaW1lbmlrYSBuaSBtb2dv6GUgZG9iaXRpIC0gJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IG1vdW50cG9pbnQgbW92ZWQgKCVzIC0+ICVzKSIKKyN+IG1zZ3N0ciAibW91bnQ6IHByaWtsb3BuYSB0b+hrYSAlcyBuZSBvYnN0YWphIgorCisjfiBtc2dpZCAibm8gdW1vdW50MiwgdHJ5aW5nIHVtb3VudC4uLlxuIgorI34gbXNnc3RyICJuaSB1bW91bnQyLCBwb3NrdblhbSB6IHVtb3VudC4uLlxuIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBidXN5IC0gcmVtb3VudGVkIHJlYWQtb25seVxuIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIGplIHphcG9zbGVuYSAtIHBvbm92bm8gcHJpa2xhcGxqYW0gc2FtbyB6YSBicmFuamVcbiIKKworI34gbXNnaWQgInVtb3VudDogY291bGQgbm90IHJlbW91bnQgJXMgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDogcG9ub3ZuaSBwcmlrbG9wICVzIHNhbW8gemEgYnJhbmplIG5pIG1vZ2/oXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgaGFzIGJlZW4gdW5tb3VudGVkXG4iCisjfiBtc2dzdHIgIiVzIGplIG9ka2xvcGxqZW5cbiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IGZpbmQgbGlzdCBvZiBmaWxlc3lzdGVtcyB0byB1bm1vdW50IgorI34gbXNnc3RyICJ1bW91bnQ6IHNlem5hbWEgZGF0LiBzaXN0LiB6YSBvZGtsb3AgbmkgbW9nb+hlIG5hanRpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogdW1vdW50IC1oIHwgLVZcbiIKKyN+ICIgICAgICAgdW1vdW50IC1hIFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBbLXQgdmZzdHlwZXNdIFstTyBvcHRzXVxuIgorI34gIiAgICAgICB1bW91bnQgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIHNwZWNpYWwgfCBub2RlLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVcG9yYWJhOiB1bW91bnQgWy1oVl1cbiIKKyN+ICJcdCAgdW1vdW50IC1hIFstZl0gWy1yXSBbLW5dIFstdl0gWy10IHRpcCBuYXYuIGRhdC4gc2lzdC5dIFstTyBpemJpcmVdXG4iCisjfiAiXHQgIHVtb3VudCBbLWZdIFstcl0gWy1uXSBbLXZdIHBvc2Vibm8gfCB2b3psabnoZS4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSAnb2Zmc2V0PSVzJyBvcHRpb25zXG4iCisjfiBtc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImRldmljZSAlcyBpcyBhc3NvY2lhdGVkIHdpdGggJXNcbiIKKyN+IG1zZ3N0ciAiU2VrdG9yICVkIGplIL5lIGRvZGVsamVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZGV2aWNlICVzIGlzIG5vdCBhc3NvY2lhdGVkIHdpdGggJXNcbiIKKyN+IG1zZ3N0ciAiU2VrdG9yICVkIGplIL5lIGRvZGVsamVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2Fubm90IHVubW91bnQgXCJcIlxuIgorI34gbXNnc3RyICJuaSBtb2dv6GUgb2RrbG9waXRpIFwiXCJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUcnlpbmcgdG8gdW5tb3VudCAlc1xuIgorI34gbXNnc3RyICIlcyBwb3NrdblhbSBvZGtsb3BpdGlcbiIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBmaW5kICVzIGluIG10YWJcbiIKKyN+IG1zZ3N0ciAiJXMgbmkgbW9nb+hlIG5hanRpIHYgbXRhYlxuIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBpcyBub3QgbW91bnRlZCAoYWNjb3JkaW5nIHRvIG10YWIpIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIG5pIHByaWtsb3BsamVuIChnbGVkZSBuYSBtdGFiKSIKKworI34gbXNnaWQgInVtb3VudDogaXQgc2VlbXMgJXMgaXMgbW91bnRlZCBtdWx0aXBsZSB0aW1lcyIKKyN+IG1zZ3N0ciAidW1vdW50OiBpemdsZWRhIGtvdCBkYSBqZSAlcyB2ZehrcmF0IHByaWtsb3BsamVuIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBpcyBub3QgaW4gdGhlIGZzdGFiIChhbmQgeW91IGFyZSBub3Qgcm9vdCkiCisjfiBtc2dzdHIgInVtb3VudDogJXMgbmkgdiBmc3RhYiAoaW4gdmkgbmlzdGUgc2lzdGVtc2tpIHNrcmJuaWspIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBtb3VudCBkaXNhZ3JlZXMgd2l0aCB0aGUgZnN0YWIiCisjfiBtc2dzdHIgInVtb3VudDogcHJpa2xvcCAlcyBqZSB2IG5hc3Byb3RqdSB6IGZzdGFiIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogb25seSAlcyBjYW4gdW5tb3VudCAlcyBmcm9tICVzIgorI34gbXNnc3RyICJtb3VudDogc2FtbyBzaXN0ZW1za2kgc2tyYm5payBsYWhrbyBvZGtsb3BpICVzIG5hICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCisjfiBtc2dzdHIgInVtb3VudDogc2FtbyBzaXN0ZW1za2kgc2tyYm5payBuYXJlZGkgdG8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8dHR5PiBbLi4uXVxuIgorI34gbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtUywgLS1zZXQtZGVmYXVsdC10aHJlc2hvbGQgPG51bT4gIHNldCBkZWZhdWx0IHRocmVzaG9sZCB2YWx1ZVxuIgorI34gbXNnc3RyICIlczogcHJpdnpldGkgcHJhZzogJWxkLCBpbiBwcml2emV0aSBvZG1vcjogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkZpbGUgJXMsIEZvciB0aHJlc2hvbGQgdmFsdWUgJWx1LCBNYXhpbXVtIGNoYXJhY3RlcnMgaW4gZmlmbyB3ZXJlICVkLFxuIgorI34gImFuZCB0aGUgbWF4aW11bSB0cmFuc2ZlciByYXRlIGluIGNoYXJhY3RlcnMvc2Vjb25kIHdhcyAlZiIKKyN+IG1zZ3N0ciAiIgorI34gIkRhdG90ZWthICVzLCBaYSBwcmFnb3ZubyB2cmVkbm9zdCAlbHUsIE5hanZl6CB6bmFrb3YgdiBmaWZvIGplIGJpbG8gJWQsXG4iCisjfiAiaW4gbmFqdmXoamEgaGl0cm9zdCBwcmVub3NhICVmIHpuYWtvdi9zZWt1bmRvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkZpbGUgJXMsIEZvciB0aHJlc2hvbGQgdmFsdWUgJWx1IGFuZCB0aW1lb3V0IHZhbHVlICVsdSwgTWF4aW11bSBjaGFyYWN0ZXJzIGluIGZpZm8gd2VyZSAlZCxcbiIKKyN+ICJhbmQgdGhlIG1heGltdW0gdHJhbnNmZXIgcmF0ZSBpbiBjaGFyYWN0ZXJzL3NlY29uZCB3YXMgJWYiCisjfiBtc2dzdHIgIiIKKyN+ICJEYXRvdGVrYSAlcywgWmEgcHJhZ292bm8gdnJlZG5vc3QgJWx1IGluIHZyZWRub3N0IG9kbW9yYSAlbHUsIE5hanZl6CB6bmFrb3YgdiBmaWZvIGplIGJpbG8gJWQsXG4iCisjfiAiaW4gbmFqdmXoamEgcHJlbm9zbmEgaGl0cm9zdCBqZSBiaWxhICVmIHpuYWtvdi9zZWt1bmRvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGlzc3VlIENZR0VUTU9OIG9uICVzIgorI34gbXNnc3RyICJTaWduYWxhIENZR0VUTU9OIG5pIG1vZ2/oZSBpemRhdGkgbmEgJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGdldCB0aHJlc2hvbGQgZm9yICVzIgorI34gbXNnc3RyICJQcmFndSB6YSAlcyBuaSBtb2dv6GUgZG9iaXRpOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBnZXQgdGltZW91dCBmb3IgJXMiCisjfiBtc2dzdHIgIk9kbW9yYSB6YSAlcyBuaSBtb2dv6GUgZG9iaXRpOiAlc1xuIgorCisjfiBtc2dpZCAiJXM6ICVsdSBpbnRzLCAlbHUvJWx1IGNoYXJzOyBmaWZvOiAlbHUgdGhyZXNoLCAlbHUgdG1vdXQsICVsdSBtYXgsICVsdSBub3dcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsdSC5dGV2aWwsICVsdS8lbHUgem5ha292OyBmaWZvOiAlbHUgcHJhZywgJWx1IG9kbW9yLCAlbHUgbmFqdmXoLCAlbHUgdHJlbnV0bmFcbiIKKworI34gbXNnaWQgIiAgICVmIGludC9zZWM7ICVmIHJlYywgJWYgc2VuZCAoY2hhci9zZWMpXG4iCisjfiBtc2dzdHIgIiAgICVmILl0Li9zZWs7ICVmIHNwcmVqZXRvLCAlZiBwb3NsYW5vICh6bmFrL3NlaylcbiIKKworI34gbXNnaWQgIiVzOiAlbHUgaW50cywgJWx1IGNoYXJzOyBmaWZvOiAlbHUgdGhyZXNoLCAlbHUgdG1vdXQsICVsdSBtYXgsICVsdSBub3dcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsdSC5dC4sICVsdSB6bmFrb3YsIGZpZm86ICVsdSBwcmFnLCAlbHUgb2Rtb3IsICVsdSBuYWp2ZegsICVsdSB0cmVudXRuYVxuIgorCisjfiBtc2dpZCAiICAgJWYgaW50L3NlYzsgJWYgcmVjIChjaGFyL3NlYylcbiIKKyN+IG1zZ3N0ciAiICAgJWYguXQuL3NlazsgJWYgc3ByZWpldGloICh6bmFrL3NlaylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGludGVydmFsIHZhbHVlIgorI34gbXNnc3RyICJOZXZlbGphdm5hIHZyZWRub3N0IGludGVydmFsYTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGludGVydmFsIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiTmV2ZWxqYXZuYSB2cmVkbm9zdCBpbnRlcnZhbGE6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdmFsdWUiCisjfiBtc2dzdHIgIk5ldmVsamF2bmEgdnJlZG5vc3QgbmFzdGF2bGphbmphOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgc2V0IHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiTmV2ZWxqYXZuYSB2cmVkbm9zdCBuYXN0YXZsamFuamE6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHZhbHVlIgorI34gbXNnc3RyICJOZXZlbGphdm5hIHByaXZ6ZXRhIHZyZWRub3N0OiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIk5ldmVsamF2bmEgcHJpdnpldGEgdnJlZG5vc3Q6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdGltZSB2YWx1ZSIKKyN+IG1zZ3N0ciAiTmV2ZWxqYXZuYSB2cmVkbm9zdCB6YSBuYXN0YXZpdGV2IOhhc2E6JXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiTmV2ZWxqYXZuYSB2cmVkbm9zdCB6YSBuYXN0YXZpdGV2IOhhc2E6JXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdGltZSB2YWx1ZSIKKyN+IG1zZ3N0ciAiTmV2ZWxqYXZuYSB2cmVkbm9zdCB6YSBwcml2emV0aSDoYXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHRpbWUgdmFsdWU6ICVkIgorI34gbXNnc3RyICJOZXZlbGphdm5hIHZyZWRub3N0IHphIHByaXZ6ZXRpIOhhczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgc2V0ICVzIHRvIHRocmVzaG9sZCAlZCIKKyN+IG1zZ3N0ciAiJXMgbmkgbW9nb+hlIG5hc3Rhdml0aSBuYSBwcmFnICVkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzZXQgJXMgdG8gdGltZSB0aHJlc2hvbGQgJWQiCisjfiBtc2dzdHIgIiVzIG5pIG1vZ2/oZSBuYXN0YXZpdGkgbmEg6GFzb3ZuaSBwcmFnICVkOiAlc1xuIgorCisjfiBtc2dpZCAiJXM6ICVsZCBjdXJyZW50IHRocmVzaG9sZCBhbmQgJWxkIGN1cnJlbnQgdGltZW91dFxuIgorI34gbXNnc3RyICIlczogdHJlbnV0bmkgcHJhZzogJWxkLCBpbiB0cmVudXRuaSBvZG1vcjogJWxkXG4iCisKKyN+IG1zZ2lkICIlczogJWxkIGRlZmF1bHQgdGhyZXNob2xkIGFuZCAlbGQgZGVmYXVsdCB0aW1lb3V0XG4iCisjfiBtc2dzdHIgIiVzOiBwcml2emV0aSBwcmFnOiAlbGQsIGluIHByaXZ6ZXRpIG9kbW9yOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGltZSBlbGFwc2VkIHNpbmNlIHJlZmVyZW5jZSB0aW1lIGhhcyBiZWVuICUuNmYgc2Vjb25kcy5cbiIKKyN+ICJEZWxheWluZyBmdXJ0aGVyIHRvIHJlYWNoIHRoZSBuZXcgdGltZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIshhcywga2kgamUgcHJldGVrZWwgb2QgcmVmZXJlbuhuZWdhLCBqZSAgJS42ZiBzZWt1bmQuXG4iCisjfiAiUG92Zeh1amVtbyB6YW9zdGFuZWssIGRhIGJpIGRvc2VnbGkgbmFzbGVkbmpvIGNlbG8gc2VrdW5kby5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGRldGVybWluZSBzb3VyY2UiCisjfiBtc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdGVybSA8dGVybWluYWxfbmFtZT5cbiIKKyN+IG1zZ3N0ciAiICBbIC10ZXJtIGltZV90ZXJtaW5hbGEgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtcmVzZXRcbiIKKyN+IG1zZ3N0ciAiICBbIC1yZXNldCBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1pbml0aWFsaXplXG4iCisjfiBtc2dzdHIgIiAgWyAtaW5pdGlhbGl6ZSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1jdXJzb3IgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1jdXJzb3IgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtcmVwZWF0IDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtcmVwZWF0IFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWFwcGN1cnNvcmtleXMgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWxpbmV3cmFwIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtbGluZXdyYXAgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZGVmYXVsdFxuIgorI34gbXNnc3RyICIgIFsgLWRlZmF1bHQgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaW52ZXJzZXNjcmVlbiA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWludmVyc2VzY3JlZW4gW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYm9sZCA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWJvbGQgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYmxpbmsgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1ibGluayBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yZXZlcnNlIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtcmV2ZXJzZSBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC11bmRlcmxpbmUgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC11bmRlcmxpbmUgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtc3RvcmVcbiIKKyN+IG1zZ3N0ciAiICBbIC1zdG9yZSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1jbGVhciA8YWxsfHJlc3Q+XG4iCisjfiBtc2dzdHIgIiAgWyAtY2xlYXIgW2FsbHxyZXN0XSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC10YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+IG1zZ3N0ciAiICBbIC10YWJzIFsgdGFiMSB0YWIyIC4uLiBdIF0gICAgICAgICi5dC4gdGFiLW92ID0gMS0xNjApXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1jbHJ0YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+IG1zZ3N0ciAiICBbIC1jbHJ0YWJzIFsgdGFiMSB0YWIyIC4uLiBdIF0gICAgICi5dC4gdGFiLW92ID0gMS0xNjApXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yZWd0YWJzIDwxLTE2MD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1yZWd0YWJzIFsxLTE2MF0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYmxhbmsgPDAtNjB8Zm9yY2V8cG9rZT5cbiIKKyN+IG1zZ3N0ciAiICBbIC1ibGFuayBbMC02MF0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZHVtcCAgIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gbXNnc3RyICIgIFsgLWR1bXAgICBbMS2pVF9VUFJBVkxKQUxOSUtPVl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYXBwZW5kIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gbXNnc3RyICIgIFsgLWFwcGVuZCBbMS2pVF9VUFJBVkxKQUxOSUtPVl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZmlsZSBkdW1wZmlsZW5hbWVcbiIKKyN+IG1zZ3N0ciAiICBbIC1maWxlIGl6aG9kbmFfZGF0IF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW1zZyA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLW1zZyBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1tc2dsZXZlbCA8MC04PlxuIgorI34gbXNnc3RyICIgIFsgLW1zZ2xldmVsIFswLThdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXBvd2VyZG93biA8MC02MD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1wb3dlcmRvd24gWzAtNjBdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWJsZW5ndGggPDAtMjAwMD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1ibGVuZ3RoIFswLTIwMDBdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWJmcmVxIGZyZXFudW1iZXJcbiIKKyN+IG1zZ3N0ciAiICBbIC1iZnJlcSBmcmVrdmVu6G5hX7l0LiBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXJyb3Igd3JpdGluZyBzY3JlZW5kdW1wIgorI34gbXNnc3RyICJOYXBha2EgcHJpIGJyYW5qdSB6YXNsb25za2VnYSBpenBpc2FcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDb3VsZG4ndCByZWFkIG5laXRoZXIgL2Rldi92Y3NhMCBub3IgL2Rldi92Y3NhIgorI34gbXNnc3RyICIvZGV2L3R0eTEgYWxpIC9kZXYvdmMvMSBuaSBtb2dv6GUgb2RwcmV0aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyN+IG1zZ2lkICJsaW5lIHRvbyBsb25nIgorI34gbXNnc3RyICJ2cnN0aWNhIGplIHByZWRvbGdhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhaWRwaWQgZmFpbGVkIgorI34gbXNnc3RyICJrbGljIHNldHVpZCgpIG5pIHVzcGVsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCisjfiBtc2dzdHIgIlJhemRlbGVrICVkIGplIL5lIGRvbG/oZW4uIFpicmm5aXRlIGdhIHByZWRlbiBnYSBwb25vdm5vIGRvZGF0ZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJXpkIGlzIGFscmVhZHkgZGVmaW5lZC4gRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorI34gbXNnc3RyICJSYXpkZWxlayAlZCBqZSC+ZSBkb2xv6GVuLiBaYnJpuWl0ZSBnYSBwcmVkZW4gZ2EgcG9ub3ZubyBkb2RhdGUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogIEJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LiBUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLiIKKyN+IG1zZ3N0ciAiIgorI34gIk9wb3pvcmlsbzogQkxLR0VUU0laRSBpb2N0bCBuaSB1c3BlbCBuYSAlcy4gVXBvcmFibGphIHNlIGdlb21ldHJpanNrYSB2cmVkbm9zdCBzdGV6ZSAlZC5cbiIKKyN+ICJUYSB2cmVkbm9zdCBzZSBsYWhrbyBza3JharlhIHphIG5hcHJhdmUgPiAzMy44IEdCLlxuIgorCisjfiBtc2dpZCAic2V0IGJsb2Nrc2l6ZSIKKyN+IG1zZ3N0ciAibmFzdGF2aSB2ZWxpa29zdCBibG9rYSIKKworI34gbXNnaWQgIm9uZSBiYWQgYmxvY2tcbiIKKyN+IG1zZ3N0ciAiZW4gcG+5a29kb3ZhbiBibG9rXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uIHR5cGUgaGV4IG9yIHV1aWQiCisjfiBtc2dzdHIgIiMgdGFiZWxhIHJhemRlbGtvdiBvZCAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiBtc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVhZCBmYWlsZWQgJXMiCisjfiBtc2dzdHIgIihOYXNsZWRuamEgZGF0b3Rla2E6ICVzKSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGZhaWxlZDogJWQiCisjfiBtc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZmFpbGVkOiAlZCIKKyN+IG1zZ3N0ciAiKE5hc2xlZG5qYSBkYXRvdGVrYTogJXMpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZCIKKyN+IG1zZ3N0ciAiTm9iZW4gcmF6ZGVsZWsgbmkgZG9sb+hlblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgbGlzdCBhbGwgdXNlZCBkZXZpY2VzXG4iCisjfiAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4gWy4uLl0gIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCisjfiAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIGRldGFjaCBhbGwgdXNlZCBkZXZpY2VzXG4iCisjfiAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorI34gIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICByZXNpemUgZGV2aWNlXG4iCisjfiAiIC1qLCAtLWFzc29jaWF0ZWQgPGZpbGU+ICAgICAgIGxpc3QgYWxsIGRldmljZXMgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorI34gbXNnc3RyICIiCisjfiAidXBvcmFiYTpcbiIKKyN+ICIgICVzIGxvb3BfbmFwcmF2YVx0XHRcdFx0XHQjIGRvYmkgaW5mb3JtYWNpamVcbiIKKyN+ICIgICVzIC1kIGxvb3BfbmFwcmF2YVx0XHRcdFx0XHQjIHpicmm5aVxuIgorI34gIiAgJXMgLWZcdFx0XHRcdFx0XHQjIG5hamRpIG5ldXBvcmFibGplbmVcbiIKKyN+ICIgICVzIFstZSC5aWZyaXJhbmplXSBbLW8gb2RtaWtdIHstZnxsb29wX25hcHJhdmF9IGRhdC4gIyBuYXN0YXZpdGV2XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UsIG9mZnNldCBpcyBub3QgNTEyLWJ5dGUgYWxpZ25lZC4iCisjfiBtc2dzdHIgIml6bWVuamFsbmUgbmFwcmF2ZSBuaSBtb2dv6GUgcHJldml0aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnNzdXBvcnRlZCAtLWxvY2FsLWxpbmUgbW9kZSBhcmd1bWVudCIKKyN+IG1zZ3N0ciAiJXM6IG5lem5hbiBhcmd1bWVudDogJXNcbiIKKworI34gbXNnaWQgInVzYWdlOlxuIgorI34gbXNnc3RyICJ1cG9yYWJhOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1pc3NpbmcgYmxvY2tkZXZpY2UsIHVzZSAtaCBmb3IgaGVscFxuIgorI34gbXNnc3RyICIlcyBuaSBibG/obmEgZW5vdGEgb3ouIGRhdG90ZWthXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZWRpdGlvbiBudW1iZXIgYXJndW1lbnQgZmFpbGVkIgorI34gbXNnc3RyICJuYWouILl0LiBvZHNla292ID0gJWx1XG4iCisKKyN+IG1zZ2lkICJmc3luYyBmYWlsZWQiCisjfiBtc2dzdHIgImZzeW5jIG5pIHVzcGVsIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIlByaW50IHZlcnNpb246XG4iCisjfiAiICAgICAgICAlcyAtdlxuIgorI34gIlByaW50IHBhcnRpdGlvbiB0YWJsZTpcbiIKKyN+ICIgICAgICAgICVzIC1QIHtyfHN8dH0gW29wdGlvbnNdIGRldmljZVxuIgorI34gIkludGVyYWN0aXZlIHVzZTpcbiIKKyN+ICIgICAgICAgICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIi1hOiBVc2UgYXJyb3cgaW5zdGVhZCBvZiBoaWdobGlnaHRpbmc7XG4iCisjfiAiLXo6IFN0YXJ0IHdpdGggYSB6ZXJvIHBhcnRpdGlvbiB0YWJsZSwgaW5zdGVhZCBvZiByZWFkaW5nIHRoZSBwdCBmcm9tIGRpc2s7XG4iCisjfiAiLWMgQyAtaCBIIC1zIFM6IE92ZXJyaWRlIHRoZSBrZXJuZWwncyBpZGVhIG9mIHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzLFxuIgorI34gIiAgICAgICAgICAgICAgICB0aGUgbnVtYmVyIG9mIGhlYWRzIGFuZCB0aGUgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2suXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJVcG9yYWJhOlxuIgorI34gIkl6cGm5aSByYXpsaehpY286XG4iCisjfiAiICAgICAgICAgJXMgLXZcbiIKKyN+ICJJenBpuWkgdGFiZWxvIHJhemRlbGtvdjpcbiIKKyN+ICIgICAgICAgICAlcyAtUCB7cnxzfHR9IFtpemJpcmVdIG5hcHJhdmFcbiIKKyN+ICJJbnRlcmFrdGl2bmEgdXBvcmFiYTpcbiIKKyN+ICIgICAgICAgICAlcyBbaXpiaXJlXSBuYXByYXZhXG4iCisjfiAiXG4iCisjfiAiSXpiaXJlOlxuIgorI34gIi1hOiBVcG9yYWJpIHB1uehpY28gbmFtZXN0byBvc3ZldGxqZXZhbmphO1xuIgorI34gIi16OiBaYehuaSBzIHByYXpubyB0YWJlbG8gcGFydGljaWogbmFtZXN0byBicmFuamEgdHAgeiBkaXNrYTtcbiIKKyN+ICItYyBDIC1oIEggLXMgUzogUG92b3ppIGlkZWpvIGplZHJhIG8guXRldmlsdSBzbGVkaSwgZ2xhdiBpbiBzZWt0b3JqZXYuXG4iCisKKyN+IG1zZ2lkICJXcml0aW5nIGRpc2tsYWJlbCB0byAlcy5cbiIKKyN+IG1zZ3N0ciAiWmFwaXNvdmFuamUgb3puYWtlIGRpc2thIG5hICVzLlxuIgorCisjfiBtc2dpZCAiTGFzdCAlcyBvciArc2l6ZSBvciArc2l6ZU0gb3IgK3NpemVLIgorI34gbXNnc3RyICJaYWRuamkgJXMgYWxpICtzaXplIGFsaSArc2l6ZU0gYWxpICtzaXplSyIKKworI34gbXNnaWQgIlJlYWRpbmcgZGlza2xhYmVsIG9mICVzIGF0IHNlY3RvciAlZC5cbiIKKyN+IG1zZ3N0ciAiQmVyZW0gb3puYWtvIGRpc2thICVzIG5hIHNla3Rvcmp1ICVkLlxuIgorCisjfiBtc2dpZCAiQlNEIGRpc2tsYWJlbCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorI34gbXNnc3RyICJVa2F6IEJTRCBvem5ha2EgZGlza2EgKG0gemEgcG9tb+gpOiAiCisKKyN+IG1zZ2lkICJkcml2ZWRhdGE6ICIKKyN+IG1zZ3N0ciAiZGlza292bmkgcG9kYXRraTogIgorCisjfiBtc2dpZCAiIyAgICAgICBzdGFydCAgICAgICBlbmQgICAgICBzaXplICAgICBmc3R5cGUgICBbZnNpemUgYnNpemUgICBjcGddXG4iCisjfiBtc2dzdHIgIiMgICAgICB6YehldGVrICAgICBrb25lYyAgICAgdmVsICAgdGlwIGRhdCBzaXN0ICBbdmVsZGF0IHZlbGJsb2sgY3BnXVxuIgorCisjfiBtc2dpZCAiTXVzdCBiZSA8PSBzZWN0b3JzL3RyYWNrICogdHJhY2tzL2N5bGluZGVyIChkZWZhdWx0KS5cbiIKKyN+IG1zZ3N0ciAiTW9yYSBiaXRpIDw9IHNla3RvcmppL3NsZWQgKiBzbGVkaS9zdGV6byAocHJpdnpldG8pLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIChhLSVjKTogIgorI34gbXNnc3RyICJSYXpkZWxlayAoYS0lYyk6ICIKKworI34gbXNnaWQgIldhcm5pbmc6IHRvbyBtYW55IHBhcnRpdGlvbnMgKCVkLCBtYXhpbXVtIGlzICVkKS5cbiIKKyN+IG1zZ3N0ciAiT3Bvem9yaWxvOiBwcmV2ZeggcGFydGljaWogKCVkLCBuYWp2ZeggcGEgamUgJWQpLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlN5bmNpbmcgZGlza3MuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJTaW5ocm9uaXphY2lqYSBkaXNrb3YuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIHNlZWsgb24gJXMiCisjfiBtc2dzdHIgIk5hICVzIGlza2FuamUgbmkgbW++bm9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCisjfiBtc2dzdHIgIk5hICVzIG5pIG1vZ2/oZSBwaXNhdGlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYXRhbCBlcnJvciIKKyN+IG1zZ3N0ciAiVXNvZG5hIG5hcGFrYVxuIgorCisjfiBtc2dpZCAiQ29tbWFuZCBhY3Rpb24iCisjfiBtc2dzdHIgIiAgVWtheiAgZGVqYW5qZSIKKworI34gbXNnaWQgIllvdSBtdXN0IHNldCIKKyN+IG1zZ3N0ciAiTmFzdGF2aXRpIG1vcmF0ZSIKKworI34gbXNnaWQgImhlYWRzIgorI34gbXNnc3RyICJnbGF2ZSIKKworI34gbXNnaWQgIiBhbmQgIgorI34gbXNnc3RyICIgaW4gIgorCisjfiBtc2dpZCAiVXNpbmcgZGVmYXVsdCB2YWx1ZSAldVxuIgorI34gbXNnc3RyICJVcG9yYmxqZW5hIGJvIHByaXZ6ZXRhIHZyZWRub3N0ICV1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZCBNQiwgJWxsZCBieXRlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZCBNQiwgJWxsZCBiYWp0b3ZcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkLiVsZCBHQiwgJWxsdSBieXRlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZC4lbGQgR0IsICVsbGQgYmFqdG92XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLCAlbGx1IHNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiLCBza3Vwbm8gJWx1IHNla3RvcmpldiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgd3JpdGUgZGlzayBsYWJlbCIKKyN+IG1zZ3N0ciAiTmEgZGlza292bmkgcG9nb24gbmkgbW9nb+hlIHBpc2F0aSIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJFcnJvciBjbG9zaW5nIGZpbGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk5hcGFrYSBwcmkgemFwaXJhbmp1IGRhdG90ZWtlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogc2V0dGluZyBzZWN0b3Igb2Zmc2V0IGZvciBET1MgY29tcGF0aWJpbGl0eVxuIgorI34gbXNnc3RyICJPcG96b3JpbG86IG9kbWlrIHNla3RvcmphIGJvIG5hc3RhdmxqZW4gdGFrbywgZGEgYm8gemRydb5saml2IHogRE9TXG4iCisKKyN+IG1zZ2lkICJEZXRlY3RlZCBhbiBPU0YvMSBkaXNrbGFiZWwgb24gJXMsIGVudGVyaW5nIGRpc2tsYWJlbCBtb2RlLlxuIgorI34gbXNnc3RyICJOYSAlcyBqZSBiaWxhIHphem5hbmEgb3puYWthIGRpc2thIHRpcGEgT1NGLzEsIHZzdG9wYSB2IG5h6GluIG96bmHoZXZhbmphIGRpc2thLlxuIgorCisjfiBtc2dpZCAiTm8gZnJlZSBzZWN0b3JzIGF2YWlsYWJsZVxuIgorI34gbXNnc3RyICJOaSB2ZeggcHJvc3RpaCBzZWt0b3JqZXZcbiIKKworI34gbXNnaWQgIiAgICAgcGh5cz0oJWQsICVkLCAlZCkgIgorI34gbXNnc3RyICIgIGZpemnobmk9KCVkLCAlZCwgJWQpICIKKworI34gbXNnaWQgImxvZ2ljYWw9KCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgImxvZ2nobmk9KCVkLCAlZCwgJWQpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogYmFkIHN0YXJ0LW9mLWRhdGEgaW4gcGFydGl0aW9uICV6ZFxuIgorI34gbXNnc3RyICJPcG96b3JpbG86IHBvuWtvZG92YW4gemHoZXRlayBwb2RhdGtvdiB2IHJhemRlbGt1ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiRG9kYWphIHNlIHByaW1hcm5pIHJhemRlbGVrXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IElmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55IERPUyA2LnhwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBmZGlzayBtYW51YWwgcGFnZSBmb3IgYWRkaXRpb25hbGluZm9ybWF0aW9uLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiT1BPWk9SSUxPOiDIZSBzdGUgdXN0dmFyaWxpIGFsaSBzcHJlbWluamFsaSByYXpkZWxrZVxuIgorI34gIiB0aXBhIERPUyA2LngsIHNpIHBvZ2xlanRlIHByaXJv6G5payB6YSBmZGlzayB6YSBkb2RhdG5lXG4iCisjfiAiaW5mb3JtYWNpamUuXG4iCisKKyN+IG1zZ2lkICIlKnMgQm9vdCAgICAgIFN0YXJ0ICAgICAgICAgRW5kICAgICAgQmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIlKnMgWmFnb24gICAgWmHoZXRlayAgICAgICBLb25lYyAgICAgQmxva2kgICAgSWQgIFNpc3RlbVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWQgZ2xhdiwgJWQgc2VrdG9yamV2LCAlZCBzdGV6XG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTnIgQUYgIEhkIFNlYyAgQ3lsICBIZCBTZWMgIEN5bCAgICAgU3RhcnQgICAgICBTaXplIElEXG4iCisjfiBtc2dzdHIgIiCpdCBBRiBHbGF2IFNla3QgU3R6ICBHbGF2IFNla3QgU3R6ICAgWmHoZXRlayAgVmVsICBJRFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJcdFRoZXJlIGlzIGEgdmFsaWQgTWFjIGxhYmVsIG9uIHRoaXMgZGlzay5cbiIKKyN+ICJcdFVuZm9ydHVuYXRlbHkgZmRpc2soMSkgY2Fubm90IGhhbmRsZSB0aGVzZSBkaXNrcy5cbiIKKyN+ICJcdFVzZSBlaXRoZXIgcGRpc2sgb3IgcGFydGVkIHRvIG1vZGlmeSB0aGUgcGFydGl0aW9uIHRhYmxlLlxuIgorI34gIlx0TmV2ZXJ0aGVsZXNzIHNvbWUgYWR2aWNlOlxuIgorI34gIlx0MS4gZmRpc2sgd2lsbCBkZXN0cm95IGl0cyBjb250ZW50cyBvbiB3cml0ZS5cbiIKKyN+ICJcdDIuIEJlIHN1cmUgdGhhdCB0aGlzIGRpc2sgaXMgTk9UIGEgc3RpbGwgdml0YWxcbiIKKyN+ICJcdCAgIHBhcnQgb2YgYSB2b2x1bWUgZ3JvdXAuIChPdGhlcndpc2UgeW91IG1heVxuIgorI34gIlx0ICAgZXJhc2UgdGhlIG90aGVyIGRpc2tzIGFzIHdlbGwsIGlmIHVubWlycm9yZWQuKVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHROYSB0ZW0gZGlza3UgamUgdmVsamF2bmEgb3puYWthIEFJWC5cbiIKKyN+ICJcdE5hIL5hbG9zdCBzIHRlbWkgZGlza2kgTGludXggdHJlbnV0bm9cbiIKKyN+ICJcdG5lIHpuYSByb2tvdmF0aS4gUG9tYWdhIG5haiB2YW0gcGFyXG4iCisjfiAiXHRuYXN2ZXRvdjpcbiIKKyN+ICJcdDEuIGZkaXNrIGJvIHVuaehpbCB2c2ViaW5vIGRpc2thIHByaSBwaXNhbmp1LlxuIgorI34gIlx0Mi4gQm9kaXRlIHByZXByaehhbmksIGRhIHRhIGRpc2sgTkkgvml2bGplbmpza2VnYVxuIgorI34gIlx0ICAgcG9tZW5hIG9ic2Vnb3ZuZSBza3VwaW5lW3ZvbHVtZSBncm91cF0uIChEcnVnYehlIHNlIGxhaGtvIHpnb2RpLFxuIgorI34gIlx0ICAgZGEgYm9zdGUgYnJpc2FsaSB0dWRpIG9zdGFsZSBkaXNrZS5cbiIKKyN+ICJcdDMuIFByZWQgaXpicmlzb20gZml6aehuZWdhIG9ic2VnYSBib2RpdGUgcHJlcHJp6GFuaSxcbiIKKyN+ICJcdCAgIGRhIGRpc2sgb2RzdHJhbml0ZSBsb2dp6G5vLCBpeiB2YbllZ2EgQUlYXG4iCisjfiAiXHQgICByYeh1bmFsbmlrYS4gKERydWdh6GUgbGFoa28gcG9zdGFuZXRlIFxuIgorI34gIlx0ICAgXCJzdHJva292bmphayB6YSBBSVhcIikuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcdFNvcnJ5IC0gdGhpcyBmZGlzayBjYW5ub3QgaGFuZGxlIE1hYyBkaXNrIGxhYmVscy5cbiIKKyN+ICJcdElmIHlvdSB3YW50IHRvIGFkZCBET1MtdHlwZSBwYXJ0aXRpb25zLCBjcmVhdGVcbiIKKyN+ICJcdGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUgZmlyc3QuIChVc2Ugby4pXG4iCisjfiAiXHRXQVJOSU5HOiBUaGlzIHdpbGwgZGVzdHJveSB0aGUgcHJlc2VudCBkaXNrIGNvbnRlbnRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXHRPcHJvc3RpdGUgLSB0YSBmZGlzayBuZSB6bmEgZGVsYXRpIHogb3puYWthbWkgZGlza292IHRpcGEgQUlYLlxuIgorI34gIlx0yGUgvmVsaXRlIGRvZGF0aSByYXpkZWxrZSB0aXBhIERPUywgbmFqcHJlaiB1c3R2YXJpdGVcbiIKKyN+ICJcdCBub3ZvIHByYXpubyB0YWJlbG8gcmF6ZGVsa292IHRpcGEgRE9TLiAoVXBvcmFiaXRlIG8uKVxuIgorI34gIlx0T1BPWk9SSUxPOiBUbyBibyB1bmnoaWxvIHRyZW51dG5vIHZzZWJ1bm8gZGlza2EuXG4iCisKKyN+IG1zZ2lkICJBY2NvcmRpbmcgdG8gTUlQUyBDb21wdXRlciBTeXN0ZW1zLCBJbmMgdGhlIExhYmVsIG11c3Qgbm90IGNvbnRhaW4gbW9yZSB0aGFuIDUxMiBieXRlc1xuIgorI34gbXNnc3RyICJVcG+5dGV2YWpv6CBNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYy4gb3puYWthIG5lIHNtZSB2c2Vib3ZhdGkgdmXoIHRvIDUxMiBiYWp0b3ZcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU0dJIGRpc2sgbGFiZWwpOiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiAlbGQgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKG96bmFrYSBkaXNrYSB0aXBhIFNHSSk6ICVkIGdsYXYsICVkIHNla3RvcmpldiwgJWQgc3RlelxuIgorI34gIkVub3RlID0gJXMgb2QgJWQgKiAlZCBiYWp0b3ZcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICItLS0tLSBwYXJ0aXRpb25zIC0tLS0tXG4iCisjfiAiUHQjICUqcyAgSW5mbyAgICAgU3RhcnQgICAgICAgRW5kICAgU2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIiCisjfiAiLS0tLS0gcmF6ZGVsa2kgLS0tLS1cbiIKKyN+ICJQdCMgJSpzICBJbmZvICAgIFph6GV0ZWsgICAgIEtvbmVjICBTZWt0b3IgICBJZCAgU2lzdGVtXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiLS0tLS0gQm9vdGluZm8gLS0tLS1cbiIKKyN+ICJCb290ZmlsZTogJXNcbiIKKyN+ICItLS0tLSBEaXJlY3RvcnkgRW50cmllcyAtLS0tLVxuIgorI34gbXNnc3RyICIiCisjfiAiLS0tLS0gWmFnb25pbmZvIC0tLS0tXG4iCisjfiAiWmFnb25za2EgZGF0LjogJXNcbiIKKyN+ICItLS0tLSBWbm9zaSBpbWVuaWtvdiAtLS0tLVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUyemQ6ICUtMTBzIHNlY3RvciU1dSBzaXplJTh1XG4iCisjfiBtc2dzdHIgIiUyZDogJS0xMHMgc2VrdG9yJTV1IHZlbGlrb3N0JTh1XG4iCisKKyN+IG1zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWRcbiIKKyN+IG1zZ3N0ciAiTm9iZW4gcmF6ZGVsZWsgbmkgZG9sb+hlblxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gaXMgb25seSAlZCBkaXNrYmxvY2sgbGFyZ2UsXG4iCisjfiAiYnV0IHRoZSBkaXNrIGlzICVkIGRpc2tibG9ja3MgbG9uZy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkNlbG90bmEgZGlza292bmEgcGFydGljaWphIGplIHZlbGlrYSAlZCBkaXNrLiBibG9rb3YsXG4iCisjfiAiYW1wYWsgZGlzayBqZSBkb2xnICVkIGRpc2suIGJsb2tvdi5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBzdGFydCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiUmF6ZGVsZWsgJWQgc2UgbmUgemHobmUgbmEgbWVqaSBzIGNpbGluZHJvbS5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIlJhemRlbGVrICVkIHNlIG5lIGtvbuhhIG5hIG1lamkgcyBjaWxpbmRyb20uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGFydGl0aW9uICV6ZCBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC5cbiIKKyN+IG1zZ3N0ciAiUmF6ZGVsZWsgJWQgamUgvmUgZG9sb+hlbi4gWmJyablpdGUgZ2EgcHJlZGVuIGdhIHBvbm92bm8gZG9kYXRlLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkhESU9fR0VUR0VPIGlvY3RsIGZhaWxlZCBvbiAlcyIKKyN+IG1zZ3N0ciAiQkxLR0VUU0laRSBvZCBpb2N0bCBuaSB1c3BlbCBuYSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiAgQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuICBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LlxuIgorI34gIlRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJPcG96b3JpbG86IEJMS0dFVFNJWkUgaW9jdGwgbmkgdXNwZWwgbmEgJXMuIFVwb3JhYmxqYSBzZSBnZW9tZXRyaWpza2EgdnJlZG5vc3Qgc3RlemUgJWQuXG4iCisjfiAiVGEgdnJlZG5vc3Qgc2UgbGFoa28gc2tyYWq5YSB6YSBuYXByYXZlID4gMzMuOCBHQi5cbiIKKworI34gbXNnaWQgIklEPSUwMnhcdFNUQVJUPSVkXHRMRU5HVEg9JWRcbiIKKyN+IG1zZ3N0ciAiSUQ9JTAyeFx0WkHIRVRFSz0lZFx0RE9MrklOQT0lZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRyeWluZyB0byBrZWVwIHBhcmFtZXRlcnMgb2YgcGFydGl0aW9ucyBhbHJlYWR5IHNldC5cbiIKKyN+IG1zZ3N0ciAiUG9za3VzIG9ocmFuamFuamEgcGFyYW1ldHJvdiByYXpkZWxrYSAlZC5cbiIKKworI34gbXNnaWQgIllFU1xuIgorI34gbXNnc3RyICJEQVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJ1aWxkaW5nIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorI34gbXNnc3RyICIlcyBuZSB2c2VidWplIG96bmFrZSBkaXNrYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgbGFiZWwpOiAldSBoZWFkcywgJWxsdSBzZWN0b3JzLCAlZCBycG1cbiIKKyN+ICIlbGx1IGN5bGluZGVycywgJWQgYWx0ZXJuYXRlIGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiJWQgZXh0cmEgc2VjdHMvY3lsLCBpbnRlcmxlYXZlICVkOjFcbiIKKyN+ICJMYWJlbCBJRDogJXNcbiIKKyN+ICJWb2x1bWUgSUQ6ICVzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqIDUxMiBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAob3puYWthIGRpc2thIHRpcGEgU3VuKTogJWQgZ2xhdiwgJWQgc2VrdG9yamV2LCAlZCBvYnJhdG92L21pblxuIgorI34gIiVkIHN0ZXosICVkIGRydWdpaCBzdGV6LCAlZCBmaXpp6G5paCBzdGV6XG4iCisjfiAiJWQgZG9kYXRuaSBza3RyL3N0eiwgcHJlcGxldGVub3N0ICVkOjFcbiIKKyN+ICIlc1xuIgorI34gIkVub3RlID0gJXMgb2QgJWQgKiA1MTIgYmFqdG92XG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFN1biBkaXNrIGxhYmVsKTogJXUgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogNTEyIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChvem5ha2EgZGlza2EgdGlwYSBTdW4pOiAlZCBnbGF2LCAlZCBzZWt0b3JqZXYsICVkIHN0ZXpcbiIKKyN+ICJFbm90ZSA9JXMgb2QgJWQgKiA1MTIgYmFqdG92XG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIlKnMgRmxhZyAgICBTdGFydCAgICAgICBFbmQgICAgQmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIlKnMgWmFzdGF2YSBaYehldGVrICAgIEtvbmVjICAgQmxva2kgICAgSWQgIFNpc3RlbVxuIgorCisjfiBtc2dpZCAiJXMgLUFuIGRldmljZVx0IGFjdGl2YXRlIHBhcnRpdGlvbiBuLCBpbmFjdGl2YXRlIHRoZSBvdGhlciBvbmVzXG4iCisjfiBtc2dzdHIgIiVzIC0gTmFwcmF2YVx0IGFrdGl2aXJhIHJhemRlbGVrIG4sIGRlYWt0aXZpcmEgb3N0YWxlXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRG9uZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiT3ByYXZsamVub1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNyZWF0ZWQgcGFydGl0aW9uICV6ZFxuIgorI34gbXNnc3RyICJJemJyYW4gcmF6ZGVsZWsgJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIC11IDxVU0VSPiBDT01NQU5EXG4iCisjfiBtc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBbLV0gW1VTRVIgW2FyZ10uLi5dXG4iCisjfiBtc2dzdHIgInVwb3JhYmE6ICVzIHByb2dyYW0gW2l6YmlyYSAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3J5cHQgZmFpbGVkOiAlbVxuIgorI34gbXNnc3RyICIoTmFzbGVkbmphIGRhdG90ZWthOiAlcykiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2FuIG5vdCBmb3JrOiAlbVxuIgorI34gbXNnc3RyICIlczogTmkgbW9nb+hlIHZlaml0aVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB0byBvcGVuL2NyZWF0ZSAlczogJW1cbiIKKyN+IG1zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmFpbGVkIHRvIGxvY2sgJXM6ICVtXG4iCisjfiBtc2dzdHIgInN0YW5qYSAlcyBuaSBtb2dv6GUgZG9iaXRpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJhZCBudW1iZXI6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBzbGFiYSB2cmVkbm9zdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIGZhaWxlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IHByaWtsb3AgbmkgdXNwZWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjfiBtc2dpZCAiYnVnIGluIHhzdHJuZHVwIGNhbGwiCisjfiBtc2dzdHIgImhyb7noIHYga2xpY3UgeHN0cm5kdXAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY29ubmVjdCAlcyIKKyN+IG1zZ3N0ciAibmZzIHBvdmV6YXZhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlLi4uXVxuIgorI34gbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1rZnMgKCVzKVxuIgorI34gbXNnc3RyICJta2ZzICglcylcbiIKKworI34gbXNnaWQgInN0cnRvbCBlcnJvcjogbnVtYmVyIG9mIGJsb2NrcyBub3Qgc3BlY2lmaWVkIgorI34gbXNnc3RyICJuYXBha2EgdiBzdHJ0b2w6ILl0ZXZpbG8gYmxva292IG5pIHBvZGFubyIKKworI34gbXNnaWQgIm9uZSBiYWQgcGFnZVxuIgorI34gbXNnc3RyICJlbmEgcG+5a29kb3ZhbmEgc3RyYW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgIG9uIHdob2xlIGRpc2suICIKKyN+IG1zZ3N0ciAiICAgcyAgIHByaWthvmkgY2Vsb3N0bm8gb3puYWtvIGRpc2thIgorCisjLCBmdXp6eQorI34gbXNnaWQgImRvZXMgbm90IHN1cHBvcnQgc3dhcHNwYWNlIHZlcnNpb24gJWQuIgorI34gbXNnc3RyICIlczogbmFwYWthOiBuZXpuYW5hIHJhemxp6GljYSAlZFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0VGhlcmUgaXMgYSB2YWxpZCBBSVggbGFiZWwgb24gdGhpcyBkaXNrLlxuIgorI34gIlx0VW5mb3J0dW5hdGVseSBMaW51eCBjYW5ub3QgaGFuZGxlIHRoZXNlXG4iCisjfiAiXHRkaXNrcyBhdCB0aGUgbW9tZW50LiAgTmV2ZXJ0aGVsZXNzIHNvbWVcbiIKKyN+ICJcdGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+ICJcdDMuIEJlZm9yZSBkZWxldGluZyB0aGlzIHBoeXNpY2FsIHZvbHVtZSBiZSBzdXJlXG4iCisjfiAiXHQgICB0byByZW1vdmUgdGhlIGRpc2sgbG9naWNhbGx5IGZyb20geW91ciBBSVhcbiIKKyN+ICJcdCAgIG1hY2hpbmUuICAoT3RoZXJ3aXNlIHlvdSBiZWNvbWUgYW4gQUlYcGVydCkuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHROYSB0ZW0gZGlza3UgamUgdmVsamF2bmEgb3puYWthIEFJWC5cbiIKKyN+ICJcdE5hIL5hbG9zdCBzIHRlbWkgZGlza2kgTGludXggdHJlbnV0bm9cbiIKKyN+ICJcdG5lIHpuYSByb2tvdmF0aS4gUG9tYWdhIG5haiB2YW0gcGFyXG4iCisjfiAiXHRuYXN2ZXRvdjpcbiIKKyN+ICJcdDEuIGZkaXNrIGJvIHVuaehpbCB2c2ViaW5vIGRpc2thIHByaSBwaXNhbmp1LlxuIgorI34gIlx0Mi4gQm9kaXRlIHByZXByaehhbmksIGRhIHRhIGRpc2sgTkkgvml2bGplbmpza2VnYVxuIgorI34gIlx0ICAgcG9tZW5hIG9ic2Vnb3ZuZSBza3VwaW5lW3ZvbHVtZSBncm91cF0uIChEcnVnYehlIHNlIGxhaGtvIHpnb2RpLFxuIgorI34gIlx0ICAgZGEgYm9zdGUgYnJpc2FsaSB0dWRpIG9zdGFsZSBkaXNrZS5cbiIKKyN+ICJcdDMuIFByZWQgaXpicmlzb20gZml6aehuZWdhIG9ic2VnYSBib2RpdGUgcHJlcHJp6GFuaSxcbiIKKyN+ICJcdCAgIGRhIGRpc2sgb2RzdHJhbml0ZSBsb2dp6G5vLCBpeiB2YbllZ2EgQUlYXG4iCisjfiAiXHQgICByYeh1bmFsbmlrYS4gKERydWdh6GUgbGFoa28gcG9zdGFuZXRlIFxuIgorI34gIlx0ICAgXCJzdHJva292bmphayB6YSBBSVhcIikuIgorCisjfiBtc2dpZCAiIgorI34gIlx0U29ycnkgLSB0aGlzIGZkaXNrIGNhbm5vdCBoYW5kbGUgQUlYIGRpc2sgbGFiZWxzLlxuIgorI34gIlx0SWYgeW91IHdhbnQgdG8gYWRkIERPUy10eXBlIHBhcnRpdGlvbnMsIGNyZWF0ZVxuIgorI34gIlx0YSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSBmaXJzdC4gKFVzZSBvLilcbiIKKyN+ICJcdFdBUk5JTkc6IFRoaXMgd2lsbCBkZXN0cm95IHRoZSBwcmVzZW50IGRpc2sgY29udGVudHMuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcdE9wcm9zdGl0ZSAtIHRhIGZkaXNrIG5lIHpuYSBkZWxhdGkgeiBvem5ha2FtaSBkaXNrb3YgdGlwYSBBSVguXG4iCisjfiAiXHTIZSC+ZWxpdGUgZG9kYXRpIHJhemRlbGtlIHRpcGEgRE9TLCBuYWpwcmVqIHVzdHZhcml0ZVxuIgorI34gIlx0IG5vdm8gcHJhem5vIHRhYmVsbyByYXpkZWxrb3YgdGlwYSBET1MuIChVcG9yYWJpdGUgby4pXG4iCisjfiAiXHRPUE9aT1JJTE86IFRvIGJvIHVuaehpbG8gdHJlbnV0bm8gdnNlYnVubyBkaXNrYS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJCU0QgbGFiZWwgZm9yIGRldmljZTogJXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkJTRCBvem5ha2EgemEgbmFwcmF2bzogJXNcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlZCBoYXMgZW1wdHkgdHlwZVxuIgorI34gbXNnc3RyICJPcG96b3JpbG86IHJhemRlbGVrICVkIG5pbWEgdGlwYVxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVpIGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiUmF6ZGVsZWsgJWkgc2UgbmUga29u6GEgbmEgbWVqaSBzdGV6LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vdGU6IHNlY3RvciBzaXplIGlzICVsZCAobm90ICVkKVxuIgorI34gbXNnc3RyICJPcG9tYmE6IHZlbGlrb3N0IHNla3RvcmphIGplICVkIChuZSAlZClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2UgdGhlIC0tZm9yY2UgZmxhZyB0byBvdmVycnVsZSB0aGlzIGNoZWNrLlxuIgorI34gbXNnc3RyICJVcG9yYWJpdGUgLS1mb3JjZSBpemJpcm8gZGEgb2JpZGV0ZSB2c2EgcHJldmVyamFuamEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXhlYyAlcyBmYWlsZWQiCisjfiBtc2dzdHIgInphZ29uIG5pIHVzcGVsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGV4ZWMgZmFpbGVkIgorI34gbXNnc3RyICJpc2thbmplIGplIGJpbG8gbmV1c3BluW5vIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRJT0NTQ1RUWTogaW9jdGwgZmFpbGVkIgorI34gbXNnc3RyICJUSU9DU0NUVFkgbmkgdXNwZWw6ICVtIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsrZm9ybWF0XSBbZGF5IG1vbnRoIHllYXJdXG4iCisjfiBtc2dzdHIgInVwb3JhYmE6ICVzIFsrZm9ybWF0XSBbZGFuIG1lc2VjIGxldG9dXG4iCisKKyN+IG1zZ2lkICJTdC4gVGliJ3MgRGF5IgorI34gbXNnc3RyICJEYW4gc3QuIFRpYmEiCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtcyBzaWduYWwgfCAtcCBdIFsgLWEgXSBwaWQgLi4uXG4iCisjfiBtc2dzdHIgInVwb3JhYmE6ICVzIFsgLXMgc2lnbmFsIHwgLXAgXSBbIC1hIF0gcGlkIC4uLlxuIgorCisjfiBtc2dpZCAiICAgICAgICVzIC1sIFsgc2lnbmFsIF1cbiIKKyN+IG1zZ3N0ciAiXHQlcyAtbCBbc2lnbmFsIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIHBvcnQgbnVtYmVyIGFyZ3VtZW50IgorI34gbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCisjfiBtc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNvdWxkbid0IGxvY2sgaW50byBtZW1vcnkiCisjfiBtc2dzdHIgIlYgcG9tbmlsbmlrIG5pIG1vZ2/oZSB6YWtsZW5pdGksIGtvbuh1amVtLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGFyZ3VtZW50IHRvIC1wIG9yIC0tcGFzcy1mZCBtdXN0IGJlIGEgbnVtYmVyIgorI34gbXNnc3RyICJtb3VudDogYXJndW1lbnQgcHJpIC1wIGFsaSAtLXBhc3MtZmQgbW9yYSBiaXRpILl0ZXZpbGthIgorCisjLCBmdXp6eQorI34gbXNnaWQgImV4ZWN1dGluZyAlcyBmYWlsZWQiCisjfiBtc2dzdHIgInphZ29uIG5pIHVzcGVsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZWplY3Q6IGNhbm5vdCBzZXQgdXNlciBpZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGhpdHJvc3RpIG5pIG1vZ2/oZSBuYXN0YXZpdGk6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgZnNmcmVlemUoOCkuXG4iCisjfiBtc2dzdHIgIkZpbmdlciBpbmZvcm1hY2lqYSBzcHJlbWVuamVuYS5cbiIKKworI34gbXNnaWQgIm1heCBzZWcgc2l6ZSAoa2J5dGVzKSA9ICVsdVxuIgorI34gbXNnc3RyICJuYWouIHZlbGlrb3N0IG9kc2VrYSAoa0IpID0gJWx1XG4iCisKKyN+IG1zZ2lkICJtaW4gc2VnIHNpemUgKGJ5dGVzKSA9ICVsdVxuIgorI34gbXNnc3RyICJuYWptYW5qLiB2ZWwuIG9kc2VrYSAoQikgPSAlbHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzaG1jdGwgZmFpbGVkIgorI34gbXNnc3RyICJmc3luYyBuaSB1c3BlbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtc2djdGwgZmFpbGVkIgorI34gbXNnc3RyICJmc3luYyBuaSB1c3BlbCIKKworI34gbXNnaWQgImNieXRlcz0lbGRcdHFieXRlcz0lbGRcdHFudW09JWxkXHRsc3BpZD0lZFx0bHJwaWQ9JWRcbiIKKyN+IG1zZ3N0ciAiY2J5dGVzPSVsZFx0cWJ5dGVzPSVsZFx0cW51bT0lbGRcdGxzcGlkPSVkXHRscnBpZD0lZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlbWN0bCBmYWlsZWQiCisjfiBtc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgZmFpbGVkIHRvIHVzZSBkZXZpY2UiCisjfiBtc2dzdHIgIml6bWVuamFsbmUgbmFwcmF2ZSBuaSBtb2dv6GUgcHJldml0aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjb3VsZG4ndCBsb2NrIGludG8gbWVtb3J5IgorI34gbXNnc3RyICJWIHBvbW5pbG5payBuaSBtb2dv6GUgemFrbGVuaXRpLCBrb27odWplbS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIChwcm9iYWJseSB1bmtub3duIGVuY3J5cHRpb24gdHlwZSkiCisjfiBtc2dzdHIgIml6bWVuamFsbmUgbmFwcmF2ZSBuaSBtb2dv6GUgcHJldml0aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZW5pY2UgZnJvbSAlc1xuIgorI34gbXNnc3RyICIlcyBpeiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBleGVjdXRlICVzIgorI34gbXNnc3RyICJrbGljIGlvY3RsKCkgbmkgdXNwZWwgcHJlYnJhdGkg6GFzYSBpeiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleGVjdnAgZmFpbGVkIgorI34gbXNnc3RyICJ6YWdvbiBuaSB1c3BlbFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImV4ZWN2IGZhaWxlZCIKKyN+IG1zZ3N0ciAiemFnb24gbmkgdXNwZWxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlLTE1cyVzIFt2ZXJzaW9uICV4XVxuIgorI34gbXNnc3RyICIlcyByYXpsaehpY2EgJXNcbiIKKworI34gbXNnaWQgInVzZXJzIgorI34gbXNnc3RyICJ1cG9yYWJuaWtpIgorCisjfiBtc2dpZCAidG9vIG1hbnkgaW92J3MgKGNoYW5nZSBjb2RlIGluIHdhbGwvdHR5bXNnLmMpIgorI34gbXNnc3RyICJwcmV2ZeggaW92LWpldiAoc3ByZW1lbmkga29kbyB2IHdhbGwvdHR5bXNnLmMpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGVycm9yLiIKKyN+IG1zZ3N0ciAiY29sOiBwaXNhbG5hIG5hcGFrYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBjb2x1bW4oMSkuXG4iCisjfiBtc2dzdHIgIkZpbmdlciBpbmZvcm1hY2lqYSBzcHJlbWVuamVuYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3JlICglcylcbiIKKyN+IG1zZ3N0ciAibWtmcyAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHN0YXQgZmlsZSAlcyIKKyN+IG1zZ3N0ciAic3RhbmphIG5hcHJhdmUgJXMgbmkgbW9nb+hlIGRvYml0aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjb3VsZG4ndCBvcGVuICVzIgorI34gbXNnc3RyICJOaSBtb2dv6GUgb2RwcmV0aSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBvcGVuICVzIgorI34gbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworI34gbXNnaWQgImNhbm5vdCBzdGF0IGRldmljZSAlcyIKKyN+IG1zZ3N0ciAic3RhbmphIG5hcHJhdmUgJXMgbmkgbW9nb+hlIGRvYml0aSIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIGZpbGUgJyVzJyIKKyN+IG1zZ3N0ciAiRGF0b3Rla2UgLCVzYCBuaSBtb2dv6GUgb2RwcmV0aSIKKworI34gbXNnaWQgIiIKKyN+ICJUaGlzIGRpc2sgaGFzIGJvdGggRE9TIGFuZCBCU0QgbWFnaWMuXG4iCisjfiAiR2l2ZSB0aGUgJ2InIGNvbW1hbmQgdG8gZ28gdG8gQlNEIG1vZGUuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJUYSBkaXNrIGplIG96bmHoZWsga290IHRpcGEgRE9TIGluIHRpcGEgQlNELlxuIgorI34gIlVwb3JhYml0ZSAnYicgdWtheiwgZGEgcHJlaWRldGUgdiBCU0QgbmHoaW4uXG4iCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlcyIKKyN+IG1zZ3N0ciAibmkgbW9nb+hlIG9kcHJldGkgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6IGNhbm5vdCBvcGVuICVzIgorI34gbXNnc3RyICIlczogbmkgbW9nb+hlIG9kcHJldGkgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYWlsZWQgdG8gb3BlbiAlcyBmb3IgcmVhZGluZywgZXhpdGluZy4iCisjfiBtc2dzdHIgIiVzIG5pIG1vZ2/oZSBvZHByZXRpIHphIGJyYW5qZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gL2Rldi9wb3J0IgorI34gbXNnc3RyICJPZHBydGplIHZyYXQgL2Rldi9wb3J0OiAlcyBuaSB1c3BlbG8iCisKKyN+IG1zZ2lkICJvcGVuKCkgb2YgJXMgZmFpbGVkIgorI34gbXNnc3RyICJrbGljIG9wZW4oKSB6YSAlcyBuaSB1c3BlbCIKKworI34gbXNnaWQgIk9wZW4gb2YgJXMgZmFpbGVkIgorI34gbXNnc3RyICJPZHBpcmFuamUgJXMgbmkgdXNwZWxvIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIG9wZW4gJXMiCisjfiBtc2dzdHIgIk5pIG1vZ2/oZSBvZHByZXRpICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzb3VyY2UgYnVmZmVyIgorI34gbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgZGlyZWN0b3J5IgorI34gbXNnc3RyICJzdGFuamEgJXMgbmkgbW9nb+hlIGRvYml0aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc3RhdCBkaXJlY3RvcnkgJXMiCisjfiBtc2dzdHIgInN0YW5qYSAlcyBuaSBtb2dv6GUgZG9iaXRpIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuIHRpbWluZyBmaWxlICVzIgorI34gbXNnc3RyICJEYXRvdGVrZSAsJXNgIG5pIG1vZ2/oZSBvZHByZXRpIgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gIgorI34gbXNnc3RyICJOaSBtb2dv6GUgb2RwcmV0aSAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gXCIlc1wiIGZvciByZWFkIgorI34gbXNnc3RyICJcIiVzXCIgbmkgbW9nb+hlIG9kcHJldGkgemEgYnJhbmplXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHN0YXQgXCIlc1wiIgorI34gbXNnc3RyICJzdGFuamEgbmFwcmF2ZSAlcyBuaSBtb2dv6GUgZG9iaXRpIgorCisjfiBtc2dpZCAiIgorI34gInVzYWdlOiAlcyBbLWh2XSBbLXggZGlyXSBmaWxlXG4iCisjfiAiIC1oICAgICAgICAgcHJpbnQgdGhpcyBoZWxwXG4iCisjfiAiIC14IGRpciAgICAgZXh0cmFjdCBpbnRvIGRpclxuIgorI34gIiAtdiAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIgorI34gIiBmaWxlICAgICAgIGZpbGUgdG8gdGVzdFxuIgorI34gbXNnc3RyICIiCisjfiAidXBvcmFiYTogJXMgWy1odl0gWy1kIGltZW5pa10gZGF0b3Rla2FcbiIKKyN+ICIgLWggICAgICAgICBwcmlrYb5pIHRvIHBvbW/oXG4iCisjfiAiIC14IGltZW5payAgcmF6uWlyaSB2IGltZW5pa1xuIgorI34gIiAtdiAgICAgICAgIHByaWthvmkgdmXoIGluZm9ybWFjaWpcbiIKKyN+ICIgZGF0b3Rla2EgICBkYXRvdGVrYSwga2kgam8gdGVzdGlyYW1vXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1sYXJ2c21mXSAvZGV2L25hbWVcbiIKKyN+IG1zZ3N0ciAiVXBvcmFiYTogJXMgWy1sYXJ2c21mXSAvZGV2L2ltZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBibG9ja3NpemUgYXJndW1lbnQiCisjfiBtc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yOiB3aWxsIG5vdCB0cnkgdG8gbWFrZSBzd2FwZGV2aWNlIG9uICclcyciCisjfiBtc2dzdHIgIk5hcHJhdmEgaXptZW5qYWxuZWdhIHByb3N0b3JhIG5lIGJvIHVzdHZhcmplbmEgbmEgLCVzYCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnICglcylcbiIKKyN+IG1zZ3N0ciAic3RhbmphIG5hcHJhdmUgJXMgbmkgbW9nb+hlIGRvYml0aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBzd2FwbGFiZWwoOCkuXG4iCisjfiBtc2dzdHIgIkZpbmdlciBpbmZvcm1hY2lqYSBzcHJlbWVuamVuYS5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlaSBkb2VzIG5vdCBzdGFydCBvbiBjeWxpbmRlciBib3VuZGFyeTpcbiIKKyN+IG1zZ3N0ciAiUmF6ZGVsZWsgJWkgc2UgbmUgemHobmUgbmEgbWVqaSBzdGV6OlxuIgorCisjfiBtc2dpZCAic2hvdWxkIGJlICglZCwgJWQsIDEpXG4iCisjfiBtc2dzdHIgIm1vcmFsIGJpIGJpdGkgKCVkLCAlZCwgMSlcbiIKKworI34gbXNnaWQgInNob3VsZCBiZSAoJWQsICVkLCAlZClcbiIKKyN+IG1zZ3N0ciAibW9yYWwgYmkgYml0aSAoJWQsICVkLCAlZClcbiIKKworI34gbXNnaWQgIlRoaXMga2VybmVsIGZpbmRzIHRoZSBzZWN0b3Igc2l6ZSBpdHNlbGYgLSAtYiBvcHRpb24gaWdub3JlZFxuIgorI34gbXNnc3RyICJUbyBqZWRybyBuYWpkZSB2ZWxpa29zdCBzZWt0b3JqYSBzYW1vc3Rvam5vIC0gLWIgaXpiaXJlIG5pIHVwb7l0ZXZhbmFcbiIKKworI34gbXNnaWQgIm91dCBvZiBtZW1vcnk/XG4iCisjfiBtc2dzdHIgImplIHptYW5qa2FsbyBwb21uaWxuaWthP1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gInNmZGlzazogcHJlbWF0dXJlIGVuZCBvZiBpbnB1dFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAic2ZkaXNrOiBwcmV6Z29kZW4ga29uZWMgdm5vc2FcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXQVJOSU5HOiBjb3VsZG4ndCBvcGVuICVzIgorI34gbXNnc3RyICIlczogJXMgbmkgbW9nb+hlIG9kcHJldGk6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVwb2NoIgorI34gbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiWW91IGhhdmUgc3BlY2lmaWVkIG11bHRpcGxlIGZ1bmN0aW9ucy5cbiIKKyN+ICJZb3UgY2FuIG9ubHkgcGVyZm9ybSBvbmUgZnVuY3Rpb24gYXQgYSB0aW1lLiIKKyN+IG1zZ3N0ciAiIgorI34gIlBvZGFsaSBzdGUgdmXoIGZ1bmtjaWouXG4iCisjfiAiSXp2ZWRldGUgbGFoa28gc2FtbyBlbm8gZnVua2Npam8gbmFlbmtyYXQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIC0tdXRjIGFuZCAtLWxvY2FsdGltZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuICBZb3Ugc3BlY2lmaWVkIGJvdGguIgorI34gbXNnc3RyICIlczogLS11dGMgaW4gLS1sb2NhbHRpbWUgaXpiaXJpIHNlIG1lZHNlYm9qbm8gaXprbGp16HVqZXRhLiBQb2RhbGkgc3RlIG9iZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgLS1hZGp1c3QgYW5kIC0tbm9hZGpmaWxlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC4iCisjfiBtc2dzdHIgIiVzOiAtLWFkanVzdCBpbiAtLW5vYWRqZmlsZSBpemJpcmkgc2UgbWVkc2Vib2pubyBpemtsanXodWpldGEuIFBvZGFsaSBzdGUgb2JlLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSAtLWFkamZpbGUgYW5kIC0tbm9hZGpmaWxlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC4iCisjfiBtc2dzdHIgIiVzOiAtLWFkanVzdCBpbiAtLW5vYWRqZmlsZSBpemJpcmkgc2UgbWVkc2Vib2pubyBpemtsanXodWpldGEuIFBvZGFsaSBzdGUgb2JlLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBsb2NrIGdyb3VwIGZpbGUiCisjfiBtc2dzdHIgIm1vdW50OiBoaXRyb3N0aSBuaSBtb2dv6GUgbmFzdGF2aXRpOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0aGUgJXMgZmlsZSBpcyBidXN5ICglcyBwcmVzZW50KSIKKyN+IG1zZ3N0ciAiJXM6IGRhdG90ZWthICVzIGplIHYgcmFiaSAoJXMgZG9zZWdsaml2YSlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZpbmRtbnQoMSkuXG4iCisjfiBtc2dzdHIgIkZpbmdlciBpbmZvcm1hY2lqYSBzcHJlbWVuamVuYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2lndmFsIgorI34gbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwb3J0IGAlbGQnIG91dCBvZiByYW5nZSIKKyN+IG1zZ3N0ciAiVnJlZG5vc3QgaXp2ZW4gZG9zZWdhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbHNibGsoOCkuXG4iCisjfiBtc2dzdHIgIkZpbmdlciBpbmZvcm1hY2lqYSBzcHJlbWVuamVuYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIG9mZnNldCB2YWx1ZSAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiTmV2ZWxqYXZuYSB2cmVkbm9zdCBuYXN0YXZsamFuamE6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2FybmluZzogZmFpbGVkIHRvIHJlYWQgbXRhYiIKKyN+IG1zZ3N0ciAic3RhbmphICVzIG5pIG1vZ2/oZSBkb2JpdGkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNsYXNzIGRhdGEiCisjfiBtc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjbGFzcyIKKyN+IG1zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGJ1ZmZlciBzaXplIgorI34gbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZzdHJpbSg4KS5cbiIKKyN+IG1zZ3N0ciAiRmluZ2VyIGluZm9ybWFjaWphIHNwcmVtZW5qZW5hLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgc3BlZWQiCisjfiBtc2dzdHIgIm5ldmVsamF2bmkgaWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBvZmZzZXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIk5ldmVsamF2bmEgdnJlZG5vc3QgbmFzdGF2bGphbmphOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgc2l6ZSAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiTmV2ZWxqYXZuYSB2cmVkbm9zdCBuYXN0YXZsamFuamE6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBtb3VudHBvaW50KDEpLlxuIgorI34gbXNnc3RyICJGaW5nZXIgaW5mb3JtYWNpamEgc3ByZW1lbmplbmEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIFBJRCIKKyN+IG1zZ3N0ciAibmkgbW9nb+hlIG9kcHJldGkgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNlY29uZHMgdmFsdWUiCisjfiBtc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSB0aW1lX3QgdmFsdWUiCisjfiBtc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbHNibGsoMSkuXG4iCisjfiBtc2dzdHIgIkZpbmdlciBpbmZvcm1hY2lqYSBzcHJlbWVuamVuYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJhcmd1bWVudCAlbHUgaXMgdG9vIGxhcmdlIgorI34gbXNnc3RyICJJemJpcmEgLS1kYXRlIGplIHByZWRvbGdhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRlcm1pbmFsIGVudmlyb25tZW50IENPTFVNTlMgZmFpbGVkIgorI34gbXNnc3RyICJkb2RlbGplbmkgc2VtYWZvcmppID0gJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJiYWQgbGVuZ3RoIHZhbHVlIgorI34gbXNnc3RyICJoZXhkdW1wOiBzbGFiYSB2cmVkbm9zdCBkb2y+aW5lLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImJhZCBza2lwIHZhbHVlIgorI34gbXNnc3RyICJoZXhkdW1wOiBzbGFiYSB2cmVkbm9zdCBwcmVza29rYS5cbiIKKworI34gbXNnaWQgIiVzOiBVc2FnZTogJXMgWy1udW1iZXJdIFstcCBzdHJpbmddIFstY2VmbnJzXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCisjfiBtc2dzdHIgIiVzOiBVcG9yYWJhOiAlcyBbLbl0ZXZpbG9dIFstcCBuaXpdIFstY2VmbnJzXSBbK3Zyc3RpY2FdIFsrL3Z6b3JlYy9dIFtkYXRvdGVrZV1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogJWQ6IHBhcnNlIGVycm9yIC0tIGxpbmUgaWdub3JlZC5cbiIKKyN+IG1zZ3N0ciAibmFwYWthIHByaSBpc2thbmp1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhcm5pbmc6IGZhaWxlZCB0byBwYXJzZSAlcyIKKyN+IG1zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJS0yNXM6IGZhaWxlZDogJXNcbiIKKyN+IG1zZ3N0ciAidmVqaXRldiBuaSB1c3BlbGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlLTI1czogZmFpbGVkXG4iCisjfiBtc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyN+IG1zZ2lkICIgICBkICAgZGVsZXRlIGEgQlNEIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgZCAgIHpicmm5aSByYXpkZWxlayB0aXBhIEJTRCIKKworI34gbXNnaWQgIiAgIG4gICBhZGQgYSBuZXcgQlNEIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgbiAgIGRvZGFqIG5vdm8gcGFydGljaWpvIHRpcGEgQlNEIgorCisjfiBtc2dpZCAiICAgdCAgIGNoYW5nZSBhIHBhcnRpdGlvbidzIGZpbGVzeXN0ZW0gaWQiCisjfiBtc2dzdHIgIiAgIHQgICBzcHJlbWVuaSBpZCByYXpkZWzobmVnYSBkYXRvdGXobmVnYSBzaXN0ZW1hIgorCisjfiBtc2dpZCAiICAgdSAgIGNoYW5nZSB1bml0cyAoY3lsaW5kZXJzL3NlY3RvcnMpIgorI34gbXNnc3RyICIgICB1ICAgc3ByZW1lbmkgZW5vdGUgKHN0ZXplL3Nla3RvcmppKSIKKworI34gbXNnaWQgIiAgIHAgICBwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICIgICBwICAgaXpwablpIHRhYmVsbyByYXpkZWxrb3YiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkJ1aWxkaW5nIGEgbmV3IERPUyBkaXNrbGFiZWwgd2l0aCBkaXNrIGlkZW50aWZpZXIgMHglMDh4LlxuIgorI34gIkNoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS5cbiIKKyN+ICJBZnRlciB0aGF0LCBvZiBjb3Vyc2UsIHRoZSBwcmV2aW91cyBjb250ZW50IHdvbid0IGJlIHJlY292ZXJhYmxlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiVXN0dmFyamEgc2Ugbm92YSBvem5ha2EgZGlza2EgdGlwYSBET1MuIFNwcmVtZW1iZSBib2RvIG9zdGFsZSB2IHBvbW5pbG5pa3VcbiIKKyN+ICJkb2tsZXIgc2UgbmUgb2Rsb+hpdGUsIGRhIGppaCBib3N0ZSB6YXBpc2FsaS4gUG8gdGVtIHByZWq5bmphIHZzZWJpbmFcbiIKKyN+ICJuZSBibyB2Zeggb2Jub3Zsaml2YS5cbiIKKworI34gbXNnaWQgIkRldmljZSBjb250YWlucyBuZWl0aGVyIGEgdmFsaWQgRE9TIHBhcnRpdGlvbiB0YWJsZSwgbm9yIFN1biwgU0dJIG9yIE9TRiBkaXNrbGFiZWxcbiIKKyN+IG1zZ3N0ciAiTmFwcmF2YSBuZSB2c2VidWplIHZlbGphdm5lIHRhYmVsZSByYXpkZWxrb3YgdGlwYSBET1MsIG5pdGkgb3puYWtlIGRpc2thIHRpcGEgU3VuLCBTR0kgYWxpIE9TRlxuIgorCisjfiBtc2dpZCAiSW50ZXJuYWwgZXJyb3JcbiIKKyN+IG1zZ3N0ciAiTm90cmFuamEgbmFwYWthXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRTb3JyeSwgbm8gZXhwZXJ0cyBtZW51IGZvciBTR0kgcGFydGl0aW9uIHRhYmxlcyBhdmFpbGFibGUuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJcdFphIHRhYmVsZSBwYXJ0aWNpaiB0aXBhIFNHSSC+YWwgbmkgc3Ryb2tvdm5lZ2EgbWVuaWphLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiRG8gWW91IGtub3csIFlvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzaz9cbiIKKyN+IG1zZ3N0ciAiQWxpIHNlIHphdmVkYXRlLCBkYSBzZSB2YW0gbmEgZGlza3UgcHJla3JpdmFqbyByYXpkZWxraT9cbiIKKworI34gbXNnaWQgIiIKKyN+ICJCdWlsZGluZyBhIG5ldyBTR0kgZGlza2xhYmVsLiBDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LFxuIgorI34gInVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS4gQWZ0ZXIgdGhhdCwgb2YgY291cnNlLCB0aGUgcHJldmlvdXNcbiIKKyN+ICJjb250ZW50IHdpbGwgYmUgdW5yZWNvdmVyYWJseSBsb3N0LlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiVXN0dmFyamEgc2Ugbm92YSBTR0kgb3puYWthIGRpc2thLiBTcHJlbWVtYmUgYm9kbyBvc3RhbGUgdiBwb21uaWxuaWt1XG4iCisjfiAic2FtbywgZG9rbGVyIHNlIG5lIG9kbG/oaXRlLCBkYSBqaWggYm9zdGUgemFwaXNhbGkuIFBvdGVtIGJvIHByZWq5bmphXG4iCisjfiAidnNlYmluYSBuZXBvdnJubGppdmEuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5IC0gZ2l2aW5nIHVwXG4iCisjfiBtc2dzdHIgInBvbW5pbG5pa2EgamUgem1hbmprYWxvIC0gemFrbGp16HVqZW1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG1vdW50KDgpLlxuIgorI34gbXNnc3RyICJGaW5nZXIgaW5mb3JtYWNpamEgc3ByZW1lbmplbmEuXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogbWVtb3J5IGxvdywgbG9naW4gbWF5IGZhaWxcbiIKKyN+IG1zZ3N0ciAidnBpczogdnBpcyBqZSBsYWhrbyBuZXVzcGW5ZW4sa2VyIGplIG1hbG8gcHJvc3RlZ2EgcG9tbmlsbmlrYVxuIgorCisjfiBtc2dpZCAiY2FuJ3QgbWFsbG9jIGZvciB0dHljbGFzcyIKKyN+IG1zZ3N0ciAiemEgdHR5Y2xhc3MgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EiCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgZm9yIGdycGxpc3QiCisjfiBtc2dzdHIgInphIGdycGxpc3QgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EiCisKKyN+IG1zZ2lkICJMb2dpbiBvbiAlcyBmcm9tICVzIGRlbmllZC5cbiIKKyN+IG1zZ3N0ciAiVnBpcyBuYSAlcyBpeiAlcyBqZSB6YW5pa2FuLlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsgLWYgZnVsbC1uYW1lIF0gWyAtbyBvZmZpY2UgXSAiCisjfiBtc2dzdHIgIlVwb3JhYmE6ICVzIFsgLWYgcG9sbm8taW1lXSBbIC1vIHBpc2FybmEgXSAiCisKKyN+IG1zZ2lkICJbIC0taGVscCBdIFsgLS12ZXJzaW9uIF1cbiIKKyN+IG1zZ3N0ciAiWyAtLWhlbHAgXSBbIC0tdmVyc2lvbiBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IFBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCisjfiBtc2dzdHIgImxvZ2luOiBQQU0gbmkgdXNwZWwsIHByZWtpbmphbTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICUxJHMgWy1zIHNoZWxsXSBbdXNlcm5hbWVdXG4iCisjfiAiICAgb3I6ICUxJHMgKC0tbGlzdC1zaGVsbHMgfCAtLWhlbHAgfCAtLXZlcnNpb24pXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVcG9yYWJhOiAlcyBbIC1zIGx1cGluYSBdIFsgLS1saXN0LXNoZWxscyBdIFsgLS1oZWxwXSBbIC0tdmVyc2lvbiBdXG4iCisjfiAiICAgICAgIFsgdXBvcmFibmm5a28gaW1lXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcy4iCisjfiBtc2dzdHIgIiVzOiBsYWhrbyBzcHJlbWluamEgc2FtbyBsb2thbG5lIHZub3NlOyBuYW1lc3RvIHRlZ2EgdXBvcmFiaXRlIHlwJXMgLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAvZXRjL3Bhc3N3ZCIKKyN+IG1zZ3N0ciAiJXM6IE5lIG1vcmUgc2UgbmFzdGF2aXRpIHByaXZ6ZXRlIHp2ZXplW2NvbnRleHRdIHphIC9ldGMvcGFzc3dkIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNldHB3bmFtIGZhaWxlZCIKKyN+IG1zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogVXNlIC1sIG9wdGlvbiB0byBzZWUgbGlzdC5cbiIKKyN+IG1zZ3N0ciAiJXM6IHVwb3JhYml0ZSAtbCB6YSBpenBpcyBzZXpuYW1hXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogbG9naW4gWy1mcF0gW3VzZXJuYW1lXVxuIgorI34gbXNnc3RyICJ1cG9yYWJhOiBsb2dpbiBbLWZwXSBbdXBvcmFibmlrXVxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeSIKKyN+IG1zZ3N0ciAiem1hbmprYWxvIGplIHBvbW5pbG5pa2EiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIHVzZXJuYW1lIgorI34gbXNnc3RyICJOZXZlbGphdm5vIHVwb3JhYm5puWtvIGltZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyBsb2dpbiByZWZ1c2VkIG9uIHRoaXMgdGVybWluYWwuIgorI34gbXNnc3RyICIlcyBuYSB0ZW0gdGVybWluYWx1IGplIHZwaXMgemFuaWthbi5cbiIKKworI34gbXNnaWQgIkxPR0lOICVzIFJFRlVTRUQgRlJPTSAlcyBPTiBUVFkgJXMiCisjfiBtc2dzdHIgIlZQSVMgJXMgWkFOSUtBTiBPRCAlcyBOQSBUVFkgJXMiCisKKyN+IG1zZ2lkICJMT0dJTiAlcyBSRUZVU0VEIE9OIFRUWSAlcyIKKyN+IG1zZ3N0ciAiTE9HSU4gJXMgWkFOSUtBTiBOQSBUVFkgJXMiCisKKyN+IG1zZ2lkICJMb2dpbiBpbmNvcnJlY3RcbiIKKyN+IG1zZ3N0ciAiUHJpamF2YSBuaSB1c3BlbGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjaGFuZ2UgdGVybWluYWwgb3duZXIgZmFpbGVkIgorI34gbXNnc3RyICJkb2RlbGplbmkgc2VtYWZvcmppID0gJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsdXJlIGZvcmtpbmciCisjfiBtc2dzdHIgImxvZ2luOiB2ZWppdGV2IG5pIHVzcGVsYTogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiJXMgbG9naW46ICIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIiVzIHByaWphdmE6ICIKKworI34gbXNnaWQgIk5BTUUgdG9vIGxvbmciCisjfiBtc2dzdHIgIklNRSBqZSBwcmVkb2xnbyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsb2dpbiBuYW1lIG11Y2ggdG9vIGxvbmcuIgorI34gbXNnc3RyICJQcmlqYXZubyBpbWUgamUgcHJlZG9sZ28uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9naW4gbmFtZXMgbWF5IG5vdCBzdGFydCB3aXRoICctJy4iCisjfiBtc2dzdHIgIlByaWphdm5hIGltZW5hIHNlIG5lIG1vcmVqbyB6YehldGkgeiB6bmFrb20gJy0nLlxuIgorCisjfiBtc2dpZCAiRVhDRVNTSVZFIGxpbmVmZWVkcyIKKyN+IG1zZ3N0ciAiUFJFS09NRVJOSSBwb21pa2kgdiBub3ZvIHZyc3RvIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRvbyBtYW55IGJhcmUgbGluZWZlZWRzLiIKKyN+IG1zZ3N0ciAicHJldmXoIHBvbWlrb3YgdiBub3ZvIHZyc3RvXG4iCisKKyN+IG1zZ2lkICJMT0dJTiBGQUlMVVJFIEZST00gJXMsICVzIgorI34gbXNnc3RyICJORVVTUEWpTkEgUFJJSkFWQSBaICVzLCAlcyIKKworI34gbXNnaWQgIkxPR0lOIEZBSUxVUkUgT04gJXMsICVzIgorI34gbXNnc3RyICJORVVTUEWpTkEgUFJJSkFWQSBOQSAlcywgJXMiCisKKyN+IG1zZ2lkICIlZCBMT0dJTiBGQUlMVVJFUyBGUk9NICVzLCAlcyIKKyN+IG1zZ3N0ciAiJWQgTkVVU1BFqU5JSCBQUklKQVYgWiAlcywgJXMiCisKKyN+IG1zZ2lkICIlZCBMT0dJTiBGQUlMVVJFUyBPTiAlcywgJXMiCisjfiBtc2dzdHIgIiVkIE5FVVNQRalOSUggUFJJSkFWIE5BICVzLCAlcyIKKworI34gbXNnaWQgIiVzOiB0aGUgZ3JvdXAgZmlsZSBpcyBidXN5LlxuIgorI34gbXNnc3RyICIlczogZGF0b3Rla2Egc2t1cGluZSBqZSB2IHJhYmkuXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3QgdW5sb2NrICVzOiAlcyAoeW91ciBjaGFuZ2VzIGFyZSBzdGlsbCBpbiAlcylcbiIKKyN+IG1zZ3N0ciAiJXM6IG5pIG1vZ2/oZSBvZGtsZW5pdGkgJXM6ICVzICh2YbllIHNwcmVtZW1iZSBzbyC5ZSB2ZWRubyB2ICVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgIm1hbGxvYyBuaSB1c3BlbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXQVJOSU5HOiAlczogYXBwZWFycyB0byBjb250YWluICclcycgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJEaXNrICVzIG5lIHZzZWJ1amUgdmVsamF2bmUgdGFiZWxlIHJhemRlbGtvdlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB3cml0ZSBmYWlsZWQiCisjfiBtc2dzdHIgIm9wZW5wdHkgbmkgdXNwZWxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogL2RldiBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QuIgorI34gbXNnc3RyICIlczogdXBvcmFibmlrIFwiJXNcIiBuZSBvYnN0amEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9vcDogY2FuJ3Qgc2V0IGNhcGFjaXR5IG9uIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDogaW5mb3JtYWNpaiBvIG5hcHJhdmkgJXMgbmkgbW9nb+hlIGRvYml0aTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIsIG9mZnNldCAlPFBSSXU2ND4iCisjfiBtc2dzdHIgIiwgb2RtaWsgJWQiCisKKyN+IG1zZ2lkICIsIGVuY3J5cHRpb24gdHlwZSAlZFxuIgorI34gbXNnc3RyICIsILlpZnJpcm5pIHRpcCAlZFxuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3QgZ2V0IGluZm8gb24gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBpbmZvcm1hY2lqIG8gbmFwcmF2aSAlcyBuaSBtb2dv6GUgZG9iaXRpOiAlc1xuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3Qgb3BlbiBkZXZpY2UgJXM6ICVzXG4iCisjfiBtc2dzdHIgImxvb3A6IG5pIG1vZ2/oZSBvZHByZXRpIG5hcHJhdmUgJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IG5vIHBlcm1pc3Npb24gdG8gbG9vayBhdCAvZGV2L2xvb3AlczxOPiIKKyN+IG1zZ3N0ciAiJXM6IHphIHZwb2dsZWQgdiAvZGV2L2xvb3AjIG5pIGRvdm9samVuamEiCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IENvdWxkIG5vdCBmaW5kIGFueSBsb29wIGRldmljZS4gTWF5YmUgdGhpcyBrZXJuZWwgZG9lcyBub3Qga25vd1xuIgorI34gIiAgICAgICBhYm91dCB0aGUgbG9vcCBkZXZpY2U/IChJZiBzbywgcmVjb21waWxlIG9yIGBtb2Rwcm9iZSBsb29wJy4pIgorI34gbXNnc3RyICIiCisjfiAiJXM6IGxvb3AgbmFwcmF2ZSBuaSBtb2dv6GUgbmFqdGkuIE1vZ2/oZSB0byBqZWRybyBuZSB2ZSB6YSBuYXByYXZvXG4iCisjfiAiXHR0ZSB2cnN0ZS4gKMhlIGplIHRvIHJlcywgcG9ub3ZubyBwcmV2ZWRpIGplZHJvIGFsaSBzaSBwb21hZ2FqIHogYG1vZHByb2JlIGxvb3AnLikiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSB3aGlsZSByZWFkaW5nIHBhc3NwaHJhc2UiCisjfiBtc2dzdHIgIlByaSBwb3Zl6GV2YW5qdSBtZWRwb21uaWxuaWthIGplIHptYW5qa2FsbyBwb21uaWxuaWthLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhcm5pbmc6ICVzIGlzIGFscmVhZHkgYXNzb2NpYXRlZCB3aXRoICVzXG4iCisjfiBtc2dzdHIgIlNla3RvciAlZCBqZSC+ZSBkb2RlbGplblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhcm5pbmc6ICVzOiBpcyB3cml0ZS1wcm90ZWN0ZWQsIHVzaW5nIHJlYWQtb25seS5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzJXMgamUgemG56Gl0ZW5hIHByZWQgcGlzYW5qZW0sIHByaWtsYXBsamFtIHNhbW8gemEgYnJhbmplIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNldF9sb29wKCVzLCVzLCVsbHUsJWxsdSk6IHN1Y2Nlc3NcbiIKKyN+IG1zZ3N0ciAic2V0X2xvb3AoJXMsJXMsJWxsdSk6IHVzcGVoXG4iCisKKyN+IG1zZ2lkICJkZWxfbG9vcCglcyk6IHN1Y2Nlc3NcbiIKKyN+IG1zZ3N0ciAiZGVsX2xvb3AoJXMpOiB1c3BlaFxuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3QgZGVsZXRlIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDogbmFwcmF2ZSAlcyBuaSBtb2dv6GUgemJyaXNhdGk6ICVzXG4iCisKKyN+IG1zZ2lkICJUaGlzIG1vdW50IHdhcyBjb21waWxlZCB3aXRob3V0IGxvb3Agc3VwcG9ydC4gUGxlYXNlIHJlY29tcGlsZS5cbiIKKyN+IG1zZ3N0ciAiUHJvZ3JhbSBtb3VudCBqZSBiaWwgcHJldmVkZW4gYnJleiBwb2Rwb3JlIHphIGxvb3AuIFBvc2t1c2l0ZSBwb25vdm5vIHByZXZlc3RpIG1vdW50LlxuIgorCisjfiBtc2dpZCAiTm8gbG9vcCBzdXBwb3J0IHdhcyBhdmFpbGFibGUgYXQgY29tcGlsZSB0aW1lLiBQbGVhc2UgcmVjb21waWxlLlxuIgorI34gbXNnc3RyICJNZWQgcHJldmFqYW5qZW0gbmkgYmlsbyBwb2Rwb3JlIHphIGxvb3AgbmFwcmF2by4gUG9za3VzaXRlIHBvbm92bm8gcHJldmVzdGkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBwYXJ0eCg4KS5cbiIKKyN+IG1zZ3N0ciAiRmluZ2VyIGluZm9ybWFjaWphIHNwcmVtZW5qZW5hLlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstcSBbLWkgaW50ZXJ2YWxdXSAoWy1zIHZhbHVlXXxbLVMgdmFsdWVdKSAoWy10IHZhbHVlXXxbLVQgdmFsdWVdKSBbLWd8LUddIGZpbGUgW2ZpbGUuLi5dXG4iCisjfiBtc2dzdHIgIlVwb3JhYmE6ICVzIFstcSBbLWkgaW50ZXJ2YWxdXSAoWy1zIHZyZWRub3N0XXxbLVMgdnJlZG5vc3RdKSAoWy10IHZyZWRub3N0XXxbLVQgdnJlZG5vc3RdKSBbLWd8LUddIGRhdCBbIGRhdC4uLl1cbiIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gJXM6ICVzXG4iCisjfiBtc2dzdHIgIiVzIG5pIG1vZ2/oZSBvZHByZXRpOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbiBsb2NrIGZpbGUgJXM6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiAlcyBuaSBtb2dv6GUgb2RwcmV0aTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogYmFkIG51bWJlcjogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IHNsYWJhIHZyZWRub3N0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZvcmsgZmFpbGVkOiAlc1xuIgorI34gbXNnc3RyICJ2ZWppdGV2IG5pIHVzcGVsYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgaXBjbWsoMSkuXG4iCisjfiBtc2dzdHIgIkZpbmdlciBpbmZvcm1hY2lqYSBzcHJlbWVuamVuYS5cbiIKKworI34gbXNnaWQgImRlcHJlY2F0ZWQgdXNhZ2U6ICVzIHtzaG0gfCBtc2cgfCBzZW19IGlkIC4uLlxuIgorI34gbXNnc3RyICJ6YXN0YXJlbGEgcmFiYTogJXMge3NrdXBfbWVkcG9tIHwgc3BvcuhsbyB8IGlkX3NlbWZyamF9IGlkIC4uLlxuIgorCisjfiBtc2dpZCAidW5rbm93biBlcnJvciBpbiBrZXkiCisjfiBtc2dzdHIgInYga2xqdeh1IGplIG5lem5hbmEgbmFwYWthICIKKworI34gbXNnaWQgInVua25vd24gZXJyb3IgaW4gaWQiCisjfiBtc2dzdHIgInYgaWQgamUgbmV6bmFuYSBuYXBha2EiCisKKyN+IG1zZ2lkICIlczogJXMgKCVzKVxuIgorI34gbXNnc3RyICIlczogJXMgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxkYXR0YWNoIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAiJXMgaXogJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICIlczogVXNhZ2U6IFwiJXMgW29wdGlvbnNdXG4iCisjfiAiXHQgLW0gPG1hcGZpbGU+ICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIKKyN+ICJcdFx0XHRcdCAgXCIlc1wiKVxuIgorI34gIlx0IC1wIDxwcm8tZmlsZT4gKGRlZmF1bHQ6IFwiJXNcIilcbiIKKyN+ICJcdCAtTSA8bXVsdD4gICAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iCisjfiAiXHQgLWkgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIKKyN+ICJcdCAtdiAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorI34gIlx0IC1hICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorI34gIlx0IC1iICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorI34gIlx0IC1zICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCisjfiAiXHQgLXIgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCisjfiAiXHQgLW4gICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIKKyN+ICJcdCAtViAgICAgICAgICAgIHByaW50IHZlcnNpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBVcG9yYWJhOiBcIiVzIFtpemJpcmVdXG4iCisjfiAiXHQgLW0gPHByZXNsaWtkYXQ+IChwcml2emV0YTogXCIlc1wiIGluXG4iCisjfiAiXHRcdFx0XHQgIFwiJXNcIilcbiIKKyN+ICJcdCAtcCA8cHJvLWRhdD4gKHByaXZ6ZXRvOiBcIiVzXCIpXG4iCisjfiAiXHQgLU0gPG11bHQ+ICAgIG5hc3RhdmkgcHJvZmlsbmkgdmXoa3JhdG5payBuYSA8bXVsdD5cbiIKKyN+ICJcdCAtaSAgICAgICAgICAgaXpwablpIGluZm9ybWFjaWplIG8gdnpvcuhuZW0ga29yYWt1XG4iCisjfiAiXHQgLXYgICAgICAgICAgIHBvZGF0a2UgaXpwablpIGdvc3RvYmVzZWRub1xuIgorI34gIlx0IC1hICAgICAgICAgICBpenBpuWkgdnNlIHNpbWJvbGUsIHR1ZGkg6GUgamUgcHJluXRldmVrIDBcbiIKKyN+ICJcdCAtYiAgICAgICAgICAgaXpwablpIHNhbW9zdG9qbmUgaGlzdG9ncmFtc2tlIHByZbl0ZXZrZVxuIgorI34gIlx0IC1zICAgICAgICAgICBpenBpuWkgc2Ftb3N0b2puZSBwcmW5dGV2a2Ugem5vdHJhaiBmdW5rY2lqXG4iCisjfiAiXHQgLXIgICAgICAgICAgIHBvbm92bm8gbmFzdGF2aSB2c2UguXRldmNlIChsYWhrbyBzYW1vIHNrcmJuaWspXG4iCisjfiAiXHQgLW4gICAgICAgICAgIG9uZW1vZ2/oaSBzYW1vemF6bmF2byBiYWp0bmVnYSByZWRhXG4iCisjfiAiXHQgLVYgICAgICAgICAgIGl6cGm5aSByYXpsaehpY28gaW4gaXpob2RcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZWFkcHJvZmlsZTogZXJyb3Igd3JpdGluZyAlczogJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG5hcGFrYSBwcmkgcGlzYW5qdSBuYSAlczogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBydGN3YWtlKDgpLlxuIgorI34gbXNnc3RyICJGaW5nZXIgaW5mb3JtYWNpamEgc3ByZW1lbmplbmEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiVzOiAlc1xuIgorI34gIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiUG9za3VzaXRlIGBnZXRvcHQgLS1oZWxwJyB6YSB2ZeggaW5mb3JtYWNpai5cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBwcm9ncmFtIFthcmcgLi4uXVxuIgorI34gbXNnc3RyICJ1cG9yYWJhOiAlcyBwcm9ncmFtIFtpemJpcmEgLi4uXVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyA8ZGV2aWNlPiBbIC1pIDxJUlE+IHwgLXQgPFRJTUU+IHwgLWMgPENIQVJTPiB8IC13IDxXQUlUPiB8IFxuIgorI34gIiAgICAgICAgICAtYSBbb258b2ZmXSB8IC1vIFtvbnxvZmZdIHwgLUMgW29ufG9mZl0gfCAtcSBbb258b2ZmXSB8IC1zIHwgXG4iCisjfiAiICAgICAgICAgIC1UIFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVwb3JhYmE6ICVzIDxuYXByYXZhPiBbIC1pIDxJUlE+IHwgLXQgPMhBUz4gfCAtYyA8Wk5BS0k+IHwgLXcgPMhBS0FKPiB8IFxuIgorI34gIiAgICAgICAgICAgIC1hIFtvbnxvZmZdIHwgLW8gW29ufG9mZl0gfCAtQyBbb258b2ZmXSB8IC1xIFtvbnxvZmZdIHwgLXMgfFxuIgorI34gIiAgICAgICAgICAgIC1UIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiVzOiBiYWQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAiJXM6IHNsYWJhIHZyZWRub3N0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB1bnNoYXJlKDEpLlxuIgorI34gbXNnc3RyICJGaW5nZXIgaW5mb3JtYWNpamEgc3ByZW1lbmplbmEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2xvc2luZyBmaWxlICVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTmFwYWthIHByaSB6YXBpcmFuanUgZGF0b3Rla2VcbiIKKworI34gbXNnaWQgIlNvcnJ5IFlvdSBtYXkgY2hhbmdlIHRoZSBUYWcgb2Ygbm9uLWVtcHR5IHBhcnRpdGlvbnMuXG4iCisjfiBtc2dzdHIgIq5hbCBsYWhrbyBzcHJlbWVuaXRlIE96bmFrbyBuZXByYXpuaWggcmF6ZGVsa292LlxuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzICIKKyN+IG1zZ3N0ciAiT3Bvem9yaWxvOiByYXpkZWxlayAlcyAiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb25zICVzICIKKyN+IG1zZ3N0ciAiT3Bvem9yaWxvOiByYXpkZWxraSAlcyAiCisKKyN+IG1zZ2lkICJhbmQgJXMgb3ZlcmxhcFxuIgorI34gbXNnc3RyICJpbiAlcyBzZSBwcmVrcml2YXRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAgJXMgW29wdGlvbnNdIGRldmljZSBbLi4uXVxuIgorI34gbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkRldmljZSBpcyBzb21ldGhpbmcgbGlrZSAvZGV2L2hkYSBvciAvZGV2L3NkYVxuIgorI34gbXNnc3RyICJuYXByYXZhOiBucHIuIC9kZXYvaGRhIGFsaSAvZGV2L3NkYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSA8ZmlsZW5hbWU+XG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXVxuIgorI34gIlxuIgorI34gbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICVzIC1WXG4iCisjfiBtc2dzdHIgIlx0JXMgLWwgW3NpZ25hbCBdXG4iCisKKyN+IG1zZ2lkICIgICVzIC0tcmVwb3J0IFtkZXZpY2VzXVxuIgorI34gbXNnc3RyICIgICVzIC0tcmVwb3J0IFtuYXByYXZlXVxuIgorCisjfiBtc2dpZCAiICAlcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyN+IG1zZ3N0ciAiICAlcyBbLXZ8LXFdIHVrYXppIG5hcHJhdmVcbiIKKworI34gbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbiAlc1xuIgorI34gbXNnc3RyICIlczogbmkgbW9nb+hlIG9kcHJldGkgJXNcbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC1uIF0gZGV2aWNlXG4iCisjfiBtc2dzdHIgInVwb3JhYmE6ICVzIFsgLW4gXSBuYXByYXZhXG4iCisKKyN+IG1zZ2lkICJtYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJtYWxsb2MgbmkgdXNwZWwiCisKKyN+IG1zZ2lkICIlczogb3B0aW9uIHBhcnNlIGVycm9yXG4iCisjfiBtc2dzdHIgIiVzOiBuYXBha2EgcHJpIHJheuhsZW5qZXZhbmp1IGl6YmlyXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy14XSBbLWQgPG51bT5dIGlzbzk2NjAtaW1hZ2VcbiIKKyN+IG1zZ3N0ciAiVXBvcmFiYTogJXMgWy14XSBbLWQgPLl0Pl0gc2xpa2EtaXNvOTY2MFxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbLXZdIFstTiBuci1vZi1pbm9kZXNdIFstViB2b2x1bWUtbmFtZV1cbiIKKyN+ICIgICAgICAgWy1GIGZzbmFtZV0gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVwb3JhYmE6ICVzIFstYl0gWy1OILl0LiBpbm9kb3ZdIFstViBpbWUtb2JzZWdhW3ZvbHVtZV1dXG4iCisjfiAiICAgICAgICAgWy1GIGltZSBkYXQuIHNpc3RlbWFdIG5hcHJhdmEgW7l0LiBibG9rb3ZdXG4iCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gc3RhdCAlcyIKKyN+IG1zZ3N0ciAic3RhbmphICVzIG5pIG1vZ2/oZSBkb2JpdGkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGRldGVybWluZSBzZWN0b3Igc2l6ZSBmb3IgJXMiCisjfiBtc2dzdHIgIm5pIG1vZ2/oZSBkb2JpdGkgdmVsaWtvc3RpICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLWNdIFstcFBBR0VTWl0gWy1MIGxhYmVsXSBbLVUgVVVJRF0gL2Rldi9uYW1lIFtibG9ja3NdXG4iCisjfiBtc2dzdHIgIlVwb3JhYmE6ICVzIFstY10gWy12MHwtdjFdIFstcCB2ZWwuIHN0cmFuaV0gL2Rldi9pbWUgW2Jsb2tpXVxuIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSIKKyN+IG1zZ3N0ciAiWm1hbmprYWxvIGplIHBvbW5pbG5pa2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOlxuIgorI34gIiAgJXMgIgorI34gbXNnc3RyICJVcG9yYWJhOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk1lbnUgd2l0aG91dCBkaXJlY3Rpb24uIERlZmF1bHRpbmcgdG8gaG9yaXpvbnRhbC4iCisjfiBtc2dzdHIgIk1lbnUgYnJleiBzbWVyaS4gUHJpdnpldGEgamUgdm9kb3Jhdm5vLiIKKworI34gbXNnaWQgIiIKKyN+ICJDb21tYW5kIGFjdGlvblxuIgorI34gIiAgICVzXG4iCisjfiAiICAgcCAgIHByaW1hcnkgcGFydGl0aW9uICgxLTQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVa2F6bmEgYWtjaWphXG4iCisjfiAiICAlc1xuIgorI34gIiAgcCAgIHByaW1hcm5pIHJhemRlbGVrICgxLTQpXG4iCisKKyN+IG1zZ2lkICIgICAgLXMgW29yIC0tc2hvdy1zaXplXTogbGlzdCBzaXplIG9mIGEgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICAgLXMgW2FsaSAtLXNob3ctc2l6ZV06IGl6cGm5aSB2ZWxpa29zdCByYXpkZWxrYSIKKworI34gbXNnaWQgIiAgICAtZCBbb3IgLS1kdW1wXTogICAgICBpZGVtLCBidXQgaW4gYSBmb3JtYXQgc3VpdGFibGUgZm9yIGxhdGVyIGlucHV0IgorI34gbXNnc3RyICIgICAgLWQgW2FsaSAtLWR1bXBdOiAgICAgcG9kb2JubyBrb3QgcHJlaiwgYW1wYWsgdiBvYmxpa2ksIHVwb3JhYm5pIHphIGthc25larlpIHZub3MiCisKKyN+IG1zZ2lkICIgICAgLWkgW29yIC0taW5jcmVtZW50XTogbnVtYmVyIGN5bGluZGVycyBldGMuIGZyb20gMSBpbnN0ZWFkIG9mIGZyb20gMCIKKyN+IG1zZ3N0ciAiICAgIC1pIFthbGkgLS1pbmNyZW1lbnRdOiC5dGV2aWxvIHN0ZXosIG5wci4gb2QgMSBuYW1lc3RvIG9kIDAiCisKKyN+IG1zZ2lkICIgICAgLXVTLCAtdUIsIC11QywgLXVNOiAgYWNjZXB0L3JlcG9ydCBpbiB1bml0cyBvZiBzZWN0b3JzL2Jsb2Nrcy9jeWxpbmRlcnMvTUIiCisjfiBtc2dzdHIgIiAgICAtdVMsIC11QiwgLXVDLCAtdU06ICBzcHJlam1pL3Bvcm/oYWogdiBlbm90YWggc2VrdG9yamV2L2Jsb2tvdi9zdGV6L01CIgorCisjfiBtc2dpZCAiICAgIC1UIFtvciAtLWxpc3QtdHlwZXNdOmxpc3QgdGhlIGtub3duIHBhcnRpdGlvbiB0eXBlcyIKKyN+IG1zZ3N0ciAiICAgIC1UIFthbGkgLS1saXN0LXR5cGVzXTppenBpuWkgem5hbmUgdGlwZSByYXpkZWxrb3YiCisKKyN+IG1zZ2lkICIgICAgLUQgW29yIC0tRE9TXTogICAgICAgZm9yIERPUy1jb21wYXRpYmlsaXR5OiB3YXN0ZSBhIGxpdHRsZSBzcGFjZSIKKyN+IG1zZ3N0ciAiICAgIC1EIFthbGkgLS1ET1NdOiAgICAgIHphIHpkcnW+bGppdm9zdCB6IERPUy1vbTogcG9yYWJpIG1hbG8gcHJvc3RvcmEiCisKKyN+IG1zZ2lkICIgICAgLVIgW29yIC0tcmUtcmVhZF06ICAgbWFrZSBrZXJuZWwgcmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiICAgIC1SIFthbGkgLS1yZS1yZWFkXTogIHByaXNpbGkgamVkcm8gdiBwb25vdm5vIGJyYW5qZSB0YWJlbGUgcmF6ZGVsa292IgorCisjfiBtc2dpZCAiICAgIC1PIGZpbGUgOiAgICAgICAgICAgIHNhdmUgdGhlIHNlY3RvcnMgdGhhdCB3aWxsIGJlIG92ZXJ3cml0dGVuIHRvIGZpbGUiCisjfiBtc2dzdHIgIiAgICAtTyBkYXRvdGVrYSA6ICAgICAgICBzaHJhbmkgc2VrdG9yamUsIGtpIGJvZG8gcHJlcGlzYW5pIHYgZGF0b3Rla2kiCisKKyN+IG1zZ2lkICIgICAgLUkgZmlsZSA6ICAgICAgICAgICAgcmVzdG9yZSB0aGVzZSBzZWN0b3JzIGFnYWluIgorI34gbXNnc3RyICIgICAgLUkgZGF0b3Rla2E6ICAgICAgICAgcG9ub3ZubyBvYm5vdmkgdGUgc2VrdG9yamUiCisKKyN+IG1zZ2lkICIgICAgLXYgW29yIC0tdmVyc2lvbl06ICAgcHJpbnQgdmVyc2lvbiIKKyN+IG1zZ3N0ciAiICAgIC12IFthbGkgLS12ZXJzaW9uXTogIGl6cGm5aSByYXpsaehpY28iCisKKyN+IG1zZ2lkICIgICAgLT8gW29yIC0taGVscF06ICAgICAgcHJpbnQgdGhpcyBtZXNzYWdlIgorI34gbXNnc3RyICIgICAgLT8gW2FsaSAtLWhlbHBdOiAgICAgaXpwablpIHRvIHNwb3Jv6GlsbyIKKworI34gbXNnaWQgIiAgICAtZyBbb3IgLS1zaG93LWdlb21ldHJ5XTogcHJpbnQgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIGdlb21ldHJ5IgorI34gbXNnc3RyICIgICAgLWcgW2FsaSAtLXNob3ctZ2VvbWV0cnldOiBpenBpuWkgZ2VvbWV0cmlqbyB0YWtvLCBrb3QgZ2EgcmF6dW1lIGplZHJvIgorCisjfiBtc2dpZCAiICAgIC1MICBbb3IgLS1MaW51eF06ICAgICAgZG8gbm90IGNvbXBsYWluIGFib3V0IHRoaW5ncyBpcnJlbGV2YW50IGZvciBMaW51eCIKKyN+IG1zZ3N0ciAiICAgIC1MIFthbGkgLS1MaW51eF06ICAgICAgbmUgcHJpdG++dWogc2UgbmFkIHN0dmFybWksIGtpIG5pc28gcG9tZW1ibmUgemEgTGludXgiCisKKyN+IG1zZ2lkICIgICAgWW91IGNhbiBvdmVycmlkZSB0aGUgZGV0ZWN0ZWQgZ2VvbWV0cnkgdXNpbmc6IgorI34gbXNnc3RyICIgICAgWmF6bmFubyBnZW9tZXRyaWpvIGxhaGtvIG9iaWRldGUgdGFrbyBkYSB1cG9yYWJpdGU6IgorCisjfiBtc2dpZCAiICAgIC1mICBbb3IgLS1mb3JjZV06ICAgICAgZG8gd2hhdCBJIHNheSwgZXZlbiBpZiBpdCBpcyBzdHVwaWQiCisjfiBtc2dzdHIgIiAgICAtZiBbYWxpIC0tZm9yY2VdOiAgICAgIG5hcmVkaSBrYXIgcmXoZW0gYnJleiB1Z292b3JvdiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDb3VsZG4ndCBhbGxvY2F0ZSBtZW1vcnkgZm9yIGZpbGVzeXN0ZW0gdHlwZXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpcCBkYXQuIHNpc3RlbWEgbW9yYSBiaXRpIHBvZGFuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiBmc2NrIFstQU1OUFJUVl0gWyAtQyBbIGZkIF0gXSBbLXQgZnN0eXBlXSBbZnMtb3B0aW9uc10gW2ZpbGVzeXMgLi4uXVxuIgorI34gbXNnc3RyICJVcG9yYWJhOiBta2ZzIFstVl0gWy10IHRpcCBkYXQuIHNpc3RlbWFdIFtpemJpcmUgZGF0LiBzaXN0Ll0gbmFwcmF2YSBbdmVsaWtvc3RdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ291bGRuJ3Qgb3BlbiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXMgbmkgbW9nb+hlIG9kcHJldGk6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZnNjayBmcm9tICVzXG4iCisjfiBtc2dzdHIgIiVzIGl6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IFVuYWJsZSB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yIGZzY2tfcGF0aFxuIgorI34gbXNnc3RyICJEb2RlbGl0ZXYgbWVkcG9tbmlsbmlrYSB6YSBpbm9kZSBuaSBtb75uYSIKKworI34gbXNnaWQgIlRyeSBgZ2V0b3B0IC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIlBvc2t1c2l0ZSBgZ2V0b3B0IC0taGVscCcgemEgdmXoIGluZm9ybWFjaWouXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogZ2V0b3B0IG9wdHN0cmluZyBwYXJhbWV0ZXJzXG4iCisjfiBtc2dzdHIgIlVwb3JhYmE6IGdldG9wdCBvcHRzdHJpbmcgcGFyYW1ldHJpXG4iCisKKyN+IG1zZ2lkICIgICAgICAgZ2V0b3B0IFtvcHRpb25zXSBbLS1dIG9wdHN0cmluZyBwYXJhbWV0ZXJzXG4iCisjfiBtc2dzdHIgIiAgICAgICBnZXRvcHQgW2l6YmlyZV0gWy0tXSBvcHRzdHJpbmcgcGFyYW1ldHJpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZ2V0b3B0IChlbmhhbmNlZCkgMS4xLjRcbiIKKyN+IG1zZ3N0ciAiZ2V0cG90IChyYXq5aXJqZW4pIDEuMS4zXG4iCisKKyN+IG1zZ2lkICIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pXG4iCisjfiBtc2dzdHIgIihQcmnoYWtvdmFubzogYFVUQycgYWxpIGBMT0NBTGAgYWxpIG5p6C4pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gImh3Y2xvY2sgLSBxdWVyeSBhbmQgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayAoUlRDKVxuIgorI34gIlxuIgorI34gIlVzYWdlOiBod2Nsb2NrIFtmdW5jdGlvbl0gW29wdGlvbnMuLi5dXG4iCisjfiAiXG4iCisjfiAiRnVuY3Rpb25zOlxuIgorI34gIiAgLWggfCAtLWhlbHAgICAgICAgICBzaG93IHRoaXMgaGVscFxuIgorI34gIiAgLXIgfCAtLXNob3cgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCByZXN1bHRcbiIKKyN+ICIgICAgICAgLS1zZXQgICAgICAgICAgc2V0IHRoZSBydGMgdG8gdGhlIHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyN+ICIgIC1zIHwgLS1oY3Rvc3lzICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAgLXcgfCAtLXN5c3RvaGMgICAgICBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIHRvIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lXG4iCisjfiAiICAgICAgIC0tc3lzdHogICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgYmFzZWQgb24gdGhlIGN1cnJlbnQgdGltZXpvbmVcbiIKKyN+ICIgICAgICAgLS1hZGp1c3QgICAgICAgYWRqdXN0IHRoZSBydGMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCBzaW5jZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICB0aGUgY2xvY2sgd2FzIGxhc3Qgc2V0IG9yIGFkanVzdGVkXG4iCisjfiAiICAgICAgIC0tZ2V0ZXBvY2ggICAgIHByaW50IG91dCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWVcbiIKKyN+ICIgICAgICAgLS1zZXRlcG9jaCAgICAgc2V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZSB0byB0aGUgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGdpdmVuIHdpdGggLS1lcG9jaFxuIgorI34gIiAgICAgICAtLXByZWRpY3QgICAgICBwcmVkaWN0IHJ0YyByZWFkaW5nIGF0IHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyN+ICIgIC12IHwgLS12ZXJzaW9uICAgICAgcHJpbnQgb3V0IHRoZSB2ZXJzaW9uIG9mIGh3Y2xvY2sgdG8gc3Rkb3V0XG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczogXG4iCisjfiAiICAtdSB8IC0tdXRjICAgICAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIFVUQ1xuIgorI34gIiAgICAgICAtLWxvY2FsdGltZSAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBsb2NhbCB0aW1lXG4iCisjfiAiICAtZiB8IC0tcnRjPXBhdGggICAgIHNwZWNpYWwgL2Rldi8uLi4gZmlsZSB0byB1c2UgaW5zdGVhZCBvZiBkZWZhdWx0XG4iCisjfiAiICAgICAgIC0tZGlyZWN0aXNhICAgIGFjY2VzcyB0aGUgSVNBIGJ1cyBkaXJlY3RseSBpbnN0ZWFkIG9mICVzXG4iCisjfiAiICAgICAgIC0tYmFkeWVhciAgICAgIGlnbm9yZSBydGMncyB5ZWFyIGJlY2F1c2UgdGhlIGJpb3MgaXMgYnJva2VuXG4iCisjfiAiICAgICAgIC0tZGF0ZSAgICAgICAgIHNwZWNpZmllcyB0aGUgdGltZSB0byB3aGljaCB0byBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiICAgICAgIC0tZXBvY2g9eWVhciAgIHNwZWNpZmllcyB0aGUgeWVhciB3aGljaCBpcyB0aGUgYmVnaW5uaW5nIG9mIHRoZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgaGFyZHdhcmUgY2xvY2sncyBlcG9jaCB2YWx1ZVxuIgorI34gIiAgICAgICAtLW5vYWRqZmlsZSAgICBkbyBub3QgYWNjZXNzIC9ldGMvYWRqdGltZS4gUmVxdWlyZXMgdGhlIHVzZSBvZlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWVcbiIKKyN+ICIgICAgICAgLS1hZGpmaWxlPXBhdGggc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZSAoZGVmYXVsdCBpc1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAvZXRjL2FkanRpbWUpXG4iCisjfiAiICAgICAgIC0tdGVzdCAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IGFjdHVhbGx5IHVwZGF0aW5nIHRoZSBoYXJkd2FyZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBjbG9jayBvciBhbnl0aGluZyBlbHNlXG4iCisjfiAiICAtRCB8IC0tZGVidWcgICAgICAgIGRlYnVnIG1vZGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gImh3Y2xvY2sgLSBwb3ZwcmG5YWogaW4gbmFzdGF2aSBzdHJvam5vIHVybyAoUlRDKVxuIgorI34gIlxuIgorI34gIlVwb3JhYmE6IGh3Y2xvY2sgW2Z1bmtjaWphXSBbaXpiaXJlLi4uXVxuIgorI34gIlxuIgorI34gIkZ1bmtjaWplOlxuIgorI34gIiAgLS1oZWxwICAgICAgICBwcmlrYb5pIHRvIHBvbW/oXG4iCisjfiAiICAtLXNob3cgICAgICAgIHByZWJlcmkgc3Ryb2pubyB1cm8gaW4gaXpwablpIHJlenVsdGF0XG4iCisjfiAiICAtLXNldCAgICAgICAgIG5hc3RhdmkgcnRjIG5hIOhhcyBwb2RhbiB6IC0tZGF0ZVxuIgorI34gIiAgLS1oY3Rvc3lzICAgICBuYXN0YXZpIHNpc3RlbXNraSDoYXMgbmEgc3Ryb2pubyB1cm9cbiIKKyN+ICIgIC0tc3lzdG9oYyAgICAgbmFzdGF2aSBzdHJvam5vIHVybyBuYSBzaXN0ZW1za2kg6GFzXG4iCisjfiAiICAtLWFkanVzdCAgICAgIHBvbmFzdGF2aSBydGMsIHRha28gZGEgc2UgdXBvuXRldmEgc2lzdGVtc2tvIGRyc2VuamVcbiIKKyN+ICIgICAgICAgICAgICAgICAgb2RrYXIgamUgYmlsIHVyYSBuYXphZG5qZSBuYXN0YXZsamVuYVxuIgorI34gIiAgLS1nZXRlcG9jaCAgICBpenBpuWkgcmF6ZG9iamUgamVkcm92ZSBzdHJvam5lIHVyZVxuIgorI34gIiAgLS1zZXRlcG9jaCAgICBuYXN0YXZpIHJhemRvYmplIGplZHJvdmUgc3Ryb2puZSB1cmUgbmEgdnJlZG5vc3RcbiIKKyN+ICIgICAgICAgICAgICAgICAgcG9kYW5vIHogLS1lcG9jaFxuIgorI34gIiAgLS12ZXJzaW9uICAgICBpenBpuWkgcmF6bGnoaWNvIGh3Y2xvY2sgbmEgc3RhbmRhcmRuaSBpemhvZFxuIgorI34gIlxuIgorI34gIkl6YmlyZTogXG4iCisjfiAiICAtLXV0YyAgICAgICAgIHN0cm9qbmEgdXJhIGplIHNocmFuamVuYSB2IGtvb3JkaW5pcmFuZW0gdW5pdmVyemFsbmVtIOhhc3VcbiIKKyN+ICIgIC0tbG9jYWx0aW1lICAgc3Ryb2puYSB1cmEgamUgc2hyYW5qZW5hIHYgbG9rYWxuZW0g6GFzdVxuIgorI34gIiAgLS1kaXJlY3Rpc2EgICBkbyBJU0Egdm9kaWxhIGRvc3RvcGFqIG5lcG9zcmVkbm8gbmFtZXN0byAlc1xuIgorI34gIiAgLS1iYWR5ZWFyICAgICBwcmV6cmkgcnRjamV2byBsZXRvLCB6YXRvIGtlciBqZSBiaW9zIHBvuWtvZG92YW5cbiIKKyN+ICIgIC0tZGF0ZSAgICAgICAgcG9kYSDoYXMsIG5hIGthdGVyZWdhIGplIG5hc3RhdmxqZW5hIHN0cm9qbmEgdXJhXG4iCisjfiAiICAtLWVwb2NoPWxldG8gIHBvZGFqIGxldG8sIGtpIGplIHph6GV0bmEgdnJlZG5vc3QgZXBvaGUgc3Ryb2puZSB1cmVcbiIKKyN+ICIgIC0tbm9hZGpmaWxlICAgbmUgZG9zdG9wYWogZG8gL2V0Yy9hZGp0aW1lLiBaYWh0ZXZhIHVwb3JhYm8gLS11dGMgYWxpXG4iCisjfiAiICAgICAgICAgICAgICAgIC0tbG9jYWx0aW1lXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgaW5pdHN0cmluZyIKKyN+IG1zZ3N0ciAiemEgemHoZXRuaSBuaXogbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbLThoaUxtc1V3XSBbLWwgbG9naW5fcHJvZ3JhbV0gWy10IHRpbWVvdXRdIFstSSBpbml0c3RyaW5nXSBbLUggbG9naW5faG9zdF0gYmF1ZF9yYXRlLC4uLiBsaW5lIFt0ZXJtdHlwZV1cbiIKKyN+ICJvclx0Wy1oaUxtd10gWy1sIGxvZ2luX3Byb2dyYW1dIFstdCB0aW1lb3V0XSBbLUkgaW5pdHN0cmluZ10gWy1IIGxvZ2luX2hvc3RdIGxpbmUgYmF1ZF9yYXRlLC4uLiBbdGVybXR5cGVdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVcG9yYWJhOiAlcyBbLWhpTG13XSBbLWwgdnBpc25pX3Byb2dyYW1dIFstdCBvZG1vcl0gWy1JIHph6GV0bmluaXpdIFstSCB2cGlzbm8gaW1lIGdvc3RpdGVsamFdIGhpdHJvc3RfcHJlbm9zYV92X2JhdWRpaCwuLi4gdnJzdGljYSBbdGlwdGVybWluYWxhXVxuIgorI34gImFsaVx0Wy1oaUxtd10gWy1sIHZwaXNuaV9wcm9ncmFtXSBbLXQgb2Rtb3JdIFstSSB6YehldG5pbml6XSBbLUggdnBpc25vIGltZSBnb3N0aXRlbGphXSB2b2QgaGl0cm9zdF9wcmVub3NhX3ZfYmF1ZGloLC4uLiBbdGlwdGVybWluYWxhXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbeSB8IG5dIgorI34gbXNnc3RyICJ1cG9yYWJhOiBtZXNnIFt5IHwgbl1cbiIKKworI34gbXNnaWQgIiVzOiBCQUQgRVJST1IiCisjfiBtc2dzdHIgIiVzIFJFU05BIE5BUEFLQSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWy1uXSBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAidXBvcmFiYTogJXMgW2RhdG90ZWthXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbid0IHJlYWQ6ICVzIgorI34gbXNnc3RyICIlcyAlcyBuaSBtb2dv6GUgYnJhdGkuXG4iCisKKyN+IG1zZ2lkICJsb2dnZXI6ICVzOiAlcy5cbiIKKyN+IG1zZ3N0ciAibG9nZ2VyOiAlczogJXMuXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogbG9nZ2VyIFstaXNdIFstZiBmaWxlXSBbLXAgcHJpXSBbLXQgdGFnXSBbLXUgc29ja2V0XSBbIG1lc3NhZ2UgLi4uIF1cbiIKKyN+IG1zZ3N0ciAidXBvcmFiYTogbG9nZ2VyIFstaXNdIFstZiBkYXRdIFstcCBwcmVkbm9zdF0gWy10IHpuYehrYV0gWy11IHZ0aehuaWNhXSBbIHNwb3Jv6GlsbyAuLi5dXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogbG9vayBbLWRmYV0gWy10IGNoYXJdIHN0cmluZyBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAidXBvcmFiYTogbG9vayBbLWRmYV0gWy10IHpuYWtdIG5peiBbZGF0b3Rla2FdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeT8iCisjfiBtc2dzdHIgImplIHptYW5qa2FsbyBwb21uaWxuaWthP1xuIgorCisjfiBtc2dpZCAiY2FsbDogJXMgZnJvbSB0byBmaWxlcy4uLlxuIgorI34gbXNnc3RyICJrbGljOiAlcyBpeiBuYSBkYXRvdGVrZS4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiBzY3JpcHQgWy1hXSBbLWVdIFstZl0gWy1xXSBbLXRdIFtmaWxlXVxuIgorI34gbXNnc3RyICJ1cG9yYWJhOiBzY3JpcHQgWy1hXSBbLWZdIFstcV0gWy10XSBbZGF0b3Rla2FdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHdyaXRlIGVycm9yICVkOiAlc1xuIgorI34gbXNnc3RyICJuYXBha2EgcHJpIHBpc2FuanUgbmEgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogd3JpdGUgZXJyb3I6ICVzXG4iCisjfiBtc2dzdHIgIm5hcGFrYSBwcmkgcGlzYW5qdSBuYSAlc1xuIgorCisjfiBtc2dpZCAiICBbIC1zbm93IFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiICBbLXNub3cgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1zb2Z0c2Nyb2xsIFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1zb2Z0c2Nyb2xsIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtZm9yZWdyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtZm9yZWdyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQgXVxuIgorI34gbXNnc3RyICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQgXVxuIgorCisjfiBtc2dpZCAiICBbIC1iYWNrZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1iYWNrZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtdWxjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC11bGNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZSBdXG4iCisjfiBtc2dzdHIgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGUgXVxuIgorCisjfiBtc2dpZCAiICBbIC11bGNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtdWxjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAiICBbIC1oYmNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWhiY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLWhiY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1oYmNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLXN0YW5kb3V0IFsgYXR0ciBdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1zdGFuZG91dCBbIGF0cmlidXQgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLWRdIFstcCBwaWRmaWxlXSBbLXMgc29ja2V0cGF0aF0gWy1UIHRpbWVvdXRdXG4iCisjfiBtc2dzdHIgInVwb3JhYmE6IGxhc3QgWy0jXSBbLWYgZGF0XSBbLXQgdHR5XSBbLWggaW1lIGdvc3RpdGVsamFdIFt1cG9yYWJuaWsgLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAlcyAta1xuIgorI34gbXNnc3RyICJcdCVzIC1sIFtzaWduYWwgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLXJdIFstdF1cbiIKKyN+IG1zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworI34gbXNnaWQgIndoZXJlaXMgWyAtc2JtdSBdIFsgLVNCTSBkaXIgLi4uIC1mIF0gbmFtZS4uLlxuIgorI34gbXNnc3RyICJ3aGVyZWlzIFsgLXNibXUgXSBbIC1TQk0gaW1lbmlrIC4uLiAtZiBdIGltZS4uLlxuIgorCisjfiBtc2dpZCAidXNhZ2U6IHdyaXRlIHVzZXIgW3R0eV1cbiIKKyN+IG1zZ3N0ciAidXBvcmFiYTogd3JpdGUgdXBvcmFibmlrIFt0dHldXG4iCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3Qgb3BlbiAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBuaSBtb2dv6GUgb2RwcmV0aTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5rbm93blxuIgorI34gbXNnc3RyICJuZXpuYW5lbSIKKworI34gbXNnaWQgIlVzYWdlOiBzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fGhoOnNzfCttaW5zXVxuIgorI34gbXNnc3RyICJVcG9yYWJhOiBzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fGhoOnNzfCttaW51dF1cbiIKKworI34gbXNnaWQgIlNodXRkb3duIHByb2Nlc3MgYWJvcnRlZCIKKyN+IG1zZ3N0ciAiUG9zdG9wZWsgemF1c3Rhdml0dmUgcHJla2luamVuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm9ubHkgcm9vdCBjYW4gc2h1dCBhIHN5c3RlbSBkb3duLiIKKyN+IG1zZ3N0ciAiJXM6IFNpc3RlbSBsYWhrbyB6YXVzdGF2aSBzYW1vIHNpc3RlbXNraSBza3JibmlrLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRoYXQgbXVzdCBiZSB0b21vcnJvdywgY2FuJ3QgeW91IHdhaXQgdGlsbCB0aGVuPyIKKyN+IG1zZ3N0ciAiVG8gc2UgbW9yYSB6Z29kaXRpIGp1dHJpLCBhbGkgbmUgbW9yZXRlIHBv6GFrYXRpIGRvIHRha3JhdD9cbiIKKworI34gbXNnaWQgImZvciBtYWludGVuYW5jZTsgYm91bmNlLCBib3VuY2UiCisjfiBtc2dzdHIgInphIHZ6ZHK+ZXZhbmplIgorCisjfiBtc2dpZCAiVGhlIHN5c3RlbSBpcyBiZWluZyBzaHV0IGRvd24gd2l0aGluIDUgbWludXRlcyIKKyN+IG1zZ3N0ciAiU2lzdGVtIHNlIGJvIHphdXN0YXZpbCDoZXogcGV0IG1pbnV0IgorCisjfiBtc2dpZCAiTG9naW4gaXMgdGhlcmVmb3JlIHByb2hpYml0ZWQuIgorI34gbXNnc3RyICJQcmlqYXZhIHphdG8gbmkgZG92b2xqZW5hLiIKKworI34gbXNnaWQgInJlYm9vdGVkIGJ5ICVzOiAlcyIKKyN+IG1zZ3N0ciAicG9ub3ZubyB6YWduYWwgdXBvcmFibmlrICVzOiAlcyIKKworI34gbXNnaWQgImhhbHRlZCBieSAlczogJXMiCisjfiBtc2dzdHIgInVzdGF2aWwgdXBvcmFibmlrICVzOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXaHkgYW0gSSBzdGlsbCBhbGl2ZSBhZnRlciByZWJvb3Q/IgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiWmFrYWogc2VtILllIHZlZG5vIGFrdGl2ZW4gcG8gcG9ub3ZuZW0gemFnb251PyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJOb3cgeW91IGNhbiB0dXJuIG9mZiB0aGUgcG93ZXIuLi4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJaZGFqIGxhaGtvIHZhcm5vIGl6a2xvcGl0ZSByYeh1bmFsbmlrLiIKKworI34gbXNnaWQgIkNhbGxpbmcga2VybmVsIHBvd2VyLW9mZiBmYWNpbGl0eS4uLlxuIgorI34gbXNnc3RyICJLbGnoZW0gamVkcm92byBpemtsanXoaXR2ZW5vIG1ldG9kby4uLlxuIgorCisjfiBtc2dpZCAiRXJyb3IgcG93ZXJpbmcgb2ZmXHQlc1xuIgorI34gbXNnc3RyICJOYXBha2EgcHJpIGl6a2xqdehldmFuanVcdCVzXG4iCisKKyN+IG1zZ2lkICJFeGVjdXRpbmcgdGhlIHByb2dyYW0gXCIlc1wiIC4uLlxuIgorI34gbXNnc3RyICJaYWdhbmphbSBwcm9ncmFtIFwiJXNcIiAuLi5cbiIKKworI34gbXNnaWQgIlVSR0VOVDogYnJvYWRjYXN0IG1lc3NhZ2UgZnJvbSAlczoiCisjfiBtc2dzdHIgIk5VSk5POiBvZGRhaiBzcG9yb+hpbG8gaXogJXM6IgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gJWQgaG91cnMgJWQgbWludXRlcyIKKyN+IG1zZ3N0ciAiU2lzdGVtIHNlIGJvIHVzdGF2aWwg6GV6ICVkIHVyIGluICVkIG1pbnV0LiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluIDEgaG91ciAlZCBtaW51dGVzIgorI34gbXNnc3RyICJTaXN0ZW0gc2UgYm8gdXN0YXZpbCDoZXogZW5vIHVybyBpbiAlZCBtaW51dC4iCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAlZCBtaW51dGVzXG4iCisjfiBtc2dzdHIgIlNpc3RlbSBzZSBibyB1c3RhdmlsIOhleiAlZCBtaW51dC5cbiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluIDEgbWludXRlXG4iCisjfiBtc2dzdHIgIlNpc3RlbSBzZSBibyB1c3RhdmlsIOhleiBlbm8gbWludXRvLlxuIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gSU1NRURJQVRFTFkhXG4iCisjfiBtc2dzdHIgIlNpc3RlbSBzZSB1c3RhdmxqYSBaREFKLlxuIgorCisjfiBtc2dpZCAiXHQuLi4gJXMgLi4uXG4iCisjfiBtc2dzdHIgIlx0Li4uICVzIC4uLlxuIgorCisjfiBtc2dpZCAiQ2Fubm90IGZvcmsgZm9yIHN3YXBvZmYuIFNocnVnISIKKyN+IG1zZ3N0ciAiTmkgbW9nb+hlIHZlaml0aSB6YSBpemtsdehpdGV2IGl6bWVuamFsbmVnYSBwcm9zdG9yYS4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyBzd2Fwb2ZmLCBob3BpbmcgdW1vdW50IHdpbGwgZG8gdGhlIHRyaWNrLiIKKyN+IG1zZ3N0ciAiaXprbGp16Gl0dmUgaXptZW5qYWxuZWdhIHByb3N0b3JhIG5pIG1vZ2/oZSBpenZlc3RpLCB1cGFtLCBkYSBibyB1bW91bnQgdXNwZWwiCisKKyN+IG1zZ2lkICJDYW5ub3QgZm9yayBmb3IgdW1vdW50LCB0cnlpbmcgbWFudWFsbHkuIgorI34gbXNnc3RyICJVbW91bnQgdmVqaXRldiBuaSB1c3BlbGEsIHBvaXprdblhbSByb+hubyIKKworI34gbXNnaWQgIkNhbm5vdCBleGVjICVzLCB0cnlpbmcgdW1vdW50LlxuIgorI34gbXNnc3RyICJOaSBtb+ggaXp2ZXN0aSAlcywgcG9za3W5YW0geiB1bW91bnQuXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyB1bW91bnQsIGdpdmluZyB1cCBvbiB1bW91bnQuIgorI34gbXNnc3RyICJOaSBtb+ggaXp2ZXN0aSB1bW91bnQsIG5hZGFsam5pIHBvc2t1c2kgb3B1uehlbmkuIgorCisjfiBtc2dpZCAiVW5tb3VudGluZyBhbnkgcmVtYWluaW5nIGZpbGVzeXN0ZW1zLi4uIgorI34gbXNnc3RyICJPZGtsYXBsamFtIHByZW9zdGFsZSBkYXRvdGXobmUgc2lzdGVtZS4uLiIKKworI34gbXNnaWQgInNodXRkb3duOiBDb3VsZG4ndCB1bW91bnQgJXM6ICVzXG4iCisjfiBtc2dzdHIgInNodXRkb3duOiBVbW91bnQgbmkgdXNwZWwgeiAlczogJXNcbiIKKworI34gbXNnaWQgIkJvb3RpbmcgdG8gc2luZ2xlIHVzZXIgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiWmFnb24gdiBlbm91cG9yYWJuablrZW0gbmHoaW51LlxuIgorCisjfiBtc2dpZCAiZXhlYyBvZiBzaW5nbGUgdXNlciBzaGVsbCBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAiaXp2ZWRiYSBlbm91cG9yYWJuablrZSBsdXBpbmUgbmkgdXNwZWxhXG4iCisKKyN+IG1zZ2lkICJmb3JrIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICJ2ZWppdGV2IGVub3Vwb3JhYm5puWtlIGx1cGluZSBuaSB1c3BlbGFcbiIKKworI34gbXNnaWQgImVycm9yIG9wZW5pbmcgZmlmb1xuIgorI34gbXNnc3RyICJuYXBha2EgcHJpIG9kcGlyYW5qdSBmaWZvXG4iCisKKyN+IG1zZ2lkICJlcnJvciBzZXR0aW5nIGNsb3NlLW9uLWV4ZWMgb24gL2Rldi9pbml0Y3RsIgorI34gbXNnc3RyICJuYXBha2EgcHJpIG5hc3RhdmxqYW5qdSB6YXBpcmFuamEgcHJpIGl6dnK5aXR2aSBuYSAvZGV2L2luaXRjdGwiCisKKyN+IG1zZ2lkICJlcnJvciBydW5uaW5nIGZpbmFscHJvZ1xuIgorI34gbXNnc3RyICJuYXBha2EgbWVkIGl6dmFqYW5qZW0gcG9zbGVkbmplZ2EgcHJvZ3JhbWFcbiIKKworI34gbXNnaWQgImVycm9yIGZvcmtpbmcgZmluYWxwcm9nXG4iCisjfiBtc2dzdHIgIm5hcGFrIHByaSB2ZWppdHZpIHBvc2xlZG5qZWdhIHByb2dyYW1hXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV3JvbmcgcGFzc3dvcmQuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJOYXBh6G5vIGdlc2xvLlxuIgorCisjfiBtc2dpZCAiZm9yayBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAidmVqaXRldiBuaSB1c3BlbGFcbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIGluaXR0YWJcbiIKKyN+IG1zZ3N0ciAiaW5pdHRhYiBuaSBtb2dv6GUgb2RwcmV0aVxuIgorCisjfiBtc2dpZCAibm8gVEVSTSBvciBjYW5ub3Qgc3RhdCB0dHlcbiIKKyN+IG1zZ3N0ciAibmkgdGVybWluYWxhIGFsaSBuaSBtb2dv6GUgZG9zdG9wYXRpIGRvIHR0eVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIGF0IHN0b3BwaW5nIHNlcnZpY2UgXCIlc1wiXG4iCisjfiBtc2dzdHIgIm5hcGFrYSBwcmkgemF1c3RhdmxqYW5qdSBzdG9yaXR2ZTogXCIlc1wiIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlN0b3BwZWQgc2VydmljZTogJXNcbiIKKyN+IG1zZ3N0ciAibmFwYWthIHByaSB6YXVzdGF2bGphbmp1IHN0b3JpdHZlOiBcIiVzXCIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgYXQgc3RhcnRpbmcgc2VydmljZSBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAibmFwYWthIHByaSB6YXVzdGF2bGphbmp1IHN0b3JpdHZlOiBcIiVzXCIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstY10gWy1uIGxldmVsXSBbLXJdIFstcyBidWZzaXplXVxuIgorI34gbXNnc3RyICJVcG9yYWJhOiAlcyBbLWNdIFstbiBzdG9wbmphXSBbLXMgdmVsX21lZHBvbV1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogc3RyZHVwIGZhaWxlZCIKKyN+IG1zZ3N0ciAiT2RwaXJhbmplICVzIG5pIHVzcGVsbyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogY2FsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAibWFsbG9jIG5pIHVzcGVsIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiAlcyBbLWJmcHhdIFstbCBubGluZV0iCisjfiBtc2dzdHIgInVwb3JhYmE6IGNvbCBbLWJmcHhdIFstbCC5dGxpbmlqZV1cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC0gXSBbIC0yIF0gWyBmaWxlIC4uLiBdXG4iCisjfiBtc2dzdHIgInVwb3JhYmE6ICVzIFsgLSBdIFsgLTIgXSBbIGRhdCAuLi4gXVxuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogWy1iY0Nkb3Z4XSBbLWUgZm10XSBbLWYgZm10X2ZpbGVdIFstbiBsZW5ndGhdIFstcyBza2lwXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgImhleGR1bXA6IFstYmNDZG92eF0gWy1lIG9ibGlrYV0gWy1mIG9ibGtfZGF0XSBbLW4gZG9svmluYV0gWy1zIHByZXNrb2tdIFtkYXQgLi4uXVxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFstZGZscGNzdV0gWytsaW5lbnVtIHwgKy9wYXR0ZXJuXSBuYW1lMSBuYW1lMiAuLi5cbiIKKyN+IG1zZ3N0ciAidXBvcmFiYTogJXMgWy1kZmxwY3N1XSBbK3Zyc3RpY2EgfCArL3Z6b3JlY10gaW1lMSBpbWUyIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpbmUgYnVmZmVyXG4iCisjfiBtc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYS5cbiIKKworI34gbXNnaWQgImhleGR1bXA6IGNhbid0IHJlYWQgJXMuXG4iCisjfiBtc2dzdHIgImhleGR1bXA6IGJyYW5qZSAlcyBuaSBtb2dv6GUuXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBsaW5lIHRvbyBsb25nLlxuIgorI34gbXNnc3RyICJoZXhkdW1wOiB2cnN0aWNhIGplIHByZWRvbGdhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJlYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJtYWxsb2MgbmkgdXNwZWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHRhaWxmIFstbiBOIHwgLU5dIGxvZ2ZpbGUiCisjfiBtc2dzdHIgIlVwb3JhYmE6IHRhaWxmIGRuZXZkYXRbbG9nXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbIC1pIF0gWyAtdFRlcm0gXSBmaWxlLi4uXG4iCisjfiBtc2dzdHIgIlVwb3JhYmE6ICVzIFsgLWkgXSBbIC10VGVybSBdIGRhdC4uLlxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiJXMgbmkgbW9nb+hlIG9kcHJldGlcbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBhbnkgbW9yZSBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAiRG9kZWxqZXZhbmplIHBvbW5pbG5pa2EgbmkgdmXoIG1vZ2/oZVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImdvdCBFT0YgdGhyaWNlIC0gZXhpdGluZy4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIzeCBkb2JsamVuIEVPRiAtIEtvbuh1amVtLi5cbiIKKworI34gbXNnaWQgImxhc3Q6IG1hbGxvYyBmYWlsdXJlLlxuIgorI34gbXNnc3RyICJsYXN0OiBtYWxsb2MgbmkgdXNwZWwuXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogT3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICJsb2dpbjogWm1hbmprYWxvIGplIHByb3N0ZWdhIHBvbW5pbG5pa2FcbiIKKworI34gbXNnaWQgImxvZ2luOiBubyBzaGVsbDogJXMuXG4iCisjfiBtc2dzdHIgImxvZ2luOiBuaSB1a2F6bmUgbHVwaW5lOiAlcy5cbiIKKworI34gbXNnaWQgIm5ld2dycDogc2V0Z2lkIgorI34gbXNnc3RyICJuZXdncnA6IG5hc3RhdmkgZ2lkIgorCisjfiBtc2dpZCAibmV3Z3JwOiBQZXJtaXNzaW9uIGRlbmllZCIKKyN+IG1zZ3N0ciAibmV3Z3JwOiBEb3N0b3AgemFuaWthbiIKKworI34gbXNnaWQgIm5ld2dycDogc2V0dWlkIgorI34gbXNnc3RyICJuZXdncnA6IG5hc3RhdmkgdWlkIgorCisjfiBtc2dpZCAiJXM6IENhbm5vdCBmb3JrXG4iCisjfiBtc2dzdHIgIiVzOiBOaSBtb2dv6GUgdmVqaXRpXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3QgcmVhZCAlcy5cbiIKKyN+IG1zZ3N0ciAiJXMgJXMgbmkgbW9nb+hlIGJyYXRpLlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHN0YXQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVzIG5pIG1vZ2/oZSBkb2JpdGkgc3RhbmphIHph6GFzbmUgZGF0b3Rla2UuXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3QgcmVhZCB0ZW1wb3JhcnkgZmlsZS5cbiIKKyN+IG1zZ3N0ciAiJXM6IG5pIG1vZ2/oZSBicmF0aSBpeiB6Yehhc25lIGRhdG90ZWtlLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvcjogJXMiCisjfiBtc2dzdHIgIm5hcGFrYSBwcmkgcGlzYW5qdSBuYSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnNlIGVycm9yIGF0IGxpbmVzOiAiCisjfiBtc2dzdHIgIm5hcGFrYSBwcmkgaXNrYW5qdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgYW5kICVkLiIKKyN+IG1zZ3N0ciAiIGluICIKKworI34gbXNnaWQgInJlbmljZTogJXM6IHVua25vd24gdXNlclxuIgorI34gbXNnc3RyICJyZW5pY2U6ICVzOiBuZXpuYW4gdXBvcmFibmlrXG4iCisKKyN+IG1zZ2lkICJyZW5pY2U6ICVzOiBiYWQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAicmVuaWNlOiAlczogbmVwcmF2aWxuYSB2cmVkbm9zdFxuIgorCisjfiBtc2dpZCAib2Q6IG9kKDEpIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIGhleGR1bXAoMSkuXG4iCisjfiBtc2dzdHIgIm9kOiBvZCgxKSBqZSBuYWRvbWW56GVuIHMgcHJvZ3JhbW9tIGhleGR1bXAoMSkuXG4iCisKKyN+IG1zZ2lkICJvZDogaGV4ZHVtcCgxKSBjb21wYXRpYmlsaXR5IGRvZXNuJ3Qgc3VwcG9ydCB0aGUgLSVjIG9wdGlvbiVzXG4iCisjfiBtc2dzdHIgIm9kOiBoZXhkdW1wKDEpIG5lIHBvZHBpcmEgaXpiaXJlIC0lYyBpemJpciVzXG4iCisKKyN+IG1zZ2lkICI7IHNlZSBzdHJpbmdzKDEpLiIKKyN+IG1zZ3N0ciAiOyBnbGVqdGUgc3RyaW5ncygxKS4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBpbiB0aGUgZmluYWwgcGFydGlhbCBjeWxpbmRlciIKKyN+IG1zZ3N0ciAiUmF6ZGVsZWsgc2Uga29u6GEgdiB6YWRuamkgZGVsbmkgc3RlemkiCisKKyN+IG1zZ2lkICIlczogb3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICIlczogem1hbmprYWxvIHBvbW5pbG5pa2FcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogaWxsZWdhbCBpbnRlcnZhbCAlcyBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVzOiBuZWRvdm9samVuIGtsanXoICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogaWxsZWdhbCB0aW1lX3QgdmFsdWUgJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IG5lZG92b2xqZW5hIGl6YmlyYSAtLSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gZXhlY3V0ZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibmkgbW9nb+hlIHByZWltZW5vdmF0aSAlcyB2ICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJ0YyByZWFkIgorI34gbXNnc3RyICIsIHByaXByYXZsamVuIgorCisjfiBtc2dpZCAibWFsbG9jIGVycm9yIgorI34gbXNnc3RyICJuYXBha2EgdiBtYWxsb2MiCisKKyN+IG1zZ2lkICJ1c2FnZTogY29sdW1uIFstdHhdIFstYyBjb2x1bW5zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgInVwb3JhYmE6IGNvbHVtbiBbLXR4XSBbLWMgc3RvbHBlY10gW2RhdCAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICJabWFuamthbG8gamUgcG9tbmlsbmlrYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyc3BhY2UiCisjfiBtc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcHJvc3RvcmEuXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogcmV2IFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiVXBvcmFiYTogcmV2IFtkYXQgLi4uXVxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlci5cbiIKKyN+IG1zZ3N0ciAiWmEgbWVkcG9tbmlsbmlrIG5pIG1vZ2/oZSBkb2RlbGl0aSBwb21uaWxuaWthLlxuIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSB3aGVuIGdyb3dpbmcgYnVmZmVyLlxuIgorI34gbXNnc3RyICJQcmkgcG92ZehldmFuanUgbWVkcG9tbmlsbmlrYSBqZSB6bWFuamthbG8gcG9tbmlsbmlrYS5cbiIKKworI34gbXNnaWQgIiVzOiBpbGxlZ2FsIG9wdGlvbiAtLSAlY1xuIgorI34gbXNnc3RyICIlczogbmVkb3ZvbGplbmEgaXpiaXJhIC0tICVjXG4iCisKKyN+IG1zZ2lkICJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyN+IG1zZ3N0ciAiJWQgZG9kZWxqZW5paCBvZHNla292XG4iCisKKyN+IG1zZ2lkICJwYWdlcyBhbGxvY2F0ZWQgJWxkXG4iCisjfiBtc2dzdHIgIiVsZCBkb2RlbGplbmloIHN0cmFuaVxuIgorCisjfiBtc2dpZCAicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorI34gbXNnc3RyICIlbGQgcHJpc290bmloIHN0cmFuaVxuIgorCisjfiBtc2dpZCAicGFnZXMgc3dhcHBlZCAgICVsZFxuIgorI34gbXNnc3RyICIlbGQgaXptZW5qYW5paCBzdHJhbmlcbiIKKworI34gbXNnaWQgIlN3YXAgcGVyZm9ybWFuY2U6ICVsZCBhdHRlbXB0c1x0ICVsZCBzdWNjZXNzZXNcbiIKKyN+IG1zZ3N0ciAiVehpbmtvdml0b3N0IGl6bWVuamFsbmVnYSBwcm9zdG9yYTogJWxkIHBvc2t1c292XHQgJWxkIHVzcGW5bmloXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgcnVubmluZyBwcm9ncmFtbWU6IFwiJXNcIlxuIgorI34gbXNnc3RyICJuYXBha2EgbWVkIGl6dmFqYW5qZW0gcG9zbGVkbmplZ2EgcHJvZ3JhbWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIG9mZnNldCAnJXMnIHZhbHVlIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiTmV2ZWxqYXZuYSB2cmVkbm9zdCBuYXN0YXZsamFuamE6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3VycmVudCIKKyN+IG1zZ3N0ciAibmNvdW50IgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5ldyIKKyN+IG1zZ3N0ciAiTm92YSIKKworI34gbXNnaWQgIkxpbnV4IGV4dDIiCisjfiBtc2dzdHIgIkxpbnV4IGV4dDIiCisKKyN+IG1zZ2lkICJMaW51eCBleHQzIgorI34gbXNnc3RyICJMaW51eCBleHQzIgorCisjfiBtc2dpZCAiTGludXggWEZTIgorI34gbXNnc3RyICJMaW51eCBYRlMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTGludXggSkZTIgorI34gbXNnc3RyICJMaW51eCBYRlMiCisKKyN+IG1zZ2lkICJMaW51eCBSZWlzZXJGUyIKKyN+IG1zZ3N0ciAiTGludXggUmVpc2VyRlMiCisKKyN+IG1zZ2lkICJPUy8yIEhQRlMiCisjfiBtc2dzdHIgIk9TLzIgSFBGUyIKKworI34gbXNnaWQgIk9TLzIgSUZTIgorI34gbXNnc3RyICJPUy8yIElGUyIKKworI34gbXNnaWQgIk5URlMiCisjfiBtc2dzdHIgIk5URlMiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IGZkaXNrIFstYiBTU1pdIFstdV0gRElTSyAgICAgQ2hhbmdlIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gIiAgICAgICBmZGlzayAtbCBbLWIgU1NaXSBbLXVdIERJU0sgIExpc3QgcGFydGl0aW9uIHRhYmxlKHMpXG4iCisjfiAiICAgICAgIGZkaXNrIC1zIFBBUlRJVElPTiAgICAgICAgICAgR2l2ZSBwYXJ0aXRpb24gc2l6ZShzKSBpbiBibG9ja3NcbiIKKyN+ICIgICAgICAgZmRpc2sgLXYgICAgICAgICAgICAgICAgICAgICBHaXZlIGZkaXNrIHZlcnNpb25cbiIKKyN+ICJIZXJlIERJU0sgaXMgc29tZXRoaW5nIGxpa2UgL2Rldi9oZGIgb3IgL2Rldi9zZGFcbiIKKyN+ICJhbmQgUEFSVElUSU9OIGlzIHNvbWV0aGluZyBsaWtlIC9kZXYvaGRhN1xuIgorI34gIi11OiBnaXZlIFN0YXJ0IGFuZCBFbmQgaW4gc2VjdG9yIChpbnN0ZWFkIG9mIGN5bGluZGVyKSB1bml0c1xuIgorI34gIi1iIDIwNDg6IChmb3IgY2VydGFpbiBNTyBkaXNrcykgdXNlIDIwNDgtYnl0ZSBzZWN0b3JzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVcG9yYWJhOiBmZGlzayBbLWIgdmVsc2VrdF0gLVt1XSBESVNLICAgICBTcHJlbWVuaSB0YWJlbG8gcmF6ZGVsa292XG4iCisjfiAiICAgICAgICAgZmRpc2sgLWwgWy1iIHZlbHNla3RdIC1bdV0gRElTSyAgSXpwablpIHRhYmVsby9lIHJhemRlbGtvdlxuIgorI34gIiAgICAgICAgIGZkaXNrIC1zIFJBWkRFTEVLICAgICAgICAgICAgICAgIFZybmkgdmVsaWtvc3QvaSByYXpkZWxrb3YgdiBibG9raWhcbiIKKyN+ICIgICAgICAgICBmZGlzayAtdiAgICAgICAgICAgICAgICAgICAgICAgICBWcm5pIHJhemxp6GljbyBmZGlzay1hXG4iCisjfiAiRElTSyBqZSBsYWhrbyAvZGV2L2hkYiBhbGkgL2Rldi9zZGFcbiIKKyN+ICJSQVpERUxFSyBqZSBsYWhrbyAvZGV2L2hkYTdcbiIKKyN+ICIgdmVsc2VrdCAtIHZlbGlrb3N0IHNla3RvcmphXG4iCisjfiAiLXU6IHZybmkgWmHoZXRlayBpbiBLb25lYyB2IHNla3RvcnNraWggKG5hbWVzdG8gdiBzdGV6bmloKSBlbm90YWhcbiIKKyN+ICItYiAyMDQ4OiAoemEgbmVrYXRlcmUgTU8gZGlza2UpIHVwb3JhYmkgc2VrdG9yamUgdmVsaWtvc3RpIDIwNDgtYmFqdG92XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IGZkaXNrIFstbF0gWy1iIFNTWl0gWy11XSBkZXZpY2VcbiIKKyN+ICJFLmcuOiBmZGlzayAvZGV2L2hkYSAgKGZvciB0aGUgZmlyc3QgSURFIGRpc2spXG4iCisjfiAiICBvcjogZmRpc2sgL2Rldi9zZGMgIChmb3IgdGhlIHRoaXJkIFNDU0kgZGlzaylcbiIKKyN+ICIgIG9yOiBmZGlzayAvZGV2L2VkYSAgKGZvciB0aGUgZmlyc3QgUFMvMiBFU0RJIGRyaXZlKVxuIgorI34gIiAgb3I6IGZkaXNrIC9kZXYvcmQvYzBkMCAgb3I6IGZkaXNrIC9kZXYvaWRhL2MwZDAgIChmb3IgUkFJRCBkZXZpY2VzKVxuIgorI34gIiAgLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVcG9yYWJhOiBmZGlzayBbbF0gWy1iIHZlbHNla3RdIFstdV0gbmFwcmF2YVxuIgorI34gIk5wci46IGZkaXNrIC9kZXYvaGRhICh6YSBwcnYgSURFIGRpc2spXG4iCisjfiAiIGFsaTogZmRpc2sgL2Rldi9zZGMgKHphIHBydmkgU0NTSSBkaXNrKVxuIgorI34gIiBhbGk6IGZkaXNrIC9kZXYvZWRhICh6YSBwcnZpIFBTLzIgRVNESSBkaXNrKVxuIgorI34gIiBhbGk6IGZkaXNrIC9kZXYvcmQvYzBkMCBhbGkgZmRpc2sgL2Rldi9pZGEvYzBkMCAoemEgUkFJRCBuYXByYXZlKVxuIgorI34gIiAuLi5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJUaGUgbnVtYmVyIG9mIGN5bGluZGVycyBmb3IgdGhpcyBkaXNrIGlzIHNldCB0byAlZC5cbiIKKyN+ICJUaGVyZSBpcyBub3RoaW5nIHdyb25nIHdpdGggdGhhdCwgYnV0IHRoaXMgaXMgbGFyZ2VyIHRoYW4gMTAyNCxcbiIKKyN+ICJhbmQgY291bGQgaW4gY2VydGFpbiBzZXR1cHMgY2F1c2UgcHJvYmxlbXMgd2l0aDpcbiIKKyN+ICIxKSBzb2Z0d2FyZSB0aGF0IHJ1bnMgYXQgYm9vdCB0aW1lIChlLmcuLCBvbGQgdmVyc2lvbnMgb2YgTElMTylcbiIKKyN+ICIyKSBib290aW5nIGFuZCBwYXJ0aXRpb25pbmcgc29mdHdhcmUgZnJvbSBvdGhlciBPU3NcbiIKKyN+ICIgICAoZS5nLiwgRE9TIEZESVNLLCBPUy8yIEZESVNLKVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiqXRldmlsbyBzdGV6IG5hIHRlbSBkaXNrdSBqZSBuYXN0YXZsamVubyBuYSAlZC5cbiIKKyN+ICJTIHRlbSBuaSBuaeggbmFyb2JlLCBhbXBhayB0byBqZSB2ZehqZSBrb3QgMTAyNCxcbiIKKyN+ICJpbiBiaSBsYWhrbyB2IGRvbG/oZW5paCBwcmltZXJpaCBwb3Z6cm/oaWxvIHRlvmF2ZSB6OlxuIgorI34gIjEpIHByb2dyYW1qZW0sIGtpIGRlbHVqZSBtZWQgemFnYW5qYW5qZW0gKG5wci4gc3RhcmUgcmF6bGnoaWNlIExJTE8pXG4iCisjfiAiMikgemFnb25za2ltIGluIHJhemRlbGpldmFsbmltIHByb2dyYW1qZW0gZHJ1Z2loXG4iCisjfiAib3BlcmFjaWpza2loIHNpc3RlbW92KG5wci4gRE9TIEZESVNLLCBPUy8yIEZESVNLKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBubyBtZWRpdW0gZm91bmQgb24gJXMgLi4udHJ5aW5nIGFnYWluXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyBibyB1c3R2YXJqZW4sIGtlciBnYSBuaXNlbSBuYbllbFxuIgorCisjfiBtc2dpZCAidXNhZ2UgOiAlcyAtYXNtcSAtdGNsdXAgXG4iCisjfiBtc2dzdHIgInVwb3JhYmEgOiAlcyAtYXNtcSAtdGNsdXAgXG4iCisKKyN+IG1zZ2lkICJcdCVzIFstcyAtbSAtcV0gLWkgaWRcbiIKKyN+IG1zZ3N0ciAiXHQlcyBbLXMgLW0gLXFdIC1pIGlkXG4iCisKKyN+IG1zZ2lkICJcdCVzIC1oIGZvciBoZWxwLlxuIgorI34gbXNnc3RyICJcdCVzIC1oIHphIHBvbW/oLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlJlc291cmNlIFNwZWNpZmljYXRpb246XG4iCisjfiAiXHQtbSA6IHNoYXJlZF9tZW1cbiIKKyN+ICJcdC1xIDogbWVzc2FnZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlNwZWNpZmlrYWNpamEgdmlyYTpcbiIKKyN+ICJcdC1tIDogZGVsamVuX3BvbVxuIgorI34gIlx0LXEgOiBzcG9yb+hpbGFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdC1zIDogc2VtYXBob3Jlc1xuIgorI34gIlx0LWEgOiBhbGwgKGRlZmF1bHQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcdC1zIDogc2VtYWZvcmppXG4iCisjfiAiXHQtYSA6IHZzZSAocHJpdnpldG8pXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiT3V0cHV0IEZvcm1hdDpcbiIKKyN+ICJcdC10IDogdGltZVxuIgorI34gIlx0LXAgOiBwaWRcbiIKKyN+ICJcdC1jIDogY3JlYXRvclxuIgorI34gbXNnc3RyICIiCisjfiAiT2JsaWthIEl6aG9kYTpcbiIKKyN+ICJcdC10IDog6GFzXG4iCisjfiAiXHQtcCA6IHBpZFxuIgorI34gIlx0LWMgOiBzdHZhcm5pa1xuIgorCisjfiBtc2dpZCAiIgorI34gIlx0LWwgOiBsaW1pdHNcbiIKKyN+ICJcdC11IDogc3VtbWFyeVxuIgorI34gbXNnc3RyICIiCisjfiAiXHQtbCA6IG9tZWppdHZlXG4iCisjfiAiXHQtdSA6IHBvdnpldGVrXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6ICVzIgorI34gbXNnc3RyICJuYXBha2EgUkU6ICIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciBwYXJzZTogJXMiCisjfiBtc2dzdHIgIm5hcGFrYSBwcmkgYnJhbmp1ICVzXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogcmRldiBbIC1ydiBdIFsgLW8gT0ZGU0VUIF0gWyBJTUFHRSBbIFZBTFVFIFsgT0ZGU0VUIF0gXSBdIgorI34gbXNnc3RyICJ1cG9yYWJhOiByZGV2IFsgLXJ2IF0gWyAtbyBPRE1JSyBdIFsgU0xJS0EgWyBWUkVETk9TVCBbIE9ETUlLIF0gXSBdIgorCisjfiBtc2dpZCAiICByZGV2IC9kZXYvZmQwICAob3IgcmRldiAvbGludXgsIGV0Yy4pIGRpc3BsYXlzIHRoZSBjdXJyZW50IFJPT1QgZGV2aWNlIgorI34gbXNnc3RyICIgIHJkZXYgL2Rldi9mZDAgKGFsaSByZGV2IC9saW51eCwgaXRuLikgcHJpa2G+ZSB0cmVudXRubyBrb3JlbnNrbyBuYXByYXZvIgorCisjfiBtc2dpZCAiICByZGV2IC9kZXYvZmQwIC9kZXYvaGRhMiAgICAgICAgIHNldHMgUk9PVCB0byAvZGV2L2hkYTIiCisjfiBtc2dzdHIgIiAgcmRldiAvZGV2L2ZkMCAvZGV2L2hkYTIgICAgICAgICBuYXN0YXZpIGtvcmVuc2tvIG5hcHJhdm8gbmEgL2Rldi9oZGEyIgorCisjfiBtc2dpZCAiICByZGV2IC1SIC9kZXYvZmQwIDEgICAgICAgICAgICAgIHNldCB0aGUgUk9PVEZMQUdTIChyZWFkb25seSBzdGF0dXMpIgorI34gbXNnc3RyICIgIHJkZXYgLVIgL2Rldi9mZDAgMSAgICAgICAgICAgICAgbmFzdGF2aSBrb3IuIHphc3RhdmljZSAoc2FtbyB6YSBicmFuamUpIgorCisjfiBtc2dpZCAiICByZGV2IC1yIC9kZXYvZmQwIDYyNyAgICAgICAgICAgIHNldCB0aGUgUkFNRElTSyBzaXplIgorI34gbXNnc3RyICIgIHJkZXYgLXIgL2Rldi9mZDAgNjI3ICAgICAgICAgICAgbmFzdGF2aSB2ZWxpa29zdCBwb20uIGRpc2thIgorCisjfiBtc2dpZCAiICByZGV2IC12IC9kZXYvZmQwIDEgICAgICAgICAgICAgIHNldCB0aGUgYm9vdHVwIFZJREVPTU9ERSIKKyN+IG1zZ3N0ciAiICByZGV2IC12IC9kZXYvZGYwIDEgICAgICAgICAgICAgIG5hc3RhdmkgemFnb25za2kgZ3JhZmnobmkgbmHoaW4iCisKKyN+IG1zZ2lkICIgIHJkZXYgLW8gTiAuLi4gICAgICAgICAgICAgICAgICAgdXNlIHRoZSBieXRlIG9mZnNldCBOIgorI34gbXNnc3RyICIgIHJkZXYgLW8gTi4gLi4uICAgICAgICAgICAgICAgICB1cG9yYWJpIGJhanRuaSBvZG1payBOIgorCisjfiBtc2dpZCAiICByb290ZmxhZ3MgLi4uICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgcmRldiAtUiIKKyN+IG1zZ3N0ciAiICByb290ZmxhZ3MgLi4uICAgICAgICAgICAgICAgICAgIGVuYWtvIGtvdCByZGV2IC1SIgorCisjfiBtc2dpZCAiICByYW1zaXplIC4uLiAgICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgcmRldiAtciIKKyN+IG1zZ3N0ciAiICByYW1zaXplIC4uLiAgICAgICAgICAgICAgICAgICAgIGVuYWtvIGtvdCByZGV2IC1yIgorCisjfiBtc2dpZCAiICB2aWRtb2RlIC4uLiAgICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgcmRldiAtdiIKKyN+IG1zZ3N0ciAiICB2aWRtb2RlIC4uLiAgICAgICAgICAgICAgICAgICAgIGVuYWtvIGtvdCByZGV2IC12IgorCisjfiBtc2dpZCAiTm90ZTogdmlkZW8gbW9kZXMgYXJlOiAtMz1Bc2ssIC0yPUV4dGVuZGVkLCAtMT1Ob3JtYWxWZ2EsIDE9a2V5MSwgMj1rZXkyLC4uLiIKKyN+IG1zZ3N0ciAiT3BvbWJhOiBncmFmaehuaSBuYehpbmkgc286IC0zPVZwcmG5YWosIC0yPVJherlpcmplbiwgLTE9TmF2YWRuaVZHQSwgMT1rbGp16DEsIDI9a2xqdegyLC4uLiIKKworI34gbXNnaWQgIiAgICAgIHVzZSAtUiAxIHRvIG1vdW50IHJvb3QgcmVhZG9ubHksIC1SIDAgZm9yIHJlYWQvd3JpdGUuIgorI34gbXNnc3RyICIgICAgIHVwb3JhYmkgLVIgMSB6YSBwcmlrbG9wIGtvcmVuc2tlIG5hcHJhdmUgdiBuYehpbnUgc2FtbyB6YSBicmFuamUsIC1SIDAgcGEgemEgYnJhbmplL3Bpc2FuamUiCisKKyN+IG1zZ2lkICJtaXNzaW5nIGNvbW1hIgorI34gbXNnc3RyICJ2ZWppY2EgbWFuamthIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm91dCBpZiBtZW1vcnkiCisjfiBtc2dzdHIgInptYW5qa2FsbyBqZSBwb21uaWxuaWthIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJ1bml0OiBzZWN0b3JzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiVsbGQgbmVkb2RlbGplbmloIHNla3RvcmpldlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiBzdGFydD0lOWx1IgorI34gbXNnc3RyICJ6YehldGVrIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiwgYm9vdGFibGUiCisjfiBtc2dzdHIgIkFJWCB6YWdvbnNraSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDbG9jayBpbiBVVEMsIG5vdCBjaGFuZ2VkLlxuIgorI34gbXNnc3RyICJMdXBpbmEgbmkgYmlsYSBzcHJlbWVuamVuYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZXJyb3I6IGxhYmVsIG9ubHkgd2l0aCB2MSBzd2FwIGFyZWFcbiIKKyN+IG1zZ3N0ciAiJXM6IG5hcGFrYTogb3puYWthIHNhbW8geiB2MSBpem1lbmphbG5pbSBwcm9zdG9yb21cbiIKKworI34gbXNnaWQgImZhdGFsOiBmaXJzdCBwYWdlIHVucmVhZGFibGUiCisjfiBtc2dzdHIgInVzb2RuYSBuYXBha2E6IHBydmEgc3RyYW4gbmViZXJsaml2YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiJXM6IERldmljZSAnJXMnIGNvbnRhaW5zIGEgdmFsaWQgU3VuIGRpc2tsYWJlbC5cbiIKKyN+ICJUaGlzIHByb2JhYmx5IG1lYW5zIGNyZWF0aW5nIHYwIHN3YXAgd291bGQgZGVzdHJveSB5b3VyIHBhcnRpdGlvbiB0YWJsZS5cbiIKKyN+ICJObyBzd2FwIHdhcyBjcmVhdGVkLiBJZiB5b3UgcmVhbGx5IHdhbnQgdG8gY3JlYXRlIHYwIHN3YXAgb24gdGhhdCBkZXZpY2UsXG4iCisjfiAidXNlIHRoZSAtZiBvcHRpb24gdG8gZm9yY2UgaXQuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogRW5vdGEgJyVzJyB2c2VidWplIHZlbGphdm5vIFN1bm92byBvem5ha28gZGlza2EuXG4iCisjfiAiVG8gcG9tZW5pLCBkYSBiaSB1c3R2YXJqYW5qZSBpem1lbmphbG5lZ2EgcHJvc3RvcmEgdjAgdW5p6GlqbyByYXpkZWxpdHZlbm9cbiIKKyN+ICJ0YWJlbG8uIEl6bWVuamFsbmkgcHJvc3RvciBuaSBiaWwgdXN0dmFyamVuLiDIZSByZXMgvmVsaXRlIHVzdHZhcml0aSBpem1lbmphbG5pIHByb3N0b3IgdjAgbmEgdGVqIG5hcHJhdmksIHVwb3JhYml0ZSBpemJpcm8gLWYuXG4iCisKKyN+IG1zZ2lkICJuYW1laTogY291bGQgbm90IGNoZGlyIHRvIHJvb3QhXG4iCisjfiBtc2dzdHIgIm5hbWVpOiBzcHJlbWVtYmEgbmEga29yZW5za2kgaW1lbmlrIG5pIG1vZ2/oYSFcbiIKKworI34gbXNnaWQgIm5hbWVpOiBjb3VsZCBub3Qgc3RhdCByb290IVxuIgorI34gbXNnc3RyICJuYW1laTogbmV6bmFubyBzdGFuamUgc2lzdC4gc2tyYm5pa2EhXG4iCisKKyN+IG1zZ2lkICJuYW1laTogYnVmIG92ZXJmbG93XG4iCisjfiBtc2dzdHIgIm5hbWVpOiBwcmVrb3Jh6Gl0ZXYgbWVkcG9tbmlsbmlrYVxuIgorCisjfiBtc2dpZCAiID8gY291bGQgbm90IGNoZGlyIGludG8gJXMgLSAlcyAoJWQpXG4iCisjfiBtc2dzdHIgInByZWtsb3AgdiBpbWVuaWsgJXMgLSAlcyAoJWQpIG5pIG1vZ2/oXG4iCisKKyN+IG1zZ2lkICIgPyBwcm9ibGVtcyByZWFkaW5nIHN5bWxpbmsgJXMgLSAlcyAoJWQpXG4iCisjfiBtc2dzdHIgInRlvmF2ZSBwcmkgYnJhbmp1IHNpbWIuIHBvdmV6YXZlICVzIC0gJXMgKCVkKVxuIgorCisjfiBtc2dpZCAiICAqKiogRVhDRUVERUQgVU5JWCBMSU1JVCBPRiBTWU1MSU5LUyAqKipcbiIKKyN+IG1zZ3N0ciAiICAqKiogUFJFS09SQchJVEVWIFVOSVgtb3ZlIE1FSkUgU0lNQi4gUE9WRVpBViAqKipcbiIKKworI34gbXNnaWQgIm5hbWVpOiB1bmtub3duIGZpbGUgdHlwZSAwJTA2byBvbiBmaWxlICVzXG4iCisjfiBtc2dzdHIgIm5hbWVpOiBuZXpuYW4gdGlwIGRhdG90ZWtlIDAlMDZvIHYgZGF0LiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBnb2luZyB0byBtb3VudCAlcyBieSAlc1xuIgorI34gbXNnc3RyICJtb3VudDogJXMgYm8gcHJpa2xvcGxqZW4gZ2xlZGUgbmEgVVVJRC1vbVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBubyBMQUJFTD0sIG5vIFVVSUQ9LCBnb2luZyB0byBtb3VudCAlcyBieSBwYXRoXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyBibyBwcmlrbG9wbGplbiBnbGVkZSBuYSBvem5ha28iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHdhaXRwaWQ6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjfiBtc2dpZCAiY291bGQgbm90IHVtb3VudCAlcyAtIHRyeWluZyAlcyBpbnN0ZWFkXG4iCisjfiBtc2dzdHIgIm9ka2xvcCAlcyBuaSB1c3BlbCAtIHBvc2t1uWFtIHogJXNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTIwcyAlLTIwcyAlLTIwc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTIwcyAlLTIwcyAlLTIwc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTJzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTJzXG4iCisKKyN+IG1zZ2lkICIlLThzICUtMTBzICUtMjYuMjRzICUtMjYuMjRzXG4iCisjfiBtc2dzdHIgIiUtOHMgJS0xMHMgJS0yNi4yNHMgJS0yNi4yNHNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iCisKKyN+IG1zZ2lkICIlLThzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisjfiBtc2dzdHIgIiUtOHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTJzICUtMTJzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTJzICUtMTJzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2hmbjogUEFNIEZhaWx1cmUsIGFib3J0aW5nOiAlc1xuIgorI34gbXNnc3RyICJsb2dpbjogUEFNIG5pIHVzcGVsLCBwcmVraW5qYW06ICVzXG4iCisKKyN+IG1zZ2lkICJDYW4ndCByZWFkICVzLCBleGl0aW5nLiIKKyN+IG1zZ3N0ciAiJXMgbmkgbW9nb+hlIHByZWJyYXRpLCB6YWtsanXodWplbS4iCisKKyN+IG1zZ2lkICJsb2dpbjogUEFNIEZhaWx1cmUsIGFib3J0aW5nOiAlc1xuIgorI34gbXNnc3RyICJsb2dpbjogUEFNIG5pIHVzcGVsLCBwcmVraW5qYW06ICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogYmFja2dyb3VuZGluZyBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IFwiJXNcIiBncmUgdiBvemFkamVcbiIKKworI34gbXNnaWQgIm1vdW50OiBnaXZpbmcgdXAgXCIlc1wiXG4iCisjfiBtc2dzdHIgIm1vdW50OiBwcmVkYWphIHNlIFwiJXNcIlxuIgorCisjfiBtc2dpZCAiYCVzJzogYmFkIGRpcmVjdG9yeTogJy4nIGlzbid0IGZpcnN0XG4iCisjfiBtc2dzdHIgImAlcyc6IHBvuWtvZG92YW4gaW1lbmlrOiAnLicgbmkgbmEgcHJ2ZW0gbWVzdHVcbiIKKworI34gbXNnaWQgImAlcyc6IGJhZCBkaXJlY3Rvcnk6ICcuLicgaXNuJ3Qgc2Vjb25kXG4iCisjfiBtc2dzdHIgImAlcyc6IHBvuWtvZG92YW4gZGlyZWt0b3JpajogJy4uJyBuaSBuYSBkcnVnZW0gbWVzdHVcbiIKKworI34gbXNnaWQgImNhbGxpbmcgb3Blbl90dHlcbiIKKyN+IG1zZ3N0ciAia2xp6GVtIG9wZW5fdHR5XG4iCisKKyN+IG1zZ2lkICJjYWxsaW5nIHRlcm1pb19pbml0XG4iCisjfiBtc2dzdHIgImtsaehlbSB0ZXJtaW9faW5pdFxuIgorCisjfiBtc2dpZCAid3JpdGluZyBpbml0IHN0cmluZ1xuIgorI34gbXNnc3RyICJ6YXBpc3VqZW0gemHoZXRuaSBuaXpcbiIKKworI34gbXNnaWQgImJlZm9yZSBhdXRvYmF1ZFxuIgorI34gbXNnc3RyICJwcmVkIGF1dG9iYXVkXG4iCisKKyN+IG1zZ2lkICJ3YWl0aW5nIGZvciBjci1sZlxuIgorI34gbXNnc3RyICLoYWthbSBuYSBjci1sZlxuIgorCisjfiBtc2dpZCAicmVhZGluZyBsb2dpbiBuYW1lXG4iCisjfiBtc2dzdHIgImJlcmVtIHByaWphdm5vIGltZVxuIgorCisjfiBtc2dpZCAiYWZ0ZXIgZ2V0b3B0IGxvb3BcbiIKKyN+IG1zZ3N0ciAicG8gZ2V0b3B0IHphbmtpXG4iCisKKyN+IG1zZ2lkICJleGl0aW5nIHBhcnNlYXJnc1xuIgorI34gbXNnc3RyICJ6YWtsanXodWplbSBwcmVnbGVkIGFyZ3VtZW50b3ZcbiIKKworI34gbXNnaWQgImVudGVyZWQgcGFyc2Vfc3BlZWRzXG4iCisjfiBtc2dzdHIgInZzdG9wIHYgcHJlZ2xlZCBoaXRyb3N0aVxuIgorCisjfiBtc2dpZCAiZXhpdGluZyBwYXJzZXNwZWVkc1xuIgorI34gbXNnc3RyICJ6YWtsanXodWplbSBwcmVnbGVkIGhpdHJvc3RpXG4iCisKKyN+IG1zZ2lkICJvcGVuKDIpXG4iCisjfiBtc2dzdHIgIm9wZW4oMilcbiIKKworI34gbXNnaWQgImR1cGluZ1xuIgorI34gbXNnc3RyICJwcmV2YXJhXG4iCisKKyN+IG1zZ2lkICJ0ZXJtX2lvIDJcbiIKKyN+IG1zZ3N0ciAidGVybV9pbyAyXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAvZXRjL3NoZWxsc1xuIgorI34gbXNnc3RyICJPcG96b3JpbG86IFwiJXNcIiBuaSBuYSBzZXpuYW11IHYgL2V0Yy9zaGVsbHNcbiIKKworI34gbXNnaWQgInRpbWVvdXQgPSAlZCwgcXVpZXQgPSAlZCwgcmVib290ID0gJWRcbiIKKyN+IG1zZ3N0ciAi6GFzb3ZuYSBvbWVqaXRldiA9ICVkLCB0ablpbmEgPSAlZCwgcG9ub3ZuaSB6YWdvbiA9ICVkXG4iCisKKyN+IG1zZ2lkICJjb3VsZG4ndCByZWFkICVzLCBhbmQgY2Fubm90IGlvY3RsIGR1bXBcbiIKKyN+IG1zZ3N0ciAibm8gbW9nb+hlIGJyYXRpICVzIGluIG5pIG1vZ2/oZSBkb2JpdGkgaXpwaXNhIGlvY3RsXG4iCisKKyN+IG1zZ2lkICIsIG9mZnNldCAlbGxkIgorI34gbXNnc3RyICIsIG9kbWlrICVsbGQiCisKKyN+IG1zZ2lkICIlczogY291bGQgbm90IGZpbmQgYW55IGRldmljZSAvZGV2L2xvb3AjIgorI34gbXNnc3RyICIlczogbmFwcmF2ZSAvZGV2L2xvb3AjIG5pIG1vZ2/oZSBuYWp0aSIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgJXMgLWEgWy1lXSBbLXZdXG4iCisjfiAiICAgICAgICVzIFstdl0gWy1wIHByaW9yaXR5XSBzcGVjaWFsfExBQkVMPXZvbHVtZV9uYW1lIC4uLlxuIgorI34gIiAgICAgICAlcyBbLXNdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJ1cG9yYWJhOiAlcyBbLWhWXVxuIgorI34gIlx0ICAlcyAtYSBbLWVdIFstdl1cbiIKKyN+ICJcdCAgJXMgWy12XSBbLXAgcHJlZG5vc3RdIHBvc2VibmFfZGF0fExBQkVMPW9ic2Vnb3ZvX2ltZSAuLi5cbiIKKyN+ICJcdCAgJXMgWy1zXVxuIgorCisjfiBtc2dpZCAiIgorI34gInVzYWdlOiAlcyBbLWhWXVxuIgorI34gIiAgICAgICAlcyAtYSBbLXZdXG4iCisjfiAiICAgICAgICVzIFstdl0gc3BlY2lhbCAuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gInVwb3JhYmE6ICVzIFstaFZdXG4iCisjfiAiXHQgICVzIC1hIFstdl1cbiIKKyN+ICJcdCAgJXMgWy12XSBwb3NlYm5hX2RhdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYW5ub3QgY2Fub25pY2FsaXplICVzOiAlc1xuIgorI34gbXNnc3RyICIlczogJXMgbmkgbW9nb+hlIG9kcHJldGk6ICVzXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogcmVuaWNlIHByaW9yaXR5IFsgWyAtcCBdIHBpZHMgXSBbIFsgLWcgXSBwZ3JwcyBdIFsgWyAtdSBdIHVzZXJzIF1cbiIKKyN+IG1zZ3N0ciAidXBvcmFiYTogcmVuaWNlIHByaW9yaXRldGEgWyBbIC1wIF0gcGlkLWkgXSBbIFsgLWcgXSBwc2t1cCBdIFsgWyAtdSBdIHVwb3JhYm5pa2kgXVxuIgorCisjfiBtc2dpZCAiRXhjZWVkZWQgTUFYRU5UUklFUy4gIFJhaXNlIHRoaXMgdmFsdWUgaW4gbWtjcmFtZnMuYyBhbmQgcmVjb21waWxlLiAgRXhpdGluZy5cbiIKKyN+IG1zZ3N0ciAiUHJla29yYehlbiBNQVhFTlRSSUVTLiBQb3Zl6GFqdGUgdG9wIHZyZWRub3N0IHYgbWtjcmFtZnMgaW4gcG9ub3ZubyBwcmV2ZWRpdGUuIEtvbuh1amVtLlxuIgorCisjfiBtc2dpZCAiQXNzdW1pbmcgcGFnZXMgb2Ygc2l6ZSAlZCAobm90ICVkKVxuIgorI34gbXNnc3RyICJQcml2emVtYW1vIHN0cmFuaSB2ZWxpa29zdGkgJWQgKGluIG5lICVkKVxuIgorCisjfiBtc2dpZCAiQXV0b2NvbmZpZ3VyZSBmb3VuZCBhICVzJXMlc1xuIgorI34gbXNnc3RyICJTYW1vemF6bmF2YSBqZSBuYblsYTogJXMlcyVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRHJpdmUgdHlwZVxuIgorI34gIiAgID8gICBhdXRvIGNvbmZpZ3VyZVxuIgorI34gIiAgIDAgICBjdXN0b20gKHdpdGggaGFyZHdhcmUgZGV0ZWN0ZWQgZGVmYXVsdHMpIgorI34gbXNnc3RyICIiCisjfiAiVGlwIHBvZ29uYVxuIgorI34gIiAgPyAgIHNhbW96YXpuYXZhXG4iCisjfiAiICAwICAgcG8gbWVyaSAocyBwcml2emV0aW1pIGl6YmlyYW1pIHNhbW96YXpuYXZlKSIKKworI34gbXNnaWQgIlNlbGVjdCB0eXBlICg/IGZvciBhdXRvLCAwIGZvciBjdXN0b20pOiAiCisjfiBtc2dzdHIgIkl6YmVyaXRlIHRpcCAoPyB6YSBzYW1vemF6bmF2bywgMCB6YSBwbyBtZXJpKTogIgorCisjfiBtc2dpZCAiWW91IG1heSBjaGFuZ2UgYWxsIHRoZSBkaXNrIHBhcmFtcyBmcm9tIHRoZSB4IG1lbnUiCisjfiBtc2dzdHIgIlZzZSBkaXNrb3ZuZSBwYXJhbWV0cmUgbGFoa28gc3ByZW1lbml0ZSB2IG1lbmlqdSB4IgorCisjfiBtc2dpZCAiMyw1XCIgZmxvcHB5IgorI34gbXNnc3RyICIzLDVcIiBtZWhraSBkaXNrIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIGZyb20gdXRpbC1saW51eC0lc1xuIgorI34gbXNnc3RyICIlcyBvZCB1dGlsLWxpbnV4LSVzXG4iCisKKyN+IG1zZ2lkICIlczogZXJyb3I6IHRoZSBsYWJlbCAlcyBvY2N1cnMgb24gYm90aCAlcyBhbmQgJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IG5hcGFrYTogb3puYWthICVzIHNlIHBvamF2aSBuYSAlcyBpbiAlc1xuIgorCisjfiBtc2dpZCAiJXM6IGNvdWxkIG5vdCBvcGVuICVzLCBzbyBVVUlEIGFuZCBMQUJFTCBjb252ZXJzaW9uIGNhbm5vdCBiZSBkb25lLlxuIgorI34gbXNnc3RyICIlczogJXMgbmkgbW9nb+hlIG9kcHJldGksIHphdG8gcHJldHZvcmJhIG1lZCBVVUlEIGluIE9aTkFLQSBuaSBtb2dv6GEuXG4iCisKKyN+IG1zZ2lkICIlczogYmFkIFVVSUQiCisjfiBtc2dzdHIgIiVzOiBwb7lrb2RvdmFuIFVVSUQiCisKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHdpdGggbmZzIG1vdW50IHZlcnNpb24gNCwgdHJ5aW5nIDMuLlxuIgorI34gbXNnc3RyICJtb3VudDogbmZzIHByaWtsb3AgbmkgdXNwZWwgeiByYXpsaehpY28gNCwgcG9za3W5YW0gcyAzLi5cbiIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudGluZyAlc1xuIgorI34gbXNnc3RyICJtb3VudDogcHJpa2xhcGxqYSBzZSAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIHdoaWxlIGd1ZXNzaW5nIGZpbGVzeXN0ZW0gdHlwZVxuIgorI34gbXNnc3RyICJtb3VudDogcHJpIHVnaWJhbmp1IHZyc3RlIGRhdC4gc2lzdC4gamUgcHJpuWxvIGRvIG5hcGFrZVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGV4Y2Vzc2l2ZWx5IGxvbmcgaG9zdDpkaXIgYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGl6YmlyYSBnb3N0aXRlbGo6aW1lbmlrIGplIHByZWRvbGdhXG4iCisKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogbXVsdGlwbGUgaG9zdG5hbWVzIG5vdCBzdXBwb3J0ZWRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG9wb3pvcmlsbzogdmXoa3JhdG5hIGltZW5hIGdvc3RpdGVsamV2IG5pc28gcG9kcHJ0YVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGRpcmVjdG9yeSB0byBtb3VudCBub3QgaW4gaG9zdDpkaXIgZm9ybWF0XG4iCisjfiBtc2dzdHIgIm1vdW50OiBwcmlrbG9wbmkgaW1lbmlrIG5pIG9ibGlrZSBnb3N0aXRlbGo6aW1lbmlrXG4iCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3QgZ2V0IGFkZHJlc3MgZm9yICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiB6YSAlcyBuaSBtb2dv6GUgZG9iaXRpIG5hc2xvdmFcbiIKKworI34gbXNnaWQgIm1vdW50OiBnb3QgYmFkIGhwLT5oX2xlbmd0aFxuIgorI34gbXNnc3RyICJtb3VudDogcG+5a29kb3ZhbiBocC0+aF9sZW5ndGhcbiIKKworI34gbXNnaWQgIm1vdW50OiBleGNlc3NpdmVseSBsb25nIG9wdGlvbiBhcmd1bWVudFxuIgorI34gbXNnc3RyICJtb3VudDogcHJlZG9sZyBwYXJhbWV0ZXIgaXpiaXJlXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBVbnJlY29nbml6ZWQgcHJvdG89IG9wdGlvbi5cbiIKKyN+IG1zZ3N0ciAiT3Bvem9yaWxvOiBpemJpcmEgcHJvdG89IGplIG5lem5hbmEuXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIG5mcyBtb3VudCBwYXJhbWV0ZXI6ICVzPSVkXG4iCisjfiBtc2dzdHIgInByaWtsb3BuaSBwYXJhbWV0ZXIgbmZzIGplIG5lem5hbjogJXM9JWRcbiIKKworI34gbXNnaWQgInVua25vd24gbmZzIG1vdW50IG9wdGlvbjogJXMlc1xuIgorI34gbXNnc3RyICJwcmlrbG9wbmEgaXpiaXJhIG5mcyBqZSBuZXpuYW5hOiAlcyVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ290IGJhZCBocC0+aF9sZW5ndGg/XG4iCisjfiBtc2dzdHIgIm1vdW50OiBwb7lrb2RvdmFuIGhwLT5oX2xlbmd0aD9cbiIKKworI34gbXNnaWQgIm5mcyBiaW5kcmVzdnBvcnQiCisjfiBtc2dzdHIgIm5mcyBiaW5kcmVzdnBvcnQiCisKKyN+IG1zZ2lkICJuZnMgc2VydmVyIHJlcG9ydGVkIHNlcnZpY2UgdW5hdmFpbGFibGUiCisjfiBtc2dzdHIgInN0cmW+bmlrIG5mcyBqZSBzcG9yb+hpbCwgZGEgc3Rvcml0ZXYgbmkgZG9zZWdsaml2YSIKKworI34gbXNnaWQgInVzZWQgcG9ydG1hcHBlciB0byBmaW5kIE5GUyBwb3J0XG4iCisjfiBtc2dzdHIgInphIGlza2FuamUgTkZTIHZyYXQgamUgYmlsIHVwb3JhYmxqZW4gcG9ydG1hcHBlclxuIgorCisjfiBtc2dpZCAidXNpbmcgcG9ydCAlZCBmb3IgbmZzIGRlYW1vblxuIgorI34gbXNnc3RyICJ1cG9yYWJsamFqbyBzZSAlZCB2cmF0YSB6YSBkZW1vbmEgbmZzXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIG5mcyBzdGF0dXMgcmV0dXJuIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAibmZzLWpldmEgcG92cmF0bmEgdnJlZG5vc3Qgc3RhbmphIG5pIHpuYW5hOiAlZCAiCisKKyN+IG1zZ2lkICJob3N0OiAlcywgZGlyZWN0b3J5OiAlc1xuIgorI34gbXNnc3RyICJnb3N0aXRlbGo6ICVzLCBpbWVuaWs6ICVzXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbid0IGdldCBhZGRyZXNzIGZvciAlc1xuIgorI34gbXNnc3RyICJ1bW91bnQ6IG5hc2xvdmEgemEgJXMgbmkgbW9nb+hlIGRvYml0aVxuIgorCisjfiBtc2dpZCAidW1vdW50OiBnb3QgYmFkIGhvc3RwLT5oX2xlbmd0aFxuIgorI34gbXNnc3RyICJ1bW91bnQ6IHBvuWtvZG92YW4gaG9zdHAtPmhfbGVuZ3RoXG4iCisKKyN+IG1zZ2lkICIlczogaW52YWxpZCBjcmFtZnMtLWJhZCBwYXRoIGxlbmd0aFxuIgorI34gbXNnc3RyICIlczogbmV2ZWxqYXZlbiBjcmFtZnMgLSBwb7lrb2RvdmFuYSBkb2y+aW5hIHBvdGlcbiIKKworI34gbXNnaWQgIiVzOiBpbnZhbGlkIGNyYW1mcy0td3JvbmcgbWFnaWNcbiIKKyN+IG1zZ3N0ciAiJXM6IG5ldmVsamF2ZW4gY3JhbWZzIC0gbmFwYehlbiB0aXAgZGF0b3Rla2VcbiIKKworI34gbXNnaWQgIiVzOiB3YXJuaW5nLS1maWxlIGxlbmd0aCB0b28gbG9uZywgcGFkZGVkIGltYWdlP1xuIgorI34gbXNnc3RyICIlczogb3Bvem9yaWxvIC0gZG9svmluYSBkYXRvdGVrZSBqZSBwcmVkb2xnYSwgZG9wb2xuamVuYSBzbGlrYT9cbiIKKworI34gbXNnaWQgIiVzOiBpbnZhbGlkIGNyYW1mcy0tY3JjIGVycm9yXG4iCisjfiBtc2dzdHIgIiVzOiBuZXZlbGphdmVuIGNyYW1mcyAtIG5hcGFrYSB2IG5hZHpvcm5pIHZzb3RpXG4iCisKKyN+IG1zZ2lkICIlczogaW52YWxpZCBjcmFtZnMtLWJhZCBzdXBlcmJsb2NrXG4iCisjfiBtc2dzdHIgIiVzOiBuZXZlbGphdmVuIGNyYW1mcyAtIHBvuWtvZG92YW4gc3VwZXJibG9rXG4iCisKKyN+IG1zZ2lkICIlczogbm90IGNvbXBpbGVkIHdpdGggbWluaXggdjIgc3VwcG9ydFxuIgorI34gbXNnc3RyICIlczogbmkgcHJldmVkZW5vIHMgcG9kcG9ybyB6YSBNaW5peCB2MlxuIgorCisjfiBtc2dpZCAiU3ludGF4IGVycm9yOiAnJXMnXG4iCisjfiBtc2dzdHIgIlNrbGFkZW5qc2thIG5hcGFrYTogLCVzYFxuIgorCisjfiBtc2dpZCAiICAgJXMgWyAtcCBdIGRldiBuYW1lXG4iCisjfiBtc2dzdHIgIiAgICVzIFsgLXAgXSBlbm90YSBpbWVcbiIKKworI34gbXNnaWQgIiAgICVzIFsgLXAgXSBkZXYgc2l6ZSBzZWN0IGhlYWRzIHRyYWNrcyBzdHJldGNoIGdhcCByYXRlIHNwZWMxIGZtdF9nYXBcbiIKKyN+IG1zZ3N0ciAiICAgJXMgWyAtcCBdIGVub3RhIHZlbCBzZWt0IGdsYXYgc3RleiByYXp0ZWcgcHJlc2wgc3RvcG5qYSBzcGVjMSBmbXRfZ2FwXG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1jIHwgLXkgfCAtbiB8IC1kIF0gZGV2XG4iCisjfiBtc2dzdHIgIiAgICVzIFsgLWMgfCAteSB8IC1uIHwgLWQgXSBlbm90YVxuIgorCisjfiBtc2dpZCAiICAgJXMgWyAtYyB8IC15IHwgLW4gXSBkZXZcbiIKKyN+IG1zZ3N0ciAiICAgJXMgWyAtYyB8IC15IHwgLW4gXSBlbm90YVxuIgorCisjfiBtc2dpZCAiTm9uZSAoJTAyWCkiCisjfiBtc2dzdHIgIkJyZXogKCUwMlgpIgorCisjfiBtc2dpZCAiIgorI34gIlRvbyBtYW55IHVzZXJzIGxvZ2dlZCBvbiBhbHJlYWR5LlxuIgorI34gIlRyeSBhZ2FpbiBsYXRlci5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlByaWphdmxqZW5paCBqZSC+ZSBwcmV2ZeggdXBvcmFibmlrb3YuXG4iCisjfiAiUG9za3VzaXRlIHBvem5lamUuXG4iCisKKyN+IG1zZ2lkICJZb3UgaGF2ZSB0b28gbWFueSBwcm9jZXNzZXMgcnVubmluZy5cbiIKKyN+IG1zZ3N0ciAiSGtyYXRpIHRl6GUgcHJldmXoIHZhuWloIHByb2Nlc292LlxuIgorCisjfiBtc2dpZCAiVGhlIHBhc3N3b3JkIG11c3QgaGF2ZSBhdCBsZWFzdCA2IGNoYXJhY3RlcnMsIHRyeSBhZ2Fpbi5cbiIKKyN+IG1zZ3N0ciAiR2VzbG8gbW9yYSBiaXRpIGRvbGdvIHZzYWogNiB6bmFrb3YsIHBvc2t1c2l0ZSC5ZSBlbmtyYXQuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIHBhc3N3b3JkIG11c3QgY29udGFpbiBjaGFyYWN0ZXJzIG91dCBvZiB0d28gb2YgdGhlIGZvbGxvd2luZ1xuIgorI34gImNsYXNzZXM6ICB1cHBlciBhbmQgbG93ZXIgY2FzZSBsZXR0ZXJzLCBkaWdpdHMgYW5kIG5vbiBhbHBoYW51bWVyaWNcbiIKKyN+ICJjaGFyYWN0ZXJzLiBTZWUgcGFzc3dkKDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiR2VzbG8gbW9yYSB2c2Vib3ZhdGkgdGFrbyDocmtlICh2ZWxpa2UgYWxpIG1hbGUpLCBrb3QguXRldmtlIGFsaSBkcnVnZVxuIgorI34gIm5lLWFsZmFudW1lcmnobmUgem5ha2UuIEl66HJwbmVquWEgbmF2b2RpbGEgc28gbmEgdm9sam8gdiBwYXNzd2QoMSkuXG4iCisKKyN+IG1zZ2lkICJZb3UgY2Fubm90IHJldXNlIHRoZSBvbGQgcGFzc3dvcmQuXG4iCisjfiBtc2dzdHIgIlN0YXJlZ2EgZ2VzbGEgbmUgbW9yZXRlIHpub3ZhIHVwb3JhYml0aS5cbiIKKworI34gbXNnaWQgIlBsZWFzZSBkb24ndCB1c2Ugc29tZXRoaW5nIGxpa2UgeW91ciB1c2VybmFtZSBhcyBwYXNzd29yZCFcbiIKKyN+IG1zZ3N0ciAiUHJvc2ltLCBkYSB6YSBnZXNsbyBuZSB1cG9yYWJsamF0ZSB1cG9yYWJuablrZWdhIGltZW5hLlxuIgorCisjfiBtc2dpZCAiUGxlYXNlIGRvbid0IHVzZSBzb21ldGhpbmcgbGlrZSB5b3VyIHJlYWxuYW1lIGFzIHBhc3N3b3JkIVxuIgorI34gbXNnc3RyICJQcm9zaW0sIGRhIHphIGdlc2xvIG5lIHVwb3JhYmxqYXRlIHZhuWVnYSBpbWVuYS5cbiIKKworI34gbXNnaWQgIlVzYWdlOiBwYXNzd2QgW3VzZXJuYW1lIFtwYXNzd29yZF1dXG4iCisjfiBtc2dzdHIgIlVwb3JhYmE6IHBhc3N3ZCBbdXBvcmFibmlrIFtnZXNsb11dXG4iCisKKyN+IG1zZ2lkICJPbmx5IHJvb3QgbWF5IHVzZSB0aGUgb25lIGFuZCB0d28gYXJndW1lbnQgZm9ybXMuXG4iCisjfiBtc2dzdHIgIlNhbW8gc2lzdGVtc2tpIHNrcmJuaWsgbGFoa28gdXByYWJsamEgb2JsaWtvIHogZW5pbSBhbGkgZHZlbWEgYXJndW1lbnRvbWEuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogcGFzc3dkIFstZm9xc3ZWXSBbdXNlciBbcGFzc3dvcmRdXVxuIgorI34gbXNnc3RyICJVcG9yYWJhOiBwYXNzd2QgWy1mb3FzdlZdIFt1cG9yYWJuaWsgW2dlc2xvXV1cbiIKKworI34gbXNnaWQgIkNhbm5vdCBmaW5kIGxvZ2luIG5hbWUiCisjfiBtc2dzdHIgIlByaWphdm5lZ2EgaW1lbmEgbmkgbW/oIG5hanRpIgorCisjfiBtc2dpZCAiT25seSByb290IGNhbiBjaGFuZ2UgdGhlIHBhc3N3b3JkIGZvciBvdGhlcnMuXG4iCisjfiBtc2dzdHIgIlNhbW8gc2lzdGVtc2tpIHNrcmJuaWsgbGFoa28gc3ByZW1pbmphIGdlc2xhIGRydWdpaCB1cG9yYWJuaWtvdi5cbiIKKworI34gbXNnaWQgIkNhbid0IGZpbmQgdXNlcm5hbWUgYW55d2hlcmUuIElzIGAlcycgcmVhbGx5IGEgdXNlcj8iCisjfiBtc2dzdHIgIlVwb3JhYm5puWtlZ2EgaW1lbmEgbmkgbW/oIG5hanRpLiBKZSAsJXNgIHJlcyB1cG9yYWJuaWs/IgorCisjfiBtc2dpZCAiU29ycnksIEkgY2FuIG9ubHkgY2hhbmdlIGxvY2FsIHBhc3N3b3Jkcy4gVXNlIHlwcGFzc3dkIGluc3RlYWQuIgorI34gbXNnc3RyICJTIHRlbSB1a2F6b20gbGFoa28gc3ByZW1pbmphdGUgc2FtbyBsb2thbG5hIGdlc2xhLiBVcG9yYWJpdGUgeXBwYXNzd2QuIgorCisjfiBtc2dpZCAiVUlEIGFuZCB1c2VybmFtZSBkb2VzIG5vdCBtYXRjaCwgaW1wb3N0ZXIhIgorI34gbXNnc3RyICJVSUQgaW4gdXBvcmFibmm5a28gaW1lIHNlIG5lIHVqZW1hdGEiCisKKyN+IG1zZ2lkICJDaGFuZ2luZyBwYXNzd29yZCBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAiU3ByZW1pbmphbW8gZ2VzbG8gemEgJXNcbiIKKworI34gbXNnaWQgIklsbGVnYWwgcGFzc3dvcmQsIGltcG9zdGVyLiIKKyN+IG1zZ3N0ciAiR2VzbG8gbmkgdmVsamF2bm8uIgorCisjfiBtc2dpZCAiRW50ZXIgbmV3IHBhc3N3b3JkOiAiCisjfiBtc2dzdHIgIlZuZXNpdGUgbm92byBnZXNsbzogIgorCisjfiBtc2dpZCAiUmUtdHlwZSBuZXcgcGFzc3dvcmQ6ICIKKyN+IG1zZ3N0ciAiUG9ub3ZubyB2bmVzaXRlIG5vdm8gZ2VzbG86ICIKKworI34gbXNnaWQgIllvdSBtaXNzcGVsbGVkIGl0LiBQYXNzd29yZCBub3QgY2hhbmdlZC4iCisjfiBtc2dzdHIgIkdlc2xpIHNlIG5lIHVqZW1hdGEuIEdlc2xvIG5pIGJpbG8gc3ByZW1lbmplbm8uIgorCisjfiBtc2dpZCAiUk9PVCBQQVNTV09SRCBDSEFOR0VEIgorI34gbXNnc3RyICJTS1JCTkmpS08gR0VTTE8gU1BSRU1FTkpFTk8iCisKKyN+IG1zZ2lkICJwYXNzd29yZCBjaGFuZ2VkIGJ5IHJvb3QsIHVzZXIgJXMiCisjfiBtc2dzdHIgImdlc2xvIHNwcmVtZW5pbCBza3JibmlrLCB1cG9yYWJuaWsgJXMiCisKKyN+IG1zZ2lkICJQYXNzd29yZCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLlxuIgorI34gbXNnc3RyICJHZXNsbyBOSSBCSUxPIHNwcmVtZW5qZW5vLiBQb3NrdXNpdGUgcG96bmVqZS5cbiIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gaGVscCBmaWxlIgorI34gbXNnc3RyICJEYXRvdGVrZSBzIHBvbW/oam8gbmkgbW9nb+hlIG9kcHJldGkiCmRpZmYgLS1naXQgYS9wby9zdi5wbyBiL3BvL3N2LnBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3OGVlMzUKLS0tIC9kZXYvbnVsbAorKysgYi9wby9zdi5wbwpAQCAtMCwwICsxLDIyMjc3IEBACisjIFN3ZWRpc2ggbWVzc2FnZXMgZm9yIHV0aWwtbGludXguCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UuCisjIENvcHlyaWdodCDCqSAyMDAxLCAyMDAyLCAyMDAzLCAyMDA0LCAyMDA3LCAyMDE2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBDaHJpc3RpYW4gUm9zZSA8bWVudGhvc0BtZW50aG9zLmNvbT4sIDIwMDEsIDIwMDIsIDIwMDMsIDIwMDQuCisjIERhbmllbCBOeWxhbmRlciA8cG9AZGFuaWVsbnlsYW5kZXIuc2U+LCAyMDA3LgorIyBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAZ21haWwuY29tPiwgMjAxNi4KKyMKKyMgUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGZyZWVseSBjb3B5IGFuZCBkaXN0cmlidXRlCisjIHRoaXMgZmlsZSBhbmQgbW9kaWZpZWQgdmVyc2lvbnMsIHByb3ZpZGVkIHRoYXQgdGhpcworIyBoZWFkZXIgaXMgbm90IHJlbW92ZWQgYW5kIG1vZGlmaWVkIHZlcnNpb25zIGFyZSBtYXJrZWQKKyMgYXMgc3VjaC4KKyMKK21zZ2lkICIiCittc2dzdHIgIiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IHV0aWwtbGludXggMi4yOS1yYzJcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogdXRpbC1saW51eEB2Z2VyLmtlcm5lbC5vcmdcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNy0wMi0yMiAxMjozMiswMTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxNi0xMC0yMyAxMjozOCswODAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAZ21haWwuY29tPlxuIgorIkxhbmd1YWdlLVRlYW06IFN3ZWRpc2ggPHRwLXN2QGxpc3Rvci50cC1zdi5zZT5cbiIKKyJMYW5ndWFnZTogc3ZcbiIKKyJNSU1FLVZlcnNpb246IDEuMFxuIgorIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOFxuIgorIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKyJYLUJ1Z3M6IFJlcG9ydCB0cmFuc2xhdGlvbiBlcnJvcnMgdG8gdGhlIExhbmd1YWdlLVRlYW0gYWRkcmVzcy5cbiIKKyJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiAhPSAxKTtcbiIKKyJYLUdlbmVyYXRvcjogUG9lZGl0IDEuOC44XG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8c3RhcnQ+IDxsZW5ndGg+XG4iCittc2dzdHIgIiAlcyA8ZGlza2VuaGV0PiA8cGFydGl0aW9uc251bW1lcj4gPHN0YXJ0PiA8bMOkbmdkPlxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxOAorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgZXhpc3RlbmNlIG9mIGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiU8OkZyB0aWxsIGvDpHJuYW4gb20gYXR0IGVuIGFuZ2l2ZW4gcGFydGl0aW9uIGV4aXN0ZXJhci5cbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTYgZGlzay11dGlscy9ibG9ja2Rldi5jOjI3NiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDIwCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDQ2IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzNCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1NworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNyBkaXNrLXV0aWxzL2ZkaXNrLmM6NzE4IGRpc2stdXRpbHMvZmRpc2suYzo5OTQKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjMwMSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNDEKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM2MCBkaXNrLXV0aWxzL2ZzY2suYzoxNDQ4CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTU1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTAKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEzNCBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg5CisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTczIGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjEKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODggZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE5CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIxNSBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NCBkaXNrLXV0aWxzL3BhcnR4LmM6OTk0CisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDEgZGlzay11dGlscy9zZmRpc2suYzo2NDcgZGlzay11dGlscy9zZmRpc2suYzo3MDMKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzU3IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODE2IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODgwCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkyMSBkaXNrLXV0aWxzL3NmZGlzay5jOjk1MSBkaXNrLXV0aWxzL3NmZGlzay5jOjk4OAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTM3IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjAgbGliZmRpc2svc3JjL2JzZC5jOjY0MQorIzogbGliL3BhdGguYzo3MCBsaWIvcGF0aC5jOjgyIGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo4NyBsb2dpbi11dGlscy9sYXN0LmM6NjcyCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDQ2IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0ODMKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzU5CisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4MSBsb2dpbi11dGlscy92aXB3LmM6MjU4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzYKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOTcgbWlzYy11dGlscy9sb2dnZXIuYzoxMTg4IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjExNQorIzogbWlzYy11dGlscy91dWlkZC5jOjIwNyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4MyBzeXMtdXRpbHMvZG1lc2cuYzo1MjIKKyM6IHN5cy11dGlscy9lamVjdC5jOjUwMCBzeXMtdXRpbHMvZWplY3QuYzo3MDAgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM3NAorIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTI4IHN5cy11dGlscy9mc3RyaW0uYzo3MiBzeXMtdXRpbHMvaHdjbG9jay5jOjI4MgorIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjYzOCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxNjIKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI1NiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDEKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQyMiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NjkKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM4OCBzeXMtdXRpbHMvbnNlbnRlci5jOjEyOCBzeXMtdXRpbHMvcnRjd2FrZS5jOjEzNgorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyNzAgc3lzLXV0aWxzL3NldHByaXYuYzoyMzAgc3lzLXV0aWxzL3NldHByaXYuYzo1MjkKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTUyIHN5cy11dGlscy9zd2Fwb24uYzozNzEgc3lzLXV0aWxzL3N3YXBvbi5jOjUxNAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTYzIHN5cy11dGlscy91bnNoYXJlLmM6MTA2IHN5cy11dGlscy91bnNoYXJlLmM6MTIxCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjEgc3lzLXV0aWxzL3dkY3RsLmM6Mzc3IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYxOAorIzogdGVybS11dGlscy9tZXNnLmM6MTI3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDI1IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDMxCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQzMyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjUyMgorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxOTcgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMDAKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjMzMSB0ZXh0LXV0aWxzL2NvbGNydC5jOjI4MiB0ZXh0LXV0aWxzL21vcmUuYzo1MTMKKyM6IHRleHQtdXRpbHMvcmV2LmM6MTQxIHRleHQtdXRpbHMvdGFpbGYuYzo2OCB0ZXh0LXV0aWxzL3RhaWxmLmM6MTAwCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJrYW4gaW50ZSDDtnBwbmEgJXMiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjU5IGRpc2stdXRpbHMvZGVscGFydC5jOjYwIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjk4Cittc2dpZCAiaW52YWxpZCBwYXJ0aXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICJvZ2lsdGlndCBwYXJ0aXRpb25zbnVtbWVyYXJndW1lbnQiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYwCittc2dpZCAiaW52YWxpZCBzdGFydCBhcmd1bWVudCIKK21zZ3N0ciAib2dpbHRpZ3Qgc3RhcnRhcmd1bWVudCIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjEgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA4Cittc2dpZCAiaW52YWxpZCBsZW5ndGggYXJndW1lbnQiCittc2dzdHIgIm9naWx0aWd0IGzDpG5nZGFyZ3VtZW50IgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MgorbXNnaWQgImZhaWxlZCB0byBhZGQgcGFydGl0aW9uIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBsw6RnZ2EgdGlsbCBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo2MworbXNnaWQgInNldCByZWFkLW9ubHkiCittc2dzdHIgInN0w6RsbCBpbiBzb20gc2tyaXZza3lkZGFkIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzAKK21zZ2lkICJzZXQgcmVhZC13cml0ZSIKK21zZ3N0ciAic3TDpGxsIGluIHNvbSBsw6RzIG9jaCBza3JpdiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjc2Cittc2dpZCAiZ2V0IHJlYWQtb25seSIKK21zZ3N0ciAiaMOkbXRhIHNrcml2c2t5ZGRhZCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjgyCittc2dpZCAiZ2V0IGRpc2NhcmQgemVyb2VzIHN1cHBvcnQgc3RhdHVzIgorbXNnc3RyICJow6RtdGEgc3RhdHVzIGbDtnIgbm9sbGthc3NlcmluZ3NzdMO2ZCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjg4Cittc2dpZCAiZ2V0IGxvZ2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAiaMOkbXRhIGxvZ2lzayBibG9ja3N0b3JsZWsgKHNla3RvcnN0b3JsZWspIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6OTQKK21zZ2lkICJnZXQgcGh5c2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAiaMOkbXRhIGZ5c2lzayBibG9ja3N0b3JsZWsgKHNla3RvcnN0b3JsZWspIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTAwCittc2dpZCAiZ2V0IG1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgImjDpG10YSBtaW5zdGEgSS9PLXN0b3JsZWsiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDYKK21zZ2lkICJnZXQgb3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAiaMOkbXRhIG9wdGltYWwgSS9PLXN0b3JsZWsiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTIKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAiaMOkbXRhIGp1c3RlcmluZ3Nwb3NpdGlvbiBpIGJ5dGUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTgKK21zZ2lkICJnZXQgbWF4IHNlY3RvcnMgcGVyIHJlcXVlc3QiCittc2dzdHIgImjDpG10YSBtYXhpbWFsdCBhbnRhbCBzZWt0b3JlciBwZXIgYmVnw6RyYW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMjQKK21zZ2lkICJnZXQgYmxvY2tzaXplIgorbXNnc3RyICJow6RtdGEgYmxvY2tzdG9ybGVrIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTMxCittc2dpZCAic2V0IGJsb2Nrc2l6ZSBvbiBmaWxlIGRlc2NyaXB0b3Igb3BlbmluZyB0aGUgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJzdMOkbGwgaW4gYmxvY2tzdG9ybGVrIGbDtnIgZmlsZGVza3JpcHRvcm4gc29tIMO2cHBuYXIgYmxvY2tlbmhldGVuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTM3Cittc2dpZCAiZ2V0IDMyLWJpdCBzZWN0b3IgY291bnQgKGRlcHJlY2F0ZWQsIHVzZSAtLWdldHN6KSIKK21zZ3N0ciAiaMOkbXRhIDMyLWJpdGFycyBzZWt0b3JhbnRhbCAoZsO2csOlbGRyYXQsIGFudsOkbmQgLS1nZXRzeikiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNDMKK21zZ2lkICJnZXQgc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAiaMOkbXRhIHN0b3JsZWsgaSBieXRlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTUwCittc2dpZCAic2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAic3TDpGxsIGluIGbDtnJpbmzDpHNuaW5nIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTU2Cittc2dpZCAiZ2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAiaMOkbXRhIGbDtnJpbmzDpHNuaW5nIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTYzCittc2dpZCAic2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICJzdMOkbGwgaW4gZsO2cmlubMOkc25pbmcgZsO2ciBmaWxzeXN0ZW0iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjkKK21zZ2lkICJnZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgImjDpG10YSBmw7ZyaW5sw6RzbmluZyBmw7ZyIGZpbHN5c3RlbSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3MworbXNnaWQgImZsdXNoIGJ1ZmZlcnMiCittc2dzdHIgInTDtm0gYnVmZmVydGFyIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTc3Cittc2dpZCAicmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAibMOkcyBvbSBwYXJ0aXRpb25zdGFiZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlMSRzIC1WXG4iCisiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisiXG4iCisiQXZhaWxhYmxlIGNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisiXG4iCisiQW52w6RuZG5pbmc6XG4iCisiICUxJHMgLVZcbiIKKyIgJTEkcyAtLXJlcG9ydCBbZW5oZXRlcl1cbiIKKyIgJTEkcyBbLXZ8LXFdIGtvbW1hbmRvbiBlbmhldGVyXG4iCisiXG4iCisiVGlsbGfDpG5nbGlnYSBrb21tYW5kb246XG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICUtMjVzIGdldCBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnNcbiIKK21zZ3N0ciAiICUtMjVzIGjDpG10YSBzdG9ybGVrIGkgNTEyLWJ5dGUgc2VrdG9yZXJcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMxMQorbXNnaWQgImNvdWxkIG5vdCBnZXQgZGV2aWNlIHNpemUiCittc2dzdHIgImt1bmRlIGludGUgaMOkbXRhIGVuaGV0c3N0b3JsZWsiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjb21tYW5kOiAlcyIKK21zZ3N0ciAiT2vDpG50IGtvbW1hbmRvOiAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXMga3LDpHZlciBldHQgYXJndW1lbnQiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNjggZGlzay11dGlscy9ibG9ja2Rldi5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiaW9jdGwtZmVsIHDDpSAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQuXG4iCittc2dzdHIgIiVzIG1pc3NseWNrYWRlcy5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIiVzIGx5Y2thZGVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzeXNmcyBoYW5kbGVyIgorbXNnc3RyICIlczogbWlzc2x5Y2thZGVzIG1lZCBhdHQgaW5pdGllcmEgc3lzZnMtaGFudGVyYXJlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gc3RhcnQgZnJvbSBzeXNmcyIKK21zZ3N0ciAiJXM6IG1pc3NseWNrYWRlcyBtZWQgYXR0IGzDpHNhIHBhcnRpdGlvbnNzdGFydCBmcsOlbiBzeXNmcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICJSTyAgICBSQSAgIFNTWiAgIEJTWiAgIFN0YXJ0U2VjICAgICAgICAgICAgU2l6ZSAgIERldmljZVxuIgorbXNnc3RyICJSTyAgICBSQSAgIFNTWiAgIEJTWiAgIFN0YXJ0c2VrdG9yICBTdG9ybGVrIEVuaGV0XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTc5Cittc2dpZCAiQm9vdGFibGUiCittc2dzdHIgIlN0YXJ0YmFyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3OQorbXNnaWQgIlRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiU2zDpSBww6UvYXYgc3RhcnRiYXJoZXRzZmxhZ2dhbiBww6UgYWt0dWVsbCBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgwCittc2dpZCAiRGVsZXRlIgorbXNnc3RyICJUYSBib3J0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MAorbXNnaWQgIkRlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIlRhIGJvcnQgYWt0dWVsbCBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgxCittc2dpZCAiTmV3IgorbXNnc3RyICJOeSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODEKK21zZ2lkICJDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIlNrYXBhIG55IHBhcnRpdGlvbiBmcsOlbiBsZWRpZ3QgdXRyeW1tZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODIKK21zZ2lkICJRdWl0IgorbXNnc3RyICJBdnNsdXRhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MgorbXNnaWQgIlF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgY2hhbmdlcyIKK21zZ3N0ciAiQXZzbHV0YSBwcm9ncmFtbWV0IHV0YW4gYXR0IHNrcml2YSBmw7Zyw6RuZHJpbmdhciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODMgbGliZmRpc2svc3JjL2JzZC5jOjQzOSBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMAorIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDYgbGliZmRpc2svc3JjL2dwdC5jOjI5MTYgbGliZmRpc2svc3JjL3NnaS5jOjExNjAKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE2Cittc2dpZCAiVHlwZSIKK21zZ3N0ciAiVHlwIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MworbXNnaWQgIkNoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIsOEbmRyYSBwYXJ0aXRpb25zdHlwZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0Cittc2dpZCAiSGVscCIKK21zZ3N0ciAiSGrDpGxwIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NAorbXNnaWQgIlByaW50IGhlbHAgc2NyZWVuIgorbXNnc3RyICJWaXNhIGhqw6RscHNrw6RybSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODUKK21zZ2lkICJTb3J0IgorbXNnc3RyICJTb3J0ZXJhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NQorbXNnaWQgIkZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICJGaXhhIHBhcnRpdGlvbnNvcmRuaW5nZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiV3JpdGUiCittc2dzdHIgIlNrcml2IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIldyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSkiCittc2dzdHIgIlNrcml2IHBhcnRpdGlvbnN0YWJlbGxlbiB0aWxsIGRpc2sgKGRldHRhIGthbiBmw7Zyc3TDtnJhIGRhdGEpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworbXNnaWQgIkR1bXAiCittc2dzdHIgIkR1bXBhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworbXNnaWQgIkR1bXAgcGFydGl0aW9uIHRhYmxlIHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICJEdW1wYSBwYXJ0aXRpb25zdGFiZWxsZW4gdGlsbCBlbiBzZmRpc2sta29tcGF0aWJlbCBza3JpcHRmaWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6NjIwIGRpc2stdXRpbHMvZmRpc2suYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVuc3VwcG9ydGVkIGRpYWxvZyB0eXBlICVkIgorbXNnc3RyICJpbnRlcm50IGZlbDogZGlhbG9ndHlwICVkIHN0w7ZkcyBlaiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChtb3VudGVkKSIKK21zZ3N0ciAiJXMgKG1vbnRlcmFkKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjc0Cittc2dpZCAiUGFydGl0aW9uIG5hbWU6IgorbXNnc3RyICJQYXJ0aXRpb25zbmFtbjoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI4MQorbXNnaWQgIlBhcnRpdGlvbiBVVUlEOiIKK21zZ3N0ciAiUGFydGl0aW9ucy1VVUlEOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjkzCittc2dpZCAiUGFydGl0aW9uIHR5cGU6IgorbXNnc3RyICJQYXJ0aXRpb25zdHlwOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzAwCittc2dpZCAiQXR0cmlidXRlczoiCittc2dzdHIgIkF0dHJpYnV0OiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzI0Cittc2dpZCAiRmlsZXN5c3RlbSBVVUlEOiIKK21zZ3N0ciAiRmlsc3lzdGVtcy1VVUlEOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzMxCittc2dpZCAiRmlsZXN5c3RlbSBMQUJFTDoiCittc2dzdHIgIkZpbHN5c3RlbXMtRVRJS0VUVDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMzNworbXNnaWQgIkZpbGVzeXN0ZW06IgorbXNnc3RyICJGaWxzeXN0ZW06IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNDIKK21zZ2lkICJNb3VudHBvaW50OiIKK21zZ3N0ciAiTW9udGVyaW5nc3B1bmt0OiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2s6ICVzIgorbXNnc3RyICJEaXNrOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlNpemU6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICJTdG9ybGVrOiAlcywgJWp1IGJ5dGUsICVqdSBzZWt0b3JlciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcywgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIkV0aWtldHQ6ICVzLCBpZGVudGlmaWVyYXJlOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcyIKK21zZ3N0ciAiRXRpa2V0dDogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0NgorbXNnaWQgIk1heSBiZSBmb2xsb3dlZCBieSBNIGZvciBNaUIsIEcgZm9yIEdpQiwgVCBmb3IgVGlCLCBvciBTIGZvciBzZWN0b3JzLiIKK21zZ3N0ciAiS2FuIGVmdGVyZsO2bGphcyBhdiBNIGbDtnIgTWlCLCBHIGbDtnIgR2lCLCBUIGbDtnIgVGlCIGVsbGVyIFMgZsO2ciBzZWt0b3Jlci4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1MgorbXNnaWQgIlBsZWFzZSwgc3BlY2lmeSBzaXplLiIKK21zZ3N0ciAiQW5nZSBzdG9ybGVrLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODc0CisjLCBjLWZvcm1hdAorbXNnaWQgIk1pbmltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICJNaW5zdGEgc3RvcmxlayDDpHIgJWp1IGJ5dGUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWF4aW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIlN0w7Zyc3RhIHN0b3JsZWsgw6RyICVqdSBieXRlLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODkwCittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNpemUuIgorbXNnc3RyICJNaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBzdG9ybGVrLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQ4Cittc2dpZCAiU2VsZWN0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJWw6RsaiBwYXJ0aXRpb25zdHlwIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5OTQgZGlzay11dGlscy9jZmRpc2suYzoyMDI0Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZTogIgorbXNnc3RyICJTa3JpdiBpbiBmaWxuYW1uIGbDtnIgc2tyaXB0OiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk5NQorbXNnaWQgIlRoZSBzY3JpcHQgZmlsZSB3aWxsIGJlIGFwcGxpZWQgdG8gaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIlNrcmlwdGZpbGVuIGtvbW1lciBhdHQgdGlsbMOkbXBhcyBmw7ZyIHBhcnRpdGlvbnN0YWJlbGxlbiBpIG1pbm5ldC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwNCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNDYKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2NSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gJXMiCittc2dzdHIgIkthbiBpbnRlIMO2cHBuYSAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDA2IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2NworIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgIk1pc3NseWNrYWRlcyBhdHQgdG9sa2Egc2tyaXB0ZmlsICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMDggZGlzay11dGlscy9mZGlzay1tZW51LmM6NDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgJXMiCittc2dzdHIgIk1pc3NseWNrYWRlcyBtZWQgYXR0IHRpbGzDpG1wYSBza3JpcHQgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAyNQorbXNnaWQgIlRoZSBjdXJyZW50IGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUgd2lsbCBiZSBkdW1wZWQgdG8gdGhlIGZpbGUuIgorbXNnc3RyICJQYXJ0aXRpb25zdGFiZWxsZW4gaSBtaW5uZSBrb21tZXIgYXR0IGR1bXBhcyB0aWxsIGZpbGVuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDMzIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ5MQorbXNnaWQgIkZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiTWlzc2x5Y2thZGVzIG1lZCBhdHQgYWxsb2tlcmEgc2tyaXB0LWhhbnRlcmFyZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDM5Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZGlzayBsYXlvdXQgaW50byBzY3JpcHQuIgorbXNnc3RyICJNaXNzbHlja2FkZXMgbWVkIGF0dCBsw6RzYSBpbiBkaXNrbGF5b3V0IGkgc2tyaXB0LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDUzCittc2dpZCAiRGlzayBsYXlvdXQgc3VjY2Vzc2Z1bGx5IGR1bXBlZC4iCittc2dzdHIgIkRpc2tsYXlvdXQgZHVtcGFkZXMgZnJhbWfDpW5nc3Jpa3QuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNTYgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBzY3JpcHQgJXMiCittc2dzdHIgIk1pc3NseWNrYWRlcyBhdHQgc2tyaXZhIHNrcmlwdCAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDkyCittc2dpZCAiU2VsZWN0IGxhYmVsIHR5cGUiCittc2dzdHIgIlbDpGxqIGV0aWtldHRzdHlwIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwOTUgZGlzay11dGlscy9mZGlzay5jOjEwMTcKK21zZ2lkICJEZXZpY2UgZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiRW5oZXRlbiBpbm5laMOlbGxlciBpbnRlIGVuIGlnZW5rw6RuZCBwYXJ0aXRpb25zdGFiZWxsLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTAxCittc2dpZCAiU2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgbGFiZWwgb3IgcHJlc3MgJ0wnIHRvIGxvYWQgc2NyaXB0IGZpbGUuIgorbXNnc3RyICJWw6RsaiBlbiB0eXAgYXR0IHNrYXBhIG9jaCBlbiBueSBldGlrZXR0IGVsbGVyIHRyeWNrIOKAnUzigJ0gZsO2ciBhdHQgbMOkc2EgaW4gc2tyaXB0ZmlsLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ2Cittc2dpZCAiVGhpcyBpcyBjZmRpc2ssIGEgY3Vyc2VzLWJhc2VkIGRpc2sgcGFydGl0aW9uaW5nIHByb2dyYW0uIgorbXNnc3RyICJEZXQgaMOkciDDpHIgY2ZkaXNrLCBldHQgY3Vyc2VzLWJhc2VyYXQgZGlza3BhcnRpdGlvbmVyaW5nc3Byb2dyYW0uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDcKK21zZ2lkICJJdCBsZXRzIHlvdSBjcmVhdGUsIGRlbGV0ZSwgYW5kIG1vZGlmeSBwYXJ0aXRpb25zIG9uIGEgYmxvY2sgZGV2aWNlLiIKK21zZ3N0ciAiRGV0IGzDpXRlciBkaWcgc2thcGEsIHRhIGJvcnQgb2NoIMOkbmRyYSBwYXJ0aXRpb25lciBww6UgZW4gYmxvY2tlbmhldC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE0OQorbXNnaWQgIkNvbW1hbmQgICAgICBNZWFuaW5nIgorbXNnc3RyICJLb21tYW5kbyAgICAgQmV0eWRlbHNlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTAKK21zZ2lkICItLS0tLS0tICAgICAgLS0tLS0tLSIKK21zZ3N0ciAiLS0tLS0tLS0gICAgIC0tLS0tLS0tLSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUxCittc2dpZCAiICBiICAgICAgICAgIFRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBiICAgICAgICAgIFNsw6UgcMOlL2F2IHN0YXJ0YmFyaGV0c2ZsYWdnYW4gcMOlIGFrdHVlbGwgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTIKK21zZ2lkICIgIGQgICAgICAgICAgRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBkICAgICAgICAgIFRhIGJvcnQgYWt0dWVsbCBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MworbXNnaWQgIiAgaCAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKK21zZ3N0ciAiICBoICAgICAgICAgIFZpc2EgZGVubmEgaGrDpGxwc2vDpHJtIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTQKK21zZ2lkICIgIG4gICAgICAgICAgQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICIgIG4gICAgICAgICAgU2thcGEgZW4gbnkgcGFydGl0aW9uIGZyw6VuIGxlZGlndCB1dHJ5bW1lIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTUKK21zZ2lkICIgIHEgICAgICAgICAgUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgcSAgICAgICAgICBBdnNsdXRhIHByb2dyYW1tZXQgdXRhbiBhdHQgc2tyaXZhIHBhcnRpdGlvbnN0YWJlbGxlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU2Cittc2dpZCAiICBzICAgICAgICAgIEZpeCBwYXJ0aXRpb25zIG9yZGVyIChvbmx5IHdoZW4gaW4gZGlzYXJyYXkpIgorbXNnc3RyICIgIHMgICAgICAgICAgRml4YSBwYXJ0aXRpb25zb3JkbmluZyAoYmFyYSBuw6RyIGRlIMOkciBpIG9vcmRuaW5nKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU3Cittc2dpZCAiICB0ICAgICAgICAgIENoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgdCAgICAgICAgICBCeXQgcGFydGl0aW9uc3R5cGVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTgKK21zZ2lkICIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiICB1ICAgICAgICAgIER1bXBhIGRpc2tsYXlvdXQgdGlsbCBzZmRpc2sta29tcGF0aWJlbCBza3JpcHRmaWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1OQorbXNnaWQgIiAgVyAgICAgICAgICBXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAoeW91IG11c3QgZW50ZXIgdXBwZXJjYXNlIFcpOyIKK21zZ3N0ciAiICBXICAgICAgICAgIFNrcml2IHBhcnRpdGlvbnN0YWJlbGxlbiB0aWxsIGRpc2sgKG3DpXN0ZSB2YXJhIGV0dCB2ZXJzYWx0IFcpOyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYwCittc2dpZCAiICAgICAgICAgICAgICAgc2luY2UgdGhpcyBtaWdodCBkZXN0cm95IGRhdGEgb24gdGhlIGRpc2ssIHlvdSBtdXN0IGVpdGhlciIKK21zZ3N0ciAiICAgICAgICAgICAgIGVmdGVyc29tIGRldHRhIGthbiBmw7Zyc3TDtnJhIGRhdGEgcMOlIGRpc2tlbiBtw6VzdGUgZHUgYW50aW5nZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MQorbXNnaWQgIiAgICAgICAgICAgICAgIGNvbmZpcm0gb3IgZGVueSB0aGUgd3JpdGUgYnkgZW50ZXJpbmcgJ3llcycgb3IgJ25vJyIKK21zZ3N0ciAiICAgICAgICAgICAgIGJla3LDpGZ0YSBlbGxlciBhdnZpc2Egc2tyaXZuaW5nZW4gZ2Vub20gYXR0IHNrcml2YSBpbiDigJ1qYeKAnSBlbGxlciDigJ1uZWrigJ0iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MgorbXNnaWQgIiAgeCAgICAgICAgICBEaXNwbGF5L2hpZGUgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIiAgeCAgICAgICAgICBWaXNhL2TDtmxqIGV4dHJhIGluZm9ybWF0aW9uIG9tIGVuIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYzCittc2dpZCAiVXAgQXJyb3cgICAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBwYXJ0aXRpb24iCittc2dzdHIgIlBpbCB1cHAgICAgICBGbHl0dGEgbWFya8O2cmVuIHRpbGwgZsO2cmVnw6VlbmRlIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY0Cittc2dpZCAiRG93biBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IHBhcnRpdGlvbiIKK21zZ3N0ciAiUGlsIG5lZCAgICAgIEZseXR0YSBtYXJrw7ZyZW4gdGlsbCBuw6RzdGEgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjUKK21zZ2lkICJMZWZ0IEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIG1lbnUgaXRlbSIKK21zZ3N0ciAiUGlsIHbDpG5zdGVyICBGbHl0dGEgbWFya8O2ciB0aWxsIGbDtnJlZ8OlZW5kZSBtZW55b2JqZWt0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjYKK21zZ2lkICJSaWdodCBBcnJvdyAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgbWVudSBpdGVtIgorbXNnc3RyICJQaWwgaMO2Z2VyICAgIEZseXR0YSBtYXJrw7ZyIHRpbGwgbsOkc3RhIG1lbnlvYmpla3QiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2OAorbXNnaWQgIk5vdGU6IEFsbCBvZiB0aGUgY29tbWFuZHMgY2FuIGJlIGVudGVyZWQgd2l0aCBlaXRoZXIgdXBwZXIgb3IgbG93ZXIiCittc2dzdHIgIk9iczogQWxsYSBrb21tYW5kb24ga2FuIGFuZ2VzIGFudGluZ2VuIG1lZCBzbcOlIGVsbGVyIHN0b3JhIGJva3N0w6R2ZXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2OQorbXNnaWQgImNhc2UgbGV0dGVycyAoZXhjZXB0IGZvciBXcml0ZSkuIgorbXNnc3RyICIoZsO2cnV0b20gU2tyaXYpLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTcxCittc2dpZCAiVXNlIGxzYmxrKDgpIG9yIHBhcnR4KDgpIHRvIHNlZSBtb3JlIGRldGFpbHMgYWJvdXQgdGhlIGRldmljZS4iCittc2dzdHIgIkFudsOkbmQgbHNibGsoOCkgZWxsZXIgcGFydHgoOCkgZsO2ciBhdHQgc2UgZmxlciBkZXRhbGplciBvbSBlbmhldGVuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzNworbXNnaWQgIlByZXNzIGEga2V5IHRvIGNvbnRpbnVlLiIKK21zZ3N0ciAiVHJ5Y2sgcMOlIGVuIHRhbmdlbnQgZsO2ciBhdHQgZm9ydHPDpHR0YS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI2MAorbXNnaWQgIkNvdWxkIG5vdCB0b2dnbGUgdGhlIGZsYWcuIgorbXNnc3RyICJLdW5kZSBpbnRlIHbDpHhsYSBmbGFnZ2FuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIkt1bmRlIGludGUgdGEgYm9ydCBwYXJ0aXRpb24gJXp1LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjcyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzMworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGhhcyBiZWVuIGRlbGV0ZWQuIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1IGhhciB0YWdpdHMgYm9ydC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI5MworbXNnaWQgIlBhcnRpdGlvbiBzaXplOiAiCittc2dzdHIgIlBhcnRpdGlvbnNzdG9ybGVrOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIsOEbmRyYWRlIHR5cGVuIGbDtnIgcGFydGl0aW9uICV6dS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgdHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIlR5cGVuIGbDtnIgcGFydGl0aW9uICV6dSDDpHIgb2bDtnLDpG5kcmFkLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzUzIGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ2NiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTkxCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzAKK21zZ2lkICJEZXZpY2UgaXMgb3BlbiBpbiByZWFkLW9ubHkgbW9kZS4iCittc2dzdHIgIkVuaGV0ZW4gw6RyIMO2cHBlbiBpIHNrcml2c2t5ZGRhdCBsw6RnZS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM1OAorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAiw4RyIGR1IHPDpGtlciBww6UgYXR0IGR1IHZpbGwgc2tyaXZhIHBhcnRpdGlvbnN0YWJlbGxlbiB0aWxsIGRpc2s/ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzYwCittc2dpZCAiVHlwZSBcInllc1wiIG9yIFwibm9cIiwgb3IgcHJlc3MgRVNDIHRvIGxlYXZlIHRoaXMgZGlhbG9nLiIKK21zZ3N0ciAiU2tyaXYgaW4g4oCdamHigJ0gZWxsZXIg4oCdbmVq4oCdIGVsbGVyIHRyeWNrIEVTQyBmw7ZyIGF0dCBsw6RtbmEgZGVubmEgZGlhbG9nLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzY1IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE1NDAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1NTAKK21zZ2lkICJ5ZXMiCittc2dzdHIgImphIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjYKK21zZ2lkICJEaWQgbm90IHdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrLiIKK21zZ3N0ciAiU2tyZXYgaW50ZSBwYXJ0aXRpb25zdGFiZWxsZW4gdGlsbCBkaXNrLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzcxCittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbC4iCittc2dzdHIgIk1pc3NseWNrYWRlcyBtZWQgYXR0IHNrcml2YSBkaXNrZXRpa2V0dC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3NCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzgKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICJQYXJ0aXRpb25zdGFiZWxsZW4gaGFyIMOkbmRyYXRzLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzk3IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ2OAorbXNnaWQgIk5vdGUgdGhhdCBwYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIgbm93LiIKK21zZ3N0ciAiTm90ZXJhIGF0dCBwb3N0ZXJuYSBpIHBhcnRpdGlvbnN0YWJlbGxlbiBpbnRlIMOkciBpIGRpc2tvcmRuaW5nIG51LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlOyBpdCB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiRW5oZXRlbiBpbm5laMOlbGxlciByZWRhbiBlbiAlcy1zaWduYXR1cjsgZGVuIGtvbW1lciBhdHQgdGFzIGJvcnQgZ2Vub20gZXR0IHNrcml2a29tbWFuZG8uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDUKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGRpc2tsYWJlbCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgc2thcGEgZW4gbnkgZGlza2V0aWtldHQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ1MworbXNnaWQgImZhaWxlZCB0byByZWFkIHBhcnRpdGlvbnMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGzDpHNhIHBhcnRpdGlvbmVyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICUxJHMgW29wdGlvbnNdIDxkaXNrPlxuIgorbXNnc3RyICIgJTEkcyBbZmxhZ2dvcl0gPGRpc2s+XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0OSBkaXNrLXV0aWxzL2ZkaXNrLmM6NzM2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMAorbXNnaWQgIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSBhIGRpc2sgcGFydGl0aW9uIHRhYmxlLlxuIgorbXNnc3RyICJWaXNhIGVsbGVyIG1hbmlwdWxlcmEgZW4gZGlza3BhcnRpdGlvbnN0YWJlbGwuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU1MgorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PG7DpHI+XSAgICAgIGbDpHJnbMOkZ2cgdXRtYXRuaW5nIChhdXRvLCBhbHdheXMgZWxsZXIgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU1NQorbXNnaWQgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgc3RhcnQgd2l0aCB6ZXJvZWQgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgYsO2cmphIG1lZCBlbiBub2xsc3TDpGxsZCBwYXJ0aXRpb25zdGFiZWxsXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU5NCBkaXNrLXV0aWxzL2ZkaXNrLmM6ODgyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA3NworIzogbWlzYy11dGlscy9jYWwuYzozOTAgc3lzLXV0aWxzL2RtZXNnLmM6MTMzMyB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTQKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb2xvciBtb2RlIgorbXNnc3RyICJmw6RyZ2zDpGdlIHN0w7ZkcyBlaiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjEyIGRpc2stdXRpbHMvZmRpc2suYzo4MTggZGlzay11dGlscy9zZmRpc2suYzoyMjMKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgYWxsb2tlcmEgbGliZmRpc2sta29udGV4dCIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+XG4iCittc2dzdHIgIiAlcyA8ZGlza2VuaGV0PiA8cGFydGl0aW9uc251bW1lcj5cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTgKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgdG8gZm9yZ2V0IGFib3V0IGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiU8OkZyB0aWxsIGvDpHJuYW4gYXR0IGdsw7ZtbWEgYm9ydCBlbiBhbmdpdmVuIHBhcnRpdGlvbi5cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6NjEKK21zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlIHBhcnRpdGlvbiIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdGEgYm9ydCBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICJGb3JtYXR0aW5nIC4uLiAiCittc2dzdHIgIkZvcm1hdGVyYXLigKYgIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NjggZGlzay11dGlscy9mZGZvcm1hdC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJkb25lXG4iCittc2dzdHIgImtsYXJcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlZlcmlmeWluZyAuLi4gIgorbXNnc3RyICJWZXJpZmllcmFy4oCmICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEwOAorbXNnaWQgIlJlYWQ6ICIKK21zZ3N0ciAiTMOkc3RlOiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJvYmxlbSByZWFkaW5nIHRyYWNrL2hlYWQgJXUvJXUsIGV4cGVjdGVkICVkLCByZWFkICVkXG4iCittc2dzdHIgIlByb2JsZW0gdmlkIGzDpHNuaW5nIGF2IHNww6VyL2h1dnVkICV1LyV1LCAlZCBmw7ZydsOkbnRhZGVzLCBsw6RzdGUgJWRcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYmFkIGRhdGEgaW4gdHJhY2svaGVhZCAldS8ldVxuIgorIkNvbnRpbnVpbmcgLi4uICIKK21zZ3N0ciAiIgorImZlbGFrdGlnIGRhdGEgaSBzcMOlci9odXZ1ZCAldS8ldVxuIgorIkZvcnRzw6R0dGVy4oCmICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODIKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTE3IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU2IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODQKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gPGVuaGV0PlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ4Cittc2dpZCAiRG8gYSBsb3ctbGV2ZWwgZm9ybWF0dGluZyBvZiBhIGZsb3BweSBkaXNrLlxuIgorbXNnc3RyICJHw7ZyIGVuIGzDpWduaXbDpWZvcm1hdGVyaW5nIGF2IGVuIGRpc2tldHQuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTEKK21zZ2lkICIgLWYsIC0tZnJvbSA8Tj4gICAgc3RhcnQgYXQgdGhlIHRyYWNrIE4gKGRlZmF1bHQgMClcbiIKK21zZ3N0ciAiIC1mLCAtLWZyb20gPE4+ICAgIGLDtnJqYSBww6Ugc3DDpXIgTiAoc3RhbmRhcmQgMClcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MgorbXNnaWQgIiAtdCwgLS10byA8Tj4gICAgICBzdG9wIGF0IHRoZSB0cmFjayBOXG4iCittc2dzdHIgIiAtdCwgLS10byA8Tj4gICAgICBzbHV0YSBww6Ugc3DDpXIgTlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUzCittc2dpZCAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICB0cnkgdG8gcmVwYWlyIHRyYWNrcyBmYWlsZWQgZHVyaW5nXG4iCisiICAgICAgICAgICAgICAgICAgICAgdGhlIHZlcmlmaWNhdGlvbiAobWF4IE4gcmV0cmllcylcbiIKK21zZ3N0ciAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICBmw7Zyc8O2ayBhdHQgcmVwYXJlcmEgc3DDpXIgc29tIG1pc3NseWNrYWRlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgIHVuZGVyIHZlcmlmaWVyaW5nZW4gKG1heCBOIGbDtnJzw7ZrKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU1Cittc2dpZCAiIC1uLCAtLW5vLXZlcmlmeSAgIGRpc2FibGUgdGhlIHZlcmlmaWNhdGlvbiBhZnRlciB0aGUgZm9ybWF0XG4iCittc2dzdHIgIiAtbiwgLS1uby12ZXJpZnkgICBpbmFrdGl2ZXJhIHZlcmlmaWVyaW5nZW4gZWZ0ZXIgZm9ybWF0ZXJpbmdlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIGZyb20iCittc2dzdHIgImZlbGFrdGlndCBhcmd1bWVudCAtIGZyw6VuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk4Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHRvIgorbXNnc3RyICJmZWxha3RpZ3QgYXJndW1lbnQgLSB0aWxsIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjAxCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHJlcGFpciIKK21zZ3N0ciAib2dpbHRpZ3QgYXJndW1lbnQgLSByZXBhcmVyYSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyMSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTUxCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg1IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMzgKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4NQorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE2IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQxIGRpc2stdXRpbHMvcGFydHguYzo5MzMKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo2ODYgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzkgbWlzYy11dGlscy9uYW1laS5jOjEzNQorIzogbWlzYy11dGlscy9yZW5hbWUuYzo2MyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4NiBzeXMtdXRpbHMvZG1lc2cuYzo1MjQKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxOTggc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTMxIHN5cy11dGlscy9mc3RyaW0uYzo3NworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjUxOSBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo5MworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTMzIHRlcm0tdXRpbHMvbWVzZy5jOjEyOSB0ZXh0LXV0aWxzL21vcmUuYzo1MDQKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxMDMgdGV4dC11dGlscy90YWlsZi5jOjI4MAorIywgYy1mb3JtYXQKK21zZ2lkICJzdGF0IG9mICVzIGZhaWxlZCIKK21zZ3N0ciAic3RhdCBmw7ZyICVzIG1pc3NseWNrYWRlcyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNCBkaXNrLXV0aWxzL3BhcnR4LmM6OTkxIG1pc2MtdXRpbHMvbHNibGsuYzoxNDg1CisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4OCBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogaW50ZSBlbiBibG9ja2VuaGV0IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI5Cittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICJrdW5kZSBpbnRlIGF2Z8O2cmEgYWt0dWVsbCBmb3JtYXR0eXAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMtc2lkZWQsICVkIHRyYWNrcywgJWQgc2VjL3RyYWNrLiBUb3RhbCBjYXBhY2l0eSAlZCBrQi5cbiIKK21zZ3N0ciAiJXNzaWRpZywgJWQgc3DDpXIsICVkIHNla3RvcmVyL3Nww6VyLiBUb3RhbCBrYXBhY2l0ZXQgJWQga0IuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzIKK21zZ2lkICJEb3VibGUiCittc2dzdHIgIkR1YmJlbCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMgorbXNnaWQgIlNpbmdsZSIKK21zZ3N0ciAiRW5rZWwiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzkKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgImFudsOkbmRhcmRlZmluaWVyYXQgc3RhcnRzcMOlciDDtnZlcnN0aWdlciBtZWRpZXRzIHNwZWNpZmljZXJhZGUgbWF4aW11bSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MQorbXNnaWQgInVzZXIgZGVmaW5lZCBlbmQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgImFudsOkbmRhcmRlZmluaWVyYXQgc2x1dHNww6VyIMO2dmVyc3RpZ2VyIG1lZGlldHMgc3BlY2lmaWNlcmFkZSBtYXhpbXVtIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQzCittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIHVzZXIgZGVmaW5lZCBlbmQgdHJhY2siCittc2dzdHIgImFudsOkbmRhcmRlZmluaWVyYXQgc3RhcnRzcMOlciDDtnZlcnN0aWdlciBhbnbDpG5kYXJkZWZpbmllcmF0IHNsdXRzcMOlciIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI1MSBtaXNjLXV0aWxzL2xvZ2dlci5jOjk4NworbXNnaWQgImNsb3NlIGZhaWxlZCIKK21zZ3N0ciAic3TDpG5nbmluZyBtaXNzbHlja2FkZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5NSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gcXVpdD8gIgorbXNnc3RyICIiCisiXG4iCisiVmlsbCBkdSB2ZXJrbGlnZW4gYXZzbHV0YT8gIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdCAoZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiVsOkbGogKHN0YW5kYXJkICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIGRlZmF1bHQgcmVzcG9uc2UgJWMuIgorbXNnc3RyICJBbnbDpG5kZXIgc3RhbmRhcmRzdmFyZXQgJWMuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTc2IGRpc2stdXRpbHMvZmRpc2suYzoyNTAgZGlzay11dGlscy9mZGlzay5jOjMyNQorIzogbGliZmRpc2svc3JjL2Rvcy5jOjExODkgbGliZmRpc2svc3JjL2dwdC5jOjIyNzcKK21zZ2lkICJWYWx1ZSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJWw6RyZGUgdXRhbmbDtnIgaW50ZXJ2YWxsLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglcywgc3RhbmRhcmR2w6RyZGUgJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDggZGlzay11dGlscy9mZGlzay5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJXMsIHN0YW5kYXJkdsOkcmRlICU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglYy0lYywgc3RhbmRhcmR2w6RyZGUgJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMTcgZGlzay11dGlscy9mZGlzay5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0PiwgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+LCBzdGFuZGFyZHbDpHJkZSAlPFBSSXU2ND4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjKTogIgorbXNnc3RyICIlcyAoJWMtJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMjMgZGlzay11dGlscy9mZGlzay5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzozOTIgZGlzay11dGlscy9zZmRpc2suYzoxOTcKK21zZ2lkICIgW1ldZXMvW05dbzogIgorbXNnc3RyICIgW0pdYS9bTl1lajogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDMzCittc2dpZCAiUGFydGl0aW9uIHR5cGUgKHR5cGUgTCB0byBsaXN0IGFsbCB0eXBlcyk6ICIKK21zZ3N0ciAiUGFydGl0aW9uc3R5cCAoc2tyaXYgTCBmw7ZyIGF0dCBsaXN0YSBhbGxhIHR5cGVyKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDM0Cittc2dpZCAiSGV4IGNvZGUgKHR5cGUgTCB0byBsaXN0IGFsbCBjb2Rlcyk6ICIKK21zZ3N0ciAiSGV4YWRlY2ltYWwga29kIChza3JpdiBMIGbDtnIgYXR0IGxpc3RhIGFsbGEga29kZXIpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1MzYKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIHNldCAoREVQUkVDQVRFRCEpIgorbXNnc3RyICJET1Mta29tcGF0aWJpbGl0ZXRzZmxhZ2dhIMOkciBpbnN0w6RsbGQgKEbDllLDhUxEUkFEISkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1MzcKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIG5vdCBzZXQiCittc2dzdHIgIkRPUy1rb21wYXRpYmlsaXRldHNmbGFnZ2Egw6RyIGludGUgaW5zdMOkbGxkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTU4IGRpc2stdXRpbHMvZmRpc2suYzo1OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBleGlzdCB5ZXQhIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1IGZpbm5zIGludGUgw6RuISIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU2MyBkaXNrLXV0aWxzL2ZkaXNrLmM6NTcyIGxpYmZkaXNrL3NyYy9hc2suYzo5OTUKK21zZ2lkICJVbmtub3duIgorbXNnc3RyICJPa8OkbmQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAnJXMnIHRvICclcycuIgorbXNnc3RyICLDhG5kcmFkZSBwYXJ0aXRpb25zdHlwZW4g4oCdJXPigJ0gdGlsbCDigJ0lc+KAnS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZDogJXMuIgorbXNnc3RyICJUeXBlbiBmw7ZyIHBhcnRpdGlvbiAlenUgw6RyIG9mw7Zyw6RuZHJhZDogJXMuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiUxNXM6ICVzIgorbXNnc3RyICIlMTVzOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXM6IG9mZnNldCA9ICU8UFJJdTY0Piwgc2l6ZSA9ICV6dSBieXRlcy4iCittc2dzdHIgIiIKKyJcbiIKKyIlczogcG9zaXRpb24gPSAlPFBSSXU2ND4sIHN0b3JsZWsgPSAlenUgYnl0ZS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2NzcKK21zZ2lkICJjYW5ub3Qgc2VlayIKK21zZ3N0ciAia2FuIGludGUgc8O2a2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2ODIKK21zZ2lkICJjYW5ub3QgcmVhZCIKK21zZ3N0ciAia2FuIGludGUgbMOkc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2OTUgbGliZmRpc2svc3JjL2JzZC5jOjI1OSBsaWJmZGlzay9zcmMvZG9zLmM6OTMzCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxMAorbXNnaWQgIkZpcnN0IHNlY3RvciIKK21zZ3N0ciAiRsO2cnN0YSBzZWt0b3JuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzIyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzIgorbXNnc3RyICJCTEtHRVRTSVpFLWlvY3RsIG1pc3NseWNrYWRlcyBww6UgJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz4gICAgICBjaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisiICUxJHMgW29wdGlvbnNdIC1sIFs8ZGlzaz5dIGxpc3QgcGFydGl0aW9uIHRhYmxlKHMpXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbZmxhZ2dvcl0gPGRpc2s+ICAgICAgw6RuZHJhIHBhcnRpdGlvbnN0YWJlbGxcbiIKKyIgJTEkcyBbZmxhZ2dvcl0gLWwgWzxkaXNrPl0gbGlzdGEgcGFydGl0aW9uc3RhYmVsbChlcilcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjczOQorbXNnaWQgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8c2l6ZT4gICAgICBwaHlzaWNhbCBhbmQgbG9naWNhbCBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgLWIsIC0tc2VjdG9yLXNpemUgPHN0b3JsZWs+ICAgZnlzaXNrIG9jaCBsb2dpc2sgc2VrdG9yc3Rvcmxla1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQwCittc2dpZCAiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIGRvbid0IGVyYXNlIGJvb3RiaXRzIHdoZW4gY3JlYXRpbmcgYSBuZXcgbGFiZWxcbiIKK21zZ3N0ciAiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIHRhIGludGUgYm9ydCBzdGFydGJpdGFyIG7DpHIgZW4gbnkgZXRpa2V0dCBza2FwYXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MQorbXNnaWQgIiAtYywgLS1jb21wYXRpYmlsaXR5Wz08bW9kZT5dICBtb2RlIGlzICdkb3MnIG9yICdub25kb3MnIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWMsIC0tY29tcGF0aWJpbGl0eVs9PGzDpGdlPl0gIGzDpGdlIMOkciDigJ1kb3PigJ0gZWxsZXIg4oCdbm9uZG9z4oCdIChzdGFuZGFyZClcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MgorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08bsOkcj5dICAgICAgICAgICBmw6RyZ2zDpGdnIHV0bWF0bmluZyAoYXV0bywgYWx3YXlzIGVsbGVyIG5ldmVyKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ1Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgcGFydGl0aW9ucyBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgdmlzYSBwYXJ0aXRpb25lciBvY2ggYXZzbHV0YVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ2Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RhPiAgICAgICAgICBza3JpdiB1dCBrb2x1bW5lclxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ3Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgICAgICAgICAgIHJlY29nbml6ZSBzcGVjaWZpZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUgb25seVxuIgorbXNnc3RyICIgLXQsIC0tdHlwZSA8dHlwPiAgICAgICAgICAgICAga8Okbm4gZW5kYXN0IGlnZW4gYW5naXZlbiB0eXAgYXYgcGFydGl0aW9uc3RhYmVsbFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ4Cittc2dpZCAiIC11LCAtLXVuaXRzWz08dW5pdD5dICAgICAgICAgIGRpc3BsYXkgdW5pdHM6ICdjeWxpbmRlcnMnIG9yICdzZWN0b3JzJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC11LCAtLXVuaXRzWz08ZW5oZXQ+XSAgICAgICAgIHZpc2EgZW5oZXRlcjog4oCdY3lsaW5kZXJz4oCdIGVsbGVyIOKAnXNlY3RvcnPigJ0gKHN0YW5kYXJkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ5Cittc2dpZCAiIC1zLCAtLWdldHN6ICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgZGV2aWNlIHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9ycyBbREVQUkVDQVRFRF1cbiIKK21zZ3N0ciAiIC1zLCAtLWdldHN6ICAgICAgICAgICAgICAgICAgIHZpc2EgZW5oZXRzc3RvcmxlayBpIDUxMi1ieXRlIHNla3RvcmVyIFtGw5ZSw4VMRFJBRF1cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1MAorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICAgICAgc2tyaXYgdXQgU1RPUkxFSyBpIGJ5dGUgc25hcmFyZSDDpG4gaSBldHQgZm9ybWF0IGzDpHNiYXJ0IGbDtnIgbcOkbm5pc2tvclxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzUxCittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLXcsIC0td2lwZSA8bMOkZ2U+ICAgICAgICAgICAgIHJhZGVyYSBzaWduYXR1cmVyIChhdXRvLCBhbHdheXMgZWxsZXIgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTIgZGlzay11dGlscy9zZmRpc2suYzoxODUzCittc2dpZCAiIC1XLCAtLXdpcGUtcGFydGl0aW9ucyA8bW9kZT4gIHdpcGUgc2lnbmF0dXJlcyBmcm9tIG5ldyBwYXJ0aXRpb25zIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtdywgLS13aXBlLXBhcnRpdGlvbnMgPGzDpGdlPiAgcmFkZXJhIHNpZ25hdHVyZXIgZnLDpW4gbnlhIHBhcnRpdGlvbmVyIChhdXRvLCBhbHdheXMgZWxsZXIgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTUKK21zZ2lkICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorbXNnc3RyICIgLUMsIC0tY3lsaW5kZXJzIDxudW1tZXI+ICAgICAgYW5nZSBhbnRhbGV0IGN5bGluZHJhclxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU2Cittc2dpZCAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBoZWFkc1xuIgorbXNnc3RyICIgLUgsIC0taGVhZHMgPG51bW1lcj4gICAgICAgICAgYW5nZSBhbnRhbGV0IGh1dnVkZW5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1NworbXNnaWQgIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKK21zZ3N0ciAiIC1TLCAtLXNlY3RvcnMgPG51bW1lcj4gICAgICAgIGFuZ2UgYW50YWxldCBzZWt0b3JlciBwZXIgc3DDpXJcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOAorbXNnaWQgImludmFsaWQgc2VjdG9yIHNpemUgYXJndW1lbnQiCittc2dzdHIgIm9naWx0aWd0IGFyZ3VtZW50IGbDtnIgc2VrdG9yc3RvcmxlayIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg0MAorbXNnaWQgImludmFsaWQgY3lsaW5kZXJzIGFyZ3VtZW50IgorbXNnc3RyICJvZ2lsdGlndCBhcmd1bWVudCBmw7ZyIGN5bGluZHJhciIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg1MgorbXNnaWQgIm5vdCBmb3VuZCBET1MgbGFiZWwgZHJpdmVyIgorbXNnc3RyICJET1MtZXRpa2V0dHNkcml2cnV0aW4gaGl0dGFkZXMgZWoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb21wYXRpYmlsaXR5IG1vZGUgJyVzJyIKK21zZ3N0ciAib2vDpG50IGtvbXBhdGliaWxpdGV0c2zDpGdlIOKAnSVz4oCdIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODY3Cittc2dpZCAiaW52YWxpZCBoZWFkcyBhcmd1bWVudCIKK21zZ3N0ciAib2dpbHRpZ3QgYXJndW1lbnQgZsO2ciBodXZ1ZGVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODczCittc2dpZCAiaW52YWxpZCBzZWN0b3JzIGFyZ3VtZW50IgorbXNnc3RyICJvZ2lsdGlndCBhcmd1bWVudCBmw7ZyIHNla3RvcmVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODk5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2tsYWJlbDogJXMiCittc2dzdHIgImRpc2tldGlrZXR0IHN0w7ZkcyBlajogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MTYgZGlzay11dGlscy9mZGlzay5jOjkyMSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0NgorbXNnaWQgInVuc3VwcG9ydGVkIHdpcGUgbW9kZSIKK21zZ3N0ciAicmFkZXJpbmdzbMOkZ2Ugc3TDtmRzIGVqIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTM0Cittc2dpZCAiVGhlIGRldmljZSBwcm9wZXJ0aWVzIChzZWN0b3Igc2l6ZSBhbmQgZ2VvbWV0cnkpIHNob3VsZCBiZSB1c2VkIHdpdGggb25lIHNwZWNpZmllZCBkZXZpY2Ugb25seS4iCittc2dzdHIgIkVuaGV0c2VnZW5za2FwZXJuYSAoc2VrdG9yc3RvcmxlayBvY2ggZ2VvbWV0cmkpIGLDtnIgZW5kYXN0IGFudsOkbmRhcyBtZWQgZW4gZW5oZXQuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIldlbGNvbWUgdG8gZmRpc2sgKCVzKS4iCittc2dzdHIgIlbDpGxrb21tZW4gdGlsbCBmZGlzayAoJXMpLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk4NCBkaXNrLXV0aWxzL3NmZGlzay5jOjE1ODgKK21zZ2lkICIiCisiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorIkJlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLlxuIgorbXNnc3RyICIiCisiw4RuZHJpbmdhciBrb21tZXIgYXR0IGbDtnJibGkgZW5kYXN0IGkgbWlubmV0LCB0aWxsIGRlc3MgYXR0IGR1IGJlc2x1dGFyIGRpZyBmw7ZyIGF0dCBza3JpdmEgZGVtLlxuIgorIlZhciBha3RzYW0gaW5uYW4gZHUgYW52w6RuZGVyIHNrcml2a29tbWFuZG90LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAwMSBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICVzIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmUuIgorbXNnc3RyICJFbmhldGVuICVzIGlubmVow6VsbGVyIHJlZGFuIGVuICVzLXNpZ25hdHVyLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMTAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTQyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ4NAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNjIyCittc2dpZCAiVGhlIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiU2lnbmF0dXJlbiBrb21tZXIgYXR0IHRhcyBib3J0IGdlbm9tIGV0dCBza3JpdmtvbW1hbmRvLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMTMgZGlzay11dGlscy9zZmRpc2suYzoxNjI1Cittc2dpZCAiSXQgaXMgc3Ryb25nbHkgcmVjb21tZW5kZWQgdG8gd2lwZSB0aGUgZGV2aWNlIHdpdGggd2lwZWZzKDgpLCBpbiBvcmRlciB0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zLiIKK21zZ3N0ciAiRGV0IHJla29tbWVuZGVyYXMgc3Rhcmt0IGF0dCByYWRlcmEgZW5oZXRlbiBtZWQgd2lwZWZzKDgpIGbDtnIgYXR0IHVuZHZpa2EgbcO2amxpZ2Ega29sbGlzaW9uZXIuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAyMgorbXNnaWQgIkEgaHlicmlkIEdQVCB3YXMgZGV0ZWN0ZWQuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIGh5YnJpZCBNQlIgbWFudWFsbHkgKGV4cGVydCBjb21tYW5kICdNJykuIgorbXNnc3RyICJFbiBoeWJyaWQtR1BUIGlkZW50aWZpZXJhZGVzLiBEdSBtw6VzdGUgc3lua3JvbmlzZXJhIGh5YnJpZC1NQlI6ZW4gbWFudWVsbHQgKGV4cGVydGtvbW1hbmRvdCDigJ1N4oCdKS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICJEaXNrICVzOiAlcywgJWp1IGJ5dGUsICVqdSBzZWt0b3JlciIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMvdHJhY2ssICVsbHUgY3lsaW5kZXJzIgorbXNnc3RyICJHZW9tZXRyaTogJWQgaHV2dWRlbiwgJWxsdSBzZWt0b3Jlci9zcMOlciwgJWxsdSBjeWxpbmRyYXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjU5IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICJVbml0czogJXMgb2YgJWQgKiAlbGQgPSAlbGQgYnl0ZXMiCittc2dzdHIgIkVuaGV0ZXI6ICVzIGF2ICVkICogJWxkID0gJWxkIGJ5dGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY1IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiU2VrdG9yc3RvcmxlayAobG9naXNrL2Z5c2lzayk6ICVsdSBieXRlIC8gJWx1IGJ5dGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkkvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIkkvTy1zdG9ybGVrIChtaW5zdGEvb3B0aW1hbCk6ICVsdSBieXRlIC8gJWx1IGJ5dGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkFsaWdubWVudCBvZmZzZXQ6ICVsdSBieXRlcyIKK21zZ3N0ciAiSnVzdGVyaW5nc3Bvc2l0aW9uOiAlbHUgYnl0ZSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHR5cGU6ICVzIgorbXNnc3RyICJEaXNrZXRpa2V0dHN0eXA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJEaXNraWRlbnRpZmllcmFyZTogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjEwOSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTkKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNDQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGFsbG9rZXJhIGl0ZXJhdG9yIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMTUgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI1Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgYWxsb2tlcmEgdXRtYXRuaW5nc3RhYmVsbCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTU2IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI0OQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgbGluZSIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgYWxsb2tlcmEgdXRtYXRuaW5nc3JhZCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3Qgc3RhcnQgb24gcGh5c2ljYWwgc2VjdG9yIGJvdW5kYXJ5LiIKK21zZ3N0ciAiUGFydGl0aW9uICV6dSBiw7ZyamFyIGludGUgcMOlIGVuIGZ5c2lzayBzZWt0b3JncsOkbnMuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxOTIKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuIgorbXNnc3RyICJQb3N0ZXIgaSBwYXJ0aXRpb25zdGFiZWxsIMOkciBpbnRlIGkgZGlza29yZG5pbmcuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTUgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDAKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTEyIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU0IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTEwCittc2dpZCAiU3RhcnQiCittc2dzdHIgIkLDtnJqYW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMQorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTMgbGliZmRpc2svc3JjL3NnaS5jOjExNTUgbGliZmRpc2svc3JjL3N1bi5jOjExMTEKK21zZ2lkICJFbmQiCittc2dzdHIgIlNsdXRldCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE3IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAyCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NiBsaWJmZGlzay9zcmMvc3VuLmM6MTExMgorbXNnaWQgIlNlY3RvcnMiCittc2dzdHIgIlNla3RvcmVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTkgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDQKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE1IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU4IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE0Cittc2dpZCAiU2l6ZSIKK21zZ3N0ciAiU3RvcmxlayIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVucGFydGl0aW9uZWQgc3BhY2UgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICJPcGFydGl0aW9uZXJhdCB1dHJ5bW1lICVzOiAlcywgJWp1IGJ5dGUsICVqdSBzZWt0b3JlciIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC1vKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlRpbGxnw6RuZ2xpZ2Ega29sdW1uZXIgKGbDtnIgLW8pOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICIlczogb2vDpG5kIGtvbHVtbjogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk1Cittc2dpZCAiR2VuZXJpYyIKK21zZ3N0ciAiQWxsbcOkbnQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk2Cittc2dpZCAiZGVsZXRlIGEgcGFydGl0aW9uIgorbXNnc3RyICJ0YSBib3J0IGVuIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTcKK21zZ2lkICJsaXN0IGZyZWUgdW5wYXJ0aXRpb25lZCBzcGFjZSIKK21zZ3N0ciAibGlzdGEgdGlsbGfDpG5nbGlndCBvcGFydGl0aW9uZXJhdCB1dHJ5bW1lIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OAorbXNnaWQgImxpc3Qga25vd24gcGFydGl0aW9uIHR5cGVzIgorbXNnc3RyICJsaXN0YSBrw6RuZGEgcGFydGl0aW9uc3R5cGVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OQorbXNnaWQgImFkZCBhIG5ldyBwYXJ0aXRpb24iCittc2dzdHIgImzDpGdnIHRpbGwgZW4gbnkgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAKK21zZ2lkICJwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJza3JpdiB1dCBwYXJ0aXRpb25zdGFiZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMQorbXNnaWQgImNoYW5nZSBhIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICLDpG5kcmEgZW4gcGFydGl0aW9uc3R5cCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAyCittc2dpZCAidmVyaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInZlcmlmaWVyYSBwYXJ0aXRpb25zdGFiZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMworbXNnaWQgInByaW50IGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICJza3JpdiB1dCBpbmZvcm1hdGlvbiBvbSBlbiBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNQorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAic2tyaXYgdXQgZGVuIHLDpWEgZGF0YW4gZnLDpW4gZsO2cnN0YSBzZWt0b3JuIGZyw6VuIGVuaGV0ZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNgorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZGlza2xhYmVsIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAic2tyaXYgdXQgZGVuIHLDpWEgZGF0YW4gZnLDpW4gZGlza2V0aWtldHRlbiBmcsOlbiBlbmhldGVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDcKK21zZ2lkICJmaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAiZml4YSBwYXJ0aXRpb25zb3JkbmluZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDkKK21zZ2lkICJNaXNjIgorbXNnc3RyICJEaXZlcnNlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTAKK21zZ2lkICJwcmludCB0aGlzIG1lbnUiCittc2dzdHIgInZpc2EgZGVubmEgbWVueSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTExCittc2dpZCAiY2hhbmdlIGRpc3BsYXkvZW50cnkgdW5pdHMiCittc2dzdHIgIsOkbmRyYSB2aXNuaW5ncy0vcG9zdGVuaGV0ZXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMgorbXNnaWQgImV4dHJhIGZ1bmN0aW9uYWxpdHkgKGV4cGVydHMgb25seSkiCittc2dzdHIgImV4dHJhIGZ1bmt0aW9uYWxpdGV0IChlbmRhc3QgZXhwZXJ0ZXIpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTQKK21zZ2lkICJTY3JpcHQiCittc2dzdHIgIlNrcmlwdCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE1Cittc2dpZCAibG9hZCBkaXNrIGxheW91dCBmcm9tIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAibMOkcyBpbiBkaXNrbGF5b3V0IGZyw6VuIHNmZGlzay1za3JpcHRmaWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNgorbXNnaWQgImR1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICJkdW1wYSBkaXNrbGF5b3V0IHRpbGwgc2ZkaXNrLXNrcmlwdGZpbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE4Cittc2dpZCAiU2F2ZSAmIEV4aXQiCittc2dzdHIgIlNwYXJhICYgYXZzbHV0YSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE5Cittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdCIKK21zZ3N0ciAic2tyaXYgdGFiZWxsIHRpbGwgZGlzayBvY2ggYXZzbHV0YSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIwCittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayIKK21zZ3N0ciAic2tyaXYgdGFiZWxsIHRpbGwgZGlzayIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIxCittc2dpZCAicXVpdCB3aXRob3V0IHNhdmluZyBjaGFuZ2VzIgorbXNnc3RyICJhdnNsdXRhIHV0YW4gYXR0IHNwYXJhIMOkbmRyaW5nYXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMgorbXNnaWQgInJldHVybiB0byBtYWluIG1lbnUiCittc2dzdHIgIsOldGVyZ8OlIHRpbGwgaHV2dWRtZW55IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjQKK21zZ2lkICJyZXR1cm4gZnJvbSBCU0QgdG8gRE9TIgorbXNnc3RyICJyZXR1cm5lcmEgZnLDpW4gQlNEIHRpbGwgRE9TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzUKK21zZ2lkICJDcmVhdGUgYSBuZXcgbGFiZWwiCittc2dzdHIgIlNrYXBhIGVuIG55IGV0aWtldHQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNgorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBHUFQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJza2FwYSBlbiBueSB0b20gR1BULXBhcnRpdGlvbnN0YWJlbGwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNworbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTR0kgKElSSVgpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAic2thcGEgZW4gbnkgdG9tIFNHSSAoSVJJWCktcGFydGl0aW9uc3RhYmVsbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM4Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInNrYXBhIGVuIG55IHRvbSBET1MtcGFydGl0aW9uc3RhYmVsbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFN1biBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInNrYXBhIGVuIG55IHRvbSBTdW4tcGFydGl0aW9uc3RhYmVsbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQzCittc2dpZCAiY3JlYXRlIGFuIElSSVggKFNHSSkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJza2FwYSBlbiBJUklYIChTR0kpLXBhcnRpdGlvbnN0YWJlbGwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1MgorbXNnaWQgIkdlb21ldHJ5IgorbXNnc3RyICJHZW9tZXRyaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTUzCittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgIsOkbmRyYSBhbnRhbGV0IGN5bGluZHJhciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU0Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAiw6RuZHJhIGFudGFsZXQgaHV2dWRlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU1Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrIgorbXNnc3RyICLDpG5kcmEgYW50YWxldCBzZWt0b3Jlci9zcMOlciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk1Cittc2dpZCAiR1BUIgorbXNnc3RyICJHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NQorbXNnaWQgImNoYW5nZSBkaXNrIEdVSUQiCittc2dzdHIgIsOkbmRyYSBkaXNrLUdVSUQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NgorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiw6RuZHJhIHBhcnRpdGlvbnNuYW1uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjcKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIsOkbmRyYSBwYXJ0aXRpb25zLVVVSUQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OAorbXNnaWQgImNoYW5nZSB0YWJsZSBsZW5ndGgiCittc2dzdHIgIsOkbmRyYSB0YWJlbGzDpG5nZCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY5Cittc2dpZCAiZW50ZXIgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIgorbXNnc3RyICJnw6UgaW4gaSBza3lkZGFuZGUvaHlicmlkLU1CUiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTcyCittc2dpZCAidG9nZ2xlIHRoZSBsZWdhY3kgQklPUyBib290YWJsZSBmbGFnIgorbXNnc3RyICJzbMOlIHDDpS9hdiBzdGFydGJhcmhldHNmbGFnZ2FuIGbDtnIgZsO2csOlbGRyYWRlIEJJT1MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MworbXNnaWQgInRvZ2dsZSB0aGUgbm8gYmxvY2sgSU8gcHJvdG9jb2wgZmxhZyIKK21zZ3N0ciAidsOkeGxhIHByb3Rva29sbGZsYWdnYW4gaW5nZW4tYmxvY2stSU8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NAorbXNnaWQgInRvZ2dsZSB0aGUgcmVxdWlyZWQgcGFydGl0aW9uIGZsYWciCittc2dzdHIgInNsw6UgcMOlL2F2IGRlbiBuw7ZkdsOkbmRpZ2EgcGFydGl0aW9uc2ZsYWdnYW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NQorbXNnaWQgInRvZ2dsZSB0aGUgR1VJRCBzcGVjaWZpYyBiaXRzIgorbXNnc3RyICJ2w6R4bGEgZGUgR1VJRC1zcGVjaWZpa2EgYml0YXJuYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg1Cittc2dpZCAiU3VuIgorbXNnc3RyICJTdW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NgorbXNnaWQgInRvZ2dsZSB0aGUgcmVhZC1vbmx5IGZsYWciCittc2dzdHIgInNsw6UgcMOlL2F2IHNrcml2c2t5ZGRzZmxhZ2dhbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg3Cittc2dpZCAidG9nZ2xlIHRoZSBtb3VudGFibGUgZmxhZyIKK21zZ3N0ciAic2zDpSBww6UvYXYgbW9udGVyYmFyaGV0c2ZsYWdnYW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiw6RuZHJhIGFudGFsZXQgYWx0ZXJuYXRpdmEgY3lsaW5kcmFyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTAKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICLDpG5kcmEgYW50YWxldCBleHRyYSBzZWt0b3JlciBwZXIgY3lsaW5kZXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MQorbXNnaWQgImNoYW5nZSBpbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiw6RuZHJhIGluZmzDpHRuaW5nc2Zha3RvciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkyCittc2dpZCAiY2hhbmdlIHJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICLDpG5kcmEgcm90YXRpb25zaGFzdGlnaGV0ICh2YXJ2IHBlciBtaW51dCkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MworbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICLDpG5kcmEgYW50YWxldCBmeXNpc2thIGN5bGluZHJhciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjAyCittc2dpZCAiU0dJIgorbXNnc3RyICJTR0kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwMworbXNnaWQgInNlbGVjdCBib290YWJsZSBwYXJ0aXRpb24iCittc2dzdHIgInbDpGxqIHN0YXJ0YmFyIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA0Cittc2dpZCAiZWRpdCBib290ZmlsZSBlbnRyeSIKK21zZ3N0ciAicmVkaWdlcmEgc3RhcnRmaWxzcG9zdCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA1Cittc2dpZCAic2VsZWN0IHNnaSBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAidsOkbGogc2dpLXbDpHhsaW5nc3BhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA2Cittc2dpZCAiY3JlYXRlIFNHSSBpbmZvIgorbXNnc3RyICJza2FwYSBTR0ktaW5mbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE1Cittc2dpZCAiRE9TIChNQlIpIgorbXNnc3RyICJET1MgKE1CUikiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNgorbXNnaWQgInRvZ2dsZSBhIGJvb3RhYmxlIGZsYWciCittc2dzdHIgInNsw6UgcMOlL2F2IGVuIHN0YXJ0YmFyaGV0c2ZsYWdnYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE3Cittc2dpZCAiZWRpdCBuZXN0ZWQgQlNEIGRpc2tsYWJlbCIKK21zZ3N0ciAicmVkaWdlcmEgbsOkc3RsYWQgQlNELWRpc2tldGlrZXR0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTgKK21zZ2lkICJ0b2dnbGUgdGhlIGRvcyBjb21wYXRpYmlsaXR5IGZsYWciCittc2dzdHIgInNsw6UgcMOlL2F2IGRvcy1rb21wYXRpYmlsaXRldHNmbGFnZ2FuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjAKK21zZ2lkICJtb3ZlIGJlZ2lubmluZyBvZiBkYXRhIGluIGEgcGFydGl0aW9uIgorbXNnc3RyICJmbHl0dGEgYsO2cmphbiBww6UgZGF0YSBpIGVuIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIxCittc2dpZCAiY2hhbmdlIHRoZSBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIsOkbmRyYSBkaXNraWRlbnRpZmllcmFyZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMworbXNnaWQgInJldHVybiBmcm9tIHByb3RlY3RpdmUvaHlicmlkIE1CUiB0byBHUFQiCittc2dzdHIgImfDpSB0aWxsYmFrYSBmcsOlbiBza3lkZGFuZGUvaHlicmlkLU1CUiB0aWxsIEdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjMzCittc2dpZCAiQlNEIgorbXNnc3RyICJCU0QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNAorbXNnaWQgImVkaXQgZHJpdmUgZGF0YSIKK21zZ3N0ciAicmVkaWdlcmEgZW5oZXRzZGF0YSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM1Cittc2dpZCAiaW5zdGFsbCBib290c3RyYXAiCittc2dzdHIgImluc3RhbGxlcmEgZsO2cnN0YXJ0YXJlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzYKK21zZ2lkICJzaG93IGNvbXBsZXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAidmlzYSBmdWxsc3TDpG5kaWcgZGlza2V0aWtldHQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNworbXNnaWQgImxpbmsgQlNEIHBhcnRpdGlvbiB0byBub24tQlNEIHBhcnRpdGlvbiIKK21zZ3N0ciAibMOkbmthIEJTRC1wYXJ0aXRpb24gdGlsbCBpY2tlLUJTRC1wYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscCAoZXhwZXJ0IGNvbW1hbmRzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkhqw6RscCAoZXhwZXJ0LWtvbW1hbmRvbik6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM3MSBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHA6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJIasOkbHA6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UncmUgZWRpdGluZyBuZXN0ZWQgJyVzJyBwYXJ0aXRpb24gdGFibGUsIHByaW1hcnkgcGFydGl0aW9uIHRhYmxlIGlzICclcycuIgorbXNnc3RyICJEdSByZWRpZ2VyYXIgZGVuIG7DpHN0bGFkZSBwYXJ0aXRpb25zdGFiZWxsZW4g4oCdJXPigJ0sIHByaW3DpHJwYXJ0aXRpb25zdGFiZWxsIMOkciDigJ0lc+KAnS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMQorbXNnaWQgIkV4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJFeHBlcnRrb21tYW5kbyAobSBmw7ZyIGhqw6RscCk6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDIzCittc2dpZCAiQ29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAiS29tbWFuZG8gKG0gZsO2ciBoasOkbHApOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQzMworIywgYy1mb3JtYXQKK21zZ2lkICIlYzogdW5rbm93biBjb21tYW5kIgorbXNnc3RyICIlYzogb2vDpG50IGtvbW1hbmRvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NTggZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg1Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZSIKK21zZ3N0ciAiU2tyaXYgaW4gZmlsbmFtbiBmw7ZyIHNrcmlwdCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDcxCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBhcHBsaWVkLiIKK21zZ3N0ciAiU2tyaXB0IHRpbGzDpG1wYWRlcyBmcmFtZ8OlbmdzcmlrdC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ5NworbXNnaWQgIkZhaWxlZCB0byB0cmFuc2Zvcm0gZGlzayBsYXlvdXQgaW50byBzY3JpcHQiCittc2dzdHIgIk1pc3NseWNrYWRlcyBtZWQgYXR0IGfDtnJhIG9tIGRpc2tsYXlvdXRlbiB0aWxsIGV0dCBza3JpcHQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxMQorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgc2F2ZWQuIgorbXNnc3RyICJTa3JpcHQgc3BhcmFkZXMgZnJhbWfDpW5nc3Jpa3QuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzQgZGlzay11dGlscy9zZmRpc2suYzoxNDc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiUGFydGl0aW9uICMlenUgaW5uZWjDpWxsZXIgZW4gJXMtc2lnbmF0dXIuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzcgZGlzay11dGlscy9zZmRpc2suYzoxNDc5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gcmVtb3ZlIHRoZSBzaWduYXR1cmU/IgorbXNnc3RyICJWaWxsIGR1IHRhIGJvcnQgc2lnbmF0dXJlbj8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU3NQorbXNnaWQgImZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHNrcml2YSBkaXNrZXRpa2V0dCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjEzCittc2dpZCAiRmFpbGVkIHRvIGZpeCBwYXJ0aXRpb25zIG9yZGVyLiIKK21zZ3N0ciAiTWlzc2x5Y2thZGVzIG1lZCBhdHQgZml4YSBwYXJ0aXRpb25zb3JkbmluZy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYxNQorbXNnaWQgIlBhcnRpdGlvbnMgb3JkZXIgZml4ZWQuIgorbXNnc3RyICJQYXJ0aXRpb25zb3JkbmluZyBmaXhhZC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIkt1bmRlIGludGUgdGEgYm9ydCBwYXJ0aXRpb24gJXp1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjAKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIGN5bGluZGVycyAoREVQUkVDQVRFRCEpLiIKK21zZ3N0ciAiw4RuZHJhciB2aXNuaW5ncy0vaW5tYXRuaW5nc2VuaGV0ZXIgdGlsbCBjeWxpbmRyYXIgKEbDllLDhUxEUkFUISkuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjIKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIHNlY3RvcnMuIgorbXNnc3RyICLDhG5kcmFyIHZpc25pbmdzLS9pbm1hdG5pbmdzZW5oZXRlciB0aWxsIHNla3RvcmVyLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjcyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjg0MgorbXNnaWQgIkxlYXZpbmcgbmVzdGVkIGRpc2tsYWJlbC4iCittc2dzdHIgIkzDpG1uYXIga3ZhciBuw6RzdGxhZCBkaXNrZXRpa2V0dC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjcwOQorbXNnaWQgIk5ldyBtYXhpbXVtIGVudHJpZXMiCittc2dzdHIgIk55dHQgbWF4aW1hbHQgYW50YWwgcG9zdGVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MTkKK21zZ2lkICJFbnRlcmluZyBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgZGlza2xhYmVsLiIKK21zZ3N0ciAiR8OlIGluIGkgc2t5ZGRhbmRlL2h5YnJpZC1NQlItZGlza2V0aWtldHQuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MzUKK21zZ2lkICJOZXcgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICJOeSBVVUlEIChpIDgtNC00LTQtMTItZm9ybWF0KSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzUwCittc2dpZCAiTmV3IG5hbWUiCittc2dzdHIgIk55dHQgbmFtbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6ODEzCittc2dpZCAiRW50ZXJpbmcgbmVzdGVkIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICJNYXRhciBpbiBuw6RzdGxhZCBCU0QtZGlza2V0aWtldHQuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OTgKK21zZ2lkICJOdW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICJBbnRhbCBjeWxpbmRyYXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMDIKK21zZ2lkICJOdW1iZXIgb2YgaGVhZHMiCittc2dzdHIgIkFudGFsIGh1dnVkZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMDYKK21zZ2lkICJOdW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAiQW50YWwgc2VrdG9yZXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkXG4iCittc2dzdHIgIiVzIMOkciBtb250ZXJhZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgw6RyIGludGUgbW9udGVyYWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMxIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzQKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1MyBkaXNrLXV0aWxzL3NmZGlzay5jOjI5NyBsaWJmZGlzay9zcmMvYnNkLmM6NjQ2CisjOiBsaWIvcGF0aC5jOjExMCBsaWIvcGF0aC5jOjEzMSBsaWIvcGF0aC5jOjE1MiBsaWIvcGF0aC5jOjIwMAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIxMyBsb2dpbi11dGlscy9sYXN0LmM6MjUwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo2NjQKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjM5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjcxNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgJXMiCittc2dzdHIgImthbiBpbnRlIGzDpHNhICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMzMgbGliL3BhdGguYzoxMzMgbGliL3BhdGguYzoxNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFyc2UgZXJyb3I6ICVzIgorbXNnc3RyICJ0b2xrbmluZ3NmZWw6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgJXMiCittc2dzdHIgImthbiBpbnRlIHNrYXBhIGthdGFsb2cgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM3MworIywgYy1mb3JtYXQKK21zZ2lkICJMb2NraW5nIGRpc2sgYnkgJXMgLi4uICIKK21zZ3N0ciAiTMOlc2VyIGRpc2sgZ2Vub20gJXMg4oCmICIKKworIzogZGlzay11dGlscy9mc2NrLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgIih3YWl0aW5nKSAiCittc2dzdHIgIih2w6RudGFyKSAiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGVzZSBhcmUgZm9sbG93dXBzIHRvICJMb2NraW5nIGRpc2suLi4iLgorIzogZGlzay11dGlscy9mc2NrLmM6Mzk0Cittc2dpZCAic3VjY2VlZGVkIgorbXNnc3RyICJseWNrYWRlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6Mzk0Cittc2dpZCAiZmFpbGVkIgorbXNnc3RyICJtaXNzbHlja2FkZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQxMgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmxvY2tpbmcgJXMuXG4iCittc2dzdHIgIkzDpXNlciB1cHAgJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0dXAgZGVzY3JpcHRpb24gZm9yICVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBzdMOkbGxhIGluIGJlc2tyaXZuaW5nIGbDtnIgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ3NCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3ODIgbWlzYy11dGlscy9sc2Jsay5jOjQzMworIzogc3lzLXV0aWxzL21vdW50LmM6MTAyIHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6MTkgc3lzLXV0aWxzL3Vtb3VudC5jOjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiB0b2xrbmluZ3NmZWwgcMOlIHJhZCAlZCAtLSBob3BwYXMgw7Z2ZXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjUwNiBkaXNrLXV0aWxzL2ZzY2suYzo1MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSBmc3RhYiIKK21zZ3N0ciAiJXM6IG1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIGZzdGFiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2NzkgbG9naW4tdXRpbHMvbG9naW4uYzo5NjggbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMzQKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMDQgc3lzLXV0aWxzL2Zsb2NrLmM6MzQ1IHN5cy11dGlscy9uc2VudGVyLmM6MTUzCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzE2IHN5cy11dGlscy91bnNoYXJlLmM6MjE5IHN5cy11dGlscy91bnNoYXJlLmM6NDIwCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc4MAorbXNnaWQgImZvcmsgZmFpbGVkIgorbXNnc3RyICJmb3JrIG1pc3NseWNrYWRlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGvDtnJuaW5nIG1pc3NseWNrYWRlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzc0Cittc2dpZCAid2FpdDogbm8gbW9yZSBjaGlsZCBwcm9jZXNzPyE/IgorbXNnc3RyICJ2w6RudGE6IGluZ2EgZmxlciBiYXJucHJvY2Vzc2VyPyE/IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3Nzcgc3lzLXV0aWxzL2Zsb2NrLmM6MzYzIHN5cy11dGlscy9zd2Fwb24uYzozNDgKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDA0IHN5cy11dGlscy91bnNoYXJlLmM6NDI1Cittc2dpZCAid2FpdHBpZCBmYWlsZWQiCittc2dzdHIgIndhaXRwaWQgbWlzc2x5Y2thZGVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZy4uLiAlcyBmb3IgZGV2aWNlICVzIGV4aXRlZCB3aXRoIHNpZ25hbCAlZC4iCittc2dzdHIgIlZhcm5pbmfigKYgJXMgZsO2ciBlbmhldCAlcyBhdnNsdXRhZGVzIG1lZCBzaWduYWwgJWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXM6IHN0YXR1cyBpcyAleCwgc2hvdWxkIG5ldmVyIGhhcHBlbi4iCittc2dzdHIgIiVzICVzOiBzdGF0dXMgw6RyICV4LCBza2EgYWxkcmlnIGjDpG5kYS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjg0NworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5pc2hlZCB3aXRoICVzIChleGl0IHN0YXR1cyAlZClcbiIKK21zZ3N0ciAiQXZzbHV0YWRlIG1lZCAlcyAoYXZzbHV0bmluZ3NzdGF0dXMgJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjkyNQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciAlZCAoJW0pIHdoaWxlIGV4ZWN1dGluZyBmc2NrLiVzIGZvciAlcyIKK21zZ3N0ciAiZmVsICVkICglbSkgdmlkIGvDtnJuaW5nIGF2IGZzY2suJXMgZsO2ciAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6OTkxCittc2dpZCAiIgorIkVpdGhlciBhbGwgb3Igbm9uZSBvZiB0aGUgZmlsZXN5c3RlbSB0eXBlcyBwYXNzZWQgdG8gLXQgbXVzdCBiZSBwcmVmaXhlZFxuIgorIndpdGggJ25vJyBvciAnIScuIgorbXNnc3RyICIiCisiQW50aW5nZW4gbcOlc3RlIGFsbGEgZWxsZXIgaW5nYSBhdiBmaWxzeXN0ZW1zdHlwZXJuYSBzb20gYW5nZXMgZsO2ciAtdFxuIgorImbDtnJlZ8OlcyBhdiDigJ1ub+KAnSBlbGxlciDigJ0h4oCdLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgYmFkIGxpbmUgaW4gL2V0Yy9mc3RhYjogYmluZCBtb3VudCB3aXRoIG5vbnplcm8gZnNjayBwYXNzIG51bWJlciIKK21zZ3N0ciAiJXM6IGhvcHBhciDDtnZlciBmZWxha3RpZyByYWQgaSAvZXRjL2ZzdGFiOiBiaW5kLW1vbnRlcmluZyBtZWQgZnNjay1zdGVnbnVtbWVyIHNvbSBpbnRlIMOkciBub2xsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBub25leGlzdGVudCBkZXZpY2VcbiIKK21zZ3N0ciAiJXM6IGhvcHBhciDDtnZlciBlbmhldCBzb20gc2FrbmFzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vbmV4aXN0ZW50IGRldmljZSAoXCJub2ZhaWxcIiBmc3RhYiBvcHRpb24gbWF5IGJlIHVzZWQgdG8gc2tpcCB0aGlzIGRldmljZSlcbiIKK21zZ3N0ciAiJXM6IGlja2UtZXhpc3RlcmFuZGUgZW5oZXQgKGZzdGFiLWZsYWdnYW4g4oCdbm9mYWls4oCdIGthbiBhbnbDpG5kYXMgZsO2ciBhdHQgaG9wcGEgw7Z2ZXIgZGVubmEgZW5oZXQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIHVua25vd24gZmlsZXN5c3RlbSB0eXBlXG4iCittc2dzdHIgIiVzOiBob3BwYXIgw7Z2ZXIgb2vDpG5kIGZpbHN5c3RlbXN0eXBcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hlY2sgJXM6IGZzY2suJXMgbm90IGZvdW5kIgorbXNnc3RyICJrYW4gaW50ZSBrb250cm9sbGVyYSAlczogZnNjay4lcyBoaXR0YWRlcyBpbnRlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjU5Cittc2dpZCAiQ2hlY2tpbmcgYWxsIGZpbGUgc3lzdGVtcy5cbiIKK21zZ3N0ciAiS29udHJvbGxlcmFyIGFsbGEgZmlsc3lzdGVtLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzUwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0td2FpdGluZy0tIChwYXNzICVkKVxuIgorbXNnc3RyICItLXbDpG50YXItLSAoc3RlZyAlZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM3NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC0tIFtmcy1vcHRpb25zXSBbPGZpbGVzeXN0ZW0+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSAtLSBbZnMtZmxhZ2dvcl0gWzxmaWxzeXN0ZW0+IOKApl1cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM3OQorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJLb250cm9sbGVyYSBvY2ggcmVwYXJlcmEgZXR0IExpbnV4LWZpbHN5c3RlbS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4MgorbXNnaWQgIiAtQSAgICAgICAgIGNoZWNrIGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLUEgICAgICAgICBrb250cm9sbGVyYSBhbGxhIGZpbHN5c3RlbVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzgzCittc2dpZCAiIC1DIFs8ZmQ+XSAgZGlzcGxheSBwcm9ncmVzcyBiYXI7IGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIgLUMgWzxmZD5dICB2aXNhIGbDtnJsb3Bwc2luZGlrYXRvcjsgZmlsZGVza3JpcHRvciDDpHIgdGlsbCBmw7ZyIGdyYWZpc2thIGFudsOkbmRhcmdyw6Ruc3NuaXR0XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODQKK21zZ2lkICIgLWwgICAgICAgICBsb2NrIHRoZSBkZXZpY2UgdG8gZ3VhcmFudGVlIGV4Y2x1c2l2ZSBhY2Nlc3NcbiIKK21zZ3N0ciAiIC1sICAgICAgICAgbMOlcyBlbmhldGVuIGbDtnIgYXR0IGdhcmFudGVyYSBleGtsdXNpdiDDpXRrb21zdFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg1Cittc2dpZCAiIC1NICAgICAgICAgZG8gbm90IGNoZWNrIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1NICAgICAgICAga29udHJvbGxlcmEgaW50ZSBtb250ZXJhZGUgZmlsc3lzdGVtXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODYKK21zZ2lkICIgLU4gICAgICAgICBkbyBub3QgZXhlY3V0ZSwganVzdCBzaG93IHdoYXQgd291bGQgYmUgZG9uZVxuIgorbXNnc3RyICIgLU4gICAgICAgICBleGVrdmVyYSBpbnRlLCBiYXJhIHZpc2EgdmFkIHNvbSBza3VsbGUgaGEgZ2pvcnRzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODcKK21zZ2lkICIgLVAgICAgICAgICBjaGVjayBmaWxlc3lzdGVtcyBpbiBwYXJhbGxlbCwgaW5jbHVkaW5nIHJvb3RcbiIKK21zZ3N0ciAiIC1QICAgICAgICAga29udHJvbGxlcmEgZmlsc3lzdGVtIHBhcmFsbGVsbHQsIGlua2x1c2l2ZSByb3RcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4OAorbXNnaWQgIiAtUiAgICAgICAgIHNraXAgcm9vdCBmaWxlc3lzdGVtOyB1c2VmdWwgb25seSB3aXRoICctQSdcbiIKK21zZ3N0ciAiIC1SICAgICAgICAgaG9wcGEgw7Z2ZXIgcm90Zmlsc3lzdGVtZXQ7IGVuZGFzdCBtZW5pbmdzZnVsbCBtZWQg4oCdLUHigJ1cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4OQorbXNnaWQgIiIKKyIgLXIgWzxmZD5dICByZXBvcnQgc3RhdGlzdGljcyBmb3IgZWFjaCBkZXZpY2UgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiIgorIiAtciBbPGZkPl0gIHJhcHBvcnRlcmEgc3RhdGlzdGlrIGbDtnIgdmFyamUga29udHJvbGxlcmFkIGVuaGV0O1xuIgorIiAgICAgICAgICAgIGZpbGRlc2tyaXB0b3Igw6RyIHRpbGwgZsO2ciBncmFmaXNrYSBhbnbDpG5kYXJncsOkbnNzbml0dFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkxCittc2dpZCAiIC1zICAgICAgICAgc2VyaWFsaXplIHRoZSBjaGVja2luZyBvcGVyYXRpb25zXG4iCittc2dzdHIgIiAtcyAgICAgICAgIHNlcmlhbGlzZXJhIGtvbnRyb2xsw6V0Z8OkcmRlclxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkyCittc2dpZCAiIC1UICAgICAgICAgZG8gbm90IHNob3cgdGhlIHRpdGxlIG9uIHN0YXJ0dXBcbiIKK21zZ3N0ciAiIC1UICAgICAgICAgdmlzYSBpbnRlIHRpdGVsIHZpZCBzdGFydFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkzCittc2dpZCAiIgorIiAtdCA8dHlwZT4gIHNwZWNpZnkgZmlsZXN5c3RlbSB0eXBlcyB0byBiZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIDx0eXBlPiBpcyBhbGxvd2VkIHRvIGJlIGEgY29tbWEtc2VwYXJhdGVkIGxpc3RcbiIKK21zZ3N0ciAiIgorIiAtdCA8dHlwPiAgIGFuZ2UgZmlsc3lzdGVtc3R5cGVyIHNvbSBza2Ega29udHJvbGxlcmFzO1xuIgorIiAgICAgICAgICAgIDx0eXA+IGbDpXIgdmFyYSBlbiBrb21tYXNlcGFyZXJhZCBsaXN0YVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk1Cittc2dpZCAiIC1WICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC1WICAgICAgICAgZsO2cmtsYXJhIHZhZCBzb20gaMOkbmRlclxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk2Cittc2dpZCAiIC0/ICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC0/ICAgICAgICAgdmlzYSBkZW5uYSBoasOkbHAgb2NoIGF2c2x1dGFcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OQorbXNnaWQgIlNlZSB0aGUgc3BlY2lmaWMgZnNjay4qIGNvbW1hbmRzIGZvciBhdmFpbGFibGUgZnMtb3B0aW9ucy4iCittc2dzdHIgIlNlIGRlIHNwZWNpZmlrYSBmc2NrLiota29tbWFuZG9uYSBmw7ZyIHRpbGxnw6RuZ2xpZ2EgZnMtZmxhZ2dvci4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MzgKK21zZ2lkICJ0b28gbWFueSBkZXZpY2VzIgorbXNnc3RyICJhbGx0IGbDtnIgbcOlbmdhIGVuaGV0ZXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NTAKK21zZ2lkICJJcyAvcHJvYyBtb3VudGVkPyIKK21zZ3N0ciAiw4RyIC9wcm9jIG1vbnRlcmF0PyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ1OAorIywgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHJvb3QgdG8gc2NhbiBmb3IgbWF0Y2hpbmcgZmlsZXN5c3RlbXM6ICVzIgorbXNnc3RyICJtw6VzdGUgdmFyYSByb290IGbDtnIgYXR0IGxldGEgZWZ0ZXIgbWF0Y2hhbmRlIGZpbHN5c3RlbTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgZmluZCBtYXRjaGluZyBmaWxlc3lzdGVtOiAlcyIKK21zZ3N0ciAia3VuZGUgaW50ZSBoaXR0YSBtYXRjaGFuZGUgZmlsc3lzdGVtOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ3MCBkaXNrLXV0aWxzL2ZzY2suYzoxNTY1IG1pc2MtdXRpbHMva2lsbC5jOjM2MworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mjc5Cittc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgorbXNnc3RyICJhbGx0IGbDtnIgbcOlbmdhIGFyZ3VtZW50IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTI1IGRpc2stdXRpbHMvZnNjay5jOjE1MjgKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yIgorbXNnc3RyICJvZ2lsdGlndCBhcmd1bWVudCBmw7ZyIC1yIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTc2CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXI6ICVkIgorbXNnc3RyICJvZ2lsdGlndCBhcmd1bWVudCBmw7ZyIC1yOiAlZCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTYxOAorbXNnaWQgInRoZSAtbCBvcHRpb24gY2FuIGJlIHVzZWQgd2l0aCBvbmUgZGV2aWNlIG9ubHkgLS0gaWdub3JlIgorbXNnc3RyICJmbGFnZ2FuIC1sIGthbiBlbmRhc3QgYW52w6RuZGFzIG1lZCBlbiBlbmhldCAtLSBob3BwYXIgw7Z2ZXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT5cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSA8ZmlsPlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE2Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIGNvbXByZXNzZWQgUk9NIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIktvbnRyb2xsZXJhIG9jaCByZXBhcmVyYSBldHQga29tcHJpbWVyYXQgUk9NLWZpbHN5c3RlbS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOQorbXNnaWQgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIGVuZGFzdCBmw7ZyIGtvbXBhdGliaWxpdGV0LCBob3BwYXMgw7Z2ZXJcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgYmUgbW9yZSB2ZXJib3NlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmFyIHV0ZsO2cmxpZ2FyZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIxCittc2dpZCAiIC15ICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiAteSAgICAgICAgICAgICAgICAgICAgICAgZW5kYXN0IGbDtnIga29tcGF0aWJpbGl0ZXQsIGhvcHBhcyDDtnZlclxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIyCittc2dpZCAiIC1iLCAtLWJsb2Nrc2l6ZSA8c2l6ZT4gICB1c2UgdGhpcyBibG9ja3NpemUsIGRlZmF1bHRzIHRvIHBhZ2Ugc2l6ZVxuIgorbXNnc3RyICIgLWIsIC0tYmxvY2tzaXplIDxzdG9ybGVrPiBhbnbDpG5kIGRlbm5hIGJsb2Nrc3Rvcmxlaywgc3RhbmRhcmR2w6RyZGV0IMOkciBzaWRzdG9ybGVrZW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMworbXNnaWQgIiAgICAgLS1leHRyYWN0Wz08ZGlyPl0gICAgdGVzdCB1bmNvbXByZXNzaW9uLCBvcHRpb25hbGx5IGV4dHJhY3QgaW50byA8ZGlyPlxuIgorbXNnc3RyICIgICAgIC0tZXh0cmFjdFs9PGthdD5dICAgIHRlc3RhIGRla29tcHJpbWVyaW5nLCBleHRyYWhlcmEgdmFsZnJpdHQgdGlsbCA8a2F0PlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGZhaWxlZDogdW5hYmxlIHRvIGRldGVybWluZSBkZXZpY2Ugc2l6ZTogJXMiCittc2dzdHIgImlvY3RsIG1pc3NseWNrYWRlczoga3VuZGUgaW50ZSBhdmfDtnJhIGVuaGV0c3N0b3JsZWs6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGJsb2NrIGRldmljZSBvciBmaWxlOiAlcyIKK21zZ3N0ciAiaW5nZW4gYmxvY2tlbmhldCBlbGxlciBmaWw6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTcwIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDYKK21zZ2lkICJmaWxlIGxlbmd0aCB0b28gc2hvcnQiCittc2dzdHIgImZpbGzDpG5nZGVuIMOkciBmw7ZyIGtvcnQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzkgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzMworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI0OSBsaWJmZGlzay9zcmMvYnNkLmM6NzE4IGxpYmZkaXNrL3NyYy9ic2QuYzo4OTAKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMDggbG9naW4tdXRpbHMvbGFzdC5jOjI0MiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgInNlZWsgb24gJXMgZmFpbGVkIgorbXNnc3RyICJzw7ZrbmluZyBww6UgJXMgbWlzc2x5Y2thZGVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODcKK21zZ2lkICJzdXBlcmJsb2NrIG1hZ2ljIG5vdCBmb3VuZCIKK21zZ3N0ciAic3VwZXJibG9ja3NpZ25hdHVyIGhpdHRhZGVzIGludGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3JhbWZzIGVuZGlhbm5lc3MgaXMgJXNcbiIKK21zZ3N0ciAiY3JhbWZzIGVuZGlhbm5lc3Mgw6RyICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTEKK21zZ2lkICJiaWciCittc2dzdHIgImJpZyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MQorbXNnaWQgImxpdHRsZSIKK21zZ3N0ciAibGl0dGxlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTk1Cittc2dpZCAidW5zdXBwb3J0ZWQgZmlsZXN5c3RlbSBmZWF0dXJlcyIKK21zZ3N0ciAiZmlsc3lzdGVtc2Z1bmt0aW9uZXIgc3TDtmRzIGludGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VwZXJibG9jayBzaXplICglZCkgdG9vIHNtYWxsIgorbXNnc3RyICJzdXBlcmJsb2Nrc3N0b3JsZWsgKCVkKSDDpHIgZsO2ciBsaXRlbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNAorbXNnaWQgInplcm8gZmlsZSBjb3VudCIKK21zZ3N0ciAiYW50YWwgbm9sbGZpbGVyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA4Cittc2dpZCAiZmlsZSBleHRlbmRzIHBhc3QgZW5kIG9mIGZpbGVzeXN0ZW0iCittc2dzdHIgImZpbGVuIHN0csOkY2tlciBzaWcgZsO2cmJpIHNsdXRldCBww6UgZmlsc3lzdGVtZXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMTAKK21zZ2lkICJvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAiZ2FtbWFsdCBjcmFtZnMtZm9ybWF0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjE5Cittc2dpZCAidW5hYmxlIHRvIHRlc3QgQ1JDOiBvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAia2FuIGludGUgdGVzdGEgQ1JDOiBnYW1tYWx0IGNyYW1mcy1mb3JtYXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNzIKK21zZ2lkICJjcmMgZXJyb3IiCittc2dzdHIgImNyYy1mZWwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTU0Cittc2dpZCAic2VlayBmYWlsZWQiCittc2dzdHIgInPDtmtuaW5nIG1pc3NseWNrYWRlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwNgorbXNnaWQgInJlYWQgcm9tZnMgZmFpbGVkIgorbXNnc3RyICJsw6RzbmluZyBhdiByb21mcyBtaXNzbHlja2FkZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMzgKK21zZ2lkICJyb290IGlub2RlIGlzIG5vdCBkaXJlY3RvcnkiCittc2dzdHIgInJvdC1pbm9kZW4gw6RyIGludGUgZW4ga2F0YWxvZyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM0MgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgcm9vdCBvZmZzZXQgKCVsdSkiCittc2dzdHIgImZlbGFrdGlnIHJvdHBvc2l0aW9uICglbHUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzYwCittc2dpZCAiZGF0YSBibG9jayB0b28gbGFyZ2UiCittc2dzdHIgImRhdGFibG9jayBmw7ZyIHN0b3J0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgImRlY29tcHJlc3Npb24gZXJyb3I6ICVzIgorbXNnc3RyICJkZWtvbXByaW1lcmluZ3NmZWw6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgaG9sZSBhdCAlbHUgKCV6dSlcbiIKK21zZ3N0ciAiICBow6VsIHZpZCAlbHUgKCV6dSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5NyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgdW5jb21wcmVzc2luZyBibG9jayBhdCAlbHUgdG8gJWx1ICglbHUpXG4iCittc2dzdHIgIiAgZGVrb21wcmltZXJhciBibG9jayB2aWQgJWx1IHRpbGwgJWx1ICglbHUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJsb2NrICglbGQpIGJ5dGVzIgorbXNnc3RyICJpY2tlLWJsb2NrICglbGQpIGJ5dGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLXNpemUgKCVsZCB2cyAlbGQpIGJ5dGVzIgorbXNnc3RyICJpY2tlLXN0b3JsZWsgKCVsZCB2ZXJzdXMgJWxkKSBieXRlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDEzIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTYKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTA0IG1pc2MtdXRpbHMvdXVpZGQuYzozNzUgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4MgorIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzUgc3lzLXV0aWxzL3NldHByaXYuYzo1NTggc3lzLXV0aWxzL3N3YXBvbi5jOjM4OQorIzogdGVybS11dGlscy90dHltc2cuYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkOiAlcyIKK21zZ3N0ciAic2tyaXZuaW5nIG1pc3NseWNrYWRlczogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAibGNob3duIGZhaWxlZDogJXMiCittc2dzdHIgImxjaG93biBtaXNzbHlja2FkZXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI4CisjLCBjLWZvcm1hdAorbXNnaWQgImNob3duIGZhaWxlZDogJXMiCittc2dzdHIgImNob3duIG1pc3NseWNrYWRlczogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidXRpbWUgZmFpbGVkOiAlcyIKK21zZ3N0ciAidXRpbWUgbWlzc2x5Y2thZGVzOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAia2F0YWxvZy1pbm9kIGhhciBwb3NpdGlvbiBub2xsIG9jaCBzdG9ybGVrIHNvbSBpbnRlIMOkciBub2xsOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ2MAorIywgYy1mb3JtYXQKK21zZ2lkICJta2RpciBmYWlsZWQ6ICVzIgorbXNnc3RyICJta2RpciBtaXNzbHlja2FkZXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc2Cittc2dpZCAiZmlsZW5hbWUgbGVuZ3RoIGlzIHplcm8iCittc2dzdHIgImZpbG5hbW5zbMOkbmdkIMOkciBub2xsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc4Cittc2dpZCAiYmFkIGZpbGVuYW1lIGxlbmd0aCIKK21zZ3N0ciAiZmVsYWt0aWcgZmlsbmFtbnNsw6RuZ2QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0ODQKK21zZ2lkICJiYWQgaW5vZGUgb2Zmc2V0IgorbXNnc3RyICJmZWxha3RpZyBpbm9kc3N0b3JsZWsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0OTkKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZSIKK21zZ3N0ciAiZmlsLWlub2QgaGFyIHBvc2l0aW9uIG5vbGwgb2NoIHN0b3JsZWsgc29tIGludGUgw6RyIG5vbGwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MDIKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIHNpemUgYW5kIG5vbi16ZXJvIG9mZnNldCIKK21zZ3N0ciAiZmlsLWlub2QgaGFyIHN0b3JsZWsgbm9sbCBvY2ggcG9zaXRpb24gc29tIGludGUgw6RyIG5vbGwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzEKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIG9mZnNldCIKK21zZ3N0ciAic3ltYm9saXNrIGzDpG5rIGhhciBwb3NpdGlvbiBzb20gw6RyIG5vbGwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzMKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIHNpemUiCittc2dzdHIgInN5bWJvbGlzayBsw6RuayBoYXIgc3RvcmxlayBub2xsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTQyCisjLCBjLWZvcm1hdAorbXNnaWQgInNpemUgZXJyb3IgaW4gc3ltbGluazogJXMiCittc2dzdHIgInN0b3JsZWtzZmVsIGkgc3ltYm9saXNrIGzDpG5rOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1NgorIywgYy1mb3JtYXQKK21zZ2lkICJzeW1saW5rIGZhaWxlZDogJXMiCittc2dzdHIgInN5bWxpbmsgbWlzc2x5Y2thZGVzOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU2OQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGZpbGUgaGFzIG5vbi16ZXJvIG9mZnNldDogJXMiCittc2dzdHIgInNwZWNpYWxmaWwgaGFyIHBvc2l0aW9uIHNvbSBpbnRlIMOkciBub2xsOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU3OQorIywgYy1mb3JtYXQKK21zZ2lkICJmaWZvIGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiZmlmbyBoYXIgc3RvcmxlayBzb20gaW50ZSDDpHIgbm9sbDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAidXR0YWcgaGFyIHN0b3JsZWsgc29tIGludGUgw6RyIG5vbGw6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg4CisjLCBjLWZvcm1hdAorbXNnaWQgImJvZ3VzIG1vZGU6ICVzICglbykiCittc2dzdHIgImZlbGFrdGlndCBsw6RnZTogJXMgKCVvKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5NworIywgYy1mb3JtYXQKK21zZ2lkICJta25vZCBmYWlsZWQ6ICVzIgorbXNnc3RyICJta25vZCBtaXNzbHlja2FkZXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjI5CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIHN0YXJ0ICglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQgKCV6dSkiCittc2dzdHIgImthdGFsb2dkYXRhYsO2cmphbiAoJWx1KSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIGLDtnJqYW4gKCV6dSkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGRhdGEgZW5kICglbHUpICE9IGZpbGUgZGF0YSBzdGFydCAoJWx1KSIKK21zZ3N0ciAia2F0YWxvZ2RhdGFzbHV0ICglbHUpICE9IGZpbGRhdGFiw7ZyamFuICglbHUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjM3Cittc2dpZCAiaW52YWxpZCBmaWxlIGRhdGEgb2Zmc2V0IgorbXNnc3RyICJvZ2lsdGlnIGZpbGRhdGFwb3NpdGlvbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY4NCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzI2Cittc2dpZCAiaW52YWxpZCBibG9ja3NpemUgYXJndW1lbnQiCittc2dzdHIgIm9naWx0aWd0IGFyZ3VtZW50IHRpbGwgYmxvY2tzdG9ybGVrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBPS1xuIgorbXNnc3RyICIlczogT0tcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg0Cittc2dpZCAiQ2hlY2sgdGhlIGNvbnNpc3RlbmN5IG9mIGEgTWluaXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiS29udHJvbGxlcmFyIE1pbml4LWZpbHN5c3RlbS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg2Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgbGlzdCBhbGwgZmlsZW5hbWVzXG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgIGxpc3RhIGFsbGEgZmlsbmFtblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODcKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICBhdXRvbWF0aWMgcmVwYWlyXG4iCittc2dzdHIgIiAtYSwgLS1hdXRvICAgICAgIGF1dG9tYXRpc2sgcmVwYXJhdGlvblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODgKK21zZ2lkICIgLXIsIC0tcmVwYWlyICAgICBpbnRlcmFjdGl2ZSByZXBhaXJcbiIKK21zZ3N0ciAiIC1yLCAtLXJlcGFpciAgICAgaW50ZXJha3RpdiByZXBhcmF0aW9uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGJlIHZlcmJvc2VcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgdmFyIHV0ZsO2cmxpZ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTAKK21zZ2lkICIgLXMsIC0tc3VwZXIgICAgICBvdXRwdXQgc3VwZXItYmxvY2sgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiIC1zLCAtLXN1cGVyICAgICAgbWF0YSB1dCBpbmZvcm1hdGlvbiBvbSBzdXBlcmJsb2NrXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MQorbXNnaWQgIiAtbSwgLS11bmNsZWFyZWQgIGFjdGl2YXRlIG1vZGUgbm90IGNsZWFyZWQgd2FybmluZ3NcbiIKK21zZ3N0ciAiIC1tLCAtLXVuY2xlYXJlZCAgYWt0aXZlcmEgbMOkZ2V0IOKAnWludGUgcmVuc2F0IHZhcm5pbmdhcuKAnVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTIKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICBmb3JjZSBjaGVja1xuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICB0dmluZ2Ega29udHJvbGxcbiIKKworIy4gVFJBTlNMQVRPUlM6IHRoZXNlIHllcyBubyBxdWVzdGlvbnMgdXNlcyBycG1hdGNoKCksIGFuZCBzaG91bGQgYmUKKyMuICogdHJhbnNsYXRlZC4KKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoeS9uKT8gIgorbXNnc3RyICIlcyAoai9uKT8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG4veSk/ICIKK21zZ3N0ciAiJXMgKG4vaik/ICIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInlcbiIKK21zZ3N0ciAialxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiblxuIgorbXNnc3RyICJuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkLlx0ICIKK21zZ3N0ciAiJXMgw6RyIG1vbnRlcmFkLlx0ICIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg5Cittc2dpZCAiRG8geW91IHJlYWxseSB3YW50IHRvIGNvbnRpbnVlIgorbXNnc3RyICJWaWxsIGR1IHZlcmtsaWdlbiBmb3J0c8OkdHRhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2sgYWJvcnRlZC5cbiIKK21zZ3N0ciAia29udHJvbGwgYXZicnV0ZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMxOSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA8IEZJUlNUWk9ORSBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJab25udW1tZXIgPCBGSVJTVFpPTkUgaSBmaWxlbiDigJ0lc+KAnS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA+PSBaT05FUyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJab25udW1tZXIgPj0gWk9ORVMgaSBmaWxlbiDigJ0lc+KAnS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyNiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDcKK21zZ2lkICJSZW1vdmUgYmxvY2siCittc2dzdHIgIlRhIGJvcnQgYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiB1bmFibGUgdG8gc2VlayB0byBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiTMOkc2ZlbDoga2FuIGludGUgc8O2a2EgdGlsbCBibG9ja2V0IGkgZmlsZW4g4oCdJXPigJ1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiTMOkc2ZlbDogZmVsYWt0aWd0IGJsb2NrIGkgZmlsZW4g4oCdJXPigJ1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJbnRlcm5hbCBlcnJvcjogdHJ5aW5nIHRvIHdyaXRlIGJhZCBibG9ja1xuIgorIldyaXRlIHJlcXVlc3QgaWdub3JlZFxuIgorbXNnc3RyICIiCisiSW50ZXJudCBmZWw6IGbDtnJzw7ZrZXIgYXR0IHNrcml2YSBmZWxha3RpZ3QgYmxvY2tcbiIKKyJTa3JpdmJlZ8OkcmFuIGlnbm9yZXJhc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAic8O2a25pbmcgbWlzc2x5Y2thZGVzIGkgXCJ3cml0ZV9ibG9ja1wiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGUgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiU2tyaXZmZWw6IGZlbGFrdGlndCBibG9jayBpIGZpbGVuIFwiJXNcIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MDUKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9zdXBlcl9ibG9jayIKK21zZ3N0ciAic8O2a25pbmcgbWlzc2x5Y2thZGVzIGkgXCJ3cml0ZV9zdXBlcl9ibG9ja1wiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MDcKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgImthbiBpbnRlIHNrcml2YSBzdXBlcmJsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjAKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICJLYW4gaW50ZSBza3JpdmEgaW5vZHN0YWJlbGwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyMworbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiS2FuIGludGUgc2tyaXZhIHpvbnRhYmVsbCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTI2Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiS2FuIGludGUgc2tyaXZhIGlub2RlciIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTU4Cittc2dpZCAidW5hYmxlIHRvIGFsbG9jIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKK21zZ3N0ciAia2FuIGludGUgYWxsb2tlcmEgYnVmZmVydCBmw7ZyIHN1cGVyYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2MQorbXNnaWQgInVuYWJsZSB0byByZWFkIHN1cGVyIGJsb2NrIgorbXNnc3RyICJrYW4gaW50ZSBsw6RzYSBzdXBlcmJsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODMKK21zZ2lkICJiYWQgbWFnaWMgbnVtYmVyIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJmZWxha3RpZyBtYWdpc2sgc2lmZnJhIGkgc3VwZXJibG9ja2V0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODUKK21zZ2lkICJPbmx5IDFrIGJsb2Nrcy96b25lcyBzdXBwb3J0ZWQiCittc2dzdHIgIkVuZGFzdCAxIGtCIHN0b3JhIGJsb2NrL3pvbmVyIHN0w7ZkcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg3Cittc2dpZCAiYmFkIHNfbmlub2RlcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiZmVsYWt0aWd0IHNfbmlub2Rlcy1mw6RsdCBpIHN1cGVyYmxvY2tldCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg5Cittc2dpZCAiYmFkIHNfaW1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgImZlbGFrdGlndCBzX2ltYXBfYmxvY2tzLWbDpGx0IGkgc3VwZXJibG9ja2V0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTEKK21zZ2lkICJiYWQgc19maXJzdGRhdGF6b25lIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJmZWxha3RpZ3Qgc19maXJzdGRhdGF6b25lLWbDpGx0IGkgc3VwZXJibG9ja2V0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTQKK21zZ2lkICJiYWQgc196bWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiZmVsYWt0aWd0IHNfem1hcF9ibG9ja3MtZsOkbHQgaSBzdXBlcmJsb2NrZXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxMAorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIG1hcCIKK21zZ3N0ciAiS2FuIGludGUgYWxsb2tlcmEgYnVmZmVydCBmw7ZyIGlub2RzdGFiZWxsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTMKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIG1hcCIKK21zZ3N0ciAiS2FuIGludGUgYWxsb2tlcmEgYnVmZmVydCBmw7ZyIHpvbmthcnRhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTYKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCittc2dzdHIgIkthbiBpbnRlIGFsbG9rZXJhIGJ1ZmZlcnQgZsO2ciBpbm9kZXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxOQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIGNvdW50IgorbXNnc3RyICJLYW4gaW50ZSBhbGxva2VyYSBidWZmZXJ0IGbDtnIgaW5vZHNyw6RrbmFyZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjIyCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBjb3VudCIKK21zZ3N0ciAiS2FuIGludGUgYWxsb2tlcmEgYnVmZmVydCBmw7ZyIHpvbnLDpGtuYXJlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjYKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZSBtYXAiCittc2dzdHIgIkthbiBpbnRlIGzDpHNhIGlub2RzdGFiZWxsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzAKK21zZ2lkICJVbmFibGUgdG8gcmVhZCB6b25lIG1hcCIKK21zZ3N0ciAiS2FuIGludGUgbMOkc2Egem9udGFiZWxsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzQKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZXMiCittc2dzdHIgIkthbiBpbnRlIGzDpHNhIGlub2RlciIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorbXNnc3RyICJWYXJuaW5nOiBcIkZpcnN0em9uZVwiICE9IFwiTm9ybV9maXJzdHpvbmVcIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGlub2Rlc1xuIgorbXNnc3RyICIlbGQgaW5vZGVyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgYmxvY2tzXG4iCittc2dzdHIgIiVsZCBibG9ja1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ZGF0YXpvbmU9JWpkICglamQpXG4iCittc2dzdHIgIkbDtnJzdGFkYXRhem9uPSVqZCAoJWpkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JWRcbiIKK21zZ3N0ciAiWm9uc3Rvcmxlaz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWF4c2l6ZT0lenVcbiIKK21zZ3N0ciAiTWF4aW1hbCBzdG9ybGVrPSV6dVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBzdGF0ZT0lZFxuIgorbXNnc3RyICJGaWxzeXN0ZW1zdGlsbHN0w6VuZD0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm5hbWVsZW49JXpkXG4iCisiXG4iCittc2dzdHIgIiIKKyJuYW1ubGdkPSV6ZFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NjQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVkIG1hcmtlZCB1bnVzZWQsIGJ1dCB1c2VkIGZvciBmaWxlICclcydcbiIKK21zZ3N0ciAiSW5vZCAlZCDDpHIgbWFya2VyYWQgc29tIG9hbnbDpG5kLCBtZW4gYW52w6RuZHMgZsO2ciBmaWxlbiDigJ0lc+KAnVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NjcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzE3Cittc2dpZCAiTWFyayBpbiB1c2UiCittc2dzdHIgIk3DpHJrIHNvbSBhbnbDpG5kIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2ODkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaWxlIGAlcycgaGFzIG1vZGUgJTA1b1xuIgorbXNnc3RyICJGaWxlbiDigJ0lc+KAnSBoYXIgcsOkdHRpZ2hldGVybmEgJTA1b1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2OTYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IGlub2RlIGNvdW50IHRvbyBiaWcuXG4iCittc2dzdHIgIlZhcm5pbmc6IGFudGFsZXQgaW5vZGVyIMOkciBmw7ZyIHN0b3J0LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NTUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzYzCittc2dpZCAicm9vdCBpbm9kZSBpc24ndCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAicm90LWlub2RlbiDDpHIgaW50ZSBlbiBrYXRhbG9nIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NzUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrIGhhcyBiZWVuIHVzZWQgYmVmb3JlLiBOb3cgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiQmxvY2tldCBoYXIgYW52w6RudHMgdGlkaWdhcmUuIE51IGkgZmlsZW4g4oCdJXPigJ0uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODA4CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTIKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwOAorbXNnaWQgIkNsZWFyIgorbXNnc3RyICJUw7ZtIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrICVkIGluIGZpbGUgYCVzJyBpcyBtYXJrZWQgbm90IGluIHVzZS4iCittc2dzdHIgIkJsb2NrICVkIGkgZmlsZW4g4oCdJXPigJ0gw6RyIG1hcmtlcmF0IHNvbSBvYW52w6RudC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MjAKK21zZ2lkICJDb3JyZWN0IgorbXNnc3RyICJLb3JyaWdlcmEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk1OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkaXJlY3RvcnkgJyVzJyBjb250YWlucyBhIGJhZCBpbm9kZSBudW1iZXIgZm9yIGZpbGUgJyUuKnMnLiIKK21zZ3N0ciAiS2F0YWxvZ2VuIOKAnSVz4oCdIGlubmVow6VsbGVyIGV0dCBmZWxha3RpZ3QgaW5vZHNudW1tZXIgZsO2ciBmaWxlbiDigJ0lLipz4oCdLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTYxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwMzUKK21zZ2lkICIgUmVtb3ZlIgorbXNnc3RyICIgVGEgYm9ydCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTc3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdFxuIgorbXNnc3RyICIlczogZmVsYWt0aWcga2F0YWxvZzog4oCdLuKAnSBrb21tZXIgaW50ZSBmw7Zyc3RcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTg2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuLicgaXNuJ3Qgc2Vjb25kXG4iCittc2dzdHIgIiVzOiBmZWxha3RpZyBrYXRhbG9nOiDigJ0uLuKAnSBrb21tZXIgaW50ZSBww6UgYW5kcmEgcGxhdHNcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA5NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTE3Cittc2dpZCAiaW50ZXJuYWwgZXJyb3IiCittc2dzdHIgImludGVybnQgZmVsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDk3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IHNpemUgPCAzMiIKK21zZ3N0ciAiJXM6IGZlbGFrdGlnIGthdGFsb2c6IHN0b3JsZWsgPCAzMiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogaW52YWxpZCBpX3pvbmUsIHVzZSAtLXJlcGFpciB0byBmaXhcbiIKK21zZ3N0ciAiJXM6IGZlbGFrdGlnIGthdGFsb2c6IG9naWx0aWcgaV96b25lLCBhbnbDpG5kIC0tcmVwYWlyIGbDtnIgYXR0IGZpeGFcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEzMgorbXNnaWQgInNlZWsgZmFpbGVkIGluIGJhZF96b25lIgorbXNnc3RyICJzw7ZrbmluZyBtaXNzbHlja2FkZXMgaSBiYWRfem9uZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBtb2RlIG5vdCBjbGVhcmVkLiIKK21zZ3N0ciAiSW5vZCAlbHUgw6RyIGludGUgdMO2bWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTUxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG5vdCB1c2VkLCBtYXJrZWQgdXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiSW5vZCAlbHUgw6RyIG9hbnbDpG5kLCBtYXJrZXJhZCBzb20gYW52w6RuZCBpIGJpdHRhYmVsbGVuLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSB1c2VkLCBtYXJrZWQgdW51c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICJJbm9kICVsdSDDpHIgYW52w6RuZCwgbWFya2VyYWQgc29tIG9hbnbDpG5kIGkgYml0dGFiZWxsZW4uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTQKK21zZ2lkICJTZXQiCittc2dzdHIgIlN0w6RsbCBpbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE4CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSAobW9kZSA9ICUwN28pLCBpX25saW5rcz0lZCwgY291bnRlZD0lZC4iCittc2dzdHIgIklub2QgJWx1IChyw6R0dGlnaGV0ID0gJTA3byksIGlfbmxpbmtzPSVkLCByw6RrbmFkZT0lZC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyMQorbXNnaWQgIlNldCBpX25saW5rcyB0byBjb3VudCIKK21zZ3N0ciAiU3TDpGxsIGlfbmxpbmtzIHRpbGwgcsOka25hdCBhbnRhbCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBtYXJrZWQgaW4gdXNlLCBubyBmaWxlIHVzZXMgaXQuIgorbXNnc3RyICJab24gJWx1OiBtYXJrZXJhZCBzb20gYW52w6RuZCwgaW5nZW4gZmlsIGFudsOkbmRlciBkZW4uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTc5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzUKK21zZ2lkICJVbm1hcmsiCittc2dzdHIgIkF2bWFya2VyYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiWm9uICVsdTogYW52w6RuZHMsIHLDpGtuYWRlPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MworIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbm90IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICJab24gJWx1OiBhbnbDpG5kcyBpbnRlLCByw6RrbmFkZT0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjkxCittc2dpZCAiYmFkIGlub2RlIHNpemUiCittc2dzdHIgImZlbGFrdGlnIHN0b3JsZWsgcMOlIGlub2QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyOTMKK21zZ2lkICJiYWQgdjIgaW5vZGUgc2l6ZSIKK21zZ3N0ciAiZmVsYWt0aWcgc3RvcmxlayBww6UgdjItaW5vZCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTMzNworbXNnaWQgIm5lZWQgdGVybWluYWwgZm9yIGludGVyYWN0aXZlIHJlcGFpcnMiCittc2dzdHIgImJlaMO2dmVyIHRlcm1pbmFsIGbDtnIgaW50ZXJha3RpdmEgcmVwYXJhdGlvbmVyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlcyIKK21zZ3N0ciAiS2FuIGludGUgw7ZwcG5hICVzOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBjbGVhbiwgbm8gY2hlY2suXG4iCittc2dzdHIgIiVzIMOkciByZW50LCBpbmdlbiBrb250cm9sbC5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGb3JjaW5nIGZpbGVzeXN0ZW0gY2hlY2sgb24gJXMuXG4iCittc2dzdHIgIlR2aW5nYXIgZmlsc3lzdGVtc2tvbnRyb2xsIHDDpSAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1NworIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIG9uICVzIGlzIGRpcnR5LCBuZWVkcyBjaGVja2luZy5cbiIKK21zZ3N0ciAiRmlsc3lzdGVtZXQgcMOlICVzIMOkciBzbXV0c2lndCwgYmVow7Z2ZXIga29udHJvbGwuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2bGQgaW5vZGVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICIiCisiXG4iCisiJTZsZCBpbm9kZXIgYW52w6RuZHMgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiU2bGQgem9uZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiU2bGQgem9uZXIgYW52w6RuZHMgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmQgcmVndWxhciBmaWxlc1xuIgorIiU2ZCBkaXJlY3Rvcmllc1xuIgorIiU2ZCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGJsb2NrIGRldmljZSBmaWxlc1xuIgorIiU2ZCBsaW5rc1xuIgorIiU2ZCBzeW1ib2xpYyBsaW5rc1xuIgorIi0tLS0tLVxuIgorIiU2ZCBmaWxlc1xuIgorbXNnc3RyICIiCisiXG4iCisiJTZkIHZhbmxpZ2EgZmlsZXJcbiIKKyIlNmQga2F0YWxvZ2VyXG4iCisiJTZkIHRlY2tlbmVuaGV0c2ZpbGVyXG4iCisiJTZkIGJsb2NrZW5oZXRzZmlsZXJcbiIKKyIlNmQgbMOkbmthclxuIgorIiU2ZCBzeW1ib2xpc2thIGzDpG5rYXJcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmlsZXJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQxMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIkZJTEUgU1lTVEVNIEhBUyBCRUVOIENIQU5HRURcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIkZJTFNZU1RFTUVUIEhBUiDDhE5EUkFUU1xuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MjMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODMzCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUzOSBkaXNrLXV0aWxzL3BhcnR4LmM6MTAzNSBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTIKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzk4IHN5cy11dGlscy9kbWVzZy5jOjY1OSBzeXMtdXRpbHMvd2RjdGwuYzozNDYKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQxMSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI3MiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjM0OQorIzogdGV4dC11dGlscy9wZy5jOjEyNDgKK21zZ2lkICJ3cml0ZSBmYWlsZWQiCittc2dzdHIgInNrcml2bmluZyBtaXNzbHlja2FkZXMiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbWlnaHQgbm90IGJlIGFuIElTTyBmaWxlc3lzdGVtIgorbXNnc3RyICIlczogw6RyIGthbnNrZSBpbnRlIGV0dCBJU08tZmlsc3lzdGVtIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VlayBlcnJvciBvbiAlcyIKK21zZ3N0ciAiZmVsIHZpZCBzw7ZrbmluZyBww6UgJXMiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE0MgorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkIGVycm9yIG9uICVzIgorbXNnc3RyICJsw6RzZmVsIHDDpSAlcyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlY3RvciBjb3VudDogJWQsIHNlY3RvciBzaXplOiAlZFxuIgorbXNnc3RyICJzZWt0b3JhbnRhbDogJWQsIHNla3RvcnN0b3JsZWs6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3MAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxpc285NjYwX2ltYWdlX2ZpbGU+XG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gPGlzby05NjYwX2F2YmlsZG5pbmdzZmlsPlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzQKK21zZ2lkICJTaG93IHRoZSBsZW5ndGggb2YgYW4gSVNPLTk2NjAgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiVmlzYSBsw6RuZ2RlbiBmw7ZyIGV0dCBJU08tOTY2MC1maWxzeXN0ZW0uXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3NworbXNnaWQgIiAtZCwgLS1kaXZpc29yPTxudW1iZXI+ICBkaXZpZGUgdGhlIGFtb3VudCBvZiBieXRlcyBieSA8bnVtYmVyPlxuIgorbXNnc3RyICIgLWQsIC0tZGl2aXNvcj08bnVtbWVyPiAgZGl2aWRlcmEgYW50YWxldCBieXRlIG1lZCA8bnVtbWVyPlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzgKK21zZ2lkICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgc2hvdyBzZWN0b3IgY291bnQgYW5kIHNpemVcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHZpc2EgYW50YWwgc2VrdG9yZXIgb2NoIHN0b3JsZWtcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MjEwCittc2dpZCAiaW52YWxpZCBkaXZpc29yIGFyZ3VtZW50IgorbXNnc3RyICJvZ2lsdGlndCBuw6RtbmFyYXJndW1lbnQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZSBbYmxvY2stY291bnRdXG4iCittc2dzdHIgIkFudsOkbmRuaW5nOiAlcyBbZmxhZ2dvcl0gZW5oZXQgW2FudGFsLWJsb2NrXVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzcKK21zZ2lkICJNYWtlIGFuIFNDTyBiZnMgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiVGlsbHZlcmthIGV0dCBTQ08gYmZzLWZpbHN5c3RlbS5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtTiwgLS1pbm9kZXM9TlVNICAgIHNwZWNpZnkgZGVzaXJlZCBudW1iZXIgb2YgaW5vZGVzXG4iCisiIC1WLCAtLXZuYW1lPU5BTUUgICAgc3BlY2lmeSB2b2x1bWUgbmFtZVxuIgorIiAtRiwgLS1mbmFtZT1OQU1FICAgIHNwZWNpZnkgZmlsZSBzeXN0ZW0gbmFtZVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisiIC1jICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorIiAtbCAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAgICAgICAgICAgICAgICAgICAgIC1WIGFzIHZlcnNpb24gbXVzdCBiZSBvbmx5IG9wdGlvblxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyJGbGFnZ29yOlxuIgorIiAtTiwgLS1pbm9kZXM9TlVNICAgIGFuZ2Ugw7Zuc2thdCBhbnRhbCBpbm9kZXJcbiIKKyIgLVYsIC0tdm5hbWU9TkFNTiAgICBhbmdlIHZvbHltbmFtblxuIgorIiAtRiwgLS1mbmFtZT1OQU1OICAgIGFuZ2UgZmlsc3lzdGVtc25hbW5cbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICBmw7Zya2xhcmEgdmFkIHNvbSBow6RuZGVyXG4iCisiIC1jICAgICAgICAgICAgICAgICAgZGVubmEgZmxhZ2dhIGhvcHBhcyDDtnZlciB1dGFuIG1lZGRlbGFuZGVcbiIKKyIgLWwgICAgICAgICAgICAgICAgICBkZW5uYSBmbGFnZ2EgaG9wcGFzIMO2dmVyIHV0YW4gbWVkZGVsYW5kZVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIHNrcml2IHV0IHZlcnNpb25zaW5mb3JtYXRpb24gb2NoIGF2c2x1dGFcbiIKKyIgICAgICAgICAgICAgICAgICAgICAtViBzb20gdmVyc2lvbiBtZW4gbcOlc3RlIHZhcmEgZGVuIGVuZGEgZmxhZ2dhblxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgIHZpc2EgZGVubmEgaGrDpGxwIG9jaCBhdnNsdXRhXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNDQKK21zZ2lkICJpbnZhbGlkIG51bWJlciBvZiBpbm9kZXMiCittc2dzdHIgIm9naWx0aWd0IGFudGFsIGlub2RlciIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1MAorbXNnaWQgInZvbHVtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICJ2b2x5bW5hbW5ldCDDpHIgZsO2ciBsw6VuZ3QiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTcKK21zZ2lkICJmc25hbWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAiZmlsc3lzdGVtc25hbW5ldCDDpHIgZsO2ciBsw6VuZ3QiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTMKK21zZ2lkICJpbnZhbGlkIGJsb2NrLWNvdW50IgorbXNnc3RyICJvZ2lsdGlndCBhbnRhbCBibG9jayIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgImthbiBpbnRlIGjDpG10YSBzdG9ybGVrZW4gcMOlICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrcyBhcmd1bWVudCB0b28gbGFyZ2UsIG1heCBpcyAlbGx1IgorbXNnc3RyICJibG9ja2FyZ3VtZW50ZXQgw6RyIGbDtnIgc3RvcnQsIG1heCDDpHIgJWxsdSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIxOQorbXNnaWQgInRvbyBtYW55IGlub2RlcyAtIG1heCBpcyA1MTIiCittc2dzdHIgImbDtnIgbcOlbmdhIGlub2RlciAtIG1heCDDpHIgNTEyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UsIG5lZWQgYXQgbGVhc3QgJWxsdSBibG9ja3MiCittc2dzdHIgImludGUgdGlsbHLDpGNrbGlndCBtZWQgdXRyeW1tZSwgYmVow7Z2ZXIgbWluc3QgJWxsdSBibG9jayIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2U6ICVzXG4iCittc2dzdHIgIkVuaGV0OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIlZvbHVtZTogPCUtNnM+XG4iCittc2dzdHIgIlZvbHltOiA8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJGU25hbWU6IDwlLTZzPlxuIgorbXNnc3RyICJGaWxzeXN0ZW1zbmFtbjogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tTaXplOiAlZFxuIgorbXNnc3RyICJCbG9ja3N0b3JsZWs6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluIDEgYmxvY2spXG4iCittc2dzdHIgIklub2RlcjogJWxkIChpIDEgYmxvY2spXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluICVsbHUgYmxvY2tzKVxuIgorbXNnc3RyICJJbm9kZXI6ICVsZCAoaSAlbGx1IGJsb2NrKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrczogJWxsdVxuIgorbXNnc3RyICJCbG9jazogJWxsdVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlIGVuZDogJWQsIERhdGEgZW5kOiAlZFxuIgorbXNnc3RyICJJbm9kc3NsdXQ6ICVkLCBkYXRhc2x1dDogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NworbXNnaWQgImVycm9yIHdyaXRpbmcgc3VwZXJibG9jayIKK21zZ3N0ciAiZmVsIHZpZCBza3Jpdm5pbmcgYXYgc3VwZXJibG9jayIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI3OAorbXNnaWQgImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIKK21zZ3N0ciAiZmVsIHZpZCBza3Jpdm5pbmcgYXYgcm90LWlub2QiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODMKK21zZ2lkICJlcnJvciB3cml0aW5nIGlub2RlIgorbXNnc3RyICJmZWwgdmlkIHNrcml2bmluZyBhdiBpbm9kIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjg2Cittc2dpZCAic2VlayBlcnJvciIKK21zZ3N0ciAic8O2a2ZlbCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5MgorbXNnaWQgImVycm9yIHdyaXRpbmcgLiBlbnRyeSIKK21zZ3N0ciAiZmVsIHZpZCBza3Jpdm5pbmcgYXYg4oCdLuKAnS1wb3N0IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjk2Cittc2dpZCAiZXJyb3Igd3JpdGluZyAuLiBlbnRyeSIKK21zZ3N0ciAiZmVsIHZpZCBza3Jpdm5pbmcgYXYg4oCdLi7igJ0tcG9zdCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjbG9zaW5nICVzIgorbXNnc3RyICJmZWwgdmlkIHN0w6RuZ25pbmcgYXYgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy10IDx0eXBlPl0gW2ZzLW9wdGlvbnNdIDxkZXZpY2U+IFs8c2l6ZT5dXG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gWy10IDx0eXA+XSBbZmlsc3lzdGVtc2ZsYWdnb3JdIDxlbmhldD4gWzxzdG9ybGVrPl1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDgKK21zZ2lkICJNYWtlIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiU2thcGEgZXR0IExpbnV4LWZpbHN5c3RlbS5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC10LCAtLXR5cGU9PHR5cGU+ICBmaWxlc3lzdGVtIHR5cGU7IHdoZW4gdW5zcGVjaWZpZWQsIGV4dDIgaXMgdXNlZFxuIgorbXNnc3RyICIgLXQsIC0tdHlwZT08dHlwPiAgIGZpbHN5c3RlbXN0eXA7IG7DpHIgaW50ZSBhbmdpdmVuIGFudsOkbmRzIGV4dDJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICBmcy1vcHRpb25zICAgICBwYXJhbWV0ZXJzIGZvciB0aGUgcmVhbCBmaWxlc3lzdGVtIGJ1aWxkZXJcbiIKK21zZ3N0ciAiICAgICBmcy1vcHRpb25zICAgICBwYXJhbWV0cmFyIGbDtnIgZGVuIHJpa3RpZ2EgZmlsc3lzdGVtc2J5Z2dhcmVuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiICAgICA8ZW5oZXQ+ICAgICAgICBzw7ZrdsOkZyB0aWxsIGVuaGV0ZW4gc29tIHNrYSBhbnbDpG5kYXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8c2l6ZT4gICAgICAgICBudW1iZXIgb2YgYmxvY2tzIHRvIGJlIHVzZWQgb24gdGhlIGRldmljZVxuIgorbXNnc3RyICIgICAgIDxzdG9ybGVrPiAgICAgIGFudGFsIGJsb2NrIHNvbSBza2EgYW52w6RuZGFzIGZyw6VuIGVuaGV0ZW5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJib3NlICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmU7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnlpbmcgLVYgbW9yZSB0aGFuIG9uY2Ugd2lsbCBjYXVzZSBhIGRyeS1ydW5cbiIKK21zZ3N0ciAiIgorIiAtViwgLS12ZXJib3NlICAgICAgZsO2cmtsYXJhIHZhZCBzb20gaMOkbmRlcjtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgb20gLVYgYW5nZXMgbWVyIMOkbiBlbiBnw6VuZyBrb21tZXIgZGV0IGF0dCBvcnNha2EgZW4gdGVzdGvDtnJuaW5nXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdDtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgLVYgYXMgLS12ZXJzaW9uIG11c3QgYmUgdGhlIG9ubHkgb3B0aW9uXG4iCittc2dzdHIgIiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgIHZpc2EgdmVyc2lvbnNpbmZvcm1hdGlvbiBvY2ggYXZzbHV0YTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgLVYgc29tIC0tdmVyc2lvbiBtw6VzdGUgdmFyYSBkZW4gZW5kYSBmbGFnZ2FuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAgICAgIHZpc2EgZGVubmEgaGrDpGxwdGV4dCBvY2ggYXZzbHV0YVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzoxMzkgbGliL2V4ZWNfc2hlbGwuYzo0OSBsb2dpbi11dGlscy9uZXdncnAuYzoyMzMKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY1NyBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5OTIKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwNCBzY2hlZHV0aWxzL2NocnQuYzo1NTgKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjYwIHNjaGVkdXRpbHMvdGFza3NldC5jOjIzOSBzeXMtdXRpbHMvZmxvY2suYzoxMjIKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDMwIHN5cy11dGlscy9wcmxpbWl0LmM6NjQ0IHN5cy11dGlscy9ydGN3YWtlLmM6NTc3CisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjMyNCBzeXMtdXRpbHMvc2V0YXJjaC5jOjQwMyBzeXMtdXRpbHMvc2V0c2lkLmM6MTE1CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzQwIHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI0MiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ2MQorIzogdGVybS11dGlscy9zY3JpcHQuYzo1ODEgdGV4dC11dGlscy9wZy5jOjEzNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGV4ZWN1dGUgJXMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGvDtnJhICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1c2FnZTogJXMgWy1oXSBbLXZdIFstYiBibGtzaXplXSBbLWUgZWRpdGlvbl0gWy1OIGVuZGlhbl0gWy1pIGZpbGVdIFstbiBuYW1lXSBkaXJuYW1lIG91dGZpbGVcbiIKKyIgLWggICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyIgLXYgICAgICAgICBiZSB2ZXJib3NlXG4iCisiIC1FICAgICAgICAgbWFrZSBhbGwgd2FybmluZ3MgZXJyb3JzIChub24temVybyBleGl0IHN0YXR1cylcbiIKKyIgLWIgYmxrc2l6ZSB1c2UgdGhpcyBibG9ja3NpemUsIG11c3QgZXF1YWwgcGFnZSBzaXplXG4iCisiIC1lIGVkaXRpb24gc2V0IGVkaXRpb24gbnVtYmVyIChwYXJ0IG9mIGZzaWQpXG4iCisiIC1OIGVuZGlhbiAgc2V0IGNyYW1mcyBlbmRpYW5uZXNzIChiaWd8bGl0dGxlfGhvc3QpLCBkZWZhdWx0IGhvc3RcbiIKKyIgLWkgZmlsZSAgICBpbnNlcnQgYSBmaWxlIGltYWdlIGludG8gdGhlIGZpbGVzeXN0ZW0gKHJlcXVpcmVzID49IDIuNC4wKVxuIgorIiAtbiBuYW1lICAgIHNldCBuYW1lIG9mIGNyYW1mcyBmaWxlc3lzdGVtXG4iCisiIC1wICAgICAgICAgcGFkIGJ5ICVkIGJ5dGVzIGZvciBib290IGNvZGVcbiIKKyIgLXMgICAgICAgICBzb3J0IGRpcmVjdG9yeSBlbnRyaWVzIChvbGQgb3B0aW9uLCBpZ25vcmVkKVxuIgorIiAteiAgICAgICAgIG1ha2UgZXhwbGljaXQgaG9sZXMgKHJlcXVpcmVzID49IDIuMy4zOSlcbiIKKyIgZGlybmFtZSAgICByb290IG9mIHRoZSBmaWxlc3lzdGVtIHRvIGJlIGNvbXByZXNzZWRcbiIKKyIgb3V0ZmlsZSAgICBvdXRwdXQgZmlsZVxuIgorbXNnc3RyICIiCisiYW52w6RuZG5pbmc6ICVzIFstaF0gWy12XSBbLWIgYmxrc3RybF0gWy1lIHV0Z8OldmFdIFstTiBlbmRpYW5dIFstaSBmaWxdIFstbiBuYW1uXSBrYXRuYW1uIHV0ZmlsXG4iCisiIC1oICAgICAgICAgdmlzYSBkZW5uYSBoasOkbHB0ZXh0XG4iCisiIC12ICAgICAgICAgdmFyIHV0ZsO2cmxpZ1xuIgorIiAtRSAgICAgICAgIGfDtnIgYWxsYSB2YXJuaW5nYXIgdGlsbCBmZWwgKGF2c2x1dG5pbmdzc3RhdHVzIGludGUgbm9sbClcbiIKKyIgLWIgYmxrc3RybCBhbnbDpG5kIGRlbm5hIGJsb2Nrc3RvcmxlaywgbcOlc3RlIHZhcmEgbGlrYSBtZWQgc2lkc3Rvcmxla1xuIgorIiAtZSB1dGfDpXZhICBzdMOkbGwgaW4gZWRpdGlvbnNudW1tZXIgKGRlbCBhdiBmc2lkKVxuIgorIi1OIGVuZGlhbiAgc3TDpGxsIGluIGVuZGlhbiBmw7ZyIGNyYW1mcyAoYmlnfGxpdHRsZXxob3N0KSwgc3RhbmRhcmR2w6RyZGV0IMOkciBob3N0XG4iCisiIC1pIGZpbCAgICAgaW5mb2dhIGVuIGZpbGF2YmlsZCBpIGZpbHN5c3RlbWV0IChrcsOkdmVyID49IDIuNC4wKVxuIgorIiAtbiBuYW1uICAgIHN0w6RsbCBpbiBuYW1uZXQgcMOlIGNyYW1mcy1maWxzeXN0ZW1ldFxuIgorIiAtcCAgICAgICAgIGZ5bGwgdXQgbWVkICVkIGJ5dGUgZsO2ciBzdGFydGtvZFxuIgorIiAtcyAgICAgICAgIHNvcnRlcmEga2F0YWxvZ3Bvc3RlciAoZ2FtbWFsIGZsYWdnYSwgaWdub3JlcmFkKVxuIgorIiAteiAgICAgICAgIHNrYXBhIGV4cGxpY2l0YSBow6VsIChrcsOkdmVyID49IDIuMy4zOSlcbiIKKyIga2F0bmFtbiAgICByb3QgZsO2ciBmaWxzeXN0ZW1ldCBzb20gc2thIGtvbXByaW1lcmFzXG4iCisiIHV0ZmlsICAgICAgdXRkYXRhZmlsXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhZGxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAicmVhZGxpbmsgbWlzc2x5Y2thZGVzOiAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMwOAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBkaXJlY3RvcnkgJXMiCittc2dzdHIgImt1bmRlIGludGUgbMOkc2Ega2F0YWxvZyAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjQ0MworbXNnaWQgImZpbGVzeXN0ZW0gdG9vIGJpZy4gIEV4aXRpbmcuIgorbXNnc3RyICJmaWxzeXN0ZW1ldCDDpHIgZsO2ciBzdG9ydC4gQXZzbHV0YXIuIgorCisjIMK3IChjZW50ZXJlZCBkb3QpIGlzIG5vcm1hbGx5IHVzZWQgYXMgdGhlIG11bHRpcGxpY2F0aW9uIHNpZ24gaW4gU3dlZGlzaC4KKyMgU2VlICJTdmVuc2thIHNrcml2cmVnbGVyIiDCpzI2MC4KKyMKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQUlFRUU6IGJsb2NrIFwiY29tcHJlc3NlZFwiIHRvID4gMipibG9ja2xlbmd0aCAoJWxkKVxuIgorbXNnc3RyICJBSUVFRTogYmxvY2sg4oCda29tcHJpbWVyYXTigJ0gdGlsbCA+IDIqYmxvY2tsw6RuZ2QgKCVsZClcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZCBieXRlKVx0JXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2xvc2UgZmlsZSAlcyIKK21zZ3N0ciAia2FuIGludGUgc3TDpG5nYSBmaWwgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MzIKK21zZ2lkICJpbnZhbGlkIGVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICJvZ2lsdGlndCBudW1tZXIgdGlsbCBlZGl0aW9uc2FyZ3VtZW50IgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzQyCittc2dpZCAiaW52YWxpZCBlbmRpYW5uZXNzIGdpdmVuOyBtdXN0IGJlICdiaWcnLCAnbGl0dGxlJywgb3IgJ2hvc3QnIgorbXNnc3RyICJvZ2lsdGlnIGJ5dGVvcmRuaW5nIGFuZ2l2ZW47IG3DpXN0ZSB2YXJhIOKAnWJpZ+KAnSwg4oCdbGl0dGxl4oCdIGVsbGVyIOKAnWhvc3TigJ0iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ3Vlc3RpbWF0ZSBvZiByZXF1aXJlZCBzaXplICh1cHBlciBib3VuZCkgaXMgJWxsZE1CLCBidXQgbWF4aW11bSBpbWFnZSBzaXplIGlzICV1TUIuICBXZSBtaWdodCBkaWUgcHJlbWF0dXJlbHkuIgorbXNnc3RyICJ2YXJuaW5nOiB1cHBza2F0dG5pbmcgYXYgYmVnw6RyZCBzdG9ybGVrICjDtnZyZSBncsOkbnMpIMOkciAlbGxkTUIsIG1lbiBtYXhpbWFsIGF2YmlsZHNzdG9ybGVrIMOkciAldU1CLiBWaSBrYW4gZMO2IGkgZsO2cnRpZC4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MzAKK21zZ2lkICJST00gaW1hZ2UgbWFwIgorbXNnc3RyICJST00tYXZiaWxkc2thcnRhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkluY2x1ZGluZzogJXNcbiIKK21zZ3N0ciAiSW5rbHVzaXZlOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpcmVjdG9yeSBkYXRhOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiS2F0YWxvZ2RhdGE6ICV6ZCBieXRlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXZlcnl0aGluZzogJXpkIGtpbG9ieXRlc1xuIgorbXNnc3RyICJBbGx0aW5nOiAlemQga2lsb2J5dGVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2MQorIywgYy1mb3JtYXQKK21zZ2lkICJTdXBlciBibG9jazogJXpkIGJ5dGVzXG4iCittc2dzdHIgIlN1cGVyYmxvY2s6ICV6ZCBieXRlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1JDOiAleFxuIgorbXNnc3RyICJDUkM6ICV4XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSBhbGxvY2F0ZWQgZm9yIFJPTSBpbWFnZSAoJWxsZCBhbGxvY2F0ZWQsICV6dSB1c2VkKSIKK21zZ3N0ciAiaW50ZSB0aWxscsOkY2tsaWd0IG1lZCB1dHJ5bW1lIGFsbG9rZXJhdCBmw7ZyIFJPTS1hdmJpbGQgKCVsbGQgYWxsb2tlcmF0LCAlenUgYW52w6RudCkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9NIGltYWdlIHdyaXRlIGZhaWxlZCAoJXpkICV6ZCkiCittc2dzdHIgIlNrcml2bmluZyBhdiBST00tYXZiaWxkIG1pc3NseWNrYWRlcyAoJXpkICV6ZCkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODIKK21zZ2lkICJST00gaW1hZ2UiCittc2dzdHIgIlJPTS1hdmJpbGQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZW5hbWVzIHRydW5jYXRlZCB0byAldSBieXRlcy4iCittc2dzdHIgInZhcm5pbmc6IGZpbG5hbW4gYXZrb3J0YWRlIHRpbGwgJXUgYnl0ZS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTMKK21zZ2lkICJ3YXJuaW5nOiBmaWxlcyB3ZXJlIHNraXBwZWQgZHVlIHRvIGVycm9ycy4iCittc2dzdHIgInZhcm5pbmc6IGZpbGVyIGhvcHBhZGVzIMO2dmVyIHDDpSBncnVuZCBhdiBmZWwuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODk1CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGUgc2l6ZXMgdHJ1bmNhdGVkIHRvICVsdU1CIChtaW51cyAxIGJ5dGUpLiIKK21zZ3N0ciAidmFybmluZzogZmlsc3Rvcmxla2FyIGF2a29ydGFkZSB0aWxsICVsdU1CIChtaW51cyAxIGJ5dGUpLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5OQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJ2YXJuaW5nOiB1aWQgYXZrb3J0YWRlIHRpbGwgJXUgYml0YXIuIChEZXR0YSBrYW4gdmFyYSBldHQgc8Oka2VyaGV0c3Byb2JsZW0uKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwMgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBnaWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJ2YXJuaW5nOiBnaWQgYXZrb3J0YWRlIHRpbGwgJXUgYml0YXIuIChEZXR0YSBrYW4gdmFyYSBldHQgc8Oka2VyaGV0c3Byb2JsZW0uKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogZGV2aWNlIG51bWJlcnMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICBUaGlzIGFsbW9zdCBjZXJ0YWlubHkgbWVhbnNcbiIKKyJ0aGF0IHNvbWUgZGV2aWNlIGZpbGVzIHdpbGwgYmUgd3JvbmcuIgorbXNnc3RyICIiCisiVkFSTklORzogZW5oZXRzbnVtbWVyIGF2a29ydGFkZSB0aWxsICV1IGJpdGFyLiBEZXR0YSBiZXR5ZGVyIG1lZCBzdMO2cnN0YVxuIgorInNhbm5vbGlraGV0IGF0dCBlbiBkZWwgZW5oZXRzZmlsZXIga29tbWVyIGF0dCB2YXJhIGZlbGFrdGlnYS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC9kZXYvbmFtZSBbYmxvY2tzXVxuIgorbXNnc3RyICIgJXMgW2ZsYWdnb3JdIC9kZXYvbmFtbiBbYmxvY2tdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzNworbXNnaWQgIiAtMSAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAxXG4iCittc2dzdHIgIiAtMSAgICAgICAgICAgICAgICAgICAgICBhbnbDpG5kIE1pbml4IHZlcnNpb24gMVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzgKK21zZ2lkICIgLTIsIC12ICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMlxuIgorbXNnc3RyICIgLTIsIC12ICAgICAgICAgICAgICAgICAgYW52w6RuZCBNaW5peCB2ZXJzaW9uIDJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM5Cittc2dpZCAiIC0zICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDNcbiIKK21zZ3N0ciAiIC0zICAgICAgICAgICAgICAgICAgICAgIGFudsOkbmQgTWluaXggdmVyc2lvbiAzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MAorbXNnaWQgIiAtbiwgLS1uYW1lbGVuZ3RoIDxudW0+ICBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiIC1uLCAtLW5hbWVsZW5ndGggPG51bT4gIG1heGltYWwgbMOkbmdkIGbDtnIgZmlsbmFtblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDEKK21zZ2lkICIgLWksIC0taW5vZGVzIDxudW0+ICAgICAgbnVtYmVyIG9mIGlub2RlcyBmb3IgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC1pLCAtLWlub2RlcyA8bnVtPiAgICAgIGFudGFsIGlub2RlciBmw7ZyIGZpbHN5c3RlbWV0XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MgorbXNnaWQgIiAtYywgLS1jaGVjayAgICAgICAgICAgICBjaGVjayB0aGUgZGV2aWNlIGZvciBiYWQgYmxvY2tzXG4iCittc2dzdHIgIiAtYywgLS1jaGVjayAgICAgICAgICAgICBrb250cm9sbGVyYSBlZnRlciBkw6VsaWdhIGJsb2NrIHDDpSBlbmhldGVuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MworbXNnaWQgIiAtbCwgLS1iYWRibG9ja3MgPGZpbGU+ICBsaXN0IG9mIGJhZCBibG9ja3MgZnJvbSBmaWxlXG4iCittc2dzdHIgIiAtbCwgLS1iYWRibG9ja3MgPGZpbD4gICBsaXN0YSDDtnZlciBkw6VsaWdhIGJsb2NrIGZyw6VuIGZpbFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgdG8gYm9vdCBibG9jayBmYWlsZWQgIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAiJXM6IHPDtmtuaW5nIHRpbGwgc3RhcnRibG9jayBtaXNzbHlja2FkZXMgaSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGNsZWFyIGJvb3Qgc2VjdG9yIgorbXNnc3RyICIlczoga2FuIGludGUgdMO2bW1hIHN0YXJ0c2VrdG9yIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAiJXM6IHPDtmtuaW5nIG1pc3NseWNrYWRlcyBpIOKAnXdyaXRlX3RhYmxlc+KAnSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgIiVzOiBrYW4gaW50ZSBza3JpdmEgc3VwZXJibG9jayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICIlczoga2FuIGludGUgc2tyaXZhIGlub2RzdGFiZWxsIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiJXM6IGthbiBpbnRlIHNrcml2YSB6b25rYXJ0YSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICIlczoga2FuIGludGUgc2tyaXZhIGlub2RlciIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6IHPDtmtuaW5nIG1pc3NseWNrYWRlcyBpIOKAnXdyaXRlX2Jsb2Nr4oCdIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6IHNrcml2bmluZyBtaXNzbHlja2FkZXMgaSDigJ13cml0ZV9ibG9ja+KAnSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjIxIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjI5NgorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbWFueSBiYWQgYmxvY2tzIgorbXNnc3RyICIlczogYWxsdCBmw7ZyIG3DpW5nYSBmZWxha3RpZ2EgYmxvY2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGVub3VnaCBnb29kIGJsb2NrcyIKK21zZ3N0ciAiJXM6IGludGUgdGlsbHLDpGNrbGlndCBtZWQga29ycmVrdGEgYmxvY2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRmlyc3QgZGF0YSBibG9jayBhdCAlamQsIHdoaWNoIGlzIHRvbyBmYXIgKG1heCAlZCkuXG4iCisiVHJ5IHNwZWNpZnlpbmcgZmV3ZXIgaW5vZGVzIGJ5IHBhc3NpbmcgLS1pbm9kZXMgPG51bT4iCittc2dzdHIgIiIKKyJGw7Zyc3RhIGRhdGFibG9jayB2aWQgJWpkLCB2aWxrZXQgw6RyIGF0dCBmw7ZyIGzDpW5ndCAobWF4ICVkKS5cbiIKKyJQcm92YSBhdHQgc3BlY2lmaWNlcmEgZsOkcnJlIGlub2RlciBnZW5vbSBhbmdlIC0taW5vZGVzIDxudW0+IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGlub2RlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBpbm9kZXNcbiIKK21zZ3N0clswXSAiJWx1IGlub2RcbiIKK21zZ3N0clsxXSAiJWx1IGlub2RlclxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVsdSBibG9ja3NcbiIKK21zZ3N0clswXSAiJWx1IGJsb2NrXG4iCittc2dzdHJbMV0gIiVsdSBibG9ja1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JXp1XG4iCittc2dzdHIgIlpvbnN0b3JsZWs9JXp1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTWF4c2l6ZT0lenVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIk1heHN0b3JsZWs9JXp1XG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgZHVyaW5nIHRlc3Rpbmcgb2YgYmxvY2tzIgorbXNnc3RyICIlczogc8O2a25pbmcgbWlzc2x5Y2thZGVzIHVuZGVyIHRlc3QgYXYgYmxvY2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJXZWlyZCB2YWx1ZXMgaW4gZG9fY2hlY2s6IHByb2JhYmx5IGJ1Z3NcbiIKK21zZ3N0ciAiS29uc3RpZ2EgdsOkcmRlbiBpIGRvX2NoZWNrOiB0cm9saWd0dmlzIHByb2dyYW1mZWxcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgIiVzOiBzw7ZrbmluZyBtaXNzbHlja2FkZXMgaSBjaGVja19ibG9ja3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGJsb2NrcyBiZWZvcmUgZGF0YS1hcmVhOiBjYW5ub3QgbWFrZSBmcyIKK21zZ3N0ciAiJXM6IGZlbGFrdGlnYSBibG9jayBmw7ZyZSBkYXRhb21yw6VkZToga2FuIGludGUgc2thcGEgZmlsc3lzdGVtIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MzkgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGJhZCBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlZCBiYWQgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVkIGZlbGFrdGlndCBibG9ja1xuIgorbXNnc3RyWzFdICIlZCBmZWxha3RpZ2EgYmxvY2tcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBvcGVuIGZpbGUgb2YgYmFkIGJsb2NrcyIKK21zZ3N0ciAiJXM6IGthbiBpbnRlIMO2cHBuYSBmaWwgbWVkIGZlbGFrdGlnYSBibG9jayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjUzCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZGJsb2NrIG51bWJlciBpbnB1dCBlcnJvciBvbiBsaW5lICVkXG4iCittc2dzdHIgImZlbGFrdGlndCBudW1tZXIgZsO2ciBkw6VsaWd0IGJsb2NrIHDDpSByYWQgJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBiYWRibG9ja3MgZmlsZSIKK21zZ3N0ciAiJXM6IGthbiBpbnRlIGzDpHNhIGZpbCBtZWQgZmVsYWt0aWdhIGJsb2NrIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgc2l6ZSBzbWFsbGVyIHRoYW4gcGh5c2ljYWwgc2VjdG9yIHNpemUgb2YgJXMiCittc2dzdHIgImJsb2Nrc3RvcmxlayBtaW5kcmUgw6RuIGZ5c2lzayBzZWt0b3JzdG9ybGVrIGbDtnIgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5NworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNpemUgb2YgJXMiCittc2dzdHIgImthbiBpbnRlIGF2Z8O2cmEgc3RvcmxlayBmw7ZyICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlcXVlc3RlZCBibG9ja3MgKCVsbHUpIGV4Y2VlZHMgYXZhaWxhYmxlICglbGx1KSBibG9ja3NcbiIKK21zZ3N0ciAiJXM6IGJlZ8OkcnQgYW50YWwgYmxvY2sgKCVsbHUpIMO2dmVyc3RpZ2VyIGFudGFsZXQgdGlsbGfDpG5nbGlnYSAoJWxsdSkgYmxvY2tcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiJXM6IGFudGFsIGJsb2NrIGbDtnIgbGl0ZXQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbmFtZSBsZW5ndGg6ICVkIgorbXNnc3RyICJuYW1ubMOkbmdkIHN0w7ZkcyBlajogJWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBtaW5peCBmaWxlIHN5c3RlbSB2ZXJzaW9uOiAlZCIKK21zZ3N0ciAidmVyc2lvbiBhdiBtaW5peC1maWxzeXN0ZW0gc3TDtmRzIGludGU6ICVkIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NjcKK21zZ2lkICItdiBpcyBhbWJpZ3VvdXMsIHVzZSAnLTInIGluc3RlYWQiCittc2dzdHIgIi12IMOkciB0dmV0eWRpZ3QsIGFudsOkbmQg4oCdLTLigJ0gaXN0w6RsbGV0IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NzgKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBtYXhpbWFsIGzDpG5nZCBmw7ZyIGZpbG5hbW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc4MgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBhbnRhbCBpbm9kZXIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgwNgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgYmxvY2tzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBhbnRhbCBibG9jayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2UgYSBmaWxlc3lzdGVtIGhlcmUhIgorbXNnc3RyICIlcyDDpHIgbW9udGVyYWQ7IGtvbW1lciBpbnRlIGF0dCBza2FwYSBldHQgZmlsc3lzdGVtIGjDpHIhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJXUiCittc2dzdHIgIkFudsOkbmRhcmRlZmluaWVyYWQgc2lkc3RvcmxlayAldSDDpHIgZmVsYWt0aWciCisKKyMgc2VicmFzOiBzaG91bGRuJ3QgdGhpcyBiZSAldT8gaXQgaXMgJXUgaW4gIkJhZCB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJXUiCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIHVzZXItc3BlY2lmaWVkIHBhZ2Ugc2l6ZSAlZCwgaW5zdGVhZCBvZiB0aGUgc3lzdGVtIHZhbHVlICVkIgorbXNnc3RyICJBbnbDpG5kZXIgYW52w6RuZGFyZGVmaW5pZXJhZCBzaWRzdG9ybGVrICVkIGlzdMOkbGxldCBmw7ZyIHN5c3RlbXbDpHJkZXQgJWQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTI0Cittc2dpZCAiTGFiZWwgd2FzIHRydW5jYXRlZC4iCittc2dzdHIgIkV0aWtldHRlbiBibGV2IHRydW5rZXJhZC4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGxhYmVsLCAiCittc2dzdHIgImluZ2VuIGV0aWtldHQsICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gdXVpZFxuIgorbXNnc3RyICJpbmdldCB1dWlkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdIGRldmljZSBbc2l6ZV1cbiIKK21zZ3N0ciAiIgorIlxuIgorIkFudsOkbmRuaW5nOlxuIgorIiAlcyBbZmxhZ2dvcl0gZW5oZXQgW3N0b3JsZWtdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTUyCittc2dpZCAiU2V0IHVwIGEgTGludXggc3dhcCBhcmVhLlxuIgorbXNnc3RyICJTdMOkbGxlciBpbiBlbiBMaW51eC12w6R4bGluZ3N5dGEuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIGNoZWNrIGJhZCBibG9ja3MgYmVmb3JlIGNyZWF0aW5nIHRoZSBzd2FwIGFyZWFcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBhbGxvdyBzd2FwIHNpemUgYXJlYSBiZSBsYXJnZXIgdGhhbiBkZXZpY2VcbiIKKyIgLXAsIC0tcGFnZXNpemUgU0laRSAgICAgICBzcGVjaWZ5IHBhZ2Ugc2l6ZSBpbiBieXRlc1xuIgorIiAtTCwgLS1sYWJlbCBMQUJFTCAgICAgICAgIHNwZWNpZnkgbGFiZWxcbiIKKyIgLXYsIC0tc3dhcHZlcnNpb24gTlVNICAgICBzcGVjaWZ5IHN3YXAtc3BhY2UgdmVyc2lvbiBudW1iZXJcbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICBzcGVjaWZ5IHRoZSB1dWlkIHRvIHVzZVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIkZsYWdnb3I6XG4iCisiIC1jLCAtLWNoZWNrICAgICAgICAgICAgICAga29udHJvbGxlcmEgZWZ0ZXIgZMOlbGlnYSBibG9jayBpbm5hbiB2w6R4bGluZ3N1dHJ5bW1ldCBza2FwYXNcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICB0aWxsw6V0IHbDpHhsaW5nc3N0b3JsZWtlbiBhdHQgdmFyYSBzdMO2cnJlIMOkbiBlbmhldGVuXG4iCisiIC1wLCAtLXBhZ2VzaXplIFNUT1JMRUsgICAgYW5nZSBzaWRzdG9ybGVrIGkgYnl0ZVxuIgorIiAtTCwgLS1sYWJlbCBFVElLRVRUICAgICAgIGFuZ2UgZXRpa2V0dFxuIgorIiAtdiwgLS1zd2FwdmVyc2lvbiBOVU0gICAgIGFuZ2UgdmVyc2lvbiBmw7ZyIHbDpHhsaW5nc3V0cnltbWV0XG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgYW5nZSB1dWlkIHNvbSBza2EgYW52w6RuZGFzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgbWF0YSB1dCB2ZXJzaW9uc2luZm9ybWF0aW9uIG9jaCBhdnNsdXRhXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgdmlzYSBkZW5uYSBoasOkbHB0ZXh0IG9jaCBhdnNsdXRhXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGJhZCBwYWdlczogJWx1IgorbXNnc3RyICJmw7ZyIG3DpW5nYSBmZWxha3RpZ2Egc2lkb3I6ICVsdSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxOTUKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgInPDtmtuaW5nIG1pc3NseWNrYWRlcyBpIGNoZWNrX2Jsb2NrcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJhZCBwYWdlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBiYWQgcGFnZXNcbiIKK21zZ3N0clswXSAiJWx1IGZlbGFrdGlnIHNpZGFcbiIKK21zZ3N0clsxXSAiJWx1IGZlbGFrdGlnYSBzaWRvclxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIyOAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBuZXcgbGliYmxraWQgcHJvYmUiCittc2dzdHIgImthbiBpbnRlIGFsbG9rZXJhIG55IGxpYmJsa2lkLWF2c8O2a2FyZSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMzAKK21zZ2lkICJ1bmFibGUgdG8gYXNzaWduIGRldmljZSB0byBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAia2FuIGludGUgdGlsbGRlbGEgZW5oZXQgdGlsbCBsaWJibGtpZC1hdnPDtmtuaW5nIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjaGVja2luZyBiYWQgYmxvY2tzIGZyb20gc3dhcCBmaWxlIGlzIG5vdCBzdXBwb3J0ZWQ6ICVzIgorbXNnc3RyICJ2YXJuaW5nOiBhdHQga29udHJvbGxlcmEgZWZ0ZXIgZmVsYWt0aWdhIGJsb2NrIGkgdsOkeGxpbmdzZmlsIHN0w7ZkcyBpbnRlOiAlcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNjEgZGlzay11dGlscy9ta3N3YXAuYzoyODcgZGlzay11dGlscy9ta3N3YXAuYzozMzQKK21zZ2lkICJ1bmFibGUgdG8gcmV3aW5kIHN3YXAtZGV2aWNlIgorbXNnc3RyICJrYW4gaW50ZSBzcG9sYSB0aWxsYmFrYSB2w6R4bGluZ3NlbmhldGVuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI5MAorbXNnaWQgInVuYWJsZSB0byBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICJrYW4gaW50ZSB0w7ZtbWEgc3RhcnRiaXRzc2VrdG9yZXIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiB3aXBpbmcgb2xkICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIiVzOiB2YXJuaW5nOiBzdMOkZGFyIGJvcnQgZ2FtbWFsICVzLXNpZ25hdHVyLiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IGRvbid0IGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgIiVzOiB2YXJuaW5nOiByYWRlcmEgaW50ZSBzdGFydGJpdHNzZWt0b3JlciIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoJXMgcGFydGl0aW9uIHRhYmxlIGRldGVjdGVkKS4gIgorbXNnc3RyICIgICAgICAgICglcy1wYXJ0aXRpb25zdGFiZWxsIGlkZW50aWZpZXJhZCkuICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoY29tcGlsZWQgd2l0aG91dCBsaWJibGtpZCkuICIKK21zZ3N0ciAiICAgICAgICAoa29tcGlsZXJhdCB1dGFuIGxpYmJsa2lkKS4gIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICJVc2UgLWYgdG8gZm9yY2UuXG4iCittc2dzdHIgIkFudsOkbmQgLWYgZsO2ciBhdHQgdHZpbmdhLlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHNpZ25hdHVyZSBwYWdlIgorbXNnc3RyICIlczoga2FuIGludGUgc2tyaXZhIHNpZ25hdHVyc2lkYSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODAKK21zZ2lkICJwYXJzaW5nIHBhZ2Ugc2l6ZSBmYWlsZWQiCittc2dzdHIgInRvbGtuaW5nIGF2IHNpZHN0b3JsZWsgbWlzc2x5Y2thZGVzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4NgorbXNnaWQgInBhcnNpbmcgdmVyc2lvbiBudW1iZXIgZmFpbGVkIgorbXNnc3RyICJ0b2xrbmluZyBhdiB2ZXJzaW9uc251bW1lciBtaXNzbHlja2FkZXMiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg5CisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBzcGFjZSB2ZXJzaW9uICVkIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgInbDpHhsaW5nc3V0cnltbWUgdmVyc2lvbiAlZCBzdMO2ZHMgaW50ZSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogaWdub3JpbmcgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCBieSAlcykiCittc2dzdHIgInZhcm5pbmc6IGlnbm9yZXJhciAtVSAoVVVJRDpuIHN0w7ZkcyBpbnRlIGF2ICVzKSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MTQKK21zZ2lkICJvbmx5IG9uZSBkZXZpY2UgYXJndW1lbnQgaXMgY3VycmVudGx5IHN1cHBvcnRlZCIKK21zZ3N0ciAiYmFyYSBldHQgZW5oZXRzYXJndW1lbnQgc3TDtmRzIGbDtnIgbsOkcnZhcmFuZGUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDIxCittc2dpZCAiZXJyb3I6IHBhcnNpbmcgVVVJRCBmYWlsZWQiCittc2dzdHIgImZlbDogdG9sa25pbmcgYXYgVVVJRCBtaXNzbHlja2FkZXMiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDMwCittc2dpZCAiZXJyb3I6IE5vd2hlcmUgdG8gc2V0IHVwIHN3YXAgb24/IgorbXNnc3RyICJmZWw6IEluZ2Vuc3RhbnMgYXR0IHNrYXBhIHbDpHhsaW5nc3V0cnltbWU/IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzNgorbXNnaWQgImludmFsaWQgYmxvY2sgY291bnQgYXJndW1lbnQiCittc2dzdHIgIm9naWx0aWd0IGFyZ3VtZW50IHRpbGwgYmxvY2thbnRhbCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHNpemUgJWxsdSBLaUIgaXMgbGFyZ2VyIHRoYW4gZGV2aWNlIHNpemUgJTxQUkl1NjQ+IEtpQiIKK21zZ3N0ciAiZmVsOiBzdG9ybGVrZW4gJWxsdSBLaUIgw6RyIHN0w7ZycmUgw6RuIGVuaGV0c3N0b3JsZWtlbiAlPFBSSXU2ND4gS2lCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1MQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc3dhcCBhcmVhIG5lZWRzIHRvIGJlIGF0IGxlYXN0ICVsZCBLaUIiCittc2dzdHIgImZlbDogdsOkeGxpbmdzdXRyeW1tZXQgbcOlc3RlIHZhcmEgbWluc3QgJWxkIEtpQiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdHJ1bmNhdGluZyBzd2FwIGFyZWEgdG8gJWxsdSBLaUIiCittc2dzdHIgInZhcm5pbmc6IHRydW5rZXJhciB2w6R4bGluZ3N1dHJ5bW1ldCB0aWxsICVsbHUgS2lCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ2MQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBzd2Fwc3BhY2UiCittc2dzdHIgImZlbDogJXMgw6RyIG1vbnRlcmFkOyBrb21tZXIgaW50ZSBhdHQgc2thcGEgdsOkeGxpbmdzdXRyeW1tZSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0Njggc3lzLXV0aWxzL3N3YXBvbi5jOjUyNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgcGVybWlzc2lvbnMgJTA0bywgJTA0byBzdWdnZXN0ZWQuIgorbXNnc3RyICIlczogb3PDpGtyYSByw6R0dGlnaGV0ZXIgJTA0bywgJTA0byBmw7ZyZXNsYWduYS4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDcyIHN5cy11dGlscy9zd2Fwb24uYzo1MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIGZpbGUgb3duZXIgJWQsIDAgKHJvb3QpIHN1Z2dlc3RlZC4iCittc2dzdHIgIiVzOiBvc8Oka2VyIGZpbMOkZ2FyZSAlZCwgMCAocm9vdCkgZsO2cmVzbGFnZW4uIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ4NworbXNnaWQgIlVuYWJsZSB0byBzZXQgdXAgc3dhcC1zcGFjZTogdW5yZWFkYWJsZSIKK21zZ3N0ciAiS2FuIGludGUgc3TDpGxsYSBpbiB2w6R4bGluZ3N1dHJ5bW1lOiBvbMOkc2JhcnQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgdXAgc3dhcHNwYWNlIHZlcnNpb24gJWQsIHNpemUgPSAlcyAoJTxQUkl1NjQ+IGJ5dGVzKVxuIgorbXNnc3RyICJTdMOkbGxlciBpbiB2w6R4bGluZ3N1dHJ5bW1lc3ZlcnNpb24gJWQsIHN0b3JsZWsgPSAlcyAoJTxQUkl1NjQ+IGJ5dGUpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gb2J0YWluIHNlbGludXggZmlsZSBsYWJlbCIKK21zZ3N0ciAiJXM6IGt1bmRlIGludGUgZXJow6VsbGEgc2VsaW51eC1maWxldGlrZXR0IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxNQorbXNnaWQgInVuYWJsZSB0byBtYXRjaHBhdGhjb24oKSIKK21zZ3N0ciAia3VuZGUgaW50ZSBtYXRjaHBhdGhjb24oKSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTgKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIG5ldyBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgImt1bmRlIGludGUgc2thcGEgbnl0dCBzZWxpbnV4LXNhbW1hbmhhbmciCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTIwCittc2dpZCAiY291bGRuJ3QgY29tcHV0ZSBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgImt1bmRlIGludGUgYmVyw6RrbmEgc2VsaW51eC1zYW1tYW5oYW5nIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVsYWJlbCAlcyB0byAlcyIKK21zZ3N0ciAia2FuIGludGUgb21ldGlrZXR0ZXJhICVzIHRpbGwgJXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NgorbXNnaWQgInBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgInBhcnRpdGlvbnNudW1tZXIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NworbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIKK21zZ3N0ciAiYsO2cmphbiBhdiBwYXJ0aXRpb25lbiBpIHNla3RvcmVyIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODgKK21zZ2lkICJlbmQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICJzbHV0ZXQgYXYgcGFydGl0aW9uZW4gaSBzZWt0b3JlciIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg5Cittc2dpZCAibnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgImFudGFsIHNla3RvcmVyIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTAKK21zZ2lkICJodW1hbiByZWFkYWJsZSBzaXplIgorbXNnc3RyICJsw6RzYmFydCBmw7ZyIG3DpG5uaXNrb3IiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MQorbXNnaWQgInBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJwYXJ0aXRpb25zbmFtbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkyIG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY4Cittc2dpZCAicGFydGl0aW9uIFVVSUQiCittc2dzdHIgInBhcnRpdGlvbnMtVVVJRCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkzCittc2dpZCAicGFydGl0aW9uIHRhYmxlIHR5cGUgKGRvcywgZ3B0LCAuLi4pIgorbXNnc3RyICJwYXJ0aXRpb25zdGFiZWxsc3R5cCAoZG9zLCBncHQsIOKApikiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY5Cittc2dpZCAicGFydGl0aW9uIGZsYWdzIgorbXNnc3RyICJwYXJ0aXRpb25zZmxhZ2dvciIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1Cittc2dpZCAicGFydGl0aW9uIHR5cGUgKGEgc3RyaW5nLCBhIFVVSUQsIG9yIGhleCkiCittc2dzdHIgInBhcnRpdGlvbnN0eXAgKGVuIHN0csOkbmcsIGV0dCBVVUlELCBlbGxlciBoZXgpIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTE0IHN5cy11dGlscy9sb3NldHVwLmM6NTA4IHN5cy11dGlscy9sb3NldHVwLmM6NjE2Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGN4dCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgaW5pdGlhbGlzZXJhIGxvb3BjeHQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IGt1bmRlIGludGUgaGl0dGEgbsOlZ29uIGxlZGlnIGxvb3BlbmhldCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyMgorIywgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gdXNlICclcycgZm9yIHRoZSBsb29wIGRldmljZVxuIgorbXNnc3RyICJGw7Zyc8O2a2VyIGF0dCBhbnbDpG5kYSDigJ0lc+KAnSBmw7ZyIGxvb3BlbmhldGVuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYmFja2luZyBmaWxlIgorbXNnc3RyICIlczogbWlzc2x5Y2thZGVzIG1lZCBhdHQgc3TDpGxsYSBpbiB1bmRlcmxhZ3NmaWwiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo1NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCBzdMOkbGxhIGluIGxvb3BlbmhldCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjE2MSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjMwNyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozNzYKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzozNTQgbWlzYy11dGlscy9sc2xvY2tzLmM6MzQyIHN5cy11dGlscy9sb3NldHVwLmM6MTA3CisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNzIgc3lzLXV0aWxzL2xzaXBjLmM6MjMyIHN5cy11dGlscy9sc25zLmM6MTg5CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI3NyBzeXMtdXRpbHMvc3dhcG9uLmM6MTQ3IHN5cy11dGlscy93ZGN0bC5jOjE1MQorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzoxNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICJva8OkbmQga29sdW1uOiAlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICIlczogbWlzc2x5Y2thZGVzIG1lZCBhdHQgaMOkbXRhIHBhcnRpdGlvbnNudW1tZXIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyODYgZGlzay11dGlscy9wYXJ0eC5jOjMyNCBkaXNrLXV0aWxzL3BhcnR4LmM6NDc3CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZmllZCByYW5nZSA8JWQ6JWQ+IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgImFuZ2l2ZXQgaW50ZXJ2YWxsIDwlZDolZD4gZ2VyIGluZ2VuIG1lbmluZyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICJyYW5nZSByZWNvdW50OiBtYXggcGFydG5vPSVkLCBsb3dlcj0lZCwgdXBwZXI9JWRcbiIKK21zZ3N0ciAiaW50ZXJ2YWxsb21yw6RrbmluZzogbWF4IHBhcnRucj0lZCwgbmVkcmU9JWQsIMO2dnJlPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXM6IGZlbCB2aWQgYm9ydHRhZ25pbmcgYXYgcGFydGl0aW9uICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczogZmVsIHZpZCBib3J0dGFnbmluZyBhdiBwYXJ0aXRpb25lciAlZC0lZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZW1vdmVkXG4iCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gIyVkIGJvcnR0YWdlblxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGRvZXNuJ3QgZXhpc3RcbiIKK21zZ3N0ciAiJXM6IHBhcnRpdGlvbiAjJWQgZXhpc3RlcmFyIGludGVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGVsZXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCB0YSBib3J0IHBhcnRpdGlvbiAjJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiBmZWwgZMOlIHBhcnRpdGlvbiAlZCBsYWRlcyB0aWxsIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXM6IGZlbCBkw6UgcGFydGl0aW9uZXJuYSAlZC0lZCBsYWRlcyB0aWxsIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDA1IGRpc2stdXRpbHMvcGFydHguYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIKK21zZ3N0ciAiJXM6IHBhcnRpdGlvbiAjJWQgdGlsbGFnZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCBsw6RnZ2EgdGlsbCBwYXJ0aXRpb24gIyVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiBmZWwgdmlkIHVwcGRhdGVyaW5nIGF2IHBhcnRpdGlvbiAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXM6IGZlbCB2aWQgdXBwZGF0ZXJpbmcgYXYgcGFydGl0aW9uZXIgJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiAjJWQiCittc2dzdHIgIiVzOiBkZXQgZmlubnMgaW5nZW4gcGFydGl0aW9uICMlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZXNpemVkXG4iCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gIyVkIGhhciDDpG5kcmF0IHN0b3JsZWtcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdXBkYXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiB1cHBkYXRlcmluZyBhdiBwYXJ0aXRpb24gIyVkIG1pc3NseWNrYWRlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9yLCAlNmp1IE1CKVxuIgorbXNnaWRfcGx1cmFsICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9ycywgJTZqdSBNQilcbiIKK21zZ3N0clswXSAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNla3RvciwgJTZqdSBNQilcbiIKK21zZ3N0clsxXSAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNla3RvcmVyLCAlNmp1IE1CKVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTgxIG1pc2MtdXRpbHMvZmluZG1udC5jOjY4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MDUKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM5MSBzeXMtdXRpbHMvbHNucy5jOjQ1NgorbXNnaWQgImZhaWxlZCB0byBhZGQgbGluZSB0byBvdXRwdXQiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGzDpGdnYSB0aWxsIHJhZCB0aWxsIHV0bWF0bmluZyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY0NAorbXNnaWQgImZhaWxlZCB0byBhZGQgZGF0YSB0byBvdXRwdXQgdGFibGUiCittc2dzdHIgIm1pc3NseWNrYWRlcyBhdHQgbMOkZ2dhIHRpbGwgZGF0YSB0aWxsIHV0bWF0bmluZ3N0YWJlbGwiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NjcgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo5MjIgbWlzYy11dGlscy9maW5kbW50LmM6MTU4NQorIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NzQgbWlzYy11dGlscy9sc2xvY2tzLmM6NDUxIHN5cy11dGlscy9sb3NldHVwLmM6MzEwCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzEzIHN5cy11dGlscy9sc2lwYy5jOjMzOCBzeXMtdXRpbHMvbHNucy5jOjUxMQorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyOTcgc3lzLXV0aWxzL3N3YXBvbi5jOjI4MCBzeXMtdXRpbHMvd2RjdGwuYzoyNTkKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NDg0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJtaXNzbHlja2FkZXMgYXR0IGluaXRpZXJhIHV0bWF0bmluZ3N0YWJlbGwiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NzggbWlzYy11dGlscy9maW5kbW50LmM6MTYxMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5NgorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDY1IHN5cy11dGlscy9sb3NldHVwLmM6MzIyIHN5cy11dGlscy9sb3NldHVwLmM6MzU4CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzE4IHN5cy11dGlscy9sc25zLmM6NTMyIHN5cy11dGlscy9wcmxpbWl0LmM6MzA2CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjg5IHN5cy11dGlscy93ZGN0bC5jOjI3MCBzeXMtdXRpbHMvenJhbWN0bC5jOjQ5MworbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iCittc2dzdHIgIm1pc3NseWNrYWRlcyBhdHQgaW5pdGllcmEgdXRtYXRuaW5nc2tvbHVtbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjcyMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBibGtpZCBmaWx0ZXIgZm9yICclcyciCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGluaXRpZXJhIGJsa2lkLWZpbHRlciBmw7ZyIOKAnSVz4oCdIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCBsw6RzYSBpbiBwYXJ0aXRpb25zdGFiZWxsIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgdHlwZSAnJXMnIGRldGVjdGVkXG4iCittc2dzdHIgIiVzOiBwYXJ0aXRpb25zdGFiZWxsc3R5cCDigJ0lc+KAnSBoaXR0YWRlc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgd2l0aCBubyBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogZW4gcGFydGl0aW9uc3RhYmVsbCB1dGFuIG7DpWdyYSBwYXJ0aXRpb25lciIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0aXRpb24+XSA8ZGlzaz5cbiIKK21zZ3N0ciAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8cGFydGl0aW9uPl0gPGRpc2s+XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTYKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIHByZXNlbmNlIGFuZCBudW1iZXJpbmcgb2YgcGFydGl0aW9ucy5cbiIKK21zZ3N0ciAiQmVyw6R0dGEgZsO2ciBrw6RybmFuIG9tIG7DpHJ2YXJvbiBvY2ggbnVtcmVyaW5nZW4gYXYgcGFydGl0aW9uZXIuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTkKK21zZ2lkICIgLWEsIC0tYWRkICAgICAgICAgICAgYWRkIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtYSwgLS1hZGQgICAgICAgICAgICBsw6RnZyB0aWxsIGFuZ2l2bmEgcGFydGl0aW9uZXIgZWxsZXIgYWxsaWhvcFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYwCittc2dpZCAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIGRlbGV0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLWQsIC0tZGVsZXRlICAgICAgICAgdGEgYm9ydCBhbmdpdm5hIHBhcnRpdGlvbmVyIGVsbGVyIGFsbGlob3BcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MQorbXNnaWQgIiAtdSwgLS11cGRhdGUgICAgICAgICB1cGRhdGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIC11LCAtLXVwZGF0ZSAgICAgICAgIHVwcGRhdGVyYSBhbmdpdm5hIHBhcnRpdGlvbmVyIGVsbGVyIGFsbGlob3BcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MgorbXNnaWQgIiIKKyIgLXMsIC0tc2hvdyAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zXG4iCisiXG4iCittc2dzdHIgIiIKKyIgLXMsIC0tc2hvdyAgICAgICAgICAgbGlzdGEgcGFydGl0aW9uZXJcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MyBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyMworbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAgICAgc2tyaXYgdXQgU1RPUkxFSyBpIGJ5dGUgaXN0w6RsbGV0IGbDtnIgZm9ybWF0IGzDpHNiYXJ0IGbDtnIgbcOkbm5pc2tvclxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY0Cittc2dpZCAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLXNob3dcbiIKK21zZ3N0ciAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIHNrcml2IGludGUgdXQgcnVicmlrZXIgZsO2ciAtLXNob3dcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NQorbXNnaWQgIiAtbiwgLS1uciA8bjptPiAgICAgICBzcGVjaWZ5IHRoZSByYW5nZSBvZiBwYXJ0aXRpb25zIChlLmcuIC0tbnIgMjo0KVxuIgorbXNnc3RyICIgLW4sIC0tbnIgPG46bT4gICAgICAgYW5nZSBpbnRlcnZhbGxldCBmw7ZyIHBhcnRpdGlvbmVyICh0LmV4LiAtLW5yIDI6NClcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NgorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RhPiBkZWZpbmllcmEgdmlsa2EgdXRtYXRuaW5nc2tvbHVtbmVyIHNvbSBza2EgYW52w6RuZGFzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjcgbWlzYy11dGlscy9sc2Jsay5jOjE2MzcKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVAsIC0tcGFpcnMgICAgICAgICAgYW52w6RuZCB1dG1hdG5pbmdzZm9ybWF0ZXQgbnlja2VsPVwidsOkcmRlXCJcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OCBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzOAorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgYW52w6RuZCByw6V0dCB1dG1hdG5pbmdzZm9ybWF0XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjkKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgc3BlY2lmeSB0aGUgcGFydGl0aW9uIHR5cGUgKGRvcywgYnNkLCBzb2xhcmlzLCBldGMuKVxuIgorbXNnc3RyICIgLXQsIC0tdHlwZSA8dHlwPiAgICAgYW5nZSBwYXJ0aXRpb25zdHlwIChkb3MsIGJzZCwgc29sYXJpcywgZXRjLilcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICB1dGbDtnJsaWd0IGzDpGdlXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzYKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3csIC0tcmF3IG9yIC0tcGFpcnMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiVGlsbGfDpG5nbGlnYSBrb2x1bW5lciAoZsO2ciAtLXNob3csIC0tcmF3IGVsbGVyIC0tcGFpcnMpOlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODQ5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tbnIgPE0tTj4gcmFuZ2UiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIC0tbnIgPE0tTj4taW50ZXJ2YWxsIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTI0Cittc2dpZCAicGFydGl0aW9uIGFuZCBkaXNrIG5hbWUgZG8gbm90IG1hdGNoIgorbXNnc3RyICJwYXJ0aXRpb24tIG9jaCBkaXNrbmFtbiBtYXRjaGFyIGludGUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NTIKK21zZ2lkICItLW5yIGFuZCA8cGFydGl0aW9uPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItLW5yIG9jaCA8cGFydGl0aW9uPiBrYW4gaW50ZSBiw6VkYSBhbnbDpG5kYXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFydGl0aW9uOiAlcywgZGlzazogJXMsIGxvd2VyOiAlZCwgdXBwZXI6ICVkXG4iCittc2dzdHIgInBhcnRpdGlvbjogJXMsIGRpc2s6ICVzLCB1bmRyZTogJWQsIMO2dnJlOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlIHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiBrYW4gaW50ZSB0YSBib3J0IHBhcnRpdGlvbmVyIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb25lZCBsb29wIGRldmljZXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiVzOiBwYXJ0aXRpb25lcmFkZSBsb29wZW5oZXRlciBzdMO2ZHMgaW50ZSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIHByb2JlciIKK21zZ3N0ciAiJXM6IG1pc3NseWNrYWRlcyBtZWQgYXR0IGluaXRpZXJhIGJsa2lkLWF2c8O2a2FyZSIKKworIzogZGlzay11dGlscy9yYXcuYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgJTIkc3Jhd04gPG1ham9yPiA8bWlub3I+XG4iCisiICUxJHMgJTIkc3Jhd04gL2Rldi88YmxvY2tkZXZpY2U+XG4iCisiICUxJHMgLXEgJTIkc3Jhd05cbiIKKyIgJTEkcyAtcWFcbiIKK21zZ3N0ciAiIgorIiAlMSRzICUyJHNyw6VOIDzDtnZyZT4gPHVuZHJlPlxuIgorIiAlMSRzICUyJHNyw6VOIC9kZXYvPGJsb2NrZW5oZXQ+XG4iCisiICUxJHMgLXEgJTIkc3LDpU5cbiIKKyIgJTEkcyAtcWFcbiIKKworIzogZGlzay11dGlscy9yYXcuYzo1OAorbXNnaWQgIkJpbmQgYSByYXcgY2hhcmFjdGVyIGRldmljZSB0byBhIGJsb2NrIGRldmljZS5cbiIKK21zZ3N0ciAiQmluZCBlbiByw6UgdGVja2VuZW5oZXQgdGlsbCBlbiBibG9ja2VuaGV0LlxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYxCittc2dpZCAiIC1xLCAtLXF1ZXJ5ICAgIHNldCBxdWVyeSBtb2RlXG4iCittc2dzdHIgIiAtcSwgLS1xdWVyeSAgICBzdMOkbGwgaW4gZnLDpWdlbMOkZ2VcbiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICBxdWVyeSBhbGwgcmF3IGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgIGZyw6VnYSBhbGxhIHLDpWEgZW5oZXRlclxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyB0aGUgY29udHJvbCByYXcgZGV2aWNlICh1c2UgcmF3PE4+IHdoZXJlIDxOPiBpcyBncmVhdGVyIHRoYW4gemVybykiCittc2dzdHIgIkVuaGV0IOKAnSVz4oCdIMOkciBkZW4gcsOlYSBrb250cm9sbGVuaGV0ZW4gKGFudsOkbmQgcsOlPE4+IGTDpHIgPE4+IMOkciBzdMO2cnJlIMOkbiBub2xsKSIKKworIzogZGlzay11dGlscy9yYXcuYzoxODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSBibG9jayBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiS2FuIGludGUgaGl0dGEgYmxvY2tlbmhldCDigJ0lc+KAnSIKKworIzogZGlzay11dGlscy9yYXcuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJFbmhldCDigJ0lc+KAnSDDpHIgaW50ZSBlbiBibG9ja2VuaGV0IgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE5MyBkaXNrLXV0aWxzL3Jhdy5jOjE5NiBzeXMtdXRpbHMvaXBjcm0uYzozNTEKKyM6IHN5cy11dGlscy9pcGNybS5jOjM2NCBzeXMtdXRpbHMvaXBjcm0uYzozNzcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIGFyZ3VtZW50IgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICJLYW4gaW50ZSDDtnBwbmEgcsOlIGh1dnVkZW5oZXQg4oCdJXPigJ0iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICJLYW4gaW50ZSBoaXR0YSByw6UgZW5oZXQg4oCdJXPigJ0iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJhdyBkZXZpY2UgJyVzJyBpcyBub3QgYSBjaGFyYWN0ZXIgZGV2IgorbXNnc3RyICJSw6UgZW5oZXQg4oCdJXPigJ0gw6RyIGludGUgZW4gdGVja2VuZW5oZXQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIHJhdyBkZXYiCittc2dzdHIgIkVuaGV0IOKAnSVz4oCdIMOkciBpbnRlIGVuIHLDpSBlbmhldCIKKworIzogZGlzay11dGlscy9yYXcuYzoyNDUKK21zZ2lkICJFcnJvciBxdWVyeWluZyByYXcgZGV2aWNlIgorbXNnc3RyICJGZWwgdmlkIGbDtnJmcsOlZ2FuIHRpbGwgcsOlIGVuaGV0IgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI1NCBkaXNrLXV0aWxzL3Jhdy5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlc3JhdyVkOiAgYm91bmQgdG8gbWFqb3IgJWQsIG1pbm9yICVkXG4iCittc2dzdHIgIiVzcsOlJWQ6ICBidW5kZW4gdGlsbCDDtnZyZSAlZCwgdW5kcmUgJWRcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNjgKK21zZ2lkICJFcnJvciBzZXR0aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIkZlbCB2aWQgaW5zdMOkbGxuaW5nIGF2IHLDpSBlbmhldCIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxsZW5ndGg+XG4iCittc2dzdHIgIiAlcyA8ZGlza2VuaGV0PiA8cGFydGl0aW9uc251bW1lcj4gPGzDpG5nZD5cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjMKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICJCZXLDpHR0YXIgZsO2ciBrw6RybmFuIG9tIGRlbiBueWEgc3Rvcmxla2VuIHDDpSBlbiBwYXJ0aXRpb24uXG4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgcGFydGl0aW9uIG51bWJlciAlcyIKK21zZ3N0ciAiJXM6IG1pc3NseWNrYWRlcyBtZWQgYXR0IGjDpG10YSBiw7ZyamFuIGF2IHBhcnRpdGlvbiBudW1tZXIgJXMiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwOQorbXNnaWQgImZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCDDpG5kcmEgc3RvcmxlayBmw7ZyIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMzEKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbmVzdGVkIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGFsbG9rZXJhIG7DpHN0bGFkIGxpYmZkaXNrLWtvbnRleHQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZWVrICVzIgorbXNnc3RyICJrYW4gaW50ZSBzw7ZrYSAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDIgbGliZmRpc2svc3JjL2JzZC5jOjcyMyBsaWJmZGlzay9zcmMvYnNkLmM6ODk0CisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE2MyBzeXMtdXRpbHMvaHdjbG9jay5jOjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgJXMiCittc2dzdHIgImthbiBpbnRlIHNrcml2YSAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTEycyAob2Zmc2V0ICU1anUsIHNpemUgJTVqdSk6ICVzIgorbXNnc3RyICIlMTJzIChwb3NpdGlvbiAlNWp1LCBzdG9ybGVrICU1anUpOiAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAiCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCBza2FwYSBzw6RrZXJoZXRza29waWEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzI4Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCBmaWxlLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHNrYXBhIGVuIGZpbCBtZWQgc8Oka2VyaGV0c2tvcGlhLCAkSE9NRSBvZGVmaW5pZXJhZCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozNTQKK21zZ2lkICJCYWNrdXAgZmlsZXM6IgorbXNnc3RyICJTw6RrZXJoZXRza29waWVyaW5nc2ZpbGVyOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozNzkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBuZXcgcGFydGl0aW9uIGZyb20gZGV2aWNlOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgbMOkc2EgaW4gbnkgcGFydGl0aW9uIGZyw6VuIGVuaGV0ZW47IGlnbm9yZXJhciAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODEKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBow6RtdGEgc3Rvcmxla2VuIHDDpSBkZW4gbnlhIHBhcnRpdGlvbmVuOyBpZ25vcmVyYXIgLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgzCittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGjDpG10YSBiw7ZyamFuIHDDpSBkZW4gbnlhIHBhcnRpdGlvbmVuOyBpZ25vcmVyYXIgLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg1Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgaMOkbXRhIHN0b3JsZWtlbiBww6UgZGVuIGdhbWxhIHBhcnRpdGlvbmVuOyBpZ25vcmVyYXIgLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg3Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGjDpG10YSBiw7ZyamFuIHDDpSBkZW4gZ2FtbGEgcGFydGl0aW9uZW47IGlnbm9yZXJhciAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODkKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGhhcyBub3QgYmVlbiBtb3ZlZDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImLDtnJqYW4gYXYgcGFydGl0aW9uZW4gaGFyIGludGUgZmx5dHRhdHM7IGlnbm9yZXJhciAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTEKK21zZ2lkICJuZXcgcGFydGl0aW9uIGlzIHNtYWxsZXIgdGhhbiBvcmlnaW5hbDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIm55IHBhcnRpdGlvbiDDpHIgbWluZHJlIMOkbiBvcmlnaW5hbGV0OyBpZ25vcmVyYXIgLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQxCittc2dpZCAiRGF0YSBtb3ZlOiIKK21zZ3N0ciAiRGF0YWbDtnJmbHl0dG5pbmc6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0MworIywgYy1mb3JtYXQKK21zZ2lkICIgdHlwZXNjcmlwdCBmaWxlOiAlcyIKK21zZ3N0ciAiIHR5cGVzY3JpcHQtZmlsOiAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIG9sZCBzdGFydDogJWp1LCBuZXcgc3RhcnQ6ICVqdSAobW92ZSAlanUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIGdhbW1hbCBzdGFydDogJWp1LCBueSBzdGFydDogJWp1IChmbHl0dGEgJWp1IHNla3RvcmVyKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1MQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIG1vdmUgcGFydGl0aW9uIGRhdGE/IgorbXNnc3RyICJWaWxsIGR1IGZseXR0YSBwYXJ0aXRpb25zZGF0YT8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc4MworbXNnaWQgIkxlYXZpbmcuIgorbXNnc3RyICJMw6RtbmFyLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBtb3ZlIGRhdGEiCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCBmbHl0dGEgZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDEKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGlzIHVuY2hhbmdlZCAoLS1uby1hY3QpLiIKK21zZ3N0ciAiUGFydGl0aW9uc3RhYmVsbGVuIMOkciBvZsO2csOkbmRyYWQgKC0tbm8tYWN0KS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQ3Cittc2dpZCAiIgorIlxuIgorIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIiIKKyJcbiIKKyJQYXJ0aXRpb25zdGFiZWxsZW4gaGFyIMOkbmRyYXRzLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbGFiZWwgJyVzJyIKK21zZ3N0ciAiZXRpa2V0dCDigJ0lc+KAnSBzdMO2ZHMgaW50ZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MjYKK21zZ2lkICIiCisiSWQgIE5hbWVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIklkICBOYW1uXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjU2Cittc2dpZCAidW5yZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorbXNnc3RyICJva8OkbmQgdHlwIGF2IHBhcnRpdGlvbnN0YWJlbGwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAiS2FuIGludGUgaMOkbXRhIHN0b3JsZWtlbiBww6UgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInRvdGFsOiAlanUgYmxvY2tzXG4iCittc2dzdHIgInRvdGFsdDogJWp1IGJsb2NrXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODA4IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODc2IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk0NyBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTQgZGlzay11dGlscy9zZmRpc2suYzoxMDc4CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzMgZGlzay11dGlscy9zZmRpc2suYzoxMTg5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUzMworbXNnaWQgIm5vIGRpc2sgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAiaW5nZW4gZGlza2VuaGV0IGFuZ2F2cyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MTkKK21zZ2lkICJ0b2dnbGUgYm9vdCBmbGFncyBpcyBzdXBwb3J0ZWQgZm9yIE1CUiBvbmx5IgorbXNnc3RyICJhdHQgdsOkeGxhIHN0YXJ0ZmxhZ2dvcm5hIHN0w7ZkcyBiYXJhIGbDtnIgTUJSIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg1MCBkaXNrLXV0aWxzL3NmZGlzay5jOjg5NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTkKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4MyBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzggZGlzay11dGlscy9zZmRpc2suYzoxMTk0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MzEgZGlzay11dGlscy9zZmRpc2suYzoyMDEzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIHBhcnRpdGlvbnNudW1tZXIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJWQ6IGZhaWxlZCB0byB0b2dnbGUgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiJXM6IHBhcnRpdGlvbiAlZDogbWlzc2x5Y2thZGVzIG1lZCBhdHQgdsOkeGxhIHN0YXJ0YmFyaGV0c2ZsYWdnYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4OTEgZGlzay11dGlscy9zZmRpc2suYzo4OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBkZWxldGUiCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gJXp1OiBtaXNzbHlja2FkZXMgbWVkIGF0dCB0YSBib3J0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiRW5oZXRlbiBpbm5laMOlbGxlciBpbnRlIGVuIGlnZW5rw6RuZCBwYXJ0aXRpb25zdGFiZWxsLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NTgKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgZHVtcCBzdHJ1Y3QiCittc2dzdHIgIm1pc3NseWNrYWRlIGF0dCBhbGxva2VyYSBkdW1wc3RydWt0dXIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGR1bXAgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBkdW1wYSBwYXJ0aXRpb25zdGFiZWxsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uIHRhYmxlIGZvdW5kIgorbXNnc3RyICIlczogaW5nZW4gcGFydGl0aW9uc3RhYmVsbCBoaXR0YWRlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uc3RhYmVsbCBpbm5laMOlbGxlciBiYXJhICV6dSBwYXJ0aXRpb25lciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiBpcyB1bnVzZWQiCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb25lbiDDpHIgb2FudsOkbmQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxOCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODIgZGlzay11dGlscy9zZmRpc2suYzoxMTM3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTMKK21zZ2lkICJubyBwYXJ0aXRpb24gbnVtYmVyIHNwZWNpZmllZCIKK21zZ3N0ciAiaW5nZXQgcGFydGl0aW9uc251bW1lciBhbmdpdmV0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMjQgZGlzay11dGlscy9zZmRpc2suYzoxMDg4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE0MworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTk5Cittc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudHMiCittc2dzdHIgIm92w6RudGFkZSBhcmd1bWVudCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlczogcGFydGl0aW9uICV6dTogbWlzc2x5Y2thZGVzIG1lZCBhdHQgaMOkbXRhIHBhcnRpdGlvbnN0eXAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA1OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgcGFydGl0aW9uIHR5cGUgJyVzJyIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgJXMtcGFydGl0aW9uc3R5cCDigJ0lc+KAnSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlczogcGFydGl0aW9uICV6dTogbWlzc2x5Y2thZGVzIG1lZCBhdHQgc3TDpGxsYSBpbiBwYXJ0aXRpb25zdHlwIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gJXp1OiBtaXNzbHlja2FkZXMgbWVkIGF0dCBow6RtdGEgcGFydGl0aW9ucy1VVUlEIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMTMgZGlzay11dGlscy9zZmRpc2suYzoxMTY4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIyMgorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gb2JqZWN0IgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBhbGxva2VyYSBwYXJ0aXRpb25zb2JqZWt0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gJXp1OiBtaXNzbHlja2FkZXMgbWVkIGF0dCBzdMOkbGxhIGluIHBhcnRpdGlvbnMtVVVJRCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlczogcGFydGl0aW9uICV6dTogbWlzc2x5Y2thZGVzIG1lZCBhdHQgaMOkbXRhIHBhcnRpdGlvbnNuYW1uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gJXp1OiBtaXNzbHlja2FkZXMgbWVkIGF0dCBzdMOkbGxhIGluIHBhcnRpdGlvbnNuYW1uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIGF0dHJpYnV0ZXMiCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gJXp1OiBtaXNzbHlja2FkZXMgbWVkIGF0dCBzdMOkbGxhIGluIHBhcnRpdGlvbnNhdHRyaWJ1dCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjY5Cittc2dpZCAiIENvbW1hbmRzOlxuIgorbXNnc3RyICIgS29tbWFuZG9uOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzEKK21zZ2lkICIgICB3cml0ZSAgICB3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0XG4iCittc2dzdHIgIiAgIHdyaXRlICAgIHNrcml2IHRhYmVsbGVuIHRpbGwgZGlzayBvY2ggYXZzbHV0YVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzIKK21zZ2lkICIgICBxdWl0ICAgICBzaG93IG5ldyBzaXR1YXRpb24gYW5kIHdhaXQgZm9yIHVzZXIncyBmZWVkYmFjayBiZWZvcmUgd3JpdGVcbiIKK21zZ3N0ciAiICAgcXVpdCAgICAgdmlzYSBueXR0IHRpbGxzdMOlbmQgb2NoIGludsOkbnRhIGFudsOkbmRhcmVucyDDpXRlcmtvcHBsaW5nIGlubmFuIHNrcml2bmluZ1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzMKK21zZ2lkICIgICBhYm9ydCAgICBleGl0IHNmZGlzayBzaGVsbFxuIgorbXNnc3RyICIgICBhYm9ydCAgICBhdnNsdXRhIHNmZGlzay1za2FsXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3NAorbXNnaWQgIiAgIHByaW50ICAgIGRpc3BsYXkgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgICBwcmludCAgICBza3JpdiB1dCBwYXJ0aXRpb25zdGFiZWxsZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjc1Cittc2dpZCAiICAgaGVscCAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorbXNnc3RyICIgICBoZWxwICAgICB2aXNhIGRlbm5hIGhqw6RscHRleHRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjc3Cittc2dpZCAiICAgQ3RybC1EICAgdGhlIHNhbWUgYXMgJ3F1aXQnXG4iCittc2dzdHIgIiAgIEN0cmwtRCAgIHNhbW1hIHNvbSDigJ1xdWl04oCdXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MQorbXNnaWQgIiBJbnB1dCBmb3JtYXQ6XG4iCittc2dzdHIgIiBJbm1hdG5pbmdzZm9ybWF0OlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODMKK21zZ2lkICIgICA8c3RhcnQ+LCA8c2l6ZT4sIDx0eXBlPiwgPGJvb3RhYmxlPlxuIgorbXNnc3RyICIgICA8c3RhcnQ+LCA8c3Rvcmxlaz4sIDx0eXA+LCA8c3RhcnRiYXI+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4NgorbXNnaWQgIiIKKyIgICA8c3RhcnQ+ICBCZWdpbm5pbmcgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgdGhlIGZpcnN0IGZyZWUgc3BhY2UuXG4iCittc2dzdHIgIiIKKyIgICA8c3RhcnQ+ICBCw7ZyamFuIGF2IHBhcnRpdGlvbmVuIGkgc2VrdG9yZXIgZWxsZXIgYnl0ZSBvbVxuIgorIiAgICAgICAgICAgIGFuZ2l2ZW4gaSBmb3JtYXRldCA8bnVtbWVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFN0YW5kYXJkdsOkcmRldCDDpHIgZGV0IGbDtnJzdGEgbGVkaWdhIHV0cnltbWV0LlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTEKK21zZ2lkICIiCisiICAgPHNpemU+ICAgU2l6ZSBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyBhbGwgYXZhaWxhYmxlIHNwYWNlLlxuIgorbXNnc3RyICIiCisiICAgPHN0b3JsZWs+IFN0b3JsZWsgcMOlIHBhcnRpdGlvbmVuIGkgc2VrdG9yZXIgZWxsZXIgYnl0ZSBvbVxuIgorIiAgICAgICAgICAgIGFuZ2l2ZW4gaSBmb3JtYXRldCA8bnVtbWVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFN0YW5kYXJkdsOkcmRldCDDpHIgYWxsdCB0aWxsZ8OkbmdsaWd0IHV0cnltbWUuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NgorbXNnaWQgIiAgIDx0eXBlPiAgIFRoZSBwYXJ0aXRpb24gdHlwZS4gIERlZmF1bHQgaXMgYSBMaW51eCBkYXRhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiICAgPHR5cD4gICAgUGFydGl0aW9uc3R5cGVuLiBTdGFuZGFyZHbDpHJkZXQgw6RyIGVuIExpbnV4IGRhdGFwYXJ0aXRpb24uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NworbXNnaWQgIiAgICAgICAgICAgIE1CUjogaGV4IG9yIEwsUyxFLFggc2hvcnRjdXRzLlxuIgorbXNnc3RyICIgICAgICAgICAgICBNQlI6IGhleCBlbGxlciBMLFMsRSxYLWdlbnbDpGdhci5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk4Cittc2dpZCAiICAgICAgICAgICAgR1BUOiBVVUlEIG9yIEwsUyxIIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiICAgICAgICAgICAgR1BUOiBVVUlEIGVsbGVyIEwsUyxILWdlbnbDpGdhci5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzAxCittc2dpZCAiICAgPGJvb3RhYmxlPiAgVXNlICcqJyB0byBtYXJrIGFuIE1CUiBwYXJ0aXRpb24gYXMgYm9vdGFibGUuXG4iCittc2dzdHIgIiAgIDxzdGFydGJhcj4gIEFudsOkbmQg4oCdKuKAnSBmw7ZyIGF0dCBtYXJrZXJhIGVuIE1CUi1wYXJ0aXRpb24gc29tIHN0YXJ0YmFyLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDUKK21zZ2lkICIgRXhhbXBsZTpcbiIKK21zZ3N0ciAiIEV4ZW1wZWw6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNworbXNnaWQgIiAgICwgNEcgICAgIENyZWF0ZXMgYSA0R2lCIHBhcnRpdGlvbiBhdCBkZWZhdWx0IHN0YXJ0IG9mZnNldC5cbiIKK21zZ3N0ciAiICAgLCA0RyAgICAgU2thcGFyIGVuIDRHaUItcGFydGl0aW9uIHZpZCBzdGFuZGFyZCBzdGFydHBvc2l0aW9uLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMzkgc3lzLXV0aWxzL2RtZXNnLmM6MTQ1NQorbXNnaWQgInVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgImtvbW1hbmRvIHN0w7ZkcyBpbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzQxCisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQ6IHVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgInJhZCAlZDoga29tbWFuZG8gc3TDtmRzIGludGUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUwMAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgYWxsb2tlcmEgcGFydGl0aW9uc25hbW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU0MQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgYWxsb2tlcmEgc2tyaXB0aGFudGVyYXJlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBubyBwYXJ0aXRpb24gdGFibGUgd2FzIGZvdW5kIgorbXNnc3RyICIlczoga2FuIGludGUgbW9kaWZpZXJhIHBhcnRpdGlvbiAlZDogaW5nZW4gcGFydGl0aW9uc3RhYmVsbCBoaXR0YWRlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogcGFydGl0aW9uIHRhYmxlIGNvbnRhaW5zIG9ubHkgJXp1IHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiBrYW4gaW50ZSBtb2RpZmllcmEgcGFydGl0aW9uICVkOiBwYXJ0aXRpb25zdGFiZWxsIGlubmVow6VsbGVyIGJhcmEgJXp1IHBhcnRpdGlvbmVyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXM6IHBhcnRpdGlvbiAlZCBpcyBub3QgZGVmaW5lZCB5ZXQiCittc2dzdHIgInZhcm5pbmc6ICVzOiBwYXJ0aXRpb24gJWQgw6RyIGludGUgZGVmaW5pZXJhZCDDpG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiV2VsY29tZSB0byBzZmRpc2sgKCVzKS4iCittc2dzdHIgIiIKKyJcbiIKKyJWw6Rsa29tbWVuIHRpbGwgc2ZkaXNrICglcykuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTQKK21zZ2lkICJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIKK21zZ3N0ciAiS29udHJvbGxlcmFyIGF0dCBpbmdlbiBhbnbDpG5kZXIgZGVubmEgZGlzayBqdXN0IG514oCmIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTcKK21zZ2lkICIiCisiIEZBSUxFRFxuIgorIlxuIgorbXNnc3RyICIiCisiIE1JU1NMWUNLQURFU1xuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MDAKK21zZ2lkICIiCisiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UgLSByZXBhcnRpdGlvbmluZyBpcyBwcm9iYWJseSBhIGJhZCBpZGVhLlxuIgorIlVtb3VudCBhbGwgZmlsZSBzeXN0ZW1zLCBhbmQgc3dhcG9mZiBhbGwgc3dhcCBwYXJ0aXRpb25zIG9uIHRoaXMgZGlzay5cbiIKKyJVc2UgdGhlIC0tbm8tcmVyZWFkIGZsYWcgdG8gc3VwcHJlc3MgdGhpcyBjaGVjay5cbiIKK21zZ3N0ciAiIgorIkRpc2tlbiBhbnbDpG5kcyBmw7ZyIHRpbGxmw6RsbGV0IC0gb21wYXJ0aXRpb25lcmluZyDDpHIgdHJvbGlndHZpcyBlbiBkw6VsaWcgaWTDqS5cbiIKKyJBdm1vbnRlcmEgYWxsYSBmaWxzeXN0ZW0gb2NoIGFudsOkbmQgc3dhcG9mZiBmw7ZyIGFsbGEgdsOkeGxpbmdzcGFydGl0aW9uZXIgcMOlIGRlbm5hIGRpc2suXG4iCisiQW52w6RuZCBmbGFnZ2FuIC0tbm8tcmVyZWFkIGbDtnIgYXR0IHVuZGVydHJ5Y2thIGRlbm5hIGtvbnRyb2xsLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MDUKK21zZ2lkICJVc2UgdGhlIC0tZm9yY2UgZmxhZyB0byBvdmVycnVsZSBhbGwgY2hlY2tzLiIKK21zZ3N0ciAiQW52w6RuZCBmbGFnZ2FuIC0tZm9yY2UgZsO2ciBhdHQgw6VzaWRvc8OkdHRhIGFsbGEga29udHJvbGxlci4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNworbXNnaWQgIiIKKyIgT0tcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiBPS1xuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzYKK21zZ2lkICIiCisiXG4iCisiT2xkIHNpdHVhdGlvbjoiCittc2dzdHIgIiIKKyJcbiIKKyJUaWRpZ2FyZSBzaXR1YXRpb246IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorInNmZGlzayBpcyBnb2luZyB0byBjcmVhdGUgYSBuZXcgJyVzJyBkaXNrIGxhYmVsLlxuIgorIlVzZSAnbGFiZWw6IDxuYW1lPicgYmVmb3JlIHlvdSBkZWZpbmUgYSBmaXJzdCBwYXJ0aXRpb25cbiIKKyJ0byBvdmVycmlkZSB0aGUgZGVmYXVsdC4iCittc2dzdHIgIiIKKyJcbiIKKyJzZmRpc2sga29tbWVyIGF0dCBza2FwYSBlbiBueSDigJ0lc+KAnSBkaXNrZXRpa2V0dC5cbiIKKyJBbnbDpG5kIOKAnWxhYmVsOiA8bmFtbj7igJ0gaW5uYW4gZHUgZGVmaW5pZXJhciBlbiBmw7Zyc3RhIHBhcnRpdGlvblxuIgorImbDtnIgYXR0IMOlc2lkb3PDpHR0YSBzdGFuZGFyZHbDpHJkZXQuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NTcKK21zZ2lkICIiCisiXG4iCisiVHlwZSAnaGVscCcgdG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTa3JpdiDigJ1oZWxw4oCdIGbDtnIgbWVyIGluZm9ybWF0aW9uLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NzUKK21zZ2lkICJBbGwgcGFydGl0aW9ucyB1c2VkLiIKK21zZ3N0ciAiQWxsYSBwYXJ0aXRpb25lciBhbnbDpG5kYS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcwMworbXNnaWQgIkRvbmUuXG4iCittc2dzdHIgIkbDpHJkaWcuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcxNQorbXNnaWQgIklnbm9yaW5nIHBhcnRpdGlvbi4iCittc2dzdHIgIkhvcHBhciDDtnZlciBwYXJ0aXRpb24uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MjQKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0IGhlYWRlcnMsIGRpc2sgbGFiZWwgbm90IGNyZWF0ZWQuIgorbXNnc3RyICJNaXNzbHlja2FkZXMgbWVkIGF0dCB0aWxsw6RtcGEgc2tyaXB0aHV2dWRlbiwgZGlza2V0aWtldHQgc2thcGFkZXMgaW50ZS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCAjJWQgcGFydGl0aW9uIgorbXNnc3RyICJNaXNzbHlja2FkZXMgbWVkIGF0dCBsw6RnZ2EgdGlsbCBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc2MworbXNnaWQgIlNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuIgorbXNnc3RyICJTa3JpcHRodXZ1ZCBhY2NlcHRlcmF0LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzcyCittc2dpZCAiIgorIlxuIgorIk5ldyBzaXR1YXRpb246IgorbXNnc3RyICIiCisiXG4iCisiTnkgc2l0dWF0aW9uOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzgxCittc2dpZCAiRG8geW91IHdhbnQgdG8gd3JpdGUgdGhpcyB0byBkaXNrPyIKK21zZ3N0ciAiVmlsbCBkdSBza3JpdmEgZGV0dGEgdGlsbCBkaXNrPyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzkzCittc2dpZCAiTGVhdmluZy5cbiIKK21zZ3N0ciAiTMOkbW5hci5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtmbGFnZ29yXSA8ZW5oPiBbWy1OXSA8cGFydD5dXG4iCisiICUxJHMgW2ZsYWdnb3JdIDxrb21tYW5kbz5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEyCittc2dpZCAiIgorIlxuIgorIkNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisiXG4iCisiS29tbWFuZG9uOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTMKK21zZ2lkICIgLUEsIC0tYWN0aXZhdGUgPGRldj4gWzxwYXJ0PiAuLi5dIGxpc3Qgb3Igc2V0IGJvb3RhYmxlIE1CUiBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiAtQSwgLS1hY3RpdmF0ZSA8ZW5oPiBbPHBhcnQ+IOKApl0gICBsaXN0YSBlbGxlciBzdMOkbGwgaW4gc3RhcnRiYXJhIE1CUi1wYXJ0aXRpb25lclxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTQKK21zZ2lkICIgLWQsIC0tZHVtcCA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlICh1c2FibGUgZm9yIGxhdGVyIGlucHV0KVxuIgorbXNnc3RyICIgLWQsIC0tZHVtcCA8ZW5oPiAgICAgICAgICAgICAgICAgIGR1bXBhIHBhcnRpdGlvbnN0YWJlbGwgKGFudsOkbmRiYXIgZsO2ciBzZW5hcmUgaW5tYXRuaW5nKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTUKK21zZ2lkICIgLUosIC0tanNvbiA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlIGluIEpTT04gZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uIDxlbmg+ICAgICAgICAgICAgICAgICAgZHVtcGEgcGFydGl0aW9uc3RhYmVsbCBpIEpTT04tZm9ybWF0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNgorbXNnaWQgIiAtZywgLS1zaG93LWdlb21ldHJ5IFs8ZGV2PiAuLi5dICAgbGlzdCBnZW9tZXRyeSBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxlbmg+IOKApl0gICAgIGxpc3RhIGdlb21ldHJpIGbDtnIgYXR0IGFuZ2l2bmEgZW5oZXRlclxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTcKK21zZ2lkICIgLWwsIC0tbGlzdCBbPGRldj4gLi4uXSAgICAgICAgICAgIGxpc3QgcGFydGl0aW9ucyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCBbPGVuaD4g4oCmXSAgICAgICAgICAgICAgbGlzdGEgcGFydGl0aW9uZXIgZsO2ciB2YXJqZSBlbmhldFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTgKK21zZ2lkICIgLUYsIC0tbGlzdC1mcmVlIFs8ZGV2PiAuLi5dICAgICAgIGxpc3QgdW5wYXJ0aXRpb25lZCBmcmVlIGFyZWFzIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAtRiwgLS1saXN0LWZyZWUgWzxlbmg+IOKApl0gICAgICAgICBsaXN0YSBvcGFydGl0aW9uZXJhZGUsIGxlZGlnYSB1dHJ5bW1lbiBmw7ZyIHZhcmplIGVuaGV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxOQorbXNnaWQgIiAtciwgLS1yZW9yZGVyIDxkZXY+ICAgICAgICAgICAgICAgZml4IHBhcnRpdGlvbnMgb3JkZXIgKGJ5IHN0YXJ0IG9mZnNldClcbiIKK21zZ3N0ciAiIC1yLCAtLXJlb3JkZXIgPGVuaD4gICAgICAgICAgICAgICBmaXhhIHBhcnRpdGlvbnNvcmRuaW5nIChlZnRlciBzdGFydHBvc2l0aW9uKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjAKK21zZ2lkICIgLXMsIC0tc2hvdy1zaXplIFs8ZGV2PiAuLi5dICAgICAgIGxpc3Qgc2l6ZXMgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtcywgLS1zaG93LXNpemUgWzxlbmg+IOKApl0gICAgICAgICBsaXN0YSBzdG9ybGVrYXIgZsO2ciBhbGxhIGFuZ2l2bmEgZW5oZXRlclxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjEKK21zZ2lkICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByZWNvZ25pemVkIHR5cGVzIChzZWUgLVgpXG4iCittc2dzdHIgIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgICAgICAgICAgc2tyaXYgdXQgaWRlbnRpZmllcmFkZSB0eXBlciAoc2UgLVgpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMgorbXNnaWQgIiAtViwgLS12ZXJpZnkgWzxkZXY+IC4uLl0gICAgICAgICAgdGVzdCB3aGV0aGVyIHBhcnRpdGlvbnMgc2VlbSBjb3JyZWN0XG4iCittc2dzdHIgIiAtViwgLS12ZXJpZnkgWzxlbmg+IOKApl0gICAgICAgICAgICB0ZXN0YSBodXJ1dmlkYSBwYXJ0aXRpb25lciB2ZXJrYXIga29ycmVrdGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIzCittc2dpZCAiICAgICAtLWRlbGV0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gICBkZWxldGUgYWxsIG9yIHNwZWNpZmllZCBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiAgICAgLS1kZWxldGUgPGVuaD4gWzxwYXJ0PiDigKZdICAgICB0YSBib3J0IGFsbGEgZWxsZXIgYW5naXZuYSBwYXJ0aXRpb25lclxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjYKK21zZ2lkICIgLS1wYXJ0LWxhYmVsIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gbGFiZWxcbiIKK21zZ3N0ciAiIC0tcGFydC1sYWJlbCA8ZW5oPiA8cGFydD4gWzxzdHI+XSBza3JpdiB1dCBlbGxlciDDpG5kcmEgcGFydGl0aW9uc2V0aWtldHRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI3Cittc2dpZCAiIC0tcGFydC10eXBlIDxkZXY+IDxwYXJ0PiBbPHR5cGU+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiIC0tcGFydC10eXBlIDxlbmg+IDxwYXJ0PiBbPHR5cD5dICBza3JpdiB1dCBlbGxlciDDpG5kcmEgcGFydGl0aW9uc3R5cFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjgKK21zZ2lkICIgLS1wYXJ0LXV1aWQgPGRldj4gPHBhcnQ+IFs8dXVpZD5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdXVpZFxuIgorbXNnc3RyICIgLS1wYXJ0LXV1aWQgPGVuZz4gPHBhcnQ+IFs8dXVpZD5dIHNrcml2IHV0IGVsbGVyIMOkbmRyYSBwYXJ0aXRpb25zLVVVSURcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI5Cittc2dpZCAiIC0tcGFydC1hdHRycyA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGF0dHJpYnV0ZXNcbiIKK21zZ3N0ciAiIC0tcGFydC1hdHRycyA8ZW5oPiA8cGFydD4gWzxzdHI+XSBza3JpdiB1dCBlbGxlciDDpG5kcmEgcGFydGl0aW9uc2F0dHJpYnV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzMgorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgIGRldmljZSAodXN1YWxseSBkaXNrKSBwYXRoXG4iCittc2dzdHIgIiA8ZW5oPiAgICAgICAgICAgICAgICAgICAgIHPDtmt2w6RnIGbDtnIgZW5oZXQgKHZhbmxpZ3R2aXMgZGlzaylcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODMzCittc2dpZCAiIDxwYXJ0PiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgPHBhcnQ+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb25zbnVtbWVyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzNAorbXNnaWQgIiA8dHlwZT4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiB0eXBlLCBHVUlEIGZvciBHUFQsIGhleCBmb3IgTUJSXG4iCittc2dzdHIgIiA8dHlwPiAgICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbnN0eXAsIEdVSUQgZsO2ciBHUFQsIGhleCBmw7ZyIE1CUlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzcKK21zZ2lkICIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICBhcHBlbmQgcGFydGl0aW9ucyB0byBleGlzdGluZyBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgbMOkZ2cgdGlsbCBwYXJ0aXRpb25lciB0aWxsIGV4aXN0ZXJhbmRlIHBhcnRpdGlvbnN0YWJlbGxcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM4Cittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAgYmFja3VwIHBhcnRpdGlvbiB0YWJsZSBzZWN0b3JzIChzZWUgLU8pXG4iCittc2dzdHIgIiAtYiwgLS1iYWNrdXAgICAgICAgICAgICAgIHPDpGtlcmhldHNrb3BpZXJhIHNla3RvcmVyIG1lZCBwYXJ0aXRpb25zdGFiZWxsIChzZSAtTylcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgc2tyaXYgdXQgU1RPUkxFSyBpIGJ5dGUgc25hcmFyZSDDpG4gaSBldHQgZm9ybWF0IGzDpHNiYXIgYXYgbcOkbm5pc2tvclxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDAKK21zZ2lkICIgICAgIC0tbW92ZS1kYXRhWz08dHlwZXNjcmlwdD5dIG1vdmUgcGFydGl0aW9uIGRhdGEgYWZ0ZXIgcmVsb2NhdGlvbiAocmVxdWlyZXMgLU4pXG4iCittc2dzdHIgIiAgICAgLS1tb3ZlLWRhdGFbPTx0eXBza3JpcHQ+XSAgZmx5dHRhIHBhcnRpdGlvbnNkYXRhIGVmdGVyIG9tbG9rYWxpc2VyaW5nIChrcsOkdmVyIC1OKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDEKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZ1xuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBpbmFrdGl2ZXJhIGFsbGEga29uc2lzdGVuc2tvbnRyb2xsZXJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQyCittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAgLS1jb2xvcls9PG7DpHI+XSAgICAgICBmw6RyZ2zDpGdnIHV0bWF0bmluZyAoYXV0bywgYWx3YXlzIGVsbGVyIG5ldmVyKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDUKK21zZ2lkICIgLU4sIC0tcGFydG5vIDxudW0+ICAgICAgICBzcGVjaWZ5IHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiIC1OLCAtLXBhcnRubyA8bnVtPiAgICAgICAgYW5nZSBwYXJ0aXRpb25zbnVtbWVyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NgorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHdyaXRlIHRvIGRldmljZVxuIgorbXNnc3RyICIgLW4sIC0tbm8tYWN0ICAgICAgICAgICAgICBnw7ZyIGFsbHQgZsO2cnV0b20gYXR0IHNrcml2YSB0aWxsIGVuaGV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NworbXNnaWQgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBkZXZpY2UgaXMgaW4gdXNlXG4iCittc2dzdHIgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGtvbnRyb2xsZXJhIGludGUgaHVydXZpZGEgZW5oZXRlbiBhbnbDpG5kc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDgKK21zZ2lkICIgICAgIC0tbm8tdGVsbC1rZXJuZWwgICAgICBkbyBub3QgdGVsbCBrZXJuZWwgYWJvdXQgY2hhbmdlc1xuIgorbXNnc3RyICIgICAgIC0tbm8tdGVsbC1rZXJuZWwgICAgIGJlcsOkdHRhIGludGUgZsO2ciBrw6RybmEgb20gw6RuZHJpbmdhclxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDkKK21zZ2lkICIgLU8sIC0tYmFja3VwLWZpbGUgPHBhdGg+ICBvdmVycmlkZSBkZWZhdWx0IGJhY2t1cCBmaWxlIG5hbWVcbiIKK21zZ3N0ciAiIC1PLCAtLWJhY2t1cC1maWxlIDxzw7ZrdsOkZz4gw6VzaWRvc8OkdHQgc3RhbmRhcmRmaWxuYW1uZXQgZsO2ciBzw6RrZXJoZXRza29waWFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUwCittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICAgICAgbWF0YSB1dCBrb2x1bW5lclxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTEKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBzdXBwcmVzcyBleHRyYSBpbmZvIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHVuZGVydHJ5Y2sgZXh0cmEgaW5mb3JtYXRpb25zbWVkZGVsYW5kZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUyCittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtdywgLS13aXBlIDxsw6RnZT4gICAgICAgICByYWRlcmEgc2lnbmF0dXJlciAoYXV0bywgYWx3YXlzIGVsbGVyIG5ldmVyKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTQKK21zZ2lkICIgLVgsIC0tbGFiZWwgPG5hbWU+ICAgICAgICBzcGVjaWZ5IGxhYmVsIHR5cGUgKGRvcywgZ3B0LCAuLi4pXG4iCittc2dzdHIgIiAtWCwgLS1sYWJlbCA8bmFtbj4gICAgICAgIGFuZ2UgZXRpa2V0dHlwIChkb3MsIGdwdCwg4oCmKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTUKK21zZ2lkICIgLVksIC0tbGFiZWwtbmVzdGVkIDxuYW1lPiBzcGVjaWZ5IG5lc3RlZCBsYWJlbCB0eXBlIChkb3MsIGJzZClcbiIKK21zZ3N0ciAiIC1ZLCAtLWxhYmVsLW5lc3RlZCA8bmFtbj4gYW5nZSBuw6RzdGxhZCBldGlrZXR0eXAgKGRvcywgYnNkKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTcKK21zZ2lkICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBkZXByZWNhdGVkLCBhbGlhcyB0byAtLXNob3ctZ2VvbWV0cnlcbiIKK21zZ3N0ciAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgZsO2csOlbGRyYWQsIGFsaWFzIGbDtnIgLS1zaG93LWdlb21ldHJ5XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OAorbXNnaWQgIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiIKK21zZ3N0ciAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgZsO2csOlbGRyYWQsIGVuZGFzdCBmw7ZyIGJha8OldGtvbXBhdGliaWxpdGV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OQorbXNnaWQgIiAtdSwgLS11bml0IFMgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgc2VjdG9yIHVuaXQgaXMgc3VwcG9ydGVkXG4iCittc2dzdHIgIiAtdSwgLS11bml0IFMgICAgICAgICAgICAgIGbDtnLDpWxkcmFkLCBlbmRhc3QgZW5oZXRlbiBzZWt0b3JlciBzdMO2ZHNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYzIGxvZ2luLXV0aWxzL2NoZm4uYzoxMDIgbG9naW4tdXRpbHMvY2hzaC5jOjc5Cittc2dpZCAiIC12LCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAtdiwgLS12ZXJzaW9uICBza3JpdiB1dCB2ZXJzaW9uc2luZm9ybWF0aW9uIG9jaCBhdnNsdXRhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiJXMgw6RyIGbDtnLDpWxkcmFkIGkgasOkbWbDtnJlbHNlIG1lZCAtLXBhcnQtdHlwZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxOTczCittc2dpZCAiLS1pZCBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiLS1pZCDDpHIgZsO2csOlbGRyYWQgaSBqw6RtZsO2cmVsc2UgbWVkIC0tcGFydC10eXBlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5ODkKK21zZ2lkICItLXNob3ctcHQtZ2VvbWV0cnkgaXMgbm8gbW9yZSBpbXBsZW1lbnRlZC4gVXNpbmcgLS1zaG93LWdlb21ldHJ5LiIKK21zZ3N0ciAiLS1zaG93LXB0LWdlb21ldHJ5IMOkciBpbnRlIGltcGxlbWVudGVyYWRlIGzDpG5ncmUuIEFudsOkbmRlciAtLXNob3ctZ2VvbWV0cnkuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMDAKK21zZ2lkICItLUxpbnV4IG9wdGlvbiBpcyB1bm5lY2Vzc2FyeSBhbmQgZGVwcmVjYXRlZCIKK21zZ3N0ciAiLS1MaW51eC1mbGFnZ2FuIMOkciBvbsO2ZGlnIG9jaCBmw7Zyw6VsZHJhZCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDI5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHVuaXQgJyVjJyIKK21zZ3N0ciAiZW5oZXQg4oCdJWPigJ0gc3TDtmRzIGludGUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAzMiBpbmNsdWRlL2MuaDozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlc1xuIgorbXNnc3RyICIlcyBmcsOlbiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIxMDkKK21zZ2lkICItLW1vdmVkYXRhIHJlcXVpcmVzIC1OIgorbXNnc3RyICItLW1vdmVkYXRhIGtyw6R2ZXIgLU4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIFVVSUQ6ICVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBVVUlEOiAlcyIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBVVUlEIgorbXNnc3RyICIlczogbWlzc2x5Y2thZGVzIG1lZCBhdHQgc8O2a2EgdGlsbCB2w6R4bGluZ3MtVVVJRCIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIFVVSUQiCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCBza3JpdmEgVVVJRCIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBsYWJlbCAiCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCBzw7ZrYSB0aWxsIHbDpHhsaW5nc2V0aWtldHQgIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgImxhYmVsIGlzIHRvbyBsb25nLiBUcnVuY2F0aW5nIGl0IHRvICclcyciCittc2dzdHIgImV0aWtldHQgw6RyIGbDtnIgbMOlbmcuIFRydW5rZXJhciB0aWxsIOKAnSVz4oCdIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgbGFiZWwiCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCBza3JpdmEgZXRpa2V0dCIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjEKK21zZ2lkICJEaXNwbGF5IG9yIGNoYW5nZSB0aGUgbGFiZWwgb3IgVVVJRCBvZiBhIHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiVmlzYSBlbGxlciDDpG5kcmEgZXRpa2V0dGVuIGVsbGVyIFVVSUQ6dCBmw7ZyIGVuIHbDpHhsaW5nc3l0YS5cbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjQKK21zZ2lkICIiCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gc3BlY2lmeSBhIG5ldyBsYWJlbFxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgIHNwZWNpZnkgYSBuZXcgdXVpZFxuIgorbXNnc3RyICIiCisiIC1MLCAtLWxhYmVsIDxldGlrZXR0PiBhbmdlIGVuIG55IGV0aWtldHRcbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICBhbmdlIGV0dCBueXR0IHV1aWRcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxNjcKK21zZ2lkICJpZ25vcmUgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCkiCittc2dzdHIgImhvcHBhIMO2dmVyIC1VIChVVUlEOm4gc3TDtmRzIGludGUpIgorCisjOiBpbmNsdWRlL2MuaDoyOTkKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJBbnbDpG5kbmluZzpcbiIKKworIzogaW5jbHVkZS9jLmg6MzAwCittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJGbGFnZ29yOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMDIKK21zZ2lkICIgLWgsIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1oLCAtLWhlbHAgICAgIHZpc2EgZGVubmEgaGrDpGxwIG9jaCBhdnNsdXRhXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwMworbXNnaWQgIiAtViwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgc2tyaXYgdXQgdmVyc2lvbnNpbmZvcm1hdGlvbiBvY2ggYXZzbHV0YVxuIgorCisjOiBpbmNsdWRlL2MuaDozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkZvciBtb3JlIGRldGFpbHMgc2VlICVzLlxuIgorbXNnc3RyICIiCisiXG4iCisiRsO2ciBtZXIgaW5mb3JtYXRpb24sIHNlICVzLlxuIgorCisjOiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDYgaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzMKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTIgc3lzLXV0aWxzL3J0Y3dha2UuYzoyODAgdGVybS11dGlscy9zZXR0ZXJtLmM6ODA1CisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE1NworbXNnaWQgIndyaXRlIGVycm9yIgorbXNnc3RyICJza3JpdmZlbCIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyNworbXNnaWQgImNvbG9ycyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICJmw6RyZ2VyIMOkciBha3RpdmVyYWRlIHNvbSBzdGFuZGFyZCIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyOQorbXNnaWQgImNvbG9ycyBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAiZsOkcmdlciDDpHIgaW5ha3RpdmVyYWRlIHNvbSBzdGFuZGFyZCIKKworIzogaW5jbHVkZS9lbnYuaDoxOCBsaWIvcGFnZXIuYzoxNTEgbG9naW4tdXRpbHMvbG9naW4uYzoxMDUyCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwNTYgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTI5CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgZW52aXJvbm1lbnQgdmFyaWFibGUiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHN0w6RsbGEgaW4gbWlsasO2dmFyaWFiZWxuICVzIgorCisjOiBpbmNsdWRlL29wdHV0aWxzLmg6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZXNlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZToiCittc2dzdHIgIiVzOiBkZXNzYSBmbGFnZ29yIMOkciDDtm1zZXNpZGlndCB1dGVzbHV0YW5kZToiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEKK21zZ2lkICJFbXB0eSIKK21zZ3N0ciAiVG9tIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyCittc2dpZCAiRkFUMTIiCittc2dzdHIgIkZBVDEyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozCittc2dpZCAiWEVOSVggcm9vdCIKK21zZ3N0ciAiWEVOSVggcm90IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0Cittc2dpZCAiWEVOSVggdXNyIgorbXNnc3RyICJYRU5JWCB1c3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUKK21zZ2lkICJGQVQxNiA8MzJNIgorbXNnc3RyICJGQVQxNiA8IDMyIE1CIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2Cittc2dpZCAiRXh0ZW5kZWQiCittc2dzdHIgIlV0w7ZrYWQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcKK21zZ2lkICJGQVQxNiIKK21zZ3N0ciAiRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgKK21zZ2lkICJIUEZTL05URlMvZXhGQVQiCittc2dzdHIgIkhQRlMvTlRGUy9leEZBVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OQorbXNnaWQgIkFJWCIKK21zZ3N0ciAiQUlYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMAorbXNnaWQgIkFJWCBib290YWJsZSIKK21zZ3N0ciAiQUlYIHN0YXJ0YmFyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMQorbXNnaWQgIk9TLzIgQm9vdCBNYW5hZ2VyIgorbXNnc3RyICJPUy8yIEJvb3QgTWFuYWdlciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTIKK21zZ2lkICJXOTUgRkFUMzIiCittc2dzdHIgIlc5NSBGQVQzMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTMKK21zZ2lkICJXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIlc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTQKK21zZ2lkICJXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIlc5NSBGQVQxNiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTUKK21zZ2lkICJXOTUgRXh0J2QgKExCQSkiCittc2dzdHIgIlc5NSBVdMO2a2FkIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNgorbXNnaWQgIk9QVVMiCittc2dzdHIgIk9QVVMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE3Cittc2dpZCAiSGlkZGVuIEZBVDEyIgorbXNnc3RyICJEb2xkIEZBVDEyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOAorbXNnaWQgIkNvbXBhcSBkaWFnbm9zdGljcyIKK21zZ3N0ciAiQ29tcGFxLWRpYWdub3N0aWsiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE5Cittc2dpZCAiSGlkZGVuIEZBVDE2IDwzMk0iCittc2dzdHIgIkRvbGQgRkFUMTYgPCAzMiBNQiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjAKK21zZ2lkICJIaWRkZW4gRkFUMTYiCittc2dzdHIgIkRvbGQgRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIxCittc2dpZCAiSGlkZGVuIEhQRlMvTlRGUyIKK21zZ3N0ciAiRG9sZCBIUEZTL05URlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIyCittc2dpZCAiQVNUIFNtYXJ0U2xlZXAiCittc2dzdHIgIkFTVCBTbWFydFNsZWVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMworbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIiCittc2dzdHIgIkRvbGQgVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNAorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIkRvbGQgVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNQorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIkRvbGQgVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNgorbXNnaWQgIk5FQyBET1MiCittc2dzdHIgIk5FQyBET1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI3Cittc2dpZCAiSGlkZGVuIE5URlMgV2luUkUiCittc2dzdHIgIkRvbGQgTlRGUyBXaW5SRSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjgKK21zZ2lkICJQbGFuIDkiCittc2dzdHIgIlBsYW4gOSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjkKK21zZ2lkICJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIKK21zZ3N0ciAiUGFydGl0aW9uTWFnaWMtw6V0ZXJzdMOkbGxuaW5nIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMAorbXNnaWQgIlZlbml4IDgwMjg2IgorbXNnc3RyICJWZW5peCA4MDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzEKK21zZ2lkICJQUEMgUFJlUCBCb290IgorbXNnc3RyICJQUEMgUFJlUCBzdGFydCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzIKK21zZ2lkICJTRlMiCittc2dzdHIgIlNGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzMKK21zZ2lkICJRTlg0LngiCittc2dzdHIgIlFOWDQueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzQKK21zZ2lkICJRTlg0LnggMm5kIHBhcnQiCittc2dzdHIgIlFOWDQueCAyOmEgZGVsZW4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM1Cittc2dpZCAiUU5YNC54IDNyZCBwYXJ0IgorbXNnc3RyICJRTlg0LnggMzplIGRlbGVuIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNgorbXNnaWQgIk9uVHJhY2sgRE0iCittc2dzdHIgIk9uVHJhY2sgRE0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM3Cittc2dpZCAiT25UcmFjayBETTYgQXV4MSIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzgKK21zZ2lkICJDUC9NIgorbXNnc3RyICJDUC9NIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOQorbXNnaWQgIk9uVHJhY2sgRE02IEF1eDMiCittc2dzdHIgIk9udHJhY2sgRE02IEF1eDMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQwCittc2dpZCAiT25UcmFja0RNNiIKK21zZ3N0ciAiT25UcmFja0RNNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDEKK21zZ2lkICJFWi1Ecml2ZSIKK21zZ3N0ciAiRVotRHJpdmUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQyCittc2dpZCAiR29sZGVuIEJvdyIKK21zZ3N0ciAiR29sZGVuIEJvdyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDMKK21zZ2lkICJQcmlhbSBFZGlzayIKK21zZ3N0ciAiUHJpYW0gRWRpc2siCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkxCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OQorbXNnaWQgIlNwZWVkU3RvciIKK21zZ3N0ciAiU3BlZWRTdG9yIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NQorbXNnaWQgIkdOVSBIVVJEIG9yIFN5c1YiCittc2dzdHIgIkdOVSBIVVJEIC8gU3lzViIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDYKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAyODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDcKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAzODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDM4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDgKK21zZ2lkICJEaXNrU2VjdXJlIE11bHRpLUJvb3QiCittc2dzdHIgIkRpc2tTZWN1cmUgTXVsdGktc3RhcnQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ5Cittc2dpZCAiUEMvSVgiCittc2dzdHIgIlBDL0lYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MAorbXNnaWQgIk9sZCBNaW5peCIKK21zZ3N0ciAiR2FtbWFsIE1pbml4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MQorbXNnaWQgIk1pbml4IC8gb2xkIExpbnV4IgorbXNnc3RyICJNaW5peCAvIGdhbW1hbCBMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTIKK21zZ2lkICJMaW51eCBzd2FwIC8gU29sYXJpcyIKK21zZ3N0ciAiTGludXggdsOkeGxpbmcgLyBTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MworbXNnaWQgIkxpbnV4IgorbXNnc3RyICJMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTQKK21zZ2lkICJPUy8yIGhpZGRlbiBvciBJbnRlbCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiT1MvMi1nw7ZtZCBlbGxlciBJbnRlbC12aWxvbMOkZ2UiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU3Cittc2dpZCAiTGludXggZXh0ZW5kZWQiCittc2dzdHIgIkxpbnV4IHV0w7ZrYWQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU5Cittc2dpZCAiTlRGUyB2b2x1bWUgc2V0IgorbXNnc3RyICJOVEZTLXZvbHltc2FtbGluZyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjAKK21zZ2lkICJMaW51eCBwbGFpbnRleHQiCittc2dzdHIgIkxpbnV4IGtsYXJ0ZXh0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjA1IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MworIzogbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggTFZNIgorbXNnc3RyICJMaW51eCBMVk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYyCittc2dpZCAiQW1vZWJhIgorbXNnc3RyICJBbW9lYmEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYzCittc2dpZCAiQW1vZWJhIEJCVCIKK21zZ3N0ciAiQW1vZWJhIEJCVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjQKK21zZ2lkICJCU0QvT1MiCittc2dzdHIgIkJTRC9PUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjUKK21zZ2lkICJJQk0gVGhpbmtwYWQgaGliZXJuYXRpb24iCittc2dzdHIgIklCTSBUaGlua3BhZC12aWxvbMOkZ2UiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY2Cittc2dpZCAiRnJlZUJTRCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjcKK21zZ2lkICJPcGVuQlNEIgorbXNnc3RyICJPcGVuQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OAorbXNnaWQgIk5lWFRTVEVQIgorbXNnc3RyICJOZVhUU1RFUCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjkKK21zZ2lkICJEYXJ3aW4gVUZTIgorbXNnc3RyICJEYXJ3aW4gVUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MAorbXNnaWQgIk5ldEJTRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MQorbXNnaWQgIkRhcndpbiBib290IgorbXNnc3RyICJEYXJ3aW4gc3RhcnQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcyCittc2dpZCAiSEZTIC8gSEZTKyIKK21zZ3N0ciAiSEZTIC8gSEZTKyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzMKK21zZ2lkICJCU0RJIGZzIgorbXNnc3RyICJCU0RJIGZzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NAorbXNnaWQgIkJTREkgc3dhcCIKK21zZ3N0ciAiQlNESSB2w6R4bGluZyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzUKK21zZ2lkICJCb290IFdpemFyZCBoaWRkZW4iCittc2dzdHIgIkJvb3QgV2l6YXJkIGRvbGQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc2Cittc2dpZCAiQWNyb25pcyBGQVQzMiBMQkEiCittc2dzdHIgIkFjcm9uaXMgRkFUMzIgTEJBIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NyBsaWJmZGlzay9zcmMvZ3B0LmM6MjMwCittc2dpZCAiU29sYXJpcyBib290IgorbXNnc3RyICJTb2xhcmlzIHN0YXJ0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OAorbXNnaWQgIlNvbGFyaXMiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc5Cittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTIpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xMikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgwCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyIE1CKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODEKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTE2KSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODIKK21zZ2lkICJTeXJpbngiCittc2dzdHIgIlN5cmlueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODMKK21zZ2lkICJOb24tRlMgZGF0YSIKK21zZ3N0ciAiSWNrZS1maWxzeXN0ZW1zZGF0YSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiQ1AvTSAvIENUT1MgLyDigKYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg2Cittc2dpZCAiRGVsbCBVdGlsaXR5IgorbXNnc3RyICJEZWxsLXZlcmt0eWciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg3Cittc2dpZCAiQm9vdEl0IgorbXNnc3RyICJCb290SXQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg4Cittc2dpZCAiRE9TIGFjY2VzcyIKK21zZ3N0ciAiRE9TLcOldGtvbXN0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MAorbXNnaWQgIkRPUyBSL08iCittc2dzdHIgIkRPUyBSL08iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkzCittc2dpZCAiUnVmdXMgYWxpZ25tZW50IgorbXNnc3RyICJSdWZ1cy1qdXN0ZXJpbmciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk0Cittc2dpZCAiQmVPUyBmcyIKK21zZ3N0ciAiQmVPUyBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTYKK21zZ2lkICJFRkkgKEZBVC0xMi8xNi8zMikiCittc2dzdHIgIkVGSSAoRkFULTEyLzE2LzMyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTcKK21zZ2lkICJMaW51eC9QQS1SSVNDIGJvb3QiCittc2dzdHIgIkxpbnV4L1BBLVJJU0Mgc3RhcnQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMAorbXNnaWQgIkRPUyBzZWNvbmRhcnkiCittc2dzdHIgIkRPUyBzZWt1bmTDpHIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMQorbXNnaWQgIlZNd2FyZSBWTUZTIgorbXNnc3RyICJWTXdhcmUgVk1GUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAyCittc2dpZCAiVk13YXJlIFZNS0NPUkUiCittc2dzdHIgIlZNd2FyZSBWTUtDT1JFIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDMgbGliZmRpc2svc3JjL3N1bi5jOjU1Cittc2dpZCAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorbXNnc3RyICJMaW51eCByYWlkIGF1dG9pZGVudGlmaWVyaW5nIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDYKK21zZ2lkICJMQU5zdGVwIgorbXNnc3RyICJMQU5zdGVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDcKK21zZ2lkICJCQlQiCittc2dzdHIgIkJCVCIKKworIzogbGliL2Jsa2Rldi5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlcyBpcyBtaXNhbGlnbmVkIgorbXNnc3RyICJ2YXJuaW5nOiAlcyDDpHIgZmVsanVzdGVyYWQiCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2NzIKK21zZ2lkICJDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJBbnJvcGFyIGlvY3RsKCkgZsO2ciBhdHQgbMOkc2Egb20gcGFydGl0aW9uc3RhYmVsbGVuLiIKKworIzogbGliZmRpc2svc3JjL2FsaWdubWVudC5jOjY4MQorbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuIgorbXNnc3RyICJPbWzDpHNuaW5nIGF2IHBhcnRpdGlvbnN0YWJlbGxlbiBtaXNzbHlja2FkZXMuIgorCisjOiBsaWJmZGlzay9zcmMvYWxpZ25tZW50LmM6NjgzCittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgdGFibGUuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdCBvciBhZnRlciB5b3UgcnVuIHBhcnRwcm9iZSg4KSBvciBrcGFydHgoOCkuIgorbXNnc3RyICJLw6RybmFuIGFudsOkbmRlciBmb3J0ZmFyYW5kZSBkZW4gZ2FtbGEgdGFiZWxsZW4uIERlbiBueWEgdGFiZWxsZW4ga29tbWVyIGF0dCBhbnbDpG5kYXMgdmlkIG7DpHN0YSBvbXN0YXJ0IGVsbGVyIGVmdGVyIGF0dCBkdSBrw7ZydCBwYXJ0cHJvYmUoOCkgZWxsZXIga3BhcnR4KDgpLiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ3MiBsaWJmZGlzay9zcmMvYXNrLmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdGVkIHBhcnRpdGlvbiAlanUiCittc2dzdHIgIlZhbGRlIHBhcnRpdGlvbiAlanUiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0NzUKK21zZ2lkICJObyBwYXJ0aXRpb24gaXMgZGVmaW5lZCB5ZXQhIgorbXNnc3RyICJJbmdlbiBwYXJ0aXRpb24gw6RyIGRlZmluaWVyYWQgw6RuISIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ4NworbXNnaWQgIk5vIGZyZWUgcGFydGl0aW9uIGF2YWlsYWJsZSEiCittc2dzdHIgIkluZ2VuIGxlZGlnIHBhcnRpdGlvbiB0aWxsZ8OkbmdsaWchIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDk3Cittc2dpZCAiUGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiUGFydGl0aW9uc251bW1lciIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjk5NAorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IHBhcnRpdGlvbiAlZCBvZiB0eXBlICclcycgYW5kIG9mIHNpemUgJXMuIgorbXNnc3RyICJTa2FwYWQgZW4gbnkgcGFydGl0aW9uICVkIGF2IHR5cGVuIOKAnSVz4oCdIG1lZCBzdG9ybGVrICVzLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE2NgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXpkOiBoYXMgaW52YWxpZCBzdGFydGluZyBzZWN0b3IgMC4iCittc2dzdHIgIlBhcnRpdGlvbiAlemQ6IGhhciBvZ2lsdGlnIHN0YXJ0c2VrdG9yIDAuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZXJlIGlzIG5vICpCU0QgcGFydGl0aW9uIG9uICVzLiIKK21zZ3N0ciAiRGV0IGZpbm5zIGluZ2VuICpCU0QtcGFydGl0aW9uIHDDpSAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTkgbGliZmRpc2svc3JjL2Rvcy5jOjkzMworbXNnaWQgIkZpcnN0IGN5bGluZGVyIgorbXNnc3RyICJGw7Zyc3RhIGN5bGluZGVybiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5MiBsaWJmZGlzay9zcmMvZG9zLmM6MTE2MQorbXNnaWQgIkxhc3QgY3lsaW5kZXIsICtjeWxpbmRlcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiU2lzdGEgY3lsaW5kZXIsICtjeWxpbmRyYXIgZWxsZXIgK3N0b3JsZWt7SyxNLEcsVCxQfSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5NyBsaWJmZGlzay9zcmMvZG9zLmM6MTE2NiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1NQorbXNnaWQgIkxhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICJTaXN0YSBzZWt0b3JuLCArc2VrdG9yZXIgZWxsZXIgK3N0b3JsZWt7SyxNLEcsVCxQfSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGV2aWNlICVzIGRvZXMgbm90IGNvbnRhaW4gQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIkVuaGV0ZW4gJXMgaW5uZWjDpWxsZXIgaW5nZW4gQlNELWRpc2tldGlrZXR0LiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MworbXNnaWQgIkRvIHlvdSB3YW50IHRvIGNyZWF0ZSBhIEJTRCBkaXNrbGFiZWw/IgorbXNnc3RyICJWaWxsIGR1IHNrYXBhIGVuIEJTRC1kaXNrZXRpa2V0dD8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NDkKK21zZ2lkICJEaXNrIgorbXNnc3RyICJEaXNrIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDU2Cittc2dpZCAiUGFja25hbWUiCittc2dzdHIgIlBha2V0bmFtbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MyBsaWJmZGlzay9zcmMvc3VuLmM6MTExNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICJGbGFnZ29yIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY2Cittc2dpZCAiIHJlbW92YWJsZSIKK21zZ3N0ciAiIGzDtnN0YWdiYXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjcKK21zZ2lkICIgZWNjIgorbXNnc3RyICIgZWNjIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY4Cittc2dpZCAiIGJhZHNlY3QiCittc2dzdHIgIiBmZWxzZWt0IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDc2Cittc2dpZCAiQnl0ZXMvU2VjdG9yIgorbXNnc3RyICJCeXRlL3Nla3RvciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4MQorbXNnaWQgIlRyYWNrcy9DeWxpbmRlciIKK21zZ3N0ciAiU3DDpXIvY3lsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODYKK21zZ2lkICJTZWN0b3JzL0N5bGluZGVyIgorbXNnc3RyICJTZWt0b3Jlci9jeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5MSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOCBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMworIzogbGliZmRpc2svc3JjL3NnaS5jOjExNTcgbGliZmRpc2svc3JjL3N1bi5jOjE5NiBsaWJmZGlzay9zcmMvc3VuLmM6MTExMworbXNnaWQgIkN5bGluZGVycyIKK21zZ3N0ciAiQ3lsaW5kcmFyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDk2IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjAKK21zZ2lkICJScG0iCittc2dzdHIgIlZhcnYgcGVyIG1pbnV0IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTAxIGxpYmZkaXNrL3NyYy9zZ2kuYzoyOTIgbGliZmRpc2svc3JjL3N1bi5jOjc4MAorbXNnaWQgIkludGVybGVhdmUiCittc2dzdHIgIkluZmzDpHRuaW5nIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTA2Cittc2dpZCAiVHJhY2tza2V3IgorbXNnc3RyICJTcMOlcmbDtnJza2p1dG5pbmciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTEKK21zZ2lkICJDeWxpbmRlcnNrZXciCittc2dzdHIgIkN5bGluZGVyZsO2cnNranV0bmluZyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxNgorbXNnaWQgIkhlYWRzd2l0Y2giCittc2dzdHIgIkh1dnVkYnl0ZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUyMQorbXNnaWQgIlRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgIlNww6VyLXRpbGwtc3DDpXItc8O2a25pbmciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTEKK21zZ2lkICJieXRlcy9zZWN0b3IiCittc2dzdHIgImJ5dGUvc2VrdG9yIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE0Cittc2dpZCAic2VjdG9ycy90cmFjayIKK21zZ3N0ciAic2VrdG9yZXIvc3DDpXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTUKK21zZ2lkICJ0cmFja3MvY3lsaW5kZXIiCittc2dzdHIgInNww6VyL2N5bGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE2Cittc2dpZCAiY3lsaW5kZXJzIgorbXNnc3RyICJjeWxpbmRyYXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjAKK21zZ2lkICJzZWN0b3JzL2N5bGluZGVyIgorbXNnc3RyICJzZWt0b3Jlci9jeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMworbXNnaWQgInJwbSIKK21zZ3N0ciAidmFydiBwZXIgbWludXQiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjQKK21zZ2lkICJpbnRlcmxlYXZlIgorbXNnc3RyICJpbmZsw6R0bmluZyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNQorbXNnaWQgInRyYWNrc2tldyIKK21zZ3N0ciAic3DDpXJmw7Zyc2tqdXRuaW5nIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI2Cittc2dpZCAiY3lsaW5kZXJza2V3IgorbXNnc3RyICJjeWxpbmRlcmbDtnJza2p1dG5pbmciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjgKK21zZ2lkICJoZWFkc3dpdGNoIgorbXNnc3RyICJodXZ1ZGJ5dGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjkKK21zZ2lkICJ0cmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICJzcMOlci10aWxsLXNww6VyLXPDtmtuaW5nIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290c3RyYXAgZmlsZSAlcyBzdWNjZXNzZnVsbHkgbG9hZGVkLiIKK21zZ3N0ciAiU3RhcnRmaWxlbiAlcyBsw6RzdGVzIGluIGZyYW1nw6VuZ3NyaWt0LiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY3MworIywgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXA6ICUxJHNib290IC0+IGJvb3QlMSRzIChkZWZhdWx0ICUxJHMpIgorbXNnc3RyICJGw7Zyc3RhcnRhcmU6ICUxJHNib290IC0+IGJvb3QlMSRzIChzdGFuZGFyZCAlMSRzKSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcwNAorbXNnaWQgIkJvb3RzdHJhcCBvdmVybGFwcyB3aXRoIGRpc2tsYWJlbCEiCittc2dzdHIgIkbDtnJzdGFydGFyZSDDtnZlcmxhcHBhciBtZWQgZGlza2V0aWtldHQhIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcCBpbnN0YWxsZWQgb24gJXMuIgorbXNnc3RyICJGw7Zyc3RhcnRhcmUgaW5zdGFsbGVyYWQgcMOlICVzLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwMAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4gIChEb24ndCBmb3JnZXQgdG8gd3JpdGUgdGhlICVzIGRpc2tsYWJlbCB0b28uKSIKK21zZ3N0ciAiRGlza2V0aWtldHQgc2tyaXZlbiB0aWxsICVzLiAoR2zDtm0gaW50ZSBhdHQgc2tyaXZhIGRpc2tldGlrZXR0ZW4gJXMgb2Nrc8OlLikiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuIgorbXNnc3RyICJEaXNrZXRpa2V0dCBza3JpdmVuIHRpbGwgJXMuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTA5IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjY2Cittc2dpZCAiU3luY2luZyBkaXNrcy4iCittc2dzdHIgIlN5bmtyb25pc2VyYXIgZGlza2FyLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk1MAorbXNnaWQgIkJTRCBsYWJlbCBpcyBub3QgbmVzdGVkIHdpdGhpbiBhIERPUyBwYXJ0aXRpb24uIgorbXNnc3RyICJCU0QtZXRpa2V0dCDDpHIgaW50ZSBpbm5lc2x1dGVuIGludXRpIGluIERPUy1wYXJ0aXRpb25lci4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQlNEIHBhcnRpdGlvbiAnJWMnIGxpbmtlZCB0byBET1MgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIkJTRC1wYXJ0aXRpb24g4oCdJWPigJ0gbMOkbmthZCB0aWxsIERPUy1wYXJ0aXRpb24gJXp1LiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMTQKK21zZ2lkICJTbGljZSIKK21zZ3N0ciAiUmVtc2EiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIxCittc2dpZCAiRnNpemUiCittc2dzdHIgIkYtc3RvcmxlayIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjIKK21zZ2lkICJCc2l6ZSIKK21zZ3N0ciAiQi1zdG9ybGVrIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMworbXNnaWQgIkNwZyIKK21zZ3N0ciAiQ3BnIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2UgZGV2aWNlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN0w6RuZ25pbmcgYXYgZW5oZXQgbWlzc2x5Y2thZGVzIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjgyNworbXNnaWQgImN5bGluZGVyIgorbXNnaWRfcGx1cmFsICJjeWxpbmRlcnMiCittc2dzdHJbMF0gImN5bGluZGVyIgorbXNnc3RyWzFdICJjeWxpbmRyYXIiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODI4Cittc2dpZCAic2VjdG9yIgorbXNnaWRfcGx1cmFsICJzZWN0b3JzIgorbXNnc3RyWzBdICJzZWt0b3IiCittc2dzdHJbMV0gInNla3RvcmVyIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjExMzEKK21zZ2lkICJJbmNvbXBsZXRlIGdlb21ldHJ5IHNldHRpbmcuIgorbXNnc3RyICJPZnVsbHN0w6RuZGlnIGdlb21ldHJpaW5zdMOkbGxuaW5nLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxNAorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgaGF2ZSBiZWVuIGRlZmluZWQgYWxyZWFkeS4iCittc2dzdHIgIkFsbGEgcHJpbcOkcmEgcGFydGl0aW9uZXIgaGFyIHJlZGFuIGRlZmluaWVyYXRzLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBleHRlbmRlZCBwYXJ0aXRpb24gdGFibGUgKG9mZnNldD0lanUpIgorbXNnc3RyICJNaXNzbHlja2FkZXMgbWVkIGF0dCBsw6RzYSB1dMO2a2FkIHBhcnRpdGlvbnN0YWJlbGwgKHBvc2l0aW9uPSVqdSkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMjgKK21zZ2lkICJZb3UgY2FuIHNldCBnZW9tZXRyeSBmcm9tIHRoZSBleHRyYSBmdW5jdGlvbnMgbWVudS4iCittc2dzdHIgIkR1IGthbiBzdMOkbGxhIGluIGdlb21ldHJpIGZyw6VuIGV4dHJhZnVua3Rpb25zbWVueW4uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzMxCittc2dpZCAiRE9TLWNvbXBhdGlibGUgbW9kZSBpcyBkZXByZWNhdGVkLiIKK21zZ3N0ciAiRE9TLWtvbXBhdGliaWxpdGV0c2zDpGdlIMOkciBmw7Zyw6VsZHJhdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMzUKK21zZ2lkICJUaGUgZGV2aWNlIHByZXNlbnRzIGEgbG9naWNhbCBzZWN0b3Igc2l6ZSB0aGF0IGlzIHNtYWxsZXIgdGhhbiB0aGUgcGh5c2ljYWwgc2VjdG9yIHNpemUuIEFsaWduaW5nIHRvIGEgcGh5c2ljYWwgc2VjdG9yIChvciBvcHRpbWFsIEkvTykgc2l6ZSBib3VuZGFyeSBpcyByZWNvbW1lbmRlZCwgb3IgcGVyZm9ybWFuY2UgbWF5IGJlIGltcGFjdGVkLiIKK21zZ3N0ciAiRW5oZXRlbiBwcmVzZW50ZXJhciBlbiBsb2dpc2sgc2VrdG9yc3RvcmxlayBzb20gw6RyIG1pbmRyZSDDpG4gZGVuIGZ5c2lza2Egc2VrdG9yc3Rvcmxla2VuLiBKdXN0ZXJpbmcgdGlsbCBlbiBncsOkbnMgZsO2ciBmeXNpc2sgc2VrdG9yc3RvcmxlayAoZWxsZXIgb3B0aW1hbCBJL08tc3RvcmxlaykgIHJla29tbWVuZGVyYXMgYW5uYXJzIGthbiBwcmVzdGFuZGEgcMOldmVya2FzLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MQorbXNnaWQgIkN5bGluZGVycyBhcyBkaXNwbGF5IHVuaXRzIGFyZSBkZXByZWNhdGVkLiIKK21zZ3N0ciAiQ3lsaW5kcmFyIHNvbSB2aXNuaW5nc2VuaGV0IMOkciBmw7Zyw6VsZHJhZGUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBzaXplIG9mIHRoaXMgZGlzayBpcyAlcyAoJWp1IGJ5dGVzKS4gRE9TIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgY2FuIG5vdCBiZSB1c2VkIG9uIGRyaXZlcyBmb3Igdm9sdW1lcyBsYXJnZXIgdGhhbiAlbHUgYnl0ZXMgZm9yICVsdS1ieXRlIHNlY3RvcnMuIFVzZSBHVUlEIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgKEdQVCkuIgorbXNnc3RyICJTdG9ybGVrZW4gcMOlIGRpc2tlbiDDpHIgJXMgKCVqdSBieXRlKS4gRE9TIHBhcnRpdGlvbnN0YWJlbGxzZm9ybWF0IGthbiBpbnRlIGFudsOkbmRhcyBmw7ZyIGVuaGV0ZXIgZMOkciB2b2x5bWVybmEgw6RyIHN0w7ZycmUgw6RuICVsdSBieXRlIGbDtnIgJWx1LWJ5dGUgc2VrdG9yZXIuIEFudsOkbmQgR1VJRCBwYXJ0aXRpb25zdGFiZWxsc2Zvcm1hdCAoR1BUKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MDMKK21zZ2lkICJCYWQgb2Zmc2V0IGluIHByaW1hcnkgZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiRmVsYWt0aWd0IHBvc2l0aW9uIGkgcHJpbcOkciB1dMO2a2FkIHBhcnRpdGlvbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiT21pdHRpbmcgcGFydGl0aW9ucyBhZnRlciAjJXp1LiBUaGV5IHdpbGwgYmUgZGVsZXRlZCBpZiB5b3Ugc2F2ZSB0aGlzIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIlV0ZWzDpG1uYXIgcGFydGl0aW9uZXIgZWZ0ZXIgbnIgJXp1LiBEZSBrb21tZXIgYXR0IHRhcyBib3J0IG9tIGR1IHNwYXJhciBkZW5uYSBwYXJ0aXRpb25zdGFiZWxsLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJFeHRyYSBsaW5rIHBvaW50ZXIgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIkV4dHJhIGxpbmsgcG9pbnRlciBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU1NAorIywgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBkYXRhIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJIb3BwYXIgw7Z2ZXIgZXh0cmEgZGF0YSBpIHBhcnRpdGlvbnN0YWJlbGwgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICJvbWl0dGluZyBlbXB0eSBwYXJ0aXRpb24gKCV6dSkiCittc2dzdHIgImhvcHBhciDDtnZlciB0b20gcGFydGl0aW9uICglenUpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguIgorbXNnc3RyICJTa2FwYWRlIGVuIG55IERPUy1kaXNrZXRpa2V0dCBtZWQgZGlza2lkZW50aWZpZXJhcmUgMHglMDh4LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY4NQorbXNnaWQgIkVudGVyIHRoZSBuZXcgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJNYXRhIGluIGRlbiBueWEgZGlza2lkZW50aWZpZXJhcmVuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjkyCittc2dpZCAiSW5jb3JyZWN0IHZhbHVlLiIKK21zZ3N0ciAiRmVsYWt0aWd0IHbDpHJkZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAweCUwOHggdG8gMHglMDh4LiIKK21zZ3N0ciAiRGlza2lkZW50aWZpZXJhcmUgw6RuZHJhZGVzIGZyw6VuIDB4JTA4eCB0aWxsIDB4JTA4eC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZXh0ZW5kZWQgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiSG9wcGFyIMO2dmVyIGV4dHJhIHV0w7ZrYWQgcGFydGl0aW9uICV6dSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGZsYWcgMHglMDJ4JTAyeCBvZiBFQlIgKGZvciBwYXJ0aXRpb24gJXp1KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpLiIKK21zZ3N0ciAiT2dpbHRpZ3QgZmxhZ2dhIDB4JTAyeCUwMnggZsO2ciBFQlIgKGbDtnIgcGFydGl0aW9uICV6dSkga29tbWVyIGV0dCBrb3JyaWdlcmFzIHZpZCBza3Jpdm5pbmcgbWVkIHcoc2tyaXYpLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjkyMAorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFydCBzZWN0b3IgJWp1IG91dCBvZiByYW5nZS4iCittc2dzdHIgIlN0YXJ0c2VrdG9yICVqdSDDpHIgdXRhbmbDtnIgaW50ZXJ2YWxsLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwMjYgbGliZmRpc2svc3JjL2dwdC5jOjIxMzYgbGliZmRpc2svc3JjL3NnaS5jOjgzOQorIzogbGliZmRpc2svc3JjL3N1bi5jOjUxNworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKK21zZ3N0ciAiUGFydGl0aW9uICV6dSDDpHIgcmVkYW4gZGVmaW5pZXJhZC4gVGEgYm9ydCBkZW4gaW5uYW4gZHUgbMOkZ2dlciB0aWxsIGRlbiBpZ2VuLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVsbHUgaXMgYWxyZWFkeSBhbGxvY2F0ZWQuIgorbXNnc3RyICJTZWt0b3IgJWxsdSDDpHIgcmVkYW4gYWxsb2tlcmFkLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjExMzMgbGliZmRpc2svc3JjL2dwdC5jOjIxNDYKK21zZ2lkICJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlLiIKK21zZ3N0ciAiSW5nYSBsZWRpZ2Egc2VrdG9yZXIgw6RyIHRpbGxnw6RuZ2xpZ2EuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJMw6RnZ2VyIHRpbGwgbG9naXNrIHBhcnRpdGlvbiAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGNvbnRhaW5zIHNlY3RvciAwIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1IGlubmVow6VsbGVyIHNla3RvciAwIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMxOAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBoZWFkICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVkIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1OiBodXZ1ZCAlZCDDpHIgc3TDtnJyZSDDpG4gbWF4aW1hbGEgJWQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHNlY3RvciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICJQYXJ0aXRpb24gJXp1OiBzZWt0b3IgJWQgw6RyIHN0w7ZycmUgw6RuIG1heGltYWxhICVsbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGN5bGluZGVyICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIlBhcnRpdGlvbmVyICV6dTogY3lsaW5kZXIgJWQgw6RyIHN0w7ZycmUgw6RuIG1heGltYWxhICVsbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHByZXZpb3VzIHNlY3RvcnMgJXUgZGlzYWdyZWVzIHdpdGggdG90YWwgJXUiCittc2dzdHIgIlBhcnRpdGlvbiAlenU6IHRpZGlnYXJlIHNla3RvcmVyICV1IHN0w6RtbWVyIGludGUgw7Z2ZXJlbnMgbWVkIHRvdGFsYSAldSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgYmVnaW5uaW5ncyAobm9uLUxpbnV4Pyk6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiUGFydGl0aW9uICV6dTogb2xpa2EgZnlzaXNrYS9sb2dpc2thIGLDtnJqYW4gKGlja2UtTGludXg/KTogZnlzPSglZCwgJWQsICVkKSwgbG9naXNrdD0oJWQsICVkLCAlZCkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGVuZGluZ3M6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiUGFydGl0aW9uICV6dTogb2xpa2EgZnlzaXNrYS9sb2dpc2thIHNsdXQ6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpc2t0PSglZCwgJWQsICVkKSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiUGFydGl0aW9uICV6dTogc2x1dGFyIGludGUgcMOlIGN5bGluZGVyZ3LDpG5zLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogYmFkIHN0YXJ0LW9mLWRhdGEuIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1OiBmZWxha3RpZyBiw7ZyamFuIHDDpSBkYXRhLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogb3ZlcmxhcHMgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIlBhcnRpdGlvbiAlenU6IMO2dmVybGFwcGFyIG1lZCBwYXJ0aXRpb24gJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZW1wdHkuIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1OiB0b20uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ3MworIywgYy1mb3JtYXQKK21zZ2lkICJMb2dpY2FsIHBhcnRpdGlvbiAlenU6IG5vdCBlbnRpcmVseSBpbiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiTG9naXNrIHBhcnRpdGlvbiAlenU6IGludGUgaGVsdCBpbnV0aSBwYXJ0aXRpb24gJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVG90YWwgYWxsb2NhdGVkIHNlY3RvcnMgJWxsdSBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gJWxsdS4iCittc2dzdHIgIlRvdGFsdCBhbnRhbCBhbGxva2VyYWRlIHNla3RvcmVyICVsbHUgw6RyIHN0w7ZycmUgw6RuIG1heGltYWxhICVsbHUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJSZW1haW5pbmcgJWxsZCB1bmFsbG9jYXRlZCAlbGQtYnl0ZSBzZWN0b3JzLiIKK21zZ3N0ciAiJWxsZCBvYWxsb2tlcmFkZSAlbGQtYnl0ZSBzZWt0b3JlciDDpXRlcnN0w6VyLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1MzIgbGliZmRpc2svc3JjL2Rvcy5jOjE5NTQKK21zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gYWxyZWFkeSBleGlzdHMuIgorbXNnc3RyICJVdMO2a2FkIHBhcnRpdGlvbiBleGlzdGVyYXIgcmVkYW4uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU3NQorbXNnaWQgIlRoZSBtYXhpbXVtIG51bWJlciBvZiBwYXJ0aXRpb25zIGhhcyBiZWVuIGNyZWF0ZWQuIgorbXNnc3RyICJEZXQgbWF4aW1hbGEgYW50YWxldCBwYXJ0aXRpb25lciBoYXIgc2thcGF0cy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTg3Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiIKK21zZ3N0ciAiQWxsYSBsb2dpc2thIHBhcnRpdGlvbmVyIGFudsOkbmRzLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1ODkgbGliZmRpc2svc3JjL2Rvcy5jOjE2MDAKK21zZ2lkICJBbGwgc3BhY2UgZm9yIHByaW1hcnkgcGFydGl0aW9ucyBpcyBpbiB1c2UuIgorbXNnc3RyICJBbGx0IHV0cnltbWV0IGbDtnIgcHJpbcOkcmEgcGFydGl0aW9uZXIgYW52w6RuZHMuIgorCisjLiBUUkFOU0xBVE9SUzogVHJ5IHRvIGtlZXAgdGhpcyB3aXRoaW4gODAgY2hhcmFjdGVycy4KKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjAzCittc2dpZCAiVG8gY3JlYXRlIG1vcmUgcGFydGl0aW9ucywgZmlyc3QgcmVwbGFjZSBhIHByaW1hcnkgd2l0aCBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJGw7ZyIGF0dCBza2FwYSBmbGVyIHBhcnRpdGlvbmVyIG3DpXN0ZSBkdSBmw7Zyc3QgZXJzw6R0dGEgZW4gcHJpbcOkciBtZWQgZW4gdXTDtmthZCBwYXJ0aXRpb24uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYwOAorbXNnaWQgIkFsbCBsb2dpY2FsIHBhcnRpdGlvbnMgYXJlIGluIHVzZS4gQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb24uIgorbXNnc3RyICJBbGxhIGxvZ2lza2EgcGFydGl0aW9uZXIgYW52w6RuZHMuIEzDpGdnZXIgdGlsbCBlbiBwcmltw6RyLXBhcnRpdGlvbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjMwCittc2dpZCAiUGFydGl0aW9uIHR5cGUiCittc2dzdHIgIlBhcnRpdGlvbnN0eXAiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiV6dSBwcmltYXJ5LCAlZCBleHRlbmRlZCwgJXp1IGZyZWUiCittc2dzdHIgIiV6dSBwcmltw6RyLCAlZCB1dMO2a2F0LCAlenUgbGVkaWd0IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzOQorbXNnaWQgInByaW1hcnkiCittc2dzdHIgInByaW3DpHIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQxCittc2dpZCAiZXh0ZW5kZWQiCittc2dzdHIgInV0w7ZrYWQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQxCittc2dpZCAiY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMiCittc2dzdHIgImJlaMOlbGxhcmUgZsO2ciBsb2dpc2thIHBhcnRpdGlvbmVyIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MworbXNnaWQgImxvZ2ljYWwiCittc2dzdHIgImxvZ2lzayIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDMKK21zZ2lkICJudW1iZXJlZCBmcm9tIDUiCittc2dzdHIgIm51bXJlcmFkZSBmcsOlbiA1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY4MQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiB0eXBlIGAlYycuIgorbXNnc3RyICJPZ2lsdGlnIHBhcnRpdGlvbnN0eXAg4oCdJWPigJ0uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY5OQorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgd3JpdGUgc2VjdG9yICVqZDogc2VlayBmYWlsZWQiCittc2dzdHIgIkthbiBpbnRlIHNrcml2YSBzZWt0b3IgJWpkOiBzw7ZrbmluZyBtaXNzbHlja2FkZXMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxODUyIGxpYmZkaXNrL3NyYy9ncHQuYzoxMDk2Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJEaXNraWRlbnRpZmllcmFyZSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE5NTkKK21zZ2lkICJUeXBlIDAgbWVhbnMgZnJlZSBzcGFjZSB0byBtYW55IHN5c3RlbXMuIEhhdmluZyBwYXJ0aXRpb25zIG9mIHR5cGUgMCBpcyBwcm9iYWJseSB1bndpc2UuIgorbXNnc3RyICJUeXAgMCBiZXR5ZGVyIGxlZGlndCB1dHJ5bW1lIGbDtnIgbcOlbmdhIHN5c3RlbS4gQXR0IGhhIHBhcnRpdGlvbmVyIGF2IHR5cCAwIMOkciBmw7ZybW9kbGlnZW4gb2tsb2t0LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE5NjQKK21zZ2lkICJDYW5ub3QgY2hhbmdlIHR5cGUgb2YgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiB3aGljaCBpcyBhbHJlYWR5IHVzZWQgYnkgbG9naWNhbCBwYXJ0aXRpb25zLiBEZWxldGUgbG9naWNhbCBwYXJ0aXRpb25zIGZpcnN0LiIKK21zZ3N0ciAiS2FuIGludGUgw6RuZHJhIHR5cCBmw7ZyIHV0w7ZrYWQgcGFydGl0aW9ucyBzb20gcmVkYW4gYW52w6RuZHMgYXYgbG9naXNrYSBwYXJ0aXRpb25lci4gVGEgYm9ydCBsb2dpc2thIHBhcnRpdGlvbmVyIGbDtnJzdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTQzIGxpYmZkaXNrL3NyYy9ncHQuYzoyODIxCittc2dpZCAiTm90aGluZyB0byBkby4gT3JkZXJpbmcgaXMgY29ycmVjdCBhbHJlYWR5LiIKK21zZ3N0ciAiSW5nZW50aW5nIGF0dCBnw7ZyYS4gT3JkbmluZ2VuIMOkciByZWRhbiBrb3JyZWt0LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogbm8gZGF0YSBhcmVhLiIKK21zZ3N0ciAiUGFydGl0aW9uICV6dTogaGFyIGluZ2V0IGRhdGFvbXLDpWRlLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyMjIKK21zZ2lkICJOZXcgYmVnaW5uaW5nIG9mIGRhdGEiCittc2dzdHIgIk55IGLDtnJqYW4gdXRhdiBkYXRhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBpcyBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJWQVJOSU5HOiBQYXJ0aXRpb24gJXp1IMOkciBlbiB1dMO2a2FkIHBhcnRpdGlvbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJTdGFydGJhcmhldHNmbGFnZ2FuIGbDtnIgcGFydGl0aW9uICV6dSDDpHIgbnUgYWt0aXZlcmFkLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJTdGFydGJhcmhldHNmbGFnZ2FuIGbDtnIgcGFydGl0aW9uICV6dSDDpHIgbnUgaW5ha3RpdmVyYWQuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI5OCBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxMSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1MworIzogbGliZmRpc2svc3JjL3N1bi5jOjExMDkKK21zZ2lkICJEZXZpY2UiCittc2dzdHIgIkVuaGV0IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI5OSBsaWJmZGlzay9zcmMvc3VuLmM6NDEKK21zZ2lkICJCb290IgorbXNnc3RyICJTdGFydCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDUgbGliZmRpc2svc3JjL3NnaS5jOjExNTkgbGliZmRpc2svc3JjL3N1bi5jOjExMTUKK21zZ2lkICJJZCIKK21zZ3N0ciAiSWQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzA5Cittc2dpZCAiU3RhcnQtQy9IL1MiCittc2dzdHIgIlN0YXJ0LUMvSC9TIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMxMAorbXNnaWQgIkVuZC1DL0gvUyIKK21zZ3N0ciAiU2x1dC1DL0gvUyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTEgbGliZmRpc2svc3JjL2dwdC5jOjI5MjEgbGliZmRpc2svc3JjL3NnaS5jOjExNjEKK21zZ2lkICJBdHRycyIKK21zZ3N0ciAiQXR0cmlidXQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjAKK21zZ2lkICJFRkkgU3lzdGVtIgorbXNnc3RyICJFRkktc3lzdGVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYyCittc2dpZCAiTUJSIHBhcnRpdGlvbiBzY2hlbWUiCittc2dzdHIgIk1CUi1wYXJ0aXRpb25zc2NoZW1hIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzCittc2dpZCAiSW50ZWwgRmFzdCBGbGFzaCIKK21zZ3N0ciAiSW50ZWwgRmFzdCBGbGFzaCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2NgorbXNnaWQgIkJJT1MgYm9vdCIKK21zZ3N0ciAiQklPUyBzdGFydCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OQorbXNnaWQgIlNvbnkgYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIlNvbnktc3RhcnRwYXJ0aXRpb24iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzAKK21zZ2lkICJMZW5vdm8gYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIkxlbm92by1zdGFydHBhcnRpdGlvbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MworbXNnaWQgIlBvd2VyUEMgUFJlUCBib290IgorbXNnc3RyICJQb3dlclBDIFBSZVAtc3RhcnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzYKK21zZ2lkICJPTklFIGJvb3QiCittc2dzdHIgIk9OSUUgc3RhcnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzcKK21zZ2lkICJPTklFIGNvbmZpZyIKK21zZ3N0ciAiT05JRSBrb25maWd1cmF0aW9uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwCittc2dpZCAiTWljcm9zb2Z0IHJlc2VydmVkIgorbXNnc3RyICJNaWNyb3NvZnQgcmVzZXJ2ZXJhZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MQorbXNnaWQgIk1pY3Jvc29mdCBiYXNpYyBkYXRhIgorbXNnc3RyICJNaWNyb3NvZnQgZ3J1bmRsw6RnZ2FuZGUgZGF0YSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MgorbXNnaWQgIk1pY3Jvc29mdCBMRE0gbWV0YWRhdGEiCittc2dzdHIgIk1pY3Jvc29mdCBMRE0tbWV0YWRhdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODMKK21zZ2lkICJNaWNyb3NvZnQgTERNIGRhdGEiCittc2dzdHIgIk1pY3Jvc29mdCBMRE0tZGF0YSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NAorbXNnaWQgIldpbmRvd3MgcmVjb3ZlcnkgZW52aXJvbm1lbnQiCittc2dzdHIgIldpbmRvd3Mgw6V0ZXJzdMOkbGxuaW5nc21pbGrDtiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NQorbXNnaWQgIklCTSBHZW5lcmFsIFBhcmFsbGVsIEZzIgorbXNnc3RyICJJQk0gYWxsbcOkbnQgcGFyYWxsZWxsdCBmcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NgorbXNnaWQgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKK21zZ3N0ciAiTWljcm9zb2Z0IGxhZ3JpbmdzdXRyeW1tZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODkKK21zZ2lkICJIUC1VWCBkYXRhIgorbXNnc3RyICJIUC1VWC1kYXRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkwCittc2dpZCAiSFAtVVggc2VydmljZSIKK21zZ3N0ciAiSFAtVVgtdGrDpG5zdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MyBsaWJmZGlzay9zcmMvc2dpLmM6NjEgbGliZmRpc2svc3JjL3N1bi5jOjUyCittc2dpZCAiTGludXggc3dhcCIKK21zZ3N0ciAiTGludXggdsOkeGxpbmciCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTQKK21zZ2lkICJMaW51eCBmaWxlc3lzdGVtIgorbXNnc3RyICJMaW51eC1maWxzeXN0ZW0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUKK21zZ2lkICJMaW51eCBzZXJ2ZXIgZGF0YSIKK21zZ3N0ciAiTGludXggc2VydmVyZGF0YSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NgorbXNnaWQgIkxpbnV4IHJvb3QgKHg4NikiCittc2dzdHIgIkxpbnV4IHJvdCAoeDg2KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NworbXNnaWQgIkxpbnV4IHJvb3QgKEFSTSkiCittc2dzdHIgIkxpbnV4IHJvdCAoQVJNKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OAorbXNnaWQgIkxpbnV4IHJvb3QgKHg4Ni02NCkiCittc2dzdHIgIkxpbnV4IHJvdCAoeDg2LTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OQorbXNnaWQgIkxpbnV4IHJvb3QgKEFSTS02NCkiCittc2dzdHIgIkxpbnV4IHJvdCAoQVJNLTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMAorbXNnaWQgIkxpbnV4IHJvb3RcdChJQS02NCkiCittc2dzdHIgIkxpbnV4IHJvdFx0KElBLTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMQorbXNnaWQgIkxpbnV4IHJlc2VydmVkIgorbXNnc3RyICJMaW51eCByZXNlcnZlcmF0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAyCittc2dpZCAiTGludXggaG9tZSIKK21zZ3N0ciAiTGludXggaGVtbWEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMgbGliZmRpc2svc3JjL3NnaS5jOjY0Cittc2dpZCAiTGludXggUkFJRCIKK21zZ3N0ciAiTGludXggUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNAorbXNnaWQgIkxpbnV4IGV4dGVuZGVkIGJvb3QiCittc2dzdHIgIkxpbnV4IHV0w7ZrYWQgYm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMgorbXNnaWQgIkZyZWVCU0QgZGF0YSIKK21zZ3N0ciAiRnJlZUJTRC1kYXRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzCittc2dpZCAiRnJlZUJTRCBib290IgorbXNnc3RyICJGcmVlQlNELWJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQKK21zZ2lkICJGcmVlQlNEIHN3YXAiCittc2dzdHIgIkZyZWVCU0QtdsOkeGxpbmciCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUKK21zZ2lkICJGcmVlQlNEIFVGUyIKK21zZ3N0ciAiRnJlZUJTRCBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTYKK21zZ2lkICJGcmVlQlNEIFpGUyIKK21zZ3N0ciAiRnJlZUJTRCBaRkEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTcKK21zZ2lkICJGcmVlQlNEIFZpbnVtIgorbXNnc3RyICJGcmVlQlNEIFZpbnVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIwCittc2dpZCAiQXBwbGUgSEZTL0hGUysiCittc2dzdHIgIkFwcGxlIEhGUy9IRlMrIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxCittc2dpZCAiQXBwbGUgVUZTIgorbXNnc3RyICJBcHBsZSBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjIKK21zZ2lkICJBcHBsZSBSQUlEIgorbXNnc3RyICJBcHBsZSBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzCittc2dpZCAiQXBwbGUgUkFJRCBvZmZsaW5lIgorbXNnc3RyICJBcHBsZSBSQUlEIGZyw6Vua29wcGxhZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNAorbXNnaWQgIkFwcGxlIGJvb3QiCittc2dzdHIgIkFwcGxlIHN0YXJ0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1Cittc2dpZCAiQXBwbGUgbGFiZWwiCittc2dzdHIgIkFwcGxlIGV0aWtldHQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjYKK21zZ2lkICJBcHBsZSBUViByZWNvdmVyeSIKK21zZ3N0ciAiQXBwbGUgVFYgw6V0ZXJzdMOkbGxuaW5nIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI3Cittc2dpZCAiQXBwbGUgQ29yZSBzdG9yYWdlIgorbXNnc3RyICJBcHBsZSBDb3JlIGxhZ3JpbmciCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzEKK21zZ2lkICJTb2xhcmlzIHJvb3QiCittc2dzdHIgIlNvbGFyaXMtcm90IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMzCittc2dpZCAiU29sYXJpcyAvdXNyICYgQXBwbGUgWkZTIgorbXNnc3RyICJTb2xhcmlzIC91c3IgJiBBcHBsZSBaRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzQKK21zZ2lkICJTb2xhcmlzIHN3YXAiCittc2dzdHIgIlNvbGFyaXMtdsOkeGxpbmciCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzUKK21zZ2lkICJTb2xhcmlzIGJhY2t1cCIKK21zZ3N0ciAiU29sYXJpcy1zw6RrZXJoZXRza29waWEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzYKK21zZ2lkICJTb2xhcmlzIC92YXIiCittc2dzdHIgIlNvbGFyaXMgL3ZhciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNworbXNnaWQgIlNvbGFyaXMgL2hvbWUiCittc2dzdHIgIlNvbGFyaXMgL2hvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzgKK21zZ2lkICJTb2xhcmlzIGFsdGVybmF0ZSBzZWN0b3IiCittc2dzdHIgIlNvbGFyaXMgYWx0ZXJuYXRpdi1zZWt0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDEiCittc2dzdHIgIuKAnSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MAorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMiIKK21zZ3N0ciAiU29sYXJpcyByZXNlcnZlcmFkIDIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDEKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDMiCittc2dzdHIgIlNvbGFyaXMgcmVzZXJ2ZXJhZCAzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA0IgorbXNnc3RyICJTb2xhcmlzIHJlc2VydmVyYWQgNCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MworbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNSIKK21zZ3N0ciAiU29sYXJpcyByZXNlcnZlcmFkIDUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDYKK21zZ2lkICJOZXRCU0Qgc3dhcCIKK21zZ3N0ciAiTmV0QlNELXbDpHhsaW5nIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ3Cittc2dpZCAiTmV0QlNEIEZGUyIKK21zZ3N0ciAiTmV0QlNEIEZGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OAorbXNnaWQgIk5ldEJTRCBMRlMiCittc2dzdHIgIk5ldEJTRCBMRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDkKK21zZ2lkICJOZXRCU0QgY29uY2F0ZW5hdGVkIgorbXNnc3RyICJOZXRCU0Qga29ua2F0ZW5lcmFkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwCittc2dpZCAiTmV0QlNEIGVuY3J5cHRlZCIKK21zZ3N0ciAiTmV0QlNEIGtyeXB0ZXJhZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MQorbXNnaWQgIk5ldEJTRCBSQUlEIgorbXNnc3RyICJOZXRCU0QgUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NAorbXNnaWQgIkNocm9tZU9TIGtlcm5lbCIKK21zZ3N0ciAiQ2hyb21lT1Mga8Okcm5hIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU1Cittc2dpZCAiQ2hyb21lT1Mgcm9vdCBmcyIKK21zZ3N0ciAiQ2hyb21lT1Mgcm90Zmlsc3lzdGVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU2Cittc2dpZCAiQ2hyb21lT1MgcmVzZXJ2ZWQiCittc2dzdHIgIkNocm9tZU9TIHJlc2VydmVyYWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTkKK21zZ2lkICJNaWRuaWdodEJTRCBkYXRhIgorbXNnc3RyICJNaWRuaWdodEJTRC1kYXRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYwCittc2dpZCAiTWlkbmlnaHRCU0QgYm9vdCIKK21zZ3N0ciAiTWlkbmlnaHRCU0Qgc3RhcnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjEKK21zZ2lkICJNaWRuaWdodEJTRCBzd2FwIgorbXNnc3RyICJNaWRuaWdodEJTRC12w6R4bGluZyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MgorbXNnaWQgIk1pZG5pZ2h0QlNEIFVGUyIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgVUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYzCittc2dpZCAiTWlkbmlnaHRCU0QgWkZTIgorbXNnc3RyICJNaWRuaWdodEJTRCBaRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjQKK21zZ2lkICJNaWRuaWdodEJTRCBWaW51bSIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgVmludW0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjcKK21zZ2lkICJDZXBoIEpvdXJuYWwiCittc2dzdHIgIkNlcGgtam91cm5hbCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OAorbXNnaWQgIkNlcGggRW5jcnlwdGVkIEpvdXJuYWwiCittc2dzdHIgIkNlcGggRW5jcnlwdGVkIEpvdXJuYWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjkKK21zZ2lkICJDZXBoIE9TRCIKK21zZ3N0ciAiQ2VwaCBPU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAKK21zZ2lkICJDZXBoIGNyeXB0IE9TRCIKK21zZ3N0ciAiQ2VwaCBrcnlwdCBPU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzEKK21zZ2lkICJDZXBoIGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIkNlcGggZGlzayBzcGFyYXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzIKK21zZ2lkICJDZXBoIGNyeXB0IGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIkNlcGgga3J5cHRkaXNrIHNrYXBhcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NQorbXNnaWQgIk9wZW5CU0QgZGF0YSIKK21zZ3N0ciAiT3BlbkJTRC1kYXRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc4Cittc2dpZCAiUU5YNiBmaWxlIHN5c3RlbSIKK21zZ3N0ciAiUU5YNi1maWxzeXN0ZW0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyODEKK21zZ2lkICJQbGFuIDkgcGFydGl0aW9uIgorbXNnc3RyICJQbGFuIDktcGFydGl0aW9uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NTQ3Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdQVCBoZWFkZXIiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGFsbG9rZXJhIEdQVC1odXZ1ZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjYzMAorbXNnaWQgIkZpcnN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIkbDtnJzdGEgTEJBIGFuZ2l2ZW4gYXYgc2tyaXB0IMOkciB1dGFuZsO2ciBpbnRlcnZhbGxldC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo2NDIKK21zZ2lkICJMYXN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIlNpc3RhIExCQSBhbmdpdmVuIGF2IHNrcmlwdCDDpHIgdXRhbmbDtnIgaW50ZXJ2YWxsZXQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Nzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIkdQVCBQTUJSIHNpemUgbWlzbWF0Y2ggKCU8UFJJdTY0PiAhPSAlPFBSSXU2ND4pIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkuIgorbXNnc3RyICJHUFQgUE1CUiBzdG9ybGVrc2ZlbCAoJTxQUkl1NjQ+ICE9ICU8UFJJdTY0Pikga29tbWVyIGF0dCBrb3JyaWdlcmFzIHZpZCB3KHNrcml2KS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3OTIKK21zZ2lkICJncHQ6IHN0YXQoKSBmYWlsZWQiCittc2dzdHIgImdwdDogc3RhdCgpIG1pc3NseWNrYWRlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjgwMgorIywgYy1mb3JtYXQKK21zZ2lkICJncHQ6IGNhbm5vdCBoYW5kbGUgZmlsZXMgd2l0aCBtb2RlICVvIgorbXNnc3RyICJncHQ6IGthbiBpbnRlIGhhbnRlcmEgZmlsZXIgbWVkIGzDpGdlICVvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTA2NAorbXNnaWQgIkdQVCBIZWFkZXIiCittc2dzdHIgIkdQVC1odXZ1ZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEwNjkKK21zZ2lkICJHUFQgRW50cmllcyIKK21zZ3N0ciAiR1BULXBvc3RlciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExMDMKK21zZ2lkICJGaXJzdCBMQkEiCittc2dzdHIgIkbDtnJzdGEgTEJBIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEwOAorbXNnaWQgIkxhc3QgTEJBIgorbXNnc3RyICJTaXN0YSBMQkEiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgTEJBIChMb2dpY2FsIEJsb2NrIEFkZHJlc3MpIG9mIHRoZSBiYWNrdXAgR1BUIGhlYWRlci4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTE0Cittc2dpZCAiQWx0ZXJuYXRpdmUgTEJBIgorbXNnc3RyICJBbHRlcm5hdGl2IExCQSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFydCBvZiB0aGUgYXJyYXkgb2YgcGFydGl0aW9uIGVudHJpZXMuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEyMAorbXNnaWQgIlBhcnRpdGlvbiBlbnRyaWVzIExCQSIKK21zZ3N0ciAiUGFydGl0aW9uc3Bvc3RlciBMQkEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTI1Cittc2dpZCAiQWxsb2NhdGVkIHBhcnRpdGlvbiBlbnRyaWVzIgorbXNnc3RyICJBbGxva2VyYWRlIHBhcnRpdGlvbnNwb3N0ZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNDQwCittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBwcmltYXJ5IGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAiU8Oka2VyaGV0c2tvcGlhbiBhdiBHUFQtdGFiZWxsZW4gw6RyIGtvcnJ1cHQsIG1lbiBkZW4gcHJpbcOkcmEgdmVya2FyIE9LIHPDpSBkZW4ga29tbWVyIGF0dCBhbnbDpG5kYXMuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTQ0OQorbXNnaWQgIlRoZSBwcmltYXJ5IEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIGJhY2t1cCBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIkRlbiBwcmltw6RyYSBHUFQtdGFiZWxsZW4gw6RyIGtvcnJ1cHQsIG1lbiBzw6RrZXJoZXRza29waWFuIHZlcmthciBPSyBzw6UgZGVuIGtvbW1lciBhdHQgYW52w6RuZGFzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgR1BUIGF0dHJpYnV0ZSBiaXQgJyVzJyIKK21zZ3N0ciAiR1BULWF0dHJpYnV0c2JpdCDigJ0lc+KAnSBzdMO2ZHMgaW50ZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBHUFQgYXR0cmlidXRlIHN0cmluZyAnJXMnIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBsaXN0YSDigJ0lc+KAnSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiUGFydGl0aW9ucy1VVUlEIMOkbmRyYXQgZnLDpW4gJXMgdGlsbCAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lIGNoYW5nZWQgZnJvbSAnJXMnIHRvICclLipzJy4iCittc2dzdHIgIlBhcnRpdGlvbnNuYW1uIMOkbmRyYWRlcyBmcsOlbiDigJ0lc+KAnSB0aWxsIOKAnSUuKnPigJ0uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc2OAorbXNnaWQgIlRoZSBzdGFydCBvZiB0aGUgcGFydGl0aW9uIHVuZGVyc3RlcHMgRmlyc3RVc2FibGVMQkEuIgorbXNnc3RyICJTdGFydCBmw7ZyIHBhcnRpdGlvbmVuIGbDtnJlZ8OlciBGaXJzdFVzYWJsZUxCQS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzc1Cittc2dpZCAiVGhlIGVuZCBvZiB0aGUgcGFydGl0aW9uIG92ZXJzdGVwcyBMYXN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiU2x1dGV0IHDDpSBwYXJ0aXRpb25lbiBzdGVnYXIgw7Z2ZXIgTGFzdFVzYWJsZUxCQS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTM0Cittc2dpZCAiVGhlIGRldmljZSBjb250YWlucyBoeWJyaWQgTUJSIC0tIHdyaXRpbmcgR1BUIG9ubHkuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIE1CUiBtYW51YWxseS4iCittc2dzdHIgIkVuaGV0ZW4gaW5uZWjDpWxsZXIgZW4gaHlicmlkLU1CUiAtLSBza3JpdmVyIGVuZGFzdCBHUFQuIER1IG3DpXN0ZSBzeW5rcm9uaXNlcmEgTUJSOmVuIG1hbnVlbGx0LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NzEKK21zZ2lkICJEaXNrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiRGlzayBpbm5laMOlbGxlciBpbnRlIGV0dCBnaWx0aWd0IHPDpGtlcmhldHNodXZ1ZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTc2Cittc2dpZCAiSW52YWxpZCBwcmltYXJ5IGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICJPZ2lsdGlndCBwcmltw6RyaHV2dWQgdmlkIGtvbnRyb2xsIGF2IENSQy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTgwCittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIk9naWx0aWd0IGh1dnVkIGbDtnIgc8Oka2VyaGV0c2tvcGlhIHZpZCBrb250cm9sbCBhdiBDUkMuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4NQorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIGVudHJ5IGNoZWNrc3VtLiIKK21zZ3N0ciAiT2dpbHRpZyBrb250cm9sbHN1bW1hIGbDtnIgcGFydGl0aW9uc3Bvc3QuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5MAorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICJPZ2lsdGlndCBwcmltw6RyaHV2dWQgdmlkIGtvbnRyb2xsIGF2IExCQS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTk0Cittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiT2dpbHRpZ3QgaHV2dWQgZsO2ciBzw6RrZXJoZXRza29waWEgdmlkIGtvbnRyb2xsIGF2IExCQS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTk5Cittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IHByaW1hcnkgaGVhZGVyLiIKK21zZ3N0ciAiTXlMQkEgc3TDpG1tZXIgaW50ZSBtZWQgcmlrdGlnIHBvc2l0aW9uIHZpZCBwcmltw6RydCBodXZ1ZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAzCittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICJNeUxCQSBzdMOkbW1lciBpbnRlIG1lZCByaWt0aWcgcG9zaXRpb24gaSBodXZ1ZGV0IHDDpSBzw6RrZXJoZXRza29waWFuLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMDgKK21zZ2lkICJEaXNrIGlzIHRvbyBzbWFsbCB0byBob2xkIGFsbCBkYXRhLiIKK21zZ3N0ciAiRGlza2VuIMOkciBmw7ZyIGxpdGVuIGbDtnIgYXR0IGjDpWxsYSBhbGwgZGF0YS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDE4Cittc2dpZCAiUHJpbWFyeSBhbmQgYmFja3VwIGhlYWRlciBtaXNtYXRjaC4iCittc2dzdHIgIlByaW3DpHJ0IGh1dnVkIG9jaCBodXZ1ZCBpIHPDpGtlcmhldHNrb3BpYSBzdMOkbW1lciBpbnRlLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggcGFydGl0aW9uICV1LiIKK21zZ3N0ciAiUGFydGl0aW9uICV1IMO2dmVybGFwcGFyIG1lZCBwYXJ0aXRpb24gJXUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAzMQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgaXMgdG9vIGJpZyBmb3IgdGhlIGRpc2suIgorbXNnc3RyICJQYXJ0aXRpb24gJXUgw6RyIGbDtnIgc3RvciBmw7ZyIGRpc2tlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDM4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBlbmRzIGJlZm9yZSBpdCBzdGFydHMuIgorbXNnc3RyICJQYXJ0aXRpb24gJXUgc2x1dGFyIGbDtnJlIGRlbiBiw7ZyamFyLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDcKK21zZ2lkICJObyBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyICJJbmdhIGZlbCBoaXR0YWRlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIkhlYWRlciB2ZXJzaW9uOiAlcyIKK21zZ3N0ciAiSHV2dWR2ZXJzaW9uOiAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgJXUgb3V0IG9mICVkIHBhcnRpdGlvbnMuIgorbXNnc3RyICJBbnbDpG5kZXIgJXUgYXYgJWQgcGFydGl0aW9uZXIuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA2MAorIywgYy1mb3JtYXQKK21zZ2lkICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnQuIgorbXNnaWRfcGx1cmFsICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnRzICh0aGUgbGFyZ2VzdCBpcyAlcykuIgorbXNnc3RyWzBdICJUb3RhbHQgJWp1IGxlZGlnYSBzZWt0b3JlciDDpHIgdGlsbGfDpG5nbGlnYSBpICV1IHNlZ21lbnQuIgorbXNnc3RyWzFdICJUb3RhbHQgJWp1IGxlZGlnYSBzZWt0b3JlciDDpHIgdGlsbGfDpG5nbGlnYSBpICV1IHNlZ21lbnQgKGRldCBzdMO2cnN0YSDDpHIgJXMpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgZXJyb3IgZGV0ZWN0ZWQuIgorbXNnaWRfcGx1cmFsICIlZCBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyWzBdICIlZCBmZWwgaGl0dGFkZXMuIgorbXNnc3RyWzFdICIlZCBmZWwgaGl0dGFkZXMuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0MgorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIGFyZSBhbHJlYWR5IGluIHVzZS4iCittc2dzdHIgIkFsbGEgcGFydGl0aW9uZXIgYW52w6RuZHMgcmVkYW4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5NyBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyMgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWp1IGFscmVhZHkgdXNlZC4iCittc2dzdHIgIlNla3RvciAlanUgYW52w6RuZHMgcmVkYW4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIkt1bmRlIGludGUgc2thcGEgaW50ZSBwYXJ0aXRpb24gJXp1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgbGFzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiRGVuIHNpc3RhIGFudsOkbmRiYXJhIEdQVC1zZWt0b3JuIMOkciAlanUsIG1lbiAlanUgYmVnw6RyZGVzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpcnN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICJEZW4gZsO2cnN0YSBhbnbDpG5kYmFyYSBHUFQtc2VrdG9ybiDDpHIgJWp1LCBtZW4gJWp1IGJlZ8OkcmRlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgR1BUIGRpc2tsYWJlbCAoR1VJRDogJXMpLiIKK21zZ3N0ciAiU2thcGFkZSBlbiBueSBHUFQtZGlza2V0aWtldHQgKEdVSUQ6ICVzKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDQ3Cittc2dpZCAiRW50ZXIgbmV3IGRpc2sgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICJNYXRhIGluIGV0dCBueXR0IGRpc2stVVVJRCAoaSA4LTQtNC00LTEyLWZvcm1hdCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDU0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHlvdXIgVVVJRC4iCittc2dzdHIgIk1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIGRpbiBVVUlELiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIkRpc2tpZGVudGlmaWVyYXJlIMOkbmRyYWQgZnLDpW4gJXMgdGlsbCAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDg4Cittc2dpZCAiTm90IGVub3VnaCBzcGFjZSBmb3IgbmV3IHBhcnRpdGlvbiB0YWJsZSEiCittc2dzdHIgIkludGUgdGlsbHLDpGNrbGlndCBsZWRpZ3QgdXRyeW1tZSBmw7ZyIG55IHBhcnRpdGlvbnN0YWJlbGwhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5NworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV1IG91dCBvZiByYW5nZSAobWluaW1hbCBzdGFydCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIlBhcnRpdGlvbiAjJXUgdXRhbmbDtnIgaW50ZXJ2YWxsIChtaW5zdGEgc3RhcnQgw6RyICU8UFJJdTY0PiBzZWt0b3JlcikiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXUgb3V0IG9mIHJhbmdlIChtYXhpbWFsIGVuZCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIlBhcnRpdGlvbiAjJXUgw6RyIHV0YW5mw7ZyIGludGVydmFsbCAoc3TDtnJzdGEgc2x1dCDDpHIgJTxQUkl1NjQ+IHNla3RvcmVyKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBudW1iZXIgb2YgdGhlIHBhcnRpdGlvbiBoYXMgYmUgc21hbGxlciB0aGFuICV6dS4iCittc2dzdHIgIkRldCBtYXhpbWFsYSBhbnRhbGV0IHBhcnRpdGlvbmVyIGhhciBza2FwYXRzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NjMKK21zZ2lkICJDYW5ub3QgYWxsb2NhdGUgbWVtb3J5ISIKK21zZ3N0ciAiS2FuIGludGUgYWxsb2tlcmEgbWlubmUhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5MAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgbGVuZ3RoIGNoYW5nZWQgZnJvbSAlPFBSSXUzMj4gdG8gJTxQUkl1NjQ+LiIKK21zZ3N0ciAiUGFydGl0aW9uc3RhYmVsbHNsw6RuZ2Qgw6RuZHJhZCBmcsOlbiAlPFBSSXUzMj4gdGlsbCAlPFBSSXU2ND4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5NAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYXR0cmlidXRlcyBvbiBwYXJ0aXRpb24gJXp1IGNoYW5nZWQgdG8gMHglMDE2PFBSSXg2ND4uIgorbXNnc3RyICJBdHRyaWJ1dGVuIGbDtnIgcGFydGl0aW9uICV6dSDDpG5kcmFkZSB0aWxsIDB4JTAxNjxQUkl4NjQ+LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NDIKK21zZ2lkICJFbnRlciBHVUlEIHNwZWNpZmljIGJpdCIKK21zZ3N0ciAiTWF0YSBpbiBHVUlELXNwZWNpZmlrIGJpdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHRvZ2dsZSB1bnN1cHBvcnRlZCBiaXQgJWx1IgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB2w6R4bGEgYml0ICVsdSBzb20gaW50ZSBzdMO2ZHMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiR1VJRC1zcGVjaWZpayBiaXQgJWQgZsO2ciBwYXJ0aXRpb24gJXp1IMOkciBha3RpdmVyYWQgbnUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJHVUlELXNwZWNpZmlrIGJpdCAlZCBmw7ZyIHBhcnRpdGlvbiAlenUgw6RyIGluYWt0aXZlcmFkIG51LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIkZsYWdnYW4gJXMgZsO2ciBwYXJ0aXRpb24gJXp1IMOkciBudSBha3RpdmVyYWQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIkZsYWdnYW4gJXMgZsO2ciBwYXJ0aXRpb24gJXp1IMOkciBudSBpbmFrdGl2ZXJhZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE4Cittc2dpZCAiVHlwZS1VVUlEIgorbXNnc3RyICJUeXAtVVVJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTkKK21zZ2lkICJVVUlEIgorbXNnc3RyICJVVUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkyMCBsb2dpbi11dGlscy9jaGZuLmM6MTUwIGxvZ2luLXV0aWxzL2NoZm4uYzoxNTIKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMDcKK21zZ2lkICJOYW1lIgorbXNnc3RyICJOYW1uIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6ODQwCittc2dpZCAiRnJlZSBzcGFjZSIKK21zZ3N0ciAiTGVkaWd0IHV0cnltbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzoxMjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uICMlenUuIgorbXNnc3RyICJNaXNzbHlja2FkZXMgbWVkIGF0dCDDpG5kcmEgc3RvcmxlayBww6UgcGFydGl0aW9uZW4gIyV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0dHlwZS5jOjI1OSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTUgc2NoZWR1dGlscy9jaHJ0LmM6MjA2CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc5IHN5cy11dGlscy9od2Nsb2NrLmM6MzM0Cittc2dpZCAidW5rbm93biIKK21zZ3N0ciAib2vDpG5kIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDcKK21zZ2lkICJTR0kgdm9saGRyIgorbXNnc3RyICJTR0ktdm9saHZkIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDgKK21zZ2lkICJTR0kgdHJrcmVwbCIKK21zZ3N0ciAiU0dJLXNwcnJlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OQorbXNnaWQgIlNHSSBzZWNyZXBsIgorbXNnc3RyICJTR0ktc2VjcmVwbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUwCittc2dpZCAiU0dJIHJhdyIKK21zZ3N0ciAiU0dJIHLDpSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUxCittc2dpZCAiU0dJIGJzZCIKK21zZ3N0ciAiU0dJIGJzZCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUyCittc2dpZCAiU0dJIHN5c3YiCittc2dzdHIgIlNHSSBzeXN2IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTMKK21zZ2lkICJTR0kgdm9sdW1lIgorbXNnc3RyICJTR0ktdm9seW0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NAorbXNnaWQgIlNHSSBlZnMiCittc2dzdHIgIlNHSSBlZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NQorbXNnaWQgIlNHSSBsdm9sIgorbXNnc3RyICJTR0kgbHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU2Cittc2dpZCAiU0dJIHJsdm9sIgorbXNnc3RyICJTR0kgcnZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU3Cittc2dpZCAiU0dJIHhmcyIKK21zZ3N0ciAiU0dJIHhmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU4Cittc2dpZCAiU0dJIHhmc2xvZyIKK21zZ3N0ciAiU0dJIHhmc2xvZyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5Cittc2dpZCAiU0dJIHhsdiIKK21zZ3N0ciAiU0dJIHhsdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYwCittc2dpZCAiU0dJIHh2bSIKK21zZ3N0ciAiU0dJIHh2bSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyIGxpYmZkaXNrL3NyYy9zdW4uYzo1MworbXNnaWQgIkxpbnV4IG5hdGl2ZSIKK21zZ3N0ciAiTGludXggZWdlbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjE1OQorbXNnaWQgIlNHSSBpbmZvIGNyZWF0ZWQgb24gc2Vjb25kIHNlY3Rvci4iCittc2dzdHIgIlNHSS1pbmZvIHNrYXBhZCBpIGFuZHJhIHNla3Rvcm4uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjU5Cittc2dpZCAiRGV0ZWN0ZWQgYW4gU0dJIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiIKK21zZ3N0ciAiSGl0dGFkZSBTR0ktZGlza2V0aWtldHQgbWVkIGZlbGFrdGlnIGtvbnRyb2xsc3VtbWEuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjgyIGxpYmZkaXNrL3NyYy9zdW4uYzo3NzAKK21zZ2lkICJQaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIkZ5c2lza2EgY3lsaW5kcmFyIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjg3IGxpYmZkaXNrL3NyYy9zdW4uYzo3NzUKK21zZ2lkICJFeHRyYSBzZWN0cy9jeWwiCittc2dzdHIgIkV4dHJhIHNla3QvY3lsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjk3Cittc2dpZCAiQm9vdGZpbGUiCittc2dzdHIgIlN0YXJ0ZmlsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mzk1Cittc2dpZCAiSW52YWxpZCBib290ZmlsZSEgIFRoZSBib290ZmlsZSBtdXN0IGJlIGFuIGFic29sdXRlIG5vbi16ZXJvIHBhdGhuYW1lLCBlLmcuIFwiL3VuaXhcIiBvciBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIk9naWx0aWcgc3RhcnRmaWwhIFN0YXJ0ZmlsZW4gbcOlc3RlIHZhcmEgZW4gYWJzb2x1dCBpY2tlLXRvbSBzw7ZrdsOkZywgdC5leC4g4oCdL3VuaXjigJ0gZWxsZXIg4oCdL3VuaXguc2F2ZeKAnS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGUgbWF4aW11bS4iCittc2dpZF9wbHVyYWwgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlcyBtYXhpbXVtLiIKK21zZ3N0clswXSAiTmFtbmV0IHDDpSBzdGFydGZpbGVuIMOkciBmw7ZyIGzDpW5ndDogJXp1IGJ5dGUgw6RyIG1heC4iCittc2dzdHJbMV0gIk5hbW5ldCBww6Ugc3RhcnRmaWxlbiDDpHIgZsO2ciBsw6VuZ3Q6ICV6dSBieXRlIMOkciBtYXguIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDA4Cittc2dpZCAiQm9vdGZpbGUgbXVzdCBoYXZlIGEgZnVsbHkgcXVhbGlmaWVkIHBhdGhuYW1lLiIKK21zZ3N0ciAiU3RhcnRmaWxlbiBtw6VzdGUgaGEgZW4gZnVsbHN0w6RuZGlnIHPDtmt2w6RnLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQxNAorbXNnaWQgIkJlIGF3YXJlIHRoYXQgdGhlIGJvb3RmaWxlIGlzIG5vdCBjaGVja2VkIGZvciBleGlzdGVuY2UuICBTR0kncyBkZWZhdWx0IGlzIFwiL3VuaXhcIiwgYW5kIGZvciBiYWNrdXAgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICJPYnNlcnZlcmEgYXR0IGRldCBpbnRlIGtvbnRyb2xsZXJhcyBvbSBzdGFydGZpbGVuIGZpbm5zLiBTR0k6cyBzdGFuZGFyZGFsdGVybmF0aXYgw6RyIOKAnS91bml44oCdIHJlc3Bla3RpdmUg4oCdL3VuaXguc2F2ZeKAnSBmw7ZyIHPDpGtlcmhldHNrb3Bpb3IuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBjdXJyZW50IGJvb3QgZmlsZSBpczogJXMiCittc2dzdHIgIkFrdHVlbGwgc3RhcnRmaWwgw6RyOiAlcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0MQorbXNnaWQgIkVudGVyIG9mIHRoZSBuZXcgYm9vdCBmaWxlIgorbXNnc3RyICJBbmdlIG5hbW5ldCBww6UgZGVuIG55YSBzdGFydGZpbGVuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQ2Cittc2dpZCAiQm9vdCBmaWxlIGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIlN0YXJ0ZmlsZW4gb2bDtnLDpG5kcmFkLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ1NworIywgYy1mb3JtYXQKK21zZ2lkICJCb290ZmlsZSBoYXMgYmVlbiBjaGFuZ2VkIHRvIFwiJXNcIi4iCittc2dzdHIgIlN0YXJ0ZmlsZW4gw6RuZHJhZGVzIHRpbGwg4oCdJXPigJ0uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTk2Cittc2dpZCAiTW9yZSB0aGFuIG9uZSBlbnRpcmUgZGlzayBlbnRyeSBwcmVzZW50LiIKK21zZ3N0ciAiRGV0IGZpbm5zIGZsZXIgw6RuIGVuIGRpc2twb3N0LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYwMyBsaWJmZGlzay9zcmMvc3VuLmM6NDU4Cittc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkLiIKK21zZ3N0ciAiSW5nYSBwYXJ0aXRpb25lciDDpHIgZGVmaW5pZXJhZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTMKK21zZ2lkICJJUklYIGxpa2VzIGl0IHdoZW4gcGFydGl0aW9uIDExIGNvdmVycyB0aGUgZW50aXJlIGRpc2suIgorbXNnc3RyICJJUklYIGdpbGxhciBvbSBwYXJ0aXRpb24gMTEgdMOkY2tlciBoZWxhIGjDpXJkZGlza2VuLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxNworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIHNob3VsZCBzdGFydCBhdCBibG9jayAwLCBub3QgYXQgYmxvY2sgJWQuIgorbXNnc3RyICJIZWxhIGRpc2twYXJ0aXRpb25lbiBiw7ZyIGLDtnJqYSB2aWQgYmxvY2sgMCwgaW50ZSB2aWQgYmxvY2sgJWQuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjI4Cittc2dpZCAiUGFydGl0aW9uIDExIHNob3VsZCBjb3ZlciB0aGUgZW50aXJlIGRpc2suIgorbXNnc3RyICJQYXJ0aXRpb24gMTEgYsO2ciB0w6Rja2EgaGVsYSBow6VyZGRpc2tlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3IuIgorbXNnaWRfcGx1cmFsICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3RvcnMuIgorbXNnc3RyWzBdICJQYXJ0aXRpb24gJWQgb2NoICVkIMO2dmVybGFwcGFyIHZhcmFuZHJhIG1lZCAlZCBzZWt0b3IuIgorbXNnc3RyWzFdICJQYXJ0aXRpb24gJWQgb2NoICVkIMO2dmVybGFwcGFyIHZhcmFuZHJhIG1lZCAlZCBzZWt0b3Jlci4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NjMgbGliZmRpc2svc3JjL3NnaS5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3I6IHNlY3RvciAlOHUiCittc2dpZF9wbHVyYWwgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3RvcnM6IHNlY3RvcnMgJTh1LSV1IgorbXNnc3RyWzBdICJPYW52w6RudCBtZWxsYW5ydW0gcMOlICU4dSBzZWt0b3I6IHNla3RvciAlOHUiCittc2dzdHJbMV0gIk9hbnbDpG50IG1lbGxhbnJ1bSBww6UgJTh1IHNla3RvcmVyOiBzZWt0b3JlciAlOHUtJXUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2OTgKK21zZ2lkICJUaGUgYm9vdCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICJTdGFydHBhcnRpdGlvbmVuIGZpbm5zIGludGUuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzAyCittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiVsOkeGxpbmdzcGFydGl0aW9uZW4gZmlubnMgaW50ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDYKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gaGFzIG5vIHN3YXAgdHlwZS4iCittc2dzdHIgIlbDpHhsaW5nc3BhcnRpdGlvbmVuIGhhciBpbmdlbiB2w6R4bGluZ3N0eXAuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA5Cittc2dpZCAiWW91IGhhdmUgY2hvc2VuIGFuIHVudXN1YWwgYm9vdGZpbGUgbmFtZS4iCittc2dzdHIgIkR1IGhhciB2YWx0IGV0dCBvdmFubGlndCBuYW1uIHDDpSBzdGFydGZpbGVuLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjc1OQorbXNnaWQgIlBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiIKK21zZ3N0ciAiUGFydGl0aW9uZXIgw7Z2ZXJsYXBwYSBww6UgZGlza2VuLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0NAorbXNnaWQgIkF0dGVtcHRpbmcgdG8gZ2VuZXJhdGUgZW50aXJlIGRpc2sgZW50cnkgYXV0b21hdGljYWxseS4iCittc2dzdHIgIkbDtnJzw7ZrZXIgYXR0IGdlbmVyZXJhIGZ1bGxzdMOkbmRpZyBkaXNrcG9zdCBhdXRvbWF0aXNrdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDkKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgaXMgYWxyZWFkeSBjb3ZlcmVkIHdpdGggcGFydGl0aW9ucy4iCittc2dzdHIgIkhlbGEgZGlza2VuIMOkciByZWRhbiB0w6Rja3QgbWVkIHBhcnRpdGlvbmVyLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg1MworbXNnaWQgIllvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKK21zZ3N0ciAiRHUgaGFyIHBhcnRpdGlvbmVyIHNvbSDDtnZlcmxhcHBhciB2YXJhbmRyYSBww6UgZGlza2VuLiBGaXhhIGRldCBmw7Zyc3QhIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODc1IGxpYmZkaXNrL3NyYy9zdW4uYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3QgJXMiCittc2dzdHIgIkbDtnJzdGEgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4OTkgbGliZmRpc2svc3JjL3NnaS5jOjk0OQorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBlbGV2ZW50aCBwYXJ0aXRpb24gY292ZXJzIHRoZSBlbnRpcmUgZGlzayBhbmQgaXMgb2YgdHlwZSAnU0dJIHZvbHVtZScuIgorbXNnc3RyICJEZXQgcmVrb21tZW5kZXJhcyB2YXJtdCBhdHQgZGVuIGVsZnRlIHBhcnRpdGlvbmVuIHTDpGNrZXIgaGVsYSBow6VyZGRpc2tlbiBvY2ggw6RyIGF2IHR5cGVuIOKAnVNHSS12b2x5beKAnS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5MTQgbGliZmRpc2svc3JjL3N1bi5jOjYzOQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0ICVzIG9yICslcyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICJTaXN0YSAlcyBlbGxlciArJXMgZWxsZXIgK3N0b3JsZWt7SyxNLEcsVCxQfSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjk4NSBsaWJmZGlzay9zcmMvc3VuLmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LiBUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLiIKK21zZ3N0ciAiQkxLR0VUU0laRS1pb2N0bCBtaXNzbHlja2FkZXMgcMOlICVzLiBBbnbDpG5kZXIgZ2VvbWV0cmljeWxpbmRlcnbDpHJkZXQgJWxsdS4gRGV0dGEgdsOkcmRlIGthbiB0cnVua2VyYXQgZsO2ciBlbmhldGVyID4gMzMsOCBHQi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDUxCittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTR0kgZGlza2xhYmVsLiIKK21zZ3N0ciAiU2thcGFkZSBlbiBueSBTR0ktZGlza2V0aWtldHQuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3MAorbXNnaWQgIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIKK21zZ3N0ciAiRHUga2FuIGVuZGFzdCDDpG5kcmEgdGFnZ2VuIGbDtnIgaWNrZS10b21tYSBwYXJ0aXRpb25lci4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDc2Cittc2dpZCAiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gOSBhcyB2b2x1bWUgaGVhZGVyICgwKSwgYW5kIHBhcnRpdGlvbiAxMSBhcyBlbnRpcmUgdm9sdW1lICg2KSwgYXMgSVJJWCBleHBlY3RzIGl0LiIKK21zZ3N0ciAiw5Z2ZXJ2w6RnIGF0dCBsw6RtbmEgcGFydGl0aW9uIDkgc29tIHZvbHltaHV2dWQgKDApIG9jaCBwYXJ0aXRpb24gMTEgc29tIGhlbCB2b2x5bSAoNikgZWZ0ZXJzb20gSVJJWCBmw7ZydsOkbnRhciBzaWcgZGV0LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwODUKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwIGlzIG9mIHR5cGUgXCJTR0kgdm9saGRyXCIsIHRoZSBJUklYIHN5c3RlbSB3aWxsIHJlbHkgb24gaXQgdG8gcmV0cmlldmUgZnJvbSBpdHMgZGlyZWN0b3J5IHN0YW5kYWxvbmUgdG9vbHMgbGlrZSBzYXNoIGFuZCBmeC4gT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiBBcmUgeW91IHN1cmUgYWJvdXQgdGFnZ2luZyB0aGlzIHBhcnRpdGlvbiBkaWZmZXJlbnRseT8iCittc2dzdHIgIkRldCByZWtvbW1lbmRlcmFzIHZhcm10IGF0dCBwYXJ0aXRpb25lbiBww6UgcG9zaXRpb24gMCDDpHIgYXYgdHlwZW4g4oCdU0dJIHZvbGh2ZOKAnSwgSVJJWC1zeXN0ZW1ldCBrb21tZXIgYXR0IGbDtnJsaXRhIHNpZyBww6UgZGV0IGbDtnIgYXR0IGjDpG10YSBzasOkbHZzdMOkbmRpZ2EgdmVya3R5ZyBzb20gc2FzaCBvY2ggZnggZnLDpW4gZGVzcyBrYXRhbG9nLiBFbmRhc3QgZGVuIGZ1bGxzdMOkbmRpZ2EgZGlza3Nla3Rpb25lbiDigJ1TR0ktdm9seW3igJ0gZsOlciBsb3YgYXR0IGJyeXRhIG1vdCBkZXR0YS4gw4RyIGR1IHPDpGtlciBww6UgYXR0IGR1IHZpbGwgdGFnZ2EgZGVubmEgcGFydGl0aW9uIGFubm9ybHVuZGE/IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDAKK21zZ2lkICJVbmFzc2lnbmVkIgorbXNnc3RyICJPdGlsbGRlbGFkIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDIKK21zZ2lkICJTdW5PUyByb290IgorbXNnc3RyICJTdW5PUyByb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MworbXNnaWQgIlN1bk9TIHN3YXAiCittc2dzdHIgIlN1bk9TIHbDpHhsaW5nIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDQKK21zZ2lkICJTdW5PUyB1c3IiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ1Cittc2dpZCAiV2hvbGUgZGlzayIKK21zZ3N0ciAiSGVsYSBkaXNrZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NgorbXNnaWQgIlN1bk9TIHN0YW5kIgorbXNnc3RyICJTdW5PUyBzdGFuZCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ3Cittc2dpZCAiU3VuT1MgdmFyIgorbXNnc3RyICJTdW5PUyB2YXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0OAorbXNnaWQgIlN1bk9TIGhvbWUiCittc2dzdHIgIlN1bk9TIGhvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0OQorbXNnaWQgIlN1bk9TIGFsdCBzZWN0b3JzIgorbXNnc3RyICJTdW5PUyBhbHQgc2VrdG9yZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MAorbXNnaWQgIlN1bk9TIGNhY2hlZnMiCittc2dzdHIgIlN1bk9TIGNhY2hlZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MQorbXNnaWQgIlN1bk9TIHJlc2VydmVkIgorbXNnc3RyICJTdW5PUyByZXNlcnZlcmFkIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTM3Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiBQcm9iYWJseSB5b3UnbGwgaGF2ZSB0byBzZXQgYWxsIHRoZSB2YWx1ZXMsIGUuZy4gaGVhZHMsIHNlY3RvcnMsIGN5bGluZGVycyBhbmQgcGFydGl0aW9ucyBvciBmb3JjZSBhIGZyZXNoIGxhYmVsIChzIGNvbW1hbmQgaW4gbWFpbiBtZW51KSIKK21zZ3N0ciAiRGV0ZWt0ZXJhZGUgZW4gc3VuLWRpc2tldGlrZXR0IG1lZCBmZWxha3RpZyBrb250cm9sbHN1bW1hLiBEdSBtw6VzdGUgdHJvbGlndHZpcyBzdMOkbGxhIGluIGFsbGEgdsOkcmRlbiwgdC5leC4gaHV2dWRlbiwgc2VrdG9yZXIsIGN5bGluZHJhciBvY2ggcGFydGl0aW9uZXIsIGVsbGVyIHR2aW5nYSBlbiBueSBldGlrZXR0IChrb21tYW5kb3QgcyBpIGh1dnVkbWVueW4pIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2ZXJzaW9uIFslZF0uIgorbXNnc3RyICJJZGVudGlmaWVyYWRlIHN1bi1kaXNrZXRpa2V0dCBtZWQgZmVsYWt0aWcgdmVyc2lvbiBbJWRdLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5zYW5pdHkgWzB4JTA4eF0uIgorbXNnc3RyICJJZGVudGlmaWVyYWRlIHN1bi1kaXNrZXRpa2V0dCBtZWQgZmVsYWt0aWcgdnRvYy5zYW5pdHkgWzB4JTA4eF0uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLm5wYXJ0cyBbJXVdLiIKK21zZ3N0ciAiSWRlbnRpZmllcmFkZSBzdW4tZGlza2V0aWtldHQgbWVkIGZlbGFrdGlnIHZ0b2MubnBhcnRzIFsldV0uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTY1Cittc2dpZCAiV2FybmluZzogV3JvbmcgdmFsdWVzIG5lZWQgdG8gYmUgZml4ZWQgdXAgYW5kIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkiCittc2dzdHIgIlZhcm5pbmc6IEZlbGFrdGlnYSB2w6RyZGVuIGJlaMO2dmVyIHLDpHR0YXMgdGlsbCBvY2gga29tbWVyIGF0dCBrb3JyaWdlcmFzIGF2IHcoc2tyaXYpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTkyCittc2dpZCAiSGVhZHMiCittc2dzdHIgIkh1dnVkZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTQKK21zZ2lkICJTZWN0b3JzL3RyYWNrIgorbXNnc3RyICJTZWt0b3Jlci9zcMOlciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjI5NworbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU3VuIGRpc2tsYWJlbC4iCittc2dzdHIgIlNrYXBhZGUgZW4gbnkgU3VuLWRpc2tldGlrZXR0LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZG9lc24ndCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJQYXJ0aXRpb24gJXUgc2x1dGFyIGludGUgcMOlIGrDpG1uIGN5bGluZGVyZ3LDpG5zLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzNQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBvdGhlcnMgaW4gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIlBhcnRpdGlvbiAldSDDtnZlcmxhcHBhciBtZWQgYW5kcmEgcMOlIHNla3RvcmVybmEgJXUtJXUuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzIDAtJXUuIgorbXNnc3RyICJPYW52w6RudCBtZWxsYW5ydW0gLSBzZWt0b3Jlcm5hIDAtJXUuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDY1IGxpYmZkaXNrL3NyYy9zdW4uYzo0NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICJPYW52w6RudCBtZWxsYW5ydW0gLSBzZWt0b3Jlcm5hICV1LSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUyOAorbXNnaWQgIk90aGVyIHBhcnRpdGlvbnMgYWxyZWFkeSBjb3ZlciB0aGUgd2hvbGUgZGlzay4gRGVsZXRlIHNvbWUvc2hyaW5rIHRoZW0gYmVmb3JlIHJldHJ5LiIKK21zZ3N0ciAiQW5kcmEgcGFydGl0aW9uZXIgdMOkY2tlciByZWRhbiBoZWxhIGjDpXJkZGlza2VuLiBUYSBib3J0IG7DpWdyYS9rcnltcCBkZW0gaW5uYW4gZHUgZsO2cnPDtmtlciBpZ2VuLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU5MworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWQgaXMgYWxyZWFkeSBhbGxvY2F0ZWQiCittc2dzdHIgIlNla3RvciAlZCDDpHIgcmVkYW4gYWxsb2tlcmFkIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NjAwCittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHRoaXJkIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIHdob2xlIGRpc2sgYW5kIGlzIG9mIHR5cGUgYFdob2xlIGRpc2snIgorbXNnc3RyICJEZXQgcmVrb21tZW5kZXJhcyB2YXJtdCBhdHQgZGVuIGVsZnRlIHBhcnRpdGlvbmVuIHTDpGNrZXIgaGVsYSBkaXNrZW4gb2NoIMOkciBhdiB0eXBlbiDigJ1IZWxhIGRpc2tlbuKAnSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYxMAorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbmluZyB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gJXUgdG8gJXUgdG8gYmUgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJKdXN0ZXJhciBkZW4gZsO2cnN0YSBzZWt0b3JuIGZyw6VuICV1IHRpbGwgJXUgZsO2ciBhdHQgbWF0Y2hhIGN5bGluZGVyZ3LDpG5zLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmVuJ3QgY292ZXJlZCB0aGUgd2hvbGUgZGlzayB3aXRoIHRoZSAzcmQgcGFydGl0aW9uLCBidXQgeW91ciB2YWx1ZVxuIgorIiVsdSAlcyBjb3ZlcnMgc29tZSBvdGhlciBwYXJ0aXRpb24uIFlvdXIgZW50cnkgaGFzIGJlZW4gY2hhbmdlZFxuIgorInRvICVsdSAlcyIKK21zZ3N0ciAiRHUgaGFyIGludGUgdMOkY2t0IGhlbGEgZGlza2VuIG1lZCBkZW4gdHJlZGplIHBhcnRpdGlvbmVuLCBtZW4gZGl0dCB2w6RyZGUgJWx1ICVzIHTDpGNrZXIgZW4gYW5uYW4gcGFydGl0aW9uLiBEaW4gaW5tYXRuaW5nIGhhciDDpG5kcmF0cyB0aWxsICVsdSAlcyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjcyNgorIywgYy1mb3JtYXQKK21zZ2lkICJJZiB5b3Ugd2FudCB0byBtYWludGFpbiBTdW5PUy9Tb2xhcmlzIGNvbXBhdGliaWxpdHksIGNvbnNpZGVyIGxlYXZpbmcgdGhpcyBwYXJ0aXRpb24gYXMgV2hvbGUgZGlzayAoNSksIHN0YXJ0aW5nIGF0IDAsIHdpdGggJXUgc2VjdG9ycyIKK21zZ3N0ciAiT20gZHUgdmlsbCBiZWjDpWxsYSBrb21wYXRpYmlsaXRldCBtZWQgU3VuT1MvU29sYXJpcyBiw7ZyIGR1IMO2dmVydsOkZ2EgYXR0IGzDpG1uYSBkZW5uYSBwYXJ0aXRpb24gc29tIEhlbGEgZGlza2VuICg1KSwgbWVkIGLDtnJqYW4gcMOlIDAsIG9jaCBtZWQgJXUgc2VrdG9yZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NTAKK21zZ2lkICJMYWJlbCBJRCIKK21zZ3N0ciAiRXRpa2V0dC1JRCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc1NQorbXNnaWQgIlZvbHVtZSBJRCIKK21zZ3N0ciAiVm9seW0tSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjUKK21zZ2lkICJBbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJBbHRlcm5hdGl2YSBjeWxpbmRyYXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo4NzEKK21zZ2lkICJOdW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiQW50YWwgYWx0ZXJuZXJhbmRlIGN5bGluZHJhciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg5NgorbXNnaWQgIkV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJFeHRyYSBzZWt0b3JlciBwZXIgY3lsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MjAKK21zZ2lkICJJbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiSW5mbMOkdG5pbmdzZmFrdG9yIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTQ0Cittc2dpZCAiUm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIlJvdGF0aW9uc2hhc3RpZ2hldCAodmFydiBwZXIgbWludXQpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTY4Cittc2dpZCAiTnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiQW50YWwgZnlzaXNrYSBjeWxpbmRyYXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDM3Cittc2dpZCAiIgorIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDMgYXMgV2hvbGUgZGlzayAoNSksXG4iCisiYXMgU3VuT1MvU29sYXJpcyBleHBlY3RzIGl0IGFuZCBldmVuIExpbnV4IGxpa2VzIGl0LlxuIgorbXNnc3RyICIiCisiRHUgYsO2ciDDtnZlcnbDpGdhIGF0dCBsw6RtbmEgcGFydGl0aW9uIDMgc29tIEhlbCBkaXNrICg1KSwgZMOlXG4iCisiU3VuT1MvU29sYXJpcyBmw7ZydsOkbnRhciBzaWcgZGV0IG9jaCDDpHZlbiBMaW51eCBnaWxsYXIgZGV0LlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA0OAorbXNnaWQgIiIKKyJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwXG4iCisiaXMgVUZTLCBFWFQyRlMgZmlsZXN5c3RlbSBvciBTdW5PUyBzd2FwLiBQdXR0aW5nIExpbnV4IHN3YXBcbiIKKyJ0aGVyZSBtYXkgZGVzdHJveSB5b3VyIHBhcnRpdGlvbiB0YWJsZSBhbmQgYm9vdGJsb2NrLlxuIgorIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB0YWcgdGhlIHBhcnRpdGlvbiBhcyBMaW51eCBzd2FwPyIKK21zZ3N0ciAiIgorIkRldCByZWtvbW1lbmRlcmFzIHZhcm10IGF0dCBwYXJ0aXRpb25lbiBww6UgYXZzdMOlbmQgMCDDpHJcbiIKKyJVRlMsIGZpbHN5c3RlbWV0IEVYVDJGUyBlbGxlciBTdW5PUy12w6R4bGluZ3N5dGEuIEF0dCBsw6RnZ2FcbiIKKyJMaW51eC12w6R4bGluZ3N5dGEgZMOkciBrYW4gZsO2cnN0w7ZyYSBkaW4gcGFydGl0aW9uc3RhYmVsbCBvY2ggc3RhcnRibG9jay5cbiIKKyLDhHIgZHUgc8Oka2VyIHDDpSBhdHQgZHUgdmlsbCB0YWdnYSBwYXJ0aXRpb25lbiBzb20gTGludXgtdsOkeGxpbmdzeXRhPyIKKworIzogbGliL3BhZ2VyLmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgIndhaXRwaWQgZmFpbGVkICglcykiCittc2dzdHIgIndhaXRwaWQoJXMpIG1pc3NseWNrYWRlcyIKKworIzogbGliL3BhdGguYzoyMDkgc3lzLXV0aWxzL2xzY3B1LmM6MTgxOAorbXNnaWQgImZhaWxlZCB0byBjYWxsb2NhdGUgY3B1IHNldCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIGF0dCBrw7ZyYSBjYWxsb2NhdGUgZsO2ciBjcHUtdXBwc8OkdHRuaW5nIgorCisjOiBsaWIvcGF0aC5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3QgJXMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIENQVS1saXN0YSAlcyIKKworIzogbGliL3BhdGguYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrICVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBDUFUtbWFzayAlcyIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MgorbXNnaWQgImNhbiBub3Qgb3BlbiBVTklYIHNvY2tldCIKK21zZ3N0ciAia2FuIGludGUgw7ZwcG5hIFVOSVgtdXR0YWciCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzgKK21zZ2lkICJjYW4gbm90IHNldCBvcHRpb24gZm9yIFVOSVggc29ja2V0IgorbXNnc3RyICJrYW4gaW50ZSBzdMOkbGxhIGluIGFsdGVybmF0aXYgZsO2ciBVTklYLXV0dGFnIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjkxCittc2dpZCAiY2FuIG5vdCBjb25uZWN0IG9uIFVOSVggc29ja2V0IgorbXNnc3RyICJrYW4gaW50ZSBhbnNsdXRhIHRpbGwgVU5JWC11dHRhZyIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHBseW1vdXRoIHJlcXVlc3QgJWMgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICJwbHltb3V0aC1iZWfDpHJhbiAlYyDDpHIgaW50ZSBpbXBsZW1lbnRlcmFkIgorCisjOiBsaWIvcmFuZHV0aWxzLmM6MTM2Cittc2dpZCAibGliYyBwc2V1ZG8tcmFuZG9tIGZ1bmN0aW9ucyIKK21zZ3N0ciAicHNldWRvc2x1bXBzdGFsc2Z1bmt0aW9uZXIgZnLDpW4gbGliYyIKKworIzogbGliL3N3YXBwcm9iZXIuYzoxNyBsaWIvc3dhcHByb2Jlci5jOjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gcHJvYmUgZGV2aWNlIgorbXNnc3RyICIlczoga2FuIGludGUgYXZzw7ZrYSBlbmhldCIKKworIzogbGliL3N3YXBwcm9iZXIuYzozMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYW1iaWd1b3VzIHByb2JpbmcgcmVzdWx0OyB1c2Ugd2lwZWZzKDgpIgorbXNnc3RyICIlczogb3R5ZGxpZ3QgYXZzw7ZrbmluZ3NyZXN1bHRhdDsgYW52w6RuZCB3aXBlZnMoOCkiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHZhbGlkIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICIlczogaW50ZSBlbiBnaWx0aWcgdsOkeGxpbmdzcGFydGl0aW9uIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bnN1cHBvcnRlZCBzd2FwIHZlcnNpb24gJyVzJyIKK21zZ3N0ciAiJXM6IHbDpHhsaW5nc3ZlcnNpb24g4oCdJXPigJ0gc3TDtmRzIGludGUiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5MCBsb2dpbi11dGlscy9jaHNoLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSBbPGFudsOkbmRhcm5hbW4+XVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTMKK21zZ2lkICJDaGFuZ2UgeW91ciBmaW5nZXIgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIsOEbmRyYSBkaW4gZmluZ2VyaW5mb3JtYXRpb24uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5NgorbXNnaWQgIiAtZiwgLS1mdWxsLW5hbWUgPGZ1bGwtbmFtZT4gIHJlYWwgbmFtZVxuIgorbXNnc3RyICIgLWYsIC0tZnVsbC1uYW1lIDxmdWxsc3TDpG5kaWd0IG5hbW4+IHJpa3RpZ3QgbmFtblxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTcKK21zZ2lkICIgLW8sIC0tb2ZmaWNlIDxvZmZpY2U+ICAgICAgICBvZmZpY2UgbnVtYmVyXG4iCittc2dzdHIgIiAtbywgLS1vZmZpY2UgPGtvbnRvcj4gICAgICAgIGtvbnRvcnNudW1tZXJcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk4Cittc2dpZCAiIC1wLCAtLW9mZmljZS1waG9uZSA8cGhvbmU+ICAgb2ZmaWNlIHBob25lIG51bWJlclxuIgorbXNnc3RyICIgLXAsIC0tb2ZmaWNlLXBob25lIDx0Zm5ucj4gICB0ZWxlZm9ubnVtbWVyIHRpbGwga29udG9yZXRcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk5Cittc2dpZCAiIC1oLCAtLWhvbWUtcGhvbmUgPHBob25lPiAgICAgaG9tZSBwaG9uZSBudW1iZXJcbiIKK21zZ3N0ciAiIC1oLCAtLWhvbWUtcGhvbmUgPHRlbGVmb24+ICAgbnVtbWVyIHRpbGwgaGVtdGVsZWZvblxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAxIGxvZ2luLXV0aWxzL2Noc2guYzo3OAorbXNnaWQgIiAtdSwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLXUsIC0taGVscCAgICAgdmlzYSBkZW5uYSBoasOkbHAgb2NoIGF2c2x1dGFcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICJmaWVsZCAlcyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiZsOkbHRldCAlcyDDpHIgZsO2ciBsw6VuZ3QiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMjEgbG9naW4tdXRpbHMvY2hzaC5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaGFzIGlsbGVnYWwgY2hhcmFjdGVycyIKK21zZ3N0ciAiJXM6IGhhciBvdGlsbMOldG5hIHRlY2tlbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1MCBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW4uZGVmcyBmb3JiaWRzIHNldHRpbmcgJXMiCittc2dzdHIgImxvZ2luLmRlZnMgZsO2cmJqdWRlciBpbnN0w6RsbG5pbmdlbiAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTU4IGxvZ2luLXV0aWxzL2NoZm4uYzozMDkKK21zZ2lkICJPZmZpY2UiCittc2dzdHIgIktvbnRvciIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2MiBsb2dpbi11dGlscy9jaGZuLmM6MTY0IGxvZ2luLXV0aWxzL2NoZm4uYzozMTEKK21zZ2lkICJPZmZpY2UgUGhvbmUiCittc2dzdHIgIktvbnRvcnN0ZWxlZm9uIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTY4IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzAgbG9naW4tdXRpbHMvY2hmbi5jOjMxMworbXNnaWQgIkhvbWUgUGhvbmUiCittc2dzdHIgIkhlbXRlbGVmb24iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyMzMKK21zZ2lkICJBYm9ydGVkLiIKK21zZ3N0ciAiQXZicsO2dHMuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGhhcyB1bmV4cGVjdGVkIHZhbHVlOiAlcyIKK21zZ3N0ciAiJXM6IENIRk5fUkVTVFJJQ1QgaGFyIG92w6RudGF0IHbDpHJkZTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgZG9lcyBub3QgYWxsb3cgYW55IGNoYW5nZXMiCittc2dzdHIgIiVzOiBDSEZOX1JFU1RSSUNUIHRpbGzDpXRlciBpbnRlIG7DpWdyYSDDpG5kcmluZ2FyIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLlxuIgorbXNnc3RyICJGaW5nZXJpbmZvcm1hdGlvbmVuIMOkbmRyYWRlcyAqSU5URSouIEbDtnJzw7ZrIGlnZW4gc2VuYXJlLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBjaGFuZ2VkLlxuIgorbXNnc3RyICJGaW5nZXJpbmZvcm1hdGlvbmVuIMOkbmRyYWRlcy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQwOCBsb2dpbi11dGlscy9jaHNoLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdSAodXNlciAlZCkgZG9uJ3QgZXhpc3QuIgorbXNnc3RyICJkdSAoYW52w6RuZGFyZSAlZCkgZmlubnMgaW50ZS4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MTQgbG9naW4tdXRpbHMvY2hzaC5jOjI0OCBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBcIiVzXCIgZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICJhbnbDpG5kYXJlbiDigJ0lc+KAnSBmaW5ucyBpbnRlLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQyMCBsb2dpbi11dGlscy9jaHNoLmM6MjU0Cittc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMiCittc2dzdHIgImthbiBlbmRhc3Qgw6RuZHJhIGxva2FsYSBwb3N0ZXIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBmaW5nZXIgaW5mbyBvZiAlcyIKK21zZ3N0ciAiJXMgdGlsbMOldHMgaW50ZSDDpG5kcmEgZmluZ2VyaW5mb3JtYXRpb25lbiBmw7ZyICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDM1IGxvZ2luLXV0aWxzL2Noc2guYzoyNzAKK21zZ2lkICJVbmtub3duIHVzZXIgY29udGV4dCIKK21zZ3N0ciAiT2vDpG50IGFudsOkbmRhcnNhbW1hbmhhbmciCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NDEgbG9naW4tdXRpbHMvY2hzaC5jOjI3NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAia2FuIGludGUgc3TDpGxsYSBpbiBzdGFuZGFyZGtvbnRleHQgZsO2ciAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MgorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgImRldCBrw7ZyYW5kZSBVSUQ6ZXQgc3TDpG1tZXIgaW50ZSDDtnZlcmVucyBtZWQgVUlEIGbDtnIgZGVuIGFudsOkbmRhcmUgdmkgZsO2cnPDtmtlciDDpG5kcmEsIMOkbmRyaW5nIG5la2FkZXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgZmluZ2VyIGluZm9ybWF0aW9uIGZvciAlcy5cbiIKK21zZ3N0ciAiw4RuZHJhciBmaW5nZXJpbmZvcm1hdGlvbiBmw7ZyICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBub3QgY2hhbmdlZC5cbiIKK21zZ3N0ciAiRmluZ2VyaW5mb3JtYXRpb25lbiDDpG5kcmFkZXMgaW50ZS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjcyCittc2dpZCAiQ2hhbmdlIHlvdXIgbG9naW4gc2hlbGwuXG4iCittc2dzdHIgIsOEbmRyYSBkaXR0IGlubG9nZ25pbmdzc2thbC5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc1Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gIHNwZWNpZnkgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiIC1zLCAtLXNoZWxsIDxza2FsPiAgIGFuZ2UgaW5sb2dnbmluZ3Nza2FsXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NgorbXNnaWQgIiAtbCwgLS1saXN0LXNoZWxscyAgICBwcmludCBsaXN0IG9mIHNoZWxscyBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdC1zaGVsbHMgICAgc2tyaXYgdXQgZW4gbGlzdGEgw7Z2ZXIgc2thbCBvY2ggYXZzbHV0YVxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MTAwCittc2dpZCAiTm8ga25vd24gc2hlbGxzLiIKK21zZ3N0ciAiSW5nYSBrw6RuZGEgc2thbC4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDAKK21zZ2lkICJzaGVsbCBtdXN0IGJlIGEgZnVsbCBwYXRoIG5hbWUiCittc2dzdHIgInNrYWxldCBtw6VzdGUgdmFyYSBlbiBmdWxsc3TDpG5kaWcgc8O2a3bDpGciCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICLigJ0lc+KAnSBmaW5ucyBpbnRlIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBpcyBub3QgZXhlY3V0YWJsZSIKK21zZ3N0ciAi4oCdJXPigJ0gw6RyIGludGUga8O2cmJhciIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy4iCittc2dzdHIgIlZhcm5pbmc6IOKAnSVz4oCdIGZpbm5zIGludGUgbWVkIGkgJXMuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjE0IGxvZ2luLXV0aWxzL2Noc2guYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLlxuIgorIlVzZSAlcyAtbCB0byBzZWUgbGlzdC4iCittc2dzdHIgIiIKKyLigJ0lc+KAnSBmaW5ucyBpbnRlIG1lZCBpICVzLlxuIgorIkFudsOkbmQgJXMgLWwgZsO2ciBhdHQgc2UgbGlzdGEuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgc2hlbGwgb2YgJXMiCittc2dzdHIgIiVzIHRpbGzDpXRzIGludGUgYnl0YSBza2FsZXQgZsO2ciAlcyIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI5NQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIkRldCBrw7ZyYW5kZSBVSUQ6ZXQgc3TDpG1tZXIgaW50ZSDDtnZlcmVucyBtZWQgVUlEIGbDtnIgZGVuIGFudsOkbmRhcmUgdmkgZsO2cnPDtmtlciBmw7Zyw6RuZHJhLCBza2FsYnl0ZSBuZWthZGVzIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzAwCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdXIgc2hlbGwgaXMgbm90IGluICVzLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICJkaXR0IHNrYWwgZmlubnMgaW50ZSBpICVzLCBza2FsYnl0ZSBuZWthZGVzIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIHNoZWxsIGZvciAlcy5cbiIKK21zZ3N0ciAiQnl0ZXIgc2thbCBmw7ZyICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzEyCittc2dpZCAiTmV3IHNoZWxsIgorbXNnc3RyICJOeXR0IHNrYWwiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjAKK21zZ2lkICJTaGVsbCBub3QgY2hhbmdlZC4iCittc2dzdHIgIlNrYWxldCBieXR0ZXMgaW50ZS4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjUKK21zZ2lkICJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiU2thbGV0IGJ5dHRlcyAqSU5URSouIEbDtnJzw7ZrIGlnZW4gc2VuYXJlLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyOQorbXNnaWQgIiIKKyJzZXRwd25hbSBmYWlsZWRcbiIKKyJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiIgorInNldHB3bmFtIG1pc3NseWNrYWRlc1xuIgorIlNrYWxldCBieXR0ZXMgKklOVEUqLiBGw7Zyc8O2ayBpZ2VuIHNlbmFyZS4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hlbGwgY2hhbmdlZC5cbiIKK21zZ3N0ciAiU2thbGV0IGJ5dHRlcy5cbiIKKworIzogbG9naW4tdXRpbHMvaXNsb2NhbC5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyA8cGFzc3dvcmRmaWxlPiA8dXNlcm5hbWU+Li4uXG4iCittc2dzdHIgIkFudsOkbmRuaW5nOiAlcyA8bMO2c2Vub3Jkc2ZpbD4gPGFudsOkbmRhcm5hbW4+4oCmXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoxNzQgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjIwIHN5cy11dGlscy9kbWVzZy5jOjExOTMKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHRpbWUgZm9ybWF0OiAlcyIKK21zZ3N0ciAib2vDpG50IHRpZHNmb3JtYXQ6ICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjgxIGxvZ2luLXV0aWxzL2xhc3QuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW50ZXJydXB0ZWQgJXMiCittc2dzdHIgIkF2YnJ1dGVuICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NDM5IGxvZ2luLXV0aWxzL2xhc3QuYzo0NTAKK21zZ2lkICJwcmVhbGxvY2F0aW9uIHNpemUgZXhjZWVkZWQiCittc2dzdHIgImbDtnJhbGxva2VyaW5nc3N0b3JsZWsgw7Z2ZXJza3JlZHMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPi4uLl0gWzx0dHk+Li4uXVxuIgorbXNnc3RyICIgJXMgW2ZsYWdnb3JdIFs8YW52w6RuZGFybmFtbj7igKZdIFs8dHR5PuKApl1cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3MgorbXNnaWQgIlNob3cgYSBsaXN0aW5nIG9mIGxhc3QgbG9nZ2VkIGluIHVzZXJzLlxuIgorbXNnc3RyICJWaXNhIGVuIGxpc3RhIMO2dmVyIHNlbmFzdCBpbmxvZ2dhZGUgYW52w6RuZGFyZS5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NQorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiAtPG51bW1lcj4gICAgICAgICAgICBodXIgbcOlbmdhIHJhZGVyIHNvbSBza2EgdmlzYXNcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NgorbXNnaWQgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBkaXNwbGF5IGhvc3RuYW1lcyBpbiB0aGUgbGFzdCBjb2x1bW5cbiIKK21zZ3N0ciAiIC1hLCAtLWhvc3RsYXN0ICAgICAgIHZpc2EgdsOkcmRuYW1uIGkgc2lzdGEga29sdW1uZW5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NworbXNnaWQgIiAtZCwgLS1kbnMgICAgICAgICAgICB0cmFuc2xhdGUgdGhlIElQIG51bWJlciBiYWNrIGludG8gYSBob3N0bmFtZVxuIgorbXNnc3RyICIgLWQsIC0tZG5zICAgICAgICAgICAgw7Z2ZXJzw6R0dCBJUC1udW1yZXQgdGlsbGJha2EgdGlsbCBldHQgdsOkcmRuYW1uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgIHVzZSBhIHNwZWNpZmljIGZpbGUgaW5zdGVhZCBvZiAlc1xuIgorbXNnc3RyICIgLWYsIC0tZmlsZSA8ZmlsPiAgICAgYW52w6RuZCBlbiBzcGVjaWZpayBmaWwgaXN0w6RsbGV0IGbDtnIgJXNcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MAorbXNnaWQgIiAtRiwgLS1mdWxsdGltZXMgICAgICBwcmludCBmdWxsIGxvZ2luIGFuZCBsb2dvdXQgdGltZXMgYW5kIGRhdGVzXG4iCittc2dzdHIgIiAtRiwgLS1mdWxsdGltZXMgICAgICBza3JpdiB1dCBmdWxsc3TDpG5kaWcgZGF0dW0gb2NoIHRpZCBmw7ZyIGlubG9nZ25pbmcgb2NoIHV0bG9nZ25pbmdcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MQorbXNnaWQgIiAtaSwgLS1pcCAgICAgICAgICAgICBkaXNwbGF5IElQIG51bWJlcnMgaW4gbnVtYmVycy1hbmQtZG90cyBub3RhdGlvblxuIgorbXNnc3RyICIgLWksIC0taXAgICAgICAgICAgICAgdmlzYSBJUC1udW1tZXIgbWVkIG51bW1lci1vY2gtcHVua3Qtbm90YXRpb25cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MgorbXNnaWQgIiAtbiwgLS1saW1pdCA8bnVtYmVyPiBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiAtbiwgLS1saW1pdCA8bnVtbWVyPiBodXIgbcOlbmdhIHJhZGVyIHNvbSBza2EgdmlzYXNcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MworbXNnaWQgIiAtUiwgLS1ub2hvc3RuYW1lICAgICBkb24ndCBkaXNwbGF5IHRoZSBob3N0bmFtZSBmaWVsZFxuIgorbXNnc3RyICIgLVIsIC0tbm9ob3N0bmFtZSAgICAgdmlzYSBpbnRlIGbDpGx0ZXQgZsO2ciB2w6RyZG5hbW5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NAorbXNnaWQgIiAtcywgLS1zaW5jZSA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyBzaW5jZSB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIC1zLCAtLXNpbmNlIDx0aWQ+ICAgIHZpc2EgcmFkZXIgc2VkYW4gZGVuIGFuZ2l2bmEgdGlkZW5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NQorbXNnaWQgIiAtdCwgLS11bnRpbCA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyB1bnRpbCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIC10LCAtLXVudGlsIDx0aWQ+ICAgIHZpc2EgcmFkZXIgZnJhbSB0aWxsIGRlbiBhbmdpdm5hIHRpZGVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODYKK21zZ2lkICIgLXAsIC0tcHJlc2VudCA8dGltZT4gZGlzcGxheSB3aG8gd2VyZSBwcmVzZW50IGF0IHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLXAsIC0tcHJlc2VudCA8dGlkPiAgdmlzYSB2ZW0gc29tIHZhciBuw6RydmFyYW5kZSB2aSBkZW4gYW5naXZuYSB0aWRlblxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg3Cittc2dpZCAiIC13LCAtLWZ1bGxuYW1lcyAgICAgIGRpc3BsYXkgZnVsbCB1c2VyIGFuZCBkb21haW4gbmFtZXNcbiIKK21zZ3N0ciAiIC13LCAtLWZ1bGxuYW1lcyAgICAgIHZpc2EgZnVsbHN0w6RuZGlnYSBhbnbDpG5kYXItIG9jaCBkb23DpG5uYW1uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODgKK21zZ2lkICIgLXgsIC0tc3lzdGVtICAgICAgICAgZGlzcGxheSBzeXN0ZW0gc2h1dGRvd24gZW50cmllcyBhbmQgcnVuIGxldmVsIGNoYW5nZXNcbiIKK21zZ3N0ciAiIC14LCAtLXN5c3RlbSAgICAgICAgIHZpc2EgcG9zdGVyIGbDtnIgc3lzdGVtbmVkc3TDpG5nbmluZyBvY2ggbsOkciBrw7Zybml2w6VuIMOkbmRyYXRzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODkKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcHMgaW4gdGhlIHNwZWNpZmllZCA8Zm9ybWF0PjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHZpc2EgdGlkc3N0w6RtcGxhciBpIGFuZ2l2ZXQgPGZvcm1hdD46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGltZXxzaG9ydHxmdWxsfGlzb1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6ODgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlcyBiZWdpbnMgJXMiCittc2dzdHIgIiIKKyJcbiIKKyIlcyBpbmxlZGVyICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTU2IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjQKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjgKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBudW1tZXIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NzcgbG9naW4tdXRpbHMvbGFzdC5jOjk4MiBsb2dpbi11dGlscy9sYXN0LmM6OTg3CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ4NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWUgdmFsdWUgXCIlc1wiIgorbXNnc3RyICJvZ2lsdGlndCB0aWRzdsOkcmRlIOKAnSVz4oCdIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6MjkgbG9naW4tdXRpbHMvbGlidXNlci5jOjMxCittc2dpZCAiQ291bGRuJ3QgZHJvcCBncm91cCBwcml2aWxlZ2VzIgorbXNnc3RyICJDb3VsZG4ndCBkcm9wIGdyb3VwIHByaXZpbGVnZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICJsaWJ1c2VyIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJXMuIgorbXNnc3RyICJsaWJ1c2VyIGluaXRpZXJpbmcgbWlzc2x5Y2thZGVzOiAlcy4iCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1MgorbXNnaWQgImNoYW5naW5nIHVzZXIgYXR0cmlidXRlIGZhaWxlZCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgw6RuZHJhIGFudsOkbmRhcmF0dHJpYnV0IgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIgorbXNnc3RyICJhbnbDpG5kYXJhdHRyaWJ1dCBpbnRlIMOkbmRyYXQ6ICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAldSBpcyA2MC4KKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTgwCisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWVkIG91dCBhZnRlciAldSBzZWNvbmRzIgorbXNnc3RyICJ0aWR1dGzDtnNhcmUgZWZ0ZXIgJXUgc2VrdW5kZXIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiBjYW4ndCByZW9wZW4gdHR5OiAlbSIKK21zZ3N0ciAiw5ZERVNESUdFUlQ6IGthbiBpbnRlIMOldGVyw7ZwcG5hIHR0eTogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlcyBpcyBub3QgYSB0ZXJtaW5hbCIKK21zZ3N0ciAiRkFUQUxUOiAlcyDDpHIgaW50ZSBlbiB0ZXJtaW5hbCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gKCVzLCAlbHUsICVsdSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2hvd24gKCVzLCAlbHUsICVsdSkgbWlzc2x5Y2thZGVzOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2htb2QgKCVzLCAldSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2htb2QgKCVzLCAldSkgbWlzc2x5Y2thZGVzOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozNzUKK21zZ2lkICJGQVRBTDogYmFkIHR0eSIKK21zZ3N0ciAiw5ZERVNESUdFUlQ6IGZlbGFrdGlnIHR0eSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzOiBjaGFuZ2UgcGVybWlzc2lvbnMgZmFpbGVkOiAlbSIKK21zZ3N0ciAiRkFUQUxUOiAlczogYXR0IMOkbmRyYSByw6R0dGlnaGV0ZXIgbWlzc2x5Y2thZGVzOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBsb2dpbjogJS4qcyAiCittc2dzdHIgIlNlbmFzdGUgaW5sb2dnbmluZzogJS4qcyAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTMxCisjLCBjLWZvcm1hdAorbXNnaWQgImZyb20gJS4qc1xuIgorbXNnc3RyICJmcsOlbiAlLipzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9uICUuKnNcbiIKK21zZ3N0ciAicMOlICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1NTIKK21zZ2lkICJ3cml0ZSBsYXN0bG9nIGZhaWxlZCIKK21zZ3N0ciAic2tyaXZuaW5nIGF2IGxhc3Rsb2cgbWlzc2x5Y2thZGVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJESUFMVVAgQVQgJXMgQlkgJXMiCittc2dzdHIgIlVQUFJJTkdOSU5HIFDDhSAlcyBBViAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyBGUk9NICVzIgorbXNnc3RyICJST09ULUlOTE9HR05JTkcgUMOFICVzIEZSw4VOICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2MAorIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIgorbXNnc3RyICJST09ULUlOTE9HR05JTkcgUMOFICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorbXNnc3RyICJJTkxPR0dOSU5HIFDDhSAlcyBBViAlcyBGUsOFTiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTE9HSU4gT04gJXMgQlkgJXMiCittc2dzdHIgIklOTE9HR05JTkcgUMOFICVzIEFWICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjcxOQorbXNnaWQgImxvZ2luOiAiCittc2dzdHIgImFudsOkbmRhcm5hbW46ICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUEFNIGZhaWx1cmUsIGFib3J0aW5nOiAlcyIKK21zZ3N0ciAiUEFNLWZlbCwgYXZicnl0ZXI6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc0NgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZG4ndCBpbml0aWFsaXplIFBBTTogJXMiCittc2dzdHIgIkt1bmRlIGludGUgaW5pdGllcmEgUEFNOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOICV1IEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiTUlTU0xZQ0tBRCBJTkxPR0dOSU5HICV1IEZSw4VOICVzIEbDllIgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgyNSBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTG9naW4gaW5jb3JyZWN0XG4iCisiXG4iCittc2dzdHIgIiIKKyJGZWxha3RpZyBpbmxvZ2duaW5nXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRPTyBNQU5ZIExPR0lOIFRSSUVTICgldSkgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJGw5ZSIE3DhU5HQSBJTkxPR0dOSU5HU0bDllJTw5ZLICgldSkgRlLDhU4gJXMgRsOWUiAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiBTRVNTSU9OIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiTUlTU0xZQ0tBRCBJTkxPR0dOSU5HU1NFU1NJT04gRlLDhU4gJXMgRsOWUiAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKK21zZ3N0ciAiIgorIlxuIgorIkZlbGFrdGlnIGlubG9nZ25pbmdcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4ODIgbG9naW4tdXRpbHMvbG9naW4uYzoxMjMyIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI1NQorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHNldHVwIHByb2JsZW0sIGFib3J0LiIKK21zZ3N0ciAiIgorIlxuIgorIlByb2JsZW0gbWVkIHVwcHLDpHR0YW5kZXQgYXYgc2Vzc2lvbmVuLCBhdmJyeXRlci4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODgzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTEwgdXNlciBuYW1lIGluICVzOiVkLiBBYm9ydC4iCittc2dzdHIgIkFudsOkbmRhcm5hbW5ldCDDpHIgTlVMTCBpICVzOiVkLiBBdmJyeXRlci4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAyMAorIywgYy1mb3JtYXQKK21zZ2lkICJUSU9DU0NUVFkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiVElPQ1NDVFRZIG1pc3NseWNrYWRlczogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbjogLWggaXMgZm9yIHN1cGVydXNlciBvbmx5XG4iCittc2dzdHIgImxvZ2luOiAtaCBlbmRhc3QgdGlsbCBmw7ZyIHN1cGVyYW52w6RuZGFyZVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6IGxvZ2luIFstcF0gWy1oIDxob3N0Pl0gWy1IXSBbWy1mXSA8dXNlcm5hbWU+XVxuIgorbXNnc3RyICJBbnbDpG5kbmluZzogbG9naW4gWy1wXSBbLWggPHbDpHJkPl0gWy1IXSBbWy1mXSA8YW52w6RuZGFybmFtbj5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE5MQorbXNnaWQgIkJlZ2luIGEgc2Vzc2lvbiBvbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICJCw7ZyamEgZW4gc2Vzc2lvbiBww6Ugc3lzdGVtZXQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTIzMworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHVzZXIgbmFtZSBcIiVzXCIgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiT2dpbHRpZ3QgYW52w6RuZGFybmFtbiDigJ0lc+KAnSBpICVzOiVkLiBBdmJyeXRlci4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJncm91cHMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiZ3J1cHBpbml0aWVyaW5nIG1pc3NseWNrYWRlczogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI3OQorbXNnaWQgInNldGdpZCgpIGZhaWxlZCIKK21zZ3N0ciAic2V0Z2lkKCkgbWlzc2x5Y2thZGVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbmV3IG1haWwuXG4iCittc2dzdHIgIkR1IGhhciBueSBwb3N0LlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbWFpbC5cbiIKK21zZ3N0ciAiRHUgaGFyIHBvc3QuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMyNQorbXNnaWQgInNldHVpZCgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgbWlzc2x5Y2thZGVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzEgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2hhbmdlIGRpcmVjdG9yeSBmYWlsZWQiCittc2dzdHIgIiVzOiDDpG5kcmluZyBhdiBrYXRhbG9nIG1pc3NseWNrYWRlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzM4IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9nZ2luZyBpbiB3aXRoIGhvbWUgPSBcIi9cIi5cbiIKK21zZ3N0ciAiTG9nZ2FyIGluIG1lZCBoZW1rYXRhbG9nID0g4oCdL+KAnS5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzY3Cittc2dpZCAiY291bGRuJ3QgZXhlYyBzaGVsbCBzY3JpcHQiCittc2dzdHIgImt1bmRlIGludGUga8O2cmEgc2thbHNrcmlwdCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzY5Cittc2dpZCAibm8gc2hlbGwiCittc2dzdHIgImluZ2V0IHNrYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgY29udGFpbnMgaW52YWxpZCBudW1lcmljYWwgdmFsdWU6ICVzIgorbXNnc3RyICIlczogJXMgaW5uZWjDpWxsZXIgZXR0IG9naWx0aWd0IG51bWVyaXNrdCB2w6RyZGU6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzozNzUKK21zZ2lkICJodXNoIGxvZ2luIHN0YXR1czogcmVzdG9yZSBvcmlnaW5hbCBJRHMgZmFpbGVkIgorbXNnc3RyICJpbmxvZ2duaW5nc3N0YXR1cyBmw7ZyIGh1c2g6IMOldGVyc3TDpGxsbmluZyBhdiBvcmlnaW5hbC1JRDpuIG1pc3NseWNrYWRlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDggc3lzLXV0aWxzL2xzY3B1LmM6MTU0MCBzeXMtdXRpbHMvbHNjcHUuYzoxNTUwCittc2dpZCAibm8iCittc2dzdHIgIm5laiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcgbWlzYy11dGlscy9sc2Jsay5jOjE4MQorbXNnaWQgInVzZXIgbmFtZSIKK21zZ3N0ciAiYW52w6RuZGFybmFtbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcKK21zZ2lkICJVc2VybmFtZSIKK21zZ3N0ciAiQW52w6RuZGFybmFtbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTggc3lzLXV0aWxzL3JlbmljZS5jOjU0Cittc2dpZCAidXNlciBJRCIKK21zZ3N0ciAiYW52w6RuZGFyLUlEIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgInBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAibMO2c2Vub3JkIGtyw6R2cyBpbnRlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgIlBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAiTMO2c2Vub3JkIGtyw6R2cyBpbnRlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorbXNnaWQgImxvZ2luIGJ5IHBhc3N3b3JkIGRpc2FibGVkIgorbXNnc3RyICJpbmxvZ2duaW5nIHZpYSBsw7ZzZW5vcmQgaW5ha3RpdmVyYWQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAiTG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIklubG9nZ25pbmcgdmlhIGzDtnNlbm9yZCBpbmFrdGl2ZXJhZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKK21zZ2lkICJwYXNzd29yZCBkZWZpbmVkLCBidXQgbG9ja2VkIgorbXNnc3RyICJsw7ZzZW5vcmQgZGVmaW5pZXJhdCwgbWVuIGzDpXN0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgIlBhc3N3b3JkIGlzIGxvY2tlZCIKK21zZ3N0ciAiTMO2c2Vub3JkZXQgw6RyIGzDpXN0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorbXNnaWQgImxvZyBpbiBkaXNhYmxlZCBieSBub2xvZ2luKDgpIG9yIHBhbV9ub2xvZ2luKDgpIgorbXNnc3RyICJpbmxvZ2duaW5nIGluYWt0aXZlcmFkIGF2IG5vbG9naW4oOCkgZWxsZXIgcGFtX25vbG9naW4oOCkiCisKKyMgc2VicmFzOiBpbmxvZ2duaW5nIGVsbGVyIGFudsOkbmRhcm5hbW4/CisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorbXNnaWQgIk5vIGxvZ2luIgorbXNnc3RyICJJbmdlbiBpbmxvZ2duaW5nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgInByaW1hcnkgZ3JvdXAgbmFtZSIKK21zZ3N0ciAibmFtbiBmw7ZyIHByaW3DpHJncnVwcCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJQcmltYXJ5IGdyb3VwIgorbXNnc3RyICJQcmltw6RyZ3J1cHAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI0Cittc2dpZCAicHJpbWFyeSBncm91cCBJRCIKK21zZ3N0ciAiSUQgZsO2ciBwcmltw6RyZ3J1cHAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBuYW1lcyIKK21zZ3N0ciAibmFtbiBmw7ZyIHRpbGzDpGdnc2dydXBwZXIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgIlRpbGzDpGdnc2dydXBwZXIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIklEOm4gZsO2ciB0aWxsw6RnZ3NncnVwcGVyIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICJJRDpuIGbDtnIgdGlsbMOkZ2dzZ3J1cHBlciIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKK21zZ2lkICJob21lIGRpcmVjdG9yeSIKK21zZ3N0ciAiaGVta2F0YWxvZyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKK21zZ2lkICJIb21lIGRpcmVjdG9yeSIKK21zZ3N0ciAiSGVta2F0YWxvZyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKK21zZ2lkICJsb2dpbiBzaGVsbCIKK21zZ3N0ciAiaW5sb2dnbmluZ3Nza2FsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorbXNnaWQgIlNoZWxsIgorbXNnc3RyICJTa2FsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgImZ1bGwgdXNlciBuYW1lIgorbXNnc3RyICJmdWxsc3TDpG5kaWd0IGFudsOkbmRhcm5hbW4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiR2Vjb3MgZmllbGQiCittc2dzdHIgIkdlY29zLWbDpGx0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorbXNnaWQgImRhdGUgb2YgbGFzdCBsb2dpbiIKK21zZ3N0ciAiZGF0dW0gZsO2ciBzZW5hc3RlIGlubG9nZ25pbmciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiTGFzdCBsb2dpbiIKK21zZ3N0ciAiU2VuYXN0ZSBpbmxvZ2duaW5nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgImxhc3QgdHR5IHVzZWQiCittc2dzdHIgInNlbmFzdGUgYW52w6RuZGEgdHR5IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgIkxhc3QgdGVybWluYWwiCittc2dzdHIgIlNlbmFzdGUgdGVybWluYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiaG9zdG5hbWUgZHVyaW5nIHRoZSBsYXN0IHNlc3Npb24iCittc2dzdHIgInbDpHJkbmFtbiB1bmRlciBzZW5hc3RlIHNlc3Npb24iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiTGFzdCBob3N0bmFtZSIKK21zZ3N0ciAiU2VuYXN0ZSB2w6RyZG5hbW4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiZGF0ZSBvZiBsYXN0IGZhaWxlZCBsb2dpbiIKK21zZ3N0ciAiZGF0dW0gZsO2ciBzZW5hc3RlIG1pc3NseWNrYWRlIGlubG9nZ25pbmciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiRmFpbGVkIGxvZ2luIgorbXNnc3RyICJJbmxvZ2duaW5nIG1pc3NseWNrYWRlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKK21zZ2lkICJ3aGVyZSBkaWQgdGhlIGxvZ2luIGZhaWw/IgorbXNnc3RyICJ2YXIgbWlzc2x5Y2thZGVzIGlubG9nZ25pbmdlbj8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0Cittc2dpZCAiRmFpbGVkIGxvZ2luIHRlcm1pbmFsIgorbXNnc3RyICJNaXNzbHlja2FkZXMgYXR0IGxvZ2dhIGluIHZpYSB0ZXJtaW5hbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJ1c2VyJ3MgaHVzaCBzZXR0aW5ncyIKK21zZ3N0ciAiYW52w6RuZGFyZW5zIGh1c2gtaW5zdMOkbGxuaW5nYXIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAiSHVzaGVkIgorbXNnc3RyICJIdXNoOmFkIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgImRheXMgdXNlciBpcyB3YXJuZWQgb2YgcGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAiZGFnYXIgdW5kZXIgdmlsa2EgYW52w6RuZGFyZW4gdmFybmFzIG9tIGzDtnNlbm9yZHN1dGfDpW5nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24gd2FybiBpbnRlcnZhbCIKK21zZ3N0ciAiVmFybmluZ3NpbnRlcnZhbGwgZsO2ciBsw7ZzZW5vcmRzdXRnw6VuZyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzcKK21zZ2lkICJwYXNzd29yZCBleHBpcmF0aW9uIGRhdGUiCittc2dzdHIgImRhdHVtIGbDtnIgbMO2c2Vub3Jkc3V0Z8OlbmciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAiTMO2c2Vub3Jkc3V0Z8OlbmciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4Cittc2dpZCAiZGF0ZSBvZiBsYXN0IHBhc3N3b3JkIGNoYW5nZSIKK21zZ3N0ciAiZGF0dW0gZsO2ciBzZW5hc3RlIGzDtnNlbm9yZHPDpG5kcmluZyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJQYXNzd29yZCBjaGFuZ2VkIgorbXNnc3RyICJMw7ZzZW5vcmRldCDDpG5kcmF0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIm51bWJlciBvZiBkYXlzIHJlcXVpcmVkIGJldHdlZW4gY2hhbmdlcyIKK21zZ3N0ciAiYW50YWwgZGFnYXIgc29tIGtyw6R2cyBtZWxsYW4gw6RuZHJpbmdhciIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzkKK21zZ2lkICJNaW5pbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICJNaW5zdGEgw6RuZHJpbmdzdGlkIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZGF5cyBhIHBhc3N3b3JkIG1heSByZW1haW4gdW5jaGFuZ2VkIgorbXNnc3RyICJtYXhpbWFsdCBhbnRhbCBkYWdhciBldHQgbMO2c2Vub3JkIGbDpXIgbG92IGF0dCB2YXJhIG9mw7Zyw6RuZHJhdCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKK21zZ2lkICJNYXhpbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICJNYXhpbWFsIMOkbmRyaW5nc3RpZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJ0aGUgdXNlcidzIHNlY3VyaXR5IGNvbnRleHQiCittc2dzdHIgImFudsOkbmRhcmVucyBzw6RrZXJoZXRza29udGV4dCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJTZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIlNlbGludXgta29udGV4dCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIHJ1biBieSB0aGUgdXNlciIKK21zZ3N0ciAiYW50YWwgcHJvY2Vzc2VyIHNvbSBhbnbDpG5kYXJlbiBrw7ZyIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorbXNnaWQgIlJ1bm5pbmcgcHJvY2Vzc2VzIgorbXNnc3RyICJLw7ZyYW5kZSBwcm9jZXNzZXIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6Mjg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNiBtaXNjLXV0aWxzL2xzYmxrLmM6MjMxCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgY29sdW1ucyBzcGVjaWZpZWQsIHRoZSBsaW1pdCBpcyAlenUgY29sdW1ucyIKK21zZ3N0ciAiZsO2ciBtw6VuZ2Ega29sdW1uZXIgYW5naXZuYSwgYmVncsOkbnNuaW5nZW4gw6RyICV6dSBrb2x1bW5lciIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDMgc3lzLXV0aWxzL2xzaXBjLmM6NDU2Cittc2dpZCAidW5zdXBwb3J0ZWQgdGltZSB0eXBlIgorbXNnc3RyICJ0aWRzdHlwIHN0w7ZkcyBlaiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDcKK21zZ2lkICJmYWlsZWQgdG8gY29tcG9zZSB0aW1lIHN0cmluZyIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQga29tcG9uZXJhIHRpZHNzdHLDpG5nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjY0OAorbXNnaWQgImZhaWxlZCB0byBnZXQgc3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGjDpG10YSB0aWxsw6RnZ3NncnVwcGVyIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzEKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5rbm93biBjb2x1bW4iCittc2dzdHIgImludGVybnQgZmVsOiBva8OkbmQga29sdW1uIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzUgc3lzLXV0aWxzL2xzaXBjLmM6NTAzIHN5cy11dGlscy9sc2lwYy5jOjYyNQorIzogc3lzLXV0aWxzL2xzaXBjLmM6NjgwIHN5cy11dGlscy9sc2lwYy5jOjgzOCBzeXMtdXRpbHMvbHNpcGMuYzoxMDM2Cittc2dpZCAiZmFpbGVkIHRvIHNldCBkYXRhIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBzdMOkbGxhIGluIGRhdGEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTE2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTGFzdCBsb2dzOlxuIgorbXNnc3RyICIiCisiXG4iCisiU2VuYXN0ZSBsb2dnYXI6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyOCBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMSBtaXNjLXV0aWxzL21jb29raWUuYzo4MiBtaXNjLXV0aWxzL3V1aWRkLmM6NzAKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI1IHN5cy11dGlscy9kbWVzZy5jOjI2NCBzeXMtdXRpbHMvaXBjbWsuYzo2NgorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2MCBzeXMtdXRpbHMvbHNpcGMuYzoyNzcgc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA0CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjk1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MCB0ZXh0LXV0aWxzL2xpbmUuYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl1cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMxCittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBrbm93biB1c2VycyBpbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICJWaXNhIGluZm9ybWF0aW9uIG9tIGvDpG5kYSBhbnbDpG5kYXJlIHDDpSBzeXN0ZW1ldC5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM0Cittc2dpZCAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBkaXNwbGF5IGluZm8gYWJvdXQgcGFzc3dvcmRzIGV4cGlyYXRpb25cbiIKK21zZ3N0ciAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICB2aXNhIGluZm9ybWF0aW9uIG9tIGzDtnNlbm9yZHN1dGfDpW5nXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNQorbXNnaWQgIiAtYywgLS1jb2xvbi1zZXBhcmF0ZSAgICAgZGlzcGxheSBkYXRhIGluIGEgZm9ybWF0IHNpbWlsYXIgdG8gL2V0Yy9wYXNzd2RcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICB2aXNhIGRhdGEgaSBldHQgZm9ybWF0IGxpa25hbmRlIGRldCBpIC9ldGMvcGFzc3dkXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNiBzeXMtdXRpbHMvbHNpcGMuYzoyOTYKK21zZ2lkICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGRpc3BsYXkgaW4gYW4gZXhwb3J0LWFibGUgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIHZpc2EgZGF0YSBpIGV0dCBleHBvcnRlcmJhcnQgdXRtYXRuaW5nc2Zvcm1hdFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzcKK21zZ2lkICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIGRpc3BsYXkgZGF0YSBhYm91dCB0aGUgdXNlcnMnIGxhc3QgZmFpbGVkIGxvZ2luc1xuIgorbXNnc3RyICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIHZpc2EgZGF0YSBvbSBhbnbDpG5kYXJuYXMgc2VuYXN0ZSBtaXNzbHlja2FkZSBpbmxvZ2duaW5nYXJcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM4Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGdyb3Vwc1xuIgorbXNnc3RyICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgIHZpc2EgaW5mb3JtYXRpb24gb20gZ3J1cHBlclxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzkKK21zZ2lkICIgLWcsIC0tZ3JvdXBzPTxncm91cHM+ICAgIGRpc3BsYXkgdXNlcnMgYmVsb25naW5nIHRvIGEgZ3JvdXAgaW4gPGdyb3Vwcz5cbiIKK21zZ3N0ciAiIC1nLCAtLWdyb3Vwcz08Z3J1cHBlcj4gICB2aXNhIGFudsOkbmRhcmUgc29tIGjDtnIgdGlsbCBlbiBncnVwcCBpIDxncnVwcGVyPlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDAKK21zZ2lkICIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIHNob3cgaW5mbyBhYm91dCB0aGUgdXNlcnMnIGxhc3QgbG9naW4gc2Vzc2lvbnNcbiIKK21zZ3N0ciAiIC1MLCAtLWxhc3QgICAgICAgICAgICAgICB2aXNhIGluZm9ybWF0aW9uIG9tIGFudsOkbmRhcmVucyBzZW5hc3RlIGlubG9nZ25pbmdzc2Vzc2lvbmVyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MQorbXNnaWQgIiAtbCwgLS1sb2dpbnM9PGxvZ2lucz4gICAgZGlzcGxheSBvbmx5IHVzZXJzIGZyb20gPGxvZ2lucz5cbiIKK21zZ3N0ciAiIC1sLCAtLWxvZ2lucz08aW5sb2dnbmluZ2FyPiB2aXNhIGVuZGFzdCBhbnbDpG5kYXJlIGZyw6VuIDxpbmxvZ2duaW5nYXI+XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MiBzeXMtdXRpbHMvbHNpcGMuYzoyOTgKK21zZ2lkICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGRpc3BsYXkgZWFjaCBwaWVjZSBvZiBpbmZvcm1hdGlvbiBvbiBhIG5ldyBsaW5lXG4iCittc2dzdHIgIiAtbiwgLS1uZXdsaW5lICAgICAgICAgICAgdmlzYSB2YXJqZSBiaXQgYXYgaW5mb3JtYXRpb24gcMOlIGVuIG55IHJhZFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDMgc3lzLXV0aWxzL2xzaXBjLmM6MjkxCittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIHNrcml2IGludGUgdXQgcnVicmlrZXJcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ0IHN5cy11dGlscy9sc2lwYy5jOjI5MgorbXNnaWQgIiAgICAgLS1ub3RydW5jYXRlICAgICAgICAgZG9uJ3QgdHJ1bmNhdGUgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgLS1ub3RydW5jYXRlICAgICAgICAgdHJ1bmtlcmEgaW50ZSB1dG1hdG5pbmdcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMAorbXNnaWQgIiAtbywgLS1vdXRwdXRbPTxsaXN0Pl0gICAgZGVmaW5lIHRoZSBjb2x1bW5zIHRvIG91dHB1dFxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0Wz08bGlzdGE+XSAgIGRlZmluaWVyYSBrb2x1bW5lcm5hIHNvbSBza2EgbWF0YXMgdXRcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ2Cittc2dpZCAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gbG9naW4gYnkgcGFzc3dvcmQuXG4iCittc2dzdHIgIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAgdmlzYSBpbmZvcm1hdGlvbiByZWxhdGVyYWQgdGlsbCBpbmxvZ2duaW5nZW4gdmlhIGzDtnNlbm9yZC5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ3IHN5cy11dGlscy9sc2lwYy5jOjMwMgorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgZGlzcGxheSBpbiByYXcgbW9kZVxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIHZpc2EgaSByw6Vsw6RnZVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDgKK21zZ2lkICIgLXMsIC0tc3lzdGVtLWFjY3MgICAgICAgIGRpc3BsYXkgc3lzdGVtIGFjY291bnRzXG4iCittc2dzdHIgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAgdmlzYSBzeXN0ZW1rb250b25cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ5IHN5cy11dGlscy9sc2lwYy5jOjI5MworbXNnaWQgIiAgICAgLS10aW1lLWZvcm1hdD08dHlwZT4gZGlzcGxheSBkYXRlcyBpbiBzaG9ydCwgZnVsbCBvciBpc28gZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS10aW1lLWZvcm1hdD08dHlwPiAgdmlzYSBkYXR1bSBpIGZvcm1hdGV0IHNob3J0LCBmdWxsIGVsbGVyIGlzb1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTAKK21zZ2lkICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIGRpc3BsYXkgdXNlciBhY2NvdW50c1xuIgorbXNnc3RyICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIHZpc2EgYW52w6RuZGFya29udG9uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MQorbXNnaWQgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgZGlzcGxheSBTRUxpbnV4IGNvbnRleHRzXG4iCittc2dzdHIgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgdmlzYSBTRUxpbnV4LWtvbnRleHRlclxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTIKK21zZ2lkICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgIGRlbGltaXQgdXNlciBlbnRyaWVzIHdpdGggYSBudWwgY2hhcmFjdGVyXG4iCittc2dzdHIgIiAteiwgLS1wcmludDAgICAgICAgICAgICAgc2VwYXJlcmEgYW52w6RuZGFycG9zdGVyIG1lZCBldHQgbnVsLXRlY2tlblxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTMKK21zZ2lkICIgICAgIC0td3RtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3Igd3RtcFxuIgorbXNnc3RyICIgICAgIC0td3RtcC1maWxlIDxzw7ZrdsOkZz4gc3TDpGxsIGluIGVuIGFsdGVybmF0aXYgc8O2a3bDpGcgZsO2ciB3dG1wXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1NAorbXNnaWQgIiAgICAgLS1idG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciBidG1wXG4iCittc2dzdHIgIiAgICAgLS1idG1wLWZpbGUgPHPDtmt2w6RnPiBzdMOkbGwgaW4gZW4gYWx0ZXJuYXRpdiBzw7ZrdsOkZyBmw7ZyIGJ0bXBcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjU5IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDcgc3lzLXV0aWxzL2xzY3B1LmM6MTk3OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJUaWxsZ8OkbmdsaWdhIGtvbHVtbmVyOlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NDIKK21zZ2lkICJmYWlsZWQgdG8gcmVxdWVzdCBzZWxpbnV4IHN0YXRlIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBiZWfDpHJhbiBzZWxpbnV4LXRpbGxzdMOlbmQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ1NiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NjAKK21zZ2lkICJPbmx5IG9uZSB1c2VyIG1heSBiZSBzcGVjaWZpZWQuIFVzZSAtbCBmb3IgbXVsdGlwbGUgdXNlcnMuIgorbXNnc3RyICJCYXJhIGVuIGFudsOkbmRhcmUgZsOlciBhbmdlcy4gQW52w6RuZCAtbCBmw7ZyIG11bHRpcGxhIGFudsOkbmRhcmUuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo0OSBsb2dpbi11dGlscy9uZXdncnAuYzo1NQorbXNnaWQgImNvdWxkIG5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAia2FuIGludGUgc3TDpGxsYSBpbiB0ZXJtaW5hbGF0dHJpYnV0IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo1NworbXNnaWQgImdldGxpbmUoKSBmYWlsZWQiCittc2dzdHIgImdldGxpbmUoKSBtaXNzbHlja2FkZXMiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE0OAorbXNnaWQgIlBhc3N3b3JkOiAiCittc2dzdHIgIkzDtnNlbm9yZDogIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNTQgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMDUKK21zZ2lkICJjcnlwdCBmYWlsZWQiCittc2dzdHIgImNyeXB0IG1pc3NseWNrYWRlcyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Z3JvdXA+XG4iCittc2dzdHIgIiVzIDxncnVwcD5cbiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTY5Cittc2dpZCAiTG9nIGluIHRvIGEgbmV3IGdyb3VwLlxuIgorbXNnc3RyICJMb2dnYSBpbiBpIGVuIG55IGdydXBwLlxuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMDcKK21zZ2lkICJ3aG8gYXJlIHlvdT8iCittc2dzdHIgInZlbSDDpHIgZHU/IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTEgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjIzIHN5cy11dGlscy9uc2VudGVyLmM6NDIzCittc2dpZCAic2V0Z2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0Z2lkIG1pc3NseWNrYWRlcyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjE2IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxOAorbXNnaWQgIm5vIHN1Y2ggZ3JvdXAiCittc2dzdHIgImluZ2VuIHPDpWRhbiBncnVwcCIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjIxIHN5cy11dGlscy9tb3VudC5jOjQ5MQorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIgorbXNnc3RyICLDpXRrb21zdCBuZWthcyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI3IHN5cy11dGlscy9uc2VudGVyLmM6NDI1Cittc2dpZCAic2V0dWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkIG1pc3NseWNrYWRlcyIKKworIzogbG9naW4tdXRpbHMvbm9sb2dpbi5jOjI5Cittc2dpZCAiUG9saXRlbHkgcmVmdXNlIGEgbG9naW4uXG4iCittc2dzdHIgIkF2YsO2aiBlbiBpbmxvZ2duaW5nLlxuIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhpcyBhY2NvdW50IGlzIGN1cnJlbnRseSBub3QgYXZhaWxhYmxlLlxuIgorbXNnc3RyICJEZXR0YSBrb250byDDpHIgaW50ZSB0aWxsZ8OkbmdsaWd0IGbDtnIgdGlsbGbDpGxsZXQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBzZXNzaW9uOiAlcyIKK21zZ3N0ciAia2FuIGludGUgw7ZwcG5hIHNlc3Npb246ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMDQKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGNoaWxkIHByb2Nlc3MiCittc2dzdHIgImthbiBpbnRlIHNrYXBhIGJhcm5wcm9jZXNzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgImthbiBpbnRlIMOkbmRyYSBrYXRhbG9nIHRpbGwgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMyMQorbXNnaWQgImNhbm5vdCBibG9jayBzaWduYWxzIgorbXNnc3RyICJrYW4gaW50ZSBibG9ja2VyYSBzaWduYWxlciIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzM1IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM0MworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzQ5IG1pc2MtdXRpbHMvdXVpZGQuYzo0MDcgdGVybS11dGlscy9zY3JpcHQuYzo3NzEKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJrYW4gaW50ZSBzdMOkbGxhIGluIHNpZ25hbGhhbnRlcmFyZSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Mzc0Cittc2dpZCAiIChjb3JlIGR1bXBlZCkiCittc2dzdHIgIiAobWlubmVzZmlsIGR1bXBhZCkiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLCBraWxsaW5nIHNoZWxsLi4uIgorbXNnc3RyICIiCisiXG4iCisiU2Vzc2lvbiBhdnNsdXRhZCwgZMO2ZGFyIHNrYWzigKYiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICIgLi4ua2lsbGVkLlxuIgorbXNnc3RyICLigKZkw7ZkYWQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQ4NgorbXNnaWQgIm1heSBub3QgYmUgdXNlZCBieSBub24tcm9vdCB1c2VycyIKK21zZ3N0ciAiZsOlciBpbnRlIGFudsOkbmRhcyBhdiBhbnbDpG5kYXJlIHNvbSBpbnRlIMOkciByb290IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MTQKK21zZ2lkICJpbmNvcnJlY3QgcGFzc3dvcmQiCittc2dzdHIgImZlbGFrdGlndCBsw7ZzZW5vcmQiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjU5OAorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXBzIgorbXNnc3RyICJrYW4gaW50ZSBzdMOkbGxhIGluIGdydXBwZXIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjYxMyBzeXMtdXRpbHMvZWplY3QuYzo2NjUKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwIGlkIgorbXNnc3RyICJrYW4gaW50ZSBzdMOkbGxhIGluIGdydXBwLUlEIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2MTUgc3lzLXV0aWxzL2VqZWN0LmM6NjY4Cittc2dpZCAiY2Fubm90IHNldCB1c2VyIGlkIgorbXNnc3RyICJrYW4gaW50ZSBzdMOkbGxhIGluIGFudsOkbmRhci1JRCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC11IDx1c2VyPiBbWy0tXSA8Y29tbWFuZD5dXG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gLXUgPGFudsOkbmRhcmU+IDxrb21tYW5kbz5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njg5IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwMQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSBbLV0gWzxhbnbDpG5kYXJlPiBbPGFyZ3VtZW50PuKApl1dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY5MAorbXNnaWQgIiIKKyJcbiIKKyJSdW4gPGNvbW1hbmQ+IHdpdGggdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCBvZiA8dXNlcj4uICBJZiAtdSBpc1xuIgorIm5vdCBnaXZlbiwgZmFsbCBiYWNrIHRvIHN1KDEpLWNvbXBhdGlibGUgc2VtYW50aWNzIGFuZCBleGVjdXRlIHN0YW5kYXJkIHNoZWxsLlxuIgorIlRoZSBvcHRpb25zIC1jLCAtZiwgLWwsIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLXUuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJLw7ZyIDxrb21tYW5kbz4gbWVkIGRldCBlZmZla3RpdmEgYW52w6RuZGFyLUlEOnQgb2NoIGdydXBwLUlEOnQgZsO2ciA8YW52w6RuZGFyZT4uIE9tIC11IGludGVcbiIKKyJhbmdlcyBmYWxsIHRpbGxiYWthIHRpbGwgc3UoMSkta29tcGF0aWJlbCBzZW1hbnRpayBvY2ggZXhla3ZlcmEgc3RhbmRhcmRza2FsZXQuXG4iCisiQmFyYSBlbiB1dGF2IGZsYWdnb3JuYSAtYywgLWYsIC1sIG9jaCAtcyBmw6VyIGbDtnJla29tbWEgdGlsbHNhbW1hbnMgbWVkIC11LlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2OTcKK21zZ2lkICIgLXUsIC0tdXNlciA8dXNlcj4gICAgICAgICAgICAgdXNlcm5hbWVcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXIgPGFudsOkbmRhcmU+ICAgICAgICBhbnbDpG5kYXJuYW1uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwMgorbXNnaWQgIiIKKyJcbiIKKyJDaGFuZ2UgdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCB0byB0aGF0IG9mIDx1c2VyPi5cbiIKKyJBIG1lcmUgLSBpbXBsaWVzIC1sLiAgSWYgPHVzZXI+IGlzIG5vdCBnaXZlbiwgcm9vdCBpcyBhc3N1bWVkLlxuIgorbXNnc3RyICIiCisiXG4iCisiw4RuZHJhIGRldCBlZmZla3RpdmEgYW52w6RuZGFyZS1JRDp0IG9jaCBncnVwcC1JRDp0IHRpbGwgZGV0IGbDtnIgPGFudsOkbmRhcmU+LlxuIgorIkV0dCBlbmtlbHQgLSBtZWRmw7ZyIC1sLiBPbSA8YW52w6RuZGFyZT4gaW50ZSBhbmdlcyBhbnRhcyByb290LlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDkKK21zZ2lkICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBkbyBub3QgcmVzZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4iCittc2dzdHIgIiAtbSwgLXAsIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgIMOldGVyc3TDpGxsIGludGUgbWlsasO2dmFyaWFibGVyXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMAorbXNnaWQgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICAgICAgICAgIHNwZWNpZnkgdGhlIHByaW1hcnkgZ3JvdXBcbiIKK21zZ3N0ciAiIC1nLCAtLWdyb3VwIDxncnVwcD4gICAgICAgICAgICAgYW5nZSBwcmltw6RyZ3J1cHBlblxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTEKK21zZ2lkICIiCisiIC1HLCAtLXN1cHAtZ3JvdXAgPGdyb3VwPiAgICAgICAgc3BlY2lmeSBhIHN1cHBsZW1lbnRhbCBncm91cFxuIgorIlxuIgorbXNnc3RyICIiCisiIC1HLCAtLXN1cHAtZ3JvdXAgPGdydXBwPiAgICAgICAgYW5nZSBlbiB0aWxsw6RnZ3NncnVwcFxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTMKK21zZ2lkICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgICAgIGfDtnIgc2thbGV0IHRpbGwgZXR0IGlubG9nZ25pbmdzc2thbFxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTQKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbW1hbmQgPGtvbW1hbmRvPiAgICAgICAgc2tpY2thIGV0dCBlbmtlbHQga29tbWFuZG8gdGlsbCBza2FsZXQgbWVkIC1jXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxNQorbXNnaWQgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkbyBub3QgY3JlYXRlIGEgbmV3IHNlc3Npb25cbiIKK21zZ3N0ciAiIgorIiAtLXNlc3Npb24tY29tbWFuZCA8a29tbWFuZG8+ICAgIHNraWNrYSBldHQgZW5rZWx0IGtvbW1hbmRvIHRpbGwgc2thbGV0IG1lZCAtY1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2NoIHNrYXBhIGludGUgZW4gbnkgc2Vzc2lvblxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTcKK21zZ2lkICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICBwYXNzIC1mIHRvIHRoZSBzaGVsbCAoZm9yIGNzaCBvciB0Y3NoKVxuIgorbXNnc3RyICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICBza2lja2EgLWYgdGlsbCBza2FsZXQgKGbDtnIgY3NoIGVsbGVyIHRjc2gpXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxOAorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHJ1biA8c2hlbGw+IGlmIC9ldGMvc2hlbGxzIGFsbG93cyBpdFxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPHNrYWw+ICAgICAgICAgICAgICBrw7ZyIDxza2FsPiBvbSAvZXRjL3NoZWxscyB0aWxsw6V0ZXIgZGV0XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc2MgorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXAgaXMgbm90IHBvc3NpYmxlIgorbXNnaWRfcGx1cmFsICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXBzIGlzIG5vdCBwb3NzaWJsZSIKK21zZ3N0clswXSAiYXR0IGFuZ2UgbWVyIMOkbiAlZCB0aWxsw6RnZ3NncnVwcCDDpHIgaW50ZSBtw7ZqbGlndCIKK21zZ3N0clsxXSAiYXR0IGFuZ2UgbWVyIMOkbiAlZCB0aWxsw6RnZ3NncnVwcGVyIMOkciBpbnRlIG3DtmpsaWd0IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXAgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgImdydXBwZW4gJXMgZXhpc3RlcmFyIGludGUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg4NgorbXNnaWQgImlnbm9yaW5nIC0tcHJlc2VydmUtZW52aXJvbm1lbnQsIGl0J3MgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1sb2dpbiIKK21zZ3N0ciAiaG9wcGFyIMO2dmVyIC0tcHJlc2VydmUtZW52aXJvbm1lbnQsIGRlbiDDpHIgw7Ztc2VzaWRpZ3QgdXRlc2x1dGFuZGUgbWVkIC0tbG9naW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg5NworbXNnaWQgIm9wdGlvbnMgLS17c2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbn0gYW5kIC0tdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICJmbGFnZ29ybmEgLS17c2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbn0gb2NoIC0tdXNlciDDpHIgw7Ztc2VzaWRpZ3QgdXRlc2x1dGFuZGUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkwMQorbXNnaWQgIm5vIGNvbW1hbmQgd2FzIHNwZWNpZmllZCIKK21zZ3N0ciAiaW5nZXQga29tbWFuZG8gYW5nYXZzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5MTUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHNwZWNpZnkgYWx0ZXJuYXRpdmUgZ3JvdXBzIgorbXNnc3RyICJlbmRhc3Qgcm9vdCBrYW4gYW5nZSBhbHRlcm5hdGl2YSBncnVwcGVyIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiYW52w6RuZGFyZW4gJXMgZXhpc3RlcmFyIGludGUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyByZXN0cmljdGVkIHNoZWxsICVzIgorbXNnc3RyICJhbnbDpG5kZXIgYmVncsOkbnNhdCBza2FsICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgInZhcm5pbmc6IGthbiBpbnRlIMOkbmRyYSBrYXRhbG9nIHRpbGwgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMzAKK21zZ2lkICJ0Y2dldGF0dHIgZmFpbGVkIgorbXNnc3RyICJ0Y2dldGF0dHIgbWlzc2x5Y2thZGVzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MjA3Cittc2dpZCAidGNzZXRhdHRyIGZhaWxlZCIKK21zZ3N0ciAidGNzZXRhdHRyIG1pc3NseWNrYWRlcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiJXM6IGlubG9nZ25pbmcgZsO2cmJqdWRlbiBmw7ZyIHJvb3RcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3QiCittc2dzdHIgIiVzOiBpbmxvZ2duaW5nIGbDtnJianVkZW4gZsO2ciByb290IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByb290IHBhc3N3b3JkIGdhcmJsZWQiCittc2dzdHIgIiVzOiByb290LWzDtnNlbm9yZCBmw7ZydmFuc2thdCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQ2Fubm90IG9wZW4gYWNjZXNzIHRvIGNvbnNvbGUsIHRoZSByb290IGFjY291bnQgaXMgbG9ja2VkLlxuIgorIlNlZSBzdWxvZ2luKDgpIG1hbiBwYWdlIGZvciBtb3JlIGRldGFpbHMuXG4iCisiXG4iCisiUHJlc3MgRW50ZXIgdG8gY29udGludWUuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJLYW4gaW50ZSDDtnBwbmEgdGlsbGfDpW5nIHRpbGwga29uc29sLCByb290LWtvbnRvdCDDpHIgbMOlc3QuXG4iCisiU2UgbWFudWFsc2lkYW4gc3Vsb2dpbig4KSBmw7ZyIHZpZGFyZSBpbmZvcm1hdGlvbi5cbiIKKyJcbiIKKyJUcnljayBww6UgUmV0dXIgZsO2ciBhdHQgZm9ydHPDpHR0YS5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzOAorIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIGxvZ2luOiAiCittc2dzdHIgIkFuZ2Ugcm9vdC1sw7ZzZW5vcmRldCBmw7ZyIGlubG9nZ25pbmc6ICIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MAorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbG9naW46ICIKK21zZ3N0ciAiVHJ5Y2sgcMOlIFJldHVyIGbDtnIgaW5sb2dnbmluZzogIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAiQW5nZSByb290LWzDtnNlbm9yZGV0IGbDtnIgdW5kZXJow6VsbFxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICJUcnljayBww6UgUmV0dXIgZsO2ciB1bmRlcmjDpWxsXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiKG9yIHByZXNzIENvbnRyb2wtRCB0byBjb250aW51ZSk6ICIKK21zZ3N0ciAiKGVsbGVyIHRyeWNrIEN0cmwtRCBmw7ZyIGF0dCBmb3J0c8OkdHRhKTogIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzQyCittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSB0byBzeXN0ZW0gcm9vdCBmYWlsZWQiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGJ5dGEga2F0YWxvZyB0aWxsIHN5c3RlbXJvdGVuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzkxCittc2dpZCAic2V0ZXhlY2NvbiBmYWlsZWQiCittc2dzdHIgInNldGV4ZWNjb24gbWlzc2x5Y2thZGVzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3R0eSBkZXZpY2VdXG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gW3R0eS1lbmhldF1cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxNAorbXNnaWQgIlNpbmdsZS11c2VyIGxvZ2luLlxuIgorbXNnc3RyICJFbi1hbnbDpG5kYXJpbmxvZ2duaW5nLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODE3Cittc2dpZCAiIgorIiAtcCwgLS1sb2dpbi1zaGVsbCAgICAgICAgc3RhcnQgYSBsb2dpbiBzaGVsbFxuIgorIiAtdCwgLS10aW1lb3V0IDxzZWNvbmRzPiAgbWF4IHRpbWUgdG8gd2FpdCBmb3IgYSBwYXNzd29yZCAoZGVmYXVsdDogbm8gbGltaXQpXG4iCisiIC1lLCAtLWZvcmNlICAgICAgICAgICAgICBleGFtaW5lIHBhc3N3b3JkIGZpbGVzIGRpcmVjdGx5IGlmIGdldHB3bmFtKDMpIGZhaWxzXG4iCittc2dzdHIgIiIKKyIgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgIHN0YXJ0YSBldHQgaW5sb2dnbmluZ3Nza2FsXG4iCisiIC10LCAtLXRpbWVvdXQgPHNla3VuZGVyPiBtYXhpbWFsIHRpZCBhdHQgdsOkbnRhIHDDpSBldHQgbMO2c2Vub3JkIChzdGFuZGFyZHbDpHJkZTogaW5nZW4gYmVncsOkbnNuaW5nKVxuIgorIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAgdW5kZXJzw7ZrIGzDtnNlbm9yZHNmaWxlciBkaXJla3Qgb20gZ2V0cHduYW0oMykgbWlzc2x5Y2thc1xuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODcxIG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NjMgc3lzLXV0aWxzL3dkY3RsLmM6NTIzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc1MCB0ZXJtLXV0aWxzL3dhbGwuYzoxMzUKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQiCittc2dzdHIgIm9naWx0aWd0IHRpZHNncsOkbnNhcmd1bWVudCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg5MworbXNnaWQgIm9ubHkgc3VwZXJ1c2VyIGNhbiBydW4gdGhpcyBwcm9ncmFtIgorbXNnc3RyICJlbmRhc3Qgc3VwZXJhbnbDpG5kYXJlbiBrYW4ga8O2cmEgZGV0dGEgcHJvZ3JhbSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkzNgorbXNnaWQgImNhbm5vdCBvcGVuIGNvbnNvbGUiCittc2dzdHIgImthbiBpbnRlIMO2cHBuYSBrb25zb2wiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5NDMKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYXNzd29yZCBkYXRhYmFzZSIKK21zZ3N0ciAia2FuIGludGUgw7ZwcG5hIGzDtnNlbm9yZHNkYXRhYmFzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2FuIG5vdCBleGVjdXRlIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIiIKKyJLYW4gaW50ZSBrw7ZyYSBzdS1za2FsXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDI3Cittc2dpZCAiIgorIlRpbWVkIG91dFxuIgorIlxuIgorbXNnc3RyICIiCisiVGlkc2dyw6RucyB1cHBuw6VkZGVzXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDU5Cittc2dpZCAiIgorIkNhbiBub3Qgd2FpdCBvbiBzdSBzaGVsbFxuIgorIlxuIgorbXNnc3RyICIiCisiS2FuIGludGUgdsOkbnRhIHDDpSBzdS1za2FsXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTc2IHRleHQtdXRpbHMvdGFpbGYuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaC4iCittc2dzdHIgIiVzOiBrYW4gaW50ZSBsw6RnZ2EgdGlsbCBpbm90aWZ5LWJldmFrbmluZy4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTg1IHRleHQtdXRpbHMvdGFpbGYuYzoxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGlub3RpZnkgZXZlbnRzIgorbXNnc3RyICIlczoga2FuIGludGUgbMOkc2EgaW5vdGlmeS1ow6RuZGVsc2VyIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI0NiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI1MQorbXNnaWQgIkV4dHJhbmVvdXMgbmV3bGluZSBpbiBmaWxlLiBFeGl0aW5nLiIKK21zZ3N0ciAiRXh0cmEgbnlyYWQgaSBmaWwuIEF2c2x1dGFyLiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZW5hbWVdXG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gW2ZpbG5hbW5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzEyCittc2dpZCAiRHVtcCBVVE1QIGFuZCBXVE1QIGZpbGVzIGluIHJhdyBmb3JtYXQuXG4iCittc2dzdHIgIkR1bXBhIFVUTVAtIG9jaCBXVE1QLWZpbGVyIGkgcsOlZm9ybWF0LlxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxNQorbXNnaWQgIiAtZiwgLS1mb2xsb3cgICAgICAgICBvdXRwdXQgYXBwZW5kZWQgZGF0YSBhcyB0aGUgZmlsZSBncm93c1xuIgorbXNnc3RyICIgLWYsIC0tZm9sbG93ICAgICAgICAgbWF0YSB1dCB0aWxsYWdkIGRhdGEgYWxsdCBlZnRlcnNvbSBmaWxlbiB2w6R4ZXJcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTYKK21zZ2lkICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgd3JpdGUgYmFjayBkdW1wZWQgZGF0YSBpbnRvIHV0bXAgZmlsZVxuIgorbXNnc3RyICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgc2tyaXYgdGlsbGJha2EgZHVtcGFkIGRhdGEgaSB1dG1wLWZpbGVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8ZmlsZT4gIHdyaXRlIHRvIGZpbGUgaW5zdGVhZCBvZiBzdGFuZGFyZCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8ZmlsPiAgIHNrcml2IHRpbGwgZmlsIGlzdMOkbGxldCBmw7ZyIHN0YW5kYXJkIHV0XG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzg0Cittc2dpZCAiZm9sbG93aW5nIHN0YW5kYXJkIGlucHV0IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJhdHQgZsO2bGphIHN0YW5kYXJkIGluIHN0w7ZkcyBpbnRlIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIHVuZHVtcCBvZiAlc1xuIgorbXNnc3RyICJVdG1wIG9tdsOkbmQgZHVtcCBhdiAlc1xuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIGR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiVXRtcC1kdW1wIGF2ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNDEKK21zZ2lkICJjYW4ndCBvcGVuIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICJrYW4gaW50ZSDDtnBwbmEgdGVtcG9yw6RyIGZpbCIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY3JlYXRlIGEgbGluayB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBhdHQgc2thcGEgZW4gbMOkbmsgdGlsbCAlcyBtaXNzbHlja2FkZXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3QgZ2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICJLYW4gaW50ZSBow6RtdGEga29udGV4dCBmw7ZyICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IHNldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiS2FuIGludGUgc3TDpGxsYSBpbiBrb250ZXh0IGbDtnIgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5jaGFuZ2VkIgorbXNnc3RyICIlcyDDpHIgb2bDtnLDpG5kcmFkIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjU0Cittc2dpZCAiY2Fubm90IGdldCBsb2NrIgorbXNnc3RyICJrYW4gaW50ZSBow6RtdGEgbMOlcyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI4MQorbXNnaWQgIm5vIGNoYW5nZXMgbWFkZSIKK21zZ3N0ciAiaW5nYSDDpG5kcmluZ2FyIGdqb3JkZXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTAKK21zZ2lkICJjYW5ub3QgY2htb2QgZmlsZSIKK21zZ3N0ciAia2FuIGludGUga8O2cmEgY2htb2QgcMOlIGZpbCIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjMwNAorbXNnaWQgIkVkaXQgdGhlIHBhc3N3b3JkIG9yIGdyb3VwIGZpbGUuXG4iCittc2dzdHIgIlJlZGlnZXJhIGzDtnNlbm9yZHMtIGVsbGVyIGdydXBwZmlsZW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTAKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBncm91cHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIkR1IGFudsOkbmRlciBza3VnZ3J1cHBlciBww6UgZGV0dGEgc3lzdGVtLlxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzUxCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgcGFzc3dvcmRzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICJEdSBhbnbDpG5kZXIgc2t1Z2dsw7ZzZW5vcmQgcMOlIGRldHRhIHN5c3RlbS5cbiIKKworIy4gVFJBTlNMQVRPUlM6IHRoaXMgcHJvZ3JhbSB1c2VzIGZvciB5IGFuZCBuIHJwbWF0Y2goMyksCisjLiAqIHdoaWNoIG1lYW5zIHRoZXkgY2FuIGJlIHRyYW5zbGF0ZWQuCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHlvdSBsaWtlIHRvIGVkaXQgJXMgbm93IFt5L25dPyAiCittc2dzdHIgIlZpbGwgZHUgcmVkaWdlcmEgJXMgbnUgW2ovbl0/ICIKKworIzogbWlzYy11dGlscy9jYWwuYzozNzIKK21zZ2lkICJpbnZhbGlkIG1vbnRoIGFyZ3VtZW50IgorbXNnc3RyICJvZ2lsdGlndCBtw6VuYWRzYXJndW1lbnQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzgwCittc2dpZCAiaW52YWxpZCB3ZWVrIGFyZ3VtZW50IgorbXNnc3RyICJvZ2lsdGlndCB2ZWNrb2FyZ3VtZW50IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjM4MgorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogdXNlIDEtNTQiCittc2dzdHIgIm9naWx0aWd0IHZlY2tvdsOkcmRlOiBhbnbDpG5kIDEtNTQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDIyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB0aW1lc3RhbXAgb3IgdW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgdGlkc3N0w6RtcGVsIGVsbGVyIG9rw6RudCBtw6VuYWRzbmFtbjogJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDMxCittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWUiCittc2dzdHIgIm9naWx0aWd0IGRhZ3N2w6RyZGUiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDMzIG1pc2MtdXRpbHMvY2FsLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlOiB1c2UgMS0lZCIKK21zZ3N0ciAib2dpbHRpZ3QgZGFnc3bDpHJkZTogYW52w6RuZCAxLSVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQzNyBtaXNjLXV0aWxzL2NhbC5jOjQ0NQorbXNnaWQgImlsbGVnYWwgbW9udGggdmFsdWU6IHVzZSAxLTEyIgorbXNnc3RyICJvZ2lsdGlndCBtw6VuYWRzdsOkcmRlOiBhbnbDpG5kIDEtMTIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDQxCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgIm9rw6RudCBtw6VuYWRzbmFtbjogJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDQ4IG1pc2MtdXRpbHMvY2FsLmM6NDUyCittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlIgorbXNnc3RyICJvZ2lsdGlndCDDpXJzdsOkcmRlIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ1MAorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZTogdXNlIHBvc2l0aXZlIGludGVnZXIiCittc2dzdHIgIm9naWx0aWd0IMOlcnN2w6RyZGU6IGFudsOkbmQgZXR0IHBvc2l0aXZ0IGhlbHRhbCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0ODIgbWlzYy11dGlscy9jYWwuYzo0OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB5ZWFyICVkIGRvZXNuJ3QgaGF2ZSB3ZWVrICVkIgorbXNnc3RyICJvZ2lsdGlndCB2ZWNrb3bDpHJkZTogw6VyICVkIGhhciBpbnRlIHZlY2thICVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyIKK21zZ3N0ciAiJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6Njg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiUwNGQiCittc2dzdHIgIiUwNGQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICUwNGQiCittc2dzdHIgIiVzICUwNGQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW1tbZGF5XSBtb250aF0geWVhcl1cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSBbW1tkYWddIG3DpW5hZF0gw6VyXVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx0aW1lc3RhbXB8bW9udGhuYW1lPlxuIgorbXNnc3RyICIgJXMgW2ZsYWdnb3JdIDx0aWRzc3TDpG1wZWx8bcOlbmFkc25hbW4+XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk3Cittc2dpZCAiRGlzcGxheSBhIGNhbGVuZGFyLCBvciBzb21lIHBhcnQgb2YgaXQuXG4iCittc2dzdHIgIlZpc2EgZW4ga2FsZW5kZXIsIGVsbGVyIGVuIGRlbCBhdiBkZW4uXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk4Cittc2dpZCAiV2l0aG91dCBhbnkgYXJndW1lbnRzLCBkaXNwbGF5IHRoZSBjdXJyZW50IG1vbnRoLlxuIgorbXNnc3RyICJVdGFuIGFyZ3VtZW50IHZpc2FzIGRlbiBha3R1ZWxsYSBtw6VuYWRlbi5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDAxCittc2dpZCAiIC0xLCAtLW9uZSAgICAgICAgICAgICBzaG93IG9ubHkgYSBzaW5nbGUgbW9udGggKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtMSwgLS1vbmUgICAgICAgICAgICAgdmlzYSBiYXJhIGVuIGVuc3Rha2EgbcOlbmFkIChzdGFuZGFyZClcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDAyCittc2dpZCAiIC0zLCAtLXRocmVlICAgICAgICAgICBzaG93IHRocmVlIG1vbnRocyBzcGFubmluZyB0aGUgZGF0ZVxuIgorbXNnc3RyICIgLTMsIC0tdGhyZWUgICAgICAgICAgIHZpc2EgdHJlIG3DpW5hZGVyIHNvbSBpbm5lZmF0dGFyIGRhdHVtZXRcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDAzCittc2dpZCAiIC1uLCAtLW1vbnRocyA8bnVtPiAgICBzaG93IG51bSBtb250aHMgc3RhcnRpbmcgd2l0aCBkYXRlJ3MgbW9udGhcbiIKK21zZ3N0ciAiIC1uLCAtLW1vbnRocyA8bnVtPiAgICB2aXNhIG51bSBtw6VuYWRlciBtZWQgYsO2cmphbiBww6UgZGF0dW1ldHMgbcOlbmFkXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNAorbXNnaWQgIiAtUywgLS1zcGFuICAgICAgICAgICAgc3BhbiB0aGUgZGF0ZSB3aGVuIGRpc3BsYXlpbmcgbXVsdGlwbGUgbW9udGhzXG4iCittc2dzdHIgIiAtUywgLS1zcGFuICAgICAgICAgICAgaW5uZWZhdHRhIGRhdHVtZXQgbsOkciBmbGVyYSBtw6VuYWRlciB2aXNhc1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDUKK21zZ2lkICIgLXMsIC0tc3VuZGF5ICAgICAgICAgIFN1bmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIgLXMsIC0tc3VuZGF5ICAgICAgICAgIHPDtm5kYWcgc29tIGbDtnJzdGEgZGFnIGkgdmVja2FuXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNgorbXNnaWQgIiAtbSwgLS1tb25kYXkgICAgICAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtbSwgLS1tb25kYXkgICAgICAgICAgbcOlbmFkIHNvbSBmw7Zyc3RhIGRhZyBpIHZlY2thblxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDcKK21zZ2lkICIgLWosIC0tanVsaWFuICAgICAgICAgIG91dHB1dCBKdWxpYW4gZGF0ZXNcbiIKK21zZ3N0ciAiIC1qLCAtLWp1bGlhbiAgICAgICAgICBtYXRhIHV0IGp1bGlhbnNrYSBkYXR1bVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDgKK21zZ2lkICIgLXksIC0teWVhciAgICAgICAgICAgIHNob3cgdGhlIHdob2xlIHllYXJcbiIKK21zZ3N0ciAiIC15LCAtLXllYXIgICAgICAgICAgICB2aXNhIGhlbGEgw6VyZXRcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA5Cittc2dpZCAiIC1ZLCAtLXR3ZWx2ZSAgICAgICAgICBzaG93IHRoZSBuZXh0IHR3ZWx2ZSBtb250aHNcbiIKK21zZ3N0ciAiIC1ZLCAtLXR3ZWx2ZSAgICAgICAgICB2aXNhIG7DpHN0YSB0b2x2IG3DpW5hZGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAxMAorbXNnaWQgIiAtdywgLS13ZWVrWz08bnVtPl0gICAgc2hvdyBVUyBvciBJU08tODYwMSB3ZWVrIG51bWJlcnNcbiIKK21zZ3N0ciAiIC13LCAtLXdlZWtbPTxudW0+XSAgICB2aXNhIFVTLSBlbGxlciBJU08tODYwMS12ZWNrb251bW1lclxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMTEKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAgLS1jb2xvcls9PG7DpHI+XSAgIGbDpHJnbMOkZ2cgbWVkZGVsYW5kZW4gKGF1dG8sIGFsd2F5cyBlbGxlciBuZXZlcilcbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbHVlPlxuIgorbXNnc3RyICIgJXMgW2ZsYWdnb3JdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHbDpHJkZT5cbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzozMgorbXNnaWQgIkZpbmQgYSBmaWxlc3lzdGVtIGJ5IGxhYmVsIG9yIFVVSUQuXG4iCittc2dzdHIgIlPDtmsgZmlsc3lzdGVtIGVmdGVyIGV0aWtldHQgZWxsZXIgVVVJRC5cbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICJrYW4gaW50ZSBzbMOlIHVwcCDigJ0lc+KAnSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6OTkKK21zZ2lkICJzb3VyY2UgZGV2aWNlIgorbXNnc3RyICJrw6RsbGVuaGV0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDAKK21zZ2lkICJtb3VudHBvaW50IgorbXNnc3RyICJtb250ZXJpbmdzcHVua3QiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxCittc2dpZCAiZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJmaWxzeXN0ZW1zdHlwIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDIKK21zZ2lkICJhbGwgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiYWxsYSBtb250ZXJpbmdzZmxhZ2dvciIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAzCittc2dpZCAiVkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIlZGUy1zcGVjaWZpa2EgbW9udGVyaW5nc2ZsYWdnb3IiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNAorbXNnaWQgIkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIkZTLXNwZWNpZmlrYSBtb250ZXJpbmdzZmxhZ2dvciIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA1Cittc2dpZCAiZmlsZXN5c3RlbSBsYWJlbCIKK21zZ3N0ciAiZmlsc3lzdGVtc2V0aWtldHQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0Cittc2dpZCAiZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICJmaWxzeXN0ZW1zLVVVSUQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNworbXNnaWQgInBhcnRpdGlvbiBsYWJlbCIKK21zZ3N0ciAicGFydGl0aW9uc2V0aWtldHQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOSBtaXNjLXV0aWxzL2xzYmxrLmM6MTYwCittc2dpZCAibWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiw7Z2cmU6dW5kcmUgZW5oZXRzbnVtbWVyIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTAKK21zZ2lkICJhY3Rpb24gZGV0ZWN0ZWQgYnkgLS1wb2xsIgorbXNnc3RyICLDpXRnw6RyZCBpZGVudGlmaWVyYWQgYXYgLS1wb2xsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTEKK21zZ2lkICJvbGQgbW91bnQgb3B0aW9ucyBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgImdhbWxhIG1vbnRlcmluZ3NmbGFnZ29yIHNwYXJhZGUgYXYgLS1wb2xsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTIKK21zZ2lkICJvbGQgbW91bnRwb2ludCBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgImdhbW1hbCBtb250ZXJpbmdzcHVua3Qgc3BhcmFkIGF2IC0tcG9sbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEzCittc2dpZCAiZmlsZXN5c3RlbSBzaXplIgorbXNnc3RyICJGaWxzeXN0ZW1zc3RvcmxlayIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE0Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIGF2YWlsYWJsZSIKK21zZ3N0ciAiZmlsc3lzdGVtc3N0b3JsZWsgdGlsbGfDpG5nbGlnIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTUKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgdXNlZCIKK21zZ3N0ciAiZmlsc3lzdGVtc3N0b3JsZWsgYW52w6RuZCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE2Cittc2dpZCAiZmlsZXN5c3RlbSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAiYW52w6RuZG5pbmdzcHJvY2VudCBhdiBmaWxzeXN0ZW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNworbXNnaWQgImZpbGVzeXN0ZW0gcm9vdCIKK21zZ3N0ciAiZmlsc3lzdGVtc3JvdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE4Cittc2dpZCAidGFzayBJRCIKK21zZ3N0ciAidXBwZ2lmdHMtSUQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOQorbXNnaWQgIm1vdW50IElEIgorbXNnc3RyICJtb250ZXJpbmdzLUlEIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAKK21zZ2lkICJvcHRpb25hbCBtb3VudCBmaWVsZHMiCittc2dzdHIgInZhbGZyaWEgbW9udGVyaW5nc2bDpGx0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEKK21zZ2lkICJWRlMgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgIlZGUy1wcm9wYWdlcmluZ3NmbGFnZ29yIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIKK21zZ2lkICJkdW1wKDgpIHBlcmlvZCBpbiBkYXlzIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiZHVtcCg4KSBwZXJpb2QgaSBkYWdhciBbZW5kYXN0IGZzdGFiXSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzCittc2dpZCAicGFzcyBudW1iZXIgb24gcGFyYWxsZWwgZnNjayg4KSBbZnN0YWIgb25seV0iCittc2dzdHIgInN0ZWdudW1tZXIgaSBwYXJhbGxlbGwgZnNjayg4KSBbZW5kYXN0IGZzdGFiXSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYWN0aW9uOiAlcyIKK21zZ3N0ciAib2vDpG5kIMOldGfDpHJkOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQzCittc2dpZCAibW91bnQiCittc2dzdHIgIm1vbnRlcmEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0NgorbXNnaWQgInVtb3VudCIKK21zZ3N0ciAiYXZtb250ZXJhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDkKK21zZ2lkICJyZW1vdW50IgorbXNnc3RyICLDpXRlcm1vbnRlcmEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1MgorbXNnaWQgIm1vdmUiCittc2dzdHIgImZseXR0YSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODEyIG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNzUgc3lzLXV0aWxzL2VqZWN0LmM6NzE5CisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NjkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJsZSIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgaW5pdGllcmEgbGlibW91bnQtdGFiZWxsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MzkgdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCAlcyIKK21zZ3N0ciAia2FuIGludGUgbMOkc2EgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMTUgbWlzYy11dGlscy9maW5kbW50LmM6MTA4MQorIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjk0IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0ODIKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxODcgc3lzLXV0aWxzL21vdW50LmM6MTM0IHN5cy11dGlscy9tb3VudC5jOjE4MgorIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo1NiBzeXMtdXRpbHMvc3dhcG9mZi5jOjE1NSBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ0CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjc0IHN5cy11dGlscy9zd2Fwb24uYzo3MzMgc3lzLXV0aWxzL3Vtb3VudC5jOjI3NAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGl0ZXJhdG9yIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBpbml0aWVyYSBsaWJtb3VudC1pdGVyYXRvciIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA4NworbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmRpZmYiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGluaXRpZXJhIGxpYm1vdW50LXRhYmRpZmYiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMTUKK21zZ2lkICJwb2xsKCkgZmFpbGVkIgorbXNnc3RyICJwb2xsKCkgbWlzc2x5Y2thZGVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gfCA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZSA8ZGV2aWNlPl0gWy0tdGFyZ2V0IDxwYXRoPiB8IC0tbW91bnRwb2ludCA8ZGlyPl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtmbGFnZ29yXVxuIgorIiAlMSRzIFtmbGFnZ29yXSA8ZW5oZXQ+IHwgPG1vbnRlcmluZ3NwdW5rdD5cbiIKKyIgJTEkcyBbZmxhZ2dvcl0gPGVuaGV0PiA8bW9udGVyaW5nc3B1bmt0PlxuIgorIiAlMSRzIFtmbGFnZ29yXSBbLS1zb3VyY2UgPGVuaGV0Pl0gWy0tdGFyZ2V0IDxzw7ZrdsOkZz4gfCAtLW1vdW50cG9pbnQgPGthdD5dXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTYKK21zZ2lkICJGaW5kIGEgKG1vdW50ZWQpIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkhpdHRhIGV0dCAobW9udGVyYXQpIGZpbHN5c3RlbS5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5OQorbXNnaWQgIiAtcywgLS1mc3RhYiAgICAgICAgICAgIHNlYXJjaCBpbiBzdGF0aWMgdGFibGUgb2YgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1zLCAtLWZzdGFiICAgICAgICAgICAgc8O2ayBpIHN0YXRpc2sgdGFiZWxsIMO2dmVyIGZpbHN5c3RlbVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAwCittc2dpZCAiIC1tLCAtLW10YWIgICAgICAgICAgICAgc2VhcmNoIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1tLCAtLW10YWIgICAgICAgICAgICAgc8O2ayBpIHRhYmVsbCDDtnZlciBtb250ZXJhZGUgZmlsc3lzdGVtXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDEKK21zZ2lkICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgc2VhcmNoIGluIGtlcm5lbCB0YWJsZSBvZiBtb3VudGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlc3lzdGVtcyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIHPDtmsgaSBrw6RybnRhYmVsbCDDtnZlciBtb250ZXJhZGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHN5c3RlbSAoc3RhbmRhcmQpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDQKK21zZ2lkICIgLXAsIC0tcG9sbFs9PGxpc3Q+XSAgICBtb25pdG9yIGNoYW5nZXMgaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLXAsIC0tcG9sbFs9PGxpc3RhPl0gICDDtnZlcnZha2Egw6RuZHJpbmdhciBpIHRhYmVsbGVuIMO2dmVyIG1vbnRlcmFkZSBmaWxzeXN0ZW1cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNQorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxudW0+ICAgIHVwcGVyIGxpbWl0IGluIG1pbGxpc2Vjb25kcyB0aGF0IC0tcG9sbCB3aWxsIGJsb2NrXG4iCittc2dzdHIgIiAtdywgLS10aW1lb3V0IDxudW0+ICAgIMO2dnJlIGdyw6RucyBpIG1pbGxpc2VrdW5kZXIgc29tIC0tcG9sbCBrb21tZXIgYXR0IGJsb2NrZXJhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDgKK21zZ2lkICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1BLCAtLWFsbCAgICAgICAgICAgICAgaW5ha3RpdmVyYSBhbGxhIGluYnlnZ2RhIGZpbHRlciwgc2tyaXYgdXQgYWxsYSBmaWxzeXN0ZW1cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOQorbXNnaWQgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBBU0NJSSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCittc2dzdHIgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIGFudsOkbmQgQVNDSUktdGVja2VuIGbDtnIgdHLDpGRmb3JtYXRlcmluZ1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEwCittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIHNrcml2IHV0IHN0b3JsZWthciBpIGJ5dGUgc25hcmFyZSDDpG4gaSBldHQgZm9ybWF0IGzDpHNiYXJ0IGbDtnIgbcOkbm5pc2tvclxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjExCittc2dpZCAiIC1DLCAtLW5vY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHdoZW4gY29tcGFyaW5nIHBhdGhzXG4iCittc2dzdHIgIiAtQywgLS1ub2Nhbm9uaWNhbGl6ZSAgIGfDtnIgaW50ZSBzw7ZrdsOkZ2FyIGthbm9uaXNrYSB2aWQgasOkbWbDtnJlbHNlclxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEyCittc2dpZCAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKK21zZ3N0ciAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgZ8O2ciBzw7ZrdsOkZ2FyIGthbm9uaXNrYSB2aWQgdXRza3JpZnRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMworbXNnaWQgIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRhdGUgdGhlIG91dHB1dCBvZiBkZigxKVxuIgorbXNnc3RyICIgLUQsIC0tZGYgICAgICAgICAgICAgICBpbWl0ZXJhIHV0bWF0bmluZyBmcsOlbiBkZigxKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE0Cittc2dpZCAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKK21zZ3N0ciAiIC1kLCAtLWRpcmVjdGlvbiA8b3JkPiAgc8O2a3Jpa3RuaW5nLCDigJ1mb3J3YXJk4oCdIGVsbGVyIOKAnWJhY2t3YXJk4oCdXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTUKK21zZ2lkICIiCisiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgY29udmVydCB0YWdzIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkZXZpY2UgbmFtZXNcbiIKK21zZ3N0ciAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGtvbnZlcnRlcmEgdGFnZ2FyIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB0aWxsIGVuaGV0c25hbW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNworbXNnaWQgIiAtRiwgLS10YWItZmlsZSA8cGF0aD4gIGFsdGVybmF0aXZlIGZpbGUgZm9yIC1zLCAtbSBvciAtayBvcHRpb25zXG4iCittc2dzdHIgIiAtRiwgLS10YWItZmlsZSA8c8O2a3bDpGc+IGFsdGVybmF0aXYgZmlsIGbDtnIgZmxhZ2dvcm5hIC1zLCAtbSBlbGxlciAta1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE4Cittc2dpZCAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIgorbXNnc3RyICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBza3JpdiBiYXJhIHV0IGRldCBmw7Zyc3RhIGZpbHN5c3RlbWV0IHNvbSBoaXR0YXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOQorbXNnaWQgIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVydCB0aGUgc2Vuc2Ugb2YgbWF0Y2hpbmdcbiIKK21zZ3N0ciAiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJ0ZXJhIG1hdGNobmluZ2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjAgbWlzYy11dGlscy9sc2xvY2tzLmM6NTA3IHN5cy11dGlscy9sc25zLmM6NjE5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICBhbnbDpG5kIEpTT04tdXRtYXRuaW5nc2Zvcm1hdFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIxIHN5cy11dGlscy9sc25zLmM6NjIwCittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICBhbnbDpG5kIGxpc3R1dG1hdG5pbmdzZm9ybWF0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjIKK21zZ2lkICIgLU4sIC0tdGFzayA8dGlkPiAgICAgICB1c2UgYWx0ZXJuYXRpdmUgbmFtZXNwYWNlICgvcHJvYy88dGlkPi9tb3VudGluZm8gZmlsZSlcbiIKK21zZ3N0ciAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgYW52w6RuZCBhbHRlcm5hdGl2IG5hbW5yeW1kICAoL3Byb2MvPHRpZD4vbW91bnRpbmZvLWZpbGVuKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIzCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgY29sdW1uIGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIHNrcml2IGludGUgdXQga29sdW1ucnVicmlrZXJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNAorbXNnaWQgIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIgorbXNnc3RyICIgLU8sIC0tb3B0aW9ucyA8bGlzdGE+ICBiZWdyw6Ruc2EgbcOkbmdkZW4gZmlsc3lzdGVtIGVmdGVyIG1vbnRlcmluZ3NmbGFnZ29yXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjUKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICB0aGUgb3V0cHV0IGNvbHVtbnMgdG8gYmUgc2hvd25cbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICAgdXRtYXRuaW5nc2tvbHVtbmVyIHNvbSBza2EgdmlzYXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNgorbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgYW52w6RuZCB1dG1hdG5pbmdzZm9ybWF0IG1lZCBueWNrZWw9XCJ2w6RyZGVcIlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI3Cittc2dpZCAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgcHJpbnQgYWxsIHN1Ym1vdW50cyBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIHNrcml2IHV0IGFsbGEgdW5kZXJtb250ZXJpbmdhciBmw7ZyIG1hdGNoYW5kZSBmaWxzeXN0ZW1cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOAorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICBhbnbDpG5kIHLDpXR0IHV0bWF0bmluZ3Nmb3JtYXRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOQorbXNnaWQgIiIKKyIgLVMsIC0tc291cmNlIDxzdHJpbmc+ICB0aGUgZGV2aWNlIHRvIG1vdW50IChieSBuYW1lLCBtYWo6bWluLCBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKK21zZ3N0ciAiIgorIiAtUywgLS1zb3VyY2UgPHN0csOkbmc+ICBlbmhldGVuIGF0dCBtb250ZXJhIChlZnRlciBuYW1uLCDDtnZyOnVuZHIsIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMxCittc2dpZCAiIC1ULCAtLXRhcmdldCA8cGF0aD4gICAgdGhlIHBhdGggdG8gdGhlIGZpbGVzeXN0ZW0gdG8gdXNlXG4iCittc2dzdHIgIiAtVCwgLS10YXJnZXQgPHPDtmt2w6RnPiAgc8O2a3bDpGdlbiB0aWxsIGZpbHN5c3RlbWV0IHNvbSBza2EgYW52w6RuZGFzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzIKK21zZ2lkICIgLU0sIC0tbW91bnRwb2ludCA8ZGlyPiB0aGUgbW91bnRwb2ludCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1NLCAtLW1vdW50cG9pbnQgPGthdD4ga2F0YWxvZ2VuIHNvbSDDpHIgbW9udGVyaW5nc3B1bmt0ZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMworbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgRlMgdHlwZXNcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGVzIDxsaXN0YT4gICAgYmVncsOkbnNhIHVwcHPDpHR0bmluZ2VuIGF2IGZpbHN5c3RlbSB0aWxsIEZTLXR5cGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzQKK21zZ2lkICIgLVUsIC0tdW5pcSAgICAgICAgICAgICBpZ25vcmUgZmlsZXN5c3RlbXMgd2l0aCBkdXBsaWNhdGUgdGFyZ2V0XG4iCittc2dzdHIgIiAtVSwgLS11bmlxICAgICAgICAgICAgIGhvcHBhIMO2dmVyIGZpbHN5c3RlbSBtZWQgZXR0IGR1YmJsZXJhdCBtw6VsXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzUgbWlzYy11dGlscy9sc2xvY2tzLmM6NTEzIHN5cy11dGlscy9sc25zLmM6NjI1Cittc2dpZCAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCittc2dzdHIgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIHRydW5rZXJhIGludGUgdGV4dCBpIGtvbHVtbmVyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzYKK21zZ2lkICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iCittc2dzdHIgIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIHNrcml2IGludGUgdXQgWy9rYXRdIGbDtnIgYmluZC0gZWxsZXIgYnRyZnMtbW9udGVyaW5nYXJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzOQorbXNnaWQgIiAteCwgLS12ZXJpZnkgICAgICAgICAgIHZlcmlmeSBtb3VudCB0YWJsZSBjb250ZW50IChkZWZhdWx0IGlzIGZzdGFiKVxuIgorbXNnc3RyICIgLXgsIC0tdmVyaWZ5ICAgICAgICAgIHZlcmlmaWVyYSBpbm5laMOlbGxldCBpIG1vbnRlcmluZ3N0YWJlbGwgKHN0YW5kYXJkdsOkcmRldCDDpHIgZnN0YWIpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDAKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICAgc2tyaXYgdXQgdXRmw7ZybGlnIGluZm9ybWF0aW9uXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBkaXJlY3Rpb24gJyVzJyIKK21zZ3N0ciAib2vDpG5kIHJpa3RuaW5nIOKAnSVz4oCdIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDQwCittc2dpZCAiaW52YWxpZCBUSUQgYXJndW1lbnQiCittc2dzdHIgIm9naWx0aWd0IFRJRC1hcmd1bWVudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUwOQorbXNnaWQgIi0tcG9sbCBhY2NlcHRzIG9ubHkgb25lIGZpbGUsIGJ1dCBtb3JlIHNwZWNpZmllZCBieSAtLXRhYi1maWxlIgorbXNnc3RyICItLXBvbGwgYWNjZXB0ZXJhciBiYXJhIGVuIGZpbCwgbWVuIGZsZXIgYW5naXZuYSBhdiAtLXRhYi1maWxlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTEzCittc2dpZCAib3B0aW9ucyAtLXRhcmdldCBhbmQgLS1zb3VyY2UgY2FuJ3QgYmUgdXNlZCB0b2dldGhlciB3aXRoIGNvbW1hbmQgbGluZSBlbGVtZW50IHRoYXQgaXMgbm90IGFuIG9wdGlvbiIKK21zZ3N0ciAiZmxhZ2dvcm5hIC0tdGFyZ2V0IG9jaCAtLXNvdXJjZSBrYW4gaW50ZSBhbnbDpG5kYXMgdGlsbHNhbW1hbnMgbWVkIGtvbW1hbmRvcmFkc2VsZW1lbnQgc29tIGludGUgw6RyIGVuIGZsYWdnYSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU2MgorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGNhY2hlIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBpbml0aWVyYSBsaWJtb3VudC1jYWNoZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE2MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY29sdW1uIGlzIHJlcXVlc3RlZCwgYnV0IC0tcG9sbCBpcyBub3QgZW5hYmxlZCIKK21zZ3N0ciAiJXMta29sdW1uZW4gw6RyIGJlZ8OkcmQsIG1lbiAtLXBvbGwgw6RyIGludGUgYWt0aXZlcmFkIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE2Cittc2dpZCAidGFyZ2V0IHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAibcOlbCBhbmdpdmV0IG1lciDDpG4gZW4gZ8OlbmciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgb3JkZXI6ICVzIHNwZWNpZmllZCBiZWZvcmUgJXMiCittc2dzdHIgImZlbGFrdGlnIG9yZG5pbmc6ICVzIGFuZ2F2cyBmw7ZyZSAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzMworbXNnaWQgInVuZGVmaW5lZCB0YXJnZXQgKGZzX2ZpbGUpIgorbXNnc3RyICJvZGVmaW5pZXJhdCBtw6VsIChmc19maWxlKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tY2Fub25pY2FsIHRhcmdldCBwYXRoIChyZWFsOiAlcykiCittc2dzdHIgImlja2Uta2Fub25pc2sgbcOlbHPDtmt2w6RnICh2ZXJrbGlnOiAlcykiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCB0YXJnZXQ6ICVtIgorbXNnc3RyICJuw6ViYXJ0IG3DpWwgc29tIGtyw6R2cyB2aWQgdXBwc3RhcnQ6ICVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHRhcmdldDogJW0iCittc2dzdHIgIm9uw6ViYXJ0IG3DpWw6ICVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTUxCittc2dpZCAidGFyZ2V0IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAibcOlbCDDpHIgaW50ZSBlbiBrYXRhbG9nIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTUzCittc2dpZCAidGFyZ2V0IGV4aXN0cyIKK21zZ3N0ciAibcOlbCBleGlzdGVyYXIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCBzb3VyY2U6ICVzPSVzIgorbXNnc3RyICJvbsOlYmFyIGvDpGxsYSBzb20ga3LDpHZzIHZpZCB1cHBzdGFydDogJXM9JXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGU6ICVzPSVzIgorbXNnc3RyICJvbsOlYmFyOiAlcz0lcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcz0lcyB0cmFuc2xhdGVkIHRvICVzIgorbXNnc3RyICIlcz0gJXMgw7Z2ZXJzYXR0IHRpbGwgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxOTAKK21zZ2lkICJ1bmRlZmluZWQgc291cmNlIChmc19zcGVjKSIKK21zZ3N0ciAib2RlZmluZXJhdCBtw6VsIChmc19zcGVjKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzb3VyY2UgdGFnOiAlcyIKK21zZ3N0ciAia8OkbGx0YWdnIHN0w7ZkcyBpbnRlOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgc291cmNlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAia29udHJvbGxlcmEgaW50ZSAlcy1rw6RsbGEgKHBzZXVkby9uZXQpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHNvdXJjZTogJXM6ICVtIgorbXNnc3RyICJvbsOlYmFyIGVuaGV0OiAlczogJW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJpbmQgbW91bnQgc291cmNlICVzIGlzIGEgZGlyZWN0b3J5IG9yIHJlZ3VsYXIgZmlsZSIKK21zZ3N0ciAia8OkbGxhICVzIGbDtnIgaWNrZS1iaW5kbmluZ3Ntb250ZXJpbmcgw6RyIGVuIGthdGFsb2cgZWxsZXIgZW4gdmFubGlnIGZpbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJrw6RsbGEgJXMgw6RyIGludGUgZW4gYmxvY2tlbmhldCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgZXhpc3RzIgorbXNnc3RyICJrw6RsbGEgJXMgZXhpc3RlcmFyIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIlZGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiVkZTLWZsYWdnb3I6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICJGUy1mbGFnZ29yOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2Vyc3BhY2Ugb3B0aW9uczogJXMiCittc2dzdHIgIkZsYWdnb3IgZsO2ciBhbnbDpG5kYXJyeW1kOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzd2FwYXJlYSBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgImthc3NlcmluZ3Nwb2xpY3kgZsO2ciB2w6R4bGluZ3NvbXLDpWRlIHN0w7ZkcyBlajogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNjAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3dhcGFyZWEgcHJpb3JpdHkgb3B0aW9uIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBmbGFnZ2EgZsO2ciB2w6R4bGluZ3NvbXLDpWRlc3ByaW9yaXRldCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgRlMgdHlwZSAocHNldWRvL25ldCkiCittc2dzdHIgImtvbnRyb2xsZXJhIGludGUgJXMtRlMtdHlwIChwc2V1ZG8vbmV0KSIKKworIyBzZWJyYXM6IHR5cG8gaW4gdGhlIGVuZ2xpc2ggdGV4dAorIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQwNgorbXNnaWQgIlwibm9uZVwiIEZTIHR5cGUgaXMgcmVjb21tZW5kZWQgZm9yIGJpbmQgb3IgbW92ZSBvcHJhdGlvbnMgb25seSIKK21zZ3N0ciAiRlMtdHlwZW4g4oCdbm9uZeKAnSByZWtvbW1lbmRlcmFzIGVuZGFzdCBmw7ZyIGVsbGVyIGJpbmRuaW5ncy0gZWxsZXIgZsO2cmZseXR0bmluZ3PDpXRnw6RyZGVyIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIiVzIHZlcmthciBzYWtuYSBzdMO2ZCBob3MgZGVuIGFrdHVlbGxhIGvDpHJuYW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjAgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyMQorbXNnaWQgImNhbm5vdCBkZXRlY3Qgb24tZGlzayBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgImthbiBpbnRlIGlkZW50aWZpZXJhIGZpbHN5c3RlbXN0eXAgcMOlIGRpc2siCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgbWF0Y2ggd2l0aCBvbi1kaXNrICVzIgorbXNnc3RyICIlcyBtYXRjaGFyIGludGUgZGVuIHDDpSBkaXNrOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib24tZGlzayAlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIiVzIHDDpSBkaXNrIHZlcmthciBzYWtuYSBzdMO2ZCBob3MgZGVuIGFrdHVlbGxhIGvDpHJuYW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlMgdHlwZSBpcyAlcyIKK21zZ3N0ciAiRlMtdHlwIMOkciAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWNvbW1lbmRlZCByb290IEZTIHBhc3NubyBpcyAxIChjdXJyZW50IGlzICVkKSIKK21zZ3N0ciAicmVrb21tZW5kZXJhdCByb290LUZTIHBhc3NubyDDpHIgMSAow6RyICVkIG51KSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBwYXJzZSBlcnJvciIKK21zZ2lkX3BsdXJhbCAiJWQgcGFyc2UgZXJyb3JzIgorbXNnc3RyWzBdICIlZCB0b2xrbmluZ3NmZWwiCittc2dzdHJbMV0gIiVkIHRvbGtuaW5nc2ZlbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICIsICVkIGVycm9yIgorbXNnaWRfcGx1cmFsICIsICVkIGVycm9ycyIKK21zZ3N0clswXSAiLCAlZCBmZWwiCittc2dzdHJbMV0gIiwgJWQgZmVsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgd2FybmluZyIKK21zZ2lkX3BsdXJhbCAiLCAlZCB3YXJuaW5ncyIKK21zZ3N0clswXSAiLCAlZCB2YXJuaW5nIgorbXNnc3RyWzFdICIsICVkIHZhcm5pbmdhciIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxNworIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzLCBubyBlcnJvcnMgb3Igd2FybmluZ3MgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiRnJhbWfDpW5nLCBpbmdhIGZlbCBlbGxlciB2YXJuaW5nYXIgZGV0ZWt0ZXJhZGVcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJGw7Zyc8O2ayBtZWQg4oCdJXMgLS1oZWxw4oCdIGbDtnIgdmlkYXJlIGluZm9ybWF0aW9uLlxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMwNAorbXNnaWQgImVtcHR5IGxvbmcgb3B0aW9uIGFmdGVyIC1sIG9yIC0tbG9uZyBhcmd1bWVudCIKK21zZ3N0ciAidG9tIGzDpW5nIGZsYWdnYSBlZnRlciBhcmd1bWVudGVuIC1sIGVsbGVyIC0tbG9uZyIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMjUKK21zZ2lkICJ1bmtub3duIHNoZWxsIGFmdGVyIC1zIG9yIC0tc2hlbGwgYXJndW1lbnQiCittc2dzdHIgIm9rw6RudCBza2FsIGVmdGVyIGFyZ3VtZW50ZW4gLXMgZWxsZXIgLS1zaGVsbCIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1dIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSAtb3wtLW9wdGlvbnMgPG9wdHN0cmluZz4gW29wdGlvbnNdIFstLV0gPHBhcmFtZXRlcnM+XG4iCittc2dzdHIgIiIKKyIgJTEkcyA8ZmxhZ2dzdHLDpG5nPiA8cGFyYW1ldHJhcj5cbiIKKyIgJTEkcyBbZmxhZ2dvcl0gWy0tXSA8ZmxhZ2dzdHLDpG5nPiA8cGFyYW1ldHJhcj5cbiIKKyIgJTEkcyBbZmxhZ2dvcl0gLW98LS1vcHRpb25zIDxmbGFnZ3N0csOkbmc+IFtmbGFnZ29yXSBbLS1dIDxwYXJhbWV0cmFyPlxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzOAorbXNnaWQgIlBhcnNlIGNvbW1hbmQgb3B0aW9ucy5cbiIKK21zZ3N0ciAiVG9sa2Ega29tbWFuZG9yYWRzZmxhZ2dvci5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDEKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAgYWxsb3cgbG9uZyBvcHRpb25zIHN0YXJ0aW5nIHdpdGggc2luZ2xlIC1cbiIKK21zZ3N0ciAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIHRpbGzDpXQgYXR0IGzDpW5nYSBmbGFnZ29yIGLDtnJqYXIgbWVkIGV0dCBlbnN0YWthIC1cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDIKK21zZ2lkICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiAgdGhlIGxvbmcgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAgLWwsIC0tbG9uZ29wdGlvbnMgPGzDpW5nZmxhZz4gZGUgbMOlbmdhIGZsYWdnb3Igc29tIHNrYSBpZGVudGlmaWVyYXNcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDMKK21zZ2lkICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICAgdGhlIG5hbWUgdW5kZXIgd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZFxuIgorbXNnc3RyICIgLW4sIC0tbmFtZSA8cHJvZ3JhbW5hbW4+ICAgICAgbmFtbmV0IHVuZGVyIHZpbGtldCBmZWwgcmFwcG9ydGVyYXNcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDQKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICAgdGhlIHNob3J0IG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgLW8sIC0tb3B0aW9ucyA8ZmxhZ2dzdHLDpG5nPiAgIGRlIGtvcnRhIGZsYWdnb3Igc29tIHNrYSBpZGVudGlmaWVyYXNcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDUKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBlcnJvciByZXBvcnRpbmcgYnkgZ2V0b3B0KDMpXG4iCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBpbmFrdGl2ZXJhIGZlbHJhcHBvcnRlcmluZyBmcsOlbiBnZXRvcHQoMylcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDYKK21zZ2lkICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgbm8gbm9ybWFsIG91dHB1dFxuIgorbXNnc3RyICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgaW5nZW4gbm9ybWFsIHV0bWF0bmluZ1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NworbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICBzZXQgcXVvdGluZyBjb252ZW50aW9ucyB0byB0aG9zZSBvZiA8c2hlbGw+XG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8c2thbD4gICAgICAgICAgICBzdMOkbGwgaW4gY2l0ZXJpbmdza29udmVudGlvbmVyIHRpbGwgZGUgZsO2ciA8c2thbD5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDgKK21zZ2lkICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgdGVzdCBmb3IgZ2V0b3B0KDEpIHZlcnNpb25cbiIKK21zZ3N0ciAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIHRlc3RhIHZpbGtlbiBnZXRvcHQoMSkgdmVyc2lvbiBzb20gZmlubnNcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDkKK21zZ2lkICIgLXUsIC0tdW5xdW90ZWQgICAgICAgICAgICAgICAgZG8gbm90IHF1b3RlIHRoZSBvdXRwdXRcbiIKK21zZ3N0ciAiIC11LCAtLXVucXVvdGVkICAgICAgICAgICAgICAgIGNpdGVyYSBpbnRlIHV0bWF0bmluZ1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM5OSBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1OQorbXNnaWQgIm1pc3Npbmcgb3B0c3RyaW5nIGFyZ3VtZW50IgorbXNnc3RyICJmbGFnZ3N0csOkbmdzYXJndW1lbnQgc2FrbmFzIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1NAorbXNnaWQgImludGVybmFsIGVycm9yLCBjb250YWN0IHRoZSBhdXRob3IuIgorbXNnc3RyICJpbnRlcm50IGZlbCwga29udGFrdGEgZsO2cmZhdHRhcmVuLiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsICVzOyB2YWxpZCBzaWduYWxzOiIKK21zZ3N0ciAib2vDpG5kIHNpZ25hbCAlczsgZ2lsdGlnYSBzaWduYWxlcjoiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwMgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwaWQ+fDxuYW1lPi4uLlxuIgorbXNnc3RyICIgJXMgW2ZsYWdnb3JdIDxwaWQ+IHwgPG5hbW4+4oCmXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwNQorbXNnaWQgIkZvcmNpYmx5IHRlcm1pbmF0ZSBhIHByb2Nlc3MuXG4iCittc2dzdHIgIlR2aW5nYSBmcmFtIGF0dCBlbiBwcm9jZXNzIGF2c2x1dGFzLlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDgKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IHRoZSBuYW1lLXRvLXBpZCBjb252ZXJzaW9uIHRvIHByb2Nlc3Nlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgc2FtZSB1aWQgYXMgdGhlIHByZXNlbnQgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgYmVncsOkbnNhIGludGUgbmFtbi10aWxsLXBpZC1rb252ZXJ0ZXJpbmdlbiB0aWxsIHByb2Nlc3NlclxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgbWVkIHNhbW1hIHVpZCBzb20gZGVuIGFrdHVlbGxhIHByb2Nlc3NlblxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTAKK21zZ2lkICIgLXMsIC0tc2lnbmFsIDxzaWduYWw+ICBzZW5kIHRoaXMgPHNpZ25hbD4gaW5zdGVhZCBvZiBTSUdURVJNXG4iCittc2dzdHIgIiAtcywgLS1zaWduYWwgPHNpZ25hbD4gIHNraWNrYSA8c2lnbmFsPiBpc3TDpGxsZXQgZsO2ciBTSUdURVJNXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMgorbXNnaWQgIiAtcSwgLS1xdWV1ZSA8dmFsdWU+ICAgIHVzZSBzaWdxdWV1ZSgyKSwgbm90IGtpbGwoMiksIGFuZCBwYXNzIDx2YWx1ZT4gYXMgZGF0YVxuIgorbXNnc3RyICIgLXEsIC0tcXVldWUgPHbDpHJkZT4gICAgYW52w6RuZCBzaWdxdWV1ZSgyKSwgaW50ZSBraWxsKDIpLCBvY2ggc2tpY2thIDx2w6RyZGU+IHNvbSBkYXRhXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNAorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICAgIHByaW50IHBpZHMgd2l0aG91dCBzaWduYWxpbmcgdGhlbVxuIgorbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAgICAgICBza3JpdiB1dCBQSUQ6YXIgdXRhbiBhdHQgc2lnbmFsZXJhIGRlbVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTUKK21zZ2lkICIgLWwsIC0tbGlzdFs9PHNpZ25hbD5dICBsaXN0IHNpZ25hbCBuYW1lcywgb3IgY29udmVydCBhIHNpZ25hbCBudW1iZXIgdG8gYSBuYW1lXG4iCittc2dzdHIgIiAtbCwgLS1saXN0Wz08c2lnbmFsPl0gIGxpc3RhIHNpZ25hbG5hbW4gZWxsZXIga29udmVydGVyYSBldHQgc2lnbmFsbnVtbWVyIHRpbGwgZXR0IG5hbW5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE2Cittc2dpZCAiIC1MLCAtLXRhYmxlICAgICAgICAgICAgbGlzdCBzaWduYWwgbmFtZXMgYW5kIG51bWJlcnNcbiIKK21zZ3N0ciAiIC1MLCAtLXRhYmxlICAgICAgICAgICAgbGlzdGEgc2lnbmFsbmFtbiBvY2ggc2lnbmFsbnVtbWVyXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNworbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IHBpZHMgdGhhdCB3aWxsIGJlIHNpZ25hbGVkXG4iCittc2dzdHIgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHNrcml2IHV0IFBJRDphciBzb20ga29tbWVyIGF0dCBzaWduYWxlcmFzXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM2NyBtaXNjLXV0aWxzL2tpbGwuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWw6ICVzIgorbXNnc3RyICJva8OkbmQgc2lnbmFsOiAlcyIKKworIzogbWlzYy11dGlscy9raWxsLmM6Mzg3IG1pc2MtdXRpbHMva2lsbC5jOjM5MCBtaXNjLXV0aWxzL2tpbGwuYzozOTkKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQxMSBtaXNjLXV0aWxzL2tpbGwuYzo0MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiVzIG9jaCAlcyDDpHIgw7Ztc2VzaWRpZ3QgdXRlc2x1dGFuZGUiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM5NiBtaXNjLXV0aWxzL2tpbGwuYzo0MzggbWlzYy11dGlscy9yZW5hbWUuYzoxNzQKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc4OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc5OAorbXNnaWQgIm5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJpbnRlIHRpbGxyw6Rja2xpZ3QgbcOlbmdhIGFyZ3VtZW50IgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uICclcycgcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgImZsYWdnYSDigJ0lc+KAnSBrcsOkdmVyIGV0dCBhcmd1bWVudCIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDE0IHN5cy11dGlscy9lamVjdC5jOjIwNSBzeXMtdXRpbHMvZWplY3QuYzoyMzAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Njg5IHN5cy11dGlscy90dW5lbHAuYzoxNjEgc3lzLXV0aWxzL3R1bmVscC5jOjE2OAorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE3NSBzeXMtdXRpbHMvdHVuZWxwLmM6MTgyIHN5cy11dGlscy90dW5lbHAuYzoxODkKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxOTUgc3lzLXV0aWxzL3R1bmVscC5jOjE5OSBzeXMtdXRpbHMvdHVuZWxwLmM6MjA2CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjMxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxMyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzcgdGVybS11dGlscy9zZXR0ZXJtLmM6MjcyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzQgdGVybS11dGlscy9zZXR0ZXJtLmM6MjkxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5OAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzAwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxMiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyMyB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMzEgdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ2CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDggdGVybS11dGlscy9zZXR0ZXJtLmM6MzYwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjM2MgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzczIHRlcm0tdXRpbHMvc2V0dGVybS5jOjUzNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDAKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NTAgdGVybS11dGlscy9zZXR0ZXJtLmM6NTc0CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NzkgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4OQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTk0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MDcKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjY0MAorbXNnaWQgImFyZ3VtZW50IGVycm9yIgorbXNnc3RyICJhcmd1bWVudGZlbCIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2lnbmFsIG5hbWUgb3IgbnVtYmVyOiAlcyIKK21zZ3N0ciAib2dpbHRpZ3Qgc2lnbmFsbmFtbiBlbGxlciBudW1tZXI6ICVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgJWQgdG8gcGlkICVkXG4iCittc2dzdHIgInNraWNrYXIgc2lnbmFsICVkIHRpbGwgcGlkICVkXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQ2MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCB0byAlcyBmYWlsZWQiCittc2dzdHIgImF0dCBza2lja2Egc2lnbmFsIHRpbGwgJXMgbWlzc2x5Y2thZGVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgcHJvY2VzcyBcIiVzXCIiCittc2dzdHIgImthbiBpbnRlIGhpdHRhIHByb2Nlc3Mg4oCdJXPigJ0iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjIyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgbmFtZTogJXMiCittc2dzdHIgIm9rw6RudCByZXN1cnNuYW1uOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAib2vDpG50IHByaW9yaXRldHNuYW1uOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlbmxvZyAlczogcGF0aG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm9wZW5sb2cgJXM6IHPDtmt2w6Rnc25hbW5ldCDDpHIgZsO2ciBsw6VuZ3QiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjY3CisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCAlcyIKK21zZ3N0ciAidXR0YWcgJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIG5hbWUgJXMgcG9ydCAlczogJXMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHNsw6UgdXBwIG5hbW4gJXMgcG9ydCAlczogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzIzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjb25uZWN0IHRvICVzIHBvcnQgJXMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGFuc2x1dGEgdGlsbCAlcyBwb3J0ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjM1MgorIywgYy1mb3JtYXQKK21zZ2lkICJtYXhpbXVtIGlucHV0IGxpbmVzICglZCkgZXhjZWVkZWQiCittc2dzdHIgIm1heGltYWx0IGFudGFsIGluZGF0YXJhZGVyICglZCkgw7Z2ZXJza3JlZHMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NDg3Cittc2dpZCAic2VuZCBtZXNzYWdlIGZhaWxlZCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgc2tpY2thIG1lZGRlbGFuZGUiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTU4CisjLCBjLWZvcm1hdAorbXNnaWQgInN0cnVjdHVyZWQgZGF0YSBJRCAnJXMnIGlzIG5vdCB1bmlxdWUiCittc2dzdHIgInN0cnVrdHVyZGF0YS1JRCDigJ0lc+KAnSDDpHIgaW50ZSB1bmlrdCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1zZC1pZCB3YXMgbm90IHNwZWNpZmllZCBmb3IgLS1zZC1wYXJhbSAlcyIKK21zZ3N0ciAiLS1zZC1pZCBhbmdhdnMgaW50ZSBmw7ZyIC0tc2QtcGFyYW0gJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzU0Cittc2dpZCAibG9jYWx0aW1lKCkgZmFpbGVkIgorbXNnc3RyICJsb2NhbHRpbWUoKSBtaXNzbHlja2FkZXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzY0CisjLCBjLWZvcm1hdAorbXNnaWQgImhvc3RuYW1lICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgInbDpHJkbmFtbiDigJ0lc+KAnSDDpHIgZsO2ciBsw6VuZ3QiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzcwCisjLCBjLWZvcm1hdAorbXNnaWQgInRhZyAnJXMnIGlzIHRvbyBsb25nIgorbXNnc3RyICJ0YWdnIOKAnSVz4oCdIMOkciBmw7ZyIGzDpW5nIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjgzMworIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyB1bmtub3duIG9wdGlvbiBhcmd1bWVudDogJXMiCittc2dzdHIgImhvcHBhciDDtnZlciBva8OkbnQgZmxhZ2dhcmd1bWVudDogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzOiB1c2luZyBhdXRvbWF0aWMgZXJyb3JzIgorbXNnc3RyICJvZ2lsdGlndCBhcmd1bWVudDogJXM6IGFudsOkbmRlciBhdXRvbWF0aXNrYSBmZWwiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6OTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSBbPG1lZGRlbGFuZGU+XVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjk5NworbXNnaWQgIkVudGVyIG1lc3NhZ2VzIGludG8gdGhlIHN5c3RlbSBsb2cuXG4iCittc2dzdHIgIk1hdGEgaW4gbWVkZGVsYW5kZW4gaSBzeXN0ZW1sb2dnZW4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMAorbXNnaWQgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgbG9nIHRoZSBsb2dnZXIgY29tbWFuZCdzIFBJRFxuIgorbXNnc3RyICIgLWkgICAgICAgICAgICAgICAgICAgICAgIGxvZ2dhIGxvZ2dlci1rb21tYW5kb3RzIFBJRFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDEKK21zZ2lkICIgICAgIC0taWRbPTxpZD5dICAgICAgICAgIGxvZyB0aGUgZ2l2ZW4gPGlkPiwgb3Igb3RoZXJ3aXNlIHRoZSBQSURcbiIKK21zZ3N0ciAiICAgICAtLWlkWz08aWQ+XSAgICAgICAgICBsb2dnYSBkZXQgZ2l2bmEgSUQ6dCA8aWQ+LCBhbm5hcnMgUElEXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMgorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgICAgbG9nIHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGVcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPGZpbD4gICAgICAgICBsb2dnYSBpbm5laMOlbGxldCBpIGRlbm5hIGZpbFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDMKK21zZ2lkICIgLWUsIC0tc2tpcC1lbXB0eSAgICAgICAgIGRvIG5vdCBsb2cgZW1wdHkgbGluZXMgd2hlbiBwcm9jZXNzaW5nIGZpbGVzXG4iCittc2dzdHIgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgbG9nZ2EgaW50ZSB0b21tYSByYWRlciBuw6RyIGZpbGVyIGJlaGFuZGxhc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDQKK21zZ2lkICIgICAgIC0tbm8tYWN0ICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSB3cml0ZSB0aGUgbG9nXG4iCittc2dzdHIgIiAgICAgLS1uby1hY3QgICAgICAgICAgICAgZ8O2ciBhbGx0IHV0b20gYXR0IHNrcml2YSB0aWxsIGxvZ2dlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDUKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIG1hcmsgZ2l2ZW4gbWVzc2FnZSB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBtYXJrZXJhIGFuZ2l2ZXQgbWVkZGVsYW5kZSBtZWQgZGVubmEgcHJpb3JpdGV0XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNgorbXNnaWQgIiAgICAgLS1vY3RldC1jb3VudCAgICAgICAgdXNlIHJmYzY1ODcgb2N0ZXQgY291bnRpbmdcbiIKK21zZ3N0ciAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICBhbnbDpG5kIG9rdGV0dHLDpGtuaW5nIGZyw6VuIHJmYzY1ODdcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA3Cittc2dpZCAiICAgICAtLXByaW8tcHJlZml4ICAgICAgICBsb29rIGZvciBhIHByZWZpeCBvbiBldmVyeSBsaW5lIHJlYWQgZnJvbSBzdGRpblxuIgorbXNnc3RyICIgICAgIC0tcHJpby1wcmVmaXggICAgICAgIGxldGEgZWZ0ZXIgZXR0IHByZWZpeCBww6UgdmFyamUgcmFkIHNvbSBsw6RzZXMgZnLDpW4gc3RhbmRhcmQgaW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA4Cittc2dpZCAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICBvdXRwdXQgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvciBhcyB3ZWxsXG4iCittc2dzdHIgIiAtcywgLS1zdGRlcnIgICAgICAgICAgICAgbWF0YSDDpHZlbiB1dCBtZWRkZWxhbmRlbiB0aWxsIHN0YW5kYXJkIGZlbFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDkKK21zZ2lkICIgLVMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgIG1heGltdW0gc2l6ZSBmb3IgYSBzaW5nbGUgbWVzc2FnZVxuIgorbXNnc3RyICIgLVMsIC0tc2l6ZSA8c3Rvcmxlaz4gICAgIG1heGltYWwgc3RvcmxlayBmw7ZyIGV0dCBlbnN0YWthIG1lZGRlbGFuZGVcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEwCittc2dpZCAiIC10LCAtLXRhZyA8dGFnPiAgICAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorbXNnc3RyICIgLXQsIC0tdGFnIDx0YWdnPiAgICAgICAgIG1hcmtlcmEgdmFyamUgcmFkIG1lZCBkZW5uYSB0YWdnXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMQorbXNnaWQgIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorbXNnc3RyICIgLW4sIC0tc2VydmVyIDxuYW1uPiAgICAgIHNrcml2IHRpbGwgZGVubmEgZmrDpHJyc3lzbG9nLXNlcnZlclxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTIKK21zZ2lkICIgLVAsIC0tcG9ydCA8cG9ydD4gICAgICAgIHVzZSB0aGlzIHBvcnQgZm9yIFVEUCBvciBUQ1AgY29ubmVjdGlvblxuIgorbXNnc3RyICIgLVAsIC0tcG9ydCA8cG9ydD4gICAgICAgIGFudsOkbmQgZGVubmEgcG9ydCBmw7ZyIFVEUC0gZWxsZXIgVENQLWFuc2x1dG5pbmdhclxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTMKK21zZ2lkICIgLVQsIC0tdGNwICAgICAgICAgICAgICAgIHVzZSBUQ1Agb25seVxuIgorbXNnc3RyICIgLVQsIC0tdGNwICAgICAgICAgICAgICAgIGFudsOkbmQgZW5kYXN0IFRDUFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTQKK21zZ2lkICIgLWQsIC0tdWRwICAgICAgICAgICAgICAgIHVzZSBVRFAgb25seVxuIgorbXNnc3RyICIgLWQsIC0tdWRwICAgICAgICAgICAgICAgIGFudsOkbmQgZW5kYXN0IFVEUFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTUKK21zZ2lkICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIHVzZSB0aGUgb2Jzb2xldGUgQlNEIHN5c2xvZyBwcm90b2NvbFxuIgorbXNnc3RyICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIGFudsOkbmQgZGV0IGbDtnLDpWxkcmFkZSBCU0Qtc3lzbG9nLXByb3Rva29sbGV0XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNgorbXNnaWQgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIHVzZSB0aGUgc3lzbG9nIHByb3RvY29sICh0aGUgZGVmYXVsdCBmb3IgcmVtb3RlKTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNuaXA+IGNhbiBiZSBub3RpbWUsIG9yIG5vdHEsIGFuZC9vciBub2hvc3RcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1yZmM1NDI0Wz08Ym9ydD5dICAgYW52w6RuZCBzeXNsb2ctcHJvdG9rb2xsZXQgKHN0YW5kYXJkIGbDtnIgZmrDpHJyKTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJvcnQ+IGthbiB2YXJhIG5vdGltZSwgZWxsZXIgbm90cSwgb2NoL2VsbGVyIG5vaG9zdFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTgKK21zZ2lkICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIElEXG4iCittc2dzdHIgIiAgICAgLS1zZC1pZCA8aWQ+ICAgICAgICAgcmZjNTQyNC1zdHJ1a3R1cmVyYWQgZGF0YS1JRFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTkKK21zZ2lkICIgICAgIC0tc2QtcGFyYW0gPGRhdGE+ICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIG5hbWU9dmFsdWVcbiIKK21zZ3N0ciAiICAgICAtLXNkLXBhcmFtIDxkYXRhPiAgICByZmM1NDI0LXN0cnVrdHVyZXJhZCBkYXRhIG5hbW49dsOkcmRlXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMAorbXNnaWQgIiAgICAgLS1tc2dpZCA8bXNnaWQ+ICAgICAgc2V0IHJmYzU0MjQgbWVzc2FnZSBpZCBmaWVsZFxuIgorbXNnc3RyICIgICAgIC0tbXNnaWQgPG1lZGQtaWQ+ICAgIHN0w6RsbCBpbiByZmM1NDI0LWbDpGx0ZXQgZsO2ciBtZWRkZWxhbmRlLUlEXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMQorbXNnaWQgIiAtdSwgLS1zb2NrZXQgPHNvY2tldD4gICAgd3JpdGUgdG8gdGhpcyBVbml4IHNvY2tldFxuIgorbXNnc3RyICIgLXUsIC0tc29ja2V0IDx1dHRhZz4gICAgIHNrcml2IHRpbGwgZGV0dGEgVW5peC11dHRhZ1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjIKK21zZ2lkICIiCisiICAgICAtLXNvY2tldC1lcnJvcnNbPTxvbnxvZmZ8YXV0bz5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludCBjb25uZWN0aW9uIGVycm9ycyB3aGVuIHVzaW5nIFVuaXggc29ja2V0c1xuIgorbXNnc3RyICIiCisiICAgICAtLXNvY2tldC1lcnJvcnNbPTxvbnxvZmZ8YXV0bz5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBza3JpdiB1dCBhbnNsdXRuaW5nc2ZlbCBuw6RyIFVuaXgtdXR0YWcgYW52w6RuZHNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDI1Cittc2dpZCAiICAgICAtLWpvdXJuYWxkWz08ZmlsZT5dICB3cml0ZSBqb3VybmFsZCBlbnRyeVxuIgorbXNnc3RyICIgICAgIC0tam91cm5hbGRbPTxmaWw+XSAgIHNrcml2IGpvdXJuYWxkLXBvc3RcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGUgJXMiCittc2dzdHIgImZpbCAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTI3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGlkIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBpZCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTQ1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1lc3NhZ2Ugc2l6ZSIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgbWVkZGVsYW5kZXN0b3JsZWsiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE4MAorbXNnaWQgIi0tbXNnaWQgY2Fubm90IGNvbnRhaW4gc3BhY2UiCittc2dzdHIgIi0tbXNnaWQga2FuIGludGUgaW5uZWjDpWxsYSBibGFua3N0ZWciCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIwMgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBJRDogJyVzJyIKK21zZ3N0ciAib2dpbHRpZ3Qgc3RydWt0dXJkYXRhLUlEOiDigJ0lc+KAnSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjA3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc3RydWN0dXJlZCBkYXRhIHBhcmFtZXRlcjogJyVzJyIKK21zZ3N0ciAib2dpbHRpZyBzdHJ1a3R1cmVyYWQgZGF0YXBhcmFtZXRlcjog4oCdJXPigJ0iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIxOAorbXNnaWQgIi0tZmlsZSA8ZmlsZT4gYW5kIDxtZXNzYWdlPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLCBtZXNzYWdlIGlzIGlnbm9yZWQiCittc2dzdHIgIi0tZmlsZSA8ZmlsPiBvY2ggPG1lZGRlbGFuZGU+IGthbiBpbnRlIGLDpWRhIGFudsOkbmRhcywgbWVkZGVsYW5kZSBpZ25vcmVyYXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIyNQorbXNnaWQgImpvdXJuYWxkIGVudHJ5IGNvdWxkIG5vdCBiZSB3cml0dGVuIgorbXNnc3RyICJqb3VybmFsZC1wb3N0IGt1bmRlIGludGUgc2tyaXZhcyIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHN0cmluZz4gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSA8c3Ryw6RuZz4gWzxmaWw+4oCmXVxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNTgKK21zZ2lkICJEaXNwbGF5IGxpbmVzIGJlZ2lubmluZyB3aXRoIGEgc3BlY2lmaWVkIHN0cmluZy5cbiIKK21zZ3N0ciAiVmlzYXIgcmFkZXIgc29tIGLDtnJqYXIgbWVkIGVuIGFuZ2l2ZW4gc3Ryw6RuZy5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYxCittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICB1c2UgdGhlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICBhbnbDpG5kIGFsdGVybmF0aXYgb3JkYm9rXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MgorbXNnaWQgIiAtZCwgLS1hbHBoYW51bSAgICAgICAgICAgY29tcGFyZSBvbmx5IGJsYW5rcyBhbmQgYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBqw6RtZsO2ciBlbmRhc3QgYmxhbmt0ZWNrZW4gb2NoIGFsZmFudW1lcmlza2EgdGVja2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MworbXNnaWQgIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIKK21zZ3N0ciAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBza2lmdGzDpGdlc29rw6Ruc2xpZyB2aWQgasOkbWbDtnJlbHNlclxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjQKK21zZ2lkICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiAgIGRlZmluZSB0aGUgc3RyaW5nLXRlcm1pbmF0aW9uIGNoYXJhY3RlclxuIgorbXNnc3RyICIgLXQsIC0tdGVybWluYXRlIDx0ZWtuPiAgIGRlZmluaWVyYSB0ZWNrbmV0IHNvbSBhbnbDpG5kcyBmw7ZyIHN0csOkbmdzbHV0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTcKK21zZ2lkICJkZXZpY2UgbmFtZSIKK21zZ3N0ciAiZW5oZXRzbmFtbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OAorbXNnaWQgImludGVybmFsIGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAia8Okcm5pbnRlcm50IGVuaGV0c25hbW4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTkKK21zZ2lkICJpbnRlcm5hbCBwYXJlbnQga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICJrw6RybmludGVybnQgw7Z2ZXJvcmRuYXQgZW5oZXRzbmFtbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MiBzeXMtdXRpbHMvenJhbWN0bC5jOjg0Cittc2dpZCAid2hlcmUgdGhlIGRldmljZSBpcyBtb3VudGVkIgorbXNnc3RyICJkw6RyIGVuaGV0ZW4gw6RyIG1vbnRlcmFkIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzCittc2dpZCAiZmlsZXN5c3RlbSBMQUJFTCIKK21zZ3N0ciAiZmlsc3lzdGVtcyBFVElLRVRUIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2Cittc2dpZCAicGFydGl0aW9uIHR5cGUgVVVJRCIKK21zZ3N0ciAicGFydGl0aW9uc3R5cCBVVUlEIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY3Cittc2dpZCAicGFydGl0aW9uIExBQkVMIgorbXNnc3RyICJwYXJ0aXRpb25zIEVUSUtFVFQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzEKK21zZ2lkICJyZWFkLWFoZWFkIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgImbDtnJpbmzDpHNuaW5nIGbDtnIgZW5oZXQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzIgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NQorbXNnaWQgInJlYWQtb25seSBkZXZpY2UiCittc2dzdHIgInNrcml2c2t5ZGRhZCBlbmhldCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MworbXNnaWQgInJlbW92YWJsZSBkZXZpY2UiCittc2dzdHIgImJvcnR0YWduaW5nc2JhciBlbmhldCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NAorbXNnaWQgInJlbW92YWJsZSBvciBob3RwbHVnIGRldmljZSAodXNiLCBwY21jaWEsIC4uLikiCittc2dzdHIgImJvcnR0YWduaW5nc2JhciBlbGxlciBob3RwbHVnLWVuaGV0ICh1c2IsIHBjbWNpYSwg4oCmKSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NQorbXNnaWQgInJvdGF0aW9uYWwgZGV2aWNlIgorbXNnc3RyICJyb3RlcmFuZGUgZW5oZXQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzYKK21zZ2lkICJhZGRzIHJhbmRvbW5lc3MiCittc2dzdHIgImzDpGdnYSB0aWxsIHNsdW1wbcOkc3NpZ2hldCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NworbXNnaWQgImRldmljZSBpZGVudGlmaWVyIgorbXNnc3RyICJlbmhldHNpZGVudGlmaWVyYXJlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc4Cittc2dpZCAiZGlzayBzZXJpYWwgbnVtYmVyIgorbXNnc3RyICJzZXJpZW51bW1lciBmw7ZyIGRpc2siCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzkKK21zZ2lkICJzaXplIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgImVuaGV0c3N0b3JsZWsiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODAKK21zZ2lkICJzdGF0ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJ0aWxsc3TDpW5kIGbDtnIgZW5oZXQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODIKK21zZ2lkICJncm91cCBuYW1lIgorbXNnc3RyICJncnVwcG5hbW4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODMKK21zZ2lkICJkZXZpY2Ugbm9kZSBwZXJtaXNzaW9ucyIKK21zZ3N0ciAicsOkdHRpZ2hldGVyIGbDtnIgZW5oZXRzbm9kIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg0Cittc2dpZCAiYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAianVzdGVyaW5nc3Bvc2l0aW9uIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg1Cittc2dpZCAibWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAibWluc3RhIEkvTy1zdG9ybGVrIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg2Cittc2dpZCAib3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAib3B0aW1hbCBJL08tc3RvcmxlayIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NworbXNnaWQgInBoeXNpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJmeXNpc2sgc2VrdG9yc3RvcmxlayIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OAorbXNnaWQgImxvZ2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgImxvZ2lzayBzZWt0b3JzdG9ybGVrIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5Cittc2dpZCAiSS9PIHNjaGVkdWxlciBuYW1lIgorbXNnc3RyICJOYW1uIGbDtnIgSS9PLXNjaGVtYWzDpGdnYXJlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwCittc2dpZCAicmVxdWVzdCBxdWV1ZSBzaXplIgorbXNnc3RyICJzdG9ybGVrIHDDpSBrw7YgZsO2ciBiZWfDpHJhbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MQorbXNnaWQgImRldmljZSB0eXBlIgorbXNnc3RyICJlbmhldHN0eXAiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTIKK21zZ2lkICJkaXNjYXJkIGFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgImthc3NlcmluZ3NqdXN0ZXJpbmdzcG9zaXRpb24iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMKK21zZ2lkICJkaXNjYXJkIGdyYW51bGFyaXR5IgorbXNnc3RyICJrYXNzZXJpbmdzZ3JhbnVsYXJpdGV0IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk0Cittc2dpZCAiZGlzY2FyZCBtYXggYnl0ZXMiCittc2dzdHIgImthc3NlcmEgbWF4IGJ5dGUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTUKK21zZ2lkICJkaXNjYXJkIHplcm9lcyBkYXRhIgorbXNnc3RyICJrYXNzZXJpbmcgbm9sbGFyIGRhdGEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTYKK21zZ2lkICJ3cml0ZSBzYW1lIG1heCBieXRlcyIKK21zZ3N0ciAic2tyaXYgc2FtbWEgbWF4aW1hbHQgYW50YWwgYnl0ZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NworbXNnaWQgInVuaXF1ZSBzdG9yYWdlIGlkZW50aWZpZXIiCittc2dzdHIgInVuaWsgbGFncmluZ3NpZGVudGlmaWVyYXJlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk4Cittc2dpZCAiSG9zdDpDaGFubmVsOlRhcmdldDpMdW4gZm9yIFNDU0kiCittc2dzdHIgIlbDpHJkOkthbmFsOk3DpWw6THVuIGbDtnIgU0NTSSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OQorbXNnaWQgImRldmljZSB0cmFuc3BvcnQgdHlwZSIKK21zZ3N0ciAiZW5oZXRzdHJhbnNwb3J0ZXJpbmdzdHlwIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAwCittc2dpZCAiZGUtZHVwbGljYXRlZCBjaGFpbiBvZiBzdWJzeXN0ZW1zIgorbXNnc3RyICJyZWR1Y2VyYWRlIGtlZGpvciBhdiB1bmRlcnN5c3RlbSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMQorbXNnaWQgImRldmljZSByZXZpc2lvbiIKK21zZ3N0ciAiZW5oZXRzdmVyc2lvbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMgorbXNnaWQgImRldmljZSB2ZW5kb3IiCittc2dzdHIgImVuaGV0c3RpbGx2ZXJrYXJlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTI3NgorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRldmljZSBkaXJlY3RvcnkgaW4gc3lzZnMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IMO2cHBuYSBlbmhldHNrYXRhbG9nIGkgc3lzZnMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY29tcG9zZSBzeXNmcyBwYXRoIgorbXNnc3RyICIlczogbWlzc2x5Y2thZGVzIG1lZCBhdHQgc2FtbWFuZm9nYSBzeXNmcy1zw7ZrdsOkZyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIGxpbmsiCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCBsw6RzYSBsw6RuayIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3lzZnMgbmFtZSIKK21zZ3N0ciAiJXM6IG1pc3NseWNrYWRlcyBtZWQgYXR0IGjDpG10YSBzeXNmcy1uYW1uIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB3aG9sZS1kaXNrIGRldmljZSBudW1iZXIiCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCBow6RtdGEgZW5oZXRzbnVtbWVyIGbDtnIgaGVsYSBkaXNrZW4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTUxIG1pc2MtdXRpbHMvbHNibGsuYzoxNTUzIG1pc2MtdXRpbHMvbHNibGsuYzoxNTc4CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU4MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGlzdCAnJXMnIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBsaXN0YSDigJ0lc+KAnSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgZXhjbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICJsaXN0YW4gZXhrbHVkZXJhciBlbmhldGVyIHNvbSDDpHIgZsO2ciBzdG9yYSAoYmVncsOkbnNuaW5nZW4gw6RyICVkIGVuaGV0ZXIpIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBpbmNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgImxpc3RhbiDDtnZlciBpbmtsdWRlcmFkZSBlbmhldGVyIMOkciBmw7ZyIHN0b3IgKGJlZ3LDpG5zbmluZ2VuIMOkciAlZCBlbmhldGVyKSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MTYgc3lzLXV0aWxzL3dkY3RsLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSBbPGVuaGV0PiDigKZdXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjE5Cittc2dpZCAiTGlzdCBpbmZvcm1hdGlvbiBhYm91dCBibG9jayBkZXZpY2VzLlxuIgorbXNnc3RyICJMaXN0YSBpbmZvcm1hdGlvbiBvbSBibG9ja2VuaGV0ZXIuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIyCittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICBza3JpdiB1dCBhbGxhIGVuaGV0ZXJcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjQKK21zZ2lkICIgLWQsIC0tbm9kZXBzICAgICAgICAgZG9uJ3QgcHJpbnQgc2xhdmVzIG9yIGhvbGRlcnNcbiIKK21zZ3N0ciAiIC1kLCAtLW5vZGVwcyAgICAgICAgIHNrcml2IGludGUgdXRlIHNsYXZhciBlbGxlciBow6VsbGFyZVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNQorbXNnaWQgIiAtRCwgLS1kaXNjYXJkICAgICAgICBwcmludCBkaXNjYXJkIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIgLUQsIC0tZGlzY2FyZCAgICAgICAgc2tyaXYgdXQga2Fzc2VyaW5nc2bDtnJtw6Vnb3JcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjYKK21zZ2lkICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorbXNnc3RyICIgLWUsIC0tZXhjbHVkZSA8bGlzdGE+IGV4a2x1ZGVyYSBlbmhldGVyIGVmdGVyIMO2dnJlbnVtbWVyIChzdGFuZGFyZDogUkFNLWRpc2thcilcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjcKK21zZ2lkICIgLWYsIC0tZnMgICAgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1mLCAtLWZzICAgICAgICAgICAgIHNrcml2IHV0IGluZm9ybWF0aW9uIG9tIGZpbHN5c3RlbVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyOAorbXNnaWQgIiAtaSwgLS1hc2NpaSAgICAgICAgICB1c2UgYXNjaWkgY2hhcmFjdGVycyBvbmx5XG4iCittc2dzdHIgIiAtaSwgLS1hc2NpaSAgICAgICAgICBhbnbDpG5kIGVuZGFzdCBhc2NpaS10ZWNrZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjkKK21zZ2lkICIgLUksIC0taW5jbHVkZSA8bGlzdD4gc2hvdyBvbmx5IGRldmljZXMgd2l0aCBzcGVjaWZpZWQgbWFqb3IgbnVtYmVyc1xuIgorbXNnc3RyICIgLUksIC0taW5jbHVkZSA8bGlzdGE+IHZpc2EgYmFyYSBlbmhldGVyIG1lZCBhbmdpdm5hIMO2dnJlbnVtbWVyXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMwCittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgIGFudsOkbmQgdXRtYXRuaW5nc2Zvcm1hdGV0IEpTT05cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzEKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgYW52w6RuZCBsaXN0dXRtYXRuaW5nc2Zvcm1hdGV0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMyCittc2dpZCAiIC1tLCAtLXBlcm1zICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiAtbSwgLS1wZXJtcyAgICAgICAgICBza3JpdiB1dCBpbmZvcm1hdGlvbiBvbSByw6R0dGlnaGV0ZXJcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIHNrcml2IGludGUgdXQgcnVicmlrZXJcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzQKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+IHNrcml2IHV0IGtvbHVtbmVyXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM1Cittc2dpZCAiIC1PLCAtLW91dHB1dC1hbGwgICAgIG91dHB1dCBhbGwgY29sdW1uc1xuIgorbXNnc3RyICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgc2tyaXYgdXQgYWxsYSBrb2x1bW5lclxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNgorbXNnaWQgIiAtcCwgLS1wYXRocyAgICAgICAgICBwcmludCBjb21wbGV0ZSBkZXZpY2UgcGF0aFxuIgorbXNnc3RyICIgLXAsIC0tcGF0aHMgICAgICAgICAgc2tyaXYgdXQgZnVsbHN0w6RuZGlnIGVuaGV0c3PDtmt2w6RnXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM5Cittc2dpZCAiIC1zLCAtLWludmVyc2UgICAgICAgIGludmVyc2UgZGVwZW5kZW5jaWVzXG4iCittc2dzdHIgIiAtcywgLS1pbnZlcnNlICAgICAgICBvbXbDpG5kYSBiZXJvZW5kZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDAKK21zZ2lkICIgLVMsIC0tc2NzaSAgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgU0NTSSBkZXZpY2VzXG4iCittc2dzdHIgIiAtUywgLS1zY3NpICAgICAgICAgICBtYXRhIHV0IGluZm9ybWF0aW9uIG9tIFNDU0ktZW5oZXRlclxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MQorbXNnaWQgIiAtdCwgLS10b3BvbG9neSAgICAgICBvdXRwdXQgaW5mbyBhYm91dCB0b3BvbG9neVxuIgorbXNnc3RyICIgLXQsIC0tdG9wb2xvZ3kgICAgICAgbWF0YSB1dCBpbmZvcm1hdGlvbiBvbSB0b3BvbG9naVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MgorbXNnaWQgIiAteCwgLS1zb3J0IDxjb2x1bW4+ICBzb3J0IG91dHB1dCBieSA8Y29sdW1uPlxuIgorbXNnc3RyICIgLXgsIC0tc29ydCA8a29sdW1uPiAgc29ydGVyYSB1dG1hdG5pbmcgZWZ0ZXIgPGtvbHVtbj5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDcgbWlzYy11dGlscy9sc2xvY2tzLmM6NTE5IHN5cy11dGlscy9sc25zLmM6NjMyCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE5NiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLW91dHB1dCk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJUaWxsZ8OkbmdsaWdhIGtvbHVtbmVyIChmw7ZyIC0tb3V0cHV0KTpcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFjY2VzcyBzeXNmcyBkaXJlY3Rvcnk6ICVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBrb21tYSDDpXQgc3lzZnMta2F0YWxvZzogJXMiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjczCittc2dpZCAiY29tbWFuZCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICJrb21tYW5kbyBmw7ZyIHByb2Nlc3NlbiBzb20gaMOlbGxlciBsw6VzZXQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc0Cittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIlBJRCBmw7ZyIHByb2Nlc3NlbiBzb20gaMOlbGxlciBsw6VzZXQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc1Cittc2dpZCAia2luZCBvZiBsb2NrOiBGTF9GTE9DSyBvciBGTF9QT1NJWC4iCittc2dzdHIgImzDpXN0eXA6IEZMX0ZMT0NLIGVsbGVyIEZMX1BPU0lYLiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzYKK21zZ2lkICJzaXplIG9mIHRoZSBsb2NrIgorbXNnc3RyICJsw6Vzc3RvcmxlayIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzcKK21zZ2lkICJsb2NrIGFjY2VzcyBtb2RlIgorbXNnc3RyICLDpXRrb21zdGzDpGdlIGbDtnIgbMOlcyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzgKK21zZ2lkICJtYW5kYXRvcnkgc3RhdGUgb2YgdGhlIGxvY2s6IDAgKG5vbmUpLCAxIChzZXQpIgorbXNnc3RyICJvYmxpZ2F0b3Jpc2t0IHRpbGxzdMOlbmQgZsO2ciBsw6VzZXQ6IDAgKGluZ2V0KSwgMSAoc2F0dCkiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc5Cittc2dpZCAicmVsYXRpdmUgYnl0ZSBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgInJlbGF0aXYgYnl0ZXBvc2l0aW9uIGbDtnIgbMOlc2V0IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MAorbXNnaWQgImVuZGluZyBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgImF2c2x1dGFuZGUgcG9zaXRpb24gZsO2ciBsw6VzZXQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgxCittc2dpZCAicGF0aCBvZiB0aGUgbG9ja2VkIGZpbGUiCittc2dzdHIgInPDtmt2w6RnIGbDtnIgZGVuIGzDpXN0YSBmaWxlbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODIKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgYmxvY2tpbmcgdGhlIGxvY2siCittc2dzdHIgIlBJRCBmw7ZyIHByb2Nlc3NlbiBzb20gYmxvY2tlcmFyIGzDpXNldCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjU5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElEIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBJRCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjgxIHN5cy11dGlscy9uc2VudGVyLmM6MjMyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBpZCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgcGlkIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODQKK21zZ2lkICIodW5rbm93bikiCittc2dzdHIgIihva8OkbmQpIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyOTMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIHN0YXJ0IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozMDAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBlbmQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNAorbXNnaWQgIkxpc3QgbG9jYWwgc3lzdGVtIGxvY2tzLlxuIgorbXNnc3RyICJMaXN0YSBsb2thbGEgc3lzdGVtbMOlcy5cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA4Cittc2dpZCAiIC1pLCAtLW5vaW5hY2Nlc3NpYmxlICAgaWdub3JlIGxvY2tzIHdpdGhvdXQgcmVhZCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIgLWksIC0tbm9pbmFjY2Vzc2libGUgICBpZ25vcmVyYSBsw6VzIHV0YW4gbMOkc3LDpHR0aWdoZXRlclxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDkgc3lzLXV0aWxzL2xzbnMuYzo2MjEKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBza3JpdiBpbnRlIHV0IHJ1YnJpa2VyXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMCBzeXMtdXRpbHMvbHNucy5jOjYyMgorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICAgZGVmaW5pZXJhIHZpbGthIHV0bWF0bmluZ3Nrb2x1bW5lciBzb20gc2thIGFudsOkbmRhc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTEKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBkaXNwbGF5IG9ubHkgbG9ja3MgaGVsZCBieSB0aGlzIHByb2Nlc3NcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgdmlzYSBiYXJhIGzDpXMgc29tIGjDpWxscyBhdiBkZW5uYSBwcm9jZXNzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMiBzeXMtdXRpbHMvbHNucy5jOjYyNAorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgYW52w6RuZCByw6V0dCB1dG1hdG5pbmdzZm9ybWF0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjU3MCBzY2hlZHV0aWxzL2NocnQuYzo0Nzggc2NoZWR1dGlscy9pb25pY2UuYzoxNzcKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE2MyBzeXMtdXRpbHMvbHNucy5jOjY5OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NgorbXNnaWQgImludmFsaWQgUElEIGFyZ3VtZW50IgorbXNnc3RyICJvZ2lsdGlndCBQSUQtYXJndW1lbnQiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg1Cittc2dpZCAiR2VuZXJhdGUgbWFnaWMgY29va2llcyBmb3IgeGF1dGguXG4iCittc2dzdHIgIkdlbmVyZXJhIG1hZ2lza2Ega2Frb3IgZsO2ciB4YXV0aC5cbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODgKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgIHVzZSBmaWxlIGFzIGEgY29va2llIHNlZWRcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPGZpbD4gICAgICBhbnbDpG5kIGZpbCBzb20gZnLDtiB0aWxsIGtha29yXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg5Cittc2dpZCAiIC1tLCAtLW1heC1zaXplIDxudW0+ICBsaW1pdCBob3cgbXVjaCBpcyByZWFkIGZyb20gc2VlZCBmaWxlc1xuIgorbXNnc3RyICIgLW0sIC0tbWF4LXNpemUgPG51bT4gIGJlZ3LDpG5zYSBodXIgbXlja2V0IHNvbSBza2EgbMOkc2FzIGZyw6VuIGZyw7ZmaWxlclxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo5MAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICBmw7Zya2xhcmEgdmFkIHNvbSBow6RuZGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJHb3QgJXp1IGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJXp1IGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAiRmljayAlenUgYnl0ZSBmcsOlbiAlc1xuIgorbXNnc3RyWzFdICJGaWNrICV6dSBieXRlIGZyw6VuICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9zaW5nICVzIGZhaWxlZCIKK21zZ3N0ciAic3TDpG5nbmluZyBhdiAlcyBtaXNzbHlja2FkZXMiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE2NCBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE0NiBzeXMtdXRpbHMvZnN0cmltLmM6MzA4CisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGVuZ3RoIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBsw6RuZ2QiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE3NworbXNnaWQgIi0tbWF4LXNpemUgaWdub3JlZCB3aGVuIHVzZWQgd2l0aG91dCAtLWZpbGUiCittc2dzdHIgIi0tbWF4LXNpemUgaG9wcGFzIMO2dmVyIG7DpHIgZGVuIGFudsOkbmRzIHV0YW4gLS1maWxlIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR290ICVkIGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJWQgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICJGaWNrICVkIGJ5dGUgZnLDpW4gJXNcbiIKK21zZ3N0clsxXSAiRmljayAlZCBieXRlIGZyw6VuICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzeW1saW5rOiAlcyIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgbMOkc2Egc3ltYm9saXNrIGzDpG5rOiAlcyIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAtIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiJXMgLSBJbmdlbiBzw6VkYW4gZmlsIGVsbGVyIGthdGFsb2dcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwYXRobmFtZT4uLi5cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSA8c8O2a3bDpGdzbmFtbj7igKZcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzNgorbXNnaWQgIkZvbGxvdyBhIHBhdGhuYW1lIHVudGlsIGEgdGVybWluYWwgcG9pbnQgaXMgZm91bmQuXG4iCittc2dzdHIgIkbDtmxqIGV0dCBzw7ZrdsOkZ3NuYW1uIHRpbGwgZW4gc2x1dHB1bmt0IGhpdHRhcy5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzOQorbXNnaWQgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICBkaXNwbGF5cyB0aGlzIGhlbHAgdGV4dFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC14LCAtLW1vdW50cG9pbnRzICAgc2hvdyBtb3VudCBwb2ludCBkaXJlY3RvcmllcyB3aXRoIGEgJ0QnXG4iCisiIC1tLCAtLW1vZGVzICAgICAgICAgc2hvdyB0aGUgbW9kZSBiaXRzIG9mIGVhY2ggZmlsZVxuIgorIiAtbywgLS1vd25lcnMgICAgICAgIHNob3cgb3duZXIgYW5kIGdyb3VwIG5hbWUgb2YgZWFjaCBmaWxlXG4iCisiIC1sLCAtLWxvbmcgICAgICAgICAgdXNlIGEgbG9uZyBsaXN0aW5nIGZvcm1hdCAoLW0gLW8gLXYpIFxuIgorIiAtbiwgLS1ub3N5bWxpbmtzICAgIGRvbid0IGZvbGxvdyBzeW1saW5rc1xuIgorIiAtdiwgLS12ZXJ0aWNhbCAgICAgIHZlcnRpY2FsIGFsaWduIG9mIG1vZGVzIGFuZCBvd25lcnNcbiIKK21zZ3N0ciAiIgorIiAtaCwgLS1oZWxwICAgICAgICAgIHZpc2EgZGVubmEgaGrDpGxwdGV4dFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG1hdGEgdXQgdmVyc2lvbnNpbmZvcm1hdGlvbiBvY2ggYXZzbHV0YVxuIgorIiAteCwgLS1tb3VudHBvaW50cyAgIHZpc2Ega2F0YWxvZ2VyIG1lZCBtb250ZXJpbmdzcHVua3RlciBzb20gZXR0IOKAnUTigJ1cbiIKKyIgLW0sIC0tbW9kZXMgICAgICAgICB2aXNhIGzDpGdlc2JpdGFybmEgZsO2ciB2YXJqZSBmaWxcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICB2aXNhIMOkZ2FyZSBvY2ggZ3J1cHBuYW1uIGbDtnIgdmFyamUgZmlsXG4iCisiIC1sLCAtLWxvbmcgICAgICAgICAgYW52w6RuZCBldHQgbMOlbmd0IGxpc3Rmb3JtYXQgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICBmw7ZsaiBpbnRlIHN5bWJvbGlza2EgbMOkbmthclxuIgorIiAtdiwgLS12ZXJ0aWNhbCAgICAgIGp1c3RlcmEgbMOkZ2VuIG9jaCDDpGdhcmUgdmVydGlrYWx0XG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MDgKK21zZ2lkICJwYXRobmFtZSBhcmd1bWVudCBpcyBtaXNzaW5nIgorbXNnc3RyICJzw7ZrdsOkZ3Nhcmd1bWVudCBzYWtuYXMiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTQgc3lzLXV0aWxzL2xzbnMuYzo3NjQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgVUlEIGNhY2hlIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBhbGxva2VyYSBVSUQtY2FjaGUiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTcKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR0lEIGNhY2hlIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBhbGxva2VyYSBHSUQtY2FjaGUiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4Y2VlZGVkIGxpbWl0IG9mIHN5bWxpbmtzIgorbXNnc3RyICIlczogYmVncsOkbnNuaW5nIGbDtnIgc3ltYm9saXNrYSBsw6Rua2FyIMO2dmVyc2tyZWRzIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICIlczogaW50ZSBlbiBzeW1ib2xpc2sgbMOkbmsiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWRsaW5rIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHJlYWRsaW5rIG1pc3NseWNrYWRlcyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5saW5rIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHVubGluayBtaXNzbHlja2FkZXMiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN5bWxpbmtpbmcgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogc3ltYm9saXNrIGzDpG5rbmluZyB0aWxsICVzIG1pc3NseWNrYWRlcyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlbmFtZSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBuYW1uYnl0ZSB0aWxsICVzIG1pc3NseWNrYWRlcyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZXhwcmVzc2lvbj4gPHJlcGxhY2VtZW50PiA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSA8dXR0cnljaz4gPGVyc8OkdHRuaW5nPiA8ZmlsPuKAplxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyMgorbXNnaWQgIlJlbmFtZSBmaWxlcy5cbiIKK21zZ3N0ciAiQnl0IG5hbW4gcMOlIGZpbGVyLlxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyNQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgIGbDtnJrbGFyYSB2YWQgc29tIGjDpG5kZXJcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjYKK21zZ2lkICIgLXMsIC0tc3ltbGluayAgICBhY3Qgb24gdGhlIHRhcmdldCBvZiBzeW1saW5rc1xuIgorbXNnc3RyICIgLXMsIC0tc3ltbGluayAgICBhZ2VyYSBww6UgbcOlbGV0IGbDtnIgc3ltYm9saXNrYSBsw6Rua2FyXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MgorbXNnaWQgIkEgZGFlbW9uIGZvciBnZW5lcmF0aW5nIFVVSURzLlxuIgorbXNnc3RyICJFbiBkZW1vbiBmw7ZyIGF0dCBnZW5lcmVyYSBVVUlEOm4uXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NAorbXNnaWQgIiAtcCwgLS1waWQgPHBhdGg+ICAgICAgICBwYXRoIHRvIHBpZCBmaWxlXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPHPDtmt2w6RnPiAgICAgIHPDtmt2w6RnIHRpbGwgcGlkLWZpbFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzUKK21zZ2lkICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKK21zZ3N0ciAiIC1zLCAtLXNvY2tldCA8c8O2a3bDpGc+ICAgc8O2a3bDpGcgdGlsbCB1dHRhZ1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzYKK21zZ2lkICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKK21zZ3N0ciAiIC1ULCAtLXRpbWVvdXQgPHNlaz4gICAgIGFuZ2UgdGlkc2dyw6RucyBmw7ZyIGluYWt0aXZpdGV0XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NworbXNnaWQgIiAtaywgLS1raWxsICAgICAgICAgICAgICBraWxsIHJ1bm5pbmcgZGFlbW9uXG4iCittc2dzdHIgIiAtaywgLS1raWxsICAgICAgICAgICAgICBkw7ZkYSBrw7ZyYW5kZSBkZW1vblxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzgKK21zZ2lkICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdCByYW5kb20tYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdGEgc2x1bXBtw6Rzc2lnIGdlbmVyZXJpbmdcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICAgICAgICB0ZXN0YSB0aWRzYmFzZXJhZCBnZW5lcmVyaW5nXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MAorbXNnaWQgIiAtbiwgLS11dWlkcyA8bnVtPiAgICAgICByZXF1ZXN0IG51bWJlciBvZiB1dWlkc1xuIgorbXNnc3RyICIgLW4sIC0tdXVpZHMgPG51bT4gICAgICAgYmVnw6RyIGFudGFsIFVVSUQ6blxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODEKK21zZ2lkICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgZG8gbm90IGNyZWF0ZSBwaWQgZmlsZVxuIgorbXNnc3RyICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgc2thcGEgaW50ZSBQSUQtZmlsXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MgorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkbyBub3QgZGFlbW9uaXplIHVzaW5nIGRvdWJsZS1mb3JrXG4iCittc2dzdHIgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkZW1vbmlzZXJhIGludGUgdmlhIGR1YmJlbGFucm9wIGF2IGZvcmtcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgzCittc2dpZCAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIGRvIG5vdCBjcmVhdGUgbGlzdGVuaW5nIHNvY2tldFxuIgorbXNnc3RyICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gc2thcGEgaW50ZSBldHQgdXR0YWcgc29tIGx5c3NuYXMgcMOlXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4NAorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBydW4gaW4gZGVidWdnaW5nIG1vZGVcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIGvDtnIgaSBmZWxzw7ZrbmluZ3Nsw6RnZVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODUKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgdHVybiBvbiBxdWlldCBtb2RlXG4iCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICBha3RpdmVyYSB0eXN0IGzDpGdlXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMTgKK21zZ2lkICJiYWQgYXJndW1lbnRzIgorbXNnc3RyICJkw6VsaWdhIGFyZ3VtZW50IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTI1Cittc2dpZCAic29ja2V0IgorbXNnc3RyICJ1dHRhZyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEzNgorbXNnaWQgImNvbm5lY3QiCittc2dzdHIgImFuc2x1dCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE1NgorbXNnaWQgIndyaXRlIgorbXNnc3RyICJza3JpdiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE2NAorbXNnaWQgInJlYWQgY291bnQiCittc2dzdHIgImzDpHNuaW5nc2FudGFsIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTcwCittc2dpZCAiYmFkIHJlc3BvbnNlIGxlbmd0aCIKK21zZ3N0ciAiZmVsYWt0aWcgc3ZhcnNsw6RuZ2QiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGxvY2sgJXMiCittc2dzdHIgImthbiBpbnRlIGzDpXNhICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjQ2Cittc2dpZCAiY291bGRuJ3QgY3JlYXRlIHVuaXggc3RyZWFtIHNvY2tldCIKK21zZ3N0ciAia2FuIGludGUgc2thcGEgdW5peC1zdHLDtm11dHRhZyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBiaW5kIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICJrdW5kZSBpbnRlIGJpbmRhIHVuaXgtdXR0YWcgJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyOTgKK21zZ2lkICJyZWNlaXZpbmcgc2lnbmFsIGZhaWxlZCIKK21zZ3N0ciAibW90dGFnbmluZyBhdiBzaWduYWwgbWlzc2x5Y2thZGVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzExCittc2dpZCAidGltZWQgb3V0IgorbXNnc3RyICJ0aWRzZ3LDpG5zIHVwcG7DpWRkZXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNDUgc3lzLXV0aWxzL2Zsb2NrLmM6MjcxCittc2dpZCAiY2Fubm90IHNldCB1cCB0aW1lciIKK21zZ3N0ciAia2FuIGludGUgc3TDpGxsYSBpbiB0aW1lciIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICJ1dWlkZCBkYWVtb24gaXMgYWxyZWFkeSBydW5uaW5nIGF0IHBpZCAlcyIKK21zZ3N0ciAidXVpZGQtZGVtb25lbiBrw7ZyIHJlZGFuIHNvbSBwaWQgJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgbGlzdGVuIG9uIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICJrdW5kZSBpbnRlIGx5c3NuYSBww6UgdW5peC11dHRhZyAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgdHJ1bmNhdGUgZmlsZTogJXMiCittc2dzdHIgImt1bmRlIGludGUgdHJ1bmtlcmEgZmlsOiAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4NgorbXNnaWQgInNkX2xpc3Rlbl9mZHMoKSBmYWlsZWQiCittc2dzdHIgInNkX2xpc3Rlbl9mZHMoKSBtaXNzbHlja2FkZXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODkKK21zZ2lkICJubyBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayBzeXN0ZW1jdGwgc3RhdHVzIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAiaW5nYSBmaWxkZXNrcmlwdG9yZXIgbW90dGFnbmEsIGtvbnRyb2xsZXJhIHN5c3RlbWN0bCBzdGF0dXMgdXVpZGQuc29ja2V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzkyCittc2dpZCAidG9vIG1hbnkgZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgdXVpZGQuc29ja2V0IgorbXNnc3RyICJmw7ZyIG3DpW5nYSBmaWxkZXNrcmlwdG9yZXIgbW90dGFnbmEsIGtvbnRyb2xsZXJhIHV1aWRkLnNvY2tldCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQyMCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ1NQorbXNnaWQgInBvbGwgZmFpbGVkIgorbXNnc3RyICJwb2xsIG1pc3NseWNrYWRlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lb3V0IFslZCBzZWNdXG4iCittc2dzdHIgInRpZHNncsOkbnMgWyVkIHNla11cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0MyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQxNAorbXNnaWQgInJlYWQgZmFpbGVkIgorbXNnc3RyICJsw6RzbmluZyBtaXNzbHlja2FkZXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgcmVhZGluZyBmcm9tIGNsaWVudCwgbGVuID0gJWQiCittc2dzdHIgImZlbCB2aWQgbMOkc25pbmcgZnLDpW4ga2xpZW50LCBsw6RuZ2QgPSAlZCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ1NAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWQsIGluY29taW5nIG51bSA9ICVkXG4iCittc2dzdHIgIsOldGfDpHJkICVkLCBpbmtvbW1hbmRlIG51bSA9ICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkXG4iCittc2dzdHIgIsOldGfDpHJkICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRDogJXNcbiIKK21zZ3N0ciAiR2VuZXJlcmFkZSB0aWRzYmFzZXJhZCBVVUlEOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCByYW5kb20gVVVJRDogJXNcbiIKK21zZ3N0ciAiR2VuZXJlcmFkZSBzbHVtcG3DpHNzaWcgVVVJRDogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dzdHJbMF0gIkdlbmVyZXJhZGUgdGlkc2Jhc2VyYWQgVVVJRCAlcyBvY2ggJWQgZWZ0ZXJmw7ZsamFuZGVcbiIKK21zZ3N0clsxXSAiR2VuZXJlcmFkZSB0aWRzYmFzZXJhZCBVVUlEICVzIG9jaCAlZCBlZnRlcmbDtmxqYW5kZVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCAlZCBVVUlEOlxuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgJWQgVVVJRHM6XG4iCittc2dzdHJbMF0gIkdlbmVyZXJhZGUgJWQgVVVJRDpcbiIKK21zZ3N0clsxXSAiR2VuZXJlcmFkZSAlZCBVVUlEOmVyOlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgb3BlcmF0aW9uICVkXG4iCittc2dzdHIgIk9naWx0aWcgw6V0Z8OkcmQgJWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUzOQorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIHJlcGx5IGxlbmd0aCBmcm9tIHNlcnZlciAlZCIKK21zZ3N0ciAiT3bDpG50YWQgc3ZhcnNsw6RuZ2QgZnLDpW4gc2VydmVyICVkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjAwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdXVpZHMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIC0tdXVpZHMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MTcKK21zZ2lkICJ1dWlkZCBoYXMgYmVlbiBidWlsdCB3aXRob3V0IHN1cHBvcnQgZm9yIHNvY2tldCBhY3RpdmF0aW9uIgorbXNnc3RyICJ1dWlkZCBoYXIgYnlnZ3RzIHV0YW4gc3TDtmQgZsO2ciB1dHRhZ3Nha3RpdmVyaW5nIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjM2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGltZW91dCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgLS10aW1lb3V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjUzCittc2dpZCAiQm90aCAtLXNvY2tldC1hY3RpdmF0aW9uIGFuZCAtLXNvY2tldCBzcGVjaWZpZWQuIElnbm9yaW5nIC0tc29ja2V0LiIKK21zZ3N0ciAiQsOlZGUgLS1zb2NrZXQtYWN0aXZhdGlvbiBvY2ggLS1zb2NrZXQgYW5naXZldC4gSWdub3JlcmFyIC0tc29ja2V0LiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2MCBtaXNjLXV0aWxzL3V1aWRkLmM6Njg4CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNhbGxpbmcgdXVpZGQgZGFlbW9uICglcykiCittc2dzdHIgImZlbCB2aWQgYW5yb3AgYXYgdXVpZGQtZGVtb24oJXMpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYxIG1pc2MtdXRpbHMvdXVpZGQuYzo2ODkKK21zZ2lkICJ1bmV4cGVjdGVkIGVycm9yIgorbXNnc3RyICJvdsOkbnRhdCBmZWwiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRFxuIgorbXNnaWRfcGx1cmFsICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEc1xuIgorbXNnc3RyWzBdICIlcyBvY2ggJWQgZWZ0ZXJmw7ZsamFuZGUgVVVJRFxuIgorbXNnc3RyWzFdICIlcyBvY2ggJWQgZWZ0ZXJmw7ZsamFuZGUgVVVJRDplclxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjczCisjLCBjLWZvcm1hdAorbXNnaWQgIkxpc3Qgb2YgVVVJRHM6XG4iCittc2dzdHIgIkxpc3RhIMO2dmVyIFVVSUQ6ZXI6XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3Qga2lsbCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZCIKK21zZ3N0ciAia3VuZGUgaW50ZSBkw7ZkYSB1dWlkZCBrw7ZyYW5kZXMgc29tIHBpZCAlZCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcxMAorIywgYy1mb3JtYXQKK21zZ2lkICJLaWxsZWQgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQuXG4iCittc2dzdHIgIkTDtmRhZGUgdXVpZGQga8O2cmFuZGVzIHNvbSBwaWQgJWQuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI4Cittc2dpZCAiQ3JlYXRlIGEgbmV3IFVVSUQgdmFsdWUuXG4iCittc2dzdHIgIlNrYXBhIGV0dCBueXR0IFVVSUQtdsOkcmRlLlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozMQorbXNnaWQgIiIKKyIgLXIsIC0tcmFuZG9tICAgICBnZW5lcmF0ZSByYW5kb20tYmFzZWQgdXVpZFxuIgorIiAtdCwgLS10aW1lICAgICAgIGdlbmVyYXRlIHRpbWUtYmFzZWQgdXVpZFxuIgorIiAtViwgLS12ZXJzaW9uICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtciwgLS1yYW5kb20gICAgIGdlbmVyZXJhIHNsdW1wbcOkc3NpZ2EgdXVpZFxuIgorIiAtdCwgLS10aW1lICAgICAgIGdlbmVyZXJhIHRpZHNiYXNlcmFkZSB1dWlkXG4iCisiIC1WLCAtLXZlcnNpb24gICAgc2tyaXYgdXQgdmVyc2lvbnNpbmZvcm1hdGlvbiBvY2ggYXZzbHV0YVxuIgorIiAtaCwgLS1oZWxwICAgICAgIHZpc2EgZGVubmEgaGrDpGxwdGV4dCBvY2ggYXZzbHV0YVxuIgorIlxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLUJNUyA8ZGlyPi4uLiAtZl0gPG5hbWU+XG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gWy1CTVMgPGthdD7igKYgLWZdIDxuYW1uPlxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTIKK21zZ2lkICJMb2NhdGUgdGhlIGJpbmFyeSwgc291cmNlLCBhbmQgbWFudWFsLXBhZ2UgZmlsZXMgZm9yIGEgY29tbWFuZC5cbiIKK21zZ3N0ciAiTGV0YSB1cHAgZmlsZXJuYSBtZWQgYmluw6RyZW4sIGvDpGxsa29kZW4gb2NoIG1hbnVhbHNpZGFuIGbDtnIgZXR0IGtvbW1hbmRvLlxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTUKK21zZ2lkICIgLWIgICAgICAgICBzZWFyY2ggb25seSBmb3IgYmluYXJpZXNcbiIKK21zZ3N0ciAiIC1iICAgICAgICAgc8O2ayBlbmRhc3QgZWZ0ZXIgYmluw6RyZXJcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk2Cittc2dpZCAiIC1CIDxkaXJzPiAgZGVmaW5lIGJpbmFyaWVzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiAtQiA8c8O2a3Y+ICBkZWZpbmllcmEgYmluw6RyZXJuYXMgc8O2a3bDpGdcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk3Cittc2dpZCAiIC1tICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIG1hbnVhbHMgYW5kIGluZm9zXG4iCittc2dzdHIgIiAtbSAgICAgICAgIHPDtmsgZW5kYXN0IGVmdGVyIG1hbnVhbC0gb2NoIGluZm9zaWRvclxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTgKK21zZ2lkICIgLU0gPGRpcnM+ICBkZWZpbmUgbWFuIGFuZCBpbmZvIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiAtTSA8c8O2a3Y+ICBkZWZpbmllcmEgbWFuLSBvY2ggaW5mb3PDtmt2w6RnXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5OQorbXNnaWQgIiAtcyAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBzb3VyY2VzXG4iCittc2dzdHIgIiAtcyAgICAgICAgIHPDtmsgZW5kYXN0IGVmdGVyIGvDpGxsa29kXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMAorbXNnaWQgIiAtUyA8ZGlycz4gIGRlZmluZSBzb3VyY2VzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiAtUyA8c8O2a3Y+ICBkZWZpbmllcmEgc8O2a3bDpGcgZsO2ciBrw6RsbGtvZFxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDEKK21zZ2lkICIgLWYgICAgICAgICB0ZXJtaW5hdGUgPGRpcnM+IGFyZ3VtZW50IGxpc3RcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgYXZzbHV0YSBhcmd1bWVudGxpc3RhbiA8c8O2a3Y+XG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMgorbXNnaWQgIiAtdSAgICAgICAgIHNlYXJjaCBmb3IgdW51c3VhbCBlbnRyaWVzXG4iCittc2dzdHIgIiAtdSAgICAgICAgIHPDtmsgZWZ0ZXIgb3ZhbmxpZ2EgcG9zdGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMworbXNnaWQgIiAtbCAgICAgICAgIG91dHB1dCBlZmZlY3RpdmUgbG9va3VwIHBhdGhzXG4iCittc2dzdHIgIiAtbCAgICAgICAgIG1hdGEgdXQgZWZmZWt0aXZhIHPDtmt2w6RnYXJcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NjE5Cittc2dpZCAib3B0aW9uIC1mIGlzIG1pc3NpbmciCittc2dzdHIgImZsYWdnYW4gLWYgc2FrbmFzIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjE5NgorbXNnaWQgInBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAicGFydGl0aW9uc3RhYmVsbCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBwcm9iaW5nIGluaXRpYWxpemF0aW9uIGZhaWxlZCIKK21zZ3N0ciAiZmVsOiAlczogYXZzw7ZrbmluZ3Npbml0aWVyaW5nIG1pc3NseWNrYWRlcyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBlcmFzZSAlcyBtYWdpYyBzdHJpbmcgYXQgb2Zmc2V0IDB4JTA4angiCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCB0YSBib3J0ICVzIG1hZ2lzayBzdHLDpG5nIHZpZCBwb3NpdGlvbiAweCUwOGp4IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dpZF9wbHVyYWwgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzBdICIlczogJXpkIGJ5dGUgcmFkZXJhZGVzIHZpZCBwb3NpdGlvbiAweCUwOGp4ICglcyk6ICIKK21zZ3N0clsxXSAiJXM6ICV6ZCBieXRlIHJhZGVyYWRlcyB2aWQgcG9zaXRpb24gMHglMDhqeCAoJXMpOiAiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCIKK21zZ3N0ciAiJXM6IG1pc3NseWNrYWRlcyBtZWQgYXR0IHNrYXBhIHPDpGtlcmhldHNrb3BpYSBhdiBzaWduYXR1ciIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbGxpbmcgaW9jdGwgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGU6ICVtXG4iCittc2dzdHIgIiVzOiBhbnJvcGFyIGlvY3RsIGbDtnIgYXR0IGzDpHNhIG9tIHBhcnRpdGlvbnN0YWJlbGxlbjogJW1cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozODUKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBza2FwYSBlbiBzaWduYXR1cnPDpGtlcmhldHNrb3BpYSwgJEhPTUUgw6RyIG9kZWZpbmllcmF0IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaWdub3JpbmcgbmVzdGVkIFwiJXNcIiBwYXJ0aXRpb24gdGFibGUgb24gbm9uLXdob2xlIGRpc2sgZGV2aWNlIgorbXNnc3RyICIlczogaWdub3JlcmFyIG7DpHN0bGFkIHBhcnRpdGlvbnN0YWJlbGwg4oCdJXPigJ0gcMOlIGVuIGlja2UtZnVsbHN0w6RuZGlnIGRpc2tlbmhldCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAweCVqeCBub3QgZm91bmQiCittc2dzdHIgIiVzOiBwb3NpdGlvbiAweCVqeCBoaXR0YWRlcyBpbnRlIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQzNQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBvcHRpb24gdG8gZm9yY2UgZXJhc2UuIgorbXNnc3RyICJBbnbDpG5kIGZsYWdnYW4gLS1mb3JjZSBmw7ZyIGF0dCB0dmluZ2EgZnJhbSByYWRlcmluZy4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU5Cittc2dpZCAiV2lwZSBzaWduYXR1cmVzIGZyb20gYSBkZXZpY2UuXG4iCittc2dzdHIgIlJhZGVyYSBzaWduYXR1cmVyIGZyw6VuIGVuIGVuaGV0LlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ2MgorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICB3aXBlIGFsbCBtYWdpYyBzdHJpbmdzIChCRSBDQVJFRlVMISlcbiIKKyIgLWIsIC0tYmFja3VwICAgICAgICBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIGluICRIT01FXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgZm9yY2UgZXJhc3VyZVxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKKyIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgYWN0dWFsIHdyaXRlKCkgY2FsbFxuIgorIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCB0byBlcmFzZSwgaW4gYnl0ZXNcbiIKKyIgLXAsIC0tcGFyc2FibGUgICAgICBwcmludCBvdXQgaW4gcGFyc2FibGUgaW5zdGVhZCBvZiBwcmludGFibGUgZm9ybWF0XG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcHJlc3Mgb3V0cHV0IG1lc3NhZ2VzXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtLCBSQUlEcyBvciBwYXJ0aXRpb24gdGFibGVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgIHJhZGVyYSBhbGxhIG1hZ2lza2Egc3Ryw6RuZ2FyIChWQVIgQUtUU0FNISlcbiIKKyIgLWIsIC0tYmFja3VwICAgICAgICBza2FwYSBlbiBzaWduYXR1cnPDpGtlcmhldHNrb3BpYSBpICRIT01FXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgdHZpbmdhIHJhZGVyaW5nXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgdmlzYSBkZW5uYSBoasOkbHB0ZXh0XG4iCisiIC1uLCAtLW5vLWFjdCAgICAgICAgZ8O2ciBhbGx0aW5nIHV0b20gc2rDpGx2YSB3cml0ZSgpLWFucm9wZXRcbiIKKyIgLW8sIC0tb2Zmc2V0IDxudW0+ICBwb3NpdGlvbiBhdHQgcmFkZXJhLCBpIGJ5dGVcbiIKKyIgLXAsIC0tcGFyc2FibGUgICAgICBza3JpdiB1dCBpIHRvbGtuaW5nc2JhcnQgaXN0w6RsbGV0IGbDtnIgdXRza3JpdmJhcnQgZm9ybWF0XG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgdW5kZXJ0cnljayBtZWRkZWxhbmRlblxuIgorIiAtdCwgLS10eXBlcyA8bGlzdGE+ICBiZWdyw6Ruc2EgbcOkbmdkZW4gZmlsc3lzdGVtLCBSQUlEOmVyIGVsbGVyIHBhcnRpdGlvbnN0YWJlbGxlclxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIHNrcml2IHV0IHZlcnNpb25zaW5mb3JtYXRpb24gb2NoIGF2c2x1dGFcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MzMKK21zZ2lkICJpbnZhbGlkIG9mZnNldCBhcmd1bWVudCIKK21zZ3N0ciAib2dpbHRpZ3QgcG9zaXRpb25zYXJndW1lbnQiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTU4Cittc2dpZCAiVGhlIC0tYmFja3VwIG9wdGlvbiBpcyBtZWFuaW5nbGVzcyBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIkZsYWdnYW4gLS1iYWNrdXAgw6RyIG1lbmluZ3Nsw7ZzIGkgZGV0dGEgc2FtbWFuaGFuZyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM1Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlYWwtdGltZSBzY2hlZHVsaW5nIGF0dHJpYnV0ZXMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICJWaXNhIGVsbGVyIMOkbmRyYSByZWFsdGlkcy1zY2hlbWFsw6RnZ25pbmdzYXR0cmlidXRlbiBmw7ZyIGVuIHByb2Nlc3MuXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNworbXNnaWQgIiIKKyJTZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSA8cHJpb3JpdHk+IDxjb21tYW5kPiBbPGFyZz4uLi5dXG4iCisiIGNocnQgW29wdGlvbnNdIC0tcGlkIDxwcmlvcml0eT4gPHBpZD5cbiIKK21zZ3N0ciAiIgorIlN0w6RsbCBpbiBwb2xpY3k6XG4iCisiIGNocnQgW2ZsYWdnb3JdIDxwcmlvcml0ZXQ+IDxrb21tYW5kbz4gWzxhcmc+Li4uXVxuIgorIiBjaHJ0IFtmbGFnZ29yXSAtLXBpZCA8cHJpb3JpdGV0PiA8cGlkPlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDEKK21zZ2lkICIiCisiR2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gLXAgPHBpZD5cbiIKK21zZ3N0ciAiIgorIkjDpG10YSBwb2xpY3k6XG4iCisiIGNocnQgW2ZsYWdnb3JdIC1wIDxwaWQ+XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NQorbXNnaWQgIlBvbGljeSBvcHRpb25zOlxuIgorbXNnc3RyICJQb2xpY3lmbGFnZ29yOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDYKK21zZ2lkICIgLWIsIC0tYmF0Y2ggICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorbXNnc3RyICIgLWIsIC0tYmF0Y2ggICAgICAgICAgc3TDpGxsIGluIHBvbGljeSBww6UgU0NIRURfQkFUQ0hcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ3Cittc2dpZCAiIC1kLCAtLWRlYWRsaW5lICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfREVBRExJTkVcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYWRsaW5lICAgICAgIHN0w6RsbCBpbiBwb2xpY3kgcMOlIFNDSEVEX0RFQURMSU5FXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OAorbXNnaWQgIiAtZiwgLS1maWZvICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKK21zZ3N0ciAiIC1mLCAtLWZpZm8gICAgICAgICAgIHN0w6RsbCBpbiBwb2xpY3kgcMOlIFNDSEVEX0ZJRk9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ5Cittc2dpZCAiIC1pLCAtLWlkbGUgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfSURMRVxuIgorbXNnc3RyICIgLWksIC0taWRsZSAgICAgICAgICAgc3TDpGxsIGluIHBvbGljeSBww6UgU0NIRURfSURMRVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTAKK21zZ2lkICIgLW8sIC0tb3RoZXIgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorbXNnc3RyICIgLW8sIC0tb3RoZXIgICAgICAgICAgc3TDpGxsIGluIHBvbGljeSBww6UgU0NIRURfT1RIRVJcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUxCittc2dpZCAiIC1yLCAtLXJyICAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtciwgLS1yciAgICAgICAgICAgICBzdMOkbGwgaW4gcG9saWN5IHDDpSBTQ0hFRF9SUiAoc3RhbmRhcmQpXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NAorbXNnaWQgIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAiU2NoZW1hbMOkZ2duaW5nc2ZsYWdnb3I6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NQorbXNnaWQgIiAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgIHNldCBTQ0hFRF9SRVNFVF9PTl9GT1JLIGZvciBGSUZPIG9yIFJSXG4iCittc2dzdHIgIiAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgIHN0w6RsbCBpbiBTQ0hFRF9SRVNFVF9PTl9GT1JLIGbDtnIgRklGTyBlbGxlciBSUlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTYKK21zZ2lkICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBydW50aW1lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAga8O2cnRpZHNwYXJhbWV0ZXIgZsO2ciBERUFETElORVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTcKK21zZ2lkICIgLVAsIC0tc2NoZWQtcGVyaW9kIDxucz4gICBwZXJpb2QgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIgLVAsIC0tc2NoZWQtcGVyaW9kIDxucz4gICBwZXJpb2RwYXJhbWV0ZXIgZsO2ciBERUFETElORVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTgKK21zZ2lkICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IHRpZHNncsOkbnNwYXJhbWV0ZXIgZsO2ciBERUFETElORVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjEKK21zZ2lkICJPdGhlciBvcHRpb25zOlxuIgorbXNnc3RyICJBbmRyYSBmbGFnZ29yOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjIKK21zZ2lkICIgLWEsIC0tYWxsLXRhc2tzICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbC10YXNrcyAgICAgIGFyYmV0YSBww6UgYWxsYSB0csOlZGFyIGbDtnIgZW4gZ2l2ZW4gcGlkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MworbXNnaWQgIiAtbSwgLS1tYXggICAgICAgICAgICBzaG93IG1pbiBhbmQgbWF4IHZhbGlkIHByaW9yaXRpZXNcbiIKK21zZ3N0ciAiIC1tLCAtLW1heCAgICAgICAgICAgIHZpc2EgbWluc3RhIG9jaCBzdMO2cnN0YSBnaWx0aWdhIHByaW9yaXRldGVyXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NAorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAgICAgYXJiZXRhIHDDpSBleGlzdGVyYW5kZSwgYW5naXZlbiBwaWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICB2aXNhIHN0YXR1c2luZm9ybWF0aW9uXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjIzMiBzY2hlZHV0aWxzL2NocnQuYzoyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGjDpG10YSBwaWQgJWQ6cyBwb2xpY3kiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGF0dHJpYnV0ZXMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGjDpG10YSBwaWQgJWQ6cyBhdHRyaWJ1dCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY3CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgInBpZCAlZDpzIG55YSBzY2hlbWFsw6RnZ25pbmdzcG9saWN5OiAlcyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICJwaWQgJWQ6cyBha3R1ZWxsYSBzY2hlbWFsw6RnZ25pbmdzcG9saWN5OiAlcyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICJwaWQgJWQ6cyBueWEgc2NoZW1hbMOkZ2duaW5nc3BvbGljeTogJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAicGlkICVkOnMgYWt0dWVsbGEgc2NoZW1hbMOkZ2duaW5nc3BvbGljeSAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgInBpZCAlZDpzIG55YSBrw7ZydGlkL3RpZHNncsOkbnMvcGVyaW9kLXBhcmFtZXRyYXI6ICVqdS8lanUvJWp1XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgInBpZCAlZDpzIGFrdHVlbGxhIGvDtnJ0aWQvdGlkc2dyw6Rucy9wZXJpb2QtcGFyYW1ldHJhcjogJWp1LyVqdS8lanVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzAwIHNjaGVkdXRpbHMvY2hydC5jOjM5NgorbXNnaWQgImNhbm5vdCBvYnRhaW4gdGhlIGxpc3Qgb2YgdGFza3MiCittc2dzdHIgImthbiBpbnRlIGjDpG10YSBsaXN0YW4gw7Z2ZXIgdXBwZ2lmdGVyIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbWluL21heCBwcmlvcml0eVx0OiAlZC8lZFxuIgorbXNnc3RyICIlcyBtaW4vbWF4LXByaW9yaXRldFx0OiAlZC8lZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IHN1cHBvcnRlZD9cbiIKK21zZ3N0ciAiJXMgc3TDtmRzIGludGU/XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgc3TDpGxsYSBpbiB0aWQgJWQ6cyBwb2xpY3kiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgc3TDpGxsYSBpbiBwaWQgJWQ6cyBwb2xpY3kiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NworbXNnaWQgImludmFsaWQgcnVudGltZSBhcmd1bWVudCIKK21zZ3N0ciAib2dpbHRpZ3Qga8O2cnRpZHNhcmd1bWVudCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDkwCittc2dpZCAiaW52YWxpZCBwZXJpb2QgYXJndW1lbnQiCittc2dzdHIgIm9naWx0aWd0IHBlcmlvZGFyZ3VtZW50IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTMKK21zZ2lkICJpbnZhbGlkIGRlYWRsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJvZ2lsdGlndCB0aWRzZ3LDpG5zYXJndW1lbnQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUxNworbXNnaWQgImludmFsaWQgcHJpb3JpdHkgYXJndW1lbnQiCittc2dzdHIgIm9naWx0aWd0IHByaW9yaXRldHNhcmd1bWVudCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTIxCittc2dpZCAiLS1yZXNldC1vbi1mb3JrIG9wdGlvbiBpcyBzdXBwb3J0ZWQgZm9yIFNDSEVEX0ZJRk8gYW5kIFNDSEVEX1JSIHBvbGljaWVzIG9ubHkiCittc2dzdHIgIi0tcmVzZXQtb24tZm9yay1mbGFnZ2FuIHN0w7ZkcyBlbmRhc3QgZsO2ciBTQ0hFRF9GSUZPLSBvY2ggU0NIRURfUlItcG9saWN5ZXIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyNgorbXNnaWQgIi0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgZm9yIFNDSEVEX0RFQURMSU5FIG9ubHkiCittc2dzdHIgIi0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfS1mbGFnZ29ybmEgc3TDtmRzIGVuZGFzdCBmw7ZyIFNDSEVEX0RFQURMSU5FIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1NDEKK21zZ2lkICJTQ0hFRF9ERUFETElORSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiU0NIRURfREVBRExJTkUgc3TDtmRzIGludGUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcmlvcml0eSB2YWx1ZSBmb3IgdGhlIHBvbGljeTogJWQ6IHNlZSAtLW1heCBmb3IgdmFsaWQgcmFuZ2UiCittc2dzdHIgInByaW9yaXRldHN2w6RyZGUgZsO2ciBwb2xpY3luIHN0w7ZkcyBlajogJWQ6IHNlIC0tbWF4IGbDtnIgb2dpbHRpZ3QgaW50ZXJ2YWxsIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc2Cittc2dpZCAiaW9wcmlvX2dldCBmYWlsZWQiCittc2dzdHIgImlvcHJpb19nZXQgbWlzc2x5Y2thZGVzIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwcmlvICVsdVxuIgorbXNnc3RyICIlczogcHJpb3JpdGV0ICVsdVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjk4Cittc2dpZCAiaW9wcmlvX3NldCBmYWlsZWQiCittc2dzdHIgImlvcHJpb19zZXQgbWlzc2x5Y2thZGVzIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEwNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIC1wIDxwaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC1QIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtdSA8dWlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtmbGFnZ29yXSAtcCA8cGlkPuKAplxuIgorIiAlMSRzIFtmbGFnZ29yXSAtUCA8cGdpZD7igKZcbiIKKyIgJTEkcyBbZmxhZ2dvcl0gLXUgPHVpZD7igKZcbiIKKyIgJTEkcyBbZmxhZ2dvcl0gPGtvbW1hbmRvPlxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExMAorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBJL08tc2NoZWR1bGluZyBjbGFzcyBhbmQgcHJpb3JpdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICJWaXNhIGVsbGVyIMOkbmRyYSBzY2hlbWFsw6RnZ25pbmdza2xhc3MgZsO2ciBJL08gb2NoIHByaW9yaXRldCBmw7ZyIGVuIHByb2Nlc3MuXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTEzCittc2dpZCAiIgorIiAtYywgLS1jbGFzcyA8Y2xhc3M+ICAgIG5hbWUgb3IgbnVtYmVyIG9mIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKK21zZ3N0ciAiIgorIiAtYywgLS1jbGFzcyA8a2xhc3M+ICAgIG5hbW4gZWxsZXIgbnVtbWVyIGbDtnIgc2NoZW1hbMOkZ2duaW5nc2tsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMDogaW5nZW4sIDE6IHJlYWx0aWQsIDI6IGLDpHN0YSBpbnNhdHMsIDM6IG92ZXJrc2FtXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE1Cittc2dpZCAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPG51bT4gIHByaW9yaXR5ICgwLi43KSBpbiB0aGUgc3BlY2lmaWVkIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IGZvciB0aGUgcmVhbHRpbWUgYW5kIGJlc3QtZWZmb3J0IGNsYXNzZXNcbiIKK21zZ3N0ciAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPG51bT4gIHByaW9yaXRldCAoMC4uNykgaW5vbSBkZW4gYW5naXZuYSBzY2hlbWFsw6RnZ25pbmdza2xhc3NlbixcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZGFzdCBmw7ZyIHJlYWx0aWRzLSBvY2ggYsOkc3RhLWluc2F0c2tsYXNzZXJuYVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNworbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4uLi4gICAgIGFjdCBvbiB0aGVzZSBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPHBpZD7igKYgICAgICAgYWdlcmEgcMOlIGRlc3NhIHJlZGFuIGvDtnJhbmRlIHByb2Nlc3NlclxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOAorbXNnaWQgIiAtUCwgLS1wZ2lkIDxwZ3JwPi4uLiAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIGluIHRoZXNlIGdyb3Vwc1xuIgorbXNnc3RyICIgLVAsIC0tcGdpZCA8cGdycD7igKYgICAgIGFnZXJhIHDDpSByZWRhbiBrw7ZyYW5kZSBwcm9jZXNzZXIgaSBkZXNzYSBncnVwcGVyXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE5Cittc2dpZCAiIC10LCAtLWlnbm9yZSAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCittc2dzdHIgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIGlnbm9yZXJhIGZlbFxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMAorbXNnaWQgIiAtdSwgLS11aWQgPHVpZD4uLi4gICAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIG93bmVkIGJ5IHRoZXNlIHVzZXJzXG4iCittc2dzdHIgIiAtdSwgLS11aWQgPHVpZD7igKYgICAgICAgYWdlcmEgcMOlIHJlZGFuIGvDtnJhbmRlIHByb2Nlc3NlciBzb20gw6RncyBhdiBkZXNzYSBhbnbDpG5kYXJlXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTU3Cittc2dpZCAiaW52YWxpZCBjbGFzcyBkYXRhIGFyZ3VtZW50IgorbXNnc3RyICJvZ2lsdGlndCBrbGFzc2RhdGFhcmd1bWVudCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjMKK21zZ2lkICJpbnZhbGlkIGNsYXNzIGFyZ3VtZW50IgorbXNnc3RyICJvZ2lsdGlndCBrbGFzc2FyZ3VtZW50IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNjaGVkdWxpbmcgY2xhc3M6ICclcyciCittc2dzdHIgIm9rw6RuZCBzY2hlbWFsw6RnZ25pbmdza2xhc3M6IOKAnSVz4oCdIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NCBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MgorbXNnaWQgImNhbiBoYW5kbGUgb25seSBvbmUgb2YgcGlkLCBwZ2lkIG9yIHVpZCBhdCBvbmNlIgorbXNnc3RyICJrYW4gYmFyYSBoYW50ZXJhIGVuIHV0YXYgcGlkLCBwZ2lkIGVsbGVyIHVpZCDDpXQgZ8OlbmdlbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxODUKK21zZ2lkICJpbnZhbGlkIFBHSUQgYXJndW1lbnQiCittc2dzdHIgIm9naWx0aWd0IFBHSUQtYXJndW1lbnQiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkzCittc2dpZCAiaW52YWxpZCBVSUQgYXJndW1lbnQiCittc2dzdHIgIm9naWx0aWd0IFVJRC1hcmd1bWVudCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMTIKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBub25lIGNsYXNzIgorbXNnc3RyICJpZ25vcmVyYXIgYW5naXZlbiBrbGFzc2RhdGEgdXRhbiBrbGFzcyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjAKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBpZGxlIGNsYXNzIgorbXNnc3RyICJpZ25vcmVyYXIgYW5naXZlbiBrbGFzc2RhdGEgZsO2ciBvdmVya3NhbWhldHNrbGFzcyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvIGNsYXNzICVkIgorbXNnc3RyICJva8OkbmQgcHJpb3JpdGV0c2tsYXNzICVkIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVXNhZ2U6ICVzIFtvcHRpb25zXSBbbWFzayB8IGNwdS1saXN0XSBbcGlkfGNtZCBbYXJncy4uLl1dXG4iCisiXG4iCittc2dzdHIgIiIKKyJBbnbDpG5kbmluZzogJXMgW2ZsYWdnb3JdIFttYXNrIHwgY3B1LWxpc3RhXSBbcGlkIHwga21kIFthcmfigKZdXVxuIgorIlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1NQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBDUFUgYWZmaW5pdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICJWaXNhIGVsbGVyIMOkbmRyYSBDUFUtYWZmaW5pdGV0IGbDtnIgZW4gcHJvY2Vzcy5cbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk9wdGlvbnM6XG4iCisiIC1hLCAtLWFsbC10YXNrcyAgICAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisiIC1wLCAtLXBpZCAgICAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCisiIC1jLCAtLWNwdS1saXN0ICAgICAgICAgIGRpc3BsYXkgYW5kIHNwZWNpZnkgY3B1cyBpbiBsaXN0IGZvcm1hdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvblxuIgorIlxuIgorbXNnc3RyICIiCisiRmxhZ2dvcjpcbiIKKyIgLWEsIC0tYWxsLXRhc2tzICAgICAgICAgYXJiZXRhIHDDpSBhbGxhIHRyw6VkYXIgZsO2ciBlbiBhbmdpdmVuIHBpZFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICBhcmJldGEgcMOlIGV4aXN0ZXJhbmRlLCBhbmdpdmVuIHBpZFxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICB2aXNhIG9jaCBhbmdlIENQVTplciBpIGxpc3Rmb3JtYXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgdmlzYSBkZW5uYSBoasOkbHB0ZXh0XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIHNrcml2IHV0IHZlcnNpb25zaW5mb3JtYXRpb25cbiIKKyJcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIHJ1biBhIG5ldyBjb21tYW5kOlxuIgorIiAgICAlMSRzIDAzIHNzaGQgLWIgMTAyNFxuIgorIllvdSBjYW4gcmV0cmlldmUgdGhlIG1hc2sgb2YgYW4gZXhpc3RpbmcgdGFzazpcbiIKKyIgICAgJTEkcyAtcCA3MDBcbiIKKyJPciBzZXQgaXQ6XG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisiTGlzdCBmb3JtYXQgdXNlcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IGluc3RlYWQgb2YgYSBtYXNrOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJSYW5nZXMgaW4gbGlzdCBmb3JtYXQgY2FuIHRha2UgYSBzdHJpZGUgYXJndW1lbnQ6XG4iCisiICAgIGUuZy4gMC0zMToyIGlzIGVxdWl2YWxlbnQgdG8gbWFzayAweDU1NTU1NTU1XG4iCittc2dzdHIgIiIKKyJTdGFuZGFyZGJldGVlbmRldCDDpHIgYXR0IGvDtnJhIGV0dCBueXR0IGtvbW1hbmRvOlxuIgorIiAgICAlMSRzIDAzIHNzaGQgLWIgMTAyNFxuIgorIkR1IGthbiBow6RtdGEgbWFza2VuIGbDtnIgZW4gZXhpc3RlcmFuZGUgdHLDpWQ6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiRWxsZXIgc3TDpGxsYSBpbiBkZW46XG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisiTGlzdGZvcm1hdGV0IGFudsOkbmRlciBlbiBrb21tYXNlcGFyZXJhZCBsaXN0YSBpc3TDpGxsZXQgZsO2ciBlbiBtYXNrOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJJbnRlcnZhbGwgaSBsaXN0Zm9ybWF0ZXQga2FuIHRhIGV0dCBzdGVnYXJndW1lbnQ6XG4iCisiICAgIHQuZXggw6RyIDAtMzE6MiBla3ZpdmFsZW50IG1lZCBtYXNrIDB4NTU1NTU1NTVcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgInBpZCAlZDpzIG55YSBhZmZpbml0ZXRzbGlzdGE6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAicGlkICVkOnMgYWt0dWVsbGEgYWZmaW5pdGV0c2xpc3RhOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAicGlkICVkOnMgbnlhIGFmZmluaXRldHNtYXNrOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgInBpZCAlZDpzIGFrdHVlbGxhIGFmZmluaXRldHNtYXNrOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5OQorbXNnaWQgImludGVybmFsIGVycm9yOiBjb252ZXJzaW9uIGZyb20gY3B1c2V0IHRvIHN0cmluZyBmYWlsZWQiCittc2dzdHIgImludGVybnQgZmVsOiBrb252ZXJ0ZXJpbmcgZnLDpW4gY3B1LXVwcHPDpHR0bmluZyB0aWxsIHN0csOkbmcgbWlzc2x5Y2thZGVzIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMDkgc2NoZWR1dGlscy90YXNrc2V0LmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGjDpG10YSBwaWQgJWQ6cyBhZmZpbml0ZXQiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBzdMOkbGxhIGluIHBpZCAlZDpzIGFmZmluaXRldCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTg2IHN5cy11dGlscy9jaGNwdS5jOjI4OQorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgTlJfQ1BVUzsgYWJvcnRpbmciCittc2dzdHIgImthbiBpbnRlIGJlc3TDpG1tYSBOUl9DUFVTOyBhdnNsdXRhciIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTk1IHNjaGVkdXRpbHMvdGFza3NldC5jOjIwOCBzeXMtdXRpbHMvY2hjcHUuYzoyOTUKK21zZ2lkICJjcHVzZXRfYWxsb2MgZmFpbGVkIgorbXNnc3RyICJjcHVzZXRfYWxsb2MgbWlzc2x5Y2thZGVzIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMTUgc3lzLXV0aWxzL2NoY3B1LmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdDogJXMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIENQVS1saXN0YTogJXMiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2s6ICVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBDUFUtbWFzazogJXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFplcm8tZmlsbGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiVzOiBGeWxsZGUgJTxQUkl1NjQ+IGJ5dGUgbWVkIG5vbGxvciBmcsOlbiBwb3NpdGlvbiAlPFBSSXU2ND5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogRGlzY2FyZGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiVzOiBLYXNzZXJhZGUgJTxQUkl1NjQ+IGJ5dGUgZnLDpW4gcG9zaXRpb24gJTxQUkl1NjQ+XG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODcKK21zZ2lkICJEaXNjYXJkIHRoZSBjb250ZW50IG9mIHNlY3RvcnMgb24gYSBkZXZpY2UuXG4iCittc2dzdHIgIkthc3NlcmEgaW5uZWjDpWxsZXQgaSBzZWt0b3Jlcm5hIHDDpSBlbiBlbmhldC5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MAorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8bnVtPiAgcG9zaXRpb24gaSBieXRlIGF0dCBrYXNzZXJhIGZyw6VuXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTEKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbMOkbmdkIGkgYnl0ZSBhdHQga2Fzc2VyYSBtZWQgYsO2cmphbiBmcsOlbiBwb3NpdGlvbmVuXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTIKK21zZ2lkICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiIC1wLCAtLXN0ZXAgPG51bT4gICAgc3RvcmxlayBmw7ZyIGthc3NlcmluZ3NpdGVyYXRpb25lcm5hIGlub20gcG9zaXRpb25lblxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkzCittc2dpZCAiIC1zLCAtLXNlY3VyZSAgICAgICAgcGVyZm9ybSBzZWN1cmUgZGlzY2FyZFxuIgorbXNnc3RyICIgLXMsIC0tc2VjdXJlICAgICAgICB1dGbDtnIgc8Oka2VyIGthc3NlcmluZ1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk0Cittc2dpZCAiIC16LCAtLXplcm9vdXQgICAgICAgemVyby1maWxsIHJhdGhlciB0aGFuIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC16LCAtLXplcm9vdXQgICAgICAgZnlsbCBtZWQgbm9sbG9yIGlzdMOkbGxldCBmw7ZyIGF0dCBrYXNzZXJhXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgIHNrcml2IHV0IGp1c3RlcmFkIGzDpG5nZCBvY2ggcG9zaXRpb25cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTAgc3lzLXV0aWxzL2ZzdHJpbS5jOjMxMiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY3MworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTI0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG9mZnNldCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgcG9zaXRpb24iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTU0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0ZXAiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIHN0ZWciCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTcyIHN5cy11dGlscy96cmFtY3RsLmM6NjgyIHN5cy11dGlscy96cmFtY3RsLmM6NzA4Cittc2dpZCAibm8gZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAiaW5nZW4gZW5oZXQgYW5naXZlbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzcgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM1MQorIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTIyIHN5cy11dGlscy9mc3RyaW0uYzozMzQKK21zZ2lkICJ1bmV4cGVjdGVkIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgIm92w6RudGF0IGFudGFsIGFyZ3VtZW50IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLR0VUU0laRTY0IGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEJMS0dFVFNJWkU2NCBpb2N0bCBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTU1pHRVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogQkxLU1NaR0VUIGlvY3RsIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiVzOiBwb3NpdGlvbiAlPFBSSXU2ND4gw6RyIGludGUganVzdGVyYWQgdGlsbCBzZWt0b3JzdG9ybGVrICVpIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0IGlzIGdyZWF0ZXIgdGhhbiBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAiJXM6IHBvc2l0aW9uZW4gw6RyIHN0w7ZycmUgw6RuIGVuaGV0c3N0b3JsZWsiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsZW5ndGggJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIlczogbMOkbmdkICU8UFJJdTY0PiDDpHIgaW50ZSBqdXN0ZXJhZCB0aWxsIHNla3RvcnN0b3JsZWsgJWkiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtaRVJPT1VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEJMS1pFUk9PVVQgaW9jdGwgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU0VDRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBCTEtTRUNESVNDQVJELWlvY3RsIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogQkxLRElTQ0FSRC1pb2N0bCBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjg3IHN5cy11dGlscy9jaGNwdS5jOjE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIkNQVSAldSBleGlzdGVyYXIgaW50ZSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBob3QgcGx1Z2dhYmxlIgorbXNnc3RyICJDUFUgJXUgw6RyIGludGUgaG90cGx1Zy1iYXIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGVuYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1IMOkciByZWRhbiBha3RpdmVyYWRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAldSDDpHIgcmVkYW4gaW5ha3RpdmVyYWRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIChDUFUgaXMgZGVjb25maWd1cmVkKSIKK21zZ3N0ciAiQ1BVICV1IGFrdGl2ZXJpbmcgbWlzc2x5Y2thZGVzIChDUFUgw6RyIGJvcnRrb25maWd1cmVyYWQpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIkFrdGl2ZXJpbmcgYXYgQ1BVICV1IG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGVkXG4iCittc2dzdHIgIkNQVSAldSBha3RpdmVyYWRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCAobGFzdCBlbmFibGVkIENQVSkiCittc2dzdHIgIkNQVSAldSBpbmFrdGl2ZXJpbmcgbWlzc2x5Y2thZGVzIChzZW5hc3QgYWt0aXZlcmFkIENQVSkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQiCittc2dzdHIgIkluYWt0aXZlcmluZyBhdiBDUFUgJXUgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAldSBpbmFrdGl2ZXJhZFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHJlc2Nhbm5pbmcgb2YgQ1BVcyIKK21zZ3N0ciAiRGV0dGEgc3lzdGVtIGhhciBpbnRlIHN0w7ZkIGbDtnIgb21kZXRla3RlcmluZyBhdiBDUFU6ZXIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MworbXNnaWQgIkZhaWxlZCB0byB0cmlnZ2VyIHJlc2NhbiBvZiBDUFVzIgorbXNnc3RyICJNaXNzbHlja2FkZXMgbWVkIGF0dCB1dGzDtnNhIGVuIG9tZGV0ZWt0ZXJpbmcgYXYgQ1BVOmVyIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJpZ2dlcmVkIHJlc2NhbiBvZiBDUFVzXG4iCittc2dzdHIgIlV0bMO2c3RlIG9tZGV0ZWt0ZXJpbmcgYXYgQ1BVOmVyXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgc2V0dGluZyB0aGUgZGlzcGF0Y2hpbmcgbW9kZSBvZiBDUFVzIgorbXNnc3RyICJEZXR0YSBzeXN0ZW0gaGFyIGludGUgc3TDtmQgZsO2ciBpbnN0w6RsbG5pbmcgYXYgYXZzw6RuZGFybMOkZ2UgZsO2ciBDUFU6ZXIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NQorbXNnaWQgIkZhaWxlZCB0byBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICJNaXNzbHlja2FkZXMgYXR0IHN0w6RsbGEgaW4gaG9yaXNvbnRlbGx0IGF2c8OkbmRhcmzDpGdlIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCBob3Jpem9udGFsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAiU3TDpGxsZGUgZnJhbWfDpW5nc3Jpa3QgaW4gaG9yaXNvbnRlbGx0IGF2c8OkbmRhcmzDpGdlXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1OQorbXNnaWQgIkZhaWxlZCB0byBzZXQgdmVydGljYWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiTWlzc2x5Y2thZGVzIGF0dCBzdMOkbGxhIGluIHZlcnRpa2FsdCBhdnPDpG5kYXJsw6RnZSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgdmVydGljYWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICJTdMOkbGxkZSBmcmFtZ8OlbmdzcmlrdCBpbiB2ZXJ0aWthbHQgYXZzw6RuZGFybMOkZ2VcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgY29uZmlndXJhYmxlIgorbXNnc3RyICJDUFUgJXUgw6RyIGludGUga29uZmlndXJlcmJhciIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICV1IMOkciByZWRhbiBrb25maWd1cmVyYWRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJDUFUgJXUgw6RyIHJlZGFuIGJvcnRrb25maWd1cmVyYWRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiQ1BVICV1IG1pc3NseWNrYWRlcyBtZWQgYm9ydGtvbmZpZ3VyZXJpbmcgKENQVTpuIMOkciBha3RpdmVyYWQpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIktvbmZpZ3VyZXJpbmcgYXYgQ1BVICV1IG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAldSBrb25maWd1cmVyYWRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIkF2a29uZmlndXJlcmluZyBhdiBDUFUgJXUgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJDUFUgJXUgYm9ydGtvbmZpZ3VyZXJhZFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBDUFUgbnVtYmVyIGluIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAib2dpbHRpZ3QgQ1BVLW51bW1lciBpIENQVS1saXN0YTogJXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzOCB0ZXh0LXV0aWxzL2NvbC5jOjEzMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIiCisiXG4iCisiQW52w6RuZG5pbmc6XG4iCisiICVzIFtmbGFnZ29yXVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDIKK21zZ2lkICJDb25maWd1cmUgQ1BVcyBpbiBhIG11bHRpLXByb2Nlc3NvciBzeXN0ZW0uXG4iCittc2dzdHIgIktvbmZpZ3VyZXJhIENQVTplciBpIGV0dCBtdWx0aS1wcm9jZXNzb3JzeXN0ZW0uXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0NAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhpcyBoZWxwXG4iCisiICAtZSwgLS1lbmFibGUgPGNwdS1saXN0PiAgICAgICBlbmFibGUgY3B1c1xuIgorIiAgLWQsIC0tZGlzYWJsZSA8Y3B1LWxpc3Q+ICAgICAgZGlzYWJsZSBjcHVzXG4iCisiICAtYywgLS1jb25maWd1cmUgPGNwdS1saXN0PiAgICBjb25maWd1cmUgY3B1c1xuIgorIiAgLWcsIC0tZGVjb25maWd1cmUgPGNwdS1saXN0PiAgZGVjb25maWd1cmUgY3B1c1xuIgorIiAgLXAsIC0tZGlzcGF0Y2ggPG1vZGU+ICAgICAgICAgc2V0IGRpc3BhdGNoaW5nIG1vZGVcbiIKKyIgIC1yLCAtLXJlc2NhbiAgICAgICAgICAgICAgICAgIHRyaWdnZXIgcmVzY2FuIG9mIGNwdXNcbiIKKyIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKyJcbiIKKyJGbGFnZ29yOlxuIgorIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgc2tyaXYgdXQgZGVubmEgaGrDpGxwXG4iCisiICAtZSwgLS1lbmFibGUgPGNwdS1saXN0YT4gICAgICBha3RpdmVyYSBDUFU6ZXJcbiIKKyIgIC1kLCAtLWRpc2FibGUgPGNwdS1saXN0YT4gICAgIGluYWt0aXZlcmEgQ1BVOmVyXG4iCisiICAtYywgLS1jb25maWd1cmUgPGNwdS1saXN0YT4gICBrb25maWd1cmVyYSBDUFU6ZXJcbiIKKyIgIC1nLCAtLWRlY29uZmlndXJlIDxjcHUtbGlzdGE+IGJvcnRrb25maWd1cmVyYSBDUFU6ZXJcbiIKKyIgIC1wLCAtLWRpc3BhdGNoIDxsw6RnZT4gICAgICAgICBzdMOkbGwgaW4gYXZzw6RuZGFybMOkZ2VcbiIKKyIgIC1yLCAtLXJlc2NhbiAgICAgICAgICAgICAgICAgIHV0bMO2cyBvbWRldGVrdGVyaW5nIGF2IENQVTplclxuIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgbWF0YSB1dCB2ZXJzaW9uc2luZm9ybWF0aW9uIG9jaCBhdnNsdXRhXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjMyNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBhcmd1bWVudDogJXMiCittc2dzdHIgImFyZ3VtZW50IHN0w7ZkcyBpbnRlOiAlcyIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzoyNworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgaGFyZHxzb2Z0XG4iCittc2dzdHIgIiAlcyBoYXJkfHNvZnRcbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICJTZXQgdGhlIGZ1bmN0aW9uIG9mIHRoZSBDdHJsLUFsdC1EZWwgY29tYmluYXRpb24uXG4iCittc2dzdHIgIlN0w6RsbCBpbiBmdW5rdGlvbmVuIGbDtnIga29tYmluYXRpb25lbiBDdHJsLUFsdC1EZWwuXG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTEKK21zZ2lkICJpbXBsaWNpdCIKK21zZ3N0ciAiaW1wbGljaXQiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB2YWx1ZSBpbiAlczogJWp1IgorbXNnc3RyICJvdsOkbnRhdCB2w6RyZGUgaSAlczogJWp1IgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjYzCittc2dpZCAiWW91IG11c3QgYmUgcm9vdCB0byBzZXQgdGhlIEN0cmwtQWx0LURlbCBiZWhhdmlvciIKK21zZ3N0ciAiRHUgbcOlc3RlIHZhcmEgcm9vdCBmw7ZyIGF0dCBrdW5uYSBzdMOkbGxhIGluIEN0cmwtQWx0LURlbC1iZXRlZW5kZSIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo3MSBzeXMtdXRpbHMvaXBjcm0uYzozOTIgc3lzLXV0aWxzL2lwY3JtLmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICJva8OkbnQgYXJndW1lbnQ6ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTAKK21zZ2lkICJzeXN0ZW0gaXMgdW51c2FibGUiCittc2dzdHIgInN5c3RlbWV0IMOkciBvYW52w6RuZGJhcnQiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMQorbXNnaWQgImFjdGlvbiBtdXN0IGJlIHRha2VuIGltbWVkaWF0ZWx5IgorbXNnc3RyICLDpXRnw6RyZGVyIG3DpXN0ZSB2aWR0YXMgb21lZGVsYmFydCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEyCittc2dpZCAiY3JpdGljYWwgY29uZGl0aW9ucyIKK21zZ3N0ciAia3JpdGlza3QgdGlsbHN0w6VuZCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEzCittc2dpZCAiZXJyb3IgY29uZGl0aW9ucyIKK21zZ3N0ciAiZmVsdGlsbHN0w6VuZCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE0Cittc2dpZCAid2FybmluZyBjb25kaXRpb25zIgorbXNnc3RyICJ2YXJuaW5nc3RpbGxzdMOlbmQiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNQorbXNnaWQgIm5vcm1hbCBidXQgc2lnbmlmaWNhbnQgY29uZGl0aW9uIgorbXNnc3RyICJub3JtYWx0IG1lbiB2w6RzZW50bGlndCB0aWxsc3TDpW5kIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTYKK21zZ2lkICJpbmZvcm1hdGlvbmFsIgorbXNnc3RyICJpbmZvcm1hdGlvbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE3Cittc2dpZCAiZGVidWctbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgImZlbHPDtmtuaW5nc21lZGRlbGFuZGVuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzEKK21zZ2lkICJrZXJuZWwgbWVzc2FnZXMiCittc2dzdHIgImvDpHJubWVkZGVsYW5kZW4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMgorbXNnaWQgInJhbmRvbSB1c2VyLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICJzbHVtcG3DpHNzaWdhIGFudsOkbmRhcm1lZGRlbGFuZGVuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzMKK21zZ2lkICJtYWlsIHN5c3RlbSIKK21zZ3N0ciAicG9zdHN5c3RlbSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM0Cittc2dpZCAic3lzdGVtIGRhZW1vbnMiCittc2dzdHIgInN5c3RlbWRlbW9uZXIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNQorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMiCittc2dzdHIgInPDpGtlcmhldHMtL2F1dGVudGlzZXJpbmdzbWVkZGVsYW5kZW4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNgorbXNnaWQgIm1lc3NhZ2VzIGdlbmVyYXRlZCBpbnRlcm5hbGx5IGJ5IHN5c2xvZ2QiCittc2dzdHIgIm1lZGRlbGFuZGVuIGdlbmVyZXJhZGUgaW50ZXJudCBhdiBzeXNsb2dkIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzcKK21zZ2lkICJsaW5lIHByaW50ZXIgc3Vic3lzdGVtIgorbXNnc3RyICJ1bmRlcnN5c3RlbSBmw7ZyIHJhZHNrcml2YXJlIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzgKK21zZ2lkICJuZXR3b3JrIG5ld3Mgc3Vic3lzdGVtIgorbXNnc3RyICJuw6R0dmVya3NueWhldHN1bmRlcnN5c3RlbSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM5Cittc2dpZCAiVVVDUCBzdWJzeXN0ZW0iCittc2dzdHIgIlVVQ1AtdW5kZXJzeXN0ZW0iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MAorbXNnaWQgImNsb2NrIGRhZW1vbiIKK21zZ3N0ciAia2xvY2tkZW1vbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQxCittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyAocHJpdmF0ZSkiCittc2dzdHIgInPDpGtlcmhldHMtL2F1dGVudGlzZXJpbmdzbWVkZGVsYW5kZW4gKHByaXZhdCkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MgorbXNnaWQgIkZUUCBkYWVtb24iCittc2dzdHIgIkZUUC1kZW1vbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjY3Cittc2dpZCAiRGlzcGxheSBvciBjb250cm9sIHRoZSBrZXJuZWwgcmluZyBidWZmZXIuXG4iCittc2dzdHIgIlZpc2EgZWxsZXIga29udHJvbGxlcmEga8Okcm5hbnMgcmluZ2J1ZmZlcnQuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MAorbXNnaWQgIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgY2xlYXIgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIHTDtm0ga8Okcm5hbnMgcmluZ2J1ZmZlcnRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjcxCittc2dpZCAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICByZWFkIGFuZCBjbGVhciBhbGwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICBsw6RzIG9jaCB0w7ZtIGFsbGEgbWVkZGVsYW5kZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjcyCittc2dpZCAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICBkaXNhYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICBpbmFrdGl2ZXJhIHV0c2tyaWZ0IGF2IG1lZGRlbGFuZGVuIHRpbGwga29uc29sXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MworbXNnaWQgIiAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAgZW5hYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBha3RpdmVyYSB1dHNrcmlmdCBhdiBtZWRkZWxhbmRlbiB0aWxsIGtvbnNvbFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzQKK21zZ2lkICIgLUYsIC0tZmlsZSA8ZmlsZT4gICAgICAgICAgIHVzZSB0aGUgZmlsZSBpbnN0ZWFkIG9mIHRoZSBrZXJuZWwgbG9nIGJ1ZmZlclxuIgorbXNnc3RyICIgLUYsIC0tZmlsZSA8ZmlsPiAgICAgICAgICAgIGFudsOkbmQgZmlsZW4gaXN0w6RsbGV0IGbDtnIga8Okcm5hbnMgbG9nZ2J1ZmZlcnRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc1Cittc2dpZCAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0PiAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBmYWNpbGl0aWVzXG4iCittc2dzdHIgIiAtZiwgLS1mYWNpbGl0eSA8bGlzdGE+ICAgICAgYmVncsOkbnNhIHV0bWF0bmluZyB0aWxsIGRlZmluaWVyYWRlIHJlc3Vyc2VyXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NgorbXNnaWQgIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAgaHVtYW4gcmVhZGFibGUgb3V0cHV0XG4iCittc2dzdHIgIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAgdXRtYXRuaW5nIGzDpHNiYXIgZsO2ciBtw6Rubmlza29yXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NworbXNnaWQgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgZGlzcGxheSBrZXJuZWwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICB2aXNhIGvDpHJubWVkZGVsYW5kZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc4Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxuw6RyPl0gICAgICAgICBmw6RyZ2zDpGdnIG1lZGRlbGFuZGVuIChhdXRvLCBhbHdheXMgZWxsZXIgbmV2ZXIpXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MQorbXNnaWQgIiAtbCwgLS1sZXZlbCA8bGlzdD4gICAgICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgbGV2ZWxzXG4iCittc2dzdHIgIiAtbCwgLS1sZXZlbCA8bGlzdGE+ICAgICAgICAgYmVncsOkbnNhIHV0c2tyaWZ0ZXIgdGlsbCBkZWZpbmllcmFkZSBuaXbDpWVyXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MgorbXNnaWQgIiAtbiwgLS1jb25zb2xlLWxldmVsIDxsZXZlbD4gc2V0IGxldmVsIG9mIG1lc3NhZ2VzIHByaW50ZWQgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bml2w6U+ICBzdMOkbGwgaW4gbml2w6UgZsO2ciBtZWRkZWxhbmRlbiBzb20gc2tyaXZzIHV0IHRpbGwga29uc29sXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MworbXNnaWQgIiAtUCwgLS1ub3BhZ2VyICAgICAgICAgICAgICAgZG8gbm90IHBpcGUgb3V0cHV0IGludG8gYSBwYWdlclxuIgorbXNnc3RyICIgLVAsIC0tbm9wYWdlciAgICAgICAgICAgICAgIHNraWNrYSBpbnRlIHV0ZGF0YSB2aWEgcsO2cmxlZG5pbmcgdGlsbCBzaWR2aXNhcmVcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg0Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgc2tyaXYgdXQgZGVuIHLDpWEgbWVkZGVsYW5kZWJ1ZmZlcnRlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODUKK21zZ2lkICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIGZvcmNlIHRvIHVzZSBzeXNsb2coMikgcmF0aGVyIHRoYW4gL2Rldi9rbXNnXG4iCittc2dzdHIgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgdHZpbmdhIGFudsOkbmRuaW5nIGF2IHN5c2xvZygyKSBzbmFyYXJlIMOkbiAvZGV2L2ttc2dcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg2Cittc2dpZCAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiAtcywgLS1idWZmZXItc2l6ZSA8c3Rvcmxlaz4gYnVmZmVydHN0b3JsZWsgZsO2ciBhdHQgZnLDpWdhIGvDpHJuYW5zIHJpbmdidWZmZXJ0XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NworbXNnaWQgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgZGlzcGxheSB1c2Vyc3BhY2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICB2aXNhIG1lZGRlbGFuZGVuIGZyw6VuIGFudsOkbmRhcnJ5bWRlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODgKK21zZ2lkICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHbDpG50YSBww6UgbnlhIG1lZGRlbGFuZGVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OQorbXNnaWQgIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgZGVjb2RlIGZhY2lsaXR5IGFuZCBsZXZlbCB0byByZWFkYWJsZSBzdHJpbmdcbiIKK21zZ3N0ciAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBhdmtvZGEgcmVzdXJzIG9jaCBuaXbDpSB0aWxsIGzDpHNiYXIgc3Ryw6RuZ1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTAKK21zZ2lkICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIHNob3cgdGltZSBkZWx0YSBiZXR3ZWVuIHByaW50ZWQgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICB2aXNhIHRpZHNkZWx0YSBtZWxsYW4gdXRza3Jpdm5hIG1lZGRlbGFuZGVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MQorbXNnaWQgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgc2hvdyBsb2NhbCB0aW1lIGFuZCB0aW1lIGRlbHRhIGluIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIHZpc2EgbG9rYWwgdGlkIG9jaCB0aWRzZGVsdGEgaSBsw6RzYmFydCBmb3JtYXRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkyCittc2dpZCAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICBzaG93IGh1bWFuLXJlYWRhYmxlIHRpbWVzdGFtcCAobWF5IGJlIGluYWNjdXJhdGUhKVxuIgorbXNnc3RyICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHZpc2EgdGlkc3N0w6RtcGxhciBsw6RzYmFyYSBmw7ZyIG3DpG5uaXNrb3IgKGthbiB2YXJhIGZlbGFrdGlnYSEpXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MworbXNnaWQgIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAgZG9uJ3Qgc2hvdyBhbnkgdGltZXN0YW1wIHdpdGggbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICB2aXNhIGludGUgbsOlZ29uIHRpZHNzdMOkbXBlbCBmw7ZyIG1lZGRlbGFuZGVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NAorbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wIHVzaW5nIHRoZSBnaXZlbiBmb3JtYXQ6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisiU3VzcGVuZGluZy9yZXN1bWUgd2lsbCBtYWtlIGN0aW1lIGFuZCBpc28gdGltZXN0YW1wcyBpbmFjY3VyYXRlLlxuIgorbXNnc3RyICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICB2aXNhIHRpZHNzdMOkbXBlbCBlbmxpZ3QgYW5naXZldCBmb3JtYXQ6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisiQW52w6RuZG5pbmcgYXYgdsOkbnRlbMOkZ2UvdsOkY2tuaW5nIG1lZGbDtnIgYXR0IGN0aW1lLSBvY2ggaXNvLXRpZHNzdMOkbXBsYXIgYmxpciBmZWxha3RpZ2EuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwMAorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGZhY2lsaXRpZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJMb2dncmVzdXJzZXIgc29tIHN0w7ZkczpcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzA2Cittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgbGV2ZWxzIChwcmlvcml0aWVzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkxvZ2duaXbDpWVyIChwcmlvcml0ZXRlcikgc29tIHN0w7ZkczpcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZXZlbCAnJXMnIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBuaXbDpSDigJ0lc+KAnSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbGV2ZWwgJyVzJyIKK21zZ3N0ciAib2vDpG5kIG5pdsOlIOKAnSVz4oCdIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGZhY2lsaXR5ICclcyciCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIHJlc3VycyDigJ0lc+KAnSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAib2vDpG5kIHJlc3VycyDigJ0lc+KAnSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NTI4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtbWFwOiAlcyIKK21zZ3N0ciAibW1hcCBtaXNzbHlja2FkZXM6ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzU2Cittc2dpZCAiaW52YWxpZCBidWZmZXIgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAib2dpbHRpZ3QgYnVmZmVydHN0b3JsZWtzYXJndW1lbnQiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MDkKK21zZ2lkICItLXNob3ctZGVsdGEgaXMgaWdub3JlZCB3aGVuIHVzZWQgdG9nZXRoZXIgd2l0aCBpc284NjAxIHRpbWUgZm9ybWF0IgorbXNnc3RyICItLXNob3ctZGVsdGEgaG9wcGFzIMO2dmVyIG7DpHIgZGVuIGFudsOkbmRzIHRpbGxzYW1tYW5zIG1lZCB0aWRzZm9ybWF0ZXQgaXNvODYwMSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQzMgorbXNnaWQgIi0tcmF3IGNhbiBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1sZXZlbCBvciAtLWZhY2lsaXR5IG9ubHkgd2hlbiByZWFkaW5nIG1lc3NhZ2VzIGZyb20gL2Rldi9rbXNnIgorbXNnc3RyICItLXJhdyBrYW4gYW52w6RuZGFzIHRpbGxzYW1tYW5zIG1lZCAtLWxldmVsIGVsbGVyIC0tZmFjaWxpdHkgZW5kYXN0IG7DpHIgbWVkZGVsYW5kZW4gbMOkc2VzIGZyw6VuIC9kZXYva21zZyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQ0MgorbXNnaWQgInJlYWQga2VybmVsIGJ1ZmZlciBmYWlsZWQiCittc2dzdHIgImzDpHNuaW5nIGF2IGvDpHJuYnVmZmVydCBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0NjEKK21zZ2lkICJrbG9nY3RsIGZhaWxlZCIKK21zZ3N0ciAia2xvZ2N0bCBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPnw8bW91bnRwb2ludD5dXG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gWzxlbmhldD58PG1vbnRlcmluZ3NwdW5rdD5dXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNworbXNnaWQgIkVqZWN0IHJlbW92YWJsZSBtZWRpYS5cbiIKK21zZ3N0ciAiTWF0YSB1dCBib3J0dGFnbmluZ3NiYXIgbWVkaWEuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjE0MAorbXNnaWQgIiIKKyIgLWEsIC0tYXV0byA8b258b2ZmPiAgICAgICAgIHR1cm4gYXV0by1lamVjdCBmZWF0dXJlIG9uIG9yIG9mZlxuIgorIiAtYywgLS1jaGFuZ2Vyc2xvdCA8c2xvdD4gICAgc3dpdGNoIGRpc2NzIG9uIGEgQ0QtUk9NIGNoYW5nZXJcbiIKKyIgLWQsIC0tZGVmYXVsdCAgICAgICAgICAgICAgIGRpc3BsYXkgZGVmYXVsdCBkZXZpY2VcbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIGVqZWN0IGZsb3BweVxuIgorIiAtRiwgLS1mb3JjZSAgICAgICAgICAgICAgICAgZG9uJ3QgY2FyZSBhYm91dCBkZXZpY2UgdHlwZVxuIgorIiAtaSwgLS1tYW51YWxlamVjdCA8b258b2ZmPiAgdG9nZ2xlIG1hbnVhbCBlamVjdCBwcm90ZWN0aW9uIG9uL29mZlxuIgorIiAtbSwgLS1uby11bm1vdW50ICAgICAgICAgICAgZG8gbm90IHVubW91bnQgZGV2aWNlIGV2ZW4gaWYgaXQgaXMgbW91bnRlZFxuIgorIiAtTSwgLS1uby1wYXJ0aXRpb25zLXVubW91bnQgZG8gbm90IHVubW91bnQgYW5vdGhlciBwYXJ0aXRpb25zXG4iCisiIC1uLCAtLW5vb3AgICAgICAgICAgICAgICAgICBkb24ndCBlamVjdCwganVzdCBzaG93IGRldmljZSBmb3VuZFxuIgorIiAtcCwgLS1wcm9jICAgICAgICAgICAgICAgICAgdXNlIC9wcm9jL21vdW50cyBpbnN0ZWFkIG9mIC9ldGMvbXRhYlxuIgorIiAtcSwgLS10YXBlICAgICAgICAgICAgICAgICAgZWplY3QgdGFwZVxuIgorIiAtciwgLS1jZHJvbSAgICAgICAgICAgICAgICAgZWplY3QgQ0QtUk9NXG4iCisiIC1zLCAtLXNjc2kgICAgICAgICAgICAgICAgICBlamVjdCBTQ1NJIGRldmljZVxuIgorIiAtdCwgLS10cmF5Y2xvc2UgICAgICAgICAgICAgY2xvc2UgdHJheVxuIgorIiAtVCwgLS10cmF5dG9nZ2xlICAgICAgICAgICAgdG9nZ2xlIHRyYXlcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIGVuYWJsZSB2ZXJib3NlIG91dHB1dFxuIgorIiAteCwgLS1jZHNwZWVkIDxzcGVlZD4gICAgICAgc2V0IENELVJPTSBtYXggc3BlZWRcbiIKKyIgLVgsIC0tbGlzdHNwZWVkICAgICAgICAgICAgIGxpc3QgQ0QtUk9NIGF2YWlsYWJsZSBzcGVlZHNcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hdXRvIDxvbnxvZmY+ICAgICAgICAgc2zDpSBww6Uvc3TDpG5nIGF2IGF1dG9tYXRpc2sgdXRtYXRuaW5nXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxmYWNrPiAgICB2w6R4bGEgZGlza2FyIGkgZW4gQ0QtUk9NLXbDpHhsYXJlXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICB2aXNhIHN0YW5kYXJkZW5oZXRcbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIG1hdGEgdXQgZGlza2V0dFxuIgorIiAtRiwgLS1mb3JjZSAgICAgICAgICAgICAgICAgaWdub3JlcmEgZW5oZXRzdHlwXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICBzbMOlIHDDpS9zdMOkbmcgYXYgbWFudWVsbHQgdXRtYXRuaW5nc3NreWRkXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBhdm1vbnRlcmEgaW50ZSBlbmhldCDDpHZlbiBvbSBkZW4gw6RyIG1vbnRlcmFkXG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBhdm1vbnRlcmEgaW50ZSBhbmRyYSBwYXJ0aXRpb25lclxuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgbWF0YSBpbnRlIHV0LCBiYXJhIHZpc2EgZW5oZXRlciBzb20gaGl0dGF0c1xuIgorIiAtcCwgLS1wcm9jICAgICAgICAgICAgICAgICAgYW52w6RuZCAvcHJvYy9tb3VudHMgaXN0w6RsbGV0IGbDtnIgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICBtYXRhIHV0IGthc3NldHRcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIG1hdGEgdXQgQ0QtUk9NXG4iCisiIC1zLCAtLXNjc2kgICAgICAgICAgICAgICAgICBtYXRhIHV0IFNDU0ktZW5oZXRcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIHN0w6RuZyBzbMOkZGVcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIHbDpHhsYSBzbMOkZGVcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIGFrdGl2ZXJhIHV0ZsO2cmxpZyB1dG1hdG5pbmdcbiIKKyIgLXgsIC0tY2RzcGVlZCA8aGFzdGlnaGV0PiAgIHN0w6RsbCBpbiBow7Znc3RhIGhhc3RpZ2hldCBmw7ZyIENELVJPTVxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAgbGlzdGEgYWxsYSB0aWxsZ8OkbmdsaWdhIENELVJPTS1oYXN0aWdoZXRlclxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNjQKK21zZ2lkICIiCisiXG4iCisiQnkgZGVmYXVsdCB0cmllcyAtciwgLXMsIC1mLCBhbmQgLXEgaW4gb3JkZXIgdW50aWwgc3VjY2Vzcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlByb3ZhciBzb20gc3RhbmRhcmQgLXIsIC1zLCAtZiwgb2NoIC1xIGkgb3JkbmluZyB0aWxscyBkZXQgbHlja2FzLlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTAKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2hhbmdlcnNsb3QvLWMgb3B0aW9uIgorbXNnc3RyICJvZ2lsdGlndCBhcmd1bWVudCB0aWxsIGZsYWdnYW4gLS1jaGFuZ2Vyc2xvdC8tYyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjE0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNkc3BlZWQvLXggb3B0aW9uIgorbXNnc3RyICJvZ2lsdGlndCBhcmd1bWVudCB0aWxsIGZsYWdnYW4gLS1jZHNwZWVkLy14IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMjYKK21zZ2lkICJDRC1ST00gYXV0by1lamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiYXV0b21hdGlza3QgdXRtYXRuaW5nc2tvbW1hbmRvIGbDtnIgQ0QtUk9NIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQwCittc2dpZCAiQ0QtUk9NIGRvb3IgbG9jayBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJMw6VzIGbDtnIgQ0QtUk9NLWx1Y2thIHN0w7ZkcyBpbnRlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDIKK21zZ2lkICJvdGhlciB1c2VycyBoYXZlIHRoZSBkcml2ZSBvcGVuIGFuZCBub3QgQ0FQX1NZU19BRE1JTiIKK21zZ3N0ciAiYW5kcmEgYW52w6RuZGFyZSBoYXIgZW5oZXRlbiDDtnBwZW4gb2NoIENBUF9TWVNfQURNSU4gc2FrbmFzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDQKK21zZ2lkICJDRC1ST00gbG9jayBkb29yIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJrb21tYW5kb3QgZsO2ciBhdHQgbMOlc2EgQ0QtUk9NLWTDtnJyZW4gbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDkKK21zZ2lkICJDRC1Ecml2ZSBtYXkgTk9UIGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICJDRC1lbmhldCBrYW4gSU5URSBtYXRhcyB1dCBtZWQgZW5oZXRza25hcHBlbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzUxCittc2dpZCAiQ0QtRHJpdmUgbWF5IGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICJDRC1lbmhldCBrYW4gbWF0YXMgdXQgbWVkIGVuaGV0c2tuYXBwZW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2MgorbXNnaWQgIkNELVJPTSBzZWxlY3QgZGlzYyBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAia29tbWFuZG8gZsO2ciBhdHQgdsOkbGphIENELVJPTS1kaXNrIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY2Cittc2dpZCAiQ0QtUk9NIGxvYWQgZnJvbSBzbG90IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJrb21tYW5kb3QgZsO2ciBhdHQgbMOkc2EgaW4gQ0QtUk9NIGZyw6VuIGZhY2sgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjgKK21zZ2lkICJJREUvQVRBUEkgQ0QtUk9NIGNoYW5nZXIgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICJJREUvQVRBUEkgQ0QtUk9NLXbDpHhsYXJlIHN0w7ZkcyBpbnRlIGF2IGRlbm5hIGvDpHJuYVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODYKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAia29tbWFuZG90IGbDtnIgYXR0IHN0w6RuZ2EgQ0QtUk9NLXNsw6RkZW4gbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODgKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAiS29tbWFuZG8gZsO2ciBhdHQgc3TDpG5nYSBDRC1ST00tc2zDpGRlIHN0w7ZkcyBpbnRlIGF2IGRlbm5hIGvDpHJuYVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MDUKK21zZ2lkICJDRC1ST00gZWplY3QgdW5zdXBwb3J0ZWQiCittc2dzdHIgInV0bWF0bmluZyBhdiBDRC1ST00gc3TDtmRzIGludGUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzMyBzeXMtdXRpbHMvZWplY3QuYzo0NTYgc3lzLXV0aWxzL2VqZWN0LmM6MTAxMQorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAia29tbWFuZG8gZsO2ciBhdHQgbWF0YSB1dCBDRC1ST00gbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzYKK21zZ2lkICJubyBDRC1ST00gaW5mb3JtYXRpb24gYXZhaWxhYmxlIgorbXNnc3RyICJpbmdlbiBDRC1ST00taW5mb3JtYXRpb24gdGlsbGfDpG5nbGlnIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzkKK21zZ2lkICJDRC1ST00gZHJpdmUgaXMgbm90IHJlYWR5IgorbXNnc3RyICJDRC1ST00tZW5oZXQgw6RyIGludGUgcmVkbyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgyCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAia29tbWFuZG8gZsO2ciBhdHQgdsOkbGphIENELVJPTS1oYXN0aWdoZXQgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODQgc3lzLXV0aWxzL2VqZWN0LmM6NTcwCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWwiCittc2dzdHIgIktvbW1hbmRvIGbDtnIgYXR0IHbDpGxqYSBDRC1ST00taGFzdGlnaGV0IHN0w7ZkcyBpbnRlIGF2IGRlbm5hIGvDpHJuYSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZGluZyBDRC1ST00gbmFtZSIKK21zZ3N0ciAiJXM6IG1pc3NseWNrYWRlcyBtZWQgYXR0IGhpdHRhIENELVJPTS1uYW1uIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICIlczogbWlzc2x5Y2thZGVzIG1lZCBhdHQgbMOkc2EgaGFzdGlnaGV0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1NDQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgbMOkc2EgaGFzdGlnaGV0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1ODgKK21zZ2lkICJub3QgYW4gc2cgZGV2aWNlLCBvciBvbGQgc2cgZHJpdmVyIgorbXNnc3RyICJpbnRlIGVuIHNnLWVuaGV0LCBlbGxlciBzw6Ugw6RyIHNnLWRyaXZydXRpbmVuIGdhbW1hbCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bm1vdW50aW5nIgorbXNnc3RyICIlczogYXZtb250ZXJhciIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njc1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBleGVjIC9iaW4vdW1vdW50IG9mIGAlcyciCittc2dzdHIgImthbiBpbnRlIGvDtnJhIC9iaW4vdW1vdW50IGbDtnIg4oCdJXPigJ0iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY3OAorbXNnaWQgInVuYWJsZSB0byBmb3JrIgorbXNnc3RyICJrYW4gaW50ZSBhbnbDpG5kYSBmb3JrIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAiYXZtb250ZXJpbmcgYXYg4oCdJXPigJ0gYXZzbHV0YWRlcyBpbnRlIG5vcm1hbHQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZmFpbGVkXG4iCittc2dzdHIgImF2bW9udGVyaW5nIGF2IOKAnSVz4oCdIG1pc3NseWNrYWRlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3MzAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgdGFibGUiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIG1vbnRlcmluZ3N0YWJlbGwiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjc5MSBzeXMtdXRpbHMvZWplY3QuYzo4OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50ZWQgb24gJXMiCittc2dzdHIgIiVzOiBtb250ZXJhZCBww6UgJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzMworbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvIGF1dG8iCittc2dzdHIgInN0w6RsbGVyIGluIENELVJPTS1oYXN0aWdoZXQgdGlsbCBhdXRvbWF0aXNrIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gJWxkWCIKK21zZ3N0ciAic3TDpGxsZXIgaW4gQ0QtUk9NLWhhc3RpZ2hldCB0aWxsICVsZFgiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg2MQorIywgYy1mb3JtYXQKK21zZ2lkICJkZWZhdWx0IGRldmljZTogYCVzJyIKK21zZ3N0ciAic3RhbmRhcmRlbmhldDog4oCdJXPigJ0iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg2NworIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyBkZWZhdWx0IGRldmljZSBgJXMnIgorbXNnc3RyICJhbnbDpG5kZXIgc3RhbmRhcmRlbmhldCDigJ0lc+KAnSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg2IHN5cy11dGlscy9ydGN3YWtlLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gZmluZCBkZXZpY2UiCittc2dzdHIgIiVzOiBrYW4gaW50ZSBoaXR0YSBlbmhldCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg4CisjLCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBuYW1lIGlzIGAlcyciCittc2dzdHIgImVuaGV0c25hbW4gw6RyIOKAnSVz4oCdIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4OTQgc3lzLXV0aWxzL3Vtb3VudC5jOjIwNiBzeXMtdXRpbHMvdW1vdW50LmM6MjM1CisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NDA5IHN5cy11dGlscy91bW91bnQuYzo0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBtb3VudGVkIgorbXNnc3RyICIlczogaW50ZSBtb250ZXJhZCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNjIGRldmljZTogJXMgKGRpc2sgZGV2aWNlIHdpbGwgYmUgdXNlZCBmb3IgZWplY3QpIgorbXNnc3RyICIlczogZGlza2VuaGV0OiAlcyAoZGlza2VuaGV0IGtvbW1lciBhdHQgYW52w6RuZGFzIGbDtnIgdXRtYXRuaW5nKSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQgbW91bnRwb2ludCBvciBkZXZpY2Ugd2l0aCB0aGUgZ2l2ZW4gbmFtZSIKK21zZ3N0ciAiJXM6IGt1bmRlIGludGUgaGl0dGEgbW9udGVyaW5nc3B1bmt0IGVsbGVyIGVuaGV0IG1lZCBkZXQgYW5naXZuYSBuYW1uZXQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgd2hvbGUtZGlzayBkZXZpY2UiCittc2dzdHIgIiVzOiDDpHIgZW4gZnVsbHN0w6RuZGlnIGRpc2tlbmhldCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgaG90LXBsdWdnYWJsZSBkZXZpY2UiCittc2dzdHIgIiVzOiDDpHIgaW50ZSBlbiBob3RwbHVnLWthcGFiZWwgZW5oZXQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxNworIywgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgaXMgYCVzJyIKK21zZ3N0ciAiZW5oZXRlbiDDpHIg4oCdJXPigJ0iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxOAorbXNnaWQgImV4aXRpbmcgZHVlIHRvIC1uLy0tbm9vcCBvcHRpb24iCittc2dzdHIgImF2c2x1dGFyIHDDpSBncnVuZCBhdiBmbGFnZ2FuIC1uLy0tbm9vcCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlbmFibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiVzOiBha3RpdmVyYXIgYXV0b21hdGlza3QgdXRtYXRuaW5nc2zDpGdlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2FibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiVzOiBpbmFrdGl2ZXJhciBhdXRvbWF0aXNrdCB1dG1hdG5pbmdzbMOkZ2UiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2luZyB0cmF5IgorbXNnc3RyICIlczogc3TDpG5nZXIgc2zDpGRlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiVzOiB2w6R4bGFyIHNsw6RkZSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsaXN0aW5nIENELVJPTSBzcGVlZCIKK21zZ3N0ciAiJXM6IGxpc3RhciBDRC1ST00taGFzdGlnaGV0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBkZXZpY2UgaW4gdXNlIgorbXNnc3RyICJmZWw6ICVzOiBlbmhldGVuIGFudsOkbmRzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlbGVjdGluZyBDRC1ST00gZGlzYyAjJWxkIgorbXNnc3RyICIlczogdsOkbGplciBDRC1ST00gZGlzayAjJWxkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgQ0QtUk9NIGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiVzOiBmw7Zyc8O2a2VyIGF0dCBtYXRhIHV0IENELVJPTSB2aWEgdXRtYXRuaW5nc2tvbW1hbmRvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEwCittc2dpZCAiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICJDRC1ST00tdXRtYXRuaW5nc2tvbW1hbmRvIGx5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgU0NTSSBjb21tYW5kcyIKK21zZ3N0ciAiJXM6IGbDtnJzw7ZrZXIgYXR0IG1hdGEgdXQgdmlhIFNDU0kta29tbWFuZG9uIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE3Cittc2dpZCAiU0NTSSBlamVjdCBzdWNjZWVkZWQiCittc2dzdHIgIlNDSVMtdXRtYXRuaW5nIGx5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE4Cittc2dpZCAiU0NTSSBlamVjdCBmYWlsZWQiCittc2dzdHIgIlNDU0ktdXRtYXRuaW5nIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIGZsb3BweSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIlczogZsO2cnPDtmtlciBtYXRhIHV0IHZpYSB1dG1hdG5pbmdza29tbWFuZG8gZsO2ciBkaXNrZXR0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI0Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICJ1dG1hdG5pbmdza29tbWFuZG8gZsO2ciBkaXNrZXR0IGx5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI1Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJ1dG1hdG5pbmdza29tbWFuZG8gZsO2ciBkaXNrZXR0IG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIHRhcGUgb2ZmbGluZSBjb21tYW5kIgorbXNnc3RyICIlczogZsO2cnPDtmtlciBtYXRhIHV0IHZpYSBrb21tYW5kbyBrYXNzZXR0LWZyw6Vua29wcGxhZCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMQorbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAia29tbWFuZG90IGthc3NldHQtZnLDpW5rb3BwbGFkIGx5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDMyCittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJrb21tYW5kbyBmw7ZyIGF0dCBrb3BwbGEgZnLDpW4ga2Fzc2V0dCBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzYKK21zZ2lkICJ1bmFibGUgdG8gZWplY3QiCittc2dzdHIgImt1bmRlIGludGUgbWF0YSB1dCIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGVuYW1lPlxuIgorbXNnc3RyICIgJXMgW2ZsYWdnb3JdIDxmaWxuYW1uPlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODEKK21zZ2lkICJQcmVhbGxvY2F0ZSBzcGFjZSB0bywgb3IgZGVhbGxvY2F0ZSBzcGFjZSBmcm9tIGEgZmlsZS5cbiIKK21zZ3N0ciAiRsO2cmFsbG9rZXJhIHV0cnltbWUgw6V0LCBlbGxlciBhdmFsbG9rZXJhIHV0cnltbWUgZnLDpW4gZW4gZmlsLlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODQKK21zZ2lkICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgcmVtb3ZlIGEgcmFuZ2UgZnJvbSB0aGUgZmlsZVxuIgorbXNnc3RyICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgdGEgYm9ydCBldHQgaW50ZXJ2YWxsIGZyw6VuIGZpbGVuXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NQorbXNnaWQgIiAtZCwgLS1kaWctaG9sZXMgICAgICBkZXRlY3QgemVyb2VzIGFuZCByZXBsYWNlIHdpdGggaG9sZXNcbiIKK21zZ3N0ciAiIC1kLCAtLWRpZy1ob2xlcyAgICAgIGlkZW50aWZpZXJhIG5vbGxvciBvY2ggZXJzw6R0dCBtZWQgaMOlbFxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODYKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICAgbGVuZ3RoIGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDxudW0+ICAgbMOkbmdkIGbDtnIgaW50ZXJ2YWxsw6V0Z8OkcmRlciwgaSBieXRlXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NworbXNnaWQgIiAtbiwgLS1rZWVwLXNpemUgICAgICBtYWludGFpbiB0aGUgYXBwYXJlbnQgc2l6ZSBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgLW4sIC0ta2VlcC1zaXplICAgICAgYmVow6VsbCBmaWxlbnMgdXBwZW5iYXJhIHN0b3JsZWtcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg4Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgIG9mZnNldCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8bnVtPiAgIHBvc2l0aW9uIGbDtnIgaW50ZXJ2YWxsw6V0Z8OkcmRlciwgaSBieXRlXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4OQorbXNnaWQgIiAtcCwgLS1wdW5jaC1ob2xlICAgICByZXBsYWNlIGEgcmFuZ2Ugd2l0aCBhIGhvbGUgKGltcGxpZXMgLW4pXG4iCittc2dzdHIgIiAtcCwgLS1wdW5jaC1ob2xlICAgICBlcnPDpHR0IGV0dCBpbnRlcnZhbGwgbWVkIGV0dCBow6VsIChtZWRmw7ZyIC1uKVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTAKK21zZ2lkICIgLXosIC0temVyby1yYW5nZSAgICAgemVybyBhbmQgZW5zdXJlIGFsbG9jYXRpb24gb2YgYSByYW5nZVxuIgorbXNnc3RyICIgLXosIC0temVyby1yYW5nZSAgICAgbm9sbGEgb2NoIHPDpGtlcnN0w6RsbCBhbGxva2VyaW5nIGbDtnIgZXR0IGludGVydmFsbFxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTI2Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZDoga2VlcCBzaXplIG1vZGUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgImZhbGxvY2F0ZSBtaXNzbHlja2FkZXM6IGzDpGdldCBhdHQgYmVow6VsbGEgc3Rvcmxla2VuIHN0w7ZkcyBpbnRlIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTI3Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZCIKK21zZ3N0ciAiZmFsbG9jYXRlIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBmYWlsZWQiCittc2dzdHIgIiVzOiBsw6RzbmluZyBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglanUgYnl0ZXMpIGNvbnZlcnRlZCB0byBzcGFyc2UgaG9sZXMuXG4iCittc2dzdHIgIiVzOiAlcyAoJWp1IGJ5dGUpIGtvbnZlcnRlcmFkZSB0aWxsIGdsZXNhIGjDpWwuXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNDYgc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTE4Cittc2dpZCAibm8gZmlsZW5hbWUgc3BlY2lmaWVkIgorbXNnc3RyICJpbmdldCBmaWxuYW1uIGFuZ2l2ZXQiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTggc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2NAorbXNnaWQgImludmFsaWQgbGVuZ3RoIHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAib2dpbHRpZ3QgbMOkbmdkdsOkcmRlIGFuZ2l2ZXQiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjIKK21zZ2lkICJubyBsZW5ndGggYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJpbmdldCBsw6RuZ2Rhcmd1bWVudCBhbmdpdmV0IgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzY3Cittc2dpZCAiaW52YWxpZCBvZmZzZXQgdmFsdWUgc3BlY2lmaWVkIgorbXNnc3RyICJvZ2lsdGlndCBwb3NpdGlvbnN2w6RyZGUgYW5naXZldCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gPGNvbW1hbmQ+IFs8YXJndW1lbnQ+Li4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gLWMgPGNvbW1hbmQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlIGRlc2NyaXB0b3IgbnVtYmVyPlxuIgorbXNnc3RyICIiCisiICUxJHMgW2ZsYWdnb3JdIDxmaWw+fDxrYXRhbG9nPiA8a29tbWFuZG8+IFs8YXJndW1lbnQ+4oCmXVxuIgorIiAlMSRzIFtmbGFnZ29yXSA8ZmlsPnw8a2F0YWxvZz4gLWMgPGtvbW1hbmRvPlxuIgorIiAlMSRzIFtmbGFnZ29yXSA8ZmlsZGVza3JpcHRvcm51bW1lcj5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTkKK21zZ2lkICJNYW5hZ2UgZmlsZSBsb2NrcyBmcm9tIHNoZWxsIHNjcmlwdHMuXG4iCittc2dzdHIgIkhhbnRlcmEgZmlsbMOlcyBmcsOlbiBza2Fsc2tyaXB0LlxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MgorbXNnaWQgIiAtcywgLS1zaGFyZWQgICAgICAgICAgICAgZ2V0IGEgc2hhcmVkIGxvY2tcbiIKK21zZ3N0ciAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBow6RtdGEgZXR0IGRlbGF0IGzDpXNcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjMKK21zZ2lkICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIGdldCBhbiBleGNsdXNpdmUgbG9jayAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC14LCAtLWV4Y2x1c2l2ZSAgICAgICAgICB0YSBldHQgZXhrbHVzaXZ0IGzDpXMgKHN0YW5kYXJkKVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NAorbXNnaWQgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAgcmVtb3ZlIGEgbG9ja1xuIgorbXNnc3RyICIgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIHRhIGJvcnQgZXR0IGzDpXNcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjUKK21zZ2lkICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIGZhaWwgcmF0aGVyIHRoYW4gd2FpdFxuIgorbXNnc3RyICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIHJhcHBvcnRlcmEgZmVsIHNuYXJhcmUgw6RuIGF0dCB2w6RudGFcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjYKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8c2Vjcz4gICAgIHdhaXQgZm9yIGEgbGltaXRlZCBhbW91bnQgb2YgdGltZVxuIgorbXNnc3RyICIgLXcsIC0tdGltZW91dCA8c2VrdW5kZXI+IHbDpG50YSB1bmRlciBlbiBiZWdyw6Ruc2FkIHRpZHNwZXJpb2RcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjcKK21zZ2lkICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxudW1iZXI+ICBleGl0IGNvZGUgYWZ0ZXIgY29uZmxpY3Qgb3IgdGltZW91dFxuIgorbXNnc3RyICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxudW1tZXI+ICBmZWxrb2QgZWZ0ZXIga29uZmxpa3QgZWxsZXIgbsOlZGQgdGlkc2dyw6Ruc1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OAorbXNnaWQgIiAtbywgLS1jbG9zZSAgICAgICAgICAgICAgY2xvc2UgZmlsZSBkZXNjcmlwdG9yIGJlZm9yZSBydW5uaW5nIGNvbW1hbmRcbiIKK21zZ3N0ciAiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBzdMOkbmcgZmlsZGVza3JpcHRvciBpbm5hbiBrb21tYW5kbyBrw7Zyc1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OQorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgcnVuIGEgc2luZ2xlIGNvbW1hbmQgc3RyaW5nIHRocm91Z2ggdGhlIHNoZWxsXG4iCittc2dzdHIgIiAtYywgLS1jb21tYW5kIDxrb21tYW5kbz4ga8O2ciBlbiBlbnN0YWthIGtvbW1hbmRvc3Ryw6RuZyBnZW5vbSBza2FsZXRcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzAKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgIGV4ZWN1dGUgY29tbWFuZCB3aXRob3V0IGZvcmtpbmdcbiIKK21zZ3N0ciAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIGV4ZWt2ZXJhIGtvbW1hbmRvIHV0YW4gZm9ya1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgaW5jcmVhc2UgdmVyYm9zaXR5XG4iCittc2dzdHIgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgw7ZrYSB1dGbDtnJsaWdoZXRcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlcyIKK21zZ3N0ciAia2FuIGludGUgw7ZwcG5hIGzDpXNmaWwgJXMiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIwNQorbXNnaWQgImludmFsaWQgdGltZW91dCB2YWx1ZSIKK21zZ3N0ciAib2dpbHRpZ3QgdGlkc2dyw6Ruc3bDpHJkZSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjA5Cittc2dpZCAiaW52YWxpZCBleGl0IGNvZGUiCittc2dzdHIgIm9naWx0aWcgYXZzbHV0bmluZ3Nrb2QiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIyOAorbXNnaWQgInRoZSAtLW5vLWZvcmsgYW5kIC0tY2xvc2Ugb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICJmbGFnZ29ybmEgLS1uby1mb3JrIG9jaCAtLWNsb3NlIMOkciBpbmtvbXBhdGlibGEiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBleGFjdGx5IG9uZSBjb21tYW5kIGFyZ3VtZW50IgorbXNnc3RyICIlcyBrcsOkdmVyIGV4YWt0IGV0dCBrb21tYW5kb2FyZ3VtZW50IgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTQKK21zZ2lkICJiYWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICJvZ2lsdGlnIGZpbGRlc2tyaXB0b3IiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NworbXNnaWQgInJlcXVpcmVzIGZpbGUgZGVzY3JpcHRvciwgZmlsZSBvciBkaXJlY3RvcnkiCittc2dzdHIgImtyw6R2ZXIgZmlsZGVza3JpcHRvciwgZmlsIGVsbGVyIGthdGFsb2ciCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4MQorbXNnaWQgImZhaWxlZCB0byBnZXQgbG9jayIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdGEgbMOlcyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6Mjg4Cittc2dpZCAidGltZW91dCB3aGlsZSB3YWl0aW5nIHRvIGdldCBsb2NrIgorbXNnc3RyICJ0aWRzZ3LDpG5zIG7DpWRkIG1lZGFuIGzDpXMgdsOkbnRhZGVzIHDDpSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXR0aW5nIGxvY2sgdG9vayAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICIlczogYXR0IHRhIGzDpXNldCB0b2cgJWxkLiUwNmxkIHNla3VuZGVyXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIiVzOiBrw7ZyICVzXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50cG9pbnQ+XG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gPG1vbnRlcmluZ3NwdW5rdD5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTMKK21zZ2lkICJTdXNwZW5kIGFjY2VzcyB0byBhIGZpbGVzeXN0ZW0gKGV4dDMvNCwgUmVpc2VyRlMsIEpGUywgWEZTKS5cbiIKK21zZ3N0ciAiU3TDpG5nIGF2IHRpbGxnw6VuZyB0aWxsIGV0dCBmaWxzeXN0ZW0gKGV4dDMvNCwgUmVpc2VyRlMsIEpGUywgWEZTKS5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTYKK21zZ2lkICIgLWYsIC0tZnJlZXplICAgICAgZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAtZiwgLS1mcmVlemUgICAgICBmcnlzIGZpbHN5c3RlbWV0XG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjU3Cittc2dpZCAiIC11LCAtLXVuZnJlZXplICAgIHVuZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAtdSwgLS11bmZyZWV6ZSAgICB0w7ZhIGZpbHN5c3RlbWV0XG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExNgorbXNnaWQgIm5laXRoZXIgLS1mcmVlemUgb3IgLS11bmZyZWV6ZSBzcGVjaWZpZWQiCittc2dzdHIgInZhcmtlbiAtLWZyZWV6ZSBlbGxlciAtLXVuZnJlZXplIGFuZ2l2ZW4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIlczogw6RyIGludGUgZW4ga2F0YWxvZyIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmcmVlemUgZmFpbGVkIgorbXNnc3RyICIlczogZnJ5c25pbmcgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHTDtmFuZGUgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXM6IMOkciBpbnRlIGVuIGthdGFsb2ciCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogRklUUklNIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEZJVFJJTSBpb2N0bCBtaXNzbHlja2FkZXMiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgaGVyZSBpcyBhIHZlcnkgbGFyZ2UgbnVtYmVyLgorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCU8UFJJdTY0PiBieXRlcykgdHJpbW1lZFxuIgorbXNnc3RyICIlczogJXMgKCU8UFJJdTY0PiBieXRlKSB0cmltbWFkZVxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTkxIHN5cy11dGlscy9zd2Fwb24uYzo3Mjkgc3lzLXV0aWxzL3Vtb3VudC5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthICVzIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50IHBvaW50PlxuIgorbXNnc3RyICIgJXMgW2ZsYWdnb3JdIDxtb250ZXJpbmdzcHVua3Q+XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTQKK21zZ2lkICJEaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkthc3NlcmEgb2FudsOkbmRhIGJsb2NrIGbDtnIgZXR0IG1vbnRlcmF0IGZpbHN5c3RlbS5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NworbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgIHRyaW0gYWxsIG1vdW50ZWQgZmlsZXN5c3RlbXMgdGhhdCBhcmUgc3VwcG9ydGVkXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgIHRyaW1tYSBhbGxhIG1vbnRlcmFkZSBmaWxzeXN0ZW0gc29tIHN0w7Zkc1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU4Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgdGhlIG9mZnNldCBpbiBieXRlcyB0byBzdGFydCBkaXNjYXJkaW5nIGZyb21cbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8bnVtPiAgcG9zaXRpb25lbiBpIGJ5dGUgYXR0IGLDtnJqYSBrYXNzZXJhIGZyw6VuXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgYW50YWxldCBieXRlIGF0dCBrYXNzZXJhXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjAKK21zZ2lkICIgLW0sIC0tbWluaW11bSA8bnVtPiB0aGUgbWluaW11bSBleHRlbnQgbGVuZ3RoIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC1tLCAtLW1pbmltdW0gPG51bT4gbWluc3RhIHV0c3Ryw6Rja25pbmdzbMOkbmdkIGF0dCBrYXNzZXJhXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBudW1iZXIgb2YgZGlzY2FyZGVkIGJ5dGVzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgIHNrcml2IHV0IGFudGFsZXQga2Fzc2VyYWRlIGJ5dGVcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMxNgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtaW5pbXVtIGV4dGVudCBsZW5ndGgiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIG1pbnN0YSB1dHN0csOkY2tuaW5nIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzI5Cittc2dpZCAibm8gbW91bnRwb2ludCBzcGVjaWZpZWQiCittc2dzdHIgImluZ2VuIG1vbnRlcmluZ3NwdW5rdCBhbmdhdnMiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZSBkaXNjYXJkIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIlczoga2Fzc2VyaW5nc29wZXJhdGlvbmVuIHN0w7ZkcyBpbnRlIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJBc3N1bWluZyBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluICVzIHRpbWUuXG4iCittc2dzdHIgIkFudGFyIGF0dCBow6VyZHZhcnVrbG9ja2FuIGjDpWxsZXIgJXMtdGlkLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI0NyBzeXMtdXRpbHMvaHdjbG9jay5jOjMzNAorbXNnaWQgIlVUQyIKK21zZ3N0ciAiVVRDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI0NyBzeXMtdXRpbHMvaHdjbG9jay5jOjMzMworbXNnaWQgImxvY2FsIgorbXNnc3RyICJsb2thbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMTgKK21zZ2lkICIiCisiV2FybmluZzogdW5yZWNvZ25pemVkIHRoaXJkIGxpbmUgaW4gYWRqdGltZSBmaWxlXG4iCisiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKSIKK21zZ3N0ciAiIgorIlZhcm5pbmc6IG9rw6RuZCB0cmVkamUgcmFkIGkgYWRqdGltZS1maWxcbiIKKyIoRsO2cnbDpG50YWRlOiDigJ1VVEPigJ0gZWxsZXIg4oCdTE9DQUzigJ0gZWxsZXIgaW5nZW50aW5nLikiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgZHJpZnQgYWRqdXN0bWVudCBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiU2VuYXN0ZSBkcmFnbmluZ3NqdXN0ZXJpbmcgZ2pvcmRlcyAlbGQgc2VrdW5kZXIgZWZ0ZXIgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGNhbGlicmF0aW9uIGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICJTZW5hc3RlIGthbGlicmVyaW5nIGdqb3JkZXMgJWxkIHNla3VuZGVyIGVmdGVyIDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGFyZHdhcmUgY2xvY2sgaXMgb24gJXMgdGltZVxuIgorbXNnc3RyICJIw6VyZHZhcnVrbG9ja2FuIGjDpWxsZXIgJXMtdGlkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzU4CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgZm9yIGNsb2NrIHRpY2suLi5cbiIKK21zZ3N0ciAiVsOkbnRhciBww6Uga2xvY2t0aWNr4oCmXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnN5bmNocm9uaXphdGlvbiBmYWlsZWRcbiIKK21zZ3N0ciAi4oCmc3lua3JvbmlzZXJpbmcgbWlzc2x5Y2thZGVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmdvdCBjbG9jayB0aWNrXG4iCittc2dzdHIgIuKApmZpY2sga2xvY2t0aWNrXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDIyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdmFsdWVzIGluIGhhcmR3YXJlIGNsb2NrOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCittc2dzdHIgIk9naWx0aWdhIHbDpHJkZW4gaSBow6VyZHZhcnVrbG9ja2FuOiAlNGQtJS4yZC0lLjJkICUuMmQ6JS4yZDolLjJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkh3IGNsb2NrIHRpbWUgOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICJIdi1rbG9ja3RpZDogJTRkLSUuMmQtJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWt1bmRlciBzZWRhbiAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDY1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgcmVhZCBmcm9tIEhhcmR3YXJlIENsb2NrOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCittc2dzdHIgIlRpZCBzb20gbMOkc3RzIGZyw6VuIGjDpXJkdmFydWtsb2NrYW46ICU0ZC0lLjJkLSUuMmQgJTAyZDolMDJkOiUwMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyBIYXJkd2FyZSBDbG9jayB0byAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiU3TDpGxsZXIgaMOlcmR2YXJ1a2xvY2thbiB0aWxsICUuMmQ6JS4yZDolLjJkID0gJWxkIHNla3VuZGVyIHNlZGFuIDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2xvY2sgbm90IGNoYW5nZWQgLSB0ZXN0aW5nIG9ubHkuXG4iCittc2dzdHIgIktsb2NrYW4gw6RyIGludGUgw6RuZHJhZCAtIHRlc3RhciBiYXJhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYwMworIywgYy1mb3JtYXQKK21zZ2lkICJzbGVlcGluZyB+JWQgdXNlY1xuIgorbXNnc3RyICJzb3ZlciB+JWQgbWlrcm9zZWtcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBqdW1wZWQgYmFja3dhcmQgJS42ZiBzZWNvbmRzIHRvICVsZC4lMDZsZCAtIHJldGFyZ2V0aW5nXG4iCittc2dzdHIgInRpZCBob3BwYWRlIGJha8OldCAlLjZmIHNla3VuZGVyIHRpbGwgJWxkLiUwNmxkIC0gc3TDpGxsZXIgaW4gbnl0dCBtw6VsXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZC4lMDZsZCA8ICVsZC4lMDZsZCAoJS42ZilcbiIKK21zZ3N0ciAiJWxkLiUwNmxkIDwgJWxkLiUwNmxkICglLjZmKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciBwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCittc2dzdHIgIm1pc3NhZGUgZGVuIC0gJWxkLiUwNmxkIMOkciBmw7ZyIGzDpW5ndCBmw7ZyYmkgJWxkLiUwNmxkICglLjZmID4gJS42ZilcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVsZC4lMDZsZCBpcyBjbG9zZSBlbm91Z2ggdG8gJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyJTZXQgUlRDIHRvICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2bGQpXG4iCittc2dzdHIgIiIKKyIlbGQuJTA2bGQgw6RyIHRpbGxyw6Rja2xpZ3QgbsOkcmEgJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyJTdMOkbGwgaW4gUlRDIHDDpSAlbGQgKCVsZCArICVkOyByZWZzeXN0aWQgPSAlbGQuJTA2bGQpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Njg4Cittc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIHJlZ2lzdGVycyBjb250YWluIHZhbHVlcyB0aGF0IGFyZSBlaXRoZXIgaW52YWxpZCAoZS5nLiA1MHRoIGRheSBvZiBtb250aCkgb3IgYmV5b25kIHRoZSByYW5nZSB3ZSBjYW4gaGFuZGxlIChlLmcuIFllYXIgMjA5NSkuIgorbXNnc3RyICJIw6VyZHZhcnVrbG9ja2FucyByZWdpc3RlciBpbm5laMOlbGxlciB2w6RyZGVuIHNvbSBhbnRpbmdlbiDDpHIgb2dpbHRpZ2EgKHQuZXguIDUwOmUgZGFnZW4gaSBtw6VuYWRlbikgZWxsZXIgdXRhbmbDtnIgZGV0IGludGVydmFsbCBzb20gdmkga2FuIGhhbnRlcmEgKHQuZXguIMOlciAyMDk1KS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzI4Cittc2dpZCAiTm8gLS1kYXRlIG9wdGlvbiBzcGVjaWZpZWQuIgorbXNnc3RyICJJbmdlbiAtLWRhdGUtZmxhZ2dhIGFuZ2F2cy4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzM0Cittc2dpZCAiLS1kYXRlIGFyZ3VtZW50IHRvbyBsb25nIgorbXNnc3RyICItLWRhdGUtYXJndW1lbnRldCDDpHIgZsO2ciBsw6VuZ3QiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzQxCittc2dpZCAiIgorIlRoZSB2YWx1ZSBvZiB0aGUgLS1kYXRlIG9wdGlvbiBpcyBub3QgYSB2YWxpZCBkYXRlLlxuIgorIkluIHBhcnRpY3VsYXIsIGl0IGNvbnRhaW5zIHF1b3RhdGlvbiBtYXJrcy4iCittc2dzdHIgIiIKKyJWw6RyZGV0IGkgLS1kYXRlLWZsYWdnYW4gw6RyIGludGUgZXR0IGdpbHRpZ3QgZGF0dW0uXG4iCisiSSBzeW5uZXJoZXQgc29tIGRldCBpbm5laMOlbGxlciBjaXRhdGlvbnN0ZWNrZW4uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJJc3N1aW5nIGRhdGUgY29tbWFuZDogJXNcbiIKK21zZ3N0ciAiQW5yb3BhciBkYXRlLWtvbW1hbmRvdDogJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NTMKK21zZ2lkICJVbmFibGUgdG8gcnVuICdkYXRlJyBwcm9ncmFtIGluIC9iaW4vc2ggc2hlbGwuIHBvcGVuKCkgZmFpbGVkIgorbXNnc3RyICJLYW4gaW50ZSBrw7ZyYSDigJ1kYXRl4oCdLXByb2dyYW1tZXQgaSBza2FsZXQgL2Jpbi9zaC4gcG9wZW4oKSBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzYxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlc3BvbnNlIGZyb20gZGF0ZSBjb21tYW5kID0gJXNcbiIKK21zZ3N0ciAic3ZhciBmcsOlbiBkYXRlLWtvbW1hbmRvdCA9ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCB1bmV4cGVjdGVkIHJlc3VsdHMuXG4iCisiVGhlIGNvbW1hbmQgd2FzOlxuIgorIiAgJXNcbiIKKyJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorIiAgJXMiCittc2dzdHIgIiIKKyJkYXRlLWtvbW1hbmRvdCBzb20gYW5yb3BhZGVzIGF2ICVzIHJldHVybmVyYWRlIG92w6RudGFkZSByZXN1bHRhdC5cbiIKKyJLb21tYW5kb3QgdmFyOlxuIgorIiAgJXNcbiIKKyJTdmFyZXQgdmFyOlxuIgorIiAgJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhbiBpbnRlZ2VyIHdoZXJlIHRoZSBjb252ZXJ0ZWQgdGltZSB2YWx1ZSB3YXMgZXhwZWN0ZWQuXG4iCisiVGhlIGNvbW1hbmQgd2FzOlxuIgorIiAgJXNcbiIKKyJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorIiAlc1xuIgorbXNnc3RyICIiCisiZGF0ZS1rb21tYW5kb3Qgc29tIGFucm9wYWRlcyBhdiAlcyByZXR1cm5lcmFkZSBuw6Vnb250aW5nIGFubmF0IMOkbiBldHQgaGVsdGFsIGTDpHIgZGVuIGtvbnZlcnRlcmFkZSB0aWRlbiBmw7ZydsOkbnRhZGVzLlxuIgorIktvbW1hbmRvdCB2YXI6XG4iCisiICAlc1xuIgorIlN2YXJldCB2YXI6XG4iCisiICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzg2CisjLCBjLWZvcm1hdAorbXNnaWQgImRhdGUgc3RyaW5nICVzIGVxdWF0ZXMgdG8gJWxkIHNlY29uZHMgc2luY2UgMTk2OS5cbiIKK21zZ3N0ciAiZGF0dW1zdHLDpG5nZW4gJXMgw6RyIGxpa2EgbWVkICVsZCBzZWt1bmRlciBzZWRhbiAxOTY5LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgyNAorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IHNldCB0aGUgU3lzdGVtIFRpbWUgZnJvbSBpdC4iCittc2dzdHIgIkjDpXJkdmFydWtsb2NrYW4gaW5uZWjDpWxsZXIgaW50ZSBlbiBnaWx0aWcgdGlkLCBzw6Ugdmkga2FuIGludGUgc3TDpGxsYSBzeXN0ZW10aWRlbiBmcsOlbiBkZW4uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg0MyBzeXMtdXRpbHMvaHdjbG9jay5jOjkzMAorIywgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheTpcbiIKK21zZ3N0ciAiQW5yb3BhciBzZXR0aW1lb2ZkYXk6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQ0IHN5cy11dGlscy9od2Nsb2NrLmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCittc2dzdHIgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQ2IHN5cy11dGlscy9od2Nsb2NrLmM6OTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorbXNnc3RyICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTAgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgc3lzdGVtIGNsb2NrIGJlY2F1c2UgcnVubmluZyBpbiB0ZXN0IG1vZGUuXG4iCittc2dzdHIgIlN0w6RsbGVyIGludGUgc3lzdGVta2xvY2thbiBlZnRlcnNvbSB2aSBrw7ZyIGkgdGVzdGzDpGdlLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg2NiBzeXMtdXRpbHMvaHdjbG9jay5jOjk2MgorbXNnaWQgIk11c3QgYmUgc3VwZXJ1c2VyIHRvIHNldCBzeXN0ZW0gY2xvY2suIgorbXNnc3RyICJNw6VzdGUgdmFyYSBzdXBlcmFudsOkbmRhcmVuIGbDtnIgYXR0IGt1bm5hIHN0w6RsbGEgc3lzdGVta2xvY2thbi4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODY5IHN5cy11dGlscy9od2Nsb2NrLmM6OTY1Cittc2dpZCAic2V0dGltZW9mZGF5KCkgZmFpbGVkIgorbXNnc3RyICJzZXR0aW1lb2ZkYXkoKSBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkN1cnJlbnQgc3lzdGVtIHRpbWU6ICVsZCA9ICVzXG4iCittc2dzdHIgIkFrdHVlbGwgc3lzdGVtdGlkOiAlbGQgPSAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzMQorIywgYy1mb3JtYXQKK21zZ2lkICJcdFVUQzogJXNcbiIKK21zZ3N0ciAiXHRVVEM6ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIC0tdXBkYXRlLWRyaWZ0IG9wdGlvbiB3YXMgbm90IHVzZWQuXG4iCittc2dzdHIgIkp1c3RlcmFyIGludGUgZHJhZ25pbmdzZmFrdG9ybiBlZnRlcnNvbSBmbGFnZ2FuIC0tdXBkYXRlLWRyaWZ0IGludGUgYW52w6RuZGVzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgSGFyZHdhcmUgQ2xvY2sgcHJldmlvdXNseSBjb250YWluZWQgZ2FyYmFnZS5cbiIKK21zZ3N0ciAiSnVzdGVyYXIgaW50ZSBkcmFnbmluZ3NmYWt0b3JuIGVmdGVyc29tIGjDpXJkdmFydWtsb2NrYW4gdGlkaWdhcmUgaW5uZWjDtmxsIHNrcsOkcC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGxhc3QgY2FsaWJyYXRpb24gdGltZSBpcyB6ZXJvLFxuIgorInNvIGhpc3RvcnkgaXMgYmFkIGFuZCBjYWxpYnJhdGlvbiBzdGFydG92ZXIgaXMgbmVjZXNzYXJ5LlxuIgorbXNnc3RyICIiCisiSnVzdGVyYXIgaW50ZSBkcmFnbmluZ3NmYWt0b3JuIGVmdGVyc29tIHNlbmFzdGUga2FsaWJyZXJpbmdzdGlkZW5cbiIKKyLDpHIgbm9sbCwgc8OlIGhpc3RvcmlrZW4gw6RyIHRyYXNpZyBvY2ggZW4gb21zdGFydCBhdiBrYWxpYnJlcmluZ2VuXG4iCisiw6RyIG7DtmR2w6RuZGlnLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBpdCBoYXMgYmVlbiBsZXNzIHRoYW4gZm91ciBob3VycyBzaW5jZSB0aGUgbGFzdCBjYWxpYnJhdGlvbi5cbiIKK21zZ3N0ciAiSnVzdGVyYXIgaW50ZSBkcmFnbmluZ3NmYWt0b3JuIGVmdGVyc29tIGRldCBoYXIgZ8OldHQgbWluZHJlIMOkbiBmeXJhIHRpbW1hciBzZWRhbiBkZW4gc2VuYXN0ZSBrYWxpYnJlcmluZ2VuLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0IGZhY3RvciB3YXMgY2FsY3VsYXRlZCBhcyAlZiBzZWNvbmRzL2RheS5cbiIKKyJJdCBpcyBmYXIgdG9vIG11Y2guIFJlc2V0dGluZyB0byB6ZXJvLlxuIgorbXNnc3RyICIiCisiRHJhZ25pbmdzZmFrdG9yIGbDtnIga2xvY2thbiBiZXLDpGtuYWRlcyBzb20gJWYgc2VrdW5kZXIvZGFnLlxuIgorIkRldCDDpHIgYWxsZGVsZXMgZsO2ciBteWNrZXQuIMOFdGVyc3TDpGxsZXIgdGlsbCBub2xsLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0ZWQgJWYgc2Vjb25kcyBpbiB0aGUgcGFzdCAlZiBzZWNvbmRzXG4iCisiaW4gc3BpdGUgb2YgYSBkcmlmdCBmYWN0b3Igb2YgJWYgc2Vjb25kcy9kYXkuXG4iCisiQWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBieSAlZiBzZWNvbmRzL2RheVxuIgorbXNnc3RyICIiCisiS2xvY2thbiBkcm9nIHNpZyAlZiBzZWt1bmRlciB1bmRlciBkZSBzZW5hc3RlICVmIHNla3VuZGVybmFcbiIKKyJ0cm90cyBlbiBkcmFnbmluZ3NmYWt0b3IgcMOlICVmIHNla3VuZGVyL2RhZy5cbiIKKyJKdXN0ZXJhciBkcmFnbmluZ3NmYWt0b3JuIG1lZCAlZiBzZWt1bmRlci9kYWdcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVkIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlZCBzZWNvbmRzXG4iCittc2dzdHJbMF0gIlRpZCBzZWRhbiBzZW5hc3RlIGp1c3RlcmluZ2VuIMOkciAlZCBzZWt1bmRcbiIKK21zZ3N0clsxXSAiVGlkIHNlZGFuIHNlbmFzdGUganVzdGVyaW5nZW4gw6RyICVkIHNla3VuZGVyXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEwMworIywgYy1mb3JtYXQKK21zZ2lkICJDYWxjdWxhdGVkIEhhcmR3YXJlIENsb2NrIGRyaWZ0IGlzICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIkJlcsOka25hZCBow6VyZHZhcnVrbG9ja2RyYWduaW5nIMOkciAlbGQuJTA2bGQgc2VrdW5kZXJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTMzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCB1cGRhdGluZyBhZGp0aW1lIGZpbGUgYmVjYXVzZSBvZiB0ZXN0aW5nIG1vZGUuXG4iCittc2dzdHIgIlVwcGRhdGVyYXIgaW50ZSBhZGp0aW1lLWZpbGVuIGVmdGVyc29tIHZpIMOkciBpIHRlc3Rsw6RnZS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXb3VsZCBoYXZlIHdyaXR0ZW4gdGhlIGZvbGxvd2luZyB0byAlczpcbiIKKyIlcyIKK21zZ3N0ciAiIgorIlNrdWxsZSBza3Jpdml0IGbDtmxqYW5kZSB0aWxsICVzOlxuIgorIiVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgaW4gaXQgKCVzKSBmb3Igd3JpdGluZyIKK21zZ3N0ciAiS3VuZGUgaW50ZSDDtnBwbmEgZmlsIG1lZCBrbG9ja2p1c3RlcmluZ3NwYXJhbWV0cmFyICglcykgZsO2ciBza3Jpdm5pbmciCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE0OSBzeXMtdXRpbHMvaHdjbG9jay5jOjExNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHVwZGF0ZSBmaWxlIHdpdGggdGhlIGNsb2NrIGFkanVzdG1lbnQgcGFyYW1ldGVycyAoJXMpIGluIGl0IgorbXNnc3RyICJLdW5kZSBpbnRlIHVwcGRhdGVyYSBmaWwgbWVkIGtsb2NranVzdGVyaW5nc3BhcmFtZXRyYXIgKCVzKSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTY0Cittc2dpZCAiRHJpZnQgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIG5vdCB1cGRhdGVkLiIKK21zZ3N0ciAiRHJhZ25pbmdzanVzdGVyaW5nc3BhcmFtZXRyYXJuYSB1cHBkYXRlcmFkZXMgaW50ZS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIwMAorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IGFkanVzdCBpdC4iCittc2dzdHIgIkjDpXJkdmFydWtsb2NrYW4gaW5uZWjDpWxsZXIgaW50ZSBlbiBnaWx0aWcgdGlkLCBzw6Ugdmkga2FuIGludGUganVzdGVyYSBkZW4uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBsYXN0IGFkanVzdG1lbnQgdGltZSBpcyB6ZXJvLCBzbyBoaXN0b3J5IGlzIGJhZC5cbiIKK21zZ3N0ciAiU3TDpGxsZXIgaW50ZSBpbiBrbG9ja2EgZWZ0ZXJzb20gc2VuYXN0ZSBqdXN0ZXJpbmdzdGlkIMOkciBub2xsLCBzw6UgaGlzdG9yaWtlbiDDpHIgZMOlbGlnLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBkcmlmdCBmYWN0b3IgJWYgaXMgZmFyIHRvbyBoaWdoLlxuIgorbXNnc3RyICJTdMOkbGxlciBpbnRlIGluIGtsb2NrYSBlZnRlcnNvbSBkcmFnbmluZ3NmYWt0b3JuICVmIMOkciBhbGxkZWxlcyBmw7ZyIHN0b3IuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJObyB1c2FibGUgY2xvY2sgaW50ZXJmYWNlIGZvdW5kLlxuIgorbXNnc3RyICJJbmdldCBhbnbDpG5kYmFydCBrbG9ja2dyw6Ruc3NuaXR0IGhpdHRhZGVzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmVlZGVkIGFkanVzdG1lbnQgaXMgbGVzcyB0aGFuIG9uZSBzZWNvbmQsIHNvIG5vdCBzZXR0aW5nIGNsb2NrLlxuIgorbXNnc3RyICJEZW4ganVzdGVyaW5nIHNvbSBiZWjDtnZzIMOkciBtaW5kcmUgw6RuIGVuIHNla3VuZCwgc8OlIHN0w6RsbGVyIGludGUga2xvY2thbi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzg4IHN5cy11dGlscy9od2Nsb2NrLmM6MTM5NAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gc2V0IHN5c3RlbSBjbG9jay5cbiIKK21zZ3N0ciAiS3VuZGUgaW50ZSBzdMOkbGxhIHN5c3RlbWtsb2NrYW4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQwMgorIywgYy1mb3JtYXQKK21zZ2lkICJBdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LCBSVEMgaXMgcHJlZGljdGVkIHRvIHJlYWQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OS5cbiIKK21zZ3N0ciAiJWxkIHNla3VuZGVyIGVmdGVyIDE5NjksIFJUQyBmw7ZydXRzcMOlcyB2YXJhICVsZCBzZWt1bmRlciBlZnRlciAxOTY5LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0MzEKK21zZ2lkICIiCisiVGhlIGtlcm5lbCBrZWVwcyBhbiBlcG9jaCB2YWx1ZSBmb3IgdGhlIEhhcmR3YXJlIENsb2NrIG9ubHkgb24gYW4gQWxwaGEgbWFjaGluZS5cbiIKKyJUaGlzIGNvcHkgb2YgaHdjbG9jayB3YXMgYnVpbHQgZm9yIGEgbWFjaGluZSBvdGhlciB0aGFuIEFscGhhXG4iCisiKGFuZCB0aHVzIGlzIHByZXN1bWFibHkgbm90IHJ1bm5pbmcgb24gYW4gQWxwaGEgbm93KS4gIE5vIGFjdGlvbiB0YWtlbi4iCittc2dzdHIgIiIKKyJLw6RybmFuIHNwYXJhciBldHQgZXBva3bDpHJkZSBmw7ZyIGjDpXJkdmFydWtsb2NrYW4gZW5kYXN0IHDDpSBBbHBoYS1tYXNraW5lci5cbiIKKyJEZW5uYSBrb3BpYSBhdiBod2Nsb2NrIGJ5Z2dkZXMgZsO2ciBlbiBhbm5hbiBtYXNraW4gw6RuIEFscGhhXG4iCisiKG9jaCBrw7ZycyBkw6RyZsO2ciB0cm9saWdlbiBpbnRlIHDDpSBlbiBBbHBoYSBqdXN0IG51KS4gSW5nZW4gw6V0Z8OkcmQgdXRmw7ZyZGVzLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDQ4Cittc2dpZCAiVW5hYmxlIHRvIGdldCB0aGUgZXBvY2ggdmFsdWUgZnJvbSB0aGUga2VybmVsLiIKK21zZ3N0ciAiS3VuZGUgaW50ZSBmw6UgdGFnIGkgZXBva3bDpHJkZXQgZnLDpW4ga8Okcm5hbi4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgaXMgYXNzdW1pbmcgYW4gZXBvY2ggdmFsdWUgb2YgJWx1XG4iCittc2dzdHIgIkvDpHJuYW4gYW50YXIgYXR0IGVwb2t2w6RyZGV0IMOkciAlbHVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDU1Cittc2dpZCAiVG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSwgeW91IG11c3QgdXNlIHRoZSAnZXBvY2gnIG9wdGlvbiB0byB0ZWxsIHRvIHdoYXQgdmFsdWUgdG8gc2V0IGl0LiIKK21zZ3N0ciAiRsO2ciBhdHQgc3TDpGxsYSBlcG9rdsOkcmRldCBtw6VzdGUgZHUgYW52w6RuZGEgZmxhZ2dhbiDigJ1lcG9jaOKAnSBmw7ZyIGF0dCBhbmdlIHZpbGtldCB2w6RyZGUgZGV0IHNrYSBzdMOkbGxhcyBpbiBww6UuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgdGhlIGVwb2NoIHRvICVsdSAtIHRlc3Rpbmcgb25seS5cbiIKK21zZ3N0ciAiU3TDpGxsZXIgaW50ZSBlcG9rZW4gdGlsbCAlbHUgLSB0ZXN0YXIgYmFyYS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBzZXQgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwuXG4iCittc2dzdHIgIkthbiBpbnRlIHN0w6RsbGEgaW4gZXBva3bDpHJkZXQgaSBrw6RybmFuLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NTYKK21zZ2lkICIgaHdjbG9jayBbZnVuY3Rpb25dIFtvcHRpb24uLi5dXG4iCittc2dzdHIgIiBod2Nsb2NrIFtmdW5rdGlvbl0gW2ZsYWdnYeKApl1cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTU5Cittc2dpZCAiUXVlcnkgb3Igc2V0IHRoZSBoYXJkd2FyZSBjbG9jay5cbiIKK21zZ3N0ciAiRnLDpWdhIG9tIGVsbGVyIHN0w6RsbCBpbiBow6VyZHZhcnVrbG9ja2FuLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjEKK21zZ2lkICIiCisiXG4iCisiRnVuY3Rpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiRnVua3Rpb25lcjpcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTYyCittc2dpZCAiIgorIiAtaCwgLS1oZWxwICAgICAgICAgICBzaG93IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisiIC1yLCAtLXNob3cgICAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IHJlc3VsdFxuIgorIiAgICAgLS1nZXQgICAgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCBkcmlmdCBjb3JyZWN0ZWQgcmVzdWx0XG4iCisiICAgICAtLXNldCAgICAgICAgICAgIHNldCB0aGUgUlRDIHRvIHRoZSB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCittc2dzdHIgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgdmlzYSBkZW5uYSBoasOkbHB0ZXh0IG9jaCBhdnNsdXRhXG4iCisiIC1yLCAtLXNob3cgICAgICAgICAgIGzDpHMgaMOlcmR2YXJ1a2xvY2thbiBvY2ggc2tyaXYgdXQgcmVzdWx0YXRcbiIKKyIgICAgIC0tZ2V0ICAgICAgICAgICAgbMOkcyBow6VyZHZhcnVrbG9ja2FuIG9jaCBza3JpdiB1dCByZXN1bHRhdCBrb3JyaWdlcmF0IGbDtnIgZHJhZ25pbmdcbiIKKyIgICAgIC0tc2V0ICAgICAgICAgICAgc3TDpGxsIGluIFJUQzpuIHDDpSB0aWRlbiBhbmdpdmVuIG1lZCAtLWRhdGVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTY2Cittc2dpZCAiIgorIiAtcywgLS1oY3Rvc3lzICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisiIC13LCAtLXN5c3RvaGMgICAgICAgIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgZnJvbSB0aGUgY3VycmVudCBzeXN0ZW0gdGltZVxuIgorIiAgICAgLS1zeXN0eiAgICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRpbWV6b25lXG4iCisiICAgICAtLWFkanVzdCAgICAgICAgIGFkanVzdCB0aGUgUlRDIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgc2luY2VcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY2xvY2sgd2FzIGxhc3Qgc2V0IG9yIGFkanVzdGVkXG4iCittc2dzdHIgIiIKKyIgLXMsIC0taGN0b3N5cyAgICAgICAgc3TDpGxsIGluIHN5c3RlbXRpZGVuIGZyw6VuIGjDpXJkdmFydWtsb2NrYW5cbiIKKyIgLXcsIC0tc3lzdG9oYyAgICAgICAgc3TDpGxsIGluIGjDpXJkdmFydWtsb2NrYW4gZnLDpW4gYWt0dWVsbCBzeXN0ZW10aWRcbiIKKyIgICAgIC0tc3lzdHogICAgICAgICAgc3TDpGxsIGluIHN5c3RlbXRpZGVuIGJhc2VyYWQgcMOlIGFrdHVlbGwgdGlkc3pvblxuIgorIiAgICAgLS1hZGp1c3QgICAgICAgICBqdXN0ZXJhIFJUQzpuIGbDtnIgYXR0IHRhIGjDpG5zeW4gdGlsbCBzeXN0ZW1hdGlzayBkcmFnbmluZyBzZWRhblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGtsb2NrYW4gc2VuYXN0IHN0w6RsbGRlcyBpbiBlbGxlciBqdXN0ZXJhZGVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU3MQorbXNnaWQgIiAtYywgLS1jb21wYXJlICAgICAgICBwZXJpb2RpY2FsbHkgY29tcGFyZSB0aGUgc3lzdGVtIGNsb2NrIHdpdGggdGhlIENNT1MgY2xvY2tcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbXBhcmUgICAgICAgIGrDpG1mw7ZyIHBlcmlvZGlza3Qgc3lzdGVta2xvY2thbiBtZWQgQ01PUy1rbG9ja2FuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU3MworbXNnaWQgIiIKKyIgICAgIC0tZ2V0ZXBvY2ggICAgICAgcHJpbnQgb3V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZVxuIgorIiAgICAgLS1zZXRlcG9jaCAgICAgICBzZXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlIHRvIHRoZSBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBnaXZlbiB3aXRoIC0tZXBvY2hcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1nZXRlcG9jaCAgICAgICBza3JpdiB1dCBrw6RybmFucyBlcG9rdsOkcmRlIGbDtnIgaMOlcmR2YXJ1a2xvY2thblxuIgorIiAgICAgLS1zZXRlcG9jaCAgICAgICBzdMOkbGwgaW4ga8Okcm5hbnMgZXBva3bDpHJkZSBmw7ZyIGjDpXJkdmFydWtsb2NrYW4gdGlsbFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHbDpHJkZXQgYW5naXZldCBtZWQgLS1lcG9jaFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NzcKK21zZ2lkICIiCisiICAgICAtLXByZWRpY3QgICAgICAgIHByZWRpY3QgUlRDIHJlYWRpbmcgYXQgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1wcmVkaWN0ICAgICAgICBmw7ZydXRzcMOlIFJUQy1sw6RzbmluZyB2aWQgZW4gZ2l2ZW4gdGlkIG1lZCAtLWRhdGVcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgdmlzYSB2ZXJzaW9uc2luZm9ybWF0aW9uIG9jaCBhdnNsdXRhXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4MQorbXNnaWQgIiIKKyIgLXUsIC0tdXRjICAgICAgICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gVVRDXG4iCisiICAgICAtLWxvY2FsdGltZSAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIGxvY2FsIHRpbWVcbiIKK21zZ3N0ciAiIgorIiAtdSwgLS11dGMgICAgICAgICAgICBow6VyZHZhcnVrbG9ja2FuIGjDpWxsZXIgVVRDLXRpZFxuIgorIiAgICAgLS1sb2NhbHRpbWUgICAgICBow6VyZHZhcnVrbG9ja2FuIGjDpWxsZXIgbG9rYWx0aWRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTg0Cittc2dpZCAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIHNwZWNpYWwgL2Rldi8uLi4gZmlsZSB0byB1c2UgaW5zdGVhZCBvZiBkZWZhdWx0XG4iCittc2dzdHIgIiAtZiwgLS1ydGMgPGZpbD4gICAgICB2aWxrZW4gc3BlY2llbGwgL2Rldi/igKYtZmlsIHNvbSBza2EgYW52w6RuZGFzIGlzdMOkbGxldCBmw7ZyIHN0YW5kYXJkdsOkcmRldFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1kaXJlY3Rpc2EgICAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorIiAgICAgLS1iYWR5ZWFyICAgICAgICBpZ25vcmUgUlRDJ3MgeWVhciBiZWNhdXNlIHRoZSBCSU9TIGlzIGJyb2tlblxuIgorIiAgICAgLS1kYXRlIDx0aW1lPiAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorIiAgICAgLS1lcG9jaCA8eWVhcj4gICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBoYXJkd2FyZSBjbG9jaydzIGVwb2NoIHZhbHVlXG4iCittc2dzdHIgIiIKKyIgICAgIC0tZGlyZWN0aXNhICAgICAgZ8OlIGRpcmVrdCBtb3QgSVNBLWJ1c3NlbiBpc3TDpGxsZXQgZsO2ciAlc1xuIgorIiAgICAgLS1iYWR5ZWFyICAgICAgICBpZ25vcmVyYSBSVEM6bnMgw6VyIGVmdGVyc29tIEJJT1Mgw6RyIHRyYXNpZ3RcbiIKKyIgICAgIC0tZGF0ZSA8dGlkPiAgICAgYW5nZXIgdGlkZW4gc29tIGjDpXJkdmFydWtsb2NrYW4gc2thIHN0w6RsbGFzIGluIHDDpVxuIgorIiAgICAgLS1lcG9jaCA8w6VyPiAgICAgYW5nZXIgw6VyZXQgc29tIGlubGVkZXIgaMOlcmR2YXJ1a2xvY2thbnMgZXBva3bDpHJkZVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS11cGRhdGUtZHJpZnQgICB1cGRhdGUgZHJpZnQgZmFjdG9yIGluICUxJHMgKHJlcXVpcmVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgLS1zZXQgb3IgLS1zeXN0b2hjKVxuIgorIiAgICAgLS1ub2FkamZpbGUgICAgICBkbyBub3QgYWNjZXNzICUxJHM7IHRoaXMgcmVxdWlyZXMgdGhlIHVzZSBvZlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZVxuIgorIiAgICAgLS1hZGpmaWxlIDxmaWxlPiBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICUxJHNcbiIKK21zZ3N0ciAiIgorIiAgICAgLS11cGRhdGUtZHJpZnQgICB1cHBkYXRlcmEgZHJhZ25pbmdzZmFrdG9yIGkgJTEkcyAoa3LDpHZlclxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIC0tc2V0IGVsbGVyIC0tc3lzdG9oYylcbiIKKyIgICAgIC0tbm9hZGpmaWxlICAgICAgYW52w6RuZCBpbnRlICUxJHM7IGRldHRhIGtyw6R2ZXIgYW52w6RuZG5pbmdlbiBhdlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGFudGluZ2VuIC0tdXRjIGVsbGVyIC0tbG9jYWx0aW1lXG4iCisiICAgICAtLWFkamZpbGUgPGZpbD4gIGFuZ2VyIHPDtmt2w6RnZW4gdGlsbCBqdXN0ZXJpbmdzZmlsZW47XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgc3RhbmRhcmR2w6RyZGV0IMOkciAlMSRzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU5OQorbXNnaWQgIiIKKyIgICAgIC0tdGVzdCAgICAgICAgICAgZG8gbm90IHVwZGF0ZSBhbnl0aGluZywganVzdCBzaG93IHdoYXQgd291bGQgaGFwcGVuXG4iCisiIC1ELCAtLWRlYnVnICAgICAgICAgIGRlYnVnZ2luZyBtb2RlXG4iCisiXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGVzdCAgICAgICAgICAgdXBwZGF0ZXJhIGluZ2VudGluZywgYmFyYSB2aXNhIHZhZCBzb20gc2t1bGxlIGhhIGjDpG50XG4iCisiIC1ELCAtLWRlYnVnICAgICAgICAgIGZlbHPDtmtuaW5nc2zDpGdlXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTYwMgorbXNnaWQgIiIKKyIgLUp8LS1qZW5zZW4sIC1BfC0tYXJjLCAtU3wtLXNybSwgLUZ8LS1mdW5reS10b3lcbiIKKyIgICAgICB0ZWxsIGh3Y2xvY2sgdGhlIHR5cGUgb2YgQWxwaGEgeW91IGhhdmUgKHNlZSBod2Nsb2NrKDgpKVxuIgorIlxuIgorbXNnc3RyICIiCisiIC1KfC0tamVuc2VuLCAtQXwtLWFyYywgLVN8LS1zcm0sIC1GfC0tZnVua3ktdG95XG4iCisiICAgICAgYmVyw6R0dGEgZsO2ciBow6VyZHZhcnVrbG9ja2Egdmlsa2VuIHR5cCBhdiBBbHBoYSBkdSBoYXIgKHNlIGh3Y2xvY2soOCkpXG4iCisiXG4iCisKKyMgYXVkaXQgw6RyIGluZ2V0IHN2ZW5za3Qgb3JkIG1lbiBoaXR0YXIgaW50ZSBwYXNzYW5kZS4gcmV2aXNpb24/IGdyYW5za25pbmc/CisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE3MjgKK21zZ2lkICJVbmFibGUgdG8gY29ubmVjdCB0byBhdWRpdCBzeXN0ZW0iCittc2dzdHIgIkthbiBpbnRlIGFuc2x1dGEgdGlsbCBncmFuc2tuaW5nc3N5c3RlbSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODI2Cittc2dpZCAiaW52YWxpZCBlcG9jaCBhcmd1bWVudCIKK21zZ3N0ciAib2dpbHRpZ3QgZXBva2FyZ3VtZW50IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdGFrZXMgbm8gbm9uLW9wdGlvbiBhcmd1bWVudHMuICBZb3Ugc3VwcGxpZWQgJWQuXG4iCittc2dzdHIgIiVzIHRhciBpbmdhIGFyZ3VtZW50IHNvbSBpbnRlIMOkciBmbGFnZ29yLiBEdSBhbmdhdiAlZC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODgwCittc2dpZCAiV2l0aCAtLW5vYWRqZmlsZSwgeW91IG11c3Qgc3BlY2lmeSBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWUiCittc2dzdHIgIk1lZCAtLW5vYWRqZmlsZSBtw6VzdGUgZHUgYW5nZSBhbnRpbmdlbiAtLXV0YyBlbGxlciAtLWxvY2FsdGltZSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODkzCittc2dpZCAiTm8gdXNhYmxlIHNldC10byB0aW1lLiAgQ2Fubm90IHNldCBjbG9jay4iCittc2dzdHIgIkluZ2VuIGFudsOkbmRiYXIgdGlkIGF0dCBzdMOkbGxhIGluLiBLYW4gaW50ZSBzdMOkbGxhIGtsb2NrYW4uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE5MTcKK21zZ2lkICJDYW5ub3QgYWNjZXNzIHRoZSBIYXJkd2FyZSBDbG9jayB2aWEgYW55IGtub3duIG1ldGhvZC4iCittc2dzdHIgIkthbiBpbnRlIGtvbW1hIMOldCBow6VyZHZhcnVrbG9ja2FuIHZpYSBuw6Vnb24ga8OkbmQgbWV0b2QuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE5MjAKK21zZ2lkICJVc2UgdGhlIC0tZGVidWcgb3B0aW9uIHRvIHNlZSB0aGUgZGV0YWlscyBvZiBvdXIgc2VhcmNoIGZvciBhbiBhY2Nlc3MgbWV0aG9kLiIKK21zZ3N0ciAiQW52w6RuZCBmbGFnZ2FuIC0tZGVidWcgZsO2ciBhdHQgc2UgZGV0YWxqZXJuYSBvbSB2w6VyIHPDtmtuaW5nIGVmdGVyIGVuIMOldGtvbXN0bWV0b2QuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgImJvb3RlZCBmcm9tIE1JTE9cbiIKK21zZ3N0ciAic3RhcnRhZGUgZnLDpW4gTUlMT1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIlJ1ZmZpYW4gQkNEIGNsb2NrXG4iCittc2dzdHIgIlJ1ZmZpYW4gQkNELWtsb2NrYVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb2NrcG9ydCBhZGp1c3RlZCB0byAweCV4XG4iCittc2dzdHIgImtsb2NrcG9ydGVuIGp1c3RlcmFkZXMgdGlsbCAweCV4XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnVua3kgVE9ZIVxuIgorbXNnc3RyICJow6RmdGlnIExFS1NBSyFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjI5OAorIywgYy1mb3JtYXQKK21zZ2lkICJhdG9taWMgJXMgZmFpbGVkIGZvciAxMDAwIGl0ZXJhdGlvbnMhIgorbXNnc3RyICJhdG9taXNrICVzIG1pc3NseWNrYWRlcyB1bmRlciAxMDAwIGl0ZXJhdGlvbmVyISIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjMyNAorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3JlYWQoKTogd3JpdGUgdG8gY29udHJvbCBhZGRyZXNzICVYIGZhaWxlZCIKK21zZ3N0ciAiY21vc19yZWFkKCk6IHNrcml2bmluZyB0aWxsIGtvbnRyb2xsYWRyZXNzICVYIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjMyOAorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3JlYWQoKTogcmVhZCBmcm9tIGRhdGEgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgImNtb3NfcmVhZCgpOiBsw6RzbmluZyBmcsOlbiBkYXRhYWRyZXNzICVYIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3dyaXRlKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgImNtb3Nfd3JpdGUoKTogc2tyaXZuaW5nIHRpbGwga29udHJvbGxhZHJlc3MgJVggbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3Nfd3JpdGUoKTogd3JpdGUgdG8gZGF0YSBhZGRyZXNzICVYIGZhaWxlZCIKK21zZ3N0ciAiY21vc193cml0ZSgpOiBza3Jpdm5pbmcgdGlsbCBkYXRhYWRyZXNzICVYIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY0NQorbXNnaWQgIkkgZmFpbGVkIHRvIGdldCBwZXJtaXNzaW9uIGJlY2F1c2UgSSBkaWRuJ3QgdHJ5LiIKK21zZ3N0ciAiSmFnIG1pc3NseWNrYWRlcyBtZWQgYXR0IGbDpSB0aWxsw6V0ZWxzZSBlZnRlcnNvbSBqYWcgaW50ZSBmw7Zyc8O2a3RlLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY0OAorbXNnaWQgInVuYWJsZSB0byBnZXQgSS9PIHBvcnQgYWNjZXNzOiAgdGhlIGlvcGwoMykgY2FsbCBmYWlsZWQuIgorbXNnc3RyICJrYW4gaW50ZSBmw6UgSS9PLXBvcnR0aWxsZ8Olbmc6IGlvcGwoMyktYW5yb3BldCBtaXNzbHlja2FkZXMuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjUxCittc2dpZCAiUHJvYmFibHkgeW91IG5lZWQgcm9vdCBwcml2aWxlZ2VzLlxuIgorbXNnc3RyICJEdSBiZWjDtnZlciB0cm9saWd0dmlzIHJvb3QtcHJpdmlsZWdpZXIuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NTgKK21zZ2lkICJVc2luZyBkaXJlY3QgSS9PIGluc3RydWN0aW9ucyB0byBJU0EgY2xvY2suIgorbXNnc3RyICJBbnbDpG5kIGRpcmVrdGEgSS9PLWluc3RydWt0aW9uZXIgZsO2ciBJU0Eta2xvY2thLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTk1CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byByZWFkIHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoJXMpIHRpbGwgJXMgZsO2ciBhdHQgbMOkc2EgdGlkZW4gbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gJXMgdG8gY2hhbmdlXG4iCittc2dzdHIgIlbDpG50YXIgaSBzbGluZ2EgcMOlIGF0dCB0aWRlbiBmcsOlbiAlcyBza2Egw6RuZHJhc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMzYKK21zZ2lkICJUaW1lZCBvdXQgd2FpdGluZyBmb3IgdGltZSBjaGFuZ2UuIgorbXNnc3RyICJUaWRzZ3LDpG5zIHVwcG7DpWRkZXMgdW5kZXIgdsOkbnRhbiBww6UgYXR0IHRpZGVuIHNrdWxsZSDDpG5kcmFzLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRvZXMgbm90IGhhdmUgaW50ZXJydXB0IGZ1bmN0aW9ucy4gIgorbXNnc3RyICIlcyBoYXIgaW5nYSBhdmJyb3R0c2Z1bmt0aW9uZXIuICIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzAyCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgZmFpbGVkIgorbXNnc3RyICJzZWxlY3QoKSBww6UgJXMgZsO2ciBhdHQgdsOkbnRhIHDDpSBrbG9ja3RpY2sgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayB0aW1lZCBvdXQiCittc2dzdHIgInNlbGVjdCgpIHDDpSAlcyBmw7ZyIGF0dCB2w6RudGEgcMOlIGtsb2NrdGljayBmaWNrIHRpZCBhdHQgbMO2cGEgdXQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb2ZmIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoKSBww6UgJXMgZsO2ciBhdHQgc2zDpSBhdiB1cHBkYXRlcmluZ3NhdmJyb3R0IG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvbiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQgdW5leHBlY3RlZGx5IgorbXNnc3RyICJpb2N0bCgpIHDDpSAlcyBmw7ZyIGF0dCBzbMOlIHDDpSB1cHBkYXRlcmluZ3NhdmJyb3R0IG1pc3NseWNrYWRlcyBvdsOkbnRhdCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byBzZXQgdGhlIHRpbWUgZmFpbGVkLiIKK21zZ3N0ciAiaW9jdGwoJXMpIHDDpSAlcyBmw7ZyIGF0dCBzdMOkbGxhIHRpZGVuIG1pc3NseWNrYWRlcy4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgd2FzIHN1Y2Nlc3NmdWwuXG4iCittc2dzdHIgImlvY3RsKCVzKSBseWNrYWRlcy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mzg3Cittc2dpZCAiVXNpbmcgdGhlIC9kZXYgaW50ZXJmYWNlIHRvIHRoZSBjbG9jay4iCittc2dzdHIgIkFudsOkbmQgL2Rldi1ncsOkbnNzbml0dGV0IGbDtnIga2xvY2thbi4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQxNyBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVG8gbWFuaXB1bGF0ZSB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbCwgd2UgbXVzdCBhY2Nlc3MgdGhlIExpbnV4ICdydGMnIGRldmljZSBkcml2ZXIgdmlhIHRoZSBkZXZpY2Ugc3BlY2lhbCBmaWxlICVzLiAgVGhpcyBmaWxlIGRvZXMgbm90IGV4aXN0IG9uIHRoaXMgc3lzdGVtLiIKK21zZ3N0ciAiRsO2ciBhdHQgbWFuaXB1bGVyYSBlcG9rdsOkcmRldCBpIGvDpHJuYW4gbcOlc3RlIHZpIGtvbW1hIMOldCBMaW51eCDigJ1ydGPigJ0tZHJpdnJ1dGluIHZpYSBzcGVjaWFsZW5oZXRzZmlsZW4gJXMuIERlbm5hIGZpbCBmaW5ucyBpbnRlIHDDpSBkZXR0YSBzeXN0ZW0uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoUlRDX0VQT0NIX1JFQUQpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoUlRDX0VQT0NIX1JFQUQpIHDDpSAlcyBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQzNQorIywgYy1mb3JtYXQKK21zZ2lkICJ3ZSBoYXZlIHJlYWQgZXBvY2ggJWx1IGZyb20gJXMgd2l0aCBSVENfRVBPQ0hfUkVBRCBpb2N0bC5cbiIKK21zZ3N0ciAidmkgaGFyIGzDpHN0IGVwb2tlbiAlbHUgZnLDpW4gJXMgbWVkIFJUQ19FUE9DSF9SRUFELWlvY3RsLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGVwb2NoIHZhbHVlIG1heSBub3QgYmUgbGVzcyB0aGFuIDE5MDAuICBZb3UgcmVxdWVzdGVkICVsZCIKK21zZ3N0ciAiRXBva3bDpHJkZXQgZsOlciBpbnRlIHZhcmEgbWluZHJlIMOkbiAxOTAwLiBEdSBiZWfDpHJkZSAlbGQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIGVwb2NoIHRvICVsdSB3aXRoIFJUQ19FUE9DSF9TRVQgaW9jdGwgdG8gJXMuXG4iCittc2dzdHIgInN0w6RsbGVyIGluIGVwb2tlbiB0aWxsICVsdSBtZWQgUlRDX0VQT0NIX1NFVC1pb2N0bCBww6UgJXMuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUga2VybmVsIGRldmljZSBkcml2ZXIgZm9yICVzIGRvZXMgbm90IGhhdmUgdGhlIFJUQ19FUE9DSF9TRVQgaW9jdGwuIgorbXNnc3RyICJLw6RybmRyaXZydXRpbmVuIGbDtnIgJXMgaGFyIGludGUgaW9jdGw6ZW4gUlRDX0VQT0NIX1NFVC4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bChSVENfRVBPQ0hfU0VUKSB0byAlcyBmYWlsZWQiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9TRVQpIHDDpSAlcyBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjY5Cittc2dpZCAiQ3JlYXRlIHZhcmlvdXMgSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiU2thcGEgZGl2ZXJzZSBJUEMtcmVzdXJzZXIuXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjcyCittc2dpZCAiIC1NLCAtLXNobWVtIDxzaXplPiAgICAgICBjcmVhdGUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IG9mIHNpemUgPHNpemU+XG4iCittc2dzdHIgIiAtTSwgLS1zaG1lbSA8c3Rvcmxlaz4gICAgc2thcGEgZGVsYXQgbWlubmVzc2VnbWVudCBhdiBzdG9ybGVrIDxzdG9ybGVrPlxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MworbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUgPG51bWJlcj4gY3JlYXRlIHNlbWFwaG9yZSBhcnJheSB3aXRoIDxudW1iZXI+IGVsZW1lbnRzXG4iCittc2dzdHIgIiAtUywgLS1zZW1hcGhvcmUgPG51bW1lcj4gc2thcGEgc2VtYWZvcnZla3RvciBtZWQgPG51bW1lcj4gZWxlbWVudFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NAorbXNnaWQgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgY3JlYXRlIG1lc3NhZ2UgcXVldWVcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICBza2FwYSBtZWRkZWxhbmRla8O2XG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc1Cittc2dpZCAiIC1wLCAtLW1vZGUgPG1vZGU+ICAgICAgICBwZXJtaXNzaW9uIGZvciB0aGUgcmVzb3VyY2UgKGRlZmF1bHQgaXMgMDY0NClcbiIKK21zZ3N0ciAiIC1wLCAtLW1vZGUgPGzDpGdlPiAgICAgICAgcsOkdHRpZ2hldGVyIGbDtnIgcmVzdXJzZW4gKHN0YW5kYXJkIMOkciAwNjQ0KVxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTAgc3lzLXV0aWxzL2xvc2V0dXAuYzo2OTcgc3lzLXV0aWxzL3pyYW1jdGwuYzo2MjIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2Egc3RvcmxlayIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTE3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVsZW1lbnRzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBlbGVtZW50IgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDEKK21zZ2lkICJjcmVhdGUgc2hhcmUgbWVtb3J5IGZhaWxlZCIKK21zZ3N0ciAic2thcGFuZGUgYXYgZGVsYXQgbWlubmUgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBpZDogJWRcbiIKK21zZ3N0ciAiRGVsYXQgbWlubmVzc2VnbWVudHMtSUQ6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0OQorbXNnaWQgImNyZWF0ZSBtZXNzYWdlIHF1ZXVlIGZhaWxlZCIKK21zZ3N0ciAic2thcGFuZGUgYXYgbWVkZGVsYW5kZWvDtiBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIHF1ZXVlIGlkOiAlZFxuIgorbXNnc3RyICJNZWRkZWxhbmRla8O2LUlEOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTcKK21zZ2lkICJjcmVhdGUgc2VtYXBob3JlIGZhaWxlZCIKK21zZ3N0ciAic2thcGFuZGUgYXYgc2VtYWZvciBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZW1hcGhvcmUgaWQ6ICVkXG4iCittc2dzdHIgIlNlbWFmb3ItSUQ6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBzaG18bXNnfHNlbSA8aWQ+Li4uXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbZmxhZ2dvcl1cbiIKKyIgJTEkcyBzaG18bXNnfHNlbSA8aWQ+4oCmXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU0Cittc2dpZCAiUmVtb3ZlIGNlcnRhaW4gSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiVGEgYm9ydCBzcGVjaWZpa2EgSVBDLXJlc3Vyc2VyLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1NworbXNnaWQgIiAtbSwgLS1zaG1lbS1pZCA8aWQ+ICAgICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGlkXG4iCittc2dzdHIgIiAtbSwgLS1zaG1lbS1pZCA8aWQ+ICAgICAgICB0YSBib3J0IGRlbGF0IG1pbm5lc3NlZ21lbnQgZ2l2ZXQgaWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTgKK21zZ2lkICIgLU0sIC0tc2htZW0ta2V5IDxrZXk+ICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBrZXlcbiIKK21zZ3N0ciAiIC1NLCAtLXNobWVtLWtleSA8bnlja2VsPiAgIHRhIGJvcnQgZGVsYXQgbWlubmVzc2VnbWVudCBnaXZldCBueWNrZWxcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTkKK21zZ2lkICIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkgaWRcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlLWlkIDxpZD4gICAgICAgIHRhIGJvcnQgbWVkZGVsYW5kZWvDtiBnaXZldCBpZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MAorbXNnaWQgIiAtUSwgLS1xdWV1ZS1rZXkgPGtleT4gICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBrZXlcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlLWtleSA8bnlja2VsPiAgIHRhIGJvcnQgbWVkZGVsYW5kZWvDtiBnaXZldCBueWNrZWxcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjEKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlLWlkIDxpZD4gICAgcmVtb3ZlIHNlbWFwaG9yZSBieSBpZFxuIgorbXNnc3RyICIgLXMsIC0tc2VtYXBob3JlLWlkIDxpZD4gICAgdGEgYm9ydCBzZW1hZm9yIGdpdmV0IGlkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYyCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGtleT4gIHJlbW92ZSBzZW1hcGhvcmUgYnkga2V5XG4iCittc2dzdHIgIiAtUywgLS1zZW1hcGhvcmUta2V5IDxueWNrZWw+IHRhIGJvcnQgc2VtYWZvciBnaXZldCBueWNrZWxcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjMKK21zZ2lkICIgLWEsIC0tYWxsWz1zaG18bXNnfHNlbV0gICAgcmVtb3ZlIGFsbCAoaW4gdGhlIHNwZWNpZmllZCBjYXRlZ29yeSlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbFs9c2htfG1zZ3xzZW1dICAgIHRhIGJvcnQgYWxsYSAoaSBkZW4gYW5naXZuYSBrYXRlZ29yaW4pXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjY0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBmw7Zya2xhcmEgdmFkIHNvbSBow6RuZGVyXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBpZCBgJWQnXG4iCittc2dzdHIgInRhciBib3J0IGRlbGF0IG1pbm5lc3NlZ21lbnQtSUQg4oCdJWTigJ1cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3ZpbmcgbWVzc2FnZSBxdWV1ZSBpZCBgJWQnXG4iCittc2dzdHIgInRhciBib3J0IG1lZGRlbGFuZGVrw7YtSUQg4oCdJWTigJ1cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3Zpbmcgc2VtYXBob3JlIGlkIGAlZCdcbiIKK21zZ3N0ciAidGFyIGJvcnQgc2VtYWZvci1JRCDigJ0lZOKAnVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDggc3lzLXV0aWxzL2lwY3JtLmM6MjIyCittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGtleSIKK21zZ3N0ciAiw6V0a29tc3QgbmVrYXMgZsO2ciBueWNrZWwiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOAorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBpZCIKK21zZ3N0ciAiw6V0a29tc3QgbmVrYXMgZsO2ciBpZCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExIHN5cy11dGlscy9pcGNybS5jOjIyOAorbXNnaWQgImludmFsaWQga2V5IgorbXNnc3RyICJvZ2lsdGlnIG55Y2tlbCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExCittc2dpZCAiaW52YWxpZCBpZCIKK21zZ3N0ciAib2dpbHRpZ3QgaWQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNCBzeXMtdXRpbHMvaXBjcm0uYzoyMjUKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQga2V5IgorbXNnc3RyICJyZWRhbiBib3J0dGFnZW4gbnlja2VsIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQgaWQiCittc2dzdHIgInJlZGFuIGJvcnR0YWdldCBpZCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE3IHN5cy11dGlscy9pcGNybS5jOjIzMQorbXNnaWQgImtleSBmYWlsZWQiCittc2dzdHIgIm55Y2tlbCBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNworbXNnaWQgImlkIGZhaWxlZCIKK21zZ3N0ciAiaWQgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZDogJXMiCittc2dzdHIgIm9naWx0aWd0IGlkOiAlcyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgInJlc291cmNlKHMpIGRlbGV0ZWRcbiIKK21zZ3N0ciAicmVzdXJzZXIgYm9ydHRhZ25hXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjIwMAorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGtleSAoJXMpIgorbXNnc3RyICJvdGlsbMOldGVuIG55Y2tlbCAoJXMpIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNTYKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgImvDpHJuYW4gw6RyIGludGUga29uZmlndXJlcmFkIGbDtnIgZGVsYXQgbWlubmUiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI2OQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3JlcyIKK21zZ3N0ciAia8Okcm5hbiDDpHIgaW50ZSBrb25maWd1cmVyYWQgZsO2ciBzZW1hZm9yZXIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI5MAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgImvDpHJuYW4gw6RyIGludGUga29uZmlndXJlcmFkIGbDtnIgbWVkZGVsYW5kZWvDtmVyIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbcmVzb3VyY2Utb3B0aW9uLi4uXSBbb3V0cHV0LW9wdGlvbl1cbiIKKyIgJTEkcyAtbXwtcXwtcyAtaSA8aWQ+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbcmVzdXJzZmxhZ2dh4oCmXSBbdXRtYXRuaW5nc2ZsYWdnYV1cbiIKKyIgJTEkcyAtbXwtcXwtcyAtaSA8aWQ+XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTYgc3lzLXV0aWxzL2xzaXBjLmM6MjgwCittc2dpZCAiU2hvdyBpbmZvcm1hdGlvbiBvbiBJUEMgZmFjaWxpdGllcy5cbiIKK21zZ3N0ciAiVmlzYSBpbmZvcm1hdGlvbiBvbSBJUEMtcmVzdXJzZXIuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiIC1pLCAtLWlkIDxpZD4gIHNrcml2IHV0IGRldGFsamVyIG9tIHJlc3Vyc2VuIHNvbSBpZGVudGlmaWVyYXMgc29tIDxpZD5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NCBzeXMtdXRpbHMvbHNpcGMuYzoyODMKK21zZ2lkICJSZXNvdXJjZSBvcHRpb25zOlxuIgorbXNnc3RyICJSZXN1cnNmbGFnZ29yOlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1IHN5cy11dGlscy9sc2lwYy5jOjI4NAorbXNnaWQgIiAtbSwgLS1zaG1lbXMgICAgICBzaGFyZWQgbWVtb3J5IHNlZ21lbnRzXG4iCittc2dzdHIgIiAtbSwgLS1zaG1lbXMgICAgICBkZWxhZGUgbWlubmVzc2VnbWVudFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY2IHN5cy11dGlscy9sc2lwYy5jOjI4NQorbXNnaWQgIiAtcSwgLS1xdWV1ZXMgICAgICBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICIgLXEsIC0tcXVldWVzICAgICAgbWVkZGVsYW5kZWvDtmVyXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Njcgc3lzLXV0aWxzL2xzaXBjLmM6Mjg2Cittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZXMgIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiIC1zLCAtLXNlbWFwaG9yZXMgIHNlbWFmb3JlclxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgIGFsbCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgIGFsbGEgKHN0YW5kYXJkKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcxCittc2dpZCAiT3V0cHV0IG9wdGlvbnM6XG4iCittc2dzdHIgIlV0bWF0bmluZ3NmbGFnZ29yOlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcyCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAgdmlzYSBmw6RzdC0sIGzDtnNnw7ZyaW5ncy0gb2NoIMOkbmRyaW5nc3RpZGVyXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzMKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgc2hvdyBQSURzIG9mIGNyZWF0b3IgYW5kIGxhc3Qgb3BlcmF0b3JcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgIHZpc2EgUElEOmFyIGbDtnIgc2thcGFyZSBvY2ggc2VuYXN0ZSBvcGVyYXTDtnJcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NAorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiAtYywgLS1jcmVhdG9yICAgICB2aXNhIHNrYXBhcmUgb2NoIMOkZ2FyZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc1Cittc2dpZCAiIC1sLCAtLWxpbWl0cyAgICAgIHNob3cgcmVzb3VyY2UgbGltaXRzXG4iCittc2dzdHIgIiAtbCwgLS1saW1pdHMgICAgICB2aXNhIHJlc3Vyc2JlZ3LDpG5zbmluZ2FyXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKK21zZ2lkICIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIgorbXNnc3RyICIgLXUsIC0tc3VtbWFyeSAgICAgdmlzYSBzdGF0dXNzYW1tYW5mYXR0bmluZ1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc3Cittc2dpZCAiICAgICAtLWh1bWFuICAgICAgIHNob3cgc2l6ZXMgaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1odW1hbiAgICAgICB2aXNhIHN0b3JsZWthciBpIGZvcm1hdCBsw6RzYmFydCBmw7ZyIG3DpG5uaXNrb3JcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3OAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICBzaG93IHNpemVzIGluIGJ5dGVzXG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICB2aXNhIHN0b3JsZWthciBpIGJ5dGVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoxNjQKK21zZ2lkICJ3aGVuIHVzaW5nIGFuIElELCBhIHNpbmdsZSByZXNvdXJjZSBtdXN0IGJlIHNwZWNpZmllZCIKK21zZ3N0ciAibsOkciBldHQgSUQgYW52w6RuZHMgbcOlc3RlIGVuIGVuc3Rha2EgcmVzdXJzIGFuZ2VzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2hhcmVkIG1lbW9yeSBsaW1pdHNcbiIKK21zZ3N0ciAia2FuIGludGUgaMOkbXRhIGJlZ3LDpG5zbmluZ2FyIGbDtnIgZGVsYXQgbWlubmVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBHcsOkbnNlciBmw7ZyIGRlbGF0IG1pbm5lIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2Ygc2VnbWVudHMgPSAlanVcbiIKK21zZ3N0ciAibWF4aW1hbHQgYW50YWwgc2VnbWVudCA9ICVqdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwOQorbXNnaWQgIm1heCBzZWcgc2l6ZSIKK21zZ3N0ciAic3TDtnJzdGEgc2VnbWVudHN0b3JsZWsiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjExCittc2dpZCAibWF4IHRvdGFsIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgInN0w7Zyc3RhIHRvdGFsYSBkZWxhZGUgbWlubmUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjE0Cittc2dpZCAibWluIHNlZyBzaXplIgorbXNnc3RyICJtaW5pbWFsIHNlZ21lbnRzdG9ybGVrIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIyNgorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnlcbiIKK21zZ3N0ciAia8Okcm5hbiDDpHIgaW50ZSBrb25maWd1cmVyYWQgZsO2ciBkZWxhdCBtaW5uZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzMAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFN0YXR1cyBmw7ZyIGRlbGF0IG1pbm5lIC0tLS0tLS0tXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGlzIG91dHB1dCBmb3JtYXQgaXMgbWFpbnRhaW5lZCBmb3IgYmFja3dhcmQKKyMuIGNvbXBhdGliaWxpdHkgYXMgaXBjcyBpcyB1c2VkIGluIHNjcmlwdHMuIEZvciBjb25zaXN0ZW5jeQorIy4gd2l0aCB0aGUgcmVzdCwgdGhlIHRyYW5zbGF0ZWQgZm9ybSBjYW4gZm9sbG93IHRoaXMgbW9kZWw6CisjLiAqCisjLiAic2VnbWVudHMgYWxsb2NhdGVkID0gJWRcbiIKKyMuICJwYWdlcyBhbGxvY2F0ZWQgPSAlbGRcbiIKKyMuICJwYWdlcyByZXNpZGVudCA9ICVsZFxuIgorIy4gInBhZ2VzIHN3YXBwZWQgPSAlbGRcbiIKKyMuICJzd2FwIHBlcmZvcm1hbmNlID0gJWxkIGF0dGVtcHRzLCAlbGQgc3VjY2Vzc2VzXG4iCisjLgorIzogc3lzLXV0aWxzL2lwY3MuYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInNlZ21lbnRzIGFsbG9jYXRlZCAlZFxuIgorInBhZ2VzIGFsbG9jYXRlZCAlbGRcbiIKKyJwYWdlcyByZXNpZGVudCAgJWxkXG4iCisicGFnZXMgc3dhcHBlZCAgICVsZFxuIgorIlN3YXAgcGVyZm9ybWFuY2U6ICVsZCBhdHRlbXB0c1x0ICVsZCBzdWNjZXNzZXNcbiIKK21zZ3N0ciAiIgorImFsbG9rZXJhZGUgc2VnbWVudCAlZFxuIgorImFsbG9rZXJhZGUgc2lkb3IgJWxkXG4iCisicmVzaWRlbnRhIHNpZG9yICAlbGRcbiIKKyJ2w6R4bGFkZSBzaWRvciAgICAlbGRcbiIKKyJWw6R4bGluZ3NwcmVzdGFuZGE6ICVsZCBmw7Zyc8O2a1x0ICVsZCBmcmFtZ8OlbmdhclxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI1OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50IENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU2thcGFyZS/DhGdhcmUgYXYgZGVsYWRlIG1pbm5lc3NlZ21lbnQgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyNzQKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwCittc2dpZCAic2htaWQiCittc2dzdHIgInNobWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjI4MCBzeXMtdXRpbHMvaXBjcy5jOjM4NgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo0ODkgc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJwZXJtcyIKK21zZ3N0ciAicsOkdHRpZ2giCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiY3VpZCIKK21zZ3N0ciAiY3VpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJjZ2lkIgorbXNnc3RyICJjZ2lkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgInVpZCIKK21zZ3N0ciAidWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgImdpZCIKK21zZ3N0ciAiZ2lkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBBdHRhY2gvRGV0YWNoL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gRsOkc3QtL2zDtnNnw7ZyaW5ncy0vw6RuZHJpbmdzdGlkZXIgZsO2ciBkZWxhdCBtaW5uZSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI3NCBzeXMtdXRpbHMvaXBjcy5jOjI4MAorIzogc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo0OTUKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxIHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAib3duZXIiCittc2dzdHIgIsOkZ2FyZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcKK21zZ2lkICJhdHRhY2hlZCIKK21zZ3N0ciAidGlsbGFnZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcKK21zZ2lkICJkZXRhY2hlZCIKK21zZ3N0ciAibMO2c2dqb3JkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2OAorbXNnaWQgImNoYW5nZWQiCittc2dzdHIgIsOkbmRyYWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IENyZWF0b3IvTGFzdC1vcCBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBEZWxhdCBtaW5uZSBTa2FwYXJlL1NlbmFzdGUgb3BlcmF0aW9uIFBJRDphciAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3NAorbXNnaWQgImNwaWQiCittc2dzdHIgImNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc0Cittc2dpZCAibHBpZCIKK21zZ3N0ciAibHBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIERlbGFkZSBtaW5uZXNzZWdtZW50IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwIHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAia2V5IgorbXNnc3RyICJueWNrZWwiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgxIHN5cy11dGlscy9pcGNzLmM6NTA4Cittc2dpZCAic2l6ZSIKK21zZ3N0ciAic3RvcmxlayIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODEgc3lzLXV0aWxzL3BybGltaXQuYzo3NSBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4IHN5cy11dGlscy9wcmxpbWl0LmM6Nzkgc3lzLXV0aWxzL3BybGltaXQuYzo4MQorIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJieXRlcyIKK21zZ3N0ciAiYnl0ZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODIKK21zZ2lkICJuYXR0Y2giCittc2dzdHIgIm5mw6RzdCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODIKK21zZ2lkICJzdGF0dXMiCittc2dzdHIgInN0YXR1cyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMDYgc3lzLXV0aWxzL2lwY3MuYzozMDggc3lzLXV0aWxzL2lwY3MuYzozMTAKKyM6IHN5cy11dGlscy9pcGNzLmM6NDI0IHN5cy11dGlscy9pcGNzLmM6NDI2IHN5cy11dGlscy9pcGNzLmM6NTMyCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUzNCBzeXMtdXRpbHMvaXBjcy5jOjUzNiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorIzogc3lzLXV0aWxzL2lwY3MuYzo1OTIgc3lzLXV0aWxzL2lwY3MuYzo2MjEgc3lzLXV0aWxzL2lwY3MuYzo2MjMKKyM6IHN5cy11dGlscy9pcGNzLmM6NjI1IHN5cy11dGlscy9pcGNzLmM6NjQ5Cittc2dpZCAiTm90IHNldCIKK21zZ3N0ciAiSW50ZSBpbnN0w6RsbGQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzM2IHN5cy11dGlscy9sc2lwYy5jOjk3NiBzeXMtdXRpbHMvbHNpcGMuYzo5ODIKK21zZ2lkICJkZXN0IgorbXNnc3RyICJtw6VsIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMzNyBzeXMtdXRpbHMvbHNpcGMuYzo5Nzcgc3lzLXV0aWxzL2xzaXBjLmM6OTkwCittc2dpZCAibG9ja2VkIgorbXNnc3RyICJsw6VzdCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNlbWFwaG9yZSBsaW1pdHNcbiIKK21zZ3N0ciAia2FuIGludGUgaMOkbXRhIHNlbWFmb3JiZWdyw6Ruc25pbmdhclxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU2VtYWZvcmdyw6Ruc2VyIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2YgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAibWF4aW1hbHQgYW50YWwgdmVrdG9yZXIgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBwZXIgYXJyYXkgPSAlZFxuIgorbXNnc3RyICJtYXhpbWFsdCBhbnRhbCBzZW1hZm9yZXIgcGVyIHZla3RvciA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAibWF4aW1hbHQgYW50YWwgc2VtYWZvcmVyIHDDpSBzeXN0ZW1ldCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBvcHMgcGVyIHNlbW9wIGNhbGwgPSAlZFxuIgorbXNnc3RyICJtYXhpbWFsdCBhbnRhbCBvcGVyYXRpb25lciBwZXIgc2Vtb3AtYW5yb3AgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJzZW1hcGhvcmUgbWF4IHZhbHVlID0gJXVcbiIKK21zZ3N0ciAibWF4aW1hbHQgdsOkcmRlIGbDtnIgc2VtYWZvciA9ICV1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc0CisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3Jlc1xuIgorbXNnc3RyICJrw6RybmFuIMOkciBpbnRlIGtvbmZpZ3VyZXJhZCBmw7ZyIHNlbWFmb3JlclxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU2VtYWZvcnN0YXR1cyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGFycmF5cyA9ICVkXG4iCittc2dzdHIgImFudsOkbmRhIHZla3RvcmVyID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHNlbWFwaG9yZXMgPSAlZFxuIgorbXNnc3RyICJhbGxva2VyYWRlIHNlbWFmb3JlciA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU2thcGFyZS/DhGdhcmUgYXYgc2VtYWZvcnZla3RvcmVyIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDAxCittc2dpZCAic2VtaWQiCittc2dzdHIgInNlbWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIE9wZXJhdGlvbi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFNlbWFmb3JvcGVyYXRpb24vw4RuZHJpbmdzdGlkZXIgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIKK21zZ2lkICJsYXN0LW9wIgorbXNnc3RyICJzZW5hc3RlLW9wIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorbXNnaWQgImxhc3QtY2hhbmdlZCIKK21zZ3N0ciAic2VuYXN0LcOkbmRyYWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTZW1hZm9ydmVrdG9yZXIgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0MDEKK21zZ2lkICJuc2VtcyIKK21zZ3N0ciAiYW50c2VtIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggbWVzc2FnZSBsaW1pdHNcbiIKK21zZ3N0ciAia3VuZGUgaW50ZSBow6RtdGEgbWVkZGVsYW5kZWJlZ3LDpG5zbmluZ2FyXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIE1lZGRlbGFuZGVuIEJlZ3LDpG5zbmluZ2FyIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBxdWV1ZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICJtYXhpbWFsdCBhbnRhbCBrw7ZlciBww6UgaGVsYSBzeXN0ZW1ldCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY1Cittc2dpZCAibWF4IHNpemUgb2YgbWVzc2FnZSIKK21zZ3N0ciAic3TDtnJzdGEgbWVkZGVsYW5kZXN0b3JsZWsiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY3Cittc2dpZCAiZGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSIKK21zZ3N0ciAic3RhbmRhcmRtYXhzdG9ybGVrIGbDtnIga8O2IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzXG4iCittc2dzdHIgImvDpHJuYW4gw6RyIGludGUga29uZmlndXJlcmFkIGbDtnIgbWVkZGVsYW5kZWvDtmVyXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDc3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIE1lZGRlbGFuZGUgU3RhdHVzIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDc5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBxdWV1ZXMgPSAlZFxuIgorbXNnc3RyICJhbGxva2VyYWRlIGvDtmVyID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBoZWFkZXJzID0gJWRcbiIKK21zZ3N0ciAiYW52w6RuZGEgaHV2dWRlbiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgyCittc2dpZCAidXNlZCBzcGFjZSIKK21zZ3N0ciAiYW52w6RudCB1dHJ5bW1lIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MworbXNnaWQgIiBieXRlc1xuIgorbXNnc3RyICIgYnl0ZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBNZWRkZWxhbmRla8O2ZXIgU2thcGFyZS/DhGdhcmUgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODkgc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MDEKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibXNxaWQiCittc2dzdHIgIm1lZGRrw7ZpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFNlbmQvUmVjdi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIE1lZGRlbGFuZGVrw7Zlcm5hcyBzw6RuZG5pbmdzLS9tb3R0YWduaW5ncy0vw6RuZHJpbmdzdGlkZXIgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJzZW5kIgorbXNnc3RyICJzw6RudCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJyZWN2IgorbXNnc3RyICJtb3R0YWdldCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJjaGFuZ2UiCittc2dzdHIgIsOkbmRyaW5nIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gUElEIGbDtnIgbWVkZGVsYW5kZWvDtmVyIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAibHNwaWQiCittc2dzdHIgImxzcGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImxycGlkIgorbXNnc3RyICJscnBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBNZWRkZWxhbmRla8O2ZXIgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDgKK21zZ2lkICJ1c2VkLWJ5dGVzIgorbXNnc3RyICJhbnbDpG5kYS1ieXRlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwOQorbXNnaWQgIm1lc3NhZ2VzIgorbXNnc3RyICJtZWRkZWxhbmRlbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzQgc3lzLXV0aWxzL2lwY3MuYzo2MDQgc3lzLXV0aWxzL2lwY3MuYzo2MzcKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUzNiBzeXMtdXRpbHMvbHNpcGMuYzo3MjIgc3lzLXV0aWxzL2xzaXBjLmM6ODc5CisjLCBjLWZvcm1hdAorbXNnaWQgImlkICVkIG5vdCBmb3VuZCIKK21zZ3N0ciAiaWQgJWQgaGl0dGFkZXMgaW50ZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZCBtZW1vcnkgU2VnbWVudCBzaG1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisiRGVsYXQgbWlubmVzc2VnbWVudCBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVxuIgorbXNnc3RyICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjb1x0YWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICJyw6R0dGlnaGV0PSUjb1x0w6V0a29tc3Ryw6R0dGlnaGV0ZXI9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg0Cittc2dpZCAic2l6ZT0iCittc2dzdHIgInN0b3JsZWs9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorbXNnaWQgImJ5dGVzPSIKK21zZ3N0ciAiYnl0ZT0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg2CisjLCBjLWZvcm1hdAorbXNnaWQgImxwaWQ9JXVcdGNwaWQ9JXVcdG5hdHRjaD0lamRcbiIKK21zZ3N0ciAibHBpZD0ldVx0Y3BpZD0ldVx0bmF0dGNoPSVqZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJhdHRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJhdHRpZD0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MQorIywgYy1mb3JtYXQKK21zZ2lkICJkZXRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJkZXR0aWQ9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTMgc3lzLXV0aWxzL2lwY3MuYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiw6RuZHJpbmdzdGlkPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlIFF1ZXVlIG1zcWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJNZWRkZWxhbmRla8O2IG1lZGRrw7ZpZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVx0bW9kZT0lI29cbiIKK21zZ3N0ciAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdGzDpGdlPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxMworbXNnaWQgImNzaXplPSIKK21zZ3N0ciAiY3N0b3JsZWs9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxMworbXNnaWQgImNieXRlcz0iCittc2dzdHIgImNieXRlPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKK21zZ2lkICJxc2l6ZT0iCittc2dzdHIgInFzdG9ybGVrPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKK21zZ2lkICJxYnl0ZXM9IgorbXNnc3RyICJxYnl0ZT0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIwCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJzw6RuZG5pbmdzdGlkPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgInJjdl90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIm1vdHRhZ25pbmdzdGlkPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgQXJyYXkgc2VtaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlbWFmb3J2ZWt0b3Igc2VtaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAicsOkdHRpZ2hldD0lI28sIMOldGtvbXN0csOkdHRpZ2hldGVyPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0NworIywgYy1mb3JtYXQKK21zZ2lkICJuc2VtcyA9ICVqdVxuIgorbXNnc3RyICJuc2VtYSA9ICVqdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJvdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgIm90aWQgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJjdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgImN0aWQgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInNlbW51bSIKK21zZ3N0ciAic2VtbnVtIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInZhbHVlIgorbXNnc3RyICJ2w6RyZGUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAibmNvdW50IgorbXNnc3RyICJucsOka24iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAiemNvdW50IgorbXNnc3RyICJ6csOka24iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAicGlkIgorbXNnc3RyICJwaWQiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjIzMCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzQgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM4CisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkIgorbXNnc3RyICIlcyBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoYnl0ZXMpID0gIgorbXNnc3RyICIlcyAoYnl0ZSkgPSAiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoa2J5dGVzKSA9ICIKK21zZ3N0ciAiJXMgKGtieXRlKSA9ICIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTgwCittc2dpZCAiaW52YWxpZCBpZmxhZyIKK21zZ3N0ciAib2dpbHRpZyBpZmxhZ2dhIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bGRpc2M+IDxkZXZpY2U+XG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gPGxkaXNjPiA8ZW5oZXQ+XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE5OQorbXNnaWQgIkF0dGFjaCBhIGxpbmUgZGlzY2lwbGluZSB0byBhIHNlcmlhbCBsaW5lLlxuIgorbXNnc3RyICJTdMOkbGwgaW4gZW4gbGluamVkaXNjaXBsaW4gZsO2ciBlbiBzZXJpZWxsIGxpbmplLlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDIKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBtZXNzYWdlcyB0byBzdGRlcnJcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHNrcml2IHV0IHV0ZsO2cmxpZ2EgbWVkZGVsYW5kZW4gdGlsbCBzdGFuZGFyZCBmZWxcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAzCittc2dpZCAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIHNldCBzZXJpYWwgbGluZSBzcGVlZFxuIgorbXNnc3RyICIgLXMsIC0tc3BlZWQgPHbDpHJkZT4gICAgIHN0w6RsbCBpbiBoYXN0aWdoZXQgZsO2ciBzZXJpZWxsIGxpbmplXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNAorbXNnaWQgIiAtYywgLS1pbnRyby1jb21tYW5kIDxzdHJpbmc+IGludHJvIHNlbnQgYmVmb3JlIGxkYXR0YWNoXG4iCittc2dzdHIgIiAtYywgLS1pbnRyby1jb21tYW5kIDxzdHLDpG5nPiBpbnRyb2R1a3Rpb24gc2tpY2thZCBmw7ZyZSBsZGF0dGFjaFxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDUKK21zZ2lkICIgLXAsIC0tcGF1c2UgPHNlY29uZHM+ICAgcGF1c2UgYmV0d2VlbiBpbnRybyBhbmQgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIC1wLCAtLXBhdXNlIDxzZWt1bmRlcj4gIHBhdXMgbWVsbGFuIGludHJvZHVrdGlvbiBvY2ggbGRhdHRhY2hcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA2Cittc2dpZCAiIC03LCAtLXNldmVuYml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA3IGJpdHNcbiIKK21zZ3N0ciAiIC03LCAtLXNldmVuYml0cyAgICAgICAgIHN0w6RsbCBpbiB0ZWNrZW5zdG9ybGVrIHDDpSA3IGJpdGFyXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNworbXNnaWQgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gOCBiaXRzXG4iCittc2dzdHIgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICBzdMOkbGwgaW4gdGVja2Vuc3RvcmxlayB0aWxsIDggYml0YXJcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA4Cittc2dpZCAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIHNldCBwYXJpdHkgdG8gbm9uZVxuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgc3TDpGxsIGluIHBhcml0ZXQgcMOlIGluZ2VuXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOQorbXNnaWQgIiAtZSwgLS1ldmVucGFyaXR5ICAgICAgICBzZXQgcGFyaXR5IHRvIGV2ZW5cbiIKK21zZ3N0ciAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIHN0w6RsbCBpbiBwYXJpdGV0IHDDpSBqw6RtblxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTAKK21zZ2lkICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAgc2V0IHBhcml0eSB0byBvZGRcbiIKK21zZ3N0ciAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIHN0w6RsbCBpbiBwYXJpdGV0IHDDpSB1ZGRhXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMQorbXNnaWQgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBzZXQgc3RvcCBiaXRzIHRvIG9uZVxuIgorbXNnc3RyICIgLTEsIC0tb25lc3RvcGJpdCAgICAgICAgc3TDpGxsIGluIHN0b3BwYml0YXIgcMOlIGVuXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMgorbXNnaWQgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBzZXQgc3RvcCBiaXRzIHRvIHR3b1xuIgorbXNnc3RyICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAgc3TDpGxsIGluIHN0b3BwYml0YXIgcMOlIHR2w6VcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEzCittc2dpZCAiIC1pLCAtLWlmbGFnIFstXTxpZmxhZz4gIHNldCBpbnB1dCBtb2RlIGZsYWdcbiIKK21zZ3N0ciAiIC1pLCAtLWlmbGFnIFstXTxpZmxhZ2dhPiBzdMOkbGwgaW4gZmxhZ2dhIGbDtnIgaW5kYXRhbMOkZ2VcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE5Cittc2dpZCAiIgorIlxuIgorIktub3duIDxsZGlzYz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJLw6RuZGEgbmFtbiBmw7ZyIDxsZGlzYz46XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIyMworbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8aWZsYWc+IG5hbWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiS8OkbmRhIG5hbW4gZsO2ciA8aWZsYWdnYT46XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0MAorbXNnaWQgImludmFsaWQgc3BlZWQgYXJndW1lbnQiCittc2dzdHIgIm9naWx0aWd0IGhhc3RpZ2hldHNhcmd1bWVudCIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQzCittc2dpZCAiaW52YWxpZCBwYXVzZSBhcmd1bWVudCIKK21zZ3N0ciAib2dpbHRpZ3QgcGF1c2FyZ3VtZW50IgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNTkKK21zZ2lkICJpbnZhbGlkIG9wdGlvbiIKK21zZ3N0ciAib2dpbHRpZyBmbGFnZ2EiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM3MAorbXNnaWQgImludmFsaWQgbGluZSBkaXNjaXBsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJvZ2lsdGlndCBhcmd1bWVudCBmw7ZyIGxpbmplZGlzY2lwbGluIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgc2VyaWFsIGxpbmUiCittc2dzdHIgIiVzIMOkciBpbnRlIGVuIHNlcmllbGwgbGluamUiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5NworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICJrYW4gaW50ZSBow6RtdGEgdGVybWluYWxhdHRyaWJ1dCBmw7ZyICVzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlZWQgJWQgdW5zdXBwb3J0ZWQiCittc2dzdHIgImhhc3RpZ2hldGVuICVkIHN0w7ZkcyBpbnRlIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAia2FuIGludGUgc3TDpGxsYSBpbiB0ZXJtaW5hbGF0dHJpYnV0IGbDtnIgJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgaW50cm8gY29tbWFuZCB0byAlcyIKK21zZ3N0ciAia2FuIGludGUgc2tyaXZhIGludHJvZHVrdGlvbnNrb21tYW5kbyB0aWxsICVzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NjkKK21zZ2lkICJjYW5ub3Qgc2V0IGxpbmUgZGlzY2lwbGluZSIKK21zZ3N0ciAia2FuIGludGUgc3TDpGxsYSBpbiBsaW5qZWRpc2NpcGxpbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDc5Cittc2dpZCAiY2Fubm90IGRhZW1vbml6ZSIKK21zZ3N0ciAia2FuIGludGUgZGVtb25pc2VyYSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2OAorbXNnaWQgImF1dG9jbGVhciBmbGFnIHNldCIKK21zZ3N0ciAiZmxhZ2dhIGbDtnIgYXV0b3TDtm1uaW5nIGluc3TDpGxsZCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2OQorbXNnaWQgImRldmljZSBiYWNraW5nIGZpbGUiCittc2dzdHIgInVuZGVybGFnc2ZpbCBmw7ZyIGVuaGV0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwCittc2dpZCAiYmFja2luZyBmaWxlIGlub2RlIG51bWJlciIKK21zZ3N0ciAiaW5vZHNudW1tZXIgZsO2ciB1bmRlcmxhZ3NmaWwiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzEKK21zZ2lkICJiYWNraW5nIGZpbGUgbWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiw7Z2cmU6dW5kcmUgZW5oZXRzbnVtbWVyIGbDtnIgdW5kZXJsYWdzZmlsIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcyCittc2dpZCAibG9vcCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibG9vcGVuaGV0c25hbW4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzMKK21zZ2lkICJvZmZzZXQgZnJvbSB0aGUgYmVnaW5uaW5nIgorbXNnc3RyICJwb3NpdGlvbiBmcsOlbiBiw7ZyamFuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc0Cittc2dpZCAicGFydHNjYW4gZmxhZyBzZXQiCittc2dzdHIgInBhcnRpdGlvbnNzw7ZrbmluZ3NmbGFnZ2EgaW5zdMOkbGxkIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2Cittc2dpZCAic2l6ZSBsaW1pdCBvZiB0aGUgZmlsZSBpbiBieXRlcyIKK21zZ3N0ciAic3Rvcmxla3NiZWdyw6Ruc25pbmcgZsO2ciBmaWxlbiBpIGJ5dGUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzcKK21zZ2lkICJsb29wIGRldmljZSBtYWpvcjptaW5vciBudW1iZXIiCittc2dzdHIgImxvb3BlbmhldCDDtnZyZTp1bmRyZS1udW1tZXIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzgKK21zZ2lkICJhY2Nlc3MgYmFja2luZyBmaWxlIHdpdGggZGlyZWN0LWlvIgorbXNnc3RyICJhbnbDpG5kIGRpcmVrdC1pbyBmw7ZyIMOldGtvbXN0IHRpbGwgdW5kZXJsYWdzZmlsIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzNSBzeXMtdXRpbHMvbG9zZXR1cC5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICIsIG9mZnNldCAlanUiCittc2dzdHIgIiwgcG9zaXRpb24gJWp1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1MAorIywgYy1mb3JtYXQKK21zZ2lkICIsIHNpemVsaW1pdCAlanUiCittc2dzdHIgIiwgc3Rvcmxla3NncsOkbnMgJWp1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1OAorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVuY3J5cHRpb24gJXMgKHR5cGUgJXUpIgorbXNnc3RyICIsIGtyeXB0ZXJpbmcgJXMgKHR5cCAldSkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZXRhY2ggZmFpbGVkIgorbXNnc3RyICIlczogbMO2c2fDtnJpbmcgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjMyOSBzeXMtdXRpbHMvbHNjcHUuYzoxNzM1IHN5cy11dGlscy9wcmxpbWl0LmM6MjI5CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTc2IHN5cy11dGlscy93ZGN0bC5jOjIxNSBzeXMtdXRpbHMvenJhbWN0bC5jOjQwNQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBsaW5lIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBpbml0aWVyYSB1dG1hdG5pbmdzcmFkIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIFs8bG9vcGRldj5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGxvb3BkZXY+IDxmaWxlPlxuIgorbXNnc3RyICIiCisiICUxJHMgW2ZsYWdnb3JdIFs8bG9vcGVuaD5dXG4iCisiICUxJHMgW2ZsYWdnb3JdIC1mIHwgPGxvb3Blbmg+IDxmaWw+XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzg2Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIGxvb3AgZGV2aWNlcy5cbiIKK21zZ3N0ciAiU3TDpGxsIGluIG9jaCBrb250cm9sbGVyYSBsb29wZW5oZXRlci5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgbGlzdCBhbGwgdXNlZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0YSBhbGxhIGFudsOkbmRhIGVuaGV0ZXJcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTAKK21zZ2lkICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2Pi4uLiAgICAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKK21zZ3N0ciAiIC1kLCAtLWRldGFjaCA8bG9vcGVuaD7igKYgICAgICAgbMO2c2fDtnIgZW4gZWxsZXIgZmxlcmEgZW5oZXRlclxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MQorbXNnaWQgIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgbMO2c2fDtnIgYWxsYSBhbnbDpG5kYSBlbmhldGVyXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkyCittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorbXNnc3RyICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgaGl0dGEgZsO2cnN0YSBvYW52w6RuZGEgZW5oZXRcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTMKK21zZ2lkICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcGVuaD4gIMOkbmRyYSBzdG9ybGVrIHDDpSBlbmhldGVuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk0Cittc2dpZCAiIC1qLCAtLWFzc29jaWF0ZWQgPGZpbGU+ICAgICAgIGxpc3QgYWxsIGRldmljZXMgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorbXNnc3RyICIgLWosIC0tYXNzb2NpYXRlZCA8ZmlsPiAgICAgICAgbGlzdGEgYWxsYSBlbmhldGVyIHNvbSDDpHIgYXNzb2NpZXJhZGUgbWVkIDxmaWw+XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk1Cittc2dpZCAiIC1MLCAtLW5vb3ZlcmxhcCAgICAgICAgICAgICAgIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0IGJldHdlZW4gZGV2aWNlc1xuIgorbXNnc3RyICIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICB1bmR2aWsgbcO2amxpZ2Ega29uZmxpa3RlciBtZWxsYW4gZW5oZXRlclxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5OQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBzdGFydCBhdCBvZmZzZXQgPG51bT4gaW50byBmaWxlXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBiw7ZyamEgdmlkIHBvc2l0aW9uIDxudW0+IGkgZmlsZW5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDAKK21zZ2lkICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZGV2aWNlIGlzIGxpbWl0ZWQgdG8gPG51bT4gYnl0ZXMgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiICAgICAtLXNpemVsaW1pdCA8bnVtPiAgICAgICAgIGVuaGV0IMOkciBiZWdyw6Ruc2FkIHRpbGwgPG51bT4gYnl0ZSBpIGZpbGVuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAxCittc2dpZCAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICBza2FwYSBlbiBwYXJ0aXRpb25lcmFkIGxvb3BlbmhldFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMgorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBzZXQgdXAgYSByZWFkLW9ubHkgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgICAgIHN0w6RsbCBpbiBza3JpdnNreWRkYWQgbG9vcGVuaGV0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAzCittc2dpZCAiICAgICAtLWRpcmVjdC1pb1s9PG9ufG9mZj5dICAgIG9wZW4gYmFja2luZyBmaWxlIHdpdGggT19ESVJFQ1RcbiIKK21zZ3N0ciAiICAgICAtLWRpcmVjdC1pb1s9PG9ufG9mZj5dICAgIMO2cHBuYSB1bmRlcmxhZ3NmaWwgbWVkIE9fRElSRUNUXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA0Cittc2dpZCAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHByaW50IGRldmljZSBuYW1lIGFmdGVyIHNldHVwICh3aXRoIC1mKVxuIgorbXNnc3RyICIgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICAgc2tyaXYgdXQgZW5oZXRzbmFtbiBlZnRlciBpbnN0w6RsbG5pbmcgKG1lZCAtZilcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICB1dGbDtnJsaWd0IGzDpGdlXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGxpc3QgaW5mbyBhYm91dCBhbGwgb3Igc3BlY2lmaWVkIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgbGlzdGEgaW5mb3JtYXRpb24gb20gYWxsYSBlbGxlciBhbmdpdm5hIChzdGFuZGFyZClcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTAKK21zZ2lkICIgLU8sIC0tb3V0cHV0IDxjb2xzPiAgICAgICAgICAgc3BlY2lmeSBjb2x1bW5zIHRvIG91dHB1dCBmb3IgLS1saXN0XG4iCittc2dzdHIgIiAtTywgLS1vdXRwdXQgPGtvbHVtbmVyPiAgICAgICBhbmdlIGtvbHVtbmVyIGF0dCBza3JpdmEgdXQgZsO2ciAtLWxpc3RcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTEKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tbGlzdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgICAgIHNrcml2IGludGUgdXQgcnVicmlrZXIgZsO2ciB1dG1hdG5pbmcgdmlhIC0tbGlzdFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMgorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1c2UgcmF3IC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICBhbnbDpG5kIHLDpXR0IHV0bWF0bmluZ3Nmb3JtYXQgZsO2ciAtLWxpc3RcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTMKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgIGFudsOkbmQgdXRtYXRuaW5nZm9ybWF0ZXQgSlNPTiBmw7ZyIC0tbGlzdFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOQorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgLS1saXN0IGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJUaWxsZ8OkbmdsaWdhIC0tbGlzdC1rb2x1bW5lcjpcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFdhcm5pbmc6IGZpbGUgaXMgc21hbGxlciB0aGFuIDUxMiBieXRlczsgdGhlIGxvb3AgZGV2aWNlIG1heSBiZSB1c2VsZXNzIG9yIGludmlzaWJsZSBmb3Igc3lzdGVtIHRvb2xzLiIKK21zZ3N0ciAiJXM6IFZhcm5pbmc6IGZpbGVuIMOkciBtaW5kcmUgw6RuIDUxMiBieXRlOyBsb29wZW5oZXRlbiBrYW4gdmFyYSBvYW52w6RuZGJhciBlbGxlciBvc3lubGlnIGbDtnIgc3lzdGVtdmVya3R5Zy4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGRvZXMgbm90IGZpdCBpbnRvIGEgNTEyLWJ5dGUgc2VjdG9yOyB0aGUgZW5kIG9mIHRoZSBmaWxlIHdpbGwgYmUgaWdub3JlZC4iCittc2dzdHIgIiVzOiBWYXJuaW5nOiBmaWxlbiBmw6VyIGludGUgcGxhdHMgaSBlbiA1MTItYnl0ZXNzZWt0b3I7IHNsdXRldCBww6UgZmlsZW4ga29tbWVyIGF0dCBob3BwYXMgw7Z2ZXIuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ2NCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUxNiBzeXMtdXRpbHMvbW91bnQuYzo0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiJXM6IMO2dmVybGFwcGFuZGUgbG9vcGVuaGV0IGV4aXN0ZXJhciIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIHJlYWQtb25seSBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzOiDDtnZlcmxhcHBhbmRlLCBza3JpdnNreWRkYWRlIGxvb3BlbmhldGVyIGV4aXN0ZXJhciIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGVuY3J5cHRlZCBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzOiDDtnZlcmxhcHBhbmRlLCBrcnlwdGVyYWRlIGxvb3BlbmhldGVyIGV4aXN0ZXJhciIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZS11c2UgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCDDpXRlcmFudsOkbmRhIGxvb3BlbmhldCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0OTQKK21zZ2lkICJmYWlsZWQgdG8gaW5zcGVjdCBsb29wIGRldmljZXMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGluc3Bla3RlcmEgbG9vcGVuaGV0ZXIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY2hlY2sgZm9yIGNvbmZsaWN0aW5nIGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAiJXM6IG1pc3NseWNrYWRlcyBtZWQgbGV0YSBlZnRlciBtb3RzdHJpZGlnYSBsb29wZW5oZXRlciIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1Mjkgc3lzLXV0aWxzL2xvc2V0dXAuYzo4MjYKK21zZ2lkICJjYW5ub3QgZmluZCBhbiB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgImthbiBpbnRlIGhpdHRhIG7DpWdvbiBsZWRpZyBsb29wZW5oZXQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXM6IG1pc3NseWNrYWRlcyBtZWQgYXR0IGFudsOkbmRhIHVuZGVybGFnc2ZpbCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2MzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDEgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NTMKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzY3IHN5cy11dGlscy9sb3NldHVwLmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGRldmljZSIKK21zZ3N0ciAiJXM6IG1pc3NseWNrYWRlcyBtZWQgYXR0IGFudsOkbmRhIGVuaGV0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2NAorbXNnaWQgIm5vIGxvb3AgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAiaW5nZW4gbG9vcGVuaGV0IGFuZ2l2ZW4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzcyCittc2dpZCAibm8gZmlsZSBzcGVjaWZpZWQiCittc2dzdHIgImluZ2VuIGZpbCBhbmdpdmVuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgb3B0aW9ucyAlcyBhcmUgYWxsb3dlZCBkdXJpbmcgbG9vcCBkZXZpY2Ugc2V0dXAgb25seSIKK21zZ3N0ciAiZmxhZ2dvcm5hICVzIHRpbGzDpXRzIGVuZGFzdCB1bmRlciBpbnN0w6RsbG5pbmcgYXYgZW4gbG9vcGVuaGV0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4NAorbXNnaWQgInRoZSBvcHRpb24gLS1vZmZzZXQgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICJmbGFnZ2FuIC0tb2Zmc2V0IMOkciBpbnRlIHRpbGzDpXRlbiBpIGRldHRhIHNhbW1hbmhhbmciCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgY2FwYWNpdHkgZmFpbGVkIgorbXNnc3RyICIlczogaW5zdMOkbGxuaW5nIGF2IGthcGFjaXRldCBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgZGlyZWN0IGlvIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGluc3TDpGxsbmluZyBhdiBkaXJla3QtSS9PIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTA4Cittc2dpZCAibm9uZSIKK21zZ3N0ciAiaW5nZW4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjEwOQorbXNnaWQgInBhcmEiCittc2dzdHIgInBhcmEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjExMAorbXNnaWQgImZ1bGwiCittc2dzdHIgImZ1bGwiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjExMQorbXNnaWQgImNvbnRhaW5lciIKK21zZ3N0ciAiYmVow6VsbGFyZSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTczCittc2dpZCAiaG9yaXpvbnRhbCIKK21zZ3N0ciAiaG9yaXNvbnRlbGwiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NAorbXNnaWQgInZlcnRpY2FsIgorbXNnc3RyICJ2ZXJ0aWthbCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ2Cittc2dpZCAibG9naWNhbCBDUFUgbnVtYmVyIgorbXNnc3RyICJsb2dpc2t0IENQVS1udW1tZXIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0NworbXNnaWQgImxvZ2ljYWwgY29yZSBudW1iZXIiCittc2dzdHIgImxvZ2lza3Qga8Okcm5udW1tZXIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0OAorbXNnaWQgImxvZ2ljYWwgc29ja2V0IG51bWJlciIKK21zZ3N0ciAibG9naXNrdCB1dHRhZ3NudW1tZXIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0OQorbXNnaWQgImxvZ2ljYWwgTlVNQSBub2RlIG51bWJlciIKK21zZ3N0ciAibG9naXNrdCBudW1tZXIgZsO2ciBOVU1BLW5vZCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUwCittc2dpZCAibG9naWNhbCBib29rIG51bWJlciIKK21zZ3N0ciAibG9naXNrdCBib2tudW1tZXIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MQorbXNnaWQgImxvZ2ljYWwgZHJhd2VyIG51bWJlciIKK21zZ3N0ciAibG9naXNrdCBsw6VkbnVtbWVyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTIKK21zZ2lkICJzaG93cyBob3cgY2FjaGVzIGFyZSBzaGFyZWQgYmV0d2VlbiBDUFVzIgorbXNnc3RyICJ2aXNhciBodXIgY2FjaGFyIGRlbGFzIG1lbGxhbiBDUFU6ZXIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MworbXNnaWQgIkNQVSBkaXNwYXRjaGluZyBtb2RlIG9uIHZpcnR1YWwgaGFyZHdhcmUiCittc2dzdHIgIkNQVS1hdnPDpG5kbmluZ3Nsw6RnZSBpIHZpcnR1ZWxsIGjDpXJkdmFyYSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU0Cittc2dpZCAicGh5c2ljYWwgYWRkcmVzcyBvZiBhIENQVSIKK21zZ3N0ciAiZnlzaXNrIGFkcmVzcyBmw7ZyIGVuIENQVSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU1Cittc2dpZCAic2hvd3MgaWYgdGhlIGh5cGVydmlzb3IgaGFzIGFsbG9jYXRlZCB0aGUgQ1BVIgorbXNnc3RyICJ2aXNhciBvbSBoeXBlcnZpc29ybiBoYXIgYWxsb2tlcmF0IENQVTpuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTYKK21zZ2lkICJzaG93cyBpZiBMaW51eCBjdXJyZW50bHkgbWFrZXMgdXNlIG9mIHRoZSBDUFUiCittc2dzdHIgInZpc2FyIG9tIExpbnV4IGbDtnIgbsOkcnZhcmFuZGUgYW52w6RuZGVyIENQVTpuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTcKK21zZ2lkICJzaG93cyB0aGUgbWF4aW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAidmlzYXIgc3TDtnJzdGEgTUh6IGbDtnIgQ1BVOm4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1OAorbXNnaWQgInNob3dzIHRoZSBtaW5pbXVtIE1IeiBvZiB0aGUgQ1BVIgorbXNnc3RyICJ2aXNhciBtaW5zdGEgTUh6IGbDtnIgQ1BVOm4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjU1MAorbXNnaWQgImVycm9yOiB1bmFtZSBmYWlsZWQiCittc2dzdHIgImZlbDogdW5hbWUgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBudW1iZXIgb2YgQ1BVczogJXMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGF2Z8O2cmEgYW50YWwgQ1BVOmVyOiAlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6ODkxCittc2dpZCAiZXJyb3I6IGNhbiBub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJmZWw6IEthbiBpbnRlIHN0w6RsbGEgaW4gc2lnbmFsaGFudGVyYXJlIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo4OTYKK21zZ2lkICJlcnJvcjogY2FuIG5vdCByZXN0b3JlIHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJmZWw6IGthbiBpbnRlIMOldGVyc3TDpGxsYSBzaWduYWxoYW50ZXJhcmUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk1NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBmcm9tOiAlcyIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgbMOkc2EgZnLDpW46ICVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDEwCittc2dpZCAiRmFpbGVkIHRvIGV4dHJhY3QgdGhlIG5vZGUgbnVtYmVyIgorbXNnc3RyICJNaXNzbHlja2FkZXMgbWVkIGF0dCBleHRyYWhlcmEgbm9kbnVtbWVyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTM3IHN5cy11dGlscy9sc2NwdS5jOjE1NDcKK21zZ2lkICJZIgorbXNnc3RyICJZIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTM3IHN5cy11dGlscy9sc2NwdS5jOjE1NDcKK21zZ2lkICJOIgorbXNnc3RyICJOIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlclxuIgorIiMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSURcbiIKKyIjIHN0YXJ0aW5nIGZyb20gemVyby5cbiIKK21zZ3N0ciAiIgorIiMgRsO2bGphbmRlIMOkciBkZXQgdG9sa25pbmdzYmFyYSBmb3JtYXRldCBzb20ga2FuIHNraWNrYXMgdmlkYXJlIHRpbGxcbiIKKyIjIGFuZHJhIHByb2dyYW0uIFZhcmplIG9iamVrdCBoYXIgZXR0IHVuaWt0IElEIHNvbSBiw7ZyamFyIHDDpSBub2xsIGlcbiIKKyIjdmFyamUga29sdW1uLlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzgxCittc2dpZCAiQXJjaGl0ZWN0dXJlOiIKK21zZ3N0ciAiQXJraXRla3R1cjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3OTUKK21zZ2lkICJDUFUgb3AtbW9kZShzKToiCittc2dzdHIgIkNQVSBvcC1sw6RnZShuKToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3OTggc3lzLXV0aWxzL2xzY3B1LmM6MTgwMAorbXNnaWQgIkJ5dGUgT3JkZXI6IgorbXNnc3RyICJCeXRlb3JkbmluZzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDIKK21zZ2lkICJDUFUocyk6IgorbXNnc3RyICJDUFUoZXIpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwNQorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICJNYXNrIGbDtnIgYWt0aXZhIENQVShlcik6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA2Cittc2dpZCAiT24tbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIkxpc3RhIMO2dmVyIGFrdGl2YSBDUFUoZXIpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNQorbXNnaWQgIk9mZi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiTWFzayBmw7ZyIGluYWt0aXZhIENQVShlcik6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI2Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICJMaXN0YSDDtnZlciBpbmFrdGl2YSBDUFUoZXIpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2MgorbXNnaWQgIlRocmVhZChzKSBwZXIgY29yZToiCittc2dzdHIgIlRyw6VkKGFyKSBwZXIga8Okcm5hOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2NAorbXNnaWQgIkNvcmUocykgcGVyIHNvY2tldDoiCittc2dzdHIgIkvDpHJuKG9yKSBwZXIgdXR0YWc6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODY3Cittc2dpZCAiU29ja2V0KHMpIHBlciBib29rOiIKK21zZ3N0ciAiVXR0YWcgcGVyIGJvazoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzAKK21zZ2lkICJCb29rKHMpIHBlciBkcmF3ZXI6IgorbXNnc3RyICJCw7Zja2VyIHBlciBsw6VkYToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzIKK21zZ2lkICJEcmF3ZXIocyk6IgorbXNnc3RyICJMw6Vkb3I6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODc0Cittc2dpZCAiQm9vayhzKToiCittc2dzdHIgIkLDtmNrZXI6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODc3Cittc2dpZCAiU29ja2V0KHMpOiIKK21zZ3N0ciAiVXR0YWc6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgxCittc2dpZCAiTlVNQSBub2RlKHMpOiIKK21zZ3N0ciAiTlVNQSBub2QoZXIpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MworbXNnaWQgIlZlbmRvciBJRDoiCittc2dzdHIgIlRpbGx2ZXJrYXItSUQ6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg1Cittc2dpZCAiTWFjaGluZSB0eXBlOiIKK21zZ3N0ciAiTWFza2ludHlwOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4NworbXNnaWQgIkNQVSBmYW1pbHk6IgorbXNnc3RyICJDUFUtZmFtaWxqOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4OQorbXNnaWQgIk1vZGVsOiIKK21zZ3N0ciAiTW9kZWxsOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5MQorbXNnaWQgIk1vZGVsIG5hbWU6IgorbXNnc3RyICJNb2RlbGxuYW1uOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5MworbXNnaWQgIlN0ZXBwaW5nOiIKK21zZ3N0ciAiU3RlZ25pbmc6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk1Cittc2dpZCAiQ1BVIE1IejoiCittc2dzdHIgIkNQVSBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk3Cittc2dpZCAiQ1BVIGR5bmFtaWMgTUh6OiIKK21zZ3N0ciAiQ1BVIGR5bmFtaXNrIE1IejoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTkKK21zZ2lkICJDUFUgc3RhdGljIE1IejoiCittc2dzdHIgIkNQVSBzdGF0aXNrIE1IejoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDEKK21zZ2lkICJDUFUgbWF4IE1IejoiCittc2dzdHIgIkNQVSBtYXggTUh6OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMworbXNnaWQgIkNQVSBtaW4gTUh6OiIKK21zZ3N0ciAiQ1BVIG1pbiBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA1Cittc2dpZCAiQm9nb01JUFM6IgorbXNnc3RyICJCb2dvTUlQUzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDggc3lzLXV0aWxzL2xzY3B1LmM6MTkxMAorbXNnaWQgIlZpcnR1YWxpemF0aW9uOiIKK21zZ3N0ciAiVmlydHVhbGlzZXJpbmc6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEzCittc2dpZCAiSHlwZXJ2aXNvcjoiCittc2dzdHIgIkh5cGVydmlzb3I6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE1Cittc2dpZCAiSHlwZXJ2aXNvciB2ZW5kb3I6IgorbXNnc3RyICJIeXBlcnZpc29ydGlsbHZlcmthcmU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE2Cittc2dpZCAiVmlydHVhbGl6YXRpb24gdHlwZToiCittc2dzdHIgIlZpcnR1YWxpc2VyaW5nc3R5cDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTkKK21zZ2lkICJEaXNwYXRjaGluZyBtb2RlOiIKK21zZ3N0ciAiQXZzw6RuZG5pbmdzbMOkZ2U6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTI1IHN5cy11dGlscy9sc2NwdS5jOjE5MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY2FjaGU6IgorbXNnc3RyICIlcyBjYWNoZToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVNQSBub2RlJWQgQ1BVKHMpOiIKK21zZ3N0ciAiTlVNQS1ub2QlZCBDUFUoZXIpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0NgorbXNnaWQgIkZsYWdzOiIKK21zZ3N0ciAiRmxhZ2dvcjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NDkKK21zZ2lkICJQaHlzaWNhbCBzb2NrZXRzOiIKK21zZ3N0ciAiRnlzaXNrYSB1dHRhZzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NTAKK21zZ2lkICJQaHlzaWNhbCBjaGlwczoiCittc2dzdHIgIkZ5c2lza2EgY2hpcDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NTEKK21zZ2lkICJQaHlzaWNhbCBjb3Jlcy9jaGlwOiIKK21zZ3N0ciAiRnlzaXNrYSBrw6Rybm9yL2NoaXA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTYzCittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ1BVIGFyY2hpdGVjdHVyZS5cbiIKK21zZ3N0ciAiVmlzYSBpbmZvcm1hdGlvbiBvbSBDUFUtYXJraXRla3R1cmVuLlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY2Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IGJvdGggb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgc2tyaXYgdXQgYsOlZGUgYWt0aXZhIG9jaCBpbmFrdGl2YSBDUFU6ZXIgKHN0YW5kYXJkIGbDtnIgLWUpXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjcKK21zZ2lkICIgLWIsIC0tb25saW5lICAgICAgICAgICAgcHJpbnQgb25saW5lIENQVXMgb25seSAoZGVmYXVsdCBmb3IgLXApXG4iCittc2dzdHIgIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBza3JpdiBlbmRhc3QgdXQgYWt0aXZhIENQVTplciAoc3RhbmRhcmQgZsO2ciAtcClcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2OAorbXNnaWQgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICBwcmludCBvZmZsaW5lIENQVXMgb25seVxuIgorbXNnc3RyICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAgc2tyaXYgZW5kYXN0IHV0IGluYWt0aXZhIENQVTplclxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY5Cittc2dpZCAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdGE+XSBza3JpdiB1dCBpIGV0dCB1dMO2a2F0LCBsw6RzYmFydCBmb3JtYXRcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MAorbXNnaWQgIiAtcCwgLS1wYXJzZVs9PGxpc3Q+XSAgICBwcmludCBvdXQgYSBwYXJzYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1wLCAtLXBhcnNlWz08bGlzdGE+XSAgIHNrcml2IHV0IGVuIGxpc3RhIGkgdG9sa25pbmdzYmFydCBmb3JtYXRcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MQorbXNnaWQgIiAtcywgLS1zeXNyb290IDxkaXI+ICAgICB1c2Ugc3BlY2lmaWVkIGRpcmVjdG9yeSBhcyBzeXN0ZW0gcm9vdFxuIgorbXNnc3RyICIgLXMsIC0tc3lzcm9vdCA8a2F0PiAgICAgYW52w6RuZCBhbmdpdmVuIGthdGFsb2cgc29tIHN5c3RlbXJvdFxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcyCittc2dpZCAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHByaW50IGhleGFkZWNpbWFsIG1hc2tzIHJhdGhlciB0aGFuIGxpc3RzIG9mIENQVXNcbiIKK21zZ3N0ciAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHNrcml2IHV0IGhleGFkZWNpbWFsYSBtYXNrZXIgc25hcmFyZSDDpG4gbGlzdG9yIMO2dmVyIENQVTplclxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTczCittc2dpZCAiIC15LCAtLXBoeXNpY2FsICAgICAgICAgIHByaW50IHBoeXNpY2FsIGluc3RlYWQgb2YgbG9naWNhbCBJRHNcbiIKK21zZ3N0ciAiIC15LCAtLXBoeXNpY2FsICAgICAgIHNrcml2IHV0IGZ5c2lza2EgaXN0w6RsbGV0IGbDtnIgbG9naXNrYSBJRFxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvcHRpb25zIC0tYWxsLCAtLW9ubGluZSBhbmQgLS1vZmZsaW5lIG1heSBvbmx5IGJlIHVzZWQgd2l0aCBvcHRpb25zIC0tZXh0ZW5kZWQgb3IgLS1wYXJzZS5cbiIKK21zZ3N0ciAiJXM6IGZsYWdnb3JuYSAtLWFsbCwgLS1vbmxpbmUgb2NoIC0tb2ZmbGluZSBrYW4gZW5kYXN0IGFudsOkbmRhcyBtZWQgZmxhZ2dvcm5hIC0tZXh0ZW5kZWQgZWxsZXIgLS1wYXJzZS5cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5Cittc2dpZCAiUmVzb3VyY2Uga2V5IgorbXNnc3RyICJSZXN1cnNueWNrZWwiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorbXNnaWQgIktleSIKK21zZ3N0ciAiTnlja2VsIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJSZXNvdXJjZSBJRCIKK21zZ3N0ciAiUmVzdXJzLUlEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJJRCIKK21zZ3N0ciAiSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyJ3MgdXNlcm5hbWUgb3IgVUlEIgorbXNnc3RyICLDhGdhcmVucyBhbnbDpG5kYXJuYW1uIGVsbGVyIFVJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCittc2dpZCAiT3duZXIiCittc2dzdHIgIsOEZ2FyZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUyCittc2dpZCAiUGVybWlzc2lvbnMiCittc2dzdHIgIlLDpHR0aWdoZXRlciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUzCittc2dpZCAiQ3JlYXRvciBVSUQiCittc2dzdHIgIlNrYXBhci1VSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NAorbXNnaWQgIkNyZWF0b3IgdXNlciIKK21zZ3N0ciAiU2thcGFyYW52w6RuZGFyZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU1Cittc2dpZCAiQ3JlYXRvciBHSUQiCittc2dzdHIgIlNrYXBhci1HSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NgorbXNnaWQgIkNyZWF0b3IgZ3JvdXAiCittc2dzdHIgIlNrYXBhcmdydXBwIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKK21zZ2lkICJVc2VyIElEIgorbXNnc3RyICJBbnbDpG5kYXItSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworbXNnaWQgIlVJRCIKK21zZ3N0ciAiVUlEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTgKK21zZ2lkICJVc2VyIG5hbWUiCittc2dzdHIgIkFudsOkbmRhcm5hbW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorbXNnaWQgIkdyb3VwIElEIgorbXNnc3RyICJHcnVwcC1JRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR0lEIgorbXNnc3RyICJHSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MAorbXNnaWQgIkdyb3VwIG5hbWUiCittc2dzdHIgIkdydXBwbmFtbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBjaGFuZ2UiCittc2dzdHIgIlRpZCBmw7ZyIHNlbmFzdGUgw6RuZHJpbmciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorbXNnaWQgIkxhc3QgY2hhbmdlIgorbXNnc3RyICJTZW5hc3RlIMOkbmRyaW5nIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjQKK21zZ2lkICJCeXRlcyB1c2VkIgorbXNnc3RyICJBbnbDpG5kYSBieXRlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZXMiCittc2dzdHIgIkFudGFsIG1lZGRlbGFuZGVuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKK21zZ2lkICJNZXNzYWdlcyIKK21zZ3N0ciAiTWVkZGVsYW5kZW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgc2VudCIKK21zZ3N0ciAiVGlkIGbDtnIgc2VuYXN0ZSBza2lja2FkZSBtZWRkZWxhbmRlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKK21zZ2lkICJNc2cgc2VudCIKK21zZ3N0ciAiTWVkZGVsYW5kZSBza2lja2F0IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHJlY2VpdmVkIgorbXNnc3RyICJUaWQgZsO2ciBzZW5hc3QgbW90dGFnbmEgbWVkZGVsYW5kZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiTXNnIHJlY2VpdmVkIgorbXNnc3RyICJNZWRkZWxhbmRlIG1vdHRhZ2V0IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjgKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHNlbmRlciIKK21zZ3N0ciAiUElEIGbDtnIgc2VuYXN0ZSBhdnPDpG5kYXJlIGF2IG1lZGRlbGFuZGUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIk1zZyBzZW5kZXIiCittc2dzdHIgIkF2c8OkbmRhcmUgYXYgbWVkZGVsYW5kZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyByZWNlaXZlciIKK21zZ3N0ciAiUElEIGbDtnIgc2VuYXN0ZSBtb3R0YWdhcmUgYXYgbWVkZGVsYW5kZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiTXNnIHJlY2VpdmVyIgorbXNnc3RyICJNb3R0YWdhcmUgYXYgbWVkZGVsYW5kZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTcyCittc2dpZCAiU2VnbWVudCBzaXplIgorbXNnc3RyICJTZWdtZW50c3RvcmxlayIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCittc2dpZCAiTnVtYmVyIG9mIGF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAiQW50YWwgZsOkc3RhIHByb2Nlc3NlciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCittc2dpZCAiQXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICJGw6RzdGEgcHJvY2Vzc2VyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzQKK21zZ2lkICJTdGF0dXMiCittc2dzdHIgIlN0YXR1cyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc1Cittc2dpZCAiQXR0YWNoIHRpbWUiCittc2dzdHIgIkbDpHN0dGlkIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzYKK21zZ2lkICJEZXRhY2ggdGltZSIKK21zZ3N0ciAiTMO2c2fDtnJpbmdzdGlkIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAiS29tbWFuZG9yYWQgZsO2ciBza2FwYXJlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQiCittc2dzdHIgIktvbW1hbmRvIGbDtnIgc2thcGFyZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiUElEIG9mIHRoZSBjcmVhdG9yIgorbXNnc3RyICJQSUQgZsO2ciBza2FwYXJlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJDcmVhdG9yIFBJRCIKK21zZ3N0ciAiU2thcGFyLVBJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiUElEIG9mIGxhc3QgdXNlciIKK21zZ3N0ciAiUElEIGbDtnIgc2VuYXN0ZSBhbnbDpG5kYXJlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJMYXN0IHVzZXIgUElEIgorbXNnc3RyICJTZW5hc3RlIGFudsOkbmRhci1QSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJBbnRhbCBzZW1hZm9yZXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIlNlbWFwaG9yZXMiCittc2dzdHIgIlNlbWFmb3JlciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBvcGVyYXRpb24iCittc2dzdHIgIlRpZCBmw7ZyIHNlbmFzdGUgw6V0Z8OkcmQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIkxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICJTZW5hc3RlIMOldGfDpHJkIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKK21zZ2lkICJSZXNvdXJjZSBuYW1lIgorbXNnc3RyICJSZXN1cnNuYW1uIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKK21zZ2lkICJSZXNvdXJjZSIKK21zZ3N0ciAiUmVzdXJzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJSZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiUmVzdXJzYmVza3Jpdm5pbmciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworbXNnaWQgIkRlc2NyaXB0aW9uIgorbXNnc3RyICJCZXNrcml2bmluZyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiQ3VycmVudGx5IHVzZWQiCittc2dzdHIgIkFudsOkbmRzIGbDtnIgbsOkcnZhcmFuZGUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIlVzZWQiCittc2dzdHIgIkFudsOkbmQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorbXNnaWQgIkN1cnJlbnRseSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAiQWt0dWVsbCBhbnbDpG5kbmluZ3NhbmRlbCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5Cittc2dpZCAiVXNlIgorbXNnc3RyICJBbnbDpG5kbmluZyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiU3lzdGVtLXdpZGUgbGltaXQiCittc2dzdHIgIlN5c3RlbWJlZ3LDpG5zbmluZyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiTGltaXQiCittc2dzdHIgIkJlZ3LDpG5zbmluZyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbHVtbiAlcyBkb2VzIG5vdCBhcHBseSB0byB0aGUgc3BlY2lmaWVkIElQQyIKK21zZ3N0ciAia29sdW1uICVzIGfDpGxsZXIgaW50ZSBmw7ZyIGRlbiBhbmdpdm5hIElQQzpuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODcKK21zZ2lkICIgLWcsIC0tZ2xvYmFsICAgICAgaW5mbyBhYm91dCBzeXN0ZW0td2lkZSB1c2FnZSAobWF5IGJlIHVzZWQgd2l0aCAtbSwgLXEgYW5kIC1zKVxuIgorbXNnc3RyICIgLWcsIC0tZ2xvYmFsICAgICAgaW5mb3JtYXRpb24gb20gc3lzdGVtb21mYXR0YW5kZSBhbnbDpG5kbmluZyAoa2FuIGtvbWJpbmVyYXMgbWVkIC1tLCAtcSBvY2ggLXMpXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OAorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICAgICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIgLWksIC0taWQgPGlkPiAgICAgc2tyaXYgdXQgZGV0YWxqZXIgb20gcmVzdXJzIGlkZW50aWZpZXJhZCBzb20gPGlkPlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTQKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgc2tyaXYgdXQgU1RPUkxFSyBpIGJ5dGUgc25hcmFyZSDDpG4gaSBmb3JtYXQgbMOkc2xpZ3QgZsO2ciBtw6Rubmlza29yXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NQorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICAgICAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIHZpc2Egc2thcGFyZSBvY2ggw6RnYXJlXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NworbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgdXNlIHRoZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICBhbnbDpG5kIHV0bWF0bmluZ3Nmb3JtYXRldCBKU09OXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5OQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yY2UgbGlzdCBvdXRwdXQgZm9ybWF0IChmb3IgZXhhbXBsZSB3aXRoIC0taWQpXG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgdHZpbmdhIHV0bWF0bmluZ3Nmb3JtYXRldCBsaXN0YSAodGlsbCBleGVtcGVsIG1lZCAtLWlkKVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDEKK21zZ2lkICIgLVAsIC0tbnVtZXJpYy1wZXJtcyAgICAgIHByaW50IG51bWVyaWMgcGVybWlzc2lvbnMgKFBFUk1TIGNvbHVtbilcbiIKK21zZ3N0ciAiIC1QLCAtLW51bWVyaWMtcGVybXMgICAgICBza3JpdiB1dCBudW1lcmlza2EgcsOkdHRpZ2hldGVyIChSw4RUVElHSC1rb2x1bW5lbilcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAzCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgICAgICAgICAgICAgICB2aXNhIGbDpHN0LSwgbMO2c2fDtnJpbmdzLSBvY2ggw6RuZHJpbmdzdGlkZXJcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmljIGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJBbGxtw6RubmEga29sdW1uZXI6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkLW1lbW9yeSBjb2x1bW5zICgtLXNobWVtcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJLb2x1bW5lciBmw7ZyIGRlbGF0IG1pbm5lICgtLXNobWVtcyk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZS1xdWV1ZSBjb2x1bW5zICgtLXF1ZXVlcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJLb2x1bW5lciBmw7ZyIG1lZGRlbGFuZGVrw7YgKC0tcXVldWVzKTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgY29sdW1ucyAoLS1zZW1hcGhvcmVzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIktvbHVtbmVyIGbDtnIgc2VtZm9yZXIgKC0tc2VtYXBob3Jlcyk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU3VtbWFyeSBjb2x1bW5zICgtLWdsb2JhbCk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJTYW1tYW5mYXR0bmluZ3Nrb2x1bW5lciAoLS1nbG9iYWwpOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkVsZW1lbnRzOlxuIgorIlxuIgorbXNnc3RyICIiCisiRWxlbWVudDpcbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA1Cittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZSBpZGVudGlmaWVycyIKK21zZ3N0ciAiQW50YWwgc2VtYWZvcmlkZW50aWZpZXJhcmUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwNgorbXNnaWQgIlRvdGFsIG51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJUb3RhbHQgYW50YWwgc2VtYWZvcmVyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDcKK21zZ2lkICJNYXggc2VtYXBob3JlcyBwZXIgc2VtYXBob3JlIHNldC4iCittc2dzdHIgIk1heGltYWx0IGFudGFsIHNlbWFmb3JlciBwZXIgc2VtYWZvcnVwcHPDpHR0bmluZy4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwOAorbXNnaWQgIk1heCBudW1iZXIgb2Ygb3BlcmF0aW9ucyBwZXIgc2Vtb3AoMikiCittc2dzdHIgIlN0w7Zyc3RhIGFudGFsZXQgw6V0Z8OkcmRlciBwZXIgc2Vtb3AoMikiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwOQorbXNnaWQgIlNlbWFwaG9yZSBtYXggdmFsdWUiCittc2dzdHIgIk1heGltYWx0IHbDpHJkZSBmw7ZyIHNlbWFmb3IiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg2MworbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiQW50YWwgbWVkZGVsYW5kZWvDtmVyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjQKK21zZ2lkICJNYXggc2l6ZSBvZiBtZXNzYWdlIChieXRlcykiCittc2dzdHIgIk1heGltYWwgc3RvcmxlayBmw7ZyIG1lZGRlbGFuZGUgKGJ5dGUpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjUKK21zZ2lkICJEZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIChieXRlcykiCittc2dzdHIgIlN0YW5kYXJkbWF4c3RvcmxlayBmw7ZyIGvDtiAoYnl0ZSkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk3OCBzeXMtdXRpbHMvbHNpcGMuYzo5OTcKK21zZ2lkICJodWdldGxiIgorbXNnc3RyICJzdG9ydGxiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5Nzkgc3lzLXV0aWxzL2xzaXBjLmM6MTAwNAorbXNnaWQgIm5vcmVzZXJ2ZSIKK21zZ3N0ciAiaWNrZS1yZXNlcnZlcmFkIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDYxCittc2dpZCAiU2hhcmVkIG1lbW9yeSBzZWdtZW50cyIKK21zZ3N0ciAiRGVsYWRlIG1pbm5lc3NlZ21lbnQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjIKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHBhZ2VzIgorbXNnc3RyICJEZWxhZGUgbWlubmVzc2lkb3IiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjMKK21zZ2lkICJNYXggc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAiU3TDtnJzdGEgc3RvcmxlayBmw7ZyIGRlbGF0IG1pbm5lc3NlZ21lbnQgKGJ5dGUpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDY0Cittc2dpZCAiTWluIHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIk1pbnN0YSBzdG9ybGVrIGbDtnIgZGVsYXQgbWlubmVzc2VnbWVudCAoYnl0ZSkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjExMzUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSVBDIGlkZW50aWZpZXIiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIElQQy1pZGVudGlmaWVyYXJlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMjI5Cittc2dpZCAiLS1nbG9iYWwgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1jcmVhdG9yLCAtLWlkIGFuZCAtLXRpbWUiCittc2dzdHIgIi0tZ2xvYmFsIMOkciDDtm1zZXNpZGlndCB1dGVzbHV0YW5kZSBtZWQgLS1jcmVhdG9yLCAtLWlkIG9jaCAtLXRpbWUiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODMKK21zZ2lkICJuYW1lc3BhY2UgaWRlbnRpZmllciAoaW5vZGUgbnVtYmVyKSIKK21zZ3N0ciAibmFtbnJ5bWRzaWRlbnRpZmllcmFyZSAoaW5vZHNudW1tZXIpIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg0Cittc2dpZCAia2luZCBvZiBuYW1lc3BhY2UiCittc2dzdHIgInR5cCBhdiBuYW1ucnltZCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NQorbXNnaWQgInBhdGggdG8gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAic8O2a3bDpGcgdGlsbCBuYW1ucnltZGVuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg2Cittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJhbnRhbCBwcm9jZXNzZXIgaSBuYW1ucnltZGVuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg3Cittc2dpZCAibG93ZXN0IFBJRCBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJsw6Rnc3RhIFBJRCBpIG5hbW5yeW1kZW4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODgKK21zZ2lkICJQUElEIG9mIHRoZSBQSUQiCittc2dzdHIgIlBQSUQgZsO2ciBQSUQ6ZW4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODkKK21zZ2lkICJjb21tYW5kIGxpbmUgb2YgdGhlIFBJRCIKK21zZ3N0ciAia29tbWFuZG9yYWQgZsO2ciBQSUQ6ZW4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTAKK21zZ2lkICJVSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiVUlEIGbDtnIgUElEOmVuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkxCittc2dpZCAidXNlcm5hbWUgb2YgdGhlIFBJRCIKK21zZ3N0ciAiYW52w6RuZGFybmFtbiBmw7ZyIFBJRDplbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo2MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG5hbWVzcGFjZT5dXG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gWzxuYW1ucnltZD5dXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjE2Cittc2dpZCAiTGlzdCBzeXN0ZW0gbmFtZXNwYWNlcy5cbiIKK21zZ3N0ciAiTGlzdGEgc3lzdGVtbmFtbnJ5bWRlbi5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo2MjMKK21zZ2lkICIgLXAsIC0tdGFzayA8cGlkPiAgICAgICBwcmludCBwcm9jZXNzIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIC1wLCAtLXRhc2sgPHBpZD4gICAgICAgc2tyaXYgdXQgcHJvY2Vzc25hbW5yeW1kXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjI2Cittc2dpZCAiIC10LCAtLXR5cGUgPG5hbWU+ICAgICAgbmFtZXNwYWNlIHR5cGUgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzLCBjZ3JvdXApXG4iCittc2dzdHIgIiAtdCwgLS10eXBlIDxuYW1uPiAgICAgIG5hbW5yeW1kc3R5cCAobW50LCBuZXQsIGlwYywgdXNlciwgcGlkLCB1dHMsIGNncm91cClcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBuYW1lc3BhY2UgdHlwZTogJXMiCittc2dzdHIgIm9rw6RuZCBuYW1ucnltZHN0eXA6ICVzIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjczNQorbXNnaWQgIi0tdGFzayBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8bmFtZXNwYWNlPiIKK21zZ3N0ciAiLS10YXNrIMOkciDDtm1zZXNpZGlndCB1dGVzbHV0YW5kZSBtZWQgPG5hbW5yeW1kPiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MzYKK21zZ2lkICJpbnZhbGlkIG5hbWVzcGFjZSBhcmd1bWVudCIKK21zZ3N0ciAib2dpbHRpZ3QgbmFtbnJ5bWRzYXJndW1lbnQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6Nzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBmb3VuZCBuYW1lc3BhY2U6ICVqdSIKK21zZ3N0ciAiaGl0dGFkZSBpbnRlIG5hbW5yeW1kOiAlanUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY2IHN5cy11dGlscy91bW91bnQuYzoxMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAiZW5kYXN0IHJvb3Qga2FuIGFudsOkbmRhIGZsYWdnYW4g4oCdLS0lc+KAnSAoZWZmZWt0aXZ0IFVJRCDDpHIgJXUpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2OSBzeXMtdXRpbHMvdW1vdW50LmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgImVuZGFzdCByb290IGthbiBnw7ZyYSBkZXQgKGVmZmVrdGl2dCBVSUQgw6RyICV1KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzMgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24iCittc2dzdHIgImVuZGFzdCByb290IGthbiBhbnbDpG5kYSBmbGFnZ2FuIOKAnS0tJXPigJ0iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0IHN5cy11dGlscy91bW91bnQuYzoxMjUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCittc2dzdHIgImVuZGFzdCByb290IGthbiBnw7ZyYSBkZXQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjg1IHN5cy11dGlscy91bW91bnQuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzIChsaWJtb3VudCAlcyIKK21zZ3N0ciAiJXMgZnLDpW4gJXMgKGxpYm1vdW50ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMzAKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBtdGFiIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBsw6RzYSBtdGFiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTIgc3lzLXV0aWxzL3Vtb3VudC5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogaWdub3JlZFxuIgorbXNnc3RyICIlLTI1czogaG9wcGFzIMO2dmVyXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MworIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogYWxyZWFkeSBtb3VudGVkXG4iCittc2dzdHIgIiUtMjVzOiByZWRhbiBtb250ZXJhZFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdmVkIHRvICVzLlxuIgorbXNnc3RyICIlczogJXMgZmx5dHRhZCB0aWxsICVzLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGJvdW5kIG9uICVzLlxuIgorbXNnc3RyICIlczogJXMgYnVuZGVuIHRpbGwgJXMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1NCBzeXMtdXRpbHMvbW91bnQuYzoyNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdW50ZWQgb24gJXMuXG4iCittc2dzdHIgIiVzOiAlcyBtb250ZXJhZCBww6UgJXMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgcHJvcGFnYXRpb24gZmxhZ3MgY2hhbmdlZC5cbiIKK21zZ3N0ciAiJXM6ICVzIHByb3BhZ2VyaW5nc2ZsYWdnb3Igw6RuZHJhZGUuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjMxMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibW91bnQ6ICVzIGRvZXMgbm90IGNvbnRhaW4gU0VMaW51eCBsYWJlbHMuXG4iCisiICAgICAgIFlvdSBqdXN0IG1vdW50ZWQgYW4gZmlsZSBzeXN0ZW0gdGhhdCBzdXBwb3J0cyBsYWJlbHMgd2hpY2ggZG9lcyBub3RcbiIKKyIgICAgICAgY29udGFpbiBsYWJlbHMsIG9udG8gYW4gU0VMaW51eCBib3guIEl0IGlzIGxpa2VseSB0aGF0IGNvbmZpbmVkXG4iCisiICAgICAgIGFwcGxpY2F0aW9ucyB3aWxsIGdlbmVyYXRlIEFWQyBtZXNzYWdlcyBhbmQgbm90IGJlIGFsbG93ZWQgYWNjZXNzIHRvXG4iCisiICAgICAgIHRoaXMgZmlsZSBzeXN0ZW0uICBGb3IgbW9yZSBkZXRhaWxzIHNlZSByZXN0b3JlY29uKDgpIGFuZCBtb3VudCg4KS5cbiIKK21zZ3N0ciAiIgorIm1vdW50OiAlcyBpbm5laMOlbGxlciBpbnRlIFNFTGludXgtZXRpa2V0dC5cbiIKKyIgICAgICAgRHUgbW9udGVyYWRlIG55c3MgZXR0IGZpbHN5c3RlbSBzb20gaGFyIHN0w7ZkIGbDtnIgZXRpa2V0dGVyIHNvbSBpbnRlXG4iCisiICAgICAgIGlubmVow6VsbGVyIGV0aWtldHRlciBww6UgZXR0IFNFTGludXgtc3lzdGVtLiBEZXQgw6RyIHNhbm5vbGlraGV0IGF0dCBwcm9ncmFtXG4iCisiICAgICAgIHNvbSBiZWdyw6Ruc2F0cyBrb21tZXIgYXR0IGdlbmVyZXJhIEFWQy1tZWRkZWxhbmRlbiBvY2ggaW50ZSBrYW4gdGlsbMOldGFzXG4iCisiICAgICAgIGbDpSB0aWxsZ8OlbmcgdGlsbCBmaWxzeXN0ZW1ldC4gRsO2ciB2aWRhcmUgZGV0YWxqZXIgc2UgcmVzdG9yZWNvbig4KSBvY2ggbW91bnQoOCkuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3OAorbXNnaWQgIldBUk5JTkc6IGZhaWxlZCB0byBhcHBseSBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiVkFSTklORzogbWlzc2x5Y2thZGVzIG1lZCBhdHQgdGlsbMOkbXBhIHByb3BhZ2VyaW5nc2ZsYWdnb3IiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIG1vdW50ICVzIG9uICVzIgorbXNnc3RyICJlbmRhc3Qgcm9vdCBrYW4gbW9udGVyYSAlcyBww6UgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQiCittc2dzdHIgIiVzIMOkciByZWRhbiBtb250ZXJhZCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHVzZWQgYXMgcmVhZCBvbmx5IGxvb3AsIG1vdW50aW5nIHJlYWQtb25seSIKK21zZ3N0ciAiJXMgYW52w6RuZHMgc29tIHNrcml2c2t5ZGRhZCBsb29wZW5oZXQsIG1vbnRlcmFyIHNvbSBlbmRhc3QgbMOkc2JhciIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDE2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMgaW4gJXMiCittc2dzdHIgImthbiBpbnRlIGhpdHRhICVzIGkgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyMworIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50cG9pbnQgJXMgaW4gJXMiCittc2dzdHIgImthbiBpbnRlIGhpdHRhIG1vbnRlcmluZ3NwdW5rdCAlcyBpICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBzb3VyY2UgJXMgaW4gJXMiCittc2dzdHIgImthbiBpbnRlIGhpdHRhIG1vbnRlcmluZ3Nrw6RsbGEgJXMgaSAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlczogbW9yZSBmaWxlc3lzdGVtcyBkZXRlY3RlZC4gVGhpcyBzaG91bGQgbm90IGhhcHBlbixcbiIKKyIgICAgICAgdXNlIC10IDx0eXBlPiB0byBleHBsaWNpdGx5IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSBvclxuIgorIiAgICAgICB1c2Ugd2lwZWZzKDgpIHRvIGNsZWFuIHVwIHRoZSBkZXZpY2UuIgorbXNnc3RyICIiCisiJXM6IGZsZXIgZmlsc3lzdGVtIGlkZW50aWZpZXJhZGUuIERldHRhIGLDtnIgaW50ZSBow6RuZGEsXG4iCisiICAgICAgIGFudsOkbmQgLXQgPHR5cD4gZsO2ciBhdHQgdXR0cnlja2xpZ2VuIGFuZ2UgZmlsc3lzdGVtc3R5cGVuIGVsbGVyXG4iCisiICAgICAgIGFudsOkbmQgd2lwZWZzKDgpIGbDtnIgYXR0IHJlbnNhIHVwcCBlbmhldGVuLiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDM2Cittc2dpZCAiSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgIkphZyBrdW5kZSBpbnRlIGF2Z8O2cmEgZmlsc3lzdGVtc3R5cGVuLCBvY2ggaW5nZW4gYW5nYXZzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzkKK21zZ2lkICJ5b3UgbXVzdCBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgImR1IG3DpXN0ZSBhbmdlIGZpbHN5c3RlbXN0eXBlbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMiCittc2dzdHIgImthbiBpbnRlIGhpdHRhICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDcKK21zZ2lkICJtb3VudCBzb3VyY2Ugbm90IGRlZmluZWQiCittc2dzdHIgIm1vbnRlcmluZ3Nrw6RsbGEgaW50ZSBkZWZpbmllcmFkIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTEgc3lzLXV0aWxzL21vdW50LmM6NDUzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIG1vbnRlcmluZ3NmbGFnZ29yIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IG1pc3NseWNrYWRlcyBtZWQgYXR0IHN0w6RsbGEgaW4gbG9vcGVuaGV0IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50IGZhaWxlZCIKK21zZ3N0ciAiJXM6IG1vbnRlcmluZyBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmlsZXN5c3RlbSBtb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorbXNnc3RyICIlczogZmlsc3lzdGVtIG1vbnRlcmF0LCBtZW4gbW91bnQoOCkgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0ODkgc3lzLXV0aWxzL21vdW50LmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50ICVzIGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAibW9udGVyaW5nc3B1bmt0ICVzIMOkciBpbnRlIGVuIGthdGFsb2ciCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ5MworbXNnaWQgIm11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKK21zZ3N0ciAibcOlc3RlIHZhcmEgc3VwZXJhbnbDpG5kYXJlIGbDtnIgYXR0IGFudsOkbmRhIG1vdW50IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYnVzeSIKK21zZ3N0ciAiJXMgw6RyIHVwcHRhZ2VuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9yICVzIGJ1c3kiCittc2dzdHIgIiVzIMOkciByZWRhbiBtb250ZXJhZCBlbGxlciBzw6Ugw6RyICVzIHVwcHRhZ2VuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorbXNnc3RyICIgICAgICAgJXMgw6RyIHJlZGFuIG1vbnRlcmFkIHDDpSAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIm1vbnRlcmluZ3NwdW5rdCAlcyBmaW5ucyBpbnRlIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgJXMgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCittc2dzdHIgIm1vbnRlcmluZ3NwdW5rdCAlcyDDpHIgZW4gc3ltYm9saXNrIGzDpG5rIHRpbGwgaW5nZW5zdGFucyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJzcGVjaWFsZW5oZXQgJXMgZmlubnMgaW50ZSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTM2IHN5cy11dGlscy9tb3VudC5jOjUzOCBzeXMtdXRpbHMvbW91bnQuYzo1NDAKKyM6IHN5cy11dGlscy9tb3VudC5jOjU1NQorbXNnaWQgIm1vdW50KDIpIGZhaWxlZCIKK21zZ3N0ciAibW91bnQoMikgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KSIKK21zZ3N0ciAic3BlY2lhbGVuaGV0ICVzIGZpbm5zIGludGUgKGV0dCBzw7ZrdsOkZ3NwcmVmaXggw6RyIGludGUgZW4ga2F0YWxvZykiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICIlcyDDpHIgaW50ZSBtb250ZXJhZCBlbGxlciBmZWxha3RpZyBmbGFnZ2EiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbW91bnRwb2ludCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICIlcyDDpHIgaW50ZSBlbiBtb250ZXJpbmdzcHVua3QgZWxsZXIgZmVsYWt0aWcgZmxhZ2dhIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjUKK21zZ2lkICIiCisiYmFkIG9wdGlvbi4gTm90ZSB0aGF0IG1vdmluZyBhIG1vdW50IHJlc2lkaW5nIHVuZGVyIGEgc2hhcmVkXG4iCisiICAgICAgIG1vdW50IGlzIHVuc3VwcG9ydGVkLiIKK21zZ3N0ciAiIgorImZlbGFrdGlnIGZsYWdnYS4gTm90ZXJhIGF0dCBmbHl0dGEgZW4gbW9udGVyaW5nIHNvbSBmaW5ucyB1bmRlciBlblxuIgorIiAgICAgICBkZWxhZCBtb250ZXJpbmcgaW50ZSBzdMO2ZHMuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIndyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLFxuIgorIiAgICAgICBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKK21zZ3N0ciAiIgorImZlbCBmaWxzeXN0ZW1zdHlwLCBmZWxha3RpZyBmbGFnZ2EsIGZlbGFrdGlndCBzdXBlcmJsb2NrIHDDpSAlcyxcbiIKKyIgICAgICAgY29kZXBhZ2UgZWxsZXIgaGrDpGxwcHJvZ3JhbSBzYWtuYXMsIGVsbGVyIGFubmF0IGZlbCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgICAgKGZvciBzZXZlcmFsIGZpbGVzeXN0ZW1zIChlLmcuIG5mcywgY2lmcykgeW91IG1pZ2h0XG4iCisiICAgICAgIG5lZWQgYSAvc2Jpbi9tb3VudC48dHlwZT4gaGVscGVyIHByb2dyYW0pXG4iCittc2dzdHIgIiIKKyIgICAgICAgKGbDtnIgZmxlcmEgZmlsc3lzdGVtICh0LmV4LiBuZnMsIGNpZnMpIGthbiBkdSBiZWjDtnZhXG4iCisiICAgICAgIGV0dCBoasOkbHBwcm9ncmFtIC9zYmluL21vdW50Ljx0eXA+KVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiAgICAgICBJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGlzIGZvdW5kIGluIHN5c2xvZyAtIHRyeVxuIgorIiAgICAgICBkbWVzZyB8IHRhaWwgb3Igc28uXG4iCittc2dzdHIgIiIKKyJcbiIKKyIgICAgICAgSSBlbiBkZWwgZmFsbCBrYW4gYW52w6RuZGJhciBpbmZvcm1hdGlvbiBoaXR0YXMgaSBzeXNsb2dcbiIKKyIgICAgICAgLSBwcm92YSBkbWVzZyB8IHRhaWwgZWxsZXIgbGlrbmFuZGUuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU4MworbXNnaWQgIm1vdW50IHRhYmxlIGZ1bGwiCittc2dzdHIgIm1vbnRlcmluZ3N0YWJlbGxlbiBmdWxsIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IHJlYWQgc3VwZXJibG9jayIKK21zZ3N0ciAiJXM6IGthbiBpbnRlIGzDpHNhIHN1cGVyYmxvY2siCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU5MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSAnJXMnIgorbXNnc3RyICJva8OkbmQgZmlsc3lzdGVtc3R5cCDigJ0lc+KAnSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTk0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIm9rw6RuZCBmaWxzeXN0ZW1zdHlwIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCgyKSBmYWlscz8iCittc2dzdHIgIiVzIMOkciBpbnRlIGVuIGJsb2NrZW5oZXQsIG9jaCBzdGF0KDIpIG1pc3NseWNrYXM/IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInRoZSBrZXJuZWwgZG9lcyBub3QgcmVjb2duaXplICVzIGFzIGEgYmxvY2sgZGV2aWNlXG4iCisiICAgICAgIChtYXliZSBgbW9kcHJvYmUgZHJpdmVyJz8pIgorbXNnc3RyICIiCisia8Okcm5hbiBrw6RubmVyIGludGUgaWdlbiAlcyBzb20gZW4gYmxvY2tlbmhldFxuIgorIiAgICAgICAocHJvdmEg4oCdbW9kcHJvYmUgZHJpdnJ1dGlu4oCdPykiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UgKG1heWJlIHRyeSBgLW8gbG9vcCc/KSIKK21zZ3N0ciAiJXMgw6RyIGluZ2VuIGJsb2NrZW5oZXQgKHByb3ZhIG1lZCDigJ0tbyBsb29w4oCdPykiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIgJXMgw6RyIGludGUgZW4gYmxvY2tlbmhldCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXMgw6RyIGludGUgZW4gZ2lsdGlnIGJsb2NrZW5oZXQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQgJXMgcmVhZC1vbmx5IgorbXNnc3RyICJrYW4gaW50ZSBtb250ZXJhICVzIHNvbSBlbmRhc3QgbMOkc2JhciIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHdyaXRlLXByb3RlY3RlZCBidXQgZXhwbGljaXQgYC13JyBmbGFnIGdpdmVuIgorbXNnc3RyICIlcyDDpHIgc2tyaXZza3lkZGF0IG1lbiBlbiBleHBsaWNpdCDigJ0td+KAnS1mbGFnZ2EgYW5nYXZzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlbW91bnQgJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorbXNnc3RyICJrYW4gaW50ZSDDpXRlcm1vbnRlcmEgJXMgZsO2ciBsw6RzbmluZy9za3Jpdm5pbmcsIGRlbiDDpHIgc2tyaXZza3lkZGFkIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MzEgc3lzLXV0aWxzL21vdW50LmM6NjU0IHN5cy11dGlscy91bnNoYXJlLmM6MTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAibW9udGVyaW5nIGF2ICVzIHDDpSAlcyBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50aW5nIHJlYWQtb25seSIKK21zZ3N0ciAiJXMgw6RyIHNrcml2c2t5ZGRhZCwgbW9udGVyYXIgc29tIGVuZGFzdCBsw6RzYmFyIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbWVkaXVtIGZvdW5kIG9uICVzIgorbXNnc3RyICJpbmdldCBtZWRpYSBoaXR0YXQgcMOlICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSIKK21zZ3N0ciAiJXM6IHRvbGtuaW5nIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG9wdGlvbiBmb3JtYXQ6ICVzIgorbXNnc3RyICJmbGFnZ2Zvcm1hdCBzdMO2ZHMgaW50ZTogJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYXBwZW5kIG9wdGlvbiAnJXMnIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBsw6RnZ2EgdGlsbCBmbGFnZ2Eg4oCdJXPigJ0iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjczNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZV0gPHNvdXJjZT4gfCBbLS10YXJnZXRdIDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgPG9wZXJhdGlvbj4gPG1vdW50cG9pbnQ+IFs8dGFyZ2V0Pl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstbGhWXVxuIgorIiAlMSRzIC1hIFtmbGFnZ29yXVxuIgorIiAlMSRzIFtmbGFnZ29yXSBbLS1zb3VyY2VdIDxrw6RsbGE+IHwgWy0tdGFyZ2V0XSA8a2F0YWxvZz5cbiIKKyIgJTEkcyBbZmxhZ2dvcl0gPGvDpGxsYT4gPGthdGFsb2c+XG4iCisiICUxJHMgPMOldGfDpHJkPiA8bW9udGVyaW5nc3B1bmt0PiBbPG3DpWw+XVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NDQKK21zZ2lkICJNb3VudCBhIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIk1vbnRlcmEgZXR0IGZpbHN5c3RlbS5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW91bnQgYWxsIGZpbGVzeXN0ZW1zIG1lbnRpb25lZCBpbiBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgbW91bnQoMikgc3lzY2FsbFxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBmb3JrIG9mZiBmb3IgZWFjaCBkZXZpY2UgKHVzZSB3aXRoIC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8cGF0aD4gICAgICBhbHRlcm5hdGl2ZSBmaWxlIHRvIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBtb250ZXJhIGFsbGEgZmlsc3lzdGVtIG7DpG1uZGEgaSBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBnw7ZyIGludGUgc8O2a3bDpGdhciBrYW5vbmlza2FcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgdG9ycmvDtnJuaW5nOyBob3BwYSDDtnZlciBzeXN0ZW1hbnJvcGV0IG1vdW50KDIpXG4iCisiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIGdyZW5hIGF2IGbDtnIgdmFyamUgZW5oZXQgKGFudsOkbmQgbWVkIC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8c8O2a3bDpGc+ICAgIGFsdGVybmF0aXYgZmlsIGlzdMOkbGxldCBmw7ZyIC9ldGMvZnN0YWJcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSBtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgYW5yb3BhIGludGUgaGrDpGxwcHJvZ3JhbW1ldCBtb3VudC48dHlwPlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIHNob3cgYWxzbyBmaWxlc3lzdGVtIGxhYmVsc1xuIgorbXNnc3RyICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgdmlzYSBvY2tzw6UgZmlsc3lzdGVtc2V0aWtldHRlclxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTggc3lzLXV0aWxzL3Vtb3VudC5jOjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIHNrcml2IGludGUgdGlsbCAvZXRjL210YWJcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbW91bnQgb3B0aW9uc1xuIgorIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC1vbmx5IChzYW1lIGFzIC1vIHJvKVxuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiIgorIiAtbywgLS1vcHRpb25zIDxsaXN0YT4gICBrb21tYXNlcGFyZXJhZCBsaXN0YSBhdiBtb250ZXJpbmdzZmxhZ2dvclxuIgorIiAtTywgLS10ZXN0LW9wdHMgPGxpc3RhPiBiZWdyw6Ruc2EgdXBwc8OkdHRuaW5nZW4gZmlsc3lzdGVtIChhbnbDpG5kIG1lZCAtYSlcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgbW9udGVyYSBmaWxzeXN0ZW1ldCBza3JpdnNreWRkYXQgKHNhbW1hIHNvbSAtbyBybylcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3RhPiAgICAgYmVncsOkbnNhIHVwcHPDpHR0bmluZ2VuIGF2IGZpbHN5c3RlbXN0eXBlclxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1zb3VyY2UgPHNyYz4gICAgICBleHBsaWNpdGx5IHNwZWNpZmllcyBzb3VyY2UgKHBhdGgsIGxhYmVsLCB1dWlkKVxuIgorIiAgICAgLS10YXJnZXQgPHRhcmdldD4gICBleHBsaWNpdGx5IHNwZWNpZmllcyBtb3VudHBvaW50XG4iCittc2dzdHIgIiIKKyIgICAgIC0tc291cmNlIDxrw6RsbGE+ICAgIGFuZ2VyIHV0dHJ5Y2tsaWdlbiBrw6RsbGEgKHPDtmt2w6RnLCBldGlrZXR0LCB1dWlkKVxuIgorIiAgICAgLS10YXJnZXQgPG3DpWw+ICAgICAgYW5nZXIgdXR0cnlja2xpZ2VuIG1vbnRlcmluZ3NwdW5rdFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3Njggc3lzLXV0aWxzL3Vtb3VudC5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBzYXkgd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBmw7Zya2xhcmEgdmFkIHNvbSBow6RuZGVyXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc3MAorIywgYy1mb3JtYXQKK21zZ2lkICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC13cml0ZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vbnRlcmEgZmlsc3lzdGVtZXQgc2tyaXZiYXJ0IChzdGFuZGFyZClcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTb3VyY2U6XG4iCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKK21zZ3N0ciAiIgorIlxuIgorIkvDpGxsYTpcbiIKKyIgLUwsIC0tbGFiZWwgPGV0aWtldHQ+ICAgc3lub255bSBmw7ZyIExBQkVMPTxldGlrZXR0PlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBzeW5vbnltIGbDtnIgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGV0aWtldHQ+ICAgICAgICAgYW5nZXIgZW5oZXQgZWZ0ZXIgZmlsc3lzdGVtc2V0aWtldHRcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICAgYW5nZXIgZW5oZXQgZWZ0ZXIgZmlsc3lzdGVtcy1VVUlEXG4iCisiIFBBUlRMQUJFTD08ZXRpa2V0dD4gICAgIGFuZ2VyIGVuaGV0IGVmdGVyIHBhcnRpdGlvbnNldGlrZXR0XG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIGFuZ2VyIGVuaGV0IGVmdGVyIHBhcnRpdGlvbnMtVVVJRFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorbXNnc3RyICIiCisiIDxlbmhldD4gICAgICAgICAgICAgICAgIGFuZ2VyIGVuIGVuaGV0IGVmdGVyIHPDtmt2w6RnXG4iCisiIDxrYXRhbG9nPiAgICAgICAgICAgICAgIG1vbnRlcmluZ3NwdW5rdCBmw7ZyIGJpbmRuaW5nc21vbnRlcmluZ2FyIChzZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWw+ICAgICAgICAgICAgICAgICAgIHZhbmxpZyBmaWwgZsO2ciBsb29wZW5oZXRzaW5zdMOkbGxuaW5nXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc5MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3BlcmF0aW9uczpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIHNvbWV3aGVyZSBlbHNlIChzYW1lIGFzIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG1vdmUgYSBzdWJ0cmVlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlXG4iCittc2dzdHIgIiIKKyJcbiIKKyLDhXRnw6RyZGVyOlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICBtb250ZXJhIGV0dCB1bmRlcnRyw6RkIG7DpWdvbiBhbm5hbnN0YW5zIChzYW1tYSBzb20gLW8gYmluZClcbiIKKyIgLU0sIC0tbW92ZSAgICAgICAgICAgICAgZmx5dHRhIGV0dCB1bmRlcnRyw6RkIG7DpWdvbiBhbm5hbnN0YW5zXG4iCisiIC1SLCAtLXJiaW5kICAgICAgICAgICAgIG1vbnRlcmEgZXR0IHVuZGVydHLDpGQgb2NoIGFsbGEgZGVzcyB1bmRlcm1vbnRlcmluZ2FyIG7DpWdvbiBhbm5hbnN0YW5zXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc5NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1zaGFyZWQgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2Utc2xhdmUgICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcHJpdmF0ZSAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS11bmJpbmRhYmxlICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICBtYXJrZXJhIGV0dCB1bmRlcnRyw6RkIHNvbSBkZWxhdFxuIgorIiAtLW1ha2Utc2xhdmUgICAgICAgICAgICBtYXJrZXJhIGV0dCB1bmRlcnRyw6RkIHNvbSBzbGF2XG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmtlcmEgZXR0IHVuZGVydHLDpGQgc29tIHByaXZhdFxuIgorIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICBtYXJrZXJhIGV0dCB1bmRlcnRyw6RkIHNvbSBvYmluZGJhcnRcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6ODAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1yc2xhdmUgICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIG1hcmtlcmEgcmVrdXJzaXZ0IGV0dCBoZWx0IHVuZGVydHLDpGQgc29tIGRlbGF0XG4iCisiIC0tbWFrZS1yc2xhdmUgICAgICAgICAgIG1hcmtlcmEgcmVrdXJzaXZ0IGV0dCBoZWx0IHVuZGVydHLDpGQgc29tIHNsYXZcbiIKKyIgLS1tYWtlLXJwcml2YXRlICAgICAgICAgbWFya2VyYSByZWt1cnNpdnQgZXR0IGhlbHQgdW5kZXJ0csOkZCBzb20gcHJpdmF0XG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIG1hcmtlcmEgcmVrdXJzaXZ0IGV0dCBoZWx0IHVuZGVydHLDpGQgc29tIG9iaW5kYmFydFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4ODcgc3lzLXV0aWxzL3Vtb3VudC5jOjU0OAorbXNnaWQgImxpYm1vdW50IGNvbnRleHQgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgImFsbG9rZXJpbmcgYXYgbGlibW91bnQta29udGV4dCBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjk0NCBzeXMtdXRpbHMvdW1vdW50LmM6NjAxCittc2dpZCAiZmFpbGVkIHRvIHNldCBvcHRpb25zIHBhdHRlcm4iCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHN0w6RsbGEgaW4gZmxhZ2dtw7Zuc3RlciIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTA5NworbXNnaWQgInNvdXJjZSBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgImvDpGxsYSBhbmdpdmVuIG1lciDDpG4gZW4gZ8OlbmciCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLXFkXSAvcGF0aC90by9kaXJlY3RvcnlcbiIKKyIgJTEkcyAteCAvZGV2L2RldmljZVxuIgorbXNnc3RyICIiCisiICUxJHMgWy1xZF0gL3PDtmt2w6RnL3RpbGwva2F0YWxvZ1xuIgorIiAlMSRzIC14IC9kZXYvZW5oZXRcbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjIKK21zZ2lkICJDaGVjayB3aGV0aGVyIGEgZGlyZWN0b3J5IG9yIGZpbGUgaXMgYSBtb3VudHBvaW50LlxuIgorbXNnc3RyICJLb250cm9sbGVyYSBodXJ1dmlkYSBlbiBrYXRhbG9nIGVsbGVyIGVuIGZpbCDDpHIgZW4gbW9udGVyaW5nc3B1bmt0LlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEyNQorbXNnaWQgIiIKKyIgLXEsIC0tcXVpZXQgICAgICAgIHF1aWV0IG1vZGUgLSBkb24ndCBwcmludCBhbnl0aGluZ1xuIgorIiAtZCwgLS1mcy1kZXZubyAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBmaWxlc3lzdGVtXG4iCisiIC14LCAtLWRldm5vICAgICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGJsb2NrIGRldmljZVxuIgorbXNnc3RyICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICB0eXN0IGzDpGdlIC0gc2tyaXZlciBpbnRlIHV0IG7DpWdvdFxuIgorIiAtZCwgLS1mcy1kZXZubyAgICAgc2tyaXYgdXQgw7Z2cmU6dW5kcmUgZW5oZXRzbnVtbWVyIGbDtnIgZmlsc3lzdGVtZXRcbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIHNrcml2IHV0IMO2dnJlOnVuZHJlIGVuaGV0c251bW1lciBmw7ZyIGhlbGEgYmxvY2tlbmhldGVuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiJXMgw6RyIGludGUgZW4gbW9udGVyaW5nc3B1bmt0XG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyDDpHIgZW4gbW9udGVyaW5nc3B1bmt0XG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzIgc3lzLXV0aWxzL3NldHByaXYuYzo5MyBzeXMtdXRpbHMvdW5zaGFyZS5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD7igKZdXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzYKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggbmFtZXNwYWNlcyBvZiBvdGhlciBwcm9jZXNzZXMuXG4iCittc2dzdHIgIkvDtnIgZXR0IHByb2dyYW0gbWVkIG5hbW5yeW1kZXIgZnLDpW4gYW5kcmEgcHJvY2Vzc2VyLlxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjc5Cittc2dpZCAiIC10LCAtLXRhcmdldCA8cGlkPiAgICAgdGFyZ2V0IHByb2Nlc3MgdG8gZ2V0IG5hbWVzcGFjZXMgZnJvbVxuIgorbXNnc3RyICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICBhbnbDpG5kIHByb2Nlc3Mgc29tIG3DpWwgYXR0IGbDpSBuYW1ucnltZGVyIGZyw6VuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODAKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICBlbnRlciBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1tLCAtLW1vdW50Wz08ZmlsPl0gICAgdHLDpGQgaW4gaSBtb250ZXJpbmdzbmFtbnJ5bWRcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MQorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgIGVudGVyIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiIC11LCAtLXV0c1s9PGZpbD5dICAgICAgdHLDpGQgaW4gaSBVVFMtbmFtbnJ5bWQgKHbDpHJkbmFtbiBldGMpXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODIKK21zZ2lkICIgLWksIC0taXBjWz08ZmlsZT5dICAgICBlbnRlciBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtaSwgLS1pcGNbPTxmaWw+XSAgICAgIHRyw6RkIGluIGkgU3lzdGVtIFYtSVBDLW5hbW5yeW1kXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODMKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICBlbnRlciBuZXR3b3JrIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLW4sIC0tbmV0Wz08ZmlsPl0gICAgICB0csOkZCBpbiBpIG7DpHR2ZXJrc25hbW5yeW1kXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODQKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICBlbnRlciBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtcCwgLS1waWRbPTxmaWw+XSAgICAgIHRyw6RkIGluIGkgcGlkLW5hbW5yeW1kXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODUKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICBlbnRlciBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtQywgLS1jZ3JvdXBbPTxmaWw+XSAgIHRyw6RkIGluIGkgY2dydXBwbmFtbnJ5bWRcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NgorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgIGVudGVyIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtVSwgLS11c2VyWz08ZmlsPl0gICAgIHRyw6RkIGluIGkgYW52w6RuZGFybmFtbnJ5bWRcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NworbXNnaWQgIiAtUywgLS1zZXR1aWQgPHVpZD4gICAgIHNldCB1aWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgc3TDpGxsIGluIHVpZCBpIHRpbGx0csOkZGQgbmFtbnJ5bWRcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OAorbXNnaWQgIiAtRywgLS1zZXRnaWQgPGdpZD4gICAgIHNldCBnaWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1HLCAtLXNldGdpZCA8Z2lkPiAgICAgc3TDpGxsIGluIGdpZCBpIHRpbGx0csOkZGQgbmFtbnJ5bWRcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OQorbXNnaWQgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyBkbyBub3QgdG91Y2ggdWlkcyBvciBnaWRzXG4iCittc2dzdHIgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyByw7ZyIGludGUgdWlkcyBlbGxlciBnaWRzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTAKK21zZ2lkICIgLXIsIC0tcm9vdFs9PGRpcj5dICAgICBzZXQgdGhlIHJvb3QgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtciwgLS1yb290Wz08a2F0Pl0gICAgIHN0w6RsbCBpbiByb3RrYXRhbG9nZW5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MQorbXNnaWQgIiAtdywgLS13ZFs9PGRpcj5dICAgICAgIHNldCB0aGUgd29ya2luZyBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC13LCAtLXdkWz08a2F0Pl0gICAgICAgc3TDpGxsIGluIGFyYmV0c2thdGFsb2dlblxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkyCittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgZG8gbm90IGZvcmsgYmVmb3JlIGV4ZWMnaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgLUYsIC0tbm8tZm9yayAgICAgICAgICBncmVuYSBpbnRlIGlubmFuIGvDtnJuaW5nIGF2IDxwcm9ncmFtPlxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjk0Cittc2dpZCAiIC1aLCAtLWZvbGxvdy1jb250ZXh0ICAgc2V0IFNFTGludXggY29udGV4dCBhY2NvcmRpbmcgdG8gLS10YXJnZXQgUElEXG4iCittc2dzdHIgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgIHN0w6RsbCBpbiBTRUxpbnV4LWtvbnRleHQgZW5saWd0IC0tdGFyZ2V0IFBJRFxuIgorCisjIHNlYnJhczogUElEIQorIzogc3lzLXV0aWxzL25zZW50ZXIuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAibmVpdGhlciBmaWxlbmFtZSBub3IgdGFyZ2V0IHBpZCBzdXBwbGllZCBmb3IgJXMiCittc2dzdHIgInZhcmtlbiBmaWxuYW1uIGVsbGVyIG3DpWwtUElEIGFuZ2l2ZW4gZsO2ciAlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoyNzcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdWlkIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSB1aWQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MjgxCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGdpZCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgZ2lkIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMxNworbXNnaWQgIm5vIHRhcmdldCBQSUQgc3BlY2lmaWVkIGZvciAtLWZvbGxvdy1jb250ZXh0IgorbXNnc3RyICJpbmdlbiBtw6VsLVBJRCBhbmdpdmVuIGbDtnIgLS1mb2xsb3ctY29udGV4dCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCAlZCBTRUxpbnV4IGNvbnRleHQiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGjDpG10YSAlZCBTRUxpbnV4LWtvbnRleHQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzIyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgZXhlYyBjb250ZXh0IHRvICclcyciCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHN0w6RsbGEgaW4gZXhla3ZlcmluZ3NtaWxqw7YgdGlsbCDigJ0lc+KAnSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhc3NvY2lhdGUgdG8gbmFtZXNwYWNlICclcycgZmFpbGVkIgorbXNnc3RyICLDpXRlcmFzc29jaWVyaW5nIHRpbGwgbmFtbnJ5bWQg4oCdJXPigJ0gbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM5MAorbXNnaWQgImNhbm5vdCBvcGVuIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgImthbiBpbnRlIMO2cHBuYSBha3R1ZWxsIGFyYmV0c2thdGFsb2ciCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mzk3Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSByb290IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgIsOkbmRyaW5nIGF2IGthdGFsb2cgZWZ0ZXIgcm90ZmlsZGVza3JpcHRvciBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDAwCittc2dpZCAiY2hyb290IGZhaWxlZCIKK21zZ3N0ciAiY2hyb290IG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MTAKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHdvcmtpbmcgZGlyZWN0b3J5IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgIsOkbmRyaW5nIGF2IGthdGFsb2cgZWZ0ZXIgZmlsZGVza3JpcHRvciBmw7ZyIGFyYmV0c2thdGFsb2cgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQyMSBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxNSBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxOQorbXNnaWQgInNldGdyb3VwcyBmYWlsZWQiCittc2dzdHIgInNldGdyb3VwcyBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBuZXdfcm9vdCBwdXRfb2xkXG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gbnlfcm90IHNwYXJhX2dhbW1hbFxuIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjM3Cittc2dpZCAiQ2hhbmdlIHRoZSByb290IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIsOEbmRyYSByb3RmaWxzeXN0ZW1ldC5cbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QgZnJvbSBgJXMnIHRvIGAlcyciCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IMOkbmRyYSByb3QgZnLDpW4g4oCdJXPigJ0gdGlsbCDigJ0lc+KAnSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NQorbXNnaWQgImFkZHJlc3Mgc3BhY2UgbGltaXQiCittc2dzdHIgImFkcmVzc3J5bWRzYmVncsOkbnNuaW5nIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2Cittc2dpZCAibWF4IGNvcmUgZmlsZSBzaXplIgorbXNnc3RyICJzdMO2cnN0YSBzdG9ybGVrIGbDtnIgbWlubmVzZmlsIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAiQ1BVIHRpbWUiCittc2dzdHIgIkNQVS10aWQiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJzZWNvbmRzIgorbXNnc3RyICJzZWt1bmRlciIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OAorbXNnaWQgIm1heCBkYXRhIHNpemUiCittc2dzdHIgInN0w7Zyc3RhIGRhdGFzdG9ybGVrIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5Cittc2dpZCAibWF4IGZpbGUgc2l6ZSIKK21zZ3N0ciAibWF4aW1hbCBmaWxzdG9ybGVrIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCittc2dpZCAibWF4IG51bWJlciBvZiBmaWxlIGxvY2tzIGhlbGQiCittc2dzdHIgIm1heGltYWx0IGFudGFsIGjDpWxsbmEgZmlsbMOlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorbXNnaWQgImxvY2tzIgorbXNnc3RyICJsw6VzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCittc2dpZCAibWF4IGxvY2tlZC1pbi1tZW1vcnkgYWRkcmVzcyBzcGFjZSIKK21zZ3N0ciAic3TDtnJzdGEgYWRyZXNzcnltZCBzb20ga2FuIGzDpXNhcyBpIG1pbm5ldCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MgorbXNnaWQgIm1heCBieXRlcyBpbiBQT1NJWCBtcXVldWVzIgorbXNnc3RyICJow7Znc3RhIGFudGFsIGJ5dGUgaSBQT1NJWCBtZWRkZWxhbmRla8O2ZXIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODMKK21zZ2lkICJtYXggbmljZSBwcmlvIGFsbG93ZWQgdG8gcmFpc2UiCittc2dzdHIgImjDtmdzdGEgdGlsbMOldG5hIGjDtmpuaW5nIGF2IG5pY2UtcHJpb3JpdGV0IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0Cittc2dpZCAibWF4IG51bWJlciBvZiBvcGVuIGZpbGVzIgorbXNnc3RyICJtYXhpbWFsdCBhbnRhbCDDtnBwbmEgZmlsZXIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKK21zZ2lkICJmaWxlcyIKK21zZ3N0ciAiZmlsZXIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKK21zZ2lkICJtYXggbnVtYmVyIG9mIHByb2Nlc3NlcyIKK21zZ3N0ciAibWF4aW1hbHQgYW50YWwgcHJvY2Vzc2VyIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1Cittc2dpZCAicHJvY2Vzc2VzIgorbXNnc3RyICJwcm9jZXNzZXIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODYKK21zZ2lkICJtYXggcmVzaWRlbnQgc2V0IHNpemUiCittc2dzdHIgInN0w7Zyc3RhIHN0b3JsZWsgZsO2ciByZXNpZGVudHVwcHPDpHR0bmluZyIKKworIyBEZXR0YSDDpHIgc3lzdGVtYW5yb3AgKGdldHByaW9yaXR5KDIpKQorIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NworbXNnaWQgIm1heCByZWFsLXRpbWUgcHJpb3JpdHkiCittc2dzdHIgIm1heGltYWwgcmVhbHRpZHNwcmlvcml0ZXQiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJ0aW1lb3V0IGZvciByZWFsLXRpbWUgdGFza3MiCittc2dzdHIgInRpZHNncsOkbnMgZsO2ciByZWFsdGlkc3VwcGdpZnRlciIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgIm1pY3Jvc2VjcyIKK21zZ3N0ciAibWlrcm9zZWt1bmRlciIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorbXNnaWQgIm1heCBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzIgorbXNnc3RyICJtYXhpbWFsdCBhbnRhbCB2w6RudGFuZGUgc2lnbmFsZXIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJzaWduYWxzIgorbXNnc3RyICJzaWduYWxlciIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgIm1heCBzdGFjayBzaXplIgorbXNnc3RyICJzdMO2cnN0YSBzdGFja3N0b3JsZWsiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTIzCittc2dpZCAicmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAicmVzdXJzbmFtbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjQKK21zZ2lkICJyZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAicmVzdXJzYmVza3Jpdm5pbmciCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI1Cittc2dpZCAic29mdCBsaW1pdCIKK21zZ3N0ciAibWp1ayBncsOkbnMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI2Cittc2dpZCAiaGFyZCBsaW1pdCAoY2VpbGluZykiCittc2dzdHIgImjDpXJkIGdyw6RucyAodGFrKSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjcKK21zZ2lkICJ1bml0cyIKK21zZ3N0ciAiZW5oZXRlciIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXAgUElEXVxuIgorbXNnc3RyICIgJXMgW2ZsYWdnb3JdIFstcCBQSURdXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gQ09NTUFORFxuIgorbXNnc3RyICIgJXMgW2ZsYWdnb3JdIEtPTU1BTkRPXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY2Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlc291cmNlIGxpbWl0cyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIlZpc2EgZWxsZXIgw6RuZHJhIHJlc3Vyc2JlZ3LDpG5zbmluZ2FybmEgZsO2ciBlbiBwcm9jZXNzLlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmFsIE9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJBbGxtw6RubmEgZmxhZ2dvcjpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjkKK21zZ2lkICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG91dHB1dFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHByb2Nlc3MtSURcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0YT4gICBkZWZpbmllcmEgdmlsa2EgdXRtYXRuaW5nc2tvbHVtbmVyIHNvbSBza2EgYW52w6RuZGFzXG4iCisiICAgICAtLW5vaGVhZGluZ3MgICAgICAgc2tyaXYgaW50ZSB1dCBydWJyaWtlclxuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIGFudsOkbmQgcsOldHQgdXRkYXRhZm9ybWF0XG4iCisiICAgICAtLXZlcmJvc2UgICAgICAgICAgdXRmw7ZybGlnIHV0ZGF0YVxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgIHZpc2EgZGVubmEgaGrDpGxwdGV4dCBvY2ggYXZzbHV0YVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIHNrcml2IHV0IHZlcnNpb25zaW5mb3JtYXRpb24gb2NoIGF2c2x1dGFcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzcKK21zZ2lkICIiCisiXG4iCisiUmVzb3VyY2VzIE9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJSZXN1cnNmbGFnZ29yOlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OAorbXNnaWQgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgY29yZSBmaWxlcyBjcmVhdGVkXG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcydzIGRhdGEgc2VnbWVudFxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIG1heGltdW0gbmljZSBwcmlvcml0eSBhbGxvd2VkIHRvIHJhaXNlXG4iCisiIC1mLCAtLWZzaXplICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlIHByb2Nlc3NcbiIKKyIgLWksIC0tc2lncGVuZGluZyAgICAgICBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHNcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICBtYXhpbXVtIHNpemUgYSBwcm9jZXNzIG1heSBsb2NrIGludG8gbWVtb3J5XG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZVxuIgorIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIG9wZW4gZmlsZXNcbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBtYXhpbXVtIGJ5dGVzIGluIFBPU0lYIG1lc3NhZ2UgcXVldWVzXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eVxuIgorIiAtcywgLS1zdGFjayAgICAgICAgICAgIG1heGltdW0gc3RhY2sgc2l6ZVxuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIG1heGltdW0gYW1vdW50IG9mIENQVSB0aW1lIGluIHNlY29uZHNcbiIKKyIgLXUsIC0tbnByb2MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiB1c2VyIHByb2Nlc3Nlc1xuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIHNpemUgb2YgdmlydHVhbCBtZW1vcnlcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBmaWxlIGxvY2tzXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAgQ1BVIHRpbWUgaW4gbWljcm9zZWNvbmRzIGEgcHJvY2VzcyBzY2hlZHVsZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1bmRlciByZWFsLXRpbWUgc2NoZWR1bGluZ1xuIgorbXNnc3RyICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAgc3TDtnJzdGEgc3RvcmxlayBmw7ZyIHNrYXBhZGUgbWlubmVzZmlsZXJcbiIKKyIgLWQsIC0tZGF0YSAgICAgICAgICAgICBzdMO2cnN0YSBzdG9ybGVrIGbDtnIgZW4gcHJvY2VzcyBkYXRhc2VnbWVudFxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIGjDtmdzdCBuaWNlLXByaW9yaXRldCB0aWxsw6V0ZW4gZsO2ciBow7ZqbmluZ1xuIgorIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgIHN0w7Zyc3RhIHN0b3JsZWsgZsO2ciBmaWxlciBzb20gc2tyaXZzIGF2IHByb2Nlc3NlblxuIgorIiAtaSwgLS1zaWdwZW5kaW5nICAgICAgIGjDtmdzdGEgYW50YWxldCB2w6RudGFkZSBzaWduYWxlclxuIgorIiAtbCwgLS1tZW1sb2NrICAgICAgICAgIHN0w7Zyc3RhIHN0b3JsZWsgZW4gcHJvY2VzcyBmw6UgbG92IGF0dCBsw6VzYSBpIG1pbm5ldFxuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgIHN0w7Zyc3RhIHJlc2lkZW50YSBtw6RuZ2RzdG9ybGVrZW5cbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICBow7Znc3RhIGFudGFsZXQgw7ZwcG5hIGZpbGVyXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgc3TDtnJzdGEgYW50YWxldCBieXRlIGkgUE9TSVgtbWVkZGVsYW5kZWvDtmVyXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgaMO2Z3N0YSBwcmlvcml0ZXQgZsO2ciByZWFsdGlkc3NjaGVtYWzDpGdnbmluZ1xuIgorIiAtcywgLS1zdGFjayAgICAgICAgICAgIHN0w7Zyc3RhIHN0YWNrc3Rvcmxla1xuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIG1heGltYWwgbcOkbmdkIENQVS10aWQgaSBzZWt1bmRlclxuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIGjDtmdzdGEgYW50YWxldCBhbnbDpG5kYXJwcm9jZXNzZXJcbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICB2aXJ0dWVsbCBtaW5uZXNzdG9ybGVrXG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAgaMO2Z3N0YSBhbnRhbCBmaWxsw6VzXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAgQ1BVLXRpZCBpIG1pa3Jvc2VrdW5kZXIgc29tIGVuIHByb2Nlc3Mgc2NoZW1hbMOkZ2dzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXIgcmVhbHRpZHNzY2hlbWFsw6RnZ25pbmdcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoyNDMgc3lzLXV0aWxzL3BybGltaXQuYzoyNDkgc3lzLXV0aWxzL3BybGltaXQuYzozNjYKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzcxCittc2dpZCAidW5saW1pdGVkIgorbXNnc3RyICJvYmVncsOkbnNhZCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBvbGQgJXMgbGltaXQiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGjDpG10YSBnYW1tYWwgJXMtYmVncsOkbnNuaW5nIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM1NgorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgc29mdCBsaW1pdCAlcyBjYW5ub3QgZXhjZWVkIHRoZSBoYXJkIGxpbWl0IgorbXNnc3RyICJkZW4gbWp1a2EgZ3LDpG5zZW4gJXMga2FuIGludGUgw7Z2ZXJzdGlnYSBkZW4gaMOlcmRhIGdyw6Ruc2VuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJOZXcgJXMgbGltaXQgZm9yIHBpZCAlZDogIgorbXNnc3RyICJOeSAlcy1iZWdyw6Ruc25pbmcgZsO2ciBwaWQgJWQ6ICIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHN0w6RsbGEgaW4gcmVzdXJzYmVncsOkbnNuaW5nIGbDtnIgJXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBow6RtdGEgcmVzdXJzYmVncsOkbnNuaW5nIGbDtnIgJXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBsaW1pdCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgJXMtYmVncsOkbnNuaW5nIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NQorbXNnaWQgIm9wdGlvbiAtLXBpZCBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAiZmxhZ2dhbiAtLXBpZCBrYW4gZW5kYXN0IGFuZ2VzIGVuIGfDpW5nIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjYxNgorbXNnaWQgIm9wdGlvbnMgLS1waWQgYW5kIENPTU1BTkQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiZW5kYXN0IGVuIGF2IGZsYWdnb3JuYSAtLXBpZCBvY2ggS09NTUFORE8ga2FuIGFudsOkbmRhcyDDpXQgZ8OlbmdlbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA3Cittc2dpZCAiRGlzcGxheSBrZXJuZWwgcHJvZmlsaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJWaXNhIGluZm9ybWF0aW9uIG9tIGvDpHJucHJvZmlsZXJpbmcuXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICIgLW0sIC0tbWFwZmlsZSA8bWFwZmlsZT4gICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIKK21zZ3N0ciAiIC1tLCAtLW1hcGZpbGUgPGthcnRmaWw+ICAgKHN0YW5kYXJkdsOkcmRlbjog4oCdJXPigJ0gb2NoXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJXNcIilcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiVzXCIpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICIgLXAsIC0tcHJvZmlsZSA8cHJvLWZpbGU+ICAoZGVmYXVsdDogIFwiJXNcIilcbiIKK21zZ3N0ciAiIC1wLCAtLXByb2ZpbGUgPHByb2ZpbD4gICAgKHN0YW5kYXJkOiAg4oCdJXPigJ0pXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNgorbXNnaWQgIiAtTSwgLS1tdWx0aXBsaWVyIDxtdWx0PiAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iCittc2dzdHIgIiAtTSwgLS1tdWx0aXBsaWVyIDxtdWx0PiAgIHN0w6RsbCBpbiBwcm9maWxlcmluZ3NtdWx0aXBsaWthdG9ybiB0aWxsIDxtdWx0PlxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTcKK21zZ2lkICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIKK21zZ3N0ciAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgc2tyaXYgZW5kYXN0IHV0IGluZm9ybWF0aW9uIG9tIHNhbXBsaW5nc3N0ZWdldFxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTgKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBwcmludCB2ZXJib3NlIGRhdGFcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgc2tyaXYgdXQgdXRmw7ZybGlnIGRhdGFcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICBza3JpdiB1dCBhbGxhIHN5bWJvbGVyLCDDpHZlbiBvbSBhbnRhbCDDpHIgMFxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjAKK21zZ2lkICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCittc2dzdHIgIiAtYiwgLS1oaXN0YmluICAgICAgICAgICAgIHNrcml2IHV0IGFudGFsIHBlciBpbmRpdmlkdWVsbCBoaXN0b2dyYW1rbGFzc1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjEKK21zZ2lkICIgLXMsIC0tY291bnRlcnMgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGNvdW50ZXJzIHdpdGhpbiBmdW5jdGlvbnNcbiIKK21zZ3N0ciAiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAgc2tyaXYgdXQgaW5kaXZpZHVlbGxhIHLDpGtuYXJlIGlub20gZnVua3Rpb25lclxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjIKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIMOldGVyc3TDpGxsIGFsbGEgcsOka25hcmUgKGVuZGFzdCByb290KVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjMKK21zZ2lkICIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIKK21zZ3N0ciAiIC1uLCAtLW5vLWF1dG8gICAgICAgICAgICAgaW5ha3RpdmVyYSBhdXRvbWF0aXNrIGlkZW50aWZpZXJpbmcgYXYgYnl0ZW9yZG5pbmdcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjQwCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHdyaXRpbmcgJXMiCittc2dzdHIgImZlbCB2aWQgc2tyaXZuaW5nIGF2ICVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyNzEKK21zZ2lkICJBc3N1bWluZyByZXZlcnNlZCBieXRlIG9yZGVyLiBVc2UgLW4gdG8gZm9yY2UgbmF0aXZlIGJ5dGUgb3JkZXIuIgorbXNnc3RyICJBbnRhciBvbXbDpG5kIGJ5dGVvcmRuaW5nLiBBbnbDpG5kIC1uIGbDtnIgYXR0IHR2aW5nYSBpbmJ5Z2dkIGJ5dGVvcmRuaW5nLiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNhbXBsaW5nX3N0ZXA6ICV1XG4iCittc2dzdHIgIlNhbXBsaW5nc3N0ZWc6ICV1XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMwMiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMoJWkpOiB3cm9uZyBtYXAgbGluZSIKK21zZ3N0ciAiJXMoJWkpOiBmZWxha3RpZyBrYXJ0cmFkIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBcIl9zdGV4dFwiIGluICVzIgorbXNnc3RyICJrYW4gaW50ZSBoaXR0YSDigJ1fc3RleHTigJ0gaSAlcyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzQ2Cittc2dpZCAicHJvZmlsZSBhZGRyZXNzIG91dCBvZiByYW5nZS4gV3JvbmcgbWFwIGZpbGU/IgorbXNnc3RyICJwcm9maWxhZHJlc3Mgw6RyIHV0YW5mw7ZyIGludGVydmFsbC4gRmVsIGthcnRmaWw/IgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzo0MDQKK21zZ2lkICJ0b3RhbCIKK21zZ3N0ciAidG90YWx0IgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTIKK21zZ2lkICJwcm9jZXNzIElEIgorbXNnc3RyICJwcm9jZXNzLUlEIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTMKK21zZ2lkICJwcm9jZXNzIGdyb3VwIElEIgorbXNnc3RyICJwcm9jZXNzZ3J1cHAtSUQiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+IFstcHwtLXBpZF0gPHBpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC1nfC0tcGdycCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC11fC0tdXNlciA8dXNlcj4uLi5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstbl0gPHByaW9yaXRldD4gWy1wfC0tcGlkXSA8cGlkPuKAplxuIgorIiAlMSRzIFstbl0gPHByaW9yaXRldD4gIC1nfC0tcGdycCA8cGdpZD7igKZcbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0ZXQ+ICAtdXwtLXVzZXIgPGFudsOkbmRhcmU+4oCmXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2NworbXNnaWQgIkFsdGVyIHRoZSBwcmlvcml0eSBvZiBydW5uaW5nIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiw4RuZHJhIHByaW9yaXRldGVuIGbDtnIga8O2cmFuZGUgcHJvY2Vzc2VyLlxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzAKK21zZ2lkICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorbXNnc3RyICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBhbmdlIG5pY2Utw7ZrbmluZ3N2w6RyZGV0XG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MQorbXNnaWQgIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICB0b2xrYSBhcmd1bWVudCBzb20gcHJvY2Vzcy1JRCAoc3RhbmRhcmQpXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MgorbXNnaWQgIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIGdyb3VwIElEXG4iCittc2dzdHIgIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIHRvbGthIGFyZ3VtZW50IHNvbSBwcm9jZXNzZ3J1cHBzLUlEXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MworbXNnaWQgIiAtdSwgLS11c2VyIDxuYW1lPnw8aWQ+IGludGVycHJldCBhcmd1bWVudCBhcyB1c2VybmFtZSBvciB1c2VyIElEXG4iCittc2dzdHIgIiAtdSwgLS11c2VyIDxuYW1uPnw8aWQ+IHRvbGthIGFyZ3VtZW50IHNvbSBhbnbDpG5kYXJuYW1uIGVsbGVyIGFudsOkbmRhci1JRFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgaMOkbXRhIHByaW9yaXRldCBmw7ZyICVkICglcykiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo5OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBzdMOkbGxhIGluIHByaW9yaXRldCBmw7ZyICVkICglcykiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgKCVzKSBvbGQgcHJpb3JpdHkgJWQsIG5ldyBwcmlvcml0eSAlZFxuIgorbXNnc3RyICIlZCAoJXMpIGdhbW1hbCBwcmlvcml0ZXQgJWQsIG55IHByaW9yaXRldCAlZFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTc2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdXNlciAlcyIKK21zZ3N0ciAib2vDpG5kIGFudsOkbmRhcmUgJXMiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgb25lIG9mIHRoZSBhYm92ZQorIy4gKiB0aHJlZSBJRCBuYW1lcy4gUmVhZDogImJhZCB2YWx1ZSBmb3IgJXM6ICVzIgorIzogc3lzLXV0aWxzL3JlbmljZS5jOjE4NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgJXMgdmFsdWU6ICVzIgorbXNnc3RyICJmZWxha3RpZ3QgJXMtdsOkcmRlOiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo5OAorbXNnaWQgIkVudGVyIGEgc3lzdGVtIHNsZWVwIHN0YXRlIHVudGlsIGEgc3BlY2lmaWVkIHdha2V1cCB0aW1lLlxuIgorbXNnc3RyICJHw6UgaW4gaSBldHQgc292bMOkZ2UgZsO2ciBzeXN0ZW1ldCBmcmFtIHRpbGwgZW4gYW5naXZlbiB1cHB2YWtuaW5nc3RpZC5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDEKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICAgICAgICAgIHJlYWRzIHRoZSBjbG9jayBtb2RlIGZyb20gYWRqdXN0IGZpbGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgbMOkc2VyIGtsb2NrbMOkZ2V0IGZyw6VuIGp1c3RlcmluZ3NmaWwgKHN0YW5kYXJkKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWRqZmlsZSA8ZmlsPiAgICAgIGFuZ2VyIHPDtmt2w6RnZW4gdGlsbCBqdXN0ZXJpbmdzZmlsZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhbmRhcmQgw6RyICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA1Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICBkYXRlIHRpbWUgb2YgdGltZXN0YW1wIHRvIHdha2VcbiIKK21zZ3N0ciAiICAgICAtLWRhdGUgPHRpZHNzdMOkbXBlbD4gZGF0dW0gb2NoIHRpZCBmw7ZyIHVwcHZha25pbmdzdGlkc3N0w6RtcGVsXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA2Cittc2dpZCAiIC1kLCAtLWRldmljZSA8ZGV2aWNlPiAgICBzZWxlY3QgcnRjIGRldmljZSAocnRjMHxydGMxfC4uLilcbiIKK21zZ3N0ciAiIC1kLCAtLWRldmljZSA8ZW5oZXQ+ICAgICB2w6RsaiBydGMtZW5oZXQgKHJ0YzB8cnRjMXzigKYpXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA3Cittc2dpZCAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBkb2VzIGV2ZXJ5dGhpbmcsIGJ1dCBzdXNwZW5kXG4iCittc2dzdHIgIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgZ8O2ciBhbGx0aW5nLCBmw7ZydXRvbSBhdHQgZ8OlIGkgdmlsb2zDpGdlXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA4Cittc2dpZCAiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICBSVEMgdXNlcyBsb2NhbCB0aW1lem9uZVxuIgorbXNnc3RyICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyBhbnbDpG5kZXIgbG9rYWwgdGlkc3pvblxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOQorbXNnaWQgIiAgICAgLS1saXN0LW1vZGVzICAgICAgICAgbGlzdCBhdmFpbGFibGUgbW9kZXNcbiIKK21zZ3N0ciAiICAgICAtLWxpc3QtbW9kZXMgICAgICAgICBsaXN0YSB0aWxsZ8OkbmdsaWdhIGzDpGdlblxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMAorbXNnaWQgIiAtbSwgLS1tb2RlIDxtb2RlPiAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwIG1vZGVcbiIKK21zZ3N0ciAiIC1tLCAtLW1vZGUgPGzDpGdlPiAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwLWzDpGdlXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTExCittc2dpZCAiIC1zLCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iCittc2dzdHIgIiAtcywgLS1zZWNvbmRzIDxzZWt1bmRlcj4gc2VrdW5kZXIgdGlsbHMgdmlsYVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMgorbXNnaWQgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCittc2dzdHIgIiAtdCwgLS10aW1lIDx0aWRfdD4gICAgICAgdGlkIGF0dCB2YWtuYSB1cHBcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTMKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2VzIFVUQ1xuIgorbXNnc3RyICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyBhbnbDpG5kZXIgVVRDXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdXRmw7ZybGlnYSBtZWRkZWxhbmRlblxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE2NworbXNnaWQgInJlYWQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICJsw6RzbmluZyBhdiBydGMtdGlkIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNzMKK21zZ2lkICJyZWFkIHN5c3RlbSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAibMOkc25pbmcgYXYgc3lzdGVtdGlkIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxODkKK21zZ2lkICJjb252ZXJ0IHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAia29udmVydGVyaW5nIGF2IHJ0Yy10aWQgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjIzNworbXNnaWQgInNldCBydGMgd2FrZSBhbGFybSBmYWlsZWQiCittc2dzdHIgImluc3TDpGxsbmluZyBhdiBydGMtdXBwdmFrbmluZ3NhbGFybSBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzA3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdGhpcmQgbGluZSBpbjogJXM6ICVzIgorbXNnc3RyICJvdsOkbnRhZCB0cmVkamUgcmFkIGk6ICVzOiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjAgc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjQKK21zZ2lkICJyZWFkIHJ0YyBhbGFybSBmYWlsZWQiCittc2dzdHIgImzDpHNuaW5nIGF2IHJ0Yy1hbGFybSBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvZmZcbiIKK21zZ3N0ciAiYWxhcm06IGF2XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzM4Cittc2dpZCAiY29udmVydCB0aW1lIGZhaWxlZCIKK21zZ3N0ciAia29udmVydGVyaW5nIGF2IHJ0Yy10aWQgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb24gICVzIgorbXNnc3RyICJhbGFybTogcMOlICAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQ6ICVzIgorbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhOiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHN1c3BlbmQgc3RhdGUgJyVzJyIKK21zZ3N0ciAib2vDpG50IHZpbG9sw6RnZXN0aWxsc3TDpW5kIOKAnSVz4oCdIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ3NQorbXNnaWQgImludmFsaWQgc2Vjb25kcyBhcmd1bWVudCIKK21zZ3N0ciAib2dpbHRpZ3Qgc2VrdW5kYXJndW1lbnQiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDc5Cittc2dpZCAiaW52YWxpZCB0aW1lIGFyZ3VtZW50IgorbXNnc3RyICJvZ2lsdGlndCB0aWRzYXJndW1lbnQiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhc3N1bWluZyBSVEMgdXNlcyBVVEMgLi4uXG4iCittc2dzdHIgIiVzOiBhbnRhciBhdHQgUlRDIGFudsOkbmRlciBVVEMg4oCmXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTExCittc2dpZCAiVXNpbmcgVVRDIHRpbWUuXG4iCittc2dzdHIgIkFudsOkbmRlciBVVEMtdGlkLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxMgorbXNnaWQgIlVzaW5nIGxvY2FsIHRpbWUuXG4iCittc2dzdHIgIkFudsOkbmRlciBsb2thbHRpZC5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTUKK21zZ2lkICJtdXN0IHByb3ZpZGUgd2FrZSB0aW1lIChzZWUgLS1zZWNvbmRzLCAtLXRpbWUgYW5kIC0tZGF0ZSBvcHRpb25zKSIKK21zZ3N0ciAibcOlc3RlIHRpbGxoYW5kYWjDpWxsYSB1cHB2YWtuaW5nc3RpZCAoc2UgLS1zZWNvbmRzLCAtLXRpbWUgb2NoIC0tZGF0ZS1mbGFnZ29ybmEpIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgZW5hYmxlZCBmb3Igd2FrZXVwIGV2ZW50cyIKK21zZ3N0ciAiJXMgw6RyIGludGUgYWt0aXZlcmFkIGbDtnIgdXBwdmFrbmluZ3Now6RuZGVsc2VyIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyOAorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybSAlbGQsIHN5c190aW1lICVsZCwgcnRjX3RpbWUgJWxkLCBzZWNvbmRzICV1XG4iCittc2dzdHIgImFsYXJtICVsZCwgc3lzX3RpbWUgJWxkLCBydGNfdGltZSAlbGQsIHNla3VuZGVyICV1XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTM1CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUgZG9lc24ndCBnbyBiYWNrd2FyZCB0byAlcyIKK21zZ3N0ciAidGlkZW4gZ8OlciBpbnRlIGJha2zDpG5nZXMgdGlsbCAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiJXM6IHVwcHZha25pbmcgdmlhICVzIHZpZCAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCBmcm9tIFwiJXNcIiB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiJXM6IHVwcHZha25pbmcgZnLDpW4g4oCdJXPigJ0gdmlhICVzIHZpZCAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBubzsgbGVhdmluZ1xuIgorbXNnc3RyICJ2aWxvbMOkZ2U6IG5lajsgbMOkbW5hclxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9mZjsgZXhlY3V0aW5nICVzXG4iCittc2dzdHIgInZpbG9sw6RnZTogYXY7IGV4ZWt2ZXJhciAlc1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9uOyByZWFkaW5nIHJ0Y1xuIgorbXNnc3RyICJ2aWxvbMOkZ2U6IHDDpTsgbMOkc2VyIHJ0Y1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU5MgorbXNnaWQgInJ0YyByZWFkIGZhaWxlZCIKK21zZ3N0ciAibMOkc25pbmcgYXYgcnRjIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBkaXNhYmxlOyBkaXNhYmxpbmcgYWxhcm1cbiIKK21zZ3N0ciAidmlsb2zDpGdlOiBpbmFrdGl2ZXJhOyBpbmFrdGl2ZXJhciBhbGFybVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIKK21zZ3N0ciAidmlsb2zDpGdlOiB2aXNhOyBza3JpdiB1dCBhbGFybWluZm9cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiAlczsgc3VzcGVuZGluZyBzeXN0ZW1cbiIKK21zZ3N0ciAidmlsb2zDpGdlOiAlczsgZsO2cnPDpHR0ZXIgc3lzdGVtIGkgdmlsb2zDpGdlXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjI5Cittc2dpZCAiZGlzYWJsZSBydGMgYWxhcm0gaW50ZXJydXB0IGZhaWxlZCIKK21zZ3N0ciAiaW5ha3RpdmVyaW5nIGF2IHJ0Yy1hbGFybWF2YnJvdHQgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlN3aXRjaGluZyBvbiAlcy5cbiIKK21zZ3N0ciAiU2zDpXIgcMOlICVzLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8YXJjaD4gW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgPGFyaz4gW2ZsYWdnb3JdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD7igKZdXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gWzxwcm9ncmFtPiBbPGFyZ3VtZW50PuKApl1dXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTYKK21zZ2lkICJDaGFuZ2UgdGhlIHJlcG9ydGVkIGFyY2hpdGVjdHVyZSBhbmQgc2V0IHBlcnNvbmFsaXR5IGZsYWdzLlxuIgorbXNnc3RyICLDhG5kcmEgcmFwcG9ydGVyYWQgYXJraXRla3R1ciBvY2ggc3TDpGxsIGluIHBlcnNvbmxpZ2hldHNmbGFnZ29yLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk5Cittc2dpZCAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB0dXJucyBvbiBBRERSX0xJTUlUXzMyQklUXG4iCittc2dzdHIgIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgc2zDpXIgcMOlIEFERFJfTElNSVRfMzJCSVRcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDAKK21zZ2lkICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIG1ha2VzIGZ1bmN0aW9uIHBvaW50ZXJzIHBvaW50IHRvIGRlc2NyaXB0b3JzXG4iCittc2dzdHIgIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAgZsOlciBmdW5rdGlvbnNwZWthcmUgYXR0IHBla2EgcMOlIGRlc2tyaXB0b3JlclxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMQorbXNnaWQgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgdHVybnMgb24gU0hPUlRfSU5PREVcbiIKK21zZ3N0ciAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICBzbMOlciBww6UgU0hPUlRfSU5PREVcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDIKK21zZ2lkICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKK21zZ3N0ciAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCDDpG5kcmFyIHPDpHR0ZXQgcMOlIHZpbGtldCB2aXJ0dWVsbHQgbWlubmUgYWxsb2tlcmFzXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAzCittc2dpZCAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBkaXNhYmxlcyByYW5kb21pemF0aW9uIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2VcbiIKK21zZ3N0ciAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBpbmFrdGl2ZXJhciBzbHVtcG3DpHNzaWdoZXQgaSBkZW4gdmlydHVlbGxhIGFkcmVzc3J5bWRlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNAorbXNnaWQgIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgdHVybnMgb24gV0hPTEVfU0VDT05EU1xuIgorbXNnc3RyICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHNsw6VyIHDDpSBXSE9MRV9TRUNPTkRTXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA1Cittc2dpZCAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0dXJucyBvbiBTVElDS1lfVElNRU9VVFNcbiIKK21zZ3N0ciAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICBzbMOlciBww6UgU1RJQ0tZX1RJTUVPVVRTXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA2Cittc2dpZCAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICB0dXJucyBvbiBSRUFEX0lNUExJRVNfRVhFQ1xuIgorbXNnc3RyICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHNsw6VyIHDDpSBSRUFEX0lNUExJRVNfRVhFQ1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNworbXNnaWQgIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgdHVybnMgb24gTU1BUF9QQUdFX1pFUk9cbiIKK21zZ3N0ciAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICBzbMOlciBww6UgTU1BUF9QQUdFX1pFUk9cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDgKK21zZ2lkICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCittc2dzdHIgIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgYmVncsOkbnNhciBkZW4gYW52w6RuZGEgYWRyZXNzcnltZGVuIHRpbGwgbWF4aW1hbHQgMyBHQlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOQorbXNnaWQgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKK21zZ3N0ciAiICAgICAtLTRnYiAgICAgICAgICAgICAgICBob3BwYXMgw7Z2ZXIgKGVuZGFzdCBmw7ZyIGJha8OldGtvbXBhdGliaWxpdGV0KVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMAorbXNnaWQgIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgdHVybnMgb24gVU5BTUUyNlxuIgorbXNnc3RyICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHNsw6VyIHDDpSBVTkFNRTI2XG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTExCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBzYXkgd2hhdCBvcHRpb25zIGFyZSBiZWluZyBzd2l0Y2hlZCBvblxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGJlcsOkdHRhIHZpbGthIGZsYWdnb3Igc29tIHNsw6VzIHDDpVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExNAorbXNnaWQgIiAgICAgLS1saXN0ICAgICAgICAgICAgICAgbGlzdCBzZXR0YWJsZSBhcmNoaXRlY3R1cmVzLCBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3RhIGluc3TDpGxsbmluZ3NiYXJhIGFya2l0ZWt0dXJlciBvY2ggYXZzbHV0YVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXNcbiIKKyJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorbXNnc3RyICIiCisiJXNcbiIKKyJQcm92YSBtZWQg4oCdJXMgLS1oZWxw4oCdIGbDtnIgbWVyIGluZm9ybWF0aW9uLiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKK21zZ3N0ciAiUHJvdmEgbWVkIOKAnSVzIC0taGVscOKAnSBmw7ZyIG1lciBpbmZvcm1hdGlvbi4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBVbnJlY29nbml6ZWQgYXJjaGl0ZWN0dXJlIgorbXNnc3RyICIlczogQXJraXRla3R1cmVuIMOkciBva8OkbmQiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIktlcm5lbCBjYW5ub3Qgc2V0IGFyY2hpdGVjdHVyZSB0byAlcyIKK21zZ3N0ciAiS8Okcm5hIGthbiBpbnRlIHN0w6RsbGEgaW4gYXJraXRla3R1ciBww6UgJXMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzA1Cittc2dpZCAiTm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIkludGUgdGlsbHLDpGNrbGlndCBtw6VuZ2EgYXJndW1lbnQiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzIyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIk1pc3NseWNrYWRlcyBtZWQgYXR0IHN0w6RsbGEgaW4gcGVyc29ubGlnaGV0IHRpbGwgJXMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc5Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnLS1saXN0JyIKK21zZ3N0ciAib2vDpG5kIGZsYWdnYSDigJ0tLWxpc3TigJ0iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzg3Cittc2dpZCAibm8gYXJjaGl0ZWN0dXJlIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAiaW5nZXQgYXJraXRla3R1cmFyZ3VtZW50IGFuZ2l2ZXQiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHN0w6RsbGEgaW4gcGVyc29ubGlnaGV0IHRpbGwgJXMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGUgY29tbWFuZCBgJXMnLlxuIgorbXNnc3RyICJFeGVrdmVyYSBrb21tYW5kbyDigJ0lc+KAnS5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NworbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBkaWZmZXJlbnQgcHJpdmlsZWdlIHNldHRpbmdzLlxuIgorbXNnc3RyICJLw7ZyIGV0dCBwcm9ncmFtIG1lZCBhbmRyYSByw6R0dGlnaGV0c2luc3TDpGxsbmluZ2FyLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMAorbXNnaWQgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgc2hvdyBjdXJyZW50IHN0YXRlIChhbmQgZG8gbm90IGV4ZWMgYW55dGhpbmcpXG4iCittc2dzdHIgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgdmlzYSBha3R1ZWxsdCB0aWxsc3TDpW5kIChvY2gga8O2ciBpbnRlIG7DpWdvdClcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDEKK21zZ2lkICIgLS1ubnAsIC0tbm8tbmV3LXByaXZzICAgIGRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzXG4iCittc2dzdHIgIiAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAgZsO2cmJqdWQgYmV2aWxqYW5kZSBhdiBueWEgcsOkdHRpZ2hldGVyXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTAyCittc2dpZCAiIC0taW5oLWNhcHMgPGNhcHMsLi4uPiAgICBzZXQgaW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiAtLWluaC1jYXBzIDxmw7ZybSzigKY+ICAgICAgc3TDpGxsIGluIGbDtnJtw6Vnb3Igc29tIGthbiDDpHJ2YXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDMKK21zZ2lkICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgIHNldCBjYXBhYmlsaXR5IGJvdW5kaW5nIHNldFxuIgorbXNnc3RyICIgLS1ib3VuZGluZy1zZXQgPGbDtnJtPiAgICBzdMOkbGwgaW4gYmVncsOkbnNuaW5nc3VwcHPDpHR0bmluZyBmw7ZyIGbDtnJtw6Vnb3JcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDQKK21zZ2lkICIgLS1ydWlkIDx1aWQ+ICAgICAgICAgICAgIHNldCByZWFsIHVpZFxuIgorbXNnc3RyICIgLS1ydWlkIDx1aWQ+ICAgICAgICAgICAgIHN0w6RsbCBpbiB2ZXJrbGlndCB1aWRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDUKK21zZ2lkICIgLS1ldWlkIDx1aWQ+ICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiAtLWV1aWQgPHVpZD4gICAgICAgICAgICAgc3TDpGxsIGluIGVmZmVrdGl2dCB1aWRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDYKK21zZ2lkICIgLS1yZ2lkIDxnaWQ+ICAgICAgICAgICAgIHNldCByZWFsIGdpZFxuIgorbXNnc3RyICIgLS1yZ2lkIDxnaWQ+ICAgICAgICAgICAgIHN0w6RsbCBpbiB2ZXJrbGlndCBnaWRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDcKK21zZ2lkICIgLS1lZ2lkIDxnaWQ+ICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiAtLWVnaWQgPGdpZD4gICAgICAgICAgICAgc3TDpGxsIGluIGVmZmVrdGl2dCBnaWRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDgKK21zZ2lkICIgLS1yZXVpZCA8dWlkPiAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiAtLXJldWlkIDx1aWQ+ICAgICAgICAgICAgc3TDpGxsIGluIHZlcmtsaWd0IG9jaCBlZmZla3RpdnQgdWlkXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA5Cittc2dpZCAiIC0tcmVnaWQgPGdpZD4gICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIgLS1yZWdpZCA8Z2lkPiAgICAgICAgICAgIHN0w6RsbCBpbiB2ZXJrbGlndCBvY2ggZWZmZWt0aXZ0IGdpZFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMAorbXNnaWQgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgY2xlYXIgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICB0w7ZtIHV0IHRpbGzDpGdnc2dydXBwZXJcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTEKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICBiZWjDpWxsIHRpbGzDpGdnc2dydXBwZXJcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTIKK21zZ2lkICIgLS1ncm91cHMgPGdyb3VwLC4uLj4gICAgIHNldCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLS1ncm91cHMgPGdydXBwLOKApj4gICAgICAgc3TDpGxsIGluIHRpbGzDpGdnc2dydXBwZXJcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTMKK21zZ2lkICIgLS1zZWN1cmViaXRzIDxiaXRzPiAgICAgIHNldCBzZWN1cmViaXRzXG4iCittc2dzdHIgIiAtLXNlY3VyZWJpdHMgPGJpdGFyPiAgICAgc3TDpGxsIGluIHPDpGtyYSBiaXRhclxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNAorbXNnaWQgIiAtLXNlbGludXgtbGFiZWwgPGxhYmVsPiAgc2V0IFNFTGludXggbGFiZWxcbiIKK21zZ3N0ciAiIC0tc2VsaW51eC1sYWJlbCA8ZXRpa2V0dD4gc3TDpGxsIGluIFNFTGludXgtZXRpa2V0dFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNQorbXNnaWQgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgc2V0IEFwcEFybW9yIHByb2ZpbGVcbiIKK21zZ3N0ciAiIC0tYXBwYXJtb3ItcHJvZmlsZSA8cHI+ICBzdMOkbGwgaW4gQXBwQXJtb3ItcHJvZmlsXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIxCittc2dpZCAiIFRoaXMgdG9vbCBjYW4gYmUgZGFuZ2Vyb3VzLiAgUmVhZCB0aGUgbWFucGFnZSwgYW5kIGJlIGNhcmVmdWwuXG4iCittc2dzdHIgIiBEZXR0YSB2ZXJrdHlnIGthbiB2YXJhIGZhcmxpZ3QuIEzDpHMgbWFudWFsc2lkYSBvY2ggdmFyIGbDtnJzaWt0aWcuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTkzIHN5cy11dGlscy9zZXRwcml2LmM6NDY3Cittc2dpZCAiZ2V0dGluZyBwcm9jZXNzIHNlY3VyZSBiaXRzIGZhaWxlZCIKK21zZ3N0ciAiYXR0IGjDpG10YSBwcm9jZXNzZW5zIHPDpGtyYSBiaXRhciBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3VyZWJpdHM6ICIKK21zZ3N0ciAiU8Oka3JhIGJpdGFyOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIltub25lXVxuIgorbXNnc3RyICJbaW5nZW5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbG9uZyIKK21zZ3N0ciAiJXM6IGbDtnIgbMOlbmd0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwczogIgorbXNnc3RyICJUaWxsw6RnZ3NncnVwcGVyOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjczIHN5cy11dGlscy9zZXRwcml2LmM6MzIxIHN5cy11dGlscy9zZXRwcml2LmM6MzI2CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzMiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV0iCittc2dzdHIgIltpbmdlbl0iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgInVpZDogJXVcbiIKK21zZ3N0ciAidWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICJldWlkOiAldVxuIgorbXNnc3RyICJldWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJzdWlkOiAldVxuIgorbXNnc3RyICJzdWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5OSBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5MQorbXNnaWQgImdldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgImdldHJlc3VpZCBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzA4IHN5cy11dGlscy9zZXRwcml2LmM6NDA2Cittc2dpZCAiZ2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAiZ2V0cmVzZ2lkIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRWZmZWN0aXZlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICJFZmZla3RpdmEgZsO2cm3DpWdvcjogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyNAorIywgYy1mb3JtYXQKK21zZ2lkICJQZXJtaXR0ZWQgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIlRpbGzDpXRuYSBmw7ZybcOlZ29yOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkluaGVyaXRhYmxlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICJGw7ZybcOlZ29yIHNvbSBrYW4gw6RydmFzOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzM1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhcGFiaWxpdHkgYm91bmRpbmcgc2V0OiAiCittc2dzdHIgIkbDtnJtw6VnZWJlZ3LDpG5zbmluZ2FyIGluc3TDpGxsZGE6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDMKK21zZ2lkICJTRUxpbnV4IGxhYmVsIgorbXNnc3RyICJTRUxpbnV4LWV0aWtldHQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQ2Cittc2dpZCAiQXBwQXJtb3IgcHJvZmlsZSIKK21zZ3N0ciAiQXBwQXJtb3ItcHJvZmlsIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYXAgJWQ6IGxpYmNhcC1uZyBpcyBicm9rZW4iCittc2dzdHIgImNhcCAlZDogbGliY2FwLW5nIMOkciB0cmFzaWciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzgyCittc2dpZCAiSW52YWxpZCBzdXBwbGVtZW50YXJ5IGdyb3VwIGlkIgorbXNnc3RyICJPZ2lsdGlndCBJRCBmw7ZyIHRpbGzDpGdnc2dydXBwIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5OQorbXNnaWQgInNldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgInNldHJlc3VpZCBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDE0Cittc2dpZCAic2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0cmVzZ2lkIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MzUKK21zZ2lkICJiYWQgY2FwYWJpbGl0eSBzdHJpbmciCittc2dzdHIgImZlbGFrdGlnIGbDtnJtw6VnZXN0csOkbmciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDQzCittc2dpZCAibGliY2FwLW5nIGlzIHRvbyBvbGQgZm9yIFwiYWxsXCIgY2FwcyIKK21zZ3N0ciAibGliY2FwLW5nIMOkciBhbGx0IGbDtnIgZ2FtbWFsIGbDtnIg4oCdYWxs4oCdIGbDtnJtw6Vnb3IiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDUyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY2FwYWJpbGl0eSBcIiVzXCIiCittc2dzdHIgIm9rw6RuZCBmw7ZybcOlZ2Eg4oCdJXPigJ0iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDc2Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCBzZXQgLS0gcmVmdXNpbmcgdG8gYWRqdXN0IgorbXNnc3RyICJva8OkbmQgc8Oka2VyIGJpdCBpbnN0w6RsbGQgLS0gdsOkZ3JhciBhdHQganVzdGVyYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0ODAKK21zZ2lkICJiYWQgc2VjdXJlYml0cyBzdHJpbmciCittc2dzdHIgImZlbGFrdGlnIHN0csOkbmcgZsO2ciBzw6RrcmEgYml0YXIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDg3Cittc2dpZCAiK2FsbCBzZWN1cmViaXRzIGlzIG5vdCBhbGxvd2VkIgorbXNnc3RyICIrYWxsIHPDpGtyYSBiaXRhciB0aWxsw6V0cyBpbnRlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUwMAorbXNnaWQgImFkanVzdGluZyBrZWVwX2NhcHMgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiYXR0IGp1c3RlcmEga2VlcF9jYXBzIGdlciBpbmdlbiBtZW5pbmciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTA0Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAib2vDpG5kIHNlY3VyZWJpdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MjQKK21zZ2lkICJTRUxpbnV4IGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICJTRUxpbnV4IGvDtnIgaW50ZSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvc2UgZmFpbGVkOiAlcyIKK21zZ3N0ciAic3TDpG5nbmluZyBtaXNzbHlja2FkZXM6ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU0NworbXNnaWQgIkFwcEFybW9yIGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICJBcHBBcm1vciBrw7ZyIGludGUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjU4Cittc2dpZCAiZHVwbGljYXRlIC0tbm8tbmV3LXByaXZzIG9wdGlvbiIKK21zZ3N0ciAiZmxhZ2dhbiAtLW5vLW5ldy1wcml2cyBkdXBsaWNlcmFkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY2MworbXNnaWQgImR1cGxpY2F0ZSBydWlkIgorbXNnc3RyICJkdXBsaWNlcmF0IHJ1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjY1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJ1aWQiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIHJ1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjY5Cittc2dpZCAiZHVwbGljYXRlIGV1aWQiCittc2dzdHIgImR1cGxpY2VyYXQgZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXVpZCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzUKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCBvciBldWlkIgorbXNnc3RyICJkdXBsaWNlcmF0IHJ1aWQgZWxsZXIgZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmV1aWQiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIHJldWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4MQorbXNnaWQgImR1cGxpY2F0ZSByZ2lkIgorbXNnc3RyICJkdXBsaWNlcmF0IHJnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjgzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJnaWQiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIHJnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njg3Cittc2dpZCAiZHVwbGljYXRlIGVnaWQiCittc2dzdHIgImR1cGxpY2VyYXQgZWdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWdpZCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgZWdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2OTMKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCBvciBlZ2lkIgorbXNnc3RyICJkdXBsaWNlcmF0IHJnaWQgZWxsZXIgZWdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2OTUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmVnaWQiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIHJlZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcwMAorbXNnaWQgImR1cGxpY2F0ZSAtLWNsZWFyLWdyb3VwcyBvcHRpb24iCittc2dzdHIgImZsYWdnYW4gLS1jbGVhci1ncm91cHMgZHVwbGljZXJhZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MDYKK21zZ2lkICJkdXBsaWNhdGUgLS1rZWVwLWdyb3VwcyBvcHRpb24iCittc2dzdHIgImZsYWdnYW4gLS1rZWVwLWdyb3VwcyBkdXBsaWNlcmFkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcxMgorbXNnaWQgImR1cGxpY2F0ZSAtLWdyb3VwcyBvcHRpb24iCittc2dzdHIgImZsYWdnYW4gLS1ncm91cHMgZHVwbGljZXJhZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MjEKK21zZ2lkICJkdXBsaWNhdGUgLS1pbmgtY2FwcyBvcHRpb24iCittc2dzdHIgImZsYWdnYW4gLS1pbmgtY2FwcyBkdXBsaWNlcmFkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcyNworbXNnaWQgImR1cGxpY2F0ZSAtLWJvdW5kaW5nLXNldCBvcHRpb24iCittc2dzdHIgImZsYWdnYW4gLS1ib3VuZGluZy1zZXQgZHVwbGljZXJhZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MzMKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWN1cmViaXRzIG9wdGlvbiIKK21zZ3N0ciAiZmxhZ2dhbiAtLXNlY3VyZWJpdHMgZHVwbGljZXJhZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MzkKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWxpbnV4LWxhYmVsIG9wdGlvbiIKK21zZ3N0ciAiZmxhZ2dhbiAtLXNlbGludXgtbGFiZWwgZHVwbGljZXJhZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NDUKK21zZ2lkICJkdXBsaWNhdGUgLS1hcHBhcm1vci1wcm9maWxlIG9wdGlvbiIKK21zZ3N0ciAiZmxhZ2dhbiAtLWFwcGFybW9yLXByb2ZpbGUgZHVwbGljZXJhZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnJWMnIgorbXNnc3RyICJva8OkbmQgZmxhZ2dhIOKAnSVj4oCdIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc2MworbXNnaWQgIi0tZHVtcCBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgb3B0aW9ucyIKK21zZ3N0ciAiLS1kdW1wIMOkciBpbmtvbXBhdGliZWwgbWVkIGFsbGEgYW5kcmEgZmxhZ2dvciIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzEKK21zZ2lkICItLWxpc3QtY2FwcyBtdXN0IGJlIHNwZWNpZmllZCBhbG9uZSIKK21zZ3N0ciAiLS1saXN0LWNhcHMgbcOlc3RlIGFuZ2VzIGVuc2FtIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3NworbXNnaWQgIk5vIHByb2dyYW0gc3BlY2lmaWVkIgorbXNnc3RyICJJbmdldCBwcm9ncmFtIGFuZ2l2ZXQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgyCittc2dpZCAiLS1bcmVdZ2lkIHJlcXVpcmVzIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCBvciAtLWdyb3VwcyIKK21zZ3N0ciAiLS1bcmVdZ2lkIGtyw6R2ZXIgLS1rZWVwLWdyb3VwcywgLS1jbGVhci1ncm91cHMgZWxsZXIgLS1ncm91cHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzg1Cittc2dpZCAiZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXMgZmFpbGVkIgorbXNnc3RyICJhdHQgZsO2cmJqdWRhIGJldmlsamFuZGUgYXYgbnlhIHLDpHR0aWdoZXRlciBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzkzCittc2dpZCAia2VlcCBwcm9jZXNzIGNhcGFiaWxpdGllcyBmYWlsZWQiCittc2dzdHIgImF0dCBiZWjDpWxsYSBwcm9jZXNzZsO2cm3DpWdvciBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODAxCittc2dpZCAiYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICJha3RpdmVyYSBmw7ZybcOlZ29yIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwNworbXNnaWQgInJlYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICLDpXRlcmFrdGl2ZXJhIGbDtnJtw6Vnb3IiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODIzCittc2dpZCAic2V0IHByb2Nlc3Mgc2VjdXJlYml0cyBmYWlsZWQiCittc2dzdHIgImluc3TDpGxsbmluZyBhdiBwcm9jZXNzZW5zIHPDpGtyYS1iaXRhciBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODI5Cittc2dpZCAiYXBwbHkgYm91bmRpbmcgc2V0IgorbXNnc3RyICJ0aWxsw6RtcGFyIGJlZ3LDpG5zbmluZ3N1cHBzw6R0dG5pbmciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODM1Cittc2dpZCAiYXBwbHkgY2FwYWJpbGl0aWVzIgorbXNnc3RyICJ0aWxsw6RtcGFyIGbDtnJtw6Vnb3IiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODQwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBleGVjdXRlOiAlcyIKK21zZ3N0ciAia2FuIGludGUga8O2cmE6ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3VtZW50cyAuLi5dXG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gPHByb2dyYW0+IFthcmd1bWVudCDigKZdXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozNgorbXNnaWQgIlJ1biBhIHByb2dyYW0gaW4gYSBuZXcgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiS8O2ciBldHQgcHJvZ3JhbSBpIGVuIG55IHNlc3Npb24uXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozOQorbXNnaWQgIiAtYywgLS1jdHR5ICAgICBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIHRvIHRoZSBjdXJyZW50IG9uZVxuIgorbXNnc3RyICIgLWMsIC0tY3R0eSAgICAgc3TDpGxsIGluIGtvbnRyb2xsZXJhbmRlIHRlcm1pbmFsIHRpbGwgZGVuIGFrdHVlbGxhXG4iCisKKyMgc2VicmFzOiBhd2FpdCBwcm9ncmFtIHRvLi4uCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDAKK21zZ2lkICIgLXcsIC0td2FpdCAgICAgd2FpdCBwcm9ncmFtIHRvIGV4aXQsIGFuZCB1c2UgdGhlIHNhbWUgcmV0dXJuXG4iCittc2dzdHIgIiAtdywgLS13YWl0ICAgICB2w6RudGEgcMOlIGF0dCBwcm9ncmFtIGF2c2x1dGFyLCBhbnbDpG5kIHNhbW1hIGF2c2x1dG5pbmdzc3RhdHVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo5MworbXNnaWQgImZvcmsiCittc2dzdHIgImdyZW4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hpbGQgJWQgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJiYXJuICVkIGF2c2x1dGFkZXMgaW50ZSBub3JtYWx0IgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEwCittc2dpZCAic2V0c2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0c2lkIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExMworbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBzdMOkbGxhIGluIGRlbiBrb250cm9sbGVyYW5kZSB0ZXJtaW5hbGVuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBvZmYgJXNcbiIKK21zZ3N0ciAic3dhcG9mZiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNQorbXNnaWQgIk5vdCBzdXBlcnVzZXIuIgorbXNnc3RyICJJbnRlIHN1cGVyYW52w6RuZGFyZS4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb2ZmIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN3YXBvZmYgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyMiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxzcGVjPl1cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSBbPHNwZWM+XVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyNQorbXNnaWQgIkRpc2FibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIkluYWt0aXZlcmEgZW5oZXRlciBvY2ggZmlsZXIgZsO2ciB2w6R4bGluZy5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjgKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgc3dhcHMgZnJvbSAvcHJvYy9zd2Fwc1xuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgaW5ha3RpdmVyYSBhbGxhIHbDpHhsaW5nc3l0b3IgaSAgL3Byb2Mvc3dhcHNcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB1dGbDtnJsaWd0IGzDpGdlXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTM1Cittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisiXG4iCisiPHNwZWM+LXBhcmFtZXRlcm46XG4iCisiIC1MIDxldGlrZXR0PiAgICAgICAgICAgRVRJS0VUVCBmw7ZyIGVuaGV0IHNvbSBza2EgYW52w6RuZGFzXG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgVVVJRCBmw7ZyIGVuaGV0IHNvbSBza2EgYW52w6RuZGFzXG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgRVRJS0VUVCBmw7ZyIGVuaGV0IHNvbSBza2EgYW52w6RuZGFzXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgVVVJRCBmw7ZyIGVuaGV0IHNvbSBza2EgYW52w6RuZGFzXG4iCisiIDxlbmhldD4gICAgICAgICAgICAgICAgbmFtbiBww6UgZW5oZXQgc29tIHNrYSBhbnbDpG5kYXNcbiIKKyIgPGZpbD4gICAgICAgICAgICAgICAgICBuYW1uIHDDpSBmaWwgc29tIHNrYSBhbnbDpG5kYXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkzCittc2dpZCAiZGV2aWNlIGZpbGUgb3IgcGFydGl0aW9uIHBhdGgiCittc2dzdHIgImVuaGV0c2ZpbCBlbGxlciBwYXJ0aXRpb25zc8O2a3bDpGciCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NAorbXNnaWQgInR5cGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAidHlwIGF2IGVuaGV0IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTUKK21zZ2lkICJzaXplIG9mIHRoZSBzd2FwIGFyZWEiCittc2dzdHIgInN0b3JsZWsgcMOlIHbDpHhsaW5nc3l0YW4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NgorbXNnaWQgImJ5dGVzIGluIHVzZSIKK21zZ3N0ciAiYnl0ZSBzb20gYW52w6RuZHMiCisKKyMgRGV0dGEgw6RyIHN5c3RlbWFucm9wIChzZXRwcmlvcml0eSgyKSkKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NworbXNnaWQgInN3YXAgcHJpb3JpdHkiCittc2dzdHIgInbDpHhsaW5nc3ByaW9yaXRldCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk4Cittc2dpZCAic3dhcCB1dWlkIgorbXNnc3RyICJ2w6R4bGluZ3MtVVVJRCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk5Cittc2dpZCAic3dhcCBsYWJlbCIKK21zZ3N0ciAidsOkeGxpbmdzZXRpa2V0dCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlc1x0XHRcdFx0VHlwZVx0XHRTaXplXHRVc2VkXHRQcmlvcml0eVxuIgorbXNnc3RyICIlc1x0XHRcdFx0VHlwXHRcdFN0b3JsZWtcdEFudsOkbnRcdFByaW9yaXRldFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ2Cittc2dpZCAiRmlsZW5hbWUiCittc2dzdHIgIkZpbG5hbW4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlaW5pdGlhbGl6aW5nIHRoZSBzd2FwLiIKK21zZ3N0ciAiJXM6IMOldGVyaW5pdGllcmEgdsOkeGxpbmdzeXRhbi4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxzZWVrIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGxzZWVrIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgc2lnbmF0dXJlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHNrcml2bmluZyBhdiBzaWduYXR1ciBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIC0gaXQgYXBwZWFycyB0byBoYXZlIGhvbGVzLiIKK21zZ3N0ciAiJXM6IGhvcHBhciDDtnZlciAtIGRlbiB2ZXJrYXIgaGEgaMOlbC4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldCBzaXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGjDpG10bmluZyBhdiBzdG9ybGVrIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBzd2FwIGhlYWRlciBmYWlsZWQiCittc2dzdHIgIiVzOiBpbmzDpHNuaW5nIGF2IHbDpHhsaW5nc2h1dnVkIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZm91bmQgc2lnbmF0dXJlIFtwYWdlc2l6ZT0lZCwgc2lnbmF0dXJlPSVzXSIKK21zZ3N0ciAiJXM6IGhpdHRhZGUgc2lnbmF0dXIgW3NpZHN0b3JsZWs9JWQsIHNpZ25hdHVyPSVzXSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFnZXNpemU9JWQsIHN3YXBzaXplPSVsbHUsIGRldnNpemU9JWxsdSIKK21zZ3N0ciAiJXM6IHNpZHN0b3JsZWs9JWQsIHbDpHhsaW5nc3N0b3JsZWs9JWxsdSwgZW5oZXRzc3Rvcmxlaz0lbGx1IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsYXN0X3BhZ2UgMHglMDhsbHggaXMgbGFyZ2VyIHRoYW4gYWN0dWFsIHNpemUgb2Ygc3dhcHNwYWNlIgorbXNnc3RyICIlczogc2lzdGFfc2lkYSAweCUwOGxseCDDpHIgc3TDtnJyZSDDpG4gZGVuIHZlcmtsaWdhIHN0b3JsZWtlbiBmw7ZyIHbDpHhsaW5nc3V0cnltbWV0IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4iCittc2dzdHIgIiVzOiBzaWRzdG9ybGVrIGbDtnIgdsOkeGxpbmdzZm9ybWF0IHN0w6RtbWVyIGludGUuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4gKFVzZSAtLWZpeHBnc3ogdG8gcmVpbml0aWFsaXplIGl0LikiCittc2dzdHIgIiVzOiBzaWRzdG9ybGVrIGbDtnIgdsOkeGxpbmdzZm9ybWF0IHN0w6RtbWVyIGludGUuIChBbnbDpG5kIC0tZml4cGdzeiBmw7ZyIGF0dCDDpXRlcmluaXRpZXJhIGRlbi4pIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzb2Z0d2FyZSBzdXNwZW5kIGRhdGEgZGV0ZWN0ZWQuIFJld3JpdGluZyB0aGUgc3dhcCBzaWduYXR1cmUuIgorbXNnc3RyICIlczogcHJvZ3JhbW1hdGlzayB2aWxvbMOkZ2VzZGF0YSBpZGVudGlmaWVyYWQuIFNrcml2ZXIgb20gdsOkeGxpbmdzc2lnbmF0dXJlbi4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcG9uICVzXG4iCittc2dzdHIgInN3YXBvbiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb24gZmFpbGVkIgorbXNnc3RyICIlczogc3dhcG9uIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9hdXRvIG9wdGlvbiAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogbm9hdXRvLWZsYWdnYSAtLWhvcHBhcyDDtnZlciIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBhY3RpdmUgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IHJlZGFuIGFrdGl2IC0tIGhvcHBhcyDDtnZlciIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5hY2Nlc3NpYmxlIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiBvdGlsbGfDpG5nbGlnIC0tIGhvcHBhcyDDtnZlciIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5MQorbXNnaWQgIkVuYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiQWt0aXZlcmEgZW5oZXRlciBvY2ggZmlsZXIgZsO2ciB2w6R4bGluZy5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgZW5hYmxlIGFsbCBzd2FwcyBmcm9tIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICBha3RpdmVyYSBhbGxhIHbDpHhsaW5nc29tcsOlZGVuIGkgL2V0Yy9mc3RhYlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk1Cittc2dpZCAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorbXNnc3RyICIgLWQsIC0tZGlzY2FyZFs9PHBvbGljeT5dIGFrdGl2ZXJhIHbDpHhsaW5nc2thc3NlcmluZ2FyLCBvbSBkZXQgc3TDtmRzIGF2IGVuaGV0XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTYKK21zZ2lkICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHNpbGVudGx5IHNraXAgZGV2aWNlcyB0aGF0IGRvIG5vdCBleGlzdFxuIgorbXNnc3RyICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIGhvcHBhIGkgdHlzdGhldCDDtnZlciBlbmhldGVyIHNvbSBpbnRlIGV4aXN0ZXJhclxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk3Cittc2dpZCAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICByZWluaXRpYWxpemUgdGhlIHN3YXAgc3BhY2UgaWYgbmVjZXNzYXJ5XG4iCittc2dzdHIgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgw6V0ZXJpbml0aWVyYSB2w6R4bGluZ3N1dHJ5bW1ldCBvbSBkZXQgYmVow7Z2c1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk4Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBzd2FwIG9wdGlvbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW9wdGlvbnMgPGxpc3RhPiAgICBrb21tYXNlcGFyZXJhZCBsaXN0YSDDtnZlciB2w6R4bGluZ3NmbGFnZ29yXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTkKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorbXNnc3RyICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIGFuZ2UgcHJpb3JpdGV0ZW4gZsO2ciB2w6R4bGluZ3NlbmhldGVuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDAKK21zZ2lkICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIGRpc3BsYXkgc3VtbWFyeSBhYm91dCB1c2VkIHN3YXAgZGV2aWNlcyAoREVQUkVDQVRFRClcbiIKK21zZ3N0ciAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICB2aXNhIHNhbW1hbmZhdHRuaW5nIG9tIGFudsOkbmRhIHbDpHhsaW5nc2VuaGV0ZXIgKEbDllLDhUxEUkFEKVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAxCittc2dpZCAiICAgICAtLXNob3dbPTxjb2x1bW5zPl0gICBkaXNwbGF5IHN1bW1hcnkgaW4gZGVmaW5hYmxlIHRhYmxlXG4iCittc2dzdHIgIiAgICAgLS1zaG93Wz08a29sdW1uZXI+XSAgdmlzYSBzYW1tYW5mYXR0bmluZyBpIGRlZmluaWVyYmFyIHRhYmVsbFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAyCittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCB0YWJsZSBoZWFkaW5nICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBza3JpdiBpbnRlIHV0IHRhYmVsbHJ1YnJpa2VyIChtZWQgLS1zaG93KVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAzCittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0ICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAgICAtLXJhdyAgICAgICAgICAgICAgICBhbnbDpG5kIHLDpXR0IHV0bWF0bmluZ3Nmb3JtYXQgKG1lZCAtLXNob3cpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDQKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIGRpc3BsYXkgc3dhcCBzaXplIGluIGJ5dGVzIGluIC0tc2hvdyBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICB2aXNhIHbDpHhsaW5nc3N0b3JsZWsgaSBieXRlIGkgdXRza3JpZnQgZnLDpW4gLS1zaG93XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHV0ZsO2cmxpZ3QgbMOkZ2VcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIjxzcGVjPi1wYXJhbWV0ZXJuOlxuIgorIiAtTCA8ZXRpa2V0dD4gICAgICAgICAgIHN5bm9ueW0gZsO2ciBMQUJFTD08ZXRpa2V0dD5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzeW5vbnltIGbDtnIgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGV0aWtldHQ+ICAgICAgICBhbmdlciBlbmhldCBmw7ZyIHbDpHhsaW5nc3l0YSB2aWEgZXRpa2V0dFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIGFuZ2VyIGVuaGV0IGbDtnIgdsOkeGxpbmdzeXRhIHZpYSBVVUlEXG4iCisiIFBBUlRMQUJFTD08ZXRpa2V0dD4gICAgYW5nZXIgZW5oZXQgdmlhIHBhcnRpdGlvbnNldGlrZXR0XG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgYW5nZXIgZW5oZXQgdmlhIHBhcnRpdGlvbnMtVVVJRFxuIgorIiA8ZW5oZXQ+ICAgICAgICAgICAgICAgIG5hbW4gcMOlIGVuaGV0ZW4gc29tIHNrYSBhbnbDpG5kYXNcbiIKKyIgPGZpbD4gICAgICAgICAgICAgICAgICBuYW1uIHDDpSBmaWxlbiBzb20gc2thIGFudsOkbmRhc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODIxCittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBkaXNjYXJkIHBvbGljeSB0eXBlcyAoZm9yIC0tZGlzY2FyZCk6XG4iCisiIG9uY2UgICAgOiBvbmx5IHNpbmdsZS10aW1lIGFyZWEgZGlzY2FyZHMgYXJlIGlzc3VlZFxuIgorIiBwYWdlcyAgIDogZnJlZWQgcGFnZXMgYXJlIGRpc2NhcmRlZCBiZWZvcmUgdGhleSBhcmUgcmV1c2VkXG4iCisiSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCBib3RoIGRpc2NhcmQgdHlwZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQpLlxuIgorbXNnc3RyICIiCisiXG4iCisiVGlsbGfDpG5nbGlnYSBrYXNzZXJpbmdzcG9saWN5dHlwZXIgKGbDtnIgLS1kaXNjYXJkKTpcbiIKKyIgb25jZSAgICA6IHV0cnltbWVza2Fzc2VyaW5nYXIgc2tpY2thcyBlbmRhc3QgdXQgZW4gZ8OlbmdcbiIKKyIgcGFnZXMgICA6IGZyaWdqb3JkYSBzaWRvciBrYXNzZXJhcyBpbm5hbiBkZSDDpXRlcmFudsOkbmRzXG4iCisiT20gaW5nZW4gcG9saWN5IHbDpGxqcyBrb21tZXIgYsOlZGEga2Fzc2VyaW5nc3R5cGVybmEgYXR0IGFrdGl2ZXJhcyAoc3RhbmRhcmQpLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODI2Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93KTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlRpbGxnw6RuZ2xpZ2Ega29sdW1uZXIgKGbDtnIgLS1zaG93KTpcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkwNAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwcmlvcml0eSIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgcHJpb3JpdGV0IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTIzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAia2Fzc2VyaW5nc3BvbGljeSBzdMO2ZHMgZWo6ICVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHRoZSBkZXZpY2UgZm9yICVzIgorbXNnc3RyICJrYW4gaW50ZSBoaXR0YSBlbmhldGVuIGbDtnIgJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjU5Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGlyZWN0b3J5IgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCDDtnBwbmEga2F0YWxvZyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjcKK21zZ2lkICJzdGF0IGZhaWxlZCIKK21zZ3N0ciAic3RhdCBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjc4Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgZGlyZWN0b3J5IgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBsw6RzYSBrYXRhbG9nIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVubGluayAlcyIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgYXZsw6Rua2EgJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvICVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBtb250ZXJhIHZpZCBmbHl0dCAlcyB0aWxsICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9yY2luZyB1bm1vdW50IG9mICVzIgorbXNnc3RyICJmw7Zyc8O2a2VyIHR2aW5nYSBhdm1vbnRlcmluZyBhdiAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCDDpG5kcmEga2F0YWxvZyB0aWxsICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAvIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBtb250ZXJhIHZpZCBmbHl0dCAlcyB0aWxsIC8iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3NQorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgw6RuZHJhIHJvdCIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTg4Cittc2dpZCAib2xkIHJvb3QgZmlsZXN5c3RlbSBpcyBub3QgYW4gaW5pdHJhbWZzIgorbXNnc3RyICJnYW1tYWx0IHJvdGZpbHN5c3RlbSDDpHIgaW50ZSBldHQgaW5pdHJhbWZzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bmV3cm9vdGRpcj4gPGluaXQ+IDxhcmdzIHRvIGluaXQ+XG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gPG55cm90a2F0PiA8aW5pdD4gPGFyZ3VtZW50IHRpbGwgaW5pdD5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA0Cittc2dpZCAiU3dpdGNoIHRvIGFub3RoZXIgZmlsZXN5c3RlbSBhcyB0aGUgcm9vdCBvZiB0aGUgbW91bnQgdHJlZS5cbiIKK21zZ3N0ciAiVsOkeGxhIHRpbGwgZXR0IGFubmF0IGZpbHN5c3RlbSBzb20gcm90IGkgbW9udGVyaW5nc3Ryw6RkZXQuXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIzNgorbXNnaWQgImZhaWxlZC4gU29ycnkuIgorbXNnc3RyICJtaXNzbHlja2FkZXMuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGFjY2VzcyAlcyIKK21zZ3N0ciAia2FuIGludGUga29tbWEgw6V0ICVzIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTQKK21zZ2lkICJTZXQgdmFyaW91cyBwYXJhbWV0ZXJzIGZvciB0aGUgbGluZSBwcmludGVyLlxuIgorbXNnc3RyICJTdMOkbGwgaW4gZGl2ZXJzZSBwYXJhbWV0cmFyIGbDtnIgcmFkc2tyaXZhcmVuLlxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTcKK21zZ2lkICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICBzcGVjaWZ5IHBhcmFsbGVsIHBvcnQgaXJxXG4iCittc2dzdHIgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIGFuZ2UgaXJxIGbDtnIgcGFyYWxsZWxscG9ydFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTgKK21zZ2lkICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICBkcml2ZXIgd2FpdCB0aW1lIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICB2w6RudGV0aWQgZsO2ciBkcml2cnV0aW4gaSBtaWxsaXNla3VuZGVyXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5OQorbXNnaWQgIiAtYywgLS1jaGFycyA8bnVtPiAgICAgICAgICAgIG51bWJlciBvZiBvdXRwdXQgY2hhcmFjdGVycyBiZWZvcmUgc2xlZXBcbiIKK21zZ3N0ciAiIC1jLCAtLWNoYXJzIDxudW0+ICAgICAgICAgICAgYW50YWwgdXRtYXRuaW5nc3RlY2tlbiBpbm5hbiBmw7ZyZHLDtmpuaW5nXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDAKK21zZ2lkICIgLXcsIC0td2FpdCA8dXM+ICAgICAgICAgICAgICBzdHJvYmUgd2FpdCBpbiBtaWNybyBzZWNvbmRzXG4iCittc2dzdHIgIiAtdywgLS13YWl0IDx1cz4gICAgICAgICAgICAgIHN0cm9idsOkbnRhbiBpIG1pa3Jvc2VrdW5kZXJcbiIKKworIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgPG9ufG9mZj4gYXJndW1lbnRzLiBUaGUKKyMuIGFyZ3VtZW50IHJlYWRlciBkb2VzIG5vdCByZWNvZ25pemUgbG9jYWxlLCB1bmxlc3MgYG9uJyBpcworIy4gZXhhY3RseSB0aGF0IHZlcnkgc2FtZSBzdHJpbmcuCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA0Cittc2dpZCAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAgYWJvcnQgb24gZXJyb3JcbiIKK21zZ3N0ciAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAgYXZicnl0IHZpZCBmZWxcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNQorbXNnaWQgIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gIGNoZWNrIHByaW50ZXIgc3RhdHVzIGJlZm9yZSBwcmludGluZ1xuIgorbXNnc3RyICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBrb250cm9sbGVyYSBza3JpdmFyZW5zIHN0YXR1cyBpbm5hbiB1dHNrcmlmdFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA2Cittc2dpZCAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAgZXh0cmEgY2hlY2tpbmcgdG8gc3RhdHVzIGNoZWNrXG4iCittc2dzdHIgIiAtQywgLS1jYXJlZnVsIDxvbnxvZmY+ICAgICAgIGV4dHJhIGdydW5kbGlnIHN0YXR1c2tvbnRyb2xsXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDcKK21zZ2lkICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICBxdWVyeSBwcmludGVyIHN0YXR1c1xuIgorbXNnc3RyICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICBmcsOlZ2EgZWZ0ZXIgc2tyaXZhcnN0YXR1c1xuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA4Cittc2dpZCAiIC1ULCAtLXRydXN0LWlycSA8b258b2ZmPiAgICAgbWFrZSBkcml2ZXIgdG8gdHJ1c3QgaXJxXG4iCittc2dzdHIgIiAtVCwgLS10cnVzdC1pcnEgPG9ufG9mZj4gICAgIGbDpSBkcml2cnV0aW4gYXR0IGxpdGEgcMOlIGlycVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcmVzZXQgdGhlIHBvcnRcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgw6V0ZXJzdMOkbGwgcG9ydGVuXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTAKK21zZ2lkICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICBkaXNwbGF5IGN1cnJlbnQgaXJxIHNldHRpbmdcbiIKK21zZ3N0ciAiIC1xLCAtLXByaW50LWlycSA8b258b2ZmPiAgICAgdmlzYSBha3R1ZWxsIGlycS1pbnN0w6RsbG5pbmdcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgYW4gbHAgZGV2aWNlIgorbXNnc3RyICIlcyDDpHIgaW5nZW4gbHAtZW5oZXQiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODAKK21zZ2lkICJMUEdFVFNUQVRVUyBlcnJvciIKK21zZ3N0ciAiTFBHRVRTVEFUVVMtZmVsIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN0YXR1cyBpcyAlZCIKK21zZ3N0ciAic3RhdHVzZW4gZsO2ciAlcyDDpHIgJWQiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBidXN5IgorbXNnc3RyICIsIHVwcHRhZ2VuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgcmVhZHkiCittc2dzdHIgIiwgcmVkbyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG91dCBvZiBwYXBlciIKK21zZ3N0ciAiLCBzbHV0IHDDpSBwYXBwZXIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvbi1saW5lIgorbXNnc3RyICIsIGlua29wcGxhZCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5NQorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVycm9yIgorbXNnc3RyICIsIGZlbCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMwMAorbXNnaWQgImlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzEwCittc2dpZCAiTFBHRVRJUlEgZXJyb3IiCittc2dzdHIgIkxQR0VUSVJRLWZlbCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBJUlEgJWRcbiIKK21zZ3N0ciAiJXMgYW52w6RuZGVyIElSUSAlZFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIHBvbGxpbmdcbiIKK21zZ3N0ciAiJXMgYW52w6RuZGVyIHBvbGxuaW5nXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gfCA8ZGlyZWN0b3J5PlxuIgorbXNnc3RyICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBbZmxhZ2dvcl1cbiIKKyIgJTEkcyBbZmxhZ2dvcl0gPGvDpGxsYT4gfCA8a2F0YWxvZz5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjgxCittc2dpZCAiVW5tb3VudCBmaWxlc3lzdGVtcy5cbiIKK21zZ3N0ciAiQXZtb250ZXJhIGZpbHN5c3RlbS5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg0Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHVubW91bnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBhdm1vbnRlcmEgYWxsYSBmaWxzeXN0ZW1cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg1Cittc2dpZCAiIgorIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICB1bm1vdW50IGFsbCBtb3VudHBvaW50cyBmb3IgdGhlIGdpdmVuIGRldmljZSBpbiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisiIC1BLCAtLWFsbC10YXJnZXRzICAgICAgIGF2bW9udGVyYXIgYWxsYSBtb250ZXJpbmdzcHVua3RlciBmw7ZyIGRlbiBhbmdpdm5hIGVuaGV0ZW4gaVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGFrdHVlbGwgbmFtbnJ5bWRcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg3Cittc2dpZCAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorbXNnc3RyICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZ8O2ciBpbnRlIHPDtmt2w6RnYXIga2Fub25pc2thXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OAorbXNnaWQgIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICBpZiBtb3VudGVkIGxvb3AgZGV2aWNlLCBhbHNvIGZyZWUgdGhpcyBsb29wIGRldmljZVxuIgorbXNnc3RyICIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAgb20gZGV0IMOkciBlbiBtb250ZXJhZCBsb29wZW5oZXQsIGZyaWfDtnIgb2Nrc8OlIGRlbm5hIGxvb3BlbmhldFxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODkKK21zZ2lkICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgdW1vdW50KDIpIHN5c2NhbGxcbiIKK21zZ3N0ciAiICAgICAtLWZha2UgICAgICAgICAgICAgIHRvcnJrw7ZybmluZzsgaG9wcGEgw7Z2ZXIgc3lzdGVtYW5yb3BldCB1bW91bnQoMilcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkwCittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIGZvcmNlIHVubW91bnQgKGluIGNhc2Ugb2YgYW4gdW5yZWFjaGFibGUgTkZTIHN5c3RlbSlcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIHR2aW5nYSBhdm1vbnRlcmluZyAoaSBmYWxsZXQgbWVkIGV0dCBvbsOlYmFydCBORlMtc3lzdGVtKVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTEKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgdW1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBhbnJvcGEgaW50ZSBoasOkbHBhcm5hIHVtb3VudC48dHlwPlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTMKK21zZ2lkICIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgZGV0YWNoIHRoZSBmaWxlc3lzdGVtIG5vdywgY2xlYW4gdXAgdGhpbmdzIGxhdGVyXG4iCittc2dzdHIgIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICBsw7ZzZ8O2ciBmaWxzeXN0ZW1ldCBudSwgc3TDpGRhIHVwcCBzZW5hcmVcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk0Cittc2dpZCAiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorbXNnc3RyICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0YT4gYmVncsOkbnNhIG3DpG5nZGVuIGZpbHN5c3RlbSAoYW52w6RuZCBtZWQgLWEpXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NQorbXNnaWQgIiAtUiwgLS1yZWN1cnNpdmUgICAgICAgICByZWN1cnNpdmVseSB1bm1vdW50IGEgdGFyZ2V0IHdpdGggYWxsIGl0cyBjaGlsZHJlblxuIgorbXNnc3RyICIgLVIsIC0tcmVjdXJzaXZlICAgICAgICAgYXZtb250ZXJhIGV0dCBtw6VsIHJla3Vyc2l2dCBtZWQgYWxsYSBkZXNzIGJhcm5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk2Cittc2dpZCAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIGluIGNhc2UgdW5tb3VudGluZyBmYWlscywgdHJ5IHRvIHJlbW91bnQgcmVhZC1vbmx5XG4iCittc2dzdHIgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBvbSBhdm1vbnRlcmluZyBtaXNzbHlja2FzLCBmw7Zyc8O2ayBhdHQgw6V0ZXJtb250ZXJhIHNrcml2c2t5ZGRhdFxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTcKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiAtdCwgLS10eXBlcyA8bGlzdGE+ICAgICBiZWdyw6Ruc2EgdXBwc8OkdHRuaW5nZW4gYXYgZmlsc3lzdGVtc3R5cGVyXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzKSB1bm1vdW50ZWQiCittc2dzdHIgIiVzICglcykgYXZtb250ZXJhZCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bm1vdW50ZWQiCittc2dzdHIgIiVzIGF2bW9udGVyYWQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVtb3VudCBmYWlsZWQiCittc2dzdHIgIiVzOiB1bW91bnQgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCittc2dzdHIgIiVzOiBmaWxzeXN0ZW1ldCBhdm1vbnRlcmFkZXMsIG1lbiBtb3VudCg4KSBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogb2dpbHRpZyBibG9ja2VuaGV0IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorbXNnc3RyICIlczoga2FuIGludGUgc2tyaXZhIHN1cGVyYmxvY2siCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzOiB0YXJnZXQgaXMgYnVzeVxuIgorIiAgICAgICAgKEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gYWJvdXQgcHJvY2Vzc2VzIHRoYXRcbiIKKyIgICAgICAgICB1c2UgdGhlIGRldmljZSBpcyBmb3VuZCBieSBsc29mKDgpIG9yIGZ1c2VyKDEpLikiCittc2dzdHIgIiIKKyIlczogbcOlbCDDpHIgdXBwdGFnZXRcbiIKKyIgICAgICAgIChJIHZpc3NhIGZhbGwga2FuIGFudsOkbmRiYXIgaW5mb3JtYXRpb24gb20gcHJvY2Vzc2VyXG4iCisiICAgICAgICAgc29tIGFudsOkbmRlciBlbmhldGVuIGhpdHRhcyB2aWEgbHNvZig4KSBlbGxlciBmdXNlcigxKS4pIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudHBvaW50IG5vdCBmb3VuZCIKK21zZ3N0ciAiJXM6IG1vbnRlcmluZ3NwdW5rdCBoaXR0YWRlcyBpbnRlIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjUwCittc2dpZCAidW5kZWZpbmVkIG1vdW50cG9pbnQiCittc2dzdHIgIm9kZWZpbmllcmFkIG1vbnRlcmluZ3NwdW5rdCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdW5tb3VudCIKK21zZ3N0ciAiJXM6IG3DpXN0ZSB2YXJhIHN1cGVyYW52w6RuZGFyZSBmw7ZyIGF0dCBhdm1vbnRlcmEiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJsb2NrIGRldmljZXMgYXJlIG5vdCBwZXJtaXR0ZWQgb24gZmlsZXN5c3RlbSIKK21zZ3N0ciAiJXM6IGJsb2NrZW5oZXRlciDDpHIgaW50ZSB0aWxsw6V0bmEgcMOlIGZpbHN5c3RlbSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMwNworbXNnaWQgImZhaWxlZCB0byBzZXQgdW1vdW50IHRhcmdldCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgc3TDpGxsYSBpbiBtw6VsIGbDtnIgdW1vdW50IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzIzCittc2dpZCAibGlibW91bnQgdGFibGUgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgInRhYmVsbGFsbG9rZXJpbmcgZsO2ciBsaWJtb3VudCBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozNjYgc3lzLXV0aWxzL3Vtb3VudC5jOjQ0NgorbXNnaWQgImxpYm1vdW50IGl0ZXJhdG9yIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJhbGxva2VyaW5nIGF2IGxpYm1vdW50LWl0ZXJhdG9yIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGNoaWxkIGZzIG9mICVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgYXR0IGjDpG10YSBiYXJuZmlsc3lzdGVtIGbDtnIgJXMiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo0MTAgc3lzLXV0aWxzL3Vtb3VudC5jOjQzMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIgorbXNnc3RyICIlcyBoaXR0YWRlcyBpbnRlIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NDQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGV0ZXJtaW5lIHNvdXJjZSAoLS1hbGwtdGFyZ2V0cyBpcyB1bnN1cHBvcnRlZCBvbiBzeXN0ZW1zIHdpdGggcmVndWxhciBtdGFiIGZpbGUpLiIKK21zZ3N0ciAiJXM6IG1pc3NseWNrYWRlcyBtZWQgYXR0IGlkZW50aWZpZXJhIGvDpGxsYSAoLS1hbGwtdGFyZ2V0IHN0w7ZkcyBpbnRlIHDDpSBzeXN0ZW0gbWVkIGVuIHZhbmxpZyBtdGFiLWZpbCkuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjg5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIC0tc2V0Z3JvdXBzIGFyZ3VtZW50ICclcyciCittc2dzdHIgImFyZ3VtZW50ZXQg4oCdJXPigJ0gdGlsbCAtLXNldGdyb3VwcyBzdMO2ZHMgaW50ZSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMTAgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkICVzIgorbXNnc3RyICJ3cml0ZSBtaXNzbHlja2FkZXMgJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByb3BhZ2F0aW9uIG1vZGU6ICVzIgorbXNnc3RyICJwcm9wYWdlcmluZ3Nsw6RnZSBzdMO2ZHMgaW50ZTogJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTU3Cittc2dpZCAiY2Fubm90IGNoYW5nZSByb290IGZpbGVzeXN0ZW0gcHJvcGFnYXRpb24iCittc2dzdHIgImthbiBpbnRlIMOkbmRyYSBwcm9wYWdlcmluZyBmw7ZyIHJvdGZpbHN5c3RlbSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHN0YXQgJXMiCittc2dzdHIgImthbiBpbnRlIGvDtnJhIHN0YXQgJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjEzCittc2dpZCAicGlwZSBmYWlsZWQiCittc2dzdHIgInLDtnJsZWRuaW5nIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjcKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwaXBlIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBsw6RzYSByw7ZybGVkbmluZyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTAKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggc29tZSBuYW1lc3BhY2VzIHVuc2hhcmVkIGZyb20gdGhlIHBhcmVudC5cbiIKK21zZ3N0ciAiS8O2ciBldHQgcHJvZ3JhbSBtZWQgbsOlZ3JhIG5hbW5yeW1kZXIgc29tIGludGUgZGVsYXMgYXYgZsO2csOkbGRlcm4uXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUzCittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbSwgLS1tb3VudFs9PGZpbD5dICAgICAgIGRlbGEgaW50ZSBuYW1ucnltZCBmw7ZyIG1vbnRlcmluZ2FyXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU0Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAtdSwgLS11dHNbPTxmaWw+XSAgICAgICAgIGRlbGEgaW50ZSBuYW1ucnltZCBmw7ZyIFVUUyAodsOkcmRuYW1uIGV0YylcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTUKK21zZ2lkICIgLWksIC0taXBjWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1pLCAtLWlwY1s9PGZpbD5dICAgICAgICAgZGVsYSBpbnRlIG5hbW5yeW1kIGbDtnIgU3lzdGVtIFYtSVBDXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU2Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBuZXR3b3JrIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLW4sIC0tbmV0Wz08ZmlsPl0gICAgICAgICBkZWxhIGludGUgbmFtbnJ5bWQgZsO2ciBuw6R0dmVya1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NworbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLXAsIC0tcGlkWz08ZmlsPl0gICAgICAgICBkZWxhIGludGUgbmFtbnJ5bWQgZsO2ciBwaWRcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTgKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtVSwgLS11c2VyWz08ZmlsPl0gICAgICAgIGRlbGEgaW50ZSBuYW1ucnltZCBmw7ZyIGFudsOkbmRhcmVcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTkKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICAgICB1bnNoYXJlIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1DLCAtLWNncm91cFs9PGZpbD5dICAgICAgZGVsYSBpbnRlIG5hbW5yeW1kIGbDtnIgY2dyb3VwXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYwCittc2dpZCAiIC1mLCAtLWZvcmsgICAgICAgICAgICAgICAgZm9yayBiZWZvcmUgbGF1bmNoaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICBncmVuYSBpbm5hbiBzdGFydCBhdiA8cHJvZ3JhbT5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjEKK21zZ2lkICIgICAgIC0tbW91bnQtcHJvY1s9PGRpcj5dICBtb3VudCBwcm9jIGZpbGVzeXN0ZW0gZmlyc3QgKGltcGxpZXMgLS1tb3VudClcbiIKK21zZ3N0ciAiICAgICAtLW1vdW50LXByb2NbPTxrYXQ+XSAgbW9udGVyYSBwcm9jLWZpbHN5c3RlbSBmw7Zyc3QgKG1lZGbDtnIgLS1tb3VudClcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjIKK21zZ2lkICIgLXIsIC0tbWFwLXJvb3QtdXNlciAgICAgICBtYXAgY3VycmVudCB1c2VyIHRvIHJvb3QgKGltcGxpZXMgLS11c2VyKVxuIgorbXNnc3RyICIgLXIsIC0tbWFwLXJvb3QtdXNlciAgICAgICBtYXBwYSBha3R1ZWxsIGFudsOkbmRhcmUgdGlsbCByb290IChtZWRmw7ZyIC0tdXNlcilcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjMKK21zZ2lkICIiCisiICAgICAtLXByb3BhZ2F0aW9uIHNsYXZlfHNoYXJlZHxwcml2YXRlfHVuY2hhbmdlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmeSBtb3VudCBwcm9wYWdhdGlvbiBpbiBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1wcm9wYWdhdGlvbiBzbGF2ZXxzaGFyZWR8cHJpdmF0ZXx1bmNoYW5nZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZmllcmEgbW9udGVyaW5nc3Byb3BhZ2VyaW5nIGkgbmFtbnJ5bWQgZsO2ciBtb250ZXJpbmdcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjUKK21zZ2lkICIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIGNvbnRyb2wgdGhlIHNldGdyb3VwcyBzeXNjYWxsIGluIHVzZXIgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIHN0eXIgc3lzdGVtYW5yb3BldCBzZXRncm91cHMgaSBuYW1ucnltZGVuIGbDtnIgYW52w6RuZGFyZVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjM4NgorbXNnaWQgInVuc2hhcmUgZmFpbGVkIgorbXNnc3RyICJ1bnNoYXJlIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzAKK21zZ2lkICJjaGlsZCBleGl0IGZhaWxlZCIKK21zZ3N0ciAiYXZzbHV0bmluZyBhdiBiYXJuIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzcKK21zZ2lkICJvcHRpb25zIC0tc2V0Z3JvdXBzPWFsbG93IGFuZCAtLW1hcC1yb290LXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiZmxhZ2dvcm5hIC0tc2V0Z3JvdXBzPWFsbG93IG9jaCAtLW1hcC1yb290LXVzZXIgw6RyIMO2bXNlc2lkaWd0IHV0ZXNsdXRhbmRlIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ1NworIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBmYWlsZWQiCittc2dzdHIgIm1vbnRlcmluZyBhdiAlcyBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjczCittc2dpZCAiQ2FyZCBwcmV2aW91c2x5IHJlc2V0IHRoZSBDUFUiCittc2dzdHIgIktvcnQgc29tIHRpZGlnYXJlIHN0YXJ0YWRlIG9tIENQVTpuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NAorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDEiCittc2dzdHIgIkV4dGVybnQgcmVsw6QgMSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzUKK21zZ2lkICJFeHRlcm5hbCByZWxheSAyIgorbXNnc3RyICJFeHRlcm50IHJlbMOkIDIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc2Cittc2dpZCAiRmFuIGZhaWxlZCIKK21zZ3N0ciAiRmzDpGt0IG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzcKK21zZ2lkICJLZWVwIGFsaXZlIHBpbmcgcmVwbHkiCittc2dzdHIgIlBpbmctc3ZhciBmw7ZyIGF0dCBow6VsbGFzIHZpZCBsaXYiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc4Cittc2dpZCAiU3VwcG9ydHMgbWFnaWMgY2xvc2UgY2hhciIKK21zZ3N0ciAiSGFyIHN0w7ZkIGbDtnIgbWFnaXNrdCBhdnN0w6RuZ25pbmdzdGVja2VuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OQorbXNnaWQgIlJlc2V0IGR1ZSB0byBDUFUgb3ZlcmhlYXQiCittc2dzdHIgIk9tc3RhcnQgcMOlIGdydW5kIGF2IMO2dmVyaGV0dGFkIENQVSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODAKK21zZ2lkICJQb3dlciBvdmVyIHZvbHRhZ2UiCittc2dzdHIgIsOWdmVyc3DDpG5uaW5nIGkgc3Ryw7ZtbWF0bmluZyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODEKK21zZ2lkICJQb3dlciBiYWQvcG93ZXIgZmF1bHQiCittc2dzdHIgIkTDpWxpZyBzdHLDtm0vc3Ryw7ZtZmVsIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MgorbXNnaWQgIlByZXRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJGw7ZydGlkc2dyw6RucyAoaSBzZWt1bmRlcikiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgzCittc2dpZCAiU2V0IHRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJTdMOkbGwgaW4gdGlkc2dyw6RucyAoaSBzZWt1bmRlcikiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjg0Cittc2dpZCAiTm90IHRyaWdnZXIgcmVib290IgorbXNnc3RyICJVdGzDtnMgaW50ZSBvbXN0YXJ0IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDAKK21zZ2lkICJmbGFnIG5hbWUiCittc2dzdHIgImZsYWdnbmFtbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAxCittc2dpZCAiZmxhZyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiZmxhZ2diZXNrcml2bmluZyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAyCittc2dpZCAiZmxhZyBzdGF0dXMiCittc2dzdHIgImZsYWdnc3RhdHVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDMKK21zZ2lkICJmbGFnIGJvb3Qgc3RhdHVzIgorbXNnc3RyICJmbGFnZ2EgZsO2ciBzdGFydGJhcmhldCIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTA0Cittc2dpZCAid2F0Y2hkb2cgZGV2aWNlIG5hbWUiCittc2dzdHIgImVuaGV0c25hbW4gZsO2ciB2YWt0aHVuZCIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmxhZzogJXMiCittc2dzdHIgIm9rw6RuZCBmbGFnZ2E6ICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxNzcKK21zZ2lkICJTaG93IHRoZSBzdGF0dXMgb2YgdGhlIGhhcmR3YXJlIHdhdGNoZG9nLlxuIgorbXNnc3RyICJWaXNhIHN0YXR1cyBmw7ZyIGjDpXJkdmFydXZha3RodW5kLlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxODAKK21zZ2lkICIiCisiIC1mLCAtLWZsYWdzIDxsaXN0PiAgICAgcHJpbnQgc2VsZWN0ZWQgZmxhZ3Mgb25seVxuIgorIiAtRiwgLS1ub2ZsYWdzICAgICAgICAgIGRvbid0IHByaW50IGluZm9ybWF0aW9uIGFib3V0IGZsYWdzXG4iCisiIC1JLCAtLW5vaWRlbnQgICAgICAgICAgZG9uJ3QgcHJpbnQgd2F0Y2hkb2cgaWRlbnRpdHkgaW5mb3JtYXRpb25cbiIKKyIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLU8sIC0tb25lbGluZSAgICAgICAgICBwcmludCBhbGwgaW5mb3JtYXRpb24gb24gb25lIGxpbmVcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBvdXRwdXQgY29sdW1ucyBvZiB0aGUgZmxhZ3NcbiIKKyIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXQgZm9yIGZsYWdzIHRhYmxlXG4iCisiIC1ULCAtLW5vdGltZW91dHMgICAgICAgZG9uJ3QgcHJpbnQgd2F0Y2hkb2cgdGltZW91dHNcbiIKKyIgLXMsIC0tc2V0dGltZW91dCA8c2VjPiBzZXQgd2F0Y2hkb2cgdGltZW91dFxuIgorIiAteCwgLS1mbGFncy1vbmx5ICAgICAgIHByaW50IG9ubHkgZmxhZ3MgdGFibGUgKHNhbWUgYXMgLUkgLVQpXG4iCittc2dzdHIgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3RhPiAgICBza3JpdiBlbmRhc3QgdXQgdmFsZGEgZmxhZ2dvclxuIgorIiAtRiwgLS1ub2ZsYWdzICAgICAgICAgIHNrcml2IGludGUgdXQgaW5mb3JtYXRpb24gb20gZmxhZ2dvclxuIgorIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIHNrcml2IGludGUgdXQgaW5mb3JtYXRpb24gb20gdmFrdGh1bmRzaWRlbnRpdGV0XG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgc2tyaXYgaW50ZSB1dCBydWJyaWtlciBmw7ZyIGZsYWdndGFiZWxsXG4iCisiIC1PLCAtLW9uZWxpbmUgICAgICAgICAgc2tyaXYgdXQgYWxsIGluZm9ybWF0aW9uIHDDpSBlbiByYWRcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0YT4gICBza3JpdiB1dCBrb2x1bW5lcm5hIGbDtnIgZmxhZ2dvcm5hXG4iCisiIC1yLCAtLXJhdyAgICAgICAgICAgICAgYW52w6RuZCByw6V0dCB1dG1hdG5pbmdzZm9ybWF0IGbDtnIgZmxhZ2d0YWJlbGxcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBza3JpdiBpbnRlIHV0IHRpZHNncsOkbnNlciBmw7ZyIHZha3RodW5kXG4iCisiIC1zLCAtLXNldHRpbWVvdXQgPHNlaz4gc3TDpGxsIGluIHRpZHNncsOkbnMgZsO2ciB2YWt0aHVuZFxuIgorIiAteCwgLS1mbGFncy1vbmx5ICAgICAgIHNrcml2IGVuZGFzdCB1dCBmbGFnZ3RhYmVsbCAoc2FtbWEgc29tIC1JIC1UKVxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRlZmF1bHQgZGV2aWNlIGlzICVzLlxuIgorbXNnc3RyICJTdGFuZGFyZGVuaGV0ZW4gw6RyICVzLlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxOTkKK21zZ2lkICJBdmFpbGFibGUgY29sdW1uczpcbiIKK21zZ3N0ciAiVGlsbGfDpG5nbGlnYSBrb2x1bW5lcjpcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIGZsYWdzIDB4JXhcbiIKK21zZ3N0ciAiJXM6IG9rw6RuZGEgZmxhZ2dvciAweCV4XG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMxOSBzeXMtdXRpbHMvd2RjdGwuYzozNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhdGNoZG9nIGFscmVhZHkgaW4gdXNlLCB0ZXJtaW5hdGluZy4iCittc2dzdHIgIiVzOiB2YWt0aHVuZCBhbnbDpG5kcyByZWRhbiwgYXZzbHV0YXIuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMzMgc3lzLXV0aWxzL3dkY3RsLmM6NDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGlzYXJtIHdhdGNoZG9nIgorbXNnc3RyICIlczogbWlzc2x5Y2thZGVzIG1lZCBhdHQgYXZ2w6RwbmEgdmFrdGh1bmQiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRpbWVvdXQgZm9yICVzIgorbXNnc3RyICJrYW4gaW50ZSBzdMOkbGxhIGluIHRpZHNncsOkbnMgZsO2ciAlcyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZC5cbiIKK21zZ2lkX3BsdXJhbCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kcy5cbiIKK21zZ3N0clswXSAiVGlkc2dyw6RucyBoYXIgc3TDpGxsdHMgaW4gcMOlICVkIHNla3VuZC5cbiIKK21zZ3N0clsxXSAiVGlkc2dyw6RucyBoYXIgc3TDpGxsdHMgaW4gcMOlICVkIHNla3VuZGVyLlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgd2F0Y2hkb2ciCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCBmw6UgaW5mb3JtYXRpb24gb20gdmFrdGh1bmQiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NCBzeXMtdXRpbHMvd2RjdGwuYzo0Njcgc3lzLXV0aWxzL3dkY3RsLmM6NDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMTRzICUyaSBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiJS0xNHMgJTJpIHNlY29uZHNcbiIKK21zZ3N0clswXSAiJS0xNHMgJTJpIHNla3VuZFxuIgorbXNnc3RyWzFdICIlLTE0cyAlMmkgc2VrdW5kZXJcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY1Cittc2dpZCAiVGltZW91dDoiCittc2dzdHIgIlRpZHNncsOkbnM6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjgKK21zZ2lkICJQcmUtdGltZW91dDoiCittc2dzdHIgIkbDtnItdGlkc2dyw6RuczoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ3MQorbXNnaWQgIlRpbWVsZWZ0OiIKK21zZ3N0ciAiVGlkIGt2YXI6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDUKK21zZ2lkICJEZXZpY2U6IgorbXNnc3RyICJFbmhldDoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNworbXNnaWQgIklkZW50aXR5OiIKK21zZ3N0ciAiSWRlbnRpdGV0OiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA5Cittc2dpZCAidmVyc2lvbiIKK21zZ3N0ciAidmVyc2lvbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MworbXNnaWQgInpyYW0gZGV2aWNlIG5hbWUiCittc2dzdHIgInpyYW0tZW5oZXRzbmFtbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NAorbXNnaWQgImxpbWl0IG9uIHRoZSB1bmNvbXByZXNzZWQgYW1vdW50IG9mIGRhdGEiCittc2dzdHIgImJlZ3LDpG5zbmluZyBhdiBtw6RuZ2RlbiBkZWtvbXByaW1lcmFkIGRhdGEiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzUKK21zZ2lkICJ1bmNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAiZGVrb21wcmltZXJhZCBzdG9ybGVrIGbDtnIgbGFncmFkIGRhdGEiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzYKK21zZ2lkICJjb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgImtvbXByaW1lcmFkIHN0b3JsZWsgYXYgbGFncmFkIGRhdGEiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzcKK21zZ2lkICJ0aGUgc2VsZWN0ZWQgY29tcHJlc3Npb24gYWxnb3JpdGhtIgorbXNnc3RyICJkZW4gdmFsZGEga29tcHJpbWVyaW5nc2FsZ29yaXRtZW4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzgKK21zZ2lkICJudW1iZXIgb2YgY29uY3VycmVudCBjb21wcmVzcyBvcGVyYXRpb25zIgorbXNnc3RyICJhbnRhbCBzYW10aWRpZ2Ega29tcHJpbWVyaW5nc8OldGfDpHJkZXIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzkKK21zZ2lkICJlbXB0eSBwYWdlcyB3aXRoIG5vIGFsbG9jYXRlZCBtZW1vcnkiCittc2dzdHIgInRvbW1hIHNpZG9yIHV0YW4gYWxsb2tlcmF0IG1pbm5lIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgwCittc2dpZCAiYWxsIG1lbW9yeSBpbmNsdWRpbmcgYWxsb2NhdG9yIGZyYWdtZW50YXRpb24gYW5kIG1ldGFkYXRhIG92ZXJoZWFkIgorbXNnc3RyICJhbGx0IG1pbm5lIGlua2x1c2l2ZSBhbGxva2F0b3JmcmFnbWVudGVyaW5nIG9jaCBtZXRhZGF0YW9ta29zdG5hZGVyIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgxCittc2dpZCAibWVtb3J5IGxpbWl0IHVzZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICJtaW5uZXNiZWdyw6Ruc25pbmcgYW52w6RuZCBmw7ZyIGF0dCBzcGFyYSBrb21wcmltZXJhZCBkYXRhIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgyCittc2dpZCAibWVtb3J5IHpyYW0gaGF2ZSBiZWVuIGNvbnN1bWVkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAibWlubmV0IHpyYW0gaGFyIGtvbnN1bWVyYXRzIGbDtnIgYXR0IGxhZ3JhIGtvbXByaW1lcmFkIGRhdGEiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODMKK21zZ2lkICJudW1iZXIgb2Ygb2JqZWN0cyBtaWdyYXRlZCBieSBjb21wYWN0aW9uIgorbXNnc3RyICJhbnRhbCBvYmpla3Qgc29tIGZseXR0YXRzIHDDpSBncnVuZCBhdiBrb21wcmltZXJpbmciCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6MzYzIHN5cy11dGlscy96cmFtY3RsLmM6Mzc0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIG1tX3N0YXQiCittc2dzdHIgIk1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIG1tX3N0YXQiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyIgJTEkcyAtciA8ZGV2aWNlPiBbLi4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxkZXZpY2U+IC1zIDxzaXplPlxuIgorbXNnc3RyICIiCisiICUxJHMgW2ZsYWdnb3JdIDxlbmhldD5cbiIKKyIgJTEkcyAtciA8ZW5oZXQ+IFvigKZdXG4iCisiICUxJHMgW2ZsYWdnb3JdIC1mIHwgPGVuaGV0PiAtcyA8c3Rvcmxlaz5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MjcKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgenJhbSBkZXZpY2VzLlxuIgorbXNnc3RyICJTdMOkbGwgaW4gb2NoIGtvbnRyb2xsZXJhIHpyYW0tZW5oZXRlci5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzAKK21zZ2lkICIgLWEsIC0tYWxnb3JpdGhtIGx6b3xsejQgICBjb21wcmVzc2lvbiBhbGdvcml0aG0gdG8gdXNlXG4iCittc2dzdHIgIiAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NCAgIHZpbGtlbiBrb21wcmltZXJpbmdzYWxnb3JpdG0gc29tIHNrYSBhbnbDpG5kYXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzEKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICAgc2tyaXYgdXQgc3Rvcmxla2FyIGkgYnl0ZSBzbmFyYXJlIMOkbiBpIGZvcm1hdCBsw6RzbGlndCBmw7ZyIG3DpG5uaXNrb3JcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzIKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICBmaW5kIGEgZnJlZSBkZXZpY2VcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgaGl0dGEgZW4gbGVkaWcgZW5oZXRcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBza3JpdiBpbnRlIHV0IHJ1YnJpa2VyXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM0Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICAgICAga29sdW1uZXIgYXR0IGFudsOkbmRhIGbDtnIgc3RhdHVzdXRtYXRuaW5nXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM1Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgdXNlIHJhdyBzdGF0dXMgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICBhbnbDpG5kIHLDpXR0IHV0bWF0bmluZ3Nmb3JtYXRcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzYKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgw6V0ZXJzdMOkbGwgYWxsYSBhbmdpdm5hIGVuaGV0ZXJcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzcKK21zZ2lkICIgLXMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgLXMsIC0tc2l6ZSA8c3Rvcmxlaz4gICAgICBzdG9ybGVrIGbDtnIgZW5oZXRcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzgKK21zZ2lkICIgLXQsIC0tc3RyZWFtcyA8bnVtYmVyPiAgICBudW1iZXIgb2YgY29tcHJlc3Npb24gc3RyZWFtc1xuIgorbXNnc3RyICIgLXQsIC0tc3RyZWFtcyA8bnVtbWVyPiAgICBhbnRhbCBrb21wcmltZXJpbmdzc3Ryw7ZtbWFyXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjA0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGFsZ29yaXRobTogJXMiCittc2dzdHIgImFsZ29yaXRtIHN0w7ZkcyBpbnRlOiAlcyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2MjYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RyZWFtcyIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2Egc3Ryw7ZtbWFyIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY0OAorbXNnaWQgIm9wdGlvbiAtLWZpbmQgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPGRldmljZT4iCittc2dzdHIgImZsYWdnYW4gLS1maW5kIMOkciDDtm1zZXNpZGlndCB1dGVzbHV0YW5kZSBtZWQgPGVuaGV0PiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NTQKK21zZ2lkICJvbmx5IG9uZSA8ZGV2aWNlPiBhdCBhIHRpbWUgaXMgYWxsb3dlZCIKK21zZ3N0ciAiZW5kYXN0IGVuIDxlbmhldD4gdGlsbMOldHMgw6V0IGfDpW5nZW4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjU3Cittc2dpZCAib3B0aW9ucyAtLWFsZ29yaXRobSBhbmQgLS1zdHJlYW1zIG11c3QgYmUgY29tYmluZWQgd2l0aCAtLXNpemUiCittc2dzdHIgImZsYWdnb3JuYSAtLWFsZ29yaXRobSBvY2ggLS1zdHJlYW1zIG3DpXN0ZSBrb21iaW5lcmFzIG1lZCAtLXNpemUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njg3IHN5cy11dGlscy96cmFtY3RsLmM6NzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVzZXQiCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCDDpXRlcnN0w6RsbGEiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njk4IHN5cy11dGlscy96cmFtY3RsLmM6NzA2Cittc2dpZCAibm8gZnJlZSB6cmFtIGRldmljZSBmb3VuZCIKK21zZ3N0ciAiaW5nZW4gbGVkaWcgenJhbS1lbmhldCBoaXR0YWRlcyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgbnVtYmVyIG9mIHN0cmVhbXMiCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCBzdMOkbGxhIGluIGFudGFsIHN0csO2bW1hciIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYWxnb3JpdGhtIgorbXNnc3RyICIlczogbWlzc2x5Y2thZGVzIG1lZCBhdHQgc3TDpGxsYSBpbiBhbGdvcml0bSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgZGlza3NpemUgKCVqdSBieXRlcykiCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCBzdMOkbGxhIGRpc2tzdG9ybGVrICglanUgYnl0ZSkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzJXMgKGF1dG9tYXRpYyBsb2dpbilcbiIKK21zZ3N0ciAiJXMlcyAoYXV0b21hdGlzayBpbmxvZ2duaW5nKVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHJvb3QgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiJXM6IGthbiBpbnRlIMOkbmRyYSByb3RrYXRhbG9nICVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSB3b3JraW5nIGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVzOiBrYW4gaW50ZSDDpG5kcmEgYXJiZXRza2F0YWxvZyAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2UgcHJvY2VzcyBwcmlvcml0eTogJW0iCittc2dzdHIgIiVzOiBrYW4gaW50ZSDDpG5kcmEgcHJvY2Vzc3ByaW9yaXRldDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBleGVjICVzOiAlbSIKK21zZ3N0ciAiJXM6IGthbiBpbnRlIGvDtnJhICVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1NTUgdGVybS11dGlscy9hZ2V0dHkuYzo4NDEgdGVybS11dGlscy9hZ2V0dHkuYzo4NTMKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODcwIHRlcm0tdXRpbHMvYWdldHR5LmM6MTQxNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MzMKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ2OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NzkgdGVybS11dGlscy9hZ2V0dHkuYzoxNTE2CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NzggdGVybS11dGlscy9hZ2V0dHkuYzoyNTIxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnk6ICVtIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBhbGxva2VyYSBtaW5uZTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NjgwCittc2dpZCAiaW52YWxpZCBkZWxheSBhcmd1bWVudCIKK21zZ3N0ciAib2dpbHRpZ3QgZsO2cmRyw7ZqbmluZ3Nhcmd1bWVudCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3MTkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC0tbG9jYWwtbGluZSIKK21zZ3N0ciAib2dpbHRpZ3QgYXJndW1lbnQgdGlsbCAtLWxvY2FsLWxpbmUiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzM4Cittc2dpZCAiaW52YWxpZCBuaWNlIGFyZ3VtZW50IgorbXNnc3RyICJvZ2lsdGlndCBuaWNlLWFyZ3VtZW50IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3BlZWQ6ICVzIgorbXNnc3RyICJmZWxha3RpZyBoYXN0aWdoZXQ6ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3NworbXNnaWQgInRvbyBtYW55IGFsdGVybmF0ZSBzcGVlZHMiCittc2dzdHIgImbDtnIgbcOlbmdhIGFsdGVybmF0aXZhIGhhc3RpZ2hldGVyIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMDYgdGVybS11dGlscy9hZ2V0dHkuYzoxMDEwIHRlcm0tdXRpbHMvYWdldHR5LmM6MTA2MworIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgb3BlbiBhcyBzdGFuZGFyZCBpbnB1dDogJW0iCittc2dzdHIgIi9kZXYvJXM6IGthbiBpbnRlIMO2cHBuYSBzb20gc3RhbmRhcmQgaW46ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgY2hhcmFjdGVyIGRldmljZSIKK21zZ3N0ciAiL2Rldi8lczogaW5nZW4gdGVja2VuZW5oZXQiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAzMQorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSB0dHkiCittc2dzdHIgIi9kZXYvJXM6IGludGUgZW4gdHR5IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzUgdGVybS11dGlscy9hZ2V0dHkuYzoxMDY3CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBnZXQgY29udHJvbGxpbmcgdHR5OiAlbSIKK21zZ3N0ciAiL2Rldi8lczoga2FuIGludGUgw7ZwcG5hIGtvbnRyb2xsZXJhbmRlIHR0eTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA1NworIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiB2aGFuZ3VwKCkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiL2Rldi8lczogdmhhbmd1cCgpIG1pc3NseWNrYWRlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG9wZW4gZm9yIHJlYWQvd3JpdGUiCittc2dzdHIgIiVzOiBpbnRlIMO2cHBlbiBmw7ZyIGzDpHNuaW5nL3Nrcml2bmluZyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBzZXQgcHJvY2VzcyBncm91cDogJW0iCittc2dzdHIgIi9kZXYvJXM6IGthbiBpbnRlIHN0w6RsbGEgaW4gcHJvY2Vzc2dydXBwOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkdXAgcHJvYmxlbTogJW0iCittc2dzdHIgIiVzOiBkdXBsaWNlcmluZ3Nwcm9ibGVtOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICIlczogbWlzc2x5Y2thZGVzIG1lZCBhdHQgaMOkbXRhIHRlcm1pbmFsYXR0cmlidXQ6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzMjEgdGVybS11dGlscy9hZ2V0dHkuYzoxMzQxCisjLCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgdGVybWluYWwgYXR0cmlidXRlcyBmYWlsZWQ6ICVtIgorbXNnc3RyICJpbnN0w6RsbG5pbmcgYXYgdGVybWluYWxhdHRyaWJ1dCBtaXNzbHlja2FkZXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NTkKK21zZ2lkICJjYW5ub3Qgb3BlbiBvcy1yZWxlYXNlIGZpbGUiCittc2dzdHIgImthbiBpbnRlIMO2cHBuYSBvcy1yZWxlYXNlLWZpbCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNjM3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcmVsb2FkIGZpbGU6ICVzOiAlbSIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgc2thcGEgw6V0ZXJpbmzDpHNuaW5nc2ZpbDogJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3MzYKK21zZ2lkICJbcHJlc3MgRU5URVIgdG8gbG9naW5dIgorbXNnc3RyICJbdHJ5Y2sgcMOlIFJFVFVSIGbDtnIgYXR0IGxvZ2dhIGluXSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzYwCittc2dpZCAiTnVtIExvY2sgb2ZmIgorbXNnc3RyICJOdW0gTG9jayDDpHIgYXYiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2MworbXNnaWQgIk51bSBMb2NrIG9uIgorbXNnc3RyICJOdW0gTG9jayDDpHIgcMOlIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjYKK21zZ2lkICJDYXBzIExvY2sgb24iCittc2dzdHIgIkNhcHMgTG9jayDDpHIgcMOlIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjkKK21zZ2lkICJTY3JvbGwgTG9jayBvbiIKK21zZ3N0ciAiU2Nyb2xsIExvY2sgw6RyIHDDpSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJIaW50OiAlc1xuIgorIlxuIgorbXNnc3RyICIiCisiVGlwczogJXNcbiIKKyJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkOiAlbSIKK21zZ3N0ciAiJXM6IGzDpHN0ZTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk1OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5wdXQgb3ZlcnJ1biIKK21zZ3N0ciAiJXM6IGluZGF0YXNwaWxsIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NzQgdGVybS11dGlscy9hZ2V0dHkuYzoxOTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciBjb252ZXJzaW9uIGZvciBsb2dpbiBuYW1lIgorbXNnc3RyICIlczogb2dpbHRpZyB0ZWNrZW5rb252ZXJ0ZXJpbmcgZsO2ciBpbmxvZ2duaW5nc25hbW4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgMHgleCBpbiBsb2dpbiBuYW1lIgorbXNnc3RyICIlczogb2dpbHRpZ3QgdGVja2VuIDB4JXggaSBpbmxvZ2duaW5nc25hbW4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA3MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiJXMgbWlzc2x5Y2thZGVzIG1lZCBhdHQgc3TDpGxsYSBpbiB0ZXJtaW5hbGF0dHJpYnV0OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGxpbmU+IFs8YmF1ZF9yYXRlPiwuLi5dIFs8dGVybXR5cGU+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8YmF1ZF9yYXRlPiwuLi4gPGxpbmU+IFs8dGVybXR5cGU+XVxuIgorbXNnc3RyICIiCisiICUxJHMgW2ZsYWdnb3JdIDxsaW5qZT4gWzxiYXVkX2hhc3RpZ2hldD4s4oCmXSBbPHRlcm10eXA+XVxuIgorIiAlMSRzIFtmbGFnZ29yXSA8YmF1ZF9oYXN0aWdoZXQ+LOKApiA8bGluamU+IFs8dGVybXR5cD5dXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExMworbXNnaWQgIk9wZW4gYSB0ZXJtaW5hbCBhbmQgc2V0IGl0cyBtb2RlLlxuIgorbXNnc3RyICLDlnBwbmEgZW4gdGVybWluYWwgb2NoIHN0w6RsbCBpbiBkZXNzIGzDpGdlLlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTYKK21zZ2lkICIgLTgsIC0tOGJpdHMgICAgICAgICAgICAgICAgYXNzdW1lIDgtYml0IHR0eVxuIgorbXNnc3RyICIgLTgsIC0tOGJpdHMgICAgICAgICAgICAgICAgYW50YWcgYXR0IGRldCDDpHIgZW4gOC1iaXRhcnMgdHR5XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExNworbXNnaWQgIiAtYSwgLS1hdXRvbG9naW4gPHVzZXI+ICAgICBsb2dpbiB0aGUgc3BlY2lmaWVkIHVzZXIgYXV0b21hdGljYWxseVxuIgorbXNnc3RyICIgLWEsIC0tYXV0b2xvZ2luIDxhbnbDpG5kYXJlPiBsb2dnYSBpbiBkZW4gYW5naXZuYSBhbnbDpG5kYXJlbiBhdXRvbWF0aXNrdFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTgKK21zZ2lkICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAgZG8gbm90IHJlc2V0IGNvbnRyb2wgbW9kZVxuIgorbXNnc3RyICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAgw6V0ZXJzdMOkbGwgaW50ZSBrb250cm9sbMOkZ2VcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE5Cittc2dpZCAiIC1FLCAtLXJlbW90ZSAgICAgICAgICAgICAgIHVzZSAtciA8aG9zdG5hbWU+IGZvciBsb2dpbigxKVxuIgorbXNnc3RyICIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAgYW52w6RuZCAtciA8dsOkcmRuYW1uPiBmw7ZyIGxvZ2luKDEpXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMAorbXNnaWQgIiAtZiwgLS1pc3N1ZS1maWxlIDxmaWxlPiAgICBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIC1mLCAtLWlzc3VlLWZpbGUgPGZpbD4gICAgICB2aXNhIGlzc3VlLWZpbFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjEKK21zZ2lkICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgZW5hYmxlIGhhcmR3YXJlIGZsb3cgY29udHJvbFxuIgorbXNnc3RyICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgYWt0aXZlcmEgaMOlcmR2YXJ1YmFzZXJhZCBmbMO2ZGVza29udHJvbGxcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIyCittc2dpZCAiIC1ILCAtLWhvc3QgPGhvc3RuYW1lPiAgICAgIHNwZWNpZnkgbG9naW4gaG9zdFxuIgorbXNnc3RyICIgLUgsIC0taG9zdCA8dsOkcmRuYW1uPiAgICAgIGFuZ2UgaW5sb2dnbmluZ3N2w6RyZFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjMKK21zZ2lkICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgZG8gbm90IGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgdmlzYSBpbnRlIGlzc3VlLWZpbFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjQKK21zZ2lkICIgLUksIC0taW5pdC1zdHJpbmcgPHN0cmluZz4gc2V0IGluaXQgc3RyaW5nXG4iCittc2dzdHIgIiAtSSwgLS1pbml0LXN0cmluZyA8c3Ryw6RuZz4gc3TDpGxsIGluIGluaXRpZXJpbmdzLXN0csOkbmdcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI1Cittc2dpZCAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIGRvIG5vdCBjbGVhciB0aGUgc2NyZWVuIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIHJlbnNhIGludGUgc2vDpHJtZW4gaW5uYW4gcHJvbXB0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNgorbXNnaWQgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBzcGVjaWZ5IGxvZ2luIHByb2dyYW1cbiIKK21zZ3N0ciAiIC1sLCAtLWxvZ2luLXByb2dyYW0gPGZpbD4gIGFuZ2UgaW5sb2dnbmluZ3Nwcm9ncmFtXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNworbXNnaWQgIiAtTCwgLS1sb2NhbC1saW5lWz08bW9kZT5dICBjb250cm9sIHRoZSBsb2NhbCBsaW5lIGZsYWdcbiIKK21zZ3N0ciAiIC1MLCAtLWxvY2FsLWxpbmVbPTxsw6RnZT5dICBzdHlyIGZsYWdnYW4gZsO2ciBkZW4gbG9rYWxhIGxpbmplblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjgKK21zZ2lkICIgLW0sIC0tZXh0cmFjdC1iYXVkICAgICAgICAgZXh0cmFjdCBiYXVkIHJhdGUgZHVyaW5nIGNvbm5lY3RcbiIKK21zZ3N0ciAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhaGVyYSBiYXVkLWhhc3RpZ2hldCB1bmRlciBhbnNsdXRuaW5nXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyOQorbXNnaWQgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBkbyBub3QgcHJvbXB0IGZvciBsb2dpblxuIgorbXNnc3RyICIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAgZnLDpWdhIGludGUgZWZ0ZXIgaW5sb2dnbmluZ1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzAKK21zZ2lkICIgLU4gIC0tbm9uZXdsaW5lICAgICAgICAgICAgZG8gbm90IHByaW50IGEgbmV3bGluZSBiZWZvcmUgaXNzdWVcbiIKK21zZ3N0ciAiIC1OICAtLW5vbmV3bGluZSAgICAgICAgICAgIHNrcml2IGludGUgdXQgbnlyYWQgaW5uYW4gaXNzdWUtZmlsXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMQorbXNnaWQgIiAtbywgLS1sb2dpbi1vcHRpb25zIDxvcHRzPiBvcHRpb25zIHRoYXQgYXJlIHBhc3NlZCB0byBsb2dpblxuIgorbXNnc3RyICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8ZmxhZ2dvcj4gZmxhZ2dvciBzb20gc2tpY2thcyB2aWRhcmUgdGlsbCBsb2dpblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzIKK21zZ2lkICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICB2w6RudGEgcMOlIHZhbGZyaSB0YW5nZW50IGlubmFuIGlubG9nZ25pbmdcbiIKKworIyBzZWJyYXM6IGNoYW5nZSByb290IHRvIHRoZSBnaXZlbiBkaXJlY3RvcnkKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMworbXNnaWQgIiAtciwgLS1jaHJvb3QgPGRpcj4gICAgICAgICBjaGFuZ2Ugcm9vdCB0byB0aGUgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtciwgLS1jaHJvb3QgPGthdD4gICAgICAgICDDpG5kcmEgcm90IHRpbGwgYW5naXZlbiBrYXRhbG9nXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNAorbXNnaWQgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICBkbyB2aXJ0dWFsbHkgaGFuZ3VwIG9uIHRoZSB0dHlcbiIKK21zZ3N0ciAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgIGF2cmluZyB0dHk6biB2aXJ0dWVsbHRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM1Cittc2dpZCAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIHRyeSB0byBrZWVwIGJhdWQgcmF0ZSBhZnRlciBicmVha1xuIgorbXNnc3RyICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgZsO2cnPDtmsgYXR0IGJlaMOlbGxhIGJhdWQtaGFzdGlnaGV0IGVmdGVyIGF2YnJvdHRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM2Cittc2dpZCAiIC10LCAtLXRpbWVvdXQgPG51bWJlcj4gICAgIGxvZ2luIHByb2Nlc3MgdGltZW91dFxuIgorbXNnc3RyICIgLXQsIC0tdGltZW91dCA8bnVtbWVyPiAgICAgdGlkc2dyw6RucyBmw7ZyIGlubG9nZ25pbmdzcHJvY2Vzc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzcKK21zZ2lkICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgZGV0ZWN0IHVwcGVyY2FzZSB0ZXJtaW5hbFxuIgorbXNnc3RyICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgaWRlbnRpZmllcmEgdGVybWluYWwgc29tIGFudsOkbmRlciB2ZXJzYWxlclxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzgKK21zZ2lkICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgd2FpdCBjYXJyaWFnZS1yZXR1cm5cbiIKK21zZ3N0ciAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIHbDpG50YSBww6UgdmFnbnJldHVyXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzOQorbXNnaWQgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBkbyBub3QgcHJpbnQgaGludHNcbiIKK21zZ3N0ciAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIHNrcml2IGludGUgdXQgdGlwc1xuIgorCisjIHNlYnJhczogaG9zdG5hbWUgd2lsbCBub3QgYmUgc2hvd24gYXQgYWxsCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDAKK21zZ2lkICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAgbm8gaG9zdG5hbWUgYXQgYWxsIHdpbGwgYmUgc2hvd25cbiIKK21zZ3N0ciAiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgIHbDpHJkbmFtbmV0IGtvbW1lciBpbnRlIGF0dCB2aXNhcyBhbGxzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MQorbXNnaWQgIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICBzaG93IGZ1bGwgcXVhbGlmaWVkIGhvc3RuYW1lXG4iCittc2dzdHIgIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICB2aXNhIGZ1bGxzdMOkbmRpZ3QgdsOkcmRuYW1uXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MgorbXNnaWQgIiAgICAgLS1lcmFzZS1jaGFycyA8c3RyaW5nPiBhZGRpdGlvbmFsIGJhY2tzcGFjZSBjaGFyc1xuIgorbXNnc3RyICIgICAgIC0tZXJhc2UtY2hhcnMgPHN0csOkbmc+IHl0dGVybGlnYXJlIGJhY2tzdGVnc3RlY2tlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDMKK21zZ2lkICIgICAgIC0ta2lsbC1jaGFycyA8c3RyaW5nPiAgYWRkaXRpb25hbCBraWxsIGNoYXJzXG4iCittc2dzdHIgIiAgICAgLS1raWxsLWNoYXJzIDxzdHLDpG5nPiAgeXR0ZXJsaWdhcmUgdGVja2VuIHNvbSBpZ25vcmVyYXIgYWxsIHRpZGlnYXJlIHRlY2tlblxuIgorCisjIHNlYnJhczogY2hhbmdlIGRpcmVjdG9yeSBiZWZvcmUgbG9naW4KKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NAorbXNnaWQgIiAgICAgLS1jaGRpciA8ZGlyZWN0b3J5PiAgICBjaGRpciBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiAgICAgLS1jaGRpciA8a2F0YWxvZz4gICAgICBieXQga2F0YWxvZyBpbm5hbiBpbmxvZ2duaW5nXG4iCisKKyMgc2VicmFzOiA8c2Vjb25kcz4gc2Vjb25kcyBvZiBkZWxheSBiZWZvcmUgcHJvbXB0CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDUKK21zZ2lkICIgICAgIC0tZGVsYXkgPG51bWJlcj4gICAgICAgc2xlZXAgc2Vjb25kcyBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAgICAgLS1kZWxheSA8bnVtbWVyPiAgICAgICBhbnRhbCBzZWt1bmRlciBmw7ZyZHLDtmpuaW5nIGlubmFuIHByb21wdFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDYKK21zZ2lkICIgICAgIC0tbmljZSA8bnVtYmVyPiAgICAgICAgcnVuIGxvZ2luIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIgICAgIC0tbmljZSA8bnVtbWVyPiAgICAgICAga8O2ciBpbmxvZ2duaW5nIG1lZCBkZW5uYSBwcmlvcml0ZXRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ3Cittc2dpZCAiICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgIHJlbG9hZCBwcm9tcHRzIG9uIHJ1bm5pbmcgYWdldHR5IGluc3RhbmNlc1xuIgorbXNnc3RyICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgw6V0ZXJpbmzDpHMgcHJvbXB0IGkga8O2cmFuZGUgYWdldHR5LWluc3RhbnNlclxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDgKK21zZ2lkICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAtLWhlbHAgICAgICAgICAgICAgICAgIHZpc2EgZGVubmEgaGrDpGxwIG9jaCBhdnNsdXRhXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0OQorbXNnaWQgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgc2tyaXYgdXQgdmVyc2lvbnNpbmZvcm1hdGlvbiBvY2ggYXZzbHV0YVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI0ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgdXNlciIKK21zZ2lkX3BsdXJhbCAiJWQgdXNlcnMiCittc2dzdHJbMF0gIiVkIGFudsOkbmRhcmUiCittc2dzdHJbMV0gIiVkIGFudsOkbmRhcmUiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICJjaGVja25hbWUgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2hlY2tuYW1lIG1pc3NseWNrYWRlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdG91Y2ggZmlsZSAlcyIKK21zZ3N0ciAia2FuIGludGUgcsO2cmEgZmlsZW4gJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYyNQorbXNnaWQgIi0tcmVsb2FkIGlzIHVuc3VwcG9ydGVkIG9uIHlvdXIgc3lzdGVtIgorbXNnc3RyICItLXJlbG9hZCBzdMO2ZHMgaW50ZSBww6UgZGl0dCBzeXN0ZW0iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3kgfCBuXVxuIgorbXNnc3RyICIgJXMgW2ZsYWdnb3JdIFt5IHwgbiBdXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc4Cittc2dpZCAiQ29udHJvbCB3cml0ZSBhY2Nlc3Mgb2Ygb3RoZXIgdXNlcnMgdG8geW91ciB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiU3R5ciBza3JpdsOldGtvbXN0IGbDtnIgYW5kcmEgYW52w6RuZGFyZSBww6UgZGluIHRlcm1pbmFsLlxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo4MQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgZsO2cmtsYXJhIHZhZCBzb20gaMOkbmRlclxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMjUKK21zZ2lkICJ0dHluYW1lIGZhaWxlZCIKK21zZ3N0ciAidHR5bmFtZSBtaXNzbHlja2FkZXMiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNAorbXNnaWQgImlzIHkiCittc2dzdHIgIsOkciBww6UgKHkpIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzcKK21zZ2lkICJpcyBuIgorbXNnc3RyICLDpHIgYXYgKG4pIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNDggdGVybS11dGlscy9tZXNnLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZSAlcyBtb2RlIGZhaWxlZCIKK21zZ3N0ciAiw6RuZHJpbmcgYXYgJXMtbMOkZ2UgbWlzc2x5Y2thZGVzIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNTAKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBhbGxvd2VkIgorbXNnc3RyICJza3JpdsOldGtvbXN0IGbDtnIgZGluIHRlcm1pbmFsIMOkciB0aWxsw6V0ZW4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1NworbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGRlbmllZCIKK21zZ3N0ciAic2tyaXbDpXRrb21zdCBmw7ZyIGRpbiB0ZXJtaW5hbCBhdmLDtmpzIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXMiCittc2dzdHIgIm9naWx0aWd0IGFyZ3VtZW50OiAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZV1cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSBbZmlsXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2MgorbXNnaWQgIk1ha2UgYSB0eXBlc2NyaXB0IG9mIGEgdGVybWluYWwgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiU2thcGEgZXR0IGlubWF0bmluZ3Nza3JpcHQgZnLDpW4gZW4gdGVybWluYWxzZXNzaW9uLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NQorbXNnaWQgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgYXBwZW5kIHRoZSBvdXRwdXRcbiIKKyIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gcnVuIGNvbW1hbmQgcmF0aGVyIHRoYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgcmV0dXJuIGV4aXQgY29kZSBvZiB0aGUgY2hpbGQgcHJvY2Vzc1xuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICBydW4gZmx1c2ggYWZ0ZXIgZWFjaCB3cml0ZVxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICB1c2Ugb3V0cHV0IGZpbGUgZXZlbiB3aGVuIGl0IGlzIGEgbGlua1xuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICBiZSBxdWlldFxuIgorIiAtdCwgLS10aW1pbmdbPTxmaWxlPl0gICBvdXRwdXQgdGltaW5nIGRhdGEgdG8gc3RkZXJyIChvciB0byBGSUxFKVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgIGzDpGdnIHRpbGwgdXRtYXRuaW5nXG4iCisiIC1jLCAtLWNvbW1hbmQgPGtvbW1hbmRvPiBrw7ZyIGtvbW1hbmRvIHNuYXJhcmUgw6RuIGV0dCBpbnRlcmFrdGl2dCBza2FsXG4iCisiIC1lLCAtLXJldHVybiAgICAgICAgICAgIHJldHVybmVyYSBhdnNsdXRuaW5nc2tvZCBmw7ZyIGJhcm5wcm9jZXNzZW5cbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAga8O2ciBzcG9sbmluZyBlZnRlciB2YXJqZSBza3Jpdm5pbmdcbiIKKyIgICAgIC0tZm9yY2UgICAgICAgICAgICAgYW52w6RuZCB1dG1hdG5pbmdzZmlsIMOkdmVuIG9tIGRldCDDpHIgZW4gbMOkbmtcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgdmFyIHR5c3RcbiIKKyIgLXQsIC0tdGltaW5nWz08ZmlsPl0gICAgbWF0YSB1dCB0aWRtw6R0bmluZ3NkYXRhIHRpbGwgc3RhbmRhcmQgZmVsIChlbGxlciB0aWxsIEZJTClcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgbWF0YSB1dCB2ZXJzaW9uc2luZm9ybWF0aW9uIG9jaCBhdnNsdXRhXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIHZpc2EgZGVubmEgaGrDpGxwIG9jaCBhdnNsdXRhXG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJvdXRwdXQgZmlsZSBgJXMnIGlzIGEgbGlua1xuIgorIlVzZSAtLWZvcmNlIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuXG4iCisiUHJvZ3JhbSBub3Qgc3RhcnRlZC4iCittc2dzdHIgIiIKKyJWYXJuaW5nOiDigJ0lc+KAnSDDpHIgZW4gbMOkbmsuXG4iCisiQW52w6RuZCAtLWZvcmNlIG9tIGR1IHZlcmtsaWdlbiB2aWxsIGFudsOkbmRhIGRlbi5cbiIKKyJQcm9ncmFtbWV0IHN0YXJ0YWRlcyBpbnRlLiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IGRvbmUsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiU2tyaXB0ZXQgZsOkcmRpZ3QsIGZpbGVuIMOkciAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI2MgorbXNnaWQgImNhbm5vdCB3cml0ZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAia2FuIGludGUgc2tyaXZhIHNrcmlwdGZpbCIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlc3Npb24gYXZzbHV0YWRlcy5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXMiCittc2dzdHIgIlNrcmlwdGV0IHN0YXJ0YWRlcyAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNjcmlwdCBkb25lIG9uICVzIgorbXNnc3RyICIiCisiXG4iCisiU2tyaXB0ZXQgZsOkcmRpZ3QgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjA3Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBow6RtdGEgdGVybWluYWxhdHRyaWJ1dCIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2MTQKK21zZ2lkICJvcGVucHR5IGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBtaXNzbHlja2FkZXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjUyCittc2dpZCAib3V0IG9mIHB0eSdzIgorbXNnc3RyICJzbHV0IHDDpSBwdHk6ZXIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIlNrcmlwdGV0IHN0YXJ0YWRlcywgZmlsZW4gw6RyICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstdF0gdGltaW5nZmlsZSBbdHlwZXNjcmlwdF0gW2Rpdmlzb3JdXG4iCittc2dzdHIgIiAlcyBbLXRdIHRpZG3DpHRuaW5nc2ZpbCBbaW5tYXRuaW5nc3NrcmlwdF0gW2RlbGFyZV1cbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0NworbXNnaWQgIlBsYXkgYmFjayB0ZXJtaW5hbCB0eXBlc2NyaXB0cywgdXNpbmcgdGltaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICLDhXRlcnVwcHNwZWxhIGlubWF0bmluZ3Nza3JpcHQgZsO2ciB0ZXJtaW5hbGVyIG1lZCBoasOkbHAgYXYgdGlkbcOkdG5pbmdzaW5mb3JtYXRpb24uXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NTAKK21zZ2lkICIiCisiIC10LCAtLXRpbWluZyA8ZmlsZT4gICAgIHNjcmlwdCB0aW1pbmcgb3V0cHV0IGZpbGVcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA8ZmlsZT4gc2NyaXB0IHRlcm1pbmFsIHNlc3Npb24gb3V0cHV0IGZpbGVcbiIKKyIgLWQsIC0tZGl2aXNvciA8bnVtPiAgICAgc3BlZWQgdXAgb3Igc2xvdyBkb3duIGV4ZWN1dGlvbiB3aXRoIHRpbWUgZGl2aXNvclxuIgorIiAtbSwgLS1tYXhkZWxheSA8bnVtPiAgICB3YWl0IGF0IG1vc3QgdGhpcyBtYW55IHNlY29uZHMgYmV0d2VlbiB1cGRhdGVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyIgLXQsIC0tdGltaW5nIDxmaWw+ICAgICAgdXRtYXRuaW5nc3NrcmlwdGZpbCBtZWQgdGlkbcOkdG5pbmdcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA8ZmlsPiAgdXRtYXRuaW5nc3NrcmlwdGZpbCBmw7ZyIHRlcm1pbmFsc2Vzc2lvblxuIgorIiAtZCwgLS1kaXZpc29yIDxudW0+ICAgICBzbmFiYmEgdXBwIGVsbGVyIHNha3RhIG5lciBleGVrdmVyaW5nIG1lZCB0aWRzZGVsYXJlXG4iCisiIC1tLCAtLW1heGRlbGF5IDxudW0+ICAgIHbDpG50YSBzw6UgaMOkciBtw6VuZ2Egc2VrdW5kZXIgc29tIGzDpG5nc3QgbWVsbGFuIHVwcGRhdGVyaW5nYXJcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgbWF0YSB1dCB2ZXJzaW9uc2luZm9ybWF0aW9uIG9jaCBhdnNsdXRhXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIHZpc2EgZGVubmEgaGrDpGxwIG9jaCBhdnNsdXRhXG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTEyCittc2dpZCAid3JpdGUgdG8gc3Rkb3V0IGZhaWxlZCIKK21zZ3N0ciAic2tyaXZuaW5nIHRpbGwgc3RhbmRhcmQgdXQgbWlzc2x5Y2thZGVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIG9uICVzIgorbXNnc3RyICJvdsOkbnRhdCBmaWxzbHV0IHDDpSAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdHlwZXNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBsw6RzYSB0eXBlc2NyaXB0LWZpbCAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxODQKK21zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJmZWxha3RpZ3QgYW50YWwgYXJndW1lbnQiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHRpbWluZyBmaWxlICVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBsw6RzYSB0aWRtw6R0bmluZ3NmaWwgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWluZyBmaWxlICVzOiBsaW5lICVsdTogdW5leHBlY3RlZCBmb3JtYXQiCittc2dzdHIgInRpZG3DpHRuaW5nc2ZpbCAlczogcmFkICVsdTogb3bDpG50YXQgZm9ybWF0IgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXJndW1lbnQgZXJyb3I6IGJyaWdodCAlcyBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJhcmd1bWVudGZlbDogbGp1cyAlcyBzdMO2ZHMgaW50ZSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI4Cittc2dpZCAidG9vIG1hbnkgdGFicyIKK21zZ3N0ciAiZsO2ciBtw6VuZ2EgdGFiYmFyIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODMKK21zZ2lkICJTZXQgdGhlIGF0dHJpYnV0ZXMgb2YgYSB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiU3TDpGxsIGluIGVuIHRlcm1pbmFscyBhdHRyaWJ1dC5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg2Cittc2dpZCAiIC0tdGVybSAgICAgICAgICA8dGVybWluYWxfbmFtZT4gICBvdmVycmlkZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiAtLXRlcm0gICAgICAgICAgPHRlcm1pbmFsbmFtbj4gICAgw6VzaWRvc8OkdHQgbWlsasO2dmFyaWFiZWxuIFRFUk1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg3Cittc2dpZCAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCB0byBwb3dlci1vbiBzdGF0ZVxuIgorbXNnc3RyICIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIMOldGVyc3TDpGxsIHRlcm1pbmFsIHRpbGwgbMOkZ2V0IGVmdGVyIHVwcHN0YXJ0XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OAorbXNnaWQgIiAtLWluaXRpYWxpemUgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBpbml0IHN0cmluZywgYW5kIHVzZSBkZWZhdWx0IHNldHRpbmdzXG4iCittc2dzdHIgIiAtLWluaXRpYWxpemUgICAgICAgICAgICAgICAgICAgICAgdmlzYSBpbml0aWVyaW5nc3N0csOkbmcgb2NoIGFudsOkbmQgc3RhbmRhcmRpbnN0w6RsbG5pbmdhclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODkKK21zZ2lkICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBkZWZhdWx0IHRlcm1pbmFsIHNldHRpbmdzXG4iCittc2dzdHIgIiAtLWRlZmF1bHQgICAgICAgICAgICAgICAgICAgICAgICAgYW52w6RuZCBzdGFuZGFyZGluc3TDpGxsbmluZ2FyIGbDtnIgdGVybWluYWxcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkwCittc2dpZCAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgdGVybWluYWwgc2V0dGluZ3MgYXMgZGVmYXVsdFxuIgorbXNnc3RyICIgLS1zdG9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwYXJhIGFrdHVlbGxhIHRlcm1pbmFsaW5zdMOkbGxuaW5nYXIgc29tIHN0YW5kYXJkdsOkcmRlblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTEKK21zZ2lkICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGRpc3BsYXkgY3Vyc29yXG4iCittc2dzdHIgIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAgdmlzYSBtYXJrw7ZyXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MgorbXNnaWQgIiAtLXJlcGVhdCAgICAgICAgW29ufG9mZl0gICAgICAgICAga2V5Ym9hcmQgcmVwZWF0XG4iCittc2dzdHIgIiAtLXJlcGVhdCAgICAgICAgW29ufG9mZl0gICAgICAgICAgdGFuZ2VudGJvcmRzcmVwZXRlcmluZ1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTMKK21zZ2lkICIgLS1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdICAgICAgICAgIGN1cnNvciBrZXkgYXBwbGljYXRpb24gbW9kZVxuIgorbXNnc3RyICIgLS1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdICAgICAgICAgIHByb2dyYW1sw6RnZSBmw7ZyIG1hcmvDtnJ0YW5nZW50ZXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk0Cittc2dpZCAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBjb250aW51ZSBvbiBhIG5ldyBsaW5lIHdoZW4gYSBsaW5lIGlzIGZ1bGxcbiIKK21zZ3N0ciAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBmb3J0c8OkdHQgcMOlIGVuIG55IHJhZCBuw6RyIGVuIHJhZCDDpHIgZnVsbFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTUKK21zZ2lkICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIHN3YXAgY29sb3JzIGZvciB0aGUgd2hvbGUgc2NyZWVuXG4iCittc2dzdHIgIiAtLWludmVyc2VzY3JlZW4gW29ufG9mZl0gICAgICAgICAgdsOkeGxhIGbDpHJnZXIgZsO2ciBoZWxhIHNrw6RybWVuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NgorbXNnaWQgIiAtLWZvcmVncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGZvcmVncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDxmw6RyZz4gICAgc3TDpGxsIGluIGbDtnJncnVuZHNmw6RyZ1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTcKK21zZ2lkICIgLS1iYWNrZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBiYWNrZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8ZsOkcmc+ICAgIHN0w6RsbCBpbiBiYWtncnVuZHNmw6RyZ1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTgKK21zZ2lkICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCB1bmRlcmxpbmVkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIC0tdWxjb2xvciAgICAgICBbYnJpZ2h0XSA8ZsOkcmc+ICAgc3TDpGxsIGluIGbDpHJnIGbDtnIgdW5kZXJzdHJ1a2VuIHRleHRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk5Cittc2dpZCAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgYm9sZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiAtLWhiY29sb3IgICAgICAgW2JyaWdodF0gPGbDpHJnPiAgIHN0w6RsbCBpbiBmw6RyZyBmw7ZyIGZldCB0ZXh0XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMAorbXNnaWQgIiAgICAgICAgICAgICAgICAgPGNvbG9yPjogYmxhY2sgYmx1ZSBjeWFuIGdyZWVuIGdyZXkgbWFnZW50YSByZWQgd2hpdGUgeWVsbG93XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgIDxmw6RyZz46IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDEKK21zZ2lkICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJvbGRcbiIKK21zZ3N0ciAiIC0tYm9sZCAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBmZXN0c3RpbFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDIKK21zZ2lkICIgLS1oYWxmLWJyaWdodCAgIFtvbnxvZmZdICAgICAgICAgIGRpbVxuIgorbXNnc3RyICIgLS1oYWxmLWJyaWdodCAgIFtvbnxvZmZdICAgICAgICAgIGhhbHZsanVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMworbXNnaWQgIiAtLWJsaW5rICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYmxpbmtcbiIKK21zZ3N0ciAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlua25pbmdcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA0Cittc2dpZCAiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICB1bmRlcmxpbmVcbiIKK21zZ3N0ciAiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICB1bmRlcnN0cnlrbmluZ1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDUKK21zZ2lkICIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgIHN3YXAgZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBjb2xvcnNcbiIKK21zZ3N0ciAiIC0tcmV2ZXJzZSAgICAgICBbb258b2ZmXSAgICAgICAgICB2w6R4bGEgZsO2cmdydW5kcy0gb2NoIGJha2dydW5kc2bDpHJnZXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA2Cittc2dpZCAiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICBjbGVhciBzY3JlZW4gYW5kIHNldCBjdXJzb3IgcG9zaXRpb25cbiIKK21zZ3N0ciAiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICB0w7ZtIHNrw6RybWVuIG9jaCBzdMOkbGwgaW4gbWFya8O2cnBvc2l0aW9uZW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA3Cittc2dpZCAiIC0tdGFicyAgICAgICAgICBbPG51bWJlcj4uLi5dICAgICBzZXQgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBzaG93IHRoZW1cbiIKK21zZ3N0ciAiIC0tdGFicyAgICAgICAgICBbPG51bW1lcj7igKZdICAgICAgIHN0w6RsbCBpbiwgZWxsZXIgdmlzYSwgZGVzc2EgdGFiYnBvc2l0aW9uZXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA4Cittc2dpZCAiIC0tY2xydGFicyAgICAgICBbPG51bWJlcj4uLi5dICAgICBjbGVhciB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIGFsbFxuIgorbXNnc3RyICIgLS1jbHJ0YWJzICAgICAgIFs8bnVtbWVyPuKApl0gICAgICByZW5zYSBib3J0IGRlc3NhLCBlbGxlciBhbGxhLCB0YWJicG9zaXRpb25lclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDkKK21zZ2lkICIgLS1yZWd0YWJzICAgICAgIFsxLTE2MF0gICAgICAgICAgIHNldCBhIHJlZ3VsYXIgdGFiIHN0b3AgaW50ZXJ2YWxcbiIKK21zZ3N0ciAiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICBzdMOkbGxlciBpbiBldHQgcGVyaW9kaXNrdCB0YWJic3RvcHBzaW50ZXJ2YWxsXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMAorbXNnaWQgIiAtLWJsYW5rICAgICAgICAgWzAtNjB8Zm9yY2V8cG9rZV0gc2V0IHRpbWUgb2YgaW5hY3Rpdml0eSBiZWZvcmUgc2NyZWVuIGJsYW5rc1xuIgorbXNnc3RyICIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIHN0w6RsbCBpbiB0aWRncsOkbnMgZsO2ciBpbmFrdGl2aXRldCBpbm5hbiBza8Okcm1lbiB0w7Ztc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTEKK21zZ2lkICIgLS1kdW1wICAgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIHdyaXRlIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIgLS1kdW1wICAgICAgICAgIFs8bnVtbWVyPl0gICAgICAgIHNrcml2IHZjc2E8bnVtbWVyPiBrb25zb2xkdW1wIHRpbGwgZmlsXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMgorbXNnaWQgIiAtLWFwcGVuZCAgICAgICAgWzxudW1iZXI+XSAgICAgICAgYXBwZW5kIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIgLS1hcHBlbmQgICAgICAgIFs8bnVtbWVyPl0gICAgICAgIGzDpGdnIHRpbGwgdmNzYTxudW1iZXI+IGtvbnNvbGR1bXAgdGlsbCBmaWxcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEzCittc2dpZCAiIC0tZmlsZSAgICAgICAgICA8ZmlsZW5hbWU+ICAgICAgICBuYW1lIG9mIHRoZSBkdW1wIGZpbGVcbiIKK21zZ3N0ciAiIC0tZmlsZSAgICAgICAgICA8ZmlsbmFtbj4gICAgICAgICBuYW1uIHDDpSBkdW1wZmlsZW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE0Cittc2dpZCAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBzZW5kIGtlcm5lbCBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtLW1zZyAgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgc2tpY2thIGvDpHJubWVkZGVsYW5kZW4gdGlsbCBrb25zb2xlblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTUKK21zZ2lkICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIGtlcm5lbCBjb25zb2xlIGxvZyBsZXZlbFxuIgorbXNnc3RyICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIGxvZ2duaXbDpSBmw7ZyIGvDpHJua29uc29sXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNgorbXNnaWQgIiAtLXBvd2Vyc2F2ZSAgICAgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdXG4iCittc2dzdHIgIiAtLXBvd2Vyc2F2ZSAgICAgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNworbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0IHZlc2EgcG93ZXJzYXZpbmcgZmVhdHVyZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdMOkbGwgaW4gdmVzYS1zdHLDtm1zcGFyc2Z1bmt0aW9uZXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE4Cittc2dpZCAiIC0tcG93ZXJkb3duICAgICBbMC02MF0gICAgICAgICAgICBzZXQgdmVzYSBwb3dlcmRvd24gaW50ZXJ2YWwgaW4gbWludXRlc1xuIgorbXNnc3RyICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIHN0w6RsbCBpbiB2ZXNhLW5lZHN0w6RuZ25pbmdzaW50ZXJ2YWxsIGkgbWludXRlclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTkKK21zZ2lkICIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIGR1cmF0aW9uIG9mIHRoZSBiZWxsIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIHZhcmFrdGlnaGV0IGbDtnIgbGp1ZCBpIG1pbGxpc2VrdW5kZXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIwCittc2dpZCAiIC0tYmZyZXEgICAgICAgICA8bnVtYmVyPiAgICAgICAgICBiZWxsIGZyZXF1ZW5jeSBpbiBIZXJ0elxuIgorbXNnc3RyICIgLS1iZnJlcSAgICAgICAgIDxudW1tZXI+ICAgICAgICAgIGxqdWRmcmVrdmVucyBpIEhlcnR6XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMQorbXNnaWQgIiAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAgc2hvdyB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAgdmlzYSB2ZXJzaW9uc2luZm9ybWF0aW9uIG9jaCBhdnNsdXRhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMgorbXNnaWQgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNhIGRlbm5hIGhqw6RscCBvY2ggYXZzbHV0YVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MzAKK21zZ2lkICJkdXBsaWNhdGUgdXNlIG9mIGFuIG9wdGlvbiIKK21zZ3N0ciAiZHVwbGljZXJhZCBhbnbDpG5kbmluZyBhdiBlbiBmbGFnZ2EiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjczNAorbXNnaWQgImNhbm5vdCBmb3JjZSBibGFuayIKK21zZ3N0ciAia2FuIGludGUgdHZpbmdhIHTDtm1uaW5nIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MzkKK21zZ2lkICJjYW5ub3QgZm9yY2UgdW5ibGFuayIKK21zZ3N0ciAia2FuIGludGUgdHZpbmdhIMOldGVyc3TDpGxsbmluZyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQ1Cittc2dpZCAiY2Fubm90IGdldCBibGFuayBzdGF0dXMiCittc2dzdHIgImthbiBpbnRlIGjDpG10YSB0w7ZtbmluZ3NzdGF0dXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4gbm90IG9wZW4gZHVtcCBmaWxlICVzIGZvciBvdXRwdXQiCittc2dzdHIgImthbiBpbnRlIMO2cHBuYSBkdW1wZmlsICVzIGbDtnIgdXRtYXRuaW5nIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgJXMgZG9lcyBub3Qgc3VwcG9ydCAlcyIKK21zZ3N0ciAidGVybWluYWwgJXMgaGFyIGludGUgc3TDtmQgZsO2ciAlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6OTg4Cittc2dpZCAiY2Fubm90ICh1bilzZXQgcG93ZXJzYXZlIG1vZGUiCittc2dzdHIgImthbiBpbnRlIHN0w6RsbGEgaW4vw6V0ZXJzdMOkbGxhIHN0csO2bXNwYXJsw6RnZSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTAwNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDE2Cittc2dpZCAia2xvZ2N0bCBlcnJvciIKK21zZ3N0ciAia2xvZ2N0bC1mZWwiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwMzcKK21zZ2lkICIkVEVSTSBpcyBub3QgZGVmaW5lZC4iCittc2dzdHIgIiRURVJNIMOkciBpbnRlIGRlZmluaWVyYWQuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDQ0Cittc2dpZCAidGVybWluZm8gZGF0YWJhc2UgY2Fubm90IGJlIGZvdW5kIgorbXNnc3RyICJ0ZXJtaW5mby1kYXRhYmFzIGthbiBpbnRlIGhpdHRhcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biB0ZXJtaW5hbCB0eXBlIgorbXNnc3RyICIlczogb2vDpG5kIHRlcm1pbmFsdHlwIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDQ4Cittc2dpZCAidGVybWluYWwgaXMgaGFyZGNvcHkiCittc2dzdHIgInRlcm1pbmFsIMOkciBlbiBow6VyZGtvcGlhIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB0b28gbWFueSBpb3YncyIKK21zZ3N0ciAiaW50ZXJudCBmZWw6IGbDtnIgbcOlbmdhIGlvdjplciIKKworIzogdGVybS11dGlscy90dHltc2cuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICJleGNlc3NpdmVseSBsb25nIGxpbmUgYXJnIgorbXNnc3RyICJvbsO2ZGlndCBsw6VuZ3QgbGluamVhcmd1bWVudCIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlbiBmYWlsZWQiCittc2dzdHIgIm9wZW4gbWlzc2x5Y2thZGVzIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJmb3JrOiAlbSIKK21zZ3N0ciAiZm9yazogJW0iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmb3JrIgorbXNnc3RyICJrYW4gaW50ZSBncmVuYSIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJBRCBFUlJPUiwgbWVzc2FnZSBpcyBmYXIgdG9vIGxvbmciCittc2dzdHIgIiVzOiBEw4VMSUdUIEZFTCwgbWVkZGVsYW5kZXQgw6RyIGFsbGRlbGVzIGbDtnIgbMOlbmd0IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gfCA8bWVzc2FnZT5dXG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gWzxmaWw+IHwgPG1lZGRlbGFuZGU+XVxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4NgorbXNnaWQgIldyaXRlIGEgbWVzc2FnZSB0byBhbGwgdXNlcnMuXG4iCittc2dzdHIgIlNrcml2IGV0dCBtZWRkZWxhbmRlIHRpbGwgYWxsYSBhbnbDpG5kYXJlLlxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4OQorbXNnaWQgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBkbyBub3QgcHJpbnQgYmFubmVyLCB3b3JrcyBvbmx5IGZvciByb290XG4iCittc2dzdHIgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBza3JpdiBpbnRlIHV0IGJhbmRlcm9sbCwgZnVuZ2VyYXIgZW5kYXN0IGbDtnIgcm9vdFxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5MAorbXNnaWQgIiAtdCwgLS10aW1lb3V0IDx0aW1lb3V0PiB3cml0ZSB0aW1lb3V0IGluIHNlY29uZHNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWVvdXQgPHRpZHNncsOkbnM+IHRpZHNncsOkbnMgZsO2ciBza3Jpdm5pbmcgaSBzZWt1bmRlclxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMzIKK21zZ2lkICItLW5vYmFubmVyIGlzIGF2YWlsYWJsZSBvbmx5IGZvciByb290IgorbXNnc3RyICItLW5vYmFubmVyIMOkciBlbmRhc3QgdGlsbGfDpG5nbGlnIGbDtnIgcm9vdCIKKworIzogdGVybS11dGlscy93YWxsLmM6MTM3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudDogJXMiCittc2dzdHIgIm9naWx0aWd0IHRpZHNncsOkbnNhcmd1bWVudDogJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjI2OQorbXNnaWQgImNhbm5vdCBnZXQgcGFzc3dkIHVpZCIKK21zZ3N0ciAia2FuIGludGUgaMOkbXRhIHBhc3N3ZCB1aWQiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjI3NAorbXNnaWQgImNhbm5vdCBnZXQgdHR5IG5hbWUiCittc2dzdHIgIkthbiBpbnRlIGjDpG10YSB0dHktbmFtbiIKKworIzogdGVybS11dGlscy93YWxsLmM6Mjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXNAJXMgKCVzKSAoJXMpOiIKK21zZ3N0ciAiTWVkZGVsYW5kZSB0aWxsIGFsbGEgZnLDpW4gJXNAJXMgKCVzKSAoJXMpOiIKKworIzogdGVybS11dGlscy93YWxsLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IHJlYWQgJXMgLSB1c2Ugc3RkaW4uIgorbXNnc3RyICJrb21tZXIgaW50ZSBhdHQgbMOkc2EgJXMgLSBhbnbDpG5kIHN0YW5kYXJkIGluLiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHVzZXI+IFs8dHR5bmFtZT5dXG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gPGFudsOkbmRhcmU+IFs8dHR5LW5hbW4+XVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6OTAKK21zZ2lkICJTZW5kIGEgbWVzc2FnZSB0byBhbm90aGVyIHVzZXIuXG4iCittc2dzdHIgIlNraWNrYSBldHQgbWVkZGVsYW5kZSB0aWxsIGVuIGFubmFuIGFudsOkbmRhcmUuXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoxMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZWZmZWN0aXZlIGdpZCBkb2VzIG5vdCBtYXRjaCBncm91cCBvZiAlcyIKK21zZ3N0ciAiZWZmZWt0aXZ0IGdpZCBtYXRjaGFyIGludGUgZGV0IGbDtnIgZ3J1cHBlbiAlcyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIgorbXNnc3RyICIlcyDDpHIgaW50ZSBpbmxvZ2dhZCIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwNworbXNnaWQgImNhbid0IGZpbmQgeW91ciB0dHkncyBuYW1lIgorbXNnc3RyICJrYW4gaW50ZSBoaXR0YSBuYW1uZXQgcMOlIGRpbiB0dHkiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIgorbXNnc3RyICIlcyBoYXIgbWVkZGVsYW5kZW4gaW5ha3RpdmVyYWRlIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGxvZ2dlZCBpbiBtb3JlIHRoYW4gb25jZTsgd3JpdGluZyB0byAlcyIKK21zZ3N0ciAiJXMgw6RyIGlubG9nZ2FkIG1lciDDpG4gZW4gZ8Olbmc7IHNrcml2ZXIgdGlsbCAlcyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIzOAorbXNnaWQgImNhcmVmdWxwdXRjIGZhaWxlZCIKK21zZ3N0ciAiY2FyZWZ1bHB1dGMgbWlzc2x5Y2thZGVzIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyAoYXMgJXMpIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIk1lZGRlbGFuZGUgZnLDpW4gJXNAJXMgKHNvbSAlcykgcMOlICVzIHZpZCAlMDJkOiUwMmQg4oCmIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICJNZWRkZWxhbmRlIGZyw6VuICVzQCVzIHDDpSAlcyB2aWQgJTAyZDolMDJkIOKApiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjMzMQorbXNnaWQgInlvdSBoYXZlIHdyaXRlIHBlcm1pc3Npb24gdHVybmVkIG9mZiIKK21zZ3N0ciAiZHUgaGFyIGludGUgc2tyaXZyw6R0dGlnaGV0IGFrdGl2ZXJhZCIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIG9uICVzIgorbXNnc3RyICIlcyDDpHIgaW50ZSBpbmxvZ2dhZCBww6UgJXMiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIG9uICVzIgorbXNnc3RyICIlcyBoYXIgbWVkZGVsYW5kZW4gaW5ha3RpdmVyYWRlIHDDpSAlcyIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzQKK21zZ2lkICJGaWx0ZXIgb3V0IHJldmVyc2UgbGluZSBmZWVkcy5cbiIKK21zZ3N0ciAiRmlsdHJlcmEgdXQgb212w6RuZGEgcmFkYnJ5dG5pbmdhci5cbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAgZG8gbm90IG91dHB1dCBiYWNrc3BhY2VzXG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAgcGVybWl0IGZvcndhcmQgaGFsZiBsaW5lIGZlZWRzXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAgcGFzcyB1bmtub3duIGNvbnRyb2wgc2VxdWVuY2VzXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgY29udmVydCBzcGFjZXMgdG8gdGFic1xuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIGNvbnZlcnQgdGFicyB0byBzcGFjZXNcbiIKKyIgLWwsIC0tbGluZXMgTlVNICAgICAgICBidWZmZXIgYXQgbGVhc3QgTlVNIGxpbmVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLUgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiRmxhZ2dvcjpcbiIKKyIgLWIsIC0tbm8tYmFja3NwYWNlcyAgICBtYXRhIGludGUgdXQgYmFja3N0ZWdcbiIKKyIgLWYsIC0tZmluZSAgICAgICAgICAgICB0aWxsw6V0IGhhbHZhIG55cmFkZXJcbiIKKyIgLXAsIC0tcGFzcyAgICAgICAgICAgICBza2lja2EgdmlkYXJlIG9rw6RuZGEga29udHJvbGxzZWt2ZW5zZXJcbiIKKyIgLWgsIC0tdGFicyAgICAgICAgICAgICBrb252ZXJ0ZXJhIGJsYW5rc3RlZyB0aWxsIHRhYmJhclxuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIGtvbnZlcnRlcmEgdGFiYmFyIHRpbGwgYmxhbmtzdGVnXG4iCisiIC1sLCAtLWxpbmVzIE5VTSAgICAgICAgYnVmZnJhIMOldG1pbnN0b25lIE5VTSByYWRlclxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG1hdGEgdXQgdmVyc2lvbnNpbmZvcm1hdGlvbiBvY2ggYXZzbHV0YVxuIgorIiAtSCwgLS1oZWxwICAgICAgICAgICAgIHZpc2EgZGVubmEgaGrDpGxwIG9jaCBhdnNsdXRhXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTQ4IHRleHQtdXRpbHMvY29scm0uYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXMgcmVhZHMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dFxuIgorIlxuIgorbXNnc3RyICIiCisiJXMgbMOkc2VyIGZyw6VuIHN0YW5kYXJkIGluIG9jaCBza3JpdmVyIHRpbGwgc3RhbmRhcmQgdXRcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoyMTIKK21zZ2lkICJiYWQgLWwgYXJndW1lbnQiCittc2dzdHIgImZlbGFrdGlndCAtbC1hcmd1bWVudCIKKworIzogdGV4dC11dGlscy9jb2wuYzozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2FuJ3QgYmFjayB1cCAlcy4iCittc2dzdHIgInZhcm5pbmc6IGthbiBpbnRlIHPDpGtlcmhldHNrb3BpZXJhICVzLiIKKworIzogdGV4dC11dGlscy9jb2wuYzozMzcKK21zZ2lkICJwYXN0IGZpcnN0IGxpbmUiCittc2dzdHIgImbDtnJiaSBmw7Zyc3RhIHJhZGVuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjMzNworbXNnaWQgIi0tIGxpbmUgYWxyZWFkeSBmbHVzaGVkIgorbXNnc3RyICItLSByYWRlbiByZWRhbiBzcG9sYWQiCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODEgdGV4dC11dGlscy9jb2x1bW4uYzoxMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICIgJXMgW2ZsYWdnb3JdIFs8ZmlsPuKApl1cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NAorbXNnaWQgIkZpbHRlciBucm9mZiBvdXRwdXQgZm9yIENSVCBwcmV2aWV3aW5nLlxuIgorbXNnc3RyICJGaWx0cmVyYSBucm9mZi11dG1hdG5pbmcgZsO2ciBDUlQtZ3JhbnNrbmluZy5cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NworbXNnaWQgIiAtLCAgLS1uby11bmRlcmxpbmluZyAgICBzdXBwcmVzcyBhbGwgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIHVuZGVydHJ5Y2sgYWxsIHVuZGVyc3RyeWtuaW5nXG4iCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODgKK21zZ2lkICIgLTIsIC0taGFsZi1saW5lcyAgICAgICAgcHJpbnQgYWxsIGhhbGYtbGluZXNcbiIKK21zZ3N0ciAiIC0yLCAtLWhhbGYtbGluZXMgICAgICAgIHNrcml2IHV0IGhhbHZyYWRlclxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbc3RhcnRjb2wgW2VuZGNvbF1dXG4iCittc2dzdHIgIiIKKyJcbiIKKyJBbnbDpG5kbmluZzpcbiIKKyIgJXMgW3N0YXJ0a29sIFtzbHV0a29sXV1cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjY0Cittc2dpZCAiRmlsdGVyIG91dCB0aGUgc3BlY2lmaWVkIGNvbHVtbnMuXG4iCittc2dzdHIgIkZpbHRyZXJhIHV0IGFuZ2l2bmEga29sdW1uZXIuXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODUKK21zZ2lkICJmaXJzdCBhcmd1bWVudCIKK21zZ3N0ciAiZsO2cnN0YSBhcmd1bWVudCIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NworbXNnaWQgInNlY29uZCBhcmd1bWVudCIKK21zZ3N0ciAiYW5kcmEgYXJndW1lbnQiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTIwCittc2dpZCAiQ29sdW1uYXRlIGxpc3RzLlxuIgorbXNnc3RyICJLb2x1bW5saXN0b3IuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTIzCittc2dpZCAiIC1jLCAtLWNvbHVtbnMgPHdpZHRoPiAgICB3aWR0aCBvZiBvdXRwdXQgaW4gbnVtYmVyIG9mIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbHVtbnMgPGJyZWRkPiAgICBicmVkZCBmw7ZyIHV0bWF0bmluZ3Nmb3JtYXQgaSBhbnRhbCB0ZWNrZW5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjQKK21zZ2lkICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgIGNyZWF0ZSBhIHRhYmxlXG4iCittc2dzdHIgIiAtdCwgLS10YWJsZSAgICAgICAgICAgICAgc2thcGEgZW4gdGFiZWxsXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI1Cittc2dpZCAiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiBwb3NzaWJsZSB0YWJsZSBkZWxpbWl0ZXJzXG4iCittc2dzdHIgIiAtcywgLS1zZXBhcmF0b3IgPHN0csOkbmc+IG3DtmpsaWdhIHRhYmVsbGF2c2tpbGphcmVcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjYKK21zZ2lkICIiCisiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0cmluZz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnMgc2VwYXJhdG9yIGZvciB0YWJsZSBvdXRwdXQ7IGRlZmF1bHQgaXMgdHdvIHNwYWNlc1xuIgorbXNnc3RyICIiCisiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0csOkbmc+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBrb2x1bW5hdmdyw6Ruc2FyZSBmw7ZyIHRhYmVsbHV0bWF0bmluZzsgc3RhbmRhcmQgw6RyIHR2w6UgYmxhbmtzdGVnXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI4Cittc2dpZCAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICBmaWxsIHJvd3MgYmVmb3JlIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICBmeWxsIHJhZGVyIGbDtnJlIGtvbHVtbmVyXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTgyCittc2dpZCAiaW52YWxpZCBjb2x1bW5zIGFyZ3VtZW50IgorbXNnc3RyICJvZ2lsdGlndCBrb2x1bW5hcmd1bWVudCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlZCBpcyB0b28gbG9uZywgb3V0cHV0IHdpbGwgYmUgdHJ1bmNhdGVkIgorbXNnc3RyICJyYWRlbiAlZCDDpHIgZsO2ciBsw6VuZywgdXRtYXRuaW5nIGtvbW1lciBhdHQgdHJ1bmtlcmFzIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTUgdGV4dC11dGlscy9tb3JlLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+Li4uXG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gPGZpbD7igKZcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU4Cittc2dpZCAiRGlzcGxheSBmaWxlIGNvbnRlbnRzIGluIGhleGFkZWNpbWFsLCBkZWNpbWFsLCBvY3RhbCwgb3IgYXNjaWkuXG4iCittc2dzdHIgIlZpc2EgZmlsaW5uZWjDpWxsZXQgaGV4YWRlY2ltYWx0LCBkZWNpbWFsdCwgb2t0YWx0IGVsbGVyIGkgYXNjaWkuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MQorbXNnaWQgIiAtYiwgLS1vbmUtYnl0ZS1vY3RhbCAgICAgIG9uZS1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1iLCAtLW9uZS1ieXRlLW9jdGFsICAgICAgb2t0YWwgZW4tYnl0ZXN2aXNuaW5nXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MgorbXNnaWQgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgIG9uZS1ieXRlIGNoYXJhY3RlciBkaXNwbGF5XG4iCittc2dzdHIgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgIGVuLXRlY2tlbnN2aXNuaW5nXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MworbXNnaWQgIiAtQywgLS1jYW5vbmljYWwgICAgICAgICAgIGNhbm9uaWNhbCBoZXgrQVNDSUkgZGlzcGxheVxuIgorbXNnc3RyICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBrYW5vbmlzayBoZXhhZGVjaW1hbCtBU0NJSS12aXNuaW5nXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NAorbXNnaWQgIiAtZCwgLS10d28tYnl0ZXMtZGVjaW1hbCAgIHR3by1ieXRlIGRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICBkZWNpbWFsIHR2w6UtYnl0ZXN2aXNuaW5nXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NQorbXNnaWQgIiAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIHR3by1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1vLCAtLXR3by1ieXRlcy1vY3RhbCAgICAgb2t0YWwgdHbDpS1ieXRlc3Zpc25pbmdcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY2Cittc2dpZCAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIgLXgsIC0tdHdvLWJ5dGVzLWhleCAgICAgICBoZXhhZGVjaW1hbCB0dsOlLWJ5dGVzdmlzbmluZ1xuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjcKK21zZ2lkICIgLUwsIC0tY29sb3JbPTxtb2RlPl0gICAgICBpbnRlcnByZXQgY29sb3IgZm9ybWF0dGluZyBzcGVjaWZpZXJzXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PGzDpGdlPl0gICAgICB0b2xrYSBmw6RyZ2Zvcm1hdGVyaW5nc2FuZ2l2YXJlXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MAorbXNnaWQgIiAtZSwgLS1mb3JtYXQgPGZvcm1hdD4gICAgIGZvcm1hdCBzdHJpbmcgdG8gYmUgdXNlZCBmb3IgZGlzcGxheWluZyBkYXRhXG4iCittc2dzdHIgIiAtZSwgLS1mb3JtYXQgPGZvcm1hdD4gICAgIGZvcm1hdHN0csOkbmcgc29tIHNrYSBhbnbDpG5kYXMgZsO2ciBhdHQgdmlzYSBkYXRhXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MQorbXNnaWQgIiAtZiwgLS1mb3JtYXQtZmlsZSA8ZmlsZT4gIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorbXNnc3RyICIgLWYsIC0tZm9ybWF0LWZpbGUgPGZpbD4gIGZpbCBzb20gaW5uZWjDpWxsZXIgZm9ybWF0c3Ryw6RuZ2FyXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MgorbXNnaWQgIiAtbiwgLS1sZW5ndGggPGxlbmd0aD4gICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorbXNnc3RyICIgLW4sIC0tbGVuZ3RoIDxsw6RuZ2Q+ICAgICAgdG9sa2EgZW5kYXN0IGzDpG5nZCBhbnRhbCBieXRlIGluZGF0YVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzMKK21zZ2lkICIgLXMsIC0tc2tpcCA8b2Zmc2V0PiAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKK21zZ3N0ciAiIC1zLCAtLXNraXAgPHBvc2l0aW9uPiAgICAgaG9wcGEgw7Z2ZXIgcG9zaXRpb25zYnl0ZSBmcsOlbiBiw7ZyamFuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NAorbXNnaWQgIiAtdiwgLS1uby1zcXVlZXppbmcgICAgICAgIG91dHB1dCBpZGVudGljYWwgbGluZXNcbiIKK21zZ3N0ciAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgaWRlbnRpc2thIHV0bWF0bmluZ3NyYWRlclxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtZGlzcGxheS5jOjM2NQorbXNnaWQgImFsbCBpbnB1dCBmaWxlIGFyZ3VtZW50cyBmYWlsZWQiCittc2dzdHIgImFsbGEgaW5kYXRhZmlsc2FyZ3VtZW50IG1pc3NseWNrYWRlcyIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGJ5dGUgY291bnQgZm9yIGNvbnZlcnNpb24gY2hhcmFjdGVyICVzIgorbXNnc3RyICJmZWxha3RpZ3QgYW50YWwgYnl0ZSBmw7ZyIGtvbnZlcnRlcmluZ3N0ZWNrZW4gJXMiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUlcyByZXF1aXJlcyBhIHByZWNpc2lvbiBvciBhIGJ5dGUgY291bnQiCittc2dzdHIgIiUlcyBrcsOkdmVyIGV0dCBwcmVjaXNpb25zdsOkcmRlIGVsbGVyIGV0dCBieXRlYW50YWwiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjY1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBmb3JtYXQgeyVzfSIKK21zZ3N0ciAiZmVsYWt0aWd0IGZvcm1hdCB7JXN9IgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo3MAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29udmVyc2lvbiBjaGFyYWN0ZXIgJSUlcyIKK21zZ3N0ciAiZmVsYWt0aWd0IGtvbnZlcnRlcmluZ3N0ZWNrZW4gJSUlcyIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NDM2Cittc2dpZCAiYnl0ZSBjb3VudCB3aXRoIG11bHRpcGxlIGNvbnZlcnNpb24gY2hhcmFjdGVycyIKK21zZ3N0ciAiYnl0ZWFudGFsIG1lZCBmbGVyYSBrb252ZXJ0ZXJpbmdzdGVja2VuIgorCisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozMworbXNnaWQgIlJlYWQgb25lIGxpbmUuXG4iCittc2dzdHIgIkzDpHMgZW4gcmFkLlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMjgKK21zZ2lkICJBIGZpbGUgcGVydXNhbCBmaWx0ZXIgZm9yIENSVCB2aWV3aW5nLlxuIgorbXNnc3RyICJFdHQgZmlsZ2Vub21sw6RzbmluZ3NmaWx0ZXIgZsO2ciBDUlQtdmlzbmluZy5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjMxCittc2dpZCAiIC1kICAgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmdpbmcgYmVsbFxuIgorbXNnc3RyICIgLWQgICAgICAgICAgdmlzYSBoasOkbHAgaXN0w6RsbGV0IGbDtnIgYXR0IHJpbmdhIGkga2xvY2thblxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzIKK21zZ2lkICIgLWYgICAgICAgICAgY291bnQgbG9naWNhbCByYXRoZXIgdGhhbiBzY3JlZW4gbGluZXNcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgIHLDpGtuYSBhbnRhbGV0IGxvZ2lza2Egc25hcmFyZSDDpG4gc2vDpHJtcmFkZXJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjMzCittc2dpZCAiIC1sICAgICAgICAgIHN1cHByZXNzIHBhdXNlIGFmdGVyIGZvcm0gZmVlZFxuIgorbXNnc3RyICIgLWwgICAgICAgICAgdW5kZXJ0cnljayBwYXVzIGVmdGVyIHNpZG1hdG5pbmdcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM0Cittc2dpZCAiIC1jICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGRpc3BsYXkgdGV4dCBhbmQgY2xlYW4gbGluZSBlbmRzXG4iCittc2dzdHIgIiAtYyAgICAgICAgICBydWxsYSBpbnRlLCB2aXNhIHRleHQgb2NoIHJlbmEgcmFkc2x1dFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzUKK21zZ2lkICIgLXAgICAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIKK21zZ3N0ciAiIC1wICAgICAgICAgIHJ1bGxhIGludGUsIHJlbnNhIHNrw6RybWVuIG9jaCB2aXNhIHRleHRcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM2Cittc2dpZCAiIC1zICAgICAgICAgIHNxdWVlemUgbXVsdGlwbGUgYmxhbmsgbGluZXMgaW50byBvbmVcbiIKK21zZ3N0ciAiIC1zICAgICAgICAgIHByZXNzYSBpaG9wIGZsZXJhIHRvbXJhZGVyIHRpbGwgZW5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM3Cittc2dpZCAiIC11ICAgICAgICAgIHN1cHByZXNzIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiAtdSAgICAgICAgICB1bmRlcnRyeWNrIHVuZGVyc3RyeWtuaW5nXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOAorbXNnaWQgIiAtPG51bWJlcj4gICB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKK21zZ3N0ciAiIC08bnVtbWVyPiAgIGFudGFsIHJhZGVyIHBlciBza8Okcm1cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM5Cittc2dpZCAiICs8bnVtYmVyPiAgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBsaW5lIG51bWJlclxuIgorbXNnc3RyICIgKzxudW1tZXI+ICAgdmlzYSBmaWxlbiBtZWQgYsO2cmphbiBmcsOlbiByYWQgbnVtbWVyXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MAorbXNnaWQgIiArLzxzdHJpbmc+ICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gc2VhcmNoIHN0cmluZyBtYXRjaFxuIgorbXNnc3RyICIgKy88c3Ryw6RuZz4gIHZpc2EgZmlsIG1lZCBiw7ZyamFuIGZyw6VuIHPDtmtzdHLDpG5nc21hdGNobmluZ1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDEKK21zZ2lkICIgLVYgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAtViAgICAgICAgICB2aXNhIHZlcnNpb25zaW5mb3JtYXRpb24gb2NoIGF2c2x1dGFcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIC0lcyIKK21zZ3N0ciAib2vDpG5kIGZsYWdnYSAtJXMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjUwOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqICVzOiBkaXJlY3RvcnkgKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKiogJXM6IGthdGFsb2cgKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqKioqKiogJXM6IE5vdCBhIHRleHQgZmlsZSAqKioqKioqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqKioqKiogJXM6IEludGUgZW4gdGV4dGZpbCAqKioqKioqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1VzZSBxIG9yIFEgdG8gcXVpdF0iCittc2dzdHIgIltBbnbDpG5kIHEgZWxsZXIgUSBmw7ZyIGF0dCBhdnNsdXRhXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tTW9yZS0tIgorbXNnc3RyICItLU1lci0tIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiKE5leHQgZmlsZTogJXMpIgorbXNnc3RyICIoTsOkc3RhIGZpbDogJXMpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzIHNwYWNlIHRvIGNvbnRpbnVlLCAncScgdG8gcXVpdC5dIgorbXNnc3RyICJbVHJ5Y2sgYmxhbmtzdGVnIGbDtnIgYXR0IGZvcnRzw6R0dGEsIOKAnXHigJ0gZsO2ciBhdHQgYXZzbHV0YS5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmJhY2sgJWQgcGFnZSIKK21zZ2lkX3BsdXJhbCAiLi4uYmFjayAlZCBwYWdlcyIKK21zZ3N0clswXSAi4oCmdGlsbGJha2EgJWQgc2lkYSIKK21zZ3N0clsxXSAi4oCmdGlsbGJha2EgJWQgc2lkb3IiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc2tpcHBpbmcgJWQgbGluZSIKK21zZ2lkX3BsdXJhbCAiLi4uc2tpcHBpbmcgJWQgbGluZXMiCittc2dzdHJbMF0gIuKApmhvcHBhciDDtnZlciAlZCByYWQiCittc2dzdHJbMV0gIuKApmhvcHBhciDDtnZlciAlZCByYWRlciIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI0OAorbXNnaWQgIiIKKyJcbiIKKyIqKipCYWNrKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKipUaWxsYmFrYSoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjYzCittc2dpZCAiTm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICJJbmdldCBmw7ZyZWfDpWVuZGUgcmVndWxqw6RydCB1dHRyeWNrIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjkzCittc2dpZCAiIgorIlxuIgorIk1vc3QgY29tbWFuZHMgb3B0aW9uYWxseSBwcmVjZWRlZCBieSBpbnRlZ2VyIGFyZ3VtZW50IGsuICBEZWZhdWx0cyBpbiBicmFja2V0cy5cbiIKKyJTdGFyICgqKSBpbmRpY2F0ZXMgYXJndW1lbnQgYmVjb21lcyBuZXcgZGVmYXVsdC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkRlIGZsZXN0YSBrb21tYW5kb24gdmFsZnJpdHQgZsO2cmVnw6VuZ25hIGF2IGV0dCBoZWx0YWxzYXJndW1lbnQgay5cbiIKKyJTdGFuZGFyZGFsdGVybmF0aXYgaW5vbSBoYWtwYXJlbnRlc2VyLlxuIgorIlxuIgorIlN0asOkcm5hICgqKSBpbmRpa2VyYXIgYXR0IGFyZ3VtZW50ZXQgYmxpciBueXR0IHN0YW5kYXJkYWx0ZXJuYXRpdi5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTMwMAorbXNnaWQgIiIKKyI8c3BhY2U+ICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXVxuIgorInogICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdKlxuIgorIjxyZXR1cm4+ICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgWzFdKlxuIgorImQgb3IgY3RybC1EICAgICAgICAgICAgIFNjcm9sbCBrIGxpbmVzIFtjdXJyZW50IHNjcm9sbCBzaXplLCBpbml0aWFsbHkgMTFdKlxuIgorInEgb3IgUSBvciA8aW50ZXJydXB0PiAgIEV4aXQgZnJvbSBtb3JlXG4iCisicyAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgbGluZXMgb2YgdGV4dCBbMV1cbiIKKyJmICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBzY3JlZW5mdWxzIG9mIHRleHQgWzFdXG4iCisiYiBvciBjdHJsLUIgICAgICAgICAgICAgU2tpcCBiYWNrd2FyZHMgayBzY3JlZW5mdWxzIG9mIHRleHQgWzFdXG4iCisiJyAgICAgICAgICAgICAgICAgICAgICAgR28gdG8gcGxhY2Ugd2hlcmUgcHJldmlvdXMgc2VhcmNoIHN0YXJ0ZWRcbiIKKyI9ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgbGluZSBudW1iZXJcbiIKKyIvPHJlZ3VsYXIgZXhwcmVzc2lvbj4gICBTZWFyY2ggZm9yIGt0aCBvY2N1cnJlbmNlIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbiBbMV1cbiIKKyJuICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggZm9yIGt0aCBvY2N1cnJlbmNlIG9mIGxhc3Qgci5lIFsxXVxuIgorIiE8Y21kPiBvciA6ITxjbWQ+ICAgICAgIEV4ZWN1dGUgPGNtZD4gaW4gYSBzdWJzaGVsbFxuIgorInYgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0IHVwIC91c3IvYmluL3ZpIGF0IGN1cnJlbnQgbGluZVxuIgorImN0cmwtTCAgICAgICAgICAgICAgICAgIFJlZHJhdyBzY3JlZW5cbiIKKyI6biAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggbmV4dCBmaWxlIFsxXVxuIgorIjpwICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBwcmV2aW91cyBmaWxlIFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBmaWxlIG5hbWUgYW5kIGxpbmUgbnVtYmVyXG4iCisiLiAgICAgICAgICAgICAgICAgICAgICAgUmVwZWF0IHByZXZpb3VzIGNvbW1hbmRcbiIKK21zZ3N0ciAiIgorIjxibGFua3N0ZWc+ICAgICAgICAgICAgIFZpc2EgbsOkc3RhIGsgcmFkZXIgbWVkIHRleHQgW2FrdHVlbGwgc2vDpHJtc3Rvcmxla11cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICBWaXNhIG7DpHN0YSBrIHJhZGVyIG1lZCB0ZXh0IFtha3R1ZWxsIHNrw6RybXN0b3JsZWtdKlxuIgorIjxyZXR1cj4gICAgICAgICAgICAgICAgIFZpc2EgbsOkc3RhIGsgcmFkZXIgbWVkIHRleHQgWzFdKlxuIgorImQgZWxsZXIgY3RybC1EICAgICAgICAgIFJ1bGxhIGsgcmFkZXIgW2FrdHVlbGwgcnVsbG5pbmdzc3RvcmxlaywgaW5pdGlhbHQgMTFdKlxuIgorInEsIFEgZWxsZXIgPGF2YnJvdHQ+ICAgIEF2c2x1dGEgbW9yZVxuIgorInMgICAgICAgICAgICAgICAgICAgICAgIEhvcHBhIGZyYW3DpXQgayByYWRlciBtZWQgdGV4dCBbMV1cbiIKKyJmICAgICAgICAgICAgICAgICAgICAgICBIb3BwYSBmcmFtw6V0IGsgc2vDpHJtbMOkbmdkZXIgbWVkIHRleHQgWzFdXG4iCisiYiBlbGxlciBjdHJsLUIgICAgICAgICAgSG9wcGEgYmFrw6V0IGsgc2vDpHJtbMOkbmdkZXIgbWVkIHRleHQgWzFdXG4iCisiJyAgICAgICAgICAgICAgICAgICAgICAgR8OlIHRpbGwgcGxhdHNlbiBkw6RyIGbDtnJlZ8OlZW5kZSBzw7ZrbmluZyBiw7ZyamFkZVxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIFZpc2EgYWt0dWVsbHQgcmFkbnVtbWVyXG4iCisiLzxyZWd1bGrDpHJ0IHV0dHJ5Y2s+ICAgIFPDtmsgZWZ0ZXIgZGVuIGs6dGUgZsO2cmVrb21zdGVuIGF2IHJlZ3VsasOkcnQgdXR0cnljayBbMV1cbiIKKyJuICAgICAgICAgICAgICAgICAgICAgICBTw7ZrIGVmdGVyIGRlbiBrOnRlIGbDtnJla29tc3RlbiBhdiBzZW5hc3RlIHJlZ3VsasOkcmFcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1dHRyeWNrZXQgWzFdXG4iCisiITxrbWRvPiBlbGxlciA6ITxrbWRvPiAgS8O2ciA8a21kbz4gaSBldHQgdW5kZXJza2FsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnRhIC91c3IvYmluL3ZpIHZpZCBha3R1ZWxsIHJhZFxuIgorImN0cmwtTCAgICAgICAgICAgICAgICAgIFJpdGEgb20gc2vDpHJtZW5cbiIKKyI6biAgICAgICAgICAgICAgICAgICAgICBHw6UgdGlsbCBrOnRlIG7DpHN0YSBmaWwgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgR8OlIHRpbGwgazp0ZSBmw7ZyZWfDpWVuZGUgZmlsIFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgICAgIFZpc2EgYWt0dWVsbHQgZmlsbmFtbiBvY2ggcmFkbnVtbWVyXG4iCisiLiAgICAgICAgICAgICAgICAgICAgICAgVXBwcmVwYSBmw7ZyZWfDpWVuZGUga29tbWFuZG9cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTM3MyB0ZXh0LXV0aWxzL21vcmUuYzoxMzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyAnaCcgZm9yIGluc3RydWN0aW9ucy5dIgorbXNnc3RyICJbVHJ5Y2sg4oCdaOKAnSBmw7ZyIGluc3RydWt0aW9uZXIuXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgbGluZSAlZCIKK21zZ3N0ciAi4oCdJXPigJ0gcmFkICVkIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDEyCisjLCBjLWZvcm1hdAorbXNnaWQgIltOb3QgYSBmaWxlXSBsaW5lICVkIgorbXNnc3RyICJbSW50ZSBlbiBmaWxdIHJhZCAlZCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQ5NAorbXNnaWQgIiAgT3ZlcmZsb3dcbiIKK21zZ3N0ciAiICBTcGlsbFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTQzCittc2dpZCAiLi4uc2tpcHBpbmdcbiIKK21zZ3N0ciAi4oCmaG9wcGFyIMO2dmVyXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1NzcKK21zZ2lkICIiCisiXG4iCisiUGF0dGVybiBub3QgZm91bmRcbiIKK21zZ3N0ciAiIgorIlxuIgorIk3Dtm5zdHJldCBoaXR0YWRlcyBpbnRlXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1ODMgdGV4dC11dGlscy9wZy5jOjEwMjcgdGV4dC11dGlscy9wZy5jOjExNzMKK21zZ2lkICJQYXR0ZXJuIG5vdCBmb3VuZCIKK21zZ3N0ciAiTcO2bnN0cmV0IGhpdHRhZGVzIGludGUiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2MjkKK21zZ2lkICJleGVjIGZhaWxlZFxuIgorbXNnc3RyICJrw7ZybmluZyBtaXNzbHlja2FkZXNcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY0MworbXNnaWQgImNhbid0IGZvcmtcbiIKK21zZ3N0ciAia2FuIGludGUgZ3JlbmFcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY3NworbXNnaWQgIiIKKyJcbiIKKyIuLi5Ta2lwcGluZyAiCittc2dzdHIgIiIKKyJcbiIKKyLigKZIb3BwYXIgw7Z2ZXIgIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjgxCittc2dpZCAiLi4uU2tpcHBpbmcgdG8gZmlsZSAiCittc2dzdHIgIuKApkhvcHBhciDDtnZlciB0aWxsIGZpbCAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2ODMKK21zZ2lkICIuLi5Ta2lwcGluZyBiYWNrIHRvIGZpbGUgIgorbXNnc3RyICLigKZIb3BwYXIgdGlsbGJha2EgdGlsbCBmaWwgIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxOTczCittc2dpZCAiTGluZSB0b28gbG9uZyIKK21zZ3N0ciAiUmFkZW4gw6RyIGbDtnIgbMOlbmciCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIwMTAKK21zZ2lkICJObyBwcmV2aW91cyBjb21tYW5kIHRvIHN1YnN0aXR1dGUgZm9yIgorbXNnc3RyICJJbmdldCB0aWRpZ2FyZSBrb21tYW5kbyBhdHQgZXJzw6R0dGEiCisKKyMgc2VicmFzOiBydW4gc2hlbGwgY29tbWFuZAorIzogdGV4dC11dGlscy9wZy5jOjE0NAorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBoICAgICAgICAgICAgICAgICAgICAgICB0aGlzIHNjcmVlblxuIgorIiAgcSBvciBRICAgICAgICAgICAgICAgICAgcXVpdCBwcm9ncmFtXG4iCisiICA8bmV3bGluZT4gICAgICAgICAgICAgICBuZXh0IHBhZ2VcbiIKKyIgIGYgICAgICAgICAgICAgICAgICAgICAgIHNraXAgYSBwYWdlIGZvcndhcmRcbiIKKyIgIGQgb3IgXkQgICAgICAgICAgICAgICAgIG5leHQgaGFsZnBhZ2VcbiIKKyIgIGwgICAgICAgICAgICAgICAgICAgICAgIG5leHQgbGluZVxuIgorIiAgJCAgICAgICAgICAgICAgICAgICAgICAgbGFzdCBwYWdlXG4iCisiICAvcmVnZXgvICAgICAgICAgICAgICAgICBzZWFyY2ggZm9yd2FyZCBmb3IgcmVnZXhcbiIKKyIgID9yZWdleD8gb3IgXnJlZ2V4XiAgICAgIHNlYXJjaCBiYWNrd2FyZCBmb3IgcmVnZXhcbiIKKyIgIC4gb3IgXkwgICAgICAgICAgICAgICAgIHJlZHJhdyBzY3JlZW5cbiIKKyIgIHcgb3IgeiAgICAgICAgICAgICAgICAgIHNldCBwYWdlIHNpemUgYW5kIGdvIHRvIG5leHQgcGFnZVxuIgorIiAgcyBmaWxlbmFtZSAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IGZpbGUgdG8gZmlsZW5hbWVcbiIKKyIgICFjb21tYW5kICAgICAgICAgICAgICAgIHNoZWxsIGVzY2FwZVxuIgorIiAgcCAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gcHJldmlvdXMgZmlsZVxuIgorIiAgbiAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gbmV4dCBmaWxlXG4iCisiXG4iCisiTWFueSBjb21tYW5kcyBhY2NlcHQgcHJlY2VkaW5nIG51bWJlcnMsIGZvciBleGFtcGxlOlxuIgorIisxPG5ld2xpbmU+IChuZXh0IHBhZ2UpOyAtMTxuZXdsaW5lPiAocHJldmlvdXMgcGFnZSk7IDE8bmV3bGluZT4gKGZpcnN0IHBhZ2UpLlxuIgorIlxuIgorIlNlZSBwZygxKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBoICAgICAgICAgICAgICAgICAgICAgICBkZW5uYSBza8Okcm1cbiIKKyIgIHEgZWxsZXIgUSAgICAgICAgICAgICAgIGF2c2x1dGEgcHJvZ3JhbVxuIgorIiAgPG55cmFkPiAgICAgICAgICAgICAgICAgbsOkc3RhIHNpZGFcbiIKKyIgIGYgICAgICAgICAgICAgICAgICAgICAgIGhvcHBhIGZyYW3DpXQgZW4gc2lkYVxuIgorIiAgZCBlbGxlciBeRCAgICAgICAgICAgICAgbsOkc3RhIGhhbHZzaWRhXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBuw6RzdGEgcmFkXG4iCisiICAkICAgICAgICAgICAgICAgICAgICAgICBzaXN0YSBzaWRhblxuIgorIiAgL3JlZ2V4LyAgICAgICAgICAgICAgICAgc8O2ayBmcmFtw6V0IGVmdGVyIHJlZ3VsasOkcnQgdXR0cnlja1xuIgorIiAgP3JlZ2V4PyBlbGxlciBecmVnZXheICAgc8O2ayBiYWvDpXQgZWZ0ZXIgcmVndWxqw6RydCB1dHRyeWNrXG4iCisiICAuIGVsbGVyIF5MICAgICAgICAgICAgICByaXRhIG9tIHNrw6RybWVuXG4iCisiICB3IGVsbGVyIHogICAgICAgICAgICAgICBzdMOkbGwgaW4gc2lkc3RvcmxlayBvY2ggZ8OlIHRpbGwgbsOkc3RhIHNpZGFcbiIKKyIgIHMgZmlsbmFtbiAgICAgICAgICAgICAgIHNwYXJhIGFrdHVlbGwgZmlsIHRpbGwgZmlsbmFtblxuIgorIiAgIWtvbW1hbmRvICAgICAgICAgICAgICAga8O2ciBza2Fsa29tbWFuZG9cbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIGfDpSB0aWxsIGbDtnJlZ8OlZW5kZSBmaWxcbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIGfDpSB0aWxsIG7DpHN0YSBmaWxcbiIKKyJcbiIKKyJNw6VuZ2Ega29tbWFuZG9uIGFjY2VwdGVyYXIgYXR0IGbDtnJlZ8OlcyBhdiBudW1tZXIsIHRpbGwgZXhlbXBlbDpcbiIKKyIrMTxueXJhZD4gKG7DpHN0YSBzaWRhKTsgLTE8bnlyYWQ+IChmw7ZyZWfDpWVuZGUgc2lkYSk7IDE8bnlyYWQ+IChmw7Zyc3RhIHNpZGFuKS5cbiIKKyJcbiIKKyJTZSBwZygxKSBmw7ZyIHZpZGFyZSBpbmZvcm1hdGlvbi5cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gWytyYWRdIFsrL23Dtm5zdGVyL10gW2ZpbGVyXVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjI2Cittc2dpZCAiQnJvd3NlIHBhZ2V3aXNlIHRocm91Z2ggdGV4dCBmaWxlcy5cbiIKK21zZ3N0ciAiQmzDpGRkcmEgc2lkdmlzIGdlbm9tIHRleHRmaWxlci5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyOQorbXNnaWQgIiAtbnVtYmVyICAgICAgbGluZXMgcGVyIHBhZ2VcbiIKK21zZ3N0ciAiIC1udW1iZXIgICAgICByYWRlciBwZXIgc2lkYVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMwCittc2dpZCAiIC1jICAgICAgICAgICBjbGVhciBzY3JlZW4gYmVmb3JlIGRpc3BsYXlpbmdcbiIKK21zZ3N0ciAiIC1jICAgICAgICAgICB0w7ZtIHNrw6RybWVuIGlubmFuIHZpc25pbmdcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMQorbXNnaWQgIiAtZSAgICAgICAgICAgZG8gbm90IHBhdXNlIGF0IGVuZCBvZiBhIGZpbGVcbiIKK21zZ3N0ciAiIC1lICAgICAgICAgICBwYXVzYSBpbnRlIHZpZCBmaWxzbHV0XG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzIKK21zZ2lkICIgLWYgICAgICAgICAgIGRvIG5vdCBzcGxpdCBsb25nIGxpbmVzXG4iCittc2dzdHIgIiAtZiAgICAgICAgICAgcmFkYnJ5dCBpbnRlIGzDpW5nYSByYWRlclxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMzCittc2dpZCAiIC1uICAgICAgICAgICB0ZXJtaW5hdGUgY29tbWFuZCB3aXRoIG5ldyBsaW5lXG4iCittc2dzdHIgIiAtbiAgICAgICAgICAgYXZzbHV0YSBrb21tYW5kbyBtZWQgbnlyYWRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNAorbXNnaWQgIiAtcCA8cHJvbXB0PiAgc3BlY2lmeSBwcm9tcHRcbiIKK21zZ3N0ciAiIC1wIDxwcm9tcHQ+ICBhbmdlIHByb21wdFxuIgorCisjIHNlYnJhczogZGlzYWxsb3cgcnVubmluZyBzaGVsbCBjb21tYW5kcworIzogdGV4dC11dGlscy9wZy5jOjIzNQorbXNnaWQgIiAtciAgICAgICAgICAgZGlzYWxsb3cgc2hlbGwgZXNjYXBlXG4iCittc2dzdHIgIiAtciAgICAgICAgICAgdGlsbMOldCBpbnRlIGvDtnJuaW5nIGF2IHNrYWxrb21tYW5kb25cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNgorbXNnaWQgIiAtcyAgICAgICAgICAgcHJpbnQgbWVzc2FnZXMgdG8gc3Rkb3V0XG4iCittc2dzdHIgIiAtcyAgICAgICAgICAgc2tyaXYgdXQgbWVkZGVsYW5kZW4gdGlsbCBzdGFuZGFyZCB1dFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM3Cittc2dpZCAiICtudW1iZXIgICAgICBzdGFydCBhdCB0aGUgZ2l2ZW4gbGluZVxuIgorbXNnc3RyICIgK251bW1lciAgICAgIGLDtnJqYSBww6UgYW5naXZlbiByYWRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzOAorbXNnaWQgIiArL3BhdHRlcm4vICAgc3RhcnQgYXQgdGhlIGxpbmUgY29udGFpbmluZyBwYXR0ZXJuXG4iCittc2dzdHIgIiArL23Dtm5zdGVyLyAgIGLDtnJqYSBww6UgcmFkZW4gc29tIGlubmVow6VsbGVyIG3Dtm5zdGVyXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICVzIgorbXNnc3RyICJmbGFnZ2FuIGtyw6R2ZXIgZXR0IGFyZ3VtZW50IC0tICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgb3B0aW9uIC0tICVzIgorbXNnc3RyICJvdGlsbMOldGVuIGZsYWdnYSAtLSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjM1OQorbXNnaWQgIi4uLnNraXBwaW5nIGZvcndhcmRcbiIKK21zZ3N0ciAi4oCmaG9wcGFyIGZyYW3DpXRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM2MQorbXNnaWQgIi4uLnNraXBwaW5nIGJhY2t3YXJkXG4iCittc2dzdHIgIuKApmhvcHBhciBiYWvDpXRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM3NworbXNnaWQgIk5vIG5leHQgZmlsZSIKK21zZ3N0ciAiSW5nZW4gbsOkc3RhIGZpbCIKKworIzogdGV4dC11dGlscy9wZy5jOjM4MQorbXNnaWQgIk5vIHByZXZpb3VzIGZpbGUiCittc2dzdHIgIkluZ2VuIHRpZGlnYXJlIGZpbCIKKworIzogdGV4dC11dGlscy9wZy5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yIGZyb20gJXMgZmlsZSIKK21zZ3N0ciAiTMOkc2ZlbCBmcsOlbiAlcy1maWwiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCBFT0YgaW4gJXMgZmlsZSIKK21zZ3N0ciAiT3bDpG50YXQgZmlsc2x1dCBpICVzLWZpbCIKKworIzogdGV4dC11dGlscy9wZy5jOjg4OAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGVycm9yIGluICVzIGZpbGUiCittc2dzdHIgIk9rw6RudCBmZWwgaSAlcy1maWwiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NDEKK21zZ2lkICJDYW5ub3QgY3JlYXRlIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICJLYW4gaW50ZSBza2FwYSB0ZW1wb3LDpHIgZmlsIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTUwIHRleHQtdXRpbHMvcGcuYzoxMTE0IHRleHQtdXRpbHMvcGcuYzoxMTQwCittc2dpZCAiUkUgZXJyb3I6ICIKK21zZ3N0ciAiUkUtZmVsOiAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMDk3Cittc2dpZCAiKEVPRikiCittc2dzdHIgIihGaWxzbHV0KSIKKworIzogdGV4dC11dGlscy9wZy5jOjExMjIgdGV4dC11dGlscy9wZy5jOjExNDgKK21zZ2lkICJObyByZW1lbWJlcmVkIHNlYXJjaCBzdHJpbmciCittc2dzdHIgIkluZ2VuIGlow6Vna29tbWVuIHPDtmtzdHLDpG5nIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTIwMworbXNnaWQgImNhbm5vdCBvcGVuICIKK21zZ3N0ciAia2FuIGludGUgw7ZwcG5hICIKKworIzogdGV4dC11dGlscy9wZy5jOjEyNTUKK21zZ2lkICJzYXZlZCIKK21zZ3N0ciAic3BhcmFkIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM0NQorbXNnaWQgIjogIWNvbW1hbmQgbm90IGFsbG93ZWQgaW4gcmZsYWcgbW9kZS5cbiIKK21zZ3N0ciAiOiAha29tbWFuZG8gaW50ZSB0aWxsw6V0ZXQgaSByZmxhZy1sw6RnZS5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzODAKK21zZ2lkICJmb3JrKCkgZmFpbGVkLCB0cnkgYWdhaW4gbGF0ZXJcbiIKK21zZ3N0ciAiZm9yaygpIG1pc3NseWNrYWRlcywgZsO2cnPDtmsgaWdlbiBzZW5hcmVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjE0NjgKK21zZ2lkICIoTmV4dCBmaWxlOiAiCittc2dzdHIgIihOw6RzdGEgZmlsOiAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzIENvcHlyaWdodCAoYykgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4iCittc2dzdHIgIiVzICVzIENvcHlyaWdodCDCqSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gTWVkIGVuc2FtcsOkdHQuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTg3IHRleHQtdXRpbHMvcGcuYzoxNjYwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyBwZXIgcGFnZSIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgYW50YWwgcmFkZXIgcGVyIHNpZGEiCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCittc2dzdHIgIkFudsOkbmRuaW5nOiAlcyBbZmxhZ2dvcl0gW2ZpbCDigKZdXG4iCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6ODAKK21zZ2lkICJSZXZlcnNlIGxpbmVzIGNoYXJhY3Rlcndpc2UuXG4iCittc2dzdHIgIlNrcml2IHV0IHJhZGVyIHRlY2tlbnZpcyBpIG9tdsOkbmQgb3JkbmluZy5cbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJpbmNvbXBsZXRlIHdyaXRlIHRvIFwiJXNcIiAod3JpdHRlbiAlemQsIGV4cGVjdGVkICV6ZClcbiIKK21zZ3N0ciAib2Z1bGxzdMOkbmRpZyBza3Jpdm5pbmcgdGlsbCDigJ0lc+KAnSAoc2tyZXYgJXpkLCBmw7ZydsOkbnRhZGUgJXpkKVxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2ggKGxpbWl0IG9mIGlub3RpZnkgd2F0Y2hlcyB3YXMgcmVhY2hlZCkuIgorbXNnc3RyICIlczoga2FuIGludGUgbMOkZ2dhIHRpbGwgaW5vdGlmeS1iZXZha25pbmcgKGJlZ3LDpG5zbmluZyBmw7ZyIGFudGFsIGlub3RpZnktYmV2YWtuaW5nYXIgw6RyIG7DpWRkKS4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25dIDxmaWxlPlxuIgorbXNnc3RyICIgJXMgW2ZsYWdnb3JdIDxmaWw+XG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMDAKK21zZ2lkICJGb2xsb3cgdGhlIGdyb3d0aCBvZiBhIGxvZyBmaWxlLlxuIgorbXNnc3RyICJGw7ZsaiBodXIgZW4gbG9nZ2ZpbCB2w6R4ZXIuXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMDMKK21zZ2lkICIgLW4sIC0tbGluZXMgPG51bWJlcj4gICBvdXRwdXQgdGhlIGxhc3QgPG51bWJlcj4gbGluZXNcbiIKK21zZ3N0ciAiIC1uLCAtLWxpbmVzIDxudW1tZXI+ICAgbWF0YSB1dCBkZSBzZW5hc3RlIDxudW1tZXI+IHJhZGVybmFcbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwNAorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICAgIHNhbWUgYXMgJy1uIDxudW1iZXI+J1xuIgorbXNnc3RyICIgLTxudW1tZXI+ICAgICAgICAgICAgICBzYW1tYSBzb20gJy1uIDxudW1tZXI+J1xuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjEwCittc2dpZCAiV2FybmluZzogdXNlIG9mICd0YWlsZicgaXMgZGVwcmVjYXRlZCwgdXNlICd0YWlsIC1mJyBpbnN0ZWFkLlxuIgorbXNnc3RyICJWYXJuaW5nOiBhbnbDpG5kbmluZyBhdiDigJ10YWlsZuKAnSDDpHIgZsO2csOlbGRyYXQsIGFudsOkbmQg4oCddGFpbCAtZuKAnSBpc3TDpGxsZXQuXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMjMgdGV4dC11dGlscy90YWlsZi5jOjI2MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIGFudGFsIHJhZGVyIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6Mjc1Cittc2dpZCAibm8gaW5wdXQgZmlsZSBzcGVjaWZpZWQiCittc2dzdHIgImluZ2VuIGluZGF0YWZpbCBhbmdpdmVuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBmaWxlIgorbXNnc3RyICIlczogw6RyIGludGUgZW4gZmlsIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiAuLi5dXG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gWzxmaWw+IOKApl1cbiIKKworIzogdGV4dC11dGlscy91bC5jOjEzOQorbXNnaWQgIkRvIHVuZGVybGluaW5nLlxuIgorbXNnc3RyICJHw7ZyIHVuZGVyc3RyeWtuaW5nLlxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQyCittc2dpZCAiIC10LCAtVCwgLS10ZXJtaW5hbCBURVJNSU5BTCAgb3ZlcnJpZGUgdGhlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIC10LCAtVCwgLS10ZXJtaW5hbCBURVJNSU5BTCAgw6VzaWRvc8OkdHQgbWlsasO2dmFyaWFiZWxuIFRFUk1cbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0MworbXNnaWQgIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICAgIHVuZGVybGluaW5nIGlzIGluZGljYXRlZCB2aWEgYSBzZXBhcmF0ZSBsaW5lXG4iCittc2dzdHIgIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICAgIHVuZGVyc3RyeWtuaW5nIGluZGlrZXJhcyB2aWEgZW4gc2VwYXJhdCBsaW5qZVxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA0Cittc2dpZCAidHJvdWJsZSByZWFkaW5nIHRlcm1pbmZvIgorbXNnc3RyICJwcm9ibGVtIHZpZCBsw6RzbmluZyBhdiB0ZXJtaW5mbyIKKworIzogdGV4dC11dGlscy91bC5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCBgJXMnIGlzIG5vdCBrbm93biwgZGVmYXVsdGluZyB0byBgZHVtYiciCittc2dzdHIgInRlcm1pbmFsIOKAnSVzXCIgw6RyIGludGUga8OkbmQsIGZhbGxlciB0aWxsYmFrYSB0aWxsIHN0YW5kYXJkdsOkcmRldCDigJ1kdW1i4oCdIgorCisjIHNlYnJhczoga29udHJvbGxzZWt2ZW5zPworIzogdGV4dC11dGlscy91bC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGVzY2FwZSBzZXF1ZW5jZSBpbiBpbnB1dDogJW8sICVvIgorbXNnc3RyICJPa8OkbmQga29udHJvbGxzZWt2ZW5zIGkgaW5kYXRhOiAlbywgJW8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzo2MjQKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAiSW5kYXRhcmFkZW4gw6RyIGbDtnIgbMOlbmcuIgorCisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gdXNlIHRoZSBIYXJkd2FyZSBDbG9jay4iCisjfiBtc2dzdHIgIkVuZGFzdCBzdXBlcmFudsOkbmRhcmVuIGthbiBhbnbDpG5kYSBow6VyZHZhcnVrbG9ja2FuLiIKKworI34gbXNnaWQgIkZpbGVzeXN0ZW0gbGFiZWw6IgorI34gbXNnc3RyICJGaWxzeXN0ZW1zZXRpa2V0dDoiCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc2V0IFBBVEgiCisjfiBtc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHN0w6RsbGEgaW4gU8OWS1bDhEciCisKKyN+IG1zZ2lkICIlZCIKKyN+IG1zZ3N0ciAiJWQiCisKKyN+IG1zZ2lkICJ1c2Ugb2YgJ2tpbGwgLS1waWQnIG9wdGlvbiBhcyBjb21tYW5kIG5hbWUgaXMgZGVwcmVjYXRlZCIKKyN+IG1zZ3N0ciAiYW52w6RuZG5pbmcgYXYgZmxhZ2dhbiDigJ1raWxsIC0tcGlk4oCdIHNvbSBrb21tYW5kb25hbW4gw6RyIGbDtnLDpWxkcmF0IgorCisjfiBtc2dpZCAiJTRkLSUuMmQtJS4yZCAlMDJkOiUwMmQ6JTAyZC4lMDZsZCUrMDJkOiUwMmRcbiIKKyN+IG1zZ3N0ciAiJTRkLSUuMmQtJS4yZCAlMDJkOiUwMmQ6JTAyZC4lMDZsZCUrMDJkOiUwMmRcbiIKKworI34gbXNnaWQgImJhZCB0aW1lb3V0IHZhbHVlOiAlcyIKKyN+IG1zZ3N0ciAiZmVsYWt0aWd0IHRpZHNncsOkbnN2w6RyZGU6ICVzIgorCisjfiBtc2dpZCAiZXhwZWN0ZWQgYSBudW1iZXIsIGJ1dCBnb3QgJyVzJyIKKyN+IG1zZ3N0ciAiZsO2cnbDpG50YWRlIGV0dCBudW1tZXIsIG1lbiBmaWNrIOKAnSVz4oCdIgorCisjfiBtc2dpZCAiZGl2aXNvciAnJXMnIgorI34gbXNnc3RyICJkZWxhcmUg4oCdJXPigJ0iCisKKyN+IG1zZ2lkICJhcmd1bWVudCBlcnJvcjogJXMiCisjfiBtc2dzdHIgImFyZ3VtZW50ZmVsOiAlcyIKKworI34gbXNnaWQgInR0eSBwYXRoICVzIHRvbyBsb25nIgorI34gbXNnc3RyICJ0dHktc8O2a3bDpGcgJXMgw6RyIGbDtnIgbMOlbmciCisKKyN+IG1zZ2lkICJzZXQgYmxvY2tzaXplIgorI34gbXNnc3RyICJzdMOkbGwgaW4gYmxvY2tzdG9ybGVrIgorCisjfiBtc2dpZCAiICAlcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyN+IG1zZ3N0ciAiICAlcyAtLXJlcG9ydCBbZW5oZXRlcl1cbiIKKworI34gbXNnaWQgIiAgJXMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisjfiBtc2dzdHIgIiAgJXMgWy12fC1xXSBrb21tYW5kb24gZW5oZXRlclxuIgorCisjfiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuICVzXG4iCisjfiBtc2dzdHIgIiVzOiBrYW4gaW50ZSDDtnBwbmEgJXNcbiIKKworI34gbXNnaWQgInVzYWdlOlxuIgorI34gbXNnc3RyICJhbnbDpG5kbmluZzpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtaXNzaW5nIGJsb2NrZGV2aWNlLCB1c2UgLWggZm9yIGhlbHBcbiIKKyN+IG1zZ3N0ciAiJXMgw6RyIGluZ2VuIGJsb2NrZW5oZXQgZWxsZXIgZmlsXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtbiBdIGRldmljZVxuIgorI34gbXNnc3RyICJhbnbDpG5kbmluZzogJXMgWyAtbiBdIGVuaGV0XG4iCisKKyN+IG1zZ2lkICIiCisjfiAidXNhZ2U6ICVzIFstaHZdIFsteCBkaXJdIGZpbGVcbiIKKyN+ICIgLWggICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyN+ICIgLXggZGlyICAgICBleHRyYWN0IGludG8gZGlyXG4iCisjfiAiIC12ICAgICAgICAgYmUgbW9yZSB2ZXJib3NlXG4iCisjfiAiIGZpbGUgICAgICAgZmlsZSB0byB0ZXN0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJhbnbDpG5kbmluZzogJXMgWy1odl0gWy14IGthdF0gZmlsXG4iCisjfiAiIC1oICAgICAgICAgdmlzYSBkZW5uYSBoasOkbHB0ZXh0XG4iCisjfiAiIC14IGthdCAgICAgcGFja2EgdXBwIGkga2F0XG4iCisjfiAiIC12ICAgICAgICAgdmFyIG1lciB1dGbDtnJsaWdcbiIKKyN+ICIgZmlsICAgICAgICBmaWwgYXR0IHRlc3RhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY29tcGlsZWQgd2l0aG91dCAteCBzdXBwb3J0IgorI34gbXNnc3RyICIlczoga29tcGlsZXJhZCB1dGFuIHN0w7ZkIGbDtnIgLXhcbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWxhcnZzbWZdIC9kZXYvbmFtZVxuIgorI34gbXNnc3RyICJBbnbDpG5kbmluZzogJXMgWy1sYXJ2c21mXSAvZGV2L25hbW5cbiIKKworI34gbXNnaWQgIiVzOiBvcHRpb24gcGFyc2UgZXJyb3JcbiIKKyN+IG1zZ3N0ciAiJXM6IGZlbCB2aWQgZmxhZ2d0b2xrbmluZ1xuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsteF0gWy1kIDxudW0+XSBpc285NjYwLWltYWdlXG4iCisjfiBtc2dzdHIgIkFudsOkbmRuaW5nOiAlcyBbLXhdIFstZCA8bnVtPl0gaXNvOTY2MC1hdmJpbGRcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgWy12XSBbLU4gbnItb2YtaW5vZGVzXSBbLVYgdm9sdW1lLW5hbWVdXG4iCisjfiAiICAgICAgIFstRiBmc25hbWVdIGRldmljZSBbYmxvY2stY291bnRdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJBbnbDpG5kbmluZzogJXMgWy12XSBbLU4gYW50YWwtaW5vZGVyXSBbLVYgdm9seW1uYW1uXVxuIgorI34gIiAgICAgICAgICAgIFstRiBmaWxzeXN0ZW1zbmFtbl0gZW5oZXQgW2Jsb2NrYW50YWxdXG4iCisKKyN+IG1zZ2lkICIlcyBpcyBub3QgYSBibG9jayBzcGVjaWFsIGRldmljZSIKKyN+IG1zZ3N0ciAiJXMgw6RyIGluZ2VuIGJsb2Nrc3BlY2lhbGVuaGV0IgorCisjfiBtc2dpZCAiJXM6IE91dCBvZiBtZW1vcnkhXG4iCisjfiBtc2dzdHIgIiVzOiBTbHV0IHDDpSBtaW5uZSFcbiIKKworI34gbXNnaWQgIm1rZnMgKCVzKVxuIgorI34gbXNnc3RyICJta2ZzICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVmVyeSBsb25nICglenUgYnl0ZXMpIGZpbGVuYW1lIGAlcycgZm91bmQuXG4iCisjfiAiIFBsZWFzZSBpbmNyZWFzZSBNQVhfSU5QVVRfTkFNRUxFTiBpbiBta2NyYW1mcy5jIGFuZCByZWNvbXBpbGUuICBFeGl0aW5nLlxuIgorI34gbXNnc3RyICIiCisjfiAiTXlja2V0IGzDpW5ndCAoJXUgYnl0ZSkgZmlsbmFtbiBcIiVzXCIgaGl0dGFkZXMuXG4iCisjfiAiIMOWa2EgTUFYX0lOUFVUX05BTUVMRU4gaSBta2NyYW1mcy5jIG9jaCBrb21waWxlcmEgb20uIEF2c2x1dGFyLlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstYyB8IC1sIGZpbGVuYW1lXSBbLW5YWF0gWy1pWFhdIC9kZXYvbmFtZSBbYmxvY2tzXVxuIgorI34gbXNnc3RyICJBbnbDpG5kbmluZzogJXMgWy1jIHwgLWwgZmlsbmFtbl0gWy1uWFhdIFstaVhYXSAvZGV2L25hbW4gW2Jsb2NrXVxuIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlcnMgZm9yIG1hcHMiCisjfiBtc2dzdHIgImthbiBpbnRlIGFsbG9rZXJhIGJ1ZmZlcnRhciBmw7ZyIHRhYmVsbGVyIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorI34gbXNnc3RyICJrYW4gaW50ZSBhbGxva2VyYSBidWZmZXJ0IGbDtnIgaW5vZGVyIgorCisjfiBtc2dpZCAib25lIGJhZCBibG9ja1xuIgorI34gbXNnc3RyICJldHQgZmVsYWt0aWd0IGJsb2NrXG4iCisKKyN+IG1zZ2lkICJzdHJ0b2wgZXJyb3I6IG51bWJlciBvZiBibG9ja3Mgbm90IHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAic3RydG9sLWZlbDogYW50YWxldCBibG9jayDDpHIgaW50ZSBhbmdpdmV0IgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgc2VjdG9yIHNpemUgZm9yICVzIgorI34gbXNnc3RyICJrYW4gaW50ZSBow6RtdGEgc3Rvcmxla2VuIHDDpSAlcyIKKworI34gbXNnaWQgIndpbGwgbm90IHRyeSB0byBtYWtlIGZpbGVzeXN0ZW0gb24gJyVzJyIKKyN+IG1zZ3N0ciAia29tbWVyIGludGUgYXR0IGbDtnJzw7ZrYSBza2FwYSBmaWxzeXN0ZW0gcMOlIFwiJXNcIiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2FsbG9jKCkgZmFpbGVkOiAlc1xuIgorI34gbXNnc3RyICJtYWxsb2MoKSBtaXNzbHlja2FkZXMiCisKKyN+IG1zZ2lkICJCYWQgc3dhcCBoZWFkZXIgc2l6ZSwgbm8gbGFiZWwgd3JpdHRlbi5cbiIKKyN+IG1zZ3N0ciAiRmVsYWt0aWcgc3RvcmxlayBww6UgdsOkeGxpbmdzaHV2dWQsIGluZ2VuIGV0aWtldHQgc2tyZXZzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLWNdIFstcFBBR0VTWl0gWy1MIGxhYmVsXSBbLVUgVVVJRF0gL2Rldi9uYW1lIFtibG9ja3NdXG4iCisjfiBtc2dzdHIgIkFudsOkbmRuaW5nOiAlcyBbLWNdIFstdjB8LXYxXSBbLXBTSURTVE9STEVLXSBbLUwgZXRpa2V0dF0gL2Rldi9uYW1uIFtibG9ja11cbiIKKworI34gbXNnaWQgIk91dCBvZiBtZW1vcnkiCisjfiBtc2dzdHIgIlNsdXQgcMOlIG1pbm5lIgorCisjfiBtc2dpZCAib25lIGJhZCBwYWdlXG4iCisjfiBtc2dzdHIgImVuIGZlbGFrdGlnIHNpZGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgIG9uIHdob2xlIGRpc2suICIKKyN+IG1zZ3N0ciAiICAgcyAgIHZpc2EgZnVsbHN0w6RuZGlnIGRpc2tldGlrZXR0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBkb2VzIG5vdCBzdXBwb3J0IHN3YXBzcGFjZSB2ZXJzaW9uICVkLlxuIgorI34gbXNnc3RyICIlczogZmVsOiB2ZXJzaW9uICVkIMOkciBva8OkbmRcbiIKKworI34gbXNnaWQgIiVzOiBlcnJvcjogd2lsbCBub3QgdHJ5IHRvIG1ha2Ugc3dhcGRldmljZSBvbiAnJXMnXG4iCisjfiBtc2dzdHIgIiVzOiBmZWw6IGtvbW1lciBpbnRlIGF0dCBmw7Zyc8O2a2Egc2thcGEgdsOkeGxpbmdzZW5oZXQgcMOlIFwiJXNcIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgICVzICIKKyN+IG1zZ3N0ciAiQW52w6RuZG5pbmc6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBzd2FwbGFiZWwoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJGw7ZyIG1lciBpbmZvcm1hdGlvbiwgc2Ugc2V0YXJjaCg4KS5cbiIKKworI34gbXNnaWQgIlVudXNhYmxlIgorI34gbXNnc3RyICJPYW52w6RuZGJhciIKKworI34gbXNnaWQgIkRpc2sgaGFzIGJlZW4gY2hhbmdlZC5cbiIKKyN+IG1zZ3N0ciAiRGlza2VuIGhhciDDpG5kcmF0cy5cbiIKKworI34gbXNnaWQgIlJlYm9vdCB0aGUgc3lzdGVtIHRvIGVuc3VyZSB0aGUgcGFydGl0aW9uIHRhYmxlIGlzIGNvcnJlY3RseSB1cGRhdGVkLlxuIgorI34gbXNnc3RyICIiCisjfiAiU3RhcnRhIG9tIHN5c3RlbWV0IGbDtnIgYXR0IGbDtnJzw6RrcmEgZGlnIG9tIGF0dCBwYXJ0aXRpb25zdGFiZWxsZW4gaGFyXG4iCisjfiAidXBwZGF0ZXJhdHMga29ycmVrdC5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueVxuIgorI34gIkRPUyA2LnggcGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgY2ZkaXNrIG1hbnVhbFxuIgorI34gInBhZ2UgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJWQVJOSU5HOiBPbSBkdSBoYXIgc2thcGF0IGVsbGVyIMOkbmRyYXQgRE9TIDYueC1cbiIKKyN+ICJwYXJ0aXRpb25lciBiw7ZyIGR1IHRpdHRhIGkgbWFudWFsZW4gZsO2ciBjZmRpc2tcbiIKKyN+ICJmw7ZyIHl0dGVybGlnYXJlIGluZm9ybWF0aW9uLlxuIgorCisjfiBtc2dpZCAiRkFUQUwgRVJST1IiCisjfiBtc2dzdHIgIsOWREVTRElHRVJUIEZFTCIKKworI34gbXNnaWQgIlByZXNzIGFueSBrZXkgdG8gZXhpdCBjZmRpc2siCisjfiBtc2dzdHIgIlRyeWNrIHZhbGZyaSB0YW5nZW50IGbDtnIgYXR0IGF2c2x1dGEgY2ZkaXNrIgorCisjfiBtc2dpZCAiQ2Fubm90IHNlZWsgb24gZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiS2FuIGludGUgc8O2a2EgcMOlIGRpc2tlbmhldCIKKworI34gbXNnaWQgIkNhbm5vdCByZWFkIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIkthbiBpbnRlIGludGUgbMOkc2EgZGlza2VuaGV0IgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGJlZ2lucyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIlBhcnRpdGlvbmVuIGLDtnJqYXIgZsO2cmUgc2VrdG9yIDAiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gYmVnaW5zIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICJQYXJ0aXRvbmVuIGLDtnJqYXIgZWZ0ZXIgc2x1dGV0IHDDpSBkaXNrZW4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBhZnRlciBlbmQtb2YtZGlzayIKKyN+IG1zZ3N0ciAiUGFydGl0aW9uZW4gc2x1dGFyIGVmdGVyIHNsdXRldCBww6UgZGlza2VuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGVuZHMgaW4gdGhlIGZpbmFsIHBhcnRpYWwgY3lsaW5kZXIiCisjfiBtc2dzdHIgIlBhcnRpdGlvbmVuIHNsdXRhciBpIGRlbiBzbHV0bGlnYSBwYXJ0aWVsbGEgY3lsaW5kZXJuIgorCisjfiBtc2dpZCAibG9naWNhbCBwYXJ0aXRpb25zIG5vdCBpbiBkaXNrIG9yZGVyIgorI34gbXNnc3RyICJsb2dpc2thIHBhcnRpdGlvbmVyIMOkciBpbnRlIGkgZGlza29yZG5pbmciCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAibG9naXNrYSBwYXJ0aXRpb25lciDDtnZlcmxhcHBhciB2YXJhbmRyYSIKKworI34gbXNnaWQgImVubGFyZ2VkIGxvZ2ljYWwgcGFydGl0aW9ucyBvdmVybGFwIgorI34gbXNnc3RyICJmw7Zyc3RvcmFkZSBsb2dpc2thIHBhcnRpdGlvbmVyIMO2dmVybGFwcGFyIHZhcmFuZHJhIgorCisjfiBtc2dpZCAiISEhISBJbnRlcm5hbCBlcnJvciBjcmVhdGluZyBsb2dpY2FsIGRyaXZlIHdpdGggbm8gZXh0ZW5kZWQgcGFydGl0aW9uICEhISEiCisjfiBtc2dzdHIgIiEhISEgSW50ZXJudCBmZWwgdmlkIHNrYXBhbmRlIGF2IGxvZ2lzayBlbmhldCB1dGFuIHV0w7ZrYWQgcGFydGl0aW9uICEhISEiCisKKyN+IG1zZ2lkICJDYW5ub3QgY3JlYXRlIGxvZ2ljYWwgZHJpdmUgaGVyZSAtLSB3b3VsZCBjcmVhdGUgdHdvIGV4dGVuZGVkIHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIkthbiBpbnRlIHNrYXBhIGxvZ2lzayBlbmhldCBow6RyIC0tIGRldCBza3VsbGUgc2thcGEgdHbDpSB1dMO2a2FkZSBwYXJ0aXRpb25lciIKKworI34gbXNnaWQgIk1lbnUgaXRlbSB0b28gbG9uZy4gTWVudSBtYXkgbG9vayBvZGQuIgorI34gbXNnc3RyICJNZW55cG9zdGVuIMOkciBmw7ZyIGzDpW5nLiBNZW55biBrYW4gc2Uga29uc3RpZyB1dC4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTWVudSB3aXRob3V0IGRpcmVjdGlvbi4gRGVmYXVsdGluZyB0byBob3Jpem9udGFsLiIKKyN+IG1zZ3N0ciAiTWVueSB1dGFuIHJpa3RuaW5nLiBBbnbDpG5kZXIgc3RhbmRhcmR2w6RyZGV0IHbDpWdyw6R0LiIKKworI34gbXNnaWQgIklsbGVnYWwga2V5IgorI34gbXNnc3RyICJPZ2lsdGlnIHRhbmdlbnQiCisKKyN+IG1zZ2lkICJDcmVhdGUgYSBuZXcgcHJpbWFyeSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlNrYXBhIGVuIG55IHByaW3DpHIgcGFydGl0aW9uIgorCisjfiBtc2dpZCAiQ2FuY2VsIgorI34gbXNnc3RyICJBdmJyeXQiCisKKyN+IG1zZ2lkICIhISEgSW50ZXJuYWwgZXJyb3IgISEhIgorI34gbXNnc3RyICIhISEgSW50ZXJudCBmZWwgISEhIgorCisjfiBtc2dpZCAiU2l6ZSAoaW4gTUIpOiAiCisjfiBtc2dzdHIgIlN0b3JsZWsgKGkgTUIpOiAiCisKKyN+IG1zZ2lkICJCZWdpbm5pbmciCisjfiBtc2dzdHIgIkLDtnJqYW4iCisKKyN+IG1zZ2lkICJBZGQgcGFydGl0aW9uIGF0IGJlZ2lubmluZyBvZiBmcmVlIHNwYWNlIgorI34gbXNnc3RyICJMw6RnZyB0aWxsIHBhcnRpdGlvbiBpIGLDtnJqYW4gYXYgZGV0IGxlZGlnYSB1dHJ5bW1ldCIKKworI34gbXNnaWQgIkFkZCBwYXJ0aXRpb24gYXQgZW5kIG9mIGZyZWUgc3BhY2UiCisjfiBtc2dzdHIgIkzDpGdnIHRpbGwgcGFydGl0aW9uIGkgc2x1dGV0IGF2IGRldCBsZWRpZ2EgdXRyeW1tZXQiCisKKyN+IG1zZ2lkICJObyByb29tIHRvIGNyZWF0ZSB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICJJbmdlbiBwbGF0cyBhdHQgc2thcGEgZGVuIHV0w7ZrYWRlIHBhcnRpdGlvbmVuIgorCisjfiBtc2dpZCAiTm8gcGFydGl0aW9uIHRhYmxlLiBTdGFydGluZyB3aXRoIHplcm8gdGFibGUuIgorI34gbXNnc3RyICJJbmdlbiBwYXJ0aXRpb25zdGFiZWxsLiBTdGFydGFyIG1lZCB0b20gdGFiZWxsLiIKKworI34gbXNnaWQgIkJhZCBzaWduYXR1cmUgb24gcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJGZWxha3RpZyBzaWduYXR1ciBww6UgcGFydGl0aW9uc3RhYmVsbCIKKworI34gbXNnaWQgIlVua25vd24gcGFydGl0aW9uIHRhYmxlIHR5cGUiCisjfiBtc2dzdHIgIk9rw6RuZCB0eXAgYXYgcGFydGl0aW9uc3RhYmVsbCIKKworI34gbXNnaWQgIkRvIHlvdSB3aXNoIHRvIHN0YXJ0IHdpdGggYSB6ZXJvIHRhYmxlIFt5L05dID8iCisjfiBtc2dzdHIgIlZpbGwgZHUgYsO2cmphIG1lZCBlbiB0b20gdGFiZWxsIFtqL05dPyIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIkthbiBpbnRlIMO2cHBuYSBkaXNrZW5oZXQiCisKKyN+IG1zZ2lkICJPcGVuZWQgZGlzayByZWFkLW9ubHkgLSB5b3UgaGF2ZSBubyBwZXJtaXNzaW9uIHRvIHdyaXRlIgorI34gbXNnc3RyICLDlnBwbmFkZSBkaXNrZW4gc2tyaXZza3lkZGF0IC0gZHUgaGFyIGluZ2VuIGJlaMO2cmlnaGV0IGF0dCBza3JpdmEiCisKKyN+IG1zZ2lkICJXYXJuaW5nISEgIFVuc3VwcG9ydGVkIEdQVCAoR1VJRCBQYXJ0aXRpb24gVGFibGUpIGRldGVjdGVkLiBVc2UgR05VIFBhcnRlZC4iCisjfiBtc2dzdHIgIlZhcm5pbmchISAgR1BUIChHVUlEIFBhcnRpdGlvbiBUYWJsZSkgdXBwdMOkY2t0ZXMgbWVuIHN0w7ZkcyBpbnRlLiBBbnbDpG5kIEdOVSBQYXJ0ZWQuIgorCisjfiBtc2dpZCAiQmFkIHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICJGZWxha3RpZyBwcmltw6RyIHBhcnRpdGlvbiIKKworI34gbXNnaWQgIldhcm5pbmchISAgVGhpcyBtYXkgZGVzdHJveSBkYXRhIG9uIHlvdXIgZGlzayEiCisjfiBtc2dzdHIgIlZhcm5pbmchISBEZXR0YSBrYW4gZsO2cnN0w7ZyYSBkYXRhIHDDpSBkaW4gZGlzayEiCisKKyN+IG1zZ2lkICJQbGVhc2UgZW50ZXIgYHllcycgb3IgYG5vJyIKKyN+IG1zZ3N0ciAiQW5nZSBcImphXCIgZWxsZXIgXCJuZWpcIiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXcm90ZSBwYXJ0aXRpb24gdGFibGUsIGJ1dCByZS1yZWFkIHRhYmxlIGZhaWxlZC4gIFJ1biBwYXJ0cHJvYmUoOCksIGtwYXJ0eCg4KSBvciByZWJvb3QgdG8gdXBkYXRlIHRhYmxlLiIKKyN+IG1zZ3N0ciAiU2tyZXYgcGFydGl0aW9uc3RhYmVsbGVuLCBtZW4gb21sw6RzbmluZyBhdiB0YWJlbGxlbiBtaXNzbHlja2FkZXMuIFN0YXJ0YSBvbSBmw7ZyIGF0dCB1cHBkYXRlcmEgdGFiZWxsZW4uIgorCisjfiBtc2dpZCAiTm8gcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBtYXJrZWQgYm9vdGFibGUuIERPUyBNQlIgY2Fubm90IGJvb3QgdGhpcy4iCisjfiBtc2dzdHIgIiIKKyN+ICJJbmdhIHByaW3DpHJhIHBhcnRpdGlvbmVyIMOkciBtYXJrZXJhZGUgc29tIHN0YXJ0YmFyYS4gRE9TIGh1dnVkc3RhcnRwb3N0XG4iCisjfiAiKE1CUikga2FuIGludGUgc3RhcnRhIGRldHRhLiIKKworI34gbXNnaWQgIk1vcmUgdGhhbiBvbmUgcHJpbWFyeSBwYXJ0aXRpb24gaXMgbWFya2VkIGJvb3RhYmxlLiBET1MgTUJSIGNhbm5vdCBib290IHRoaXMuIgorI34gbXNnc3RyICIiCisjfiAiTWVyIMOkbiBlbiBwcmltw6RyIHBhcnRpdGlvbiDDpHIgbWFya2VyYWQgc29tIHN0YXJ0YmFyLiBET1MgaHV2dWRzdGFydHBvc3RcbiIKKyN+ICIoTUJSKSBrYW4gaW50ZSBzdGFydGEgZGV0dGEuIgorCisjfiBtc2dpZCAiRW50ZXIgZmlsZW5hbWUgb3IgcHJlc3MgUkVUVVJOIHRvIGRpc3BsYXkgb24gc2NyZWVuOiAiCisjfiBtc2dzdHIgIkFuZ2UgZmlsbmFtbmV0IGVsbGVyIHRyeWNrIFJFVFVSIGbDtnIgYXR0IHZpc2EgcMOlIHNrw6RybWVuOiAiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlc1xuIgorI34gbXNnc3RyICJEaXNrZW5oZXQ6ICVzXG4iCisKKyN+IG1zZ2lkICJTZWN0b3IgMDpcbiIKKyN+IG1zZ3N0ciAiU2VrdG9yIDA6XG4iCisKKyN+IG1zZ2lkICJTZWN0b3IgJWQ6XG4iCisjfiBtc2dzdHIgIlNla3RvciAlZDpcbiIKKworI34gbXNnaWQgIiAgIE5vbmUgICAiCisjfiBtc2dzdHIgIiAgIEluZ2VuICAiCisKKyMgUHJpbcOkci9Mb2dpc2sgYW50YXIgamFnCisjfiBtc2dpZCAiICAgUHJpL0xvZyIKKyN+IG1zZ3N0ciAiICAgUHJpL0xvZyIKKworI34gbXNnaWQgIiAgIFByaW1hcnkiCisjfiBtc2dzdHIgIiAgIFByaW3DpHIgIgorCisjfiBtc2dpZCAiICAgTG9naWNhbCIKKyN+IG1zZ3N0ciAiICAgTG9naXNrICIKKworI34gbXNnaWQgIiglMDJYKSIKKyN+IG1zZ3N0ciAiKCUwMlgpIgorCisjfiBtc2dpZCAiTm9uZSIKKyN+IG1zZ3N0ciAiSW5nZW4iCisKKyN+IG1zZ2lkICIgIyBUeXBlICAgICAgIFNlY3RvciAgICAgIFNlY3RvciAgIE9mZnNldCAgICBMZW5ndGggICBGaWxlc3lzdGVtIFR5cGUgKElEKSBGbGFnXG4iCisjfiBtc2dzdHIgIiAjIFR5cCAgICAgICAgU2VrdG9yICAgICAgU2VrdG9yICAgQXZzdMOlbmQgICBMw6RuZ2QgICAgRmlsc3lzdGVtc3R5cCAoSUQpICAgRmxhZ2dhXG4iCisKKyN+IG1zZ2lkICItLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tXG4iCisjfiBtc2dzdHIgIi0tIC0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS1cbiIKKworIyBUaGlzIGlzIGJyb2tlbgorIworIyBmcF9wcmludGYoZnAsIF8oIiAgICAgICAgIC0tLVN0YXJ0aW5nLS0tICAgICAgLS0tLUVuZGluZy0tLS0gICAgU3RhcnQgTnVtYmVyIG9mXG4iKSk7CisjIGZwX3ByaW50ZihmcCwgXygiICMgRmxhZ3MgSGVhZCBTZWN0IEN5bCAgIElEICBIZWFkIFNlY3QgQ3lsICAgIFNlY3RvciBTZWN0b3JzXG4iKSk7CisjIGZwX3ByaW50ZihmcCwgXygiLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tLS0tLSAtLS0tLS0tLS1cbiIpKTsKKyMKKyMgVGhpcyBtYWtlcyBubyBzZW5zZSB0byB0cmFuc2xhdGUgc2VwZXJhdGVseSwgc2luY2UgdGhlIGxpbmVzIGFyZSB2ZXJ5CisjIG11Y2ggcmVsYXRlZC4gSW4gZmFjdCwgaW4gc2VwZXJhdGUgbWVzc2FnZXMgbGlrZSB0aGUgYWJvdmUgaXQgbWFrZXMKKyMgc2Vuc2UgdG8gdHJhbnNsYXRlICJTdGFydCBOdW1iZXIgb2YiOiBPbmx5IGlmIHlvdSBsb29rIGNhcmVmdWxseSBpbiB0aGUKKyMgc291cmNlIHlvdSByZWFsaXplIHRoYXQgIlN0YXJ0IiBiZWxvbmdzIHRvICJTZWN0b3IiIGluIGFub3RoZXIgbWVzc2FnZQorIyAodGhlIG9uZSBmcm9tIHRoZSBsaW5lIGJlbG93IGluIHRoZSBzb3VyY2UpLgorIworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgICAtLS1TdGFydGluZy0tLS0gICAgICAtLS0tRW5kaW5nLS0tLS0gICAgU3RhcnQgICAgIE51bWJlciBvZlxuIgorI34gbXNnc3RyICIgICAgICAgICAtLS0tU3RhcnQtLS0tLSAgICAgIC0tLS0tU2x1dC0tLS0tICAgU3RhcnQtICAgIEFudGFsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICMgRmxhZ3MgSGVhZCBTZWN0ICBDeWwgICBJRCAgSGVhZCBTZWN0ICBDeWwgICAgIFNlY3RvciAgICBTZWN0b3JzXG4iCisjfiBtc2dzdHIgIiAjIEZsZ2dyICBIdmQgU2VrdCBDeWwgICBJRCAgSHZkICBTZWt0IEN5bCAgICAgc2VrdG9yICAgIHNla3RvcmVyXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tXG4iCisjfiBtc2dzdHIgIi0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS1cbiIKKworI34gbXNnaWQgIlJhdyIKKyN+IG1zZ3N0ciAiUsOldHQiCisKKyN+IG1zZ2lkICJQcmludCB0aGUgdGFibGUgdXNpbmcgcmF3IGRhdGEgZm9ybWF0IgorI34gbXNnc3RyICJWaXNhIHRhYmVsbGVuIGkgcsOldHQgZGF0YWZvcm1hdCIKKworI34gbXNnaWQgIlByaW50IHRoZSB0YWJsZSBvcmRlcmVkIGJ5IHNlY3RvcnMiCisjfiBtc2dzdHIgIlZpc2EgdGFiZWxsZW4gc29ydGVyYWQgZWZ0ZXIgc2VrdG9yZXIiCisKKyN+IG1zZ2lkICJUYWJsZSIKKyN+IG1zZ3N0ciAiVGFiZWxsIgorCisjfiBtc2dpZCAiRG9uJ3QgcHJpbnQgdGhlIHRhYmxlIgorI34gbXNnc3RyICJWaXNhIGludGUgdGFiZWxsZW4iCisKKyN+IG1zZ2lkICJIZWxwIFNjcmVlbiBmb3IgY2ZkaXNrIgorI34gbXNnc3RyICJIasOkbHBza8Okcm0gZsO2ciBjZmRpc2siCisKKyN+IG1zZ2lkICJkaXNrIGRyaXZlLiIKKyN+IG1zZ3N0ciAiaMOlcmRkaXNrLiIKKworI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMTk5NC0xOTk5IEtldmluIEUuIE1hcnRpbiAmIGFlYiIKKyN+IG1zZ3N0ciAiQ29weXJpZ2h0IMKpIDE5OTQtMTk5OSBLZXZpbiBFLiBNYXJ0aW4gb2NoIGFlYiIKKworI34gbXNnaWQgIiAgZyAgICAgICAgICBDaGFuZ2UgY3lsaW5kZXJzLCBoZWFkcywgc2VjdG9ycy1wZXItdHJhY2sgcGFyYW1ldGVycyIKKyN+IG1zZ3N0ciAiICBnICAgICAgICAgIMOEbmRyYSBwYXJhbWV0cmFybmEgZsO2ciBjeWxpbmRyYXIsIGh1dnVkZW4sIHNla3RvcmVyLXBlci1zcMOlciIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBXQVJOSU5HOiBUaGlzIG9wdGlvbiBzaG91bGQgb25seSBiZSB1c2VkIGJ5IHBlb3BsZSB3aG8iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBWQVJOSU5HOiBEZW5uYSBmbGFnZ2EgYsO2ciBlbmRhc3QgYW52w6RuZGFzIGF2IHBlcnNvbmVyIHNvbSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBrbm93IHdoYXQgdGhleSBhcmUgZG9pbmcuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgdmV0IHZhZCBkZSBnw7ZyLiIKKworI34gbXNnaWQgIiAgbSAgICAgICAgICBNYXhpbWl6ZSBkaXNrIHVzYWdlIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICBtICAgICAgICAgIE1heGltZXJhIGRpc2thbnbDpG5kYW5kZXQgcMOlIGFrdHVlbGwgcGFydGl0aW9uIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIE5vdGU6IFRoaXMgbWF5IG1ha2UgdGhlIHBhcnRpdGlvbiBpbmNvbXBhdGlibGUgd2l0aCIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIE9iczogRGV0dGEga2FuIGtvbW1hIGF0dCBnw7ZyYSBwYXJ0aXRpb25lbiBpbmtvbXBhdGliZWwgbWVkIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIERPUywgT1MvMiwgLi4uIgorI34gbXNnc3RyICIgICAgICAgICAgICAgRE9TLCBPUy8yLCAuLi4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgdGhhdCB5b3UgY2FuIGNob29zZSBmcm9tOiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIHNvbSBkdSBrYW4gdsOkbGphIG1lbGxhbjoiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgciAtIFJhdyBkYXRhIChleGFjdGx5IHdoYXQgd291bGQgYmUgd3JpdHRlbiB0byBkaXNrKSIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHIgLSBSw6UgZGF0YSAoZXhha3QgZGV0IHNvbSBza3VsbGUgc2tyaXZhcyB0aWxsIGRpc2tlbikiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgcyAtIFRhYmxlIG9yZGVyZWQgYnkgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUYWJlbGwgc29ydGVyYWQgZWZ0ZXIgc2VrdG9yZXIiCisKKyN+IG1zZ2lkICIgIHUgICAgICAgICAgQ2hhbmdlIHVuaXRzIG9mIHRoZSBwYXJ0aXRpb24gc2l6ZSBkaXNwbGF5IgorI34gbXNnc3RyICIgIHUgICAgICAgICAgQnl0IGVuaGV0ZXIgcMOlIHZpc25pbmdlbiBhdiBwYXJ0aXRpb25zc3RvcmxlayIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBSb3RhdGVzIHRocm91Z2ggTUIsIHNlY3RvcnMgYW5kIGN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIEJ5dGVyIG1lbGxhbiBNQiwgc2VrdG9yZXIgb2NoIGN5bGluZHJhciIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBgbm8nIgorI34gbXNnc3RyICIgICAgICAgICAgICAgZWxsZXIgXCJuZWpcIiIKKworI34gbXNnaWQgIkNUUkwtTCAgICAgICBSZWRyYXdzIHRoZSBzY3JlZW4iCisjfiBtc2dzdHIgIkNUUkwrTCAgICAgICBSaXRhIG9tIHNrw6RybWVuIgorCisjfiBtc2dpZCAiICA/ICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorI34gbXNnc3RyICIgID8gICAgICAgICAgVmlzYSBkZW5uYSBza8Okcm0iCisKKyN+IG1zZ2lkICJDaGFuZ2UgY3lsaW5kZXIgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIsOEbmRyYSBjeWxpbmRlcmdlb21ldHJpIgorCisjfiBtc2dpZCAiQ2hhbmdlIGhlYWQgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIsOEbmRyYSBodXZ1ZGdlb21ldHJpIgorCisjfiBtc2dpZCAiQ2hhbmdlIHNlY3RvciBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiw4RuZHJhIHNla3Rvcmdlb21ldHJpIgorCisjfiBtc2dpZCAiRG9uZSIKKyN+IG1zZ3N0ciAiS2xhciIKKworI34gbXNnaWQgIkRvbmUgd2l0aCBjaGFuZ2luZyBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiRsOkcmRpZyBtZWQgZ2VvbWV0cmnDpG5kcmluZyIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2YgaGVhZHM6ICIKKyN+IG1zZ3N0ciAiQW5nZSBhbnRhbGV0IGh1dnVkZW46ICIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2s6ICIKKyN+IG1zZ3N0ciAiQW5nZSBhbnRhbGV0IHNla3RvcmVyIHBlciBzcMOlcjogIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSBGUyBUeXBlIHRvIGVtcHR5IgorI34gbXNnc3RyICJLYW4gaW50ZSDDpG5kcmEgZmlsc3lzdGVtc3R5cGVuIHRpbGwgZXR0IHRvbXQgdsOkcmRlIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSBGUyBUeXBlIHRvIGV4dGVuZGVkIgorI34gbXNnc3RyICJLYW4gaW50ZSDDpG5kcmEgZmlsc3lzdGVtc3R5cGVuIHRpbGwgdXTDtmthZCIKKworI34gbXNnaWQgIlVuayglMDJYKSIKKyN+IG1zZ3N0ciAiT2vDpG5kKCUwMlgpIgorCisjIFZhZCDDpHIgZGV0dGE/CisjfiBtc2dpZCAiLCBOQyIKKyN+IG1zZ3N0ciAiLCBOQyIKKworI34gbXNnaWQgIlByaS9Mb2ciCisjfiBtc2dzdHIgIlByaS9Mb2ciCisKKyN+IG1zZ2lkICJVbmtub3duICglMDJYKSIKKyN+IG1zZ3N0ciAiT2vDpG5kICglMDJYKSIKKworI34gbXNnaWQgIlNpemU6ICVsbGQgYnl0ZXMsICVsbGQgTUIiCisjfiBtc2dzdHIgIlN0b3JsZWs6ICVsbGQgYnl0ZSwgJWxsZCBNQiIKKworI34gbXNnaWQgIlNpemU6ICVsbGQgYnl0ZXMsICVsbGQuJWxsZCBHQiIKKyN+IG1zZ3N0ciAiU3RvcmxlazogJWxsZCBieXRlLCAlbGxkLCVsbGQgR0IiCisKKyN+IG1zZ2lkICJIZWFkczogJWQgICBTZWN0b3JzIHBlciBUcmFjazogJWQgICBDeWxpbmRlcnM6ICVsbGQiCisjfiBtc2dzdHIgIkh1dnVkZW46ICVkICAgU2VrdG9yZXIgcGVyIHNww6VyOiAlZCAgIEN5bGluZHJhcjogJWxsZCIKKworI34gbXNnaWQgIlBhcnQgVHlwZSIKKyN+IG1zZ3N0ciAiUGFydC4tdHlwIgorCisjfiBtc2dpZCAiRlMgVHlwZSIKKyN+IG1zZ3N0ciAiRlMtdHlwIgorCisjfiBtc2dpZCAiICAgIFNlY3RvcnMiCisjfiBtc2dzdHIgIiAgICBTZWt0b3JlciIKKworI34gbXNnaWQgIiAgQ3lsaW5kZXJzIgorI34gbXNnc3RyICIgIEN5bGluZHJhciIKKworI34gbXNnaWQgIiAgU2l6ZSAoTUIpIgorI34gbXNnc3RyICIgIFN0b3JsZWsgKE1CKSIKKworI34gbXNnaWQgIiAgU2l6ZSAoR0IpIgorI34gbXNnc3RyICIgIFN0b3JsZWsgKEdCKSIKKworI34gbXNnaWQgIkNoYW5nZSBkaXNrIGdlb21ldHJ5IChleHBlcnRzIG9ubHkpIgorI34gbXNnc3RyICLDhG5kcmEgZGlza2dlb21ldHJpIChlbmRhc3QgZXhwZXJ0ZXIpIgorCisjfiBtc2dpZCAiTWF4aW1pemUiCisjfiBtc2dzdHIgIk1heGltZXJhIgorCisjfiBtc2dpZCAiTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24gKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIk1heGltZXJhIGRpc2thbnbDpG5kbmluZ2VuIGbDtnIgYWt0dWVsbCBwYXJ0aXRpb24gKGVuZGFzdCBleHBlcnRlcikiCisKKyN+IG1zZ2lkICJQcmludCIKKyN+IG1zZ3N0ciAiVmlzYSIKKworI34gbXNnaWQgIkNoYW5nZSB0aGUgZmlsZXN5c3RlbSB0eXBlIChET1MsIExpbnV4LCBPUy8yIGFuZCBzbyBvbikiCisjfiBtc2dzdHIgIsOEbmRyYSBmaWxzeXN0ZW1zdHlwZW4gKERPUywgTGludXgsIE9TLzIgb2NoIHPDpSB2aWRhcmUpIgorCisjfiBtc2dpZCAiQ2hhbmdlIHVuaXRzIG9mIHRoZSBwYXJ0aXRpb24gc2l6ZSBkaXNwbGF5IChNQiwgc2VjdCwgY3lsKSIKKyN+IG1zZ3N0ciAiQnl0IGVuaGV0ZXIgcMOlIHZpc25pbmdlbiBhdiBwYXJ0aXRpb25zc3Rvcmxla2VuIChNQiwgc2VrdG9yZXIsIGN5bGluZHJhcikiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWF4aW1pemUgdGhpcyBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIkthbiBpbnRlIG1heGltZXJhIGRlbm5hIHBhcnRpdGlvbiIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdGhlIHR5cGUgb2YgYW4gZW1wdHkgcGFydGl0aW9uIgorI34gbXNnc3RyICJLYW4gaW50ZSDDpG5kcmEgdHlwZW4gcMOlIGVuIHRvbSBwYXJ0aXRpb24iCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMjAwMiBLZXZpbiBFLiBNYXJ0aW4gJiBhZWJcbiIKKyN+IG1zZ3N0ciAiQ29weXJpZ2h0IMKpIDE5OTQtMjAwMiBLZXZpbiBFLiBNYXJ0aW4gb2NoIGFlYlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIlByaW50IHZlcnNpb246XG4iCisjfiAiICAgICAgICAlcyAtdlxuIgorI34gIlByaW50IHBhcnRpdGlvbiB0YWJsZTpcbiIKKyN+ICIgICAgICAgICVzIC1QIHtyfHN8dH0gW29wdGlvbnNdIGRldmljZVxuIgorI34gIkludGVyYWN0aXZlIHVzZTpcbiIKKyN+ICIgICAgICAgICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIi1hOiBVc2UgYXJyb3cgaW5zdGVhZCBvZiBoaWdobGlnaHRpbmc7XG4iCisjfiAiLXo6IFN0YXJ0IHdpdGggYSB6ZXJvIHBhcnRpdGlvbiB0YWJsZSwgaW5zdGVhZCBvZiByZWFkaW5nIHRoZSBwdCBmcm9tIGRpc2s7XG4iCisjfiAiLWMgQyAtaCBIIC1zIFM6IE92ZXJyaWRlIHRoZSBrZXJuZWwncyBpZGVhIG9mIHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzLFxuIgorI34gIiAgICAgICAgICAgICAgICB0aGUgbnVtYmVyIG9mIGhlYWRzIGFuZCB0aGUgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2suXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJBbnbDpG5kbmluZzpcbiIKKyN+ICJWaXNhIHZlcnNpb25zaW5mb3JtYXRpb246XG4iCisjfiAiICAgICAgICAlcyAtdlxuIgorI34gIlZpc2EgcGFydGl0aW9uc3RhYmVsbDpcbiIKKyN+ICIgICAgICAgICVzIC1QIHtyfHN8dH0gW2ZsYWdnb3JdIGVuaGV0XG4iCisjfiAiSW50ZXJha3RpdiBhbnbDpG5kbmluZzpcbiIKKyN+ICIgICAgICAgICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+ICJcbiIKKyN+ICJGbGFnZ29yOlxuIgorI34gIi1hOiBBbnbDpG5kIHBpbCBpc3TDpGxsZXQgZsO2ciBtYXJrZXJpbmc7XG4iCisjfiAiLXo6IELDtnJqYSBtZWQgZW4gdG9tIHBhcnRpdGlvbnN0YWJlbGwgaXN0w6RsbGV0IGbDtnIgYXR0IGzDpHNhIHBhcnRpdGlvbnMtXG4iCisjfiAiICAgIHRhYmVsbGVuIGZyw6VuIGRpc2s7XG4iCisjfiAiLWMgQyAtaCBIIC1zIFM6IMOFc2lkb3PDpHR0IGvDpHJuYW5zIHVwcGZhdHRuaW5nIG9tIGFudGFsZXQgY3lsaW5kcmFyLFxuIgorI34gIiAgICAgICAgICAgICAgICBhbnRhbGV0IGh1dnVkZW4gb2NoIGFudGFsZXQgc2VrdG9yZXIgcGVyIHNww6VyLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0VGhlcmUgaXMgYSB2YWxpZCBBSVggbGFiZWwgb24gdGhpcyBkaXNrLlxuIgorI34gIlx0VW5mb3J0dW5hdGVseSBMaW51eCBjYW5ub3QgaGFuZGxlIHRoZXNlXG4iCisjfiAiXHRkaXNrcyBhdCB0aGUgbW9tZW50LiAgTmV2ZXJ0aGVsZXNzIHNvbWVcbiIKKyN+ICJcdGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+ICJcdDMuIEJlZm9yZSBkZWxldGluZyB0aGlzIHBoeXNpY2FsIHZvbHVtZSBiZSBzdXJlXG4iCisjfiAiXHQgICB0byByZW1vdmUgdGhlIGRpc2sgbG9naWNhbGx5IGZyb20geW91ciBBSVhcbiIKKyN+ICJcdCAgIG1hY2hpbmUuICAoT3RoZXJ3aXNlIHlvdSBiZWNvbWUgYW4gQUlYcGVydCkuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHREZXQgZmlubnMgZW4gZ2lsdGlnIEFJWC1ldGlrZXR0IHDDpSBkZW5uYSBkaXNrLlxuIgorI34gIlx0VHl2w6RyciBrYW4gaW50ZSBMaW51eCBoYW50ZXJhIGRlc3NhIGRpc2thclxuIgorI34gIlx0ZsO2ciB0aWxsZsOkbGxldC4gSMOkciDDpHIgaHVyc29taGVsc3QgZW4gZGVsIHLDpWQ6XG4iCisjfiAiXHQxLiBmZGlzayBrb21tZXIgYXR0IGbDtnJzdMO2cmEgZGVzcyBpbm5laMOlbGwgdmlkXG4iCisjfiAiXHQgICBza3Jpdm5pbmcuXG4iCisjfiAiXHQyLiBGw7Zyc8Oka3JhIGRpZyBvbSBhdHQgZGVubmEgZGlzayBJTlRFIGZvcnRmYXJhbmRlXG4iCisjfiAiXHQgICDDpHIgZW4gdml0YWwgZGVsIGkgZW4gdm9seW1ncnVwcCAoYW5uYXJzIGthbiBkdVxuIgorI34gIlx0ICAgcmFkZXJhIGRlIGFuZHJhIGRpc2thcm5hLCBvbSBkZSBpbnRlIHNwZWdsYXMpLlxuIgorI34gIlx0My4gSW5uYW4gZHUgdGFyIGJvcnQgZGVuIGZ5c2lza2Egdm9seW1lbiBiw7ZyIGR1XG4iCisjfiAiXHQgICBmw7Zyc8Oka3JhIGRpZyBvbSBhdHQgZHUgbG9naXNrdCB0YXIgYm9ydCBkaXNrZW5cbiIKKyN+ICJcdCAgIGZyw6VuIGRpbiBBSVgtbWFza2luIChhbm5hcnMgYmxpciBkdSBlbiBBSVhwZXJ0KS4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQlNEIGxhYmVsIGZvciBkZXZpY2U6ICVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJCU0QtZXRpa2V0dCBmw7ZyIGVuaGV0OiAlc1xuIgorCisjfiBtc2dpZCAiQ29tbWFuZCBhY3Rpb24iCisjfiBtc2dzdHIgIktvbW1hbmRvw6V0Z8OkcmQiCisKKyN+IG1zZ2lkICIgICBkICAgZGVsZXRlIGEgQlNEIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgZCAgIHRhIGJvcnQgZW4gQlNELXBhcnRpdGlvbiIKKworI34gbXNnaWQgIiAgIG4gICBhZGQgYSBuZXcgQlNEIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgbiAgIGzDpGdnIHRpbGwgZW4gbnkgQlNELXBhcnRpdGlvbiIKKworI34gbXNnaWQgIiAgIHAgICBwcmludCBCU0QgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICIgICBwICAgc2tyaXYgdXQgQlNELXBhcnRpdGlvbnN0YWJlbGwiCisKKyN+IG1zZ2lkICIgICB0ICAgY2hhbmdlIGEgcGFydGl0aW9uJ3MgZmlsZXN5c3RlbSBpZCIKKyN+IG1zZ3N0ciAiICAgdCAgIMOkbmRyYSBlbiBwYXJ0aXRpb25zIGZpbHN5c3RlbXNpZCIKKworI34gbXNnaWQgIiAgIHUgICBjaGFuZ2UgdW5pdHMgKGN5bGluZGVycy9zZWN0b3JzKSIKKyN+IG1zZ3N0ciAiICAgdSAgIGJ5dCBlbmhldGVyIChjeWxpbmRyYXIvc2VrdG9yZXIpIgorCisjfiBtc2dpZCAiICAgdyAgIHdyaXRlIGRpc2tsYWJlbCB0byBkaXNrIgorI34gbXNnc3RyICIgICB3ICAgc2tyaXYgZGlza2V0aWtldHQgdGlsbCBkaXNrIgorCisjfiBtc2dpZCAiUmVhZGluZyBkaXNrbGFiZWwgb2YgJXMgYXQgc2VjdG9yICVkLlxuIgorI34gbXNnc3RyICJMw6RzZXIgZGlza2V0aWtldHQgZsO2ciAlcyB2aWQgc2VrdG9yICVkLlxuIgorCisjfiBtc2dpZCAiQlNEIGRpc2tsYWJlbCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorI34gbXNnc3RyICJCU0QtZGlza2V0aWtldHRza29tbWFuZG8gKG0gZsO2ciBoasOkbHApOiAiCisKKyN+IG1zZ2lkICJ0eXBlOiAlZFxuIgorI34gbXNnc3RyICJ0eXA6ICVkXG4iCisKKyN+IG1zZ2lkICJmbGFnczoiCisjfiBtc2dzdHIgImZsYWdnb3I6IgorCisjfiBtc2dpZCAiYnl0ZXMvc2VjdG9yOiAlbGRcbiIKKyN+IG1zZ3N0ciAiYnl0ZS9zZWt0b3I6ICVsZFxuIgorCisjfiBtc2dpZCAic2VjdG9ycy90cmFjazogJWxkXG4iCisjfiBtc2dzdHIgInNla3RvcmVyL3Nww6VyOiAlbGRcbiIKKworI34gbXNnaWQgInRyYWNrcy9jeWxpbmRlcjogJWxkXG4iCisjfiBtc2dzdHIgInNww6VyL2N5bGluZGVyOiAlbGRcbiIKKworI34gbXNnaWQgInNlY3RvcnMvY3lsaW5kZXI6ICVsZFxuIgorI34gbXNnc3RyICJzZWt0b3Jlci9jeWxpbmRlcjogJWxkXG4iCisKKyN+IG1zZ2lkICJjeWxpbmRlcnM6ICVsZFxuIgorI34gbXNnc3RyICJjeWxpbmRyYXI6ICVsZFxuIgorCisjfiBtc2dpZCAicnBtOiAlZFxuIgorI34gbXNnc3RyICJ2YXJ2IHBlciBtaW51dDogJWRcbiIKKworI34gbXNnaWQgImludGVybGVhdmU6ICVkXG4iCisjfiBtc2dzdHIgIm1lbGxhbnJ1bTogJWRcbiIKKworI34gbXNnaWQgInRyYWNrc2tldzogJWRcbiIKKyN+IG1zZ3N0ciAic3DDpXJmw7Zyc2tqdXRuaW5nOiAlZFxuIgorCisjfiBtc2dpZCAiY3lsaW5kZXJza2V3OiAlZFxuIgorI34gbXNnc3RyICJjeWxpbmRlcmbDtnJza2p1dG5pbmc6ICVkXG4iCisKKyN+IG1zZ2lkICJoZWFkc3dpdGNoOiAlbGRcdFx0IyBtaWxsaXNlY29uZHNcbiIKKyN+IG1zZ3N0ciAiaHV2dWRieXRlOiAlbGRcdFx0YW50YWwgbWlsbGlzZWt1bmRlclxuIgorCisjfiBtc2dpZCAidHJhY2stdG8tdHJhY2sgc2VlazogJWxkXHQjIG1pbGxpc2Vjb25kc1xuIgorI34gbXNnc3RyICJzcMOlci10aWxsLXNww6VyLXPDtmtuaW5nOiAlbGRcdGFudGFsIG1pbGxpc2VrdW5kZXJcbiIKKworI34gbXNnaWQgImRyaXZlZGF0YTogIgorI34gbXNnc3RyICJlbmhldHNkYXRhOiAiCisKKyN+IG1zZ2lkICIjICAgICAgIHN0YXJ0ICAgICAgIGVuZCAgICAgIHNpemUgICAgIGZzdHlwZSAgIFtmc2l6ZSBic2l6ZSAgIGNwZ11cbiIKKyN+IG1zZ3N0ciAiIyAgICAgICBiw7ZyamFuICAgICAgc2x1dCAgICAgc3RvcmxlayAgZnMtdHlwICAgW2ZzdHJsIGJzdHJsICAgY3BnXVxuIgorCisjIMK3IChjZW50ZXJlZCBkb3QpIGlzIG5vcm1hbGx5IHVzZWQgYXMgdGhlIG11bHRpcGxpY2F0aW9uIHNpZ24gaW4gU3dlZGlzaC4KKyMgU2VlICJTdmVuc2thIHNrcml2cmVnbGVyIiDCpzI2MC4KKyMKKyN+IG1zZ2lkICJNdXN0IGJlIDw9IHNlY3RvcnMvdHJhY2sgKiB0cmFja3MvY3lsaW5kZXIgKGRlZmF1bHQpLlxuIgorI34gbXNnc3RyICJNw6VzdGUgdmFyYSA8PSBzZWt0b3Jlci9zcMOlciDCtyBzcMOlci9jeWxpbmRlciAoc3RhbmRhcmQpLlxuIgorCisjfiBtc2dpZCAiV2FybmluZzogdG9vIG1hbnkgcGFydGl0aW9ucyAoJWQsIG1heGltdW0gaXMgJWQpLlxuIgorI34gbXNnc3RyICJWYXJuaW5nOiBmw7ZyIG3DpW5nYSBwYXJ0aXRpb25lciAoJWQsIG1heCDDpHIgJWQpLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlN5bmNpbmcgZGlza3MuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJTeW5rcm9uaXNlcmFyIGjDpXJkZGlza2FyLlxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiS2FuIGludGUgw7ZwcG5hICVzXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gcmVhZCAlc1xuIgorI34gbXNnc3RyICJLYW4gaW50ZSBsw6RzYSAlc1xuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIHNlZWsgb24gJXNcbiIKKyN+IG1zZ3N0ciAiS2FuIGludGUgc8O2a2EgcMOlICVzXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgJXNcbiIKKyN+IG1zZ3N0ciAiS2FuIGludGUgc2tyaXZhICVzXG4iCisKKyN+IG1zZ2lkICJGYXRhbCBlcnJvclxuIgorI34gbXNnc3RyICLDlmRlc2RpZ2VydCBmZWxcbiIKKworI34gbXNnaWQgIiAgIGUgICBsaXN0IGV4dGVuZGVkIHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIiAgIGUgICBsaXN0YSB1dMO2a2FkZSBwYXJ0aXRpb25lciIKKworI34gbXNnaWQgIllvdSBtdXN0IHNldCIKKyN+IG1zZ3N0ciAiRHUgbcOlc3RlIHN0w6RsbGEgaW4iCisKKyN+IG1zZ2lkICJoZWFkcyIKKyN+IG1zZ3N0ciAiaHV2dWRlbiIKKworI34gbXNnaWQgInNlY3RvcnMiCisjfiBtc2dzdHIgInNla3RvcmVyIgorCisjfiBtc2dpZCAiIGFuZCAiCisjfiBtc2dzdHIgIiBvY2ggIgorCisjfiBtc2dpZCAiTmV3IGRpc2sgaWRlbnRpZmllciAoY3VycmVudCAweCUwOHgpOiAiCisjfiBtc2dzdHIgIk55IGRpc2tpZGVudGlmaWVyYXJlIChudXZhcmFuZGUgMHglMDh4KTogIgorCisjfiBtc2dpZCAiIgorI34gIkJ1aWxkaW5nIGEgbmV3IERPUyBkaXNrbGFiZWwgd2l0aCBkaXNrIGlkZW50aWZpZXIgMHglMDh4LlxuIgorI34gIkNoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS5cbiIKKyN+ICJBZnRlciB0aGF0LCBvZiBjb3Vyc2UsIHRoZSBwcmV2aW91cyBjb250ZW50IHdvbid0IGJlIHJlY292ZXJhYmxlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiQnlnZ2VyIGVuIG55IERPUy1kaXNrZXRpa2V0dCBtZWQgZGlza2lkZW50aWZpZXJhcmVuIDB4JTA4eC5cbiIKKyN+ICLDhG5kcmluZ2FyIGtvbW1lciBlbmRhc3QgYXR0IGZpbm5hcyBpIG1pbm5ldCB0aWxsIGR1IGJlc3TDpG1tZXJcbiIKKyN+ICJkaWcgZsO2ciBhdHQgc2tyaXZhIGRlbS4gRWZ0ZXIgZGV0IGtvbW1lciBuYXR1cmxpZ3R2aXMgaW50ZSBkZXRcbiIKKyN+ICJ0aWRpZ2FyZSBpbm5laMOlbGxldCBhdHQga3VubmEgw6V0ZXJzdMOkbGxhcy5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIk5vdGU6IHNlY3RvciBzaXplIGlzICVkIChub3QgJWQpXG4iCisjfiBtc2dzdHIgIk9ic2VydmVyYTogc2VrdG9yc3Rvcmxla2VuIMOkciAlZCAoaW50ZSAlZClcbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaGlzIGRpc2sgaGFzIGJvdGggRE9TIGFuZCBCU0QgbWFnaWMuXG4iCisjfiAiR2l2ZSB0aGUgJ2InIGNvbW1hbmQgdG8gZ28gdG8gQlNEIG1vZGUuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJEZW5uYSBkaXNrIGhhciBiw6VkZSBtYWdpc2thIERPUy0gb2NoIEJTRC1zaWZmcm9yLlxuIgorI34gIkdlIGtvbW1hbmRvdCBcImJcIiBmw7ZyIGF0dCBnw6UgdGlsbCBCU0QtbMOkZ2UuXG4iCisKKyN+IG1zZ2lkICJEZXZpY2UgY29udGFpbnMgbmVpdGhlciBhIHZhbGlkIERPUyBwYXJ0aXRpb24gdGFibGUsIG5vciBTdW4sIFNHSSBvciBPU0YgZGlza2xhYmVsXG4iCisjfiBtc2dzdHIgIkVuaGV0ZW4gaW5uZWjDpWxsZXIgdmFya2VuIGVuIGdpbHRpZyBET1MtcGFydGl0aW9uc3RhYmVsbCBlbGxlciBlbiBTdW4tLCBTR0ktIGVsbGVyIE9TRi1kaXNrZXRpa2V0dFxuIgorCisjfiBtc2dpZCAiSW50ZXJuYWwgZXJyb3JcbiIKKyN+IG1zZ3N0ciAiSW50ZXJudCBmZWxcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJnb3QgRU9GIHRocmljZSAtIGV4aXRpbmcuLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAibW90dG9nIEVPRiB0cmUgZ8OlbmdlciAtIGF2c2x1dGFyLi4uXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJWQgaGFzIGVtcHR5IHR5cGVcbiIKKyN+IG1zZ3N0ciAiVmFybmluZzogcGFydGl0aW9uICVkIGhhciB0b20gdHlwXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiWW91IGNhbm5vdCBjaGFuZ2UgYSBwYXJ0aXRpb24gaW50byBhbiBleHRlbmRlZCBvbmUgb3IgdmljZSB2ZXJzYVxuIgorI34gIkRlbGV0ZSBpdCBmaXJzdC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkR1IGthbiBpbnRlIMOkbmRyYSBlbiBwYXJ0aXRpb24gdGlsbCBlbiB1dMO2a2FkIHBhcnRpdGlvbiBlbGxlciB0dsOkcnRvbVxuIgorI34gIlRhIGJvcnQgZGVuIGbDtnJzdC5cbiIKKworI34gbXNnaWQgIiAgICAgcGh5cz0oJWQsICVkLCAlZCkgIgorI34gbXNnc3RyICIgICAgIGZ5cz0oJWQsICVkLCAlZCkgIgorCisjfiBtc2dpZCAibG9naWNhbD0oJWQsICVkLCAlZClcbiIKKyN+IG1zZ3N0ciAibG9naXNrPSglZCwgJWQsICVkKVxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVpIGRvZXMgbm90IHN0YXJ0IG9uIGN5bGluZGVyIGJvdW5kYXJ5OlxuIgorI34gbXNnc3RyICJQYXJ0aXRpb24gJWkgYsO2cmphciBpbnRlIHDDpSBjeWxpbmRlcmdyw6RuczpcbiIKKworI34gbXNnaWQgInNob3VsZCBiZSAoJWQsICVkLCAxKVxuIgorI34gbXNnc3RyICJib3JkZSB2YXJhICglZCwgJWQsIDEpXG4iCisKKyN+IG1zZ2lkICJzaG91bGQgYmUgKCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgImJvcmRlIHZhcmEgKCVkLCAlZCwgJWQpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkIE1CLCAlbGxkIGJ5dGVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbGQgTUIsICVsbGQgYnl0ZVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZC4lbGQgR0IsICVsbGQgYnl0ZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZCwlbGQgR0IsICVsbGQgYnl0ZVxuIgorCisjfiBtc2dpZCAiLCB0b3RhbCAlbGx1IHNlY3RvcnMiCisjfiBtc2dzdHIgIiwgdG90YWx0ICVsbHUgc2VrdG9yZXIiCisKKyN+IG1zZ2lkICIiCisjfiAiVGhpcyBkb2Vzbid0IGxvb2sgbGlrZSBhIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gIlByb2JhYmx5IHlvdSBzZWxlY3RlZCB0aGUgd3JvbmcgZGV2aWNlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiRGV0dGEgc2VyIGludGUgdXQgc29tIGVuIHBhcnRpdGlvbnN0YWJlbGxcbiIKKyN+ICJEdSB2YWxkZSBub2cgZmVsIGVuaGV0LlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiJSpzIEJvb3QgICAgICBTdGFydCAgICAgICAgIEVuZCAgICAgIEJsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiJSpzIFN0YXJ0ICAgICBCw7ZyamFuICAgICAgICBTbHV0ICAgICBCbG9jayAgICBJZCAgU3lzdGVtXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWQgY3lsaW5kZXJzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlZCBodXZ1ZGVuLCAlbGx1IHNla3RvcmVyLCAlZCBjeWxpbmRyYXJcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIk5yIEFGICBIZCBTZWMgIEN5bCAgSGQgU2VjICBDeWwgICAgIFN0YXJ0ICAgICAgU2l6ZSBJRFxuIgorI34gbXNnc3RyICJOciBBRiAgSGQgU2VrICBDeWwgIEhkIFNlayAgQ3lsICAgICBCw7ZyamFuICAgICBTdHJsIElEXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXHRTb3JyeSAtIHRoaXMgZmRpc2sgY2Fubm90IGhhbmRsZSBBSVggZGlzayBsYWJlbHMuXG4iCisjfiAiXHRJZiB5b3Ugd2FudCB0byBhZGQgRE9TLXR5cGUgcGFydGl0aW9ucywgY3JlYXRlXG4iCisjfiAiXHRhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIGZpcnN0LiAoVXNlIG8uKVxuIgorI34gIlx0V0FSTklORzogVGhpcyB3aWxsIGRlc3Ryb3kgdGhlIHByZXNlbnQgZGlzayBjb250ZW50cy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlx0VHl2w6RyciAtIGRlbm5hIGZkaXNrIGthbiBpbnRlIGhhbnRlcmEgQUlYLWRpc2tldGlrZXR0ZXIuXG4iCisjfiAiXHRPbSBkdSB2aWxsIGzDpGdnYSB0aWxsIHBhcnRpdGlvbmVyIGF2IERPUy10eXAgYsO2ciBkdVxuIgorI34gIlx0c2thcGEgZW4gbnkgdG9tIERPUy1wYXJ0aXRpb25zdGFiZWxsIGbDtnJzdCAoYW52w6RuZCBcIm9cIikuXG4iCisjfiAiXHRWQVJOSU5HOiBEZXR0YSBrb21tZXIgYXR0IGbDtnJzdMO2cmEgZGV0IG51dmFyYW5kZSBpbm5laMOlbGxldFxuIgorI34gIlx0cMOlIGRpc2tlbi5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdFNvcnJ5IC0gdGhpcyBmZGlzayBjYW5ub3QgaGFuZGxlIE1hYyBkaXNrIGxhYmVscy5cbiIKKyN+ICJcdElmIHlvdSB3YW50IHRvIGFkZCBET1MtdHlwZSBwYXJ0aXRpb25zLCBjcmVhdGVcbiIKKyN+ICJcdGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUgZmlyc3QuIChVc2Ugby4pXG4iCisjfiAiXHRXQVJOSU5HOiBUaGlzIHdpbGwgZGVzdHJveSB0aGUgcHJlc2VudCBkaXNrIGNvbnRlbnRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXHRUeXbDpHJyIC0gZGVubmEgZmRpc2sga2FuIGludGUgaGFudGVyYSBNYWMtZGlza2V0aWtldHRlci5cbiIKKyN+ICJcdE9tIGR1IHZpbGwgbMOkZ2dhIHRpbGwgcGFydGl0aW9uZXIgYXYgRE9TLXR5cCBiw7ZyIGR1XG4iCisjfiAiXHRza2FwYSBlbiBueSB0b20gRE9TLXBhcnRpdGlvbnN0YWJlbGwgZsO2cnN0IChhbnbDpG5kIFwib1wiKS5cbiIKKyN+ICJcdFZBUk5JTkc6IERldHRhIGtvbW1lciBhdHQgZsO2cnN0w7ZyYSBkZXQgbnV2YXJhbmRlIGlubmVow6VsbGV0XG4iCisjfiAiXHRww6UgZGlza2VuLlxuIgorCisjfiBtc2dpZCAiQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiTMOkZ2dlciB0aWxsIGVuIHByaW3DpHIgcGFydGl0aW9uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiQ29tbWFuZCBhY3Rpb25cbiIKKyN+ICIgICAlc1xuIgorI34gIiAgIHAgICBwcmltYXJ5IHBhcnRpdGlvbiAoMS00KVxuIgorI34gbXNnc3RyICIiCisjfiAiS29tbWFuZG/DpXRnw6RyZFxuIgorI34gIiAgICVzXG4iCisjfiAiICAgcCAgIHByaW3DpHIgcGFydGl0aW9uICgxLTQpXG4iCisKKyN+IG1zZ2lkICJlICAgZXh0ZW5kZWQiCisjfiBtc2dzdHIgImUgICB1dMO2a2FkIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IElmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55IERPUyA2LnhcbiIKKyN+ICJwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBmZGlzayBtYW51YWwgcGFnZSBmb3IgYWRkaXRpb25hbFxuIgorI34gImluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVkFSTklORzogT20gZHUgaGFyIHNrYXBhdCBlbGxlciDDpG5kcmF0IG7DpWdvbiBET1MgNi54LXBhcnRpdGlvblxuIgorI34gImLDtnIgZHUgbMOkc2EgZmRpc2stbWFudWFsc2lkYW4gZsO2ciB5dHRlcmxpZ2FyZSBpbmZvcm1hdGlvbi5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJFcnJvciBjbG9zaW5nIGZpbGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkZlbCB2aWQgc3TDpG5nbmluZyBhdiBmaWxcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHNldHRpbmcgc2VjdG9yIG9mZnNldCBmb3IgRE9TIGNvbXBhdGlibGl0eVxuIgorI34gbXNnc3RyICJWYXJuaW5nOiBzdMOkbGxlciBpbiBzZWt0b3JhdnN0w6VuZCBmw7ZyIERPUy1rb21wYXRpYmlsaXRldFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IEdQVCAoR1VJRCBQYXJ0aXRpb24gVGFibGUpIGRldGVjdGVkIG9uICclcychIFRoZSB1dGlsIGZkaXNrIGRvZXNuJ3Qgc3VwcG9ydCBHUFQuIFVzZSBHTlUgUGFydGVkLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVkFSTklORzogR1BUIChHVUlEIFBhcnRpdGlvbiBUYWJsZSkgdXBwdMOkY2t0ZXMgcMOlIFwiJXNcIiEgVmVya3R5Z2V0IGZkaXNrIHNha25hciBzdMO2ZCBmw7ZyIEdQVC4gQW52w6RuZCBHTlUgUGFydGVkLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAia2FuIGludGUgw7ZwcG5hICVzXG4iCisKKyN+IG1zZ2lkICJUaGlzIGtlcm5lbCBmaW5kcyB0aGUgc2VjdG9yIHNpemUgaXRzZWxmIC0gLWIgb3B0aW9uIGlnbm9yZWRcbiIKKyN+IG1zZ3N0ciAiRGVubmEga8Okcm5hIGhpdHRhciBzasOkbHYgc2VrdG9yc3Rvcmxla2VuIC0gZmxhZ2dhbiAtYiBpZ25vcmVyYXNcbiIKKworI34gbXNnaWQgIkRldGVjdGVkIGFuIE9TRi8xIGRpc2tsYWJlbCBvbiAlcywgZW50ZXJpbmcgZGlza2xhYmVsIG1vZGUuXG4iCisjfiBtc2dzdHIgIlVwcHTDpGNrdGUgZW4gT1NGLzEtZGlza2V0aWtldHQgcMOlICVzLCBnw6VyIGluIGkgZGlza2V0aWtldHRzbMOkZ2UuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRTb3JyeSwgbm8gZXhwZXJ0cyBtZW51IGZvciBTR0kgcGFydGl0aW9uIHRhYmxlcyBhdmFpbGFibGUuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJcdFR5dsOkcnIsIGRldCBmaW5ucyBpbmdlbiBleHBlcnRtZW55IHRpbGxnw6RuZ2xpZyBmw7ZyIFNHSS1wYXJ0aXRpb25zdGFiZWxsZXIuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRUaGVyZSBpcyBhIHZhbGlkIE1hYyBsYWJlbCBvbiB0aGlzIGRpc2suXG4iCisjfiAiXHRVbmZvcnR1bmF0ZWx5IGZkaXNrKDEpIGNhbm5vdCBoYW5kbGUgdGhlc2UgZGlza3MuXG4iCisjfiAiXHRVc2UgZWl0aGVyIHBkaXNrIG9yIHBhcnRlZCB0byBtb2RpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZS5cbiIKKyN+ICJcdE5ldmVydGhlbGVzcyBzb21lIGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0RGV0IGZpbm5zIGVuIGdpbHRpZyBNYWMtZXRpa2V0dCBww6UgZGVubmEgZGlzay5cbiIKKyN+ICJcdFR5dsOkcnIga2FuIGludGUgZmRpc2soMSkgaGFudGVyYSBkZXNzYSBkaXNrYXIuXG4iCisjfiAiXHRBbnbDpG5kIGFudGluZ2VuIHBkaXNrIGVsbGVyIHBhcnRlZFxuIgorI34gIlx0ZsO2ciBhdHQgw6RuZHJhIHBhcnRpdGlvbnN0YWJlbGxlbi5cbiIKKyN+ICJcdEjDpHIgw6RyIGh1cnNvbWhlbHN0IGVuIGRlbCByw6VkOlxuIgorI34gIlx0MS4gZmRpc2sga29tbWVyIGF0dCBmw7Zyc3TDtnJhIGRlc3MgaW5uZWjDpWxsIHZpZFxuIgorI34gIlx0ICAgc2tyaXZuaW5nLlxuIgorI34gIlx0Mi4gRsO2cnPDpGtyYSBkaWcgb20gYXR0IGRlbm5hIGRpc2sgSU5URSBmb3J0ZmFyYW5kZVxuIgorI34gIlx0ICAgw6RyIGVuIHZpdGFsIGRlbCBpIGVuIHZvbHltZ3J1cHAgKGFubmFycyBrYW4gZHVcbiIKKyN+ICJcdCAgIHJhZGVyYSBkZSBhbmRyYSBkaXNrYXJuYSwgb20gZGUgaW50ZSBzcGVnbGFzKS5cbiIKKworI34gbXNnaWQgIkFjY29yZGluZyB0byBNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYyB0aGUgTGFiZWwgbXVzdCBub3QgY29udGFpbiBtb3JlIHRoYW4gNTEyIGJ5dGVzXG4iCisjfiBtc2dzdHIgIkVubGlndCBNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYyBmw6VyIGV0aWtldHRlbiBpbnRlIGlubmVow6VsbGEgbWVyIMOkbiA1MTIgYnl0ZVxuIgorCisjIMK3IChjZW50ZXJlZCBkb3QpIGlzIG5vcm1hbGx5IHVzZWQgYXMgdGhlIG11bHRpcGxpY2F0aW9uIHNpZ24gaW4gU3dlZGlzaC4KKyMgU2VlICJTdmVuc2thIHNrcml2cmVnbGVyIiDCpzI2MC4KKyMKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU0dJIGRpc2sgbGFiZWwpOiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzXG4iCisjfiAiJWQgY3lsaW5kZXJzLCAlZCBwaHlzaWNhbCBjeWxpbmRlcnNcbiIKKyN+ICIlZCBleHRyYSBzZWN0cy9jeWwsIGludGVybGVhdmUgJWQ6MVxuIgorI34gIiVzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqICVkIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTR0ktZGlza2V0aWtldHQpOiAlZCBodXZ1ZGVuLCAlbGx1IHNla3RvcmVyXG4iCisjfiAiJWQgY3lsaW5kcmFyLCAlZCBmeXNpc2thIGN5bGluZHJhclxuIgorI34gIiVkIGV4dHJhIHNla3RvcmVyL2N5bGluZGVyLCBtZWxsYW5ydW0gJWQ6MVxuIgorI34gIiVzXG4iCisjfiAiRW5oZXRlciA9ICVzIGF2ICVkIMK3ICVkIGJ5dGVcbiIKKyN+ICJcbiIKKworIyDCtyAoY2VudGVyZWQgZG90KSBpcyBub3JtYWxseSB1c2VkIGFzIHRoZSBtdWx0aXBsaWNhdGlvbiBzaWduIGluIFN3ZWRpc2guCisjIFNlZSAiU3ZlbnNrYSBza3JpdnJlZ2xlciIgwqcyNjAuCisjCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFNHSSBkaXNrIGxhYmVsKTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWQgY3lsaW5kZXJzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqICVkIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTR0ktZGlza2V0aWtldHQpOiAlZCBodXZ1ZGVuLCAlbGx1IHNla3RvcmVyLCAlZCBjeWxpbmRyYXJcbiIKKyN+ICJFbmhldGVyID0gJXMgYXYgJWQgwrcgJWQgYnl0ZVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIi0tLS0tIHBhcnRpdGlvbnMgLS0tLS1cbiIKKyN+ICJQdCMgJSpzICBJbmZvICAgICBTdGFydCAgICAgICBFbmQgICBTZWN0b3JzICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLS0tLSBwYXJ0aXRpb25lciAtLS0tLVxuIgorI34gIlB0ICAlKnMgIEluZm8gICAgIELDtnJqYW4gICAgICBTbHV0ICBTZWt0b3JlciBJZCAgU3lzdGVtXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiLS0tLS0gQm9vdGluZm8gLS0tLS1cbiIKKyN+ICJCb290ZmlsZTogJXNcbiIKKyN+ICItLS0tLSBEaXJlY3RvcnkgRW50cmllcyAtLS0tLVxuIgorI34gbXNnc3RyICIiCisjfiAiLS0tLS0gU3RhcnRpbmZvIC0tLS0tXG4iCisjfiAiU3RhcnRmaWw6ICVzXG4iCisjfiAiLS0tLS0gS2F0YWxvZ3Bvc3RlciAtLS0tLVxuIgorCisjfiBtc2dpZCAiJTJkOiAlLTEwcyBzZWN0b3IlNXUgc2l6ZSU4dVxuIgorI34gbXNnc3RyICIlMmQ6ICUtMTBzIHNla3RvciU1dSBzdG9ybGVrJTh1XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGVudGlyZSBkaXNrIHBhcnRpdGlvbiBpcyBvbmx5ICVkIGRpc2tibG9jayBsYXJnZSxcbiIKKyN+ICJidXQgdGhlIGRpc2sgaXMgJWQgZGlza2Jsb2NrcyBsb25nLlxuIgorI34gbXNnc3RyICIiCisjfiAiSGVsYSBkaXNrcGFydGl0aW9uZW4gw6RyIGVuZGFzdCAlZCBkaXNrYmxvY2sgc3RvcixcbiIKKyN+ICJtZW4gaMOlcmRkaXNrZW4gw6RyICVkIGRpc2tibG9jayBsw6VuZy5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBzdGFydCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiUGFydGl0aW9uICVkIGLDtnJqYXIgaW50ZSBww6UgZW4gasOkbW4gY3lsaW5kZXJncsOkbnMuXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gbXNnc3RyICJQYXJ0aXRpb24gJWQgc2x1dGFyIGludGUgcMOlIGVuIGrDpG1uIGN5bGluZGVyZ3LDpG5zLlxuIgorCisjfiBtc2dpZCAiU29ycnkgWW91IG1heSBjaGFuZ2UgdGhlIFRhZyBvZiBub24tZW1wdHkgcGFydGl0aW9ucy5cbiIKKyN+IG1zZ3N0ciAiVHl2w6RyciwgZHUga2FuIMOkbmRyYSB0YWdnZW4gcMOlIGlja2UtdG9tbWEgcGFydGl0aW9uZXIuXG4iCisKKyN+IG1zZ2lkICJZRVNcbiIKKyN+IG1zZ3N0ciAiSkFcbiIKKworI34gbXNnaWQgIkRvIFlvdSBrbm93LCBZb3UgZ290IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2s/XG4iCisjfiBtc2dzdHIgIlZldCBkdSBvbSBhdHQgcGFydGl0aW9uZXIgw7Z2ZXJsYXBwYXIgdmFyYW5kcmEgcMOlIGjDpXJkZGlza2VuP1xuIgorCisjfiBtc2dpZCAiWW91IHdpbGwgZ2V0IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCFcbiIKKyN+IG1zZ3N0ciAiRHUga29tbWVyIGF0dCBmw6Ugw7Z2ZXJsYXBwYW5kZSBwYXJ0aXRpb25lciBww6UgaMOlcmRkaXNrZW4uIEZpeGEgZGV0IGbDtnJzdCFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJCdWlsZGluZyBhIG5ldyBTR0kgZGlza2xhYmVsLiBDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LFxuIgorI34gInVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS4gQWZ0ZXIgdGhhdCwgb2YgY291cnNlLCB0aGUgcHJldmlvdXNcbiIKKyN+ICJjb250ZW50IHdpbGwgYmUgdW5yZWNvdmVyYWJseSBsb3N0LlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiQnlnZ2VyIGVuIG55IFNHSS1kaXNrZXRpa2V0dC4gw4RuZHJpbmdhciBrb21tZXIgZW5kYXN0IGF0dCBmaW5uYXMgaVxuIgorI34gIm1pbm5ldCwgdGlsbCBkZXNzIGF0dCBkdSB2w6RsamVyIGF0dCBza3JpdmEgZGVtLiBFZnRlciBkZXQga29tbWVyXG4iCisjfiAibmF0dXJsaWd0dmlzIGRldCB0aWRpZ2FyZSBpbm5laMOlbGxldCBhdHQgdmFyYSBzcMOlcmzDtnN0IGJvcnRhLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiVHJ5aW5nIHRvIGtlZXAgcGFyYW1ldGVycyBvZiBwYXJ0aXRpb24gJWQuXG4iCisjfiBtc2dzdHIgIkbDtnJzw7ZrZXIgYXR0IGJlaMOlbGxhIHBhcmFtZXRyYXJuYSBmw7ZyIHBhcnRpdGlvbiAlZC5cbiIKKworI34gbXNnaWQgIklEPSUwMnhcdFNUQVJUPSVkXHRMRU5HVEg9JWRcbiIKKyN+IG1zZ3N0ciAiSUQ9JTAyeFx0QsOWUkpBTj0lZFx0TMOETkdEPSVkXG4iCisKKyMgwrcgKGNlbnRlcmVkIGRvdCkgaXMgbm9ybWFsbHkgdXNlZCBhcyB0aGUgbXVsdGlwbGljYXRpb24gc2lnbiBpbiBTd2VkaXNoLgorIyBTZWUgIlN2ZW5za2Egc2tyaXZyZWdsZXIiIMKnMjYwLgorIworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgbGFiZWwpOiAldSBoZWFkcywgJWxsdSBzZWN0b3JzLCAlZCBycG1cbiIKKyN+ICIldSBjeWxpbmRlcnMsICVkIGFsdGVybmF0ZSBjeWxpbmRlcnMsICVkIHBoeXNpY2FsIGN5bGluZGVyc1xuIgorI34gIiVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiAiTGFiZWwgSUQ6ICVzXG4iCisjfiAiVm9sdW1lIElEOiAlc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiA1MTIgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFN1bi1kaXNrZXRpa2V0dCk6ICVkIGh1dnVkZW4sICVsbHUgc2VrdG9yZXIsXG4iCisjfiAiJWQgdmFydiBwZXIgbWludXQsICVkIGN5bGluZHJhciwgJWQgYWx0ZXJuYXRpdmFcbiIKKyN+ICJjeWxpbmRyYXIsICVkIGZ5c2lza2EgY3lsaW5kcmFyLCAlZCBleHRyYSBzZWt0b3Jlci9jeWxpbmRlcixcbiIKKyN+ICJtZWxsYW5ydW0gJWQ6MVxuIgorI34gIkV0aWtldHQtaWQ6ICVzXG4iCisjfiAiVm9seW0taWQ6ICVzXG4iCisjfiAiRW5oZXRlciA9ICVzIGF2ICVkIMK3IDUxMiBieXRlXG4iCisjfiAiXG4iCisKKyMgwrcgKGNlbnRlcmVkIGRvdCkgaXMgbm9ybWFsbHkgdXNlZCBhcyB0aGUgbXVsdGlwbGljYXRpb24gc2lnbiBpbiBTd2VkaXNoLgorIyBTZWUgIlN2ZW5za2Egc2tyaXZyZWdsZXIiIMKnMjYwLgorIworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgbGFiZWwpOiAldSBoZWFkcywgJWxsdSBzZWN0b3JzLCAldSBjeWxpbmRlcnNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogNTEyIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTdW4tZGlza2V0aWtldHQpOiAlZCBodXZ1ZGVuLCAlbGx1IHNla3RvcmVyLCAlZCBjeWxpbmRyYXJcbiIKKyN+ICJFbmhldGVyID0gJXMgYXYgJWQgwrcgNTEyIGJ5dGVcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiUqcyBGbGFnICAgIFN0YXJ0ICAgICAgIEVuZCAgICBCbG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiUqcyBGbGFnZ2EgIELDtnJqYW4gICAgICBTbHV0ICAgQmxvY2sgICAgSWQgIFN5c3RlbVxuIgorCisjfiBtc2dpZCAiT1MvMiBoaWRkZW4gQzogZHJpdmUiCisjfiBtc2dzdHIgIk9TLzIgZG9sZCBDOi1lbmhldCIKKworI34gbXNnaWQgInNlZWsgZXJyb3Igb24gJXMgLSBjYW5ub3Qgc2VlayB0byAlbHVcbiIKKyN+IG1zZ3N0ciAic8O2a2ZlbCBww6UgJXMgLSBrYW4gaW50ZSBzcG9sYSB0aWxsICVsdVxuIgorCisjfiBtc2dpZCAic2VlayBlcnJvcjogd2FudGVkIDB4JTA4eCUwOHgsIGdvdCAweCUwOHglMDh4XG4iCisjfiBtc2dzdHIgInPDtmtmZWw6IHZpbGxlIGhhIDB4JTA4eCUwOHgsIGZpY2sgMHglMDh4JTA4eFxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeSAtIGdpdmluZyB1cFxuIgorI34gbXNnc3RyICJzbHV0IHDDpSBtaW5uZSAtIGdlciB1cHBcbiIKKworI34gbXNnaWQgInJlYWQgZXJyb3Igb24gJXMgLSBjYW5ub3QgcmVhZCBzZWN0b3IgJWx1XG4iCisjfiBtc2dzdHIgImzDpHNmZWwgcMOlICVzIC0ga2FuIGludGUgbMOkc2Egc2VrdG9yICVsdVxuIgorCisjfiBtc2dpZCAiRVJST1I6IHNlY3RvciAlbHUgZG9lcyBub3QgaGF2ZSBhbiBtc2RvcyBzaWduYXR1cmVcbiIKKyN+IG1zZ3N0ciAiRkVMOiBzZWt0b3IgJWx1IGhhciBpbmdlbiBtc2Rvcy1zaWduYXR1clxuIgorCisjfiBtc2dpZCAid3JpdGUgZXJyb3Igb24gJXMgLSBjYW5ub3Qgd3JpdGUgc2VjdG9yICVsdVxuIgorI34gbXNnc3RyICJza3JpdmZlbCBww6UgJXMgLSBrYW4gaW50ZSBza3JpdmEgc2VrdG9yICVsdVxuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHNlY3RvciBzYXZlIGZpbGUgKCVzKVxuIgorI34gbXNnc3RyICJrYW4gaW50ZSDDtnBwbmEgcGFydGl0aW9uc3Nla3RvcnNwYXJmaWwgKCVzKVxuIgorCisjfiBtc2dpZCAiY2Fubm90IHN0YXQgcGFydGl0aW9uIHJlc3RvcmUgZmlsZSAoJXMpXG4iCisjfiBtc2dzdHIgImthbiBpbnRlIHRhIHN0YXR1cyBww6UgcGFydGl0aW9uc8OldGVyc3TDpGxsbmluZ3NmaWwgKCVzKVxuIgorCisjfiBtc2dpZCAicGFydGl0aW9uIHJlc3RvcmUgZmlsZSBoYXMgd3Jvbmcgc2l6ZSAtIG5vdCByZXN0b3JpbmdcbiIKKyN+IG1zZ3N0ciAicGFydGl0aW9uc8OldGVyc3TDpGxsbmluZ3NmaWxlbiBoYXIgZmVsIHN0b3JsZWsgLSDDpXRlcnN0w6RsbGVyIGludGVcbiIKKworI34gbXNnaWQgIm91dCBvZiBtZW1vcnk/XG4iCisjfiBtc2dzdHIgInNsdXQgcMOlIG1pbm5lP1xuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHJlc3RvcmUgZmlsZSAoJXMpXG4iCisjfiBtc2dzdHIgImthbiBpbnRlIMO2cHBuYSBwYXJ0aXRpb25zw6V0ZXJzdMOkbGxuaW5nc2ZpbGVuICglcylcbiIKKworI34gbXNnaWQgImVycm9yIHJlYWRpbmcgJXNcbiIKKyN+IG1zZ3N0ciAiZmVsIHZpZCBsw6RzbmluZyBhdiAlc1xuIgorCisjfiBtc2dpZCAiZXJyb3Igd3JpdGluZyBzZWN0b3IgJWx1IG9uICVzXG4iCisjfiBtc2dzdHIgImZlbCB2aWQgc2tyaXZuaW5nIGF2IHNla3RvciAlbHUgcMOlICVzXG4iCisKKyN+IG1zZ2lkICJEaXNrICVzOiBjYW5ub3QgZ2V0IGdlb21ldHJ5XG4iCisjfiBtc2dzdHIgIkRpc2sgJXM6IGthbiBpbnRlIGbDpSB0YWcgaSBnZW9tZXRyaVxuIgorCisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBzaXplXG4iCisjfiBtc2dzdHIgIkRpc2sgJXM6IGthbiBpbnRlIGbDpSB0YWcgaSBzdG9ybGVrXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogc3RhcnQ9JWx1IC0gdGhpcyBsb29rcyBsaWtlIGEgcGFydGl0aW9uIHJhdGhlciB0aGFuXG4iCisjfiAidGhlIGVudGlyZSBkaXNrLiBVc2luZyBmZGlzayBvbiBpdCBpcyBwcm9iYWJseSBtZWFuaW5nbGVzcy5cbiIKKyN+ICJbVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiBpZiB5b3UgcmVhbGx5IHdhbnQgdGhpc11cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlZhcm5pbmc6IHN0YXJ0PSVsdSAtIGRldHRhIHNlciBtZXIgdXQgc29tIGVuIHBhcnRpdGlvbiDDpG5cbiIKKyN+ICJoZWxhIGRpc2tlbi4gQXR0IGFudsOkbmRhIGZkaXNrIHDDpSBkZXQgw6RyIHRyb2xpZ3R2aXMgbWVuaW5nc2zDtnN0LlxuIgorI34gIltBbnbDpG5kIGZsYWdnYW4gLS1mb3JjZSBvbSBkdSB2ZXJrbGlnZW4gdmlsbCBkZXR0YV1cbiIKKworI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGhlYWRzXG4iCisjfiBtc2dzdHIgIlZhcm5pbmc6IEhESU9fR0VUR0VPIHPDpGdlciBhdHQgZGV0IGZpbm5zICVsdSBodXZ1ZGVuXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBIRElPX0dFVEdFTyBzYXlzIHRoYXQgdGhlcmUgYXJlICVsdSBzZWN0b3JzXG4iCisjfiBtc2dzdHIgIlZhcm5pbmc6IEhESU9fR0VUR0VPIHPDpGdlciBhdHQgZGV0IGZpbm5zICVsdSBzZWt0b3JlclxuIgorCisjfiBtc2dpZCAiV2FybmluZzogQkxLR0VUU0laRS9IRElPX0dFVEdFTyBzYXlzIHRoYXQgdGhlcmUgYXJlICVsdSBjeWxpbmRlcnNcbiIKKyN+IG1zZ3N0ciAiVmFybmluZzogQkxLR0VUU0laRS9IRElPX0dFVEdFTyBzw6RnZXIgYXR0IGRldCBmaW5ucyAlbHUgY3lsaW5kcmFyXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogdW5saWtlbHkgbnVtYmVyIG9mIHNlY3RvcnMgKCVsdSkgLSB1c3VhbGx5IGF0IG1vc3QgNjNcbiIKKyN+ICJUaGlzIHdpbGwgZ2l2ZSBwcm9ibGVtcyB3aXRoIGFsbCBzb2Z0d2FyZSB0aGF0IHVzZXMgQy9IL1MgYWRkcmVzc2luZy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlZhcm5pbmc6IE9zYW5ub2xpa3QgYW50YWwgc2VrdG9yZXIgKCVsdSkgLSB2YW5saWd0dmlzIMOkciBkZXQgc29tIG1lc3QgNjNcbiIKKyN+ICJEZXR0YSBrb21tZXIgYXR0IGdlIHByb2JsZW0gbWVkIGFsbCBwcm9ncmFtdmFyYSBzb20gYW52w6RuZGVyIEMvSC9TLWFkcmVzc2VyaW5nLlxuIgorCisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBoZWFkOiAlbHUgKHNob3VsZCBiZSBpbiAwLSVsdSlcbiIKKyN+IG1zZ3N0ciAiJXMgcMOlIHBhcnRpdGlvbiAlcyBoYXIgb23DtmpsaWd0IHbDpHJkZSBww6UgaHV2dWQ6ICVsdSAobcOlc3RlIHZhcmEgbWVsbGFuIDAtJWx1KVxuIgorCisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBzZWN0b3I6ICVsdSAoc2hvdWxkIGJlIGluIDEtJWx1KVxuIgorI34gbXNnc3RyICIlcyBww6UgcGFydGl0aW9uICVzIGhhciBvbcO2amxpZ3QgdsOkcmRlIHDDpSBzZWt0b3I6ICVsdSAobcOlc3RlIHZhcmEgbWVsbGFuIDEtJWx1KVxuIgorCisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBjeWxpbmRlcnM6ICVsdSAoc2hvdWxkIGJlIGluIDAtJWx1KVxuIgorI34gbXNnc3RyICIlcyBww6UgcGFydGl0aW9uICVzIGhhciBvbcO2amxpZ3QgdsOkcmRlIHDDpSBjeWxpbmRlcjogJWx1IChtw6VzdGUgdmFyYSBtZWxsYW4gMC0lbHUpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlRoZSBjb21tYW5kIHRvIHJlLXJlYWQgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuXG4iCisjfiAiUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB5b3VyIHN5c3RlbSBub3csXG4iCisjfiAiYmVmb3JlIHVzaW5nIG1rZnNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIktvbW1hbmRvdCBmw7ZyIGF0dCBsw6RzYSBvbSBwYXJ0aXRpb25zdGFiZWxsZW4gbWlzc2x5Y2thZGVzXG4iCisjfiAiU3RhcnRhIG9tIGRpdHQgc3lzdGVtIG51LCBpbm5hbiBkdSBhbnbDpG5kZXIgbWtmc1xuIgorCisjfiBtc2dpZCAiRXJyb3IgY2xvc2luZyAlc1xuIgorI34gbXNnc3RyICJGZWwgdmlkIHN0w6RuZ25pbmcgYXYgJXNcbiIKKworI34gbXNnaWQgInVuaW1wbGVtZW50ZWQgZm9ybWF0IC0gdXNpbmcgJXNcbiIKKyN+IG1zZ3N0ciAib2ltcGxlbWVudGVyYXQgZm9ybWF0IC0gYW52w6RuZGVyICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHMgPSBjeWxpbmRlcnMgb2YgJWx1IGJ5dGVzLCBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiRW5oZXRlciA9IGN5bGluZHJhciBtZWQgJWx1IGJ5dGUsIGJsb2NrIG1lZCAxMDI0IGJ5dGUsIHLDpGtuYXQgZnLDpW4gJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290IFN0YXJ0ICAgICBFbmQgICAjY3lscyAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBFbmhldCBTdGFydCBCw7ZyamFuICAgU2x1dCAgICAgQ3lsLiAgICAgQmxvY2sgICBJZCAgU3lzdGVtXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHMgPSBzZWN0b3JzIG9mIDUxMiBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiRW5oZXRlciA9IHNla3RvcmVyIG1lZCA1MTIgYnl0ZSwgcsOka25hdCBmcsOlbiAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgICAgU3RhcnQgICAgICAgRW5kICAgI3NlY3RvcnMgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAgRW5oZXQgU3RhcnQgICBCw7ZyamFuICAgICAgU2x1dCAgIFNla3RvcmVyICBJZCAgU3lzdGVtXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHMgPSBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiRW5oZXRlciA9IGJsb2NrIG1lZCAxMDI0IGJ5dGUsIHLDpGtuYXQgZnLDpW4gJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290ICAgU3RhcnQgICAgICAgRW5kICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiAgIEVuaGV0IFN0YXJ0ICBCw7ZyamFuICAgICAgU2x1dCAgICAgIEJsb2NrICAgSWQgIFN5c3RlbVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVuaXRzID0gbWViaWJ5dGVzIG9mIDEwNDg1NzYgYnl0ZXMsIGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFbmhldGVyID0gbWViaWJ5dGUgbWVkIDEwNDg1NzYgYnl0ZSwgYmxvY2sgbWVkIDEwMjQgYnl0ZSwgcsOka25hdCBmcsOlbiAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgU3RhcnQgICBFbmQgICAgTWlCICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiAgIEVuaGV0IFN0YXJ0IELDtnJqYW4gU2x1dCAgICBNaUIgICAgICBCbG9jayAgIElkICBTeXN0ZW1cbiIKKworI34gbXNnaWQgIlx0XHRzdGFydDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiXHRcdGLDtnJqYW46IChjLGgscykgKCVsZCwlbGQsJWxkKSBmw7ZydsOkbnRhZGVzICglbGQsJWxkLCVsZCkgaGl0dGFkZXNcbiIKKworI34gbXNnaWQgIlx0XHRlbmQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpXG4iCisjfiBtc2dzdHIgIlx0XHRzbHV0OiAoYyxoLHMpICglbGQsJWxkLCVsZCkgZsO2cnbDpG50YWRlcyAoJWxkLCVsZCwlbGQpIGhpdHRhZGVzXG4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gZW5kcyBvbiBjeWxpbmRlciAlbGQsIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBkaXNrXG4iCisjfiBtc2dzdHIgInBhcnRpdGlvbmVuIHNsdXRhciBww6UgY3lsaW5kZXIgJWxkLCB1dGFuZsO2ciBzbHV0ZXQgcMOlIGjDpXJkZGlza2VuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogVGhlIHBhcnRpdGlvbiB0YWJsZSBsb29rcyBsaWtlIGl0IHdhcyBtYWRlXG4iCisjfiAiICBmb3IgQy9IL1M9Ki8lbGQvJWxkIChpbnN0ZWFkIG9mICVsZC8lbGQvJWxkKS5cbiIKKyN+ICJGb3IgdGhpcyBsaXN0aW5nIEknbGwgYXNzdW1lIHRoYXQgZ2VvbWV0cnkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJWYXJuaW5nOiBQYXJ0aXRpb25zdGFiZWxsZW4gc2VyIHV0IHNvbSBvbSBkZW4gZ2pvcmRlc1xuIgorI34gIiAgZsO2ciBDL0gvUz0qLyVsZC8lbGQgKGlzdMOkbGxldCBmw7ZyICVsZC8lbGQvJWxkKS5cbiIKKyN+ICJJIGRlbm5hIHZpc25pbmcga29tbWVyIGphZyBhdHQgYW50YWdhIGRlbiBnZW9tZXRyaW4uXG4iCisKKyN+IG1zZ2lkICJzdHJhbmdlLCBvbmx5ICVkIHBhcnRpdGlvbnMgZGVmaW5lZC5cbiIKKyN+IG1zZ3N0ciAia29uc3RpZ3QsIGVuZGFzdCAlZCBwYXJ0aXRpb25lciDDpHIgYW5naXZuYS5cbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGJ1dCBpcyBub3QgbWFya2VkIEVtcHR5XG4iCisjfiBtc2dzdHIgIlZhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXIgc3RvcmxlayAwIG1lbiDDpHIgaW50ZSBtYXJrZXJhZCB0b21cbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGFuZCBpcyBib290YWJsZVxuIgorI34gbXNnc3RyICJWYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFyIHN0b3JsZWsgMCBvY2ggw6RyIHN0YXJ0YmFyXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBhbmQgbm9uemVybyBzdGFydFxuIgorI34gbXNnc3RyICJWYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFyIHN0b3JsZWsgMCBvY2ggZW4gYsO2cmphbiBzb20gaW50ZSDDpHIgMFxuIgorCisjfiBtc2dpZCAiYW5kICVzIG92ZXJsYXBcbiIKKyN+IG1zZ3N0ciAib2NoICVzIMO2dmVybGFwcGFyIHZhcmFuZHJhXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogcGFydGl0aW9uICVzIGNvbnRhaW5zIHBhcnQgb2YgdGhlIHBhcnRpdGlvbiB0YWJsZSAoc2VjdG9yICVsdSksXG4iCisjfiAiYW5kIHdpbGwgZGVzdHJveSBpdCB3aGVuIGZpbGxlZFxuIgorI34gbXNnc3RyICIiCisjfiAiVmFybmluZzogcGFydGl0aW9uICVzIGlubmVow6VsbGVyIGVuIGRlbCBhdiBwYXJ0aXRpb25zdGFiZWxsZW4gKHNla3RvciAlbHUpLFxuIgorI34gIm9jaCBrb21tZXIgYXR0IGbDtnJzdMO2cmEgZGVuIGTDpSBkZW4gZnlsbHNcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yIDBcbiIKKyN+IG1zZ3N0ciAiVmFybmluZzogcGFydGl0aW9uICVzIGLDtnJqYXIgcMOlIHNla3RvciAwXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZXh0ZW5kcyBwYXN0IGVuZCBvZiBkaXNrXG4iCisjfiBtc2dzdHIgIlZhcm5pbmc6IHBhcnRpdGlvbiAlcyBmb3J0c8OkdHRlciB1dGFuZsO2ciBow6VyZGRpc2tlblxuIgorCisjfiBtc2dpZCAiIgorI34gIkFtb25nIHRoZSBwcmltYXJ5IHBhcnRpdGlvbnMsIGF0IG1vc3Qgb25lIGNhbiBiZSBleHRlbmRlZFxuIgorI34gIiAoYWx0aG91Z2ggdGhpcyBpcyBub3QgYSBwcm9ibGVtIHVuZGVyIExpbnV4KVxuIgorI34gbXNnc3RyICIiCisjfiAiRW5kYXN0IGVuIGF2IGRlIHByaW3DpHJhIHBhcnRpdGlvbmVybmEga2FuIHZhcmEgdXTDtmthZFxuIgorI34gIiAow6R2ZW4gb20gZGV0dGEgaW50ZSDDpHIgZXR0IHByb2JsZW0gdW5kZXIgTGludXgpXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZG9lcyBub3Qgc3RhcnQgYXQgYSBjeWxpbmRlciBib3VuZGFyeVxuIgorI34gbXNnc3RyICJWYXJuaW5nOiBwYXJ0aXRpb24gJXMgYsO2cmphciBpbnRlIHDDpSBlbiBqw6RtbiBjeWxpbmRlcmdyw6Ruc1xuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGRvZXMgbm90IGVuZCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5XG4iCisjfiBtc2dzdHIgIlZhcm5pbmc6IHBhcnRpdGlvbiAlcyBzbHV0YXIgaW50ZSBww6UgZW4gasOkbW4gY3lsaW5kZXJncsOkbnNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBtb3JlIHRoYW4gb25lIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZSAoYWN0aXZlKVxuIgorI34gIlRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLCBidXQgdGhlIERPUyBNQlIgd2lsbCBub3QgYm9vdCB0aGlzIGRpc2suXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJWYXJuaW5nOiBmbGVyIMOkbiBlbiBwcmltw6RyIHBhcnRpdGlvbiDDpHIgbWFya2VyYWQgc29tIHN0YXJ0YmFyIChha3RpdilcbiIKKyN+ICJMSUxPIGJyeXIgc2lnIGludGUgb20gZGV0dGEsIG1lbiBET1MgaHV2dWRzdGFydHBvc3QgKE1CUikga29tbWVyIGludGUgYXR0XG4iCisjfiAia3VubmEgc3RhcnRhIGRlbm5hIGRpc2suXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogdXN1YWxseSBvbmUgY2FuIGJvb3QgZnJvbSBwcmltYXJ5IHBhcnRpdGlvbnMgb25seVxuIgorI34gIkxJTE8gZGlzcmVnYXJkcyB0aGUgYGJvb3RhYmxlJyBmbGFnLlxuIgorI34gbXNnc3RyICIiCisjfiAiVmFybmluZzogbm9ybWFsdCBrYW4gbWFuIGVuZGFzdCBzdGFydGEgZnLDpW4gcHJpbcOkcmEgcGFydGl0aW9uZXJcbiIKKyN+ICJMSUxPIGlnbm9yZXJhciBzdGFydGJhcmhldHNmbGFnZ2FuLlxuIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IG5vIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZSAoYWN0aXZlKVxuIgorI34gIlRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLCBidXQgdGhlIERPUyBNQlIgd2lsbCBub3QgYm9vdCB0aGlzIGRpc2suXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJWYXJuaW5nOiBpbmdlbiBwcmltw6RyIHBhcnRpdGlvbiDDpHIgbWFya2VyYWQgc29tIHN0YXJ0YmFyIChha3RpdilcbiIKKyN+ICJMSUxPIGJyeXIgc2lnIGludGUgb20gZGV0dGEsIG1lbiBET1MgaHV2dWRzdGFydHBvc3QgKE1CUikga29tbWVyIGludGUgYXR0XG4iCisjfiAia3VubmEgc3RhcnRhIGRlbm5hIGRpc2suXG4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICJwYXJ0aXRpb24gJXM6IGLDtnJqYW46IChjLGgscykgKCVsZCwlbGQsJWxkKSBmw7ZydsOkbnRhZGVzICglbGQsJWxkLCVsZCkgaGl0dGFkZXNcbiIKKworI34gbXNnaWQgImVuZCIKKyN+IG1zZ3N0ciAic2x1dCIKKworI34gbXNnaWQgInBhcnRpdGlvbiAlczogZW5kOiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICJwYXJ0aXRpb24gJXM6IHNsdXQ6IChjLGgscykgKCVsZCwlbGQsJWxkKSBmw7ZydsOkbnRhZGVzICglbGQsJWxkLCVsZCkgaGl0dGFkZXNcbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiAlcyBlbmRzIG9uIGN5bGluZGVyICVsZCwgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGRpc2tcbiIKKyN+IG1zZ3N0ciAicGFydGl0aW9uICVzIHNsdXRhciBww6UgY3lsaW5kZXIgJWxkLCB1dGFuZsO2ciBzbHV0ZXQgcMOlIGjDpXJkZGlza2VuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogc2hpZnRlZCBzdGFydCBvZiB0aGUgZXh0ZCBwYXJ0aXRpb24gZnJvbSAlbGQgdG8gJWxkXG4iCisjfiAiKEZvciBsaXN0aW5nIHB1cnBvc2VzIG9ubHkuIERvIG5vdCBjaGFuZ2UgaXRzIGNvbnRlbnRzLilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlZhcm5pbmc6IMOkbmRyYWRlIGLDtnJqYW4gcMOlIGV4dGQtcGFydGl0aW9uZW4gZnLDpW4gJWxkIHRpbGwgJWxkXG4iCisjfiAiKEVuZGFzdCBmw7ZyIGxpc3RuaW5nc8OkbmRhbcOlbC4gw4RuZHJhIGludGUgZGVzcyBpbm5laMOlbGwpLlxuIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IGV4dGVuZGVkIHBhcnRpdGlvbiBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gIkRPUyBhbmQgTGludXggd2lsbCBpbnRlcnByZXQgdGhlIGNvbnRlbnRzIGRpZmZlcmVudGx5LlxuIgorI34gbXNnc3RyICIiCisjfiAiVmFybmluZzogdXTDtmthZCBwYXJ0aXRpb24gYsO2cmphciBpbnRlIHDDpSBqw6RtbiBjeWxpbmRlcmdyw6Rucy5cbiIKKyN+ICJET1Mgb2NoIExpbnV4IGtvbW1lciBhdHQgdG9sa2EgaW5uZWjDpWxsZXQgYW5ub3JsdW5kYS5cbiIKKworI34gbXNnaWQgInRvbyBtYW55IHBhcnRpdGlvbnMgLSBpZ25vcmluZyB0aG9zZSBwYXN0IG5yICglZClcbiIKKyN+IG1zZ3N0ciAiZsO2ciBtw6VuZ2EgcGFydGl0aW9uZXIgLSBpZ25vcmVyYXIgZGUgZWZ0ZXIgbnVtbWVyICglZClcbiIKKworI34gbXNnaWQgImRldGVjdGVkIERpc2sgTWFuYWdlciAtIHVuYWJsZSB0byBoYW5kbGUgdGhhdFxuIgorI34gbXNnc3RyICJ1cHB0w6Rja3RlIERpc2sgTWFuYWdlciAtIGthbiBpbnRlIGhhbnRlcmEgZGV0XG4iCisKKyN+IG1zZ2lkICJETTYgc2lnbmF0dXJlIGZvdW5kIC0gZ2l2aW5nIHVwXG4iCisjfiBtc2dzdHIgIkRNNi1zaWduYXR1ciBoaXR0YWRlcyAtIGdlciB1cHBcbiIKKworI34gbXNnaWQgInN0cmFuZ2UuLi4sIGFuIGV4dGVuZGVkIHBhcnRpdGlvbiBvZiBzaXplIDA/XG4iCisjfiBtc2dzdHIgImtvbnN0aWd0LCBlbiB1dMO2a2FkIHBhcnRpdGlvbiBtZWQgc3RvcmxlayAwP1xuIgorCisjfiBtc2dpZCAic3RyYW5nZS4uLiwgYSBCU0QgcGFydGl0aW9uIG9mIHNpemUgMD9cbiIKKyN+IG1zZ3N0ciAia29uc3RpZ3QsIGVuIEJTRC1wYXJ0aXRpb24gbWVkIHN0b3JsZWsgMD9cbiIKKworI34gbXNnaWQgIi1uIGZsYWcgd2FzIGdpdmVuOiBOb3RoaW5nIGNoYW5nZWRcbiIKKyN+IG1zZ3N0ciAiRmxhZ2dhbiAtbiBhbmdhdnM6IEluZ2V0IMOkbmRyYWRlc1xuIgorCisjfiBtc2dpZCAiRmFpbGVkIHNhdmluZyB0aGUgb2xkIHNlY3RvcnMgLSBhYm9ydGluZ1xuIgorI34gbXNnc3RyICJNaXNzbHlja2FkZXMgbWVkIGF0dCBzcGFyYSBkZSBnYW1sYSBzZWt0b3Jlcm5hIC0gYXZicnl0ZXJcbiIKKworI34gbXNnaWQgImxvbmcgb3IgaW5jb21wbGV0ZSBpbnB1dCBsaW5lIC0gcXVpdHRpbmdcbiIKKyN+IG1zZ3N0ciAibMOlbmcgZWxsZXIgb2Z1bGxzdMOkbmRpZyBpbmRhdGFyYWQgLSBhdnNsdXRhclxuIgorCisjfiBtc2dpZCAiaW5wdXQgZXJyb3I6IGA9JyBleHBlY3RlZCBhZnRlciAlcyBmaWVsZFxuIgorI34gbXNnc3RyICJpbmRhdGFmZWw6IFwiPVwiIGbDtnJ2w6RudGFzIGVmdGVyICVzLWbDpGx0XG4iCisKKyN+IG1zZ2lkICJpbnB1dCBlcnJvcjogdW5leHBlY3RlZCBjaGFyYWN0ZXIgJWMgYWZ0ZXIgJXMgZmllbGRcbiIKKyN+IG1zZ3N0ciAiaW5kYXRhZmVsOiBvdsOkbnRhdCB0ZWNrZW4gJWMgZWZ0ZXIgJXMtZsOkbHRcbiIKKworI34gbXNnaWQgInRyYWlsaW5nIGp1bmsgYWZ0ZXIgbnVtYmVyXG4iCisjfiBtc2dzdHIgImVmdGVyc2zDpHBhbmRlIHNrcsOkcCBlZnRlciB0YWxcbiIKKworI34gbXNnaWQgIm5vIHJvb20gZm9yIHBhcnRpdGlvbiBkZXNjcmlwdG9yXG4iCisjfiBtc2dzdHIgImluZ2VuIHBsYXRzIGbDtnIgcGFydGl0aW9uc2hhbmR0YWdcbiIKKworI34gbXNnaWQgImNhbm5vdCBidWlsZCBzdXJyb3VuZGluZyBleHRlbmRlZCBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAia2FuIGludGUgYnlnZ2Egb21naXZhbmRlIHV0w7ZrYWQgcGFydGl0aW9uXG4iCisKKyN+IG1zZ2lkICJ0b28gbWFueSBpbnB1dCBmaWVsZHNcbiIKKyN+IG1zZ3N0ciAiZsO2ciBtw6VuZ2EgaW5kYXRhZmllbGRcbiIKKworI34gbXNnaWQgIk5vIHJvb20gZm9yIG1vcmVcbiIKKyN+IG1zZ3N0ciAiSW50ZSBwbGF0cyBmw7ZyIG1lclxuIgorCisjfiBtc2dpZCAiV2FybmluZzogZ2l2ZW4gc2l6ZSAoJWx1KSBleGNlZWRzIG1heCBhbGxvd2FibGUgc2l6ZSAoJWx1KVxuIgorI34gbXNnc3RyICJWYXJuaW5nOiBhbmdpdmVuIHN0b3JsZWsgKCVsdSkgw7Z2ZXJza3JpZGVyIHN0w7Zyc3RhIHRpbGzDpXRuYSBzdG9ybGVrZW4gKCVsdSlcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IGVtcHR5IHBhcnRpdGlvblxuIgorI34gbXNnc3RyICJWYXJuaW5nOiB0b20gcGFydGl0aW9uXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBiYWQgcGFydGl0aW9uIHN0YXJ0IChlYXJsaWVzdCAlbHUpXG4iCisjfiBtc2dzdHIgIlZhcm5pbmc6IGZlbGFrdGlnIGLDtnJqYW4gcMOlIHBhcnRpdGlvbiAoZsO2cnN0YSAlbHUpXG4iCisKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgYm9vdGFibGUgZmxhZyAtIGNob29zZSAtIG9yICpcbiIKKyN+IG1zZ3N0ciAib2vDpG5kIHN0YXJ0YmFyaGV0c2ZsYWdnYSAtIHbDpGxqIC0gZWxsZXIgKlxuIgorCisjfiBtc2dpZCAicGFydGlhbCBjLGgscyBzcGVjaWZpY2F0aW9uP1xuIgorI34gbXNnc3RyICJjLGgscy1zcGVjaWZpa2F0aW9uIG9mdWxsc3TDpG5kaWc/XG4iCisKKyN+IG1zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gbm90IHdoZXJlIGV4cGVjdGVkXG4iCisjfiBtc2dzdHIgIlV0w7ZrYWQgcGFydGl0aW9uIGZpbm5zIGludGUgZMOkciBkZW4gZsO2cnbDpG50YWRlc1xuIgorCisjfiBtc2dpZCAiYmFkIGlucHV0XG4iCisjfiBtc2dzdHIgImZlbGFrdGlnIGluZGF0YVxuIgorCisjfiBtc2dpZCAidG9vIG1hbnkgcGFydGl0aW9uc1xuIgorI34gbXNnc3RyICJmw7ZyIG3DpW5nYSBwYXJ0aXRpb25lclxuIgorCisjfiBtc2dpZCAiIgorI34gIklucHV0IGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OyBhYnNlbnQgZmllbGRzIGdldCBhIGRlZmF1bHQgdmFsdWUuXG4iCisjfiAiPHN0YXJ0PiA8c2l6ZT4gPHR5cGUgW0UsUyxMLFgsaGV4XT4gPGJvb3RhYmxlIFstLCpdPiA8YyxoLHM+IDxjLGgscz5cbiIKKyN+ICJVc3VhbGx5IHlvdSBvbmx5IG5lZWQgdG8gc3BlY2lmeSA8c3RhcnQ+IGFuZCA8c2l6ZT4gKGFuZCBwZXJoYXBzIDx0eXBlPikuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJJbmRhdGEgcMOlIGbDtmxqYW5kZSBmb3JtYXQ7IGbDpGx0IHNvbSBzYWtuYXMgZsOlciBldHQgc3RhbmRhcmR2w6RyZGUuXG4iCisjfiAiPGLDtnJqYW4+IDxzdG9ybGVrPiA8dHlwIFtFLFMsTCxYLGhleF0+IDxzdGFydGJhciBbLSwqXT4gPGMsaCxzPiA8YyxoLHM+XG4iCisjfiAiVmFubGxpZ3R2aXMgYmVow7Z2ZXIgZHUgYmFyYSBhbmdlIDxiw7ZyamFuPiBvY2ggPHN0b3JsZWs+IChvY2gga2Fuc2tlIDx0eXA+KS5cbiIKKworI34gbXNnaWQgImRldmljZTogc29tZXRoaW5nIGxpa2UgL2Rldi9oZGEgb3IgL2Rldi9zZGEiCisjfiBtc2dzdHIgImVuaGV0OiBuw6Vnb250aW5nIGxpa25hbmRlIC9kZXYvaGRhIGVsbGVyIC9kZXYvc2RhIgorCisjfiBtc2dpZCAiICAgIC1zIFtvciAtLXNob3ctc2l6ZV06IGxpc3Qgc2l6ZSBvZiBhIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgIC1zIFtlbGxlciAtLXNob3ctc2l6ZV06IHZpc2Egc3RvcmxlayBww6UgZW4gcGFydGl0aW9uIgorCisjfiBtc2dpZCAiICAgIC1pIFtvciAtLWluY3JlbWVudF06IG51bWJlciBjeWxpbmRlcnMgZXRjLiBmcm9tIDEgaW5zdGVhZCBvZiBmcm9tIDAiCisjfiBtc2dzdHIgIiAgICAtaSBbZWxsZXIgLS1pbmNyZW1lbnRdOiBudW1yZXJhIGN5bGluZHJhciBvc3YgZnLDpW4gMSBpc3TDpGxsZXQgZsO2ciBmcsOlbiAwIgorCisjfiBtc2dpZCAiICAgIC11UywgLXVCLCAtdUMsIC11TTogIGFjY2VwdC9yZXBvcnQgaW4gdW5pdHMgb2Ygc2VjdG9ycy9ibG9ja3MvY3lsaW5kZXJzL01CIgorI34gbXNnc3RyICIgICAgLXVTLCAtdUIsIC11QywgLXVNOiAgYWNjZXB0ZXJhL3JhcHBvcnRlcmEgaSBlbmhldGVyIG9tIHNla3RvcmVyL2Jsb2NrL2N5bGluZHJhci9NQiIKKworI34gbXNnaWQgIiAgICAtVCBbb3IgLS1saXN0LXR5cGVzXTpsaXN0IHRoZSBrbm93biBwYXJ0aXRpb24gdHlwZXMiCisjfiBtc2dzdHIgIiAgICAtVCBbZWxsZXIgLS1saXN0LXR5cGVzXTp2aXNhIGRlIGvDpG5kYSBwYXJ0aXRpb25zdHlwZXJuYSIKKworI34gbXNnaWQgIiAgICAtRCBbb3IgLS1ET1NdOiAgICAgICBmb3IgRE9TLWNvbXBhdGliaWxpdHk6IHdhc3RlIGEgbGl0dGxlIHNwYWNlIgorI34gbXNnc3RyICIgICAgLUQgW2VsbGVyIC0tRE9TXTogICAgZsO2ciBET1Mta29tcGF0aWJpbGl0ZXQ6IHNsw7ZzYSBsaXRlIHV0cnltbWUiCisKKyN+IG1zZ2lkICIgICAgLVIgW29yIC0tcmUtcmVhZF06ICAgbWFrZSBrZXJuZWwgcmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiICAgIC1SIFtlbGxlciAtLXJlLXJlYWRdOiBnw7ZyIHPDpSBhdHQga8Okcm5hbiBsw6RzZXIgb20gcGFydGl0aW9uc3RhYmVsbGVuIgorCisjfiBtc2dpZCAiICAgIC1PIGZpbGUgOiAgICAgICAgICAgIHNhdmUgdGhlIHNlY3RvcnMgdGhhdCB3aWxsIGJlIG92ZXJ3cml0dGVuIHRvIGZpbGUiCisjfiBtc2dzdHIgIiAgICAtTyBmaWwgOiAgICAgICAgICAgICBzcGFyYSBzZWt0b3Jlcm5hIHNvbSBrb21tZXIgYXR0IHNrcml2YXMgw7Z2ZXIgdGlsbCBmaWwiCisKKyN+IG1zZ2lkICIgICAgLUkgZmlsZSA6ICAgICAgICAgICAgcmVzdG9yZSB0aGVzZSBzZWN0b3JzIGFnYWluIgorI34gbXNnc3RyICIgICAgLUkgZmlsIDogICAgICAgICAgICAgw6V0ZXJzdMOkbGwgZGVzc2Egc2VrdG9yZXIgaWdlbiIKKworI34gbXNnaWQgIiAgICAtdiBbb3IgLS12ZXJzaW9uXTogICBwcmludCB2ZXJzaW9uIgorI34gbXNnc3RyICIgICAgLXYgW2VsbGVyIC0tdmVyc2lvbl06IHZpc2EgdmVyc2lvbnNpbmZvcm1hdGlvbiIKKworI34gbXNnaWQgIiAgICAtZyBbb3IgLS1zaG93LWdlb21ldHJ5XTogcHJpbnQgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIGdlb21ldHJ5IgorI34gbXNnc3RyICIgICAgLWcgW2VsbGVyIC0tc2hvdy1nZW9tZXRyeV06IHZpc2Ega8Okcm5hbnMgYmlsZCBhdiBnZW9tZXRyaW4iCisKKyN+IG1zZ2lkICIgICAgLUcgW29yIC0tc2hvdy1wdC1nZW9tZXRyeV06IHByaW50IGdlb21ldHJ5IGd1ZXNzZWQgZnJvbSB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICIgICAgLUcgW2VsbGVyIC0tc2hvdy1wdC1nZW9tZXRyeV06IHNrcml2IHV0IGdpc3NhZCBnZW9tZXRyaSBmcsOlbiBwYXJ0aXRpb25zdGFiZWxsZW4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgIC14IFtvciAtLXNob3ctZXh0ZW5kZWRdOiBhbHNvIGxpc3QgZXh0ZW5kZWQgcGFydGl0aW9ucyBvbiBvdXRwdXRcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIGV4cGVjdCBkZXNjcmlwdG9ycyBmb3IgdGhlbSBvbiBpbnB1dCIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAteCBbZWxsZXIgLS1zaG93LWV4dGVuZGVkXTogdmlzYSDDpHZlbiB1dMO2a2FkZSBwYXJ0aXRpb25lciBpIHV0ZGF0YVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxsZXIgZsO2cnbDpG50YSBoYW5kdGFnIGbDtnIgZGVtIHNvbSBpbmRhdGEiCisKKyN+IG1zZ2lkICIgICAgLUwgIFtvciAtLUxpbnV4XTogICAgICBkbyBub3QgY29tcGxhaW4gYWJvdXQgdGhpbmdzIGlycmVsZXZhbnQgZm9yIExpbnV4IgorI34gbXNnc3RyICIgICAgLUwgIFtlbGxlciAtLUxpbnV4XTogICBrbGFnYSBpbnRlIHDDpSBzYWtlciBzb20gw6RyIGlycmVsZXZhbnRhIGbDtnIgTGludXgiCisKKyN+IG1zZ2lkICIgICAgWW91IGNhbiBvdmVycmlkZSB0aGUgZGV0ZWN0ZWQgZ2VvbWV0cnkgdXNpbmc6IgorI34gbXNnc3RyICIgICAgRHUga2FuIMOlc2lkb3PDpHR0YSBkZW4gZGV0ZWt0ZXJhZGUgZ2VvbWV0cmluIGdlbm9tIGF0dCBhbnbDpG5kYToiCisKKyN+IG1zZ2lkICIgICAgLWYgIFtvciAtLWZvcmNlXTogICAgICBkbyB3aGF0IEkgc2F5LCBldmVuIGlmIGl0IGlzIHN0dXBpZCIKKyN+IG1zZ3N0ciAiICAgIC1mICBbZWxsZXIgLS1mb3JjZV06ICAgZ8O2ciB2YWQgamFnIHPDpGdlciDDpHZlbiBvbSBkZXQgw6RyIGR1bXQiCisKKyN+IG1zZ2lkICIlcyBkZXZpY2VcdFx0IGxpc3QgYWN0aXZlIHBhcnRpdGlvbnMgb24gZGV2aWNlXG4iCisjfiBtc2dzdHIgIiVzIGVuaGV0XHRcdCB2aXNhIGFrdGl2YSBwYXJ0aXRpb25lciBww6UgZW5oZXRcbiIKKworI34gbXNnaWQgIiVzIGRldmljZSBuMSBuMiAuLi4gYWN0aXZhdGUgcGFydGl0aW9ucyBuMSAuLi4sIGluYWN0aXZhdGUgdGhlIHJlc3RcbiIKKyN+IG1zZ3N0ciAiJXMgZW5oZXQgbjEgbjIgLi4uIGFrdGl2ZXJhIHBhcnRpdGlvbmVyIG4xIC4uLiwgZGVha3RpdmVyYSByZXN0ZW5cbiIKKworI34gbXNnaWQgIiVzIC1BbiBkZXZpY2VcdCBhY3RpdmF0ZSBwYXJ0aXRpb24gbiwgaW5hY3RpdmF0ZSB0aGUgb3RoZXIgb25lc1xuIgorI34gbXNnc3RyICIlcyAtQW4gZW5oZXRcdCBha3RpdmVyYSBwYXJ0aXRpb24gbiwgZGVha3RpdmVyYSBkZSBhbmRyYVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IEdQVCAoR1VJRCBQYXJ0aXRpb24gVGFibGUpIGRldGVjdGVkIG9uICclcychIFRoZSB1dGlsIHNmZGlzayBkb2Vzbid0IHN1cHBvcnQgR1BULiBVc2UgR05VIFBhcnRlZC5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlZBUk5JTkc6IEdQVCAoR1VJRCBQYXJ0aXRpb24gVGFibGUpIHVwcHTDpGNrdGVzIHDDpSBcIiVzXCIhIFZlcmt0eWdldCBzZmRpc2sgc2FrbmFyIHN0w7ZkIGbDtnIgR1BULiBBbnbDpG5kIEdOVSBQYXJ0ZWQuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0tcHJpbnQtaWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXJcbiIKKyN+IG1zZ3N0ciAiYW52w6RuZG5pbmc6IHNmZGlzayAtLXByaW50LWlkIGVuaGV0IHBhcnRpdGlvbnNudW1tZXJcbiIKKworI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1jaGFuZ2UtaWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIgSWRcbiIKKyN+IG1zZ3N0ciAiYW52w6RuZG5pbmc6IHNmZGlzayAtLWNoYW5nZS1pZCBlbmhldCBwYXJ0aXRpb25zbnVtbWVyIElkXG4iCisKKyN+IG1zZ2lkICJjYW4gc3BlY2lmeSBvbmx5IG9uZSBkZXZpY2UgKGV4Y2VwdCB3aXRoIC1sIG9yIC1zKVxuIgorI34gbXNnc3RyICJrYW4gZW5kYXN0IGFuZ2UgZW4gZW5oZXQgKHV0b20gbWVkIC1sIGVsbGVyIC1zKVxuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgcmVhZC13cml0ZVxuIgorI34gbXNnc3RyICJrYW4gaW50ZSDDtnBwbmEgJXMgZsO2ciBsw6RzbmluZyBvY2ggc2tyaXZuaW5nXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyBmb3IgcmVhZGluZ1xuIgorI34gbXNnc3RyICJrYW4gaW50ZSDDtnBwbmEgJXMgZsO2ciBsw6RzbmluZ1xuIgorCisjfiBtc2dpZCAiJXM6ICVsZCBjeWxpbmRlcnMsICVsZCBoZWFkcywgJWxkIHNlY3RvcnMvdHJhY2tcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCBjeWxpbmRyYXIsICVsZCBodXZ1ZGVuLCAlbGQgc2VrdG9yZXIvc3DDpXJcbiIKKworI34gbXNnaWQgImJhZCBhY3RpdmUgYnl0ZTogMHgleCBpbnN0ZWFkIG9mIDB4ODBcbiIKKyN+IG1zZ3N0ciAiZmVsYWt0aWcgYWt0aXYgYnl0ZTogMHgleCBpc3TDpGxsZXQgZsO2ciAweDgwXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRG9uZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiRsOkcmRpZ1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIllvdSBoYXZlICVkIGFjdGl2ZSBwcmltYXJ5IHBhcnRpdGlvbnMuIFRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLFxuIgorI34gImJ1dCB0aGUgRE9TIE1CUiB3aWxsIG9ubHkgYm9vdCBhIGRpc2sgd2l0aCAxIGFjdGl2ZSBwYXJ0aXRpb24uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJEdSBoYXIgJWQgYWt0aXZhIHByaW3DpHJhIHBhcnRpdGlvbmVyLiBMSUxPIGJyeXIgc2lnIGludGUgb20gZGV0dGEsIG1lblxuIgorI34gIkRPUyBodXZ1ZHN0YXJ0cG9zdCAoTUJSKSBrYW4gZW5kYXN0IHN0YXJ0YSBlbiBow6VyZGRpc2sgbWVkIDEgYWt0aXZcbiIKKyN+ICJwYXJ0aXRpb24uXG4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgaGFzIGlkICV4IGFuZCBpcyBub3QgaGlkZGVuXG4iCisjfiBtc2dzdHIgInBhcnRpdGlvbiAlcyBoYXIgaWQgJXggb2NoIMOkciBpbnRlIGRvbGRcbiIKKworI34gbXNnaWQgIkJhZCBJZCAlbHhcbiIKKyN+IG1zZ3N0ciAiRmVsYWt0aWd0IElkICVseFxuIgorCisjfiBtc2dpZCAiRmF0YWwgZXJyb3I6IGNhbm5vdCBmaW5kICVzXG4iCisjfiBtc2dzdHIgIsOWZGVzZGlnZXJ0IGZlbDoga2FuIGludGUgaGl0dGEgJXNcbiIKKworI34gbXNnaWQgIk9LXG4iCisjfiBtc2dzdHIgIk9LXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3QgZXhpc3QsIGNhbm5vdCBjaGFuZ2UgaXRcbiIKKyN+IG1zZ3N0ciAiUGFydGl0aW9uICVkIGZpbm5zIGludGUsIGthbiBpbnRlIMOkbmRyYSBkZW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJJIGRvbid0IGxpa2UgdGhlc2UgcGFydGl0aW9ucyAtIG5vdGhpbmcgY2hhbmdlZC5cbiIKKyN+ICIoSWYgeW91IHJlYWxseSB3YW50IHRoaXMsIHVzZSB0aGUgLS1mb3JjZSBvcHRpb24uKVxuIgorI34gbXNnc3RyICIiCisjfiAiSmFnIGdpbGxhciBpbnRlIGRlc3NhIHBhcnRpdGlvbmVyIC0gaW5nZW50aW5nIMOkbmRyYWRlcy5cbiIKKyN+ICIoT20gZHUgdmVya2xpZ2VuIHZpbGwgZ8O2cmEgZGV0dGEgYsO2ciBkdSBhbnbDpG5kYSBmbGFnZ2FuIC0tZm9yY2UpLlxuIgorCisjfiBtc2dpZCAiSSBkb24ndCBsaWtlIHRoaXMgLSBwcm9iYWJseSB5b3Ugc2hvdWxkIGFuc3dlciBOb1xuIgorI34gbXNnc3RyICJKYWcgZ2lsbGFyIGludGUgZGV0dGEgLSBkdSBiw7ZyIG5vZyBzdmFyYSBuZWpcbiIKKworI34gbXNnaWQgIkFyZSB5b3Ugc2F0aXNmaWVkIHdpdGggdGhpcz8gW3lucV0gIgorI34gbXNnc3RyICLDhHIgZHUgbsO2amQgbWVkIGRldHRhPyBbeW5xXSAiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAic2ZkaXNrOiBwcmVtYXR1cmUgZW5kIG9mIGlucHV0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJzZmRpc2s6IGbDtnIgdGlkaWd0IHNsdXQgcMOlIGluZGF0YVxuIgorCisjfiBtc2dpZCAiUXVpdHRpbmcgLSBub3RoaW5nIGNoYW5nZWRcbiIKKyN+IG1zZ3N0ciAiQXZzbHV0YXIgLSBpbmdlbnRpbmcgw6RuZHJhZGVzXG4iCisKKyN+IG1zZ2lkICJQbGVhc2UgYW5zd2VyIG9uZSBvZiB5LG4scVxuIgorI34gbXNnc3RyICJTdmFyYSBtZWQgZXR0IGF2IHksIG4gZWxsZXIgcVxuIgorCisjfiBtc2dpZCAiIgorI34gIlN1Y2Nlc3NmdWxseSB3cm90ZSB0aGUgbmV3IHBhcnRpdGlvbiB0YWJsZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiTHlja2FkZXMgc2thcGEgZGVuIG55YSBwYXJ0aXRpb25zdGFiZWxsZW5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJJZiB5b3UgY3JlYXRlZCBvciBjaGFuZ2VkIGEgRE9TIHBhcnRpdGlvbiwgL2Rldi9mb283LCBzYXksIHRoZW4gdXNlIGRkKDEpXG4iCisjfiAidG8gemVybyB0aGUgZmlyc3QgNTEyIGJ5dGVzOiAgZGQgaWY9L2Rldi96ZXJvIG9mPS9kZXYvZm9vNyBicz01MTIgY291bnQ9MVxuIgorI34gIihTZWUgZmRpc2soOCkuKVxuIgorI34gbXNnc3RyICIiCisjfiAiT20gZHUgc2thcGFkZSBlbGxlciDDpG5kcmFkZSBlbiBET1MtcGFydGl0aW9uLCBsw6V0IG9zcyBzw6RnYSAvZGV2L2ZvbzcsIGLDtnJcbiIKKyN+ICJkdSBzZWRhbiBhbnbDpG5kYSBkZCgxKSBmw7ZyIGF0dCBub2xsc3TDpGxsYSBkZSBmw7Zyc3RhIDUxMiBieXRlbjpcbiIKKyN+ICJkZCBpZj0vZGV2L3plcm8gb2Y9L2Rldi9mb283IGJzPTUxMiBjb3VudD0xXG4iCisjfiAiKFNlIGZkaXNrKDgpKS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXQVJOSU5HOiBjb3VsZG4ndCBvcGVuICVzOiAlc1xuIgorI34gbXNnc3RyICIlczoga2FuIGludGUgw7ZwcG5hICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNvdWxkbid0IGFsbG9jYXRlIG1lbW9yeSBmb3IgZmlsZXN5c3RlbSB0eXBlc1xuIgorI34gbXNnc3RyICJtb3VudDogZHUgbcOlc3RlIGFuZ2UgZmlsc3lzdGVtc3R5cGVuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiBmc2NrIFstQU1OUFJUVl0gWyAtQyBbIGZkIF0gXSBbLXQgZnN0eXBlXSBbZnMtb3B0aW9uc10gW2ZpbGVzeXMgLi4uXVxuIgorI34gbXNnc3RyICJBbnbDpG5kbmluZzogbWtmcyBbLVZdIFstdCBmaWxzeXN0ZW1zdHlwXSBbZmlsc3lzdGVtc2ZsYWdnb3JdIGVuaGV0IFtzdG9ybGVrXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNvdWxkbid0IG9wZW4gJXM6ICVzXG4iCisjfiBtc2dzdHIgIkthbiBpbnRlIMO2cHBuYSAlczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmc2NrIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAiJXMgZnLDpW4gJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogVW5hYmxlIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgZnNja19wYXRoXG4iCisjfiBtc2dzdHIgIkthbiBpbnRlIGFsbG9rZXJhIGJ1ZmZlcnQgZsO2ciBpbm9kZXIiCisKKyN+IG1zZ2lkICJVc2FnZTogZ2V0b3B0IG9wdHN0cmluZyBwYXJhbWV0ZXJzXG4iCisjfiBtc2dzdHIgIkFudsOkbmRuaW5nOiBnZXRvcHQgZmxhZ2dzdHLDpG5nIHBhcmFtZXRyYXJcbiIKKworI34gbXNnaWQgIiAgICAgICBnZXRvcHQgW29wdGlvbnNdIFstLV0gb3B0c3RyaW5nIHBhcmFtZXRlcnNcbiIKKyN+IG1zZ3N0ciAiICAgICAgIGdldG9wdCBbZmxhZ2dvcl0gWy0tXSBmbGFnZ3N0csOkbmcgcGFyYW1ldHJhclxuIgorCisjfiBtc2dpZCAiICAgICAgIGdldG9wdCBbb3B0aW9uc10gLW98LS1vcHRpb25zIG9wdHN0cmluZyBbb3B0aW9uc10gWy0tXVxuIgorI34gbXNnc3RyICIgICAgICAgZ2V0b3B0IFtmbGFnZ29yXSAtb3wtLW9wdGlvbnMgZmxhZ2dzdHLDpG5nIFtmbGFnZ29yXSBbLS1dXG4iCisKKyN+IG1zZ2lkICJnZXRvcHQgKGVuaGFuY2VkKSAxLjEuNFxuIgorI34gbXNnc3RyICJnZXRvcHQgKHV0w7ZrYWQpIDEuMS40XG4iCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiAvZGV2L3BvcnQ6ICVzIgorI34gbXNnc3RyICJLYW4gaW50ZSDDtnBwbmEgL2Rldi9wb3J0OiAlcyIKKworI34gbXNnaWQgIihFeHBlY3RlZDogYFVUQycgb3IgYExPQ0FMJyBvciBub3RoaW5nLilcbiIKKyN+IG1zZ3N0ciAiKEbDtnJ2w6RudGFkZTogXCJVVENcIiBlbGxlciBcIkxPQ0FMXCIgZWxsZXIgaW5nZW50aW5nLilcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGltZSBlbGFwc2VkIHNpbmNlIHJlZmVyZW5jZSB0aW1lIGhhcyBiZWVuICUuNmYgc2Vjb25kcy5cbiIKKyN+ICJEZWxheWluZyBmdXJ0aGVyIHRvIHJlYWNoIHRoZSBuZXcgdGltZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlRpZCBzb20gaGFyIGfDpXR0IHNlZGFuIHJlZmVyZW5zdGlkZW4gw6RyICUuNmYgc2VrdW5kZXIuXG4iCisjfiAiRsO2cmRyw7ZqZXIgeXR0ZXJsaWdhcmUgZsO2ciBhdHQgbsOlIG7DpHN0YSBoZWxhIHNla3VuZC5cbiIKKworI34gbXNnaWQgIk5lZWQgdG8gaW5zZXJ0ICVkIHNlY29uZHMgYW5kIHJlZmVyIHRpbWUgYmFjayAlLjZmIHNlY29uZHMgYWdvXG4iCisjfiBtc2dzdHIgIkJlaMO2dmVyIGluZm9nYSAlZCBzZWt1bmRlciBvY2ggcmVmZXJlcmEgdGlsbGJha2EgaSB0aWRlbiAlLjZmIHNla3VuZGVyIHNlZGFuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gImh3Y2xvY2sgLSBxdWVyeSBhbmQgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayAoUlRDKVxuIgorI34gIlxuIgorI34gIlVzYWdlOiBod2Nsb2NrIFtmdW5jdGlvbl0gW29wdGlvbnMuLi5dXG4iCisjfiAiXG4iCisjfiAiRnVuY3Rpb25zOlxuIgorI34gIiAgLWggfCAtLWhlbHAgICAgICAgICBzaG93IHRoaXMgaGVscFxuIgorI34gIiAgLXIgfCAtLXNob3cgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCByZXN1bHRcbiIKKyN+ICIgICAgICAgLS1zZXQgICAgICAgICAgc2V0IHRoZSBydGMgdG8gdGhlIHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyN+ICIgIC1zIHwgLS1oY3Rvc3lzICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAgLXcgfCAtLXN5c3RvaGMgICAgICBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIHRvIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lXG4iCisjfiAiICAgICAgIC0tc3lzdHogICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgYmFzZWQgb24gdGhlIGN1cnJlbnQgdGltZXpvbmVcbiIKKyN+ICIgICAgICAgLS1hZGp1c3QgICAgICAgYWRqdXN0IHRoZSBydGMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCBzaW5jZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICB0aGUgY2xvY2sgd2FzIGxhc3Qgc2V0IG9yIGFkanVzdGVkXG4iCisjfiAiICAgICAgIC0tZ2V0ZXBvY2ggICAgIHByaW50IG91dCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWVcbiIKKyN+ICIgICAgICAgLS1zZXRlcG9jaCAgICAgc2V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZSB0byB0aGUgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGdpdmVuIHdpdGggLS1lcG9jaFxuIgorI34gIiAgICAgICAtLXByZWRpY3QgICAgICBwcmVkaWN0IHJ0YyByZWFkaW5nIGF0IHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyN+ICIgIC12IHwgLS12ZXJzaW9uICAgICAgcHJpbnQgb3V0IHRoZSB2ZXJzaW9uIG9mIGh3Y2xvY2sgdG8gc3Rkb3V0XG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczogXG4iCisjfiAiICAtdSB8IC0tdXRjICAgICAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIFVUQ1xuIgorI34gIiAgICAgICAtLWxvY2FsdGltZSAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBsb2NhbCB0aW1lXG4iCisjfiAiICAtZiB8IC0tcnRjPXBhdGggICAgIHNwZWNpYWwgL2Rldi8uLi4gZmlsZSB0byB1c2UgaW5zdGVhZCBvZiBkZWZhdWx0XG4iCisjfiAiICAgICAgIC0tZGlyZWN0aXNhICAgIGFjY2VzcyB0aGUgSVNBIGJ1cyBkaXJlY3RseSBpbnN0ZWFkIG9mICVzXG4iCisjfiAiICAgICAgIC0tYmFkeWVhciAgICAgIGlnbm9yZSBydGMncyB5ZWFyIGJlY2F1c2UgdGhlIGJpb3MgaXMgYnJva2VuXG4iCisjfiAiICAgICAgIC0tZGF0ZSAgICAgICAgIHNwZWNpZmllcyB0aGUgdGltZSB0byB3aGljaCB0byBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiICAgICAgIC0tZXBvY2g9eWVhciAgIHNwZWNpZmllcyB0aGUgeWVhciB3aGljaCBpcyB0aGUgYmVnaW5uaW5nIG9mIHRoZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgaGFyZHdhcmUgY2xvY2sncyBlcG9jaCB2YWx1ZVxuIgorI34gIiAgICAgICAtLW5vYWRqZmlsZSAgICBkbyBub3QgYWNjZXNzIC9ldGMvYWRqdGltZS4gUmVxdWlyZXMgdGhlIHVzZSBvZlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWVcbiIKKyN+ICIgICAgICAgLS1hZGpmaWxlPXBhdGggc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZSAoZGVmYXVsdCBpc1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAvZXRjL2FkanRpbWUpXG4iCisjfiAiICAgICAgIC0tdGVzdCAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IGFjdHVhbGx5IHVwZGF0aW5nIHRoZSBoYXJkd2FyZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBjbG9jayBvciBhbnl0aGluZyBlbHNlXG4iCisjfiAiICAtRCB8IC0tZGVidWcgICAgICAgIGRlYnVnIG1vZGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gImh3Y2xvY2sgLSBmcsOlZ2Egb2NoIHN0w6RsbCBpbiBow6VyZHZhcnVrbG9ja2FuIChSVEMpXG4iCisjfiAiXG4iCisjfiAiQW52w6RuZG5pbmc6IGh3Y2xvY2sgW2Z1bmt0aW9uXSBbZmxhZ2dvci4uLl1cbiIKKyN+ICJcbiIKKyN+ICJGdW5rdGlvbmVyOlxuIgorI34gIiAgLS1oZWxwICAgICAgICB2aXNhIGRlbm5hIGhqw6RscFxuIgorI34gIiAgLS1zaG93ICAgICAgICBsw6RzIGjDpXJkdmFydWtsb2NrYW4gb2NoIHNrcml2IHJlc3VsdGF0ZXRcbiIKKyN+ICIgIC0tc2V0ICAgICAgICAgc3TDpGxsIHJ0YzpuIHRpbGwgdGlkZW4gc29tIGFuZ2VzIG1lZCAtLWRhdGVcbiIKKyN+ICIgIC0taGN0b3N5cyAgICAgc3TDpGxsIHN5c3RlbXRpZGVuIGZyw6VuIGjDpXJkdmFydWtsb2NrYW5cbiIKKyN+ICIgIC0tc3lzdG9oYyAgICAgc3TDpGxsIGjDpXJkdmFydWtsb2NrYW4gdGlsbCBha3R1ZWxsIHN5c3RlbXRpZFxuIgorI34gIiAgLS1hZGp1c3QgICAgICBqdXN0ZXJhIHJ0YzpuIGbDtnIgYXR0IGtvbXBlbnNlcmEgZsO2ciBzeXN0ZW1hdGlzayBkcmFnbmluZ1xuIgorI34gIiAgICAgICAgICAgICAgICBzZWRhbiBrbG9ja2FuIHNlbmFzdCBzdMOkbGxkZXMgZWxsZXIganVzdGVyYWRlc1xuIgorI34gIiAgLS1nZXRlcG9jaCAgICBza3JpdiB1dCBrw6RybmFucyB2w6RyZGUgcMOlIGjDpXJkdmFydWtsb2NrZXBva1xuIgorI34gIiAgLS1zZXRlcG9jaCAgICBzdMOkbGwga8Okcm5hbnMgdsOkcmRlIHDDpSBow6VyZHZhcnVrbG9ja2Vwb2sgdGlsbCB2w6RyZGV0IHNvbVxuIgorI34gIiAgICAgICAgICAgICAgICBhbmdpdml0cyBtZWQgLS1lcG9jaFxuIgorI34gIiAgLS12ZXJzaW9uICAgICBza3JpdiB1dCB2ZXJzaW9uc251bXJldCBww6UgaHdjbG9jayBww6Ugc3RhbmRhcmQgdXRcbiIKKyN+ICJcbiIKKyN+ICJGbGFnZ29yOiBcbiIKKyN+ICIgIC0tdXRjICAgICAgICAgaMOlcmR2YXJ1a2xvY2thbiBow6VsbHMgaSB1bml2ZXJzYWx0aWQgKFVUQylcbiIKKyN+ICIgIC0tbG9jYWx0aW1lICAgaMOlcmR2YXJ1a2xvY2thbiBow6VsbHMgaSBsb2thbCB0aWRcbiIKKyN+ICIgIC0tcnRjPXBhdGggICAgc3BlY2lhbGZpbCAvZGV2Ly4uLiBhdHQgYW52w6RuZGEgaXN0w6RsbGV0IGbDtnIgc3RhbmRhcmRcbiIKKyN+ICIgIC0tZGlyZWN0aXNhICAgYW52w6RuZCBJU0EtYnVzc2VuIGRpcmVrdCBpc3TDpGxsZXQgZsO2ciAlc1xuIgorI34gIiAgLS1iYWR5ZWFyICAgICBpZ25vcmVyYSDDpXJldCBpIHJ0YzpuIGVmdGVyc29tIGJpb3NldCDDpHIgdHJhc2lndFxuIgorI34gIiAgLS1kYXRlICAgICAgICBhbmdlciB0aWRlbiBzb20gaMOlcmR2YXJ1a2xvY2thbiBza2Egc3TDpGxsYXMgdGlsbFxuIgorI34gIiAgLS1lcG9jaD3DpXIgICAgYW5nZXIgZGV0IMOlciBzb20gw6RyIGLDtnJqYW4gcMOlIGjDpXJkdmFydWtsb2NrYW5zIGVwb2t2w6RyZGVcbiIKKyN+ICIgIC0tbm9hZGpmaWxlICAgZsO2cnPDtmsgaW50ZSBrb21tYSDDpXQgL2V0Yy9hZGp0aW1lLiBLcsOkdmVyIGF0dCBhbnRpbmdlblxuIgorI34gIiAgICAgICAgICAgICAgICAtLXV0YyBlbGxlciAtLWxvY2FsdGltZSBhbnbDpG5kc1xuIgorCisjfiBtc2dpZCAiIgorI34gIllvdSBoYXZlIHNwZWNpZmllZCBtdWx0aXBsZSBmdW5jdGlvbnMuXG4iCisjfiAiWW91IGNhbiBvbmx5IHBlcmZvcm0gb25lIGZ1bmN0aW9uIGF0IGEgdGltZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkR1IGhhciBhbmdpdml0IGZsZXJhIGZ1bmt0aW9uZXJcbiIKKyN+ICJEdSBrYW4gYmFyYSB1dGbDtnJhIGVuIGZ1bmt0aW9uIMOldCBnw6VuZ2VuLlxuIgorCisjfiBtc2dpZCAiJXM6IFRoZSAtLXV0YyBhbmQgLS1sb2NhbHRpbWUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiAgWW91IHNwZWNpZmllZCBib3RoLlxuIgorI34gbXNnc3RyICIlczogRmxhZ2dvcm5hIC0tdXRjIG9jaCAtLWxvY2FsdGltZSDDpHIgw7Ztc2VzaWRpZ3QgdXRlc2x1dGFuZGUuIER1IGFuZ2F2IGLDpWRhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBUaGUgLS1hZGpmaWxlIGFuZCAtLW5vYWRqZmlsZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuICBZb3Ugc3BlY2lmaWVkIGJvdGguXG4iCisjfiBtc2dzdHIgIiVzOiBGbGFnZ29ybmEgLS1hZGp1c3Qgb2NoIC0tbm9hZGpmaWxlIMOkciDDtm1zZXNpZGlndCB1dGVzbHV0YW5kZS4gRHUgYW5nYXYgYsOlZGEuXG4iCisKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiBjaGFuZ2UgdGhlIEhhcmR3YXJlIENsb2NrIGVwb2NoIGluIHRoZSBrZXJuZWwuXG4iCisjfiBtc2dzdHIgIlR5dsOkcnIsIGVuZGFzdCBzdXBlcmFudsOkbmRhcmVuIGthbiDDpG5kcmEgaMOlcmR2YXJ1a2xvY2thbnMgZXBvayBpIGvDpHJuYW4uXG4iCisKKyN+IG1zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSBLREdIV0NMSyB0byBjaGFuZ2VcbiIKKyN+IG1zZ3N0ciAiVsOkbnRhciBpIHNsaW5nYW4gcMOlIGF0dCB0aWRlbiBmcsOlbiBLREdIV0NMSyBza2Egw6RuZHJhc1xuIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgdG8gcmVhZCB0aW1lIGZhaWxlZCIKKyN+IG1zZ3N0ciAiS0RHSFdDTEstaW9jdGwgZsO2ciBhdHQgbMOkc2EgdGlkIG1pc3NseWNrYWRlcyIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIHRvIHJlYWQgdGltZSBmYWlsZWQgaW4gbG9vcCIKKyN+IG1zZ3N0ciAiS0RHSFdDTEstaW9jdGwgZsO2ciBhdHQgbMOkc2EgdGlkIG1pc3NseWNrYWRlcyBpIHNsaW5nYW4iCisKKyN+IG1zZ2lkICJpb2N0bCBLRFNIV0NMSyBmYWlsZWQiCisjfiBtc2dzdHIgIktEU0hXQ0xLLWlvY3RsIG1pc3NseWNrYWRlcyIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gL2Rldi90dHkxIG9yIC9kZXYvdmMvMSIKKyN+IG1zZ3N0ciAiS2FuIGludGUgw7ZwcG5hIC9kZXYvdHR5MSBlbGxlciAvZGV2L3ZjLzEiCisKKyN+IG1zZ2lkICJyZWFkKCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCisjfiBtc2dzdHIgInJlYWQoKSBww6UgJXMgZsO2ciBhdHQgdsOkbnRhIHDDpSBrbG9ja3RpY2sgbWlzc2x5Y2thZGVzIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIG9wZW4gJXMiCisjfiBtc2dzdHIgIkthbiBpbnRlIMO2cHBuYSAlcyIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBpbml0c3RyaW5nIgorI34gbXNnc3RyICJrYW4gaW50ZSBtaW5uZXNhbGxva2VyYSBpbml0aWVyaW5nc3N0csOkbmciCisKKyN+IG1zZ2lkICJ1c2VycyIKKyN+IG1zZ3N0ciAiYW52w6RuZGFyZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFstOGhpTG1Vd10gWy1sIGxvZ2luX3Byb2dyYW1dIFstdCB0aW1lb3V0XSBbLUkgaW5pdHN0cmluZ10gWy1IIGxvZ2luX2hvc3RdIGJhdWRfcmF0ZSwuLi4gbGluZSBbdGVybXR5cGVdXG4iCisjfiAib3JcdFstaGlMbXddIFstbCBsb2dpbl9wcm9ncmFtXSBbLXQgdGltZW91dF0gWy1JIGluaXRzdHJpbmddIFstSCBsb2dpbl9ob3N0XSBsaW5lIGJhdWRfcmF0ZSwuLi4gW3Rlcm10eXBlXVxuIgorI34gbXNnc3RyICIiCisjfiAiQW52w6RuZG5pbmc6ICVzIFstOGhpTG13XSBbLWwgaW5sb2dnbmluZ3Nwcm9ncmFtXSBbLXQgdGlkc2dyw6Ruc10gWy1JIGluaXRpZXJpbmdzc3Ryw6RuZ10gWy1IIGlubG9nZ25pbmdzdsOkcmRdIGJhdWRoYXN0aWdoZXQsLi4uIGxpbmplIFt0ZXJtaW5hbHR5cF1cbiIKKyN+ICJlbGxlclx0Wy1oaUxtd10gWy1sIGlubG9nZ25pbmdzcHJvZ3JhbV0gWy10IHRpZHNncsOkbnNdIFstSSBpbml0aWVyaW5nc3N0csOkbmddIFstSCBpbmxvZ2duaW5nc3bDpHJkXSBsaW5qZSBiYXVkaGFzdGlnaGV0LC4uLiBbdGVybWluYWx0eXBdXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogbWVtb3J5IGxvdywgbG9naW4gbWF5IGZhaWxcbiIKKyN+IG1zZ3N0ciAibG9naW46IGxpdGUgbWlubmUsIGlubG9nZ25pbmcga2FuIG1pc3NseWNrYXNcbiIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBmb3IgdHR5Y2xhc3MiCisjfiBtc2dzdHIgImthbiBpbnRlIG1pbm5lc2FsbG9rZXJhIGbDtnIgdHR5Y2xhc3MiCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgZm9yIGdycGxpc3QiCisjfiBtc2dzdHIgImthbiBpbnRlIG1pbm5lc2FsbG9rZXJhIGbDtnIgZ3JwbGlzdCIKKworI34gbXNnaWQgIkxvZ2luIG9uICVzIGZyb20gJXMgZGVuaWVkLlxuIgorI34gbXNnc3RyICJJbmxvZ2duaW5nIHDDpSAlcyBmcsOlbiAlcyBuZWthcy5cbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbIC1mIGZ1bGwtbmFtZSBdIFsgLW8gb2ZmaWNlIF0gIgorI34gbXNnc3RyICJBbnbDpG5kbmluZzogJXMgWyAtZiBmdWxsc3TDpG5kaWd0LW5hbW4gXSBbIC1vIGpvYmIgXSAiCisKKyN+IG1zZ2lkICJbIC0taGVscCBdIFsgLS12ZXJzaW9uIF1cbiIKKyN+IG1zZ3N0ciAiWyAtLWhlbHAgXSBbIC0tdmVyc2lvbiBdXG4iCisKKyN+IG1zZ2lkICJDb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkLlxuIgorI34gbXNnc3RyICJLb250cm9sbHRlY2tlbiDDpHIgaW50ZSB0aWxsw6V0bmEuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFsgLXMgc2hlbGwgXSBbIC0tbGlzdC1zaGVsbHMgXSBbIC0taGVscCBdIFsgLS12ZXJzaW9uIF1cbiIKKyN+ICIgICAgICAgWyB1c2VybmFtZSBdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJBbnbDpG5kbmluZzogJXMgWyAtcyBza2FsIF0gWyAtLWxpc3Qtc2hlbGxzIF0gWyAtLWhlbHAgXSBbIC0tdmVyc2lvbiBdXG4iCisjfiAiICAgICAgIFsgYW52w6RuZGFybmFtbiBdXG4iCisKKyN+IG1zZ2lkICIlczogJyVjJyBpcyBub3QgYWxsb3dlZC5cbiIKKyN+IG1zZ3N0ciAiJXM6IFwiJWNcIiDDpHIgaW50ZSB0aWxsw6V0ZXQuXG4iCisKKyN+IG1zZ2lkICIlczogQ29udHJvbCBjaGFyYWN0ZXJzIGFyZSBub3QgYWxsb3dlZC5cbiIKKyN+IG1zZ3N0ciAiJXM6IEtvbnRyb2xsdGVja2VuIMOkciBpbnRlIHRpbGzDpXRuYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogVXNlIC1sIG9wdGlvbiB0byBzZWUgbGlzdC5cbiIKKyN+IG1zZ3N0ciAiJXM6IGFudsOkbmQgZmxhZ2dhbiAtbCBmw7ZyIGF0dCBzZSBsaXN0YW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYWlsZWQgdG8gb3BlbiAlcyBmb3IgcmVhZGluZywgZXhpdGluZy4iCisjfiBtc2dzdHIgImthbiBpbnRlIMO2cHBuYSAlcyBmw7ZyIGzDpHNuaW5nIgorCisjfiBtc2dpZCAidXNhZ2U6IGxhc3QgWy0jXSBbLWYgZmlsZV0gWy10IHR0eV0gWy1oIGhvc3RuYW1lXSBbdXNlciAuLi5dXG4iCisjfiBtc2dzdHIgImFudsOkbmRuaW5nOiBsYXN0IFstI10gWy1mIGZpbF0gWy10IHR0eV0gWy1oIHbDpHJkbmFtbl0gW2FudsOkbmRhcmUgLi4uXVxuIgorCisjfiBtc2dpZCAiICBzdGlsbCBsb2dnZWQgaW4iCisjfiBtc2dzdHIgIiAgZm9ydGZhcmFuZGUgaW5sb2dnYWQiCisKKyN+IG1zZ2lkICJsYXN0OiBtYWxsb2MgZmFpbHVyZS5cbiIKKyN+IG1zZ3N0ciAibGFzdDogbWlubmVzYWxsb2tlcmluZ3NmZWwuXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogT3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICJsb2dpbjogU2x1dCBww6UgbWlubmVcbiIKKworIyAlcyBibGlyIGjDpHIgInJvb3QiIGkgZGUgZmxlc3RhIGZhbGwgdmFkIGphZyBmw7Zyc3TDpXIKKyN+IG1zZ2lkICIlcyBsb2dpbiByZWZ1c2VkIG9uIHRoaXMgdGVybWluYWwuXG4iCisjfiBtc2dzdHIgIiVzLWlubG9nZ25pbmcgbmVrYXMgcMOlIGRlbm5hIHRlcm1pbmFsLlxuIgorCisjfiBtc2dpZCAiTE9HSU4gJXMgUkVGVVNFRCBGUk9NICVzIE9OIFRUWSAlcyIKKyN+IG1zZ3N0ciAiSU5MT0dHTklORyBBViAlcyBORUtBUyBGUsOFTiAlcyBQw4UgVFRZICVzIgorCisjfiBtc2dpZCAiTE9HSU4gJXMgUkVGVVNFRCBPTiBUVFkgJXMiCisjfiBtc2dzdHIgIklOTE9HR05JTkcgQVYgJXMgTkVLQVMgUMOFIFRUWSAlcyIKKworI34gbXNnaWQgIkxvZ2luIGluY29ycmVjdFxuIgorI34gbXNnc3RyICJGZWxha3RpZyBpbmxvZ2duaW5nXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogZmFpbHVyZSBmb3JraW5nOiAlcyIKKyN+IG1zZ3N0ciAibG9naW46IGdyZW5hbmRlIG1pc3NseWNrYWRlczogJXMiCisKKyN+IG1zZ2lkICJsb2dpbjogbm8gc2hlbGw6ICVzLlxuIgorI34gbXNnc3RyICJsb2dpbjogaW5nZXQgc2thbDogJXMuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiJXMgbG9naW46ICIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIiVzIGFudsOkbmRhcm5hbW46ICIKKworI34gbXNnaWQgImxvZ2luIG5hbWUgbXVjaCB0b28gbG9uZy5cbiIKKyN+IG1zZ3N0ciAiYW52w6RuZGFybmFtbmV0IMOkciBhbGxkZWxlcyBmw7ZyIGzDpW5ndC5cbiIKKworI34gbXNnaWQgImxvZ2luIG5hbWVzIG1heSBub3Qgc3RhcnQgd2l0aCAnLScuXG4iCisjfiBtc2dzdHIgImFudsOkbmRhcm5hbW4gZsOlciBpbnRlIGLDtnJqYSBtZWQgXCItXCIuXG4iCisKKyN+IG1zZ2lkICJFWENFU1NJVkUgbGluZWZlZWRzIgorI34gbXNnc3RyICJGw5ZSIE3DhU5HQSBueXJhZGVyIgorCisjfiBtc2dpZCAiTE9HSU4gRkFJTFVSRSBGUk9NICVzLCAlcyIKKyN+IG1zZ3N0ciAiTUlTU0xZQ0tBRCBJTkxPR0dOSU5HIEZSw4VOICVzLCAlcyIKKworI34gbXNnaWQgIkxPR0lOIEZBSUxVUkUgT04gJXMsICVzIgorI34gbXNnc3RyICJNSVNTTFlDS0FEIElOTE9HR05JTkcgUMOFICVzLCAlcyIKKworI34gbXNnaWQgIiVkIExPR0lOIEZBSUxVUkVTIEZST00gJXMsICVzIgorI34gbXNnc3RyICIlZCBNSVNTTFlDS0FERSBJTkxPR0dOSU5HQVIgRlLDhU4gJXMsICVzIgorCisjfiBtc2dpZCAiJWQgTE9HSU4gRkFJTFVSRVMgT04gJXMsICVzIgorI34gbXNnc3RyICIlZCBNSVNTTFlDS0FERSBJTkxPR0dOSU5HQVIgUMOFICVzLCAlcyIKKworI34gbXNnaWQgInVzYWdlOiBtZXNnIFt5IHwgbl1cbiIKKyN+IG1zZ3N0ciAiYW52w6RuZG5pbmc6IG1lc2cgW3kgfCBuXVxuIgorCisjfiBtc2dpZCAibmV3Z3JwOiBzZXRnaWQiCisjfiBtc2dzdHIgIm5ld2dycDogc2V0Z2lkIgorCisjfiBtc2dpZCAibmV3Z3JwOiBQZXJtaXNzaW9uIGRlbmllZCIKKyN+IG1zZ3N0ciAibmV3Z3JwOiDDhXRrb21zdCBuZWthcy4iCisKKyN+IG1zZ2lkICJuZXdncnA6IHNldHVpZCIKKyN+IG1zZ3N0ciAibmV3Z3JwOiBzZXR1aWQiCisKKyN+IG1zZ2lkICJVc2FnZTogc2h1dGRvd24gWy1ofC1yXSBbLWZxc10gW25vd3xoaDpzc3wrbWluc11cbiIKKyN+IG1zZ3N0ciAiQW52w6RuZG5pbmc6IHNodXRkb3duIFstaHwtcl0gWy1mcXNdIFtub3d8dHQ6c3N8K21pbnV0ZXJdXG4iCisKKyN+IG1zZ2lkICJTaHV0ZG93biBwcm9jZXNzIGFib3J0ZWQiCisjfiBtc2dzdHIgIk5lZHN0w6RuZ25pbmdzZsO2cmxvcHBldCBhdmJydXRldCIKKworI34gbXNnaWQgIiVzOiBPbmx5IHJvb3QgY2FuIHNodXQgYSBzeXN0ZW0gZG93bi5cbiIKKyN+IG1zZ3N0ciAiJXM6IEVuZGFzdCByb290IGthbiBzdMOkbmdhIG5lciBldHQgc3lzdGVtLlxuIgorCisjfiBtc2dpZCAiVGhhdCBtdXN0IGJlIHRvbW9ycm93LCBjYW4ndCB5b3Ugd2FpdCB0aWxsIHRoZW4/XG4iCisjfiBtc2dzdHIgIkRldCBtw6VzdGUgdmFyYSBpbW9yZ29uLCBrYW4gZHUgaW50ZSB2w6RudGEgdGlsbCBkZXNzP1xuIgorCisjfiBtc2dpZCAiZm9yIG1haW50ZW5hbmNlOyBib3VuY2UsIGJvdW5jZSIKKyN+IG1zZ3N0ciAiZsO2ciB1bmRlcmjDpWxsOyBzdHVkcywgc3R1ZHMiCisKKyN+IG1zZ2lkICJUaGUgc3lzdGVtIGlzIGJlaW5nIHNodXQgZG93biB3aXRoaW4gNSBtaW51dGVzIgorI34gbXNnc3RyICJTeXN0ZW1ldCBzdMOkbmdzIG5lciBpbm9tIDUgbWludXRlciIKKworI34gbXNnaWQgIkxvZ2luIGlzIHRoZXJlZm9yZSBwcm9oaWJpdGVkLiIKKyN+IG1zZ3N0ciAiSW5sb2dnbmluZyDDpHIgZMOkcmbDtnIgaW50ZSB0aWxsw6V0ZW4uIgorCisjfiBtc2dpZCAicmVib290ZWQgYnkgJXM6ICVzIgorI34gbXNnc3RyICJvbXN0YXJ0YWQgYXYgJXM6ICVzIgorCisjfiBtc2dpZCAiaGFsdGVkIGJ5ICVzOiAlcyIKKyN+IG1zZ3N0ciAic3Rhbm5hZCBhdiAlczogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV2h5IGFtIEkgc3RpbGwgYWxpdmUgYWZ0ZXIgcmVib290PyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlZhcmbDtnIgbGV2ZXIgamFnIGZvcnRmYXJhbmRlIGVmdGVyIG9tc3RhcnQ/IgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk5vdyB5b3UgY2FuIHR1cm4gb2ZmIHRoZSBwb3dlci4uLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk51IGthbiBkdSBzdMOkbmdhIGF2IHN0csO2bW1lbi4uLiIKKworI34gbXNnaWQgIkNhbGxpbmcga2VybmVsIHBvd2VyLW9mZiBmYWNpbGl0eS4uLlxuIgorI34gbXNnc3RyICJBbnJvcGFyIGvDpHJuYW5zIGF2c3TDpG5nbmluZ3NmYWNpbGl0ZXQuLi5cbiIKKworI34gbXNnaWQgIkVycm9yIHBvd2VyaW5nIG9mZlx0JXNcbiIKKyN+IG1zZ3N0ciAiRmVsIHZpZCBhdnN0w6RuZ25pbmdcdCVzXG4iCisKKyN+IG1zZ2lkICJFeGVjdXRpbmcgdGhlIHByb2dyYW0gXCIlc1wiIC4uLlxuIgorI34gbXNnc3RyICJLw7ZyIHByb2dyYW1tZXQgXCIlc1wiLi4uXG4iCisKKyN+IG1zZ2lkICJVUkdFTlQ6IGJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXM6IgorI34gbXNnc3RyICJCUsOFRFNLQU5ERTogbWVkZGVsYW5kZSB0aWxsIGFsbGEgZnLDpW4gJXM6IgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gJWQgaG91cnMgJWQgbWludXRlcyIKKyN+IG1zZ3N0ciAiU3lzdGVtZXQgZ8OlciBuZXIgb20gJWQgdGltbWFyIG9jaCAlZCBtaW51dGVyIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gMSBob3VyICVkIG1pbnV0ZXMiCisjfiBtc2dzdHIgIlN5c3RlbWV0IGfDpXIgbmVyIG9tIDEgdGltbWUgb2NoICVkIG1pbnV0ZXIiCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAlZCBtaW51dGVzXG4iCisjfiBtc2dzdHIgIlN5c3RlbWV0IGfDpXIgbmVyIG9tICVkIG1pbnV0ZXJcbiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluIDEgbWludXRlXG4iCisjfiBtc2dzdHIgIlN5c3RlbWV0IGfDpXIgbmVyIG9tIDEgbWludXRcbiIKKworIyBtc2dpZCAiXGFVUkdFTlQ6IGJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXM6IgorIyBtc2dzdHIgIiIKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBJTU1FRElBVEVMWSFcbiIKKyN+IG1zZ3N0ciAiU3lzdGVtZXQgZ8OlciBuZXIgT01FREVMQkFSVCFcbiIKKworI34gbXNnaWQgIlx0Li4uICVzIC4uLlxuIgorI34gbXNnc3RyICJcdC4uLiAlcy4uLlxuIgorCisjfiBtc2dpZCAiQ2Fubm90IGZvcmsgZm9yIHN3YXBvZmYuIFNocnVnISIKKyN+IG1zZ3N0ciAiS2FuIGludGUgZ3JlbmEgZsO2ciBzd2Fwb2ZmLiBTdWNrISIKKworI34gbXNnaWQgIkNhbm5vdCBleGVjIHN3YXBvZmYsIGhvcGluZyB1bW91bnQgd2lsbCBkbyB0aGUgdHJpY2suIgorI34gbXNnc3RyICJLYW4gaW50ZSBrw7ZyYSBzd2Fwb2ZmLCBob3BwYXMgYXR0IHVtb3VudCBmaXhhciBkZXQuIgorCisjfiBtc2dpZCAiQ2Fubm90IGZvcmsgZm9yIHVtb3VudCwgdHJ5aW5nIG1hbnVhbGx5LiIKKyN+IG1zZ3N0ciAiS2FuIGludGUgZ3JlbmEgZsO2ciB1bW91bnQsIGbDtnJzw7ZrZXIgbWFudWVsbHQuIgorCisjfiBtc2dpZCAiQ2Fubm90IGV4ZWMgJXMsIHRyeWluZyB1bW91bnQuXG4iCisjfiBtc2dzdHIgIkthbiBpbnRlIGvDtnJhICVzLCBmw7Zyc8O2a2VyIG1lZCB1bW91bnQuXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyB1bW91bnQsIGdpdmluZyB1cCBvbiB1bW91bnQuIgorI34gbXNnc3RyICJLYW4gaW50ZSBrw7ZyYSB1bW91bnQsIGdlciB1cHAgbWVkIHVtb3VudC4iCisKKyN+IG1zZ2lkICJzaHV0ZG93bjogQ291bGRuJ3QgdW1vdW50ICVzOiAlc1xuIgorI34gbXNnc3RyICJzaHV0ZG93bjogS3VuZGUgaW50ZSBhdm1vbnRlcmEgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJCb290aW5nIHRvIHNpbmdsZSB1c2VyIG1vZGUuXG4iCisjfiBtc2dzdHIgIlN0YXJ0YXIgaSBlbmFudsOkbmRhcmzDpGdlLlxuIgorCisjfiBtc2dpZCAiZXhlYyBvZiBzaW5nbGUgdXNlciBzaGVsbCBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAia8O2cm5pbmcgYXYgZW5hbnbDpG5kYXJza2FsIG1pc3NseWNrYWRlc1xuIgorCisjfiBtc2dpZCAiZm9yayBvZiBzaW5nbGUgdXNlciBzaGVsbCBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAiZ3JlbmluZyBhdiBlbmFudsOkbmRhcnNrYWwgbWlzc2x5Y2thZGVzXG4iCisKKyN+IG1zZ2lkICJlcnJvciBvcGVuaW5nIGZpZm9cbiIKKyN+IG1zZ3N0ciAiZmVsIHZpZCDDtnBwbmFuZGUgYXYgZmlmb1xuIgorCisjfiBtc2dpZCAiZXJyb3Igc2V0dGluZyBjbG9zZS1vbi1leGVjIG9uIC9kZXYvaW5pdGN0bCIKKyN+IG1zZ3N0ciAiZmVsIHZpZCBpbnN0w6RsbG5pbmcgYXYgY2xvc2Utb24tZXhlYyBww6UgL2Rldi9pbml0Y3RsIgorCisjfiBtc2dpZCAiZXJyb3IgcnVubmluZyBmaW5hbHByb2dcbiIKKyN+IG1zZ3N0ciAiZmVsIHZpZCBrw7ZybmluZyBhdiBmaW5hbHByb2dcbiIKKworI34gbXNnaWQgImVycm9yIGZvcmtpbmcgZmluYWxwcm9nXG4iCisjfiBtc2dzdHIgImZlbCB2aWQgZ3JlbmluZyBhdiBmaW5hbHByb2dcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXcm9uZyBwYXNzd29yZC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkZlbCBsw7ZzZW5vcmQuXG4iCisKKyN+IG1zZ2lkICJsc3RhdCBvZiBwYXRoIGZhaWxlZFxuIgorI34gbXNnc3RyICJsc3RhdCgpIHDDpSBzw7ZrdsOkZyBtaXNzbHlja2FkZXNcbiIKKworI34gbXNnaWQgImZvcmsgZmFpbGVkXG4iCisjfiBtc2dzdHIgImdyZW5pbmcgbWlzc2x5Y2thZGVzXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBpbml0dGFiXG4iCisjfiBtc2dzdHIgImthbiBpbnRlIMO2cHBuYSBpbml0dGFiXG4iCisKKyN+IG1zZ2lkICJubyBURVJNIG9yIGNhbm5vdCBzdGF0IHR0eVxuIgorI34gbXNnc3RyICJpbmdlbiBURVJNIGVsbGVyIGthbiBpbnRlIHRhIHN0YXR1cyBww6UgdHR5XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgYXQgc3RvcHBpbmcgc2VydmljZSBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAiZmVsIHZpZCBzdG9wcGFuZGUgYXYgdGrDpG5zdDogXCIlc1wiIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlN0b3BwZWQgc2VydmljZTogJXNcbiIKKyN+IG1zZ3N0ciAiZmVsIHZpZCBzdG9wcGFuZGUgYXYgdGrDpG5zdDogXCIlc1wiIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIGF0IHN0YXJ0aW5nIHNlcnZpY2UgXCIlc1wiXG4iCisjfiBtc2dzdHIgImZlbCB2aWQgc3RvcHBhbmRlIGF2IHRqw6Ruc3Q6IFwiJXNcIiIKKworI34gbXNnaWQgInRvbyBtYW55IGlvdidzIChjaGFuZ2UgY29kZSBpbiB3YWxsL3R0eW1zZy5jKSIKKyN+IG1zZ3N0ciAiZsO2ciBtw6VuZ2EgaW92ICjDpG5kcmEga29kIGkgd2FsbC90dHltc2cuYykiCisKKyN+IG1zZ2lkICIlczogQkFEIEVSUk9SIgorI34gbXNnc3RyICIlczogQUxMVkFSTElHVCBGRUwiCisKKyN+IG1zZ2lkICIlczogdGhlIGdyb3VwIGZpbGUgaXMgYnVzeS5cbiIKKyN+IG1zZ3N0ciAiJXM6IGdydXBwZmlsZW4gw6RyIHVwcHRhZ2VuLlxuIgorCisjIF8oIiVzOiB0aGUgJXMgZmlsZSBpcyBidXN5ICglcyBwcmVzZW50KVxuIiksCisjIAlwcm9nbmFtZSwKKyMgCXByb2dyYW0gPT0gVklQVyA/ICJwYXNzd29yZCIgOiAiZ3JvdXAiLAorIyAJdG1wX2ZpbGUpOworIworIyBEZXR0YSDDpHIgdHJhc2lndCAtIFRoaXMgaXMgYnJva2VuCisjIC0KKyMgRGVsYSBhbGRyaWcgdXBwIGV0dCBtZWRkZWxhbmRlIHPDpSBow6RyLCBhbnbDpG5kIHR2w6UgbWVkZGVsYW5kZW4gaXN0w6RsbGV0CisjIC0KKyMgTmV2ZXIgc3BsaXQgYSBzZW50ZW5jZSBsaWtlIHRoaXMsIHVzZSB0d28gZnVsbCBtZXNzYWdlcyBpbnN0ZWFkCisjCisjfiBtc2dpZCAiJXM6IHRoZSAlcyBmaWxlIGlzIGJ1c3kgKCVzIHByZXNlbnQpXG4iCisjfiBtc2dzdHIgIiVzOiBmaWxlbiAlcyDDpHIgdXBwdGFnZW4gKCVzIGZpbm5zKVxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IGxpbmsgJXM6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBrYW4gaW50ZSBsw6Rua2EgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3QgdW5sb2NrICVzOiAlcyAoeW91ciBjaGFuZ2VzIGFyZSBzdGlsbCBpbiAlcylcbiIKKyN+IG1zZ3N0ciAiJXM6IGthbiBpbnRlIGzDpXNhIHVwcCAlczogJXMgKGRpbmEgw6RuZHJpbmdhciDDpHIgZm9ydGZhcmFuZGUgaSAlcylcbiIKKworI34gbXNnaWQgIiVzOiBDYW5ub3QgZm9ya1xuIgorI34gbXNnc3RyICIlczogS2FuIGludGUgZ3JlbmFcbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAiYW52w6RuZG5pbmc6ICVzIFtmaWxdXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3QgcmVhZCAlcy5cbiIKKyN+IG1zZ3N0ciAiJXM6IGthbiBpbnRlIGzDpHNhICVzLlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHN0YXQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVzOiBrYW4gaW50ZSB0YSBzdGF0dXMgcMOlIHRlbXBvcsOkciBmaWwuXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3QgcmVhZCB0ZW1wb3JhcnkgZmlsZS5cbiIKKyN+IG1zZ3N0ciAiJXM6IGthbiBpbnRlIGzDpHNhIHRlbXBvcsOkciBmaWwuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IGNhbCBbLTEzc21qeVZdIFtbW2RheV0gbW9udGhdIHllYXJdXG4iCisjfiBtc2dzdHIgImFudsOkbmRuaW5nOiBjYWwgWy0xM3NtanlWXSBbW23DpW5hZF0gw6VyXVxuIgorCisjfiBtc2dpZCAiU3QuIFRpYidzIERheSIKKyN+IG1zZ3N0ciAiU3QuIFRpYnMgRGFnIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgZmluZG1udCgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkbDtnIgbWVyIGluZm9ybWF0aW9uLCBzZSBzZXRhcmNoKDgpLlxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLXMgc2lnbmFsIHwgLXAgXSBbIC1hIF0gcGlkIC4uLlxuIgorI34gbXNnc3RyICJhbnbDpG5kbmluZzogJXMgWyAtcyBzaWduYWwgfCAtcCBdIFsgLWEgXSBwaWQgLi4uXG4iCisKKyN+IG1zZ2lkICIgICAgICAgJXMgLWwgWyBzaWduYWwgXVxuIgorI34gbXNnc3RyICIgICAgICAgJXMgLWwgWyBzaWduYWwgXVxuIgorCisjfiBtc2dpZCAibG9nZ2VyOiAlczogJXMuXG4iCisjfiBtc2dzdHIgImxvZ2dlcjogJXM6ICVzLlxuIgorCisjfiBtc2dpZCAidXNhZ2U6IGxvZ2dlciBbLWlzXSBbLWYgZmlsZV0gWy1wIHByaV0gWy10IHRhZ10gWy11IHNvY2tldF0gWyBtZXNzYWdlIC4uLiBdXG4iCisjfiBtc2dzdHIgImFudsOkbmRuaW5nOiBsb2dnZXIgWy1pc10gWy1mIGZpbF0gWy1wIHByaV0gWy10IHRhZ2ddIFstdSB1dHRhZ10gWyBtZWRkZWxhbmRlIC4uLiBdXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogbG9vayBbLWRmYV0gWy10IGNoYXJdIHN0cmluZyBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAiYW52w6RuZG5pbmc6IGxvb2sgWy1kZmFdIFstdCB0ZWNrZW5dIHN0csOkbmcgW2ZpbF1cbiIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBvcGVuICVzXG4iCisjfiBtc2dzdHIgIkt1bmRlIGludGUgw7ZwcG5hICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeT8iCisjfiBtc2dzdHIgInNsdXQgcMOlIG1pbm5lP1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbmFtZWkoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJGw7ZyIG1lciBpbmZvcm1hdGlvbiwgc2Ugc2V0YXJjaCg4KS5cbiIKKworI34gbXNnaWQgIiVzOiBvdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgIiVzOiBzbHV0IHDDpSBtaW5uZVxuIgorCisjfiBtc2dpZCAiY2FsbDogJXMgZnJvbSB0byBmaWxlcy4uLlxuIgorI34gbXNnc3RyICJhbnJvcGE6ICVzIGZyw6VuIHRpbGwgZmlsZXIuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogc2NyaXB0IFstYV0gWy1lXSBbLWZdIFstcV0gWy10XSBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAiYW52w6RuZG5pbmc6IHNjcmlwdCBbLWFdIFstZl0gWy1xXSBbLXRdIFtmaWxdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHdyaXRlIGVycm9yICVkOiAlc1xuIgorI34gbXNnc3RyICJza3JpdmZlbCBww6UgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogd3JpdGUgZXJyb3I6ICVzXG4iCisjfiBtc2dzdHIgInNrcml2ZmVsIHDDpSAlc1xuIgorCisjfiBtc2dpZCAiJXM6IEFyZ3VtZW50IGVycm9yLCB1c2FnZVxuIgorI34gbXNnc3RyICIlczogQXJndW1lbnRmZWwsIGFudsOkbmRuaW5nXG4iCisKKyN+IG1zZ2lkICIgIFsgLXRlcm0gdGVybWluYWxfbmFtZSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtdGVybSB0ZXJtaW5hbG5hbW4gXVxuIgorCisjfiBtc2dpZCAiICBbIC1yZXNldCBdXG4iCisjfiBtc2dzdHIgIiAgWyAtcmVzZXQgXVxuIgorCisjfiBtc2dpZCAiICBbIC1pbml0aWFsaXplIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1pbml0aWFsaXplIF1cbiIKKworI34gbXNnaWQgIiAgWyAtY3Vyc29yIFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1jdXJzb3IgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1zbm93IFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1zbm93IFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtc29mdHNjcm9sbCBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtc29mdHNjcm9sbCBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXJlcGVhdCBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtcmVwZWF0IFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtYXBwY3Vyc29ya2V5cyBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtYXBwY3Vyc29ya2V5cyBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWxpbmV3cmFwIFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1saW5ld3JhcCBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWRlZmF1bHQgXVxuIgorI34gbXNnc3RyICIgIFsgLWRlZmF1bHQgXVxuIgorCisjfiBtc2dpZCAiICBbIC1mb3JlZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1mb3JlZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdCBdXG4iCisjfiBtc2dzdHIgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdCBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWJhY2tncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWJhY2tncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAiICBbIC11bGNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLXVsY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlIF1cbiIKKyN+IG1zZ3N0ciAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXVsY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC11bGNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLWhiY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtaGJjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtaGJjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWhiY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtc3RhbmRvdXQgWyBhdHRyIF0gXVxuIgorI34gbXNnc3RyICIgIFsgLXN0YW5kb3V0IFsgYXR0ciBdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtaW52ZXJzZXNjcmVlbiBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtaW52ZXJzZXNjcmVlbiBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWJvbGQgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLWJvbGQgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1ibGluayBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtYmxpbmsgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1yZXZlcnNlIFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1yZXZlcnNlIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtc3RvcmUgXVxuIgorI34gbXNnc3RyICIgIFsgLXN0b3JlIF1cbiIKKworI34gbXNnaWQgIiAgWyAtY2xlYXIgW2FsbHxyZXN0XSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtY2xlYXIgW2FsbHxyZXN0XSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXRhYnMgWyB0YWIxIHRhYjIgdGFiMyAuLi4gXSBdICAgICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+IG1zZ3N0ciAiICBbIC10YWJzIFsgdGFiYjEgdGFiYjIgdGFiYjMgLi4uIF0gXSAgICAgICh0YWJibnVtbWVyID0gMS0xNjApXG4iCisKKyN+IG1zZ2lkICIgIFsgLWNscnRhYnMgWyB0YWIxIHRhYjIgdGFiMyAuLi4gXSBdICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+IG1zZ3N0ciAiICBbIC1jbHJ0YWJzIFsgdGFiYjEgdGFiYjIgdGFiYjMgLi4uIF0gXSAgICh0YWJibnVtbWVyID0gMS0xNjApXG4iCisKKyN+IG1zZ2lkICIgIFsgLXJlZ3RhYnMgWzEtMTYwXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtcmVndGFicyBbMS0xNjBdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgIFsgLWJsYW5rIFswLTYwfGZvcmNlfHBva2VdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1ibGFuayBbMC02MF0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1kdW1wICAgWzEtTlJfQ09OU09MRVNdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1kdW1wICAgWzEtQU5UQUxfS09OU09MTEVSXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWFwcGVuZCBbMS1OUl9DT05TT0xFU10gXVxuIgorI34gbXNnc3RyICIgIFsgLWFwcGVuZCBbMS1BTlRBTF9LT05TT0xMRVJdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtZmlsZSBkdW1wZmlsZW5hbWUgXVxuIgorI34gbXNnc3RyICIgIFsgLWZpbGUgZHVtcGZpbG5hbW4gXVxuIgorCisjfiBtc2dpZCAiICBbIC1tc2cgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLW1zZyBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLW1zZ2xldmVsIFswLThdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1tc2dsZXZlbCBbMC04XSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXBvd2VyZG93biBbMC02MF0gXVxuIgorI34gbXNnc3RyICIgIFsgLXBvd2VyZG93biBbMC02MF0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1ibGVuZ3RoIFswLTIwMDBdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1ibGVuZ3RoIFswLTIwMDBdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtYmZyZXEgZnJlcW51bWJlciBdXG4iCisjfiBtc2dzdHIgIiAgWyAtYmZyZXEgZnJla3ZlbnNudW1tZXIgXVxuIgorCisjfiBtc2dpZCAiRXJyb3Igd3JpdGluZyBzY3JlZW5kdW1wXG4iCisjfiBtc2dzdHIgIkZlbCB2aWQgc2tyaXZuaW5nIGF2IHNrw6RybWR1bXBcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1kXSBbLXAgcGlkZmlsZV0gWy1zIHNvY2tldHBhdGhdIFstVCB0aW1lb3V0XVxuIgorI34gbXNnc3RyICJhbnbDpG5kbmluZzogbGFzdCBbLSNdIFstZiBmaWxdIFstdCB0dHldIFstaCB2w6RyZG5hbW5dIFthbnbDpG5kYXJlIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgJXMgLWtcbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIC1sIFsgc2lnbmFsIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYWlsZWQgdG8gb3Blbi9jcmVhdGUgJXM6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCDDtnBwbmE6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmFpbGVkIHRvIGxvY2sgJXM6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCDDtnBwbmE6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQmFkIG51bWJlcjogJXNcbiIKKyN+IG1zZ3N0ciAiT2dpbHRpZ3QgdGFsOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLXJdIFstdF1cbiIKKyN+IG1zZ3N0ciAiYW52w6RuZG5pbmc6ICVzIFtmaWxdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV0FSTklORzogJXM6IGFwcGVhcnMgdG8gY29udGFpbiAnJXMnIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiRGlzayAlcyBpbm5laMOlbGxlciBpbnRlIGVuIGdpbHRpZyBwYXJ0aXRpb25zdGFiZWxsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBvZmZzZXQgdmFsdWUgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIk9naWx0aWd0IGluc3TDpGxsdCB2w6RyZGU6ICVzXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogd3JpdGUgdXNlciBbdHR5XVxuIgorI34gbXNnc3RyICJhbnbDpG5kbmluZzogd3JpdGUgYW52w6RuZGFyZSBbdHR5XVxuIgorCisjfiBtc2dpZCAid2FybmluZzogZXJyb3IgcmVhZGluZyAlczogJXMiCisjfiBtc2dzdHIgInZhcm5pbmc6IGZlbCB2aWQgbMOkc25pbmcgYXYgJXM6ICVzIgorCisjfiBtc2dpZCAid2FybmluZzogY2FuJ3Qgb3BlbiAlczogJXMiCisjfiBtc2dzdHIgInZhcm5pbmc6IGthbiBpbnRlIMO2cHBuYSAlczogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY291bGQgbm90IG9wZW4gJXMgLSB1c2luZyAlcyBpbnN0ZWFkXG4iCisjfiBtc2dzdHIgIm1vdW50OiBrdW5kZSBpbnRlIMO2cHBuYSAlcyAtIGFudsOkbmRlciAlcyBpc3TDpGxsZXRcbiIKKworI34gbXNnaWQgImNhbid0IGNyZWF0ZSBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgImthbiBpbnRlIHNrYXBhIGzDpXNmaWxlbiAlczogJXMgKGFudsOkbmQgZmxhZ2dhbiAtbiBmw7ZyIGF0dCDDpXNpZG9zw6R0dGEpIgorCisjfiBtc2dpZCAiY2FuJ3QgbGluayBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgImthbiBpbnRlIGzDpG5rYSBsw6VzZmlsZW4gJXM6ICVzIChhbnbDpG5kIGZsYWdnYW4gLW4gZsO2ciBhdHQgw6VzaWRvc8OkdHRhKSIKKworI34gbXNnaWQgImNhbid0IG9wZW4gbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICJrYW4gaW50ZSDDtnBwbmEgbMOlc2ZpbGVuICVzOiAlcyAoYW52w6RuZCBmbGFnZ2FuIC1uIGbDtnIgYXR0IMOlc2lkb3PDpHR0YSkiCisKKyN+IG1zZ2lkICJDYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiS2FuIGludGUgbMOlc2EgbMOlc2ZpbGVuICVzOiAlc1xuIgorCisjfiBtc2dpZCAiY2FuJ3QgbG9jayBsb2NrIGZpbGUgJXM6ICVzIgorI34gbXNnc3RyICJrYW4gaW50ZSBsw6VzYSBsw6VzZmlsZW4gJXM6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIkNhbm5vdCBjcmVhdGUgbGluayAlc1xuIgorI34gIlBlcmhhcHMgdGhlcmUgaXMgYSBzdGFsZSBsb2NrIGZpbGU/XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJLYW4gaW50ZSBza2FwYSBsw6Rua2VuICVzXG4iCisjfiAiRGV0IGZpbm5zIGthbnNrZSBlbiBrdmFyZ2zDtm1kIGzDpXNmaWw/XG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyAoJXMpIC0gbXRhYiBub3QgdXBkYXRlZCIKKyN+IG1zZ3N0ciAia2FuIGludGUgw7ZwcG5hICVzICglcykgLSBtdGFiIHVwcGRhdGVyYWRlcyBpbnRlIgorCisjfiBtc2dpZCAiZXJyb3IgY2hhbmdpbmcgbW9kZSBvZiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiZmVsIHZpZCBieXRlIGF2IHLDpHR0aWdoZXRlciBww6UgJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgY2hhbmdpbmcgb3duZXIgb2YgJXM6ICVzXG4iCisjfiBtc2dzdHIgImZlbCB2aWQgYnl0ZSBhdiByw6R0dGlnaGV0ZXIgcMOlICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxvb3A6IGNhbid0IHNldCBjYXBhY2l0eSBvbiBkZXZpY2UgJXM6ICVzXG4iCisjfiBtc2dzdHIgImxvb3A6IGthbiBpbnRlIGbDpSB0YWcgaSBpbmZvcm1hdGlvbiBvbSBlbmhldGVuICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiwgb2Zmc2V0ICU8UFJJdTY0PiIKKyN+IG1zZ3N0ciAiLCBhdnN0w6VuZCAlZCIKKworI34gbXNnaWQgIiwgZW5jcnlwdGlvbiB0eXBlICVkXG4iCisjfiBtc2dzdHIgIiwga3J5cHRlcmluZ3N0eXAgJWRcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IGdldCBpbmZvIG9uIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDoga2FuIGludGUgZsOlIHRhZyBpIGluZm9ybWF0aW9uIG9tIGVuaGV0ZW4gJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBvcGVuIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDoga2FuIGludGUgw7ZwcG5hIGVuaGV0ZW4gJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IC9kZXYgZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0LiIKKyN+IG1zZ3N0ciAiJXM6IGFudsOkbmRhcmVuIFwiJXNcIiBmaW5ucyBpbnRlLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBubyBwZXJtaXNzaW9uIHRvIGxvb2sgYXQgL2Rldi9sb29wJXM8Tj4iCisjfiBtc2dzdHIgIiVzOiBpbmdhIHLDpHR0aWdoZXRlciBhdHQgZ3JhbnNrYSAvZGV2L2xvb3AjIgorCisjfiBtc2dpZCAiIgorI34gIiVzOiBDb3VsZCBub3QgZmluZCBhbnkgbG9vcCBkZXZpY2UuIE1heWJlIHRoaXMga2VybmVsIGRvZXMgbm90IGtub3dcbiIKKyN+ICIgICAgICAgYWJvdXQgdGhlIGxvb3AgZGV2aWNlPyAoSWYgc28sIHJlY29tcGlsZSBvciBgbW9kcHJvYmUgbG9vcCcuKSIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBLdW5kZSBpbnRlIGhpdHRhIG7DpWdvbiBzbGluZ2VuaGV0LiBEZW5uYSBrw6RybmEga8Okbm5lciBrYW5za2UgaW50ZVxuIgorI34gIiAgICAgICB0aWxsIHNsaW5nZW5oZXRlbj8gKE9tIGRldCDDpHIgc8OlIGLDtnIgZHUga29tcGlsZXJhIG9tIGVsbGVyXG4iCisjfiAiICAgICAgIFwibW9kcHJvYmUgbG9vcFwiKS4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSB3aGlsZSByZWFkaW5nIHBhc3NwaHJhc2UiCisjfiBtc2dzdHIgIlNsdXQgcMOlIG1pbm5lIHZpZCB2w6R4YW5kZSBhdiBidWZmZXJ0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhcm5pbmc6ICVzIGlzIGFscmVhZHkgYXNzb2NpYXRlZCB3aXRoICVzXG4iCisjfiBtc2dzdHIgIlNla3RvciAlZCDDpHIgcmVkYW4gYWxsb2tlcmFkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2FybmluZzogJXM6IGlzIHdyaXRlLXByb3RlY3RlZCwgdXNpbmcgcmVhZC1vbmx5LlxuIgorI34gbXNnc3RyICJtb3VudDogJXMlcyDDpHIgc2tyaXZza3lkZGFkLCBtb250ZXJhciBzb20gZW5kYXN0IGzDpHNiYXIiCisKKyN+IG1zZ2lkICJDb3VsZG4ndCBsb2NrIGludG8gbWVtb3J5LCBleGl0aW5nLlxuIgorI34gbXNnc3RyICJLdW5kZSBpbnRlIGzDpXNhIGkgbWlubmUsIGF2c2x1dGFyLlxuIgorCisjfiBtc2dpZCAiaW9jdGwgTE9PUF9TRVRfRkQgZmFpbGVkOiAlc1xuIgorI34gbXNnc3RyICJpb2N0bCBMT09QX1NFVF9GRCBtaXNzbHlja2FkZXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2V0X2xvb3AoJXMsJXMsJWxsdSwlbGx1KTogc3VjY2Vzc1xuIgorI34gbXNnc3RyICJzZXRfbG9vcCglcywlcywlbGx1KTogbHlja2FkZXNcbiIKKworI34gbXNnaWQgImRlbF9sb29wKCVzKTogc3VjY2Vzc1xuIgorI34gbXNnc3RyICJkZWxfbG9vcCglcyk6IGx5Y2thZGVzXG4iCisKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBkZWxldGUgZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBrYW4gaW50ZSB0YSBib3J0IGVuaGV0ZW4gJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJUaGlzIG1vdW50IHdhcyBjb21waWxlZCB3aXRob3V0IGxvb3Agc3VwcG9ydC4gUGxlYXNlIHJlY29tcGlsZS5cbiIKKyN+IG1zZ3N0ciAiRGVubmEgbW91bnQga29tcGlsZXJhZGVzIHV0YW4gc3TDtmQgZsO2ciBzbGluZ29yLiBEdSBiw7ZyIGtvbXBpbGVyYSBvbS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICUxJHMgbG9vcF9kZXZpY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdpdmUgaW5mb1xuIgorI34gIiAlMSRzIC1hIHwgLS1hbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkXG4iCisjfiAiICUxJHMgLWQgfCAtLWRldGFjaCA8bG9vcGRldj4gWzxsb29wZGV2PiAuLi5dIGRlbGV0ZVxuIgorI34gIiAlMSRzIC1mIHwgLS1maW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaW5kIHVudXNlZFxuIgorI34gIiAlMSRzIC1jIHwgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICAgICAgICAgICByZXNpemVcbiIKKyN+ICIgJTEkcyAtaiB8IC0tYXNzb2NpYXRlZCA8ZmlsZT4gWy1vIDxudW0+XSAgICAgbGlzdCBhbGwgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorI34gIiAlMSRzIFsgb3B0aW9ucyBdIHstZnwtLWZpbmR8bG9vcGRldn0gPGZpbGU+ICBzZXR1cFxuIgorI34gbXNnc3RyICIiCisjfiAiYW52w6RuZG5pbmc6XG4iCisjfiAiICAlcyBzbGluZ2VuaGV0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgZ2UgaW5mb3JtYXRpb25cbiIKKyN+ICIgICVzIC1kIHNsaW5nZW5oZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyB0YSBib3J0XG4iCisjfiAiICAlcyAtZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgaGl0dGEgbGVkaWdcbiIKKyN+ICIgICVzIFstZSBrcnlwdGVyaW5nXSBbLW8gYXZzdMOlbmRdIHstZnxzbGluZ2VuaGV0fSBmaWwgICMga29uZmlndXJhdGlvblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtZSB8IC0tZW5jcnlwdGlvbiA8dHlwZT4gZW5hYmxlIGRhdGEgZW5jcnlwdGlvbiB3aXRoIHNwZWNpZmllZCA8bmFtZS9udW0+XG4iCisjfiAiIC1oIHwgLS1oZWxwICAgICAgICAgICAgICB0aGlzIGhlbHBcbiIKKyN+ICIgLW8gfCAtLW9mZnNldCA8bnVtPiAgICAgIHN0YXJ0IGF0IG9mZnNldCA8bnVtPiBpbnRvIGZpbGVcbiIKKyN+ICIgICAgICAtLXNpemVsaW1pdCA8bnVtPiAgIGxvb3AgbGltaXRlZCB0byBvbmx5IDxudW0+IGJ5dGVzIG9mIHRoZSBmaWxlXG4iCisjfiAiIC1wIHwgLS1wYXNzLWZkIDxudW0+ICAgICByZWFkIHBhc3NwaHJhc2UgZnJvbSBmaWxlIGRlc2NyaXB0b3IgPG51bT5cbiIKKyN+ICIgLXIgfCAtLXJlYWQtb25seSAgICAgICAgIHNldHVwIHJlYWQtb25seSBsb29wIGRldmljZVxuIgorI34gIiAgICAgIC0tc2hvdyAgICAgICAgICAgICAgcHJpbnQgZGV2aWNlIG5hbWUgKHdpdGggLWYgPGZpbGU+KVxuIgorI34gIiAtdiB8IC0tdmVyYm9zZSAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJBbnbDpG5kbmluZzpcbiIKKyN+ICIgJTEkcyBzbGluZ2VuaGV0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGdlIGluZm9cbiIKKyN+ICIgJTEkcyAtYSB8IC0tYWxsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGxpc3RhIGFsbGEgYW52w6RuZGFcbiIKKyN+ICIgJTEkcyAtZCB8IC0tZGV0YWNoIHNsaW5nZW5oZXQgICAgICAgICAgICAgICAgICAgICAjIHRhIGJvcnRcbiIKKyN+ICIgJTEkcyAtZiB8IC0tZmluZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGhpdHRhIG9hbnbDpG5kYVxuIgorI34gIiAlMSRzIFsgZmxhZ2dvciBdIHstZnwtLWZpbmR8c2xpbmdlbmhldH0gZmlsICAgICAgICMga29uZmlndXJlcmFcbiIKKyN+ICJcbiIKKyN+ICJGbGFnZ29yOlxuIgorI34gIiAtZSB8IC0tZW5jcnlwdGlvbiA8dHlwPiAgYWt0aXZlcmEgZGF0YWtyeXB0ZXJpbmcgbWVkIGFuZ2l2ZXQgPG5hbW4vbnVtPlxuIgorI34gIiAtaCB8IC0taGVscCAgICAgICAgICAgICAgZGVuIGjDpHIgaGrDpGxwZW5cbiIKKyN+ICIgLW8gfCAtLW9mZnNldCA8bnVtPiAgICAgIHN0YXJ0YSBww6Ugb2Zmc2V0IDxudW0+IGkgZmlsZW5cbiIKKyN+ICIgLXAgfCAtLXBhc3MtZmQgPG51bT4gICAgIGzDpHMgbMO2c2VuZnJhcyBmcsOlbiBmaWxpZGVudGlmaWVyYXJlIDxudW0+XG4iCisjfiAiIC1yIHwgLS1yZWFkLW9ubHkgICAgICAgICBrb25maWd1cmVyYSBza3JpdnNreWRkYWQgc2xpbmdlbmhldFxuIgorI34gIiAtcyB8IC0tc2hvdyAgICAgICAgICAgICAgc2tyaXYgdXQgZW5oZXRzbmFtbiAobWVkIC1mIDxmaWw+KVxuIgorI34gIiAtdiB8IC0tdmVyYm9zZSAgICAgICAgICAgaW5mb3JtYXRpdnQgbMOkZ2VcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdG9sZW4gbG9vcD0lcy4uLnRyeWluZyBhZ2FpblxuIgorI34gbXNnc3RyICJtb3VudDogc3R1bGVuIGxvb3A9JXMgLi4uZsO2cnPDtmtlciBpZ2VuXG4iCisKKyN+IG1zZ2lkICJObyBsb29wIHN1cHBvcnQgd2FzIGF2YWlsYWJsZSBhdCBjb21waWxlIHRpbWUuIFBsZWFzZSByZWNvbXBpbGUuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJJbmdldCBzdMO2ZCBmw7ZyIHNsaW5nb3IgZmFubnMgdGlsbGfDpG5nbGlndCB2aWQga29tcGlsZXJpbmdlbi4gRHUgYsO2clxuIgorI34gImtvbXBpbGVyYSBvbS5cbiIKKworI34gbXNnaWQgIm1vdW50OiBpbXByb3Blcmx5IHF1b3RlZCBvcHRpb24gc3RyaW5nICclcyciCisjfiBtc2dzdHIgIm1vdW50OiBmZWxha3RpZ3QgY2l0ZXJhZCBmbGFnZ3N0csOkbmcgXCIlc1wiIgorCisjfiBtc2dpZCAibW91bnQ6IHRyYW5zbGF0ZWQgJXMgJyVzJyB0byAnJXMnXG4iCisjfiBtc2dzdHIgIm1vdW50OiDDtnZlcnNhdHRlICVzIFwiJXNcIiB0aWxsIFwiJXNcIlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiBlbmxpZ3QgbXRhYiDDpHIgJXMgcmVkYW4gbW9udGVyYXQgcMOlICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBtb3VudGVkIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogZW5saWd0IG10YWIgw6RyICVzIG1vbnRlcmF0IHDDpSAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBvcGVuICVzIGZvciB3cml0aW5nOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGthbiBpbnRlIMO2cHBuYSAlcyBmw7ZyIHNrcml2bmluZzogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogZXJyb3Igd3JpdGluZyAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBmZWwgdmlkIHNrcml2bmluZyBhdiAlczogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogZXJyb3IgY2hhbmdpbmcgbW9kZSBvZiAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBmZWwgdmlkIGJ5dGUgYXYgcsOkdHRpZ2hldGVyIHDDpSAlczogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCBncm91cCBpZDogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBrYW4gaW50ZSBzdMOkbGxhIGluIGdydXBwLWlkOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHVzZXIgaWQ6ICVzIgorI34gbXNnc3RyICJtb3VudDoga2FuIGludGUgc3TDpGxsYSBpbiBhbnbDpG5kYXItaWQ6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBmb3JrOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGthbiBpbnRlIGdyZW5hOiAlcyIKKworI34gbXNnaWQgIlRyeWluZyAlc1xuIgorI34gbXNnc3RyICJGw7Zyc8O2a2VyIG1lZCAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IHlvdSBkaWRuJ3Qgc3BlY2lmeSBhIGZpbGVzeXN0ZW0gdHlwZSBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGR1IGFuZ2F2IGluZ2VuIGZpbHN5c3RlbXN0eXAgZsO2ciAlc1xuIgorCisjfiBtc2dpZCAiICAgICAgIEkgd2lsbCB0cnkgYWxsIHR5cGVzIG1lbnRpb25lZCBpbiAlcyBvciAlc1xuIgorI34gbXNnc3RyICIgICAgICAgSmFnIGtvbW1lciBhdHQgZsO2cnPDtmthIG1lZCBhbGxhIHR5cGVyIG7DpG1uZGEgaSAlcyBlbGxlciAlc1xuIgorCisjfiBtc2dpZCAiICAgICAgIGFuZCBpdCBsb29rcyBsaWtlIHRoaXMgaXMgc3dhcHNwYWNlXG4iCisjfiBtc2dzdHIgIiAgICAgICBvY2ggZGV0IHZlcmthciBzb20gb20gZGV0dGEgw6RyIHbDpHhsaW5nc3V0cnltbWVcbiIKKworI34gbXNnaWQgIiAgICAgICBJIHdpbGwgdHJ5IHR5cGUgJXNcbiIKKyN+IG1zZ3N0ciAiICAgICAgIEphZyBrb21tZXIgYXR0IGbDtnJzw7ZrYSBtZWQgdHlwZW4gJXNcbiIKKworI34gbXNnaWQgIiVzIGxvb2tzIGxpa2Ugc3dhcHNwYWNlIC0gbm90IG1vdW50ZWQiCisjfiBtc2dzdHIgIiVzIHNlciB1dCBzb20gdsOkeGxpbmdzdXRyeW1tZSAtIG1vbnRlcmFzIGludGUiCisKKyN+IG1zZ2lkICJtb3VudDogdHlwZSBzcGVjaWZpZWQgdHdpY2UiCisjfiBtc2dzdHIgIm1vdW50OiB0eXBlbiBhbmdpdmVuIHR2w6UgZ8OlbmdlciIKKworI34gbXNnaWQgIm1vdW50OiBza2lwcGluZyB0aGUgc2V0dXAgb2YgYSBsb29wIGRldmljZVxuIgorI34gbXNnc3RyICJtb3VudDogaG9wcGFyIMO2dmVyIGtvbmZpZ3VyYXRpb25lbiBhdiBlbiBzbGluZ2VuaGV0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlcyBhcyBsb29wIgorI34gbXNnc3RyICJtb3VudDogZW5saWd0IG10YWIgw6RyICVzIHJlZGFuIG1vbnRlcmF0IHDDpSAlcyIKKworI34gbXNnaWQgIm1vdW50OiBzdG9sZW4gbG9vcD0lcyAuLi50cnlpbmcgYWdhaW5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHN0dWxlbiBsb29wPSVzIC4uLmbDtnJzw7ZrZXIgaWdlblxuIgorCisjfiBtc2dpZCAibW91bnQ6IHN0b2xlbiBsb29wPSVzIgorI34gbXNnc3RyICJtb3VudDogc3R1bGVuIGxvb3A9JXMiCisKKyN+IG1zZ2lkICJtb3VudDogc2V0dXAgbG9vcCBkZXZpY2Ugc3VjY2Vzc2Z1bGx5XG4iCisjfiBtc2dzdHIgIm1vdW50OiBseWNrYWRlcyBrb25maWd1cmVyYSBzbGluZ2VuaGV0ZW5cbiIKKworI34gbXNnaWQgIm1vdW50OiBubyAlcyBmb3VuZCAtIGNyZWF0aW5nIGl0Li5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGluZ2VuICVzIGhpdHRhZGVzIC0gc2thcGFyIGRlbi4uLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IG9wZW4gJXM6ICVzIgorI34gbXNnc3RyICJtb3VudDoga2FuIGludGUgw7ZwcG5hICVzOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBhcmd1bWVudCB0byAtcCBvciAtLXBhc3MtZmQgbXVzdCBiZSBhIG51bWJlciIKKyN+IG1zZ3N0ciAibW91bnQ6IGFyZ3VtZW50IHRpbGwgLXAgZWxsZXIgLS1wYXNzLWZkIG3DpXN0ZSB2YXJhIGV0dCB0YWwiCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IG9wZW4gJXMgZm9yIHNldHRpbmcgc3BlZWQiCisjfiBtc2dzdHIgIm1vdW50OiBrYW4gaW50ZSDDtnBwbmEgJXMgZsO2ciBpbnN0w6RsbG5pbmcgYXYgaGFzdGlnaGV0IgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgc3BlZWQ6ICVzIgorI34gbXNnc3RyICJtb3VudDoga2FuIGludGUgc3TDpGxsYSBpbiBoYXN0aWdoZXQ6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGVubGlndCBtdGFiIMOkciAlcyByZWRhbiBtb250ZXJhdCBww6UgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogJXMgc2VlbXMgdG8gYmUgbW91bnRlZCByZWFkLXdyaXRlLlxuIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIMOkciB1cHB0YWdlbiAtIG1vbnRlcmFkZSBvbSBzb20gZW5kYXN0IGzDpHNiYXJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogJXMgc2VlbXMgdG8gYmUgbW91bnRlZCByZWFkLW9ubHkuXG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgw6RyIHVwcHRhZ2VuIC0gbW9udGVyYWRlIG9tIHNvbSBlbmRhc3QgbMOkc2JhclxuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoY291bGQgdGhpcyBiZSB0aGUgSURFIGRldmljZSB3aGVyZSB5b3UgaW4gZmFjdCB1c2VcbiIKKyN+ICIgICAgICAgaWRlLXNjc2kgc28gdGhhdCBzcjAgb3Igc2RhIG9yIHNvIGlzIG5lZWRlZD8pIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgIChrYW4gZGV0dGEgdmFyYSBkZW4gSURFLWVuaGV0IGTDpHIgZHUgaSBzasOkbHZhIHZlcmtldFxuIgorI34gIiAgICAgICBhbnbDpG5kZXIgaWRlLXNjc2kgc8OlIGF0dCBzcjAgZWxsZXIgc2RhIGVsbGVyIG7DpWdvdFxuIgorI34gIiAgICAgICBsaWtuYW5kZSBiZWjDtnZzPykiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIChhcmVuJ3QgeW91IHRyeWluZyB0byBtb3VudCBhbiBleHRlbmRlZCBwYXJ0aXRpb24sXG4iCisjfiAiICAgICAgIGluc3RlYWQgb2Ygc29tZSBsb2dpY2FsIHBhcnRpdGlvbiBpbnNpZGU/KSIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAoZsO2cnPDtmtlciBkdSBrYW5za2UgbW9udGVyYSBlbiB1dMO2a2FkIHBhcnRpdGlvbixcbiIKKyN+ICIgICAgICAgaXN0w6RsbGV0IGbDtnIgbsOlZ29uIGxvZ2lzayBwYXJ0aXRpb24gaW51dGk/KSIKKworI34gbXNnaWQgIm1vdW50OiAlczogdW5rbm93biBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiAlczogb2vDpG5kIGVuaGV0IgorCisjfiBtc2dpZCAibW91bnQ6IHByb2JhYmx5IHlvdSBtZWFudCAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGR1IG1lbmFkZSB0cm9saWd0dmlzICVzIgorCisjfiBtc2dpZCAibW91bnQ6IG1heWJlIHlvdSBtZWFudCAnaXNvOTY2MCc/IgorI34gbXNnc3RyICJtb3VudDogZHUgbWVuYWRlIGthbnNrZSBcImlzbzk2NjBcIj8iCisKKyN+IG1zZ2lkICJtb3VudDogbWF5YmUgeW91IG1lYW50ICd2ZmF0Jz8iCisjfiBtc2dzdHIgIm1vdW50OiBkdSBtZW5hZGUga2Fuc2tlIFwidmZhdFwiPyIKKworI34gbXNnaWQgIm1vdW50OiAlcyBoYXMgd3JvbmcgZGV2aWNlIG51bWJlciBvciBmcyB0eXBlICVzIG5vdCBzdXBwb3J0ZWQiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBoYXIgZmVsIGVuaGV0c251bW1lciBlbGxlciBzw6Ugc3TDtmRzIGZpbHN5c3RlbXN0eXBlbiAlcyBpbnRlIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHR5cGUgd2FzIGdpdmVuIC0gSSdsbCBhc3N1bWUgbmZzIGJlY2F1c2Ugb2YgdGhlIGNvbG9uXG4iCisjfiBtc2dzdHIgIm1vdW50OiBpbmdlbiB0eXAgYW5nYXZzIC0gamFnIGtvbW1lciBhdHQgYW50YSBuZnMgcMOlIGdydW5kIGF2IGtvbG9uZXRcbiIKKworI34gbXNnaWQgIm1vdW50OiBubyB0eXBlIHdhcyBnaXZlbiAtIEknbGwgYXNzdW1lIGNpZnMgYmVjYXVzZSBvZiB0aGUgLy8gcHJlZml4XG4iCisjfiBtc2dzdHIgIm1vdW50OiBpbmdlbiB0eXAgYW5nYXZzIC0gamFnIGtvbW1lciBhdHQgYW50YSBjaWZzIHDDpSBncnVuZCAvLy1wcmVmaXhldFxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiBtb3VudCAtViAgICAgICAgICAgICAgICAgOiBwcmludCB2ZXJzaW9uXG4iCisjfiAiICAgICAgIG1vdW50IC1oICAgICAgICAgICAgICAgICA6IHByaW50IHRoaXMgaGVscFxuIgorI34gIiAgICAgICBtb3VudCAgICAgICAgICAgICAgICAgICAgOiBsaXN0IG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKKyN+ICIgICAgICAgbW91bnQgLWwgICAgICAgICAgICAgICAgIDogaWRlbSwgaW5jbHVkaW5nIHZvbHVtZSBsYWJlbHNcbiIKKyN+ICJTbyBmYXIgdGhlIGluZm9ybWF0aW9uYWwgcGFydC4gTmV4dCB0aGUgbW91bnRpbmcuXG4iCisjfiAiVGhlIGNvbW1hbmQgaXMgYG1vdW50IFstdCBmc3R5cGVdIHNvbWV0aGluZyBzb21ld2hlcmUnLlxuIgorI34gIkRldGFpbHMgZm91bmQgaW4gL2V0Yy9mc3RhYiBtYXkgYmUgb21pdHRlZC5cbiIKKyN+ICIgICAgICAgbW91bnQgLWEgWy10fC1PXSAuLi4gICAgIDogbW91bnQgYWxsIHN0dWZmIGZyb20gL2V0Yy9mc3RhYlxuIgorI34gIiAgICAgICBtb3VudCBkZXZpY2UgICAgICAgICAgICAgOiBtb3VudCBkZXZpY2UgYXQgdGhlIGtub3duIHBsYWNlXG4iCisjfiAiICAgICAgIG1vdW50IGRpcmVjdG9yeSAgICAgICAgICA6IG1vdW50IGtub3duIGRldmljZSBoZXJlXG4iCisjfiAiICAgICAgIG1vdW50IC10IHR5cGUgZGV2IGRpciAgICA6IG9yZGluYXJ5IG1vdW50IGNvbW1hbmRcbiIKKyN+ICJOb3RlIHRoYXQgb25lIGRvZXMgbm90IHJlYWxseSBtb3VudCBhIGRldmljZSwgb25lIG1vdW50c1xuIgorI34gImEgZmlsZXN5c3RlbSAob2YgdGhlIGdpdmVuIHR5cGUpIGZvdW5kIG9uIHRoZSBkZXZpY2UuXG4iCisjfiAiT25lIGNhbiBhbHNvIG1vdW50IGFuIGFscmVhZHkgdmlzaWJsZSBkaXJlY3RvcnkgdHJlZSBlbHNld2hlcmU6XG4iCisjfiAiICAgICAgIG1vdW50IC0tYmluZCBvbGRkaXIgbmV3ZGlyXG4iCisjfiAib3IgbW92ZSBhIHN1YnRyZWU6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbW92ZSBvbGRkaXIgbmV3ZGlyXG4iCisjfiAiT25lIGNhbiBjaGFuZ2UgdGhlIHR5cGUgb2YgbW91bnQgY29udGFpbmluZyB0aGUgZGlyZWN0b3J5IGRpcjpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNsYXZlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcHJpdmF0ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXVuYmluZGFibGUgZGlyXG4iCisjfiAiT25lIGNhbiBjaGFuZ2UgdGhlIHR5cGUgb2YgYWxsIHRoZSBtb3VudHMgaW4gYSBtb3VudCBzdWJ0cmVlXG4iCisjfiAiY29udGFpbmluZyB0aGUgZGlyZWN0b3J5IGRpcjpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzaGFyZWQgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1yc2xhdmUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ycHJpdmF0ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJ1bmJpbmRhYmxlIGRpclxuIgorI34gIkEgZGV2aWNlIGNhbiBiZSBnaXZlbiBieSBuYW1lLCBzYXkgL2Rldi9oZGExIG9yIC9kZXYvY2Ryb20sXG4iCisjfiAib3IgYnkgbGFiZWwsIHVzaW5nICAtTCBsYWJlbCAgb3IgYnkgdXVpZCwgdXNpbmcgIC1VIHV1aWQgLlxuIgorI34gIk90aGVyIG9wdGlvbnM6IFstbmZGcnN2d10gWy1vIG9wdGlvbnNdIFstcCBwYXNzd2RmZF0uXG4iCisjfiAiRm9yIG1hbnkgbW9yZSBkZXRhaWxzLCBzYXkgIG1hbiA4IG1vdW50IC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkFudsOkbmRuaW5nOiBtb3VudCAtViAgICAgICAgICAgICAgICAgIDogdmlzYSB2ZXJzaW9uXG4iCisjfiAiICAgICAgICAgICAgbW91bnQgLWggICAgICAgICAgICAgICAgICA6IHZpc2EgZGVubmEgaGrDpGxwdGV4dFxuIgorI34gIiAgICAgICAgICAgIG1vdW50ICAgICAgICAgICAgICAgICAgICAgOiB2aXNhIG1vbnRlcmFkZSBmaWxzeXN0ZW1cbiIKKyN+ICIgICAgICAgICAgICBtb3VudCAtbCAgICAgICAgICAgICAgICAgIDogc2FtbWEsIGlua2x1c2l2ZSB2b2x5bWV0aWtldHRlclxuIgorI34gIkRldCB2YXIgZGVuIGluZm9ybWF0aXZhIGRlbGVuLiBOdSBrb21tZXIgdmkgdGlsbCBtb250ZXJpbmcuXG4iCisjfiAiS29tbWFuZG90IMOkciBcIm1vdW50IFstdCBmaWxzeXN0ZW1zdHlwXSBuw6Vnb250aW5nIGjDpHJcIi5cbiIKKyN+ICJEZXRhbGplciBzb20ga2FuIGhpdHRhcyBpIC9ldGMvZnN0YWIga2FuIHV0ZWzDpG1uYXMuXG4iCisjfiAiICAgICAgICAgICAgbW91bnQgLWEgWy10fC1PXSAuLi4gICAgICA6IG1vbnRlcmEgYWxsdCBpIC9ldGMvZnN0YWJcbiIKKyN+ICIgICAgICAgICAgICBtb3VudCBlbmhldCAgICAgICAgICAgICAgIDogbW9udGVyYSBlbmhldCBww6UgZGVuIGvDpG5kYSBwbGF0c2VuXG4iCisjfiAiICAgICAgICAgICAgbW91bnQga2F0YWxvZyAgICAgICAgICAgICA6IG1vbnRlcmEga8OkbmQgZW5oZXQgaMOkclxuIgorI34gIiAgICAgICAgICAgIG1vdW50IC10IHR5cCBlbmhldCBrYXQgICAgOiB2YW5saWd0IG1vbnRlcmluZ3Nrb21tYW5kb1xuIgorI34gIk9ic2VydmVyYSBhdHQgbWFuIGVnZW50bGlnZW4gaW50ZSBtb250ZXJhciBlbiBlbmhldCwgdXRhbiBldHRcbiIKKyN+ICJmaWxzeXN0ZW0gKGF2IGFuZ2l2ZW4gdHlwKSBzb20gZmlubnMgcMOlIGVuaGV0ZW4uXG4iCisjfiAiTWFuIGthbiBvY2tzw6UgbW9udGVyYSBldHQgcmVkYW4gc3lubGlndCBrYXRhbG9ndHLDpGQgbsOlZ29uIGFubmFuc3RhbnM6XG4iCisjfiAiICAgICAgIG1vdW50IC0tYmluZCBnYW1tYWxrYXRhbG9nIG55a2F0YWxvZ1xuIgorI34gImVsbGVyIGZseXR0YSBldHQgdW5kZXJ0csOkZDpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tb3ZlIGdhbW1hbGthdGFsb2cgbnlrYXRhbG9nXG4iCisjfiAiTWFuIGthbiDDpG5kcmEgbW9udGVyaW5nc3R5cGVuIHNvbSBpbm5laMOlbGxlciBrYXRhbG9nZW4gXCJrYXRhbG9nXCI6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1zaGFyZWQga2F0YWxvZ1xuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2xhdmUga2F0YWxvZ1xuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcHJpdmF0ZSBrYXRhbG9nXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS11bmJpbmRhYmxlIGthdGFsb2dcbiIKKyN+ICJNYW4ga2FuIMOkbmRyYSB0eXBlbiBmw7ZyIGFsbGEgbW9udGVyaW5nYXJuYSBpIGV0dCBtb250ZXJpbmdzdW5kZXJ0csOkZFxuIgorI34gInNvbSBpbm5laMOlbGxlciBrYXRhbG9nZW4gXCJrYXRhbG9nXCI6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1yc2hhcmVkIGthdGFsb2dcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzbGF2ZSBrYXRhbG9nXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ycHJpdmF0ZSBrYXRhbG9nXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ydW5iaW5kYWJsZSBrYXRhbG9nXG4iCisjfiAiRW4gZW5oZXQga2FuIGFuZ2VzIG1lZCBuYW1uLCBleGVtcGVsdmlzIC9kZXYvaGRhMSBlbGxlciAvZGV2L2Nkcm9tLFxuIgorI34gImVsbGVyIG1lZCBldGlrZXR0LCBnZW5vbSBhdHQgYW52w6RuZGEgIC1MIGV0aWtldHQgIGVsbGVyIG1lZCB1dWlkLFxuIgorI34gImdlbm9tIGF0dCBhbnbDpG5kYSAgLVUgdXVpZC5cbiIKKyN+ICJBbmRyYSBmbGFnZ29yOiBbLW5mRnJzdnddIFstbyBmbGFnZ29yXSBbLXAgbMO2c2Vub3JkZmRdLlxuIgorI34gIkFuZ2UgIG1hbiA4IG1vdW50ICBmw7ZyIHl0dGVybGlnYXJlIGRldGFsamVyLlxuIgorCisjfiBtc2dpZCAibm90aGluZyB3YXMgbW91bnRlZCIKKyN+IG1zZ3N0ciAiaW5nZW50aW5nIG1vbnRlcmFkZXMiCisKKyN+IG1zZ2lkICJtb3VudDogbm8gc3VjaCBwYXJ0aXRpb24gZm91bmQiCisjfiBtc2dzdHIgIm1vdW50OiBpbmdlbiBzw6VkYW4gcGFydGl0aW9uIGhpdHRhZGVzIgorCisjfiBtc2dpZCAiW21udGVudF06IHdhcm5pbmc6IG5vIGZpbmFsIG5ld2xpbmUgYXQgdGhlIGVuZCBvZiAlc1xuIgorI34gbXNnc3RyICJbbW50ZW50XTogdmFybmluZzogaW5nZW4gYXZzbHV0YW5kZSBueXJhZCBww6Ugc2x1dGV0IGF2ICVzXG4iCisKKyN+IG1zZ2lkICJbbW50ZW50XTogbGluZSAlZCBpbiAlcyBpcyBiYWQlc1xuIgorI34gbXNnc3RyICJbbW50ZW50XTogcmFkICVkIGkgJXMgw6RyIGZlbGFrdGlnJXNcbiIKKworI34gbXNnaWQgIjsgcmVzdCBvZiBmaWxlIGlnbm9yZWQiCisjfiBtc2dzdHIgIjsgcmVzdGVuIGF2IGZpbGVuIGlnbm9yZXJhcyIKKworI34gbXNnaWQgImJ1ZyBpbiB4c3RybmR1cCBjYWxsIgorI34gbXNnc3RyICJwcm9ncmFtZmVsIGkgeHN0cm5kdXAtYW5yb3AiCisKKyN+IG1zZ2lkICJub3QgZW5vdWdoIG1lbW9yeSIKKyN+IG1zZ3N0ciAiaW50ZSB0aWxscsOkY2tsaWd0IG1lZCBtaW5uZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleGVjdiBmYWlsZWQiCisjfiBtc2dzdHIgImvDtnJuaW5nIG1pc3NseWNrYWRlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNhbWUiCisjfiBtc2dzdHIgIk5hbW4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNvbXBpbGVkIHdpdGhvdXQgc3VwcG9ydCBmb3IgLWZcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiBrb21waWxlcmFkIHV0YW4gc3TDtmQgZsO2ciAtZlxuIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3Qgc2V0IGdyb3VwIGlkOiAlcyIKKyN+IG1zZ3N0ciAidW1vdW50OiBrYW4gaW50ZSBzdMOkbGxhIGluIGdydXBwLWlkOiAlcyIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IHNldCB1c2VyIGlkOiAlcyIKKyN+IG1zZ3N0ciAidW1vdW50OiBrYW4gaW50ZSBzdMOkbGxhIGluIGFudsOkbmRhci1pZDogJXMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBmb3JrOiAlcyIKKyN+IG1zZ3N0ciAidW1vdW50OiBrYW4gaW50ZSBncmVuYTogJXMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiAlcyIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogJXMiCisKKyN+IG1zZ2lkICJubyB1bW91bnQyLCB0cnlpbmcgdW1vdW50Li4uXG4iCisjfiBtc2dzdHIgImluZ2VuIHVtb3VudDIsIGbDtnJzw7ZrZXIgbWVkIHVtb3VudC4uLlxuIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBidXN5IC0gcmVtb3VudGVkIHJlYWQtb25seVxuIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIMOkciB1cHB0YWdlbiAtIG1vbnRlcmFkZSBvbSBzb20gZW5kYXN0IGzDpHNiYXJcbiIKKworI34gbXNnaWQgInVtb3VudDogY291bGQgbm90IHJlbW91bnQgJXMgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDoga3VuZGUgaW50ZSBtb250ZXJhIG9tICVzIHNvbSBlbmRhc3QgbMOkc2JhclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIGhhcyBiZWVuIHVubW91bnRlZFxuIgorI34gbXNnc3RyICIlcyBhdm1vbnRlcmFkXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBmaW5kIGxpc3Qgb2YgZmlsZXN5c3RlbXMgdG8gdW5tb3VudCIKKyN+IG1zZ3N0ciAidW1vdW50OiBrYW4gaW50ZSBoaXR0YSBsaXN0YSBtZWQgZmlsc3lzdGVtIGF0dCBhdm1vbnRlcmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiB1bW91bnQgLWggfCAtVlxuIgorI34gIiAgICAgICB1bW91bnQgLWEgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIFstdCB2ZnN0eXBlc10gWy1PIG9wdHNdXG4iCisjfiAiICAgICAgIHVtb3VudCBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gc3BlY2lhbCB8IG5vZGUuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkFudsOkbmRuaW5nOiB1bW91bnQgWy1oVl1cbiIKKyN+ICIgICAgICAgICAgICB1bW91bnQgLWEgWy1mXSBbLXJdIFstbl0gWy12XSBbLXQgdmZzLXR5cGVyXSBbLU8gYWx0ZXJuYXRpdl1cbiIKKyN+ICIgICAgICAgICAgICB1bW91bnQgWy1mXSBbLXJdIFstbl0gWy12XSBzcGVjaWFsIHwgbm9kLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZGV2aWNlICVzIGlzIG5vdCBhc3NvY2lhdGVkIHdpdGggJXNcbiIKKyN+IG1zZ3N0ciAid3JpdGU6ICVzIMOkciBpbnRlIGlubG9nZ2FkIHDDpSAlcy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDYW5ub3QgdW5tb3VudCBcIlwiXG4iCisjfiBtc2dzdHIgIkthbiBpbnRlIGF2bW9udGVyYSBcIlwiXG4iCisKKyN+IG1zZ2lkICJDb3VsZCBub3QgZmluZCAlcyBpbiBtdGFiXG4iCisjfiBtc2dzdHIgIkt1bmRlIGludGUgaGl0dGEgJXMgaSBtdGFiXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGlzIG5vdCBtb3VudGVkIChhY2NvcmRpbmcgdG8gbXRhYikiCisjfiBtc2dzdHIgInVtb3VudDogJXMgw6RyIGludGUgbW9udGVyYWQgKGVubGlndCBtdGFiKSIKKworI34gbXNnaWQgInVtb3VudDogaXQgc2VlbXMgJXMgaXMgbW91bnRlZCBtdWx0aXBsZSB0aW1lcyIKKyN+IG1zZ3N0ciAidW1vdW50OiBkZXQgdmVya2FyIHNvbSBvbSAlcyDDpHIgbW9udGVyYWQgZmxlcmEgZ8OlbmdlciIKKworI34gbXNnaWQgInVtb3VudDogJXMgaXMgbm90IGluIHRoZSBmc3RhYiAoYW5kIHlvdSBhcmUgbm90IHJvb3QpIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIMOkciBpbnRlIGkgZnN0YWIgKG9jaCBkdSDDpHIgaW50ZSByb290KSIKKworI34gbXNnaWQgInVtb3VudDogJXMgbW91bnQgZGlzYWdyZWVzIHdpdGggdGhlIGZzdGFiIgorI34gbXNnc3RyICJ1bW91bnQ6IG1vbnRlcmluZyBhdiAlcyBzdMOkbW1lciBpbnRlIMO2dmVyZW5zIG1lZCBmc3RhYiIKKworI34gbXNnaWQgInVtb3VudDogb25seSAlcyBjYW4gdW5tb3VudCAlcyBmcm9tICVzIgorI34gbXNnc3RyICJ1bW91bnQ6IGVuZGFzdCAlcyBrYW4gYXZtb250ZXJhICVzIGZyw6VuICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCisjfiBtc2dzdHIgInVtb3VudDogZW5kYXN0IHJvb3Qga2FuIGfDtnJhIGRldCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmtub3duXG4iCisjfiBtc2dzdHIgIm9rw6RuZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgbnVtYmVyICclcyciCisjfiBtc2dzdHIgImthbiBpbnRlIMO2cHBuYSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHRhc2tzZXQoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJGw7ZyIG1lciBpbmZvcm1hdGlvbiwgc2Ugc2V0YXJjaCg4KS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgYW5kICVkLiIKKyN+IG1zZ3N0ciAiIG9jaCAiCisKKyN+IG1zZ2lkICJVc2FnZTogY3RybGFsdGRlbCBoYXJkfHNvZnRcbiIKKyN+IG1zZ3N0ciAiQW52w6RuZG5pbmc6IGN0cmxhbHRkZWwgaGFyZHxzb2Z0XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRmlsZSAlcywgRm9yIHRocmVzaG9sZCB2YWx1ZSAlbHUsIE1heGltdW0gY2hhcmFjdGVycyBpbiBmaWZvIHdlcmUgJWQsXG4iCisjfiAiYW5kIHRoZSBtYXhpbXVtIHRyYW5zZmVyIHJhdGUgaW4gY2hhcmFjdGVycy9zZWNvbmQgd2FzICVmXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJGaWwgJXMsIGbDtnIgdHLDtnNrZWx2w6RyZGUgJWx1LCBzdMO2cnN0YSBhbnRhbGV0IHRlY2tlbiBpIGZpZm9uIHZhciAlZCxcbiIKKyN+ICJvY2ggZGVuIG1heGltYWxhIMO2dmVyZsO2cmluZ3NoYXN0aWdoZXRlbiBpIHRlY2tlbi9zZWt1bmQgdmFyICVmXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRmlsZSAlcywgRm9yIHRocmVzaG9sZCB2YWx1ZSAlbHUgYW5kIHRpbXJvdXQgdmFsdWUgJWx1LCBNYXhpbXVtIGNoYXJhY3RlcnMgaW4gZmlmbyB3ZXJlICVkLFxuIgorI34gImFuZCB0aGUgbWF4aW11bSB0cmFuc2ZlciByYXRlIGluIGNoYXJhY3RlcnMvc2Vjb25kIHdhcyAlZlxuIgorI34gbXNnc3RyICIiCisjfiAiRmlsICVzLCBmw7ZyIHRyw7Zza2VsdsOkcmRlICVsdSBvY2ggdGltZW91dHbDpHJkZXQgJWx1LCBzdMO2cnN0YSBhbnRhbGV0IHRlY2tlbiBpIGZpZm9uIHZhciAlZCxcbiIKKyN+ICJvY2ggZGVuIG1heGltYWxhIMO2dmVyZsO2cmluZ3NoYXN0aWdoZXRlbiBpIHRlY2tlbi9zZWt1bmQgdmFyICVmXG4iCisKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB2YWx1ZTogJXNcbiIKKyN+IG1zZ3N0ciAiT2dpbHRpZ3QgaW5zdMOkbGx0IHbDpHJkZTogJXNcbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLXEgWy1pIGludGVydmFsXV0gKFstcyB2YWx1ZV18Wy1TIHZhbHVlXSkgKFstdCB2YWx1ZV18Wy1UIHZhbHVlXSkgWy1nfC1HXSBmaWxlIFtmaWxlLi4uXVxuIgorI34gbXNnc3RyICJBbnbDpG5kbmluZzogJXMgWy1xIFstaSBpbnRlcnZhbGxdXSAoWy1zIHbDpHJkZV18Wy1TIHbDpHJkZV0pIChbLXQgdsOkcmRlXXxbLVQgdsOkcmRlXSkgWy1nfC1HXSBmaWwgW2ZpbC4uLl1cbiIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gJXM6ICVzXG4iCisjfiBtc2dzdHIgIkthbiBpbnRlIMO2cHBuYSAlczogJXNcbiIKKworI34gbXNnaWQgIkNhbid0IHNldCAlcyB0byB0aHJlc2hvbGQgJWQ6ICVzXG4iCisjfiBtc2dzdHIgIkthbiBpbnRlIHN0w6RsbGEgaW4gJXMgdGlsbCB0csO2c2tlbHbDpHJkZSAlZDogJXNcbiIKKworI34gbXNnaWQgIkNhbid0IHNldCAlcyB0byB0aW1lIHRocmVzaG9sZCAlZDogJXNcbiIKKyN+IG1zZ3N0ciAiS2FuIGludGUgc3TDpGxsYSBpbiAlcyB0aWxsIHRpZHN0csO2c2tlbHbDpHJkZSAlZDogJXNcbiIKKworI34gbXNnaWQgIkNhbid0IGdldCB0aHJlc2hvbGQgZm9yICVzOiAlc1xuIgorI34gbXNnc3RyICJLYW4gaW50ZSBmw6UgdHLDtnNrZWx2w6RyZGUgZsO2ciAlczogJXNcbiIKKworI34gbXNnaWQgIiVzOiAlbGQgY3VycmVudCB0aHJlc2hvbGQgYW5kICVsZCBjdXJyZW50IHRpbWVvdXRcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCBha3R1ZWxsIHRyw7Zza2VsIG9jaCAlbGQgYWt0dWVsbCB0aW1lLW91dFxuIgorCisjfiBtc2dpZCAiJXM6ICVsZCBkZWZhdWx0IHRocmVzaG9sZCBhbmQgJWxkIGRlZmF1bHQgdGltZW91dFxuIgorI34gbXNnc3RyICIlczogJWxkIHN0YW5kYXJkdHLDtnNrZWwgb2NoICVsZCBzdGFuZGFyZHRpbWVvdXRcbiIKKworI34gbXNnaWQgImdldHRpbWVvZmRheSBmYWlsZWQiCisjfiBtc2dzdHIgImdldHRpbWVvZmRheSBtaXNzbHlja2FkZXMiCisKKyN+IG1zZ2lkICJDYW4ndCBpc3N1ZSBDWUdFVE1PTiBvbiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiS2FuIGludGUgdXRseXNhIENZR0VUTU9OIHDDpSAlczogJXNcbiIKKworI34gbXNnaWQgIiVzOiAlbHUgaW50cywgJWx1LyVsdSBjaGFyczsgZmlmbzogJWx1IHRocmVzaCwgJWx1IHRtb3V0LCAlbHUgbWF4LCAlbHUgbm93XG4iCisjfiBtc2dzdHIgIiVzOiAlbHUgYXZicm90dCwgJWx1LyVsdSB0ZWNrZW47IGZpZm86ICVsdSB0csO2c2tlbCwgJWx1IHRpbWUtb3V0LCAlbHUgbWF4LCAlbHUgbnVcbiIKKworI34gbXNnaWQgIiAgICVmIGludC9zZWM7ICVmIHJlYywgJWYgc2VuZCAoY2hhci9zZWMpXG4iCisjfiBtc2dzdHIgIiAgICVmIGF2YnJvdHQvczsgJWYgbW90dC4sICVmIHNraWNrYXQgKHRlY2tlbi9zKVxuIgorCisjfiBtc2dpZCAiJXM6ICVsdSBpbnRzLCAlbHUgY2hhcnM7IGZpZm86ICVsdSB0aHJlc2gsICVsdSB0bW91dCwgJWx1IG1heCwgJWx1IG5vd1xuIgorI34gbXNnc3RyICIlczogJWx1IGF2YnJvdHQsICVsdSB0ZWNrZW47IGZpZm86ICVsdSB0csO2c2tlbCwgJWx1IHRpbWUtb3V0LCAlbHUgbWF4LCAlbHUgbnVcbiIKKworI34gbXNnaWQgIiAgICVmIGludC9zZWM7ICVmIHJlYyAoY2hhci9zZWMpXG4iCisjfiBtc2dzdHIgIiAgICVmIGF2YnJvdHQvc2VrOyAlZiBtb3R0LiAodGVja2VuL3MpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstY10gWy1uIGxldmVsXSBbLXJdIFstcyBidWZzaXplXVxuIgorI34gbXNnc3RyICJBbnbDpG5kbmluZzogJXMgWy1jXSBbLW4gbml2w6VdIFstcyBidWZmZXJ0c3Rvcmxla11cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZhbGxvY2F0ZSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkbDtnIgbWVyIGluZm9ybWF0aW9uLCBzZSBzZXRhcmNoKDgpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBiYWQgbnVtYmVyOiAlc1xuIgorI34gbXNnc3RyICJPZ2lsdGlndCB0YWw6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZvcmsgZmFpbGVkOiAlc1xuIgorI34gbXNnc3RyICJncmVuaW5nIG1pc3NseWNrYWRlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgZnNmcmVlemUoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJGw7ZyIG1lciBpbmZvcm1hdGlvbiwgc2Ugc2V0YXJjaCg4KS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZnN0YXQgZmFpbGVkIgorI34gbXNnc3RyICIlcyBtaXNzbHlja2FkZXMuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBpcGNtaygxKS5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkbDtnIgbWVyIGluZm9ybWF0aW9uLCBzZSBzZXRhcmNoKDgpLlxuIgorCisjfiBtc2dpZCAiZGVwcmVjYXRlZCB1c2FnZTogJXMge3NobSB8IG1zZyB8IHNlbX0gaWQgLi4uXG4iCisjfiBtc2dzdHIgImbDtnLDpWxkcmFkIGFudsOkbmRuaW5nOiAlcyB7c2htIHwgbXNnIHwgc2VtfSBpZCAuLi5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWyBbLXEgbXNxaWRdIFstbSBzaG1pZF0gWy1zIHNlbWlkXVxuIgorI34gIiAgICAgICAgICBbLVEgbXNna2V5XSBbLU0gc2hta2V5XSBbLVMgc2Vta2V5XSAuLi4gXVxuIgorI34gbXNnc3RyICIiCisjfiAiYW52w6RuZG5pbmc6ICVzIFsgWy1xIG1zcWlkXSBbLW0gc2htaWRdIFstcyBzZW1pZF1cbiIKKyN+ICIgICAgICAgICAgICAgICBbLVEgbXNnbnlja2VsXSBbLU0gc2htbnlja2VsXSBbLVMgc2Vtbnlja2VsXSAuLi4gXVxuIgorCisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgb3B0aW9uIC0tICVjXG4iCisjfiBtc2dzdHIgIiVzOiBvdGlsbMOldGVuIGZsYWdnYSAtLSAlY1xuIgorCisjfiBtc2dpZCAidW5rbm93biBlcnJvciBpbiBrZXkiCisjfiBtc2dzdHIgIm9rw6RudCBmZWwgaSBueWNrZWwiCisKKyN+IG1zZ2lkICJtYXggc2VnIHNpemUgKGtieXRlcykgPSAlbHVcbiIKKyN+IG1zZ3N0ciAibWF4aW1hbCBzZWdtZW50c3RvcmxlayAoa2lsb2J5dGUpID0gJWx1XG4iCisKKyN+IG1zZ2lkICJtYXggdG90YWwgc2hhcmVkIG1lbW9yeSAoa2J5dGVzKSA9ICVsbHVcbiIKKyN+IG1zZ3N0ciAibWF4aW1hbHQgdG90YWx0IGRlbGF0IG1pbm5lIChrYnl0ZSkgPSAlbGx1XG4iCisKKyN+IG1zZ2lkICJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyN+IG1zZ3N0ciAiYWxsb2tlcmFkZSBzZWdtZW50ICVkXG4iCisKKyN+IG1zZ2lkICJwYWdlcyBhbGxvY2F0ZWQgJWxkXG4iCisjfiBtc2dzdHIgImFsbG9rZXJhZGUgc2lkb3IgJWxkXG4iCisKKyN+IG1zZ2lkICJwYWdlcyByZXNpZGVudCAgJWxkXG4iCisjfiBtc2dzdHIgInJlc2lkZW50YSBzaWRvciAgJWxkXG4iCisKKyN+IG1zZ2lkICJwYWdlcyBzd2FwcGVkICAgJWxkXG4iCisjfiBtc2dzdHIgInV0dsOkeGxhZGUgc2lkb3IgICVsZFxuIgorCisjfiBtc2dpZCAiU3dhcCBwZXJmb3JtYW5jZTogJWxkIGF0dGVtcHRzXHQgJWxkIHN1Y2Nlc3Nlc1xuIgorI34gbXNnc3RyICJWw6R4bGluZ3NwcmVzdGFuZGE6ICVsZCBmw7Zyc8O2a1x0ICAlbGQgbHlja2FkZSBmw7Zyc8O2a1xuIgorCisjfiBtc2dpZCAiY2J5dGVzPSVsZFx0cWJ5dGVzPSVsZFx0cW51bT0lbGRcdGxzcGlkPSVkXHRscnBpZD0lZFxuIgorI34gbXNnc3RyICJjYnl0ZT0lbGRcdHFieXRlPSVsZFx0a8O2bnVtPSVsZFx0bHNwaWQ9JWRcdGxycGlkPSVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VtY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAic8O2a25pbmcgbWlzc2x5Y2thZGVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxkYXR0YWNoIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAiJXMgZnLDpW4gJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogY2Fubm90IG9wZW4gJXMiCisjfiBtc2dzdHIgIiVzOiBrYW4gaW50ZSDDtnBwbmEgJXNcbiIKKworI34gbXNnaWQgIm91dCBvZiBtZW1vcnkiCisjfiBtc2dzdHIgInNsdXQgcMOlIG1pbm5lIgorCisjfiBtc2dpZCAiIgorI34gIiVzOiBVc2FnZTogXCIlcyBbb3B0aW9uc11cbiIKKyN+ICJcdCAtbSA8bWFwZmlsZT4gIChkZWZhdWx0czogXCIlc1wiIGFuZFxuIgorI34gIlx0XHRcdFx0ICBcIiVzXCIpXG4iCisjfiAiXHQgLXAgPHByby1maWxlPiAoZGVmYXVsdDogXCIlc1wiKVxuIgorI34gIlx0IC1NIDxtdWx0PiAgICAgc2V0IHRoZSBwcm9maWxpbmcgbXVsdGlwbGllciB0byA8bXVsdD5cbiIKKyN+ICJcdCAtaSAgICAgICAgICAgIHByaW50IG9ubHkgaW5mbyBhYm91dCB0aGUgc2FtcGxpbmcgc3RlcFxuIgorI34gIlx0IC12ICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBkYXRhXG4iCisjfiAiXHQgLWEgICAgICAgICAgICBwcmludCBhbGwgc3ltYm9scywgZXZlbiBpZiBjb3VudCBpcyAwXG4iCisjfiAiXHQgLWIgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCisjfiAiXHQgLXMgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGNvdW50ZXJzIHdpdGhpbiBmdW5jdGlvbnNcbiIKKyN+ICJcdCAtciAgICAgICAgICAgIHJlc2V0IGFsbCB0aGUgY291bnRlcnMgKHJvb3Qgb25seSlcbiIKKyN+ICJcdCAtbiAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorI34gIlx0IC1WICAgICAgICAgICAgcHJpbnQgdmVyc2lvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiJXM6IEFudsOkbmRuaW5nOiBcIiVzIFtmbGFnZ29yXVxuIgorI34gIlx0IC1tIDx0YWJlbGxmaWw+ICAoc3RhbmRhcmRhbHRlcm5hdGl2OiBcIiVzXCIgb2NoXG4iCisjfiAiXHRcdFx0XHQgIFwiJXNcIilcbiIKKyN+ICJcdCAtcCA8cHJvLWZpbD4gICAgKHN0YW5kYXJkYWx0ZXJuYXRpdjogXCIlc1wiKVxuIgorI34gIlx0IC1NIDxtdWx0PiAgICAgICBzdMOkbGwgaW4gcHJvZmlsZXJpbmdzbXVsdGlwbGlrYXRvcm4gdGlsbCA8bXVsdD5cbiIKKyN+ICJcdCAtaSAgICAgICAgICAgICAgdmlzYSBlbmRhc3QgaW5mb3JtYXRpb24gb20gc2FtcGxpbmdzc3RlZ2V0XG4iCisjfiAiXHQgLXYgICAgICAgICAgICAgIHZpc2EgdXRmw7ZybGlnIGRhdGFcbiIKKyN+ICJcdCAtYSAgICAgICAgICAgICAgdmlzYSBhbGxhIHN5bWJvbGVyLCDDpHZlbiBvbSBhbnRhbGV0IMOkciAwXG4iCisjfiAiXHQgLWIgICAgICAgICAgICAgIHZpc2EgYW50YWwgaW5kaXZpZHVlbGxhIGhpc3RvZ3JhbS1iaW5cbiIKKyN+ICJcdCAtcyAgICAgICAgICAgICAgdmlzYSBpbmRpdmlkdWVsbGEgcsOka25hcmUgaW5vbSBmdW5rdGlvbmVyXG4iCisjfiAiXHQgLXIgICAgICAgICAgICAgIG5vbGxzdMOkbGwgYWxsYSByw6RrbmFyZSAoZW5kYXN0IHJvb3QpXG4iCisjfiAiXHQgLW4gICAgICAgICAgICAgIGRlYWt0aXZlcmEgYXV0b21hdGlzayBkZXRla3RlcmluZyBhdiBieXRlb3JkbmluZ1xuIgorI34gIlx0IC1WICAgICAgICAgICAgICB2aXNhIHZlcnNpb25zaW5mb3JtYXRpb24gb2NoIGF2c2x1dGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZWFkcHJvZmlsZTogZXJyb3Igd3JpdGluZyAlczogJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGZlbCB2aWQgc2tyaXZuaW5nIGF2ICVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZW5pY2UgZnJvbSAlc1xuIgorI34gbXNnc3RyICIlcyBmcsOlbiAlc1xuIgorCisjfiBtc2dpZCAicmVuaWNlOiAlczogdW5rbm93biB1c2VyXG4iCisjfiBtc2dzdHIgInJlbmljZTogJXM6IG9rw6RuZCBhbnbDpG5kYXJlXG4iCisKKyN+IG1zZ2lkICJyZW5pY2U6ICVzOiBiYWQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAicmVuaWNlOiAlczogZmVsYWt0aWd0IHbDpHJkZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgW29wdGlvbnNdXG4iCisjfiAiICAgIC1kIHwgLS1kZXZpY2UgPGRldmljZT4gICAgc2VsZWN0IHJ0YyBkZXZpY2UgKHJ0YzB8cnRjMXwuLi4pXG4iCisjfiAiICAgIC1uIHwgLS1kcnktcnVuICAgICAgICAgICAgZG9lcyBldmVyeXRoaW5nLCBidXQgc3VzcGVuZFxuIgorI34gIiAgICAtbCB8IC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCisjfiAiICAgIC1tIHwgLS1tb2RlICAgICAgICAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwIG1vZGVcbiIKKyN+ICIgICAgLXMgfCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iCisjfiAiICAgIC10IHwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCisjfiAiICAgIC11IHwgLS11dGMgICAgICAgICAgICAgICAgUlRDIHVzZXMgVVRDXG4iCisjfiAiICAgIC12IHwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtZXNzYWdlc1xuIgorI34gIiAgICAtViB8IC0tdmVyc2lvbiAgICAgICAgICAgIHNob3cgdmVyc2lvblxuIgorI34gbXNnc3RyICIiCisjfiAiYW52w6RuZG5pbmc6ICVzIFtmbGFnZ29yXVxuIgorI34gIiAgICAtZCB8IC0tZGV2aWNlIDxlbmhldD4gICAgIHbDpGxqIHJ0Yy1lbmhldCAocnRjMHxydGMxfC4uLilcbiIKKyN+ICIgICAgLWwgfCAtLWxvY2FsICAgICAgICAgICAgICBSVEMgYW52w6RuZCBsb2thbCB0aWRzem9uXG4iCisjfiAiICAgIC1tIHwgLS1tb2RlICAgICAgICAgICAgICAgc3RhbmRieXxtZW18Li4uIHNvdmzDpGdlXG4iCisjfiAiICAgIC1zIHwgLS1zZWNvbmRzIDxzZWt1bmRlcj4gc2VrdW5kZXIgYXR0IHNvdmFcbiIKKyN+ICIgICAgLXQgfCAtLXRpbWUgPHRpbWVfdD4gICAgICB0aWQgZsO2ciB1cHB2YWtuYW5kZVxuIgorI34gIiAgICAtdSB8IC0tdXRjICAgICAgICAgICAgICAgIFJUQyBhbnbDpG5kZXIgVVRDXG4iCisjfiAiICAgIC12IHwgLS12ZXJib3NlICAgICAgICAgICAgaW5mb3JtYXRpdmEgbWVkZGVsYW5kZW5cbiIKKyN+ICIgICAgLVYgfCAtLXZlcnNpb24gICAgICAgICAgICB2aXNhIHZlcnNpb25cbiIKKworI34gbXNnaWQgInNldCBydGMgYWxhcm0iCisjfiBtc2dzdHIgInN0w6RsbCBpbiBydGMtYWxhcm0iCisKKyN+IG1zZ2lkICIlczogaWxsZWdhbCBpbnRlcnZhbCAlcyBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVzOiBvdGlsbMOldGV0IGludGVydmFsbCAlcyBzZWt1bmRlclxuIgorCisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgdGltZV90IHZhbHVlICVzXG4iCisjfiBtc2dzdHIgIiVzOiBvdGlsbMOldGV0IHbDpHJkZSBmw7ZyIHRpbWVfdCwgJXNcbiIKKworI34gbXNnaWQgIiVzOiBtdXN0IHByb3ZpZGUgd2FrZSB0aW1lXG4iCisjfiBtc2dzdHIgIiVzOiBtw6VzdGUgdGlsbGhhbmRhaMOlbGxhIHVwcHZha25pbmdzdGlkXG4iCisKKyN+IG1zZ2lkICJydGMgcmVhZCIKKyN+IG1zZ3N0ciAicnRjIGzDpHMiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzJXMgW29wdGlvbnNdIFtwcm9ncmFtIFtwcm9ncmFtIGFyZ3VtZW50c11dXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkFudsOkbmRuaW5nOiAlcyVzIFtmbGFnZ29yXSBbcHJvZ3JhbSBbcHJvZ3JhbWFyZ3VtZW50XV1cbiIKKyN+ICJcbiIKKyN+ICJGbGFnZ29yOlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBzZXRhcmNoKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRsO2ciBtZXIgaW5mb3JtYXRpb24sIHNlIHNldGFyY2goOCkuXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgcHJvZ3JhbSBbYXJnIC4uLl1cbiIKKyN+IG1zZ3N0ciAiYW52w6RuZG5pbmc6ICVzIHByb2dyYW0gW2FyZ3VtZW50IC4uLl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgPGRldmljZT4gWyAtaSA8SVJRPiB8IC10IDxUSU1FPiB8IC1jIDxDSEFSUz4gfCAtdyA8V0FJVD4gfCBcbiIKKyN+ICIgICAgICAgICAgLWEgW29ufG9mZl0gfCAtbyBbb258b2ZmXSB8IC1DIFtvbnxvZmZdIHwgLXEgW29ufG9mZl0gfCAtcyB8IFxuIgorI34gIiAgICAgICAgICAtVCBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJBbnbDpG5kbmluZzogJXMgPGVuaGV0PiBbIC1pIDxJUlE+IHwgLXQgPFRJRD4gfCAtYyA8VEVDS0VOPiB8IFxuIgorI34gIiAgICAgICAgICAgICAgIC13IDxWw4ROVEVUSUQ+IHwgLWEgW29ufG9mZl0gfCAtbyBbb258b2ZmXSB8IFxuIgorI34gIiAgICAgICAgICAgICAgIC1DIFtvbnxvZmZdIHwgLXEgW29ufG9mZl0gfCAtcyB8IC1UIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIm1hbGxvYyBlcnJvciIKKyN+IG1zZ3N0ciAibWlubmVzYWxsb2tlcmluZ3NmZWwiCisKKyN+IG1zZ2lkICIlczogYmFkIHZhbHVlXG4iCisjfiBtc2dzdHIgIiVzOiBmZWxha3RpZ3QgdsOkcmRlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHVuZWxwOiBpb2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgIm1vdW50OiBtb250ZXJpbmcgbWlzc2x5Y2thZGVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgdW5zaGFyZSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkbDtnIgbWVyIGluZm9ybWF0aW9uLCBzZSBzZXRhcmNoKDgpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImV4ZWMgJXMgZmFpbGVkIgorI34gbXNnc3RyICJrw7ZybmluZyBtaXNzbHlja2FkZXNcbiIKKworI34gbXNnaWQgImNvbDogYmFkIC1sIGFyZ3VtZW50ICVzLlxuIgorI34gbXNnc3RyICJjb2w6IGZlbGFrdGlndCBhcmd1bWVudCAlcyB0aWxsIC1sLlxuIgorCisjfiBtc2dpZCAidXNhZ2U6IGNvbCBbLWJmcHhdIFstbCBubGluZV1cbiIKKyN+IG1zZ3N0ciAiYW52w6RuZG5pbmc6IGNvbCBbLWJmcHhdIFstbCBhbnRhbHJhZGVyXVxuIgorCisjfiBtc2dpZCAiY29sOiB3cml0ZSBlcnJvci5cbiIKKyN+IG1zZ3N0ciAiY29sOiBza3JpdmZlbC5cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC0gXSBbIC0yIF0gWyBmaWxlIC4uLiBdXG4iCisjfiBtc2dzdHIgImFudsOkbmRuaW5nOiAlcyBbIC0gXSBbIC0yIF0gWyBmaWwgLi4uIF1cbiIKKworI34gbXNnaWQgImxpbmUgdG9vIGxvbmciCisjfiBtc2dzdHIgInJhZGVuIMOkciBmw7ZyIGzDpW5nIgorCisjfiBtc2dpZCAidXNhZ2U6IGNvbHVtbiBbLXR4XSBbLWMgY29sdW1uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJhbnbDpG5kbmluZzogY29sdW1uIFstdHhdIFstYyBrb2x1bW5lcl0gW2ZpbCAuLi5dXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBiYWQgbGVuZ3RoIHZhbHVlLlxuIgorI34gbXNnc3RyICJoZXhkdW1wOiBmZWxha3RpZ3QgbMOkbmdkdsOkcmRlLlxuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogYmFkIHNraXAgdmFsdWUuXG4iCisjfiBtc2dzdHIgImhleGR1bXA6IGZlbGFrdGlndCDDtnZlcmhvcHBuaW5nc3bDpHJkZS5cbiIKKworI34gbXNnaWQgImhleGR1bXA6IFstYmNDZG92eF0gWy1lIGZtdF0gWy1mIGZtdF9maWxlXSBbLW4gbGVuZ3RoXSBbLXMgc2tpcF0gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJoZXhkdW1wOiBbLWJjQ2RvdnhdIFstZSBmbXRdIFstZiBmbXRmaWxdIFstbiBsw6RuZ2RdIFstcyDDtnZlcmhvcHBdIFtmaWwgLi4uXVxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFstZGZscGNzdV0gWytsaW5lbnVtIHwgKy9wYXR0ZXJuXSBuYW1lMSBuYW1lMiAuLi5cbiIKKyN+IG1zZ3N0ciAiYW52w6RuZG5pbmc6ICVzIFstZGZscGNzdV0gWytyYWRudW1tZXIgfCArL23Dtm5zdGVyXSBuYW1uMSBuYW1uMiAuLi5cbiIKKworI34gbXNnaWQgIi4uLmJhY2sgMSBwYWdlIgorI34gbXNnc3RyICIuLi50aWxsYmFrYSAxIHNpZGEiCisKKyN+IG1zZ2lkICIuLi5za2lwcGluZyBvbmUgbGluZSIKKyN+IG1zZ3N0ciAiLi4uaG9wcGFyIMO2dmVyIGVuIHJhZCIKKworI34gbXNnaWQgIm9kOiBvZCgxKSBoYXMgYmVlbiBkZXByZWNhdGVkIGZvciBoZXhkdW1wKDEpLlxuIgorI34gbXNnc3RyICJvZDogb2QoMSkgaGFyIGVyc2F0dHMgYXYgaGV4ZHVtcCgxKS5cbiIKKworI34gbXNnaWQgIm9kOiBoZXhkdW1wKDEpIGNvbXBhdGliaWxpdHkgZG9lc24ndCBzdXBwb3J0IHRoZSAtJWMgb3B0aW9uJXNcbiIKKyN+IG1zZ3N0ciAib2Q6IGhleGR1bXAoMSkta29tcGF0aWJpbGl0ZXQgc3TDtmRlciBpbnRlIGZsYWdnYW4gLSVjJXNcbiIKKworI34gbXNnaWQgIjsgc2VlIHN0cmluZ3MoMSkuIgorI34gbXNnc3RyICI7IHNlIHN0cmluZ3MoMSkuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogY2FuJ3QgcmVhZCAlcy5cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDoga2FuIGludGUgbMOkc2EgJXMuXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBsaW5lIHRvbyBsb25nLlxuIgorI34gbXNnc3RyICJoZXhkdW1wOiByYWRlbiDDpHIgZsO2ciBsw6VuZy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgIlNsdXQgcMOlIG1pbm5lIgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gIgorI34gbXNnc3RyICJLYW4gaW50ZSDDtnBwbmEgIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzcGFjZSIKKyN+IG1zZ3N0ciAiS2FuIGludGUgYWxsb2tlcmEgYnVmZmVydHV0cnltbWVcbiIKKworI34gbXNnaWQgInVzYWdlOiByZXYgW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJhbnbDpG5kbmluZzogcmV2IFtmaWwgLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiB0YWlsZiBbLW4gTiB8IC1OXSBsb2dmaWxlIgorI34gbXNnc3RyICJBbnbDpG5kbmluZzogdGFpbGYgbG9nZ2ZpbFxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLWkgXSBbIC10VGVybSBdIGZpbGUuLi5cbiIKKyN+IG1zZ3N0ciAiYW52w6RuZG5pbmc6ICVzIFsgLWkgXSBbIC10VGVybWluYWwgXSBmaWwuLi5cbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIuXG4iCisjfiBtc2dzdHIgIkthbiBpbnRlIGFsbG9rZXJhIGJ1ZmZlcnQuXG4iCisKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5IHdoZW4gZ3Jvd2luZyBidWZmZXIuXG4iCisjfiBtc2dzdHIgIlNsdXQgcMOlIG1pbm5lIHZpZCB2w6R4YW5kZSBhdiBidWZmZXJ0LlxuIgorCisjfiBtc2dpZCAiJXM6IGVycm9yOiBsYWJlbCBvbmx5IHdpdGggdjEgc3dhcCBhcmVhXG4iCisjfiBtc2dzdHIgIiVzOiBmZWw6IGV0aWtldHQgZW5kYXN0IG1lZCB2MSB2w6R4bGluZ3N1dHJ5bW1lXG4iCisKKyN+IG1zZ2lkICJmYXRhbDogZmlyc3QgcGFnZSB1bnJlYWRhYmxlIgorI34gbXNnc3RyICLDtmRlc2RpZ2VydDogZsO2cnN0YSBzaWRhbiDDpHIgb2zDpHNiYXIiCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IERldmljZSAnJXMnIGNvbnRhaW5zIGEgdmFsaWQgU3VuIGRpc2tsYWJlbC5cbiIKKyN+ICJUaGlzIHByb2JhYmx5IG1lYW5zIGNyZWF0aW5nIHYwIHN3YXAgd291bGQgZGVzdHJveSB5b3VyIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gIk5vIHN3YXAgY3JlYXRlZC4gSWYgeW91IHJlYWxseSB3YW50IHRvIGNyZWF0ZSBzd2FwIHYwIG9uIHRoYXQgZGV2aWNlLCB1c2VcbiIKKyN+ICJ0aGUgLWYgb3B0aW9uIHRvIGZvcmNlIGl0LlxuIgorI34gbXNnc3RyICIiCisjfiAiJXM6IEVuaGV0ZW4gXCIlc1wiIGlubmVow6VsbGVyIGVuIGdpbHRpZyBTdW4tZGlza2V0aWtldHQuXG4iCisjfiAiRGV0dGEgaW5uZWLDpHIgdHJvbGlndHZpcyBhdHQgc2thcGFuZGV0IGF2IHYwLXbDpHhsaW5nc3V0cnltbWUgc2t1bGxlIFxuIgorI34gImbDtnJzdMO2cmEgZGluIHBhcnRpdGlvbnN0YWJlbGwuXG4iCisjfiAiSW5nZXQgdsOkeGxpbmdzdXRyeW1tZSBoYXIgc2thcGF0cy4gT20gZHUgdmVya2xpZ2VuIHZpbGwgc2thcGEgdjAtXG4iCisjfiAidsOkeGxpbmdzdXRyeW1tZSBww6UgZGVuIGVuaGV0ZW4ga2FuIGR1IGFudsOkbmRhIGZsYWdnYW4gLWYgZsO2ciBhdHQgdHZpbmdhXG4iCisjfiAiZnJhbSBkZXQuXG4iCisKKyN+IG1zZ2lkICJMaW51eCBleHQyIgorI34gbXNnc3RyICJMaW51eCBleHQyIgorCisjfiBtc2dpZCAiTGludXggZXh0MyIKKyN+IG1zZ3N0ciAiTGludXggZXh0MyIKKworI34gbXNnaWQgIkxpbnV4IFhGUyIKKyN+IG1zZ3N0ciAiTGludXggWEZTIgorCisjfiBtc2dpZCAiTGludXggSkZTIgorI34gbXNnc3RyICJMaW51eCBKRlMiCisKKyN+IG1zZ2lkICJMaW51eCBSZWlzZXJGUyIKKyN+IG1zZ3N0ciAiTGludXggUmVpc2VyRlMiCisKKyN+IG1zZ2lkICJPUy8yIElGUyIKKyN+IG1zZ3N0ciAiT1MvMiBJRlMiCisKKyN+IG1zZ2lkICJOVEZTIgorI34gbXNnc3RyICJOVEZTIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiBmZGlzayBbLWIgU1NaXSBbLXVdIERJU0sgICAgIENoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICIgICAgICAgZmRpc2sgLWwgWy1iIFNTWl0gWy11XSBESVNLICBMaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorI34gIiAgICAgICBmZGlzayAtcyBQQVJUSVRJT04gICAgICAgICAgIEdpdmUgcGFydGl0aW9uIHNpemUocykgaW4gYmxvY2tzXG4iCisjfiAiICAgICAgIGZkaXNrIC12ICAgICAgICAgICAgICAgICAgICAgR2l2ZSBmZGlzayB2ZXJzaW9uXG4iCisjfiAiSGVyZSBESVNLIGlzIHNvbWV0aGluZyBsaWtlIC9kZXYvaGRiIG9yIC9kZXYvc2RhXG4iCisjfiAiYW5kIFBBUlRJVElPTiBpcyBzb21ldGhpbmcgbGlrZSAvZGV2L2hkYTdcbiIKKyN+ICItdTogZ2l2ZSBTdGFydCBhbmQgRW5kIGluIHNlY3RvciAoaW5zdGVhZCBvZiBjeWxpbmRlcikgdW5pdHNcbiIKKyN+ICItYiAyMDQ4OiAoZm9yIGNlcnRhaW4gTU8gZGlza3MpIHVzZSAyMDQ4LWJ5dGUgc2VjdG9yc1xuIgorI34gbXNnc3RyICIiCisjfiAiQW52w6RuZG5pbmc6IGZkaXNrIFstYiBTU1pdIFstdV0gRElTSyAgICAgw4RuZHJhIHBhcnRpdGlvbnN0YWJlbGxcbiIKKyN+ICIgICAgICAgICAgICBmZGlzayAtbCBbLWIgU1NaXSBbLXVdIERJU0sgIExpc3RhIHBhcnRpdGlvbnN0YWJlbGwoZXIpXG4iCisjfiAiICAgICAgICAgICAgZmRpc2sgLXMgUEFSVElUSU9OICAgICAgICAgICBWaXNhIHBhcnRpdGlvbnNzdG9ybGVrKGFyKSBpIGJsb2NrXG4iCisjfiAiICAgICAgICAgICAgZmRpc2sgLXYgICAgICAgICAgICAgICAgICAgICBWaXNhIGZkaXNrcyB2ZXJzaW9uc251bW1lclxuIgorI34gIkRJU0sgw6RyIG7DpWdvbnRpbmcgbGlrbmFuZGUgL2Rldi9oZGIgZWxsZXIgL2Rldi9zZGFcbiIKKyN+ICJvY2ggUEFSVElUSU9OIMOkciBuw6Vnb250aW5nIGxpa25hbmRlIC9kZXYvaGRhN1xuIgorI34gIi11OiB2aXNhIGLDtnJqYW4gb2NoIHNsdXQgaSBzZWt0b3JlciAoaXN0w6RsbGV0IGbDtnIgY3lsaW5kcmFyKVxuIgorI34gIi1iIDIwNDg6IChmw7ZyIHZpc3NhIE1PLWVuaGV0ZXIpIGFudsOkbmQgMjA0OC1ieXRlc3Nla3RvcmVyXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IGZkaXNrIFstbF0gWy1iIFNTWl0gWy11XSBkZXZpY2VcbiIKKyN+ICJFLmcuOiBmZGlzayAvZGV2L2hkYSAgKGZvciB0aGUgZmlyc3QgSURFIGRpc2spXG4iCisjfiAiICBvcjogZmRpc2sgL2Rldi9zZGMgIChmb3IgdGhlIHRoaXJkIFNDU0kgZGlzaylcbiIKKyN+ICIgIG9yOiBmZGlzayAvZGV2L2VkYSAgKGZvciB0aGUgZmlyc3QgUFMvMiBFU0RJIGRyaXZlKVxuIgorI34gIiAgb3I6IGZkaXNrIC9kZXYvcmQvYzBkMCAgb3I6IGZkaXNrIC9kZXYvaWRhL2MwZDAgIChmb3IgUkFJRCBkZXZpY2VzKVxuIgorI34gIiAgLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJBbnbDpG5kbmluZzogZmRpc2sgWy1sXSBbLWIgU1NaXSBbLXVdIGVuaGV0XG4iCisjfiAiRXhlbXBlbHZpczogZmRpc2sgL2Rldi9oZGEgIChmw7ZyIGRlbiBmw7Zyc3RhIElERS1kaXNrZW4pXG4iCisjfiAiICAgICBlbGxlcjogZmRpc2sgL2Rldi9zZGMgIChmw7ZyIGRlbiB0cmVkamUgU0NTSS1kaXNrZW4pXG4iCisjfiAiICAgICBlbGxlcjogZmRpc2sgL2Rldi9lZGEgIChmw7ZyIGRlbiBmw7Zyc3RhIFBTLzItRVNESS1lbmhldGVuKVxuIgorI34gIiAgICAgZWxsZXI6IGZkaXNrIC9kZXYvcmQvYzBkMCBlbGxlcjogZmRpc2sgL2Rldi9pZGEvYzBkMCAoZsO2ciBSQUlELWVuaGV0ZXIpXG4iCisjfiAiICAgICAuLi5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJUaGUgbnVtYmVyIG9mIGN5bGluZGVycyBmb3IgdGhpcyBkaXNrIGlzIHNldCB0byAlZC5cbiIKKyN+ICJUaGVyZSBpcyBub3RoaW5nIHdyb25nIHdpdGggdGhhdCwgYnV0IHRoaXMgaXMgbGFyZ2VyIHRoYW4gMTAyNCxcbiIKKyN+ICJhbmQgY291bGQgaW4gY2VydGFpbiBzZXR1cHMgY2F1c2UgcHJvYmxlbXMgd2l0aDpcbiIKKyN+ICIxKSBzb2Z0d2FyZSB0aGF0IHJ1bnMgYXQgYm9vdCB0aW1lIChlLmcuLCBvbGQgdmVyc2lvbnMgb2YgTElMTylcbiIKKyN+ICIyKSBib290aW5nIGFuZCBwYXJ0aXRpb25pbmcgc29mdHdhcmUgZnJvbSBvdGhlciBPU3NcbiIKKyN+ICIgICAoZS5nLiwgRE9TIEZESVNLLCBPUy8yIEZESVNLKVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQW50YWxldCBjeWxpbmRyYXIgZsO2ciBkZW5uYSBkaXNrIMOkciBzYXR0IHRpbGwgJWQuXG4iCisjfiAiRGV0IMOkciBpbmdldCBmZWwgbWVkIGRldCwgbWVuIGRldCDDpHIgc3TDtnJyZSDDpG4gMTAyNCwgb2NoIGthbiBpXG4iCisjfiAidmlzc2Ega29uZmlndXJhdGlvbmVyIG9yc2FrYSBwcm9ibGVtIG1lZDpcbiIKKyN+ICIxKSBwcm9ncmFtdmFyYSBzb20ga8O2ciB1bmRlciB1cHBzdGFydCAoZXhlbXBlbHZpcyBnYW1sYSB2ZXJzaW9uZXJcbiIKKyN+ICIgICBhdiBMSUxPKVxuIgorI34gIjIpIHN0YXJ0LSBvY2ggcGFydGl0aW9uZXJpbmdzcHJvZ3JhbXZhcmEgZnLDpW4gYW5kcmEgb3BlcmF0aXZzeXN0ZW1cbiIKKyN+ICIgICAoZXhlbWVwbHZpcyBET1MgRkRJU0ssIE9TLzIgRkRJU0spXG4iCisKKyN+IG1zZ2lkICIjIHBhcnRpdGlvbiB0YWJsZSBvZiAlc1xuIgorI34gbXNnc3RyICIjIHBhcnRpdGlvbnN0YWJlbGwgZsO2ciAlc1xuIgorCisjfiBtc2dpZCAiY2FsbGluZyBvcGVuX3R0eVxuIgorI34gbXNnc3RyICJhbnJvcGFyIG9wZW5fdHR5XG4iCisKKyN+IG1zZ2lkICJjYWxsaW5nIHRlcm1pb19pbml0XG4iCisjfiBtc2dzdHIgImFucm9wYXIgdGVybWlvX2luaXRcbiIKKworI34gbXNnaWQgIndyaXRpbmcgaW5pdCBzdHJpbmdcbiIKKyN+IG1zZ3N0ciAic2tyaXZlciBpbml0aWVyaW5nc3N0csOkbmdcbiIKKworI34gbXNnaWQgImJlZm9yZSBhdXRvYmF1ZFxuIgorI34gbXNnc3RyICJmw7ZyZSBhdXRvYmF1ZFxuIgorCisjfiBtc2dpZCAid2FpdGluZyBmb3IgY3ItbGZcbiIKKyN+IG1zZ3N0ciAidsOkbnRhciBww6UgY3ItbGZcbiIKKworI34gbXNnaWQgInJlYWRpbmcgbG9naW4gbmFtZVxuIgorI34gbXNnc3RyICJsw6RzZXIgYW52w6RuZGFybmFtblxuIgorCisjfiBtc2dpZCAiYWZ0ZXIgZ2V0b3B0IGxvb3BcbiIKKyN+IG1zZ3N0ciAiZWZ0ZXIgZ2V0b3B0LXNsaW5nYVxuIgorCisjfiBtc2dpZCAiZXhpdGluZyBwYXJzZWFyZ3NcbiIKKyN+IG1zZ3N0ciAiYXZzbHV0YXIgcGFyc2VhcmdzXG4iCisKKyN+IG1zZ2lkICJlbnRlcmVkIHBhcnNlX3NwZWVkc1xuIgorI34gbXNnc3RyICJnaWNrIGluIGkgcGFyc2Vfc3BlZWRzXG4iCisKKyN+IG1zZ2lkICJleGl0aW5nIHBhcnNlc3BlZWRzXG4iCisjfiBtc2dzdHIgImF2c2x1dGFyIHBhcnNlc3BlZWRzXG4iCisKKyN+IG1zZ2lkICJvcGVuKDIpXG4iCisjfiBtc2dzdHIgIm9wZW4oMilcbiIKKworI34gbXNnaWQgImR1cGluZ1xuIgorI34gbXNnc3RyICJkdXBsaWNlcmFyXG4iCisKKyN+IG1zZ2lkICJ0ZXJtX2lvIDJcbiIKKyN+IG1zZ3N0ciAidGVybV9pbyAyXG4iCisKKyN+IG1zZ2lkICJjaGZuOiBQQU0gRmFpbHVyZSwgYWJvcnRpbmc6ICVzXG4iCisjfiBtc2dzdHIgImNoZm46IFBBTS1mZWwsIGF2YnJ5dGVyOiAlc1xuIgorCisjfiBtc2dpZCAiV2FybmluZzogXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gL2V0Yy9zaGVsbHNcbiIKKyN+IG1zZ3N0ciAiVmFybmluZzogXCIlc1wiIGZpbm5zIGludGUgbWVkIGkgL2V0Yy9zaGVsbHNcbiIKKworI34gbXNnaWQgIkNhbid0IHJlYWQgJXMsIGV4aXRpbmcuIgorI34gbXNnc3RyICJLYW4gaW50ZSBsw6RzYSAlcywgYXZzbHV0YXIuIgorCisjfiBtc2dpZCAibG9naW46IFBBTSBGYWlsdXJlLCBhYm9ydGluZzogJXNcbiIKKyN+IG1zZ3N0ciAibG9naW46IFBBTS1mZWwsIGF2YnJ5dGVyOiAlc1xuIgorCisjfiBtc2dpZCAidGltZW91dCA9ICVkLCBxdWlldCA9ICVkLCByZWJvb3QgPSAlZFxuIgorI34gbXNnc3RyICJ0aW1lLW91dCA9ICVkLCB0eXN0ID0gJWQsIG9tc3RhcnQgPSAlZFxuIgorCisjfiBtc2dpZCAibmFtZWk6IHVuYWJsZSB0byBnZXQgY3VycmVudCBkaXJlY3RvcnkgLSAlc1xuIgorI34gbXNnc3RyICJuYW1laToga3VuZGUgaW50ZSBmw6UgdGFnIGkgYWt0dWVsbCBrYXRhbG9nIC0gJXNcbiIKKworI34gbXNnaWQgIm5hbWVpOiB1bmFibGUgdG8gY2hkaXIgdG8gJXMgLSAlcyAoJWQpXG4iCisjfiBtc2dzdHIgIm5hbWVpOiBrdW5kZSBpbnRlIGJ5dGEga2F0YWxvZyB0aWxsICVzIC0gJXMgKCVkKVxuIgorCisjfiBtc2dpZCAibmFtZWk6IGNvdWxkIG5vdCBjaGRpciB0byByb290IVxuIgorI34gbXNnc3RyICJuYW1laToga3VuZGUgaW50ZSBieXRhIGthdGFsb2cgdGlsbCByb3RlbiFcbiIKKworI34gbXNnaWQgIm5hbWVpOiBjb3VsZCBub3Qgc3RhdCByb290IVxuIgorI34gbXNnc3RyICJuYW1laToga3VuZGUgaW50ZSB0YSBzdGF0dXMgcMOlIHJvdGVuIVxuIgorCisjfiBtc2dpZCAibmFtZWk6IGJ1ZiBvdmVyZmxvd1xuIgorI34gbXNnc3RyICJuYW1laTogYnVmZmVydHNwaWxsXG4iCisKKyN+IG1zZ2lkICIgPyBjb3VsZCBub3QgY2hkaXIgaW50byAlcyAtICVzICglZClcbiIKKyN+IG1zZ3N0ciAiID8ga3VuZGUgaW50ZSBieXRhIGthdGFsb2cgdGlsbCAlcyAtICVzICglZClcbiIKKworI34gbXNnaWQgIiA/IHByb2JsZW1zIHJlYWRpbmcgc3ltbGluayAlcyAtICVzICglZClcbiIKKyN+IG1zZ3N0ciAiID8gcHJvYmxlbSB2aWQgbMOkc25pbmcgYXYgc3ltYm9saXNrYSBsw6Rua2VuICVzIC0gJXMgKCVkKVxuIgorCisjfiBtc2dpZCAiICAqKiogRVhDRUVERUQgVU5JWCBMSU1JVCBPRiBTWU1MSU5LUyAqKipcbiIKKyN+IG1zZ3N0ciAiICAqKiogw5ZWRVJTS1JFRCBVTklYLUdSw4ROU0VOIEbDllIgU1lNQk9MSVNLQSBMw4ROS0FSICoqKlxuIgorCisjfiBtc2dpZCAibmFtZWk6IHVua25vd24gZmlsZSB0eXBlIDAlMDZvIG9uIGZpbGUgJXNcbiIKKyN+IG1zZ3N0ciAibmFtZWk6IG9rw6RuZCBmaWx0eXAgMCUwNm8gcMOlIGZpbGVuICVzXG4iCisKKyN+IG1zZ2lkICJjb3VsZG4ndCByZWFkICVzLCBhbmQgY2Fubm90IGlvY3RsIGR1bXBcbiIKKyN+IG1zZ3N0ciAia3VuZGUgaW50ZSBsw6RzYSAlcywgb2NoIGthbiBpbnRlIGR1bXBhIGlvY3RsXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ29pbmcgdG8gbW91bnQgJXMgYnkgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGtvbW1lciBhdHQgbW9udGVyYSAlcyBlZnRlciAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIExBQkVMPSwgbm8gVVVJRD0sIGdvaW5nIHRvIG1vdW50ICVzIGJ5IHBhdGhcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGluZ2VuIExBQkVMPSwgaW5nZXQgVVVJRD0sIGtvbW1lciBhdHQgbW9udGVyYSAlcyBlZnRlciBzw7ZrdsOkZ1xuIgorCisjfiBtc2dpZCAiLCBvZmZzZXQgJWxsZCIKKyN+IG1zZ3N0ciAiLCBhdnN0w6VuZCAlbGxkIgorCisjfiBtc2dpZCAiJXM6IGNvdWxkIG5vdCBmaW5kIGFueSBkZXZpY2UgL2Rldi9sb29wIyIKKyN+IG1zZ3N0ciAiJXM6IGt1bmRlIGludGUgaGl0dGEgbsOlZ29uIC9kZXYvbG9vcCMtZW5oZXQiCisKKyN+IG1zZ2lkICJtb3VudDogYmFja2dyb3VuZGluZyBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGbDtnJsw6RnZ2VyIFwiJXNcIiB0aWxsIGJha2dydW5kZW5cbiIKKworI34gbXNnaWQgIm1vdW50OiBnaXZpbmcgdXAgXCIlc1wiXG4iCisjfiBtc2dzdHIgIm1vdW50OiBnZXIgdXBwIFwiJXNcIlxuIgorCisjfiBtc2dpZCAiIgorI34gInVzYWdlOiAlcyBbLWhWXVxuIgorI34gIiAgICAgICAlcyAtYSBbLWVdIFstdl1cbiIKKyN+ICIgICAgICAgJXMgWy12XSBbLXAgcHJpb3JpdHldIHNwZWNpYWx8TEFCRUw9dm9sdW1lX25hbWUgLi4uXG4iCisjfiAiICAgICAgICVzIFstc11cbiIKKyN+IG1zZ3N0ciAiIgorI34gImFudsOkbmRuaW5nOiAlcyBbLWhWXVxuIgorI34gIiAgICAgICAlcyAtYSBbLWVdIFstdl1cbiIKKyN+ICIgICAgICAgJXMgWy12XSBbLXAgcHJpb3JpdGV0XSBzcGVjaWFsfExBQkVMPXZvbHltbmFtbiAuLi5cbiIKKyN+ICIgICAgICAgJXMgWy1zXVxuIgorCisjfiBtc2dpZCAiIgorI34gInVzYWdlOiAlcyBbLWhWXVxuIgorI34gIiAgICAgICAlcyAtYSBbLXZdXG4iCisjfiAiICAgICAgICVzIFstdl0gc3BlY2lhbCAuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gImFudsOkbmRuaW5nOiAlcyBbLWhWXVxuIgorI34gIiAgICAgICAgICAgICVzIC1hIFstdl1cbiIKKyN+ICIgICAgICAgICAgICAlcyBbLXZdIHNwZWNpYWwgLi4uXG4iCisKKyN+IG1zZ2lkICIlczogY2Fubm90IGNhbm9uaWNhbGl6ZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGthbiBpbnRlIGfDtnJhICVzIGthbm9uaXNrOiAlc1xuIgorCisjfiBtc2dpZCAiJXM6IGNhbm5vdCBzdGF0ICVzOiAlc1xuIgorI34gbXNnc3RyICIlczoga2FuIGludGUgdGEgc3RhdHVzIHDDpSAlczogJXNcbiIKKworI34gbXNnaWQgImNvdWxkIG5vdCB1bW91bnQgJXMgLSB0cnlpbmcgJXMgaW5zdGVhZFxuIgorI34gbXNnc3RyICJrdW5kZSBpbnRlIGF2bW9udGVyYSAlcyAtIGbDtnJzw7ZrZXIgbWVkICVzIGlzdMOkbGxldFxuIgorCisjfiBtc2dpZCAidXNhZ2UgOiAlcyAtYXNtcSAtdGNsdXAgXG4iCisjfiBtc2dzdHIgImFudsOkbmRuaW5nOiAlcyAtYXNtcSAtdGNsdXBcbiIKKworI34gbXNnaWQgIlx0JXMgWy1zIC1tIC1xXSAtaSBpZFxuIgorI34gbXNnc3RyICJcdCVzIFstcyAtbSAtcV0gLWkgaWRcbiIKKworI34gbXNnaWQgIlx0JXMgLWggZm9yIGhlbHAuXG4iCisjfiBtc2dzdHIgIlx0JXMgLWggZsO2ciBoasOkbHAuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiUmVzb3VyY2UgU3BlY2lmaWNhdGlvbjpcbiIKKyN+ICJcdC1tIDogc2hhcmVkX21lbVxuIgorI34gIlx0LXEgOiBtZXNzYWdlc1xuIgorI34gbXNnc3RyICIiCisjfiAiUmVzdXJzc3BlY2lmaWthdGlvbjpcbiIKKyN+ICJcdC1tIDogZGVsYXQgbWlubmVcbiIKKyN+ICJcdC1xIDogbWVkZGVsYW5kZW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdC1zIDogc2VtYXBob3Jlc1xuIgorI34gIlx0LWEgOiBhbGwgKGRlZmF1bHQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcdC1zIDogc2VtYWZvcmVyXG4iCisjfiAiXHQtYSA6IGFsbGEgKHN0YW5kYXJkKVxuIgorCisjfiBtc2dpZCAiIgorI34gIk91dHB1dCBGb3JtYXQ6XG4iCisjfiAiXHQtdCA6IHRpbWVcbiIKKyN+ICJcdC1wIDogcGlkXG4iCisjfiAiXHQtYyA6IGNyZWF0b3JcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlV0ZGF0YWZvcm1hdDpcbiIKKyN+ICJcdC10IDogdGlkXG4iCisjfiAiXHQtcCA6IHBpZFxuIgorI34gIlx0LWMgOiBza2FwYXJlXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXHQtbCA6IGxpbWl0c1xuIgorI34gIlx0LXUgOiBzdW1tYXJ5XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcdC1sIDogZ3LDpG5zZXJcbiIKKyN+ICJcdC11IDogc2FtbWFuZmF0dG5pbmdcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTIwcyAlLTIwcyAlLTIwc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTIwcyAlLTIwcyAlLTIwc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTJzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTJzXG4iCisKKyN+IG1zZ2lkICIlLThzICUtMTBzICUtMjYuMjRzICUtMjYuMjRzXG4iCisjfiBtc2dzdHIgIiUtOHMgJS0xMHMgJS0yNi4yNHMgJS0yNi4yNHNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iCisKKyN+IG1zZ2lkICIlLThzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisjfiBtc2dzdHIgIiUtOHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTJzICUtMTJzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTJzICUtMTJzXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogcmRldiBbIC1ydiBdIFsgLW8gT0ZGU0VUIF0gWyBJTUFHRSBbIFZBTFVFIFsgT0ZGU0VUIF0gXSBdIgorI34gbXNnc3RyICJhbnbDpG5kbmluZzogcmRldiBbIC1ydiBdIFsgLW8gQVZTVMOFTkQgXSBbIEJJTEQgWyBWw4RSREUgWyBBVlNUw4VORCBdIF0gXSIKKworI34gbXNnaWQgIiAgcmRldiAvZGV2L2ZkMCAgKG9yIHJkZXYgL2xpbnV4LCBldGMuKSBkaXNwbGF5cyB0aGUgY3VycmVudCBST09UIGRldmljZSIKKyN+IG1zZ3N0ciAiICByZGV2IC9kZXYvZmQwICAoZWxsZXIgcmRldiAvbGludXgsIG9zdi4pIHZpc2FyIGRlbiBha3R1ZWxsYSBST1QtZW5oZXRlbiIKKworI34gbXNnaWQgIiAgcmRldiAvZGV2L2ZkMCAvZGV2L2hkYTIgICAgICAgICBzZXRzIFJPT1QgdG8gL2Rldi9oZGEyIgorI34gbXNnc3RyICIgIHJkZXYgL2Rldi9mZDAgL2Rldi9oZGEyICAgICAgICAgc3TDpGxsZXIgaW4gUk9UIHRpbGwgL2Rldi9oZGEyIgorCisjfiBtc2dpZCAiICByZGV2IC1SIC9kZXYvZmQwIDEgICAgICAgICAgICAgIHNldCB0aGUgUk9PVEZMQUdTIChyZWFkb25seSBzdGF0dXMpIgorI34gbXNnc3RyICIgIHJkZXYgLVIgL2Rldi9mZDAgMSAgICAgICAgICAgICAgc3TDpGxsZXIgaW4gUk9URkxBR0dPUk5BIChlbmRhc3QgbMOkc2JhcikiCisKKyN+IG1zZ2lkICIgIHJkZXYgLXIgL2Rldi9mZDAgNjI3ICAgICAgICAgICAgc2V0IHRoZSBSQU1ESVNLIHNpemUiCisjfiBtc2dzdHIgIiAgcmRldiAtciAvZGV2L2ZkMCA2MjcgICAgICAgICAgICBzdMOkbGxlciBpbiBSQU1ESVNLLXN0b3JsZWtlbiIKKworI34gbXNnaWQgIiAgcmRldiAtdiAvZGV2L2ZkMCAxICAgICAgICAgICAgICBzZXQgdGhlIGJvb3R1cCBWSURFT01PREUiCisjfiBtc2dzdHIgIiAgcmRldiAtdiAvZGV2L2ZkMCAxICAgICAgICAgICAgICBzdMOkbGxlciBpbiBHUkFGSUtMw4RHRVQgdmlkIHVwcHN0YXJ0IgorCisjfiBtc2dpZCAiICByb290ZmxhZ3MgLi4uICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgcmRldiAtUiIKKyN+IG1zZ3N0ciAiICByb290ZmxhZ3MgLi4uICAgICAgICAgICAgICAgICAgIHNhbW1hIHNvbSByZGV2IC1SIgorCisjfiBtc2dpZCAiICByYW1zaXplIC4uLiAgICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgcmRldiAtciIKKyN+IG1zZ3N0ciAiICByYW1zaXplIC4uLiAgICAgICAgICAgICAgICAgICAgIHNhbW1hIHNvbSByZGV2IC1yIgorCisjfiBtc2dpZCAiICB2aWRtb2RlIC4uLiAgICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgcmRldiAtdiIKKyN+IG1zZ3N0ciAiICB2aWRtb2RlIC4uLiAgICAgICAgICAgICAgICAgICAgIHNhbW1hIHNvbSByZGV2IC12IgorCisjfiBtc2dpZCAiTm90ZTogdmlkZW8gbW9kZXMgYXJlOiAtMz1Bc2ssIC0yPUV4dGVuZGVkLCAtMT1Ob3JtYWxWZ2EsIDE9a2V5MSwgMj1rZXkyLC4uLiIKKyN+IG1zZ3N0ciAiT2JzOiBncmFmaWtsw6RnZW4gw6RyOiAtMz1GcsOlZ2EsIC0yPVV0w7ZrYXQsIC0xPU5vcm1hbFZnYSwgMT1ueWNrZWwxLCAyPW55Y2tlbDIsLi4uIgorCisjfiBtc2dpZCAiICAgICAgdXNlIC1SIDEgdG8gbW91bnQgcm9vdCByZWFkb25seSwgLVIgMCBmb3IgcmVhZC93cml0ZS4iCisjfiBtc2dzdHIgIiAgICAgIGFudsOkbmQgLVIgMSBmw7ZyIGF0dCBtb250ZXJhIHJvdGVuIGVuZGFzdCBsw6RzYmFyLCAtUiAwIGbDtnIgbMOkcy9za3Jpdi4iCisKKyN+IG1zZ2lkICJtaXNzaW5nIGNvbW1hIgorI34gbXNnc3RyICJrb21tYSBzYWtuYXMiCisKKyN+IG1zZ2lkICJ1c2FnZTogcmVuaWNlIHByaW9yaXR5IFsgWyAtcCBdIHBpZHMgXSBbIFsgLWcgXSBwZ3JwcyBdIFsgWyAtdSBdIHVzZXJzIF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gImFudsOkbmRuaW5nOiByZW5pY2UgcHJpb3JpdGV0IFsgWyAtcCBdIHBpZCBdIFsgWyAtZyBdIHBncnVwcGVyIF1cbiIKKyN+ICIgICAgICAgICAgICBbIFsgLXUgXSBhbnbDpG5kYXJlIF1cbiIKKworI34gbXNnaWQgIlx0LSVjXHRFbmFibGUgJXNcbiIKKyN+IG1zZ3N0ciAiXHQtJWNcdEFrdGl2ZXJhICVzXG4iCisKKyN+IG1zZ2lkICJgJXMnOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIKKyN+IG1zZ3N0ciAiXCIlc1wiOiBmZWxha3RpZyBrYXRhbG9nOiBcIi5cIiBrb21tZXIgaW50ZSBmw7Zyc3RcbiIKKworI34gbXNnaWQgImAlcyc6IGJhZCBkaXJlY3Rvcnk6ICcuLicgaXNuJ3Qgc2Vjb25kXG4iCisjfiBtc2dzdHIgIlwiJXNcIjogZmVsYWt0aWcga2F0YWxvZzogXCIuLlwiIGtvbW1lciBpbnRlIHDDpSBhbmRyYSBwbGF0c1xuIgorCisjfiBtc2dpZCAiRXhjZWVkZWQgTUFYRU5UUklFUy4gIFJhaXNlIHRoaXMgdmFsdWUgaW4gbWtjcmFtZnMuYyBhbmQgcmVjb21waWxlLiAgRXhpdGluZy5cbiIKKyN+IG1zZ3N0ciAiw5Z2ZXJza3JlZCBNQVhFTlRSSUVTLiDDlmthIGRldHRhIHbDpHJkZSBpIG1rY3JhbWZzLmMgb2NoIGtvbXBpbGVyYSBvbS4gQXZzbHV0YXIuXG4iCisKKyN+IG1zZ2lkICJBc3N1bWluZyBwYWdlcyBvZiBzaXplICVkIChub3QgJWQpXG4iCisjfiBtc2dzdHIgIkFudGFyIHNpZHN0b3JsZWtlbiAlZCAoaW50ZSAlZClcbiIKKworI34gbXNnaWQgIlRvdGFsIGFsbG9jYXRlZCBzZWN0b3JzICVkIGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSAlbGxkXG4iCisjfiBtc2dzdHIgIlRvdGFsYSBhbnRhbGV0IGFsbG9rZXJhZGUgc2VrdG9yZXIgJWQgc3TDtnJyZSDDpG4gbWF4aW1hbGEgJWxsZFxuIgorCisjfiBtc2dpZCAiQXV0b2NvbmZpZ3VyZSBmb3VuZCBhICVzJXMlc1xuIgorI34gbXNnc3RyICJBdXRvbWF0aXNrYSBrb25maWd1cmF0aW9uZW4gaGl0dGFkZSBlbiAlcyVzJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJEcml2ZSB0eXBlXG4iCisjfiAiICAgPyAgIGF1dG8gY29uZmlndXJlXG4iCisjfiAiICAgMCAgIGN1c3RvbSAod2l0aCBoYXJkd2FyZSBkZXRlY3RlZCBkZWZhdWx0cykiCisjfiBtc2dzdHIgIiIKKyN+ICJFbmhldHN0eXBcbiIKKyN+ICIgICA/ICAga29uZmlndXJlcmEgYXV0b21hdGlza3RcbiIKKyN+ICIgICAwICAgYW5wYXNzYWQgKG1lZCBow6VyZHZhcnVkZXRla3RlcmFkZSBzdGFuZGFyZGFsdGVybmF0aXYpIgorCisjfiBtc2dpZCAiU2VsZWN0IHR5cGUgKD8gZm9yIGF1dG8sIDAgZm9yIGN1c3RvbSk6ICIKKyN+IG1zZ3N0ciAiVsOkbGogdHlwICg/IGbDtnIgYXV0b21hdGlzayBrb25maWd1cmF0aW9uLCAwIGbDtnIgYW5wYXNzYWQpOiAiCisKKyN+IG1zZ2lkICJZb3UgbWF5IGNoYW5nZSBhbGwgdGhlIGRpc2sgcGFyYW1zIGZyb20gdGhlIHggbWVudSIKKyN+IG1zZ3N0ciAiRHUga2FuIMOkbmRyYSBhbGxhIGRpc2thcGFyYW1ldHJhciBmcsOlbiB4LW1lbnluIgorCisjfiBtc2dpZCAiMyw1XCIgZmxvcHB5IgorI34gbXNnc3RyICIzLDUtdHVtc2Rpc2tldHQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgZnJvbSB1dGlsLWxpbnV4LSVzXG4iCisjfiBtc2dzdHIgIiVzIGZyw6VuICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGVycm9yOiB0aGUgbGFiZWwgJXMgb2NjdXJzIG9uIGJvdGggJXMgYW5kICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBldGlrZXR0ZW4gJXMgZsO2cmVrb21tZXIgYsOlZGUgcMOlICVzIG9jaCAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjb3VsZCBub3Qgb3BlbiAlcywgc28gVVVJRCBhbmQgTEFCRUwgY29udmVyc2lvbiBjYW5ub3QgYmUgZG9uZS5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGt1bmRlIGludGUgw7ZwcG5hICVzLCBzw6UgVVVJRCBvY2ggRVRJS0VUVC1rb252ZXJ0ZXJpbmcga2FuIGludGUgdXRmw7ZyYXMuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGJhZCBVVUlEIgorI34gbXNnc3RyICJtb3VudDogZmVsYWt0aWcgVVVJRCIKKworI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgd2l0aCBuZnMgbW91bnQgdmVyc2lvbiA0LCB0cnlpbmcgMy4uXG4iCisjfiBtc2dzdHIgIm1vdW50OiBtaXNzbHlja2FkZXMgbWVkIG1vbnRlcmluZyBhdiBuZnMgdmVyc2lvbiA0LCBmw7Zyc8O2a2VyIG1lZCAzLi4uXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZXJyb3Igd2hpbGUgZ3Vlc3NpbmcgZmlsZXN5c3RlbSB0eXBlXG4iCisjfiBtc2dzdHIgIm1vdW50OiBmZWwgdmlkIGdpc3NuaW5nIGF2IGZpbHN5c3RlbXN0eXBlblxuIgorCisjfiBtc2dpZCAibW91bnQ6IGV4Y2Vzc2l2ZWx5IGxvbmcgaG9zdDpkaXIgYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IMO2dmVyZHJpdmV0IGzDpW5ndCB2w6RyZDprYXRhbG9nLWFyZ3VtZW50XG4iCisKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogbXVsdGlwbGUgaG9zdG5hbWVzIG5vdCBzdXBwb3J0ZWRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHZhcm5pbmc6IGZsZXJhIHNhbXRpZGlnYSB2w6RyZG5hbW4gc3TDtmRzIGludGVcbiIKKworI34gbXNnaWQgIm1vdW50OiBkaXJlY3RvcnkgdG8gbW91bnQgbm90IGluIGhvc3Q6ZGlyIGZvcm1hdFxuIgorI34gbXNnc3RyICJtb3VudDoga2F0YWxvZyBhdHQgbW9udGVyYSDDpHIgaW50ZSBww6UgZm9ybWF0ZXQgdsOkcmQ6a2F0YWxvZ1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IGdldCBhZGRyZXNzIGZvciAlc1xuIgorI34gbXNnc3RyICJtb3VudDoga2FuIGludGUgZsOlIHRhZyBpIGFkcmVzcyBmw7ZyICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ290IGJhZCBocC0+aF9sZW5ndGhcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGZpY2sgZmVsYWt0aWcgaHAtPmhfbGVuZ3RoXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZXhjZXNzaXZlbHkgbG9uZyBvcHRpb24gYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IMO2dmVyZHJpdmV0IGzDpW5ndCBmbGFnZ2FyZ3VtZW50XG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBVbnJlY29nbml6ZWQgcHJvdG89IG9wdGlvbi5cbiIKKyN+IG1zZ3N0ciAiVmFybmluZzogT2vDpG5kIFwicHJvdG89XCItZmxhZ2dhLlxuIgorCisjfiBtc2dpZCAiV2FybmluZzogT3B0aW9uIG5hbWxlbiBpcyBub3Qgc3VwcG9ydGVkLlxuIgorI34gbXNnc3RyICJWYXJuaW5nOiBGbGFnZ2FuIG5hbWxlbiBzdMO2ZHMgaW50ZS5cbiIKKworI34gbXNnaWQgInVua25vd24gbmZzIG1vdW50IHBhcmFtZXRlcjogJXM9JWRcbiIKKyN+IG1zZ3N0ciAib2vDpG5kIG5mcy1tb250ZXJpbmdzcGFyYW1ldGVyOiAlcz0lZFxuIgorCisjfiBtc2dpZCAidW5rbm93biBuZnMgbW91bnQgb3B0aW9uOiAlcyVzXG4iCisjfiBtc2dzdHIgIm9rw6RuZCBuZnMtbW9udGVyaW5nc2ZsYWdnYTogJXMlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGdvdCBiYWQgaHAtPmhfbGVuZ3RoP1xuIgorI34gbXNnc3RyICJtb3VudDogZmljayBmZWxha3RpZyBocC0+aF9sZW5ndGg/XG4iCisKKyN+IG1zZ2lkICJuZnMgYmluZHJlc3Zwb3J0IgorI34gbXNnc3RyICJuZnMtYmluZHJlc3Zwb3J0IgorCisjfiBtc2dpZCAibmZzIHNlcnZlciByZXBvcnRlZCBzZXJ2aWNlIHVuYXZhaWxhYmxlIgorI34gbXNnc3RyICJuZnMtc2VydmVybiByYXBwb3J0ZXJhZGUgYXR0IHRqw6Ruc3RlbiB2YXIgb3RpbGxnw6RuZ2xpZyIKKworI34gbXNnaWQgInVzZWQgcG9ydG1hcHBlciB0byBmaW5kIE5GUyBwb3J0XG4iCisjfiBtc2dzdHIgImFudsOkbmRlIHBvcnRtYXBwZXIgZsO2ciBhdHQgaGl0dGEgTkZTLXBvcnRlblxuIgorCisjfiBtc2dpZCAidXNpbmcgcG9ydCAlZCBmb3IgbmZzIGRlYW1vblxuIgorI34gbXNnc3RyICJhbnbDpG5kZXIgcG9ydCAlZCBmw7ZyIG5mcy1kZW1vbmVuXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIG5mcyBzdGF0dXMgcmV0dXJuIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAib2vDpG50IG5mcy1zdGF0dXNyZXR1cnbDpHJkZTogJWQiCisKKyN+IG1zZ2lkICJob3N0OiAlcywgZGlyZWN0b3J5OiAlc1xuIgorI34gbXNnc3RyICJ2w6RyZDogJXMsIGthdGFsb2c6ICVzXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbid0IGdldCBhZGRyZXNzIGZvciAlc1xuIgorI34gbXNnc3RyICJ1bW91bnQ6IGthbiBpbnRlIGbDpSB0YWcgaSBhZHJlc3MgZsO2ciAlc1xuIgorCisjfiBtc2dpZCAidW1vdW50OiBnb3QgYmFkIGhvc3RwLT5oX2xlbmd0aFxuIgorI34gbXNnc3RyICJ1bW91bnQ6IGZpY2sgZmVsYWt0aWcgaG9zdHAtPmhfbGVuZ3RoXG4iCisKKyN+IG1zZ2lkICIlczogaW52YWxpZCBjcmFtZnMtLWJhZCBwYXRoIGxlbmd0aFxuIgorI34gbXNnc3RyICIlczogb2dpbHRpZ3QgY3JhbWZzLS1mZWxha3RpZyBzw7ZrdsOkZ3Nsw6RuZ2RcbiIKKworI34gbXNnaWQgIiVzOiBpbnZhbGlkIGNyYW1mcy0td3JvbmcgbWFnaWNcbiIKKyN+IG1zZ3N0ciAiJXM6IG9naWx0aWd0IGNyYW1mcy0tZmVsYWt0aWcgbWFnaXNrIHNpZmZyYVxuIgorCisjfiBtc2dpZCAiJXM6IHdhcm5pbmctLWZpbGUgbGVuZ3RoIHRvbyBsb25nLCBwYWRkZWQgaW1hZ2U/XG4iCisjfiBtc2dzdHIgIiVzOiB2YXJuaW5nLS1maWxsw6RuZ2RlbiDDpHIgZsO2ciBsw6VuZywgdXRmeWxsZCBhdmJpbGQ/XG4iCisKKyN+IG1zZ2lkICIlczogaW52YWxpZCBjcmFtZnMtLWNyYyBlcnJvclxuIgorI34gbXNnc3RyICIlczogb2dpbHRpZ3QgY3JhbWZzLS1jcmMtZmVsXG4iCisKKyN+IG1zZ2lkICIlczogaW52YWxpZCBjcmFtZnMtLWJhZCBzdXBlcmJsb2NrXG4iCisjfiBtc2dzdHIgIiVzOiBvZ2lsdGlndCBjcmFtZnMtLWZlbGFrdGlndCBzdXBlcmJsb2NrXG4iCisKKyN+IG1zZ2lkICJTeW50YXggZXJyb3I6ICclcydcbiIKKyN+IG1zZ3N0ciAiU3ludGF4ZmVsOiBcIiVzXCJcbiIKKworI34gbXNnaWQgIk5vIHN1Y2ggcGFyYW1ldGVyIHNldDogJyVzJ1xuIgorI34gbXNnc3RyICJJbmdlbiBzw6VkYW4gcGFyYW1ldGVyIMOkciBpbnN0w6RsbGQ6IFwiJXNcIlxuIgorCisjfiBtc2dpZCAiICAgJXMgWyAtcCBdIGRldiBuYW1lXG4iCisjfiBtc2dzdHIgIiAgICVzIFsgLXAgXSBlbmhldCBuYW1uXG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1wIF0gZGV2IHNpemUgc2VjdCBoZWFkcyB0cmFja3Mgc3RyZXRjaCBnYXAgcmF0ZSBzcGVjMSBmbXRfZ2FwXG4iCisjfiBtc2dzdHIgIiAgICVzIFsgLXAgXSBlbmhldCBzdG9ybGVrIHNla3RvcmVyIGh1dnVkZW4gc3DDpXIgdXRzdHLDpGNrbmluZyBtZWxsYW5ydW0gaGFzdGlnaGV0IHNwZWMxIGZvcm1hdGF2c3TDpW5kXG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1jIHwgLXkgfCAtbiB8IC1kIF0gZGV2XG4iCisjfiBtc2dzdHIgIiAgICVzIFsgLWMgfCAteSB8IC1uIHwgLWQgXSBlbmhldFxuIgorCisjfiBtc2dpZCAiICAgJXMgWyAtYyB8IC15IHwgLW4gXSBkZXZcbiIKKyN+IG1zZ3N0ciAiICAgJXMgWyAtYyB8IC15IHwgLW4gXSBlbmhldFxuIgorCisjfiBtc2dpZCAiY291bGRuJ3Qgb3BlbiAvZGV2L3VyYW5kb20iCisjfiBtc2dzdHIgImt1bmRlIGludGUgw7ZwcG5hIC9kZXYvdXJhbmRvbSIKKworI34gbXNnaWQgImNvdWxkbid0IHJlYWQgcmFuZG9tIGRhdGEgZnJvbSAvZGV2L3VyYW5kb20iCisjfiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2Egc2x1bXBkYXRhIGZyw6VuIC9kZXYvdXJhbmRvbSIKKworI34gbXNnaWQgImNhbid0IHN0YXQoJXMpIgorI34gbXNnc3RyICJrYW4gaW50ZSB0YSBzdGF0dXMgcMOlICVzIgorCisjfiBtc2dpZCAiJXMgZG9lc24ndCBoYXZlIHRoZSBjb3JyZWN0IGZpbGVtb2RlcyIKKyN+IG1zZ3N0ciAiJXMgaGFyIGludGUgcsOkdHQgZmlscsOkdHRpZ2hldGVyIgorCisjfiBtc2dpZCAiY2FuJ3QgcmVhZCBkYXRhIGZyb20gJXMiCisjfiBtc2dzdHIgImthbiBpbnRlIGzDpHNhIGRhdGEgZnLDpW4gJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiVG9vIG1hbnkgdXNlcnMgbG9nZ2VkIG9uIGFscmVhZHkuXG4iCisjfiAiVHJ5IGFnYWluIGxhdGVyLlxuIgorI34gbXNnc3RyICIiCisjfiAiRsO2ciBtw6VuZ2EgYW52w6RuZGFyZSDDpHIgcmVkYW4gaW5sb2dnYWRlLlxuIgorI34gIkbDtnJzw7ZrIGlnZW4gc2VuYXJlLlxuIgorCisjfiBtc2dpZCAiWW91IGhhdmUgdG9vIG1hbnkgcHJvY2Vzc2VzIHJ1bm5pbmcuXG4iCisjfiBtc2dzdHIgIkR1IGhhciBmw7ZyIG3DpW5nYSBwcm9jZXNzZXIga8O2cmFuZGUuXG4iCisKKyN+IG1zZ2lkICJUaGUgcGFzc3dvcmQgbXVzdCBoYXZlIGF0IGxlYXN0IDYgY2hhcmFjdGVycywgdHJ5IGFnYWluLlxuIgorI34gbXNnc3RyICJMw7ZzZW5vcmRldCBtw6VzdGUgaGEgbWluc3QgNiB0ZWNrZW4sIGbDtnJzw7ZrIGlnZW4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIHBhc3N3b3JkIG11c3QgY29udGFpbiBjaGFyYWN0ZXJzIG91dCBvZiB0d28gb2YgdGhlIGZvbGxvd2luZ1xuIgorI34gImNsYXNzZXM6ICB1cHBlciBhbmQgbG93ZXIgY2FzZSBsZXR0ZXJzLCBkaWdpdHMgYW5kIG5vbiBhbHBoYW51bWVyaWNcbiIKKyN+ICJjaGFyYWN0ZXJzLiBTZWUgcGFzc3dkKDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiTMO2c2Vub3JkZXQgbcOlc3RlIGlubmVow6VsbGEgdGVja2VuIHNvbSB0aWxsaMO2ciB0dsOlIGF2IGbDtmxqYW5kZSBrbGFzc2VyOlxuIgorI34gInNtw6Ugb2NoIHN0b3JhIGJva3N0w6R2ZXIsIHNpZmZyb3Igb2NoIGlja2UtYWxmYW51bWVyaXNrYSB0ZWNrZW4uIFNlXG4iCisjfiAicGFzc3dkKDEpIGbDtnIgbWVyIGluZm9ybWF0aW9uLlxuIgorCisjfiBtc2dpZCAiWW91IGNhbm5vdCByZXVzZSB0aGUgb2xkIHBhc3N3b3JkLlxuIgorI34gbXNnc3RyICJEdSBrYW4gaW50ZSDDpXRlcmFudsOkbmRhIGRldCBnYW1sYSBsw7ZzZW5vcmRldC5cbiIKKworI34gbXNnaWQgIlBsZWFzZSBkb24ndCB1c2Ugc29tZXRoaW5nIGxpa2UgeW91ciB1c2VybmFtZSBhcyBwYXNzd29yZCFcbiIKKyN+IG1zZ3N0ciAiQW52w6RuZCBpbnRlIG7DpWdvbnRpbmcgc29tIGxpa25hciBkaXR0IGFudsOkbmRhcm5hbW4gc29tIGzDtnNlbm9yZCFcbiIKKworI34gbXNnaWQgIlBsZWFzZSBkb24ndCB1c2Ugc29tZXRoaW5nIGxpa2UgeW91ciByZWFsbmFtZSBhcyBwYXNzd29yZCFcbiIKKyN+IG1zZ3N0ciAiQW52w6RuZCBpbnRlIG7DpWdvbnRpbmcgc29tIGxpa25hciBkaXR0IHZlcmtsaWdhIG5hbW4gc29tIGzDtnNlbm9yZCFcbiIKKworI34gbXNnaWQgIk9ubHkgcm9vdCBtYXkgdXNlIHRoZSBvbmUgYW5kIHR3byBhcmd1bWVudCBmb3Jtcy5cbiIKKyN+IG1zZ3N0ciAiRW5kYXN0IHJvb3Qga2FuIGFudsOkbmRhIGZvcm1lbiBtZWQgZW4gZWxsZXIgdHbDpSBhcmd1bWVudC5cbiIKKworI34gbXNnaWQgIlVzYWdlOiBwYXNzd2QgWy1mb3FzdlZdIFt1c2VyIFtwYXNzd29yZF1dXG4iCisjfiBtc2dzdHIgIkFudsOkbmRuaW5nOiBwYXNzd2QgWy1mb3FzdlZdIFthbnbDpG5kYXJlIFtsw7ZzZW5vcmRdXVxuIgorCisjfiBtc2dpZCAiQ2Fubm90IGZpbmQgbG9naW4gbmFtZSIKKyN+IG1zZ3N0ciAiS2FuIGludGUgaGl0dGEgYW52w6RuZGFybmFtbiIKKworI34gbXNnaWQgIk9ubHkgcm9vdCBjYW4gY2hhbmdlIHRoZSBwYXNzd29yZCBmb3Igb3RoZXJzLlxuIgorI34gbXNnc3RyICJFbmRhc3Qgcm9vdCBrYW4gYnl0YSBsw7ZzZW5vcmRldCDDpXQgYW5kcmEuXG4iCisKKyN+IG1zZ2lkICJDYW4ndCBmaW5kIHVzZXJuYW1lIGFueXdoZXJlLiBJcyBgJXMnIHJlYWxseSBhIHVzZXI/IgorI34gbXNnc3RyICJLYW4gaW50ZSBoaXR0YSBhbnbDpG5kYXJuYW1uZXQgbsOlZ29uc3RhbnMuIMOEciBcIiVzXCIgdmVya2xpZ2VuIGVuIGFudsOkbmRhcmU/IgorCisjfiBtc2dpZCAiU29ycnksIEkgY2FuIG9ubHkgY2hhbmdlIGxvY2FsIHBhc3N3b3Jkcy4gVXNlIHlwcGFzc3dkIGluc3RlYWQuIgorI34gbXNnc3RyICJUeXbDpHJyLCBqYWcga2FuIGJhcmEgYnl0YSBsb2thbGEgbMO2c2Vub3JkLiBBbnbDpG5kIHlwcGFzc3dkIGlzdMOkbGxldC4iCisKKyN+IG1zZ2lkICJVSUQgYW5kIHVzZXJuYW1lIGRvZXMgbm90IG1hdGNoLCBpbXBvc3RlciEiCisjfiBtc2dzdHIgIlVJRCBvY2ggYW52w6RuZGFybmFtbiBzdMOkbW1lciBpbnRlIMO2dmVyZW5zLCBiZWRyYWdhcmUhIgorCisjfiBtc2dpZCAiQ2hhbmdpbmcgcGFzc3dvcmQgZm9yICVzXG4iCisjfiBtc2dzdHIgIkJ5dGVyIGzDtnNlbm9yZGV0IGbDtnIgJXNcbiIKKworI34gbXNnaWQgIklsbGVnYWwgcGFzc3dvcmQsIGltcG9zdGVyLiIKKyN+IG1zZ3N0ciAiT2dpbHRpZ3QgbMO2c2Vub3JkLCBiZWRyYWdhcmUuIgorCisjfiBtc2dpZCAiRW50ZXIgbmV3IHBhc3N3b3JkOiAiCisjfiBtc2dzdHIgIkFuZ2UgbnlhIGzDtnNlbm9yZGV0OiAiCisKKyN+IG1zZ2lkICJSZS10eXBlIG5ldyBwYXNzd29yZDogIgorI34gbXNnc3RyICJBbmdlIG55YSBsw7ZzZW5vcmRldCBww6Ugbnl0dDogIgorCisjfiBtc2dpZCAiWW91IG1pc3NwZWxsZWQgaXQuIFBhc3N3b3JkIG5vdCBjaGFuZ2VkLiIKKyN+IG1zZ3N0ciAiRHUgc3RhdmFkZSBmZWwgdGlsbCBkZXQuIEzDtnNlbm9yZGV0IMOkbmRyYWRlcyBpbnRlLiIKKworI34gbXNnaWQgIlJPT1QgUEFTU1dPUkQgQ0hBTkdFRCIKKyN+IG1zZ3N0ciAiUk9PVC1Mw5ZTRU5PUkRFVCDDhE5EUkFERVMiCisKKyN+IG1zZ2lkICJwYXNzd29yZCBjaGFuZ2VkIGJ5IHJvb3QsIHVzZXIgJXMiCisjfiBtc2dzdHIgImzDtnNlbm9yZGV0IMOkbmRyYWRlcyBhdiByb290LCBhbnbDpG5kYXJlICVzIgorCisjfiBtc2dpZCAiY2FsbGluZyBzZXRwd25hbSB0byBzZXQgcGFzc3dvcmQuXG4iCisjfiBtc2dzdHIgImFucm9wYXIgc2V0cHduYW0gZsO2ciBhdHQgc3TDpGxsYSBpbiBsw7ZzZW5vcmQuXG4iCisKKyN+IG1zZ2lkICJQYXNzd29yZCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLlxuIgorI34gbXNnc3RyICJMw7ZzZW5vcmRldCDDpG5kcmFkZXMgKklOVEUqLiBGw7Zyc8O2ayBpZ2VuIHNlbmFyZS5cbiIKKworI34gbXNnaWQgIm1vdW50OiB0aGlzIHZlcnNpb24gd2FzIGNvbXBpbGVkIHdpdGhvdXQgc3VwcG9ydCBmb3IgdGhlIHR5cGUgYG5mcyciCisjfiBtc2dzdHIgIm1vdW50OiBkZW5uYSB2ZXJzaW9uIGtvbXBpbGVyYWRlcyB1dGFuIHN0w7ZkIGbDtnIgdHlwZW4gXCJuZnNcIiIKKworI34gbXNnaWQgIkNhbm5vdCB1bW91bnQgXCIlc1wiXG4iCisjfiBtc2dzdHIgIkthbiBpbnRlIGF2bW9udGVyYSBcIiVzXCJcbiIKKworI34gbXNnaWQgIkNhbm5vdCB1bW91bnQgJXNcbiIKKyN+IG1zZ3N0ciAiS2FuIGludGUgYXZtb250ZXJhICVzXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBvbWl0dGluZyBwYXJ0aXRpb25zIGFmdGVyICVkXG4iCisjfiBtc2dzdHIgIlZhcm5pbmc6IHV0ZWzDpG1uYXIgcGFydGl0aW9uZXIgZWZ0ZXIgJWRcbiIKKworI34gbXNnaWQgIiVkIGJhZCBwYWdlc1xuIgorI34gbXNnc3RyICIlZCBmZWxha3RpZ2Egc2lkb3JcbiIKKworI34gbXNnaWQgIlRvdGFsIGFsbG9jYXRlZCBzZWN0b3JzICVkIGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSAlZFxuIgorI34gbXNnc3RyICJUb3RhbGEgYW50YWxldCBhbGxva2VyYWRlIHNla3RvcmVyICVkIHN0w7ZycmUgw6RuIG1heGltYWxhICVkXG4iCisKKyN+IG1zZ2lkICIlczogbm90IGNvbXBpbGVkIHdpdGggbWluaXggdjIgc3VwcG9ydFxuIgorI34gbXNnc3RyICIlczogaW50ZSBrb21waWxlcmFkIG1lZCBzdMO2ZCBmw7ZyIG1pbml4IHYyXG4iCisKKyN+IG1zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAiQkxLR0VUU0laRS1pb2N0bCBtaXNzbHlja2FkZXMgZsO2ciAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGR1cGxpY2F0ZSAtIG5vdCBtb3VudGVkIgorI34gbXNnc3RyICJtb3VudDogJXMgZHViYmxlcmFkIC0gaW50ZSBtb250ZXJhZCIKKworI34gbXNnaWQgIm1vdW50OiB0aGUgbGFiZWwgJXMgb2NjdXJzIG9uIGJvdGggJXMgYW5kICVzIC0gbm90IG1vdW50ZWRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGV0aWtldHRlbiAlcyBmw7ZyZWtvbW1lciBww6UgYsOlZGUgJXMgb2NoICVzIC0gaW50ZSBtb250ZXJhZFxuIgorCisjfiBtc2dpZCAidW1vdW50OiBvbmx5IHJvb3QgY2FuIHVubW91bnQgJXMgZnJvbSAlcyIKKyN+IG1zZ3N0ciAidW1vdW50OiBlbmRhc3Qgcm9vdCBrYW4gYXZtb250ZXJhICVzIGZyw6VuICVzIgorCisjfiBtc2dpZCAiU2l6ZSAoR0IpIgorI34gbXNnc3RyICJTdG9ybGVrIChHQikiCisKKyN+IG1zZ2lkICJXaW45NSBGQVQzMiIKKyN+IG1zZ3N0ciAiV2luOTUgRkFUMzIiCisKKyN+IG1zZ2lkICJXaW45NSBGQVQxNiAoTEJBKSIKKyN+IG1zZ3N0ciAiV2luOTUgRkFUMTYgKExCQSkiCisKKyN+IG1zZ2lkICJXaW45NSBFeHQnZCAoTEJBKSIKKyN+IG1zZ3N0ciAiV2luOTUgVXTDtmthZCAoTEJBKSIKKworI34gbXNnaWQgIkhpZGRlbiBXaW45NSBGQVQzMiIKKyN+IG1zZ3N0ciAiRG9sZCBXaW45NSBGQVQzMiIKKworI34gbXNnaWQgIkhpZGRlbiBXaW45NSBGQVQzMiAoTEJBKSIKKyN+IG1zZ3N0ciAiRG9sZCBXaW45NSBGQVQzMiAoTEJBKSIKKworI34gbXNnaWQgIkhpZGRlbiBXaW45NSBGQVQxNiAoTEJBKSIKKyN+IG1zZ3N0ciAiRG9sZCBXaW45NSBGQVQxNiAoTEJBKSIKKworI34gbXNnaWQgIkJvb3QgKCUwMlgpIgorI34gbXNnc3RyICJTdGFydCAoJTAyWCkiCisKKyN+IG1zZ2lkICJOb25lICglMDJYKSIKKyN+IG1zZ3N0ciAiSW5nZW4gKCUwMlgpIgorCisjfiBtc2dpZCAiJXM6IFslMDR4XTolbGQgKCVzKSBvZmZzZXQgJWQsICVzIGVuY3J5cHRpb25cbiIKKyN+IG1zZ3N0ciAiJXM6IFslMDR4XTolbGQgKCVzKSBhdnN0w6VuZCAlZCwga3J5cHRlcmluZzogJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogQ291bGQgbm90IGZpbmQgYW55IGxvb3AgZGV2aWNlLlxuIgorI34gIiAgICAgICBNYXliZSAvZGV2L2xvb3AjIGhhcyBhIHdyb25nIG1ham9yIG51bWJlcj8iCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogS3VuZGUgaW50ZSBoaXR0YSBuw6Vnb24gc2xpbmdlbmhldC5cbiIKKyN+ICIgICAgICAgS2Fuc2tlIC9kZXYvbG9vcCMgaGFyIGV0dCBmZWxha3RpZ3QgaHV2dWRudW1tZXI/IgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiBDb3VsZCBub3QgZmluZCBhbnkgbG9vcCBkZXZpY2UuIE1heWJlIHRoaXMga2VybmVsIGRvZXMgbm90IGtub3dcbiIKKyN+ICIgICAgICAgYWJvdXQgdGhlIGxvb3AgZGV2aWNlICh0aGVuIHJlY29tcGlsZSBvciBgaW5zbW9kIGxvb3AubycpLCBvclxuIgorI34gIiAgICAgICBtYXliZSAvZGV2L2xvb3AjIGhhcyB0aGUgd3JvbmcgbWFqb3IgbnVtYmVyPyIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiBLdW5kZSBpbnRlIGhpdHRhIG7DpWdvbiBzbGluZ2VuaGV0LiBEZW5uYSBrw6RybmEgdmV0IGthbnNrZSBpbnRlXG4iCisjfiAiICAgICAgIG9tIHNsaW5nZW5oZXRlbiAob20gZGV0IMOkciBzw6UgYsO2ciBkdSBrb21waWxlcmEgb20gZWxsZXJcbiIKKyN+ICIgICAgICAgXCJpbnNtb2QgbG9vcC5vXCIpLCBlbGxlciBrYW5za2UgL2Rldi9sb29wIyBoYXIgZmVsIGh1dnVkbnVtbWVyPyIKKworI34gbXNnaWQgIkluaXQgKHVwIHRvIDE2IGhleCBkaWdpdHMpOiAiCisjfiBtc2dzdHIgIkluaXQgKHVwcCB0aWxsIDE2IGhleGFkZWNpbWFsYSBzaWZmcm9yKTogIgorCisjfiBtc2dpZCAiTm9uLWhleCBkaWdpdCAnJWMnLlxuIgorI34gbXNnc3RyICJJY2tlLWhleGFkZWNpbWFsIHNpZmZyYSBcIiVjXCIuXG4iCisKKyN+IG1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBnZXQga2V5IGZvciBlbmNyeXB0aW9uIHN5c3RlbSAlZFxuIgorI34gbXNnc3RyICJWZXQgaW50ZSBodXIgamFnIHNrYSBmw6UgdGFnIGkgbnlja2VsIGbDtnIga3J5cHRlcmluZ3NzeXN0ZW0gJWRcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVbml0cyA9IG1lZ2FieXRlcyBvZiAxMDQ4NTc2IGJ5dGVzLCBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiRW5oZXRlciA9IG1lZ2FieXRlIG1lZCAxMDQ4NTc2IGJ5dGUsIGJsb2NrIG1lZCAxMDI0IGJ5dGUsIHLDpGtuYXQgZnLDpW4gJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290IFN0YXJ0ICAgRW5kICAgIE1CICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiAgIEVuaGV0IFN0YXJ0IELDtnJqYW4gU2x1dCAgICBNQiAgICAgIEJsb2NrICAgSWQgIFN5c3RlbVxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVpIGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeTpcbiIKKyN+IG1zZ3N0ciAiUGFydGl0aW9uICVpIHNsdXRhciBpbnRlIHDDpSBjeWxpbmRlcmdyw6RuczpcbiIKZGlmZiAtLWdpdCBhL3BvL3RyLnBvIGIvcG8vdHIucG8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWEwNWUzOAotLS0gL2Rldi9udWxsCisrKyBiL3BvL3RyLnBvCkBAIC0wLDAgKzEsMjQ2ODkgQEAKKyMgVHVya2lzaCB0cmFuc2xhdGlvbnMgZm9yIHV0aWwtbGludXggbWVzc2FnZXMuCisjIENvcHlyaWdodCDCqSAyMDA0IE5pbGfDvG4gQmVsbWEgQnVnw7xuZXIuCisjCisjIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBmcmVlbHkgY29weSBhbmQgZGlzdHJpYnV0ZQorIyB0aGlzIGZpbGUgYW5kIG1vZGlmaWVkIHZlcnNpb25zLCBwcm92aWRlZCB0aGF0IHRoaXMKKyMgaGVhZGVyIGlzIG5vdCByZW1vdmVkIGFuZCBtb2RpZmllZCB2ZXJzaW9ucyBhcmUgbWFya2VkCisjIGFzIHN1Y2guIE5vIHdhcnJhbnR5LgorIyBOaWxnw7xuIEJlbG1hIEJ1Z8O8bmVyIDxuaWxndW5AYnVndW5lci5uYW1lLnRyPiwgMjAwMSwgLi4uLCAyMDA2LgorIworbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdXRpbC1saW51eCAyLjEzLXByZTdcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogdXRpbC1saW51eEB2Z2VyLmtlcm5lbC5vcmdcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNy0wMi0yMiAxMjozMiswMTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAwNi0wMy0wNiAxNTo0NSswMjAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBOaWxnw7xuIEJlbG1hIEJ1Z8O8bmVyIDxuaWxndW5AYnVndW5lci5uYW1lLnRyPlxuIgorIkxhbmd1YWdlLVRlYW06IFR1cmtpc2ggPGdudS10ci11MTJhQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD5cbiIKKyJMYW5ndWFnZTogdHJcbiIKKyJNSU1FLVZlcnNpb246IDEuMFxuIgorIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgorIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKyJYLUdlbmVyYXRvcjogS0JhYmVsIDEuOS4xXG4iCisiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4gIT0gMSk7XG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8c3RhcnQ+IDxsZW5ndGg+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTgKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIGV4aXN0ZW5jZSBvZiBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTYgZGlzay11dGlscy9ibG9ja2Rldi5jOjI3NiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDIwCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDQ2IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzNCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1NworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNyBkaXNrLXV0aWxzL2ZkaXNrLmM6NzE4IGRpc2stdXRpbHMvZmRpc2suYzo5OTQKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjMwMSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNDEKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM2MCBkaXNrLXV0aWxzL2ZzY2suYzoxNDQ4CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTU1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTAKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEzNCBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg5CisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTczIGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjEKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODggZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE5CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIxNSBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NCBkaXNrLXV0aWxzL3BhcnR4LmM6OTk0CisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDEgZGlzay11dGlscy9zZmRpc2suYzo2NDcgZGlzay11dGlscy9zZmRpc2suYzo3MDMKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzU3IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODE2IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODgwCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkyMSBkaXNrLXV0aWxzL3NmZGlzay5jOjk1MSBkaXNrLXV0aWxzL3NmZGlzay5jOjk4OAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTM3IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjAgbGliZmRpc2svc3JjL2JzZC5jOjY0MQorIzogbGliL3BhdGguYzo3MCBsaWIvcGF0aC5jOjgyIGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo4NyBsb2dpbi11dGlscy9sYXN0LmM6NjcyCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDQ2IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0ODMKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzU5CisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4MSBsb2dpbi11dGlscy92aXB3LmM6MjU4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzYKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOTcgbWlzYy11dGlscy9sb2dnZXIuYzoxMTg4IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjExNQorIzogbWlzYy11dGlscy91dWlkZC5jOjIwNyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4MyBzeXMtdXRpbHMvZG1lc2cuYzo1MjIKKyM6IHN5cy11dGlscy9lamVjdC5jOjUwMCBzeXMtdXRpbHMvZWplY3QuYzo3MDAgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM3NAorIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTI4IHN5cy11dGlscy9mc3RyaW0uYzo3MiBzeXMtdXRpbHMvaHdjbG9jay5jOjI4MgorIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjYzOCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxNjIKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI1NiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDEKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQyMiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NjkKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM4OCBzeXMtdXRpbHMvbnNlbnRlci5jOjEyOCBzeXMtdXRpbHMvcnRjd2FrZS5jOjEzNgorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyNzAgc3lzLXV0aWxzL3NldHByaXYuYzoyMzAgc3lzLXV0aWxzL3NldHByaXYuYzo1MjkKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTUyIHN5cy11dGlscy9zd2Fwb24uYzozNzEgc3lzLXV0aWxzL3N3YXBvbi5jOjUxNAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTYzIHN5cy11dGlscy91bnNoYXJlLmM6MTA2IHN5cy11dGlscy91bnNoYXJlLmM6MTIxCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjEgc3lzLXV0aWxzL3dkY3RsLmM6Mzc3IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYxOAorIzogdGVybS11dGlscy9tZXNnLmM6MTI3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDI1IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDMxCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQzMyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjUyMgorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxOTcgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMDAKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjMzMSB0ZXh0LXV0aWxzL2NvbGNydC5jOjI4MiB0ZXh0LXV0aWxzL21vcmUuYzo1MTMKKyM6IHRleHQtdXRpbHMvcmV2LmM6MTQxIHRleHQtdXRpbHMvdGFpbGYuYzo2OCB0ZXh0LXV0aWxzL3RhaWxmLmM6MTAwCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzIgorbXNnc3RyICIlcyBhw6fEsWxhbcSxeW9yIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1OSBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MCBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzo5OAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBhcnRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgImtpbWxpayBnZcOnZXJzaXoiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc3RhcnQgYXJndW1lbnQiCittc2dzdHIgImtpbWxpayBnZcOnZXJzaXoiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYxIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIKK21zZ3N0ciAia2ltbGlrIGdlw6dlcnNpeiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24iCittc2dzdHIgImLDtmzDvG1sZW1lIHRhYmxvc3UgeWVuaWRlbiBva3VudXIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo2MworbXNnaWQgInNldCByZWFkLW9ubHkiCittc2dzdHIgInNhbHQtb2t1bnVyIGF5YXJsYW7EsXIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3MAorbXNnaWQgInNldCByZWFkLXdyaXRlIgorbXNnc3RyICJva3UteWF6IGF5YXJsYW7EsXIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3NgorbXNnaWQgImdldCByZWFkLW9ubHkiCittc2dzdHIgInNhbHQtb2t1bnVyIGlzZSAxIHZlcmlyIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODIKK21zZ2lkICJnZXQgZGlzY2FyZCB6ZXJvZXMgc3VwcG9ydCBzdGF0dXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjg4CisjLCBmdXp6eQorbXNnaWQgImdldCBsb2dpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgInNla3TDtnIgdXp1bmx1xJ91bnUgdmVyaXIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo5NAorIywgZnV6enkKK21zZ2lkICJnZXQgcGh5c2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAic2VrdMO2ciB1enVubHXEn3VudSB2ZXJpciIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwMAorbXNnaWQgImdldCBtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDYKK21zZ2lkICJnZXQgb3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTEyCisjLCBmdXp6eQorbXNnaWQgImdldCBhbGlnbm1lbnQgb2Zmc2V0IGluIGJ5dGVzIgorbXNnc3RyICJkw7zEn8O8bSBzYXnEsXPEsSBoYXRhbMSxIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTE4CisjLCBmdXp6eQorbXNnaWQgImdldCBtYXggc2VjdG9ycyBwZXIgcmVxdWVzdCIKK21zZ3N0ciAiU2lsaW5kaXIgYmHFn8SxbmEgZmF6bGFkYW4gc2VrdMO2cmxlciIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEyNAorbXNnaWQgImdldCBibG9ja3NpemUiCittc2dzdHIgImJsb2sgdXp1bmx1xJ91bnUgdmVyaXIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzEKK21zZ2lkICJzZXQgYmxvY2tzaXplIG9uIGZpbGUgZGVzY3JpcHRvciBvcGVuaW5nIHRoZSBibG9jayBkZXZpY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzNworIywgZnV6enkKK21zZ2lkICJnZXQgMzItYml0IHNlY3RvciBjb3VudCAoZGVwcmVjYXRlZCwgdXNlIC0tZ2V0c3opIgorbXNnc3RyICIzMiBiaXRsaWsgc2VrdMO2ciBzYXnEsXPEsW7EsSB2ZXJpciIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE0MworbXNnaWQgImdldCBzaXplIGluIGJ5dGVzIgorbXNnc3RyICJib3l1dGxhcsSxIGJheXQgY2luc2luZGVuIHZlcmlyIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTUwCittc2dpZCAic2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAicmVhZGFoZWFkIGF5YXJsYW7EsXIgLSBzZWt0w7ZyIHNhecSxc8SxIGlsZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1NgorbXNnaWQgImdldCByZWFkYWhlYWQiCittc2dzdHIgInJlYWRhaGVhZCBva3VudXIgLSBzZWt0w7ZyIHNhecSxc8SxIG9sYXJhayIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2MworIywgZnV6enkKK21zZ2lkICJzZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgInJlYWRhaGVhZCBheWFybGFuxLFyIC0gc2VrdMO2ciBzYXnEsXPEsSBpbGUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjkKKyMsIGZ1enp5Cittc2dpZCAiZ2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICJyZWFkYWhlYWQgb2t1bnVyIC0gc2VrdMO2ciBzYXnEsXPEsSBvbGFyYWsiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzMKK21zZ2lkICJmbHVzaCBidWZmZXJzIgorbXNnc3RyICJ0YW1wb25sYXLEsSBib8WfYWx0xLFyIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTc3Cittc2dpZCAicmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiYsO2bMO8bWxlbWUgdGFibG9zdSB5ZW5pZGVuIG9rdW51ciIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICUxJHMgLVZcbiIKKyIgJTEkcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyIgJTEkcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyJcbiIKKyJBdmFpbGFibGUgY29tbWFuZHM6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICUtMjVzIGdldCBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnNcbiIKK21zZ3N0ciAiYm95dXRsYXLEsSBiYXl0IGNpbnNpbmRlbiB2ZXJpciIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMxMQorIywgZnV6enkKK21zZ2lkICJjb3VsZCBub3QgZ2V0IGRldmljZSBzaXplIgorbXNnc3RyICJEaXNraW4gdG9wbGFtIGFsYW7EsSBoZXNhcGxhbmFtxLF5b3IiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gY29tbWFuZDogJXMiCittc2dzdHIgIiVzOiBCaWxpbm1leWVuIGtvbXV0OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXMgYmlyIGFyZ8O8bWFubGEga3VsbGFuxLFsxLFyXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNjggZGlzay11dGlscy9ibG9ja2Rldi5jOjQ3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZXJyb3Igb24gJXMiCittc2dzdHIgIiVzOiAlcyDDvHplcmluZGUgRy/DhyBoYXRhc8SxXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZC5cbiIKK21zZ3N0ciAiZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICIlcyBiYcWfYXLEsWxkxLEuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzeXNmcyBoYW5kbGVyIgorbXNnc3RyICJUYW1wb24gYXlyxLFsYW1hZMSxLlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHN0YXJ0IGZyb20gc3lzZnMiCittc2dzdHIgImLDtmzDvG1sZW1lIHRhYmxvc3UgeWVuaWRlbiBva3VudXIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU3RhcnRTZWMgICAgICAgICAgICBTaXplICAgRGV2aWNlXG4iCittc2dzdHIgIlJPICAgIFJBICBTYm95dSAgQmJveXUgQmHFn2xTa3QgICAgICBCb3l1dCAgIEF5Z8SxdFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3OQorbXNnaWQgIkJvb3RhYmxlIgorbXNnc3RyICJBw6fEsWzEscWfIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3OQorbXNnaWQgIlRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiU2XDp2lsZW4gZGlzayBiw7Zsw7xtw7xuZGUgQcOnxLFsxLHFnyBmbGFtYXPEsW7EsSBrYWxkxLFyxLFyL2luZGlyaXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgwCittc2dpZCAiRGVsZXRlIgorbXNnc3RyICJTaWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgwCittc2dpZCAiRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiU2XDp2lsZW4gZGlzayBiw7Zsw7xtw7xuw7wga2FsZMSxcsSxciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODEKK21zZ2lkICJOZXciCittc2dzdHIgIlllbmkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgxCittc2dpZCAiQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICJCb8WfIGFsYW5kYSB5ZW5pIGJpciBkaXNrIGLDtmzDvG3DvCBvbHXFn3R1cnVyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MgorbXNnaWQgIlF1aXQiCittc2dzdHIgIsOHxLFrIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MgorIywgZnV6enkKK21zZ2lkICJRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIGNoYW5nZXMiCittc2dzdHIgIkRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdW51IGRpc2tlIGtheWRldG1lZGVuIMOnxLFrYXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgzIGxpYmZkaXNrL3NyYy9ic2QuYzo0MzkgbGliZmRpc2svc3JjL2JzZC5jOjEwMjAKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzA2IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE2IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTYwCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTExNgorbXNnaWQgIlR5cGUiCittc2dzdHIgIlTDvHLDvCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODMKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiICAgdCAgIGRpc2sgYsO2bMO8bcO8bsO8biBzaXN0ZW0ga2ltbGnEn2luaSBkZcSfacWfdGlyaXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0Cittc2dpZCAiSGVscCIKK21zZ3N0ciAiWWFyZMSxbSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQKK21zZ2lkICJQcmludCBoZWxwIHNjcmVlbiIKK21zZ3N0ciAiWWFyZMSxbSBla3JhbsSxbsSxIGfDtnN0ZXJpciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODUKK21zZ2lkICJTb3J0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1CisjLCBmdXp6eQorbXNnaWQgIkZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICIgICBmICAgZGlzayBiw7Zsw7xtbGVtZSBzxLFyYXPEsW7EsSBkw7x6ZWx0aXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiV3JpdGUiCittc2dzdHIgIktheWRldCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAodGhpcyBtaWdodCBkZXN0cm95IGRhdGEpIgorbXNnc3RyICJEaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3VudSBkaXNrZSBrYXlkZWRlciAoYnUgacWfbGVtIHZlcmlsZXJpbiBrYXlixLFuYSBzZWJlcCBvbHVyKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEdW1wIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIkR1bXAgcGFydGl0aW9uIHRhYmxlIHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICJEaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3VudSBla3JhbmEgeWEgZGEgYmlyIGRvc3lheWEgeWF6YXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6NjIwIGRpc2stdXRpbHMvZmRpc2suYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVuc3VwcG9ydGVkIGRpYWxvZyB0eXBlICVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKG1vdW50ZWQpIgorbXNnc3RyICJ1bW91bnQ6ICVzOiB5b2siCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI3NAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gbmFtZToiCittc2dzdHIgIkRpc2sgYsO2bMO8bcO8IG51bWFyYXPEsSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjgxCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBVVUlEOiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIGRpc2sgYsO2bMO8bcO8OlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyOTMKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHR5cGU6IgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCBudW1hcmFzxLEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMwMAorbXNnaWQgIkF0dHJpYnV0ZXM6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMyNAorIywgZnV6enkKK21zZ2lkICJGaWxlc3lzdGVtIFVVSUQ6IgorbXNnc3RyICJEb3N5YSBzaXN0ZW1pIHTDvHLDvG7DvCB2ZXJpbjogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMzEKKyMsIGZ1enp5Cittc2dpZCAiRmlsZXN5c3RlbSBMQUJFTDoiCittc2dzdHIgIkRvc3lhIHNpc3RlbWkgdMO8csO8bsO8IHZlcmluOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMzNworIywgZnV6enkKK21zZ2lkICJGaWxlc3lzdGVtOiIKK21zZ3N0ciAiRG9zeWEgc2lzdGVtaSB0w7xyw7xuw7wgdmVyaW46ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzQyCisjLCBmdXp6eQorbXNnaWQgIk1vdW50cG9pbnQ6IgorbXNnc3RyICIlcyBiYcSfbMSxLlx0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2s6ICVzIgorbXNnc3RyICJkaXNrOiAlLipzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2l6ZTogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIiIKKyJcbiIKKyJEaXNrICVzOiAlbHUgc2lsaW5kaXIsICVsdSBrYWZhLCAlbHUgc2VrdMO2ci9pelxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcywgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIlNhYml0IERpc2s6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcyIKK21zZ3N0ciAiZXRpa2V0OiAlLipzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0NgorbXNnaWQgIk1heSBiZSBmb2xsb3dlZCBieSBNIGZvciBNaUIsIEcgZm9yIEdpQiwgVCBmb3IgVGlCLCBvciBTIGZvciBzZWN0b3JzLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NTIKKyMsIGZ1enp5Cittc2dpZCAiUGxlYXNlLCBzcGVjaWZ5IHNpemUuIgorbXNnc3RyICItLWRhdGUgc2XDp2VuZcSfaSBiZWxpcnRpbG1lbWnFny5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNaW5pbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAiYm95dXRsYXLEsSBiYXl0IGNpbnNpbmRlbiB2ZXJpciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNYXhpbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAiYm95dXRsYXLEsSBiYXl0IGNpbnNpbmRlbiB2ZXJpciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODkwCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplLiIKK21zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0OAorIywgZnV6enkKK21zZ2lkICJTZWxlY3QgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIlNlw6dpbGVuIGRpc2sgYsO2bMO8bcO8ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk5NCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjQKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZTogIgorbXNnc3RyICIlczogJXMgacOnaW4gYXlnxLF0IGlzbWkgYnVsdW5hbcSxeW9yXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk5NQorIywgZnV6enkKK21zZ2lkICJUaGUgc2NyaXB0IGZpbGUgd2lsbCBiZSBhcHBsaWVkIHRvIGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJEaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3VudSBkaXNrdGVraSB5ZXJpbmUga2F5ZGV0bWUgeWV0a2luaXogeW9rLlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMDQgZGlzay11dGlscy9jZmRpc2suYzoyMDQ2CisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjUgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAiJXMgYcOnxLFsYW3EsXlvclxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMDYgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgImlvY3RsKCkgJXMgZGVuIHphbWFuxLEgb2t1eWFtYWTEsSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDA4IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCAlcyIKK21zZ3N0ciAiaW9jdGwoKSAlcyBkZW4gemFtYW7EsSBva3V5YW1hZMSxIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjUKK21zZ2lkICJUaGUgY3VycmVudCBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlIHdpbGwgYmUgZHVtcGVkIHRvIHRoZSBmaWxlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzMgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDkxCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiVGFtcG9uIGF5csSxbGFtYWTEsS5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDM5CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byByZWFkIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0LiIKK21zZ3N0ciAiVGFtcG9uIGF5csSxbGFtYWTEsS5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDUzCittc2dpZCAiRGlzayBsYXlvdXQgc3VjY2Vzc2Z1bGx5IGR1bXBlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDU2IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIHNjcmlwdCAlcyIKK21zZ3N0ciAiaW9jdGwoKSAlcyBkZW4gemFtYW7EsSBva3V5YW1hZMSxIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwOTIKKyMsIGZ1enp5Cittc2dpZCAiU2VsZWN0IGxhYmVsIHR5cGUiCittc2dzdHIgIkt1cmFsZMSxxZ/EsSB0w7xyXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA5NSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxNworIywgZnV6enkKK21zZ2lkICJEZXZpY2UgZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiJXMgZGlza2kgZ2XDp2VybGkgYmlyIGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdSBpw6dlcm1peW9yXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjEwMQorbXNnaWQgIlNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGxhYmVsIG9yIHByZXNzICdMJyB0byBsb2FkIHNjcmlwdCBmaWxlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDYKKyMsIGZ1enp5Cittc2dpZCAiVGhpcyBpcyBjZmRpc2ssIGEgY3Vyc2VzLWJhc2VkIGRpc2sgcGFydGl0aW9uaW5nIHByb2dyYW0uIgorbXNnc3RyICJTYWJpdCBkaXNraW5pemRla2kgZGlzayBiw7Zsw7xtbGVyaW5pIG9sdcWfdHVyYWJpbG1lbml6aSwgc2lsZWJpbG1lbml6aSB2ZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ3CisjLCBmdXp6eQorbXNnaWQgIkl0IGxldHMgeW91IGNyZWF0ZSwgZGVsZXRlLCBhbmQgbW9kaWZ5IHBhcnRpdGlvbnMgb24gYSBibG9jayBkZXZpY2UuIgorbXNnc3RyICJkZcSfacWfdGlyZWJpbG1lbml6aSBzYcSfbGF5YW4gZXRraWxlxZ9pbWxpIGJpciBkaXNrIGLDtmzDvG1sZW1lIHV5Z3VsYW1hc8SxZMSxci4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE0OQorbXNnaWQgIkNvbW1hbmQgICAgICBNZWFuaW5nIgorbXNnc3RyICIgS29tdXQgICAgICAgQW5sYW3EsSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUwCittc2dpZCAiLS0tLS0tLSAgICAgIC0tLS0tLS0iCittc2dzdHIgIiAtLS0tLSAgICAgICAtLS0tLS0iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MQorbXNnaWQgIiAgYiAgICAgICAgICBUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgYiAgICAgICAgICBTZcOnaWxlbiBkaXNrIGLDtmzDvG3DvG7DvG4gYcOnxLFsxLHFnyBmbGFtYXPEsW7EsSBrYWxkxLFyxLFyL2luZGlyaXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MgorbXNnaWQgIiAgZCAgICAgICAgICBEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGQgICAgICAgICAgU2XDp2lsZW4gZGlzayBiw7Zsw7xtw7xuw7wgc2lsZXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MworbXNnaWQgIiAgaCAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKK21zZ3N0ciAiICBoICAgICAgICAgIEJ1IHlhcmTEsW0gZWtyYW7EsW7EsSBnw7ZzdGVyaXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NAorbXNnaWQgIiAgbiAgICAgICAgICBDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIiAgbiAgICAgICAgICBCb8WfIGFsYW5kYSB5ZW5pIGJpciBkaXNrIGLDtmzDvG3DvCBvbHXFn3R1cnVyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTUKK21zZ2lkICIgIHEgICAgICAgICAgUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgcSAgICAgICAgICBEaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3UgZGlza3Rla2kgeWVyaW5lIGtheWRlZGlsbWVkZW4gw6fEsWvEsWzEsXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NgorIywgZnV6enkKK21zZ2lkICIgIHMgICAgICAgICAgRml4IHBhcnRpdGlvbnMgb3JkZXIgKG9ubHkgd2hlbiBpbiBkaXNhcnJheSkiCittc2dzdHIgIiAgICAgICAgICAgICAgcGFyYW1ldHJlbGVyXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NworIywgZnV6enkKK21zZ2lkICIgIHQgICAgICAgICAgQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiICB0ICAgICAgICAgIERvc3lhIHNpc3RlbWkgdMO8csO8bsO8IGRlxJ9pxZ90aXJpciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU4Cittc2dpZCAiICB1ICAgICAgICAgIER1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU5CisjLCBmdXp6eQorbXNnaWQgIiAgVyAgICAgICAgICBXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAoeW91IG11c3QgZW50ZXIgdXBwZXJjYXNlIFcpOyIKK21zZ3N0ciAiICBXICAgICAgICAgIERpc2sgYsO2bMO8bWxlbWUgdGFibG9zdW51IGRpc2t0ZWtpIHllcmluZSB5YXphci4gKELDvHnDvGsgVykiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MAorIywgZnV6enkKK21zZ2lkICIgICAgICAgICAgICAgICBzaW5jZSB0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSBvbiB0aGUgZGlzaywgeW91IG11c3QgZWl0aGVyIgorbXNnc3RyICIgICAgICAgICAgICAgRGlza3Rla2kgdmVyaXlpIHlhbmzEscWfbMSxa2xhIGtheWJldG1lbWVrIGnDp2luICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgICAgIGNvbmZpcm0gb3IgZGVueSB0aGUgd3JpdGUgYnkgZW50ZXJpbmcgJ3llcycgb3IgJ25vJyIKK21zZ3N0ciAiICAgICAgICAgICAgICdldmV0JyB5YSBkYSAnaGF5xLFyJyB5YXptYW7EsXogaXN0ZW5lcmVrIHZlcml5aSBkaXNrZSB5YXpkxLFyxLFwLCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYyCisjLCBmdXp6eQorbXNnaWQgIiAgeCAgICAgICAgICBEaXNwbGF5L2hpZGUgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYzCittc2dpZCAiVXAgQXJyb3cgICAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBwYXJ0aXRpb24iCittc2dzdHIgIll1a2FyxLEgT2sgICAgS8O8cnPDtnLDvCDDtm5jZWtpIGRpc2sgYsO2bMO8bcO8bmUga2F5ZMSxcsSxciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY0Cittc2dpZCAiRG93biBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IHBhcnRpdGlvbiIKK21zZ3N0ciAiQcWfYcSfxLEgT2sgICAgIEvDvHJzw7Zyw7wgc29ucmFraSBkaXNrIGLDtmzDvG3DvG5lIGtheWTEsXLEsXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2NQorIywgZnV6enkKK21zZ2lkICJMZWZ0IEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIG1lbnUgaXRlbSIKK21zZ3N0ciAiWXVrYXLEsSBPayAgICBLw7xyc8O2csO8IMO2bmNla2kgZGlzayBiw7Zsw7xtw7xuZSBrYXlkxLFyxLFyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjYKKyMsIGZ1enp5Cittc2dpZCAiUmlnaHQgQXJyb3cgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IG1lbnUgaXRlbSIKK21zZ3N0ciAiQcWfYcSfxLEgT2sgICAgIEvDvHJzw7Zyw7wgc29ucmFraSBkaXNrIGLDtmzDvG3DvG5lIGtheWTEsXLEsXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2OAorbXNnaWQgIk5vdGU6IEFsbCBvZiB0aGUgY29tbWFuZHMgY2FuIGJlIGVudGVyZWQgd2l0aCBlaXRoZXIgdXBwZXIgb3IgbG93ZXIiCittc2dzdHIgIkJpbGdpOiBLYXlkZXQgKFcpIGtvbXV0dSBkxLHFn8SxbmRhIHTDvG0ga29tdXRsYXLEsSBiw7x5w7xrIHlhIGRhIGvDvMOnw7xrIGhhcmYiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2OQorIywgZnV6enkKK21zZ2lkICJjYXNlIGxldHRlcnMgKGV4Y2VwdCBmb3IgV3JpdGUpLiIKK21zZ3N0ciAib2xhcmFrIGt1bGxhbmFiaWxpcnNpbml6LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTcxCittc2dpZCAiVXNlIGxzYmxrKDgpIG9yIHBhcnR4KDgpIHRvIHNlZSBtb3JlIGRldGFpbHMgYWJvdXQgdGhlIGRldmljZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzNworIywgZnV6enkKK21zZ2lkICJQcmVzcyBhIGtleSB0byBjb250aW51ZS4iCittc2dzdHIgIkRldmFtIGV0bWVrIGnDp2luIGJpciB0dcWfYSBiYXPEsW7EsXoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI2MAorIywgZnV6enkKK21zZ2lkICJDb3VsZCBub3QgdG9nZ2xlIHRoZSBmbGFnLiIKK21zZ3N0ciAiJXMgYcOnxLFsYW1hZMSxXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiU2XDp2lsZW4gZGlzayBiw7Zsw7xtw7wgJWRcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjcyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBoYXMgYmVlbiBkZWxldGVkLiIKK21zZ3N0ciAiJWQgZGlzayBiw7Zsw7xtw7wgdmVyaSBhbGFuxLFuYSBzYWhpcCBkZcSfaWxcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjkzCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBzaXplOiAiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBkaXNrIGLDtmzDvG3DvDpcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIiVkIGRpc2sgYsO2bMO8bcO8bsO8biBzaXN0ZW0gdMO8csO8ICV4ICglcykgb2xhcmFrIGRlxJ9pxZ90aXJpbGRpXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIHR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICIlZCBkaXNrIGLDtmzDvG3DvG7DvG4gc2lzdGVtIHTDvHLDvCAleCAoJXMpIG9sYXJhayBkZcSfacWfdGlyaWxkaVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNTMgZGlzay11dGlscy9jZmRpc2suYzoyNDY2IGRpc2stdXRpbHMvZmRpc2suYzo5OTEKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU3MAorbXNnaWQgIkRldmljZSBpcyBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNTgKKyMsIGZ1enp5Cittc2dpZCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHdyaXRlIHRoZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzaz8gIgorbXNnc3RyICIiCisiRGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1bnVuIGRpc2tlIHlhesSxbG1hc8SxbsSxIGdlcsOnZWt0ZW4gaXN0aXlvciBtdXN1bnV6P1xuIgorIihldmV0L2hhecSxciB5YSBkYSB5ZXMvbm8pOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM2MAorbXNnaWQgIlR5cGUgXCJ5ZXNcIiBvciBcIm5vXCIsIG9yIHByZXNzIEVTQyB0byBsZWF2ZSB0aGlzIGRpYWxvZy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzY1IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE1NDAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1NTAKK21zZ2lkICJ5ZXMiCittc2dzdHIgImV2ZXQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM2NgorIywgZnV6enkKK21zZ2lkICJEaWQgbm90IHdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrLiIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1IGRpc2tlIHlhesSxbG1hZMSxIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzEKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbC4iCittc2dzdHIgIndyaXRlX3RhYmxlcyBpw6dpbmRlIGVyacWfaW0gYmHFn2FyxLFzxLF6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzQgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTc4CisjLCBmdXp6eQorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIiIKKyJEaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3UgemF0ZW4gZGXEn2nFn21pxZ90aSFcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzk3IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ2OAorIywgZnV6enkKK21zZ2lkICJOb3RlIHRoYXQgcGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyIG5vdy4iCittc2dzdHIgIiIKKyJcbiIKKyJEaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3UgZ2lyZGlsZXJpIGRpc2t0ZWtpIHPEsXJhc8SxbmRhIGRlxJ9pbFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmU7IGl0IHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGRpc2tsYWJlbCIKK21zZ3N0ciAid3JpdGVfdGFibGVzIGnDp2luZGUgZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ1MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb25zIgorbXNnc3RyICJiw7Zsw7xtbGVtZSB0YWJsb3N1IHllbmlkZW4gb2t1bnVyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz5cbiIKK21zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFtzZcOnZW5la2xlcl0gYXlnxLF0IC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDkgZGlzay11dGlscy9mZGlzay5jOjczNiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTAKKyMsIGZ1enp5Cittc2dpZCAiRGlzcGxheSBvciBtYW5pcHVsYXRlIGEgZGlzayBwYXJ0aXRpb24gdGFibGUuXG4iCittc2dzdHIgImLDtmzDvG1sZW1lIHRhYmxvc3UgeWVuaWRlbiBva3VudXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU1MgorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm9ybWFsZGUgdmVyaWxlbiDDp8Sxa3TEsSB2ZXJpbG1lelxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NTUKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXplcm8gICAgICAgICAgICAgICBzdGFydCB3aXRoIHplcm9lZCBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vcm1hbGRlIHZlcmlsZW4gw6fEsWt0xLEgdmVyaWxtZXpcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTk0IGRpc2stdXRpbHMvZmRpc2suYzo4ODIgZGlzay11dGlscy9zZmRpc2suYzoyMDc3CisjOiBtaXNjLXV0aWxzL2NhbC5jOjM5MCBzeXMtdXRpbHMvZG1lc2cuYzoxMzMzIHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNAorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb2xvciBtb2RlIgorbXNnc3RyICJLb211dD9cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjEyIGRpc2stdXRpbHMvZmRpc2suYzo4MTggZGlzay11dGlscy9zZmRpc2suYzoyMjMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgIlRhbXBvbiBheXLEsWxhbWFkxLEuXG4iCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj5cbiIKK21zZ3N0ciAia3VsbGFuxLFtxLE6IHNmZGlzayAtLWlkIGF5Z8SxdCBkaXNrLWLDtmzDvG3DvC1udW1hcmFzxLEgW2tpbWxpa11cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTgKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgdG8gZm9yZ2V0IGFib3V0IGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlIHBhcnRpdGlvbiIKK21zZ3N0ciAiYsO2bMO8bWxlbWUgdGFibG9zdSB5ZW5pZGVuIG9rdW51ciIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcm1hdHRpbmcgLi4uICIKK21zZ3N0ciAiQmnDp2VtbGVuZGlyaWxpeW9yLi4uIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NjggZGlzay11dGlscy9mZGZvcm1hdC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJkb25lXG4iCittc2dzdHIgInRhbWFtXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJWZXJpZnlpbmcgLi4uICIKK21zZ3N0ciAiRG/En3J1bGFuxLF5b3IuLi4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMDgKK21zZ2lkICJSZWFkOiAiCittc2dzdHIgIk9rdW5hbjogIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQcm9ibGVtIHJlYWRpbmcgdHJhY2svaGVhZCAldS8ldSwgZXhwZWN0ZWQgJWQsIHJlYWQgJWRcbiIKK21zZ3N0ciAiJWQgc2lsaW5kaXJpIG9rdW51cmtlbiBzb3J1biDDp8Sxa3TEsSwgJWQgZ2VyZWtpcmtlbiAlZCBva3VuZHVcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorImJhZCBkYXRhIGluIHRyYWNrL2hlYWQgJXUvJXVcbiIKKyJDb250aW51aW5nIC4uLiAiCittc2dzdHIgIiIKKyIlZCBzaWxpbmRpcmluZGUgdmVyaSBoYXRhbMSxXG4iCisiRGV2YW0gZWRpbGl5b3IuLi4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTgyCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjExNyBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1NiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg0CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFtzZcOnZW5la2xlcl0gYXlnxLF0IC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ4Cittc2dpZCAiRG8gYSBsb3ctbGV2ZWwgZm9ybWF0dGluZyBvZiBhIGZsb3BweSBkaXNrLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTEKK21zZ2lkICIgLWYsIC0tZnJvbSA8Tj4gICAgc3RhcnQgYXQgdGhlIHRyYWNrIE4gKGRlZmF1bHQgMClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUyCittc2dpZCAiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgYXQgdGhlIHRyYWNrIE5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUzCittc2dpZCAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICB0cnkgdG8gcmVwYWlyIHRyYWNrcyBmYWlsZWQgZHVyaW5nXG4iCisiICAgICAgICAgICAgICAgICAgICAgdGhlIHZlcmlmaWNhdGlvbiAobWF4IE4gcmV0cmllcylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU1Cittc2dpZCAiIC1uLCAtLW5vLXZlcmlmeSAgIGRpc2FibGUgdGhlIHZlcmlmaWNhdGlvbiBhZnRlciB0aGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gZnJvbSIKK21zZ3N0ciAia2ltbGlrIGdlw6dlcnNpejogJXNcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5OAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gdG8iCittc2dzdHIgImtpbWxpayBnZcOnZXJzaXo6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMDEKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHJlcGFpciIKK21zZ3N0ciAia2ltbGlrIGdlw6dlcnNpejogJXNcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyMSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTUxCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg1IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMzgKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4NQorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE2IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQxIGRpc2stdXRpbHMvcGFydHguYzo5MzMKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo2ODYgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzkgbWlzYy11dGlscy9uYW1laS5jOjEzNQorIzogbWlzYy11dGlscy9yZW5hbWUuYzo2MyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4NiBzeXMtdXRpbHMvZG1lc2cuYzo1MjQKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxOTggc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTMxIHN5cy11dGlscy9mc3RyaW0uYzo3NworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjUxOSBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo5MworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTMzIHRlcm0tdXRpbHMvbWVzZy5jOjEyOSB0ZXh0LXV0aWxzL21vcmUuYzo1MDQKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxMDMgdGV4dC11dGlscy90YWlsZi5jOjI4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3RhdCBvZiAlcyBmYWlsZWQiCittc2dzdHIgIihTb25yYWtpIGRvc3lhOiAlcykiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjQgZGlzay11dGlscy9wYXJ0eC5jOjk5MSBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ4NQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODggc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBiaXIgYmxvayBheWfEsXTEsSBkZcSfaWxcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyOQorIywgZnV6enkKK21zZ2lkICJjb3VsZCBub3QgZGV0ZXJtaW5lIGN1cnJlbnQgZm9ybWF0IHR5cGUiCittc2dzdHIgIm1ldmN1dCBiacOnZW0gdMO8csO8IHNhcHRhbmFtYWTEsSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcy1zaWRlZCwgJWQgdHJhY2tzLCAlZCBzZWMvdHJhY2suIFRvdGFsIGNhcGFjaXR5ICVkIGtCLlxuIgorbXNnc3RyICIlcy15w7x6bMO8LCAlZCBpeiwgJWQgc2VrdMO2ci9pei4gVG9wbGFtICVkIGtCLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMyCittc2dpZCAiRG91YmxlIgorbXNnc3RyICLDh2lmdCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMgorbXNnaWQgIlNpbmdsZSIKK21zZ3N0ciAiVGVrIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM5Cittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDEKK21zZ2lkICJ1c2VyIGRlZmluZWQgZW5kIHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDMKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgdXNlciBkZWZpbmVkIGVuZCB0cmFjayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjUxIG1pc2MtdXRpbHMvbG9nZ2VyLmM6OTg3CisjLCBmdXp6eQorbXNnaWQgImNsb3NlIGZhaWxlZCIKK21zZ3N0ciAiZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5NSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRG8geW91IHJlYWxseSB3YW50IHRvIHF1aXQ/ICIKK21zZ3N0ciAiR2Vyw6dla3RlbiBkZXZhbSBldG1layBpc3RpeW9yIG11c3VudXo/IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3QgKGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICgldS0ldSwgw7ZudGFuxLFtbMSxICV1KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2luZyBkZWZhdWx0IHJlc3BvbnNlICVjLiIKK21zZ3N0ciAiw5ZudGFuxLFtbMSxIGRlxJ9lciAldSBrdWxsYW7EsWzEsXlvclxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTc2IGRpc2stdXRpbHMvZmRpc2suYzoyNTAgZGlzay11dGlscy9mZGlzay5jOjMyNQorIzogbGliZmRpc2svc3JjL2Rvcy5jOjExODkgbGliZmRpc2svc3JjL2dwdC5jOjIyNzcKKyMsIGZ1enp5Cittc2dpZCAiVmFsdWUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiRGXEn2VyIGthcHNhbWTEscWfxLEuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCV1LSV1LCDDtm50YW7EsW1sxLEgJXUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDggZGlzay11dGlscy9mZGlzay5jOjI3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCV1LSV1LCDDtm50YW7EsW1sxLEgJXUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCV1LSV1LCDDtm50YW7EsW1sxLEgJXUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMTcgZGlzay11dGlscy9mZGlzay5jOjI3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJXUtJXUsIMO2bnRhbsSxbWzEsSAldSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjKTogIgorbXNnc3RyICIlczogKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjIzIGRpc2stdXRpbHMvZmRpc2suYzoyODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlczogKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MzkyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk3Cittc2dpZCAiIFtZXWVzL1tOXW86ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDMzCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0eXBlICh0eXBlIEwgdG8gbGlzdCBhbGwgdHlwZXMpOiAiCittc2dzdHIgIk9uYWx0xLFsxLFrIGtvZCAoa29kIGxpc3Rlc2kgacOnaW4gTCB0dcWfbGF5xLFuKToiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0MzQKKyMsIGZ1enp5Cittc2dpZCAiSGV4IGNvZGUgKHR5cGUgTCB0byBsaXN0IGFsbCBjb2Rlcyk6ICIKK21zZ3N0ciAiT25hbHTEsWzEsWsga29kIChrb2QgbGlzdGVzaSBpw6dpbiBMIHR1xZ9sYXnEsW4pOiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjUzNgorIywgZnV6enkKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIHNldCAoREVQUkVDQVRFRCEpIgorbXNnc3RyICJET1MgdXl1bWx1bHVrIGZsYW1hc8SxIGV0a2luXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1MzcKKyMsIGZ1enp5Cittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBub3Qgc2V0IgorbXNnc3RyICJET1MgdXl1bWx1bHVrIGZsYW1hc8SxIGV0a2luIGRlxJ9pbFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTU4IGRpc2stdXRpbHMvZmRpc2suYzo1OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3QgZXhpc3QgeWV0ISIKK21zZ3N0ciAiJWQgZGlzayBiw7Zsw7xtw7wgaGVuw7x6IHlvayFcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU2MyBkaXNrLXV0aWxzL2ZkaXNrLmM6NTcyIGxpYmZkaXNrL3NyYy9hc2suYzo5OTUKK21zZ2lkICJVbmtub3duIgorbXNnc3RyICJCaWxpbm1leWVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICclcycgdG8gJyVzJy4iCittc2dzdHIgIiVkIGRpc2sgYsO2bMO8bcO8bsO8biBzaXN0ZW0gdMO8csO8ICV4ICglcykgb2xhcmFrIGRlxJ9pxZ90aXJpbGRpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQ6ICVzLiIKK21zZ3N0ciAiJWQgZGlzayBiw7Zsw7xtw7xuw7xuIHNpc3RlbSB0w7xyw7wgJXggKCVzKSBvbGFyYWsgZGXEn2nFn3RpcmlsZGlcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJTE1czogJXMiCittc2dzdHIgImRpc2s6ICUuKnNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXM6IG9mZnNldCA9ICU8UFJJdTY0Piwgc2l6ZSA9ICV6dSBieXRlcy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY3NworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2VlayIKK21zZ3N0ciAiYXN0IHPDvHJlw6cgb2x1xZ90dXJ1bGFtxLF5b3IiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2ODIKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgIiVzOiAlcyBva3VuYW3EsXlvci5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY5NSBsaWJmZGlzay9zcmMvYnNkLmM6MjU5IGxpYmZkaXNrL3NyYy9kb3MuYzo5MzMKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEwCisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IHNlY3RvciIKK21zZ3N0ciAixLBsayAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjcyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMiCittc2dzdHIgIiVzIMO8emVyaW5kZSBCTEtHRVRTSVpFIGlvY3RsIGhhdGEgdmVyZGlcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICAgIGNoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyIgJTEkcyBbb3B0aW9uc10gLWwgWzxkaXNrPl0gbGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzM5CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8c2l6ZT4gICAgICBwaHlzaWNhbCBhbmQgbG9naWNhbCBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDAKK21zZ2lkICIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAgZG9uJ3QgZXJhc2UgYm9vdGJpdHMgd2hlbiBjcmVhdGluZyBhIG5ldyBsYWJlbFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDEKK21zZ2lkICIgLWMsIC0tY29tcGF0aWJpbGl0eVs9PG1vZGU+XSAgbW9kZSBpcyAnZG9zJyBvciAnbm9uZG9zJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQyCisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vcm1hbGRlIHZlcmlsZW4gw6fEsWt0xLEgdmVyaWxtZXpcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0NQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBwYXJ0aXRpb25zIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgQnUgeWFyZMSxbSBpbGV0aXNpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDYKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1zw6dua2Rpemdlc2kgICAgIFRhbsSxbmFjYWsga8Sxc2Egc2XDp2VuZWtsZXIgYmVsaXJ0aWxpclxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ3CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICAgICAgICAgICByZWNvZ25pemUgc3BlY2lmaWVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIG9ubHlcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vcm1hbGRlIHZlcmlsZW4gw6fEsWt0xLEgdmVyaWxtZXpcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0OAorbXNnaWQgIiAtdSwgLS11bml0c1s9PHVuaXQ+XSAgICAgICAgICBkaXNwbGF5IHVuaXRzOiAnY3lsaW5kZXJzJyBvciAnc2VjdG9ycycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0OQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgZGlzcGxheSBkZXZpY2Ugc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzIFtERVBSRUNBVEVEXVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIEJ1IHlhcmTEsW0gaWxldGlzaW5pIGfDtnN0ZXJpclxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzUwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgIMOHxLFrdMSxIHTEsXJuYWsgacOnaW5lIGFsxLFubWF6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTEKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm9ybWFsZGUgdmVyaWxlbiDDp8Sxa3TEsSB2ZXJpbG1lelxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzUyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MworIywgZnV6enkKK21zZ2lkICIgLVcsIC0td2lwZS1wYXJ0aXRpb25zIDxtb2RlPiAgd2lwZSBzaWduYXR1cmVzIGZyb20gbmV3IHBhcnRpdGlvbnMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vcm1hbGRlIHZlcmlsZW4gw6fEsWt0xLEgdmVyaWxtZXpcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1NQorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorbXNnc3RyICJTaWxpbmRpciBzYXnEsXPEsW7EsSB2ZXJpbjogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU2CisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgaGVhZHNcbiIKK21zZ3N0ciAiICAgIC1IIyAgLS1oZWFkcyAjICAgICAga3VsYW7EsWxhY2FrIGthZmEgc2F5xLFzxLEgYmVsaXJ0aWxpciIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1NworIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2VjdG9ycyA8bnVtYmVyPiAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrXG4iCittc2dzdHIgInNla3TDtnIvaXogc2F5xLFzxLFuxLEgdmVyaW46ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNlY3RvciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJraW1saWsgZ2XDp2Vyc2l6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODQwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY3lsaW5kZXJzIGFyZ3VtZW50IgorbXNnc3RyICJraW1saWsgZ2XDp2Vyc2l6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODUyCisjLCBmdXp6eQorbXNnaWQgIm5vdCBmb3VuZCBET1MgbGFiZWwgZHJpdmVyIgorbXNnc3RyICIlczogJXMgacOnaW4gYXlnxLF0IGlzbWkgYnVsdW5hbcSxeW9yXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29tcGF0aWJpbGl0eSBtb2RlICclcyciCittc2dzdHIgIiVzIGRpemluaSB5b2shXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NjcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBoZWFkcyBhcmd1bWVudCIKK21zZ3N0ciAia2ltbGlrIGdlw6dlcnNpeiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg3MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNlY3RvcnMgYXJndW1lbnQiCittc2dzdHIgImtpbWxpayBnZcOnZXJzaXoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2tsYWJlbDogJXMiCittc2dzdHIgIiVzOiBiaWxpbm1leWVuIGFyZ8O8bWFuOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTE2IGRpc2stdXRpbHMvZmRpc2suYzo5MjEgZGlzay11dGlscy9zZmRpc2suYzoyMDQxCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDYKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgd2lwZSBtb2RlIgorbXNnc3RyICJLb211dD9cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkzNAorIywgZnV6enkKK21zZ2lkICJUaGUgZGV2aWNlIHByb3BlcnRpZXMgKHNlY3RvciBzaXplIGFuZCBnZW9tZXRyeSkgc2hvdWxkIGJlIHVzZWQgd2l0aCBvbmUgc3BlY2lmaWVkIGRldmljZSBvbmx5LiIKK21zZ3N0ciAiVXlhcsSxOiAtYiAoc2VrdMO2ciB1enVubHXEn3UgYXlhcsSxKSBzZcOnZW5lxJ9pIHRlayBheWfEsXQgaWxlIGt1bGxhbsSxbG3EscWfIG9sbWFsxLF5ZMSxXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VsY29tZSB0byBmZGlzayAoJXMpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4OAorIywgZnV6enkKK21zZ2lkICIiCisiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorIkJlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLlxuIgorbXNnc3RyICIiCisiQmlyIHllbmkgc3VuIGRpc2sgZXRpa2V0aSBrdXJndWxhbsSxeW9yLiBTaXogZGlza2UgeWF6YW5hIGthZGFyXG4iCisiZGXEn2nFn2lrbGlrbGVyIGJlbGxla3RlIHR1dHVsYWNhay4gxZ7DvHBoZXNpeiwgeWF6xLFsZMSxa3RhbiBzb25yYSxcbiIKKyJkaXNrdGUgYnVsdW5hbiB0w7xtIGJpbGdpeWkgYmlyIGRhaGEgZ2VyaSBhbGFtYW1hayDDvHplcmVcbiIKKyJrYXliZWRlY2Vrc2luaXouXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYxMworIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJXMgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMTAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTQyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ4NAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNjIyCittc2dpZCAiVGhlIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxMyBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjUKK21zZ2lkICJJdCBpcyBzdHJvbmdseSByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSBkZXZpY2Ugd2l0aCB3aXBlZnMoOCksIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDIyCittc2dpZCAiQSBoeWJyaWQgR1BUIHdhcyBkZXRlY3RlZC4gWW91IGhhdmUgdG8gc3luYyB0aGUgaHlicmlkIE1CUiBtYW51YWxseSAoZXhwZXJ0IGNvbW1hbmQgJ00nKS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICIiCisiXG4iCisiRGlzayAlczogJWx1IHNpbGluZGlyLCAlbHUga2FmYSwgJWx1IHNla3TDtnIvaXpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdlb21ldHJ5OiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzL3RyYWNrLCAlbGx1IGN5bGluZGVycyIKK21zZ3N0ciAiJWQga2FmYSwgJWQgc2VrdMO2ci9peiwgJWQgc2lsaW5kaXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjU5IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5pdHM6ICVzIG9mICVkICogJWxkID0gJWxkIGJ5dGVzIgorbXNnc3RyICIiCisiQmlyaW1sZXIgPSAlcyAvICVkICogJWQgPSAlZCBiYXl0XG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY1IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2OAorIywgYy1mb3JtYXQKK21zZ2lkICJJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJBbGlnbm1lbnQgb2Zmc2V0OiAlbHUgYnl0ZXMiCittc2dzdHIgImTDvMSfw7xtIHNhecSxc8SxIGhhdGFsxLEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgdHlwZTogJXMiCittc2dzdHIgIlNhYml0IERpc2s6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJTYWJpdCBEaXNrOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTA5IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxOQorIzogZGlzay11dGlscy9mc2NrLmM6MTI0NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCittc2dzdHIgIlRhbXBvbiBheXLEsWxhbWFkxLEuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjExNSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAiVGFtcG9uIGF5csSxbGFtYWTEsS5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTU2IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI0OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiCittc2dzdHIgIlRhbXBvbiBheXLEsWxhbWFkxLEuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBzdGFydCBvbiBwaHlzaWNhbCBzZWN0b3IgYm91bmRhcnkuIgorbXNnc3RyICIlaSBkaXNrIGLDtmzDvG3DvG7DvG4gYmHFn2xhbmfEsWPEsSBzaWxpbmRpciBzxLFuxLFybGFyxLEgZMSxxZ/EsW5kYTpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTkyCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4iCittc2dzdHIgIiIKKyJcbiIKKyJEaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3UgZ2lyZGlsZXJpIGRpc2t0ZWtpIHPEsXJhc8SxbmRhIGRlxJ9pbFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTUgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDAKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTEyIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU0IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTEwCisjLCBmdXp6eQorbXNnaWQgIlN0YXJ0IgorbXNnc3RyICJiYcWfbGFuZ8Sxw6ciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMQorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTMgbGliZmRpc2svc3JjL3NnaS5jOjExNTUgbGliZmRpc2svc3JjL3N1bi5jOjExMTEKK21zZ2lkICJFbmQiCittc2dzdHIgIlNvbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE3IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAyCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NiBsaWJmZGlzay9zcmMvc3VuLmM6MTExMgorbXNnaWQgIlNlY3RvcnMiCittc2dzdHIgIlNla3TDtnIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOSBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNAorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTUgbGliZmRpc2svc3JjL3NnaS5jOjExNTggbGliZmRpc2svc3JjL3N1bi5jOjExMTQKK21zZ2lkICJTaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5wYXJ0aXRpb25lZCBzcGFjZSAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIiIKKyJcbiIKKyJEaXNrICVzOiAlbHUgc2lsaW5kaXIsICVsdSBrYWZhLCAlbHUgc2VrdMO2ci9pelxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC1vKTpcbiIKK21zZ3N0ciAiTcO8bWvDvG4ga29tdXRsYXI6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQ1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICIlczogQmlsaW5tZXllbiBrb211dDogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTUKK21zZ2lkICJHZW5lcmljIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk2CisjLCBmdXp6eQorbXNnaWQgImRlbGV0ZSBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgZCAgIGJpciBkaXNrIGLDtmzDvG3DvG7DvCBzaWxlciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTcKKyMsIGZ1enp5Cittc2dpZCAibGlzdCBmcmVlIHVucGFydGl0aW9uZWQgc3BhY2UiCittc2dzdHIgIiAgIGUgICBlayBkaXNrIGLDtmzDvG1sZXJpbmkgbGlzdGVsZXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk4CisjLCBmdXp6eQorbXNnaWQgImxpc3Qga25vd24gcGFydGl0aW9uIHR5cGVzIgorbXNnc3RyICIgICBsICAgYmlsaW5lbiBkaXNrIGLDtmzDvG3DvCB0w7xybGVyaW5pIGxpc3RlbGVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OQorIywgZnV6enkKK21zZ2lkICJhZGQgYSBuZXcgcGFydGl0aW9uIgorbXNnc3RyICIgICBuICAgeWVuaSBiaXIgZGlzayBiw7Zsw7xtw7wgZWtsZXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMAorIywgZnV6enkKK21zZ2lkICJwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJEaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3VudSB5YXphciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAxCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBhIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgICB0ICAgZGlzayBiw7Zsw7xtw7xuw7xuIHNpc3RlbSBraW1sacSfaW5pIGRlxJ9pxZ90aXJpciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAyCisjLCBmdXp6eQorbXNnaWQgInZlcmlmeSB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgICB2ICAgZGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1bnUgZG/En3J1bGFyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIiVzOiBiaXIgYmxvayBheWfEsXTEsSBkZcSfaWxcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1CisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAiICAgZCAgIGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdW51biB0ZW1lbCB2ZXJpc2luaSBnw7ZzdGVyaXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNgorIywgZnV6enkKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGRpc2tsYWJlbCBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgIiAgIGQgICBkaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3VudW4gdGVtZWwgdmVyaXNpbmkgZ8O2c3RlcmlyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAiZml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIiAgIGYgICBkaXNrIGLDtmzDvG1sZW1lIHPEsXJhc8SxbsSxIGTDvHplbHRpciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA5Cittc2dpZCAiTWlzYyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTAKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgdGhpcyBtZW51IgorbXNnc3RyICIgICBtICAgYnUgbWVuw7x5w7wgZ8O2c3RlcmlyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTEKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpc3BsYXkvZW50cnkgdW5pdHMiCittc2dzdHIgIiAgIHUgICBnw7ZzdGVybWUvZ2lyZGkgYmlyaW1pbmkgZGXEn2nFn3RpcmlyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTIKKyMsIGZ1enp5Cittc2dpZCAiZXh0cmEgZnVuY3Rpb25hbGl0eSAoZXhwZXJ0cyBvbmx5KSIKK21zZ3N0ciAiICAgeCAgIGZhemxhZGFuIGnFn2xldnNlbGxpayAodXptYW5sYXIgacOnaW4pIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTQKK21zZ2lkICJTY3JpcHQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE1Cittc2dpZCAibG9hZCBkaXNrIGxheW91dCBmcm9tIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTYKK21zZ2lkICJkdW1wIGRpc2sgbGF5b3V0IHRvIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTgKK21zZ2lkICJTYXZlICYgRXhpdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTkKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdCIKK21zZ3N0ciAiICAgdyAgIHRhYmxveXUgZGlza3Rla2kgeWVyaW5lIHlhemFyIHZlIMOnxLFrYXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMAorIywgZnV6enkKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIgorbXNnc3RyICIgICB3ICAgZGlzayBldGlrZXRpbmkgZGlza2UgeWF6YXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMQorIywgZnV6enkKK21zZ2lkICJxdWl0IHdpdGhvdXQgc2F2aW5nIGNoYW5nZXMiCittc2dzdHIgIiAgIHEgICBkZcSfacWfaWtsaWtsZXJpIGtheWRldG1lZGVuIMOnxLFrYXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMgorIywgZnV6enkKK21zZ2lkICJyZXR1cm4gdG8gbWFpbiBtZW51IgorbXNnc3RyICIgICByICAgYW5hIG1lbsO8eWUgZMO2bmVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjQKK21zZ2lkICJyZXR1cm4gZnJvbSBCU0QgdG8gRE9TIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNQorIywgZnV6enkKK21zZ2lkICJDcmVhdGUgYSBuZXcgbGFiZWwiCittc2dzdHIgIiAgIHMgICB5ZW5pIGJpciBTdW4gZGlzayBldGlrZXRpIG9sdcWfdHVydXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNgorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgR1BUIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgbyAgIHllbmkgYmlyIERPUyBkaXNrIGLDtmzDvG3DvCBvbHXFn3R1cnVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFNHSSAoSVJJWCkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgICBvICAgeWVuaSBiaXIgRE9TIGRpc2sgYsO2bMO8bcO8IG9sdcWfdHVydXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOAorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgbyAgIHllbmkgYmlyIERPUyBkaXNrIGLDtmzDvG3DvCBvbHXFn3R1cnVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzkKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFN1biBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIG8gICB5ZW5pIGJpciBET1MgZGlzayBiw7Zsw7xtw7wgb2x1xZ90dXJ1ciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQzCisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhbiBJUklYIChTR0kpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgZyAgIElSSVggKFNHSSkgZGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1IG9sdcWfdHVydXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1MgorbXNnaWQgIkdlb21ldHJ5IgorbXNnc3RyICJHZW9tZXRyaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTUzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICIgICBjICAgc2lsaW5kaXIgc2F5xLFzxLFuxLEgZGXEn2nFn3RpcmlyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTQKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAiICAgaCAgIGthZmEgc2F5xLFzxLFuxLEgZGXEn2nFn3RpcmlyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTUKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrIgorbXNnc3RyICIgICBzICAgc2VrdMO2ci9peiBzYXnEsXPEsW7EsSBkZcSfacWfdGlyaXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NQorIywgZnV6enkKK21zZ2lkICJHUFQiCittc2dzdHIgIkVGSSBHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgZGlzayBHVUlEIgorbXNnc3RyICJkZcSfacWfaWtsaWsiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NgorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIkRpc2sgYsO2bMO8bcO8IG51bWFyYXPEsSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY3CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIGRpc2sgYsO2bMO8bcO8OlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjgKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHRhYmxlIGxlbmd0aCIKK21zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OQorbXNnaWQgImVudGVyIHByb3RlY3RpdmUvaHlicmlkIE1CUiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzIKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSBsZWdhY3kgQklPUyBib290YWJsZSBmbGFnIgorbXNnc3RyICIgICBhICAgYcOnxLFsxLHFnyBmbGFtYXPEsW7EsSBpbmRpcmlyL2thbGTEsXLEsXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MworIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIG5vIGJsb2NrIElPIHByb3RvY29sIGZsYWciCittc2dzdHIgIiAgIGMgICBkb3MgdXl1bWx1bHVrIGZsYW1hc8SxbsSxIGluZGlyaXIva2FsZMSxcsSxciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc0CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgcmVxdWlyZWQgcGFydGl0aW9uIGZsYWciCittc2dzdHIgIiAgIGEgICBzYWx0LW9rdW51ciBmbGFtYXPEsW7EsSBrYWxkxLFyxLFyL2luZGlyaXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NQorbXNnaWQgInRvZ2dsZSB0aGUgR1VJRCBzcGVjaWZpYyBiaXRzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NQorbXNnaWQgIlN1biIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSByZWFkLW9ubHkgZmxhZyIKK21zZ3N0ciAiICAgYSAgIHNhbHQtb2t1bnVyIGZsYW1hc8SxbsSxIGthbGTEsXLEsXIvaW5kaXJpciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg3CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgbW91bnRhYmxlIGZsYWciCittc2dzdHIgIiAgIGMgICBiYcSfbGFuYWJpbGlyIGZsYW1hc8SxbsSxIGthbGTEsXLEsXIvaW5kaXJpciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg5CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiICAgYSAgIGFsbWHFn8SxayBzaWxpbmRpcmxlcmluIHNhecSxc8SxbsSxIGRlxJ9pxZ90aXJpciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkwCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgZXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgIiAgIGUgICBzaWxpbmRpciBiYcWfxLFuYSBmYXpsYWRhbiBzZWt0w7ZyIHNhecSxc8SxbsSxIGRlxJ9pxZ90aXJpciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkxCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBpbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiICAgaSAgIHNlcnBpxZ90aXJtZSBldGtlbmluaSBkZcSfacWfdGlyaXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MgorIywgZnV6enkKK21zZ2lkICJjaGFuZ2Ugcm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIiAgIG8gICBkZXZpciBzYXnEsXPEsW7EsSBkZcSfacWfdGlyaXIgKHJwbSkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiICAgeSAgIGZpemlrc2VsIHNpbGluZGlyIHNhecSxc8SxbsSxIGRlxJ9pxZ90aXJpciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjAyCisjLCBmdXp6eQorbXNnaWQgIlNHSSIKK21zZ3N0ciAiU0dJIGhhbSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjAzCisjLCBmdXp6eQorbXNnaWQgInNlbGVjdCBib290YWJsZSBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGEgICBhw6fEsWzEscWfIGRpc2sgYsO2bMO8bcO8bsO8IHNlw6dlciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA0CisjLCBmdXp6eQorbXNnaWQgImVkaXQgYm9vdGZpbGUgZW50cnkiCittc2dzdHIgIiAgIGIgICBhw6fEsWzEscWfIGRvc3lhc8SxIGdpcmRpbGVyaW5pIGTDvHplbmxlciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA1CisjLCBmdXp6eQorbXNnaWQgInNlbGVjdCBzZ2kgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGMgICBzZ2kgdGFrYXMgYsO2bMO8bcO8IHNlw6dpbGlyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDYKK21zZ2lkICJjcmVhdGUgU0dJIGluZm8iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE1CisjLCBmdXp6eQorbXNnaWQgIkRPUyAoTUJSKSIKK21zZ3N0ciAiRE9TIFIvTyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE2CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSBhIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiAgIGEgICBhw6fEsWzEscWfIGZsYW1hc8SxbsSxIGluZGlyaXIva2FsZMSxcsSxciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE3CisjLCBmdXp6eQorbXNnaWQgImVkaXQgbmVzdGVkIEJTRCBkaXNrbGFiZWwiCittc2dzdHIgIiAgIGIgICBic2QgZGlzayBldGlrZXRpbmkgZMO8emVubGVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTgKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSBkb3MgY29tcGF0aWJpbGl0eSBmbGFnIgorbXNnc3RyICIgICBjICAgZG9zIHV5dW1sdWx1ayBmbGFtYXPEsW7EsSBpbmRpcmlyL2thbGTEsXLEsXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMAorIywgZnV6enkKK21zZ2lkICJtb3ZlIGJlZ2lubmluZyBvZiBkYXRhIGluIGEgcGFydGl0aW9uIgorbXNnc3RyICIgICBiICAgZGlzayBiw7Zsw7xtw7wgacOnaW5kZWtpIHZlcmluaW4gYmHFn2xhbsSxY8SxbmEgZ2lkZXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgdGhlIGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiICAgdSAgIGfDtnN0ZXJtZS9naXJkaSBiaXJpbWluaSBkZcSfacWfdGlyaXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMworbXNnaWQgInJldHVybiBmcm9tIHByb3RlY3RpdmUvaHlicmlkIE1CUiB0byBHUFQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjMzCisjLCBmdXp6eQorbXNnaWQgIkJTRCIKK21zZ3N0ciAiQlNEL09TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzQKKyMsIGZ1enp5Cittc2dpZCAiZWRpdCBkcml2ZSBkYXRhIgorbXNnc3RyICIgICBlICAgYXlnxLF0IHZlcmlzaW5pIGTDvHplbmxlciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM1CisjLCBmdXp6eQorbXNnaWQgImluc3RhbGwgYm9vdHN0cmFwIgorbXNnc3RyICIgICBpICAgw7ZuecO8a2xleWljaSBrdXJhciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM2CisjLCBmdXp6eQorbXNnaWQgInNob3cgY29tcGxldGUgZGlza2xhYmVsIgorbXNnc3RyICIgICBzICAgZGlzayBldGlrZXRpbmluIHRhbWFtxLFuxLEgZ8O2c3RlcmlyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAibGluayBCU0QgcGFydGl0aW9uIHRvIG5vbi1CU0QgcGFydGl0aW9uIgorbXNnc3RyICIgICB4ICAgQlNEIGRpc2sgYsO2bMO8bcO8bsO8IEJTRC1vbG1heWFuIGJpciBiw7Zsw7xtZSBiYcSfbGFyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHAgKGV4cGVydCBjb21tYW5kcyk6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzcxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHA6XG4iCittc2dzdHIgIllhcmTEsW0iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UncmUgZWRpdGluZyBuZXN0ZWQgJyVzJyBwYXJ0aXRpb24gdGFibGUsIHByaW1hcnkgcGFydGl0aW9uIHRhYmxlIGlzICclcycuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMQorbXNnaWQgIkV4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJVem1hbiBrb211dGxhcsSxICh5YXJkxLFtIGnDp2luIG0pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMworbXNnaWQgIkNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIktvbXV0ICh5YXJkxLFtIGnDp2luIG0pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWM6IHVua25vd24gY29tbWFuZCIKK21zZ3N0ciAiJWM6IGtvbXV0IGJpbGlubWl5b3JcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDU4IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4NQorIywgZnV6enkKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lIgorbXNnc3RyICIlczogJXMgacOnaW4gYXlnxLF0IGlzbWkgYnVsdW5hbcSxeW9yXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ3MQorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgYXBwbGllZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDk3CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byB0cmFuc2Zvcm0gZGlzayBsYXlvdXQgaW50byBzY3JpcHQiCittc2dzdHIgIlRhbXBvbiBheXLEsWxhbWFkxLEuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxMQorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgc2F2ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzNCBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiVXlhcsSxOiAlZCBkaXNrIGLDtmzDvG3DvCAwLiBzZWt0w7Zyw7wgacOnZXJpeW9yXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzNyBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzkKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gcmVtb3ZlIHRoZSBzaWduYXR1cmU/IgorbXNnc3RyICJCdW51IGRpc2tlIHlhem1hayBpc3RlciBtaXNpbml6PyBbZWhzXSAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU3NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsIgorbXNnc3RyICJ3cml0ZV90YWJsZXMgacOnaW5kZSBlcmnFn2ltIGJhxZ9hcsSxc8SxeiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjEzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBmaXggcGFydGl0aW9ucyBvcmRlci4iCittc2dzdHIgIiAgIGYgICBkaXNrIGLDtmzDvG1sZW1lIHPEsXJhc8SxbsSxIGTDvHplbHRpciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjE1CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbnMgb3JkZXIgZml4ZWQuIgorbXNnc3RyICJBdGFubcSxxZ8gZGlzayBiw7Zsw7xtw7wgeW9rXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJTZcOnaWxlbiBkaXNrIGLDtmzDvG3DvCAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjAKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBjeWxpbmRlcnMgKERFUFJFQ0FURUQhKS4iCittc2dzdHIgImfDtnN0ZXJtZS9naXJkaSBiaXJpbWkgJXMgb2xhcmFrIGRlxJ9pxZ90aXJpbGl5b3JcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjYyCisjLCBmdXp6eQorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gc2VjdG9ycy4iCittc2dzdHIgImfDtnN0ZXJtZS9naXJkaSBiaXJpbWkgJXMgb2xhcmFrIGRlxJ9pxZ90aXJpbGl5b3JcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjcyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjg0MgorIywgZnV6enkKK21zZ2lkICJMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuIgorbXNnc3RyICIgICBiICAgYnNkIGRpc2sgZXRpa2V0aW5pIGTDvHplbmxlciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzA5Cittc2dpZCAiTmV3IG1heGltdW0gZW50cmllcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MTkKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXJpbmcgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIGRpc2tsYWJlbC4iCittc2dzdHIgIiAgIGIgICBic2QgZGlzayBldGlrZXRpbmkgZMO8emVubGVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MzUKK21zZ2lkICJOZXcgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc1MAorIywgZnV6enkKK21zZ2lkICJOZXcgbmFtZSIKK21zZ3N0ciAiS3VsbGFuxLFjxLEgaXNtaSBrdXJhbGTEscWfxLEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjgxMworIywgZnV6enkKK21zZ2lkICJFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIiAgIGIgICBic2QgZGlzayBldGlrZXRpbmkgZMO8emVubGVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OTgKK21zZ2lkICJOdW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICJTaWxpbmRpciBzYXnEsXPEsSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAwMgorbXNnaWQgIk51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAiS2FmYSBzYXnEsXPEsSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAwNgorbXNnaWQgIk51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJTZWt0w7ZyIHNhecSxc8SxIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgYmHEn2zEsS5cdCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbW91bnRlZFxuIgorbXNnc3RyICJ1bW91bnQ6ICVzOiB5b2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc0CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTgxIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzUKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNTMgZGlzay11dGlscy9zZmRpc2suYzoyOTcgbGliZmRpc2svc3JjL2JzZC5jOjY0NgorIzogbGliL3BhdGguYzoxMTAgbGliL3BhdGguYzoxMzEgbGliL3BhdGguYzoxNTIgbGliL3BhdGguYzoyMDAKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMTMgbG9naW4tdXRpbHMvbGFzdC5jOjI1MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NjY0CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzOSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MTcgdGVybS11dGlscy9zZXR0ZXJtLmM6Nzc0CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzggdGVybS11dGlscy9zZXR0ZXJtLmM6Nzg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCAlcyIKK21zZ3N0ciAiJXM6ICVzIG9rdW5hbcSxeW9yLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMzMgbGliL3BhdGguYzoxMzMgbGliL3BhdGguYzoxNTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInBhcnNlIGVycm9yOiAlcyIKK21zZ3N0ciAiZXJpxZ9pbSBoYXRhc8SxIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJuYW1laTogw6dhbMSxxZ/EsWxhbiBkaXppbmUgZ2XDp2lsZW1peW9yIC0gJXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMb2NraW5nIGRpc2sgYnkgJXMgLi4uICIKK21zZ3N0ciAiRGlza2xlciBlxZ96YW1hbmxhbsSxeW9yLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiKHdhaXRpbmcpICIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlc2UgYXJlIGZvbGxvd3VwcyB0byAiTG9ja2luZyBkaXNrLi4uIi4KKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5NAorIywgZnV6enkKK21zZ2lkICJzdWNjZWVkZWQiCittc2dzdHIgIiVzIGJhxZ9hcsSxbGTEsS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Mzk0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCIKK21zZ3N0ciAiZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5sb2NraW5nICVzLlxuIgorbXNnc3RyICIlcyBrdWxsYW5hcmFrLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXR1cCBkZXNjcmlwdGlvbiBmb3IgJXMiCittc2dzdHIgImlvY3RsKCkgJXMgZGVuIHphbWFuxLEgb2t1eWFtYWTEsSIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDc0IG1pc2MtdXRpbHMvZmluZG1udC5jOjc4MiBtaXNjLXV0aWxzL2xzYmxrLmM6NDMzCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMDIgc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzoxOSBzeXMtdXRpbHMvdW1vdW50LmM6NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIC0tIGlnbm9yZWQiCittc2dzdHIgImVyacWfaW0gaGF0YXPEsSIKKworIzogZGlzay11dGlscy9mc2NrLmM6NTA2IGRpc2stdXRpbHMvZnNjay5jOjUwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSBmc3RhYiIKK21zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY3OSBsb2dpbi11dGlscy9sb2dpbi5jOjk2OCBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAzNAorIzogbG9naW4tdXRpbHMvdmlwdy5jOjIwNCBzeXMtdXRpbHMvZmxvY2suYzozNDUgc3lzLXV0aWxzL25zZW50ZXIuYzoxNTMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTYgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTkgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MjAKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzgwCisjLCBmdXp6eQorbXNnaWQgImZvcmsgZmFpbGVkIgorbXNnc3RyICJhc3Qgc8O8cmXDpyBvbHXFn3R1cnVsYW1hZMSxXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGUgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IGJhxZ9hcsSxc8SxelxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3NzQKK21zZ2lkICJ3YWl0OiBubyBtb3JlIGNoaWxkIHByb2Nlc3M/IT8iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzc3IHN5cy11dGlscy9mbG9jay5jOjM2MyBzeXMtdXRpbHMvc3dhcG9uLmM6MzQ4CisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQwNCBzeXMtdXRpbHMvdW5zaGFyZS5jOjQyNQorIywgZnV6enkKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgYmHFn2FyxLFzxLF6IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZy4uLiAlcyBmb3IgZGV2aWNlICVzIGV4aXRlZCB3aXRoIHNpZ25hbCAlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzOiBzdGF0dXMgaXMgJXgsIHNob3VsZCBuZXZlciBoYXBwZW4uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjg0NworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5pc2hlZCB3aXRoICVzIChleGl0IHN0YXR1cyAlZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5MjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yICVkICglbSkgd2hpbGUgZXhlY3V0aW5nIGZzY2suJXMgZm9yICVzIgorbXNnc3RyICIlczogc8Sxa8SxxZ90xLFybWEgYcOnxLFsxLFya2VuIGhhdGEgJWQhICVwKCVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5OTEKK21zZ2lkICIiCisiRWl0aGVyIGFsbCBvciBub25lIG9mIHRoZSBmaWxlc3lzdGVtIHR5cGVzIHBhc3NlZCB0byAtdCBtdXN0IGJlIHByZWZpeGVkXG4iCisid2l0aCAnbm8nIG9yICchJy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgYmFkIGxpbmUgaW4gL2V0Yy9mc3RhYjogYmluZCBtb3VudCB3aXRoIG5vbnplcm8gZnNjayBwYXNzIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgbm9uZXhpc3RlbnQgZGV2aWNlXG4iCittc2dzdHIgIiVzOiAlcyBiaXIgbHAgYXlnxLF0xLEgZGXEn2lsLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub25leGlzdGVudCBkZXZpY2UgKFwibm9mYWlsXCIgZnN0YWIgb3B0aW9uIG1heSBiZSB1c2VkIHRvIHNraXAgdGhpcyBkZXZpY2UpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIHVua25vd24gZmlsZXN5c3RlbSB0eXBlXG4iCittc2dzdHIgIm1vdW50OiBkb3N5YSBzaXN0ZW1pIHTDvHLDvCAnJXMnIGJpbGlubWl5b3IiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoZWNrICVzOiBmc2NrLiVzIG5vdCBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjU5CisjLCBmdXp6eQorbXNnaWQgIkNoZWNraW5nIGFsbCBmaWxlIHN5c3RlbXMuXG4iCittc2dzdHIgIiVzIGnDp2luIGRvc3lhIHNpc3RlbWkgZGVuZXRpbWkgxZ9hcnQuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS13YWl0aW5nLS0gKHBhc3MgJWQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAtLSBbZnMtb3B0aW9uc10gWzxmaWxlc3lzdGVtPiAuLi5dXG4iCittc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbc2XDp2VuZWtsZXJdIGF5Z8SxdCAuLi5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM3OQorIywgZnV6enkKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiJXMgacOnaW4gZG9zeWEgc2lzdGVtaSBkZW5ldGltaSDFn2FydC5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4MgorIywgZnV6enkKK21zZ2lkICIgLUEgICAgICAgICBjaGVjayBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiJXMgacOnaW4gZG9zeWEgc2lzdGVtaSBkZW5ldGltaSDFn2FydC5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4MworbXNnaWQgIiAtQyBbPGZkPl0gIGRpc3BsYXkgcHJvZ3Jlc3MgYmFyOyBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg0Cittc2dpZCAiIC1sICAgICAgICAgbG9jayB0aGUgZGV2aWNlIHRvIGd1YXJhbnRlZSBleGNsdXNpdmUgYWNjZXNzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NQorIywgZnV6enkKK21zZ2lkICIgLU0gICAgICAgICBkbyBub3QgY2hlY2sgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIHQgICAgICAgICAgRG9zeWEgc2lzdGVtaSB0w7xyw7xuw7wgZGXEn2nFn3RpcmlyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg2Cittc2dpZCAiIC1OICAgICAgICAgZG8gbm90IGV4ZWN1dGUsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGJlIGRvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg3Cittc2dpZCAiIC1QICAgICAgICAgY2hlY2sgZmlsZXN5c3RlbXMgaW4gcGFyYWxsZWwsIGluY2x1ZGluZyByb290XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4OAorbXNnaWQgIiAtUiAgICAgICAgIHNraXAgcm9vdCBmaWxlc3lzdGVtOyB1c2VmdWwgb25seSB3aXRoICctQSdcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg5CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLXIgWzxmZD5dICByZXBvcnQgc3RhdGlzdGljcyBmb3IgZWFjaCBkZXZpY2UgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiICAgIC1sICAtLWxpc3QgICAgICAgICAgYXlnxLF0bGFyxLFuIGRpc2sgYsO2bMO8bWxlcmluaSBsaXN0ZWxlciIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MQorIywgZnV6enkKK21zZ2lkICIgLXMgICAgICAgICBzZXJpYWxpemUgdGhlIGNoZWNraW5nIG9wZXJhdGlvbnNcbiIKK21zZ3N0ciAiICBkICAgICAgICAgIFNlw6dpbGVuIGRpc2sgYsO2bMO8bcO8bsO8IHNpbGVyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkyCisjLCBmdXp6eQorbXNnaWQgIiAtVCAgICAgICAgIGRvIG5vdCBzaG93IHRoZSB0aXRsZSBvbiBzdGFydHVwXG4iCittc2dzdHIgIiAgICAtbiAgICAgICAgICAgICAgICAgIGdlcsOnZWt0ZSBkaXNrZSB5YXrEsWxtYXoiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTMKK21zZ2lkICIiCisiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgPHR5cGU+IGlzIGFsbG93ZWQgdG8gYmUgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTUKKyMsIGZ1enp5Cittc2dpZCAiIC1WICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBTw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpclxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk2CisjLCBmdXp6eQorbXNnaWQgIiAtPyAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgQnUgeWFyZMSxbSBpbGV0aXNpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTkKK21zZ2lkICJTZWUgdGhlIHNwZWNpZmljIGZzY2suKiBjb21tYW5kcyBmb3IgYXZhaWxhYmxlIGZzLW9wdGlvbnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MzgKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgZGV2aWNlcyIKK21zZ3N0ciAiJXM6ICVzIGJpciBscCBheWfEsXTEsSBkZcSfaWwuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NTAKKyMsIGZ1enp5Cittc2dpZCAiSXMgL3Byb2MgbW91bnRlZD8iCittc2dzdHIgIiVzIHNpc3RlbWRlbiBheXLEsWxkxLFcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSByb290IHRvIHNjYW4gZm9yIG1hdGNoaW5nIGZpbGVzeXN0ZW1zOiAlcyIKK21zZ3N0ciAiS2FsYW4gZG9zeWEgaXN0ZW1sZXJpIGF5csSxbMSxeW9yLi4uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBmaW5kIG1hdGNoaW5nIGZpbGVzeXN0ZW06ICVzIgorbXNnc3RyICJLYWxhbiBkb3N5YSBpc3RlbWxlcmkgYXlyxLFsxLF5b3IuLi4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NzAgZGlzay11dGlscy9mc2NrLmM6MTU2NSBtaXNjLXV0aWxzL2tpbGwuYzozNjMKKyM6IHN5cy11dGlscy9lamVjdC5jOjI3OQorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCittc2dzdHIgIiVzOiBiaWxpbm1leWVuIGFyZ8O8bWFuOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTI1IGRpc2stdXRpbHMvZnNjay5jOjE1MjgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtciIKK21zZ3N0ciAia2ltbGlrIGdlw6dlcnNpejogJXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtcjogJWQiCittc2dzdHIgImtpbWxpayBnZcOnZXJzaXo6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2MTgKK21zZ2lkICJ0aGUgLWwgb3B0aW9uIGNhbiBiZSB1c2VkIHdpdGggb25lIGRldmljZSBvbmx5IC0tIGlnbm9yZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPlxuIgorbXNnc3RyICJLdWxsYW7EsW3EsTogJXMgW3Nlw6dlbmVrbGVyXSBheWfEsXQgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTYKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgY29tcHJlc3NlZCBST00gZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE5Cittc2dpZCAiIC1hICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjEKK21zZ2lkICIgLXkgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIyCittc2dpZCAiIC1iLCAtLWJsb2Nrc2l6ZSA8c2l6ZT4gICB1c2UgdGhpcyBibG9ja3NpemUsIGRlZmF1bHRzIHRvIHBhZ2Ugc2l6ZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjMKK21zZ2lkICIgICAgIC0tZXh0cmFjdFs9PGRpcj5dICAgIHRlc3QgdW5jb21wcmVzc2lvbiwgb3B0aW9uYWxseSBleHRyYWN0IGludG8gPGRpcj5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBmYWlsZWQ6IHVuYWJsZSB0byBkZXRlcm1pbmUgZGV2aWNlIHNpemU6ICVzIgorbXNnc3RyICIlczogdXlhcsSxIC0tIGRvc3lhIHNpc3RlbWkgYm95dSBzYXB0YW5hbcSxeW9yIFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub3QgYSBibG9jayBkZXZpY2Ugb3IgZmlsZTogJXMiCittc2dzdHIgIiVzIGJpciBibG9rIGF5Z8SxdMSxIHlhIGRhIGRvc3lhc8SxIGRlxJ9pbFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTcwIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDYKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBsZW5ndGggdG9vIHNob3J0IgorbXNnc3RyICIlczogZ2XDp2Vyc2l6IGNyYW1mcyAtLSBkb3N5YSB1enVubHXEn3Ugw6dvayBrw7zDp8O8a1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzMKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNDkgbGliZmRpc2svc3JjL2JzZC5jOjcxOCBsaWJmZGlzay9zcmMvYnNkLmM6ODkwCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjA4IGxvZ2luLXV0aWxzL2xhc3QuYzoyNDIgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VlayBvbiAlcyBmYWlsZWQiCittc2dzdHIgImVyacWfaW0gYmHFn2FyxLFzxLF6IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODcKK21zZ2lkICJzdXBlcmJsb2NrIG1hZ2ljIG5vdCBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImNyYW1mcyBlbmRpYW5uZXNzIGlzICVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MQorbXNnaWQgImJpZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkxCittc2dpZCAibGl0dGxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTUKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgZmlsZXN5c3RlbSBmZWF0dXJlcyIKK21zZ3N0ciAiRG9zeWEgc2lzdGVtaSB0w7xyw7xuw7wgdmVyaW46ICIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3VwZXJibG9jayBzaXplICglZCkgdG9vIHNtYWxsIgorbXNnc3RyICJTZWt0w7ZyIHNhecSxc8SxIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA0Cittc2dpZCAiemVybyBmaWxlIGNvdW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDgKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBleHRlbmRzIHBhc3QgZW5kIG9mIGZpbGVzeXN0ZW0iCittc2dzdHIgIlV5YXLEsTogJXMgZGlzayBiw7Zsw7xtw7wgZGlzayBzb251bnUgYcWfxLF5b3JcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxMAorIywgZnV6enkKK21zZ2lkICJvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAiJXM6IHV5YXLEsSAtLSBlc2tpIGNyYW1mcyBlxZ9sZW1pLCBDUkMnc2l6XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMTkKK21zZ2lkICJ1bmFibGUgdG8gdGVzdCBDUkM6IG9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNzIKKyMsIGZ1enp5Cittc2dpZCAiY3JjIGVycm9yIgorbXNnc3RyICIsIGhhdGEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTU0Cittc2dpZCAic2VlayBmYWlsZWQiCittc2dzdHIgImVyacWfaW0gYmHFn2FyxLFzxLF6IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzA2CisjLCBmdXp6eQorbXNnaWQgInJlYWQgcm9tZnMgZmFpbGVkIgorbXNnc3RyICIoU29ucmFraSBkb3N5YTogJXMpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzM4CisjLCBmdXp6eQorbXNnaWQgInJvb3QgaW5vZGUgaXMgbm90IGRpcmVjdG9yeSIKK21zZ3N0ciAia8O2ayBkw7zEn8O8bcO8IGJpciBkaXppbiBkZcSfaWwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHJvb3Qgb2Zmc2V0ICglbHUpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjAKK21zZ2lkICJkYXRhIGJsb2NrIHRvbyBsYXJnZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkZWNvbXByZXNzaW9uIGVycm9yOiAlcyIKK21zZ3N0ciAiZXJpxZ9pbSBoYXRhc8SxIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgIGhvbGUgYXQgJWx1ICglenUpXG4iCittc2dzdHIgIiAgJWxkIGRlIGRlbGlrICglZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5NyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgIHVuY29tcHJlc3NpbmcgYmxvY2sgYXQgJWx1IHRvICVsdSAoJWx1KVxuIgorbXNnc3RyICIgICVsZCBkZW4gJWxkIHllIGthZGFyIGJsb2sgc8Sxa8SxxZ90xLFyxLFsbWFtxLHFnyAoJWxkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub24tYmxvY2sgKCVsZCkgYnl0ZXMiCittc2dzdHIgIiVzOiBibG9rc3V6ICglbGQpIGJheXRcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm9uLXNpemUgKCVsZCB2cyAlbGQpIGJ5dGVzIgorbXNnc3RyICIlczogYm95dXRzdXogKCVsZCB2cyAlbGQpIGJheXRcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxMyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE2CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwNCBtaXNjLXV0aWxzL3V1aWRkLmM6Mzc1IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODIKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM1IHN5cy11dGlscy9zZXRwcml2LmM6NTU4IHN5cy11dGlscy9zd2Fwb24uYzozODkKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQ6ICVzIgorbXNnc3RyICIoU29ucmFraSBkb3N5YTogJXMpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJsY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAibW91bnQgYmHFn2FyxLFzxLF6IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJtb3VudCBiYcWfYXLEsXPEsXoiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInV0aW1lIGZhaWxlZDogJXMiCittc2dzdHIgInphbWFuIGHFn8SxbcSxIGRlxJ9lcmkgaGF0YWzEsTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibWtkaXIgZmFpbGVkOiAlcyIKK21zZ3N0ciAiL2RldjogY2hkaXIoKSBiYcWfYXLEsXPEsXo6ICVtIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc2Cittc2dpZCAiZmlsZW5hbWUgbGVuZ3RoIGlzIHplcm8iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3OAorbXNnaWQgImJhZCBmaWxlbmFtZSBsZW5ndGgiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4NAorIywgZnV6enkKK21zZ2lkICJiYWQgaW5vZGUgb2Zmc2V0IgorbXNnc3RyICJkw7zEn8O8bSBzYXnEsXPEsSBoYXRhbMSxIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDk5Cittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUwMgorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gc2l6ZSBhbmQgbm9uLXplcm8gb2Zmc2V0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzEKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIG9mZnNldCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTMzCittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBzaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNpemUgZXJyb3IgaW4gc3ltbGluazogJXMiCittc2dzdHIgIiVzOiBzZW1ib2xpayBiYcSfIGAlcycgw7x6ZXJpbmRlIGJveXV0IGhhdGFzxLFcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3ltbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICJmc3luYyBoYXRhIHZlcmRpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTY5CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZmlsZSBoYXMgbm9uLXplcm8gb2Zmc2V0OiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgImZpZm8gaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJib2d1cyBtb2RlOiAlcyAoJW8pIgorbXNnc3RyICIlczogc2FodGUga2lwIGAlcycgKCVvKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJta25vZCBmYWlsZWQ6ICVzIgorbXNnc3RyICJtb3VudCBiYcWfYXLEsXPEsXoiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIHN0YXJ0ICglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQgKCV6dSkiCittc2dzdHIgIiVzOiBnZcOnZXJzaXogY3JhbWZzIC0tIGRpemluIHZlcmlzaSBzb251ICglbGQpICE9IGRvc3lhIHZlcmlzaSBiYcWfbGFuZ8SxY8SxICglbGQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIGVuZCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCittc2dzdHIgIiVzOiBnZcOnZXJzaXogY3JhbWZzIC0tIGRpemluIHZlcmlzaSBzb251ICglbGQpICE9IGRvc3lhIHZlcmlzaSBiYcWfbGFuZ8SxY8SxICglbGQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBmaWxlIGRhdGEgb2Zmc2V0IgorbXNnc3RyICIlczogZ2XDp2Vyc2l6IGNyYW1mcyAtLSBnZcOnZXJzaXogZG9zeWEgdmVyaXNpIGJhxZ9sYW5nxLFjxLFcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY4NCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzI2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYmxvY2tzaXplIGFyZ3VtZW50IgorbXNnc3RyICJ1bW91bnQ6ICVzOiBibG9rIGF5Z8SxdMSxIGdlw6dlcnNpeiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogT0tcbiIKK21zZ3N0ciAiJXM6IFRBTUFNXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NAorIywgZnV6enkKK21zZ2lkICJDaGVjayB0aGUgY29uc2lzdGVuY3kgb2YgYSBNaW5peCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIlcyBpw6dpbiBkb3N5YSBzaXN0ZW1pIGRlbmV0aW1pIMWfYXJ0LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODYKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgbGlzdCBhbGwgZmlsZW5hbWVzXG4iCittc2dzdHIgIiAgWyAtZmlsZSBkw7Zrw7xtRG9zeWFzxLEgXVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODcKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICBhdXRvbWF0aWMgcmVwYWlyXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg4CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXBhaXIgICAgIGludGVyYWN0aXZlIHJlcGFpclxuIgorbXNnc3RyICJldGtpbGXFn2ltbGkgb25hcsSxbSBpw6dpbiB0ZXJtaW5hbCBnZXJla2xpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgYmUgdmVyYm9zZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3VwZXIgICAgICBvdXRwdXQgc3VwZXItYmxvY2sgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBTw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpclxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTEKK21zZ2lkICIgLW0sIC0tdW5jbGVhcmVkICBhY3RpdmF0ZSBtb2RlIG5vdCBjbGVhcmVkIHdhcm5pbmdzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgIGZvcmNlIGNoZWNrXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBEb3N5YSBzaXN0ZW1pIHTDvHLDvG7DvCBkZcSfacWfdGlyaXIiCisKKyMuIFRSQU5TTEFUT1JTOiB0aGVzZSB5ZXMgbm8gcXVlc3Rpb25zIHVzZXMgcnBtYXRjaCgpLCBhbmQgc2hvdWxkIGJlCisjLiAqIHRyYW5zbGF0ZWQuCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKHkvbik/ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG4veSk/ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAieVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQuXHQgIgorbXNnc3RyICIlcyBiYcSfbMSxLlx0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODkKK21zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gY29udGludWUiCittc2dzdHIgIkdlcsOnZWt0ZW4gZGV2YW0gZXRtZWsgaXN0aXlvciBtdXN1bnV6PyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNrIGFib3J0ZWQuXG4iCittc2dzdHIgImRlbmV0aW0gZHVyZHUuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMxOSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA8IEZJUlNUWk9ORSBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJgJXMnIGRvc3lhc8SxbmRha2kgYsO2bGdlIE5vIDwgxLBMS0LDlkxHRS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA+PSBaT05FUyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJgJXMnIGRvc3lhc8SxbmRha2kgYsO2bGdlIE5vID49IELDlkxHRSBzYXnEsXPEsS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyNiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDcKK21zZ2lkICJSZW1vdmUgYmxvY2siCittc2dzdHIgImJsb2sga2FsZMSxcsSxbHPEsW4gbcSxPyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IHVuYWJsZSB0byBzZWVrIHRvIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJPa3VtYSBoYXRhc8SxOiAnJXMnIGRvc3lhc8SxbmRha2kgYmxvxJ9hIGVyacWfaWxlbWl5b3JcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiT2t1bWEgaGF0YXPEsTogJyVzJyBkb3N5YXPEsW5kYWtpIGJpciBibG9rIGJvenVrXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSW50ZXJuYWwgZXJyb3I6IHRyeWluZyB0byB3cml0ZSBiYWQgYmxvY2tcbiIKKyJXcml0ZSByZXF1ZXN0IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorIkJvenVrIGJsb8SfYSB5YXptYXlhIMOnYWzEscWfxLFsxLFya2VuIGnDpyBoYXRhIG9sdcWfdHU6XG4iCisiWWF6bWEgaXN0ZcSfaSB5b2tzYXnEsWxkxLFcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mzg3Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIndyaXRlX2Jsb2NrIGnFn2xlbWluZGUgZXJpxZ9pbSBzYcSfbGFuYW1hZMSxIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGUgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiWWF6bWEgaGF0YXPEsTogJyVzJyBkb3N5YXPEsW5kYWtpIGJpciBibG9rIGJvenVrXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUwNQorbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX3N1cGVyX2Jsb2NrIgorbXNnc3RyICJzdXBlci1ibG9rIHlhem1hIGnFn2xlbWluZGUgZXJpxZ9pbSBzYcSfbGFuYW1hZMSxIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MDcKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgInN1cGVyLWJsb2thIHlhesSxbGFtYWTEsSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTIwCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAiZMO8xJ/DvG0gZcWfbGVtaSB5YXrEsWxhbcSxeW9yIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjMKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgem9uZSBtYXAiCittc2dzdHIgImLDtmxnZSB0YWJsb3N1IHlhesSxbGFtxLF5b3IiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyNgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgIkTDvMSfw7xtbGVyIHlhesSxbGFtxLF5b3IiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU1OAorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorbXNnc3RyICJ0YWJsb2xhciBpw6dpbiB0YW1wb24gYmVsbGVrIGF5csSxbGFtxLF5b3IiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2MQorbXNnaWQgInVuYWJsZSB0byByZWFkIHN1cGVyIGJsb2NrIgorbXNnc3RyICJzdXBlciBibG9rIG9rdW5hbcSxeW9yIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODMKK21zZ2lkICJiYWQgbWFnaWMgbnVtYmVyIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJzdXBlci1ibG9rdGFraSBiZXRpbWxleWljaSBudW1hcmEgaGF0YWzEsSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg1Cittc2dpZCAiT25seSAxayBibG9ja3Mvem9uZXMgc3VwcG9ydGVkIgorbXNnc3RyICJTYWRlY2UgMWsgYmxvay9iw7ZsZ2UgZGVzdGXEn2kgdmFyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODcKKyMsIGZ1enp5Cittc2dpZCAiYmFkIHNfbmlub2RlcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAic3VwZXItYmxva3Rha2kgc19pbWFwX2Jsb2NrcyBhbGFuxLEgYm96dWsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4OQorbXNnaWQgImJhZCBzX2ltYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJzdXBlci1ibG9rdGFraSBzX2ltYXBfYmxvY2tzIGFsYW7EsSBib3p1ayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkxCisjLCBmdXp6eQorbXNnaWQgImJhZCBzX2ZpcnN0ZGF0YXpvbmUgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInN1cGVyLWJsb2t0YWtpIHNfaW1hcF9ibG9ja3MgYWxhbsSxIGJvenVrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTQKK21zZ2lkICJiYWQgc196bWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAic3VwZXItYmxva3Rha2kgc196bWFwX2Jsb2NrcyBhbGFuxLEgYm96dWsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxMAorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIG1hcCIKK21zZ3N0ciAiZMO8xJ/DvG0gZcWfbGVtaSBpw6dpbiB0YW1wb24gYmVsbGVrIGF5csSxbGFtxLF5b3IiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxMworIywgZnV6enkKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIG1hcCIKK21zZ3N0ciAiZMO8xJ/DvG0gZcWfbGVtaSBpw6dpbiB0YW1wb24gYmVsbGVrIGF5csSxbGFtxLF5b3IiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxNgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKK21zZ3N0ciAiRMO8xJ/DvG1sZXIgacOnaW4gdGFtcG9uIGJlbGxlayBheXLEsWxhbcSxeW9yIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTkKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBjb3VudCIKK21zZ3N0ciAiRMO8xJ/DvG0gc2F5xLFzxLEga2FkYXIgdGFtcG9uIGJlbGxlayBheXLEsWxhbcSxeW9yIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjIKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIGNvdW50IgorbXNnc3RyICJiw7ZsZ2Ugc2F5xLFzxLEga2FkYXIgdGFtcG9uIGJlbGxlayBheXLEsWxhbcSxeW9yIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjYKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZSBtYXAiCittc2dzdHIgIkTDvMSfw7xtIGXFn2xlbWkgb2t1bmFtxLF5b3IiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzMAorbXNnaWQgIlVuYWJsZSB0byByZWFkIHpvbmUgbWFwIgorbXNnc3RyICJiw7ZsZ2UgdGFibG9zdSBva3VuYW3EsXlvciIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM0Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGVzIgorbXNnc3RyICJEw7zEn8O8bWxlciBva3VuYW3EsXlvciIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorbXNnc3RyICJVeWFyxLE6IMSwbGtCw7ZsZ2UgIT0gTm9ybV9maXJzdHpvbmVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBpbm9kZXNcbiIKK21zZ3N0ciAiJWxkIGTDvMSfw7xtXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgYmxvY2tzXG4iCittc2dzdHIgIiVsZCBibG9rXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ZGF0YXpvbmU9JWpkICglamQpXG4iCittc2dzdHIgIsSwbGtWZXJpQsO2bGdlc2kgPSAlbGQgKCVsZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSVkXG4iCittc2dzdHIgIkLDtmxnZVV6dW5sdcSfdSA9ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWF4c2l6ZT0lenVcbiIKK21zZ3N0ciAiQXphbWlVenVubHVrID0gJWxkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIHN0YXRlPSVkXG4iCittc2dzdHIgIkRvc3lhU2lzdGVtaSBkdXJ1bXUgPSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJuYW1lbGVuPSV6ZFxuIgorIlxuIgorbXNnc3RyICIiCisiaXNpbVV6dW5sdcSfdSA9ICVkXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY2NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWQgbWFya2VkIHVudXNlZCwgYnV0IHVzZWQgZm9yIGZpbGUgJyVzJ1xuIgorbXNnc3RyICIlZC4gZMO8xJ/DvG0gc2VyYmVzdCBvbGFyYWsgaW1saSBhbWEgJyVzJyBkb3N5YXPEsSBpw6dpbiBrdWxsYW7EsWxtxLHFn1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NjcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzE3Cittc2dpZCAiTWFyayBpbiB1c2UiCittc2dzdHIgIkt1bGxhbsSxbWRhIG9sYXJhayBpbWxlbnNpbiBtaT8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY4OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpbGUgYCVzJyBoYXMgbW9kZSAlMDVvXG4iCittc2dzdHIgImAlcycgJTA1byBraXBlIHNhaGlwXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY5NiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogaW5vZGUgY291bnQgdG9vIGJpZy5cbiIKK21zZ3N0ciAiVXlhcsSxOiBkw7zEn8O8bSBzYXnEsXPEsSDDp29rIGLDvHnDvGsuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc1NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NjMKK21zZ2lkICJyb290IGlub2RlIGlzbid0IGEgZGlyZWN0b3J5IgorbXNnc3RyICJrw7ZrIGTDvMSfw7xtw7wgYmlyIGRpemluIGRlxJ9pbCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzc1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayBoYXMgYmVlbiB1c2VkIGJlZm9yZS4gTm93IGluIGZpbGUgYCVzJy4iCittc2dzdHIgIkJsb2sgYCVzJyBkb3N5YXPEsSBpw6dpbiBrdWxsYW7EsWzEsXlvci4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MDgKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1MgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA4Cittc2dpZCAiQ2xlYXIiCittc2dzdHIgIlRlbWl6bGVuc2luIG1pPyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzg3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayAlZCBpbiBmaWxlIGAlcycgaXMgbWFya2VkIG5vdCBpbiB1c2UuIgorbXNnc3RyICJgJTIkcycgZG9zeWFzxLFuxLFuICUxJGQuIGJsb8SfdSBrdWxsYW7EsW1kYSBkZcSfaWwgb2xhcmFrIGltbGkuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODIwCittc2dpZCAiQ29ycmVjdCIKK21zZ3N0ciAiRG/En3J1IG11PyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTU5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRpcmVjdG9yeSAnJXMnIGNvbnRhaW5zIGEgYmFkIGlub2RlIG51bWJlciBmb3IgZmlsZSAnJS4qcycuIgorbXNnc3RyICInJXMnIGRpemluaSAnJS4qcycgZG9zeWFzxLEgacOnaW4gYmlyIGhhdGFsxLEgZMO8xJ/DvG0gbnVtYXJhc8SxIGnDp2VyaXlvci4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk2MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDM1Cittc2dpZCAiIFJlbW92ZSIKK21zZ3N0ciAiIFNpbGluc2luIG1pPyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTc3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdFxuIgorbXNnc3RyICIlczogZGl6aW4gaGF0YWzEsTogJy4nIGlsayBkZcSfaWxcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTg2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuLicgaXNuJ3Qgc2Vjb25kXG4iCittc2dzdHIgIiVzOiBkaXppbiBoYXRhbMSxOiAnLi4nIGlraW5jaSBkZcSfaWxcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA5NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTE3Cittc2dpZCAiaW50ZXJuYWwgZXJyb3IiCittc2dzdHIgImnDpyBoYXRhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDk3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IHNpemUgPCAzMiIKK21zZ3N0ciAiJXM6IGRpemluIGhhdGFsxLE6IHV6dW5sdWsgPCAzMiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IGludmFsaWQgaV96b25lLCB1c2UgLS1yZXBhaXIgdG8gZml4XG4iCittc2dzdHIgIiVzOiBkaXppbiBoYXRhbMSxOiAnLicgaWxrIGRlxJ9pbFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTMyCittc2dpZCAic2VlayBmYWlsZWQgaW4gYmFkX3pvbmUiCittc2dzdHIgImJhZF96b25lJ2RhIGVyacWfaW0gYmHFn2FyxLFzxLF6IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBtb2RlIG5vdCBjbGVhcmVkLiIKK21zZ3N0ciAiJWQuZMO8xJ/DvG1kZSBraXAgdGVtaXogZGXEn2lsLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbm90IHVzZWQsIG1hcmtlZCB1c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICIlZC4gZMO8xJ/DvG0ga3VsbGFuxLFtZGEgZGXEn2lsIGFtYSBiaXRlxZ9sZW1kZSBrdWxsYW7EsW1kYSBvbGFyYWsgaW1saS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IHVzZWQsIG1hcmtlZCB1bnVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIiVkLmTDvMSfw7xtIGt1bGxhbsSxbWRhIGFtYSBiaXRlxZ9sZW1kZSBrdWxsYW7EsW1kYSBkZcSfaWwgb2xhcmFrIGltbGkuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTQKK21zZ2lkICJTZXQiCittc2dzdHIgIsSwbWxlbnNpbiBtaT8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IChtb2RlID0gJTA3byksIGlfbmxpbmtzPSVkLCBjb3VudGVkPSVkLiIKK21zZ3N0ciAiRMO8xJ/DvG0gJWQgKGtpcCA9ICUwN28pLCBpX25saW5rcyA9ICVkLCBzYXnEsWxhbiA9ICVkLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjIxCittc2dpZCAiU2V0IGlfbmxpbmtzIHRvIGNvdW50IgorbXNnc3RyICJpX25saW5rcyBidSBzYXnEsXlhIGF5YXJsYW5zxLFuIG3EsT8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG1hcmtlZCBpbiB1c2UsIG5vIGZpbGUgdXNlcyBpdC4iCittc2dzdHIgIkLDtmxnZSAlZDoga3VsbGFuxLFtZGEgb2xhcmFrIGltbGkgYW1hIGhpw6diaXIgZG9zeWEga3VsbGFubcSxeW9yIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTc5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzUKK21zZ2lkICJVbm1hcmsiCittc2dzdHIgIsSwbSBrYWxkxLFyxLFsc8SxbiBtxLE/IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTg0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiQsO2bGdlICVkOiBrdWxsYW7EsW1kYSwgc2F5xLFsYW4gPSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTg3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBub3QgaW4gdXNlLCBjb3VudGVkPSVkXG4iCittc2dzdHIgIkLDtmxnZSAlZDoga3VsbGFuxLFtIGTEscWfxLEsIHNhecSxbGFuID0gJWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5MQorbXNnaWQgImJhZCBpbm9kZSBzaXplIgorbXNnc3RyICJkw7zEn8O8bSBzYXnEsXPEsSBoYXRhbMSxIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjkzCittc2dpZCAiYmFkIHYyIGlub2RlIHNpemUiCittc2dzdHIgInYyIGTDvMSfw7xtIHNhecSxc8SxIGhhdGFsxLEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzMzcKK21zZ2lkICJuZWVkIHRlcm1pbmFsIGZvciBpbnRlcmFjdGl2ZSByZXBhaXJzIgorbXNnc3RyICJldGtpbGXFn2ltbGkgb25hcsSxbSBpw6dpbiB0ZXJtaW5hbCBnZXJla2xpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXMiCittc2dzdHIgIiVzIGHDp8SxbGFtxLF5b3IiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgY2xlYW4sIG5vIGNoZWNrLlxuIgorbXNnc3RyICIlcyB0ZW1peiwgZGVuZXRpbSBnZXJla3Npei5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGb3JjaW5nIGZpbGVzeXN0ZW0gY2hlY2sgb24gJXMuXG4iCittc2dzdHIgIiVzIGnDp2luIGRvc3lhIHNpc3RlbWkgZGVuZXRpbWkgxZ9hcnQuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBvbiAlcyBpcyBkaXJ0eSwgbmVlZHMgY2hlY2tpbmcuXG4iCittc2dzdHIgIiVzIMO8emVyaW5kZWtpIGRvc3lhIHNpc3RlbWkgZMO8emVuc2l6LCBkZW5ldGxlbm1lc2kgZ2VyZWtpeW9yLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmxkIGlub2RlcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2bGQgZMO8xJ/DvG0ga3VsbGFuxLFtZGEgKCUlJWxkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiU2bGQgem9uZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiU2bGQgYsO2bGdlIGt1bGxhbsSxbWRhICglJSVsZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM5NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZkIHJlZ3VsYXIgZmlsZXNcbiIKKyIlNmQgZGlyZWN0b3JpZXNcbiIKKyIlNmQgY2hhcmFjdGVyIGRldmljZSBmaWxlc1xuIgorIiU2ZCBibG9jayBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgbGlua3NcbiIKKyIlNmQgc3ltYm9saWMgbGlua3NcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmlsZXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2ZCBub3JtYWwgZG9zeWFcbiIKKyIlNmQgZGl6aW5cbiIKKyIlNmQga2FyYWt0ZXIgYXlnxLF0xLEgZG9zeWFzxLFcbiIKKyIlNmQgYmxvayBheWfEsXTEsSBkb3N5YXPEsVxuIgorIiU2ZCBiYcSfXG4iCisiJTZkIHNlbWJvbGlrIGJhxJ9cbiIKKyItLS0tLS1cbiIKKyIlNmQgZG9zeWFcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQxMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIkZJTEUgU1lTVEVNIEhBUyBCRUVOIENIQU5HRURcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIkRPU1lBIFPEsFNURU3EsCBERcSexLDFnlTEsFLEsExExLBcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDIzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgzMworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MzkgZGlzay11dGlscy9wYXJ0eC5jOjEwMzUgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTEyCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5OCBzeXMtdXRpbHMvZG1lc2cuYzo2NTkgc3lzLXV0aWxzL3dkY3RsLmM6MzQ2CisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0MTEgdGVybS11dGlscy9zY3JpcHQuYzoyNzIgdGVybS11dGlscy9zY3JpcHQuYzozNDkKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjQ4CisjLCBmdXp6eQorbXNnaWQgIndyaXRlIGZhaWxlZCIKK21zZ3N0ciAiKFNvbnJha2kgZG9zeWE6ICVzKSIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtaWdodCBub3QgYmUgYW4gSVNPIGZpbGVzeXN0ZW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZWVrIGVycm9yIG9uICVzIgorbXNnc3RyICIlczogJXMgw7x6ZXJpbmRlIGVyacWfaW0gaGF0YXPEsVxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlYWQgZXJyb3Igb24gJXMiCittc2dzdHIgIiVzOiAlcyDDvHplcmluZGUgb2t1bWEgaGF0YXPEsVxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VjdG9yIGNvdW50OiAlZCwgc2VjdG9yIHNpemU6ICVkXG4iCittc2dzdHIgInNla3TDtnIgc2F5xLFzxLE6ICVkLCBzZWt0w7ZyIHV6dW5sdcSfdTogJWRcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxpc285NjYwX2ltYWdlX2ZpbGU+XG4iCittc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbc2XDp2VuZWtsZXJdIGF5Z8SxdCAuLi5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTc0Cittc2dpZCAiU2hvdyB0aGUgbGVuZ3RoIG9mIGFuIElTTy05NjYwIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTc3Cittc2dpZCAiIC1kLCAtLWRpdmlzb3I9PG51bWJlcj4gIGRpdmlkZSB0aGUgYW1vdW50IG9mIGJ5dGVzIGJ5IDxudW1iZXI+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTc4CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBzaG93IHNlY3RvciBjb3VudCBhbmQgc2l6ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjIxMAorbXNnaWQgImludmFsaWQgZGl2aXNvciBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKK21zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFtzZcOnZW5la2xlcl0gYXlnxLF0IC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzcKK21zZ2lkICJNYWtlIGFuIFNDTyBiZnMgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1OLCAtLWlub2Rlcz1OVU0gICAgc3BlY2lmeSBkZXNpcmVkIG51bWJlciBvZiBpbm9kZXNcbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICBzcGVjaWZ5IHZvbHVtZSBuYW1lXG4iCisiIC1GLCAtLWZuYW1lPU5BTUUgICAgc3BlY2lmeSBmaWxlIHN5c3RlbSBuYW1lXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyIgLWMgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1sICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiICAgICAgICAgICAgICAgICAgICAgLVYgYXMgdmVyc2lvbiBtdXN0IGJlIG9ubHkgb3B0aW9uXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTQ0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAiYCVzJyBnZcOnZXJzaXogc2F5xLFcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1MAorbXNnaWQgInZvbHVtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICJiw7Zsw7xtIGlzbWkgw6dvayB1enVuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU3Cittc2dpZCAiZnNuYW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgImRvc3lhIHNpc3RlbWkgaXNtaSDDp29rIHV6dW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBibG9jay1jb3VudCIKK21zZ3N0ciAia2ltbGlrIGdlw6dlcnNpeiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgIiVzIHV6dW5sdcSfdSBhbMSxbmFtxLF5b3IiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJsb2NrcyBhcmd1bWVudCB0b28gbGFyZ2UsIG1heCBpcyAlbGx1IgorbXNnc3RyICJibG9rIGFyZ8O8bWFubGFyxLEgw6dvayBmYXpsYSwgZW4gw6dvayAlbHUgb2xhYmlsaXIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMTkKK21zZ2lkICJ0b28gbWFueSBpbm9kZXMgLSBtYXggaXMgNTEyIgorbXNnc3RyICJkw7zEn8O8bSBzYXnEsXPEsSDDp29rIGZhemxhIC0gZW4gw6dvayA1MTIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UsIG5lZWQgYXQgbGVhc3QgJWxsdSBibG9ja3MiCittc2dzdHIgInllciB5ZXRlcnNpeiwgZW4gYXogJWx1IGJsb2sgZ2VyZWtpeW9yIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZTogJXNcbiIKK21zZ3N0ciAiQXlnxLF0OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIlZvbHVtZTogPCUtNnM+XG4iCittc2dzdHIgIkLDtmzDvG06IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZTbmFtZTogPCUtNnM+XG4iCittc2dzdHIgIkRTaXNtaTo8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NAorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9ja1NpemU6ICVkXG4iCittc2dzdHIgIkJsb2tVenVubDogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluIDEgYmxvY2spXG4iCittc2dzdHIgIkTDvMSfw7xtIHNhecSxc8SxOiAlZCAoMSBibG9rdGEpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAlbGx1IGJsb2NrcylcbiIKK21zZ3N0ciAiRMO8xJ/DvG0gc2F5xLFzxLE6ICVkICglbGQgYmxva3RhKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCbG9ja3M6ICVsbHVcbiIKK21zZ3N0ciAiQmxvayAjOiAlbGRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSBlbmQ6ICVkLCBEYXRhIGVuZDogJWRcbiIKK21zZ3N0ciAiU29uIGTDvMSfw7xtOiAlZCwgVmVyaSBzb251OiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU3Cittc2dpZCAiZXJyb3Igd3JpdGluZyBzdXBlcmJsb2NrIgorbXNnc3RyICJzw7xwZXJibG9rIHlhesSxbMSxcmtlbiBoYXRhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjc4Cittc2dpZCAiZXJyb3Igd3JpdGluZyByb290IGlub2RlIgorbXNnc3RyICJrw7ZrIGTDvMSfw7xtw7wgeWF6xLFsxLFya2VuIGhhdGEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODMKK21zZ2lkICJlcnJvciB3cml0aW5nIGlub2RlIgorbXNnc3RyICJkw7zEn8O8bSB5YXrEsWzEsXJrZW4gaGF0YSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4NgorbXNnaWQgInNlZWsgZXJyb3IiCittc2dzdHIgImVyacWfaW0gaGF0YXPEsSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5MgorbXNnaWQgImVycm9yIHdyaXRpbmcgLiBlbnRyeSIKK21zZ3N0ciAiIC4gZ2lyZGlzaSB5YXrEsWzEsXJrZW4gaGF0YSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5NgorbXNnaWQgImVycm9yIHdyaXRpbmcgLi4gZW50cnkiCittc2dzdHIgIiAuLiBnaXJkaXNpIHlhesSxbMSxcmtlbiBoYXRhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNsb3NpbmcgJXMiCittc2dzdHIgIiVzIGthcGF0xLFsxLFya2VuIGhhdGEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstdCA8dHlwZT5dIFtmcy1vcHRpb25zXSA8ZGV2aWNlPiBbPHNpemU+XVxuIgorbXNnc3RyICJLdWxsYW7EsW3EsTogbWtmcyBbLVZdIFstdCBkc3lTaXN0VMO8csO8XSBbZHN5U2lzdC1zZcOnZW5la2xlcmldIGF5Z8SxdCBbdXp1bmx1a11cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDgKKyMsIGZ1enp5Cittc2dpZCAiTWFrZSBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkRvc3lhIHNpc3RlbWkgdMO8csO8bsO8IHZlcmluOiAiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdCwgLS10eXBlPTx0eXBlPiAgZmlsZXN5c3RlbSB0eXBlOyB3aGVuIHVuc3BlY2lmaWVkLCBleHQyIGlzIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIGZzLW9wdGlvbnMgICAgIHBhcmFtZXRlcnMgZm9yIHRoZSByZWFsIGZpbGVzeXN0ZW0gYnVpbGRlclxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxzaXplPiAgICAgICAgIG51bWJlciBvZiBibG9ja3MgdG8gYmUgdXNlZCBvbiB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJib3NlICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmU7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnlpbmcgLVYgbW9yZSB0aGFuIG9uY2Ugd2lsbCBjYXVzZSBhIGRyeS1ydW5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcnNpb24gICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQ7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIC1WIGFzIC0tdmVyc2lvbiBtdXN0IGJlIHRoZSBvbmx5IG9wdGlvblxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLWgsIC0taGVscCAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBCdSB5YXJkxLFtIGlsZXRpc2luaSBnw7ZzdGVyaXJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6MTM5IGxpYi9leGVjX3NoZWxsLmM6NDkgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjMzCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2NTcgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTkyCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODAwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDQgc2NoZWR1dGlscy9jaHJ0LmM6NTU4CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjI2MCBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMzkgc3lzLXV0aWxzL2Zsb2NrLmM6MTIyCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQzMCBzeXMtdXRpbHMvcHJsaW1pdC5jOjY0NCBzeXMtdXRpbHMvcnRjd2FrZS5jOjU3NworIzogc3lzLXV0aWxzL3NldGFyY2guYzozMjQgc3lzLXV0aWxzL3NldGFyY2guYzo0MDMgc3lzLXV0aWxzL3NldHNpZC5jOjExNQorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM0MCBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNDIgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NjEKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTgxIHRleHQtdXRpbHMvcGcuYzoxMzc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIKK21zZ3N0ciAiaW9jdGwoKSAlcyBkZW4gemFtYW7EsSBva3V5YW1hZMSxIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisidXNhZ2U6ICVzIFstaF0gWy12XSBbLWIgYmxrc2l6ZV0gWy1lIGVkaXRpb25dIFstTiBlbmRpYW5dIFstaSBmaWxlXSBbLW4gbmFtZV0gZGlybmFtZSBvdXRmaWxlXG4iCisiIC1oICAgICAgICAgcHJpbnQgdGhpcyBoZWxwXG4iCisiIC12ICAgICAgICAgYmUgdmVyYm9zZVxuIgorIiAtRSAgICAgICAgIG1ha2UgYWxsIHdhcm5pbmdzIGVycm9ycyAobm9uLXplcm8gZXhpdCBzdGF0dXMpXG4iCisiIC1iIGJsa3NpemUgdXNlIHRoaXMgYmxvY2tzaXplLCBtdXN0IGVxdWFsIHBhZ2Ugc2l6ZVxuIgorIiAtZSBlZGl0aW9uIHNldCBlZGl0aW9uIG51bWJlciAocGFydCBvZiBmc2lkKVxuIgorIiAtTiBlbmRpYW4gIHNldCBjcmFtZnMgZW5kaWFubmVzcyAoYmlnfGxpdHRsZXxob3N0KSwgZGVmYXVsdCBob3N0XG4iCisiIC1pIGZpbGUgICAgaW5zZXJ0IGEgZmlsZSBpbWFnZSBpbnRvIHRoZSBmaWxlc3lzdGVtIChyZXF1aXJlcyA+PSAyLjQuMClcbiIKKyIgLW4gbmFtZSAgICBzZXQgbmFtZSBvZiBjcmFtZnMgZmlsZXN5c3RlbVxuIgorIiAtcCAgICAgICAgIHBhZCBieSAlZCBieXRlcyBmb3IgYm9vdCBjb2RlXG4iCisiIC1zICAgICAgICAgc29ydCBkaXJlY3RvcnkgZW50cmllcyAob2xkIG9wdGlvbiwgaWdub3JlZClcbiIKKyIgLXogICAgICAgICBtYWtlIGV4cGxpY2l0IGhvbGVzIChyZXF1aXJlcyA+PSAyLjMuMzkpXG4iCisiIGRpcm5hbWUgICAgcm9vdCBvZiB0aGUgZmlsZXN5c3RlbSB0byBiZSBjb21wcmVzc2VkXG4iCisiIG91dGZpbGUgICAgb3V0cHV0IGZpbGVcbiIKK21zZ3N0ciAiIgorImt1bGxhbsSxbcSxOiAlcyBbLWhdIFstdl0gWy1iIGJsa3V6XSBbLWUgYmFza8SxXSBbLWkgZG9zeWFdIFstbiBpc2ltXVxuIgorIiAgICAgICAgICAgZGl6aW5pc21pIMOnxLFrdMSxZG9zeWFzxLFcbiIKKyJcbiIKKyIgLWggICAgICAgIGJ1IHlhcmTEsW0gaWxldGlzaSBnw7ZzdGVyaWxpclxuIgorIiAtdiAgICAgICAgw6fEsWt0xLEgZGFoYSBheXLEsW50xLFsxLEgb2x1clxuIgorIiAtRSAgICAgICAgdXlhcsSxbGFyIGhhdGEgb2xhcmFrIHZlcmlsaXIgKHPEsWbEsXJkYW4gZmFya2zEsSDDp8Sxa8SxxZ8ga29kdSlcbiIKKyIgLWIgYmxrdXogIGJ1IGJsb2sgdXp1bmx1xJ91IGt1bGxhbsSxbMSxciwgc2F5ZmEgdXp1bmx1xJ91bmEgZcWfaXQgb2xtYWzEsWTEsXJcbiIKKyIgLWUgYmFza8SxICBiYXNrxLEgbnVtYXJhc8SxbsSxIGF5YXJsYXIgKGRvc3lhc2lzdGVtaSBraW1sacSfaW5pbiBiaXIgcGFyw6dhc8SxKVxuIgorIiAtaSBkb3N5YSAgZG9zeWEgc2lzdGVtaW5lIGJpciBkb3N5YSBlxZ9sZW1pIHNva3XFn3R1cnVyICg+PSAyLjQuMCBnZXJla2lyKVxuIgorIiAtbiBpc2ltICAgY3JhbWZzIGRvc3lhIHNpc3RlbWluaW4gaXNtaVxuIgorIiAtcCAgICAgICAgw7ZuecO8a2xlbWUga29kdW5hICVkIGJheXRsxLFrIGFkxLFtbGFtYSB1eWd1bGFuxLFyXG4iCisiIC1zICAgICAgICBkaXppbiBpw6dlcmnEn2luaSBzxLFyYWxhciAoZXNraSBzZcOnZW5laywgeW9rc2F5xLFsxLFyKVxuIgorIiAteiAgICAgICAgYmVsaXJnaW4gZGVsaWtsZXIgeWFwYXIgKD49IDIuMy4zOSBnZXJla2lyKVxuIgorIiBkaXppbmlzbWkgc8Sxa8SxxZ90xLFyxLFsYWNhayBkb3N5YSBzaXN0ZW1pbmluIGvDtmtkaXppbmlcbiIKKyIgw6dkb3N5YXPEsSAgw6fEsWt0xLEgZG9zeWFzxLFcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVhZGxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAiKFNvbnJha2kgZG9zeWE6ICVzKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJrw7ZrIGTDvMSfw7xtw7wgYmlyIGRpemluIGRlxJ9pbCIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjQ0MworIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHRvbyBiaWcuICBFeGl0aW5nLiIKK21zZ3N0ciAiZG9zeWEgc2lzdGVtaSDDp29rIGLDvHnDvGsuICDDh8Sxa2zEsXlvci5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYwMgorIywgYy1mb3JtYXQKK21zZ2lkICJBSUVFRTogYmxvY2sgXCJjb21wcmVzc2VkXCIgdG8gPiAyKmJsb2NrbGVuZ3RoICglbGQpXG4iCittc2dzdHIgIk9MQU1BWjogYmxvayBcInPEsWvEscWfdMSxcm1hc8SxXCIgPiAyKmJsb2t1enVubHXEn3UgKCVsZClcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJTYuMmYlJSAoJStsZCBieXRlcylcdCVzXG4iCittc2dzdHIgIiUlJTYuMmYgKCUrZCBiYXl0KVx0JXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNsb3NlIGZpbGUgJXMiCittc2dzdHIgIiclcycgZG9zeWFzxLEgYcOnxLFsYW3EsXlvciIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjczMgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICJraW1saWsgZ2XDp2Vyc2l6IgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzQyCittc2dpZCAiaW52YWxpZCBlbmRpYW5uZXNzIGdpdmVuOyBtdXN0IGJlICdiaWcnLCAnbGl0dGxlJywgb3IgJ2hvc3QnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGd1ZXN0aW1hdGUgb2YgcmVxdWlyZWQgc2l6ZSAodXBwZXIgYm91bmQpIGlzICVsbGRNQiwgYnV0IG1heGltdW0gaW1hZ2Ugc2l6ZSBpcyAldU1CLiAgV2UgbWlnaHQgZGllIHByZW1hdHVyZWx5LiIKK21zZ3N0ciAidXlhcsSxOiBnZXJla2VuIHRhaG1pbmkgYm95dXQgKMO8c3Qgc8SxbsSxcikgJUxkIE1CLCBhbWEgZW4gYsO8ecO8ayBiZWxsZWtlxZ9sZW0gYm95dSAldSBNQi4gICBWYWtpdHNpeiDDtmzDvG0uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MzAKK21zZ2lkICJST00gaW1hZ2UgbWFwIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5jbHVkaW5nOiAlc1xuIgorbXNnc3RyICLEsMOnZXJpxJ9pOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgZGF0YTogJXpkIGJ5dGVzXG4iCittc2dzdHIgIkRpemluIHZlcmlzaTogJWQgYmF5dFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJFdmVyeXRoaW5nOiAlemQga2lsb2J5dGVzXG4iCittc2dzdHIgIkhlcHNpOiAlZCBrQlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTdXBlciBibG9jazogJXpkIGJ5dGVzXG4iCittc2dzdHIgIlPDvHBlciBibG9rOiAlZCBiYXl0XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1JDOiAleFxuIgorbXNnc3RyICJDUkM6ICV4XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UgYWxsb2NhdGVkIGZvciBST00gaW1hZ2UgKCVsbGQgYWxsb2NhdGVkLCAlenUgdXNlZCkiCittc2dzdHIgIlJPTSBiZWxsZWtlxZ9sZW1pIGnDp2luIGF5csSxbGFuIGFsYW4geWV0ZXJzaXogKCVMZCBheXLEsWxkxLEsICVkIGt1bGxhbsSxbGTEsSlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUk9NIGltYWdlIHdyaXRlIGZhaWxlZCAoJXpkICV6ZCkiCittc2dzdHIgIlJPTSBiZWxsZWtlxZ9sZW1pIHlhem1hZGEgaGF0YSAoJWQgJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODIKK21zZ2lkICJST00gaW1hZ2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZW5hbWVzIHRydW5jYXRlZCB0byAldSBieXRlcy4iCittc2dzdHIgInV5YXLEsTogZG9zeWEgaXNpbWxlcmkgMjU1IGJheXQgb2xhcmFrIGvEsXNhbHTEsWxkxLEuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTMKKyMsIGZ1enp5Cittc2dpZCAid2FybmluZzogZmlsZXMgd2VyZSBza2lwcGVkIGR1ZSB0byBlcnJvcnMuIgorbXNnc3RyICJ1eWFyxLE6IGhhdGFsYXJkYW4gZG9sYXnEsSBkb3N5YWxhciBhdGxhbmTEsS5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZSBzaXplcyB0cnVuY2F0ZWQgdG8gJWx1TUIgKG1pbnVzIDEgYnl0ZSkuIgorbXNnc3RyICJ1eWFyxLE6IGRvc3lhIGJveXV0bGFyxLEgJWx1TUInYSBkw7zFn8O8csO8bGTDvCAoZWtzaSAxIGJheXQpLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJ1eWFyxLE6IGt1bGxhbsSxY8SxIGtpbWxpa2xlcmkgJXUgYml0ZSBkw7zFn8O8csO8bGTDvC4gKEJ1IGJpciBnw7x2ZW5saWsga2F5Z8Sxc8SxIG9sYWJpbGlyLilcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ2lkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAidXlhcsSxOiBncnVwIGtpbWxpa2xlcmkgJXUgYml0ZSBkw7zFn8O8csO8bGTDvC4gKEJ1IGJpciBnw7x2ZW5saWsga2F5Z8Sxc8SxIG9sYWJpbGlyLilcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIldBUk5JTkc6IGRldmljZSBudW1iZXJzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgVGhpcyBhbG1vc3QgY2VydGFpbmx5IG1lYW5zXG4iCisidGhhdCBzb21lIGRldmljZSBmaWxlcyB3aWxsIGJlIHdyb25nLiIKK21zZ3N0ciAiVVlBUkk6IGF5Z8SxdCBudW1hcmFsYXLEsSAldSBiaXRsZSBzxLFuxLFybGFuZMSxLiBCdSBpxZ9sZW0gYmF6xLEgYXlnxLF0IGRvc3lhbGFyxLFuxLFuIGlzaW1sZXJpbmluIHlhbmzEscWfIG9sbWFzxLFuYSBzZWJlcCBvbGFjYWsuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKK21zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFtzZcOnZW5la2xlcl0gYXlnxLF0IC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiIC0xICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDFcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBCdSB5YXJkxLFtIGlsZXRpc2luaSBnw7ZzdGVyaXJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM4CisjLCBmdXp6eQorbXNnaWQgIiAtMiwgLXYgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAyXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgQnUgeWFyZMSxbSBpbGV0aXNpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOQorIywgZnV6enkKK21zZ2lkICIgLTMgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gM1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIEJ1IHlhcmTEsW0gaWxldGlzaW5pIGfDtnN0ZXJpclxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5hbWVsZW5ndGggPG51bT4gIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lc1xuIgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQxCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pbm9kZXMgPG51bT4gICAgICBudW1iZXIgb2YgaW5vZGVzIGZvciB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICJTaWxpbmRpciBzYXnEsXPEsW7EsSB2ZXJpbjogIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIGNoZWNrIHRoZSBkZXZpY2UgZm9yIGJhZCBibG9ja3NcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vcm1hbGRlIHZlcmlsZW4gw6fEsWt0xLEgdmVyaWxtZXpcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQzCittc2dpZCAiIC1sLCAtLWJhZGJsb2NrcyA8ZmlsZT4gIGxpc3Qgb2YgYmFkIGJsb2NrcyBmcm9tIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIHRvIGJvb3QgYmxvY2sgZmFpbGVkICBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgIndyaXRlX3RhYmxlcyBpw6dpbmRlIGJhxZ9sYXRtYSBibG/En3VuYSBlcmnFn2lsZW1lZGkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBjbGVhciBib290IHNlY3RvciIKK21zZ3N0ciAiYmHFn2xhdG1hIHNla3TDtnLDvCB0ZW1pemxlbmVtaXlvciIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICJ3cml0ZV90YWJsZXMgacOnaW5kZSBlcmnFn2ltIGJhxZ9hcsSxc8SxeiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICJzdXBlci1ibG9rYSB5YXrEsWxhbWFkxLEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgImTDvMSfw7xtIGXFn2xlbWkgeWF6xLFsYW3EsXlvciIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICJiw7ZsZ2UgdGFibG9zdSB5YXrEsWxhbcSxeW9yIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICJkw7zEn8O8bWxlciB5YXrEsWxhbcSxeW9yIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAid3JpdGVfYmxvY2sgacWfbGVtaW5kZSBlcmnFn2ltIHNhxJ9sYW5hbWFkxLEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAid3JpdGVfYmxvY2sgacOnaW5lIHlhem1hIGJhxZ9hcsSxc8SxeiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjIxIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjI5NgorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MzQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIG1hbnkgYmFkIGJsb2NrcyIKK21zZ3N0ciAiw6dvayBmYXpsYSBoYXRhbMSxIGJsb2sgdmFyIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZW5vdWdoIGdvb2QgYmxvY2tzIgorbXNnc3RyICJpeWkgYmxva2xhciB5ZXRlcnNpeiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJGaXJzdCBkYXRhIGJsb2NrIGF0ICVqZCwgd2hpY2ggaXMgdG9vIGZhciAobWF4ICVkKS5cbiIKKyJUcnkgc3BlY2lmeWluZyBmZXdlciBpbm9kZXMgYnkgcGFzc2luZyAtLWlub2RlcyA8bnVtPiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIiVsZCBkw7zEn8O8bVxuIgorbXNnc3RyWzFdICIlbGQgZMO8xJ/DvG1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlbGQgYmxva1xuIgorbXNnc3RyWzFdICIlbGQgYmxva1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSV6dVxuIgorbXNnc3RyICJCw7ZsZ2VVenVubHXEn3UgPSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJNYXhzaXplPSV6dVxuIgorIlxuIgorbXNnc3RyICIiCisiQXphbWl1enVubHVrID0gJWxkXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGR1cmluZyB0ZXN0aW5nIG9mIGJsb2NrcyIKK21zZ3N0ciAiYmxva2xhciBkZW5ldGxlbmlya2VuIGVyacWfaW0gYmHFn2FyxLFzxLF6IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VpcmQgdmFsdWVzIGluIGRvX2NoZWNrOiBwcm9iYWJseSBidWdzXG4iCittc2dzdHIgImRvX2NoZWNrIHlhcMSxbMSxcmtlbiB0dWhhZiBkZcSfZXJsZXI6IHlhesSxbMSxbSBoYXRhc8SxIG9sYWJpbGlyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAiY2hlY2tfYmxvY2tzIGnFn2xlbWluZGUgZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBibG9ja3MgYmVmb3JlIGRhdGEtYXJlYTogY2Fubm90IG1ha2UgZnMiCittc2dzdHIgInZlcmkgYWxhbsSxbmRhbiDDtm5jZWtpIGJsb2tsYXIgaGF0YWzEsTogZG9zeWEgc2lzdGVtaSB5YXDEsWxhbcSxeW9yIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MzkgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCBiYWQgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWQgYmFkIGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlZCBib3p1ayBibG9rXG4iCittc2dzdHJbMV0gIiVkIGJvenVrIGJsb2tcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgb3BlbiBmaWxlIG9mIGJhZCBibG9ja3MiCittc2dzdHIgImJvenVrIGJsb2tsYXIgZG9zeWFzxLEgYcOnxLFsYW3EsXlvciIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjUzCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZGJsb2NrIG51bWJlciBpbnB1dCBlcnJvciBvbiBsaW5lICVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgYmFkYmxvY2tzIGZpbGUiCittc2dzdHIgIkRpc2sgc8O8csO8Y8O8c8O8IG9rdW5hbcSxeW9yIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgc2l6ZSBzbWFsbGVyIHRoYW4gcGh5c2ljYWwgc2VjdG9yIHNpemUgb2YgJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNpemUgb2YgJXMiCittc2dzdHIgIiVzIHV6dW5sdcSfdSBhbMSxbmFtxLF5b3IiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVxdWVzdGVkIGJsb2NrcyAoJWxsdSkgZXhjZWVkcyBhdmFpbGFibGUgKCVsbHUpIGJsb2Nrc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG51bWJlciBvZiBibG9ja3MgdG9vIHNtYWxsIgorbXNnc3RyICJTZWt0w7ZyIHNhecSxc8SxIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MjMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBuYW1lIGxlbmd0aDogJWQiCittc2dzdHIgIiVzOiBiaWxpbm1leWVuIGFyZ8O8bWFuOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG1pbml4IGZpbGUgc3lzdGVtIHZlcnNpb246ICVkIgorbXNnc3RyICJEb3N5YSBzaXN0ZW1pIHTDvHLDvG7DvCB2ZXJpbjogIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NjcKK21zZ2lkICItdiBpcyBhbWJpZ3VvdXMsIHVzZSAnLTInIGluc3RlYWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Nzc4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXMiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBpbm9kZXMiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MDYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBibG9ja3MiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBhIGZpbGVzeXN0ZW0gaGVyZSEiCittc2dzdHIgIiVzIGJhxJ9sxLE7IGJ1cmFkYSBiaXIgZG9zeWEgc2lzdGVtaSB5YXDEsWxtYXlhY2FrISIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQmFkIHVzZXItc3BlY2lmaWVkIHBhZ2Ugc2l6ZSAldSIKK21zZ3N0ciAia3VsbGFuxLFjxLEgdGFyYWbEsW5kYW4gYmVsaXJ0aWxlbiBzYXlmYSB1enVubHXEn3UgJWQgaGF0YWzEsVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2luZyB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJWQsIGluc3RlYWQgb2YgdGhlIHN5c3RlbSB2YWx1ZSAlZCIKK21zZ3N0ciAiIgorIkt1bGxhbsSxY8SxIHRhcmFmxLFuZGFuIGJlbGlydGlsZW4gc2F5ZmEgdXp1bmx1xJ91ICVkIGt1bGxhbsSxbMSxeW9yLFxuIgorIihzaXN0ZW0gZGXEn2VyaSAlZC8lZCB5ZXJpbmUpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTI0CisjLCBmdXp6eQorbXNnaWQgIkxhYmVsIHdhcyB0cnVuY2F0ZWQuIgorbXNnc3RyICJFdGlrZXQga8Sxc2FsdMSxbGTEsS5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbGFiZWwsICIKK21zZ3N0ciAiYmlyIGV0aWtldCB5b2ssICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gdXVpZFxuIgorbXNnc3RyICJVVUlEIHlva1xuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc10gZGV2aWNlIFtzaXplXVxuIgorbXNnc3RyICJLdWxsYW7EsW3EsTogJXMgW3Nlw6dlbmVrbGVyXSBheWfEsXQgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTUyCittc2dpZCAiU2V0IHVwIGEgTGludXggc3dhcCBhcmVhLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIGNoZWNrIGJhZCBibG9ja3MgYmVmb3JlIGNyZWF0aW5nIHRoZSBzd2FwIGFyZWFcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBhbGxvdyBzd2FwIHNpemUgYXJlYSBiZSBsYXJnZXIgdGhhbiBkZXZpY2VcbiIKKyIgLXAsIC0tcGFnZXNpemUgU0laRSAgICAgICBzcGVjaWZ5IHBhZ2Ugc2l6ZSBpbiBieXRlc1xuIgorIiAtTCwgLS1sYWJlbCBMQUJFTCAgICAgICAgIHNwZWNpZnkgbGFiZWxcbiIKKyIgLXYsIC0tc3dhcHZlcnNpb24gTlVNICAgICBzcGVjaWZ5IHN3YXAtc3BhY2UgdmVyc2lvbiBudW1iZXJcbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICBzcGVjaWZ5IHRoZSB1dWlkIHRvIHVzZVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgYmFkIHBhZ2VzOiAlbHUiCittc2dzdHIgIsOnb2sgZmF6bGEgYm96dWsgc2F5ZmEgdmFyIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE5NQorbXNnaWQgInNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAiY2hlY2tfYmxvY2tzIGnFn2xlbWluZGUgZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmFkIHBhZ2VcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJhZCBwYWdlc1xuIgorbXNnc3RyWzBdICIlbHUgYm96dWsgc2F5ZmFcbiIKK21zZ3N0clsxXSAiJWx1IGJvenVrIHNheWZhXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjI4CisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBuZXcgbGliYmxraWQgcHJvYmUiCittc2dzdHIgImTDvMSfw7xtbGVyIGnDp2luIHRhbXBvbiBiZWxsZWsgYXlyxLFsYW3EsXlvciIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMzAKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGFzc2lnbiBkZXZpY2UgdG8gbGliYmxraWQgcHJvYmUiCittc2dzdHIgImTDvMSfw7xtbGVyIGnDp2luIHRhbXBvbiBiZWxsZWsgYXlyxLFsYW3EsXlvciIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNoZWNraW5nIGJhZCBibG9ja3MgZnJvbSBzd2FwIGZpbGUgaXMgbm90IHN1cHBvcnRlZDogJXMiCittc2dzdHIgIlV5YXLEsTogbmFtbGVuIHNlw6dlbmXEn2kgZGVzdGVrbGVubWl5b3IuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjYxIGRpc2stdXRpbHMvbWtzd2FwLmM6Mjg3IGRpc2stdXRpbHMvbWtzd2FwLmM6MzM0Cittc2dpZCAidW5hYmxlIHRvIHJld2luZCBzd2FwLWRldmljZSIKK21zZ3N0ciAidGFrYXMgYWxhbsSxbmRhIGJhxZ9hIGdpZGlsZW1peW9yIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI5MAorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAiYmHFn2xhdG1hIHNla3TDtnLDvCB0ZW1pemxlbmVtaXlvciIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IHdpcGluZyBvbGQgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IGRvbid0IGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgImJhxZ9sYXRtYSBzZWt0w7Zyw7wgdGVtaXpsZW5lbWl5b3IiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICglcyBwYXJ0aXRpb24gdGFibGUgZGV0ZWN0ZWQpLiAiCittc2dzdHIgIiAgIHAgICBCU0QgZGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1bnUgZ8O2c3RlcmlyIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoY29tcGlsZWQgd2l0aG91dCBsaWJibGtpZCkuICIKK21zZ3N0ciAiICAgcyAgIGRpc2sgZXRpa2V0aW5pbiB0YW1hbcSxbsSxIGfDtnN0ZXJpciIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzZSAtZiB0byBmb3JjZS5cbiIKK21zZ3N0ciAiTGlzdGV5aSBnw7ZybWVrIGnDp2luICVzIC1sIGt1bGxhbsSxbi5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc2lnbmF0dXJlIHBhZ2UiCittc2dzdHIgImltemEgc2F5ZmFzxLEgeWF6xLFsYW3EsXlvciIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODAKKyMsIGZ1enp5Cittc2dpZCAicGFyc2luZyBwYWdlIHNpemUgZmFpbGVkIgorbXNnc3RyICJlcmnFn2ltIGJhxZ9hcsSxc8SxeiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODYKKyMsIGZ1enp5Cittc2dpZCAicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiCittc2dzdHIgImF5csSxbG3EscWfIHNlbWFmb3Igc2F5xLFzxLEgPSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwc3BhY2UgdmVyc2lvbiAlZCBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGlnbm9yaW5nIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQgYnkgJXMpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDE0Cittc2dpZCAib25seSBvbmUgZGV2aWNlIGFyZ3VtZW50IGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MjEKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3I6IHBhcnNpbmcgVVVJRCBmYWlsZWQiCittc2dzdHIgIiIKKyJcbiIKKyJEb3N5YSBrYXBhdMSxbMSxcmtlbiBoYXRhXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDMwCisjLCBmdXp6eQorbXNnaWQgImVycm9yOiBOb3doZXJlIHRvIHNldCB1cCBzd2FwIG9uPyIKK21zZ3N0ciAiJXM6IGhhdGE6IFRha2FzIGFsYW7EsW7EsSBrb3lhY2FrIHllciB5b2sgbXU/XG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDM2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYmxvY2sgY291bnQgYXJndW1lbnQiCittc2dzdHIgImtpbWxpayBnZcOnZXJzaXoiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc2l6ZSAlbGx1IEtpQiBpcyBsYXJnZXIgdGhhbiBkZXZpY2Ugc2l6ZSAlPFBSSXU2ND4gS2lCIgorbXNnc3RyICIlczogaGF0YTogJWx1IGF5Z8SxdMSxbiBib3l1dHVuZGFuIGLDvHnDvGsgKCVsdSlcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzd2FwIGFyZWEgbmVlZHMgdG8gYmUgYXQgbGVhc3QgJWxkIEtpQiIKK21zZ3N0ciAiJXM6IGhhdGE6IHRha2FzIGFsYW7EsSBpw6dpbiBlbiBheiAlbGRrQiBnZXJla2l5b3JcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHRydW5jYXRpbmcgc3dhcCBhcmVhIHRvICVsbHUgS2lCIgorbXNnc3RyICIlczogdXlhcsSxOiB0YWthcyBhbGFuxLEgJWxka0IgaWxlIHPEsW7EsXJsYW7EsXlvclxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2Ugc3dhcHNwYWNlIgorbXNnc3RyICIlcyBiYcSfbMSxOyBidXJhZGEgYmlyIGRvc3lhIHNpc3RlbWkgeWFwxLFsbWF5YWNhayEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDY4IHN5cy11dGlscy9zd2Fwb24uYzo1MjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBwZXJtaXNzaW9ucyAlMDRvLCAlMDRvIHN1Z2dlc3RlZC4iCittc2dzdHIgIiVzOiB1eWFyxLE6ICVzIGfDvHZlbmNlc2l6IGl6aW5sZXIgKCUwNG8pIGnDp2VyaXlvciwgJTA0byDDtm5lcmlsaXJcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NzIgc3lzLXV0aWxzL3N3YXBvbi5jOjUzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIGZpbGUgb3duZXIgJWQsIDAgKHJvb3QpIHN1Z2dlc3RlZC4iCittc2dzdHIgIiVzOiB1eWFyxLE6ICVzIGfDvHZlbmNlc2l6IGl6aW5sZXIgKCUwNG8pIGnDp2VyaXlvciwgJTA0byDDtm5lcmlsaXJcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0ODcKK21zZ2lkICJVbmFibGUgdG8gc2V0IHVwIHN3YXAtc3BhY2U6IHVucmVhZGFibGUiCittc2dzdHIgIlRha2FzIGFsYW7EsSBvbHXFn3R1cnVsYW3EsXlvcjogb2t1bmFiaWxpciBkZcSfaWwiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIHVwIHN3YXBzcGFjZSB2ZXJzaW9uICVkLCBzaXplID0gJXMgKCU8UFJJdTY0PiBieXRlcylcbiIKK21zZ3N0ciAiVGFrYXMgYWxhbsSxIHPDvHLDvG0gJWQsIHV6dW5sdWsgPSAlbGx1IGtCIG9sYXJhayBheWFybGFuxLF5b3JcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gb2J0YWluIHNlbGludXggZmlsZSBsYWJlbCIKK21zZ3N0ciAidGFrYXMgYWxhbsSxbmRhIGJhxZ9hIGdpZGlsZW1peW9yIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxNQorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gbWF0Y2hwYXRoY29uKCkiCittc2dzdHIgIiVzIGR1cnVtIGJpbGdpbGVyaSBhbMSxbmFtxLF5b3IiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE4CisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbmV3IHNlbGludXggY29udGV4dCIKK21zZ3N0ciAiZMO8xJ/DvG1sZXIgeWF6xLFsYW3EsXlvciIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjAKK21zZ2lkICJjb3VsZG4ndCBjb21wdXRlIHNlbGludXggY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlbGFiZWwgJXMgdG8gJXMiCittc2dzdHIgIiVzICVzIG9sYXJhayBkZcSfacWfdGlyaWxlbWl5b3I6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NgorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCBudW1hcmFzxLEiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NworIywgZnV6enkKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgIkRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdW51IHlhemFyIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODgKKyMsIGZ1enp5Cittc2dpZCAiZW5kIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIKK21zZ3N0ciAiJXMgZGlzayBiw7Zsw7xtw7xuZSB5YXphcmtlbiBoYXRhIG9sdcWfdHVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg5CisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJTZWt0w7ZyIHNhecSxc8SxIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTAKK21zZ2lkICJodW1hbiByZWFkYWJsZSBzaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MQorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtw7wgbnVtYXJhc8SxIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA4IG1pc2MtdXRpbHMvbHNibGsuYzoxNjgKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBkaXNrIGLDtmzDvG3DvDpcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkzCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiB0YWJsZSB0eXBlIChkb3MsIGdwdCwgLi4uKSIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1IGRpc2tlIHlhesSxbMSxeW9yLi4uIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQgbWlzYy11dGlscy9sc2Jsay5jOjE2OQorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gZmxhZ3MiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBkaXNrIGLDtmzDvG3DvDpcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1Cittc2dpZCAicGFydGl0aW9uIHR5cGUgKGEgc3RyaW5nLCBhIFVVSUQsIG9yIGhleCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUwOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjYxNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wY3h0IgorbXNnc3RyICJUYW1wb24gYXlyxLFsYW1hZMSxLlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczogaGnDpyBzZXJiZXN0IGxvb3AgYXlnxLF0xLEgeW9rIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gdXNlICclcycgZm9yIHRoZSBsb29wIGRldmljZVxuIgorbXNnc3RyICJtb3VudDogJXMgbG9vcCBheWfEsXTEsW7EsW4ga3VsbGFuxLFtxLFuYSBnaWRpbGl5b3JcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYmFja2luZyBmaWxlIgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEzMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjU1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UiCittc2dzdHIgInRha2FzIGFsYW7EsW5kYSBiYcWfYSBnaWRpbGVtaXlvciIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjE2MSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjMwNyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozNzYKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzozNTQgbWlzYy11dGlscy9sc2xvY2tzLmM6MzQyIHN5cy11dGlscy9sb3NldHVwLmM6MTA3CisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNzIgc3lzLXV0aWxzL2xzaXBjLmM6MjMyIHN5cy11dGlscy9sc25zLmM6MTg5CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI3NyBzeXMtdXRpbHMvc3dhcG9uLmM6MTQ3IHN5cy11dGlscy93ZGN0bC5jOjE1MQorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzoxNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAiJXM6IEJpbGlubWV5ZW4ga29tdXQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIndyaXRlX3RhYmxlcyBpw6dpbmRlIGVyacWfaW0gYmHFn2FyxLFzxLF6IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjg2IGRpc2stdXRpbHMvcGFydHguYzozMjQgZGlzay11dGlscy9wYXJ0eC5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZpZWQgcmFuZ2UgPCVkOiVkPiBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmFuZ2UgcmVjb3VudDogbWF4IHBhcnRubz0lZCwgbG93ZXI9JWQsIHVwcGVyPSVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiU2XDp2lsZW4gZGlzayBiw7Zsw7xtw7wgJWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZW1vdmVkXG4iCittc2dzdHIgIkF0YW5txLHFnyBkaXNrIGLDtmzDvG3DvCB5b2tcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgZG9lc24ndCBleGlzdFxuIgorbXNnc3RyICJCdSBkaXNrIGLDtmzDvG3DvCB6YXRlbiB2YXIuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZWxldGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiU2XDp2lsZW4gZGlzayBiw7Zsw7xtw7wgJWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzIGRpc2sgYsO2bMO8bcO8bmRlIGRlxJ9pbFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIlV5YXLEsTogJXMgZGlzayBiw7Zsw7xtw7wgIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDA1IGRpc2stdXRpbHMvcGFydHguYzo1MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGFkZGVkXG4iCittc2dzdHIgIkF0YW5txLHFnyBkaXNrIGLDtmzDvG3DvCB5b2tcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFkZGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIlNlw6dpbGVuIGRpc2sgYsO2bMO8bcO8ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICJVeWFyxLE6ICVzIGRpc2sgYsO2bMO8bcO8ICIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiAjJWQiCittc2dzdHIgIkF0YW5txLHFnyBkaXNrIGLDtmzDvG3DvCB5b2tcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVzaXplZFxuIgorbXNnc3RyICJBdGFubcSxxZ8gZGlzayBiw7Zsw7xtw7wgeW9rXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1cGRhdGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiU2XDp2lsZW4gZGlzayBiw7Zsw7xtw7wgJWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9yLCAlNmp1IE1CKVxuIgorbXNnaWRfcGx1cmFsICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9ycywgJTZqdSBNQilcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1ODEgbWlzYy11dGlscy9maW5kbW50LmM6Njg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjcwNQorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzkxIHN5cy11dGlscy9sc25zLmM6NDU2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhZGQgbGluZSB0byBvdXRwdXQiCittc2dzdHIgIlRhbXBvbiBheXLEsWxhbWFkxLEuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NDQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBkYXRhIHRvIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAiVGFtcG9uIGF5csSxbGFtYWTEsS5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY2NyBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjkyMiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTg1CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg3NCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NTEgc3lzLXV0aWxzL2xvc2V0dXAuYzozMTAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MTMgc3lzLXV0aWxzL2xzaXBjLmM6MzM4IHN5cy11dGlscy9sc25zLmM6NTExCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI5NyBzeXMtdXRpbHMvc3dhcG9uLmM6MjgwIHN5cy11dGlscy93ZGN0bC5jOjI1OQorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo0ODQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJUYW1wb24gYXlyxLFsYW1hZMSxLlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Njc4IG1pc2MtdXRpbHMvZmluZG1udC5jOjE2MTEgbWlzYy11dGlscy9sc2Jsay5jOjE4OTYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ2NSBzeXMtdXRpbHMvbG9zZXR1cC5jOjMyMiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM1OAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTcxOCBzeXMtdXRpbHMvbHNucy5jOjUzMiBzeXMtdXRpbHMvcHJsaW1pdC5jOjMwNgorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI4OSBzeXMtdXRpbHMvd2RjdGwuYzoyNzAgc3lzLXV0aWxzL3pyYW1jdGwuYzo0OTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAiVGFtcG9uIGF5csSxbGFtYWTEsS5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjcyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgZmlsdGVyIGZvciAnJXMnIgorbXNnc3RyICJUYW1wb24gYXlyxLFsYW1hZMSxLlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJiw7Zsw7xtbGVtZSB0YWJsb3N1IHllbmlkZW4gb2t1bnVyIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHR5cGUgJyVzJyBkZXRlY3RlZFxuIgorbXNnc3RyICIgICBwICAgQlNEIGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdW51IGfDtnN0ZXJpciIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB3aXRoIG5vIHBhcnRpdGlvbnMiCittc2dzdHIgIiVzIGRpc2tpIGdlw6dlcmxpIGJpciBkaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3UgacOnZXJtaXlvclxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLWF8LWR8LXN8LXVdIFstLW5yIDxuOm0+IHwgPHBhcnRpdGlvbj5dIDxkaXNrPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTYKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIHByZXNlbmNlIGFuZCBudW1iZXJpbmcgb2YgcGFydGl0aW9ucy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzU5Cittc2dpZCAiIC1hLCAtLWFkZCAgICAgICAgICAgIGFkZCBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjAKK21zZ2lkICIgLWQsIC0tZGVsZXRlICAgICAgICAgZGVsZXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MQorbXNnaWQgIiAtdSwgLS11cGRhdGUgICAgICAgICB1cGRhdGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYyCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLXMsIC0tc2hvdyAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zXG4iCisiXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgcGFyYW1ldHJlbGVyXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjMgbWlzYy11dGlscy9sc2Jsay5jOjE2MjMKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY0Cittc2dpZCAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLXNob3dcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY1Cittc2dpZCAiIC1uLCAtLW5yIDxuOm0+ICAgICAgIHNwZWNpZnkgdGhlIHJhbmdlIG9mIHBhcnRpdGlvbnMgKGUuZy4gLS1uciAyOjQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9c8OnbmtkaXpnZXNpICAgICBUYW7EsW5hY2FrIGvEsXNhIHNlw6dlbmVrbGVyIGJlbGlydGlsaXJcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NyBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNworIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjggbWlzYy11dGlscy9sc2Jsay5jOjE2MzgKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjkKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgc3BlY2lmeSB0aGUgcGFydGl0aW9uIHR5cGUgKGRvcywgYnNkLCBzb2xhcmlzLCBldGMuKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzAgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBTw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpclxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Nzc2CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdywgLS1yYXcgb3IgLS1wYWlycyk6XG4iCittc2dzdHIgIk3DvG1rw7xuIGtvbXV0bGFyOlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODQ5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLW5yIDxNLU4+IHJhbmdlIgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkyNAorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gYW5kIGRpc2sgbmFtZSBkbyBub3QgbWF0Y2giCittc2dzdHIgIiIKKyJEaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3UgemF0ZW4gZGXEn2nFn21pxZ90aSFcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1MgorbXNnaWQgIi0tbnIgYW5kIDxwYXJ0aXRpb24+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk3MQorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJ0aXRpb246ICVzLCBkaXNrOiAlcywgbG93ZXI6ICVkLCB1cHBlcjogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRlbGV0ZSBwYXJ0aXRpb25zIgorbXNnc3RyICJCaXIgYm/FnyBkaXNrIGLDtmzDvG3DvCBzaWxpbmVtZXoiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIHByb2JlciIKK21zZ3N0ciAiVGFtcG9uIGF5csSxbGFtYWTEsS5cbiIKKworIzogZGlzay11dGlscy9yYXcuYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgJTIkc3Jhd04gPG1ham9yPiA8bWlub3I+XG4iCisiICUxJHMgJTIkc3Jhd04gL2Rldi88YmxvY2tkZXZpY2U+XG4iCisiICUxJHMgLXEgJTIkc3Jhd05cbiIKKyIgJTEkcyAtcWFcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjU4Cittc2dpZCAiQmluZCBhIHJhdyBjaGFyYWN0ZXIgZGV2aWNlIHRvIGEgYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjEKK21zZ2lkICIgLXEsIC0tcXVlcnkgICAgc2V0IHF1ZXJ5IG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYyCittc2dpZCAiIC1hLCAtLWFsbCAgICAgIHF1ZXJ5IGFsbCByYXcgZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIHRoZSBjb250cm9sIHJhdyBkZXZpY2UgKHVzZSByYXc8Tj4gd2hlcmUgPE4+IGlzIGdyZWF0ZXIgdGhhbiB6ZXJvKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSBibG9jayBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiJXMga2lsaXQgZG9zeWFzxLEga2lsaXRsZW5lbWl5b3I6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIlV5YXLEsTogJXMgYmlyIGJsb2sgYXlnxLF0xLEgZGXEn2lsXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTkzIGRpc2stdXRpbHMvcmF3LmM6MTk2IHN5cy11dGlscy9pcGNybS5jOjM1MQorIzogc3lzLXV0aWxzL2lwY3JtLmM6MzY0IHN5cy11dGlscy9pcGNybS5jOjM3NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiJXMgYXlnxLF0xLFuxLFuIGR1cnVtIGJpbGdpc2kgYWzEsW5hbcSxeW9yIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSByYXcgZGV2aWNlICclcyciCittc2dzdHIgIiVzIGF5Z8SxdMSxbsSxbiBkdXJ1bSBiaWxnaXNpIGFsxLFuYW3EsXlvciIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJhdyBkZXZpY2UgJyVzJyBpcyBub3QgYSBjaGFyYWN0ZXIgZGV2IgorbXNnc3RyICIvZGV2LyVzOiBiaXIga2FyYWt0ZXIgYXlnxLF0xLEgZGXEn2lsIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgcmF3IGRldiIKK21zZ3N0ciAiJXMgYmlyIGJsb2stw7Z6ZWwgYXlnxLF0IGRlxJ9pbCIKKworIzogZGlzay11dGlscy9yYXcuYzoyNDUKKyMsIGZ1enp5Cittc2dpZCAiRXJyb3IgcXVlcnlpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAic2VydmlzIGR1cmR1cnVsdXJrZW4gaGF0YTogXCIlc1wiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI1NCBkaXNrLXV0aWxzL3Jhdy5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlc3JhdyVkOiAgYm91bmQgdG8gbWFqb3IgJWQsIG1pbm9yICVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNjgKKyMsIGZ1enp5Cittc2dpZCAiRXJyb3Igc2V0dGluZyByYXcgZGV2aWNlIgorbXNnc3RyICJzZXJ2aXMgZHVyZHVydWx1cmtlbiBoYXRhOiBcIiVzXCIiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPGxlbmd0aD5cbiIKK21zZ3N0ciAia3VsbGFuxLFtxLE6IHNmZGlzayAtLWlkIGF5Z8SxdCBkaXNrLWLDtmzDvG3DvC1udW1hcmFzxLEgW2tpbWxpa11cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjMKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBudW1iZXIgJXMiCittc2dzdHIgIndyaXRlX3RhYmxlcyBpw6dpbmRlIGVyacWfaW0gYmHFn2FyxLFzxLF6IgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24iCittc2dzdHIgImLDtmzDvG1sZW1lIHRhYmxvc3UgeWVuaWRlbiBva3VudXIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjMxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBuZXN0ZWQgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAiVGFtcG9uIGF5csSxbGFtYWTEsS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyOTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZWVrICVzIgorbXNnc3RyICJhc3Qgc8O8cmXDpyBvbHXFn3R1cnVsYW3EsXlvciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDIgbGliZmRpc2svc3JjL2JzZC5jOjcyMyBsaWJmZGlzay9zcmMvYnNkLmM6ODk0CisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE2MyBzeXMtdXRpbHMvaHdjbG9jay5jOjE2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlICVzIgorbXNnc3RyICIlcyBhw6fEsWxhbcSxeW9yIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlMTJzIChvZmZzZXQgJTVqdSwgc2l6ZSAlNWp1KTogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIgorbXNnc3RyICJpbXphIHNheWZhc8SxIHlhesSxbGFtxLF5b3IiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzI4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAgZmlsZSwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICJpbXphIHNheWZhc8SxIHlhesSxbGFtxLF5b3IiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzU0Cittc2dpZCAiQmFja3VwIGZpbGVzOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM3OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBuZXcgcGFydGl0aW9uIGZyb20gZGV2aWNlOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiYsO2bMO8bWxlbWUgdGFibG9zdSB5ZW5pZGVuIG9rdW51ciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAid3JpdGVfdGFibGVzIGnDp2luZGUgZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJ3cml0ZV90YWJsZXMgacOnaW5kZSBlcmnFn2ltIGJhxZ9hcsSxc8SxeiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAid3JpdGVfdGFibGVzIGnDp2luZGUgZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJ3cml0ZV90YWJsZXMgacOnaW5kZSBlcmnFn2ltIGJhxZ9hcsSxc8SxeiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODkKKyMsIGZ1enp5Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBoYXMgbm90IGJlZW4gbW92ZWQ7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJ3cml0ZV90YWJsZXMgacOnaW5kZSBlcmnFn2ltIGJhxZ9hcsSxc8SxeiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTEKK21zZ2lkICJuZXcgcGFydGl0aW9uIGlzIHNtYWxsZXIgdGhhbiBvcmlnaW5hbDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDEKK21zZ2lkICJEYXRhIG1vdmU6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgdHlwZXNjcmlwdCBmaWxlOiAlcyIKK21zZ3N0ciAiJyVzJyBkb3N5YXPEsSBhw6fEsWxhbcSxeW9yIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICIgb2xkIHN0YXJ0OiAlanUsIG5ldyBzdGFydDogJWp1IChtb3ZlICVqdSBzZWN0b3JzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUxCisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIG1vdmUgcGFydGl0aW9uIGRhdGE/IgorbXNnc3RyICJCdW51IGRpc2tlIHlhem1hayBpc3RlciBtaXNpbml6PyBbZWhzXSAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc4MworbXNnaWQgIkxlYXZpbmcuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIG1vdmUgZGF0YSIKK21zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQxCisjLCBmdXp6eQorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaXMgdW5jaGFuZ2VkICgtLW5vLWFjdCkuIgorbXNnc3RyICIiCisiRGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1IHphdGVuIGRlxJ9pxZ9tacWfdGkhXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQ3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICIiCisiRGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1IHphdGVuIGRlxJ9pxZ9tacWfdGkhXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBsYWJlbCAnJXMnIgorbXNnc3RyICIlczogYmlsaW5tZXllbiBhcmfDvG1hbjogJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MjYKK21zZ2lkICIiCisiSWQgIE5hbWVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIktpbWwgxLBzaW1cbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2NTYKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorbXNnc3RyICIgJXM6IGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdSB0w7xyw7wgdGFuxLFubcSxeW9yXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgIiVzIGdpYmkgYmlyIGJveXV0IGFsxLFuYW3EsXlvclxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidG90YWw6ICVqdSBibG9ja3NcbiIKK21zZ3N0ciAidG9wbGFtOiAlbGx1IGJsb2tcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MDggZGlzay11dGlscy9zZmRpc2suYzo4NzYgZGlzay11dGlscy9zZmRpc2suYzo5MTcKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTQ3IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxNCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNzgKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzMyBkaXNrLXV0aWxzL3NmZGlzay5jOjExODkgZGlzay11dGlscy9zZmRpc2suYzoxNTMzCisjLCBmdXp6eQorbXNnaWQgIm5vIGRpc2sgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAibW91bnQ6IGxvb3AgYXlnxLF0xLEgaWtpIGtlcmUgYmVsaXJ0aWxtacWfIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgxOQorbXNnaWQgInRvZ2dsZSBib290IGZsYWdzIGlzIHN1cHBvcnRlZCBmb3IgTUJSIG9ubHkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NTAgZGlzay11dGlscy9zZmRpc2suYzo4OTYgZGlzay11dGlscy9zZmRpc2suYzoxMDE5CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODMgZGlzay11dGlscy9zZmRpc2suYzoxMTM4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5NAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTMxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAid3JpdGVfdGFibGVzIGnDp2luZGUgZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJWQ6IGZhaWxlZCB0byB0b2dnbGUgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg5MSBkaXNrLXV0aWxzL3NmZGlzay5jOjg5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBkZWxldGUiCittc2dzdHIgIndyaXRlX3RhYmxlcyBpw6dpbmRlIGVyacWfaW0gYmHFn2FyxLFzxLF6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiJXMgZGlza2kgZ2XDp2VybGkgYmlyIGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdSBpw6dlcm1peW9yXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTU4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBkdW1wIHN0cnVjdCIKK21zZ3N0ciAiVGFtcG9uIGF5csSxbGFtYWTEsS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZHVtcCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgImLDtmzDvG1sZW1lIHRhYmxvc3UgeWVuaWRlbiBva3VudXIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uIHRhYmxlIGZvdW5kIgorbXNnc3RyICJEaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3UgeW9rLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlcyBkaXNraSBnZcOnZXJsaSBiaXIgZGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1IGnDp2VybWl5b3JcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gaXMgdW51c2VkIgorbXNnc3RyICJVeWFyxLE6ICVkIGlsZSAlZCBkaXNrIGLDtmzDvG1sZXJpIGJpcmJpcmluZSBnaXJtacWfLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTggZGlzay11dGlscy9zZmRpc2suYzoxMDgyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzNworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTkzCisjLCBmdXp6eQorbXNnaWQgIm5vIHBhcnRpdGlvbiBudW1iZXIgc3BlY2lmaWVkIgorbXNnc3RyICItLWRhdGUgc2XDp2VuZcSfaSBiZWxpcnRpbG1lbWnFny5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4OCBkaXNrLXV0aWxzL3NmZGlzay5jOjExNDMKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5OQorIywgZnV6enkKK21zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50cyIKK21zZ3N0ciAiYXphbWkgYsO2bMO8dCBzYXnEsXPEsSA9ICVsdVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJ3cml0ZV90YWJsZXMgacOnaW5kZSBlcmnFn2ltIGJhxZ9hcsSxc8SxeiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgcGFydGl0aW9uIHR5cGUgJyVzJyIKK21zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiVzIGRpc2tpIGdlw6dlcmxpIGJpciBkaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3UgacOnZXJtaXlvclxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIlcyBkaXNraSBnZcOnZXJsaSBiaXIgZGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1IGnDp2VybWl5b3JcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTEzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE2OCBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMjIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBvYmplY3QiCittc2dzdHIgIlRhbXBvbiBheXLEsWxhbWFkxLEuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTExNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiVzIGRpc2tpIGdlw6dlcmxpIGJpciBkaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3UgacOnZXJtaXlvclxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJ3cml0ZV90YWJsZXMgacOnaW5kZSBlcmnFn2ltIGJhxZ9hcsSxc8SxeiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAid3JpdGVfdGFibGVzIGnDp2luZGUgZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIGF0dHJpYnV0ZXMiCittc2dzdHIgIiVzIGRpc2tpIGdlw6dlcmxpIGJpciBkaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3UgacOnZXJtaXlvclxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNjkKKyMsIGZ1enp5Cittc2dpZCAiIENvbW1hbmRzOlxuIgorbXNnc3RyICJNw7xta8O8biBrb211dGxhcjpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjcxCisjLCBmdXp6eQorbXNnaWQgIiAgIHdyaXRlICAgIHdyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgdyAgIHRhYmxveXUgZGlza3Rla2kgeWVyaW5lIHlhemFyIHZlIMOnxLFrYXIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3MgorbXNnaWQgIiAgIHF1aXQgICAgIHNob3cgbmV3IHNpdHVhdGlvbiBhbmQgd2FpdCBmb3IgdXNlcidzIGZlZWRiYWNrIGJlZm9yZSB3cml0ZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3MworbXNnaWQgIiAgIGFib3J0ICAgIGV4aXQgc2ZkaXNrIHNoZWxsXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjc0CisjLCBmdXp6eQorbXNnaWQgIiAgIHByaW50ICAgIGRpc3BsYXkgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgICBwICAgQlNEIGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdW51IGfDtnN0ZXJpciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjc1CisjLCBmdXp6eQorbXNnaWQgIiAgIGhlbHAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBCdSB5YXJkxLFtIGlsZXRpc2luaSBnw7ZzdGVyaXJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjc3Cittc2dpZCAiICAgQ3RybC1EICAgdGhlIHNhbWUgYXMgJ3F1aXQnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjgxCittc2dpZCAiIElucHV0IGZvcm1hdDpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODMKK21zZ2lkICIgICA8c3RhcnQ+LCA8c2l6ZT4sIDx0eXBlPiwgPGJvb3RhYmxlPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4NgorbXNnaWQgIiIKKyIgICA8c3RhcnQ+ICBCZWdpbm5pbmcgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgdGhlIGZpcnN0IGZyZWUgc3BhY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkxCittc2dpZCAiIgorIiAgIDxzaXplPiAgIFNpemUgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgYWxsIGF2YWlsYWJsZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTYKK21zZ2lkICIgICA8dHlwZT4gICBUaGUgcGFydGl0aW9uIHR5cGUuICBEZWZhdWx0IGlzIGEgTGludXggZGF0YSBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk3Cittc2dpZCAiICAgICAgICAgICAgTUJSOiBoZXggb3IgTCxTLEUsWCBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk4Cittc2dpZCAiICAgICAgICAgICAgR1BUOiBVVUlEIG9yIEwsUyxIIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDEKKyMsIGZ1enp5Cittc2dpZCAiICAgPGJvb3RhYmxlPiAgVXNlICcqJyB0byBtYXJrIGFuIE1CUiBwYXJ0aXRpb24gYXMgYm9vdGFibGUuXG4iCittc2dzdHIgIkRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdW51IGRpc2t0ZWtpIHllcmluZSBrYXlkZXRtZSB5ZXRraW5peiB5b2suXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNQorbXNnaWQgIiBFeGFtcGxlOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNworIywgZnV6enkKK21zZ2lkICIgICAsIDRHICAgICBDcmVhdGVzIGEgNEdpQiBwYXJ0aXRpb24gYXQgZGVmYXVsdCBzdGFydCBvZmZzZXQuXG4iCittc2dzdHIgIiAgbiAgICAgICAgICBCb8WfIGFsYW5kYSB5ZW5pIGJpciBkaXNrIGLDtmzDvG3DvCBvbHXFn3R1cnVyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMzkgc3lzLXV0aWxzL2RtZXNnLmM6MTQ1NQorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICJLb211dD9cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICJLb211dD9cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTAwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiYsO2bMO8bWxlbWUgdGFibG9zdSB5ZW5pZGVuIG9rdW51ciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTQxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiVGFtcG9uIGF5csSxbGFtYWTEsS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IG5vIHBhcnRpdGlvbiB0YWJsZSB3YXMgZm91bmQiCittc2dzdHIgImLDtmzDvG1sZW1lIHRhYmxvc3UgeWVuaWRlbiBva3VudXIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXMgZGlza2kgZ2XDp2VybGkgYmlyIGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdSBpw6dlcm1peW9yXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXM6IHBhcnRpdGlvbiAlZCBpcyBub3QgZGVmaW5lZCB5ZXQiCittc2dzdHIgIlRhbsSxbWzEsSBiaXIgZGlzayBiw7Zsw7xtw7wgaGVuw7x6IHlvayFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJXZWxjb21lIHRvIHNmZGlzayAoJXMpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTQKKyMsIGZ1enp5Cittc2dpZCAiQ2hlY2tpbmcgdGhhdCBuby1vbmUgaXMgdXNpbmcgdGhpcyBkaXNrIHJpZ2h0IG5vdyAuLi4iCittc2dzdHIgIkRpc2tpbiBrdWxsYW7EsW1kYSBvbHVwIG9sbWFkxLHEn8SxIGRlbmV0bGVuaXlvci4uLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTcKK21zZ2lkICIiCisiIEZBSUxFRFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwMAorIywgZnV6enkKK21zZ2lkICIiCisiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UgLSByZXBhcnRpdGlvbmluZyBpcyBwcm9iYWJseSBhIGJhZCBpZGVhLlxuIgorIlVtb3VudCBhbGwgZmlsZSBzeXN0ZW1zLCBhbmQgc3dhcG9mZiBhbGwgc3dhcCBwYXJ0aXRpb25zIG9uIHRoaXMgZGlzay5cbiIKKyJVc2UgdGhlIC0tbm8tcmVyZWFkIGZsYWcgdG8gc3VwcHJlc3MgdGhpcyBjaGVjay5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkJ1IGRpc2sgxZ91IGFuZGEga3VsbGFuxLFtZGEgb2xkdcSfdW5kYW4geWVuaWRlbiBiw7Zsw7xtbGVtZWsgacOnaW46XG4iCisiVMO8bSBkb3N5YSBzaXN0ZW1sZXJpbmkgdW1vdW50IGVkaW4gdmUgYnUgZGlzayDDvHplcmluZGVraSB0w7xtIHRha2FzXG4iCisiYWxhbmxhcsSxbsSxIHN3YXBvZmYgaWxlIGthcGF0xLFuLiAtLW5vLXJlcmVhZCBiYXlyYcSfxLFuxLEga3VsbGFuYXJha1xuIgorInllbmlkZW4gb2t1bWEgacWfbGVtaW5pIGVuZ2VsbGV5aW4uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNQorIywgZnV6enkKK21zZ2lkICJVc2UgdGhlIC0tZm9yY2UgZmxhZyB0byBvdmVycnVsZSBhbGwgY2hlY2tzLiIKK21zZ3N0ciAiVMO8bSBkZW5ldGltbGVyaSBrYWxkxLFybWFrIGnDp2luIC0tZm9yY2Ugc2XDp2VuZcSfaW5pIGt1bGxhbsSxbi5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjA3CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgT0tcbiIKKyJcbiIKK21zZ3N0ciAiJXM6IFRBTUFNXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYzNgorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiT2xkIHNpdHVhdGlvbjoiCittc2dzdHIgIkVza2kgZHVydW06XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY1NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisic2ZkaXNrIGlzIGdvaW5nIHRvIGNyZWF0ZSBhIG5ldyAnJXMnIGRpc2sgbGFiZWwuXG4iCisiVXNlICdsYWJlbDogPG5hbWU+JyBiZWZvcmUgeW91IGRlZmluZSBhIGZpcnN0IHBhcnRpdGlvblxuIgorInRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NTcKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlR5cGUgJ2hlbHAnIHRvIGdldCBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJEYWhhIGZhemxhIGJpbGdpIGnDp2luIGBnZXRvcHQgLS1oZWxwJyB5YXrEsW7EsXouXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY3NQorIywgZnV6enkKK21zZ2lkICJBbGwgcGFydGl0aW9ucyB1c2VkLiIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtw7wgYnVsdW5hbWFkxLFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzAzCisjLCBmdXp6eQorbXNnaWQgIkRvbmUuXG4iCittc2dzdHIgIiIKKyJCaXR0aVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MTUKKyMsIGZ1enp5Cittc2dpZCAiSWdub3JpbmcgcGFydGl0aW9uLiIKK21zZ3N0ciAiQmlyIGRpc2sgYsO2bMO8bcO8IG9sdcWfdHVydWxtYXoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcyNAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0IGhlYWRlcnMsIGRpc2sgbGFiZWwgbm90IGNyZWF0ZWQuIgorbXNnc3RyICJ3cml0ZV90YWJsZXMgacOnaW5kZSBlcmnFn2ltIGJhxZ9hcsSxc8SxeiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkICMlZCBwYXJ0aXRpb24iCittc2dzdHIgImLDtmzDvG1sZW1lIHRhYmxvc3UgeWVuaWRlbiBva3VudXIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc2MworbXNnaWQgIlNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc3MgorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiTmV3IHNpdHVhdGlvbjoiCittc2dzdHIgIlllbmkgZHVydW06XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc4MQorIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byB3cml0ZSB0aGlzIHRvIGRpc2s/IgorbXNnc3RyICJCdW51IGRpc2tlIHlhem1hayBpc3RlciBtaXNpbml6PyBbZWhzXSAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc5MworbXNnaWQgIkxlYXZpbmcuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXY+IFtbLU5dIDxwYXJ0Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgImt1bGxhbsSxbcSxOiBuYW1laSBbLW14XSBkb3N5YVlvbHUgW2Rvc3lhWW9sdSAuLi5dXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMgorbXNnaWQgIiIKKyJcbiIKKyJDb21tYW5kczpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTMKK21zZ2lkICIgLUEsIC0tYWN0aXZhdGUgPGRldj4gWzxwYXJ0PiAuLi5dIGxpc3Qgb3Igc2V0IGJvb3RhYmxlIE1CUiBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE0CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kdW1wIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgKHVzYWJsZSBmb3IgbGF0ZXIgaW5wdXQpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE1CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgaW4gSlNPTiBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICDDh8Sxa3TEsSB0xLFybmFrIGnDp2luZSBhbMSxbm1helxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTYKK21zZ2lkICIgLWcsIC0tc2hvdy1nZW9tZXRyeSBbPGRldj4gLi4uXSAgIGxpc3QgZ2VvbWV0cnkgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE3CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0IFs8ZGV2PiAuLi5dICAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgQnUgeWFyZMSxbSBpbGV0aXNpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxOAorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbGlzdC1mcmVlIFs8ZGV2PiAuLi5dICAgICAgIGxpc3QgdW5wYXJ0aXRpb25lZCBmcmVlIGFyZWFzIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgQnUgeWFyZMSxbSBpbGV0aXNpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxOQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVvcmRlciA8ZGV2PiAgICAgICAgICAgICAgIGZpeCBwYXJ0aXRpb25zIG9yZGVyIChieSBzdGFydCBvZmZzZXQpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIwCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaG93LXNpemUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCBzaXplcyBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICBnZXRvcHQoMSkgc8O8csO8bcO8IGnDp2luIHRlc3RcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIxCisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJlY29nbml6ZWQgdHlwZXMgKHNlZSAtWClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICDDh8Sxa3TEsSB0xLFybmFrIGnDp2luZSBhbMSxbm1helxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjIKKyMsIGZ1enp5Cittc2dpZCAiIC1WLCAtLXZlcmlmeSBbPGRldj4gLi4uXSAgICAgICAgICB0ZXN0IHdoZXRoZXIgcGFydGl0aW9ucyBzZWVtIGNvcnJlY3RcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBCdSB5YXJkxLFtIGlsZXRpc2luaSBnw7ZzdGVyaXJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIzCittc2dpZCAiICAgICAtLWRlbGV0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gICBkZWxldGUgYWxsIG9yIHNwZWNpZmllZCBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI2Cittc2dpZCAiIC0tcGFydC1sYWJlbCA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGxhYmVsXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI3Cittc2dpZCAiIC0tcGFydC10eXBlIDxkZXY+IDxwYXJ0PiBbPHR5cGU+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjgKKyMsIGZ1enp5Cittc2dpZCAiIC0tcGFydC11dWlkIDxkZXY+IDxwYXJ0PiBbPHV1aWQ+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHV1aWRcbiIKK21zZ3N0ciAiICAgIC1jICAtLWlkICAgICAgICAgICAgZGlzayBiw7Zsw7xtw7wga2ltbGnEn2kgZGXEn2nFn3RpcmlsaXIgeWEgZGEgZ8O2c3RlcmlsaXIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyOQorbXNnaWQgIiAtLXBhcnQtYXR0cnMgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBhdHRyaWJ1dGVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODMyCisjLCBmdXp6eQorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgIGRldmljZSAodXN1YWxseSBkaXNrKSBwYXRoXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgQnUgeWFyZMSxbSBpbGV0aXNpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzMworIywgZnV6enkKK21zZ2lkICIgPHBhcnQ+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiAgICAtTiMgICAgICAgICAgICAgICAgIHNhZGVjZSAjIG51bWFyYWzEsSBkaXNrIGFsYW7EsSBkZcSfacWfdGlyaWxpciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM0Cittc2dpZCAiIDx0eXBlPiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIHR5cGUsIEdVSUQgZm9yIEdQVCwgaGV4IGZvciBNQlJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzcKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgYXBwZW5kIHBhcnRpdGlvbnMgdG8gZXhpc3RpbmcgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOb3JtYWxkZSB2ZXJpbGVuIMOnxLFrdMSxIHZlcmlsbWV6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzOAorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmFja3VwICAgICAgICAgICAgICBiYWNrdXAgcGFydGl0aW9uIHRhYmxlIHNlY3RvcnMgKHNlZSAtTylcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vcm1hbGRlIHZlcmlsZW4gw6fEsWt0xLEgdmVyaWxtZXpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM5CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQwCittc2dpZCAiICAgICAtLW1vdmUtZGF0YVs9PHR5cGVzY3JpcHQ+XSBtb3ZlIHBhcnRpdGlvbiBkYXRhIGFmdGVyIHJlbG9jYXRpb24gKHJlcXVpcmVzIC1OKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZ1xuIgorbXNnc3RyICJLYXJhcmzEsWzEsWsgZGVuZXRpbWxlcmluaSBldGtpc2l6bGXFn3Rpcm1lIHNlw6dlbmVrbGVyaToiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vcm1hbGRlIHZlcmlsZW4gw6fEsWt0xLEgdmVyaWxtZXpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ1CisjLCBmdXp6eQorbXNnaWQgIiAtTiwgLS1wYXJ0bm8gPG51bT4gICAgICAgIHNwZWNpZnkgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgICAgLUgjICAtLWhlYWRzICMgICAgICBrdWxhbsSxbGFjYWsga2FmYSBzYXnEsXPEsSBiZWxpcnRpbGlyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDYKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgd3JpdGUgdG8gZGV2aWNlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBkZXZpY2UgaXMgaW4gdXNlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ4CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIGRvIG5vdCB0ZWxsIGtlcm5lbCBhYm91dCBjaGFuZ2VzXG4iCittc2dzdHIgIiAgICAtbiAgICAgICAgICAgICAgICAgIGdlcsOnZWt0ZSBkaXNrZSB5YXrEsWxtYXoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OQorbXNnaWQgIiAtTywgLS1iYWNrdXAtZmlsZSA8cGF0aD4gIG92ZXJyaWRlIGRlZmF1bHQgYmFja3VwIGZpbGUgbmFtZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9c8OnbmtkaXpnZXNpICAgICBUYW7EsW5hY2FrIGvEsXNhIHNlw6dlbmVrbGVyIGJlbGlydGlsaXJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUxCisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIGV4dHJhIGluZm8gbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAgIC1xICAtLXF1aWV0ICAgICAgICAgdXlhcsSxbGFyxLEgZW5nZWxsZXIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MgorIywgZnV6enkKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vcm1hbGRlIHZlcmlsZW4gw6fEsWt0xLEgdmVyaWxtZXpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU0CisjLCBmdXp6eQorbXNnaWQgIiAtWCwgLS1sYWJlbCA8bmFtZT4gICAgICAgIHNwZWNpZnkgbGFiZWwgdHlwZSAoZG9zLCBncHQsIC4uLilcbiIKK21zZ3N0ciAiICAtcywgLS1zaGVsbD1rYWJ1a1TDvHLDvCAgICAgICAgIEt1bGxhbsSxbGFjYWsga2FidWsgdMO8csO8IGJlbGlydGlsaXJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU1Cittc2dpZCAiIC1ZLCAtLWxhYmVsLW5lc3RlZCA8bmFtZT4gc3BlY2lmeSBuZXN0ZWQgbGFiZWwgdHlwZSAoZG9zLCBic2QpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU3Cittc2dpZCAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgZGVwcmVjYXRlZCwgYWxpYXMgdG8gLS1zaG93LWdlb21ldHJ5XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU4CisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICDDh8Sxa3TEsSB0xLFybmFrIGnDp2luZSBhbMSxbm1helxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTkKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVuaXQgUyAgICAgICAgICAgICAgZGVwcmVjYXRlZCwgb25seSBzZWN0b3IgdW5pdCBpcyBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICDDh8Sxa3TEsSB0xLFybmFrIGnDp2luZSBhbMSxbm1helxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjMgbG9naW4tdXRpbHMvY2hmbi5jOjEwMiBsb2dpbi11dGlscy9jaHNoLmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxOTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk3MworbXNnaWQgIi0taWQgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxOTg5Cittc2dpZCAiLS1zaG93LXB0LWdlb21ldHJ5IGlzIG5vIG1vcmUgaW1wbGVtZW50ZWQuIFVzaW5nIC0tc2hvdy1nZW9tZXRyeS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDAwCittc2dpZCAiLS1MaW51eCBvcHRpb24gaXMgdW5uZWNlc3NhcnkgYW5kIGRlcHJlY2F0ZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0ICclYyciCittc2dzdHIgIiVzOiBiaWxpbm1leWVuIGFyZ8O8bWFuOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMzIgaW5jbHVkZS9jLmg6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXNcbiIKK21zZ3N0ciAiJTIkcyBkZWtpICUxJHNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMTA5Cittc2dpZCAiLS1tb3ZlZGF0YSByZXF1aXJlcyAtTiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgVVVJRDogJXMiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBVVUlEIgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBVVUlEIgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgbGFiZWwgIgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICJsYWJlbCBpcyB0b28gbG9uZy4gVHJ1bmNhdGluZyBpdCB0byAnJXMnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6OTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgbGFiZWwiCittc2dzdHIgIndyaXRlX3RhYmxlcyBpw6dpbmRlIGVyacWfaW0gYmHFn2FyxLFzxLF6IgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyMQorbXNnaWQgIkRpc3BsYXkgb3IgY2hhbmdlIHRoZSBsYWJlbCBvciBVVUlEIG9mIGEgc3dhcCBhcmVhLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTI0Cittc2dpZCAiIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+IHNwZWNpZnkgYSBuZXcgbGFiZWxcbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICBzcGVjaWZ5IGEgbmV3IHV1aWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjE2NworbXNnaWQgImlnbm9yZSAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkKSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2MuaDoyOTkKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorbXNnc3RyICJLdWxsYW7EsW3EsTpcbiIKKworIzogaW5jbHVkZS9jLmg6MzAwCisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgZGlzayBiw7Zsw7xtw7w6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwMgorbXNnaWQgIiAtaCwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjMwMworIywgZnV6enkKK21zZ2lkICIgLVYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBTw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpclxuIgorCisjOiBpbmNsdWRlL2MuaDozMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJGb3IgbW9yZSBkZXRhaWxzIHNlZSAlcy5cbiIKK21zZ3N0ciAiS3VsbGFuxLFjxLEgYmlsZ2lsZXJpIGRlxJ9pxZ90aXJpbGRpLlxuIgorCisjOiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDYgaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzMKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTIgc3lzLXV0aWxzL3J0Y3dha2UuYzoyODAgdGVybS11dGlscy9zZXR0ZXJtLmM6ODA1CisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE1NworIywgZnV6enkKK21zZ2lkICJ3cml0ZSBlcnJvciIKK21zZ3N0ciAiY29sOiB5YXptYSBoYXRhc8SxLlxuIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI3CisjLCBmdXp6eQorbXNnaWQgImNvbG9ycyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICIlcyDDvHplcmluZGVuICVzIG1ha2luYXPEsW5hIGdpcmnFn2Ugw7ZudGFuxLFtbMSxIG9sYXJhayBpemluIHZlcmlsbWVkaS5cbiIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyOQorIywgZnV6enkKK21zZ2lkICJjb2xvcnMgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgIiVzIMO8emVyaW5kZW4gJXMgbWFraW5hc8SxbmEgZ2lyacWfZSDDtm50YW7EsW1sxLEgb2xhcmFrIGl6aW4gdmVyaWxtZWRpLlxuIgorCisjOiBpbmNsdWRlL2Vudi5oOjE4IGxpYi9wYWdlci5jOjE1MSBsb2dpbi11dGlscy9sb2dpbi5jOjEwNTIKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTA1NiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MjkKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTE2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgZW52aXJvbm1lbnQgdmFyaWFibGUiCittc2dzdHIgIiVzIGRpc2sgYsO2bMO8bcO8bmUgeWF6YXJrZW4gaGF0YSBvbHXFn3R1XG4iCisKKyM6IGluY2x1ZGUvb3B0dXRpbHMuaDo4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZXNlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZToiCittc2dzdHIgIiIKKyIlczogIC0tYWRqdXN0IHZlIC0tbm9hZGpmaWxlIHNlw6dlbmVrbGVyaSBiaXJiaXJpeWxlIMOnZWxpxZ9pci5cbiIKKyJTaXogaWtpc2luaSBkZSBiZWxpcnRtacWfc2luaXouXG4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEKK21zZ2lkICJFbXB0eSIKK21zZ3N0ciAiQm/FnyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MgorbXNnaWQgIkZBVDEyIgorbXNnc3RyICJGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MworbXNnaWQgIlhFTklYIHJvb3QiCittc2dzdHIgIlhFTklYIHJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQKK21zZ2lkICJYRU5JWCB1c3IiCittc2dzdHIgIlhFTklYIHVzciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NQorbXNnaWQgIkZBVDE2IDwzMk0iCittc2dzdHIgIkZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYKK21zZ2lkICJFeHRlbmRlZCIKK21zZ3N0ciAiRWsiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcKK21zZ2lkICJGQVQxNiIKK21zZ3N0ciAiRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgKKyMsIGZ1enp5Cittc2dpZCAiSFBGUy9OVEZTL2V4RkFUIgorbXNnc3RyICJIUEZTL05URlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkKK21zZ2lkICJBSVgiCittc2dzdHIgIkFJWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAKK21zZ2lkICJBSVggYm9vdGFibGUiCittc2dzdHIgIkFJWCDDtm55w7xrbGVuZWJpbGlyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMQorbXNnaWQgIk9TLzIgQm9vdCBNYW5hZ2VyIgorbXNnc3RyICJPUy8yIMOWbnnDvGtsZW1lIFnDtm5ldGljaXNpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMgorbXNnaWQgIlc5NSBGQVQzMiIKK21zZ3N0ciAiVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMworbXNnaWQgIlc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNAorbXNnaWQgIlc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNQorbXNnaWQgIlc5NSBFeHQnZCAoTEJBKSIKK21zZ3N0ciAiVzk1IEV4dCdkIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNgorbXNnaWQgIk9QVVMiCittc2dzdHIgIk9QVVMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE3Cittc2dpZCAiSGlkZGVuIEZBVDEyIgorbXNnc3RyICJHaXpsaSBGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTgKK21zZ2lkICJDb21wYXEgZGlhZ25vc3RpY3MiCittc2dzdHIgIkNvbXBhcSB0ZcWfaGlzIHNpc3RlbWkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE5Cittc2dpZCAiSGlkZGVuIEZBVDE2IDwzMk0iCittc2dzdHIgIkdpemxpIEZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIwCittc2dpZCAiSGlkZGVuIEZBVDE2IgorbXNnc3RyICJHaXpsaSBGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjEKK21zZ2lkICJIaWRkZW4gSFBGUy9OVEZTIgorbXNnc3RyICJHaXpsaSBIUEZTL05URlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIyCittc2dpZCAiQVNUIFNtYXJ0U2xlZXAiCittc2dzdHIgIkFTVCBTbWFydFNsZWVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMworbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIiCittc2dzdHIgIkdpemxpIFc5NSBGQVQzMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjQKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICJHaXpsaSBXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI1Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiR2l6bGkgVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNgorbXNnaWQgIk5FQyBET1MiCittc2dzdHIgIk5FQyBET1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI3CisjLCBmdXp6eQorbXNnaWQgIkhpZGRlbiBOVEZTIFdpblJFIgorbXNnc3RyICJHaXpsaSBIUEZTL05URlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI4Cittc2dpZCAiUGxhbiA5IgorbXNnc3RyICJQbGFuIDkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI5Cittc2dpZCAiUGFydGl0aW9uTWFnaWMgcmVjb3ZlcnkiCittc2dzdHIgIkRpc2sgQsO2bMO8bcO8IGtheWTEsSBrdXJ0YXJtYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzAKK21zZ2lkICJWZW5peCA4MDI4NiIKK21zZ3N0ciAiVmVuaXggODAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMxCittc2dpZCAiUFBDIFBSZVAgQm9vdCIKK21zZ3N0ciAiUFBDIFBSZVAgw5ZuecO8a2xlbWUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMyCittc2dpZCAiU0ZTIgorbXNnc3RyICJTRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMzCittc2dpZCAiUU5YNC54IgorbXNnc3RyICJRTlg0LngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM0Cittc2dpZCAiUU5YNC54IDJuZCBwYXJ0IgorbXNnc3RyICJRTlg0LnggMi4gYsO2bMO8bSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzUKK21zZ2lkICJRTlg0LnggM3JkIHBhcnQiCittc2dzdHIgIlFOWDQueCAzLiBiw7Zsw7xtIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNgorbXNnaWQgIk9uVHJhY2sgRE0iCittc2dzdHIgIk9uVHJhY2sgRE0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM3Cittc2dpZCAiT25UcmFjayBETTYgQXV4MSIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzgKK21zZ2lkICJDUC9NIgorbXNnc3RyICJDUC9NIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOQorbXNnaWQgIk9uVHJhY2sgRE02IEF1eDMiCittc2dzdHIgIk9uVHJhY2sgRE02IEF1eDMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQwCittc2dpZCAiT25UcmFja0RNNiIKK21zZ3N0ciAiT25UcmFja0RNNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDEKK21zZ2lkICJFWi1Ecml2ZSIKK21zZ3N0ciAiRVotRHJpdmUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQyCittc2dpZCAiR29sZGVuIEJvdyIKK21zZ3N0ciAiR29sZGVuIEJvdyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDMKK21zZ2lkICJQcmlhbSBFZGlzayIKK21zZ3N0ciAiUHJpYW0gRWRpc2siCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkxCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OQorbXNnaWQgIlNwZWVkU3RvciIKK21zZ3N0ciAiU3BlZWRTdG9yIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NQorbXNnaWQgIkdOVSBIVVJEIG9yIFN5c1YiCittc2dzdHIgIkdOVSBIVVJEIHZleWEgU3lzViIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDYKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAyODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDcKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAzODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDM4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDgKK21zZ2lkICJEaXNrU2VjdXJlIE11bHRpLUJvb3QiCittc2dzdHIgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDkKK21zZ2lkICJQQy9JWCIKK21zZ3N0ciAiUEMvSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUwCittc2dpZCAiT2xkIE1pbml4IgorbXNnc3RyICJFc2tpIE1pbml4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MQorbXNnaWQgIk1pbml4IC8gb2xkIExpbnV4IgorbXNnc3RyICJNaW5peCAvIGVza2kgTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUyCittc2dpZCAiTGludXggc3dhcCAvIFNvbGFyaXMiCittc2dzdHIgIkxpbnV4IHRha2FzIC8gU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTMKK21zZ2lkICJMaW51eCIKK21zZ3N0ciAiTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU0Cittc2dpZCAiT1MvMiBoaWRkZW4gb3IgSW50ZWwgaGliZXJuYXRpb24iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTcKK21zZ2lkICJMaW51eCBleHRlbmRlZCIKK21zZ3N0ciAiTGludXggZWsiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU5Cittc2dpZCAiTlRGUyB2b2x1bWUgc2V0IgorbXNnc3RyICJOVEZTIGLDtmzDvG0ga8O8bWVzaSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjAKK21zZ2lkICJMaW51eCBwbGFpbnRleHQiCittc2dzdHIgIkxpbnV4IHNhbHRtZXRpbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjEgbGliZmRpc2svc3JjL2dwdC5jOjIwNSBsaWJmZGlzay9zcmMvc2dpLmM6NjMKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1NAorbXNnaWQgIkxpbnV4IExWTSIKK21zZ3N0ciAiTGludXggTFZNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MgorbXNnaWQgIkFtb2ViYSIKK21zZ3N0ciAiQW1vZWJhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MworbXNnaWQgIkFtb2ViYSBCQlQiCittc2dzdHIgIkFtb2ViYSBCQlQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY0Cittc2dpZCAiQlNEL09TIgorbXNnc3RyICJCU0QvT1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY1Cittc2dpZCAiSUJNIFRoaW5rcGFkIGhpYmVybmF0aW9uIgorbXNnc3RyICJJQk0gVGhpbmtwYWQgaGliZXJuYXRpb24iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY2Cittc2dpZCAiRnJlZUJTRCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjcKK21zZ2lkICJPcGVuQlNEIgorbXNnc3RyICJPcGVuQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OAorbXNnaWQgIk5lWFRTVEVQIgorbXNnc3RyICJOZVhUU1RFUCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjkKK21zZ2lkICJEYXJ3aW4gVUZTIgorbXNnc3RyICJEYXJ3aW4gVUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MAorbXNnaWQgIk5ldEJTRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MQorbXNnaWQgIkRhcndpbiBib290IgorbXNnc3RyICJEYXJ3aW4gYm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzIKKyMsIGZ1enp5Cittc2dpZCAiSEZTIC8gSEZTKyIKK21zZ3N0ciAiT1MvMiBIUEZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MworbXNnaWQgIkJTREkgZnMiCittc2dzdHIgIkJTREkgZHMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc0Cittc2dpZCAiQlNESSBzd2FwIgorbXNnc3RyICJCU0RJIHRha2FzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NQorbXNnaWQgIkJvb3QgV2l6YXJkIGhpZGRlbiIKK21zZ3N0ciAiw5ZuecO8a2xlbWUgc2loaXJiYXrEsSBnaXpsaSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzYKKyMsIGZ1enp5Cittc2dpZCAiQWNyb25pcyBGQVQzMiBMQkEiCittc2dzdHIgIlc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzcgbGliZmRpc2svc3JjL2dwdC5jOjIzMAorbXNnaWQgIlNvbGFyaXMgYm9vdCIKK21zZ3N0ciAiU29sYXJpcyBib290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OAorbXNnaWQgIlNvbGFyaXMiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc5Cittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTIpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xMikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgwCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgxCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgyCittc2dpZCAiU3lyaW54IgorbXNnc3RyICJTeXJpbngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgzCittc2dpZCAiTm9uLUZTIGRhdGEiCittc2dzdHIgIkRTLW9sbWF5YW4gdmVyaSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiQ1AvTSAvIENUT1MgLyAuLi4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg2Cittc2dpZCAiRGVsbCBVdGlsaXR5IgorbXNnc3RyICJEZWxsIFV5Z3VsYW1hc8SxIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NworbXNnaWQgIkJvb3RJdCIKK21zZ3N0ciAiQm9vdEl0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4OAorbXNnaWQgIkRPUyBhY2Nlc3MiCittc2dzdHIgIkRPUyBlcmnFn2ltaSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTAKK21zZ2lkICJET1MgUi9PIgorbXNnc3RyICJET1MgUi9PIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MworIywgZnV6enkKK21zZ2lkICJSdWZ1cyBhbGlnbm1lbnQiCittc2dzdHIgImNvbDogLWwgYXJnw7xtYW7EsSAlcyBoYXRhbMSxLlxuIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NAorbXNnaWQgIkJlT1MgZnMiCittc2dzdHIgIkJlT1MgZnMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk2Cittc2dpZCAiRUZJIChGQVQtMTIvMTYvMzIpIgorbXNnc3RyICJFRkkgKEZBVC0xMi8xNi8zMikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk3Cittc2dpZCAiTGludXgvUEEtUklTQyBib290IgorbXNnc3RyICJMaW51eC9QQS1SSVNDIMO2bnnDvGtsZW1lc2kiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMAorbXNnaWQgIkRPUyBzZWNvbmRhcnkiCittc2dzdHIgIkRPUyBpa2luY2lsIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDEKK21zZ2lkICJWTXdhcmUgVk1GUyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDIKK21zZ2lkICJWTXdhcmUgVk1LQ09SRSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDMgbGliZmRpc2svc3JjL3N1bi5jOjU1Cittc2dpZCAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorbXNnc3RyICJMaW51eCByYWlkIG90b3NhcHRhbWEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwNgorbXNnaWQgIkxBTnN0ZXAiCittc2dzdHIgIkxBTnN0ZXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwNworbXNnaWQgIkJCVCIKK21zZ3N0ciAiQkJUIgorCisjOiBsaWIvYmxrZGV2LmM6MjgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlcyBpcyBtaXNhbGlnbmVkIgorbXNnc3RyICJVeWFyxLE6ICVzIGJpciBibG9rIGF5Z8SxdMSxIGRlxJ9pbFxuIgorCisjOiBsaWJmZGlzay9zcmMvYWxpZ25tZW50LmM6NjcyCisjLCBmdXp6eQorbXNnaWQgIkNhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIkRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdW51IHllbmlkZW4gb2t1bWFrIGnDp2luIGlvY3RsKCkgw6dhxJ9yxLFsxLF5b3IuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2ODEKKyMsIGZ1enp5Cittc2dpZCAiUmUtcmVhZGluZyB0aGUgcGFydGl0aW9uIHRhYmxlIGZhaWxlZC4iCittc2dzdHIgIkRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdSB5ZW5pZGVuIG9rdW51eW9yIC4uLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYWxpZ25tZW50LmM6NjgzCisjLCBmdXp6eQorbXNnaWQgIlRoZSBrZXJuZWwgc3RpbGwgdXNlcyB0aGUgb2xkIHRhYmxlLiBUaGUgbmV3IHRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCByZWJvb3Qgb3IgYWZ0ZXIgeW91IHJ1biBwYXJ0cHJvYmUoOCkgb3Iga3BhcnR4KDgpLiIKK21zZ3N0ciAiIgorIlxuIgorIlVZQVJJOiBEaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3UgeWVuaWRlbiBva3VuYW1hZMSxLiBIYXRhOiAlZDolcy5cbiIKKyLDh2VraXJkZWsgaGFsYSBlc2tpIHRhYmxveXUga3VsbGFuxLF5b3IuXG4iCisiWWVuaSB0YWJsbyBtYWtpbmF5xLEgeWVuaWRlbiBiYcWfbGF0dMSxxJ/EsW7EsXpkYSBnZcOnZXJsaSBvbGFjYWsuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0NzIgbGliZmRpc2svc3JjL2Fzay5jOjQ4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0ZWQgcGFydGl0aW9uICVqdSIKK21zZ3N0ciAiU2XDp2lsZW4gZGlzayBiw7Zsw7xtw7wgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ3NQorIywgZnV6enkKK21zZ2lkICJObyBwYXJ0aXRpb24gaXMgZGVmaW5lZCB5ZXQhIgorbXNnc3RyICJUYW7EsW1sxLEgYmlyIGRpc2sgYsO2bMO8bcO8IGhlbsO8eiB5b2shXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAiTm8gZnJlZSBwYXJ0aXRpb24gYXZhaWxhYmxlISIKK21zZ3N0ciAiQm/Fn3RhIHNla3TDtnIgeW9rXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0OTcKK21zZ2lkICJQYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCBudW1hcmFzxLEiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo5OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgcGFydGl0aW9uICVkIG9mIHR5cGUgJyVzJyBhbmQgb2Ygc2l6ZSAlcy4iCittc2dzdHIgIiVkIGRpc2sgYsO2bMO8bcO8IGhlbsO8eiB5b2shXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlemQ6IGhhcyBpbnZhbGlkIHN0YXJ0aW5nIHNlY3RvciAwLiIKK21zZ3N0ciAiJXMgZGlzayBiw7Zsw7xtw7wgZ2XDp2Vyc2l6IGJhxZ9sYW5nxLHDpyBzZWt0w7ZyIDAgZGXEn2VyaW5lIHNhaGlwLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGVyZSBpcyBubyAqQlNEIHBhcnRpdGlvbiBvbiAlcy4iCittc2dzdHIgIiVzIMO8emVyaW5kZSAqQlNEIGRpc2sgYsO2bMO8bcO8IHlvay5cbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI1OSBsaWJmZGlzay9zcmMvZG9zLmM6OTMzCisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IGN5bGluZGVyIgorbXNnc3RyICJzaWxpbmRpciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5MiBsaWJmZGlzay9zcmMvZG9zLmM6MTE2MQorIywgZnV6enkKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIlNvbiAlcywgK3NpemUsICtzaXplTSB2ZXlhICtzaXplSyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5NyBsaWJmZGlzay9zcmMvZG9zLmM6MTE2NiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1NQorIywgZnV6enkKK21zZ2lkICJMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiU29uICVzLCArc2l6ZSwgK3NpemVNIHZleWEgK3NpemVLIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGV2aWNlICVzIGRvZXMgbm90IGNvbnRhaW4gQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIiVzIGRpc2sgZXRpa2V0aSBpw6dlcm1peW9yLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgzCisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIGNyZWF0ZSBhIEJTRCBkaXNrbGFiZWw/IgorbXNnc3RyICJCaXIgZGlzayBldGlrZXRpIG9sdcWfdHVybWFrIGlzdGVyIG1pc2luaXo/IChlL2gpICIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ0OQorIywgZnV6enkKK21zZ2lkICJEaXNrIgorbXNnc3RyICJkaXNrOiAlLipzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NTYKK21zZ2lkICJQYWNrbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDYzIGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE3Cittc2dpZCAiRmxhZ3MiCittc2dzdHIgIkZsYW1hIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY2Cittc2dpZCAiIHJlbW92YWJsZSIKK21zZ3N0ciAiIHNpbGluZWJpbGlyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY3Cittc2dpZCAiIGVjYyIKK21zZ3N0ciAiIGVjYyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2OAorbXNnaWQgIiBiYWRzZWN0IgorbXNnc3RyICIgYm96dWtTZWt0w7ZyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDc2CisjLCBmdXp6eQorbXNnaWQgIkJ5dGVzL1NlY3RvciIKK21zZ3N0ciAiYmF5dC9zZWt0w7ZyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDgxCisjLCBmdXp6eQorbXNnaWQgIlRyYWNrcy9DeWxpbmRlciIKK21zZ3N0ciAiaXovc2lsaW5kaXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODYKKyMsIGZ1enp5Cittc2dpZCAiU2VjdG9ycy9DeWxpbmRlciIKK21zZ3N0ciAic2VrdMO2ci9zaWxpbmRpciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5MSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOCBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMworIzogbGliZmRpc2svc3JjL3NnaS5jOjExNTcgbGliZmRpc2svc3JjL3N1bi5jOjE5NiBsaWJmZGlzay9zcmMvc3VuLmM6MTExMworbXNnaWQgIkN5bGluZGVycyIKK21zZ3N0ciAiU2lsaW5kaXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTYgbGliZmRpc2svc3JjL3N1bi5jOjc2MAorIywgZnV6enkKK21zZ2lkICJScG0iCittc2dzdHIgInJwbSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMSBsaWJmZGlzay9zcmMvc2dpLmM6MjkyIGxpYmZkaXNrL3NyYy9zdW4uYzo3ODAKKyMsIGZ1enp5Cittc2dpZCAiSW50ZXJsZWF2ZSIKK21zZ3N0ciAic2VycGnFn3Rpcm1lIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTA2CisjLCBmdXp6eQorbXNnaWQgIlRyYWNrc2tldyIKK21zZ3N0ciAiaXprYXltYXPEsSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxMQorIywgZnV6enkKK21zZ2lkICJDeWxpbmRlcnNrZXciCittc2dzdHIgInNpbGluZGlya2F5bWFzxLEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTYKKyMsIGZ1enp5Cittc2dpZCAiSGVhZHN3aXRjaCIKK21zZ3N0ciAia2FmYWRlxJ9pxZ90aXJtZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUyMQorIywgZnV6enkKK21zZ2lkICJUcmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICJpemRlbi1pemUgZ2XDp2nFnyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMQorbXNnaWQgImJ5dGVzL3NlY3RvciIKK21zZ3N0ciAiYmF5dC9zZWt0w7ZyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE0Cittc2dpZCAic2VjdG9ycy90cmFjayIKK21zZ3N0ciAic2VrdMO2ci9peiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNQorbXNnaWQgInRyYWNrcy9jeWxpbmRlciIKK21zZ3N0ciAiaXovc2lsaW5kaXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTYKK21zZ2lkICJjeWxpbmRlcnMiCittc2dzdHIgInNpbGluZGlyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIwCittc2dpZCAic2VjdG9ycy9jeWxpbmRlciIKK21zZ3N0ciAic2VrdMO2ci9zaWxpbmRpciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMworbXNnaWQgInJwbSIKK21zZ3N0ciAicnBtIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI0Cittc2dpZCAiaW50ZXJsZWF2ZSIKK21zZ3N0ciAic2VycGnFn3Rpcm1lIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI1Cittc2dpZCAidHJhY2tza2V3IgorbXNnc3RyICJpemtheW1hc8SxIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI2Cittc2dpZCAiY3lsaW5kZXJza2V3IgorbXNnc3RyICJzaWxpbmRpcmtheW1hc8SxIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI4Cittc2dpZCAiaGVhZHN3aXRjaCIKK21zZ3N0ciAia2FmYWRlxJ9pxZ90aXJtZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOQorbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgIml6ZGVuLWl6ZSBnZcOnacWfIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290c3RyYXAgZmlsZSAlcyBzdWNjZXNzZnVsbHkgbG9hZGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXA6ICUxJHNib290IC0+IGJvb3QlMSRzIChkZWZhdWx0ICUxJHMpIgorbXNnc3RyICLDlm55w7xrbGV5aWNpOiAlc2Jvb3QgLT4gYm9vdCVzICglcyk6ICIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcwNAorIywgZnV6enkKK21zZ2lkICJCb290c3RyYXAgb3ZlcmxhcHMgd2l0aCBkaXNrbGFiZWwhIgorbXNnc3RyICLDlm55w7xrbGV5aWNpIGRpc2sgZXRpa2V0aW5pbiBhbGFuxLFuYSBnaXJpeW9yIVxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXAgaW5zdGFsbGVkIG9uICVzLiIKK21zZ3N0ciAiJXMgw7x6ZXJpbmUgw7ZuecO8a2xleWljaSBrdXJ1bGR1LlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiAgKERvbid0IGZvcmdldCB0byB3cml0ZSB0aGUgJXMgZGlza2xhYmVsIHRvby4pIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiIKK21zZ3N0ciAiU2FiaXQgRGlzazogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwOSBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY2NgorIywgZnV6enkKK21zZ2lkICJTeW5jaW5nIGRpc2tzLiIKK21zZ3N0ciAiRGlza2xlciBlxZ96YW1hbmxhbsSxeW9yLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTUwCittc2dpZCAiQlNEIGxhYmVsIGlzIG5vdCBuZXN0ZWQgd2l0aGluIGEgRE9TIHBhcnRpdGlvbi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQlNEIHBhcnRpdGlvbiAnJWMnIGxpbmtlZCB0byBET1MgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIiAgIHggICBCU0QgZGlzayBiw7Zsw7xtw7xuw7wgQlNELW9sbWF5YW4gYmlyIGLDtmzDvG1lIGJhxJ9sYXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE0Cittc2dpZCAiU2xpY2UiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjEKKyMsIGZ1enp5Cittc2dpZCAiRnNpemUiCittc2dzdHIgIkF6YW1pVXp1bmx1ayA9ICVsZFxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMgorIywgZnV6enkKK21zZ2lkICJCc2l6ZSIKK21zZ3N0ciAiQXphbWlVenVubHVrID0gJWxkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIzCittc2dpZCAiQ3BnIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2UgZGV2aWNlIGZhaWxlZCIKK21zZ3N0ciAiZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODI3CisjLCBmdXp6eQorbXNnaWQgImN5bGluZGVyIgorbXNnaWRfcGx1cmFsICJjeWxpbmRlcnMiCittc2dzdHJbMF0gInNpbGluZGlyIgorbXNnc3RyWzFdICJzaWxpbmRpciIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4MjgKKyMsIGZ1enp5Cittc2dpZCAic2VjdG9yIgorbXNnaWRfcGx1cmFsICJzZWN0b3JzIgorbXNnc3RyWzBdICJzZWt0w7ZyIgorbXNnc3RyWzFdICJzZWt0w7ZyIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjExMzEKK21zZ2lkICJJbmNvbXBsZXRlIGdlb21ldHJ5IHNldHRpbmcuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTQKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBhbHJlYWR5LiIKK21zZ3N0ciAiVMO8bSBiaXJpbmNpbCBiw7Zsw7xtbGVyIHphdGVuIHRhbsSxbWzEsSFcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZXh0ZW5kZWQgcGFydGl0aW9uIHRhYmxlIChvZmZzZXQ9JWp1KSIKK21zZ3N0ciAiYsO2bMO8bWxlbWUgdGFibG9zdSB5ZW5pZGVuIG9rdW51ciIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjMyOAorIywgZnV6enkKK21zZ2lkICJZb3UgY2FuIHNldCBnZW9tZXRyeSBmcm9tIHRoZSBleHRyYSBmdW5jdGlvbnMgbWVudS4iCittc2dzdHIgIiIKKyIlcyVzLlxuIgorIkJ1bnUgZmF6bGFkYW4gacWfbGV2bGVyIG1lbsO8c8O8bmRlbiB5YXBhYmlsaXJzaW5pei5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjMzMQorbXNnaWQgIkRPUy1jb21wYXRpYmxlIG1vZGUgaXMgZGVwcmVjYXRlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjMzNQorbXNnaWQgIlRoZSBkZXZpY2UgcHJlc2VudHMgYSBsb2dpY2FsIHNlY3RvciBzaXplIHRoYXQgaXMgc21hbGxlciB0aGFuIHRoZSBwaHlzaWNhbCBzZWN0b3Igc2l6ZS4gQWxpZ25pbmcgdG8gYSBwaHlzaWNhbCBzZWN0b3IgKG9yIG9wdGltYWwgSS9PKSBzaXplIGJvdW5kYXJ5IGlzIHJlY29tbWVuZGVkLCBvciBwZXJmb3JtYW5jZSBtYXkgYmUgaW1wYWN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDEKK21zZ2lkICJDeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0OAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgc2l6ZSBvZiB0aGlzIGRpc2sgaXMgJXMgKCVqdSBieXRlcykuIERPUyBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IGNhbiBub3QgYmUgdXNlZCBvbiBkcml2ZXMgZm9yIHZvbHVtZXMgbGFyZ2VyIHRoYW4gJWx1IGJ5dGVzIGZvciAlbHUtYnl0ZSBzZWN0b3JzLiBVc2UgR1VJRCBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IChHUFQpLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTAzCisjLCBmdXp6eQorbXNnaWQgIkJhZCBvZmZzZXQgaW4gcHJpbWFyeSBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJCaXJpbmNpbCBlayBkaXNrIGLDtmzDvG3DvG5kZSBoaXphbGFtYSBoYXRhbMSxXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk9taXR0aW5nIHBhcnRpdGlvbnMgYWZ0ZXIgIyV6dS4gVGhleSB3aWxsIGJlIGRlbGV0ZWQgaWYgeW91IHNhdmUgdGhpcyBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICIiCisiVXlhcsSxOiAlZC4gYsO2bMO8bWRlbiBzb25yYWtpbGVyIGF0bGFuxLF5b3IuXG4iCisiQnUgYsO2bMO8bWxlbWUgdGFibG9zdW51IGtheWRlZGVyc2VuaXosIGJ1bmxhciBzaWxpbm1pxZ8gb2xhY2FrLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJFeHRyYSBsaW5rIHBvaW50ZXIgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIlV5YXLEsTogJWQgZGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1bmRhIGZhemxhZGFuIGJhxJ8gaW1sZXlpY2lcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZGF0YSBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiVXlhcsSxOiAlZCBkaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3VuZGFraSBmYXpsYWRhbiB2ZXJpIHlva3NhecSxbMSxeW9yXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9taXR0aW5nIGVtcHR5IHBhcnRpdGlvbiAoJXp1KSIKK21zZ3N0ciAiVXlhcsSxOiBib8WfIGRpc2sgYsO2bMO8bcO8XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguIgorbXNnc3RyICIgICBzICAgeWVuaSBiaXIgU3VuIGRpc2sgZXRpa2V0aSBvbHXFn3R1cnVyIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6Njg1CisjLCBmdXp6eQorbXNnaWQgIkVudGVyIHRoZSBuZXcgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICIgICB1ICAgZ8O2c3Rlcm1lL2dpcmRpIGJpcmltaW5pIGRlxJ9pxZ90aXJpciIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY5MgorIywgZnV6enkKK21zZ2lkICJJbmNvcnJlY3QgdmFsdWUuIgorbXNnc3RyICJBeWFyIGRlxJ9lcmkgZ2XDp2Vyc2l6OiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gMHglMDh4IHRvIDB4JTA4eC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjc5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZXh0ZW5kZWQgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiRmF6bGFkYW4gZWsgZGlzayBiw7Zsw7xtw7wgJWQgeW9rc2F5xLFsxLF5b3JcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjgwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBmbGFnIDB4JTAyeCUwMnggb2YgRUJSIChmb3IgcGFydGl0aW9uICV6dSkgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIlV5YXLEsTogZ2XDp2Vyc2l6IGJheXJhayAweCUwNHggJWQuIGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdW5kYSB3KHlheikgaWxlIGTDvHplbHRpbG1pxZ8gb2xhY2FrXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo5MjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN0YXJ0IHNlY3RvciAlanUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiRGXEn2VyIGthcHNhbWTEscWfxLEuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMDI2IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTM2IGxpYmZkaXNrL3NyYy9zZ2kuYzo4MzkKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorbXNnc3RyICIlZCBkaXNrIGLDtmzDvG3DvCB6YXRlbiBhdGFubcSxxZ8uIFllbmlkZW4gZWtsZW1lZGVuIMO2bmNlIHNpbG1lbGlzaW5pei5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlbGx1IGlzIGFscmVhZHkgYWxsb2NhdGVkLiIKK21zZ3N0ciAiU2VrdMO2ciAlZCB6YXRlbiBrdWxsYW7EsW1kYVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTEzMyBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0NgorIywgZnV6enkKK21zZ2lkICJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlLiIKK21zZ3N0ciAiQm/Fn3RhIHNla3TDtnIgeW9rXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJNYW50xLFrc2FsIGRpc2sgYsO2bMO8bcO8IGJvenVrIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY29udGFpbnMgc2VjdG9yIDAiCittc2dzdHIgIlV5YXLEsTogJWQgZGlzayBiw7Zsw7xtw7wgMC4gc2VrdMO2csO8IGnDp2VyaXlvclxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaGVhZCAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlZCIKK21zZ3N0ciAiJWQgZGlzayBiw7Zsw7xtw7w6IGthZmEgc2F5xLFzxLEgJWQgZW4gw6dvayBvbGFiaWxlY2XEn2kgJWQgZGXEn2VyaW5kZW4gYsO8ecO8a1xuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogc2VjdG9yICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIiVkIGRpc2sgYsO2bMO8bcO8OiBzZWt0w7ZyIHNhecSxc8SxICVkIGVuIMOnb2sgb2xhYmlsZWNlxJ9pICVkIGRlxJ9lcmluZGVuIGLDvHnDvGtcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGN5bGluZGVyICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIiVkIGRpc2sgYsO2bMO8bcO8OiBzaWxpbmRpciBzYXnEsXPEsSAlZCBlbiDDp29rIG9sYWJpbGVjZcSfaSAlZCBkZcSfZXJpbmRlbiBiw7x5w7xrXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBwcmV2aW91cyBzZWN0b3JzICV1IGRpc2FncmVlcyB3aXRoIHRvdGFsICV1IgorbXNnc3RyICIlZCBkaXNrIGLDtmzDvG3DvDogw7ZuY2VraSBzZWt0w7ZyIHNhecSxc8SxICVkIHRvcGxhbSAlZCBpbGUgw6dlbGnFn2l5b3JcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGJlZ2lubmluZ3MgKG5vbi1MaW51eD8pOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIiVkIGRpc2sgYsO2bMO8bcO8IGZhcmtsxLEgZml6aWtzZWwvbWFudMSxa3NhbCBiYcWfbGFuZ8Sxw6dsYXJhIHNhaGlwIChMaW51eCBkZcSfaWw/KTpcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGVuZGluZ3M6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiJWQgZGlzayBiw7Zsw7xtw7wgZmFya2zEsSBmaXppa3NlbC9tYW50xLFrc2FsIGJpdGnFn2xlcmUgc2FoaXA6XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICIlZCBkaXNrIGLDtmzDvG3DvCBzaWxpbmRpciBzxLFuxLFyxLFuZGEgYml0bWl5b3IuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBiYWQgc3RhcnQtb2YtZGF0YS4iCittc2dzdHIgIiVkIGRpc2sgYsO2bMO8bcO8IHZlcmkgYWxhbsSxbmEgc2FoaXAgZGXEn2lsXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBvdmVybGFwcyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiVXlhcsSxOiAlZCBpbGUgJWQgZGlzayBiw7Zsw7xtbGVyaSBiaXJiaXJpbmUgZ2lybWnFny5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGVtcHR5LiIKK21zZ3N0ciAiVXlhcsSxOiAlZCBkaXNrIGLDtmzDvG3DvCBib8WfXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMb2dpY2FsIHBhcnRpdGlvbiAlenU6IG5vdCBlbnRpcmVseSBpbiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiTWFudMSxa3NhbCBkaXNrIGLDtmzDvG3DvCAlZCB0YW1hbWVuICVkIGRpc2sgYsO2bMO8bcO8bsO8biBpw6dpbmRlIGRlxJ9pbFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVG90YWwgYWxsb2NhdGVkIHNlY3RvcnMgJWxsdSBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gJWxsdS4iCittc2dzdHIgIlRhaHNpcyBlZGlsZW4gc2VrdMO2ciBzYXnEsXPEsSAlZCBlbiBmYXpsYSBvbG1hc8SxIGdlcmVrZW4gJWxsZCBkZcSfZXJpbmRlbiBiw7x5w7xrXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJSZW1haW5pbmcgJWxsZCB1bmFsbG9jYXRlZCAlbGQtYnl0ZSBzZWN0b3JzLiIKK21zZ3N0ciAiJWxsZCBzZWt0w7ZyIGt1bGxhbsSxbG1hbcSxxZ9cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1MzIgbGliZmRpc2svc3JjL2Rvcy5jOjE5NTQKKyMsIGZ1enp5Cittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGFscmVhZHkgZXhpc3RzLiIKK21zZ3N0ciAiQnUgZGlzayBiw7Zsw7xtw7wgemF0ZW4gdmFyLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU3NQorIywgZnV6enkKK21zZ2lkICJUaGUgbWF4aW11bSBudW1iZXIgb2YgcGFydGl0aW9ucyBoYXMgYmVlbiBjcmVhdGVkLiIKK21zZ3N0ciAiT2x1xZ90dXJ1bGFiaWxlY2VrIGRpc2sgYsO2bMO8bWxlcmluaW4gdMO8bcO8IG9sdcWfdHVydWxkdVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU4NworIywgZnV6enkKK21zZ2lkICJBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIgorbXNnc3RyICJUw7xtIG1hbnTEsWtzYWwgYsO2bMO8bWxlciBrdWxsYW7EsW1kYVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU4OSBsaWJmZGlzay9zcmMvZG9zLmM6MTYwMAorIywgZnV6enkKK21zZ2lkICJBbGwgc3BhY2UgZm9yIHByaW1hcnkgcGFydGl0aW9ucyBpcyBpbiB1c2UuIgorbXNnc3RyICJUw7xtIG1hbnTEsWtzYWwgYsO2bMO8bWxlciBrdWxsYW7EsW1kYVxuIgorCisjLiBUUkFOU0xBVE9SUzogVHJ5IHRvIGtlZXAgdGhpcyB3aXRoaW4gODAgY2hhcmFjdGVycy4KKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjAzCisjLCBmdXp6eQorbXNnaWQgIlRvIGNyZWF0ZSBtb3JlIHBhcnRpdGlvbnMsIGZpcnN0IHJlcGxhY2UgYSBwcmltYXJ5IHdpdGggYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiw5ZuY2UgYmF6xLEgZGlzayBiw7Zsw7xtbGVyaW5pIHNpbGlwIG9uZGFuIHNvbnJhIGVrIGRpc2sgYsO2bMO8bcO8bsO8IGVrbGVtZWxpc2luaXpcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDgKKyMsIGZ1enp5Cittc2dpZCAiQWxsIGxvZ2ljYWwgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiBBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvbi4iCittc2dzdHIgIlTDvG0gbWFudMSxa3NhbCBiw7Zsw7xtbGVyIGt1bGxhbsSxbWRhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjMwCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCBudW1hcmFzxLEiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiV6dSBwcmltYXJ5LCAlZCBleHRlbmRlZCwgJXp1IGZyZWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzkKKyMsIGZ1enp5Cittc2dpZCAicHJpbWFyeSIKK21zZ3N0ciAiQmlyaW5jaWwiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQxCisjLCBmdXp6eQorbXNnaWQgImV4dGVuZGVkIgorbXNnc3RyICJFayIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDEKKyMsIGZ1enp5Cittc2dpZCAiY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMiCittc2dzdHIgIk1hbnTEsWtzYWwgZGlzayBiw7Zsw7xtw7wgYm96dWsiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQzCisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwiCittc2dzdHIgIk1hbnTEsWtzYWwiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQzCisjLCBmdXp6eQorbXNnaWQgIm51bWJlcmVkIGZyb20gNSIKK21zZ3N0ciAibCAgIG1hbnTEsWtzYWwgKDUgdmV5YSDDvHplcmkpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gdHlwZSBgJWMnLiIKK21zZ3N0ciAiVMO8ciAnJWMnIGnDp2luIGRpc2sgYsO2bMO8bcO8IG51bWFyYXPEsSBnZcOnZXJzaXpcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB3cml0ZSBzZWN0b3IgJWpkOiBzZWVrIGZhaWxlZCIKK21zZ3N0ciAiJXM6ICVzIGnDp2luIGF5Z8SxdCBpc21pIGJ1bHVuYW3EsXlvclxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTg1MiBsaWJmZGlzay9zcmMvZ3B0LmM6MTA5NgorIywgZnV6enkKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIlNhYml0IERpc2s6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1OQorIywgZnV6enkKK21zZ2lkICJUeXBlIDAgbWVhbnMgZnJlZSBzcGFjZSB0byBtYW55IHN5c3RlbXMuIEhhdmluZyBwYXJ0aXRpb25zIG9mIHR5cGUgMCBpcyBwcm9iYWJseSB1bndpc2UuIgorbXNnc3RyICIiCisiQmlyw6dvayBzaXN0ZW1kZSAoTGludXggZMSxxZ/EsW5kYSkgMCB0w7xyw7wgYm/FnyBhbGFuxLFcbiIKKyJnw7ZzdGVyaXIuIDAgdMO8csO8bmRlIGJpciBkaXNrIGLDtmzDvG3DvG5lIHNhaGlwIG9sbWFrXG4iCisibXVodGVtZWxlbiBwZWsgdXlndW4gb2xtYXlhY2FrdMSxci4gJ2QnIGtvbXV0dW51XG4iCisia3VsbGFuYXJhayBiaXIgZGlzayBiw7Zsw7xtw7xuw7wgc2lsZWJpbGlyc2luaXouXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxOTY0Cittc2dpZCAiQ2Fubm90IGNoYW5nZSB0eXBlIG9mIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24gd2hpY2ggaXMgYWxyZWFkeSB1c2VkIGJ5IGxvZ2ljYWwgcGFydGl0aW9ucy4gRGVsZXRlIGxvZ2ljYWwgcGFydGl0aW9ucyBmaXJzdC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxNDMgbGliZmRpc2svc3JjL2dwdC5jOjI4MjEKKyMsIGZ1enp5Cittc2dpZCAiTm90aGluZyB0byBkby4gT3JkZXJpbmcgaXMgY29ycmVjdCBhbHJlYWR5LiIKK21zZ3N0ciAiIgorIkhpw6diaXIgxZ9leSB5YXDEsWxtYWTEsS4gU8SxcmFsYW1hIHphdGVuIGRvxJ9ydS5cbiIKKyJcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG5vIGRhdGEgYXJlYS4iCittc2dzdHIgIiVkIGRpc2sgYsO2bMO8bcO8IHZlcmkgYWxhbsSxbmEgc2FoaXAgZGXEn2lsXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjIyCittc2dpZCAiTmV3IGJlZ2lubmluZyBvZiBkYXRhIgorbXNnc3RyICJZZW5pIHZlcmkgYmHFn2xhbmfEsWPEsSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyNzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGlzIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIlVZQVJJOiAlZCBkaXNrIGLDtmzDvG3DvCBiaXIgZWsgZGlzayBiw7Zsw7xtw7xcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICIlZCBkaXNrIGLDtmzDvG3DvG7DvG4gc2lzdGVtIHTDvHLDvCAleCAoJXMpIG9sYXJhayBkZcSfacWfdGlyaWxkaVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICIlZCBkaXNrIGLDtmzDvG3DvG7DvG4gc2lzdGVtIHTDvHLDvCAleCAoJXMpIG9sYXJhayBkZcSfacWfdGlyaWxkaVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI5OCBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxMSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1MworIzogbGliZmRpc2svc3JjL3N1bi5jOjExMDkKK21zZ2lkICJEZXZpY2UiCittc2dzdHIgIkF5Z8SxdCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyOTkgbGliZmRpc2svc3JjL3N1bi5jOjQxCittc2dpZCAiQm9vdCIKK21zZ3N0ciAiQcOnxLFsxLHFnyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDUgbGliZmRpc2svc3JjL3NnaS5jOjExNTkgbGliZmRpc2svc3JjL3N1bi5jOjExMTUKK21zZ2lkICJJZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwOQorIywgZnV6enkKK21zZ2lkICJTdGFydC1DL0gvUyIKK21zZ3N0ciAiYmHFn2xhbmfEscOnIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMxMAorbXNnaWQgIkVuZC1DL0gvUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMxMSBsaWJmZGlzay9zcmMvZ3B0LmM6MjkyMSBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MQorbXNnaWQgIkF0dHJzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjAKK21zZ2lkICJFRkkgU3lzdGVtIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjIKKyMsIGZ1enp5Cittc2dpZCAiTUJSIHBhcnRpdGlvbiBzY2hlbWUiCittc2dzdHIgIkRpc2sgYsO2bMO8bcO8IG51bWFyYXPEsSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MworbXNnaWQgIkludGVsIEZhc3QgRmxhc2giCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2NgorIywgZnV6enkKK21zZ2lkICJCSU9TIGJvb3QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjkKKyMsIGZ1enp5Cittc2dpZCAiU29ueSBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgYSAgIGHDp8SxbMSxxZ8gZGlzayBiw7Zsw7xtw7xuw7wgc2XDp2VyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTcwCisjLCBmdXp6eQorbXNnaWQgIkxlbm92byBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgYSAgIGHDp8SxbMSxxZ8gZGlzayBiw7Zsw7xtw7xuw7wgc2XDp2VyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczCisjLCBmdXp6eQorbXNnaWQgIlBvd2VyUEMgUFJlUCBib290IgorbXNnc3RyICJQUEMgUFJlUCDDlm55w7xrbGVtZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NgorIywgZnV6enkKK21zZ2lkICJPTklFIGJvb3QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzcKK21zZ2lkICJPTklFIGNvbmZpZyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwCittc2dpZCAiTWljcm9zb2Z0IHJlc2VydmVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODEKK21zZ2lkICJNaWNyb3NvZnQgYmFzaWMgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgyCittc2dpZCAiTWljcm9zb2Z0IExETSBtZXRhZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgzCittc2dpZCAiTWljcm9zb2Z0IExETSBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODQKK21zZ2lkICJXaW5kb3dzIHJlY292ZXJ5IGVudmlyb25tZW50IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODUKK21zZ2lkICJJQk0gR2VuZXJhbCBQYXJhbGxlbCBGcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg2Cittc2dpZCAiTWljcm9zb2Z0IFN0b3JhZ2UgU3BhY2VzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiSFAtVVggZGF0YSIKK21zZ3N0ciAiICAgZCAgIGJpciBkaXNrIGLDtmzDvG3DvG7DvCBzaWxlciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MAorIywgZnV6enkKK21zZ2lkICJIUC1VWCBzZXJ2aWNlIgorbXNnc3RyICJCYcWfa2EgZGlzayBiw7Zsw7xtw7wgeW9rIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2MSBsaWJmZGlzay9zcmMvc3VuLmM6NTIKK21zZ2lkICJMaW51eCBzd2FwIgorbXNnc3RyICJMaW51eCB0YWthcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NAorIywgZnV6enkKK21zZ2lkICJMaW51eCBmaWxlc3lzdGVtIgorbXNnc3RyICJEb3N5YSBzaXN0ZW1pIHTDvHLDvG7DvCB2ZXJpbjogIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk1CisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IHNlcnZlciBkYXRhIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTYKK21zZ2lkICJMaW51eCByb290ICh4ODYpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcKK21zZ2lkICJMaW51eCByb290IChBUk0pIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTgKK21zZ2lkICJMaW51eCByb290ICh4ODYtNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTkKK21zZ2lkICJMaW51eCByb290IChBUk0tNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAKK21zZ2lkICJMaW51eCByb290XHQoSUEtNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDEKKyMsIGZ1enp5Cittc2dpZCAiTGludXggcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMgorIywgZnV6enkKK21zZ2lkICJMaW51eCBob21lIgorbXNnc3RyICJMaW51eCDDtnplbCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMyBsaWJmZGlzay9zcmMvc2dpLmM6NjQKK21zZ2lkICJMaW51eCBSQUlEIgorbXNnc3RyICJMaW51eCBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0CisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IGV4dGVuZGVkIGJvb3QiCittc2dzdHIgIkxpbnV4IGVrIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEyCisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgZGF0YSIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMworIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIGJvb3QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBzd2FwIgorbXNnc3RyICJCU0RJIHRha2FzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgVUZTIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgWkZTIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgVmludW0iCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAiQXBwbGUgSEZTL0hGUysiCittc2dzdHIgIk9TLzIgSFBGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMQorbXNnaWQgIkFwcGxlIFVGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyCittc2dpZCAiQXBwbGUgUkFJRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzCittc2dpZCAiQXBwbGUgUkFJRCBvZmZsaW5lIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjQKK21zZ2lkICJBcHBsZSBib290IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjUKK21zZ2lkICJBcHBsZSBsYWJlbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI2Cittc2dpZCAiQXBwbGUgVFYgcmVjb3ZlcnkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNworbXNnaWQgIkFwcGxlIENvcmUgc3RvcmFnZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMxCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcm9vdCIKK21zZ3N0ciAiU29sYXJpcyBib290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMzCittc2dpZCAiU29sYXJpcyAvdXNyICYgQXBwbGUgWkZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzQKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyBzd2FwIgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM1CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgYmFja3VwIgorbXNnc3RyICJTb2xhcmlzIGJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzYKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyAvdmFyIgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM3CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgL2hvbWUiCittc2dzdHIgIlNvbGFyaXMgYm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOAorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIGFsdGVybmF0ZSBzZWN0b3IiCittc2dzdHIgImFsbWHFn8SxayBoxLF6IMOnb2sgecO8a3NlayIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOQorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDEiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MAorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDIiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MQorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDMiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MgorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDQiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MworIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDUiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NgorIywgZnV6enkKK21zZ2lkICJOZXRCU0Qgc3dhcCIKK21zZ3N0ciAiQlNESSB0YWthcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NworIywgZnV6enkKK21zZ2lkICJOZXRCU0QgRkZTIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgKKyMsIGZ1enp5Cittc2dpZCAiTmV0QlNEIExGUyIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5Cittc2dpZCAiTmV0QlNEIGNvbmNhdGVuYXRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwCittc2dpZCAiTmV0QlNEIGVuY3J5cHRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUxCisjLCBmdXp6eQorbXNnaWQgIk5ldEJTRCBSQUlEIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTQKK21zZ2lkICJDaHJvbWVPUyBrZXJuZWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NQorbXNnaWQgIkNocm9tZU9TIHJvb3QgZnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NgorIywgZnV6enkKK21zZ2lkICJDaHJvbWVPUyByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5Cittc2dpZCAiTWlkbmlnaHRCU0QgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYwCittc2dpZCAiTWlkbmlnaHRCU0QgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYxCisjLCBmdXp6eQorbXNnaWQgIk1pZG5pZ2h0QlNEIHN3YXAiCittc2dzdHIgIkJTREkgdGFrYXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjIKK21zZ2lkICJNaWRuaWdodEJTRCBVRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MworbXNnaWQgIk1pZG5pZ2h0QlNEIFpGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY0Cittc2dpZCAiTWlkbmlnaHRCU0QgVmludW0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NworbXNnaWQgIkNlcGggSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4Cittc2dpZCAiQ2VwaCBFbmNyeXB0ZWQgSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5Cittc2dpZCAiQ2VwaCBPU0QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MAorbXNnaWQgIkNlcGggY3J5cHQgT1NEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzEKK21zZ2lkICJDZXBoIGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MgorbXNnaWQgIkNlcGggY3J5cHQgZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1CisjLCBmdXp6eQorbXNnaWQgIk9wZW5CU0QgZGF0YSIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3OAorIywgZnV6enkKK21zZ2lkICJRTlg2IGZpbGUgc3lzdGVtIgorbXNnc3RyICJEb3N5YSBzaXN0ZW1pIHTDvHLDvG7DvCB2ZXJpbjogIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjgxCisjLCBmdXp6eQorbXNnaWQgIlBsYW4gOSBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGQgICBiaXIgZGlzayBiw7Zsw7xtw7xuw7wgc2lsZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo1NDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdQVCBoZWFkZXIiCittc2dzdHIgIlRhbXBvbiBheXLEsWxhbWFkxLEuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo2MzAKK21zZ2lkICJGaXJzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo2NDIKK21zZ2lkICJMYXN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjc3NQorIywgYy1mb3JtYXQKK21zZ2lkICJHUFQgUE1CUiBzaXplIG1pc21hdGNoICglPFBSSXU2ND4gIT0gJTxQUkl1NjQ+KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NzkyCisjLCBmdXp6eQorbXNnaWQgImdwdDogc3RhdCgpIGZhaWxlZCIKK21zZ3N0ciAiZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo4MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3B0OiBjYW5ub3QgaGFuZGxlIGZpbGVzIHdpdGggbW9kZSAlbyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTA2NAorbXNnaWQgIkdQVCBIZWFkZXIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEwNjkKK21zZ2lkICJHUFQgRW50cmllcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEwMworIywgZnV6enkKK21zZ2lkICJGaXJzdCBMQkEiCittc2dzdHIgIsSwbGsgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTA4CisjLCBmdXp6eQorbXNnaWQgIkxhc3QgTEJBIgorbXNnc3RyICIgU29uICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIExCQSAoTG9naWNhbCBCbG9jayBBZGRyZXNzKSBvZiB0aGUgYmFja3VwIEdQVCBoZWFkZXIuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTExNAorbXNnaWQgIkFsdGVybmF0aXZlIExCQSIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YXJ0IG9mIHRoZSBhcnJheSBvZiBwYXJ0aXRpb24gZW50cmllcy4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTIwCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBlbnRyaWVzIExCQSIKK21zZ3N0ciAiU2XDp2lsZW4gZGlzayBiw7Zsw7xtw7wgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExMjUKKyMsIGZ1enp5Cittc2dpZCAiQWxsb2NhdGVkIHBhcnRpdGlvbiBlbnRyaWVzIgorbXNnc3RyICJTZcOnaWxlbiBkaXNrIGLDtmzDvG3DvCAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTQ0MAorbXNnaWQgIlRoZSBiYWNrdXAgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgcHJpbWFyeSBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE0NDkKK21zZ2lkICJUaGUgcHJpbWFyeSBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBiYWNrdXAgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBHUFQgYXR0cmlidXRlIGJpdCAnJXMnIgorbXNnc3RyICIlczogYmlsaW5tZXllbiBhcmfDvG1hbjogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBHUFQgYXR0cmlidXRlIHN0cmluZyAnJXMnIgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBVVUlEIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIiVzIGRpc2sgYsO2bMO8bcO8bmUgeWF6YXJrZW4gaGF0YSBvbHXFn3R1XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gbmFtZSBjaGFuZ2VkIGZyb20gJyVzJyB0byAnJS4qcycuIgorbXNnc3RyICIlcyBkaXNrIGLDtmzDvG3DvG5lIHlhemFya2VuIGhhdGEgb2x1xZ90dVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc2OAorIywgZnV6enkKK21zZ2lkICJUaGUgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiB1bmRlcnN0ZXBzIEZpcnN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiIgorIlxuIgorIsOWbnnDvGtsZW1lIGRpc2sgYsO2bMO8bcO8IHlvay5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NzUKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGVuZCBvZiB0aGUgcGFydGl0aW9uIG92ZXJzdGVwcyBMYXN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiJXMgZGlzayBiw7Zsw7xtw7xuZSB5YXphcmtlbiBoYXRhIG9sdcWfdHVcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MzQKK21zZ2lkICJUaGUgZGV2aWNlIGNvbnRhaW5zIGh5YnJpZCBNQlIgLS0gd3JpdGluZyBHUFQgb25seS4gWW91IGhhdmUgdG8gc3luYyB0aGUgTUJSIG1hbnVhbGx5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3MQorIywgZnV6enkKK21zZ2lkICJEaXNrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiJXMgZGlza2kgZ2XDp2VybGkgYmlyIGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdSBpw6dlcm1peW9yXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTc2Cittc2dpZCAiSW52YWxpZCBwcmltYXJ5IGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTgwCittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5ODUKKyMsIGZ1enp5Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gZW50cnkgY2hlY2tzdW0uIgorbXNnc3RyICJUw7xyICclYycgacOnaW4gZGlzayBiw7Zsw7xtw7wgbnVtYXJhc8SxIGdlw6dlcnNpelxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5MAorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTk0Cittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5OQorbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBwcmltYXJ5IGhlYWRlci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMDMKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMDgKK21zZ2lkICJEaXNrIGlzIHRvbyBzbWFsbCB0byBob2xkIGFsbCBkYXRhLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAxOAorbXNnaWQgIlByaW1hcnkgYW5kIGJhY2t1cCBoZWFkZXIgbWlzbWF0Y2guIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBwYXJ0aXRpb24gJXUuIgorbXNnc3RyICJVeWFyxLE6ICVkIGlsZSAlZCBkaXNrIGLDtmzDvG1sZXJpIGJpcmJpcmluZSBnaXJtacWfLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGlzIHRvbyBiaWcgZm9yIHRoZSBkaXNrLiIKK21zZ3N0ciAiIgorIkRpc2sgw7x6ZXJpbmRla2kgZGnEn2VyIGLDtmzDvG1sZXJpbiDDvHplcmluZSB0YcWfYW4gYmlyIGRpc2sgYsO2bMO8bcO8XG4iCisiYXnEsXJkxLHEn8SxbsSxei4gw5ZuY2UgYnVudSBkw7x6ZWx0aW4hXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZW5kcyBiZWZvcmUgaXQgc3RhcnRzLiIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtw7wgc8SxZsSxcsSxbmPEsSBzZWt0w7ZyZGVuIMO2bmNlIGJpdGl5b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQ3Cittc2dpZCAiTm8gZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSGVhZGVyIHZlcnNpb246ICVzIgorbXNnc3RyICJlcmnFn2ltIGhhdGFzxLEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2luZyAldSBvdXQgb2YgJWQgcGFydGl0aW9ucy4iCittc2dzdHIgInR1aGFmLCBzYWRlY2UgJWQgZGlzayBiw7Zsw7xtw7wgYXRhbm3EscWfLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50LiIKK21zZ2lkX3BsdXJhbCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50cyAodGhlIGxhcmdlc3QgaXMgJXMpLiIKK21zZ3N0clswXSAiQm/Fn3RhIHNla3TDtnIgeW9rXG4iCittc2dzdHJbMV0gIkJvxZ90YSBzZWt0w7ZyIHlva1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBlcnJvciBkZXRlY3RlZC4iCittc2dpZF9wbHVyYWwgIiVkIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0MgorIywgZnV6enkKK21zZ2lkICJBbGwgcGFydGl0aW9ucyBhcmUgYWxyZWFkeSBpbiB1c2UuIgorbXNnc3RyICJCdSBkaXNrIGLDtmzDvG3DvCB6YXRlbiBrdWxsYW7EsW1kYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOTcgbGliZmRpc2svc3JjL2dwdC5jOjIyMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlanUgYWxyZWFkeSB1c2VkLiIKK21zZ3N0ciAiU2VrdMO2ciAlZCB6YXRlbiBrdWxsYW7EsW1kYVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJCaXIgZGlzayBiw7Zsw7xtw7wgb2x1xZ90dXJ1bG1heiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGxhc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpcnN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IEdQVCBkaXNrbGFiZWwgKEdVSUQ6ICVzKS4iCittc2dzdHIgIiAgIHMgICB5ZW5pIGJpciBTdW4gZGlzayBldGlrZXRpIG9sdcWfdHVydXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDQ3Cittc2dpZCAiRW50ZXIgbmV3IGRpc2sgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDU0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSB5b3VyIFVVSUQuIgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICIlcyBkaXNrIGLDtmzDvG3DvG5lIHlhemFya2VuIGhhdGEgb2x1xZ90dVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4OAorIywgZnV6enkKK21zZ2lkICJOb3QgZW5vdWdoIHNwYWNlIGZvciBuZXcgcGFydGl0aW9uIHRhYmxlISIKK21zZ3N0ciAiQm/Fn3RhIHNla3TDtnIgeW9rXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXUgb3V0IG9mIHJhbmdlIChtaW5pbWFsIHN0YXJ0IGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwMgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV1IG91dCBvZiByYW5nZSAobWF4aW1hbCBlbmQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgbnVtYmVyIG9mIHRoZSBwYXJ0aXRpb24gaGFzIGJlIHNtYWxsZXIgdGhhbiAlenUuIgorbXNnc3RyICJPbHXFn3R1cnVsYWJpbGVjZWsgZGlzayBiw7Zsw7xtbGVyaW5pbiB0w7xtw7wgb2x1xZ90dXJ1bGR1XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTYzCisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBhbGxvY2F0ZSBtZW1vcnkhIgorbXNnc3RyICJhc3Qgc8O8cmXDpyBvbHXFn3R1cnVsYW3EsXlvciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBsZW5ndGggY2hhbmdlZCBmcm9tICU8UFJJdTMyPiB0byAlPFBSSXU2ND4uIgorbXNnc3RyICIlcyBkaXNrIGLDtmzDvG3DvG5lIHlhemFya2VuIGhhdGEgb2x1xZ90dVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGF0dHJpYnV0ZXMgb24gcGFydGl0aW9uICV6dSBjaGFuZ2VkIHRvIDB4JTAxNjxQUkl4NjQ+LiIKK21zZ3N0ciAiJWQgZGlzayBiw7Zsw7xtw7xuw7xuIHNpc3RlbSB0w7xyw7wgJXggKCVzKSBvbGFyYWsgZGXEn2nFn3RpcmlsZGlcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NDIKK21zZ2lkICJFbnRlciBHVUlEIHNwZWNpZmljIGJpdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHRvZ2dsZSB1bnN1cHBvcnRlZCBiaXQgJWx1IgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiJWQgZGlzayBiw7Zsw7xtw7xuw7xuIHNpc3RlbSB0w7xyw7wgJXggKCVzKSBvbGFyYWsgZGXEn2nFn3RpcmlsZGlcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIiVkIGRpc2sgYsO2bMO8bcO8bsO8biBzaXN0ZW0gdMO8csO8ICV4ICglcykgb2xhcmFrIGRlxJ9pxZ90aXJpbGRpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIiVkIGRpc2sgYsO2bMO8bcO8bsO8biBzaXN0ZW0gdMO8csO8ICV4ICglcykgb2xhcmFrIGRlxJ9pxZ90aXJpbGRpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE4CisjLCBmdXp6eQorbXNnaWQgIlR5cGUtVVVJRCIKK21zZ3N0ciAiVMO8csO8IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxOQorbXNnaWQgIlVVSUQiCittc2dzdHIgIlVVSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTIwIGxvZ2luLXV0aWxzL2NoZm4uYzoxNTAgbG9naW4tdXRpbHMvY2hmbi5jOjE1MgorIzogbG9naW4tdXRpbHMvY2hmbi5jOjMwNworbXNnaWQgIk5hbWUiCittc2dzdHIgIsSwc2ltIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6ODQwCisjLCBmdXp6eQorbXNnaWQgIkZyZWUgc3BhY2UiCittc2dzdHIgIkJvxZ8gQWxhbiIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjEyMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uICMlenUuIgorbXNnc3RyICJiw7Zsw7xtbGVtZSB0YWJsb3N1IHllbmlkZW4gb2t1bnVyIgorCisjOiBsaWJmZGlzay9zcmMvcGFydHR5cGUuYzoyNTkgbWlzYy11dGlscy9maW5kbW50LmM6NjU1IHNjaGVkdXRpbHMvY2hydC5jOjIwNgorIzogc2NoZWR1dGlscy9pb25pY2UuYzo3OSBzeXMtdXRpbHMvaHdjbG9jay5jOjMzNAorbXNnaWQgInVua25vd24iCittc2dzdHIgImJpbGlubWV5ZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NworbXNnaWQgIlNHSSB2b2xoZHIiCittc2dzdHIgIlNHSSB2b2xoZHIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OAorbXNnaWQgIlNHSSB0cmtyZXBsIgorbXNnc3RyICJTR0kgdHJrcmVwbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ5Cittc2dpZCAiU0dJIHNlY3JlcGwiCittc2dzdHIgIlNHSSBzZWNyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTAKK21zZ2lkICJTR0kgcmF3IgorbXNnc3RyICJTR0kgaGFtIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTEKK21zZ2lkICJTR0kgYnNkIgorbXNnc3RyICJTR0kgYnNkIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTIKK21zZ2lkICJTR0kgc3lzdiIKK21zZ3N0ciAiU0dJIHN5c3YiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MworbXNnaWQgIlNHSSB2b2x1bWUiCittc2dzdHIgIlNHSSBiw7Zsw7xtw7wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NAorbXNnaWQgIlNHSSBlZnMiCittc2dzdHIgIlNHSSBlZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NQorbXNnaWQgIlNHSSBsdm9sIgorbXNnc3RyICJTR0kgbHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU2Cittc2dpZCAiU0dJIHJsdm9sIgorbXNnc3RyICJTR0kgcmx2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NworbXNnaWQgIlNHSSB4ZnMiCittc2dzdHIgIlNHSSB4ZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OAorbXNnaWQgIlNHSSB4ZnNsb2ciCittc2dzdHIgIlNHSSB4ZnNsb2ciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OQorbXNnaWQgIlNHSSB4bHYiCittc2dzdHIgIlNHSSB4bHYiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MAorbXNnaWQgIlNHSSB4dm0iCittc2dzdHIgIlNHSSB4dm0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MiBsaWJmZGlzay9zcmMvc3VuLmM6NTMKK21zZ2lkICJMaW51eCBuYXRpdmUiCittc2dzdHIgIkxpbnV4IGRvxJ9hbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjE1OQorbXNnaWQgIlNHSSBpbmZvIGNyZWF0ZWQgb24gc2Vjb25kIHNlY3Rvci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI1OQorIywgZnV6enkKK21zZ2lkICJEZXRlY3RlZCBhbiBTR0kgZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIgorbXNnc3RyICJZYW5sxLHFnyBzYcSfbGFtYSB0b3BsYW3EsSB2ZXJlbiBzZ2kgZGlzayBldGlrZXRpIHNhcHRhbmTEsS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4MiBsaWJmZGlzay9zcmMvc3VuLmM6NzcwCittc2dpZCAiUGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJGaXppa3NlbCBzaWxpbmRpcmxlciIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4NyBsaWJmZGlzay9zcmMvc3VuLmM6Nzc1CisjLCBmdXp6eQorbXNnaWQgIkV4dHJhIHNlY3RzL2N5bCIKK21zZ3N0ciAiU2lsaW5kaXIgYmHFn8SxbmEgZmF6bGFkYW4gc2VrdMO2cmxlciIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI5NworIywgZnV6enkKK21zZ2lkICJCb290ZmlsZSIKK21zZ3N0ciAiKFNvbnJha2kgZG9zeWE6ICVzKSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjM5NQorIywgZnV6enkKK21zZ2lkICJJbnZhbGlkIGJvb3RmaWxlISAgVGhlIGJvb3RmaWxlIG11c3QgYmUgYW4gYWJzb2x1dGUgbm9uLXplcm8gcGF0aG5hbWUsIGUuZy4gXCIvdW5peFwiIG9yIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAiIgorIlxuIgorIsOWbnnDvGtsZW1lIGRvc3lhc8SxIGdlw6dlcnNpeiFcbiIKKyJcdMOWbnnDvGtsZW1lIGRvc3lhc8SxbsSxbiBva3VuYWJpbGlyIGJpciBpc21pIG9sbWFsxLFkxLFyLFxuIgorIlx0w7Zybi4gXCIvdW5peFwiIHlhIGRhIFwiL3VuaXguc2F2ZVwiLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZSBtYXhpbXVtLiIKK21zZ2lkX3BsdXJhbCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGVzIG1heGltdW0uIgorbXNnc3RyWzBdICIiCisiXG4iCisiXHTDlm55w7xrbGVtZSBkb3N5YXPEsW7EsW4gaXNtaSDDp29rIHV6dW46ICBlbiDDp29rIDE2IGJheXQuXG4iCittc2dzdHJbMV0gIiIKKyJcbiIKKyJcdMOWbnnDvGtsZW1lIGRvc3lhc8SxbsSxbiBpc21pIMOnb2sgdXp1bjogIGVuIMOnb2sgMTYgYmF5dC5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwOAorIywgZnV6enkKK21zZ2lkICJCb290ZmlsZSBtdXN0IGhhdmUgYSBmdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUuIgorbXNnc3RyICIiCisiXG4iCisiXHTDlm55w7xrbGVtZSBkb3N5YXPEsW7EsW4gaXNtaSBkb3N5YSB5b2x1bnUgZGEgacOnZXJtZWxpLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDE0CisjLCBmdXp6eQorbXNnaWQgIkJlIGF3YXJlIHRoYXQgdGhlIGJvb3RmaWxlIGlzIG5vdCBjaGVja2VkIGZvciBleGlzdGVuY2UuICBTR0kncyBkZWZhdWx0IGlzIFwiL3VuaXhcIiwgYW5kIGZvciBiYWNrdXAgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICIiCisiXG4iCisiXHTDlm55w7xrbGVtZSBkb3N5YXPEsW7EsW4gdmFybMSxxJ/EsW7EsSBkZW5ldGxlbWVkacSfaW5pIGJpbG1lbGlzaW5pei5cbiIKKyJcdFNHSSBpw6dpbiBcIi91bml4XCIgw7ZudGFuxLFtbMSxIMO2bnnDvGtsZW1lIGRvc3lhc8SxZMSxciB2ZSB5ZWRlayBkb3N5YXPEsW7EsW5cbiIKKyLDtm50YW7EsW1sxLEgaXNtaSBcIi91bml4LnNhdmVcImRpci5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGN1cnJlbnQgYm9vdCBmaWxlIGlzOiAlcyIKK21zZ3N0ciAiIgorIlxuIgorIsWedSBhbmtpIMO2bnnDvGtsZW1lIGRvc3lhc8SxOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQxCisjLCBmdXp6eQorbXNnaWQgIkVudGVyIG9mIHRoZSBuZXcgYm9vdCBmaWxlIgorbXNnc3RyICJMw7x0ZmVuIHllbmkgYcOnxLFsxLHFnyBkb3N5YXPEsW7EsW4gaXNtaW5pIGdpcmluaXo6IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQ2CisjLCBmdXp6eQorbXNnaWQgIkJvb3QgZmlsZSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJBw6fEsWzEscWfIGRvc3lhc8SxIGRlxJ9pxZ90aXJpbG1lZGlcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQm9vdGZpbGUgaGFzIGJlZW4gY2hhbmdlZCB0byBcIiVzXCIuIgorbXNnc3RyICIiCisiXG4iCisiXHTDlm55w7xrbGVtZSBkb3N5YXPEsSBcIiVzXCIgb2xhcmFrIGRlxJ9pxZ90aXJpbGRpLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTk2CisjLCBmdXp6eQorbXNnaWQgIk1vcmUgdGhhbiBvbmUgZW50aXJlIGRpc2sgZW50cnkgcHJlc2VudC4iCittc2dzdHIgIkJpcmRlbiBmYXpsYSB0w7xtIGRpc2sgZ2lyZGlzaSB2YXIuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MDMgbGliZmRpc2svc3JjL3N1bi5jOjQ1OAorIywgZnV6enkKK21zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQuIgorbXNnc3RyICJBdGFubcSxxZ8gZGlzayBiw7Zsw7xtw7wgeW9rXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTMKKyMsIGZ1enp5Cittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiMTEuIGRpc2sgYsO2bMO8bcO8IHTDvG0gZGlza2kga2Fwc2FkxLHEn8SxbmRhIElSSVgnZSB1eWd1biBvbHVyLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIHNob3VsZCBzdGFydCBhdCBibG9jayAwLCBub3QgYXQgYmxvY2sgJWQuIgorbXNnc3RyICIiCisiRGlza2luIHTDvG3DvG7DvCBrYXBsYXlhbiBiaXIgZGlzayBiw7Zsw7xtw7wgYmxvayAwJ2RhbiBiYcWfbGFtYWzEsXlkxLEuXG4iCisiJWQuIGJsb2t0YW4gZGXEn2lsXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MjgKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIDExIHNob3VsZCBjb3ZlciB0aGUgZW50aXJlIGRpc2suIgorbXNnc3RyICJUZWsgZGlzayBiw7Zsw7xtw7wgKCMxMSkgdMO8bSBkaXNraSBrYXBsYW1hbMSxeWTEsS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3IuIgorbXNnaWRfcGx1cmFsICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3RvcnMuIgorbXNnc3RyWzBdICIlZCBkaXNrIGLDtmzDvG3DvCBpbGUgJWQgYmlyYmlyaW5pbiAlZCBzZWt0w7ZyIGnDp2luZSBnaXJpeW9yLlxuIgorbXNnc3RyWzFdICIlZCBkaXNrIGLDtmzDvG3DvCBpbGUgJWQgYmlyYmlyaW5pbiAlZCBzZWt0w7ZyIGnDp2luZSBnaXJpeW9yLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjYzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3Rvcjogc2VjdG9yICU4dSIKK21zZ2lkX3BsdXJhbCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yczogc2VjdG9ycyAlOHUtJXUiCittc2dzdHJbMF0gIiU4dSBzZWt0w7ZybMO8ayBib8WfbHVrIGt1bGxhbsSxbG1hZMSxIC0gICU4dS0ldSBzZWt0w7ZybGVyaVxuIgorbXNnc3RyWzFdICIlOHUgc2VrdMO2cmzDvGsgYm/Fn2x1ayBrdWxsYW7EsWxtYWTEsSAtICAlOHUtJXUgc2VrdMO2cmxlcmlcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY5OAorIywgZnV6enkKK21zZ2lkICJUaGUgYm9vdCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICIiCisiXG4iCisiw5ZuecO8a2xlbWUgZGlzayBiw7Zsw7xtw7wgeW9rLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzAyCisjLCBmdXp6eQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIiIKKyJcbiIKKyJUYWthcyBiw7Zsw7xtw7wgeW9rLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA2CisjLCBmdXp6eQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBoYXMgbm8gc3dhcCB0eXBlLiIKK21zZ3N0ciAiIgorIlxuIgorIlRha2FzIGLDtmzDvG3DvG7DvG4gdMO8csO8IHRha2FzIGRlxJ9pbC5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwOQorIywgZnV6enkKK21zZ2lkICJZb3UgaGF2ZSBjaG9zZW4gYW4gdW51c3VhbCBib290ZmlsZSBuYW1lLiIKK21zZ3N0ciAiXHRLdWxsYW7EscWfc8SxeiBiaXIgw7ZuecO8a2xlbWUgZG9zeWFzxLEgc2XDp3Rpbml6LlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzU5CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiIKK21zZ3N0ciAiIgorIkRpc2sgw7x6ZXJpbmRla2kgZGnEn2VyIGLDtmzDvG1sZXJpbiDDvHplcmluZSB0YcWfYW4gYmlyIGRpc2sgYsO2bMO8bcO8XG4iCisiYXnEsXJkxLHEn8SxbsSxei4gw5ZuY2UgYnVudSBkw7x6ZWx0aW4hXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDQKKyMsIGZ1enp5Cittc2dpZCAiQXR0ZW1wdGluZyB0byBnZW5lcmF0ZSBlbnRpcmUgZGlzayBlbnRyeSBhdXRvbWF0aWNhbGx5LiIKK21zZ3N0ciAiVMO8bSBkaXNrIGdpcmRpc2kgb3RvbWF0aWsgb2xhcmFrIMO8cmV0aWxtZXllIMOnYWzEscWfxLFsxLF5b3IuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDkKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIGlzIGFscmVhZHkgY292ZXJlZCB3aXRoIHBhcnRpdGlvbnMuIgorbXNnc3RyICJUw7xtIGRpc2sgYWxhbsSxIHphdGVuIGRpc2sgYsO2bMO8bWxlcmluY2Uga3VsbGFuxLFsbcSxxZ8uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NTMKKyMsIGZ1enp5Cittc2dpZCAiWW91IGdvdCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiBGaXggaXQgZmlyc3QhIgorbXNnc3RyICIiCisiRGlzayDDvHplcmluZGVraSBkacSfZXIgYsO2bMO8bWxlcmluIMO8emVyaW5lIHRhxZ9hbiBiaXIgZGlzayBiw7Zsw7xtw7xcbiIKKyJhecSxcmTEscSfxLFuxLF6LiDDlm5jZSBidW51IGTDvHplbHRpbiFcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg3NSBsaWJmZGlzay9zcmMvc3VuLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ICVzIgorbXNnc3RyICLEsGxrICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODk5IGxpYmZkaXNrL3NyYy9zZ2kuYzo5NDkKKyMsIGZ1enp5Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIGVsZXZlbnRoIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrIGFuZCBpcyBvZiB0eXBlICdTR0kgdm9sdW1lJy4iCittc2dzdHIgIiIKKyJPbmJpcmluY2kgZGlzayBiw7Zsw7xtw7xuw7xuIHTDvG0gZGlza2kga2Fwc2FtYXPEsSB2ZSBgU0dJIHZvbHVtZSdcbiIKKyJ0w7xyw7xuZGUgb2xtYXPEsSB0YXZzaXllIGVkaWxpci5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjkxNCBsaWJmZGlzay9zcmMvc3VuLmM6NjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMYXN0ICVzIG9yICslcyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICJTb24gJXMsICtzaXplLCArc2l6ZU0gdmV5YSArc2l6ZUsiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5ODUgbGliZmRpc2svc3JjL3N1bi5jOjI0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuIFRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuIgorbXNnc3RyICIiCisiVXlhcsSxOiAgQkxLR0VUU0laRSBpb2N0bCAlcyDDvHplcmluZGUgYmHFn2FyxLFzxLF6LiAgU2lsaW5kaXIgZ2VvbWV0cmlzaSBpw6dpbiAlZFxuIgorImRlxJ9lcmkga3VsbGFuxLFsxLF5b3IuIEJ1IGRlxJ9lciAzMy44IEdCJ2RhbiBiw7x5w7xrIGF5Z8SxdGxhcmRhIGvEsXJwxLFsYWJpbGlyLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA1MQorIywgZnV6enkKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFNHSSBkaXNrbGFiZWwuIgorbXNnc3RyICIgICBzICAgeWVuaSBiaXIgU3VuIGRpc2sgZXRpa2V0aSBvbHXFn3R1cnVyIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3MAorIywgZnV6enkKK21zZ2lkICJTb3JyeSwgb25seSBmb3Igbm9uLWVtcHR5IHBhcnRpdGlvbnMgeW91IGNhbiBjaGFuZ2UgdGhlIHRhZy4iCittc2dzdHIgIlNpc3RlbSBzYWF0aSBzYWRlY2Ugcm9vdCB0YXJhZsSxbmRhbiBkZcSfacWfdGlyaWxlYmlsaXIuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDc2CisjLCBmdXp6eQorbXNnaWQgIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDkgYXMgdm9sdW1lIGhlYWRlciAoMCksIGFuZCBwYXJ0aXRpb24gMTEgYXMgZW50aXJlIHZvbHVtZSAoNiksIGFzIElSSVggZXhwZWN0cyBpdC4iCittc2dzdHIgIiIKKyJJUklYIGdlcmVrdGlyZGnEn2luZGVuLCAxMS4gZGlzayBiw7Zsw7xtw7wgdMO8bSAndm9sdW1lJyAoNikgdmVcbiIKKyI5LiBkaXNrIGLDtmzDvG3DvCAndm9sdW1lJyBiYcWfbMSxxJ/EsSAoNikgb2xhcmFrIGLEsXJha8SxbGTEscSfxLEga2FidWwgZWRpbGl5b3IuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDg1CisjLCBmdXp6eQorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDAgaXMgb2YgdHlwZSBcIlNHSSB2b2xoZHJcIiwgdGhlIElSSVggc3lzdGVtIHdpbGwgcmVseSBvbiBpdCB0byByZXRyaWV2ZSBmcm9tIGl0cyBkaXJlY3Rvcnkgc3RhbmRhbG9uZSB0b29scyBsaWtlIHNhc2ggYW5kIGZ4LiBPbmx5IHRoZSBcIlNHSSB2b2x1bWVcIiBlbnRpcmUgZGlzayBzZWN0aW9uIG1heSB2aW9sYXRlIHRoaXMuIEFyZSB5b3Ugc3VyZSBhYm91dCB0YWdnaW5nIHRoaXMgcGFydGl0aW9uIGRpZmZlcmVudGx5PyIKK21zZ3N0ciAiIgorIkfDtnJlbGkga29udW11IDAgb2xhbiBkaXNrIGLDtmzDvG3DvG7DvG4gXCJTR0kgdm9saGRyXCIgdMO8csO8bmRlIG9sbWFzxLFcbiIKKyJ0YXZzaXllIGVkaWxpci4gSVJJWCBzaXN0ZW1pIG9udW4gc2FzaCB2ZSBmeCBnaWJpIGRpemluIGFyYcOnbGFyxLFuZGFuXG4iCisib251IGVsZGUgZXRtZXllIMOnYWzEscWfYWNha3TEsXIuIFNhZGVjZSB0w7xtIGRpc2sgYsO2bMO8bcO8IG9sYXJha1xuIgorIlwiU0dJIHZvbHVtZVwiIG9udW5sYSDDp2VsacWfZWJpbGlyLiBCdSBkaXNrIGLDtmzDvG3DvG7DvCBmYXJrbMSxXG4iCisib2x1xZ90dXJtYWsgaXN0aXlvcnNhbsSxeiBFVkVUIHlhesSxbi5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQwCittc2dpZCAiVW5hc3NpZ25lZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDIKK21zZ2lkICJTdW5PUyByb290IgorbXNnc3RyICJTdW5PUyByb290IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDMKK21zZ2lkICJTdW5PUyBzd2FwIgorbXNnc3RyICJTdW5PUyB0YWthcyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ0Cittc2dpZCAiU3VuT1MgdXNyIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NQorbXNnaWQgIldob2xlIGRpc2siCittc2dzdHIgIlTDvG0gZGlzayIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2Cittc2dpZCAiU3VuT1Mgc3RhbmQiCittc2dzdHIgIlN1bk9TIHN0YW5kIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyB2YXIiCittc2dzdHIgIlN1bk9TIHZhciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ4Cittc2dpZCAiU3VuT1MgaG9tZSIKK21zZ3N0ciAiU3VuT1MgaG9tZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ5CisjLCBmdXp6eQorbXNnaWQgIlN1bk9TIGFsdCBzZWN0b3JzIgorbXNnc3RyICIlbGxkIHNla3TDtnIga3VsbGFuxLFsbWFtxLHFn1xuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTAKKyMsIGZ1enp5Cittc2dpZCAiU3VuT1MgY2FjaGVmcyIKK21zZ3N0ciAiU3VuT1MgaG9tZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUxCisjLCBmdXp6eQorbXNnaWQgIlN1bk9TIHJlc2VydmVkIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiBQcm9iYWJseSB5b3UnbGwgaGF2ZSB0byBzZXQgYWxsIHRoZSB2YWx1ZXMsIGUuZy4gaGVhZHMsIHNlY3RvcnMsIGN5bGluZGVycyBhbmQgcGFydGl0aW9ucyBvciBmb3JjZSBhIGZyZXNoIGxhYmVsIChzIGNvbW1hbmQgaW4gbWFpbiBtZW51KSIKK21zZ3N0ciAiIgorIllhbmzEscWfIHNhxJ9sYW1hIHRvcGxhbcSxIHZlcmVuIGJpciBzdW4gZGlzayBldGlrZXRpIHNhcHRhbmTEsS5cbiIKKyJUw7xtIGRlxJ9lcmxlcmkgw7Zybi4ga2FmYSwgc2VrdMO2ciwgc2lsaW5kaXIgdmUgZGlzayBiw7Zsw7xtbGVyaW5pXG4iCisiYmVsaXJsZW1lbml6IHlhIGRhIGJhxZ90YW4gYmlyIHRlbWl6IGV0aWtldCAoYW5hIG1lbsO8ZGVuIHMga29tdXR1IGlsZSlcbiIKKyJvbHXFn3R1cm1hbsSxeiBnZXJla2ViaWxlY2VrLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdmVyc2lvbiBbJWRdLiIKK21zZ3N0ciAiWWFubMSxxZ8gc2HEn2xhbWEgdG9wbGFtxLEgdmVyZW4gc2dpIGRpc2sgZXRpa2V0aSBzYXB0YW5kxLEuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLnNhbml0eSBbMHglMDh4XS4iCittc2dzdHIgIllhbmzEscWfIHNhxJ9sYW1hIHRvcGxhbcSxIHZlcmVuIHNnaSBkaXNrIGV0aWtldGkgc2FwdGFuZMSxLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5ucGFydHMgWyV1XS4iCittc2dzdHIgIllhbmzEscWfIHNhxJ9sYW1hIHRvcGxhbcSxIHZlcmVuIHNnaSBkaXNrIGV0aWtldGkgc2FwdGFuZMSxLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIldhcm5pbmc6IFdyb25nIHZhbHVlcyBuZWVkIHRvIGJlIGZpeGVkIHVwIGFuZCB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpIgorbXNnc3RyICJVeWFyxLE6IGdlw6dlcnNpeiBiYXlyYWsgMHglMDR4ICVkLiBkaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3VuZGEgdyh5YXopIGlsZSBkw7x6ZWx0aWxtacWfIG9sYWNha1xuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTkyCittc2dpZCAiSGVhZHMiCittc2dzdHIgIkthZmEiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTQKK21zZ2lkICJTZWN0b3JzL3RyYWNrIgorbXNnc3RyICJTZWt0w7ZyL2l6IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Mjk3CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU3VuIGRpc2tsYWJlbC4iCittc2dzdHIgIiAgIHMgICB5ZW5pIGJpciBTdW4gZGlzayBldGlrZXRpIG9sdcWfdHVydXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBkb2Vzbid0IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIiVkIGRpc2sgYsO2bMO8bcO8IHNpbGluZGlyIHPEsW7EsXLEsW5kYSBiaXRtaXlvclxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBvdGhlcnMgaW4gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIiVkIGRpc2sgYsO2bMO8bcO8IGRpxJ9lcmxlcml5bGUgJWQtJWQgc2VrdMO2cmxlcmluZGUgw7xzdMO8c3RlIGJpbml5b3JcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgMC0ldS4iCittc2dzdHIgIkt1bGxhbsSxbG1hbcSxxZ8gYm/Fn2x1ayAtIDAtJWQgc2VrdMO2cmxlcmluZGVcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NSBsaWJmZGlzay9zcmMvc3VuLmM6NDcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIkt1bGxhbsSxbG1hbcSxxZ8gYm/Fn2x1ayAtICVkLSVkIHNla3TDtnJsZXJpbmRlXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MjgKKyMsIGZ1enp5Cittc2dpZCAiT3RoZXIgcGFydGl0aW9ucyBhbHJlYWR5IGNvdmVyIHRoZSB3aG9sZSBkaXNrLiBEZWxldGUgc29tZS9zaHJpbmsgdGhlbSBiZWZvcmUgcmV0cnkuIgorbXNnc3RyICIiCisiRGnEn2VyIGRpc2sgYsO2bMO8bWxlcmkgemF0ZW4gZGlza2kga2FwbGFtxLHFny5cbiIKKyJUZWtyYXIgZGVuZW1lZGVuIMO2bmNlIGJhesSxbGFyxLFuxLEgc2lsbWVuaXogeWEgZGFcbiIKKyJrw7zDp8O8bHRtZW5peiBnZXJlay5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVkIGlzIGFscmVhZHkgYWxsb2NhdGVkIgorbXNnc3RyICJTZWt0w7ZyICVkIHphdGVuIGt1bGxhbsSxbWRhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2MDAKKyMsIGZ1enp5Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHRoaXJkIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIHdob2xlIGRpc2sgYW5kIGlzIG9mIHR5cGUgYFdob2xlIGRpc2snIgorbXNnc3RyICIiCisiT25iaXJpbmNpIGRpc2sgYsO2bMO8bcO8bsO8biB0w7xtIGRpc2tpIGthcHNhbWFzxLEgdmUgYFNHSSB2b2x1bWUnXG4iCisidMO8csO8bmRlIG9sbWFzxLEgdGF2c2l5ZSBlZGlsaXIuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25pbmcgdGhlIGZpcnN0IHNlY3RvciBmcm9tICV1IHRvICV1IHRvIGJlIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Njg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmVuJ3QgY292ZXJlZCB0aGUgd2hvbGUgZGlzayB3aXRoIHRoZSAzcmQgcGFydGl0aW9uLCBidXQgeW91ciB2YWx1ZVxuIgorIiVsdSAlcyBjb3ZlcnMgc29tZSBvdGhlciBwYXJ0aXRpb24uIFlvdXIgZW50cnkgaGFzIGJlZW4gY2hhbmdlZFxuIgorInRvICVsdSAlcyIKK21zZ3N0ciAiIgorIsOcw6fDvG5jw7wgZGlzayBiw7Zsw7xtw7xuw7x6IHTDvG0gZGlza2kga2FwbGFkxLHEn8SxIGdpYmkgJWQgJXMgZGXEn2VyaXlsZVxuIgorImRpxJ9lciBkaXNrIGLDtmzDvG1sZXJpbmUgZGUgZ2XDp2l5b3IuIEdpcmRpxJ9pbml6IGRlxJ9lciAlZCAlcyBvbGFyYWtcbiIKKyJkZcSfacWfdGlyaWxkaS5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjcyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gU3VuT1MvU29sYXJpcyBjb21wYXRpYmlsaXR5LCBjb25zaWRlciBsZWF2aW5nIHRoaXMgcGFydGl0aW9uIGFzIFdob2xlIGRpc2sgKDUpLCBzdGFydGluZyBhdCAwLCB3aXRoICV1IHNlY3RvcnMiCittc2dzdHIgIiIKKyJTdW5PUy9Tb2xhcmlzIHV5dW1sdWx1xJ91IHNhxJ9sYW1hayBpc3RlcnNlbml6LCBidSBkaXNrIGLDtmzDvG3DvG7DvCAwIGRhblxuIgorImJhxZ9sYXlhbiAldSBzZWt0w7ZybMO8ayB0w7xtIGRpc2sgKDUpIG9sYXJhayBixLFyYWttYXnEsSBnw7Z6w7Zuw7xuZSBhbGFiaWxpcnNpbml6XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NTAKKyMsIGZ1enp5Cittc2dpZCAiTGFiZWwgSUQiCittc2dzdHIgImV0aWtldDogJS4qc1xuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzU1CisjLCBmdXp6eQorbXNnaWQgIlZvbHVtZSBJRCIKK21zZ3N0ciAiQsO2bMO8bTogPCUtNnM+XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjUKK21zZ2lkICJBbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJBbG1hxZ/EsWsgc2lsaW5kaXJsZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo4NzEKK21zZ2lkICJOdW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiQWxtYcWfxLFrIHNpbGluZGlybGVyaW4gc2F5xLFzxLEiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo4OTYKK21zZ2lkICJFeHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAiU2lsaW5kaXIgYmHFn8SxbmEgZmF6bGFkYW4gc2VrdMO2cmxlciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjkyMAorbXNnaWQgIkludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICJTZXJwacWfdGlybWUgZXRrZW5pIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTQ0Cittc2dpZCAiUm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIkRldmlyIHNhecSxc8SxIChycG0pIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTY4Cittc2dpZCAiTnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiRml6aWtzZWwgc2lsaW5kaXJsZXJpbiBzYXnEsXPEsSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwMzcKKyMsIGZ1enp5Cittc2dpZCAiIgorIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDMgYXMgV2hvbGUgZGlzayAoNSksXG4iCisiYXMgU3VuT1MvU29sYXJpcyBleHBlY3RzIGl0IGFuZCBldmVuIExpbnV4IGxpa2VzIGl0LlxuIgorbXNnc3RyICIiCisiTGludXgnYSB1eWd1biBvbHNhIGRhIFN1bk9TL1NvbGFyaXMgZ2VyZWt0aXJkacSfaW5kZW4sXG4iCisiMy4gZGlzayBiw7Zsw7xtw7xuw7xuIGRpc2tpbiB0YW1hbcSxICg1KSBvbGFyYWsgYsSxcmFrxLFsZMSxxJ/EsSBrYWJ1bCBlZGlsaXlvci5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNDgKKyMsIGZ1enp5Cittc2dpZCAiIgorIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDBcbiIKKyJpcyBVRlMsIEVYVDJGUyBmaWxlc3lzdGVtIG9yIFN1bk9TIHN3YXAuIFB1dHRpbmcgTGludXggc3dhcFxuIgorInRoZXJlIG1heSBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlIGFuZCBib290YmxvY2suXG4iCisiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHRhZyB0aGUgcGFydGl0aW9uIGFzIExpbnV4IHN3YXA/IgorbXNnc3RyICIiCisiR8O2cmVsaSBkZcSfZXJpIDAgZGEgb2xhbiBVRlMsIEVYVDJGUyBkb3N5YSBzaXN0ZW1pIHlhIGRhIFN1bk9TIHRha2FzXG4iCisiZGlzayBiw7Zsw7xtw7wgdGF2c2l5ZSBlZGlsaXIuIExpbnV4IHRha2FzIGFsYW7EsW7EsSBrb3ltYWsgZGlzayBiw7Zsw7xtbGVtZVxuIgorInRhYmxvbnV6dSB2ZSDDtm55w7xrbGVtZSBibG9rdW51enUgYm96YWJpbGVjZWsuIEJ1IGRpc2sgYsO2bMO8bcO8bsO8esO8blxuIgorIjgyIGV0aWtldGxpIChMaW51eCB0YWthcykgb2xtYXPEsW7EsSBpc3RlZGnEn2luaXpkZW4gZW1pbnNlbml6IGzDvHRmZW5cbiIKKyJFVkVUIHlhesSxbsSxejogIgorCisjOiBsaWIvcGFnZXIuYzoxMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhaXRwaWQgZmFpbGVkICglcykiCittc2dzdHIgInNldHVpZCgpIGJhxZ9hcsSxc8SxeiIKKworIzogbGliL3BhdGguYzoyMDkgc3lzLXV0aWxzL2xzY3B1LmM6MTgxOAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY2FsbG9jYXRlIGNwdSBzZXQiCittc2dzdHIgIlRhbXBvbiBheXLEsWxhbWFkxLEuXG4iCisKKyM6IGxpYi9wYXRoLmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3QgJXMiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBsaWIvcGF0aC5jOjIxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrICVzIgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MgorIywgZnV6enkKK21zZ2lkICJjYW4gbm90IG9wZW4gVU5JWCBzb2NrZXQiCittc2dzdHIgIiVzIGHDp8SxbGFtxLF5b3IiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzgKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG5vdCBzZXQgb3B0aW9uIGZvciBVTklYIHNvY2tldCIKK21zZ3N0ciAiJXMgacOnaW4gemFtYW4gYcWfxLFtxLEgZGXEn2VyaSBhbMSxbmFtxLF5b3I6ICVzXG4iCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG5vdCBjb25uZWN0IG9uIFVOSVggc29ja2V0IgorbXNnc3RyICIlcyBhw6fEsWxhbcSxeW9yIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGx5bW91dGggcmVxdWVzdCAlYyBpcyBub3QgaW1wbGVtZW50ZWQiCittc2dzdHIgIiIKKworIzogbGliL3JhbmR1dGlscy5jOjEzNgorbXNnaWQgImxpYmMgcHNldWRvLXJhbmRvbSBmdW5jdGlvbnMiCittc2dzdHIgIiIKKworIzogbGliL3N3YXBwcm9iZXIuYzoxNyBsaWIvc3dhcHByb2Jlci5jOjMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHByb2JlIGRldmljZSIKK21zZ3N0ciAidGFrYXMgYWxhbsSxbmRhIGJhxZ9hIGdpZGlsZW1peW9yIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcHJvYmluZyByZXN1bHQ7IHVzZSB3aXBlZnMoOCkiCittc2dzdHIgIiIKKworIzogbGliL3N3YXBwcm9iZXIuYzozNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHZhbGlkIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICIlczogYsO2eWxlIGJpciBkaXNrIGLDtmzDvG3DvCB5b2tcbiIKKworIzogbGliL3N3YXBwcm9iZXIuYzo0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuc3VwcG9ydGVkIHN3YXAgdmVyc2lvbiAnJXMnIgorbXNnc3RyICIlczogaGF0YTogc8O8csO8bSAlZCBiaWxpbm1peW9yXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5MCBsb2dpbi11dGlscy9jaHNoLmM6NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT5dXG4iCittc2dzdHIgImt1bGxhbsSxbcSxOiBuYW1laSBbLW14XSBkb3N5YVlvbHUgW2Rvc3lhWW9sdSAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5MworIywgZnV6enkKK21zZ2lkICJDaGFuZ2UgeW91ciBmaW5nZXIgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiVzIGnDp2luIGt1bGxhbsSxY8SxIGJpbGdpbGVyaSBkZcSfacWfdGlyaWxpeW9yLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTYKK21zZ2lkICIgLWYsIC0tZnVsbC1uYW1lIDxmdWxsLW5hbWU+ICByZWFsIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTcKK21zZ2lkICIgLW8sIC0tb2ZmaWNlIDxvZmZpY2U+ICAgICAgICBvZmZpY2UgbnVtYmVyXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk4CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1vZmZpY2UtcGhvbmUgPHBob25lPiAgIG9mZmljZSBwaG9uZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorIlsgLXAgacWfLXRlbGVmb251IF1cbiIKKyJcdFsgLWggZXYtdGVsZWZvbnUgXSAiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OQorbXNnaWQgIiAtaCwgLS1ob21lLXBob25lIDxwaG9uZT4gICAgIGhvbWUgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwMSBsb2dpbi11dGlscy9jaHNoLmM6NzgKK21zZ2lkICIgLXUsIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmaWVsZCAlcyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiYWxhbiDDp29rIHV6dW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMjEgbG9naW4tdXRpbHMvY2hzaC5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaGFzIGlsbGVnYWwgY2hhcmFjdGVycyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTUwIGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE2MgorIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbi5kZWZzIGZvcmJpZHMgc2V0dGluZyAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTggbG9naW4tdXRpbHMvY2hmbi5jOjMwOQorbXNnaWQgIk9mZmljZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjQgbG9naW4tdXRpbHMvY2hmbi5jOjMxMQorbXNnaWQgIk9mZmljZSBQaG9uZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTY4IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzAgbG9naW4tdXRpbHMvY2hmbi5jOjMxMworbXNnaWQgIkhvbWUgUGhvbmUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjIzMworIywgZnV6enkKK21zZ2lkICJBYm9ydGVkLiIKK21zZ3N0ciAiIgorIlxuIgorIkLEsXJha8SxbGTEsS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBoYXMgdW5leHBlY3RlZCB2YWx1ZTogJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjI5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBkb2VzIG5vdCBhbGxvdyBhbnkgY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLlxuIgorbXNnc3RyICJLdWxsYW7EsWPEsSBiaWxnaWxlcmkgZGXEn2nFn3RpcmlsZW1lZGkuIERhaGEgc29ucmEgdGVrcmFyIGRlbmV5aW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIGNoYW5nZWQuXG4iCittc2dzdHIgIkt1bGxhbsSxY8SxIGJpbGdpbGVyaSBkZcSfacWfdGlyaWxkaS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQwOCBsb2dpbi11dGlscy9jaHNoLmM6MjQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ5b3UgKHVzZXIgJWQpIGRvbid0IGV4aXN0LiIKK21zZ3N0ciAiJXM6IFNpeiAoJWQpIHlva3N1bnV6LlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDE0IGxvZ2luLXV0aWxzL2Noc2guYzoyNDggbG9naW4tdXRpbHMvbGlidXNlci5jOjU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIFwiJXNcIiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIiVzOiBcIiVzXCIgeW9rLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDIwIGxvZ2luLXV0aWxzL2Noc2guYzoyNTQKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMiCittc2dzdHIgIiVzOiBzYWRlY2UgeWVyZWwgZ2lyZGlsZXJpIGRlxJ9pxZ90aXJlYmlsaXI7IHllcmluZSB5cCVzIGt1bGxhbsSxbi5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBmaW5nZXIgaW5mbyBvZiAlcyIKK21zZ3N0ciAiJXM6ICVzLCAlcyBrdWxsYW7EsWPEsXPEsW7EsW4ga2nFn2lzZWwgYmlsZ2lsZXJpbmkgZGXEn2nFn3Rpcm1leWUgeWV0a2lsaSBkZcSfaWxcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzNSBsb2dpbi11dGlscy9jaHNoLmM6MjcwCittc2dpZCAiVW5rbm93biB1c2VyIGNvbnRleHQiCittc2dzdHIgIkt1bGxhbsSxY8SxIGJhxJ9sYW3EsSBiaWxpbm1peW9yIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDQxIGxvZ2luLXV0aWxzL2Noc2guYzoyNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHNldCBkZWZhdWx0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICIlczogL2V0Yy9wYXNzd2QgacOnaW4gw7ZudGFuxLFtbMSxIGJhxJ9sYW0gYmVsaXJ0aWxlbWl5b3IiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTIKKyMsIGZ1enp5Cittc2dpZCAicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSBhbHRlcmluZywgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiIgorIiVzOiBrYWJ1xJ91biBrdWxsYW7EsWPEsSBraW1sacSfaSBkZcSfacWfdGlyZGnEn2ltaXoga3VsbGFuxLFjxLEga2ltbGlrbGVcbiIKKyJheW7EsSBkZcSfaWwsIGthYnVrIGRlxJ9pxZ9pa2xpxJ9pIGthYnVsIGVkaWxtZWRpXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgZmluZ2VyIGluZm9ybWF0aW9uIGZvciAlcy5cbiIKK21zZ3N0ciAiJXMgacOnaW4ga3VsbGFuxLFjxLEgYmlsZ2lsZXJpIGRlxJ9pxZ90aXJpbGl5b3IuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIG5vdCBjaGFuZ2VkLlxuIgorbXNnc3RyICJLdWxsYW7EsWPEsSBiaWxnaWxlcmkgZGXEn2nFn21lZGkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3MgorIywgZnV6enkKK21zZ2lkICJDaGFuZ2UgeW91ciBsb2dpbiBzaGVsbC5cbiIKK21zZ3N0ciAiJXMgacOnaW4ga2FidWsgZGXEn2nFn3RpcmlsaXlvci5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc1CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBzcGVjaWZ5IGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAgLXMsIC0tc2hlbGw9a2FidWtUw7xyw7wgICAgICAgICBLdWxsYW7EsWxhY2FrIGthYnVrIHTDvHLDvCBiZWxpcnRpbGlyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NgorbXNnaWQgIiAtbCwgLS1saXN0LXNoZWxscyAgICBwcmludCBsaXN0IG9mIHNoZWxscyBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAiTm8ga25vd24gc2hlbGxzLiIKK21zZ3N0ciAiS3VsbGFuxLFsYWJpbGVjZWsga2FidWtsYXIgYmVsaXJsZW5tZW1pxZ8uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDAKKyMsIGZ1enp5Cittc2dpZCAic2hlbGwgbXVzdCBiZSBhIGZ1bGwgcGF0aCBuYW1lIgorbXNnc3RyICIlczoga2FidWsgdGFtIGJpciBkb3N5YSB5b2x1IGnDp2VybWVsaS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIlczogXCIlc1wiIHlvay5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGlzIG5vdCBleGVjdXRhYmxlIgorbXNnc3RyICIlczogXCIlc1wiIMOnYWzEscWfdMSxcsSxbGFiaWxpciBkZcSfaWwuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IFwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLiIKK21zZ3N0ciAiVXlhcsSxOiBcIiVzXCIgL2V0Yy9zaGVsbHMgZG9zeWFzxLFuZGEgeW9rLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjE0IGxvZ2luLXV0aWxzL2Noc2guYzoyMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy5cbiIKKyJVc2UgJXMgLWwgdG8gc2VlIGxpc3QuIgorbXNnc3RyICIlczogXCIlc1wiICAvZXRjL3NoZWxscyBkb3N5YXPEsW5kYSB5b2suXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgc2hlbGwgb2YgJXMiCittc2dzdHIgIiVzOiAlcywgJXMga3VsbGFuxLFjxLFzxLFuxLFuIGthYnXEn3VudSBkZcSfacWfdGlybWV5ZSB5ZXRraWxpIGRlxJ9pbFxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6Mjk1CisjLCBmdXp6eQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiIKKyIlczoga2FidcSfdW4ga3VsbGFuxLFjxLEga2ltbGnEn2kgZGXEn2nFn3RpcmRpxJ9pbWl6IGt1bGxhbsSxY8SxIGtpbWxpa2xlXG4iCisiYXluxLEgZGXEn2lsLCBrYWJ1ayBkZcSfacWfaWtsacSfaSBrYWJ1bCBlZGlsbWVkaVxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIHNoZWxsIGlzIG5vdCBpbiAlcywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiJXM6IEJ1IGthYnVrIC9ldGMvc2hlbGxzIGRvc3lhc8SxbmRhIHlvaywga2FidWsgZGXEn2nFn3RpcmlsZW1lZGlcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBzaGVsbCBmb3IgJXMuXG4iCittc2dzdHIgIiVzIGnDp2luIGthYnVrIGRlxJ9pxZ90aXJpbGl5b3IuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMTIKK21zZ2lkICJOZXcgc2hlbGwiCittc2dzdHIgIlllbmkga2FidWsiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjAKKyMsIGZ1enp5Cittc2dpZCAiU2hlbGwgbm90IGNoYW5nZWQuIgorbXNnc3RyICJLYWJ1ayBkZcSfacWfdGlyaWxtZWRpLFxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzI1CisjLCBmdXp6eQorbXNnaWQgIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICJLYWJ1ayBkZcSfacWfdGlyaWxlbWVkaS4gRGFoYSBzb25yYSB0ZWtyYXIgZGVuZXlpbi5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyOQorIywgZnV6enkKK21zZ2lkICIiCisic2V0cHduYW0gZmFpbGVkXG4iCisiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIkthYnVrIGRlxJ9pxZ90aXJpbGVtZWRpLiBEYWhhIHNvbnJhIHRla3JhciBkZW5leWluLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoZWxsIGNoYW5nZWQuXG4iCittc2dzdHIgIkthYnVrIGRlxJ9pxZ90aXJpbGRpLlxuIgorCisjOiBsb2dpbi11dGlscy9pc2xvY2FsLmM6OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyA8cGFzc3dvcmRmaWxlPiA8dXNlcm5hbWU+Li4uXG4iCittc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbZG9zeWFdXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoxNzQgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjIwIHN5cy11dGlscy9kbWVzZy5jOjExOTMKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB0aW1lIGZvcm1hdDogJXMiCittc2dzdHIgIiVzOiBCaWxpbm1leWVuIGtvbXV0OiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjgxIGxvZ2luLXV0aWxzL2xhc3QuYzoyODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludGVycnVwdGVkICVzIgorbXNnc3RyICIiCisiXG4iCisiZHVyZHVydWxkdTogJTEwLjEwcyAlNS41cyBcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjQzOSBsb2dpbi11dGlscy9sYXN0LmM6NDUwCittc2dpZCAicHJlYWxsb2NhdGlvbiBzaXplIGV4Y2VlZGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT4uLi5dIFs8dHR5Pi4uLl1cbiIKK21zZ3N0ciAia3VsbGFuxLFtxLE6IG5hbWVpIFstbXhdIGRvc3lhWW9sdSBbZG9zeWFZb2x1IC4uLl1cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3MgorbXNnaWQgIlNob3cgYSBsaXN0aW5nIG9mIGxhc3QgbG9nZ2VkIGluIHVzZXJzLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzUKK21zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzYKK21zZ2lkICIgLWEsIC0taG9zdGxhc3QgICAgICAgZGlzcGxheSBob3N0bmFtZXMgaW4gdGhlIGxhc3QgY29sdW1uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NworbXNnaWQgIiAtZCwgLS1kbnMgICAgICAgICAgICB0cmFuc2xhdGUgdGhlIElQIG51bWJlciBiYWNrIGludG8gYSBob3N0bmFtZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgIHVzZSBhIHNwZWNpZmljIGZpbGUgaW5zdGVhZCBvZiAlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODAKK21zZ2lkICIgLUYsIC0tZnVsbHRpbWVzICAgICAgcHJpbnQgZnVsbCBsb2dpbiBhbmQgbG9nb3V0IHRpbWVzIGFuZCBkYXRlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODEKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlwICAgICAgICAgICAgIGRpc3BsYXkgSVAgbnVtYmVycyBpbiBudW1iZXJzLWFuZC1kb3RzIG5vdGF0aW9uXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOb3JtYWxkZSB2ZXJpbGVuIMOnxLFrdMSxIHZlcmlsbWV6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODIKK21zZ2lkICIgLW4sIC0tbGltaXQgPG51bWJlcj4gaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODMKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIGRvbid0IGRpc3BsYXkgdGhlIGhvc3RuYW1lIGZpZWxkXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBEaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3VudSBla3JhbmEgeWEgZGEgYmlyIGRvc3lheWEgeWF6YXIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODQKK21zZ2lkICIgLXMsIC0tc2luY2UgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgc2luY2UgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NQorbXNnaWQgIiAtdCwgLS11bnRpbCA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyB1bnRpbCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg2Cittc2dpZCAiIC1wLCAtLXByZXNlbnQgPHRpbWU+IGRpc3BsYXkgd2hvIHdlcmUgcHJlc2VudCBhdCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg3CisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS1mdWxsbmFtZXMgICAgICBkaXNwbGF5IGZ1bGwgdXNlciBhbmQgZG9tYWluIG5hbWVzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOb3JtYWxkZSB2ZXJpbGVuIMOnxLFrdMSxIHZlcmlsbWV6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODgKK21zZ2lkICIgLXgsIC0tc3lzdGVtICAgICAgICAgZGlzcGxheSBzeXN0ZW0gc2h1dGRvd24gZW50cmllcyBhbmQgcnVuIGxldmVsIGNoYW5nZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg5Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXBzIGluIHRoZSBzcGVjaWZpZWQgPGZvcm1hdD46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGltZXxzaG9ydHxmdWxsfGlzb1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo4ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlcyBiZWdpbnMgJXMiCittc2dzdHIgIiIKKyJcbiIKKyJ3dG1wIGthecSxdGxhcsSxbsSxbiBiYcWfbGFuZ8SxY8SxOiAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk1NiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY0CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIiCittc2dzdHIgIiVzIGRpc2sgYsO2bMO8bcO8bmUgeWF6YXJrZW4gaGF0YSBvbHXFn3R1XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NzcgbG9naW4tdXRpbHMvbGFzdC5jOjk4MiBsb2dpbi11dGlscy9sYXN0LmM6OTg3CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lIHZhbHVlIFwiJXNcIiIKK21zZ3N0ciAia2ltbGlrIGdlw6dlcnNpeiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjI5IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzozMQorbXNnaWQgIkNvdWxkbid0IGRyb3AgZ3JvdXAgcHJpdmlsZWdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxpYnVzZXIgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlcy4iCittc2dzdHIgIiIKKyJcbiIKKyJEb3N5YSBrYXBhdMSxbMSxcmtlbiBoYXRhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1MgorIywgZnV6enkKK21zZ2lkICJjaGFuZ2luZyB1c2VyIGF0dHJpYnV0ZSBmYWlsZWQiCittc2dzdHIgImF5csSxbG3EscWfIHNlbWFmb3Igc2F5xLFzxLEgPSAlZFxuIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICV1IGlzIDYwLgorIzogbG9naW4tdXRpbHMvbG9naW4uYzoxODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRpbWVkIG91dCBhZnRlciAldSBzZWNvbmRzIgorbXNnc3RyICJHaXJpxZ8gJWQgc2FuaXllIHNvbnJhIHphbWFuIGHFn8SxbcSxbmEgdcSfcmFkxLFcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiBjYW4ndCByZW9wZW4gdHR5OiAlbSIKK21zZ3N0ciAiw5ZMw5xNQ8OcTDogdHR5IHRla3JhciBhw6fEsWxhbcSxeW9yOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlcyBpcyBub3QgYSB0ZXJtaW5hbCIKK21zZ3N0ciAiJXMgYmlyIGJsb2stw7Z6ZWwgYXlnxLF0IGRlxJ9pbCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNob3duICglcywgJWx1LCAlbHUpIGZhaWxlZDogJW0iCittc2dzdHIgIm1vdW50IGJhxZ9hcsSxc8SxeiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNobW9kICglcywgJXUpIGZhaWxlZDogJW0iCittc2dzdHIgIi9kZXY6IGNoZGlyKCkgYmHFn2FyxLFzxLF6OiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozNzUKK21zZ2lkICJGQVRBTDogYmFkIHR0eSIKK21zZ3N0ciAiw5ZMw5xNQ8OcTDogdHR5IGhhdGFsxLEiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlczogY2hhbmdlIHBlcm1pc3Npb25zIGZhaWxlZDogJW0iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBsb2dpbjogJS4qcyAiCittc2dzdHIgIlNvbiBnaXJpxZ86ICUuKnMgIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUzMQorIywgYy1mb3JtYXQKK21zZ2lkICJmcm9tICUuKnNcbiIKK21zZ3N0ciAic3VsYXLEsW5kYSAlLipzIG1ha2luYXPEsW5hIHlhcMSxbGTEsVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUzNAorIywgYy1mb3JtYXQKK21zZ2lkICJvbiAlLipzXG4iCittc2dzdHIgInN1bGFyxLFuZGEgJS4qcyBrb25zb2x1bmEgeWFwxLFsZMSxXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTUyCisjLCBmdXp6eQorbXNnaWQgIndyaXRlIGxhc3Rsb2cgZmFpbGVkIgorbXNnc3RyICIlcyBhw6fEsWxhbWFkxLEiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRJQUxVUCBBVCAlcyBCWSAlcyIKK21zZ3N0ciAiJXMgw5xaRVLEsE5ERU4gJXMgxLBTTcSwWUxFIERJQUxVUCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyBGUk9NICVzIgorbXNnc3RyICIlcyDDnFpFUsSwTkRFTiAlcyBNQUvEsE5BU0lOQSBST09UIEfEsFLEsMWexLAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMiCittc2dzdHIgIiVzIMOcWkVSxLBOREUgUk9PVCBHxLBSxLDFnsSwIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorbXNnc3RyICIlcyDDnFpFUsSwTkRFTiAlcywgJXMgTUFLxLBOQVNJTkEgR8SwUkTEsCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTE9HSU4gT04gJXMgQlkgJXMiCittc2dzdHIgIiVzIMOcWkVSxLBOREVOICVzIFPEsFNURU1FIEfEsFJExLAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE5Cittc2dpZCAibG9naW46ICIKK21zZ3N0ciAiS3VsbGFuxLFjxLEgaXNtaTogIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUEFNIGZhaWx1cmUsIGFib3J0aW5nOiAlcyIKK21zZ3N0ciAibG9naW46IFBBTSBoYXRhc8SxLCDDp8Sxa8SxbMSxeW9yOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc0NgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZG4ndCBpbml0aWFsaXplIFBBTTogJXMiCittc2dzdHIgIlBBTSBiYcWfbGF0xLFsYW1hZMSxOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiAldSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIiUzJHMgJTIkcyDDnFpFUsSwTkRFTiAlMSRkIERFRkEgR8SwUkVNRUTEsCwgJTQkcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MjUgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxvZ2luIGluY29ycmVjdFxuIgorIlxuIgorbXNnc3RyICIiCisiR2lyacWfIGJhxZ9hcsSxc8SxelxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVE9PIE1BTlkgTE9HSU4gVFJJRVMgKCV1KSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIiUzJHMgJTIkcyDDnFpFUsSwTkRFTiDDh09LIEZBWkxBIEfEsFLEsMWeIERFTkVExLAgKCUxJGQpLCAlNCRzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg0NgorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gU0VTU0lPTiBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIiVzIE1BS8SwTkFTSU5BICVzIMSww4fEsE4gR8SwUsSwxZ4gT1RVUlVNVSBLQVBBTkRJLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxvZ2luIGluY29ycmVjdFxuIgorbXNnc3RyICIiCisiXG4iCisiR2lyacWfIGJhxZ9hcsSxc8SxelxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg4MiBsb2dpbi11dGlscy9sb2dpbi5jOjEyMzIgbG9naW4tdXRpbHMvbG9naW4uYzoxMjU1CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHNldHVwIHByb2JsZW0sIGFib3J0LiIKK21zZ3N0ciAiIgorIlxuIgorIk90dXJ1bSBheWFybGFyxLEgc29ydW51LCDDp8Sxa8SxbMSxeW9yLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICJOVUxMIHVzZXIgbmFtZSBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICIlcyBpxZ9sZXZpbmluICVkLiBzYXTEsXLEsW5kYSBrdWxsYW7EsWPEsSBpc21pIHlvayAoTlVMTCkuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVElPQ1NDVFRZIGZhaWxlZDogJW0iCittc2dzdHIgIlRJT0NTQ1RUWSBiYcWfYXLEsXPEsXo6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxvZ2luOiAtaCBpcyBmb3Igc3VwZXJ1c2VyIG9ubHlcbiIKK21zZ3N0ciAibG9naW46IC1oIHNhZGVjZSByb290IHRhcmFmxLFuZGFuIGt1bGxhbsSxbGFiaWxpci5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogbG9naW4gWy1wXSBbLWggPGhvc3Q+XSBbLUhdIFtbLWZdIDx1c2VybmFtZT5dXG4iCittc2dzdHIgIkt1bGxhbsSxbcSxOiBsYXN0IFstI10gWy1mIGRvc3lhXSBbLXQgdHR5XSBbLWggbWFraW5hQWTEsV0gW2t1bGxhbsSxY8SxIC4uLl1cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTkxCisjLCBmdXp6eQorbXNnaWQgIkJlZ2luIGEgc2Vzc2lvbiBvbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICJCdSBzaXN0ZW1kZSBnw7ZsZ2UgcGFyb2xhbGFyIGt1bGxhbsSxbMSxeW9yLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB1c2VyIG5hbWUgXCIlc1wiIGluICVzOiVkLiBBYm9ydC4iCittc2dzdHIgIiUyJHMgacWfbGV2aW5pbiAlMyRkLiBzYXTEsXLEsW5kYSBrdWxsYW7EsWPEsSBpc21pIFwiJTEkc1wiIGdlw6dlcnNpei4gw4fEsWvEsWzEsXlvci4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXBzIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgIiIKKyJcbiIKKyJEb3N5YSBrYXBhdMSxbMSxcmtlbiBoYXRhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI3OQorIywgZnV6enkKK21zZ2lkICJzZXRnaWQoKSBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGJhxZ9hcsSxc8SxeiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG5ldyBtYWlsLlxuIgorbXNnc3RyICJZZW5pIGUtcG9zdGFuxLF6IHZhci5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzExCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG1haWwuXG4iCittc2dzdHIgIkUtcG9zdGFuxLF6IHZhci5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzI1Cittc2dpZCAic2V0dWlkKCkgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBiYcWfYXLEsXPEsXoiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzMSBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2hhbmdlIGRpcmVjdG9yeSBmYWlsZWQiCittc2dzdHIgImVyacWfaW0gYmHFn2FyxLFzxLF6IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzggbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczOQorIywgYy1mb3JtYXQKK21zZ2lkICJMb2dnaW5nIGluIHdpdGggaG9tZSA9IFwiL1wiLlxuIgorbXNnc3RyICJFdiBkaXppbmkgXCIvXCIgaWxlIGdpcmnFny5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzY3CisjLCBmdXp6eQorbXNnaWQgImNvdWxkbid0IGV4ZWMgc2hlbGwgc2NyaXB0IgorbXNnc3RyICJsb2dpbjoga2FidWsgYmV0acSfaSDDp2FsxLHFn3TEsXLEsWxhbWFkxLE6ICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNjkKKyMsIGZ1enp5Cittc2dpZCAibm8gc2hlbGwiCittc2dzdHIgIkthYnVrIHlvayIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgY29udGFpbnMgaW52YWxpZCBudW1lcmljYWwgdmFsdWU6ICVzIgorbXNnc3RyICJBcmFsxLFrIGRlxJ9lcmkgZ2XDp2Vyc2l6OiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzozNzUKK21zZ2lkICJodXNoIGxvZ2luIHN0YXR1czogcmVzdG9yZSBvcmlnaW5hbCBJRHMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA4IHN5cy11dGlscy9sc2NwdS5jOjE1NDAgc3lzLXV0aWxzL2xzY3B1LmM6MTU1MAorbXNnaWQgIm5vIgorbXNnc3RyICJoYXnEsXIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3IG1pc2MtdXRpbHMvbHNibGsuYzoxODEKKyMsIGZ1enp5Cittc2dpZCAidXNlciBuYW1lIgorbXNnc3RyICJLdWxsYW7EsWPEsSBpc21pIGt1cmFsZMSxxZ/EsSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcKKyMsIGZ1enp5Cittc2dpZCAiVXNlcm5hbWUiCittc2dzdHIgIkt1bGxhbsSxY8SxIGlzbWkga3VyYWxkxLHFn8SxIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOCBzeXMtdXRpbHMvcmVuaWNlLmM6NTQKKyMsIGZ1enp5Cittc2dpZCAidXNlciBJRCIKK21zZ3N0ciAia3VsbGFuxLFjxLEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE5CisjLCBmdXp6eQorbXNnaWQgInBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAiUGFyb2xhIGRlxJ9pxZ90aXJpbGRpLiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKKyMsIGZ1enp5Cittc2dpZCAiUGFzc3dvcmQgbm90IHJlcXVpcmVkIgorbXNnc3RyICJQYXJvbGEgZGXEn2nFn3RpcmlsZGkuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorIywgZnV6enkKK21zZ2lkICJsb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAiJXM6IHBhcm9sYSBkb3N5YXPEsSBtZcWfZ3VsLlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorIywgZnV6enkKK21zZ2lkICJMb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAiJXM6IHBhcm9sYSBkb3N5YXPEsSBtZcWfZ3VsLlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorIywgZnV6enkKK21zZ2lkICJwYXNzd29yZCBkZWZpbmVkLCBidXQgbG9ja2VkIgorbXNnc3RyICIlcyBpw6dpbiBwYXJvbGEgZGXEn2nFn3RpcmlsZGkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIGlzIGxvY2tlZCIKK21zZ3N0ciAiUGFyb2xhIGRlxJ9pxZ90aXJpbGRpLiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJsb2cgaW4gZGlzYWJsZWQgYnkgbm9sb2dpbig4KSBvciBwYW1fbm9sb2dpbig4KSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorIywgZnV6enkKK21zZ2lkICJObyBsb2dpbiIKK21zZ3N0ciAiS3VsbGFuxLFjxLEgaXNtaTogIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgInByaW1hcnkgZ3JvdXAgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworIywgZnV6enkKK21zZ2lkICJQcmltYXJ5IGdyb3VwIgorbXNnc3RyICJCaXJpbmNpbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjQKK21zZ2lkICJwcmltYXJ5IGdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworIywgZnV6enkKK21zZ2lkICJob21lIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXMgZGl6aW5pIHlvayFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKKyMsIGZ1enp5Cittc2dpZCAiSG9tZSBkaXJlY3RvcnkiCittc2dzdHIgIiVzIGRpemluaSB5b2shXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4CisjLCBmdXp6eQorbXNnaWQgImxvZ2luIHNoZWxsIgorbXNnc3RyICJLYWJ1ayB5b2siCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4CisjLCBmdXp6eQorbXNnaWQgIlNoZWxsIgorbXNnc3RyICJLYWJ1ayB5b2siCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5CisjLCBmdXp6eQorbXNnaWQgImZ1bGwgdXNlciBuYW1lIgorbXNnc3RyICJLdWxsYW7EsWPEsSBpc21pIGt1cmFsZMSxxZ/EsSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJHZWNvcyBmaWVsZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorIywgZnV6enkKK21zZ2lkICJkYXRlIG9mIGxhc3QgbG9naW4iCittc2dzdHIgImdlw6dlbiBpbGsgc2F0xLFyIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorIywgZnV6enkKK21zZ2lkICJMYXN0IGxvZ2luIgorbXNnc3RyICJTb24gZ2lyacWfOiAlLipzICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJsYXN0IHR0eSB1c2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCisjLCBmdXp6eQorbXNnaWQgIkxhc3QgdGVybWluYWwiCittc2dzdHIgIiVzIGJpciBibG9rLcO2emVsIGF5Z8SxdCBkZcSfaWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiaG9zdG5hbWUgZHVyaW5nIHRoZSBsYXN0IHNlc3Npb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBob3N0bmFtZSIKK21zZ3N0ciAibGFzdDogZ2V0aG9zdG5hbWUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCisjLCBmdXp6eQorbXNnaWQgImRhdGUgb2YgbGFzdCBmYWlsZWQgbG9naW4iCittc2dzdHIgImRvc3lhIHlvbHUgZHVydW0gYmlsZ2lsZXJpIGFsxLFuYW1hZMSxXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiRmFpbGVkIGxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIndoZXJlIGRpZCB0aGUgbG9naW4gZmFpbD8iCittc2dzdHIgIiVzIGHDp8SxbGFtYWTEsSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIGxvZ2luIHRlcm1pbmFsIgorbXNnc3RyICIlcyBkaXNrIGLDtmzDvG3DvG5lIHlhemFya2VuIGhhdGEgb2x1xZ90dVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgInVzZXIncyBodXNoIHNldHRpbmdzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAiSHVzaGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiZGF5cyB1c2VyIGlzIHdhcm5lZCBvZiBwYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiB3YXJuIGludGVydmFsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAicGFzc3dvcmQgZXhwaXJhdGlvbiBkYXRlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIlBhcm9sYSBoYXRhc8SxLiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiZGF0ZSBvZiBsYXN0IHBhc3N3b3JkIGNoYW5nZSIKK21zZ3N0ciAiRXNraSBwYXJvbGFuxLF6xLEgeWF6xLFuxLF6OiAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4CisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIGNoYW5nZWQiCittc2dzdHIgIlBhcm9sYSBkZcSfacWfdGlyaWxkaS5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzkKK21zZ2lkICJudW1iZXIgb2YgZGF5cyByZXF1aXJlZCBiZXR3ZWVuIGNoYW5nZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzkKKyMsIGZ1enp5Cittc2dpZCAiTWluaW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAiJXM6IHlhcMSxbGFuIGRlxJ9pxZ9pa2xpayB5b2tcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKK21zZ2lkICJtYXggbnVtYmVyIG9mIGRheXMgYSBwYXNzd29yZCBtYXkgcmVtYWluIHVuY2hhbmdlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorIywgZnV6enkKK21zZ2lkICJNYXhpbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICIlcyBkaXNrIGLDtmzDvG3DvG5lIHlhemFya2VuIGhhdGEgb2x1xZ90dVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgInRoZSB1c2VyJ3Mgc2VjdXJpdHkgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorIywgZnV6enkKK21zZ2lkICJTZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIkxpbnV4IHNhbHRtZXRpbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBydW4gYnkgdGhlIHVzZXIiCittc2dzdHIgImF6YW1pIGLDtmzDvHQgc2F5xLFzxLEgPSAlbHVcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAiUnVubmluZyBwcm9jZXNzZXMiCittc2dzdHIgIiVzOiBcIiVzXCIgc8O8cmVjaSBidWx1bmFtxLF5b3JcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyODggbWlzYy11dGlscy9maW5kbW50LmM6MTM2IG1pc2MtdXRpbHMvbHNibGsuYzoyMzEKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBjb2x1bW5zIHNwZWNpZmllZCwgdGhlIGxpbWl0IGlzICV6dSBjb2x1bW5zIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQzIHN5cy11dGlscy9sc2lwYy5jOjQ1NgorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB0aW1lIHR5cGUiCittc2dzdHIgIiVzOiBiaWxpbm1leWVuIGFyZ8O8bWFuOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY29tcG9zZSB0aW1lIHN0cmluZyIKK21zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6NjQ4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzEKKyMsIGZ1enp5Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVua25vd24gY29sdW1uIgorbXNnc3RyICJpw6cgaGF0YSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDc1IHN5cy11dGlscy9sc2lwYy5jOjUwMyBzeXMtdXRpbHMvbHNpcGMuYzo2MjUKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY4MCBzeXMtdXRpbHMvbHNpcGMuYzo4Mzggc3lzLXV0aWxzL2xzaXBjLmM6MTAzNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGRhdGEiCittc2dzdHIgIiVzIGR1cnVtIGJpbGdpbGVyaSBhbMSxbmFtxLF5b3IiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTE2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxhc3QgbG9nczpcbiIKK21zZ3N0ciAiU29uIGdpcmnFnzogJS4qcyAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyOCBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMSBtaXNjLXV0aWxzL21jb29raWUuYzo4MiBtaXNjLXV0aWxzL3V1aWRkLmM6NzAKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI1IHN5cy11dGlscy9kbWVzZy5jOjI2NCBzeXMtdXRpbHMvaXBjbWsuYzo2NgorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2MCBzeXMtdXRpbHMvbHNpcGMuYzoyNzcgc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA0CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjk1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MCB0ZXh0LXV0aWxzL2xpbmUuYzozMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICJLdWxsYW7EsW3EsTogJXMgW3Nlw6dlbmVrbGVyXSBheWfEsXQgLi4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzMQorbXNnaWQgIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQga25vd24gdXNlcnMgaW4gdGhlIHN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzQKK21zZ2lkICIgLWEsIC0tYWNjLWV4cGlyYXRpb24gICAgIGRpc3BsYXkgaW5mbyBhYm91dCBwYXNzd29yZHMgZXhwaXJhdGlvblxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNQorbXNnaWQgIiAtYywgLS1jb2xvbi1zZXBhcmF0ZSAgICAgZGlzcGxheSBkYXRhIGluIGEgZm9ybWF0IHNpbWlsYXIgdG8gL2V0Yy9wYXNzd2RcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzYgc3lzLXV0aWxzL2xzaXBjLmM6Mjk2CisjLCBmdXp6eQorbXNnaWQgIiAtZSwgLS1leHBvcnQgICAgICAgICAgICAgZGlzcGxheSBpbiBhbiBleHBvcnQtYWJsZSBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM3CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAgZGlzcGxheSBkYXRhIGFib3V0IHRoZSB1c2VycycgbGFzdCBmYWlsZWQgbG9naW5zXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOb3JtYWxkZSB2ZXJpbGVuIMOnxLFrdMSxIHZlcmlsbWV6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgZ3JvdXBzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM5Cittc2dpZCAiIC1nLCAtLWdyb3Vwcz08Z3JvdXBzPiAgICBkaXNwbGF5IHVzZXJzIGJlbG9uZ2luZyB0byBhIGdyb3VwIGluIDxncm91cHM+XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQwCisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1sYXN0ICAgICAgICAgICAgICAgc2hvdyBpbmZvIGFib3V0IHRoZSB1c2VycycgbGFzdCBsb2dpbiBzZXNzaW9uc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgIMOHxLFrdMSxIHTEsXJuYWsgacOnaW5lIGFsxLFubWF6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9naW5zPTxsb2dpbnM+ICAgIGRpc3BsYXkgb25seSB1c2VycyBmcm9tIDxsb2dpbnM+XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOb3JtYWxkZSB2ZXJpbGVuIMOnxLFrdMSxIHZlcmlsbWV6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MiBzeXMtdXRpbHMvbHNpcGMuYzoyOTgKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ld2xpbmUgICAgICAgICAgICBkaXNwbGF5IGVhY2ggcGllY2Ugb2YgaW5mb3JtYXRpb24gb24gYSBuZXcgbGluZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MyBzeXMtdXRpbHMvbHNpcGMuYzoyOTEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgIMOHxLFrdMSxIHTEsXJuYWsgacOnaW5lIGFsxLFubWF6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NCBzeXMtdXRpbHMvbHNpcGMuYzoyOTIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBkb24ndCB0cnVuY2F0ZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAgIC1uICAgICAgICAgICAgICAgICAgZ2Vyw6dla3RlIGRpc2tlIHlhesSxbG1heiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0Wz08bGlzdD5dICAgIGRlZmluZSB0aGUgY29sdW1ucyB0byBvdXRwdXRcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPXPDp25rZGl6Z2VzaSAgICAgVGFuxLFuYWNhayBrxLFzYSBzZcOnZW5la2xlciBiZWxpcnRpbGlyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcHdkICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBsb2dpbiBieSBwYXNzd29yZC5cbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBTw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpclxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDcgc3lzLXV0aWxzL2xzaXBjLmM6MzAyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgZGlzcGxheSBpbiByYXcgbW9kZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm9ybWFsZGUgdmVyaWxlbiDDp8Sxa3TEsSB2ZXJpbG1lelxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDgKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICBkaXNwbGF5IHN5c3RlbSBhY2NvdW50c1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm9ybWFsZGUgdmVyaWxlbiDDp8Sxa3TEsSB2ZXJpbG1lelxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDkgc3lzLXV0aWxzL2xzaXBjLmM6MjkzCittc2dpZCAiICAgICAtLXRpbWUtZm9ybWF0PTx0eXBlPiBkaXNwbGF5IGRhdGVzIGluIHNob3J0LCBmdWxsIG9yIGlzbyBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTAKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzZXItYWNjcyAgICAgICAgICBkaXNwbGF5IHVzZXIgYWNjb3VudHNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vcm1hbGRlIHZlcmlsZW4gw6fEsWt0xLEgdmVyaWxtZXpcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUxCisjLCBmdXp6eQorbXNnaWQgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgZGlzcGxheSBTRUxpbnV4IGNvbnRleHRzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOb3JtYWxkZSB2ZXJpbGVuIMOnxLFrdMSxIHZlcmlsbWV6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MgorIywgZnV6enkKK21zZ2lkICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgIGRlbGltaXQgdXNlciBlbnRyaWVzIHdpdGggYSBudWwgY2hhcmFjdGVyXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUzCittc2dpZCAiICAgICAtLXd0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIHd0bXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTQKK21zZ2lkICIgICAgIC0tYnRtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3IgYnRtcFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1OSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ3IHN5cy11dGlscy9sc2NwdS5jOjE5NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1uczpcbiIKK21zZ3N0ciAiTcO8bWvDvG4ga29tdXRsYXI6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ0MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVxdWVzdCBzZWxpbnV4IHN0YXRlIgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDU2IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ2MAorbXNnaWQgIk9ubHkgb25lIHVzZXIgbWF5IGJlIHNwZWNpZmllZC4gVXNlIC1sIGZvciBtdWx0aXBsZSB1c2Vycy4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NDkgbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTUKKyMsIGZ1enp5Cittc2dpZCAiY291bGQgbm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICIlcyB1enVubHXEn3UgYWzEsW5hbcSxeW9yIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo1NworIywgZnV6enkKK21zZ2lkICJnZXRsaW5lKCkgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBiYcWfYXLEsXPEsXoiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE0OAorbXNnaWQgIlBhc3N3b3JkOiAiCittc2dzdHIgIlBhcm9sYTogIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNTQgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMDUKKyMsIGZ1enp5Cittc2dpZCAiY3J5cHQgZmFpbGVkIgorbXNnc3RyICJiZWxsZWsgYXlyxLFsYW1hZMSxIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Z3JvdXA+XG4iCittc2dzdHIgIm5ld2dycDogQsO2eWxlIGJpciBncnVwIHlvay4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE2OQorbXNnaWQgIkxvZyBpbiB0byBhIG5ldyBncm91cC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMDcKKyMsIGZ1enp5Cittc2dpZCAid2hvIGFyZSB5b3U/IgorbXNnc3RyICJuZXdncnA6IFNpeiBraW0gc2luaXo/IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTEgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjIzIHN5cy11dGlscy9uc2VudGVyLmM6NDIzCisjLCBmdXp6eQorbXNnaWQgInNldGdpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGJhxZ9hcsSxc8SxeiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjE2IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxOAorIywgZnV6enkKK21zZ2lkICJubyBzdWNoIGdyb3VwIgorbXNnc3RyICJuZXdncnA6IELDtnlsZSBiaXIgZ3J1cCB5b2suIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjEgc3lzLXV0aWxzL21vdW50LmM6NDkxCisjLCBmdXp6eQorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIgorbXNnc3RyICJtb3VudDogZXJpxZ9pbSBlbmdlbGxlbmRpIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjcgc3lzLXV0aWxzL25zZW50ZXIuYzo0MjUKKyMsIGZ1enp5Cittc2dpZCAic2V0dWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgYmHFn2FyxLFzxLF6IgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjkKK21zZ2lkICJQb2xpdGVseSByZWZ1c2UgYSBsb2dpbi5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoaXMgYWNjb3VudCBpcyBjdXJyZW50bHkgbm90IGF2YWlsYWJsZS5cbiIKK21zZ3N0ciAiQnUgZGlzayDFn3UgYW4ga3VsbGFuxLFsxLF5b3IuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjI5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gc2Vzc2lvbjogJXMiCittc2dzdHIgIiVzIGHDp8SxbGFtxLF5b3IiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMwNAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGNoaWxkIHByb2Nlc3MiCittc2dzdHIgImtpbWxpayAlcyBrYWxkxLFyxLFsYW3EsXlvciAoJXMpXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIm5hbWVpOiDDp2FsxLHFn8SxbGFuIGRpemluZSBnZcOnaWxlbWl5b3IgLSAlc1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMjEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGJsb2NrIHNpZ25hbHMiCittc2dzdHIgIiclcycgZG9zeWFzxLEgYcOnxLFsYW3EsXlvciIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzM1IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM0MworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzQ5IG1pc2MtdXRpbHMvdXVpZGQuYzo0MDcgdGVybS11dGlscy9zY3JpcHQuYzo3NzEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAic2lueWFsIHlha2FsYXnEsWPEsSBheWFybGFuYW3EsXlvciIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Mzc0Cittc2dpZCAiIChjb3JlIGR1bXBlZCkiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQsIGtpbGxpbmcgc2hlbGwuLi4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NDA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLi4ua2lsbGVkLlxuIgorbXNnc3RyICJlcmnFn2ltIGJhxZ9hcsSxc8SxeiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NDg2Cittc2dpZCAibWF5IG5vdCBiZSB1c2VkIGJ5IG5vbi1yb290IHVzZXJzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjUxNAorIywgZnV6enkKK21zZ2lkICJpbmNvcnJlY3QgcGFzc3dvcmQiCittc2dzdHIgIlBhcm9sYSB5YW5sxLHFny4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjU5OAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwcyIKK21zZ3N0ciAibW91bnQ6IGjEsXogYXlhcmxhbmFtxLF5b3I6ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2MTMgc3lzLXV0aWxzL2VqZWN0LmM6NjY1CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXAgaWQiCittc2dzdHIgIm1vdW50OiBoxLF6IGF5YXJsYW5hbcSxeW9yOiAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjE1IHN5cy11dGlscy9lamVjdC5jOjY2OAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHVzZXIgaWQiCittc2dzdHIgIm1vdW50OiBoxLF6IGF5YXJsYW5hbcSxeW9yOiAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC11IDx1c2VyPiBbWy0tXSA8Y29tbWFuZD5dXG4iCittc2dzdHIgImt1bGxhbsSxbcSxOiBuYW1laSBbLW14XSBkb3N5YVlvbHUgW2Rvc3lhWW9sdSAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY4OSBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJrdWxsYW7EsW3EsTogJXMgcHJvZ3JhbSBbYXJnIC4uLl1cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjkwCittc2dpZCAiIgorIlxuIgorIlJ1biA8Y29tbWFuZD4gd2l0aCB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIG9mIDx1c2VyPi4gIElmIC11IGlzXG4iCisibm90IGdpdmVuLCBmYWxsIGJhY2sgdG8gc3UoMSktY29tcGF0aWJsZSBzZW1hbnRpY3MgYW5kIGV4ZWN1dGUgc3RhbmRhcmQgc2hlbGwuXG4iCisiVGhlIG9wdGlvbnMgLWMsIC1mLCAtbCwgYW5kIC1zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtdS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2OTcKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzZXIgPHVzZXI+ICAgICAgICAgICAgIHVzZXJuYW1lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzAyCittc2dpZCAiIgorIlxuIgorIkNoYW5nZSB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIHRvIHRoYXQgb2YgPHVzZXI+LlxuIgorIkEgbWVyZSAtIGltcGxpZXMgLWwuICBJZiA8dXNlcj4gaXMgbm90IGdpdmVuLCByb290IGlzIGFzc3VtZWQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzA5Cittc2dpZCAiIC1tLCAtcCwgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCAgZG8gbm90IHJlc2V0IGVudmlyb25tZW50IHZhcmlhYmxlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMAorbXNnaWQgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICAgICAgICAgIHNwZWNpZnkgdGhlIHByaW1hcnkgZ3JvdXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTEKK21zZ2lkICIiCisiIC1HLCAtLXN1cHAtZ3JvdXAgPGdyb3VwPiAgICAgICAgc3BlY2lmeSBhIHN1cHBsZW1lbnRhbCBncm91cFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMworIywgZnV6enkKK21zZ2lkICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgQnUgeWFyZMSxbSBpbGV0aXNpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxNAorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgICAgICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxNQorIywgZnV6enkKK21zZ2lkICIiCisiIC0tc2Vzc2lvbi1jb21tYW5kIDxjb21tYW5kPiAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZG8gbm90IGNyZWF0ZSBhIG5ldyBzZXNzaW9uXG4iCittc2dzdHIgIiBCw7Zsw7xtICAgICAgICAgxLBsayAgICAgICAgICBTb24gICAgICAgICAgICAgIFNla3TDtnIgICAgRG9zeWFcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE3CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgIHBhc3MgLWYgdG8gdGhlIHNoZWxsIChmb3IgY3NoIG9yIHRjc2gpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE4CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHJ1biA8c2hlbGw+IGlmIC9ldGMvc2hlbGxzIGFsbG93cyBpdFxuIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsPWthYnVrVMO8csO8ICAgICAgICAgS3VsbGFuxLFsYWNhayBrYWJ1ayB0w7xyw7wgYmVsaXJ0aWxpclxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwIGlzIG5vdCBwb3NzaWJsZSIKK21zZ2lkX3BsdXJhbCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwcyBpcyBub3QgcG9zc2libGUiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImdyb3VwICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIlczogXCIlc1wiIHlvay5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODg2Cittc2dpZCAiaWdub3JpbmcgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg5NworbXNnaWQgIm9wdGlvbnMgLS17c2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbn0gYW5kIC0tdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkwMQorIywgZnV6enkKK21zZ2lkICJubyBjb21tYW5kIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgIi0tZGF0ZSBzZcOnZW5lxJ9pIGJlbGlydGlsbWVtacWfLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5MTUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHNwZWNpZnkgYWx0ZXJuYXRpdmUgZ3JvdXBzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXNlciAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiJXM6IFwiJXNcIiB5b2suXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyByZXN0cmljdGVkIHNoZWxsICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIm5hbWVpOiDDp2FsxLHFn8SxbGFuIGRpemluZSBnZcOnaWxlbWl5b3IgLSAlc1xuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTMwCisjLCBmdXp6eQorbXNnaWQgInRjZ2V0YXR0ciBmYWlsZWQiCittc2dzdHIgImVyacWfaW0gYmHFn2FyxLFzxLF6IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MjA3CisjLCBmdXp6eQorbXNnaWQgInRjc2V0YXR0ciBmYWlsZWQiCittc2dzdHIgImVyacWfaW0gYmHFn2FyxLFzxLF6IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiJXM6IG9rdS95YXogacOnaW4gYcOnxLFrIGRlxJ9pbCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290IgorbXNnc3RyICIlczogb2t1L3lheiBpw6dpbiBhw6fEsWsgZGXEn2lsIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcm9vdCBwYXNzd29yZCBnYXJibGVkIgorbXNnc3RyICIlczogcGFyb2xhIGRvc3lhc8SxIG1lxZ9ndWwuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkNhbm5vdCBvcGVuIGFjY2VzcyB0byBjb25zb2xlLCB0aGUgcm9vdCBhY2NvdW50IGlzIGxvY2tlZC5cbiIKKyJTZWUgc3Vsb2dpbig4KSBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLlxuIgorIlxuIgorIlByZXNzIEVudGVyIHRvIGNvbnRpbnVlLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbG9naW46ICIKK21zZ3N0ciAiJXM6IHBhcm9sYSBkb3N5YXPEsSBtZcWfZ3VsLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbG9naW46ICIKK21zZ3N0ciAiJXM6IHBhcm9sYSBkb3N5YXPEsSBtZcWfZ3VsLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAiJXM6IHBhcm9sYSBkb3N5YXPEsSBtZcWfZ3VsLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIob3IgcHJlc3MgQ29udHJvbC1EIHRvIGNvbnRpbnVlKTogIgorbXNnc3RyICJHZXLDp2VrdGVuIGRldmFtIGV0bWVrIGlzdGl5b3IgbXVzdW51ej8iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3NDIKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSB0byBzeXN0ZW0gcm9vdCBmYWlsZWQiCittc2dzdHIgImVyacWfaW0gYmHFn2FyxLFzxLF6IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzkxCisjLCBmdXp6eQorbXNnaWQgInNldGV4ZWNjb24gZmFpbGVkIgorbXNnc3RyICLDp2FsxLHFn3TEsXJtYSBiYcWfYXLEsXPEsXpcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbdHR5IGRldmljZV1cbiIKK21zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFtzZcOnZW5la2xlcl0gYXlnxLF0IC4uLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODE0Cittc2dpZCAiU2luZ2xlLXVzZXIgbG9naW4uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxNworbXNnaWQgIiIKKyIgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgIHN0YXJ0IGEgbG9naW4gc2hlbGxcbiIKKyIgLXQsIC0tdGltZW91dCA8c2Vjb25kcz4gIG1heCB0aW1lIHRvIHdhaXQgZm9yIGEgcGFzc3dvcmQgKGRlZmF1bHQ6IG5vIGxpbWl0KVxuIgorIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAgZXhhbWluZSBwYXNzd29yZCBmaWxlcyBkaXJlY3RseSBpZiBnZXRwd25hbSgzKSBmYWlsc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4NzEgbWlzYy11dGlscy9maW5kbW50LmM6MTQ2MyBzeXMtdXRpbHMvd2RjdGwuYzo1MjMKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzUwIHRlcm0tdXRpbHMvd2FsbC5jOjEzNQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQiCittc2dzdHIgImtpbWxpayBnZcOnZXJzaXoiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4OTMKKyMsIGZ1enp5Cittc2dpZCAib25seSBzdXBlcnVzZXIgY2FuIHJ1biB0aGlzIHByb2dyYW0iCittc2dzdHIgIm1vdW50OiBidW51IHNhZGVjZSByb290IHlhcGFiaWxpciIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkzNgorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBjb25zb2xlIgorbXNnc3RyICIlcyBhw6fEsWxhbcSxeW9yIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTQzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIHBhc3N3b3JkIGRhdGFiYXNlIgorbXNnc3RyICJtb3VudDogaMSxeiBheWFybGFuYW3EsXlvcjogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2FuIG5vdCBleGVjdXRlIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIiVzIMOnYWzEscWfdMSxcsSxbGFtxLF5b3I6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDI3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJUaW1lZCBvdXRcbiIKKyJcbiIKK21zZ3N0ciAiemFtYW4gYcWfxLFtxLEiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDU5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJDYW4gbm90IHdhaXQgb24gc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiJXMgw6dhbMSxxZ90xLFyxLFsYW3EsXlvcjogJXNcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxNzYgdGV4dC11dGlscy90YWlsZi5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE4NSB0ZXh0LXV0aWxzL3RhaWxmLmM6MTczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgaW5vdGlmeSBldmVudHMiCittc2dzdHIgIiVzOiAlcyBhw6fEsWxhbcSxeW9yXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjQ2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjUxCittc2dpZCAiRXh0cmFuZW91cyBuZXdsaW5lIGluIGZpbGUuIEV4aXRpbmcuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlbmFtZV1cbiIKK21zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFtzZcOnZW5la2xlcl0gYXlnxLF0IC4uLlxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMgorbXNnaWQgIkR1bXAgVVRNUCBhbmQgV1RNUCBmaWxlcyBpbiByYXcgZm9ybWF0LlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE1CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb2xsb3cgICAgICAgICBvdXRwdXQgYXBwZW5kZWQgZGF0YSBhcyB0aGUgZmlsZSBncm93c1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgIMOHxLFrdMSxIHTEsXJuYWsgacOnaW5lIGFsxLFubWF6XG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE2Cittc2dpZCAiIC1yLCAtLXJldmVyc2UgICAgICAgIHdyaXRlIGJhY2sgZHVtcGVkIGRhdGEgaW50byB1dG1wIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxNworbXNnaWQgIiAtbywgLS1vdXRwdXQgPGZpbGU+ICB3cml0ZSB0byBmaWxlIGluc3RlYWQgb2Ygc3RhbmRhcmQgb3V0cHV0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODQKK21zZ2lkICJmb2xsb3dpbmcgc3RhbmRhcmQgaW5wdXQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCB1bmR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIGR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTQxCisjLCBmdXp6eQorbXNnaWQgImNhbid0IG9wZW4gdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIiVzOiBnZcOnaWNpIGRvc3lhIGHDp8SxbGFtxLF5b3IuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjcmVhdGUgYSBsaW5rIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6ICVzICAlcyBvbGFyYWsgZGXEn2nFn3RpcmlsZW1lZGk6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IGdldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiJXM6ICVzIGnDp2luIGJhxJ9sYW0gYWzEsW5hbcSxeW9yIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBzZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIiVzOiAlcyBpw6dpbiBiYcSfbGFtIGJlbGlybGVuZW1peW9yIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmNoYW5nZWQiCittc2dzdHIgIiVzOiAlcyBkZcSfacWfbWVkaVxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjU0CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgbG9jayIKK21zZ3N0ciAiYXN0IHPDvHJlw6cgb2x1xZ90dXJ1bGFtxLF5b3IiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyODEKKyMsIGZ1enp5Cittc2dpZCAibm8gY2hhbmdlcyBtYWRlIgorbXNnc3RyICIlczogeWFwxLFsYW4gZGXEn2nFn2lrbGlrIHlva1xuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjkwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjaG1vZCBmaWxlIgorbXNnc3RyICInJXMnIGRvc3lhc8SxIGHDp8SxbGFtxLF5b3IiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozMDQKK21zZ2lkICJFZGl0IHRoZSBwYXNzd29yZCBvciBncm91cCBmaWxlLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTAKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBncm91cHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIkJ1IHNpc3RlbWRlIGfDtmxnZSBncnVwbGFyIGt1bGxhbsSxbMSxeW9yLlxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzUxCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgcGFzc3dvcmRzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICJCdSBzaXN0ZW1kZSBnw7ZsZ2UgcGFyb2xhbGFyIGt1bGxhbsSxbMSxeW9yLlxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhpcyBwcm9ncmFtIHVzZXMgZm9yIHkgYW5kIG4gcnBtYXRjaCgzKSwKKyMuICogd2hpY2ggbWVhbnMgdGhleSBjYW4gYmUgdHJhbnNsYXRlZC4KKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV291bGQgeW91IGxpa2UgdG8gZWRpdCAlcyBub3cgW3kvbl0/ICIKK21zZ3N0ciAiJXMgZG9zeWFzxLFuxLEgxZ9pbWRpIGTDvHplbmxlbWVrIGlzdGVyIG1pc2luaXogW2UvaF0/ICIKKworIzogbWlzYy11dGlscy9jYWwuYzozNzIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBtb250aCBhcmd1bWVudCIKK21zZ3N0ciAia2ltbGlrIGdlw6dlcnNpeiIKKworIzogbWlzYy11dGlscy9jYWwuYzozODAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB3ZWVrIGFyZ3VtZW50IgorbXNnc3RyICJraW1saWsgZ2XDp2Vyc2l6IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjM4MgorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHVzZSAxLTU0IgorbXNnc3RyICJ5xLFsIGRlxJ9lcmkga3VyYWxkxLHFn8SxOiAxLTk5OTkgYXJhc8SxbmRhIG9sbWFsxLEiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZXN0YW1wIG9yIHVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQzMQorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZSIKK21zZ3N0ciAiS2FmYSBzYXnEsXPEsSBrdXJhbGTEscWfxLEiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDMzIG1pc2MtdXRpbHMvY2FsLmM6NDU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZTogdXNlIDEtJWQiCittc2dzdHIgInnEsWwgZGXEn2VyaSBrdXJhbGTEscWfxLE6IDEtOTk5OSBhcmFzxLFuZGEgb2xtYWzEsSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MzcgbWlzYy11dGlscy9jYWwuYzo0NDUKK21zZ2lkICJpbGxlZ2FsIG1vbnRoIHZhbHVlOiB1c2UgMS0xMiIKK21zZ3N0ciAiYXkgbnVtYXJhc8SxIGt1cmFsZMSxxZ/EsTogMS4uMTIgYXJhc8SxbmRhIG9sbWFsxLEiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICJsb2dnZXI6IGJpbGlubWV5ZW4gw7ZuY2VsaWsgaXNtaTogJXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDQ4IG1pc2MtdXRpbHMvY2FsLmM6NDUyCisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZSIKK21zZ3N0ciAiS2FmYSBzYXnEsXPEsSBrdXJhbGTEscWfxLEiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDUwCisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZTogdXNlIHBvc2l0aXZlIGludGVnZXIiCittc2dzdHIgInnEsWwgZGXEn2VyaSBrdXJhbGTEscWfxLE6IDEtOTk5OSBhcmFzxLFuZGEgb2xtYWzEsSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0ODIgbWlzYy11dGlscy9jYWwuYzo0OTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogeWVhciAlZCBkb2Vzbid0IGhhdmUgd2VlayAlZCIKK21zZ3N0ciAiecSxbCBkZcSfZXJpIGt1cmFsZMSxxZ/EsTogMS05OTk5IGFyYXPEsW5kYSBvbG1hbMSxIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlMDRkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAlMDRkIgorbXNnc3RyICIlcyAlZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW1tbZGF5XSBtb250aF0geWVhcl1cbiIKK21zZ3N0ciAia3VsbGFuxLFtxLE6IGNhbCBbLTEzc21qeVZdIFtbYXldIHnEsWxdXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx0aW1lc3RhbXB8bW9udGhuYW1lPlxuIgorbXNnc3RyICJLdWxsYW7EsW3EsTogJXMgW3Nlw6dlbmVrbGVyXSBheWfEsXQgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk3Cittc2dpZCAiRGlzcGxheSBhIGNhbGVuZGFyLCBvciBzb21lIHBhcnQgb2YgaXQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTgKK21zZ2lkICJXaXRob3V0IGFueSBhcmd1bWVudHMsIGRpc3BsYXkgdGhlIGN1cnJlbnQgbW9udGguXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDAxCisjLCBmdXp6eQorbXNnaWQgIiAtMSwgLS1vbmUgICAgICAgICAgICAgc2hvdyBvbmx5IGEgc2luZ2xlIG1vbnRoIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgIMOHxLFrdMSxIHTEsXJuYWsgacOnaW5lIGFsxLFubWF6XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMgorIywgZnV6enkKK21zZ2lkICIgLTMsIC0tdGhyZWUgICAgICAgICAgIHNob3cgdGhyZWUgbW9udGhzIHNwYW5uaW5nIHRoZSBkYXRlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDAzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1tb250aHMgPG51bT4gICAgc2hvdyBudW0gbW9udGhzIHN0YXJ0aW5nIHdpdGggZGF0ZSdzIG1vbnRoXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA0CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zcGFuICAgICAgICAgICAgc3BhbiB0aGUgZGF0ZSB3aGVuIGRpc3BsYXlpbmcgbXVsdGlwbGUgbW9udGhzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOb3JtYWxkZSB2ZXJpbGVuIMOnxLFrdMSxIHZlcmlsbWV6XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNQorbXNnaWQgIiAtcywgLS1zdW5kYXkgICAgICAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA2Cittc2dpZCAiIC1tLCAtLW1vbmRheSAgICAgICAgICBNb25kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDcKKyMsIGZ1enp5Cittc2dpZCAiIC1qLCAtLWp1bGlhbiAgICAgICAgICBvdXRwdXQgSnVsaWFuIGRhdGVzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA4CisjLCBmdXp6eQorbXNnaWQgIiAteSwgLS15ZWFyICAgICAgICAgICAgc2hvdyB0aGUgd2hvbGUgeWVhclxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwOQorIywgZnV6enkKK21zZ2lkICIgLVksIC0tdHdlbHZlICAgICAgICAgIHNob3cgdGhlIG5leHQgdHdlbHZlIG1vbnRoc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAxMAorbXNnaWQgIiAtdywgLS13ZWVrWz08bnVtPl0gICAgc2hvdyBVUyBvciBJU08tODYwMSB3ZWVrIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMTEKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbHVlPlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MzIKKyMsIGZ1enp5Cittc2dpZCAiRmluZCBhIGZpbGVzeXN0ZW0gYnkgbGFiZWwgb3IgVVVJRC5cbiIKK21zZ3N0ciAiJXMgacOnaW4gZG9zeWEgc2lzdGVtaSBkZW5ldGltaSDFn2FydC5cbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzo2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgJyVzJyIKK21zZ3N0ciAiJXMgYcOnxLFsYW3EsXlvciIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6OTkKKyMsIGZ1enp5Cittc2dpZCAic291cmNlIGRldmljZSIKK21zZ3N0ciAiYmxvayBheWfEsXTEsSAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMAorbXNnaWQgIm1vdW50cG9pbnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxIG1pc2MtdXRpbHMvbHNibGsuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJEb3N5YSBzaXN0ZW1pIHTDvHLDvG7DvCB2ZXJpbjogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAiYWxsIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDMKK21zZ2lkICJWRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAiRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAia3VsbGFuxLHFn2zEsSBzZcOnZW5la2xlcjoiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNQorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIGxhYmVsIgorbXNnc3RyICJEb3N5YSBzaXN0ZW1pIHTDvHLDvG7DvCB2ZXJpbjogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDYgbWlzYy11dGlscy9sc2Jsay5jOjE2NAorbXNnaWQgImZpbGVzeXN0ZW0gVVVJRCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIGxhYmVsIgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCBudW1hcmFzxLEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOSBtaXNjLXV0aWxzL2xzYmxrLmM6MTYwCittc2dpZCAibWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTAKK21zZ2lkICJhY3Rpb24gZGV0ZWN0ZWQgYnkgLS1wb2xsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMQorbXNnaWQgIm9sZCBtb3VudCBvcHRpb25zIHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTIKK21zZ2lkICJvbGQgbW91bnRwb2ludCBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEzCisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSIKK21zZ3N0ciAiRG9zeWEgc2lzdGVtaSB0w7xyw7xuw7wgdmVyaW46ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE0CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSBhdmFpbGFibGUiCittc2dzdHIgIkRvc3lhIHNpc3RlbWkgdMO8csO8bsO8IHZlcmluOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNQorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgdXNlZCIKK21zZ3N0ciAiRG9zeWEgc2lzdGVtaSB0w7xyw7xuw7wgdmVyaW46ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE2CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIkRvc3lhIHNpc3RlbWkgdMO8csO8bsO8IHZlcmluOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNworIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHJvb3QiCittc2dzdHIgIkRvc3lhIHNpc3RlbWkgdMO8csO8bsO8IHZlcmluOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOAorbXNnaWQgInRhc2sgSUQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5CisjLCBmdXp6eQorbXNnaWQgIm1vdW50IElEIgorbXNnc3RyICJuc2F5xLFzxLEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMAorIywgZnV6enkKK21zZ2lkICJvcHRpb25hbCBtb3VudCBmaWVsZHMiCittc2dzdHIgIm1vdW50OiBiYcSfbGFuYW1hZMSxIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEKKyMsIGZ1enp5Cittc2dpZCAiVkZTIHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICIiCisiXG4iCisiJWQgZGlzayBiw7Zsw7xtw7w6XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMgorbXNnaWQgImR1bXAoOCkgcGVyaW9kIGluIGRheXMgW2ZzdGFiIG9ubHldIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMworbXNnaWQgInBhc3MgbnVtYmVyIG9uIHBhcmFsbGVsIGZzY2soOCkgW2ZzdGFiIG9ubHldIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhY3Rpb246ICVzIgorbXNnc3RyICIlczogQmlsaW5tZXllbiBrb211dDogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQzCisjLCBmdXp6eQorbXNnaWQgIm1vdW50IgorbXNnc3RyICJuc2F5xLFzxLEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0NgorIywgZnV6enkKK21zZ2lkICJ1bW91bnQiCittc2dzdHIgIm5zYXnEsXPEsSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ5CisjLCBmdXp6eQorbXNnaWQgInJlbW91bnQiCittc2dzdHIgIiVjIG9rdW5kdVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTIKKyMsIGZ1enp5Cittc2dpZCAibW92ZSIKK21zZ3N0ciAiIFNpbGluc2luIG1pPyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODEyIG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNzUgc3lzLXV0aWxzL2VqZWN0LmM6NzE5CisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NjkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFibGUiCittc2dzdHIgIlRhbXBvbiBheXLEsWxhbWFkxLEuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjgzOSB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCAlcyIKK21zZ3N0ciAiJXM6ICVzIG9rdW5hbcSxeW9yLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDE1IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODEKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo5NCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDgyCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTg3IHN5cy11dGlscy9tb3VudC5jOjEzNCBzeXMtdXRpbHMvbW91bnQuYzoxODIKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6NTYgc3lzLXV0aWxzL3N3YXBvZmYuYzoxNTUgc3lzLXV0aWxzL3N3YXBvbi5jOjI0NAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI3NCBzeXMtdXRpbHMvc3dhcG9uLmM6NzMzIHN5cy11dGlscy91bW91bnQuYzoyNzQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgaXRlcmF0b3IiCittc2dzdHIgIlRhbXBvbiBheXLEsWxhbWFkxLEuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFiZGlmZiIKK21zZ3N0ciAiVGFtcG9uIGF5csSxbGFtYWTEsS5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExNQorIywgZnV6enkKK21zZ2lkICJwb2xsKCkgZmFpbGVkIgorbXNnc3RyICJiZWxsZWsgYXlyxLFsYW1hZMSxIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gfCA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZSA8ZGV2aWNlPl0gWy0tdGFyZ2V0IDxwYXRoPiB8IC0tbW91bnRwb2ludCA8ZGlyPl1cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk2CisjLCBmdXp6eQorbXNnaWQgIkZpbmQgYSAobW91bnRlZCkgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiRG9zeWEgc2lzdGVtaSB0w7xyw7xuw7wgdmVyaW46ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5OQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMAorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzZWFyY2ggaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIEJ1IHlhcmTEsW0gaWxldGlzaW5pIGfDtnN0ZXJpclxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAxCittc2dpZCAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIHNlYXJjaCBpbiBrZXJuZWwgdGFibGUgb2YgbW91bnRlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXN5c3RlbXMgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcG9sbFs9PGxpc3Q+XSAgICBtb25pdG9yIGNoYW5nZXMgaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgICBsICAgYmlsaW5lbiBkb3N5YSBzaXN0ZW1pIHTDvHJsZXJpbmkgbGlzdGVsZXIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDUKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8bnVtPiAgICB1cHBlciBsaW1pdCBpbiBtaWxsaXNlY29uZHMgdGhhdCAtLXBvbGwgd2lsbCBibG9ja1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDgKKyMsIGZ1enp5Cittc2dpZCAiIC1BLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgYnVpbHQtaW4gZmlsdGVycywgcHJpbnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgQnUgeWFyZMSxbSBpbGV0aXNpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDkKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFzY2lpICAgICAgICAgICAgdXNlIEFTQ0lJIGNoYXJzIGZvciB0cmVlIGZvcm1hdHRpbmdcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBTw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpclxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEwCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgIMOHxLFrdMSxIHTEsXJuYWsgacOnaW5lIGFsxLFubWF6XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTEKK21zZ2lkICIgLUMsIC0tbm9jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgd2hlbiBjb21wYXJpbmcgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEyCittc2dpZCAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEzCisjLCBmdXp6eQorbXNnaWQgIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRhdGUgdGhlIG91dHB1dCBvZiBkZigxKVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgIMOHxLFrdMSxIHTEsXJuYWsgacOnaW5lIGFsxLFubWF6XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTQKK21zZ2lkICIgLWQsIC0tZGlyZWN0aW9uIDx3b3JkPiBkaXJlY3Rpb24gb2Ygc2VhcmNoLCAnZm9yd2FyZCcgb3IgJ2JhY2t3YXJkJ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTUKK21zZ2lkICIiCisiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgY29udmVydCB0YWdzIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkZXZpY2UgbmFtZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE3Cittc2dpZCAiIC1GLCAtLXRhYi1maWxlIDxwYXRoPiAgYWx0ZXJuYXRpdmUgZmlsZSBmb3IgLXMsIC1tIG9yIC1rIG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE4CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIHByaW50IHRoZSBmaXJzdCBmb3VuZCBmaWxlc3lzdGVtIG9ubHlcbiIKK21zZ3N0ciAiICAgbCAgIGJpbGluZW4gZG9zeWEgc2lzdGVtaSB0w7xybGVyaW5pIGxpc3RlbGVyIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE5CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVydCB0aGUgc2Vuc2Ugb2YgbWF0Y2hpbmdcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBTw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpclxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIwIG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNyBzeXMtdXRpbHMvbHNucy5jOjYxOQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMSBzeXMtdXRpbHMvbHNucy5jOjYyMAorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOb3JtYWxkZSB2ZXJpbGVuIMOnxLFrdMSxIHZlcmlsbWV6XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjIKK21zZ2lkICIgLU4sIC0tdGFzayA8dGlkPiAgICAgICB1c2UgYWx0ZXJuYXRpdmUgbmFtZXNwYWNlICgvcHJvYy88dGlkPi9tb3VudGluZm8gZmlsZSlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGNvbHVtbiBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgIMOHxLFrdMSxIHTEsXJuYWsgacOnaW5lIGFsxLFubWF6XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjQKK21zZ2lkICIgLU8sIC0tb3B0aW9ucyA8bGlzdD4gICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IG1vdW50IG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI1CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIHRoZSBvdXRwdXQgY29sdW1ucyB0byBiZSBzaG93blxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9c8OnbmtkaXpnZXNpICAgICBUYW7EsW5hY2FrIGvEsXNhIHNlw6dlbmVrbGVyIGJlbGlydGlsaXJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNgorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNworIywgZnV6enkKK21zZ2lkICIgLVIsIC0tc3VibW91bnRzICAgICAgICBwcmludCBhbGwgc3VibW91bnRzIGZvciB0aGUgbWF0Y2hpbmcgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICDDh8Sxa3TEsSB0xLFybmFrIGnDp2luZSBhbMSxbm1helxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI4CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjkKK21zZ2lkICIiCisiIC1TLCAtLXNvdXJjZSA8c3RyaW5nPiAgdGhlIGRldmljZSB0byBtb3VudCAoYnkgbmFtZSwgbWFqOm1pbiwgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMQorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGFyZ2V0IDxwYXRoPiAgICB0aGUgcGF0aCB0byB0aGUgZmlsZXN5c3RlbSB0byB1c2VcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPXPDp25rZGl6Z2VzaSAgICAgVGFuxLFuYWNhayBrxLFzYSBzZcOnZW5la2xlciBiZWxpcnRpbGlyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzIKKyMsIGZ1enp5Cittc2dpZCAiIC1NLCAtLW1vdW50cG9pbnQgPGRpcj4gdGhlIG1vdW50cG9pbnQgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1zw6dua2Rpemdlc2kgICAgIFRhbsSxbmFjYWsga8Sxc2Egc2XDp2VuZWtsZXIgYmVsaXJ0aWxpclxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMzCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgRlMgdHlwZXNcbiIKK21zZ3N0ciAiICAgbCAgIGJpbGluZW4gZG9zeWEgc2lzdGVtaSB0w7xybGVyaW5pIGxpc3RlbGVyIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM0CisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11bmlxICAgICAgICAgICAgIGlnbm9yZSBmaWxlc3lzdGVtcyB3aXRoIGR1cGxpY2F0ZSB0YXJnZXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vcm1hbGRlIHZlcmlsZW4gw6fEsWt0xLEgdmVyaWxtZXpcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNSBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTMgc3lzLXV0aWxzL2xzbnMuYzo2MjUKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNgorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzOQorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tdmVyaWZ5ICAgICAgICAgICB2ZXJpZnkgbW91bnQgdGFibGUgY29udGVudCAoZGVmYXVsdCBpcyBmc3RhYilcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICDDh8Sxa3TEsSB0xLFybmFrIGnDp2luZSBhbMSxbm1helxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IG1vcmUgZGV0YWlsc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZGlyZWN0aW9uICclcyciCittc2dzdHIgIiVzIGRpemluaSB5b2shXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NDAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBUSUQgYXJndW1lbnQiCittc2dzdHIgImtpbWxpayBnZcOnZXJzaXo6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MDkKK21zZ2lkICItLXBvbGwgYWNjZXB0cyBvbmx5IG9uZSBmaWxlLCBidXQgbW9yZSBzcGVjaWZpZWQgYnkgLS10YWItZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTEzCittc2dpZCAib3B0aW9ucyAtLXRhcmdldCBhbmQgLS1zb3VyY2UgY2FuJ3QgYmUgdXNlZCB0b2dldGhlciB3aXRoIGNvbW1hbmQgbGluZSBlbGVtZW50IHRoYXQgaXMgbm90IGFuIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTYyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGNhY2hlIgorbXNnc3RyICJUYW1wb24gYXlyxLFsYW1hZMSxLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNvbHVtbiBpcyByZXF1ZXN0ZWQsIGJ1dCAtLXBvbGwgaXMgbm90IGVuYWJsZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExNgorIywgZnV6enkKK21zZ2lkICJ0YXJnZXQgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJEaXNrdGUgYnVsdW5hbiBzaWxpbmRpciBzYXnEsXPEsW5kYW4gYsO8ecO8ayBiaXIgc2F5xLEgYmVsaXJ0dGluaXoiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgb3JkZXI6ICVzIHNwZWNpZmllZCBiZWZvcmUgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzMworbXNnaWQgInVuZGVmaW5lZCB0YXJnZXQgKGZzX2ZpbGUpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWNhbm9uaWNhbCB0YXJnZXQgcGF0aCAocmVhbDogJXMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCB0YXJnZXQ6ICVtIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHRhcmdldDogJW0iCittc2dzdHIgIiVzIG9rdW5hbcSxeW9yXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTEKKyMsIGZ1enp5Cittc2dpZCAidGFyZ2V0IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAia8O2ayBkw7zEn8O8bcO8IGJpciBkaXppbiBkZcSfaWwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTMKK21zZ2lkICJ0YXJnZXQgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCBzb3VyY2U6ICVzPSVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlOiAlcz0lcyIKK21zZ3N0ciAiKFNvbnJha2kgZG9zeWE6ICVzKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM9JXMgdHJhbnNsYXRlZCB0byAlcyIKK21zZ3N0ciAiU2VrdMO2ciAlZCB6YXRlbiBrdWxsYW7EsW1kYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTkwCittc2dpZCAidW5kZWZpbmVkIHNvdXJjZSAoZnNfc3BlYykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc291cmNlIHRhZzogJXMiCittc2dzdHIgIiVzOiBiaWxpbm1leWVuIGFyZ8O8bWFuOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBzb3VyY2UgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHNvdXJjZTogJXM6ICVtIgorbXNnc3RyICInJXMnIGHDp8SxbGFtxLF5b3IiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJpbmQgbW91bnQgc291cmNlICVzIGlzIGEgZGlyZWN0b3J5IG9yIHJlZ3VsYXIgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogYmlyIGJsb2sgYXlnxLF0xLEgZGXEn2lsXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBleGlzdHMiCittc2dzdHIgImJsb2sgYXlnxLF0xLEgIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJWRlMgb3B0aW9uczogJXMiCittc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbc2XDp2VuZWtsZXJdIGF5Z8SxdCAuLi5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRlMgb3B0aW9uczogJXMiCittc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbc2XDp2VuZWtsZXJdIGF5Z8SxdCAuLi5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXNlcnNwYWNlIG9wdGlvbnM6ICVzIgorbXNnc3RyICJ0ZWhsaWtlbGkgc2XDp2VuZWtsZXI6IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzd2FwYXJlYSBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIiVzOiBiaWxpbm1leWVuIGFyZ8O8bWFuOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjYwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzd2FwYXJlYSBwcmlvcml0eSBvcHRpb24iCittc2dzdHIgIiVzIGRpc2sgYsO2bMO8bcO8bmUgeWF6YXJrZW4gaGF0YSBvbHXFn3R1XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIEZTIHR5cGUgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MDYKK21zZ2lkICJcIm5vbmVcIiBGUyB0eXBlIGlzIHJlY29tbWVuZGVkIGZvciBiaW5kIG9yIG1vdmUgb3ByYXRpb25zIG9ubHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICJtb3VudDogZG9zeWEgc2lzdGVtaSB0w7xyw7wgJXMgw6dla2lyZGVrIHRhcmFmxLFuZGFuIGRlc3Rla2xlbm1peW9yIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIwIG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGRldGVjdCBvbi1kaXNrIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAibW91bnQ6IGRvc3lhIHNpc3RlbWkgdMO8csO8ICclcycgYmlsaW5taXlvciIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBtYXRjaCB3aXRoIG9uLWRpc2sgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib24tZGlzayAlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIm1vdW50OiBkb3N5YSBzaXN0ZW1pIHTDvHLDvCAlcyDDp2VraXJkZWsgdGFyYWbEsW5kYW4gZGVzdGVrbGVubWl5b3IiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZTIHR5cGUgaXMgJXMiCittc2dzdHIgInTDvHLDvDogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWNvbW1lbmRlZCByb290IEZTIHBhc3NubyBpcyAxIChjdXJyZW50IGlzICVkKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCBwYXJzZSBlcnJvciIKK21zZ2lkX3BsdXJhbCAiJWQgcGFyc2UgZXJyb3JzIgorbXNnc3RyWzBdICJlcmnFn2ltIGhhdGFzxLEiCittc2dzdHJbMV0gImVyacWfaW0gaGF0YXPEsSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCAlZCBlcnJvciIKK21zZ2lkX3BsdXJhbCAiLCAlZCBlcnJvcnMiCittc2dzdHJbMF0gIiwgaGF0YSIKK21zZ3N0clsxXSAiLCBoYXRhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgd2FybmluZyIKK21zZ2lkX3BsdXJhbCAiLCAlZCB3YXJuaW5ncyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzcywgbm8gZXJyb3JzIG9yIHdhcm5pbmdzIGRldGVjdGVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzoyNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiRGFoYSBmYXpsYSBiaWxnaSBpw6dpbiBgZ2V0b3B0IC0taGVscCcgeWF6xLFuxLF6LlxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMwNAorbXNnaWQgImVtcHR5IGxvbmcgb3B0aW9uIGFmdGVyIC1sIG9yIC0tbG9uZyBhcmd1bWVudCIKK21zZ3N0ciAiLWwgeWEgZGEgLS1sb25nIGnDp2luIGFyZ8O8bWFuIG9sYXJhayB1enVuIHNlw6dlbmVrIHZlcmlsbWVtacWfIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMyNQorbXNnaWQgInVua25vd24gc2hlbGwgYWZ0ZXIgLXMgb3IgLS1zaGVsbCBhcmd1bWVudCIKK21zZ3N0ciAiLXMgeWEgZGEgLS1zaGVsbCBzZcOnZW5la2xlcmkgaWxlIGJlbGlydGlsZW4ga2FidWsgYmlsaW5taXlvciIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tXSA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLW98LS1vcHRpb25zIDxvcHRzdHJpbmc+IFtvcHRpb25zXSBbLS1dIDxwYXJhbWV0ZXJzPlxuIgorbXNnc3RyICIgICAgICAgZ2V0b3B0IFtzZcOnZW5la2xlcl0gLW98LS1vcHRpb25zIHNlw6dlbmVrLWRpemdlc2kgW3Nlw6dlbmVrbGVyXSBbLS1dXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzM4CisjLCBmdXp6eQorbXNnaWQgIlBhcnNlIGNvbW1hbmQgb3B0aW9ucy5cbiIKK21zZ3N0ciAiYCVzJyBzZcOnZW5lxJ9pIGJpbGlubWl5b3JcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIGFsbG93IGxvbmcgb3B0aW9ucyBzdGFydGluZyB3aXRoIHNpbmdsZSAtXG4iCittc2dzdHIgIiIKKyIgIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIHRlayAtIGlsZSBiYcWfbGF5YW4gdXp1biBzZcOnZW5la2xlcmUgaXppblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyaWxpclxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiAgdGhlIGxvbmcgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAgLWwsIC0tbG9uZ29wdGlvbnM9dXp1blNlw6duayAgIHRhbsSxbmFjYWsgdXp1biBzZcOnZW5layBiZWxpcnRpbGlyXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uYW1lIDxwcm9nbmFtZT4gICAgICAgICB0aGUgbmFtZSB1bmRlciB3aGljaCBlcnJvcnMgYXJlIHJlcG9ydGVkXG4iCittc2dzdHIgIiAgLW4sIC0tbmFtZT11eWdpc21pICAgICAgICAgICAgSGF0YWxhciBidSBpc2ltIGFsdMSxbmRhIHJhcG9ybGFuxLFyXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ0CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgICB0aGUgc2hvcnQgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1zw6dua2Rpemdlc2kgICAgIFRhbsSxbmFjYWsga8Sxc2Egc2XDp2VuZWtsZXIgYmVsaXJ0aWxpclxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NQorIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBlcnJvciByZXBvcnRpbmcgYnkgZ2V0b3B0KDMpXG4iCittc2dzdHIgIiAgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgZ2V0b3B0KDMpJ3VuIMO8cmV0dGnEn2kgaGF0YWxhciBnw7ZzdGVyaWxtZXpcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDYKKyMsIGZ1enp5Cittc2dpZCAiIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgIG5vIG5vcm1hbCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vcm1hbGRlIHZlcmlsZW4gw6fEsWt0xLEgdmVyaWxtZXpcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDcKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgIHNldCBxdW90aW5nIGNvbnZlbnRpb25zIHRvIHRob3NlIG9mIDxzaGVsbD5cbiIKK21zZ3N0ciAiICAtcywgLS1zaGVsbD1rYWJ1a1TDvHLDvCAgICAgICAgIEt1bGxhbsSxbGFjYWsga2FidWsgdMO8csO8IGJlbGlydGlsaXJcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDgKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIHRlc3QgZm9yIGdldG9wdCgxKSB2ZXJzaW9uXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgZ2V0b3B0KDEpIHPDvHLDvG3DvCBpw6dpbiB0ZXN0XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ5CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICBkbyBub3QgcXVvdGUgdGhlIG91dHB1dFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgIMOHxLFrdMSxIHTEsXJuYWsgacOnaW5lIGFsxLFubWF6XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6Mzk5IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDU5Cittc2dpZCAibWlzc2luZyBvcHRzdHJpbmcgYXJndW1lbnQiCittc2dzdHIgInNlw6dlbmVrLWRpemdlc2kgdmVyaWxtZW1pxZ8iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDU0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3IsIGNvbnRhY3QgdGhlIGF1dGhvci4iCittc2dzdHIgImnDpyBoYXRhLCB5YXphcmEgYmlsZGlyaW4uIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsICVzOyB2YWxpZCBzaWduYWxzOiIKK21zZ3N0ciAiJXM6ICVzIHNpbnlhbGkgYmlsaW5taXlvcjsgZ2XDp2VybGkgc2lueWFsbGVyOlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBpZD58PG5hbWU+Li4uXG4iCittc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbc2XDp2VuZWtsZXJdIGF5Z8SxdCAuLi5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzA1Cittc2dpZCAiRm9yY2libHkgdGVybWluYXRlIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDgKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IHRoZSBuYW1lLXRvLXBpZCBjb252ZXJzaW9uIHRvIHByb2Nlc3Nlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgc2FtZSB1aWQgYXMgdGhlIHByZXNlbnQgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMAorbXNnaWQgIiAtcywgLS1zaWduYWwgPHNpZ25hbD4gIHNlbmQgdGhpcyA8c2lnbmFsPiBpbnN0ZWFkIG9mIFNJR1RFUk1cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTIKK21zZ2lkICIgLXEsIC0tcXVldWUgPHZhbHVlPiAgICB1c2Ugc2lncXVldWUoMiksIG5vdCBraWxsKDIpLCBhbmQgcGFzcyA8dmFsdWU+IGFzIGRhdGFcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgcHJpbnQgcGlkcyB3aXRob3V0IHNpZ25hbGluZyB0aGVtXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE1Cittc2dpZCAiIC1sLCAtLWxpc3RbPTxzaWduYWw+XSAgbGlzdCBzaWduYWwgbmFtZXMsIG9yIGNvbnZlcnQgYSBzaWduYWwgbnVtYmVyIHRvIGEgbmFtZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNgorbXNnaWQgIiAtTCwgLS10YWJsZSAgICAgICAgICAgIGxpc3Qgc2lnbmFsIG5hbWVzIGFuZCBudW1iZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IHBpZHMgdGhhdCB3aWxsIGJlIHNpZ25hbGVkXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzY3IG1pc2MtdXRpbHMva2lsbC5jOjM3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWw6ICVzIgorbXNnc3RyICIlczogYmlsaW5tZXllbiBzaW55YWw6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM4NyBtaXNjLXV0aWxzL2tpbGwuYzozOTAgbWlzYy11dGlscy9raWxsLmM6Mzk5CisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MTEgbWlzYy11dGlscy9raWxsLmM6NDM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorIiVzOiAgLS1hZGp1c3QgdmUgLS1ub2FkamZpbGUgc2XDp2VuZWtsZXJpIGJpcmJpcml5bGUgw6dlbGnFn2lyLlxuIgorIlNpeiBpa2lzaW5pIGRlIGJlbGlydG1pxZ9zaW5pei5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6Mzk2IG1pc2MtdXRpbHMva2lsbC5jOjQzOCBtaXNjLXV0aWxzL3JlbmFtZS5jOjE3NAorIzogc3lzLXV0aWxzL2lwY3JtLmM6MTYwIHRlcm0tdXRpbHMvYWdldHR5LmM6Nzg5IHRlcm0tdXRpbHMvYWdldHR5LmM6Nzk4CisjLCBmdXp6eQorbXNnaWQgIm5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICLDh29rIGZhemxhIGFyZ8O8bWFuIGJlbGlydGlsZGkuXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uICclcycgcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgIiVzIGJpciBhcmfDvG1hbmxhIGt1bGxhbsSxbMSxclxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MTQgc3lzLXV0aWxzL2VqZWN0LmM6MjA1IHN5cy11dGlscy9lamVjdC5jOjIzMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2ODkgc3lzLXV0aWxzL3R1bmVscC5jOjE2MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTY4CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTc1IHN5cy11dGlscy90dW5lbHAuYzoxODIgc3lzLXV0aWxzL3R1bmVscC5jOjE4OQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE5NSBzeXMtdXRpbHMvdHVuZWxwLmM6MTk5IHN5cy11dGlscy90dW5lbHAuYzoyMDYKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyMzEgdGVybS11dGlscy9zZXR0ZXJtLmM6MjEzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxNgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTEgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk4CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMDAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzEyIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxNAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzIzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMzMSB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzYyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNzMgdGVybS11dGlscy9zZXR0ZXJtLmM6NTM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0MAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTQ1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NzQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU3OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODQgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg5CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTQgdGVybS11dGlscy9zZXR0ZXJtLmM6NTk5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwNworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NjQwCisjLCBmdXp6eQorbXNnaWQgImFyZ3VtZW50IGVycm9yIgorbXNnc3RyICIlczogQXJnw7xtYW4gaGF0YXPEsSwga3VsbGFuxLFtxLFcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNpZ25hbCBuYW1lIG9yIG51bWJlcjogJXMiCittc2dzdHIgImtpbWxpayBnZcOnZXJzaXoiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQ0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgJWQgdG8gcGlkICVkXG4iCittc2dzdHIgIiVzOiAlcyAgJXMgb2xhcmFrIGRlxJ9pxZ90aXJpbGVtZWRpOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0NjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6ICVzICAlcyBvbGFyYWsgZGXEn2nFn3RpcmlsZW1lZGk6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjUwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgcHJvY2VzcyBcIiVzXCIiCittc2dzdHIgIiVzOiBcIiVzXCIgc8O8cmVjaSBidWx1bmFtxLF5b3JcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgbmFtZTogJXMiCittc2dzdHIgImxvZ2dlcjogYmlsaW5tZXllbiB5ZXRlbmVrIGlzbWk6ICVzLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAibG9nZ2VyOiBiaWxpbm1leWVuIMO2bmNlbGlrIGlzbWk6ICVzLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3BlbmxvZyAlczogcGF0aG5hbWUgdG9vIGxvbmciCittc2dzdHIgIkt1bGxhbsSxY8SxIGFkxLFuxLF6IMOnb2sgdXp1bi5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyNjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCAlcyIKK21zZ3N0ciAiQmxva1V6dW5sOiAlZFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgbmFtZSAlcyBwb3J0ICVzOiAlcyIKK21zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY29ubmVjdCB0byAlcyBwb3J0ICVzIgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4aW11bSBpbnB1dCBsaW5lcyAoJWQpIGV4Y2VlZGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NDg3CisjLCBmdXp6eQorbXNnaWQgInNlbmQgbWVzc2FnZSBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGJhxZ9hcsSxc8SxeiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RydWN0dXJlZCBkYXRhIElEICclcycgaXMgbm90IHVuaXF1ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU3MgorIywgYy1mb3JtYXQKK21zZ2lkICItLXNkLWlkIHdhcyBub3Qgc3BlY2lmaWVkIGZvciAtLXNkLXBhcmFtICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzU0CisjLCBmdXp6eQorbXNnaWQgImxvY2FsdGltZSgpIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBiYcWfYXLEsXPEsXpcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImhvc3RuYW1lICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgImFsYW4gw6dvayB1enVuLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGFnICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgImFsYW4gw6dvayB1enVuLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjgzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdW5rbm93biBvcHRpb24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICIlczogYmlsaW5tZXllbiBhcmfDvG1hbjogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzOiB1c2luZyBhdXRvbWF0aWMgZXJyb3JzIgorbXNnc3RyICJraW1saWsgZ2XDp2Vyc2l6OiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjk5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG1lc3NhZ2U+XVxuIgorbXNnc3RyICJLdWxsYW7EsW3EsTogJXMgW3Nlw6dlbmVrbGVyXSBheWfEsXQgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6OTk3CisjLCBmdXp6eQorbXNnaWQgIkVudGVyIG1lc3NhZ2VzIGludG8gdGhlIHN5c3RlbSBsb2cuXG4iCittc2dzdHIgIlNpc3RlbSBzYWF0aSBheWFybGFuYW3EsXlvci5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAwCisjLCBmdXp6eQorbXNnaWQgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgbG9nIHRoZSBsb2dnZXIgY29tbWFuZCdzIFBJRFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIEJ1IHlhcmTEsW0gaWxldGlzaW5pIGfDtnN0ZXJpclxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDEKK21zZ2lkICIgICAgIC0taWRbPTxpZD5dICAgICAgICAgIGxvZyB0aGUgZ2l2ZW4gPGlkPiwgb3Igb3RoZXJ3aXNlIHRoZSBQSURcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDIKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICAgICBsb2cgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMworIywgZnV6enkKK21zZ2lkICIgLWUsIC0tc2tpcC1lbXB0eSAgICAgICAgIGRvIG5vdCBsb2cgZW1wdHkgbGluZXMgd2hlbiBwcm9jZXNzaW5nIGZpbGVzXG4iCittc2dzdHIgIiAgICAtbiAgICAgICAgICAgICAgICAgIGdlcsOnZWt0ZSBkaXNrZSB5YXrEsWxtYXoiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm8tYWN0ICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSB3cml0ZSB0aGUgbG9nXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA1Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBtYXJrIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA2Cittc2dpZCAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICB1c2UgcmZjNjU4NyBvY3RldCBjb3VudGluZ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNworbXNnaWQgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAgbG9vayBmb3IgYSBwcmVmaXggb24gZXZlcnkgbGluZSByZWFkIGZyb20gc3RkaW5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDgKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICBvdXRwdXQgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvciBhcyB3ZWxsXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA5CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zaXplIDxzaXplPiAgICAgICAgbWF4aW11bSBzaXplIGZvciBhIHNpbmdsZSBtZXNzYWdlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEwCittc2dpZCAiIC10LCAtLXRhZyA8dGFnPiAgICAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMQorbXNnaWQgIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMgorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcG9ydCA8cG9ydD4gICAgICAgIHVzZSB0aGlzIHBvcnQgZm9yIFVEUCBvciBUQ1AgY29ubmVjdGlvblxuIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsPWthYnVrVMO8csO8ICAgICAgICAgS3VsbGFuxLFsYWNhayBrYWJ1ayB0w7xyw7wgYmVsaXJ0aWxpclxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTMKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICB1c2UgVENQIG9ubHlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBTw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpclxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTQKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLXVkcCAgICAgICAgICAgICAgICB1c2UgVURQIG9ubHlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBTw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpclxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICB1c2UgdGhlIG9ic29sZXRlIEJTRCBzeXNsb2cgcHJvdG9jb2xcbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICBnZXRvcHQoMSkgc8O8csO8bcO8IGnDp2luIHRlc3RcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE2Cittc2dpZCAiIgorIiAgICAgLS1yZmM1NDI0Wz08c25pcD5dICAgdXNlIHRoZSBzeXNsb2cgcHJvdG9jb2wgKHRoZSBkZWZhdWx0IGZvciByZW1vdGUpO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c25pcD4gY2FuIGJlIG5vdGltZSwgb3Igbm90cSwgYW5kL29yIG5vaG9zdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxOAorbXNnaWQgIiAgICAgLS1zZC1pZCA8aWQ+ICAgICAgICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgSURcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTkKK21zZ2lkICIgICAgIC0tc2QtcGFyYW0gPGRhdGE+ICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIG5hbWU9dmFsdWVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjAKK21zZ2lkICIgICAgIC0tbXNnaWQgPG1zZ2lkPiAgICAgIHNldCByZmM1NDI0IG1lc3NhZ2UgaWQgZmllbGRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjEKK21zZ2lkICIgLXUsIC0tc29ja2V0IDxzb2NrZXQ+ICAgIHdyaXRlIHRvIHRoaXMgVW5peCBzb2NrZXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjIKK21zZ2lkICIiCisiICAgICAtLXNvY2tldC1lcnJvcnNbPTxvbnxvZmZ8YXV0bz5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludCBjb25uZWN0aW9uIGVycm9ycyB3aGVuIHVzaW5nIFVuaXggc29ja2V0c1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyNQorbXNnaWQgIiAgICAgLS1qb3VybmFsZFs9PGZpbGU+XSAgd3JpdGUgam91cm5hbGQgZW50cnlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpbGUgJXMiCittc2dzdHIgIihTb25yYWtpIGRvc3lhOiAlcykiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTEyNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgaWQiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1lc3NhZ2Ugc2l6ZSIKK21zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE4MAorbXNnaWQgIi0tbXNnaWQgY2Fubm90IGNvbnRhaW4gc3BhY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBJRDogJyVzJyIKK21zZ3N0ciAia2ltbGlrIGdlw6dlcnNpejogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBwYXJhbWV0ZXI6ICclcyciCittc2dzdHIgInphbWFuIGHFn8SxbcSxIGRlxJ9lcmkgaGF0YWzEsTogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIxOAorbXNnaWQgIi0tZmlsZSA8ZmlsZT4gYW5kIDxtZXNzYWdlPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLCBtZXNzYWdlIGlzIGlnbm9yZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjI1Cittc2dpZCAiam91cm5hbGQgZW50cnkgY291bGQgbm90IGJlIHdyaXR0ZW4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxzdHJpbmc+IFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbc2XDp2VuZWtsZXJdIGF5Z8SxdCAuLi5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzU4Cittc2dpZCAiRGlzcGxheSBsaW5lcyBiZWdpbm5pbmcgd2l0aCBhIHNwZWNpZmllZCBzdHJpbmcuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYxCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgdXNlIHRoZSBhbHRlcm5hdGl2ZSBkaWN0aW9uYXJ5XG4iCittc2dzdHIgIiIKKyIgIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIHRlayAtIGlsZSBiYcWfbGF5YW4gdXp1biBzZcOnZW5la2xlcmUgaXppblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyaWxpclxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjIKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBjb21wYXJlIG9ubHkgYmxhbmtzIGFuZCBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIEJ1IHlhcmTEsW0gaWxldGlzaW5pIGfDtnN0ZXJpclxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjMKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2NAorbXNnaWQgIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgZGVmaW5lIHRoZSBzdHJpbmctdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NworbXNnaWQgImRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTgKK21zZ2lkICJpbnRlcm5hbCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OQorbXNnaWQgImludGVybmFsIHBhcmVudCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MiBzeXMtdXRpbHMvenJhbWN0bC5jOjg0Cittc2dpZCAid2hlcmUgdGhlIGRldmljZSBpcyBtb3VudGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMKK21zZ2lkICJmaWxlc3lzdGVtIExBQkVMIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIHR5cGUgVVVJRCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIGRpc2sgYsO2bMO8bcO8OlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY3CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBMQUJFTCIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtw7wgbnVtYXJhc8SxIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcxCisjLCBmdXp6eQorbXNnaWQgInJlYWQtYWhlYWQgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAiZG9zeWEgeW9sdSBkdXJ1bSBiaWxnaWxlcmkgYWzEsW5hbWFkxLFcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1CisjLCBmdXp6eQorbXNnaWQgInJlYWQtb25seSBkZXZpY2UiCittc2dzdHIgInNhbHQtb2t1bnVyIGF5YXJsYW7EsXIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAicmVtb3ZhYmxlIGRldmljZSIKK21zZ3N0ciAiIHNpbGluZWJpbGlyIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc0Cittc2dpZCAicmVtb3ZhYmxlIG9yIGhvdHBsdWcgZGV2aWNlICh1c2IsIHBjbWNpYSwgLi4uKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc1Cittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NgorbXNnaWQgImFkZHMgcmFuZG9tbmVzcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc3Cittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OAorbXNnaWQgImRpc2sgc2VyaWFsIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc5Cittc2dpZCAic2l6ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODAKKyMsIGZ1enp5Cittc2dpZCAic3RhdGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAiZG9zeWEgeW9sdSBkdXJ1bSBiaWxnaWxlcmkgYWzEsW5hbWFkxLFcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MgorbXNnaWQgImdyb3VwIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MworbXNnaWQgImRldmljZSBub2RlIHBlcm1pc3Npb25zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODQKKyMsIGZ1enp5Cittc2dpZCAiYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAiZMO8xJ/DvG0gc2F5xLFzxLEgaGF0YWzEsSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NQorbXNnaWQgIm1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NgorbXNnaWQgIm9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NworIywgZnV6enkKK21zZ2lkICJwaHlzaWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAic2VrdMO2ciB1enVubHXEn3VudSB2ZXJpciIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OAorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJzZWt0w7ZyIHV6dW5sdcSfdW51IHZlcmlyIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5Cittc2dpZCAiSS9PIHNjaGVkdWxlciBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTAKK21zZ2lkICJyZXF1ZXN0IHF1ZXVlIHNpemUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MQorbXNnaWQgImRldmljZSB0eXBlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTIKKyMsIGZ1enp5Cittc2dpZCAiZGlzY2FyZCBhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICJkw7zEn8O8bSBzYXnEsXPEsSBoYXRhbMSxIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkzCittc2dpZCAiZGlzY2FyZCBncmFudWxhcml0eSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk0Cittc2dpZCAiZGlzY2FyZCBtYXggYnl0ZXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NQorbXNnaWQgImRpc2NhcmQgemVyb2VzIGRhdGEiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NgorbXNnaWQgIndyaXRlIHNhbWUgbWF4IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTcKKyMsIGZ1enp5Cittc2dpZCAidW5pcXVlIHN0b3JhZ2UgaWRlbnRpZmllciIKK21zZ3N0ciAiICAgdSAgIGfDtnN0ZXJtZS9naXJkaSBiaXJpbWluaSBkZcSfacWfdGlyaXIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTgKK21zZ2lkICJIb3N0OkNoYW5uZWw6VGFyZ2V0Okx1biBmb3IgU0NTSSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk5Cittc2dpZCAiZGV2aWNlIHRyYW5zcG9ydCB0eXBlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDAKK21zZ2lkICJkZS1kdXBsaWNhdGVkIGNoYWluIG9mIHN1YnN5c3RlbXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMQorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgcmV2aXNpb24iCittc2dzdHIgInPDvHLDvG0iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDIKK21zZ2lkICJkZXZpY2UgdmVuZG9yIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxMjc2Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGV2aWNlIGRpcmVjdG9yeSBpbiBzeXNmcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjb21wb3NlIHN5c2ZzIHBhdGgiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIGxpbmsiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3lzZnMgbmFtZSIKK21zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB3aG9sZS1kaXNrIGRldmljZSBudW1iZXIiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1MSBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1MyBtaXNjLXV0aWxzL2xzYmxrLmM6MTU3OAorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsaXN0ICclcyciCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1OAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBleGNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgaW5jbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjE2IHN5cy11dGlscy93ZGN0bC5jOjE3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIgorbXNnc3RyICJLdWxsYW7EsW3EsTogJXMgW3Nlw6dlbmVrbGVyXSBheWfEsXQgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjE5CisjLCBmdXp6eQorbXNnaWQgIkxpc3QgaW5mb3JtYXRpb24gYWJvdXQgYmxvY2sgZGV2aWNlcy5cbiIKK21zZ3N0ciAiJXM6IGJpciBibG9rIGF5Z8SxdMSxIGRlxJ9pbFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyMgorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgcHJpbnQgYWxsIGRldmljZXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBCdSB5YXJkxLFtIGlsZXRpc2luaSBnw7ZzdGVyaXJcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjQKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLW5vZGVwcyAgICAgICAgIGRvbid0IHByaW50IHNsYXZlcyBvciBob2xkZXJzXG4iCittc2dzdHIgIiAgICAtbiAgICAgICAgICAgICAgICAgIGdlcsOnZWt0ZSBkaXNrZSB5YXrEsWxtYXoiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI1Cittc2dpZCAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHByaW50IGRpc2NhcmQgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjYKK21zZ2lkICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI3CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgIMOHxLFrdMSxIHTEsXJuYWsgacOnaW5lIGFsxLFubWF6XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI4CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1hc2NpaSAgICAgICAgICB1c2UgYXNjaWkgY2hhcmFjdGVycyBvbmx5XG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgZ2V0b3B0KDEpIHPDvHLDvG3DvCBpw6dpbiB0ZXN0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI5Cittc2dpZCAiIC1JLCAtLWluY2x1ZGUgPGxpc3Q+IHNob3cgb25seSBkZXZpY2VzIHdpdGggc3BlY2lmaWVkIG1ham9yIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMAorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMxCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOb3JtYWxkZSB2ZXJpbGVuIMOnxLFrdMSxIHZlcmlsbWV6XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMyCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1wZXJtcyAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMzCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzQKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNQorIywgZnV6enkKK21zZ2lkICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgb3V0cHV0IGFsbCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1zw6dua2Rpemdlc2kgICAgIFRhbsSxbmFjYWsga8Sxc2Egc2XDp2VuZWtsZXIgYmVsaXJ0aWxpclxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGF0aHMgICAgICAgICAgcHJpbnQgY29tcGxldGUgZGV2aWNlIHBhdGhcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBCdSB5YXJkxLFtIGlsZXRpc2luaSBnw7ZzdGVyaXJcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzkKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLWludmVyc2UgICAgICAgIGludmVyc2UgZGVwZW5kZW5jaWVzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDAKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNjc2kgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IFNDU0kgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQxCittc2dpZCAiIC10LCAtLXRvcG9sb2d5ICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHRvcG9sb2d5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDIKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXNvcnQgPGNvbHVtbj4gIHNvcnQgb3V0cHV0IGJ5IDxjb2x1bW4+XG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1zw6dua2Rpemdlc2kgICAgIFRhbsSxbmFjYWsga8Sxc2Egc2XDp2VuZWtsZXIgYmVsaXJ0aWxpclxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NyBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTkgc3lzLXV0aWxzL2xzbnMuYzo2MzIKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTk2IHN5cy11dGlscy96cmFtY3RsLmM6NTQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLW91dHB1dCk6XG4iCittc2dzdHIgIk3DvG1rw7xuIGtvbXV0bGFyOlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFjY2VzcyBzeXNmcyBkaXJlY3Rvcnk6ICVzIgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzMKK21zZ2lkICJjb21tYW5kIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzQKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NQorbXNnaWQgImtpbmQgb2YgbG9jazogRkxfRkxPQ0sgb3IgRkxfUE9TSVguIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc2CisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIGxvY2siCittc2dzdHIgImRvc3lhIHlvbHUgZHVydW0gYmlsZ2lsZXJpIGFsxLFuYW1hZMSxXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc3CisjLCBmdXp6eQorbXNnaWQgImxvY2sgYWNjZXNzIG1vZGUiCittc2dzdHIgIiVzIHV6dW5sdcSfdSBhbMSxbmFtxLF5b3IiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc4Cittc2dpZCAibWFuZGF0b3J5IHN0YXRlIG9mIHRoZSBsb2NrOiAwIChub25lKSwgMSAoc2V0KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OQorbXNnaWQgInJlbGF0aXZlIGJ5dGUgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgwCittc2dpZCAiZW5kaW5nIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MQorIywgZnV6enkKK21zZ2lkICJwYXRoIG9mIHRoZSBsb2NrZWQgZmlsZSIKK21zZ3N0ciAiJyVzJyBkb3N5YXPEsSBhw6fEsWxhbcSxeW9yIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MgorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBibG9ja2luZyB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElEIgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjgxIHN5cy11dGlscy9uc2VudGVyLmM6MjMyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwaWQiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODQKKyMsIGZ1enp5Cittc2dpZCAiKHVua25vd24pIgorbXNnc3RyICJiaWxpbm1leWVuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzAwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbmQiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDQKKyMsIGZ1enp5Cittc2dpZCAiTGlzdCBsb2NhbCBzeXN0ZW0gbG9ja3MuXG4iCittc2dzdHIgIlNpc3RlbSBzYWF0aSBheWFybGFuYW3EsXlvci5cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA4Cittc2dpZCAiIC1pLCAtLW5vaW5hY2Nlc3NpYmxlICAgaWdub3JlIGxvY2tzIHdpdGhvdXQgcmVhZCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwOSBzeXMtdXRpbHMvbHNucy5jOjYyMQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgIMOHxLFrdMSxIHTEsXJuYWsgacOnaW5lIGFsxLFubWF6XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMCBzeXMtdXRpbHMvbHNucy5jOjYyMgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1zw6dua2Rpemdlc2kgICAgIFRhbsSxbmFjYWsga8Sxc2Egc2XDp2VuZWtsZXIgYmVsaXJ0aWxpclxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTEKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBkaXNwbGF5IG9ubHkgbG9ja3MgaGVsZCBieSB0aGlzIHByb2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTIgc3lzLXV0aWxzL2xzbnMuYzo2MjQKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjU3MCBzY2hlZHV0aWxzL2NocnQuYzo0Nzggc2NoZWR1dGlscy9pb25pY2UuYzoxNzcKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE2MyBzeXMtdXRpbHMvbHNucy5jOjY5OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFBJRCBhcmd1bWVudCIKK21zZ3N0ciAia2ltbGlrIGdlw6dlcnNpejogJXNcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODUKK21zZ2lkICJHZW5lcmF0ZSBtYWdpYyBjb29raWVzIGZvciB4YXV0aC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgdXNlIGZpbGUgYXMgYSBjb29raWUgc2VlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg5Cittc2dpZCAiIC1tLCAtLW1heC1zaXplIDxudW0+ICBsaW1pdCBob3cgbXVjaCBpcyByZWFkIGZyb20gc2VlZCBmaWxlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkwCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBTw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpclxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlenUgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlenUgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICIlZCBiYXl0ICVzIGRvc3lhc8SxbmRhbiBhbMSxbmTEsVxuIgorbXNnc3RyWzFdICIlZCBiYXl0ICVzIGRvc3lhc8SxbmRhbiBhbMSxbmTEsVxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNsb3NpbmcgJXMgZmFpbGVkIgorbXNnc3RyICLDp2FsxLHFn3TEsXJtYSBiYcWfYXLEsXPEsXpcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTY0IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTQ2IHN5cy11dGlscy9mc3RyaW0uYzozMDgKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGVuZ3RoIgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTc3Cittc2dpZCAiLS1tYXgtc2l6ZSBpZ25vcmVkIHdoZW4gdXNlZCB3aXRob3V0IC0tZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlZCBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICVkIGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAiJWQgYmF5dCAlcyBkb3N5YXPEsW5kYW4gYWzEsW5kxLFcbiIKK21zZ3N0clsxXSAiJWQgYmF5dCAlcyBkb3N5YXPEsW5kYW4gYWzEsW5kxLFcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzeW1saW5rOiAlcyIKK21zZ3N0ciAiaW9jdGwoKSAlcyBkZW4gemFtYW7EsSBva3V5YW1hZMSxIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAtIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnlcbiIKK21zZ3N0ciAia8O2ayBkw7zEn8O8bcO8IGJpciBkaXppbiBkZcSfaWwiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBhdGhuYW1lPi4uLlxuIgorbXNnc3RyICJLdWxsYW7EsW3EsTogJXMgW3Nlw6dlbmVrbGVyXSBheWfEsXQgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzYKK21zZ2lkICJGb2xsb3cgYSBwYXRobmFtZSB1bnRpbCBhIHRlcm1pbmFsIHBvaW50IGlzIGZvdW5kLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzkKK21zZ2lkICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheXMgdGhpcyBoZWxwIHRleHRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAteCwgLS1tb3VudHBvaW50cyAgIHNob3cgbW91bnQgcG9pbnQgZGlyZWN0b3JpZXMgd2l0aCBhICdEJ1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIHNob3cgdGhlIG1vZGUgYml0cyBvZiBlYWNoIGZpbGVcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBzaG93IG93bmVyIGFuZCBncm91cCBuYW1lIG9mIGVhY2ggZmlsZVxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIHVzZSBhIGxvbmcgbGlzdGluZyBmb3JtYXQgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICBkb24ndCBmb2xsb3cgc3ltbGlua3NcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICB2ZXJ0aWNhbCBhbGlnbiBvZiBtb2RlcyBhbmQgb3duZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQwOAorIywgZnV6enkKK21zZ2lkICJwYXRobmFtZSBhcmd1bWVudCBpcyBtaXNzaW5nIgorbXNnc3RyICItLWRhdGUgaWxlIHZlcmlsZW4gYXJnw7xtYW4gw6dvayB1enVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTQgc3lzLXV0aWxzL2xzbnMuYzo3NjQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIFVJRCBjYWNoZSIKK21zZ3N0ciAiVGFtcG9uIGF5csSxbGFtYWTEsS5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR0lEIGNhY2hlIgorbXNnc3RyICJUYW1wb24gYXlyxLFsYW1hZMSxLlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGNlZWRlZCBsaW1pdCBvZiBzeW1saW5rcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAiJXM6IGJpciBibG9rIGF5Z8SxdMSxIGRlxJ9pbFxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZGxpbmsgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IGJhxZ9hcsSxc8SxelxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5saW5rIGZhaWxlZCIKK21zZ3N0ciAiZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzeW1saW5raW5nIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6ICVzICAlcyBvbGFyYWsgZGXEn2nFn3RpcmlsZW1lZGk6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVuYW1lIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6ICVzICAlcyBvbGFyYWsgZGXEn2nFn3RpcmlsZW1lZGk6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxleHByZXNzaW9uPiA8cmVwbGFjZW1lbnQ+IDxmaWxlPi4uLlxuIgorbXNnc3RyICJLdWxsYW7EsW3EsTogJXMgW3Nlw6dlbmVrbGVyXSBheWfEsXQgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTIyCisjLCBmdXp6eQorbXNnaWQgIlJlbmFtZSBmaWxlcy5cbiIKK21zZ3N0ciAiZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTI1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjYKK21zZ2lkICIgLXMsIC0tc3ltbGluayAgICBhY3Qgb24gdGhlIHRhcmdldCBvZiBzeW1saW5rc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MgorbXNnaWQgIkEgZGFlbW9uIGZvciBnZW5lcmF0aW5nIFVVSURzLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkIDxwYXRoPiAgICAgICAgcGF0aCB0byBwaWQgZmlsZVxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9c8OnbmtkaXpnZXNpICAgICBUYW7EsW5hY2FrIGvEsXNhIHNlw6dlbmVrbGVyIGJlbGlydGlsaXJcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc1CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zb2NrZXQgPHBhdGg+ICAgICBwYXRoIHRvIHNvY2tldFxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9c8OnbmtkaXpnZXNpICAgICBUYW7EsW5hY2FrIGvEsXNhIHNlw6dlbmVrbGVyIGJlbGlydGlsaXJcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc2CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10aW1lb3V0IDxzZWM+ICAgICBzcGVjaWZ5IGluYWN0aXZpdHkgdGltZW91dFxuIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsPWthYnVrVMO8csO8ICAgICAgICAgS3VsbGFuxLFsYWNhayBrYWJ1ayB0w7xyw7wgYmVsaXJ0aWxpclxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGtpbGwgcnVubmluZyBkYWVtb25cbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBCdSB5YXJkxLFtIGlsZXRpc2luaSBnw7ZzdGVyaXJcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc4CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc5CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICB0ZXN0IHRpbWUtYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIGdldG9wdCgxKSBzw7xyw7xtw7wgacOnaW4gdGVzdFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODAKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCittc2dzdHIgIiAgICAtSCMgIC0taGVhZHMgIyAgICAgIGt1bGFuxLFsYWNhayBrYWZhIHNhecSxc8SxIGJlbGlydGlsaXIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MQorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgZG8gbm90IGNyZWF0ZSBwaWQgZmlsZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgRGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1bnUgZWtyYW5hIHlhIGRhIGJpciBkb3N5YXlhIHlhemFyIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODIKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIGRvIG5vdCBkYWVtb25pemUgdXNpbmcgZG91YmxlLWZvcmtcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vcm1hbGRlIHZlcmlsZW4gw6fEsWt0xLEgdmVyaWxtZXpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgzCittc2dpZCAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIGRvIG5vdCBjcmVhdGUgbGlzdGVuaW5nIHNvY2tldFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4NAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjg1CisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0dXJuIG9uIHF1aWV0IG1vZGVcbiIKK21zZ3N0ciAiICAgIC1xICAtLXF1aWV0ICAgICAgICAgdXlhcsSxbGFyxLEgZW5nZWxsZXIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMTgKKyMsIGZ1enp5Cittc2dpZCAiYmFkIGFyZ3VtZW50cyIKK21zZ3N0ciAiY29sOiAtbCBhcmfDvG1hbsSxICVzIGhhdGFsxLEuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMjUKKyMsIGZ1enp5Cittc2dpZCAic29ja2V0IgorbXNnc3RyICJuZnMgc29rZXRpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTM2CisjLCBmdXp6eQorbXNnaWQgImNvbm5lY3QiCittc2dzdHIgIm5mcyBiYcSfbGFudMSxc8SxIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTU2CisjLCBmdXp6eQorbXNnaWQgIndyaXRlIgorbXNnc3RyICJLYXlkZXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNjQKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBjb3VudCIKK21zZ3N0ciAiJWMgb2t1bmR1XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNzAKK21zZ2lkICJiYWQgcmVzcG9uc2UgbGVuZ3RoIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBsb2NrICVzIgorbXNnc3RyICIlcyBhw6fEsWxhbcSxeW9yIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjQ2CisjLCBmdXp6eQorbXNnaWQgImNvdWxkbid0IGNyZWF0ZSB1bml4IHN0cmVhbSBzb2NrZXQiCittc2dzdHIgIiVzIGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyNzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGJpbmQgdW5peCBzb2NrZXQgJXMiCittc2dzdHIgIiVzIGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyOTgKKyMsIGZ1enp5Cittc2dpZCAicmVjZWl2aW5nIHNpZ25hbCBmYWlsZWQiCittc2dzdHIgIiVzOiAlcyAgJXMgb2xhcmFrIGRlxJ9pxZ90aXJpbGVtZWRpOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzExCittc2dpZCAidGltZWQgb3V0IgorbXNnc3RyICJ6YW1hbiBhxZ/EsW3EsSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM0NSBzeXMtdXRpbHMvZmxvY2suYzoyNzEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCB1cCB0aW1lciIKK21zZ3N0ciAibW91bnQ6IGjEsXogYXlhcmxhbmFtxLF5b3I6ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgInV1aWRkIGRhZW1vbiBpcyBhbHJlYWR5IHJ1bm5pbmcgYXQgcGlkICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGxpc3RlbiBvbiB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAiJXMgYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHRydW5jYXRlIGZpbGU6ICVzIgorbXNnc3RyICIlcyBheWfEsXTEsW7EsW4gZHVydW0gYmlsZ2lzaSBhbMSxbmFtxLF5b3IiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODYKKyMsIGZ1enp5Cittc2dpZCAic2RfbGlzdGVuX2ZkcygpIGZhaWxlZCIKK21zZ3N0ciAic2V0dGltZW9mZGF5KCkgYmHFn2FyxLFzxLF6IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzg5Cittc2dpZCAibm8gZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgc3lzdGVtY3RsIHN0YXR1cyB1dWlkZC5zb2NrZXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM5MgorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayB1dWlkZC5zb2NrZXQiCittc2dzdHIgImVyacWfaW0gYmHFn2FyxLFzxLF6IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDIwIHRlcm0tdXRpbHMvc2NyaXB0LmM6NDU1CisjLCBmdXp6eQorbXNnaWQgInBvbGwgZmFpbGVkIgorbXNnc3RyICJiZWxsZWsgYXlyxLFsYW1hZMSxIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aW1lb3V0IFslZCBzZWNdXG4iCittc2dzdHIgIkdpcmnFnyAlZCBzYW5peWUgc29ucmEgemFtYW4gYcWfxLFtxLFuYSB1xJ9yYWTEsVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQzIHRleHQtdXRpbHMvY29sdW1uLmM6NDE0CisjLCBmdXp6eQorbXNnaWQgInJlYWQgZmFpbGVkIgorbXNnc3RyICIoU29ucmFraSBkb3N5YTogJXMpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvciByZWFkaW5nIGZyb20gY2xpZW50LCBsZW4gPSAlZCIKK21zZ3N0ciAiJXMgb2t1bnVya2VuIGhhdGFcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ1NAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWQsIGluY29taW5nIG51bSA9ICVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkXG4iCittc2dzdHIgImtpbWxpayBnZcOnZXJzaXoiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCByYW5kb20gVVVJRDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgYW5kICVkIGZvbGxvd2luZ1xuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkICVkIFVVSUQ6XG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCAlZCBVVUlEczpcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgb3BlcmF0aW9uICVkXG4iCittc2dzdHIgImtpbWxpayBnZcOnZXJzaXoiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCByZXBseSBsZW5ndGggZnJvbSBzZXJ2ZXIgJWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYwMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS11dWlkcyIKK21zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MTcKK21zZ2lkICJ1dWlkZCBoYXMgYmVlbiBidWlsdCB3aXRob3V0IHN1cHBvcnQgZm9yIHNvY2tldCBhY3RpdmF0aW9uIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MzYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGltZW91dCIKK21zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NTMKK21zZ2lkICJCb3RoIC0tc29ja2V0LWFjdGl2YXRpb24gYW5kIC0tc29ja2V0IHNwZWNpZmllZC4gSWdub3JpbmcgLS1zb2NrZXQuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjAgbWlzYy11dGlscy91dWlkZC5jOjY4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2FsbGluZyB1dWlkZCBkYWVtb24gKCVzKSIKK21zZ3N0ciAiJXMgacOnaW4ga2lwIGRlxJ9pxZ90aXJpbGlya2VuIGhhdGE6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjEgbWlzYy11dGlscy91dWlkZC5jOjY4OQorIywgZnV6enkKK21zZ2lkICJ1bmV4cGVjdGVkIGVycm9yIgorbXNnc3RyICIlczogJXMgZG95YXPEsW5kYSBiZWtsZW5tZWRpayBkb3N5YSBzb251XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRFxuIgorbXNnaWRfcGx1cmFsICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEc1xuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY3MworIywgYy1mb3JtYXQKK21zZ2lkICJMaXN0IG9mIFVVSURzOlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGtpbGwgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQiCittc2dzdHIgIiVzIGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIktpbGxlZCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZC5cbiIKK21zZ3N0ciAiJXMgYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjgKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlIGEgbmV3IFVVSUQgdmFsdWUuXG4iCittc2dzdHIgIiAgIHMgICB5ZW5pIGJpciBTdW4gZGlzayBldGlrZXRpIG9sdcWfdHVydXIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjMxCittc2dpZCAiIgorIiAtciwgLS1yYW5kb20gICAgIGdlbmVyYXRlIHJhbmRvbS1iYXNlZCB1dWlkXG4iCisiIC10LCAtLXRpbWUgICAgICAgZ2VuZXJhdGUgdGltZS1iYXNlZCB1dWlkXG4iCisiIC1WLCAtLXZlcnNpb24gICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLUJNUyA8ZGlyPi4uLiAtZl0gPG5hbWU+XG4iCittc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbc2XDp2VuZWtsZXJdIGF5Z8SxdCAuLi5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTkyCittc2dpZCAiTG9jYXRlIHRoZSBiaW5hcnksIHNvdXJjZSwgYW5kIG1hbnVhbC1wYWdlIGZpbGVzIGZvciBhIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk1CisjLCBmdXp6eQorbXNnaWQgIiAtYiAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBiaW5hcmllc1xuIgorbXNnc3RyICIgICAgLW4gICAgICAgICAgICAgICAgICBnZXLDp2VrdGUgZGlza2UgeWF6xLFsbWF6IgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTYKK21zZ2lkICIgLUIgPGRpcnM+ICBkZWZpbmUgYmluYXJpZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTcKKyMsIGZ1enp5Cittc2dpZCAiIC1tICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIG1hbnVhbHMgYW5kIGluZm9zXG4iCittc2dzdHIgIiAgICAtbiAgICAgICAgICAgICAgICAgIGdlcsOnZWt0ZSBkaXNrZSB5YXrEsWxtYXoiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5OAorbXNnaWQgIiAtTSA8ZGlycz4gIGRlZmluZSBtYW4gYW5kIGluZm8gbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTkKK21zZ2lkICIgLXMgICAgICAgICBzZWFyY2ggb25seSBmb3Igc291cmNlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMAorbXNnaWQgIiAtUyA8ZGlycz4gIGRlZmluZSBzb3VyY2VzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAxCisjLCBmdXp6eQorbXNnaWQgIiAtZiAgICAgICAgIHRlcm1pbmF0ZSA8ZGlycz4gYXJndW1lbnQgbGlzdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMgorbXNnaWQgIiAtdSAgICAgICAgIHNlYXJjaCBmb3IgdW51c3VhbCBlbnRyaWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAzCittc2dpZCAiIC1sICAgICAgICAgb3V0cHV0IGVmZmVjdGl2ZSBsb29rdXAgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzo2MTkKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9uIC1mIGlzIG1pc3NpbmciCittc2dzdHIgIi0tZGF0ZSBpbGUgdmVyaWxlbiBhcmfDvG1hbiDDp29rIHV6dW5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxOTYKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCBudW1hcmFzxLEiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IHByb2JpbmcgaW5pdGlhbGl6YXRpb24gZmFpbGVkIgorbXNnc3RyICIiCisiXG4iCisiRG9zeWEga2FwYXTEsWzEsXJrZW4gaGF0YVxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBlcmFzZSAlcyBtYWdpYyBzdHJpbmcgYXQgb2Zmc2V0IDB4JTA4angiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICV6ZCBieXRlIHdhcyBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnaWRfcGx1cmFsICIlczogJXpkIGJ5dGVzIHdlcmUgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIKK21zZ3N0clswXSAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCittc2dzdHJbMV0gIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjM0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIgorbXNnc3RyICJpbXphIHNheWZhc8SxIHlhesSxbGFtxLF5b3IiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FsbGluZyBpb2N0bCB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZTogJW1cbiIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1bnUgeWVuaWRlbiBva3VtYWsgacOnaW4gaW9jdGwoKSDDp2HEn3LEsWzEsXlvci5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozODUKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpZ25vcmluZyBuZXN0ZWQgXCIlc1wiIHBhcnRpdGlvbiB0YWJsZSBvbiBub24td2hvbGUgZGlzayBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgMHglanggbm90IGZvdW5kIgorbXNnc3RyICJ1bW91bnQ6ICVzOiB5b2siCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDM1CisjLCBmdXp6eQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBvcHRpb24gdG8gZm9yY2UgZXJhc2UuIgorbXNnc3RyICJUw7xtIGRlbmV0aW1sZXJpIGthbGTEsXJtYWsgacOnaW4gLS1mb3JjZSBzZcOnZW5lxJ9pbmkga3VsbGFuxLFuLlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1OQorbXNnaWQgIldpcGUgc2lnbmF0dXJlcyBmcm9tIGEgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDYyCittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgIHdpcGUgYWxsIG1hZ2ljIHN0cmluZ3MgKEJFIENBUkVGVUwhKVxuIgorIiAtYiwgLS1iYWNrdXAgICAgICAgIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAgaW4gJEhPTUVcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICBmb3JjZSBlcmFzdXJlXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorIiAtbiwgLS1uby1hY3QgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBhY3R1YWwgd3JpdGUoKSBjYWxsXG4iCisiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IHRvIGVyYXNlLCBpbiBieXRlc1xuIgorIiAtcCwgLS1wYXJzYWJsZSAgICAgIHByaW50IG91dCBpbiBwYXJzYWJsZSBpbnN0ZWFkIG9mIHByaW50YWJsZSBmb3JtYXRcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICBzdXBwcmVzcyBvdXRwdXQgbWVzc2FnZXNcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0sIFJBSURzIG9yIHBhcnRpdGlvbiB0YWJsZXNcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTMzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgb2Zmc2V0IGFyZ3VtZW50IgorbXNnc3RyICJraW1saWsgZ2XDp2Vyc2l6IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU1OAorbXNnaWQgIlRoZSAtLWJhY2t1cCBvcHRpb24gaXMgbWVhbmluZ2xlc3MgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZWFsLXRpbWUgc2NoZWR1bGluZyBhdHRyaWJ1dGVzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzcKK21zZ2lkICIiCisiU2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gPHByaW9yaXR5PiA8Y29tbWFuZD4gWzxhcmc+Li4uXVxuIgorIiBjaHJ0IFtvcHRpb25zXSAtLXBpZCA8cHJpb3JpdHk+IDxwaWQ+XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQxCittc2dpZCAiIgorIkdldCBwb2xpY3k6XG4iCisiIGNocnQgW29wdGlvbnNdIC1wIDxwaWQ+XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgIlBvbGljeSBvcHRpb25zOlxuIgorbXNnc3RyICJ0ZWhsaWtlbGkgc2XDp2VuZWtsZXI6IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDYKK21zZ2lkICIgLWIsIC0tYmF0Y2ggICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NworIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGVhZGxpbmUgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9ERUFETElORVxuIgorbXNnc3RyICIgICAgICAgICAgICAgIHBhcmFtZXRyZWxlclxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDgKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpZm8gICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfRklGT1xuIgorbXNnc3RyICIgICAgICAgICAgICAgIHBhcmFtZXRyZWxlclxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDkKK21zZ2lkICIgLWksIC0taWRsZSAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9JRExFXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUwCittc2dpZCAiIC1vLCAtLW90aGVyICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTEKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJyICAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU0CisjLCBmdXp6eQorbXNnaWQgIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIGRpc2sgYsO2bMO8bcO8OlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTUKK21zZ2lkICIgLVIsIC0tcmVzZXQtb24tZm9yayAgICAgICBzZXQgU0NIRURfUkVTRVRfT05fRk9SSyBmb3IgRklGTyBvciBSUlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NgorbXNnaWQgIiAtVCwgLS1zY2hlZC1ydW50aW1lIDxucz4gIHJ1bnRpbWUgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NworbXNnaWQgIiAtUCwgLS1zY2hlZC1wZXJpb2QgPG5zPiAgIHBlcmlvZCBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU4Cittc2dpZCAiIC1ELCAtLXNjaGVkLWRlYWRsaW5lIDxucz4gZGVhZGxpbmUgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MQorIywgZnV6enkKK21zZ2lkICJPdGhlciBvcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgZGlzayBiw7Zsw7xtw7w6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MgorbXNnaWQgIiAtYSwgLS1hbGwtdGFza3MgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MworIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbWF4ICAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm9ybWFsZGUgdmVyaWxlbiDDp8Sxa3TEsSB2ZXJpbG1lelxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjMyIHNjaGVkdXRpbHMvY2hydC5jOjI1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgIiVzIGRpc2sgYsO2bMO8bcO8bmUgeWF6YXJrZW4gaGF0YSBvbHXFn3R1XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGF0dHJpYnV0ZXMiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY3CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMwMCBzY2hlZHV0aWxzL2NocnQuYzozOTYKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9idGFpbiB0aGUgbGlzdCBvZiB0YXNrcyIKK21zZ3N0ciAiJXM6ICVzIGnDp2luIGF5Z8SxdCBpc21pIGJ1bHVuYW3EsXlvclxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbWluL21heCBwcmlvcml0eVx0OiAlZC8lZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IHN1cHBvcnRlZD9cbiIKK21zZ3N0ciAiVENQIMO8emVyaW5kZW4gTkZTIGRlc3Rla2xlbm1peW9yLlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0MDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICIlcyBkaXNrIGLDtmzDvG3DvG5lIHlhemFya2VuIGhhdGEgb2x1xZ90dVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICIlcyBkaXNrIGLDtmzDvG3DvG5lIHlhemFya2VuIGhhdGEgb2x1xZ90dVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBydW50aW1lIGFyZ3VtZW50IgorbXNnc3RyICJraW1saWsgZ2XDp2Vyc2l6IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwZXJpb2QgYXJndW1lbnQiCittc2dzdHIgImtpbWxpayBnZcOnZXJzaXoiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ5MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGRlYWRsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJraW1saWsgZ2XDp2Vyc2l6IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MTcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwcmlvcml0eSBhcmd1bWVudCIKK21zZ3N0ciAia2ltbGlrIGdlw6dlcnNpeiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTIxCittc2dpZCAiLS1yZXNldC1vbi1mb3JrIG9wdGlvbiBpcyBzdXBwb3J0ZWQgZm9yIFNDSEVEX0ZJRk8gYW5kIFNDSEVEX1JSIHBvbGljaWVzIG9ubHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTI2Cittc2dpZCAiLS1zY2hlZC17cnVudGltZSxkZWFkbGluZSxwZXJpb2R9IG9wdGlvbnMgYXJlIHN1cHBvcnRlZCBmb3IgU0NIRURfREVBRExJTkUgb25seSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1NDEKKyMsIGZ1enp5Cittc2dpZCAiU0NIRURfREVBRExJTkUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIlRDUCDDvHplcmluZGVuIE5GUyBkZXN0ZWtsZW5taXlvci5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByaW9yaXR5IHZhbHVlIGZvciB0aGUgcG9saWN5OiAlZDogc2VlIC0tbWF4IGZvciB2YWxpZCByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc2CisjLCBmdXp6eQorbXNnaWQgImlvcHJpb19nZXQgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IGJhxZ9hcsSxc8SxelxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcHJpbyAlbHVcbiIKK21zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFtzZcOnZW5la2xlcl0gYXlnxLF0IC4uLlxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjk4CisjLCBmdXp6eQorbXNnaWQgImlvcHJpb19zZXQgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IGJhxZ9hcsSxc8SxelxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEwNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIC1wIDxwaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC1QIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtdSA8dWlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExMAorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBJL08tc2NoZWR1bGluZyBjbGFzcyBhbmQgcHJpb3JpdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTEzCittc2dpZCAiIgorIiAtYywgLS1jbGFzcyA8Y2xhc3M+ICAgIG5hbWUgb3IgbnVtYmVyIG9mIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNQorbXNnaWQgIiIKKyIgLW4sIC0tY2xhc3NkYXRhIDxudW0+ICBwcmlvcml0eSAoMC4uNykgaW4gdGhlIHNwZWNpZmllZCBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgb25seSBmb3IgdGhlIHJlYWx0aW1lIGFuZCBiZXN0LWVmZm9ydCBjbGFzc2VzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTcKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+Li4uICAgICBhY3Qgb24gdGhlc2UgYWxyZWFkeSBydW5uaW5nIHByb2Nlc3Nlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE4Cittc2dpZCAiIC1QLCAtLXBnaWQgPHBncnA+Li4uICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgaW4gdGhlc2UgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTkKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLWlnbm9yZSAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMjAKK21zZ2lkICIgLXUsIC0tdWlkIDx1aWQ+Li4uICAgICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBvd25lZCBieSB0aGVzZSB1c2Vyc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY2xhc3MgZGF0YSBhcmd1bWVudCIKK21zZ3N0ciAia2ltbGlrIGdlw6dlcnNpeiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjbGFzcyBhcmd1bWVudCIKK21zZ3N0ciAia2ltbGlrIGdlw6dlcnNpejogJXNcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2NoZWR1bGluZyBjbGFzczogJyVzJyIKK21zZ3N0ciAiJXM6IEJpbGlubWV5ZW4ga29tdXQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc2IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg0IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkyCittc2dpZCAiY2FuIGhhbmRsZSBvbmx5IG9uZSBvZiBwaWQsIHBnaWQgb3IgdWlkIGF0IG9uY2UiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBQR0lEIGFyZ3VtZW50IgorbXNnc3RyICJraW1saWsgZ2XDp2Vyc2l6OiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFVJRCBhcmd1bWVudCIKK21zZ3N0ciAia2ltbGlrIGdlw6dlcnNpejogJXNcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMTIKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBub25lIGNsYXNzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjIwCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3IgaWRsZSBjbGFzcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvIGNsYXNzICVkIgorbXNnc3RyICJraW1saWt0ZSBiaWxpbm1leWVuIGhhdGEiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiVXNhZ2U6ICVzIFtvcHRpb25zXSBbbWFzayB8IGNwdS1saXN0XSBbcGlkfGNtZCBbYXJncy4uLl1dXG4iCisiXG4iCittc2dzdHIgImt1bGxhbsSxbcSxOiAlcyBwcm9ncmFtIFthcmcgLi4uXVxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1NQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBDUFUgYWZmaW5pdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJPcHRpb25zOlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICBkaXNwbGF5IGFuZCBzcGVjaWZ5IGNwdXMgaW4gbGlzdCBmb3JtYXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHBcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gcnVuIGEgbmV3IGNvbW1hbmQ6XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisiWW91IGNhbiByZXRyaWV2ZSB0aGUgbWFzayBvZiBhbiBleGlzdGluZyB0YXNrOlxuIgorIiAgICAlMSRzIC1wIDcwMFxuIgorIk9yIHNldCBpdDpcbiIKKyIgICAgJTEkcyAtcCAwMyA3MDBcbiIKKyJMaXN0IGZvcm1hdCB1c2VzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QgaW5zdGVhZCBvZiBhIG1hc2s6XG4iCisiICAgICUxJHMgLXBjIDAsMyw3LTExIDcwMFxuIgorIlJhbmdlcyBpbiBsaXN0IGZvcm1hdCBjYW4gdGFrZSBhIHN0cmlkZSBhcmd1bWVudDpcbiIKKyIgICAgZS5nLiAwLTMxOjIgaXMgZXF1aXZhbGVudCB0byBtYXNrIDB4NTU1NTU1NTVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk5CisjLCBmdXp6eQorbXNnaWQgImludGVybmFsIGVycm9yOiBjb252ZXJzaW9uIGZyb20gY3B1c2V0IHRvIHN0cmluZyBmYWlsZWQiCittc2dzdHIgIiIKKyJcbiIKKyJEb3N5YSBrYXBhdMSxbMSxcmtlbiBoYXRhXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwOSBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgIiVzIGRpc2sgYsO2bMO8bcO8bmUgeWF6YXJrZW4gaGF0YSBvbHXFn3R1XG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjExOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAiJXMgZGlzayBiw7Zsw7xtw7xuZSB5YXphcmtlbiBoYXRhIG9sdcWfdHVcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTg2IHN5cy11dGlscy9jaGNwdS5jOjI4OQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIE5SX0NQVVM7IGFib3J0aW5nIgorbXNnc3RyICIlcyB1enVubHXEn3UgYWzEsW5hbcSxeW9yIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxOTUgc2NoZWR1dGlscy90YXNrc2V0LmM6MjA4IHN5cy11dGlscy9jaGNwdS5jOjI5NQorIywgZnV6enkKK21zZ2lkICJjcHVzZXRfYWxsb2MgZmFpbGVkIgorbXNnc3RyICJiZWxsZWsgYXlyxLFsYW1hZMSxIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMTUgc3lzLXV0aWxzL2NoY3B1LmM6MjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2s6ICVzIgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogWmVyby1maWxsZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBEaXNjYXJkZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg3Cittc2dpZCAiRGlzY2FyZCB0aGUgY29udGVudCBvZiBzZWN0b3JzIG9uIGEgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTAKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorbXNnc3RyICIgICAgLUMjICAtLWN5bGluZGVycyAjICBrdWxsYW7EsWxhY2FrIHNpbGluZGlyIHNhecSxc8SxIGJlbGlydGlsaXIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiAgICAtQyMgIC0tY3lsaW5kZXJzICMgIGt1bGxhbsSxbGFjYWsgc2lsaW5kaXIgc2F5xLFzxLEgYmVsaXJ0aWxpciIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBTw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpclxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkzCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zZWN1cmUgICAgICAgIHBlcmZvcm0gc2VjdXJlIGRpc2NhcmRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBTw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpclxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk0CisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS16ZXJvb3V0ICAgICAgIHplcm8tZmlsbCByYXRoZXIgdGhhbiBkaXNjYXJkXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOb3JtYWxkZSB2ZXJpbGVuIMOnxLFrdMSxIHZlcmlsbWV6XG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgYWxpZ25lZCBsZW5ndGggYW5kIG9mZnNldFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTUwIHN5cy11dGlscy9mc3RyaW0uYzozMTIgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NzMKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjEyNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0ZXAiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3MiBzeXMtdXRpbHMvenJhbWN0bC5jOjY4MiBzeXMtdXRpbHMvenJhbWN0bC5jOjcwOAorIywgZnV6enkKK21zZ2lkICJubyBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJtb3VudDogbG9vcCBheWfEsXTEsSBpa2kga2VyZSBiZWxpcnRpbG1pxZ8iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTc3IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTEKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyMiBzeXMtdXRpbHMvZnN0cmltLmM6MzM0CisjLCBmdXp6eQorbXNnaWQgInVuZXhwZWN0ZWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAiYXphbWkgYsO2bMO8dCBzYXnEsXPEsSA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0dFVFNJWkU2NCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzIMO8emVyaW5kZSBCTEtHRVRTSVpFIGlvY3RsIGhhdGEgdmVyZGlcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTU1pHRVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IGJhxZ9hcsSxc8SxelxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0ICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCBpcyBncmVhdGVyIHRoYW4gZGV2aWNlIHNpemUiCittc2dzdHIgIkRpc2tpbiB0b3BsYW0gYWxhbsSxIGhlc2FwbGFuYW3EsXlvciIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxlbmd0aCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtaRVJPT1VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBiYcWfYXLEsXPEsXpcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTRUNESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBiYcWfYXLEsXPEsXpcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBiYcWfYXLEsXPEsXpcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6ODcgc3lzLXV0aWxzL2NoY3B1LmM6MTc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiVzOiBcIiVzXCIgeW9rLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBob3QgcGx1Z2dhYmxlIgorbXNnc3RyICIlczogXCIlc1wiIMOnYWzEscWfdMSxcsSxbGFiaWxpciBkZcSfaWwuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIlNla3TDtnIgJWQgemF0ZW4ga3VsbGFuxLFtZGFcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBkaXNhYmxlZFxuIgorbXNnc3RyICJTZWt0w7ZyICVkIHphdGVuIGt1bGxhbsSxbWRhXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQgKENQVSBpcyBkZWNvbmZpZ3VyZWQpIgorbXNnc3RyICJTZWt0w7ZyICVkIHphdGVuIGt1bGxhbsSxbWRhXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIk90b3lhcMSxbGFuZMSxcm1hIGhhdGEgdmVyZGkuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZWRcbiIKK21zZ3N0ciAiT3RveWFwxLFsYW5kxLFybWEgaGF0YSB2ZXJkaS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQgKGxhc3QgZW5hYmxlZCBDUFUpIgorbXNnc3RyICJTZWt0w7ZyICVkIHphdGVuIGt1bGxhbsSxbWRhXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICJTZWt0w7ZyICVkIHphdGVuIGt1bGxhbsSxbWRhXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGVkXG4iCittc2dzdHIgIlNla3TDtnIgJWQgemF0ZW4ga3VsbGFuxLFtZGFcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCByZXNjYW5uaW5nIG9mIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byB0cmlnZ2VyIHJlc2NhbiBvZiBDUFVzIgorbXNnc3RyICIlcyBkaXNrIGLDtmzDvG3DvG5lIHlhemFya2VuIGhhdGEgb2x1xZ90dVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJpZ2dlcmVkIHJlc2NhbiBvZiBDUFVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTUxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBzZXR0aW5nIHRoZSBkaXNwYXRjaGluZyBtb2RlIG9mIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU1CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICIlcyBkaXNrIGLDtmzDvG3DvG5lIHlhemFya2VuIGhhdGEgb2x1xZ90dVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIiVzIGRpc2sgYsO2bMO8bcO8bmUgeWF6YXJrZW4gaGF0YSBvbHXFn3R1XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1OQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHZlcnRpY2FsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgIiVzIGRpc2sgYsO2bMO8bcO8bmUgeWF6YXJrZW4gaGF0YSBvbHXFn3R1XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCB2ZXJ0aWNhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIiVzIGRpc2sgYsO2bMO8bcO8bmUgeWF6YXJrZW4gaGF0YSBvbHXFn3R1XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBjb25maWd1cmFibGUiCittc2dzdHIgIiVzOiBcIiVzXCIgw6dhbMSxxZ90xLFyxLFsYWJpbGlyIGRlxJ9pbC5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBjb25maWd1cmVkXG4iCittc2dzdHIgIlNla3TDtnIgJWQgemF0ZW4ga3VsbGFuxLFtZGFcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiU2VrdMO2ciAlZCB6YXRlbiBrdWxsYW7EsW1kYVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiT3RveWFwxLFsYW5kxLFybWEgaGF0YSB2ZXJkaS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiT3RveWFwxLFsYW5kxLFybWEgaGF0YSB2ZXJkaS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlZFxuIgorbXNnc3RyICJPdG95YXDEsWxhbmTEsXJtYSBoYXRhIHZlcmRpLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIk90b3lhcMSxbGFuZMSxcm1hIGhhdGEgdmVyZGkuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJPdG95YXDEsWxhbmTEsXJtYSBoYXRhIHZlcmRpLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgQ1BVIG51bWJlciBpbiBDUFUgbGlzdDogJXMiCittc2dzdHIgImAlcycgZ2XDp2Vyc2l6IHNhecSxXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzOCB0ZXh0LXV0aWxzL2NvbC5jOjEzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFtzZcOnZW5la2xlcl0gYXlnxLF0IC4uLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDIKK21zZ2lkICJDb25maWd1cmUgQ1BVcyBpbiBhIG11bHRpLXByb2Nlc3NvciBzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQ0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyIgIC1lLCAtLWVuYWJsZSA8Y3B1LWxpc3Q+ICAgICAgIGVuYWJsZSBjcHVzXG4iCisiICAtZCwgLS1kaXNhYmxlIDxjcHUtbGlzdD4gICAgICBkaXNhYmxlIGNwdXNcbiIKKyIgIC1jLCAtLWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICAgIGNvbmZpZ3VyZSBjcHVzXG4iCisiICAtZywgLS1kZWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICBkZWNvbmZpZ3VyZSBjcHVzXG4iCisiICAtcCwgLS1kaXNwYXRjaCA8bW9kZT4gICAgICAgICBzZXQgZGlzcGF0Y2hpbmcgbW9kZVxuIgorIiAgLXIsIC0tcmVzY2FuICAgICAgICAgICAgICAgICAgdHJpZ2dlciByZXNjYW4gb2YgY3B1c1xuIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzozMjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiJXM6IGJpbGlubWV5ZW4gYXJnw7xtYW46ICVzXG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBoYXJkfHNvZnRcbiIKK21zZ3N0ciAiS3VsbGFuxLFtxLE6IGN0cmxhbHRkZWwgaGFyZHxzb2Z0XG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0IHRoZSBmdW5jdGlvbiBvZiB0aGUgQ3RybC1BbHQtRGVsIGNvbWJpbmF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTEKK21zZ2lkICJpbXBsaWNpdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHZhbHVlIGluICVzOiAlanUiCittc2dzdHIgImF6YW1pIGLDtmzDvHQgc2F5xLFzxLEgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo2MworIywgZnV6enkKK21zZ2lkICJZb3UgbXVzdCBiZSByb290IHRvIHNldCB0aGUgQ3RybC1BbHQtRGVsIGJlaGF2aW9yIgorbXNnc3RyICJDdHJsLUFsdC1EZWwgZGF2cmFuxLHFn8SxbsSxbiBiZWxpcmxlbm1lc2kgc2FkZWNlIHJvb3QgdGFyYWbEsW5kYW4geWFwxLFsYWJpbGlyLlxuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjcxIHN5cy11dGlscy9pcGNybS5jOjM5MiBzeXMtdXRpbHMvaXBjcm0uYzo0MTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICIlczogYmlsaW5tZXllbiBhcmfDvG1hbjogJXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEwCisjLCBmdXp6eQorbXNnaWQgInN5c3RlbSBpcyB1bnVzYWJsZSIKK21zZ3N0ciAiQnUgZGlzayBiw7Zsw7xtw7wga3VsbGFuxLHFn3PEsXoiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMQorbXNnaWQgImFjdGlvbiBtdXN0IGJlIHRha2VuIGltbWVkaWF0ZWx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMgorbXNnaWQgImNyaXRpY2FsIGNvbmRpdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEzCisjLCBmdXp6eQorbXNnaWQgImVycm9yIGNvbmRpdGlvbnMiCittc2dzdHIgIiVzIGthcGF0xLFsxLFya2VuIGhhdGEiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNAorIywgZnV6enkKK21zZ2lkICJ3YXJuaW5nIGNvbmRpdGlvbnMiCittc2dzdHIgIlV5YXLEsTogJXMgZGlzayBiw7Zsw7xtw7wgIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTUKK21zZ2lkICJub3JtYWwgYnV0IHNpZ25pZmljYW50IGNvbmRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTYKK21zZ2lkICJpbmZvcm1hdGlvbmFsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNworbXNnaWQgImRlYnVnLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMQorIywgZnV6enkKK21zZ2lkICJrZXJuZWwgbWVzc2FnZXMiCittc2dzdHIgImlsZXRpLXNhecSxc8SxIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzIKK21zZ2lkICJyYW5kb20gdXNlci1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzMKKyMsIGZ1enp5Cittc2dpZCAibWFpbCBzeXN0ZW0iCittc2dzdHIgIkRvc3lhIHNpc3RlbWkgdMO8csO8bsO8IHZlcmluOiAiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNAorbXNnaWQgInN5c3RlbSBkYWVtb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNQorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM2Cittc2dpZCAibWVzc2FnZXMgZ2VuZXJhdGVkIGludGVybmFsbHkgYnkgc3lzbG9nZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzcKK21zZ2lkICJsaW5lIHByaW50ZXIgc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOAorbXNnaWQgIm5ldHdvcmsgbmV3cyBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM5Cittc2dpZCAiVVVDUCBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQwCisjLCBmdXp6eQorbXNnaWQgImNsb2NrIGRhZW1vbiIKK21zZ3N0ciAiJXMgdXp1bmx1xJ91IGFsxLFuYW3EsXlvciIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQxCittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyAocHJpdmF0ZSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQyCisjLCBmdXp6eQorbXNnaWQgIkZUUCBkYWVtb24iCittc2dzdHIgIiVzIHV6dW5sdcSfdSBhbMSxbmFtxLF5b3IiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI2NworbXNnaWQgIkRpc3BsYXkgb3IgY29udHJvbCB0aGUga2VybmVsIHJpbmcgYnVmZmVyLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MAorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGNsZWFyIHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vcm1hbGRlIHZlcmlsZW4gw6fEsWt0xLEgdmVyaWxtZXpcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjcxCisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgcmVhZCBhbmQgY2xlYXIgYWxsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOb3JtYWxkZSB2ZXJpbGVuIMOnxLFrdMSxIHZlcmlsbWV6XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MgorIywgZnV6enkKK21zZ2lkICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIGRpc2FibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MworIywgZnV6enkKK21zZ2lkICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIGVuYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc0Cittc2dpZCAiIC1GLCAtLWZpbGUgPGZpbGU+ICAgICAgICAgICB1c2UgdGhlIGZpbGUgaW5zdGVhZCBvZiB0aGUga2VybmVsIGxvZyBidWZmZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzUKK21zZ2lkICIgLWYsIC0tZmFjaWxpdHkgPGxpc3Q+ICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGZhY2lsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzYKKyMsIGZ1enp5Cittc2dpZCAiIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICBodW1hbiByZWFkYWJsZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICDDh8Sxa3TEsSB0xLFybmFrIGnDp2luZSBhbMSxbm1helxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzcKKyMsIGZ1enp5Cittc2dpZCAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICBkaXNwbGF5IGtlcm5lbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm9ybWFsZGUgdmVyaWxlbiDDp8Sxa3TEsSB2ZXJpbG1lelxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzgKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm9ybWFsZGUgdmVyaWxlbiDDp8Sxa3TEsSB2ZXJpbG1lelxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODEKK21zZ2lkICIgLWwsIC0tbGV2ZWwgPGxpc3Q+ICAgICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGxldmVsc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MgorbXNnaWQgIiAtbiwgLS1jb25zb2xlLWxldmVsIDxsZXZlbD4gc2V0IGxldmVsIG9mIG1lc3NhZ2VzIHByaW50ZWQgdG8gY29uc29sZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MworIywgZnV6enkKK21zZ2lkICIgLVAsIC0tbm9wYWdlciAgICAgICAgICAgICAgIGRvIG5vdCBwaXBlIG91dHB1dCBpbnRvIGEgcGFnZXJcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICDDh8Sxa3TEsSB0xLFybmFrIGnDp2luZSBhbMSxbm1helxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODQKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg1CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgZm9yY2UgdG8gdXNlIHN5c2xvZygyKSByYXRoZXIgdGhhbiAvZGV2L2ttc2dcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICDDh8Sxa3TEsSB0xLFybmFrIGnDp2luZSBhbMSxbm1helxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODYKK21zZ2lkICIgLXMsIC0tYnVmZmVyLXNpemUgPHNpemU+ICAgIGJ1ZmZlciBzaXplIHRvIHF1ZXJ5IHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODcKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICBkaXNwbGF5IHVzZXJzcGFjZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm9ybWFsZGUgdmVyaWxlbiDDp8Sxa3TEsSB2ZXJpbG1lelxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODgKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICB3YWl0IGZvciBuZXcgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vcm1hbGRlIHZlcmlsZW4gw6fEsWt0xLEgdmVyaWxtZXpcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg5Cittc2dpZCAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBkZWNvZGUgZmFjaWxpdHkgYW5kIGxldmVsIHRvIHJlYWRhYmxlIHN0cmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIHNob3cgdGltZSBkZWx0YSBiZXR3ZWVuIHByaW50ZWQgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICDDh8Sxa3TEsSB0xLFybmFrIGnDp2luZSBhbMSxbm1helxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTEKK21zZ2lkICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIHNob3cgbG9jYWwgdGltZSBhbmQgdGltZSBkZWx0YSBpbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTIKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICBzaG93IGh1bWFuLXJlYWRhYmxlIHRpbWVzdGFtcCAobWF5IGJlIGluYWNjdXJhdGUhKVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgIMOHxLFrdMSxIHTEsXJuYWsgacOnaW5lIGFsxLFubWF6XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MworIywgZnV6enkKK21zZ2lkICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIGRvbid0IHNob3cgYW55IHRpbWVzdGFtcCB3aXRoIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk0Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXAgdXNpbmcgdGhlIGdpdmVuIGZvcm1hdDpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyJTdXNwZW5kaW5nL3Jlc3VtZSB3aWxsIG1ha2UgY3RpbWUgYW5kIGlzbyB0aW1lc3RhbXBzIGluYWNjdXJhdGUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzAwCittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgZmFjaWxpdGllczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDYKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBsZXZlbHMgKHByaW9yaXRpZXMpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxldmVsICclcyciCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbGV2ZWwgJyVzJyIKK21zZ3N0ciAiJXM6IEJpbGlubWV5ZW4ga29tdXQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGZhY2lsaXR5ICclcyciCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo0MDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAiJXMgZGl6aW5pIHlvayFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW1hcDogJXMiCittc2dzdHIgIiVzIGHDp8SxbGFtxLF5b3IiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNTYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBidWZmZXIgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAia2ltbGlrIGdlw6dlcnNpeiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQwOQorbXNnaWQgIi0tc2hvdy1kZWx0YSBpcyBpZ25vcmVkIHdoZW4gdXNlZCB0b2dldGhlciB3aXRoIGlzbzg2MDEgdGltZSBmb3JtYXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQzMgorbXNnaWQgIi0tcmF3IGNhbiBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1sZXZlbCBvciAtLWZhY2lsaXR5IG9ubHkgd2hlbiByZWFkaW5nIG1lc3NhZ2VzIGZyb20gL2Rldi9rbXNnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0NDIKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBrZXJuZWwgYnVmZmVyIGZhaWxlZCIKK21zZ3N0ciAiZ2V0dGltZW9mZGF5IGJhxZ9hcsSxc8SxeiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQ2MQorIywgZnV6enkKK21zZ2lkICJrbG9nY3RsIGZhaWxlZCIKK21zZ3N0ciAiZnN5bmMgaGF0YSB2ZXJkaSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPnw8bW91bnRwb2ludD5dXG4iCittc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbc2XDp2VuZWtsZXJdIGF5Z8SxdCAuLi5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgIkVqZWN0IHJlbW92YWJsZSBtZWRpYS5cbiIKK21zZ3N0ciAiIHNpbGluZWJpbGlyIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNDAKK21zZ2lkICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICB0dXJuIGF1dG8tZWplY3QgZmVhdHVyZSBvbiBvciBvZmZcbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHNsb3Q+ICAgIHN3aXRjaCBkaXNjcyBvbiBhIENELVJPTSBjaGFuZ2VyXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBkaXNwbGF5IGRlZmF1bHQgZGV2aWNlXG4iCisiIC1mLCAtLWZsb3BweSAgICAgICAgICAgICAgICBlamVjdCBmbG9wcHlcbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIGRvbid0IGNhcmUgYWJvdXQgZGV2aWNlIHR5cGVcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIHRvZ2dsZSBtYW51YWwgZWplY3QgcHJvdGVjdGlvbiBvbi9vZmZcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIGRvIG5vdCB1bm1vdW50IGRldmljZSBldmVuIGlmIGl0IGlzIG1vdW50ZWRcbiIKKyIgLU0sIC0tbm8tcGFydGl0aW9ucy11bm1vdW50IGRvIG5vdCB1bm1vdW50IGFub3RoZXIgcGFydGl0aW9uc1xuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgZG9uJ3QgZWplY3QsIGp1c3Qgc2hvdyBkZXZpY2UgZm91bmRcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIHVzZSAvcHJvYy9tb3VudHMgaW5zdGVhZCBvZiAvZXRjL210YWJcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIGVqZWN0IHRhcGVcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIGVqZWN0IENELVJPTVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgZWplY3QgU0NTSSBkZXZpY2VcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIGNsb3NlIHRyYXlcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIHRvZ2dsZSB0cmF5XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICBlbmFibGUgdmVyYm9zZSBvdXRwdXRcbiIKKyIgLXgsIC0tY2RzcGVlZCA8c3BlZWQ+ICAgICAgIHNldCBDRC1ST00gbWF4IHNwZWVkXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICBsaXN0IENELVJPTSBhdmFpbGFibGUgc3BlZWRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTY0Cittc2dpZCAiIgorIlxuIgorIkJ5IGRlZmF1bHQgdHJpZXMgLXIsIC1zLCAtZiwgYW5kIC1xIGluIG9yZGVyIHVudGlsIHN1Y2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjEwCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNoYW5nZXJzbG90Ly1jIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNkc3BlZWQvLXggb3B0aW9uIgorbXNnc3RyICJraW1saWsgZ2XDp2Vyc2l6OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMjYKK21zZ2lkICJDRC1ST00gYXV0by1lamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDAKKyMsIGZ1enp5Cittc2dpZCAiQ0QtUk9NIGRvb3IgbG9jayBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJTYWRlY2UgMWsgYmxvay9iw7ZsZ2UgZGVzdGXEn2kgdmFyIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDIKK21zZ2lkICJvdGhlciB1c2VycyBoYXZlIHRoZSBkcml2ZSBvcGVuIGFuZCBub3QgQ0FQX1NZU19BRE1JTiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDQKK21zZ2lkICJDRC1ST00gbG9jayBkb29yIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0OQorbXNnaWQgIkNELURyaXZlIG1heSBOT1QgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzUxCittc2dpZCAiQ0QtRHJpdmUgbWF5IGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2MgorbXNnaWQgIkNELVJPTSBzZWxlY3QgZGlzYyBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjYKK21zZ2lkICJDRC1ST00gbG9hZCBmcm9tIHNsb3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY4Cittc2dpZCAiSURFL0FUQVBJIENELVJPTSBjaGFuZ2VyIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODYKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODgKKyMsIGZ1enp5Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIm1vdW50OiBkb3N5YSBzaXN0ZW1pIHTDvHLDvCAlcyDDp2VraXJkZWsgdGFyYWbEsW5kYW4gZGVzdGVrbGVubWl5b3IiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQwNQorbXNnaWQgIkNELVJPTSBlamVjdCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzMgc3lzLXV0aWxzL2VqZWN0LmM6NDU2IHN5cy11dGlscy9lamVjdC5jOjEwMTEKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM2Cittc2dpZCAibm8gQ0QtUk9NIGluZm9ybWF0aW9uIGF2YWlsYWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzkKK21zZ2lkICJDRC1ST00gZHJpdmUgaXMgbm90IHJlYWR5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4MgorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDg0IHN5cy11dGlscy9lamVjdC5jOjU3MAorIywgZnV6enkKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbCIKK21zZ3N0ciAibW91bnQ6IGRvc3lhIHNpc3RlbWkgdMO8csO8ICVzIMOnZWtpcmRlayB0YXJhZsSxbmRhbiBkZXN0ZWtsZW5taXlvciIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmRpbmcgQ0QtUk9NIG5hbWUiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU0NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiJXMgZHVydW0gYmlsZ2lsZXJpIGFsxLFuYW3EsXlvciIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTg4CisjLCBmdXp6eQorbXNnaWQgIm5vdCBhbiBzZyBkZXZpY2UsIG9yIG9sZCBzZyBkcml2ZXIiCittc2dzdHIgIiVzIGJpciBibG9rIGF5Z8SxdMSxIHlhIGRhIGRvc3lhc8SxIGRlxJ9pbFxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bm1vdW50aW5nIgorbXNnc3RyICJtb3VudCBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGV4ZWMgL2Jpbi91bW91bnQgb2YgYCVzJyIKK21zZ3N0ciAiaW9jdGwoKSAlcyBkZW4gemFtYW7EsSBva3V5YW1hZMSxIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzgKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGZvcmsiCittc2dzdHIgIiVzIGHDp8SxbGFtxLF5b3IiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAibW91bnQ6IGJhxJ9sYW1hIG5va3Rhc8SxICVzIHlvayIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZmFpbGVkXG4iCittc2dzdHIgIiVzOiAlcyAgJXMgb2xhcmFrIGRlxJ9pxZ90aXJpbGVtZWRpOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3MzAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IHRhYmxlIgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzkxIHN5cy11dGlscy9lamVjdC5jOjg5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50ZWQgb24gJXMiCittc2dzdHIgInVtb3VudDogJXM6IHlvayIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODMzCittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gYXV0byIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gJWxkWCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVmYXVsdCBkZXZpY2U6IGAlcyciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyBkZWZhdWx0IGRldmljZSBgJXMnIgorbXNnc3RyICLDlm50YW7EsW1sxLEgZGXEn2VyICV1IGt1bGxhbsSxbMSxeW9yXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4NiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBmaW5kIGRldmljZSIKK21zZ3N0ciAidGFrYXMgYWxhbsSxbmRhIGJhxZ9hIGdpZGlsZW1peW9yIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBuYW1lIGlzIGAlcyciCittc2dzdHIgImxvb3A6ICVzIGF5Z8SxdMSxIGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg5NCBzeXMtdXRpbHMvdW1vdW50LmM6MjA2IHN5cy11dGlscy91bW91bnQuYzoyMzUKKyM6IHN5cy11dGlscy91bW91bnQuYzo0MDkgc3lzLXV0aWxzL3Vtb3VudC5jOjQzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBtb3VudGVkIgorbXNnc3RyICJ1bW91bnQ6ICVzOiB5b2siCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg5OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYyBkZXZpY2U6ICVzIChkaXNrIGRldmljZSB3aWxsIGJlIHVzZWQgZm9yIGVqZWN0KSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBmb3VuZCBtb3VudHBvaW50IG9yIGRldmljZSB3aXRoIHRoZSBnaXZlbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIHdob2xlLWRpc2sgZGV2aWNlIgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGhvdC1wbHVnZ2FibGUgZGV2aWNlIgorbXNnc3RyICIlczogYmlyIGJsb2sgYXlnxLF0xLEgZGXEn2lsXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIGlzIGAlcyciCittc2dzdHIgImxvb3A6ICVzIGF5Z8SxdMSxIGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxOAorbXNnaWQgImV4aXRpbmcgZHVlIHRvIC1uLy0tbm9vcCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlbmFibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNhYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2luZyB0cmF5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9nZ2xpbmcgdHJheSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxpc3RpbmcgQ0QtUk9NIHNwZWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBkZXZpY2UgaW4gdXNlIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBheWfEsXQgbWXFn2d1bCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWxlY3RpbmcgQ0QtUk9NIGRpc2MgIyVsZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgQ0QtUk9NIGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMAorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgU0NTSSBjb21tYW5kcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE3CisjLCBmdXp6eQorbXNnaWQgIlNDU0kgZWplY3Qgc3VjY2VlZGVkIgorbXNnc3RyICIlcyBiYcWfYXLEsWxkxLEuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTgKKyMsIGZ1enp5Cittc2dpZCAiU0NTSSBlamVjdCBmYWlsZWQiCittc2dzdHIgIsOnYWzEscWfdMSxcm1hIGJhxZ9hcsSxc8SxelxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgZmxvcHB5IGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNAorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI1Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyB0YXBlIG9mZmxpbmUgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDMxCittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzIKKyMsIGZ1enp5Cittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJkaXppbmUgZ2XDp2lsZW1lZGlcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzNgorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZWplY3QiCittc2dzdHIgImlvY3RsKCkgJXMgZGVuIHphbWFuxLEgb2t1eWFtYWTEsSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlbmFtZT5cbiIKK21zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFtzZcOnZW5la2xlcl0gYXlnxLF0IC4uLlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODEKK21zZ2lkICJQcmVhbGxvY2F0ZSBzcGFjZSB0bywgb3IgZGVhbGxvY2F0ZSBzcGFjZSBmcm9tIGEgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODQKK21zZ2lkICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgcmVtb3ZlIGEgcmFuZ2UgZnJvbSB0aGUgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGlnLWhvbGVzICAgICAgZGV0ZWN0IHplcm9lcyBhbmQgcmVwbGFjZSB3aXRoIGhvbGVzXG4iCittc2dzdHIgIiAgICAtbiAgICAgICAgICAgICAgICAgIGdlcsOnZWt0ZSBkaXNrZSB5YXrEsWxtYXoiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICAgbGVuZ3RoIGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIgICAgLUMjICAtLWN5bGluZGVycyAjICBrdWxsYW7EsWxhY2FrIHNpbGluZGlyIHNhecSxc8SxIGJlbGlydGlsaXIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NworIywgZnV6enkKK21zZ2lkICIgLW4sIC0ta2VlcC1zaXplICAgICAgbWFpbnRhaW4gdGhlIGFwcGFyZW50IHNpemUgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIERpc2sgYsO2bMO8bWxlbWUgdGFibG9zdW51IGVrcmFuYSB5YSBkYSBiaXIgZG9zeWF5YSB5YXphciIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg4Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgIG9mZnNldCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODkKK21zZ2lkICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVwbGFjZSBhIHJhbmdlIHdpdGggYSBob2xlIChpbXBsaWVzIC1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MAorbXNnaWQgIiAteiwgLS16ZXJvLXJhbmdlICAgICB6ZXJvIGFuZCBlbnN1cmUgYWxsb2NhdGlvbiBvZiBhIHJhbmdlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEyNgorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQ6IGtlZXAgc2l6ZSBtb2RlIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMjcKKyMsIGZ1enp5Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBiYcWfYXLEsXPEsXpcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IGJhxZ9hcsSxc8SxelxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJWp1IGJ5dGVzKSBjb252ZXJ0ZWQgdG8gc3BhcnNlIGhvbGVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNDYgc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTE4CisjLCBmdXp6eQorbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZCIKK21zZ3N0ciAiLS1kYXRlIHNlw6dlbmXEn2kgYmVsaXJ0aWxtZW1pxZ8uXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTggc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgIkF5YXIgZGXEn2VyaSBnZcOnZXJzaXo6ICVzXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjIKKyMsIGZ1enp5Cittc2dpZCAibm8gbGVuZ3RoIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAiw4dvayBmYXpsYSBhcmfDvG1hbiBiZWxpcnRpbGRpLlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzY3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAiQXlhciBkZcSfZXJpIGdlw6dlcnNpejogJXNcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gPGNvbW1hbmQ+IFs8YXJndW1lbnQ+Li4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gLWMgPGNvbW1hbmQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlIGRlc2NyaXB0b3IgbnVtYmVyPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjU5CisjLCBmdXp6eQorbXNnaWQgIk1hbmFnZSBmaWxlIGxvY2tzIGZyb20gc2hlbGwgc2NyaXB0cy5cbiIKK21zZ3N0ciAibG9naW46IGthYnVrIGJldGnEn2kgacOnaW4gYmVsbGVrIHlldGVyc2l6LlxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hhcmVkICAgICAgICAgICAgIGdldCBhIHNoYXJlZCBsb2NrXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOb3JtYWxkZSB2ZXJpbGVuIMOnxLFrdMSxIHZlcmlsbWV6XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYzCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAgZ2V0IGFuIGV4Y2x1c2l2ZSBsb2NrIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgIMOHxLFrdMSxIHTEsXJuYWsgacOnaW5lIGFsxLFubWF6XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY0CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAgcmVtb3ZlIGEgbG9ja1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm9ybWFsZGUgdmVyaWxlbiDDp8Sxa3TEsSB2ZXJpbG1lelxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIGZhaWwgcmF0aGVyIHRoYW4gd2FpdFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm9ybWFsZGUgdmVyaWxlbiDDp8Sxa3TEsSB2ZXJpbG1lelxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NgorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjcKK21zZ2lkICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxudW1iZXI+ICBleGl0IGNvZGUgYWZ0ZXIgY29uZmxpY3Qgb3IgdGltZW91dFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY4CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1jbG9zZSAgICAgICAgICAgICAgY2xvc2UgZmlsZSBkZXNjcmlwdG9yIGJlZm9yZSBydW5uaW5nIGNvbW1hbmRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICDDh8Sxa3TEsSB0xLFybmFrIGnDp2luZSBhbMSxbm1helxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OQorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgcnVuIGEgc2luZ2xlIGNvbW1hbmQgc3RyaW5nIHRocm91Z2ggdGhlIHNoZWxsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgICBleGVjdXRlIGNvbW1hbmQgd2l0aG91dCBmb3JraW5nXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOb3JtYWxkZSB2ZXJpbGVuIMOnxLFrdMSxIHZlcmlsbWV6XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgaW5jcmVhc2UgdmVyYm9zaXR5XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBsb2NrIGZpbGUgJXMiCittc2dzdHIgIiclcycgZG9zeWFzxLEgYcOnxLFsYW3EsXlvciIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjA1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgdGltZW91dCB2YWx1ZSIKK21zZ3N0ciAia2ltbGlrIGdlw6dlcnNpeiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjA5CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZXhpdCBjb2RlIgorbXNnc3RyICJraW1saWsgZ2XDp2Vyc2l6IgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMjgKK21zZ2lkICJ0aGUgLS1uby1mb3JrIGFuZCAtLWNsb3NlIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGNvbW1hbmQgYXJndW1lbnQiCittc2dzdHIgIiVzIGJpciBhcmfDvG1hbmxhIGt1bGxhbsSxbMSxclxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTQKKyMsIGZ1enp5Cittc2dpZCAiYmFkIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAiYmxvayBheWfEsXTEsSAiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NworIywgZnV6enkKK21zZ2lkICJyZXF1aXJlcyBmaWxlIGRlc2NyaXB0b3IsIGZpbGUgb3IgZGlyZWN0b3J5IgorbXNnc3RyICJrw7ZrIGTDvMSfw7xtw7wgYmlyIGRpemluIGRlxJ9pbCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjgxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgbG9jayIKK21zZ3N0ciAiJXMgZHVydW0gYmlsZ2lsZXJpIGFsxLFuYW3EsXlvciIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6Mjg4Cittc2dpZCAidGltZW91dCB3aGlsZSB3YWl0aW5nIHRvIGdldCBsb2NrIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjMyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldHRpbmcgbG9jayB0b29rICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiVzICAlLjZmIHNhbml5ZVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAiw4dhbMSxxZ90xLFybWEgc8SxcmFzxLFuZGEgaGF0YVx0JXNcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50cG9pbnQ+XG4iCittc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbc2XDp2VuZWtsZXJdIGF5Z8SxdCAuLi5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTMKK21zZ2lkICJTdXNwZW5kIGFjY2VzcyB0byBhIGZpbGVzeXN0ZW0gKGV4dDMvNCwgUmVpc2VyRlMsIEpGUywgWEZTKS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1NgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZnJlZXplICAgICAgZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBEb3N5YSBzaXN0ZW1pIHTDvHLDvG7DvCBkZcSfacWfdGlyaXIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjU3Cittc2dpZCAiIC11LCAtLXVuZnJlZXplICAgIHVuZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTE2Cittc2dpZCAibmVpdGhlciAtLWZyZWV6ZSBvciAtLXVuZnJlZXplIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImvDtmsgZMO8xJ/DvG3DvCBiaXIgZGl6aW4gZGXEn2lsIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmcmVlemUgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IGJhxZ9hcsSxc8SxelxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgYmHFn2FyxLFzxLF6XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAia8O2ayBkw7zEn8O8bcO8IGJpciBkaXppbiBkZcSfaWwiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEZJVFJJTSBpb2N0bCBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgYmHFn2FyxLFzxLF6XG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgaGVyZSBpcyBhIHZlcnkgbGFyZ2UgbnVtYmVyLgorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCU8UFJJdTY0PiBieXRlcykgdHJpbW1lZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxOTEgc3lzLXV0aWxzL3N3YXBvbi5jOjcyOSBzeXMtdXRpbHMvdW1vdW50LmM6MzI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxtb3VudCBwb2ludD5cbiIKK21zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFtzZcOnZW5la2xlcl0gYXlnxLF0IC4uLlxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU0Cittc2dpZCAiRGlzY2FyZCB1bnVzZWQgYmxvY2tzIG9uIGEgbW91bnRlZCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTcKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgdHJpbSBhbGwgbW91bnRlZCBmaWxlc3lzdGVtcyB0aGF0IGFyZSBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBCdSB5YXJkxLFtIGlsZXRpc2luaSBnw7ZzdGVyaXJcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1OAorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIHRoZSBvZmZzZXQgaW4gYnl0ZXMgdG8gc3RhcnQgZGlzY2FyZGluZyBmcm9tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1OQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiICAgIC1DIyAgLS1jeWxpbmRlcnMgIyAga3VsbGFuxLFsYWNhayBzaWxpbmRpciBzYXnEsXPEsSBiZWxpcnRpbGlyIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYwCittc2dpZCAiIC1tLCAtLW1pbmltdW0gPG51bT4gdGhlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCB0byBkaXNjYXJkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBudW1iZXIgb2YgZGlzY2FyZGVkIGJ5dGVzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMxNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWluaW11bSBleHRlbnQgbGVuZ3RoIgorbXNnc3RyICJpb2N0bCgpICVzIGRlbiB6YW1hbsSxIG9rdXlhbWFkxLEiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMjkKKyMsIGZ1enp5Cittc2dpZCAibm8gbW91bnRwb2ludCBzcGVjaWZpZWQiCittc2dzdHIgIi0tZGF0ZSBzZcOnZW5lxJ9pIGJlbGlydGlsbWVtacWfLlxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdGhlIGRpc2NhcmQgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIlV5YXLEsTogbm9sb2NrIHNlw6dlbmXEn2kgZGVzdGVrbGVubWl5b3IuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkFzc3VtaW5nIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gJXMgdGltZS5cbiIKK21zZ3N0ciAiRG9uYW7EsW0gc2FhdGluaW4gJXMgZGUgdHV0dWxkdcSfdSB2YXJzYXnEsWzEsXlvci5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNDcgc3lzLXV0aWxzL2h3Y2xvY2suYzozMzQKK21zZ2lkICJVVEMiCittc2dzdHIgIlVUQyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNDcgc3lzLXV0aWxzL2h3Y2xvY2suYzozMzMKK21zZ2lkICJsb2NhbCIKK21zZ3N0ciAieWVyZWwiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzE4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJXYXJuaW5nOiB1bnJlY29nbml6ZWQgdGhpcmQgbGluZSBpbiBhZGp0aW1lIGZpbGVcbiIKKyIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pIgorbXNnc3RyICIlczogVXlhcsSxOiBhZGp0aW1lIGRvc3lhc8SxbmRha2kgw7zDp8O8bmPDvCBzYXTEsXIgYW5sYcWfxLFsYW1hZMSxXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgZHJpZnQgYWRqdXN0bWVudCBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiU29uIHNhcG1hIGF5YXLEsSAxOTY5IGRhbiBzb25yYWtpICVsZC4gc2FuaXllZGUgeWFwxLFsZMSxXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgY2FsaWJyYXRpb24gZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIlNvbiBkw7x6ZWx0bWUgMTk2OSBkYW4gc29ucmFraSAlbGQuIHNhbml5ZWRlIHlhcMSxbGTEsVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMzMQorIywgYy1mb3JtYXQKK21zZ2lkICJIYXJkd2FyZSBjbG9jayBpcyBvbiAlcyB0aW1lXG4iCittc2dzdHIgIkRvbmFuxLFtIHNhYXRpICVzIGRlbiBiZXJpIGHDp8Sxa1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM1OAorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGZvciBjbG9jayB0aWNrLi4uXG4iCittc2dzdHIgInNhYXQgdGlraSBpw6dpbiBiZWtsZW5peW9yLi4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnN5bmNocm9uaXphdGlvbiBmYWlsZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5nb3QgY2xvY2sgdGlja1xuIgorbXNnc3RyICIuLi4gc2FhdCB0aWtpIGFsxLFuZMSxXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDIyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdmFsdWVzIGluIGhhcmR3YXJlIGNsb2NrOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCittc2dzdHIgIkRvbmFuxLFtIHNhYXRpbmRlIGdlw6dlcnNpeiBkZcSfZXJsZXI6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHcgY2xvY2sgdGltZSA6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIkRvbmFuxLFtIHphbWFuxLE6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAxOTY5IHnEsWzEsW5kYW4gYmVyaSAlbGQgc2FuaXllXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDY1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgcmVhZCBmcm9tIEhhcmR3YXJlIENsb2NrOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCittc2dzdHIgIkRvbmFuxLFtIHNhYXRpbmRlbiBva3VuYW46ICU0ZC8lLjJkLyUuMmQgJTAyZDolMDJkOiUwMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyBIYXJkd2FyZSBDbG9jayB0byAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiRG9uYW7EsW0gU2FhdGkgJS4yZDolLjJkOiUuMmQgPSAxOTY5IGRhbiBiZXJpICVsZCBzYW5peWUgb2xhcmFrIGF5YXJsYW7EsXlvclxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICJDbG9jayBub3QgY2hhbmdlZCAtIHRlc3Rpbmcgb25seS5cbiIKK21zZ3N0ciAiU2FhdCBkZcSfacWfbWV5ZWNlayAtIHNhZGVjZSB0ZXN0IGVkaWxpeW9yLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYwMworIywgYy1mb3JtYXQKK21zZ2lkICJzbGVlcGluZyB+JWQgdXNlY1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjE0CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUganVtcGVkIGJhY2t3YXJkICUuNmYgc2Vjb25kcyB0byAlbGQuJTA2bGQgLSByZXRhcmdldGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZC4lMDZsZCA8ICVsZC4lMDZsZCAoJS42ZilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciBwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVsZC4lMDZsZCBpcyBjbG9zZSBlbm91Z2ggdG8gJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyJTZXQgUlRDIHRvICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2bGQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODgKKyMsIGZ1enp5Cittc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIHJlZ2lzdGVycyBjb250YWluIHZhbHVlcyB0aGF0IGFyZSBlaXRoZXIgaW52YWxpZCAoZS5nLiA1MHRoIGRheSBvZiBtb250aCkgb3IgYmV5b25kIHRoZSByYW5nZSB3ZSBjYW4gaGFuZGxlIChlLmcuIFllYXIgMjA5NSkuIgorbXNnc3RyICJEb25hbsSxbSBzYWF0aSB5YXptYcOnbGFyxLEgaGVtIGdlw6dlcnNpeiAoYXnEsW4gNTAuIGfDvG7DvCBnaWJpKSBoZW0gZGUgZWxkZSBlZGlsZWJpbGlyIG9sbWF5YW4gYmlyIGFyYWzEsWt0YSAoMjUwMCB5xLFsxLEgZ2liaSkgZGXEn2VybGVyIGnDp2VyaXlvci5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MjgKKyMsIGZ1enp5Cittc2dpZCAiTm8gLS1kYXRlIG9wdGlvbiBzcGVjaWZpZWQuIgorbXNnc3RyICItLWRhdGUgc2XDp2VuZcSfaSBiZWxpcnRpbG1lbWnFny5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MzQKKyMsIGZ1enp5Cittc2dpZCAiLS1kYXRlIGFyZ3VtZW50IHRvbyBsb25nIgorbXNnc3RyICItLWRhdGUgaWxlIHZlcmlsZW4gYXJnw7xtYW4gw6dvayB1enVuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzQxCisjLCBmdXp6eQorbXNnaWQgIiIKKyJUaGUgdmFsdWUgb2YgdGhlIC0tZGF0ZSBvcHRpb24gaXMgbm90IGEgdmFsaWQgZGF0ZS5cbiIKKyJJbiBwYXJ0aWN1bGFyLCBpdCBjb250YWlucyBxdW90YXRpb24gbWFya3MuIgorbXNnc3RyICIiCisiLS1kYXRlIHNlw6dlbmXEn2luaW4gZGXEn2VyaSBnZcOnZXJzaXouXG4iCisiQXlyxLFjYSB0xLFybmFrIGnFn2FyZXRsZXJpIGRlIGnDp2VyaXlvci5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSXNzdWluZyBkYXRlIGNvbW1hbmQ6ICVzXG4iCittc2dzdHIgIlZlcmlsZW4gZGF0ZSBrb211dHU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzUzCittc2dpZCAiVW5hYmxlIHRvIHJ1biAnZGF0ZScgcHJvZ3JhbSBpbiAvYmluL3NoIHNoZWxsLiBwb3BlbigpIGZhaWxlZCIKK21zZ3N0ciAiJ2RhdGUnIHV5Z3VsYW1hc8SxIC9iaW4vc2gga2FidcSfdW5kYSDDp2FsxLHFn3TEsXLEsWxhbcSxeW9yLiBwb3BlbigpIGJhxZ9hcsSxc8SxeiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzcG9uc2UgZnJvbSBkYXRlIGNvbW1hbmQgPSAlc1xuIgorbXNnc3RyICJkYXRlIGtvbXV0dW51biBzb251Y3UgPSAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkYXRlIGNvbW1hbmQgaXNzdWVkIGJ5ICVzIHJldHVybmVkIHVuZXhwZWN0ZWQgcmVzdWx0cy5cbiIKKyJUaGUgY29tbWFuZCB3YXM6XG4iCisiICAlc1xuIgorIlRoZSByZXNwb25zZSB3YXM6XG4iCisiICAlcyIKK21zZ3N0ciAiIgorIiVzIHRhcmFmxLFuZGFuIHZlcmlsZW4gZGF0ZSBrb211dHUgYW5sYcWfxLFsbWF5YW4gc29udcOnbGFyIHZlcmRpLlxuIgorIktvbXV0OlxuIgorIiAgJXNcbiIKKyJTb251w6c6XG4iCisiICAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc3NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgc29tZXRoaW5nIG90aGVyIHRoYW4gYW4gaW50ZWdlciB3aGVyZSB0aGUgY29udmVydGVkIHRpbWUgdmFsdWUgd2FzIGV4cGVjdGVkLlxuIgorIlRoZSBjb21tYW5kIHdhczpcbiIKKyIgICVzXG4iCisiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyIgJXNcbiIKK21zZ3N0ciAiIgorIiVzIHRhcmFmxLFuZGFuIHZlcmlsZW4gZGF0ZSBrb211dHUgZMO2bsO8xZ90w7xyw7xsbcO8xZ8gemFtYW4gZGXEn2VyaSBvbGFyYWsgYmlyIHRhbXNhecSxIHllcmluZSBmYXJrbMSxIGJpcsWfZXlsZXJsZSBzb251w6dsYW5kxLEuXG4iCisiS29tdXQ6XG4iCisiICAlc1xuIgorIlNvbnXDpzpcbiIKKyIgJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGF0ZSBzdHJpbmcgJXMgZXF1YXRlcyB0byAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5LlxuIgorbXNnc3RyICJ0YXJpaCBkaXpnZXNpICVzIDE5NjkgZGFuIGJlcmkgJWxkIHNhbml5ZXllIGXFn2l0dGlyLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgyNAorIywgZnV6enkKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBzZXQgdGhlIFN5c3RlbSBUaW1lIGZyb20gaXQuIgorbXNnc3RyICJEb25hbsSxbSBTYWF0aSBnZcOnZXJsaSBiaXIgemFtYW4gZGXEn2VyaSBpw6dlcm1lZGnEn2luZGVuIFNpc3RlbSBaYW1hbsSxIG8gZGXEn2VyZSBheWFybGFuYW1hei5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NDMgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXk6XG4iCittc2dzdHIgInNldHRpbWVvZmRheSDDp2HEn3LEsXPEsTpcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NDQgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHR0di50dl9zZWMgPSAlbGQsIHR2LnR2X3VzZWMgPSAlbGRcbiIKK21zZ3N0ciAiXHR0di50dl9zZWMgPSAlbGQsIHR2LnR2X3VzZWMgPSAlbGRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NDYgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCittc2dzdHIgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1MCBzeXMtdXRpbHMvaHdjbG9jay5jOjkzOAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBzeXN0ZW0gY2xvY2sgYmVjYXVzZSBydW5uaW5nIGluIHRlc3QgbW9kZS5cbiIKK21zZ3N0ciAiVGVzdCBraXBpbmRlIMOnYWzEscWfxLFsZMSxxJ/EsW5kYW4gc2lzdGVtIHNhYXRpIGRlxJ9pxZ9taXlvci5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NjYgc3lzLXV0aWxzL2h3Y2xvY2suYzo5NjIKKyMsIGZ1enp5Cittc2dpZCAiTXVzdCBiZSBzdXBlcnVzZXIgdG8gc2V0IHN5c3RlbSBjbG9jay4iCittc2dzdHIgIlNpc3RlbSBzYWF0aW5pbiBheWFybGFubWFzxLEgcm9vdCB5ZXRraXNpbmRlZGlyLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg2OSBzeXMtdXRpbHMvaHdjbG9jay5jOjk2NQorbXNnaWQgInNldHRpbWVvZmRheSgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dGltZW9mZGF5KCkgYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkwNQorIywgYy1mb3JtYXQKK21zZ2lkICJDdXJyZW50IHN5c3RlbSB0aW1lOiAlbGQgPSAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlx0VVRDOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSAtLXVwZGF0ZS1kcmlmdCBvcHRpb24gd2FzIG5vdCB1c2VkLlxuIgorbXNnc3RyICJEb25hbsSxbSBzYWF0aW5pbiDDtm5jZWtpIGRlxJ9lcmxlcmkgYm96dWsgb2xkdcSfdW5kYW4gc2FwbWEgZmFrdMO2csO8IGF5YXJsYW5hbcSxeW9yLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgSGFyZHdhcmUgQ2xvY2sgcHJldmlvdXNseSBjb250YWluZWQgZ2FyYmFnZS5cbiIKK21zZ3N0ciAiRG9uYW7EsW0gc2FhdGluaW4gw7ZuY2VraSBkZcSfZXJsZXJpIGJvenVrIG9sZHXEn3VuZGFuIHNhcG1hIGZha3TDtnLDvCBheWFybGFuYW3EsXlvci5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGxhc3QgY2FsaWJyYXRpb24gdGltZSBpcyB6ZXJvLFxuIgorInNvIGhpc3RvcnkgaXMgYmFkIGFuZCBjYWxpYnJhdGlvbiBzdGFydG92ZXIgaXMgbmVjZXNzYXJ5LlxuIgorbXNnc3RyICIiCisiU29uIGTDvHplbHRtZSB6YW1hbsSxIHPEsWbEsXIgb2xkdcSfbmRhbiBzYXBtYSBmYWt0w7Zyw7wgYXlhcnPEsXosXG4iCisieWFuaSBnZcOnbWnFnyBoYXRhbMSxIHZlIGJpciBkw7x6ZWx0bWUgYmHFn2xhbmfEsWPEsSBnZXJla2l5b3IuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBpdCBoYXMgYmVlbiBsZXNzIHRoYW4gZm91ciBob3VycyBzaW5jZSB0aGUgbGFzdCBjYWxpYnJhdGlvbi5cbiIKK21zZ3N0ciAiU29uIGTDvHplbHRtZWRlbiBiZXJpIDEgZ8O8bmRlbiBheiB6YW1hbiBnZcOndGnEn2luZGVuIHNhcG1hIGZha3TDtnLDvCBheWFybGFuYW3EsXlvci5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdCBmYWN0b3Igd2FzIGNhbGN1bGF0ZWQgYXMgJWYgc2Vjb25kcy9kYXkuXG4iCisiSXQgaXMgZmFyIHRvbyBtdWNoLiBSZXNldHRpbmcgdG8gemVyby5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdGVkICVmIHNlY29uZHMgaW4gdGhlIHBhc3QgJWYgc2Vjb25kc1xuIgorImluIHNwaXRlIG9mIGEgZHJpZnQgZmFjdG9yIG9mICVmIHNlY29uZHMvZGF5LlxuIgorIkFkanVzdGluZyBkcmlmdCBmYWN0b3IgYnkgJWYgc2Vjb25kcy9kYXlcbiIKK21zZ3N0ciAiIgorIiUzJGYgc2FuaXllL2fDvG4gc2FwbWEgZmFrdMO2csO8bmUgcmHEn21lbiwgJTIkZCBzYW5peWUgacOnaW5kZSBzYWF0ICUxJC4xZiBzYW5peWUgc2FwdMSxLlxuIgorIlNhcG1hIGZha3TDtnLDvCAlNCRmIHNhbml5ZS9nw7xuIG9sYXJhayBheWFybGFuxLF5b3JcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlZCBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWQgc2Vjb25kc1xuIgorbXNnc3RyWzBdICJTb24gYXlhcmxhbWFkYW4gYmVyaSAlZCBzYW5peWUgZ2XDp3RpXG4iCittc2dzdHJbMV0gIlNvbiBheWFybGFtYWRhbiBiZXJpICVkIHNhbml5ZSBnZcOndGlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYWxjdWxhdGVkIEhhcmR3YXJlIENsb2NrIGRyaWZ0IGlzICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiVzICAlLjZmIHNhbml5ZVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHVwZGF0aW5nIGFkanRpbWUgZmlsZSBiZWNhdXNlIG9mIHRlc3RpbmcgbW9kZS5cbiIKK21zZ3N0ciAiYWRqdGltZSBkb3N5YXPEsSB0ZXN0IGtpcGluZGUgb2x1bmR1xJ91bmRhbiBnw7xuY2VsbGVubWl5b3IuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEzNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV291bGQgaGF2ZSB3cml0dGVuIHRoZSBmb2xsb3dpbmcgdG8gJXM6XG4iCisiJXMiCittc2dzdHIgIiIKKyJBxZ9hxJ/EsWRha2kgJXMgZSB5YXrEsWxtYWzEsTpcbiIKKyIlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIGluIGl0ICglcykgZm9yIHdyaXRpbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTQ5IHN5cy11dGlscy9od2Nsb2NrLmM6MTE1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgdXBkYXRlIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzICglcykgaW4gaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTY0CisjLCBmdXp6eQorbXNnaWQgIkRyaWZ0IGFkanVzdG1lbnQgcGFyYW1ldGVycyBub3QgdXBkYXRlZC4iCittc2dzdHIgIlNhcG1hIGF5YXIgcGFyYW1ldHJlbGVyaSBnw7xuY2VsbGVubWVkaS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjAwCisjLCBmdXp6eQorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IGFkanVzdCBpdC4iCittc2dzdHIgIkRvbmFuxLFtIHNhYXRpIGdlw6dlcmxpIGJpciB6YW1hbiBpw6dlcm1lZGnEn2luZGVuIGF5YXJsYW5hbcSxeW9yLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgbGFzdCBhZGp1c3RtZW50IHRpbWUgaXMgemVybywgc28gaGlzdG9yeSBpcyBiYWQuXG4iCittc2dzdHIgIiIKKyJTb24gZMO8emVsdG1lIHphbWFuxLEgc8SxZsSxciBvbGR1xJ9uZGFuIHNhcG1hIGZha3TDtnLDvCBheWFyc8SxeixcbiIKKyJ5YW5pIGdlw6dtacWfIGhhdGFsxLEgdmUgYmlyIGTDvHplbHRtZSBiYcWfbGFuZ8SxY8SxIGdlcmVraXlvci5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGRyaWZ0IGZhY3RvciAlZiBpcyBmYXIgdG9vIGhpZ2guXG4iCittc2dzdHIgIiIKKyJTb24gZMO8emVsdG1lIHphbWFuxLEgc8SxZsSxciBvbGR1xJ9uZGFuIHNhcG1hIGZha3TDtnLDvCBheWFyc8SxeixcbiIKKyJ5YW5pIGdlw6dtacWfIGhhdGFsxLEgdmUgYmlyIGTDvHplbHRtZSBiYcWfbGFuZ8SxY8SxIGdlcmVraXlvci5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHVzYWJsZSBjbG9jayBpbnRlcmZhY2UgZm91bmQuXG4iCittc2dzdHIgIkt1bGxhbsSxbGFiaWxpciBiaXIgc2FhdCBhcmF5w7x6w7wgeW9rLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmVlZGVkIGFkanVzdG1lbnQgaXMgbGVzcyB0aGFuIG9uZSBzZWNvbmQsIHNvIG5vdCBzZXR0aW5nIGNsb2NrLlxuIgorbXNnc3RyICJHZXJla2VuIGF5YXIgYmlyIHNhbml5ZW5pbiBhbHTEsW5kYSBvbGR1xJ91bmRhbiBzYWF0IGF5YXJsYW5txLF5b3IuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM4OCBzeXMtdXRpbHMvaHdjbG9jay5jOjEzOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIHNldCBzeXN0ZW0gY2xvY2suXG4iCittc2dzdHIgIlNpc3RlbSBzYWF0aSBheWFybGFuYW3EsXlvci5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjksIFJUQyBpcyBwcmVkaWN0ZWQgdG8gcmVhZCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQzMQorIywgZnV6enkKK21zZ2lkICIiCisiVGhlIGtlcm5lbCBrZWVwcyBhbiBlcG9jaCB2YWx1ZSBmb3IgdGhlIEhhcmR3YXJlIENsb2NrIG9ubHkgb24gYW4gQWxwaGEgbWFjaGluZS5cbiIKKyJUaGlzIGNvcHkgb2YgaHdjbG9jayB3YXMgYnVpbHQgZm9yIGEgbWFjaGluZSBvdGhlciB0aGFuIEFscGhhXG4iCisiKGFuZCB0aHVzIGlzIHByZXN1bWFibHkgbm90IHJ1bm5pbmcgb24gYW4gQWxwaGEgbm93KS4gIE5vIGFjdGlvbiB0YWtlbi4iCittc2dzdHIgIiIKKyLDh2VraXJkZWsgc2FkZWNlIEFscGhhIG1ha2luYSDDvHN0w7xuZGUgRG9uYW7EsW0gU2FhdGkgacOnaW4gYmlyIGTDtm5lbXNlbGxpayBkZcSfZXJpIHNha2xhci5cbiIKKyJod2Nsb2NrJ3VuIGJ1IGtvcHlhc8SxIGJpciBBbHBoYSBpw6dpbiBkZXJsZW5tZW1pxZ8uIEJpciDFn2V5IHlhcMSxbG1hZMSxLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NDgKKyMsIGZ1enp5Cittc2dpZCAiVW5hYmxlIHRvIGdldCB0aGUgZXBvY2ggdmFsdWUgZnJvbSB0aGUga2VybmVsLiIKK21zZ3N0ciAiw4dla2lyZGVrdGVuIGTDtm5lbXNlbGxpayBkZcSfZXJpIGFsxLFuYW3EsXlvci5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIktlcm5lbCBpcyBhc3N1bWluZyBhbiBlcG9jaCB2YWx1ZSBvZiAlbHVcbiIKK21zZ3N0ciAiw4dla2lyZGVrIGTDtm5lbXNlbGxpayBkZcSfZXJpbmkgJWx1IHZhcnNhecSxeW9yXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ1NQorIywgZnV6enkKK21zZ2lkICJUbyBzZXQgdGhlIGVwb2NoIHZhbHVlLCB5b3UgbXVzdCB1c2UgdGhlICdlcG9jaCcgb3B0aW9uIHRvIHRlbGwgdG8gd2hhdCB2YWx1ZSB0byBzZXQgaXQuIgorbXNnc3RyICJEw7ZuZW1zZWxsaWsgZGXEn2VyaW5pbiBheWFybGFuYWJpbG1lc2kgacOnaW4sIGF5YXJsYW5hY2FrIGRlxJ9lcmkgJ2Vwb2NoJyBzZcOnZW5lxJ9pIGlsZSB2ZXJtZWxpc2luaXouXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgdGhlIGVwb2NoIHRvICVsdSAtIHRlc3Rpbmcgb25seS5cbiIKK21zZ3N0ciAiRMO2bmVtc2VsbGlrICVkIG9sYXJhayBheWFybGFubWF5YWNhayAtIHNhZGVjZSB0ZXN0IGVkaWxpeW9yLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIHNldCB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbC5cbiIKK21zZ3N0ciAiw4dla2lyZGVrdGUgZMO2bmVtc2VsbGlrIGRlxJ9lcmkgYXlhcmxhbmFtxLF5b3IuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU1NgorbXNnaWQgIiBod2Nsb2NrIFtmdW5jdGlvbl0gW29wdGlvbi4uLl1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NTkKK21zZ2lkICJRdWVyeSBvciBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2MQorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiRnVuY3Rpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgZGlzayBiw7Zsw7xtw7w6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2MgorbXNnaWQgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorIiAtciwgLS1zaG93ICAgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCByZXN1bHRcbiIKKyIgICAgIC0tZ2V0ICAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgZHJpZnQgY29ycmVjdGVkIHJlc3VsdFxuIgorIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2NgorbXNnaWQgIiIKKyIgLXMsIC0taGN0b3N5cyAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorIiAtdywgLS1zeXN0b2hjICAgICAgICBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIGZyb20gdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWVcbiIKKyIgICAgIC0tc3lzdHogICAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBiYXNlZCBvbiB0aGUgY3VycmVudCB0aW1lem9uZVxuIgorIiAgICAgLS1hZGp1c3QgICAgICAgICBhZGp1c3QgdGhlIFJUQyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IHNpbmNlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNsb2NrIHdhcyBsYXN0IHNldCBvciBhZGp1c3RlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU3MQorbXNnaWQgIiAtYywgLS1jb21wYXJlICAgICAgICBwZXJpb2RpY2FsbHkgY29tcGFyZSB0aGUgc3lzdGVtIGNsb2NrIHdpdGggdGhlIENNT1MgY2xvY2tcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NzMKK21zZ2lkICIiCisiICAgICAtLWdldGVwb2NoICAgICAgIHByaW50IG91dCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWVcbiIKKyIgICAgIC0tc2V0ZXBvY2ggICAgICAgc2V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZSB0byB0aGUgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgZ2l2ZW4gd2l0aCAtLWVwb2NoXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTc3Cittc2dpZCAiIgorIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IFJUQyByZWFkaW5nIGF0IHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTgxCittc2dpZCAiIgorIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyIgICAgIC0tbG9jYWx0aW1lICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4NAorbXNnaWQgIiAtZiwgLS1ydGMgPGZpbGU+ICAgICBzcGVjaWFsIC9kZXYvLi4uIGZpbGUgdG8gdXNlIGluc3RlYWQgb2YgZGVmYXVsdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLWRpcmVjdGlzYSAgICAgIGFjY2VzcyB0aGUgSVNBIGJ1cyBkaXJlY3RseSBpbnN0ZWFkIG9mICVzXG4iCisiICAgICAtLWJhZHllYXIgICAgICAgIGlnbm9yZSBSVEMncyB5ZWFyIGJlY2F1c2UgdGhlIEJJT1MgaXMgYnJva2VuXG4iCisiICAgICAtLWRhdGUgPHRpbWU+ICAgIHNwZWNpZmllcyB0aGUgdGltZSB0byB3aGljaCB0byBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisiICAgICAtLWVwb2NoIDx5ZWFyPiAgIHNwZWNpZmllcyB0aGUgeWVhciB3aGljaCBpcyB0aGUgYmVnaW5uaW5nIG9mIHRoZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIGNsb2NrJ3MgZXBvY2ggdmFsdWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS11cGRhdGUtZHJpZnQgICB1cGRhdGUgZHJpZnQgZmFjdG9yIGluICUxJHMgKHJlcXVpcmVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgLS1zZXQgb3IgLS1zeXN0b2hjKVxuIgorIiAgICAgLS1ub2FkamZpbGUgICAgICBkbyBub3QgYWNjZXNzICUxJHM7IHRoaXMgcmVxdWlyZXMgdGhlIHVzZSBvZlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZVxuIgorIiAgICAgLS1hZGpmaWxlIDxmaWxlPiBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICUxJHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1OTkKK21zZ2lkICIiCisiICAgICAtLXRlc3QgICAgICAgICAgIGRvIG5vdCB1cGRhdGUgYW55dGhpbmcsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGhhcHBlblxuIgorIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBkZWJ1Z2dpbmcgbW9kZVxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTYwMgorIywgZnV6enkKK21zZ2lkICIiCisiIC1KfC0tamVuc2VuLCAtQXwtLWFyYywgLVN8LS1zcm0sIC1GfC0tZnVua3ktdG95XG4iCisiICAgICAgdGVsbCBod2Nsb2NrIHRoZSB0eXBlIG9mIEFscGhhIHlvdSBoYXZlIChzZWUgaHdjbG9jayg4KSlcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAgLS1qZW5zZW4sIC0tYXJjLCAtLXNybSwgLS1mdW5reS10b3lcbiIKKyIgICAgICAgICAgICAgICAgQWxwaGEnbsSxesSxbiBod2Nsb2NrIHTDvHLDvCBiZWxpcnRpbGlyXG4iCisiICAgICAgICAgICAgICAgKGh3Y2xvY2soOCkgbWFuIHNheWZhc8SxbmEgYmFrxLFuxLF6KVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE3MjgKKyMsIGZ1enp5Cittc2dpZCAiVW5hYmxlIHRvIGNvbm5lY3QgdG8gYXVkaXQgc3lzdGVtIgorbXNnc3RyICJTaXN0ZW0gc2FhdGkgYXlhcmxhbmFtxLF5b3IuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTgyNgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGVwb2NoIGFyZ3VtZW50IgorbXNnc3RyICJraW1saWsgZ2XDp2Vyc2l6IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdGFrZXMgbm8gbm9uLW9wdGlvbiBhcmd1bWVudHMuICBZb3Ugc3VwcGxpZWQgJWQuXG4iCittc2dzdHIgIiVzIHNlw6dlbmXEn2kgYXJnw7xtYW4gYWxtYXouICAlZCB2ZXJpbGRpLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4ODAKKyMsIGZ1enp5Cittc2dpZCAiV2l0aCAtLW5vYWRqZmlsZSwgeW91IG11c3Qgc3BlY2lmeSBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWUiCittc2dzdHIgIiVzOiAtLW5vYWRqZmlsZSBpbGUgeWEgLS11dGMgeWEgZGEgLS1sb2NhbHRpbWUgYmVsaXJ0aWxtZWxpZGlyXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTg5MworIywgZnV6enkKK21zZ2lkICJObyB1c2FibGUgc2V0LXRvIHRpbWUuICBDYW5ub3Qgc2V0IGNsb2NrLiIKK21zZ3N0ciAiWmFtYW4gYXlhcmxhbWEga3VsbGFuxLFtZMSxxZ/EsS4gIFNhYXQgYXlhcmxhbmFtYXouXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTkxNworIywgZnV6enkKK21zZ2lkICJDYW5ub3QgYWNjZXNzIHRoZSBIYXJkd2FyZSBDbG9jayB2aWEgYW55IGtub3duIG1ldGhvZC4iCittc2dzdHIgIkJpbGluZW4gaGVyIGhhbmdpIGJpciB5w7ZudGVtbGUgRG9uYW7EsW0gU2FhdGluZSBlcmnFn2lsZW1peW9yLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE5MjAKKyMsIGZ1enp5Cittc2dpZCAiVXNlIHRoZSAtLWRlYnVnIG9wdGlvbiB0byBzZWUgdGhlIGRldGFpbHMgb2Ygb3VyIHNlYXJjaCBmb3IgYW4gYWNjZXNzIG1ldGhvZC4iCittc2dzdHIgIkJpciBlcmnFn2ltIHnDtm50ZW1pIGnDp2luIGFyYW1hIGF5csSxbnTEsWxhcsSxbsSxIGfDtnJtZWsgacOnaW4gLS1kZWJ1ZyBzZcOnZW5lxJ9pbmkga3VsbGFuxLFuLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgImJvb3RlZCBmcm9tIE1JTE9cbiIKK21zZ3N0ciAiTUlMTydkYW4gYcOnxLFsZMSxXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUnVmZmlhbiBCQ0QgY2xvY2tcbiIKK21zZ3N0ciAiUnVmZmlhbiBCQ0QgY2xvY2tcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9ja3BvcnQgYWRqdXN0ZWQgdG8gMHgleFxuIgorbXNnc3RyICJzYWF0cG9ydHUgMHgleCdlIGF5YXJsYW5kxLFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJmdW5reSBUT1khXG4iCittc2dzdHIgImZ1bmt5IFRpbWVPZlllYXIhXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImF0b21pYyAlcyBmYWlsZWQgZm9yIDEwMDAgaXRlcmF0aW9ucyEiCittc2dzdHIgIiVzOiAxMDAwIHlpbmVsZW1lIGnDp2luIGF0b21payAlcyBiYcWfYXLEsXPEsXohIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3NfcmVhZCgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc19yZWFkKCk6IHJlYWQgZnJvbSBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NDUKKyMsIGZ1enp5Cittc2dpZCAiSSBmYWlsZWQgdG8gZ2V0IHBlcm1pc3Npb24gYmVjYXVzZSBJIGRpZG4ndCB0cnkuIgorbXNnc3RyICJEZW5lbm1lZGnEn2luZGVuIGVyacWfaW0gaXppbmxlcmkgYWzEsW5hbWFkxLEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NDgKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGdldCBJL08gcG9ydCBhY2Nlc3M6ICB0aGUgaW9wbCgzKSBjYWxsIGZhaWxlZC4iCittc2dzdHIgIiVzIEcvw4cgcG9ydHUgZXJpxZ9pbWkgYWxhbcSxeW9yOiBpb3BsKDMpIMOnYcSfcsSxc8SxIGJhxZ9hcsSxc8Sxei5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY1MQorbXNnaWQgIlByb2JhYmx5IHlvdSBuZWVkIHJvb3QgcHJpdmlsZWdlcy5cbiIKK21zZ3N0ciAiU2l6ZSByb290IHlldGtpbGVyaSBnZXJla2xpLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjU4Cittc2dpZCAiVXNpbmcgZGlyZWN0IEkvTyBpbnN0cnVjdGlvbnMgdG8gSVNBIGNsb2NrLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byByZWFkIHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoKSAlcyBkZW4gemFtYW4gb2t1bWFkYSBiYcWfYXLEsXPEsXpcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tICVzIHRvIGNoYW5nZVxuIgorbXNnc3RyICIlcyBkZW4gemFtYW7EsSBkZcSfacWfdGlybWVrIGnDp2luIMOnZXZyaW0gacOnaW5kZSBiZWtsZW5peW9yXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIzNgorIywgZnV6enkKK21zZ2lkICJUaW1lZCBvdXQgd2FpdGluZyBmb3IgdGltZSBjaGFuZ2UuIgorbXNnc3RyICJaYW1hbsSxIGRlxJ9pxZ90aXJtZWsgacOnaW4gemFtYW5hxZ/EsW3EsSBiZWtsZW5peW9yLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgaGF2ZSBpbnRlcnJ1cHQgZnVuY3Rpb25zLiAiCittc2dzdHIgIiVzIGnDp2luIGtlc21lIGnFn2xldmxlcmkgeW9rLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzAyCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgZmFpbGVkIgorbXNnc3RyICJzZWxlY3QoKSAlcyBkZW4gc2FhdCBkYXJiZXNpIGJla2xlcmtlbiBoYXRhIHZlcmRpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgdGltZWQgb3V0IgorbXNnc3RyICJzZWxlY3QoKSAlcyBkZW4gc2FhdCBkYXJiZXNpIGJla2xlcmtlbiB6YW1hbmHFn8SxbcSxbmEgdcSfcmFkxLFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvZmYgdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIgorbXNnc3RyICJpb2N0bCgpICVzIGRlbiBnw7xuY2VsbGVtZSBrZXNtZWxlcmluaSBkdXJkdXJhbWFkxLEiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb24gdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIHVuZXhwZWN0ZWRseSIKK21zZ3N0ciAiaW9jdGwoKSAlcyBkZW4gZ8O8bmNlbGxlbWUga2VzbWVsZXJpbmkgYcOnbWFzxLEgZ2VyZWtpcmtlbiBoYXRhIHZlcmRpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byBzZXQgdGhlIHRpbWUgZmFpbGVkLiIKK21zZ3N0ciAiaW9jdGwoKSAlcyBkZW4gemFtYW7EsSBheWFybGF5YW1hZMSxLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHdhcyBzdWNjZXNzZnVsLlxuIgorbXNnc3RyICJpb2N0bCglcykgYmHFn2FyxLFsZMSxLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozODcKK21zZ2lkICJVc2luZyB0aGUgL2RldiBpbnRlcmZhY2UgdG8gdGhlIGNsb2NrLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MTcgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUbyBtYW5pcHVsYXRlIHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLCB3ZSBtdXN0IGFjY2VzcyB0aGUgTGludXggJ3J0YycgZGV2aWNlIGRyaXZlciB2aWEgdGhlIGRldmljZSBzcGVjaWFsIGZpbGUgJXMuICBUaGlzIGZpbGUgZG9lcyBub3QgZXhpc3Qgb24gdGhpcyBzeXN0ZW0uIgorbXNnc3RyICLDh2VraXJkZWt0ZWtpIGTDtm5lbXNlbGxpayBkZcSfZXJpbmkgZGXEn2nFn3Rpcm1layBpw6dpbiBheWfEsXQgw7Z6ZWwgZG9zeWFzxLEgJXMgw7x6ZXJpbmRlbiBMaW51eCAncnRjJyBheWfEsXQgc8O8csO8Y8O8c8O8bmUgZXJpxZ9pbG1lbGlkaXIuICAgQnUgZG9zeWEgc2lzdGVtZGUgeW9rLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoUlRDX0VQT0NIX1JFQUQpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoUlRDX0VQT0NIX1JFQUQpICVzIGnDp2luIGJhxZ9hcsSxc8SxeiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3ZSBoYXZlIHJlYWQgZXBvY2ggJWx1IGZyb20gJXMgd2l0aCBSVENfRVBPQ0hfUkVBRCBpb2N0bC5cbiIKK21zZ3N0ciAiUlRDX0VQT0NIX1JFQUQgaW9jdGwgaWxlIGTDtm5lbXNlbGxpayAlbGQgJXMgZGVuIG9rdW5hYmlsaXIuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGVwb2NoIHZhbHVlIG1heSBub3QgYmUgbGVzcyB0aGFuIDE5MDAuICBZb3UgcmVxdWVzdGVkICVsZCIKK21zZ3N0ciAiRMO2bmVtc2VsbGlrIGRlxJ9lcmluaW4gYmHFn2xhbmfEsWPEsSAxOTAwIHnEsWzEsW5kYW4gw7ZuY2Ugb2xhbWF6LiAgJWxkIGlzdGVuZGkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBlcG9jaCB0byAlbHUgd2l0aCBSVENfRVBPQ0hfU0VUIGlvY3RsIHRvICVzLlxuIgorbXNnc3RyICJSVENfRVBPQ0hfU0VUIGlvY3RsIGlsZSBkw7ZuZW1zZWxsaWsgJWxkICVzIGRlbiBheWFybGFuxLF5b3IuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGtlcm5lbCBkZXZpY2UgZHJpdmVyIGZvciAlcyBkb2VzIG5vdCBoYXZlIHRoZSBSVENfRVBPQ0hfU0VUIGlvY3RsLiIKK21zZ3N0ciAiJXMgacOnaW4gw6dla2lyZGVrIGF5Z8SxdCBzw7xyw7xjw7xzw7xuZGUgUlRDX0VQT0NIX1NFVCBpb2N0bCB5b2suXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bChSVENfRVBPQ0hfU0VUKSB0byAlcyBmYWlsZWQiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9TRVQpICVzIGnDp2luIGhhdGEgdmVyZGkiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjY5Cittc2dpZCAiQ3JlYXRlIHZhcmlvdXMgSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MgorbXNnaWQgIiAtTSwgLS1zaG1lbSA8c2l6ZT4gICAgICAgY3JlYXRlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBvZiBzaXplIDxzaXplPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjczCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZSA8bnVtYmVyPiBjcmVhdGUgc2VtYXBob3JlIGFycmF5IHdpdGggPG51bWJlcj4gZWxlbWVudHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NAorIywgZnV6enkKK21zZ2lkICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIGNyZWF0ZSBtZXNzYWdlIHF1ZXVlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOb3JtYWxkZSB2ZXJpbGVuIMOnxLFrdMSxIHZlcmlsbWV6XG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc1Cittc2dpZCAiIC1wLCAtLW1vZGUgPG1vZGU+ICAgICAgICBwZXJtaXNzaW9uIGZvciB0aGUgcmVzb3VyY2UgKGRlZmF1bHQgaXMgMDY0NClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTAgc3lzLXV0aWxzL2xvc2V0dXAuYzo2OTcgc3lzLXV0aWxzL3pyYW1jdGwuYzo2MjIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNpemUiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVsZW1lbnRzIgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQxCittc2dpZCAiY3JlYXRlIHNoYXJlIG1lbW9yeSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTaGFyZWQgbWVtb3J5IGlkOiAlZFxuIgorbXNnc3RyICIiCisiXG4iCisiUGF5bGHFn8SxbWzEsSBiZWxsZWsgQsO2bMO8dCBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDkKK21zZ2lkICJjcmVhdGUgbWVzc2FnZSBxdWV1ZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIHF1ZXVlIGlkOiAlZFxuIgorbXNnc3RyICIiCisiXG4iCisixLBsZXRpIEt1eXJ1xJ91IGlsdGtpbWw9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBzZW1hcGhvcmUgZmFpbGVkIgorbXNnc3RyICJheXLEsWxtxLHFnyBzZW1hZm9yIHNhecSxc8SxID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZW1hcGhvcmUgaWQ6ICVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTZW1hZm9yIERpemlzaSBzZW1raW1sPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPGlkPi4uLlxuIgorbXNnc3RyICJLdWxsYW7EsW3EsTogJXMgW3Nlw6dlbmVrbGVyXSBheWfEsXQgLi4uXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU0Cittc2dpZCAiUmVtb3ZlIGNlcnRhaW4gSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1NworIywgZnV6enkKK21zZ2lkICIgLW0sIC0tc2htZW0taWQgPGlkPiAgICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBpZFxuIgorbXNnc3RyICIiCisiXG4iCisiUGF5bGHFn8SxbWzEsSBiZWxsZWsgQsO2bMO8dCBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OAorbXNnaWQgIiAtTSwgLS1zaG1lbS1rZXkgPGtleT4gICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGtleVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU5Cittc2dpZCAiIC1xLCAtLXF1ZXVlLWlkIDxpZD4gICAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjAKK21zZ2lkICIgLVEsIC0tcXVldWUta2V5IDxrZXk+ICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkga2V5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjEKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlLWlkIDxpZD4gICAgcmVtb3ZlIHNlbWFwaG9yZSBieSBpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYyCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGtleT4gIHJlbW92ZSBzZW1hcGhvcmUgYnkga2V5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjMKK21zZ2lkICIgLWEsIC0tYWxsWz1zaG18bXNnfHNlbV0gICAgcmVtb3ZlIGFsbCAoaW4gdGhlIHNwZWNpZmllZCBjYXRlZ29yeSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBTw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpclxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVtb3Zpbmcgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGlkIGAlZCdcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBheWxhxZ/EsW1sxLEgYmVsbGVrIELDtmzDvHQgc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIG1lc3NhZ2UgcXVldWUgaWQgYCVkJ1xuIgorbXNnc3RyICIiCisiXG4iCisixLBsZXRpIEt1eXJ1xJ91IGlsdGtpbWw9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNlbWFwaG9yZSBpZCBgJWQnXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTZW1hZm9yIERpemlzaSBzZW1raW1sPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOCBzeXMtdXRpbHMvaXBjcm0uYzoyMjIKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3Iga2V5IgorbXNnc3RyICJhbmFodGFyIGnDp2luIGVyacWfaW0gZW5nZWxsZW5kaSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGlkIgorbXNnc3RyICJraW1saWsgacOnaW4gaXppbmxlciB5ZXRlcnNpeiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExIHN5cy11dGlscy9pcGNybS5jOjIyOAorbXNnaWQgImludmFsaWQga2V5IgorbXNnc3RyICJhbmFodGFyIGdlw6dlcnNpeiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExCittc2dpZCAiaW52YWxpZCBpZCIKK21zZ3N0ciAia2ltbGlrIGdlw6dlcnNpeiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0IHN5cy11dGlscy9pcGNybS5jOjIyNQorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBrZXkiCittc2dzdHIgImFuYWh0YXIgemF0ZW4gc2lsaW5tacWfIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQgaWQiCittc2dzdHIgImtpbWxpayB6YXRlbiBzaWxpbm1pxZ8iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNyBzeXMtdXRpbHMvaXBjcm0uYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAia2V5IGZhaWxlZCIKK21zZ3N0ciAiZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNworIywgZnV6enkKK21zZ2lkICJpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGJhxZ9hcsSxc8SxeiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkOiAlcyIKK21zZ3N0ciAia2ltbGlrIGdlw6dlcnNpejogJXNcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgInJlc291cmNlKHMpIGRlbGV0ZWRcbiIKK21zZ3N0ciAiw7Z6a2F5bmFrKGxhcikgc2lsaW5kaVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwga2V5ICglcykiCittc2dzdHIgIiVzOiBrdXJhbGTEscWfxLEgdHXFnyAoJXMpXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI1NgorIywgZnV6enkKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgIsOnZWtpcmRlayBwYXlsYcWfxLFtbMSxIGJlbGxlayBpw6dpbiB5YXDEsWxhbmTEsXLEsWxtYW3EscWfXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI2OQorIywgZnV6enkKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXMiCittc2dzdHIgIsOnZWtpcmRlayBzZW1hZm9ybGFyIGnDp2luIHlhcMSxbGFuZMSxcsSxbG1hbcSxxZ9cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjkwCisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgIsOnZWtpcmRlayBpbGV0aSBrdXlydWtsYXLEsSBpw6dpbiB5YXDEsWxhbmTEsXLEsWxtYW3EscWfXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtyZXNvdXJjZS1vcHRpb24uLi5dIFtvdXRwdXQtb3B0aW9uXVxuIgorIiAlMSRzIC1tfC1xfC1zIC1pIDxpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU2IHN5cy11dGlscy9sc2lwYy5jOjI4MAorIywgZnV6enkKK21zZ2lkICJTaG93IGluZm9ybWF0aW9uIG9uIElQQyBmYWNpbGl0aWVzLlxuIgorbXNnc3RyICIlcyBva3VtYSBlcmnFn2ltaW5peiBvbGFuIGlwYyB5ZXRlbmVrbGVyaSBoYWtrxLFuZGEgYmlsZ2kgc2HEn2xhci5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiLWkga2ltbGlrIFstcyAtcSAtbV0gOiBraW1saWsgaWxlIGJlbGlydGlsZW4gw7Z6a2F5bmFrIGhha2vEsW5kYSBiaWxnaSB2ZXJpclxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0IHN5cy11dGlscy9sc2lwYy5jOjI4MworIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBvcHRpb25zOlxuIgorbXNnc3RyICJ0ZWhsaWtlbGkgc2XDp2VuZWtsZXI6IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1IHN5cy11dGlscy9sc2lwYy5jOjI4NAorbXNnaWQgIiAtbSwgLS1zaG1lbXMgICAgICBzaGFyZWQgbWVtb3J5IHNlZ21lbnRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NiBzeXMtdXRpbHMvbHNpcGMuYzoyODUKK21zZ2lkICIgLXEsIC0tcXVldWVzICAgICAgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY3IHN5cy11dGlscy9sc2lwYy5jOjI4NgorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hcGhvcmVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2OAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICBhbGwgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MQorIywgZnV6enkKK21zZ2lkICJPdXRwdXQgb3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIGRpc2sgYsO2bMO8bcO8OlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcyCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgIHNob3cgUElEcyBvZiBjcmVhdG9yIGFuZCBsYXN0IG9wZXJhdG9yXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NAorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NQorbXNnaWQgIiAtbCwgLS1saW1pdHMgICAgICBzaG93IHJlc291cmNlIGxpbWl0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKK21zZ2lkICIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWh1bWFuICAgICAgIHNob3cgc2l6ZXMgaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3OAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICBzaG93IHNpemVzIGluIGJ5dGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoxNjQKK21zZ2lkICJ3aGVuIHVzaW5nIGFuIElELCBhIHNpbmdsZSByZXNvdXJjZSBtdXN0IGJlIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNoYXJlZCBtZW1vcnkgbGltaXRzXG4iCittc2dzdHIgImF6YW1pIHRvcGxhbSBwYXlsYcWfxLFtbMSxIGJlbGxlayAoc2F5ZmEpID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tIFBheWxhxZ/EsW1sxLEgQmVsbGVrIFPEsW7EsXJsYXLEsSAtLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIHNlZ21lbnRzID0gJWp1XG4iCittc2dzdHIgImF6YW1pIGLDtmzDvHQgc2F5xLFzxLEgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDkKKyMsIGZ1enp5Cittc2dpZCAibWF4IHNlZyBzaXplIgorbXNnc3RyICJkw7zEn8O8bSBzYXnEsXPEsSBoYXRhbMSxIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxMQorIywgZnV6enkKK21zZ2lkICJtYXggdG90YWwgc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAiYXphbWkgdG9wbGFtIHBheWxhxZ/EsW1sxLEgYmVsbGVrIChzYXlmYSkgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTQKKyMsIGZ1enp5Cittc2dpZCAibWluIHNlZyBzaXplIgorbXNnc3RyICJkw7zEn8O8bSBzYXnEsXPEsSBoYXRhbMSxIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIyNgorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnlcbiIKK21zZ3N0ciAiw6dla2lyZGVrIHBheWxhxZ/EsW1sxLEgYmVsbGVrIGnDp2luIHlhcMSxbGFuZMSxcsSxbG1hbcSxxZ9cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tIFBheWxhxZ/EsW1sxLEgQmVsbGVrIER1cnVtdSAtLS0tLVxuIgorCisjLiBUUkFOU0xBVE9SUzogVGhpcyBvdXRwdXQgZm9ybWF0IGlzIG1haW50YWluZWQgZm9yIGJhY2t3YXJkCisjLiBjb21wYXRpYmlsaXR5IGFzIGlwY3MgaXMgdXNlZCBpbiBzY3JpcHRzLiBGb3IgY29uc2lzdGVuY3kKKyMuIHdpdGggdGhlIHJlc3QsIHRoZSB0cmFuc2xhdGVkIGZvcm0gY2FuIGZvbGxvdyB0aGlzIG1vZGVsOgorIy4gKgorIy4gInNlZ21lbnRzIGFsbG9jYXRlZCA9ICVkXG4iCisjLiAicGFnZXMgYWxsb2NhdGVkID0gJWxkXG4iCisjLiAicGFnZXMgcmVzaWRlbnQgPSAlbGRcbiIKKyMuICJwYWdlcyBzd2FwcGVkID0gJWxkXG4iCisjLiAic3dhcCBwZXJmb3JtYW5jZSA9ICVsZCBhdHRlbXB0cywgJWxkIHN1Y2Nlc3Nlc1xuIgorIy4KKyM6IHN5cy11dGlscy9pcGNzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyJwYWdlcyBhbGxvY2F0ZWQgJWxkXG4iCisicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorInBhZ2VzIHN3YXBwZWQgICAlbGRcbiIKKyJTd2FwIHBlcmZvcm1hbmNlOiAlbGQgYXR0ZW1wdHNcdCAlbGQgc3VjY2Vzc2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tIFBheWxhxZ/EsW1sxLEgQmVsbGVrIELDtmzDvHQgT2x1xZ90dXJ1Y3VsYXLEsS9LZW5kaWxlcmkgLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjc0CisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgInNobWlkIgorbXNnc3RyICJzaG1pZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzozODYKKyM6IHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NDg5IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAicGVybXMiCittc2dzdHIgIml6aW5sZXIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiY3VpZCIKK21zZ3N0ciAiY2t1bGxraW1sIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgImNnaWQiCittc2dzdHIgImNna2ltbCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJ1aWQiCittc2dzdHIgImt1bGxraW0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiZ2lkIgorbXNnc3RyICJna2ltbCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQXR0YWNoL0RldGFjaC9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLSBQYXlsYcWfxLFtbMSxIEJlbGxlayBFa2xlbWUvQXnEsXJtYS9EZcSfacWfaWtsaWsgWmFtYW5sYXLEsSAtLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjc0IHN5cy11dGlscy9pcGNzLmM6MjgwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQwMSBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEgc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJvd25lciIKK21zZ3N0ciAic2FoaWJpIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NworbXNnaWQgImF0dGFjaGVkIgorbXNnc3RyICJla2xlbWUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3Cittc2dpZCAiZGV0YWNoZWQiCittc2dzdHIgImF5xLFybWEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY4Cittc2dpZCAiY2hhbmdlZCIKK21zZ3N0ciAiZGXEn2nFn2lrbGlrIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQ3JlYXRvci9MYXN0LW9wIFBJRHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLSBQYXlsYcWfxLFtbMSxIEJlbGxlayBPbHXFn3R1cnVjdS9Tb24gacWfbGVtIC0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzQKK21zZ2lkICJjcGlkIgorbXNnc3RyICJjcGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3NAorbXNnaWQgImxwaWQiCittc2dzdHIgImxwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tIFBheWxhxZ/EsW1sxLEgQmVsbGVrIELDtmzDvHRsZXJpIC0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwIHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAia2V5IgorbXNnc3RyICJhbmFodGFyIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MSBzeXMtdXRpbHMvaXBjcy5jOjUwOAorbXNnaWQgInNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODEgc3lzLXV0aWxzL3BybGltaXQuYzo3NSBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4IHN5cy11dGlscy9wcmxpbWl0LmM6Nzkgc3lzLXV0aWxzL3BybGltaXQuYzo4MQorIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJieXRlcyIKK21zZ3N0ciAiYmF5dCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODIKK21zZ2lkICJuYXR0Y2giCittc2dzdHIgImVrU2F5xLFzxLEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgyCittc2dpZCAic3RhdHVzIgorbXNnc3RyICJkdXJ1bSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMDYgc3lzLXV0aWxzL2lwY3MuYzozMDggc3lzLXV0aWxzL2lwY3MuYzozMTAKKyM6IHN5cy11dGlscy9pcGNzLmM6NDI0IHN5cy11dGlscy9pcGNzLmM6NDI2IHN5cy11dGlscy9pcGNzLmM6NTMyCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUzNCBzeXMtdXRpbHMvaXBjcy5jOjUzNiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorIzogc3lzLXV0aWxzL2lwY3MuYzo1OTIgc3lzLXV0aWxzL2lwY3MuYzo2MjEgc3lzLXV0aWxzL2lwY3MuYzo2MjMKKyM6IHN5cy11dGlscy9pcGNzLmM6NjI1IHN5cy11dGlscy9pcGNzLmM6NjQ5Cittc2dpZCAiTm90IHNldCIKK21zZ3N0ciAiQmVsaXJsZW5tZWRpIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMzNiBzeXMtdXRpbHMvbHNpcGMuYzo5NzYgc3lzLXV0aWxzL2xzaXBjLmM6OTgyCittc2dpZCAiZGVzdCIKK21zZ3N0ciAiaGVkZWYiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzM3IHN5cy11dGlscy9sc2lwYy5jOjk3NyBzeXMtdXRpbHMvbHNpcGMuYzo5OTAKK21zZ2lkICJsb2NrZWQiCittc2dzdHIgImtpbGl0bGkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2VtYXBob3JlIGxpbWl0c1xuIgorbXNnc3RyICIlcyBkaXNrIGLDtmzDvG3DvG5lIHlhemFya2VuIGhhdGEgb2x1xZ90dVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU2VtYWZvciBTxLFuxLFybGFyxLEgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBhcnJheXMgPSAlZFxuIgorbXNnc3RyICJhemFtaSBkaXppIHNhecSxc8SxID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgcGVyIGFycmF5ID0gJWRcbiIKK21zZ3N0ciAiZGl6aSBiYcWfxLFuYSBhemFtaSBzZW1hZm9yIHNhecSxc8SxID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICJ0w7xtIHNpc3RlbWRla2kgYXphbWkgc2VtYWZvciBzYXnEsXPEsSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBvcHMgcGVyIHNlbW9wIGNhbGwgPSAlZFxuIgorbXNnc3RyICJzZW1vcCDDp2HEn3LEsXPEsSBiYcWfxLFuYSBhemFtaSBpxZ9sZW0gc2F5xLFzxLEgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VtYXBob3JlIG1heCB2YWx1ZSA9ICV1XG4iCittc2dzdHIgInNlbWFmb3IgYXphbWkgZGXEn2VyaSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc0CisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3Jlc1xuIgorbXNnc3RyICLDp2VraXJkZWsgc2VtYWZvcmxhciBpw6dpbiB5YXDEsWxhbmTEsXLEsWxtYW3EscWfXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTZW1hZm9yIER1cnVtdSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGFycmF5cyA9ICVkXG4iCittc2dzdHIgImt1bGxhbsSxbGFuIGRpemkgc2F5xLFzxLEgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgc2VtYXBob3JlcyA9ICVkXG4iCittc2dzdHIgImF5csSxbG3EscWfIHNlbWFmb3Igc2F5xLFzxLEgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFNlbWFmb3IgRGl6aWxlcmkgT2x1xZ90dXJ1Y3UvS2VuZGkgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0MDEKK21zZ2lkICJzZW1pZCIKK21zZ3N0ciAic2Vta2ltbCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgT3BlcmF0aW9uL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tIFBheWxhxZ/EsW1sxLEgQmVsbGVrIMSwxZ9sZW0vRGXEn2nFn2lrbGlrIFphbWFubGFyxLEgLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorbXNnaWQgImxhc3Qtb3AiCittc2dzdHIgInNvbi1pxZ9sIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorbXNnaWQgImxhc3QtY2hhbmdlZCIKK21zZ3N0ciAic29uLWRlxJ/FnyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFNlbWFmb3IgRGl6aWxlcmkgLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDAxCittc2dpZCAibnNlbXMiCittc2dzdHIgInNlbVNhecSxc8SxIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIG1lc3NhZ2UgbGltaXRzXG4iCittc2dzdHIgIkthZmEgc2F5xLFzxLEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDEsGxldGlsZXI6IFPEsW7EsXJsYXIgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHF1ZXVlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgInTDvG0gc2lzdGVtZGVraSBhemFtaSBrdXlydWsgc2F5xLFzxLEgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2NQorIywgZnV6enkKK21zZ2lkICJtYXggc2l6ZSBvZiBtZXNzYWdlIgorbXNnc3RyICJhemFtaSBpbGV0aSB1enVubHXEn3UgKGJheXQpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjcKKyMsIGZ1enp5Cittc2dpZCAiZGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSIKK21zZ3N0ciAiw7ZudGFuxLFtbMSxIGF6YW1pIGt1eXJ1ayBib3l1IChiYXl0KSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiw6dla2lyZGVrIGlsZXRpIGt1eXJ1a2xhcsSxIGnDp2luIHlhcMSxbGFuZMSxcsSxbG1hbcSxxZ9cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIMSwbGV0aWxlcjogRHVydW0gLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHF1ZXVlcyA9ICVkXG4iCittc2dzdHIgImF5csSxbG3EscWfIGt1eXJ1ayBzYXnEsXPEsSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgaGVhZGVycyA9ICVkXG4iCittc2dzdHIgImt1bGxhbsSxbG3EscWfIGJhxZ9sxLFrIHNhecSxc8SxID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODIKKyMsIGZ1enp5Cittc2dpZCAidXNlZCBzcGFjZSIKK21zZ3N0ciAia3VsbGFuxLFsbcSxxZ8gYWxhbiA9ICVkIGJheXRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODMKKyMsIGZ1enp5Cittc2dpZCAiIGJ5dGVzXG4iCittc2dzdHIgImJheXQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDEsGxldGkgS3V5cnVrbGFyxLE6IE9sdcWfdHVydWN1L0tlbmRpIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg5IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTAxCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgIm1zcWlkIgorbXNnc3RyICJpbHRraW1sIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgU2VuZC9SZWN2L0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gxLBsZXRpIEt1eXJ1a2xhcsSxIEfDtm5kL0FsxLFtL0RlxJ9pxZ8uIFphbWFubGFyxLEgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJzZW5kIgorbXNnc3RyICJnw7ZuZGVyaW0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAicmVjdiIKK21zZ3N0ciAiYWzEsW0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiY2hhbmdlIgorbXNnc3RyICJkZcSfacWfaW0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDEsGxldGkgS3V5cnVrbGFyxLEgUElEJ2xlcmkgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJsc3BpZCIKK21zZ3N0ciAibHNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAibHJwaWQiCittc2dzdHIgImxycGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIMSwbGV0aSBLdXlydWtsYXLEsSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwOAorbXNnaWQgInVzZWQtYnl0ZXMiCittc2dzdHIgImt1bGwtYmF5dCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDkKK21zZ2lkICJtZXNzYWdlcyIKK21zZ3N0ciAiaWxldGktc2F5xLFzxLEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc0IHN5cy11dGlscy9pcGNzLmM6NjA0IHN5cy11dGlscy9pcGNzLmM6NjM3CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo1MzYgc3lzLXV0aWxzL2xzaXBjLmM6NzIyIHN5cy11dGlscy9sc2lwYy5jOjg3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWQgJWQgbm90IGZvdW5kIgorbXNnc3RyICJ1bW91bnQ6ICVzOiB5b2siCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQgbWVtb3J5IFNlZ21lbnQgc2htaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBheWxhxZ/EsW1sxLEgYmVsbGVrIELDtmzDvHQgc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCittc2dzdHIgImt1bGxraW1sPSVkXHRna2ltbD0lZFx0Y2t1bGxraW1sPSVkXHRjZ2tpbWw9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI29cdGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAia2lwPSUjb1x0ZXJpxZ9pbV9pem5pPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorIywgZnV6enkKK21zZ2lkICJzaXplPSIKK21zZ3N0ciAiQXphbWlVenVubHVrID0gJWxkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg0CisjLCBmdXp6eQorbXNnaWQgImJ5dGVzPSIKK21zZ3N0ciAiYmF5dCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxwaWQ9JXVcdGNwaWQ9JXVcdG5hdHRjaD0lamRcbiIKK21zZ3N0ciAiYmF5dD0lbGRcdGxwaWQ9JWRcdGNwaWQ9JWRcdGVrU2F5xLFzxLE9JWxkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgImF0dF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImF0dF90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgImRldF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImRldF90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkzIHN5cy11dGlscy9pcGNzLmM6NjI0CisjLCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZV90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImNoYW5nZV90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlIFF1ZXVlIG1zcWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyLEsGxldGkgS3V5cnXEn3UgaWx0a2ltbD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG1vZGU9JSNvXG4iCittc2dzdHIgImt1bGxraW1sPSVkXHRna2ltbD0lZFx0Y2t1bGxraW1sPSVkXHRjZ2tpbWw9JWRcdGtpcD0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTMKK21zZ2lkICJjc2l6ZT0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTMKKyMsIGZ1enp5Cittc2dpZCAiY2J5dGVzPSIKK21zZ3N0ciAiYmF5dCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKK21zZ2lkICJxc2l6ZT0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKKyMsIGZ1enp5Cittc2dpZCAicWJ5dGVzPSIKK21zZ3N0ciAiYmF5dCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImfDtm5kZXJpbV96YW1hbsSxPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgInJjdl90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImFsxLHFn196YW1hbsSxPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgQXJyYXkgc2VtaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlbWFmb3IgRGl6aXNpIHNlbWtpbWw9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0IGdpZD0ldVx0IGN1aWQ9JXVcdCBjZ2lkPSV1XG4iCittc2dzdHIgImt1bGxraW1sPSVkXHQgZ2tpbWw9JWRcdCBja3VsbGtpbWw9JWRcdCBjZ2tpbWw9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAia2lwPSUjbywgZXJpxZ9pbV9pem5pPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibnNlbXMgPSAlanVcbiIKK21zZ3N0ciAic2VtU2F5xLFzxLEgPSAlbGRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAib3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICJvdGltZSA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgImN0aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAiY3RpbWUgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInNlbW51bSIKK21zZ3N0ciAic2VtbnVtIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInZhbHVlIgorbXNnc3RyICJkZcSfZXIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAibmNvdW50IgorbXNnc3RyICJuc2F5xLFzxLEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAiemNvdW50IgorbXNnc3RyICJ6c2F5xLFzxLEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAicGlkIgorbXNnc3RyICJwaWQiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjIzMCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzQgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM4CisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKGJ5dGVzKSA9ICIKK21zZ3N0ciAiYmF5dCIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoa2J5dGVzKSA9ICIKK21zZ3N0ciAiYmF5dCIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTgwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgaWZsYWciCittc2dzdHIgImtpbWxpayBnZcOnZXJzaXo6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bGRpc2M+IDxkZXZpY2U+XG4iCittc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbc2XDp2VuZWtsZXJdIGF5Z8SxdCAuLi5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTk5Cittc2dpZCAiQXR0YWNoIGEgbGluZSBkaXNjaXBsaW5lIHRvIGEgc2VyaWFsIGxpbmUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAyCittc2dpZCAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgbWVzc2FnZXMgdG8gc3RkZXJyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAzCittc2dpZCAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIHNldCBzZXJpYWwgbGluZSBzcGVlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNAorbXNnaWQgIiAtYywgLS1pbnRyby1jb21tYW5kIDxzdHJpbmc+IGludHJvIHNlbnQgYmVmb3JlIGxkYXR0YWNoXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA1Cittc2dpZCAiIC1wLCAtLXBhdXNlIDxzZWNvbmRzPiAgIHBhdXNlIGJldHdlZW4gaW50cm8gYW5kIGxkYXR0YWNoXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA2Cittc2dpZCAiIC03LCAtLXNldmVuYml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA3IGJpdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDcKK21zZ2lkICIgLTgsIC0tZWlnaHRiaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDggYml0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOAorbXNnaWQgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICBzZXQgcGFyaXR5IHRvIG5vbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDkKK21zZ2lkICIgLWUsIC0tZXZlbnBhcml0eSAgICAgICAgc2V0IHBhcml0eSB0byBldmVuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEwCittc2dpZCAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIHNldCBwYXJpdHkgdG8gb2RkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjExCittc2dpZCAiIC0xLCAtLW9uZXN0b3BiaXQgICAgICAgIHNldCBzdG9wIGJpdHMgdG8gb25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEyCittc2dpZCAiIC0yLCAtLXR3b3N0b3BiaXRzICAgICAgIHNldCBzdG9wIGJpdHMgdG8gdHdvXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEzCittc2dpZCAiIC1pLCAtLWlmbGFnIFstXTxpZmxhZz4gIHNldCBpbnB1dCBtb2RlIGZsYWdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTkKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGxkaXNjPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMjMKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGlmbGFnPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzcGVlZCBhcmd1bWVudCIKK21zZ3N0ciAia2ltbGlrIGdlw6dlcnNpeiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcGF1c2UgYXJndW1lbnQiCittc2dzdHIgImtpbWxpayBnZcOnZXJzaXoiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM1OQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG9wdGlvbiIKK21zZ3N0ciAia2ltbGlrIGdlw6dlcnNpeiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzcwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbGluZSBkaXNjaXBsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJraW1saWsgZ2XDp2Vyc2l6OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHNlcmlhbCBsaW5lIgorbXNnc3RyICIlcyBiaXIgYmxvay3DtnplbCBheWfEsXQgZGXEn2lsIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgIiVzIHV6dW5sdcSfdSBhbMSxbmFtxLF5b3IiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVlZCAlZCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgIiVzIHV6dW5sdcSfdSBhbMSxbmFtxLF5b3IiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlIGludHJvIGNvbW1hbmQgdG8gJXMiCittc2dzdHIgIm5hbWVpOiDDp2FsxLHFn8SxbGFuIGRpemluZSBnZcOnaWxlbWl5b3IgLSAlc1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NjkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBsaW5lIGRpc2NpcGxpbmUiCittc2dzdHIgIkRpc2sgc8O8csO8Y8O8IMO8emVyaW5kZSBhcmFtYSB5YXDEsWxhbcSxeW9yIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NzkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGRhZW1vbml6ZSIKK21zZ3N0ciAiJXMgdXp1bmx1xJ91IGFsxLFuYW3EsXlvciIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2OAorbXNnaWQgImF1dG9jbGVhciBmbGFnIHNldCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY5CisjLCBmdXp6eQorbXNnaWQgImRldmljZSBiYWNraW5nIGZpbGUiCittc2dzdHIgImLDtmzDvG1sZW1lIHRhYmxvc3UgeWVuaWRlbiBva3VudXIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzAKK21zZ2lkICJiYWNraW5nIGZpbGUgaW5vZGUgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzEKK21zZ2lkICJiYWNraW5nIGZpbGUgbWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcyCisjLCBmdXp6eQorbXNnaWQgImxvb3AgZGV2aWNlIG5hbWUiCittc2dzdHIgIm1vdW50OiAlczogYXlnxLF0IGJpbGlubWl5b3IiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzMKK21zZ2lkICJvZmZzZXQgZnJvbSB0aGUgYmVnaW5uaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzQKKyMsIGZ1enp5Cittc2dpZCAicGFydHNjYW4gZmxhZyBzZXQiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBkaXNrIGLDtmzDvG3DvDpcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NgorIywgZnV6enkKK21zZ2lkICJzaXplIGxpbWl0IG9mIHRoZSBmaWxlIGluIGJ5dGVzIgorbXNnc3RyICJkw7zEn8O8bSBzYXnEsXPEsSBoYXRhbMSxIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3Cittc2dpZCAibG9vcCBkZXZpY2UgbWFqb3I6bWlub3IgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzgKK21zZ2lkICJhY2Nlc3MgYmFja2luZyBmaWxlIHdpdGggZGlyZWN0LWlvIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM1IHN5cy11dGlscy9sb3NldHVwLmM6MTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsIG9mZnNldCAlanUiCittc2dzdHIgIiwgYmHFn2wgJWQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM4IHN5cy11dGlscy9sb3NldHVwLmM6MTUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsIHNpemVsaW1pdCAlanUiCittc2dzdHIgIiwgYm95c8SxbsSxcsSxICVsbGQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsIGVuY3J5cHRpb24gJXMgKHR5cGUgJXUpIgorbXNnc3RyICIsICVzIMWfaWZyZWxlbWUgdMO8csO8ICglZCkgYmlsaW5taXlvciIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZXRhY2ggZmFpbGVkIgorbXNnc3RyICJlcmnFn2ltIGJhxZ9hcsSxc8SxeiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozMjkgc3lzLXV0aWxzL2xzY3B1LmM6MTczNSBzeXMtdXRpbHMvcHJsaW1pdC5jOjIyOQorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjE3NiBzeXMtdXRpbHMvd2RjdGwuYzoyMTUgc3lzLXV0aWxzL3pyYW1jdGwuYzo0MDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGxpbmUiCittc2dzdHIgIlRhbXBvbiBheXLEsWxhbWFkxLEuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gWzxsb29wZGV2Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8bG9vcGRldj4gPGZpbGU+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODYKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgbG9vcCBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzg5CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBCdSB5YXJkxLFtIGlsZXRpc2luaSBnw7ZzdGVyaXJcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTAKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4uLi4gICAgIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgQnUgeWFyZMSxbSBpbGV0aXNpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkxCisjLCBmdXp6eQorbXNnaWQgIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIEJ1IHlhcmTEsW0gaWxldGlzaW5pIGfDtnN0ZXJpclxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZmluZCBmaXJzdCB1bnVzZWQgZGV2aWNlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOb3JtYWxkZSB2ZXJpbGVuIMOnxLFrdMSxIHZlcmlsbWV6XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkzCittc2dpZCAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcGRldj4gIHJlc2l6ZSB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTQKK21zZ2lkICIgLWosIC0tYXNzb2NpYXRlZCA8ZmlsZT4gICAgICAgbGlzdCBhbGwgZGV2aWNlcyBhc3NvY2lhdGVkIHdpdGggPGZpbGU+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTUKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLW5vb3ZlcmxhcCAgICAgICAgICAgICAgIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0IGJldHdlZW4gZGV2aWNlc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm9ybWFsZGUgdmVyaWxlbiDDp8Sxa3TEsSB2ZXJpbG1lelxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5OQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBzdGFydCBhdCBvZmZzZXQgPG51bT4gaW50byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDAKK21zZ2lkICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZGV2aWNlIGlzIGxpbWl0ZWQgdG8gPG51bT4gYnl0ZXMgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMQorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgY3JlYXRlIGEgcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICDDh8Sxa3TEsSB0xLFybmFrIGnDp2luZSBhbMSxbm1helxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0IHVwIGEgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDMKK21zZ2lkICIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAgb3BlbiBiYWNraW5nIGZpbGUgd2l0aCBPX0RJUkVDVFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA0Cittc2dpZCAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHByaW50IGRldmljZSBuYW1lIGFmdGVyIHNldHVwICh3aXRoIC1mKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBTw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpclxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwOQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgbGlzdCBpbmZvIGFib3V0IGFsbCBvciBzcGVjaWZpZWQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgZ2V0b3B0KDEpIHPDvHLDvG3DvCBpw6dpbiB0ZXN0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEwCittc2dpZCAiIC1PLCAtLW91dHB1dCA8Y29scz4gICAgICAgICAgIHNwZWNpZnkgY29sdW1ucyB0byBvdXRwdXQgZm9yIC0tbGlzdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDExCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1saXN0IG91dHB1dFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgIMOHxLFrdMSxIHTEsXJuYWsgacOnaW5lIGFsxLFubWF6XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1c2UgcmF3IC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTMKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgIHVzZSBKU09OIC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTkKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSAtLWxpc3QgY29sdW1uczpcbiIKK21zZ3N0ciAiTcO8bWvDvG4ga29tdXRsYXI6XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGlzIHNtYWxsZXIgdGhhbiA1MTIgYnl0ZXM7IHRoZSBsb29wIGRldmljZSBtYXkgYmUgdXNlbGVzcyBvciBpbnZpc2libGUgZm9yIHN5c3RlbSB0b29scy4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFdhcm5pbmc6IGZpbGUgZG9lcyBub3QgZml0IGludG8gYSA1MTItYnl0ZSBzZWN0b3I7IHRoZSBlbmQgb2YgdGhlIGZpbGUgd2lsbCBiZSBpZ25vcmVkLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ2NCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUxNiBzeXMtdXRpbHMvbW91bnQuYzo0NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzOiAlcyBiaXIgbHAgYXlnxLF0xLEgZGXEn2lsLlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgcmVhZC1vbmx5IGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgZW5jcnlwdGVkIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZS11c2UgbG9vcCBkZXZpY2UiCittc2dzdHIgInRha2FzIGFsYW7EsW5kYSBiYcWfYSBnaWRpbGVtaXlvciIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0OTQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluc3BlY3QgbG9vcCBkZXZpY2VzIgorbXNnc3RyICJtb3VudDogbG9vcCBheWfEsXTEsSBheWFybGFyxLEgeWFwxLFsYW1hZMSxXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNoZWNrIGZvciBjb25mbGljdGluZyBsb29wIGRldmljZXMiCittc2dzdHIgInRha2FzIGFsYW7EsW5kYSBiYcWfYSBnaWRpbGVtaXlvciIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1Mjkgc3lzLXV0aWxzL2xvc2V0dXAuYzo4MjYKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGZpbmQgYW4gdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczogJXMgacOnaW4gYXlnxLF0IGlzbWkgYnVsdW5hbcSxeW9yXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBiYWNraW5nIGZpbGUiCittc2dzdHIgImLDtmzDvG1sZW1lIHRhYmxvc3UgeWVuaWRlbiBva3VudXIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjMxIHN5cy11dGlscy9sb3NldHVwLmM6NjQxIHN5cy11dGlscy9sb3NldHVwLmM6NzUzCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgZGV2aWNlIgorbXNnc3RyICJ0YWthcyBhbGFuxLFuZGEgYmHFn2EgZ2lkaWxlbWl5b3IiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzY0CisjLCBmdXp6eQorbXNnaWQgIm5vIGxvb3AgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAibW91bnQ6IGxvb3AgYXlnxLF0xLEgaWtpIGtlcmUgYmVsaXJ0aWxtacWfIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3MgorIywgZnV6enkKK21zZ2lkICJubyBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAiLS1kYXRlIHNlw6dlbmXEn2kgYmVsaXJ0aWxtZW1pxZ8uXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzc5CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBvcHRpb25zICVzIGFyZSBhbGxvd2VkIGR1cmluZyBsb29wIGRldmljZSBzZXR1cCBvbmx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzg0Cittc2dpZCAidGhlIG9wdGlvbiAtLW9mZnNldCBpcyBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgY2FwYWNpdHkgZmFpbGVkIgorbXNnc3RyICJlcmnFn2ltIGJhxZ9hcsSxc8SxeiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgZGlyZWN0IGlvIGZhaWxlZCIKK21zZ3N0ciAiZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjEwOAorIywgZnV6enkKK21zZ2lkICJub25lIgorbXNnc3RyICJIacOnYmlyaSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTA5Cittc2dpZCAicGFyYSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMTAKK21zZ2lkICJmdWxsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjExMQorbXNnaWQgImNvbnRhaW5lciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzMKK21zZ2lkICJob3Jpem9udGFsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NAorbXNnaWQgInZlcnRpY2FsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0NgorbXNnaWQgImxvZ2ljYWwgQ1BVIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDcKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBjb3JlIG51bWJlciIKK21zZ3N0ciAic2VrdMO2ciB1enVubHXEn3VudSB2ZXJpciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ4CisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgc29ja2V0IG51bWJlciIKK21zZ3N0ciAic2VrdMO2ciB1enVubHXEn3VudSB2ZXJpciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ5Cittc2dpZCAibG9naWNhbCBOVU1BIG5vZGUgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MAorbXNnaWQgImxvZ2ljYWwgYm9vayBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUxCisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgZHJhd2VyIG51bWJlciIKK21zZ3N0ciAic2VrdMO2ciB1enVubHXEn3VudSB2ZXJpciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUyCittc2dpZCAic2hvd3MgaG93IGNhY2hlcyBhcmUgc2hhcmVkIGJldHdlZW4gQ1BVcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTMKK21zZ2lkICJDUFUgZGlzcGF0Y2hpbmcgbW9kZSBvbiB2aXJ0dWFsIGhhcmR3YXJlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NAorbXNnaWQgInBoeXNpY2FsIGFkZHJlc3Mgb2YgYSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU1Cittc2dpZCAic2hvd3MgaWYgdGhlIGh5cGVydmlzb3IgaGFzIGFsbG9jYXRlZCB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NgorbXNnaWQgInNob3dzIGlmIExpbnV4IGN1cnJlbnRseSBtYWtlcyB1c2Ugb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTcKK21zZ2lkICJzaG93cyB0aGUgbWF4aW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTgKK21zZ2lkICJzaG93cyB0aGUgbWluaW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo1NTAKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3I6IHVuYW1lIGZhaWxlZCIKK21zZ3N0ciAiIgorIlxuIgorIkRvc3lhIGthcGF0xLFsxLFya2VuIGhhdGFcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGV0ZXJtaW5lIG51bWJlciBvZiBDUFVzOiAlcyIKK21zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjg5MQorIywgZnV6enkKK21zZ2lkICJlcnJvcjogY2FuIG5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgInNpbnlhbCB5YWthbGF5xLFjxLEgYXlhcmxhbmFtxLF5b3IiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjg5NgorIywgZnV6enkKK21zZ2lkICJlcnJvcjogY2FuIG5vdCByZXN0b3JlIHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJzaW55YWwgeWFrYWxhecSxY8SxIGF5YXJsYW5hbcSxeW9yIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIGZyb206ICVzIgorbXNnc3RyICIlcyBkdXJ1bSBiaWxnaWxlcmkgYWzEsW5hbcSxeW9yIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDEwCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBleHRyYWN0IHRoZSBub2RlIG51bWJlciIKK21zZ3N0ciAid3JpdGVfdGFibGVzIGnDp2luZGUgZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1Mzcgc3lzLXV0aWxzL2xzY3B1LmM6MTU0NworbXNnaWQgIlkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTUzNyBzeXMtdXRpbHMvbHNjcHUuYzoxNTQ3CisjLCBmdXp6eQorbXNnaWQgIk4iCittc2dzdHIgIk5DIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlclxuIgorIiMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSURcbiIKKyIjIHN0YXJ0aW5nIGZyb20gemVyby5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzgxCittc2dpZCAiQXJjaGl0ZWN0dXJlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzk1Cittc2dpZCAiQ1BVIG9wLW1vZGUocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3OTggc3lzLXV0aWxzL2xzY3B1LmM6MTgwMAorbXNnaWQgIkJ5dGUgT3JkZXI6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDIKK21zZ2lkICJDUFUocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDUKK21zZ2lkICJPbi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA2Cittc2dpZCAiT24tbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNQorbXNnaWQgIk9mZi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI2Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjIKK21zZ2lkICJUaHJlYWQocykgcGVyIGNvcmU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjQKK21zZ2lkICJDb3JlKHMpIHBlciBzb2NrZXQ6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjcKK21zZ2lkICJTb2NrZXQocykgcGVyIGJvb2s6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzAKK21zZ2lkICJCb29rKHMpIHBlciBkcmF3ZXI6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzIKK21zZ2lkICJEcmF3ZXIocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzQKK21zZ2lkICJCb29rKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODc3CisjLCBmdXp6eQorbXNnaWQgIlNvY2tldChzKToiCittc2dzdHIgIm5mcyBzb2tldGkiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODEKK21zZ2lkICJOVU1BIG5vZGUocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODMKK21zZ2lkICJWZW5kb3IgSUQ6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODUKKyMsIGZ1enp5Cittc2dpZCAiTWFjaGluZSB0eXBlOiIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtw7wgbnVtYXJhc8SxIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg3Cittc2dpZCAiQ1BVIGZhbWlseToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4OQorbXNnaWQgIk1vZGVsOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODkxCisjLCBmdXp6eQorbXNnaWQgIk1vZGVsIG5hbWU6IgorbXNnc3RyICJLdWxsYW7EsWPEsSBpc21pIGt1cmFsZMSxxZ/EsSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5MworbXNnaWQgIlN0ZXBwaW5nOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk1Cittc2dpZCAiQ1BVIE1IejoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5NworbXNnaWQgIkNQVSBkeW5hbWljIE1IejoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5OQorbXNnaWQgIkNQVSBzdGF0aWMgTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAxCittc2dpZCAiQ1BVIG1heCBNSHo6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDMKK21zZ2lkICJDUFUgbWluIE1IejoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNQorbXNnaWQgIkJvZ29NSVBTOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA4IHN5cy11dGlscy9sc2NwdS5jOjE5MTAKKyMsIGZ1enp5Cittc2dpZCAiVmlydHVhbGl6YXRpb246IgorbXNnc3RyICJFc2tpIGR1cnVtOlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEzCittc2dpZCAiSHlwZXJ2aXNvcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxNQorbXNnaWQgIkh5cGVydmlzb3IgdmVuZG9yOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE2Cittc2dpZCAiVmlydHVhbGl6YXRpb24gdHlwZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxOQorbXNnaWQgIkRpc3BhdGNoaW5nIG1vZGU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MjUgc3lzLXV0aWxzL2xzY3B1LmM6MTkzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjYWNoZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0MQorIywgYy1mb3JtYXQKK21zZ2lkICJOVU1BIG5vZGUlZCBDUFUocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NDYKKyMsIGZ1enp5Cittc2dpZCAiRmxhZ3M6IgorbXNnc3RyICJGbGFtYSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0OQorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBzb2NrZXRzOiIKK21zZ3N0ciAiRml6aWtzZWwgc2lsaW5kaXJsZXIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NTAKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY2hpcHM6IgorbXNnc3RyICJGaXppa3NlbCBzaWxpbmRpcmxlciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk1MQorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBjb3Jlcy9jaGlwOiIKK21zZ3N0ciAic2VrdMO2ciB1enVubHXEn3VudSB2ZXJpciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2MworbXNnaWQgIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIENQVSBhcmNoaXRlY3R1cmUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2NgorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgcHJpbnQgYm90aCBvbmxpbmUgYW5kIG9mZmxpbmUgQ1BVcyAoZGVmYXVsdCBmb3IgLWUpXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgQnUgeWFyZMSxbSBpbGV0aXNpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjcKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIHByaW50IG9ubGluZSBDUFVzIG9ubHkgKGRlZmF1bHQgZm9yIC1wKVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgIMOHxLFrdMSxIHTEsXJuYWsgacOnaW5lIGFsxLFubWF6XG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjgKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2OQorbXNnaWQgIiAtZSwgLS1leHRlbmRlZFs9PGxpc3Q+XSBwcmludCBvdXQgYW4gZXh0ZW5kZWQgcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MAorbXNnaWQgIiAtcCwgLS1wYXJzZVs9PGxpc3Q+XSAgICBwcmludCBvdXQgYSBwYXJzYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcxCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHVzZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MgorIywgZnV6enkKK21zZ2lkICIgLXgsIC0taGV4ICAgICAgICAgICAgICAgcHJpbnQgaGV4YWRlY2ltYWwgbWFza3MgcmF0aGVyIHRoYW4gbGlzdHMgb2YgQ1BVc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIEJ1IHlhcmTEsW0gaWxldGlzaW5pIGfDtnN0ZXJpclxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTczCisjLCBmdXp6eQorbXNnaWQgIiAteSwgLS1waHlzaWNhbCAgICAgICAgICBwcmludCBwaHlzaWNhbCBpbnN0ZWFkIG9mIGxvZ2ljYWwgSURzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgQnUgeWFyZMSxbSBpbGV0aXNpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9wdGlvbnMgLS1hbGwsIC0tb25saW5lIGFuZCAtLW9mZmxpbmUgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIG9wdGlvbnMgLS1leHRlbmRlZCBvciAtLXBhcnNlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBrZXkiCittc2dzdHIgIkt1bGxhbsSxY8SxIGlzbWkga3VyYWxkxLHFn8SxIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNDkKKyMsIGZ1enp5Cittc2dpZCAiS2V5IgorbXNnc3RyICJhbmFodGFyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgSUQiCittc2dzdHIgIkt1bGxhbsSxY8SxIGlzbWkga3VyYWxkxLHFn8SxIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAiSUQiCittc2dzdHIgIlVVSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyJ3MgdXNlcm5hbWUgb3IgVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorIywgZnV6enkKK21zZ2lkICJPd25lciIKK21zZ3N0ciAic2FoaWJpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTIKKyMsIGZ1enp5Cittc2dpZCAiUGVybWlzc2lvbnMiCittc2dzdHIgInPDvHLDvG0iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MworbXNnaWQgIkNyZWF0b3IgVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NAorbXNnaWQgIkNyZWF0b3IgdXNlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTUKK21zZ2lkICJDcmVhdG9yIEdJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTYKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRvciBncm91cCIKK21zZ3N0ciAiQmlyaW5jaWwiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworIywgZnV6enkKK21zZ2lkICJVc2VyIElEIgorbXNnc3RyICJrdWxsYW7EsWPEsSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgIlVJRCIKK21zZ3N0ciAiVVVJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU4CisjLCBmdXp6eQorbXNnaWQgIlVzZXIgbmFtZSIKK21zZ3N0ciAiS3VsbGFuxLFjxLEgaXNtaSBrdXJhbGTEscWfxLEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorbXNnaWQgIkdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorIywgZnV6enkKK21zZ2lkICJHSUQiCittc2dzdHIgIlNHSSBoYW0iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MAorIywgZnV6enkKK21zZ2lkICJHcm91cCBuYW1lIgorbXNnc3RyICJLdWxsYW7EsWPEsSBpc21pIGt1cmFsZMSxxZ/EsSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCisjLCBmdXp6eQorbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3QgY2hhbmdlIgorbXNnc3RyICJkb3N5YSB5b2x1IGR1cnVtIGJpbGdpbGVyaSBhbMSxbmFtYWTEsVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBjaGFuZ2UiCittc2dzdHIgInNvbi1kZcSfxZ8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NAorIywgZnV6enkKK21zZ2lkICJCeXRlcyB1c2VkIgorbXNnc3RyICJLdWxsYW7EsW1kYSBvbGFyYWsgaW1sZW5zaW4gbWk/IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2VzIgorbXNnc3RyICJLYWZhIHNhecSxc8SxIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiTWVzc2FnZXMiCittc2dzdHIgImlsZXRpLXNhecSxc8SxIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKKyMsIGZ1enp5Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyBzZW50IgorbXNnc3RyICJnZcOnZW4gaWxrIHNhdMSxciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiTXNnIHNlbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyByZWNlaXZlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJNc2cgcmVjZWl2ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyBzZW5kZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiTXNnIHNlbmRlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHJlY2VpdmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIk1zZyByZWNlaXZlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzIKKyMsIGZ1enp5Cittc2dpZCAiU2VnbWVudCBzaXplIgorbXNnc3RyICJibG9rIHV6dW5sdcSfdW51IHZlcmlyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIGF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAiYXphbWkgYsO2bMO8dCBzYXnEsXPEsSA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJBdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc0CisjLCBmdXp6eQorbXNnaWQgIlN0YXR1cyIKK21zZ3N0ciAiZHVydW0iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NQorIywgZnV6enkKK21zZ2lkICJBdHRhY2ggdGltZSIKK21zZ3N0ciAiZWtsZW1lIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzYKKyMsIGZ1enp5Cittc2dpZCAiRGV0YWNoIHRpbWUiCittc2dzdHIgImF5xLFybWEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAiYCVzJyBzZcOnZW5lxJ9pIGJpbGlubWl5b3JcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgY29tbWFuZCIKK21zZ3N0ciAiS29tdXQ/XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIlBJRCBvZiB0aGUgY3JlYXRvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJDcmVhdG9yIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJQSUQgb2YgbGFzdCB1c2VyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OQorIywgZnV6enkKK21zZ2lkICJMYXN0IHVzZXIgUElEIgorbXNnc3RyICJrdWxsYW7EsWPEsSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgyCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJTZWt0w7ZyIHNhecSxc8SxIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODIKKyMsIGZ1enp5Cittc2dpZCAiU2VtYXBob3JlcyIKK21zZ3N0ciAiIgorIlxuIgorIlNlbWFmb3IgRGl6aXNpIHNlbWtpbWw9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBvcGVyYXRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCisjLCBmdXp6eQorbXNnaWQgIkxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICJraW1saWsgZ2XDp2Vyc2l6IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAiS3VsbGFuxLFjxLEgaXNtaSBrdXJhbGTEscWfxLEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NgorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSIKK21zZ3N0ciAiS3VsbGFuxLFjxLEgaXNtaSBrdXJhbGTEscWfxLEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiYmxvayBheWfEsXTEsSAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworIywgZnV6enkKK21zZ2lkICJEZXNjcmlwdGlvbiIKK21zZ3N0ciAiYmxvayBheWfEsXTEsSAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIkN1cnJlbnRseSB1c2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIlVzZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIkN1cnJlbnRseSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAiRG9zeWEgc2lzdGVtaSB0w7xyw7xuw7wgdmVyaW46ICIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIlVzZSIKK21zZ3N0ciAiS3VsbGFuxLFtxLE6IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJTeXN0ZW0td2lkZSBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJMaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29sdW1uICVzIGRvZXMgbm90IGFwcGx5IHRvIHRoZSBzcGVjaWZpZWQgSVBDIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4NworbXNnaWQgIiAtZywgLS1nbG9iYWwgICAgICBpbmZvIGFib3V0IHN5c3RlbS13aWRlIHVzYWdlIChtYXkgYmUgdXNlZCB3aXRoIC1tLCAtcSBhbmQgLXMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg4CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICAgICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICItaSBraW1saWsgWy1zIC1xIC1tXSA6IGtpbWxpayBpbGUgYmVsaXJ0aWxlbiDDtnprYXluYWsgaGFra8SxbmRhIGJpbGdpIHZlcmlyXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NAorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk1CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICAgICAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NworIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIHVzZSB0aGUgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk5CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yY2UgbGlzdCBvdXRwdXQgZm9ybWF0IChmb3IgZXhhbXBsZSB3aXRoIC0taWQpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOb3JtYWxkZSB2ZXJpbGVuIMOnxLFrdMSxIHZlcmlsbWV6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMQorbXNnaWQgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgcHJpbnQgbnVtZXJpYyBwZXJtaXNzaW9ucyAoUEVSTVMgY29sdW1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMworIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgIMOHxLFrdMSxIHTEsXJuYWsgacOnaW5lIGFsxLFubWF6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkdlbmVyaWMgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIGRpc2sgYsO2bMO8bcO8OlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQtbWVtb3J5IGNvbHVtbnMgKC0tc2htZW1zKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBheWxhxZ/EsW1sxLEgYmVsbGVrIELDtmzDvHQgc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZS1xdWV1ZSBjb2x1bW5zICgtLXF1ZXVlcyk6XG4iCittc2dzdHIgIk3DvG1rw7xuIGtvbXV0bGFyOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgY29sdW1ucyAoLS1zZW1hcGhvcmVzKTpcbiIKK21zZ3N0ciAiTcO8bWvDvG4ga29tdXRsYXI6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU3VtbWFyeSBjb2x1bW5zICgtLWdsb2JhbCk6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJFbGVtZW50czpcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDUKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZSBpZGVudGlmaWVycyIKK21zZ3N0ciAiU2VrdMO2ciBzYXnEsXPEsSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA2CisjLCBmdXp6eQorbXNnaWQgIlRvdGFsIG51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJTZWt0w7ZyIHNhecSxc8SxIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDcKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNlbWFwaG9yZXMgcGVyIHNlbWFwaG9yZSBzZXQuIgorbXNnc3RyICJkaXppIGJhxZ/EsW5hIGF6YW1pIHNlbWFmb3Igc2F5xLFzxLEgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDgKKyMsIGZ1enp5Cittc2dpZCAiTWF4IG51bWJlciBvZiBvcGVyYXRpb25zIHBlciBzZW1vcCgyKSIKK21zZ3N0ciAiYXphbWkgYsO2bMO8dCBzYXnEsXPEsSA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDkKKyMsIGZ1enp5Cittc2dpZCAiU2VtYXBob3JlIG1heCB2YWx1ZSIKK21zZ3N0ciAic2VtYWZvciBhemFtaSBkZcSfZXJpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODYzCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiS2FmYSBzYXnEsXPEsSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODY0CisjLCBmdXp6eQorbXNnaWQgIk1heCBzaXplIG9mIG1lc3NhZ2UgKGJ5dGVzKSIKK21zZ3N0ciAiYXphbWkgaWxldGkgdXp1bmx1xJ91IChiYXl0KSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg2NQorIywgZnV6enkKK21zZ2lkICJEZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIChieXRlcykiCittc2dzdHIgIsO2bnRhbsSxbWzEsSBhemFtaSBrdXlydWsgYm95dSAoYmF5dCkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5Nzggc3lzLXV0aWxzL2xzaXBjLmM6OTk3Cittc2dpZCAiaHVnZXRsYiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5Nzkgc3lzLXV0aWxzL2xzaXBjLmM6MTAwNAorIywgZnV6enkKK21zZ2lkICJub3Jlc2VydmUiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MQorIywgZnV6enkKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIgorbXNnc3RyICIiCisiXG4iCisiUGF5bGHFn8SxbWzEsSBiZWxsZWsgQsO2bMO8dCBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDYyCisjLCBmdXp6eQorbXNnaWQgIlNoYXJlZCBtZW1vcnkgcGFnZXMiCittc2dzdHIgIiIKKyJcbiIKKyJQYXlsYcWfxLFtbMSxIGJlbGxlayBCw7Zsw7x0IHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjMKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgImF6YW1pIGlsZXRpIHV6dW5sdcSfdSAoYmF5dCkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDY0CisjLCBmdXp6eQorbXNnaWQgIk1pbiBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICJhemFtaSBpbGV0aSB1enVubHXEn3UgKGJheXQpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTEzNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSVBDIGlkZW50aWZpZXIiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMjI5CisjLCBmdXp6eQorbXNnaWQgIi0tZ2xvYmFsIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tY3JlYXRvciwgLS1pZCBhbmQgLS10aW1lIgorbXNnc3RyICIiCisiJXM6ICAtLWFkanVzdCB2ZSAtLW5vYWRqZmlsZSBzZcOnZW5la2xlcmkgYmlyYmlyaXlsZSDDp2VsacWfaXIuXG4iCisiU2l6IGlraXNpbmkgZGUgYmVsaXJ0bWnFn3Npbml6LlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjgzCittc2dpZCAibmFtZXNwYWNlIGlkZW50aWZpZXIgKGlub2RlIG51bWJlcikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NAorbXNnaWQgImtpbmQgb2YgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODUKKyMsIGZ1enp5Cittc2dpZCAicGF0aCB0byB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJkb3N5YSB5b2x1IGR1cnVtIGJpbGdpbGVyaSBhbMSxbmFtYWTEsVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg2CisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAiYXphbWkgYsO2bMO8dCBzYXnEsXPEsSA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg3Cittc2dpZCAibG93ZXN0IFBJRCBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODgKK21zZ2lkICJQUElEIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OQorbXNnaWQgImNvbW1hbmQgbGluZSBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTAKK21zZ2lkICJVSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkxCittc2dpZCAidXNlcm5hbWUgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG5hbWVzcGFjZT5dXG4iCittc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbc2XDp2VuZWtsZXJdIGF5Z8SxdCAuLi5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo2MTYKKyMsIGZ1enp5Cittc2dpZCAiTGlzdCBzeXN0ZW0gbmFtZXNwYWNlcy5cbiIKK21zZ3N0ciAiU2lzdGVtIHNhYXRpIGF5YXJsYW5hbcSxeW9yLlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYyMworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tdGFzayA8cGlkPiAgICAgICBwcmludCBwcm9jZXNzIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBTw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpclxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYyNgorbXNnaWQgIiAtdCwgLS10eXBlIDxuYW1lPiAgICAgIG5hbWVzcGFjZSB0eXBlIChtbnQsIG5ldCwgaXBjLCB1c2VyLCBwaWQsIHV0cywgY2dyb3VwKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG5hbWVzcGFjZSB0eXBlOiAlcyIKK21zZ3N0ciAiw7Z6a2F5bmFrIHTDvHLDvCBiaWxpbm1peW9yOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjczNQorIywgZnV6enkKK21zZ2lkICItLXRhc2sgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPG5hbWVzcGFjZT4iCittc2dzdHIgIiIKKyIlczogIC0tYWRqdXN0IHZlIC0tbm9hZGpmaWxlIHNlw6dlbmVrbGVyaSBiaXJiaXJpeWxlIMOnZWxpxZ9pci5cbiIKKyJTaXogaWtpc2luaSBkZSBiZWxpcnRtacWfc2luaXouXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzM2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbmFtZXNwYWNlIGFyZ3VtZW50IgorbXNnc3RyICJraW1saWsgZ2XDp2Vyc2l6IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjc3NAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZm91bmQgbmFtZXNwYWNlOiAlanUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjYgc3lzLXV0aWxzL3Vtb3VudC5jOjExNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAibW91bnQ6IGJ1bnUgc2FkZWNlIHJvb3QgeWFwYWJpbGlyIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2OSBzeXMtdXRpbHMvdW1vdW50LmM6MTIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICJtb3VudDogYnVudSBzYWRlY2Ugcm9vdCB5YXBhYmlsaXIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjczIHN5cy11dGlscy91bW91bnQuYzoxMjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiIKK21zZ3N0ciAibW91bnQ6ICVzICVzIMO8emVyaW5kZSBzYWRlY2Ugcm9vdCB0YXJhZsSxbmRhbiBiYcSfbGFuYWJpbGlyIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NCBzeXMtdXRpbHMvdW1vdW50LmM6MTI1CisjLCBmdXp6eQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKK21zZ3N0ciAibW91bnQ6IGJ1bnUgc2FkZWNlIHJvb3QgeWFwYWJpbGlyIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4NSBzeXMtdXRpbHMvdW1vdW50LmM6NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgKGxpYm1vdW50ICVzIgorbXNnc3RyICIlMiRzJTMkcyBkZWtpICUxJHNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTMwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIG10YWIiCittc2dzdHIgIiVzIGR1cnVtIGJpbGdpbGVyaSBhbMSxbmFtxLF5b3IiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MiBzeXMtdXRpbHMvdW1vdW50LmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogYWxyZWFkeSBtb3VudGVkXG4iCittc2dzdHIgIm1vdW50OiAlcyB6YXRlbiAlcyDDvHplcmluZGUgYmHEn2zEsVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3ZlZCB0byAlcy5cbiIKK21zZ3N0ciAidW1vdW50OiAlczogeW9rIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBib3VuZCBvbiAlcy5cbiIKK21zZ3N0ciAidW1vdW50OiAlczogeW9rIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTQgc3lzLXV0aWxzL21vdW50LmM6MjU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW91bnRlZCBvbiAlcy5cbiIKK21zZ3N0ciAidW1vdW50OiAlczogeW9rIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIHByb3BhZ2F0aW9uIGZsYWdzIGNoYW5nZWQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJtb3VudDogJXMgZG9lcyBub3QgY29udGFpbiBTRUxpbnV4IGxhYmVscy5cbiIKKyIgICAgICAgWW91IGp1c3QgbW91bnRlZCBhbiBmaWxlIHN5c3RlbSB0aGF0IHN1cHBvcnRzIGxhYmVscyB3aGljaCBkb2VzIG5vdFxuIgorIiAgICAgICBjb250YWluIGxhYmVscywgb250byBhbiBTRUxpbnV4IGJveC4gSXQgaXMgbGlrZWx5IHRoYXQgY29uZmluZWRcbiIKKyIgICAgICAgYXBwbGljYXRpb25zIHdpbGwgZ2VuZXJhdGUgQVZDIG1lc3NhZ2VzIGFuZCBub3QgYmUgYWxsb3dlZCBhY2Nlc3MgdG9cbiIKKyIgICAgICAgdGhpcyBmaWxlIHN5c3RlbS4gIEZvciBtb3JlIGRldGFpbHMgc2VlIHJlc3RvcmVjb24oOCkgYW5kIG1vdW50KDgpLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3OAorIywgZnV6enkKK21zZ2lkICJXQVJOSU5HOiBmYWlsZWQgdG8gYXBwbHkgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCittc2dzdHIgIm1vdW50OiAlcyAlcyDDvHplcmluZGUgc2FkZWNlIHJvb3QgdGFyYWbEsW5kYW4gYmHEn2xhbmFiaWxpciIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQiCittc2dzdHIgIm1vdW50OiAlcyB6YXRlbiAlcyDDvHplcmluZGUgYmHEn2zEsVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHVzZWQgYXMgcmVhZCBvbmx5IGxvb3AsIG1vdW50aW5nIHJlYWQtb25seSIKK21zZ3N0ciAibW91bnQ6ICVzJXMgeWF6bWEga29ydW1hbMSxLCBzYWx0LW9rdW51ciBvbGFyYWsgYmHEn2xhbsSxeW9yIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMgaW4gJXMiCittc2dzdHIgIm1vdW50OiAlcyAgJXMgacOnaW5kZSBidWx1bmFtxLF5b3IiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudHBvaW50ICVzIGluICVzIgorbXNnc3RyICJtb3VudDogJXMgICVzIGnDp2luZGUgYnVsdW5hbcSxeW9yIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgc291cmNlICVzIGluICVzIgorbXNnc3RyICJtb3VudDogJXMgICVzIGnDp2luZGUgYnVsdW5hbcSxeW9yIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzOiBtb3JlIGZpbGVzeXN0ZW1zIGRldGVjdGVkLiBUaGlzIHNob3VsZCBub3QgaGFwcGVuLFxuIgorIiAgICAgICB1c2UgLXQgPHR5cGU+IHRvIGV4cGxpY2l0bHkgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIG9yXG4iCisiICAgICAgIHVzZSB3aXBlZnMoOCkgdG8gY2xlYW4gdXAgdGhlIGRldmljZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDM2CisjLCBmdXp6eQorbXNnaWQgIkkgY291bGQgbm90IGRldGVybWluZSB0aGUgZmlsZXN5c3RlbSB0eXBlLCBhbmQgbm9uZSB3YXMgc3BlY2lmaWVkIgorbXNnc3RyICJtb3VudDogRG9zeWEgc2lzdGVtaSB0w7xyw7wgc2FwdGFuYW1hZMSxIHZlIGJlbGlydGlsbWVtacWfIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzkKKyMsIGZ1enp5Cittc2dpZCAieW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJtb3VudDogZG9zeWEgc2lzdGVtaSB0w7xyw7xuw7wgYmVsaXJ0bWVsaXNpbml6IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMiCittc2dzdHIgIiVzOiAlcyBpw6dpbiBiYcSfIG9sdcWfdHVydWxhbcSxeW9yOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDcKKyMsIGZ1enp5Cittc2dpZCAibW91bnQgc291cmNlIG5vdCBkZWZpbmVkIgorbXNnc3RyICJtb3VudDogYmHEn2xhbmFtYWTEsSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDUxIHN5cy11dGlscy9tb3VudC5jOjQ1MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSIKK21zZ3N0ciAidGFrYXMgYWxhbsSxbmRhIGJhxZ9hIGdpZGlsZW1peW9yIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudCBmYWlsZWQiCittc2dzdHIgIm1vdW50IGJhxZ9hcsSxc8SxeiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmlsZXN5c3RlbSBtb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorbXNnc3RyICJtb3VudDogYmHEn2xhbmFtYWTEsSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDg5IHN5cy11dGlscy9tb3VudC5jOjU0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgJXMgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJtb3VudDogYmHEn2xhbWEgbm9rdGFzxLEgJXMgYmlyIGRpemluIGRlxJ9pbCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDkzCisjLCBmdXp6eQorbXNnaWQgIm11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKK21zZ3N0ciAibW91bnQ6IHJvb3QgdGFyYWbEsW5kYW4ga3VsbGFuxLFsbWFsxLEiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYnVzeSIKK21zZ3N0ciAibW91bnQ6ICVzIG1lxZ9ndWwiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9yICVzIGJ1c3kiCittc2dzdHIgIm1vdW50OiB5YSAlcyB6YXRlbiBiYcSfbMSxIHlhIGRhICVzIG1lxZ9ndWwiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorbXNnc3RyICJtb3VudDogJXMgemF0ZW4gJXMgw7x6ZXJpbmRlIGJhxJ9sxLFcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAibW91bnQ6IGJhxJ9sYW1hIG5va3Rhc8SxICVzIHlvayIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBpcyBhIHN5bWJvbGljIGxpbmsgdG8gbm93aGVyZSIKK21zZ3N0ciAibW91bnQ6IGJhxJ9sYW1hIG5va3Rhc8SxICVzIGhpw6diaXIgeWVyZSBzZW1ib2xpayBiYcSfIHNhxJ9sYW3EsXlvciIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAibW91bnQ6IMO2emVsIGF5Z8SxdCAlcyB5b2siCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUzNiBzeXMtdXRpbHMvbW91bnQuYzo1Mzggc3lzLXV0aWxzL21vdW50LmM6NTQwCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NTUKKyMsIGZ1enp5Cittc2dpZCAibW91bnQoMikgZmFpbGVkIgorbXNnc3RyICJtb3VudCBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KSIKK21zZ3N0ciAiIgorIm1vdW50OiDDtnplbCBheWfEsXQgJXMgeW9rXG4iCisiICAgICAgIChkb3N5YSB5b2x1IMO2bmVraSBiaXIgZGl6aW4gZGXEn2lsKVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCittc2dzdHIgIm1vdW50OiAlcyB6YXRlbiBiYcSfbMSxIGRlxJ9pbCwgeWEgZGEgc2XDp2VuZWsgeWFubMSxxZ8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50cG9pbnQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAibW91bnQ6ICVzIHphdGVuIGJhxJ9sxLEgZGXEn2lsLCB5YSBkYSBzZcOnZW5layB5YW5sxLHFnyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTY1Cittc2dpZCAiIgorImJhZCBvcHRpb24uIE5vdGUgdGhhdCBtb3ZpbmcgYSBtb3VudCByZXNpZGluZyB1bmRlciBhIHNoYXJlZFxuIgorIiAgICAgICBtb3VudCBpcyB1bnN1cHBvcnRlZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisid3JvbmcgZnMgdHlwZSwgYmFkIG9wdGlvbiwgYmFkIHN1cGVyYmxvY2sgb24gJXMsXG4iCisiICAgICAgIG1pc3NpbmcgY29kZXBhZ2Ugb3IgaGVscGVyIHByb2dyYW0sIG9yIG90aGVyIGVycm9yIgorbXNnc3RyICIiCisibW91bnQ6IGRvc3lhIHNpc3RlbWkgdMO8csO8IHlhbmzEscWfLCBzZcOnZW5layB5YW5sxLHFnywgJXMgw7x6ZXJpbmRlIHN1cGVyYmxva1xuIgorIiAgICAgICBoYXRhbMSxLCBrYXJha3RlciBrw7xtZXNpIGVrc2lrLCB5YSBkYSBiYcWfa2EgYmlyIGhhdGEgb2xhYmlsaXIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU3NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAgIChmb3Igc2V2ZXJhbCBmaWxlc3lzdGVtcyAoZS5nLiBuZnMsIGNpZnMpIHlvdSBtaWdodFxuIgorIiAgICAgICBuZWVkIGEgL3NiaW4vbW91bnQuPHR5cGU+IGhlbHBlciBwcm9ncmFtKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiAgICAgICBJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGlzIGZvdW5kIGluIHN5c2xvZyAtIHRyeVxuIgorIiAgICAgICBkbWVzZyB8IHRhaWwgb3Igc28uXG4iCittc2dzdHIgIiIKKyIgICAgICAgQmF6xLEgZHVydW1sYXJkYSBzeXNsb2cnZGEgYnVsdW5hbiBiaWxnaWxlciB5YXJhcmzEsWTEsXIuXG4iCisiICAgICAgIGRtZXNnIHwgdGFpbCAgZ2liaSBiaXLFn2V5bGVyIGRlbmV5aW5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTgzCittc2dpZCAibW91bnQgdGFibGUgZnVsbCIKK21zZ3N0ciAiYmHEnyB0YWJsb3N1IGRvbHUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IHJlYWQgc3VwZXJibG9jayIKK21zZ3N0ciAibW91bnQ6ICVzOiBzdXBlcmJsb2sgb2t1bmFtxLF5b3IiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKK21zZ3N0ciAibW91bnQ6IGRvc3lhIHNpc3RlbWkgdMO8csO8ICclcycgYmlsaW5taXlvciIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTk0CisjLCBmdXp6eQorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJtb3VudDogZG9zeWEgc2lzdGVtaSB0w7xyw7wgJyVzJyBiaWxpbm1peW9yIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQoMikgZmFpbHM/IgorbXNnc3RyICJtb3VudDogJXMgYmlyIGJsb2sgYXlnxLF0xLEgb2xtYXlhYmlsaXIgbWkgdmUgZHVydW0gYmlsZ2lsZXJpIGFsxLFuYW1heWFiaWxpciBtaT8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorInRoZSBrZXJuZWwgZG9lcyBub3QgcmVjb2duaXplICVzIGFzIGEgYmxvY2sgZGV2aWNlXG4iCisiICAgICAgIChtYXliZSBgbW9kcHJvYmUgZHJpdmVyJz8pIgorbXNnc3RyICIiCisibW91bnQ6IMOnZWtpcmRlayAlcyBheWfEsXTEsW7EsSBiaXIgYmxvayBheWfEsXTEsSBvbGFyYWsgdGFuxLFtxLF5b3JcbiIKKyIgICAgICAgKGBpbnNtb2Qgc8O8csO8Y8O8JyBkZW5lbmViaWxpcj8pIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSAobWF5YmUgdHJ5IGAtbyBsb29wJz8pIgorbXNnc3RyICJtb3VudDogJXMgYmlyIGJsb2sgYXlnxLF0xLEgZGXEn2lsICggYC1vIGxvb3AnIGRlbmVuZWJpbGlyIG1pPykiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXM6IGJpciBibG9rIGF5Z8SxdMSxIGRlxJ9pbFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAibW91bnQ6ICVzIGdlw6dlcmxpIGJpciBibG9rIGF5Z8SxdMSxIGRlxJ9pbCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQgJXMgcmVhZC1vbmx5IgorbXNnc3RyICJtb3VudDogJXMlcyBzYWx0LW9rdW51ciBiYcSfbGFuYW3EsXlvciIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IGAtdycgZmxhZyBnaXZlbiIKK21zZ3N0ciAibW91bnQ6ICVzJXMgeWF6bWEga29ydW1hbMSxIG9sZHXEn3UgaGFsZGUgYWxlbmVuIGAtdycgc2XDp2VuZcSfaSBiZWxpcnRpbG1pxZ8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlbW91bnQgJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorbXNnc3RyICJtb3VudDogJXMlcyBzYWx0LW9rdW51ciBiYcSfbGFuYW3EsXlvciIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjMxIHN5cy11dGlscy9tb3VudC5jOjY1NCBzeXMtdXRpbHMvdW5zaGFyZS5jOjE4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgb24gJXMgZmFpbGVkIgorbXNnc3RyICIlczogJXMgICVzIG9sYXJhayBkZcSfacWfdGlyaWxlbWVkaTogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50aW5nIHJlYWQtb25seSIKK21zZ3N0ciAibW91bnQ6ICVzJXMgeWF6bWEga29ydW1hbMSxLCBzYWx0LW9rdW51ciBvbGFyYWsgYmHEn2xhbsSxeW9yIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKK21zZ3N0ciAibW91bnQ6ICVzIHphdGVuICVzIMO8emVyaW5kZSBiYcSfbMSxXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSIKK21zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3B0aW9uIGZvcm1hdDogJXMiCittc2dzdHIgIiVzOiBiaWxpbm1leWVuIGFyZ8O8bWFuOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhcHBlbmQgb3B0aW9uICclcyciCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbGhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2VdIDxzb3VyY2U+IHwgWy0tdGFyZ2V0XSA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIDxvcGVyYXRpb24+IDxtb3VudHBvaW50PiBbPHRhcmdldD5dXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzQ0CisjLCBmdXp6eQorbXNnaWQgIk1vdW50IGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiJXMgacOnaW4gZG9zeWEgc2lzdGVtaSBkZW5ldGltaSDFn2FydC5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW91bnQgYWxsIGZpbGVzeXN0ZW1zIG1lbnRpb25lZCBpbiBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgbW91bnQoMikgc3lzY2FsbFxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBmb3JrIG9mZiBmb3IgZWFjaCBkZXZpY2UgKHVzZSB3aXRoIC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8cGF0aD4gICAgICBhbHRlcm5hdGl2ZSBmaWxlIHRvIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgc2hvdyBhbHNvIGZpbGVzeXN0ZW0gbGFiZWxzXG4iCittc2dzdHIgIiAgWyAtZmlsZSBkw7Zrw7xtRG9zeWFzxLEgXVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTggc3lzLXV0aWxzL3Vtb3VudC5jOjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbW91bnQgb3B0aW9uc1xuIgorIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC1vbmx5IChzYW1lIGFzIC1vIHJvKVxuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1zb3VyY2UgPHNyYz4gICAgICBleHBsaWNpdGx5IHNwZWNpZmllcyBzb3VyY2UgKHBhdGgsIGxhYmVsLCB1dWlkKVxuIgorIiAgICAgLS10YXJnZXQgPHRhcmdldD4gICBleHBsaWNpdGx5IHNwZWNpZmllcyBtb3VudHBvaW50XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzY4IHN5cy11dGlscy91bW91bnQuYzo5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHNheSB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBTw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpclxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtd3JpdGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTb3VyY2U6XG4iCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc5MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3BlcmF0aW9uczpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIHNvbWV3aGVyZSBlbHNlIChzYW1lIGFzIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG1vdmUgYSBzdWJ0cmVlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjgwMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4ODcgc3lzLXV0aWxzL3Vtb3VudC5jOjU0OAorIywgZnV6enkKK21zZ2lkICJsaWJtb3VudCBjb250ZXh0IGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJtb3VudDogYmHEn2xhbmFtYWTEsSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6OTQ0IHN5cy11dGlscy91bW91bnQuYzo2MDEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCBvcHRpb25zIHBhdHRlcm4iCittc2dzdHIgIiVzIGRpc2sgYsO2bMO8bcO8bmUgeWF6YXJrZW4gaGF0YSBvbHXFn3R1XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEwOTcKKyMsIGZ1enp5Cittc2dpZCAic291cmNlIHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAiRGlza3RlIGJ1bHVuYW4gc2lsaW5kaXIgc2F5xLFzxLFuZGFuIGLDvHnDvGsgYmlyIHNhecSxIGJlbGlydHRpbml6IgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1xZF0gL3BhdGgvdG8vZGlyZWN0b3J5XG4iCisiICUxJHMgLXggL2Rldi9kZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEyMgorbXNnaWQgIkNoZWNrIHdoZXRoZXIgYSBkaXJlY3Rvcnkgb3IgZmlsZSBpcyBhIG1vdW50cG9pbnQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjUKK21zZ2lkICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICBxdWlldCBtb2RlIC0gZG9uJ3QgcHJpbnQgYW55dGhpbmdcbiIKKyIgLWQsIC0tZnMtZGV2bm8gICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgZmlsZXN5c3RlbVxuIgorIiAteCwgLS1kZXZubyAgICAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBibG9jayBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjE5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgbW91bnRwb2ludFxuIgorbXNnc3RyICJrw7ZrIGTDvMSfw7xtw7wgYmlyIGRpemluIGRlxJ9pbCIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoyMDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyBiYcSfbMSxLlx0IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjcyIHN5cy11dGlscy9zZXRwcml2LmM6OTMgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXVxuIgorbXNnc3RyICJrdWxsYW7EsW3EsTogJXMgcHJvZ3JhbSBbYXJnIC4uLl1cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3NgorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBuYW1lc3BhY2VzIG9mIG90aGVyIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjc5Cittc2dpZCAiIC10LCAtLXRhcmdldCA8cGlkPiAgICAgdGFyZ2V0IHByb2Nlc3MgdG8gZ2V0IG5hbWVzcGFjZXMgZnJvbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODAKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgZW50ZXIgbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgQnUgeWFyZMSxbSBpbGV0aXNpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgZW50ZXIgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODIKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgZW50ZXIgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgZW50ZXIgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vcm1hbGRlIHZlcmlsZW4gw6fEsWt0xLEgdmVyaWxtZXpcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICBlbnRlciBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOb3JtYWxkZSB2ZXJpbGVuIMOnxLFrdMSxIHZlcmlsbWV6XG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODUKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgZW50ZXIgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIEJ1IHlhcmTEsW0gaWxldGlzaW5pIGfDtnN0ZXJpclxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg2CisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgIGVudGVyIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NworIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2V0dWlkIDx1aWQ+ICAgICBzZXQgdWlkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OQorbXNnaWQgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyBkbyBub3QgdG91Y2ggdWlkcyBvciBnaWRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MAorbXNnaWQgIiAtciwgLS1yb290Wz08ZGlyPl0gICAgIHNldCB0aGUgcm9vdCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkxCittc2dpZCAiIC13LCAtLXdkWz08ZGlyPl0gICAgICAgc2V0IHRoZSB3b3JraW5nIGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTIKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICBkbyBub3QgZm9yayBiZWZvcmUgZXhlYydpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NAorbXNnaWQgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgIHNldCBTRUxpbnV4IGNvbnRleHQgYWNjb3JkaW5nIHRvIC0tdGFyZ2V0IFBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5laXRoZXIgZmlsZW5hbWUgbm9yIHRhcmdldCBwaWQgc3VwcGxpZWQgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mjc3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB1aWQiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjI4MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZ2lkIgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMTcKK21zZ2lkICJubyB0YXJnZXQgUElEIHNwZWNpZmllZCBmb3IgLS1mb2xsb3ctY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCAlZCBTRUxpbnV4IGNvbnRleHQiCittc2dzdHIgImTDvMSfw7xtbGVyIHlhesSxbGFtxLF5b3IiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGV4ZWMgY29udGV4dCB0byAnJXMnIgorbXNnc3RyICIlcyBkaXNrIGLDtmzDvG3DvG5lIHlhemFya2VuIGhhdGEgb2x1xZ90dVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVhc3NvY2lhdGUgdG8gbmFtZXNwYWNlICclcycgZmFpbGVkIgorbXNnc3RyICJheXLEsWxtxLHFnyBzZW1hZm9yIHNhecSxc8SxID0gJWRcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozOTAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXMgacOnaW4ga2lwIGRlxJ9pxZ90aXJpbGlya2VuIGhhdGE6ICVzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mzk3CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgcm9vdCBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICJlcmnFn2ltIGJhxZ9hcsSxc8SxeiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MDAKKyMsIGZ1enp5Cittc2dpZCAiY2hyb290IGZhaWxlZCIKK21zZ3N0ciAibW91bnQgYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQxMAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHdvcmtpbmcgZGlyZWN0b3J5IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgImVyacWfaW0gYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQyMSBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxNSBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxOQorIywgZnV6enkKK21zZ2lkICJzZXRncm91cHMgZmFpbGVkIgorbXNnc3RyICIlcyBhw6fEsWxhbWFkxLEiCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gbmV3X3Jvb3QgcHV0X29sZFxuIgorbXNnc3RyICJLdWxsYW7EsW3EsTogJXMgW3Nlw6dlbmVrbGVyXSBheWfEsXQgLi4uXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzcKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHRoZSByb290IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiVzIGnDp2luIGRvc3lhIHNpc3RlbWkgZGVuZXRpbWkgxZ9hcnQuXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCBmcm9tIGAlcycgdG8gYCVzJyIKK21zZ3N0ciAiJXMgZGlzayBiw7Zsw7xtw7xuZSB5YXphcmtlbiBoYXRhIG9sdcWfdHVcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NQorbXNnaWQgImFkZHJlc3Mgc3BhY2UgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIywgZnV6enkKK21zZ2lkICJtYXggY29yZSBmaWxlIHNpemUiCittc2dzdHIgIiclcycgZG9zeWFzxLEgYcOnxLFsYW3EsXlvciIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworbXNnaWQgIkNQVSB0aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKKyMsIGZ1enp5Cittc2dpZCAic2Vjb25kcyIKK21zZ3N0ciAiRE9TIGlraW5jaWwiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzgKK21zZ2lkICJtYXggZGF0YSBzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzkKKyMsIGZ1enp5Cittc2dpZCAibWF4IGZpbGUgc2l6ZSIKK21zZ3N0ciAiZMO8xJ/DvG0gc2F5xLFzxLEgaGF0YWzEsSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIGZpbGUgbG9ja3MgaGVsZCIKK21zZ3N0ciAiYXphbWkgYsO2bMO8dCBzYXnEsXPEsSA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCisjLCBmdXp6eQorbXNnaWQgImxvY2tzIgorbXNnc3RyICIlbGQgYmxva1xuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCittc2dpZCAibWF4IGxvY2tlZC1pbi1tZW1vcnkgYWRkcmVzcyBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyCittc2dpZCAibWF4IGJ5dGVzIGluIFBPU0lYIG1xdWV1ZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MworbXNnaWQgIm1heCBuaWNlIHByaW8gYWxsb3dlZCB0byByYWlzZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0CisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2Ygb3BlbiBmaWxlcyIKK21zZ3N0ciAiYXphbWkgYsO2bMO8dCBzYXnEsXPEsSA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0CisjLCBmdXp6eQorbXNnaWQgImZpbGVzIgorbXNnc3RyICIoU29ucmFraSBkb3N5YTogJXMpIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1CisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2YgcHJvY2Vzc2VzIgorbXNnc3RyICJhemFtaSBiw7Zsw7x0IHNhecSxc8SxID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKKyMsIGZ1enp5Cittc2dpZCAicHJvY2Vzc2VzIgorbXNnc3RyICIlczogXCIlc1wiIHPDvHJlY2kgYnVsdW5hbcSxeW9yXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODYKK21zZ2lkICJtYXggcmVzaWRlbnQgc2V0IHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NworIywgZnV6enkKK21zZ2lkICJtYXggcmVhbC10aW1lIHByaW9yaXR5IgorbXNnc3RyICJnZXRwcmlvcml0eSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgInRpbWVvdXQgZm9yIHJlYWwtdGltZSB0YXNrcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAibWljcm9zZWNzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKKyMsIGZ1enp5Cittc2dpZCAibWF4IG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHMiCittc2dzdHIgImF6YW1pIGLDtmzDvHQgc2F5xLFzxLEgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorbXNnaWQgInNpZ25hbHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgIm1heCBzdGFjayBzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTIzCisjLCBmdXp6eQorbXNnaWQgInJlc291cmNlIG5hbWUiCittc2dzdHIgIkt1bGxhbsSxY8SxIGlzbWkga3VyYWxkxLHFn8SxIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNAorIywgZnV6enkKK21zZ2lkICJyZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiYmxvayBheWfEsXTEsSAiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI1Cittc2dpZCAic29mdCBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNgorbXNnaWQgImhhcmQgbGltaXQgKGNlaWxpbmcpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI3CisjLCBmdXp6eQorbXNnaWQgInVuaXRzIgorbXNnc3RyICJCaXJpbSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1wIFBJRF1cbiIKK21zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFtzZcOnZW5la2xlcl0gYXlnxLF0IC4uLlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBDT01NQU5EXG4iCittc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbc2XDp2VuZWtsZXJdIGF5Z8SxdCAuLi5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjYKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVzb3VyY2UgbGltaXRzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiR2VuZXJhbCBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgZGlzayBiw7Zsw7xtw7w6XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY5Cittc2dpZCAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHByb2Nlc3MgaWRcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCisiICAgICAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyIgICAgIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCisiICAgICAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBvdXRwdXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzcKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlJlc291cmNlcyBPcHRpb25zOlxuIgorbXNnc3RyICJ0ZWhsaWtlbGkgc2XDp2VuZWtsZXI6IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OAorbXNnaWQgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgY29yZSBmaWxlcyBjcmVhdGVkXG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcydzIGRhdGEgc2VnbWVudFxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIG1heGltdW0gbmljZSBwcmlvcml0eSBhbGxvd2VkIHRvIHJhaXNlXG4iCisiIC1mLCAtLWZzaXplICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlIHByb2Nlc3NcbiIKKyIgLWksIC0tc2lncGVuZGluZyAgICAgICBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHNcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICBtYXhpbXVtIHNpemUgYSBwcm9jZXNzIG1heSBsb2NrIGludG8gbWVtb3J5XG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZVxuIgorIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIG9wZW4gZmlsZXNcbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBtYXhpbXVtIGJ5dGVzIGluIFBPU0lYIG1lc3NhZ2UgcXVldWVzXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eVxuIgorIiAtcywgLS1zdGFjayAgICAgICAgICAgIG1heGltdW0gc3RhY2sgc2l6ZVxuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIG1heGltdW0gYW1vdW50IG9mIENQVSB0aW1lIGluIHNlY29uZHNcbiIKKyIgLXUsIC0tbnByb2MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiB1c2VyIHByb2Nlc3Nlc1xuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIHNpemUgb2YgdmlydHVhbCBtZW1vcnlcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBmaWxlIGxvY2tzXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAgQ1BVIHRpbWUgaW4gbWljcm9zZWNvbmRzIGEgcHJvY2VzcyBzY2hlZHVsZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1bmRlciByZWFsLXRpbWUgc2NoZWR1bGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MjQzIHN5cy11dGlscy9wcmxpbWl0LmM6MjQ5IHN5cy11dGlscy9wcmxpbWl0LmM6MzY2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3MQorbXNnaWQgInVubGltaXRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjMzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBvbGQgJXMgbGltaXQiCittc2dzdHIgIiVzIGRpc2sgYsO2bMO8bcO8bmUgeWF6YXJrZW4gaGF0YSBvbHXFn3R1XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzU2CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBzb2Z0IGxpbWl0ICVzIGNhbm5vdCBleGNlZWQgdGhlIGhhcmQgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmV3ICVzIGxpbWl0IGZvciBwaWQgJWQ6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgIiVzIGRpc2sgYsO2bMO8bcO8bmUgeWF6YXJrZW4gaGF0YSBvbHXFn3R1XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mzc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIKK21zZ3N0ciAiJXMgZGlzayBiw7Zsw7xtw7xuZSB5YXphcmtlbiBoYXRhIG9sdcWfdHVcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo0NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBsaW1pdCIKK21zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NTg1Cittc2dpZCAib3B0aW9uIC0tcGlkIG1heSBiZSBzcGVjaWZpZWQgb25seSBvbmNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NjE2CisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbnMgLS1waWQgYW5kIENPTU1BTkQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorIiVzOiAgLS1hZGp1c3QgdmUgLS1ub2FkamZpbGUgc2XDp2VuZWtsZXJpIGJpcmJpcml5bGUgw6dlbGnFn2lyLlxuIgorIlNpeiBpa2lzaW5pIGRlIGJlbGlydG1pxZ9zaW5pei5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA3Cittc2dpZCAiRGlzcGxheSBrZXJuZWwgcHJvZmlsaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICIgLW0sIC0tbWFwZmlsZSA8bWFwZmlsZT4gICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIlc1wiKVxuIgorbXNnc3RyICIgQsO2bMO8bSAgICAgICAgIMSwbGsgICAgICAgICAgU29uICAgICAgICAgICAgICBTZWt0w7ZyICAgIERvc3lhXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICIgLXAsIC0tcHJvZmlsZSA8cHJvLWZpbGU+ICAoZGVmYXVsdDogIFwiJXNcIilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTYKK21zZ2lkICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNworIywgZnV6enkKK21zZ2lkICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICDDh8Sxa3TEsSB0xLFybmFrIGnDp2luZSBhbMSxbm1helxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTgKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBkYXRhXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE5CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIHByaW50IGFsbCBzeW1ib2xzLCBldmVuIGlmIGNvdW50IGlzIDBcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBCdSB5YXJkxLFtIGlsZXRpc2luaSBnw7ZzdGVyaXJcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIwCittc2dpZCAiIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMQorbXNnaWQgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgY291bnRlcnMgd2l0aGluIGZ1bmN0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgZ2V0b3B0KDEpIHPDvHLDvG3DvCBpw6dpbiB0ZXN0XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMworbXNnaWQgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3Igd3JpdGluZyAlcyIKK21zZ3N0ciAiJXMgeWF6xLFsxLFya2VuIGhhdGE6ICVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyNzEKK21zZ2lkICJBc3N1bWluZyByZXZlcnNlZCBieXRlIG9yZGVyLiBVc2UgLW4gdG8gZm9yY2UgbmF0aXZlIGJ5dGUgb3JkZXIuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2FtcGxpbmdfc3RlcDogJXVcbiIKK21zZ3N0ciAiw5ZybmVrbGVtZV9hZMSxbcSxOiAlaVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMDIgc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyglaSk6IHdyb25nIG1hcCBsaW5lIgorbXNnc3RyICIlczogJXMoJWkpOiBlxZ9sZW0gc2F0xLFyxLEgeWFubMSxxZ9cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIFwiX3N0ZXh0XCIgaW4gJXMiCittc2dzdHIgIiVzOiBcIl9zdGV4dFwiICVzIGnDp2luZGUgYnVsdW5hbcSxeW9yXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjM0NgorIywgZnV6enkKK21zZ2lkICJwcm9maWxlIGFkZHJlc3Mgb3V0IG9mIHJhbmdlLiBXcm9uZyBtYXAgZmlsZT8iCittc2dzdHIgIiVzOiBwcm9maWwgYWRyZXNpIGthcHNhbWTEscWfxLEuIEXFn2xlbSBkb3N5YXPEsSB5YW5sxLHFnyBvbGFiaWxpciBtaT9cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6NDA0Cittc2dpZCAidG90YWwiCittc2dzdHIgInRvcGxhbSIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUyCittc2dpZCAicHJvY2VzcyBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTMKK21zZ2lkICJwcm9jZXNzIGdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+IFstcHwtLXBpZF0gPHBpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC1nfC0tcGdycCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC11fC0tdXNlciA8dXNlcj4uLi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjcKK21zZ2lkICJBbHRlciB0aGUgcHJpb3JpdHkgb2YgcnVubmluZyBwcm9jZXNzZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcwCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIHNwZWNpZnkgdGhlIG5pY2UgaW5jcmVtZW50IHZhbHVlXG4iCittc2dzdHIgIlNpbGluZGlyIHNhecSxc8SxbsSxIHZlcmluOiAiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MQorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBJRCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICDDh8Sxa3TEsSB0xLFybmFrIGnDp2luZSBhbMSxbm1helxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzIKK21zZ2lkICIgLWcsIC0tcGdycCA8aWQ+ICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBncm91cCBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MworbXNnaWQgIiAtdSwgLS11c2VyIDxuYW1lPnw8aWQ+IGludGVycHJldCBhcmd1bWVudCBhcyB1c2VybmFtZSBvciB1c2VyIElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICIlcyBkaXNrIGLDtmzDvG3DvG5lIHlhemFya2VuIGhhdGEgb2x1xZ90dVxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgIiVzIGRpc2sgYsO2bMO8bcO8bmUgeWF6YXJrZW4gaGF0YSBvbHXFn3R1XG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkICglcykgb2xkIHByaW9yaXR5ICVkLCBuZXcgcHJpb3JpdHkgJWRcbiIKK21zZ3N0ciAiJWQ6IGVza2kgw7ZuY2VsaWsgJWQsIHllbmkgw7ZuY2VsaWsgJWRcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjE3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB1c2VyICVzIgorbXNnc3RyICIlczogQmlsaW5tZXllbiBrb211dDogJXNcbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyBvbmUgb2YgdGhlIGFib3ZlCisjLiAqIHRocmVlIElEIG5hbWVzLiBSZWFkOiAiYmFkIHZhbHVlIGZvciAlczogJXMiCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgJXMgdmFsdWU6ICVzIgorbXNnc3RyICJ6YW1hbiBhxZ/EsW3EsSBkZcSfZXJpIGhhdGFsxLE6ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjk4Cittc2dpZCAiRW50ZXIgYSBzeXN0ZW0gc2xlZXAgc3RhdGUgdW50aWwgYSBzcGVjaWZpZWQgd2FrZXVwIHRpbWUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgICAgICAgICByZWFkcyB0aGUgY2xvY2sgbW9kZSBmcm9tIGFkanVzdCBmaWxlIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIEJ1IHlhcmTEsW0gaWxldGlzaW5pIGfDtnN0ZXJpclxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDUKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZXN0YW1wPiAgIGRhdGUgdGltZSBvZiB0aW1lc3RhbXAgdG8gd2FrZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA2Cittc2dpZCAiIC1kLCAtLWRldmljZSA8ZGV2aWNlPiAgICBzZWxlY3QgcnRjIGRldmljZSAocnRjMHxydGMxfC4uLilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNworbXNnaWQgIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgZG9lcyBldmVyeXRoaW5nLCBidXQgc3VzcGVuZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA4CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIHVzZXMgbG9jYWwgdGltZXpvbmVcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBCdSB5YXJkxLFtIGlsZXRpc2luaSBnw7ZzdGVyaXJcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDkKK21zZ2lkICIgICAgIC0tbGlzdC1tb2RlcyAgICAgICAgIGxpc3QgYXZhaWxhYmxlIG1vZGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTAKK21zZ2lkICIgLW0sIC0tbW9kZSA8bW9kZT4gICAgICAgIHN0YW5kYnl8bWVtfC4uLiBzbGVlcCBtb2RlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTEKK21zZ2lkICIgLXMsIC0tc2Vjb25kcyA8c2Vjb25kcz4gIHNlY29uZHMgdG8gc2xlZXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMgorbXNnaWQgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTMKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBSVEMgdXNlcyBVVENcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBTw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpclxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBTw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpclxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE2NworIywgZnV6enkKK21zZ2lkICJyZWFkIHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiZ2V0dGltZW9mZGF5IGJhxZ9hcsSxc8SxeiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBzeXN0ZW0gdGltZSBmYWlsZWQiCittc2dzdHIgImF5csSxbG3EscWfIHNlbWFmb3Igc2F5xLFzxLEgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE4OQorIywgZnV6enkKK21zZ2lkICJjb252ZXJ0IHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiIgorIlxuIgorIkRvc3lhIGthcGF0xLFsxLFya2VuIGhhdGFcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyMzcKK21zZ2lkICJzZXQgcnRjIHdha2UgYWxhcm0gZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzA3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdGhpcmQgbGluZSBpbjogJXM6ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzIwIHN5cy11dGlscy9ydGN3YWtlLmM6NjI0CisjLCBmdXp6eQorbXNnaWQgInJlYWQgcnRjIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAiYXlyxLFsbcSxxZ8gc2VtYWZvciBzYXnEsXPEsSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvZmZcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMzOAorIywgZnV6enkKK21zZ2lkICJjb252ZXJ0IHRpbWUgZmFpbGVkIgorbXNnc3RyICJnZXR0aW1lb2ZkYXkgYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb24gICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mzg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZDogJXMiCittc2dzdHIgIiVzIGHDp8SxbGFtYWTEsVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHN1c3BlbmQgc3RhdGUgJyVzJyIKK21zZ3N0ciAiICVzOiBkaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3UgdMO8csO8IHRhbsSxbm3EsXlvclxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ3NQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNlY29uZHMgYXJndW1lbnQiCittc2dzdHIgImtpbWxpayBnZcOnZXJzaXoiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDc5CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgdGltZSBhcmd1bWVudCIKK21zZ3N0ciAia2ltbGlrIGdlw6dlcnNpeiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxMQorIywgZnV6enkKK21zZ2lkICJVc2luZyBVVEMgdGltZS5cbiIKK21zZ3N0ciAiJXMga3VsbGFuYXJhay5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTIKKyMsIGZ1enp5Cittc2dpZCAiVXNpbmcgbG9jYWwgdGltZS5cbiIKK21zZ3N0ciAiJXMga3VsbGFuYXJhay5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTUKK21zZ2lkICJtdXN0IHByb3ZpZGUgd2FrZSB0aW1lIChzZWUgLS1zZWNvbmRzLCAtLXRpbWUgYW5kIC0tZGF0ZSBvcHRpb25zKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGVuYWJsZWQgZm9yIHdha2V1cCBldmVudHMiCittc2dzdHIgIiVzOiAlcyBiaXIgbHAgYXlnxLF0xLEgZGXEn2lsLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyOAorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybSAlbGQsIHN5c190aW1lICVsZCwgcnRjX3RpbWUgJWxkLCBzZWNvbmRzICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBkb2Vzbid0IGdvIGJhY2t3YXJkIHRvICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlc0AlcyBkZW4gaWxldGkgdmFyICglcyDDvHplcmluZGVuLCDFn3UgYW4gJXMpIC4uLiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgZnJvbSBcIiVzXCIgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIiVzQCVzIGRlbiBpbGV0aSB2YXIgKCVzIMO8emVyaW5kZW4sIMWfdSBhbiAlcykgLi4uIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU1OQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG5vOyBsZWF2aW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvZmY7IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogb247IHJlYWRpbmcgcnRjXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1OTIKKyMsIGZ1enp5Cittc2dpZCAicnRjIHJlYWQgZmFpbGVkIgorbXNnc3RyICIoU29ucmFraSBkb3N5YTogJXMpIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwNAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IGRpc2FibGU7IGRpc2FibGluZyBhbGFybVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjA4CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogc2hvdzsgcHJpbnRpbmcgYWxhcm0gaW5mb1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjE1CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogJXM7IHN1c3BlbmRpbmcgc3lzdGVtXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjkKK21zZ2lkICJkaXNhYmxlIHJ0YyBhbGFybSBpbnRlcnJ1cHQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3dpdGNoaW5nIG9uICVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8YXJjaD4gW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJrdWxsYW7EsW3EsTogJXMgcHJvZ3JhbSBbYXJnIC4uLl1cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAia3VsbGFuxLFtxLE6ICVzIHByb2dyYW0gW2FyZyAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTYKK21zZ2lkICJDaGFuZ2UgdGhlIHJlcG9ydGVkIGFyY2hpdGVjdHVyZSBhbmQgc2V0IHBlcnNvbmFsaXR5IGZsYWdzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTkKK21zZ2lkICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIHR1cm5zIG9uIEFERFJfTElNSVRfMzJCSVRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMAorbXNnaWQgIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAgbWFrZXMgZnVuY3Rpb24gcG9pbnRlcnMgcG9pbnQgdG8gZGVzY3JpcHRvcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMQorbXNnaWQgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgdHVybnMgb24gU0hPUlRfSU5PREVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMgorbXNnaWQgIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQgY2hhbmdlcyB0aGUgd2F5IHZpcnR1YWwgbWVtb3J5IGlzIGFsbG9jYXRlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAzCittc2dpZCAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBkaXNhYmxlcyByYW5kb21pemF0aW9uIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNAorbXNnaWQgIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgdHVybnMgb24gV0hPTEVfU0VDT05EU1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA1Cittc2dpZCAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0dXJucyBvbiBTVElDS1lfVElNRU9VVFNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNgorbXNnaWQgIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgdHVybnMgb24gUkVBRF9JTVBMSUVTX0VYRUNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNworbXNnaWQgIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgdHVybnMgb24gTU1BUF9QQUdFX1pFUk9cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOAorbXNnaWQgIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgbGltaXRzIHRoZSB1c2VkIGFkZHJlc3Mgc3BhY2UgdG8gYSBtYXhpbXVtIG9mIDMgR0JcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOQorbXNnaWQgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMAorbXNnaWQgIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgdHVybnMgb24gVU5BTUUyNlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTExCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgc2F5IHdoYXQgb3B0aW9ucyBhcmUgYmVpbmcgc3dpdGNoZWQgb25cbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBTw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpclxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExNAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3Qgc2V0dGFibGUgYXJjaGl0ZWN0dXJlcywgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICDDh8Sxa3TEsSB0xLFybmFrIGnDp2luZSBhbMSxbm1helxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzXG4iCisiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKK21zZ3N0ciAiRGFoYSBmYXpsYSBiaWxnaSBpw6dpbiBgZ2V0b3B0IC0taGVscCcgeWF6xLFuxLF6LlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKK21zZ3N0ciAiRGFoYSBmYXpsYSBiaWxnaSBpw6dpbiBgZ2V0b3B0IC0taGVscCcgeWF6xLFuxLF6LlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IFVucmVjb2duaXplZCBhcmNoaXRlY3R1cmUiCittc2dzdHIgIiAlczogZGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1IHTDvHLDvCB0YW7EsW5txLF5b3JcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyNTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIktlcm5lbCBjYW5ub3Qgc2V0IGFyY2hpdGVjdHVyZSB0byAlcyIKK21zZ3N0ciAiJXMgacOnaW4gemFtYW4gYcWfxLFtxLEgZGXEn2VyaSBhbMSxbmFtxLF5b3I6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzA1CisjLCBmdXp6eQorbXNnaWQgIk5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICLDh29rIGZhemxhIGFyZ8O8bWFuIGJlbGlydGlsZGkuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICIlcyBkaXNrIGLDtmzDvG3DvG5lIHlhemFya2VuIGhhdGEgb2x1xZ90dVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM3OQorIywgZnV6enkKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICctLWxpc3QnIgorbXNnc3RyICJgLSVjJyBzZcOnZW5lxJ9pIGJpbGlubWl5b3JcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozODcKKyMsIGZ1enp5Cittc2dpZCAibm8gYXJjaGl0ZWN0dXJlIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAiw4dvayBmYXpsYSBhcmfDvG1hbiBiZWxpcnRpbGRpLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAiJXMgZGlzayBiw7Zsw7xtw7xuZSB5YXphcmtlbiBoYXRhIG9sdcWfdHVcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGUgY29tbWFuZCBgJXMnLlxuIgorbXNnc3RyICJWZXJpbGVuIGRhdGUga29tdXR1OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk3Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIGRpZmZlcmVudCBwcml2aWxlZ2Ugc2V0dGluZ3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDAKK21zZ2lkICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgIHNob3cgY3VycmVudCBzdGF0ZSAoYW5kIGRvIG5vdCBleGVjIGFueXRoaW5nKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTAxCittc2dpZCAiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICBkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTAyCittc2dpZCAiIC0taW5oLWNhcHMgPGNhcHMsLi4uPiAgICBzZXQgaW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDMKK21zZ2lkICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgIHNldCBjYXBhYmlsaXR5IGJvdW5kaW5nIHNldFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA0CisjLCBmdXp6eQorbXNnaWQgIiAtLXJ1aWQgPHVpZD4gICAgICAgICAgICAgc2V0IHJlYWwgdWlkXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOb3JtYWxkZSB2ZXJpbGVuIMOnxLFrdMSxIHZlcmlsbWV6XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA1Cittc2dpZCAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA2Cittc2dpZCAiIC0tcmdpZCA8Z2lkPiAgICAgICAgICAgICBzZXQgcmVhbCBnaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNworbXNnaWQgIiAtLWVnaWQgPGdpZD4gICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwOAorbXNnaWQgIiAtLXJldWlkIDx1aWQ+ICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwOQorbXNnaWQgIiAtLXJlZ2lkIDxnaWQ+ICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMAorbXNnaWQgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgY2xlYXIgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMQorbXNnaWQgIiAtLWtlZXAtZ3JvdXBzICAgICAgICAgICAga2VlcCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEyCittc2dpZCAiIC0tZ3JvdXBzIDxncm91cCwuLi4+ICAgICBzZXQgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMworbXNnaWQgIiAtLXNlY3VyZWJpdHMgPGJpdHM+ICAgICAgc2V0IHNlY3VyZWJpdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNAorbXNnaWQgIiAtLXNlbGludXgtbGFiZWwgPGxhYmVsPiAgc2V0IFNFTGludXggbGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNQorbXNnaWQgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgc2V0IEFwcEFybW9yIHByb2ZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyMQorbXNnaWQgIiBUaGlzIHRvb2wgY2FuIGJlIGRhbmdlcm91cy4gIFJlYWQgdGhlIG1hbnBhZ2UsIGFuZCBiZSBjYXJlZnVsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTkzIHN5cy11dGlscy9zZXRwcml2LmM6NDY3Cittc2dpZCAiZ2V0dGluZyBwcm9jZXNzIHNlY3VyZSBiaXRzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN1cmViaXRzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIltub25lXVxuIgorbXNnc3RyICJIacOnYmlyaSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbG9uZyIKK21zZ3N0ciAiU2F0xLFyIMOnb2sgdXp1biIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3MyBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyMSBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyNgorIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzIgc3lzLXV0aWxzL3NldHByaXYuYzozMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIltub25lXSIKK21zZ3N0ciAiSGnDp2JpcmkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgInVpZDogJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICJldWlkOiAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1aWQ6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTkgc3lzLXV0aWxzL3NldHByaXYuYzozOTEKKyMsIGZ1enp5Cittc2dpZCAiZ2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMwOCBzeXMtdXRpbHMvc2V0cHJpdi5jOjQwNgorIywgZnV6enkKK21zZ2lkICJnZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIkVmZmVjdGl2ZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyNAorIywgYy1mb3JtYXQKK21zZ2lkICJQZXJtaXR0ZWQgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FwYWJpbGl0eSBib3VuZGluZyBzZXQ6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MworIywgZnV6enkKK21zZ2lkICJTRUxpbnV4IGxhYmVsIgorbXNnc3RyICJMaW51eCBzYWx0bWV0aW4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQ2Cittc2dpZCAiQXBwQXJtb3IgcHJvZmlsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYXAgJWQ6IGxpYmNhcC1uZyBpcyBicm9rZW4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODIKK21zZ2lkICJJbnZhbGlkIHN1cHBsZW1lbnRhcnkgZ3JvdXAgaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozOTkKKyMsIGZ1enp5Cittc2dpZCAic2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQxNAorIywgZnV6enkKK21zZ2lkICJzZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDM1Cittc2dpZCAiYmFkIGNhcGFiaWxpdHkgc3RyaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDQzCittc2dpZCAibGliY2FwLW5nIGlzIHRvbyBvbGQgZm9yIFwiYWxsXCIgY2FwcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjYXBhYmlsaXR5IFwiJXNcIiIKK21zZ3N0ciAiJXMgZGl6aW5pIHlvayFcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NzYKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCBzZXQgLS0gcmVmdXNpbmcgdG8gYWRqdXN0IgorbXNnc3RyICJiacOnZW0gYmlsaW5taXlvciAtIHNla3TDtnIgc2F5xLFzxLEga3VsbGFuxLFsxLF5b3JcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0ODAKK21zZ2lkICJiYWQgc2VjdXJlYml0cyBzdHJpbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAiK2FsbCBzZWN1cmViaXRzIGlzIG5vdCBhbGxvd2VkIgorbXNnc3RyICInJWMnIGt1bGxhbsSxbGFtYXouXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTAwCittc2dpZCAiYWRqdXN0aW5nIGtlZXBfY2FwcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTA0CisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQiCittc2dzdHIgImFubGHFn8SxbG1heWFuIGdpcmRpOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUyNAorbXNnaWQgIlNFTGludXggaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNsb3NlIGZhaWxlZDogJXMiCittc2dzdHIgImVyacWfaW0gYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU0NworbXNnaWQgIkFwcEFybW9yIGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjU4Cittc2dpZCAiZHVwbGljYXRlIC0tbm8tbmV3LXByaXZzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY2MworbXNnaWQgImR1cGxpY2F0ZSBydWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjY1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBydWlkIgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NjkKK21zZ2lkICJkdXBsaWNhdGUgZXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY3MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXVpZCIKK21zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njc1Cittc2dpZCAiZHVwbGljYXRlIHJ1aWQgb3IgZXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY3NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmV1aWQiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4MQorbXNnaWQgImR1cGxpY2F0ZSByZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjgzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZ2lkIgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODcKK21zZ2lkICJkdXBsaWNhdGUgZWdpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWdpZCIKK21zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjkzCittc2dpZCAiZHVwbGljYXRlIHJnaWQgb3IgZWdpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY5NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmVnaWQiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcwMAorbXNnaWQgImR1cGxpY2F0ZSAtLWNsZWFyLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MDYKK21zZ2lkICJkdXBsaWNhdGUgLS1rZWVwLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MTIKK21zZ2lkICJkdXBsaWNhdGUgLS1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzIxCittc2dpZCAiZHVwbGljYXRlIC0taW5oLWNhcHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzI3Cittc2dpZCAiZHVwbGljYXRlIC0tYm91bmRpbmctc2V0IG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjczMworbXNnaWQgImR1cGxpY2F0ZSAtLXNlY3VyZWJpdHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzM5Cittc2dpZCAiZHVwbGljYXRlIC0tc2VsaW51eC1sYWJlbCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NDUKK21zZ2lkICJkdXBsaWNhdGUgLS1hcHBhcm1vci1wcm9maWxlIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnJWMnIgorbXNnc3RyICJgLSVjJyBzZcOnZW5lxJ9pIGJpbGlubWl5b3JcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NjMKK21zZ2lkICItLWR1bXAgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzEKK21zZ2lkICItLWxpc3QtY2FwcyBtdXN0IGJlIHNwZWNpZmllZCBhbG9uZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3NworIywgZnV6enkKK21zZ2lkICJObyBwcm9ncmFtIHNwZWNpZmllZCIKK21zZ3N0ciAiLS1kYXRlIHNlw6dlbmXEn2kgYmVsaXJ0aWxtZW1pxZ8uXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgyCittc2dpZCAiLS1bcmVdZ2lkIHJlcXVpcmVzIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCBvciAtLWdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4NQorbXNnaWQgImRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MworbXNnaWQgImtlZXAgcHJvY2VzcyBjYXBhYmlsaXRpZXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODAxCittc2dpZCAiYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA3Cittc2dpZCAicmVhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjMKKyMsIGZ1enp5Cittc2dpZCAic2V0IHByb2Nlc3Mgc2VjdXJlYml0cyBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGJhxZ9hcsSxc8SxeiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjkKK21zZ2lkICJhcHBseSBib3VuZGluZyBzZXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzUKK21zZ2lkICJhcHBseSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBleGVjdXRlOiAlcyIKK21zZ3N0ciAiJXMgYXlnxLF0xLFuxLFuIGR1cnVtIGJpbGdpc2kgYWzEsW5hbcSxeW9yIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFthcmd1bWVudHMgLi4uXVxuIgorbXNnc3RyICJrdWxsYW7EsW3EsTogJXMgcHJvZ3JhbSBbYXJnIC4uLl1cbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjM2Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSBpbiBhIG5ldyBzZXNzaW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozOQorbXNnaWQgIiAtYywgLS1jdHR5ICAgICBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIHRvIHRoZSBjdXJyZW50IG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MAorbXNnaWQgIiAtdywgLS13YWl0ICAgICB3YWl0IHByb2dyYW0gdG8gZXhpdCwgYW5kIHVzZSB0aGUgc2FtZSByZXR1cm5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiZm9yayIKK21zZ3N0ciAiZm9yazogJXMiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNoaWxkICVkIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAibW91bnQ6IGJhxJ9sYW1hIG5va3Rhc8SxICVzIHlvayIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExMAorIywgZnV6enkKK21zZ2lkICJzZXRzaWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwiCittc2dzdHIgIiVzIGRpc2sgYsO2bMO8bcO8bmUgeWF6YXJrZW4gaGF0YSBvbHXFn3R1XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInN3YXBvZmYgJXNcbiIKK21zZ3N0ciAiJXMgJXMgw7x6ZXJpbmRlXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA1CisjLCBmdXp6eQorbXNnaWQgIk5vdCBzdXBlcnVzZXIuIgorbXNnc3RyICJyb290IGRlxJ9pbC5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb2ZmIGZhaWxlZCIKK21zZ3N0ciAiZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTIyIHN5cy11dGlscy9zd2Fwb24uYzo3ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxzcGVjPl1cbiIKK21zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFtzZcOnZW5la2xlcl0gYXlnxLF0IC4uLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyNQorbXNnaWQgIkRpc2FibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjgKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgc3dhcHMgZnJvbSAvcHJvYy9zd2Fwc1xuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTM1Cittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MworIywgZnV6enkKK21zZ2lkICJkZXZpY2UgZmlsZSBvciBwYXJ0aXRpb24gcGF0aCIKK21zZ3N0ciAiICAgZCAgIGJpciBkaXNrIGLDtmzDvG3DvG7DvCBzaWxlciIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk0CisjLCBmdXp6eQorbXNnaWQgInR5cGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAiZG9zeWEgeW9sdSBkdXJ1bSBiaWxnaWxlcmkgYWzEsW5hbWFkxLFcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk1CisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIHN3YXAgYXJlYSIKK21zZ3N0ciAiZG9zeWEgeW9sdSBkdXJ1bSBiaWxnaWxlcmkgYWzEsW5hbWFkxLFcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk2CisjLCBmdXp6eQorbXNnaWQgImJ5dGVzIGluIHVzZSIKK21zZ3N0ciAiS3VsbGFuxLFtZGEgb2xhcmFrIGltbGVuc2luIG1pPyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk3CisjLCBmdXp6eQorbXNnaWQgInN3YXAgcHJpb3JpdHkiCittc2dzdHIgInNldHByaW9yaXR5IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTgKK21zZ2lkICJzd2FwIHV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk5CisjLCBmdXp6eQorbXNnaWQgInN3YXAgbGFiZWwiCittc2dzdHIgImJpciBldGlrZXQgeW9rLCAiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNcdFx0XHRcdFR5cGVcdFx0U2l6ZVx0VXNlZFx0UHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ2Cittc2dpZCAiRmlsZW5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVpbml0aWFsaXppbmcgdGhlIHN3YXAuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsc2VlayBmYWlsZWQiCittc2dzdHIgImVyacWfaW0gYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgc2lnbmF0dXJlIGZhaWxlZCIKK21zZ3N0ciAiJXMgYcOnxLFsYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgLSBpdCBhcHBlYXJzIHRvIGhhdmUgaG9sZXMuIgorbXNnc3RyICIlczogJXMgYXRsYW7EsXlvciAtIGJhesSxIGRlbGlrbGVyIGnDp2VyaXlvciBnaWJpIGfDtnLDvG7DvHlvci5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldCBzaXplIGZhaWxlZCIKK21zZ3N0ciAiZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgc3dhcCBoZWFkZXIgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZvdW5kIHNpZ25hdHVyZSBbcGFnZXNpemU9JWQsIHNpZ25hdHVyZT0lc10iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFnZXNpemU9JWQsIHN3YXBzaXplPSVsbHUsIGRldnNpemU9JWxsdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsYXN0X3BhZ2UgMHglMDhsbHggaXMgbGFyZ2VyIHRoYW4gYWN0dWFsIHNpemUgb2Ygc3dhcHNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4gKFVzZSAtLWZpeHBnc3ogdG8gcmVpbml0aWFsaXplIGl0LikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc29mdHdhcmUgc3VzcGVuZCBkYXRhIGRldGVjdGVkLiBSZXdyaXRpbmcgdGhlIHN3YXAgc2lnbmF0dXJlLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb24gJXNcbiIKK21zZ3N0ciAiJXMgJXMgw7x6ZXJpbmRlXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb24gZmFpbGVkIgorbXNnc3RyICJlcmnFn2ltIGJhxZ9hcsSxc8SxeiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vYXV0byBvcHRpb24gLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IFwiLSVjXCIgZGl5ZSBiaXIgc2XDp2VuZWsgYmlsaW5taXlvclxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBhY3RpdmUgLS0gaWdub3JlZCIKK21zZ3N0ciAiZXJpxZ9pbSBoYXRhc8SxIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaW5hY2Nlc3NpYmxlIC0tIGlnbm9yZWQiCittc2dzdHIgImTDvMSfw7xtbGVyIHlhesSxbGFtxLF5b3IiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTEKK21zZ2lkICJFbmFibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgQnUgeWFyZMSxbSBpbGV0aXNpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTUKK21zZ2lkICIgLWQsIC0tZGlzY2FyZFs9PHBvbGljeT5dIGVuYWJsZSBzd2FwIGRpc2NhcmRzLCBpZiBzdXBwb3J0ZWQgYnkgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NgorbXNnaWQgIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgc2lsZW50bHkgc2tpcCBkZXZpY2VzIHRoYXQgZG8gbm90IGV4aXN0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NworbXNnaWQgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTgKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHN3YXAgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTkKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDAKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBkaXNwbGF5IHN1bW1hcnkgYWJvdXQgdXNlZCBzd2FwIGRldmljZXMgKERFUFJFQ0FURUQpXG4iCittc2dzdHIgIiAgICAtbCAgLS1saXN0ICAgICAgICAgIGF5Z8SxdGxhcsSxbiBkaXNrIGLDtmzDvG1sZXJpbmkgbGlzdGVsZXIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDEKK21zZ2lkICIgICAgIC0tc2hvd1s9PGNvbHVtbnM+XSAgIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgdGFibGUgaGVhZGluZyAod2l0aCAtLXNob3cpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMworIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDQKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgc2l6ZSBpbiBieXRlcyBpbiAtLXNob3cgb3V0cHV0XG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgQnUgeWFyZMSxbSBpbGV0aXNpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBTw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpclxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODExCittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MjEKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGRpc2NhcmQgcG9saWN5IHR5cGVzIChmb3IgLS1kaXNjYXJkKTpcbiIKKyIgb25jZSAgICA6IG9ubHkgc2luZ2xlLXRpbWUgYXJlYSBkaXNjYXJkcyBhcmUgaXNzdWVkXG4iCisiIHBhZ2VzICAgOiBmcmVlZCBwYWdlcyBhcmUgZGlzY2FyZGVkIGJlZm9yZSB0aGV5IGFyZSByZXVzZWRcbiIKKyJJZiBubyBwb2xpY3kgaXMgc2VsZWN0ZWQsIGJvdGggZGlzY2FyZCB0eXBlcyBhcmUgZW5hYmxlZCAoZGVmYXVsdCkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgyNgorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3cpOlxuIgorbXNnc3RyICJNw7xta8O8biBrb211dGxhcjpcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkwNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcHJpb3JpdHkiCittc2dzdHIgIiVzIGRpc2sgYsO2bMO8bcO8bmUgeWF6YXJrZW4gaGF0YSBvbHXFn3R1XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAiJXM6IGJpbGlubWV5ZW4gYXJnw7xtYW46ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHRoZSBkZXZpY2UgZm9yICVzIgorbXNnc3RyICIlczogJXMgacOnaW4gYXlnxLF0IGlzbWkgYnVsdW5hbcSxeW9yXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjU5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjY3CisjLCBmdXp6eQorbXNnaWQgInN0YXQgZmFpbGVkIgorbXNnc3RyICJlcmnFn2ltIGJhxZ9hcsSxc8SxeiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NzgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgZGlyZWN0b3J5IgorbXNnc3RyICJrw7ZrIGTDvMSfw7xtw7wgYmlyIGRpemluIGRlxJ9pbCIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdW5saW5rICVzIgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvICVzIgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmb3JjaW5nIHVubW91bnQgb2YgJXMiCittc2dzdHIgIiVzIHNpc3RlbWRlbiBheXLEsWxtYXlhIMOnYWzEscWfxLFsxLF5b3JcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAibmFtZWk6IMOnYWzEscWfxLFsYW4gZGl6aW5lIGdlw6dpbGVtaXlvciAtICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAvIgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTc1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCIKK21zZ3N0ciAiJXMgZGlzayBiw7Zsw7xtw7xuZSB5YXphcmtlbiBoYXRhIG9sdcWfdHVcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTg4Cittc2dpZCAib2xkIHJvb3QgZmlsZXN5c3RlbSBpcyBub3QgYW4gaW5pdHJhbWZzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bmV3cm9vdGRpcj4gPGluaXQ+IDxhcmdzIHRvIGluaXQ+XG4iCittc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbc2XDp2VuZWtsZXJdIGF5Z8SxdCAuLi5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA0Cittc2dpZCAiU3dpdGNoIHRvIGFub3RoZXIgZmlsZXN5c3RlbSBhcyB0aGUgcm9vdCBvZiB0aGUgbW91bnQgdHJlZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMzYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkLiBTb3JyeS4iCittc2dzdHIgImVyacWfaW0gYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBhY2Nlc3MgJXMiCittc2dzdHIgIiclcycgZG9zeWFzxLEgYcOnxLFsYW3EsXlvciIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk0Cittc2dpZCAiU2V0IHZhcmlvdXMgcGFyYW1ldGVycyBmb3IgdGhlIGxpbmUgcHJpbnRlci5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTcKK21zZ2lkICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICBzcGVjaWZ5IHBhcmFsbGVsIHBvcnQgaXJxXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk4Cittc2dpZCAiIC10LCAtLXRpbWUgPG1zPiAgICAgICAgICAgICAgZHJpdmVyIHdhaXQgdGltZSBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTkKK21zZ2lkICIgLWMsIC0tY2hhcnMgPG51bT4gICAgICAgICAgICBudW1iZXIgb2Ygb3V0cHV0IGNoYXJhY3RlcnMgYmVmb3JlIHNsZWVwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMAorbXNnaWQgIiAtdywgLS13YWl0IDx1cz4gICAgICAgICAgICAgIHN0cm9iZSB3YWl0IGluIG1pY3JvIHNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSA8b258b2ZmPiBhcmd1bWVudHMuIFRoZQorIy4gYXJndW1lbnQgcmVhZGVyIGRvZXMgbm90IHJlY29nbml6ZSBsb2NhbGUsIHVubGVzcyBgb24nIGlzCisjLiBleGFjdGx5IHRoYXQgdmVyeSBzYW1lIHN0cmluZy4KKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDQKK21zZ2lkICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhYm9ydCBvbiBlcnJvclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDUKK21zZ2lkICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBjaGVjayBwcmludGVyIHN0YXR1cyBiZWZvcmUgcHJpbnRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA2Cittc2dpZCAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAgZXh0cmEgY2hlY2tpbmcgdG8gc3RhdHVzIGNoZWNrXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICBxdWVyeSBwcmludGVyIHN0YXR1c1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgIMOHxLFrdMSxIHTEsXJuYWsgacOnaW5lIGFsxLFubWF6XG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDgKK21zZ2lkICIgLVQsIC0tdHJ1c3QtaXJxIDxvbnxvZmY+ICAgICBtYWtlIGRyaXZlciB0byB0cnVzdCBpcnFcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA5CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIHJlc2V0IHRoZSBwb3J0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMAorbXNnaWQgIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgIGRpc3BsYXkgY3VycmVudCBpcnEgc2V0dGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBhbiBscCBkZXZpY2UiCittc2dzdHIgIiVzOiAlcyBiaXIgbHAgYXlnxLF0xLEgZGXEn2lsLlxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjgwCisjLCBmdXp6eQorbXNnaWQgIkxQR0VUU1RBVFVTIGVycm9yIgorbXNnc3RyICJMUEdFVElSUSBoYXRhc8SxIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN0YXR1cyBpcyAlZCIKK21zZ3N0ciAiJXMgZHVydW11ICVkIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgYnVzeSIKK21zZ3N0ciAiLCBtZcWfZ3VsIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgcmVhZHkiCittc2dzdHIgIiwgaGF6xLFyIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb3V0IG9mIHBhcGVyIgorbXNnc3RyICIsIGthxJ/EsXQgeW9rIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb24tbGluZSIKK21zZ3N0ciAiLCDDp2FsxLHFn8SxeW9yIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZXJyb3IiCittc2dzdHIgIiwgaGF0YSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMwMAorIywgZnV6enkKK21zZ2lkICJpb2N0bCBmYWlsZWQiCittc2dzdHIgImZzeW5jIGhhdGEgdmVyZGkiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTAKK21zZ2lkICJMUEdFVElSUSBlcnJvciIKK21zZ3N0ciAiTFBHRVRJUlEgaGF0YXPEsSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBJUlEgJWRcbiIKK21zZ3N0ciAiJXMgSVJRICVkIGt1bGxhbsSxeW9yXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgcG9sbGluZ1xuIgorbXNnc3RyICIlcyBzb3JndWxhbWEga3VsbGFuxLF5b3JcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiB8IDxkaXJlY3Rvcnk+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjgxCisjLCBmdXp6eQorbXNnaWQgIlVubW91bnQgZmlsZXN5c3RlbXMuXG4iCittc2dzdHIgIkRvc3lhIHNpc3RlbWkgdMO8csO8bsO8IHZlcmluOiAiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgdW5tb3VudCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBCdSB5YXJkxLFtIGlsZXRpc2luaSBnw7ZzdGVyaXJcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg1Cittc2dpZCAiIgorIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICB1bm1vdW50IGFsbCBtb3VudHBvaW50cyBmb3IgdGhlIGdpdmVuIGRldmljZSBpbiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NworbXNnaWQgIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODgKK21zZ2lkICIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAgaWYgbW91bnRlZCBsb29wIGRldmljZSwgYWxzbyBmcmVlIHRoaXMgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODkKK21zZ2lkICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgdW1vdW50KDIpIHN5c2NhbGxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTAKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgZm9yY2UgdW5tb3VudCAoaW4gY2FzZSBvZiBhbiB1bnJlYWNoYWJsZSBORlMgc3lzdGVtKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MQorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSB1bW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGRldGFjaCB0aGUgZmlsZXN5c3RlbSBub3csIGNsZWFuIHVwIHRoaW5ncyBsYXRlclxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm9ybWFsZGUgdmVyaWxlbiDDp8Sxa3TEsSB2ZXJpbG1lelxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTQKK21zZ2lkICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk1Cittc2dpZCAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IHVubW91bnQgYSB0YXJnZXQgd2l0aCBhbGwgaXRzIGNoaWxkcmVuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk2CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBpbiBjYXNlIHVubW91bnRpbmcgZmFpbHMsIHRyeSB0byByZW1vdW50IHJlYWQtb25seVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgIMOHxLFrdMSxIHTEsXJuYWsgacOnaW5lIGFsxLFubWF6XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NworIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiAgIGwgICBiaWxpbmVuIGRvc3lhIHNpc3RlbWkgdMO8cmxlcmluaSBsaXN0ZWxlciIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzKSB1bm1vdW50ZWQiCittc2dzdHIgIiVzIGJhxJ9sxLEuXHQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHVubW91bnRlZCIKK21zZ3N0ciAidW1vdW50OiAlczogeW9rIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW1vdW50IGZhaWxlZCIKK21zZ3N0ciAibW91bnQgYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorbXNnc3RyICJtb3VudDogYmHEn2xhbmFtYWTEsSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBibG9rIGF5Z8SxdMSxIGdlw6dlcnNpeiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IHdyaXRlIHN1cGVyYmxvY2siCittc2dzdHIgIm1vdW50OiAlczogc3VwZXJibG9rIG9rdW5hbcSxeW9yIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlczogdGFyZ2V0IGlzIGJ1c3lcbiIKKyIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0XG4iCisiICAgICAgICAgdXNlIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKS4pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudHBvaW50IG5vdCBmb3VuZCIKK21zZ3N0ciAidW1vdW50OiAlczogeW9rIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjUwCisjLCBmdXp6eQorbXNnaWQgInVuZGVmaW5lZCBtb3VudHBvaW50IgorbXNnc3RyICJtb3VudDogJXMgICVzIGnDp2luZGUgYnVsdW5hbcSxeW9yIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdW5tb3VudCIKK21zZ3N0ciAidW1vdW50OiAlczogYmHEn8SxIGthbGTEsXJtYWsgacOnaW4gcm9vdCBnZXJla2xpIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYmxvY2sgZGV2aWNlcyBhcmUgbm90IHBlcm1pdHRlZCBvbiBmaWxlc3lzdGVtIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBkb3N5YSBzaXN0ZW1pbmRlIGJsb2sgYXlnxLF0bGFyYSBpemluIHlvayIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMwNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHVtb3VudCB0YXJnZXQiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzIzCisjLCBmdXp6eQorbXNnaWQgImxpYm1vdW50IHRhYmxlIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJtb3VudDogYmHEn2xhbmFtYWTEsSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjM2NiBzeXMtdXRpbHMvdW1vdW50LmM6NDQ2CisjLCBmdXp6eQorbXNnaWQgImxpYm1vdW50IGl0ZXJhdG9yIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJtb3VudDogYmHEn2xhbmFtYWTEsSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjM3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBjaGlsZCBmcyBvZiAlcyIKK21zZ3N0ciAiJXMgZGlzayBiw7Zsw7xtw7xuZSB5YXphcmtlbiBoYXRhIG9sdcWfdHVcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQxMCBzeXMtdXRpbHMvdW1vdW50LmM6NDMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIgorbXNnc3RyICJ1bW91bnQ6ICVzOiB5b2siCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo0NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlICgtLWFsbC10YXJnZXRzIGlzIHVuc3VwcG9ydGVkIG9uIHN5c3RlbXMgd2l0aCByZWd1bGFyIG10YWIgZmlsZSkuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIC0tc2V0Z3JvdXBzIGFyZ3VtZW50ICclcyciCittc2dzdHIgIiVzOiBiaWxpbm1leWVuIGFyZ8O8bWFuOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjExMCBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkICVzIgorbXNnc3RyICIoU29ucmFraSBkb3N5YTogJXMpIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJvcGFnYXRpb24gbW9kZTogJXMiCittc2dzdHIgIiVzOiBiaWxpbm1leWVuIGFyZ8O8bWFuOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1NworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY2hhbmdlIHJvb3QgZmlsZXN5c3RlbSBwcm9wYWdhdGlvbiIKK21zZ3N0ciAiJXMgacOnaW4gZG9zeWEgc2lzdGVtaSBkZW5ldGltaSDFn2FydC5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzdGF0ICVzIgorbXNnc3RyICIlcyBheWfEsXTEsW7EsW4gZHVydW0gYmlsZ2lzaSBhbMSxbmFtxLF5b3IiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjEzCisjLCBmdXp6eQorbXNnaWQgInBpcGUgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IGJhxZ9hcsSxc8SxelxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIyNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwaXBlIgorbXNnc3RyICIlcyBkdXJ1bSBiaWxnaWxlcmkgYWzEsW5hbcSxeW9yIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1MAorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBzb21lIG5hbWVzcGFjZXMgdW5zaGFyZWQgZnJvbSB0aGUgcGFyZW50LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUzCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIEJ1IHlhcmTEsW0gaWxldGlzaW5pIGfDtnN0ZXJpclxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBTw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpclxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taXBjWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBTw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpclxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NgorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOb3JtYWxkZSB2ZXJpbGVuIMOnxLFrdMSxIHZlcmlsbWV6XG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU3CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm9ybWFsZGUgdmVyaWxlbiDDp8Sxa3TEsSB2ZXJpbG1lelxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OAorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgICAgdW5zaGFyZSBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgQnUgeWFyZMSxbSBpbGV0aXNpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYwCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JrICAgICAgICAgICAgICAgIGZvcmsgYmVmb3JlIGxhdW5jaGluZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICDDh8Sxa3TEsSB0xLFybmFrIGnDp2luZSBhbMSxbm1helxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MQorbXNnaWQgIiAgICAgLS1tb3VudC1wcm9jWz08ZGlyPl0gIG1vdW50IHByb2MgZmlsZXN5c3RlbSBmaXJzdCAoaW1wbGllcyAtLW1vdW50KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYyCittc2dpZCAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbWFwIGN1cnJlbnQgdXNlciB0byByb290IChpbXBsaWVzIC0tdXNlcilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MworbXNnaWQgIiIKKyIgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZ5IG1vdW50IHByb3BhZ2F0aW9uIGluIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY1CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zZXRncm91cHMgYWxsb3d8ZGVueSAgY29udHJvbCB0aGUgc2V0Z3JvdXBzIHN5c2NhbGwgaW4gdXNlciBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzozODYKKyMsIGZ1enp5Cittc2dpZCAidW5zaGFyZSBmYWlsZWQiCittc2dzdHIgImVyacWfaW0gYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzMAorIywgZnV6enkKK21zZ2lkICJjaGlsZCBleGl0IGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzNworIywgZnV6enkKK21zZ2lkICJvcHRpb25zIC0tc2V0Z3JvdXBzPWFsbG93IGFuZCAtLW1hcC1yb290LXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorIiVzOiAgLS1hZGp1c3QgdmUgLS1ub2FkamZpbGUgc2XDp2VuZWtsZXJpIGJpcmJpcml5bGUgw6dlbGnFn2lyLlxuIgorIlNpeiBpa2lzaW5pIGRlIGJlbGlydG1pxZ9zaW5pei5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIGZhaWxlZCIKK21zZ3N0ciAibW91bnQgYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3MworbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc0Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NQorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAiRmFuIGZhaWxlZCIKK21zZ3N0ciAiZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc3Cittc2dpZCAiS2VlcCBhbGl2ZSBwaW5nIHJlcGx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc4Cittc2dpZCAiU3VwcG9ydHMgbWFnaWMgY2xvc2UgY2hhciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OQorbXNnaWQgIlJlc2V0IGR1ZSB0byBDUFUgb3ZlcmhlYXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODAKK21zZ2lkICJQb3dlciBvdmVyIHZvbHRhZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODEKK21zZ2lkICJQb3dlciBiYWQvcG93ZXIgZmF1bHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODIKKyMsIGZ1enp5Cittc2dpZCAiUHJldGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIkdpcmnFnyAlZCBzYW5peWUgc29ucmEgemFtYW4gYcWfxLFtxLFuYSB1xJ9yYWTEsVxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MworIywgZnV6enkKK21zZ2lkICJTZXQgdGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIkdpcmnFnyAlZCBzYW5peWUgc29ucmEgemFtYW4gYcWfxLFtxLFuYSB1xJ9yYWTEsVxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4NAorbXNnaWQgIk5vdCB0cmlnZ2VyIHJlYm9vdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDAKK21zZ2lkICJmbGFnIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgImZsYWcgZGVzY3JpcHRpb24iCittc2dzdHIgImJsb2sgYXlnxLF0xLEgIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBzdGF0dXMiCittc2dzdHIgImR1cnVtIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBib290IHN0YXR1cyIKK21zZ3N0ciAiJXMgZHVydW0gYmlsZ2lsZXJpIGFsxLFuYW3EsXlvciIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTA0CisjLCBmdXp6eQorbXNnaWQgIndhdGNoZG9nIGRldmljZSBuYW1lIgorbXNnc3RyICJtb3VudDogJXM6IGF5Z8SxdCBiaWxpbm1peW9yIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmxhZzogJXMiCittc2dzdHIgIiVzOiBiaWxpbm1leWVuIGFyZ8O8bWFuOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxNzcKK21zZ2lkICJTaG93IHRoZSBzdGF0dXMgb2YgdGhlIGhhcmR3YXJlIHdhdGNoZG9nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE4MAorbXNnaWQgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICBwcmludCBzZWxlY3RlZCBmbGFncyBvbmx5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciBmbGFncyB0YWJsZVxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdCBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgcHJpbnQgb25seSBmbGFncyB0YWJsZSAoc2FtZSBhcyAtSSAtVClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZWZhdWx0IGRldmljZSBpcyAlcy5cbiIKK21zZ3N0ciAibG9vcDogJXMgYXlnxLF0xLEgYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk5CisjLCBmdXp6eQorbXNnaWQgIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorbXNnc3RyICJNw7xta8O8biBrb211dGxhcjpcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6Mjg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biBmbGFncyAweCV4XG4iCittc2dzdHIgIiVzOiBiaWxpbm1leWVuIHNpbnlhbDogJXNcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzE5IHN5cy11dGlscy93ZGN0bC5jOjM3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2F0Y2hkb2cgYWxyZWFkeSBpbiB1c2UsIHRlcm1pbmF0aW5nLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMzMgc3lzLXV0aWxzL3dkY3RsLmM6NDAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRpc2FybSB3YXRjaGRvZyIKK21zZ3N0ciAidGFrYXMgYWxhbsSxbmRhIGJhxZ9hIGdpZGlsZW1peW9yIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGltZW91dCBmb3IgJXMiCittc2dzdHIgIiVzIGnDp2luIHphbWFuIGHFn8SxbcSxIGRlxJ9lcmkgYWzEsW5hbcSxeW9yOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZC5cbiIKK21zZ2lkX3BsdXJhbCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kcy5cbiIKK21zZ3N0clswXSAiU29uIGF5YXJsYW1hZGFuIGJlcmkgJWQgc2FuaXllIGdlw6d0aVxuIgorbXNnc3RyWzFdICJTb24gYXlhcmxhbWFkYW4gYmVyaSAlZCBzYW5peWUgZ2XDp3RpXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgd2F0Y2hkb2ciCittc2dzdHIgIndyaXRlX3RhYmxlcyBpw6dpbmRlIGVyacWfaW0gYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjQgc3lzLXV0aWxzL3dkY3RsLmM6NDY3IHN5cy11dGlscy93ZGN0bC5jOjQ3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJS0xNHMgJTJpIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICIlLTE0cyAlMmkgc2Vjb25kc1xuIgorbXNnc3RyWzBdICIlcyAgJS42ZiBzYW5peWVcbiIKK21zZ3N0clsxXSAiJXMgICUuNmYgc2FuaXllXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NQorbXNnaWQgIlRpbWVvdXQ6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2OAorIywgZnV6enkKK21zZ2lkICJQcmUtdGltZW91dDoiCittc2dzdHIgInphbWFuIGHFn8SxbcSxIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NzEKK21zZ2lkICJUaW1lbGVmdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA1CisjLCBmdXp6eQorbXNnaWQgIkRldmljZToiCittc2dzdHIgIkF5Z8SxdCIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA3Cittc2dpZCAiSWRlbnRpdHk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwOQorbXNnaWQgInZlcnNpb24iCittc2dzdHIgInPDvHLDvG0iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAienJhbSBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibW91bnQ6ICVzOiBheWfEsXQgYmlsaW5taXlvciIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NAorbXNnaWQgImxpbWl0IG9uIHRoZSB1bmNvbXByZXNzZWQgYW1vdW50IG9mIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NQorbXNnaWQgInVuY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzYKK21zZ2lkICJjb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NworbXNnaWQgInRoZSBzZWxlY3RlZCBjb21wcmVzc2lvbiBhbGdvcml0aG0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OAorbXNnaWQgIm51bWJlciBvZiBjb25jdXJyZW50IGNvbXByZXNzIG9wZXJhdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OQorIywgZnV6enkKK21zZ2lkICJlbXB0eSBwYWdlcyB3aXRoIG5vIGFsbG9jYXRlZCBtZW1vcnkiCittc2dzdHIgIlRhbXBvbiBheXLEsWxhbWFkxLEuXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODAKK21zZ2lkICJhbGwgbWVtb3J5IGluY2x1ZGluZyBhbGxvY2F0b3IgZnJhZ21lbnRhdGlvbiBhbmQgbWV0YWRhdGEgb3ZlcmhlYWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MQorbXNnaWQgIm1lbW9yeSBsaW1pdCB1c2VkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgyCittc2dpZCAibWVtb3J5IHpyYW0gaGF2ZSBiZWVuIGNvbnN1bWVkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgzCittc2dpZCAibnVtYmVyIG9mIG9iamVjdHMgbWlncmF0ZWQgYnkgY29tcGFjdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjM2MyBzeXMtdXRpbHMvenJhbWN0bC5jOjM3NAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgbW1fc3RhdCIKK21zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCisiICUxJHMgLXIgPGRldmljZT4gWy4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8ZGV2aWNlPiAtcyA8c2l6ZT5cbiIKK21zZ3N0ciAiS3VsbGFuxLFtxLE6IG1rZnMgWy1WXSBbLXQgZHN5U2lzdFTDvHLDvF0gW2RzeVNpc3Qtc2XDp2VuZWtsZXJpXSBheWfEsXQgW3V6dW5sdWtdXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTI3Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIHpyYW0gZGV2aWNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMAorbXNnaWQgIiAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NCAgIGNvbXByZXNzaW9uIGFsZ29yaXRobSB0byB1c2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMQorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICDDh8Sxa3TEsSB0xLFybmFrIGnDp2luZSBhbMSxbm1helxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICBmaW5kIGEgZnJlZSBkZXZpY2VcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vcm1hbGRlIHZlcmlsZW4gw6fEsWt0xLEgdmVyaWxtZXpcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICDDh8Sxa3TEsSB0xLFybmFrIGnDp2luZSBhbMSxbm1helxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzNAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICBjb2x1bW5zIHRvIHVzZSBmb3Igc3RhdHVzIG91dHB1dFxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9c8OnbmtkaXpnZXNpICAgICBUYW7EsW5hY2FrIGvEsXNhIHNlw6dlbmVrbGVyIGJlbGlydGlsaXJcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgdXNlIHJhdyBzdGF0dXMgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM2CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIEJ1IHlhcmTEsW0gaWxldGlzaW5pIGfDtnN0ZXJpclxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzNworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM4CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS1zdHJlYW1zIDxudW1iZXI+ICAgIG51bWJlciBvZiBjb21wcmVzc2lvbiBzdHJlYW1zXG4iCittc2dzdHIgIiAgICAtUyMgIC0tc2VjdG9ycyAjICAgIGt1bGxhbsSxbGFjYWsgc2VrdMO2ciBzYXnEsXPEsSBiZWxpcnRpbGlyIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYWxnb3JpdGhtOiAlcyIKK21zZ3N0ciAiJXM6IGJpbGlubWV5ZW4gYXJnw7xtYW46ICVzXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjI2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdHJlYW1zIgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NDgKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9uIC0tZmluZCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8ZGV2aWNlPiIKK21zZ3N0ciAiIgorIiVzOiAgLS1hZGp1c3QgdmUgLS1ub2FkamZpbGUgc2XDp2VuZWtsZXJpIGJpcmJpcml5bGUgw6dlbGnFn2lyLlxuIgorIlNpeiBpa2lzaW5pIGRlIGJlbGlydG1pxZ9zaW5pei5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NTQKK21zZ2lkICJvbmx5IG9uZSA8ZGV2aWNlPiBhdCBhIHRpbWUgaXMgYWxsb3dlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NworbXNnaWQgIm9wdGlvbnMgLS1hbGdvcml0aG0gYW5kIC0tc3RyZWFtcyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggLS1zaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njg3IHN5cy11dGlscy96cmFtY3RsLmM6NzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlc2V0IgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2OTggc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDYKK21zZ2lkICJubyBmcmVlIHpyYW0gZGV2aWNlIGZvdW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBudW1iZXIgb2Ygc3RyZWFtcyIKK21zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBhbGdvcml0aG0iCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgZGlza3NpemUgKCVqdSBieXRlcykiCittc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjQ1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzIChhdXRvbWF0aWMgbG9naW4pXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugcm9vdCBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczogJXMgw6dhbMSxxZ90xLFyxLFsYW3EsXlvcjogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHdvcmtpbmcgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiJXMgacOnaW4ga2lwIGRlxJ9pxZ90aXJpbGlya2VuIGhhdGE6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHByb2Nlc3MgcHJpb3JpdHk6ICVtIgorbXNnc3RyICIlczogXCIlc1wiIHPDvHJlY2kgYnVsdW5hbcSxeW9yXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBleGVjICVzOiAlbSIKK21zZ3N0ciAiJXM6ICVzIMOnYWzEscWfdMSxcsSxbGFtxLF5b3I6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjU1NSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg0MSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg1MworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzAgdGVybS11dGlscy9hZ2V0dHkuYzoxNDE1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQzMworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDY5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ3OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE1MTYKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk3OCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI1MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnk6ICVtIgorbXNnc3RyICJUYW1wb24gYXlyxLFsYW1hZMSxLlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjY4MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGRlbGF5IGFyZ3VtZW50IgorbXNnc3RyICJraW1saWsgZ2XDp2Vyc2l6IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjcxOQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC0tbG9jYWwtbGluZSIKK21zZ3N0ciAia2ltbGlrIGdlw6dlcnNpejogJXNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3MzgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBuaWNlIGFyZ3VtZW50IgorbXNnc3RyICJraW1saWsgZ2XDp2Vyc2l6IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3BlZWQ6ICVzIgorbXNnc3RyICJoYXRhbMSxIGjEsXo6ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3NworbXNnaWQgInRvbyBtYW55IGFsdGVybmF0ZSBzcGVlZHMiCittc2dzdHIgImFsbWHFn8SxayBoxLF6IMOnb2sgecO8a3NlayIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDA2IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAxMCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IG9wZW4gYXMgc3RhbmRhcmQgaW5wdXQ6ICVtIgorbXNnc3RyICIvZGV2LyVzOiBzdGFuZGFydCBnaXJkaSBvbGFyYWsgYcOnxLFsYW3EsXlvcjogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAyOQorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSBjaGFyYWN0ZXIgZGV2aWNlIgorbXNnc3RyICIvZGV2LyVzOiBiaXIga2FyYWt0ZXIgYXlnxLF0xLEgZGXEn2lsIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIHR0eSIKK21zZ3N0ciAia8O2ayBkw7zEn8O8bcO8IGJpciBkaXppbiBkZcSfaWwiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAzNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBnZXQgY29udHJvbGxpbmcgdHR5OiAlbSIKK21zZ3N0ciAiL2Rldi8lczogc3RhbmRhcnQgZ2lyZGkgb2xhcmFrIGHDp8SxbGFtxLF5b3I6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IHZoYW5ndXAoKSBmYWlsZWQ6ICVtIgorbXNnc3RyICJhc3Qgc8O8cmXDpyBvbHXFn3R1cnVsYW1hZMSxXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG9wZW4gZm9yIHJlYWQvd3JpdGUiCittc2dzdHIgIiVzOiBva3UveWF6IGnDp2luIGHDp8SxayBkZcSfaWwiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IHNldCBwcm9jZXNzIGdyb3VwOiAlbSIKK21zZ3N0ciAiJXM6IFwiJXNcIiBzw7xyZWNpIGJ1bHVuYW3EsXlvclxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGR1cCBwcm9ibGVtOiAlbSIKK21zZ3N0ciAiJXM6IMOnb8SfYWx0bWEgc29ydW51OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiJXMgdXp1bmx1xJ91IGFsxLFuYW3EsXlvciIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMzIxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZhaWxlZDogJW0iCittc2dzdHIgIiVzIHV6dW5sdcSfdSBhbMSxbmFtxLF5b3IiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ1OQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBvcy1yZWxlYXNlIGZpbGUiCittc2dzdHIgIiclcycgZG9zeWFzxLEgYcOnxLFsYW3EsXlvciIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNjM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHJlbG9hZCBmaWxlOiAlczogJW0iCittc2dzdHIgImlvY3RsKCkgJXMgZGVuIHphbWFuxLEgb2t1eWFtYWTEsSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzM2Cittc2dpZCAiW3ByZXNzIEVOVEVSIHRvIGxvZ2luXSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjAKK21zZ2lkICJOdW0gTG9jayBvZmYiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzYzCittc2dpZCAiTnVtIExvY2sgb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzY2Cittc2dpZCAiQ2FwcyBMb2NrIG9uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2OQorbXNnaWQgIlNjcm9sbCBMb2NrIG9uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIkhpbnQ6ICVzXG4iCisiXG4iCittc2dzdHIgInTDvHLDvDogJXNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkOiAlbSIKK21zZ3N0ciAiJXM6IG9rdW5hbjogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk1OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5wdXQgb3ZlcnJ1biIKK21zZ3N0ciAiJXM6IGdpcmRpIGdlw6dlcnNpeiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTc0IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgY29udmVyc2lvbiBmb3IgbG9naW4gbmFtZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgY2hhcmFjdGVyIDB4JXggaW4gbG9naW4gbmFtZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICIlcyB1enVubHXEn3UgYWzEsW5hbcSxeW9yIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8bGluZT4gWzxiYXVkX3JhdGU+LC4uLl0gWzx0ZXJtdHlwZT5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxiYXVkX3JhdGU+LC4uLiA8bGluZT4gWzx0ZXJtdHlwZT5dXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTEzCittc2dpZCAiT3BlbiBhIHRlcm1pbmFsIGFuZCBzZXQgaXRzIG1vZGUuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE2CisjLCBmdXp6eQorbXNnaWQgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBhc3N1bWUgOC1iaXQgdHR5XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE3Cittc2dpZCAiIC1hLCAtLWF1dG9sb2dpbiA8dXNlcj4gICAgIGxvZ2luIHRoZSBzcGVjaWZpZWQgdXNlciBhdXRvbWF0aWNhbGx5XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE4CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICBkbyBub3QgcmVzZXQgY29udHJvbCBtb2RlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE5CisjLCBmdXp6eQorbXNnaWQgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICB1c2UgLXIgPGhvc3RuYW1lPiBmb3IgbG9naW4oMSlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBTw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpclxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjAKK21zZ2lkICIgLWYsIC0taXNzdWUtZmlsZSA8ZmlsZT4gICAgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIxCittc2dpZCAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIGVuYWJsZSBoYXJkd2FyZSBmbG93IGNvbnRyb2xcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjIKKyMsIGZ1enp5Cittc2dpZCAiIC1ILCAtLWhvc3QgPGhvc3RuYW1lPiAgICAgIHNwZWNpZnkgbG9naW4gaG9zdFxuIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsPWthYnVrVMO8csO8ICAgICAgICAgS3VsbGFuxLFsYWNhayBrYWJ1ayB0w7xyw7wgYmVsaXJ0aWxpclxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjMKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGRvIG5vdCBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIERpc2sgYsO2bMO8bWxlbWUgdGFibG9zdW51IGVrcmFuYSB5YSBkYSBiaXIgZG9zeWF5YSB5YXphciIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI0Cittc2dpZCAiIC1JLCAtLWluaXQtc3RyaW5nIDxzdHJpbmc+IHNldCBpbml0IHN0cmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNQorIywgZnV6enkKK21zZ2lkICIgLUogIC0tbm9jbGVhciAgICAgICAgICAgICAgZG8gbm90IGNsZWFyIHRoZSBzY3JlZW4gYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgIMOHxLFrdMSxIHTEsXJuYWsgacOnaW5lIGFsxLFubWF6XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNgorbXNnaWQgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBzcGVjaWZ5IGxvZ2luIHByb2dyYW1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjcKK21zZ2lkICIgLUwsIC0tbG9jYWwtbGluZVs9PG1vZGU+XSAgY29udHJvbCB0aGUgbG9jYWwgbGluZSBmbGFnXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI4Cittc2dpZCAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI5CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBkbyBub3QgcHJvbXB0IGZvciBsb2dpblxuIgorbXNnc3RyICIgICAgLW4gICAgICAgICAgICAgICAgICBnZXLDp2VrdGUgZGlza2UgeWF6xLFsbWF6IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzAKKyMsIGZ1enp5Cittc2dpZCAiIC1OICAtLW5vbmV3bGluZSAgICAgICAgICAgIGRvIG5vdCBwcmludCBhIG5ld2xpbmUgYmVmb3JlIGlzc3VlXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBEaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3VudSBla3JhbmEgeWEgZGEgYmlyIGRvc3lheWEgeWF6YXIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMQorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8b3B0cz4gb3B0aW9ucyB0aGF0IGFyZSBwYXNzZWQgdG8gbG9naW5cbiIKK21zZ3N0ciAiICAtbCwgLS1sb25nb3B0aW9ucz11enVuU2XDp25rICAgdGFuxLFuYWNhayB1enVuIHNlw6dlbmVrIGJlbGlydGlsaXJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMyCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICB3YWl0IGZvciBhbnkga2V5IGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiICAgIC1uICAgICAgICAgICAgICAgICAgZ2Vyw6dla3RlIGRpc2tlIHlhesSxbG1heiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMzCittc2dpZCAiIC1yLCAtLWNocm9vdCA8ZGlyPiAgICAgICAgIGNoYW5nZSByb290IHRvIHRoZSBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzQKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgIGRvIHZpcnR1YWxseSBoYW5ndXAgb24gdGhlIHR0eVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgIMOHxLFrdMSxIHTEsXJuYWsgacOnaW5lIGFsxLFubWF6XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNQorbXNnaWQgIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICB0cnkgdG8ga2VlcCBiYXVkIHJhdGUgYWZ0ZXIgYnJlYWtcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzYKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8bnVtYmVyPiAgICAgbG9naW4gcHJvY2VzcyB0aW1lb3V0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM3Cittc2dpZCAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzgKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIHdhaXQgY2FycmlhZ2UtcmV0dXJuXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM5CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBkbyBub3QgcHJpbnQgaGludHNcbiIKK21zZ3N0ciAiICAgIC1uICAgICAgICAgICAgICAgICAgZ2Vyw6dla3RlIGRpc2tlIHlhesSxbG1heiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub2hvc3RuYW1lICAgICAgICAgICBubyBob3N0bmFtZSBhdCBhbGwgd2lsbCBiZSBzaG93blxuIgorbXNnc3RyICIgIHAgICAgICAgICAgRGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1bnUgZWtyYW5hIHlhIGRhIGJpciBkb3N5YXlhIHlhemFyIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDEKK21zZ2lkICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgc2hvdyBmdWxsIHF1YWxpZmllZCBob3N0bmFtZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MgorbXNnaWQgIiAgICAgLS1lcmFzZS1jaGFycyA8c3RyaW5nPiBhZGRpdGlvbmFsIGJhY2tzcGFjZSBjaGFyc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MworbXNnaWQgIiAgICAgLS1raWxsLWNoYXJzIDxzdHJpbmc+ICBhZGRpdGlvbmFsIGtpbGwgY2hhcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDQKK21zZ2lkICIgICAgIC0tY2hkaXIgPGRpcmVjdG9yeT4gICAgY2hkaXIgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tZGVsYXkgPG51bWJlcj4gICAgICAgc2xlZXAgc2Vjb25kcyBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ2Cittc2dpZCAiICAgICAtLW5pY2UgPG51bWJlcj4gICAgICAgIHJ1biBsb2dpbiB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgIHJlbG9hZCBwcm9tcHRzIG9uIHJ1bm5pbmcgYWdldHR5IGluc3RhbmNlc1xuIgorbXNnc3RyICIgICAgLW4gICAgICAgICAgICAgICAgICBnZXLDp2VrdGUgZGlza2UgeWF6xLFsbWF6IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDgKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWhlbHAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgQnUgeWFyZMSxbSBpbGV0aXNpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0OQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBTw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpclxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI0ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIHVzZXIiCittc2dpZF9wbHVyYWwgIiVkIHVzZXJzIgorbXNnc3RyWzBdICJrdWxsYW7EsWPEsSIKK21zZ3N0clsxXSAia3VsbGFuxLFjxLEiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hlY2tuYW1lIGZhaWxlZDogJW0iCittc2dzdHIgIm1vdW50IGJhxZ9hcsSxc8SxeiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdG91Y2ggZmlsZSAlcyIKK21zZ3N0ciAiJyVzJyBkb3N5YXPEsSBhw6fEsWxhbcSxeW9yIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MjUKK21zZ2lkICItLXJlbG9hZCBpcyB1bnN1cHBvcnRlZCBvbiB5b3VyIHN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbeSB8IG5dXG4iCittc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbc2XDp2VuZWtsZXJdIGF5Z8SxdCAuLi5cbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6NzgKK21zZ2lkICJDb250cm9sIHdyaXRlIGFjY2VzcyBvZiBvdGhlciB1c2VycyB0byB5b3VyIHRlcm1pbmFsLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjgxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEyNQorIywgZnV6enkKK21zZ2lkICJ0dHluYW1lIGZhaWxlZCIKK21zZ3N0ciAiZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNAorIywgZnV6enkKK21zZ2lkICJpcyB5IgorbXNnc3RyICJCYcWfa2FsYXLEsSB1w6diaXJpbWUgeWF6YWJpbGlyLlxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiaXMgbiIKK21zZ3N0ciAiQmHFn2thbGFyxLEgdcOnYmlyaW1lIHlhemFtYXouXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE0OCB0ZXJtLXV0aWxzL21lc2cuYzoxNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZSAlcyBtb2RlIGZhaWxlZCIKK21zZ3N0ciAiYXlyxLFsbcSxxZ8gc2VtYWZvciBzYXnEsXPEsSA9ICVkXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTU3Cittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgZGVuaWVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXMiCittc2dzdHIgImtpbWxpayBnZcOnZXJzaXo6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorbXNnc3RyICJLdWxsYW7EsW3EsTogJXMgW3Nlw6dlbmVrbGVyXSBheWfEsXQgLi4uXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTYyCittc2dpZCAiTWFrZSBhIHR5cGVzY3JpcHQgb2YgYSB0ZXJtaW5hbCBzZXNzaW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTY1Cittc2dpZCAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICBhcHBlbmQgdGhlIG91dHB1dFxuIgorIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiBydW4gY29tbWFuZCByYXRoZXIgdGhhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgorIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICByZXR1cm4gZXhpdCBjb2RlIG9mIHRoZSBjaGlsZCBwcm9jZXNzXG4iCisiIC1mLCAtLWZsdXNoICAgICAgICAgICAgIHJ1biBmbHVzaCBhZnRlciBlYWNoIHdyaXRlXG4iCisiICAgICAtLWZvcmNlICAgICAgICAgICAgIHVzZSBvdXRwdXQgZmlsZSBldmVuIHdoZW4gaXQgaXMgYSBsaW5rXG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIGJlIHF1aWV0XG4iCisiIC10LCAtLXRpbWluZ1s9PGZpbGU+XSAgIG91dHB1dCB0aW1pbmcgZGF0YSB0byBzdGRlcnIgKG9yIHRvIEZJTEUpXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJvdXRwdXQgZmlsZSBgJXMnIGlzIGEgbGlua1xuIgorIlVzZSAtLWZvcmNlIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuXG4iCisiUHJvZ3JhbSBub3Qgc3RhcnRlZC4iCittc2dzdHIgIiIKKyJVeWFyxLE6IGAlcycgYmlyIHNlbWJvbGlrIGJhxJ8gZG9zeWFzxLEuXG4iCisiR2Vyw6dla3RlbiBrdWxsYW5tYWsgaXN0aXlvcnNhbsSxeiBgJXMgW3Nlw6dlbmVrbGVyXSAlcycgaWxlIGt1bGxhbsSxbi5cbiIKKyJCZXRpayBiYcWfbGF0xLFsbWFkxLEuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBkb25lLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIkJldGlrIHRhbWFtbGFuZMSxLCBkb3N5YXPEsSAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI2MgorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgd3JpdGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIiVzOiAlcyBpw6dpbiBheWfEsXQgaXNtaSBidWx1bmFtxLF5b3JcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQzOAorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgc3RhcnRlZCBvbiAlcyIKK21zZ3N0ciAiJXMgZGUgYmV0aWsgYmHFn2xhdMSxbGTEsSIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNjcmlwdCBkb25lIG9uICVzIgorbXNnc3RyICIiCisiXG4iCisiJXMgw7x6ZXJpbmRlIGJldGlrIHRhbWFtbGFuZMSxIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYwNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiCittc2dzdHIgIiVzIHV6dW5sdcSfdSBhbMSxbmFtxLF5b3IiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjE0CisjLCBmdXp6eQorbXNnaWQgIm9wZW5wdHkgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IGJhxZ9hcsSxc8SxelxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjY1MgorIywgZnV6enkKK21zZ2lkICJvdXQgb2YgcHR5J3MiCittc2dzdHIgInB0eSBzYXnEsXPEsSB5ZXRlcnNpelxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc1MgorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgc3RhcnRlZCwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICJCZXRpayBiYcWfbGF0xLFsZMSxLCBkb3N5YXPEsSAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLXRdIHRpbWluZ2ZpbGUgW3R5cGVzY3JpcHRdIFtkaXZpc29yXVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDcKK21zZ2lkICJQbGF5IGJhY2sgdGVybWluYWwgdHlwZXNjcmlwdHMsIHVzaW5nIHRpbWluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjUwCittc2dpZCAiIgorIiAtdCwgLS10aW1pbmcgPGZpbGU+ICAgICBzY3JpcHQgdGltaW5nIG91dHB1dCBmaWxlXG4iCisiIC1zLCAtLXR5cGVzY3JpcHQgPGZpbGU+IHNjcmlwdCB0ZXJtaW5hbCBzZXNzaW9uIG91dHB1dCBmaWxlXG4iCisiIC1kLCAtLWRpdmlzb3IgPG51bT4gICAgIHNwZWVkIHVwIG9yIHNsb3cgZG93biBleGVjdXRpb24gd2l0aCB0aW1lIGRpdmlzb3JcbiIKKyIgLW0sIC0tbWF4ZGVsYXkgPG51bT4gICAgd2FpdCBhdCBtb3N0IHRoaXMgbWFueSBzZWNvbmRzIGJldHdlZW4gdXBkYXRlc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTEyCisjLCBmdXp6eQorbXNnaWQgIndyaXRlIHRvIHN0ZG91dCBmYWlsZWQiCittc2dzdHIgIiVzIGHDp8SxbGFtYWTEsSIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSBvbiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjEyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdHlwZXNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJpb2N0bCgpICVzIGRlbiB6YW1hbsSxIG9rdXlhbWFkxLEiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTg0CisjLCBmdXp6eQorbXNnaWQgIndyb25nIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgImF6YW1pIGLDtmzDvHQgc2F5xLFzxLEgPSAlbHVcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHRpbWluZyBmaWxlICVzIgorbXNnc3RyICJpb2N0bCgpICVzIGRlbiB6YW1hbsSxIG9rdXlhbWFkxLEiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aW1pbmcgZmlsZSAlczogbGluZSAlbHU6IHVuZXhwZWN0ZWQgZm9ybWF0IgorbXNnc3RyICIlczogJXMgZG95YXPEsW5kYSBiZWtsZW5tZWRpayBkb3N5YSBzb251XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJhcmd1bWVudCBlcnJvcjogYnJpZ2h0ICVzIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI4CisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IHRhYnMiCittc2dzdHIgIiVzOiBiaWxpbm1leWVuIGFyZ8O8bWFuOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODMKK21zZ2lkICJTZXQgdGhlIGF0dHJpYnV0ZXMgb2YgYSB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODYKK21zZ2lkICIgLS10ZXJtICAgICAgICAgIDx0ZXJtaW5hbF9uYW1lPiAgIG92ZXJyaWRlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODcKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCB0byBwb3dlci1vbiBzdGF0ZVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgIMOHxLFrdMSxIHTEsXJuYWsgacOnaW5lIGFsxLFubWF6XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OAorIywgZnV6enkKK21zZ2lkICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5pdCBzdHJpbmcsIGFuZCB1c2UgZGVmYXVsdCBzZXR0aW5nc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIEJ1IHlhcmTEsW0gaWxldGlzaW5pIGfDtnN0ZXJpclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODkKKyMsIGZ1enp5Cittc2dpZCAiIC0tZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgZGVmYXVsdCB0ZXJtaW5hbCBzZXR0aW5nc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIEJ1IHlhcmTEsW0gaWxldGlzaW5pIGfDtnN0ZXJpclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTAKK21zZ2lkICIgLS1zdG9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhdmUgY3VycmVudCB0ZXJtaW5hbCBzZXR0aW5ncyBhcyBkZWZhdWx0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkxCisjLCBmdXp6eQorbXNnaWQgIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAgZGlzcGxheSBjdXJzb3JcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vcm1hbGRlIHZlcmlsZW4gw6fEsWt0xLEgdmVyaWxtZXpcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkyCisjLCBmdXp6eQorbXNnaWQgIiAtLXJlcGVhdCAgICAgICAgW29ufG9mZl0gICAgICAgICAga2V5Ym9hcmQgcmVwZWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkzCittc2dpZCAiIC0tYXBwY3Vyc29ya2V5cyBbb258b2ZmXSAgICAgICAgICBjdXJzb3Iga2V5IGFwcGxpY2F0aW9uIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTQKKyMsIGZ1enp5Cittc2dpZCAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBjb250aW51ZSBvbiBhIG5ldyBsaW5lIHdoZW4gYSBsaW5lIGlzIGZ1bGxcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBCdSB5YXJkxLFtIGlsZXRpc2luaSBnw7ZzdGVyaXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk1Cittc2dpZCAiIC0taW52ZXJzZXNjcmVlbiBbb258b2ZmXSAgICAgICAgICBzd2FwIGNvbG9ycyBmb3IgdGhlIHdob2xlIHNjcmVlblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NgorbXNnaWQgIiAtLWZvcmVncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGZvcmVncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTcKK21zZ2lkICIgLS1iYWNrZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBiYWNrZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk4Cittc2dpZCAiIC0tdWxjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgdW5kZXJsaW5lZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk5Cittc2dpZCAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgYm9sZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAwCittc2dpZCAiICAgICAgICAgICAgICAgICA8Y29sb3I+OiBibGFjayBibHVlIGN5YW4gZ3JlZW4gZ3JleSBtYWdlbnRhIHJlZCB3aGl0ZSB5ZWxsb3dcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDEKKyMsIGZ1enp5Cittc2dpZCAiIC0tYm9sZCAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBib2xkXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAyCisjLCBmdXp6eQorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiAgWyAtaGFsZi1icmlnaHQgW29ufG9mZl0gXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDMKK21zZ2lkICIgLS1ibGluayAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJsaW5rXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA0CisjLCBmdXp6eQorbXNnaWQgIiAtLXVuZGVybGluZSAgICAgW29ufG9mZl0gICAgICAgICAgdW5kZXJsaW5lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA1Cittc2dpZCAiIC0tcmV2ZXJzZSAgICAgICBbb258b2ZmXSAgICAgICAgICBzd2FwIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQgY29sb3JzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA2CisjLCBmdXp6eQorbXNnaWQgIiAtLWNsZWFyICAgICAgICAgW2FsbHxyZXN0XSAgICAgICAgY2xlYXIgc2NyZWVuIGFuZCBzZXQgY3Vyc29yIHBvc2l0aW9uXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA3CisjLCBmdXp6eQorbXNnaWQgIiAtLXRhYnMgICAgICAgICAgWzxudW1iZXI+Li4uXSAgICAgc2V0IHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3Igc2hvdyB0aGVtXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgZ2V0b3B0KDEpIHPDvHLDvG3DvCBpw6dpbiB0ZXN0XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOAorIywgZnV6enkKK21zZ2lkICIgLS1jbHJ0YWJzICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIGNsZWFyIHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3IgYWxsXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgZ2V0b3B0KDEpIHPDvHLDvG3DvCBpw6dpbiB0ZXN0XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOQorIywgZnV6enkKK21zZ2lkICIgLS1yZWd0YWJzICAgICAgIFsxLTE2MF0gICAgICAgICAgIHNldCBhIHJlZ3VsYXIgdGFiIHN0b3AgaW50ZXJ2YWxcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICDDh8Sxa3TEsSB0xLFybmFrIGnDp2luZSBhbMSxbm1helxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTAKK21zZ2lkICIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIHNldCB0aW1lIG9mIGluYWN0aXZpdHkgYmVmb3JlIHNjcmVlbiBibGFua3NcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTEKK21zZ2lkICIgLS1kdW1wICAgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIHdyaXRlIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMgorbXNnaWQgIiAtLWFwcGVuZCAgICAgICAgWzxudW1iZXI+XSAgICAgICAgYXBwZW5kIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMworbXNnaWQgIiAtLWZpbGUgICAgICAgICAgPGZpbGVuYW1lPiAgICAgICAgbmFtZSBvZiB0aGUgZHVtcCBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE0CisjLCBmdXp6eQorbXNnaWQgIiAtLW1zZyAgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgc2VuZCBrZXJuZWwgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNQorIywgZnV6enkKK21zZ2lkICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIGtlcm5lbCBjb25zb2xlIGxvZyBsZXZlbFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm9ybWFsZGUgdmVyaWxlbiDDp8Sxa3TEsSB2ZXJpbG1lelxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTYKKyMsIGZ1enp5Cittc2dpZCAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKK21zZ3N0ciAiICBbIC1wb3dlcnNhdmUgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdIF1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0IHZlc2EgcG93ZXJzYXZpbmcgZmVhdHVyZXNcbiIKK21zZ3N0ciAiIELDtmzDvG0gICAgICAgICDEsGxrICAgICAgICAgIFNvbiAgICAgICAgICAgICAgU2VrdMO2ciAgICBEb3N5YVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTgKK21zZ2lkICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIHNldCB2ZXNhIHBvd2VyZG93biBpbnRlcnZhbCBpbiBtaW51dGVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE5Cittc2dpZCAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICBkdXJhdGlvbiBvZiB0aGUgYmVsbCBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjAKK21zZ2lkICIgLS1iZnJlcSAgICAgICAgIDxudW1iZXI+ICAgICAgICAgIGJlbGwgZnJlcXVlbmN5IGluIEhlcnR6XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIxCisjLCBmdXp6eQorbXNnaWQgIiAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAgc2hvdyB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIyCisjLCBmdXp6eQorbXNnaWQgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBCdSB5YXJkxLFtIGlsZXRpc2luaSBnw7ZzdGVyaXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDMwCittc2dpZCAiZHVwbGljYXRlIHVzZSBvZiBhbiBvcHRpb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzM0CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmb3JjZSBibGFuayIKK21zZ3N0ciAiYXN0IHPDvHJlw6cgb2x1xZ90dXJ1bGFtxLF5b3IiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjczOQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZm9yY2UgdW5ibGFuayIKK21zZ3N0ciAiYXN0IHPDvHJlw6cgb2x1xZ90dXJ1bGFtxLF5b3IiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0NQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IGJsYW5rIHN0YXR1cyIKK21zZ3N0ciAiJXMgYcOnxLFsYW3EsXlvclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbiBub3Qgb3BlbiBkdW1wIGZpbGUgJXMgZm9yIG91dHB1dCIKK21zZ3N0ciAiJXMgYXlnxLF0xLEgeWF6xLFsbWFrIMO8emVyZSBhw6fEsWxhbcSxeW9yXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjgxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgJXMgZG9lcyBub3Qgc3VwcG9ydCAlcyIKK21zZ3N0ciAiJXM6IFwiJXNcIiB5b2suXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjk4OAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgKHVuKXNldCBwb3dlcnNhdmUgbW9kZSIKK21zZ3N0ciAiZWtvbm9taSBraXBpIGRlbmV0aW0gZMSxxZ/EsVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDA3IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwMTYKKyMsIGZ1enp5Cittc2dpZCAia2xvZ2N0bCBlcnJvciIKK21zZ3N0ciAia2xvZ2N0bCBoYXRhc8SxOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDM3CisjLCBmdXp6eQorbXNnaWQgIiRURVJNIGlzIG5vdCBkZWZpbmVkLiIKK21zZ3N0ciAiJXM6ICRURVJNIGF0YW5tYW3EscWfLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDQ0Cittc2dpZCAidGVybWluZm8gZGF0YWJhc2UgY2Fubm90IGJlIGZvdW5kIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIHRlcm1pbmFsIHR5cGUiCittc2dzdHIgIiVzOiBiaWxpbm1leWVuIHNpbnlhbDogJXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0OAorbXNnaWQgInRlcm1pbmFsIGlzIGhhcmRjb3B5IgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB0b28gbWFueSBpb3YncyIKK21zZ3N0ciAiacOnIGhhdGEiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhjZXNzaXZlbHkgbG9uZyBsaW5lIGFyZyIKK21zZ3N0ciAic2F0xLFyIGFyZ8O8bWFuxLEgZ2VyZcSfaW5kZW4gdXp1biIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wZW4gZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IGJhxZ9hcsSxc8SxelxuIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZm9yazogJW0iCittc2dzdHIgImZvcms6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZm9yayIKK21zZ3N0ciAiYXN0IHPDvHJlw6cgb2x1xZ90dXJ1bGFtxLF5b3IiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCQUQgRVJST1IsIG1lc3NhZ2UgaXMgZmFyIHRvbyBsb25nIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gfCA8bWVzc2FnZT5dXG4iCittc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbc2XDp2VuZWtsZXJdIGF5Z8SxdCAuLi5cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODYKK21zZ2lkICJXcml0ZSBhIG1lc3NhZ2UgdG8gYWxsIHVzZXJzLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg5CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBkbyBub3QgcHJpbnQgYmFubmVyLCB3b3JrcyBvbmx5IGZvciByb290XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTAKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8dGltZW91dD4gd3JpdGUgdGltZW91dCBpbiBzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6MTMyCittc2dpZCAiLS1ub2Jhbm5lciBpcyBhdmFpbGFibGUgb25seSBmb3Igcm9vdCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudDogJXMiCittc2dzdHIgInphbWFuIGHFn8SxbcSxIGRlxJ9lcmkgaGF0YWzEsTogJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjI2OQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IHBhc3N3ZCB1aWQiCittc2dzdHIgIm1vdW50OiBoxLF6IGF5YXJsYW5hbcSxeW9yOiAlcyIKKworIzogdGVybS11dGlscy93YWxsLmM6Mjc0CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgdHR5IG5hbWUiCittc2dzdHIgIkRpc2tpbiB0b3BsYW0gYWxhbsSxIGhlc2FwbGFuYW3EsXlvciIKKworIzogdGVybS11dGlscy93YWxsLmM6Mjk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCcm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzQCVzICglcykgKCVzKToiCittc2dzdHIgIiVzQCVzIGRlbiBVeWFyxLEiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjMyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgcmVhZCAlcyAtIHVzZSBzdGRpbi4iCittc2dzdHIgIiVzOiAlcyBva3VuYW1heWFjYWsgLSBzdGRHIGt1bGxhbsSxbi5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1c2VyPiBbPHR0eW5hbWU+XVxuIgorbXNnc3RyICJrdWxsYW7EsW3EsTogbmFtZWkgWy1teF0gZG9zeWFZb2x1IFtkb3N5YVlvbHUgLi4uXVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6OTAKK21zZ2lkICJTZW5kIGEgbWVzc2FnZSB0byBhbm90aGVyIHVzZXIuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICJlZmZlY3RpdmUgZ2lkIGRvZXMgbm90IG1hdGNoIGdyb3VwIG9mICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4iCittc2dzdHIgIndyaXRlOiAlcyBzaXN0ZW1kZSBkZcSfaWxcbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwNworIywgZnV6enkKK21zZ2lkICJjYW4ndCBmaW5kIHlvdXIgdHR5J3MgbmFtZSIKK21zZ3N0ciAid3JpdGU6IGt1bGxhbmTEscSfxLFuxLF6IHR0eSBpc21pIGJ1bHVuYW3EsXlvclxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQiCittc2dzdHIgIndyaXRlOiBpbGV0aWxlciAlcyBpw6dpbiBrYXBhbMSxXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGxvZ2dlZCBpbiBtb3JlIHRoYW4gb25jZTsgd3JpdGluZyB0byAlcyIKK21zZ3N0ciAid3JpdGU6ICVzIGJpcmRlbiBmYXpsYSBnaXJpxZ8geWFwbcSxxZ87ICVzJ2UgeWF6xLF5b3JcbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIzOAorIywgZnV6enkKK21zZ2lkICJjYXJlZnVscHV0YyBmYWlsZWQiCittc2dzdHIgImJlbGxlayBheXLEsWxhbWFkxLEiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyAoYXMgJXMpIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIiVzQCVzIGRlbiBpbGV0aSB2YXIgKCVzIG9sYXJhaywgJXMgw7x6ZXJpbmRlbiwgxZ91IGFuICVzKSAuLi4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICIlc0AlcyBkZW4gaWxldGkgdmFyICglcyDDvHplcmluZGVuLCDFn3UgYW4gJXMpIC4uLiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjMzMQorIywgZnV6enkKK21zZ2lkICJ5b3UgaGF2ZSB3cml0ZSBwZXJtaXNzaW9uIHR1cm5lZCBvZmYiCittc2dzdHIgIndyaXRlOiB5YXptYSBpemlubGVyaW5peiBrYXBhbMSxLlxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIG9uICVzIgorbXNnc3RyICJ3cml0ZTogJXMgaWxlICVzIMO8emVyaW5kZSBnaXJpxZ8geWFwxLFsbWFtxLHFny5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIG9uICVzIgorbXNnc3RyICJ3cml0ZTogJXMgaWxldGlsZXJpICVzIMO8emVyaW5kZSBrYXBhbMSxXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM0Cittc2dpZCAiRmlsdGVyIG91dCByZXZlcnNlIGxpbmUgZmVlZHMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAgZG8gbm90IG91dHB1dCBiYWNrc3BhY2VzXG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAgcGVybWl0IGZvcndhcmQgaGFsZiBsaW5lIGZlZWRzXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAgcGFzcyB1bmtub3duIGNvbnRyb2wgc2VxdWVuY2VzXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgY29udmVydCBzcGFjZXMgdG8gdGFic1xuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIGNvbnZlcnQgdGFicyB0byBzcGFjZXNcbiIKKyIgLWwsIC0tbGluZXMgTlVNICAgICAgICBidWZmZXIgYXQgbGVhc3QgTlVNIGxpbmVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLUgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTQ4IHRleHQtdXRpbHMvY29scm0uYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXMgcmVhZHMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MjEyCisjLCBmdXp6eQorbXNnaWQgImJhZCAtbCBhcmd1bWVudCIKK21zZ3N0ciAiY29sOiAtbCBhcmfDvG1hbsSxICVzIGhhdGFsxLEuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW4ndCBiYWNrIHVwICVzLiIKK21zZ3N0ciAiY29sOiB1eWFyxLE6ICVzIHllZGVrbGVuZW1peW9yLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjMzNworbXNnaWQgInBhc3QgZmlyc3QgbGluZSIKK21zZ3N0ciAiZ2XDp2VuIGlsayBzYXTEsXIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM3Cittc2dpZCAiLS0gbGluZSBhbHJlYWR5IGZsdXNoZWQiCittc2dzdHIgIi0tIHNhdMSxciB6YXRlbiBnZcOndGkiCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODEgdGV4dC11dGlscy9jb2x1bW4uYzoxMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFtzZcOnZW5la2xlcl0gYXlnxLF0IC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg0Cittc2dpZCAiRmlsdGVyIG5yb2ZmIG91dHB1dCBmb3IgQ1JUIHByZXZpZXdpbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NworbXNnaWQgIiAtLCAgLS1uby11bmRlcmxpbmluZyAgICBzdXBwcmVzcyBhbGwgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg4CisjLCBmdXp6eQorbXNnaWQgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBwcmludCBhbGwgaGFsZi1saW5lc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIEJ1IHlhcmTEsW0gaWxldGlzaW5pIGfDtnN0ZXJpclxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW3N0YXJ0Y29sIFtlbmRjb2xdXVxuIgorbXNnc3RyICJLdWxsYW7EsW3EsTogJXMgW3Nlw6dlbmVrbGVyXSBheWfEsXQgLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo2NAorbXNnaWQgIkZpbHRlciBvdXQgdGhlIHNwZWNpZmllZCBjb2x1bW5zLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiZmlyc3QgYXJndW1lbnQiCittc2dzdHIgImNvbDogLWwgYXJnw7xtYW7EsSAlcyBoYXRhbMSxLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgInNlY29uZCBhcmd1bWVudCIKK21zZ3N0ciAiY29sOiAtbCBhcmfDvG1hbsSxICVzIGhhdGFsxLEuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTIwCittc2dpZCAiQ29sdW1uYXRlIGxpc3RzLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTIzCittc2dpZCAiIC1jLCAtLWNvbHVtbnMgPHdpZHRoPiAgICB3aWR0aCBvZiBvdXRwdXQgaW4gbnVtYmVyIG9mIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyNAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgIGNyZWF0ZSBhIHRhYmxlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOb3JtYWxkZSB2ZXJpbGVuIMOnxLFrdMSxIHZlcmlsbWV6XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI1Cittc2dpZCAiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiBwb3NzaWJsZSB0YWJsZSBkZWxpbWl0ZXJzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjYKK21zZ2lkICIiCisiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0cmluZz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnMgc2VwYXJhdG9yIGZvciB0YWJsZSBvdXRwdXQ7IGRlZmF1bHQgaXMgdHdvIHNwYWNlc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI4CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1maWxscm93cyAgICAgICAgICAgZmlsbCByb3dzIGJlZm9yZSBjb2x1bW5zXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxODIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjb2x1bW5zIGFyZ3VtZW50IgorbXNnc3RyICJraW1saWsgZ2XDp2Vyc2l6IgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQyMgorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkIGlzIHRvbyBsb25nLCBvdXRwdXQgd2lsbCBiZSB0cnVuY2F0ZWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU1IHRleHQtdXRpbHMvbW9yZS5jOjIyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFtzZcOnZW5la2xlcl0gYXlnxLF0IC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTgKK21zZ2lkICJEaXNwbGF5IGZpbGUgY29udGVudHMgaW4gaGV4YWRlY2ltYWwsIGRlY2ltYWwsIG9jdGFsLCBvciBhc2NpaS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjEKK21zZ2lkICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYyCittc2dpZCAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgb25lLWJ5dGUgY2hhcmFjdGVyIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjMKK21zZ2lkICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjQKK21zZ2lkICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjUKK21zZ2lkICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICB0d28tYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY2Cittc2dpZCAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NworbXNnaWQgIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHJldCBjb2xvciBmb3JtYXR0aW5nIHNwZWNpZmllcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzAKK21zZ2lkICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MQorbXNnaWQgIiAtZiwgLS1mb3JtYXQtZmlsZSA8ZmlsZT4gIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MgorbXNnaWQgIiAtbiwgLS1sZW5ndGggPGxlbmd0aD4gICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MworbXNnaWQgIiAtcywgLS1za2lwIDxvZmZzZXQ+ICAgICAgIHNraXAgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICBvdXRwdXQgaWRlbnRpY2FsIGxpbmVzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLWRpc3BsYXkuYzozNjUKKyMsIGZ1enp5Cittc2dpZCAiYWxsIGlucHV0IGZpbGUgYXJndW1lbnRzIGZhaWxlZCIKK21zZ3N0ciAiYXphbWkgYsO2bMO8dCBzYXnEsXPEsSA9ICVsdVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkIGJ5dGUgY291bnQgZm9yIGNvbnZlcnNpb24gY2hhcmFjdGVyICVzIgorbXNnc3RyICJoZXhkdW1wOiBkw7Zuw7zFn8O8bSBrYXJha3RlcmkgJXMgacOnaW4gYmF5dCBzYXnEsXPEsSBoYXRhbMSxLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJSVzIHJlcXVpcmVzIGEgcHJlY2lzaW9uIG9yIGEgYnl0ZSBjb3VudCIKK21zZ3N0ciAiaGV4ZHVtcDogJSVzIGJpciBkdXlhcmzEsWsgeWEgZGEgYmF5dCBzYXnEsXPEsSBnZXJla3RpcmlyLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkIGZvcm1hdCB7JXN9IgorbXNnc3RyICJoZXhkdW1wOiBiacOnZW0gaGF0YWzEsSB7JXN9XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29udmVyc2lvbiBjaGFyYWN0ZXIgJSUlcyIKK21zZ3N0ciAiaGV4ZHVtcDogZMO2bsO8xZ/DvG0ga2FyYWt0ZXJpICUlJXMgaGF0YWzEsS5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NDM2CisjLCBmdXp6eQorbXNnaWQgImJ5dGUgY291bnQgd2l0aCBtdWx0aXBsZSBjb252ZXJzaW9uIGNoYXJhY3RlcnMiCittc2dzdHIgImhleGR1bXA6IMOnb2tsdSBkw7Zuw7zFn8O8bSBrYXJha3Rlcmxlcml5bGUgYmF5dCBzYXnEsXPEsS5cbiIKKworIzogdGV4dC11dGlscy9saW5lLmM6MzMKK21zZ2lkICJSZWFkIG9uZSBsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIyOAorbXNnaWQgIkEgZmlsZSBwZXJ1c2FsIGZpbHRlciBmb3IgQ1JUIHZpZXdpbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjMxCisjLCBmdXp6eQorbXNnaWQgIiAtZCAgICAgICAgICBkaXNwbGF5IGhlbHAgaW5zdGVhZCBvZiByaW5naW5nIGJlbGxcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBCdSB5YXJkxLFtIGlsZXRpc2luaSBnw7ZzdGVyaXJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjMyCisjLCBmdXp6eQorbXNnaWQgIiAtZiAgICAgICAgICBjb3VudCBsb2dpY2FsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorbXNnc3RyICIgICAgLW4gICAgICAgICAgICAgICAgICBnZXLDp2VrdGUgZGlza2UgeWF6xLFsbWF6IgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzMKKyMsIGZ1enp5Cittc2dpZCAiIC1sICAgICAgICAgIHN1cHByZXNzIHBhdXNlIGFmdGVyIGZvcm0gZmVlZFxuIgorbXNnc3RyICIgIHAgICAgICAgICAgRGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1bnUgZWtyYW5hIHlhIGRhIGJpciBkb3N5YXlhIHlhemFyIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzQKKyMsIGZ1enp5Cittc2dpZCAiIC1jICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGRpc3BsYXkgdGV4dCBhbmQgY2xlYW4gbGluZSBlbmRzXG4iCittc2dzdHIgIiAgICAtbiAgICAgICAgICAgICAgICAgIGdlcsOnZWt0ZSBkaXNrZSB5YXrEsWxtYXoiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNQorIywgZnV6enkKK21zZ2lkICIgLXAgICAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIERpc2sgYsO2bMO8bWxlbWUgdGFibG9zdW51IGVrcmFuYSB5YSBkYSBiaXIgZG9zeWF5YSB5YXphciIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM2CisjLCBmdXp6eQorbXNnaWQgIiAtcyAgICAgICAgICBzcXVlZXplIG11bHRpcGxlIGJsYW5rIGxpbmVzIGludG8gb25lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM3Cittc2dpZCAiIC11ICAgICAgICAgIHN1cHByZXNzIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM4CisjLCBmdXp6eQorbXNnaWQgIiAtPG51bWJlcj4gICB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKK21zZ3N0ciAiU2lsaW5kaXIgc2F5xLFzxLFuxLEgdmVyaW46ICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM5Cittc2dpZCAiICs8bnVtYmVyPiAgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBsaW5lIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MAorbXNnaWQgIiArLzxzdHJpbmc+ICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gc2VhcmNoIHN0cmluZyBtYXRjaFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MQorIywgZnV6enkKK21zZ2lkICIgLVYgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NDg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbiAtJXMiCittc2dzdHIgIiVzOiBcIi0lY1wiIGRpeWUgYmlyIHNlw6dlbmVrIGJpbGlubWl5b3JcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKiogJXM6IGRpcmVjdG9yeSAqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKiAlczogZGl6aW4gKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqKioqKiogJXM6IE5vdCBhIHRleHQgZmlsZSAqKioqKioqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqKioqKiogJXM6IEJpciBtZXRpbiBkb3N5YXPEsSBkZcSfaWwgKioqKioqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIltVc2UgcSBvciBRIHRvIHF1aXRdIgorbXNnc3RyICJbw4fEsWttYWsgacOnaW4gcSB5YSBkYSBRIGt1bGxhbsSxbl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjcyNAorIywgYy1mb3JtYXQKK21zZ2lkICItLU1vcmUtLSIKK21zZ3N0ciAiLS1CYcWfa2EtLSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzI2CisjLCBjLWZvcm1hdAorbXNnaWQgIihOZXh0IGZpbGU6ICVzKSIKK21zZ3N0ciAiKFNvbnJha2kgZG9zeWE6ICVzKSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyBzcGFjZSB0byBjb250aW51ZSwgJ3EnIHRvIHF1aXQuXSIKK21zZ3N0ciAiW0RldmFtIGV0bWVrIGnDp2luIGJvxZ9sdWsgw6d1YnXEn3VuYSwgw6fEsWttYWsgacOnaW4gJ3EnIHR1xZ91bmEgYmFzxLFuxLF6Ll0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjExNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi4uLmJhY2sgJWQgcGFnZSIKK21zZ2lkX3BsdXJhbCAiLi4uYmFjayAlZCBwYWdlcyIKK21zZ3N0clswXSAiLi4ua2FsYW4gJWQgc2F5ZmEiCittc2dzdHJbMV0gIi4uLmthbGFuICVkIHNheWZhIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIuLi5za2lwcGluZyAlZCBsaW5lIgorbXNnaWRfcGx1cmFsICIuLi5za2lwcGluZyAlZCBsaW5lcyIKK21zZ3N0clswXSAiLi4uJWQgc2F0xLFyIGF0bGFuxLF5b3IiCittc2dzdHJbMV0gIi4uLiVkIHNhdMSxciBhdGxhbsSxeW9yIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjQ4Cittc2dpZCAiIgorIlxuIgorIioqKkJhY2sqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKkthbGFuKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNjMKKyMsIGZ1enp5Cittc2dpZCAiTm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICJEw7x6ZW5saSBpZmFkZSBhY2VtaWNlIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjkzCittc2dpZCAiIgorIlxuIgorIk1vc3QgY29tbWFuZHMgb3B0aW9uYWxseSBwcmVjZWRlZCBieSBpbnRlZ2VyIGFyZ3VtZW50IGsuICBEZWZhdWx0cyBpbiBicmFja2V0cy5cbiIKKyJTdGFyICgqKSBpbmRpY2F0ZXMgYXJndW1lbnQgYmVjb21lcyBuZXcgZGVmYXVsdC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIktvbXV0bGFyxLFuIMOnb8SfdSBiaXIgayB0YW1zYXnEsSBhcmfDvG1hbiBhbGFiaWxpci4gVmVyaWxtZXpzZSBrw7bFn2VsaVxuIgorInBhcmFudGV6bGVybGUgYmVsaXJ0aWxlbmxlciDDtm50YW7EsW1sxLFkxLFyLiBZxLFsZMSxeiAoKikgacWfYXJldGkgeWVuaSDDtm50YW7EsW1sxLFcbiIKKyJkZcSfZXIgb2xhY2HEn8SxbsSxIGJlbGlydGlyLlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzAwCittc2dpZCAiIgorIjxzcGFjZT4gICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbMV0qXG4iCisiZCBvciBjdHJsLUQgICAgICAgICAgICAgU2Nyb2xsIGsgbGluZXMgW2N1cnJlbnQgc2Nyb2xsIHNpemUsIGluaXRpYWxseSAxMV0qXG4iCisicSBvciBRIG9yIDxpbnRlcnJ1cHQ+ICAgRXhpdCBmcm9tIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBsaW5lcyBvZiB0ZXh0IFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyJiIG9yIGN0cmwtQiAgICAgICAgICAgICBTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBHbyB0byBwbGFjZSB3aGVyZSBwcmV2aW91cyBzZWFyY2ggc3RhcnRlZFxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBsaW5lIG51bWJlclxuIgorIi88cmVndWxhciBleHByZXNzaW9uPiAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgcmVndWxhciBleHByZXNzaW9uIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByLmUgWzFdXG4iCisiITxjbWQ+IG9yIDohPGNtZD4gICAgICAgRXhlY3V0ZSA8Y21kPiBpbiBhIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgdXAgL3Vzci9iaW4vdmkgYXQgY3VycmVudCBsaW5lXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkcmF3IHNjcmVlblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBuZXh0IGZpbGUgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIHByZXZpb3VzIGZpbGUgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXJcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBSZXBlYXQgcHJldmlvdXMgY29tbWFuZFxuIgorbXNnc3RyICIiCisiPGJvxZ9sdWs+ICAgICAgIE1ldG5pbiBzb25yYWtpIGsgc2F0xLFyxLFuxLEgZ8O2c3RlcmlyIFtla3JhbsSxbiBzYXTEsXIgc2F5xLFzxLFdXG4iCisieiAgICAgICAgICAgICAgTWV0bmluIHNvbnJha2kgayBzYXTEsXLEsW7EsSBnw7ZzdGVyaXIgW2VrcmFuxLFuIHNhdMSxciBzYXnEsXPEsV0qXG4iCisiPGVudGVyPiAgICAgICAgTWV0bmluIHNvbnJha2kgayBzYXTEsXLEsW7EsSBnw7ZzdGVyaXIgWzFdKlxuIgorImQgdmV5YSBjdHJsLUQgIE1ldG5pIGsgc2F0xLFyIGlsZXJsZXRpciBbZ2VuZWxsaWtsZSAxMSBzYXTEsXJdKlxuIgorInEgdmV5YSBRIHlhIGRhIDxrZXNtZT5cbiIKKyIgICAgICAgICAgICAgICBtb3JlJ2RhbiDDp8Sxa8SxbMSxci5cbiIKKyJzICAgICAgICAgICAgICBNZXRuaW4gayBzYXTEsXLEsW7EsSBhdGxhciBbMV1cbiIKKyJmICAgICAgICAgICAgICBNZXRuaW4gayBla3JhbmzEsWsgYsO2bMO8bcO8bsO8IGF0bGFyIFsxXVxuIgorImIgdmV5YSBjdHJsLUIgIE1ldG5pbiBnZXJpeWUgZG/En3J1IGsgZWtyYW5sxLFrIGLDtmzDvG3DvG7DvCBhdGxhciBbMV1cbiIKKyInICAgICAgICAgICAgICBBcmFtYW7EsW4gaWxrIGJhxZ9sYXTEsWxkxLHEn8SxIHllcmUgZMO2bmVyXG4iCisiPSAgICAgICAgICAgICAgTyBhbmtpIHNhdMSxciBudW1hcmFzxLFuxLEgZ8O2c3RlcmlyXG4iCisiLzxkw7x6ZW5saSBpZmFkZT5cbiIKKyIgICAgICAgICAgICAgICBEw7x6ZW5saSBpZmFkZSBpbGUgYmVsaXJ0aWxlbiBrJ8SxbmPEsSBlxZ9sZcWfbWV5aSBhcmFyIFsxXVxuIgorIm4gICAgICAgICAgICAgIFNvbiBkw7x6ZW5saSBpZmFkZSBpbGUgYmVsaXJ0aWxlbiBzb25yYWtpIGsnxLFuY8SxIGXFn2xlxZ9tZXlpXG4iCisiICAgICAgICAgICAgICAgYXJhciBbMV1cbiIKKyIhPGtvbXV0PiB2ZXlhIDohPGtvbXV0PlxuIgorIiAgICAgICAgICAgICAgIEFsdCBrYWJ1xJ91bmRhIDxrb211dD51IMOnYWzEscWfdMSxcsSxclxuIgorInYgICAgICAgICAgICAgIEJ1bHVudWxhbiBzYXTEsXJkYSAvdXNyL2Jpbi92aSDDp2FsxLHFn3TEsXLEsWzEsXJcbiIKKyJjdHJsLUwgICAgICAgICBFa3JhbsSxIHRhemVsZXJcbiIKKyI6biAgICAgICAgICAgICBTb25yYWtpIGsnxLFuY8SxIHNhdMSxcmEgZ2lkZXIgWzFdXG4iCisiOnAgICAgICAgICAgICAgw5ZuY2VraSBrJ8SxbmPEsSBzYXTEsXJhIGdpZGVyIFsxXVxuIgorIjpmICAgICAgICAgICAgIERvc3lhIGlzbWluaSB2ZSBzYXTEsXIgbnVtYXJhc8SxbsSxIGfDtnN0ZXJpclxuIgorIi4gICAgICAgICAgICAgIMOWbmNla2kga29tdXQgdGVrcmFybGFuxLFyXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzNzMgdGV4dC11dGlscy9tb3JlLmM6MTM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3MgJ2gnIGZvciBpbnN0cnVjdGlvbnMuXSIKK21zZ3N0ciAiW1lhcmTEsW0gYmHFn2zEsWtsYXLEsSBpw6dpbiAnaCcgdHXFn3VuYSBiYXPEsW7EsXpdIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBsaW5lICVkIgorbXNnc3RyICJcIiVzXCIgc2F0xLFyICVkIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDEyCisjLCBjLWZvcm1hdAorbXNnaWQgIltOb3QgYSBmaWxlXSBsaW5lICVkIgorbXNnc3RyICJbRG9zeWEgZGXEn2lsXSBzYXTEsXIgJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0OTQKK21zZ2lkICIgIE92ZXJmbG93XG4iCittc2dzdHIgIiAgVGHFn21hXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1NDMKK21zZ2lkICIuLi5za2lwcGluZ1xuIgorbXNnc3RyICIuLi5hdGxhbsSxeW9yXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1NzcKK21zZ2lkICIiCisiXG4iCisiUGF0dGVybiBub3QgZm91bmRcbiIKK21zZ3N0ciAiIgorIlxuIgorIkthbMSxcCBidWx1bmFtYWTEsVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTgzIHRleHQtdXRpbHMvcGcuYzoxMDI3IHRleHQtdXRpbHMvcGcuYzoxMTczCittc2dpZCAiUGF0dGVybiBub3QgZm91bmQiCittc2dzdHIgIkthbMSxcCBidWx1bmFtYWTEsSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTYyOQorbXNnaWQgImV4ZWMgZmFpbGVkXG4iCittc2dzdHIgIsOnYWzEscWfdMSxcm1hIGJhxZ9hcsSxc8SxelxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjQzCittc2dpZCAiY2FuJ3QgZm9ya1xuIgorbXNnc3RyICJhc3Qgc8O8cmXDpyBvbHXFn3R1cnVsYW1hZMSxXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NzcKK21zZ2lkICIiCisiXG4iCisiLi4uU2tpcHBpbmcgIgorbXNnc3RyICIiCisiXG4iCisiLi4uQXRsYW7EsXlvciAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2ODEKK21zZ2lkICIuLi5Ta2lwcGluZyB0byBmaWxlICIKK21zZ3N0ciAiLi4uRG9zeWF5YSBhdGxhbsSxeW9yOiAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2ODMKK21zZ2lkICIuLi5Ta2lwcGluZyBiYWNrIHRvIGZpbGUgIgorbXNnc3RyICIuLi7Dlm5jZWtpIGRvc3lheWEgYXRsYW7EsXlvcjogIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxOTczCittc2dpZCAiTGluZSB0b28gbG9uZyIKK21zZ3N0ciAiU2F0xLFyIMOnb2sgdXp1biIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjAxMAorbXNnaWQgIk5vIHByZXZpb3VzIGNvbW1hbmQgdG8gc3Vic3RpdHV0ZSBmb3IiCittc2dzdHIgIlllcmluaSBhbGFjYWsgw7ZuY2VzaW5kZSBiaXIga29tdXQgeW9rIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTQ0Cittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyIgIGggICAgICAgICAgICAgICAgICAgICAgIHRoaXMgc2NyZWVuXG4iCisiICBxIG9yIFEgICAgICAgICAgICAgICAgICBxdWl0IHByb2dyYW1cbiIKKyIgIDxuZXdsaW5lPiAgICAgICAgICAgICAgIG5leHQgcGFnZVxuIgorIiAgZiAgICAgICAgICAgICAgICAgICAgICAgc2tpcCBhIHBhZ2UgZm9yd2FyZFxuIgorIiAgZCBvciBeRCAgICAgICAgICAgICAgICAgbmV4dCBoYWxmcGFnZVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgbmV4dCBsaW5lXG4iCisiICAkICAgICAgICAgICAgICAgICAgICAgICBsYXN0IHBhZ2VcbiIKKyIgIC9yZWdleC8gICAgICAgICAgICAgICAgIHNlYXJjaCBmb3J3YXJkIGZvciByZWdleFxuIgorIiAgP3JlZ2V4PyBvciBecmVnZXheICAgICAgc2VhcmNoIGJhY2t3YXJkIGZvciByZWdleFxuIgorIiAgLiBvciBeTCAgICAgICAgICAgICAgICAgcmVkcmF3IHNjcmVlblxuIgorIiAgdyBvciB6ICAgICAgICAgICAgICAgICAgc2V0IHBhZ2Ugc2l6ZSBhbmQgZ28gdG8gbmV4dCBwYWdlXG4iCisiICBzIGZpbGVuYW1lICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgZmlsZSB0byBmaWxlbmFtZVxuIgorIiAgIWNvbW1hbmQgICAgICAgICAgICAgICAgc2hlbGwgZXNjYXBlXG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBwcmV2aW91cyBmaWxlXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBuZXh0IGZpbGVcbiIKKyJcbiIKKyJNYW55IGNvbW1hbmRzIGFjY2VwdCBwcmVjZWRpbmcgbnVtYmVycywgZm9yIGV4YW1wbGU6XG4iCisiKzE8bmV3bGluZT4gKG5leHQgcGFnZSk7IC0xPG5ld2xpbmU+IChwcmV2aW91cyBwYWdlKTsgMTxuZXdsaW5lPiAoZmlyc3QgcGFnZSkuXG4iCisiXG4iCisiU2VlIHBnKDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFsrbGluZV0gWysvcGF0dGVybi9dIFtmaWxlc11cbiIKK21zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFtzZcOnZW5la2xlcl0gYXlnxLF0IC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjI2Cittc2dpZCAiQnJvd3NlIHBhZ2V3aXNlIHRocm91Z2ggdGV4dCBmaWxlcy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjI5Cittc2dpZCAiIC1udW1iZXIgICAgICBsaW5lcyBwZXIgcGFnZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzAKK21zZ2lkICIgLWMgICAgICAgICAgIGNsZWFyIHNjcmVlbiBiZWZvcmUgZGlzcGxheWluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAiIC1lICAgICAgICAgICBkbyBub3QgcGF1c2UgYXQgZW5kIG9mIGEgZmlsZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgRGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1bnUgZWtyYW5hIHlhIGRhIGJpciBkb3N5YXlhIHlhemFyIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMyCisjLCBmdXp6eQorbXNnaWQgIiAtZiAgICAgICAgICAgZG8gbm90IHNwbGl0IGxvbmcgbGluZXNcbiIKK21zZ3N0ciAiICAgIC1uICAgICAgICAgICAgICAgICAgZ2Vyw6dla3RlIGRpc2tlIHlhesSxbG1heiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMworbXNnaWQgIiAtbiAgICAgICAgICAgdGVybWluYXRlIGNvbW1hbmQgd2l0aCBuZXcgbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzQKK21zZ2lkICIgLXAgPHByb21wdD4gIHNwZWNpZnkgcHJvbXB0XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNQorbXNnaWQgIiAtciAgICAgICAgICAgZGlzYWxsb3cgc2hlbGwgZXNjYXBlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNgorIywgZnV6enkKK21zZ2lkICIgLXMgICAgICAgICAgIHByaW50IG1lc3NhZ2VzIHRvIHN0ZG91dFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzcKK21zZ2lkICIgK251bWJlciAgICAgIHN0YXJ0IGF0IHRoZSBnaXZlbiBsaW5lXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzOAorbXNnaWQgIiArL3BhdHRlcm4vICAgc3RhcnQgYXQgdGhlIGxpbmUgY29udGFpbmluZyBwYXR0ZXJuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICVzIgorbXNnc3RyICIlczogc2XDp2VuZWsgYmlyIGFyZ8O8bWFubGEga3VsbGFuxLFsxLFyIC0tICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgb3B0aW9uIC0tICVzIgorbXNnc3RyICIlczoga3VyYWxkxLHFn8SxIHNlw6dlbmVrIC0tICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNTkKK21zZ2lkICIuLi5za2lwcGluZyBmb3J3YXJkXG4iCittc2dzdHIgIi4uLmlsZXJpIGF0bGFuxLF5b3JcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM2MQorbXNnaWQgIi4uLnNraXBwaW5nIGJhY2t3YXJkXG4iCittc2dzdHIgIi4uLmdlcmkgYXRsYW7EsXlvclxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzc3Cittc2dpZCAiTm8gbmV4dCBmaWxlIgorbXNnc3RyICJTb25yYXPEsW5kYSBkb3N5YSB5b2siCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODEKK21zZ2lkICJObyBwcmV2aW91cyBmaWxlIgorbXNnc3RyICLDlm5jZXNpbmRlIGRvc3lhIHlvayIKKworIzogdGV4dC11dGlscy9wZy5jOjg4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvciBmcm9tICVzIGZpbGUiCittc2dzdHIgIiVzOiAlcyBkb3N5YXPEsW5kYW4gb2t1bWEgaGF0YXPEsVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIEVPRiBpbiAlcyBmaWxlIgorbXNnc3RyICIlczogJXMgZG95YXPEsW5kYSBiZWtsZW5tZWRpayBkb3N5YSBzb251XG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gZXJyb3IgaW4gJXMgZmlsZSIKK21zZ3N0ciAiJXM6ICVzIGRveWFzxLFuZGEgYmlsaW5tZXllbiBoYXRhXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NDEKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiJXM6IGdlw6dpY2kgZG9zeWEgb2x1xZ90dXJ1bGFtxLF5b3IuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NTAgdGV4dC11dGlscy9wZy5jOjExMTQgdGV4dC11dGlscy9wZy5jOjExNDAKK21zZ2lkICJSRSBlcnJvcjogIgorbXNnc3RyICJSRSBoYXRhc8SxOiIKKworIzogdGV4dC11dGlscy9wZy5jOjEwOTcKK21zZ2lkICIoRU9GKSIKK21zZ3N0ciAiKERvc3lhU29udSkiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTIyIHRleHQtdXRpbHMvcGcuYzoxMTQ4Cittc2dpZCAiTm8gcmVtZW1iZXJlZCBzZWFyY2ggc3RyaW5nIgorbXNnc3RyICJBcmFtYSBkaXpnZXNpIHlvayIKKworIzogdGV4dC11dGlscy9wZy5jOjEyMDMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gIgorbXNnc3RyICIlcyBhw6fEsWxhbcSxeW9yIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI1NQorbXNnaWQgInNhdmVkIgorbXNnc3RyICJrYXlkZWRpbGRpIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM0NQorbXNnaWQgIjogIWNvbW1hbmQgbm90IGFsbG93ZWQgaW4gcmZsYWcgbW9kZS5cbiIKK21zZ3N0ciAiOiByZmxhZyBraXBpbmRlICEga29tdXR1IGt1bGxhbsSxbG1hei5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzODAKK21zZ2lkICJmb3JrKCkgZmFpbGVkLCB0cnkgYWdhaW4gbGF0ZXJcbiIKK21zZ3N0ciAiQWx0IHPDvHJlw6cgb2x1xZ90dXJ1bGFtYWTEsSwgZGFoYSBzb25yYSB0ZWtyYXIgZGVuZXlpblxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTQ2OAorbXNnaWQgIihOZXh0IGZpbGU6ICIKK21zZ3N0ciAiKFNvbnJha2kgZG9zeWE6ICIKKworIzogdGV4dC11dGlscy9wZy5jOjE1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXMgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU4NyB0ZXh0LXV0aWxzL3BnLmM6MTY2MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGxpbmVzIHBlciBwYWdlIgorbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIzogdGV4dC11dGlscy9yZXYuYzo3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCittc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbc2XDp2VuZWtsZXJdIGF5Z8SxdCAuLi5cbiIKKworIzogdGV4dC11dGlscy9yZXYuYzo4MAorbXNnaWQgIlJldmVyc2UgbGluZXMgY2hhcmFjdGVyd2lzZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgImluY29tcGxldGUgd3JpdGUgdG8gXCIlc1wiICh3cml0dGVuICV6ZCwgZXhwZWN0ZWQgJXpkKVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaCAobGltaXQgb2YgaW5vdGlmeSB3YXRjaGVzIHdhcyByZWFjaGVkKS4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjE5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25dIDxmaWxlPlxuIgorbXNnc3RyICJLdWxsYW7EsW3EsTogJXMgW3Nlw6dlbmVrbGVyXSBheWfEsXQgLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMDAKK21zZ2lkICJGb2xsb3cgdGhlIGdyb3d0aCBvZiBhIGxvZyBmaWxlLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLWxpbmVzIDxudW1iZXI+ICAgb3V0cHV0IHRoZSBsYXN0IDxudW1iZXI+IGxpbmVzXG4iCittc2dzdHIgIlNpbGluZGlyIHNhecSxc8SxbsSxIHZlcmluOiAiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMDQKKyMsIGZ1enp5Cittc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgICAgc2FtZSBhcyAnLW4gPG51bWJlcj4nXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIxMAorbXNnaWQgIldhcm5pbmc6IHVzZSBvZiAndGFpbGYnIGlzIGRlcHJlY2F0ZWQsIHVzZSAndGFpbCAtZicgaW5zdGVhZC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjIzIHRleHQtdXRpbHMvdGFpbGYuYzoyNjMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyIKK21zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyNzUKKyMsIGZ1enp5Cittc2dpZCAibm8gaW5wdXQgZmlsZSBzcGVjaWZpZWQiCittc2dzdHIgIi0tZGF0ZSBzZcOnZW5lxJ9pIGJlbGlydGlsbWVtacWfLlxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGEgZmlsZSIKK21zZ3N0ciAia8O2ayBkw7zEn8O8bcO8IGJpciBkaXppbiBkZcSfaWwiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiAuLi5dXG4iCittc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbc2XDp2VuZWtsZXJdIGF5Z8SxdCAuLi5cbiIKKworIzogdGV4dC11dGlscy91bC5jOjEzOQorbXNnaWQgIkRvIHVuZGVybGluaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDIKK21zZ2lkICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDMKK21zZ2lkICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMDQKK21zZ2lkICJ0cm91YmxlIHJlYWRpbmcgdGVybWluZm8iCittc2dzdHIgInRlcm1pbmZvIG9rdW5tYXlhIMOnYWzEscWfxLFsxLF5b3IiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgYCVzJyBpcyBub3Qga25vd24sIGRlZmF1bHRpbmcgdG8gYGR1bWInIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZXNjYXBlIHNlcXVlbmNlIGluIGlucHV0OiAlbywgJW8iCittc2dzdHIgIkdpcmRpZGVraSDDtm5jZWxlbWUgZGl6Z2VzaSBiaWxpbm1peW9yOiAlbywgJW9cbiIKKworIzogdGV4dC11dGlscy91bC5jOjYyNAorIywgZnV6enkKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAiR2lyZGkgc2F0xLFyxLEgw6dvayB1enVuLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIHVzZSB0aGUgSGFyZHdhcmUgQ2xvY2suIgorI34gbXNnc3RyICJEb25hbsSxbSBzYWF0aSBzYWRlY2Ugcm9vdCB0YXJhZsSxbmRhbiBkZcSfacWfdGlyaWxlYmlsaXIuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgc2VjY29tcCBjb250ZXh0IgorI34gbXNnc3RyICJUYW1wb24gYXlyxLFsYW1hZMSxLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBhZGQgc2VjY29tcCBydWxlIgorI34gbXNnc3RyICIlcyBkdXJ1bSBiaWxnaWxlcmkgYWzEsW5hbcSxeW9yIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBsb2FkIHNlY2NvbXAgcnVsZSIKKyN+IG1zZ3N0ciAiJXMgZHVydW0gYmlsZ2lsZXJpIGFsxLFuYW3EsXlvciIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGaWxlc3lzdGVtIGxhYmVsOiIKKyN+IG1zZ3N0ciAiRG9zeWEgc2lzdGVtaSB0w7xyw7xuw7wgdmVyaW46ICIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc2V0IFBBVEgiCisjfiBtc2dzdHIgIiVzIGR1cnVtIGJpbGdpbGVyaSBhbMSxbmFtxLF5b3IiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYXJndW1lbnQgZXJyb3I6ICVzIgorI34gbXNnc3RyICIlczogQXJnw7xtYW4gaGF0YXPEsSwga3VsbGFuxLFtxLFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0dHkgcGF0aCAlcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiR2lyZGkgc2F0xLFyxLEgw6dvayB1enVuLlxuIgorCisjfiBtc2dpZCAiYmFkIHRpbWVvdXQgdmFsdWU6ICVzIgorI34gbXNnc3RyICJ6YW1hbiBhxZ/EsW3EsSBkZcSfZXJpIGhhdGFsxLE6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIgorI34gbXNnc3RyICJlcmnFn2ltIGhhdGFzxLEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yOiBpZ25vcmUgZW50cnkgYXQgbGluZSAlZC4iCisjfiBtc2dzdHIgImVyacWfaW0gaGF0YXPEsSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgbm90IHNldHVwIHRpbWVyIgorI34gbXNnc3RyICJtb3VudDogaMSxeiBheWFybGFuYW3EsXlvcjogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2FtZSIKKyN+IG1zZ3N0ciAixLBzaW0iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGFjY2VzcyBmaWxlICVzIgorI34gbXNnc3RyICInJXMnIGRvc3lhc8SxIGHDp8SxbGFtxLF5b3IiCisKKyN+IG1zZ2lkICIlcyBpcyBub3QgYSBibG9jayBzcGVjaWFsIGRldmljZSIKKyN+IG1zZ3N0ciAiJXMgYmlyIGJsb2stw7Z6ZWwgYXlnxLF0IGRlxJ9pbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZGV2aWNlIGlzIG1pc2FsaWduZWQiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IGF5Z8SxdCBtZcWfZ3VsIgorCisjfiBtc2dpZCAiT1MvMiBoaWRkZW4gQzogZHJpdmUiCisjfiBtc2dzdHIgIk9TLzIgZ2l6bGkgQzogYXlnxLF0xLEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgZGV2aWNlIHBhdGgiCisjfiBtc2dzdHIgInRha2FzIGFsYW7EsW5kYSBiYcWfYSBnaWRpbGVtaXlvciIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5rbm93biBkZXZpY2UgbmFtZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzOiBheWfEsXQgYmlsaW5taXlvciIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGdldCBkbSBuYW1lIgorI34gbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyAgLiUwNmQgc2Vjb25kc1xuIgorI34gbXNnc3RyICIlcyAgJS42ZiBzYW5peWVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYWdlcyIKKyN+IG1zZ3N0ciAiaWxldGktc2F5xLFzxLEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlZlcnkgbG9uZyAoJXp1IGJ5dGVzKSBmaWxlbmFtZSBgJXMnIGZvdW5kLlxuIgorI34gIiBQbGVhc2UgaW5jcmVhc2UgTUFYX0lOUFVUX05BTUVMRU4gaW4gbWtjcmFtZnMuYyBhbmQgcmVjb21waWxlLiAgRXhpdGluZy4iCisjfiBtc2dzdHIgIiIKKyN+ICLDh29rIHV6dW4gKCV1IGJheXRsxLFrKSBkb3N5YSBpc21pIGAlcycgYnVsdW5kdS5cbiIKKyN+ICJta2NyYW1mcy5jIGnDp2luZGUgTUFYX0lOUFVUX05BTUVMRU4gZGXEn2VyaW5pIGFydHTEsXLEsW4gdmUgdGVrcmFyIGRlcmxleWluLiAgIMOHxLFrxLFsxLF5b3IuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgInRhYmxvbGFyIGnDp2luIHRhbXBvbiBiZWxsZWsgYXlyxLFsYW3EsXlvciIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlcnMgZm9yIG1hcHMiCisjfiBtc2dzdHIgInRhYmxvbGFyIGnDp2luIHRhbXBvbiBiZWxsZWsgYXlyxLFsYW3EsXlvciIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorI34gbXNnc3RyICJkw7zEn8O8bWxlciBpw6dpbiB0YW1wb24gYmVsbGVrIGF5csSxbGFtxLF5b3IiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTnVtYmVyIG9mIFNlbWFwaG9yZSBJRHMiCisjfiBtc2dzdHIgIlNla3TDtnIgc2F5xLFzxLEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstYyB8IC1sIGZpbGVuYW1lXSBbLW5YWF0gWy1pWFhdIC9kZXYvbmFtZSBbYmxvY2tzXSIKKyN+IG1zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFstYyB8IC1sIGRvc3lhaXNtaV0gWy1uWFhdIFstaVhYXSAvZGV2L2lzaW0gW2Jsb2tTYXnEsXPEsV1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogYmFkIGlub2RlIHNpemUiCisjfiBtc2dzdHIgImTDvMSfw7xtIHNhecSxc8SxIGhhdGFsxLEiCisKKyN+IG1zZ2lkICJ3aWxsIG5vdCB0cnkgdG8gbWFrZSBmaWxlc3lzdGVtIG9uICclcyciCisjfiBtc2dzdHIgIiclcycgw7x6ZXJpbmRlIGRvc3lhIHNpc3RlbWkgb2x1xZ90dXJtYXlhIMOnYWzEscWfxLFsbWF5YWNhayIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0eXBlOiAlZCIKKyN+IG1zZ3N0ciAidMO8csO8OiAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImRpc2s6ICUuKnMiCisjfiBtc2dzdHIgImRpc2s6ICUuKnNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsYWJlbDogJS4qcyIKKyN+IG1zZ3N0ciAiZXRpa2V0OiAlLipzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmxhZ3M6ICVzIgorI34gbXNnc3RyICJmbGFtYWxhcjoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYnl0ZXMvc2VjdG9yOiAlbGQiCisjfiBtc2dzdHIgImJheXQvc2VrdMO2cjogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VjdG9ycy90cmFjazogJWxkIgorI34gbXNnc3RyICJzZWt0w7ZyL2l6OiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmFja3MvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAiaXovc2lsaW5kaXI6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlY3RvcnMvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAic2VrdMO2ci9zaWxpbmRpcjogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3lsaW5kZXJzOiAlbGQiCisjfiBtc2dzdHIgInNpbGluZGlyIHNhecSxc8SxOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJycG06ICVkIgorI34gbXNnc3RyICJkZXZpciBzYXnEsXPEsTogJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnRlcmxlYXZlOiAlZCIKKyN+IG1zZ3N0ciAic2VycGnFn3Rpcm1lOiAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyYWNrc2tldzogJWQiCisjfiBtc2dzdHIgIml6a2F5bWFzxLE6ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3lsaW5kZXJza2V3OiAlZCIKKyN+IG1zZ3N0ciAic2lsaW5kaXJrYXltYXPEsTogJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJoZWFkc3dpdGNoOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgImthZmFkZcSfacWfaW1pICVsZFx0XHQjIG1pbGlzYW5peWVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmFjay10by10cmFjayBzZWVrOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgIml6ZGVuLWl6ZSBnZcOnacWfOiAlbGRcdCMgbWlsaXNhbml5ZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbnM6ICVkIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiJWQgZGlzayBiw7Zsw7xtw7w6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiWW91IGNhbm5vdCBjaGFuZ2UgYSBwYXJ0aXRpb24gaW50byBhbiBleHRlbmRlZCBvbmUgb3IgdmljZSB2ZXJzYS4gRGVsZXRlIGl0IGZpcnN0LiIKKyN+IG1zZ3N0ciAiIgorI34gIkJpciBkaXNrIGLDtmzDvG3DvG7DvCBiaXIgZWsgYsO2bMO8bcO8biBpw6dpbmRlIHlhIGRhIGhlcmhhbmdpIGJpciB5ZXJkZVxuIgorI34gImRlxJ9pxZ90aXJlbWV6c2luaXouIMOWbmNlIHNpbG1lbml6IGdlcmVraXIuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkxhYmVsIGdlb21ldHJ5OiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzXG4iCisjfiAiICAgICAgICAgICAgICAgICVsbHUgY3lsaW5kZXJzLCAlZCBwaHlzaWNhbCBjeWxpbmRlcnNcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWQgZXh0cmEgc2VjdHMvY3lsLCBpbnRlcmxlYXZlICVkOjFcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFNHSSBkaXNrIGV0aWtldGkpOiAlZCBrYWZhLCAlZCBzZWt0w7ZyXG4iCisjfiAiJWQgc2lsaW5kaXIsICVkIGZpemlrc2VsIHNpbGluZGlyXG4iCisjfiAiJWQgZWsgc2VrdMO2ci9zbGQsIHNlcnBpxZ90aXJtZSAlZDoxXG4iCisjfiAiJXNcbiIKKyN+ICJCaXJpbSA9ICVzICAoJWQgKiAlZCBiYXl0KVxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIjxub25lPiIKKyN+IG1zZ3N0ciAiSGnDp2JpcmkiCisKKyN+IG1zZ2lkICJnZXR0aW1lb2ZkYXkgZmFpbGVkIgorI34gbXNnc3RyICJnZXR0aW1lb2ZkYXkgYmHFn2FyxLFzxLF6IgorCisjLCBmdXp6eQorI34gbXNnaWQgInN5c2luZm8gZmFpbGVkIgorI34gbXNnc3RyICJmc3luYyBoYXRhIHZlcmRpIgorCisjfiBtc2dpZCAidXNhZ2U6IGxhc3QgWy0jXSBbLWYgZmlsZV0gWy10IHR0eV0gWy1oIGhvc3RuYW1lXSBbdXNlciAuLi5dXG4iCisjfiBtc2dzdHIgIkt1bGxhbsSxbcSxOiBsYXN0IFstI10gWy1mIGRvc3lhXSBbLXQgdHR5XSBbLWggbWFraW5hQWTEsV0gW2t1bGxhbsSxY8SxIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogbW1hcCBmYWlsZWQiCisjfiBtc2dzdHIgImVyacWfaW0gYmHFn2FyxLFzxLF6IgorCisjfiBtc2dpZCAiICBzdGlsbCBsb2dnZWQgaW4iCisjfiBtc2dzdHIgIiAgxZ91IGFuIHNpc3RlbWRlIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gInd0bXAgYmVnaW5zICVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAid3RtcCBrYXnEsXRsYXLEsW7EsW4gYmHFn2xhbmfEsWPEsTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZ2V0aG9zdG5hbWUgZmFpbGVkIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRG9zeWEga2FwYXTEsWzEsXJrZW4gaGF0YVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImludGVycnVwdGVkICUxMC4xMHMgJTUuNXMgXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJkdXJkdXJ1bGR1OiAlMTAuMTBzICU1LjVzIFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1hdXRvLy1hIG9wdGlvbiIKKyN+IG1zZ3N0ciAia2ltbGlrIGdlw6dlcnNpejogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiBjaGFuZ2UgdGhlIFN5c3RlbSBDbG9jay4iCisjfiBtc2dzdHIgIlNpc3RlbSBzYWF0aSBzYWRlY2Ugcm9vdCB0YXJhZsSxbmRhbiBkZcSfacWfdGlyaWxlYmlsaXIuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gY2hhbmdlIHRoZSBIYXJkd2FyZSBDbG9jayBlcG9jaCBpbiB0aGUga2VybmVsLiIKKyN+IG1zZ3N0ciAiw4dla2lyZGVrdGVraSBEb25hbsSxbSBTYWF0aSBkw7ZuZW1zZWxsaWsgZGXEn2VyaSBzYWRlY2Ugcm9vdCB0YXJhZsSxbmRhbiBkZcSfacWfdGlyaWxlYmlsaXIuXG4iCisKKyN+IG1zZ2lkICJyZWFkKCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCisjfiBtc2dzdHIgInJlYWQoKSAlcyBkZW4gc2FhdCBkYXJiZXNpIGJla2xlcmtlbiBoYXRhIHZlcmRpIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNldCBydGMgYWxhcm0gZmFpbGVkIgorI34gbXNnc3RyICJlcmnFn2ltIGJhxZ9hcsSxc8SxeiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJiYWQgdmFsdWUiCisjfiBtc2dzdHIgInphbWFuIGHFn8SxbcSxIGRlxJ9lcmkgaGF0YWzEsTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1tLCAtLW1vdW50ICAgICAgICAgICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgQnUgeWFyZMSxbSBpbGV0aXNpbmkgZ8O2c3RlcmlyXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC11LCAtLXV0cyAgICAgICAgICAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWksIC0taXBjICAgICAgICAgICAgICAgICB1bnNoYXJlIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBTw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbiwgLS1uZXQgICAgICAgICAgICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vcm1hbGRlIHZlcmlsZW4gw6fEsWt0xLEgdmVyaWxtZXpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgICAgICB1bnNoYXJlIHBpZCBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vcm1hbGRlIHZlcmlsZW4gw6fEsWt0xLEgdmVyaWxtZXpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVUsIC0tdXNlciAgICAgICAgICAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgU8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJW0iCisjfiBtc2dzdHIgIiVzIGHDp8SxbGFtxLF5b3IiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZnJlYWQgZmFpbGVkIgorI34gbXNnc3RyICIoU29ucmFraSBkb3N5YTogJXMpIgorCisjfiBtc2dpZCAiSGVscCBTY3JlZW4gZm9yIGNmZGlzayIKKyN+IG1zZ3N0ciAiY2ZkaXNrIFlhcmTEsW0gRWtyYW7EsSIKKworI34gbXNnaWQgImRpc2sgZHJpdmUuIgorI34gbXNnc3RyICIgIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGBubyciCisjfiBtc2dzdHIgIiAgICAgICAgICAgICB5YXpkxLFybWF5YWNhxJ/EsW7EsXphIGtlc2luIGthcmFyIHZlcmViaWxpcnNpbml6IgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRvbyBzbWFsbCBwYXJ0aXRpb24gc2l6ZSBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJBdGFubcSxxZ8gZGlzayBiw7Zsw7xtw7wgeW9rXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3RhdCBmYWlsZWQgJXMiCisjfiBtc2dzdHIgIihTb25yYWtpIGRvc3lhOiAlcykiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCisjfiBtc2dzdHIgIlRhbXBvbiBheXLEsWxhbWFkxLEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW46ICVzIgorI34gbXNnc3RyICIlcyBhw6fEsWxhbcSxeW9yIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGxzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGxlYXNlLCBzZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBkaXNrIGxhYmVsLiIKKyN+IG1zZ3N0ciAiQmlyIGRpc2sgZXRpa2V0aSBvbHXFn3R1cm1hayBpc3RlciBtaXNpbml6PyAoZS9oKSAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVHlwZSBvZiB0aGUgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorI34gbXNnc3RyICIlZCBkaXNrIGLDtmzDvG3DvG7DvG4gc2lzdGVtIHTDvHLDvCAleCAoJXMpIG9sYXJhayBkZcSfacWfdGlyaWxkaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiBtc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbc2XDp2VuZWtsZXJdIGF5Z8SxdCAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGZpbGVcbiIKKyN+IG1zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFtzZcOnZW5la2xlcl0gYXlnxLF0IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOlxuIgorI34gbXNnc3RyICJLdWxsYW7EsW3EsTpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG1rZnMoOCkuXG4iCisjfiBtc2dzdHIgIkt1bGxhbsSxY8SxIGJpbGdpbGVyaSBkZcSfacWfdGlyaWxkaS5cbiIKKworI34gbXNnaWQgIiVzICglcylcbiIKKyN+IG1zZ3N0ciAiJXM6ICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCYWQgc3dhcCBoZWFkZXIgc2l6ZSwgbm8gbGFiZWwgd3JpdHRlbi4iCisjfiBtc2dzdHIgIlRha2FzIGJhxZ9sxLHEn8SxIHV6dW5sdcSfdSBoYXRhbMSxLCBiaXIgZXRpa2V0IHlhesSxbG1hbcSxxZ8uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyAtIGNhbm5vdCBzZWVrIHRvICVsdSIKKyN+IG1zZ3N0ciAiJXMgw7x6ZXJpbmRlIGVyacWfaW0gaGF0YXPEsSAtICVsdSB5YSBlcmnFn2lsZW1peW9yXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBlcnJvcjogd2FudGVkIDB4JTA4eCUwOHgsIGdvdCAweCUwOHglMDh4IgorI34gbXNnc3RyICJlcmnFn2ltIGhhdGFzxLE6IDB4JTA4eCUwOHggaXN0ZW5kaSwgMHglMDh4JTA4eCBhbMSxbmTEsVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJlYWQgZXJyb3Igb24gJXMgLSBjYW5ub3QgcmVhZCBzZWN0b3IgJWxsdSIKKyN+IG1zZ3N0ciAiJXMgw7x6ZXJpbmRlIG9rdW1hIGhhdGFzxLEgLSAlbHUgc2VrdMO2csO8IG9rdW5hbcSxeW9yXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZXJyb3Igb24gJXMgLSBjYW5ub3Qgd3JpdGUgc2VjdG9yICVsbHUiCisjfiBtc2dzdHIgIiVzIMO8emVyaW5kZSB5YXptYSBoYXRhc8SxIC0gJWx1IHNla3TDtnLDvG5lIHlhesSxbGFtxLF5b3JcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBwYXJ0aXRpb24gc2VjdG9yIHNhdmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJkaXNrIGLDtmzDvG3DvCBzZWt0w7ZyIGthecSxdCBkb3N5YXPEsSAoJXMpIGHDp8SxbGFtxLF5b3JcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyIKKyN+IG1zZ3N0ciAiJXMgw7x6ZXJpbmRlIHlhem1hIGhhdGFzxLFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcykiCisjfiBtc2dzdHIgImRpc2sgYsO2bMO8bcO8IHRla3JhciBvbHXFn3R1cm1hIGRvc3lhc8SxICglcykgZHVydW0gYmlsZ2lsZXJpIGFsxLFuYW3EsXlvclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiByZXN0b3JlIGZpbGUgaGFzIHdyb25nIHNpemUgLSBub3QgcmVzdG9yaW5nIgorI34gbXNnc3RyICJkaXNrIGLDtmzDvG3DvCB0ZWtyYXIgb2x1xZ90dXJtYSBkb3N5YXPEsW7EsW4gdXp1bmx1xJ91IGhhdGFsxLEgLSB0ZWtyYXIgb2x1xZ90dXJ1bGFtxLF5b3JcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcykiCisjfiBtc2dzdHIgImRpc2sgYsO2bMO8bcO8IHRla3JhciBvbHXFn3R1cm1hIGRvc3lhc8SxICglcykgYcOnxLFsYW3EsXlvclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHJlYWRpbmcgJXMiCisjfiBtc2dzdHIgIiVzIG9rdW51cmtlbiBoYXRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gZGV2aWNlICVzIGZvciB3cml0aW5nIgorI34gbXNnc3RyICIlcyBheWfEsXTEsSB5YXrEsWxtYWsgw7x6ZXJlIGHDp8SxbGFtxLF5b3JcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciB3cml0aW5nIHNlY3RvciAlbHUgb24gJXMiCisjfiBtc2dzdHIgIiVsdSBzZWt0w7Zyw7xuw7wgJXMgw7x6ZXJpbmUgeWF6bWFkYSBoYXRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiRGlzayAlczogZ2VvbWV0cmkgYWzEsW5hbcSxeW9yXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBzaXplIgorI34gbXNnc3RyICJEaXNrICVzOiBib3l1IGFsxLFuYW3EsXlvclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzdGFydD0lbHUgLSB0aGlzIGxvb2tzIGxpa2UgYSBwYXJ0aXRpb24gcmF0aGVyIHRoYW5cbiIKKyN+ICJ0aGUgZW50aXJlIGRpc2suIFVzaW5nIGZkaXNrIG9uIGl0IGlzIHByb2JhYmx5IG1lYW5pbmdsZXNzLlxuIgorI34gIltVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIGlmIHlvdSByZWFsbHkgd2FudCB0aGlzXSIKKyN+IG1zZ3N0ciAiIgorI34gIlV5YXLEsTogYmHFn2xhbmfEscOnPSVsdSAtIGJ1IGRpc2tpbiB0YW1hbcSxIGRlxJ9pbCBkZSBiaXIgZGlzayBiw7Zsw7xtw7xcbiIKKyN+ICJnaWJpIGfDtnLDvG7DvHlvci4gZmRpc2sga3VsbGFubWFrIGFubGFtbMSxIG9sbWF5YWNhay5cbiIKKyN+ICJbQnVudSBtdXRsYWthIHlhcG1hayBpc3RpeW9yc2FuxLF6IC0tZm9yY2Ugc2XDp2VuZcSfaW5pIGt1bGxhbmFiaWxpcnNpbml6XVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGhlYWRzIgorI34gbXNnc3RyICJVeWFyxLE6IEhESU9fR0VUR0VPICVsdSBrYWZhIGJpbGRpcml5b3JcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBIRElPX0dFVEdFTyBzYXlzIHRoYXQgdGhlcmUgYXJlICVsdSBzZWN0b3JzIgorI34gbXNnc3RyICJVeWFyxLE6IEhESU9fR0VUR0VPICVsdSBzZWt0w7ZyIGJpbGRpcml5b3JcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBCTEtHRVRTSVpFL0hESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGN5bGluZGVycyIKKyN+IG1zZ3N0ciAiVXlhcsSxOiBCTEtHRVRTSVpFL0hESU9fR0VUR0VPICVsdSBzaWxpbmRpciBiaWxkaXJpeW9yXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHVubGlrZWx5IG51bWJlciBvZiBzZWN0b3JzICglbHUpIC0gdXN1YWxseSBhdCBtb3N0IDYzXG4iCisjfiAiVGhpcyB3aWxsIGdpdmUgcHJvYmxlbXMgd2l0aCBhbGwgc29mdHdhcmUgdGhhdCB1c2VzIEMvSC9TIGFkZHJlc3NpbmcuIgorI34gbXNnc3RyICIiCisjfiAiVXlhcsSxOiBzZWt0w7ZyIHNhecSxc8SxICglbHUpIGVuIGZhemxhIDYzIG9sYWJpbGVjZcSfaW5kZW4gcGVrIHNla3TDtnJcbiIKKyN+ICJzYXnEsXPEsW5hIGJlbnplbWl5b3IuIEJ1IGNocyBhZHJlc2xlbWUga3VsbGFuxLFsYW4geWF6xLFsxLFtbGFybGEgc29ydW4gw6fEsWthcsSxci5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbHUgY3lsaW5kZXJzLCAlbHUgaGVhZHMsICVsdSBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbHUgc2lsaW5kaXIsICVsdSBrYWZhLCAlbHUgc2VrdMO2ci9pelxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3IgaGVhZDogJWx1IChzaG91bGQgYmUgaW4gMC0lbHUpIgorI34gbXNnc3RyICIlcyAoJXMgZGlzayBiw7Zsw7xtw7xuZGVraSkgeWFubMSxxZ8ga2FmYSBzYXnEsXPEsSBpw6dlcml5b3I6ICVsdSAoMC0lbHUgYXJhc8SxbmRhIG9sbWFsxLF5ZMSxKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3Igc2VjdG9yOiAlbHUgKHNob3VsZCBiZSBpbiAxLSVsdSkiCisjfiBtc2dzdHIgIiVzICglcyBkaXNrIGLDtmzDvG3DvG5kZWtpKSB5YW5sxLHFnyBzZWt0w7ZyIHNhecSxc8SxIGnDp2VyaXlvcjogJWx1ICgxLSVsdSBhcmFzxLFuZGEgb2xtYWzEsXlkxLEpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBjeWxpbmRlcnM6ICVsdSAoc2hvdWxkIGJlIGluIDAtJWx1KSIKKyN+IG1zZ3N0ciAiJXMgKCVzIGRpc2sgYsO2bMO8bcO8bmRla2kpIHlhbmzEscWfIHNpbGluZGlyIHNhecSxc8SxIGnDp2VyaXlvcjogJWx1ICgwLSVsdSBhcmFzxLFuZGEgb2xtYWzEsXlkxLEpXG4iCisKKyN+IG1zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgLi4uXG4iCisjfiBtc2dzdHIgIkRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdSB5ZW5pZGVuIG9rdW51eW9yIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJUaGUgY29tbWFuZCB0byByZS1yZWFkIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLlxuIgorI34gIlJ1biBwYXJ0cHJvYmUoOCksIGtwYXJ0eCg4KSBvciByZWJvb3QgeW91ciBzeXN0ZW0gbm93LFxuIgorI34gImJlZm9yZSB1c2luZyBta2ZzIgorI34gbXNnc3RyICIiCisjfiAiRGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1bnVuIHllbmlkZW4gb2t1bm1hc8SxIGJhxZ9hcsSxbGFtYWTEsVxuIgorI34gIm1rZnMga3VsbGFuYWJpbG1layBpw6dpbiBzaXN0ZW1pIHllbmlkZW4gYmHFn2xhdG1hbMSxc8SxbsSxei5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJFcnJvciBjbG9zaW5nICVzIgorI34gbXNnc3RyICIlcyBrYXBhdMSxbMSxcmtlbiBoYXRhXG4iCisKKyN+IG1zZ2lkICIlczogbm8gc3VjaCBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiJXM6IGLDtnlsZSBiaXIgZGlzayBiw7Zsw7xtw7wgeW9rXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGZvcm1hdCAtIHVzaW5nIHNlY3RvcnMiCisjfiBtc2dzdHIgImJpw6dlbSBiaWxpbm1peW9yIC0gc2VrdMO2ciBzYXnEsXPEsSBrdWxsYW7EsWzEsXlvclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuaW1wbGVtZW50ZWQgZm9ybWF0IC0gdXNpbmcgJXMiCisjfiBtc2dzdHIgImRlc3Rla2xlbm1leWVuIGJpw6dlbSAtICVzIGt1bGxhbsSxbMSxeW9yXG4iCisKKyN+IG1zZ2lkICJzZWN0b3JzIgorI34gbXNnc3RyICJzZWt0w7ZyIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVbml0czogY3lsaW5kZXJzIG9mICVsdSBieXRlcywgYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gImJpcmltbGVyID0gJWx1IGJheXRsxLFrIHNpbGluZGlyLCAxMDI0IGJheXRsxLFrIGJsb2ssICVkJ2RlbiBiYcWfbGF5YXJha1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgU3RhcnQgICAgIEVuZCAgICNjeWxzICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaWxpbmRpciAgIGJsb2tcbiIKKyN+ICIgICBBeWfEsXQgw5ZueWtsIEJhbGFuZ8Sxw6cgQml0acWfIHNhecSxc8SxICAgc2F5xLFzxLFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IHNlY3RvcnMgb2YgNTEyIGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJiaXJpbWxlciA9IDUxMiBiYXl0bMSxayBzZWt0w7ZyLCAlZCdkZW4gYmHFn2xheWFyYWtcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290ICAgIFN0YXJ0ICAgICAgIEVuZCAgICNzZWN0b3JzICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgQXlnxLF0IMOWbnnDvGtsIEJhxZ9sYW5nxLHDpyAgIEJpdGnFnyAgIHNla3TDtnIgIEtpbWwgU2lzdGVtXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhecSxc8SxXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiYmlyaW0gPSAxMDI0IGJheXRsxLFrIGJsb2ssICVkJ2RlbiBiYcWfbGF5YXJha1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgICBTdGFydCAgICAgICBFbmQgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgIEF5Z8SxdCDDlm55w7xrbCBCYcWfbGFuZ8Sxw6cgICBCaXRpxZ8gICAgYmxvayAgICBLaW1sIFNpc3RlbVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhecSxc8SxXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiAxTWlCID0gMTAyNCoxMDI0IGJ5dGVzLCBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiYmlyaW1sZXIgPSAxMDQ4NTc2IGJheXRsxLFrIG1lYmliYXl0LCAxMDI0IGJheXRsxLFrIGJsb2ssICVkJ2RlbiBiYcWfbGF5YXJha1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgU3RhcnQgICBFbmQgICAgTWlCICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICBBeWfEsXQgw5ZuecO8ayBCYcWfbCAgIEJpdGnFnyAgICBNaUIgICAgIGJsb2sgICAgS2ltbCBTaXN0ZW1cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2F5xLFzxLFcbiIKKworI34gbXNnaWQgIlx0XHRzdGFydDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiXHRcdGJhxZ9sYW5nxLHDpzogKHNsZCxrYWZhLHNla3QpICglbGQsJWxkLCVsZCkgZ2VyZWtpcmtlbiAoJWxkLCVsZCwlbGQpIGJ1bHVuZHVcbiIKKworI34gbXNnaWQgIlx0XHRlbmQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpXG4iCisjfiBtc2dzdHIgIlx0XHRiaXRpxZ86IChzbGQsa2FmYSxzZWt0KSAoJWxkLCVsZCwlbGQpIGdlcmVraXJrZW4gKCVsZCwlbGQsJWxkKSBidWx1bmR1XG4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gZW5kcyBvbiBjeWxpbmRlciAlbGQsIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBkaXNrXG4iCisjfiBtc2dzdHIgImRpc2sgYsO2bMO8bcO8IGRpc2sgc29udW5kYW4gc29ucmEsICVsZC4gc2lsaW5kaXJkZSBiaXRpeW9yXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IFRoZSBwYXJ0aXRpb24gdGFibGUgbG9va3MgbGlrZSBpdCB3YXMgbWFkZVxuIgorI34gIiAgZm9yIEMvSC9TPSovJWxkLyVsZCAoaW5zdGVhZCBvZiAlbGQvJWxkLyVsZCkuXG4iCisjfiAiRm9yIHRoaXMgbGlzdGluZyBJJ2xsIGFzc3VtZSB0aGF0IGdlb21ldHJ5LiIKKyN+IG1zZ3N0ciAiIgorI34gIlV5YXLEsTogRGlzayBiw7Zsw7xtw7xuw7xuIHNsZC9rYWZhL3Nla3Qgc8SxcmFsYW1hc8SxICovJWxkLyVsZFxuIgorI34gIiglbGQvJWxkLyVsZCB5ZXJpbmUpIHlhcMSxbG3EscWfIGfDtnLDvG7DvHlvci5cbiIKKyN+ICJCdSBsaXN0ZWxlbWUgYnUgZ2VvbWV0cml5bGUga2FidWwgZWRpbGl5b3IuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibm8gcGFydGl0aW9uIHRhYmxlIHByZXNlbnQuIgorI34gbXNnc3RyICJkaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3UgeW9rLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInN0cmFuZ2UsIG9ubHkgJWQgcGFydGl0aW9ucyBkZWZpbmVkLiIKKyN+IG1zZ3N0ciAidHVoYWYsIHNhZGVjZSAlZCBkaXNrIGLDtmzDvG3DvCBhdGFubcSxxZ8uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYnV0IGlzIG5vdCBtYXJrZWQgRW1wdHkiCisjfiBtc2dzdHIgIlV5YXLEsTogJXMgZGlzayBiw7Zsw7xtw7wgc8SxZsSxciB1enVubHVrdGEgYW1hIGJvxZ8gb2xhcmFrIGltbGkgZGXEn2lsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIGlzIGJvb3RhYmxlIgorI34gbXNnc3RyICJVeWFyxLE6ICVzIGRpc2sgYsO2bMO8bcO8IHPEsWbEsXIgdXp1bmx1a3RhIHZlIMO2bnnDvGtsZW5lYmlsaXJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBhbmQgbm9uemVybyBzdGFydCIKKyN+IG1zZ3N0ciAiVXlhcsSxOiAlcyBkaXNrIGLDtmzDvG3DvCBzxLFmxLFyIHV6dW5sdWt0YSB2ZSBiYcWfbGFuZ8SxY8SxIDAgZGEgZGXEn2lsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGlzIG5vdCBjb250YWluZWQgaW4gcGFydGl0aW9uICVzIgorI34gbXNnc3RyICIlcyBkaXNrIGLDtmzDvG3DvG5kZSBkZcSfaWxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb25zICVzIGFuZCAlcyBvdmVybGFwIgorI34gbXNnc3RyICJVeWFyxLE6ICVkIGRpc2sgYsO2bMO8bcO8IGJvxZ9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogcGFydGl0aW9uICVzIGNvbnRhaW5zIHBhcnQgb2YgdGhlIHBhcnRpdGlvbiB0YWJsZSAoc2VjdG9yICVsbHUpLFxuIgorI34gImFuZCB3aWxsIGRlc3Ryb3kgaXQgd2hlbiBmaWxsZWQiCisjfiBtc2dzdHIgIiIKKyN+ICJVeWFyxLE6ICVzIGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdW51biBiaXIga8Sxc23EsW7EsSBpw6dlcmRpxJ9pbmRlbiAoc2VrdMO2ciAlbHUpXG4iCisjfiAiZG9sZHXEn3VuZGEgb251IGJvemFjYWtcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgc3RhcnRzIGF0IHNlY3RvciAwIgorI34gbXNnc3RyICJVeWFyxLE6ICVzIGRpc2sgYsO2bMO8bcO8IDAuIHNla3TDtnJkZSBiYcWfbMSxeW9yXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGV4dGVuZHMgcGFzdCBlbmQgb2YgZGlzayIKKyN+IG1zZ3N0ciAiVXlhcsSxOiAlcyBkaXNrIGLDtmzDvG3DvCBkaXNrIHNvbnVudSBhxZ/EsXlvclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJBbW9uZyB0aGUgcHJpbWFyeSBwYXJ0aXRpb25zLCBhdCBtb3N0IG9uZSBjYW4gYmUgZXh0ZW5kZWRcbiIKKyN+ICIgKGFsdGhvdWdoIHRoaXMgaXMgbm90IGEgcHJvYmxlbSB1bmRlciBMaW51eCkiCisjfiBtc2dzdHIgIiIKKyN+ICJCaXJpbmNpbCBkaXNrIGLDtmzDvG1sZXJpbmRlbiBlbiDDp29rIGJpcmkgZWsgZGlzayBiw7Zsw7xtw7xuZGUgYnVsdW5hYmlsaXIuXG4iCisjfiAiICjFnsO8cGhlc2l6IExpbnV4IGFsdMSxbmRhIGJ1IGJpciBzb3J1biBkZcSfaWxkaXIpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGRvZXMgbm90IHN0YXJ0IGF0IGEgY3lsaW5kZXIgYm91bmRhcnkiCisjfiBtc2dzdHIgIlV5YXLEsTogJXMgZGlzayBiw7Zsw7xtw7wgYmlyIHNpbGluZGlyIHPEsW7EsXLEsW5kYW4gYmHFn2xhbcSxeW9yXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGRvZXMgbm90IGVuZCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5IgorI34gbXNnc3RyICJVeWFyxLE6ICVzIGRpc2sgYsO2bMO8bcO8IGJpciBzaWxpbmRpciBzxLFuxLFyxLFuZGEgYml0bWl5b3JcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogbW9yZSB0aGFuIG9uZSBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLiIKKyN+IG1zZ3N0ciAiIgorI34gIlV5YXLEsTogYmlyZGVuIGZhemxhIGRpc2sgYsO2bMO8bcO8IMO2bnnDvGtsZW1lIGZsYW1hc8SxIGnDp2VyaXlvci5cbiIKKyN+ICJCdSBMSUxPIGnDp2luIHNvcnVuIHlhcmF0bWF6IGFtYSBET1MgTUJSIGJ1IGRpc2tpIMOnYWzEscWfdMSxcmFtYXouXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHVzdWFsbHkgb25lIGNhbiBib290IGZyb20gcHJpbWFyeSBwYXJ0aXRpb25zIG9ubHlcbiIKKyN+ICJMSUxPIGRpc3JlZ2FyZHMgdGhlIGBib290YWJsZScgZmxhZy4iCisjfiBtc2dzdHIgIiIKKyN+ICJVeWFyxLE6IGJpcmluY2lsIGRpc2sgYsO2bMO8bWxlcmluZGVuIHNhZGVjZSBiaXIgdGFuZXNpIMO2bnnDvGtsZW5lYmlsaXIsXG4iCisjfiAiTElMTyBgYm9vdGFibGUnIGZsYW1hc8SxbmEgYWxkxLFybWF6LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBubyBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLiIKKyN+IG1zZ3N0ciAiIgorI34gIlV5YXLEsSBoacOnYmlyIGRpc2sgYsO2bMO8bcO8IMO2bnnDvGtsZW1lIGJheXJhxJ/EsSBpw6dlcm1peW9yXG4iCisjfiAiQnUgTElMTyBpw6dpbiBzb3J1biBvbHXFn3R1cm1heiBhbWEgRE9TIE1CUiBidSBkaXNraSDDp2FsxLHFn3TEsXJhbWF6LlxuIgorCisjfiBtc2dpZCAic3RhcnQiCisjfiBtc2dzdHIgImJhxZ9sYW5nxLHDpyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKSIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBiYcWfbGFuZ8Sxw6c6IChzbGQsa2FmYSxzZWt0KSBzxLFyYXPEsXlsYSAoJWxkLCVsZCwlbGQpIG9sbWFsxLF5ZMSxXG4iCisjfiAiKCVsZCwlbGQsJWxkKSBidWx1bmR1XG4iCisKKyN+IG1zZ2lkICJlbmQiCisjfiBtc2dzdHIgImJpdGnFnyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgIiIKKyN+ICIlczogYml0acWfOiAoc2xkLGthZmEsc2VrdCkgc8SxcmFzxLF5bGEgKCVsZCwlbGQsJWxkKSBvbG1hbMSxeWTEsVxuIgorI34gIiglbGQsJWxkLCVsZCkgYnVsdW5kdVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiAlcyBlbmRzIG9uIGN5bGluZGVyICVsZCwgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGRpc2siCisjfiBtc2dzdHIgIiVzIGRpc2tpbiBzb251bnUgYcWfYXJhayAlbGQuIHNpbGluZGlyZGUgYml0aXlvclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzaGlmdGVkIHN0YXJ0IG9mIHRoZSBleHRkIHBhcnRpdGlvbiBmcm9tICVsbGQgdG8gJWxsZFxuIgorI34gIihGb3IgbGlzdGluZyBwdXJwb3NlcyBvbmx5LiBEbyBub3QgY2hhbmdlIGl0cyBjb250ZW50cy4pIgorI34gbXNnc3RyICIiCisjfiAiVXlhcsSxOiBlayBkaXNrIGLDtmzDvG3DvG7DvG4gYmHFn2xhbmfEsWPEsSAlbGQgZGVuICVsZCB5ZSBrYXlkxLFyxLFsZMSxXG4iCisjfiAiKFNhZGVjZSBsaXN0ZSB1eXVtbHVsdcSfdSBpw6dpbi4gxLDDp2VyacSfaSBkZcSfacWfbWl5b3IuKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBleHRlbmRlZCBwYXJ0aXRpb24gZG9lcyBub3Qgc3RhcnQgYXQgYSBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+ICJET1MgYW5kIExpbnV4IHdpbGwgaW50ZXJwcmV0IHRoZSBjb250ZW50cyBkaWZmZXJlbnRseS4iCisjfiBtc2dzdHIgIiIKKyN+ICJVeWFyxLE6IGVrIGRpc2sgYsO2bMO8bcO8IGJpciBzaWxpbmRpciBzxLFuxLFyxLFuZGEgYmHFn2xhbcSxeW9yLlxuIgorI34gIkRPUyB2ZSBMaW51eCBpw6dlcmlrbGVyaSBmYXJrbMSxIHlvcnVtbGF5YWNha3TEsXIuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRVJST1I6IHNlY3RvciAlbGx1IGRvZXMgbm90IGhhdmUgYW4gbXNkb3Mgc2lnbmF0dXJlIgorI34gbXNnc3RyICJIQVRBOiAlbHUgc2VrdMO2csO8IG1zZG9zIGltemFzxLEgdGHFn8SxbcSxeW9yXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidG9vIG1hbnkgcGFydGl0aW9ucyAtIGlnbm9yaW5nIHRob3NlIHBhc3QgbnIgKCV6dSkiCisjfiBtc2dzdHIgImRpc2sgYsO2bMO8bcO8IHNhecSxc8SxIMOnb2sgZmF6bGEgLSBCdSBzb251bmN1c3UgKCVkKSBkaXNrIGLDtmzDvG3DvFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyZWUgb2YgcGFydGl0aW9ucz8iCisjfiBtc2dzdHIgImHEn2FjxLFuZGEgeW9rIHNhecSxbHPEsW4gbcSxP1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImRldGVjdGVkIERpc2sgTWFuYWdlciAtIHVuYWJsZSB0byBoYW5kbGUgdGhhdCIKKyN+IG1zZ3N0ciAiRGlzayB5w7ZuZXRpY2lzaSBzYXB0YWTEsSAtIGJ1bHVuYW4gRE02IGltemFzxLFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJETTYgc2lnbmF0dXJlIGZvdW5kIC0gZ2l2aW5nIHVwIgorI34gbXNnc3RyICJpbGUgw6dhbMSxxZ/EsWxhbcSxeW9yIC0gYsSxcmFrxLFsxLF5b3JcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdHJhbmdlLi4uLCBhbiBleHRlbmRlZCBwYXJ0aXRpb24gb2Ygc2l6ZSAwPyIKKyN+IG1zZ3N0ciAidHVoYWYuLi4sIHPEsWbEsXIgdXp1bmx1a3RhIGJpciBlayBkaXNrIGLDtmzDvG3DvD9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdHJhbmdlLi4uLCBhIEJTRCBwYXJ0aXRpb24gb2Ygc2l6ZSAwPyIKKyN+IG1zZ3N0ciAidHVoYWYuLi4sIHPEsWbEsXIgdXp1bmx1a3RhIGJpciBCU0QgZGlzayBiw7Zsw7xtw7w/XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLW4gZmxhZyB3YXMgZ2l2ZW46IE5vdGhpbmcgY2hhbmdlZCIKKyN+IG1zZ3N0ciAiLW4gZmxhbWFzxLEgdmVyaWxtacWfOiBIacOnYmlyIMWfZXkgZGXEn2nFn21lZGlcbiIKKworI34gbXNnaWQgIkZhaWxlZCBzYXZpbmcgdGhlIG9sZCBzZWN0b3JzIC0gYWJvcnRpbmdcbiIKKyN+IG1zZ3N0ciAiRXNraSBzZWt0w7ZybGVyZSB5YXptYWRhIGJhxZ9hcsSxc8SxemzEsWsgLSDDp8Sxa8SxbMSxeW9yXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmFpbGVkIHdyaXRpbmcgdGhlIHBhcnRpdGlvbiBvbiAlcyIKKyN+IG1zZ3N0ciAiJXMgZGlzayBiw7Zsw7xtw7xuZSB5YXphcmtlbiBoYXRhIG9sdcWfdHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsb25nIG9yIGluY29tcGxldGUgaW5wdXQgbGluZSAtIHF1aXR0aW5nIgorI34gbXNnc3RyICJ1enVuIHZlIGVrc2lrIGdpcmRpIHNhdMSxcsSxIC0gw6fEsWvEsWzEsXlvclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImlucHV0IGVycm9yOiBgPScgZXhwZWN0ZWQgYWZ0ZXIgJXMgZmllbGQiCisjfiBtc2dzdHIgImdpcmRpIGhhdGFzxLE6ICVzIGFsYW7EsW5kYW4gc29ucmEgYmlyIGA9JyBnZXJla2xpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW5wdXQgZXJyb3I6IHVuZXhwZWN0ZWQgY2hhcmFjdGVyICVjIGFmdGVyICVzIGZpZWxkIgorI34gbXNnc3RyICJnaXJkaSBoYXRhc8SxOiAlYyBrYXJha3RlcmkgZ2VyZWtzaXogKCVzIGFsYW7EsW5kYW4gc29ucmEpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGlucHV0OiAlcyIKKyN+IG1zZ3N0ciAiYW5sYcWfxLFsbWF5YW4gZ2lyZGk6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibnVtYmVyIHRvbyBiaWciCisjfiBtc2dzdHIgInNhecSxIMOnb2sgYsO8ecO8a1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyYWlsaW5nIGp1bmsgYWZ0ZXIgbnVtYmVyIgorI34gbXNnc3RyICJzYXnEsWRhbiBzb25yYXPEsW5kYSBzw7xwcsO8bnTDvFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5vIHJvb20gZm9yIHBhcnRpdGlvbiBkZXNjcmlwdG9yIgorI34gbXNnc3RyICJkaXNrIGLDtmzDvG3DvCBiZXRpbWxleWljaSBpw6dpbiB5ZXIgeW9rXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGJ1aWxkIHN1cnJvdW5kaW5nIGV4dGVuZGVkIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAia3XFn2F0YW4gZWsgZGlzayBiw7Zsw7xtw7wga3VyZ3VsYW5hbcSxeW9yXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidG9vIG1hbnkgaW5wdXQgZmllbGRzIgorI34gbXNnc3RyICJnaXJkaSBhbGFubGFyxLEgw6dvayBmYXpsYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vIHJvb20gZm9yIG1vcmUiCisjfiBtc2dzdHIgIkRhaGEgZmF6bGEgeWVyIHlva1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIklsbGVnYWwgdHlwZSIKKyN+IG1zZ3N0ciAiS3VyYWxkxLHFn8SxIHTDvHJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBnaXZlbiBzaXplICglbGx1KSBleGNlZWRzIG1heCBhbGxvd2FibGUgc2l6ZSAoJWxsdSkiCisjfiBtc2dzdHIgIlV5YXLEsTogYmVsaXJ0aWxlbiAoJWx1KSB1enVubHVrLCBpemluIHZlcmlsZW4gKCVsdSkgdXp1bmx1a3RhbiBmYXpsYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiVXlhcsSxOiBib8WfIGRpc2sgYsO2bMO8bcO8XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogYmFkIHBhcnRpdGlvbiBzdGFydCAoZWFybGllc3QgJWxsdSkiCisjfiBtc2dzdHIgIlV5YXLEsTogZGlzayBiw7Zsw7xtw7wgYmHFn2xhbmfEsWPEsSBoYXRhbMSxIChlbiBlcmtlbiAlbHUpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGJvb3RhYmxlIGZsYWcgLSBjaG9vc2UgLSBvciAqIgorI34gbXNnc3RyICJhbmxhxZ/EsWxtYXlhbiDDtm55w7xrbGVtZSBmbGFtYXPEsTsgLSB5YSBkYSAqIHNlw6dpbml6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGlhbCBjLGgscyBzcGVjaWZpY2F0aW9uPyIKKyN+IG1zZ3N0ciAia8Sxc21pIHNsZCxrYWZhLHNla3Qgw7Z6ZWxsaWtsZXJpP1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBub3Qgd2hlcmUgZXhwZWN0ZWQiCisjfiBtc2dzdHIgIkVrIGRpc2sgYsO2bMO8bcO8IGdlcmVrZW4geWVyZGUgZGXEn2lsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIGlucHV0IgorI34gbXNnc3RyICJnaXJkaSBoYXRhbMSxXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidG9vIG1hbnkgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiw6dvayBmYXpsYSBkaXNrIGLDtmzDvG3DvCB2YXJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiSW5wdXQgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ7IGFic2VudCBmaWVsZHMgZ2V0IGEgZGVmYXVsdCB2YWx1ZS5cbiIKKyN+ICI8c3RhcnQ+IDxzaXplPiA8dHlwZSBbRSxTLEwsWCxoZXhdPiA8Ym9vdGFibGUgWy0sKl0+IDxjLGgscz4gPGMsaCxzPlxuIgorI34gIlVzdWFsbHkgeW91IG9ubHkgbmVlZCB0byBzcGVjaWZ5IDxzdGFydD4gYW5kIDxzaXplPiAoYW5kIHBlcmhhcHMgPHR5cGU+KS4iCisjfiBtc2dzdHIgIiIKKyN+ICJHaXJkaSBiacOnZW1pIGHFn2HEn8SxZGFraSBnaWJpZGlyOyB2ZXJpbG1leWVuIGFsYW5sYXJhIMO2bnRhbsSxbWzEsSBkZcSfZXJsZXIgYXRhbsSxci5cbiIKKyN+ICI8YmHFn2xhbmfEscOnPiA8dXp1bmx1az4gPHTDvHLDvCBbRSxTLEwsWCxoZXhdPiA8w7ZuecO8a2xlbWUgWy0sKl0+XG4iCisjfiAiPHNsZCxrYWZhLHNla3Q+IDxzbGQsa2FmYSxzZWt0PlxuIgorI34gIkdlbmVsbGlrbGUgPGJhxZ9sYW5nxLHDpz4gdmUgPHV6dW5sdWs+IGRlxJ9lcmxlcmkgKHZlIHRhYmlpIGtpIDx0w7xyw7w+KVxuIgorI34gImJlbGlydG1layB5ZXRlcmxpZGlyLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT4uLi5cbiIKKyN+IG1zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFtzZcOnZW5la2xlcl0gYXlnxLF0IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEYW5nZXJvdXMgb3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAidGVobGlrZWxpIHNlw6dlbmVrbGVyOiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgICAgICAgcHJpbnQgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIGdlb21ldHJ5XG4iCisjfiAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgcHJpbnQgZ2VvbWV0cnkgZ3Vlc3NlZCBmcm9tIHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+IG1zZ3N0ciAiICAgIC1HIFt2ZXlhIC0tc2hvdy1wdC1nZW9tZXRyeV06IGLDtmzDvG1sZW1lIHRhYmxvc3VuZGFuIGFsxLFuYW4gZ2VvbWV0cml5aSBiYXNhciIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1BLCAtLWFjdGl2YXRlWz08ZGV2aWNlPl0gYWN0aXZhdGUgdGhlIGJvb3RhYmxlIGZsYWdcbiIKKyN+ICIgLVUsIC0tdW5oaWRlWz08ZGV2aWNlPl0gICBzZXQgcGFydGl0aW9uIGFzIHVuaGlkZGVuXG4iCisjfiAiIC14LCAtLXNob3ctZXh0ZW5kZWQgICAgICAgYWxzbyBsaXN0IGV4dGVuZGVkIHBhcnRpdGlvbnMgaW4gdGhlIG91dHB1dCxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIGV4cGVjdCBkZXNjcmlwdG9ycyBmb3IgdGhlbSBpbiB0aGUgaW5wdXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAteCAgLS1zaG93LWV4dGVuZGVkIGVrIGRpc2sgYsO2bMO8bWxlcmluaSBnw7ZzdGVyaXIgdmVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBiZXRpbWxleWljaWxlcmkgacOnaW4gZ2lyZGkgYmVrbGVyIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyVzZGV2aWNlICAgICAgICAgICAgbGlzdCBhY3RpdmUgcGFydGl0aW9ucyBvbiBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiJXMgYXlnxLF0XHRcdCBheWfEsXQgw7xzdMO8bmRla2kgZXRraW4gZGlzayBiw7Zsw7xtbGVyaW5pIGfDtnN0ZXJpclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyVzZGV2aWNlIG4xIG4yIC4uLiAgYWN0aXZhdGUgcGFydGl0aW9ucyBuMSAuLi4sIGluYWN0aXZhdGUgdGhlIHJlc3RcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzIGF5Z8SxdCBuMSBuMiAuLi4gbjEsIG4yIGlsZSBiZWxpcnRpbGVuIGRpc2sgYsO2bMO8bWxlcmkgZXRraW5sZcWfdGlyaWxpcixcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgZGnEn2VybGVyaSBldGtpc2l6bGXFn3RpcmlsaXJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiBwYXJ0aXRpb25zIGFyZ3VtZW50IgorI34gbXNnc3RyICJgJXMnIGdlw6dlcnNpeiBzYXnEsVxuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiJXMgYcOnxLFsYW3EsXlvclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1wcmludC1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciIKKyN+IG1zZ3N0ciAiS3VsbGFuxLFtxLE6IHNmZGlzayAtLXByaW50LWlkIGF5Z8SxdCBkaXNrLWLDtmzDvG3DvC1udW1hcmFzxLFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0tY2hhbmdlLWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyIElkIgorI34gbXNnc3RyICJrdWxsYW7EsW3EsTogc2ZkaXNrIC0tY2hhbmdlLWlkIGF5Z8SxdCBkaXNrLWLDtmzDvG3DvC1udW1hcmFzxLEga2ltbGlrXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyIFtJZF0iCisjfiBtc2dzdHIgImt1bGxhbsSxbcSxOiBzZmRpc2sgLS1pZCBheWfEsXQgZGlzay1iw7Zsw7xtw7wtbnVtYXJhc8SxIFtraW1saWtdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2FuIHNwZWNpZnkgb25seSBvbmUgZGV2aWNlIChleGNlcHQgd2l0aCAtbCBvciAtcykiCisjfiBtc2dzdHIgInNhZGVjZSBiaXIgYXlnxLF0IGJlbGlydGlsZWJpbGlyICgtbCB5YSBkYSAtcyBpbGUgZ2VyZWtpcilcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyByZWFkLXdyaXRlIgorI34gbXNnc3RyICIlcyBva3UteWF6IGHDp8SxbGFtxLF5b3JcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyBmb3IgcmVhZGluZyIKKyN+IG1zZ3N0ciAiJXMgb2t1bWFrIGnDp2luIGHDp8SxbGFtxLF5b3JcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogT0siCisjfiBtc2dzdHIgIiVzOiBUQU1BTVxuIgorCisjfiBtc2dpZCAiJXM6ICVsZCBjeWxpbmRlcnMsICVsZCBoZWFkcywgJWxkIHNlY3RvcnMvdHJhY2tcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCBzaWxpbmRpciwgJWxkIGthZmEsICVsZCBzZWt0w7ZyL2l6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIGFjdGl2ZSBieXRlOiAweCV4IGluc3RlYWQgb2YgMHg4MCIKKyN+IG1zZ3N0ciAiaGF0YWzEsSBldGtpbiBiYXl0OiAweDgwIHllcmluZSAweCV4XG4iCisKKyN+IG1zZ2lkICJEb25lIgorI34gbXNnc3RyICJUYW1hbSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiWW91IGhhdmUgJWQgYWN0aXZlIHByaW1hcnkgcGFydGl0aW9ucy4gVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sXG4iCisjfiAiYnV0IHRoZSBET1MgTUJSIHdpbGwgb25seSBib290IGEgZGlzayB3aXRoIDEgYWN0aXZlIHBhcnRpdGlvbi4iCisjfiBtc2dzdHIgIiIKKyN+ICIlZCBldGtpbiBiaXJpbmNpbCBkaXNrIGLDtmzDvG3DvCB2YXIuIEJ1IExJTE8gacOnaW4gc29ydW4gb2xtYW1ha2xhIGJlcmFiZXJcbiIKKyN+ICJET1MgTUJSIHNhZGVjZSAxIGV0a2luIGRpc2sgYsO2bMO8bcO8IMO2bnnDvGtsZW1lc2kgeWFwYWJpbGlyLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiAlcyBoYXMgaWQgJXggYW5kIGlzIG5vdCBoaWRkZW4iCisjfiBtc2dzdHIgIiVzIGRpc2sgYsO2bMO8bcO8bsO8biBraW1sacSfaSAleCB2ZSBnaXpsaSBkZcSfaWxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCYWQgSWQgJWx4IgorI34gbXNnc3RyICJLaW1saWsgJWx4IGhhdGFsxLFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZS4iCisjfiBtc2dzdHIgIkJ1IGRpc2sgxZ91IGFuIGt1bGxhbsSxbMSxeW9yLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhdGFsIGVycm9yOiBjYW5ub3QgZmluZCAlcyIKKyN+IG1zZ3N0ciAiw5Zsw7xtY8O8bCBoYXRhOiAlcyBidWx1bmFtxLF5b3JcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIlV5YXLEsTogJXMgYmlyIGJsb2sgYXlnxLF0xLEgZGXEn2lsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiT0siCisjfiBtc2dzdHIgIlRBTUFNXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGRvZXMgbm90IGV4aXN0LCBjYW5ub3QgY2hhbmdlIGl0IgorI34gbXNnc3RyICIlZC4gZGlzayBiw7Zsw7xtw7wgb2xtYWTEscSfxLFuZGFuIGdlw6dpbGVtaXlvclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJJIGRvbid0IGxpa2UgdGhlc2UgcGFydGl0aW9ucyAtIG5vdGhpbmcgY2hhbmdlZC5cbiIKKyN+ICIoSWYgeW91IHJlYWxseSB3YW50IHRoaXMsIHVzZSB0aGUgLS1mb3JjZSBvcHRpb24uKSIKKyN+IG1zZ3N0ciAiIgorI34gIkJ1IGRpc2sgYsO2bMO8bWxlcmluZGUgaGnDpyBiaXIgZGXEn2nFn2lrbGlrIHlhcMSxbG1hZMSxLlxuIgorI34gIihCdW51IGdlcsOnZWt0ZW4gaXN0aXlvcnNhbsSxeiAtLWZvcmNlIHNlw6dlbmXEn2luaSBrdWxsYW7EsW4uKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkkgZG9uJ3QgbGlrZSB0aGlzIC0gcHJvYmFibHkgeW91IHNob3VsZCBhbnN3ZXIgTm8iCisjfiBtc2dzdHIgIlV5Z3VsYW5hbcSxeW9yIC0gc2l6IGRlIEhhecSxciBkZXJkaW5peiwgYsO8ecO8ayBpaHRpbWFsbGVcbiIKKworI34gbXNnaWQgIkFyZSB5b3Ugc2F0aXNmaWVkIHdpdGggdGhpcz8gW3lucV0gIgorI34gbXNnc3RyICJCdW5kYW4gbWVtbnVuIG11c3VudXo/IFtlaHNdICIKKworIywgZnV6enkKKyN+IG1zZ2lkICJRdWl0dGluZyAtIG5vdGhpbmcgY2hhbmdlZCIKKyN+IG1zZ3N0ciAiw4fEsWvEsWzEsXlvciAtIERlxJ9pxZ9pa2xpayB5b2tcbiIKKworI34gbXNnaWQgIlBsZWFzZSBhbnN3ZXIgb25lIG9mIHksbixxXG4iCisjfiBtc2dzdHIgIkzDvHRmZW4gZSwgaCwgcyBoYXJmbGVyaW5kZW4gYmlyaSBpbGUgeWFuxLF0bGF5xLFuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiU3VjY2Vzc2Z1bGx5IHdyb3RlIHRoZSBuZXcgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJZZW5pIGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdSBiYcWfYXLEsXlsYSB5YXrEsWxkxLFcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiSWYgeW91IGNyZWF0ZWQgb3IgY2hhbmdlZCBhIERPUyBwYXJ0aXRpb24sIC9kZXYvZm9vNywgc2F5LCB0aGVuIHVzZSBkZCgxKVxuIgorI34gInRvIHplcm8gdGhlIGZpcnN0IDUxMiBieXRlczogIGRkIGlmPS9kZXYvemVybyBvZj0vZGV2L2ZvbzcgYnM9NTEyIGNvdW50PTFcbiIKKyN+ICIoU2VlIGZkaXNrKDgpLikiCisjfiBtc2dzdHIgIiIKKyN+ICJCaXIgRE9TIGRpc2sgYsO2bMO8bcO8bsO8ICjDtnJuLiAvZGV2L2ZvbzcpIG9sdcWfdHVyZHV5c2FuxLF6IHlhIGRhIGRlxJ9pxZ90aXJkaXlzZW5pelxuIgorI34gImlsayA1MTIgYmF5dMSxbsSxIHPEsWbEsXJsYW1hayBpw6dpbiBkZCBrdWxsYW7EsW46XG4iCisjfiAiZGQgaWY9L2Rldi96ZXJvIG9mPS9kZXYvZm9vNyBicz01MTIgY291bnQ9MVxuIgorI34gIihkYWhhIGZhemxhIGJpbGdpIGnDp2luOiBmZGlzayg4KS4pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogIC0tYWRqdXN0IHZlIC0tbm9hZGpmaWxlIHNlw6dlbmVrbGVyaSBiaXJiaXJpeWxlIMOnZWxpxZ9pci5cbiIKKyN+ICJTaXogaWtpc2luaSBkZSBiZWxpcnRtacWfc2luaXouXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnkgRE9TIDYueCBwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBmZGlzayBkb2N1bWVudGF0aW9uIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlVZQVJJOiBIZXJoYW5naSBiaXIgRE9TIDYueCBiw7Zsw7xtw7xuw7wgb2x1xZ90dXJkdXlzYW7EsXogeWEgZGFcbiIKKyN+ICJkZcSfacWfaWtsaWsgeWFwdMSxeXNhbsSxeiwgbMO8dGZlbiBjZmRpc2sgbWFuIHNheWZhbGFyxLFuZGFraVxuIgorI34gImVrIGJpbGdpbGVyaSBva3V5dW4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmllbGQgaXMgdG9vIGxvbmciCisjfiBtc2dzdHIgImFsYW4gw6dvayB1enVuLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiAnJWMnIGlzIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICIlczogJyVjJyBrdWxsYW7EsWxhbWF6LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiclYycgaXMgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIiclYycga3VsbGFuxLFsYW1hei5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY29udHJvbCBjaGFyYWN0ZXJzIGFyZSBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJXM6IEtvbnRyb2wga2FyYWt0ZXJsZXJpIGt1bGxhbsSxbGFtYXouXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY29udHJvbCBjaGFyYWN0ZXJzIGFyZSBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiS29udHJvbCBrYXJha3Rlcmxlcmkga3VsbGFuxLFsYW1hei5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcy4iCisjfiBtc2dzdHIgIiVzOiBzYWRlY2UgeWVyZWwgZ2lyZGlsZXJpIGRlxJ9pxZ90aXJlYmlsaXI7IHllcmluZSB5cCVzIGt1bGxhbsSxbi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vdGltZXxzaG9ydHxmdWxsfGlzb11cbiIKKyN+IG1zZ3N0ciAiIELDtmzDvG0gICAgICAgICDEsGxrICAgICAgICAgIFNvbiAgICAgICAgICAgICAgU2VrdMO2ciAgICBEb3N5YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBkZXRhaWxzIHNlZSBsc2xvZ2lucygxKS5cbiIKKyN+IG1zZ3N0ciAiS3VsbGFuxLFjxLEgYmlsZ2lsZXJpIGRlxJ9pxZ90aXJpbGRpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNyeXB0KCkgZmFpbGVkIgorI34gbXNnc3RyICJiZWxsZWsgYXlyxLFsYW1hZMSxIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNPTU1BTkQgbm90IHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIi0tZGF0ZSBzZcOnZW5lxJ9pIGJlbGlydGlsbWVtacWfLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFRoaXMgc21hbGwgdXNhZ2UgZ3VpZGVcbiIKKyN+IG1zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBCdSB5YXJkxLFtIGlsZXRpc2luaSBnw7ZzdGVyaXJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBPdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvblxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIFPDvHLDvG0gYmlsZ2lsZXJpbmkgZ8O2c3RlcmlyXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBwYXRobmFtZSBbcGF0aG5hbWUgLi4uXVxuIgorI34gbXNnc3RyICJrdWxsYW7EsW3EsTogbmFtZWkgWy1teF0gZG9zeWFZb2x1IFtkb3N5YVlvbHUgLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgd2lwZWZzKDgpLlxuIgorI34gbXNnc3RyICJLdWxsYW7EsWPEsSBiaWxnaWxlcmkgZGXEn2nFn3RpcmlsZGkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB0YXNrc2V0KDEpLlxuIgorI34gbXNnc3RyICJLdWxsYW7EsWPEsSBiaWxnaWxlcmkgZGXEn2nFn3RpcmlsZGkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGlzIHJlbW92YWJsZSBkZXZpY2UiCisjfiBtc2dzdHIgIiBzaWxpbmViaWxpciIKKworIywgZnV6enkKKyN+IG1zZ2lkICJubyBmaWxlbmFtZSBzcGVjaWZpZWQuIgorI34gbXNnc3RyICItLWRhdGUgc2XDp2VuZcSfaSBiZWxpcnRpbG1lbWnFny5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0aW1lb3V0IGNhbm5vdCBiZSB6ZXJvIgorI34gbXNnc3RyICJtb3VudDogaMSxeiBheWFybGFuYW3EsXlvcjogJXMiCisKKyN+IG1zZ2lkICJOZWVkIHRvIGluc2VydCAlZCBzZWNvbmRzIGFuZCByZWZlciB0aW1lIGJhY2sgJS42ZiBzZWNvbmRzIGFnb1xuIgorI34gbXNnc3RyICIlZCBzYW5peWUgZ2lybWVrIGdlcmVrbGkgdmUgemFtYW4gJS42ZiBzYW5peWUgw7ZuY2VzaW5lIGFpdFxuIgorCisjfiBtc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gS0RHSFdDTEsgdG8gY2hhbmdlXG4iCisjfiBtc2dzdHIgIktER0hXQ0xLIHphbWFuIGRlxJ9pxZ90aXJpbG1layDDvHplcmUgw6dldnJpbSBpw6dpbmRlIGJla2xlbml5b3IuXG4iCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCB0byByZWFkIHRpbWUgZmFpbGVkIgorI34gbXNnc3RyICJLREdIV0NMSyBpb2N0bCB6YW1hbsSxIG9rdW1hZGEgYmHFn2FyxLFzxLF6IgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgdG8gcmVhZCB0aW1lIGZhaWxlZCBpbiBsb29wIgorI34gbXNnc3RyICJLREdIV0NMSyBpb2N0bCDDp2V2cmltIGnDp2luZGUgemFtYW7EsSBva3VtYWRhIGJhxZ9hcsSxc8SxeiIKKworI34gbXNnaWQgImlvY3RsKCkgZmFpbGVkIHRvIHJlYWQgdGltZSBmcm9tICVzIgorI34gbXNnc3RyICJpb2N0bCgpICVzIGRlbiB6YW1hbsSxIG9rdXlhbWFkxLEiCisKKyN+IG1zZ2lkICJpb2N0bCBLRFNIV0NMSyBmYWlsZWQiCisjfiBtc2dzdHIgImlvY3RsIEtEU0hXQ0xLIGJhxZ9hcsSxc8SxeiIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gL2Rldi90dHkxIG9yIC9kZXYvdmMvMSIKKyN+IG1zZ3N0ciAiL2Rldi90dHkxIHZleWEgL2Rldi92Yy8xIGHDp8SxbGFtxLF5b3IiCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgIktER0hXQ0xLIGlvY3RsIGJhxZ9hcsSxc8SxeiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgZGV0YWlscyBzZWUgbHNjcHUoMSkuXG4iCisjfiBtc2dzdHIgIkt1bGxhbsSxY8SxIGJpbGdpbGVyaSBkZcSfacWfdGlyaWxkaS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJncy4uLl1cbiIKKyN+IG1zZ3N0ciAia3VsbGFuxLFtxLE6ICVzIHByb2dyYW0gW2FyZyAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSByZW5pY2UoMSkuXG4iCisjfiBtc2dzdHIgIkt1bGxhbsSxY8SxIGJpbGdpbGVyaSBkZcSfacWfdGlyaWxkaS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMlcyBbb3B0aW9uc10gW3Byb2dyYW0gW3Byb2dyYW0gYXJndW1lbnRzXV1cbiIKKyN+IG1zZ3N0ciAia3VsbGFuxLFtxLE6ICVzIHByb2dyYW0gW2FyZyAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJLdWxsYW7EsW3EsTogJXMgW3Nlw6dlbmVrbGVyXSBheWfEsXQgLi4uXG4iCisKKyN+IG1zZ2lkICIuLi5iYWNrIDEgcGFnZSIKKyN+IG1zZ3N0ciAiLi4ua2FsYW4gMSBzYXlmYSIKKworI34gbXNnaWQgIi4uLnNraXBwaW5nIG9uZSBsaW5lIgorI34gbXNnc3RyICIuLi5iaXIgc2F0xLFyIGF0bGFuxLF5b3IiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSByZXYoMSkuXG4iCisjfiBtc2dzdHIgIkt1bGxhbsSxY8SxIGJpbGdpbGVyaSBkZcSfacWfdGlyaWxkaS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25dIGZpbGVcbiIKKyN+IG1zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFtzZcOnZW5la2xlcl0gYXlnxLF0IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gbXNnc3RyICJLdWxsYW7EsW3EsTogJXMgW3Nlw6dlbmVrbGVyXSBheWfEsXQgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1uLCAtLW5vLWFyZ3VtZW50ICAgICAgIG9wdGlvbiBkb2VzIG5vdCB1c2UgYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICDDh8Sxa3TEsSB0xLFybmFrIGnDp2luZSBhbMSxbm1helxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtciwgLS1yZXF1aXJlZCA8YXJnPiAgICBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAiJXM6IHNlw6dlbmVrIGJpciBhcmfDvG1hbmxhIGt1bGxhbsSxbMSxciAtLSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgLS14eXp6eSAgICAgICAgICAgICBhIGxvbmcgb3B0aW9uIG9ubHlcbiIKKyN+IG1zZ3N0ciAiICAgIC1uICAgICAgICAgICAgICAgICAgZ2Vyw6dla3RlIGRpc2tlIHlhesSxbG1heiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zZWN1dGl2ZSBsaW5lcyBhcmUgaW50ZW5kZWQgYnkgdHdvIHNwYWNlc1xuIgorI34gbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm9ybWFsZGUgdmVyaWxlbiDDp8Sxa3TEsSB2ZXJpbG1lelxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZiwgLS1mb29iYXIgICAgICAgICAgICBuZXh0IG9wdGlvbiBkZXNjcmlwdGlvbiByZXNldHMgaW5kZW50XG4iCisjfiBtc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWggICAgICAgICAgICAgICAgcHJpbnQgdGhpcyBoZWxwIHRleHRcbiIKKyN+IG1zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBCdSB5YXJkxLFtIGlsZXRpc2luaSBnw7ZzdGVyaXJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLS12ZXJzaW9uXG4iCisjfiBtc2dzdHIgInPDvHLDvG0iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY29tcGlsZWQgd2l0aG91dCAteCBzdXBwb3J0IgorI34gbXNnc3RyICIlczogLXggZGVzdGXEn2kgb2xtYWtzxLF6xLFuIGRlcmxlbm1pxZ9cbiIKKworI34gbXNnaWQgIiVzOiBPdXQgb2YgbWVtb3J5IVxuIgorI34gbXNnc3RyICIlczogQmVsbGVrIHlldGVyc2l6IVxuIgorCisjfiBtc2dpZCAiVW51c2FibGUiCisjfiBtc2dzdHIgIkt1bGxhbsSxxZ9zxLF6IgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGZhaWxlZFxuIgorI34gbXNnc3RyICIoU29ucmFraSBkb3N5YTogJXMpIgorCisjfiBtc2dpZCAiRGlzayBoYXMgYmVlbiBjaGFuZ2VkLlxuIgorI34gbXNnc3RyICJEaXNrIGRlxJ9pxZ90aXJpbGRpLlxuIgorCisjfiBtc2dpZCAiUmVib290IHRoZSBzeXN0ZW0gdG8gZW5zdXJlIHRoZSBwYXJ0aXRpb24gdGFibGUgaXMgY29ycmVjdGx5IHVwZGF0ZWQuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJCw7Zsw7xtbGVtZSB0YWJsb3N1bnVuIGRvxJ9ydSBvbGFyYWsgZ8O8bmNlbGxlbmRpxJ9pbmRlbiBlbWluIG9sYWJpbG1layBpw6dpblxuIgorI34gInNpc3RlbWkgeWVuaWRlbiBiYcWfbGF0xLFuLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IElmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55XG4iCisjfiAiRE9TIDYueCBwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBjZmRpc2sgbWFudWFsXG4iCisjfiAicGFnZSBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlVZQVJJOiBIZXJoYW5naSBiaXIgRE9TIDYueCBiw7Zsw7xtw7xuw7wgb2x1xZ90dXJkdXlzYW7EsXogeWEgZGFcbiIKKyN+ICJkZcSfacWfaWtsaWsgeWFwdMSxeXNhbsSxeiwgbMO8dGZlbiBjZmRpc2sgbWFuIHNheWZhbGFyxLFuZGFraVxuIgorI34gImVrIGJpbGdpbGVyaSBva3V5dW4uXG4iCisKKyN+IG1zZ2lkICJGQVRBTCBFUlJPUiIKKyN+IG1zZ3N0ciAiw5ZMw5xNQ8OcTCBIQVRBIgorCisjfiBtc2dpZCAiUHJlc3MgYW55IGtleSB0byBleGl0IGNmZGlzayIKKyN+IG1zZ3N0ciAiY2ZkaXNrJ3RlbiDDp8Sxa21hayBpw6dpbiBoZXJoYW5naSBiaXIgdHXFn2EgYmFzxLFuxLF6IgorCisjfiBtc2dpZCAiQ2Fubm90IHNlZWsgb24gZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiRGlzayBzw7xyw7xjw7wgw7x6ZXJpbmRlIGFyYW1hIHlhcMSxbGFtxLF5b3IiCisKKyN+IG1zZ2lkICJDYW5ub3QgcmVhZCBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJEaXNrIHPDvHLDvGPDvHPDvCBva3VuYW3EsXlvciIKKworI34gbXNnaWQgIkNhbm5vdCB3cml0ZSBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJEaXNrIHPDvHLDvGPDvHPDvG5lIHlhesSxbGFtxLF5b3IiCisKKyN+IG1zZ2lkICJUb28gbWFueSBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJEaXNrIGLDtmzDvG3DvCBzYXnEsXPEsSDDp29rIGZhemxhIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGJlZ2lucyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIkRpc2sgYsO2bMO8bcO8IHPEsWbEsXLEsW5jxLEgc2VrdMO2cmRlbiDDtm5jZSBiYcWfbMSxeW9yIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGVuZHMgYmVmb3JlIHNlY3RvciAwIgorI34gbXNnc3RyICJEaXNrIGLDtmzDvG3DvCBzxLFmxLFyxLFuY8SxIHNla3TDtnJkZW4gw7ZuY2UgYml0aXlvciIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBiZWdpbnMgYWZ0ZXIgZW5kLW9mLWRpc2siCisjfiBtc2dzdHIgIkRpc2sgYsO2bMO8bcO8IGRpc2sgc29udW5kYW4gc29ucmEgYmHFn2zEsXlvciIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICJEaXNrIGLDtmzDvG3DvCBkaXNrIHNvbnVuZGFuIHNvbnJhIGJpdGl5b3IiCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgbm90IGluIGRpc2sgb3JkZXIiCisjfiBtc2dzdHIgIm1hbnTEsWtzYWwgYsO2bMO8bWxlciBzxLFyYWxhbWF5YSB1eWd1biBkZcSfaWwiCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAibWFudMSxa3NhbCBiw7Zsw7xtbGVyIGnDp2nDp2UgZ2XDp21pxZ8iCisKKyN+IG1zZ2lkICJlbmxhcmdlZCBsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAiYsO8ecO8dMO8bGVuIG1hbnTEsWtzYWwgYsO2bMO8bWxlciBpw6dpw6dlIGdlw6dpeW9yIgorCisjfiBtc2dpZCAiISEhISBJbnRlcm5hbCBlcnJvciBjcmVhdGluZyBsb2dpY2FsIGRyaXZlIHdpdGggbm8gZXh0ZW5kZWQgcGFydGl0aW9uICEhISEiCisjfiBtc2dzdHIgIiEhISEgRWsgZGlzayBiw7Zsw7xtw7wgacOnZXJtZXllbiBtYW50xLFrc2FsIGLDtmzDvG0gb2x1xZ90dXJ1bHVya2VuIGnDpyBoYXRhICEhISEiCisKKyN+IG1zZ2lkICJDYW5ub3QgY3JlYXRlIGxvZ2ljYWwgZHJpdmUgaGVyZSAtLSB3b3VsZCBjcmVhdGUgdHdvIGV4dGVuZGVkIHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIkJ1cmFkYSBtYW50xLFrc2FsIGLDtmzDvG0gb2x1xZ90dXJ1bGFtxLF5b3IgLS0gaWtpIGVrIGLDtmzDvG0gb2x1xZ9hY2FrdMSxIgorCisjfiBtc2dpZCAiTWVudSBpdGVtIHRvbyBsb25nLiBNZW51IG1heSBsb29rIG9kZC4iCisjfiBtc2dzdHIgIk1lbsO8IMO2xJ9lc2kgw6dvayB1enVuLiBNZW7DvCB0dWhhZiBnw7Zyw7xuZWJpbGlyLiIKKworI34gbXNnaWQgIklsbGVnYWwga2V5IgorI34gbXNnc3RyICJLdXJhbGTEscWfxLEgdHXFnyIKKworI34gbXNnaWQgIkNyZWF0ZSBhIG5ldyBwcmltYXJ5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiWWVuaSBiaXJpbmNpbCBkaXNrIGLDtmzDvG3DvCBvbHXFn3R1cnVyIgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IGxvZ2ljYWwgcGFydGl0aW9uIgorI34gbXNnc3RyICJZZW5pIG1hbnTEsWtzYWwgZGlzayBiw7Zsw7xtw7wgb2x1xZ90dXJ1ciIKKworI34gbXNnaWQgIkNhbmNlbCIKKyN+IG1zZ3N0ciAiVmF6Z2XDpyIKKworI34gbXNnaWQgIkRvbid0IGNyZWF0ZSBhIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiQmlyIGRpc2sgYsO2bMO8bcO8IG9sdcWfdHVydWxtYXoiCisKKyN+IG1zZ2lkICIhISEgSW50ZXJuYWwgZXJyb3IgISEhIgorI34gbXNnc3RyICIhISEgxLDDpyBoYXRhICEhISIKKworI34gbXNnaWQgIlNpemUgKGluIE1CKTogIgorI34gbXNnc3RyICJBbGFuIChNQik6IgorCisjfiBtc2dpZCAiQmVnaW5uaW5nIgorI34gbXNnc3RyICJCYcWfbGFuZ8Sxw6ciCisKKyN+IG1zZ2lkICJBZGQgcGFydGl0aW9uIGF0IGJlZ2lubmluZyBvZiBmcmVlIHNwYWNlIgorI34gbXNnc3RyICJEaXNrIGLDtmzDvG3DvG7DvCBib8WfIGFsYW7EsW4gYmHFn2xhbmfEsWPEsW5hIGVrbGVyIgorCisjfiBtc2dpZCAiQWRkIHBhcnRpdGlvbiBhdCBlbmQgb2YgZnJlZSBzcGFjZSIKKyN+IG1zZ3N0ciAiRGlzayBiw7Zsw7xtbsO8IGJvxZ8gYWxhbsSxbiBzb251bmEgZWtsZXIiCisKKyN+IG1zZ2lkICJObyByb29tIHRvIGNyZWF0ZSB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICJFayBkaXNrIGLDtmzDvG3DvG7DvCBvbHXFn3R1cmFjYWsgeWVyIHlvayIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbiB0YWJsZS4gU3RhcnRpbmcgd2l0aCB6ZXJvIHRhYmxlLiIKKyN+IG1zZ3N0ciAiRGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1IHlvay4gQm/FnyB0YWJsbyBpbGUgYmHFn2xhbmFjYWsuIgorCisjfiBtc2dpZCAiQmFkIHNpZ25hdHVyZSBvbiBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIkRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdW5kYWtpIGltemEga8O2dMO8IgorCisjfiBtc2dpZCAiVW5rbm93biBwYXJ0aXRpb24gdGFibGUgdHlwZSIKKyN+IG1zZ3N0ciAiRGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1IHTDvHLDvCBiaWxpbm1peW9yIgorCisjfiBtc2dpZCAiRG8geW91IHdpc2ggdG8gc3RhcnQgd2l0aCBhIHplcm8gdGFibGUgW3kvTl0gPyIKKyN+IG1zZ3N0ciAiVGVtaXogYmlyIHRhYmxvIGlsZSBiYcWfbGFtYWsgaXN0ZXIgbWlzaW5peiBbZS9IXSA/IgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiRGlzayBhw6fEsWxhbcSxeW9yIgorCisjfiBtc2dpZCAiT3BlbmVkIGRpc2sgcmVhZC1vbmx5IC0geW91IGhhdmUgbm8gcGVybWlzc2lvbiB0byB3cml0ZSIKKyN+IG1zZ3N0ciAiQcOnxLFsYW4gZGlzayBzYWx0LW9rdW51ciAtIHlhem1hIGl6bmluaXogeW9rIgorCisjfiBtc2dpZCAiQ2Fubm90IGdldCBkaXNrIHNpemUiCisjfiBtc2dzdHIgIkRpc2tpbiB0b3BsYW0gYWxhbsSxIGhlc2FwbGFuYW3EsXlvciIKKworI34gbXNnaWQgIkJhZCBwcmltYXJ5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiQmlyaW5jaWwgZGlzayBiw7Zsw7xtw7wgYm96dWsiCisKKyN+IG1zZ2lkICJXYXJuaW5nISEgIFRoaXMgbWF5IGRlc3Ryb3kgZGF0YSBvbiB5b3VyIGRpc2shIgorI34gbXNnc3RyICJVeWFyxLEhISBCdSBpxZ9sZW0gZGlzayDDvHplcmluZGVraSB2ZXJpeWkgeW9rZWRlYmlsaXIhIgorCisjfiBtc2dpZCAiUGxlYXNlIGVudGVyIGB5ZXMnIG9yIGBubyciCisjfiBtc2dzdHIgIkzDvHRmZW4geWEgYGV2ZXTCtCB5YSBkYSBgaGF5xLFywrQgeWF6xLFuxLF6IgorCisjfiBtc2dpZCAiV3JpdGluZyBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4uLiIKKyN+IG1zZ3N0ciAiRGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1IGRpc2tlIHlhesSxbMSxeW9yLi4uIgorCisjfiBtc2dpZCAiV3JvdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2siCisjfiBtc2dzdHIgIkRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdSBkaXNrZSB5YXrEsWxkxLEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV3JvdGUgcGFydGl0aW9uIHRhYmxlLCBidXQgcmUtcmVhZCB0YWJsZSBmYWlsZWQuICBSdW4gcGFydHByb2JlKDgpLCBrcGFydHgoOCkgb3IgcmVib290IHRvIHVwZGF0ZSB0YWJsZS4iCisjfiBtc2dzdHIgIkLDtmzDvG1sZW1lIHRhYmxvc3UgeWF6xLFsZMSxIGFtYSB0YWJsbyB5ZW5pZGVuIG9rdW5hbWFkxLEuIFNpc3RlbWkgeWVuaWRlbiBiYcWfbGF0xLFuLiIKKworI34gbXNnaWQgIk5vIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgbWFya2VkIGJvb3RhYmxlLiBET1MgTUJSIGNhbm5vdCBib290IHRoaXMuIgorI34gbXNnc3RyICLDlm55w7xrbGVtZSBpw6dpbiBpbWxlbm1pxZ8gaGnDpyBiaXJpbmNpbCBkaXNrIGLDtmzDvG3DvCB5b2suIERPUyBNQlIgYnVudSBiYcWfbGF0YW1heWFiaWxpci4iCisKKyN+IG1zZ2lkICJNb3JlIHRoYW4gb25lIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZS4gRE9TIE1CUiBjYW5ub3QgYm9vdCB0aGlzLiIKKyN+IG1zZ3N0ciAiw5ZuecO8a2xlbWUgacOnaW4gaW1sZW5tacWfIMOnb2sgc2F5xLFkYSBiaXJpbmNpbCBkaXNrIGLDtmzDvG3DvCB2YXIuIERPUyBNQlIgYnVudSBiYcWfbGF0YW1heWFiaWxpci4iCisKKyN+IG1zZ2lkICJFbnRlciBmaWxlbmFtZSBvciBwcmVzcyBSRVRVUk4gdG8gZGlzcGxheSBvbiBzY3JlZW46ICIKKyN+IG1zZ3N0ciAiRG9zeWEgaXNtaW5pIGdpcmluIHlhIGRhIEVOVEVSIHR1xZ91bmEgYmFzxLFuOiAiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlc1xuIgorI34gbXNnc3RyICJTYWJpdCBEaXNrOiAlc1xuIgorCisjfiBtc2dpZCAiU2VjdG9yIDA6XG4iCisjfiBtc2dzdHIgIlNla3TDtnIgMDpcbiIKKworI34gbXNnaWQgIlNlY3RvciAlZDpcbiIKKyN+IG1zZ3N0ciAiU2VrdMO2ciAlZDpcbiIKKworI34gbXNnaWQgIiAgIE5vbmUgICAiCisjfiBtc2dzdHIgIiAgIFlvayAgICAiCisKKyN+IG1zZ2lkICIgICBQcmkvTG9nIgorI34gbXNnc3RyICIgICBCaXIvTWFuIgorCisjfiBtc2dpZCAiICAgUHJpbWFyeSIKKyN+IG1zZ3N0ciAiICBCaXJpbmNpbCAiCisKKyN+IG1zZ2lkICIgICBMb2dpY2FsIgorI34gbXNnc3RyICIgTWFudMSxa3NhbCAiCisKKyN+IG1zZ2lkICIoJTAyWCkiCisjfiBtc2dzdHIgIiglMDJYKSIKKworI34gbXNnaWQgIk5vbmUiCisjfiBtc2dzdHIgIkhpw6diaXJpIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIFRhYmxlIGZvciAlc1xuIgorI34gbXNnc3RyICIlcyBpw6dpbiBEaXNrIELDtmzDvG1sZW1lIFRhYmxvc3VcbiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgIEZpcnN0ICAgICAgIExhc3RcbiIKKyN+IG1zZ3N0ciAiIELDtmzDvG0gICAgICAgICDEsGxrICAgICAgICAgIFNvbiAgICAgICAgICAgICAgU2VrdMO2ciAgICBEb3N5YVxuIgorCisjfiBtc2dpZCAiICMgVHlwZSAgICAgICBTZWN0b3IgICAgICBTZWN0b3IgICBPZmZzZXQgICAgTGVuZ3RoICAgRmlsZXN5c3RlbSBUeXBlIChJRCkgRmxhZ1xuIgorI34gbXNnc3RyICIgIyBUw7xyw7wgICAgICAgU2VrdMO2ciAgICAgIFNla3TDtnIgICAgQmHFn2wgICAgIFNhecSxc8SxICAgIFNpc3RlbWkgICBUw7xyw7wgICAgRmxhbWFcbiIKKworI34gbXNnaWQgIi0tIC0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS1cbiIKKyN+IG1zZ3N0ciAiLS0gLS0tLS0tLSAgIC0tLS0tLS0tICAgIC0tLS0tLS0tLSAtLS0tLS0gIC0tLS0tLS0tLSAgLS0tLS0tLS0tICAtLS0tLSAgLS0tLS0tXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICAgLS0tU3RhcnRpbmctLS0tICAgICAgLS0tLUVuZGluZy0tLS0tICAgIFN0YXJ0ICAgICBOdW1iZXIgb2ZcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgLS1CYcWfbGFuZ8Sxw6ctLS0gICAgICAtLS0tQml0acWfLS0tLS0gICBCYcWfbGFuZ8Sxw6cgIFNla3TDtnJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgIyBGbGFncyBIZWFkIFNlY3QgIEN5bCAgIElEICBIZWFkIFNlY3QgIEN5bCAgICAgU2VjdG9yICAgIFNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiICMgRmxhbWEgS2FmYSBTZWt0IFNsZCAgS2ltbCBLYWZhIFNla3QgU2xkICAgIFNla3TDtnLDvCAgIFNhecSxc8SxXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tXG4iCisjfiBtc2dzdHIgIi0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0gIC0tLS0tLS0tLSAtLS0tLS0tLS1cbiIKKworI34gbXNnaWQgIlJhdyIKKyN+IG1zZ3N0ciAiSGFtIgorCisjfiBtc2dpZCAiUHJpbnQgdGhlIHRhYmxlIHVzaW5nIHJhdyBkYXRhIGZvcm1hdCIKKyN+IG1zZ3N0ciAiVGFibG8gdGVtZWwgdmVyaSBiacOnZW1pIG9sYXJhayB5YXrEsWzEsXIiCisKKyN+IG1zZ2lkICJQcmludCB0aGUgdGFibGUgb3JkZXJlZCBieSBzZWN0b3JzIgorI34gbXNnc3RyICJUYWJsb3l1IHNla3TDtnJsZXJlIGRhxJ/EsWzEsW3EsW5hIGfDtnJlIHlhemFyIgorCisjfiBtc2dpZCAiVGFibGUiCisjfiBtc2dzdHIgIlRhYmxvIgorCisjfiBtc2dpZCAiSnVzdCBwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJEaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3VudSB5YXphciIKKworI34gbXNnaWQgIkRvbid0IHByaW50IHRoZSB0YWJsZSIKKyN+IG1zZ3N0ciAiVGFibG8geWF6xLFsYW3EsXlvciIKKworI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMTk5NC0xOTk5IEtldmluIEUuIE1hcnRpbiAmIGFlYiIKKyN+IG1zZ3N0ciAiVGVsaWYgSGFra8SxIChDKSAxOTk0LTE5OTkgS2V2aW4gRS4gTWFydGluICYgYWViIgorCisjfiBtc2dpZCAiICBnICAgICAgICAgIENoYW5nZSBjeWxpbmRlcnMsIGhlYWRzLCBzZWN0b3JzLXBlci10cmFjayBwYXJhbWV0ZXJzIgorI34gbXNnc3RyICIgIGcgICAgICAgICAgU2lsaW5kaXIsIGthZmEsIHNla3TDtnIvxLB6IHBhcmFtZXRyZWxlcmluaSBkZcSfacWfdGlyaXIiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgV0FSTklORzogVGhpcyBvcHRpb24gc2hvdWxkIG9ubHkgYmUgdXNlZCBieSBwZW9wbGUgd2hvIgorI34gbXNnc3RyICIgICAgICAgICAgICAgVVlBUkk6IEJ1IHNlw6dlbmVrIHNhZGVjZSBuZSB5YXB0xLHEn8SxbsSxIGl5aSBiaWxlbiBracWfaWxlcmNlIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGtub3cgd2hhdCB0aGV5IGFyZSBkb2luZy4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBrdWxsYW7EsWxhYmlsaXIuIgorCisjfiBtc2dpZCAiICBtICAgICAgICAgIE1heGltaXplIGRpc2sgdXNhZ2Ugb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorI34gbXNnc3RyICIgIG0gICAgICAgICAgU2XDp2lsZW4gZGlzayBiw7Zsw7xtw7xuw7wga2FsYW4gYm/FnyB5ZXJlIHPEscSfZMSxcsSxciIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBOb3RlOiBUaGlzIG1heSBtYWtlIHRoZSBwYXJ0aXRpb24gaW5jb21wYXRpYmxlIHdpdGgiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBCaWxnaTogRGlzayBiw7Zsw7xtw7xuw7wgRE9TLCBPUy8yIHZlIGJlbnplcmkgc2lzdGVtbGVybGUiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgRE9TLCBPUy8yLCAuLi4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICB1eXVtc3V6bHVrIG9sdcWfdHVyYWJpbGlyLiIKKworI34gbXNnaWQgIiAgcCAgICAgICAgICBQcmludCBwYXJ0aXRpb24gdGFibGUgdG8gdGhlIHNjcmVlbiBvciB0byBhIGZpbGUiCisjfiBtc2dzdHIgIiAgcCAgICAgICAgICBEaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3VudSBla3JhbmEgeWEgZGEgYmlyIGRvc3lheWEgeWF6YXIiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgVGhlcmUgYXJlIHNldmVyYWwgZGlmZmVyZW50IGZvcm1hdHMgZm9yIHRoZSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBEaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3VudSBmYXJrbMSxIGJpw6dlbWxlcmRlIGVsZGUgZWRlYmlsaXJzaW5pei4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgdGhhdCB5b3UgY2FuIGNob29zZSBmcm9tOiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIEJ1IGJpw6dlbWxlcjoiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgciAtIFJhdyBkYXRhIChleGFjdGx5IHdoYXQgd291bGQgYmUgd3JpdHRlbiB0byBkaXNrKSIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHIgLSBUZW1lbCB2ZXJpICh2ZXJpbmluIGRpc2tlIHlhesSxbGFuIGJpw6dlbWkpIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHMgLSBUYWJsZSBvcmRlcmVkIGJ5IHNlY3RvcnMiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gRGlzayBiw7Zsw7xtbGVyaW5pbiBzZWt0w7ZybGVyZSBkYcSfxLFsxLFtxLFuxLEgZ8O2c3RlcmlyIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHQgLSBUYWJsZSBpbiByYXcgZm9ybWF0IgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgdCAtIEdlbGVuZWtzZWwgZGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1IgorCisjfiBtc2dpZCAiICB1ICAgICAgICAgIENoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSIKKyN+IG1zZ3N0ciAiICB1ICAgICAgICAgIERpc2sgYsO2bMO8bcO8IGJveXVudW4gYmlyaW1pbmkgZGXEn2nFn3RpcmlyIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFJvdGF0ZXMgdGhyb3VnaCBNQiwgc2VjdG9ycyBhbmQgY3lsaW5kZXJzIgorI34gbXNnc3RyICIgICAgICAgICAgICAgTUIsIHNla3TDtnIsIHNpbGluZGlyIGJpcmltbGVyaSBzxLFyYXlsYSB5ZXIgZGXEn2nFn3RpcmlyIgorCisjfiBtc2dpZCAiQ1RSTC1MICAgICAgIFJlZHJhd3MgdGhlIHNjcmVlbiIKKyN+IG1zZ3N0ciAiQ1RSTC1MICAgICAgIEVrcmFuxLEgdGF6ZWxlciIKKworI34gbXNnaWQgIiAgPyAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKKyN+IG1zZ3N0ciAiICA/ICAgICAgICAgIEJ1IHlhcmTEsW0gZWtyYW7EsW7EsSBnw7ZzdGVyaXIiCisKKyN+IG1zZ2lkICJDaGFuZ2UgY3lsaW5kZXIgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIlNpbGluZGlyIGdlb21ldHJpc2luaSBkZcSfacWfdGlyaXIiCisKKyN+IG1zZ2lkICJDaGFuZ2UgaGVhZCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiS2FmYSBnZW9tZXRyaXNpbmkgZGXEn2nFn3RpcmlyIgorCisjfiBtc2dpZCAiQ2hhbmdlIHNlY3RvciBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiU2VrdMO2ciBnZW9tZXRyaXNpbmkgZGXEn2nFn3RpcmlyIgorCisjfiBtc2dpZCAiRG9uZSB3aXRoIGNoYW5naW5nIGdlb21ldHJ5IgorI34gbXNnc3RyICJHZW9tZXRyaSBkZcSfacWfaWtsacSfaSB5YXDEsWxkxLEiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIGN5bGluZGVyczogIgorI34gbXNnc3RyICJTaWxpbmRpciBzYXnEsXPEsW7EsSB2ZXJpbjogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBjeWxpbmRlcnMgdmFsdWUiCisjfiBtc2dzdHIgIlNpbGluZGlyIHNhecSxc8SxIGt1cmFsZMSxxZ/EsSIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2YgaGVhZHM6ICIKKyN+IG1zZ3N0ciAiS2FmYSBzYXnEsXPEsW7EsSB2ZXJpbjogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBoZWFkcyB2YWx1ZSIKKyN+IG1zZ3N0ciAiS2FmYSBzYXnEsXPEsSBrdXJhbGTEscWfxLEiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrOiAiCisjfiBtc2dzdHIgInNla3TDtnIvaXogc2F5xLFzxLFuxLEgdmVyaW46ICIKKworI34gbXNnaWQgIklsbGVnYWwgc2VjdG9ycyB2YWx1ZSIKKyN+IG1zZ3N0ciAic2VrdMO2ciBzYXnEsXPEsSBrdXJhbGTEscWfxLEiCisKKyN+IG1zZ2lkICJFbnRlciBmaWxlc3lzdGVtIHR5cGU6ICIKKyN+IG1zZ3N0ciAiRG9zeWEgc2lzdGVtaSB0w7xyw7xuw7wgdmVyaW46ICIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgRlMgVHlwZSB0byBlbXB0eSIKKyN+IG1zZ3N0ciAiRG9zeWEgc2lzdGVtaSB0w7xyw7wgYm/FnyBvbGFyYWsgZGXEn2nFn3RpcmlsZW1leiIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgRlMgVHlwZSB0byBleHRlbmRlZCIKKyN+IG1zZ3N0ciAiRG9zeWEgc2lzdGVtaSB0w7xyw7wgZWsgb2xhcmFrIGRlxJ9pxZ90aXJpbGVtZXoiCisKKyN+IG1zZ2lkICJVbmsoJTAyWCkiCisjfiBtc2dzdHIgIk5lPyglMDJYKSIKKworI34gbXNnaWQgIiwgTkMiCisjfiBtc2dzdHIgIiwgTkMiCisKKyN+IG1zZ2lkICJOQyIKKyN+IG1zZ3N0ciAiTkMiCisKKyN+IG1zZ2lkICJQcmkvTG9nIgorI34gbXNnc3RyICJCaXIvTWFuIgorCisjfiBtc2dpZCAiVW5rbm93biAoJTAyWCkiCisjfiBtc2dzdHIgIkJpbGlubWV5ZW4gKCUwMlgpIgorCisjfiBtc2dpZCAiRGlzayBEcml2ZTogJXMiCisjfiBtc2dzdHIgIlNhYml0IERpc2s6ICVzIgorCisjfiBtc2dpZCAiU2l6ZTogJWxsZCBieXRlcywgJWxsZCBNQiIKKyN+IG1zZ3N0ciAiQm95dXQ6ICVsbGQgYmF5dCwgJWxsZCBNQiIKKworI34gbXNnaWQgIlNpemU6ICVsbGQgYnl0ZXMsICVsbGQuJWxsZCBHQiIKKyN+IG1zZ3N0ciAiQm95dXQ6ICVsbGQgYmF5dCwgJWxsZC4lbGxkIEdCIgorCisjfiBtc2dpZCAiSGVhZHM6ICVkICAgU2VjdG9ycyBwZXIgVHJhY2s6ICVkICAgQ3lsaW5kZXJzOiAlbGxkIgorI34gbXNnc3RyICJLYWZhOiAlZCAgICAgICAgU2VrdMO2ci/EsHo6ICVkICAgICAgIFNpbGluZGlyOiAlbGxkICAiCisKKyN+IG1zZ2lkICJQYXJ0IFR5cGUiCisjfiBtc2dzdHIgIkLDtmzDvG0gVMO8csO8IgorCisjfiBtc2dpZCAiRlMgVHlwZSIKKyN+IG1zZ3N0ciAiRFMgVMO8csO8IgorCisjfiBtc2dpZCAiW0xhYmVsXSIKKyN+IG1zZ3N0ciAiW0V0aWtldF0iCisKKyN+IG1zZ2lkICIgICAgU2VjdG9ycyIKKyN+IG1zZ3N0ciAiICAgU2VrdMO2ciAgIgorCisjfiBtc2dpZCAiICBDeWxpbmRlcnMiCisjfiBtc2dzdHIgIiAgU2lsaW5kaXIiCisKKyN+IG1zZ2lkICIgIFNpemUgKE1CKSIKKyN+IG1zZ3N0ciAiICBCb3kgKE1CKSAiCisKKyN+IG1zZ2lkICIgIFNpemUgKEdCKSIKKyN+IG1zZ3N0ciAiICBCb3kgKEdCKSAiCisKKyN+IG1zZ2lkICJObyBtb3JlIHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIkJhxZ9rYSBkaXNrIGLDtmzDvG3DvCB5b2siCisKKyN+IG1zZ2lkICJDaGFuZ2UgZGlzayBnZW9tZXRyeSAoZXhwZXJ0cyBvbmx5KSIKKyN+IG1zZ3N0ciAiRGlzayBnZW9tZXRyaXNpbmkgZGXEn2nFn3RpcmlyICh1em1hbmxhciBpw6dpbikiCisKKyN+IG1zZ2lkICJNYXhpbWl6ZSIKKyN+IG1zZ3N0ciAiU8SxxJ9kxLFyIgorCisjfiBtc2dpZCAiTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24gKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIlNlw6dpbGVuIGRpc2sgYsO2bMO8bcO8bsO8IGthbGFuIHllcmUgZ8O2cmUgYXlhcmxhciAodXptYW5sYXIgacOnaW4pIgorCisjfiBtc2dpZCAiUHJpbnQiCisjfiBtc2dzdHIgIllheiIKKworI34gbXNnaWQgIkNoYW5nZSB0aGUgZmlsZXN5c3RlbSB0eXBlIChET1MsIExpbnV4LCBPUy8yIGFuZCBzbyBvbikiCisjfiBtc2dzdHIgIkRvc3lhIHNpc3RlbWkgdMO8csO8bsO8IGRlxJ9pxZ90aXJpciAoRE9TLCBMaW51eCwgT1MvMiwuLix2cykiCisKKyN+IG1zZ2lkICJVbml0cyIKKyN+IG1zZ3N0ciAiQmlyaW0iCisKKyN+IG1zZ2lkICJDaGFuZ2UgdW5pdHMgb2YgdGhlIHBhcnRpdGlvbiBzaXplIGRpc3BsYXkgKE1CLCBzZWN0LCBjeWwpIgorI34gbXNnc3RyICJHw7ZzdGVyaWxlY2VrIGJveSBiaXJpbWluaSBkZcSfacWfdGlyaXIgKE1CLCBzZWt0LCBzbGQpIgorCisjfiBtc2dpZCAiQ2Fubm90IG1ha2UgdGhpcyBwYXJ0aXRpb24gYm9vdGFibGUiCisjfiBtc2dzdHIgIkJ1IGRpc2sgYsO2bMO8bcO8bmUgYcOnxLFsxLHFnyBrYXlkxLEgeWFwxLFsYW1heiIKKworI34gbXNnaWQgIkNhbm5vdCBkZWxldGUgYW4gZW1wdHkgcGFydGl0aW9uIgorI34gbXNnc3RyICJCaXIgYm/FnyBkaXNrIGLDtmzDvG3DvCBzaWxpbmVtZXoiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWF4aW1pemUgdGhpcyBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIkJ1IGRpc2sgYsO2bMO8bcO8IHPEscSfZMSxcsSxbGFtxLF5b3IiCisKKyN+IG1zZ2lkICJUaGlzIHBhcnRpdGlvbiBpcyB1bnVzYWJsZSIKKyN+IG1zZ3N0ciAiQnUgZGlzayBiw7Zsw7xtw7wga3VsbGFuxLHFn3PEsXoiCisKKyN+IG1zZ2lkICJUaGlzIHBhcnRpdGlvbiBpcyBhbHJlYWR5IGluIHVzZSIKKyN+IG1zZ3N0ciAiQnUgZGlzayBiw7Zsw7xtw7wgemF0ZW4ga3VsbGFuxLFtZGEiCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIHRoZSB0eXBlIG9mIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiQmlyIGJvxZ8gZGlzayBiw7Zsw7xtw7xuw7xuIHTDvHLDvCBkZcSfacWfdGlyaWxlbWV6IgorCisjfiBtc2dpZCAiSWxsZWdhbCBjb21tYW5kIgorI34gbXNnc3RyICJLdXJhbGTEscWfxLEga29tdXQiCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMjAwMiBLZXZpbiBFLiBNYXJ0aW4gJiBhZWJcbiIKKyN+IG1zZ3N0ciAiVGVsaWYgSGFra8SxIMKpIDE5OTQtMjAwMiBLZXZpbiBFLiBNYXJ0aW4gJiBhZWJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWgsIC0taGVhZHMgPG51bWJlcj4gICAgICBzZXQgdGhlIG51bWJlciBvZiBoZWFkcyB0byB1c2VcbiIKKyN+IG1zZ3N0ciAiICAgIC1IIyAgLS1oZWFkcyAjICAgICAga3VsYW7EsWxhY2FrIGthZmEgc2F5xLFzxLEgYmVsaXJ0aWxpciIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWcsIC0tZ3Vlc3MgICAgICAgICAgICAgICBndWVzcyBhIGdlb21ldHJ5IGZyb20gcGFydGl0aW9uIHRhYmxlXG4iCisjfiBtc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgw4fEsWt0xLEgdMSxcm5hayBpw6dpbmUgYWzEsW5tYXpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVAsIC0tcHJpbnQgPHJ8c3x0PiAgICAgICBwcmludCBwYXJ0aXRpb24gdGFibGUgaW4gc3BlY2lmaWVkIGZvcm1hdFxuIgorI34gbXNnc3RyICIgIHAgICAgICAgICAgRGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1bnUgZWtyYW5hIHlhIGRhIGJpciBkb3N5YXlhIHlhemFyIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYSwgLS1hcnJvdyAgICAgICAgICAgICAgIHVzZSBhcnJvdyBmb3IgaGlnaGxpZ2h0aW5nIHRoZSBjdXJyZW50IHBhcnRpdGlvblxuIgorI34gbXNnc3RyICIgIGQgICAgICAgICAgU2XDp2lsZW4gZGlzayBiw7Zsw7xtw7xuw7wgc2lsZXIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIiAgIGMgICBzaWxpbmRpciBzYXnEsXPEsW7EsSBkZcSfacWfdGlyaXIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBoZWFkcyIKKyN+IG1zZ3N0ciAiJXMgYcOnxLFsYW3EsXlvciIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgbnVtYmVyIG9mIHNlY3RvcnMiCisjfiBtc2dzdHIgIiVzIGHDp8SxbGFtxLF5b3IiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYnNpemUiCisjfiBtc2dzdHIgIkF6YW1pVXp1bmx1ayA9ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgIGUgICBleHRlbmRlZCIKKyN+IG1zZ3N0ciAiZSAgIGVrIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5yIgorI34gbXNnc3RyICJOQyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTZWMiCisjfiBtc2dzdHIgIsSwbWxlbnNpbiBtaT8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhpcyBkb2Vzbid0IGxvb2sgbGlrZSBhIHBhcnRpdGlvbiB0YWJsZS4gUHJvYmFibHkgeW91IHNlbGVjdGVkIHRoZSB3cm9uZyBkZXZpY2UuIgorI34gbXNnc3RyICIiCisjfiAiQnUgYmlyIGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdSBnaWJpIGfDtnLDvG5tw7x5b3IuXG4iCisjfiAiR2FsaWJhIHlhbmzEscWfIGF5Z8SxdCBzZcOndGluaXouXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQmxvY2tzICIKKyN+IG1zZ3N0ciAiJWxkIGJsb2tcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTZWN0b3IiCisjfiBtc2dzdHIgIlNla3TDtnIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiWW91IHdpbGwgZ2V0IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCEiCisjfiBtc2dzdHIgIiIKKyN+ICJEaXNrIMO8emVyaW5kZWtpIGRpxJ9lciBiw7Zsw7xtbGVyaW4gw7x6ZXJpbmUgdGHFn2FuIGJpciBkaXNrIGLDtmzDvG3DvFxuIgorI34gImF5xLFyYWNha3PEsW7EsXouIMOWbmNlIGJ1bnUgZMO8emVsdGluIVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZsYWciCisjfiBtc2dzdHIgIkZsYW1hIgorCisjfiBtc2dpZCAid2FybmluZzogZXJyb3IgcmVhZGluZyAlczogJXMiCisjfiBtc2dzdHIgInV5YXLEsTogJXMgb2t1bnVya2VuIGhhdGE6ICVzIgorCisjfiBtc2dpZCAid2FybmluZzogY2FuJ3Qgb3BlbiAlczogJXMiCisjfiBtc2dzdHIgInV5YXLEsTogJXMgYcOnxLFsYW3EsXlvcjogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY291bGQgbm90IG9wZW4gJXMgLSB1c2luZyAlcyBpbnN0ZWFkXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyBhw6fEsWxhbWFkxLEgLSB5ZXJpbmUgJXMga3VsbGFuxLFsxLF5b3JcbiIKKworI34gbXNnaWQgImNhbid0IGNyZWF0ZSBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgImtpbGl0IGRvc3lhc8SxICVzIG9sdcWfdHVydWxhbcSxeW9yOiAlcyAoem9ybGFtYWsgacOnaW4gLW4gc2XDp2VuZcSfaW5pIGt1bGxhbsSxbikiCisKKyN+IG1zZ2lkICJjYW4ndCBsaW5rIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAiJXMga2lsaXQgZG9zeWFzxLEgacOnaW4gYmHEnyBvbHXFn3R1cnVsYW3EsXlvcjogJXMgKHpvcmxhbWFrIGnDp2luIC1uIHNlw6dlbmXEn2luaSBrdWxsYW7EsW4pIgorCisjfiBtc2dpZCAiY2FuJ3Qgb3BlbiBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgIiVzIGtpbGl0IGRvc3lhc8SxIGHDp8SxbGFtxLF5b3I6ICVzICh6b3JsYW1hayBpw6dpbiAtbiBzZcOnZW5lxJ9pbmkga3VsbGFuxLFuKSIKKworI34gbXNnaWQgIkNhbid0IGxvY2sgbG9jayBmaWxlICVzOiAlc1xuIgorI34gbXNnc3RyICIlcyBraWxpdCBkb3N5YXPEsSBraWxpdGxlbmVtaXlvcjogJXNcbiIKKworI34gbXNnaWQgImNhbid0IGxvY2sgbG9jayBmaWxlICVzOiAlcyIKKyN+IG1zZ3N0ciAiJXMga2lsaXQgZG9zeWFzxLEga2lsaXRsZW5lbWl5b3I6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIkNhbm5vdCBjcmVhdGUgbGluayAlc1xuIgorI34gIlBlcmhhcHMgdGhlcmUgaXMgYSBzdGFsZSBsb2NrIGZpbGU/XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlcyBiYcSfxLEgb2x1xZ90dXJ1bGFtxLF5b3JcbiIKKyN+ICJLYWxtxLHFnyBiaXIga2lsaXQgZG9zeWFzxLEgb2xhYmlsaXIgbWk/XG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyAoJXMpIC0gbXRhYiBub3QgdXBkYXRlZCIKKyN+IG1zZ3N0ciAiJXMgYcOnxLFsYW3EsXlvciAoJXMpIC0gbXRhYiBnw7xuY2VsIGRlxJ9pbCIKKworI34gbXNnaWQgImVycm9yIHdyaXRpbmcgJXM6ICVzIgorI34gbXNnc3RyICIlcyB5YXrEsWzEsXJrZW4gaGF0YTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNhbm5vdCBmZmx1c2ggY2hhbmdlczogJXMiCisjfiBtc2dzdHIgIiVzOiAlcyBkdXJ1bSBiaWxnaWxlcmkgYWzEsW5hbcSxeW9yOiAlc1xuIgorCisjfiBtc2dpZCAiZXJyb3IgY2hhbmdpbmcgbW9kZSBvZiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXMgacOnaW4ga2lwIGRlxJ9pxZ90aXJpbGlya2VuIGhhdGE6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgY2hhbmdpbmcgb3duZXIgb2YgJXM6ICVzXG4iCisjfiBtc2dzdHIgIiVzIGnDp2luIGtpcCBkZcSfacWfdGlyaWxpcmtlbiBoYXRhOiAlc1xuIgorCisjfiBtc2dpZCAiY2FuJ3QgcmVuYW1lICVzIHRvICVzOiAlc1xuIgorI34gbXNnc3RyICIlcyAlcyBvbGFyYWsgZGXEn2nFn3RpcmlsZW1peW9yOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiB0cmFuc2xhdGVkICVzICclcycgdG8gJyVzJ1xuIgorI34gbXNnc3RyICJtb3VudDogJXMgICVzIHlhIGRhICVzIGnDp2luZGUgYnVsdW5hbcSxeW9yIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiBtdGFiJ2EgZ8O2cmUsICVzIHphdGVuICVzIMO8emVyaW5kZSBiYcSfbMSxIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBtb3VudGVkIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogbXRhYidhIGfDtnJlLCAlcyAlcyDDvHplcmluZGUgYmHEn2zEsSIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBvcGVuICVzIGZvciB3cml0aW5nOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIHlhem1hayBpw6dpbiBhw6fEsWxhbcSxeW9yOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBlcnJvciB3cml0aW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIHlhesSxbMSxcmtlbiBoYXRhOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBlcnJvciBjaGFuZ2luZyBtb2RlIG9mICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGtpcGkgZGXEn2nFn3RpcmlsaXJrZW4gaGF0YTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDogaMSxeiBheWFybGFuYW3EsXlvcjogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgdXNlciBpZDogJW0iCisjfiBtc2dzdHIgIm1vdW50OiBoxLF6IGF5YXJsYW5hbcSxeW9yOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgZm9yazogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBhc3Qgc8O8cmXDpyBvbHXFn3R1cnVsYW3EsXlvcjogJXMiCisKKyN+IG1zZ2lkICJUcnlpbmcgJXNcbiIKKyN+IG1zZ3N0ciAiJXMgZGVuZW5peW9yXG4iCisKKyN+IG1zZ2lkICJtb3VudDogeW91IGRpZG4ndCBzcGVjaWZ5IGEgZmlsZXN5c3RlbSB0eXBlIGZvciAlc1xuIgorI34gbXNnc3RyICJtb3VudDogJXMgacOnaW4gYmlyIGRvc3lhIHNpc3RlbWkgdMO8csO8IGJlbGlydGlsbWVtacWfXG4iCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSBhbGwgdHlwZXMgbWVudGlvbmVkIGluICVzIG9yICVzXG4iCisjfiBtc2dzdHIgIiAgICAgICAlcyB5YSBkYSAlcyBpw6dpbmRla2kgYW7EsWxhbiB0w7xtIHTDvHJsZXIgZGVuZW5lY2VrXG4iCisKKyN+IG1zZ2lkICIgICAgICAgYW5kIGl0IGxvb2tzIGxpa2UgdGhpcyBpcyBzd2Fwc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAgICAgIHZlIGJ1IHRha2FzIGFsYW7EsSBnaWJpIGfDtnLDvG7DvHlvclxuIgorCisjfiBtc2dpZCAiICAgICAgIEkgd2lsbCB0cnkgdHlwZSAlc1xuIgorI34gbXNnc3RyICIgICAgICAgJXMgdMO8csO8IGRlbmVuZWNla1xuIgorCisjfiBtc2dpZCAiJXMgbG9va3MgbGlrZSBzd2Fwc3BhY2UgLSBub3QgbW91bnRlZCIKKyN+IG1zZ3N0ciAiJXMgdGFrYXMgYWxhbsSxIGdpYmkgZ8O2csO8bsO8eW9yIC0gYmHEn2xhbm1hZMSxIgorCisjfiBtc2dpZCAibW91bnQgZmFpbGVkIgorI34gbXNnc3RyICJtb3VudCBiYcWfYXLEsXPEsXoiCisKKyN+IG1zZ2lkICJtb3VudDogb25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzICVzIMO8emVyaW5kZSBzYWRlY2Ugcm9vdCB0YXJhZsSxbmRhbiBiYcSfbGFuYWJpbGlyIgorCisjfiBtc2dpZCAibW91bnQ6IGxvb3AgZGV2aWNlIHNwZWNpZmllZCB0d2ljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IGxvb3AgYXlnxLF0xLEgaWtpIGtlcmUgYmVsaXJ0aWxtacWfIgorCisjfiBtc2dpZCAibW91bnQ6IHR5cGUgc3BlY2lmaWVkIHR3aWNlIgorI34gbXNnc3RyICJtb3VudDogdMO8csO8IGlraSBkZWZhIGJlbGlydGlsbWnFnyIKKworI34gbXNnaWQgIm1vdW50OiBza2lwcGluZyB0aGUgc2V0dXAgb2YgYSBsb29wIGRldmljZVxuIgorI34gbXNnc3RyICJtb3VudDogbG9vcCBheWfEsXTEsSBheWFybGFyxLEgYXRsYW7EsXlvclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBlbmFibGluZyBhdXRvY2xlYXIgbG9vcGRldiBmbGFnXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyBsb29wIGF5Z8SxdMSxbsSxbiBrdWxsYW7EsW3EsW5hIGdpZGlsaXlvclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBpbnZhbGlkIG9mZnNldCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiQXlhciBkZcSfZXJpIGdlw6dlcnNpejogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogaW52YWxpZCBzaXplbGltaXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIkF5YXIgZGXEn2VyaSBnZcOnZXJzaXo6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlcyBhcyBsb29wIgorI34gbXNnc3RyICJtb3VudDogbXRhYidhIGfDtnJlLCAlcyB6YXRlbiAlcyDDvHplcmluZGUgYmHEn2zEsSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGRldiBjb250ZXh0IgorI34gbXNnc3RyICJUYW1wb24gYXlyxLFsYW1hZMSxLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gdXNlICVzIGRldmljZSIKKyN+IG1zZ3N0ciAidGFrYXMgYWxhbsSxbmRhIGJhxZ9hIGdpZGlsZW1peW9yIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gZm91bmQgZnJlZSBsb29wIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IGxvb3AgYXlnxLF0xLEgYXlhcmxhcsSxIHlhcMSxbGFtYWTEsVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGdvaW5nIHRvIHVzZSB0aGUgbG9vcCBkZXZpY2UgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGxvb3AgYXlnxLF0xLFuxLFuIGt1bGxhbsSxbcSxbmEgZ2lkaWxpeW9yXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgdG8gc2V0IGxvb3BkZXYgYXR0cmlidXRlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGxvb3AgYXlnxLF0xLEgYXlhcmxhcsSxIHlhcMSxbGFtYWTEsVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiAlczogZmFpbGVkIHNldHRpbmcgdXAgbG9vcCBkZXZpY2U6ICVtIgorI34gbXNnc3RyICJtb3VudDogbG9vcCBheWfEsXTEsSBheWFybGFyxLEgeWFwxLFsYW1hZMSxXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IHN0b2xlbiBsb29wPSVzIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBzZXR1cCBsb29wIGRldmljZSBzdWNjZXNzZnVsbHlcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGxvb3AgYXlnxLF0xLEgYXlhcmxhcsSxIHRhbWFtbGFuZMSxXG4iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gJXMgZm91bmQgLSBjcmVhdGluZyBpdC4uXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyB5b2sgLSBvbHXFn3R1cnVsdXlvci4uLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBvcGVuICVzIGZvciBzZXR0aW5nIHNwZWVkIgorI34gbXNnc3RyICJtb3VudDogaMSxesSxIGF5YXJsYW1hayBpw6dpbiAlcyBhw6fEsWxhbcSxeW9yIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHNwZWVkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IGjEsXogYXlhcmxhbmFtxLF5b3I6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBtdGFiJ2EgZ8O2cmUsICVzIHphdGVuICVzIMO8emVyaW5kZSBiYcSfbMSxIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtd3JpdGUuXG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgbWXFn2d1bC0gc2FsdC1va3VudXIgb2xhcmFrIHllbmlkZW4gYmHEn2xhbmTEsVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtb25seS5cbiIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBtZcWfZ3VsLSBzYWx0LW9rdW51ciBvbGFyYWsgeWVuaWRlbiBiYcSfbGFuZMSxXG4iCisKKyN+IG1zZ2lkICJtb3VudDogSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW50OiBEb3N5YSBzaXN0ZW1pIHTDvHLDvCBzYXB0YW5hbWFkxLEgdmUgYmVsaXJ0aWxtZW1pxZ8iCisKKyN+IG1zZ2lkICJtb3VudDogeW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorI34gbXNnc3RyICJtb3VudDogZG9zeWEgc2lzdGVtaSB0w7xyw7xuw7wgYmVsaXJ0bWVsaXNpbml6IgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGJhxJ9sYW5hbWFkxLEiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgaXMgbm90IGEgZGlyZWN0b3J5IgorI34gbXNnc3RyICJtb3VudDogYmHEn2xhbWEgbm9rdGFzxLEgJXMgYmlyIGRpemluIGRlxJ9pbCIKKworI34gbXNnaWQgIm1vdW50OiBwZXJtaXNzaW9uIGRlbmllZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGVyacWfaW0gZW5nZWxsZW5kaSIKKworI34gbXNnaWQgIm1vdW50OiBtdXN0IGJlIHN1cGVydXNlciB0byB1c2UgbW91bnQiCisjfiBtc2dzdHIgIm1vdW50OiByb290IHRhcmFmxLFuZGFuIGt1bGxhbsSxbG1hbMSxIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIGJ1c3kiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBtZcWfZ3VsIgorCisjfiBtc2dpZCAibW91bnQ6IHByb2MgYWxyZWFkeSBtb3VudGVkIgorI34gbXNnc3RyICJtb3VudDogcHJvYyB6YXRlbiBiYcSfbMSxIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGFscmVhZHkgbW91bnRlZCBvciAlcyBidXN5IgorI34gbXNnc3RyICJtb3VudDogeWEgJXMgemF0ZW4gYmHEn2zEsSB5YSBkYSAlcyBtZcWfZ3VsIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGRvZXMgbm90IGV4aXN0IgorI34gbXNnc3RyICJtb3VudDogYmHEn2xhbWEgbm9rdGFzxLEgJXMgeW9rIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIgorI34gbXNnc3RyICJtb3VudDogYmHEn2xhbWEgbm9rdGFzxLEgJXMgaGnDp2JpciB5ZXJlIHNlbWJvbGlrIGJhxJ8gc2HEn2xhbcSxeW9yIgorCisjfiBtc2dpZCAibW91bnQ6IHNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorI34gbXNnc3RyICJtb3VudDogw7Z6ZWwgYXlnxLF0ICVzIHlvayIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogc3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3RcbiIKKyN+ICIgICAgICAgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KVxuIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IMO2emVsIGF5Z8SxdCAlcyB5b2tcbiIKKyN+ICIgICAgICAgKGRvc3lhIHlvbHUgw7ZuZWtpIGJpciBkaXppbiBkZcSfaWwpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6ICVzIG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCisjfiBtc2dzdHIgIm1vdW50OiAlcyB6YXRlbiBiYcSfbMSxIGRlxJ9pbCwgeWEgZGEgc2XDp2VuZWsgeWFubMSxxZ8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIm1vdW50OiB3cm9uZyBmcyB0eXBlLCBiYWQgb3B0aW9uLCBiYWQgc3VwZXJibG9jayBvbiAlcyxcbiIKKyN+ICIgICAgICAgbWlzc2luZyBjb2RlcGFnZSBvciBoZWxwZXIgcHJvZ3JhbSwgb3Igb3RoZXIgZXJyb3IiCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogZG9zeWEgc2lzdGVtaSB0w7xyw7wgeWFubMSxxZ8sIHNlw6dlbmVrIHlhbmzEscWfLCAlcyDDvHplcmluZGUgc3VwZXJibG9rXG4iCisjfiAiICAgICAgIGhhdGFsxLEsIGthcmFrdGVyIGvDvG1lc2kgZWtzaWssIHlhIGRhIGJhxZ9rYSBiaXIgaGF0YSBvbGFiaWxpciIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgKGNvdWxkIHRoaXMgYmUgdGhlIElERSBkZXZpY2Ugd2hlcmUgeW91IGluIGZhY3QgdXNlXG4iCisjfiAiICAgICAgIGlkZS1zY3NpIHNvIHRoYXQgc3IwIG9yIHNkYSBvciBzbyBpcyBuZWVkZWQ/KSIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAoZmlpbGVuIGlkZS1zY3NpIGt1bGxhbsSxbGTEscSfxLFuYSBnw7ZyZSBidSBiaXIgSURFIGF5Z8SxdFxuIgorI34gIiAgICAgICAgb2xhYmlsaXIgbWk/IEJ1cmFkYSBzcjAsIHNkYSBnaWJpIGJpcsWfZXlsZXIgb2xtYWzEsSwgZGXEn2lsIG1pPykiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIChhcmVuJ3QgeW91IHRyeWluZyB0byBtb3VudCBhbiBleHRlbmRlZCBwYXJ0aXRpb24sXG4iCisjfiAiICAgICAgIGluc3RlYWQgb2Ygc29tZSBsb2dpY2FsIHBhcnRpdGlvbiBpbnNpZGU/KSIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAoacOnaW5kZWtpIGJpciBtYW50xLFrc2FsIGRpc2sgYsO2bMO8bcO8IHllcmluZVxuIgorI34gIiAgICAgICAgYmlyIGVrIGRpc2sgYsO2bMO8bcO8bsO8IGJhxJ9sYW1heWEgw6dhbMSxxZ9txLF5b3IgbXVzdW51ej8pIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICBJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGlzIGZvdW5kIGluIHN5c2xvZyAtIHRyeVxuIgorI34gIiAgICAgICBkbWVzZyB8IHRhaWwgIG9yIHNvXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAgQmF6xLEgZHVydW1sYXJkYSBzeXNsb2cnZGEgYnVsdW5hbiBiaWxnaWxlciB5YXJhcmzEsWTEsXIuXG4iCisjfiAiICAgICAgIGRtZXNnIHwgdGFpbCAgZ2liaSBiaXLFn2V5bGVyIGRlbmV5aW5cbiIKKworI34gbXNnaWQgIm1vdW50OiAlczogY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIgorI34gbXNnc3RyICJtb3VudDogJXM6IHN1cGVyYmxvayBva3VuYW3EsXlvciIKKworI34gbXNnaWQgIm1vdW50OiAlczogdW5rbm93biBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiAlczogYXlnxLF0IGJpbGlubWl5b3IiCisKKyN+IG1zZ2lkICJtb3VudDogdW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKKyN+IG1zZ3N0ciAibW91bnQ6IGRvc3lhIHNpc3RlbWkgdMO8csO8ICclcycgYmlsaW5taXlvciIKKworI34gbXNnaWQgIm1vdW50OiBwcm9iYWJseSB5b3UgbWVhbnQgJXMiCisjfiBtc2dzdHIgIm1vdW50OiBoZXJoYWxkZSAlcyBrYXN0ZXR0aW5peiIKKworI34gbXNnaWQgIm1vdW50OiBtYXliZSB5b3UgbWVhbnQgJ2lzbzk2NjAnPyIKKyN+IG1zZ3N0ciAibW91bnQ6ICdpc285NjYwJyBrYXN0ZXRtacWfIG9sYWJpbGlyIG1pc2luaXo/IgorCisjfiBtc2dpZCAibW91bnQ6IG1heWJlIHlvdSBtZWFudCAndmZhdCc/IgorI34gbXNnc3RyICJtb3VudDogJ3ZmYXQnIGthc3RldG1pxZ8gb2xhYmlsaXIgbWlzaW5pej8iCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaGFzIHdyb25nIGRldmljZSBudW1iZXIgb3IgZnMgdHlwZSAlcyBub3Qgc3VwcG9ydGVkIgorI34gbXNnc3RyICJtb3VudDogJXMgeWFubMSxxZ8gYXlnxLF0IG51bWFyYXPEsW5hIHNhaGlwIHlhIGRhIGRvc3lhIHNpc3RlbWkgdMO8csO8ICVzIGRlc3Rla2xlbm1peW9yIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQgZmFpbHM/IgorI34gbXNnc3RyICJtb3VudDogJXMgYmlyIGJsb2sgYXlnxLF0xLEgb2xtYXlhYmlsaXIgbWkgdmUgZHVydW0gYmlsZ2lsZXJpIGFsxLFuYW1heWFiaWxpciBtaT8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIm1vdW50OiB0aGUga2VybmVsIGRvZXMgbm90IHJlY29nbml6ZSAlcyBhcyBhIGJsb2NrIGRldmljZVxuIgorI34gIiAgICAgICAobWF5YmUgYG1vZHByb2JlIGRyaXZlcic/KSIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiDDp2VraXJkZWsgJXMgYXlnxLF0xLFuxLEgYmlyIGJsb2sgYXlnxLF0xLEgb2xhcmFrIHRhbsSxbcSxeW9yXG4iCisjfiAiICAgICAgIChgaW5zbW9kIHPDvHLDvGPDvCcgZGVuZW5lYmlsaXI/KSIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UgKG1heWJlIHRyeSBgLW8gbG9vcCc/KSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGJpciBibG9rIGF5Z8SxdMSxIGRlxJ9pbCAoIGAtbyBsb29wJyBkZW5lbmViaWxpciBtaT8pIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGJpciBibG9rIGF5Z8SxdMSxIGRlxJ9pbCIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBnZcOnZXJsaSBiaXIgYmxvayBheWfEsXTEsSBkZcSfaWwiCisKKyN+IG1zZ2lkICJibG9jayBkZXZpY2UgIgorI34gbXNnc3RyICJibG9rIGF5Z8SxdMSxICIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgbW91bnQgJXMlcyByZWFkLW9ubHkiCisjfiBtc2dzdHIgIm1vdW50OiAlcyVzIHNhbHQtb2t1bnVyIGJhxJ9sYW5hbcSxeW9yIgorCisjfiBtc2dpZCAibW91bnQ6ICVzJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCBgLXcnIGZsYWcgZ2l2ZW4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyVzIHlhem1hIGtvcnVtYWzEsSBvbGR1xJ91IGhhbGRlIGFsZW5lbiBgLXcnIHNlw6dlbmXEn2kgYmVsaXJ0aWxtacWfIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgcmVtb3VudCAlcyVzIHJlYWQtd3JpdGUsIGlzIHdyaXRlLXByb3RlY3RlZCIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzJXMgc2FsdC1va3VudXIgYmHEn2xhbmFtxLF5b3IiCisKKyN+IG1zZ2lkICJtb3VudDogJXMlcyBpcyB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50aW5nIHJlYWQtb25seSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzJXMgeWF6bWEga29ydW1hbMSxLCBzYWx0LW9rdW51ciBvbGFyYWsgYmHEn2xhbsSxeW9yIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBubyBtZWRpdW0gZm91bmQgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiAlcyB6YXRlbiAlcyDDvHplcmluZGUgYmHEn2zEsVxuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHR5cGUgd2FzIGdpdmVuIC0gSSdsbCBhc3N1bWUgbmZzIGJlY2F1c2Ugb2YgdGhlIGNvbG9uXG4iCisjfiBtc2dzdHIgIm1vdW50OiB0w7xyIGJlbGlydGlsbWVtacWfIC0gJzonIGnDp2VyZGnEn2luZGVuIG5mcyB2YXJzYXnEsWzEsXlvclxuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHR5cGUgd2FzIGdpdmVuIC0gSSdsbCBhc3N1bWUgY2lmcyBiZWNhdXNlIG9mIHRoZSAvLyBwcmVmaXhcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHTDvHIgYmVsaXJ0aWxtZW1pxZ8gLSAnLy8nIMO2bmVraSBpw6dlcmRpxJ9pbmRlbiBjaWZzIHZhcnNhecSxbMSxeW9yXG4iCisKKyN+IG1zZ2lkICJtb3VudDogJXMgYWxyZWFkeSBtb3VudGVkIG9uICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyB6YXRlbiAlcyDDvHplcmluZGUgYmHEn2zEsVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogbW91bnQgLVYgICAgICAgICAgICAgICAgIDogcHJpbnQgdmVyc2lvblxuIgorI34gIiAgICAgICBtb3VudCAtaCAgICAgICAgICAgICAgICAgOiBwcmludCB0aGlzIGhlbHBcbiIKKyN+ICIgICAgICAgbW91bnQgICAgICAgICAgICAgICAgICAgIDogbGlzdCBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisjfiAiICAgICAgIG1vdW50IC1sICAgICAgICAgICAgICAgICA6IGlkZW0sIGluY2x1ZGluZyB2b2x1bWUgbGFiZWxzXG4iCisjfiAiU28gZmFyIHRoZSBpbmZvcm1hdGlvbmFsIHBhcnQuIE5leHQgdGhlIG1vdW50aW5nLlxuIgorI34gIlRoZSBjb21tYW5kIGlzIGBtb3VudCBbLXQgZnN0eXBlXSBzb21ldGhpbmcgc29tZXdoZXJlJy5cbiIKKyN+ICJEZXRhaWxzIGZvdW5kIGluIC9ldGMvZnN0YWIgbWF5IGJlIG9taXR0ZWQuXG4iCisjfiAiICAgICAgIG1vdW50IC1hIFstdHwtT10gLi4uICAgICA6IG1vdW50IGFsbCBzdHVmZiBmcm9tIC9ldGMvZnN0YWJcbiIKKyN+ICIgICAgICAgbW91bnQgZGV2aWNlICAgICAgICAgICAgIDogbW91bnQgZGV2aWNlIGF0IHRoZSBrbm93biBwbGFjZVxuIgorI34gIiAgICAgICBtb3VudCBkaXJlY3RvcnkgICAgICAgICAgOiBtb3VudCBrbm93biBkZXZpY2UgaGVyZVxuIgorI34gIiAgICAgICBtb3VudCAtdCB0eXBlIGRldiBkaXIgICAgOiBvcmRpbmFyeSBtb3VudCBjb21tYW5kXG4iCisjfiAiTm90ZSB0aGF0IG9uZSBkb2VzIG5vdCByZWFsbHkgbW91bnQgYSBkZXZpY2UsIG9uZSBtb3VudHNcbiIKKyN+ICJhIGZpbGVzeXN0ZW0gKG9mIHRoZSBnaXZlbiB0eXBlKSBmb3VuZCBvbiB0aGUgZGV2aWNlLlxuIgorI34gIk9uZSBjYW4gYWxzbyBtb3VudCBhbiBhbHJlYWR5IHZpc2libGUgZGlyZWN0b3J5IHRyZWUgZWxzZXdoZXJlOlxuIgorI34gIiAgICAgICBtb3VudCAtLWJpbmQgb2xkZGlyIG5ld2RpclxuIgorI34gIm9yIG1vdmUgYSBzdWJ0cmVlOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1vdmUgb2xkZGlyIG5ld2RpclxuIgorI34gIk9uZSBjYW4gY2hhbmdlIHRoZSB0eXBlIG9mIG1vdW50IGNvbnRhaW5pbmcgdGhlIGRpcmVjdG9yeSBkaXI6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1zaGFyZWQgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1zbGF2ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXByaXZhdGUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS11bmJpbmRhYmxlIGRpclxuIgorI34gIk9uZSBjYW4gY2hhbmdlIHRoZSB0eXBlIG9mIGFsbCB0aGUgbW91bnRzIGluIGEgbW91bnQgc3VidHJlZVxuIgorI34gImNvbnRhaW5pbmcgdGhlIGRpcmVjdG9yeSBkaXI6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1yc2hhcmVkIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNsYXZlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnByaXZhdGUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ydW5iaW5kYWJsZSBkaXJcbiIKKyN+ICJBIGRldmljZSBjYW4gYmUgZ2l2ZW4gYnkgbmFtZSwgc2F5IC9kZXYvaGRhMSBvciAvZGV2L2Nkcm9tLFxuIgorI34gIm9yIGJ5IGxhYmVsLCB1c2luZyAgLUwgbGFiZWwgIG9yIGJ5IHV1aWQsIHVzaW5nICAtVSB1dWlkIC5cbiIKKyN+ICJPdGhlciBvcHRpb25zOiBbLW5mRnJzdnddIFstbyBvcHRpb25zXSBbLXAgcGFzc3dkZmRdLlxuIgorI34gIkZvciBtYW55IG1vcmUgZGV0YWlscywgc2F5ICBtYW4gOCBtb3VudCAuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJLdWxsYW7EsW3EsTogbW91bnQgW3Nlw6dlbmVrbGVyXSBbYXlnxLF0XSBbZGl6aW5dXG4iCisjfiAiQmlsZ2lsZW5kaXJtZTpcbiIKKyN+ICIgIG1vdW50ICAgICAgICAgICAgICAgICBiYcSfbMSxIGRvc3lhIHNpc3RlbWxlcmluaSBnw7ZzdGVyaXIuXG4iCisjfiAiICBtb3VudCAtbCAgICAgICAgICAgICAgw7xzdHRla2luZSBlayBvbGFyYWsgYsO2bMO8bSBldGlrZXRsZXJpbmkgZ8O2c3RlcmlyXG4iCisjfiAiICBtb3VudCAtViAgICAgICAgICAgICAgc8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKyN+ICIgIG1vdW50IC1oICAgICAgICAgICAgICBidSB5YXJkxLFtIGlsZXRpc2luaSBnw7ZzdGVyaXJcbiIKKyN+ICJcbiIKKyN+ICJCaXIgYXlnxLF0xLEgYmHEn2xhbWE6XG4iCisjfiAiICBtb3VudCAtYSBbLXR8LU9dIC4uLiAvZXRjL2ZzdGFiJ2RhIGJ1bHVuYW5sYXLEsW4gdGFtYW3EsW7EsSBiYcSfbGFyXG4iCisjfiAiICBtb3VudCBheWfEsXQgICAgICAgICAgYnUgYXlnxLF0xLEgL2V0Yy9mc3RhYidkYSBiZWxpcnRpbG1pxZ8gZGl6aW5lIGJhxJ9sYXJcbiIKKyN+ICIgIG1vdW50IGRpemluICAgICAgICAgIGJ1IGRpemluZSAvZXRjL2ZzdGFiJ2RhIGJlbGlydGlsbWnFnyBheWfEsXTEsSBiYcSfbGFyXG4iCisjfiAiICBtb3VudCAtdCBUw5xSIEFZR0lUIETEsFrEsE4gICAgIFTDnFIgdMO8csO8bmRla2kgQVlHSVTEsSBExLBaxLBOZSBiYcSfbGFyXG4iCisjfiAiXG4iCisjfiAiQmHEn2zEsSBiaXIgZG9zeWEgc2lzdGVtaW5kZWtpIGnFn2xlbWxlcjpcbiIKKyN+ICIgIG1vdW50IC0tYmluZCBFU0vEsETEsFrEsE4gWUVOxLBExLBaxLBOXG4iCisjfiAiICAgICAgICAgICAgICAgICBFU0vEsETEsFrEsE5kZSBiYcSfbMSxIG9sYW4gYXlnxLF0xLEgWUVOxLBExLBaxLBOZSB5ZW5pZGVuIGJhxJ9sYXJcbiIKKyN+ICIgIG1vdW50IC0tbW92ZSBFU0vEsETEsFrEsE4gWUVOxLBExLBaxLBOXG4iCisjfiAiICAgICAgICAgICAgICAgICBFU0vEsETEsFrEsE5kZSBiYcSfbMSxIG9sYW4gYXlnxLF0xLFuIGRvc3lhIHNpc3RlbWluZGVraSB5ZXJpbmlcbiIKKyN+ICIgICAgICAgICAgICAgICAgIFlFTsSwRMSwWsSwTiBvbGFyYWsgZGXEn2nFn3RpcmlyLlxuIgorI34gIlxuIgorI34gIkRpxJ9lciBzZcOnZW5la2xlcjogWy1uZkZyc3Z3XSBbLW8gc2XDp2VuZWtsZXJdIFstcCBwYXJvbGFdLlxuIgorI34gIiAgbW91bnQgLW8gcmVtb3VudCxybyBExLBaxLBOICAgICBExLBaxLBOaSBzYWx0LW9rdW51ciBvbGFyYWsgeWVuaWRlbiBiYcSfbGFyLlxuIgorI34gIiAgbW91bnQgLW8gcmVtb3VudCxydyBExLBaxLBOICAgICBExLBaxLBOaSBva3UteWF6IG9sYXJhayB5ZW5pZGVuIGJhxJ9sYXIuXG4iCisjfiAiXG4iCisjfiAiw4dldmlyaSBoYXRhbGFyxLFuxLEgPGdudS10ckBiZWxnZWxlci5vcmc+IGFkcmVzaW5lIGJpbGRpcmluaXouXG4iCisjfiAiRGFoYSBmYXpsYSBiaWxnaSBlZGlubWVrIGnDp2luICdtYW4gOCBtb3VudCcgeWF6YWJpbGlyc2luaXouXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCisjfiBtc2dzdHIgIm1vdW50OiBidW51IHNhZGVjZSByb290IHlhcGFiaWxpciIKKworI34gbXNnaWQgIm1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCisjfiBtc2dzdHIgIm1vdW50OiBidW51IHNhZGVjZSByb290IHlhcGFiaWxpciIKKworI34gbXNnaWQgIm5vdGhpbmcgd2FzIG1vdW50ZWQiCisjfiBtc2dzdHIgImhpw6diaXIgxZ9leSBiYcSfbGFubWFkxLEiCisKKyN+IG1zZ2lkICJtb3VudDogbm8gc3VjaCBwYXJ0aXRpb24gZm91bmQiCisjfiBtc2dzdHIgIm1vdW50OiBiw7Z5bGUgYmlyIGRpc2sgYsO2bMO8bcO8IHlvayIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBmaW5kICVzIGluICVzIG9yICVzIgorI34gbXNnc3RyICJtb3VudDogJXMgICVzIHlhIGRhICVzIGnDp2luZGUgYnVsdW5hbcSxeW9yIgorCisjfiBtc2dpZCAiW21udGVudF06IHdhcm5pbmc6IG5vIGZpbmFsIG5ld2xpbmUgYXQgdGhlIGVuZCBvZiAlc1xuIgorI34gbXNnc3RyICJbbW50ZW50XTogdXlhcsSxOiAlcyBkb3N5YXPEsW7EsW4gc29udW5kYSBzb24gYmlyIHNhdMSxcnNvbnUgZ2VyZWtsaVxuIgorCisjfiBtc2dpZCAiW21udGVudF06IGxpbmUgJWQgaW4gJXMgaXMgYmFkJXNcbiIKKyN+IG1zZ3N0ciAiW21udGVudF06ICVkIHNhdMSxcsSxICVzIGRvc3lhc8SxbmRhIGhhdGFsxLElc1xuIgorCisjfiBtc2dpZCAiOyByZXN0IG9mIGZpbGUgaWdub3JlZCIKKyN+IG1zZ3N0ciAiOyBkb3N5YW7EsW4ga2FsYW7EsSB5b2tzYXnEsWxkxLEiCisKKyN+IG1zZ2lkICJub3QgZW5vdWdoIG1lbW9yeSIKKyN+IG1zZ3N0ciAieWV0ZXJsaSBiZWxsZWsgeW9rIgorCisjfiBtc2dpZCAidW1vdW50OiBjb21waWxlZCB3aXRob3V0IHN1cHBvcnQgZm9yIC1mXG4iCisjfiBtc2dzdHIgInVtb3VudDogLWYgacOnaW4gZGVzdGVrIGnDp2VybWVrc2l6aW4gZGVybGVubWnFn1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogY2Fubm90IHNldCBncm91cCBpZDogJW0iCisjfiBtc2dzdHIgIm1vdW50OiBoxLF6IGF5YXJsYW5hbcSxeW9yOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBzZXQgdXNlciBpZDogJW0iCisjfiBtc2dzdHIgIm1vdW50OiBoxLF6IGF5YXJsYW5hbcSxeW9yOiAlcyIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IGZvcms6ICVzIgorI34gbXNnc3RyICJ1bW91bnQ6IGFzdCBzw7xyZcOnIG9sdcWfdHVydWxhbcSxeW9yOiAlcyIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGludmFsaWQgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBibG9rIGF5Z8SxdMSxIGdlw6dlcnNpeiIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG5vdCBtb3VudGVkIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBiYcSfbGFubWFkxLEiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBzdXBlcmJsb2sgeWF6xLFsYW3EsXlvciIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG5vdCBmb3VuZCIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogeW9rIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdW1vdW50IgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBiYcSfxLEga2FsZMSxcm1hayBpw6dpbiByb290IGdlcmVrbGkiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBibG9jayBkZXZpY2VzIG5vdCBwZXJtaXR0ZWQgb24gZnMiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IGRvc3lhIHNpc3RlbWluZGUgYmxvayBheWfEsXRsYXJhIGl6aW4geW9rIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogJXMiCisjfiBtc2dzdHIgInVtb3VudDogJXM6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogZmFpbGVkIHRvIGNoZGlyIHRvICVzOiAlbSIKKyN+IG1zZ3N0ciAibmFtZWk6ICVzIGRpemluaW5lIGdlw6dpbGVtaXlvciAtICVzICglZClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGZhaWxlZCB0byBvYnRhaW4gY3VycmVudCBkaXJlY3Rvcnk6ICVtIgorI34gbXNnc3RyICJuYW1laTogw6dhbMSxxZ/EsWxhbiBkaXppbmUgZ2XDp2lsZW1peW9yIC0gJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IG1vdW50cG9pbnQgbW92ZWQgKCVzIC0+ICVzKSIKKyN+IG1zZ3N0ciAibW91bnQ6IGJhxJ9sYW1hIG5va3Rhc8SxICVzIHlvayIKKworI34gbXNnaWQgIm5vIHVtb3VudDIsIHRyeWluZyB1bW91bnQuLi5cbiIKKyN+IG1zZ3N0ciAidW1vdW50MiB5b2ssIHVtb3VudCBkZW5lbml5b3IuLi5cbiIKKworI34gbXNnaWQgInVtb3VudDogJXMgYnVzeSAtIHJlbW91bnRlZCByZWFkLW9ubHlcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBtZcWfZ3VsLSBzYWx0LW9rdW51ciBvbGFyYWsgeWVuaWRlbiBiYcSfbGFuZMSxXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNvdWxkIG5vdCByZW1vdW50ICVzIHJlYWQtb25seVxuIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIHNhbHQgb2t1bnVyIG9sYXJhayB5ZW5pZGVuIGJhxJ9sYW5hbcSxeW9yXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgaGFzIGJlZW4gdW5tb3VudGVkXG4iCisjfiBtc2dzdHIgIiVzIHNpc3RlbWRlbiBheXLEsWxkxLFcbiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IGZpbmQgbGlzdCBvZiBmaWxlc3lzdGVtcyB0byB1bm1vdW50IgorI34gbXNnc3RyICJ1bW91bnQ6IGF5csSxbGFjYWsgZG9zeWEgc2lzdGVtbGVyaW5pbiBsaXN0ZXNpIGJ1bHVuYW3EsXlvciIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IHVtb3VudCAtaCB8IC1WXG4iCisjfiAiICAgICAgIHVtb3VudCAtYSBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gWy10IHZmc3R5cGVzXSBbLU8gb3B0c11cbiIKKyN+ICIgICAgICAgdW1vdW50IFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBzcGVjaWFsIHwgbm9kZS4uLlxuIgorI34gbXNnc3RyICIiCisjfiAiS3VsbGFuxLFtxLE6IHVtb3VudCBbLWhWXVxuIgorI34gIiAgICAgICB1bW91bnQgLWEgWy1mXSBbLWxdIFstcl0gWy1uXSBbLXZdIFstdCBkcy10w7xyw7xdIFstTyBzZcOnZW5la2xlcl1cbiIKKyN+ICIgICAgICAgdW1vdW50IFstZl0gWy1yXSBbLW5dIFstdl0gw7Z6ZWwgfCBkw7zEn8O8bS4uLlxuIgorI34gIkJhxJ9sxLEgZG9zeWEgc2lzdGVtbGVyaW5pIGF5xLFybWFrIGnDp2luIGt1bGxhbsSxbMSxci5cbiIKKyN+ICIgIC1oICAgICAgICAgIGJ1IHlhcmTEsW0gaWxldGlzaW5pIGfDtnN0ZXJpciB2ZSDDp8Sxa2FyXG4iCisjfiAiICAtViAgICAgICAgICBzw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpciB2ZSDDp8Sxa2FyXG4iCisjfiAiICAtYSAgICAgICAgICAvZXRjL210YWInZGEga2F5xLF0bMSxIHTDvG0gZG9zeWEgc2lzdGVtbGVyaW5pIGF5xLFyxLFyXG4iCisjfiAiICAtdiAgICAgICAgICDDp8Sxa3TEsSBheXLEsW50xLEgacOnZXJpclxuIgorI34gIiAgLW4gICAgICAgICAgL2V0Yy9tdGFiIGRvc3lhc8SxbmEgeWF6bWF6XG4iCisjfiAiICAtciAgICAgICAgICBhecSxcm1hIGJhxZ9hcsSxc8SxeiBvbHVyc2Egc2FsdC1va3VudXIgb2xhcmFrIGJhxJ9sYW1hecSxIGRlbmVyXG4iCisjfiAiICAtZiAgICAgICAgICBkb3N5YSBzaXN0ZW1pIGVyacWfaWxlYmlsaXIgZGXEn2lsc2UgYmlsZSBkb3N5YSBzaXN0ZW1pbmkgYXnEsXLEsXJcbiIKKyN+ICIgIC1sICAgICAgICAgIGRvc3lhIHNpc3RlbWluaSBtdXRsYWthIGF5xLFyxLFyLiAoZW4gYXogbGludXgtMi40LjExIGdlcmVraXIpXG4iCisjfiAiICAtdCBkcy10w7xyw7wgIC1hIHNlw6dlbmXEn2kgaWxlIGt1bGxhbsSxbGTEscSfxLFuZGEgc2FkZWNlIHTDvHLDvCBiZWxpcnRpbGVuIGRvc3lhXG4iCisjfiAiICAgICAgICAgICAgICBzaXN0ZW1sZXJpbmkgYXnEsXLEsXJcbiIKKyN+ICJcbiIKKyN+ICLDh2V2aXJpIGhhdGFsYXLEsW7EsSA8Z251LXRyQGJlbGdlbGVyLm9yZz4gYWRyZXNpbmUgYmlsZGlyaW5pelxuIgorI34gIkRhaGEgZmF6bGEgYmlsZ2kgZWRpbm1layBpw6dpbiAnbWFuIDggdW1vdW50JyB5YXrEsW7EsXouXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlICdvZmZzZXQ9JXMnIG9wdGlvbnNcbiIKKyN+IG1zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZGV2aWNlICVzIGlzIGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICJTZWt0w7ZyICVkIHphdGVuIGt1bGxhbsSxbWRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZGV2aWNlICVzIGlzIG5vdCBhc3NvY2lhdGVkIHdpdGggJXNcbiIKKyN+IG1zZ3N0ciAiU2VrdMO2ciAlZCB6YXRlbiBrdWxsYW7EsW1kYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNhbm5vdCB1bm1vdW50IFwiXCJcbiIKKyN+IG1zZ3N0ciAiXCJcIiBheXLEsWxhbWF6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVHJ5aW5nIHRvIHVubW91bnQgJXNcbiIKKyN+IG1zZ3N0ciAiJXMgc2lzdGVtZGVuIGF5csSxbG1heWEgw6dhbMSxxZ/EsWzEsXlvclxuIgorCisjfiBtc2dpZCAiQ291bGQgbm90IGZpbmQgJXMgaW4gbXRhYlxuIgorI34gbXNnc3RyICJtdGFiIGnDp2luZGUgJXMgYnVsdW5hbWFkxLFcbiIKKworI34gbXNnaWQgInVtb3VudDogJXMgaXMgbm90IG1vdW50ZWQgKGFjY29yZGluZyB0byBtdGFiKSIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBiYcSfbMSxIGRlxJ9pbCAobXRhYiBpw6dpbmRlIHlvaykiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGl0IHNlZW1zICVzIGlzIG1vdW50ZWQgbXVsdGlwbGUgdGltZXMiCisjfiBtc2dzdHIgInVtb3VudDogJXMgZGVmYWxhcmNhIGJhxJ9sYW5txLHFnyBnw7Zyw7xuw7x5b3IiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGlzIG5vdCBpbiB0aGUgZnN0YWIgKGFuZCB5b3UgYXJlIG5vdCByb290KSIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBmc3RhYiBpw6dpbmRlIHlvayAodmUgc2l6IHJvb3QgZGXEn2lsc2luaXopIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBtb3VudCBkaXNhZ3JlZXMgd2l0aCB0aGUgZnN0YWIiCisjfiBtc2dzdHIgInVtb3VudDogJXMgYmHEn8SxIGZzdGFiIGlsZSDDp2VsacWfaXlvciIKKworI34gbXNnaWQgInVtb3VudDogb25seSAlcyBjYW4gdW5tb3VudCAlcyBmcm9tICVzIgorI34gbXNnc3RyICJ1bW91bnQ6IHNhZGVjZSAlMSRzICUzJHMgYXlnxLF0xLFuxLEgJTIkcyBkaXppbmluZGVuIGF5xLFyYWJpbGlyIgorCisjfiBtc2dpZCAidW1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCisjfiBtc2dzdHIgInVtb3VudDogYnUgc2FkZWNlIHJvb3QgdGFyYWbEsW5kYW4geWFwxLFsYWJpbGlyIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPHR0eT4gWy4uLl1cbiIKKyN+IG1zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFtzZcOnZW5la2xlcl0gYXlnxLF0IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtUywgLS1zZXQtZGVmYXVsdC10aHJlc2hvbGQgPG51bT4gIHNldCBkZWZhdWx0IHRocmVzaG9sZCB2YWx1ZVxuIgorI34gbXNnc3RyICIlczogJWxkIGXFn2lrIHZlICVsZCB6YW1hbiBhxZ/EsW3EsSDDtm50YW7EsW1sxLFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiRmlsZSAlcywgRm9yIHRocmVzaG9sZCB2YWx1ZSAlbHUsIE1heGltdW0gY2hhcmFjdGVycyBpbiBmaWZvIHdlcmUgJWQsXG4iCisjfiAiYW5kIHRoZSBtYXhpbXVtIHRyYW5zZmVyIHJhdGUgaW4gY2hhcmFjdGVycy9zZWNvbmQgd2FzICVmIgorI34gbXNnc3RyICIiCisjfiAiRG9zeWEgJXMsIGXFn2lrIGRlxJ9lcmkgJWx1LCBmaWZvJ2Rha2kgZW4gZmF6bGEga2FyYWt0ZXIgc2F5xLFzxLEgJWQgdmVcbiIKKyN+ICJrYXJha3Rlci9zYW5peWUgY2luc2luZGVuIGVuIHnDvGtzZWsgYWt0YXLEsW0gaMSxesSxICVmIGlkaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJGaWxlICVzLCBGb3IgdGhyZXNob2xkIHZhbHVlICVsdSBhbmQgdGltZW91dCB2YWx1ZSAlbHUsIE1heGltdW0gY2hhcmFjdGVycyBpbiBmaWZvIHdlcmUgJWQsXG4iCisjfiAiYW5kIHRoZSBtYXhpbXVtIHRyYW5zZmVyIHJhdGUgaW4gY2hhcmFjdGVycy9zZWNvbmQgd2FzICVmIgorI34gbXNnc3RyICIiCisjfiAiRG9zeWEgJXMsIGXFn2lrIGRlxJ9lcmkgJWx1LCB6YW1hbiBhxZ/EsW3EsSBkZcSfZXJpICVsdSxcbiIKKyN+ICJmaWZvJ2Rha2kgZW4gZmF6bGEga2FyYWt0ZXIgc2F5xLFzxLEgJWQgdmVcbiIKKyN+ICJrYXJha3Rlci9zYW5peWUgY2luc2luZGVuIGVuIHnDvGtzZWsgYWt0YXLEsW0gaMSxesSxICVmIGlkaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBpc3N1ZSBDWUdFVE1PTiBvbiAlcyIKKyN+IG1zZ3N0ciAiJXMgw7x6ZXJpbmRlIENZR0VUTU9OIHV5Z3VsYW5hbcSxeW9yOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBnZXQgdGhyZXNob2xkIGZvciAlcyIKKyN+IG1zZ3N0ciAiJXMgacOnaW4gZcWfaWsgZGXEn2VyaSBhbMSxbmFtxLF5b3I6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGdldCB0aW1lb3V0IGZvciAlcyIKKyN+IG1zZ3N0ciAiJXMgacOnaW4gemFtYW4gYcWfxLFtxLEgZGXEn2VyaSBhbMSxbmFtxLF5b3I6ICVzXG4iCisKKyN+IG1zZ2lkICIlczogJWx1IGludHMsICVsdS8lbHUgY2hhcnM7IGZpZm86ICVsdSB0aHJlc2gsICVsdSB0bW91dCwgJWx1IG1heCwgJWx1IG5vd1xuIgorI34gbXNnc3RyICIlczogJWx1IGtlc21lLCAlbHUvJWx1IGthcmt0OyBmaWZvOiAlbHUgZcWfaWssICVsdSB6YW0uYcWfLCBlbsOnb2sgJWx1LCDFn3VhbiAlbHVcbiIKKworI34gbXNnaWQgIiAgICVmIGludC9zZWM7ICVmIHJlYywgJWYgc2VuZCAoY2hhci9zZWMpXG4iCisjfiBtc2dzdHIgIiAgICVmIGtlc21lL3M7ICVmIGthecSxdCwgJWYgZ8O2bmRlcmkgKGthcmt0L3MpXG4iCisKKyN+IG1zZ2lkICIlczogJWx1IGludHMsICVsdSBjaGFyczsgZmlmbzogJWx1IHRocmVzaCwgJWx1IHRtb3V0LCAlbHUgbWF4LCAlbHUgbm93XG4iCisjfiBtc2dzdHIgIiVzOiAlbHUga2VzbWUsICVsdSBrYXJha3RlcjsgZmlmbzogZcWfaWsgJWx1LCB6YW1hbiBhxZ/EsW3EsSAlbHUsIGVuIMOnb2sgJWx1LCDFn2ltZGlraSAlbHVcbiIKKworI34gbXNnaWQgIiAgICVmIGludC9zZWM7ICVmIHJlYyAoY2hhci9zZWMpXG4iCisjfiBtc2dzdHIgIiAgICVmIGtlc21lL3NlYzsgJWYga2F5xLF0IChrYXJrdC9zKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgaW50ZXJ2YWwgdmFsdWUiCisjfiBtc2dzdHIgIkFyYWzEsWsgZGXEn2VyaSBnZcOnZXJzaXo6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBpbnRlcnZhbCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIkFyYWzEsWsgZGXEn2VyaSBnZcOnZXJzaXo6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdmFsdWUiCisjfiBtc2dzdHIgIkF5YXIgZGXEn2VyaSBnZcOnZXJzaXo6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdmFsdWU6ICVkIgorI34gbXNnc3RyICJBeWFyIGRlxJ9lcmkgZ2XDp2Vyc2l6OiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB2YWx1ZSIKKyN+IG1zZ3N0ciAiw5ZudGFuxLFtbMSxIGRlxJ9lciBnZcOnZXJzaXo6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiw5ZudGFuxLFtbMSxIGRlxJ9lciBnZcOnZXJzaXo6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdGltZSB2YWx1ZSIKKyN+IG1zZ3N0ciAiWmFtYW4gYXlhciBkZcSfZXJpIGdlw6dlcnNpejogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiWmFtYW4gYXlhciBkZcSfZXJpIGdlw6dlcnNpejogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdGltZSB2YWx1ZSIKKyN+IG1zZ3N0ciAiw5ZudGFuxLFtbMSxIHphbWFuIGRlxJ9lcmkgZ2XDp2Vyc2l6OiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB0aW1lIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiw5ZudGFuxLFtbMSxIHphbWFuIGRlxJ9lcmkgZ2XDp2Vyc2l6OiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzZXQgJXMgdG8gdGhyZXNob2xkICVkIgorI34gbXNnc3RyICIlcyAlZCBlxZ9payBkZcSfZXJpbmUgYXlhcmxhbmFtxLF5b3I6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHNldCAlcyB0byB0aW1lIHRocmVzaG9sZCAlZCIKKyN+IG1zZ3N0ciAiJXMgJWQgemFtYW4gZcWfaWsgZGXEn2VyaW5lIGF5YXJsYW5hbcSxeW9yOiAlc1xuIgorCisjfiBtc2dpZCAiJXM6ICVsZCBjdXJyZW50IHRocmVzaG9sZCBhbmQgJWxkIGN1cnJlbnQgdGltZW91dFxuIgorI34gbXNnc3RyICIlczogJWxkIGXFn2lrIHZlICVsZCB6YW1hbiBhxZ/EsW3EsSBtZXZjdXRcbiIKKworI34gbXNnaWQgIiVzOiAlbGQgZGVmYXVsdCB0aHJlc2hvbGQgYW5kICVsZCBkZWZhdWx0IHRpbWVvdXRcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCBlxZ9payB2ZSAlbGQgemFtYW4gYcWfxLFtxLEgw7ZudGFuxLFtbMSxXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlRpbWUgZWxhcHNlZCBzaW5jZSByZWZlcmVuY2UgdGltZSBoYXMgYmVlbiAlLjZmIHNlY29uZHMuXG4iCisjfiAiRGVsYXlpbmcgZnVydGhlciB0byByZWFjaCB0aGUgbmV3IHRpbWUuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJCYcWfbGFuZ8Sxw6cgemFtYW7EsW5kYW4gYmVyaSBnZcOnZW4gemFtYW4gJS42ZiBzYW5peWUgb2xkdS5cbiIKKyN+ICJHZWNpa21lIHNvbnJha2kgdGFtIHNhbml5ZXllIGthZGFyIG9sYW5kYW4gZGFoYSBmYXpsYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGRldGVybWluZSBzb3VyY2UiCisjfiBtc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdGVybSA8dGVybWluYWxfbmFtZT5cbiIKKyN+IG1zZ3N0ciAiICBbIC10ZXJtIHRlcm1pbmFsX2lzbWkgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtcmVzZXRcbiIKKyN+IG1zZ3N0ciAiICBbIC1yZXNldCBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1pbml0aWFsaXplXG4iCisjfiBtc2dzdHIgIiAgWyAtaW5pdGlhbGl6ZSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1jdXJzb3IgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1jdXJzb3IgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtcmVwZWF0IDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtcmVwZWF0IFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWFwcGN1cnNvcmtleXMgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWxpbmV3cmFwIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtbGluZXdyYXAgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZGVmYXVsdFxuIgorI34gbXNnc3RyICIgIFsgLWRlZmF1bHQgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaW52ZXJzZXNjcmVlbiA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWludmVyc2VzY3JlZW4gW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYm9sZCA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWJvbGQgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYmxpbmsgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1ibGluayBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yZXZlcnNlIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtcmV2ZXJzZSBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC11bmRlcmxpbmUgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC11bmRlcmxpbmUgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtc3RvcmVcbiIKKyN+IG1zZ3N0ciAiICBbIC1zdG9yZSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1jbGVhciA8YWxsfHJlc3Q+XG4iCisjfiBtc2dzdHIgIiAgWyAtY2xlYXIgW2FsbHxyZXN0XSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC10YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+IG1zZ3N0ciAiICBbIC10YWJzIFsgdGFiMSB0YWIyIHRhYjMgLi4uIF0gXSAgICAgICh0YWJuID0gMS0xNjApXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1jbHJ0YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+IG1zZ3N0ciAiICBbIC1jbHJ0YWJzIFsgdGFiMSB0YWIyIHRhYjMgLi4uIF0gXSAgICh0YWJuID0gMS0xNjApXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yZWd0YWJzIDwxLTE2MD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1yZWd0YWJzIFsxLTE2MF0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYmxhbmsgPDAtNjB8Zm9yY2V8cG9rZT5cbiIKKyN+IG1zZ3N0ciAiICBbIC1ibGFuayBbMC02MF0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZHVtcCAgIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gbXNnc3RyICIgIFsgLWR1bXAgICBbMS1Lb25zb2xfbnJdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWFwcGVuZCA8MS1OUl9DT05TT0xFUz5cbiIKKyN+IG1zZ3N0ciAiICBbIC1hcHBlbmQgWzEtS29uc29sX25yXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1maWxlIGR1bXBmaWxlbmFtZVxuIgorI34gbXNnc3RyICIgIFsgLWZpbGUgZMO2a8O8bURvc3lhc8SxIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW1zZyA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLW1zZyBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1tc2dsZXZlbCA8MC04PlxuIgorI34gbXNnc3RyICIgIFsgLW1zZ2xldmVsIFswLThdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXBvd2VyZG93biA8MC02MD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1wb3dlcmRvd24gWzAtNjBdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWJsZW5ndGggPDAtMjAwMD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1ibGVuZ3RoIFswLTIwMDBdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWJmcmVxIGZyZXFudW1iZXJcbiIKKyN+IG1zZ3N0ciAiICBbIC1iZnJlcSBmcmVrYW5zX25yIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJFcnJvciB3cml0aW5nIHNjcmVlbmR1bXAiCisjfiBtc2dzdHIgIkVrcmFuIGTDtmvDvG3DvCB5YXrEsWzEsXJrZW4gaGF0YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNvdWxkbid0IHJlYWQgbmVpdGhlciAvZGV2L3Zjc2EwIG5vciAvZGV2L3Zjc2EiCisjfiBtc2dzdHIgIi9kZXYvdHR5MSB2ZXlhIC9kZXYvdmMvMSBhw6fEsWxhbcSxeW9yIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFtzZcOnZW5la2xlcl0gYXlnxLF0IC4uLlxuIgorCisjfiBtc2dpZCAibGluZSB0b28gbG9uZyIKKyN+IG1zZ3N0ciAic2F0xLFyIMOnb2sgdXp1biIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YWlkcGlkIGZhaWxlZCIKKyN+IG1zZ3N0ciAic2V0dWlkKCkgYmHFn2FyxLFzxLF6IgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCisjfiBtc2dzdHIgIiVkIGRpc2sgYsO2bMO8bcO8IHphdGVuIGF0YW5txLHFny4gWWVuaWRlbiBla2xlbWVkZW4gw7ZuY2Ugc2lsbWVsaXNpbml6LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAlemQgaXMgYWxyZWFkeSBkZWZpbmVkLiBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCisjfiBtc2dzdHIgIiVkIGRpc2sgYsO2bMO8bcO8IHphdGVuIGF0YW5txLHFny4gWWVuaWRlbiBla2xlbWVkZW4gw7ZuY2Ugc2lsbWVsaXNpbml6LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6ICBCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi4iCisjfiBtc2dzdHIgIiIKKyN+ICJVeWFyxLE6ICBCTEtHRVRTSVpFIGlvY3RsICVzIMO8emVyaW5kZSBiYcWfYXLEsXPEsXouICBTaWxpbmRpciBnZW9tZXRyaXNpIGnDp2luICVkXG4iCisjfiAiZGXEn2VyaSBrdWxsYW7EsWzEsXlvci4gQnUgZGXEn2VyIDMzLjggR0InZGFuIGLDvHnDvGsgYXlnxLF0bGFyZGEga8SxcnDEsWxhYmlsaXIuXG4iCisKKyN+IG1zZ2lkICJzZXQgYmxvY2tzaXplIgorI34gbXNnc3RyICJibG9rIHV6dW5sdcSfdSBiZWxpcnRpbGlyIgorCisjfiBtc2dpZCAib25lIGJhZCBibG9ja1xuIgorI34gbXNnc3RyICJiaXIgYm96dWsgYmxva1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiB0eXBlIGhleCBvciB1dWlkIgorI34gbXNnc3RyICIjICVzIGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiBtc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbc2XDp2VuZWtsZXJdIGF5Z8SxdCAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZWFkIGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAiKFNvbnJha2kgZG9zeWE6ICVzKSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAiZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBmYWlsZWQ6ICVkIgorI34gbXNnc3RyICJlcmnFn2ltIGJhxZ9hcsSxc8SxeiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBmYWlsZWQ6ICVkIgorI34gbXNnc3RyICIoU29ucmFraSBkb3N5YTogJXMpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZCIKKyN+IG1zZ3N0ciAiQXRhbm3EscWfIGRpc2sgYsO2bMO8bcO8IHlva1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgbGlzdCBhbGwgdXNlZCBkZXZpY2VzXG4iCisjfiAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4gWy4uLl0gIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCisjfiAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIGRldGFjaCBhbGwgdXNlZCBkZXZpY2VzXG4iCisjfiAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorI34gIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICByZXNpemUgZGV2aWNlXG4iCisjfiAiIC1qLCAtLWFzc29jaWF0ZWQgPGZpbGU+ICAgICAgIGxpc3QgYWxsIGRldmljZXMgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorI34gbXNnc3RyICIiCisjfiAia3VsbGFuxLFtxLE6XG4iCisjfiAiICAlcyBsb29wX2F5Z8SxdMSxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBiaWxnaSB2ZXJpbGlyXG4iCisjfiAiICAlcyAtZCBsb29wX2F5Z8SxdMSxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBzaWxtZVxuIgorI34gIiAgJXMgLWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGt1bGxhbsSxbG1hbcSxxZ9sYXJcbiIKKyN+ICIgICVzIFsgLWUgxZ9pZnJlbGVtZSBdIFsgLW8ga29udW0gXSB7LWZ8bG9vcF9heWfEsXTEsX0gZG9zeWEgIyBheWFybGFtYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlLCBvZmZzZXQgaXMgbm90IDUxMi1ieXRlIGFsaWduZWQuIgorI34gbXNnc3RyICJ0YWthcyBhbGFuxLFuZGEgYmHFn2EgZ2lkaWxlbWl5b3IiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5zc3Vwb3J0ZWQgLS1sb2NhbC1saW5lIG1vZGUgYXJndW1lbnQiCisjfiBtc2dzdHIgIiVzOiBiaWxpbm1leWVuIGFyZ8O8bWFuOiAlc1xuIgorCisjfiBtc2dpZCAidXNhZ2U6XG4iCisjfiBtc2dzdHIgImt1bGxhbsSxbcSxOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1pc3NpbmcgYmxvY2tkZXZpY2UsIHVzZSAtaCBmb3IgaGVscFxuIgorI34gbXNnc3RyICIlcyBiaXIgYmxvayBheWfEsXTEsSB5YSBkYSBkb3N5YXPEsSBkZcSfaWxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlZGl0aW9uIG51bWJlciBhcmd1bWVudCBmYWlsZWQiCisjfiBtc2dzdHIgImF6YW1pIGLDtmzDvHQgc2F5xLFzxLEgPSAlbHVcbiIKKworI34gbXNnaWQgImZzeW5jIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZnN5bmMgaGF0YSB2ZXJkaSIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICJQcmludCB2ZXJzaW9uOlxuIgorI34gIiAgICAgICAgJXMgLXZcbiIKKyN+ICJQcmludCBwYXJ0aXRpb24gdGFibGU6XG4iCisjfiAiICAgICAgICAlcyAtUCB7cnxzfHR9IFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+ICJJbnRlcmFjdGl2ZSB1c2U6XG4iCisjfiAiICAgICAgICAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICItYTogVXNlIGFycm93IGluc3RlYWQgb2YgaGlnaGxpZ2h0aW5nO1xuIgorI34gIi16OiBTdGFydCB3aXRoIGEgemVybyBwYXJ0aXRpb24gdGFibGUsIGluc3RlYWQgb2YgcmVhZGluZyB0aGUgcHQgZnJvbSBkaXNrO1xuIgorI34gIi1jIEMgLWggSCAtcyBTOiBPdmVycmlkZSB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgbnVtYmVyIG9mIGN5bGluZGVycyxcbiIKKyN+ICIgICAgICAgICAgICAgICAgdGhlIG51bWJlciBvZiBoZWFkcyBhbmQgdGhlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiS3VsbGFuxLFtxLE6XG4iCisjfiAiU8O8csO8bcO8IGfDtnN0ZXI6XG4iCisjfiAiICAgICAgICAlcyAtdlxuIgorI34gIkRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdW51IGfDtnN0ZXI6XG4iCisjfiAiICAgICAgICAlcyAtUCB7cnxzfHR9IFtzZcOnZW5la2xlcl0gYXlnxLF0XG4iCisjfiAiRXRraWxlxZ9pbWxpIGt1bGxhbsSxbTpcbiIKKyN+ICIgICAgICAgICVzIFtzZcOnZW5la2xlcl0gYXlnxLF0XG4iCisjfiAiXG4iCisjfiAiU2XDp2VuZWtsZXI6XG4iCisjfiAiLWE6IEF5ZMSxbmxhdG1hIHllcmluZSBvayBrdWxsYW7EsWzEsXI7XG4iCisjfiAiLXo6IERpc2sgYsO2bMO8bWxlbWUgdGFibG9zdW51IG9rdW1hZGFuIHPEsWbEsXIgdGFibG8gaWxlIGJhxZ9sYXI7XG4iCisjfiAiLWMgQyAtaCBIIC1zIFM6IMOHZWtpcmRla3RlIGthecSxdGzEsSBzaWxpbmRpciBzYXnEsXPEsShDKSwga2FmYSBzYXnEsXPEsShIKSxcbiIKKyN+ICIgICAgICAgICAgICAgICAgc2VrdMO2ci9peiBzYXnEsXPEsShTKSBkZcSfZXJsZXJpbmkgZGXEn2nFn3RpcmlyLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiV3JpdGluZyBkaXNrbGFiZWwgdG8gJXMuXG4iCisjfiBtc2dzdHIgIkRpc2sgZXRpa2V0aSAlcyDDvHplcmluZSB5YXrEsWzEsXlvci5cbiIKKworI34gbXNnaWQgIkxhc3QgJXMgb3IgK3NpemUgb3IgK3NpemVNIG9yICtzaXplSyIKKyN+IG1zZ3N0ciAiU29uICVzLCArc2l6ZSwgK3NpemVNIHZleWEgK3NpemVLIgorCisjfiBtc2dpZCAiUmVhZGluZyBkaXNrbGFiZWwgb2YgJXMgYXQgc2VjdG9yICVkLlxuIgorI34gbXNnc3RyICIlcyBkaXNrIGV0aWtldGkgc2VrdMO2ciAlZCBkZW4gb2t1bnV5b3IuXG4iCisKKyN+IG1zZ2lkICJCU0QgZGlza2xhYmVsIGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCisjfiBtc2dzdHIgIkJTRCBkaXNrIGV0aWtldGkga29tdXR1ICh5YXJkxLFtIGnDp2luIG0pOiAiCisKKyN+IG1zZ2lkICJkcml2ZWRhdGE6ICIKKyN+IG1zZ3N0ciAiYXlnxLF0dmVyaXNpOiIKKworI34gbXNnaWQgIiMgICAgICAgc3RhcnQgICAgICAgZW5kICAgICAgc2l6ZSAgICAgZnN0eXBlICAgW2ZzaXplIGJzaXplICAgY3BnXVxuIgorI34gbXNnc3RyICIjICAgICBiYcWfbGFuZ8Sxw6cgICAgYml0acWfICAgICBib3kgICAgICBkc3TDvHLDvCAgIFtkYm95dSBiYm95dSAgIGNwZ11cbiIKKworI34gbXNnaWQgIk11c3QgYmUgPD0gc2VjdG9ycy90cmFjayAqIHRyYWNrcy9jeWxpbmRlciAoZGVmYXVsdCkuXG4iCisjfiBtc2dzdHIgIiA8PSBzZWt0w7ZyL2l6ICogaXovc2lsaW5kaXIgKMO2bnRhbsSxbWzEsSkgb2xtYWzEsS5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAoYS0lYyk6ICIKKyN+IG1zZ3N0ciAiRGlzayBiw7Zsw7xtw7wgKGEtJWMpOiAiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiB0b28gbWFueSBwYXJ0aXRpb25zICglZCwgbWF4aW11bSBpcyAlZCkuXG4iCisjfiBtc2dzdHIgIlV5YXLEsTogZGlzayBiw7Zsw7xtw7wgc2F5xLFzxLEgw6dvayBmYXpsYSAoJWQsIGVuIMOnb2sgJWQpLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlN5bmNpbmcgZGlza3MuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNrbGVyIGXFn3phbWFubGFuxLF5b3IuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIHNlZWsgb24gJXMiCisjfiBtc2dzdHIgIiVzIMO8emVyaW5kZSBlcmnFn2ltIG9sYW5ha3PEsXpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCisjfiBtc2dzdHIgIiVzIHlhesSxbGFtxLF5b3JcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYXRhbCBlcnJvciIKKyN+IG1zZ3N0ciAiw5Zsw7xtY8O8bCBIYXRhXG4iCisKKyN+IG1zZ2lkICJDb21tYW5kIGFjdGlvbiIKKyN+IG1zZ3N0ciAiIEtvbXV0ICB5YXB0xLHEn8SxIGnFnyAiCisKKyN+IG1zZ2lkICJZb3UgbXVzdCBzZXQiCisjfiBtc2dzdHIgIkJlbGlydGlsbWVsaSIKKworI34gbXNnaWQgImhlYWRzIgorI34gbXNnc3RyICJrYWZhIgorCisjfiBtc2dpZCAiIGFuZCAiCisjfiBtc2dzdHIgIiB2ZSAiCisKKyN+IG1zZ2lkICJVc2luZyBkZWZhdWx0IHZhbHVlICV1XG4iCisjfiBtc2dzdHIgIsOWbnRhbsSxbWzEsSBkZcSfZXIgJXUga3VsbGFuxLFsxLF5b3JcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkIE1CLCAlbGxkIGJ5dGVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkIE1CICVsbGQgYmF5dFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbGQuJWxkIEdCLCAlbGx1IGJ5dGVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkLiVsZCBHQiwgJWxsZCBiYXl0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLCAlbGx1IHNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiLCB0b3BsYW0gJWxsdSBzZWt0w7ZyIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCB3cml0ZSBkaXNrIGxhYmVsIgorI34gbXNnc3RyICJEaXNrIHPDvHLDvGPDvHPDvG5lIHlhesSxbGFtxLF5b3IiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRXJyb3IgY2xvc2luZyBmaWxlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEb3N5YSBrYXBhdMSxbMSxcmtlbiBoYXRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogc2V0dGluZyBzZWN0b3Igb2Zmc2V0IGZvciBET1MgY29tcGF0aWJpbGl0eVxuIgorI34gbXNnc3RyICJVeWFyxLE6IFNla3TDtnIgaGl6YWxhbWFzxLEgRE9TIHV5dW1sdSBvbGFyYWsgeWFwxLFsxLF5b3JcbiIKKworI34gbXNnaWQgIkRldGVjdGVkIGFuIE9TRi8xIGRpc2tsYWJlbCBvbiAlcywgZW50ZXJpbmcgZGlza2xhYmVsIG1vZGUuXG4iCisjfiBtc2dzdHIgIiVzIMO8emVyaW5kZSBPU0YvMSBkaXNrIGV0aWtldGkgc2FwdGFuZMSxLCBkaXNrIGV0aWtldGkga2lwaW5lIGdpcmlsaXlvci5cbiIKKworI34gbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGVcbiIKKyN+IG1zZ3N0ciAiQm/Fn3RhIHNla3TDtnIgeW9rXG4iCisKKyN+IG1zZ2lkICIgICAgIHBoeXM9KCVkLCAlZCwgJWQpICIKKyN+IG1zZ3N0ciAiIGZpemlrc2VsPSglZCwgJWQsICVkKSAiCisKKyN+IG1zZ2lkICJsb2dpY2FsPSglZCwgJWQsICVkKVxuIgorI34gbXNnc3RyICJtYW50xLFrc2FsPSglZCwgJWQsICVkKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IGJhZCBzdGFydC1vZi1kYXRhIGluIHBhcnRpdGlvbiAlemRcbiIKKyN+IG1zZ3N0ciAiVXlhcsSxOiAlZCBkaXNrIGLDtmzDvG3DvG7DvG4gdmVyaS1iYcWfbGFuZ8SxY8SxIGhhdGFsxLFcbiIKKworI34gbXNnaWQgIkFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIkJpciBiaXJpbmNpbCBkaXNrIGLDtmzDvG3DvCBla2xlbml5b3JcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnkgRE9TIDYueHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGZkaXNrIG1hbnVhbCBwYWdlIGZvciBhZGRpdGlvbmFsaW5mb3JtYXRpb24uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJVWUFSSTogSGVyaGFuZ2kgYmlyIERPUyA2LnggYsO2bMO8bcO8bsO8IG9sdcWfdHVyZHV5c2FuxLF6IHlhIGRhXG4iCisjfiAiZGXEn2nFn2lrbGlrIHlhcHTEsXlzYW7EsXosIGzDvHRmZW4gZmRpc2sgbWFuIHNheWZhbGFyxLFuZGFraVxuIgorI34gImVrIGJpbGdpbGVyaSBva3V5dW4uXG4iCisKKyN+IG1zZ2lkICIlKnMgQm9vdCAgICAgIFN0YXJ0ICAgICAgICAgRW5kICAgICAgQmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIlKnMgQcOnxLFsxLHFnyAgICBCYcWfbGFuZ8Sxw6cgICAgIEJpdGnFnyAgQmxva1NhecSxc8SxIEttbCBTaXN0ZW1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVkIGthZmEsICVkIHNla3TDtnIsICVkIHNpbGluZGlyXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJOciBBRiAgSGQgU2VjICBDeWwgIEhkIFNlYyAgQ3lsICAgICBTdGFydCAgICAgIFNpemUgSURcbiIKKyN+IG1zZ3N0ciAiTm8gQUYgIEhkIFNrdCAgU2xuICBIZCBTa3QgIFNsZCAgICBCYcWfbGFuZ8Sxw6cgICBCb3kgIEttbFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJcdFRoZXJlIGlzIGEgdmFsaWQgTWFjIGxhYmVsIG9uIHRoaXMgZGlzay5cbiIKKyN+ICJcdFVuZm9ydHVuYXRlbHkgZmRpc2soMSkgY2Fubm90IGhhbmRsZSB0aGVzZSBkaXNrcy5cbiIKKyN+ICJcdFVzZSBlaXRoZXIgcGRpc2sgb3IgcGFydGVkIHRvIG1vZGlmeSB0aGUgcGFydGl0aW9uIHRhYmxlLlxuIgorI34gIlx0TmV2ZXJ0aGVsZXNzIHNvbWUgYWR2aWNlOlxuIgorI34gIlx0MS4gZmRpc2sgd2lsbCBkZXN0cm95IGl0cyBjb250ZW50cyBvbiB3cml0ZS5cbiIKKyN+ICJcdDIuIEJlIHN1cmUgdGhhdCB0aGlzIGRpc2sgaXMgTk9UIGEgc3RpbGwgdml0YWxcbiIKKyN+ICJcdCAgIHBhcnQgb2YgYSB2b2x1bWUgZ3JvdXAuIChPdGhlcndpc2UgeW91IG1heVxuIgorI34gIlx0ICAgZXJhc2UgdGhlIG90aGVyIGRpc2tzIGFzIHdlbGwsIGlmIHVubWlycm9yZWQuKVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHREaXNrIMO8emVyaW5kZSBnZcOnZXJsaSBiaXIgQUlYIGV0aWtldGkgdmFyLlxuIgorI34gIlx0TmUgeWF6xLFrIGtpLCBMaW51eCDFn3UgYW5kYSBidSBkaXNrbGVybGVcbiIKKyN+ICJcdMOnYWzEscWfYW3EsXlvci4gQnVuYSByYcSfbWVuIGJpcmF6IHRhdnNpeWU6XG4iCisjfiAiXHQxLiBmZGlzayBpbGUgw7xzdMO8bmUgeWF6YXJzYW7EsXogacOnZXJpxJ9pbmkga2F5YmVkZWNla3Npbml6LlxuIgorI34gIlx0Mi4gQnUgZGlza2luIGhhbGEgYmlyIGdydWJ1biB5YcWfYW1zYWwgw7ZuZW1lIHNhaGlwIGJpclxuIgorI34gIlx0ICAgw7x5ZXNpIG9sbWFkxLHEn8SxbmRhbiBlbWluIG9sdW4uIChBa3NpIHRha2RpcmRlLFxuIgorI34gIlx0ICAgYXluYWxhbm1hbcSxxZ9zYSwgZGnEn2VyIGRpc2tsZXJpIGRlIHNpbGViaWxpcnNpbml6LlxuIgorI34gIlx0My4gQnUgZml6aWtzZWwgYsO2bMO8bcO8IHNpbG1lZGVuIMO2bmNlIGRpc2tpIEFJWFxuIgorI34gIlx0ICAgbWFraW5hbsSxemRhbiBtYW50xLFrc2FsIG9sYXJhayBrYWxkxLFyZMSxxJ/EsW7EsXphXG4iCisjfiAiXHQgICBlbWluIG9sdW4uIChBa3NpIHRha2RpcmRlIGJpciBBSVhwZXJ0IGhhbGluZVxuIgorI34gIlx0ICAgZ2VsZWJpbGlyc2luaXouKSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXHRTb3JyeSAtIHRoaXMgZmRpc2sgY2Fubm90IGhhbmRsZSBNYWMgZGlzayBsYWJlbHMuXG4iCisjfiAiXHRJZiB5b3Ugd2FudCB0byBhZGQgRE9TLXR5cGUgcGFydGl0aW9ucywgY3JlYXRlXG4iCisjfiAiXHRhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIGZpcnN0LiAoVXNlIG8uKVxuIgorI34gIlx0V0FSTklORzogVGhpcyB3aWxsIGRlc3Ryb3kgdGhlIHByZXNlbnQgZGlzayBjb250ZW50cy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlx0QnUgZmRpc2sgQUlYIGRpc2sgZXRpa2V0bGVyaSBpbGUgw6dhbMSxxZ9hbWF6LlxuIgorI34gIlx0RE9TIGLDtmzDvG1sZXJpIGVrbGVtZWsgaXN0aXlvcnNhbsSxeiDDtm5jZSB5ZW5pXG4iCisjfiAiXHRiaXIgRE9TIGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdSBvbHXFn3R1cnVuLiAobyBpbGUpXG4iCisjfiAiXHRVWUFSSTogQnUgacWfbGVtIGlsZSBkaXNrdGVraSB0w7xtIGJpbGdpbGUga2F5YmFsYWNha3TEsXIuXG4iCisKKyN+IG1zZ2lkICJBY2NvcmRpbmcgdG8gTUlQUyBDb21wdXRlciBTeXN0ZW1zLCBJbmMgdGhlIExhYmVsIG11c3Qgbm90IGNvbnRhaW4gbW9yZSB0aGFuIDUxMiBieXRlc1xuIgorI34gbXNnc3RyICJNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYydlIGfDtnJlLCBFdGlrZXQgNTEyIGJheXR0YW4gZmF6bGFzxLFuxLEgacOnZXJlbWV6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFNHSSBkaXNrIGxhYmVsKTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogJWxkIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTR0kgZGlzayBldGlrZXRpKTogJWQga2FmYSwgJWQgc2VrdMO2ciwgJWQgc2lsaW5kaXJcbiIKKyN+ICJCaXJpbSA9ICVzICAoJWQgKiAlZCBiYXl0KVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIi0tLS0tIHBhcnRpdGlvbnMgLS0tLS1cbiIKKyN+ICJQdCMgJSpzICBJbmZvICAgICBTdGFydCAgICAgICBFbmQgICBTZWN0b3JzICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLS0tLSBkaXNrIGLDtmzDvG1sZXJpIC0tLS0tXG4iCisjfiAiQmwjICUqcyAgQmlsZ2kgICBCYcWfbGFuZ8Sxw6cgICBCaXRpxZ8gIFNla3RvciAgS2ltbCBTaXN0ZW1cbiIKKworI34gbXNnaWQgIiIKKyN+ICItLS0tLSBCb290aW5mbyAtLS0tLVxuIgorI34gIkJvb3RmaWxlOiAlc1xuIgorI34gIi0tLS0tIERpcmVjdG9yeSBFbnRyaWVzIC0tLS0tXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLS0tLSDDlm55w7xrbGVtZSBCaWxnaWxlcmkgLS0tLS1cbiIKKyN+ICLDlm55w7xrbGVtZSBkb3N5YXPEsTogJXNcbiIKKyN+ICItLS0tLSBEaXppbiBHaXJkaWxlcmkgLS0tLS1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlMnpkOiAlLTEwcyBzZWN0b3IlNXUgc2l6ZSU4dVxuIgorI34gbXNnc3RyICIlMmQ6ICUtMTBzIHNla3TDtnIlNXUgYm95JTh1XG4iCisKKyN+IG1zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWRcbiIKKyN+IG1zZ3N0ciAiQXRhbm3EscWfIGRpc2sgYsO2bMO8bcO8IHlva1xuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gaXMgb25seSAlZCBkaXNrYmxvY2sgbGFyZ2UsXG4iCisjfiAiYnV0IHRoZSBkaXNrIGlzICVkIGRpc2tibG9ja3MgbG9uZy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkRpc2tpbiB0w7xtw7xuw7wga2FwbGFkxLHEn8SxIGJlbGlydGlsZW4gZGlzayBiw7Zsw7xtw7wgJWQgYmxvayxcbiIKKyN+ICJkaXNraW4gdGFtYW3EsSBpc2UgJWQgYmxvay5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBzdGFydCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiJWQgZGlzayBiw7Zsw7xtw7wgc2lsaW5kaXIgc8SxbsSxcsSxbmRhIGJhxZ9sYW3EsXlvci5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIiVkIGRpc2sgYsO2bMO8bcO8IHNpbGluZGlyIHPEsW7EsXLEsW5kYSBiaXRtaXlvci5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJXpkIGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LlxuIgorI34gbXNnc3RyICIlZCBkaXNrIGLDtmzDvG3DvCB6YXRlbiBhdGFubcSxxZ8uIFllbmlkZW4gZWtsZW1lZGVuIMO2bmNlIHNpbG1lbGlzaW5pei5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJIRElPX0dFVEdFTyBpb2N0bCBmYWlsZWQgb24gJXMiCisjfiBtc2dzdHIgIiVzIMO8emVyaW5kZSBCTEtHRVRTSVpFIGlvY3RsIGhhdGEgdmVyZGlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogIEJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiAgVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS5cbiIKKyN+ICJUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLlxuIgorI34gbXNnc3RyICIiCisjfiAiVXlhcsSxOiAgQkxLR0VUU0laRSBpb2N0bCAlcyDDvHplcmluZGUgYmHFn2FyxLFzxLF6LiAgU2lsaW5kaXIgZ2VvbWV0cmlzaSBpw6dpbiAlZFxuIgorI34gImRlxJ9lcmkga3VsbGFuxLFsxLF5b3IuIEJ1IGRlxJ9lciAzMy44IEdCJ2RhbiBiw7x5w7xrIGF5Z8SxdGxhcmRhIGvEsXJwxLFsYWJpbGlyLlxuIgorCisjfiBtc2dpZCAiSUQ9JTAyeFx0U1RBUlQ9JWRcdExFTkdUSD0lZFxuIgorI34gbXNnc3RyICJLaW1saWs9JTAyeFx0QmHFn2xhbmfEscOnPSVkXHRCb3k9JWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUcnlpbmcgdG8ga2VlcCBwYXJhbWV0ZXJzIG9mIHBhcnRpdGlvbnMgYWxyZWFkeSBzZXQuXG4iCisjfiBtc2dzdHIgIiVkIGRpc2sgYsO2bMO8bcO8bsO8biBwYXJhbWV0cmVsZXJpIG9rdW5tYXlhIMOnYWzEscWfxLFsxLF5b3IuXG4iCisKKyN+IG1zZ2lkICJZRVNcbiIKKyN+IG1zZ3N0ciAiRVZFVFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJ1aWxkaW5nIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorI34gbXNnc3RyICIlcyBkaXNrIGV0aWtldGkgacOnZXJtaXlvci5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgbGFiZWwpOiAldSBoZWFkcywgJWxsdSBzZWN0b3JzLCAlZCBycG1cbiIKKyN+ICIlbGx1IGN5bGluZGVycywgJWQgYWx0ZXJuYXRlIGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiJWQgZXh0cmEgc2VjdHMvY3lsLCBpbnRlcmxlYXZlICVkOjFcbiIKKyN+ICJMYWJlbCBJRDogJXNcbiIKKyN+ICJWb2x1bWUgSUQ6ICVzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqIDUxMiBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgZXRpa2V0aSk6ICVkIGthZmEsICVkIHNla3TDtnIsICVkIHJwbVxuIgorI34gIiVkIHNpbGluZGlyLCAlZCBhbG1hxZ/EsWsgc2lsaW5kaXIsICVkIGZpemlrc2VsIHNpbGluZGlyXG4iCisjfiAiJWQgZmF6bGFkYW4gc2VrdC9zbGQsIHNlcnBpxZ90aXJtZSAlZDoxXG4iCisjfiAiJXNcbiIKKyN+ICJCaXJpbSA9ICVzICAoJWQgKiA1MTIgYmF5dClcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgbGFiZWwpOiAldSBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiA1MTIgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFN1biBkaXNrIGV0aWtldGkpOiAlZCBrYWZhLCAlZCBzZWt0w7ZyLCAlZCBzaWxpbmRpclxuIgorI34gIkJpcmltID0gJXMgICglZCAqIDUxMiBiYXl0KVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiJSpzIEZsYWcgICAgU3RhcnQgICAgICAgRW5kICAgIEJsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiJSpzIEZsYW1hIEJhxZ9sYW5nxLHDpyAgICBCaXRpxZ8gICBCbG9rIyAgIEtpbWwgU2lzdGVtXG4iCisKKyN+IG1zZ2lkICIlcyAtQW4gZGV2aWNlXHQgYWN0aXZhdGUgcGFydGl0aW9uIG4sIGluYWN0aXZhdGUgdGhlIG90aGVyIG9uZXNcbiIKKyN+IG1zZ3N0ciAiJXMgLUFuIGF5Z8SxdFx0IG4uIGRpc2sgYsO2bMO8bcO8bsO8IGV0a2lubGXFn3RpcmlsaXIsIGRpxJ9lcmxlcmluaSBldGtpc2l6bGXFn3RpcmlsaXJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJEb25lXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJCaXR0aVxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNyZWF0ZWQgcGFydGl0aW9uICV6ZFxuIgorI34gbXNnc3RyICJTZcOnaWxlbiBkaXNrIGLDtmzDvG3DvCAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPFVTRVI+IENPTU1BTkRcbiIKKyN+IG1zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFtzZcOnZW5la2xlcl0gYXlnxLF0IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFtVU0VSIFthcmddLi4uXVxuIgorI34gbXNnc3RyICJrdWxsYW7EsW3EsTogJXMgcHJvZ3JhbSBbYXJnIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjcnlwdCBmYWlsZWQ6ICVtXG4iCisjfiBtc2dzdHIgIihTb25yYWtpIGRvc3lhOiAlcykiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2FuIG5vdCBmb3JrOiAlbVxuIgorI34gbXNnc3RyICIlczogQXN0IHPDvHJlw6cgb2x1xZ90dXJ1bGFtxLF5b3JcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYWlsZWQgdG8gb3Blbi9jcmVhdGUgJXM6ICVtXG4iCisjfiBtc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB0byBsb2NrICVzOiAlbVxuIgorI34gbXNnc3RyICIlcyBkdXJ1bSBiaWxnaWxlcmkgYWzEsW5hbcSxeW9yIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJhZCBudW1iZXI6ICVzXG4iCisjfiBtc2dzdHIgIk51bWFyYSBnZcOnZXJzaXo6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmluZCB1bnVzZWQgbG9vcCBkZXZpY2UgZmFpbGVkIgorI34gbXNnc3RyICJtb3VudDogYmHEn2xhbmFtYWTEsSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCisjfiBtc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbc2XDp2VuZWtsZXJdIGF5Z8SxdCAuLi5cbiIKKworI34gbXNnaWQgImJ1ZyBpbiB4c3RybmR1cCBjYWxsIgorI34gbXNnc3RyICJ4c3RybmR1cCDDp2HEn3LEsXPEsW5kYSB5YXrEsWzEsW0gaGF0YXPEsSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjb25uZWN0ICVzIgorI34gbXNnc3RyICJuZnMgYmHEn2xhbnTEsXPEsSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbZmlsZS4uLl1cbiIKKyN+IG1zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFtzZcOnZW5la2xlcl0gYXlnxLF0IC4uLlxuIgorCisjfiBtc2dpZCAibWtmcyAoJXMpXG4iCisjfiBtc2dzdHIgIm1rZnMgKCVzKVxuIgorCisjfiBtc2dpZCAic3RydG9sIGVycm9yOiBudW1iZXIgb2YgYmxvY2tzIG5vdCBzcGVjaWZpZWQiCisjfiBtc2dzdHIgInN0cnRvbCBoYXRhc8SxOiBibG9rIHNhecSxc8SxIGJlbGlydGlsbWVtacWfIgorCisjfiBtc2dpZCAib25lIGJhZCBwYWdlXG4iCisjfiBtc2dzdHIgIjEgYm96dWsgc2F5ZmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgIG9uIHdob2xlIGRpc2suICIKKyN+IG1zZ3N0ciAiICAgcyAgIGRpc2sgZXRpa2V0aW5pbiB0YW1hbcSxbsSxIGfDtnN0ZXJpciIKKworIywgZnV6enkKKyN+IG1zZ2lkICJkb2VzIG5vdCBzdXBwb3J0IHN3YXBzcGFjZSB2ZXJzaW9uICVkLiIKKyN+IG1zZ3N0ciAiJXM6IGhhdGE6IHPDvHLDvG0gJWQgYmlsaW5taXlvclxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0VGhlcmUgaXMgYSB2YWxpZCBBSVggbGFiZWwgb24gdGhpcyBkaXNrLlxuIgorI34gIlx0VW5mb3J0dW5hdGVseSBMaW51eCBjYW5ub3QgaGFuZGxlIHRoZXNlXG4iCisjfiAiXHRkaXNrcyBhdCB0aGUgbW9tZW50LiAgTmV2ZXJ0aGVsZXNzIHNvbWVcbiIKKyN+ICJcdGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+ICJcdDMuIEJlZm9yZSBkZWxldGluZyB0aGlzIHBoeXNpY2FsIHZvbHVtZSBiZSBzdXJlXG4iCisjfiAiXHQgICB0byByZW1vdmUgdGhlIGRpc2sgbG9naWNhbGx5IGZyb20geW91ciBBSVhcbiIKKyN+ICJcdCAgIG1hY2hpbmUuICAoT3RoZXJ3aXNlIHlvdSBiZWNvbWUgYW4gQUlYcGVydCkuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHREaXNrIMO8emVyaW5kZSBnZcOnZXJsaSBiaXIgQUlYIGV0aWtldGkgdmFyLlxuIgorI34gIlx0TmUgeWF6xLFrIGtpLCBMaW51eCDFn3UgYW5kYSBidSBkaXNrbGVybGVcbiIKKyN+ICJcdMOnYWzEscWfYW3EsXlvci4gQnVuYSByYcSfbWVuIGJpcmF6IHRhdnNpeWU6XG4iCisjfiAiXHQxLiBmZGlzayBpbGUgw7xzdMO8bmUgeWF6YXJzYW7EsXogacOnZXJpxJ9pbmkga2F5YmVkZWNla3Npbml6LlxuIgorI34gIlx0Mi4gQnUgZGlza2luIGhhbGEgYmlyIGdydWJ1biB5YcWfYW1zYWwgw7ZuZW1lIHNhaGlwIGJpclxuIgorI34gIlx0ICAgw7x5ZXNpIG9sbWFkxLHEn8SxbmRhbiBlbWluIG9sdW4uIChBa3NpIHRha2RpcmRlLFxuIgorI34gIlx0ICAgYXluYWxhbm1hbcSxxZ9zYSwgZGnEn2VyIGRpc2tsZXJpIGRlIHNpbGViaWxpcnNpbml6LlxuIgorI34gIlx0My4gQnUgZml6aWtzZWwgYsO2bMO8bcO8IHNpbG1lZGVuIMO2bmNlIGRpc2tpIEFJWFxuIgorI34gIlx0ICAgbWFraW5hbsSxemRhbiBtYW50xLFrc2FsIG9sYXJhayBrYWxkxLFyZMSxxJ/EsW7EsXphXG4iCisjfiAiXHQgICBlbWluIG9sdW4uIChBa3NpIHRha2RpcmRlIGJpciBBSVhwZXJ0IGhhbGluZVxuIgorI34gIlx0ICAgZ2VsZWJpbGlyc2luaXouKSIKKworI34gbXNnaWQgIiIKKyN+ICJcdFNvcnJ5IC0gdGhpcyBmZGlzayBjYW5ub3QgaGFuZGxlIEFJWCBkaXNrIGxhYmVscy5cbiIKKyN+ICJcdElmIHlvdSB3YW50IHRvIGFkZCBET1MtdHlwZSBwYXJ0aXRpb25zLCBjcmVhdGVcbiIKKyN+ICJcdGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUgZmlyc3QuIChVc2Ugby4pXG4iCisjfiAiXHRXQVJOSU5HOiBUaGlzIHdpbGwgZGVzdHJveSB0aGUgcHJlc2VudCBkaXNrIGNvbnRlbnRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXHRCdSBmZGlzayBBSVggZGlzayBldGlrZXRsZXJpIGlsZSDDp2FsxLHFn2FtYXouXG4iCisjfiAiXHRET1MgYsO2bMO8bWxlcmkgZWtsZW1layBpc3RpeW9yc2FuxLF6IMO2bmNlIHllbmlcbiIKKyN+ICJcdGJpciBET1MgZGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1IG9sdcWfdHVydW4uIChvIGlsZSlcbiIKKyN+ICJcdFVZQVJJOiBCdSBpxZ9sZW0gaWxlIGRpc2t0ZWtpIHTDvG0gYmlsZ2lsZSBrYXliYWxhY2FrdMSxci5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJCU0QgbGFiZWwgZm9yIGRldmljZTogJXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkF5Z8SxdCBpw6dpbiBCU0QgZGlzayBldGlrZXRpOiAlc1xuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVkIGhhcyBlbXB0eSB0eXBlXG4iCisjfiBtc2dzdHIgIlV5YXLEsTogJWQgZGlzayBiw7Zsw7xtw7xuw7xuIHTDvHLDvCBib8WfIGfDtnLDvG7DvHlvclxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVpIGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiJWkuIGRpc2sgYsO2bMO8bcO8IHNpbGluZGlyIHPEsW7EsXLEsW5kYSBiaXRtaXlvci5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJOb3RlOiBzZWN0b3Igc2l6ZSBpcyAlbGQgKG5vdCAlZClcbiIKKyN+IG1zZ3N0ciAiQmlsZ2k6IHNla3TDtnIgdXp1bmx1xJ91ICVkICglZCBkZcSfaWwpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNlIHRoZSAtLWZvcmNlIGZsYWcgdG8gb3ZlcnJ1bGUgdGhpcyBjaGVjay5cbiIKKyN+IG1zZ3N0ciAiVMO8bSBkZW5ldGltbGVyaSBrYWxkxLFybWFrIGnDp2luIC0tZm9yY2Ugc2XDp2VuZcSfaW5pIGt1bGxhbsSxbi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleGVjICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAiw6dhbMSxxZ90xLFybWEgYmHFn2FyxLFzxLF6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGV4ZWMgZmFpbGVkIgorI34gbXNnc3RyICJlcmnFn2ltIGJhxZ9hcsSxc8SxeiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUSU9DU0NUVFk6IGlvY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAiVElPQ1NDVFRZIGJhxZ9hcsSxc8SxejogJW0iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWytmb3JtYXRdIFtkYXkgbW9udGggeWVhcl1cbiIKKyN+IG1zZ3N0ciAia3VsbGFuxLFtxLE6ICVzIFsrYmnDp2VtXSBbZ8O8biBheSB5xLFsXVxuIgorCisjfiBtc2dpZCAiU3QuIFRpYidzIERheSIKKyN+IG1zZ3N0ciAiU3QuIFRpYiBHw7xuw7wiCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtcyBzaWduYWwgfCAtcCBdIFsgLWEgXSBwaWQgLi4uXG4iCisjfiBtc2dzdHIgImt1bGxhbsSxbcSxOiAlcyBbIC1zIHNpbnlhbCB8IC1wIF0gWyAtYSBdIHBpZCAuLi5cbiIKKworI34gbXNnaWQgIiAgICAgICAlcyAtbCBbIHNpZ25hbCBdXG4iCisjfiBtc2dzdHIgIiAgICAgICAlcyAtbCBbIHNpbnlhbCBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBwb3J0IG51bWJlciBhcmd1bWVudCIKKyN+IG1zZ3N0ciAia2ltbGlrIGdlw6dlcnNpeiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIgorI34gbXNnc3RyICJLdWxsYW7EsW3EsTogJXMgW3Nlw6dlbmVrbGVyXSBheWfEsXQgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNvdWxkbid0IGxvY2sgaW50byBtZW1vcnkiCisjfiBtc2dzdHIgIkJlbGxlayBpw6dpbmRlIGtpbGl0bGVuZW1lZGksIMOnxLFrxLFsxLF5b3IuXG4iCisKKyN+IG1zZ2lkICJtb3VudDogYXJndW1lbnQgdG8gLXAgb3IgLS1wYXNzLWZkIG11c3QgYmUgYSBudW1iZXIiCisjfiBtc2dzdHIgIm1vdW50OiAtcCB2ZSAtLXBhc3MtZmQgc2XDp2VuZWtsZXJpbmluIGFyZ8O8bWFuxLEgYmlyIHNhecSxIG9sbWFsxLFkxLFyIgorCisjLCBmdXp6eQorI34gbXNnaWQgImV4ZWN1dGluZyAlcyBmYWlsZWQiCisjfiBtc2dzdHIgIsOnYWzEscWfdMSxcm1hIGJhxZ9hcsSxc8SxelxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVqZWN0OiBjYW5ub3Qgc2V0IHVzZXIgaWQiCisjfiBtc2dzdHIgIm1vdW50OiBoxLF6IGF5YXJsYW5hbcSxeW9yOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZzZnJlZXplKDgpLlxuIgorI34gbXNnc3RyICJLdWxsYW7EsWPEsSBiaWxnaWxlcmkgZGXEn2nFn3RpcmlsZGkuXG4iCisKKyN+IG1zZ2lkICJtYXggc2VnIHNpemUgKGtieXRlcykgPSAlbHVcbiIKKyN+IG1zZ3N0ciAiYXphbWkgYsO2bMO8dCBib3l1IChrYikgPSAlbHVcbiIKKworI34gbXNnaWQgIm1pbiBzZWcgc2l6ZSAoYnl0ZXMpID0gJWx1XG4iCisjfiBtc2dzdHIgImFzZ2FyaSBiw7Zsw7x0IGJveXUgKGJheXQpID0gJWx1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2htY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZnN5bmMgaGF0YSB2ZXJkaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtc2djdGwgZmFpbGVkIgorI34gbXNnc3RyICJmc3luYyBoYXRhIHZlcmRpIgorCisjfiBtc2dpZCAiY2J5dGVzPSVsZFx0cWJ5dGVzPSVsZFx0cW51bT0lbGRcdGxzcGlkPSVkXHRscnBpZD0lZFxuIgorI34gbXNnc3RyICJjYmF5dD0lbGRcdHFiYXl0PSVsZFx0cVNhecSxc8SxPSVsZFx0bHNwaWQ9JWRcdGxycGlkPSVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VtY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgZmFpbGVkIHRvIHVzZSBkZXZpY2UiCisjfiBtc2dzdHIgInRha2FzIGFsYW7EsW5kYSBiYcWfYSBnaWRpbGVtaXlvciIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjb3VsZG4ndCBsb2NrIGludG8gbWVtb3J5IgorI34gbXNnc3RyICJCZWxsZWsgacOnaW5kZSBraWxpdGxlbmVtZWRpLCDDp8Sxa8SxbMSxeW9yLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0dXAgbG9vcCBkZXZpY2UgKHByb2JhYmx5IHVua25vd24gZW5jcnlwdGlvbiB0eXBlKSIKKyN+IG1zZ3N0ciAidGFrYXMgYWxhbsSxbmRhIGJhxZ9hIGdpZGlsZW1peW9yIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJlbmljZSBmcm9tICVzXG4iCisjfiBtc2dzdHIgIiUyJHMgZGVraSAlMSRzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIGV4ZWN1dGUgJXMiCisjfiBtc2dzdHIgImlvY3RsKCkgJXMgZGVuIHphbWFuxLEgb2t1eWFtYWTEsSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleGVjdnAgZmFpbGVkIgorI34gbXNnc3RyICLDp2FsxLHFn3TEsXJtYSBiYcWfYXLEsXPEsXpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleGVjdiBmYWlsZWQiCisjfiBtc2dzdHIgIsOnYWzEscWfdMSxcm1hIGJhxZ9hcsSxc8SxelxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUtMTVzJXMgW3ZlcnNpb24gJXhdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlcyBzw7xyw7xtICVzXG4iCisjfiAiw4dldmlyaSBoYXRhbGFyxLFuxLEgPGdudS10ci11MTJhQGxpc3Rzc291cmNlZm9yZ2UubmV0PiBhZHJlc2luZSBiaWxkaXJpbml6XG4iCisKKyN+IG1zZ2lkICJ1c2VycyIKKyN+IG1zZ3N0ciAia3VsbGFuxLFjxLEiCisKKyN+IG1zZ2lkICJ0b28gbWFueSBpb3YncyAoY2hhbmdlIGNvZGUgaW4gd2FsbC90dHltc2cuYykiCisjfiBtc2dzdHIgImlvdiBzYXnEsXPEsSDDp29rIGZhemxhICh3YWxsL3R0eW1zZy5jIGRlIGtvZHUgZGXEn2nFn3RpcikiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZXJyb3IuIgorI34gbXNnc3RyICJjb2w6IHlhem1hIGhhdGFzxLEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJLdWxsYW7EsW3EsTogJXMgW3Nlw6dlbmVrbGVyXSBheWfEsXQgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBjb2x1bW4oMSkuXG4iCisjfiBtc2dzdHIgIkt1bGxhbsSxY8SxIGJpbGdpbGVyaSBkZcSfacWfdGlyaWxkaS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3JlICglcylcbiIKKyN+IG1zZ3N0ciAibWtmcyAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHN0YXQgZmlsZSAlcyIKKyN+IG1zZ3N0ciAiJXMgYXlnxLF0xLFuxLFuIGR1cnVtIGJpbGdpc2kgYWzEsW5hbcSxeW9yIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvdWxkbid0IG9wZW4gJXMiCisjfiBtc2dzdHIgIiVzIGHDp8SxbGFtYWTEsVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBvcGVuICVzIgorI34gbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworI34gbXNnaWQgImNhbm5vdCBzdGF0IGRldmljZSAlcyIKKyN+IG1zZ3N0ciAiJXMgYXlnxLF0xLFuxLFuIGR1cnVtIGJpbGdpc2kgYWzEsW5hbcSxeW9yIgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gZmlsZSAnJXMnIgorI34gbXNnc3RyICInJXMnIGRvc3lhc8SxIGHDp8SxbGFtxLF5b3IiCisKKyN+IG1zZ2lkICIiCisjfiAiVGhpcyBkaXNrIGhhcyBib3RoIERPUyBhbmQgQlNEIG1hZ2ljLlxuIgorI34gIkdpdmUgdGhlICdiJyBjb21tYW5kIHRvIGdvIHRvIEJTRCBtb2RlLlxuIgorI34gbXNnc3RyICIiCisjfiAiQnUgZGlzayBoZW0gRE9TIGhlbSBkZSBCU0Qgb2xhcmFrIGltbGkuXG4iCisjfiAiQlNEIGtpcGluZSBnZcOnbWVrIGnDp2luICdiJyBrb211dHVudSB2ZXJpbi5cbiIKKworI34gbXNnaWQgInVuYWJsZSB0byBvcGVuICVzIgorI34gbXNnc3RyICIlcyBhw6fEsWxhbcSxeW9yIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yOiBjYW5ub3Qgb3BlbiAlcyIKKyN+IG1zZ3N0ciAiJXM6ICVzIGHDp8SxbGFtxLF5b3JcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYWlsZWQgdG8gb3BlbiAlcyBmb3IgcmVhZGluZywgZXhpdGluZy4iCisjfiBtc2dzdHIgIiVzIG9rdW1hayBpw6dpbiBhw6fEsWxhbcSxeW9yIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgImVyacWfaW0gYmHFn2FyxLFzxLF6IgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNhbm5vdCBvcGVuIC9kZXYvcG9ydCIKKyN+IG1zZ3N0ciAiL2Rldi9wb3J0IGHDp8SxbGFtxLF5b3I6ICVzIgorCisjfiBtc2dpZCAib3BlbigpIG9mICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXMgacOnaW4gb3BlbigpIGnFn2xldmkgaGF0YSB2ZXJkaSIKKworI34gbXNnaWQgIk9wZW4gb2YgJXMgZmFpbGVkIgorI34gbXNnc3RyICIlcyBhw6fEsWxhbWFkxLEiCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gb3BlbiAlcyIKKyN+IG1zZ3N0ciAiJXMgYcOnxLFsYW3EsXlvciIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc291cmNlIGJ1ZmZlciIKKyN+IG1zZ3N0ciAiVGFtcG9uIGF5csSxbGFtYWTEsS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc3RhdCBkaXJlY3RvcnkiCisjfiBtc2dzdHIgIiVzIGR1cnVtIGJpbGdpbGVyaSBhbMSxbmFtxLF5b3IiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgZGlyZWN0b3J5ICVzIgorI34gbXNnc3RyICIlcyBkdXJ1bSBiaWxnaWxlcmkgYWzEsW5hbcSxeW9yIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuIHRpbWluZyBmaWxlICVzIgorI34gbXNnc3RyICInJXMnIGRvc3lhc8SxIGHDp8SxbGFtxLF5b3IiCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiAiCisjfiBtc2dzdHIgIkHDp8SxbGFtxLF5b3IiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gXCIlc1wiIGZvciByZWFkIgorI34gbXNnc3RyICJcIiVzXCIgb2t1bWFrIGnDp2luIGHDp8SxbGFtxLF5b3JcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBcIiVzXCIiCisjfiBtc2dzdHIgIiVzIGF5Z8SxdMSxbsSxbiBkdXJ1bSBiaWxnaXNpIGFsxLFuYW3EsXlvciIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWy1odl0gWy14IGRpcl0gZmlsZVxuIgorI34gIiAtaCAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorI34gIiAteCBkaXIgICAgIGV4dHJhY3QgaW50byBkaXJcbiIKKyN+ICIgLXYgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKKyN+ICIgZmlsZSAgICAgICBmaWxlIHRvIHRlc3RcbiIKKyN+IG1zZ3N0ciAiIgorI34gImt1bGxhbsSxbcSxOiAlcyBbLWh2XSBbLXggZGl6aW5dIGRvc3lhXG4iCisjfiAiIC1oICAgICAgICAgYnUgeWFyZMSxbSBpbGV0aXNpbmkgZ8O2c3RlcmlyXG4iCisjfiAiIC14IGRpemluICAgZGl6aW4gacOnaW5lIGHDp2FyXG4iCisjfiAiIC12ICAgICAgICAgYXlyxLFudMSxbMSxIMOnxLFrdMSxIHZlcmlyXG4iCisjfiAiIGRvc3lhICAgICAgZGVuZW5lbiBkb3N5YVxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstbGFydnNtZl0gL2Rldi9uYW1lXG4iCisjfiBtc2dzdHIgImt1bGxhbsSxbcSxOiAlcyBbLWxhcnZzbWZdIC9kZXYvxLBTxLBNXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGJsb2Nrc2l6ZSBhcmd1bWVudCIKKyN+IG1zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6IHdpbGwgbm90IHRyeSB0byBtYWtlIHN3YXBkZXZpY2Ugb24gJyVzJyIKKyN+IG1zZ3N0ciAiJyVzJyDDvHplcmluZGUgdGFrYXMgYXlnxLF0xLEgb2x1xZ90dXJ1bG1heWFjYWsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyAoJXMpXG4iCisjfiBtc2dzdHIgIiVzIGF5Z8SxdMSxbsSxbiBkdXJ1bSBiaWxnaXNpIGFsxLFuYW3EsXlvciIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbc2XDp2VuZWtsZXJdIGF5Z8SxdCAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHN3YXBsYWJlbCg4KS5cbiIKKyN+IG1zZ3N0ciAiS3VsbGFuxLFjxLEgYmlsZ2lsZXJpIGRlxJ9pxZ90aXJpbGRpLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVpIGRvZXMgbm90IHN0YXJ0IG9uIGN5bGluZGVyIGJvdW5kYXJ5OlxuIgorI34gbXNnc3RyICIlaSBkaXNrIGLDtmzDvG3DvG7DvG4gYmHFn2xhbmfEsWPEsSBzaWxpbmRpciBzxLFuxLFybGFyxLEgZMSxxZ/EsW5kYTpcbiIKKworI34gbXNnaWQgInNob3VsZCBiZSAoJWQsICVkLCAxKVxuIgorI34gbXNnc3RyICIoJWQsICVkLCAxKSBvbG1hbMSxeWTEsVxuIgorCisjfiBtc2dpZCAic2hvdWxkIGJlICglZCwgJWQsICVkKVxuIgorI34gbXNnc3RyICIoJWQsICVkLCAlZCkgb2xtYWzEsXlkxLFcbiIKKworI34gbXNnaWQgIlRoaXMga2VybmVsIGZpbmRzIHRoZSBzZWN0b3Igc2l6ZSBpdHNlbGYgLSAtYiBvcHRpb24gaWdub3JlZFxuIgorI34gbXNnc3RyICJCdSDDp2VraXJkZWsgc2VrdMO2ciB1enVubHXEn3VudSBrZW5kaXNpIGJ1bHVyLiAtIC1iIHNlw6dlbmXEn2kgeW9rc2F5xLFsZMSxXG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5P1xuIgorI34gbXNnc3RyICJiZWxsZWsgeWV0ZXJzaXo/XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAic2ZkaXNrOiBwcmVtYXR1cmUgZW5kIG9mIGlucHV0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJzZmRpc2s6IGdpcmRpIHNvbnUgZWtzaWtcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXQVJOSU5HOiBjb3VsZG4ndCBvcGVuICVzIgorI34gbXNnc3RyICIlczogJXMgYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXBvY2giCisjfiBtc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJZb3UgaGF2ZSBzcGVjaWZpZWQgbXVsdGlwbGUgZnVuY3Rpb25zLlxuIgorI34gIllvdSBjYW4gb25seSBwZXJmb3JtIG9uZSBmdW5jdGlvbiBhdCBhIHRpbWUuIgorI34gbXNnc3RyICIiCisjfiAiw4dvayBzYXnEsWRhIGnFn2xldiBiZWxpcnR0aW5pei5cbiIKKyN+ICJCaXIgZGVmYWRhIHNhZGVjZSBiaXIgacWfbGV2IHV5Z3VsYW5hYmlsaXIuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIC0tdXRjIGFuZCAtLWxvY2FsdGltZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuICBZb3Ugc3BlY2lmaWVkIGJvdGguIgorI34gbXNnc3RyICIlczogLS11dGMgdmUgLS1sb2NhbHRpbWUgc2XDp2VuZWtsZXJpIGJpcmJpcml5bGUgw6dlbGnFn2l5b3IuICDEsGtpc2kgZGUgYmVsaXJ0aWxtacWfLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSAtLWFkanVzdCBhbmQgLS1ub2FkamZpbGUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiAgWW91IHNwZWNpZmllZCBib3RoLiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiAgLS1hZGp1c3QgdmUgLS1ub2FkamZpbGUgc2XDp2VuZWtsZXJpIGJpcmJpcml5bGUgw6dlbGnFn2lyLlxuIgorI34gIlNpeiBpa2lzaW5pIGRlIGJlbGlydG1pxZ9zaW5pei5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgLS1hZGpmaWxlIGFuZCAtLW5vYWRqZmlsZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuICBZb3Ugc3BlY2lmaWVkIGJvdGguIgorI34gbXNnc3RyICIiCisjfiAiJXM6ICAtLWFkanVzdCB2ZSAtLW5vYWRqZmlsZSBzZcOnZW5la2xlcmkgYmlyYmlyaXlsZSDDp2VsacWfaXIuXG4iCisjfiAiU2l6IGlraXNpbmkgZGUgYmVsaXJ0bWnFn3Npbml6LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBsb2NrIGdyb3VwIGZpbGUiCisjfiBtc2dzdHIgIm1vdW50OiBoxLF6IGF5YXJsYW5hbcSxeW9yOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0aGUgJXMgZmlsZSBpcyBidXN5ICglcyBwcmVzZW50KSIKKyN+IG1zZ3N0ciAiJXM6ICVzIGRvc3lhc8SxIG1lxZ9ndWwuICglcyBoYXrEsXIpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmaW5kbW50KDEpLlxuIgorI34gbXNnc3RyICJLdWxsYW7EsWPEsSBiaWxnaWxlcmkgZGXEn2nFn3RpcmlsZGkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNpZ3ZhbCIKKyN+IG1zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicG9ydCBgJWxkJyBvdXQgb2YgcmFuZ2UiCisjfiBtc2dzdHIgImAlcycgYCVzJyBhcmFsxLHEn8SxbsSxbiBkxLHFn8SxbmRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBsc2Jsayg4KS5cbiIKKyN+IG1zZ3N0ciAiS3VsbGFuxLFjxLEgYmlsZ2lsZXJpIGRlxJ9pxZ90aXJpbGRpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICJBeWFyIGRlxJ9lcmkgZ2XDp2Vyc2l6OiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhcm5pbmc6IGZhaWxlZCB0byByZWFkIG10YWIiCisjfiBtc2dzdHIgIiVzIGR1cnVtIGJpbGdpbGVyaSBhbMSxbmFtxLF5b3IiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNsYXNzIGRhdGEiCisjfiBtc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjbGFzcyIKKyN+IG1zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGJ1ZmZlciBzaXplIgorI34gbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZzdHJpbSg4KS5cbiIKKyN+IG1zZ3N0ciAiS3VsbGFuxLFjxLEgYmlsZ2lsZXJpIGRlxJ9pxZ90aXJpbGRpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgc3BlZWQiCisjfiBtc2dzdHIgImtpbWxpayBnZcOnZXJzaXo6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBvZmZzZXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIkF5YXIgZGXEn2VyaSBnZcOnZXJzaXo6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBzaXplICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICJBeWFyIGRlxJ9lcmkgZ2XDp2Vyc2l6OiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbW91bnRwb2ludCgxKS5cbiIKKyN+IG1zZ3N0ciAiS3VsbGFuxLFjxLEgYmlsZ2lsZXJpIGRlxJ9pxZ90aXJpbGRpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBQSUQiCisjfiBtc2dzdHIgIiVzIGHDp8SxbGFtxLF5b3IiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNlY29uZHMgdmFsdWUiCisjfiBtc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSB0aW1lX3QgdmFsdWUiCisjfiBtc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbHNibGsoMSkuXG4iCisjfiBtc2dzdHIgIkt1bGxhbsSxY8SxIGJpbGdpbGVyaSBkZcSfacWfdGlyaWxkaS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJhcmd1bWVudCAlbHUgaXMgdG9vIGxhcmdlIgorI34gbXNnc3RyICItLWRhdGUgaWxlIHZlcmlsZW4gYXJnw7xtYW4gw6dvayB1enVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidGVybWluYWwgZW52aXJvbm1lbnQgQ09MVU1OUyBmYWlsZWQiCisjfiBtc2dzdHIgImF5csSxbG3EscWfIHNlbWFmb3Igc2F5xLFzxLEgPSAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImJhZCBsZW5ndGggdmFsdWUiCisjfiBtc2dzdHIgImhleGR1bXA6IHV6dW5sdWsgaGF0YWzEsS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJiYWQgc2tpcCB2YWx1ZSIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogYXRsYW1hIGRlxJ9lcmkgaGF0YWzEsS5cbiIKKworI34gbXNnaWQgIiVzOiBVc2FnZTogJXMgWy1udW1iZXJdIFstcCBzdHJpbmddIFstY2VmbnJzXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCisjfiBtc2dzdHIgIiVzOiBLdWxsYW7EsW3EsTogJXMgWy1udW1iZXJdIFstcCBkaXpnZV0gWy1jZWZucnNdIFsrc2F0xLFyXSBbKy9rYWzEsXAvXSBbZG9zeWFsYXJdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6ICVkOiBwYXJzZSBlcnJvciAtLSBsaW5lIGlnbm9yZWQuXG4iCisjfiBtc2dzdHIgImVyacWfaW0gaGF0YXPEsSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiBmYWlsZWQgdG8gcGFyc2UgJXMiCisjfiBtc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUtMjVzOiBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgImFzdCBzw7xyZcOnIG9sdcWfdHVydWxhbWFkxLFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlLTI1czogZmFpbGVkXG4iCisjfiBtc2dzdHIgImVyacWfaW0gYmHFn2FyxLFzxLF6IgorCisjfiBtc2dpZCAiICAgZCAgIGRlbGV0ZSBhIEJTRCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgIGQgICBiaXIgQlNEIGRpc2sgYsO2bMO8bcO8bsO8IHNpbGVyIgorCisjfiBtc2dpZCAiICAgbiAgIGFkZCBhIG5ldyBCU0QgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICBuICAgeWVuaSBiaXIgQlNEIGRpc2sgYsO2bMO8bcO8IGVrbGVyIgorCisjfiBtc2dpZCAiICAgdCAgIGNoYW5nZSBhIHBhcnRpdGlvbidzIGZpbGVzeXN0ZW0gaWQiCisjfiBtc2dzdHIgIiAgIHQgICBkaXNrIGLDtmzDvG3DvG7DvG4gZG9zeWEgc2lzdGVtaSBraW1sacSfaW5pIGfDtnN0ZXJpciIKKworI34gbXNnaWQgIiAgIHUgICBjaGFuZ2UgdW5pdHMgKGN5bGluZGVycy9zZWN0b3JzKSIKKyN+IG1zZ3N0ciAiICAgdSAgIGJpcmltIGRlxJ9pxZ90aXJpciAoc2lsaW5kaXIvc2VrdMO2cikiCisKKyN+IG1zZ2lkICIgICBwICAgcHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiICAgcCAgIGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdW51IGfDtnN0ZXJpciIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiQnVpbGRpbmcgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguXG4iCisjfiAiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorI34gIkFmdGVyIHRoYXQsIG9mIGNvdXJzZSwgdGhlIHByZXZpb3VzIGNvbnRlbnQgd29uJ3QgYmUgcmVjb3ZlcmFibGUuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJZZW5pIGJpciBET1MgZGlzayBldGlrZXRpIGt1cmd1bGFuxLF5b3IuIFNpeiBvbmxhcsSxIHlhemFuYSBrYWRhciBkZcSfacWfaWtsaWtsZXJcbiIKKyN+ICJiZWxsZWt0ZSBiZWtsZXllY2VrLiBBa3NpIHRha2RpcmRlLCDDtm5jZWtpIGnDp2VyaWsga3VydGFyxLFsYW1heWFjYWsuXG4iCisKKyN+IG1zZ2lkICJEZXZpY2UgY29udGFpbnMgbmVpdGhlciBhIHZhbGlkIERPUyBwYXJ0aXRpb24gdGFibGUsIG5vciBTdW4sIFNHSSBvciBPU0YgZGlza2xhYmVsXG4iCisjfiBtc2dzdHIgIkF5Z8SxdCBuZSBnZcOnZXJsaSBiaXIgRE9TIGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdSBuZSBkZSBTdW4sIFNHSSB5YSBkYSBPU0YgZGlzayBldGlrZXRsZXJpIGnDp2VyaXlvci5cbiIKKworI34gbXNnaWQgIkludGVybmFsIGVycm9yXG4iCisjfiBtc2dzdHIgIsSww6cgaGF0YVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0U29ycnksIG5vIGV4cGVydHMgbWVudSBmb3IgU0dJIHBhcnRpdGlvbiB0YWJsZXMgYXZhaWxhYmxlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHRTR0kgZGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1IGnDp2luIHV6bWFuIG1lbsO8c8O8IHlvay5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIkRvIFlvdSBrbm93LCBZb3UgZ290IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2s/XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJEaXNrIMO8emVyaW5kZWtpIGRpxJ9lciBiw7Zsw7xtbGVyaW4gw7x6ZXJpbmUgdGHFn2FuIGJpciBkaXNrIGLDtmzDvG3DvFxuIgorI34gImF5xLFyZMSxxJ/EsW7EsXrEsW4gZmFya8SxbmRhIG3EsXPEsW7EsXo/XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiQnVpbGRpbmcgYSBuZXcgU0dJIGRpc2tsYWJlbC4gQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSxcbiIKKyN+ICJ1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uIEFmdGVyIHRoYXQsIG9mIGNvdXJzZSwgdGhlIHByZXZpb3VzXG4iCisjfiAiY29udGVudCB3aWxsIGJlIHVucmVjb3ZlcmFibHkgbG9zdC5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkJpciB5ZW5pIFNHSSBkaXNrIGV0aWtldGkga3VyZ3VsYW7EsXlvci4gU2l6IGRpc2tlIHlhemFuYSBrYWRhclxuIgorI34gImRlxJ9pxZ9pa2xpa2xlciBiZWxsZWt0ZSB0dXR1bGFjYWsuIMWew7xwaGVzaXosIHlhesSxbGTEsWt0YW4gc29ucmEsXG4iCisjfiAiZGlza3RlIGJ1bHVuYW4gdMO8bSBiaWxnaXlpIGJpciBkYWhhIGdlcmkgYWxhbWFtYWsgw7x6ZXJlXG4iCisjfiAia2F5YmVkZWNla3Npbml6LlxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeSAtIGdpdmluZyB1cFxuIgorI34gbXNnc3RyICJiZWxsZWsgeWV0ZXJzaXogLSBixLFyYWvEsWzEsXlvclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbW91bnQoOCkuXG4iCisjfiBtc2dzdHIgIkt1bGxhbsSxY8SxIGJpbGdpbGVyaSBkZcSfacWfdGlyaWxkaS5cbiIKKworI34gbXNnaWQgImxvZ2luOiBtZW1vcnkgbG93LCBsb2dpbiBtYXkgZmFpbFxuIgorI34gbXNnc3RyICJnaXJpxZ86IGJlbGxlayBheiwgZ2lyacWfIHlhcMSxbGFtYXlhYmlsaXJcbiIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBmb3IgdHR5Y2xhc3MiCisjfiBtc2dzdHIgInR0eWNsYXNzIGnDp2luIGJlbGxlayBheXLEsWxhbWFkxLEiCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgZm9yIGdycGxpc3QiCisjfiBtc2dzdHIgImdycGxpc3QgacOnaW4gYmVsbGVrIGF5csSxbGFtYWTEsSIKKworI34gbXNnaWQgIkxvZ2luIG9uICVzIGZyb20gJXMgZGVuaWVkLlxuIgorI34gbXNnc3RyICIlcyDDvHplcmluZGVuICVzIG1ha2luYXPEsW5hIGdpcmnFn2UgaXppbiB2ZXJpbG1lZGkuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWyAtZiBmdWxsLW5hbWUgXSBbIC1vIG9mZmljZSBdICIKKyN+IG1zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFsgLWYgYWQtc295YWTEsSBdIFsgLW8gacWfIHllcmkgXSAiCisKKyN+IG1zZ2lkICJbIC0taGVscCBdIFsgLS12ZXJzaW9uIF1cbiIKKyN+IG1zZ3N0ciAiWyAtLWhlbHAgXSBbIC0tdmVyc2lvbiBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IFBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCisjfiBtc2dzdHIgImxvZ2luOiBQQU0gaGF0YXPEsSwgw6fEsWvEsWzEsXlvcjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICUxJHMgWy1zIHNoZWxsXSBbdXNlcm5hbWVdXG4iCisjfiAiICAgb3I6ICUxJHMgKC0tbGlzdC1zaGVsbHMgfCAtLWhlbHAgfCAtLXZlcnNpb24pXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJLdWxsYW7EsW3EsTogJXMgWyAtcyBrYWJ1ayBdIFsgLS1saXN0LXNoZWxscyBdIFsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorI34gIiAgICAgICBbIGt1bGxhbsSxY8SxX2lzbWkgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcy4iCisjfiBtc2dzdHIgIiVzOiBzYWRlY2UgeWVyZWwgZ2lyZGlsZXJpIGRlxJ9pxZ90aXJlYmlsaXI7IHllcmluZSB5cCVzIGt1bGxhbsSxbi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2FuJ3Qgc2V0IGRlZmF1bHQgY29udGV4dCBmb3IgL2V0Yy9wYXNzd2QiCisjfiBtc2dzdHIgIiVzOiAvZXRjL3Bhc3N3ZCBpw6dpbiDDtm50YW7EsW1sxLEgYmHEn2xhbSBiZWxpcnRpbGVtaXlvciIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZXRwd25hbSBmYWlsZWQiCisjfiBtc2dzdHIgImVyacWfaW0gYmHFn2FyxLFzxLF6IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBVc2UgLWwgb3B0aW9uIHRvIHNlZSBsaXN0LlxuIgorI34gbXNnc3RyICIlczogbGlzdGV5aSBnw7ZybWVrIGnDp2luICAtbCBzZcOnZW5lxJ9pbmkga3VsbGFuxLFuXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogbG9naW4gWy1mcF0gW3VzZXJuYW1lXVxuIgorI34gbXNnc3RyICJLdWxsYW7EsW3EsTogbG9naW4gWy1mcF0gW2t1bGxhbsSxY8SxXVxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeSIKKyN+IG1zZ3N0ciAiYmVsbGVrIHlldGVyc2l6IgorCisjfiBtc2dpZCAiSWxsZWdhbCB1c2VybmFtZSIKKyN+IG1zZ3N0ciAiS3VsbGFuxLFjxLEgaXNtaSBrdXJhbGTEscWfxLEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgbG9naW4gcmVmdXNlZCBvbiB0aGlzIHRlcm1pbmFsLiIKKyN+IG1zZ3N0ciAiJXMgacOnaW4gYnUgdGVybWluYWxkZW4gZ2lyacWfIHJlZGRlZGlsZGkuXG4iCisKKyN+IG1zZ2lkICJMT0dJTiAlcyBSRUZVU0VEIEZST00gJXMgT04gVFRZICVzIgorI34gbXNnc3RyICIlcyDEsMOHxLBOICVzIE1BS8SwTkFTSU5EQU4gJXMgVEVSTcSwTkFMxLBORSBHxLBSxLDFniBSRURERUTEsExExLAiCisKKyN+IG1zZ2lkICJMT0dJTiAlcyBSRUZVU0VEIE9OIFRUWSAlcyIKKyN+IG1zZ3N0ciAiJXMgxLDDh8SwTiAlcyBURVJNxLBOQUzEsE5FIEfEsFLEsMWeIFJFRERFRMSwTETEsCIKKworI34gbXNnaWQgIkxvZ2luIGluY29ycmVjdFxuIgorI34gbXNnc3RyICJHaXJpxZ8gYmHFn2FyxLFzxLF6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2hhbmdlIHRlcm1pbmFsIG93bmVyIGZhaWxlZCIKKyN+IG1zZ3N0ciAiYXlyxLFsbcSxxZ8gc2VtYWZvciBzYXnEsXPEsSA9ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbHVyZSBmb3JraW5nIgorI34gbXNnc3RyICJsb2dpbjogYXN0IHPDvHJlw6cgb2x1xZ90dXJtYSBiYcWfYXLEsXPEsXo6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIiVzIGxvZ2luOiAiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlcyBrdWxsYW7EsWPEsSBpc21pOiAiCisKKyN+IG1zZ2lkICJOQU1FIHRvbyBsb25nIgorI34gbXNnc3RyICLEsFPEsE0gw6dvayB1enVuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxvZ2luIG5hbWUgbXVjaCB0b28gbG9uZy4iCisjfiBtc2dzdHIgIkt1bGxhbsSxY8SxIGFkxLFuxLF6IMOnb2sgdXp1bi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsb2dpbiBuYW1lcyBtYXkgbm90IHN0YXJ0IHdpdGggJy0nLiIKKyN+IG1zZ3N0ciAia3VsbGFuxLFjxLEgaXNpbWxlcmkgYmlyICctJyBpbGUgYmHFn2xheWFtYXouXG4iCisKKyN+IG1zZ2lkICJFWENFU1NJVkUgbGluZWZlZWRzIgorI34gbXNnc3RyICJIQURExLBOREVOIEZBWkxBIGJvxZ8gZ2lyacWfIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRvbyBtYW55IGJhcmUgbGluZWZlZWRzLiIKKyN+IG1zZ3N0ciAiw6dvayBmYXpsYSBib8WfIGdlw6dpbGRpLlxuIgorCisjfiBtc2dpZCAiTE9HSU4gRkFJTFVSRSBGUk9NICVzLCAlcyIKKyN+IG1zZ3N0ciAiJXMgTUFLxLBOQVNJTkRBTiAlcyBHxLBSxLDFnsSwIEJBxZ5BUklTSVoiCisKKyN+IG1zZ2lkICJMT0dJTiBGQUlMVVJFIE9OICVzLCAlcyIKKyN+IG1zZ3N0ciAiJXMgw5xaRVLEsE5ERU4gJXMgR8SwUsSwxZ7EsCBCQcWeQVJJU0laIgorCisjfiBtc2dpZCAiJWQgTE9HSU4gRkFJTFVSRVMgRlJPTSAlcywgJXMiCisjfiBtc2dzdHIgIiUzJHMgJTIkcyBNQUvEsE5BU0lOREFOICUxJGQgS0VSRSBHxLBSRU1FRMSwIgorCisjfiBtc2dpZCAiJWQgTE9HSU4gRkFJTFVSRVMgT04gJXMsICVzIgorI34gbXNnc3RyICIlMyRzICUyJHMgw5xaRVLEsE5ERU4gJTEkZCBLRVJFIEfEsFJFTUVExLAiCisKKyN+IG1zZ2lkICIlczogdGhlIGdyb3VwIGZpbGUgaXMgYnVzeS5cbiIKKyN+IG1zZ3N0ciAiJXM6IGdydXAgZG9zeWFzxLEgbWXFn2d1bC5cbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCB1bmxvY2sgJXM6ICVzICh5b3VyIGNoYW5nZXMgYXJlIHN0aWxsIGluICVzKVxuIgorI34gbXNnc3RyICIlczogJXMgacOnaW4gYmHEnyBrYWxkxLFyxLFsYW3EsXlvcjogJXMgKGRlxJ9pxZ9pa2xpa2xlcmluaXogaGFsYSAlcyBpw6dpbmRlKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgImJlbGxlayBheXLEsWxhbWFkxLEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV0FSTklORzogJXM6IGFwcGVhcnMgdG8gY29udGFpbiAnJXMnIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiJXMgZGlza2kgZ2XDp2VybGkgYmlyIGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdSBpw6dlcm1peW9yXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCIKKyN+IG1zZ3N0ciAib3BlbnB0eSBiYcWfYXLEsXPEsXpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogL2RldiBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QuIgorI34gbXNnc3RyICIlczogXCIlc1wiIHlvay5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBzZXQgY2FwYWNpdHkgb24gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiAlcyBheWfEsXTEsSBoYWtrxLFuZGEgYmlsZ2kgYWzEsW5hbcSxeW9yOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiwgb2Zmc2V0ICU8UFJJdTY0PiIKKyN+IG1zZ3N0ciAiLCBiYcWfbCAlZCIKKworI34gbXNnaWQgIiwgZW5jcnlwdGlvbiB0eXBlICVkXG4iCisjfiBtc2dzdHIgIiwgxZ9pZnJlbGVtZSB0w7xyw7wgJWQgYmlsaW5taXlvclxuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3QgZ2V0IGluZm8gb24gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiAlcyBheWfEsXTEsSBoYWtrxLFuZGEgYmlsZ2kgYWzEsW5hbcSxeW9yOiAlc1xuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3Qgb3BlbiBkZXZpY2UgJXM6ICVzXG4iCisjfiBtc2dzdHIgImxvb3A6ICVzIGF5Z8SxdMSxIGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IG5vIHBlcm1pc3Npb24gdG8gbG9vayBhdCAvZGV2L2xvb3AlczxOPiIKKyN+IG1zZ3N0ciAiJXM6IC9kZXYvbG9vcCMgacOnaW4gaXppbmxlciB5ZXRlcnNpeiIKKworI34gbXNnaWQgIiIKKyN+ICIlczogQ291bGQgbm90IGZpbmQgYW55IGxvb3AgZGV2aWNlLiBNYXliZSB0aGlzIGtlcm5lbCBkb2VzIG5vdCBrbm93XG4iCisjfiAiICAgICAgIGFib3V0IHRoZSBsb29wIGRldmljZT8gKElmIHNvLCByZWNvbXBpbGUgb3IgYG1vZHByb2JlIGxvb3AnLikiCisjfiBtc2dzdHIgIiIKKyN+ICIlczogSGnDpyBiaXIgbG9vcCBheWfEsXTEsSBidWx1bmFtYWTEsS4gQnUgw6dla2lyZGVrIGxvb3AgYXlnxLF0xLEgaGFra8SxbmRhXG4iCisjfiAiICAgICAgIGJpbGdpeWUgc2FoaXAgZGXEn2lsLiAoYG1vZHByb2JlIGxvb3AnIGRlbmV5aW4sIHNvbnXDpyBhbGFtYXpzYW7EsXpcbiIKKyN+ICIgICAgICAgw6dla2lyZGXEn2kgeWVuaWRlbiBkZXJsZXlpbi4pIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk91dCBvZiBtZW1vcnkgd2hpbGUgcmVhZGluZyBwYXNzcGhyYXNlIgorI34gbXNnc3RyICJUYW1wb24gYsO8ecO8dMO8bMO8cmtlbiBiZWxsZWsgeWV0bWVkaS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiAlcyBpcyBhbHJlYWR5IGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICJTZWt0w7ZyICVkIHphdGVuIGt1bGxhbsSxbWRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2FybmluZzogJXM6IGlzIHdyaXRlLXByb3RlY3RlZCwgdXNpbmcgcmVhZC1vbmx5LlxuIgorI34gbXNnc3RyICJtb3VudDogJXMlcyB5YXptYSBrb3J1bWFsxLEsIHNhbHQtb2t1bnVyIG9sYXJhayBiYcSfbGFuxLF5b3IiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2V0X2xvb3AoJXMsJXMsJWxsdSwlbGx1KTogc3VjY2Vzc1xuIgorI34gbXNnc3RyICJzZXRfbG9vcCglcywlcywlbGx1KTogYmHFn2FyxLFsxLFcbiIKKworI34gbXNnaWQgImRlbF9sb29wKCVzKTogc3VjY2Vzc1xuIgorI34gbXNnc3RyICJkZWxfbG9vcCglcyk6IGJhxZ9hcsSxbMSxXG4iCisKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBkZWxldGUgZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiAlcyBheWfEsXTEsSBzaWxpbmVtaXlvcjogJXNcbiIKKworI34gbXNnaWQgIlRoaXMgbW91bnQgd2FzIGNvbXBpbGVkIHdpdGhvdXQgbG9vcCBzdXBwb3J0LiBQbGVhc2UgcmVjb21waWxlLlxuIgorI34gbXNnc3RyICJCdSBtb3VudCBsb29wIGRlc3RlxJ9pIG9sbWFrc8SxesSxbiBkZXJsZW5tacWfLiBMw7x0ZmVuIHllbmlkZW4gZGVybGV5aW4uXG4iCisKKyN+IG1zZ2lkICJObyBsb29wIHN1cHBvcnQgd2FzIGF2YWlsYWJsZSBhdCBjb21waWxlIHRpbWUuIFBsZWFzZSByZWNvbXBpbGUuXG4iCisjfiBtc2dzdHIgIkRlcmxlbWUgc8SxcmFzxLFuZGEgbG9vcCBkZXN0ZcSfaSB2ZXJpbG1lbWnFny4gTMO8dGZlbiB5ZW5pZGVuIGRlcmxleWluLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcGFydHgoOCkuXG4iCisjfiBtc2dzdHIgIkt1bGxhbsSxY8SxIGJpbGdpbGVyaSBkZcSfacWfdGlyaWxkaS5cbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLXEgWy1pIGludGVydmFsXV0gKFstcyB2YWx1ZV18Wy1TIHZhbHVlXSkgKFstdCB2YWx1ZV18Wy1UIHZhbHVlXSkgWy1nfC1HXSBmaWxlIFtmaWxlLi4uXVxuIgorI34gbXNnc3RyICJLdWxsYW7EsW3EsTogJXMgWy1xIFstaSBhcmFsxLFrXV0gKFstcyBkZcSfZXJdfFstUyBkZcSfZXJdKSAoWy10IGRlxJ9lcl18Wy1UIGRlxJ9lcl0pIFstZ3wtR10gZG9zeWEgW2Rvc3lhLi4uXVxuIgorCisjfiBtc2dpZCAiQ2FuJ3Qgb3BlbiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXMgYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2Fubm90IG9wZW4gbG9jayBmaWxlICVzOiAlc1xuIgorI34gbXNnc3RyICIlczogJXMgYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogYmFkIG51bWJlcjogJXNcbiIKKyN+IG1zZ3N0ciAiTnVtYXJhIGdlw6dlcnNpejogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZm9yayBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgImFzdCBzw7xyZcOnIG9sdcWfdHVydWxhbWFkxLFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGlwY21rKDEpLlxuIgorI34gbXNnc3RyICJLdWxsYW7EsWPEsSBiaWxnaWxlcmkgZGXEn2nFn3RpcmlsZGkuXG4iCisKKyN+IG1zZ2lkICJkZXByZWNhdGVkIHVzYWdlOiAlcyB7c2htIHwgbXNnIHwgc2VtfSBpZCAuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gImVza2kga3VsbGFuxLFtxLE6ICVzIHtzaG0gfCBtc2cgfCBzZW19IGtpbWxpayAuLi5cbiIKKyN+ICJLaW1saWsgaWxlIGJlbGlydGlsZW4gw7Z6a2F5bmHEn8SxIGthbGTEsXLEsXJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWyBbLXEgbXNxaWRdIFstbSBzaG1pZF0gWy1zIHNlbWlkXVxuIgorI34gIiAgICAgICAgICBbLVEgbXNna2V5XSBbLU0gc2hta2V5XSBbLVMgc2Vta2V5XSAuLi4gXVxuIgorI34gbXNnc3RyICIiCisjfiAia3VsbGFuxLFtxLE6ICVzIFsgWy1xIG1zcWtpbWxdIFstbSBzaG1raW1sXSBbLXMgc2Vta2ltbF1cbiIKKyN+ICIgICAgICAgICAgICAgIFstUSBtc2dhbmhdIFstTSBzaG1hbmhdIFstUyBzZW1hbmhdIC4uLiBdXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIGVycm9yIGluIGtleSIKKyN+IG1zZ3N0ciAiYW5haHRhcmRhIGJpbGlubWV5ZW4gaGF0YSIKKworI34gbXNnaWQgInVua25vd24gZXJyb3IgaW4gaWQiCisjfiBtc2dzdHIgImtpbWxpa3RlIGJpbGlubWV5ZW4gaGF0YSIKKworI34gbXNnaWQgIiVzOiAlcyAoJXMpXG4iCisjfiBtc2dzdHIgIiVzOiAlcyAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibGRhdHRhY2ggZnJvbSAlc1xuIgorI34gbXNnc3RyICIlMiRzIGRla2kgJTEkc1xuIgorCisjfiBtc2dpZCAiIgorI34gIiVzOiBVc2FnZTogXCIlcyBbb3B0aW9uc11cbiIKKyN+ICJcdCAtbSA8bWFwZmlsZT4gIChkZWZhdWx0czogXCIlc1wiIGFuZFxuIgorI34gIlx0XHRcdFx0ICBcIiVzXCIpXG4iCisjfiAiXHQgLXAgPHByby1maWxlPiAoZGVmYXVsdDogXCIlc1wiKVxuIgorI34gIlx0IC1NIDxtdWx0PiAgICAgc2V0IHRoZSBwcm9maWxpbmcgbXVsdGlwbGllciB0byA8bXVsdD5cbiIKKyN+ICJcdCAtaSAgICAgICAgICAgIHByaW50IG9ubHkgaW5mbyBhYm91dCB0aGUgc2FtcGxpbmcgc3RlcFxuIgorI34gIlx0IC12ICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBkYXRhXG4iCisjfiAiXHQgLWEgICAgICAgICAgICBwcmludCBhbGwgc3ltYm9scywgZXZlbiBpZiBjb3VudCBpcyAwXG4iCisjfiAiXHQgLWIgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCisjfiAiXHQgLXMgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGNvdW50ZXJzIHdpdGhpbiBmdW5jdGlvbnNcbiIKKyN+ICJcdCAtciAgICAgICAgICAgIHJlc2V0IGFsbCB0aGUgY291bnRlcnMgKHJvb3Qgb25seSlcbiIKKyN+ICJcdCAtbiAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorI34gIlx0IC1WICAgICAgICAgICAgcHJpbnQgdmVyc2lvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiJXM6IEt1bGxhbsSxbcSxOiBcIiVzIFtzZcOnZW5la2xlcl1cbiIKKyN+ICJcdCAtbSA8ZcWfbGVtZG9zeWFzxLE+ICAow7ZudGFuxLFtbMSxID0gXCIlc1wiIHZlXG4iCisjfiAiXHQgICAgICAgICAgICAgICAgICAgICBcIiVzXCIpXG4iCisjfiAiXHQgLXAgPHByb2Rvc3lhc8SxPiAgICAow7ZudGFuxLFtbMSxID0gXCIlc1wiKVxuIgorI34gIlx0IC1NIDzDp2FycGFuPiAgICAgICAgcHJvZmlsIMOnb8SfdWxsYXnEsWPEsSBiZWxpcnRpbGlyXG4iCisjfiAiXHQgLWkgICAgICAgICAgICAgICAgIMO2cm5la2xlbWUgYWTEsW3EsSBoYWtrxLFuZGEgYmlsZ2kgdmVyaXJcbiIKKyN+ICJcdCAtdiAgICAgICAgICAgICAgICAgYXlyxLFudMSxbMSxIGJpbGdpIHZlcmlyXG4iCisjfiAiXHQgLWEgICAgICAgICAgICAgICAgIHNhecSxc8SxIDAgYmlsZSBvbHNhIHTDvG0gc2VtYm9sbGVyaSBnw7ZzdGVyaXJcbiIKKyN+ICJcdCAtYiAgICAgICAgICAgICAgICAgaGlzdG9ncmFtLWJpbiBzYXnEsWxhcsSxbsSxIHRlayB0ZWsgZ8O2c3RlcmlyXG4iCisjfiAiXHQgLXMgICAgICAgICAgICAgICAgIGnFn2xldmxlcmluIGnDp2luZGVraSBiYcSfxLFtc8SxeiBzYXlhw6dsYXLEsSBiYXNhclxuIgorI34gIlx0IC1yICAgICAgICAgICAgICAgICB0w7xtIHNheWHDp2xhciBzxLFmxLFybGFuxLFyIChzYWRlY2Ugcm9vdClcbiIKKyN+ICJcdCAtbiAgICAgICAgICAgICAgICAgYmF5dCBzxLFyYWxhbWFzxLFuxLFuIHNhcHRhbm1hc8SxbsSxIMO2bmxlclxuIgorI34gIlx0IC1WICAgICAgICAgICAgICAgICBzw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpciB2ZSDDp8Sxa2FyXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVhZHByb2ZpbGU6IGVycm9yIHdyaXRpbmcgJXM6ICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyB5YXrEsWzEsXJrZW4gaGF0YTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBydGN3YWtlKDgpLlxuIgorI34gbXNnc3RyICJLdWxsYW7EsWPEsSBiaWxnaWxlcmkgZGXEn2nFn3RpcmlsZGkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiVzOiAlc1xuIgorI34gIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiRGFoYSBmYXpsYSBiaWxnaSBpw6dpbiBgZ2V0b3B0IC0taGVscCcgeWF6xLFuxLF6LlxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIHByb2dyYW0gW2FyZyAuLi5dXG4iCisjfiBtc2dzdHIgImt1bGxhbsSxbcSxOiAlcyBwcm9ncmFtIFthcmcgLi4uXVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyA8ZGV2aWNlPiBbIC1pIDxJUlE+IHwgLXQgPFRJTUU+IHwgLWMgPENIQVJTPiB8IC13IDxXQUlUPiB8IFxuIgorI34gIiAgICAgICAgICAtYSBbb258b2ZmXSB8IC1vIFtvbnxvZmZdIHwgLUMgW29ufG9mZl0gfCAtcSBbb258b2ZmXSB8IC1zIHwgXG4iCisjfiAiICAgICAgICAgIC1UIFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkt1bGxhbsSxbcSxOiAlcyA8YXlnxLF0PiBbIC1pIDxJUlE+IHwgLXQgPFpBTUFOPiB8IC1jIDxLQVJLVD4gfCAtdyA8R0VDxLBLTUU+IHwgXG4iCisjfiAiICAgICAgICAgIC1hIFtvbnxvZmZdIHwgLW8gW29ufG9mZl0gfCAtQyBbb258b2ZmXSB8IC1xIFtvbnxvZmZdIHwgLXMgfCBcbiIKKyN+ICIgICAgICAgICAgLVQgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiJXM6IGJhZCB2YWx1ZVxuIgorI34gbXNnc3RyICIlczogZGXEn2VyIGhhdGFsxLFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHVuc2hhcmUoMSkuXG4iCisjfiBtc2dzdHIgIkt1bGxhbsSxY8SxIGJpbGdpbGVyaSBkZcSfacWfdGlyaWxkaS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjbG9zaW5nIGZpbGUgJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEb3N5YSBrYXBhdMSxbMSxcmtlbiBoYXRhXG4iCisKKyN+IG1zZ2lkICJTb3JyeSBZb3UgbWF5IGNoYW5nZSB0aGUgVGFnIG9mIG5vbi1lbXB0eSBwYXJ0aXRpb25zLlxuIgorI34gbXNnc3RyICJCb8WfIG9sbWF5YW4gYmlyIGRpc2sgYsO2bMO8bcO8bsO8biBldGlrZXRpbmkgZGXEn2nFn3RpcmViaWxpcnNpbml6IVxuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzICIKKyN+IG1zZ3N0ciAiVXlhcsSxOiAlcyBkaXNrIGLDtmzDvG3DvCAiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb25zICVzICIKKyN+IG1zZ3N0ciAiVXlhcsSxOiAlcyBkaXNrIGLDtmzDvG3DvCAiCisKKyN+IG1zZ2lkICJhbmQgJXMgb3ZlcmxhcFxuIgorI34gbXNnc3RyICJ2ZSAlcyBiaXJiaXJpbmUgZ2lybWnFn1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgICVzIFtvcHRpb25zXSBkZXZpY2UgWy4uLl1cbiIKKyN+IG1zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFtzZcOnZW5la2xlcl0gYXlnxLF0IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkRldmljZSBpcyBzb21ldGhpbmcgbGlrZSAvZGV2L2hkYSBvciAvZGV2L3NkYVxuIgorI34gbXNnc3RyICJheWfEsXQ6IC9kZXYvaGRhIHZleWEgL2Rldi9zZGEgZ2liaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSA8ZmlsZW5hbWU+XG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFtzZcOnZW5la2xlcl0gYXlnxLF0IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbc2XDp2VuZWtsZXJdIGF5Z8SxdCAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXVxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbc2XDp2VuZWtsZXJdIGF5Z8SxdCAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFtzZcOnZW5la2xlcl0gYXlnxLF0IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgJXMgLVZcbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIC1sIFsgc2lueWFsIF1cbiIKKworI34gbXNnaWQgIiAgJXMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisjfiBtc2dzdHIgIiAgJXMgLS1yZXBvcnQgW0FZR0lUTEFSXVxuIgorCisjfiBtc2dpZCAiICAlcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyN+IG1zZ3N0ciAiICAlcyBbLXZ8LXFdIEtPTVVUTEFSIEFZR0lUTEFSXG4iCisKKyN+IG1zZ2lkICIlczogY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiJXM6ICVzIGHDp8SxbGFtxLF5b3JcbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC1uIF0gZGV2aWNlXG4iCisjfiBtc2dzdHIgImt1bGxhbsSxbcSxOiAlcyBbIC1uIF0gQVlHSVRcbiIKKworI34gbXNnaWQgIm1hbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgImJlbGxlayBheXLEsWxhbWFkxLEiCisKKyN+IG1zZ2lkICIlczogb3B0aW9uIHBhcnNlIGVycm9yXG4iCisjfiBtc2dzdHIgIiVzOiBzZcOnZW5layDDp8O2esO8bWxlbWUgaGF0YXPEsVxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsteF0gWy1kIDxudW0+XSBpc285NjYwLWltYWdlXG4iCisjfiBtc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbLXhdIFstZCA8bnVtPl0gaXNvOTY2MC1pbWFnZVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbLXZdIFstTiBuci1vZi1pbm9kZXNdIFstViB2b2x1bWUtbmFtZV1cbiIKKyN+ICIgICAgICAgWy1GIGZzbmFtZV0gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkt1bGxhbsSxbcSxOiAlcyBbLXZdIFstTiBpLWTDvMSfw7xtU2F5xLFzxLFdIFstViBiw7Zsw7xtxLBzbWldXG4iCisjfiAiICAgICAgIFstRiBkc3lTaXN0xLBzbWldIGF5Z8SxdCBbYmxva1NhecSxc8SxXVxuIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIHN0YXQgJXMiCisjfiBtc2dzdHIgIiVzIGR1cnVtIGJpbGdpbGVyaSBhbMSxbmFtxLF5b3IiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGRldGVybWluZSBzZWN0b3Igc2l6ZSBmb3IgJXMiCisjfiBtc2dzdHIgIiVzIHV6dW5sdcSfdSBhbMSxbmFtxLF5b3IiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstY10gWy1wUEFHRVNaXSBbLUwgbGFiZWxdIFstVSBVVUlEXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkt1bGxhbsSxbcSxOiAlcyBbLWNdIFstdjB8LXYxXSBbLXBTYXlmYVV6dW5sdcSfdV0gWy1MIGV0aWtldF1cbiIKKyN+ICIgICAgICAgICAgICAgICAgL2Rldi9pc2ltIFtibG9rU2F5xLFzxLFdXG4iCisKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5IgorI34gbXNnc3RyICJCZWxsZWsgeWV0ZXJzaXoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOlxuIgorI34gIiAgJXMgIgorI34gbXNnc3RyICJLdWxsYW7EsW3EsTpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJNZW51IHdpdGhvdXQgZGlyZWN0aW9uLiBEZWZhdWx0aW5nIHRvIGhvcml6b250YWwuIgorI34gbXNnc3RyICJNZW7DvCB5w7Zuc8O8ei4gWWF0YXkgb2xhcmFrIMO2bnRhbsSxbWxhbsSxeW9yLiIKKworI34gbXNnaWQgIiIKKyN+ICJDb21tYW5kIGFjdGlvblxuIgorI34gIiAgICVzXG4iCisjfiAiICAgcCAgIHByaW1hcnkgcGFydGl0aW9uICgxLTQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgS29tdXQgeWFwdMSxxJ/EsSBpxZ9cbiIKKyN+ICIgICAlc1xuIgorI34gIiAgIHAgICBiaXJpbmNpbCBkaXNrIGLDtmzDvG3DvCAoMS00KVxuIgorCisjfiBtc2dpZCAiICAgIC1zIFtvciAtLXNob3ctc2l6ZV06IGxpc3Qgc2l6ZSBvZiBhIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgIC1zICAtLXNob3ctc2l6ZSAgICAgZGlzayBiw7Zsw7xtw7wgdXp1bmx1a2xhcsSxIGxpc3RlbGVuaXIiCisKKyN+IG1zZ2lkICIgICAgLWQgW29yIC0tZHVtcF06ICAgICAgaWRlbSwgYnV0IGluIGEgZm9ybWF0IHN1aXRhYmxlIGZvciBsYXRlciBpbnB1dCIKKyN+IG1zZ3N0ciAiICAgIC1kICAtLWR1bXAgICAgICAgICAgZMO2a8O8bWxlciwgYW1hIHNvbnJha2kgZ2lyZGlsZXIgacOnaW4gdXlndW4gYmnDp2VtZGUiCisKKyN+IG1zZ2lkICIgICAgLWkgW29yIC0taW5jcmVtZW50XTogbnVtYmVyIGN5bGluZGVycyBldGMuIGZyb20gMSBpbnN0ZWFkIG9mIGZyb20gMCIKKyN+IG1zZ3N0ciAiICAgIC1pICAtLWluY3JlbWVudCAgICAgc2lsaW5kaXIgc2F5xLFzxLEgdi5zLiAwIHllcmluZSAxIGRlbiBpdGliYXJlbiIKKworI34gbXNnaWQgIiAgICAtdVMsIC11QiwgLXVDLCAtdU06ICBhY2NlcHQvcmVwb3J0IGluIHVuaXRzIG9mIHNlY3RvcnMvYmxvY2tzL2N5bGluZGVycy9NQiIKKyN+IG1zZ3N0ciAiICAgIC11UywgLXVCLCAtdUMsIC11TSAgc2VrdMO2ci9ibG9rL3NpbGluZGlyL01CIGJpcmltbGVyaXlsZSBkZcSfZXIgYWzEsXIvZ8O2c3RlcmlyIgorCisjfiBtc2dpZCAiICAgIC1UIFtvciAtLWxpc3QtdHlwZXNdOmxpc3QgdGhlIGtub3duIHBhcnRpdGlvbiB0eXBlcyIKKyN+IG1zZ3N0ciAiICAgIC1UICAtLWxpc3QtdHlwZXMgICAgYmlsaW5lbiBkaXNrIGLDtmzDvG3DvCB0w7xybGVyaW5pIGxpc3RlbGVyIgorCisjfiBtc2dpZCAiICAgIC1EIFtvciAtLURPU106ICAgICAgIGZvciBET1MtY29tcGF0aWJpbGl0eTogd2FzdGUgYSBsaXR0bGUgc3BhY2UiCisjfiBtc2dzdHIgIiAgICAtRCAgLS1ET1MgICAgICAgICAgIERPUy11eXVtbHVsdcSfdSBpw6dpbjogYmlyIGRpc2sgYsO2bMO8bcO8bsO8IMOnb3Jha2xhxZ90xLFyxLFyIgorCisjfiBtc2dpZCAiICAgIC1SIFtvciAtLXJlLXJlYWRdOiAgIG1ha2Uga2VybmVsIHJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIiAgICAtUiAgLS1yZS1yZWFkICAgICAgIMOnZWtpcmRlayB5ZW5pZGVuIG9rdW1hIHRhYmxvc3UgeWFwYXIiCisKKyN+IG1zZ2lkICIgICAgLU8gZmlsZSA6ICAgICAgICAgICAgc2F2ZSB0aGUgc2VjdG9ycyB0aGF0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gdG8gZmlsZSIKKyN+IG1zZ3N0ciAiICAgIC1PIGRvc3lhICAgICAgICAgICAgw7xzdMO8bmUgeWF6YXJhayBzZWt0w7ZybGVyaSBkb3N5YXlhIGtheWRlZGVyIgorCisjfiBtc2dpZCAiICAgIC1JIGZpbGUgOiAgICAgICAgICAgIHJlc3RvcmUgdGhlc2Ugc2VjdG9ycyBhZ2FpbiIKKyN+IG1zZ3N0ciAiICAgIC1JIGRvc3lhICAgICAgICAgICAgc2VrdMO2cmxlcmkgYnUgZG9zeWFkYW4gdGVrcmFyIG9sdcWfdHVydXIiCisKKyN+IG1zZ2lkICIgICAgLXYgW29yIC0tdmVyc2lvbl06ICAgcHJpbnQgdmVyc2lvbiIKKyN+IG1zZ3N0ciAiICAgIC12ICAtLXZlcnNpb24gICAgICAgc8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXIiCisKKyN+IG1zZ2lkICIgICAgLT8gW29yIC0taGVscF06ICAgICAgcHJpbnQgdGhpcyBtZXNzYWdlIgorI34gbXNnc3RyICIgICAgLT8gIC0taGVscCAgICAgICAgICBidSB5YXJkxLFtIGlsZXRpc2luaSBnw7ZzdGVyaXIgdmUgw6fEsWthciIKKworI34gbXNnaWQgIiAgICAtZyBbb3IgLS1zaG93LWdlb21ldHJ5XTogcHJpbnQgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIGdlb21ldHJ5IgorI34gbXNnc3RyICIgICAgLWcgIC0tc2hvdy1nZW9tZXRyeSDDp2VraXJkZcSfaW4gZ2VvbWV0cmkgYmlsZ2lzaW5pIGfDtnN0ZXJpciIKKworI34gbXNnaWQgIiAgICAtTCAgW29yIC0tTGludXhdOiAgICAgIGRvIG5vdCBjb21wbGFpbiBhYm91dCB0aGluZ3MgaXJyZWxldmFudCBmb3IgTGludXgiCisjfiBtc2dzdHIgIiAgICAtTCAgLS1MaW51eCAgICAgICAgIExpbnV4IGlsZSBhbGFrYXPEsXogxZ9leWxlciBoYWtrxLFuZGEgaGF0YSDDvHJldG1leiIKKworI34gbXNnaWQgIiAgICBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZXRlY3RlZCBnZW9tZXRyeSB1c2luZzoiCisjfiBtc2dzdHIgIlNhcHRhbmFuIGdlb21ldHJpeWkgYcWfbWFrIGnDp2luIHNlw6dlbmVrbGVyOiIKKworI34gbXNnaWQgIiAgICAtZiAgW29yIC0tZm9yY2VdOiAgICAgIGRvIHdoYXQgSSBzYXksIGV2ZW4gaWYgaXQgaXMgc3R1cGlkIgorI34gbXNnc3RyICIgICAgLWYgIC0tZm9yY2UgICAgICAgICB5YXDEsWxhY2FrIGnFn2xlbSBoYXRhbMSxIGRhIG9sc2EgeWFwxLFsxLFyIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNvdWxkbid0IGFsbG9jYXRlIG1lbW9yeSBmb3IgZmlsZXN5c3RlbSB0eXBlc1xuIgorI34gbXNnc3RyICJtb3VudDogZG9zeWEgc2lzdGVtaSB0w7xyw7xuw7wgYmVsaXJ0bWVsaXNpbml6IgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiBmc2NrIFstQU1OUFJUVl0gWyAtQyBbIGZkIF0gXSBbLXQgZnN0eXBlXSBbZnMtb3B0aW9uc10gW2ZpbGVzeXMgLi4uXVxuIgorI34gbXNnc3RyICJLdWxsYW7EsW3EsTogbWtmcyBbLVZdIFstdCBkc3lTaXN0VMO8csO8XSBbZHN5U2lzdC1zZcOnZW5la2xlcmldIGF5Z8SxdCBbdXp1bmx1a11cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDb3VsZG4ndCBvcGVuICVzOiAlc1xuIgorI34gbXNnc3RyICIlcyBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZzY2sgZnJvbSAlc1xuIgorI34gbXNnc3RyICIlMiRzIGRla2kgJTEkc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBVbmFibGUgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciBmc2NrX3BhdGhcbiIKKyN+IG1zZ3N0ciAiRMO8xJ/DvG1sZXIgacOnaW4gdGFtcG9uIGJlbGxlayBheXLEsWxhbcSxeW9yIgorCisjfiBtc2dpZCAiVHJ5IGBnZXRvcHQgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiRGFoYSBmYXpsYSBiaWxnaSBpw6dpbiBgZ2V0b3B0IC0taGVscCcgeWF6xLFuxLF6LlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6IGdldG9wdCBvcHRzdHJpbmcgcGFyYW1ldGVyc1xuIgorI34gbXNnc3RyICJLdWxsYW7EsW3EsTogZ2V0b3B0IHNlw6dlbmVrLWRpemdlc2kgcGFyYW1ldHJlbGVyXG4iCisKKyN+IG1zZ2lkICIgICAgICAgZ2V0b3B0IFtvcHRpb25zXSBbLS1dIG9wdHN0cmluZyBwYXJhbWV0ZXJzXG4iCisjfiBtc2dzdHIgIiAgICAgICBnZXRvcHQgW3Nlw6dlbmVrbGVyXSBbLS1dIHNlw6dlbmVrLWRpemdlc2kgcGFyYW1ldHJlbGVyXG4iCisKKyN+IG1zZ2lkICJnZXRvcHQgKGVuaGFuY2VkKSAxLjEuNFxuIgorI34gbXNnc3RyICJnZXRvcHQgKGdlbGnFn21pxZ8pIDEuMS40XG4iCisKKyN+IG1zZ2lkICIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pXG4iCisjfiBtc2dzdHIgIihHZXJla2VuOiBgVVRDJywgYExPQ0FMJyB5YSBkYSBoacOnYmlyaS4pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gImh3Y2xvY2sgLSBxdWVyeSBhbmQgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayAoUlRDKVxuIgorI34gIlxuIgorI34gIlVzYWdlOiBod2Nsb2NrIFtmdW5jdGlvbl0gW29wdGlvbnMuLi5dXG4iCisjfiAiXG4iCisjfiAiRnVuY3Rpb25zOlxuIgorI34gIiAgLWggfCAtLWhlbHAgICAgICAgICBzaG93IHRoaXMgaGVscFxuIgorI34gIiAgLXIgfCAtLXNob3cgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCByZXN1bHRcbiIKKyN+ICIgICAgICAgLS1zZXQgICAgICAgICAgc2V0IHRoZSBydGMgdG8gdGhlIHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyN+ICIgIC1zIHwgLS1oY3Rvc3lzICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAgLXcgfCAtLXN5c3RvaGMgICAgICBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIHRvIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lXG4iCisjfiAiICAgICAgIC0tc3lzdHogICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgYmFzZWQgb24gdGhlIGN1cnJlbnQgdGltZXpvbmVcbiIKKyN+ICIgICAgICAgLS1hZGp1c3QgICAgICAgYWRqdXN0IHRoZSBydGMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCBzaW5jZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICB0aGUgY2xvY2sgd2FzIGxhc3Qgc2V0IG9yIGFkanVzdGVkXG4iCisjfiAiICAgICAgIC0tZ2V0ZXBvY2ggICAgIHByaW50IG91dCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWVcbiIKKyN+ICIgICAgICAgLS1zZXRlcG9jaCAgICAgc2V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZSB0byB0aGUgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGdpdmVuIHdpdGggLS1lcG9jaFxuIgorI34gIiAgICAgICAtLXByZWRpY3QgICAgICBwcmVkaWN0IHJ0YyByZWFkaW5nIGF0IHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyN+ICIgIC12IHwgLS12ZXJzaW9uICAgICAgcHJpbnQgb3V0IHRoZSB2ZXJzaW9uIG9mIGh3Y2xvY2sgdG8gc3Rkb3V0XG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczogXG4iCisjfiAiICAtdSB8IC0tdXRjICAgICAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIFVUQ1xuIgorI34gIiAgICAgICAtLWxvY2FsdGltZSAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBsb2NhbCB0aW1lXG4iCisjfiAiICAtZiB8IC0tcnRjPXBhdGggICAgIHNwZWNpYWwgL2Rldi8uLi4gZmlsZSB0byB1c2UgaW5zdGVhZCBvZiBkZWZhdWx0XG4iCisjfiAiICAgICAgIC0tZGlyZWN0aXNhICAgIGFjY2VzcyB0aGUgSVNBIGJ1cyBkaXJlY3RseSBpbnN0ZWFkIG9mICVzXG4iCisjfiAiICAgICAgIC0tYmFkeWVhciAgICAgIGlnbm9yZSBydGMncyB5ZWFyIGJlY2F1c2UgdGhlIGJpb3MgaXMgYnJva2VuXG4iCisjfiAiICAgICAgIC0tZGF0ZSAgICAgICAgIHNwZWNpZmllcyB0aGUgdGltZSB0byB3aGljaCB0byBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiICAgICAgIC0tZXBvY2g9eWVhciAgIHNwZWNpZmllcyB0aGUgeWVhciB3aGljaCBpcyB0aGUgYmVnaW5uaW5nIG9mIHRoZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgaGFyZHdhcmUgY2xvY2sncyBlcG9jaCB2YWx1ZVxuIgorI34gIiAgICAgICAtLW5vYWRqZmlsZSAgICBkbyBub3QgYWNjZXNzIC9ldGMvYWRqdGltZS4gUmVxdWlyZXMgdGhlIHVzZSBvZlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWVcbiIKKyN+ICIgICAgICAgLS1hZGpmaWxlPXBhdGggc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZSAoZGVmYXVsdCBpc1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAvZXRjL2FkanRpbWUpXG4iCisjfiAiICAgICAgIC0tdGVzdCAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IGFjdHVhbGx5IHVwZGF0aW5nIHRoZSBoYXJkd2FyZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBjbG9jayBvciBhbnl0aGluZyBlbHNlXG4iCisjfiAiICAtRCB8IC0tZGVidWcgICAgICAgIGRlYnVnIG1vZGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gImh3Y2xvY2sgLSBEb25hbsSxbSBzYWF0aW5pIChSVEMpIGF5YXJsYW1hayB2ZSBzb3JndWxhbWFrIGnDp2luIGt1bGxhbsSxbMSxci5cbiIKKyN+ICJcbiIKKyN+ICJLdWxsYW7EsW3EsTogaHdjbG9jayBbxLDFnkxFVl0gW1NFw4dFTkVLLi4uXVxuIgorI34gIlxuIgorI34gIsSwxZ5MRVZsZXI6XG4iCisjfiAiICAtLWhlbHAgICAgICAgIGJ1IHlhcmTEsW0gaWxldGlzaW5pIGfDtnN0ZXJpclxuIgorI34gIiAgLS1zaG93ICAgICAgICBkb25hbsSxbSBzYWF0aSBva3VudXIgdmUgc29udWN1IGfDtnN0ZXJpbGlyXG4iCisjfiAiICAtLXNldCAgICAgICAgIGRvbmFuxLFtIHNhYXRpIC0tZGF0ZSBpbGUgdmVyaWxlbiBkZcSfZXJlIGF5YXJsYW7EsXJcbiIKKyN+ICIgIC0taGN0b3N5cyAgICAgc2lzdGVtIHphbWFuxLEgZG9uYW7EsW0gc2FhdGluZGVuIGF5YXJsYW7EsXJcbiIKKyN+ICIgIC0tc3lzdG9oYyAgICAgZG9uYW7EsW0gc2FhdGkgc2lzdGVtIHNhYXRpbmRlbiBheWFybGFuxLFyXG4iCisjfiAiICAtLWFkanVzdCAgICAgIHNhYXRpbiBzb24gYXlhcsSxbmRhbiBiZXJpIG9sdcWfYW4gc2lzdGVtYXRpayBzYXBtYXlhIGfDtnJlXG4iCisjfiAiICAgICAgICAgICAgICAgIGRvbmFuxLFtIHNhYXRpIGF5YXJsYW7EsXJcbiIKKyN+ICIgIC0tZ2V0ZXBvY2ggICAgw6dla2lyZGXEn2luIGRvbmFuxLFtIHNhYXRpIGTDtm5lbXNlbGxpayBkZcSfZXJpIGfDtnN0ZXJpbGlyXG4iCisjfiAiICAtLXNldGVwb2NoICAgIMOnZWtpcmRlxJ9pbiBkb25hbsSxbSBzYWF0aSBkw7ZuZW1zZWxsaWsgZGXEn2VyaSAtLWVwb2NoXG4iCisjfiAiICAgICAgICAgICAgICAgIGlsZSB2ZXJpbGVuIGRlxJ9lcmUgYXlhcmxhbsSxclxuIgorI34gIiAgLS12ZXJzaW9uICAgICBod2Nsb2NrIHPDvHLDvG0gYmlsZ2lsZXJpIGfDtnN0ZXJpbGlyXG4iCisjfiAiXG4iCisjfiAiU0XDh0VORUtsZXI6IFxuIgorI34gIiAgLS11dGMgICAgICAgICBkb25hbsSxbSBzYWF0aSBrb29yZGluYXRsxLEgZXZyZW5zZWwgemFtYW5kYSB0dXR1bHVyXG4iCisjfiAiICAtLWxvY2FsdGltZSAgIGRvbmFuxLFtIHNhYXRpIHllcmVsIHphbWFuZGEgdHV0dWx1clxuIgorI34gIiAgLS1kaXJlY3Rpc2EgICAlcyB5ZXJpbmUgSVNBIHZlcml5b2x1bmEgZG/En3J1ZGFuIGVyacWfaWxpclxuIgorI34gIiAgLS1iYWR5ZWFyICAgICBiaW9zIGJvenVrIG9sZHXEn3VuZGEgZG9uYW7EsW0gc2FhdGluaW4gecSxbMSxIGfDtnphcmTEsSBlZGlsaXJcbiIKKyN+ICIgIC0tZGF0ZSAgICAgICAgZG9uYW7EsW0gc2FhdGluaW4gYXlhcmxhbmFjYcSfxLEgZGXEn2VyIGJlbGlydGlsaXJcbiIKKyN+ICIgIC0tZXBvY2g9WUlMICAgZG9uYW7EsW0gc2FhdGluaW4gZMO2bmVtc2VsbGlrIGJhxZ9sYW5nxLHDpyBkZcSfZXJpIG9sYW5cbiIKKyN+ICIgICAgICAgICAgICAgICAgWUlMIGJlbGlydGlsaXJcbiIKKyN+ICIgIC0tbm9hZGpmaWxlICAgL2V0Yy9hZGp0aW1lIG9rdW5tYXouIFlhIC0tdXRjIHlhIGRhIC0tbG9jYWx0aW1lIGt1bGxhbm1ha1xuIgorI34gIiAgICAgICAgICAgICAgICBnZXJla2lyLlxuIgorCisjfiBtc2dpZCAiY2FuJ3QgbWFsbG9jIGluaXRzdHJpbmciCisjfiBtc2dzdHIgImJhxZ9sYXRtYSBkaXpnZXNpIGnDp2luIHllciBheXLEsWxhbcSxeW9yIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgWy04aGlMbXNVd10gWy1sIGxvZ2luX3Byb2dyYW1dIFstdCB0aW1lb3V0XSBbLUkgaW5pdHN0cmluZ10gWy1IIGxvZ2luX2hvc3RdIGJhdWRfcmF0ZSwuLi4gbGluZSBbdGVybXR5cGVdXG4iCisjfiAib3JcdFstaGlMbXddIFstbCBsb2dpbl9wcm9ncmFtXSBbLXQgdGltZW91dF0gWy1JIGluaXRzdHJpbmddIFstSCBsb2dpbl9ob3N0XSBsaW5lIGJhdWRfcmF0ZSwuLi4gW3Rlcm10eXBlXVxuIgorI34gbXNnc3RyICIiCisjfiAiS3VsbGFuxLFtxLE6ICVzIFstaGlMbXddIFstbCBnaXJpxZ8sX3V5Z3VsYW1hc8SxXSBbLXQgemFtYW5BxZ/EsW3EsV1cbiIKKyN+ICIgICAgICAgICAgICAgIFstSSBiYcWfbGF0bWFEaXpnZXNpXSBbLUggZ2lyacWfX21ha2luYXPEsV0gYmHEn2xhbnTEsV9oxLF6xLEsLi4uXG4iCisjfiAiICAgICAgICAgICAgICBzYXTEsXIgW3Rlcm1pbmFsVMO8csO8XVxuIgorI34gIiAgICAgICB5YSBkYSAgWy1oaUxtd10gWy1sIGdpcmnFnyxfdXlndWxhbWFzxLFdIFstdCB6YW1hbkHFn8SxbcSxXVxuIgorI34gIiAgICAgICAgICAgICAgWy1JIGJhxZ9sYXRtYURpemdlc2ldIFstSCBnaXJpxZ9fbWFraW5hc8SxXSBzYXTEsXJcbiIKKyN+ICIgICAgICAgICAgICAgIGJhxJ9sYW50xLFfaMSxesSxLC4uLiBbdGVybWluYWxUw7xyw7xdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFt5IHwgbl0iCisjfiBtc2dzdHIgIkt1bGxhbsSxbcSxOiBtZXNnIFt5IHwgbl1cbiIKKworI34gbXNnaWQgIiVzOiBCQUQgRVJST1IiCisjfiBtc2dzdHIgIiVzOiBCxLBMxLBOTUVZRU4gSEFUQSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWy1uXSBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFtkb3N5YV1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW4ndCByZWFkOiAlcyIKKyN+IG1zZ3N0ciAiJXM6ICVzIG9rdW5hbcSxeW9yLlxuIgorCisjfiBtc2dpZCAibG9nZ2VyOiAlczogJXMuXG4iCisjfiBtc2dzdHIgImxvZ2dlcjogJXM6ICVzLlxuIgorCisjfiBtc2dpZCAidXNhZ2U6IGxvZ2dlciBbLWlzXSBbLWYgZmlsZV0gWy1wIHByaV0gWy10IHRhZ10gWy11IHNvY2tldF0gWyBtZXNzYWdlIC4uLiBdXG4iCisjfiBtc2dzdHIgImt1bGxhbsSxbcSxOiBsb2dnZXIgWy1pc10gWy1mIGRvc3lhXSBbLXAgcHJpXSBbLXQgYmHFn2zEsWtdIFstdSBzb2tldF0gWyBpbGV0aSAuLi4gXVxuIgorCisjfiBtc2dpZCAidXNhZ2U6IGxvb2sgWy1kZmFdIFstdCBjaGFyXSBzdHJpbmcgW2ZpbGVdXG4iCisjfiBtc2dzdHIgImt1bGxhbsSxbcSxOiBsb29rIFstZGZhXSBbLXQga2FyYWt0ZXJdIGRpemdlIFtkb3N5YV1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5PyIKKyN+IG1zZ3N0ciAiYmVsbGVrIHlldGVyc2l6P1xuIgorCisjfiBtc2dpZCAiY2FsbDogJXMgZnJvbSB0byBmaWxlcy4uLlxuIgorI34gbXNnc3RyICLDp2HEn3LEsTogJXMgaGFuZ2kgZG9zeWFsYXJsYSDDp2FsxLHFn2FjYWs/XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHNjcmlwdCBbLWFdIFstZV0gWy1mXSBbLXFdIFstdF0gW2ZpbGVdXG4iCisjfiBtc2dzdHIgImt1bGxhbsSxbcSxOiBzY3JpcHQgWy1hXSBbLWZdIFstcV0gWy10XSBbZG9zeWFdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHdyaXRlIGVycm9yICVkOiAlc1xuIgorI34gbXNnc3RyICIlcyDDvHplcmluZGUgeWF6bWEgaGF0YXPEsVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB3cml0ZSBlcnJvcjogJXNcbiIKKyN+IG1zZ3N0ciAiJXMgw7x6ZXJpbmRlIHlhem1hIGhhdGFzxLFcbiIKKworI34gbXNnaWQgIiAgWyAtc25vdyBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtc25vdyBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXNvZnRzY3JvbGwgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLXNvZnRzY3JvbGwgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1mb3JlZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1mb3JlZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdCBdXG4iCisjfiBtc2dzdHIgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdCBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWJhY2tncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWJhY2tncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAiICBbIC11bGNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLXVsY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlIF1cbiIKKyN+IG1zZ3N0ciAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXVsY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC11bGNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLWhiY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtaGJjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtaGJjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWhiY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtc3RhbmRvdXQgWyBhdHRyIF0gXVxuIgorI34gbXNnc3RyICIgIFsgLXN0YW5kb3V0IFsgYXR0ciBdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1kXSBbLXAgcGlkZmlsZV0gWy1zIHNvY2tldHBhdGhdIFstVCB0aW1lb3V0XVxuIgorI34gbXNnc3RyICJLdWxsYW7EsW3EsTogbGFzdCBbLSNdIFstZiBkb3N5YV0gWy10IHR0eV0gWy1oIG1ha2luYUFkxLFdIFtrdWxsYW7EsWPEsSAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICVzIC1rXG4iCisjfiBtc2dzdHIgIiAgICAgICAlcyAtbCBbIHNpbnlhbCBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstcl0gWy10XVxuIgorI34gbXNnc3RyICJLdWxsYW7EsW3EsTogJXMgW3Nlw6dlbmVrbGVyXSBheWfEsXQgLi4uXG4iCisKKyN+IG1zZ2lkICJ3aGVyZWlzIFsgLXNibXUgXSBbIC1TQk0gZGlyIC4uLiAtZiBdIG5hbWUuLi5cbiIKKyN+IG1zZ3N0ciAid2hlcmVpcyBbIC1zYm11IF0gWyAtU0JNIGRpemluIC4uLiAtZiBdIGlzaW0uLi5cbiIKKworI34gbXNnaWQgInVzYWdlOiB3cml0ZSB1c2VyIFt0dHldXG4iCisjfiBtc2dzdHIgImt1bGxhbsSxbcSxOiB3cml0ZSBrdWxsYW7EsWPEsSBbdHR5XVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IG9wZW4gJXM6ICVzIgorI34gbXNnc3RyICJtb3VudDogJXMgYcOnxLFsYW3EsXlvcjogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5rbm93blxuIgorI34gbXNnc3RyICJiaWxpbm1leWVuIgorCisjfiBtc2dpZCAiVXNhZ2U6IHNodXRkb3duIFstaHwtcl0gWy1mcXNdIFtub3d8aGg6c3N8K21pbnNdXG4iCisjfiBtc2dzdHIgIkt1bGxhbsSxbcSxOiBzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fGhoOnNzfCtkYWtpa2FdXG4iCisKKyN+IG1zZ2lkICJTaHV0ZG93biBwcm9jZXNzIGFib3J0ZWQiCisjfiBtc2dzdHIgIkthcGF0bWEgacWfbGVtaSBkdXJkdXJ1bGR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIm9ubHkgcm9vdCBjYW4gc2h1dCBhIHN5c3RlbSBkb3duLiIKKyN+IG1zZ3N0ciAiJXM6IFNhZGVjZSByb290IHNpc3RlbWkga2FwYXRhYmlsaXIuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidGhhdCBtdXN0IGJlIHRvbW9ycm93LCBjYW4ndCB5b3Ugd2FpdCB0aWxsIHRoZW4/IgorI34gbXNnc3RyICJEw7xuZSBrYWRhciBiZWtsZXllYmlsZWNlayBtaXNpbml6P1xuIgorCisjfiBtc2dpZCAiZm9yIG1haW50ZW5hbmNlOyBib3VuY2UsIGJvdW5jZSIKKyN+IG1zZ3N0ciAidGXFn2hpcyBpw6dpbjsgesSxcGxhLCB6xLFwbGEiCisKKyN+IG1zZ2lkICJUaGUgc3lzdGVtIGlzIGJlaW5nIHNodXQgZG93biB3aXRoaW4gNSBtaW51dGVzIgorI34gbXNnc3RyICJTaXN0ZW0gNSBkYWtpa2F5YSBrYWRhciBrYXBhbsSxeW9yIgorCisjfiBtc2dpZCAiTG9naW4gaXMgdGhlcmVmb3JlIHByb2hpYml0ZWQuIgorI34gbXNnc3RyICJCdSBuZWRlbmxlIGdpcmnFn2xlciB5YXNha2xhbmTEsS4iCisKKyN+IG1zZ2lkICJyZWJvb3RlZCBieSAlczogJXMiCisjfiBtc2dzdHIgIiVzIHRhcmFmxLFuZGFuIHlhZW5pZGVuIGJhxZ9sYXTEsWxkxLE6ICVzIgorCisjfiBtc2dpZCAiaGFsdGVkIGJ5ICVzOiAlcyIKKyN+IG1zZ3N0ciAiJXMgdGFyYWbEsW5kYW4ga2FwYXTEsWxkxLE6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldoeSBhbSBJIHN0aWxsIGFsaXZlIGFmdGVyIHJlYm9vdD8iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJUZWtyYXIgZ8O2csO8xZ9tZWsgw7x6ZXJlLi4uIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk5vdyB5b3UgY2FuIHR1cm4gb2ZmIHRoZSBwb3dlci4uLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIsWeaW1kaSBtYWtpbmFuxLFuIGVuZXJqaXNpbmkga2VzZWJpbGlyc2luaXouLi4iCisKKyN+IG1zZ2lkICJDYWxsaW5nIGtlcm5lbCBwb3dlci1vZmYgZmFjaWxpdHkuLi5cbiIKKyN+IG1zZ3N0ciAiw4dla2lyZGVrdGVraSBlbmVyamkga2FwYXRtYSBzaXN0ZW1pIMOnYcSfcsSxbMSxeW9yLi4uXG4iCisKKyN+IG1zZ2lkICJFcnJvciBwb3dlcmluZyBvZmZcdCVzXG4iCisjfiBtc2dzdHIgIkVuZXJqaSBrYXBhdMSxbMSxcmtlbiBoYXRhIG9sdcWfdHVcdCVzXG4iCisKKyN+IG1zZ2lkICJFeGVjdXRpbmcgdGhlIHByb2dyYW0gXCIlc1wiIC4uLlxuIgorI34gbXNnc3RyICJcIiVzXCIgdXlndWxhbWFzxLEgw6dhbMSxxZ90xLFyxLFsxLF5b3IgLi4uXG4iCisKKyN+IG1zZ2lkICJVUkdFTlQ6IGJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXM6IgorI34gbXNnc3RyICLDlk5FTUzEsDogJXMnZGVuIHV5YXLEsToiCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAlZCBob3VycyAlZCBtaW51dGVzIgorI34gbXNnc3RyICJTaXN0ZW0gJWQgc2FhdCAlZCBkYWtpa2F5YSBrYWRhciBrYXBhbsSxeW9yIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gMSBob3VyICVkIG1pbnV0ZXMiCisjfiBtc2dzdHIgIlNpc3RlbSAxIHNhYXQgJWQgZGFraWtheWEga2FkYXIga2FwYW7EsXlvciIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluICVkIG1pbnV0ZXNcbiIKKyN+IG1zZ3N0ciAiU2lzdGVtICVkIGRha2lrYXlhIGthZGFyIGthcGFuxLF5b3JcbiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluIDEgbWludXRlXG4iCisjfiBtc2dzdHIgIlNpc3RlbSAxIGRha2lrYXlhIGthZGFyIGthcGFuxLF5b3JcbiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIElNTUVESUFURUxZIVxuIgorI34gbXNnc3RyICJTaXN0ZW0gxZ5VIEFOREEga2FwYW7EsXlvciFcbiIKKworI34gbXNnaWQgIlx0Li4uICVzIC4uLlxuIgorI34gbXNnc3RyICJcdC4uLiAlcyAuLi5cbiIKKworI34gbXNnaWQgIkNhbm5vdCBmb3JrIGZvciBzd2Fwb2ZmLiBTaHJ1ZyEiCisjfiBtc2dzdHIgInN3YXBvZmYgYXN0IHPDvHJlw6cgb2xhbcSxeW9yLiIKKworI34gbXNnaWQgIkNhbm5vdCBleGVjIHN3YXBvZmYsIGhvcGluZyB1bW91bnQgd2lsbCBkbyB0aGUgdHJpY2suIgorI34gbXNnc3RyICJzd2Fwb2ZmIMOnYWzEscWfdMSxcsSxbGFtxLF5b3IsIHVtb3VudCBkZW5lbmVjZWsuIgorCisjfiBtc2dpZCAiQ2Fubm90IGZvcmsgZm9yIHVtb3VudCwgdHJ5aW5nIG1hbnVhbGx5LiIKKyN+IG1zZ3N0ciAidW1vdW50IGFzdCBzw7xyZcOnIG9sYW3EsXlvciwgZG/En3J1ZGFuIMOnYWzEscWfdMSxcsSxbG1hc8SxIGRlbmVuZWNlay4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyAlcywgdHJ5aW5nIHVtb3VudC5cbiIKKyN+IG1zZ3N0ciAiJXMgw6dhbMSxxZ90xLFyxLFsYW3EsXlvci4gdW1vdW50IGRlbmVuZWNlay5cbiIKKworI34gbXNnaWQgIkNhbm5vdCBleGVjIHVtb3VudCwgZ2l2aW5nIHVwIG9uIHVtb3VudC4iCisjfiBtc2dzdHIgInVtb3VudCDDp2FsxLHFn3TEsXLEsWxhbcSxeW9yLCB1bW91bnQnZGFuIHZhemdlw6dpbGl5b3IuIgorCisjfiBtc2dpZCAiVW5tb3VudGluZyBhbnkgcmVtYWluaW5nIGZpbGVzeXN0ZW1zLi4uIgorI34gbXNnc3RyICJLYWxhbiBkb3N5YSBpc3RlbWxlcmkgYXlyxLFsxLF5b3IuLi4iCisKKyN+IG1zZ2lkICJzaHV0ZG93bjogQ291bGRuJ3QgdW1vdW50ICVzOiAlc1xuIgorI34gbXNnc3RyICJzaHV0ZG93bjogJXMgYXlyxLFsYW1hZMSxOiAlc1xuIgorCisjfiBtc2dpZCAiQm9vdGluZyB0byBzaW5nbGUgdXNlciBtb2RlLlxuIgorI34gbXNnc3RyICJUZWsga3VsbGFuxLFjxLFsxLEga2lwIGJhxZ9sYXTEsWzEsXlvci5cbiIKKworI34gbXNnaWQgImV4ZWMgb2Ygc2luZ2xlIHVzZXIgc2hlbGwgZmFpbGVkXG4iCisjfiBtc2dzdHIgIlRlayBrdWxsYW7EsWPEsWzEsSBrYWJ1ayDDp2FsxLHFn3TEsXLEsWxhbWFkxLFcbiIKKworI34gbXNnaWQgImZvcmsgb2Ygc2luZ2xlIHVzZXIgc2hlbGwgZmFpbGVkXG4iCisjfiBtc2dzdHIgIlRlayBrdWxsYW7EsWPEsWzEsSBrYWJ1xJ91biBhc3Qgc8O8cmVjZSBhbMSxbmFtYWTEsVxuIgorCisjfiBtc2dpZCAiZXJyb3Igb3BlbmluZyBmaWZvXG4iCisjfiBtc2dzdHIgImZpZm8gYcOnxLFsxLFya2VuIGhhdGFcbiIKKworI34gbXNnaWQgImVycm9yIHNldHRpbmcgY2xvc2Utb24tZXhlYyBvbiAvZGV2L2luaXRjdGwiCisjfiBtc2dzdHIgIi9kZXYvaW5pdGN0bCDDvHN0w7xuZGUgY2xvc2Utb24tZXhlYyBheWFybGFuxLFya2VuIGhhdGEiCisKKyN+IG1zZ2lkICJlcnJvciBydW5uaW5nIGZpbmFscHJvZ1xuIgorI34gbXNnc3RyICJ1w6cgdXlndWxhbWEgw6dhbMSxxZ90xLFyxLFsxLFya2VuIGhhdGFcbiIKKworI34gbXNnaWQgImVycm9yIGZvcmtpbmcgZmluYWxwcm9nXG4iCisjfiBtc2dzdHIgInXDpyB1eWd1bGFtYSBhc3Qgc8O8cmVjZSBhbMSxbsSxcmtlbiBoYXRhXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV3JvbmcgcGFzc3dvcmQuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQYXJvbGEgeWFubMSxxZ8uXG4iCisKKyN+IG1zZ2lkICJmb3JrIGZhaWxlZFxuIgorI34gbXNnc3RyICJhc3Qgc8O8cmXDpyBvbHXFn3R1cnVsYW1hZMSxXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBpbml0dGFiXG4iCisjfiBtc2dzdHIgImluaXR0YWIgYcOnxLFsYW3EsXlvclxuIgorCisjfiBtc2dpZCAibm8gVEVSTSBvciBjYW5ub3Qgc3RhdCB0dHlcbiIKKyN+IG1zZ3N0ciAiWWEgVEVSTSBib8WfIHlhIGRhIHR0eSBkdXJ1bSBiaWxnaWxlcmkgYWzEsW5hbcSxeW9yXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgYXQgc3RvcHBpbmcgc2VydmljZSBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAic2VydmlzIGR1cmR1cnVsdXJrZW4gaGF0YTogXCIlc1wiIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlN0b3BwZWQgc2VydmljZTogJXNcbiIKKyN+IG1zZ3N0ciAic2VydmlzIGR1cmR1cnVsdXJrZW4gaGF0YTogXCIlc1wiIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIGF0IHN0YXJ0aW5nIHNlcnZpY2UgXCIlc1wiXG4iCisjfiBtc2dzdHIgInNlcnZpcyBkdXJkdXJ1bHVya2VuIGhhdGE6IFwiJXNcIiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1jXSBbLW4gbGV2ZWxdIFstcl0gWy1zIGJ1ZnNpemVdXG4iCisjfiBtc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbLWNdIFstbiBzZXZpeWVdIFstcyB0YW1wb25Cb3l1XVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yOiBzdHJkdXAgZmFpbGVkIgorI34gbXNnc3RyICIlcyBhw6fEsWxhbWFkxLEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6IGNhbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgImJlbGxlayBheXLEsWxhbWFkxLEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6ICVzIFstYmZweF0gWy1sIG5saW5lXSIKKyN+IG1zZ3N0ciAia3VsbGFuxLFtxLE6IGNvbCBbLWJmcHhdIFstbCBzYXTEsXJzYXnEsXPEsV1cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC0gXSBbIC0yIF0gWyBmaWxlIC4uLiBdXG4iCisjfiBtc2dzdHIgImt1bGxhbsSxbcSxOiAlcyBbIC0gXSBbIC0yIF0gWyBkb3N5YSAuLi4gXVxuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogWy1iY0Nkb3Z4XSBbLWUgZm10XSBbLWYgZm10X2ZpbGVdIFstbiBsZW5ndGhdIFstcyBza2lwXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgImhleGR1bXA6IFstYmNDZG92eF0gWy1lIGJpw6dlbV0gWy1mIGJpw6dlbURvc3lhc8SxXSBbLW4gdXp1bmx1a10gWy1zIGF0bGFuYW5dIFtkb3N5YSAuLi5dXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWy1kZmxwY3N1XSBbK2xpbmVudW0gfCArL3BhdHRlcm5dIG5hbWUxIG5hbWUyIC4uLlxuIgorI34gbXNnc3RyICJrdWxsYW7EsW3EsTogJXMgWy1kZmxwY3N1XSBbK3NhdMSxcm51bSB8ICsva2FsxLFwXSBpc2ltMSBpc2ltMiAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaW5lIGJ1ZmZlclxuIgorI34gbXNnc3RyICJUYW1wb24gYXlyxLFsYW1hZMSxLlxuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogY2FuJ3QgcmVhZCAlcy5cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogJXMgb2t1bmFtxLF5b3IuXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBsaW5lIHRvbyBsb25nLlxuIgorI34gbXNnc3RyICJoZXhkdW1wOiBzYXTEsXIgw6dvayB1enVuLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJlYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJiZWxsZWsgYXlyxLFsYW1hZMSxIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiB0YWlsZiBbLW4gTiB8IC1OXSBsb2dmaWxlIgorI34gbXNnc3RyICJLdWxsYW7EsW3EsTogdGFpbGYgZ8O8bmzDvGtfZG9zeWFzxLFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWyAtaSBdIFsgLXRUZXJtIF0gZmlsZS4uLlxuIgorI34gbXNnc3RyICJrdWxsYW7EsW3EsTogJXMgWyAtaSBdIFsgLXRUZXJtIF0gZG9zeWEuLi5cbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBvcGVuICVzXG4iCisjfiBtc2dzdHIgIiVzIGHDp8SxbGFtxLF5b3JcbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBhbnkgbW9yZSBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAiRGFoYSBmYXpsYSBiZWxsZWsgYXlyxLFsYW3EsXlvclxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImdvdCBFT0YgdGhyaWNlIC0gZXhpdGluZy4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEb3N5YSBzb251bmEgcmFzdGxhbmTEsSAtIMOnxLFrxLFsxLF5b3IuLlxuIgorCisjfiBtc2dpZCAibGFzdDogbWFsbG9jIGZhaWx1cmUuXG4iCisjfiBtc2dzdHIgImxhc3Q6IGJlbGxlayBheXLEsWxhbWFkxLEuXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogT3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICJsb2dpbjogQmVsbGVrIHlldGVyc2l6XG4iCisKKyN+IG1zZ2lkICJsb2dpbjogbm8gc2hlbGw6ICVzLlxuIgorI34gbXNnc3RyICJsb2dpbjoga2FidWsgeW9rOiAlcy5cbiIKKworI34gbXNnaWQgIm5ld2dycDogc2V0Z2lkIgorI34gbXNnc3RyICJuZXdncnA6IHNldGdpZCIKKworI34gbXNnaWQgIm5ld2dycDogUGVybWlzc2lvbiBkZW5pZWQiCisjfiBtc2dzdHIgIm5ld2dycDogRXJpxZ9pbSBlbmdlbGxlbmRpIgorCisjfiBtc2dpZCAibmV3Z3JwOiBzZXR1aWQiCisjfiBtc2dzdHIgIm5ld2dycDogc2V0dWlkIgorCisjfiBtc2dpZCAiJXM6IENhbm5vdCBmb3JrXG4iCisjfiBtc2dzdHIgIiVzOiBBc3Qgc8O8cmXDpyBvbHXFn3R1cnVsYW3EsXlvclxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHJlYWQgJXMuXG4iCisjfiBtc2dzdHIgIiVzOiAlcyBva3VuYW3EsXlvci5cbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCBzdGF0IHRlbXBvcmFyeSBmaWxlLlxuIgorI34gbXNnc3RyICIlczogZ2XDp2ljaSBkb3N5YSBkdXJ1bSBiaWxnaWxlcmkgYWzEsW5hbcSxeW9yLlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHJlYWQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVzOiBnZcOnaWNpIGRvc3lhIG9rdW5hbcSxeW9yLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvcjogJXMiCisjfiBtc2dzdHIgIiVzIMO8emVyaW5kZSB5YXptYSBoYXRhc8SxXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFyc2UgZXJyb3IgYXQgbGluZXM6ICIKKyN+IG1zZ3N0ciAiZXJpxZ9pbSBoYXRhc8SxIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiBhbmQgJWQuIgorI34gbXNnc3RyICIgdmUgIgorCisjfiBtc2dpZCAicmVuaWNlOiAlczogdW5rbm93biB1c2VyXG4iCisjfiBtc2dzdHIgInJlbmljZTogJXM6IGt1bGxhbsSxY8SxIGJpbGlubWl5b3JcbiIKKworI34gbXNnaWQgInJlbmljZTogJXM6IGJhZCB2YWx1ZVxuIgorI34gbXNnc3RyICJyZW5pY2U6ICVzOiBkZcSfZXIgaGF0YWzEsVxuIgorCisjfiBtc2dpZCAib2Q6IG9kKDEpIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIGhleGR1bXAoMSkuXG4iCisjfiBtc2dzdHIgIm9kOiBvZCgxKSBoZXhkdW1wKDEpIGnDp2luIHV5Z3VuIGJ1bHVubWFtxLHFn3TEsS5cbiIKKworI34gbXNnaWQgIm9kOiBoZXhkdW1wKDEpIGNvbXBhdGliaWxpdHkgZG9lc24ndCBzdXBwb3J0IHRoZSAtJWMgb3B0aW9uJXNcbiIKKyN+IG1zZ3N0ciAib2Q6IGhleGR1bXAoMSkgdXl1bWx1bHXEn3UgLSVjIHNlw6dlbmXEn2luaSBkZXN0ZWtsZW1peW9yJXNcbiIKKworI34gbXNnaWQgIjsgc2VlIHN0cmluZ3MoMSkuIgorI34gbXNnc3RyICI7IEJhazogc3RyaW5ncygxKS4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBpbiB0aGUgZmluYWwgcGFydGlhbCBjeWxpbmRlciIKKyN+IG1zZ3N0ciAiRGlzayBiw7Zsw7xtw7wgc29uIGvEsXNtw64gc2lsaW5kaXIgacOnaW5kZSBiaXRpeW9yIgorCisjfiBtc2dpZCAiJXM6IG91dCBvZiBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAiJXM6IGJlbGxlayB5ZXRlcnNpelxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBpbGxlZ2FsIGludGVydmFsICVzIHNlY29uZHNcbiIKKyN+IG1zZ3N0ciAiJXM6IGt1cmFsZMSxxZ/EsSB0dcWfICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogaWxsZWdhbCB0aW1lX3QgdmFsdWUgJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGt1cmFsZMSxxZ/EsSBzZcOnZW5layAtLSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gZXhlY3V0ZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXMgJXMgb2xhcmFrIGRlxJ9pxZ90aXJpbGVtaXlvcjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJydGMgcmVhZCIKKyN+IG1zZ3N0ciAiLCBoYXrEsXIiCisKKyN+IG1zZ2lkICJtYWxsb2MgZXJyb3IiCisjfiBtc2dzdHIgImJlbGxlayBhecSxcm1hIGhhdGFzxLEiCisKKyN+IG1zZ2lkICJ1c2FnZTogY29sdW1uIFstdHhdIFstYyBjb2x1bW5zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgImt1bGxhbsSxbcSxOiBjb2x1bW4gWy10eF0gWy1jIHPDvHR1bl0gW2Rvc3lhIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgIkJlbGxlayB5ZXRlcnNpeiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyc3BhY2UiCisjfiBtc2dzdHIgIlRhbXBvbiBhbGFuxLEgYXlyxLFsYW1hZMSxXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogcmV2IFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAia3VsbGFuxLFtxLE6IHJldiBbZG9zeWEgLi4uXVxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlci5cbiIKKyN+IG1zZ3N0ciAiVGFtcG9uIGF5csSxbGFtYWTEsS5cbiIKKworI34gbXNnaWQgIk91dCBvZiBtZW1vcnkgd2hlbiBncm93aW5nIGJ1ZmZlci5cbiIKKyN+IG1zZ3N0ciAiVGFtcG9uIGLDvHnDvHTDvGzDvHJrZW4gYmVsbGVrIHlldG1lZGkuXG4iCisKKyN+IG1zZ2lkICIlczogaWxsZWdhbCBvcHRpb24gLS0gJWNcbiIKKyN+IG1zZ3N0ciAiJXM6IGt1cmFsZMSxxZ/EsSBzZcOnZW5layAtLSAlY1xuIgorCisjfiBtc2dpZCAic2VnbWVudHMgYWxsb2NhdGVkICVkXG4iCisjfiBtc2dzdHIgImF5csSxbG3EscWfIGLDtmzDvHQgc2F5xLFzxLEgJWRcbiIKKworI34gbXNnaWQgInBhZ2VzIGFsbG9jYXRlZCAlbGRcbiIKKyN+IG1zZ3N0ciAiYXlyxLFsbcSxxZ8gc2F5ZmEgc2F5xLFzxLEgICVsZFxuIgorCisjfiBtc2dpZCAicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorI34gbXNnc3RyICJidWx1bmFuIHNheWZhIHNhecSxc8SxICAgJWxkXG4iCisKKyN+IG1zZ2lkICJwYWdlcyBzd2FwcGVkICAgJWxkXG4iCisjfiBtc2dzdHIgInRha2FzbMSxIHNheWZhIHNhecSxc8SxICAgJWxkXG4iCisKKyN+IG1zZ2lkICJTd2FwIHBlcmZvcm1hbmNlOiAlbGQgYXR0ZW1wdHNcdCAlbGQgc3VjY2Vzc2VzXG4iCisjfiBtc2dzdHIgIlRha2FzIHZlcmltaTogJWxkIGRlbmVtZVx0ICVsZCBiYcWfYXLEsVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHJ1bm5pbmcgcHJvZ3JhbW1lOiBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAidcOnIHV5Z3VsYW1hIMOnYWzEscWfdMSxcsSxbMSxcmtlbiBoYXRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBvZmZzZXQgJyVzJyB2YWx1ZSBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIkF5YXIgZGXEn2VyaSBnZcOnZXJzaXo6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3VycmVudCIKKyN+IG1zZ3N0ciAibnNhecSxc8SxIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5ldyIKKyN+IG1zZ3N0ciAiWWVuaSIKKworI34gbXNnaWQgIkxpbnV4IGV4dDIiCisjfiBtc2dzdHIgIkxpbnV4IGV4dDIiCisKKyN+IG1zZ2lkICJMaW51eCBleHQzIgorI34gbXNnc3RyICJMaW51eCBleHQzIgorCisjfiBtc2dpZCAiTGludXggWEZTIgorI34gbXNnc3RyICJMaW51eCBYRlMiCisKKyN+IG1zZ2lkICJMaW51eCBKRlMiCisjfiBtc2dzdHIgIkxpbnV4IEpGUyIKKworI34gbXNnaWQgIkxpbnV4IFJlaXNlckZTIgorI34gbXNnc3RyICJMaW51eCBSZWlzZXJGUyIKKworI34gbXNnaWQgIk9TLzIgSFBGUyIKKyN+IG1zZ3N0ciAiT1MvMiBIUEZTIgorCisjfiBtc2dpZCAiT1MvMiBJRlMiCisjfiBtc2dzdHIgIk9TLzIgSUZTIgorCisjfiBtc2dpZCAiTlRGUyIKKyN+IG1zZ3N0ciAiTlRGUyIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogZmRpc2sgWy1iIFNTWl0gWy11XSBESVNLICAgICBDaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiICAgICAgIGZkaXNrIC1sIFstYiBTU1pdIFstdV0gRElTSyAgTGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKKyN+ICIgICAgICAgZmRpc2sgLXMgUEFSVElUSU9OICAgICAgICAgICBHaXZlIHBhcnRpdGlvbiBzaXplKHMpIGluIGJsb2Nrc1xuIgorI34gIiAgICAgICBmZGlzayAtdiAgICAgICAgICAgICAgICAgICAgIEdpdmUgZmRpc2sgdmVyc2lvblxuIgorI34gIkhlcmUgRElTSyBpcyBzb21ldGhpbmcgbGlrZSAvZGV2L2hkYiBvciAvZGV2L3NkYVxuIgorI34gImFuZCBQQVJUSVRJT04gaXMgc29tZXRoaW5nIGxpa2UgL2Rldi9oZGE3XG4iCisjfiAiLXU6IGdpdmUgU3RhcnQgYW5kIEVuZCBpbiBzZWN0b3IgKGluc3RlYWQgb2YgY3lsaW5kZXIpIHVuaXRzXG4iCisjfiAiLWIgMjA0ODogKGZvciBjZXJ0YWluIE1PIGRpc2tzKSB1c2UgMjA0OC1ieXRlIHNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkt1bGxhbsSxbcSxOlxuIgorI34gIiAgICBmZGlzayBbLWIgU2t0VXpdIFstdV0gRGlTSyAgICBEaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3VudSBkZcSfacWfdGlyaXJcbiIKKyN+ICIgICAgZmRpc2sgLWwgWy1iIFNrdFV6XSBbLXVdIERpU0sgRGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1bnUgbGlzdGVsZXJcbiIKKyN+ICIgICAgZmRpc2sgLXMgQsOWTMOcTSAgICAgICAgICAgICAgICBCw7Zsw7xtIHV6dW5sdWtsYXLEsW7EsSBibG9rIGNpbnNpbmRlbiB2ZXJpclxuIgorI34gIiAgICBmZGlzayAtdiAgICAgICAgICAgICAgICAgICAgICBmZGlzayBzw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpclxuIgorI34gIkJ1cmFkYTpcbiIKKyN+ICJEaVNLIC9kZXYvaGRiIHZleWEgL2Rldi9zZGEgZ2liaSB2ZVxuIgorI34gIkLDlkzDnE0gL2Rldi9oZGI3IGdpYmkgdmVyaWxpci5cbiIKKyN+ICItdTogQmHFn2xhbmfEscOnIHZlIGJpdGnFnyBzZWt0w7ZybGVyaW5pIChzaWxpbmRpciBkZcSfaWwpIHZlcmlyXG4iCisjfiAiLWIgMjA0ODogMjA0OCBiYXl0bMSxayBzZWt0w7ZybGVyIGt1bGxhbsSxbMSxclxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiBmZGlzayBbLWxdIFstYiBTU1pdIFstdV0gZGV2aWNlXG4iCisjfiAiRS5nLjogZmRpc2sgL2Rldi9oZGEgIChmb3IgdGhlIGZpcnN0IElERSBkaXNrKVxuIgorI34gIiAgb3I6IGZkaXNrIC9kZXYvc2RjICAoZm9yIHRoZSB0aGlyZCBTQ1NJIGRpc2spXG4iCisjfiAiICBvcjogZmRpc2sgL2Rldi9lZGEgIChmb3IgdGhlIGZpcnN0IFBTLzIgRVNESSBkcml2ZSlcbiIKKyN+ICIgIG9yOiBmZGlzayAvZGV2L3JkL2MwZDAgIG9yOiBmZGlzayAvZGV2L2lkYS9jMGQwICAoZm9yIFJBSUQgZGV2aWNlcylcbiIKKyN+ICIgIC4uLlxuIgorI34gbXNnc3RyICIiCisjfiAiS3VsbGFuxLFtxLE6IGZkaXNrIFstbF0gWy1iIFNrdF0gWy11XSBheWfEsXRcbiIKKyN+ICIgIMOWcm5lxJ9pbjpcbiIKKyN+ICIgICBmZGlzayAvZGV2L2hkYSAgKGlsayBJREUgZGlzaylcbiIKKyN+ICIgICBmZGlzayAvZGV2L3NkYyAgKMO8w6fDvG5jw7wgU0NTSSBkaXNrKVxuIgorI34gIiAgIGZkaXNrIC9kZXYvZWRhICAoaWxrIFBTLzIgRVNESSBheWfEsXTEsSlcbiIKKyN+ICIgICBmZGlzayAvZGV2L3JkL2MwZDAgIHZleWFcbiIKKyN+ICIgICBmZGlzayAvZGV2L2lkYS9jMGQwICAoUkFJRCBheWfEsXRsYXLEsSlcbiIKKyN+ICIgIC4uLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlRoZSBudW1iZXIgb2YgY3lsaW5kZXJzIGZvciB0aGlzIGRpc2sgaXMgc2V0IHRvICVkLlxuIgorI34gIlRoZXJlIGlzIG5vdGhpbmcgd3Jvbmcgd2l0aCB0aGF0LCBidXQgdGhpcyBpcyBsYXJnZXIgdGhhbiAxMDI0LFxuIgorI34gImFuZCBjb3VsZCBpbiBjZXJ0YWluIHNldHVwcyBjYXVzZSBwcm9ibGVtcyB3aXRoOlxuIgorI34gIjEpIHNvZnR3YXJlIHRoYXQgcnVucyBhdCBib290IHRpbWUgKGUuZy4sIG9sZCB2ZXJzaW9ucyBvZiBMSUxPKVxuIgorI34gIjIpIGJvb3RpbmcgYW5kIHBhcnRpdGlvbmluZyBzb2Z0d2FyZSBmcm9tIG90aGVyIE9Tc1xuIgorI34gIiAgIChlLmcuLCBET1MgRkRJU0ssIE9TLzIgRkRJU0spXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJCdSBkaXNrIGnDp2luIHNpbGluZGlyIHNhecSxc8SxICVkIG9sYXJhayBiZWxpcmxlbmRpLlxuIgorI34gIllhbmzEscWfIGJpciDFn2V5IHlvayBmYWthdCAxMDI0IHNpbGluZGlyZGVuIGLDvHnDvGsgZGXEn2VybGVybGVcbiIKKyN+ICJiYXrEsSB5YXrEsWzEsW1sYXIgc29ydW4gw6fEsWthYmlsaXI6XG4iCisjfiAiMSkgw7ZuecO8a2xlbWUgc8SxcmFzxLFuZGEgw6dhbMSxxZ9hbiB5YXrEsWzEsW1sYXIgKMO2cm4uIExJTE8nbnVuIGVza2kgc8O8csO8bWxlcmkpXG4iCisjfiAiMikgZGnEn2VyIGnFn2xldGltIHNpc3RlbWxlcmluaW4gw7ZuecO8a2xlbWUgdmUgZGlzayBiw7Zsw7xtbGVtZSB5YXrEsWzEsW1sYXLEsVxuIgorI34gIiAgICjDtnJuLiBET1MgRkRJU0ssIE9TLzIgRkRJU0spXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IG5vIG1lZGl1bSBmb3VuZCBvbiAlcyAuLi50cnlpbmcgYWdhaW5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIHlvayAtIG9sdcWfdHVydWx1eW9yLi4uXG4iCisKKyN+IG1zZ2lkICJ1c2FnZSA6ICVzIC1hc21xIC10Y2x1cCBcbiIKKyN+IG1zZ3N0ciAia3VsbGFuxLFtxLE6ICVzIC1hc21xIC10Y2x1cCBcbiIKKworI34gbXNnaWQgIlx0JXMgWy1zIC1tIC1xXSAtaSBpZFxuIgorI34gbXNnc3RyICIgICAgICAgICAgICVzIFstcyAtbSAtcV0gLWkga2ltbGlrXG4iCisKKyN+IG1zZ2lkICJcdCVzIC1oIGZvciBoZWxwLlxuIgorI34gbXNnc3RyICIgICAgICAgICAgICVzIC1oIHlhcmTEsW0gYWxtYWsgacOnaW4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiUmVzb3VyY2UgU3BlY2lmaWNhdGlvbjpcbiIKKyN+ICJcdC1tIDogc2hhcmVkX21lbVxuIgorI34gIlx0LXEgOiBtZXNzYWdlc1xuIgorI34gbXNnc3RyICIiCisjfiAiw5Z6a2F5bmFrIMO2emVsbGlrbGVyaTpcbiIKKyN+ICJcdC1tIDogcGF5bGHFn8SxbWzEsSBiZWxsZWtcbiIKKyN+ICJcdC1xIDogaWxldGlsZXJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdC1zIDogc2VtYXBob3Jlc1xuIgorI34gIlx0LWEgOiBhbGwgKGRlZmF1bHQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcdC1zIDogc2VtYWZvcmxhclxuIgorI34gIlx0LWEgOiB0w7xtw7wgKMO2bnRhbsSxbWzEsSlcbiIKKworI34gbXNnaWQgIiIKKyN+ICJPdXRwdXQgRm9ybWF0OlxuIgorI34gIlx0LXQgOiB0aW1lXG4iCisjfiAiXHQtcCA6IHBpZFxuIgorI34gIlx0LWMgOiBjcmVhdG9yXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLDh8Sxa3TEsSBiacOnZW1pOlxuIgorI34gIlx0LXQgOiB6YW1hblxuIgorI34gIlx0LXAgOiBwaWRcbiIKKyN+ICJcdC1jIDogb2x1xZ90dXJhblxuIgorCisjfiBtc2dpZCAiIgorI34gIlx0LWwgOiBsaW1pdHNcbiIKKyN+ICJcdC11IDogc3VtbWFyeVxuIgorI34gbXNnc3RyICIiCisjfiAiXHQtbCA6IHPEsW7EsXJsYXJcbiIKKyN+ICJcdC11IDogw7Z6ZXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogJXMiCisjfiBtc2dzdHIgIlJFIGhhdGFzxLE6IgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHBhcnNlOiAlcyIKKyN+IG1zZ3N0ciAiJXMgb2t1bnVya2VuIGhhdGFcbiIKKworI34gbXNnaWQgInVzYWdlOiByZGV2IFsgLXJ2IF0gWyAtbyBPRkZTRVQgXSBbIElNQUdFIFsgVkFMVUUgWyBPRkZTRVQgXSBdIF0iCisjfiBtc2dzdHIgImt1bGxhbsSxbcSxOiByZGV2IFsgLXJ2IF0gWyAtbyBLT05VTSBdIFsgWUFOU0kgWyBERcSeRVIgWyBLT05VTSBdIF0gXSIKKworI34gbXNnaWQgIiAgcmRldiAvZGV2L2ZkMCAgKG9yIHJkZXYgL2xpbnV4LCBldGMuKSBkaXNwbGF5cyB0aGUgY3VycmVudCBST09UIGRldmljZSIKKyN+IG1zZ3N0ciAiICByZGV2IC9kZXYvZmQwICAodmV5YSByZGV2IC9saW51eCwgdmIuKSBLw5ZLIGF5Z8SxdMSxIGfDtnN0ZXJpciIKKworI34gbXNnaWQgIiAgcmRldiAvZGV2L2ZkMCAvZGV2L2hkYTIgICAgICAgICBzZXRzIFJPT1QgdG8gL2Rldi9oZGEyIgorI34gbXNnc3RyICIgIHJkZXYgL2Rldi9mZDAgL2Rldi9oZGEyICAgICAgICAgS8OWS8O8IC9kZXYvaGRhMiAneWUgYXlhcmxhciIKKworI34gbXNnaWQgIiAgcmRldiAtUiAvZGV2L2ZkMCAxICAgICAgICAgICAgICBzZXQgdGhlIFJPT1RGTEFHUyAocmVhZG9ubHkgc3RhdHVzKSIKKyN+IG1zZ3N0ciAiICByZGV2IC1SIC9kZXYvZmQwIDEgICAgICAgICAgICAgIEvDlksgQmF5cmFrbGFyxLEgYmVsaXJsZW5pciAoc2FsdC1va3VudXIpIgorCisjfiBtc2dpZCAiICByZGV2IC1yIC9kZXYvZmQwIDYyNyAgICAgICAgICAgIHNldCB0aGUgUkFNRElTSyBzaXplIgorI34gbXNnc3RyICIgIHJkZXYgLXIgL2Rldi9mZDAgNjI3ICAgICAgICAgICAgUkFNRElTSyBib3l1IGJlbGlybGVuaXIiCisKKyN+IG1zZ2lkICIgIHJkZXYgLXYgL2Rldi9mZDAgMSAgICAgICAgICAgICAgc2V0IHRoZSBib290dXAgVklERU9NT0RFIgorI34gbXNnc3RyICIgIHJkZXYgLXYgL2Rldi9mZDAgMSAgICAgICAgICAgICAgw7ZuecO8a2xlbWUgVklERU9NT0RFIGJlbGlybGVuaXIiCisKKyN+IG1zZ2lkICIgIHJkZXYgLW8gTiAuLi4gICAgICAgICAgICAgICAgICAgdXNlIHRoZSBieXRlIG9mZnNldCBOIgorI34gbXNnc3RyICIgIHJkZXYgLW8gTiAuLi4gICAgICAgICAgICAgICAgICAgYmF5dCBnw7ZyZWxpIGtvbnVtdSBOIG9sYXJhayBiZWxpcmxlbmlyIgorCisjfiBtc2dpZCAiICByb290ZmxhZ3MgLi4uICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgcmRldiAtUiIKKyN+IG1zZ3N0ciAiICByb290ZmxhZ3MgLi4uICAgICAgICAgICAgICAgICAgIHJkZXYgLVIgaWxlIGF5bsSxIgorCisjfiBtc2dpZCAiICByYW1zaXplIC4uLiAgICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgcmRldiAtciIKKyN+IG1zZ3N0ciAiICByYW1zaXplIC4uLiAgICAgICAgICAgICAgICAgICAgIHJkZXYgLXIgaWxlIGF5bsSxIgorCisjfiBtc2dpZCAiICB2aWRtb2RlIC4uLiAgICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgcmRldiAtdiIKKyN+IG1zZ3N0ciAiICB2aWRtb2RlIC4uLiAgICAgICAgICAgICAgICAgICAgIHJkZXYgLXYgaWxlIGF5bsSxIgorCisjfiBtc2dpZCAiTm90ZTogdmlkZW8gbW9kZXMgYXJlOiAtMz1Bc2ssIC0yPUV4dGVuZGVkLCAtMT1Ob3JtYWxWZ2EsIDE9a2V5MSwgMj1rZXkyLC4uLiIKKyN+IG1zZ3N0ciAiQmlsZ2k6IHZpZGVvIGtpcGxlcmk6IC0zPVNvciwgLTI9R2VsacWfbWnFnywgLTE9Tm9ybWFsVmdhLCAxPXR1xZ8xLCAyPXR1xZ8yLC4uLiIKKworI34gbXNnaWQgIiAgICAgIHVzZSAtUiAxIHRvIG1vdW50IHJvb3QgcmVhZG9ubHksIC1SIDAgZm9yIHJlYWQvd3JpdGUuIgorI34gbXNnc3RyICIgICAgICBrw7Zrw7wgc2FsdC1va3VudXIgYmHEn2xhbWFrIGnDp2luIC1SIDEsIG9rdS15YXogacOnaW4gLVIgMCBrdWxsYW7EsW4uIgorCisjfiBtc2dpZCAibWlzc2luZyBjb21tYSIKKyN+IG1zZ3N0ciAidmlyZ8O8bCBla3NpayIKKworIywgZnV6enkKKyN+IG1zZ2lkICJvdXQgaWYgbWVtb3J5IgorI34gbXNnc3RyICJiZWxsZWsgeWV0ZXJzaXoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gInVuaXQ6IHNlY3RvcnNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiJWxsZCBzZWt0w7ZyIGt1bGxhbsSxbG1hbcSxxZ9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgc3RhcnQ9JTlsdSIKKyN+IG1zZ3N0ciAiYmHFn2xhbmfEscOnIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiwgYm9vdGFibGUiCisjfiBtc2dzdHIgIkFJWCDDtm55w7xrbGVuZWJpbGlyIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNsb2NrIGluIFVUQywgbm90IGNoYW5nZWQuXG4iCisjfiBtc2dzdHIgIkthYnVrIGRlxJ9pxZ90aXJpbG1lZGksXG4iCisKKyN+IG1zZ2lkICIlczogZXJyb3I6IGxhYmVsIG9ubHkgd2l0aCB2MSBzd2FwIGFyZWFcbiIKKyN+IG1zZ3N0ciAiJXM6IGhhdGE6IHNhZGVjZSB2MSB0YWthcyBhbGFubMSxIGV0aWtldFxuIgorCisjfiBtc2dpZCAiZmF0YWw6IGZpcnN0IHBhZ2UgdW5yZWFkYWJsZSIKKyN+IG1zZ3N0ciAiw7Zsw7xtY8O8bDogaWxrIHNheWZhIG9rdW5hYmlsaXIgZGXEn2lsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIlczogRGV2aWNlICclcycgY29udGFpbnMgYSB2YWxpZCBTdW4gZGlza2xhYmVsLlxuIgorI34gIlRoaXMgcHJvYmFibHkgbWVhbnMgY3JlYXRpbmcgdjAgc3dhcCB3b3VsZCBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlLlxuIgorI34gIk5vIHN3YXAgd2FzIGNyZWF0ZWQuIElmIHlvdSByZWFsbHkgd2FudCB0byBjcmVhdGUgdjAgc3dhcCBvbiB0aGF0IGRldmljZSxcbiIKKyN+ICJ1c2UgdGhlIC1mIG9wdGlvbiB0byBmb3JjZSBpdC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiAnJXMnIGF5Z8SxdMSxIGJpciBnZcOnZXJsaSBTdW4gZGlzayBldGlrZXRpIGnDp2VyaXlvci5cbiIKKyN+ICJCdSBkdXJ1bWRhIHYwIHRha2FzIGFsYW7EsSBvbHXFn3R1cm1hayBiw7Zsw7xtbGVtZSB0YWJsb3N1bnUgYm96YWNhxJ/EsW5kYW5cbiIKKyN+ICJ0YWthcyBhbGFuxLEgb2x1xZ90dXJ1bG1hZMSxLiBCdXJhZGEgbXV0bGFrYSBiaXIgdjAgdGFrYXMgYWxhbsSxIG9sdcWfdHVybWFrXG4iCisjfiAiaXN0aXlvcnNhbsSxeiAtZiBzZcOnZW5lxJ9pIGlsZSBidW51IHlhcGFiaWxpcnNpbml6LlxuIgorCisjfiBtc2dpZCAibmFtZWk6IGNvdWxkIG5vdCBjaGRpciB0byByb290IVxuIgorI34gbXNnc3RyICJuYW1laToga8O2ayBkaXppbmUgZ2XDp2lsZW1lZGkhXG4iCisKKyN+IG1zZ2lkICJuYW1laTogY291bGQgbm90IHN0YXQgcm9vdCFcbiIKKyN+IG1zZ3N0ciAibmFtZWk6IEvDtmsgZGl6aW4gZHVydW0gYmlsZ2lsZXJpIGFsxLFuYW1hZMSxIVxuIgorCisjfiBtc2dpZCAibmFtZWk6IGJ1ZiBvdmVyZmxvd1xuIgorI34gbXNnc3RyICJuYW1laTogdGFtcG9uIGJlbGxla3RlIHRhxZ9tYVxuIgorCisjfiBtc2dpZCAiID8gY291bGQgbm90IGNoZGlyIGludG8gJXMgLSAlcyAoJWQpXG4iCisjfiBtc2dzdHIgIiA/ICVzIGnDp2luZGUgY2hkaXIgeWFwYW1hZMSxIC0gJXMgKCVkKVxuIgorCisjfiBtc2dpZCAiID8gcHJvYmxlbXMgcmVhZGluZyBzeW1saW5rICVzIC0gJXMgKCVkKVxuIgorI34gbXNnc3RyICIlcyBzZW1ib2xpayBiYcSfxLEgb2t1bnVya2VuIGhhdGEgLSAlcyAoJWQpXG4iCisKKyN+IG1zZ2lkICIgICoqKiBFWENFRURFRCBVTklYIExJTUlUIE9GIFNZTUxJTktTICoqKlxuIgorI34gbXNnc3RyICIgICoqKiBVTklYIFNFTUJPTMSwSyBCQcSeIFNJTklSTEFSSSBBxZ5JTERJICoqKlxuIgorCisjfiBtc2dpZCAibmFtZWk6IHVua25vd24gZmlsZSB0eXBlIDAlMDZvIG9uIGZpbGUgJXNcbiIKKyN+IG1zZ3N0ciAibmFtZWk6ICAwJTA2byBkb3N5YSB0w7xyw7wgJXMgZG9zeWFzxLFuZGEgYW5sYcWfxLFsYW1hZMSxXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGdvaW5nIHRvIG1vdW50ICVzIGJ5ICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyBVVUlEJ3NpbmUgZ8O2cmUgYmHEn2xhbsSxeW9yXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IG5vIExBQkVMPSwgbm8gVVVJRD0sIGdvaW5nIHRvIG1vdW50ICVzIGJ5IHBhdGhcbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGV0aWtldGluZSBnw7ZyZSBiYcSfbGFuxLF5b3JcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogd2FpdHBpZDogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyN+IG1zZ2lkICJjb3VsZCBub3QgdW1vdW50ICVzIC0gdHJ5aW5nICVzIGluc3RlYWRcbiIKKyN+IG1zZ3N0ciAidW1vdW50ICVzIGdlcsOnZWtsZcWfdGlyaWxlbWVkaS0geWVyaW5lICVzIGRlbmVuaXlvclxuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnNcbiIKKworI34gbXNnaWQgIiUtOHMgJS0xMHMgJS0yNi4yNHMgJS0yNi4yNHNcbiIKKyN+IG1zZ3N0ciAiJS04cyAlLTEwcyAlLTI2LjI0cyAlLTI2LjI0c1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKworI34gbXNnaWQgIiUtOHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKyN+IG1zZ3N0ciAiJS04cyAlLTEwcyAlLTIwcyAlLTIwcyAlLTIwc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnMgJS0xMnNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnMgJS0xMnNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjaGZuOiBQQU0gRmFpbHVyZSwgYWJvcnRpbmc6ICVzXG4iCisjfiBtc2dzdHIgImxvZ2luOiBQQU0gaGF0YXPEsSwgw6fEsWvEsWzEsXlvcjogJXNcbiIKKworI34gbXNnaWQgIkNhbid0IHJlYWQgJXMsIGV4aXRpbmcuIgorI34gbXNnc3RyICIlcyBva3VuYW3EsXlvciwgYsSxcmFrxLFsxLF5b3IuIgorCisjfiBtc2dpZCAibG9naW46IFBBTSBGYWlsdXJlLCBhYm9ydGluZzogJXNcbiIKKyN+IG1zZ3N0ciAibG9naW46IFBBTSBoYXRhc8SxLCDDp8Sxa8SxbMSxeW9yOiAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGJhY2tncm91bmRpbmcgXCIlc1wiXG4iCisjfiBtc2dzdHIgIm1vdW50OiBcIiVzXCIgYXJ0YWxhbmEgYWzEsW7EsXlvclxuIgorCisjfiBtc2dpZCAibW91bnQ6IGdpdmluZyB1cCBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IFwiJXNcIiBixLFyYWvEsWzEsXlvclxuIgorCisjfiBtc2dpZCAiYCVzJzogYmFkIGRpcmVjdG9yeTogJy4nIGlzbid0IGZpcnN0XG4iCisjfiBtc2dzdHIgImAlcyc6IGRpemluIGhhdGFsxLE6ICcuJyBpbGsgZGXEn2lsXG4iCisKKyN+IG1zZ2lkICJgJXMnOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIgorI34gbXNnc3RyICJgJXMnOiBkaXppbiBoYXRhbMSxOiAnLi4nIGlraW5jaSBkZcSfaWxcbiIKKworI34gbXNnaWQgImNhbGxpbmcgb3Blbl90dHlcbiIKKyN+IG1zZ3N0ciAib3Blbl90dHkgw6dhxJ9yxLFsxLF5b3JcbiIKKworI34gbXNnaWQgImNhbGxpbmcgdGVybWlvX2luaXRcbiIKKyN+IG1zZ3N0ciAidGVybWlvX2luaXQgw6dhxJ9yxLFsxLF5b3JcbiIKKworI34gbXNnaWQgIndyaXRpbmcgaW5pdCBzdHJpbmdcbiIKKyN+IG1zZ3N0ciAiYmHFn2xhdG1hIGRpemdlc2kgeWF6xLFsxLF5b3JcbiIKKworI34gbXNnaWQgImJlZm9yZSBhdXRvYmF1ZFxuIgorI34gbXNnc3RyICJiYcSfbGFudMSxIGjEsXrEsSBzYXB0YW1hIMO2bmNlc2lcbiIKKworI34gbXNnaWQgIndhaXRpbmcgZm9yIGNyLWxmXG4iCisjfiBtc2dzdHIgImNyLWxmIGnDp2luIGJla2xlbml5b3JcbiIKKworI34gbXNnaWQgInJlYWRpbmcgbG9naW4gbmFtZVxuIgorI34gbXNnc3RyICJrdWxsYW7EsWPEsSBpc21pIG9rdW51eW9yXG4iCisKKyN+IG1zZ2lkICJhZnRlciBnZXRvcHQgbG9vcFxuIgorI34gbXNnc3RyICJnZXRvcHQgw6dldnJpbWkgc29ucmFzxLFcbiIKKworI34gbXNnaWQgImV4aXRpbmcgcGFyc2VhcmdzXG4iCisjfiBtc2dzdHIgInBhcnNlYXJncyDDp8Sxa8SxeW9yXG4iCisKKyN+IG1zZ2lkICJlbnRlcmVkIHBhcnNlX3NwZWVkc1xuIgorI34gbXNnc3RyICJwYXJzZV9zcGVlZHMgZ2lyaWxkaVxuIgorCisjfiBtc2dpZCAiZXhpdGluZyBwYXJzZXNwZWVkc1xuIgorI34gbXNnc3RyICJwYXJzZXNwZWVkcydkZW4gw6fEsWvEsWx5b3JcbiIKKworI34gbXNnaWQgIm9wZW4oMilcbiIKKyN+IG1zZ3N0ciAib3BlbigyKVxuIgorCisjfiBtc2dpZCAiZHVwaW5nXG4iCisjfiBtc2dzdHIgIsOnb8SfYWx0xLF5b3JcbiIKKworI34gbXNnaWQgInRlcm1faW8gMlxuIgorI34gbXNnc3RyICJ0ZXJtX2lvIDJcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IFwiJXNcIiBpcyBub3QgbGlzdGVkIGluIC9ldGMvc2hlbGxzXG4iCisjfiBtc2dzdHIgIlV5YXLEsTogXCIlc1wiIC9ldGMvc2hlbGxzIGRvc3lhc8SxbmRhIHlvay5cbiIKKworI34gbXNnaWQgInRpbWVvdXQgPSAlZCwgcXVpZXQgPSAlZCwgcmVib290ID0gJWRcbiIKKyN+IG1zZ3N0ciAiemFtYW4gYcWfxLFtxLEgPSAlZCwgYmFzaXQgPSAlZCwgeWVuaWRlbiA9ICVkXG4iCisKKyN+IG1zZ2lkICJjb3VsZG4ndCByZWFkICVzLCBhbmQgY2Fubm90IGlvY3RsIGR1bXBcbiIKKyN+IG1zZ3N0ciAiJXMgb2t1bmFtYWTEsSB2ZSBpb2N0bCBkw7Zrw7xtbGVuZW1peW9yXG4iCisKKyN+IG1zZ2lkICIsIG9mZnNldCAlbGxkIgorI34gbXNnc3RyICIsIGJhxZ9sICVsbGQiCisKKyN+IG1zZ2lkICIlczogY291bGQgbm90IGZpbmQgYW55IGRldmljZSAvZGV2L2xvb3AjIgorI34gbXNnc3RyICIlczogL2Rldi9sb29wIyBnaWJpIGJpciBheWfEsXQgYnVsdW5hbWFkxLEiCisKKyN+IG1zZ2lkICIiCisjfiAidXNhZ2U6ICVzIFstaFZdXG4iCisjfiAiICAgICAgICVzIC1hIFstZV0gWy12XVxuIgorI34gIiAgICAgICAlcyBbLXZdIFstcCBwcmlvcml0eV0gc3BlY2lhbHxMQUJFTD12b2x1bWVfbmFtZSAuLi5cbiIKKyN+ICIgICAgICAgJXMgWy1zXVxuIgorI34gbXNnc3RyICIiCisjfiAia3VsbGFuxLFtxLE6ICVzIFstaFZdXG4iCisjfiAiICAgICAgICAgICAlcyAtYSBbLWVdIFstdl1cbiIKKyN+ICIgICAgICAgICAgICVzIFstdl0gWy1wIMO2bmNlbGlrXSDDtnplbHxMQUJFTD1veWx1bV9pc21pIC4uLlxuIgorI34gIiAgICAgICAgICAgJXMgWy1zXVxuIgorCisjfiBtc2dpZCAiIgorI34gInVzYWdlOiAlcyBbLWhWXVxuIgorI34gIiAgICAgICAlcyAtYSBbLXZdXG4iCisjfiAiICAgICAgICVzIFstdl0gc3BlY2lhbCAuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gImt1bGxhbsSxbcSxOiAlcyBbLWhWXVxuIgorI34gIiAgICAgICAgICAgJXMgLWEgWy12XVxuIgorI34gIiAgICAgICAgICAgJXMgWy12XSDDtnplbCAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2Fubm90IGNhbm9uaWNhbGl6ZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6ICVzIGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogcmVuaWNlIHByaW9yaXR5IFsgWyAtcCBdIHBpZHMgXSBbIFsgLWcgXSBwZ3JwcyBdIFsgWyAtdSBdIHVzZXJzIF1cbiIKKyN+IG1zZ3N0ciAia3VsbGFuxLFtxLE6IHJlbmljZSDDtm5jZWxpayBbIFsgLXAgXSBwaWQgXSBbIFsgLWcgXSBwZ3JwIF0gWyBbIC11IF0ga3VsbGFuxLFjxLEgXVxuIgorCisjfiBtc2dpZCAiRXhjZWVkZWQgTUFYRU5UUklFUy4gIFJhaXNlIHRoaXMgdmFsdWUgaW4gbWtjcmFtZnMuYyBhbmQgcmVjb21waWxlLiAgRXhpdGluZy5cbiIKKyN+IG1zZ3N0ciAiTUFYRU5UUklFUyBhxZ/EsWxkxLEuICBta2NyYW1mcy5jIGnDp2luZGUgYnUgZGXEn2VyaSB5w7xrc2VsdGluIHZlIHllbmlkZW4gZGVybGV5aW4uICAgw4fEsWvEsWzEsXlvci5cbiIKKworI34gbXNnaWQgIkFzc3VtaW5nIHBhZ2VzIG9mIHNpemUgJWQgKG5vdCAlZClcbiIKKyN+IG1zZ3N0ciAiU2F5ZmEgdXp1bmx1xJ91IG9sYXJhayAlZCBrdWxsYW7EsWzEsXlvciAoJWQgZGXEn2lsKVxuIgorCisjfiBtc2dpZCAiQXV0b2NvbmZpZ3VyZSBmb3VuZCBhICVzJXMlc1xuIgorI34gbXNnc3RyICJPdG9tYXRpayB5YXDEsWxhbmTEsXJtYSB0YXJhZsSxbmRhbiBiaXIgJXMlcyVzIGJ1bHVuZHVcbiIKKworI34gbXNnaWQgIiIKKyN+ICJEcml2ZSB0eXBlXG4iCisjfiAiICAgPyAgIGF1dG8gY29uZmlndXJlXG4iCisjfiAiICAgMCAgIGN1c3RvbSAod2l0aCBoYXJkd2FyZSBkZXRlY3RlZCBkZWZhdWx0cykiCisjfiBtc2dzdHIgIiIKKyN+ICJBeWfEsXQgdMO8csO8XG4iCisjfiAiICAgPyAgIG90byB5YXDEsWxhbmTEsXJtYVxuIgorI34gIiAgIDAgICDDtnplbCAoc2FwdGFuYW4gw7ZudGFuxLFtbGFyYSBzYWhpcCBkb25hbsSxbWxhKSIKKworI34gbXNnaWQgIlNlbGVjdCB0eXBlICg/IGZvciBhdXRvLCAwIGZvciBjdXN0b20pOiAiCisjfiBtc2dzdHIgIkF5Z8SxdCBUw7xyw7wgKD86IG90bywgMDogw7Z6ZWwpOiAiCisKKyN+IG1zZ2lkICJZb3UgbWF5IGNoYW5nZSBhbGwgdGhlIGRpc2sgcGFyYW1zIGZyb20gdGhlIHggbWVudSIKKyN+IG1zZ3N0ciAiVMO8bSBkaXNrIHBhcmFtZXRyZWxlcmluaSB4IG1lbsO8c8O8bmRlbiBkZcSfacWfdGlyZWJpbGlyc2luaXoiCisKKyN+IG1zZ2lkICIzLDVcIiBmbG9wcHkiCisjfiBtc2dzdHIgIjMsNVwiIGZsb3BweSIKKworI34gbXNnaWQgIiVzIGZyb20gdXRpbC1saW51eC0lc1xuIgorI34gbXNnc3RyICJ1dGlsLWxpbnV4LSUyJHMgc8O8csO8bcO8bmRla2kgJTEkc1xuIgorCisjfiBtc2dpZCAiJXM6IGVycm9yOiB0aGUgbGFiZWwgJXMgb2NjdXJzIG9uIGJvdGggJXMgYW5kICVzXG4iCisjfiBtc2dzdHIgIiVzOiBlcnJvcjogZXRpa2V0ICVzIGhlbSAlcyBoZW0gZGUgJXMgacOnaW4ga3VsbGFuxLFsbcSxxZ9cbiIKKworI34gbXNnaWQgIiVzOiBjb3VsZCBub3Qgb3BlbiAlcywgc28gVVVJRCBhbmQgTEFCRUwgY29udmVyc2lvbiBjYW5ub3QgYmUgZG9uZS5cbiIKKyN+IG1zZ3N0ciAiJXM6ICVzIGHDp8SxbGFtYWTEsSwgVVVJRCB2ZSBMQUJFTCBkw7Zuw7zFn8O8bcO8IHlhcMSxbG3EscWfIG9sbWF5YWJpbGlyLlxuIgorCisjfiBtc2dpZCAiJXM6IGJhZCBVVUlEIgorI34gbXNnc3RyICIlczogVVVJRCBoYXRhbMSxIgorCisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB3aXRoIG5mcyBtb3VudCB2ZXJzaW9uIDQsIHRyeWluZyAzLi5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG5mcyBtb3VudCBzw7xyw7xtIDQgaWxlIGJhxZ9hcsSxc8SxeiwgMyBkZW5lbml5b3IuLi5cbiIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudGluZyAlc1xuIgorI34gbXNnc3RyICJtb3VudDogJXMgYmHEn2xhbsSxeW9yXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZXJyb3Igd2hpbGUgZ3Vlc3NpbmcgZmlsZXN5c3RlbSB0eXBlXG4iCisjfiBtc2dzdHIgIm1vdW50OiBkb3N5YSBzaXN0ZW1pIHTDvHLDvCBiZWxpcmxlbmlya2VuIGhhdGFcbiIKKworI34gbXNnaWQgIm1vdW50OiBleGNlc3NpdmVseSBsb25nIGhvc3Q6ZGlyIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIm1vdW50OiBtYWtpbmE6ZGl6aW4gYXJnw7xtYW7EsSBnZXJlxJ9pbmRlbiB1enVuXG4iCisKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogbXVsdGlwbGUgaG9zdG5hbWVzIG5vdCBzdXBwb3J0ZWRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHV5YXLEsTogw6dva2x1IG1ha2luYSBpc2ltbGVyaSBkZXN0ZWtsZW5taXlvclxuIgorCisjfiBtc2dpZCAibW91bnQ6IGRpcmVjdG9yeSB0byBtb3VudCBub3QgaW4gaG9zdDpkaXIgZm9ybWF0XG4iCisjfiBtc2dzdHIgIm1vdW50OiBiYcSfbGFuxLFsYWNhayBkaXppbiBtYWtpbmE6ZGl6aW4gYmnDp2VtaW5kZSBkZcSfaWxcbiIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBnZXQgYWRkcmVzcyBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGnDp2luIGFkcmVzIGFsxLFuYW3EsXlvclxuIgorCisjfiBtc2dpZCAibW91bnQ6IGdvdCBiYWQgaHAtPmhfbGVuZ3RoXG4iCisjfiBtc2dzdHIgIm1vdW50OiB5YW5sxLHFnyBocC0+aF9sZW5ndGggYWzEsW5kxLFcbiIKKworI34gbXNnaWQgIm1vdW50OiBleGNlc3NpdmVseSBsb25nIG9wdGlvbiBhcmd1bWVudFxuIgorI34gbXNnc3RyICJtb3VudDogc2XDp2VuZWsgYXJnw7xtYW7EsSBnZXJlxJ9pbmRlbiB1enVuXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBVbnJlY29nbml6ZWQgcHJvdG89IG9wdGlvbi5cbiIKKyN+IG1zZ3N0ciAiVXlhcsSxOiBwcm90bz0gc2XDp2VuZcSfaSBiaWxpbm1peW9yLlxuIgorCisjfiBtc2dpZCAidW5rbm93biBuZnMgbW91bnQgcGFyYW1ldGVyOiAlcz0lZFxuIgorI34gbXNnc3RyICJiaWxpbm1leWVuIG5mcyBiYcSfIHBhcmFtZXRyZXNpOiAlcz0lZFxuIgorCisjfiBtc2dpZCAidW5rbm93biBuZnMgbW91bnQgb3B0aW9uOiAlcyVzXG4iCisjfiBtc2dzdHIgImJpbGlubWV5ZW4gbmZzIGJhxJ8gc2XDp2VuZcSfaTogJXMlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGdvdCBiYWQgaHAtPmhfbGVuZ3RoP1xuIgorI34gbXNnc3RyICJtb3VudDogeWFubMSxxZ8gaHAtPmhfbGVuZ3RoIGFsxLFuZMSxP1xuIgorCisjfiBtc2dpZCAibmZzIGJpbmRyZXN2cG9ydCIKKyN+IG1zZ3N0ciAibmZzIGJpbmRyZXN2cG9ydCIKKworI34gbXNnaWQgIm5mcyBzZXJ2ZXIgcmVwb3J0ZWQgc2VydmljZSB1bmF2YWlsYWJsZSIKKyN+IG1zZ3N0ciAibmZzIHN1bnVjdSBzZXJ2aXNpIGt1bGxhbsSxbWTEscWfxLEgb2xhcmFrIHJhcG9ybGFkxLEiCisKKyN+IG1zZ2lkICJ1c2VkIHBvcnRtYXBwZXIgdG8gZmluZCBORlMgcG9ydFxuIgorI34gbXNnc3RyICJORlMgcG9ydHVudSBidWxtYWsgacOnaW4gcG9ydG1hcHBlciBrdWxsYW7EsWxkxLFcbiIKKworI34gbXNnaWQgInVzaW5nIHBvcnQgJWQgZm9yIG5mcyBkZWFtb25cbiIKKyN+IG1zZ3N0ciAibmZzIGFydGFsYW4gc8O8cmVjaSBpw6dpbiAlZCBwb3J0dSBrdWxsYW7EsWzEsXlvclxuIgorCisjfiBtc2dpZCAidW5rbm93biBuZnMgc3RhdHVzIHJldHVybiB2YWx1ZTogJWQiCisjfiBtc2dzdHIgImJpbGlubWV5ZW4gbmZzIGR1cnVtIHNvbnXDpyBkZcSfZXJpOiAlZCIKKworI34gbXNnaWQgImhvc3Q6ICVzLCBkaXJlY3Rvcnk6ICVzXG4iCisjfiBtc2dzdHIgIm1ha2luYTogJXMsIGRpemluOiAlc1xuIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW4ndCBnZXQgYWRkcmVzcyBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBpw6dpbiBhZHJlcyBhbMSxbmFtxLF5b3JcbiIKKworI34gbXNnaWQgInVtb3VudDogZ290IGJhZCBob3N0cC0+aF9sZW5ndGhcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiB5YW5sxLHFnyBob3N0cC0+aF9sZW5ndGggYWzEsW5kxLFcbiIKKworI34gbXNnaWQgIiVzOiBpbnZhbGlkIGNyYW1mcy0tYmFkIHBhdGggbGVuZ3RoXG4iCisjfiBtc2dzdHIgIiVzOiBnZcOnZXJzaXogY3JhbWZzIC0tIGRvc3lhIHlvbHUgdXp1bmx1xJ91IGhhdGFsxLFcbiIKKworI34gbXNnaWQgIiVzOiBpbnZhbGlkIGNyYW1mcy0td3JvbmcgbWFnaWNcbiIKKyN+IG1zZ3N0ciAiJXM6IGdlw6dlcnNpeiBjcmFtZnMgLS0gaGF0YWzEsSBkb3N5YSBraW1sacSfaVxuIgorCisjfiBtc2dpZCAiJXM6IHdhcm5pbmctLWZpbGUgbGVuZ3RoIHRvbyBsb25nLCBwYWRkZWQgaW1hZ2U/XG4iCisjfiBtc2dzdHIgIiVzOiB1eWFyxLEgLS0gZG9zeWEgdXp1bmx1xJ91IMOnb2sgYsO8ecO8aywgYWTEsW1sxLEgZcWfbGVtP1xuIgorCisjfiBtc2dpZCAiJXM6IGludmFsaWQgY3JhbWZzLS1jcmMgZXJyb3JcbiIKKyN+IG1zZ3N0ciAiJXM6IGdlw6dlcnNpeiBjcmFtZnMtLWNyYyBoYXRhc8SxXG4iCisKKyN+IG1zZ2lkICIlczogaW52YWxpZCBjcmFtZnMtLWJhZCBzdXBlcmJsb2NrXG4iCisjfiBtc2dzdHIgIiVzOiBnZcOnZXJzaXogY3JhbWZzIC0tIGhhdGFsxLEgc8O8cGVyYmxva1xuIgorCisjfiBtc2dpZCAiZmxvY2s6IHVua25vd24gb3B0aW9uLCBhYm9ydGluZy5cbiIKKyN+IG1zZ3N0ciAiZmxvY2s6IGJpbGlubWV5ZW4gc2XDp2VuZWssIMOnxLFrxLFsxLF5b3JcbiIKKworI34gbXNnaWQgIlVzYWdlIGZsb2NrIFstLXNoYXJlZF0gWy0tdGltZW91dD1zZWNvbmRzXSBmaWxlbmFtZSBjb21tYW5kIHthcmcgYXJnLi4ufVxuIgorI34gbXNnc3RyICJLdWxsYW7EsW3EsTogZmxvY2sgWy0tc2hhcmVkXSBbLS10aW1lb3V0PXNhbml5ZV0gZG9zeWFpc21pIGtvbXV0IHthcmcgYXJnLi4ufVxuIgorCisjfiBtc2dpZCAiU3ludGF4IGVycm9yOiAnJXMnXG4iCisjfiBtc2dzdHIgIlPDtnpkaXppbWkgaGF0YXPEsTogJyVzJ1xuIgorCisjfiBtc2dpZCAiTm8gc3VjaCBwYXJhbWV0ZXIgc2V0OiAnJXMnXG4iCisjfiBtc2dzdHIgIkLDtnlsZSBiaXIgcGFyYW1ldHJlIHlvazogJyVzJ1xuIgorCisjfiBtc2dpZCAiICAgJXMgWyAtcCBdIGRldiBuYW1lXG4iCisjfiBtc2dzdHIgIiAgICVzIFsgLXAgXSBheWfEsXQgaXNpbVxuIgorCisjfiBtc2dpZCAiICAgJXMgWyAtcCBdIGRldiBzaXplIHNlY3QgaGVhZHMgdHJhY2tzIHN0cmV0Y2ggZ2FwIHJhdGUgc3BlYzEgZm10X2dhcFxuIgorI34gbXNnc3RyICIgICAlcyBbIC1wIF0gYXlnxLF0IHV6dW5sdWsgc2VrdG9yIGthZmEgaXogZ2VyaWxtZSBib8WfbHVrIG9yYW4gw7Z6ZWxsaWsxIGZtdF9nYXBcbiIKKworI34gbXNnaWQgIiAgICVzIFsgLWMgfCAteSB8IC1uIHwgLWQgXSBkZXZcbiIKKyN+IG1zZ3N0ciAiICAgJXMgWyAtYyB8IC15IHwgLW4gfCAtZCBdIGF5Z8SxdFxuIgorCisjfiBtc2dpZCAiICAgJXMgWyAtYyB8IC15IHwgLW4gXSBkZXZcbiIKKyN+IG1zZ3N0ciAiICAgJXMgWyAtYyB8IC15IHwgLW4gXSBheWfEsXRcbiIKKworI34gbXNnaWQgImNvdWxkbid0IG9wZW4gL2Rldi91cmFuZG9tIgorI34gbXNnc3RyICIvZGV2L3VyYW5kb20gYcOnxLFsYW1hZMSxIgorCisjfiBtc2dpZCAiY291bGRuJ3QgcmVhZCByYW5kb20gZGF0YSBmcm9tIC9kZXYvdXJhbmRvbSIKKyN+IG1zZ3N0ciAiL2Rldi91cmFuZG9tJ2RhbiByYXNnZWxlIHZlcmkgb2t1bmFtYWTEsSIKKworI34gbXNnaWQgImNhbid0IHN0YXQoJXMpIgorI34gbXNnc3RyICJzdGF0ICVzIHlhcMSxbGFtYWTEsSIKKworI34gbXNnaWQgIiVzIGRvZXNuJ3QgaGF2ZSB0aGUgY29ycmVjdCBmaWxlbW9kZXMiCisjfiBtc2dzdHIgIiVzIGRvxJ9ydSBkb3N5YSBraXBsZXJpbmUgc2FoaXAgZGXEn2lsIgorCisjfiBtc2dpZCAiY2FuJ3QgcmVhZCBkYXRhIGZyb20gJXMiCisjfiBtc2dzdHIgIiVzIGRvc3lhc8SxbmRhbiB2ZXJpIG9rdW5hbcSxeW9yIgorCisjfiBtc2dpZCAiIgorI34gIlRvbyBtYW55IHVzZXJzIGxvZ2dlZCBvbiBhbHJlYWR5LlxuIgorI34gIlRyeSBhZ2FpbiBsYXRlci5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkt1bGxhbsSxY8SxIHNhecSxc8SxIHPEsW7EsXLEsSBhxZ/EsWxkxLEuXG4iCisjfiAiRGFoYSBzb25yYSB0ZWtyYXIgZGVuZXlpbi5cbiIKKworI34gbXNnaWQgIllvdSBoYXZlIHRvbyBtYW55IHByb2Nlc3NlcyBydW5uaW5nLlxuIgorI34gbXNnc3RyICLDh2FsxLHFn3TEsXJhYmlsZWNlxJ9pbml6IHV5Z3VsYW1hIHNhecSxc8SxbsSxIGHFn3TEsW7EsXouXG4iCisKKyN+IG1zZ2lkICJUaGUgcGFzc3dvcmQgbXVzdCBoYXZlIGF0IGxlYXN0IDYgY2hhcmFjdGVycywgdHJ5IGFnYWluLlxuIgorI34gbXNnc3RyICJQYXJvbGEgZW4gYXogNiBrYXJha3RlciB1enVubHVrdGEgb2xtYWzEsWTEsXIsIHRla3JhciBkZW5leWluLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBwYXNzd29yZCBtdXN0IGNvbnRhaW4gY2hhcmFjdGVycyBvdXQgb2YgdHdvIG9mIHRoZSBmb2xsb3dpbmdcbiIKKyN+ICJjbGFzc2VzOiAgdXBwZXIgYW5kIGxvd2VyIGNhc2UgbGV0dGVycywgZGlnaXRzIGFuZCBub24gYWxwaGFudW1lcmljXG4iCisjfiAiY2hhcmFjdGVycy4gU2VlIHBhc3N3ZCgxKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkJpciBwYXJvbGEgYnUga2FyYWt0ZXIgZ3J1cGxhcsSxbsSxbiBlbiBheiBpa2lzaW5kZWtpIGthcmFrdGVybGVyaVxuIgorI34gImnDp2VybWVsaWRpcjogYsO8ecO8ayB2ZSBrw7zDp8O8ayBoYXJmbGVyLCByYWthbWxhciwgacWfYXJldGxlci5cbiIKKyN+ICJEYWhhIGZhemxhIGJpbGdpIGnDp2luOiAnbWFuIDEgcGFzc3dkJ1xuIgorCisjfiBtc2dpZCAiWW91IGNhbm5vdCByZXVzZSB0aGUgb2xkIHBhc3N3b3JkLlxuIgorI34gbXNnc3RyICJFc2tpIHBhcm9sYW7EsXrEsSB5ZW5pZGVuIGt1bGxhbmFtYXpzxLFuxLF6LlxuIgorCisjfiBtc2dpZCAiUGxlYXNlIGRvbid0IHVzZSBzb21ldGhpbmcgbGlrZSB5b3VyIHVzZXJuYW1lIGFzIHBhc3N3b3JkIVxuIgorI34gbXNnc3RyICJMw7x0ZmVuIHBhcm9sYSBvbGFyYWsga3VsbGFuxLFjxLEgYWTEsW7EsXogZ2liaSDFn2V5bGVyaSBrdWxsYW5tYXnEsW7EsXohXG4iCisKKyN+IG1zZ2lkICJQbGVhc2UgZG9uJ3QgdXNlIHNvbWV0aGluZyBsaWtlIHlvdXIgcmVhbG5hbWUgYXMgcGFzc3dvcmQhXG4iCisjfiBtc2dzdHIgIkzDvHRmZW4gcGFyb2xhIG9sYXJhayBhZC1zb3lhZMSxIGdpYmkgxZ9leWxlcmkga3VsbGFubWF5xLFuxLF6IVxuIgorCisjfiBtc2dpZCAiVXNhZ2U6IHBhc3N3ZCBbdXNlcm5hbWUgW3Bhc3N3b3JkXV1cbiIKKyN+IG1zZ3N0ciAiS3VsbGFuxLFtxLE6IHBhc3N3ZCBba3VsbGFuxLFjxLHEsHNtaSBbcGFyb2xhXV1cbiIKKworI34gbXNnaWQgIk9ubHkgcm9vdCBtYXkgdXNlIHRoZSBvbmUgYW5kIHR3byBhcmd1bWVudCBmb3Jtcy5cbiIKKyN+IG1zZ3N0ciAiQXJnw7xtYW5sxLEga3VsbGFuxLFtIHNhZGVjZSByb290IGnDp2luIG3DvG1rw7xuZMO8ci5cbiIKKworI34gbXNnaWQgIlVzYWdlOiBwYXNzd2QgWy1mb3FzdlZdIFt1c2VyIFtwYXNzd29yZF1dXG4iCisjfiBtc2dzdHIgIkt1bGxhbsSxbcSxOiBwYXNzd2QgWy1mb3FzdlZdIFtrdWxsYW7EsWPEsSBbcGFyb2xhXV1cbiIKKworI34gbXNnaWQgIkNhbm5vdCBmaW5kIGxvZ2luIG5hbWUiCisjfiBtc2dzdHIgIkt1bGxhbsSxY8SxIGlzbWkgYnVsdW5hbcSxeW9yIgorCisjfiBtc2dpZCAiT25seSByb290IGNhbiBjaGFuZ2UgdGhlIHBhc3N3b3JkIGZvciBvdGhlcnMuXG4iCisjfiBtc2dzdHIgIkRpxJ9lcmxlcmluaW4gcGFyb2xhc8SxbsSxIHNhZGVjZSByb290IGRlxJ9pxZ90aXJlYmlsaXIuXG4iCisKKyN+IG1zZ2lkICJDYW4ndCBmaW5kIHVzZXJuYW1lIGFueXdoZXJlLiBJcyBgJXMnIHJlYWxseSBhIHVzZXI/IgorI34gbXNnc3RyICJLdWxsYW7EsWPEsSBpc21pIGhpw6diaXIgeWVyZGUgYnVsdW5hbcSxeW9yLiBgJXMnIGdlcsOnZWt0ZW4gYmlyIGt1bGxhbsSxY8SxIGlzbWkgbWk/IgorCisjfiBtc2dpZCAiU29ycnksIEkgY2FuIG9ubHkgY2hhbmdlIGxvY2FsIHBhc3N3b3Jkcy4gVXNlIHlwcGFzc3dkIGluc3RlYWQuIgorI34gbXNnc3RyICJTYWRlY2UgeWVyZWwgcGFyb2xhbGFyIGRlxJ9pxZ90aXJpbGViaWxpci4gQnVudW4geWVyaW5lIHlwcGFzc3dkIGt1bGxhbsSxbi4iCisKKyN+IG1zZ2lkICJVSUQgYW5kIHVzZXJuYW1lIGRvZXMgbm90IG1hdGNoLCBpbXBvc3RlciEiCisjfiBtc2dzdHIgIkt1bGxhbsSxY8SxIGtpbWxpxJ9pIGlsZSBrdWxsYW7EsWPEsSBpc21pIHV5dcWfbXV5b3IsIHNhaHRla2FyISIKKworI34gbXNnaWQgIkNoYW5naW5nIHBhc3N3b3JkIGZvciAlc1xuIgorI34gbXNnc3RyICIlcyBpw6dpbiBwYXJvbGEgZGXEn2nFn3RpcmlsaXlvclxuIgorCisjfiBtc2dpZCAiSWxsZWdhbCBwYXNzd29yZCwgaW1wb3N0ZXIuIgorI34gbXNnc3RyICJLdXJhbGTEscWfxLEgcGFyb2xhLiIKKworI34gbXNnaWQgIkVudGVyIG5ldyBwYXNzd29yZDogIgorI34gbXNnc3RyICJZZW5pIHBhcm9sYW7EsXrEsSB5YXrEsW7EsXo6ICIKKworI34gbXNnaWQgIlJlLXR5cGUgbmV3IHBhc3N3b3JkOiAiCisjfiBtc2dzdHIgIlllbmkgcGFyb2xhbsSxesSxIHRla3JhciB5YXrEsW7EsXo6ICIKKworI34gbXNnaWQgIllvdSBtaXNzcGVsbGVkIGl0LiBQYXNzd29yZCBub3QgY2hhbmdlZC4iCisjfiBtc2dzdHIgIllhbmzEscWfIHlhemTEsW7EsXouIFBhcm9sYSBkZcSfacWfdGlyaWxtZWRpLiIKKworI34gbXNnaWQgIlJPT1QgUEFTU1dPUkQgQ0hBTkdFRCIKKyN+IG1zZ3N0ciAiUk9PVCBQQVJPTEFTSSBERcSexLDFnlTEsFLEsExExLAiCisKKyN+IG1zZ2lkICJwYXNzd29yZCBjaGFuZ2VkIGJ5IHJvb3QsIHVzZXIgJXMiCisjfiBtc2dzdHIgIiVzIGnDp2luIHBhcm9sYSByb290IHRhcmFmxLFuZGFuIGRlxJ9pxZ90aXJpbGRpIgorCisjfiBtc2dpZCAiY2FsbGluZyBzZXRwd25hbSB0byBzZXQgcGFzc3dvcmQuXG4iCisjfiBtc2dzdHIgInBhcm9sYXnEsSBrYXlkZXRtZWsgacOnaW4gc2V0cHduYW0gw6dhxJ9yxLFsxLF5b3IuXG4iCisKKyN+IG1zZ2lkICJQYXNzd29yZCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLlxuIgorI34gbXNnc3RyICJQYXJvbGEgZGXEn2nFn3RpcmlsbWVkaSEgRGFoYSBzb25yYSB0ZWtyYXIgZGVuZXlpbi5cbiIKKworI34gbXNnaWQgIm1vdW50OiB0aGlzIHZlcnNpb24gd2FzIGNvbXBpbGVkIHdpdGhvdXQgc3VwcG9ydCBmb3IgdGhlIHR5cGUgYG5mcyciCisjfiBtc2dzdHIgIm1vdW50OiBidSBzw7xyw7xtIGBuZnMnIHTDvHLDvCBpw6dpbiBkZXN0ZWsgb2xtYWtzxLF6xLFuIGRlcmxlbm1pxZ8iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBvbWl0dGluZyBwYXJ0aXRpb25zIGFmdGVyICVkXG4iCisjfiBtc2dzdHIgIlV5YXLEsTogJWQgYsO2bMO8bcO8bmRlbiBzb25yYWtpbGVyIGF0bGFuxLF5b3JcbiIKKworI34gbXNnaWQgIiVzOiBub3QgY29tcGlsZWQgd2l0aCBtaW5peCB2MiBzdXBwb3J0XG4iCisjfiBtc2dzdHIgIiVzOiBtaW5peCB2MiBkZXN0ZcSfaXlsZSBkZXJsZW5tZW1pxZ9cbiIKKworI34gbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIGZvciAlc1xuIgorI34gbXNnc3RyICJCTEtHRVRTSVpFIGlvY3RsICVzIGnDp2luIGJhxZ9hcsSxc8SxelxuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGR1cGxpY2F0ZSAtIG5vdCBtb3VudGVkIgorI34gbXNnc3RyICJtb3VudDogJXMgeWluZWxlbmRpIC0gYmHEn2xhbm1hZMSxIgorCisjfiBtc2dpZCAibW91bnQ6IHRoZSBsYWJlbCAlcyBvY2N1cnMgb24gYm90aCAlcyBhbmQgJXMgLSBub3QgbW91bnRlZFxuIgorI34gbXNnc3RyICJtb3VudDogZXRpa2V0ICVzIGhlbSAlcyBoZW0gZGUgJXMgacOnaW4gZ8O2csO8bsO8eW9yIC0gYmHEn2xhbm1hZMSxXG4iCisKKyN+IG1zZ2lkICJCb290ICglMDJYKSIKKyN+IG1zZ3N0ciAiQm9vdCAoJTAyWCkiCisKKyN+IG1zZ2lkICJOb25lICglMDJYKSIKKyN+IG1zZ3N0ciAiWW9rICglMDJYKSIKKworI34gbXNnaWQgIiVzOiBbJTA0eF06JWxkICglcykgb2Zmc2V0ICVkLCAlcyBlbmNyeXB0aW9uXG4iCisjfiBtc2dzdHIgIiVzOiBbJTA0eF06JWxkICglcykgZ8O2cmVsaSBrb251bSAlZCwgJXMgxZ9pZnJlbGVtZVxuIgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiBDb3VsZCBub3QgZmluZCBhbnkgbG9vcCBkZXZpY2UuXG4iCisjfiAiICAgICAgIE1heWJlIC9kZXYvbG9vcCMgaGFzIGEgd3JvbmcgbWFqb3IgbnVtYmVyPyIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiBIacOnIGJpciBsb29wIGF5Z8SxdMSxIGJ1bHVuYW1hZMSxLlxuIgorI34gIiAgICAgICAvZGV2L2xvb3AjIGJpciB5YW5sxLHFnyBtYWpvciBudW1hcmFzxLEgacOnZXJpeW9yIG9sYWJpbGlyIG1pPyIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogQ291bGQgbm90IGZpbmQgYW55IGxvb3AgZGV2aWNlLiBNYXliZSB0aGlzIGtlcm5lbCBkb2VzIG5vdCBrbm93XG4iCisjfiAiICAgICAgIGFib3V0IHRoZSBsb29wIGRldmljZSAodGhlbiByZWNvbXBpbGUgb3IgYGluc21vZCBsb29wLm8nKSwgb3JcbiIKKyN+ICIgICAgICAgbWF5YmUgL2Rldi9sb29wIyBoYXMgdGhlIHdyb25nIG1ham9yIG51bWJlcj8iCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogSGnDpyBiaXIgbG9vcCBheWfEsXTEsSBidWx1bmFtYWTEsS4gQnUgw6dla2lyZGVrIHlhIGxvb3AgYXlnxLF0xLEgaGFra8SxbmRhXG4iCisjfiAiICAgICAgIGJpbGdpeWUgc2FoaXAgZGXEn2lsIChgaW5zbW9kIGxvb3AubycgZGVuZXlpbiwgc29udcOnIGFsYW1henNhbsSxelxuIgorI34gIiAgICAgICDDp2VraXJkZcSfaSB5ZW5pZGVuIGRlcmxleWluLikgeWEgZGEgL2Rldi9sb29wIyB5YW5sxLHFnyBtYWrDtnIgbnVtYXJhc8SxbmFcbiIKKyN+ICIgICAgICAgc2FoaXAgb2xhYmlsaXI/IgorCisjfiBtc2dpZCAiSW5pdCAodXAgdG8gMTYgaGV4IGRpZ2l0cyk6ICIKKyN+IG1zZ3N0ciAiQmHFn2xhbmfEscOnICgxNiB0YW5leWUga2FkYXIgb25hbHTEsWzEsWsgcmFrYW0pOiAiCisKKyN+IG1zZ2lkICJOb24taGV4IGRpZ2l0ICclYycuXG4iCisjfiBtc2dzdHIgIiclYycgb25hbHTEsWzEsWsgYmlyIHJha2FtIGRlxJ9pbC5cbiIKKworI34gbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGdldCBrZXkgZm9yIGVuY3J5cHRpb24gc3lzdGVtICVkXG4iCisjfiBtc2dzdHIgIiVkIMWfaWZyZWxlbWUgc2lzdGVtaSBpw6dpbiBuYXPEsWwgYW5haHRhciBhbMSxbmFjYcSfxLEgYmlsaW5taXlvclxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVpIGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeTpcbiIKKyN+IG1zZ3N0ciAiJWkgZGlzayBiw7Zsw7xtw7xuw7xuIGJpdGnFn2kgc2lsaW5kaXIgc8SxbsSxcmxhcsSxIGTEscWfxLFuZGE6XG4iCisKKyN+IG1zZ2lkICJDYW4ndCBvcGVuIGhlbHAgZmlsZSIKKyN+IG1zZ3N0ciAiWWFyZMSxbSBkb3N5YXPEsSBhw6fEsWxhbcSxeW9yIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVkIGhlYWRzLCAlZCBzZWN0b3JzLCAlZCBjeWxpbmRlcnNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogJWQgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVkIGthZmEsICVkIHNla3TDtnIsICVkIHNpbGluZGlyXG4iCisjfiAiQmlyaW0gPSAlcyAgKCVkICogJWQgYmF5dGzEsWspXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJvcHRpb24gYCVzJyBkb2Vzbid0IGFsbG93IGFuIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgImAlcycgc2XDp2VuZcSfaSBiaXIgYXJnw7xtYW5zxLF6IGt1bGxhbsSxbMSxclxuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnNcbiIKZGlmZiAtLWdpdCBhL3BvL3VrLnBvIGIvcG8vdWsucG8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjI0ODI4MAotLS0gL2Rldi9udWxsCisrKyBiL3BvL3VrLnBvCkBAIC0wLDAgKzEsMTg1OTIgQEAKKyMgVWtyYWluaWFuIHRyYW5zbGF0aW9uIHRvIHV0aWwtbGludXguCisjIENvcHlyaWdodCAoQykgMjAwNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYworIyBUaGlzIGZpbGUgaXMgcHV0IGluIHRoZSBwdWJsaWMgZG9tYWluLgorIworIyBNYXhpbSBWLiBEeml1bWFuZW5rbyA8bXZkQG15bGludXguY29tLnVhPiwgMjAwNC0yMDA2LgorIyBZdXJpIENob3Jub2l2YW4gPHl1cmNob3JAdWtyLm5ldD4sIDIwMTIsIDIwMTMsIDIwMTQsIDIwMTUsIDIwMTYuCittc2dpZCAiIgorbXNnc3RyICIiCisiUHJvamVjdC1JZC1WZXJzaW9uOiB1dGlsLWxpbnV4IDIuMjktcmMyXG4iCisiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IHV0aWwtbGludXhAdmdlci5rZXJuZWwub3JnXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTctMDItMjIgMTI6MzIrMDEwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTYtMTAtMjAgMTk6MTErMDMwMFxuIgorIkxhc3QtVHJhbnNsYXRvcjogWXVyaSBDaG9ybm9pdmFuIDx5dXJjaG9yQHVrci5uZXQ+XG4iCisiTGFuZ3VhZ2UtVGVhbTogVWtyYWluaWFuIDx0cmFuc2xhdGlvbi10ZWFtLXVrQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD5cbiIKKyJMYW5ndWFnZTogdWtcbiIKKyJNSU1FLVZlcnNpb246IDEuMFxuIgorIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgorIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKyJYLUJ1Z3M6IFJlcG9ydCB0cmFuc2xhdGlvbiBlcnJvcnMgdG8gdGhlIExhbmd1YWdlLVRlYW0gYWRkcmVzcy5cbiIKKyJYLUdlbmVyYXRvcjogTG9rYWxpemUgMS41XG4iCisiUGx1cmFsLUZvcm1zOiBucGx1cmFscz00OyBwbHVyYWw9bj09MSA/IDMgOiBuJTEwPT0xICYmIG4lMTAwIT0xMSA/IDAgOiBuJTEwPj0yICYmIG4lMTA8PTQgJiYgKG4lMTAwPDEwIHx8IG4lMTAwPj0yMCkgPyAxIDogMjtcbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxzdGFydD4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiICVzIDzQtNC40YHQutC+0LLQuNC5INC/0YDQuNGB0YLRgNGW0Lk+IDzQvdC+0LzQtdGAINGA0L7Qt9C00ZbQu9GDPiA80L/QvtGH0LDRgtC+0Lo+IDzQtNC+0LLQttC40L3QsD5cbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTgKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIGV4aXN0ZW5jZSBvZiBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgItCf0L7QstGW0LTQvtC80LjRgtC4INGP0LTRgNGDINC/0YDQviDRltGB0L3Rg9Cy0LDQvdC90Y8g0LLQutCw0LfQsNC90L7Qs9C+INGA0L7Qt9C00ZbQu9GDLlxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1NiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mjc2IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0MjAKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NDYgZGlzay11dGlscy9jZmRpc2suYzoyNjM0IGRpc2stdXRpbHMvZGVscGFydC5jOjU3CisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI3IGRpc2stdXRpbHMvZmRpc2suYzo3MTggZGlzay11dGlscy9mZGlzay5jOjk5NAorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzAxIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM0MQorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzYwIGRpc2stdXRpbHMvZnNjay5jOjE0NDgKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTUgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxMAorIzogZGlzay11dGlscy9pc29zaXplLmM6MTM0IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODkKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNzMgZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2MQorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4OCBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTkKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjE1IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ0IGRpc2stdXRpbHMvcGFydHguYzo5OTQKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwMSBkaXNrLXV0aWxzL3NmZGlzay5jOjY0NyBkaXNrLXV0aWxzL3NmZGlzay5jOjcwMworIzogZGlzay11dGlscy9zZmRpc2suYzo3NTcgZGlzay11dGlscy9zZmRpc2suYzo4MTYgZGlzay11dGlscy9zZmRpc2suYzo4ODAKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTIxIGRpc2stdXRpbHMvc2ZkaXNrLmM6OTUxIGRpc2stdXRpbHMvc2ZkaXNrLmM6OTg4CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MzcgZGlzay11dGlscy9zd2FwbGFiZWwuYzo2MCBsaWJmZGlzay9zcmMvYnNkLmM6NjQxCisjOiBsaWIvcGF0aC5jOjcwIGxpYi9wYXRoLmM6ODIgbG9naW4tdXRpbHMvaXNsb2NhbC5jOjg3IGxvZ2luLXV0aWxzL2xhc3QuYzo2NzIKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NDYgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ4MworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzYgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNTkKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzgxIGxvZ2luLXV0aWxzL3ZpcHcuYzoyNTggbG9naW4tdXRpbHMvdmlwdy5jOjI3NgorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5NyBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODggbWlzYy11dGlscy9tY29va2llLmM6MTE1CisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjA3IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTgzIHN5cy11dGlscy9kbWVzZy5jOjUyMgorIzogc3lzLXV0aWxzL2VqZWN0LmM6NTAwIHN5cy11dGlscy9lamVjdC5jOjcwMCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzc0CisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjggc3lzLXV0aWxzL2ZzdHJpbS5jOjcyIHN5cy11dGlscy9od2Nsb2NrLmM6MjgyCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjM4IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE2MgorIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjU2IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQwMQorIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDIyIHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ2OQorIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzg4IHN5cy11dGlscy9uc2VudGVyLmM6MTI4IHN5cy11dGlscy9ydGN3YWtlLmM6MTM2CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI3MCBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzMCBzeXMtdXRpbHMvc2V0cHJpdi5jOjUyOQorIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NTIgc3lzLXV0aWxzL3N3YXBvbi5jOjM3MSBzeXMtdXRpbHMvc3dhcG9uLmM6NTE0CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjMgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMDYgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjEKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMyMSBzeXMtdXRpbHMvd2RjdGwuYzozNzcgdGVybS11dGlscy9hZ2V0dHkuYzoyNjE4CisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMjcgdGVybS11dGlscy9zY3JpcHQuYzo0MjUgdGVybS11dGlscy9zY3JpcHQuYzo0MzEKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDMzIHRlcm0tdXRpbHMvc2NyaXB0LmM6NTIyCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE5NyB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIwMAorIzogdGVybS11dGlscy93YWxsLmM6MzMxIHRleHQtdXRpbHMvY29sY3J0LmM6MjgyIHRleHQtdXRpbHMvbW9yZS5jOjUxMworIzogdGV4dC11dGlscy9yZXYuYzoxNDEgdGV4dC11dGlscy90YWlsZi5jOjY4IHRleHQtdXRpbHMvdGFpbGYuYzoxMDAKKyM6IHRleHQtdXRpbHMvdWwuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRltC00LrRgNC40YLQuCAlcyIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTkgZGlzay11dGlscy9kZWxwYXJ0LmM6NjAgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6OTgKK21zZ2lkICJpbnZhbGlkIHBhcnRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDQvdC+0LzQtdGA0LAg0YDQvtC30LTRltC70YMiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYwCittc2dpZCAiaW52YWxpZCBzdGFydCBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQsNGA0LPRg9C80LXQvdGCINC/0L7Rh9Cw0YLQutGDIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MSBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDgKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQsNGA0LPRg9C80LXQvdGCINC00L7QstC20LjQvdC4IgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MgorbXNnaWQgImZhaWxlZCB0byBhZGQgcGFydGl0aW9uIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC00L7QtNCw0YLQuCDRgNC+0LfQtNGW0LsiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo2MworbXNnaWQgInNldCByZWFkLW9ubHkiCittc2dzdHIgItCy0YHRgtCw0L3QvtCy0LjRgtC4INGP0Log0LvQuNGI0LUt0LTQu9GPLdGH0LjRgtCw0L3QvdGPIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzAKK21zZ2lkICJzZXQgcmVhZC13cml0ZSIKK21zZ3N0ciAi0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LTQu9GPINGH0LjRgtCw0L3QvdGPLdC30LDQv9C40YHRgyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjc2Cittc2dpZCAiZ2V0IHJlYWQtb25seSIKK21zZ3N0ciAi0L7RgtGA0LjQvNCw0YLQuCDRgdGC0LDQvSDQu9C40YjQtS3QtNC70Y8t0YfQuNGC0LDQvdC90Y8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4MgorbXNnaWQgImdldCBkaXNjYXJkIHplcm9lcyBzdXBwb3J0IHN0YXR1cyIKK21zZ3N0ciAi0L7RgtGA0LjQvNCw0YLQuCDRgdGC0LDQvSDQv9GW0LTRgtGA0LjQvNC60Lgg0LLRltC00LrQuNC00LDQvdC90Y8g0L3Rg9C70ZbQsiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjg4Cittc2dpZCAiZ2V0IGxvZ2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAi0L7RgtGA0LjQvNCw0YLQuCDRgNC+0LfQvNGW0YAg0LvQvtCz0ZbRh9C90L7Qs9C+INCx0LvQvtC60YMgKNGB0LXQutGC0L7RgNCwKSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjk0Cittc2dpZCAiZ2V0IHBoeXNpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgItC+0YLRgNC40LzQsNGC0Lgg0YDQvtC30LzRltGAINGE0ZbQt9C40YfQvdC+0LPQviDQsdC70L7QutGDICjRgdC10LrRgtC+0YDQsCkiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDAKK21zZ2lkICJnZXQgbWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAi0L7RgtGA0LjQvNCw0YLQuCDQvNGW0L3RltC80LDQu9GM0L3QuNC5INGA0L7Qt9C80ZbRgCDQstCy0LXQtNC10L3QvdGPLdCy0LjQstC10LTQtdC90L3RjyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwNgorbXNnaWQgImdldCBvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICLQvtGC0YDQuNC80LDRgtC4INC+0L/RgtC40LzQsNC70YzQvdC40Lkg0YDQvtC30LzRltGAINCy0LLQtdC00LXQvdC90Y8t0LLQuNCy0LXQtNC10L3QvdGPIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTEyCittc2dpZCAiZ2V0IGFsaWdubWVudCBvZmZzZXQgaW4gYnl0ZXMiCittc2dzdHIgItC+0YLRgNC40LzQsNGC0Lgg0LLRltC00YHRgtGD0L8g0LLQuNGA0ZbQstC90Y7QstCw0L3QvdGPINGDINCx0LDQudGC0LDRhSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExOAorbXNnaWQgImdldCBtYXggc2VjdG9ycyBwZXIgcmVxdWVzdCIKK21zZ3N0ciAi0L7RgtGA0LjQvNCw0YLQuCDQt9C90LDRh9C10L3QvdGPINC80LDQutGB0LjQvNCw0LvRjNC90L7RlyDQutGW0LvRjNC60L7RgdGC0ZYg0YHQtdC60YLQvtGA0ZbQsiDQvdCwINC30LDQv9C40YIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMjQKK21zZ2lkICJnZXQgYmxvY2tzaXplIgorbXNnc3RyICLQvtGC0YDQuNC80LDRgtC4INGA0L7Qt9C80ZbRgCDQsdC70L7QutGDIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTMxCittc2dpZCAic2V0IGJsb2Nrc2l6ZSBvbiBmaWxlIGRlc2NyaXB0b3Igb3BlbmluZyB0aGUgYmxvY2sgZGV2aWNlIgorbXNnc3RyICLQstGB0YLQsNC90L7QstC40YLQuCDRgNC+0LfQvNGW0YAg0YMg0LHQu9C+0LrQsNGFINC00LXRgdC60YDQuNC/0YLQvtGA0LAg0YTQsNC50LvQsCwg0YnQviDQstGW0LTQutGA0LjQstCw0ZQg0LHQu9C+0LrQvtCy0LjQuSDQv9GA0LjRgdGC0YDRltC5IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTM3Cittc2dpZCAiZ2V0IDMyLWJpdCBzZWN0b3IgY291bnQgKGRlcHJlY2F0ZWQsIHVzZSAtLWdldHN6KSIKK21zZ3N0ciAi0L7RgtGA0LjQvNCw0YLQuCAzMi3QsdGW0YLQvtCy0YMg0LrRltC70YzQutGW0YHRgtGMINGB0LXQutGC0L7RgNGW0LIgKNC30LDRgdGC0LDRgNGW0LvQuNC5LCDRgdC60L7RgNC40YHRgtCw0LnRgtC10YHRjyAtLWdldHN6KSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE0MworbXNnaWQgImdldCBzaXplIGluIGJ5dGVzIgorbXNnc3RyICLQvtGC0YDQuNC80LDRgtC4INGA0L7Qt9C80ZbRgCDRgyDQsdCw0LnRgtCw0YUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTAKK21zZ2lkICJzZXQgcmVhZGFoZWFkIgorbXNnc3RyICLQstGB0YLQsNC90L7QstC40YLQuCDRgNC10LbQuNC8INC/0L7Qv9C10YDQtdC00L3RjNC+0LPQviDRh9C40YLQsNC90L3RjyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1NgorbXNnaWQgImdldCByZWFkYWhlYWQiCittc2dzdHIgItC+0YLRgNC40LzQsNGC0Lgg0YHRgtCw0L0g0YDQtdC20LjQvNGDINC/0L7Qv9C10YDQtdC00L3RjNC+0LPQviDRh9C40YLQsNC90L3RjyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2MworbXNnaWQgInNldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAi0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LTQu9GPINGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80Lgg0YDQtdC20LjQvCDQv9C+0L/QtdGA0LXQtNC90YzQvtCz0L4g0YfQuNGC0LDQvdC90Y8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjkKK21zZ2lkICJnZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgItC+0YLRgNC40LzQsNGC0Lgg0YHRgtCw0L0g0YDQtdC20LjQvNGDINC/0L7Qv9C10YDQtdC00L3RjNC+0LPQviDRh9C40YLQsNC90L3RjyDQtNC70Y8g0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3MworbXNnaWQgImZsdXNoIGJ1ZmZlcnMiCittc2dzdHIgItGB0LrQuNC90YPRgtC4INCx0YPRhNC10YDQuCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3NworbXNnaWQgInJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgItC/0LXRgNC10YfQuNGC0LDRgtC4INGC0LDQsdC70LjRhtGOINGA0L7Qt9C00ZbQu9GW0LIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlMSRzIC1WXG4iCisiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisiXG4iCisiQXZhaWxhYmxlIGNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisiXG4iCisi0JrQvtGA0LjRgdGC0YPQstCw0L3QvdGPOlxuIgorIiAlMSRzIC1WXG4iCisiICUxJHMgLS1yZXBvcnQgW9C/0YDQuNGB0YLRgNC+0ZddXG4iCisiICUxJHMgWy12fC1xXSDQutC+0LzQsNC90LTQuCDQv9GA0LjRgdGC0YDQvtGXXG4iCisiXG4iCisi0JTQvtGB0YLRg9C/0L3RliDQutC+0LzQsNC90LTQuDpcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgJS0yNXMgZ2V0IHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9yc1xuIgorbXNnc3RyICIgJS0yNXMg0L7RgtGA0LjQvNCw0YLQuCDRgNC+0LfQvNGW0YAg0YMgNTEyLdCx0LDQudGC0L7QstC40YUg0YHQtdC60YLQvtGA0LDRhVxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzExCittc2dpZCAiY291bGQgbm90IGdldCBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INGA0L7Qt9C80ZbRgCDQv9GA0LjRgdGC0YDQvtGOIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gY29tbWFuZDogJXMiCittc2dzdHIgItCd0LXQstGW0LTQvtC80LAg0LrQvtC80LDQvdC00LA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICIlcyDQv9C+0YLRgNC10LHRg9GUINCy0LjQt9C90LDRh9C10L3QvdGPINCw0YDQs9GD0LzQtdC90YLRgyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM2OCBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGVycm9yIG9uICVzIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCBpb2N0bCDRgyAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQuXG4iCittc2dzdHIgItCf0L7QvNC40LvQutCwICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiJXMg0LLQuNC60L7QvdCw0L3Qvi5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgc3lzZnMgaGFuZGxlciIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0ZbQvdGW0YbRltCw0LvRltC30YPQstCw0YLQuCDQvtCx0YDQvtCx0L3QuNC6IHN5c2ZzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gc3RhcnQgZnJvbSBzeXNmcyIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0L/RgNC+0YfQuNGC0LDRgtC4INC/0L7Rh9Cw0YLQvtC6INGC0LDQsdC70LjRhtGWINGA0L7Qt9C00ZbQu9GW0LIg0ZbQtyBzeXNmcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICJSTyAgICBSQSAgIFNTWiAgIEJTWiAgIFN0YXJ0U2VjICAgICAgICAgICAgU2l6ZSAgIERldmljZVxuIgorbXNnc3RyICLQp9GCICAgINCf0L7Qp9GCINCg0LfQvNChICDQoNC30LzQkdC7INCf0L7Rh9Ch0LXQutGCICAgICAgICAgICAgINCg0L7Qt9C80ZbRgCDQn9GA0LjRgdGC0YDRltC5XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTc5Cittc2dpZCAiQm9vdGFibGUiCittc2dzdHIgItCX0LDQstCw0L3RgtCw0LYuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3OQorbXNnaWQgIlRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAi0J/QtdGA0LXQvNC60L3Rg9GC0Lgg0L7Qt9C90LDQutGDINC30LDQstCw0L3RgtCw0LbQtdC90L3RjyDQv9C+0YLQvtGH0L3QvtCz0L4g0YDQvtC30LTRltC70YMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgwCittc2dpZCAiRGVsZXRlIgorbXNnc3RyICLQktC40LTQsNC70LjRgtC4IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MAorbXNnaWQgIkRlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgItCS0LjQtNCw0LvQuNGC0Lgg0L/QvtGC0L7Rh9C90LjQuSDRgNC+0LfQtNGW0LsiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgxCittc2dpZCAiTmV3IgorbXNnc3RyICLQndC+0LLQuNC5IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MQorbXNnaWQgIkNyZWF0ZSBuZXcgcGFydGl0aW9uIGZyb20gZnJlZSBzcGFjZSIKK21zZ3N0ciAi0KHRgtCy0L7RgNC40YLQuCDQvdC+0LLQuNC5INGA0L7Qt9C00ZbQuyDRgyDQstGW0LvRjNC90L7QvNGDINC/0YDQvtGB0YLQvtGA0ZYiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgyCittc2dpZCAiUXVpdCIKK21zZ3N0ciAi0JLQuNGF0ZbQtCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODIKK21zZ2lkICJRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIGNoYW5nZXMiCittc2dzdHIgItCS0LjQudGC0Lgg0Lcg0L/RgNC+0LPRgNCw0LzQuCDQsdC10Lcg0LfQsNC/0LjRgdGDINC00LDQvdGWIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MyBsaWJmZGlzay9zcmMvYnNkLmM6NDM5IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIwCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNiBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MAorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMTYKK21zZ2lkICJUeXBlIgorbXNnc3RyICLQotC40L8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgzCittc2dpZCAiQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAi0JfQvNGW0L3QuNGC0Lgg0YLQuNC/INGA0L7Qt9C00ZbQu9GDIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NAorbXNnaWQgIkhlbHAiCittc2dzdHIgItCU0L7QstGW0LTQutCwIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NAorbXNnaWQgIlByaW50IGhlbHAgc2NyZWVuIgorbXNnc3RyICLQktC40LLQtdGB0YLQuCDQstGW0LrQvdC+INC3INC00L7QstGW0LTQutC+0Y4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1Cittc2dpZCAiU29ydCIKK21zZ3N0ciAi0KPQv9C+0YDRj9C00LrRg9Cy0LDRgtC4IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NQorbXNnaWQgIkZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICLQktC40L/RgNCw0LLQuNGC0Lgg0L/QvtGA0Y/QtNC+0Log0YDQvtC30LTRltC70ZbQsiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJXcml0ZSIKK21zZ3N0ciAi0JfQsNC/0LjRgdCw0YLQuCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAodGhpcyBtaWdodCBkZXN0cm95IGRhdGEpIgorbXNnc3RyICLQl9Cw0L/QuNGB0LDRgtC4INGC0LDQsdC70LjRhtGOINGA0L7Qt9C00ZbQu9GW0LIg0L3QsCDQtNC40YHQuiAo0LzQvtC20LUg0LfRltC/0YHRg9Cy0LDRgtC4INC00LDQvdGWKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEdW1wIgorbXNnc3RyICLQodGC0LLQvtGA0LjRgtC4INC00LDQvNC/IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworbXNnaWQgIkR1bXAgcGFydGl0aW9uIHRhYmxlIHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICLQodGC0LLQvtGA0LjRgtC4INC00LDQvNC/INGC0LDQsdC70LjRhtGWINGA0L7Qt9C00ZbQu9GW0LIg0YMg0YHRg9C80ZbRgdC90L7QvNGDINC3IHNmZGlzayDRhNCw0LnQu9GWINGB0LrRgNC40L/RgtGDIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjYyMCBkaXNrLXV0aWxzL2ZkaXNrLmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB1bnN1cHBvcnRlZCBkaWFsb2cgdHlwZSAlZCIKK21zZ3N0ciAi0LLQvdGD0YLRgNGW0YjQvdGPINC/0L7QvNC40LvQutCwOiDQvdC10L/RltC00YLRgNC40LzRg9Cy0LDQvdC40Lkg0YLQuNC/INC00ZbQsNC70L7Qs9GDLCAlZCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChtb3VudGVkKSIKK21zZ3N0ciAiJXMgKNC30LzQvtC90YLQvtCy0LDQvdC+KSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjc0Cittc2dpZCAiUGFydGl0aW9uIG5hbWU6IgorbXNnc3RyICLQndCw0LfQstCwINGA0L7Qt9C00ZbQu9GDOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjgxCittc2dpZCAiUGFydGl0aW9uIFVVSUQ6IgorbXNnc3RyICJVVUlEINGA0L7Qt9C00ZbQu9GDOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjkzCittc2dpZCAiUGFydGl0aW9uIHR5cGU6IgorbXNnc3RyICLQotC40L8g0YDQvtC30LTRltC70YM6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMDAKK21zZ2lkICJBdHRyaWJ1dGVzOiIKK21zZ3N0ciAi0JDRgtGA0LjQsdGD0YLQuDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMyNAorbXNnaWQgIkZpbGVzeXN0ZW0gVVVJRDoiCittc2dzdHIgIlVVSUQg0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMzMQorbXNnaWQgIkZpbGVzeXN0ZW0gTEFCRUw6IgorbXNnc3RyICLQnNCG0KLQmtCQINGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80Lg6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMzcKK21zZ2lkICJGaWxlc3lzdGVtOiIKK21zZ3N0ciAi0KTQsNC50LvQvtCy0LAg0YHQuNGB0YLQtdC80LA6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNDIKK21zZ2lkICJNb3VudHBvaW50OiIKK21zZ3N0ciAi0KLQvtGH0LrQsCDQvNC+0L3RgtGD0LLQsNC90L3RjzoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY4NQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrOiAlcyIKK21zZ3N0ciAi0JTQuNGB0Lo6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2l6ZTogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgItCg0L7Qt9C80ZbRgDogJXMsICVqdSDQsdCw0LnRgtGW0LIsICVqdSDRgdC10LrRgtC+0YDRltCyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzLCBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAi0JzRltGC0LrQsDogJXMsINGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcyIKK21zZ3N0ciAi0JzRltGC0LrQsDogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0NgorbXNnaWQgIk1heSBiZSBmb2xsb3dlZCBieSBNIGZvciBNaUIsIEcgZm9yIEdpQiwgVCBmb3IgVGlCLCBvciBTIGZvciBzZWN0b3JzLiIKK21zZ3N0ciAi0JzQvtC20L3QsCDQstC60LDQt9Cw0YLQuCDQvtC00LjQvdC40YbRjiwgTSDigJQg0JzRltCRLCBHIOKAlCDQk9GW0JEsIFQg4oCUINCi0ZbQkSwg0LDQsdC+IFMsINGP0LrRidC+INGA0L7Qt9C80ZbRgCDQstC60LDQt9Cw0L3QviDRgyDRgdC10LrRgtC+0YDQsNGFLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODUyCittc2dpZCAiUGxlYXNlLCBzcGVjaWZ5IHNpemUuIgorbXNnc3RyICLQkdGD0LTRjCDQu9Cw0YHQutCwLCDQstC60LDQttGW0YLRjCDRgNC+0LfQvNGW0YAuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWluaW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgItCc0LDQutGB0LjQvNCw0LvRjNC90LjQuSDRgNC+0LfQvNGW0YAg4oCUICVqdSDQsdCw0LnRgtGW0LIuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWF4aW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgItCc0LDQutGB0LjQvNCw0LvRjNC90LjQuSDRgNC+0LfQvNGW0YAg4oCUICVqdSDQsdCw0LnRgtGW0LIuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OTAKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2l6ZS4iCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDQt9C90LDRh9C10L3QvdGPINGA0L7Qt9C80ZbRgNGDLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQ4Cittc2dpZCAiU2VsZWN0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICLQktC40LHQtdGA0ZbRgtGMINGC0LjQvyDRgNC+0LfQtNGW0LvRgyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTk0IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAyNAorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWU6ICIKK21zZ3N0ciAi0JLQstC10LTRltGC0Ywg0L3QsNC30LLRgyDRhNCw0LnQu9CwINGB0LrRgNC40L/RgtGDOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk5NQorbXNnaWQgIlRoZSBzY3JpcHQgZmlsZSB3aWxsIGJlIGFwcGxpZWQgdG8gaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgItCk0LDQudC7INGB0LrRgNC40L/RgtGDINCx0YPQtNC1INC30LDRgdGC0L7RgdC+0LLQsNC90L4g0LTQviDRgtCw0LHQu9C40YbRliDRgNC+0LfQtNGW0LvRltCyINGDINC/0LDQvOKAmdGP0YLRliDQutC+0LzQv+KAmdGO0YLQtdGA0LAuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMDQgZGlzay11dGlscy9jZmRpc2suYzoyMDQ2CisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjUgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuICVzIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINCy0ZbQtNC60YDQuNGC0LggJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwNiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNjcmlwdCBmaWxlICVzIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0YTQsNC50Lsg0YHQutGA0LjQv9GC0YMgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwOCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCAlcyIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQt9Cw0YHRgtC+0YHRg9Cy0LDRgtC4INGB0LrRgNC40L/RgiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDI1Cittc2dpZCAiVGhlIGN1cnJlbnQgaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZSB3aWxsIGJlIGR1bXBlZCB0byB0aGUgZmlsZS4iCittc2dzdHIgItCU0LvRjyDQv9C+0YLQvtGH0L3QvtGXINGC0LDQsdC70LjRhtGWINGA0L7Qt9C00ZbQu9GW0LIg0YMg0L/QsNC84oCZ0Y/RgtGWINC60L7QvNC/4oCZ0Y7RgtC10YDQsCDQsdGD0LTQtSDRgdGC0LLQvtGA0LXQvdC+INC00LDQvNC/INGDINGE0LDQudC70ZYuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzMgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDkxCittc2dpZCAiRmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0L/QsNC84oCZ0Y/RgtGMINC/0ZbQtCDQvtCx0YDQvtCx0LrQuCDRgdC60YDQuNC/0YLRltCyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzkKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBkaXNrIGxheW91dCBpbnRvIHNjcmlwdC4iCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0L/RgNC+0YfQuNGC0LDRgtC4INC60L7QvNC/0L7QvdGD0LLQsNC90L3RjyDQtNC40YHQutCwINC00L4g0YHQutGA0LjQv9GC0YMuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNTMKK21zZ2lkICJEaXNrIGxheW91dCBzdWNjZXNzZnVsbHkgZHVtcGVkLiIKK21zZ3N0ciAi0JrQvtC80L/QvtC90YPQstCw0L3QvdGPINC00LjRgdC60LAg0YPRgdC/0ZbRiNC90L4g0L/QtdGA0LXQvdC10YHQtdC90L4g0LTQviDQtNCw0LzQv9GDLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDU2IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUwOQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgc2NyaXB0ICVzIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINC30LDQv9C40YHQsNGC0Lgg0YHQutGA0LjQv9GCICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwOTIKK21zZ2lkICJTZWxlY3QgbGFiZWwgdHlwZSIKK21zZ3N0ciAi0JLQuNCx0YDQsNGC0Lgg0YLQuNC/INC80ZbRgtC60LgiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA5NSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxNworbXNnaWQgIkRldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICLQn9GA0LjRgdGC0YDRltC5INC90LUg0LzRltGB0YLQuNGC0Ywg0YDQvtC30L/RltC30L3QsNC90L7RlyDRgtCw0LHQu9C40YbRliDRgNC+0LfQtNGW0LvRltCyLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTAxCittc2dpZCAiU2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgbGFiZWwgb3IgcHJlc3MgJ0wnIHRvIGxvYWQgc2NyaXB0IGZpbGUuIgorbXNnc3RyICLQktC40LHQtdGA0ZbRgtGMINGC0LjQvyDQtNC70Y8g0YHRgtCy0L7RgNC10L3QvdGPINC80ZbRgtC60Lgg0LDQsdC+INC90LDRgtC40YHQvdGW0YLRjCDQutC70LDQstGW0YjRgyDCq0zCuywg0YnQvtCxINC30LDQstCw0L3RgtCw0LbQuNGC0Lgg0YTQsNC50Lsg0YHQutGA0LjQv9GC0YMuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDYKK21zZ2lkICJUaGlzIGlzIGNmZGlzaywgYSBjdXJzZXMtYmFzZWQgZGlzayBwYXJ0aXRpb25pbmcgcHJvZ3JhbS4iCittc2dzdHIgItCm0LUgY2ZkaXNrIC0g0LrQvtC90YHQvtC70YzQvdCwINC/0YDQvtCz0YDQsNC80LAg0YDQvtCx0L7RgtC4INC3INGA0L7Qt9C00ZbQu9Cw0LzQuCDQvdCwINCx0LDQt9GWIGN1cnNlcy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE0NworbXNnaWQgIkl0IGxldHMgeW91IGNyZWF0ZSwgZGVsZXRlLCBhbmQgbW9kaWZ5IHBhcnRpdGlvbnMgb24gYSBibG9jayBkZXZpY2UuIgorbXNnc3RyICLQndCw0LTQsNGUINC30LzQvtCz0YMg0YHRgtCy0L7RgNGO0LLQsNGC0LgsINCy0LjQu9GD0YfQsNGC0Lgg0YLQsCDQt9C80ZbQvdGO0LLQsNGC0Lgg0YDQvtC30LTRltC70Lgg0L3QsCDQsdC70L7QutC+0LLQvtC80YMg0L/RgNC40YHRgtGA0L7Rly4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE0OQorbXNnaWQgIkNvbW1hbmQgICAgICBNZWFuaW5nIgorbXNnc3RyICLQmtC+0LzQsNC90LTQsCAgICAgINCf0YDQuNC30L3QsNGH0LXQvdC90Y8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MAorbXNnaWQgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorbXNnc3RyICItLS0tLS0tICAgICAgLS0tLS0tLS0tLS0iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MQorbXNnaWQgIiAgYiAgICAgICAgICBUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgYiAgICAgICAgICDQn9C10YDQtdC80LrQvdGD0YLQuCDQvtC30L3QsNC60YMg0LfQsNCy0LDQvdGC0LDQttC10L3QvdGPINC/0L7RgtC+0YfQvdC+0LPQviDRgNC+0LfQtNGW0LvRgyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUyCittc2dpZCAiICBkICAgICAgICAgIERlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgZCAgICAgICAgICDQktC40LTQsNC70LjRgtC4INC/0L7RgtC+0YfQvdC40Lkg0YDQvtC30LTRltC7IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTMKK21zZ2lkICIgIGggICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCittc2dzdHIgIiAgaCAgICAgICAgICDQktC40LLQtdGB0YLQuCDRhtGOINC00L7QstGW0LTQutGDIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTQKK21zZ2lkICIgIG4gICAgICAgICAgQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICIgIG4gICAgICAgICAg0KHRgtCy0L7RgNC40YLQuCDQvdC+0LLQuNC5INGA0L7Qt9C00ZbQuyDRgyDQstGW0LvRjNC90L7QvNGDINC/0YDQvtGB0YLQvtGA0ZYiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NQorbXNnaWQgIiAgcSAgICAgICAgICBRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICBxICAgICAgICAgINCS0LjQudGC0Lgg0Lcg0L/RgNC+0LPRgNCw0LzQuCDQsdC10Lcg0LfQsNC/0LjRgdGDINGC0LDQsdC70LjRhtGWINGA0L7Qt9C00ZbQu9GW0LIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NgorbXNnaWQgIiAgcyAgICAgICAgICBGaXggcGFydGl0aW9ucyBvcmRlciAob25seSB3aGVuIGluIGRpc2FycmF5KSIKK21zZ3N0ciAiICBzICAgICAgICAgINCS0LjQv9GA0LDQstC40YLQuCDQv9C+0YDRj9C00L7QuiDRgNC+0LfQtNGW0LvRltCyICjQu9C40YjQtSDQv9C+0LfQsCDQvNCw0YHQuNCy0L7QvCkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NworbXNnaWQgIiAgdCAgICAgICAgICBDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgIHQgICAgICAgICAg0JfQvNGW0L3QuNGC0Lgg0YLQuNC/INGA0L7Qt9C00ZbQu9GDIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTgKK21zZ2lkICIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiICB1ICAgICAgICAgINCh0YLQstC+0YDQuNGC0Lgg0LTQsNC80L8g0LrQvtC80L/QvtC90YPQstCw0L3QvdGPINC00LjRgdC60LAg0YMg0YHRg9C80ZbRgdC90L7QvNGDINC3IHNmZGlzayDRhNCw0LnQu9GWINGB0LrRgNC40L/RgtGDIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTkKK21zZ2lkICIgIFcgICAgICAgICAgV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHlvdSBtdXN0IGVudGVyIHVwcGVyY2FzZSBXKTsiCittc2dzdHIgIiAgVyAgICAgICAgICDQl9Cw0L/QuNGB0LDRgtC4INGC0LDQsdC70LjRhtGOINGA0L7Qt9C00ZbQu9GW0LIg0L3QsCDQtNC40YHQuiAo0YHQu9GW0LQg0LLQstC10YHRgtC4IFcg0YMg0LLQtdGA0YXQvdGM0L7QvNGDINGA0LXQs9GW0YHRgtGA0ZYpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjAKK21zZ2lkICIgICAgICAgICAgICAgICBzaW5jZSB0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSBvbiB0aGUgZGlzaywgeW91IG11c3QgZWl0aGVyIgorbXNnc3RyICIgICAgICAgICAgICAgICDQvtGB0LrRltC70YzQutC4INGG0LUg0LzQvtC20LUg0LfRgNGD0LnQvdGD0LLQsNGC0Lgg0LTQsNC90ZYg0L3QsCDQtNC40YHQutGDLCDQvdC10L7QsdGF0ZbQtNC90L4g0LDQsdC+IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjEKK21zZ2lkICIgICAgICAgICAgICAgICBjb25maXJtIG9yIGRlbnkgdGhlIHdyaXRlIGJ5IGVudGVyaW5nICd5ZXMnIG9yICdubyciCittc2dzdHIgIiAgICAgICAgICAgICAg0L/RltC00YLQstC10YDQtNC40YLQuCwg0LDQsdC+INCy0ZbQtNC80L7QstC40YLQuNGB0Ywg0LLRltC0INC30LDQv9C40YHRgyDQvdCw0LHRgNCw0LLRiNC4IMKreWVzwrsg0YfQuCDCq25vwrsiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MgorbXNnaWQgIiAgeCAgICAgICAgICBEaXNwbGF5L2hpZGUgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIiAgeCAgICAgICAgICDQstC40LLQtdGB0YLQuCDQsNCx0L4g0L/RgNC40YXQvtCy0LDRgtC4INC00L7QtNCw0YLQutC+0LLRgyDRltC90YTQvtGA0LzQsNGG0ZbRjiDRidC+0LTQviDRgNC+0LfQtNGW0LvRgyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYzCittc2dpZCAiVXAgQXJyb3cgICAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBwYXJ0aXRpb24iCittc2dzdHIgItCh0YLRgNGW0LvQutCw0JLQs9C+0YDRgyDQn9C10YDQtdC80ZbRgdGC0LjRgtC4INC60YPRgNGB0L7RgCDQvdCwINC/0L7Qv9C10YDQtdC00L3RjiDQv9C+0LfQuNGG0ZbRjiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY0Cittc2dpZCAiRG93biBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IHBhcnRpdGlvbiIKK21zZ3N0ciAi0KHRgtGA0ZbQu9C60LDQktC90LjQtyAg0J/QtdGA0LXQvNGW0YHRgtC40YLQuCDQutGD0YDRgdC+0YAg0YMg0L3QsNGB0YLRg9C/0L3RgyDQv9C+0LfQuNGG0ZbRjiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY1Cittc2dpZCAiTGVmdCBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBtZW51IGl0ZW0iCittc2dzdHIgItCh0YLRgNGW0LvQutCwINC70ZbQstC+0YDRg9GHINCf0LXRgNC10LzRltGB0YLQuNGC0Lgg0LrRg9GA0YHQvtGAINC90LAg0L/QvtC/0LXRgNC10LTQvdGW0Lkg0L/Rg9C90LrRgiDQvNC10L3RjiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY2Cittc2dpZCAiUmlnaHQgQXJyb3cgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IG1lbnUgaXRlbSIKK21zZ3N0ciAi0KHRgtGA0ZbQu9C60LAg0L/RgNCw0LLQvtGA0YPRhyAg0J/QtdGA0LXQvNGW0YHRgtC40YLQuCDQutGD0YDRgdC+0YAg0L3QsCDQvdCw0YHRgtGD0L/QvdC40Lkg0L/Rg9C90LrRgiDQvNC10L3RjiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY4Cittc2dpZCAiTm90ZTogQWxsIG9mIHRoZSBjb21tYW5kcyBjYW4gYmUgZW50ZXJlZCB3aXRoIGVpdGhlciB1cHBlciBvciBsb3dlciIKK21zZ3N0ciAi0JfQsNGD0LLQsNC20YLQtTog0JLRgdGWINC60L7QvNCw0L3QtNC4INCy0LLQvtC00Y/RgtGM0YHRjyDQsNCx0L4g0YMg0L3QuNC20L3RjNC+0LzRgyDQsNCx0L4g0YMg0LLQtdGA0YXQvdGM0L7QvNGDIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjkKK21zZ2lkICJjYXNlIGxldHRlcnMgKGV4Y2VwdCBmb3IgV3JpdGUpLiIKK21zZ3N0ciAi0YDQtdCz0ZbRgdGC0YDQsNGFICjQt9CwINCy0LjQvdGP0YLQutC+0LwgKFcp0LfQsNC/0LjRgdGDKS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3MQorbXNnaWQgIlVzZSBsc2Jsayg4KSBvciBwYXJ0eCg4KSB0byBzZWUgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBkZXZpY2UuIgorbXNnc3RyICLQlNC+0LrQu9Cw0LTQvdGW0YjQtSDQv9GA0L4g0L/RgNC40YHRgtGA0ZbQuSDQvNC+0LbQvdCwINC00ZbQt9C90LDRgtC40YHRjyDQt9CwINC00L7Qv9C+0LzQvtCz0L7RjiBsc2Jsayg4KSDQsNCx0L4gcGFydHgoOCkuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzggZGlzay11dGlscy9jZmRpc2suYzoyNDM3Cittc2dpZCAiUHJlc3MgYSBrZXkgdG8gY29udGludWUuIgorbXNnc3RyICLQndCw0YLQuNGB0L3RltGC0Ywg0LHRg9C00Ywt0Y/QutGDINC60LvQsNCy0ZbRiNGDINC00LvRjyDQv9GA0L7QtNC+0LLQttC10L3QvdGPLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjYwCittc2dpZCAiQ291bGQgbm90IHRvZ2dsZSB0aGUgZmxhZy4iCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0L/QtdGA0LXQvNC60L3Rg9GC0Lgg0L/RgNCw0L/QvtGA0LXRhtGMLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dS4iCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC70YPRh9C40YLQuCDRgNC+0LfQtNGW0LsgJXp1LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjcyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzMworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGhhcyBiZWVuIGRlbGV0ZWQuIgorbXNnc3RyICLQoNC+0LfQtNGW0LsgJXp1INCy0LjQu9GD0YfQtdC90L4uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyOTMKK21zZ2lkICJQYXJ0aXRpb24gc2l6ZTogIgorbXNnc3RyICLQoNC+0LfQvNGW0YAg0YDQvtC30LTRltC70YM6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAi0JfQvNGW0L3QtdC90L4g0YLQuNC/INGA0L7Qt9C00ZbQu9GDICV6dS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgdHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCittc2dzdHIgItCi0LjQvyDRgNC+0LfQtNGW0LvRgyAlenUg0LfQsNC70LjRiNC40LLRgdGPINC90LXQt9C80ZbQvdC90LjQvC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM1MyBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NjYgZGlzay11dGlscy9mZGlzay5jOjk5MQorIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTcwCittc2dpZCAiRGV2aWNlIGlzIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUuIgorbXNnc3RyICLQn9GA0LjRgdGC0YDRltC5INCy0ZbQtNC60YDQuNGC0L4g0YMg0YDQtdC20LjQvNGWINC70LjRiNC1INGH0LjRgtCw0L3QvdGPLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzU4Cittc2dpZCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHdyaXRlIHRoZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzaz8gIgorbXNnc3RyICLQktC4INCy0L/QtdCy0L3QtdC90ZYsINGJ0L4g0LHQsNC20LDRlNGC0LUg0LfQsNC/0LjRgdCw0YLQuCDRgtCw0LHQu9C40YbRjiDRgNC+0LfQtNGW0LvRltCyINC90LAg0LTQuNGB0Lo/IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjAKK21zZ2lkICJUeXBlIFwieWVzXCIgb3IgXCJub1wiLCBvciBwcmVzcyBFU0MgdG8gbGVhdmUgdGhpcyBkaWFsb2cuIgorbXNnc3RyICLQktCy0LXQtNGW0YLRjCDCq3llc8K7ICjRgtCw0LopINCw0LHQviDCq25vwrsgKNC90ZYpINCw0LHQviDQvdCw0YLQuNGB0L3RltGC0Ywg0LrQu9Cw0LLRltGI0YMgRVNDLCDRidC+0LEg0L/RgNC40L/QuNC90LjRgtC4INC00ZbQsNC70L7Qsy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM2NSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOSBzeXMtdXRpbHMvbHNjcHUuYzoxNTQwCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTUwCittc2dpZCAieWVzIgorbXNnc3RyICJ5ZXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM2NgorbXNnaWQgIkRpZCBub3Qgd3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2suIgorbXNnc3RyICLQndC1INC30LDQv9C40YHRg9Cy0LDRgtC4INGC0LDQsdC70LjRhtGOINGA0L7Qt9C00ZbQu9GW0LIg0L3QsCDQtNC40YHQui4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3MQorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwuIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINC30LDQv9C40YHQsNGC0Lgg0LzRltGC0LrRgyDQtNC40YHQutCwLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzc0IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU3OAorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgItCi0LDQsdC70LjRhtGOINGA0L7Qt9C00ZbQu9GW0LIg0LHRg9C70L4g0LfQvNGW0L3QtdC90L4uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzOTcgZGlzay11dGlscy9jZmRpc2suYzoyNDY4Cittc2dpZCAiTm90ZSB0aGF0IHBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlciBub3cuIgorbXNnc3RyICLQl9Cw0YPQstCw0LbRgtC1LCDRidC+INGC0LXQv9C10YAg0LLQuCDQsdCw0YfQuNGC0LUg0LfQsNC/0LjRgdC4INGC0LDQsdC70LjRhtGWINGA0L7Qt9C00ZbQu9GW0LIg0L3QtSDRgyDRgtC+0LzRgyDQv9C+0YDRj9C00LrRgywg0Y/QuiDQvdCwINC00LjRgdC60YMuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmU7IGl0IHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICLQn9GA0LjRgdGC0YDRltC5INCy0LbQtSDQvNGW0YHRgtC40YLRjCDQv9GW0LTQv9C40YEgJXM7INC50L7Qs9C+INCx0YPQtNC1INCy0LjQu9GD0YfQtdC90L4g0LrQvtC80LDQvdC00L7RjiDQt9Cw0L/QuNGB0YMuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDUKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGRpc2tsYWJlbCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDRgdGC0LLQvtGA0LjRgtC4INC90L7QstGDINC80ZbRgtC60YMg0LTQuNGB0LrQsCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDUzCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9ucyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQv9GA0L7Rh9C40YLQsNGC0Lgg0YDQvtC30LTRltC70LgiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJTEkcyBbb3B0aW9uc10gPGRpc2s+XG4iCittc2dzdHIgIiAlMSRzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIDzQtNC40YHQuj5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTQ5IGRpc2stdXRpbHMvZmRpc2suYzo3MzYgZGlzay11dGlscy9zZmRpc2suYzoxODEwCittc2dpZCAiRGlzcGxheSBvciBtYW5pcHVsYXRlIGEgZGlzayBwYXJ0aXRpb24gdGFibGUuXG4iCittc2dzdHIgItCf0L7QutCw0LfQsNGC0Lgg0LDQsdC+INC60LXRgNGD0LLQsNGC0Lgg0YLQsNCx0LvQuNGG0LXRjiDRgNC+0LfQtNGW0LvRltCyINC00LjRgdC60LAuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU1MgorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKyIgLUwsIC0tY29sb3JbPTzRg9C80L7QstCwPl0gICAg0YDQvtC30YTQsNGA0LHQvtCy0YPQstCw0L3QvdGPINCy0LjQstC10LTQtdC90LjRhSDQtNCw0L3QuNGFIChhdXRvICjQsNCy0YLQviksXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx3YXlzICjQt9Cw0LLQttC00LgpINCw0LHQviBuZXZlciAo0L3RltC60L7Qu9C4KSlcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTU1Cittc2dpZCAiIC16LCAtLXplcm8gICAgICAgICAgICAgICBzdGFydCB3aXRoIHplcm9lZCBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiIC16LCAtLXplcm8gICAgICAgICAgICAgINGA0L7Qt9C/0L7Rh9Cw0YLQuCDQtyDQt9Cw0L3Rg9C70LXQvdC+0Zcg0YLQsNCx0LvQuNGG0ZYg0YDQvtC30LTRltC70ZbQslxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1OTQgZGlzay11dGlscy9mZGlzay5jOjg4MiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzcKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzkwIHN5cy11dGlscy9kbWVzZy5jOjEzMzMgdGV4dC11dGlscy9oZXhkdW1wLmM6MTE0Cittc2dpZCAidW5zdXBwb3J0ZWQgY29sb3IgbW9kZSIKK21zZ3N0ciAi0L3QtdC/0ZbQtNGC0YDQuNC80YPQstCw0L3QuNC5INGA0LXQttC40Lwg0YDQvtC30YTQsNGA0LHQvtCy0YPQstCw0L3QvdGPIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MTIgZGlzay11dGlscy9mZGlzay5jOjgxOCBkaXNrLXV0aWxzL3NmZGlzay5jOjIyMworbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINGA0L7Qt9C80ZbRgdGC0LjRgtC4INC60L7QvdGC0LXQutGB0YLQvdGWINC00LDQvdGWIGxpYmZkaXNrIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj5cbiIKK21zZ3N0ciAiICVzIDzQtNC40YHQutC+0LLQuNC5INC/0YDQuNGB0YLRgNGW0Lk+IDzQvdC+0LzQtdGAINGA0L7Qt9C00ZbQu9GDPlxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxOAorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCB0byBmb3JnZXQgYWJvdXQgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICLQn9C+0LLRltC00L7QvNC40YLQuCDRj9C00YDRgyDQv9GA0L4g0YLQtSwg0YnQviDRgdC70ZbQtCDQt9Cw0LHRg9GC0Lgg0L/RgNC+INCy0LrQsNC30LDQvdC40Lkg0YDQvtC30LTRltC7LlxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MQorbXNnaWQgImZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0LjQu9GD0YfQuNGC0Lgg0YDQvtC30LTRltC7IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9ybWF0dGluZyAuLi4gIgorbXNnc3RyICLQpNC+0YDQvNCw0YLRg9Cy0LDQvdC90Y8gLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjY4IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG9uZVxuIgorbXNnc3RyICLQstC40LrQvtC90LDQvdC+XG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJWZXJpZnlpbmcgLi4uICIKK21zZ3N0ciAi0J/QtdGA0LXQstGW0YDQutCwIC4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMDgKK21zZ2lkICJSZWFkOiAiCittc2dzdHIgItCn0LjRgtCw0L3QvdGPOiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJvYmxlbSByZWFkaW5nIHRyYWNrL2hlYWQgJXUvJXUsIGV4cGVjdGVkICVkLCByZWFkICVkXG4iCittc2dzdHIgItCf0L7QvNC40LvQutCwINC30YfQuNGC0YPQstCw0L3QvdGPINC00L7RgNGW0LbQutC4L9Cz0L7Qu9GW0LLQutC4ICV1LyV1LCDQvtGH0ZbQutGD0LLQsNC70L7RgdGMICVkLCDQv9GA0L7Rh9C40YLQsNC90L4gJWRcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYmFkIGRhdGEgaW4gdHJhY2svaGVhZCAldS8ldVxuIgorIkNvbnRpbnVpbmcgLi4uICIKK21zZ3N0ciAiIgorItC/0L7QvNC40LvQutC+0LLRliDQtNCw0L3RliDQvdCwINC00L7RgNGW0LbRhtGWL9Cz0L7Qu9GW0LLRhtGWICV1LyV1XG4iCisi0J/RgNC+0LTQvtCy0LbRg9GU0LzQvi4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTgyCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjExNyBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1NiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg0CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gPNC/0YDQuNGB0YLRgNGW0Lk+XG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDgKK21zZ2lkICJEbyBhIGxvdy1sZXZlbCBmb3JtYXR0aW5nIG9mIGEgZmxvcHB5IGRpc2suXG4iCittc2dzdHIgItCS0LjQutC+0L3QsNGC0Lgg0L3QuNC30YzQutC+0YDRltCy0L3QtdCy0LUg0YTQvtGA0LzQsNGC0YPQstCw0L3QvdGPINC00LjRgdC60LXRgtC4LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUxCittc2dpZCAiIC1mLCAtLWZyb20gPE4+ICAgIHN0YXJ0IGF0IHRoZSB0cmFjayBOIChkZWZhdWx0IDApXG4iCittc2dzdHIgIiAtZiwgLS1mcm9tIDxOPiAgICDQv9C+0YfQsNGC0Lgg0L3QsCDQtNC+0YDRltC20YbRliBOICjRgtC40L/QvtCy0L4gMClcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MgorbXNnaWQgIiAtdCwgLS10byA8Tj4gICAgICBzdG9wIGF0IHRoZSB0cmFjayBOXG4iCittc2dzdHIgIiAtdCwgLS10byA8Tj4gICAgICDQt9GD0L/QuNC90LjRgtC40YHRjyDQvdCwINC00L7RgNGW0LbRhtGWIE5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MworbXNnaWQgIiIKKyIgLXIsIC0tcmVwYWlyIDxOPiAgdHJ5IHRvIHJlcGFpciB0cmFja3MgZmFpbGVkIGR1cmluZ1xuIgorIiAgICAgICAgICAgICAgICAgICAgIHRoZSB2ZXJpZmljYXRpb24gKG1heCBOIHJldHJpZXMpXG4iCittc2dzdHIgIiIKKyIgLXIsIC0tcmVwYWlyIDxOPiAg0YHQv9GA0L7QsdGD0LLQsNGC0Lgg0LLQuNC/0YDQsNCy0LjRgtC4INC00L7RgNGW0LbQutC4INC3INC/0L7QvNC40LvQutCw0LzQuCxcbiIKKyIgICAgICAgICAgICAgICAgICAgICDQstC40Y/QstC70LXQvdGWINC/0ZbQtCDRh9Cw0YEg0L/QtdGA0LXQstGW0YDQutC4ICjQtNC+IE4g0L/QvtCy0YLQvtGA0ZbQsilcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1NQorbXNnaWQgIiAtbiwgLS1uby12ZXJpZnkgICBkaXNhYmxlIHRoZSB2ZXJpZmljYXRpb24gYWZ0ZXIgdGhlIGZvcm1hdFxuIgorbXNnc3RyICIgLW4sIC0tbm8tdmVyaWZ5ICAg0LLQuNC80LrQvdGD0YLQuCDQv9C10YDQtdCy0ZbRgNC60YMg0L/RltGB0LvRjyDRhNC+0YDQvNCw0YLRg9Cy0LDQvdC90Y9cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5NAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSBmcm9tIgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIgLSBmcm9tIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk4Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHRvIgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIgLSB0byIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIwMQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSByZXBhaXIiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiAtIHJlcGFpciIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyMSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTUxCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg1IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMzgKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4NQorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE2IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQxIGRpc2stdXRpbHMvcGFydHguYzo5MzMKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo2ODYgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzkgbWlzYy11dGlscy9uYW1laS5jOjEzNQorIzogbWlzYy11dGlscy9yZW5hbWUuYzo2MyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4NiBzeXMtdXRpbHMvZG1lc2cuYzo1MjQKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxOTggc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTMxIHN5cy11dGlscy9mc3RyaW0uYzo3NworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjUxOSBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo5MworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTMzIHRlcm0tdXRpbHMvbWVzZy5jOjEyOSB0ZXh0LXV0aWxzL21vcmUuYzo1MDQKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxMDMgdGV4dC11dGlscy90YWlsZi5jOjI4MAorIywgYy1mb3JtYXQKK21zZ2lkICJzdGF0IG9mICVzIGZhaWxlZCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INGB0YLQsNGC0LjRgdGC0LjRh9C90ZYg0LTQsNC90ZYgJXMiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjQgZGlzay11dGlscy9wYXJ0eC5jOjk5MSBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ4NQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODggc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXM6INC90LUg0ZQg0LHQu9C+0LrQvtCy0LjQvCDQv9GA0LjRgdGC0YDQvtGU0LwiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjkKK21zZ2lkICJjb3VsZCBub3QgZGV0ZXJtaW5lIGN1cnJlbnQgZm9ybWF0IHR5cGUiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC30L3QsNGH0LjRgtC4INC/0L7RgtC+0YfQvdC40Lkg0YLQuNC/INGE0L7RgNC80LDRgtGDIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzLXNpZGVkLCAlZCB0cmFja3MsICVkIHNlYy90cmFjay4gVG90YWwgY2FwYWNpdHkgJWQga0IuXG4iCittc2dzdHIgIiVzLdGB0YLQvtGA0L7QvdC4LCAlZCDQtNC+0YDRltC20L7QuiwgJWQg0YHQtdC60YIv0LTQvtGA0ZbQttC60YMuINCX0LDQs9Cw0LvRjNC90LjQuSDQvtCxJ9GU0LwgJWQg0LrQsS5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMgorbXNnaWQgIkRvdWJsZSIKK21zZ3N0ciAi0JTQstGWIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMyCittc2dpZCAiU2luZ2xlIgorbXNnc3RyICLQntC00L3QsCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzOQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAi0LLQuNC30L3QsNGH0LXQvdCwINC60L7RgNC40YHRgtGD0LLQsNGH0LXQvCDQv9C+0YfQsNGC0LrQvtCy0LAg0LTQvtGA0ZbQttC60LAg0L/QtdGA0LXQsdGD0LLQsNGUINC30LAg0LzQtdC20LDQvNC4INC80LDQutGB0LjQvNCw0LvRjNC90L7RlyDQvNC+0LbQu9C40LLQvtGXINC00LvRjyDQstGW0LTQv9C+0LLRltC00L3QvtCz0L4g0L3QvtGB0ZbRjyDQtNCw0L3QuNGFIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQxCittc2dpZCAidXNlciBkZWZpbmVkIGVuZCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAi0LLQuNC30L3QsNGH0LXQvdCwINC60L7RgNC40YHRgtGD0LLQsNGH0LXQvCDQutGW0L3RhtC10LLQsCDQtNC+0YDRltC20LrQsCDQv9C10YDQtdCx0YPQstCw0ZQg0LfQsCDQvNC10LbQsNC80Lgg0LzQsNC60YHQuNC80LDQu9GM0L3QvtGXINC80L7QttC70LjQstC+0Zcg0LTQu9GPINCy0ZbQtNC/0L7QstGW0LTQvdC+0LPQviDQvdC+0YHRltGPINC00LDQvdC40YUiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDMKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgdXNlciBkZWZpbmVkIGVuZCB0cmFjayIKK21zZ3N0ciAi0LLQuNC30L3QsNGH0LXQvdCwINC60L7RgNC40YHRgtGD0LLQsNGH0LXQvCDQv9C+0YfQsNGC0LrQvtCy0LAg0LTQvtGA0ZbQttC60LAg0L/QtdGA0LXQsdGD0LLQsNGUINC30LAg0LzQtdC20LDQvNC4INCy0LjQt9C90LDRh9C10L3QvtGXINC60L7RgNC40YHRgtGD0LLQsNGH0LXQvCDQutGW0L3RhtC10LLQvtGXINC00L7RgNGW0LbQutC4IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjUxIG1pc2MtdXRpbHMvbG9nZ2VyLmM6OTg3Cittc2dpZCAiY2xvc2UgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDQt9Cw0LrRgNC40YLRgtGPIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTUgZGlzay11dGlscy9mZGlzay5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRG8geW91IHJlYWxseSB3YW50IHRvIHF1aXQ/ICIKK21zZ3N0ciAiIgorIlxuIgorItCS0Lgg0YHQv9GA0LDQstC00ZYg0YXQvtGH0LXRgtC1INCy0LjQudGC0Lg/ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjE1OAorIywgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3QgKGRlZmF1bHQgJWMpOiAiCittc2dzdHIgItCS0LjQsdGW0YAgKNGC0LjQv9C+0LLQviAlYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjE2MworIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyBkZWZhdWx0IHJlc3BvbnNlICVjLiIKK21zZ3N0ciAi0JLQuNC60L7RgNC40YHRgtC+0LLRg9GU0LzQviDRgtC40L/QvtCy0YMg0LLRltC00L/QvtCy0ZbQtNGMLCAlYy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxNzYgZGlzay11dGlscy9mZGlzay5jOjI1MCBkaXNrLXV0aWxzL2ZkaXNrLmM6MzI1CisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTE4OSBsaWJmZGlzay9zcmMvZ3B0LmM6MjI3NworbXNnaWQgIlZhbHVlIG91dCBvZiByYW5nZS4iCittc2dzdHIgItCX0L3QsNGH0LXQvdC90Y8g0L/QvtC30LAg0L/RgNC40L/Rg9GB0YLQuNC80LjQvCDQtNGW0LDQv9Cw0LfQvtC90L7QvC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJXMsINGC0LjQv9C+0LLQviAlYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwOCBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglcywg0YLQuNC/0L7QstC+ICU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglYy0lYywg0YLQuNC/0L7QstC+ICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjE3IGRpc2stdXRpbHMvZmRpc2suYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Piwg0YLQuNC/0L7QstC+ICU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMpOiAiCittc2dzdHIgIiVzICglYy0lYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMyBkaXNrLXV0aWxzL2ZkaXNrLmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjM5MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NworbXNnaWQgIiBbWV1lcy9bTl1vOiAiCittc2dzdHIgIiBbWV1lcyAo0KLQsNC6KS9bTl1vICjQndGWKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDMzCittc2dpZCAiUGFydGl0aW9uIHR5cGUgKHR5cGUgTCB0byBsaXN0IGFsbCB0eXBlcyk6ICIKK21zZ3N0ciAi0KLQuNC/INGA0L7Qt9C00ZbQu9GDICjQstCy0LXQtNGW0YLRjCBMLCDRidC+0LEg0L/QtdGA0LXQs9C70Y/QvdGD0YLQuCDRgdC/0LjRgdC+0Log0YLQuNC/0ZbQsik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQzNAorbXNnaWQgIkhleCBjb2RlICh0eXBlIEwgdG8gbGlzdCBhbGwgY29kZXMpOiAiCittc2dzdHIgItCo0ZbRgdGC0L3QsNC00YbRj9GC0LrQvtCy0LjQuSDQutC+0LQgKNC90LDQsdC10YDRltGC0YwgTCwg0YnQvtCxINC/0LXRgNC10LPQu9GP0L3Rg9GC0Lgg0YHQv9C40YHQvtC6INC60L7QtNGW0LIpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1MzYKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIHNldCAoREVQUkVDQVRFRCEpIgorbXNnc3RyICLQktGB0YLQsNC90L7QstC70LXQvdC+INC/0YDQsNC/0L7RgNC10YbRjCDRgdGD0LzRltGB0L3QvtGB0YLRliDQtyBET1MgKNCX0JDQodCi0JDQoNCG0JvQlSEpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTM3Cittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBub3Qgc2V0IgorbXNnc3RyICLQn9GA0LDQv9C+0YDQtdGG0Ywg0YHRg9C80ZbRgdC90L7RgdGC0ZYg0LcgRE9TINC90LUg0LLRgdGC0LDQvdC+0LLQu9C10L3QviIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU1OCBkaXNrLXV0aWxzL2ZkaXNrLmM6NTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3QgZXhpc3QgeWV0ISIKK21zZ3N0ciAi0KDQvtC30LTRltC70YMgJXp1INGJ0LUg0L3QtSDRltGB0L3Rg9GUISIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU2MyBkaXNrLXV0aWxzL2ZkaXNrLmM6NTcyIGxpYmZkaXNrL3NyYy9hc2suYzo5OTUKK21zZ2lkICJVbmtub3duIgorbXNnc3RyICLQndC10LLRltC00L7QvNC40LkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAnJXMnIHRvICclcycuIgorbXNnc3RyICLQotC40L8g0YDQvtC30LTRltC70YMgwqslc8K7INC30LzRltC90LXQvdC+INC90LAgwqslc8K7LiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU3NQorIywgYy1mb3JtYXQKK21zZ2lkICJUeXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkOiAlcy4iCittc2dzdHIgItCi0LjQvyDRgNC+0LfQtNGW0LvRgyAlenUg0LfQsNC70LjRiNC40LLRgdGPINC90LXQt9C80ZbQvdC90LjQvDogJXMuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiUxNXM6ICVzIgorbXNnc3RyICIlMTVzOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXM6IG9mZnNldCA9ICU8UFJJdTY0Piwgc2l6ZSA9ICV6dSBieXRlcy4iCittc2dzdHIgIiIKKyJcbiIKKyIlczog0LfRgdGD0LIgPSAlPFBSSXU2ND4sINGA0L7Qt9C80ZbRgCA9ICV6dSDQsdCw0LnRgtGW0LIuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Njc3Cittc2dpZCAiY2Fubm90IHNlZWsiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC60L7QvdCw0YLQuCDQv9C+0LfQuNGG0ZbRjtCy0LDQvdC90Y8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2ODIKK21zZ2lkICJjYW5ub3QgcmVhZCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstC40LrQvtC90LDRgtC4INGH0LjRgtCw0L3QvdGPIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Njk1IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTkgbGliZmRpc2svc3JjL2Rvcy5jOjkzMworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMTAKK21zZ2lkICJGaXJzdCBzZWN0b3IiCittc2dzdHIgItCf0LXRgNGI0LjQuSDRgdC10LrRgtC+0YAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMiCittc2dzdHIgItC/0L7QvNC40LvQutCwIGlvY3RsIEJMS0dFVFNJWkUg0L3QsCAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICAgIGNoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyIgJTEkcyBbb3B0aW9uc10gLWwgWzxkaXNrPl0gbGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIDzQtNC40YHQuj4gICAgICDQt9C80ZbQvdC40YLQuCDRgtCw0LHQu9C40YbRjiDRgNC+0LfQtNGW0LvRltCyXG4iCisiICUxJHMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gLWwgWzzQtNC40YHQuj5dINC/0L7QutCw0LfQsNGC0Lgg0YHQv9C40YHQvtC6INGC0LDQsdC70LjRhtGMINGA0L7Qt9C00ZbQu9GW0LJcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjczOQorbXNnaWQgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8c2l6ZT4gICAgICBwaHlzaWNhbCBhbmQgbG9naWNhbCBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgLWIsIC0tc2VjdG9yLXNpemUgPNGA0L7Qt9C80ZbRgD4gICAgINGA0L7Qt9C80ZbRgCDRhNGW0LfQuNGH0L3QvtCz0L4g0ZYg0LvQvtCz0ZbRh9C90L7Qs9C+INGB0LXQutGC0L7RgNGW0LJcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MAorbXNnaWQgIiAtQiwgLS1wcm90ZWN0LWJvb3QgICAgICAgICAgICBkb24ndCBlcmFzZSBib290Yml0cyB3aGVuIGNyZWF0aW5nIGEgbmV3IGxhYmVsXG4iCittc2dzdHIgIiAtQiwgLS1wcm90ZWN0LWJvb3QgICAgICAgICAgICDQvdC1INCy0LjRgtC40YDQsNGC0Lgg0LHRltGC0Lgg0LfQsNCy0LDQvdGC0LDQttC10L3QvdGPINC/0ZbQtCDRh9Cw0YEg0YHRgtCy0L7RgNC10L3QvdGPINC90L7QstC+0Zcg0LzRltGC0LrQuFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQxCittc2dpZCAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2RlPl0gIG1vZGUgaXMgJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYywgLS1jb21wYXRpYmlsaXR5Wz080YDQtdC20LjQvD5dINGA0LXQttC40Lwg0YHRg9C80ZbRgdC90L7RgdGC0ZY6IMKrZG9zwrsg0LDQsdC+IMKrbm9uZG9zwrsgKNGC0LjQv9C+0LLQuNC5KVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQyCittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIiCisiIC1MLCAtLWNvbG9yWz080YPQvNC+0LLQsD5dICAgICAgICAg0YDQvtC30YTQsNGA0LHQvtCy0YPQstCw0L3QvdGPINCy0LjQstC10LTQtdC90LjRhSDQtNCw0L3QuNGFIChhdXRvICjQsNCy0YLQviksXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx3YXlzICjQt9Cw0LLQttC00LgpINCw0LHQviBuZXZlciAo0L3RltC60L7Qu9C4KSlcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0NQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHBhcnRpdGlvbnMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INGB0L/QuNGB0L7QuiDRgNC+0LfQtNGW0LvRltCyINGWINC30LDQstC10YDRiNC40YLQuCDRgNC+0LHQvtGC0YNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0NgorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgICAgICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDzRgdC/0LjRgdC+0Lo+ICAgICAgICAg0YHRgtC+0LLQv9GH0LjQutC4INCy0LjQstC10LTQtdC90LjRhSDQtNCw0L3QuNGFXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDcKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgICAgICAgICAgcmVjb2duaXplIHNwZWNpZmllZCBwYXJ0aXRpb24gdGFibGUgdHlwZSBvbmx5XG4iCittc2dzdHIgIiAtdCwgLS10eXBlIDzRgtC40L8+ICAgICAgICAgICAgICDRgNC+0LfQv9GW0LfQvdCw0LLQsNGC0Lgg0LvQuNGI0LUg0LLQutCw0LfQsNC90LjQuSDRgtC40L8g0YLQsNCx0LvQuNGG0ZYg0YDQvtC30LTRltC70ZbQslxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ4Cittc2dpZCAiIC11LCAtLXVuaXRzWz08dW5pdD5dICAgICAgICAgIGRpc3BsYXkgdW5pdHM6ICdjeWxpbmRlcnMnIG9yICdzZWN0b3JzJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC11LCAtLXVuaXRzWz080L7QtNC40L3QuNGG0Y8+XSAgICAgICDQvtC00LjQvdC40YbRliDQv9C+0LrQsNC30YMg0LTQsNC90LjRhTogwqtjeWxpbmRlcnPCuyAo0YbQuNC70ZbQvdC00YDQuCkg0LDQsdC+IMKrc2VjdG9yc8K7ICjRgdC10LrRgtC+0YDQuCwg0YLQuNC/0L7QstCwKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ5Cittc2dpZCAiIC1zLCAtLWdldHN6ICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgZGV2aWNlIHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9ycyBbREVQUkVDQVRFRF1cbiIKK21zZ3N0ciAiIC1zLCAtLWdldHN6ICAgICAgICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INGA0L7Qt9C80ZbRgCDQv9GA0LjRgdGC0YDQvtGOINGDIDUxMi3QsdCw0LnRgtC+0LLQuNGFINGB0LXQutGC0L7RgNCw0YUgW9CX0JDQodCi0JDQoNCG0JvQmNCZXVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzUwCittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDQoNCe0JfQnNCG0KAg0YMg0LHQsNC50YLQsNGFLCDQsCDQvdC1INGDINC30YDRg9GH0L3QvtC80YMg0LTQu9GPINGH0LjRgtCw0L3QvdGPINGE0L7RgNC80LDRgtGWXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTEKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtdywgLS13aXBlIDzRgNC10LbQuNC8PiAgICAgICAgICAgINGA0LXQttC40Lwg0LLQuNGC0LjRgNCw0L3QvdGPINC/0ZbQtNC/0LjRgdGW0LIgKGF1dG8gKNCw0LLRgtC+KSwgYWx3YXlzICjQt9Cw0LLQttC00LgpINCw0LHQviBuZXZlciAo0L3RltC60L7Qu9C4KSlcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTMKK21zZ2lkICIgLVcsIC0td2lwZS1wYXJ0aXRpb25zIDxtb2RlPiAgd2lwZSBzaWduYXR1cmVzIGZyb20gbmV3IHBhcnRpdGlvbnMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC13LCAtLXdpcGUtcGFydGl0aW9ucyA80YDQtdC20LjQvD4g0YDQtdC20LjQvCDQstC40YLQuNGA0LDQvdC90Y8g0L/RltC00L/QuNGB0ZbQsiDQtyDQvdC+0LLQuNGFINGA0L7Qt9C00ZbQu9GW0LIgKGF1dG8gKNCw0LLRgtC+KSwgYWx3YXlzICjQt9Cw0LLQttC00LgpINCw0LHQviBuZXZlciAo0L3RltC60L7Qu9C4KSlcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1NQorbXNnaWQgIiAtQywgLS1jeWxpbmRlcnMgPG51bWJlcj4gICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzXG4iCittc2dzdHIgIiAtQywgLS1jeWxpbmRlcnMgIDzQutGW0LvRjNC60ZbRgdGC0Yw+ICDQstC60LDQt9Cw0YLQuCDQutGW0LvRjNC60ZbRgdGC0Ywg0YbQuNC70ZbQvdC00YDRltCyXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTYKK21zZ2lkICIgLUgsIC0taGVhZHMgPG51bWJlcj4gICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGhlYWRzXG4iCittc2dzdHIgIiAtSCwgLS1oZWFkcyA80LrRltC70YzQutGW0YHRgtGMPiAgICAgICDQstC60LDQt9Cw0YLQuCDQutGW0LvRjNC60ZbRgdGC0Ywg0LPQvtC70ZbQstC+0LpcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1NworbXNnaWQgIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKK21zZ3N0ciAiIC1TLCAtLXNlY3RvcnMgPNC60ZbQu9GM0LrRltGB0YLRjD4gICAgINCy0LrQsNC30LDRgtC4INC60ZbQu9GM0LrRltGB0YLRjCDRgdC10LrRgtC+0YDRltCyINC90LAg0LTQvtGA0ZbQttC60YNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOAorbXNnaWQgImludmFsaWQgc2VjdG9yIHNpemUgYXJndW1lbnQiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDRgNC+0LfQvNGW0YDRgyDRgdC10LrRgtC+0YDQsCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg0MAorbXNnaWQgImludmFsaWQgY3lsaW5kZXJzIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0LrRltC70YzQutC+0YHRgtGWINGG0LjQu9GW0L3QtNGA0ZbQsiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg1MgorbXNnaWQgIm5vdCBmb3VuZCBET1MgbGFiZWwgZHJpdmVyIgorbXNnc3RyICLQvdC1INC30L3QsNC50LTQtdC90L4g0LTRgNCw0LnQstC10YDQsCDQvNGW0YLQvtC6IERPUyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg1OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbXBhdGliaWxpdHkgbW9kZSAnJXMnIgorbXNnc3RyICLQvdC10LLRltC00L7QvNC40Lkg0YDQtdC20LjQvCDRgdGD0LzRltGB0L3QvtGB0YLRliwgwqslc8K7IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODY3Cittc2dpZCAiaW52YWxpZCBoZWFkcyBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQsNGA0LPRg9C80LXQvdGCINC60ZbQu9GM0LrQvtGB0YLRliDQs9C+0LvRltCy0L7QuiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg3MworbXNnaWQgImludmFsaWQgc2VjdG9ycyBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQsNGA0LPRg9C80LXQvdGCINC60ZbQu9GM0LrQvtGB0YLRliDRgdC10LrRgtC+0YDRltCyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODk5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2tsYWJlbDogJXMiCittc2dzdHIgItC90LXQv9GW0LTRgtGA0LjQvNGD0LLQsNC90LAg0LzRltGC0LrQsCDQtNC40YHQutCwOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkxNiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTIxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0MQorIzogZGlzay11dGlscy9zZmRpc2suYzoyMDQ2Cittc2dpZCAidW5zdXBwb3J0ZWQgd2lwZSBtb2RlIgorbXNnc3RyICLQvdC10L/RltC00YLRgNC40LzRg9Cy0LDQvdC40Lkg0YDQtdC20LjQvCDQstC40YLQuNGA0LDQvdC90Y8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MzQKK21zZ2lkICJUaGUgZGV2aWNlIHByb3BlcnRpZXMgKHNlY3RvciBzaXplIGFuZCBnZW9tZXRyeSkgc2hvdWxkIGJlIHVzZWQgd2l0aCBvbmUgc3BlY2lmaWVkIGRldmljZSBvbmx5LiIKK21zZ3N0ciAi0JLQu9Cw0YHRgtC40LLQvtGB0YLRliDQv9GA0LjRgdGC0YDQvtGOICjRgNC+0LfQvNGW0YAg0YHQtdC60YLQvtGA0LAg0YLQsCDQs9C10L7QvNC10YLRgNGW0Y4pINGB0LvRltC0INCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQu9C40YjQtSDQtNC70Y8g0L7QtNC90L7Qs9C+INCy0LrQsNC30LDQvdC+0LPQviDQv9GA0LjRgdGC0YDQvtGOLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk4MgorIywgYy1mb3JtYXQKK21zZ2lkICJXZWxjb21lIHRvIGZkaXNrICglcykuIgorbXNnc3RyICLQktGW0YLQsNGU0LzQviDRgyBmZGlzayAoJXMpLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk4NCBkaXNrLXV0aWxzL3NmZGlzay5jOjE1ODgKK21zZ2lkICIiCisiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorIkJlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLlxuIgorbXNnc3RyICIiCisi0JfQvNGW0L3QuCDQsdGD0LTQtSDQt9Cx0LXRgNC10LbQtdC90L4g0YMg0L/QsNC8J9GP0YLRliwg0LTQvtC60Lgg0LLQuCDQvdC1INCy0LjRgNGW0YjQuNGC0LUg0LfQsNC/0LjRgdCw0YLQuCDRl9GFLlxuIgorItCR0YPQtNGM0YLQtSDQvtCx0LXRgNC10LbQvdGWINC3INCy0LjQutC+0YDQuNGB0YLQsNC90L3Rj9C8INC60L7QvNCw0L3QtNC4INC30LDQv9C40YHRgy5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMDEgZGlzay11dGlscy9zZmRpc2suYzoxNjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAlcyBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAi0J/RgNC40YHRgtGA0ZbQuSAlcyDQstC20LUg0LzRltGB0YLQuNGC0Ywg0L/RltC00L/QuNGBICVzLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMTAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTQyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ4NAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNjIyCittc2dpZCAiVGhlIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAi0J/RltC00L/QuNGBINCx0YPQtNC1INCy0LjQu9GD0YfQtdC90L4g0LrQvtC80LDQvdC00L7RjiDQt9Cw0L/QuNGB0YMuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxMyBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjUKK21zZ2lkICJJdCBpcyBzdHJvbmdseSByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSBkZXZpY2Ugd2l0aCB3aXBlZnMoOCksIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICLQndCw0L/QvtC70LXQs9C70LjQstC+INGA0LXQutC+0LzQtdC90LTRg9GU0LzQviDQstC40YLQtdGA0YLQuCDQv9GA0LjRgdGC0YDRltC5INC30LAg0LTQvtC/0L7QvNC+0LPQvtGOIHdpcGVmcyg4KSwg0YnQvtCxINGD0L3QuNC60L3Rg9GC0Lgg0LzQvtC20LvQuNCy0LjRhSDQutC+0L3RhNC70ZbQutGC0ZbQsi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDIyCittc2dpZCAiQSBoeWJyaWQgR1BUIHdhcyBkZXRlY3RlZC4gWW91IGhhdmUgdG8gc3luYyB0aGUgaHlicmlkIE1CUiBtYW51YWxseSAoZXhwZXJ0IGNvbW1hbmQgJ00nKS4iCittc2dzdHIgItCS0LjRj9Cy0LvQtdC90L4g0LPRltCx0YDQuNC00L3QuNC5IEdQVC4g0JLQsNC8INC00L7QstC10LTQtdGC0YzRgdGPINGB0LjQvdGF0YDQvtC90ZbQt9GD0LLQsNGC0Lgg0LPRltCx0YDQuNC00L3QuNC5IE1CUiDQstGA0YPRh9C90YMgKNC00L7QtNCw0YLQutC+0LLQuNC5INGA0LXQttC40LwgwqtNwrspLiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgItCU0LjRgdC6ICVzOiAlcywgJWp1INCx0LDQudGC0ZbQsiwgJWp1INGB0LXQutGC0L7RgNGW0LIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlb21ldHJ5OiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzL3RyYWNrLCAlbGx1IGN5bGluZGVycyIKK21zZ3N0ciAi0JPQtdC+0LzQtdGC0YDRltGPOiAlZCDQs9C+0LvRltCy0L7QuiwgJWxsdSDRgdC10LrRgtC+0YDRltCyL9C00L7RgNGW0LbQutGDLCAlbGx1INGG0LjQu9GW0L3QtNGA0ZbQsiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NTkgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuaXRzOiAlcyBvZiAlZCAqICVsZCA9ICVsZCBieXRlcyIKK21zZ3N0ciAi0J7QtNC40L3QuNGG0ZY6ICVzINC3ICVkICogJWxkID0gJWxkINCx0LDQudGC0ZbQsiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjUgZGlzay11dGlscy9mZGlzay1saXN0LmM6Mjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorbXNnc3RyICLQoNC+0LfQvNGW0YAg0YHQtdC60YLQvtGA0LAgKNC70L7Qs9GW0YfQvdC+0LPQvi/RhNGW0LfQuNGH0L3QvtCz0L4pOiAlbHUg0LHQsNC50YLRltCyIC8gJWx1INCx0LDQudGC0ZbQsiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAi0KDQvtC30LzRltGAINCy0LLQtdC00LXQvdC90Y8t0LLQuNCy0LXQtNC10L3QvdGPICjQvNGW0L3RltC80LDQu9GM0L3QuNC5L9C+0L/RgtC40LzQsNC70YzQvdC40LkpOiAlbHUg0LHQsNC50YLRltCyIC8gJWx1INCx0LDQudGC0ZbQsiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25tZW50IG9mZnNldDogJWx1IGJ5dGVzIgorbXNnc3RyICLQktGW0LTRgdGC0YPQvyDQstC40YDRltCy0L3RjtCy0LDQvdC90Y86ICVsdSDQsdCw0LnRgtGW0LIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB0eXBlOiAlcyIKK21zZ3N0ciAi0KLQuNC/INC80ZbRgtC60Lgg0LTQuNGB0LrQsDogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllcjogJXMiCittc2dzdHIgItCG0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAINC00LjRgdC60LA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMDkgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjE5CisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjQ0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINGA0L7Qt9C/0L7QtNGW0LvQuNGC0Lgg0ZbRgtC10YDQsNGC0L7RgCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTE1IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyNQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0YDQvtC30YLQsNGI0YPQstCw0YLQuCDRgyDQv9Cw0LzigJnRj9GC0ZYg0YLQsNCx0LvQuNGG0Y4g0LLQuNCy0LXQtNC10L3QvdGPIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxNTYgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjQ5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBsaW5lIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINGA0L7Qt9GC0LDRiNGD0LLQsNGC0Lgg0YMg0L/QsNC84oCZ0Y/RgtGWINGA0Y/QtNC+0Log0LLQuNCy0LXQtNC10L3QvdGPIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBzdGFydCBvbiBwaHlzaWNhbCBzZWN0b3IgYm91bmRhcnkuIgorbXNnc3RyICLQoNC+0LfQtNGW0LsgJXp1INC90LUg0L/QvtGH0LjQvdCw0ZTRgtGM0YHRjyDQvdCwINC80LXQttGWINGE0ZbQt9C40YfQvdC+0LPQviDRgdC10LrRgtC+0YDQsC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE5MgorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4iCittc2dzdHIgItCX0LDQv9C40YHQuCDRgtCw0LHQu9C40YbRliDRgNC+0LfQtNGW0LvRltCyINC90LUg0YMg0YLQvtC80YMg0L/QvtGA0Y/QtNC60YMsINGP0Log0L3QsCDQtNC40YHQutGDLiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE1IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAwCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxMiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NCBsaWJmZGlzay9zcmMvc3VuLmM6MTExMAorbXNnaWQgIlN0YXJ0IgorbXNnc3RyICLQn9C+0YfQsNGC0L7QuiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE2IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAxCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxMyBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NSBsaWJmZGlzay9zcmMvc3VuLmM6MTExMQorbXNnaWQgIkVuZCIKK21zZ3N0ciAi0JrRltC90LXRhtGMIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTcgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDIKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE0IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU2IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTEyCittc2dpZCAiU2VjdG9ycyIKK21zZ3N0ciAi0KHQtdC60YLQvtGA0LgiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOSBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNAorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTUgbGliZmRpc2svc3JjL3NnaS5jOjExNTggbGliZmRpc2svc3JjL3N1bi5jOjExMTQKK21zZ2lkICJTaXplIgorbXNnc3RyICLQoNC+0LfQvNGW0YAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI2NworIywgYy1mb3JtYXQKK21zZ2lkICJVbnBhcnRpdGlvbmVkIHNwYWNlICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAi0J3QtdGA0L7Qt9C/0L7QtNGW0LvQtdC90LjQuSDQv9GA0L7RgdGC0ZbRgCDQvdCwICVzOiAlcywgJWp1INCx0LDQudGC0ZbQsiwgJWp1INGB0LXQutGC0L7RgNGW0LIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQxMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtbyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLQnNC+0LbQu9C40LLRliDRgdGC0L7QstC/0YfQuNC60LggKNC00LvRjyAtbyk6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQ1MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgItCd0LXQstGW0LTQvtC80LjQuSDRgdGC0L7QstC/0YfQuNC6ICVzOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTUKK21zZ2lkICJHZW5lcmljIgorbXNnc3RyICLQl9Cw0LPQsNC70YzQvdC1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NgorbXNnaWQgImRlbGV0ZSBhIHBhcnRpdGlvbiIKK21zZ3N0ciAi0LLQuNC70YPRh9C40YLQuCDRgNC+0LfQtNGW0LsiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk3Cittc2dpZCAibGlzdCBmcmVlIHVucGFydGl0aW9uZWQgc3BhY2UiCittc2dzdHIgItC/0L7QutCw0LfQsNGC0Lgg0YHQv9C40YHQvtC6INC90LXRgNC+0LfQv9C+0LTRltC70LXQvdC+0LPQviDQvNGW0YHRhtGPIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OAorbXNnaWQgImxpc3Qga25vd24gcGFydGl0aW9uIHR5cGVzIgorbXNnc3RyICLQv9C+0LrQsNC30LDRgtC4INGB0L/QuNGB0L7QuiDQstGW0LTQvtC80LjRhSDRgtC40L/RltCyINGA0L7Qt9C00ZbQu9GW0LIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5Cittc2dpZCAiYWRkIGEgbmV3IHBhcnRpdGlvbiIKK21zZ3N0ciAi0LTQvtC00LDRgtC4INC90L7QstC40Lkg0YDQvtC30LTRltC7IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAKK21zZ2lkICJwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICLQstC40LLQtdGB0YLQuCDRgtCw0LHQu9C40YbRjiDRgNC+0LfQtNGW0LvRltCyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDEKK21zZ2lkICJjaGFuZ2UgYSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAi0LfQvNGW0L3QuNGC0Lgg0YLQuNC/INGA0L7Qt9C00ZbQu9GDIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDIKK21zZ2lkICJ2ZXJpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi0L/QtdGA0LXQstGW0YDQuNGC0Lgg0YLQsNCx0LvQuNGG0Y4g0YDQvtC30LTRltC70ZbQsiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzCittc2dpZCAicHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgItCy0LjQstC10YHRgtC4INC00LDQvdGWINGJ0L7QtNC+INGA0L7Qt9C00ZbQu9GDIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGZpcnN0IHNlY3RvciBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgItCy0LjQstC10YHRgtC4INC90LXQvtCx0YDQvtCx0LvQtdC90ZYg0LTQsNC90ZYg0Lcg0L/QtdGA0YjQvtCz0L4g0YHQtdC60YLQvtGA0LAg0L/RgNC40YHRgtGA0L7RjiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA2Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBkaXNrbGFiZWwgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICLQstC40LLQtdGB0YLQuCDQvdC10L7QsdGA0L7QsdC70LXQvdGWINC00LDQvdGWINC80ZbRgtC60Lgg0LTQuNGB0LrQsCDQtyDQv9GA0LjRgdGC0YDQvtGOIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDcKK21zZ2lkICJmaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAi0LLQuNC/0YDQsNCy0LjRgtC4INC/0L7RgNGP0LTQvtC6INGA0L7Qt9C00ZbQu9GW0LIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwOQorbXNnaWQgIk1pc2MiCittc2dzdHIgItCG0L3RiNC1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTAKK21zZ2lkICJwcmludCB0aGlzIG1lbnUiCittc2dzdHIgItCy0LjQstC10YHRgtC4INGG0LUg0LzQtdC90Y4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMQorbXNnaWQgImNoYW5nZSBkaXNwbGF5L2VudHJ5IHVuaXRzIgorbXNnc3RyICLQt9C80ZbQvdC40YLQuCDQvtC00LjQvdC40YbRliDQv9C+0LrQsNC30YMv0LLQstC10LTQtdC90L3RjyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEyCittc2dpZCAiZXh0cmEgZnVuY3Rpb25hbGl0eSAoZXhwZXJ0cyBvbmx5KSIKK21zZ3N0ciAi0LTQvtC00LDRgtC60L7QstGWINGE0YPQvdC60YbRltC+0L3QsNC70YzQvdGWINC80L7QttC70LjQstC+0YHRgtGWICjQu9C40YjQtSDQtNC70Y8g0YTQsNGF0ZbQstGG0ZbQsikiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNAorbXNnaWQgIlNjcmlwdCIKK21zZ3N0ciAi0KHQutGA0LjQv9GCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTUKK21zZ2lkICJsb2FkIGRpc2sgbGF5b3V0IGZyb20gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICLQt9Cw0LLQsNC90YLQsNC20LjRgtC4INC60L7QvNC/0L7QvdGD0LLQsNC90L3RjyDQtNC40YHQutCwINGW0Lcg0YTQsNC50LvQsCDRgdC60YDQuNC/0YLRgyBzZmRpc2siCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNgorbXNnaWQgImR1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICLRgdGC0LLQvtGA0LjRgtC4INC00LDQvNC/INC60L7QvNC/0L7QvdGD0LLQsNC90L3RjyDQtNC40YHQutCwINC00L4g0YTQsNC50LvQsCDRgdC60YDQuNC/0YLRgyBzZmRpc2siCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOAorbXNnaWQgIlNhdmUgJiBFeGl0IgorbXNnc3RyICLQl9Cx0LXRgNC10LPRgtC4INGWINCy0LjQudGC0LgiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOQorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXQiCittc2dzdHIgItC30LDQv9C40YHQsNGC0Lgg0YLQsNCx0LvQuNGG0Y4g0L3QsCDQtNC40YHQuiDRliDQstC40LnRgtC4IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjAKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIgorbXNnc3RyICLQt9Cw0L/QuNGB0LDRgtC4INGC0LDQsdC70LjRhtGOINC90LAg0LTQuNGB0LoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMQorbXNnaWQgInF1aXQgd2l0aG91dCBzYXZpbmcgY2hhbmdlcyIKK21zZ3N0ciAi0LLQuNC50YLQuCDQsdC10Lcg0LfQsdC10YDQtdC20LXQvdC90Y8g0LfQvNGW0L0iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMgorbXNnaWQgInJldHVybiB0byBtYWluIG1lbnUiCittc2dzdHIgItC/0L7QstC10YDQvdGD0YLQuNGB0Ywg0LTQviDQs9C+0LvQvtCy0L3QvtCz0L4g0LzQtdC90Y4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyNAorbXNnaWQgInJldHVybiBmcm9tIEJTRCB0byBET1MiCittc2dzdHIgItC/0L7QstC10YDQvdGD0YLQuNGB0Y8g0LcgQlNEINC00L4gRE9TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzUKK21zZ2lkICJDcmVhdGUgYSBuZXcgbGFiZWwiCittc2dzdHIgItCh0YLQstC+0YDQuNGC0Lgg0L3QvtCy0YMg0LzRltGC0LrRgyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM2Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IEdQVCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgItGB0YLQstC+0YDQuNGC0Lgg0L3QvtCy0YMg0L/QvtGA0L7QttC90Y4g0YLQsNCx0LvQuNGG0Y4g0YDQvtC30LTRltC70ZbQsiBHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNworbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTR0kgKElSSVgpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi0YHRgtCy0L7RgNC40YLQuCDQvdC+0LLRgyDQv9C+0YDQvtC20L3RjiDRgtCw0LHQu9C40YbRjiDRgNC+0LfQtNGW0LvRltCyIFNHSSAoSVJJWCkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOAorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICLRgdGC0LLQvtGA0LjRgtC4INC90L7QstGDINC/0L7RgNC+0LbQvdGOINGC0LDQsdC70LjRhtGOINGA0L7Qt9C00ZbQu9GW0LIgRE9TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU3VuIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi0YHRgtCy0L7RgNC40YLQuCDQvdC+0LLRgyDQv9C+0YDQvtC20L3RjiDRgtCw0LHQu9C40YbRjiDRgNC+0LfQtNGW0LvRltCyIFN1biIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQzCittc2dpZCAiY3JlYXRlIGFuIElSSVggKFNHSSkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICLRgdGC0LLQvtGA0LjRgtC4INGC0LDQsdC70LjRhtGOINGA0L7Qt9C00ZbQu9GW0LIgSVJJWCAoU0dJKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTUyCittc2dpZCAiR2VvbWV0cnkiCittc2dzdHIgItCT0LXQvtC80LXRgtGA0ZbRjyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTUzCittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgItC30LzRltC90LjRgtC4INC60ZbQu9GM0LrRltGB0YLRjCDRhtC40LvRltC90LTRgNGW0LIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NAorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgaGVhZHMiCittc2dzdHIgItC30LzRltC90LjRgtC4INC60ZbQu9GM0LrRltGB0YLRjCDQs9C+0LvRltCy0L7QuiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU1Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrIgorbXNnc3RyICLQt9C80ZbQvdC40YLQuCDQutGW0LvRjNC60ZbRgdGC0Ywg0YHQtdC60YLQvtGA0ZbQsi/QtNC+0YDRltC20LrRgyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk1Cittc2dpZCAiR1BUIgorbXNnc3RyICJHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NQorbXNnaWQgImNoYW5nZSBkaXNrIEdVSUQiCittc2dzdHIgItC30LzRltC90LjRgtC4IEdVSUQg0LTQuNGB0LrQsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY2Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICLQt9C80ZbQvdC40YLQuCDQvdCw0LfQstGDINGA0L7Qt9C00ZbQu9GDIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjcKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgItC30LzRltC90LjRgtC4IFVVSUQg0YDQvtC30LTRltC70YMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OAorbXNnaWQgImNoYW5nZSB0YWJsZSBsZW5ndGgiCittc2dzdHIgItC30LzRltC90LjRgtC4INC00L7QstC20LjQvdGDINGC0LDQsdC70LjRhtGWIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjkKK21zZ2lkICJlbnRlciBwcm90ZWN0aXZlL2h5YnJpZCBNQlIiCittc2dzdHIgItGD0LLRltC50YLQuCDQtNC+INC30LDRhdC40YHQvdC+0LPQviDQsNCx0L4g0LPRltCx0YDQuNC00L3QvtCz0L4gTUJSIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzIKK21zZ2lkICJ0b2dnbGUgdGhlIGxlZ2FjeSBCSU9TIGJvb3RhYmxlIGZsYWciCittc2dzdHIgItC/0LXRgNC10LzQutC90YPRgtC4INC30LDRgdGC0LDRgNGW0LvQuNC5INC/0YDQsNC/0L7RgNC10YbRjCBCSU9TINC/0YDQuNC00LDRgtC90L7RgdGC0ZYg0LTQviDQt9Cw0LLQsNC90YLQsNC20LXQvdC90Y8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MworbXNnaWQgInRvZ2dsZSB0aGUgbm8gYmxvY2sgSU8gcHJvdG9jb2wgZmxhZyIKK21zZ3N0ciAi0L/QtdGA0LXQvNC60L3Rg9GC0Lgg0L/RgNCw0L/QvtGA0LXRhtGMINC/0YDQvtGC0L7QutC+0LvRgyDQvdC10LHQu9C+0LrQvtCy0L7Qs9C+INCy0LLQtdC00LXQvdC90Y8t0LLQuNCy0LXQtNC10L3QvdGPIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzQKK21zZ2lkICJ0b2dnbGUgdGhlIHJlcXVpcmVkIHBhcnRpdGlvbiBmbGFnIgorbXNnc3RyICLQv9C10YDQtdC80LrQvdGD0YLQuCDQv9GA0LDQv9C+0YDQtdGG0Ywg0L3QtdC+0LHRhdGW0LTQvdC+0LPQviDRgNC+0LfQtNGW0LvRgyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc1Cittc2dpZCAidG9nZ2xlIHRoZSBHVUlEIHNwZWNpZmljIGJpdHMiCittc2dzdHIgItC/0LXRgNC10LzQutC90YPRgtC4INGB0L/QtdGG0LjRhNGW0YfQvdGWINC00LvRjyBHVUlEINCx0ZbRgtC4IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODUKK21zZ2lkICJTdW4iCittc2dzdHIgIlN1biIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg2Cittc2dpZCAidG9nZ2xlIHRoZSByZWFkLW9ubHkgZmxhZyIKK21zZ3N0ciAi0L/QtdGA0LXQvNC60L3Rg9GC0Lgg0L/RgNCw0L/QvtGA0LXRhtGMIMKr0LvQuNGI0LUt0LTQu9GPLdGH0LjRgtCw0L3QvdGPwrsiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NworbXNnaWQgInRvZ2dsZSB0aGUgbW91bnRhYmxlIGZsYWciCittc2dzdHIgItC/0LXRgNC10LzQutC90YPRgtC4INC/0YDQsNC/0L7RgNC10YbRjCDQvNC+0L3RgtGD0LLQsNC90L3RjyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICLQt9C80ZbQvdC40YLQuCDQutGW0LvRjNC60ZbRgdGC0Ywg0LfQsNC/0LDRgdC90LjRhSDRhtC40LvRltC90LTRgNGW0LIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MAorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgZXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgItC30LzRltC90LjRgtC4INC60ZbQu9GM0LrRltGB0YLRjCDQtNC+0LTQsNGC0LrQvtCy0LjRhSDRgdC10LrRgtC+0YDRltCyINC90LAg0YbQuNC70ZbQvdC00YAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MQorbXNnaWQgImNoYW5nZSBpbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAi0LfQvNGW0L3QuNGC0Lgg0LrQvtC10YTRltGG0ZbRlNC90YIg0YfQtdGA0LPRg9Cy0LDQvdC90Y8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MgorbXNnaWQgImNoYW5nZSByb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAi0LfQvNGW0L3QuNGC0Lgg0YjQstC40LTQutGW0YHRgtGMINC+0LHQtdGA0YLQsNC90L3RjyAo0L7QsS4v0YXQsi4pIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTMKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAi0LfQvNGW0L3QuNGC0Lgg0YDQvtC30LzRltGAINGE0ZbQt9C40YfQvdC40YUg0YbQuNC70ZbQvdC00YDRltCyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDIKK21zZ2lkICJTR0kiCittc2dzdHIgIlNHSSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjAzCittc2dpZCAic2VsZWN0IGJvb3RhYmxlIHBhcnRpdGlvbiIKK21zZ3N0ciAi0LLQuNCx0YDQsNGC0Lgg0LfQsNCy0LDQvdGC0LDQttGD0LLQsNC70YzQvdC40Lkg0YDQvtC30LTRltC7IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDQKK21zZ2lkICJlZGl0IGJvb3RmaWxlIGVudHJ5IgorbXNnc3RyICLRgNC10LTQsNCz0YPQstCw0YLQuCDQt9Cw0L/QuNGBINC30LDQstCw0L3RgtCw0LbRg9Cy0LDQu9GM0L3QvtCz0L4g0YTQsNC50LvQsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA1Cittc2dpZCAic2VsZWN0IHNnaSBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAi0LLQuNCx0YDQsNGC0Lggc2dpLdGA0L7Qt9C00ZbQuyDRgdCy0L7Qv9GW0L3Qs9GDIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDYKK21zZ2lkICJjcmVhdGUgU0dJIGluZm8iCittc2dzdHIgItGB0YLQstC+0YDQuNGC0Lgg0LTQsNC90ZYgU0dJIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTUKK21zZ2lkICJET1MgKE1CUikiCittc2dzdHIgIkRPUyAoTUJSKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE2Cittc2dpZCAidG9nZ2xlIGEgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAi0L/QtdGA0LXQvNC60L3Rg9GC0Lgg0L/RgNCw0L/QvtGA0LXRhtGMINC30LDQstCw0L3RgtCw0LbRg9Cy0LDQvdC+0YHRgtGWIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTcKK21zZ2lkICJlZGl0IG5lc3RlZCBCU0QgZGlza2xhYmVsIgorbXNnc3RyICLQt9C80ZbQvdC40YLQuCDQstC60LvQsNC00LXQvdGDINC80ZbRgtC60YMg0LTQuNGB0LrQsCBCU0QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxOAorbXNnaWQgInRvZ2dsZSB0aGUgZG9zIGNvbXBhdGliaWxpdHkgZmxhZyIKK21zZ3N0ciAi0L/QtdGA0LXQvNC60L3Rg9GC0Lgg0L/RgNCw0L/QvtGA0LXRhtGMINGB0YPQvNGW0YHQvdC+0YHRgtGWINC3IGRvcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIwCittc2dpZCAibW92ZSBiZWdpbm5pbmcgb2YgZGF0YSBpbiBhIHBhcnRpdGlvbiIKK21zZ3N0ciAi0L/QtdGA0LXQvNGW0YHRgtC40YLQuCDQv9C+0YfQsNGC0L7QuiDQtNCw0L3QuNGFINC90LAg0YDQvtC30LTRltC70ZYiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMQorbXNnaWQgImNoYW5nZSB0aGUgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICLQt9C80ZbQvdC40YLQuCDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgCDQtNC40YHQutCwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjMKK21zZ2lkICJyZXR1cm4gZnJvbSBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgdG8gR1BUIgorbXNnc3RyICLQv9C+0LLQtdGA0L3Rg9GC0LjRgdGPINGW0Lcg0LfQsNGF0LjRgdC90L7Qs9C+INCw0LHQviDQs9GW0LHRgNC40LTQvdC+0LPQviBNQlIg0LTQviBHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzMworbXNnaWQgIkJTRCIKK21zZ3N0ciAiQlNEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzQKK21zZ2lkICJlZGl0IGRyaXZlIGRhdGEiCittc2dzdHIgItC30LzRltC90LjRgtC4INC00LDQvdGWINC00LjRgdC60LAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNQorbXNnaWQgImluc3RhbGwgYm9vdHN0cmFwIgorbXNnc3RyICLQstGB0YLQsNC90L7QstC40YLQuCDQv9C+0YfQsNGC0LrQvtCy0LjQuSDQt9Cw0LLQsNC90YLQsNC20YPQstCw0YciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNgorbXNnaWQgInNob3cgY29tcGxldGUgZGlza2xhYmVsIgorbXNnc3RyICLQv9C+0LrQsNC30LDRgtC4INC80ZbRgtC60YMg0LTQuNGB0LrQsCDQv9C+0LLQvdGW0YHRgtGOIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzcKK21zZ2lkICJsaW5rIEJTRCBwYXJ0aXRpb24gdG8gbm9uLUJTRCBwYXJ0aXRpb24iCittc2dzdHIgItC/0YDQuNCyJ9GP0LfRg9Cy0LDQvdC90Y8g0YDQvtC30LTRltC70YMgQlNEINC00L4g0YDQvtC30LTRltC70YMsINGJ0L4g0L3QtSDQvdCw0LvQtdC20LjRgtGMINC00L4g0YLQuNC/0YMgQlNEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHAgKGV4cGVydCBjb21tYW5kcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLQlNC+0LLRltC00LrQsCAo0YDQvtC30YjQuNGA0LXQvdC40Lkg0L3QsNCx0ZbRgCDQutC+0LzQsNC90LQpOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzEgZGlzay11dGlscy9zZmRpc2suYzoxMjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwOlxuIgorbXNnc3RyICIiCisiXG4iCisi0JTQvtCy0ZbQtNC60LA6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UncmUgZWRpdGluZyBuZXN0ZWQgJyVzJyBwYXJ0aXRpb24gdGFibGUsIHByaW1hcnkgcGFydGl0aW9uIHRhYmxlIGlzICclcycuIgorbXNnc3RyICLQktC4INGA0LXQtNCw0LPRg9GU0YLQtSDQstC60LvQsNC00LXQvdGDINGC0LDQsdC70LjRhtGOINGA0L7Qt9C00ZbQu9GW0LIgwqslc8K7LCDQvtGB0L3QvtCy0L3QvtGOINGC0LDQsdC70LjRhtC10Y4g0YDQvtC30LTRltC70ZbQsiDRlCDCqyVzwrsuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjEKK21zZ2lkICJFeHBlcnQgY29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAi0JrQvtC80LDQvdC00Lgg0LXQutGB0L/QtdGA0YLQvdC+0LPQviDRgNC10LbQuNC80YMobSAtINC00L7QstGW0LTQutCwKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjMKK21zZ2lkICJDb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICLQmtC+0LzQsNC90LTQsCAobSAtINC00L7QstGW0LTQutCwKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWM6IHVua25vd24gY29tbWFuZCIKK21zZ3N0ciAiJWM6INC90LXQstGW0LTQvtC80LAg0LrQvtC80LDQvdC00LAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ1OCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODUKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lIgorbXNnc3RyICLQktCy0LXQtNGW0YLRjCDQvdCw0LfQstGDINGE0LDQudC70LAg0YHQutGA0LjQv9GC0YMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ3MQorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgYXBwbGllZC4iCittc2dzdHIgItCh0LrRgNC40L/RgiDRg9GB0L/RltGI0L3QviDQt9Cw0YHRgtC+0YHQvtCy0LDQvdC+LiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDk3Cittc2dpZCAiRmFpbGVkIHRvIHRyYW5zZm9ybSBkaXNrIGxheW91dCBpbnRvIHNjcmlwdCIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQv9C10YDQtdGC0LLQvtGA0LjRgtC4INC60L7QvNC/0L7QvdGD0LLQsNC90L3RjyDQtNC40YHQutCwINC90LAg0YHQutGA0LjQv9GCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTEKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IHNhdmVkLiIKK21zZ3N0ciAi0KHQutGA0LjQv9GCINGD0YHQv9GW0YjQvdC+INC30LHQtdGA0LXQttC10L3Qvi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzNCBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMlenUgY29udGFpbnMgYSAlcyBzaWduYXR1cmUuIgorbXNnc3RyICLQoNC+0LfQtNGW0LsgJXp1INC80ZbRgdGC0LjRgtGMINC/0ZbQtNC/0LjRgSAlcy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzNyBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlIHNpZ25hdHVyZT8iCittc2dzdHIgItCl0L7Rh9C10YLQtSDQstC40LvRg9GH0LjRgtC4INC/0ZbQtNC/0LjRgT8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU3NQorbXNnaWQgImZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQsNC/0LjRgdCw0YLQuCDQvNGW0YLQutGDINC00LjRgdC60LAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYxMworbXNnaWQgIkZhaWxlZCB0byBmaXggcGFydGl0aW9ucyBvcmRlci4iCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC/0YDQsNCy0LjRgtC4INC/0L7RgNGP0LTQvtC6INGA0L7Qt9C00ZbQu9GW0LIuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MTUKK21zZ2lkICJQYXJ0aXRpb25zIG9yZGVyIGZpeGVkLiIKK21zZ3N0ciAi0J/QvtGA0Y/QtNC+0Log0YDQvtC30LTRltC70ZbQsiDQstC40L/RgNCw0LLQu9C10L3Qvi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC70YPRh9C40YLQuCDRgNC+0LfQtNGW0LsgJXp1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjAKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIGN5bGluZGVycyAoREVQUkVDQVRFRCEpLiIKK21zZ3N0ciAi0JfQvNGW0L3QsCDQvtC00LjQvdC40YbRjCDQv9C+0LrQsNC30YMg0ZYg0LLQuNCy0LXQtNC10L3QvdGPINC90LAg0YbQuNC70ZbQvdC00YDQuCAo0JfQkNCh0KLQkNCg0IbQm9CVISkuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjIKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIHNlY3RvcnMuIgorbXNnc3RyICLQl9C80ZbQvdCwINC+0LTQuNC90LjRhtGMINC/0L7QutCw0LfRgyDRliDQstCy0LXQtNC10L3QvdGPINC90LAg0YHQtdC60YLQvtGA0LguIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NzIgZGlzay11dGlscy9mZGlzay1tZW51LmM6ODQyCittc2dpZCAiTGVhdmluZyBuZXN0ZWQgZGlza2xhYmVsLiIKK21zZ3N0ciAi0JfQsNC70LjRiNCw0ZTQvNC+INCy0LrQu9Cw0LTQtdC90YMg0LzRltGC0LrRgyDQtNC40YHQutCwLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzA5Cittc2dpZCAiTmV3IG1heGltdW0gZW50cmllcyIKK21zZ3N0ciAi0J3QvtCy0ZYg0LzQsNC60YHQuNC80LDQu9GM0L3RliDQt9Cw0L/QuNGB0LgiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjcxOQorbXNnaWQgIkVudGVyaW5nIHByb3RlY3RpdmUvaHlicmlkIE1CUiBkaXNrbGFiZWwuIgorbXNnc3RyICLQktGF0L7QtNC40LzQviDQtNC+INC30LDRhdC40YnQtdC90L7RlyDQsNCx0L4g0LPRltCx0YDQuNC00L3QvtGXINC80ZbRgtC60Lgg0LTQuNGB0LrQsCBNQlIuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MzUKK21zZ2lkICJOZXcgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICLQndC+0LLQuNC5IFVVSUQgKNGDINGE0L7RgNC80LDRgtGWIDgtNC00LTQtMTIpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NTAKK21zZ2lkICJOZXcgbmFtZSIKK21zZ3N0ciAi0J3QvtCy0LAg0L3QsNC30LLQsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6ODEzCittc2dpZCAiRW50ZXJpbmcgbmVzdGVkIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICLQktGF0L7QtNC40LzQviDQtNC+INCy0LrQu9Cw0LTQtdC90L7RlyDQvNGW0YLQutC4INC00LjRgdC60LAgQlNELiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTk4Cittc2dpZCAiTnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAi0JrRltC70YzQutGW0YHRgtGMINGG0LjQu9GW0L3QtNGA0ZbQsiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAwMgorbXNnaWQgIk51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAi0JrRltC70YzQutGW0YHRgtGMINCz0L7Qu9GW0LLQvtC6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDA2Cittc2dpZCAiTnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgItCa0ZbQu9GM0LrRltGB0YLRjCDRgdC10LrRgtC+0YDRltCyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZFxuIgorbXNnc3RyICIlcyDQt9C80L7QvdGC0L7QstCw0L3Qvi5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudGVkXG4iCittc2dzdHIgIiVzINC90LUg0LfQvNC+0L3RgtC+0LLQsNC90L5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMxIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzQKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1MyBkaXNrLXV0aWxzL3NmZGlzay5jOjI5NyBsaWJmZGlzay9zcmMvYnNkLmM6NjQ2CisjOiBsaWIvcGF0aC5jOjExMCBsaWIvcGF0aC5jOjEzMSBsaWIvcGF0aC5jOjE1MiBsaWIvcGF0aC5jOjIwMAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIxMyBsb2dpbi11dGlscy9sYXN0LmM6MjUwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo2NjQKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjM5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjcxNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L/RgNC+0YfQuNGC0LDRgtC4ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMzMgbGliL3BhdGguYzoxMzMgbGliL3BhdGguYzoxNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFyc2UgZXJyb3I6ICVzIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDQvtCx0YDQvtCx0LrQuDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDRgdGC0LLQvtGA0LjRgtC4INC60LDRgtCw0LvQvtCzICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9ja2luZyBkaXNrIGJ5ICVzIC4uLiAiCittc2dzdHIgItCR0LvQvtC60YPRlNC80L4g0LTQuNGB0Log0LfQsCDQtNC+0L/QvtC80L7Qs9C+0Y4gJXMgLi4uICIKKworIzogZGlzay11dGlscy9mc2NrLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgIih3YWl0aW5nKSAiCittc2dzdHIgIijQvtGH0ZbQutGD0LLQsNC90L3RjykgIgorCisjLiBUUkFOU0xBVE9SUzogVGhlc2UgYXJlIGZvbGxvd3VwcyB0byAiTG9ja2luZyBkaXNrLi4uIi4KKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5NAorbXNnaWQgInN1Y2NlZWRlZCIKK21zZ3N0ciAi0YPRgdC/0ZbRiNC90L4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5NAorbXNnaWQgImZhaWxlZCIKK21zZ3N0ciAi0L3QtdCy0LTQsNGH0LAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQxMgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmxvY2tpbmcgJXMuXG4iCittc2dzdHIgItCg0L7Qt9Cx0LvQvtC60L7QstGD0ZTQvNC+ICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGRlc2NyaXB0aW9uIGZvciAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvdCw0LvQsNGI0YLRg9Cy0LDRgtC4INC+0L/QuNGBINC00LvRjyAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDc0IG1pc2MtdXRpbHMvZmluZG1udC5jOjc4MiBtaXNjLXV0aWxzL2xzYmxrLmM6NDMzCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMDIgc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzoxOSBzeXMtdXRpbHMvdW1vdW50LmM6NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6INC/0L7QvNC40LvQutCwINC+0LHRgNC+0LHQutC4INGDINGA0Y/QtNC60YMgJWQgLS0g0L/RgNC+0ZbQs9C90L7RgNC+0LLQsNC90L4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjUwNiBkaXNrLXV0aWxzL2ZzY2suYzo1MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSBmc3RhYiIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCBmc3RhYiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njc5IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTY4IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDM0CisjOiBsb2dpbi11dGlscy92aXB3LmM6MjA0IHN5cy11dGlscy9mbG9jay5jOjM0NSBzeXMtdXRpbHMvbnNlbnRlci5jOjE1MworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxNiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIxOSBzeXMtdXRpbHMvdW5zaGFyZS5jOjQyMAorIzogdGVybS11dGlscy9zY3JpcHQuYzo3ODAKK21zZ2lkICJmb3JrIGZhaWxlZCIKK21zZ3N0ciAi0L3QtdCy0LTQsNC70LUg0YDQvtC30LPQsNC70YPQttC10L3QvdGPIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGUgZmFpbGVkIgorbXNnc3RyICIlczog0L/QvtC80LjQu9C60LAg0LLQuNC60L7QvdCw0L3QvdGPIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3NzQKK21zZ2lkICJ3YWl0OiBubyBtb3JlIGNoaWxkIHByb2Nlc3M/IT8iCittc2dzdHIgItGH0LXQutCw0LnRgtC1LCDQsdGW0LvRjNGI0LUg0L3QtSDQt9Cw0LvQuNGI0LjQu9C+0YHRjyDQtNC+0YfRltGA0L3RltGFINC/0YDQvtGG0LXRgdGW0LI/IT8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc3NyBzeXMtdXRpbHMvZmxvY2suYzozNjMgc3lzLXV0aWxzL3N3YXBvbi5jOjM0OAorIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MDQgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MjUKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgd2FpdHBpZCIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmcuLi4gJXMgZm9yIGRldmljZSAlcyBleGl0ZWQgd2l0aCBzaWduYWwgJWQuIgorbXNnc3RyICLQn9C+0L/QtdGA0LXQtNC20LXQvdC90Y8uLi4g0LLQuNC60L7QvdCw0L3QvdGPICVzINC00LvRjyDQv9GA0LjRgdGC0YDQvtGOICVzINC30LDQstC10YDRiNC40LvQvtGB0Y8g0YHQuNCz0L3QsNC70L7QvCAlZC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjgwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlczogc3RhdHVzIGlzICV4LCBzaG91bGQgbmV2ZXIgaGFwcGVuLiIKK21zZ3N0ciAiJXMgJXM6INGB0YLQsNC9IOKAlCAleCwg0YLQsNC60L7Qs9C+INC90LUg0L/QvtCy0LjQvdC90L4g0LHRg9C70L4g0YHRgtCw0YLQuNGB0Y8uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluaXNoZWQgd2l0aCAlcyAoZXhpdCBzdGF0dXMgJWQpXG4iCittc2dzdHIgItCX0LDQstC10YDRiNC10L3QviwgJXMgKNGB0YLQsNC9INCy0LjRhdC+0LTRgyAlZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6OTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yICVkICglbSkgd2hpbGUgZXhlY3V0aW5nIGZzY2suJXMgZm9yICVzIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCAlZCAoJW0pINC/0ZbQtCDRh9Cw0YEg0LLQuNC60L7QvdCw0L3QvdGPIGZzY2suJXMg0LTQu9GPICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5OTEKK21zZ2lkICIiCisiRWl0aGVyIGFsbCBvciBub25lIG9mIHRoZSBmaWxlc3lzdGVtIHR5cGVzIHBhc3NlZCB0byAtdCBtdXN0IGJlIHByZWZpeGVkXG4iCisid2l0aCAnbm8nIG9yICchJy4iCittc2dzdHIgIiIKKyLQn9GA0LXRhNGW0LrRgSDCq25vwrsg0LDQsdC+IMKrIcK7INC80LDRlCDQsdGD0YLQuCDQv9C10YDQtdC00LDQvdC+INCw0LHQviDQstGB0ZbQvCDQsNCx0L4g0LbQvtC00L3QvtC80YMg0Lcg0YLQuNC/0ZbQsiDRhNCw0LnQu9C+0LLQuNGFXG4iCisi0YHQuNGB0YLQtdC8LCDQv9C10YDQtdC00LDQvdC40YUg0LTQviAtdC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIGJhZCBsaW5lIGluIC9ldGMvZnN0YWI6IGJpbmQgbW91bnQgd2l0aCBub256ZXJvIGZzY2sgcGFzcyBudW1iZXIiCittc2dzdHIgIiVzOiDQv9GA0L7Qv9GD0YHQutCw0ZTQvNC+INC/0L7QvNC40LvQutC+0LLQuNC5INGA0Y/QtNC+0Log0YMgL2V0Yy9mc3RhYjog0LzQvtC90YLRg9Cy0LDQvdC90Y8g0Lcg0L/RgNC40LIn0Y/Qt9GD0LLQsNC90L3Rj9C8INGWINC90LXQvdGD0LvRjNC+0LLQvtGOINC60ZbQu9GM0LrRltGB0YLRjiDQv9GA0L7RhdC+0LTRltCyIGZzY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIG5vbmV4aXN0ZW50IGRldmljZVxuIgorbXNnc3RyICIlczog0L/RgNC+0L/Rg9GB0LrQsNGU0LzQviDQv9GA0LjRgdGC0YDRltC5LCDRj9C60L7Qs9C+INC90LUg0ZbRgdC90YPRlFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub25leGlzdGVudCBkZXZpY2UgKFwibm9mYWlsXCIgZnN0YWIgb3B0aW9uIG1heSBiZSB1c2VkIHRvIHNraXAgdGhpcyBkZXZpY2UpXG4iCittc2dzdHIgIiVzOiDQv9GA0LjRgdGC0YDQvtGOINC90LUg0ZbRgdC90YPRlCAo0YnQvtCxINC/0YDQvtC/0YPRgdGC0LjRgtC4INGG0LXQuSDQv9GA0LjRgdGC0YDRltC5LCDQvNC+0LbQvdCwINGB0LrQvtGA0LjRgdGC0LDRgtC40YHRjyDQv9Cw0YDQsNC80LXRgtGA0L7QvCBcIm5vZmFpbFwiINGDIGZzdGFiKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZVxuIgorbXNnc3RyICIlczog0L/RgNC+0L/Rg9GB0LrQsNGU0LzQviDRhNCw0LnQu9C+0LLRgyDRgdC40YHRgtC10LzRgyDQvdC10LLRltC00L7QvNC+0LPQviDRgtC40L/Rg1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGVjayAlczogZnNjay4lcyBub3QgZm91bmQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L/QtdGA0LXQstGW0YDQuNGC0LggJXM6INC90LAg0LLQuNGP0LLQu9C10L3QviBmc2NrLiVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjU5Cittc2dpZCAiQ2hlY2tpbmcgYWxsIGZpbGUgc3lzdGVtcy5cbiIKK21zZ3N0ciAi0J/QtdGA0LXQstGW0YDQutCwINCy0YHRltGFINGE0LDQudC70L7QstC40YUg0YHQuNGB0YLQtdC8LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzUwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0td2FpdGluZy0tIChwYXNzICVkKVxuIgorbXNnc3RyICItLdC+0YfRltC60YPQstCw0L3QvdGPLS0gKNC/0YDQvtGF0ZbQtCAlZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM3NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC0tIFtmcy1vcHRpb25zXSBbPGZpbGVzeXN0ZW0+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LggZnNja10gW9C/0LDRgNCw0LzQtdGC0YDQuCDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4XSBb0YTQsNC50LvQvtCy0LAg0YHQuNGB0YLQtdC80LAuLi5dXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNzkKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAi0J/QtdGA0LXQstGW0YDQuNGC0Lgg0ZYg0LLQuNC/0YDQsNCy0LjRgtC4INGE0LDQudC70L7QstGDINGB0LjRgdGC0LXQvNGDIExpbnV4LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzgyCittc2dpZCAiIC1BICAgICAgICAgY2hlY2sgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtQSAgICAgICAgINC/0LXRgNC10LLRltGA0LjRgtC4INCy0YHRliDRhNCw0LnQu9C+0LLRliDRgdC40YHRgtC10LzQuFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzgzCittc2dpZCAiIC1DIFs8ZmQ+XSAgZGlzcGxheSBwcm9ncmVzcyBiYXI7IGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIgLUMgPNC00YQ+ICAgINC/0L7QutCw0LfRg9Cy0LDRgtC4INGB0LzRg9C20LrRgyDQv9C+0YHRgtGD0L/Rgywg0LTQtdGB0LrRgNC40L/RgtC+0YAg0YTQsNC50LvQsCDQv9GA0LjQt9C90LDRh9C10L3QviDQtNC70Y8g0LPRgNCw0YTRltGH0L3QvtCz0L4g0ZbQvdGC0LXRgNGE0LXQudGB0YNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NAorbXNnaWQgIiAtbCAgICAgICAgIGxvY2sgdGhlIGRldmljZSB0byBndWFyYW50ZWUgZXhjbHVzaXZlIGFjY2Vzc1xuIgorbXNnc3RyICIgLWwgICAgICAgICDQt9Cw0LHQu9C+0LrRg9Cy0LDRgtC4INC/0YDQuNGB0YLRgNGW0LksINGJ0L7QsSDQs9Cw0YDQsNC90YLRg9Cy0LDRgtC4INCy0LjQutC70Y7Rh9C90LjQuSDQtNC+0YHRgtGD0L9cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NQorbXNnaWQgIiAtTSAgICAgICAgIGRvIG5vdCBjaGVjayBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtTSAgICAgICAgINC90LUg0L/QtdGA0LXQstGW0YDRj9GC0Lgg0LfQvNC+0L3RgtC+0LLQsNC90ZYg0YTQsNC50LvQvtCy0ZYg0YHQuNGB0YLQtdC80LhcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NgorbXNnaWQgIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCittc2dzdHIgIiAtTiAgICAgICAgINC90ZbRh9C+0LPQviDQvdC1INCy0LjQutC+0L3Rg9Cy0LDRgtC4LCDQv9GA0L7RgdGC0L4g0L/QvtC60LDQt9Cw0YLQuCDQtNGW0ZcsINGP0LrRliDQsdGD0LTQtSDQstC40LrQvtC90LDQvdC+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODcKK21zZ2lkICIgLVAgICAgICAgICBjaGVjayBmaWxlc3lzdGVtcyBpbiBwYXJhbGxlbCwgaW5jbHVkaW5nIHJvb3RcbiIKK21zZ3N0ciAiIC1QICAgICAgICAg0L/QtdGA0LXQstGW0YDQuNGC0Lgg0YTQsNC50LvQvtCy0ZYg0YHQuNGB0YLQtdC80LgsINC30L7QutGA0LXQvNCwINC60L7RgNC10L3QtdCy0YMsINGDINC/0LDRgNCw0LvQtdC70YzQvdC+0LzRgyDRgNC10LbQuNC80ZZcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4OAorbXNnaWQgIiAtUiAgICAgICAgIHNraXAgcm9vdCBmaWxlc3lzdGVtOyB1c2VmdWwgb25seSB3aXRoICctQSdcbiIKK21zZ3N0ciAiIC1SICAgICAgICAg0L/RgNC+0L/Rg9GB0YLQuNGC0Lgg0LrQvtGA0LXQvdC10LLRgyDRhNCw0LnQu9C+0LLRgyDRgdC40YHRgtC10LzRgzsg0LrQvtGA0LjRgdC90LUg0LvQuNGI0LUg0LcgwqstQcK7XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODkKK21zZ2lkICIiCisiIC1yIFs8ZmQ+XSAgcmVwb3J0IHN0YXRpc3RpY3MgZm9yIGVhY2ggZGV2aWNlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiIKKyIgLXIgWzzQtNGEPl0gINCy0LjQstC10YHRgtC4INGB0YLQsNGC0LjRgdGC0LjRh9C90ZYg0LTQsNC90ZYg0YnQvtC00L4g0LrQvtC20L3QvtCz0L4g0L/QtdGA0LXQstGW0YDQtdC90L7Qs9C+INC00LjRgdC60LA7XG4iCisiICAgICAgICAgICAg0LTQtdGB0LrRgNC40L/RgtC+0YAg0YTQsNC50LvQsCDQv9GA0LjQt9C90LDRh9C10L3QviDQtNC70Y8g0LPRgNCw0YTRltGH0L3QuNGFINGW0L3RgtC10YDRhNC10LnRgdGW0LJcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MQorbXNnaWQgIiAtcyAgICAgICAgIHNlcmlhbGl6ZSB0aGUgY2hlY2tpbmcgb3BlcmF0aW9uc1xuIgorbXNnc3RyICIgLXMgICAgICAgICDRgdGC0LLQvtGA0LjRgtC4INC/0L7RgdC70ZbQtNC+0LLQvdGW0YHRgtGMINC00ZbQuSDQtyDQv9C10YDQtdCy0ZbRgNC60LhcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MgorbXNnaWQgIiAtVCAgICAgICAgIGRvIG5vdCBzaG93IHRoZSB0aXRsZSBvbiBzdGFydHVwXG4iCittc2dzdHIgIiAtVCAgICAgICAgINC90LUg0L/QvtC60LDQt9GD0LLQsNGC0Lgg0LfQsNCz0L7Qu9C+0LLQvtC6INC/0ZbRgdC70Y8g0LfQsNC/0YPRgdC60YNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MworbXNnaWQgIiIKKyIgLXQgPHR5cGU+ICBzcGVjaWZ5IGZpbGVzeXN0ZW0gdHlwZXMgdG8gYmUgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICA8dHlwZT4gaXMgYWxsb3dlZCB0byBiZSBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0XG4iCittc2dzdHIgIiIKKyIgLXQgPNGC0LjQvz4gICDQstC60LDQt9Cw0YLQuCDRgtC40L/QuCDRhNCw0LnQu9C+0LLQuNGFINGB0LjRgdGC0LXQvCwg0Y/QutGWINGB0LvRltC0INC/0LXRgNC10LLRltGA0LjRgtC4O1xuIgorIiAgICAgICAgICAgINGC0LjQv9C4INC80L7QttC90LAg0LLQutCw0LfQsNGC0Lgg0YMg0YTQvtGA0LzQsNGC0ZYg0YHQv9C40YHQutGDINC3INCy0ZbQtNC+0LrRgNC10LzQu9C10L3QvdGP0Lwg0LrQvtC80LDQvNC4XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTUKK21zZ2lkICIgLVYgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLVYgICAgICAgICDQv9C+0Y/RgdC90Y7QstCw0YLQuCwg0YnQviDRgNC+0LHQuNGC0Ywg0L/RgNC+0LPRgNCw0LzQsFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk2Cittc2dpZCAiIC0/ICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC0/ICAgICAgICAg0L/QvtC60LDQt9Cw0YLQuCDRhtC1INC00L7QstGW0LTQutC+0LLQtSDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8g0ZYg0LLQuNC50YLQuFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk5Cittc2dpZCAiU2VlIHRoZSBzcGVjaWZpYyBmc2NrLiogY29tbWFuZHMgZm9yIGF2YWlsYWJsZSBmcy1vcHRpb25zLiIKK21zZ3N0ciAi0J7Qt9C90LDQudC+0LzRgtC10YHRjyDQtyDQtNC+0LLRltC00LrQvtGOINC00L4g0LrQvtC80LDQvdC0IGZzY2suKiwg0YnQvtCxINC00ZbQt9C90LDRgtC40YHRjyDQsdGW0LvRjNGI0LUg0L/RgNC+INC/0LDRgNCw0LzQtdGC0YDQuCDRhNCw0LnQu9C+0LLQuNGFINGB0LjRgdGC0LXQvC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MzgKK21zZ2lkICJ0b28gbWFueSBkZXZpY2VzIgorbXNnc3RyICLQt9Cw0LHQsNCz0LDRgtC+INC/0YDQuNGB0YLRgNC+0ZfQsiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ1MAorbXNnaWQgIklzIC9wcm9jIG1vdW50ZWQ/IgorbXNnc3RyICIvcHJvYyDQt9C80L7QvdGC0L7QstCw0L3Qvj8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSByb290IHRvIHNjYW4gZm9yIG1hdGNoaW5nIGZpbGVzeXN0ZW1zOiAlcyIKK21zZ3N0ciAi0LTQu9GPINC/0L7RiNGD0LrRgyDQstGW0LTQv9C+0LLRltC00L3QuNGFINGE0LDQudC70L7QstC40YUg0YHQuNGB0YLQtdC8INGB0LvRltC0INCy0LjQutC+0L3Rg9Cy0LDRgtC4INC60L7QvNCw0L3QtNGDINCy0ZbQtCDRltC80LXQvdGWINCw0LTQvNGW0L3RltGB0YLRgNCw0YLQvtGA0LAgKHJvb3QpOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBmaW5kIG1hdGNoaW5nIGZpbGVzeXN0ZW06ICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC30L3QsNC50YLQuCDQstGW0LTQv9C+0LLRltC00L3RgyDRhNCw0LnQu9C+0LLRgyDRgdC40YHRgtC10LzRgzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NzAgZGlzay11dGlscy9mc2NrLmM6MTU2NSBtaXNjLXV0aWxzL2tpbGwuYzozNjMKKyM6IHN5cy11dGlscy9lamVjdC5jOjI3OQorbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKK21zZ3N0ciAi0LfQsNCx0LDQs9Cw0YLQviDQsNGA0LPRg9C80LXQvdGC0ZbQsiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTUyNSBkaXNrLXV0aWxzL2ZzY2suYzoxNTI4Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtciIKK21zZ3N0ciAi0L/QvtC80LjQu9C60L7QstC40Lkg0LDRgNCz0YPQvNC10L3RgiAtciIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU3NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yOiAlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60L7QstC40Lkg0LDRgNCz0YPQvNC10L3RgiAtcjogJWQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2MTgKK21zZ2lkICJ0aGUgLWwgb3B0aW9uIGNhbiBiZSB1c2VkIHdpdGggb25lIGRldmljZSBvbmx5IC0tIGlnbm9yZSIKK21zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgCAtbCDQvNC+0LbQvdCwINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQu9C40YjQtSDQtyDQvtC00L3QuNC8INC/0YDQuNGB0YLRgNC+0ZTQvCAtINGW0LPQvdC+0YDRg9GU0LzQviIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPlxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gPNGE0LDQudC7PlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE2Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIGNvbXByZXNzZWQgUk9NIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgItCf0LXRgNC10LLRltGA0LjRgtC4INGWINCy0LjQv9GA0LDQstC40YLQuCDRgdGC0LjRgdC90LXQvdGDINGE0LDQudC70L7QstGDINGB0LjRgdGC0LXQvNGDIFJPTS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOQorbXNnaWQgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgINC70LjRiNC1INC00LvRjyDRgdGD0LzRltGB0L3QvtGB0YLRliwg0ZbQs9C90L7RgNGD0ZTRgtGM0YHRj1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIwCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICDQstC40LLQvtC00LjRgtC4INC00L7QutC70LDQtNC90ZYg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjEKK21zZ2lkICIgLXkgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIC15ICAgICAgICAgICAgICAgICAgICAgICDQu9C40YjQtSDQtNC70Y8g0YHRg9C80ZbRgdC90L7RgdGC0ZYsINGW0LPQvdC+0YDRg9GU0YLRjNGB0Y9cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMgorbXNnaWQgIiAtYiwgLS1ibG9ja3NpemUgPHNpemU+ICAgdXNlIHRoaXMgYmxvY2tzaXplLCBkZWZhdWx0cyB0byBwYWdlIHNpemVcbiIKK21zZ3N0ciAiIC1iLCAtLWJsb2Nrc2l6ZSA80YDQvtC30LzRltGAPiDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0LLQutCw0LfQsNC90LjQuSDRgNC+0LfQvNGW0YAg0LHQu9C+0LrRgywg0YLQuNC/0L7QstC40Lwg0ZQg0YDQvtC30LzRltGAINGB0YLQvtGA0ZbQvdC60LhcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMworbXNnaWQgIiAgICAgLS1leHRyYWN0Wz08ZGlyPl0gICAgdGVzdCB1bmNvbXByZXNzaW9uLCBvcHRpb25hbGx5IGV4dHJhY3QgaW50byA8ZGlyPlxuIgorbXNnc3RyICIgICAgIC0tZXh0cmFjdFs9PNC60LDRgj5dICAgINC/0LXRgNC10LLRltGA0LjRgtC4INGA0L7Qt9C/0LDQutGD0LLQsNC90L3Rjywg0LTQvtC00LDRgtC60L7QstC+INC80L7QttC90LAg0LLQuNC30L3QsNGH0LjRgtC4INC60LDRgtCw0LvQvtCzIDzQutCw0YI+INC00LvRjyDRhtGM0L7Qs9C+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZmFpbGVkOiB1bmFibGUgdG8gZGV0ZXJtaW5lIGRldmljZSBzaXplOiAlcyIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgaW9jdGw6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC30L3QsNGH0LjRgtC4INGA0L7Qt9C80ZbRgCDQv9GA0LjRgdGC0YDQvtGOOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSBibG9jayBkZXZpY2Ugb3IgZmlsZTogJXMiCittc2dzdHIgItC90LUg0ZQg0LHQu9C+0LrQvtCy0LjQvCDQv9GA0LjRgdGC0YDQvtGU0Lwg0LDQsdC+INGE0LDQudC70L7QvDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzAgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNgorbXNnaWQgImZpbGUgbGVuZ3RoIHRvbyBzaG9ydCIKK21zZ3N0ciAi0LTQvtCy0LbQuNC90LAg0YTQsNC50LvQsCDRlCDQvdCw0LTRgtC+INC80LDQu9C+0Y4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzkgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzMworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI0OSBsaWJmZGlzay9zcmMvYnNkLmM6NzE4IGxpYmZkaXNrL3NyYy9ic2QuYzo4OTAKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMDggbG9naW4tdXRpbHMvbGFzdC5jOjI0MiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgInNlZWsgb24gJXMgZmFpbGVkIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0LjQutC+0L3QsNGC0Lgg0L/QvtC30LjRhtGW0Y7QstCw0L3QvdGPINC90LAgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODUgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NworbXNnaWQgInN1cGVyYmxvY2sgbWFnaWMgbm90IGZvdW5kIgorbXNnc3RyICLQvdC1INC30L3QsNC50LTQtdC90L4g0LrQvtC90YLRgNC+0LvRjNC90L7RlyDRgdGD0LzQuCDRgdGD0L/QtdGA0LHQu9C+0LrRgyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJjcmFtZnMgZW5kaWFubmVzcyBpcyAlc1xuIgorbXNnc3RyICLQv9C+0YDRj9C00L7QuiDQsdCw0LnRgtGW0LIgY3JhbWZzOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkxCittc2dpZCAiYmlnIgorbXNnc3RyICLQv9GA0Y/QvNC40LkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTEKK21zZ2lkICJsaXR0bGUiCittc2dzdHIgItC30LLQvtGA0L7RgtC90LjQuSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5NQorbXNnaWQgInVuc3VwcG9ydGVkIGZpbGVzeXN0ZW0gZmVhdHVyZXMiCittc2dzdHIgItC90LXQv9GW0LTRgtGA0LjQvNGD0LLQsNC90ZYg0LzQvtC20LvQuNCy0L7RgdGC0ZYg0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXBlcmJsb2NrIHNpemUgKCVkKSB0b28gc21hbGwiCittc2dzdHIgItGA0L7Qt9C80ZbRgCDRgdGD0L/QtdGA0LHQu9C+0LrRgyAoJWQpINGUINC90LDQtNGC0L4g0LzQsNC70LjQvCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNAorbXNnaWQgInplcm8gZmlsZSBjb3VudCIKK21zZ3N0ciAi0L3Rg9C70YzQvtCy0LAg0LrRltC70YzQutGW0YHRgtGMINGE0LDQudC70ZbQsiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwOAorbXNnaWQgImZpbGUgZXh0ZW5kcyBwYXN0IGVuZCBvZiBmaWxlc3lzdGVtIgorbXNnc3RyICLRhNCw0LnQuyDQt9Cw0LLQtdGA0YjRg9GU0YLRjNGB0Y8g0LfQsCDQvNC10LbQsNC80Lgg0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxMAorbXNnaWQgIm9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICLQt9Cw0YHRgtCw0YDRltC70LjQuSDRhNC+0YDQvNCw0YIgY3JhbWZzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjE5Cittc2dpZCAidW5hYmxlIHRvIHRlc3QgQ1JDOiBvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQv9C10YDQtdCy0ZbRgNC40YLQuCBDUkM6INC30LDRgdGC0LDRgNGW0LvQuNC5INGE0L7RgNC80LDRgiBjcmFtZnMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNzIKK21zZ2lkICJjcmMgZXJyb3IiCittc2dzdHIgItC/0L7QvNC40LvQutCwIGNyYyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NTQKK21zZ2lkICJzZWVrIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0L/RgNC4INCy0YHRgtCw0L3QvtCy0LvQtdC90L3RliDQv9C+0LfQuNGG0ZbRlyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwNgorbXNnaWQgInJlYWQgcm9tZnMgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDRh9C40YLQsNC90L3RjyByb21mcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMzOAorbXNnaWQgInJvb3QgaW5vZGUgaXMgbm90IGRpcmVjdG9yeSIKK21zZ3N0ciAi0LrQvtGA0LXQvdC10LLQuNC5INCy0YPQt9C+0Lsg0L3QtSDRlCDQutCw0YLQsNC70L7Qs9C+0LwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHJvb3Qgb2Zmc2V0ICglbHUpIgorbXNnc3RyICLQv9C+0LzQuNC70LrQvtCy0LjQuSDQt9GB0YPQsiDQutC+0YDQtdC90Y8gKCVsdSkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjAKK21zZ2lkICJkYXRhIGJsb2NrIHRvbyBsYXJnZSIKK21zZ3N0ciAi0LHQu9C+0Log0LTQsNC90LjRhSDRlCDQvdCw0LTRgtC+INCy0LXQu9C40LrQuNC8IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgImRlY29tcHJlc3Npb24gZXJyb3I6ICVzIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDRgNC+0LfQv9Cw0LrQvtCy0YPQstCw0L3QvdGPOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgIGhvbGUgYXQgJWx1ICglenUpXG4iCittc2dzdHIgIiAg0LTRltGA0LrQsCDQvdCwICVsdSAoJXp1KVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Mzk3IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICB1bmNvbXByZXNzaW5nIGJsb2NrIGF0ICVsdSB0byAlbHUgKCVsdSlcbiIKK21zZ3N0ciAiICDRgNC+0LfQv9Cw0LrQvtCy0YPRlNC80L4g0LHQu9C+0Log0LcgJWx1INC00L4gJWx1ICglbHUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJsb2NrICglbGQpIGJ5dGVzIgorbXNnc3RyICLQvdC10LHQu9C+0LrQvtCy0ZYgKCVsZCkg0LHQsNC50YLQuCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwOAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tc2l6ZSAoJWxkIHZzICVsZCkgYnl0ZXMiCittc2dzdHIgItCx0LXQt9GA0L7Qt9C80ZbRgNC90ZYgKCVsZCwg0LAg0L3QtSAlbGQpINCx0LDQudGC0LgiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MTMgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxNgorIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDQgbWlzYy11dGlscy91dWlkZC5jOjM3NSBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzgyCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUzNSBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1OCBzeXMtdXRpbHMvc3dhcG9uLmM6Mzg5CisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQ6ICVzIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCB3cml0ZTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAibGNob3duIGZhaWxlZDogJXMiCittc2dzdHIgItC/0L7QvNC40LvQutCwIGxjaG93bjogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgY2hvd246ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgInV0aW1lIGZhaWxlZDogJXMiCittc2dzdHIgItC/0L7QvNC40LvQutCwIHV0aW1lOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiaW5vZGUg0LrQsNGC0LDQu9C+0LPRgyDQvNCw0ZQg0L3Rg9C70YzQvtCy0LjQuSDQt9GB0YPQsiDRliDQvdC10L3Rg9C70YzQvtCy0LjQuSDRgNC+0LfQvNGW0YA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1rZGlyIGZhaWxlZDogJXMiCittc2dzdHIgItC/0L7QvNC40LvQutCwIG1rZGlyOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3NgorbXNnaWQgImZpbGVuYW1lIGxlbmd0aCBpcyB6ZXJvIgorbXNnc3RyICLRgNC+0LfQvNGW0YAg0L3QsNC30LLQuCDRhNCw0LnQu9CwINGUINC90YPQu9GM0L7QstC40LwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NzgKK21zZ2lkICJiYWQgZmlsZW5hbWUgbGVuZ3RoIgorbXNnc3RyICLQv9C+0LzQuNC70LrQvtCy0LjQuSDRgNC+0LfQvNGW0YAg0L3QsNC30LLQuCDRhNCw0LnQu9CwIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDg0Cittc2dpZCAiYmFkIGlub2RlIG9mZnNldCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60L7QstC40Lkg0LLRltC00YHRgtGD0L8g0LLRg9C30LvQsCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ5OQorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplIgorbXNnc3RyICJpbm9kZSDRhNCw0LnQu9CwINC80LDRlCDQvdGD0LvRjNC+0LLQuNC5INC30YHRg9CyINGWINC90LXQvdGD0LvRjNC+0LLQuNC5INGA0L7Qt9C80ZbRgCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUwMgorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gc2l6ZSBhbmQgbm9uLXplcm8gb2Zmc2V0IgorbXNnc3RyICJpbm9kZSDRhNCw0LnQu9CwINC80LDRlCDQvdGD0LvRjNC+0LLQuNC5INGA0L7Qt9C80ZbRgCDRliDQvdC10L3Rg9C70YzQvtCy0LjQuSDQt9GB0YPQsiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMQorbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gb2Zmc2V0IgorbXNnc3RyICLRgdC40LzQstC+0LvRltGH0L3QtSDQv9C+0YHQuNC70LDQvdC90Y8g0LzQsNGUINC90YPQu9GM0L7QstC40Lkg0LLRltC00YHRgtGD0L8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzMKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIHNpemUiCittc2dzdHIgItGB0LjQvNCy0L7Qu9GW0YfQvdC1INC/0L7RgdC40LvQsNC90L3RjyDQvNCw0ZQg0L3Rg9C70YzQvtCy0LjQuSDRgNC+0LfQvNGW0YAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2l6ZSBlcnJvciBpbiBzeW1saW5rOiAlcyIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0YDQvtC30LzRltC90YMg0YMg0YHQuNC80LLQvtC70ZbRh9C90L7QvNGDINC/0L7RgdC40LvQsNC90L3RljogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3ltbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCBzeW1saW5rOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU2OQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGZpbGUgaGFzIG5vbi16ZXJvIG9mZnNldDogJXMiCittc2dzdHIgItC+0YHQvtCx0LvQuNCy0LjQuSDRhNCw0LnQuyDQvNCw0ZQg0L3QtdC90YPQu9GM0L7QstC40Lkg0LLRltC00YHRgtGD0L86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgImZpZm8gaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICJmaWZvINC80LDRlCDQvdC10L3Rg9C70YzQvtCy0LjQuSDRgNC+0LfQvNGW0YA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgItGB0L7QutC10YIg0LzQsNGUINC90LXQvdGD0LvRjNC+0LLQuNC5INGA0L7Qt9C80ZbRgDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYm9ndXMgbW9kZTogJXMgKCVvKSIKK21zZ3N0ciAi0YTRltC60YLQuNCy0L3QuNC5INGA0LXQttC40Lw6ICVzICglbykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtub2QgZmFpbGVkOiAlcyIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgbWtub2Q6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjI5CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIHN0YXJ0ICglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQgKCV6dSkiCittc2dzdHIgItC/0L7Rh9Cw0YLQvtC6INC00LDQvdC40YUg0LrQsNGC0LDQu9C+0LPRgyAoJWx1KSA8INGA0L7Qt9C80ZbRgChzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArINC/0L7Rh9Cw0YLQvtC6ICglenUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIGVuZCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCittc2dzdHIgItC30LDQstC10YDRiNC10L3QvdGPINC00LDQvdC40YUg0LrQsNGC0LDQu9C+0LPRgyAoJWx1KSAhPSDQv9C+0YfQsNGC0LrRgyDQtNCw0L3QuNGFINGE0LDQudC70ZbQsiAoJWx1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzNworbXNnaWQgImludmFsaWQgZmlsZSBkYXRhIG9mZnNldCIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQt9GB0YPQsiDQtNCw0L3QuNGFINGE0LDQudC70LAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2ODQgZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjcyNgorbXNnaWQgImludmFsaWQgYmxvY2tzaXplIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0YDQvtC30LzRltGA0YMg0YMg0LHQu9C+0LrQsNGFIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBPS1xuIgorbXNnc3RyICIlczog0JPQsNGA0LDQt9C0XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NAorbXNnaWQgIkNoZWNrIHRoZSBjb25zaXN0ZW5jeSBvZiBhIE1pbml4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgItCf0LXRgNC10LLRltGA0LjRgtC4INC90LAg0YbRltC70ZbRgdC90ZbRgdGC0Ywg0YTQsNC50LvQvtCy0YMg0YHQuNGB0YLQtdC80YMgTWluaXguXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NgorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgIGxpc3QgYWxsIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICDQstC40LLQtdGB0YLQuCDRgdC/0LjRgdC+0Log0YPRgdGW0YUg0L3QsNC30LIg0YTQsNC50LvRltCyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NworbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgIGF1dG9tYXRpYyByZXBhaXJcbiIKK21zZ3N0ciAiIC1hLCAtLWF1dG8gICAgICAg0LDQstGC0L7QvNCw0YLQuNGH0L3QviDQstC40L/RgNCw0LLQu9GP0YLQuFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODgKK21zZ2lkICIgLXIsIC0tcmVwYWlyICAgICBpbnRlcmFjdGl2ZSByZXBhaXJcbiIKK21zZ3N0ciAiIC1yLCAtLXJlcGFpciAgICAg0ZbQvdGC0LXRgNCw0LrRgtC40LLQvdC+INCy0LjQv9GA0LDQstC70Y/RgtC4XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGJlIHZlcmJvc2VcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAg0LTQvtC60LvQsNC00L3QuNC5INGA0LXQttC40LxcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkwCittc2dpZCAiIC1zLCAtLXN1cGVyICAgICAgb3V0cHV0IHN1cGVyLWJsb2NrIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAtcywgLS1zdXBlciAgICAgINCy0LjQstC10YHRgtC4INC00LDQvdGWINGJ0L7QtNC+INGB0YPQv9C10YDQsdC70L7QutGW0LJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkxCittc2dpZCAiIC1tLCAtLXVuY2xlYXJlZCAgYWN0aXZhdGUgbW9kZSBub3QgY2xlYXJlZCB3YXJuaW5nc1xuIgorbXNnc3RyICIgLW0sIC0tdW5jbGVhcmVkICDQt9Cw0LTRltGP0YLQuCDRgNC10LbQuNC8INCx0LXQtyDQstC40LvRg9GH0LXQvdC90Y8g0L/QvtC/0LXRgNC10LTQttC10L3RjFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTIKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICBmb3JjZSBjaGVja1xuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICDQv9GA0LjQvNGD0YHQvtCy0LAg0L/QtdGA0LXQstGW0YDQutCwXG4iCisKKyMuIFRSQU5TTEFUT1JTOiB0aGVzZSB5ZXMgbm8gcXVlc3Rpb25zIHVzZXMgcnBtYXRjaCgpLCBhbmQgc2hvdWxkIGJlCisjLiAqIHRyYW5zbGF0ZWQuCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKHkvbik/ICIKK21zZ3N0ciAiJXMgKNGCL9C9INCw0LHQviB5L24pPyAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAobi95KT8gIgorbXNnc3RyICIlcyAo0L0v0YIg0LDQsdC+IG4veSk/ICIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInlcbiIKK21zZ3N0ciAieVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiblxuIgorbXNnc3RyICJuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkLlx0ICIKK21zZ3N0ciAiJXMg0LfQvNC+0L3RgtC+0LLQsNC90L4uXHQgIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODkKK21zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gY29udGludWUiCittc2dzdHIgItCS0Lgg0LTRltC50YHQvdC+INCx0LDQttCw0ZTRgtC1INC/0YDQvtC00L7QstC20LjRgtC4IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2sgYWJvcnRlZC5cbiIKK21zZ3N0ciAi0L/QtdGA0LXQstGW0YDQutGDINC/0LXRgNC10YDQstCw0L3Qvi5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzE5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yIDwgRklSU1RaT05FIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIm5yINC30L7QvdC4IDwgRklSU1RaT05FINGDINGE0LDQudC70ZYgYCVzJy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA+PSBaT05FUyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJuciDQt9C+0L3QuCA+PSBaT05FUyDRgyDRhNCw0LnQu9GWIGAlcycuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQ3Cittc2dpZCAiUmVtb3ZlIGJsb2NrIgorbXNnc3RyICLQktC40LTQsNC70LjRgtC4INCx0LvQvtC6IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogdW5hYmxlIHRvIHNlZWsgdG8gYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgItCf0L7QvNC40LvQutCwINGH0LjRgtCw0L3QvdGPOiDQv9C+0LzQuNC70LrQsCDQv9GA0Lgg0L/QvtC30LjRhtGW0Y7QstCw0L3QvdGWINC90LAg0LHQu9C+0Log0YMg0YTQsNC50LvRliAnJXMnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgItCf0L7QvNC40LvQutCwINGH0LjRgtCw0L3QvdGPOiDQvdC10L/RgNCw0LLQuNC70YzQvdC40Lkg0LHQu9C+0Log0YMg0YTQsNC50LvRliAnJXMnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSW50ZXJuYWwgZXJyb3I6IHRyeWluZyB0byB3cml0ZSBiYWQgYmxvY2tcbiIKKyJXcml0ZSByZXF1ZXN0IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorItCS0L3Rg9GC0YDRltGI0L3RjyDQv9C+0LzQuNC70LrQsDog0YHQv9GA0L7QsdCwINC30LDQv9C40YHRgyDRgyDQv9C+0YjQutC+0LTQttC10L3QuNC5INCx0LvQvtC6XG4iCisi0J7Qv9C10YDQsNGG0ZbRjyDQt9Cw0L/QuNGB0YMg0L/RgNC+0ZbQs9C90L7RgNC+0LLQsNC90LBcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mzg3Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgItC/0L7QvNC40LvQutCwINC/0YDQuCDQv9C+0LfQuNGG0ZbRjtCy0LDQvdC90ZYg0YMg0YTRg9C90LrRhtGW0Zcgd3JpdGVfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJXcml0ZSBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICLQn9C+0LzQuNC70LrQsCDQt9Cw0L/QuNGB0YM6INC/0L7RiNC60L7QtNC20LXQvdC40Lkg0LHQu9C+0Log0YMg0YTQsNC50LvRliAnJXMnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUwNQorbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX3N1cGVyX2Jsb2NrIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDQv9GA0Lgg0L/QvtC30LjRhtGW0Y7QstCw0L3QvdGWINGDINGE0YPQvdC60YbRltGXIHdyaXRlX3N1cGVyX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MDcKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgItC/0L7QvNC40LvQutCwINC30LDQv9C40YHRgyDRgdGD0L/QtdGA0LHQu9C+0LrRgyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTIwCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQt9Cw0L/QuNGB0LDRgtC4INC60LDRgNGC0YMgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyMworbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQt9Cw0L/QuNGB0LDRgtC4INC80LDQv9GDINC30L7QvSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTI2Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQt9Cw0L/QuNGB0LDRgtC4INCy0YPQt9C70LgiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU1OAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBidWZmZXIgZm9yIHN1cGVyYmxvY2siCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQsdGD0YTQtdGAINC00LvRjyDRgdGD0L/QtdGA0LHQu9C+0LrRgyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTYxCittc2dpZCAidW5hYmxlIHRvIHJlYWQgc3VwZXIgYmxvY2siCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L/RgNC+0YfQuNGC0LDRgtC4INGB0YPQv9C10YDQsdC70L7QuiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTgzCittc2dpZCAiYmFkIG1hZ2ljIG51bWJlciBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QsCDRgdC40LPQvdCw0YLRg9GA0LAg0YHRg9C/0LXRgNCx0LvQvtC60LAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4NQorbXNnaWQgIk9ubHkgMWsgYmxvY2tzL3pvbmVzIHN1cHBvcnRlZCIKK21zZ3N0ciAi0J/RltC00YLRgNC40LzRg9GO0YLRjNGB0Y8g0LvQuNGI0LUgMWsg0LHQu9C+0LrQuC/Qt9C+0L3RgyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg3Cittc2dpZCAiYmFkIHNfbmlub2RlcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAi0L/QvtC80LjQu9C60L7QstC1INC/0L7Qu9C1IHNfbmlub2RlcyDRgyDRgdGD0L/QtdGA0LHQu9C+0YbRliIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg5Cittc2dpZCAiYmFkIHNfaW1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90LUgc19pbWFwX2Jsb2NrcyDQv9C+0LvQtSDRgyDRgdGD0L/QtdGA0LHQu9C+0YbRliIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkxCittc2dpZCAiYmFkIHNfZmlyc3RkYXRhem9uZSBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAi0L/QvtC80LjQu9C60L7QstC1INC/0L7Qu9C1IHNfZmlyc3RkYXRhem9uZSDRgyDRgdGD0L/QtdGA0LHQu9C+0YbRliIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk0Cittc2dpZCAiYmFkIHNfem1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90LUgc196bWFwX2Jsb2NrcyDQv9C+0LvQtSDRgyDRgdGD0L/QtdGA0LHQu9C+0YbRliIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjEwCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgbWFwIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINCy0LjQtNGW0LvQuNGC0Lgg0LHRg9GE0LXRgCDQtNC70Y8g0LzQsNC/0Lgg0LLRg9C30LvRltCyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTMKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIG1hcCIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDRgNC+0LfQvNGW0YHRgtC40YLQuCDQsdGD0YTQtdGAINC00LvRjyDQutCw0YDRgtC4INC30L7QvSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE2Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINCy0LjQtNGW0LvQuNGC0Lgg0LHRg9GE0LXRgCDQtNC70Y8g0LLRg9C30LvRltCyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTkKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBjb3VudCIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQstC40LTRltC70LjRgtC4INCx0YPRhNC10YAg0LTQu9GPINC70ZbRh9C40LvRjNC90LjQutCwINCy0YPQt9C70ZbQsiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjIyCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBjb3VudCIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQstC40LTRltC70LjRgtC4INCx0YPRhNC10YAg0LTQu9GPINC70ZbRh9C40LvRjNC90LjQutCwINC30L7QvSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI2Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGUgbWFwIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINC/0YDQvtGH0LjRgtCw0YLQuCDQvNCw0L/RgyDQstGD0LfQu9GW0LIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzMAorbXNnaWQgIlVuYWJsZSB0byByZWFkIHpvbmUgbWFwIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINC/0YDQvtGH0LjRgtCw0YLQuCDQvNCw0L/RgyDQt9C+0L0iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzNAorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlcyIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQv9GA0L7Rh9C40YLQsNGC0Lgg0LLRg9C30LvQuCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorbXNnc3RyICLQn9C+0L/QtdGA0LXQtNC20LXQvdC90Y86IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGlub2Rlc1xuIgorbXNnc3RyICIlbGQg0LLRg9C30LvRltCyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgYmxvY2tzXG4iCittc2dzdHIgIiVsZCDQsdC70L7QutGW0LJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NgorIywgYy1mb3JtYXQKK21zZ2lkICJGaXJzdGRhdGF6b25lPSVqZCAoJWpkKVxuIgorbXNnc3RyICLQn9C10YDRiNCwINC30L7QvdCwINC00LDQvdC40YU9JWpkICglamQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0NQorIywgYy1mb3JtYXQKK21zZ2lkICJab25lc2l6ZT0lZFxuIgorbXNnc3RyICLQoNC+0LfQvNGW0YAg0LfQvtC90Lg9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIk1heHNpemU9JXp1XG4iCittc2dzdHIgItCc0LDQutGBLtGA0L7Qt9C80ZbRgD0lenVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gc3RhdGU9JWRcbiIKK21zZ3N0ciAi0KHRgtCw0L0g0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuD0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm5hbWVsZW49JXpkXG4iCisiXG4iCittc2dzdHIgIiIKKyLQtNC+0LLQti7QvdCw0LfQstC4PSV6ZFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NjQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVkIG1hcmtlZCB1bnVzZWQsIGJ1dCB1c2VkIGZvciBmaWxlICclcydcbiIKK21zZ3N0ciAi0JLRg9C30L7QuyAlZCDQv9C+0LfQvdCw0YfQtdC90LjQuSDRj9C6INCy0ZbQu9GM0L3QuNC5LCDQsNC70LUg0LLQuNC60L7RgNC40YHRgtC+0LLRg9GU0YLRjNGB0Y8g0YMgJyVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NjcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzE3Cittc2dpZCAiTWFyayBpbiB1c2UiCittc2dzdHIgItCf0L7Qt9C90LDRh9C40YLQuCDRj9C6INCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0L3QuNC5IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2ODkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaWxlIGAlcycgaGFzIG1vZGUgJTA1b1xuIgorbXNnc3RyICLQpNCw0LnQuyBgJXMnINC80LDRlCDQv9GA0LDQstCwINC00L7RgdGC0YPQv9GDICUwNW9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Njk2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBpbm9kZSBjb3VudCB0b28gYmlnLlxuIgorbXNnc3RyICLQn9C+0L/QtdGA0LXQtNC20LXQvdC90Y86INC30L3QsNGH0LXQvdC90Y8g0LvRltGH0LjQu9GM0L3QuNC60LAg0LLRg9C30LvRltCyINC90LDQtNGC0L4g0LLQtdC70LjQutC1LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NTUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzYzCittc2dpZCAicm9vdCBpbm9kZSBpc24ndCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAi0LrQvtGA0LXQvdC10LLQuNC5INCy0YPQt9C+0Lsg0L3QtSDRlCDQutCw0YLQsNC70L7Qs9C+0LwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc3NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgaGFzIGJlZW4gdXNlZCBiZWZvcmUuIE5vdyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICLQkdC70L7QuiDQstC20LUg0LLQuNC60L7RgNC40YHRgtC+0LLRg9GU0YLRjNGB0Y8g0YDQsNC90ZbRiNC1LiDQotC10L/QtdGAINGDINGE0LDQudC70ZYgYCVzJy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MDgKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1MgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA4Cittc2dpZCAiQ2xlYXIiCittc2dzdHIgItCe0YfQuNGB0YLQuNGC0LgiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgJWQgaW4gZmlsZSBgJXMnIGlzIG1hcmtlZCBub3QgaW4gdXNlLiIKK21zZ3N0ciAi0JHQu9C+0LogJWQg0Lcg0YTQsNC50LvRgyBgJXMnINC/0L7Qt9C90LDRh9C10L3QuNC5INCy0ZbQu9GM0L3QuNC8LiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzg5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgyMAorbXNnaWQgIkNvcnJlY3QiCittc2dzdHIgItCS0LjQv9GA0LDQstC40YLQuCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTU5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRpcmVjdG9yeSAnJXMnIGNvbnRhaW5zIGEgYmFkIGlub2RlIG51bWJlciBmb3IgZmlsZSAnJS4qcycuIgorbXNnc3RyICLQmtCw0YLQsNC70L7QsyAnJXMnINC80ZbRgdGC0LjRgtGMINC90LXQv9GA0LDQstC40LvRjNC90YMg0LrRltC70YzQutGW0YHRgtGMINCy0YPQt9C70ZbQsiDQtNC70Y8g0YTQsNC50LvRgyAnJS4qcycuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzNQorbXNnaWQgIiBSZW1vdmUiCittc2dzdHIgIiDQktC40LTQsNC70LjRgtC4IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4nIGlzbid0IGZpcnN0XG4iCittc2dzdHIgIiVzOiDQvdC10L/RgNCw0LLQuNC70YzQvdC40Lkg0LrQsNGC0LDQu9C+0LM6INC10LvQtdC80LXQvdGCICcuJyDQvdC1INC/0LXRgNGI0LjQuVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5ODYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4uJyBpc24ndCBzZWNvbmRcbiIKK21zZ3N0ciAiJXM6INC90LXQv9GA0LDQstC40LvRjNC90LjQuSDQutCw0YLQsNC70L7Qszog0LXQu9C10LzQtdC90YIgJy4uJyDQvdC1INC00YDRg9Cz0LjQuVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDk0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMTcKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAi0LLQvdGD0YLRgNGW0YjQvdGPINC/0L7QvNC40LvQutCwIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDk3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IHNpemUgPCAzMiIKK21zZ3N0ciAiJXM6INC90LXQv9GA0LDQstC40LvRjNC90LjQuSDQutCw0YLQsNC70L7Qszog0YDQvtC30LzRltGAIDwgMzIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IGludmFsaWQgaV96b25lLCB1c2UgLS1yZXBhaXIgdG8gZml4XG4iCittc2dzdHIgIiVzOiDQv9C+0LzQuNC70LrQvtCy0LjQuSDQutCw0YLQsNC70L7Qszog0L3QtdC60L7RgNC10LrRgtC90LUg0LfQvdCw0YfQtdC90L3RjyBpX3pvbmUsINGB0LrQvtGA0LjRgdGC0LDQudGC0LXRgdGPIC0tcmVwYWlyINC00LvRjyDQstC40L/RgNCw0LLQu9C10L3QvdGPXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMzIKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBiYWRfem9uZSIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0L/RgNC4INC/0L7Qt9C40YbRltGO0LLQsNC90L3RliDRgyDRhNGD0L3QutGG0ZbRlyBiYWRfem9uZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBtb2RlIG5vdCBjbGVhcmVkLiIKK21zZ3N0ciAi0KDQtdC20LjQvCBpbm9kZSAlbHUg0L3QtSDRgdC60LjQvdGD0YLQvi4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbm90IHVzZWQsIG1hcmtlZCB1c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICJJbm9kZSAlbHUg0L3QtSDQstC40LrQvtGA0LjRgdGC0LDQvdC+LCDRhdC+0YfQsCDQudC+0LPQviDQv9C+0LfQvdCw0YfQtdC90L4g0Y/QuiDQstC40LrQvtGA0LjRgdGC0LDQvdC40Lkg0L3QsCDQutCw0YDRgtGWLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSB1c2VkLCBtYXJrZWQgdW51c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICJJbm9kZSAlbHUg0LLQuNC60L7RgNC40YHRgtCw0L3Qviwg0YXQvtGH0LAg0LnQvtCz0L4g0L/QvtC30L3QsNGH0LXQvdC+INGP0Log0L3QtdCy0LjQutC+0YDQuNGB0YLQsNC90LjQuSDQvdCwINC60LDRgNGC0ZYuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTQKK21zZ2lkICJTZXQiCittc2dzdHIgItCS0YHRgtCw0L3QvtCy0LjRgtC4IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTYyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IChtb2RlID0gJTA3byksIGlfbmxpbmtzPSVkLCBjb3VudGVkPSVkLiIKK21zZ3N0ciAiSW5vZGUgJWx1ICjRgNC10LbQuNC8INC00L7RgdGC0YPQv9GDID0gJTA3byksIGlfbmxpbmtzPSVkLCDQu9GW0YfQuNC70YzQvdC40Lo9JWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjEKK21zZ2lkICJTZXQgaV9ubGlua3MgdG8gY291bnQiCittc2dzdHIgItCS0YHRgtCw0L3QvtCy0LjRgtC4IGlfbmxpbmtzINGDINC30L3QsNGH0LXQvdC90Y8g0LvRltGH0LjQu9GM0L3QuNC60LAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIzMworIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbWFya2VkIGluIHVzZSwgbm8gZmlsZSB1c2VzIGl0LiIKK21zZ3N0ciAi0JfQvtC90LAgJWx1OiDQv9C+0LfQvdCw0YfQtdC90LAg0Y/QuiDQstC40LrQvtGA0LjRgdGC0LDQvdCwLCDRhdC+0YfQsCDQvdC1INCy0LjQutC+0YDQuNGB0YLQvtCy0YPRlNGC0YzRgdGPINC20L7QtNC90LjQvCDRhNCw0LnQu9C+0LwuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTc5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzUKK21zZ2lkICJVbm1hcmsiCittc2dzdHIgItCX0L3Rj9GC0Lgg0L/QvtC30L3QsNGH0LXQvdC90Y8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogaW4gdXNlLCBjb3VudGVkPSVkXG4iCittc2dzdHIgItCX0L7QvdCwICVsdTog0LLQuNC60L7RgNC40YHRgtC+0LLRg9GU0YLRjNGB0Y8sINC70ZbRh9C40LvRjNC90LjQuj0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTg3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAi0JfQvtC90LAgJWx1OiDQvdC1INCy0LjQutC+0YDQuNGB0YLQvtCy0YPRlNGC0YzRgdGPLCDQu9GW0YfQuNC70YzQvdC40Lo9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5MQorbXNnaWQgImJhZCBpbm9kZSBzaXplIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdC40Lkg0YDQvtC30LzRltGAIGlub2RlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjkzCittc2dpZCAiYmFkIHYyIGlub2RlIHNpemUiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90LjQuSDQvdC+0LzQtdGAINCy0YPQt9C70LAg0LLQtdGA0YHRltGXIDIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzMzcKK21zZ2lkICJuZWVkIHRlcm1pbmFsIGZvciBpbnRlcmFjdGl2ZSByZXBhaXJzIgorbXNnc3RyICLQtNC70Y8g0ZbQvdGC0LXRgNCw0LrRgtC40LLQvdC+0LPQviDQstGW0LTQvdC+0LLQu9C10L3QvdGPINC90LXQvtCx0YXRltC00L3QuNC5INGC0LXRgNC80ZbQvdCw0LsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0ZbQtNC60YDQuNGC0LggJXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGNsZWFuLCBubyBjaGVjay5cbiIKK21zZ3N0ciAiJXMgLSDRh9C40YHRgtC40LksINC/0LXRgNC10LLRltGA0LrQsCDQvdC1INCy0LjQutC+0L3Rg9Cy0LDRgtC40LzQtdGC0YzRgdGPLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiAlcy5cbiIKK21zZ3N0ciAi0J/RgNC40LzRg9GB0L7QstCwINC/0LXRgNC10LLRltGA0LrQsCDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4INC90LAgJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBvbiAlcyBpcyBkaXJ0eSwgbmVlZHMgY2hlY2tpbmcuXG4iCittc2dzdHIgItCk0LDQudC70L7QstCwINGB0LjRgdGC0LXQvNCwINC90LAgJXMg0L/QvtGI0LrQvtC00LbQtdC90LAsINC/0L7RgtGA0ZbQsdC90LAg0L/QtdGA0LXQstGW0YDQutCwLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmxkIGlub2RlcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2bGQg0LLQuNC60L7RgNC40YHRgtCw0L3QuNGFINCy0YPQt9C70ZbQsiAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTZsZCB6b25lcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiJTZsZCDQstC40LrQvtGA0LjRgdGC0LDQvdC40YUg0LfQvtC9ICglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM5NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZkIHJlZ3VsYXIgZmlsZXNcbiIKKyIlNmQgZGlyZWN0b3JpZXNcbiIKKyIlNmQgY2hhcmFjdGVyIGRldmljZSBmaWxlc1xuIgorIiU2ZCBibG9jayBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgbGlua3NcbiIKKyIlNmQgc3ltYm9saWMgbGlua3NcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmlsZXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2ZCDQt9Cy0LjRh9Cw0LnQvdC40YUg0YTQsNC50LvRltCyXG4iCisiJTZkINC60LDRgtCw0LvQvtCz0ZbQslxuIgorIiU2ZCDRhNCw0LnQu9GW0LIg0YHQuNC80LLQvtC70YzQvdC40YUg0L/RgNC40YHRgtGA0L7Rl9CyXG4iCisiJTZkINGE0LDQudC70ZbQsiDQsdC70L7Rh9C90LjRhSDQv9GA0LjRgdGC0YDQvtGX0LJcbiIKKyIlNmQg0L/QvtGB0LjQu9Cw0L3RjFxuIgorIiU2ZCDRgdC40LzQstC+0LvRjNC90LjRhSDQv9C+0YHQuNC70LDQvdGMXG4iCisiLS0tLS0tXG4iCisiJTZkINGE0LDQudC70ZbQslxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDExCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiRklMRSBTWVNURU0gSEFTIEJFRU4gQ0hBTkdFRFxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyLQpNCQ0JnQm9Ce0JLQkCDQodCY0KHQotCV0JzQkCDQl9CQ0JfQndCQ0JvQkCDQl9Cc0IbQnVxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MzMKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTM5IGRpc2stdXRpbHMvcGFydHguYzoxMDM1IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMgorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTggc3lzLXV0aWxzL2RtZXNnLmM6NjU5IHN5cy11dGlscy93ZGN0bC5jOjM0NgorIzogc3lzLXV0aWxzL3dkY3RsLmM6NDExIHRlcm0tdXRpbHMvc2NyaXB0LmM6MjcyIHRlcm0tdXRpbHMvc2NyaXB0LmM6MzQ5CisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI0OAorbXNnaWQgIndyaXRlIGZhaWxlZCIKK21zZ3N0ciAi0LfQsNC/0LjRgSDQt9Cw0LLQtdGA0YjQuNCy0YHRjyDQv9C+0LzQuNC70LrQvtGOIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1pZ2h0IG5vdCBiZSBhbiBJU08gZmlsZXN5c3RlbSIKK21zZ3N0ciAiJXM6INC80L7QttC70LjQstC+INC90LUg0ZQg0YTQsNC50LvQvtCy0L7RjiDRgdC40YHRgtC10LzQvtGOIElTTyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTM5CisjLCBjLWZvcm1hdAorbXNnaWQgInNlZWsgZXJyb3Igb24gJXMiCittc2dzdHIgItC/0L7QvNC40LvQutCwINC/0L7Qt9C40YbRltGO0LLQsNC90L3RjyDQvdCwICVzIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhZCBlcnJvciBvbiAlcyIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0YfQuNGC0LDQvdC90Y8g0L3QsCAlcyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlY3RvciBjb3VudDogJWQsIHNlY3RvciBzaXplOiAlZFxuIgorbXNnc3RyICLQutGW0LvRjNC60ZbRgdGC0Ywg0YHQtdC60YLQvtGA0ZbQsjogJWQsINGA0L7Qt9C80ZbRgCDRgdC10LrRgtC+0YDQsDogJWRcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGlzbzk2NjBfaW1hZ2VfZmlsZT5cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIDzRhNCw0LnQu1/QvtCx0YDQsNC30YNfaXNvOTY2MD5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTc0Cittc2dpZCAiU2hvdyB0aGUgbGVuZ3RoIG9mIGFuIElTTy05NjYwIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgItCf0L7QutCw0LfQsNGC0Lgg0LTQvtCy0LbQuNC90YMg0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuCBJU08tOTY2MC5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTc3Cittc2dpZCAiIC1kLCAtLWRpdmlzb3I9PG51bWJlcj4gIGRpdmlkZSB0aGUgYW1vdW50IG9mIGJ5dGVzIGJ5IDxudW1iZXI+XG4iCittc2dzdHIgIiAtZCwgLS1kaXZpc29yPTzRh9C40YHQu9C+PiAgINC/0L7QtNGW0LvQuNGC0Lgg0LrRltC70YzQutGW0YHRgtGMINCx0LDQudGC0ZbQsiDQvdCwIDzRh9C40YHQu9C+PlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzgKK21zZ2lkICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgc2hvdyBzZWN0b3IgY291bnQgYW5kIHNpemVcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgINCy0LjQstC10YHRgtC4INC00LDQvdGWINGJ0L7QtNC+INC60ZbQu9GM0LrQvtGB0YLRliDRgdC10LrRgtC+0YDRltCyINGC0LAg0YDQvtC30LzRltGA0YNcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MjEwCittc2dpZCAiaW52YWxpZCBkaXZpc29yIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0L/QvtC00ZbQu9GDIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorbXNnc3RyICLQmtC+0YDQuNGB0YLRg9Cy0LDQvdC90Y86ICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdINC/0YDQuNGB0YLRgNGW0LkgW9C60ZbQu9GM0LrRltGB0YLRjCDQsdC70L7QutGW0LJdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3NworbXNnaWQgIk1ha2UgYW4gU0NPIGJmcyBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLQodGC0LLQvtGA0LjRgtC4INGE0LDQudC70L7QstGDINGB0LjRgdGC0LXQvNGDIGJmcyBTQ08uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLU4sIC0taW5vZGVzPU5VTSAgICBzcGVjaWZ5IGRlc2lyZWQgbnVtYmVyIG9mIGlub2Rlc1xuIgorIiAtViwgLS12bmFtZT1OQU1FICAgIHNwZWNpZnkgdm9sdW1lIG5hbWVcbiIKKyIgLUYsIC0tZm5hbWU9TkFNRSAgICBzcGVjaWZ5IGZpbGUgc3lzdGVtIG5hbWVcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorIiAtYyAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKKyIgLWwgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAtViBhcyB2ZXJzaW9uIG11c3QgYmUgb25seSBvcHRpb25cbiIKKyIgLWgsIC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisi0J/QsNGA0LDQvNC10YLRgNC4OlxuIgorIiAtTiwgLS1pbm9kZXM90KfQmNCh0JvQniAg0LLQutCw0LfQsNGC0Lgg0LHQsNC20LDQvdGDINC60ZbQu9GM0LrRltGB0YLRjCBpbm9kZVxuIgorIiAtViwgLS12bmFtZT3QndCQ0JfQktCQICAg0LLQutCw0LfQsNGC0Lgg0L3QsNC30LLRgyDRgtC+0LzRg1xuIgorIiAtRiwgLS1mbmFtZT3QndCQ0JfQktCQICAg0LLQutCw0LfQsNGC0Lgg0L3QsNC30LLRgyDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAg0L/QvtGP0YHQvdC40YLQuCDQtNGW0ZcsINGP0LrRliDQsdGD0LTQtSDQstC40LrQvtC90LDQvdC+XG4iCisiIC1jICAgICAgICAgICAgICAgICAg0YbQtdC5INC/0LDRgNCw0LzQtdGC0YAg0LHRg9C00LUg0LHQtdC3INC/0L7Qv9C10YDQtdC00LbQtdC90L3RjyDQv9GA0L7Qv9GD0YnQtdC90L5cbiIKKyIgLWwgICAgICAgICAgICAgICAgICDRhtC10Lkg0L/QsNGA0LDQvNC10YLRgCDQsdGD0LTQtSDQsdC10Lcg0L/QvtC/0LXRgNC10LTQttC10L3QvdGPINC/0YDQvtC/0YPRidC10L3QvlxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgINCy0LjQstC10YHRgtC4INC00LDQvdGWINGJ0L7QtNC+INCy0LXRgNGB0ZbRlyDRliDQstC40LnRgtC4XG4iCisiICAgICAgICAgICAgICAgICAgICAgLVYg0LTQu9GPINCy0LXRgNGB0ZbRlyDQvNC+0LbQvdCwINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQu9C40YjQtSDQvtC00LjQvSDRgNCw0LdcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICDQstC40LLQtdGB0YLQuCDRhtC1INC00L7QstGW0LTQutC+0LLQtSDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8g0ZYg0LLQuNC50YLQuFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTQ0Cittc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QsCDQutGW0LvRjNC60ZbRgdGC0YwgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTAKK21zZ2lkICJ2b2x1bWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAi0L3QsNC30LLQsCDRgtC+0LzRgyDQt9Cw0L3QsNC00YLQviDQtNC+0LLQs9CwIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU3Cittc2dpZCAiZnNuYW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgItC90LDQt9Cy0LAg0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuCDQvdCw0LTRgtC+INC00L7QstCz0LAiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTMKK21zZ2lkICJpbnZhbGlkIGJsb2NrLWNvdW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QsCDQutGW0LvRjNC60ZbRgdGC0Ywg0LHQu9C+0LrRltCyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INGA0L7Qt9C80ZbRgCAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJibG9ja3MgYXJndW1lbnQgdG9vIGxhcmdlLCBtYXggaXMgJWxsdSIKK21zZ3N0ciAi0LDRgNCz0YPQvNC10L3RgiDQsdC70L7QutGW0LIg0ZQg0L3QsNC00YLQviDQstC10LvQuNC60LjQvCwg0LzQsNC60YHQuNC80LDQu9GM0L3QuNC8INGUINC30L3QsNGH0LXQvdC90Y8gJWxsdSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIxOQorbXNnaWQgInRvbyBtYW55IGlub2RlcyAtIG1heCBpcyA1MTIiCittc2dzdHIgItC90LDQtNGC0L4g0LHQsNCz0LDRgtC+INCy0YPQt9C70ZbQsiAtINC80LDQutGB0LjQvNGD0LwgNTEyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UsIG5lZWQgYXQgbGVhc3QgJWxsdSBibG9ja3MiCittc2dzdHIgItC90LUg0LLQuNGB0YLQsNGH0LDRlCDQv9GA0L7RgdGC0L7RgNGDLCDQv9C+0YLRgNGW0LHQvdC+INC/0YDQuNC90LDQudC80L3RliAlbGx1INCx0LvQvtC60ZbQsiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2U6ICVzXG4iCittc2dzdHIgItCf0YDQuNGB0YLRgNGW0Lk6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVm9sdW1lOiA8JS02cz5cbiIKK21zZ3N0ciAi0KLQvtC8OiA8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJGU25hbWU6IDwlLTZzPlxuIgorbXNnc3RyICLQndCw0LfQstCwINGELtGBLjogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tTaXplOiAlZFxuIgorbXNnc3RyICLQoNC+0LfQvNGW0YAg0LHQu9C+0LrRgzogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gMSBibG9jaylcbiIKK21zZ3N0ciAiSW5vZGU6ICVsZCAo0YMgMSDQsdC70L7RhtGWKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAlbGx1IGJsb2NrcylcbiIKK21zZ3N0ciAiSW5vZGU6ICVsZCAo0YMgJWxsdSDQsdC70L7QutCw0YUpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tzOiAlbGx1XG4iCittc2dzdHIgItCR0LvQvtC60ZbQsjogJWxsdVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlIGVuZDogJWQsIERhdGEgZW5kOiAlZFxuIgorbXNnc3RyICLQmtGW0L3QtdGG0Ywg0LLRg9C30LvRltCyOiAlZCwg0JrRltC90LXRhtGMINC00LDQvdC40YU6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTcKK21zZ2lkICJlcnJvciB3cml0aW5nIHN1cGVyYmxvY2siCittc2dzdHIgItC/0L7QvNC40LvQutCwINC30LDQv9C40YHRgyDRgdGD0L/QtdGA0LHQu9C+0LrRgyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI3OAorbXNnaWQgImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0LfQsNC/0LjRgdGDINC60L7RgNC10L3QtdCy0L7Qs9C+INCy0YPQt9C70LAiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODMKK21zZ2lkICJlcnJvciB3cml0aW5nIGlub2RlIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDQt9Cw0L/QuNGB0YMg0LLRg9C30LvQsCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4NgorbXNnaWQgInNlZWsgZXJyb3IiCittc2dzdHIgItC/0L7QvNC40LvQutCwINC/0L7Qt9C40YbRltGO0LLQsNC90L3RjyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5MgorbXNnaWQgImVycm9yIHdyaXRpbmcgLiBlbnRyeSIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0LfQsNC/0LjRgdGDINC10LvQtdC80LXQvdGC0LAgJy4nIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjk2Cittc2dpZCAiZXJyb3Igd3JpdGluZyAuLiBlbnRyeSIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0LfQsNC/0LjRgdGDINC10LvQtdC80LXQvdGC0LAgJy4uJyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjbG9zaW5nICVzIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDQt9Cw0LrRgNC40LLQsNC90L3RjyAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXQgPHR5cGU+XSBbZnMtb3B0aW9uc10gPGRldmljZT4gWzxzaXplPl1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIFstdCA80YLQuNC/Pl0gW9C/0LDRgNCw0LzQtdGC0YDQuCDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4XSA80L/RgNC40YHRgtGA0ZbQuT4gWzzRgNC+0LfQvNGW0YA+XVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0OAorbXNnaWQgIk1ha2UgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLQodGC0LLQvtGA0LjRgtC4INGE0LDQudC70L7QstGDINGB0LjRgdGC0LXQvNGDIExpbnV4LlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICIgLXQsIC0tdHlwZT08dHlwZT4gIGZpbGVzeXN0ZW0gdHlwZTsgd2hlbiB1bnNwZWNpZmllZCwgZXh0MiBpcyB1c2VkXG4iCittc2dzdHIgIiAtdCwgLS10eXBlPTzRgtC40L8+ICAg0YLQuNC/INGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80LguINCv0LrRidC+INC90LUg0LLQutCw0LfQsNC90L4sINCy0LjQutC+0YDQuNGB0YLQvtCy0YPRlNGC0YzRgdGPIGV4dDIuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgZnMtb3B0aW9ucyAgICAgcGFyYW1ldGVycyBmb3IgdGhlIHJlYWwgZmlsZXN5c3RlbSBidWlsZGVyXG4iCittc2dzdHIgIiAgICAgZnMtb3B0aW9ucyAgICAg0L/QsNGA0LDQvNC10YLRgNC4INC00LvRjyDRgdC/0YDQsNCy0LbQvdGM0L7Qs9C+INC30LDRgdC+0LHRgyDQv9C+0LHRg9C00L7QstC4INGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80LhcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8ZGV2aWNlPiAgICAgICBwYXRoIHRvIHRoZSBkZXZpY2UgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIgICAgIDzQv9GA0LjRgdGC0YDRltC5PiAgICAg0YjQu9GP0YUg0LTQviDQv9GA0LjRgdGC0YDQvtGOLCDRj9C60LjQuSDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0LjQvNC10YLRjNGB0Y9cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8c2l6ZT4gICAgICAgICBudW1iZXIgb2YgYmxvY2tzIHRvIGJlIHVzZWQgb24gdGhlIGRldmljZVxuIgorbXNnc3RyICIgICAgIDzRgNC+0LfQvNGW0YA+ICAgICAgINC60ZbQu9GM0LrRltGB0YLRjCDQsdC70L7QutGW0LIsINGP0LrRliDQsdGD0LTQtSDQstC40LrQvtGA0LjRgdGC0LDQvdC+INC90LAg0L/RgNC40YHRgtGA0L7Rl1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeWluZyAtViBtb3JlIHRoYW4gb25jZSB3aWxsIGNhdXNlIGEgZHJ5LXJ1blxuIgorbXNnc3RyICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICDQstC40LLQtdGB0YLQuCDQtNCw0L3RliDRidC+0LTQviDQtNGW0LksINGP0LrRliDQstC40LrQvtC90YPRjtGC0YzRgdGPO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICDQstC40LfQvdCw0YfQtdC90L3RjyDQtNC10LrRltC70YzQutC+0YUgLVYg0L/RgNC40LfQstC+0LTQuNGC0Ywg0LTQviDRgtC10YHRgtC+0LLQvtCz0L4g0LfQsNC/0YPRgdC60YNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJzaW9uICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0O1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAtViBhcyAtLXZlcnNpb24gbXVzdCBiZSB0aGUgb25seSBvcHRpb25cbiIKK21zZ3N0ciAiIgorIiAtViwgLS12ZXJzaW9uICAgINCy0LjQstC10YHRgtC4INC00LDQvdGWINGJ0L7QtNC+INCy0LXRgNGB0ZbRlyDRliDQstC40LnRgtC4O1xuIgorIiAgICAgICAgICAgICAgICAgICAgLVYg0Y/QuiAtLXZlcnNpb24g0LzQsNGUINCx0YPRgtC4INGU0LTQuNC90LjQvCDQv9Cw0YDQsNC80LXRgtGA0L7QvFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICIgLWgsIC0taGVscCAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1oLCAtLWhlbHAgICAgICAgICDQstC40LLQtdGB0YLQuCDRgtC10LrRgdGC0L7QstGDINC00L7QstGW0LTQutGDINGWINC30LDQstC10YDRiNC40YLQuCDRgNC+0LHQvtGC0YNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6MTM5IGxpYi9leGVjX3NoZWxsLmM6NDkgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjMzCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2NTcgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTkyCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODAwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDQgc2NoZWR1dGlscy9jaHJ0LmM6NTU4CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjI2MCBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMzkgc3lzLXV0aWxzL2Zsb2NrLmM6MTIyCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQzMCBzeXMtdXRpbHMvcHJsaW1pdC5jOjY0NCBzeXMtdXRpbHMvcnRjd2FrZS5jOjU3NworIzogc3lzLXV0aWxzL3NldGFyY2guYzozMjQgc3lzLXV0aWxzL3NldGFyY2guYzo0MDMgc3lzLXV0aWxzL3NldHNpZC5jOjExNQorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM0MCBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNDIgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NjEKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTgxIHRleHQtdXRpbHMvcGcuYzoxMzc1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBleGVjdXRlICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0LjQutC+0L3QsNGC0LggJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVzYWdlOiAlcyBbLWhdIFstdl0gWy1iIGJsa3NpemVdIFstZSBlZGl0aW9uXSBbLU4gZW5kaWFuXSBbLWkgZmlsZV0gWy1uIG5hbWVdIGRpcm5hbWUgb3V0ZmlsZVxuIgorIiAtaCAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorIiAtdiAgICAgICAgIGJlIHZlcmJvc2VcbiIKKyIgLUUgICAgICAgICBtYWtlIGFsbCB3YXJuaW5ncyBlcnJvcnMgKG5vbi16ZXJvIGV4aXQgc3RhdHVzKVxuIgorIiAtYiBibGtzaXplIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgbXVzdCBlcXVhbCBwYWdlIHNpemVcbiIKKyIgLWUgZWRpdGlvbiBzZXQgZWRpdGlvbiBudW1iZXIgKHBhcnQgb2YgZnNpZClcbiIKKyIgLU4gZW5kaWFuICBzZXQgY3JhbWZzIGVuZGlhbm5lc3MgKGJpZ3xsaXR0bGV8aG9zdCksIGRlZmF1bHQgaG9zdFxuIgorIiAtaSBmaWxlICAgIGluc2VydCBhIGZpbGUgaW1hZ2UgaW50byB0aGUgZmlsZXN5c3RlbSAocmVxdWlyZXMgPj0gMi40LjApXG4iCisiIC1uIG5hbWUgICAgc2V0IG5hbWUgb2YgY3JhbWZzIGZpbGVzeXN0ZW1cbiIKKyIgLXAgICAgICAgICBwYWQgYnkgJWQgYnl0ZXMgZm9yIGJvb3QgY29kZVxuIgorIiAtcyAgICAgICAgIHNvcnQgZGlyZWN0b3J5IGVudHJpZXMgKG9sZCBvcHRpb24sIGlnbm9yZWQpXG4iCisiIC16ICAgICAgICAgbWFrZSBleHBsaWNpdCBob2xlcyAocmVxdWlyZXMgPj0gMi4zLjM5KVxuIgorIiBkaXJuYW1lICAgIHJvb3Qgb2YgdGhlIGZpbGVzeXN0ZW0gdG8gYmUgY29tcHJlc3NlZFxuIgorIiBvdXRmaWxlICAgIG91dHB1dCBmaWxlXG4iCittc2dzdHIgIiIKKyLQutC+0YDQuNGB0YLRg9Cy0LDQvdC90Y86ICVzIFstaF0gWy12XSBbLWIg0YDQvtC30Lxf0LHQu10gWy1lINC80L7QtNC40YTRltC60LDRhtGW0Y9dIFstTiDQv9C+0YDRj9C00L7Qul0gWy1pINGE0LDQudC7XSBbLW4g0L3QsNC30LLQsF0g0L3QsNC30LJf0LrQsNGCINGE0LDQudC7X9Cy0LjQslxuIgorIiAtaCAgICAgICAgINCy0LjQstC10YHRgtC4INGG0Y4g0LTQvtCy0ZbQtNC60YNcbiIKKyIgLXYgICAgICAgICDQtNC+0LrQu9Cw0LTQvdGW0YjQuNC5INCy0LjQstGW0LRcbiIKKyIgLUUgICAgICAgICDQstCy0LDQttCw0YLQuCDQstGB0ZYg0L/QvtC/0LXRgNC10LTQttC10L3QvdGPINC/0L7QvNC40LvQutCw0LzQuCAo0L3QtdC90YPQu9GM0L7QstC40Lkg0LrQvtC0INC30LDQstC10YDRiNC10L3QvdGPKVxuIgorIiAtYiDRgNC+0LfQvF/QsdC7INCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDRhtC10Lkg0YDQvtC30LzRltGAINCx0LvQvtC60YMsINC/0L7QstC40L3QtdC9INC00L7RgNGW0LLQvdGO0LLQsNGC0Lgg0YDQvtC30LzRltGA0YMg0YHRgtC+0YDRltC90LrQuFxuIgorIiAtZSDQvNC+0LTQuNGE0ZbQutCw0YbRltGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INC90L7QvNC10YAg0LzQvtC00LjRhNGW0LrQsNGG0ZbRlyAo0YfQsNGB0YLQuNC90LAg0LLRltC0IGZzaWQpXG4iCisiIC1OINC/0L7RgNGP0LTQvtC6INCy0YHRgtCw0L3QvtCy0LjRgtC4INC/0L7RgNGP0LTQvtC6INCx0LDQudGC0ZbQsiDRgyBjcmFtZnMgKGJpZ3xsaXR0bGV8aG9zdCksINGC0LjQv9C+0LLQuNC8INGUIGhvc3RcbiIKKyIgLWkg0YTQsNC50LsgICAg0LLRgdGC0LDQstC40YLQuCDRhNCw0LnQuyDQvtCx0YDQsNC30YMg0YMg0YTQsNC50LvQvtCy0YMg0YHQuNGB0YLQtdC80YMgKNCy0LjQvNCw0LPQsNGUID49IDIuNC4wKVxuIgorIiAtbiDQvdCw0LfQstCwICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0L3QsNC30LLRgyDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4IGNyYW1mc1xuIgorIiAtcCAgICAgICAgINC30LDRgNC10LfQtdGA0LLRg9Cy0LDRgtC4ICVkINCx0LDQudGCINC00LvRjyDQutC+0LTRgyDQt9Cw0LLQsNC90YLQsNC20YPQstCw0YfQsFxuIgorIiAtcyAgICAgICAgINGB0L7RgNGC0YPQstCw0YLQuCDQtdC70LXQvNC10L3RgtC4INC60LDRgtCw0LvQvtCz0YMgKNC30LDRgdGC0LDRgNGW0LvQuNC5INC/0LDRgNCw0LzQtdGC0YAsINGW0LPQvdC+0YDRg9GU0YLRjNGB0Y8pXG4iCisiIC16ICAgICAgICAg0YHRgtCy0L7RgNGO0LLQsNGC0Lgg0Y/QstC90ZYg0LTRltGA0LrQuCAo0LLQuNC80LDQs9Cw0ZQgPj0gMi4zLjM5KVxuIgorIiDQvdCw0LfQsl/QutCw0YIgICDQutC+0YDQtdC90LXQstC40Lkg0LrQsNGC0LDQu9C+0LMg0LzQsNC50LHRg9GC0L3RjNC+0Zcg0YHRgtC40YHQvdGD0YLQvtGXINGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80LhcbiIKKyIg0YTQsNC50Ltf0LLQuNCyICAg0YTQsNC50Lsg0LLQuNCy0L7QtNGDXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhZGxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgcmVhZGxpbms6ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzA4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQv9GA0L7Rh9C40YLQsNGC0Lgg0LrQsNGC0LDQu9C+0LMgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo0NDMKK21zZ2lkICJmaWxlc3lzdGVtIHRvbyBiaWcuICBFeGl0aW5nLiIKK21zZ3N0ciAi0YTQsNC50LvQvtCy0LAg0YHQuNGB0YLQtdC80LAg0L3QsNC00YLQviDQstC10LvQuNC60LAuINCX0LDQstC10YDRiNC10L3QvdGPLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYwMgorIywgYy1mb3JtYXQKK21zZ2lkICJBSUVFRTogYmxvY2sgXCJjb21wcmVzc2VkXCIgdG8gPiAyKmJsb2NrbGVuZ3RoICglbGQpXG4iCittc2dzdHIgIkFJRUVFOiDQsdC70L7QuiBcItGB0YLQuNGB0L3QtdC90LjQuVwiID4gMipibG9ja2xlbmd0aCAoJWxkKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiU2LjJmJSUgKCUrbGQgYnl0ZXMpXHQlc1xuIgorbXNnc3RyICIlNi4yZiUlICglK2xkINCx0LDQudGC0ZbQsilcdCVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNsb3NlIGZpbGUgJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQsNC60YDQuNGC0Lgg0YTQsNC50LsgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MzIKK21zZ2lkICJpbnZhbGlkIGVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0L3QvtC80LXRgNCwINC80L7QtNC40YTRltC60LDRhtGW0ZciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgItCy0LrQsNC30LDQvdC+INC90LXQutC+0YDQtdC60YLQvdC40Lkg0L/QvtGA0Y/QtNC+0Log0LHQsNC50YLRltCyLiDQnNCw0ZQg0LHRg9GC0Lgg0LLQutCw0LfQsNC90L4gwqtiaWfCuywgwqtsaXR0bGXCuyDQsNCx0L4gwqtob3N0wrsiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ3Vlc3RpbWF0ZSBvZiByZXF1aXJlZCBzaXplICh1cHBlciBib3VuZCkgaXMgJWxsZE1CLCBidXQgbWF4aW11bSBpbWFnZSBzaXplIGlzICV1TUIuICBXZSBtaWdodCBkaWUgcHJlbWF0dXJlbHkuIgorbXNnc3RyICLQn9C+0L/QtdGA0LXQtNC20LXQvdC90Y86INC+0YfRltC60YPQstCw0L3QuNC5INC90LXQvtCx0YXRltC00L3QuNC5INGA0L7Qt9C80ZbRgCAo0LLQtdGA0YXQvdGPINC80LXQttCwKSDRgdC60LvQsNC00LDRlCAlbGxkINCc0JEsINCw0LvQtSDQvNCw0LrRgdC40LzQsNC70YzQvdC40Lkg0YDQvtC30LzRltGAINC+0LHRgNCw0LfRgyDigJQgJXUg0JzQkS4g0JzQvtC20LvQuNCy0LUg0L/QtdGA0LXQtNGH0LDRgdC90LUg0LDQstCw0YDRltC50L3QtSDQt9Cw0LLQtdGA0YjQtdC90L3Rjy4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MzAKK21zZ2lkICJST00gaW1hZ2UgbWFwIgorbXNnc3RyICLQutCw0YDRgtC60LAg0L7QsdGA0LDQt9GDIFJPTSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg0MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbmNsdWRpbmc6ICVzXG4iCittc2dzdHIgItCS0LrQu9GO0YfQsNGU0YLRjNGB0Y86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlyZWN0b3J5IGRhdGE6ICV6ZCBieXRlc1xuIgorbXNnc3RyICLQlNCw0L3RliDQutCw0YLQsNC70L7Qs9GDOiAlemQg0LHQsNC50YLRltCyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXZlcnl0aGluZzogJXpkIGtpbG9ieXRlc1xuIgorbXNnc3RyICLQl9Cw0LPQsNC70L7QvDogJXpkINC60ZbQu9C+0LHQsNC50YLRltCyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwZXIgYmxvY2s6ICV6ZCBieXRlc1xuIgorbXNnc3RyICLQodGD0L/QtdGA0LHQu9C+0Lo6ICV6ZCDQsdCw0LnRgtGW0LJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICJDUkM6ICV4XG4iCittc2dzdHIgItCa0L7QvdGC0YDQvtC70YzQvdCwINGB0YPQvNCwOiAleFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODczCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UgYWxsb2NhdGVkIGZvciBST00gaW1hZ2UgKCVsbGQgYWxsb2NhdGVkLCAlenUgdXNlZCkiCittc2dzdHIgItC90LUg0LLQuNGB0YLQsNGH0LDRlCDQv9GA0L7RgdGC0L7RgNGDINC00LvRjyBST00t0L7QsdGA0LDQt9GDICjQvtGC0YDQuNC80LDQvdC+ICVsbGQsINCy0LjQutC+0YDQuNGB0YLQsNC90L4gJXp1KSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3OQorIywgYy1mb3JtYXQKK21zZ2lkICJST00gaW1hZ2Ugd3JpdGUgZmFpbGVkICglemQgJXpkKSIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0LfQsNC/0LjRgdGDIFJPTS3QvtCx0YDRltC30YMgKCV6ZCAlemQpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODgyCittc2dpZCAiUk9NIGltYWdlIgorbXNnc3RyICLQvtCx0YDQsNC3IFJPTSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlbmFtZXMgdHJ1bmNhdGVkIHRvICV1IGJ5dGVzLiIKK21zZ3N0ciAi0L/QvtC/0LXRgNC10LTQttC10L3QvdGPOiDQvdCw0LfQstC4INGE0LDQudC70ZbQsiDQvtCx0YDRltC30LDQvdC+INC00L4gJXUg0LHQsNC50YLRltCyLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MworbXNnaWQgIndhcm5pbmc6IGZpbGVzIHdlcmUgc2tpcHBlZCBkdWUgdG8gZXJyb3JzLiIKK21zZ3N0ciAi0L/QvtC/0LXRgNC10LTQttC10L3QvdGPOiDRhNCw0LnQu9C4INC/0YDQvtC/0YPRidC10L3QviDRh9C10YDQtdC3INC/0L7QvNC40LvQutC4LiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlIHNpemVzIHRydW5jYXRlZCB0byAlbHVNQiAobWludXMgMSBieXRlKS4iCittc2dzdHIgItC/0L7Qv9C10YDQtdC00LbQtdC90L3Rjzog0YDQvtC30LzRltGA0Lgg0YTQsNC50LvRltCyINC+0LHRgNGW0LfQsNC90L4g0LTQviAlbHUg0JzQkSAo0LzRltC90YPRgSAxINCx0LDQudGCKS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdWlkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAi0L/QvtC/0LXRgNC10LTQttC10L3QvdGPOiB1aWQg0L7QsdGA0ZbQt9Cw0L3QviDQtNC+ICV1INCx0ZbRgtGW0LIuICjQptC1INC80L7QttC1INC30LDQs9GA0L7QttGD0LLQsNGC0Lgg0LHQtdC30L/QtdGG0ZYuKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwMgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBnaWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICLQv9C+0L/QtdGA0LXQtNC20LXQvdC90Y86IGdpZCDQvtCx0YDRltC30LDQvdC+INC00L4gJXUg0LHRltGC0ZbQsi4gKNCm0LUg0LzQvtC20LUg0LfQsNCz0YDQvtC20YPQstCw0YLQuCDQsdC10LfQv9C10YbRli4pIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXQVJOSU5HOiBkZXZpY2UgbnVtYmVycyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIFRoaXMgYWxtb3N0IGNlcnRhaW5seSBtZWFuc1xuIgorInRoYXQgc29tZSBkZXZpY2UgZmlsZXMgd2lsbCBiZSB3cm9uZy4iCittc2dzdHIgIiIKKyLQo9CS0JDQk9CQOiDQvdC+0LzQtdGA0Lgg0L/RgNC40YHRgtGA0L7Rl9CyINC+0LHRgNGW0LfQsNC90L4g0LTQviAldSDQsdGW0YLRltCyLiDQptC1INC80LDQudC20LUg0LfQsNCy0LbQtNC4INC+0LfQvdCw0YfQsNGUXG4iCisi0YnQviDQtNC10Y/QutGWINC3INGE0LDQudC70ZbQsiDQv9GA0LjRgdGC0YDQvtGX0LIg0LHRg9C00YPRgtGMINC/0L7QvNC40LvQutC+0LLQuNC80LguIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIC9kZXYv0L3QsNC30LLQsCBb0LHQu9C+0LrQuF1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM3Cittc2dpZCAiIC0xICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDFcbiIKK21zZ3N0ciAiIC0xICAgICAgICAgICAgICAgICAgICAgINCy0LjQutC+0YDQuNGB0YLQsNGC0LggTWluaXgg0LLQtdGA0YHRltGXIDFcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM4Cittc2dpZCAiIC0yLCAtdiAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDJcbiIKK21zZ3N0ciAiIC0yLCAtdiAgICAgICAgICAgICAgICAgINCy0LjQutC+0YDQuNGB0YLQsNGC0LggTWluaXgg0LLQtdGA0YHRltGXIDJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM5Cittc2dpZCAiIC0zICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDNcbiIKK21zZ3N0ciAiIC0zICAgICAgICAgICAgICAgICAgICAgINCy0LjQutC+0YDQuNGB0YLQsNGC0LggTWluaXgg0LLQtdGA0YHRltGXIDNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQwCittc2dpZCAiIC1uLCAtLW5hbWVsZW5ndGggPG51bT4gIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgLW4sIC0tbmFtZWxlbmd0aCA80YfQuNGB0LvQvj4gINC80LDQutGB0LjQvNCw0LvRjNC90LAg0LTQvtCy0LbQuNC90LAg0L3QsNC30LIg0YTQsNC50LvRltCyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MQorbXNnaWQgIiAtaSwgLS1pbm9kZXMgPG51bT4gICAgICBudW1iZXIgb2YgaW5vZGVzIGZvciB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLWksIC0taW5vZGVzIDzRh9C40YHQu9C+PiAgICDQutGW0LvRjNC60ZbRgdGC0YwgaW5vZGUg0LTQu9GPINGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80LhcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQyCittc2dpZCAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIGNoZWNrIHRoZSBkZXZpY2UgZm9yIGJhZCBibG9ja3NcbiIKK21zZ3N0ciAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgINC/0LXRgNC10LLRltGA0LjRgtC4INC/0YDQuNGB0YLRgNGW0Lkg0L3QsCDQv9C+0YjQutC+0LTQttC10L3RliDQsdC70L7QutC4XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MworbXNnaWQgIiAtbCwgLS1iYWRibG9ja3MgPGZpbGU+ICBsaXN0IG9mIGJhZCBibG9ja3MgZnJvbSBmaWxlXG4iCittc2dzdHIgIiAtbCwgLS1iYWRibG9ja3MgPNGE0LDQudC7PiAg0YHQv9C40YHQvtC6INC/0L7RiNC60L7QtNC20LXQvdC40YUg0LHQu9C+0LrRltCyINC3INGE0LDQudC70LBcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIHRvIGJvb3QgYmxvY2sgZmFpbGVkICBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgIiVzOiDQv9C+0LzQuNC70LrQsCDQv9C+0LfQuNGG0ZbRjtCy0LDQvdC90Y8g0YMg0LHQu9C+0YbRliDQt9Cw0LLQsNC90YLQsNC20LXQvdC90Y8g0YMgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBjbGVhciBib290IHNlY3RvciIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0YHQv9C+0YDQvtC20L3QuNGC0Lgg0YHQtdC60YLQvtGAINC30LDQstCw0L3RgtCw0LbRg9Cy0LDRh9CwIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAiJXM6INC/0L7QvNC40LvQutCwINC/0L7Qt9C40YbRltGO0LLQsNC90L3RjyDRgyDRhNGD0L3QutGG0ZbRlyB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQt9Cw0L/QuNGB0LDRgtC4INGB0YPQv9C10YDQsdC70L7QuiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQt9Cw0L/QuNGB0LDRgtC4INC60LDRgNGC0YMgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQt9Cw0L/QuNGB0LDRgtC4INC60LDRgNGC0YMg0LfQvtC9IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINC30LDQv9C40YHQsNGC0LggaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIiVzOiDQv9C+0LzQuNC70LrQsCDQv9GW0LQg0YfQsNGBINC/0L7Qt9C40YbRltGO0LLQsNC90L3RjyDRgyDRhNGD0L3QutGG0ZbRlyB3cml0ZV9ibG9jayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIiVzOiDQv9C+0LzQuNC70LrQsCDQt9Cw0L/QuNGB0YMg0YMg0YTRg9C90LrRhtGW0Zcgd3JpdGVfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyMSBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyOTYKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjM0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIG1hbnkgYmFkIGJsb2NrcyIKK21zZ3N0ciAiJXM6INC90LDQtNGC0L4g0LHQsNCz0LDRgtC+INC/0L7QvNC40LvQutC+0LLQuNGFINCx0LvQvtC60ZbQsiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZW5vdWdoIGdvb2QgYmxvY2tzIgorbXNnc3RyICIlczog0L3QtdC00L7RgdGC0LDRgtC90YzQviDQvdC10YPRiNC60L7QtNC20LXQvdC40YUg0LHQu9C+0LrRltCyIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkZpcnN0IGRhdGEgYmxvY2sgYXQgJWpkLCB3aGljaCBpcyB0b28gZmFyIChtYXggJWQpLlxuIgorIlRyeSBzcGVjaWZ5aW5nIGZld2VyIGlub2RlcyBieSBwYXNzaW5nIC0taW5vZGVzIDxudW0+IgorbXNnc3RyICIiCisi0J/QtdGA0YjQuNC5INCx0LvQvtC6INC00LDQvdC40YUg0YDQvtC30YLQsNGI0L7QstCw0L3QviDQvdCwINC/0L7Qt9C40YbRltGXICVqZCwg0YLQvtCx0YLQviDQvdCw0LTRgtC+INC00LDQu9C10LrQviAo0LzQsNC60YHQuNC80YPQvCAlZCkuXG4iCisi0KHQv9GA0L7QsdGD0LnRgtC1INCy0LrQsNC30LDRgtC4INC80LXQvdGI0LUgaW5vZGUsINC/0LXRgNC10LTQsNGO0YfQuCAtLWlub2RlcyA80YfQuNGB0LvQvj4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgaW5vZGVcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGlub2Rlc1xuIgorbXNnc3RyWzBdICIlbHUgaW5vZGVcbiIKK21zZ3N0clsxXSAiJWx1IGlub2RlXG4iCittc2dzdHJbMl0gIiVsdSBpbm9kZVxuIgorbXNnc3RyWzNdICIlbHUgaW5vZGVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlbHUgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVsdSDQsdC70L7QulxuIgorbXNnc3RyWzFdICIlbHUg0LHQu9C+0LrQuFxuIgorbXNnc3RyWzJdICIlbHUg0LHQu9C+0LrRltCyXG4iCittc2dzdHJbM10gIiVsdSDQsdC70L7QulxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JXp1XG4iCittc2dzdHIgItCg0L7Qt9C80ZbRgCDQt9C+0L3QuD0lenVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJNYXhzaXplPSV6dVxuIgorIlxuIgorbXNnc3RyICIiCisi0JzQsNC60YEu0YDQvtC30LzRltGAPSV6dVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGR1cmluZyB0ZXN0aW5nIG9mIGJsb2NrcyIKK21zZ3N0ciAiJXM6INC/0L7QvNC40LvQutCwINC/0L7Qt9C40YbRltGO0LLQsNC90L3RjyDQv9GA0Lgg0L/QtdGA0LXQstGW0YDRhtGWINCx0LvQvtC60ZbQsiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIldlaXJkIHZhbHVlcyBpbiBkb19jaGVjazogcHJvYmFibHkgYnVnc1xuIgorbXNnc3RyICLQndC10LfRgNC+0LfRg9C80ZbQu9C1INC30L3QsNGH0LXQvdC90Y8g0YMg0YTRg9C90LrRhtGW0ZcgZG9fY2hlY2s6INC80L7QttC70LjQstC+INC/0L7QvNC40LvQutCwXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIgorbXNnc3RyICIlczog0L/QvtC80LjQu9C60LAg0L/QvtC30LjRhtGW0Y7QstCw0L3QvdGPINGDINGE0YPQvdC60YbRltGXIGNoZWNrX2Jsb2NrcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgYmxvY2tzIGJlZm9yZSBkYXRhLWFyZWE6IGNhbm5vdCBtYWtlIGZzIgorbXNnc3RyICIlczog0L3QtdC/0YDQsNCy0LjQu9GM0L3RliDQsdC70L7QutC4INC/0LXRgNC10LQg0L7QsdC70LDRgdGC0Y4g0LTQsNC90LjRhTog0L3QtSDQstC00LDQu9C+0YHRjyDRgdGC0LLQvtGA0LjRgtC4INCk0KEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzOSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgYmFkIGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVkIGJhZCBibG9ja3NcbiIKK21zZ3N0clswXSAiJWQg0L/QvtGI0LrQvtC00LbQtdC90LjQuSDQsdC70L7QulxuIgorbXNnc3RyWzFdICIlZCDQv9C+0YjQutC+0LTQttC10L3QuNGFINCx0LvQvtC60LhcbiIKK21zZ3N0clsyXSAiJWQg0L/QvtGI0LrQvtC00LbQtdC90LjRhSDQsdC70L7QutGW0LJcbiIKK21zZ3N0clszXSAiJWQg0L/QvtGI0LrQvtC00LbQtdC90LjQuSDQsdC70L7QulxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IG9wZW4gZmlsZSBvZiBiYWQgYmxvY2tzIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQstGW0LTQutGA0LjRgtC4INGE0LDQudC7INC/0L7RiNC60L7QtNC20LXQvdC40YUg0LHQu9C+0LrRltCyIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkYmxvY2sgbnVtYmVyIGlucHV0IGVycm9yIG9uIGxpbmUgJWRcbiIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0YMg0LLRhdGW0LTQvdC40YUg0LTQsNC90LjRhSDRidC+0LTQviDQutGW0LvRjNC60L7RgdGC0ZYg0L/QvtGI0LrQvtC00LbQtdC90LjRhSDQsdC70L7QutGW0LIg0YMg0YDRj9C00LrRgyAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGJhZGJsb2NrcyBmaWxlIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQv9GA0L7Rh9C40YLQsNGC0Lgg0YTQsNC50Lsg0L/QvtC80LjQu9C60L7QstC40YUg0LHQu9C+0LrRltCyIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgc2l6ZSBzbWFsbGVyIHRoYW4gcGh5c2ljYWwgc2VjdG9yIHNpemUgb2YgJXMiCittc2dzdHIgItGA0L7Qt9C80ZbRgCDQsdC70L7QutGDINGUINC80LXQvdGI0LjQvCDQt9CwINGA0L7Qt9C80ZbRgCDRhNGW0LfQuNGH0L3QvtCz0L4g0YHQtdC60YLQvtGA0LAsICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBzaXplIG9mICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0LjQt9C90LDRh9C40YLQuCDRgNC+0LfQvNGW0YAgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVxdWVzdGVkIGJsb2NrcyAoJWxsdSkgZXhjZWVkcyBhdmFpbGFibGUgKCVsbHUpIGJsb2Nrc1xuIgorbXNnc3RyICIlczog0LrRltC70YzQutGW0YHRgtGMINC/0L7RgtGA0ZbQsdC90LjRhSDQsdC70L7QutGW0LIgKCVsbHUpINC/0LXRgNC10LLQuNGJ0YPRlCDQutGW0LvRjNC60ZbRgdGC0Ywg0LTQvtGB0YLRg9C/0L3QuNGFINCx0LvQvtC60ZbQsiAoJWxsdSlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiJXM6INC60ZbQu9GM0LrRltGB0YLRjCDQsdC70L7QutGW0LIg0ZQg0L3QsNC00YLQviDQvNCw0LvQvtGOIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MjMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzI5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG5hbWUgbGVuZ3RoOiAlZCIKK21zZ3N0ciAi0L3QtdC/0ZbQtNGC0YDQuNC80YPQstCw0L3QsCDQtNC+0LLQttC40L3QsCDQvdCw0LfQsjogJWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBtaW5peCBmaWxlIHN5c3RlbSB2ZXJzaW9uOiAlZCIKK21zZ3N0ciAi0L3QtdC/0ZbQtNGC0YDQuNC80YPQstCw0L3QsCDQstC10YDRgdGW0Y8g0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuCBtaW5peDogJWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc2NworbXNnaWQgIi12IGlzIGFtYmlndW91cywgdXNlICctMicgaW5zdGVhZCIKK21zZ3N0ciAiLXYg0ZQg0L3QtdC+0LTQvdC+0LfQvdCw0YfQvdC40LwsINC60YDQsNGJ0LUg0YHQutC+0YDQuNGB0YLQsNC50YLQtdGB0Y8gwqstMsK7IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NzgKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0LfQvdCw0YfQtdC90L3RjyDQvNCw0LrRgdC40LzQsNC70YzQvdC+0Zcg0LTQvtCy0LbQuNC90Lgg0L3QsNC30LIg0YTQsNC50LvRltCyIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INC30L3QsNGH0LXQvdC90Y8g0LrRltC70YzQutC+0YHRgtGWIGlub2RlIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MDYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGJsb2NrcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INC30L3QsNGH0LXQvdC90Y8g0LrRltC70YzQutC+0YHRgtGWINCx0LvQvtC60ZbQsiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2UgYSBmaWxlc3lzdGVtIGhlcmUhIgorbXNnc3RyICIlcyDQv9GW0LTQutC70Y7Rh9C10L3QuNC5OyDRgtGD0YIg0L3QtSDQvNC+0LbQvdCwINGB0YLQstC+0YDRjtCy0LDRgtC4INGE0LDQudC70L7QstGDINGB0LjRgdGC0LXQvNGDISIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICV1IgorbXNnc3RyICLQmtC+0YDQuNGB0YLRg9Cy0LDRh9C10Lwg0LLQutCw0LfQsNC90L4g0L/QvtC80LjQu9C60L7QstC40Lkg0YDQvtC30LzRltGAINGB0YLQvtGA0ZbQvdC60LgsICV1IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIHVzZXItc3BlY2lmaWVkIHBhZ2Ugc2l6ZSAlZCwgaW5zdGVhZCBvZiB0aGUgc3lzdGVtIHZhbHVlICVkIgorbXNnc3RyICLQktC40LrQvtGA0LjRgdGC0L7QstGD0ZTRgtGM0YHRjyDQstC60LDQt9Cw0L3QuNC5INC60L7RgNC40YHRgtGD0LLQsNGH0LXQvCDRgNC+0LfQvNGW0YAg0YHRgtC+0YDRltC90LrQuCAlZCwg0LfQsNC80ZbRgdGC0Ywg0YHQuNGB0YLQtdC80L3QvtCz0L4g0LfQvdCw0YfQtdC90L3RjyAlZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMjQKK21zZ2lkICJMYWJlbCB3YXMgdHJ1bmNhdGVkLiIKK21zZ3N0ciAi0JzRltGC0LrRgyDQsdGD0LvQviDQvtCx0YDRltC30LDQvdC+LiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbGFiZWwsICIKK21zZ3N0ciAi0L3QtdC80LDRlCDQvNGW0YLQutC4LCAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHV1aWRcbiIKK21zZ3N0ciAi0L3QtdC80LDRlCB1dWlkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdIGRldmljZSBbc2l6ZV1cbiIKK21zZ3N0ciAiIgorIlxuIgorItCa0L7RgNC40YHRgtGD0LLQsNC90L3RjzpcbiIKKyIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0g0L/RgNC40YHRgtGA0ZbQuSBb0YDQvtC30LzRltGAXVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1MgorbXNnaWQgIlNldCB1cCBhIExpbnV4IHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAi0J3QsNC70LDRiNGC0YPQstCw0YLQuCDQvtCx0LvQsNGB0YLRjCDRgNC10LfQtdGA0LLQvdC+0Zcg0L/QsNC84oCZ0Y/RgtGWIExpbnV4LlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICBjaGVjayBiYWQgYmxvY2tzIGJlZm9yZSBjcmVhdGluZyB0aGUgc3dhcCBhcmVhXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgYWxsb3cgc3dhcCBzaXplIGFyZWEgYmUgbGFyZ2VyIHRoYW4gZGV2aWNlXG4iCisiIC1wLCAtLXBhZ2VzaXplIFNJWkUgICAgICAgc3BlY2lmeSBwYWdlIHNpemUgaW4gYnl0ZXNcbiIKKyIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICBzcGVjaWZ5IGxhYmVsXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAgc3BlY2lmeSBzd2FwLXNwYWNlIHZlcnNpb24gbnVtYmVyXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgc3BlY2lmeSB0aGUgdXVpZCB0byB1c2VcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQn9Cw0YDQsNC80LXRgtGA0Lg6XG4iCisiIC1jLCAtLWNoZWNrICAgICAgICAgICAgICAg0L/QtdGA0LXQstGW0YDQuNGC0Lgg0L/QsNC8J9GP0YLRjCDQtNC+INGB0YLQstC+0YDQtdC90L3RjyDQvtCx0LvQsNGB0YLRliDRgdCy0L7Qv9GW0L3Qs9GDXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAg0LTQvtC30LLQvtC70LjRgtC4INC/0LXRgNC10LLQuNGJ0LXQvdC90Y8g0L7QsSfRlNC80YMg0L/RgNC40YHRgtGA0L7RjiDQvtCx0LvQsNGB0YLRjiDRgdCy0L7Qv9GW0L3Qs9GDXG4iCisiIC1wLCAtLXBhZ2VzaXplINCg0J7Ql9Cc0IbQoCAgICAg0LLQutCw0LfQsNGC0Lgg0YDQvtC30LzRltGAINGB0YLQvtGA0ZbQvdC60Lgg0YMg0LHQsNC50YLQsNGFXG4iCisiIC1MLCAtLWxhYmVsINCc0IbQotCa0JAgICAgICAgICDQstC60LDQt9Cw0YLQuCDQvNGW0YLQutGDXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uINCn0JjQodCb0J4gICDQstC60LDQt9Cw0YLQuCDQvdC+0LzQtdGAINCy0LXRgNGB0ZbRlyDQvtCx0LvQsNGB0YLRliDRgdCy0L7Qv9GW0L3Qs9GDXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAg0LLQutCw0LfQsNGC0LggdXVpZCwg0Y/QutC40Lwg0YHQu9GW0LQg0YHQutC+0YDQuNGB0YLQsNGC0LjRgdGPXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0LLQtdGA0YHRltGXINGWINCy0LjQudGC0LhcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDRhtC1INC00L7QstGW0LTQutC+0LLQtSDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8g0ZYg0LLQuNC50YLQuFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBiYWQgcGFnZXM6ICVsdSIKK21zZ3N0ciAi0L3QsNC00YLQviDQsdCw0LPQsNGC0L4g0L/QvtGI0LrQvtC00LbQtdC90LjRhSDRgdGC0L7RgNGW0L3QvtC6OiAlbHUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTk1Cittc2dpZCAic2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDQv9C+0LfQuNGG0ZbRjtCy0LDQvdC90Y8g0YMg0YTRg9C90LrRhtGW0ZcgY2hlY2tfYmxvY2tzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmFkIHBhZ2VcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJhZCBwYWdlc1xuIgorbXNnc3RyWzBdICIlbHUg0L/QvtGI0LrQvtC00LbQtdC90LAg0YHRgtC+0YDRltC90LrQsFxuIgorbXNnc3RyWzFdICIlbHUg0L/QvtGI0LrQvtC00LbQtdC90ZYg0YHRgtC+0YDRltC90LrQuFxuIgorbXNnc3RyWzJdICIlbHUg0L/QvtGI0LrQvtC00LbQtdC90LjRhSDRgdGC0L7RgNGW0L3QvtC6XG4iCittc2dzdHJbM10gIiVsdSDQv9C+0YjQutC+0LTQttC10L3QsCDRgdGC0L7RgNGW0L3QutCwXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjI4Cittc2dpZCAidW5hYmxlIHRvIGFsbG9jIG5ldyBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INC/0LDQvCfRj9GC0Ywg0LTQu9GPINC90L7QstC+0LPQviDQt9C+0L3QtNGD0LLQsNC90L3RjyBsaWJibGtpZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMzAKK21zZ2lkICJ1bmFibGUgdG8gYXNzaWduIGRldmljZSB0byBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQv9GA0LjQt9C90LDRh9C40YLQuCDQv9GA0LjRgdGC0YDRltC5INC00L4g0LfQvtC90LTRg9Cy0LDQvdC90Y8gbGliYmxraWQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNoZWNraW5nIGJhZCBibG9ja3MgZnJvbSBzd2FwIGZpbGUgaXMgbm90IHN1cHBvcnRlZDogJXMiCittc2dzdHIgItC/0L7Qv9C10YDQtdC00LbQtdC90L3Rjzog0L/QtdGA0LXQstGW0YDQutC4INGE0LDQudC70LAg0YDQtdC30LXRgNCy0L3QvtGXINC/0LDQvOKAmdGP0YLRliDQvdCwINC/0L7QvNC40LvQutC+0LLRliDQsdC70L7QutC4INC90LUg0L/QtdGA0LXQtNCx0LDRh9C10L3QvjogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjYxIGRpc2stdXRpbHMvbWtzd2FwLmM6Mjg3IGRpc2stdXRpbHMvbWtzd2FwLmM6MzM0Cittc2dpZCAidW5hYmxlIHRvIHJld2luZCBzd2FwLWRldmljZSIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0LLRgdGC0LDQvdC+0LLQu9C10L3QvdGPINC/0L7Qt9C40YbRltGXINC90LAg0L/QvtGH0LDRgtC+0Log0L/RgNC40YHRgtGA0L7RjiDRgdCy0L7Qv9GW0L3Qs9GDIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI5MAorbXNnaWQgInVuYWJsZSB0byBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0YfQuNGB0YLQuNGC0Lgg0LfQsNCy0LDQvdGC0LDQttGD0LLQsNC70YzQvdGWINGB0LXQutGC0L7RgNC4IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogd2lwaW5nIG9sZCAlcyBzaWduYXR1cmUuIgorbXNnc3RyICIlczog0L/QvtC/0LXRgNC10LTQttC10L3QvdGPOiDQstC40YLQuNGA0LDRlNC80L4g0YHRgtCw0YDQuNC5INC/0ZbQtNC/0LjRgSAlcy4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiBkb24ndCBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICIlczog0L/QvtC/0LXRgNC10LTQttC10L3QvdGPOiDQvdC1INCy0LjQu9GD0YfQsNC50YLQtSDQt9Cw0LLQsNC90YLQsNC20YPQstCw0LvRjNC90ZYg0YHQtdC60YLQvtGA0LgiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKCVzIHBhcnRpdGlvbiB0YWJsZSBkZXRlY3RlZCkuICIKK21zZ3N0ciAiICAgICAgICAo0LLQuNGP0LLQu9C10L3QviDRgtCw0LHQu9C40YbRjiDRgNC+0LfQtNGW0LvRltCyICVzKS4gIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgIChjb21waWxlZCB3aXRob3V0IGxpYmJsa2lkKS4gIgorbXNnc3RyICIgICAgICAgICjQt9GW0LHRgNCw0L3QviDQsdC10Lcg0L/RltC00YLRgNC40LzQutC4IGxpYmJsa2lkKS4gIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICJVc2UgLWYgdG8gZm9yY2UuXG4iCittc2dzdHIgItCh0LrQvtGA0LjRgdGC0LDQudGC0LXRgdGPIC1mINC00LvRjyDQv9GA0LjQvNGD0YHQvtCy0L7RlyDQvtCx0YDQvtCx0LrQuC5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzaWduYXR1cmUgcGFnZSIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQsNC/0LjRgdCw0YLQuCDRgdGC0L7RgNGW0L3QutGDINC/0ZbQtNC/0LjRgdGDIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4MAorbXNnaWQgInBhcnNpbmcgcGFnZSBzaXplIGZhaWxlZCIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINC+0LHRgNC+0LHQutC4INGA0L7Qt9C80ZbRgNGDINGB0YLQvtGA0ZbQvdC60Lgg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg2Cittc2dpZCAicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDQvtCx0YDQvtCx0LrQuCDQvdC+0LzQtdGA0LAg0LLQtdGA0YHRltGXINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwc3BhY2UgdmVyc2lvbiAlZCBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICLQv9GW0LTRgtGA0LjQvNC60Lgg0LLQtdGA0YHRltGXIHN3YXBzcGFjZSAlZCDQvdC1INC/0LXRgNC10LTQsdCw0YfQtdC90L4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGlnbm9yaW5nIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQgYnkgJXMpIgorbXNnc3RyICLQv9C+0L/QtdGA0LXQtNC20LXQvdC90Y86INGW0LPQvdC+0YDRg9GU0LzQviAtVSAoVVVJRCDQvdC1INC/0ZbQtNGC0YDQuNC80YPRjtGC0YzRgdGPICVzKSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MTQKK21zZ2lkICJvbmx5IG9uZSBkZXZpY2UgYXJndW1lbnQgaXMgY3VycmVudGx5IHN1cHBvcnRlZCIKK21zZ3N0ciAi0YMg0L/QvtGC0L7Rh9C90ZbQuSDQstC10YDRgdGW0Zcg0L/QtdGA0LXQtNCx0LDRh9C10L3QviDQu9C40YjQtSDQvtC00LjQvSDQsNGA0LPRg9C80LXQvdGCINC/0YDQuNGB0YLRgNC+0Y4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDIxCittc2dpZCAiZXJyb3I6IHBhcnNpbmcgVVVJRCBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwOiDQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0LfQvdCw0YfQtdC90L3RjyBVVUlEIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzMAorbXNnaWQgImVycm9yOiBOb3doZXJlIHRvIHNldCB1cCBzd2FwIG9uPyIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LA6INCd0LUg0LLQutCw0LfQsNC90L4sINC00LUg0YHRgtCy0L7RgNC40YLQuCDQvtCx0LvQsNGB0YLRjCDRgdCy0L7Qv9GW0L3Qs9GDPyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzYKK21zZ2lkICJpbnZhbGlkIGJsb2NrIGNvdW50IGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0LrRltC70YzQutC+0YHRgtGWINCx0LvQvtC60ZbQsiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHNpemUgJWxsdSBLaUIgaXMgbGFyZ2VyIHRoYW4gZGV2aWNlIHNpemUgJTxQUkl1NjQ+IEtpQiIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LA6INGA0L7Qt9C80ZbRgCAlbGx1INCa0ZbQkSDRlCDQsdGW0LvRjNGI0LjQvCDQt9CwINGA0L7Qt9C80ZbRgCDQv9GA0LjRgdGC0YDQvtGOLCAlPFBSSXU2ND4g0JrRltCRIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1MQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc3dhcCBhcmVhIG5lZWRzIHRvIGJlIGF0IGxlYXN0ICVsZCBLaUIiCittc2dzdHIgItC/0L7QvNC40LvQutCwOiDQvtCx0LvQsNGB0YLRjCDRgdCy0L7Qv9GW0L3Qs9GDINC80LDRlCDQv9C10YDQtdCy0LjRidGD0LLQsNGC0Lgg0LfQsCDQvtCxJ9GU0LzQvtC8ICVsZCDQmtGW0JEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHRydW5jYXRpbmcgc3dhcCBhcmVhIHRvICVsbHUgS2lCIgorbXNnc3RyICLQv9C+0L/QtdGA0LXQtNC20LXQvdC90Y86INC+0LHRgNGW0LfQsNGU0LzQviDQvtCx0LvQsNGB0YLRjCDRgdCy0L7Qv9GW0L3Qs9GDINC00L4gJWxsdSDQmtGW0JEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIHN3YXBzcGFjZSIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LA6ICVzINC30LzQvtC90YLQvtCy0LDQvdC+OyDQvNGW0YHRhtC1INC00LvRjyDRgNC10LfQtdGA0LLQvdC+0LPQviDQt9Cx0LXRgNGW0LPQsNC90L3RjyDQvdC1INCx0YPQtNC1INGB0YLQstC+0YDQtdC90L4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDY4IHN5cy11dGlscy9zd2Fwb24uYzo1MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIHBlcm1pc3Npb25zICUwNG8sICUwNG8gc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6INC90LXQsdC10LfQv9C10YfQvdGWINC/0YDQsNCy0LAg0LTQvtGB0YLRg9C/0YMgJTA0bywg0L/RgNC+0L/QvtC90YPRlNC80L4g0YHQutC+0YDQuNGB0YLQsNGC0LjRgdGPICUwNG8uIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ3MiBzeXMtdXRpbHMvc3dhcG9uLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBmaWxlIG93bmVyICVkLCAwIChyb290KSBzdWdnZXN0ZWQuIgorbXNnc3RyICIlczog0L3QtdCx0LXQt9C/0LXRh9C90LUg0LfQvdCw0YfQtdC90L3RjyDQstC70LDRgdC90LjQutCwINGE0LDQudC70LAgJWQsINC/0YDQvtC/0L7QvdGD0ZTQvNC+INGB0LrQvtGA0LjRgdGC0LDRgtC40YHRjyAwIChyb290KS4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDg3Cittc2dpZCAiVW5hYmxlIHRvIHNldCB1cCBzd2FwLXNwYWNlOiB1bnJlYWRhYmxlIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INC/0YDQvtGB0YLRltGAINGB0LLQvtC/0ZbQvdCz0YM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0L/RgNC+0YfQuNGC0LDRgtC4IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIHVwIHN3YXBzcGFjZSB2ZXJzaW9uICVkLCBzaXplID0gJXMgKCU8UFJJdTY0PiBieXRlcylcbiIKK21zZ3N0ciAi0JLRgdGC0LDQvdC+0LLQu9GO0ZTQvNC+INCy0LXRgNGB0ZbRjiAlZCDQvtCx0LvQsNGB0YLRliDRgdCy0L7Qv9GW0L3Qs9GDLCDRgNC+0LfQvNGW0YAgPSAlcyAoJTxQUkl1NjQ+INCx0LDQudGC0ZbQsilcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBvYnRhaW4gc2VsaW51eCBmaWxlIGxhYmVsIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INC80ZbRgtC60YMg0YTQsNC50LvQsCBzZWxpbnV4IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxNQorbXNnaWQgInVuYWJsZSB0byBtYXRjaHBhdGhjb24oKSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstC40LrQvtC90LDRgtC4IG1hdGNocGF0aGNvbigpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxOAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbmV3IHNlbGludXggY29udGV4dCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDRgdGC0LLQvtGA0LjRgtC4INC90L7QstC40Lkg0LrQvtC90YLQtdC60YHRgiBzZWxpbnV4IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMAorbXNnaWQgImNvdWxkbid0IGNvbXB1dGUgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0LjQt9C90LDRh9C40YLQuCDQutC+0L3RgtC10LrRgdGCIHNlbGludXgiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZWxhYmVsICVzIHRvICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC30LzRltC90LjRgtC4INC80ZbRgtC60YMgJXMg0L3QsCAlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg2Cittc2dpZCAicGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAi0L3QvtC80LXRgCDRgNC+0LfQtNGW0LvRgyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg3Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICLQv9C+0YfQsNGC0L7QuiDRgNC+0LfQtNGW0LvRgyDRgyDRgdC10LrRgtC+0YDQsNGFIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODgKK21zZ2lkICJlbmQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICLQutGW0L3QtdGG0Ywg0YDQvtC30LTRltC70YMg0YMg0YHQtdC60YLQvtGA0LDRhSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg5Cittc2dpZCAibnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgItC60ZbQu9GM0LrRltGB0YLRjCDRgdC10LrRgtC+0YDRltCyIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTAKK21zZ2lkICJodW1hbiByZWFkYWJsZSBzaXplIgorbXNnc3RyICLQt9GA0YPRh9C90LjQuSDQtNC70Y8g0YfQuNGC0LDQvdC90Y8g0YDQvtC30LzRltGAIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTEKK21zZ2lkICJwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAi0L3QsNC30LLQsCDRgNC+0LfQtNGW0LvRgyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkyIG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY4Cittc2dpZCAicGFydGl0aW9uIFVVSUQiCittc2dzdHIgIlVVSUQg0YDQvtC30LTRltC70YMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MworbXNnaWQgInBhcnRpdGlvbiB0YWJsZSB0eXBlIChkb3MsIGdwdCwgLi4uKSIKK21zZ3N0ciAi0YLQuNC/INGC0LDQsdC70LjRhtGWINGA0L7Qt9C00ZbQu9GW0LIgKGRvcywgZ3B0LCAuLi4pIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQgbWlzYy11dGlscy9sc2Jsay5jOjE2OQorbXNnaWQgInBhcnRpdGlvbiBmbGFncyIKK21zZ3N0ciAi0L/RgNCw0L/QvtGA0YbRliDRgNC+0LfQtNGW0LvRgyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1Cittc2dpZCAicGFydGl0aW9uIHR5cGUgKGEgc3RyaW5nLCBhIFVVSUQsIG9yIGhleCkiCittc2dzdHIgItGC0LjQvyDRgNC+0LfQtNGW0LvRgyAo0YDRj9C00L7QuiwgVVVJRCDQsNCx0L4g0YjRltGB0YLQvdCw0LTRhtGP0YLQutC+0LLQtSDRh9C40YHQu9C+KSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUwOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjYxNgorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BjeHQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0ZbQvdGW0YbRltCw0LvRltC30YPQstCw0YLQuCBsb29wY3h0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZCB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINC30L3QsNC50YLQuCDQvdC10LLQuNC60L7RgNC40YHRgtCw0L3QuNC5INC/0LXRgtC70YzQvtCy0LjQuSAobG9vcCkg0L/RgNC40YHRgtGA0ZbQuSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyMgorIywgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gdXNlICclcycgZm9yIHRoZSBsb29wIGRldmljZVxuIgorbXNnc3RyICLQodC/0YDQvtCx0LAg0LLQuNC60L7RgNC40YHRgtCw0L3QvdGPIMKrJXPCuyDRj9C6INC/0LXRgtC70YzQvtCy0L7Qs9C+IChsb29wKSDQv9GA0LjRgdGC0YDQvtGOXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYmFja2luZyBmaWxlIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDRgNC10LfQtdGA0LLQvdC40Lkg0YTQsNC50LsiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo1NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINC90LDQu9Cw0YjRgtGD0LLQsNGC0Lgg0L/QtdGC0LvRjNC+0LLQuNC5IChsb29wKSDQv9GA0LjRgdGC0YDRltC5IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTYxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzA3IG1pc2MtdXRpbHMvZmluZG1udC5jOjM3NgorIzogbWlzYy11dGlscy9sc2Jsay5jOjM1NCBtaXNjLXV0aWxzL2xzbG9ja3MuYzozNDIgc3lzLXV0aWxzL2xvc2V0dXAuYzoxMDcKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM3MiBzeXMtdXRpbHMvbHNpcGMuYzoyMzIgc3lzLXV0aWxzL2xzbnMuYzoxODkKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjc3IHN5cy11dGlscy9zd2Fwb24uYzoxNDcgc3lzLXV0aWxzL3dkY3RsLmM6MTUxCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjE0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgItC90LXQstGW0LTQvtC80LjQuSDRgdGC0L7QstC/0YfQuNC6OiAlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INC90L7QvNC10YAg0YDQvtC30LTRltC70YMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyODYgZGlzay11dGlscy9wYXJ0eC5jOjMyNCBkaXNrLXV0aWxzL3BhcnR4LmM6NDc3CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZmllZCByYW5nZSA8JWQ6JWQ+IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgItCy0LrQsNC30LDQvdC40Lkg0LTRltCw0L/QsNC30L7QvSA8JWQ6JWQ+INC90LUg0LzQsNGUINGB0LXQvdGB0YMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmFuZ2UgcmVjb3VudDogbWF4IHBhcnRubz0lZCwgbG93ZXI9JWQsIHVwcGVyPSVkXG4iCittc2dzdHIgItC/0LXRgNC10L7QsdGH0LjRgdC70LXQvdC90Y8g0LTRltCw0L/QsNC30L7QvdGDOiDQvNCw0LrRgS4g0L3QvtC80LXRgCDRgNC+0LfQtNGW0LvRgz0lZCwg0L3QuNC20L3RltC5PSVkLCDQstC10YDRhdC90ZbQuT0lZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiDQv9C+0LzQuNC70LrQsCDQv9GW0LQg0YfQsNGBINGB0L/RgNC+0LHQuCDQstC40LvRg9GH0LXQvdC90Y8g0YDQvtC30LTRltC70YMgJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiVzOiDQv9C+0LzQuNC70LrQsCDQv9GW0LQg0YfQsNGBINGB0L/RgNC+0LHQuCDQstC40LvRg9GH0LXQvdC90Y8g0YDQvtC30LTRltC70ZbQsiAlZC0lZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZW1vdmVkXG4iCittc2dzdHIgIiVzOiDRgNC+0LfQtNGW0LsgJWQg0LLQuNC70YPRh9C10L3QvlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGRvZXNuJ3QgZXhpc3RcbiIKK21zZ3N0ciAiJXM6INGA0L7Qt9C00ZbQu9GDICVkINC90LUg0ZbRgdC90YPRlFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZWxldGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXM6INGB0L/RgNC+0LHQsCDQstC40LvRg9GH0LXQvdC90Y8g0YDQvtC30LTRltC70YMgJWQg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiDQv9C+0LzQuNC70LrQsCDQv9GW0LQg0YfQsNGBINC00L7QtNCw0LLQsNC90L3RjyDRgNC+0LfQtNGW0LvRgyAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiVzOiDQv9C+0LzQuNC70LrQsCDQv9GW0LQg0YfQsNGBINC00L7QtNCw0LLQsNC90L3RjyDRgNC+0LfQtNGW0LvRltCyICVkLSVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDA1IGRpc2stdXRpbHMvcGFydHguYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIKK21zZ3N0ciAiJXM6INC00L7QtNCw0L3QviDRgNC+0LfQtNGW0LsgJWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYWRkaW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlczog0YHQv9GA0L7QsdCwINC00L7QtNCw0LLQsNC90L3RjyDRgNC+0LfQtNGW0LvRgyAlZCDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIlczog0L/QvtC80LjQu9C60LAg0L/RltC0INGH0LDRgSDRgdC/0YDQvtCx0Lgg0L7QvdC+0LLQu9C10L3QvdGPINGA0L7Qt9C00ZbQu9GDICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczog0L/QvtC80LjQu9C60LAg0L/RltC0INGH0LDRgSDQvtC90L7QstC70LXQvdC90Y8g0YDQvtC30LTRltC70ZbQsiAlZC0lZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uICMlZCIKK21zZ3N0ciAiJXM6INC90LXQvNCw0ZQg0YDQvtC30LTRltC70YMg0Lcg0L3QvtC80LXRgNC+0LwgJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVzaXplZFxuIgorbXNnc3RyICIlczog0YDQvtC30LzRltGAINGA0L7Qt9C00ZbQu9GDICVkINC30LzRltC90LXQvdC+XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVwZGF0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlczog0YHQv9GA0L7QsdCwINC+0L3QvtCy0LvQtdC90L3RjyDRgNC+0LfQtNGW0LvRgyAlZCDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9yLCAlNmp1IE1CKVxuIgorbXNnaWRfcGx1cmFsICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9ycywgJTZqdSBNQilcbiIKK21zZ3N0clswXSAiIyUyZDogJTlqdS0lOWp1ICglOWp1INGB0LXQutGC0L7RgCwgJTZqdSDQnNCRKVxuIgorbXNnc3RyWzFdICIjJTJkOiAlOWp1LSU5anUgKCU5anUg0YHQtdC60YLQvtGA0LgsICU2anUg0JzQkSlcbiIKK21zZ3N0clsyXSAiIyUyZDogJTlqdS0lOWp1ICglOWp1INGB0LXQutGC0L7RgNGW0LIsICU2anUg0JzQkSlcbiIKK21zZ3N0clszXSAiIyUyZDogJTlqdS0lOWp1ICglOWp1INGB0LXQutGC0L7RgCwgJTZqdSDQnNCRKVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTgxIG1pc2MtdXRpbHMvZmluZG1udC5jOjY4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MDUKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM5MSBzeXMtdXRpbHMvbHNucy5jOjQ1NgorbXNnaWQgImZhaWxlZCB0byBhZGQgbGluZSB0byBvdXRwdXQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LTQvtC00LDRgtC4INGA0Y/QtNC+0Log0LTQviDQstC40LLQtdC00LXQvdC40YUg0LTQsNC90LjRhSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY0NAorbXNnaWQgImZhaWxlZCB0byBhZGQgZGF0YSB0byBvdXRwdXQgdGFibGUiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LTQvtC00LDRgtC4INC00LDQvdGWINC00L4g0YLQsNCx0LvQuNGG0ZYt0YDQtdC30YPQu9GM0YLQsNGC0YMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NjcgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo5MjIgbWlzYy11dGlscy9maW5kbW50LmM6MTU4NQorIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NzQgbWlzYy11dGlscy9sc2xvY2tzLmM6NDUxIHN5cy11dGlscy9sb3NldHVwLmM6MzEwCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzEzIHN5cy11dGlscy9sc2lwYy5jOjMzOCBzeXMtdXRpbHMvbHNucy5jOjUxMQorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyOTcgc3lzLXV0aWxzL3N3YXBvbi5jOjI4MCBzeXMtdXRpbHMvd2RjdGwuYzoyNTkKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NDg0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINGW0L3RltGG0ZbQsNC70ZbQt9GD0LLQsNGC0Lgg0YLQsNCx0LvQuNGG0Y4g0LLQuNCy0LXQtNC10L3QvdGPINC00LDQvdC40YUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NzggbWlzYy11dGlscy9maW5kbW50LmM6MTYxMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5NgorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDY1IHN5cy11dGlscy9sb3NldHVwLmM6MzIyIHN5cy11dGlscy9sb3NldHVwLmM6MzU4CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzE4IHN5cy11dGlscy9sc25zLmM6NTMyIHN5cy11dGlscy9wcmxpbWl0LmM6MzA2CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjg5IHN5cy11dGlscy93ZGN0bC5jOjI3MCBzeXMtdXRpbHMvenJhbWN0bC5jOjQ5MworbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0ZbQvdGW0YbRltCw0LvRltC30YPQstCw0YLQuCDRgdGC0L7QstC/0YfQuNC6INCy0LjQstC10LTQtdC90L3RjyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjcyMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBibGtpZCBmaWx0ZXIgZm9yICclcyciCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0ZbQvdGW0YbRltCw0LvRltC30YPQstCw0YLQuCDRhNGW0LvRjNGC0YAg0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YDRltCyINCx0LvQvtC60ZbQsiDQtNC70Y8gwqslc8K7IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINC/0YDQvtGH0LjRgtCw0YLQuCDRgtCw0LHQu9C40YbRjiDRgNC+0LfQtNGW0LvRltCyIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgdHlwZSAnJXMnIGRldGVjdGVkXG4iCittc2dzdHIgIiVzOiDQstC40Y/QstC70LXQvdC+INGC0LjQvyDRgtCw0LHQu9C40YbRliDRgNC+0LfQtNGW0LvRltCyIMKrJXPCu1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgd2l0aCBubyBwYXJ0aXRpb25zIgorbXNnc3RyICIlczog0YLQsNCx0LvQuNGG0Y8g0YDQvtC30LTRltC70ZbQsiDQsdC10Lcg0YDQvtC30LTRltC70ZbQsiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0aXRpb24+XSA8ZGlzaz5cbiIKK21zZ3N0ciAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA80YDQvtC30LTRltC7Pl0gPNC00LjRgdC6PlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzU2Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBwcmVzZW5jZSBhbmQgbnVtYmVyaW5nIG9mIHBhcnRpdGlvbnMuXG4iCittc2dzdHIgItCf0L7QstGW0LTQvtC80LjRgtC4INGP0LTRgNC+INGJ0L7QtNC+INC90LDRj9Cy0L3QvtGB0YLRliDRliDQvdGD0LzQtdGA0YPQstCw0L3QvdGPINGA0L7Qt9C00ZbQu9GW0LIuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTkKK21zZ2lkICIgLWEsIC0tYWRkICAgICAgICAgICAgYWRkIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtYSwgLS1hZGQgICAgICAgICAgICDQtNC+0LTQsNGC0Lgg0LLQutCw0LfQsNC90ZYg0YDQvtC30LTRltC70Lgg0LDQsdC+INCy0YHRliDRgNC+0LfQtNGW0LvQuFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYwCittc2dpZCAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIGRlbGV0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLWQsIC0tZGVsZXRlICAgICAgICAg0LLQuNC70YPRh9C40YLQuCDQstC60LDQt9Cw0L3RliDRgNC+0LfQtNGW0LvQuCDQsNCx0L4g0LLRgdGWINGA0L7Qt9C00ZbQu9C4XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjEKK21zZ2lkICIgLXUsIC0tdXBkYXRlICAgICAgICAgdXBkYXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtdSwgLS11cGRhdGUgICAgICAgICDQvtC90L7QstC40YLQuCDQstC60LDQt9Cw0L3RliDRgNC+0LfQtNGW0LvQuCDQsNCx0L4g0LLRgdGWINGA0L7Qt9C00ZbQu9C4XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjIKK21zZ2lkICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgIGxpc3QgcGFydGl0aW9uc1xuIgorIlxuIgorbXNnc3RyICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgINCy0LjQstC10YHRgtC4INGB0L/QuNGB0L7QuiDRgNC+0LfQtNGW0LvRltCyXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjMgbWlzYy11dGlscy9sc2Jsay5jOjE2MjMKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0KDQntCX0JzQhtCgINGDINCx0LDQudGC0LDRhSwg0LAg0L3QtSDRgyDQt9GA0YPRh9C90L7QvNGDINC00LvRjyDRh9C40YLQsNC90L3RjyDRhNC+0YDQvNCw0YLRllxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY0Cittc2dpZCAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLXNob3dcbiIKK21zZ3N0ciAiIC1nLCAtLW5vaGVhZGluZ3MgICAgINC90LUg0LLQuNCy0L7QtNC40YLQuCDQt9Cw0LPQvtC70L7QstC60Lgg0LTQu9GPIC0tc2hvd1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY1Cittc2dpZCAiIC1uLCAtLW5yIDxuOm0+ICAgICAgIHNwZWNpZnkgdGhlIHJhbmdlIG9mIHBhcnRpdGlvbnMgKGUuZy4gLS1uciAyOjQpXG4iCittc2dzdHIgIiAtbiwgLS1uciA8bjptPiAgICAgICDQstC60LDQt9Cw0YLQuCDQtNGW0LDQv9Cw0LfQvtC9INGA0L7Qt9C00ZbQu9GW0LIgKNC90LDQv9GA0LjQutC70LDQtCwgLS1uciAyOjQpXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjYKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDzRgdC/0LjRgdC+0Lo+ICDQstC40LfQvdCw0YfQuNGC0LgsINGP0LrRliDRgdGC0L7QstC/0YfQuNC60Lgg0YHQu9GW0LQg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INC00LvRjyDQstC40LLQtdC00LXQvdC90Y9cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NyBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNworbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtUCwgLS1wYWlycyAgICAgICAgICDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0YTQvtGA0LzQsNGCINCy0LjQstC10LTQtdC90L3RjyDQutC70Y7Rhz1cItC30L3QsNGH0LXQvdC90Y9cIlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY4IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM4Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INGE0L7RgNC80LDRgiDQstC40LLQtdC00LXQvdC90Y8g0LHQtdC3INC+0LHRgNC+0LHQutC4XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjkKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgc3BlY2lmeSB0aGUgcGFydGl0aW9uIHR5cGUgKGRvcywgYnNkLCBzb2xhcmlzLCBldGMuKVxuIgorbXNnc3RyICIgLXQsIC0tdHlwZSA80YLQuNC/PiAgICAg0LLQutCw0LfQsNGC0Lgg0YLQuNC/INGA0L7Qt9C00ZbQu9GDIChkb3MsIGJzZCwgc29sYXJpcyDRgtC+0YnQvilcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICDQtNC+0LrQu9Cw0LTQvdC40Lkg0YDQtdC20LjQvFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Nzc2Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93LCAtLXJhdyBvciAtLXBhaXJzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorItCU0L7RgdGC0YPQv9C90ZYg0YHRgtC+0LLQv9GH0LjQutC4ICjQtNC70Y8gLS1zaG93LCAtLXJhdyDQsNCx0L4gLS1wYWlycyk6XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS1uciA8TS1OPiByYW5nZSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INC00ZbQsNC/0LDQt9C+0L0gLS1uciA8TS1OPiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkyNAorbXNnaWQgInBhcnRpdGlvbiBhbmQgZGlzayBuYW1lIGRvIG5vdCBtYXRjaCIKK21zZ3N0ciAi0L3QsNC30LLQsCDRgNC+0LfQtNGW0LvRgyDRliDQtNC40YHQutCwINGUINC90LXQstGW0LTQv9C+0LLRltC00L3QuNC80Lgg0L7QtNC90LAg0L7QtNC90ZbQuSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1MgorbXNnaWQgIi0tbnIgYW5kIDxwYXJ0aXRpb24+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIi0tbnIg0ZYgPNGA0L7Qt9C00ZbQuz4g0L3QtSDQvNC+0LbQvdCwINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQvtC00L3QvtGH0LDRgdC90L4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFydGl0aW9uOiAlcywgZGlzazogJXMsIGxvd2VyOiAlZCwgdXBwZXI6ICVkXG4iCittc2dzdHIgItGA0L7Qt9C00ZbQuzogJXMsINC00LjRgdC6OiAlcywg0L3QuNC20L3RltC5OiAlZCwg0LLQtdGA0YXQvdGW0Lk6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBkZWxldGUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC70YPRh9C40YLQuCDRgNC+0LfQtNGW0LvQuCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIlczog0L/RltC00YLRgNC40LzQutC4INC/0LXRgtC70YzQvtCy0LjRhSAobG9vcCkg0L/RgNC40YHRgtGA0L7Rl9CyLCDQv9C+0LTRltC70LXQvdC40YUg0L3QsCDRgNC+0LfQtNGW0LvQuCwg0L3QtSDQv9C10YDQtdC00LHQsNGH0LXQvdC+IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgcHJvYmVyIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDRltC90ZbRhtGW0LDQu9GW0LfRg9Cy0LDRgtC4INC30L7QvdC00YPQstCw0LvRjNC90LjQuiDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgNGW0LIg0LHQu9C+0LrRltCyIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyAlMiRzcmF3TiA8bWFqb3I+IDxtaW5vcj5cbiIKKyIgJTEkcyAlMiRzcmF3TiAvZGV2LzxibG9ja2RldmljZT5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorbXNnc3RyICIiCisiICUxJHMgJTIkc3Jhd04gPNC+0YHQvdC+0LLQvdC40Lk+IDzQtNGA0YPQs9C+0YDRj9C00L3QuNC5PlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPNCx0LvQvtC60L7QstC40Lkg0L/RgNC40YHRgtGA0ZbQuT5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjU4Cittc2dpZCAiQmluZCBhIHJhdyBjaGFyYWN0ZXIgZGV2aWNlIHRvIGEgYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICLQn9C+0LLigJnRj9C30LDRgtC4INC/0YDQvtGB0YLQuNC5INGB0LjQvNCy0L7Qu9GM0L3QuNC5INC/0YDQuNGB0YLRgNGW0Lkg0ZbQtyDQsdC70L7QutC+0LLQuNC8INC/0YDQuNGB0YLRgNC+0ZTQvC5cbiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MQorbXNnaWQgIiAtcSwgLS1xdWVyeSAgICBzZXQgcXVlcnkgbW9kZVxuIgorbXNnc3RyICIgLXEsIC0tcXVlcnkgICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0YDQtdC20LjQvNGWINC30LDQv9C40YLRg1xuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYyCittc2dpZCAiIC1hLCAtLWFsbCAgICAgIHF1ZXJ5IGFsbCByYXcgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAg0L7Qv9C40YLQsNGC0Lgg0LLRgdGWINC90LXQvtCx0YDQvtCx0LvQtdC90ZYg0L/RgNC40YHRgtGA0L7Rl1xuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyB0aGUgY29udHJvbCByYXcgZGV2aWNlICh1c2UgcmF3PE4+IHdoZXJlIDxOPiBpcyBncmVhdGVyIHRoYW4gemVybykiCittc2dzdHIgItCf0YDQuNGB0YLRgNGW0Lkgwqslc8K7INC90LUg0LrQvtC90YLRgNC+0LvRjNC90LjQvCDQvdC10L7QsdGA0L7QsdC70LXQvdC40Lwg0L/RgNC40YHRgtGA0L7RlNC8ICjRgdC60L7RgNC40YHRgtCw0LnRgtC10YHRjyByYXc8Tj4sINC00LUgPE4+INGUINCx0ZbQu9GM0YjQuNC8INC30LAg0L3Rg9C70YwpIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4MQorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIGJsb2NrIGRldmljZSAnJXMnIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINCy0LjQt9C90LDRh9C40YLQuCDRgNC+0LfRgtCw0YjRg9Cy0LDQvdC90Y8g0LHQu9C+0LrQvtCy0L7Qs9C+INC/0YDQuNGB0YLRgNC+0Y4gwqslc8K7IgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgItCf0YDQuNGB0YLRgNGW0Lkgwqslc8K7INC90LUg0ZQg0LHQu9C+0LrQvtCy0LjQvCDQv9GA0LjRgdGC0YDQvtGU0LwiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTkzIGRpc2stdXRpbHMvcmF3LmM6MTk2IHN5cy11dGlscy9pcGNybS5jOjM1MQorIzogc3lzLXV0aWxzL2lwY3JtLmM6MzY0IHN5cy11dGlscy9pcGNybS5jOjM3NworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INCw0YDQs9GD0LzQtdC90YIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuIG1hc3RlciByYXcgZGV2aWNlICclcyciCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0LLRltC00LrRgNC40YLQuCDQvtGB0L3QvtCy0L3QuNC5INC90LXQvtCx0YDQvtCx0LvQtdC90LjQuSDQv9GA0LjRgdGC0YDRltC5IMKrJXPCuyIKKworIzogZGlzay11dGlscy9yYXcuYzoyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSByYXcgZGV2aWNlICclcyciCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC30L3QsNGH0LjRgtC4INGA0L7Qt9GC0LDRiNGD0LLQsNC90L3RjyDQvdC10L7QsdGA0L7QsdC70LXQvdC+0LPQviDQv9GA0LjRgdGC0YDQvtGOIMKrJXPCuyIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmF3IGRldmljZSAnJXMnIGlzIG5vdCBhIGNoYXJhY3RlciBkZXYiCittc2dzdHIgItCd0LXQvtCx0YDQvtCx0LvQtdC90LjQuSDQv9GA0LjRgdGC0YDRltC5IMKrJXPCuyDQvdC1INGUINGB0LjQvNCy0L7Qu9GM0L3QuNC8INC/0YDQuNGB0YLRgNC+0ZTQvCIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgcmF3IGRldiIKK21zZ3N0ciAi0J/RgNC40YHRgtGA0ZbQuSDCqyVzwrsg0L3QtSDRlCDQvdC10L7QsdGA0L7QsdC70LXQvdC40Lwg0L/RgNC40YHRgtGA0L7RlNC8IgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI0NQorbXNnaWQgIkVycm9yIHF1ZXJ5aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgItCf0L7QvNC40LvQutCwINC/0ZbQtCDRh9Cw0YEg0YHQv9GA0L7QsdC4INC+0L/QuNGC0YPQstCw0L3QvdGPINC90LXQvtCx0YDQvtCx0LvQtdC90L7Qs9C+INC/0YDQuNGB0YLRgNC+0Y4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjU0IGRpc2stdXRpbHMvcmF3LmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzcmF3JWQ6ICBib3VuZCB0byBtYWpvciAlZCwgbWlub3IgJWRcbiIKK21zZ3N0ciAiJXNyYXclZDogINC/0YDQuNCyJ9GP0LfQsNGC0LjRgdGPINC00L4g0L7RgdC90L7QstC90L7Qs9C+ICVkLCDQtNC+0LTQsNGC0LrQvtCy0L7Qs9C+ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjY4Cittc2dpZCAiRXJyb3Igc2V0dGluZyByYXcgZGV2aWNlIgorbXNnc3RyICLQn9C+0LzQuNC70LrQsCDQv9GW0LQg0YfQsNGBINGB0L/RgNC+0LHQuCDQvdCw0LvQsNGI0YLQvtCy0YPQstCw0L3QvdGPINC90LXQvtCx0YDQvtCx0LvQtdC90L7Qs9C+INC/0YDQuNGB0YLRgNC+0Y4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8bGVuZ3RoPlxuIgorbXNnc3RyICIgJXMgPNC00LjRgdC60L7QstC40Lkg0L/RgNC40YHRgtGA0ZbQuT4gPNC90L7QvNC10YAg0YDQvtC30LTRltC70YM+IDzQtNC+0LLQttC40L3QsD5cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjMKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICLQn9C+0LLRltC00L7QvNC40YLQuCDRj9C00YDQviDRidC+0LTQviDQvdC+0LLQvtCz0L4g0YDQvtC30LzRltGA0YMg0YDQvtC30LTRltC70YMuXG4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgcGFydGl0aW9uIG51bWJlciAlcyIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQt9C90LDRh9C10L3QvdGPINC/0L7Rh9Cw0YLQutGDINGA0L7Qt9C00ZbQu9GDINC3INC90L7QvNC10YDQvtC8ICVzIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDkKK21zZ2lkICJmYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9C80ZbQvdC40YLQuCDRgNC+0LfQvNGW0YDQuCDRgNC+0LfQtNGW0LvRgyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMzEKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbmVzdGVkIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0YDQvtC30LzRltGB0YLQuNGC0Lgg0LLQutC70LDQtNC10L3RliDQutC+0L3RgtC10LrRgdGC0L3RliDQtNCw0L3RliBsaWJmZGlzayIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNlZWsgJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC60L7QvdCw0YLQuCDQv9C+0LfQuNGG0ZbRjtCy0LDQvdC90Y8gJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzAyIGxpYmZkaXNrL3NyYy9ic2QuYzo3MjMgbGliZmRpc2svc3JjL2JzZC5jOjg5NAorIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNjMgc3lzLXV0aWxzL2h3Y2xvY2suYzoxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC30LDQv9C40YHQsNGC0LggJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiUxMnMgKG9mZnNldCAlNWp1LCBzaXplICU1anUpOiAlcyIKK21zZ3N0ciAiJTEycyAo0LfRgdGD0LIgJTVqdSwg0YDQvtC30LzRltGAICU1anUpOiAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINGB0YLQstC+0YDQuNGC0Lgg0YDQtdC30LXRgNCy0L3RgyDQutC+0L/RltGOIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMyOAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAgZmlsZSwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINGB0YLQstC+0YDQuNGC0Lgg0YTQsNC50Lsg0YDQtdC30LXRgNCy0L3QvtGXINC60L7Qv9GW0ZcsICRIT01FINC90LUg0LLQuNC30L3QsNGH0LXQvdC+IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM1NAorbXNnaWQgIkJhY2t1cCBmaWxlczoiCittc2dzdHIgItCk0LDQudC70Lgg0YDQtdC30LXRgNCy0L3QuNGFINC60L7Qv9GW0Lk6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM3OQorbXNnaWQgImZhaWxlZCB0byByZWFkIG5ldyBwYXJ0aXRpb24gZnJvbSBkZXZpY2U7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC/0YDQvtGH0LjRgtCw0YLQuCDQvdC+0LLQuNC5INGA0L7Qt9C00ZbQuyDRltC3INC/0YDQuNGB0YLRgNC+0Y47INGW0LPQvdC+0YDRg9GU0LzQviAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODEKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0YDQvtC30LzRltGAINC90L7QstC+0LPQviDRgNC+0LfQtNGW0LvRgzsg0ZbQs9C90L7RgNGD0ZTQvNC+IC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MworbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0L/QvtGH0LDRgtC60YMg0L3QvtCy0L7Qs9C+INGA0L7Qt9C00ZbQu9GDOyDRltCz0L3QvtGA0YPRlNC80L4gLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg1Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INGA0L7Qt9C80ZbRgCDRgdGC0LDRgNC+0LPQviDRgNC+0LfQtNGW0LvRgzsg0ZbQs9C90L7RgNGD0ZTQvNC+IC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NworbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0L/QvtGH0LDRgtC60YMg0YHRgtCw0YDQvtCz0L4g0YDQvtC30LTRltC70YM7INGW0LPQvdC+0YDRg9GU0LzQviAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODkKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGhhcyBub3QgYmVlbiBtb3ZlZDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgItC/0L7Rh9Cw0YLQvtC6INGA0L7Qt9C00ZbQu9GDINC90LUg0LHRg9C70L4g0L/QtdGA0LXRgdGD0L3Rg9GC0L47INGW0LPQvdC+0YDRg9GU0LzQviAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTEKK21zZ2lkICJuZXcgcGFydGl0aW9uIGlzIHNtYWxsZXIgdGhhbiBvcmlnaW5hbDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgItC90L7QstC40Lkg0YDQvtC30LTRltC7INGUINC80LXQvdGI0LjQvCDQt9CwINC/0L7Rh9Cw0YLQutC+0LLQuNC5OyDRltCz0L3QvtGA0YPRlNC80L4gLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQxCittc2dpZCAiRGF0YSBtb3ZlOiIKK21zZ3N0ciAi0J/QtdGA0LXRgdGD0LLQsNC90L3RjyDQtNCw0L3QuNGFOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIHR5cGVzY3JpcHQgZmlsZTogJXMiCittc2dzdHIgIiDRhNCw0LnQuyB0eXBlc2NyaXB0OiAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIG9sZCBzdGFydDogJWp1LCBuZXcgc3RhcnQ6ICVqdSAobW92ZSAlanUgc2VjdG9ycylcbiIKK21zZ3N0ciAiINGB0YLQsNGA0LjQuSDQv9C+0YfQsNGC0L7QujogJWp1LCDQvdC+0LLQuNC5INC/0L7Rh9Cw0YLQvtC6OiAlanUgKNC/0LXRgNC10YHRg9Cy0LDQvdC90Y8gJWp1INGB0LXQutGC0L7RgNGW0LIpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUxCittc2dpZCAiRG8geW91IHdhbnQgdG8gbW92ZSBwYXJ0aXRpb24gZGF0YT8iCittc2dzdHIgItCl0L7Rh9C10YLQtSDQv9C10YDQtdGB0YPQvdGD0YLQuCDQtNCw0L3RliDRgNC+0LfQtNGW0LvRgz8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc4MworbXNnaWQgIkxlYXZpbmcuIgorbXNnc3RyICLQktC40YXQvtC00LjQvNC+LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBtb3ZlIGRhdGEiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINC/0LXRgNC10YHRg9C90YPRgtC4INC00LDQvdGWIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0MQorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaXMgdW5jaGFuZ2VkICgtLW5vLWFjdCkuIgorbXNnc3RyICLQotCw0LHQu9C40YbRjiDRgNC+0LfQtNGW0LvRltCyINC90LUg0LfQvNGW0L3QtdC90L4gKC0tbm8tYWN0KS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQ3Cittc2dpZCAiIgorIlxuIgorIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIiIKKyJcbiIKKyLQotCw0LHQu9C40YbRjiDRgNC+0LfQtNGW0LvRltCyINCx0YPQu9C+INC30LzRltC90LXQvdC+LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbGFiZWwgJyVzJyIKK21zZ3N0ciAi0L3QtdC/0ZbQtNGC0YDQuNC80YPQstCw0L3QsCDQvNGW0YLQutCwLCDCqyVzwrsiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjI2Cittc2dpZCAiIgorIklkICBOYW1lXG4iCisiXG4iCittc2dzdHIgIiIKKyLQhtC00LXQvdGC0LjRhC4g0J3QsNC30LLQsFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjY1NgorbXNnaWQgInVucmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUgdHlwZSIKK21zZ3N0ciAi0L3QtdCy0ZbQtNC+0LzQuNC5INGC0LjQvyDRgtCw0LHQu9C40YbRliDRgNC+0LfQtNGW0LvRltCyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjcwOQorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDRgNC+0LfQvNGW0YAgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInRvdGFsOiAlanUgYmxvY2tzXG4iCittc2dzdHIgItC30LDQs9Cw0LvQvtC8OiAlanUg0LHQu9C+0LrRltCyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODA4IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODc2IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk0NyBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTQgZGlzay11dGlscy9zZmRpc2suYzoxMDc4CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzMgZGlzay11dGlscy9zZmRpc2suYzoxMTg5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUzMworbXNnaWQgIm5vIGRpc2sgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAi0L3QtSDQstC60LDQt9Cw0L3QviDQv9GA0LjRgdGC0YDQvtGOINC00LjRgdC60LAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODE5Cittc2dpZCAidG9nZ2xlIGJvb3QgZmxhZ3MgaXMgc3VwcG9ydGVkIGZvciBNQlIgb25seSIKK21zZ3N0ciAi0L/QtdGA0LXQvNC40LrQsNC90L3RjyDQv9GA0LDQv9C+0YDRhtGW0LIg0LfQsNCy0LDQvdGC0LDQttC10L3QvdGPINC/0LXRgNC10LTQsdCw0YfQtdC90L4g0LvQuNGI0LUg0LTQu9GPIE1CUiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NTAgZGlzay11dGlscy9zZmRpc2suYzo4OTYgZGlzay11dGlscy9zZmRpc2suYzoxMDE5CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODMgZGlzay11dGlscy9zZmRpc2suYzoxMTM4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5NAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTMxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxMworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0L3QvtC80LXRgCDRgNC+0LfQtNGW0LvRgyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlZDogZmFpbGVkIHRvIHRvZ2dsZSBib290YWJsZSBmbGFnIgorbXNnc3RyICIlczog0YDQvtC30LTRltC7ICVkOiDQvdC1INCy0LTQsNC70L7RgdGPINC/0LXRgNC10LzQutC90YPRgtC4INGE0LDQudC7INC/0YDQuNC00LDRgtC90L7RgdGC0ZYg0LTQviDQt9Cw0LLQsNC90YLQsNC20LXQvdC90Y8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODkxIGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZGVsZXRlIgorbXNnc3RyICIlczog0YDQvtC30LTRltC7ICV6dTog0L3QtSDQstC00LDQu9C+0YHRjyDQstC40LvRg9GH0LjRgtC4IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi0J/RgNC40YHRgtGA0ZbQuSDQvdC1INC80ZbRgdGC0LjRgtGMINGA0L7Qt9C/0ZbQt9C90LDQvdC+0Zcg0YLQsNCx0LvQuNGG0ZYg0YDQvtC30LTRltC70ZbQsi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTU4Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGR1bXAgc3RydWN0IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0L/QsNC84oCZ0Y/RgtGMINC00LvRjyDRgdGC0YDRg9C60YLRg9GA0Lgg0LTQsNC80L/RgyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZHVtcCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0YHRgtCy0L7RgNC40YLQuCDQtNCw0LzQvyDRgtCw0LHQu9C40YbRliDRgNC+0LfQtNGW0LvRltCyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uIHRhYmxlIGZvdW5kIgorbXNnc3RyICIlczog0L3QtSDQt9C90LDQudC00LXQvdC+INGC0LDQsdC70LjRhtGWINGA0L7Qt9C00ZbQu9GW0LIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6INGA0L7Qt9C00ZbQuyAlenU6INGC0LDQsdC70LjRhtGPINGA0L7Qt9C00ZbQu9GW0LIg0LzRltGB0YLQuNGC0Ywg0LvQuNGI0LUgJXp1INGA0L7Qt9C00ZbQu9GW0LIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gaXMgdW51c2VkIgorbXNnc3RyICIlczog0YDQvtC30LTRltC7ICV6dTog0YDQvtC30LTRltC7INC90LUg0LLQuNC60L7RgNC40YHRgtC+0LLRg9GU0YLRjNGB0Y8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxOCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODIgZGlzay11dGlscy9zZmRpc2suYzoxMTM3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTMKK21zZ2lkICJubyBwYXJ0aXRpb24gbnVtYmVyIHNwZWNpZmllZCIKK21zZ3N0ciAi0L3QtSDQstC60LDQt9Cw0L3QviDQvdC+0LzQtdGAINGA0L7Qt9C00ZbQu9GDIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMjQgZGlzay11dGlscy9zZmRpc2suYzoxMDg4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE0MworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTk5Cittc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudHMiCittc2dzdHIgItC90LXQvtGH0ZbQutGD0LLQsNC90ZYg0LDRgNCz0YPQvNC10L3RgtC4IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiVzOiDRgNC+0LfQtNGW0LsgJXp1OiDQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0YLQuNC/INGA0L7Qt9C00ZbQu9GDIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIHBhcnRpdGlvbiB0eXBlICclcyciCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDRgtC40L8g0YDQvtC30LTRltC70YMgJXMgwqslc8K7IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiVzOiDRgNC+0LfQtNGW0LsgJXp1OiDQvdC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INGC0LjQvyDRgNC+0LfQtNGW0LvRgyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIlczog0YDQvtC30LTRltC7ICV6dTog0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4IFVVSUQg0YDQvtC30LTRltC70YMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTExMyBkaXNrLXV0aWxzL3NmZGlzay5jOjExNjggZGlzay11dGlscy9zZmRpc2suYzoxMjIyCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBvYmplY3QiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQv9Cw0LzigJnRj9GC0Ywg0L/RltC0INC+0LHigJnRlNC60YIg0YDQvtC30LTRltC70YMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTExNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiJXM6INGA0L7Qt9C00ZbQuyAlenU6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0LggVVVJRCDRgNC+0LfQtNGW0LvRgyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlczog0YDQvtC30LTRltC7ICV6dTog0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INC90LDQt9Cy0YMg0YDQvtC30LTRltC70YMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiJXM6INGA0L7Qt9C00ZbQuyAlenU6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0L3QsNC30LLRgyDRgNC+0LfQtNGW0LvRgyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBhdHRyaWJ1dGVzIgorbXNnc3RyICIlczog0YDQvtC30LTRltC7ICV6dTog0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDQsNGC0YDQuNCx0YPRgtC4INGA0L7Qt9C00ZbQu9GDIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNjkKK21zZ2lkICIgQ29tbWFuZHM6XG4iCittc2dzdHIgIiDQmtC+0LzQsNC90LTQuDpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjcxCittc2dpZCAiICAgd3JpdGUgICAgd3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdFxuIgorbXNnc3RyICIgICB3cml0ZSAgICDQt9Cw0L/QuNGB0LDRgtC4INGC0LDQsdC70LjRhtGOINC90LAg0LTQuNGB0Log0ZYg0LLQuNC50YLQuFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzIKK21zZ2lkICIgICBxdWl0ICAgICBzaG93IG5ldyBzaXR1YXRpb24gYW5kIHdhaXQgZm9yIHVzZXIncyBmZWVkYmFjayBiZWZvcmUgd3JpdGVcbiIKK21zZ3N0ciAiICAgcXVpdCAgICAg0L/QvtC60LDQt9Cw0YLQuCDQvdC+0LLRgyDRgdC40YLRg9Cw0YbRltGOINGWINC30LDRh9C10LrQsNGC0Lgg0L3QsCDQstGW0LTQv9C+0LLRltC00Ywg0LrQvtGA0LjRgdGC0YPQstCw0YfQsCDQtNC+INCy0LjQutC+0L3QsNC90L3RjyDQt9Cw0L/QuNGB0YNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjczCittc2dpZCAiICAgYWJvcnQgICAgZXhpdCBzZmRpc2sgc2hlbGxcbiIKK21zZ3N0ciAiICAgYWJvcnQgICAg0LLQuNC50YLQuCDRltC3INC+0LHQvtC70L7QvdC60Lggc2ZkaXNrXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3NAorbXNnaWQgIiAgIHByaW50ICAgIGRpc3BsYXkgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgICBwcmludCAgICDQstC40LLQtdGB0YLQuCDRgtCw0LHQu9C40YbRjiDRgNC+0LfQtNGW0LvRltCyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3NQorbXNnaWQgIiAgIGhlbHAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKK21zZ3N0ciAiICAgaGVscCAgICAg0L/QvtC60LDQt9Cw0YLQuCDRhtC10Lkg0YLQtdC60YHRgiDQtNC+0LLRltC00LrQuFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzcKK21zZ2lkICIgICBDdHJsLUQgICB0aGUgc2FtZSBhcyAncXVpdCdcbiIKK21zZ3N0ciAiICAgQ3RybC1EICAg0YLQtSDRgdCw0LzQtSwg0YnQviDRliDQutC+0LzQsNC90LTQsCDCq3F1aXTCu1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODEKK21zZ2lkICIgSW5wdXQgZm9ybWF0OlxuIgorbXNnc3RyICIg0JLRhdGW0LTQvdC40Lkg0YTQvtGA0LzQsNGCOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODMKK21zZ2lkICIgICA8c3RhcnQ+LCA8c2l6ZT4sIDx0eXBlPiwgPGJvb3RhYmxlPlxuIgorbXNnc3RyICIgICA80L/QvtGH0LDRgtC+0Lo+LCA8c9GA0L7Qt9C80ZbRgD4sIDzRgtC40L8+LCA80LfQsNCy0LDQvdGC0LDQttGD0LLQsNC90ZbRgdGC0Yw+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4NgorbXNnaWQgIiIKKyIgICA8c3RhcnQ+ICBCZWdpbm5pbmcgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgdGhlIGZpcnN0IGZyZWUgc3BhY2UuXG4iCittc2dzdHIgIiIKKyIgICA80L/QvtGH0LDRgtC+0Lo+INC/0L7Rh9Cw0YLQvtC6INGA0L7Qt9C00ZbQu9GDINGDINGB0LXQutGC0L7RgNCw0YUg0LDQsdC+INCx0LDQudGC0LDRhSwg0Y/QutGJ0L4g0LLQutCw0LfQsNC90L4g0YMg0YTQvtGA0LzQsNGC0ZZcbiIKKyIgICAgICAgICAgICA80YfQuNGB0LvQvj57SyxNLEcsVCxQLEUsWixZfS4g0KLQuNC/0L7QstC+INCy0LjQutC+0YDQuNGB0YLQvtCy0YPRlNGC0YzRgdGPINGD0LLQtdGB0YxcbiIKKyIgICAgICAgICAgICDQtNC+0YHRgtGD0L/QvdC40Lkg0LLRltC70YzQvdC40Lkg0L/RgNC+0YHRgtGW0YAuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MQorbXNnaWQgIiIKKyIgICA8c2l6ZT4gICBTaXplIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIGFsbCBhdmFpbGFibGUgc3BhY2UuXG4iCittc2dzdHIgIiIKKyIgICA80YDQvtC30LzRltGAPiDRgNC+0LfQvNGW0YAg0YDQvtC30LTRltC70YMg0YMg0YHQtdC60YLQvtGA0LDRhSwg0Y/QutGJ0L4g0LLQutCw0LfQsNC90L4g0YMg0YTQvtGA0LzQsNGC0ZZcbiIKKyIgICAgICAgICAgICA80YDQvtC30LzRltGAPntLLE0sRyxULFAsRSxaLFl9LCDQvtCx0YDQvtCx0LvRj9GU0YLRjNGB0Y8g0Y/QuiDRgNC+0LfQvNGW0YBcbiIKKyIgICAgICAgICAgICDRgyDQsdCw0LnRgtCw0YUuINCi0LjQv9C+0LLQviDQstC40LrQvtGA0LjRgdGC0L7QstGD0ZTRgtGM0YHRjyDRg9Cy0LXRgdGMINC00L7RgdGC0YPQv9C90LjQuSDQv9GA0L7RgdGC0ZbRgC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk2Cittc2dpZCAiICAgPHR5cGU+ICAgVGhlIHBhcnRpdGlvbiB0eXBlLiAgRGVmYXVsdCBpcyBhIExpbnV4IGRhdGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIgICA80YLQuNC/PiAgICDRgtC40L8g0YDQvtC30LTRltC70YMuINCi0LjQv9C+0LLQuNC8INGUINGA0L7Qt9C00ZbQuyDQtNCw0L3QuNGFIExpbnV4LlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTcKK21zZ2lkICIgICAgICAgICAgICBNQlI6IGhleCBvciBMLFMsRSxYIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiICAgICAgICAgICAgTUJSOiDRiNGW0YHRgtC90LDQtNGG0Y/RgtC60L7QstC1INGH0LjRgdC70L4g0LDQsdC+INGB0LrQvtGA0L7Rh9C10L3QvdGPIEwsUyxFLFguXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5OAorbXNnaWQgIiAgICAgICAgICAgIEdQVDogVVVJRCBvciBMLFMsSCBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiAgICAgICAgICAgIEdQVDogVVVJRCDQsNCx0L4g0YHQutC+0YDQvtGH0LXQvdC90Y8gTCxTLEguXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwMQorbXNnaWQgIiAgIDxib290YWJsZT4gIFVzZSAnKicgdG8gbWFyayBhbiBNQlIgcGFydGl0aW9uIGFzIGJvb3RhYmxlLlxuIgorbXNnc3RyICIgICA80LfQsNCy0LDQvdGC0LDQttGD0LLQsNC90ZbRgdGC0Yw+IMKrKsK7LCDRidC+0LEg0L/QvtC30L3QsNGH0LjRgtC4INGA0L7Qt9C00ZbQuyBNQlIg0Y/QuiDQv9GA0LjQtNCw0YLQvdC40Lkg0LTQviDQt9Cw0LLQsNC90YLQsNC20LXQvdC90Y8uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNQorbXNnaWQgIiBFeGFtcGxlOlxuIgorbXNnc3RyICIg0J/RgNC40LrQu9Cw0LQ6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNworbXNnaWQgIiAgICwgNEcgICAgIENyZWF0ZXMgYSA0R2lCIHBhcnRpdGlvbiBhdCBkZWZhdWx0IHN0YXJ0IG9mZnNldC5cbiIKK21zZ3N0ciAiICAgLCA0RyAgICAg0YHRgtCy0L7RgNC40YLQuCDRgNC+0LfQtNGW0Lsg0YMgNCDQk9GW0JEg0Lcg0YLQuNC/0L7QstC40Lwg0LfRgdGD0LLQvtC8INC/0L7Rh9Cw0YLQutGDLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMzkgc3lzLXV0aWxzL2RtZXNnLmM6MTQ1NQorbXNnaWQgInVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgItC90LXQv9GW0LTRgtGA0LjQvNGD0LLQsNC90LAg0LrQvtC80LDQvdC00LAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICLRgNGP0LTQvtC6ICVkOiDQvdC10L/RltC00YLRgNC40LzRg9Cy0LDQvdCwINC60L7QvNCw0L3QtNCwIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MDAKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQv9Cw0LzigJnRj9GC0Ywg0L/RltC0INC90LDQt9Cy0YMg0YDQvtC30LTRltC70YMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU0MQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INC/0LDQvOKAmdGP0YLRjCDQv9GW0LQg0L7QsdGA0L7QsdC60Lgg0YHQutGA0LjQv9GC0ZbQsiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogbm8gcGFydGl0aW9uIHRhYmxlIHdhcyBmb3VuZCIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQvdC10YHRgtC4INC30LzRltC90Lgg0LTQviDRgNC+0LfQtNGW0LvRgyAlZCwg0YLQsNCx0LvQuNGG0ZYg0YDQvtC30LTRltC70ZbQsiDQvdC1INC30L3QsNC50LTQtdC90L4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQstC90LXRgdGC0Lgg0LfQvNGW0L3QuCDQtNC+INGA0L7Qt9C00ZbQu9GDICVkLCDRgtCw0LHQu9C40YbRjyDRgNC+0LfQtNGW0LvRltCyINC80ZbRgdGC0LjRgtGMINC70LjRiNC1ICV6dSDRgNC+0LfQtNGW0LvRltCyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXM6IHBhcnRpdGlvbiAlZCBpcyBub3QgZGVmaW5lZCB5ZXQiCittc2dzdHIgItC/0L7Qv9C10YDQtdC00LbQtdC90L3RjzogJXM6INGA0L7Qt9C00ZbQuyAlZCDRidC1INC90LUg0LLQuNC30L3QsNGH0LXQvdC+IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIldlbGNvbWUgdG8gc2ZkaXNrICglcykuIgorbXNnc3RyICIiCisiXG4iCisi0JLRltGC0LDRlNC80L4g0YMgc2ZkaXNrICglcykuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTQKK21zZ2lkICJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIKK21zZ3N0ciAi0J/QtdGA0LXQstGW0YDRj9GU0LzQviwg0YfQuCDQvdC1INCy0LjQutC+0YDQuNGB0YLQvtCy0YPRlCDQtNC40YHQuiDRj9C60LDRgdGMINC/0YDQvtCz0YDQsNC80LAuLi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NworbXNnaWQgIiIKKyIgRkFJTEVEXG4iCisiXG4iCittc2dzdHIgIiIKKyIg0J/QntCc0JjQm9Ca0JBcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjAwCittc2dpZCAiIgorIlRoaXMgZGlzayBpcyBjdXJyZW50bHkgaW4gdXNlIC0gcmVwYXJ0aXRpb25pbmcgaXMgcHJvYmFibHkgYSBiYWQgaWRlYS5cbiIKKyJVbW91bnQgYWxsIGZpbGUgc3lzdGVtcywgYW5kIHN3YXBvZmYgYWxsIHN3YXAgcGFydGl0aW9ucyBvbiB0aGlzIGRpc2suXG4iCisiVXNlIHRoZSAtLW5vLXJlcmVhZCBmbGFnIHRvIHN1cHByZXNzIHRoaXMgY2hlY2suXG4iCittc2dzdHIgIiIKKyLQptC10Lkg0LTQuNGB0Log0L3QsNGA0LDQt9GWINCy0LjQutC+0YDQuNGB0YLQvtCy0YPRlNGC0YzRgdGPIC0g0LfQvNGW0L3QsCDRgNC+0LfQtNGW0LvRltCyLCDQvNC+0LbQu9C40LLQviwg0L/QvtCz0LDQvdCwINGW0LTQtdGPLlxuIgorItCU0LXQvNC+0L3RgtGD0LnRgtC1INCy0YHRliDRhNCw0LnQu9C+0LLRliDRgdC40YHRgtC10LzQuCwg0YLQsCDQstGW0LTQutC70Y7Rh9GW0YLRjCDQstGB0ZYg0YDQvtC30LTRltC70Lgg0YHQstC+0L/RltC90LPRgyDQvdCwINGG0YzQvtC80YMg0LTQuNGB0LrRgy5cbiIKKyLQktC40LrQvtGA0LjRgdGC0L7QstGD0LnRgtC1INC/0LDRgNCw0LzQtdGC0YAgLS1uby1yZXJlYWQg0YnQvtCxINC+0LHQvNC40L3Rg9GC0Lgg0YbRjiDQv9C10YDQtdCy0ZbRgNC60YMuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIgorbXNnc3RyICLQktC40LrQvtGA0LjRgdGC0L7QstGD0LnRgtC1INC/0LDRgNCw0LzQtdGC0YAgLS1mb3JjZSwg0YnQvtCxINCy0ZbQtNGF0LjQu9C40YLQuCDQstGB0ZYg0L/QtdGA0LXQstGW0YDQutC4LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjA3Cittc2dpZCAiIgorIiBPS1xuIgorIlxuIgorbXNnc3RyICIiCisiINCS0JjQmtCe0J3QkNCd0J5cbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjM2Cittc2dpZCAiIgorIlxuIgorIk9sZCBzaXR1YXRpb246IgorbXNnc3RyICIiCisiXG4iCisi0J/QvtC/0LXRgNC10LTQvdGW0Lkg0YHRgtCw0L06IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorInNmZGlzayBpcyBnb2luZyB0byBjcmVhdGUgYSBuZXcgJyVzJyBkaXNrIGxhYmVsLlxuIgorIlVzZSAnbGFiZWw6IDxuYW1lPicgYmVmb3JlIHlvdSBkZWZpbmUgYSBmaXJzdCBwYXJ0aXRpb25cbiIKKyJ0byBvdmVycmlkZSB0aGUgZGVmYXVsdC4iCittc2dzdHIgIiIKKyJcbiIKKyJzZmRpc2sg0YHQv9GA0L7QsdGD0ZQg0YHRgtCy0L7RgNC40YLQuCDQtNC40YHQutC+0LLRgyDQvNGW0YLQutGDIMKrJXPCuy5cbiIKKyLQodC60L7RgNC40YHRgtCw0LnRgtC10YHRjyDQutC+0LzQsNC90LTQvtGOIMKrbGFiZWw6IDzQvdCw0LfQstCwPsK7LCDQv9C10YDRiCDQvdGW0LYg0LLQuNC30L3QsNGH0LDRgtC4XG4iCisi0L/QtdGA0YjQuNC5INGA0L7Qt9C00ZbQuywg0YnQvtCxINC/0LXRgNC10LLQuNC30L3QsNGH0LjRgtC4INGC0LjQv9C+0LLRgyDQvNGW0YLQutGDLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjU3Cittc2dpZCAiIgorIlxuIgorIlR5cGUgJ2hlbHAnIHRvIGdldCBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisiXG4iCisi0JLQstC10LTRltGC0Ywg0LrQvtC80LDQvdC00YMgwqtoZWxwwrssINGJ0L7QsSDQvtGC0YDQuNC80LDRgtC4INCx0ZbQu9GM0YjQtSDRltC90YTQvtGA0LzQsNGG0ZbRly5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjc1Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgdXNlZC4iCittc2dzdHIgItCS0LjQutC+0YDQuNGB0YLQsNC90L4g0YPRgdGWINGA0L7Qt9C00ZbQu9C4LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzAzCittc2dpZCAiRG9uZS5cbiIKK21zZ3N0ciAi0JLQuNC60L7QvdCw0L3Qvi5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzE1Cittc2dpZCAiSWdub3JpbmcgcGFydGl0aW9uLiIKK21zZ3N0ciAi0IbQs9C90L7RgNGD0ZTQvNC+INGA0L7Qt9C00ZbQuy4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcyNAorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgaGVhZGVycywgZGlzayBsYWJlbCBub3QgY3JlYXRlZC4iCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0LfQsNGB0YLQvtGB0YPQstCw0YLQuCDQt9Cw0LPQvtC70L7QstC60Lgg0YHQutGA0LjQv9GC0YMsINC00LjRgdC60L7QstGDINC80ZbRgtC60YMg0L3QtSDRgdGC0LLQvtGA0LXQvdC+LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkICMlZCBwYXJ0aXRpb24iCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0LTQvtC00LDRgtC4INGA0L7Qt9C00ZbQuyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzYzCittc2dpZCAiU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4iCittc2dzdHIgItCX0LDQs9C+0LvQvtCy0L7QuiDRgdC60YDQuNC/0YLRgyDQv9GA0LjQudC90Y/RgtC+LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzcyCittc2dpZCAiIgorIlxuIgorIk5ldyBzaXR1YXRpb246IgorbXNnc3RyICIiCisiXG4iCisi0J3QvtCy0LjQuSDRgdGC0LDQvToiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc4MQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHdyaXRlIHRoaXMgdG8gZGlzaz8iCittc2dzdHIgItCl0L7Rh9C10YLQtSDQt9Cw0L/QuNGB0LDRgtC4INGG0LUg0L3QsCDQtNC40YHQuj8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc5MworbXNnaWQgIkxlYXZpbmcuXG4iCittc2dzdHIgItCS0LjRhdC+0LTQuNC80L4uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXY+IFtbLU5dIDxwYXJ0Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBb0L/QsNGA0LDQvNC10YLRgNC4XSA80LTQuNGB0Lo+IFtbLU5dIDzRgNC+0LfQtNGW0Ls+XVxuIgorIiAlMSRzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIDzQutC+0LzQsNC90LTQsD5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEyCittc2dpZCAiIgorIlxuIgorIkNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisiXG4iCisi0JrQvtC80LDQvdC00Lg6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMworbXNnaWQgIiAtQSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gbGlzdCBvciBzZXQgYm9vdGFibGUgTUJSIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIC1BLCAtLWFjdGl2YXRlIDzQv9GA0LjRgdGC0YDRltC5PiBbPNGA0L7Qt9C00ZbQuz4gLi4uXSDQv9C+0LrQsNC30LDRgtC4INGB0L/QuNGB0L7QuiDQsNCx0L4g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LfQsNCy0LDQvdGC0LDQttGD0LLQsNC90ZbRgdGC0Ywg0LTQu9GPINGA0L7Qt9C00ZbQu9GW0LIgTUJSXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNAorbXNnaWQgIiAtZCwgLS1kdW1wIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgKHVzYWJsZSBmb3IgbGF0ZXIgaW5wdXQpXG4iCittc2dzdHIgIiAtZCwgLS1kdW1wIDzQv9GA0LjRgdGC0YDRltC5PiAgICAgICAgICAgICDRgdGC0LLQvtGA0LjRgtC4INC00LDQvNC/INGC0LDQsdC70LjRhtGWINGA0L7Qt9C00ZbQu9GW0LIgKNC/0YDQuNC00LDRgtC90LjQuSDQtNC70Y8g0L3QsNGB0YLRg9C/0L3QvtCz0L4g0L/QtdGA0LXQtNCw0LLQsNC90L3RjyDRltC90YjQuNC8INC/0YDQvtCz0YDQsNC80LDQvClcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE1Cittc2dpZCAiIC1KLCAtLWpzb24gPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSBpbiBKU09OIGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiA80L/RgNC40YHRgtGA0ZbQuT4gICAgICAgICAgICAg0YHRgtCy0L7RgNC40YLQuCDQtNCw0LzQvyDRgtCw0LHQu9C40YbRliDRgNC+0LfQtNGW0LvRltCyINGDINGE0L7RgNC80LDRgtGWIEpTT05cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE2Cittc2dpZCAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxkZXY+IC4uLl0gICBsaXN0IGdlb21ldHJ5IG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLWcsIC0tc2hvdy1nZW9tZXRyeSBbPNC/0YDQuNGB0YLRgNGW0Lk+IC4uLl0gICDQstC40LLQtdGB0YLQuCDRgdC/0LjRgdC+0Log0LPQtdC+0LzQtdGC0YDRltGXINGD0YHRltGFINC/0YDQuNGB0YLRgNC+0ZfQsiDQsNCx0L4g0LLQutCw0LfQsNC90L7Qs9C+INC/0YDQuNGB0YLRgNC+0Y5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE3Cittc2dpZCAiIC1sLCAtLWxpc3QgWzxkZXY+IC4uLl0gICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgWzzQv9GA0LjRgdGC0YDRltC5PiAuLi5dICAgICAgINCy0LjQstC10YHRgtC4INGB0L/QuNGB0L7QuiDRgNC+0LfQtNGW0LvRltCyINGD0YHRltGFINC/0YDQuNGB0YLRgNC+0ZfQsiDQsNCx0L4g0LLQutCw0LfQsNC90L7Qs9C+INC/0YDQuNGB0YLRgNC+0Y5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE4Cittc2dpZCAiIC1GLCAtLWxpc3QtZnJlZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHVucGFydGl0aW9uZWQgZnJlZSBhcmVhcyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgLUYsIC0tbGlzdC1mcmVlIFs80L/RgNC40YHRgtGA0ZbQuT4gLi4uXSAg0LLQuNCy0LXRgdGC0Lgg0YHQv9C40YHQvtC6INC90LXRgNC+0LfQv9C+0LTRltC70LXQvdC40YUg0LLRltC70YzQvdC40YUg0L7QsdC70LDRgdGC0LXQuSDQutC+0LbQvdC+0LPQviDQv9GA0LjRgdGC0YDQvtGOXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxOQorbXNnaWQgIiAtciwgLS1yZW9yZGVyIDxkZXY+ICAgICAgICAgICAgICAgZml4IHBhcnRpdGlvbnMgb3JkZXIgKGJ5IHN0YXJ0IG9mZnNldClcbiIKK21zZ3N0ciAiIC1yLCAtLXJlb3JkZXIgPNC/0YDQuNGB0YLRgNGW0Lk+ICAgICAgICAgINCy0LjQv9GA0LDQstC40YLQuCDQv9C+0YDRj9C00L7QuiDRgNC+0LfQtNGW0LvRltCyICjQt9CwINC/0L7Rh9Cw0YLQutC+0LLQuNC8INC30YHRg9Cy0L7QvClcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIwCittc2dpZCAiIC1zLCAtLXNob3ctc2l6ZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHNpemVzIG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLXMsIC0tc2hvdy1zaXplIFs80L/RgNC40YHRgtGA0ZbQuT4gLi4uXSAg0LLQuNCy0LXRgdGC0Lgg0YHQv9C40YHQvtC6INGA0L7Qt9C80ZbRgNGW0LIg0YPRgdGW0YUg0L/RgNC40YHRgtGA0L7Rl9CyINCw0LHQviDQstC60LDQt9Cw0L3QvtCz0L4g0L/RgNC40YHRgtGA0L7RjlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjEKK21zZ2lkICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByZWNvZ25pemVkIHR5cGVzIChzZWUgLVgpXG4iCittc2dzdHIgIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0YDQvtC30L/RltC30L3QsNC90ZYg0YLQuNC/0LggKNC00LjQsi4gLVgpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMgorbXNnaWQgIiAtViwgLS12ZXJpZnkgWzxkZXY+IC4uLl0gICAgICAgICAgdGVzdCB3aGV0aGVyIHBhcnRpdGlvbnMgc2VlbSBjb3JyZWN0XG4iCittc2dzdHIgIiAtViwgLS12ZXJpZnkgWzzQv9GA0LjRgdGC0YDRltC5PiAuLi5dICAgICDQv9C10YDQtdCy0ZbRgNC40YLQuCwg0YfQuCDRlCDQutC+0YDQtdC60YLQvdC40LzQuCDRgNC+0LfQtNGW0LvQuFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjMKK21zZ2lkICIgICAgIC0tZGVsZXRlIDxkZXY+IFs8cGFydD4gLi4uXSAgIGRlbGV0ZSBhbGwgb3Igc3BlY2lmaWVkIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiICAgICAtLWRlbGV0ZSA80L/RgNC40YHRgtGAPiBbPNGA0L7Qt9C0PiAuLi5dINCy0LjQu9GD0YfQuNGC0Lgg0YPRgdGWINCw0LHQviDQstC60LDQt9Cw0L3RliDRgNC+0LfQtNGW0LvQuFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjYKK21zZ2lkICIgLS1wYXJ0LWxhYmVsIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gbGFiZWxcbiIKK21zZ3N0ciAiIC0tcGFydC1sYWJlbCA80L/RgNC40YHRgtGA0ZbQuT4gPNGA0L7Qt9C00ZbQuz4gWzzRgNGP0LTQvtC6Pl0g0LLQuNCy0LXRgdGC0Lgg0LDQsdC+INC30LzRltC90LjRgtC4INC80ZbRgtC60YMg0YDQvtC30LTRltC70YNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI3Cittc2dpZCAiIC0tcGFydC10eXBlIDxkZXY+IDxwYXJ0PiBbPHR5cGU+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiIC0tcGFydC10eXBlIDzQv9GA0LjRgdGC0YDRltC5PiA80YDQvtC30LTRltC7PiBbPNGC0LjQvz5dINCy0LjQstC10YHRgtC4INCw0LHQviDQt9C80ZbQvdC40YLQuCDRgtC40L8g0YDQvtC30LTRltC70YNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI4Cittc2dpZCAiIC0tcGFydC11dWlkIDxkZXY+IDxwYXJ0PiBbPHV1aWQ+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHV1aWRcbiIKK21zZ3N0ciAiIC0tcGFydC11dWlkIDzQv9GA0LjRgdGC0YDRltC5PiA80YDQvtC30LTRltC7PiBbPHV1aWQ+XSDQstC40LLQtdGB0YLQuCDQsNCx0L4g0LfQvNGW0L3QuNGC0LggdXVpZCDRgNC+0LfQtNGW0LvRg1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjkKK21zZ2lkICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gYXR0cmlidXRlc1xuIgorbXNnc3RyICIgLS1wYXJ0LWF0dHJzIDzQv9GA0LjRgdGC0YDRltC5PiA80YDQvtC30LTRltC7PiBbPNGA0Y/QtNC+0Lo+XSDQstC40LLQtdGB0YLQuCDQsNCx0L4g0LfQvNGW0L3QuNGC0Lgg0LDRgtGA0LjQsdGD0YLQuCDRgNC+0LfQtNGW0LvRg1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzIKK21zZ2lkICIgPGRldj4gICAgICAgICAgICAgICAgICAgICBkZXZpY2UgKHVzdWFsbHkgZGlzaykgcGF0aFxuIgorbXNnc3RyICIgPNC/0YDQuNGB0YLRgNGW0Lk+ICAgICAgICAgICAgICAgINGI0LvRj9GFINC00L4g0L/RgNC40YHRgtGA0L7RjiAo0LfQsNC30LLQuNGH0LDQuSwg0LTQuNGB0LrQsClcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODMzCittc2dpZCAiIDxwYXJ0PiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgPNGA0L7Qt9C00ZbQuz4gICAgICAgICAgICAgICAgICDQvdC+0LzQtdGAINGA0L7Qt9C00ZbQu9GDXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzNAorbXNnaWQgIiA8dHlwZT4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiB0eXBlLCBHVUlEIGZvciBHUFQsIGhleCBmb3IgTUJSXG4iCittc2dzdHIgIiA80YLQuNC/PiAgICAgICAgICAgICAgICAgICAgINGC0LjQvyDRgNC+0LfQtNGW0LvRgywgR1VJRCDQtNC70Y8gR1BULCDRiNGW0YHRgtC90LDQtNGG0Y/RgtC60L7QstC1INGH0LjRgdC70L4g0LTQu9GPIE1CUlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzcKK21zZ2lkICIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICBhcHBlbmQgcGFydGl0aW9ucyB0byBleGlzdGluZyBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAg0LTQvtC/0LjRgdCw0YLQuCDRgNC+0LfQtNGW0LvQuCDQtNC+INC90LDRj9Cy0L3QvtGXINGC0LDQsdC70LjRhtGWINGA0L7Qt9C00ZbQu9GW0LJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM4Cittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAgYmFja3VwIHBhcnRpdGlvbiB0YWJsZSBzZWN0b3JzIChzZWUgLU8pXG4iCittc2dzdHIgIiAtYiwgLS1iYWNrdXAgICAgICAgICAgICAgINGB0YLQstC+0YDQuNGC0Lgg0YDQtdC30LXRgNCy0L3RgyDQutC+0L/RltGOINGB0LXQutGC0L7RgNGW0LIg0YLQsNCx0LvQuNGG0ZYg0YDQvtC30LTRltC70ZbQsiAo0LTQuNCyLiAtTylcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0KDQntCX0JzQhtCgINGDINCx0LDQudGC0LDRhSwg0LAg0L3QtSDRgyDQt9GA0YPRh9C90L7QvNGDINC00LvRjyDRh9C40YLQsNC90L3RjyDRhNC+0YDQvNCw0YLRllxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDAKK21zZ2lkICIgICAgIC0tbW92ZS1kYXRhWz08dHlwZXNjcmlwdD5dIG1vdmUgcGFydGl0aW9uIGRhdGEgYWZ0ZXIgcmVsb2NhdGlvbiAocmVxdWlyZXMgLU4pXG4iCittc2dzdHIgIiAgICAgLS1tb3ZlLWRhdGFbPTzQvNCw0YjQuNC90L7Qv9C40YE+XSDQv9C10YDQtdGB0YPQvdGD0YLQuCDQtNCw0L3RliDRgNC+0LfQtNGW0LvRgyDQv9GW0YHQu9GPINC/0LXRgNC10LzRltGJ0LXQvdC90Y8gKNC/0L7RgtGA0LXQsdGD0ZQgLU4pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MQorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGNvbnNpc3RlbmN5IGNoZWNraW5nXG4iCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgINCy0LjQvNC60L3Rg9GC0Lgg0YPRgdGWINC/0LXRgNC10LLRltGA0LrQuCDRhtGW0LvRltGB0L3QvtGB0YLRllxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDIKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorIiAgICAtLWNvbG9yWz080YPQvNC+0LLQsD5dICAg0YDQvtC30YTQsNGA0LHQvtCy0YPQstCw0L3QvdGPINCy0LjQstC10LTQtdC90LjRhSDQtNCw0L3QuNGFIChhdXRvICjQsNCy0YLQviksXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx3YXlzICjQt9Cw0LLQttC00LgpINCw0LHQviBuZXZlciAo0L3RltC60L7Qu9C4KSlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ1Cittc2dpZCAiIC1OLCAtLXBhcnRubyA8bnVtPiAgICAgICAgc3BlY2lmeSBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiAtTiwgLS1wYXJ0bm8gPNGH0LjRgdC70L4+ICAgICAg0LLQutCw0LfQsNGC0Lgg0L3QvtC80LXRgCDRgNC+0LfQtNGW0LvRg1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDYKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB3cml0ZSB0byBkZXZpY2VcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAg0LLQuNC60L7QvdGD0LLQsNGC0Lgg0YPRgdGWINC00ZbRlywg0L7QutGA0ZbQvCDQt9Cw0L/QuNGB0YMg0L3QsCDQv9GA0LjRgdGC0YDRltC5XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NworbXNnaWQgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBkZXZpY2UgaXMgaW4gdXNlXG4iCittc2dzdHIgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgINC90LUg0L/QtdGA0LXQstGW0YDRj9GC0LgsINGH0Lgg0L/QtdGA0LXQsdGD0LLQsNGUINC/0YDQuNGB0YLRgNGW0Lkg0YMg0LrQvtGA0LjRgdGC0YPQstCw0L3QvdGWXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OAorbXNnaWQgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIGRvIG5vdCB0ZWxsIGtlcm5lbCBhYm91dCBjaGFuZ2VzXG4iCittc2dzdHIgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgINC90LUg0L/QvtCy0ZbQtNC+0LzQu9GP0YLQuCDRj9C00YDRgyDQv9GA0L4g0LfQvNGW0L3QuFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDkKK21zZ2lkICIgLU8sIC0tYmFja3VwLWZpbGUgPHBhdGg+ICBvdmVycmlkZSBkZWZhdWx0IGJhY2t1cCBmaWxlIG5hbWVcbiIKK21zZ3N0ciAiIC1PLCAtLWJhY2t1cC1maWxlIDzRiNC70Y/RhT4gINC/0LXRgNC10LLQuNC30L3QsNGH0LjRgtC4INGC0LjQv9C+0LLRgyDQvdCw0LfQstGDINGE0LDQudC70LAg0YDQtdC30LXRgNCy0L3QvtGXINC60L7Qv9GW0ZdcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUwCittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA80YHQv9C40YHQvtC6PiAgICAg0YHRgtC+0LLQv9GH0LjQutC4INCy0LjQstC10LTQtdC90LjRhSDQtNCw0L3QuNGFXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIGV4dHJhIGluZm8gbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAg0L/RgNC40LTRg9GI0LjRgtC4INC00L7QtNCw0YLQutC+0LLRliDRltC90YTQvtGA0LzQsNGG0ZbQudC90ZYg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MgorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLXcsIC0td2lwZSA80YDQtdC20LjQvD4gICAgICAgINGA0LXQttC40Lwg0LLQuNGC0LjRgNCw0L3QvdGPINC/0ZbQtNC/0LjRgdGW0LIgKGF1dG8gKNCw0LLRgtC+KSwgYWx3YXlzICjQt9Cw0LLQttC00LgpINCw0LHQviBuZXZlciAo0L3RltC60L7Qu9C4KSlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU0Cittc2dpZCAiIC1YLCAtLWxhYmVsIDxuYW1lPiAgICAgICAgc3BlY2lmeSBsYWJlbCB0eXBlIChkb3MsIGdwdCwgLi4uKVxuIgorbXNnc3RyICIgLVgsIC0tbGFiZWwgPNC90LDQt9Cy0LA+ICAgICAgINCy0LrQsNC30LDRgtC4INGC0LjQvyDQvNGW0YLQutC4IChkb3MsIGdwdCwgLi4uKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTUKK21zZ2lkICIgLVksIC0tbGFiZWwtbmVzdGVkIDxuYW1lPiBzcGVjaWZ5IG5lc3RlZCBsYWJlbCB0eXBlIChkb3MsIGJzZClcbiIKK21zZ3N0ciAiIC1ZLCAtLWxhYmVsLW5lc3RlZCA80L3QsNC30LLQsD4g0LLQutCw0LfQsNGC0Lgg0YLQuNC/INCy0LrQu9Cw0LTQtdC90L7RlyDQvNGW0YLQutC4IChkb3MsIGJzZClcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU3Cittc2dpZCAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgZGVwcmVjYXRlZCwgYWxpYXMgdG8gLS1zaG93LWdlb21ldHJ5XG4iCittc2dzdHIgIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgINC30LDRgdGC0LDRgNGW0LvQuNC5LCDQsNC70YzRgtC10YDQvdCw0YLQuNCy0L3QuNC5INCy0LDRgNGW0LDQvdGCIC0tc2hvdy1nZW9tZXRyeVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTgKK21zZ2lkICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4iCittc2dzdHIgIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgINC30LDRgdGC0LDRgNGW0LvQuNC5LCDQu9C40YjQtSDQtNC70Y8g0LfQstC+0YDQvtGC0L3QvtGXINGB0YPQvNGW0YHQvdC+0YHRgtGWXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OQorbXNnaWQgIiAtdSwgLS11bml0IFMgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgc2VjdG9yIHVuaXQgaXMgc3VwcG9ydGVkXG4iCittc2dzdHIgIiAtdSwgLS11bml0IFMgICAgICAgICAgICAgINC30LDRgdGC0LDRgNGW0LvQuNC5LCDQv9C10YDQtdC00LHQsNGH0LXQvdC+INC/0ZbQtNGC0YDQuNC80LrRgyDQu9C40YjQtSDQvtC00LjQvdC40YbRliDRgdC10LrRgtC+0YDRltCyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MyBsb2dpbi11dGlscy9jaGZuLmM6MTAyIGxvZ2luLXV0aWxzL2Noc2guYzo3OQorbXNnaWQgIiAtdiwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgLXYsIC0tdmVyc2lvbiAg0LLQuNCy0LXRgdGC0Lgg0ZbQvdGE0L7RgNC80LDRhtGW0Y4g0YnQvtC00L4g0LLQtdGA0YHRltGXINGWINCy0LjQudGC0LhcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxOTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIlcyDQstCy0LDQttCw0ZTRgtGM0YHRjyDQt9Cw0YHRgtCw0YDRltC70LjQvCwg0YHQutC+0YDQuNGB0YLQsNC50YLQtdGB0Y8g0LrRgNCw0YnQtSAtLXBhcnQtdHlwZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxOTczCittc2dpZCAiLS1pZCBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAi0J/QsNGA0LDQvNC10YLRgCAtLWlkINGUINC30LDRgdGC0LDRgNGW0LvQuNC8LCDRgdC60L7RgNC40YHRgtCw0LnRgtC10YHRjyDQutGA0LDRidC1IC0tcGFydC10eXBlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5ODkKK21zZ2lkICItLXNob3ctcHQtZ2VvbWV0cnkgaXMgbm8gbW9yZSBpbXBsZW1lbnRlZC4gVXNpbmcgLS1zaG93LWdlb21ldHJ5LiIKK21zZ3N0ciAi0J/RltC00YLRgNC40LzQutGDIC0tc2hvdy1wdC1nZW9tZXRyeSDRgyDQv9C+0YLQvtGH0L3RltC5INCy0LXRgNGB0ZbRlyDQv9GA0LjQv9C40L3QtdC90L4uINCS0LjQutC+0YDQuNGB0YLQvtCy0YPRlNC80L4gLS1zaG93LWdlb21ldHJ5LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDAwCittc2dpZCAiLS1MaW51eCBvcHRpb24gaXMgdW5uZWNlc3NhcnkgYW5kIGRlcHJlY2F0ZWQiCittc2dzdHIgItCf0LDRgNCw0LzQtdGC0YAgLS1MaW51eCDRlCDQvdC10L7QsdC+0LLigJnRj9C30LrQvtCy0LjQvCDRliDQstCy0LDQttCw0ZTRgtGM0YHRjyDQt9Cw0YHRgtCw0YDRltC70LjQvCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDI5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHVuaXQgJyVjJyIKK21zZ3N0ciAi0L3QtdC/0ZbQtNGC0YDQuNC80YPQstCw0L3QsCDQvtC00LjQvdC40YbRjywgwqslY8K7IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMzIgaW5jbHVkZS9jLmg6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXNcbiIKK21zZ3N0ciAiJXMg0LcgJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMTA5Cittc2dpZCAiLS1tb3ZlZGF0YSByZXF1aXJlcyAtTiIKK21zZ3N0ciAiLS1tb3ZlZGF0YSDQv9C+0YLRgNC10LHRg9GUIC1OIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBVVUlEOiAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4IFVVSUQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIFVVSUQiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INC/0L7Qt9C40YbRltGOINC00L4gVVVJRCDRgdCy0L7Qv9GW0L3Qs9GDIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgVVVJRCIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQsNC/0LjRgdCw0YLQuCBVVUlEIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIGxhYmVsICIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0L/QvtC30LjRhtGW0Y4g0L3QsCDQvNGW0YLQutGDINGB0LLQvtC/0ZbQvdCz0YMgIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgImxhYmVsIGlzIHRvbyBsb25nLiBUcnVuY2F0aW5nIGl0IHRvICclcyciCittc2dzdHIgItC80ZbRgtC60LAg0ZQg0L3QsNC00YLQviDQtNC+0LLQs9C+0Y4uINCH0Zcg0LHRg9C00LUg0L7QsdGA0ZbQt9Cw0L3QviDQtNC+ICclcyciCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBsYWJlbCIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQsNC/0LjRgdCw0YLQuCDQvNGW0YLQutGDIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyMQorbXNnaWQgIkRpc3BsYXkgb3IgY2hhbmdlIHRoZSBsYWJlbCBvciBVVUlEIG9mIGEgc3dhcCBhcmVhLlxuIgorbXNnc3RyICLQn9C+0LrQsNC30LDRgtC4INCw0LHQviDQt9C80ZbQvdC40YLQuCDQvNGW0YLQutGDINCw0LHQviBVVUlEINC+0LHQu9Cw0YHRgtGWINGA0LXQt9C10YDQstC90L7RlyDQv9Cw0LzigJnRj9GC0ZYuXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTI0Cittc2dpZCAiIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+IHNwZWNpZnkgYSBuZXcgbGFiZWxcbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICBzcGVjaWZ5IGEgbmV3IHV1aWRcbiIKK21zZ3N0ciAiIgorIiAtTCwgLS1sYWJlbCA80LzRltGC0LrQsD4g0LLQutCw0LfQsNGC0Lgg0L3QvtCy0YMg0LzRltGC0LrRg1xuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgINCy0LrQsNC30LDRgtC4INC90L7QstC40LkgdXVpZFxuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjE2NworbXNnaWQgImlnbm9yZSAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkKSIKK21zZ3N0ciAi0ZbQs9C90L7RgNGD0LLQsNGC0LggLVUgKFVVSUQg0L3QtSDQv9GW0LTRgtGA0LjQvNGD0Y7RgtGM0YHRjykiCisKKyM6IGluY2x1ZGUvYy5oOjI5OQorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKK21zZ3N0ciAiIgorIlxuIgorItCa0L7RgNC40YHRgtGD0LLQsNC90L3RjzpcbiIKKworIzogaW5jbHVkZS9jLmg6MzAwCittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLQn9Cw0YDQsNC80LXRgtGA0Lg6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwMgorbXNnaWQgIiAtaCwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAg0LLQuNCy0LXRgdGC0Lgg0LTQvtCy0ZbQtNC60YMg0YLQsCDQt9Cw0LLQtdGA0YjQuNGC0Lgg0YDQvtCx0L7RgtGDXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwMworbXNnaWQgIiAtViwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAg0LLQuNCy0LXRgdGC0Lgg0ZbQvdGE0L7RgNC80LDRhtGW0Y4g0YnQvtC00L4g0LLQtdGA0YHRltGXINGWINCy0LjQudGC0LhcbiIKKworIzogaW5jbHVkZS9jLmg6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJGb3IgbW9yZSBkZXRhaWxzIHNlZSAlcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorItCU0L7QutC70LDQtNC90ZbRiNGWINCy0ZbQtNC+0LzQvtGB0YLRliDQvNC+0LbQvdCwINC+0YLRgNC40LzQsNGC0Lgg0Lcg0LTQvtC60YPQvNC10L3RgtCw0YbRltGXINC00L4gJXMuXG4iCisKKyM6IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0NiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDggbG9naW4tdXRpbHMvdmlwdy5jOjI3MworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5MiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI4MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MDUKKyM6IHRleHQtdXRpbHMvY29sLmM6MTU3Cittc2dpZCAid3JpdGUgZXJyb3IiCittc2dzdHIgItC/0L7QvNC40LvQutCwINC30LDQv9C40YHRgyIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyNworbXNnaWQgImNvbG9ycyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICLRgtC40L/QvtCy0L4sINGA0L7Qt9GE0LDRgNCx0L7QstGD0LLQsNC90L3RjyDRg9Cy0ZbQvNC60L3QtdC90L4iCisKKyM6IGluY2x1ZGUvY29sb3JzLmg6MjkKK21zZ2lkICJjb2xvcnMgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgItGC0LjQv9C+0LLQviwg0YDQvtC30YTQsNGA0LHQvtCy0YPQstCw0L3QvdGPINCy0LjQvNC60L3QtdC90L4iCisKKyM6IGluY2x1ZGUvZW52Lmg6MTggbGliL3BhZ2VyLmM6MTUxIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTA1MgorIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMDU2IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjUyOQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTYwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INC30LzRltC90L3RgyDRgdC10YDQtdC00L7QstC40YnQsCAlcyIKKworIzogaW5jbHVkZS9vcHR1dGlscy5oOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGVzZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmU6IgorbXNnc3RyICIlczog0YbRliDQv9Cw0YDQsNC80LXRgtGA0Lgg0L3QtSDQvNC+0LbQvdCwINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQvtC00L3QvtGH0LDRgdC90L46IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxCittc2dpZCAiRW1wdHkiCittc2dzdHIgItCf0L7RgNC+0LbQvSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MgorbXNnaWQgIkZBVDEyIgorbXNnc3RyICJGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MworbXNnaWQgIlhFTklYIHJvb3QiCittc2dzdHIgIlhFTklYIHJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQKK21zZ2lkICJYRU5JWCB1c3IiCittc2dzdHIgIlhFTklYIHVzciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NQorbXNnaWQgIkZBVDE2IDwzMk0iCittc2dzdHIgIkZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYKK21zZ2lkICJFeHRlbmRlZCIKK21zZ3N0ciAiRXh0ZW5kZWQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcKK21zZ2lkICJGQVQxNiIKK21zZ3N0ciAiRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgKK21zZ2lkICJIUEZTL05URlMvZXhGQVQiCittc2dzdHIgIkhQRlMvTlRGUy9leEZBVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OQorbXNnaWQgIkFJWCIKK21zZ3N0ciAiQUlYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMAorbXNnaWQgIkFJWCBib290YWJsZSIKK21zZ3N0ciAiQUlYIGJvb3RhYmxlIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMQorbXNnaWQgIk9TLzIgQm9vdCBNYW5hZ2VyIgorbXNnc3RyICJPUy8yIEJvb3QgTWFuYWdlciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTIKK21zZ2lkICJXOTUgRkFUMzIiCittc2dzdHIgIlc5NSBGQVQzMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTMKK21zZ2lkICJXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIlc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTQKK21zZ2lkICJXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIlc5NSBGQVQxNiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTUKK21zZ2lkICJXOTUgRXh0J2QgKExCQSkiCittc2dzdHIgIlc5NSBFeHQnZCAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTYKK21zZ2lkICJPUFVTIgorbXNnc3RyICJPUFVTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNworbXNnaWQgIkhpZGRlbiBGQVQxMiIKK21zZ3N0ciAiSGlkZGVuIEZBVDEyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOAorbXNnaWQgIkNvbXBhcSBkaWFnbm9zdGljcyIKK21zZ3N0ciAiQ29tcGFxIGRpYWdub3N0aWNzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOQorbXNnaWQgIkhpZGRlbiBGQVQxNiA8MzJNIgorbXNnc3RyICJIaWRkZW4gRkFUMTYgPDMyTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjAKK21zZ2lkICJIaWRkZW4gRkFUMTYiCittc2dzdHIgIkhpZGRlbiBGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjEKK21zZ2lkICJIaWRkZW4gSFBGUy9OVEZTIgorbXNnc3RyICJIaWRkZW4gSFBGUy9OVEZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMgorbXNnaWQgIkFTVCBTbWFydFNsZWVwIgorbXNnc3RyICJBU1QgU21hcnRTbGVlcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjMKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIgorbXNnc3RyICJIaWRkZW4gVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNAorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIkhpZGRlbiBXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI1Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiSGlkZGVuIFc5NSBGQVQxNiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjYKK21zZ2lkICJORUMgRE9TIgorbXNnc3RyICJORUMgRE9TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNworbXNnaWQgIkhpZGRlbiBOVEZTIFdpblJFIgorbXNnc3RyICJIaWRkZW4gTlRGUyBXaW5SRSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjgKK21zZ2lkICJQbGFuIDkiCittc2dzdHIgIlBsYW4gOSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjkKK21zZ2lkICJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIKK21zZ3N0ciAiUGFydGl0aW9uTWFnaWMgcmVjb3ZlcnkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMwCittc2dpZCAiVmVuaXggODAyODYiCittc2dzdHIgIlZlbml4IDgwMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMQorbXNnaWQgIlBQQyBQUmVQIEJvb3QiCittc2dzdHIgIlBQQyBQUmVQIEJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMyCittc2dpZCAiU0ZTIgorbXNnc3RyICJTRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMzCittc2dpZCAiUU5YNC54IgorbXNnc3RyICJRTlg0LngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM0Cittc2dpZCAiUU5YNC54IDJuZCBwYXJ0IgorbXNnc3RyICJRTlg0LnggMm5kIHBhcnQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM1Cittc2dpZCAiUU5YNC54IDNyZCBwYXJ0IgorbXNnc3RyICJRTlg0LnggM3JkIHBhcnQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM2Cittc2dpZCAiT25UcmFjayBETSIKK21zZ3N0ciAiT25UcmFjayBETSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzcKK21zZ2lkICJPblRyYWNrIERNNiBBdXgxIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgxIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOAorbXNnaWQgIkNQL00iCittc2dzdHIgIkNQL00iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM5Cittc2dpZCAiT25UcmFjayBETTYgQXV4MyIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDAKK21zZ2lkICJPblRyYWNrRE02IgorbXNnc3RyICJPblRyYWNrRE02IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MQorbXNnaWQgIkVaLURyaXZlIgorbXNnc3RyICJFWi1Ecml2ZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDIKK21zZ2lkICJHb2xkZW4gQm93IgorbXNnc3RyICJHb2xkZW4gQm93IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MworbXNnaWQgIlByaWFtIEVkaXNrIgorbXNnc3RyICJQcmlhbSBFZGlzayIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDQgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTEKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk5Cittc2dpZCAiU3BlZWRTdG9yIgorbXNnc3RyICJTcGVlZFN0b3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ1Cittc2dpZCAiR05VIEhVUkQgb3IgU3lzViIKK21zZ3N0ciAiR05VIEhVUkQgb3IgU3lzViIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDYKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAyODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDcKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAzODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDM4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDgKK21zZ2lkICJEaXNrU2VjdXJlIE11bHRpLUJvb3QiCittc2dzdHIgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDkKK21zZ2lkICJQQy9JWCIKK21zZ3N0ciAiUEMvSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUwCittc2dpZCAiT2xkIE1pbml4IgorbXNnc3RyICJPbGQgIE1pbml4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MQorbXNnaWQgIk1pbml4IC8gb2xkIExpbnV4IgorbXNnc3RyICJNaW5peCAvIG9sZCBMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTIKK21zZ2lkICJMaW51eCBzd2FwIC8gU29sYXJpcyIKK21zZ3N0ciAiTGludXggc3dhcCAvIFNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUzCittc2dpZCAiTGludXgiCittc2dzdHIgIkxpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NAorbXNnaWQgIk9TLzIgaGlkZGVuIG9yIEludGVsIGhpYmVybmF0aW9uIgorbXNnc3RyICLQn9GA0LjRhdC+0LLQsNC90LjQuSBPUy8yINCw0LHQviDRgNC+0LfQtNGW0Lsg0LTQu9GPINC/0YDQuNGB0LjQv9C70Y/QvdC90Y8gSW50ZWwiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU3Cittc2dpZCAiTGludXggZXh0ZW5kZWQiCittc2dzdHIgIkxpbnV4IGV4dGVuZGVkIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OQorbXNnaWQgIk5URlMgdm9sdW1lIHNldCIKK21zZ3N0ciAiTlRGUyB2b2x1bWUgc2V0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MAorbXNnaWQgIkxpbnV4IHBsYWludGV4dCIKK21zZ3N0ciAiTGludXggcGxhaW50ZXh0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjA1IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MworIzogbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggTFZNIgorbXNnc3RyICJMaW51eCBMVk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYyCittc2dpZCAiQW1vZWJhIgorbXNnc3RyICJBbW9lYmEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYzCittc2dpZCAiQW1vZWJhIEJCVCIKK21zZ3N0ciAiQW1vZWJhIEJCVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjQKK21zZ2lkICJCU0QvT1MiCittc2dzdHIgIkJTRC9PUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjUKK21zZ2lkICJJQk0gVGhpbmtwYWQgaGliZXJuYXRpb24iCittc2dzdHIgIklCTSBUaGlua3BhZCBoaWJlcm5hdGlvbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjYKK21zZ2lkICJGcmVlQlNEIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NworbXNnaWQgIk9wZW5CU0QiCittc2dzdHIgIk9wZW5CU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY4Cittc2dpZCAiTmVYVFNURVAiCittc2dzdHIgIk5lWFRTVEVQIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OQorbXNnaWQgIkRhcndpbiBVRlMiCittc2dzdHIgIkRhcndpbiBVRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcwCittc2dpZCAiTmV0QlNEIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcxCittc2dpZCAiRGFyd2luIGJvb3QiCittc2dzdHIgIkRhcndpbiBib290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MgorbXNnaWQgIkhGUyAvIEhGUysiCittc2dzdHIgIkhGUyAvIEhGUysiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjczCittc2dpZCAiQlNESSBmcyIKK21zZ3N0ciAiQlNESSBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzQKK21zZ2lkICJCU0RJIHN3YXAiCittc2dzdHIgIkJTREkgc3dhcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzUKK21zZ2lkICJCb290IFdpemFyZCBoaWRkZW4iCittc2dzdHIgIkJvb3QgV2l6YXJkIGhpZGRlbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzYKK21zZ2lkICJBY3JvbmlzIEZBVDMyIExCQSIKK21zZ3N0ciAiQWNyb25pcyBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzcgbGliZmRpc2svc3JjL2dwdC5jOjIzMAorbXNnaWQgIlNvbGFyaXMgYm9vdCIKK21zZ3N0ciAiU29sYXJpcyDQt9Cw0LLQsNC90YLQsNC20YPQstCw0LvRjNC90LjQuSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzgKK21zZ2lkICJTb2xhcmlzIgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTEyKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MAorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2KSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTYpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MgorbXNnaWQgIlN5cmlueCIKK21zZ3N0ciAiU3lyaW54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MworbXNnaWQgIk5vbi1GUyBkYXRhIgorbXNnc3RyICLQndC1LdCk0KEg0LTQsNC90ZYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg0Cittc2dpZCAiQ1AvTSAvIENUT1MgLyAuLi4iCittc2dzdHIgIkNQL00gLyBDVE9TIC8gLi4uIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NgorbXNnaWQgIkRlbGwgVXRpbGl0eSIKK21zZ3N0ciAiRGVsbCBVdGlsaXR5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NworbXNnaWQgIkJvb3RJdCIKK21zZ3N0ciAiQm9vdEl0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4OAorbXNnaWQgIkRPUyBhY2Nlc3MiCittc2dzdHIgIkRPUyBhY2Nlc3MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkwCittc2dpZCAiRE9TIFIvTyIKK21zZ3N0ciAiRE9TIFIvTyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTMKK21zZ2lkICJSdWZ1cyBhbGlnbm1lbnQiCittc2dzdHIgItCS0LjRgNGW0LLQvdGO0LLQsNC90L3RjyBSdWZ1cyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTQKK21zZ2lkICJCZU9TIGZzIgorbXNnc3RyICJCZU9TIGZzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NgorbXNnaWQgIkVGSSAoRkFULTEyLzE2LzMyKSIKK21zZ3N0ciAiRUZJIChGQVQtMTIvMTYvMzIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NworbXNnaWQgIkxpbnV4L1BBLVJJU0MgYm9vdCIKK21zZ3N0ciAiTGludXgvUEEtUklTQyBib290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDAKK21zZ2lkICJET1Mgc2Vjb25kYXJ5IgorbXNnc3RyICJET1Mgc2Vjb25kYXJ5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDEKK21zZ2lkICJWTXdhcmUgVk1GUyIKK21zZ3N0ciAiVk1GUyBWTXdhcmUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMgorbXNnaWQgIlZNd2FyZSBWTUtDT1JFIgorbXNnc3RyICJWTUtDT1JFIFZNd2FyZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAzIGxpYmZkaXNrL3NyYy9zdW4uYzo1NQorbXNnaWQgIkxpbnV4IHJhaWQgYXV0b2RldGVjdCIKK21zZ3N0ciAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDYKK21zZ2lkICJMQU5zdGVwIgorbXNnc3RyICJMQU5zdGVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDcKK21zZ2lkICJCQlQiCittc2dzdHIgIkJCVCIKKworIzogbGliL2Jsa2Rldi5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlcyBpcyBtaXNhbGlnbmVkIgorbXNnc3RyICLQv9C+0L/QtdGA0LXQtNC20LXQvdC90Y86INC/0L7QvNC40LvQutC+0LLQtSDQstC40YDRltCy0L3RjtCy0LDQvdC90Y8gJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2NzIKK21zZ2lkICJDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICLQktC40LrQu9C40LrQsNGU0LzQviBpb2N0bCgpLCDRidC+0LEg0L/QtdGA0LXRh9C40YLQsNGC0Lgg0YLQsNCx0LvQuNGG0Y4g0YDQvtC30LTRltC70ZbQsi4iCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2ODEKK21zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLiIKK21zZ3N0ciAi0KHQv9GA0L7QsdCwINC/0L7QstGC0L7RgNC90L7Qs9C+INGH0LjRgtCw0L3QvdGPINGC0LDQsdC70LjRhtGWINGA0L7Qt9C00ZbQu9GW0LIg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYuIgorCisjOiBsaWJmZGlzay9zcmMvYWxpZ25tZW50LmM6NjgzCittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgdGFibGUuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdCBvciBhZnRlciB5b3UgcnVuIHBhcnRwcm9iZSg4KSBvciBrcGFydHgoOCkuIgorbXNnc3RyICLQr9C00YDQviDQv9GA0L7QtNC+0LLQttGD0ZQg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INGB0YLQsNGA0YMg0YLQsNCx0LvQuNGG0Y4uINCd0L7QstGDINGC0LDQsdC70LjRhtGOINCx0YPQtNC1INCy0LjQutC+0YDQuNGB0YLQsNC90L4g0L/RltC0INGH0LDRgSDQvdCw0YHRgtGD0L/QvdC+0LPQviDQv9C10YDQtdC30LDQstCw0L3RgtCw0LbQtdC90L3RjyDQsNCx0L4g0LfQsNC/0YPRgdC60YMgcGFydHByb2JlKDgpINGH0Lgga3BhcnR4KDgpLiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ3MiBsaWJmZGlzay9zcmMvYXNrLmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdGVkIHBhcnRpdGlvbiAlanUiCittc2dzdHIgItCS0LjQsdGA0LDQvdC40Lkg0YDQvtC30LTRltC7ICVqdSIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ3NQorbXNnaWQgIk5vIHBhcnRpdGlvbiBpcyBkZWZpbmVkIHlldCEiCittc2dzdHIgItCp0LUg0L3QtSDQstC40LfQvdCw0YfQtdC90L4g0LbQvtC00L3QvtCz0L4g0YDQvtC30LTRltC70YMhIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDg3Cittc2dpZCAiTm8gZnJlZSBwYXJ0aXRpb24gYXZhaWxhYmxlISIKK21zZ3N0ciAi0J3QtdC80LDRlCDQstGW0LvRjNC90LjRhSDRgNC+0LfQtNGW0LvRltCyISIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ5NworbXNnaWQgIlBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgItCd0L7QvNC10YAg0YDQvtC30LTRltC70YMiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBwYXJ0aXRpb24gJWQgb2YgdHlwZSAnJXMnIGFuZCBvZiBzaXplICVzLiIKK21zZ3N0ciAi0KHRgtCy0L7RgNC10L3QviDQvdC+0LLQuNC5INGA0L7Qt9C00ZbQuyAlZCDRgtC40L/RgyDCqyVzwrssINGA0L7Qt9C80ZbRgCAtICVzLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE2NgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXpkOiBoYXMgaW52YWxpZCBzdGFydGluZyBzZWN0b3IgMC4iCittc2dzdHIgItCg0L7Qt9C00ZbQuyAlemQ6INC90LXQutC+0YDQtdC60YLQvdC40Lkg0L3Rg9C70YzQvtCy0LjQuSDQv9C+0YfQsNGC0LrQvtCy0LjQuSDRgdC10LrRgtC+0YAuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZXJlIGlzIG5vICpCU0QgcGFydGl0aW9uIG9uICVzLiIKK21zZ3N0ciAi0J3QsCAlcyDQvdC10LzQsNGUINGA0L7Qt9C00ZbQu9GW0LIgKkJTRC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTkgbGliZmRpc2svc3JjL2Rvcy5jOjkzMworbXNnaWQgIkZpcnN0IGN5bGluZGVyIgorbXNnc3RyICLQn9C10YDRiNC40Lkg0YbQuNC70ZbQvdC00YAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTIgbGliZmRpc2svc3JjL2Rvcy5jOjExNjEKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgItCe0YHRgtCw0L3QvdGW0Lkg0YbQuNC70ZbQvdC00YAsICtjeWxpbmRlcnMg0LDQsdC+ICtzaXple0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTcgbGliZmRpc2svc3JjL2Rvcy5jOjExNjYgbGliZmRpc2svc3JjL2dwdC5jOjIyNTUKK21zZ2lkICJMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAi0J7RgdGC0LDQvdC90ZbQuSDRgdC10LrRgtC+0YAsICtzZWN0b3JzINCw0LHQviArc2l6ZXtLLE0sRyxULFB9IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZXZpY2UgJXMgZG9lcyBub3QgY29udGFpbiBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAi0J3QsCDQv9GA0LjRgdGC0YDQvtGXICVzINC90LUg0LzRltGB0YLQuNGC0YzRgdGPINC80ZbRgtC60Lgg0LTQuNGB0LrQsCBCU0QuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgzCittc2dpZCAiRG8geW91IHdhbnQgdG8gY3JlYXRlIGEgQlNEIGRpc2tsYWJlbD8iCittc2dzdHIgItCl0L7Rh9C10YLQtSDRgdGC0LLQvtGA0LjRgtC4INC80ZbRgtC60YMg0LTQuNGB0LrQsCBCU0Q/IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDQ5Cittc2dpZCAiRGlzayIKK21zZ3N0ciAi0JTQuNGB0LoiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NTYKK21zZ2lkICJQYWNrbmFtZSIKK21zZ3N0ciAi0J3QsNC30LLQsCDQv9Cw0LrRg9C90LrQsCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MyBsaWJmZGlzay9zcmMvc3VuLmM6MTExNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICLQntC30L3QsNC60LgiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjYKK21zZ2lkICIgcmVtb3ZhYmxlIgorbXNnc3RyICIg0LfQvNGW0L3QvdC40LkiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjcKK21zZ2lkICIgZWNjIgorbXNnc3RyICIgZWNjIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY4Cittc2dpZCAiIGJhZHNlY3QiCittc2dzdHIgIiDQv9C+0YjQui7RgdC10LrRgiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ3NgorbXNnaWQgIkJ5dGVzL1NlY3RvciIKK21zZ3N0ciAi0JHQsNC50YIv0YHQtdC60YLQvtGAIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDgxCittc2dpZCAiVHJhY2tzL0N5bGluZGVyIgorbXNnc3RyICLQlNC+0YDRltC20L7Qui/RhtC40LvRltC90LTRgCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4NgorbXNnaWQgIlNlY3RvcnMvQ3lsaW5kZXIiCittc2dzdHIgItCh0LXQutGC0L7RgNGW0LIv0YbQuNC70ZbQvdC00YAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTggbGliZmRpc2svc3JjL2Rvcy5jOjIzMDMKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU3IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTYgbGliZmRpc2svc3JjL3N1bi5jOjExMTMKK21zZ2lkICJDeWxpbmRlcnMiCittc2dzdHIgItCm0LjQu9GW0L3QtNGA0ZbQsiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5NiBsaWJmZGlzay9zcmMvc3VuLmM6NzYwCittc2dpZCAiUnBtIgorbXNnc3RyICLQvtCxL9GF0LIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDEgbGliZmRpc2svc3JjL3NnaS5jOjI5MiBsaWJmZGlzay9zcmMvc3VuLmM6NzgwCittc2dpZCAiSW50ZXJsZWF2ZSIKK21zZ3N0ciAi0KfQtdGA0LPRg9Cy0LDQvdC90Y8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDYKK21zZ2lkICJUcmFja3NrZXciCittc2dzdHIgItCU0L7RgNGW0LbQui7Rg9GF0LjQuyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxMQorbXNnaWQgIkN5bGluZGVyc2tldyIKK21zZ3N0ciAi0KbQuNC70ZbQvdC00YAu0YPRhdC40LsiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTYKK21zZ2lkICJIZWFkc3dpdGNoIgorbXNnc3RyICLQn9C10YDQtdGFLtCz0L7Qu9GW0LLQvtC6IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTIxCittc2dpZCAiVHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAi0J/QtdGA0LXRhS7QvdCw0YHRgi7QtNC+0YDRltC20LrQuCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMQorbXNnaWQgImJ5dGVzL3NlY3RvciIKK21zZ3N0ciAi0LHQsNC50YIv0YHQtdC60YLQvtGAIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE0Cittc2dpZCAic2VjdG9ycy90cmFjayIKK21zZ3N0ciAi0YHQtdC60YLQvtGA0ZbQsi/QtNC+0YDRltC20LrRgyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNQorbXNnaWQgInRyYWNrcy9jeWxpbmRlciIKK21zZ3N0ciAi0LTQvtGA0ZbQttC+0Lov0YbQuNC70ZbQvdC00YAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTYKK21zZ2lkICJjeWxpbmRlcnMiCittc2dzdHIgItGG0LjQu9GW0L3QtNGA0LgiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjAKK21zZ2lkICJzZWN0b3JzL2N5bGluZGVyIgorbXNnc3RyICLRgdC10LrRgtC+0YDRltCyL9GG0LjQu9GW0L3QtNGAIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIzCittc2dpZCAicnBtIgorbXNnc3RyICLQvtCxL9GF0LIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjQKK21zZ2lkICJpbnRlcmxlYXZlIgorbXNnc3RyICLRh9C10YDQs9GD0LLQsNC90L3RjyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNQorbXNnaWQgInRyYWNrc2tldyIKK21zZ3N0ciAi0LTQvtGA0ZbQttC6LtGD0YXQuNC7IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI2Cittc2dpZCAiY3lsaW5kZXJza2V3IgorbXNnc3RyICLRhtC40LvRltC90LTRgC7Rg9GF0LjQuyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOAorbXNnaWQgImhlYWRzd2l0Y2giCittc2dzdHIgItC/0LXRgNC10YUu0LPQvtC70ZbQstC+0LoiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjkKK21zZ2lkICJ0cmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICLQv9C10YDQtdGFLtC90LDRgdGCLtC00L7RgNGW0LbQutC4IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290c3RyYXAgZmlsZSAlcyBzdWNjZXNzZnVsbHkgbG9hZGVkLiIKK21zZ3N0ciAi0KTQsNC50LsgYm9vdHN0cmFwICVzINGD0YHQv9GW0YjQvdC+INC30LDQstCw0L3RgtCw0LbQtdC90L4uIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjczCisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcDogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKGRlZmF1bHQgJTEkcykiCittc2dzdHIgIkJvb3RzdHJhcDogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKNGC0LjQv9C+0LLQviAlMSRzKSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcwNAorbXNnaWQgIkJvb3RzdHJhcCBvdmVybGFwcyB3aXRoIGRpc2tsYWJlbCEiCittc2dzdHIgIkJvb3RzdHJhcCDQv9C10YDQtdC60YDQuNCy0LDRlNGC0YzRgdGPINC3INC80ZbRgtC60L7RjiDQtNC40YHQutCwISIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcyOAorIywgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXAgaW5zdGFsbGVkIG9uICVzLiIKK21zZ3N0ciAiQm9vdHN0cmFwINCy0YHRgtCw0L3QvtCy0LvQtdC90L4g0L3QsCAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuICAoRG9uJ3QgZm9yZ2V0IHRvIHdyaXRlIHRoZSAlcyBkaXNrbGFiZWwgdG9vLikiCittc2dzdHIgItCc0ZbRgtC60YMg0LTQuNGB0LrQsCDQt9Cw0L/QuNGB0LDQvdC+INC00L4gJXMuICjQndC1INC30LDQsdGD0LTRjNGC0LUg0LfQsNC/0LjRgdCw0YLQuCDRgtCw0LrQvtC2INC80ZbRgtC60YMg0LTQuNGB0LrQsCAlcy4pIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiIKK21zZ3N0ciAi0JzRltGC0LrRgyDQtNC40YHQutCwINC30LDQv9C40YHQsNC90L4g0L3QsCAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDkgbGliZmRpc2svc3JjL2NvbnRleHQuYzo2NjYKK21zZ2lkICJTeW5jaW5nIGRpc2tzLiIKK21zZ3N0ciAi0KHQuNC90YXRgNC+0L3RltC30LDRhtGW0Y8g0LTQuNGB0LrRltCyLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk1MAorbXNnaWQgIkJTRCBsYWJlbCBpcyBub3QgbmVzdGVkIHdpdGhpbiBhIERPUyBwYXJ0aXRpb24uIgorbXNnc3RyICLQnNGW0YLQutGDIEJTRCDQvdC1INCy0LrQu9Cw0LTQtdC90L4g0YMg0YDQvtC30LTRltC7IERPUy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQlNEIHBhcnRpdGlvbiAnJWMnIGxpbmtlZCB0byBET1MgcGFydGl0aW9uICV6dS4iCittc2dzdHIgItCg0L7Qt9C00ZbQuyBCU0QgwqslY8K7INC/0L7QsifRj9C30LDQvdC+INC3INGA0L7Qt9C00ZbQu9C+0LwgRE9TICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE0Cittc2dpZCAiU2xpY2UiCittc2dzdHIgItCX0YDRltC3IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMQorbXNnaWQgIkZzaXplIgorbXNnc3RyICLRgNC+0LfQvNGW0YDRhNGAIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMgorbXNnaWQgIkJzaXplIgorbXNnc3RyICLRgNC+0LfQvNGW0YDQsdC7IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMworbXNnaWQgIkNwZyIKK21zZ3N0ciAi0YbQuNC7L9Cz0YAiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zZSBkZXZpY2UgZmFpbGVkIgorbXNnc3RyICIlczog0YHQv9GA0L7QsdCwINC30LDQutGA0LjRgtC4INC/0YDQuNGB0YLRgNGW0Lkg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODI3Cittc2dpZCAiY3lsaW5kZXIiCittc2dpZF9wbHVyYWwgImN5bGluZGVycyIKK21zZ3N0clswXSAi0YbQuNC70ZbQvdC00YAiCittc2dzdHJbMV0gItGG0LjQu9GW0L3QtNGA0LgiCittc2dzdHJbMl0gItGG0LjQu9GW0L3QtNGA0ZbQsiIKK21zZ3N0clszXSAi0YbQuNC70ZbQvdC00YAiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODI4Cittc2dpZCAic2VjdG9yIgorbXNnaWRfcGx1cmFsICJzZWN0b3JzIgorbXNnc3RyWzBdICLRgdC10LrRgtC+0YAiCittc2dzdHJbMV0gItGB0LXQutGC0L7RgNC4IgorbXNnc3RyWzJdICLRgdC10LrRgtC+0YDRltCyIgorbXNnc3RyWzNdICLRgdC10LrRgtC+0YAiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6MTEzMQorbXNnaWQgIkluY29tcGxldGUgZ2VvbWV0cnkgc2V0dGluZy4iCittc2dzdHIgItCd0LXQutC+0YDQtdC60YLQvdC40Lkg0L/QsNGA0LDQvNC10YLRgCDQs9C10L7QvNC10YLRgNGW0ZcuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE0Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBhbHJlYWR5LiIKK21zZ3N0ciAi0JLRgdGWINC/0LXRgNCy0LjQvdC90ZYg0YDQvtC30LTRltC70Lgg0LLQttC1INCy0LjQt9C90LDRh9C10L3Qvi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZXh0ZW5kZWQgcGFydGl0aW9uIHRhYmxlIChvZmZzZXQ9JWp1KSIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQv9GA0L7Rh9C40YLQsNGC0Lgg0YDQvtC30YjQuNGA0LXQvdGDINGC0LDQsdC70LjRhtGOINGA0L7Qt9C00ZbQu9GW0LIgKNC30YHRg9CyPSVqdSkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMjgKK21zZ2lkICJZb3UgY2FuIHNldCBnZW9tZXRyeSBmcm9tIHRoZSBleHRyYSBmdW5jdGlvbnMgbWVudS4iCittc2dzdHIgItCT0LXQvtC80LXRgtGA0ZbRjiDQvNC+0LbQvdCwINC30LDQtNCw0YLQuCDQt9CwINC00L7Qv9C+0LzQvtCz0L7RjiDQvNC10L3RjiDQtNC+0LTQsNGC0LrQvtCy0LjRhSDRhNGD0L3QutGG0ZbQuS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMzEKK21zZ2lkICJET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIgorbXNnc3RyICLQoNC10LbQuNC8INGB0YPQvNGW0YHQvdC+0YHRgtGWINC3IERPUyDQstCy0LDQttCw0ZTRgtGM0YHRjyDQt9Cw0YHRgtCw0YDRltC70LjQvC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMzUKK21zZ2lkICJUaGUgZGV2aWNlIHByZXNlbnRzIGEgbG9naWNhbCBzZWN0b3Igc2l6ZSB0aGF0IGlzIHNtYWxsZXIgdGhhbiB0aGUgcGh5c2ljYWwgc2VjdG9yIHNpemUuIEFsaWduaW5nIHRvIGEgcGh5c2ljYWwgc2VjdG9yIChvciBvcHRpbWFsIEkvTykgc2l6ZSBib3VuZGFyeSBpcyByZWNvbW1lbmRlZCwgb3IgcGVyZm9ybWFuY2UgbWF5IGJlIGltcGFjdGVkLiIKK21zZ3N0ciAi0J/RgNC40YHRgtGA0L7RlNC8INC/0L7QstGW0LTQvtC80LvRj9GU0YLRjNGB0Y8g0L/RgNC+INGA0L7Qt9C80ZbRgCDQu9C+0LPRltGH0L3QvtCz0L4g0YHQtdC60YLQvtGA0LAsINGP0LrQuNC5INGUINC80LXQvdGI0LjQvCDQt9CwINGA0L7Qt9C80ZbRgCDRhNGW0LfQuNGH0L3QvtCz0L4g0YHQtdC60YLQvtGA0LAuINCg0LXQutC+0LzQtdC90LTRg9GU0LzQviDQstCw0Lwg0YHQutC+0YDQuNGB0YLQsNGC0LjRgdGPINCy0LjRgNGW0LLQvdGO0LLQsNC90L3Rj9C8INC30LAg0YDQvtC30LzRltGA0L7QvCDRhNGW0LfQuNGH0L3QvtCz0L4g0YHQtdC60YLQvtGA0LAgKNC+0L/RgtC40LzQsNC70YzQvdC40Lwg0YDQvtC30LzRltGA0L7QvCDQstCy0LXQtNC10L3QvdGPLdCy0LjQstC10LTQtdC90L3RjyksINGW0L3QsNC60YjQtSDQvNC+0LbQtSDQv9C+0YHRgtGA0LDQttC00LDRgtC4INGI0LLQuNC00LrQvtC00ZbRjy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDEKK21zZ2lkICJDeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4iCittc2dzdHIgItCm0LjQu9GW0L3QtNGA0LgsINGP0Log0L7QtNC40L3QuNGG0ZYg0L/QvtC60LDQt9GDLCDQstCy0LDQttCw0Y7RgtGM0YHRjyDQt9Cw0YHRgtCw0YDRltC70LjQvNC4LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0OAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgc2l6ZSBvZiB0aGlzIGRpc2sgaXMgJXMgKCVqdSBieXRlcykuIERPUyBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IGNhbiBub3QgYmUgdXNlZCBvbiBkcml2ZXMgZm9yIHZvbHVtZXMgbGFyZ2VyIHRoYW4gJWx1IGJ5dGVzIGZvciAlbHUtYnl0ZSBzZWN0b3JzLiBVc2UgR1VJRCBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IChHUFQpLiIKK21zZ3N0ciAi0J/QntCf0JXQoNCV0JTQltCV0J3QndCvOiDRgNC+0LfQvNGW0YAg0YbRjNC+0LPQviDQtNC40YHQutCwINC00L7RgNGW0LLQvdGO0ZQgJXMgKCVqdSDQsdCw0LnRgtGW0LIpLiDQpNC+0YDQvNCw0YIg0YLQsNCx0LvQuNGG0ZYg0YDQvtC30LTRltC70ZbQsiBET1Mg0L3QtSDQvNC+0LbQvdCwINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQtNC70Y8g0LTQuNGB0LrRltCyINC3INGC0L7QvNCw0LzQuCwg0LHRltC70YzRiNC40LzQuCDQt9CwICglbHUg0LHQsNC50YLRltCyKSDQtNC70Y8gJWx1LdCx0LDQudGC0L7QstC40YUg0YHQtdC60YLQvtGA0ZbQsi4g0KHQutC+0YDQuNGB0YLQsNC50YLQtdGB0Y8g0YTQvtGA0LzQsNGC0L7QvCDRgtCw0LHQu9C40YbRliDRgNC+0LfQtNGW0LvRltCyIEdVSUQgKEdQVCkuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTAzCittc2dpZCAiQmFkIG9mZnNldCBpbiBwcmltYXJ5IGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgItCd0LXQv9GA0LDQstC40LvRjNC90LjQuSDQt9GB0YPQsiDRgyDQs9C+0LvQvtCy0L3QvtC80YMg0YDQvtC30YjQuNGA0LXQvdC+0LzRgyDRgNC+0LfQtNGW0LvRli4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiT21pdHRpbmcgcGFydGl0aW9ucyBhZnRlciAjJXp1LiBUaGV5IHdpbGwgYmUgZGVsZXRlZCBpZiB5b3Ugc2F2ZSB0aGlzIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgItCf0YDQvtC/0YPRgdC60LDRlNC80L4g0YDQvtC30LTRltC70Lgg0L/RltGB0LvRjyAlenUuINCm0ZYg0YDQvtC30LTRltC70Lgg0LHRg9C00LUg0LLQuNC70YPRh9C10L3Qviwg0Y/QutGJ0L4g0LLQuCDQt9Cx0LXRgNC10LbQtdGC0LUg0YbRjiDRgtCw0LHQu9C40YbRjiDRgNC+0LfQtNGW0LvRltCyLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJFeHRyYSBsaW5rIHBvaW50ZXIgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgItCX0LDQudCy0LjQuSDQstC60LDQt9GW0LLQvdC40Log0YMg0YLQsNCx0LvQuNGG0ZYg0YDQvtC30LTRltC70ZbQsiAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGRhdGEgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgItCX0LDQudCy0ZYg0LTQsNC90ZYg0YMg0YLQsNCx0LvQuNGG0ZYg0YDQvtC30LTRltC70ZbQsiAlenUg0L/RgNC+0ZbQs9C90L7RgNC+0LLQsNC90L4uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9taXR0aW5nIGVtcHR5IHBhcnRpdGlvbiAoJXp1KSIKK21zZ3N0ciAi0L/RgNC+0L/Rg9GB0LrQsNGU0LzQviDQv9C+0YDQvtC20L3RltC5INGA0L7Qt9C00ZbQuyAoJXp1KSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY2NAorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IERPUyBkaXNrbGFiZWwgd2l0aCBkaXNrIGlkZW50aWZpZXIgMHglMDh4LiIKK21zZ3N0ciAi0KHRgtCy0L7RgNC10L3QviDQvNGW0YLQutGDINC00LjRgdC60LAgRE9TINC3INGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGA0L7QvCDQtNC40YHQutCwIDB4JTA4eC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2ODUKK21zZ2lkICJFbnRlciB0aGUgbmV3IGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAi0JLQutCw0LbRltGC0Ywg0L3QvtCy0LjQuSDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgCDQtNC40YHQutCwIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjkyCittc2dpZCAiSW5jb3JyZWN0IHZhbHVlLiIKK21zZ3N0ciAi0J/QvtC80LjQu9C60L7QstC1INC30L3QsNGH0LXQvdC90Y8uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gMHglMDh4IHRvIDB4JTA4eC4iCittc2dzdHIgItCG0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAINC00LjRgdC60LAg0LfQvNGW0L3QtdC90L4g0LcgMHglMDh4INC90LAgMHglMDh4LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjc5MworIywgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBleHRlbmRlZCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICLQhtCz0L3QvtGA0YPRlNC80L4g0LfQsNC50LLQuNC5INGA0L7Qt9GI0LjRgNC10L3QuNC5INGA0L7Qt9C00ZbQuyAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBmbGFnIDB4JTAyeCUwMnggb2YgRUJSIChmb3IgcGFydGl0aW9uICV6dSkgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgItCd0LXQutC+0YDQtdC60YLQvdC40Lkg0L/RgNCw0L/QvtGA0LXRhtGMIDB4JTAyeCUwMnggRUJSICjQtNC70Y8g0YDQvtC30LTRltC70YMgJXp1KSDQsdGD0LTQtSDQstC40L/RgNCw0LLQu9C10L3QviDQt9CwINC00L7Qv9C+0LzQvtCz0L7RjiB3KHJpdGUpINCw0LHQviDQt9Cw0L/QuNGB0YMuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6OTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIlN0YXJ0IHNlY3RvciAlanUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAi0J/QvtGH0LDRgtC60L7QstC40Lkg0YHQtdC60YLQvtGAICVqdSDQv9C10YDQtdCx0YPQstCw0ZQg0LfQsCDQvNC10LbQsNC80Lgg0L/RgNC40L/Rg9GB0YLQuNC80L7Qs9C+INC00ZbQsNC/0LDQt9C+0L3Rgy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMDI2IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTM2IGxpYmZkaXNrL3NyYy9zZ2kuYzo4MzkKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCittc2dzdHIgItCg0L7Qt9C00ZbQuyAlenUg0LLQttC1INCy0LjQt9C90LDRh9C10L3QuNC5LiDQktC40LvRg9GH0ZbRgtGMINC50L7Qs9C+INC/0LXRgNC10LQg0L/QvtCy0YLQvtGA0L3QuNC8INC00L7QtNCw0LLQsNC90L3Rj9C8LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVsbHUgaXMgYWxyZWFkeSBhbGxvY2F0ZWQuIgorbXNnc3RyICLQodC10LrRgtC+0YAgJWxsdSDQstC20LUg0YDQvtC30L/QvtC00ZbQu9C10L3Qvi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTMzIGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQ2Cittc2dpZCAiTm8gZnJlZSBzZWN0b3JzIGF2YWlsYWJsZS4iCittc2dzdHIgItCd0LXQvNCw0ZQg0LLRltC70YzQvdC40YUg0YHQtdC60YLQvtGA0ZbQsi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIkFkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiAlenUiCittc2dzdHIgItCU0L7QtNCw0LLQsNC90L3RjyDQu9C+0LPRltGH0L3QvtCz0L4g0YDQvtC30LTRltC70YMgJXp1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMxNgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjb250YWlucyBzZWN0b3IgMCIKK21zZ3N0ciAi0KDQvtC30LTRltC7ICV6dSDQvNGW0YHRgtC40YLRjCDQvdGD0LvRjNC+0LLQuNC5INGB0LXQutGC0L7RgCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaGVhZCAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlZCIKK21zZ3N0ciAi0KDQvtC30LTRltC7ICV6dTog0LPQvtC70ZbQstC60LAgJWQg0L/QtdGA0LXQstC40YnRg9GUINC80LDQutGB0LjQvNGD0Lwg0YMgJWQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHNlY3RvciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICLQoNC+0LfQtNGW0LsgJXp1OiDRgdC10LrRgtC+0YAgJWQg0L/QtdGA0LXQstC40YnRg9GUINC80LDQutGB0LjQvNGD0Lwg0YMgJWxsdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY3lsaW5kZXIgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAi0KDQvtC30LTRltC7ICV6dTog0YbQuNC70ZbQvdC00YAgJWQg0L/QtdGA0LXQstC40YnRg9GUINC80LDQutGB0LjQvNGD0Lwg0YMgJWxsdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogcHJldmlvdXMgc2VjdG9ycyAldSBkaXNhZ3JlZXMgd2l0aCB0b3RhbCAldSIKK21zZ3N0ciAi0KDQvtC30LTRltC7ICV6dTog0LrRltC70YzQutGW0YHRgtGMINC/0L7Qv9C10YDQtdC00L3RltGFINGB0LXQutGC0L7RgNGW0LIgJXUg0LLRltC00YDRltC30L3Rj9GU0YLRjNGB0Y8g0LLRltC0INC30LDQs9Cw0LvRjNC90L7RlyAldSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgYmVnaW5uaW5ncyAobm9uLUxpbnV4Pyk6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAi0KMg0YDQvtC30LTRltC70YMgJXp1INCy0ZbQtNGA0ZbQt9C90Y/RjtGC0YzRgdGPINGE0ZbQt9C40YfQvdC40Lkg0YLQsCDQu9C+0LPRltGH0L3QuNC5INC/0L7Rh9Cw0YLQvtC6ICjQvdC1LUxpbnV4Pyk6INGE0ZbQt9C40YfQvdC40Lk9KCVkLCAlZCwgJWQpLCDQu9C+0LPRltGH0L3QuNC5PSglZCwgJWQsICVkKSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgZW5kaW5nczogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICLQoyDRgNC+0LfQtNGW0LvRgyAlenUg0LLRltC00YDRltC30L3Rj9GO0YLRjNGB0Y8g0YTRltC30LjRh9C90LjQuSDRgtCwINC70L7Qs9GW0YfQvdC40Lkg0LrRltC90YbRljog0YTRltC30LjRh9C90LjQuT0oJWQsICVkLCAlZCksINC70L7Qs9GW0YfQvdC40Lk9KCVkLCAlZCwgJWQpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQwMworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICLQoNC+0LfQtNGW0LsgJXp1INC90LUg0LfQsNC60ZbQvdGH0YPRlNGC0YzRgdGPINC90LAg0LzQtdC20ZYg0YbQuNC70ZbQvdC00YDQsC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGJhZCBzdGFydC1vZi1kYXRhLiIKK21zZ3N0ciAi0KDQvtC30LTRltC7ICV6dTog0L/QvtC80LjQu9C60L7QstC40Lkg0L/QvtGH0LDRgtC+0Log0LTQsNC90LjRhS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDQyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG92ZXJsYXBzIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICLQoNC+0LfQtNGW0LsgJXp1OiDQv9C10YDQtdC60YDQuNCy0LDRlNGC0YzRgdGPINC3INGA0L7Qt9C00ZbQu9C+0LwgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZW1wdHkuIgorbXNnc3RyICLQoNC+0LfQtNGW0LsgJXp1OiDQv9C+0YDQvtC20L3RltC5LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9naWNhbCBwYXJ0aXRpb24gJXp1OiBub3QgZW50aXJlbHkgaW4gcGFydGl0aW9uICV6dS4iCittc2dzdHIgItCb0L7Qs9GW0YfQvdC40Lkg0YDQvtC30LTRltC7ICV6dSDQvdC1INCy0LzRltGJ0YPRlNGC0YzRgdGPINGG0ZbQu9C60L7QvCDRgyDRgNC+0LfQtNGW0LsgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVG90YWwgYWxsb2NhdGVkIHNlY3RvcnMgJWxsdSBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gJWxsdS4iCittc2dzdHIgItCX0LDQs9Cw0LvRjNC90LAg0LrRltC70YzQutGW0YHRgtGMINGA0L7Qt9C/0L7QtNGW0LvQtdC90LjRhSDRgdC10LrRgtC+0YDRltCyLCAlbGx1LCDQv9C10YDQtdCy0LjRidGD0ZQg0LzQsNC60YHQuNC80LDQu9GM0L3QtSDQt9C90LDRh9C10L3QvdGPLCAlbGx1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVtYWluaW5nICVsbGQgdW5hbGxvY2F0ZWQgJWxkLWJ5dGUgc2VjdG9ycy4iCittc2dzdHIgItCX0LDQu9C40YjQsNGU0YLRjNGB0Y8gJWxsZCDQvdC10YDQvtC30L/QvtC00ZbQu9C10L3QuNGFICVsZC3QsdCw0LnRgtC+0LLQuNGFINGB0LXQutGC0L7RgNGW0LIuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUzMiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1NAorbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgItCg0L7Qt9GI0LjRgNC10L3QuNC5INGA0L7Qt9C00ZbQuyDQstC20LUg0ZbRgdC90YPRlC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTc1Cittc2dpZCAiVGhlIG1heGltdW0gbnVtYmVyIG9mIHBhcnRpdGlvbnMgaGFzIGJlZW4gY3JlYXRlZC4iCittc2dzdHIgItCS0LbQtSDRgdGC0LLQvtGA0LXQvdC+INC80LDQutGB0LjQvNCw0LvRjNC90YMg0LrRltC70YzQutGW0YHRgtGMINGA0L7Qt9C00ZbQu9GW0LIuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU4NworbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4iCittc2dzdHIgItCj0YHRliDQvtGB0L3QvtCy0L3RliDRgNC+0LfQtNGW0LvQuCDQstC20LUg0LLQuNC60L7RgNC40YHRgtCw0L3Qvi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTg5IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjAwCittc2dpZCAiQWxsIHNwYWNlIGZvciBwcmltYXJ5IHBhcnRpdGlvbnMgaXMgaW4gdXNlLiIKK21zZ3N0ciAi0JLRgdC1INC80ZbRgdGG0LUg0L/RltC0INC+0YHQvdC+0LLQvdGWINGA0L7Qt9C00ZbQu9C4INCy0LbQtSDQstC40LrQvtGA0LjRgdGC0LDQvdC+LiIKKworIy4gVFJBTlNMQVRPUlM6IFRyeSB0byBrZWVwIHRoaXMgd2l0aGluIDgwIGNoYXJhY3RlcnMuCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYwMworbXNnaWQgIlRvIGNyZWF0ZSBtb3JlIHBhcnRpdGlvbnMsIGZpcnN0IHJlcGxhY2UgYSBwcmltYXJ5IHdpdGggYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAi0K/QutGJ0L4g0LLQsNC8INC/0L7RgtGA0ZbQsdC90L4g0YHRgtCy0L7RgNC40YLQuCDQsdGW0LvRjNGI0LUg0YDQvtC30LTRltC70ZbQsiwg0LLQsNC8INGB0LvRltC0INGB0L/QtdGA0YjRgyDQt9Cw0LzRltC90LjRgtC4INC+0YHQvdC+0LLQvdC40Lkg0YDQvtC30LTRltC7INC90LAg0YDQvtC30YjQuNGA0LXQvdC40Lkg0YDQvtC30LTRltC7LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDgKK21zZ2lkICJBbGwgbG9naWNhbCBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIEFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uLiIKK21zZ3N0ciAi0KPRgdGWINC70L7Qs9GW0YfQvdGWINGA0L7Qt9C00ZbQu9C4INC30LDQudC90Y/RgtC+LiDQlNC+0LTQsNGU0LzQviDQvtGB0L3QvtCy0L3QuNC5INGA0L7Qt9C00ZbQuy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjMwCittc2dpZCAiUGFydGl0aW9uIHR5cGUiCittc2dzdHIgItCi0LjQvyDRgNC+0LfQtNGW0LvRgyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXp1IHByaW1hcnksICVkIGV4dGVuZGVkLCAlenUgZnJlZSIKK21zZ3N0ciAi0L7RgdC90L7QstC90LjQuTogJXp1LCDRgNC+0LfRiNC40YDQtdC90LjQuTogJWQsINCy0ZbQu9GM0L3QvjogJXp1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzOQorbXNnaWQgInByaW1hcnkiCittc2dzdHIgItC/0LXRgNCy0LjQvdC90LjQuSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDEKK21zZ2lkICJleHRlbmRlZCIKK21zZ3N0ciAi0YDQvtC30YjQuNGA0LXQvdC40LkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQxCittc2dpZCAiY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMiCittc2dzdHIgItC60L7QvdGC0LXQudC90LXRgCDQu9C+0LPRltGH0L3QuNGFINGA0L7Qt9C00ZbQu9GW0LIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQzCittc2dpZCAibG9naWNhbCIKK21zZ3N0ciAi0LvQvtCz0ZbRh9C90LjQuSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDMKK21zZ2lkICJudW1iZXJlZCBmcm9tIDUiCittc2dzdHIgItC90YPQvNC10YDQsNGG0ZbRjyDQv9C+0YfQuNC90LDRlNGC0YzRgdGPINC3IDUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIHR5cGUgYCVjJy4iCittc2dzdHIgItCd0LXQutC+0YDQtdC60YLQvdC40Lkg0YLQuNC/INGA0L7Qt9C00ZbQu9GDIMKrJWPCuy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB3cml0ZSBzZWN0b3IgJWpkOiBzZWVrIGZhaWxlZCIKK21zZ3N0ciAi0KHQv9GA0L7QsdCwINC30LDQv9C40YHRgyDRgdC10LrRgtC+0YDQsCAlamQg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZY6INC/0L7QvNC40LvQutCwINC/0L7Qt9C40YbRltGO0LLQsNC90L3RjyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE4NTIgbGliZmRpc2svc3JjL2dwdC5jOjEwOTYKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIiCittc2dzdHIgItCG0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAINC00LjRgdC60LAiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU5Cittc2dpZCAiVHlwZSAwIG1lYW5zIGZyZWUgc3BhY2UgdG8gbWFueSBzeXN0ZW1zLiBIYXZpbmcgcGFydGl0aW9ucyBvZiB0eXBlIDAgaXMgcHJvYmFibHkgdW53aXNlLiIKK21zZ3N0ciAi0KMg0LHQsNCz0LDRgtGM0L7RhSDRgdC40YHRgtC10LzQsNGFINGC0LjQvyAwINC+0LfQvdCw0YfQsNGUINCy0ZbQu9GM0L3QtSDQvNGW0YHRhtC1LCDRgtC+0LzRgyDQvdC1INCy0LDRgNGC0L4g0YHRgtCy0L7RgNGO0LLQsNGC0Lgg0YDQvtC30LTRltC70Lgg0YLQuNC/0YMgMC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxOTY0Cittc2dpZCAiQ2Fubm90IGNoYW5nZSB0eXBlIG9mIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24gd2hpY2ggaXMgYWxyZWFkeSB1c2VkIGJ5IGxvZ2ljYWwgcGFydGl0aW9ucy4gRGVsZXRlIGxvZ2ljYWwgcGFydGl0aW9ucyBmaXJzdC4iCittc2dzdHIgItCd0LXQvNC+0LbQu9C40LLQviDQt9C80ZbQvdC40YLQuCDRgtC40L8g0YDQvtC30YjQuNGA0LXQvdC+0LPQviDRgNC+0LfQtNGW0LvRgywg0Y/QutC40Lkg0LLQttC1INCy0LjQutC+0YDQuNGB0YLQsNC90L4g0LvQvtCz0ZbRh9C90LjQvNC4INGA0L7Qt9C00ZbQu9Cw0LzQuCDQodC/0L7Rh9Cw0YLQutGDINCy0LDQvCDRgdC70ZbQtCDQstC40LvRg9GH0LjRgtC4INC70L7Qs9GW0YfQvdGWINGA0L7Qt9C00ZbQu9C4LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxNDMgbGliZmRpc2svc3JjL2dwdC5jOjI4MjEKK21zZ2lkICJOb3RoaW5nIHRvIGRvLiBPcmRlcmluZyBpcyBjb3JyZWN0IGFscmVhZHkuIgorbXNnc3RyICLQndC10LzQsCDRh9C+0LPQviDRgNC+0LHQuNGC0LguINCf0L7RgNGP0LTQvtC6INCy0LbQtSDQv9GA0LDQstC40LvRjNC90LjQuS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG5vIGRhdGEgYXJlYS4iCittc2dzdHIgItCg0L7Qt9C00ZbQuyAlenUg0L3QtSDQvNCw0ZQg0L7QsdC70LDRgdGC0ZYg0LTQsNC90LjRhS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjIyCittc2dpZCAiTmV3IGJlZ2lubmluZyBvZiBkYXRhIgorbXNnc3RyICLQndC+0LLQuNC5INC/0L7Rh9Cw0YLQvtC6INC00LDQvdC40YUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGlzIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgItCg0L7Qt9C00ZbQuyAlenUg0ZQg0YDQvtC30YjQuNGA0LXQvdC40Lwg0YDQvtC30LTRltC70L7QvC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICLQotC10L/QtdGAINC/0YDQsNC/0L7RgNC10YbRjCDQt9Cw0LLQsNC90YLQsNC20YPQstCw0L3QvtGB0YLRliDQvdCwINGA0L7Qt9C00ZbQu9GWICV6dSDRg9Cy0ZbQvNC60L3QtdC90L4uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgItCi0LXQv9C10YAg0L/RgNCw0L/QvtGA0LXRhtGMINC30LDQstCw0L3RgtCw0LbRg9Cy0LDQvdC+0YHRgtGWINC90LAg0YDQvtC30LTRltC70ZYgJXp1INCy0LjQvNC60L3QtdC90L4uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI5OCBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxMSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1MworIzogbGliZmRpc2svc3JjL3N1bi5jOjExMDkKK21zZ2lkICJEZXZpY2UiCittc2dzdHIgItCf0YDQuNGB0YLRgNGW0LkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjk5IGxpYmZkaXNrL3NyYy9zdW4uYzo0MQorbXNnaWQgIkJvb3QiCittc2dzdHIgItCX0LDQstCw0L0uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1OSBsaWJmZGlzay9zcmMvc3VuLmM6MTExNQorbXNnaWQgIklkIgorbXNnc3RyICLQhtC0IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwOQorbXNnaWQgIlN0YXJ0LUMvSC9TIgorbXNnc3RyICLQn9C+0YfQsNGC0L7Qui3Qpi/Qky/QoSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTAKK21zZ2lkICJFbmQtQy9IL1MiCittc2dzdHIgItCa0ZbQvdC10YbRjC3Qpi/Qky/QoSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTEgbGliZmRpc2svc3JjL2dwdC5jOjI5MjEgbGliZmRpc2svc3JjL3NnaS5jOjExNjEKK21zZ2lkICJBdHRycyIKK21zZ3N0ciAi0JDRgtGA0LjQsdGD0YLQuCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MAorbXNnaWQgIkVGSSBTeXN0ZW0iCittc2dzdHIgItCh0LjRgdGC0LXQvNCwIEVGSSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MgorbXNnaWQgIk1CUiBwYXJ0aXRpb24gc2NoZW1lIgorbXNnc3RyICLQodGF0LXQvNCwINGA0L7Qt9C00ZbQu9GW0LIgTUJSIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzCittc2dpZCAiSW50ZWwgRmFzdCBGbGFzaCIKK21zZ3N0ciAiSW50ZWwgRmFzdCBGbGFzaCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2NgorbXNnaWQgIkJJT1MgYm9vdCIKK21zZ3N0ciAiQklPUywg0LfQsNCy0LDQvdGC0LDQttGD0LLQsNC70YzQvdC40LkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjkKK21zZ2lkICJTb255IGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICLQl9Cw0LLQsNC90YLQsNC20YPQstCw0LvRjNC90LjQuSDRgNC+0LfQtNGW0LsgU29ueSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MAorbXNnaWQgIkxlbm92byBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAi0JfQsNCy0LDQvdGC0LDQttGD0LLQsNC70YzQvdC40Lkg0YDQvtC30LTRltC7IExlbm92byIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MworbXNnaWQgIlBvd2VyUEMgUFJlUCBib290IgorbXNnc3RyICJQb3dlclBDIFBSZVAsINC30LDQstCw0L3RgtCw0LbRg9Cy0LDQu9GM0L3QuNC5IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc2Cittc2dpZCAiT05JRSBib290IgorbXNnc3RyICJPTklFLCDQt9Cw0LLQsNC90YLQsNC20YPQstCw0LvRjNC90LjQuSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NworbXNnaWQgIk9OSUUgY29uZmlnIgorbXNnc3RyICJPTklFLCDQvdCw0LvQsNGI0YLRg9Cy0LDQvdC90Y8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAKK21zZ2lkICJNaWNyb3NvZnQgcmVzZXJ2ZWQiCittc2dzdHIgIk1pY3Jvc29mdCwg0LfQsNGA0LXQt9C10YDQstC+0LLQsNC90LjQuSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MQorbXNnaWQgIk1pY3Jvc29mdCBiYXNpYyBkYXRhIgorbXNnc3RyICJNaWNyb3NvZnQsINC+0YHQvdC+0LLQvdGWINC00LDQvdGWIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgyCittc2dpZCAiTWljcm9zb2Z0IExETSBtZXRhZGF0YSIKK21zZ3N0ciAiTWljcm9zb2Z0LCDQvNC10YLQsNC00LDQvdGWIExETSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MworbXNnaWQgIk1pY3Jvc29mdCBMRE0gZGF0YSIKK21zZ3N0ciAiTWljcm9zb2Z0LCDQtNCw0L3RliBMRE0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODQKK21zZ2lkICJXaW5kb3dzIHJlY292ZXJ5IGVudmlyb25tZW50IgorbXNnc3RyICLQodC10YDQtdC00L7QstC40YnQtSDQstGW0LTQvdC+0LLQu9C10L3QvdGPIFdpbmRvd3MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODUKK21zZ2lkICJJQk0gR2VuZXJhbCBQYXJhbGxlbCBGcyIKK21zZ3N0ciAi0JfQsNCz0LDQu9GM0L3QsCDQv9Cw0YDQsNC70LXQu9GM0L3QsCDRhNCw0LnQu9C+0LLQsCDRgdC40YHRgtC10LzQsCBJQk0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODYKK21zZ2lkICJNaWNyb3NvZnQgU3RvcmFnZSBTcGFjZXMiCittc2dzdHIgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4OQorbXNnaWQgIkhQLVVYIGRhdGEiCittc2dzdHIgItCU0LDQvdGWIEhQLVVYIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkwCittc2dpZCAiSFAtVVggc2VydmljZSIKK21zZ3N0ciAi0KHQu9GD0LbQsdC+0LLQuNC5IEhQLVVYIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2MSBsaWJmZGlzay9zcmMvc3VuLmM6NTIKK21zZ2lkICJMaW51eCBzd2FwIgorbXNnc3RyICJMaW51eCBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk0Cittc2dpZCAiTGludXggZmlsZXN5c3RlbSIKK21zZ3N0ciAi0KTQsNC50LvQvtCy0LAg0YHQuNGB0YLQtdC80LAgTGludXgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUKK21zZ2lkICJMaW51eCBzZXJ2ZXIgZGF0YSIKK21zZ3N0ciAiTGludXgsINC00LDQvdGWINGB0LXRgNCy0LXRgNCwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk2Cittc2dpZCAiTGludXggcm9vdCAoeDg2KSIKK21zZ3N0ciAi0JrQvtGA0LXQvdC10LLQuNC5INGA0L7Qt9C00ZbQuyBMaW51eCAoeDg2KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NworbXNnaWQgIkxpbnV4IHJvb3QgKEFSTSkiCittc2dzdHIgItCa0L7RgNC10L3QtdCy0LjQuSDRgNC+0LfQtNGW0LsgTGludXggKEFSTSkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTgKK21zZ2lkICJMaW51eCByb290ICh4ODYtNjQpIgorbXNnc3RyICLQmtC+0YDQtdC90LXQstC40Lkg0YDQvtC30LTRltC7IExpbnV4ICh4ODYtNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5Cittc2dpZCAiTGludXggcm9vdCAoQVJNLTY0KSIKK21zZ3N0ciAi0JrQvtGA0LXQvdC10LLQuNC5INGA0L7Qt9C00ZbQuyBMaW51eCAoQVJNLTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMAorbXNnaWQgIkxpbnV4IHJvb3RcdChJQS02NCkiCittc2dzdHIgItCa0L7RgNC10L3QtdCy0LjQuSBMaW51eFx0KElBLTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMQorbXNnaWQgIkxpbnV4IHJlc2VydmVkIgorbXNnc3RyICJMaW51eCwg0LfQsNGA0LXQt9C10YDQstC+0LLQsNC90LjQuSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMgorbXNnaWQgIkxpbnV4IGhvbWUiCittc2dzdHIgItCg0L7Qt9C00ZbQuyAvaG9tZSBMaW51eCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMyBsaWJmZGlzay9zcmMvc2dpLmM6NjQKK21zZ2lkICJMaW51eCBSQUlEIgorbXNnc3RyICJMaW51eCBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0Cittc2dpZCAiTGludXggZXh0ZW5kZWQgYm9vdCIKK21zZ3N0ciAiTGludXgsINGA0L7Qt9GI0LjRgNC10L3QuNC5INC30LDQstCw0L3RgtCw0LbRg9Cy0LDQu9GM0L3QuNC5IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEyCittc2dpZCAiRnJlZUJTRCBkYXRhIgorbXNnc3RyICJGcmVlQlNELCDQtNCw0L3RliIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMworbXNnaWQgIkZyZWVCU0QgYm9vdCIKK21zZ3N0ciAiRnJlZUJTRCwg0LfQsNCy0LDQvdGC0LDQttGD0LLQsNC70YzQvdC40LkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQKK21zZ2lkICJGcmVlQlNEIHN3YXAiCittc2dzdHIgIkZyZWVCU0QsIFN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUKK21zZ2lkICJGcmVlQlNEIFVGUyIKK21zZ3N0ciAiRnJlZUJTRCwgVUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2Cittc2dpZCAiRnJlZUJTRCBaRlMiCittc2dzdHIgIkZyZWVCU0QsIFpGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNworbXNnaWQgIkZyZWVCU0QgVmludW0iCittc2dzdHIgIkZyZWVCU0QsIFZpbnVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIwCittc2dpZCAiQXBwbGUgSEZTL0hGUysiCittc2dzdHIgIkFwcGxlLCBIRlMvSEZTKyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMQorbXNnaWQgIkFwcGxlIFVGUyIKK21zZ3N0ciAiQXBwbGUsIFVGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMgorbXNnaWQgIkFwcGxlIFJBSUQiCittc2dzdHIgIkFwcGxlLCBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzCittc2dpZCAiQXBwbGUgUkFJRCBvZmZsaW5lIgorbXNnc3RyICJBcHBsZSwgUkFJRCAo0LLQuNC80LrQvdC10L3QvikiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjQKK21zZ2lkICJBcHBsZSBib290IgorbXNnc3RyICJBcHBsZSwg0LfQsNCy0LDQvdGC0LDQttGD0LLQsNC70YzQvdC40LkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjUKK21zZ2lkICJBcHBsZSBsYWJlbCIKK21zZ3N0ciAiQXBwbGUsINC80ZbRgtC60LAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjYKK21zZ2lkICJBcHBsZSBUViByZWNvdmVyeSIKK21zZ3N0ciAiQXBwbGUgVFYsINCy0ZbQtNC90L7QstC70Y7QstCw0LvRjNC90LjQuSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNworbXNnaWQgIkFwcGxlIENvcmUgc3RvcmFnZSIKK21zZ3N0ciAi0J7RgdC90L7QstC90LUg0YHRhdC+0LLQuNGJ0LUgQXBwbGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzEKK21zZ2lkICJTb2xhcmlzIHJvb3QiCittc2dzdHIgIlNvbGFyaXMsINC60L7RgNC10L3QtdCy0LjQuSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMworbXNnaWQgIlNvbGFyaXMgL3VzciAmIEFwcGxlIFpGUyIKK21zZ3N0ciAiU29sYXJpcyAvdXNyINGC0LAgQXBwbGUgWkZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM0Cittc2dpZCAiU29sYXJpcyBzd2FwIgorbXNnc3RyICJTb2xhcmlzLCBTd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM1Cittc2dpZCAiU29sYXJpcyBiYWNrdXAiCittc2dzdHIgIlNvbGFyaXMsINGA0LXQt9C10YDQstC90LAg0LrQvtC/0ZbRjyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNgorbXNnaWQgIlNvbGFyaXMgL3ZhciIKK21zZ3N0ciAiU29sYXJpcywgL3ZhciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNworbXNnaWQgIlNvbGFyaXMgL2hvbWUiCittc2dzdHIgIlNvbGFyaXMsIC9ob21lIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM4Cittc2dpZCAiU29sYXJpcyBhbHRlcm5hdGUgc2VjdG9yIgorbXNnc3RyICJTb2xhcmlzLCDQsNC70YzRgtC10YDQvdCw0YLQuNCy0L3QuNC5INGB0LXQutGC0L7RgCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMSIKK21zZ3N0ciAiU29sYXJpcywg0LfQsNGA0LXQt9C10YDQstC+0LLQsNC90LjQuSAxIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQwCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAyIgorbXNnc3RyICJTb2xhcmlzLCDQt9Cw0YDQtdC30LXRgNCy0L7QstCw0L3QuNC5IDIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDEKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDMiCittc2dzdHIgIlNvbGFyaXMsINC30LDRgNC10LfQtdGA0LLQvtCy0LDQvdC40LkgMyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MgorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNCIKK21zZ3N0ciAiU29sYXJpcywg0LfQsNGA0LXQt9C10YDQstC+0LLQsNC90LjQuSA0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQzCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA1IgorbXNnc3RyICJTb2xhcmlzLCDQt9Cw0YDQtdC30LXRgNCy0L7QstCw0L3QuNC5IDUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDYKK21zZ2lkICJOZXRCU0Qgc3dhcCIKK21zZ3N0ciAiTmV0QlNELCBTd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ3Cittc2dpZCAiTmV0QlNEIEZGUyIKK21zZ3N0ciAiTmV0QlNELCBGRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgKK21zZ2lkICJOZXRCU0QgTEZTIgorbXNnc3RyICJOZXRCU0QsIExGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OQorbXNnaWQgIk5ldEJTRCBjb25jYXRlbmF0ZWQiCittc2dzdHIgIk5ldEJTRCwg0Lcn0ZTQtNC90LDQvdC40LkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTAKK21zZ2lkICJOZXRCU0QgZW5jcnlwdGVkIgorbXNnc3RyICJOZXRCU0QsINC30LDRiNC40YTRgNC+0LLQsNC90LjQuSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MQorbXNnaWQgIk5ldEJTRCBSQUlEIgorbXNnc3RyICJOZXRCU0QsIFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTQKK21zZ2lkICJDaHJvbWVPUyBrZXJuZWwiCittc2dzdHIgItCv0LTRgNC+IENocm9tZU9TIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU1Cittc2dpZCAiQ2hyb21lT1Mgcm9vdCBmcyIKK21zZ3N0ciAi0JrQvtGA0LXQvdC10LLQsCDRhNCw0LnQu9C+0LLQsCDRgdC40YHRgtC10LzQsCBDaHJvbWVPUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NgorbXNnaWQgIkNocm9tZU9TIHJlc2VydmVkIgorbXNnc3RyICJDaHJvbWVPUywg0LfQsNGA0LXQt9C10YDQstC+0LLQsNC90LjQuSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OQorbXNnaWQgIk1pZG5pZ2h0QlNEIGRhdGEiCittc2dzdHIgItCU0LDQvdGWIE1pZG5pZ2h0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYwCittc2dpZCAiTWlkbmlnaHRCU0QgYm9vdCIKK21zZ3N0ciAi0JfQsNCy0LDQvdGC0LDQttGD0LLQsNC70YzQvdC40LkgTWlkbmlnaHRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjEKK21zZ2lkICJNaWRuaWdodEJTRCBzd2FwIgorbXNnc3RyICJNaWRuaWdodEJTRCBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyCittc2dpZCAiTWlkbmlnaHRCU0QgVUZTIgorbXNnc3RyICJNaWRuaWdodEJTRCBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjMKK21zZ2lkICJNaWRuaWdodEJTRCBaRlMiCittc2dzdHIgIk1pZG5pZ2h0QlNEIFpGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NAorbXNnaWQgIk1pZG5pZ2h0QlNEIFZpbnVtIgorbXNnc3RyICJNaWRuaWdodEJTRCBWaW51bSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NworbXNnaWQgIkNlcGggSm91cm5hbCIKK21zZ3N0ciAiQ2VwaCwg0LbRg9GA0L3QsNC7IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4Cittc2dpZCAiQ2VwaCBFbmNyeXB0ZWQgSm91cm5hbCIKK21zZ3N0ciAiQ2VwaCwg0LfQsNGI0LjRhNGA0L7QstCw0L3QuNC5INC20YPRgNC90LDQuyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OQorbXNnaWQgIkNlcGggT1NEIgorbXNnc3RyICJDZXBoLCBPU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAKK21zZ2lkICJDZXBoIGNyeXB0IE9TRCIKK21zZ3N0ciAiQ2VwaCwg0LfQsNGI0LjRhNGA0L7QstCw0L3QuNC5IE9TRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MQorbXNnaWQgIkNlcGggZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiQ2VwaCwg0LTQuNGB0Log0L/RltC0INGH0LDRgSDRgdGC0LLQvtGA0LXQvdC90Y8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzIKK21zZ2lkICJDZXBoIGNyeXB0IGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIkNlcGgsINC30LDRiNC40YTRgNC+0LLQsNC90LjQuSDQtNC40YHQuiDQv9GW0LQg0YfQsNGBINGB0YLQstC+0YDQtdC90L3RjyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NQorbXNnaWQgIk9wZW5CU0QgZGF0YSIKK21zZ3N0ciAiT3BlbkJTRCwg0LTQsNC90ZYiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzgKK21zZ2lkICJRTlg2IGZpbGUgc3lzdGVtIgorbXNnc3RyICLQpNCw0LnQu9C+0LLQsCDRgdC40YHRgtC10LzQsCBRTlg2IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjgxCittc2dpZCAiUGxhbiA5IHBhcnRpdGlvbiIKK21zZ3N0ciAi0KDQvtC30LTRltC7IFBsYW4gOSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjU0NworbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHUFQgaGVhZGVyIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINGA0L7Qt9C80ZbRgdGC0LjRgtC4INC30LDQs9C+0LvQvtCy0L7QuiBHUFQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo2MzAKK21zZ2lkICJGaXJzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICLQn9C10YDRiNC40LkgTEJBLCDQstC60LDQt9Cw0L3QuNC5INGB0LrRgNC40L/RgtC+0LwsINC/0LXRgNC10LHRg9Cy0LDRlCDQv9C+0LfQsCDQtNC+0YHRgtGD0L/QvdC40Lwg0LTRltCw0L/QsNC30L7QvdC+0LwuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NjQyCittc2dpZCAiTGFzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICLQntGB0YLQsNC90L3RltC5IExCQSwg0LLQutCw0LfQsNC90LjQuSDRgdC60YDQuNC/0YLQvtC8LCDQv9C10YDQtdCx0YPQstCw0ZQg0L/QvtC30LAg0LTQvtGB0YLRg9C/0L3QuNC8INC00ZbQsNC/0LDQt9C+0L3QvtC8LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjc3NQorIywgYy1mb3JtYXQKK21zZ2lkICJHUFQgUE1CUiBzaXplIG1pc21hdGNoICglPFBSSXU2ND4gIT0gJTxQUkl1NjQ+KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpLiIKK21zZ3N0ciAi0J3QtdCy0ZbQtNC/0L7QstGW0LTQvdGW0YHRgtGMINGA0L7Qt9C80ZbRgNGW0LIgUE1CUiBHUFQgKCU8UFJJdTY0PiAhPSAlPFBSSXU2ND4pLiDQkdGD0LTQtSDQstC40L/RgNCw0LLQu9C10L3QviDRgyDQstGW0LTQv9C+0LLRltC00Ywg0L3QsCB3ICjQt9Cw0L/QuNGBKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3OTIKK21zZ2lkICJncHQ6IHN0YXQoKSBmYWlsZWQiCittc2dzdHIgImdwdDog0L/QvtC80LjQu9C60LAgc3RhdCgpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6ODAyCisjLCBjLWZvcm1hdAorbXNnaWQgImdwdDogY2Fubm90IGhhbmRsZSBmaWxlcyB3aXRoIG1vZGUgJW8iCittc2dzdHIgImdwdDog0L7QsdGA0L7QsdC60LAg0YTQsNC50LvRltCyINC3INGA0LXQttC40LzQvtC8INC00L7RgdGC0YPQv9GDICVvINC90LXQvNC+0LbQu9C40LLQsCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEwNjQKK21zZ2lkICJHUFQgSGVhZGVyIgorbXNnc3RyICLQl9Cw0LPQvtC70L7QstC+0LogR1BUIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTA2OQorbXNnaWQgIkdQVCBFbnRyaWVzIgorbXNnc3RyICLQl9Cw0L/QuNGB0LggR1BUIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEwMworbXNnaWQgIkZpcnN0IExCQSIKK21zZ3N0ciAi0J/QtdGA0YjQtSBMQkEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTA4Cittc2dpZCAiTGFzdCBMQkEiCittc2dzdHIgItCe0YHRgtCw0L3QvdGUIExCQSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBMQkEgKExvZ2ljYWwgQmxvY2sgQWRkcmVzcykgb2YgdGhlIGJhY2t1cCBHUFQgaGVhZGVyLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjExMTQKK21zZ2lkICJBbHRlcm5hdGl2ZSBMQkEiCittc2dzdHIgItCQ0LvRjNGC0LXRgNC90LDRgtC40LLQvdC1IExCQSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFydCBvZiB0aGUgYXJyYXkgb2YgcGFydGl0aW9uIGVudHJpZXMuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEyMAorbXNnaWQgIlBhcnRpdGlvbiBlbnRyaWVzIExCQSIKK21zZ3N0ciAi0JfQsNC/0LjRgdC4INGA0L7Qt9C00ZbQu9GW0LIgTEJBIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEyNQorbXNnaWQgIkFsbG9jYXRlZCBwYXJ0aXRpb24gZW50cmllcyIKK21zZ3N0ciAi0JfQsNC/0LjRgdC4INGA0L7Qt9C80ZbRidC10L3QuNGFINGA0L7Qt9C00ZbQu9GW0LIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNDQwCittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBwcmltYXJ5IGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAi0KDQtdC30LXRgNCy0L3RgyDRgtCw0LHQu9C40YbRjiBHUFQg0L/QvtGI0LrQvtC00LbQtdC90L4sINC+0YHQvdC+0LLQvdCwLCDQt9C00LDRlNGC0YzRgdGPINGUINC/0YDQsNCy0LjQu9GM0L3QvtGOLCDRgtC+0LzRgyDQsdGD0LTQtSDQstC40LrQvtGA0LjRgdGC0LDQvdC+INC+0YHQvdC+0LLQvdGDINGC0LDQsdC70LjRhtGOLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE0NDkKK21zZ2lkICJUaGUgcHJpbWFyeSBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBiYWNrdXAgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICLQntGB0L3QvtCy0L3RgyDRgtCw0LHQu9C40YbRjiBHUFQg0L/QvtGI0LrQvtC00LbQtdC90L4sINCw0LvQtSDRgNC10LfQtdGA0LLQvdCwINCy0LjQs9C70Y/QtNCw0ZQg0L/RgNCw0LLQuNC70YzQvdC+0Y4sINGC0L7QvNGDINCx0YPQtNC1INCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuNGB0Ywg0YHQsNC80LUg0LLQvtC90LAuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBHUFQgYXR0cmlidXRlIGJpdCAnJXMnIgorbXNnc3RyICLQvdC10L/RltC00YLRgNC40LzRg9Cy0LDQvdC40Lkg0LHRltGCINCw0YLRgNC40LHRg9GC0LAgR1BULCDCqyVzwrsiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgR1BUIGF0dHJpYnV0ZSBzdHJpbmcgJyVzJyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INGB0L/QuNGB0L7QuiAnJXMnIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczMQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gVVVJRCBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICJVVUlEINGA0L7Qt9C00ZbQu9GDINC30LzRltC90LXQvdC+INC3ICVzINC90LAgJXMuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczOQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gbmFtZSBjaGFuZ2VkIGZyb20gJyVzJyB0byAnJS4qcycuIgorbXNnc3RyICLQndCw0LfQstGDINGA0L7Qt9C00ZbQu9GDINC30LzRltC90LXQvdC+INC3IMKrJXPCuyDQvdCwIMKrJS4qc8K7LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NjgKK21zZ2lkICJUaGUgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiB1bmRlcnN0ZXBzIEZpcnN0VXNhYmxlTEJBLiIKK21zZ3N0ciAi0J/QvtGH0LDRgtC+0Log0L/RltC00LrRgNC+0LrRltCyINGA0L7Qt9C00ZbQu9GDIEZpcnN0VXNhYmxlTEJBLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NzUKK21zZ2lkICJUaGUgZW5kIG9mIHRoZSBwYXJ0aXRpb24gb3ZlcnN0ZXBzIExhc3RVc2FibGVMQkEuIgorbXNnc3RyICLQmtGW0L3QtdGG0Ywg0L3QsNC00LrRgNC+0LrRltCyINGA0L7Qt9C00ZbQu9GDIExhc3RVc2FibGVMQkEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzNAorbXNnaWQgIlRoZSBkZXZpY2UgY29udGFpbnMgaHlicmlkIE1CUiAtLSB3cml0aW5nIEdQVCBvbmx5LiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBNQlIgbWFudWFsbHkuIgorbXNnc3RyICLQndCwINC/0YDQuNGB0YLRgNC+0Zcg0LzRltGB0YLQuNGC0YzRgdGPINCz0ZbQsdGA0LjQtNC90LjQuSBNQlIsINGC0L7QvNGDINC30LDQv9C40YHRg9GU0LzQviDQu9C40YjQtSBHUFQuINCS0LDQvCDQtNC+0LLQtdC00LXRgtGM0YHRjyDQstC40LrQvtC90LDRgtC4INGB0LjQvdGF0YDQvtC90ZbQt9Cw0YbRltGOINC3IE1CUiDQstGA0YPRh9C90YMuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3MQorbXNnaWQgIkRpc2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICLQndCwINC00LjRgdC60YMg0L3QtSDQvNGW0YHRgtC40YLRjNGB0Y8g0LrQvtGA0LXQutGC0L3QvtCz0L4g0LfQsNCz0L7Qu9C+0LLQutCwINGA0LXQt9C10YDQstC90L7RlyDQutC+0L/RltGXLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NzYKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgItCd0LXQutC+0YDQtdC60YLQvdCwINC60L7QvdGC0YDQvtC70YzQvdCwINGB0YPQvNCwIENSQyDQt9Cw0LPQvtC70L7QstC60LAg0L7RgdC90L7QstC90L7RlyDQutC+0L/RltGXLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5ODAKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAi0J3QtdC60L7RgNC10LrRgtC90LAg0LrQvtC90YLRgNC+0LvRjNC90LAg0YHRg9C80LAgQ1JDINC30LDQs9C+0LvQvtCy0LrQsCDRgNC10LfQtdGA0LLQvdC+0Zcg0LrQvtC/0ZbRly4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTg1Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gZW50cnkgY2hlY2tzdW0uIgorbXNnc3RyICLQndC10LrQvtGA0LXQutGC0L3QsCDQutC+0L3RgtGA0L7Qu9GM0L3QsCDRgdGD0LzQsCDQt9Cw0L/QuNGB0YMg0YDQvtC30LTRltC70YMuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5MAorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICLQndC10LrQvtGA0LXQutGC0L3RliDRgNC10LfRg9C70YzRgtCw0YLQuCDQv9C10YDQtdCy0ZbRgNC60Lgg0L3QsCDRgtC+0YfQvdGW0YHRgtGMINC00LDQvdC40YUg0YnQvtC00L4g0LfQsNCz0L7Qu9C+0LLQutCwIExCQSDQvtGB0L3QvtCy0L3QvtGXINC60L7Qv9GW0ZcuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5NAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgItCd0LXQutC+0YDQtdC60YLQvdGWINGA0LXQt9GD0LvRjNGC0LDRgtC4INC/0LXRgNC10LLRltGA0LrQuCDQvdCwINGC0L7Rh9C90ZbRgdGC0Ywg0LTQsNC90LjRhSDRidC+0LTQviDQt9Cw0LPQvtC70L7QstC60LAgTEJBINGA0LXQt9C10YDQstC90L7RlyDQutC+0L/RltGXLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OTkKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgcHJpbWFyeSBoZWFkZXIuIgorbXNnc3RyICJNeUxCQSDQvdC1INCy0ZbQtNC/0L7QstGW0LTQsNGUINGB0L/RgNCw0LLQttC90ZbQuSDQv9C+0LfQuNGG0ZbRlyDRgyDQt9Cw0LPQvtC70L7QstC60YMg0L7RgdC90L7QstC90L7RlyDQutC+0L/RltGXLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMDMKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIk15TEJBINC90LUg0LLRltC00L/QvtCy0ZbQtNCw0ZQg0YHQv9GA0LDQstC20L3RltC5INC/0L7Qt9C40YbRltGXINGDINC30LDQs9C+0LvQvtCy0LrRgyDRgNC10LfQtdGA0LLQvdC+0Zcg0LrQvtC/0ZbRly4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDA4Cittc2dpZCAiRGlzayBpcyB0b28gc21hbGwgdG8gaG9sZCBhbGwgZGF0YS4iCittc2dzdHIgItCU0LjRgdC6INC90LDQtNGC0L4g0LzQsNC70LjQuSDQtNC70Y8g0LfQsdC10YDRltCz0LDQvdC90Y8g0LLRgdGW0YUg0LTQsNC90LjRhS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDE4Cittc2dpZCAiUHJpbWFyeSBhbmQgYmFja3VwIGhlYWRlciBtaXNtYXRjaC4iCittc2dzdHIgItCd0LXQstGW0LTQv9C+0LLRltC00L3RltGB0YLRjCDQt9Cw0LPQvtC70L7QstC60ZbQsiDQvtGB0L3QvtCy0L3QvtGXINGWINGA0LXQt9C10YDQstC90L7RlyDQutC+0L/RltGXLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggcGFydGl0aW9uICV1LiIKK21zZ3N0ciAi0KDQvtC30LTRltC7ICV1INC/0LXRgNC10LrRgNC40LLQsNGU0YLRjNGB0Y8g0Lcg0YDQvtC30LTRltC70L7QvCAldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBpcyB0b28gYmlnIGZvciB0aGUgZGlzay4iCittc2dzdHIgItCg0L7Qt9C00ZbQuyAldSDRlCDQvdCw0LTRgtC+INCy0LXQu9C40LrQuNC8INC00LvRjyDQtNC40YHQutCwLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGVuZHMgYmVmb3JlIGl0IHN0YXJ0cy4iCittc2dzdHIgItCg0L7Qt9C00ZbQuyAldSDQt9Cw0LLQtdGA0YjRg9GU0YLRjNGB0Y8g0LTQviDRgdCy0L7Qs9C+INC/0L7Rh9Cw0YLQutGDLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDcKK21zZ2lkICJObyBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyICLQn9C+0LzQuNC70L7QuiDQvdC1INCy0LjRj9Cy0LvQtdC90L4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0OAorIywgYy1mb3JtYXQKK21zZ2lkICJIZWFkZXIgdmVyc2lvbjogJXMiCittc2dzdHIgItCS0LXRgNGB0ZbRjyDQt9Cw0LPQvtC70L7QstC60LA6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0OQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyAldSBvdXQgb2YgJWQgcGFydGl0aW9ucy4iCittc2dzdHIgItCS0LjQutC+0YDQuNGB0YLQvtCy0YPRlNC80L4gJXUg0LcgJWQg0YDQvtC30LTRltC70ZbQsi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudC4iCittc2dpZF9wbHVyYWwgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudHMgKHRoZSBsYXJnZXN0IGlzICVzKS4iCittc2dzdHJbMF0gItCX0LDQs9Cw0LvQvtC8INC00L7RgdGC0YPQv9C90ZYgJWp1INCy0ZbQu9GM0L3QuNGFINGB0LXQutGC0L7RgNGW0LIg0YMgJXUg0YTRgNCw0LPQvNC10L3RgtGWICjQvdCw0LnQsdGW0LvRjNGI0LjQuSAtICVzKS4iCittc2dzdHJbMV0gItCX0LDQs9Cw0LvQvtC8INC00L7RgdGC0YPQv9C90ZYgJWp1INCy0ZbQu9GM0L3QuNGFINGB0LXQutGC0L7RgNGW0LIg0YMgJXUg0YTRgNCw0LPQvNC10L3RgtCw0YUgKNC90LDQudCx0ZbQu9GM0YjQuNC5IC0gJXMpLiIKK21zZ3N0clsyXSAi0JfQsNCz0LDQu9C+0Lwg0LTQvtGB0YLRg9C/0L3RliAlanUg0LLRltC70YzQvdC40YUg0YHQtdC60YLQvtGA0ZbQsiDRgyAldSDRhNGA0LDQs9C80LXQvdGC0LDRhSAo0L3QsNC50LHRltC70YzRiNC40LkgLSAlcykuIgorbXNnc3RyWzNdICLQl9Cw0LPQsNC70L7QvCDQtNC+0YHRgtGD0L/QvdGWICVqdSDQstGW0LvRjNC90LjRhSDRgdC10LrRgtC+0YDRltCyINGDICV1INGE0YDQsNCz0LzQtdC90YLRli4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGVycm9yIGRldGVjdGVkLiIKK21zZ2lkX3BsdXJhbCAiJWQgZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0clswXSAi0JLQuNGP0LLQu9C10L3QviAlZCDQv9C+0LzQuNC70LrRgy4iCittc2dzdHJbMV0gItCS0LjRj9Cy0LvQtdC90L4gJWQg0L/QvtC80LjQu9C60LguIgorbXNnc3RyWzJdICLQktC40Y/QstC70LXQvdC+ICVkINC/0L7QvNC40LvQvtC6LiIKK21zZ3N0clszXSAi0JLQuNGP0LLQu9C10L3QviDQvtC00L3RgyDQv9C+0LzQuNC70LrRgy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQyCittc2dpZCAiQWxsIHBhcnRpdGlvbnMgYXJlIGFscmVhZHkgaW4gdXNlLiIKK21zZ3N0ciAi0JLRgdGWINGA0L7Qt9C00ZbQu9C4INCy0LbQtSDQstC40LrQvtGA0LjRgdGC0LDQvdC+LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOTcgbGliZmRpc2svc3JjL2dwdC5jOjIyMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVqdSBhbHJlYWR5IHVzZWQuIgorbXNnc3RyICLQodC10LrRgtC+0YAgJWp1INCy0LbQtSDQstC40LrQvtGA0LjRgdGC0L7QstGD0ZTRgtGM0YHRjy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDRgdGC0LLQvtGA0LjRgtC4INGA0L7Qt9C00ZbQuyAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBsYXN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICLQntGB0YLQsNC90L3RltC8INC/0YDQuNC00LDRgtC90LjQvCDQtNC+INCy0LjQutC+0YDQuNGB0YLQsNC90L3RjyDRgdC10LrRgtC+0YDQvtC8IEdQVCDRlCAlanUsINCw0LvQtSDQv9C+0YLRgNGW0LHQtdC9ICVqdS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaXJzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAi0J/QtdGA0YjQuNC8INC/0YDQuNC00LDRgtC90LjQvCDQtNC+INCy0LjQutC+0YDQuNGB0YLQsNC90L3RjyDRgdC10LrRgtC+0YDQvtC8IEdQVCDRlCAlanUsINCw0LvQtSDQv9C+0YLRgNGW0LHQtdC9ICVqdS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgR1BUIGRpc2tsYWJlbCAoR1VJRDogJXMpLiIKK21zZ3N0ciAi0KHRgtCy0L7RgNC10L3QviDQvdC+0LLRgyDQvNGW0YLQutGDINC00LjRgdC60LAgR1BUIChHVUlEOiAlcykuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ0NworbXNnaWQgIkVudGVyIG5ldyBkaXNrIFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAi0JLQutCw0LbRltGC0YwgVVVJRCDQvdC+0LLQvtCz0L4g0LTQuNGB0LrQsCAo0YMg0YTQvtGA0LzQsNGC0ZYgOC00LTQtNC0xMikiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDU0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHlvdXIgVVVJRC4iCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDQstC60LDQt9Cw0L3QuNC5INCy0LDQvNC4IFVVSUQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2OAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAi0IbQtNC10L3RgtC40YTRltC60LDRgtC+0YAg0LTQuNGB0LrQsCDQt9C80ZbQvdC10L3QviDQtyAlcyDQvdCwICVzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0ODgKK21zZ2lkICJOb3QgZW5vdWdoIHNwYWNlIGZvciBuZXcgcGFydGl0aW9uIHRhYmxlISIKK21zZ3N0ciAi0J3QtdC00L7RgdGC0LDRgtC90YzQviDQv9GA0L7RgdGC0L7RgNGDINC00LvRjyDQvdC+0LLQvtGXINGC0LDQsdC70LjRhtGWINGA0L7Qt9C00ZbQu9GW0LIhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5NworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV1IG91dCBvZiByYW5nZSAobWluaW1hbCBzdGFydCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgItCg0L7Qt9C00ZbQuyAldSDQu9C10LbQuNGC0Ywg0L/QvtC30LAg0L/RgNC40L/Rg9GB0YLQuNC80LjQvCDQtNGW0LDQv9Cw0LfQvtC90L7QvCAo0LzRltC90ZbQvNCw0LvRjNC90LjQvCDQv9C+0YfQsNGC0LrQvtC8INGUICU8UFJJdTY0PiDRgdC10LrRgtC+0YDRltCyKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMldSBvdXQgb2YgcmFuZ2UgKG1heGltYWwgZW5kIGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAi0KDQvtC30LTRltC7ICV1INC70LXQttC40YLRjCDQv9C+0LfQsCDQv9GA0LjQv9GD0YHRgtC40LzQuNC8INC00ZbQsNC/0LDQt9C+0L3QvtC8ICjQvNCw0LrRgdC40LzQsNC70YzQvdC40Lwg0LrRltC90YbQtdC8INGUICU8UFJJdTY0PiDRgdC10LrRgtC+0YDRltCyKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBudW1iZXIgb2YgdGhlIHBhcnRpdGlvbiBoYXMgYmUgc21hbGxlciB0aGFuICV6dS4iCittc2dzdHIgItCS0LbQtSDRgdGC0LLQvtGA0LXQvdC+INC80LDQutGB0LjQvNCw0LvRjNC90YMg0LrRltC70YzQutGW0YHRgtGMINGA0L7Qt9C00ZbQu9GW0LIuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU2MworbXNnaWQgIkNhbm5vdCBhbGxvY2F0ZSBtZW1vcnkhIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINGA0L7Qt9C/0L7QtNGW0LvQuNGC0Lgg0L/QsNC84oCZ0Y/RgtGMISIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGxlbmd0aCBjaGFuZ2VkIGZyb20gJTxQUkl1MzI+IHRvICU8UFJJdTY0Pi4iCittc2dzdHIgItCU0L7QstC20LjQvdGDINGC0LDQsdC70LjRhtGWINGA0L7Qt9C00ZbQu9GW0LIg0LfQvNGW0L3QtdC90L4g0LcgJTxQUkl1MzI+INC90LAgJTxQUkl1NjQ+LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGF0dHJpYnV0ZXMgb24gcGFydGl0aW9uICV6dSBjaGFuZ2VkIHRvIDB4JTAxNjxQUkl4NjQ+LiIKK21zZ3N0ciAi0JDRgtGA0LjQsdGD0YLQuCDQvdCwINGA0L7Qt9C00ZbQu9GWICV6dSDQt9C80ZbQvdC10L3QviDQvdCwIDB4JTAxNjxQUkl4NjQ+LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NDIKK21zZ2lkICJFbnRlciBHVUlEIHNwZWNpZmljIGJpdCIKK21zZ3N0ciAi0JLQstC10LTRltGC0Ywg0YHQv9C10YbQuNGE0ZbRh9C90LjQuSDQtNC70Y8gR1VJRCDQsdGW0YIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB0b2dnbGUgdW5zdXBwb3J0ZWQgYml0ICVsdSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQv9C10YDQtdC80LrQvdGD0YLQuCDQvdC10L/RltC00YLRgNC40LzRg9Cy0LDQvdC40Lkg0LHRltGCICVsdSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICLQotC10L/QtdGAINGB0L/QtdGG0LjRhNGW0YfQvdC40Lkg0LTQu9GPIEdVSUQg0LHRltGCICVkINC90LAg0YDQvtC30LTRltC70ZYgJXp1INGD0LLRltC80LrQvdC10L3Qvi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzcxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgItCi0LXQv9C10YAg0YHQv9C10YbQuNGE0ZbRh9C90LjQuSDQtNC70Y8gR1VJRCDQsdGW0YIgJWQg0L3QsCDRgNC+0LfQtNGW0LvRliAlenUg0LLQuNC80LrQvdC10L3Qvi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICLQotC10L/QtdGAINC/0YDQsNC/0L7RgNC10YbRjCAlcyDQvdCwINGA0L7Qt9C00ZbQu9GWICV6dSDRg9Cy0ZbQvNC60L3QtdC90L4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgItCi0LXQv9C10YAg0L/RgNCw0L/QvtGA0LXRhtGMICVzINC90LAg0YDQvtC30LTRltC70ZYgJXp1INCy0LjQvNC60L3QtdC90L4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxOAorbXNnaWQgIlR5cGUtVVVJRCIKK21zZ3N0ciAi0KLQuNC/LVVVSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE5Cittc2dpZCAiVVVJRCIKK21zZ3N0ciAiVVVJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MjAgbG9naW4tdXRpbHMvY2hmbi5jOjE1MCBsb2dpbi11dGlscy9jaGZuLmM6MTUyCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzA3Cittc2dpZCAiTmFtZSIKK21zZ3N0ciAi0J3QsNC30LLQsCIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjg0MAorbXNnaWQgIkZyZWUgc3BhY2UiCittc2dzdHIgItCS0ZbQu9GM0L3QuNC5INC/0YDQvtGB0YLRltGAIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6MTIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiAjJXp1LiIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQt9C80ZbQvdC40YLQuCDRgNC+0LfQvNGW0YDQuCDRgNC+0LfQtNGW0LvRgyAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvcGFydHR5cGUuYzoyNTkgbWlzYy11dGlscy9maW5kbW50LmM6NjU1IHNjaGVkdXRpbHMvY2hydC5jOjIwNgorIzogc2NoZWR1dGlscy9pb25pY2UuYzo3OSBzeXMtdXRpbHMvaHdjbG9jay5jOjMzNAorbXNnaWQgInVua25vd24iCittc2dzdHIgItC90LXQstGW0LTQvtC80LjQuSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ3Cittc2dpZCAiU0dJIHZvbGhkciIKK21zZ3N0ciAiU0dJIHZvbGhkciIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ4Cittc2dpZCAiU0dJIHRya3JlcGwiCittc2dzdHIgIlNHSSB0cmtyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDkKK21zZ2lkICJTR0kgc2VjcmVwbCIKK21zZ3N0ciAiU0dJIHNlY3JlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MAorbXNnaWQgIlNHSSByYXciCittc2dzdHIgIlNHSSByYXciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MQorbXNnaWQgIlNHSSBic2QiCittc2dzdHIgIlNHSSBic2QiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MgorbXNnaWQgIlNHSSBzeXN2IgorbXNnc3RyICJTR0kgc3lzdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUzCittc2dpZCAiU0dJIHZvbHVtZSIKK21zZ3N0ciAiU0dJINGC0L7QvCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU0Cittc2dpZCAiU0dJIGVmcyIKK21zZ3N0ciAiU0dJIGVmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU1Cittc2dpZCAiU0dJIGx2b2wiCittc2dzdHIgIlNHSSBsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTYKK21zZ2lkICJTR0kgcmx2b2wiCittc2dzdHIgIlNHSSBybHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU3Cittc2dpZCAiU0dJIHhmcyIKK21zZ3N0ciAiU0dJIHhmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU4Cittc2dpZCAiU0dJIHhmc2xvZyIKK21zZ3N0ciAiU0dJIHhmc2xvZyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5Cittc2dpZCAiU0dJIHhsdiIKK21zZ3N0ciAiU0dJIHhsdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYwCittc2dpZCAiU0dJIHh2bSIKK21zZ3N0ciAiU0dJIHh2bSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyIGxpYmZkaXNrL3NyYy9zdW4uYzo1MworbXNnaWQgIkxpbnV4IG5hdGl2ZSIKK21zZ3N0ciAiTGludXggbmF0aXZlIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTU5Cittc2dpZCAiU0dJIGluZm8gY3JlYXRlZCBvbiBzZWNvbmQgc2VjdG9yLiIKK21zZ3N0ciAi0JTQsNC90ZYgU0dJINGB0YLQstC+0YDQtdC90L4g0L3QsCDQtNGA0YPQs9C+0LzRgyDRgdC10LrRgtC+0YDRli4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyNTkKK21zZ2lkICJEZXRlY3RlZCBhbiBTR0kgZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIgorbXNnc3RyICLQl9C90LDQudC00LXQvdC+INC80ZbRgtC60YMg0LTQuNGB0LrQsCBTR0kg0Lcg0L3QtdC/0YDQsNCy0LjQu9GM0L3QvtGOINC60L7QvdGC0YDQvtC70YzQvdC+0Y4g0YHRg9C80L7Rji4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODIgbGliZmRpc2svc3JjL3N1bi5jOjc3MAorbXNnaWQgIlBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAi0KTRltC30LjRh9C90LjRhSDRhtC40LvRltC90LTRgNGW0LIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODcgbGliZmRpc2svc3JjL3N1bi5jOjc3NQorbXNnaWQgIkV4dHJhIHNlY3RzL2N5bCIKK21zZ3N0ciAi0JTQvtC00LDRgtC60L7QstC40YUg0YHQtdC60YLQvtGA0ZbQsiDRgyDRhtC40LvRltC90LTRgNGWIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjk3Cittc2dpZCAiQm9vdGZpbGUiCittc2dzdHIgItCk0LDQudC7INC30LDQstCw0L3RgtCw0LbQtdC90L3RjyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjM5NQorbXNnaWQgIkludmFsaWQgYm9vdGZpbGUhICBUaGUgYm9vdGZpbGUgbXVzdCBiZSBhbiBhYnNvbHV0ZSBub24temVybyBwYXRobmFtZSwgZS5nLiBcIi91bml4XCIgb3IgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICLQndC10L/RgNCw0LLQuNC70YzQvdC40Lkg0LfQsNCy0LDQvdGC0LDQttGD0LLQsNC70YzQvdC40Lkg0YTQsNC50LshINCX0LDQstCw0L3RgtCw0LbRg9Cy0LDQu9GM0L3QuNC5INGE0LDQudC7INC/0L7QstC40L3QtdC9INC80LDRgtC4INC90LXQvdGD0LvRjNC+0LLQuNC5INCw0LHRgdC+0LvRjtGC0L3QuNC5INGI0LvRj9GFLCDQvdCw0L/RgNC40LrQu9Cw0LQgXCIvdW5peFwiINCw0LHQviBcIi91bml4LnNhdmVcIi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGUgbWF4aW11bS4iCittc2dpZF9wbHVyYWwgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlcyBtYXhpbXVtLiIKK21zZ3N0clswXSAi0J3QsNC30LLQsCDQt9Cw0LLQsNC90YLQsNC20YPQstCw0LvRjNC90L7Qs9C+INGE0LDQudC70LAg0ZQg0L3QsNC00YLQviDQtNC+0LLQs9C+0Y46INC90LDQt9Cy0LAg0L3QtSDQv9C+0LLQuNC90L3QsCDQv9C10YDQtdCy0LjRidGD0LLQsNGC0Lgg0LfQsCDRgNC+0LfQvNGW0YDQvtC8ICV6dSDQsdCw0LnRgi4iCittc2dzdHJbMV0gItCd0LDQt9Cy0LAg0LfQsNCy0LDQvdGC0LDQttGD0LLQsNC70YzQvdC+0LPQviDRhNCw0LnQu9CwINGUINC90LDQtNGC0L4g0LTQvtCy0LPQvtGOOiDQvdCw0LfQstCwINC90LUg0L/QvtCy0LjQvdC90LAg0L/QtdGA0LXQstC40YnRg9Cy0LDRgtC4INC30LAg0YDQvtC30LzRltGA0L7QvCAlenUg0LHQsNC50YLQuC4iCittc2dzdHJbMl0gItCd0LDQt9Cy0LAg0LfQsNCy0LDQvdGC0LDQttGD0LLQsNC70YzQvdC+0LPQviDRhNCw0LnQu9CwINGUINC90LDQtNGC0L4g0LTQvtCy0LPQvtGOOiDQvdCw0LfQstCwINC90LUg0L/QvtCy0LjQvdC90LAg0L/QtdGA0LXQstC40YnRg9Cy0LDRgtC4INC30LAg0YDQvtC30LzRltGA0L7QvCAlenUg0LHQsNC50YLRltCyLiIKK21zZ3N0clszXSAi0J3QsNC30LLQsCDQt9Cw0LLQsNC90YLQsNC20YPQstCw0LvRjNC90L7Qs9C+INGE0LDQudC70LAg0ZQg0L3QsNC00YLQviDQtNC+0LLQs9C+0Y46INC90LDQt9Cy0LAg0L3QtSDQv9C+0LLQuNC90L3QsCDQv9C10YDQtdCy0LjRidGD0LLQsNGC0Lgg0LfQsCDRgNC+0LfQvNGW0YDQvtC8ICV6dSDQsdCw0LnRgi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDgKK21zZ2lkICJCb290ZmlsZSBtdXN0IGhhdmUgYSBmdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUuIgorbXNnc3RyICLQodC70ZbQtCDQstC60LDQt9GD0LLQsNGC0Lgg0L/QvtCy0L3QuNC5INGI0LvRj9GFINC00L4g0LfQsNCy0LDQvdGC0LDQttGD0LLQsNC70YzQvdC+0LPQviDRhNCw0LnQu9CwLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQxNAorbXNnaWQgIkJlIGF3YXJlIHRoYXQgdGhlIGJvb3RmaWxlIGlzIG5vdCBjaGVja2VkIGZvciBleGlzdGVuY2UuICBTR0kncyBkZWZhdWx0IGlzIFwiL3VuaXhcIiwgYW5kIGZvciBiYWNrdXAgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICLQn9Cw0LzigJnRj9GC0LDQudGC0LUsINGJ0L4g0ZbRgdC90YPQstCw0L3QvdGPINC30LDQstCw0L3RgtCw0LbRg9Cy0LDQu9GM0L3QvtCz0L4g0YTQsNC50LvRgyDQvdC1INC/0LXRgNC10LLRltGA0Y/RlNGC0YzRgdGPLiDQotC40L/QvtCy0LjQvNC4INC00LvRjyBTR0kg0ZQgXCIvdW5peFwiINGC0LAg0YDQtdC30LXRgNCy0L3QsCDQutC+0L/RltGPIFwiL3VuaXguc2F2ZVwiLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgY3VycmVudCBib290IGZpbGUgaXM6ICVzIgorbXNnc3RyICLQn9C+0YLQvtGH0L3QuNC5INC30LDQstCw0L3RgtCw0LbRg9Cy0LDQu9GM0L3QuNC5INGE0LDQudC7OiAlcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0MQorbXNnaWQgIkVudGVyIG9mIHRoZSBuZXcgYm9vdCBmaWxlIgorbXNnc3RyICLQktC60LDQttGW0YLRjCDQvdCw0LfQstGDINC90L7QstC+0LPQviDQt9Cw0LLQsNC90YLQsNC20YPQstCw0LvRjNC90L7Qs9C+INGE0LDQudC70LAiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDYKK21zZ2lkICJCb290IGZpbGUgaXMgdW5jaGFuZ2VkLiIKK21zZ3N0ciAi0JfQsNCy0LDQvdGC0LDQttGD0LLQsNC70YzQvdC40Lkg0YTQsNC50Lsg0L3QtSDQt9C80ZbQvdC10L3Qvi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdGZpbGUgaGFzIGJlZW4gY2hhbmdlZCB0byBcIiVzXCIuIgorbXNnc3RyICLQl9Cw0LLQsNC90YLQsNC20YPQstCw0LvRjNC90LjQuSDRhNCw0LnQuyDQt9C80ZbQvdC10L3QviDQvdCwIFwiJXNcIi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OTYKK21zZ2lkICJNb3JlIHRoYW4gb25lIGVudGlyZSBkaXNrIGVudHJ5IHByZXNlbnQuIgorbXNnc3RyICLQnNCw0ZTQvNC+INC00LXQutGW0LvRjNC60LAg0LfQsNC/0LjRgdGW0LIg0YbRltC70L7Qs9C+INC00LjRgdC60LAuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAzIGxpYmZkaXNrL3NyYy9zdW4uYzo0NTgKK21zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQuIgorbXNnc3RyICLQndC1INCy0LjQt9C90LDRh9C10L3QviDRgNC+0LfQtNGW0LvRltCyLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxMworbXNnaWQgIklSSVggbGlrZXMgaXQgd2hlbiBwYXJ0aXRpb24gMTEgY292ZXJzIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIklSSVgg0L/QvtC60LvQsNC00LDRlNGC0YzRgdGPINC90LAg0YLQtSwg0YnQviDRgNC+0LfQtNGW0LsgMTEg0LfQsNC50LzQsNGUINCy0LXRgdGMINC00LjRgdC6LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxNworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIHNob3VsZCBzdGFydCBhdCBibG9jayAwLCBub3QgYXQgYmxvY2sgJWQuIgorbXNnc3RyICLQoNC+0LfQtNGW0Lsg0L3QsCDQstC10YHRjCDQtNC40YHQuiDQv9C+0LLQuNC90LXQvSDQv9C+0YfQuNC90LDRgtC40YHRjCDQtyDQsdC70L7QutGDIDAsINCwINC90LUg0Lcg0LHQu9C+0LrRgyAlZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MjgKK21zZ2lkICJQYXJ0aXRpb24gMTEgc2hvdWxkIGNvdmVyIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgItCg0L7Qt9C00ZbQuyAxMSDQvNCw0ZQg0LfQsNC/0L7QstC90Y7QstCw0YLQuCDQstC10YHRjCDQtNC40YHQui4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3IuIgorbXNnaWRfcGx1cmFsICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3RvcnMuIgorbXNnc3RyWzBdICLQoNC+0LfQtNGW0LvQuCAlZCDRgtCwICVkINC/0LXRgNC10LrRgNC40LLQsNGO0YLRjNGB0Y8g0L3QsCAlZCDRgdC10LrRgtC+0YAuIgorbXNnc3RyWzFdICLQoNC+0LfQtNGW0LvQuCAlZCDRgtCwICVkINC/0LXRgNC10LrRgNC40LLQsNGO0YLRjNGB0Y8g0L3QsCAlZCDRgdC10LrRgtC+0YDQuC4iCittc2dzdHJbMl0gItCg0L7Qt9C00ZbQu9C4ICVkINGC0LAgJWQg0L/QtdGA0LXQutGA0LjQstCw0Y7RgtGM0YHRjyDQvdCwICVkINGB0LXQutGC0L7RgNGW0LIuIgorbXNnc3RyWzNdICLQoNC+0LfQtNGW0LvQuCAlZCDRgtCwICVkINC/0LXRgNC10LrRgNC40LLQsNGO0YLRjNGB0Y8g0L3QsCAlZCDRgdC10LrRgtC+0YAuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjYzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yOiBzZWN0b3IgJTh1IgorbXNnaWRfcGx1cmFsICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3JzOiBzZWN0b3JzICU4dS0ldSIKK21zZ3N0clswXSAi0J3QtdCy0LjQutC+0YDQuNGB0YLQsNC90LjQuSDQv9GA0L7RgdGC0ZbRgCDQtyAlOHUg0YHQtdC60YLQvtGA0LAgLSDRgdC10LrRgtC+0YDQuCAlOHUtJXUiCittc2dzdHJbMV0gItCd0LXQstC40LrQvtGA0LjRgdGC0LDQvdC40Lkg0L/RgNC+0YHRgtGW0YAg0LcgJTh1INGB0LXQutGC0L7RgNC4IC0g0YHQtdC60YLQvtGA0LggJTh1LSV1IgorbXNnc3RyWzJdICLQndC10LLQuNC60L7RgNC40YHRgtCw0L3QuNC5INC/0YDQvtGB0YLRltGAINC3ICU4dSDRgdC10LrRgtC+0YDRltCyIC0g0YHQtdC60YLQvtGA0LggJTh1LSV1IgorbXNnc3RyWzNdICLQndC10LLQuNC60L7RgNC40YHRgtCw0L3QuNC5INC/0YDQvtGB0YLRltGAINC3ICU4dSDRgdC10LrRgtC+0YAgLSDRgdC10LrRgtC+0YDQuCAlOHUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2OTgKK21zZ2lkICJUaGUgYm9vdCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICLQl9Cw0LLQsNC90YLQsNC20YPQstCw0LvRjNC90L7Qs9C+INGA0L7Qt9C00ZbQu9GDINC90LUg0ZbRgdC90YPRlC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDIKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICLQoNC+0LfQtNGW0LvRgyDRgdCy0L7Qv9GW0L3Qs9GDINC90LUg0ZbRgdC90YPRlC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDYKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gaGFzIG5vIHN3YXAgdHlwZS4iCittc2dzdHIgItCg0L7Qt9C00ZbQuyDRgdCy0L7Qv9GW0L3Qs9GDINC90LUg0L3QsNC70LXQttC40YLRjCDQtNC+INGC0LjQv9GDINGA0L7Qt9C00ZbQu9GW0LIg0YHQstC+0L/RltC90LPRgyAoc3dhcCkuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA5Cittc2dpZCAiWW91IGhhdmUgY2hvc2VuIGFuIHVudXN1YWwgYm9vdGZpbGUgbmFtZS4iCittc2dzdHIgItCS0Lgg0LLQuNCx0YDQsNC70Lgg0L3QtdGC0LjQv9C+0LLRgyDQvdCw0LfQstGDINGE0LDQudC70YMg0LfQsNCy0LDQvdGC0LDQttC10L3QvdGPLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjc1OQorbXNnaWQgIlBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiIKK21zZ3N0ciAi0J/QtdGA0LXQutGA0LjRgtGC0Y8g0YDQvtC30LTRltC70ZbQsiDQvdCwINC00LjRgdC60YMuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQ0Cittc2dpZCAiQXR0ZW1wdGluZyB0byBnZW5lcmF0ZSBlbnRpcmUgZGlzayBlbnRyeSBhdXRvbWF0aWNhbGx5LiIKK21zZ3N0ciAi0KHQv9GA0L7QsdCwINGB0YLQstC+0YDQuNGC0Lgg0LLQtdGB0Ywg0LTQuNGB0Log0LDQstGC0L7QvNCw0YLQuNGH0L3Qvi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDkKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgaXMgYWxyZWFkeSBjb3ZlcmVkIHdpdGggcGFydGl0aW9ucy4iCittc2dzdHIgItCS0LXRgdGMINC00LjRgdC6INCy0LbQtSDQt9Cw0LnQvdGP0YLQuNC5INGA0L7Qt9C00ZbQu9Cw0LzQuC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NTMKK21zZ2lkICJZb3UgZ290IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCEiCittc2dzdHIgItCd0LAg0LTQuNGB0LrRgyDRlCDRgNC+0LfQtNGW0LvQuCwg0YnQviDQv9C10YDQtdC60YDQuNCy0LDRjtGC0YzRgdGPLiDQodC/0L7Rh9Cw0YLQutGDINCy0LjQv9GA0LDQstGC0LUg0YbQtSEiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NzUgbGliZmRpc2svc3JjL3N1bi5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICJGaXJzdCAlcyIKK21zZ3N0ciAi0J/QtdGA0YjQuNC5ICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODk5IGxpYmZkaXNrL3NyYy9zZ2kuYzo5NDkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgZWxldmVudGggcGFydGl0aW9uIGNvdmVycyB0aGUgZW50aXJlIGRpc2sgYW5kIGlzIG9mIHR5cGUgJ1NHSSB2b2x1bWUnLiIKK21zZ3N0ciAi0J3QsNC/0L7Qu9C10LPQu9C40LLQviDRgNC10LrQvtC80LXQvdC00YPRlNGC0YzRgdGPLCDRidC+0LEg0L7QtNC40L3QsNC00YbRj9GC0LjQuSDRgNC+0LfQtNGW0Lsg0LfQsNC50LzQsNCyINGD0LLQtdGB0Ywg0LTQuNGB0Log0YLQsCDQvdCw0LvQtdC20LDQsiDQtNC+INGC0LjQv9GDIMKrU0dJIHZvbHVtZcK7LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjkxNCBsaWJmZGlzay9zcmMvc3VuLmM6NjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgJXMgb3IgKyVzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgItCe0YHRgtCw0L3QvdGW0LkgJXMg0LDQsdC+ICslcywg0LDQsdC+ICtzaXple0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5ODUgbGliZmRpc2svc3JjL3N1bi5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi4iCittc2dzdHIgItCk0YPQvdC60YbRltGPIEJMS0dFVFNJWkUgaW9jdGwg0LDQstCw0YDRltC50L3QviDQt9Cw0LLQtdGA0YjQuNC70LAg0YDQvtCx0L7RgtGDINC90LAgJXMuINCS0LjQutC+0YDQuNGB0YLQvtCy0YPRlNGC0YzRgdGPINC30L3QsNGH0LXQvdC90Y8g0LPQtdC+0LzQtdGC0YDRltGXINGG0LjQu9GW0L3QtNGA0LAgJWxsdS4g0KbQtSDQt9C90LDRh9C10L3QvdGPINC80L7QttC1INCx0YPRgtC4INC+0LHRgNGW0LfQsNC90LUg0LTQu9GPINC/0YDQuNGB0YLRgNC+0ZfQsiA+IDMzLDgg0JPQkS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDUxCittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTR0kgZGlza2xhYmVsLiIKK21zZ3N0ciAi0KHRgtCy0L7RgNC10L3QviDQvdC+0LLRgyDQvNGW0YLQutGDINC00LjRgdC60LAgU0dJLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNzAKK21zZ2lkICJTb3JyeSwgb25seSBmb3Igbm9uLWVtcHR5IHBhcnRpdGlvbnMgeW91IGNhbiBjaGFuZ2UgdGhlIHRhZy4iCittc2dzdHIgItCS0LjQsdCw0YfRgtC1LCDQt9C80ZbQvdGO0LLQsNGC0Lgg0YLQtdKRINC80L7QttC90LAg0LvQuNGI0LUg0LTQu9GPINC90LXQv9C+0YDQvtC20L3RltGFINGA0L7Qt9C00ZbQu9GW0LIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3NgorbXNnaWQgIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDkgYXMgdm9sdW1lIGhlYWRlciAoMCksIGFuZCBwYXJ0aXRpb24gMTEgYXMgZW50aXJlIHZvbHVtZSAoNiksIGFzIElSSVggZXhwZWN0cyBpdC4iCittc2dzdHIgItCS0LDQvCDQstCw0YDRgtC+INC30YDQvtCx0LjRgtC4INGA0L7Qt9C00ZbQuyA5INC30LDQs9C+0LvQvtCy0LrQvtC8INGC0L7QvNGDICgwKSwg0LAg0YDQvtC30LTRltC7IDExINC/0L7QstC90LjQvCDRgtC+0LzQvtC8ICg2KSwg0Y/QuiDRhtC1INC+0YfRltC60YPRlNGC0YzRgdGPIElSSVguIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA4NQorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDAgaXMgb2YgdHlwZSBcIlNHSSB2b2xoZHJcIiwgdGhlIElSSVggc3lzdGVtIHdpbGwgcmVseSBvbiBpdCB0byByZXRyaWV2ZSBmcm9tIGl0cyBkaXJlY3Rvcnkgc3RhbmRhbG9uZSB0b29scyBsaWtlIHNhc2ggYW5kIGZ4LiBPbmx5IHRoZSBcIlNHSSB2b2x1bWVcIiBlbnRpcmUgZGlzayBzZWN0aW9uIG1heSB2aW9sYXRlIHRoaXMuIEFyZSB5b3Ugc3VyZSBhYm91dCB0YWdnaW5nIHRoaXMgcGFydGl0aW9uIGRpZmZlcmVudGx5PyIKK21zZ3N0ciAi0J3QsNC/0L7Qu9C10LPQu9C40LLQviDRgNC10LrQvtC80LXQvdC00YPRlNGC0YzRgdGPLCDRidC+0LEg0YLQuNC/INGA0L7Qt9C00ZbQu9GDINC30ZYg0LfRgdGD0LLQvtC8IDAg0LHRg9CyIFwiU0dJIHZvbGhkclwiLCBJUklYINGB0LjRgdGC0LXQvNCwINC/0L7QutC70LDQtNCw0ZTRgtGM0YHRjyDQvdCwINGG0LUg0L/RgNC4INC+0YLRgNC40LzQsNC90L3RliDQtyDRl9GXINC60LDRgtCw0LvQvtCz0YMg0L7QutGA0LXQvNC40YUg0YPRgtC40LvRltGCLCDQvdCw0L/RgNC40LrQu9Cw0LQgc2FzaCDRgtCwIGZ4LiDQndC1INC00L7RgtGA0LjQvNGD0LLQsNGC0LjRgdGMINGG0YzQvtCz0L4g0LzQvtC20YPRgtGMINC70LjRiNC1IFwiU0dJIHZvbHVtZVwiINC90LAg0LLQtdGB0Ywg0LTQuNGB0LouINCS0Lgg0YHQv9GA0LDQstC00ZYg0LLQv9C10LLQvdC10L3Rliwg0YnQviDRhdC+0YfQtdGC0LUg0L/QvtC30L3QsNGH0LjRgtC4INGG0LXQuSDRgNC+0LfQtNGW0Lsg0L/Qvi3RltC90YjQvtC80YM/IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDAKK21zZ2lkICJVbmFzc2lnbmVkIgorbXNnc3RyICLQndC1INC/0YDQuNC30L3QsNGH0LXQvdC+IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDIKK21zZ2lkICJTdW5PUyByb290IgorbXNnc3RyICJTdW5PUyByb290IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDMKK21zZ2lkICJTdW5PUyBzd2FwIgorbXNnc3RyICJTdW5PUyBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDQKK21zZ2lkICJTdW5PUyB1c3IiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ1Cittc2dpZCAiV2hvbGUgZGlzayIKK21zZ3N0ciAi0JLQtdGB0Ywg0LTQuNGB0LoiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NgorbXNnaWQgIlN1bk9TIHN0YW5kIgorbXNnc3RyICJTdW5PUyBzdGFuZCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ3Cittc2dpZCAiU3VuT1MgdmFyIgorbXNnc3RyICJTdW5PUyB2YXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0OAorbXNnaWQgIlN1bk9TIGhvbWUiCittc2dzdHIgIlN1bk9TIGhvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0OQorbXNnaWQgIlN1bk9TIGFsdCBzZWN0b3JzIgorbXNnc3RyICJTdW5PUywg0LDQu9GM0YLQtdGA0L3QsNGC0LjQstC90ZYg0YHQtdC60YLQvtGA0LgiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MAorbXNnaWQgIlN1bk9TIGNhY2hlZnMiCittc2dzdHIgIlN1bk9TIGNhY2hlZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MQorbXNnaWQgIlN1bk9TIHJlc2VydmVkIgorbXNnc3RyICJTdW5PUyByZXNlcnZlZCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEzNworbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4gUHJvYmFibHkgeW91J2xsIGhhdmUgdG8gc2V0IGFsbCB0aGUgdmFsdWVzLCBlLmcuIGhlYWRzLCBzZWN0b3JzLCBjeWxpbmRlcnMgYW5kIHBhcnRpdGlvbnMgb3IgZm9yY2UgYSBmcmVzaCBsYWJlbCAocyBjb21tYW5kIGluIG1haW4gbWVudSkiCittc2dzdHIgItCX0L3QsNC50LTQtdC90L4g0LzRltGC0LrRgyDQtNC40YHQutCwIHN1biDQtyDQvdC10L/RgNCw0LLQuNC70YzQvdC+0Y4g0LrQvtC90YLRgNC+0LvRjNC90L7RjiDRgdGD0LzQvtGOLiDQnNC+0LbQu9C40LLQviwg0YHQu9GW0LQg0L/QtdGA0LXQstGB0YLQsNC90L7QstC40YLQuCDQstGB0ZYg0LfQvdCw0YfQtdC90L3Rjywg0LfQvtC60YDQtdC80LAg0LrRltC70YzQutGW0YHRgtGMINCz0L7Qu9GW0LLQvtC6LCDRgdC10LrRgtC+0YDRltCyLCDRhtC40LvRltC90LTRgNGW0LIg0YLQsCDRgNC+0LfQtNGW0LvRltCyINCw0LHQviDQv9GA0LjQvNGD0YHQvtCy0L4g0YHQv9C+0YDQvtC20L3QuNGC0Lgg0LzRltGC0LrRgyAo0LrQvtC80LDQvdC00LAgcyDRgyDQs9C+0LvQvtCy0L3QvtC80YMg0LzQtdC90Y4pIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2ZXJzaW9uIFslZF0uIgorbXNnc3RyICLQktC40Y/QstC70LXQvdC+INC80ZbRgtC60YMg0LTQuNGB0LrQsCBzdW4g0Lcg0L/QvtC80LjQu9C60L7QstC+0Y4g0LLQtdGA0YHRltGU0Y4gWyVkXS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2Muc2FuaXR5IFsweCUwOHhdLiIKK21zZ3N0ciAi0JLQuNGP0LLQu9C10L3QviDQvNGW0YLQutGDINC00LjRgdC60LAgc3VuINC3INC/0L7QvNC40LvQutC+0LLQuNC8INC30L3QsNGH0LXQvdC90Y/QvCB2dG9jLnNhbml0eSBbMHglMDh4XS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2MubnBhcnRzIFsldV0uIgorbXNnc3RyICLQktC40Y/QstC70LXQvdC+INC80ZbRgtC60YMg0LTQuNGB0LrQsCBTdW4g0Lcg0L/QvtC80LjQu9C60L7QstC40Lwg0LfQvdCw0YfQtdC90L3Rj9C8ICB2dG9jLm5wYXJ0cyBbJXVdLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2NQorbXNnaWQgIldhcm5pbmc6IFdyb25nIHZhbHVlcyBuZWVkIHRvIGJlIGZpeGVkIHVwIGFuZCB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpIgorbXNnc3RyICLQn9C+0L/QtdGA0LXQtNC20LXQvdC90Y86INC/0L7QvNC40LvQutC+0LLRliDQt9C90LDRh9C10L3QvdGPINGB0LvRltC0INCy0LjQv9GA0LDQstC40YLQuCwg0ZfRhSDQsdGD0LTQtSDQstC40L/RgNCw0LLQu9C10L3QviDQutC+0LzQsNC90LTQvtGOIHcocml0ZSkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTIKK21zZ2lkICJIZWFkcyIKK21zZ3N0ciAi0JPQvtC70L7QstC60LgiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTQKK21zZ2lkICJTZWN0b3JzL3RyYWNrIgorbXNnc3RyICLQodC10LrRgtC+0YDRltCyL9C00L7RgNGW0LbQutGDIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Mjk3Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTdW4gZGlza2xhYmVsLiIKK21zZ3N0ciAi0KHRgtCy0L7RgNC10L3QviDQvdC+0LLRgyDQvNGW0YLQutGDINC00LjRgdC60LAgU3VuLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZG9lc24ndCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICLQoNC+0LfQtNGW0LsgJXUg0L3QtSDQt9Cw0LrRltC90YfRg9GU0YLRjNGB0Y8g0L3QsCDQvNC10LbRliDRhtC40LvRltC90LTRgNCwLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzNQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBvdGhlcnMgaW4gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgItCg0L7Qt9C00ZbQuyAldSDQv9C10YDQtdC60YDQuNCy0LDRlNGC0YzRgdGPINC3INGW0L3RiNC40Lwg0YMg0YHQtdC60YLQvtGA0LDRhSAldS0ldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgMC0ldS4iCittc2dzdHIgItCd0LXQstC40LrQvtGA0LjRgdGC0LDQvdC40Lkg0L/RgNC+0YHRgtGW0YAgLSDRgdC10LrRgtC+0YDQuCAwLSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NSBsaWJmZGlzay9zcmMvc3VuLmM6NDcxCisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAi0J3QtdCy0LjQutC+0YDQuNGB0YLQsNC90LjQuSDQv9GA0L7RgdGC0ZbRgCAtINGB0LXQutGC0L7RgNC4ICV1LSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUyOAorbXNnaWQgIk90aGVyIHBhcnRpdGlvbnMgYWxyZWFkeSBjb3ZlciB0aGUgd2hvbGUgZGlzay4gRGVsZXRlIHNvbWUvc2hyaW5rIHRoZW0gYmVmb3JlIHJldHJ5LiIKK21zZ3N0ciAi0IbQvdGI0ZYg0YDQvtC30LTRltC70Lgg0LLQttC1INC30LDQudC80LDRjtGC0Ywg0LLQtdGB0Ywg0LTQuNGB0LouINCS0LjQu9GD0YfRltGC0Ywg0YfQsNGB0YLQuNC90YMv0LfQvNC10L3RiNGW0YLRjCDRl9GFINGA0L7Qt9C80ZbRgCDQv9C10YDQtdC0INGB0L/RgNC+0LHQvtGOLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU5MworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWQgaXMgYWxyZWFkeSBhbGxvY2F0ZWQiCittc2dzdHIgItCh0LXQutGC0L7RgCAlZCDQstC20LUg0YDQvtC30L/QvtC00ZbQu9C10L3QviIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYwMAorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSB0aGlyZCBwYXJ0aXRpb24gY292ZXJzIHRoZSB3aG9sZSBkaXNrIGFuZCBpcyBvZiB0eXBlIGBXaG9sZSBkaXNrJyIKK21zZ3N0ciAi0J3QsNC/0L7Qu9C10LPQu9C40LLQviDRgNC10LrQvtC80LXQvdC00YPRlNC80L4g0LfRgNC+0LHQuNGC0Lgg0YLQsNC6LCDRidC+0LEg0YLRgNC10YLRltC5INGA0L7Qt9C00ZbQuyDQt9Cw0LnQvNCw0LIg0LLQtdGB0Ywg0LTQuNGB0Log0YLQsCDQvdCw0LvQtdC20LDQsiDQtNC+INGC0LjQv9GDIMKr0JLQtdGB0Ywg0LTQuNGB0LrCuyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYxMAorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbmluZyB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gJXUgdG8gJXUgdG8gYmUgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICLQktC40YDRltCy0L3RjtGU0LzQviDQv9C10YDRiNC40Lkg0YHQtdC60YLQvtGAINC3ICV1INC00L4gJXUg0YLQsNC6LCDRidC+0LEg0LLRltC9INC/0LXRgNC10LHRg9Cy0LDQsiDQvdCwINC80LXQttGWINGG0LjQu9GW0L3QtNGA0ZbQsi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBoYXZlbid0IGNvdmVyZWQgdGhlIHdob2xlIGRpc2sgd2l0aCB0aGUgM3JkIHBhcnRpdGlvbiwgYnV0IHlvdXIgdmFsdWVcbiIKKyIlbHUgJXMgY292ZXJzIHNvbWUgb3RoZXIgcGFydGl0aW9uLiBZb3VyIGVudHJ5IGhhcyBiZWVuIGNoYW5nZWRcbiIKKyJ0byAlbHUgJXMiCittc2dzdHIgIiIKKyLQotGA0LXRgtGW0Lkg0YDQvtC30LTRltC7INC90LUg0LfQsNC50LzQsNGUINCy0LXRgdGMINC00LjRgdC6LCDQsNC70LUg0LfQvdCw0YfQtdC90L3Rj1xuIgorIiVsdSAlcyDQv9C10YDQtdC60YDQuNCy0LDRlCDQtNC10Y/QutC40Lkg0ZbQvdGI0LjQuSDRgNC+0LfQtNGW0LsuINCS0LDRiCDQtdC70LXQvNC10L3RgiDQsdGD0LvQviDQt9C80ZbQvdC10L3QvlxuIgorItC90LAgJWx1ICVzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzI2CisjLCBjLWZvcm1hdAorbXNnaWQgIklmIHlvdSB3YW50IHRvIG1haW50YWluIFN1bk9TL1NvbGFyaXMgY29tcGF0aWJpbGl0eSwgY29uc2lkZXIgbGVhdmluZyB0aGlzIHBhcnRpdGlvbiBhcyBXaG9sZSBkaXNrICg1KSwgc3RhcnRpbmcgYXQgMCwgd2l0aCAldSBzZWN0b3JzIgorbXNnc3RyICLQr9C60YnQviDQstC4INCx0LDQttCw0ZTRgtC1INC/0ZbQtNGC0YDQuNC80YPQstCw0YLQuCDRgdGD0LzRltGB0L3RltGB0YLRjCDQtyBTdW5PUy9Tb2xhcmlzLCDRgdGC0LLQvtGA0ZbRgtGMINGG0LXQuSDRgNC+0LfQtNGW0Lsg0Y/QuiDQstC10YHRjCDQtNC40YHQuig1KSwg0L/QvtGH0LjQvdCw0Y7Rh9C4INC3IDAsINGA0L7Qt9C80ZbRgNC+0LwgJXUg0YHQtdC60YLQvtGA0ZbQsiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc1MAorbXNnaWQgIkxhYmVsIElEIgorbXNnc3RyICLQhtC0LiDQvNGW0YLQutC4IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzU1Cittc2dpZCAiVm9sdW1lIElEIgorbXNnc3RyICLQhtC0LiDRgtC+0LzRgyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc2NQorbXNnaWQgIkFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgItCX0LDQv9Cw0YHQvdC40YUg0YbQuNC70ZbQvdC00YDRltCyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6ODcxCittc2dpZCAiTnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgItCa0ZbQu9GM0LrRltGB0YLRjCDQt9Cw0L/QsNGB0L3QuNGFINGG0LjQu9GW0L3QtNGA0ZbQsiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg5NgorbXNnaWQgIkV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICLQlNC+0LTQsNGC0LrQvtCy0LjRhSDRgdC10LrRgtC+0YDRltCyINGDINGG0LjQu9GW0L3QtNGA0ZYiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MjAKK21zZ2lkICJJbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAi0KTQsNC60YLQvtGAINGH0LXRgNCz0YPQstCw0L3QvdGPIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTQ0Cittc2dpZCAiUm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgItCo0LLQuNC00LrRltGB0YLRjCDQvtCx0LXRgNGC0LDQvdC90Y8gKNC+0LEv0YXQsikiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5NjgKK21zZ2lkICJOdW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICLQmtGW0LvRjNC60ZbRgdGC0Ywg0YTRltC30LjRh9C90LjRhSDRhtC40LvRltC90LTRgNGW0LIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDM3Cittc2dpZCAiIgorIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDMgYXMgV2hvbGUgZGlzayAoNSksXG4iCisiYXMgU3VuT1MvU29sYXJpcyBleHBlY3RzIGl0IGFuZCBldmVuIExpbnV4IGxpa2VzIGl0LlxuIgorbXNnc3RyICIiCisi0J7QsdC80ZbRgNC60YPQudGC0LUg0LLQsNGA0ZbQsNC90YIg0YDQvtC30YLQsNGI0YPQstCw0L3QvdGPINGA0L7Qt9C00ZbQu9GDIDMg0L3QsCDQstC10YHRjCDQtNC40LogKDUpLFxuIgorItGC0L7QvNGDINGJ0L4g0L3QsCDRhtC1INC/0L7QutC70LDQtNCw0Y7RgtGM0YHRjyBTdW5PUy9Tb2xhcmlzLCDRgtCwIExpbnV4INGC0LDQutC+0LYg0YbQtSDRgdC/0YDQuNC50LzQsNGULlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA0OAorbXNnaWQgIiIKKyJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwXG4iCisiaXMgVUZTLCBFWFQyRlMgZmlsZXN5c3RlbSBvciBTdW5PUyBzd2FwLiBQdXR0aW5nIExpbnV4IHN3YXBcbiIKKyJ0aGVyZSBtYXkgZGVzdHJveSB5b3VyIHBhcnRpdGlvbiB0YWJsZSBhbmQgYm9vdGJsb2NrLlxuIgorIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB0YWcgdGhlIHBhcnRpdGlvbiBhcyBMaW51eCBzd2FwPyIKK21zZ3N0ciAiIgorItCd0LDQv9C+0LvQtdCz0LvQuNCy0L4g0YDQtdC60L7QvNC10L3QtNGD0ZTRgtGM0YHRjywg0YnQvtCxINGA0L7Qt9C00ZbQuyDQt9GWINC30YHRg9Cy0L7QvCAwINCx0YPQsiBVRlMsXG4iCisi0YTQsNC50LvQvtCy0L7RjiDRgdC40YHRgtC10LzQvtGOIEVYVDJGUyDQsNCx0L4gU3VuT1Mgc3dhcC4g0K/QutGJ0L4g0YLRg9GCINCy0YHRgtCw0LLQuNGC0LggTGludXggc3dhcCxcbiIKKyLQvNC+0LbQvdCwINC30YDRg9C50L3Rg9Cy0LDRgtC4INGC0LDQsdC70LjRhtGOINGA0L7Qt9C00ZbQu9GW0LIg0YLQsCDQt9Cw0LLQsNC90YLQsNC20YPQstCw0LvRjNC90LjQuSDQsdC70L7Qui5cbiIKKyLQktC4INGB0L/RgNCw0LLQtNGWINGF0L7Rh9C10YLQtSDQv9C+0LfQvdCw0YfQuNGC0Lgg0YDQvtC30LTRltC7INGP0Log0YDQtdC30LXRgNCy0L3QuNC5INGA0L7Qt9C00ZbQuyAoc3dhcCkgTGludXg/IgorCisjOiBsaWIvcGFnZXIuYzoxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FpdHBpZCBmYWlsZWQgKCVzKSIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgd2FpdHBpZCAoJXMpIgorCisjOiBsaWIvcGF0aC5jOjIwOSBzeXMtdXRpbHMvbHNjcHUuYzoxODE4Cittc2dpZCAiZmFpbGVkIHRvIGNhbGxvY2F0ZSBjcHUgc2V0IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0LjQutC+0L3QsNGC0LggY2FsbG9jYXRlINC00LvRjyDQvdCw0LHQvtGA0YMg0L/RgNC+0YbQtdGB0L7RgNGW0LIiCisKKyM6IGxpYi9wYXRoLmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdCAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INGB0L/QuNGB0L7QuiDQv9GA0L7RhtC10YHQvtGA0ZbQsiAlcyIKKworIzogbGliL3BhdGguYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0LzQsNGB0LrRgyDQv9GA0L7RhtC10YHQvtGA0ZbQsiAlcyIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MgorbXNnaWQgImNhbiBub3Qgb3BlbiBVTklYIHNvY2tldCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGW0LTQutGA0LjRgtC4INGB0L7QutC10YIgVU5JWCIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3OAorbXNnaWQgImNhbiBub3Qgc2V0IG9wdGlvbiBmb3IgVU5JWCBzb2NrZXQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0L/QsNGA0LDQvNC10YLRgCDQtNC70Y8g0YHQvtC60LXRgtCwIFVOSVgiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6OTEKK21zZ2lkICJjYW4gbm90IGNvbm5lY3Qgb24gVU5JWCBzb2NrZXQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LfigJnRlNC00L3QsNC90L3RjyDQtyDRgdC+0LrQtdGC0L7QvCBVTklYIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGx5bW91dGggcmVxdWVzdCAlYyBpcyBub3QgaW1wbGVtZW50ZWQiCittc2dzdHIgItC30LDQv9C40YIgcGx5bW91dGggJWMg0L3QtSDRgNC10LDQu9GW0LfQvtCy0LDQvdC+IgorCisjOiBsaWIvcmFuZHV0aWxzLmM6MTM2Cittc2dpZCAibGliYyBwc2V1ZG8tcmFuZG9tIGZ1bmN0aW9ucyIKK21zZ3N0ciAi0YTRg9C90LrRhtGW0Zcg0L/RgdC10LLQtNC+0LLQuNC/0LDQtNC60L7QstC40YUg0YfQuNGB0LXQuyBsaWJjIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjE3IGxpYi9zd2FwcHJvYmVyLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBwcm9iZSBkZXZpY2UiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINCy0LjQutC+0L3QsNGC0Lgg0LfQvtC90LTRg9Cy0LDQvdC90Y8g0L/RgNC40YHRgtGA0L7RjiIKKworIzogbGliL3N3YXBwcm9iZXIuYzozMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYW1iaWd1b3VzIHByb2JpbmcgcmVzdWx0OyB1c2Ugd2lwZWZzKDgpIgorbXNnc3RyICIlczog0L3QtdC+0LTQvdC+0LfQvdCw0YfQvdC40Lkg0YDQtdC30YPQu9GM0YLQsNGCINC30L7QvdC00YPQstCw0L3QvdGPOyDRgdC60L7RgNC40YHRgtCw0LnRgtC10YHRjyB3aXBlZnMoOCkiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHZhbGlkIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICIlczog0L3QtSDRlCDQutC+0YDQtdC60YLQvdC40Lwg0YDQvtC30LTRltC70L7QvCDRgdCy0L7Qv9GW0L3Qs9GDICjRgNC10LfQtdGA0LLQvdC+0Zcg0L/QsNC8J9GP0YLRlikiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuc3VwcG9ydGVkIHN3YXAgdmVyc2lvbiAnJXMnIgorbXNnc3RyICIlczog0L3QtdC/0ZbQtNGC0YDQuNC80YPQstCw0L3QsCDQstC10YDRgdGW0Y8g0YHQstC+0L/RltC90LPRgywgwqslc8K7IgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTAgbG9naW4tdXRpbHMvY2hzaC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT5dXG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgNC4XSBbPNC60L7RgNC40YHRgtGD0LLQsNGHPl1cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjkzCittc2dpZCAiQ2hhbmdlIHlvdXIgZmluZ2VyIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICLQl9C80ZbQvdC40YLQuCDQtNCw0L3RliDRidC+0LTQviDQstCw0YjQvtCz0L4g0LLRltC00LHQuNGC0LrQsC5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk2Cittc2dpZCAiIC1mLCAtLWZ1bGwtbmFtZSA8ZnVsbC1uYW1lPiAgcmVhbCBuYW1lXG4iCittc2dzdHIgIiAtZiwgLS1mdWxsLW5hbWUgPNGW0Lwn0Y8+ICAgICAgINGB0L/RgNCw0LLQttC90ZQg0ZbQvCfRj1xuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTcKK21zZ2lkICIgLW8sIC0tb2ZmaWNlIDxvZmZpY2U+ICAgICAgICBvZmZpY2UgbnVtYmVyXG4iCittc2dzdHIgIiAtbywgLS1vZmZpY2UgPNC60ZbQvNC90LDRgtCwPiAgICAgICDQvdC+0LzQtdGAINC60ZbQvNC90LDRgtC4XG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OAorbXNnaWQgIiAtcCwgLS1vZmZpY2UtcGhvbmUgPHBob25lPiAgIG9mZmljZSBwaG9uZSBudW1iZXJcbiIKK21zZ3N0ciAiIC1wLCAtLW9mZmljZS1waG9uZSA80YLQtdC70LXRhNC+0L0+INC90L7QvNC10YAg0YDQvtCx0L7Rh9C+0LPQviDRgtC10LvQtdGE0L7QvdGDXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OQorbXNnaWQgIiAtaCwgLS1ob21lLXBob25lIDxwaG9uZT4gICAgIGhvbWUgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiAtaCwgLS1ob21lLXBob25lIDzRgtC10LvQtdGE0L7QvT4gICDQvdC+0LzQtdGAINC00L7QvNCw0YjQvdGM0L7Qs9C+INGC0LXQu9C10YTQvtC90YNcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwMSBsb2dpbi11dGlscy9jaHNoLmM6NzgKK21zZ2lkICIgLXUsIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC11LCAtLWhlbHAgICAgINC/0L7QutCw0LfQsNGC0Lgg0YbRliDQtNC+0LLRltC00LrQvtCy0ZYg0LTQsNC90ZYg0ZYg0LLQuNC50YLQuFxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgImZpZWxkICVzIGlzIHRvbyBsb25nIgorbXNnc3RyICLQv9C+0LvQtSAlcyDRlCDQvdCw0LTRgtC+INC00L7QstCz0LjQvCIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyMSBsb2dpbi11dGlscy9jaHNoLmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBoYXMgaWxsZWdhbCBjaGFyYWN0ZXJzIgorbXNnc3RyICIlczog0LzRltGB0YLQuNGC0Lgg0L3QtdC60L7RgNC10LrRgtC90ZYg0YHQuNC80LLQvtC70LgiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTAgbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTYyCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luLmRlZnMgZm9yYmlkcyBzZXR0aW5nICVzIgorbXNnc3RyICJsb2dpbi5kZWZzINC30LDQsdC+0YDQvtC90Y/RlCDQstGB0YLQsNC90L7QstC70LXQvdC90Y8gJXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE1OCBsb2dpbi11dGlscy9jaGZuLmM6MzA5Cittc2dpZCAiT2ZmaWNlIgorbXNnc3RyICLQodC70YPQttCx0L7QstC40LkiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIgbG9naW4tdXRpbHMvY2hmbi5jOjE2NCBsb2dpbi11dGlscy9jaGZuLmM6MzExCittc2dpZCAiT2ZmaWNlIFBob25lIgorbXNnc3RyICLQodC70YPQttCx0L7QstC40Lkg0YLQtdC70LXRhNC+0L0iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjggbG9naW4tdXRpbHMvY2hmbi5jOjE3MCBsb2dpbi11dGlscy9jaGZuLmM6MzEzCittc2dpZCAiSG9tZSBQaG9uZSIKK21zZ3N0ciAi0JTQvtC80LDRiNC90ZbQuSDRgtC10LvQtdGE0L7QvSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjIzMworbXNnaWQgIkFib3J0ZWQuIgorbXNnc3RyICLQn9C10YDQtdGA0LLQsNC90L4uIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGhhcyB1bmV4cGVjdGVkIHZhbHVlOiAlcyIKK21zZ3N0ciAiJXM6IENIRk5fUkVTVFJJQ1Qg0LzQsNGUINC90LXQvtGH0ZbQutGD0LLQsNC90LUg0LfQvdCw0YfQtdC90L3RjzogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgZG9lcyBub3QgYWxsb3cgYW55IGNoYW5nZXMiCittc2dzdHIgIiVzOiBDSEZOX1JFU1RSSUNUINC30LDQsdC+0YDQvtC90Y/RlCDQsdGD0LTRjC3Rj9C60ZYg0LfQvNGW0L3QuCIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci5cbiIKK21zZ3N0ciAiRmluZ2VyINGW0L3RhNC+0YDQvNCw0YbRltGOINCd0JUg0LfQvNGW0L3QtdC90L4uINCh0L/RgNC+0LHRg9C50YLQtSDQv9GW0LfQvdGW0YjQtS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gY2hhbmdlZC5cbiIKK21zZ3N0ciAiRmluZ2VyINGW0L3RhNC+0YDQvNCw0YbRltGOINC30LzRltC90LXQvdC+LlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDA4IGxvZ2luLXV0aWxzL2Noc2guYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ICh1c2VyICVkKSBkb24ndCBleGlzdC4iCittc2dzdHIgItCy0LDRiNC+0LPQviDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwICglZCkg0L3QtSDRltGB0L3Rg9GULiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQxNCBsb2dpbi11dGlscy9jaHNoLmM6MjQ4IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIFwiJXNcIiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgItC60L7RgNC40YHRgtGD0LLQsNGH0LAgwqslc8K7INC90LUg0ZbRgdC90YPRlC4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MjAgbG9naW4tdXRpbHMvY2hzaC5jOjI1NAorbXNnaWQgImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzIgorbXNnc3RyICLQvNC+0LbQtSDQt9C80ZbQvdGO0LLQsNGC0Lgg0LvQuNGI0LUg0LvQvtC60LDQu9GM0L3RliDQt9Cw0L/QuNGB0LgiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBmaW5nZXIgaW5mbyBvZiAlcyIKK21zZ3N0ciAiJXMg0L3QtSDRg9C/0L7QstC90L7QstCw0LbQtdC90L4g0L3QsCDQt9C80ZbQvdGDINGW0L3RhNC+0YDQvNCw0YbRltGXIGZpbmdlciDRidC+0LTQviAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzNSBsb2dpbi11dGlscy9jaHNoLmM6MjcwCittc2dpZCAiVW5rbm93biB1c2VyIGNvbnRleHQiCittc2dzdHIgItCd0LXQstGW0LTQvtC80LjQuSDQutC+0L3RgtC10LrRgdGCINC60L7RgNC40YHRgtGD0LLQsNGH0LAiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NDEgbG9naW4tdXRpbHMvY2hzaC5jOjI3NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDRgtC40L/QvtCy0LjQuSDQutC+0L3RgtC10LrRgdGCINC00LvRjyAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MgorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIlVJRCwg0LLRltC0INGW0LzQtdC90ZYg0Y/QutC+0LPQviDQt9Cw0L/Rg9GJ0LXQvdC+INC60L7QvNCw0L3QtNGDLCDQvdC1INC30LHRltCz0LDRlNGC0YzRgdGPINC3IFVJRCDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwLCDQtNC+INC/0LDRgNCw0LzQtdGC0YDRltCyINGA0L7QsdC+0YLQuCDRj9C60L7Qs9C+INCy0L3QvtGB0Y/RgtGM0YHRjyDQt9C80ZbQvdC4LCDRgyDQt9C80ZbQvdGWINC+0LHQvtC70L7QvdC60Lgg0LLRltC00LzQvtCy0LvQtdC90L4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgZmluZ2VyIGluZm9ybWF0aW9uIGZvciAlcy5cbiIKK21zZ3N0ciAi0JfQvNGW0L3QsCBmaW5nZXIg0ZbQvdGE0L7RgNC80LDRhtGW0Zcg0LTQu9GPICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBub3QgY2hhbmdlZC5cbiIKK21zZ3N0ciAiRmluZ2VyINGW0L3RhNC+0YDQvNCw0YbRltGOINC90LUg0LfQvNGW0L3QtdC90L4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3MgorbXNnaWQgIkNoYW5nZSB5b3VyIGxvZ2luIHNoZWxsLlxuIgorbXNnc3RyICLQl9C80ZbQvdC40YLQuCDQstCw0YjRgyDQvtCx0L7Qu9C+0L3QutGDINC00LvRjyDQstGF0L7QtNGDINC00L4g0YHQuNGB0YLQtdC80LguXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBzcGVjaWZ5IGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA80L7QsdC+0LvQvtC90LrQsD4g0LLQutCw0LfQsNGC0Lgg0L7QsdC+0LvQvtC90LrRgyDQstGF0L7QtNGDINC00L4g0YHQuNGB0YLQtdC80LhcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc2Cittc2dpZCAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIHByaW50IGxpc3Qgb2Ygc2hlbGxzIGFuZCBleGl0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0LXNoZWxscyAgICDQstC40LLQtdGB0YLQuCDRgdC/0LjRgdC+0Log0L7QsdC+0LvQvtC90L7QuiDRliDQstC40LnRgtC4XG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoxMDAKK21zZ2lkICJObyBrbm93biBzaGVsbHMuIgorbXNnc3RyICLQndC10LzQsNGUINCy0ZbQtNC+0LzQuNGFINC+0LHQvtC70L7QvdC+0LouIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjAwCittc2dpZCAic2hlbGwgbXVzdCBiZSBhIGZ1bGwgcGF0aCBuYW1lIgorbXNnc3RyICLRiNC70Y/RhSDQtNC+INC+0LHQvtC70L7QvdC60Lgg0LzQsNGUINCx0YPRgtC4INCy0LrQsNC30LDQvdC+INC/0L7QstC90ZbRgdGC0Y4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICLCqyVzwrsg0L3QtSDRltGB0L3Rg9GUIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBpcyBub3QgZXhlY3V0YWJsZSIKK21zZ3N0ciAiwqslc8K7INC90LUg0ZQg0LLQuNC60L7QvdGD0LLQsNC90LjQvCDRhNCw0LnQu9C+0LwiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuIgorbXNnc3RyICLQn9C+0L/QtdGA0LXQtNC20LXQvdC90Y86IMKrJXPCuyDQvdC10LzQsNGUINGDINGB0L/QuNGB0LrRgyAlcy4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMTQgbG9naW4tdXRpbHMvY2hzaC5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuXG4iCisiVXNlICVzIC1sIHRvIHNlZSBsaXN0LiIKK21zZ3N0ciAiIgorIsKrJXPCuyDQvdC10LzQsNGUINGDINGB0L/QuNGB0LrRgyAlcy5cbiIKKyLQodC60L7RgNC40YHRgtCw0LnRgtC10YHRjyAlcyAtbCwg0YnQvtCxINC/0LXRgNC10LPQu9GP0L3Rg9GC0Lgg0YHQv9C40YHQvtC6LiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIHNoZWxsIG9mICVzIgorbXNnc3RyICIlcyDQvdC1INGD0L/QvtCy0L3QvtCy0LDQttC10L3QviDQvdCwINC30LzRltC90YMg0LrQvtC80LDQvdC00L3QvtGXINC+0LHQvtC70L7QvdC60LggJXMiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyOTUKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICJVSUQsINCy0ZbQtCDRltC80LXQvdGWINGP0LrQvtCz0L4g0LfQsNC/0YPRidC10L3QviDQutC+0LzQsNC90LTRgywg0L3QtSDQt9Cx0ZbQs9Cw0ZTRgtGM0YHRjyDQtyBVSUQg0LrQvtGA0LjRgdGC0YPQstCw0YfQsCwg0LTQviDQv9Cw0YDQsNC80LXRgtGA0ZbQsiDRgNC+0LHQvtGC0Lgg0Y/QutC+0LPQviDQstC90L7RgdGP0YLRjNGB0Y8g0LfQvNGW0L3QuCwg0YMg0LfQvNGW0L3RliDQvtCx0L7Qu9C+0L3QutC4INCy0ZbQtNC80L7QstC70LXQvdC+IgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzAwCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdXIgc2hlbGwgaXMgbm90IGluICVzLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICLQstCw0YjQvtGXINC+0LHQvtC70L7QvdC60Lgg0L3QtdC80LDRlCDRgyAlcywg0YMg0LfQvNGW0L3RliDQvtCx0L7Qu9C+0L3QutC4INCy0ZbQtNC80L7QstC70LXQvdC+IgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIHNoZWxsIGZvciAlcy5cbiIKK21zZ3N0ciAi0JfQvNGW0L3RjtGU0YLRjNGB0Y8g0L7QsdC+0LvQvtC90LrQsCDQtNC70Y8gJXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMTIKK21zZ2lkICJOZXcgc2hlbGwiCittc2dzdHIgItCd0L7QstCwINC+0LHQvtC70L7QvdC60LAiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjAKK21zZ2lkICJTaGVsbCBub3QgY2hhbmdlZC4iCittc2dzdHIgItCe0LHQvtC70L7QvdC60YMg0L3QtSDQt9C80ZbQvdC10L3Qvi4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjUKK21zZ2lkICJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAi0J7QsdC+0LvQvtC90LrRgyAq0J3QlSog0LfQvNGW0L3QtdC90L4uINCh0L/RgNC+0LHRg9C50YLQtSDQv9GW0LfQvdGW0YjQtS4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjkKK21zZ2lkICIiCisic2V0cHduYW0gZmFpbGVkXG4iCisiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIiIKKyLQv9C+0LzQuNC70LrQsCBzZXRwd25hbVxuIgorItCe0LHQvtC70L7QvdC60YMg0L3QtSDQt9C80ZbQvdC10L3Qvi4g0J/QvtCy0YLQvtGA0ZbRgtGMINGB0L/RgNC+0LHRgyDQv9GW0LfQvdGW0YjQtS4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hlbGwgY2hhbmdlZC5cbiIKK21zZ3N0ciAi0J7QsdC+0LvQvtC90LrQsCDQt9C80ZbQvdC10L3QsC5cbiIKKworIzogbG9naW4tdXRpbHMvaXNsb2NhbC5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyA8cGFzc3dvcmRmaWxlPiA8dXNlcm5hbWU+Li4uXG4iCittc2dzdHIgItCa0L7RgNC40YHRgtGD0LLQsNC90L3RjzogJXMgPNGE0LDQudC7X9C/0LDRgNC+0LvRltCyPiA80LrQvtGA0LjRgdGC0YPQstCw0Yc+Li4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoxNzQgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjIwIHN5cy11dGlscy9kbWVzZy5jOjExOTMKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHRpbWUgZm9ybWF0OiAlcyIKK21zZ3N0ciAi0L3QtdCy0ZbQtNC+0LzQuNC5INGE0L7RgNC80LDRgiDQt9Cw0L/QuNGB0YMg0YfQsNGB0YM6ICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjgxIGxvZ2luLXV0aWxzL2xhc3QuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW50ZXJydXB0ZWQgJXMiCittc2dzdHIgItCf0LXRgNC10YDQstCw0L3QviAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjQzOSBsb2dpbi11dGlscy9sYXN0LmM6NDUwCittc2dpZCAicHJlYWxsb2NhdGlvbiBzaXplIGV4Y2VlZGVkIgorbXNnc3RyICLQv9C10YDQtdCy0LjRidC10L3QviDRgNC+0LfQvNGW0YAg0L7QsdC70LDRgdGC0ZYg0L/QvtC/0LXRgNC10LTQvdGM0L7Qs9C+INGA0L7Qt9C80ZbRidC10L3QvdGPIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT4uLi5dIFs8dHR5Pi4uLl1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIFs80LrQvtGA0LjRgdGC0YPQstCw0Yc+Li4uXSBbPHR0eT4uLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzIKK21zZ2lkICJTaG93IGEgbGlzdGluZyBvZiBsYXN0IGxvZ2dlZCBpbiB1c2Vycy5cbiIKK21zZ3N0ciAi0J/QvtC60LDQt9Cw0YLQuCDRgdC/0LjRgdC+0Log0LrQvtGA0LjRgdGC0YPQstCw0YfRltCyLCDRj9C60ZYg0LLRhdC+0LTQuNC70Lgg0LTQviDRgdC40YHRgtC10LzQuCDQvtGB0YLQsNC90L3RltC80LguXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzUKK21zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIgLTzQutGW0LvRjNC60ZbRgdGC0Yw+ICAgICAgICAg0LrRltC70YzQutGW0YHRgtGMINGA0Y/QtNC60ZbQsiwg0Y/QutGWINGB0LvRltC0INC/0L7QutCw0LfQsNGC0LhcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NgorbXNnaWQgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBkaXNwbGF5IGhvc3RuYW1lcyBpbiB0aGUgbGFzdCBjb2x1bW5cbiIKK21zZ3N0ciAiIC1hLCAtLWhvc3RsYXN0ICAgICAgINC/0L7QutCw0LfQsNGC0Lgg0L3QsNC30LLQuCDQstGD0LfQu9GW0LIg0YMg0L7RgdGC0LDQvdC90YzQvtC80YMg0YHRgtC+0LLQv9GH0LjQutGDXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzcKK21zZ2lkICIgLWQsIC0tZG5zICAgICAgICAgICAgdHJhbnNsYXRlIHRoZSBJUCBudW1iZXIgYmFjayBpbnRvIGEgaG9zdG5hbWVcbiIKK21zZ3N0ciAiIC1kLCAtLWRucyAgICAgICAgICAgINCy0LjQt9C90LDRh9C40YLQuCDQt9CwINC30L3QsNGH0LXQvdC90Y/QvCBJUCDQvdCw0LfQstGDINCy0YPQt9C70LBcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OQorIywgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgdXNlIGEgc3BlY2lmaWMgZmlsZSBpbnN0ZWFkIG9mICVzXG4iCittc2dzdHIgIiAtZiwgLS1maWxlIDzRhNCw0LnQuz4gICAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INCy0LrQsNC30LDQvdC40Lkg0YTQsNC50Lsg0LfQsNC80ZbRgdGC0YwgJXNcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MAorbXNnaWQgIiAtRiwgLS1mdWxsdGltZXMgICAgICBwcmludCBmdWxsIGxvZ2luIGFuZCBsb2dvdXQgdGltZXMgYW5kIGRhdGVzXG4iCittc2dzdHIgIiAtRiwgLS1mdWxsdGltZXMgICAgICDQstC40LLQvtC00LjRgtC4INGH0LDRgSDRliDQtNCw0YLRgyDQstGF0L7QtNGDINGWINCy0LjRhdC+0LTRgyDQv9C+0LLQvdGW0YHRgtGOXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODEKK21zZ2lkICIgLWksIC0taXAgICAgICAgICAgICAgZGlzcGxheSBJUCBudW1iZXJzIGluIG51bWJlcnMtYW5kLWRvdHMgbm90YXRpb25cbiIKK21zZ3N0ciAiIC1pLCAtLWlwICAgICAgICAgICAgINC/0L7QutCw0LfRg9Cy0LDRgtC4IElQLdCw0LTRgNC10YHQuCDRgyDRhNC+0YDQvNCw0YLRliDRh9C40YHQtdC7INC3INGC0L7Rh9C60LDQvNC4XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODIKK21zZ2lkICIgLW4sIC0tbGltaXQgPG51bWJlcj4gaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIgLW4sIC0tbGltaXQgPNC60ZbQu9GM0LrRltGB0YLRjD4g0LrRltC70YzQutGW0YHRgtGMINGA0Y/QtNC60ZbQsiwg0Y/QutGWINGB0LvRltC0INC/0L7QutCw0LfRg9Cy0LDRgtC4XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODMKK21zZ2lkICIgLVIsIC0tbm9ob3N0bmFtZSAgICAgZG9uJ3QgZGlzcGxheSB0aGUgaG9zdG5hbWUgZmllbGRcbiIKK21zZ3N0ciAiIC1SLCAtLW5vaG9zdG5hbWUgICAgINC90LUg0L/QvtC60LDQt9GD0LLQsNGC0Lgg0L/QvtC70Y8g0L3QsNC30LLQuCDQstGD0LfQu9CwXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODQKK21zZ2lkICIgLXMsIC0tc2luY2UgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgc2luY2UgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtcywgLS1zaW5jZSA80YfQsNGBPiAgICDQv9C+0LrQsNC30LDRgtC4INGA0Y/QtNC60LgsINGP0LrRliDQsdGD0LvQviDQt9Cw0L/QuNGB0LDQvdC+INC/0ZbRgdC70Y8g0LLQutCw0LfQsNC90L7Qs9C+INC80L7QvNC10L3RgtGDINGH0LDRgdGDXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODUKK21zZ2lkICIgLXQsIC0tdW50aWwgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgdW50aWwgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtdCwgLS11bnRpbCA80YfQsNGBPiAgICDQv9C+0LrQsNC30YPQstCw0YLQuCDRgNGP0LTQutC4LCDRj9C60ZYg0LHRg9C70L4g0LfQsNC/0LjRgdCw0L3QviDQtNC+INCy0LrQsNC30LDQvdC+0LPQviDQvNC+0LzQtdC90YLRgyDRh9Cw0YHRg1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg2Cittc2dpZCAiIC1wLCAtLXByZXNlbnQgPHRpbWU+IGRpc3BsYXkgd2hvIHdlcmUgcHJlc2VudCBhdCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIC1wLCAtLXByZXNlbnQgPNGH0LDRgT4gINC/0L7QutCw0LfQsNGC0LgsINGF0YLQviDQv9GA0LDRhtGO0LLQsNCyINGDINGB0LjRgdGC0LXQvNGWINGDINCy0LrQsNC30LDQvdC40Lkg0YfQsNGBXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODcKK21zZ2lkICIgLXcsIC0tZnVsbG5hbWVzICAgICAgZGlzcGxheSBmdWxsIHVzZXIgYW5kIGRvbWFpbiBuYW1lc1xuIgorbXNnc3RyICIgLXcsIC0tZnVsbG5hbWVzICAgICAg0L/QvtC60LDQt9GD0LLQsNGC0Lgg0L3QsNC30LLQuCDQt9Cw0L/QuNGB0ZbQsiDQutC+0YDQuNGB0YLRg9Cy0LDRh9GW0LIg0ZYg0LTQvtC80LXQvdC4INC/0L7QstC90ZbRgdGC0Y5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OAorbXNnaWQgIiAteCwgLS1zeXN0ZW0gICAgICAgICBkaXNwbGF5IHN5c3RlbSBzaHV0ZG93biBlbnRyaWVzIGFuZCBydW4gbGV2ZWwgY2hhbmdlc1xuIgorbXNnc3RyICIgLXgsIC0tc3lzdGVtICAgICAgICAg0L/QvtC60LDQt9Cw0YLQuCDQt9Cw0L/QuNGB0Lgg0LfQsNCy0LXRgNGI0LXQvdC90Y8g0YDQvtCx0L7RgtC4INGB0LjRgdGC0LXQvNC4INGC0LAg0LfQvNGW0L3QuCDRgNGW0LLQvdGPINC30LDQv9GD0YHQutGDXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODkKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcHMgaW4gdGhlIHNwZWNpZmllZCA8Zm9ybWF0PjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPNGE0L7RgNC80LDRgj4gINC/0L7QutCw0LfRg9Cy0LDRgtC4INGH0LDRgdC+0LLRliDQv9C+0LfQvdCw0YfQutC4INGDINCy0LrQsNC30LDQvdC+0LzRgyDRhNC+0YDQvNCw0YLRljpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo4ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzIGJlZ2lucyAlcyIKK21zZ3N0ciAiIgorIlxuIgorIiVzINGA0L7Qt9C/0L7Rh9C40L3QsNGUICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTU2IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjQKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjgKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0YfQuNGB0LvQviIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk3NyBsb2dpbi11dGlscy9sYXN0LmM6OTgyIGxvZ2luLXV0aWxzL2xhc3QuYzo5ODcKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZSB2YWx1ZSBcIiVzXCIiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC1INC30L3QsNGH0LXQvdC90Y8g0YfQsNGB0YMsIMKrJXPCuyIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjI5IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzozMQorbXNnaWQgIkNvdWxkbid0IGRyb3AgZ3JvdXAgcHJpdmlsZWdlcyIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDRgdC60LjQvdGD0YLQuCDQv9GA0LDQstCwINC00L7RgdGC0YPQv9GDINCz0YDRg9C/0LgiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICJsaWJ1c2VyIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJXMuIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0ZbQvdGW0YbRltCw0LvRltC30LDRhtGW0ZcgbGlidXNlciDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRljogJXMuIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTIKK21zZ2lkICJjaGFuZ2luZyB1c2VyIGF0dHJpYnV0ZSBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDQt9C80ZbQvdC40YLQuCDQsNGC0YDQuNCx0YPRgiDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIgorbXNnc3RyICLQsNGC0YDQuNCx0YPRgiDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwINC90LUg0LfQvNGW0L3QtdC90L46ICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAldSBpcyA2MC4KKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTgwCisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWVkIG91dCBhZnRlciAldSBzZWNvbmRzIgorbXNnc3RyICLRh9Cw0YEg0L7Rh9GW0LrRg9Cy0LDQvdC90Y8g0LHRg9C70L4g0LLQuNGH0LXRgNC/0LDQvdC+INC30LAgJXUg0YHQtdC60YPQvdC0IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI4NgorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogY2FuJ3QgcmVvcGVuIHR0eTogJW0iCittc2dzdHIgItCa0KDQmNCi0JjQp9Cd0JAg0J/QntCc0JjQm9Ca0JA6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRltC00LrRgNC40YLQuCB0dHk6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXMgaXMgbm90IGEgdGVybWluYWwiCittc2dzdHIgItCa0KDQmNCi0JjQp9Cd0JAg0J/QntCc0JjQm9Ca0JA6ICVzINC90LUg0ZQg0YLQtdGA0LzRltC90LDQu9C+0LwiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzEwCisjLCBjLWZvcm1hdAorbXNnaWQgImNob3duICglcywgJWx1LCAlbHUpIGZhaWxlZDogJW0iCittc2dzdHIgItGB0L/RgNC+0LHQsCDQt9C80ZbQvdC4INCy0LvQsNGB0L3QuNC60LAgKCVzLCAlbHUsICVsdSkg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZY6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxNAorIywgYy1mb3JtYXQKK21zZ2lkICJjaG1vZCAoJXMsICV1KSBmYWlsZWQ6ICVtIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0LfQvNGW0L3QuCDRgNC10LbQuNC80YMg0LTQvtGB0YLRg9C/0YMgKCVzLCAldSkg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZY6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM3NQorbXNnaWQgIkZBVEFMOiBiYWQgdHR5IgorbXNnc3RyICLQpNCQ0KLQkNCb0KzQndCQINCf0J7QnNCY0JvQmtCQOiDQvdC10L/RgNCw0LLQuNC70YzQvdC40LkgdHR5IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXM6IGNoYW5nZSBwZXJtaXNzaW9ucyBmYWlsZWQ6ICVtIgorbXNnc3RyICLQkNCS0JDQoNCG0K86ICVzOiDRgdC/0YDQvtCx0LAg0LfQvNGW0L3QuCDQv9GA0LDQsiDQtNC+0YHRgtGD0L/RgyDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRljogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgbG9naW46ICUuKnMgIgorbXNnc3RyICLQntGB0YLQsNC90L3RltC5INCy0YXRltC0OiAlLipzICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnJvbSAlLipzXG4iCittc2dzdHIgItC3ICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAib24gJS4qc1xuIgorbXNnc3RyICLQvdCwICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1NTIKK21zZ2lkICJ3cml0ZSBsYXN0bG9nIGZhaWxlZCIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINC30LDQv9C40YHRgyBsYXN0bG9nINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJESUFMVVAgQVQgJXMgQlkgJXMiCittc2dzdHIgItCS0KXQhtCUINCd0JAgJXMg0JLQhtCUICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1NworIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIEZST00gJXMiCittc2dzdHIgItCS0KXQhtCUIFJPT1Qg0J3QkCAlcyDQlyAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyIKK21zZ3N0ciAi0JLQpdCG0JQgUk9PVCDQndCQICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorbXNnc3RyICLQktCl0IbQlCDQndCQICVzINCa0J7QoNCY0KHQotCj0JLQkNCnICVzINCXICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyIKK21zZ3N0ciAi0JLQpdCG0JQg0J3QkCAlcyDQmtCe0KDQmNCh0KLQo9CS0JDQpyAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3MTkKK21zZ2lkICJsb2dpbjogIgorbXNnc3RyICLQutC+0YDQuNGB0YLRg9Cy0LDRhzogIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc0NQorIywgYy1mb3JtYXQKK21zZ2lkICJQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCBQQU0sINC/0LXRgNC10YDQstCw0L3QvjogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkbid0IGluaXRpYWxpemUgUEFNOiAlcyIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDRltC90ZbRhtGW0LDQu9GW0LfRg9Cy0LDRgtC4IFBBTTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODE3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiAldSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgItCf0J7QnNCY0JvQmtCQINCS0KXQntCU0KMgJXUg0JcgJXMg0JTQm9CvICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MjUgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxvZ2luIGluY29ycmVjdFxuIgorIlxuIgorbXNnc3RyICIiCisi0J3QtdC60L7RgNC10LrRgtC90LjQuSDQstGF0ZbQtFxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg0MAorIywgYy1mb3JtYXQKK21zZ2lkICJUT08gTUFOWSBMT0dJTiBUUklFUyAoJXUpIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAi0J3QkNCU0KLQniDQkdCQ0JPQkNCi0J4g0J/QntCc0JjQm9Ce0Jog0JLQpdCe0JTQoyAoJXUpINCXICVzINCU0JvQryAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiBTRVNTSU9OIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAi0J3QldCS0JTQkNCb0JjQmSDQodCV0JDQndChINCS0KXQntCU0KMg0JcgJXMg0JTQm9CvICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxvZ2luIGluY29ycmVjdFxuIgorbXNnc3RyICIiCisiXG4iCisi0J3QtdC60L7RgNC10LrRgtC90LjQuSDQstGF0ZbQtFxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg4MiBsb2dpbi11dGlscy9sb2dpbi5jOjEyMzIgbG9naW4tdXRpbHMvbG9naW4uYzoxMjU1Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gc2V0dXAgcHJvYmxlbSwgYWJvcnQuIgorbXNnc3RyICIiCisiXG4iCisi0J/RgNC+0LHQu9C10LzQsCDQtyDQvdCw0LvQsNGI0YLQvtCy0YPQstCw0L3QvdGP0Lwg0YHQtdCw0L3RgdGDLCDQv9C10YDQtdGA0LLQsNC90L4uIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICJOVUxMIHVzZXIgbmFtZSBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICJOVUxMINGW0Lwn0Y8g0LrQvtGA0LjRgdGC0YPQstCw0YfQsCDRgyAlczolZC4g0JLQuNGF0ZbQtC4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAyMAorIywgYy1mb3JtYXQKK21zZ2lkICJUSU9DU0NUVFkgZmFpbGVkOiAlbSIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgVElPQ1NDVFRZOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTc0CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luOiAtaCBpcyBmb3Igc3VwZXJ1c2VyIG9ubHlcbiIKK21zZ3N0ciAibG9naW46IC1oINC/0YDQuNC30L3QsNGH0LXQvdC+INC70LjRiNC1INC00LvRjyDRgdGD0L/QtdGA0LrQvtGA0LjRgdGC0YPQstCw0YfQsCAo0LDQtNC80ZbQvdGW0YHRgtGA0LDRgtC+0YDQsClcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiBsb2dpbiBbLXBdIFstaCA8aG9zdD5dIFstSF0gW1stZl0gPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAi0JrQvtGA0LjRgdGC0YPQstCw0L3QvdGPOiBsb2dpbiBbLXBdIFstaCA80LLRg9C30L7Quz5dIFstSF0gW1stZl0gPNC60L7RgNC40YHRgtGD0LLQsNGHPl1cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTkxCittc2dpZCAiQmVnaW4gYSBzZXNzaW9uIG9uIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgItCg0L7Qt9C/0L7Rh9Cw0YLQuCDRgdC10LDQvdGBINGDINGB0LjRgdGC0LXQvNGWLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB1c2VyIG5hbWUgXCIlc1wiIGluICVzOiVkLiBBYm9ydC4iCittc2dzdHIgItCd0LXQv9GA0LDQstC40LvRjNC90LUg0ZbQvCfRjyDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwIFwiJXNcIiDRgyAlczolZC4g0JLQuNGF0ZbQtC4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJncm91cHMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINGW0L3RltGG0ZbQsNC70ZbQt9Cw0YbRltGXINCz0YDRg9C/INC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjc5Cittc2dpZCAic2V0Z2lkKCkgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCBzZXRnaWQoKSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG5ldyBtYWlsLlxuIgorbXNnc3RyICLQlNC70Y8g0LLQsNGBINGUINC90L7QstCwINC/0L7RiNGC0LAuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMxMQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBtYWlsLlxuIgorbXNnc3RyICLQlNC70Y8g0LLQsNGBINGUINC/0L7RiNGC0LAuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMyNQorbXNnaWQgInNldHVpZCgpIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgc2V0dWlkKCkiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzMSBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjaGFuZ2UgZGlyZWN0b3J5IGZhaWxlZCIKK21zZ3N0ciAiJXM6INGB0L/RgNC+0LHQsCDQt9C80ZbQvdC40YLQuCDQutCw0YLQsNC70L7QsyDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzM4IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9nZ2luZyBpbiB3aXRoIGhvbWUgPSBcIi9cIi5cbiIKK21zZ3N0ciAi0JLRhdGW0LQg0Lcg0LTQvtC80LDRiNC90ZbQvCDQutCw0YLQsNC70L7Qs9C+0LwgPSBcIi9cIi5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzY3Cittc2dpZCAiY291bGRuJ3QgZXhlYyBzaGVsbCBzY3JpcHQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC60L7QvdCw0YLQuCDRgdC60YDQuNC/0YIg0L7QsdC+0LvQvtC90LrQuCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzY5Cittc2dpZCAibm8gc2hlbGwiCittc2dzdHIgItC90LXQvNCw0ZQg0L7QsdC+0LvQvtC90LrQuCIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBjb250YWlucyBpbnZhbGlkIG51bWVyaWNhbCB2YWx1ZTogJXMiCittc2dzdHIgIiVzOiAlcyDQvNGW0YHRgtC40YLRjCDQvdC10LrQvtGA0LXQutGC0L3QtSDRh9C40YHQu9C+0LLQtSDQt9C90LDRh9C10L3QvdGPOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6Mzc1Cittc2dpZCAiaHVzaCBsb2dpbiBzdGF0dXM6IHJlc3RvcmUgb3JpZ2luYWwgSURzIGZhaWxlZCIKK21zZ3N0ciAi0YHRgtCw0L0g0LLRhdC+0LTRgyDQsdC10Lcg0LTQvtC00LDRgtC60L7QstC40YUg0L/QvtCy0ZbQtNC+0LzQu9C10L3RjDog0YHQv9GA0L7QsdCwINCy0ZbQtNC90L7QstC70LXQvdC90Y8g0L/QvtGH0LDRgtC60L7QstC40YUg0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YDRltCyINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOCBzeXMtdXRpbHMvbHNjcHUuYzoxNTQwIHN5cy11dGlscy9sc2NwdS5jOjE1NTAKK21zZ2lkICJubyIKK21zZ3N0ciAibm8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3IG1pc2MtdXRpbHMvbHNibGsuYzoxODEKK21zZ2lkICJ1c2VyIG5hbWUiCittc2dzdHIgItGW0Lwn0Y8g0LrQvtGA0LjRgdGC0YPQstCw0YfQsCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcKK21zZ2lkICJVc2VybmFtZSIKK21zZ3N0ciAi0IbQvCfRjyDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOCBzeXMtdXRpbHMvcmVuaWNlLmM6NTQKK21zZ2lkICJ1c2VyIElEIgorbXNnc3RyICLRltC0LiDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgInBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAi0L/QsNGA0L7Qu9GMINC90LUg0L/QvtGC0YDRltCx0LXQvSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJQYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgItCf0LDRgNC+0LvRjCDQvdC1INC/0L7RgtGA0ZbQsdC10L0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAibG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgItCy0YXRltC0INC30LAg0L/QsNGA0L7Qu9C10Lwg0LLQuNC80LrQvdC10L3QviIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKK21zZ2lkICJMb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAi0JLRhdGW0LQg0LfQsCDQv9Cw0YDQvtC70LXQvCDQstC40LzQutC90LXQvdC+IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgInBhc3N3b3JkIGRlZmluZWQsIGJ1dCBsb2NrZWQiCittc2dzdHIgItC/0LDRgNC+0LvRjCDQstC40LfQvdCw0YfQtdC90L4sINCw0LvQtSDQt9Cw0LHQu9C+0LrQvtCy0LDQvdC+IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgIlBhc3N3b3JkIGlzIGxvY2tlZCIKK21zZ3N0ciAi0J/QsNGA0L7Qu9GMINC30LDQsdC70L7QutC+0LLQsNC90L4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAibG9nIGluIGRpc2FibGVkIGJ5IG5vbG9naW4oOCkgb3IgcGFtX25vbG9naW4oOCkiCittc2dzdHIgItCy0YXRltC0INCy0LjQvNC60L3QtdC90L4g0LfQsCDQtNC+0L/QvtC80L7Qs9C+0Y4gbm9sb2dpbig4KSDQsNCx0L4gcGFtX25vbG9naW4oOCkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAiTm8gbG9naW4iCittc2dzdHIgItCd0LXQvNCw0ZQg0LfQsNC/0LjRgdGDIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgInByaW1hcnkgZ3JvdXAgbmFtZSIKK21zZ3N0ciAi0L3QsNC30LLQsCDQv9C10YDQstC40L3QvdC+0Zcg0LPRgNGD0L/QuCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJQcmltYXJ5IGdyb3VwIgorbXNnc3RyICLQntGB0L3QvtCy0L3QsCDQs9GA0YPQv9CwIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNAorbXNnaWQgInByaW1hcnkgZ3JvdXAgSUQiCittc2dzdHIgItGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAINC+0YHQvdC+0LLQvdC+0Zcg0LPRgNGD0L/QuCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIG5hbWVzIgorbXNnc3RyICLQvdCw0LfQstC4INC00L7Qv9C+0LzRltC20L3QuNGFINCz0YDRg9C/IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICLQlNC+0L/QvtC80ZbQttC90ZYg0LPRgNGD0L/QuCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAi0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YDQuCDQtNC+0L/QvtC80ZbQttC90LjRhSDQs9GA0YPQvyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAi0IbQtNC10L3RgtC40YTRltC60LDRgtC+0YDQuCDQtNC+0L/QvtC80ZbQttC90LjRhSDQs9GA0YPQvyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKK21zZ2lkICJob21lIGRpcmVjdG9yeSIKK21zZ3N0ciAi0LTQvtC80LDRiNC90ZbQuSDQutCw0YLQsNC70L7QsyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKK21zZ2lkICJIb21lIGRpcmVjdG9yeSIKK21zZ3N0ciAi0JTQvtC80LDRiNC90ZbQuSDQutCw0YLQsNC70L7QsyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKK21zZ2lkICJsb2dpbiBzaGVsbCIKK21zZ3N0ciAi0L7QsdC+0LvQvtC90LrQsCDQstGF0L7QtNGDIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorbXNnaWQgIlNoZWxsIgorbXNnc3RyICLQntCx0L7Qu9C+0L3QutCwIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgImZ1bGwgdXNlciBuYW1lIgorbXNnc3RyICLRltC8J9GPINC60L7RgNC40YHRgtGD0LLQsNGH0LAg0L/QvtCy0L3RltGB0YLRjiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJHZWNvcyBmaWVsZCIKK21zZ3N0ciAi0L/QvtC70LUgR0VDT1MiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiZGF0ZSBvZiBsYXN0IGxvZ2luIgorbXNnc3RyICLQtNCw0YLQsCDQvtGB0YLQsNC90L3RjNC+0LPQviDQstGF0L7QtNGDIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorbXNnaWQgIkxhc3QgbG9naW4iCittc2dzdHIgItCe0YHRgtCw0L3QvdGW0Lkg0LLRhdGW0LQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCittc2dpZCAibGFzdCB0dHkgdXNlZCIKK21zZ3N0ciAi0L7RgdGC0LDQvdC90ZbQuSDQstC40LrQvtGA0LjRgdGC0LDQvdC40Lkg0YLQtdGA0LzRltC90LDQuyB0dHkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCittc2dpZCAiTGFzdCB0ZXJtaW5hbCIKK21zZ3N0ciAi0J7RgdGC0LDQvdC90ZbQuSDRgtC10YDQvNGW0L3QsNC7IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorbXNnaWQgImhvc3RuYW1lIGR1cmluZyB0aGUgbGFzdCBzZXNzaW9uIgorbXNnc3RyICLQvdCw0LfQstCwINCy0YPQt9C70LAg0L/RltC0INGH0LDRgSDQvtGB0YLQsNC90L3RjNC+0LPQviDRgdC10LDQvdGB0YMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiTGFzdCBob3N0bmFtZSIKK21zZ3N0ciAi0J7RgdGC0LDQvdC90Y8g0L3QsNC30LLQsCDQstGD0LfQu9CwIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworbXNnaWQgImRhdGUgb2YgbGFzdCBmYWlsZWQgbG9naW4iCittc2dzdHIgItC00LDRgtCwINC+0YHRgtCw0L3QvdGM0L7RlyDQvdC10LLQtNCw0LvQvtGXINGB0L/RgNC+0LHQuCDRg9Cy0ZbQudGC0LgiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiRmFpbGVkIGxvZ2luIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINGD0LLRltC50YLQuCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKK21zZ2lkICJ3aGVyZSBkaWQgdGhlIGxvZ2luIGZhaWw/IgorbXNnc3RyICLQvdCwINGP0LrQvtC80YMg0LrRgNC+0YbRliDRgdGC0LDQu9Cw0YHRjyDQv9C+0LzQuNC70LrQsCDQv9GW0LQg0YfQsNGBINCy0YXQvtC00YM/IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorbXNnaWQgIkZhaWxlZCBsb2dpbiB0ZXJtaW5hbCIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDRg9Cy0ZbQudGC0Lgg0LTQviDRgtC10YDQvNGW0L3QsNC70LAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAidXNlcidzIGh1c2ggc2V0dGluZ3MiCittc2dzdHIgItC/0LDRgNCw0LzQtdGC0YDQuCDQstGC0LjRhdC+0LzQuNGA0LXQvdC90Y8g0LrQvtGA0LjRgdGC0YPQstCw0YfQsCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJIdXNoZWQiCittc2dzdHIgItCS0YLQuNGF0L7QvNC40YDQtdC90L4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiZGF5cyB1c2VyIGlzIHdhcm5lZCBvZiBwYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICLQmtGW0LvRjNC60ZbRgdGC0Ywg0LTQvdGW0LIg0LzRltC2INC/0LXRgNGI0LjQvCDQv9C+0L/QtdGA0LXQtNC20LXQvdC90Y/QvCDRliDQt9Cw0LLQtdGA0YjQtdC90L3Rj9C8INGB0YLRgNC+0LrRgyDQtNGW0Zcg0L/QsNGA0L7Qu9GPIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24gd2FybiBpbnRlcnZhbCIKK21zZ3N0ciAi0IbQvdGC0LXRgNCy0LDQuyDQvNGW0LYg0L3QsNCz0LDQtNGD0LLQsNC90L3Rj9C80Lgg0YnQvtC00L4g0LfQsNCy0LXRgNGI0LXQvdC90Y8g0YHRgtGA0L7QutGDINC00ZbRlyDQv9Cw0YDQvtC70Y8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAicGFzc3dvcmQgZXhwaXJhdGlvbiBkYXRlIgorbXNnc3RyICLQtNCw0YLQsCDQt9Cw0LLQtdGA0YjQtdC90L3RjyDRgdGC0YDQvtC60YMg0LTRltGXINC/0LDRgNC+0LvRjyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzcKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICLQntCx0LzQtdC20LXQvdC90Y8g0YLQtdGA0LzRltC90YMg0LTRltGXINC/0LDRgNC+0LvRjyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJkYXRlIG9mIGxhc3QgcGFzc3dvcmQgY2hhbmdlIgorbXNnc3RyICLQtNCw0YLQsCDQvtGB0YLQsNC90L3RjNC+0Zcg0LfQvNGW0L3QuCDQv9Cw0YDQvtC70Y8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4Cittc2dpZCAiUGFzc3dvcmQgY2hhbmdlZCIKK21zZ3N0ciAi0J/QsNGA0L7Qu9GMINC30LzRltC90LXQvdC+IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIm51bWJlciBvZiBkYXlzIHJlcXVpcmVkIGJldHdlZW4gY2hhbmdlcyIKK21zZ3N0ciAi0LLQuNC80L7Qs9CwINGJ0L7QtNC+INC60ZbQu9GM0LrRltGB0YLRjCDQtNC90ZbQsiDQvNGW0LYg0LfQvNGW0L3QsNC80LgiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAiTWluaW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAi0JzRltC90ZbQvNCw0LvRjNC90LjQuSDRh9Cw0YEg0LfQvNGW0L3QuCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKK21zZ2lkICJtYXggbnVtYmVyIG9mIGRheXMgYSBwYXNzd29yZCBtYXkgcmVtYWluIHVuY2hhbmdlZCIKK21zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3QsCDQutGW0LvRjNC60ZbRgdGC0Ywg0LTQvdGW0LIsINC/0YDQvtGC0Y/Qs9C+0Lwg0Y/QutC40YUg0L/QsNGA0L7Qu9GMINC80L7QttC1INC70LjRiNCw0YLQuNGB0Y8g0L3QtdC30LzRltC90L3QuNC8IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIk1heGltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgItCc0LDQutGB0LjQvNCw0LvRjNC90LjQuSDRh9Cw0YEg0LfQvNGW0L3QuCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJ0aGUgdXNlcidzIHNlY3VyaXR5IGNvbnRleHQiCittc2dzdHIgItC60L7QvdGC0LXQutGB0YIg0LfQsNGF0LjRgdGC0YMg0LrQvtGA0LjRgdGC0YPQstCw0YfQsCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJTZWxpbnV4IGNvbnRleHQiCittc2dzdHIgItCa0L7QvdGC0LXQutGB0YIgU0VMaW51eCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIHJ1biBieSB0aGUgdXNlciIKK21zZ3N0ciAi0LrRltC70YzQutGW0YHRgtGMINC/0YDQvtGG0LXRgdGW0LIsINC30LDQv9GD0YnQtdC90LjRhSDQutC+0YDQuNGB0YLRg9Cy0LDRh9C10LwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCittc2dpZCAiUnVubmluZyBwcm9jZXNzZXMiCittc2dzdHIgItCX0LDQv9GD0YnQtdC90ZYg0L/RgNC+0YbQtdGB0LgiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6Mjg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNiBtaXNjLXV0aWxzL2xzYmxrLmM6MjMxCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgY29sdW1ucyBzcGVjaWZpZWQsIHRoZSBsaW1pdCBpcyAlenUgY29sdW1ucyIKK21zZ3N0ciAi0LLQutCw0LfQsNC90L4g0L3QsNC00YLQviDQsdCw0LPQsNGC0L4g0YHRgtC+0LLQv9GH0LjQutGW0LIsINC80L7QttC90LAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INC90LUg0LHRltC70YzRiNC1INC30LAgJXp1IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0MyBzeXMtdXRpbHMvbHNpcGMuYzo0NTYKK21zZ2lkICJ1bnN1cHBvcnRlZCB0aW1lIHR5cGUiCittc2dzdHIgItC90LXQv9GW0LTRgtGA0LjQvNGD0LLQsNC90LjQuSDRgtC40L8g0YfQsNGB0YMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQ3Cittc2dpZCAiZmFpbGVkIHRvIGNvbXBvc2UgdGltZSBzdHJpbmciCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L/QvtCx0YPQtNGD0LLQsNGC0Lgg0YDRj9C00L7QuiDRh9Cw0YHRgyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo2NDgKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0LTQvtC/0L7QvNGW0LbQvdGWINCz0YDRg9C/0LgiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA3MQorbXNnaWQgImludGVybmFsIGVycm9yOiB1bmtub3duIGNvbHVtbiIKK21zZ3N0ciAi0LLQvdGD0YLRgNGW0YjQvdGPINC/0L7QvNC40LvQutCwOiDQvdC10LLRltC00L7QvNC40Lkg0YHRgtC+0LLQv9GH0LjQuiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDc1IHN5cy11dGlscy9sc2lwYy5jOjUwMyBzeXMtdXRpbHMvbHNpcGMuYzo2MjUKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY4MCBzeXMtdXRpbHMvbHNpcGMuYzo4Mzggc3lzLXV0aWxzL2xzaXBjLmM6MTAzNgorbXNnaWQgImZhaWxlZCB0byBzZXQgZGF0YSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9Cw0L/QuNGB0LDRgtC4INC00LDQvdGWIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjExNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxhc3QgbG9nczpcbiIKK21zZ3N0ciAiIgorIlxuIgorItCe0YHRgtCw0L3QvdGWINCy0YXQvtC00Lg6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyOCBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMSBtaXNjLXV0aWxzL21jb29raWUuYzo4MiBtaXNjLXV0aWxzL3V1aWRkLmM6NzAKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI1IHN5cy11dGlscy9kbWVzZy5jOjI2NCBzeXMtdXRpbHMvaXBjbWsuYzo2NgorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2MCBzeXMtdXRpbHMvbHNpcGMuYzoyNzcgc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA0CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjk1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MCB0ZXh0LXV0aWxzL2xpbmUuYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgNC4XVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzEKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgItCf0L7QutCw0LfQsNGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0LLRltC00L7QvNC40YUg0LrQvtGA0LjRgdGC0YPQstCw0YfRltCyINGB0LjRgdGC0LXQvNC4LlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzQKK21zZ2lkICIgLWEsIC0tYWNjLWV4cGlyYXRpb24gICAgIGRpc3BsYXkgaW5mbyBhYm91dCBwYXNzd29yZHMgZXhwaXJhdGlvblxuIgorbXNnc3RyICIgLWEsIC0tYWNjLWV4cGlyYXRpb24gICAgINCy0LjQstC10YHRgtC4INC00LDQvdGWINGJ0L7QtNC+INGB0YLRgNC+0LrRltCyINC30LDQstC10YDRiNC10L3QvdGPINC00ZbRlyDQv9Cw0YDQvtC70ZbQslxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzUKK21zZ2lkICIgLWMsIC0tY29sb24tc2VwYXJhdGUgICAgIGRpc3BsYXkgZGF0YSBpbiBhIGZvcm1hdCBzaW1pbGFyIHRvIC9ldGMvcGFzc3dkXG4iCittc2dzdHIgIiAtYywgLS1jb2xvbi1zZXBhcmF0ZSAgICAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YMg0YTQvtGA0LzQsNGC0ZYsINC/0L7QtNGW0LHQvdC+0LzRgyDQtNC+INGE0L7RgNC80LDRgtGDIC9ldGMvcGFzc3dkXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNiBzeXMtdXRpbHMvbHNpcGMuYzoyOTYKK21zZ2lkICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGRpc3BsYXkgaW4gYW4gZXhwb3J0LWFibGUgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INC00LDQvdGWINGDINGE0L7RgNC80LDRgtGWLCDQv9GA0LjQtNCw0YLQvdC+0LzRgyDQtNC+INC10LrRgdC/0L7RgNGC0YPQstCw0L3QvdGPXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNworbXNnaWQgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAgZGlzcGxheSBkYXRhIGFib3V0IHRoZSB1c2VycycgbGFzdCBmYWlsZWQgbG9naW5zXG4iCittc2dzdHIgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0L7RgdGC0LDQvdC90ZbRhSDQvdC10LLQtNCw0LvQuNGFINGB0L/RgNC+0LEg0LrQvtGA0LjRgdGC0YPQstCw0YfRltCyINGD0LLRltC50YLQuCDQtNC+INGB0LjRgdGC0LXQvNC4XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOAorbXNnaWQgIiAtRywgLS1zdXBwLWdyb3VwcyAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBncm91cHNcbiIKK21zZ3N0ciAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICDQv9C+0LrQsNC30LDRgtC4INC00LDQvdGWINGJ0L7QtNC+INCz0YDRg9C/XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOQorbXNnaWQgIiAtZywgLS1ncm91cHM9PGdyb3Vwcz4gICAgZGlzcGxheSB1c2VycyBiZWxvbmdpbmcgdG8gYSBncm91cCBpbiA8Z3JvdXBzPlxuIgorbXNnc3RyICIgLWcsIC0tZ3JvdXBzPTzQs9GA0YPQv9C4PiAgICDQstC40LLQtdGB0YLQuCDRgdC/0LjRgdC+0Log0LrQvtGA0LjRgdGC0YPQstCw0YfRltCyLCDRidC+INC90LDQu9C10LbQsNGC0Ywg0LTQviDQs9GA0YPQv9C4INGDINCz0YDRg9C/0LDRhSA80LPRgNGD0L/QuD5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQwCittc2dpZCAiIC1MLCAtLWxhc3QgICAgICAgICAgICAgICBzaG93IGluZm8gYWJvdXQgdGhlIHVzZXJzJyBsYXN0IGxvZ2luIHNlc3Npb25zXG4iCittc2dzdHIgIiAtTCwgLS1sYXN0ICAgICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0L7RgdGC0LDQvdC90ZbRhSDRgdC10LDQvdGB0ZbQsiDQstGF0L7QtNGDINC60L7RgNC40YHRgtGD0LLQsNGH0ZbQslxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDEKK21zZ2lkICIgLWwsIC0tbG9naW5zPTxsb2dpbnM+ICAgIGRpc3BsYXkgb25seSB1c2VycyBmcm9tIDxsb2dpbnM+XG4iCittc2dzdHIgIiAtbCwgLS1sb2dpbnM9PNC30LDQv9C40YHQuD4gICAg0LLQuNCy0LXRgdGC0Lgg0LvQuNGI0LUg0LrQvtGA0LjRgdGC0YPQstCw0YfRltCyINC30ZYg0YHQv9C40YHQutGDIDzQt9Cw0L/QuNGB0Lg+XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MiBzeXMtdXRpbHMvbHNpcGMuYzoyOTgKK21zZ2lkICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGRpc3BsYXkgZWFjaCBwaWVjZSBvZiBpbmZvcm1hdGlvbiBvbiBhIG5ldyBsaW5lXG4iCittc2dzdHIgIiAtbiwgLS1uZXdsaW5lICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LrQvtC20LXQvSDQtyDRhNGA0LDQs9C80LXQvdGC0ZbQsiDQtNCw0L3QuNGFINC3INC90L7QstC+0LPQviDRgNGP0LTQutCwXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MyBzeXMtdXRpbHMvbHNpcGMuYzoyOTEKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAg0L3QtSDQstC40LLQvtC00LjRgtC4INC30LDQs9C+0LvQvtCy0LrQuFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDQgc3lzLXV0aWxzL2xzaXBjLmM6MjkyCittc2dpZCAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBkb24ndCB0cnVuY2F0ZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICDQvdC1INC+0LHRgNGW0LfQsNGC0Lgg0LLQuNCy0LXQtNC10L3RliDQtNCw0L3RllxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDUgc3lzLXV0aWxzL2xzaXBjLmM6MzAwCittc2dpZCAiIC1vLCAtLW91dHB1dFs9PGxpc3Q+XSAgICBkZWZpbmUgdGhlIGNvbHVtbnMgdG8gb3V0cHV0XG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXRbPTzRgdC/0LjRgdC+0Lo+XSAg0LLQuNC30L3QsNGH0LjRgtC4INGB0YLQvtCy0L/Rh9C40LrQuCDQtNCw0L3QuNGFINC00LvRjyDQstC40LLQtdC00LXQvdC90Y9cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ2Cittc2dpZCAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gbG9naW4gYnkgcGFzc3dvcmQuXG4iCittc2dzdHIgIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYsINC/0L7QsuKAmdGP0LfQsNC90ZYg0ZbQtyDQstGF0L7QtNC+0Lwg0LfQsCDQv9Cw0YDQvtC70LXQvC5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ3IHN5cy11dGlscy9sc2lwYy5jOjMwMgorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgZGlzcGxheSBpbiByYXcgbW9kZVxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INC00LDQvdGWINGDINGA0LXQttC40LzRliDQsdC10Lcg0L7QsdGA0L7QsdC60LhcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ4Cittc2dpZCAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICBkaXNwbGF5IHN5c3RlbSBhY2NvdW50c1xuIgorbXNnc3RyICIgLXMsIC0tc3lzdGVtLWFjY3MgICAgICAgINCy0LjQstC10YHRgtC4INGB0L/QuNGB0L7QuiDQvtCx0LvRltC60L7QstC40YUg0LfQsNC/0LjRgdGW0LIg0YHQuNGB0YLQtdC80LhcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ5IHN5cy11dGlscy9sc2lwYy5jOjI5MworbXNnaWQgIiAgICAgLS10aW1lLWZvcm1hdD08dHlwZT4gZGlzcGxheSBkYXRlcyBpbiBzaG9ydCwgZnVsbCBvciBpc28gZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS10aW1lLWZvcm1hdD080YLQuNC/PiAg0LLQuNCy0LXRgdGC0Lgg0LTQsNGC0Lgg0YMg0YHQutC+0YDQvtGH0LXQvdC+0LzRgywg0L/QvtCy0L3QvtC80YMg0YTQvtGA0LzQsNGC0ZYg0LDQsdC+INGE0L7RgNC80LDRgtGWIElTT1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTAKK21zZ2lkICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIGRpc3BsYXkgdXNlciBhY2NvdW50c1xuIgorbXNnc3RyICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgINCy0LjQstC10YHRgtC4INGB0L/QuNGB0L7QuiDQvtCx0LvRltC60L7QstC40YUg0LfQsNC/0LjRgdGW0LIg0LrQvtGA0LjRgdGC0YPQstCw0YfRltCyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MQorbXNnaWQgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgZGlzcGxheSBTRUxpbnV4IGNvbnRleHRzXG4iCittc2dzdHIgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LrQvtC90YLQtdC60YHRgtC4IFNFTGludXhcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUyCittc2dpZCAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0IHVzZXIgZW50cmllcyB3aXRoIGEgbnVsIGNoYXJhY3RlclxuIgorbXNnc3RyICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgINCy0ZbQtNC+0LrRgNC10LzQu9GO0LLQsNGC0Lgg0LfQsNC/0LjRgdC4INC60L7RgNC40YHRgtGD0LLQsNGH0ZbQsiDQvdGD0LvRjNC+0LLQuNC8INGB0LjQvNCy0L7Qu9C+0LxcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUzCittc2dpZCAiICAgICAtLXd0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIHd0bXBcbiIKK21zZ3N0ciAiICAgICAtLXd0bXAtZmlsZSA80YjQu9GP0YU+ICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LDQu9GM0YLQtdGA0L3QsNGC0LjQstC90LjQuSDRiNC70Y/RhSDQtNC70Y8gd3RtcFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTQKK21zZ2lkICIgICAgIC0tYnRtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3IgYnRtcFxuIgorbXNnc3RyICIgICAgIC0tYnRtcC1maWxlIDzRiNC70Y/RhT4gICDQstGB0YLQsNC90L7QstC40YLQuCDQsNC70YzRgtC10YDQvdCw0YLQuNCy0L3QuNC5INGI0LvRj9GFINC00LvRjyBidG1wXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1OSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ3IHN5cy11dGlscy9sc2NwdS5jOjE5NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisiXG4iCisi0JTQvtGB0YLRg9C/0L3RliDRgdGC0L7QstC/0YfQuNC60Lg6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ0MgorbXNnaWQgImZhaWxlZCB0byByZXF1ZXN0IHNlbGludXggc3RhdGUiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L3QsNC00ZbRgdC70LDRgtC4INC30LDQv9C40YIg0YnQvtC00L4g0YHRgtCw0L3RgyBzZWxpbnV4IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NTYgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDYwCittc2dpZCAiT25seSBvbmUgdXNlciBtYXkgYmUgc3BlY2lmaWVkLiBVc2UgLWwgZm9yIG11bHRpcGxlIHVzZXJzLiIKK21zZ3N0ciAi0JzQvtC20L3QsCDQstC60LDQt9Cw0YLQuCDQu9C40YjQtSDQvtC00L3QvtCz0L4g0LrQvtGA0LjRgdGC0YPQstCw0YfQsC4g0JTQu9GPINC00LXQutGW0LvRjNC60L7RhSDQutC+0YDQuNGB0YLRg9Cy0LDRh9GW0LIg0YHQutC+0YDQuNGB0YLQsNC50YLQtdGB0Y8g0L/QsNGA0LDQvNC10YLRgNC+0LwgLWwuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo0OSBsb2dpbi11dGlscy9uZXdncnAuYzo1NQorbXNnaWQgImNvdWxkIG5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDQsNGC0YDQuNCx0YPRgtC4INGC0LXRgNC80ZbQvdCw0LvQsCIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTcKK21zZ2lkICJnZXRsaW5lKCkgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCBnZXRsaW5lKCkiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE0OAorbXNnaWQgIlBhc3N3b3JkOiAiCittc2dzdHIgItCf0LDRgNC+0LvRjDogIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNTQgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMDUKK21zZ2lkICJjcnlwdCBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwINGI0LjRhNGA0YPQstCw0L3QvdGPIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxncm91cD5cbiIKK21zZ3N0ciAiICVzIDzQs9GA0YPQv9CwPlxuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjkKK21zZ2lkICJMb2cgaW4gdG8gYSBuZXcgZ3JvdXAuXG4iCittc2dzdHIgItCj0LLRltC50YLQuCDQtNC+INC90L7QstC+0Zcg0LPRgNGD0L/QuC5cbiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjA3Cittc2dpZCAid2hvIGFyZSB5b3U/IgorbXNnc3RyICLQstC4INGF0YLQvj8iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxMSBsb2dpbi11dGlscy9uZXdncnAuYzoyMjMgc3lzLXV0aWxzL25zZW50ZXIuYzo0MjMKK21zZ2lkICJzZXRnaWQgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCBzZXRnaWQiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxNiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTgKK21zZ2lkICJubyBzdWNoIGdyb3VwIgorbXNnc3RyICLRgtCw0LrQvtGXINCz0YDRg9C/0Lgg0L3QtdC80LDRlCIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjIxIHN5cy11dGlscy9tb3VudC5jOjQ5MQorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIgorbXNnc3RyICLQstGW0LTQvNC+0LLQu9C10L3QviDRgyDQtNC+0YHRgtGD0L/RliIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI3IHN5cy11dGlscy9uc2VudGVyLmM6NDI1Cittc2dpZCAic2V0dWlkIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgc2V0dWlkIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjkKK21zZ2lkICJQb2xpdGVseSByZWZ1c2UgYSBsb2dpbi5cbiIKK21zZ3N0ciAi0KPQstGW0YfQu9C40LLQviDQstGW0LTQvNC+0LLQuNGC0Lgg0YMg0LLRhdC+0LTRliDQtNC+INGB0LjRgdGC0LXQvNC4LlxuIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhpcyBhY2NvdW50IGlzIGN1cnJlbnRseSBub3QgYXZhaWxhYmxlLlxuIgorbXNnc3RyICLQptC10Lkg0L7QsdC70ZbQutC+0LLQuNC5INC30LDQv9C40YEg0L3QsNGA0LDQt9GWINGUINC90LXQtNC+0YHRgtGD0L/QvdC40LwuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBzZXNzaW9uOiAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGW0LTQutGA0LjRgtC4INGB0LXQsNC90YE6ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMDQKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGNoaWxkIHByb2Nlc3MiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0YHRgtCy0L7RgNC40YLQuCDQtNC+0YfRltGA0L3RltC5INC/0YDQvtGG0LXRgSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC30LzRltC90LjRgtC4INC60LDRgtCw0LvQvtCzINC90LAgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMyMQorbXNnaWQgImNhbm5vdCBibG9jayBzaWduYWxzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC30LDQsdC70L7QutGD0LLQsNGC0Lgg0YHQuNCz0L3QsNC70LgiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMzNSBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNDMKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM0OSBtaXNjLXV0aWxzL3V1aWRkLmM6NDA3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzcxCittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDQvtCx0YDQvtCx0L3QuNC6INGB0LjQs9C90LDQu9GDIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNzQKK21zZ2lkICIgKGNvcmUgZHVtcGVkKSIKK21zZ3N0ciAiICjRgdGC0LLQvtGA0LXQvdC+INC00LDQvNC/INC/0LDQvOKAmdGP0YLRlikiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLCBraWxsaW5nIHNoZWxsLi4uIgorbXNnc3RyICIiCisiXG4iCisi0KHQtdCw0L3RgSDQv9C10YDQtdGA0LLQsNC90L4sINC30LDQstC10YDRiNGD0ZTQvNC+INGA0L7QsdC+0YLRgyDQvtCx0L7Qu9C+0L3QutC44oCmIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC4uLmtpbGxlZC5cbiIKK21zZ3N0ciAiIOKAptC30LDQstC10YDRiNC10L3Qvi5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NDg2Cittc2dpZCAibWF5IG5vdCBiZSB1c2VkIGJ5IG5vbi1yb290IHVzZXJzIgorbXNnc3RyICLQvdC1INC80L7QttC1INCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuNGB0Y8g0L3RltC60LjQvCwg0L7QutGA0ZbQvCByb290IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MTQKK21zZ2lkICJpbmNvcnJlY3QgcGFzc3dvcmQiCittc2dzdHIgItC/0L7QvNC40LvQutC+0LLQuNC5INC/0LDRgNC+0LvRjCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTk4Cittc2dpZCAiY2Fubm90IHNldCBncm91cHMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LPRgNGD0L/QuCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjEzIHN5cy11dGlscy9lamVjdC5jOjY2NQorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXAgaWQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LPRgNGD0L/QvtCy0LjQuSBpZCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjE1IHN5cy11dGlscy9lamVjdC5jOjY2OAorbXNnaWQgImNhbm5vdCBzZXQgdXNlciBpZCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCBpZCDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIC11IDzQutC+0YDQuNGB0YLRg9Cy0LDRhz4gPNC60L7QvNCw0L3QtNCwPlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2ODkgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gWy1dIFs80LrQvtGA0LjRgdGC0YPQstCw0Yc+IFs80LDRgNCz0YPQvNC10L3Rgj4uLi5dXVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2OTAKK21zZ2lkICIiCisiXG4iCisiUnVuIDxjb21tYW5kPiB3aXRoIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgb2YgPHVzZXI+LiAgSWYgLXUgaXNcbiIKKyJub3QgZ2l2ZW4sIGZhbGwgYmFjayB0byBzdSgxKS1jb21wYXRpYmxlIHNlbWFudGljcyBhbmQgZXhlY3V0ZSBzdGFuZGFyZCBzaGVsbC5cbiIKKyJUaGUgb3B0aW9ucyAtYywgLWYsIC1sLCBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC11LlxuIgorbXNnc3RyICIiCisiXG4iCisi0JLQuNC60L7QvdCw0YLQuCDQutC+0LzQsNC90LTRgyA80LrQvtC80LDQvdC00LA+INCy0ZbQtCDRltC80LXQvdGWINC60L7RgNC40YHRgtGD0LLQsNGH0LAg0ZYg0LPRgNGD0L/QuCA80LrQvtGA0LjRgdGC0YPQstCw0Yc+LiDQr9C60YnQvlxuIgorItC90LUg0LLQutCw0LfQsNC90L4gLXUsINC60L7QvNCw0L3QtNCwINCy0LjQutC+0L3Rg9GU0YLRjNGB0Y8g0YMg0YDQtdC20LjQvNGWINGB0LXQvNCw0L3RgtC40LrQuCBzdSgxKSDRltC3INC30LDQv9GD0YHQutC+0Lwg0YHRgtCw0L3QtNCw0YDRgtC90L7RlyDQutC+0LzQsNC90LTQvdC+0Zcg0L7QsdC+0LvQvtC90LrQuC5cbiIKKyLQn9Cw0YDQsNC80LXRgtGA0LggLWwsIC1jLCAtZiDRliAtcyDQvdC1INC80L7QttC90LAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INGA0LDQt9C+0Lwg0LcgLXUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY5NworbXNnaWQgIiAtdSwgLS11c2VyIDx1c2VyPiAgICAgICAgICAgICB1c2VybmFtZVxuIgorbXNnc3RyICIgLXUsIC0tdXNlciA80LrQvtGA0LjRgdGC0YPQstCw0Yc+ICAgICAgINGW0LzigJnRjyDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwMgorbXNnaWQgIiIKKyJcbiIKKyJDaGFuZ2UgdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCB0byB0aGF0IG9mIDx1c2VyPi5cbiIKKyJBIG1lcmUgLSBpbXBsaWVzIC1sLiAgSWYgPHVzZXI+IGlzIG5vdCBnaXZlbiwgcm9vdCBpcyBhc3N1bWVkLlxuIgorbXNnc3RyICIiCisiXG4iCisi0JfQvNGW0L3QuNGC0Lgg0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YAg0L/QvtGC0L7Rh9C90L7Qs9C+INC60L7RgNC40YHRgtGD0LLQsNGH0LAg0ZYg0LPRgNGD0L/QuCDQvdCwINCy0LrQsNC30LDQvdGWINC00LDQvdGWLlxuIgorItCf0YDQvtGB0YLQviDQt9C90LDQuiDQvNGW0L3Rg9GBINC+0LfQvdCw0YfQsNGUIC1sLiDQr9C60YnQviA80LrQvtGA0LjRgdGC0YPQstCw0Yc+INC90LUg0LLQutCw0LfQsNC90L4sXG4iCisi0LLQuNC60L7RgNC40YHRgtC+0LLRg9GU0YLRjNGB0Y8gcm9vdC5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzA5Cittc2dpZCAiIC1tLCAtcCwgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCAgZG8gbm90IHJlc2V0IGVudmlyb25tZW50IHZhcmlhYmxlc1xuIgorbXNnc3RyICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICDQvdC1INGB0LrQuNC00LDRgtC4INC30LzRltC90L3RliDRgdC10YDQtdC00L7QstC40YnQsFxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTAKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgICAgICAgICBzcGVjaWZ5IHRoZSBwcmltYXJ5IGdyb3VwXG4iCittc2dzdHIgIiAtZywgLS1ncm91cCA80LPRgNGD0L/QsD4gICAgICAgICAgICAg0LLQutCw0LfQsNGC0Lgg0L7RgdC90L7QstGDINCz0YDRg9C/0YNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzExCittc2dpZCAiIgorIiAtRywgLS1zdXBwLWdyb3VwIDxncm91cD4gICAgICAgIHNwZWNpZnkgYSBzdXBwbGVtZW50YWwgZ3JvdXBcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtRywgLS1zdXBwLWdyb3VwIDzQs9GA0YPQv9CwPiAgICAgICAg0LLQutCw0LfQsNGC0Lgg0LTQvtC/0L7QvNGW0LbQvdGDINCz0YDRg9C/0YNcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzEzCittc2dpZCAiIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgICAgbWFrZSB0aGUgc2hlbGwgYSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICDQv9C10YDQtdGC0LLQvtGA0LjRgtC4INC+0LHQvtC70L7QvdC60YMg0L3QsCDQvtCx0L7Qu9C+0L3QutGDINCy0YXQvtC00YMg0LTQviDRgdC40YHRgtC10LzQuFxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTQKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKK21zZ3N0ciAiIC1jICAtLWNvbW1hbmQgPNC60L7QvNCw0L3QtNCwPiAgICAgICAgINC/0LXRgNC10LTQsNGC0Lgg0L7QsdC+0LvQvtC90YbRliDQvtC00L3RgyDQutC+0LzQsNC90LTRgyDQt9CwINC00L7Qv9C+0LzQvtCz0L7RjiAtY1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTUKK21zZ2lkICIiCisiIC0tc2Vzc2lvbi1jb21tYW5kIDxjb21tYW5kPiAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZG8gbm90IGNyZWF0ZSBhIG5ldyBzZXNzaW9uXG4iCittc2dzdHIgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPNC60L7QvNCw0L3QtNCwPiAgICAg0L/QtdGA0LXQtNCw0YLQuCDQvtCx0L7Qu9C+0L3RhtGWINC+0LTQvdGDINC60L7QvNCw0L3QtNGDINC30LAg0LTQvtC/0L7QvNC+0LPQvtGOIC1jXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDRliDQvdC1INGB0YLQstC+0YDRjtCy0LDRgtC4INC90L7QstC+0LPQviDRgdC10LDQvdGB0YMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxNworbXNnaWQgIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgIHBhc3MgLWYgdG8gdGhlIHNoZWxsIChmb3IgY3NoIG9yIHRjc2gpXG4iCittc2dzdHIgIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgINC/0LXRgNC10LTQsNGC0Lgg0L7QsdC+0LvQvtC90YbRliAtZiAo0LTQu9GPIGNzaCDQsNCx0L4gdGNzaClcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE4Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgICAgcnVuIDxzaGVsbD4gaWYgL2V0Yy9zaGVsbHMgYWxsb3dzIGl0XG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA80L7QsdC+0LvQvtC90LrQsD4gICAgICAgICAg0LfQsNC/0YPRgdGC0LjRgtC4INC+0LHQvtC70L7QvdC60YMsINGP0LrRidC+INGG0LUg0LTQvtC30LLQvtC70LXQvdC+INGDIC9ldGMvc2hlbGxzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc2MgorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXAgaXMgbm90IHBvc3NpYmxlIgorbXNnaWRfcGx1cmFsICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXBzIGlzIG5vdCBwb3NzaWJsZSIKK21zZ3N0clswXSAi0L3QtSDQvNC+0LbQvdCwINCy0LjQt9C90LDRh9Cw0YLQuCDQsdGW0LvRjNGI0LUg0LfQsCAlZCDQtNC+0L/QvtC80ZbQttC90YMg0LPRgNGD0L/RgyIKK21zZ3N0clsxXSAi0L3QtSDQvNC+0LbQvdCwINCy0LjQt9C90LDRh9Cw0YLQuCDQsdGW0LvRjNGI0LUg0LfQsCAlZCDQtNC+0L/QvtC80ZbQttC90ZYg0LPRgNGD0L/QuCIKK21zZ3N0clsyXSAi0L3QtSDQvNC+0LbQvdCwINCy0LjQt9C90LDRh9Cw0YLQuCDQsdGW0LvRjNGI0LUg0LfQsCAlZCDQtNC+0L/QvtC80ZbQttC90LjRhSDQs9GA0YPQvyIKK21zZ3N0clszXSAi0L3QtSDQvNC+0LbQvdCwINCy0LjQt9C90LDRh9Cw0YLQuCDQsdGW0LvRjNGI0LUg0LfQsCDQvtC00L3RgyDQtNC+0L/QvtC80ZbQttC90YMg0LPRgNGD0L/RgyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzY4CisjLCBjLWZvcm1hdAorbXNnaWQgImdyb3VwICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICLQs9GA0YPQv9C4INC3INC90LDQt9Cy0L7RjiDCqyVzwrsg0L3QtSDRltGB0L3Rg9GUIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4ODYKK21zZ2lkICJpZ25vcmluZyAtLXByZXNlcnZlLWVudmlyb25tZW50LCBpdCdzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tbG9naW4iCittc2dzdHIgItGW0LPQvdC+0YDRg9GU0LzQviAtLXByZXNlcnZlLWVudmlyb25tZW50LCDQudC+0LPQviDQvdC1INC80L7QttC90LAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INGA0LDQt9C+0Lwg0LcgLS1sb2dpbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODk3Cittc2dpZCAib3B0aW9ucyAtLXtzaGVsbCxmYXN0LGNvbW1hbmQsc2Vzc2lvbi1jb21tYW5kLGxvZ2lufSBhbmQgLS11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgItC/0LDRgNCw0LzQtdGC0YDQuCAtLXtzaGVsbCxmYXN0LGNvbW1hbmQsc2Vzc2lvbi1jb21tYW5kLGxvZ2lufSDRliAtLXVzZXIg0L3QtSDQvNC+0LbQvdCwINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDRgNCw0LfQvtC8IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5MDEKK21zZ2lkICJubyBjb21tYW5kIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgItC90LUg0LLQutCw0LfQsNC90L4g0LrQvtC80LDQvdC00LgiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkxNQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gc3BlY2lmeSBhbHRlcm5hdGl2ZSBncm91cHMiCittc2dzdHIgItCw0LvRjNGC0LXRgNC90LDRgtC40LLQvdGWINCz0YDRg9C/0Lgg0LzQvtC20LUg0LLQuNC30L3QsNGH0LDRgtC4INC70LjRiNC1IHJvb3QiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkyMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICLQutC+0YDQuNGB0YLRg9Cy0LDRh9CwICVzINC90LUg0ZbRgdC90YPRlCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTYyCisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIHJlc3RyaWN0ZWQgc2hlbGwgJXMiCittc2dzdHIgItCy0LjQutC+0YDQuNGB0YLQvtCy0YPRlNGC0YzRgdGPINC+0LHQvNC10LbQtdC90LAg0L7QsdC+0LvQvtC90LrQsCAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICLQv9C+0L/QtdGA0LXQtNC20LXQvdC90Y86INC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQvNGW0L3QuNGC0Lgg0LrQsNGC0LDQu9C+0LMg0L3QsCAlcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEzMAorbXNnaWQgInRjZ2V0YXR0ciBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwIHRjZ2V0YXR0ciIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjIwNworbXNnaWQgInRjc2V0YXR0ciBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwIHRjc2V0YXR0ciIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiJXM6INC90LXQvNCw0ZQg0LfQsNC/0LjRgdGDINC00LvRjyByb290XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290IgorbXNnc3RyICIlczog0L3QtdC80LDRlCDQt9Cw0L/QuNGB0YMg0LTQu9GPIHJvb3QiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJvb3QgcGFzc3dvcmQgZ2FyYmxlZCIKK21zZ3N0ciAiJXM6INC/0LDRgNC+0LvRjCDQsNC00LzRltC90ZbRgdGC0YDQsNGC0L7RgNCwIChyb290KSDQstC40LrRgNC40LLQu9C10L3QviIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQ2Fubm90IG9wZW4gYWNjZXNzIHRvIGNvbnNvbGUsIHRoZSByb290IGFjY291bnQgaXMgbG9ja2VkLlxuIgorIlNlZSBzdWxvZ2luKDgpIG1hbiBwYWdlIGZvciBtb3JlIGRldGFpbHMuXG4iCisiXG4iCisiUHJlc3MgRW50ZXIgdG8gY29udGludWUuXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQndC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0LTQvtGB0YLRg9C/INC00L4g0LrQvtC90YHQvtC70ZYsINC+0LHQu9GW0LrQvtCy0LjQuSDQt9Cw0L/QuNGBIHJvb3Qg0LfQsNCx0LvQvtC60L7QstCw0L3Qvi5cbiIKKyLQqdC+0LEg0LTRltC30L3QsNGC0LjRgdGPINCx0ZbQu9GM0YjQtSwg0L7Qt9C90LDQudC+0LzRgtC10YHRjyDRltC3INGB0YLQvtGA0ZbQvdC60L7RjiDQtNC+0LLRltC00L3QuNC60LAg0Lcgc3Vsb2dpbig4KS5cbiIKKyJcbiIKKyLQndCw0YLQuNGB0L3RltGC0YwgRW50ZXIsINGJ0L7QsSDQv9GA0L7QtNC+0LLQttC40YLQuC5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzOAorIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIGxvZ2luOiAiCittc2dzdHIgItCS0LrQsNC20ZbRgtGMINC/0LDRgNC+0LvRjCByb290LCDRidC+0LEg0YPQstGW0LnRgtC4INC00L4g0YHQuNGB0YLQtdC80Lg6ICIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MAorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbG9naW46ICIKK21zZ3N0ciAi0J3QsNGC0LjRgdC90ZbRgtGMIEVudGVyLCDRidC+0LEg0YPQstGW0LnRgtC4INC00L4g0YHQuNGB0YLQtdC80Lg6ICIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgItCS0LrQsNC20ZbRgtGMINC/0LDRgNC+0LvRjCByb290LCDRidC+0LEg0LLQuNC60L7QvdCw0YLQuCDQtNGW0Zcg0Lcg0L/RltC00YLRgNC40LzQsNC90L3RjyDQv9GA0LDRhtC10LfQtNCw0YLQvdC+0YHRgtGWINGB0LjRgdGC0LXQvNC4XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgItCd0LDRgtC40YHQvdGW0YLRjCBFbnRlciwg0YnQvtCxINC/0LXRgNC10LnRgtC4INC00L4g0YDQtdC20LjQvNGDINGB0YPQv9GA0L7QstC+0LTRg1xuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIihvciBwcmVzcyBDb250cm9sLUQgdG8gY29udGludWUpOiAiCittc2dzdHIgIijQsNCx0L4g0L3QsNGC0LjRgdC90ZbRgtGMIEN0cmwtRCwg0YnQvtCxINC/0YDQvtC00L7QstC20LjRgtC4KTogIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzQyCittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSB0byBzeXN0ZW0gcm9vdCBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDQt9C80ZbQvdC4INC60LDRgtCw0LvQvtCz0YMg0L3QsCDQutC+0YDQtdC90LXQstC40Lkg0LrQsNGC0LDQu9C+0LMg0YHQuNGB0YLQtdC80Lgg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTEKK21zZ2lkICJzZXRleGVjY29uIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgc2V0ZXhlY2NvbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxMQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFt0dHkgZGV2aWNlXVxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gW9C/0YDQuNGB0YLRgNGW0LkgdHR5XVxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODE0Cittc2dpZCAiU2luZ2xlLXVzZXIgbG9naW4uXG4iCittc2dzdHIgItCS0YXRltC0INC00LvRjyDQvtC00L3QvtCz0L4g0LrQvtGA0LjRgdGC0YPQstCw0YfQsC5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxNworbXNnaWQgIiIKKyIgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgIHN0YXJ0IGEgbG9naW4gc2hlbGxcbiIKKyIgLXQsIC0tdGltZW91dCA8c2Vjb25kcz4gIG1heCB0aW1lIHRvIHdhaXQgZm9yIGEgcGFzc3dvcmQgKGRlZmF1bHQ6IG5vIGxpbWl0KVxuIgorIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAgZXhhbWluZSBwYXNzd29yZCBmaWxlcyBkaXJlY3RseSBpZiBnZXRwd25hbSgzKSBmYWlsc1xuIgorbXNnc3RyICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICDQt9Cw0L/Rg9GB0YLQuNGC0Lgg0L7QsdC+0LvQvtC90LrRgyDRgNC10ZTRgdGC0YDQsNGG0ZbRl1xuIgorIiAtdCwgLS10aW1lb3V0IDzRgdC10LrRg9C90LTQuD4gINC80LDQutGB0LjQvNCw0LvRjNC90LAg0YLRgNC40LLQsNC70ZbRgdGC0Ywg0L7Rh9GW0LrRg9Cy0LDQvdC90Y8g0L3QsCDQv9Cw0YDQvtC70YwgKNGC0LjQv9C+0LLQviDQvdC1INC+0LHQvNC10LbRg9GU0YLRjNGB0Y8pXG4iCisiIC1lLCAtLWZvcmNlICAgICAgICAgICAgICDQv9C10YDQtdCy0ZbRgNC40YLQuCDRhNCw0LnQu9C4INC/0LDRgNC+0LvRltCyINCx0LXQt9C/0L7RgdC10YDQtdC00L3RjNC+LCDRj9C60YnQviDRhtC1INC90LUg0LzQvtC20LUg0LfRgNC+0LHQuNGC0LggZ2V0cHduYW0oMylcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg3MSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDYzIHN5cy11dGlscy93ZGN0bC5jOjUyMworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3NTAgdGVybS11dGlscy93YWxsLmM6MTM1Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0YfQsNGB0YMg0L7Rh9GW0LrRg9Cy0LDQvdC90Y8iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4OTMKK21zZ2lkICJvbmx5IHN1cGVydXNlciBjYW4gcnVuIHRoaXMgcHJvZ3JhbSIKK21zZ3N0ciAi0LfQsNC/0YPRgdC60LDRgtC4INGG0Y4g0L/RgNC+0LPRgNCw0LzRgyDQvNC+0LbQvdCwINC70LjRiNC1INCy0ZbQtCDRltC80LXQvdGWINGB0YPQv9C10YDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTM2Cittc2dpZCAiY2Fubm90IG9wZW4gY29uc29sZSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGW0LTQutGA0LjRgtC4INC60L7QvdGB0L7Qu9GMIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTQzCittc2dpZCAiY2Fubm90IG9wZW4gcGFzc3dvcmQgZGF0YWJhc2UiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRltC00LrRgNC40YLQuCDQsdCw0LfRgyDQtNCw0L3QuNGFINC/0LDRgNC+0LvRltCyIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2FuIG5vdCBleGVjdXRlIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIiIKKyLQndC1INCy0LTQsNC70L7RgdGPINCy0LjQutC+0L3QsNGC0Lgg0L7QsdC+0LvQvtC90LrRgyBzdVxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyNworbXNnaWQgIiIKKyJUaW1lZCBvdXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorItCf0LXRgNC10LLQuNGJ0LXQvdC+INGH0LDRgSDQvtGH0ZbQutGD0LLQsNC90L3Rj1xuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTA1OQorbXNnaWQgIiIKKyJDYW4gbm90IHdhaXQgb24gc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiIgorItCd0LUg0LLQtNCw0LvQvtGB0Y8g0LTQvtGH0LXQutCw0YLQuNGB0Y8g0L3QsCDQstGW0LTQv9C+0LLRltC00Ywg0L7QsdC+0LvQvtC90LrQuCBzdVxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE3NiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2guIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQtNC+0LTQsNGC0Lgg0L/Rg9C90LrRgiDRgdC/0L7RgdGC0LXRgNC10LbQtdC90L3RjyBpbm90aWZ5LiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxODUgdGV4dC11dGlscy90YWlsZi5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgaW5vdGlmeSBldmVudHMiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINC/0YDQvtGH0LjRgtCw0YLQuCDRgdC/0LjRgdC+0Log0L/QvtC00ZbQuSBpbm90aWZ5IgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI0NiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI1MQorbXNnaWQgIkV4dHJhbmVvdXMgbmV3bGluZSBpbiBmaWxlLiBFeGl0aW5nLiIKK21zZ3N0ciAi0JfQsNC50LLQuNC5INGB0LjQvNCy0L7QuyDQvdC+0LLQvtCz0L4g0YDRj9C00LrQsCDRgyDRhNCw0LnQu9GWLiDQl9Cw0LLQtdGA0YjQtdC90L3RjyDRgNC+0LHQvtGC0LguIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwOQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlbmFtZV1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIFvQvdCw0LfQstCwINGE0LDQudC70LBdXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzEyCittc2dpZCAiRHVtcCBVVE1QIGFuZCBXVE1QIGZpbGVzIGluIHJhdyBmb3JtYXQuXG4iCittc2dzdHIgItCh0YLQstC+0YDQuNGC0Lgg0LTQsNC80L8g0YTQsNC50LvRltCyIFVUTVAg0ZYgV1RNUCDRgyDRhNC+0YDQvNCw0YLRliDQtNCw0L3QuNGFINCx0LXQtyDQvtCx0YDQvtCx0LrQuC5cbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTUKK21zZ2lkICIgLWYsIC0tZm9sbG93ICAgICAgICAgb3V0cHV0IGFwcGVuZGVkIGRhdGEgYXMgdGhlIGZpbGUgZ3Jvd3NcbiIKK21zZ3N0ciAiIC1mLCAtLWZvbGxvdyAgINCy0LjQstC+0LTQuNGC0Lgg0LTQvtC/0LjRgdCw0L3RliDQtNCw0L3RliDRgyDRgNCw0LfRliDQt9Cx0ZbQu9GM0YjQtdC90L3RjyDRhNCw0LnQu9CwXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE2Cittc2dpZCAiIC1yLCAtLXJldmVyc2UgICAgICAgIHdyaXRlIGJhY2sgZHVtcGVkIGRhdGEgaW50byB1dG1wIGZpbGVcbiIKK21zZ3N0ciAiIC1yLCAtLXJldmVyc2UgINCy0LjQutC+0L3Rg9Cy0LDRgtC4INC30LLQvtGA0L7RgtC90LjQuSDQt9Cw0L/QuNGBINC30ZbQsdGA0LDQvdC40YUg0LTQsNC90LjRhSDQtNC+INGE0LDQudC70LAgdXRtcFxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxNworbXNnaWQgIiAtbywgLS1vdXRwdXQgPGZpbGU+ICB3cml0ZSB0byBmaWxlIGluc3RlYWQgb2Ygc3RhbmRhcmQgb3V0cHV0XG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPNGE0LDQudC7PiAg0LfQsNC/0LjRgdCw0YLQuCDQtNCw0L3RliDQtNC+INGE0LDQudC70LAg0LfQsNC80ZbRgdGC0Ywg0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LjQstC10LTQtdC90L3Rj1xuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4NAorbXNnaWQgImZvbGxvd2luZyBzdGFuZGFyZCBpbnB1dCBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAi0L/RltC00YLRgNC40LzQutC4INCy0LrQsNC30LDQvdC+0LPQviDQvdC40LbRh9C1INC00LbQtdGA0LXQu9CwINCy0YXRltC00L3QuNGFINC00LDQvdC40YUg0L3QtSDQv9C10YDQtdC00LHQsNGH0LXQvdC+IgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIHVuZHVtcCBvZiAlc1xuIgorbXNnc3RyICLQl9Cy0L7RgNC+0YLQvdC40Lkg0LTQsNC80L8gdXRtcCAlc1xuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIGR1bXAgb2YgJXNcbiIKK21zZ3N0ciAi0JTQsNC80L8gdXRtcCAlc1xuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTQxCittc2dpZCAiY2FuJ3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGW0LTQutGA0LjRgtC4INGC0LjQvNGH0LDRgdC+0LLQuNC5INGE0LDQudC7IgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjcmVhdGUgYSBsaW5rIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6INGB0L/RgNC+0LHQsCDRgdGC0LLQvtGA0LXQvdC90Y8g0L/QvtGB0LjQu9Cw0L3QvdGPINC90LAgJXMg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3QgZ2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0LrQvtC90YLQtdC60YHRgiDQtNC70Y8gJXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3Qgc2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INC60L7QvdGC0LXQutGB0YIg0LTQu9GPICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVuY2hhbmdlZCIKK21zZ3N0ciAiJXMg0L3QtSDQt9C80ZbQvdC10L3QviIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI1NAorbXNnaWQgImNhbm5vdCBnZXQgbG9jayIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9Cw0LHQu9C+0LrRg9Cy0LDRgtC4IgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjgxCittc2dpZCAibm8gY2hhbmdlcyBtYWRlIgorbXNnc3RyICLQvdC1INCx0YPQu9C+INCy0L3QtdGB0LXQvdC+INC20L7QtNC90LjRhSDQt9C80ZbQvSIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5MAorbXNnaWQgImNhbm5vdCBjaG1vZCBmaWxlIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC30LzRltC90LjRgtC4INGA0LXQttC40Lwg0LTQvtGB0YLRg9C/0YMg0LTQviDRhNCw0LnQu9CwIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzA0Cittc2dpZCAiRWRpdCB0aGUgcGFzc3dvcmQgb3IgZ3JvdXAgZmlsZS5cbiIKK21zZ3N0ciAi0KDQtdC00LDQs9GD0LLQsNGC0Lgg0L/QsNGA0L7Qu9GMINCw0LHQviDRhNCw0LnQuyDQs9GA0YPQvy5cbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM1MAorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IGdyb3VwcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAi0J3QsCDRhtGW0Lkg0YHQuNGB0YLQtdC80ZYg0LLQuNC60L7RgNC40YHRgtC+0LLRg9GO0YLRjNGB0Y8g0YLRltC90YzQvtCy0ZYg0LPRgNGD0L/QuC5cbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM1MQorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IHBhc3N3b3JkcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAi0J3QsCDRhtGW0Lkg0YHQuNGB0YLQtdC80ZYg0LLQuNC60L7RgNC40YHRgtC+0LLRg9GO0YLRjNGB0Y8g0YLRltC90YzQvtCy0ZYg0L/QsNGA0L7Qu9GWLlxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhpcyBwcm9ncmFtIHVzZXMgZm9yIHkgYW5kIG4gcnBtYXRjaCgzKSwKKyMuICogd2hpY2ggbWVhbnMgdGhleSBjYW4gYmUgdHJhbnNsYXRlZC4KKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV291bGQgeW91IGxpa2UgdG8gZWRpdCAlcyBub3cgW3kvbl0/ICIKK21zZ3N0ciAi0JHQsNC20LDRlNGC0LUg0LLRltC00YDQtdC00LDQs9GD0LLQsNGC0LggJXMg0LfQsNGA0LDQtyBbeS9uXT8gIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjM3MgorbXNnaWQgImludmFsaWQgbW9udGggYXJndW1lbnQiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDQvNGW0YHRj9GG0ZbQsiIKKworIzogbWlzYy11dGlscy9jYWwuYzozODAKK21zZ2lkICJpbnZhbGlkIHdlZWsgYXJndW1lbnQiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDRgtC40LbQvdGPIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjM4MgorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogdXNlIDEtNTQiCittc2dzdHIgItC/0L7QvNC40LvQutC+0LLQtSDQt9C90LDRh9C10L3QvdGPINGC0LjQttC90Y86INC80LDQu9C+INCx0YPRgtC4INCy0ZbQtCAxINC00L4gNTQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDIyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB0aW1lc3RhbXAgb3IgdW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INGH0LDRgdC+0LLRgyDQv9C+0LfQvdCw0YfQutGDINCw0LHQviDQvdC10LLRltC00L7QvNCwINC90LDQt9Cy0LAg0LzRltGB0Y/RhtGPOiAlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MzEKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZSIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LUg0LfQvdCw0YfQtdC90L3RjyDQtNC90Y8iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDMzIG1pc2MtdXRpbHMvY2FsLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlOiB1c2UgMS0lZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60L7QstC1INC30L3QsNGH0LXQvdC90Y8g0LTQvdGPOiDQvNCw0LvQviDQsdGD0YLQuCAxLSVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQzNyBtaXNjLXV0aWxzL2NhbC5jOjQ0NQorbXNnaWQgImlsbGVnYWwgbW9udGggdmFsdWU6IHVzZSAxLTEyIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdC1INC30L3QsNGH0LXQvdC90Y8g0LzRltGB0Y/RhtGPOiDQstC40LrQvtGA0LjRgdGC0L7QstGD0LnRgtC1IDEtMTIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDQxCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgItC90LXQstGW0LTQvtC80LAg0L3QsNC30LLQsCDQvNGW0YHRj9GG0Y86ICVzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ0OCBtaXNjLXV0aWxzL2NhbC5jOjQ1MgorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZSIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LUg0LfQvdCw0YfQtdC90L3RjyDRgNC+0LrRgyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NTAKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWU6IHVzZSBwb3NpdGl2ZSBpbnRlZ2VyIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdC1INC30L3QsNGH0LXQvdC90Y8g0YDQvtC60YM6INC30L3QsNGH0LXQvdC90Y8g0LzQsNC70L4g0LHRg9GC0Lgg0LTQvtC00LDRgtC90LjQvCDRhtGW0LvQuNC8IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4MiBtaXNjLXV0aWxzL2NhbC5jOjQ5NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHllYXIgJWQgZG9lc24ndCBoYXZlIHdlZWsgJWQiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90LjQuSDQvdC+0LzQtdGAINGC0LjQttC90Y86INGDINGA0L7RhtGWICVkINC90LXQvNCw0ZQg0YLQuNC20L3RjyDQtyDQvdC+0LzQtdGA0L7QvCAlZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo2NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMiCittc2dzdHIgIiVzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlMDRkIgorbXNnc3RyICIlMDRkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY5MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlMDRkIgorbXNnc3RyICIlcyAlMDRkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtbW2RheV0gbW9udGhdIHllYXJdXG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgNC4XSBbW1vQtNC10L3RjF0g0LzRltGB0Y/RhtGMXSDRgNGW0LpdXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHRpbWVzdGFtcHxtb250aG5hbWU+XG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgNC4XSA80YfQsNGB0L7QstCwINC/0L7Qt9C90LDRh9C60LB80L3QsNC30LLQsCDQvNGW0YHRj9GG0Y8+XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk3Cittc2dpZCAiRGlzcGxheSBhIGNhbGVuZGFyLCBvciBzb21lIHBhcnQgb2YgaXQuXG4iCittc2dzdHIgItCf0L7QutCw0Lcg0LrQsNC70LXQvdC00LDRgNGPINCw0LHQviDQudC+0LPQviDQv9C10LLQvdC+0Zcg0YfQsNGB0YLQuNC90LguXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk4Cittc2dpZCAiV2l0aG91dCBhbnkgYXJndW1lbnRzLCBkaXNwbGF5IHRoZSBjdXJyZW50IG1vbnRoLlxuIgorbXNnc3RyICLQr9C60YnQviDQvdC1INCy0LrQsNC30LDQvdC+INCw0YDQs9GD0LzQtdC90YLRltCyLCDQsdGD0LTQtSDQv9C+0LrQsNC30LDQvdC+INC60LDQu9C10L3QtNCw0YAg0L/QvtGC0L7Rh9C90L7Qs9C+INC80ZbRgdGP0YbRjy5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDAxCittc2dpZCAiIC0xLCAtLW9uZSAgICAgICAgICAgICBzaG93IG9ubHkgYSBzaW5nbGUgbW9udGggKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtMSwgLS1vbmUgICAgICAgICAgICAg0L/QvtC60LDQt9Cw0YLQuCDQtNCw0L3RliDQu9C40YjQtSDQtNC70Y8g0L/QvtGC0L7Rh9C90L7Qs9C+INC80ZbRgdGP0YbRjyAo0YLQuNC/0L7QstC+KVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDIKK21zZ2lkICIgLTMsIC0tdGhyZWUgICAgICAgICAgIHNob3cgdGhyZWUgbW9udGhzIHNwYW5uaW5nIHRoZSBkYXRlXG4iCittc2dzdHIgIiAtMywgLS10aHJlZSAgICAgICAgICAg0L/QvtC60LDQt9Cw0YLQuCDQtNCw0L3RliDQtNC70Y8g0L/QvtC/0LXRgNC10LTQvdGM0L7Qs9C+LCDQv9C+0YLQvtGH0L3QvtCz0L4g0ZYg0L3QsNGB0YLRg9C/0L3QvtCz0L4g0LzRltGB0Y/RhtGPXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMworbXNnaWQgIiAtbiwgLS1tb250aHMgPG51bT4gICAgc2hvdyBudW0gbW9udGhzIHN0YXJ0aW5nIHdpdGggZGF0ZSdzIG1vbnRoXG4iCittc2dzdHIgIiAtbiwgLS1tb250aHMgPNGH0LjRgdC70L4+ICDQv9C+0LrQsNC30LDRgtC4INCy0LrQsNC30LDQvdGDINC60ZbQu9GM0LrRltGB0YLRjCDQvNGW0YHRj9GG0ZbQsiDQtyDQvNGW0YHRj9GG0Y8g0LTQsNGC0LhcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA0Cittc2dpZCAiIC1TLCAtLXNwYW4gICAgICAgICAgICBzcGFuIHRoZSBkYXRlIHdoZW4gZGlzcGxheWluZyBtdWx0aXBsZSBtb250aHNcbiIKK21zZ3N0ciAiIC1TLCAtLXNwYW4gICAgICAgICAgICDQstC60LvRjtGH0LDRgtC4INC00LDRgtGDLCDRj9C60YnQviDQv9C+0LrQsNC30YPRlNGC0YzRgdGPINC00LXQutGW0LvRjNC60LAg0LzRltGB0Y/RhtGW0LJcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA1Cittc2dpZCAiIC1zLCAtLXN1bmRheSAgICAgICAgICBTdW5kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIC1zLCAtLXN1bmRheSAgICAgICAgICDQv9C10YDRiNC40Lwg0LTQvdC10Lwg0YLQuNC20L3RjyDRlCDQvdC10LTRltC70Y9cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA2Cittc2dpZCAiIC1tLCAtLW1vbmRheSAgICAgICAgICBNb25kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIC1tLCAtLW1vbmRheSAgICAgICAgICDQv9C10YDRiNC40Lwg0LTQvdC10Lwg0YLQuNC20L3RjyDRlCDQv9C+0L3QtdC00ZbQu9C+0LpcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA3Cittc2dpZCAiIC1qLCAtLWp1bGlhbiAgICAgICAgICBvdXRwdXQgSnVsaWFuIGRhdGVzXG4iCittc2dzdHIgIiAtaiwgLS1qdWxpYW4gICAgICAgICAg0LLQuNCy0L7QtNC40YLQuCDQtNCw0YLQuCDQt9CwINGO0LvRltCw0L3RgdGM0LrQuNC8INC60LDQu9C10L3QtNCw0YDQtdC8XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwOAorbXNnaWQgIiAteSwgLS15ZWFyICAgICAgICAgICAgc2hvdyB0aGUgd2hvbGUgeWVhclxuIgorbXNnc3RyICIgLXksIC0teWVhciAgICAgICAgICAgINC/0L7QutCw0LfQsNGC0Lgg0LTQsNC90ZYg0LTQu9GPINGD0YHRjNC+0LPQviDRgNC+0LrRg1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDkKK21zZ2lkICIgLVksIC0tdHdlbHZlICAgICAgICAgIHNob3cgdGhlIG5leHQgdHdlbHZlIG1vbnRoc1xuIgorbXNnc3RyICIgLVksIC0tdHdlbHZlICAgICAgICAgINC/0L7QutCw0LfQsNGC0Lgg0L3QsNGB0YLRg9C/0L3RliDQtNCy0LDQvdCw0LTRhtGP0YLRjCDQvNGW0YHRj9GG0ZbQslxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMTAKK21zZ2lkICIgLXcsIC0td2Vla1s9PG51bT5dICAgIHNob3cgVVMgb3IgSVNPLTg2MDEgd2VlayBudW1iZXJzXG4iCittc2dzdHIgIiAtdywgLS13ZWVrWz080YfQuNGB0LvQvj5dICDQstC40LLQtdGB0YLQuCDQvdC+0LzQtdGA0Lgg0YLQuNC20L3RjyDRgyDRhNC+0YDQvNCw0YLRliDQodCo0JAg0LDQsdC+IElTTy04NjAxXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAxMQorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorIiAgICAgLWNvbG9yWz080YPQvNC+0LLQsD5dICDRgNC+0LfRhNCw0YDQsdC+0LLRg9Cy0LDQvdC90Y8g0LLQuNCy0LXQtNC10L3QuNGFINC00LDQvdC40YUgKGF1dG8gKNCw0LLRgtC+KSxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgYWx3YXlzICjQt9Cw0LLQttC00LgpINCw0LHQviBuZXZlciAo0L3RltC60L7Qu9C4KSlcbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbHVlPlxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0ge0xBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMfT080LfQvdCw0YfQtdC90L3Rjz5cbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzozMgorbXNnaWQgIkZpbmQgYSBmaWxlc3lzdGVtIGJ5IGxhYmVsIG9yIFVVSUQuXG4iCittc2dzdHIgItCX0L3QsNC50YLQuCDRhNCw0LnQu9C+0LLRgyDRgdC40YHRgtC10LzRgyDQt9CwINC80ZbRgtC60L7RjiDQsNCx0L4gVVVJRC5cbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0LjQutC+0L3QsNGC0Lgg0LLQuNC30L3QsNGH0LXQvdC90Y8gwqslc8K7IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo5OQorbXNnaWQgInNvdXJjZSBkZXZpY2UiCittc2dzdHIgItC/0YDQuNGB0YLRgNGW0Lkt0LTQttC10YDQtdC70L4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMAorbXNnaWQgIm1vdW50cG9pbnQiCittc2dzdHIgItGC0L7Rh9C60LAg0LzQvtC90YLRg9Cy0LDQvdC90Y8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxCittc2dpZCAiZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICLRgtC40L8g0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAyCittc2dpZCAiYWxsIG1vdW50IG9wdGlvbnMiCittc2dzdHIgItCy0YHRliDQv9Cw0YDQsNC80LXRgtGA0Lgg0LzQvtC90YLRg9Cy0LDQvdC90Y8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMworbXNnaWQgIlZGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGA0Lgg0LzQvtC90YLRg9Cy0LDQvdC90Y8sINGB0L/QtdGG0LjRhNGW0YfQvdGWINC00LvRjyBWRlMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNAorbXNnaWQgIkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgItC/0LDRgNCw0LzQtdGC0YDQuCDQvNC+0L3RgtGD0LLQsNC90L3Rjywg0YHQv9C10YbQuNGE0ZbRh9C90ZYg0LTQu9GPINCk0KEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNQorbXNnaWQgImZpbGVzeXN0ZW0gbGFiZWwiCittc2dzdHIgItC80ZbRgtC60LAg0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA2IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQKK21zZ2lkICJmaWxlc3lzdGVtIFVVSUQiCittc2dzdHIgIlVVSUQg0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA3Cittc2dpZCAicGFydGl0aW9uIGxhYmVsIgorbXNnc3RyICLQvNGW0YLQutCwINGA0L7Qt9C00ZbQu9GDIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDkgbWlzYy11dGlscy9sc2Jsay5jOjE2MAorbXNnaWQgIm1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgItC90L7QvNC10YAg0L/RgNC40YHRgtGA0L7RjiDQvtGB0L3QvtCy0L3QuNC5OtC00L7QtNCw0YLQutC+0LLQuNC5IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTAKK21zZ2lkICJhY3Rpb24gZGV0ZWN0ZWQgYnkgLS1wb2xsIgorbXNnc3RyICLQtNGW0Y8sINCy0LjRj9Cy0LvQtdC90LAgLS1wb2xsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTEKK21zZ2lkICJvbGQgbW91bnQgb3B0aW9ucyBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgItGB0YLQsNGA0ZYg0L/QsNGA0LDQvNC10YLRgNC4INC80L7QvdGC0YPQstCw0L3QvdGPLCDQt9Cx0LXRgNC10LbQtdC90ZYgLS1wb2xsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTIKK21zZ2lkICJvbGQgbW91bnRwb2ludCBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgItC/0L7Qv9C10YDQtdC00L3RjyDRgtC+0YfQutCwINC80L7QvdGC0YPQstCw0L3QvdGPLCDQt9Cx0LXRgNC10LbQtdC90LAg0LfQsCDQtNC+0L/QvtC80L7Qs9C+0Y4gLS1wb2xsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTMKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUiCittc2dzdHIgItGA0L7Qt9C80ZbRgCDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTQKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgYXZhaWxhYmxlIgorbXNnc3RyICLQstGW0LvRjNC90LjQuSDQvtCxJ9GU0Lwg0YMg0YTQsNC50LvQvtCy0ZbQuSDRgdC40YHRgtC10LzRliIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE1Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIHVzZWQiCittc2dzdHIgItCy0LjQutC+0YDQuNGB0YLQsNC90LjQuSDRgNC+0LfQvNGW0YAg0YMg0YTQsNC50LvQvtCy0ZbQuSDRgdC40YHRgtC10LzRliIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE2Cittc2dpZCAiZmlsZXN5c3RlbSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAi0LLRltC00YHQvtGC0L7QuiDQstC40LrQvtGA0LjRgdGC0LDQvdC+0YHRgtGWINGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80LgiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNworbXNnaWQgImZpbGVzeXN0ZW0gcm9vdCIKK21zZ3N0ciAi0LrQvtGA0ZbQvdGMINGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80LgiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOAorbXNnaWQgInRhc2sgSUQiCittc2dzdHIgItGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAINC30LDQstC00LDQvdC90Y8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOQorbXNnaWQgIm1vdW50IElEIgorbXNnc3RyICLRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgCDQvNC+0L3RgtGD0LLQsNC90L3RjyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwCittc2dpZCAib3B0aW9uYWwgbW91bnQgZmllbGRzIgorbXNnc3RyICLQtNC+0LTQsNGC0LrQvtCy0ZYg0L/QvtC70Y8g0LzQvtC90YLRg9Cy0LDQvdC90Y8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMQorbXNnaWQgIlZGUyBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAi0J/RgNCw0L/QvtGA0YbRliDRgNC+0LfRiNC40YDQtdC90L3RjyBWRlMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMgorbXNnaWQgImR1bXAoOCkgcGVyaW9kIGluIGRheXMgW2ZzdGFiIG9ubHldIgorbXNnc3RyICLQotGA0LjQstCw0LvRltGB0YLRjCDQv9GA0L7QvNGW0LbQutGDINC80ZbQtiDQstC40LrQvtC90LDQvdC90Y/QvNC4IGR1bXAoOCkg0YMg0LTQvdGP0YUgW9C70LjRiNC1IGZzdGFiXSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzCittc2dpZCAicGFzcyBudW1iZXIgb24gcGFyYWxsZWwgZnNjayg4KSBbZnN0YWIgb25seV0iCittc2dzdHIgItC/0LXRgNC10LTQsNGC0Lgg0LrRltC70YzQutGW0YHRgtGMINC/0LDRgNCw0LvQtdC70YzQvdC40YUgZnNjayg4KSBb0LvQuNGI0LUgZnN0YWJdIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhY3Rpb246ICVzIgorbXNnc3RyICLQvdC10LLRltC00L7QvNCwINC00ZbRjzogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0MworbXNnaWQgIm1vdW50IgorbXNnc3RyICJtb3VudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ2Cittc2dpZCAidW1vdW50IgorbXNnc3RyICJ1bW91bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0OQorbXNnaWQgInJlbW91bnQiCittc2dzdHIgInJlbW91bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1MgorbXNnaWQgIm1vdmUiCittc2dzdHIgIm1vdmUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjgxMiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDc1IHN5cy11dGlscy9lamVjdC5jOjcxOQorIzogc3lzLXV0aWxzL21vdW50LmM6NjY5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFibGUiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0ZbQvdGW0YbRltCw0LvRltC30YPQstCw0YLQuCDRgtCw0LHQu9C40YbRjiBsaWJtb3VudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODM5IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L/RgNC+0YfQuNGC0LDRgtC4ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDE1IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODEKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo5NCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDgyCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTg3IHN5cy11dGlscy9tb3VudC5jOjEzNCBzeXMtdXRpbHMvbW91bnQuYzoxODIKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6NTYgc3lzLXV0aWxzL3N3YXBvZmYuYzoxNTUgc3lzLXV0aWxzL3N3YXBvbi5jOjI0NAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI3NCBzeXMtdXRpbHMvc3dhcG9uLmM6NzMzIHN5cy11dGlscy91bW91bnQuYzoyNzQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDRltC90ZbRhtGW0LDQu9GW0LfRg9Cy0LDRgtC4INGW0YLQtdGA0LDRgtC+0YAgbGlibW91bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODcKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJkaWZmIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINGW0L3RltGG0ZbQsNC70ZbQt9GD0LLQsNGC0LggdGFiZGlmZiBsaWJtb3VudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExNQorbXNnaWQgInBvbGwoKSBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwIHBvbGwoKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IHwgPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2UgPGRldmljZT5dIFstLXRhcmdldCA8cGF0aD4gfCAtLW1vdW50cG9pbnQgPGRpcj5dXG4iCittc2dzdHIgIiIKKyIgJTEkcyBb0L/QsNGA0LDQvNC10YLRgNC4XVxuIgorIiAlMSRzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIDzQv9GA0LjRgdGC0YDRltC5PiB8IDzRgtC+0YfQutCwX9C80L7QvdGC0YPQstCw0L3QvdGPPlxuIgorIiAlMSRzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIDzQv9GA0LjRgdGC0YDRltC5PiA80YLQvtGH0LrQsF/QvNC+0L3RgtGD0LLQsNC90L3Rjz5cbiIKKyIgJTEkcyBb0L/QsNGA0LDQvNC10YLRgNC4XSBbLS1zb3VyY2UgPNC/0YDQuNGB0YLRgNGW0Lk+XSBbLS10YXJnZXQgPNGC0L7Rh9C60LBf0LzQvtC90YLRg9Cy0LDQvdC90Y8+IHwgLS1tb3VudHBvaW50IDzQutCw0YLQsNC70L7Qsz5dXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTYKK21zZ2lkICJGaW5kIGEgKG1vdW50ZWQpIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgItCX0L3QsNC50YLQuCAo0LfQvNC+0L3RgtC+0LLQsNC90YMpINGE0LDQudC70L7QstGDINGB0LjRgdGC0LXQvNGDLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk5Cittc2dpZCAiIC1zLCAtLWZzdGFiICAgICAgICAgICAgc2VhcmNoIGluIHN0YXRpYyB0YWJsZSBvZiBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLXMsIC0tZnN0YWIgICAgICAgICAgICDRiNGD0LrQsNGC0Lgg0YMg0YHRgtCw0YLQuNGH0L3RltC5INGC0LDQsdC70LjRhtGWINGE0LDQudC70L7QstC40YUg0YHQuNGB0YLQtdC8XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDAKK21zZ2lkICIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzZWFyY2ggaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLW0sIC0tbXRhYiAgICAgICAgICAgICDRiNGD0LrQsNGC0Lgg0YMg0YLQsNCx0LvQuNGG0ZYg0LfQvNC+0L3RgtC+0LLQsNC90LjRhSDRhNCw0LnQu9C+0LLQuNGFINGB0LjRgdGC0LXQvFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAxCittc2dpZCAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIHNlYXJjaCBpbiBrZXJuZWwgdGFibGUgb2YgbW91bnRlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXN5c3RlbXMgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICDRiNGD0LrQsNGC0Lgg0YMg0YLQsNCx0LvQuNGG0ZYg0Y/QtNGA0LAg0LfQvNC+0L3RgtC+0LLQsNC90LjRhVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAg0YTQsNC50LvQvtCy0LjRhSDRgdC40YHRgtC10LwgKNGC0LjQv9C+0LLQsCDQv9C+0LLQtdC00ZbQvdC60LApXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDQKK21zZ2lkICIgLXAsIC0tcG9sbFs9PGxpc3Q+XSAgICBtb25pdG9yIGNoYW5nZXMgaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLXAsIC0tcG9sbFs9PNGB0L/QuNGB0L7Quj5dICDRgdGC0LXQttC40YLQuCDQt9CwINC30LzRltC90LDQvNC4INGDINGC0LDQsdC70LjRhtGWINC30LzQvtC90YLQvtCy0LDQvdC40YUg0YTQsNC50LvQvtCy0LjRhSDRgdC40YHRgtC10LxcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNQorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxudW0+ICAgIHVwcGVyIGxpbWl0IGluIG1pbGxpc2Vjb25kcyB0aGF0IC0tcG9sbCB3aWxsIGJsb2NrXG4iCittc2dzdHIgIiIKKyIgLXcsIC0tdGltZW91dCA80YfQuNGB0LvQvj4gINCy0LXRgNGF0L3RjyDQvNC10LbQsCDRh9Cw0YHRgyDQvtGH0ZbQutGD0LLQsNC90L3RjyDRgyDQvNGW0LvRltGB0LXQutGD0L3QtNCw0YUsINGP0LrRgyDQsdC70L7QutGD0LLQsNGC0LjQvNC1IC0tcG9sbFxuIgorIlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA4Cittc2dpZCAiIC1BLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgYnVpbHQtaW4gZmlsdGVycywgcHJpbnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtQSwgLS1hbGwgICAgICAgICAgICAgINCy0LjQvNC60L3Rg9GC0Lgg0YPRgdGWINCy0LHRg9C00L7QstCw0L3RliDRhNGW0LvRjNGC0YDQuCwg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0YPRgdGW0YUg0YTQsNC50LvQvtCy0LjRhSDRgdC40YHRgtC10LxcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOQorbXNnaWQgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBBU0NJSSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCittc2dzdHIgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQtNC70Y8g0YTQvtGA0LzQsNGC0YPQstCw0L3QvdGPINGB0LjQvNCy0L7Qu9C4IEFTQ0lJXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTAKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0YDQvtC30LzRltGAINGDINCx0LDQudGC0LDRhSwg0LAg0L3QtSDRgyDQt9GA0YPRh9C90L7QvNGDINC00LvRjyDRh9C40YLQsNC90L3RjyDRhNC+0YDQvNCw0YLRllxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjExCittc2dpZCAiIC1DLCAtLW5vY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHdoZW4gY29tcGFyaW5nIHBhdGhzXG4iCittc2dzdHIgIiAtQywgLS1ub2Nhbm9uaWNhbGl6ZSAgINC90LUg0LLQuNC60L7QvdGD0LLQsNGC0Lgg0L/QtdGA0LXRgtCy0L7RgNC10L3QvdGPINC00L4g0LrQsNC90L7QvdGW0YfQvdC+0Zcg0YTQvtGA0LzQuCDQv9GW0LQg0YfQsNGBINC/0L7RgNGW0LLQvdGP0L3QvdGPINGI0LvRj9GF0ZbQslxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEyCittc2dpZCAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKK21zZ3N0ciAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAg0LLQuNC60L7QvdGD0LLQsNGC0Lgg0L/QtdGA0LXRgtCy0L7RgNC10L3QvdGPINC00L4g0LrQsNC90L7QvdGW0YfQvdC+0Zcg0YTQvtGA0LzQuCDQtNC70Y8g0LLQuNCy0LXQtNC10L3QuNGFINGI0LvRj9GF0ZbQslxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEzCittc2dpZCAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGF0ZSB0aGUgb3V0cHV0IG9mIGRmKDEpXG4iCittc2dzdHIgIiAtRCwgLS1kZiAgICAgICAgICAgICAgINGW0LzRltGC0YPQstCw0YLQuCDQstC40LLRltC0IGRmKDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTQKK21zZ2lkICIgLWQsIC0tZGlyZWN0aW9uIDx3b3JkPiBkaXJlY3Rpb24gb2Ygc2VhcmNoLCAnZm9yd2FyZCcgb3IgJ2JhY2t3YXJkJ1xuIgorbXNnc3RyICIgLWQsIC0tZGlyZWN0aW9uIDzRgdC70L7QstC+PiDQvdCw0L/RgNGP0LzQvtC6INC/0L7RiNGD0LrRgywgwqtmb3J3YXJkwrsgKNCy0L/QtdGA0LXQtCkg0LDQsdC+IMKrYmFja3dhcmTCuyAo0L3QsNC30LDQtClcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNQorbXNnaWQgIiIKKyIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBjb252ZXJ0IHRhZ3MgKExBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMKSBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGRldmljZSBuYW1lc1xuIgorbXNnc3RyICIiCisiIC1lLCAtLWV2YWx1YXRlICAgICAgICAg0L/QtdGA0LXRgtCy0L7RgNGO0LLQsNGC0Lgg0YLQtdKR0LggKExBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMKSBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgINC90LAg0L3QsNC30LLQuCDQv9GA0LjRgdGC0YDQvtGX0LJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNworbXNnaWQgIiAtRiwgLS10YWItZmlsZSA8cGF0aD4gIGFsdGVybmF0aXZlIGZpbGUgZm9yIC1zLCAtbSBvciAtayBvcHRpb25zXG4iCittc2dzdHIgIiAtRiwgLS10YWItZmlsZSA80YjQu9GP0YU+ICDQsNC70YzRgtC10YDQvdCw0YLQuNCy0L3QuNC5INGE0LDQudC7INC00LvRjyDQv9Cw0YDQsNC80LXRgtGA0ZbQsiAtcywgLW0g0YLQsCAta1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE4Cittc2dpZCAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIgorbXNnc3RyICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICDQstC40LLQtdGB0YLQuCDQu9C40YjQtSDQv9C10YDRiNGDINC30ZYg0LfQvdCw0LnQtNC10L3QuNGFINGE0LDQudC70L7QstC40YUg0YHQuNGB0YLQtdC8XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTkKK21zZ2lkICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnQgdGhlIHNlbnNlIG9mIG1hdGNoaW5nXG4iCittc2dzdHIgIiAtaSwgLS1pbnZlcnQgICAgICAgICAgINGW0L3QstC10YDRgtGD0LLQsNGC0Lgg0LrRgNC40YLQtdGA0ZbRlyDQstGW0LTQv9C+0LLRltC00L3QvtGB0YLRllxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIwIG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNyBzeXMtdXRpbHMvbHNucy5jOjYxOQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtCw0YLQuCDRhNC+0YDQvNCw0YIg0LLQuNCy0LXQtNC10L3QvdGPIEpTT05cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMSBzeXMtdXRpbHMvbHNucy5jOjYyMAorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtCw0YLQuNGB0Y8g0LTQu9GPINCy0LjQstC10LTQtdC90L3RjyDRhNC+0YDQvNCw0YIg0YHQv9C40YHQutGDXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjIKK21zZ2lkICIgLU4sIC0tdGFzayA8dGlkPiAgICAgICB1c2UgYWx0ZXJuYXRpdmUgbmFtZXNwYWNlICgvcHJvYy88dGlkPi9tb3VudGluZm8gZmlsZSlcbiIKK21zZ3N0ciAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INCw0LvRjNGC0LXRgNC90LDRgtC40LLQvdC40Lkg0L/RgNC+0YHRgtGW0YAg0L3QsNC30LIgICAgICAgICAgICAgICAgICAgICAgICAgICjRhNCw0LnQuyAvcHJvYy88dGlkPi9tb3VudGluZm8pXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBjb2x1bW4gaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAg0L3QtSDQstC40LLQvtC00LjRgtC4INC30LDQs9C+0LvQvtCy0LrQuCDRgdGC0L7QstC/0YfQuNC60ZbQslxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI0Cittc2dpZCAiIC1PLCAtLW9wdGlvbnMgPGxpc3Q+ICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBtb3VudCBvcHRpb25zXG4iCittc2dzdHIgIiAtTywgLS1vcHRpb25zIDzRgdC/0LjRgdC+0Lo+INC+0LHQvNC10LbQuNGC0Lgg0L3QsNCx0ZbRgCDRhNCw0LnQu9C+0LLQuNGFINGB0LjRgdGC0LXQvCDQt9CwINC/0LDRgNCw0LzQtdGC0YDQsNC80Lgg0LzQvtC90YLRg9Cy0LDQvdC90Y9cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIHRoZSBvdXRwdXQgY29sdW1ucyB0byBiZSBzaG93blxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDzRgdC/0LjRgdC+0Lo+ICDRgdGC0L7QstC/0YfQuNC60Lgg0LLQuNCy0LXQtNC10L3QvdGPLCDRj9C60ZYg0LHRg9C00LUg0L/QvtC60LDQt9Cw0L3QvlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI2Cittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVAsIC0tcGFpcnMgICAgICAgICAgICDQstC40LrQvtGA0LjRgdGC0LDRgtC4INGE0L7RgNC80LDRgiDQstC40LLQtdC00LXQvdC90Y8g0LrQu9GO0Yc9XCLQt9C90LDRh9C10L3QvdGPXCJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNworbXNnaWQgIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIHByaW50IGFsbCBzdWJtb3VudHMgZm9yIHRoZSBtYXRjaGluZyBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLVIsIC0tc3VibW91bnRzICAgICAgICDQstC40LLQtdGB0YLQuCDQtNCw0L3RliDRidC+0LTQviDRg9GB0ZbRhSDQv9GW0LTQu9C10LPQu9C40YUg0LzQvtC90YLRg9Cy0LDQvdC90Y8g0LTQu9GPINCy0ZbQtNC/0L7QstGW0LTQvdC40YUg0YTQsNC50LvQvtCy0LjRhSDRgdC40YHRgtC10LxcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOAorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0YTQvtGA0LzQsNGCINCy0LjQstC10LTQtdC90L3RjyDQsdC10Lcg0L7QsdGA0L7QsdC60LhcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOQorbXNnaWQgIiIKKyIgLVMsIC0tc291cmNlIDxzdHJpbmc+ICB0aGUgZGV2aWNlIHRvIG1vdW50IChieSBuYW1lLCBtYWo6bWluLCBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKK21zZ3N0ciAiIgorIiAtUywgLS1zb3VyY2UgPNGA0Y/QtNC+0Lo+ICAg0L/RgNC40YHRgtGA0ZbQuSDQtNC70Y8g0LzQvtC90YLRg9Cy0LDQvdC90Y8gKNC30LAg0L3QsNC30LLQvtGOLCDQvtGB0L060L/RltC0LCBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMQorbXNnaWQgIiAtVCwgLS10YXJnZXQgPHBhdGg+ICAgIHRoZSBwYXRoIHRvIHRoZSBmaWxlc3lzdGVtIHRvIHVzZVxuIgorbXNnc3RyICIgLVQsIC0tdGFyZ2V0IDzRiNC70Y/RhT4gICDRiNC70Y/RhSDQtNC+INGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80LgsINGP0LrQvtGOINGB0LvRltC0INGB0LrQvtGA0LjRgdGC0LDRgtC40YHRj1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMyCittc2dpZCAiIC1NLCAtLW1vdW50cG9pbnQgPGRpcj4gdGhlIG1vdW50cG9pbnQgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtTSwgLS1tb3VudHBvaW50IDzQutCw0YI+INC60LDRgtCw0LvQvtCzINGC0L7Rh9C60Lgg0LzQvtC90YLRg9Cy0LDQvdC90Y9cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMworbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgRlMgdHlwZXNcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGVzIDzRgdC/0LjRgdC+0Lo+ICAg0L7QsdC80LXQttC40YLQuCDQvdCw0LHRltGAINGE0LDQudC70L7QstC40YUg0YHQuNGB0YLQtdC8INC30LAg0YLQuNC/0LDQvNC4INCk0KFcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNAorbXNnaWQgIiAtVSwgLS11bmlxICAgICAgICAgICAgIGlnbm9yZSBmaWxlc3lzdGVtcyB3aXRoIGR1cGxpY2F0ZSB0YXJnZXRcbiIKK21zZ3N0ciAiIC1VLCAtLXVuaXEgICAgICAgICAgICAg0ZbQs9C90L7RgNGD0LLQsNGC0Lgg0YTQsNC50LvQvtCy0ZYg0YHQuNGB0YLQtdC80Lgg0Lcg0LTRg9Cx0LvRjtCy0LDQvdC90Y/QvCDQv9GA0LjQt9C90LDRh9C10L3RjFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM1IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMyBzeXMtdXRpbHMvbHNucy5jOjYyNQorbXNnaWQgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGRvbid0IHRydW5jYXRlIHRleHQgaW4gY29sdW1uc1xuIgorbXNnc3RyICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICDQvdC1INC+0LHRgNGW0LfQsNGC0Lgg0YLQtdC60YHRgiDRgyDRgdGC0L7QstC/0YfQuNC60LDRhVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM2Cittc2dpZCAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorbXNnc3RyICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICDQvdC1INCy0LjQstC+0LTQuNGC0LggWy9kaXJdINC00LvRjyDQvNC+0L3RgtGD0LLQsNC90YwgYmluZCDQsNCx0L4gYnRyZnNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzOQorbXNnaWQgIiAteCwgLS12ZXJpZnkgICAgICAgICAgIHZlcmlmeSBtb3VudCB0YWJsZSBjb250ZW50IChkZWZhdWx0IGlzIGZzdGFiKVxuIgorbXNnc3RyICIgLXgsIC0tdmVyaWZ5ICAgICAgICAgICDQv9C10YDQtdCy0ZbRgNC40YLQuCDQstC80ZbRgdGCINGC0LDQsdC70LjRhtGWINC80L7QvdGC0YPQstCw0L3QvdGPICjRgtC40L/QvtCy0L4gZnN0YWIpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDAKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiICAgICAtLXZlcmJvc2UgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LTQvtC60LvQsNC00L3RltGI0ZYg0LLRltC00L7QvNC+0YHRgtGWXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBkaXJlY3Rpb24gJyVzJyIKK21zZ3N0ciAi0L3QtdCy0ZbQtNC+0LzQuNC5INC90LDQv9GA0Y/QvNC+0Logwqslc8K7IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDQwCittc2dpZCAiaW52YWxpZCBUSUQgYXJndW1lbnQiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiBUSUQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MDkKK21zZ2lkICItLXBvbGwgYWNjZXB0cyBvbmx5IG9uZSBmaWxlLCBidXQgbW9yZSBzcGVjaWZpZWQgYnkgLS10YWItZmlsZSIKK21zZ3N0ciAi0LcgLS1wb2xsINC80L7QttC90LAg0LLQutCw0LfRg9Cy0LDRgtC4INC70LjRiNC1INC+0LTQuNC9INGE0LDQudC7LCDQsNC70LUg0YMgLS10YWItZmlsZSDQstC60LDQt9Cw0L3QviDQtNC10LrRltC70YzQutCwINGE0LDQudC70ZbQsiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUxMworbXNnaWQgIm9wdGlvbnMgLS10YXJnZXQgYW5kIC0tc291cmNlIGNhbid0IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBjb21tYW5kIGxpbmUgZWxlbWVudCB0aGF0IGlzIG5vdCBhbiBvcHRpb24iCittc2dzdHIgItC/0LDRgNCw0LzQtdGC0YDQuCAtLXRhcmdldCDRliAtLXNvdXJjZSDQvdC1INC80L7QttC90LAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INGA0LDQt9C+0Lwg0Lcg0LXQu9C10LzQtdC90YLQsNC80Lgg0LrQvtC80LDQvdC00L3QvtCz0L4g0YDRj9C00LrQsCwg0Y/QutGWINC90LUg0ZQg0L/QsNGA0LDQvNC10YLRgNCw0LzQuCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU2MgorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGNhY2hlIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINGW0L3RltGG0ZbQsNC70ZbQt9GD0LLQsNGC0Lgg0LrQtdGIIGxpYm1vdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNvbHVtbiBpcyByZXF1ZXN0ZWQsIGJ1dCAtLXBvbGwgaXMgbm90IGVuYWJsZWQiCittc2dzdHIgItC90LDQtNGW0LnRiNC+0LIg0LfQsNC/0LjRgiDQvdCwINGB0YLQvtCy0L/Rh9C40LogJXMsINCw0LvQtSAtLXBvbGwg0L3QtSDRg9Cy0ZbQvNC60L3QtdC90L4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTYKK21zZ2lkICJ0YXJnZXQgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICLQv9GA0LjQt9C90LDRh9C10L3QvdGPINCy0LrQsNC30LDQvdC+INC00LXQutGW0LvRjNC60LAg0YDQsNC30ZbQsiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBvcmRlcjogJXMgc3BlY2lmaWVkIGJlZm9yZSAlcyIKK21zZ3N0ciAi0L/QvtC80LjQu9C60L7QstC40Lkg0L/QvtGA0Y/QtNC+0Lo6ICVzINCy0LrQsNC30LDQvdC+INC/0LXRgNC10LQgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMzMKK21zZ2lkICJ1bmRlZmluZWQgdGFyZ2V0IChmc19maWxlKSIKK21zZ3N0ciAi0L3QtdCy0LjQt9C90LDRh9C10L3QsCDRhtGW0LvRjCAoZnNfZmlsZSkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWNhbm9uaWNhbCB0YXJnZXQgcGF0aCAocmVhbDogJXMpIgorbXNnc3RyICLQvdC10LrQsNC90L7QvdGW0YfQvdC40Lkg0YjQu9GP0YUg0L/RgNC40LfQvdCw0YfQtdC90L3RjyAo0L3QsNGB0L/RgNCw0LLQtNGWICVzKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHRhcmdldDogJW0iCittc2dzdHIgItC90LXQtNC+0YHRgtGD0L/QvdC40Lkg0L3QsCDQv9C+0YLRgNGW0LHQvdC+0LzRgyDQtNC70Y8g0LfQsNCy0LDQvdGC0LDQttC10L3QvdGPINC/0YDQuNC30L3QsNGH0LXQvdC90ZY6ICVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHRhcmdldDogJW0iCittc2dzdHIgItC90LXQtNC+0YHRgtGD0L/QvdC1INC/0YDQuNC30L3QsNGH0LXQvdC90Y86ICVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTUxCittc2dpZCAidGFyZ2V0IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAi0L/RgNC40LfQvdCw0YfQtdC90L3RjyDQvdC1INGUINC60LDRgtCw0LvQvtCz0L7QvCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MworbXNnaWQgInRhcmdldCBleGlzdHMiCittc2dzdHIgItC/0YDQuNC30L3QsNGH0LXQvdC90Y8g0LLQttC1INGW0YHQvdGD0ZQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCBzb3VyY2U6ICVzPSVzIgorbXNnc3RyICLQvdC10LTQvtGB0YLRg9C/0L3QuNC5INC90LAg0L/QvtGC0YDRltCx0L3QvtC80YMg0LTQu9GPINC30LDQstCw0L3RgtCw0LbQtdC90L3RjyDQtNC20LXRgNC10LvRljogJXM9JXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGU6ICVzPSVzIgorbXNnc3RyICLQvdC10LTQvtGB0YLRg9C/0L3QuNC5OiAlcz0lcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcz0lcyB0cmFuc2xhdGVkIHRvICVzIgorbXNnc3RyICIlcz0lcyDRgtGA0LDQvdGB0LvRjNC+0LLQsNC90L4g0YMgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxOTAKK21zZ2lkICJ1bmRlZmluZWQgc291cmNlIChmc19zcGVjKSIKK21zZ3N0ciAi0L3QtdCy0LjQt9C90LDRh9C10L3QtSDQtNC20LXRgNC10LvQviAoZnNfc3BlYykiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc291cmNlIHRhZzogJXMiCittc2dzdHIgItC90LXQv9GW0LTRgtGA0LjQvNGD0LLQsNC90LAg0LzRltGC0LrQsCDQtNC20LXRgNC10LvQsDogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIHNvdXJjZSAocHNldWRvL25ldCkiCittc2dzdHIgItC90LUg0L/QtdGA0LXQstGW0YDRj9GC0Lgg0LTQttC10YDQtdC70L4gJXMgKHBzZXVkby9uZXQpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHNvdXJjZTogJXM6ICVtIgorbXNnc3RyICLQvdC10LTQvtGB0YLRg9C/0L3QtSDQtNC20LXRgNC10LvQvjogJXM6ICVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjEyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1iaW5kIG1vdW50IHNvdXJjZSAlcyBpcyBhIGRpcmVjdG9yeSBvciByZWd1bGFyIGZpbGUiCittc2dzdHIgItC00LbQtdGA0LXQu9C+INC80L7QvdGC0YPQstCw0L3QvdGPICVzINCx0LXQtyDQv9GA0LjQsuKAmdGP0LfQutC4INGUINC60LDRgtCw0LvQvtCz0L7QvCDQsNCx0L4g0LfQstC40YfQsNC50L3QuNC8INGE0LDQudC70L7QvCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICLQtNC20LXRgNC10LvQviAlcyDQvdC1INGUINCx0LvQvtC60L7QstC40Lwg0L/RgNC40YHRgtGA0L7RlNC8IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBleGlzdHMiCittc2dzdHIgItC00LbQtdGA0LXQu9C+ICVzINCy0LbQtSDRltGB0L3Rg9GUIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIlZGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAi0J/QsNGA0LDQvNC10YLRgNC4INCy0ZbRgNGC0YPQsNC70YzQvdC+0Zcg0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuDogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlMgb3B0aW9uczogJXMiCittc2dzdHIgItCf0LDRgNCw0LzQtdGC0YDQuCDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4OiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2Vyc3BhY2Ugb3B0aW9uczogJXMiCittc2dzdHIgItC/0LDRgNCw0LzQtdGC0YDQuCDQv9GA0L7RgdGC0L7RgNGDINC60L7RgNC40YHRgtGD0LLQsNGH0LA6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHN3YXBhcmVhIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAi0L3QtdC/0ZbQtNGC0YDQuNC80YPQstCw0L3RliDQv9GA0LDQstC40LvQsCDQstGW0LTQutC40LTQsNC90L3RjyBzd2FwYXJlYTogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNjAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3dhcGFyZWEgcHJpb3JpdHkgb3B0aW9uIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0L/QsNGA0LDQvNC10YLRgCDQv9GA0ZbQvtGA0LjRgtC10YLQvdC+0YHRgtGWIHN3YXBhcmVhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBGUyB0eXBlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAi0L3QtSDQv9C10YDQtdCy0ZbRgNGP0YLQuCDRgtC40L8g0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuCAlcyAocHNldWRvL25ldCkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MDYKK21zZ2lkICJcIm5vbmVcIiBGUyB0eXBlIGlzIHJlY29tbWVuZGVkIGZvciBiaW5kIG9yIG1vdmUgb3ByYXRpb25zIG9ubHkiCittc2dzdHIgItCi0LjQvyDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4IMKrbm9uZcK7INGA0LXQutC+0LzQtdC90LTQvtCy0LDQvdC+INCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQu9C40YjQtSDQtNC70Y8g0LTRltC5INC3INC/0YDQuNCy4oCZ0Y/Qt9GD0LLQsNC90L3RjyDQsNCx0L4g0L/QtdGA0LXRgdGD0LLQsNC90L3RjyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICLQl9C00LDRlNGC0YzRgdGPLCDRgyDQv9C+0YLQvtGH0L3QvtC80YMg0Y/QtNGA0ZYg0L3QtSDQv9C10YDQtdC00LHQsNGH0LXQvdC+INC/0ZbQtNGC0YDQuNC80LrQuCAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyMCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIxCittc2dpZCAiY2Fubm90IGRldGVjdCBvbi1kaXNrIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstC40LfQvdCw0YfQuNGC0Lgg0YLQuNC/INGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80Lgg0L3QsCDQtNC40YHQutGDIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRvZXMgbm90IG1hdGNoIHdpdGggb24tZGlzayAlcyIKK21zZ3N0ciAiJXMg0L3QtSDQstGW0LTQv9C+0LLRltC00LDRlCAlcyDQvdCwINC00LjRgdC60YMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9uLWRpc2sgJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICLQl9C00LDRlNGC0YzRgdGPLCDRgyDQv9C+0YLQvtGH0L3QvtC80YMg0Y/QtNGA0ZYg0L3QtSDQv9C10YDQtdC00LHQsNGH0LXQvdC+INC/0ZbQtNGC0YDQuNC80LrQuCAlcyDQvdCwINC00LjRgdC60YMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlMgdHlwZSBpcyAlcyIKK21zZ3N0ciAi0KLQuNC/0L7QvCDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4INGUICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY29tbWVuZGVkIHJvb3QgRlMgcGFzc25vIGlzIDEgKGN1cnJlbnQgaXMgJWQpIgorbXNnc3RyICLRgNC10LrQvtC80LXQvdC00L7QstCw0L3QvtGOINC60ZbQu9GM0LrRltGB0YLRjiDQv9Cw0YDQvtC70ZbQsiDQutC+0YDQtdC90LXQstC+0Zcg0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuCDRlCAxICjQv9C+0YLQvtGH0L3QvtGOINC60ZbQu9GM0LrRltGB0YLRjiDRlCAlZCkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgcGFyc2UgZXJyb3IiCittc2dpZF9wbHVyYWwgIiVkIHBhcnNlIGVycm9ycyIKK21zZ3N0clswXSAiJWQg0L/QvtC80LjQu9C60LAg0L7QsdGA0L7QsdC60LgiCittc2dzdHJbMV0gIiVkINC/0L7QvNC40LvQutC4INC+0LHRgNC+0LHQutC4IgorbXNnc3RyWzJdICIlZCDQv9C+0LzQuNC70L7QuiDQvtCx0YDQvtCx0LrQuCIKK21zZ3N0clszXSAiJWQg0L/QvtC80LjQu9C60LAg0L7QsdGA0L7QsdC60LgiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCAlZCBlcnJvciIKK21zZ2lkX3BsdXJhbCAiLCAlZCBlcnJvcnMiCittc2dzdHJbMF0gIiwgJWQg0L/QvtC80LjQu9C60LAiCittc2dzdHJbMV0gIiwgJWQg0L/QvtC80LjQu9C60LgiCittc2dzdHJbMl0gIiwgJWQg0L/QvtC80LjQu9C+0LoiCittc2dzdHJbM10gIiwgJWQg0L/QvtC80LjQu9C60LAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCAlZCB3YXJuaW5nIgorbXNnaWRfcGx1cmFsICIsICVkIHdhcm5pbmdzIgorbXNnc3RyWzBdICIsICVkINC/0L7Qv9C10YDQtdC00LbQtdC90L3RjyIKK21zZ3N0clsxXSAiLCAlZCDQv9C+0L/QtdGA0LXQtNC20LXQvdC90Y8iCittc2dzdHJbMl0gIiwgJWQg0L/QvtC/0LXRgNC10LTQttC10L3RjCIKK21zZ3N0clszXSAiLCAlZCDQv9C+0L/QtdGA0LXQtNC20LXQvdC90Y8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzcywgbm8gZXJyb3JzIG9yIHdhcm5pbmdzIGRldGVjdGVkXG4iCittc2dzdHIgItCj0YHQv9GW0YUsINC90LUg0LLQuNGP0LLQu9C10L3QviDQv9C+0LzQuNC70L7QuiDQsNCx0L4g0L/QvtC/0LXRgNC10LTQttC10L3RjFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgItCS0LjQutC+0L3QsNC50YLQtSDQutC+0LzQsNC90LTRgyDCqyVzIC0taGVscMK7LCDRidC+0LEg0LTRltC30L3QsNGC0LjRgdGPINCx0ZbQu9GM0YjQtS5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMDQKK21zZ2lkICJlbXB0eSBsb25nIG9wdGlvbiBhZnRlciAtbCBvciAtLWxvbmcgYXJndW1lbnQiCittc2dzdHIgItC/0L7RgNC+0LbQvdGW0Lkg0LTQvtCy0LPQuNC5INC/0LDRgNCw0LzQtdGC0YAg0L/RltGB0LvRjyDQsNGA0LPRg9C80LXQvdGC0YMgLWwg0LDQsdC+IC0tbG9uZyIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMjUKK21zZ2lkICJ1bmtub3duIHNoZWxsIGFmdGVyIC1zIG9yIC0tc2hlbGwgYXJndW1lbnQiCittc2dzdHIgItC90LXQstGW0LTQvtC80LAg0L7QsdC+0LvQvtC90LrQsCDQv9GW0YHQu9GPINCw0YDQs9GD0LzQtdC90YLRgyAtcyDQsNCx0L4gLS1zaGVsbCIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1dIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSAtb3wtLW9wdGlvbnMgPG9wdHN0cmluZz4gW29wdGlvbnNdIFstLV0gPHBhcmFtZXRlcnM+XG4iCittc2dzdHIgIiIKKyIgJTEkcyA80YDRj9C00L7Qul/Qv9Cw0YDQsNC80LXRgtGA0ZbQsj4gPNC/0LDRgNCw0LzQtdGC0YDQuD5cbiIKKyIgJTEkcyBb0L/QsNGA0LDQvNC10YLRgNC4XSBbLS1dIDzRgNGP0LTQvtC6X9C/0LDRgNCw0LzQtdGC0YDRltCyPiA80L/QsNGA0LDQvNC10YLRgNC4PlxuIgorIiAlMSRzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIC1vfC0tb3B0aW9ucyA80YDRj9C00L7Qul/Qv9Cw0YDQsNC80LXRgtGA0ZbQsj4gW9C/0LDRgNCw0LzQtdGC0YDQuF0gWy0tXSA80L/QsNGA0LDQvNC10YLRgNC4PlxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzOAorbXNnaWQgIlBhcnNlIGNvbW1hbmQgb3B0aW9ucy5cbiIKK21zZ3N0ciAi0J7QsdGA0L7QsdC70Y/RgtC4INC/0LDRgNCw0LzQtdGC0YDQuCDQutC+0LzQsNC90LTQuC5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDEKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAgYWxsb3cgbG9uZyBvcHRpb25zIHN0YXJ0aW5nIHdpdGggc2luZ2xlIC1cbiIKK21zZ3N0ciAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgINC00L7QstCz0ZYg0LDRgNCz0YPQvNC10L3RgtC4INC80L7QttGD0YLRjCDQv9C+0YfQuNC90LDQu9C40YHRjCDQtyDQvtC00L3QvtCz0L4gLVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MgorbXNnaWQgIiAtbCwgLS1sb25nb3B0aW9ucyA8bG9uZ29wdHM+ICB0aGUgbG9uZyBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIKK21zZ3N0ciAiICAtbCwgLS1sb25nb3B0aW9ucyA80LTQvtCy0LPRll/Qv9Cw0YDQsNC8PiDQtNC+0LLQs9GWINCy0LXRgNGB0ZbRlyDQv9Cw0YDQsNC80LXRgtGA0ZbQsiwg0Y/QutGWINGB0LvRltC0INGA0L7Qt9C/0ZbQt9C90LDQstCw0YLQuFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MworbXNnaWQgIiAtbiwgLS1uYW1lIDxwcm9nbmFtZT4gICAgICAgICB0aGUgbmFtZSB1bmRlciB3aGljaCBlcnJvcnMgYXJlIHJlcG9ydGVkXG4iCittc2dzdHIgIiAtbiwgLS1uYW1lIDzQvdCw0LfQstCwX9C/0YDQvtCz0YDQsNC80Lg+ICAg0L/QvtC80LjQu9C60Lgg0LLQuNCy0L7QtNC40YLQuCDQstGW0LQg0ZbQvNC10L3RliDRhtGW0ZTRlyDQv9GA0L7Qs9GA0LDQvNC4XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ0Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAgIHRoZSBzaG9ydCBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIKK21zZ3N0ciAiIC1vLCAtLW9wdGlvbnMgPNGA0Y/QtNC+0Lpf0L/QsNGA0LDQvD4gICDQutC+0YDQvtGC0LrRliDQstC10YDRgdGW0Zcg0L/QsNGA0LDQvNC10YLRgNGW0LIsINGP0LrRliDRgdC70ZbQtCDRgNC+0LfQv9GW0LfQvdCw0LLQsNGC0LhcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDUKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBlcnJvciByZXBvcnRpbmcgYnkgZ2V0b3B0KDMpXG4iCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICDQstC40LzQutC90YPRgtC4INGB0L/QvtCy0ZbRidC10L3QvdGPINC/0YDQviDQv9C+0LzQuNC70LrQuCDQstGW0LQgZ2V0b3B0KDMpXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ2Cittc2dpZCAiIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgIG5vIG5vcm1hbCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgINC90LUg0LLQuNCy0L7QtNC40YLQuCDQt9Cy0LjRh9Cw0LnQvdGWINC00LDQvdGWXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ3Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgIHNldCBxdW90aW5nIGNvbnZlbnRpb25zIHRvIHRob3NlIG9mIDxzaGVsbD5cbiIKK21zZ3N0ciAiIC1zLCAtLXNoZWxsIDzQvtCx0L7Qu9C+0L3QutCwPiAgICAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0YHRgtC40LvRjCDQstC40LrQvtGA0LjRgdGC0LDQvdC90Y8g0LvQsNC/0L7QuiDRj9C6INGDINC+0LHQvtC70L7QvdGG0ZZcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDgKK21zZ2lkICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgdGVzdCBmb3IgZ2V0b3B0KDEpIHZlcnNpb25cbiIKK21zZ3N0ciAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgINC/0LXRgNC10LLRltGA0LjRgtC4INCy0LXRgNGB0ZbRjiBnZXRvcHQoMSlcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDkKK21zZ2lkICIgLXUsIC0tdW5xdW90ZWQgICAgICAgICAgICAgICAgZG8gbm90IHF1b3RlIHRoZSBvdXRwdXRcbiIKK21zZ3N0ciAiIC11LCAtLXVucXVvdGVkICAgICAgICAgICAgICAgINC90LUg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INC70LDQv9C60Lgg0YMg0LLQuNCy0LXQtNC10L3QuNGFINC00LDQvdC40YVcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozOTkgbWlzYy11dGlscy9nZXRvcHQuYzo0NTkKK21zZ2lkICJtaXNzaW5nIG9wdHN0cmluZyBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC80LDRlCDQsNGA0LPRg9C80LXQvdGC0YMg0YHQv9C10YbQuNGEX9Cw0YDQsyIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzo0NTQKK21zZ2lkICJpbnRlcm5hbCBlcnJvciwgY29udGFjdCB0aGUgYXV0aG9yLiIKK21zZ3N0ciAi0LLQvdGD0YLRgNGW0YjQvdGPINC/0L7QvNC40LvQutCwLCDQt9CyJ9GP0LbRltGC0YzRgdGPINC3INCw0LLRgtC+0YDQvtC8LiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsICVzOyB2YWxpZCBzaWduYWxzOiIKK21zZ3N0ciAi0L3QtdCy0ZbQtNC+0LzQuNC5INGB0LjQs9C90LDQuyAlczsg0L/RgNCw0LLQuNC70YzQvdGWINGB0LjQs9C90LDQu9C4OiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBpZD58PG5hbWU+Li4uXG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgNC4XSA8cGlkPnw80L3QsNC30LLQsD4uLi5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzA1Cittc2dpZCAiRm9yY2libHkgdGVybWluYXRlIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAi0J/RgNC40LzRg9GB0L7QstC+INC/0LXRgNC10YDQstCw0YLQuCDQv9GA0L7RhtC10YEuXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwOAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkbyBub3QgcmVzdHJpY3QgdGhlIG5hbWUtdG8tcGlkIGNvbnZlcnNpb24gdG8gcHJvY2Vzc2VzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIHRoZSBzYW1lIHVpZCBhcyB0aGUgcHJlc2VudCBwcm9jZXNzXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICDQvdC1INC+0LHQvNC10LbRg9Cy0LDRgtC4INC/0LXRgNC10YLQstC+0YDQtdC90L3RjyDQvdCw0LfQsiDQvdCwIHBpZCDQv9GA0L7RhtC10YHQsNC80Lgg0Lcg0YLQuNC8XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICDRgdCw0LzQuNC8IHVpZCwg0YnQviDRliDQv9C+0YLQvtGH0L3QuNC5INC/0YDQvtGG0LXRgVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTAKK21zZ2lkICIgLXMsIC0tc2lnbmFsIDxzaWduYWw+ICBzZW5kIHRoaXMgPHNpZ25hbD4gaW5zdGVhZCBvZiBTSUdURVJNXG4iCittc2dzdHIgIiAtcywgLS1zaWduYWwgPNGB0LjQs9C90LDQuz4gINC90LDQtNGW0YHQu9Cw0YLQuCDQstC60LDQt9Cw0L3QuNC5IDzRgdC40LPQvdCw0Ls+INC30LDQvNGW0YHRgtGMIFNJR1RFUk1cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzEyCittc2dpZCAiIC1xLCAtLXF1ZXVlIDx2YWx1ZT4gICAgdXNlIHNpZ3F1ZXVlKDIpLCBub3Qga2lsbCgyKSwgYW5kIHBhc3MgPHZhbHVlPiBhcyBkYXRhXG4iCittc2dzdHIgIiAtcSwgLS1xdWV1ZSA80LfQvdCw0YfQtdC90L3Rjz4g0LLQuNC60L7RgNC40YHRgtCw0YLQuCBzaWdxdWV1ZSgyKSDQt9Cw0LzRltGB0YLRjCBraWxsKDIpINGWINC/0LXRgNC10LTQsNGC0LggPNC30L3QsNGH0LXQvdC90Y8+INGP0Log0LTQsNC90ZZcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE0Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgcHJpbnQgcGlkcyB3aXRob3V0IHNpZ25hbGluZyB0aGVtXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICAgICAgINCy0LjQstC10YHRgtC4IHBpZCDQsdC10Lcg0L3QsNC00YHQuNC70LDQvdC90Y8g0YHQuNCz0L3QsNC70ZbQsiDQv9GA0L7RhtC10YHRltCyXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNQorbXNnaWQgIiAtbCwgLS1saXN0Wz08c2lnbmFsPl0gIGxpc3Qgc2lnbmFsIG5hbWVzLCBvciBjb252ZXJ0IGEgc2lnbmFsIG51bWJlciB0byBhIG5hbWVcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3RbPTzRgdC40LPQvdCw0Ls+XSAg0LLQuNCy0LXRgdGC0Lgg0YHQv9C40YHQvtC6INC90LDQt9CyINGB0LjQs9C90LDQu9GW0LIg0LDQsdC+INC/0LXRgNC10YLQstC+0YDQuNGC0Lgg0L3QvtC80LXRgCDRgdC40LPQvdCw0LvRgyDQvdCwINC90LDQt9Cy0YNcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE2Cittc2dpZCAiIC1MLCAtLXRhYmxlICAgICAgICAgICAgbGlzdCBzaWduYWwgbmFtZXMgYW5kIG51bWJlcnNcbiIKK21zZ3N0ciAiIC1MLCAtLXRhYmxlICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0YHQv9C40YHQvtC6INC90LDQt9CyINGWINC90L7QvNC10YDRltCyINGB0LjQs9C90LDQu9GW0LJcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE3Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgcGlkcyB0aGF0IHdpbGwgYmUgc2lnbmFsZWRcbiIKK21zZ3N0ciAiICAgICAtLXZlcmJvc2UgICAgICAgICAg0LLQuNCy0LXRgdGC0LggcGlkLCDRj9C60LjQvCDQsdGD0LTQtSDQvdCw0LTRltGB0LvQsNC90L4g0YHQuNCz0L3QsNC7XG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM2NyBtaXNjLXV0aWxzL2tpbGwuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWw6ICVzIgorbXNnc3RyICLQvdC10LLRltC00L7QvNC40Lkg0YHQuNCz0L3QsNC7OiAlcyIKKworIzogbWlzYy11dGlscy9raWxsLmM6Mzg3IG1pc2MtdXRpbHMva2lsbC5jOjM5MCBtaXNjLXV0aWxzL2tpbGwuYzozOTkKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQxMSBtaXNjLXV0aWxzL2tpbGwuYzo0MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiVzINGC0LAgJXMg0ZQg0LLQt9Cw0ZTQvNC+0LLQuNC60LvRjtGH0L3QuNC80LgiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM5NiBtaXNjLXV0aWxzL2tpbGwuYzo0MzggbWlzYy11dGlscy9yZW5hbWUuYzoxNzQKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc4OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc5OAorbXNnaWQgIm5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICLQvdC10LTQvtGB0YLQsNGC0L3RjNC+INCw0YDQs9GD0LzQtdC90YLRltCyIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uICclcycgcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgItGA0LDQt9C+0Lwg0Lcg0L/QsNGA0LDQvNC10YLRgNC+0Lwgwqslc8K7INC80LDRlCDQsdGD0YLQuCDQstC60LDQt9Cw0L3QviDQsNGA0LPRg9C80LXQvdGCIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MTQgc3lzLXV0aWxzL2VqZWN0LmM6MjA1IHN5cy11dGlscy9lamVjdC5jOjIzMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2ODkgc3lzLXV0aWxzL3R1bmVscC5jOjE2MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTY4CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTc1IHN5cy11dGlscy90dW5lbHAuYzoxODIgc3lzLXV0aWxzL3R1bmVscC5jOjE4OQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE5NSBzeXMtdXRpbHMvdHVuZWxwLmM6MTk5IHN5cy11dGlscy90dW5lbHAuYzoyMDYKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyMzEgdGVybS11dGlscy9zZXR0ZXJtLmM6MjEzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxNgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTEgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk4CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMDAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzEyIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxNAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzIzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMzMSB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzYyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNzMgdGVybS11dGlscy9zZXR0ZXJtLmM6NTM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0MAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTQ1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NzQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU3OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODQgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg5CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTQgdGVybS11dGlscy9zZXR0ZXJtLmM6NTk5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwNworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NjQwCittc2dpZCAiYXJndW1lbnQgZXJyb3IiCittc2dzdHIgItC/0L7QvNC40LvQutC+0LLQuNC5INCw0YDQs9GD0LzQtdC90YIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNpZ25hbCBuYW1lIG9yIG51bWJlcjogJXMiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdCwINC90LDQt9Cy0LAg0LDQsdC+INC90L7QvNC10YAg0YHQuNCz0L3QsNC70YM6ICVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgJWQgdG8gcGlkICVkXG4iCittc2dzdHIgItC90LDQtNGB0LjQu9Cw0ZTQvNC+INGB0LjQs9C90LDQuyAlZCDQtNC+IHBpZCAlZFxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgdG8gJXMgZmFpbGVkIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0L3QsNC00YHQuNC70LDQvdC90Y8g0YHQuNCz0L3QsNC70YMgJXMg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjUwNworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCBwcm9jZXNzIFwiJXNcIiIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9C90LDQudGC0Lgg0L/RgNC+0YbQtdGBIMKrJXPCuyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSBuYW1lOiAlcyIKK21zZ3N0ciAi0L3QtdCy0ZbQtNC+0LzQsCDQvdCw0LfQstCwINC80L7QttC70LjQstC+0YHRgtGWOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAi0L3QtdCy0ZbQtNC+0LzQsCDQvdCw0LfQstCwINC/0YDRltC+0YDQuNGC0LXRgtGDOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlbmxvZyAlczogcGF0aG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm9wZW5sb2cgJXM6INGI0LvRj9GFINGUINC90LDQtNGC0L4g0LTQvtCy0LPQuNC8IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI2NworIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgJXMiCittc2dzdHIgItGB0L7QutC10YIgJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIG5hbWUgJXMgcG9ydCAlczogJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC30L3QsNGH0LjRgtC4INCw0LTRgNC10YHRgyDQt9CwINC90LDQt9Cy0L7RjiAlcyDRliDQv9C+0YDRgtC+0LwgJXM6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMyMworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY29ubmVjdCB0byAlcyBwb3J0ICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INC34oCZ0ZTQtNC90LDQvdC90Y8g0LcgJXMsINC/0L7RgNGCICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjM1MgorIywgYy1mb3JtYXQKK21zZ2lkICJtYXhpbXVtIGlucHV0IGxpbmVzICglZCkgZXhjZWVkZWQiCittc2dzdHIgItC/0LXRgNC10LLQuNGJ0LXQvdC+INC60ZbQu9GM0LrRltGB0YLRjCDRgNGP0LTQutGW0LIg0LLRhdGW0LTQvdC40YUg0LTQsNC90LjRhSAoJWQpIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjQ4NworbXNnaWQgInNlbmQgbWVzc2FnZSBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDQvdCw0LTRgdC40LvQsNC90L3RjyDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8g0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTU4CisjLCBjLWZvcm1hdAorbXNnaWQgInN0cnVjdHVyZWQgZGF0YSBJRCAnJXMnIGlzIG5vdCB1bmlxdWUiCittc2dzdHIgItGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAINGB0YLRgNGD0LrRgtGD0YDQvtCy0LDQvdC40YUg0LTQsNC90LjRhSDCqyVzwrsg0L3QtSDRlCDRg9C90ZbQutCw0LvRjNC90LjQvCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1zZC1pZCB3YXMgbm90IHNwZWNpZmllZCBmb3IgLS1zZC1wYXJhbSAlcyIKK21zZ3N0ciAiLS1zZC1pZCDQvdC1INCx0YPQu9C+INCy0LrQsNC30LDQvdC+INC00LvRjyAtLXNkLXBhcmFtICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc1NAorbXNnaWQgImxvY2FsdGltZSgpIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgbG9jYWx0aW1lKCkiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzY0CisjLCBjLWZvcm1hdAorbXNnaWQgImhvc3RuYW1lICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgItC90LDQt9Cy0LAg0LLRg9C30LvQsCwgwqslc8K7LCDRlCDQvdCw0LTRgtC+INC00L7QstCz0L7RjiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGFnICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgItGC0LXSkSDCqyVzwrsg0ZQg0L3QsNC00YLQviDQtNC+0LLQs9C+0Y4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODMzCisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIHVua25vd24gb3B0aW9uIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi0ZbQs9C90L7RgNGD0ZTQvNC+INC90LXQstGW0LTQvtC80LjQuSDQsNGA0LPRg9C80LXQvdGCINC/0LDRgNCw0LzQtdGC0YDQsDogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzOiB1c2luZyBhdXRvbWF0aWMgZXJyb3JzIgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YI6ICVzOiDQstC40LrQvtGA0LjRgdGC0L7QstGD0ZTQvNC+INCw0LLRgtC+0LzQsNGC0LjRh9C90ZYg0L/QvtC80LjQu9C60LgiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6OTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIFs80L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPPl1cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo5OTcKK21zZ2lkICJFbnRlciBtZXNzYWdlcyBpbnRvIHRoZSBzeXN0ZW0gbG9nLlxuIgorbXNnc3RyICLQktCy0LXRgdGC0Lgg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPINC00L4g0LbRg9GA0L3QsNC70YMg0YHQuNGB0YLQtdC80YMuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMAorbXNnaWQgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgbG9nIHRoZSBsb2dnZXIgY29tbWFuZCdzIFBJRFxuIgorbXNnc3RyICIgLWkgICAgICAgICAgICAgICAgICAgICAgINC30LDQv9C40YHRg9Cy0LDRgtC4INC00L4g0LbRg9GA0L3QsNC70YMgUElEINC60L7QvNCw0L3QtNC4INC30LDRgdC+0LHRgyDQttGD0YDQvdCw0LvRjtCy0LDQvdC90Y9cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAxCittc2dpZCAiICAgICAtLWlkWz08aWQ+XSAgICAgICAgICBsb2cgdGhlIGdpdmVuIDxpZD4sIG9yIG90aGVyd2lzZSB0aGUgUElEXG4iCittc2dzdHIgIiAgICAgLS1pZFs9PNGW0LQ+XSAgICAgICAgICDQt9Cw0L/QuNGB0YPQstCw0YLQuCDQtNC+INC20YPRgNC90LDQu9GDINCy0LrQsNC30LDQvdC40LkgPNGW0LQ+LCDQsNCx0L4g0ZbQvdCw0LrRiNC1IFBJRFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDIKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgICAgIGxvZyB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlXG4iCittc2dzdHIgIiAtZiwgLS1maWxlIDzRhNCw0LnQuz4gICAgICAgINC30LDQv9C40YHQsNGC0Lgg0LTQviDQttGD0YDQvdCw0LvRgyDQstC80ZbRgdGCINCy0LrQsNC30LDQvdC+0LPQviDRhNCw0LnQu9CwXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMworbXNnaWQgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgZG8gbm90IGxvZyBlbXB0eSBsaW5lcyB3aGVuIHByb2Nlc3NpbmcgZmlsZXNcbiIKK21zZ3N0ciAiIC1lLCAtLXNraXAtZW1wdHkgICAgICAgICDQvdC1INC30LDQv9C40YHRg9Cy0LDRgtC4INC00L4g0LbRg9GA0L3QsNC70YMg0L/QvtGA0L7QttC90ZYg0YDRj9C00LrQuCDQv9GW0LQg0YfQsNGBINC+0LHRgNC+0LHQutC4INGE0LDQudC70ZbQslxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDQKK21zZ2lkICIgICAgIC0tbm8tYWN0ICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSB3cml0ZSB0aGUgbG9nXG4iCittc2dzdHIgIiAgICAgLS1uby1hY3QgICAgICAgICAgICAg0LLQuNC60L7QvdCw0YLQuCDRg9GB0ZYg0LTRltGXLCDQvtC60YDRltC8INC30LDQv9C40YHRg9Cy0LDQvdC90Y8g0LbRg9GA0L3QsNC70YNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA1Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBtYXJrIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiAtcCwgLS1wcmlvcml0eSA80YfQuNGB0LvQvj4gICDQv9C+0LfQvdCw0YfQuNGC0Lgg0LLQutCw0LfQsNC90LUg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPINGG0LjQvCDRgNGW0LLQvdC10Lwg0L/RgNGW0L7RgNC40YLQtdGC0L3QvtGB0YLRllxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDYKK21zZ2lkICIgICAgIC0tb2N0ZXQtY291bnQgICAgICAgIHVzZSByZmM2NTg3IG9jdGV0IGNvdW50aW5nXG4iCittc2dzdHIgIiAgICAgLS1vY3RldC1jb3VudCAgICAgICAg0LLQuNC60L7RgNC40YHRgtCw0YLQuCDQvtCx0LvRltC6INC+0LrRgtC10YIgcmZjNjU4N1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDcKK21zZ2lkICIgICAgIC0tcHJpby1wcmVmaXggICAgICAgIGxvb2sgZm9yIGEgcHJlZml4IG9uIGV2ZXJ5IGxpbmUgcmVhZCBmcm9tIHN0ZGluXG4iCittc2dzdHIgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAg0YjRg9C60LDRgtC4INC/0YDQtdGE0ZbQutGBINC90LAg0LrQvtC20L3QvtC80YMg0YDRj9C00LrRgyDRh9C40YLQsNC90L3RjyDQt9GWINGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQstCy0LXQtNC10L3QvdGPXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwOAorbXNnaWQgIiAtcywgLS1zdGRlcnIgICAgICAgICAgICAgb3V0cHV0IG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IgYXMgd2VsbFxuIgorbXNnc3RyICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INGC0LDQutC+0LYg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPINC00L4g0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LjQstC10LTQtdC90L3RjyDQv9C+0LzQuNC70L7QulxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDkKK21zZ2lkICIgLVMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgIG1heGltdW0gc2l6ZSBmb3IgYSBzaW5nbGUgbWVzc2FnZVxuIgorbXNnc3RyICIgLVMsIC0tc2l6ZSA80YDQvtC30LzRltGAPiAgICAgINC80LDQutGB0LjQvNCw0LvRjNC90LjQuSDRgNC+0LfQvNGW0YAg0L7QtNC90L7Qs9C+INC/0L7QstGW0LTQvtC80LvQtdC90L3Rj1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTAKK21zZ2lkICIgLXQsIC0tdGFnIDx0YWc+ICAgICAgICAgIG1hcmsgZXZlcnkgbGluZSB3aXRoIHRoaXMgdGFnXG4iCittc2dzdHIgIiAtdCwgLS10YWcgPNGC0LXSkT4gICAgICAgICAg0L/QvtC30L3QsNGH0LDRgtC4INC60L7QttC10L0g0YDRj9C00L7QuiDRhtC40Lwg0YLQtdKR0L7QvFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTEKK21zZ2lkICIgLW4sIC0tc2VydmVyIDxuYW1lPiAgICAgIHdyaXRlIHRvIHRoaXMgcmVtb3RlIHN5c2xvZyBzZXJ2ZXJcbiIKK21zZ3N0ciAiIC1uLCAtLXNlcnZlciA80L3QsNC30LLQsD4gICAgINCy0LjQutC+0L3QsNGC0Lgg0LfQsNC/0LjRgSDQtNC+INGG0YzQvtCz0L4g0LLRltC00LTQsNC70LXQvdC+0LPQviDRgdC10YDQstC10YDQsCDQttGD0YDQvdCw0LvRjtCy0LDQvdC90Y9cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEyCittc2dpZCAiIC1QLCAtLXBvcnQgPHBvcnQ+ICAgICAgICB1c2UgdGhpcyBwb3J0IGZvciBVRFAgb3IgVENQIGNvbm5lY3Rpb25cbiIKK21zZ3N0ciAiIC1QLCAtLXBvcnQgPNC/0L7RgNGCPiAgICAgICAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INCy0LrQsNC30LDQvdC40Lkg0L/QvtGA0YIg0LTQu9GPINC34oCZ0ZTQtNC90LDQvdC90Y8gVURQINCw0LHQviBUQ1BcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEzCittc2dpZCAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICB1c2UgVENQIG9ubHlcbiIKK21zZ3N0ciAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0LvQuNGI0LUgVENQXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNAorbXNnaWQgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCittc2dzdHIgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INC70LjRiNC1IFVEUFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTUKK21zZ2lkICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIHVzZSB0aGUgb2Jzb2xldGUgQlNEIHN5c2xvZyBwcm90b2NvbFxuIgorbXNnc3RyICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQt9Cw0YHRgtCw0YDRltC70LjQuSDQv9GA0L7RgtC+0LrQvtC7IHN5c2xvZyBCU0RcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE2Cittc2dpZCAiIgorIiAgICAgLS1yZmM1NDI0Wz08c25pcD5dICAgdXNlIHRoZSBzeXNsb2cgcHJvdG9jb2wgKHRoZSBkZWZhdWx0IGZvciByZW1vdGUpO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c25pcD4gY2FuIGJlIG5vdGltZSwgb3Igbm90cSwgYW5kL29yIG5vaG9zdFxuIgorbXNnc3RyICIiCisiICAgICAtLXJmYzU0MjRbPTxzbmlwPl0gICDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0L/RgNC+0YLQvtC60L7QuyBzeXNsb2cgKNGC0LjQv9C+0LLQviDQtNC70Y8g0LLRltC00LTQsNC70LXQvdC40YUpO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICDQt9C90LDRh9C10L3QvdGP0LwgPHNuaXA+INC80L7QttC1INCx0YPRgtC4IG5vdGltZSDQsNCx0L4gbm90cSDRli/QsNCx0L4gbm9ob3N0XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxOAorbXNnaWQgIiAgICAgLS1zZC1pZCA8aWQ+ICAgICAgICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgSURcbiIKK21zZ3N0ciAiICAgICAtLXNkLWlkIDzRltC0Lj4gICAgICAgINGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAINGB0YLRgNGD0LrRgtGD0YDQvtCy0LDQvdC40YUg0LTQsNC90LjRhSByZmM1NDI0XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxOQorbXNnaWQgIiAgICAgLS1zZC1wYXJhbSA8ZGF0YT4gICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgbmFtZT12YWx1ZVxuIgorbXNnc3RyICIgICAgIC0tc2QtcGFyYW0gPNC00LDQvdGWPiAgICDRgdGC0YDRg9C60YLRg9GA0L7QstCw0L3RliDQtNCw0L3RliByZmM1NDI0INGDINGE0L7RgNC80LDRgtGWINC90LDQt9Cy0LA90LfQvdCw0YfQtdC90L3Rj1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjAKK21zZ2lkICIgICAgIC0tbXNnaWQgPG1zZ2lkPiAgICAgIHNldCByZmM1NDI0IG1lc3NhZ2UgaWQgZmllbGRcbiIKK21zZ3N0ciAiICAgICAtLW1zZ2lkIDzRltC0LiDQv9C+0LLRltC00L7QvNC7Lj4g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LfQvdCw0YfQtdC90L3RjyDQv9C+0LvRjyBpZCDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8gcmZjNTQyNFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjEKK21zZ2lkICIgLXUsIC0tc29ja2V0IDxzb2NrZXQ+ICAgIHdyaXRlIHRvIHRoaXMgVW5peCBzb2NrZXRcbiIKK21zZ3N0ciAiIC11LCAtLXNvY2tldCA80YHQvtC60LXRgj4gICAgINCy0LjQutC+0L3QsNGC0Lgg0LfQsNC/0LjRgSDQtNC+INGG0YzQvtCz0L4g0YHQvtC60LXRgtCwIFVuaXhcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDIyCittc2dpZCAiIgorIiAgICAgLS1zb2NrZXQtZXJyb3JzWz08b258b2ZmfGF1dG8+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQgY29ubmVjdGlvbiBlcnJvcnMgd2hlbiB1c2luZyBVbml4IHNvY2tldHNcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1zb2NrZXQtZXJyb3JzWz08b258b2ZmfGF1dG8+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0L/QvtC80LjQu9C60Lgg0LLQuNC/0YDQsNCy0LvQtdC90L3Rjywg0Y/QutGJ0L4g0LLQuNC60L7RgNC40YHRgtC+0LLRg9GO0YLRjNGB0Y8g0YHQvtC60LXRgtC4IFVuaXhcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDI1Cittc2dpZCAiICAgICAtLWpvdXJuYWxkWz08ZmlsZT5dICB3cml0ZSBqb3VybmFsZCBlbnRyeVxuIgorbXNnc3RyICIgICAgIC0tam91cm5hbGRbPTzRhNCw0LnQuz5dICDQt9Cw0L/QuNGB0LDRgtC4INC30LDQv9C40YEgam91cm5hbGRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGUgJXMiCittc2dzdHIgItGE0LDQudC7ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExMjcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgaWQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTQ1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1lc3NhZ2Ugc2l6ZSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INC30L3QsNGH0LXQvdC90Y8g0YDQvtC30LzRltGA0YMg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODAKK21zZ2lkICItLW1zZ2lkIGNhbm5vdCBjb250YWluIHNwYWNlIgorbXNnc3RyICItLW1zZ2lkINC90LUg0L/QvtCy0LjQvdC90L4g0LzRltGB0YLQuNGC0Lgg0L/RgNC+0LHRltC70ZbQsiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjAyCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc3RydWN0dXJlZCBkYXRhIElEOiAnJXMnIgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAINGB0YLRgNGD0LrRgtGD0YDQvtCy0LDQvdC40YUg0LTQsNC90LjRhTogwqslc8K7IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INC/0LDRgNCw0LzQtdGC0YAg0YHRgtGA0YPQutGC0YPRgNC+0LLQsNC90LjRhSDQtNCw0L3QuNGFOiDCqyVzwrsiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIxOAorbXNnaWQgIi0tZmlsZSA8ZmlsZT4gYW5kIDxtZXNzYWdlPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLCBtZXNzYWdlIGlzIGlnbm9yZWQiCittc2dzdHIgIi0tZmlsZSA80YTQsNC50Ls+INGWIDzQv9C+0LLRltC00L7QvNC70LXQvdC90Y8+INC90LUg0LzQvtC20L3QsCDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0L7QtNC90L7Rh9Cw0YHQvdC+LCDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8g0L/RgNC+0ZbQs9C90L7RgNC+0LLQsNC90L4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIyNQorbXNnaWQgImpvdXJuYWxkIGVudHJ5IGNvdWxkIG5vdCBiZSB3cml0dGVuIgorbXNnc3RyICLQt9Cw0L/QuNGBIGpvdXJuYWxkINC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQsNC/0LjRgdCw0YLQuCIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHN0cmluZz4gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIDzRgNGP0LTQvtC6PiBbPNGE0LDQudC7Pi4uLl1cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzU4Cittc2dpZCAiRGlzcGxheSBsaW5lcyBiZWdpbm5pbmcgd2l0aCBhIHNwZWNpZmllZCBzdHJpbmcuXG4iCittc2dzdHIgItCf0L7QutCw0LfQsNGC0Lgg0YDRj9C00LrQuCwg0YnQviDQv9C+0YfQuNC90LDRjtGC0YzRgdGPINGW0Lcg0LLQutCw0LfQsNC90L7RlyDQv9C+0YHQu9GW0LTQvtCy0L3QvtGB0YLRliDRgdC40LzQstC+0LvRltCyLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjEKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgIHVzZSB0aGUgYWx0ZXJuYXRpdmUgZGljdGlvbmFyeVxuIgorbXNnc3RyICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQsNC70YzRgtC10YDQvdCw0YLQuNCy0L3QuNC5INGB0LvQvtCy0L3QuNC6XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MgorbXNnaWQgIiAtZCwgLS1hbHBoYW51bSAgICAgICAgICAgY29tcGFyZSBvbmx5IGJsYW5rcyBhbmQgYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICDQv9C+0YDRltCy0L3RjtCy0LDRgtC4INC70LjRiNC1INC/0YDQvtCx0ZbQu9C4LCDRhtC40YTRgNC4INGWINC70ZbRgtC10YDQuFxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjMKK21zZ2lkICIgLWYsIC0taWdub3JlLWNhc2UgICAgICAgIGlnbm9yZSBjYXNlIGRpZmZlcmVuY2VzIHdoZW4gY29tcGFyaW5nXG4iCittc2dzdHIgIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAg0L/RltC0INGH0LDRgSDQv9C+0YDRltCy0L3Rj9C90L3RjyDQvdC1INC30LLQsNC20LDRgtC4INC90LAg0YDQtdCz0ZbRgdGC0YAg0YHQuNC80LLQvtC70ZbQslxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjQKK21zZ2lkICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiAgIGRlZmluZSB0aGUgc3RyaW5nLXRlcm1pbmF0aW9uIGNoYXJhY3RlclxuIgorbXNnc3RyICIgLXQsIC0tdGVybWluYXRlIDzRgdC40LzQstC+0Ls+INCy0LjQt9C90LDRh9C40YLQuCDRgdC40LzQstC+0Lsg0LfQsNCy0LXRgNGI0LXQvdC90Y8g0YDRj9C00LrQsFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU3Cittc2dpZCAiZGV2aWNlIG5hbWUiCittc2dzdHIgItC90LDQt9Cy0LAg0L/RgNC40YHRgtGA0L7RjiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OAorbXNnaWQgImludGVybmFsIGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAi0LLQvdGD0YLRgNGW0YjQvdGPINC90LDQt9Cy0LAg0L/RgNC40YHRgtGA0L7RjiDRgyDRj9C00YDRliIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OQorbXNnaWQgImludGVybmFsIHBhcmVudCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgItCy0L3Rg9GC0YDRltGI0L3RjyDQvdCw0LfQstCwINC+0YHQvdC+0LLQvdC+0LPQviDQv9GA0LjRgdGC0YDQvtGOINGDINGP0LTRgNGWIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyIHN5cy11dGlscy96cmFtY3RsLmM6ODQKK21zZ2lkICJ3aGVyZSB0aGUgZGV2aWNlIGlzIG1vdW50ZWQiCittc2dzdHIgItC60YPQtNC4INC30LzQvtC90YLQvtCy0LDQvdC+INC/0YDQuNGB0YLRgNGW0LkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMKK21zZ2lkICJmaWxlc3lzdGVtIExBQkVMIgorbXNnc3RyICLQnNCG0KLQmtCQINGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80LgiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSBVVUlEIgorbXNnc3RyICJVVUlEINGC0LjQv9GDINGA0L7Qt9C00ZbQu9GDIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY3Cittc2dpZCAicGFydGl0aW9uIExBQkVMIgorbXNnc3RyICLQnNCG0KLQmtCQINGA0L7Qt9C00ZbQu9GDIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcxCittc2dpZCAicmVhZC1haGVhZCBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICLRgdGC0LDQvSDQstC40L/QtdGA0LXQtNC20LDQu9GM0L3QvtCz0L4g0YfQuNGC0LDQvdC90Y8g0Lcg0L/RgNC40YHRgtGA0L7RjiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAi0L/RgNC40YHRgtGA0ZbQuSDQu9C40YjQtS3QtNC70Y8t0YfQuNGC0LDQvdC90Y8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzMKK21zZ2lkICJyZW1vdmFibGUgZGV2aWNlIgorbXNnc3RyICLQv9C+0YDRgtCw0YLQuNCy0L3QuNC5INC/0YDQuNGB0YLRgNGW0LkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzQKK21zZ2lkICJyZW1vdmFibGUgb3IgaG90cGx1ZyBkZXZpY2UgKHVzYiwgcGNtY2lhLCAuLi4pIgorbXNnc3RyICLQv9C+0YDRgtCw0YLQuNCy0L3QuNC5INC/0YDQuNGB0YLRgNGW0LkgKHVzYiwgcGNtY2lhLCAuLi4pIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc1Cittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgItC30LzRltC90L3QuNC5INC/0YDQuNGB0YLRgNGW0LkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzYKK21zZ2lkICJhZGRzIHJhbmRvbW5lc3MiCittc2dzdHIgItC00L7QtNCw0ZQg0LLQuNC/0LDQtNC60L7QstC+0YHRgtGWIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc3Cittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIiCittc2dzdHIgItGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAINC/0YDQuNGB0YLRgNC+0Y4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzgKK21zZ2lkICJkaXNrIHNlcmlhbCBudW1iZXIiCittc2dzdHIgItGB0LXRgNGW0LnQvdC40Lkg0L3QvtC80LXRgCDQtNC40YHQutCwIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc5Cittc2dpZCAic2l6ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICLRgNC+0LfQvNGW0YAg0L/RgNC40YHRgtGA0L7RjiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MAorbXNnaWQgInN0YXRlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgItGB0YLQsNC9INC/0YDQuNGB0YLRgNC+0Y4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODIKK21zZ2lkICJncm91cCBuYW1lIgorbXNnc3RyICLQvdCw0LfQstCwINCz0YDRg9C/0LgiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODMKK21zZ2lkICJkZXZpY2Ugbm9kZSBwZXJtaXNzaW9ucyIKK21zZ3N0ciAi0L/RgNCw0LLQsCDQtNC+0YHRgtGD0L/RgyDQtNC+INCy0YPQt9C70LAg0L/RgNC40YHRgtGA0L7RjiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NAorbXNnaWQgImFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgItCy0ZbQtNGB0YLRg9C/INCy0LjRgNGW0LLQvdGO0LLQsNC90L3RjyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NQorbXNnaWQgIm1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgItC80ZbQvdGW0LzQsNC70YzQvdC40Lkg0YDQvtC30LzRltGAINCy0LLQtdC00LXQvdC90Y8t0LLQuNCy0LXQtNC10L3QvdGPIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg2Cittc2dpZCAib3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAi0L7Qv9GC0LjQvNCw0LvRjNC90LjQuSDRgNC+0LfQvNGW0YAg0LLQstC10LTQtdC90L3Rjy3QstC40LLQtdC00LXQvdC90Y8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODcKK21zZ2lkICJwaHlzaWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAi0YDQvtC30LzRltGAINGE0ZbQt9C40YfQvdC+0LPQviDRgdC10LrRgtC+0YDQsCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OAorbXNnaWQgImxvZ2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgItGA0L7Qt9C80ZbRgCDQu9C+0LPRltGH0L3QvtCz0L4g0YHQtdC60YLQvtGA0LAiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODkKK21zZ2lkICJJL08gc2NoZWR1bGVyIG5hbWUiCittc2dzdHIgItC90LDQt9Cy0LAg0L/Qu9Cw0L3Rg9Cy0LDQu9GM0L3QuNC60LAg0LLQstC10LTQtdC90L3Rjy3QstC40LLQtdC00LXQvdC90Y8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTAKK21zZ2lkICJyZXF1ZXN0IHF1ZXVlIHNpemUiCittc2dzdHIgItGA0L7Qt9C80ZbRgCDRh9C10YDQs9C4INC30LDQv9C40YLRltCyIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkxCittc2dpZCAiZGV2aWNlIHR5cGUiCittc2dzdHIgItGC0LjQvyDQv9GA0LjRgdGC0YDQvtGOIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkyCittc2dpZCAiZGlzY2FyZCBhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICLQstGW0LTQutC40L3Rg9GC0Lgg0LLRltC00YHRgtGD0L8g0LLQuNGA0ZbQstC90Y7QstCw0L3QvdGPIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkzCittc2dpZCAiZGlzY2FyZCBncmFudWxhcml0eSIKK21zZ3N0ciAi0LLRltC00LrQuNC90YPRgtC4INCz0LvQuNCx0LjQvdGDINC00LXRgtCw0LvRltC30LDRhtGW0ZciCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTQKK21zZ2lkICJkaXNjYXJkIG1heCBieXRlcyIKK21zZ3N0ciAi0LLRltC00LrQuNC90YPRgtC4INC80LDQutGB0LjQvNCw0LvRjNC90YMg0LrRltC70YzQutGW0YHRgtGMINCx0LDQudGC0ZbQsiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NQorbXNnaWQgImRpc2NhcmQgemVyb2VzIGRhdGEiCittc2dzdHIgItCy0ZbQtNC60LjQvdGD0YLQuCDQvdGD0LvRjNC+0LLRliDQtNCw0L3RliIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NgorbXNnaWQgIndyaXRlIHNhbWUgbWF4IGJ5dGVzIgorbXNnc3RyICLQt9Cw0L/QuNGB0LDRgtC4INGC0YMg0YHQsNC80YMg0LzQsNC60YHQuNC80LDQu9GM0L3RgyDQutGW0LvRjNC60ZbRgdGC0Ywg0LHQsNC50YLRltCyIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk3Cittc2dpZCAidW5pcXVlIHN0b3JhZ2UgaWRlbnRpZmllciIKK21zZ3N0ciAi0YPQvdGW0LrQsNC70YzQvdC40Lkg0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YAg0YHRhdC+0LLQuNGJ0LAg0LTQsNC90LjRhSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OAorbXNnaWQgIkhvc3Q6Q2hhbm5lbDpUYXJnZXQ6THVuIGZvciBTQ1NJIgorbXNnc3RyICLQktGD0LfQvtC7OtCa0LDQvdCw0Ls60KbRltC70Yw6THVuINC00LvRjyBTQ1NJIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk5Cittc2dpZCAiZGV2aWNlIHRyYW5zcG9ydCB0eXBlIgorbXNnc3RyICLRgtC40L8g0L/QtdGA0LXQtNCw0LLQsNC90L3RjyDQtNCw0L3QuNGFINC90LAg0L/RgNC40YHRgtGA0ZbQuSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMAorbXNnaWQgImRlLWR1cGxpY2F0ZWQgY2hhaW4gb2Ygc3Vic3lzdGVtcyIKK21zZ3N0ciAi0LvQsNC90YbRjtC20L7QuiDQv9GW0LTRgdC40YHRgtC10Lwg0Lcg0YPRgdGD0LLQsNC90L3Rj9C8INC00YPQsdC70ZbQutCw0YLRltCyIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAxCittc2dpZCAiZGV2aWNlIHJldmlzaW9uIgorbXNnc3RyICLQvNC+0LTQuNGE0ZbQutCw0YbRltGPINC/0YDQuNGB0YLRgNC+0Y4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDIKK21zZ2lkICJkZXZpY2UgdmVuZG9yIgorbXNnc3RyICLQstC40YDQvtCx0L3QuNC6INC/0YDQuNGB0YLRgNC+0Y4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxMjc2Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGV2aWNlIGRpcmVjdG9yeSBpbiBzeXNmcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGW0LTQutGA0LjRgtC4INC60LDRgtCw0LvQvtCzINC/0YDQuNGB0YLRgNC+0Y4g0YMgc3lzZnMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY29tcG9zZSBzeXNmcyBwYXRoIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQt9GW0LHRgNCw0YLQuCDRiNC70Y/RhSBzeXNmcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIGxpbmsiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINC/0YDQvtGH0LjRgtCw0YLQuCDQv9C+0YHQuNC70LDQvdC90Y8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN5c2ZzIG5hbWUiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0L3QsNC30LLRgyBzeXNmcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgd2hvbGUtZGlzayBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INC90L7QvNC10YAg0L/RgNC40YHRgtGA0L7RjiDQstGB0YzQvtCz0L4g0LTQuNGB0LrQsCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NTEgbWlzYy11dGlscy9sc2Jsay5jOjE1NTMgbWlzYy11dGlscy9sc2Jsay5jOjE1NzgKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTgwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsaXN0ICclcyciCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDRgdC/0LjRgdC+0LogJyVzJyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgZXhjbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICLRgdC/0LjRgdC+0Log0LLQuNC60LvRjtGH0LXQvdC40YUg0L/RgNC40YHRgtGA0L7Rl9CyINGUINC30LDQvdCw0LTRgtC+INC00L7QstCz0LjQvCAo0L7QsdC80LXQttC10L3QviAlZCDQv9GA0LjRgdGC0YDQvtGP0LzQuCkiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTg1CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGluY2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAi0YHQv9C40YHQvtC6INCy0LrQu9GO0YfQtdC90LjRhSDQv9GA0LjRgdGC0YDQvtGX0LIg0ZQg0LfQsNC90LDQtNGC0L4g0LTQvtCy0LPQuNC8ICjQvtCx0LzQtdC20LXQvdC+ICVkINC/0YDQuNGB0YLRgNC+0Y/QvNC4KSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MTYgc3lzLXV0aWxzL3dkY3RsLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIFs80L/RgNC40YHRgtGA0ZbQuT4gLi4uXVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxOQorbXNnaWQgIkxpc3QgaW5mb3JtYXRpb24gYWJvdXQgYmxvY2sgZGV2aWNlcy5cbiIKK21zZ3N0ciAi0KHQv9C40YHQvtC6INC00LDQvdC40YUg0YnQvtC00L4g0LHQu9C+0LrQvtCy0LjRhSDQv9GA0LjRgdGC0YDQvtGX0LIuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIyCittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INGB0L/QuNGB0L7QuiDQstGB0ZbRhSDQv9GA0LjRgdGC0YDQvtGX0LJcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjQKK21zZ2lkICIgLWQsIC0tbm9kZXBzICAgICAgICAgZG9uJ3QgcHJpbnQgc2xhdmVzIG9yIGhvbGRlcnNcbiIKK21zZ3N0ciAiIC1kLCAtLW5vZGVwcyAgICAgICAgICAg0L3QtSDQstC40LLQvtC00LjRgtC4INC/0ZbQtNC70LXQs9C70ZYg0LXQu9C10LzQtdC90YIg0LDQsdC+INGD0YLRgNC40LzRg9Cy0LDRh9GWXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI1Cittc2dpZCAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHByaW50IGRpc2NhcmQgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiAtRCwgLS1kaXNjYXJkICAgICAgICAgINCy0LjQstC10YHRgtC4INC00LDQvdGWINGJ0L7QtNC+INCy0ZbQtNC60LjQvdGD0YLQuNGFINC80L7QttC70LjQstC+0YHRgtC10LlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjYKK21zZ2lkICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorbXNnc3RyICIgLWUsIC0tZXhjbHVkZSA80YHQv9C40YHQvtC6PiDQstC40LrQu9GO0YfQuNGC0Lgg0L/RgNC40YHRgtGA0L7RlyDQt9CwINC+0YHQvdC+0LLQvdC40Lwg0L3QvtC80LXRgNC+0LwgKNGC0LjQv9C+0LLQviDQtNC40YHQutC4INGDINC/0LDQvCfRj9GC0ZYpXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI3Cittc2dpZCAiIC1mLCAtLWZzICAgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtZiwgLS1mcyAgICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INC00LDQvdGWINGJ0L7QtNC+INGE0LDQudC70L7QstC40YUg0YHQuNGB0YLQtdC8XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI4Cittc2dpZCAiIC1pLCAtLWFzY2lpICAgICAgICAgIHVzZSBhc2NpaSBjaGFyYWN0ZXJzIG9ubHlcbiIKK21zZ3N0ciAiIC1pLCAtLWFzY2lpICAgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INC70LjRiNC1INGB0LjQvNCy0L7Qu9C4IEFTQ0lJXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI5Cittc2dpZCAiIC1JLCAtLWluY2x1ZGUgPGxpc3Q+IHNob3cgb25seSBkZXZpY2VzIHdpdGggc3BlY2lmaWVkIG1ham9yIG51bWJlcnNcbiIKK21zZ3N0ciAiIC1JLCAtLWluY2x1ZGUgPNGB0L/QuNGB0L7Quj4g0LLQuNCy0LXRgdGC0Lgg0LvQuNGI0LUg0L/RgNC40YHRgtGA0L7RlyDQtyDQstC60LDQt9Cw0L3QuNC80Lgg0L7RgdC90L7QstC90LjQvNC4INC90L7QvNC10YDQsNC80LhcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzAKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtCw0YLQuCDRhNC+0YDQvNCw0YIg0LLQuNCy0LXQtNC10L3QvdGPIEpTT05cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzEKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICDQstC40LrQvtGA0LjRgdGC0LDRgtC40YHRjyDQtNC70Y8g0LLQuNCy0LXQtNC10L3QvdGPINGE0L7RgNC80LDRgiDRgdC/0LjRgdC60YNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzIKK21zZ2lkICIgLW0sIC0tcGVybXMgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIC1tLCAtLXBlcm1zICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0L/RgNCw0LIg0LTQvtGB0YLRg9C/0YNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAg0L3QtSDQstC40LLQvtC00LjRgtC4INC30LDQs9C+0LvQvtCy0LrQuFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNAorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDzRgdC/0LjRgdC+0Lo+ICDRgdGC0L7QstC/0YfQuNC60Lgg0LLQuNCy0LXQtNC10L3QuNGFINC00LDQvdC40YVcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzUKK21zZ2lkICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgb3V0cHV0IGFsbCBjb2x1bW5zXG4iCittc2dzdHIgIiAtTywgLS1vdXRwdXQtYWxsICAgICDQstC40LLQtdGB0YLQuCDRg9GB0ZYg0YHRgtC+0LLQv9GH0LjQutC4XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM2Cittc2dpZCAiIC1wLCAtLXBhdGhzICAgICAgICAgIHByaW50IGNvbXBsZXRlIGRldmljZSBwYXRoXG4iCittc2dzdHIgIiAtcCwgLS1wYXRocyAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDRiNC70Y/RhSDQtNC+INC/0YDQuNGB0YLRgNC+0Y4g0L/QvtCy0L3RltGB0YLRjlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzOQorbXNnaWQgIiAtcywgLS1pbnZlcnNlICAgICAgICBpbnZlcnNlIGRlcGVuZGVuY2llc1xuIgorbXNnc3RyICIgLXMsIC0taW52ZXJzZSAgICAgICAgICDQstC40LrQvtC90LDRgtC4INGW0L3QstC10YDRgdGW0Y4g0LfQsNC70LXQttC90L7RgdGC0LXQuVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MAorbXNnaWQgIiAtUywgLS1zY3NpICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBTQ1NJIGRldmljZXNcbiIKK21zZ3N0ciAiIC1TLCAtLXNjc2kgICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INC00LDQvdGWINGJ0L7QtNC+INC/0YDQuNGB0YLRgNC+0ZfQsiBTQ1NJXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQxCittc2dpZCAiIC10LCAtLXRvcG9sb2d5ICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHRvcG9sb2d5XG4iCittc2dzdHIgIiAtdCwgLS10b3BvbG9neSAgICAgICAgINCy0LjQstC10YHRgtC4INC00LDQvdGWINGJ0L7QtNC+INGC0L7Qv9C+0LvQvtCz0ZbRl1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MgorbXNnaWQgIiAteCwgLS1zb3J0IDxjb2x1bW4+ICBzb3J0IG91dHB1dCBieSA8Y29sdW1uPlxuIgorbXNnc3RyICIgLXgsIC0tc29ydCA80YHRgtC+0LLQv9GH0LjQuj4g0YPQv9C+0YDRj9C00LrRg9Cy0LDRgtC4INGA0LXQt9GD0LvRjNGC0LDRgtC4INC30LAg0YHRgtC+0LLQv9GH0LjQutC+0LwgPNGB0YLQvtCy0L/Rh9C40Lo+XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ3IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxOSBzeXMtdXRpbHMvbHNucy5jOjYzMgorIzogc3lzLXV0aWxzL3BybGltaXQuYzoxOTYgc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1vdXRwdXQpOlxuIgorbXNnc3RyICIiCisiXG4iCisi0JzQvtC20LvQuNCy0ZYg0YHRgtC+0LLQv9GH0LjQutC4ICjQtNC70Y8gLS1vdXRwdXQpOlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWNjZXNzIHN5c2ZzIGRpcmVjdG9yeTogJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQtNC+0YHRgtGD0L/RgyDQtNC+INC60LDRgtCw0LvQvtCz0YMgc3lzZnM6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3MworbXNnaWQgImNvbW1hbmQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAi0LrQvtC80LDQvdC00LAg0L/RgNC+0YbQtdGB0YMsINGJ0L4g0YPRgtGA0LjQvNGD0ZQg0LHQu9C+0LrRg9Cy0LDQvdC90Y8iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc0Cittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIlBJRCDQv9GA0L7RhtC10YHRgywg0Y/QutC40Lkg0YPRgtGA0LjQvNGD0ZQg0LHQu9C+0LrRg9Cy0LDQvdC90Y8iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc1Cittc2dpZCAia2luZCBvZiBsb2NrOiBGTF9GTE9DSyBvciBGTF9QT1NJWC4iCittc2dzdHIgItGC0LjQvyDQsdC70L7QutGD0LLQsNC90L3RjzogRkxfRkxPQ0sg0LDQsdC+IEZMX1BPU0lYLiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzYKK21zZ2lkICJzaXplIG9mIHRoZSBsb2NrIgorbXNnc3RyICLRgNC+0LfQvNGW0YAg0LHQu9C+0LrRg9Cy0LDQvdC90Y8iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc3Cittc2dpZCAibG9jayBhY2Nlc3MgbW9kZSIKK21zZ3N0ciAi0YDQtdC20LjQvCDQtNC+0YHRgtGD0L/RgyDQtNC+INCx0LvQvtC60YPQstCw0L3QvdGPIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OAorbXNnaWQgIm1hbmRhdG9yeSBzdGF0ZSBvZiB0aGUgbG9jazogMCAobm9uZSksIDEgKHNldCkiCittc2dzdHIgItC+0LHQvtCyJ9GP0LfQutC+0LLQuNC5INGB0YLQsNC9INCx0LvQvtC60YPQstCw0L3QvdGPOiAwICjQvdC10LzQsNGUKSwgMSAo0LLRgdGC0LDQvdC+0LLQu9C10L3QvikiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc5Cittc2dpZCAicmVsYXRpdmUgYnl0ZSBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgItCy0ZbQtNC90L7RgdC90LjQuSDQt9GB0YPQsiDQsdC70L7QutGD0LLQsNC90L3RjyDRgyDQsdCw0LnRgtCw0YUiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgwCittc2dpZCAiZW5kaW5nIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAi0LfRgdGD0LIg0LrRltC90YbRjyDQsdC70L7QutGD0LLQsNC90L3RjyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODEKK21zZ2lkICJwYXRoIG9mIHRoZSBsb2NrZWQgZmlsZSIKK21zZ3N0ciAi0YjQu9GP0YUg0LTQviDQt9Cw0LHQu9C+0LrQvtCy0LDQvdC+0LPQviDRhNCw0LnQu9CwIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MgorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBibG9ja2luZyB0aGUgbG9jayIKK21zZ3N0ciAiUElEINC/0YDQvtGG0LXRgdGDLCDRj9C60LjQuSDRg9GC0YDQuNC80YPRlCDQsdC70L7QutGD0LLQsNC90L3RjyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjU5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElEIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YAiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4MSBzeXMtdXRpbHMvbnNlbnRlci5jOjIzMgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwaWQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCBwaWQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4NAorbXNnaWQgIih1bmtub3duKSIKK21zZ3N0ciAiKNC90LXQstGW0LTQvtC80LjQuSkiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI5MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGFydCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INC/0L7Rh9Cw0YLQvtC6IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozMDAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0LrRltC90LXRhtGMIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDQKK21zZ2lkICJMaXN0IGxvY2FsIHN5c3RlbSBsb2Nrcy5cbiIKK21zZ3N0ciAi0J/QvtC60LDQt9Cw0YLQuCDRgdC/0LjRgdC+0Log0LHQu9C+0LrRg9Cy0LDQvdGMINC70L7QutCw0LvRjNC90L7RlyDRgdC40YHRgtC10LzQuC5cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA4Cittc2dpZCAiIC1pLCAtLW5vaW5hY2Nlc3NpYmxlICAgaWdub3JlIGxvY2tzIHdpdGhvdXQgcmVhZCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIgLWksIC0tbm9pbmFjY2Vzc2libGUgICDRltCz0L3QvtGA0YPQstCw0YLQuCDQsdC70L7QutGD0LLQsNC90L3RjyDQsdC10Lcg0L/RgNCw0LIg0LTQvtGB0YLRg9C/0YMg0L3QsCDRh9C40YLQsNC90L3Rj1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDkgc3lzLXV0aWxzL2xzbnMuYzo2MjEKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICDQvdC1INCy0LjQstC+0LTQuNGC0Lgg0LfQsNCz0L7Qu9C+0LLQutC4XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMCBzeXMtdXRpbHMvbHNucy5jOjYyMgorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA80YHQv9C40YHQvtC6PiAg0LLQuNC30L3QsNGH0LjRgtC4LCDRj9C60ZYg0YHRgtC+0LLQv9GH0LjQutC4INGB0LvRltC0INCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQtNC70Y8g0LLQuNCy0LXQtNC10L3QvdGPXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMQorbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIGRpc3BsYXkgb25seSBsb2NrcyBoZWxkIGJ5IHRoaXMgcHJvY2Vzc1xuIgorbXNnc3RyICIgLXAsIC0tcGlkIDxwaWQ+Li4uICAgICDQstC40LLQtdGB0YLQuCDQu9C40YjQtSDQsdC70L7QutGD0LLQsNC90L3Rjywg0Y/QutGWINGD0YLRgNC40LzRg9GO0YLRjNGB0Y8g0LLQutCw0LfQsNC90LjQvCDQv9GA0L7RhtC10YHQvtC8XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMiBzeXMtdXRpbHMvbHNucy5jOjYyNAorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INGE0L7RgNC80LDRgiDQstC40LLQtdC00LXQvdC90Y8g0LHQtdC3INC+0LHRgNC+0LHQutC4XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjU3MCBzY2hlZHV0aWxzL2NocnQuYzo0Nzggc2NoZWR1dGlscy9pb25pY2UuYzoxNzcKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE2MyBzeXMtdXRpbHMvbHNucy5jOjY5OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NgorbXNnaWQgImludmFsaWQgUElEIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIgUElEIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4NQorbXNnaWQgIkdlbmVyYXRlIG1hZ2ljIGNvb2tpZXMgZm9yIHhhdXRoLlxuIgorbXNnc3RyICLQodGC0LLQvtGA0LjRgtC4INC60YPQutC4INC60L7QvdGC0YDQvtC70YzQvdC40YUg0YHRg9C8INC00LvRjyB4YXV0aC5cbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODgKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgIHVzZSBmaWxlIGFzIGEgY29va2llIHNlZWRcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPNGE0LDQudC7PiAgICAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INCy0LrQsNC30LDQvdC40Lkg0YTQsNC50Lsg0Y/QuiDQtNC20LXRgNC10LvQviDQv9C+0YfQsNGC0LrQvtCy0LjRhSDQtNCw0L3QuNGFINC00LvRjyDQutGD0LrQuFxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OQorbXNnaWQgIiAtbSwgLS1tYXgtc2l6ZSA8bnVtPiAgbGltaXQgaG93IG11Y2ggaXMgcmVhZCBmcm9tIHNlZWQgZmlsZXNcbiIKK21zZ3N0ciAiIC1tLCAtLW1heC1zaXplIDzRh9C40YHQu9C+PiAg0L7QsdC80LXQttC40YLQuCDRh9C40YLQsNC90L3RjyDQtNCw0L3QuNGFINC3INGE0LDQudC70ZbQsiDQv9C+0YfQsNGC0LrQvtCy0LjRhSDRh9C40YHQtdC7XG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkwCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgINCy0LjQstC10YHRgtC4INC00LDQvdGWINGJ0L7QtNC+INC00ZbQuSwg0Y/QutGWINCy0LjQutC+0L3Rg9GO0YLRjNGB0Y9cbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlenUgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlenUgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICLQntGC0YDQuNC80LDQvdC+ICV6dSDQsdCw0LnRgiDQtyAlc1xuIgorbXNnc3RyWzFdICLQntGC0YDQuNC80LDQvdC+ICV6dSDQsdCw0LnRgtC4INC3ICVzXG4iCittc2dzdHJbMl0gItCe0YLRgNC40LzQsNC90L4gJXp1INCx0LDQudGC0ZbQsiDQtyAlc1xuIgorbXNnc3RyWzNdICLQntGC0YDQuNC80LDQvdC+ICV6dSDQsdCw0LnRgiDQtyAlc1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvc2luZyAlcyBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwINC/0ZbQtCDRh9Cw0YEg0YHQv9GA0L7QsdC4INC30LDQutGA0LjRgtC4ICVzIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNjQgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNDYgc3lzLXV0aWxzL2ZzdHJpbS5jOjMwOAorIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTE3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxlbmd0aCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INC00L7QstC20LjQvdGDIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNzcKK21zZ2lkICItLW1heC1zaXplIGlnbm9yZWQgd2hlbiB1c2VkIHdpdGhvdXQgLS1maWxlIgorbXNnc3RyICItLW1heC1zaXplINCx0YPQtNC1INC/0YDQvtGW0LPQvdC+0YDQvtCy0LDQvdC+LCDRj9C60YnQviDQvdC1INCy0LrQsNC30LDQvdC+IC0tZmlsZSIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTg1CisjLCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlZCBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICVkIGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAi0J7RgtGA0LjQvNCw0L3QviAlZCDQsdCw0LnRgiDQtyAlc1xuIgorbXNnc3RyWzFdICLQntGC0YDQuNC80LDQvdC+ICVkINCx0LDQudGC0Lgg0LcgJXNcbiIKK21zZ3N0clsyXSAi0J7RgtGA0LjQvNCw0L3QviAlZCDQsdCw0LnRgtGW0LIg0LcgJXNcbiIKK21zZ3N0clszXSAi0J7RgtGA0LjQvNCw0L3QviAlZCDQsdCw0LnRgiDQtyAlc1xuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3ltbGluazogJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L/RgNC+0YfQuNGC0LDRgtC4INGB0LjQvNCy0L7Qu9GW0YfQvdC1INC/0L7RgdC40LvQsNC90L3RjzogJXMiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgLSBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5XG4iCittc2dzdHIgIiVzIOKAlCDQvdC10LzQsNGUINGC0LDQutC+0LPQviDRhNCw0LnQu9CwINCw0LHQviDQutCw0YLQsNC70L7Qs9GDLlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBhdGhuYW1lPi4uLlxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gPNGI0LvRj9GFPi4uLlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzM2Cittc2dpZCAiRm9sbG93IGEgcGF0aG5hbWUgdW50aWwgYSB0ZXJtaW5hbCBwb2ludCBpcyBmb3VuZC5cbiIKK21zZ3N0ciAi0KHQu9GW0LTRg9Cy0LDRgtC4INC30LAg0YjQu9GP0YXQvtC8LCDQtNC+0LrQuCDQvdC1INCx0YPQtNC1INC30L3QsNC50LTQtdC90L4g0YLQvtGH0LrRgyDRgtC10YDQvNGW0L3QsNC70LAuXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzkKK21zZ2lkICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheXMgdGhpcyBoZWxwIHRleHRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAteCwgLS1tb3VudHBvaW50cyAgIHNob3cgbW91bnQgcG9pbnQgZGlyZWN0b3JpZXMgd2l0aCBhICdEJ1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIHNob3cgdGhlIG1vZGUgYml0cyBvZiBlYWNoIGZpbGVcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBzaG93IG93bmVyIGFuZCBncm91cCBuYW1lIG9mIGVhY2ggZmlsZVxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIHVzZSBhIGxvbmcgbGlzdGluZyBmb3JtYXQgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICBkb24ndCBmb2xsb3cgc3ltbGlua3NcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICB2ZXJ0aWNhbCBhbGlnbiBvZiBtb2RlcyBhbmQgb3duZXJzXG4iCittc2dzdHIgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICDQstC40LLQtdGB0YLQuCDRhtC10Lkg0LTQvtCy0ZbQtNC60L7QstC40Lkg0YLQtdC60YHRglxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgINCy0LjQstC10YHRgtC4INC00LDQvdGWINGJ0L7QtNC+INCy0LXRgNGB0ZbRlyDRliDQstC40LnRgtC4XG4iCisiIC14LCAtLW1vdW50cG9pbnRzICAg0LLQuNCy0LXRgdGC0Lgg0LrQsNGC0LDQu9C+0LPQuCDRgtC+0YfQvtC6INC80L7QvdGC0YPQstCw0L3QvdGPINC3IMKrRMK7XG4iCisiIC1tLCAtLW1vZGVzICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LHRltGC0Lgg0YDQtdC20LjQvNGDINC00L7RgdGC0YPQv9GDINC00LvRjyDQutC+0LbQvdC+0LPQviDQtyDRhNCw0LnQu9GW0LJcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICDQstC40LLQtdGB0YLQuCDQtNCw0L3RliDRidC+0LTQviDQstC70LDRgdC90LjQutCwINGWINC90LDQt9Cy0Lgg0LPRgNGD0L/QuCDQtNC70Y8g0LrQvtC20L3QvtCz0L4g0Lcg0YTQsNC50LvRltCyXG4iCisiIC1sLCAtLWxvbmcgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INGE0L7RgNC80LDRgiDQtNC+0LLQs9C+0LPQviDRgdC/0LjRgdC60YMgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICDQvdC1INC/0LXRgNC10YXQvtC00LjRgtC4INC30LAg0YHQuNC80LLQvtC70ZbRh9C90LjQvNC4INC/0L7RgdC40LvQsNC90L3Rj9C80LhcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICDQstC10YDRgtC40LrQsNC70YzQvdC1INCy0LjRgNGW0LLQvdGO0LLQsNC90L3RjyDQtNC70Y8g0LfQsNC/0LjRgdGW0LIg0YDQtdC20LjQvNGW0LIg0YLQsCDQstC70LDRgdC90LjQutGW0LJcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQwOAorbXNnaWQgInBhdGhuYW1lIGFyZ3VtZW50IGlzIG1pc3NpbmciCittc2dzdHIgItC90LUg0LLQutCw0LfQsNC90L4g0LDRgNCz0YPQvNC10L3RgtGDINGI0LvRj9GF0YMiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTQgc3lzLXV0aWxzL2xzbnMuYzo3NjQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgVUlEIGNhY2hlIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINGA0L7Qt9C80ZbRgdGC0LjRgtC4INC60LXRiCBVSUQiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTcKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR0lEIGNhY2hlIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINGA0L7Qt9C80ZbRgdGC0LjRgtC4INC60LXRiCBHSUQiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4Y2VlZGVkIGxpbWl0IG9mIHN5bWxpbmtzIgorbXNnc3RyICIlczog0L/QtdGA0LXQstC40YnQtdC90L4g0L7QsdC80LXQttC10L3QvdGPINC90LAg0YHQuNC80LLQvtC70ZbRh9C90ZYg0L/QvtGB0LjQu9Cw0L3QvdGPIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICIlczog0L3QtSDRlCDRgdC40LzQstC+0LvRltGH0L3QuNC8INC/0L7RgdC40LvQsNC90L3Rj9C8IgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkbGluayBmYWlsZWQiCittc2dzdHIgIiVzOiDQv9C+0LzQuNC70LrQsCByZWFkbGluayIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5saW5rIGZhaWxlZCIKK21zZ3N0ciAiJXM6INC/0L7QvNC40LvQutCwIHVubGluayIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3ltbGlua2luZyB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiDRgdC/0YDQvtCx0LAg0YHRgtCy0L7RgNC10L3QvdGPINGB0LjQvNCy0L7Qu9GW0YfQvdC+0LPQviDQv9C+0YHQuNC70LDQvdC90Y8g0L3QsCAlcyDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlbmFtZSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiDRgdC/0YDQvtCx0LAg0L/QtdGA0LXQudC80LXQvdGD0LLQsNC90L3RjyDQvdCwICVzINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxleHByZXNzaW9uPiA8cmVwbGFjZW1lbnQ+IDxmaWxlPi4uLlxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gPNCy0LjRgNCw0Lc+IDzQt9Cw0LzRltC90L3QuNC6PiA80YTQsNC50Ls+Li4uXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTIyCittc2dpZCAiUmVuYW1lIGZpbGVzLlxuIgorbXNnc3RyICLQn9C10YDQtdC50LzQtdC90YPQstCw0YLQuCDRhNCw0LnQu9C4LlxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyNQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgINCy0LjQstC10YHRgtC4INC00LDQvdGWINGJ0L7QtNC+INC00ZbQuSwg0Y/QutGWINCy0LjQutC+0L3Rg9GO0YLRjNGB0Y9cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjYKK21zZ2lkICIgLXMsIC0tc3ltbGluayAgICBhY3Qgb24gdGhlIHRhcmdldCBvZiBzeW1saW5rc1xuIgorbXNnc3RyICIgLXMsIC0tc3ltbGluayAgICDQstC40LrQvtC90LDRgtC4INC00ZbRjiDQvdCw0LQg0L/RgNC40LfQvdCw0YfQtdC90L3Rj9C80Lgg0YHQuNC80LLQvtC70ZbRh9C90LjRhSDQv9C+0YHQuNC70LDQvdGMXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MgorbXNnaWQgIkEgZGFlbW9uIGZvciBnZW5lcmF0aW5nIFVVSURzLlxuIgorbXNnc3RyICLQpNC+0L3QvtCy0LAg0YHQu9GD0LbQsdCwINC00LvRjyDRgdGC0LLQvtGA0LXQvdC90Y8gVVVJRC5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc0Cittc2dpZCAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA80YjQu9GP0YU+ICAgICAgICDRiNC70Y/RhSDQtNC+INGE0LDQudC70LAgcGlkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NQorbXNnaWQgIiAtcywgLS1zb2NrZXQgPHBhdGg+ICAgICBwYXRoIHRvIHNvY2tldFxuIgorbXNnc3RyICIgLXMsIC0tc29ja2V0IDzRiNC70Y/RhT4gICAgINGI0LvRj9GFINC00L4g0YHQvtC60LXRgtCwXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NgorbXNnaWQgIiAtVCwgLS10aW1lb3V0IDxzZWM+ICAgICBzcGVjaWZ5IGluYWN0aXZpdHkgdGltZW91dFxuIgorbXNnc3RyICIgLVQsIC0tdGltZW91dCA80YHQtdC6PiAgICAg0LLQuNC30L3QsNGH0LjRgtC4INC+0YfRltC60YPQstCw0L3QvdGPINGDINCx0LXQt9C00ZbRj9C70YzQvdC+0YHRgtGWXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NworbXNnaWQgIiAtaywgLS1raWxsICAgICAgICAgICAgICBraWxsIHJ1bm5pbmcgZGFlbW9uXG4iCittc2dzdHIgIiAtaywgLS1raWxsICAgICAgICAgICAgICDQv9GA0LjQv9C40L3QuNGC0Lgg0YDQvtCx0L7RgtGDINC30LDQv9GD0YnQtdC90L7RlyDRhNC+0L3QvtCy0L7RlyDRgdC70YPQttCx0LhcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc4Cittc2dpZCAiIC1yLCAtLXJhbmRvbSAgICAgICAgICAgIHRlc3QgcmFuZG9tLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiIC1yLCAtLXJhbmRvbSAgICAgICAgICAgINC/0LXRgNC10LLRltGA0LjRgtC4INC30LDRgdGW0LEg0LPQtdC90LXRgNCw0YbRltGXINCy0LjQv9Cw0LTQutC+0LLQuNGFINGH0LjRgdC10LtcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICAgICAgICDQv9C10YDQtdCy0ZbRgNC40YLQuCDQs9C10L3QtdGA0LDRhtGW0Y4g0L3QsCDQvtGB0L3QvtCy0ZYg0LTQsNC90LjRhSDRidC+0LTQviDRh9Cw0YHRg1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODAKK21zZ2lkICIgLW4sIC0tdXVpZHMgPG51bT4gICAgICAgcmVxdWVzdCBudW1iZXIgb2YgdXVpZHNcbiIKK21zZ3N0ciAiIC1uLCAtLXV1aWRzIDzRh9C40YHQu9C+PiAgICAg0L3QsNC00ZbRgdC70LDRgtC4INC30LDQv9C40YIg0YnQvtC00L4g0LLQutCw0LfQsNC90L7RlyDQutGW0LvRjNC60L7RgdGC0ZYgdXVpZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODEKK21zZ2lkICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgZG8gbm90IGNyZWF0ZSBwaWQgZmlsZVxuIgorbXNnc3RyICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAg0L3QtSDRgdGC0LLQvtGA0Y7QstCw0YLQuCDRhNCw0LnQuyBwaWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgyCittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIGRvIG5vdCBkYWVtb25pemUgdXNpbmcgZG91YmxlLWZvcmtcbiIKK21zZ3N0ciAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgINC90LUg0YHRgtCy0L7RgNGO0LLQsNGC0Lgg0YTQvtC90L7QstC+0Zcg0YHQu9GD0LbQsdC4INC30LAg0LTQvtC/0L7QvNC+0LPQvtGOINC/0L7QtNCy0ZbQudC90L7Qs9C+INCy0ZbQtNCz0LDQu9GD0LbQtdC90L3Rj1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODMKK21zZ2lkICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iCittc2dzdHIgIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiDQvdC1INGB0YLQstC+0YDRjtCy0LDRgtC4INGB0L7QutC10YLQsCDQvtGH0ZbQutGD0LLQsNC90L3RjyDQtNCw0L3QuNGFXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4NAorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBydW4gaW4gZGVidWdnaW5nIG1vZGVcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgINC30LDQv9GD0YHRgtC40YLQuCDRgyDRgNC10LbQuNC80ZYg0LTRltCw0LPQvdC+0YHRgtC40LrQuFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODUKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgdHVybiBvbiBxdWlldCBtb2RlXG4iCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICDRg9Cy0ZbQvNC60L3Rg9GC0Lgg0YDQtdC20LjQvCDQsdC10Lcg0L/QvtCy0ZbQtNC+0LzQu9C10L3RjFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTE4Cittc2dpZCAiYmFkIGFyZ3VtZW50cyIKK21zZ3N0ciAi0L/QvtC80LjQu9C60L7QstGWINC/0LDRgNCw0LzQtdGC0YDQuCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEyNQorbXNnaWQgInNvY2tldCIKK21zZ3N0ciAi0YHQvtC60LXRgiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEzNgorbXNnaWQgImNvbm5lY3QiCittc2dzdHIgItC3J9GU0LTQvdCw0L3QvdGPIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTU2Cittc2dpZCAid3JpdGUiCittc2dzdHIgItC30LDQv9C40YEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNjQKK21zZ2lkICJyZWFkIGNvdW50IgorbXNnc3RyICLQutGW0LvRjNC60ZbRgdGC0Ywg0YfQuNGC0LDQvdGMIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTcwCittc2dpZCAiYmFkIHJlc3BvbnNlIGxlbmd0aCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60L7QstCwINC00L7QstC20LjQvdCwINCy0ZbQtNC/0L7QstGW0LTRliIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIyMQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbG9jayAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9Cw0LHQu9C+0LrRg9Cy0LDRgtC4ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjQ2Cittc2dpZCAiY291bGRuJ3QgY3JlYXRlIHVuaXggc3RyZWFtIHNvY2tldCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDRgdGC0LLQvtGA0LjRgtC4INGB0L7QutC10YIg0L/QvtGC0L7QutGDINC00LDQvdC40YUgVU5JWCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBiaW5kIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC/0YDQuNCy4oCZ0Y/Qt9Cw0YLQuNGB0Y8g0LTQviDRgdC+0LrQtdGC0LAgVU5JWDogJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyOTgKK21zZ2lkICJyZWNlaXZpbmcgc2lnbmFsIGZhaWxlZCIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINC+0YLRgNC40LzQsNC90L3RjyDRgdC40LPQvdCw0LvRgyDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjMxMQorbXNnaWQgInRpbWVkIG91dCIKK21zZ3N0ciAi0LLQuNC50YjQvtCyINGH0LDRgSDQvtGH0ZbQutGD0LLQsNC90L3RjyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM0NSBzeXMtdXRpbHMvZmxvY2suYzoyNzEKK21zZ2lkICJjYW5ub3Qgc2V0IHVwIHRpbWVyIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC90LDQu9Cw0YjRgtGD0LLQsNGC0Lgg0YLQsNC50LzQtdGAIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgInV1aWRkIGRhZW1vbiBpcyBhbHJlYWR5IHJ1bm5pbmcgYXQgcGlkICVzIgorbXNnc3RyICLRhNC+0L3QvtCy0YMg0YHQu9GD0LbQsdGDIHV1aWRkINCy0LbQtSDQt9Cw0L/Rg9GJ0LXQvdC+INC3IHBpZCAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBsaXN0ZW4gb24gdW5peCBzb2NrZXQgJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L/QvtGH0LDRgtC4INC+0YfRltC60YPQstCw0L3QvdGPINC00LDQvdC40YUg0L3QsCDRgdC+0LrQtdGC0ZYgVU5JWCAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgdHJ1bmNhdGUgZmlsZTogJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0ZbQt9Cw0YLQuCDRhNCw0LnQuyAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4NgorbXNnaWQgInNkX2xpc3Rlbl9mZHMoKSBmYWlsZWQiCittc2dzdHIgItCf0L7QvNC40LvQutCwIHNkX2xpc3Rlbl9mZHMoKSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4OQorbXNnaWQgIm5vIGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHN5c3RlbWN0bCBzdGF0dXMgdXVpZGQuc29ja2V0IgorbXNnc3RyICLQvdC1INC+0YLRgNC40LzQsNC90L4g0LTQtdGB0LrRgNC40L/RgtC+0YDRltCyINGE0LDQudC70ZbQsiwg0L/QtdGA0LXQstGW0YDRgtC1INGB0YLQsNC9IHN5c3RlbWN0bCB1dWlkZC5zb2NrZXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozOTIKK21zZ2lkICJ0b28gbWFueSBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayB1dWlkZC5zb2NrZXQiCittc2dzdHIgItC+0YLRgNC40LzQsNC90L4g0LfQsNC90LDQtNGC0L4g0LHQsNCz0LDRgtC+INGE0LDQudC70L7QstC40YUg0LTQtdGB0LrRgNC40L/RgtC+0YDRltCyLCDQv9C10YDQtdCy0ZbRgNGC0LUg0LfQvdCw0YfQtdC90L3RjyB1dWlkZC5zb2NrZXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MjAgdGVybS11dGlscy9zY3JpcHQuYzo0NTUKK21zZ2lkICJwb2xsIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgcG9sbCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lb3V0IFslZCBzZWNdXG4iCittc2dzdHIgItGH0LDRgSDQvtGH0ZbQutGD0LLQsNC90L3RjyBbJWQg0YHQtdC60YPQvdC0XVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQzIHRleHQtdXRpbHMvY29sdW1uLmM6NDE0Cittc2dpZCAicmVhZCBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwINGH0LjRgtCw0L3QvdGPIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHJlYWRpbmcgZnJvbSBjbGllbnQsIGxlbiA9ICVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDQv9GW0LQg0YfQsNGBINGH0LjRgtCw0L3QvdGPINC3INC60LvRltGU0L3RgtCwLCDQtNC+0LLQttC40L3QsCA9ICVkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZCwgaW5jb21pbmcgbnVtID0gJWRcbiIKK21zZ3N0ciAi0L7Qv9C10YDQsNGG0ZbRjyAlZCwg0LLRhdGW0LTQvdC1INGH0LjRgdC70L4gPSAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICLQtNGW0Y8gJWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ3MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEOiAlc1xuIgorbXNnc3RyICLQodGC0LLQvtGA0LXQvdC40Lkg0L3QsCDQvtGB0L3QvtCy0ZYg0YfQsNGB0YMgVVVJRDogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgcmFuZG9tIFVVSUQ6ICVzXG4iCittc2dzdHIgItCh0YLQstC+0YDQtdC90LjQuSDQv9GB0LXQstC00L7QstC40L/QsNC00LrQvtCy0LjQuSBVVUlEOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgYW5kICVkIGZvbGxvd2luZ1xuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ3N0clswXSAi0KHRgtCy0L7RgNC10L3QviBVVUlEINC90LAg0L7RgdC90L7QstGWINGH0LDRgdGDICVzINGWINGJ0LUgJWQgVVVJRFxuIgorbXNnc3RyWzFdICLQodGC0LLQvtGA0LXQvdC+IFVVSUQg0L3QsCDQvtGB0L3QvtCy0ZYg0YfQsNGB0YMgJXMg0ZYg0YnQtSAlZCBVVUlEXG4iCittc2dzdHJbMl0gItCh0YLQstC+0YDQtdC90L4gVVVJRCDQvdCwINC+0YHQvdC+0LLRliDRh9Cw0YHRgyAlcyDRliDRidC1ICVkIFVVSURcbiIKK21zZ3N0clszXSAi0KHRgtCy0L7RgNC10L3QviBVVUlEINC90LAg0L7RgdC90L7QstGWINGH0LDRgdGDICVzINGWINGJ0LUg0L7QtNC90LUgVVVJRFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCAlZCBVVUlEOlxuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgJWQgVVVJRHM6XG4iCittc2dzdHJbMF0gItCh0YLQstC+0YDQtdC90L4gJWQgVVVJRDpcbiIKK21zZ3N0clsxXSAi0KHRgtCy0L7RgNC10L3QviAlZCBVVUlEOlxuIgorbXNnc3RyWzJdICLQodGC0LLQvtGA0LXQvdC+ICVkIFVVSUQ6XG4iCittc2dzdHJbM10gItCh0YLQstC+0YDQtdC90L4gJWQgVVVJRDpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIG9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICLQndC10LrQvtGA0LXQutGC0L3QsCDQtNGW0Y8gJWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUzOQorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIHJlcGx5IGxlbmd0aCBmcm9tIHNlcnZlciAlZCIKK21zZ3N0ciAi0J3QtdC+0YfRltC60YPQstCw0L3QsCDQtNC+0LLQttC40L3QsCDQstGW0LTQv9C+0LLRltC00ZYg0LLRltC0INGB0LXRgNCy0LXRgNCwICVkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjAwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdXVpZHMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCAtLXV1aWRzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjE3Cittc2dpZCAidXVpZGQgaGFzIGJlZW4gYnVpbHQgd2l0aG91dCBzdXBwb3J0IGZvciBzb2NrZXQgYWN0aXZhdGlvbiIKK21zZ3N0ciAidXVpZGQg0LHRg9C70L4g0LfRltCx0YDQsNC90L4g0LHQtdC3INC/0ZbQtNGC0YDQuNC80LrQuCDQsNC60YLQuNCy0LDRhtGW0Zcg0YHQvtC60LXRgtGW0LIuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjM2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGltZW91dCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4IC0tdGltZW91dCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1MworbXNnaWQgIkJvdGggLS1zb2NrZXQtYWN0aXZhdGlvbiBhbmQgLS1zb2NrZXQgc3BlY2lmaWVkLiBJZ25vcmluZyAtLXNvY2tldC4iCittc2dzdHIgItCS0LrQsNC30LDQvdC+INC+0LTRgNCw0LfRgyDQv9Cw0YDQsNC80LXRgtGA0LggLS1zb2NrZXQtYWN0aXZhdGlvbiDRliAtLXNvY2tldC4g0IbQs9C90L7RgNGD0ZTQvNC+IC0tc29ja2V0LiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2MCBtaXNjLXV0aWxzL3V1aWRkLmM6Njg4CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNhbGxpbmcgdXVpZGQgZGFlbW9uICglcykiCittc2dzdHIgItC/0L7QvNC40LvQutCwINC/0ZbQtCDRh9Cw0YEg0YHQv9GA0L7QsdC4INCy0LjQutC70LjQutCw0YLQuCDRhNC+0L3QvtCy0YMg0YHQu9GD0LbQsdGDIHV1aWRkICglcykiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjEgbWlzYy11dGlscy91dWlkZC5jOjY4OQorbXNnaWQgInVuZXhwZWN0ZWQgZXJyb3IiCittc2dzdHIgItC90LXQvtGH0ZbQutGD0LLQsNC90LAg0L/QvtC80LjQu9C60LAiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRFxuIgorbXNnaWRfcGx1cmFsICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEc1xuIgorbXNnc3RyWzBdICIlcyDRliAlZCDQv9C+0YHQu9GW0LTQvtCy0L3QuNC5IFVVSURcbiIKK21zZ3N0clsxXSAiJXMg0ZYgJWQg0L/QvtGB0LvRltC00L7QstC90ZYgVVVJRFxuIgorbXNnc3RyWzJdICIlcyDRliAlZCDQv9C+0YHQu9GW0LTQvtCy0L3RliBVVUlEXG4iCittc2dzdHJbM10gIiVzINGWICVkINC/0L7RgdC70ZbQtNC+0LLQvdC40LkgVVVJRFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjczCisjLCBjLWZvcm1hdAorbXNnaWQgIkxpc3Qgb2YgVVVJRHM6XG4iCittc2dzdHIgItCh0L/QuNGB0L7QuiBVVUlEOlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGtpbGwgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L/RgNC40L/QuNC90LjRgtC4INGA0L7QsdC+0YLRgyB1dWlkZCwg0LfQsNC/0YPRidC10L3QvtCz0L4g0LcgcGlkICVkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIktpbGxlZCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZC5cbiIKK21zZ3N0ciAi0J/RgNC40L/QuNC90LXQvdC+INGA0L7QsdC+0YLRgyB1dWlkZCDQtyBwaWQgJWQuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI4Cittc2dpZCAiQ3JlYXRlIGEgbmV3IFVVSUQgdmFsdWUuXG4iCittc2dzdHIgItCh0YLQstC+0YDQuNGC0Lgg0LfQvdCw0YfQtdC90L3RjyBVVUlELlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozMQorbXNnaWQgIiIKKyIgLXIsIC0tcmFuZG9tICAgICBnZW5lcmF0ZSByYW5kb20tYmFzZWQgdXVpZFxuIgorIiAtdCwgLS10aW1lICAgICAgIGdlbmVyYXRlIHRpbWUtYmFzZWQgdXVpZFxuIgorIiAtViwgLS12ZXJzaW9uICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtciwgLS1yYW5kb20gICAgINGB0YLQstC+0YDQuNGC0Lgg0L/RgdC10LLQtNC+0LLQuNC/0LDQtNC60L7QstC40LkgdXVpZFxuIgorIiAtdCwgLS10aW1lICAgICAgINGB0YLQstC+0YDQuNGC0LggdXVpZCDQvdCwINC+0YHQvdC+0LLRliDQv9C+0YLQvtGH0L3QvtCz0L4g0YfQsNGB0YNcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICDQstC40LLQtdGB0YLQuCDQtNCw0L3RliDRidC+0LTQviDQstC10YDRgdGW0Zcg0ZYg0LLQuNC50YLQuFxuIgorIiAtaCwgLS1oZWxwICAgICAgINC/0L7QutCw0LfQsNGC0Lgg0YbQtSDQtNC+0LLRltC00LrQvtCy0LUg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPINGWINCy0LjQudGC0LhcbiIKKyJcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1CTVMgPGRpcj4uLi4gLWZdIDxuYW1lPlxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gWy1CTVMgPNC60LDRgtCw0LvQvtCzPi4uLiAtZl0gPNC90LDQt9Cy0LA+XG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5MgorbXNnaWQgIkxvY2F0ZSB0aGUgYmluYXJ5LCBzb3VyY2UsIGFuZCBtYW51YWwtcGFnZSBmaWxlcyBmb3IgYSBjb21tYW5kLlxuIgorbXNnc3RyICLQktC60LDQt9Cw0YLQuCDQvNGW0YHRhtC1INCy0LjQutC+0L3Rg9Cy0LDQvdC40YUg0YTQsNC50LvRltCyLCDQutC+0LTRgyDRgtCwINGB0YLQvtGA0ZbQvdC60Lgg0L/RltC00YDRg9GH0L3QuNC60LAg0L/RgNC+0LPRgNCw0LzQuC5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk1Cittc2dpZCAiIC1iICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIGJpbmFyaWVzXG4iCittc2dzdHIgIiAtYiAgICAgICAgINGI0YPQutCw0YLQuCDQu9C40YjQtSDQstC40LrQvtC90YPQstCw0L3RliDRhNCw0LnQu9C4XG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5NgorbXNnaWQgIiAtQiA8ZGlycz4gIGRlZmluZSBiaW5hcmllcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLUIgPNC60LDRgj4gICDQstC40LfQvdCw0YfQuNGC0Lgg0LzRltGB0YbRjyDQv9C+0YjRg9C60YMg0LLQuNC60L7QvdGD0LLQsNC90LjRhSDRhNCw0LnQu9GW0LJcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk3Cittc2dpZCAiIC1tICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIG1hbnVhbHMgYW5kIGluZm9zXG4iCittc2dzdHIgIiAtbSAgICAgICAgINGI0YPQutCw0YLQuCDQu9C40YjQtSDRgyDQutCw0YLQsNC70L7Qs9Cw0YUg0Lcg0L/RltC00YDRg9GH0L3QuNC60LDQvNC4INGC0LAg0YTQsNC50LvQsNC80LggaW5mb1xuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTgKK21zZ2lkICIgLU0gPGRpcnM+ICBkZWZpbmUgbWFuIGFuZCBpbmZvIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiAtTSA80LrQsNGCPiAgINCy0LjQt9C90LDRh9C40YLQuCDQvNGW0YHRhtGPINC/0L7RiNGD0LrRgyDQv9GW0LTRgNGD0YfQvdC40LrRltCyINGC0LAg0YTQsNC50LvRltCyIGluZm9cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk5Cittc2dpZCAiIC1zICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIHNvdXJjZXNcbiIKK21zZ3N0ciAiIC1zICAgICAgICAg0YjRg9C60LDRgtC4INC70LjRiNC1INGDINC60LDRgtCw0LvQvtCz0LDRhSDQtyDQv9C+0YfQsNGC0LrQvtCy0LjQvNC4INC60L7QtNCw0LzQuFxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDAKK21zZ2lkICIgLVMgPGRpcnM+ICBkZWZpbmUgc291cmNlcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLVMgPNC60LDRgj4gICDQstC40LfQvdCw0YfQuNGC0Lgg0LzRltGB0YbRjyDQv9C+0YjRg9C60YMg0L/QvtGH0LDRgtC60L7QstC40YUg0LrQvtC00ZbQslxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDEKK21zZ2lkICIgLWYgICAgICAgICB0ZXJtaW5hdGUgPGRpcnM+IGFyZ3VtZW50IGxpc3RcbiIKK21zZ3N0ciAiIC1mICAgICAgICAg0L/QtdGA0LXRgNCy0LDRgtC4INGB0L/QuNGB0L7QuiDQsNGA0LPRg9C80LXQvdGC0YMg0LrQsNGC0LDQu9C+0LPRltCyIDzQutCw0YI+XG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMgorbXNnaWQgIiAtdSAgICAgICAgIHNlYXJjaCBmb3IgdW51c3VhbCBlbnRyaWVzXG4iCittc2dzdHIgIiAtdSAgICAgICAgINGI0YPQutCw0YLQuCDRgdC10YDQtdC0INC90LXRgtC40L/QvtCy0LjRhSDQvtCxJ9GU0LrRgtGW0LJcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAzCittc2dpZCAiIC1sICAgICAgICAgb3V0cHV0IGVmZmVjdGl2ZSBsb29rdXAgcGF0aHNcbiIKK21zZ3N0ciAiIC1sICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LXRhNC10LrRgtC40LLQvdGWINGI0LvRj9GFINC/0L7RiNGD0LrRg1xuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzo2MTkKK21zZ2lkICJvcHRpb24gLWYgaXMgbWlzc2luZyIKK21zZ3N0ciAi0L3QtSDQstC60LDQt9Cw0L3QviDQv9Cw0YDQsNC80LXRgtGA0LAgLWYiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTk2Cittc2dpZCAicGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICLRgtCw0LHQu9C40YbRjyDRgNC+0LfQtNGW0LvRltCyIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IHByb2JpbmcgaW5pdGlhbGl6YXRpb24gZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsDogJXM6INGB0L/RgNC+0LHQsCDRltC90ZbRhtGW0LDQu9GW0LfQsNGG0ZbRlyDQt9C+0L3QtNGD0LLQsNC90L3RjyDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBlcmFzZSAlcyBtYWdpYyBzdHJpbmcgYXQgb2Zmc2V0IDB4JTA4angiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINCy0LjRgtC10YDRgtC4INGA0Y/QtNC+0Log0LrQvtC90YLRgNC+0LvRjNC90L7RlyDRgdGD0LzQuCAlcyDQt9CwINC30YHRg9Cy0L7QvCAweCUwOGp4IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dpZF9wbHVyYWwgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzBdICIlczogJXpkINCx0LDQudGCINCx0YPQu9C+INCy0LjQu9GD0YfQtdC90L4g0LfQsCDQt9GB0YPQstC+0LwgMHglMDhqeCAoJXMpOiAiCittc2dzdHJbMV0gIiVzOiAlemQg0LHQsNC50YLQuCDQsdGD0LvQviDQstC40LvRg9GH0LXQvdC+INC30LAg0LfRgdGD0LLQvtC8IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzJdICIlczogJXpkINCx0LDQudGC0ZbQsiDQsdGD0LvQviDQstC40LvRg9GH0LXQvdC+INC30LAg0LfRgdGD0LLQvtC8IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzNdICIlczogJXpkINCx0LDQudGCINCx0YPQu9C+INCy0LjQu9GD0YfQtdC90L4g0LfQsCDQt9GB0YPQstC+0LwgMHglMDhqeCAoJXMpOiAiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0YHRgtCy0L7RgNC40YLQuCDRgNC10LfQtdGA0LLQvdGDINC60L7Qv9GW0Y4g0L/RltC00L/QuNGB0YMiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYWxsaW5nIGlvY3RsIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlOiAlbVxuIgorbXNnc3RyICIlczog0LLQuNC60LvQuNC60LDRlNC80L4gaW9jbHQg0LTQu9GPINC/0L7QstGC0L7RgNC90L7Qs9C+INGH0LjRgtCw0L3QvdGPINGC0LDQsdC70LjRhtGWINGA0L7Qt9C00ZbQu9GW0LI6ICVtXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6Mzg1Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDRgdGC0LLQvtGA0LjRgtC4INGA0LXQt9C10YDQstC90YMg0LrQvtC/0ZbRjiDQv9GW0LTQv9C40YHRgywgJEhPTUUg0L3QtdCy0LjQt9C90LDRh9C10L3QviIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlnbm9yaW5nIG5lc3RlZCBcIiVzXCIgcGFydGl0aW9uIHRhYmxlIG9uIG5vbi13aG9sZSBkaXNrIGRldmljZSIKK21zZ3N0ciAiJXM6INGW0LPQvdC+0YDRg9GU0LzQviDQstC60LvQsNC00LXQvdGDINGC0LDQsdC70LjRhtGOINGA0L7Qt9C00ZbQu9GW0LIgwqslc8K7LCDQvtGB0LrRltC70YzQutC4INCy0L7QvdCwINC/0L7QutGA0LjQstCw0ZQg0L3QtSDRg9Cy0LXRgdGMINC00LjRgdC60L7QstC40Lkg0L/RgNC40YHRgtGA0ZbQuSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAweCVqeCBub3QgZm91bmQiCittc2dzdHIgIiVzOiDQv9C+0LfQuNGG0ZbRlyDQt9GWINC30YHRg9Cy0L7QvCAweCVqeCDQvdC1INC30L3QsNC50LTQtdC90L4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDM1Cittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiB0byBmb3JjZSBlcmFzZS4iCittc2dzdHIgItCS0LjQutC+0YDQuNGB0YLQvtCy0YPQudGC0LUg0L/QsNGA0LDQvNC10YLRgCAtLWZvcmNlINC00LvRjyDQv9GA0LjQvNGD0YHQvtCy0L7Qs9C+INCy0LjRgtC40YDQsNC90L3Rjy4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU5Cittc2dpZCAiV2lwZSBzaWduYXR1cmVzIGZyb20gYSBkZXZpY2UuXG4iCittc2dzdHIgItCS0LjRgtC10YDRgtC4INC/0ZbQtNC/0LjRgSDQtyDQv9GA0LjRgdGC0YDQvtGOLlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ2MgorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICB3aXBlIGFsbCBtYWdpYyBzdHJpbmdzIChCRSBDQVJFRlVMISlcbiIKKyIgLWIsIC0tYmFja3VwICAgICAgICBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIGluICRIT01FXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgZm9yY2UgZXJhc3VyZVxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKKyIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgYWN0dWFsIHdyaXRlKCkgY2FsbFxuIgorIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCB0byBlcmFzZSwgaW4gYnl0ZXNcbiIKKyIgLXAsIC0tcGFyc2FibGUgICAgICBwcmludCBvdXQgaW4gcGFyc2FibGUgaW5zdGVhZCBvZiBwcmludGFibGUgZm9ybWF0XG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcHJlc3Mgb3V0cHV0IG1lc3NhZ2VzXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtLCBSQUlEcyBvciBwYXJ0aXRpb24gdGFibGVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgINCy0LjRgtC10YDRgtC4INCy0YHRliDRgNGP0LTQutC4INC60L7QvdGC0YDQvtC70YzQvdC40YUg0YHRg9C8ICjQkdCj0JTQrNCi0JUg0J7QkdCQ0KfQndCGISlcbiIKKyIgLWIsIC0tYmFja3VwICAgICAgICDRgdGC0LLQvtGA0LjRgtC4INGA0LXQt9C10YDQstC90YMg0LrQvtC/0ZbRjiDQv9GW0LTQv9C40YHRgyDRgyAkSE9NRVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgINC/0YDQuNC80YPRgdC+0LLQtSDQstC40YLQuNGA0LDQvdC90Y9cbiIKKyIgLWgsIC0taGVscCAgICAgICAgICDQstC40LLQtdGB0YLQuCDRhtC1INC00L7QstGW0LTQutC+0LLQtSDQv9C+0LLRltC00L7QvNC70LXQvdC90Y9cbiIKKyIgLW4sIC0tbm8tYWN0ICAgICAgICDQstC40LrQvtC90LDRgtC4INCy0YHRliDQtNGW0ZcsINC+0LrRgNGW0Lwg0LLQuNC60LvQuNC60YMg0YTRg9C90LrRhtGW0Zcgd3JpdGUoKVxuIgorIiAtbywgLS1vZmZzZXQgPG4+ICAgINC30YHRg9CyINC00LvRjyDQstC40YLQuNGA0LDQvdC90Y8g0YMg0LHQsNC50YLQsNGFXG4iCisiIC1wLCAtLXBhcnNhYmxlICAgICAg0LLQuNCy0L7QtNC40YLQuCDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8g0YMg0LfRgNGD0YfQvdC+0LzRgyDQtNC70Y8g0YfQuNGC0LDQvdC90Y8sINCwINC90LUg0LTQu9GPINC00YDRg9C60YMg0YTQvtGA0LzQsNGC0ZZcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICDQv9GA0LjQtNGD0YjQuNGC0Lgg0LLQuNCy0LXQtNC10L3QvdGPINC/0L7QstGW0LTQvtC80LvQtdC90YxcbiIKKyIgLXQsIC0tdHlwZXMgPNGB0L/QuNGB0L7Quj4g0L7QsdC80LXQttC40YLQuCDQvdCw0LHRltGAINGE0LDQudC70L7QstC40YUg0YHQuNGB0YLQtdC8LCDQvNCw0YHQuNCy0ZbQsiBSQUlEINCw0LHQviDRgtCw0LHQu9C40YbRjCDRgNC+0LfQtNGW0LvRltCyXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0LLQtdGA0YHRltGXINGWINCy0LjQudGC0LhcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MzMKK21zZ2lkICJpbnZhbGlkIG9mZnNldCBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQsNGA0LPRg9C80LXQvdGCINC30YHRg9Cy0YMiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTU4Cittc2dpZCAiVGhlIC0tYmFja3VwIG9wdGlvbiBpcyBtZWFuaW5nbGVzcyBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgItCf0LDRgNCw0LzQtdGC0YAgLS1iYWNrdXAg0YMg0YbRjNC+0LzRgyDQutC+0L3RgtC10LrRgdGC0ZYg0L3QtSDQvNCw0ZQg0YHQtdC90YHRgyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM1Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlYWwtdGltZSBzY2hlZHVsaW5nIGF0dHJpYnV0ZXMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICLQn9C+0LrQsNC30LDRgtC4INCw0LHQviDQt9C80ZbQvdC40YLQuCDQsNGC0YDQuNCx0YPRgtC4INC/0LvQsNC90YPQstCw0L3QvdGPINC/0YDQvtGG0LXRgdGDINGDINGA0LXQsNC70YzQvdC+0LzRgyDRh9Cw0YHRli5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM3Cittc2dpZCAiIgorIlNldCBwb2xpY3k6XG4iCisiIGNocnQgW29wdGlvbnNdIDxwcmlvcml0eT4gPGNvbW1hbmQ+IFs8YXJnPi4uLl1cbiIKKyIgY2hydCBbb3B0aW9uc10gLS1waWQgPHByaW9yaXR5PiA8cGlkPlxuIgorbXNnc3RyICIiCisi0JLRgdGC0LDQvdC+0LLQuNGC0Lgg0L/RgNCw0LLQuNC70LA6XG4iCisiIGNocnQgW9C/0LDRgNCw0LzQtdGC0YDQuF0gPNC/0YDRltC+0YDQuNGC0LXRgtC90ZbRgdGC0Yw+IDzQutC+0LzQsNC90LTQsD4gWzzQsNGA0LPRg9C80LXQvdGCPi4uLl1cbiIKKyIgY2hydCBb0L/QsNGA0LDQvNC10YLRgNC4XSAtLXBpZCA80L/RgNGW0L7RgNC40YLQtdGC0L3RltGB0YLRjD4gPHBpZD5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQxCittc2dpZCAiIgorIkdldCBwb2xpY3k6XG4iCisiIGNocnQgW29wdGlvbnNdIC1wIDxwaWQ+XG4iCittc2dzdHIgIiIKKyLQntGC0YDQuNC80LDRgtC4INC/0YDQsNCy0LjQu9CwOlxuIgorIiBjaHJ0IFvQv9Cw0YDQsNC80LXRgtGA0LhdIC1wIDxwaWQ+XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NQorbXNnaWQgIlBvbGljeSBvcHRpb25zOlxuIgorbXNnc3RyICLQn9Cw0YDQsNC80LXRgtGA0Lgg0L/RgNCw0LLQuNC70LA6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NgorbXNnaWQgIiAtYiwgLS1iYXRjaCAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0JBVENIXG4iCittc2dzdHIgIiAtYiwgLS1iYXRjaCAgICAgICAgICDQstGB0YLQsNC90L7QstC40YLQuCDQt9C90LDRh9C10L3QvdGPINC/0YDQsNCy0LjQuyDRgyBTQ0hFRF9CQVRDSFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDcKK21zZ2lkICIgLWQsIC0tZGVhZGxpbmUgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9ERUFETElORVxuIgorbXNnc3RyICIgLWQsIC0tZGVhZGxpbmUgICAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0L/RgNCw0LLQuNC70LAg0YMgU0NIRURfREVBRExJTkVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ4Cittc2dpZCAiIC1mLCAtLWZpZm8gICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfRklGT1xuIgorbXNnc3RyICIgLWYsIC0tZmlmbyAgICAgICAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LfQvdCw0YfQtdC90L3RjyDQv9GA0LDQstC40Lsg0YMgU0NIRURfRklGT1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDkKK21zZ2lkICIgLWksIC0taWRsZSAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9JRExFXG4iCittc2dzdHIgIiAtaSwgLS1pZGxlICAgICAgICAgICDQstGB0YLQsNC90L7QstC40YLQuCDQt9C90LDRh9C10L3QvdGPINC/0YDQsNCy0LjQuyDRgyBTQ0hFRF9JRExFXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MAorbXNnaWQgIiAtbywgLS1vdGhlciAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX09USEVSXG4iCittc2dzdHIgIiAtbywgLS1vdGhlciAgICAgICAgICDQstGB0YLQsNC90L7QstC40YLQuCDQt9C90LDRh9C10L3QvdGPINC/0YDQsNCy0LjQuyDRgyBTQ0hFRF9PVEhFUlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTEKK21zZ2lkICIgLXIsIC0tcnIgICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1yLCAtLXJyICAgICAgICAgICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INC30L3QsNGH0LXQvdC90Y8g0L/RgNCw0LLQuNC7INGDIFNDSEVEX1JSICjRgtC40L/QvtCy0L4pXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NAorbXNnaWQgIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAi0J/QsNGA0LDQvNC10YLRgNC4INC/0LvQsNC90YPQstCw0L3QvdGPOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTUKK21zZ2lkICIgLVIsIC0tcmVzZXQtb24tZm9yayAgICAgICBzZXQgU0NIRURfUkVTRVRfT05fRk9SSyBmb3IgRklGTyBvciBSUlxuIgorbXNnc3RyICIgLVIgfCAtLXJlc2V0LW9uLWZvcmsgICAgICDQstGB0YLQsNC90L7QstC40YLQuCBTQ0hFRF9SRVNFVF9PTl9GT1JLINC00LvRjyBGSUZPINCw0LHQviBSUlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTYKK21zZ2lkICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBydW50aW1lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAg0L/QsNGA0LDQvNC10YLRgCDRh9Cw0YHRgyDQstC40LrQvtC90LDQvdC90Y8g0LTQu9GPIERFQURMSU5FXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NworbXNnaWQgIiAtUCwgLS1zY2hlZC1wZXJpb2QgPG5zPiAgIHBlcmlvZCBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiAtUCwgLS1zY2hlZC1wZXJpb2QgPG5zPiAgINC/0LDRgNCw0LzQtdGC0YAg0L/QtdGA0ZbQvtC00YMg0LTQu9GPIERFQURMSU5FXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1OAorbXNnaWQgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IGRlYWRsaW5lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIC1ELCAtLXNjaGVkLWRlYWRsaW5lIDxucz4g0L/QsNGA0LDQvNC10YLRgCDQs9GA0LDQvdC40YfQvdC+0LPQviDRh9Cw0YHRgyDQtNC70Y8gREVBRExJTkVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYxCittc2dpZCAiT3RoZXIgb3B0aW9uczpcbiIKK21zZ3N0ciAi0IbQvdGI0ZYg0L/QsNGA0LDQvNC10YLRgNC4OlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjIKK21zZ2lkICIgLWEsIC0tYWxsLXRhc2tzICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbC10YXNrcyAgICAgINC+0LHRgNC+0LHQuNGC0Lgg0YPRgdGWINC30LDQstC00LDQvdC90Y8gKNC/0L7RgtC+0LrQuCkg0LTQu9GPINC30LDQtNCw0L3QvtCz0L4gcGlkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MworbXNnaWQgIiAtbSwgLS1tYXggICAgICAgICAgICBzaG93IG1pbiBhbmQgbWF4IHZhbGlkIHByaW9yaXRpZXNcbiIKK21zZ3N0ciAiIC1tLCAtLW1heCAgICAgICAgICAgINCy0LjQstC10YHRgtC4INC80ZbQvdGW0LzQsNC70YzQvdC1INGWINC80LDQutGB0LjQvNCw0LvRjNC90LUg0LrQvtGA0LXQutGC0L3QtSDQt9C90LDRh9C10L3QvdGPINC/0YDRltC+0YDQuNGC0LXRgtC90L7RgdGC0ZZcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY0Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICAgICDQv9GA0LDRhtGO0LLQsNGC0Lgg0Lcg0L3QsNGP0LLQvdC40Lwg0LLQutCw0LfQsNC90LjQvCBwaWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICDQstC40LLQvtC00LjRgtC4INC00LDQvdGWINGJ0L7QtNC+INGB0YLQsNC90YNcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjMyIHNjaGVkdXRpbHMvY2hydC5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INC/0YDQsNCy0LjQu9CwINGJ0L7QtNC+IHBpZCAlZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYXR0cmlidXRlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INCw0YLRgNC40LHRg9GC0LggcGlkICVkIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAi0L3QvtCy0ZYg0L/RgNCw0LLQuNC70LAg0L/Qu9Cw0L3Rg9Cy0LDQvdC90Y8g0LTQu9GPIHBpZCAlZDogJXMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAi0L/QvtGC0L7Rh9C90ZYg0L/RgNCw0LLQuNC70LAg0L/Qu9Cw0L3Rg9Cy0LDQvdC90Y8g0LTQu9GPIHBpZCAlZDogJXMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAi0L3QvtCy0LjQuSDQv9GA0ZbQvtGA0LjRgtC10YIg0L/Qu9Cw0L3Rg9Cy0LDQvdC90Y8gcGlkICVkOiAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICLQv9C+0YLQvtGH0L3QuNC5INC/0YDRltC+0YDQuNGC0LXRgiDQv9C70LDQvdGD0LLQsNC90L3RjyBwaWQgJWQ6ICVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAi0J3QvtCy0ZYg0L/QsNGA0LDQvNC10YLRgNC4IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBpZCAlZDogJWp1LyVqdS8lanVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAi0J/QvtGC0L7Rh9C90ZYg0L/QsNGA0LDQvNC10YLRgNC4IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBpZCAlZDogJWp1LyVqdS8lanVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzAwIHNjaGVkdXRpbHMvY2hydC5jOjM5NgorbXNnaWQgImNhbm5vdCBvYnRhaW4gdGhlIGxpc3Qgb2YgdGFza3MiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDRgdC/0LjRgdC+0Log0LfQsNCy0LTQsNC90YwiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBtaW4vbWF4IHByaW9yaXR5XHQ6ICVkLyVkXG4iCittc2dzdHIgItCc0ZbQvS4v0JzQsNC60YEuINC/0YDRltC+0YDQuNGC0LXRgtC90ZbRgdGC0YwgJXNcdDogJWQvJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBzdXBwb3J0ZWQ/XG4iCittc2dzdHIgIiVzINC90LUg0L/RltC00YLRgNC40LzRg9GU0YLRjNGB0Y8/XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDQv9GA0LDQstC40LvQsCDRidC+0LTQviB0aWQgJWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDQv9GA0LDQstC40LvQsCDRidC+0LTQviBwaWQgJWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NworbXNnaWQgImludmFsaWQgcnVudGltZSBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQsNGA0LPRg9C80LXQvdGCINC/0LXRgNGW0L7QtNGDINCy0LjQutC+0L3QsNC90L3RjyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDkwCittc2dpZCAiaW52YWxpZCBwZXJpb2QgYXJndW1lbnQiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDQv9C10YDRltC+0LTRgyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDkzCittc2dpZCAiaW52YWxpZCBkZWFkbGluZSBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQsNGA0LPRg9C80LXQvdGCINCz0YDQsNC90LjRh9C90L7Qs9C+INGH0LDRgdGDIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MTcKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5IGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0L/RgNGW0L7RgNC40YLQtdGC0YMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyMQorbXNnaWQgIi0tcmVzZXQtb24tZm9yayBvcHRpb24gaXMgc3VwcG9ydGVkIGZvciBTQ0hFRF9GSUZPIGFuZCBTQ0hFRF9SUiBwb2xpY2llcyBvbmx5IgorbXNnc3RyICLQv9GW0LTRgtGA0LjQvNC60YMg0L/QsNGA0LDQvNC10YLRgNCwIC0tcmVzZXQtb24tZm9yayDQv9C10YDQtdC00LHQsNGH0LXQvdC+INC70LjRiNC1INC00LvRjyDQv9GA0LDQstC40LsgU0NIRURfRklGTyDRliBTQ0hFRF9SUiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTI2Cittc2dpZCAiLS1zY2hlZC17cnVudGltZSxkZWFkbGluZSxwZXJpb2R9IG9wdGlvbnMgYXJlIHN1cHBvcnRlZCBmb3IgU0NIRURfREVBRExJTkUgb25seSIKK21zZ3N0ciAi0J/RltC00YLRgNC40LzQutGDINC/0LDRgNCw0LzQtdGC0YDRltCyIC0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSDQv9C10YDQtdC00LHQsNGH0LXQvdC+INC70LjRiNC1INC00LvRjyBTQ0hFRF9ERUFETElORSIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQxCittc2dpZCAiU0NIRURfREVBRExJTkUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgItC/0ZbQtNGC0YDQuNC80LrQuCBTQ0hFRF9ERUFETElORSDQvdC1INC/0LXRgNC10LTQsdCw0YfQtdC90L4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcmlvcml0eSB2YWx1ZSBmb3IgdGhlIHBvbGljeTogJWQ6IHNlZSAtLW1heCBmb3IgdmFsaWQgcmFuZ2UiCittc2dzdHIgItC90LXQv9GW0LTRgtGA0LjQvNGD0LLQsNC90LUg0LfQvdCw0YfQtdC90L3RjyDQv9GA0ZbQvtGA0LjRgtC10YLQvdC+0YHRgtGWINC/0YDQsNCy0LjQu9CwOiAlZDog0LTQuNCyLiAtLW1heCwg0YnQvtCxINC+0LfQvdCw0LnQvtC80LjRgtC40YHRjyDRltC3INC60L7RgNC10LrRgtC90LjQvCDQtNGW0LDQv9Cw0LfQvtC90L7QvCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo3NgorbXNnaWQgImlvcHJpb19nZXQgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCBpb3ByaW9fZ2V0IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwcmlvICVsdVxuIgorbXNnc3RyICIlczog0L/RgNGW0L7RgNC40YLQtdGCICVsdVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjk4Cittc2dpZCAiaW9wcmlvX3NldCBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwIGlvcHJpb19zZXQiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXAgPHBpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC11IDx1aWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisiICUxJHMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gLXAgPHBpZD4uLi5cbiIKKyIgJTEkcyBb0L/QsNGA0LDQvNC10YLRgNC4XSAtUCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBb0L/QsNGA0LDQvNC10YLRgNC4XSAtdSA8dWlkPi4uLlxuIgorIiAlMSRzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIDzQutC+0LzQsNC90LTQsD5cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTAKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgSS9PLXNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAi0J/QvtC60LDQt9Cw0YLQuCDQsNCx0L4g0LfQvNGW0L3QuNGC0Lgg0LrQu9Cw0YEg0L/Qu9Cw0L3Rg9Cy0LDQvdC90Y8g0LLQstC10LTQtdC90L3Rjy3QstC40LLQtdC00LXQvdC90Y8g0ZYg0L/RgNGW0L7RgNC40YLQtdGC0L3RltGB0YLRjCDQv9GA0L7RhtC10YHRgy5cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTMKK21zZ2lkICIiCisiIC1jLCAtLWNsYXNzIDxjbGFzcz4gICAgbmFtZSBvciBudW1iZXIgb2Ygc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IG5vbmUsIDE6IHJlYWx0aW1lLCAyOiBiZXN0LWVmZm9ydCwgMzogaWRsZVxuIgorbXNnc3RyICIiCisiIC1jLCAtLWNsYXNzIDzQutC70LDRgT4gICAgINC90LDQt9Cy0LAg0LDQsdC+INC90L7QvNC10YAg0LrQu9Cw0YHRgyDQv9C70LDQvdGD0LLQsNC90L3RjyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIDA6INC90LXQvNCw0ZQsIDE6INGA0LXQsNC70YzQvdC+0LPQviDRh9Cw0YHRgywgMjog0L3QsNC50LrRgNCw0YnRliDQt9GD0YHQuNC70LvRjywgMzog0LvRltC90LjQstC40LlcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTUKK21zZ2lkICIiCisiIC1uLCAtLWNsYXNzZGF0YSA8bnVtPiAgcHJpb3JpdHkgKDAuLjcpIGluIHRoZSBzcGVjaWZpZWQgc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHkgZm9yIHRoZSByZWFsdGltZSBhbmQgYmVzdC1lZmZvcnQgY2xhc3Nlc1xuIgorbXNnc3RyICIiCisiIC1uLCAtLWNsYXNzZGF0YSA80YfQuNGB0LvQvj4gINC/0YDRltC+0YDQuNGC0LXRgtC90ZbRgdGC0YwgKDAuLjcpINGDINCy0LrQsNC30LDQvdC+0LzRgyDQutC70LDRgdGWINC/0LvQsNC90YPQstCw0L3QvdGPLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAg0LvQuNGI0LUg0LTQu9GPINC60LvQsNGB0ZbQsiDRgNC10LDQu9GM0L3QvtCz0L4g0YfQsNGB0YMg0YLQsCDQvdCw0LnQutGA0LDRidC40YUg0LfRg9GB0LjQu9GMXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE3Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPi4uLiAgICAgYWN0IG9uIHRoZXNlIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXNcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8cGlkPi4uLiAgICAg0L/RgNCw0YbRjtCy0LDRgtC4INGW0Lcg0LLQutCw0LfQsNC90LjQvNC4INCy0LbQtSDQt9Cw0L/Rg9GJ0LXQvdC40LzQuCDQv9GA0L7RhtC10YHQsNC80LhcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTgKK21zZ2lkICIgLVAsIC0tcGdpZCA8cGdycD4uLi4gICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBpbiB0aGVzZSBncm91cHNcbiIKK21zZ3N0ciAiIC1QLCAtLXBnaWQgPHBncnA+Li4uICAg0L/RgNCw0YbRjtCy0LDRgtC4INC3INGD0LbQtSDQt9Cw0L/Rg9GJ0LXQvdC40LzQuCDQv9GA0L7RhtC10YHQsNC80Lgg0ZbQtyDQstC60LDQt9Cw0L3QuNGFINCz0YDRg9C/XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE5Cittc2dpZCAiIC10LCAtLWlnbm9yZSAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCittc2dzdHIgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgINGW0LPQvdC+0YDRg9Cy0LDRgtC4INC90LXQstC00LDRh9GWXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTIwCittc2dpZCAiIC11LCAtLXVpZCA8dWlkPi4uLiAgICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgb3duZWQgYnkgdGhlc2UgdXNlcnNcbiIKK21zZ3N0ciAiIC11LCAtLXVpZCA8dWlkPi4uLiAgICAg0L/RgNCw0YbRjtCy0LDRgtC4INC3INGD0LbQtSDQt9Cw0L/Rg9GJ0LXQvdC40LzQuCDQv9GA0L7RhtC10YHQsNC80LgsINCy0LvQsNGB0L3QuNC60LDQvNC4INGP0LrQuNGFINGUINCy0LrQsNC30LDQvdGWINC60L7RgNC40YHRgtGD0LLQsNGH0ZZcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNTcKK21zZ2lkICJpbnZhbGlkIGNsYXNzIGRhdGEgYXJndW1lbnQiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDQtNCw0L3QuNGFINC60LvQsNGB0YMiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTYzCittc2dpZCAiaW52YWxpZCBjbGFzcyBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQsNGA0LPRg9C80LXQvdGCINC60LvQsNGB0YMiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2NoZWR1bGluZyBjbGFzczogJyVzJyIKK21zZ3N0ciAi0L3QtdCy0ZbQtNC+0LzQuNC5INC60LvQsNGBINC/0LvQsNC90YPQstCw0L3QvdGPOiDCqyVzwrsiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc2IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg0IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkyCittc2dpZCAiY2FuIGhhbmRsZSBvbmx5IG9uZSBvZiBwaWQsIHBnaWQgb3IgdWlkIGF0IG9uY2UiCittc2dzdHIgItC/0YDQvtCz0YDQsNC80LAg0LfQtNCw0YLQvdCwINC+0LTQvdC+0YfQsNGB0L3QviDQvtCx0YDQvtCx0LvRj9GC0Lgg0LfQsNC/0LjRgtC4INC70LjRiNC1INGJ0L7QtNC+INC+0LTQvdC+0LPQviDQstCw0YDRltCw0L3RgtCwOiBwaWQsIHBnaWQg0LDQsdC+IHVpZCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxODUKK21zZ2lkICJpbnZhbGlkIFBHSUQgYXJndW1lbnQiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiBQR0lEIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MworbXNnaWQgImludmFsaWQgVUlEIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIgVUlEIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIxMgorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIG5vbmUgY2xhc3MiCittc2dzdHIgItGW0LPQvdC+0YDRg9GU0LzQviDQstC60LDQt9Cw0L3RliDQtNCw0L3RliDQutC70LDRgdGDINC00LvRjyDQv9C+0YDQvtC20L3RjNC+0LPQviDQutC70LDRgdGDIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyMAorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIGlkbGUgY2xhc3MiCittc2dzdHIgItGW0LPQvdC+0YDRg9GU0LzQviDQstC60LDQt9Cw0L3RliDQtNCw0L3RliDQutC70LDRgdGDINC00LvRjyDQvdC10LDQutGC0LjQstC90L7Qs9C+INC60LvQsNGB0YMiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpbyBjbGFzcyAlZCIKK21zZ3N0ciAi0L3QtdCy0ZbQtNC+0LzQuNC5INC60LvQsNGBINC/0YDRltC+0YDQuNGC0LXRgtGDICVkIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVXNhZ2U6ICVzIFtvcHRpb25zXSBbbWFzayB8IGNwdS1saXN0XSBbcGlkfGNtZCBbYXJncy4uLl1dXG4iCisiXG4iCittc2dzdHIgIiIKKyLQmtC+0YDQuNGB0YLRg9Cy0LDQvdC90Y86ICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIFvQvNCw0YHQutCwIHwg0YHQv9C40YHQvtC6X9C/0YDQvtGG0LXRgdC+0YDRltCyXSBbcGlkfNC60L7QvNCw0L3QtNCwIFvQsNGA0LPRg9C80LXQvdGC0LguLi5dXVxuIgorIlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1NQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBDUFUgYWZmaW5pdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICLQn9C+0LrQsNC30LDRgtC4INCw0LHQviDQt9C80ZbQvdC40YLQuCDRgdC/0L7RgNGW0LTQvdC10L3RltGB0YLRjCDQv9GA0L7RhtC10YHRgyDRltC3INC/0YDQvtGG0LXRgdC+0YDQvtC8LlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiT3B0aW9uczpcbiIKKyIgLWEsIC0tYWxsLXRhc2tzICAgICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKKyIgLXAsIC0tcGlkICAgICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKKyIgLWMsIC0tY3B1LWxpc3QgICAgICAgICAgZGlzcGxheSBhbmQgc3BlY2lmeSBjcHVzIGluIGxpc3QgZm9ybWF0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisiXG4iCittc2dzdHIgIiIKKyLQn9Cw0YDQsNC80LXRgtGA0Lg6XG4iCisiIC1hLCAtLWFsbC10YXNrcyAgICAgICAgINC/0YDQsNGG0Y7QstCw0YLQuCDQtyDRg9GB0ZbQvNCwINC30LDQstC00LDQvdC90Y/QvNC4ICjQv9C+0YLQvtC60LDQvNC4KSDQtNC70Y8g0LLQutCw0LfQsNC90L7Qs9C+IHBpZFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICDQv9GA0LDRhtGO0LLQsNGC0Lgg0Lcg0LLQttC1INGB0YLQstC+0YDQtdC90LjQvCDQstC60LDQt9Cw0L3QuNC8IHBpZFxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICDQstC40LLQtdGB0YLQuCDQsNCx0L4g0LLQutCw0LfQsNGC0Lgg0L/RgNC+0YbQtdGB0L7RgNC4INGDINGE0L7RgNC80LDRgtGWINGB0L/QuNGB0LrRg1xuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDRhtC1INC00L7QstGW0LTQutC+0LLQtSDQv9C+0LLRltC00L7QvNC70LXQvdC90Y9cbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0LLQtdGA0YHRltGXXG4iCisiXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBydW4gYSBuZXcgY29tbWFuZDpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyJZb3UgY2FuIHJldHJpZXZlIHRoZSBtYXNrIG9mIGFuIGV4aXN0aW5nIHRhc2s6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiT3Igc2V0IGl0OlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorIkxpc3QgZm9ybWF0IHVzZXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBpbnN0ZWFkIG9mIGEgbWFzazpcbiIKKyIgICAgJTEkcyAtcGMgMCwzLDctMTEgNzAwXG4iCisiUmFuZ2VzIGluIGxpc3QgZm9ybWF0IGNhbiB0YWtlIGEgc3RyaWRlIGFyZ3VtZW50OlxuIgorIiAgICBlLmcuIDAtMzE6MiBpcyBlcXVpdmFsZW50IHRvIG1hc2sgMHg1NTU1NTU1NVxuIgorbXNnc3RyICIiCisi0KLQuNC/0L7QstC+0Y4g0L/QvtCy0LXQtNGW0L3QutC+0Y4g0ZQg0LfQsNC/0YPRgdC6INC90L7QstC+0Zcg0LrQvtC80LDQvdC00Lg6XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisi0JLQuCDQvNC+0LbQtdGC0LUg0L7RgtGA0LjQvNCw0YLQuCDQvNCw0YHQutGDINCy0LbQtSDRgdGC0LLQvtGA0LXQvdC+0LPQviDQt9Cw0LLQtNCw0L3QvdGPOlxuIgorIiAgICAlMSRzIC1wIDcwMFxuIgorItCQ0LHQviDQstGB0YLQsNC90L7QstC40YLQuCDRl9GXOlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorItCjINGE0L7RgNC80LDRgtGWINGB0L/QuNGB0LrRgyDQstC40LrQvtGA0LjRgdGC0L7QstGD0ZTRgtGM0YHRjyDRgdC/0LjRgdC+0Log0LfQvdCw0YfQtdC90YwsINCy0ZbQtNC+0LrRgNC10LzQu9C10L3QuNGFINC60L7QvNCw0LzQuCDQt9Cw0LzRltGB0YLRjCDQvNCw0YHQutC4OlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyLQlNGW0LDQv9Cw0LfQvtC90Lgg0YMg0YTQvtGA0LzQsNGC0ZYg0YHQv9C40YHQutGDINC80L7QttGD0YLRjCDQv9GA0LjQudC80LDRgtC4INCw0YDQs9GD0LzQtdC90YIg0LrRgNC+0LrRgzpcbiIKKyIgICAg0L3QsNC/0YDQuNC60LvQsNC0LCAwLTMxOjIg0LXQutCy0ZbQstCw0LvQtdC90YLQvdC1INC80LDRgdGG0ZYgMHg1NTU1NTU1NVxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAi0J3QvtCy0LjQuSDRgdC/0LjRgdC+0Log0YHQv9C+0YDRltC00L3QtdC90L7RgdGC0ZYg0LTQu9GPIHBpZCAlZDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICLQn9C+0YLQvtGH0L3QuNC5INGB0L/QuNGB0L7QuiDRgdC/0L7RgNGW0LTQvdC10L3QvtGB0YLRliBwaWQgJWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICLQndC+0LLQsCDQvNCw0YHQutCwINGB0L/QvtGA0ZbQtNC90LXQvdC+0YHRgtGWIHBpZCAlZDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICLQn9C+0YLQvtGH0L3QsCDQvNCw0YHQutCwINGB0L/QvtGA0ZbQtNC90LXQvdC+0YHRgtGWIHBpZCAlZDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTkKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogY29udmVyc2lvbiBmcm9tIGNwdXNldCB0byBzdHJpbmcgZmFpbGVkIgorbXNnc3RyICLQstC90YPRgtGA0ZbRiNC90Y8g0L/QvtC80LjQu9C60LA6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC60L7QvdCw0YLQuCDQv9C10YDQtdGC0LLQvtGA0LXQvdC90Y8g0Lcg0L3QsNCx0L7RgNGDINC/0YDQvtGG0LXRgdC+0YDRltCyIChjcHVzZXQpINGDINGA0Y/QtNC+0LoiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwOSBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INC00LDQvdGWINGJ0L7QtNC+INGB0L/QvtGA0ZbQtNC90LXQvdC+0YHRgtGWIHBpZCAlZCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0YHQv9C+0YDRltC00L3QtdC90ZbRgdGC0Ywg0LTQu9GPIHBpZCAlZCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTg2IHN5cy11dGlscy9jaGNwdS5jOjI4OQorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgTlJfQ1BVUzsgYWJvcnRpbmciCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC30L3QsNGH0LjRgtC4IE5SX0NQVVM7INC/0LXRgNC10YDQuNCy0LDRlNC80L4g0YDQvtCx0L7RgtGDIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxOTUgc2NoZWR1dGlscy90YXNrc2V0LmM6MjA4IHN5cy11dGlscy9jaGNwdS5jOjI5NQorbXNnaWQgImNwdXNldF9hbGxvYyBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwIGNwdXNldF9hbGxvYyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjE1IHN5cy11dGlscy9jaGNwdS5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0YHQv9C40YHQvtC6INC/0YDQvtGG0LXRgdC+0YDRltCyOiAlcyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjE4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzazogJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDQvNCw0YHQutGDINC/0YDQvtGG0LXRgdC+0YDRltCyOiAlcyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogWmVyby1maWxsZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiJXM6INC30LDQv9C+0LLQvdC10L3QviDQvdGD0LvRj9C80LggJTxQUkl1NjQ+INCx0LDQudGC0ZbQsiDQtyDQv9C+0LfQuNGG0ZbRlyAlPFBSSXU2ND5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogRGlzY2FyZGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiVzOiDQstGW0LTQutC40L3Rg9GC0L4gJTxQUkl1NjQ+INCx0LDQudGC0ZbQsiDQtyDQv9C+0LfQuNGG0ZbRlyAlPFBSSXU2ND5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4NworbXNnaWQgIkRpc2NhcmQgdGhlIGNvbnRlbnQgb2Ygc2VjdG9ycyBvbiBhIGRldmljZS5cbiIKK21zZ3N0ciAi0JLRltC00LrQuNC90YPRgtC4INCy0LzRltGB0YIg0YHQtdC60YLQvtGA0ZbQsiDQvdCwINC/0YDQuNGB0YLRgNC+0ZcuXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTAKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPG4+ICAgINCy0ZbQtNGB0YLRg9C/INGDINCx0LDQudGC0LDRhSwg0Lcg0Y/QutC+0LPQviDRgdC70ZbQtCDRgNC+0LfQv9C+0YfQuNC90LDRgtC4INCy0ZbQtNC60LjQtNCw0L3QvdGPXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTEKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxlbmd0aCA8bj4gICAg0LrRltC70YzQutGW0YHRgtGMINCx0LDQudGC0ZbQsiwg0Y/QutGWINGB0LvRltC0INCy0ZbQtNC60LjQvdGD0YLQuFxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkyCittc2dpZCAiIC1wLCAtLXN0ZXAgPG51bT4gICAgc2l6ZSBvZiB0aGUgZGlzY2FyZCBpdGVyYXRpb25zIHdpdGhpbiB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiAtcCwgLS1zdGVwIDxuPiAgICAgINGA0L7Qt9C80ZbRgCDRltGC0LXRgNCw0YbRltC5INCy0ZbQtNC60LjQtNCw0L3QvdGPINGDINC80LXQttCw0YUg0LLRltC00YHRgtGD0L/Rg1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkzCittc2dpZCAiIC1zLCAtLXNlY3VyZSAgICAgICAgcGVyZm9ybSBzZWN1cmUgZGlzY2FyZFxuIgorbXNnc3RyICIgLXMsIC0tc2VjdXJlICAgICAgICDQstC40LrQvtC90LDRgtC4INCx0LXQt9C/0LXRh9C90LUg0LLRltC00LrQuNC00LDQvdC90Y9cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NAorbXNnaWQgIiAteiwgLS16ZXJvb3V0ICAgICAgIHplcm8tZmlsbCByYXRoZXIgdGhhbiBkaXNjYXJkXG4iCittc2dzdHIgIiAteiwgLS16ZXJvb3V0ICAgICAgINC30LDQv9C+0LLQvdC40YLQuCDQvdGD0LvRj9C80Lgg0LfQsNC80ZbRgdGC0Ywg0LLRltC00LrQuNC00LDQvdC90Y9cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IGFsaWduZWQgbGVuZ3RoIGFuZCBvZmZzZXRcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LLQuNGA0ZbQstC90Y/QvdGDINC00L7QstC20LjQvdGDINGC0LAg0LLRltC00YHRgtGD0L9cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTAgc3lzLXV0aWxzL2ZzdHJpbS5jOjMxMiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY3MworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTI0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG9mZnNldCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INC30YHRg9CyIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1NAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGVwIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0LrRgNC+0LoiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTcyIHN5cy11dGlscy96cmFtY3RsLmM6NjgyIHN5cy11dGlscy96cmFtY3RsLmM6NzA4Cittc2dpZCAibm8gZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAi0L3QtSDQstC60LDQt9Cw0L3QviDQttC+0LTQvdC+0LPQviDQv9GA0LjRgdGC0YDQvtGOIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3NyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzUxCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjIgc3lzLXV0aWxzL2ZzdHJpbS5jOjMzNAorbXNnaWQgInVuZXhwZWN0ZWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAi0L3QtdC+0YfRltC60YPQstCw0L3QsCDQutGW0LvRjNC60ZbRgdGC0Ywg0LDRgNCz0YPQvNC10L3RgtGW0LIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczog0L/QvtC80LjQu9C60LAgaW9jdGwgQkxLR0VUU0laRTY0IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU1NaR0VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6INC/0L7QvNC40LvQutCwIGlvY3RsIEJMS1NTWkdFVCIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiVzOiDQt9GB0YPQsiAlPFBSSXU2ND4g0L3QtSDQstC40YDRltCy0L3Rj9C90L4g0LTQviDRgNC+0LfQvNGW0YDRgyDRgdC10LrRgtC+0YDQsCAlaSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCBpcyBncmVhdGVyIHRoYW4gZGV2aWNlIHNpemUiCittc2dzdHIgIiVzOiDQt9GB0YPQsiDQstC40YXQvtC00LjRgtGMINC30LAg0LzQtdC20ZYg0YDQvtC30LzRltGA0YMg0L/RgNC40YHRgtGA0L7RjiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxlbmd0aCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiVzOiDQtNC+0LLQttC40L3RgyAlPFBSSXU2ND4g0L3QtSDQstC40YDRltCy0L3Rj9C90L4g0LTQviDRgNC+0LfQvNGW0YDRgyDRgdC10LrRgtC+0YDQsCAlaSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1pFUk9PVVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczog0L/QvtC80LjQu9C60LAgaW9jdGwgQkxLWkVST09VVCIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NFQ0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczog0L/QvtC80LjQu9C60LAgaW9jdGwgQkxLU0VDRElTQ0FSRCIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczog0L/QvtC80LjQu9C60LAgaW9jdGwgQkxLRElTQ0FSRCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6ODcgc3lzLXV0aWxzL2NoY3B1LmM6MTc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi0L/RgNC+0YbQtdGB0L7RgNCwICV1INC90LUg0ZbRgdC90YPRlCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBob3QgcGx1Z2dhYmxlIgorbXNnc3RyICLQv9GA0L7RhtC10YHQvtGAICV1INC90LUg0LzQvtC20L3QsCDQstGB0YLQsNCy0LvRj9GC0Lgg0L3QsNC20LjQstC+IgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgItC/0YDQvtGG0LXRgdC+0YAgJXUg0LLQttC1INGD0LLRltC80LrQvdC10L3QvlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAi0L/RgNC+0YbQtdGB0L7RgCAldSDQstC20LUg0LLQuNC80LrQvdC10L3QvlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQgKENQVSBpcyBkZWNvbmZpZ3VyZWQpIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0LLQvNC40LrQsNC90L3RjyDQv9GA0L7RhtC10YHQvtGA0LAgJXUg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYgKNC/0YDQvtGG0LXRgdC+0YAg0LLQuNC70YPRh9C10L3QviDQtyDQvdCw0LvQsNGI0YLRg9Cy0LDQvdGMKSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0LLQvNC40LrQsNC90L3RjyDQv9GA0L7RhtC10YHQvtGA0LAgJXUg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlZFxuIgorbXNnc3RyICLQv9GA0L7RhtC10YHQvtGAICV1INGD0LLRltC80LrQvdC10L3QvlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIChsYXN0IGVuYWJsZWQgQ1BVKSIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINCy0LjQvNC40LrQsNC90L3RjyDQv9GA0L7RhtC10YHQvtGA0LAgJXUg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYgKNC+0YHRgtCw0L3QvdGW0Lkg0YPQstGW0LzQutC90LXQvdC40Lkg0L/RgNC+0YbQtdGB0L7RgCkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDQstC40LzQuNC60LDQvdC90Y8g0L/RgNC+0YbQtdGB0L7RgNCwICV1INC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGVkXG4iCittc2dzdHIgItC/0YDQvtGG0LXRgdC+0YAgJXUg0LLQuNC80LrQvdC10L3QvlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHJlc2Nhbm5pbmcgb2YgQ1BVcyIKK21zZ3N0ciAi0KMg0YbRltC5INGB0LjRgdGC0LXQvNGWINC90LUg0L/QtdGA0LXQtNCx0LDRh9C10L3QviDQv9GW0LTRgtGA0LjQvNC60Lgg0L/QvtCy0YLQvtGA0L3QvtCz0L4g0L/QvtGI0YPQutGDINC/0YDQvtGG0LXRgdC+0YDRltCyIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDMKK21zZ2lkICJGYWlsZWQgdG8gdHJpZ2dlciByZXNjYW4gb2YgQ1BVcyIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDRgNC+0LfQv9C+0YfQsNGC0Lgg0L/QvtCy0YLQvtGA0L3QuNC5INC/0L7RiNGD0Log0L/RgNC+0YbQtdGB0L7RgNGW0LIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJUcmlnZ2VyZWQgcmVzY2FuIG9mIENQVXNcbiIKK21zZ3N0ciAi0KDQvtC30L/QvtGH0LDRgtC+INC/0L7QstGC0L7RgNC90LjQuSDQv9C+0YjRg9C6INC/0YDQvtGG0LXRgdC+0YDRltCyXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgc2V0dGluZyB0aGUgZGlzcGF0Y2hpbmcgbW9kZSBvZiBDUFVzIgorbXNnc3RyICLQoyDRhtGW0Lkg0YHQuNGB0YLQtdC80ZYg0L3QtSDQv9C10YDQtdC00LHQsNGH0LXQvdC+INC/0ZbQtNGC0YDQuNC80LrQuCDQstGB0YLQsNC90L7QstC70LXQvdC90Y8g0YDQtdC20LjQvNGDINGA0L7Qt9C/0L7QtNGW0LvRgyDQv9GA0L7RhtC10YHQvtGA0ZbQsiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU1Cittc2dpZCAiRmFpbGVkIHRvIHNldCBob3Jpem9udGFsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0YDQtdC20LjQvCDQs9C+0YDQuNC30L7QvdGC0LDQu9GM0L3QvtCz0L4g0YDQvtC30L/QvtC00ZbQu9GDIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCBob3Jpem9udGFsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAi0KPRgdC/0ZbRiNC90L4g0LLRgdGC0LDQvdC+0LLQu9C10L3QviDRgNC10LbQuNC8INCz0L7RgNC40LfQvtC90YLQsNC70YzQvdC+0LPQviDRgNC+0LfQv9C+0LTRltC70YNcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU5Cittc2dpZCAiRmFpbGVkIHRvIHNldCB2ZXJ0aWNhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INGA0LXQttC40Lwg0LLQtdGA0YLQuNC60LDQu9GM0L3QvtCz0L4g0YDQvtC30L/QvtC00ZbQu9GDIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCB2ZXJ0aWNhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgItCj0YHQv9GW0YjQvdC+INCy0YHRgtCw0L3QvtCy0LvQtdC90L4g0YDQtdC20LjQvCDQstC10YDRgtC40LrQsNC70YzQvdC+0LPQviDRgNC+0LfQv9C+0LTRltC70YNcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgY29uZmlndXJhYmxlIgorbXNnc3RyICLQv9GA0L7RhtC10YHQvtGAICV1INC90LUg0LzQvtC20L3QsCDQvdCw0LvQsNGI0YLQvtCy0YPQstCw0YLQuCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAi0L/RgNC+0YbQtdGB0L7RgCAldSDQstC20LUg0LTQvtC00LDQvdC+INC00L4g0L3QsNC70LDRiNGC0YPQstCw0L3RjFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGVjb25maWd1cmVkXG4iCittc2dzdHIgItC/0YDQvtGG0LXRgdC+0YAgJXUg0LLQttC1INCy0LjQu9GD0YfQtdC90L4g0Lcg0L3QsNC70LDRiNGC0YPQstCw0L3RjFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlIGZhaWxlZCAoQ1BVIGlzIGVuYWJsZWQpIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0LLQuNC70YPRh9C10L3QvdGPINC/0YDQvtGG0LXRgdC+0YDQsCAldSDQtyDQvdCw0LvQsNGI0YLRg9Cy0LDQvdGMINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWICjQtNC+0YHRgtGD0L8g0LTQviDQv9GA0L7RhtC10YHQvtGA0LAg0LLRgdC1INGJ0LUg0LTQvtC30LLQvtC70LXQvdC+KSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0LTQvtC00LDQstCw0L3QvdGPINC/0YDQvtGG0LXRgdC+0YDQsCAldSDQtNC+INC90LDQu9Cw0YjRgtGD0LLQsNC90Ywg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlZFxuIgorbXNnc3RyICLQv9GA0L7RhtC10YHQvtGAICV1INC90LDQu9Cw0YjRgtC+0LLQsNC90L5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDQstC40LvRg9GH0LXQvdC90Y8g0L/RgNC+0YbQtdGB0L7RgNCwICV1INC3INC90LDQu9Cw0YjRgtGD0LLQsNC90Ywg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmVkXG4iCittc2dzdHIgItC/0YDQvtGG0LXRgdC+0YAgJXUg0LLQuNC70YPRh9C10L3QviDQtyDQvdCw0LvQsNGI0YLRg9Cy0LDQvdGMXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIENQVSBudW1iZXIgaW4gQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INC90L7QvNC10YAg0L/RgNC+0YbQtdGB0L7RgNCwINGDINGB0L/QuNGB0LrRgyDQv9GA0L7RhtC10YHQvtGA0ZbQsjogJXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzOCB0ZXh0LXV0aWxzL2NvbC5jOjEzMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIiCisiXG4iCisi0JrQvtGA0LjRgdGC0YPQstCw0L3QvdGPOlxuIgorIiAlcyBb0L/QsNGA0LDQvNC10YLRgNC4XVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDIKK21zZ2lkICJDb25maWd1cmUgQ1BVcyBpbiBhIG11bHRpLXByb2Nlc3NvciBzeXN0ZW0uXG4iCittc2dzdHIgItCd0LDQu9Cw0YjRgtGD0LLQsNGC0Lgg0L/RgNC+0YbQtdGB0L7RgNC4INGDINCx0LDQs9Cw0YLQvtC/0YDQvtGG0LXRgdC+0YDQvdGW0Lkg0YHQuNGB0YLQtdC80ZYuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0NAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhpcyBoZWxwXG4iCisiICAtZSwgLS1lbmFibGUgPGNwdS1saXN0PiAgICAgICBlbmFibGUgY3B1c1xuIgorIiAgLWQsIC0tZGlzYWJsZSA8Y3B1LWxpc3Q+ICAgICAgZGlzYWJsZSBjcHVzXG4iCisiICAtYywgLS1jb25maWd1cmUgPGNwdS1saXN0PiAgICBjb25maWd1cmUgY3B1c1xuIgorIiAgLWcsIC0tZGVjb25maWd1cmUgPGNwdS1saXN0PiAgZGVjb25maWd1cmUgY3B1c1xuIgorIiAgLXAsIC0tZGlzcGF0Y2ggPG1vZGU+ICAgICAgICAgc2V0IGRpc3BhdGNoaW5nIG1vZGVcbiIKKyIgIC1yLCAtLXJlc2NhbiAgICAgICAgICAgICAgICAgIHRyaWdnZXIgcmVzY2FuIG9mIGNwdXNcbiIKKyIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKyJcbiIKKyLQn9Cw0YDQsNC80LXRgtGA0Lg6XG4iCisiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDRhtGOINC00L7QstGW0LTQutGDXG4iCisiICAtZSwgLS1lbmFibGUgPNC/0YDQvtGG0LXRgdC+0YDQuD4gICAgICDRg9Cy0ZbQvNC60L3Rg9GC0Lgg0L/RgNC+0YbQtdGB0L7RgNC4XG4iCisiICAtZCwgLS1kaXNhYmxlIDzQv9GA0L7RhtC10YHQvtGA0Lg+ICAgICDQstC40LzQutC90YPRgtC4INC/0YDQvtGG0LXRgdC+0YDQuFxuIgorIiAgLWMsIC0tY29uZmlndXJlIDzQv9GA0L7RhtC10YHQvtGA0Lg+ICAg0LTQvtC00LDRgtC4INC00L4g0L3QsNC70LDRiNGC0YPQstCw0L3RjCDQv9GA0L7RhtC10YHQvtGA0LhcbiIKKyIgIC1nLCAtLWRlY29uZmlndXJlIDzQv9GA0L7RhtC10YHQvtGA0Lg+INCy0LjQu9GD0YfQuNGC0Lgg0Lcg0L3QsNC70LDRiNGC0YPQstCw0L3RjCDQv9GA0L7RhtC10YHQvtGA0LhcbiIKKyIgIC1wLCAtLWRpc3BhdGNoIDzRgNC10LbQuNC8PiAgICAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0YDQtdC20LjQvCDRgNC+0LfQv9C+0LTRltC70YMg0L3QsNCy0LDQvdGC0LDQttC10L3QvdGPXG4iCisiICAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICDQstC40LrQvtC90LDRgtC4INC/0L7QstGC0L7RgNC90LjQuSDQv9C+0YjRg9C6INC/0YDQvtGG0LXRgdC+0YDRltCyXG4iCisiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDQtNCw0L3RliDRidC+0LTQviDQstC10YDRgdGW0Zcg0ZYg0LLQuNC50YLQuFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzozMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICLQvdC10L/RltC00YLRgNC40LzRg9Cy0LDQvdC40Lkg0LDRgNCz0YPQvNC10L3RgjogJXMiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIGhhcmR8c29mdFxuIgorbXNnc3RyICIgJXMgaGFyZHxzb2Z0XG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0IHRoZSBmdW5jdGlvbiBvZiB0aGUgQ3RybC1BbHQtRGVsIGNvbWJpbmF0aW9uLlxuIgorbXNnc3RyICLQktGB0YLQsNC90L7QstC40YLQuCDRhNGD0L3QutGG0ZbRjiDQtNC70Y8g0LrQvtC80LHRltC90LDRhtGW0Zcg0LrQu9Cw0LLRltGIIEN0cmwtQWx0LURlbC5cbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MQorbXNnaWQgImltcGxpY2l0IgorbXNnc3RyICLQvdC10Y/QstC90LjQuSIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHZhbHVlIGluICVzOiAlanUiCittc2dzdHIgItC90LXQvtGH0ZbQutGD0LLQsNC90LUg0LfQvdCw0YfQtdC90L3RjyDRgyAlczogJWp1IgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjYzCittc2dpZCAiWW91IG11c3QgYmUgcm9vdCB0byBzZXQgdGhlIEN0cmwtQWx0LURlbCBiZWhhdmlvciIKK21zZ3N0ciAi0JTQu9GPINC90LDQu9Cw0YjRgtC+0LLRg9Cy0LDQvdC90Y8g0LLRltC00L/QvtCy0ZbQtNGWINC90LAg0L3QsNGC0LjRgdC60LDQvdC90Y8gQ3RybC1BbHQtRGVsINCy0LDQvCDQv9C+0YLRgNGW0LHQvdGWINC/0YDQsNCy0LAg0LTQvtGB0YLRg9C/0YMgcm9vdCIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo3MSBzeXMtdXRpbHMvaXBjcm0uYzozOTIgc3lzLXV0aWxzL2lwY3JtLmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICLQvdC10LLRltC00L7QvNC40Lkg0LDRgNCz0YPQvNC10L3RgjogJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMAorbXNnaWQgInN5c3RlbSBpcyB1bnVzYWJsZSIKK21zZ3N0ciAi0YHQuNGB0YLQtdC80LAg0L3QtSDQv9GA0LjQtNCw0YLQvdCwINC00L4g0LLQuNC60L7RgNC40YHRgtCw0L3QvdGPIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTEKK21zZ2lkICJhY3Rpb24gbXVzdCBiZSB0YWtlbiBpbW1lZGlhdGVseSIKK21zZ3N0ciAi0LTRltGOINC80LDRlCDQsdGD0YLQuCDQstC40LrQvtC90LDQvdC+INC90LXQs9Cw0LnQvdC+IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTIKK21zZ2lkICJjcml0aWNhbCBjb25kaXRpb25zIgorbXNnc3RyICLQutGA0LjRgtC40YfQvdGWINGD0LzQvtCy0LgiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMworbXNnaWQgImVycm9yIGNvbmRpdGlvbnMiCittc2dzdHIgItGD0LzQvtCy0Lgg0L/QvtC80LjQu9C60LgiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNAorbXNnaWQgIndhcm5pbmcgY29uZGl0aW9ucyIKK21zZ3N0ciAi0YPQvNC+0LLQuCDQv9C+0L/QtdGA0LXQtNC20LXQvdC90Y8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNQorbXNnaWQgIm5vcm1hbCBidXQgc2lnbmlmaWNhbnQgY29uZGl0aW9uIgorbXNnc3RyICLRg9C80L7QstCwINGJ0L7QtNC+INC30LLQuNGH0LDQudC90LjRhSwg0LDQu9C1INC30L3QsNGH0LjQvNC40YUiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNgorbXNnaWQgImluZm9ybWF0aW9uYWwiCittc2dzdHIgItGW0L3RhNC+0YDQvNCw0YbRltC50L3RliIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE3Cittc2dpZCAiZGVidWctbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgItC/0L7QstGW0LTQvtC80LvQtdC90L3RjyDQtNGW0LDQs9C90L7RgdGC0LjRh9C90L7Qs9C+INGA0ZbQstC90Y8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMQorbXNnaWQgImtlcm5lbCBtZXNzYWdlcyIKK21zZ3N0ciAi0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPINGP0LTRgNCwIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzIKK21zZ2lkICJyYW5kb20gdXNlci1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAi0LLQuNC/0LDQtNC60L7QstGWINC/0L7QstGW0LTQvtC80LvQtdC90L3RjyDRgNGW0LLQvdGPINC60L7RgNC40YHRgtGD0LLQsNGH0LAiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMworbXNnaWQgIm1haWwgc3lzdGVtIgorbXNnc3RyICLQv9C+0YjRgtC+0LLQsCDRgdC40YHRgtC10LzQsCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM0Cittc2dpZCAic3lzdGVtIGRhZW1vbnMiCittc2dzdHIgItGE0L7QvdC+0LLRliDRgdC70YPQttCx0Lgg0YHQuNGB0YLQtdC80LgiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNQorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMiCittc2dzdHIgItC/0L7QstGW0LTQvtC80LvQtdC90L3RjyDQt9Cw0YXQuNGB0YLRgyDRliDRg9C/0L7QstC90L7QstCw0LbQtdC90L3RjyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM2Cittc2dpZCAibWVzc2FnZXMgZ2VuZXJhdGVkIGludGVybmFsbHkgYnkgc3lzbG9nZCIKK21zZ3N0ciAi0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPLCDRgdGC0LLQvtGA0LXQvdGWIHN5c2xvZ2Qg0L3QsCDQstC90YPRgtGA0ZbRiNC90YzQvtC80YMg0YDRltCy0L3RliIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM3Cittc2dpZCAibGluZSBwcmludGVyIHN1YnN5c3RlbSIKK21zZ3N0ciAi0L/RltC00YHQuNGB0YLQtdC80LAg0LvRltC90ZbQudC90L7Qs9C+INC00YDRg9C60YMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOAorbXNnaWQgIm5ldHdvcmsgbmV3cyBzdWJzeXN0ZW0iCittc2dzdHIgItC/0ZbQtNGB0LjRgdGC0LXQvNCwINC90L7QstC40L0g0LzQtdGA0LXQttGWIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzkKK21zZ2lkICJVVUNQIHN1YnN5c3RlbSIKK21zZ3N0ciAi0L/RltC00YHQuNGB0YLQtdC80LAgVVVDUCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQwCittc2dpZCAiY2xvY2sgZGFlbW9uIgorbXNnc3RyICLRhNC+0L3QvtCy0LAg0YHQu9GD0LbQsdCwINCz0L7QtNC40L3QvdC40LrQsCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQxCittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyAocHJpdmF0ZSkiCittc2dzdHIgItC/0L7QstGW0LTQvtC80LvQtdC90L3RjyDQt9Cw0YXQuNGB0YLRgy/Rg9C/0L7QstC90L7QstCw0LbQtdC90L3RjyAo0LfQsNC60YDQuNGC0ZYpIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDIKK21zZ2lkICJGVFAgZGFlbW9uIgorbXNnc3RyICLRhNC+0L3QvtCy0LAg0YHQu9GD0LbQsdCwIEZUUCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjY3Cittc2dpZCAiRGlzcGxheSBvciBjb250cm9sIHRoZSBrZXJuZWwgcmluZyBidWZmZXIuXG4iCittc2dzdHIgItCf0L7QutCw0LfQsNGC0Lgg0LHRg9GE0LXRgCDQs9GD0LTQutGW0LIg0Y/QtNGA0LAg0LDQsdC+INC60LXRgNGD0LLQsNGC0Lgg0L3QuNC8LlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzAKK21zZ2lkICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGNsZWFyIHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICDRgdC/0L7RgNC+0LbQvdC40YLQuCDQutGW0LvRjNGG0LXQstC40Lkg0LHRg9GE0LXRgCDRj9C00YDQsFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzEKK21zZ2lkICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIHJlYWQgYW5kIGNsZWFyIGFsbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgINC/0YDQvtGH0LjRgtCw0YLQuCDRliDRgdC/0L7RgNC+0LbQvdC40YLQuCDQstGB0ZYg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MgorbXNnaWQgIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAgZGlzYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAg0LLQuNC80LrQvdGD0YLQuCDQstC40LLQtdC00LXQvdC90Y8g0L/QvtCy0ZbQtNC+0LzQu9C10L3RjCDQtNC+INC60L7QvdGB0L7Qu9GWXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MworbXNnaWQgIiAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAgZW5hYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICDRg9Cy0ZbQvNC60L3Rg9GC0Lgg0LLQuNCy0LXQtNC10L3QvdGPINC/0L7QstGW0LTQvtC80LvQtdC90Ywg0LTQviDQutC+0L3RgdC+0LvRllxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzQKK21zZ2lkICIgLUYsIC0tZmlsZSA8ZmlsZT4gICAgICAgICAgIHVzZSB0aGUgZmlsZSBpbnN0ZWFkIG9mIHRoZSBrZXJuZWwgbG9nIGJ1ZmZlclxuIgorbXNnc3RyICIgLUYsIC0tZmlsZSA80YTQsNC50Ls+ICAgICAgICAgICDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0YTQsNC50Lsg0LfQsNC80ZbRgdGC0Ywg0LHRg9GE0LXRgNCwINC20YPRgNC90LDQu9GDINGP0LTRgNCwXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NQorbXNnaWQgIiAtZiwgLS1mYWNpbGl0eSA8bGlzdD4gICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgZmFjaWxpdGllc1xuIgorbXNnc3RyICIgLWYsIC0tZmFjaWxpdHkgPNGB0L/QuNGB0L7Quj4gICAgINC+0LHQvNC10LbQuNGC0Lgg0LLQuNCy0LXQtNC10L3QvdGPINCy0LjQt9C90LDRh9C10L3QuNC80Lgg0LzQvtC20LvQuNCy0L7RgdGC0Y/QvNC4XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NgorbXNnaWQgIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAgaHVtYW4gcmVhZGFibGUgb3V0cHV0XG4iCittc2dzdHIgIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAg0LLQuNCy0LXQtNC10L3QvdGPINC00LDQvdC40YUg0YMg0LfRgNGD0YfQvdC+0LzRgyDQtNC70Y8g0YfQuNGC0LDQvdC90Y8g0YTQvtGA0LzQsNGC0ZZcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc3Cittc2dpZCAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICBkaXNwbGF5IGtlcm5lbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INC/0L7QstGW0LTQvtC80LvQtdC90L3RjyDRj9C00YDQsFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzgKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKyIgLUwsIC0tY29sb3JbPTzRg9C80L7QstCwPl0gICAgICAg0YDQvtC30YTQsNGA0LHQvtCy0YPQstCw0L3QvdGPINCy0LjQstC10LTQtdC90LjRhSDQtNCw0L3QuNGFIChhdXRvICjQsNCy0YLQviksXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyAo0LfQsNCy0LbQtNC4KSDQsNCx0L4gbmV2ZXIgKNC90ZbQutC+0LvQuCkpXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MQorbXNnaWQgIiAtbCwgLS1sZXZlbCA8bGlzdD4gICAgICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgbGV2ZWxzXG4iCittc2dzdHIgIiAtbCwgLS1sZXZlbCA80YHQv9C40YHQvtC6PiAgICAgICAg0L7QsdC80LXQttC40YLQuCDQstC40LLQtdC00LXQvdC90Y8g0LLQutCw0LfQsNC90LjQvNC4INGA0ZbQstC90Y/QvNC4XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MgorbXNnaWQgIiAtbiwgLS1jb25zb2xlLWxldmVsIDxsZXZlbD4gc2V0IGxldmVsIG9mIG1lc3NhZ2VzIHByaW50ZWQgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLW4sIC0tY29uc29sZS1sZXZlbCA80YDRltCy0LXQvdGMPiDQstGB0YLQsNC90L7QstC40YLQuCDRgNGW0LLQtdC90Ywg0LLQuNCy0LXQtNC10L3QvdGPINC/0L7QstGW0LTQvtC80LvQtdC90Ywg0LTQviDQutC+0L3RgdC+0LvRllxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODMKK21zZ2lkICIgLVAsIC0tbm9wYWdlciAgICAgICAgICAgICAgIGRvIG5vdCBwaXBlIG91dHB1dCBpbnRvIGEgcGFnZXJcbiIKK21zZ3N0ciAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICDQvdC1INC/0LXRgNC10LTQsNCy0LDRgtC4INCy0LjQstC10LTQtdC90ZYg0LTQsNC90ZYg0LTQviDQt9Cw0YHQvtCx0YMg0L/QvtC00ZbQu9GDINC90LAg0YHRgtC+0YDRltC90LrQuFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODQKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByYXcgbWVzc2FnZSBidWZmZXJcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDQsdGD0YTQtdGAINC/0L7QstGW0LTQvtC80LvQtdC90Ywg0LHQtdC3INC+0LHRgNC+0LHQutC4XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NQorbXNnaWQgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgZm9yY2UgdG8gdXNlIHN5c2xvZygyKSByYXRoZXIgdGhhbiAvZGV2L2ttc2dcbiIKK21zZ3N0ciAiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICDQv9GA0LjQvNGD0YHQvtCy0L4g0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4IHN5c2xvZygyKSDQt9Cw0LzRltGB0YLRjCAvZGV2L2ttc2dcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg2Cittc2dpZCAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiAtcywgLS1idWZmZXItc2l6ZSA80YDQvtC30LzRltGAPiAg0YDQvtC30LzRltGAINCx0YPRhNC10YDQsCDQtNC70Y8g0L7Qv9C40YLRg9Cy0LDQvdC90Y8g0LrRltC70YzRhtC10LLQvtCz0L4g0LHRg9GE0LXRgNCwINGP0LTRgNCwXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NworbXNnaWQgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgZGlzcGxheSB1c2Vyc3BhY2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICDQstC40LLQvtC00LjRgtC4INC/0L7QstGW0LTQvtC80LvQtdC90L3RjyDQtyDQv9GA0L7RgdGC0L7RgNGDINC60L7RgNC40YHRgtGD0LLQsNGH0LBcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg4Cittc2dpZCAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICB3YWl0IGZvciBuZXcgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICDQvtGH0ZbQutGD0LLQsNGC0Lgg0L3QsCDQvdC+0LLRliDQv9C+0LLRltC00L7QvNC70LXQvdC90Y9cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg5Cittc2dpZCAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBkZWNvZGUgZmFjaWxpdHkgYW5kIGxldmVsIHRvIHJlYWRhYmxlIHN0cmluZ1xuIgorbXNnc3RyICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgINC00LXQutC+0LTRg9Cy0LDRgtC4INC80L7QttC70LjQstC+0YHRgtGWINGWINGA0ZbQstC10L3RjCDRgyDQv9GA0LjQtNCw0YLQvdC40Lkg0LTQviDRh9C40YLQsNC90L3RjyDRgNGP0LTQvtC6XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MAorbXNnaWQgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgc2hvdyB0aW1lIGRlbHRhIGJldHdlZW4gcHJpbnRlZCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgINCy0LjQstC10YHRgtC4INGH0LDRgdC+0LLQuNC5INC60YDQvtC6INC80ZbQtiDQstC40LLQtdC00LXQvdC40LzQuCDQv9C+0LLRltC00L7QvNC70LXQvdC90Y/QvNC4XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MQorbXNnaWQgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgc2hvdyBsb2NhbCB0aW1lIGFuZCB0aW1lIGRlbHRhIGluIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INC80ZbRgdGG0LXQstC40Lkg0YfQsNGBINGWINC60YDQvtC6INGDINC30YDRg9GH0L3QvtC80YMg0LTQu9GPINGH0LjRgtCw0L3QvdGPINGE0L7RgNC80LDRgtGWXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MgorbXNnaWQgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbi1yZWFkYWJsZSB0aW1lc3RhbXAgKG1heSBiZSBpbmFjY3VyYXRlISlcbiIKK21zZ3N0ciAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICDQstC40LLQtdC00LXQvdC90Y8g0LTQsNC90LjRhSDRgyDQt9GA0YPRh9C90L7QvNGDINC00LvRjyDRh9C40YLQsNC90L3RjyDRhNC+0YDQvNCw0YLRliAo0LzQvtC20LvQuNCy0L4sINC90LXRgtC+0YfQvdC+ISlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkzCittc2dpZCAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBkb24ndCBzaG93IGFueSB0aW1lc3RhbXAgd2l0aCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgINC90LUg0LLQuNCy0L7QtNC40YLQuCDRh9Cw0YHQvtCy0LjRhSDQv9C+0LfQvdCw0YfQvtC6INGA0LDQt9C+0Lwg0ZbQtyDQv9C+0LLRltC00L7QvNC70LXQvdC90Y/QvNC4XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NAorbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wIHVzaW5nIHRoZSBnaXZlbiBmb3JtYXQ6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisiU3VzcGVuZGluZy9yZXN1bWUgd2lsbCBtYWtlIGN0aW1lIGFuZCBpc28gdGltZXN0YW1wcyBpbmFjY3VyYXRlLlxuIgorbXNnc3RyICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDzRhNC+0YDQvNCw0YI+ICDQv9C+0LrQsNC30YPQstCw0YLQuCDRh9Cw0YHQvtCy0ZYg0L/QvtC30L3QsNGH0LrQuCDRgyDQstC60LDQt9Cw0L3QvtC80YMg0YTQvtGA0LzQsNGC0ZY6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisi0J/RgNC40YHQuNC/0LvRj9C90L3RjyDRgtCwINCy0ZbQtNC90L7QstC70LXQvdC90Y8g0YDQvtCx0L7RgtC4INGB0LjRgdGC0LXQvNC4INGA0L7QsdC40YLRjCDRh9Cw0YHQvtCy0ZYg0L/QvtC30L3QsNGH0LrQuCBjdGltZSDRgtCwIGlzbyDQvdC10YLQvtGH0L3QuNC80LguXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwMAorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGZhY2lsaXRpZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLQn9GW0LTRgtGA0LjQvNGD0LLQsNC90ZYg0LzQvtC20LvQuNCy0L7RgdGC0ZYg0LbRg9GA0L3QsNC70Y7QstCw0L3QvdGPOlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDYKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBsZXZlbHMgKHByaW9yaXRpZXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisi0J/RltC00YLRgNC40LzRg9Cy0LDQvdGWINGA0ZbQstC90ZYg0LbRg9GA0L3QsNC70Y7QstCw0L3QvdGPICjQv9GA0ZbQvtGA0LjRgtC10YLQuCk6XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGV2ZWwgJyVzJyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INGA0ZbQstC10L3RjCDCqyVzwrsiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGxldmVsICclcyciCittc2dzdHIgItC90LXQstGW0LTQvtC80LjQuSDRgNGW0LLQtdC90Ywgwqslc8K7IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGZhY2lsaXR5ICclcyciCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDQt9Cw0L/QuNGBINC80L7QttC70LjQstC+0YHRgtGWLCDCqyVzwrsiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5ICclcyciCittc2dzdHIgItC90LXQstGW0LTQvtC80LAg0LzQvtC20LvQuNCy0ZbRgdGC0YwsIMKrJXPCuyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NTI4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtbWFwOiAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstC40LrQvtC90LDRgtC4IG1tYXA6ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzU2Cittc2dpZCAiaW52YWxpZCBidWZmZXIgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQsNGA0LPRg9C80LXQvdGCINGA0L7Qt9C80ZbRgNGDINCx0YPRhNC10YDQsCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQwOQorbXNnaWQgIi0tc2hvdy1kZWx0YSBpcyBpZ25vcmVkIHdoZW4gdXNlZCB0b2dldGhlciB3aXRoIGlzbzg2MDEgdGltZSBmb3JtYXQiCittc2dzdHIgIi0tc2hvdy1kZWx0YSDQsdGD0LTQtSDQv9GA0L7RltCz0L3QvtGA0L7QstCw0L3Qviwg0Y/QutGJ0L4g0LLQuNC60L7RgNC40YHRgtC+0LLRg9GU0YLRjNGB0Y8g0YTQvtGA0LzQsNGCINC30LDQv9C40YHRgyDRh9Cw0YHRgyBpc284NjAxIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDMyCittc2dpZCAiLS1yYXcgY2FuIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWxldmVsIG9yIC0tZmFjaWxpdHkgb25seSB3aGVuIHJlYWRpbmcgbWVzc2FnZXMgZnJvbSAvZGV2L2ttc2ciCittc2dzdHIgIi0tcmF3INC80L7QttC90LAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INGA0LDQt9C+0Lwg0LcgLS1sZXZlbCDQsNCx0L4gLS1mYWNpbGl0eSwg0LvQuNGI0LUg0Y/QutGJ0L4g0YfQuNGC0LDQvdC90Y8g0L/QvtCy0ZbQtNC+0LzQu9C10L3RjCDQstC40LrQvtC90YPRlNGC0YzRgdGPINC3IC9kZXYva21zZyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQ0MgorbXNnaWQgInJlYWQga2VybmVsIGJ1ZmZlciBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDRh9C40YLQsNC90L3RjyDQsdGD0YTQtdGA0LAg0Y/QtNGA0LAg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0NjEKK21zZ2lkICJrbG9nY3RsIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAga2xvZ2N0bCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+fDxtb3VudHBvaW50Pl1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIFs80L/RgNC40YHRgtGA0ZbQuT58PNGC0L7Rh9C60LAg0LzQvtC90YLRg9Cy0LDQvdC90Y8+XVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzcKK21zZ2lkICJFamVjdCByZW1vdmFibGUgbWVkaWEuXG4iCittc2dzdHIgItCS0LjRiNGC0L7QstGF0L3Rg9GC0Lgg0L/QvtGA0YLQsNGC0LjQstC90LjQuSDQvdC+0YHRltC5INC00LDQvdC40YUuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjE0MAorbXNnaWQgIiIKKyIgLWEsIC0tYXV0byA8b258b2ZmPiAgICAgICAgIHR1cm4gYXV0by1lamVjdCBmZWF0dXJlIG9uIG9yIG9mZlxuIgorIiAtYywgLS1jaGFuZ2Vyc2xvdCA8c2xvdD4gICAgc3dpdGNoIGRpc2NzIG9uIGEgQ0QtUk9NIGNoYW5nZXJcbiIKKyIgLWQsIC0tZGVmYXVsdCAgICAgICAgICAgICAgIGRpc3BsYXkgZGVmYXVsdCBkZXZpY2VcbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIGVqZWN0IGZsb3BweVxuIgorIiAtRiwgLS1mb3JjZSAgICAgICAgICAgICAgICAgZG9uJ3QgY2FyZSBhYm91dCBkZXZpY2UgdHlwZVxuIgorIiAtaSwgLS1tYW51YWxlamVjdCA8b258b2ZmPiAgdG9nZ2xlIG1hbnVhbCBlamVjdCBwcm90ZWN0aW9uIG9uL29mZlxuIgorIiAtbSwgLS1uby11bm1vdW50ICAgICAgICAgICAgZG8gbm90IHVubW91bnQgZGV2aWNlIGV2ZW4gaWYgaXQgaXMgbW91bnRlZFxuIgorIiAtTSwgLS1uby1wYXJ0aXRpb25zLXVubW91bnQgZG8gbm90IHVubW91bnQgYW5vdGhlciBwYXJ0aXRpb25zXG4iCisiIC1uLCAtLW5vb3AgICAgICAgICAgICAgICAgICBkb24ndCBlamVjdCwganVzdCBzaG93IGRldmljZSBmb3VuZFxuIgorIiAtcCwgLS1wcm9jICAgICAgICAgICAgICAgICAgdXNlIC9wcm9jL21vdW50cyBpbnN0ZWFkIG9mIC9ldGMvbXRhYlxuIgorIiAtcSwgLS10YXBlICAgICAgICAgICAgICAgICAgZWplY3QgdGFwZVxuIgorIiAtciwgLS1jZHJvbSAgICAgICAgICAgICAgICAgZWplY3QgQ0QtUk9NXG4iCisiIC1zLCAtLXNjc2kgICAgICAgICAgICAgICAgICBlamVjdCBTQ1NJIGRldmljZVxuIgorIiAtdCwgLS10cmF5Y2xvc2UgICAgICAgICAgICAgY2xvc2UgdHJheVxuIgorIiAtVCwgLS10cmF5dG9nZ2xlICAgICAgICAgICAgdG9nZ2xlIHRyYXlcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIGVuYWJsZSB2ZXJib3NlIG91dHB1dFxuIgorIiAteCwgLS1jZHNwZWVkIDxzcGVlZD4gICAgICAgc2V0IENELVJPTSBtYXggc3BlZWRcbiIKKyIgLVgsIC0tbGlzdHNwZWVkICAgICAgICAgICAgIGxpc3QgQ0QtUk9NIGF2YWlsYWJsZSBzcGVlZHNcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hdXRvIDxvbnxvZmY+ICAgICAgICAg0YPQstGW0LzQutC90YPRgtC4INCw0LHQviDQstC40LzQutC90YPRgtC4INC80L7QttC70LjQstGW0YHRgtGMINCw0LLRgtC+0LLRltC0J9GU0LTQvdCw0L3QvdGPXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDzRgdC70L7Rgj4gICAg0L/QtdGA0LXQvNC60L3Rg9GC0Lgg0LTQuNGB0LrQuCDRgyDQt9Cw0LzRltC90L3QuNC60YMgQ0QtUk9NXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDQtNCw0L3RliDRgtC40L/QvtCy0L7Qs9C+INC/0YDQuNGB0YLRgNC+0Y5cbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgINCy0LjRiNGC0L7QstGF0L3Rg9GC0Lgg0LTQuNGB0LrQtdGC0YNcbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgINC90LUg0LfQstCw0LbQsNGC0Lgg0L3QsCDRgtC40L8g0L/RgNC40YHRgtGA0L7RjlxuIgorIiAtaSwgLS1tYW51YWxlamVjdCA8b258b2ZmPiAg0YPQstGW0LzQutC90YPRgtC4INCw0LHQviDQstC40LzQutC90YPRgtC4INC30LDRhdC40YHRgiDQstGW0LQg0LLRltC0J9GU0LTQvdCw0L3QvdGPINCy0YDRg9GH0L3Rg1xuIgorIiAtbSwgLS1uby11bm1vdW50ICAgICAgICAgICAg0L3QtSDQtNC10LzQvtC90YLRg9Cy0LDRgtC4INC/0YDQuNGB0YLRgNGW0LksINC90LDQstGW0YLRjCDRj9C60YnQviDQudC+0LPQviDQt9C80L7QvdGC0L7QstCw0L3QvlxuIgorIiAtTSwgLS1uby1wYXJ0aXRpb25zLXVubW91bnQg0L3QtSDQtNC10LzQvtC90YLRg9Cy0LDRgtC4INGW0L3RiNGWINGA0L7Qt9C00ZbQu9C4XG4iCisiIC1uLCAtLW5vb3AgICAgICAgICAgICAgICAgICDQvdC1INCy0ZbQtCfRlNC00L3Rg9Cy0LDRgtC4LCDQv9GA0L7RgdGC0L4g0LLQuNCy0LXRgdGC0Lgg0LfQvdCw0LnQtNC10L3RliDQv9GA0LjRgdGC0YDQvtGXXG4iCisiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0LggL3Byb2MvbW91bnRzINC30LDQvNGW0YHRgtGMIC9ldGMvbXRhYlxuIgorIiAtcSwgLS10YXBlICAgICAgICAgICAgICAgICAg0LLQuNGI0YLQvtCy0YXQvdGD0YLQuCDRgdGC0YDRltGH0LrQvtCy0LjQuSDQvdCw0LrQvtC/0LjRh9GD0LLQsNGHXG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICDQstC40YjRgtC+0LLRhdC90YPRgtC4IENELVJPTVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAg0LLQuNGI0YLQvtCy0YXQvdGD0YLQuCBTQ1NJLdC/0YDQuNGB0YLRgNGW0LlcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgINC30LDQutGA0LjRgtC4INC70L7RgtC+0LpcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgINC/0LXRgNC10LzQutC90YPRgtC4INGB0YLQsNC9INC30LDQutGA0LjRgtGC0Y8g0LvQvtGC0LrQsFxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAg0YPQstGW0LzQutC90YPRgtC4INGA0LXQttC40Lwg0LTQvtC60LvQsNC00L3QuNGFINC/0L7QstGW0LTQvtC80LvQtdC90YxcbiIKKyIgLXgsIC0tY2RzcGVlZCA80YjQstC40LTQutGW0YHRgtGMPiAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INC80LDQutGB0LjQvNCw0LvRjNC90YMg0YjQstC40LTQutGW0YHRgtGMIENELVJPTVxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0YHQv9C40YHQvtC6INC00L7RgdGC0YPQv9C90LjRhSDRiNCy0LjQtNC60L7RgdGC0LXQuSBDRC1ST01cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTY0Cittc2dpZCAiIgorIlxuIgorIkJ5IGRlZmF1bHQgdHJpZXMgLXIsIC1zLCAtZiwgYW5kIC1xIGluIG9yZGVyIHVudGlsIHN1Y2Nlc3MuXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQotC40L/QvtCy0L4sINCx0YPQtNC1INCy0LjQutC+0L3QsNC90L4g0YHQv9GA0L7QsdGDINC/0L7RgdC70ZbQtNC+0LLQvdC+0LPQviDQstC40LrQvtGA0LjRgdGC0LDQvdC90Y8gLXIsIC1zLCAtZiDRliAtcSwg0LDQtiDQtNC+0LrQuCDQvdC1INCx0YPQtNC1INC00L7RgdGP0LPQvdGD0YLQviDRg9GB0L/RltGF0YMuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxMAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jaGFuZ2Vyc2xvdC8tYyBvcHRpb24iCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDQv9Cw0YDQsNC80LXRgtGA0LAgLS1jaGFuZ2Vyc2xvdCDQsNCx0L4gLWMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxNAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jZHNwZWVkLy14IG9wdGlvbiIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQsNGA0LPRg9C80LXQvdGCINC/0LDRgNCw0LzQtdGC0YDQsCAtLWNkc3BlZWQg0LDQsdC+IC14IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMjYKK21zZ2lkICJDRC1ST00gYXV0by1lamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINCy0LjQutC+0L3QsNC90L3RjyDQutC+0LzQsNC90LTQuCDQsNCy0YLQvtCy0LjRiNGC0L7QstGF0YPQstCw0L3QvdGPIENELVJPTSDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQwCittc2dpZCAiQ0QtUk9NIGRvb3IgbG9jayBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICLQn9GW0LTRgtGA0LjQvNC60Lgg0LHQu9C+0LrRg9Cy0LDQvdC90Y8g0LvQvtGC0LrQsCBDRC1ST00g0L3QtSDQv9C10YDQtdC00LHQsNGH0LXQvdC+IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDIKK21zZ2lkICJvdGhlciB1c2VycyBoYXZlIHRoZSBkcml2ZSBvcGVuIGFuZCBub3QgQ0FQX1NZU19BRE1JTiIKK21zZ3N0ciAi0ZbQvdGI0ZYg0LrQvtGA0LjRgdGC0YPQstCw0YfRliDQstGW0LTQutGA0LjQu9C4INC00LjRgdC6INGWINC90LUg0LLRgdGC0LDQvdC+0LLQu9C10L3QviBDQVBfU1lTX0FETUlOIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDQKK21zZ2lkICJDRC1ST00gbG9jayBkb29yIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0LLQuNC60L7QvdCw0YLQuCDQutC+0LzQsNC90LTRgyDQsdC70L7QutGD0LLQsNC90L3RjyDQu9C+0YLQutCwIENELVJPTSDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQ5Cittc2dpZCAiQ0QtRHJpdmUgbWF5IE5PVCBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAi0LLQuNGI0YLQvtCy0YXQvdGD0YLQuCDQu9C+0YLQvtC6INC/0YDQuNGB0YLRgNC+0Y4g0YfQuNGC0LDQvdC90Y8g0LrQvtC80L/QsNC60YIt0LTQuNGB0LrRltCyINCd0JUg0LzQvtC20L3QsCDQt9CwINC00L7Qv9C+0LzQvtCz0L7RjiDQutC90L7Qv9C60Lgg0L3QsCDQv9GA0LjRgdGC0YDQvtGXIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNTEKK21zZ2lkICJDRC1Ecml2ZSBtYXkgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgItCy0LjRiNGC0L7QstGF0L3Rg9GC0Lgg0LvQvtGC0L7QuiDQv9GA0LjRgdGC0YDQvtGOINGH0LjRgtCw0L3QvdGPINC60L7QvNC/0LDQutGCLdC00LjRgdC60ZbQsiDQvNC+0LbQvdCwINC30LAg0LTQvtC/0L7QvNC+0LPQvtGOINC60L3QvtC/0LrQuCDQvdCwINC/0YDQuNGB0YLRgNC+0ZciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2MgorbXNnaWQgIkNELVJPTSBzZWxlY3QgZGlzYyBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0LrQvtC80LDQvdC00Lgg0LLQuNCx0L7RgNGDINC00LjRgdC60LAgQ0QtUk9NIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjYKK21zZ2lkICJDRC1ST00gbG9hZCBmcm9tIHNsb3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDQstC40LrQvtC90LDQvdC90Y8g0LrQvtC80LDQvdC00Lgg0LfQsNCy0LDQvdGC0LDQttC10L3QvdGPIENELVJPTSDQtyDQu9C+0YLQutCwINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjgKK21zZ2lkICJJREUvQVRBUEkgQ0QtUk9NIGNoYW5nZXIgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICLRgyDRhtGM0L7QvNGDINGP0LTRgNGWINC90LUg0L/QtdGA0LXQtNCx0LDRh9C10L3QviDQutC+0LzQsNC90LTQuCDQt9C80ZbQvdC4IENELVJPTSwg0Lcn0ZTQtNC90LDQvdC+0LPQviDQt9CwINC00L7Qv9C+0LzQvtCz0L7RjiBJREUvQVRBUElcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg2Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC60L7QvdCw0YLQuCDQutC+0LzQsNC90LTRgyDQt9Cw0LrRgNC40YLRgtGPINC70L7RgtC60LAgQ0QtUk9NIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODgKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAi0YMg0YbRjNC+0LzRgyDRj9C00YDRliDQvdC1INC/0LXRgNC10LTQsdCw0YfQtdC90L4g0LrQvtC80LDQvdC00Lgg0LfQsNC60YDQuNGC0YLRjyDQu9C+0YLQutCwIENELVJPTVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MDUKK21zZ2lkICJDRC1ST00gZWplY3QgdW5zdXBwb3J0ZWQiCittc2dzdHIgItC/0ZbQtNGC0YDQuNC80LrQuCDQstC40YjRgtC+0LLRhdGD0LLQsNC90L3RjyBDRC1ST00g0L3QtSDQv9C10YDQtdC00LHQsNGH0LXQvdC+IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzMgc3lzLXV0aWxzL2VqZWN0LmM6NDU2IHN5cy11dGlscy9lamVjdC5jOjEwMTEKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDQstC40LrQvtC90LDQvdC90Y8g0LrQvtC80LDQvdC00Lgg0LLQuNGI0YLQvtCy0YXRg9Cy0LDQvdC90Y8gQ0QtUk9NINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzYKK21zZ2lkICJubyBDRC1ST00gaW5mb3JtYXRpb24gYXZhaWxhYmxlIgorbXNnc3RyICLQtNCw0L3RliDRidC+0LTQviBDRC1ST00g0L3QtdC00L7RgdGC0YPQv9C90ZYiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzOQorbXNnaWQgIkNELVJPTSBkcml2ZSBpcyBub3QgcmVhZHkiCittc2dzdHIgItC/0YDQuNGB0YLRgNGW0Lkg0YfQuNGC0LDQvdC90Y8gQ0QtUk9NINC90LXQs9C+0YLQvtCy0LjQuSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgyCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstC40LrQvtC90LDRgtC4INC60L7QvNCw0L3QtNGDINCy0LjQsdC+0YDRgyDRiNCy0LjQtNC60L7RgdGC0ZYg0YDQvtCx0L7RgtC4IENELVJPTSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDg0IHN5cy11dGlscy9lamVjdC5jOjU3MAorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsIgorbXNnc3RyICLRgyDRhtGM0L7QvNGDINGP0LTRgNGWINC90LUg0L/QtdGA0LXQtNCx0LDRh9C10L3QviDQutC+0LzQsNC90LTQuCDQstC40LHQvtGA0YMg0YjQstC40LTQutC+0YHRgtGWINGA0L7QsdC+0YLQuCBDRC1ST00iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmRpbmcgQ0QtUk9NIG5hbWUiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINCy0LjQt9C90LDRh9C40YLQuCDQvdCw0LfQstGDIENELVJPTSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0L/RgNC+0YfQuNGC0LDRgtC4INGI0LLQuNC00LrRltGB0YLRjCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTQ0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L/RgNC+0YfQuNGC0LDRgtC4INGI0LLQuNC00LrRltGB0YLRjCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTg4Cittc2dpZCAibm90IGFuIHNnIGRldmljZSwgb3Igb2xkIHNnIGRyaXZlciIKK21zZ3N0ciAi0L3QtSDRlCDQv9GA0LjRgdGC0YDQvtGU0Lwgc2cg0LDQsdC+INGUINC30LDRgdGC0LDRgNGW0LvQuNC8INC/0YDQuNGB0YLRgNC+0ZTQvCBzZyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bm1vdW50aW5nIgorbXNnc3RyICIlczog0LTQtdC80L7QvdGC0YPQstCw0L3QvdGPIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGV4ZWMgL2Jpbi91bW91bnQgb2YgYCVzJyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstC40LrQvtC90LDRgtC4IC9iaW4vdW1vdW50INC00LvRjyDCqyVzwrsiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY3OAorbXNnaWQgInVuYWJsZSB0byBmb3JrIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINGB0YLQstC+0YDQuNGC0Lgg0LLRltC00LPQsNC70YPQttC10L3QvdGPIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAi0LTQtdC80L7QvdGC0YPQstCw0L3QvdGPIMKrJXPCuyDQvdC1INCy0LTQsNC70L7RgdGPINC30LDQstC10YDRiNC40YLQuCDRgyDQt9Cy0LjRh9Cw0LnQvdC+0LzRgyDRgNC10LbQuNC80ZYiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZmFpbGVkXG4iCittc2dzdHIgItGB0L/RgNC+0LHQsCDQtNC10LzQvtC90YLRg9Cy0LDQvdC90Y8gwqslc8K7INC30LDQstC10YDRiNC40LvQsNGB0Y8g0L3QtdCy0LTQsNC70L5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzMwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IHRhYmxlIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0YLQsNCx0LvQuNGG0Y4g0LzQvtC90YLRg9Cy0LDQvdC90Y8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjc5MSBzeXMtdXRpbHMvZWplY3QuYzo4OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50ZWQgb24gJXMiCittc2dzdHIgIiVzOiDQt9C80L7QvdGC0L7QstCw0L3QviDQtNC+ICVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MzMKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byBhdXRvIgorbXNnc3RyICLQstGB0YLQsNC90L7QstC70Y7RlNC80L4g0YjQstC40LTQutGW0YHRgtGMINGA0L7QsdC+0YLQuCBDRC1ST00g0LDQstGC0L7QvNCw0YLQuNGH0L3QviIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODM1CisjLCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvICVsZFgiCittc2dzdHIgItCy0YHRgtCw0L3QvtCy0LvRjtGU0LzQviDRiNCy0LjQtNC60ZbRgdGC0Ywg0YDQvtCx0L7RgtC4IENELVJPTSDRgyDQt9C90LDRh9C10L3QvdGPICVsZFgiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg2MQorIywgYy1mb3JtYXQKK21zZ2lkICJkZWZhdWx0IGRldmljZTogYCVzJyIKK21zZ3N0ciAi0YLQuNC/0L7QstC40Lkg0L/RgNC40YHRgtGA0ZbQuTogwqslc8K7IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgZGVmYXVsdCBkZXZpY2UgYCVzJyIKK21zZ3N0ciAi0LLQuNC60L7RgNC40YHRgtC+0LLRg9GU0LzQviDRgtC40L/QvtCy0LjQuSDQv9GA0LjRgdGC0YDRltC5IMKrJXPCuyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg2IHN5cy11dGlscy9ydGN3YWtlLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gZmluZCBkZXZpY2UiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINC30L3QsNC50YLQuCDQv9GA0LjRgdGC0YDRltC5IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIG5hbWUgaXMgYCVzJyIKK21zZ3N0ciAi0L3QsNC30LLQsCDQv9GA0LjRgdGC0YDQvtGOIOKAlCDCqyVzwrsiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg5NCBzeXMtdXRpbHMvdW1vdW50LmM6MjA2IHN5cy11dGlscy91bW91bnQuYzoyMzUKKyM6IHN5cy11dGlscy91bW91bnQuYzo0MDkgc3lzLXV0aWxzL3Vtb3VudC5jOjQzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG1vdW50ZWQiCittc2dzdHIgIiVzOiDQvdC1INC30LzQvtC90YLQvtCy0LDQvdC+IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2MgZGV2aWNlOiAlcyAoZGlzayBkZXZpY2Ugd2lsbCBiZSB1c2VkIGZvciBlamVjdCkiCittc2dzdHIgIiVzOiDQtNC40YHQutC+0LLQuNC5INC/0YDQuNGB0YLRgNGW0Lk6ICVzICjQtNC40YHQutC+0LLQuNC5INC/0YDQuNGB0YLRgNGW0Lkg0LHRg9C00LUg0LLQuNC60L7RgNC40YHRgtCw0L3QviDQtNC70Y8gZWplY3QpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBmb3VuZCBtb3VudHBvaW50IG9yIGRldmljZSB3aXRoIHRoZSBnaXZlbiBuYW1lIgorbXNnc3RyICIlczog0L3QtSDQstC40Y/QstC70LXQvdC+INGC0L7Rh9C60Lgg0LzQvtC90YLRg9Cy0LDQvdC90Y8g0LDQsdC+INC/0YDQuNGB0YLRgNC+0Y4g0Lcg0LLQutCw0LfQsNC90L7RjiDQvdCw0LfQstC+0Y4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgd2hvbGUtZGlzayBkZXZpY2UiCittc2dzdHIgIiVzOiDRlCDQv9GA0LjRgdGC0YDQvtGU0Lwg0LLRgdGM0L7Qs9C+INC00LjRgdC60LAiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGhvdC1wbHVnZ2FibGUgZGV2aWNlIgorbXNnc3RyICIlczog0L3QtSDRlCDQv9GA0LjRgdGC0YDQvtGU0Lwg0Lcg0ZbQvdGC0LXRgNCw0LrRgtC40LLQvdC40Lwg0Lcn0ZTQtNC90LDQvdC90Y/QvCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTE3CisjLCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBpcyBgJXMnIgorbXNnc3RyICLQv9GA0LjRgdGC0YDQvtGU0Lwg0ZQgwqslc8K7IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTgKK21zZ2lkICJleGl0aW5nIGR1ZSB0byAtbi8tLW5vb3Agb3B0aW9uIgorbXNnc3RyICLQt9Cw0LLQtdGA0YjRg9GU0LzQviDRgNC+0LHQvtGC0YMg0YfQtdGA0LXQtyDQtNC+0LTQsNCy0LDQvdC90Y8g0L/QsNGA0LDQvNC10YLRgNCwIC1uLy0tbm9vcCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlbmFibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiVzOiDQstC80LjQutCw0ZTQvNC+INGA0LXQttC40Lwg0LDQstGC0L7QstC40YjRgtC+0LLRhdGD0LLQsNC90L3RjyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNhYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIlczog0LLQuNC80LjQutCw0ZTQvNC+INGA0LXQttC40Lwg0LDQstGC0L7QstC40YjRgtC+0LLRhdGD0LLQsNC90L3RjyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zaW5nIHRyYXkiCittc2dzdHIgIiVzOiDQt9Cw0LrRgNC40LLQsNGU0LzQviDQu9C+0YLQvtC6IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiVzOiDQv9C10YDQtdC80LjQutCw0ZTQvNC+INGB0YLQsNC9INC30LDQutGA0LjRgtGC0Y8g0LvQvtGC0LrQsCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsaXN0aW5nIENELVJPTSBzcGVlZCIKK21zZ3N0ciAiJXM6INC/0L7QutCw0LfRg9GU0LzQviDRgdC/0LjRgdC+0Log0YjQstC40LTQutC+0YHRgtC10Lkg0YDQvtCx0L7RgtC4IENELVJPTSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTg2CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogZGV2aWNlIGluIHVzZSIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LA6ICVzOiDQv9GA0LjRgdGC0YDRltC5INCy0LjQutC+0YDQuNGB0YLQvtCy0YPRlNGC0YzRgdGPIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlbGVjdGluZyBDRC1ST00gZGlzYyAjJWxkIgorbXNnc3RyICIlczog0LLQuNCx0LjRgNCw0ZTQvNC+INC00LjRgdC6IENELVJPTSDihJYlbGQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBDRC1ST00gZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiJXM6INC90LDQvNCw0LPQsNGU0LzQvtGB0Y8g0LLQuNGI0YLQvtCy0YXQvdGD0YLQuCDQu9C+0YLQvtC6INC30LAg0LTQvtC/0L7QvNC+0LPQvtGOINC60L7QvNCw0L3QtNC4IGVqZWN0INC00LvRjyBDRC1ST00iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTAKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgItGD0YHQv9GW0YjQvdC+INCy0LjQutC+0L3QsNC90L4g0LrQvtC80LDQvdC00YMg0LLQuNGI0YLQvtCy0YXRg9Cy0LDQvdC90Y8g0LvQvtGC0LrQsCBDRC1ST00iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBTQ1NJIGNvbW1hbmRzIgorbXNnc3RyICIlczog0L3QsNC80LDQs9Cw0ZTQvNC+0YHRjyDQstC40YjRgtC+0LLRhdC90YPRgtC4INC70L7RgtC+0Log0LfQsCDQtNC+0L/QvtC80L7Qs9C+0Y4g0LrQvtC80LDQvdC0IFNDU0kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTcKK21zZ2lkICJTQ1NJIGVqZWN0IHN1Y2NlZWRlZCIKK21zZ3N0ciAi0YPRgdC/0ZbRiNC90LUg0LLRltC0J9GU0LTQvdCw0L3QvdGPIFNDU0kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTgKK21zZ2lkICJTQ1NJIGVqZWN0IGZhaWxlZCIKK21zZ3N0ciAi0KHQv9GA0L7QsdCwINCy0ZbQtCfRlNC00L3QsNC90L3RjyBTQ1NJINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgZmxvcHB5IGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiVzOiDQvdCw0LzQsNCz0LDRlNC80L7RgdGPINCy0LjRiNGC0L7QstGF0L3Rg9GC0Lgg0LvQvtGC0L7QuiDQt9CwINC00L7Qv9C+0LzQvtCz0L7RjiDQutC+0LzQsNC90LTQuCBlamVjdCDQtNC70Y8g0LTQuNGB0LrQtdGC0LgiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjQKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgItGD0YHQv9GW0YjQvdC+INCy0LjQutC+0L3QsNC90L4g0LrQvtC80LDQvdC00YMg0LLQuNGI0YLQvtCy0YXRg9Cy0LDQvdC90Y8g0LTQuNGB0LrQtdGC0LgiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjUKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDQstC40YjRgtC+0LLRhdGD0LLQsNC90L3RjyDQtNC40YHQutC10YLQuCDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIHRhcGUgb2ZmbGluZSBjb21tYW5kIgorbXNnc3RyICIlczog0L3QsNC80LDQs9Cw0ZTQvNC+0YHRjyDQstC40YjRgtC+0LLRhdC90YPRgtC4INGB0YLRgNGW0YfQutC+0LLQuNC5INC90LDQutC+0L/QuNGH0YPQstCw0Ycg0LrQvtC80LDQvdC00L7RjiDQudC+0LPQviDQstC40LzQuNC60LDQvdC90Y8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzEKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgItC60L7QvNCw0L3QtNGDINCy0LjQvNC40LrQsNC90L3RjyDRgdGC0YDRltGH0LrQvtCy0L7Qs9C+INC90LDQutC+0L/QuNGH0YPQstCw0YfQsCDRg9GB0L/RltGI0L3QviDQstC40LrQvtC90LDQvdC+IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDMyCittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0LLQuNC80LjQutCw0L3QvdGPINGB0YLRgNGW0YfQutC+0LLQvtCz0L4g0L3QsNC60L7Qv9C40YfRg9Cy0LDRh9CwINC30LDQstC10YDRiNC40LvQsNGB0Y8g0L3QtdCy0LTQsNC70L4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzYKK21zZ2lkICJ1bmFibGUgdG8gZWplY3QiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRltC0J9GU0LTQvdCw0YLQuCIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGVuYW1lPlxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gPNC90LDQt9Cy0LAg0YTQsNC50LvQsD5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjgxCittc2dpZCAiUHJlYWxsb2NhdGUgc3BhY2UgdG8sIG9yIGRlYWxsb2NhdGUgc3BhY2UgZnJvbSBhIGZpbGUuXG4iCittc2dzdHIgItCf0L7Qv9C10YDQtdC00L3RjNC+INC+0YLRgNC40LzQsNGC0Lgg0LzRltGB0YbQtSDRgyDRhNCw0LnQu9GWINCw0LHQviDRgdC60LDRgdGD0LLQsNGC0Lgg0L7RgtGA0LjQvNCw0L3QvdGPINC80ZbRgdGG0Y8g0YMg0YTQsNC50LvRli5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg0Cittc2dpZCAiIC1jLCAtLWNvbGxhcHNlLXJhbmdlIHJlbW92ZSBhIHJhbmdlIGZyb20gdGhlIGZpbGVcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbGxhcHNlLXJhbmdlINCy0LjQu9GD0YfQuNGC0Lgg0LTRltCw0L/QsNC30L7QvSDQtyDRhNCw0LnQu9CwXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NQorbXNnaWQgIiAtZCwgLS1kaWctaG9sZXMgICAgICBkZXRlY3QgemVyb2VzIGFuZCByZXBsYWNlIHdpdGggaG9sZXNcbiIKK21zZ3N0ciAiIC1kLCAtLWRpZy1ob2xlcyAgICAgINCy0LjRj9Cy0LjRgtC4INC90YPQu9GWINGWINC30LDQvNGW0L3QuNGC0Lgg0ZfRhSDQtNGW0YDQutCw0LzQuFxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODYKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICAgbGVuZ3RoIGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDzRh9C40YHQu9C+PiDQtNC+0LLQttC40L3QsCDQvtC/0LXRgNCw0YbRltC5INC3INC00ZbQsNC/0LDQt9C+0L3QsNC80LgsINGDINCx0LDQudGC0LDRhVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODcKK21zZ2lkICIgLW4sIC0ta2VlcC1zaXplICAgICAgbWFpbnRhaW4gdGhlIGFwcGFyZW50IHNpemUgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgINC30LHQtdGA0ZbQs9Cw0YLQuCDRgNC+0LfQvNGW0YAg0YTQsNC50LvQsFxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODgKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgb2Zmc2V0IGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDzRh9C40YHQu9C+PiDQstGW0LTRgdGC0YPQvyDQtNC70Y8g0LTRltC5INC3INC00ZbQsNC/0LDQt9C+0L3QsNC80LgsINGDINCx0LDQudGC0LDRhVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODkKK21zZ2lkICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVwbGFjZSBhIHJhbmdlIHdpdGggYSBob2xlIChpbXBsaWVzIC1uKVxuIgorbXNnc3RyICIgLXAsIC0tcHVuY2gtaG9sZSAgICAg0LfQsNC80ZbQvdC40YLQuCDQtNGW0LDQv9Cw0LfQvtC9INC00ZbRgNC60L7RjiAo0LLQuNC60L7RgNC40YHRgtC+0LLRg9GUIC1uKVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTAKK21zZ2lkICIgLXosIC0temVyby1yYW5nZSAgICAgemVybyBhbmQgZW5zdXJlIGFsbG9jYXRpb24gb2YgYSByYW5nZVxuIgorbXNnc3RyICIgLXosIC0temVyby1yYW5nZSAgICAg0LfQsNC90YPQu9C40YLQuCDRliDQt9Cw0LHQtdC30L/QtdGH0LjRgtC4INGA0L7Qt9C80ZbRidC10L3QvdGPINC00ZbQsNC/0LDQt9C+0L3Rg1xuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTI2Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZDoga2VlcCBzaXplIG1vZGUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwIGZhbGxvY2F0ZTog0L/RltC00YLRgNC40LzQutC4INGA0LXQttC40LzRgyDQt9Cx0LXRgNC10LbQtdC90L3RjyDRgNC+0LfQvNGW0YDRgyDQvdC1INC/0LXRgNC10LTQsdCw0YfQtdC90L4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMjcKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCBmYWxsb2NhdGUiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgZmFpbGVkIgorbXNnc3RyICIlczog0L/QvtC80LjQu9C60LAg0L/RltC0INGH0LDRgSDRgdC/0YDQvtCx0Lgg0YfQuNGC0LDQvdC90Y8iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglanUgYnl0ZXMpIGNvbnZlcnRlZCB0byBzcGFyc2UgaG9sZXMuXG4iCittc2dzdHIgIiVzOiAlcyAoJWp1INCx0LDQudGC0ZbQsikg0L/QtdGA0LXRgtCy0L7RgNC10L3QviDRgyDRgNC+0LfRgNGW0LTQttC10L3RliDQtNGW0YDQutC4LlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzQ2IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExOAorbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZCIKK21zZ3N0ciAi0L3QtSDQstC60LDQt9Cw0L3QviDQvdCw0LfQstC4INGE0LDQudC70LAiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTggc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2NAorbXNnaWQgImludmFsaWQgbGVuZ3RoIHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAi0LLQutCw0LfQsNC90L4g0L3QtdC60L7RgNC10LrRgtC90LUg0LfQvdCw0YfQtdC90L3RjyDQtNC+0LLQttC40L3QuCIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2MgorbXNnaWQgIm5vIGxlbmd0aCBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgItC90LUg0LLQutCw0LfQsNC90L4g0LDRgNCz0YPQvNC10L3RgtGDINC00L7QstC20LjQvdC4IgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzY3Cittc2dpZCAiaW52YWxpZCBvZmZzZXQgdmFsdWUgc3BlY2lmaWVkIgorbXNnc3RyICLQstC60LDQt9Cw0L3QviDQvdC10LrQvtGA0LXQutGC0L3QtSDQt9C90LDRh9C10L3QvdGPINC30YHRg9Cy0YMiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IDxjb21tYW5kPiBbPGFyZ3VtZW50Pi4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IC1jIDxjb21tYW5kPlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZSBkZXNjcmlwdG9yIG51bWJlcj5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIDzRhNCw0LnQuz58PNC60LDRgtCw0LvQvtCzPiA80LrQvtC80LDQvdC00LA+IFs80LDRgNCz0YPQvNC10L3Rgj4uLi5dXG4iCisiICUxJHMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gPNGE0LDQudC7Pnw80LrQsNGC0LDQu9C+0LM+IC1jIDzQutC+0LzQsNC90LTQsD5cbiIKKyIgJTEkcyBb0L/QsNGA0LDQvNC10YLRgNC4XSA80YfQuNGB0LvQvtCy0LUg0LfQvdCw0YfQtdC90L3RjyDQtNC10YHQutGA0LjQv9GC0L7RgNCwINGE0LDQudC70LA+XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjU5Cittc2dpZCAiTWFuYWdlIGZpbGUgbG9ja3MgZnJvbSBzaGVsbCBzY3JpcHRzLlxuIgorbXNnc3RyICLQmtC10YDRg9Cy0LDRgtC4INCx0LvQvtC60YPQstCw0L3QvdGP0LzQuCDRhNCw0LnQu9GW0LIg0LTQu9GPINGB0LrRgNC40L/RgtGW0LIg0L7QsdC+0LvQvtC90LrQuC5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjIKK21zZ2lkICIgLXMsIC0tc2hhcmVkICAgICAgICAgICAgIGdldCBhIHNoYXJlZCBsb2NrXG4iCittc2dzdHIgIiAtcywgLS1zaGFyZWQgICAgICAgICAgICAg0L7RgtGA0LjQvNCw0YLQuCDQsdC70L7QutGD0LLQsNC90L3RjyDRgdC/0ZbQu9GM0L3QvtCz0L4g0LLQuNC60L7RgNC40YHRgtCw0L3QvdGPXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYzCittc2dpZCAiIC14LCAtLWV4Y2x1c2l2ZSAgICAgICAgICBnZXQgYW4gZXhjbHVzaXZlIGxvY2sgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAg0L7RgtGA0LjQvNCw0YLQuCDQstC40LrQu9GO0YfQvdC1INCx0LvQvtC60YPQstCw0L3QvdGPICjRgtC40L/QvtCy0LjQuSlcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjQKK21zZ2lkICIgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIHJlbW92ZSBhIGxvY2tcbiIKK21zZ3N0ciAiIC11LCAtLXVubG9jayAgICAgICAgICAgICDQstC40LvRg9GH0LjRgtC4INCx0LvQvtC60YPQstCw0L3QvdGPXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY1Cittc2dpZCAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICBmYWlsIHJhdGhlciB0aGFuIHdhaXRcbiIKK21zZ3N0ciAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICDQt9Cw0LLQtdGA0YjQuNGC0Lgg0YDQvtCx0L7RgtGDINCx0LXQtyDQvtGH0ZbQutGD0LLQsNC90L3Rj1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NgorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCittc2dzdHIgIiAtdywgLS10aW1lb3V0IDzRgdC10LrRg9C90LTQuD4gINC+0YfRltC60YPQstCw0YLQuCDQvtCx0LzQtdC20LXQvdC40Lkg0L/RgNC+0LzRltC20L7QuiDRh9Cw0YHRg1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NworbXNnaWQgIiAtRSwgLS1jb25mbGljdC1leGl0LWNvZGUgPG51bWJlcj4gIGV4aXQgY29kZSBhZnRlciBjb25mbGljdCBvciB0aW1lb3V0XG4iCittc2dzdHIgIiAtRSwgLS1jb25mbGljdC1leGl0LWNvZGUgPNGH0LjRgdC70L4+ICAg0LrQvtC0INCy0LjRhdC+0LTRgyDQv9GW0YHQu9GPINC60L7QvdGE0LvRltC60YLRgyDQsNCx0L4g0LfQsNCy0LXRgNGI0LXQvdC90Y8g0YfQsNGB0YMg0L7Rh9GW0LrRg9Cy0LDQvdC90Y9cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjgKK21zZ2lkICIgLW8sIC0tY2xvc2UgICAgICAgICAgICAgIGNsb3NlIGZpbGUgZGVzY3JpcHRvciBiZWZvcmUgcnVubmluZyBjb21tYW5kXG4iCittc2dzdHIgIiAtbywgLS1jbG9zZSAgICAgICAgICAgICAg0LfQsNC60YDQuNGC0Lgg0LTQtdGB0LrRgNC40L/RgtC+0YAg0YTQsNC50LvQsCDQtNC+INCy0LjQutC+0L3QsNC90L3RjyDQutC+0LzQsNC90LTQuFxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OQorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgcnVuIGEgc2luZ2xlIGNvbW1hbmQgc3RyaW5nIHRocm91Z2ggdGhlIHNoZWxsXG4iCittc2dzdHIgIiAtYywgLS1jb21tYW5kIDzQutC+0LzQsNC90LTQsD4gINCy0LjQutC+0L3QsNGC0Lgg0L7QutGA0LXQvNC40Lkg0YDRj9C00L7QuiDQutC+0LzQsNC90LTQuCDQt9CwINC00L7Qv9C+0LzQvtCz0L7RjiDQvtCx0L7Qu9C+0L3QutC4XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcwCittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgICBleGVjdXRlIGNvbW1hbmQgd2l0aG91dCBmb3JraW5nXG4iCittc2dzdHIgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAg0LLQuNC60L7QvdCw0YLQuCDQutC+0LzQsNC90LTRgyDQsdC10Lcg0YDQvtC30LPQsNC70YPQttC10L3QvdGPXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcxCittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICBpbmNyZWFzZSB2ZXJib3NpdHlcbiIKK21zZ3N0ciAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICDQt9Cx0ZbQu9GM0YjQuNGC0Lgg0YDRltCy0LXQvdGMINC00L7QutC70LDQtNC90L7RgdGC0ZYg0L/QvtCy0ZbQtNC+0LzQu9C10L3RjFxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gbG9jayBmaWxlICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0ZbQtNC60YDQuNGC0Lgg0YTQsNC50Lsg0LHQu9C+0LrRg9Cy0LDQvdC90Y8sICVzIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDUKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgdmFsdWUiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC1INC30L3QsNGH0LXQvdC90Y8g0YfQsNGB0YMg0L7Rh9GW0LrRg9Cy0LDQvdC90Y8iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIwOQorbXNnaWQgImludmFsaWQgZXhpdCBjb2RlIgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INC60L7QtCDQstC40YXQvtC00YMiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIyOAorbXNnaWQgInRoZSAtLW5vLWZvcmsgYW5kIC0tY2xvc2Ugb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGA0LggLS1uby1mb3JrINGWIC0tY2xvc2Ug0ZQg0LLQt9Cw0ZTQvNC90L4g0L3QtdGB0YPQvNGW0YHQvdC40LzQuCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGNvbW1hbmQgYXJndW1lbnQiCittc2dzdHIgIiVzINCy0LjQvNCw0LPQsNGUINGC0L7Rh9C90L4g0L7QtNC90L7Qs9C+INCw0YDQs9GD0LzQtdC90YLRgyDQutC+0LzQsNC90LTQuCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjU0Cittc2dpZCAiYmFkIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAi0L/QvtC80LjQu9C60L7QstC40Lkg0LTQtdGB0LrRgNC40L/RgtC+0YAg0YTQsNC50LvQsCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjU3Cittc2dpZCAicmVxdWlyZXMgZmlsZSBkZXNjcmlwdG9yLCBmaWxlIG9yIGRpcmVjdG9yeSIKK21zZ3N0ciAi0L/QvtGC0YDQtdCx0YPRlCDQtNC10YHQutGA0LjQv9GC0L7RgNCwINGE0LDQudC70LAsINC90LDQt9Cy0Lgg0YTQsNC50LvQsCDQsNCx0L4g0LrQsNGC0LDQu9C+0LPRgyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjgxCittc2dpZCAiZmFpbGVkIHRvIGdldCBsb2NrIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC30LDQsdC70L7QutGD0LLQsNGC0LgiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4OAorbXNnaWQgInRpbWVvdXQgd2hpbGUgd2FpdGluZyB0byBnZXQgbG9jayIKK21zZ3N0ciAi0L/QtdGA0LXQstC40YnQtdC90L3RjyDRh9Cw0YHRgyDQvtGH0ZbQutGD0LLQsNC90L3RjyDQvdCwINC+0YLRgNC40LzQsNC90L3RjyDQsdC70L7QutGD0LLQsNC90L3RjyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXR0aW5nIGxvY2sgdG9vayAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICIlczog0L/RgNC+0YbQtdC00YPRgNCwINCx0LvQvtC60YPQstCw0L3QvdGPINGC0YDQuNCy0LDQu9CwICVsZC4lMDZsZCDRgdC10LrRg9C90LRcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAiJXM6INCy0LjQutC+0L3Rg9GU0LzQviAlc1xuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1MAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxtb3VudHBvaW50PlxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gPNGC0L7Rh9C60LAg0LzQvtC90YLRg9Cy0LDQvdC90Y8+XG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjUzCittc2dpZCAiU3VzcGVuZCBhY2Nlc3MgdG8gYSBmaWxlc3lzdGVtIChleHQzLzQsIFJlaXNlckZTLCBKRlMsIFhGUykuXG4iCittc2dzdHIgItCf0YDQuNC30YPQv9C40L3QuNGC0Lgg0LTQvtGB0YLRg9C/INC00L4g0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuCAoZXh0My80LCBSZWlzZXJGUywgSkZTLCBYRlMpLlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1NgorbXNnaWQgIiAtZiwgLS1mcmVlemUgICAgICBmcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC1mLCAtLWZyZWV6ZSAgICAgINC30LDQvNC+0YDQvtC30LjRgtC4INGE0LDQudC70L7QstGDINGB0LjRgdGC0LXQvNGDXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjU3Cittc2dpZCAiIC11LCAtLXVuZnJlZXplICAgIHVuZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAtdSwgLS11bmZyZWV6ZSAgICDRgNC+0LfQvNC+0YDQvtC30LjRgtC4INGE0LDQudC70L7QstGDINGB0LjRgdGC0LXQvNGDXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExNgorbXNnaWQgIm5laXRoZXIgLS1mcmVlemUgb3IgLS11bmZyZWV6ZSBzcGVjaWZpZWQiCittc2dzdHIgItC90LUg0LLQutCw0LfQsNC90L4g0L3RliAtLWZyZWV6ZSwg0L3RliAtLXVuZnJlZXplIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXM6INC90LUg0ZQg0LrQsNGC0LDQu9C+0LPQvtC8IgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINC30LDQvNC+0YDQvtC30LjRgtC4IgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0YDQvtC30LzQvtGA0L7Qt9C40YLQuCIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiDQvdC1INGUINC60LDRgtCw0LvQvtCz0L7QvCIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBGSVRSSU0gaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczog0L/QvtC80LjQu9C60LAgaW9jdGwgRklUUklNIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGhlcmUgaXMgYSB2ZXJ5IGxhcmdlIG51bWJlci4KKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglPFBSSXU2ND4gYnl0ZXMpIHRyaW1tZWRcbiIKK21zZ3N0ciAiJXM6ICVzICglPFBSSXU2ND4g0LHQsNC50YLRltCyKSDQvtCx0YDRltC30LDQvdC+XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxOTEgc3lzLXV0aWxzL3N3YXBvbi5jOjcyOSBzeXMtdXRpbHMvdW1vdW50LmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4ICVzIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50IHBvaW50PlxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gPNGC0L7Rh9C60LAg0LzQvtC90YLRg9Cy0LDQvdC90Y8+XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTQKK21zZ2lkICJEaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgItCS0ZbQtNC60LjQvdGD0YLQuCDQvdC10LLQuNC60L7RgNC40YHRgtCw0L3RliDQsdC70L7QutC4INC90LAg0LfQvNC+0L3RgtC+0LLQsNC90ZbQuSDRhNCw0LnQu9C+0LLRltC5INGB0LjRgdGC0LXQvNGWLlxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU3Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgdHJpbSBhbGwgbW91bnRlZCBmaWxlc3lzdGVtcyB0aGF0IGFyZSBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAg0L7QsdGA0ZbQt9Cw0YLQuCDRg9GB0ZYg0LfQvNC+0L3RgtC+0LLQsNC90ZYg0YTQsNC50LvQvtCy0ZYg0YHQuNGB0YLQtdC80LgsINC/0ZbQtNGC0YDQuNC80LrRgyDRj9C60LjRhSDQv9C10YDQtdC00LHQsNGH0LXQvdC+XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTgKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICB0aGUgb2Zmc2V0IGluIGJ5dGVzIHRvIHN0YXJ0IGRpc2NhcmRpbmcgZnJvbVxuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDzRh9C40YHQu9C+PiAg0LLRltC00YHRgtGD0L8g0YMg0LHQsNC50YLQsNGFLCDQtyDRj9C60L7Qs9C+INGB0LvRltC0INGA0L7Qt9C/0L7Rh9C40L3QsNGC0Lgg0LLRltC00LrQuNC00LDQvdC90Y9cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1OQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gZGlzY2FyZFxuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDxuPiAgICDQutGW0LvRjNC60ZbRgdGC0Ywg0LHQsNC50YLRltCyLCDRj9C60ZYg0YHQu9GW0LQg0LLRltC00LrQuNC90YPRgtC4XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjAKK21zZ2lkICIgLW0sIC0tbWluaW11bSA8bnVtPiB0aGUgbWluaW11bSBleHRlbnQgbGVuZ3RoIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC1tLCAtLW1pbmltdW0gPNGH0LjRgdC70L4+INC80ZbQvdGW0LzQsNC70YzQvdCwINC00L7QstC20LjQvdCwINC00LvRjyDQstGW0LTQutC40LTQsNC90L3Rj1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgbnVtYmVyIG9mIGRpc2NhcmRlZCBieXRlc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICDQstC40LLQtdGB0YLQuCDQtNCw0L3RliDRidC+0LTQviDQutGW0LvRjNC60L7RgdGC0ZYg0LLRltC00LrQuNC90YPRgtC40YUg0LHQsNC50YLRltCyXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMTYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWluaW11bSBleHRlbnQgbGVuZ3RoIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0LfQvdCw0YfQtdC90L3RjyDQvNGW0L3RltC80LDQu9GM0L3QvtCz0L4g0L7QsSfRlNC80YMg0LTQvtCy0LbQuNC90LgiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMjkKK21zZ2lkICJubyBtb3VudHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAi0L3QtSDQstC60LDQt9Cw0L3QviDRgtC+0YfQutC4INC80L7QvdGC0YPQstCw0L3QvdGPIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGUgZGlzY2FyZCBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiJXM6INC/0ZbQtNGC0YDQuNC80LrQuCDQtNGW0Zcg0Lcg0LLRltC00LrQuNC00LDQvdC90Y8g0L3QtSDQv9C10YDQtdC00LHQsNGH0LXQvdC+IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJBc3N1bWluZyBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluICVzIHRpbWUuXG4iCittc2dzdHIgItCS0LLQsNC20LDRlNGC0YzRgdGPLCDRidC+INCw0L/QsNGA0LDRgtC90LjQuSDQs9C+0LTQuNC90L3QuNC6INGB0LjQvdGF0YDQvtC90ZbQt9C+0LLQsNC90LjQuSDQtyAlcyDRh9Cw0YHQvtC8LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI0NyBzeXMtdXRpbHMvaHdjbG9jay5jOjMzNAorbXNnaWQgIlVUQyIKK21zZ3N0ciAiVVRDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI0NyBzeXMtdXRpbHMvaHdjbG9jay5jOjMzMworbXNnaWQgImxvY2FsIgorbXNnc3RyICLQu9C+0LrQsNC70YzQvdC40LkiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzE4Cittc2dpZCAiIgorIldhcm5pbmc6IHVucmVjb2duaXplZCB0aGlyZCBsaW5lIGluIGFkanRpbWUgZmlsZVxuIgorIihFeHBlY3RlZDogYFVUQycgb3IgYExPQ0FMJyBvciBub3RoaW5nLikiCittc2dzdHIgIiIKKyLQn9C+0L/QtdGA0LXQtNC20LXQvdC90Y86INC90LXRgNC+0LfQv9GW0LfQvdCw0L3QuNC5INGC0YDQtdGC0ZbQuSDRgNGP0LTQvtC6INGDINGE0LDQudC70ZYgYWRqdGltZVxuIgorIijQnNCw0LvQviDQsdGD0YLQuCDCq1VUQ8K7LCDCq0xPQ0FMwrsg0LDQsdC+INC/0L7RgNC+0LbQvdGW0Lkg0YDRj9C00L7Qui4pIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMyNworIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGRyaWZ0IGFkanVzdG1lbnQgZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgItCe0YHRgtCw0L3QvdGPINC60L7RgNC10LrRhtGW0Y8g0LLRltC00YXQuNC70LXQvdC90Y8g0LLQuNC60L7QvdCw0L3QsCDRgyAlbGQg0YHQtdC60YPQvdC0INC/0ZbRgdC70Y8gMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGNhbGlicmF0aW9uIGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICLQntGB0YLQsNC90L3RlCDQutCw0LvRltCx0YDRg9Cy0LDQvdC90Y8g0LLQuNC60L7QvdCw0L3QviDRgyAlbGQg0YHQtdC60YPQvdC0INC/0ZbRgdC70Y8gMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMzMQorIywgYy1mb3JtYXQKK21zZ2lkICJIYXJkd2FyZSBjbG9jayBpcyBvbiAlcyB0aW1lXG4iCittc2dzdHIgItCQ0L/QsNGA0LDRgtC90LjQuSDQs9C+0LTQuNC90L3QuNC6INC90LDQu9Cw0YjRgtC+0LLQsNC90LjQuSDQvdCwICVzINGH0LDRgVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM1OAorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGZvciBjbG9jayB0aWNrLi4uXG4iCittc2dzdHIgItCe0YfRltC60YPRlNGC0YzRgdGPINGB0LjQs9C90LDQuyDQs9C+0LTQuNC90L3QuNC60LAuLi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc3luY2hyb25pemF0aW9uIGZhaWxlZFxuIgorbXNnc3RyICLigKbRgdC/0YDQvtCx0LAg0YHQuNC90YXRgNC+0L3RltC30LDRhtGW0Zcg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZZcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uZ290IGNsb2NrIHRpY2tcbiIKK21zZ3N0ciAiLi4u0L7RgtGA0LjQvNCw0L3QviDRgdC40LPQvdCw0Lsg0LPQvtC00LjQvdC90LjQutCwXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDIyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdmFsdWVzIGluIGhhcmR3YXJlIGNsb2NrOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCittc2dzdHIgItCd0LXQv9GA0LDQstC40LvRjNC90LUg0LfQvdCw0YfQtdC90L3RjyDRgyDQsNC/0LDRgNCw0YLQvdC+0LzRgyDQs9C+0LTQuNC90L3QuNC60YM6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHcgY2xvY2sgdGltZSA6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgItCn0LDRgSDQsNC/0LDRgNCw0YLQvdC+0LPQviDQs9C+0LTQuNC90L3QuNC60LA6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAlbGQg0YHQtdC60YPQvdC0INC/0ZbRgdC70Y8gMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ2NQorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHJlYWQgZnJvbSBIYXJkd2FyZSBDbG9jazogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorbXNnc3RyICLQp9Cw0YEg0L/RgNC+0YfQuNGC0LDQvdC40Lkg0Lcg0LDQv9Cw0YDQsNGC0L3QvtCz0L4g0LPQvtC00LjQvdC90LjQutCwOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgSGFyZHdhcmUgQ2xvY2sgdG8gJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgItCQ0L/QsNGA0LDRgtC90LjQuSDQs9C+0LTQuNC90L3QuNC6INCy0YHRgtCw0L3QvtCy0LvRjtGU0YLRjNGB0Y8g0YMgJS4yZDolLjJkOiUuMmQgPSAlbGQg0YHQtdC60YPQvdC0INC/0ZbRgdC70Y8gMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICJDbG9jayBub3QgY2hhbmdlZCAtIHRlc3Rpbmcgb25seS5cbiIKK21zZ3N0ciAi0JPQvtC00LjQvdC90LjQuiDQvdC1INC30LzRltC90LXQvdC+IC0g0LvQuNGI0LUg0L/QtdGA0LXQstGW0YDQutCwLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYwMworIywgYy1mb3JtYXQKK21zZ2lkICJzbGVlcGluZyB+JWQgdXNlY1xuIgorbXNnc3RyICLQvtGH0ZbQutGD0ZTQvNC+IH4lZCDQvNC60YFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBqdW1wZWQgYmFja3dhcmQgJS42ZiBzZWNvbmRzIHRvICVsZC4lMDZsZCAtIHJldGFyZ2V0aW5nXG4iCittc2dzdHIgItC/0L7Qt9C90LDRh9C60YMg0YfQsNGB0YMg0L/QtdGA0LXRgdGD0L3Rg9GC0L4g0L3QsCAlLjZmINGB0LXQutGD0L3QtCDQvdCw0LfQsNC0INC00L4gJWxkLiUwNmxkIC0g0L/QtdGA0LXQvdCw0LvQsNGI0YLQvtCy0YPRlNC80L7RgdGPXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZC4lMDZsZCA8ICVsZC4lMDZsZCAoJS42ZilcbiIKK21zZ3N0ciAiJWxkLiUwNmxkIDwgJWxkLiUwNmxkICglLjZmKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciBwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCittc2dzdHIgItC/0YDQvtC/0YPRidC10L3QviAtICVsZC4lMDZsZCDQvdCw0LTRgtC+INC00LDQu9C10LrQviDRgyDQvNC40L3Rg9C70L7QvNGDINCy0ZbQtNC90L7RgdC90L4gJWxkLiUwNmxkICglLjZmID4gJS42ZilcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVsZC4lMDZsZCBpcyBjbG9zZSBlbm91Z2ggdG8gJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyJTZXQgUlRDIHRvICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2bGQpXG4iCittc2dzdHIgIiIKKyIlbGQuJTA2bGQg0LTQvtGB0YLQsNGC0L3RjNC+INCx0LvQuNC30YzQutC+INC00L4gJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyLQktGB0YLQsNC90L7QstC70Y7RlNC80L4gUlRDINGDICVsZCAoJWxkICsgJWQ7INC10YLQsNC70L7QvdC90LjQuSDRh9Cw0YEg0YHQuNGB0YLQtdC80LggPSAlbGQuJTA2bGQpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Njg4Cittc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIHJlZ2lzdGVycyBjb250YWluIHZhbHVlcyB0aGF0IGFyZSBlaXRoZXIgaW52YWxpZCAoZS5nLiA1MHRoIGRheSBvZiBtb250aCkgb3IgYmV5b25kIHRoZSByYW5nZSB3ZSBjYW4gaGFuZGxlIChlLmcuIFllYXIgMjA5NSkuIgorbXNnc3RyICLQoNC10LPRltGB0YLRgNC4INCw0L/QsNGA0LDRgtC90L7Qs9C+INCz0L7QtNC40L3QvdC40LrQsCDQvNGW0YHRgtGP0YLRjCDQt9C90LDRh9C10L3QvdGPLCDRj9C60ZYg0ZQg0LDQsdC+INC90LXQutC+0YDQtdC60YLQvdC40LzQuCAo0L3QsNC/0YDQuNC60LvQsNC0IDUwLdC5INC00LXQvdGMINC80ZbRgdGP0YbRjyksINCw0LHQviDQt9CwINC80LXQttCw0LzQuCwg0Y/QutGWINC80L7QttC1INC+0LHRgNC+0LHQuNGC0Lgg0L/RgNC+0LPRgNCw0LzQsCAo0L3QsNC/0YDQuNC60LvQsNC0IDIwOTUg0YDRltC6KS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzI4Cittc2dpZCAiTm8gLS1kYXRlIG9wdGlvbiBzcGVjaWZpZWQuIgorbXNnc3RyICLQndC1INCy0LrQsNC30LDQvdC+INC/0LDRgNCw0LzQtdGC0YDQsCAtLWRhdGUuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjczNAorbXNnaWQgIi0tZGF0ZSBhcmd1bWVudCB0b28gbG9uZyIKK21zZ3N0ciAi0LDRgNCz0YPQvNC10L3RgiAtLWRhdGUg0ZQg0L3QsNC00YLQviDQtNC+0LLQs9C40LwiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzQxCittc2dpZCAiIgorIlRoZSB2YWx1ZSBvZiB0aGUgLS1kYXRlIG9wdGlvbiBpcyBub3QgYSB2YWxpZCBkYXRlLlxuIgorIkluIHBhcnRpY3VsYXIsIGl0IGNvbnRhaW5zIHF1b3RhdGlvbiBtYXJrcy4iCittc2dzdHIgIiIKKyLQl9C90LDRh9C10L3QvdGPINCw0YDQs9GD0LzQtdC90YLRgyAtLWRhdGUg0L3QtSDRlCDQutC+0YDQtdC60YLQvdC+0Y4g0LTQsNGC0L7Rji5cbiIKKyLQl9C+0LrRgNC10LzQsCwg0YMg0L3RjNC+0LzRgyDQvNGW0YHRgtGP0YLRjNGB0Y8g0LvQsNC/0LrQuC4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIklzc3VpbmcgZGF0ZSBjb21tYW5kOiAlc1xuIgorbXNnc3RyICLQktC40LrQvtC90YPRlNGC0YzRgdGPINC60L7QvNCw0L3QtNCwIGRhdGU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzUzCittc2dpZCAiVW5hYmxlIHRvIHJ1biAnZGF0ZScgcHJvZ3JhbSBpbiAvYmluL3NoIHNoZWxsLiBwb3BlbigpIGZhaWxlZCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstC40LrQvtC90LDRgtC4INC60L7QvNCw0L3QtNGDICdkYXRlJyDRgyDQvtCx0L7Qu9C+0L3RhtGWIC9iaW4vc2guINCf0L7QvNC40LvQutCwIHBvcGVuKCkiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzYxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlc3BvbnNlIGZyb20gZGF0ZSBjb21tYW5kID0gJXNcbiIKK21zZ3N0ciAi0LLQuNCy0ZbQtCDQutC+0LzQsNC90LTQuCBkYXRlID0gJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkYXRlIGNvbW1hbmQgaXNzdWVkIGJ5ICVzIHJldHVybmVkIHVuZXhwZWN0ZWQgcmVzdWx0cy5cbiIKKyJUaGUgY29tbWFuZCB3YXM6XG4iCisiICAlc1xuIgorIlRoZSByZXNwb25zZSB3YXM6XG4iCisiICAlcyIKK21zZ3N0ciAiIgorItCa0L7QvNCw0L3QtNCwIGRhdGUsINCy0LjQutC+0L3QsNC90LAgJXMsINC/0L7QstC10YDQvdGD0LvQsCDQvdC10L7Rh9GW0LrRg9Cy0LDQvdGWINC00LDQvdGWLlxuIgorItCa0L7QvNCw0L3QtNCwOlxuIgorIiAgJXNcbiIKKyLQoNC10LfRg9C70YzRgtCw0YI6XG4iCisiICAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkYXRlIGNvbW1hbmQgaXNzdWVkIGJ5ICVzIHJldHVybmVkIHNvbWV0aGluZyBvdGhlciB0aGFuIGFuIGludGVnZXIgd2hlcmUgdGhlIGNvbnZlcnRlZCB0aW1lIHZhbHVlIHdhcyBleHBlY3RlZC5cbiIKKyJUaGUgY29tbWFuZCB3YXM6XG4iCisiICAlc1xuIgorIlRoZSByZXNwb25zZSB3YXM6XG4iCisiICVzXG4iCittc2dzdHIgIiIKKyLQmtC+0LzQsNC90LTQsCBkYXRlINCy0LjQutC+0L3QsNC90LAgJXMg0L/QvtCy0LXRgNC90YPQu9CwINGA0LXQt9GD0LvRjNGC0LDRgiDQstGW0LTQvNGW0L3QvdC40Lkg0LLRltC0INGG0ZbQu9C+0LPQviDRh9C40YHQu9CwLCDRj9C60LUg0LzQsNC70L4g0LEg0LHRg9GC0Lgg0LrQvtC90LLQtdGA0YLQvtCy0LDQvdC40Lwg0LfQvdCw0YfQtdC90L3Rj9C8INGH0LDRgdGDLlxuIgorItCa0L7QvNCw0L3QtNCwOlxuIgorIiAgJXNcbiIKKyLQoNC10LfRg9C70YzRgtCw0YI6XG4iCisiICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzg2CisjLCBjLWZvcm1hdAorbXNnaWQgImRhdGUgc3RyaW5nICVzIGVxdWF0ZXMgdG8gJWxkIHNlY29uZHMgc2luY2UgMTk2OS5cbiIKK21zZ3N0ciAi0YDRj9C00L7QuiDQtNCw0YLQuCAlcyDQtNC+0YDRltCy0L3RjtGUICVsZCDRgdC10LrRg9C90LTQsNC8INC3IDE5NjkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODI0Cittc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3Qgc2V0IHRoZSBTeXN0ZW0gVGltZSBmcm9tIGl0LiIKK21zZ3N0ciAi0JDQv9Cw0YDQsNGC0L3QuNC5INCz0L7QtNC40L3QvdC40Log0LzRltGB0YLQuNGC0Ywg0L3QtdC/0YDQsNCy0LjQu9GM0L3QuNC5INGH0LDRgSwg0YLQvtC80YMg0L/RgNC+0LPRgNCw0LzQsCDQvdC1INC80L7QttC1INCy0YHRgtCw0L3QvtCy0LjRgtC4INC30LAg0L3QuNC8INGB0LjRgdGC0LXQvNC90LjQuSDRh9Cw0YEuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg0MyBzeXMtdXRpbHMvaHdjbG9jay5jOjkzMAorIywgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheTpcbiIKK21zZ3N0ciAi0JfQsNC/0YPRgdC60LDRlNGC0YzRgdGPIHNldHRpbWVvZmRheTpcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NDQgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHR0di50dl9zZWMgPSAlbGQsIHR2LnR2X3VzZWMgPSAlbGRcbiIKK21zZ3N0ciAiXHR0di50dl9zZWMgPSAlbGQsIHR2LnR2X3VzZWMgPSAlbGRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NDYgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCittc2dzdHIgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1MCBzeXMtdXRpbHMvaHdjbG9jay5jOjkzOAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBzeXN0ZW0gY2xvY2sgYmVjYXVzZSBydW5uaW5nIGluIHRlc3QgbW9kZS5cbiIKK21zZ3N0ciAi0KHQuNGB0YLQtdC80L3QuNC5INGH0LDRgSDQvdC1INCy0YHRgtCw0L3QvtCy0LvRjtGU0YLRjNGB0Y8sINGC0L7QvNGDINGJ0L4g0LfQsNC/0YPRidC10L3QuNC5INGDINGC0LXRgdGC0L7QstC+0LzRgyDRgNC10LbQuNC80ZYuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODY2IHN5cy11dGlscy9od2Nsb2NrLmM6OTYyCittc2dpZCAiTXVzdCBiZSBzdXBlcnVzZXIgdG8gc2V0IHN5c3RlbSBjbG9jay4iCittc2dzdHIgItCU0LvRjyDQstGB0YLQsNC90L7QstC70LXQvdC90Y8g0YHQuNGB0YLQtdC80L3QvtCz0L4g0YfQsNGB0YMg0YHQu9GW0LQg0LzQsNGC0Lgg0L/RgNCw0LLQsCDQsNC00LzRltC90ZbRgdGC0YDQsNGC0L7RgNCwLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4Njkgc3lzLXV0aWxzL2h3Y2xvY2suYzo5NjUKK21zZ2lkICJzZXR0aW1lb2ZkYXkoKSBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwINGDIHNldHRpbWVvZmRheSgpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkwNQorIywgYy1mb3JtYXQKK21zZ2lkICJDdXJyZW50IHN5c3RlbSB0aW1lOiAlbGQgPSAlc1xuIgorbXNnc3RyICLQn9C+0YLQvtGH0L3QuNC5INGH0LDRgSDRgyDRgdC40YHRgtC10LzRljogJWxkID0gJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHRVVEM6ICVzXG4iCittc2dzdHIgIlx0VVRDOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk5NgorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSAtLXVwZGF0ZS1kcmlmdCBvcHRpb24gd2FzIG5vdCB1c2VkLlxuIgorbXNnc3RyICLQndC1INC60L7RgNC40LPRg9GU0LzQviDQutC+0LXRhNGW0YbRltGU0L3RgiDQstGW0LTRhdC40LvQtdC90L3Rjywg0L7RgdC60ZbQu9GM0LrQuCDQvdC1INCx0YPQu9C+INCy0LjQutC+0YDQuNGB0YLQsNC90L4g0L/QsNGA0LDQvNC10YLRgCAtLXVwZGF0ZS1kcmlmdC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIEhhcmR3YXJlIENsb2NrIHByZXZpb3VzbHkgY29udGFpbmVkIGdhcmJhZ2UuXG4iCittc2dzdHIgItCa0L7QtdGE0ZbRhtGW0ZTQvdGCINCy0ZbQtNGF0LjQu9C10L3QvdGPINC90LUg0LrQvtGA0LjQs9GD0ZTRgtGM0YHRjywg0YLQvtC80YMg0YnQviDQv9C+0L/QtdGA0LXQtNC90ZQg0LfQvdCw0YfQtdC90L3RjyDQsNC/0LDRgNCw0YLQvdC+0LPQviDQs9C+0LTQuNC90L3QuNC60LAg0LHRg9C70L4g0L3QtdC/0YDQsNCy0LjQu9GM0L3QuNC8LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgbGFzdCBjYWxpYnJhdGlvbiB0aW1lIGlzIHplcm8sXG4iCisic28gaGlzdG9yeSBpcyBiYWQgYW5kIGNhbGlicmF0aW9uIHN0YXJ0b3ZlciBpcyBuZWNlc3NhcnkuXG4iCittc2dzdHIgIiIKKyLQmtC+0LXRhNGW0YbRltGU0L3RgiDQstGW0LTRhdC40LvQtdC90L3RjyDQvdC1INC60L7RgNC40LPRg9GU0YLRjNGB0Y8sINGC0L7QvNGDINGJ0L4g0YfQsNGBINC+0YHRgtCw0L3QvdGM0L7Qs9C+INC60LDQu9GW0LHRgNGD0LLQsNC90L3RjyDQtNC+0YDRltCy0L3RjtGUINC90YPQu9GOLFxuIgorItGC0L7QvNGDINC/0L7Qv9C10YDQtdC00L3RlCDQt9C90LDRh9C10L3QvdGPINC90LXQv9GA0LDQstC40LvRjNC90LUg0YLQsCDQvdC10L7QsdGF0ZbQtNC90LUg0YDQtdC60LDQu9GW0LHRgNGD0LLQsNC90L3Rjy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDExCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgaXQgaGFzIGJlZW4gbGVzcyB0aGFuIGZvdXIgaG91cnMgc2luY2UgdGhlIGxhc3QgY2FsaWJyYXRpb24uXG4iCittc2dzdHIgItCa0L7QtdGE0ZbRhtGW0ZTQvdGCINCy0ZbQtNGF0LjQu9C10L3QvdGPINC90LUg0LrQvtGA0LjQs9GD0ZTRgtGM0YHRjywg0YLQvtC80YMg0YnQviDQvNC40L3Rg9C70L4g0LzQtdC90YjQtSDRh9C+0YLQuNGA0YzQvtGFINCz0L7QtNC40L0g0Lcg0LzQvtC80LXQvdGC0YMg0L7RgdGC0LDQvdC90YzQvtCz0L4g0LrQsNC70ZbQsdGA0YPQstCw0L3QvdGPLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0IGZhY3RvciB3YXMgY2FsY3VsYXRlZCBhcyAlZiBzZWNvbmRzL2RheS5cbiIKKyJJdCBpcyBmYXIgdG9vIG11Y2guIFJlc2V0dGluZyB0byB6ZXJvLlxuIgorbXNnc3RyICIiCisi0J7QsdGH0LjRgdC70LXQvdCwINC80ZbRgNCwINC/0L7RhdC40LHQutC4INCz0L7QtNC40L3QvdC40LrQsDogJWYg0YHQtdC60YPQvdC0INC30LAg0LTQtdC90YwuXG4iCisi0KbQtSDQvdCw0LTRgtC+INCx0LDQs9Cw0YLQvi4g0J/QvtCy0LXRgNGC0LDRlNC80L7RgdGPINC00L4g0L3Rg9C70YzQvtCy0L7Qs9C+INC30L3QsNGH0LXQvdC90Y8uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnRlZCAlZiBzZWNvbmRzIGluIHRoZSBwYXN0ICVmIHNlY29uZHNcbiIKKyJpbiBzcGl0ZSBvZiBhIGRyaWZ0IGZhY3RvciBvZiAlZiBzZWNvbmRzL2RheS5cbiIKKyJBZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJ5ICVmIHNlY29uZHMvZGF5XG4iCittc2dzdHIgIiIKKyLQktGW0LTRhdC40LvQtdC90L3RjyDQs9C+0LTQuNC90L3QuNC60LAgJS5mINGB0LXQutGD0L3QtCDQt9CwINC+0YHRgtCw0L3QvdGWICUuZiDRgdC10LrRg9C90LQsXG4iCisi0L3QtdC30LLQsNC20LDRjtGH0Lgg0L3QsCDQutC+0LXRhNGW0YbRltGU0L3RgiDQstC40L/RgNCw0LLQu9C10L3QvdGPINCy0ZbQtNGF0LjQu9C10L3QvdGPICVmINGB0LXQutGD0L3QtC/QtNC+0LHRgy5cbiIKKyLQmtC+0LXRhNGW0YbRltGU0L3RgiDQstGW0LTRhdC40LvQtdC90L3RjyDQutC+0YDQuNCz0YPRlNGC0YzRgdGPINC90LAgJWYg0YHQtdC60YPQvdC0L9C00L7QsdGDXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5OQorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlZCBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWQgc2Vjb25kc1xuIgorbXNnc3RyWzBdICLQlyDQvNC+0LzQtdC90YLRgyDQvtGB0YLQsNC90L3RjNC+0LPQviDQutC+0YDQuNCz0YPQstCw0L3QvdGPINC80LjQvdGD0LvQsCAlZCDRgdC10LrRg9C90LTQsFxuIgorbXNnc3RyWzFdICLQlyDQvNC+0LzQtdC90YLRgyDQvtGB0YLQsNC90L3RjNC+0LPQviDQutC+0YDQuNCz0YPQstCw0L3QvdGPINC80LjQvdGD0LvQviAlZCDRgdC10LrRg9C90LTQuFxuIgorbXNnc3RyWzJdICLQlyDQvNC+0LzQtdC90YLRgyDQvtGB0YLQsNC90L3RjNC+0LPQviDQutC+0YDQuNCz0YPQstCw0L3QvdGPINC80LjQvdGD0LvQviAlZCDRgdC10LrRg9C90LRcbiIKK21zZ3N0clszXSAi0Jcg0LzQvtC80LXQvdGC0YMg0L7RgdGC0LDQvdC90YzQvtCz0L4g0LrQvtGA0LjQs9GD0LLQsNC90L3RjyDQvNC40L3Rg9C70LAgJWQg0YHQtdC60YPQvdC00LBcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGN1bGF0ZWQgSGFyZHdhcmUgQ2xvY2sgZHJpZnQgaXMgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAi0J7QsdGH0LjRgdC70LXQvdC1INCy0ZbQtNGF0LjQu9C10L3QvdGPINCw0L/QsNGA0LDRgtC90L7Qs9C+INCz0L7QtNC40L3QvdC40LrQsCDQtNC+0YDRltCy0L3RjtGUICVsZC4lMDZsZCDRgdC10LrRg9C90LRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTMzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCB1cGRhdGluZyBhZGp0aW1lIGZpbGUgYmVjYXVzZSBvZiB0ZXN0aW5nIG1vZGUuXG4iCittc2dzdHIgItCjINGC0LXRgdGC0L7QstC+0LzRgyDRgNC10LbQuNC80ZYg0YTQsNC50LsgYWRqdGltZSDQvdC1INC+0L3QvtCy0LvRjtGU0YLRjNGB0Y8uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEzNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV291bGQgaGF2ZSB3cml0dGVuIHRoZSBmb2xsb3dpbmcgdG8gJXM6XG4iCisiJXMiCittc2dzdHIgIiIKKyLQoyDRhNCw0LnQuyAlcyDQsdGD0LvQviDQsSDQt9Cw0L/QuNGB0LDQvdC+OlxuIgorIiVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgaW4gaXQgKCVzKSBmb3Igd3JpdGluZyIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQstGW0LTQutGA0LjRgtC4INGE0LDQudC7INC3INC/0LDRgNCw0LzQtdGC0YDQsNC80Lgg0LrQvtGA0LjQs9GD0LLQsNC90L3RjyDQs9C+0LTQuNC90L3QuNC60LAgKCVzKSDQtNC70Y8g0LfQsNC/0LjRgdGDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNDkgc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCB1cGRhdGUgZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgKCVzKSBpbiBpdCIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQvtC90L7QstC40YLQuCDRhNCw0LnQuyDQtyDQv9Cw0YDQsNC80LXRgtGA0LDQvNC4INC60L7RgNC40LPRg9Cy0LDQvdC90Y8g0LPQvtC00LjQvdC90LjQutCwICglcykiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE2NAorbXNnaWQgIkRyaWZ0IGFkanVzdG1lbnQgcGFyYW1ldGVycyBub3QgdXBkYXRlZC4iCittc2dzdHIgItCf0LDRgNCw0LzQtdGC0YDQuCDQutC+0YDQtdC60YbRltGXINCy0ZbQtNGF0LjQu9C10L3QvdGPINC90LUg0L7QvdC+0LLQu9C10L3Qvi4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIwMAorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IGFkanVzdCBpdC4iCittc2dzdHIgItCjINCw0L/QsNGA0LDRgtC90L7QvNGDINCz0L7QtNC40L3QvdC40LrRgyDQstGB0YLQsNC90L7QstC70LXQvdC+INC90LXQutC+0YDQtdC60YLQvdC40Lkg0YfQsNGBLCDRgtC+0LzRgyDQudC+0LPQviDQvdC1INCy0LTQsNC70L7RgdGPINCy0LjQv9GA0LDQstC40YLQuC4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIwOAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGxhc3QgYWRqdXN0bWVudCB0aW1lIGlzIHplcm8sIHNvIGhpc3RvcnkgaXMgYmFkLlxuIgorbXNnc3RyICLQl9C90LDRh9C10L3QvdGPINCz0L7QtNC40L3QvdC40LrQsCDQvdC1INCy0YHRgtCw0L3QvtCy0LvQtdC90L4sINC+0YHQutGW0LvRjNC60Lgg0L7RgdGC0LDQvdC90ZQg0LrQvtGA0LjQs9GD0LLQsNC90L3RjyDQsdGD0LvQviDQvdGD0LvRjNC+0LLQuNC8LCDQvtGC0LbQtSDQttGD0YDQvdCw0Lsg0LfQvNGW0L0g0L/QvtGI0LrQvtC00LbQtdC90L4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGRyaWZ0IGZhY3RvciAlZiBpcyBmYXIgdG9vIGhpZ2guXG4iCittc2dzdHIgItCd0LUg0LLRgdGC0LDQvdC+0LLQu9GO0ZTQvNC+INGH0LDRgSDQs9C+0LTQuNC90L3QuNC60LAsINC+0YHQutGW0LvRjNC60Lgg0LrQvtC10YTRltGG0ZbRlNC90YIg0LLRltC00YXQuNC70LXQvdC90Y8gJWYg0ZQg0L3QsNC00YLQviDQstC10LvQuNC60LjQvC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHVzYWJsZSBjbG9jayBpbnRlcmZhY2UgZm91bmQuXG4iCittc2dzdHIgItCd0LUg0LfQvdCw0LnQtNC10L3QviDQv9GW0LTRgtGA0LjQvNGD0LLQsNC90L7Qs9C+INGW0L3RgtC10YDRhNC10LnRgdGDINCz0L7QtNC40L3QvdC40LrQsC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5lZWRlZCBhZGp1c3RtZW50IGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kLCBzbyBub3Qgc2V0dGluZyBjbG9jay5cbiIKK21zZ3N0ciAi0J3QtdC+0LHRhdGW0LTQvdCwINC60L7RgNC10LrRhtGW0Y8g0LzQtdC90YjQtSDQvdGW0LYg0L3QsCDQvtC00L3RgyDRgdC10LrRg9C90LTRgywg0YLQvtC80YMg0LPQvtC00LjQvdC90LjQuiDQvdC1INC+0L3QvtCy0LvRjtGU0YLRjNGB0Y8uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM4OCBzeXMtdXRpbHMvaHdjbG9jay5jOjEzOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIHNldCBzeXN0ZW0gY2xvY2suXG4iCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0YHQuNGB0YLQtdC80L3QuNC5INGH0LDRgS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjksIFJUQyBpcyBwcmVkaWN0ZWQgdG8gcmVhZCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LlxuIgorbXNnc3RyICLQoyDRh9Cw0YEgJWxkINGB0LXQutGD0L3QtCDQv9GW0YHQu9GPIDE5Njkg0YDQvtC60YMsIFJUQyDQvNCw0LvQviDQsdGD0YLQuCDQv9GA0L7Rh9C40YLQsNC90L4gJWxkINGB0LXQutGD0L3QtCDQv9GW0YHQu9GPIDE5Njkg0YDQvtC60YMuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQzMQorbXNnaWQgIiIKKyJUaGUga2VybmVsIGtlZXBzIGFuIGVwb2NoIHZhbHVlIGZvciB0aGUgSGFyZHdhcmUgQ2xvY2sgb25seSBvbiBhbiBBbHBoYSBtYWNoaW5lLlxuIgorIlRoaXMgY29weSBvZiBod2Nsb2NrIHdhcyBidWlsdCBmb3IgYSBtYWNoaW5lIG90aGVyIHRoYW4gQWxwaGFcbiIKKyIoYW5kIHRodXMgaXMgcHJlc3VtYWJseSBub3QgcnVubmluZyBvbiBhbiBBbHBoYSBub3cpLiAgTm8gYWN0aW9uIHRha2VuLiIKK21zZ3N0ciAiIgorItCv0LTRgNC+INC30LHQtdGA0ZbQs9Cw0ZQg0LfQvdCw0YfQtdC90L3RjyDQtdC/0L7RhdC4INGDINCw0L/QsNGA0LDRgtC90L7QvNGDINCz0L7QtNC40L3QvdC40LrRgyDQu9C40YjQtSDQvdCwINGB0LjRgdGC0LXQvNCw0YUg0LDRgNGF0ZbRgtC10LrRgtGD0YDQuCBBbHBoYS5cbiIKKyLQptGOINC60L7Qv9GW0Y4gaHdjbG9jayDQt9GW0LHRgNCw0L3QviDQtNC70Y8g0LDRgNGF0ZbRgtC10LrRgtGD0YDQuCDQstGW0LTQvNGW0L3QvdC+0Zcg0LLRltC0IEFscGhhXG4iCisiKNGC0L7Qtiwg0L3QsNC/0LXQstC90L4sINGG0Y8g0YHQuNGB0YLQtdC80LAg0L3QtSDRlCDRgdC40YHRgtC10LzQvtGOIEFscGhhKS4g0J3RltGP0LrQuNGFINC00ZbQuSDQvdC1INCy0LjQutC+0L3QsNC90L4uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NDgKK21zZ2lkICJVbmFibGUgdG8gZ2V0IHRoZSBlcG9jaCB2YWx1ZSBmcm9tIHRoZSBrZXJuZWwuIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0LfQvdCw0YfQtdC90L3RjyDQtdC/0L7RhdC4INCy0ZbQtCDRj9C00YDQsC4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgaXMgYXNzdW1pbmcgYW4gZXBvY2ggdmFsdWUgb2YgJWx1XG4iCittc2dzdHIgItCv0LTRgNC+INCy0LLQsNC20LDRlCwg0YnQviDQt9C90LDRh9C10L3QvdGPINC10L/QvtGF0LggLSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDU1Cittc2dpZCAiVG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSwgeW91IG11c3QgdXNlIHRoZSAnZXBvY2gnIG9wdGlvbiB0byB0ZWxsIHRvIHdoYXQgdmFsdWUgdG8gc2V0IGl0LiIKK21zZ3N0ciAi0KnQvtCxINCy0YHRgtCw0L3QvtCy0LjRgtC4INC30L3QsNGH0LXQvdC90Y8g0LXQv9C+0YXQuCwg0YHQu9GW0LQg0YHQutC+0YDQuNGB0YLQsNGC0LjRgdGPINC/0LDRgNCw0LzQtdGC0YDQvtC8ICdlcG9jaCcg0ZbQtyDQt9Cw0LfQvdCw0YfQtdC90L3Rj9C8INCy0YHRgtCw0L3QvtCy0LvRjtCy0LDQvdC+0LPQviDQt9C90LDRh9C10L3QvdGPLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDU5CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIHRoZSBlcG9jaCB0byAlbHUgLSB0ZXN0aW5nIG9ubHkuXG4iCittc2dzdHIgItCV0L/QvtGF0LAg0L3QtSDQstGB0YLQsNC90L7QstC70Y7RlNGC0YzRgdGPINGDICVsdSAtINC70LjRiNC1INGC0LXRgdGC0YPQstCw0L3QvdGPLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIHNldCB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbC5cbiIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDQt9C90LDRh9C10L3QvdGPINC10L/QvtGF0Lgg0YMg0Y/QtNGA0ZYuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU1NgorbXNnaWQgIiBod2Nsb2NrIFtmdW5jdGlvbl0gW29wdGlvbi4uLl1cbiIKK21zZ3N0ciAiIGh3Y2xvY2sgW9GE0YPQvdC60YbRltGPXSBb0L/QsNGA0LDQvNC10YLRgOKApl1cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTU5Cittc2dpZCAiUXVlcnkgb3Igc2V0IHRoZSBoYXJkd2FyZSBjbG9jay5cbiIKK21zZ3N0ciAi0JLQuNC60L7QvdCw0YLQuCDQvtC/0LjRgtGD0LLQsNC90L3RjyDQsNCx0L4g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0YfQsNGBINC90LAg0LDQv9Cw0YDQsNGC0L3QvtC80YMg0LPQvtC00LjQvdC90LjQutGDLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjEKK21zZ2lkICIiCisiXG4iCisiRnVuY3Rpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisi0KTRg9C90LrRhtGW0Zc6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2MgorbXNnaWQgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorIiAtciwgLS1zaG93ICAgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCByZXN1bHRcbiIKKyIgICAgIC0tZ2V0ICAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgZHJpZnQgY29ycmVjdGVkIHJlc3VsdFxuIgorIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorbXNnc3RyICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgINC/0L7QutCw0LfQsNGC0Lgg0YbQtSDQtNC+0LLRltC00LrQvtCy0LUg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPINGWINC30LDQstC10YDRiNC40YLQuCDRgNC+0LHQvtGC0YNcbiIKKyIgLXIsIC0tc2hvdyAgICAgICAgICAg0L/RgNC+0YfQuNGC0LDRgtC4INC00LDQvdGWINCw0L/QsNGA0LDRgtC90L7Qs9C+INCz0L7QtNC40L3QvdC40LrQsCDRliDQstC40LLQtdGB0YLQuCDRgNC10LfRg9C70YzRgtCw0YJcbiIKKyIgICAgIC0tZ2V0ICAgICAgICAgICAg0L/RgNC+0YfQuNGC0LDRgtC4INC00LDQvdGWINCw0L/QsNGA0LDRgtC90L7Qs9C+INCz0L7QtNC40L3QvdC40LrQsCDRliDQstC40LLQtdGB0YLQuCDQstC40L/RgNCw0LLQu9C10L3QuNC5INC30LAg0LfRgdGD0LLQvtC8INGA0LXQt9GD0LvRjNGC0LDRglxuIgorIiAgICAgLS1zZXQgICAgICAgICAgICDQstGB0YLQsNC90L7QstC40YLQuCBSVEMg0YMg0YfQsNGBLCDRj9C60LjQuSDQt9Cw0LTQsNC90L4g0LfQsCDQtNC+0L/QvtC80L7Qs9C+0Y4gLS1kYXRlXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2NgorbXNnaWQgIiIKKyIgLXMsIC0taGN0b3N5cyAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorIiAtdywgLS1zeXN0b2hjICAgICAgICBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIGZyb20gdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWVcbiIKKyIgICAgIC0tc3lzdHogICAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBiYXNlZCBvbiB0aGUgY3VycmVudCB0aW1lem9uZVxuIgorIiAgICAgLS1hZGp1c3QgICAgICAgICBhZGp1c3QgdGhlIFJUQyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IHNpbmNlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNsb2NrIHdhcyBsYXN0IHNldCBvciBhZGp1c3RlZFxuIgorbXNnc3RyICIiCisiIC1zLCAtLWhjdG9zeXMgICAgICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INC00LvRjyDRgdC40YHRgtC10LzQuCDRh9Cw0YEg0LDQv9Cw0YDQsNGC0L3QvtCz0L4g0LPQvtC00LjQvdC90LjQutCwXG4iCisiIC13LCAtLXN5c3RvaGMgICAgICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INC00LvRjyDQsNC/0LDRgNCw0YLQvdC+0LPQviDQs9C+0LTQuNC90L3QuNC60LAg0YfQsNGBINGB0LjRgdGC0LXQvNC4XG4iCisiICAgICAtLXN5c3R6ICAgICAgICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INGH0LDRgSDRgdC40YHRgtC10LzQuCDQvdCwINC+0YHQvdC+0LLRliDQv9C+0YLQvtGH0L3QvtCz0L4g0YfQsNGB0L7QstC+0LPQviDQv9C+0Y/RgdGDXG4iCisiICAgICAtLWFkanVzdCAgICAgICAgINGB0LrQvtGA0LjQs9GD0LLQsNGC0LggUlRDINC3INC80LXRgtC+0Y4g0LLRgNCw0YXRg9Cy0LDQvdC90Y8g0YHQuNGB0YLQtdC80LDRgtC40YfQvdC+0Zcg0L/QvtGF0LjQsdC60LhcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICDQtyDRh9Cw0YHRgyDQvtGB0YLQsNC90L3RjNC+0LPQviDQstGB0YLQsNC90L7QstC70LXQvdC90Y8g0LDQsdC+INC60L7RgNC40LPRg9Cy0LDQvdC90Y9cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTcxCittc2dpZCAiIC1jLCAtLWNvbXBhcmUgICAgICAgIHBlcmlvZGljYWxseSBjb21wYXJlIHRoZSBzeXN0ZW0gY2xvY2sgd2l0aCB0aGUgQ01PUyBjbG9ja1xuIgorbXNnc3RyICIgLWMsIC0tY29tcGFyZSAgICAgICAg0L/QtdGA0ZbQvtC00LjRh9C90L4g0L/QvtGA0ZbQstC90Y7QstCw0YLQuCDQt9C90LDRh9C10L3QvdGPINGB0LjRgdGC0LXQvNC90L7Qs9C+INCz0L7QtNC40L3QvdC40LrQsCDQtyDQs9C+0LTQuNC90L3QuNC60L7QvCBDTU9TXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU3MworbXNnaWQgIiIKKyIgICAgIC0tZ2V0ZXBvY2ggICAgICAgcHJpbnQgb3V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZVxuIgorIiAgICAgLS1zZXRlcG9jaCAgICAgICBzZXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlIHRvIHRoZSBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBnaXZlbiB3aXRoIC0tZXBvY2hcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1nZXRlcG9jaCAgICAgICDQstC40LLQtdGB0YLQuCDQt9C90LDRh9C10L3QvdGPINC10L/QvtGF0Lgg0LTQu9GPINCw0L/QsNGA0LDRgtC90L7Qs9C+INCz0L7QtNC40L3QvdC40LrQsCDRj9C00YDQsFxuIgorIiAgICAgLS1zZXRlcG9jaCAgICAgICDQstGB0YLQsNC90L7QstC40YLQuCDQt9C90LDRh9C10L3QvdGPINC10L/QvtGF0Lgg0LTQu9GPINCw0L/QsNGA0LDRgtC90L7Qs9C+INCz0L7QtNC40L3QvdC40LrQsCBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICDRj9C00YDQsCDRgyDQt9C90LDRh9C10L3QvdGPLCDQt9Cw0LTQsNC90LUg0LfQsCDQtNC+0L/QvtC80L7Qs9C+0Y4gLS1lcG9jaFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NzcKK21zZ2lkICIiCisiICAgICAtLXByZWRpY3QgICAgICAgIHByZWRpY3QgUlRDIHJlYWRpbmcgYXQgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1wcmVkaWN0ICAgICAgICDQv9C10YDQtdC00LHQsNGH0LjRgtC4INC30L3QsNGH0LXQvdC90Y8gUlRDINGDINGH0LDRgSwg0LfQsNC00LDQvdC40Lkg0LfQsCDQtNC+0L/QvtC80L7Qs9C+0Y4gLS1kYXRlXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgINCy0LjQstC10YHRgtC4INC00LDQvdGWINGJ0L7QtNC+INCy0LXRgNGB0ZbRlyDRliDQstC40LnRgtC4XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4MQorbXNnaWQgIiIKKyIgLXUsIC0tdXRjICAgICAgICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gVVRDXG4iCisiICAgICAtLWxvY2FsdGltZSAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIGxvY2FsIHRpbWVcbiIKK21zZ3N0ciAiIgorIiAtdSwgLS11dGMgICAgICAgICAgICDQsNC/0LDRgNCw0YLQvdC40Lkg0LPQvtC00LjQvdC90LjQuiDRg9C30LPQvtC00LbQtdC90L4g0LfQsCBVVENcbiIKKyIgICAgIC0tbG9jYWx0aW1lICAgICAg0LDQv9Cw0YDQsNGC0L3QuNC5INCz0L7QtNC40L3QvdC40Log0YPQt9Cz0L7QtNC20LXQvdC+INC30LAg0LzRltGB0YbQtdCy0LjQvCDRh9Cw0YHQvtC8XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4NAorbXNnaWQgIiAtZiwgLS1ydGMgPGZpbGU+ICAgICBzcGVjaWFsIC9kZXYvLi4uIGZpbGUgdG8gdXNlIGluc3RlYWQgb2YgZGVmYXVsdFxuIgorbXNnc3RyICIgLWYsIC0tcnRjIDzRhNCw0LnQuz4gICAgINC+0YHQvtCx0LvQuNCy0LjQuSDRhNCw0LnQuyAvZGV2Ly4uLiwg0Y/QutC40Lwg0YHQu9GW0LQg0YHQutC+0YDQuNGB0YLQsNGC0LjRgdGPINC30LDQvNGW0YHRgtGMINGC0LjQv9C+0LLQvtCz0L5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tZGlyZWN0aXNhICAgICAgYWNjZXNzIHRoZSBJU0EgYnVzIGRpcmVjdGx5IGluc3RlYWQgb2YgJXNcbiIKKyIgICAgIC0tYmFkeWVhciAgICAgICAgaWdub3JlIFJUQydzIHllYXIgYmVjYXVzZSB0aGUgQklPUyBpcyBicm9rZW5cbiIKKyIgICAgIC0tZGF0ZSA8dGltZT4gICAgc3BlY2lmaWVzIHRoZSB0aW1lIHRvIHdoaWNoIHRvIHNldCB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyIgICAgIC0tZXBvY2ggPHllYXI+ICAgc3BlY2lmaWVzIHRoZSB5ZWFyIHdoaWNoIGlzIHRoZSBiZWdpbm5pbmcgb2YgdGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgaGFyZHdhcmUgY2xvY2sncyBlcG9jaCB2YWx1ZVxuIgorbXNnc3RyICIiCisiICAgICAtLWRpcmVjdGlzYSAgICAgINC+0YLRgNC40LzRg9Cy0LDRgtC4INC00L7RgdGC0YPQvyDQtNC+INC60LDQvdCw0LvRgyBJU0Eg0LHQtdC30L/QvtGB0LXRgNC10LTQvdGM0L4sINC30LDQvNGW0YHRgtGMICVzXG4iCisiICAgICAtLWJhZHllYXIgICAgICAgINGW0LPQvdC+0YDRg9Cy0LDRgtC4INGA0ZbQuiBSVEMsINC+0YHQutGW0LvRjNC60Lgg0LTQsNC90ZYgQklPUyDQv9C+0YjQutC+0LTQttC10L3QvlxuIgorIiAgICAgLS1kYXRlIDzRh9Cw0YE+ICAgICDQstC40LfQvdCw0YfQsNGUINGH0LDRgSwg0YMg0Y/QutC40Lkg0YHQu9GW0LQg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LDQv9Cw0YDQsNGC0L3QuNC5INCz0L7QtNC40L3QvdC40LpcbiIKKyIgICAgIC0tZXBvY2ggPNGA0ZbQuj4gICAg0LLQuNC30L3QsNGH0LDRlCDRgNGW0LosINGP0LrQuNC5INGUINC/0L7Rh9Cw0YLQutC+0Lwg0LLRltC00LvRltC60YMg0LfQvdCw0YfQtdC90L3RjyDQtdC/0L7RhdC4XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAg0LDQv9Cw0YDQsNGC0L3QvtCz0L4g0LPQvtC00LjQvdC90LjQutCwXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLXVwZGF0ZS1kcmlmdCAgIHVwZGF0ZSBkcmlmdCBmYWN0b3IgaW4gJTEkcyAocmVxdWlyZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAtLXNldCBvciAtLXN5c3RvaGMpXG4iCisiICAgICAtLW5vYWRqZmlsZSAgICAgIGRvIG5vdCBhY2Nlc3MgJTEkczsgdGhpcyByZXF1aXJlcyB0aGUgdXNlIG9mXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lXG4iCisiICAgICAtLWFkamZpbGUgPGZpbGU+IHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGU7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRlZmF1bHQgaXMgJTEkc1xuIgorbXNnc3RyICIiCisiICAgICAtLXVwZGF0ZS1kcmlmdCAgINC+0L3QvtCy0LjRgtC4INC60L7QtdGE0ZbRhtGW0ZTQvdGCINC30YHRg9Cy0YMg0YMgJTEkcyAo0L/QvtGC0YDQtdCx0YPRlFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIC0tc2V0INCw0LHQviAtLXN5c3RvaGMpXG4iCisiICAgICAtLW5vYWRqZmlsZSAgICAgINC90LUg0L7RgtGA0LjQvNGD0LLQsNGC0Lgg0LTQvtGB0YLRg9C/INC00L4gJTEkczsg0L/QvtGC0YDQtdCx0YPRlCDQstC40LrQvtGA0LjRgdGC0LDQvdC90Y9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAtLXV0YyDQsNCx0L4gLS1sb2NhbHRpbWVcbiIKKyIgICAgIC0tYWRqZmlsZSA80YTQsNC50Ls+INCy0LjQt9C90LDRh9Cw0ZQg0YjQu9GP0YUg0LTQviDRhNCw0LnQu9CwINC60L7RgNC40LPRg9Cy0LDQvdC90Y87XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAg0YLQuNC/0L7QstC40Lwg0ZQgJTEkc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1OTkKK21zZ2lkICIiCisiICAgICAtLXRlc3QgICAgICAgICAgIGRvIG5vdCB1cGRhdGUgYW55dGhpbmcsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGhhcHBlblxuIgorIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBkZWJ1Z2dpbmcgbW9kZVxuIgorIlxuIgorbXNnc3RyICIiCisiICAgICAtLXRlc3QgICAgICAgICAgINC90ZbRh9C+0LPQviDQvdC1INC+0L3QvtCy0LvRjtCy0LDRgtC4LCDQv9GA0L7RgdGC0L4g0L/QvtC60LDQt9Cw0YLQuCwg0Y/QutGWINC00ZbRlyDQsdGD0LTQtSDQstC40LrQvtC90LDQvdC+XG4iCisiIC1ELCAtLWRlYnVnICAgICAgICAgINC00ZbQsNCz0L3QvtGB0YLQuNGH0L3QuNC5INGA0LXQttC40LxcbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNjAyCittc2dpZCAiIgorIiAtSnwtLWplbnNlbiwgLUF8LS1hcmMsIC1TfC0tc3JtLCAtRnwtLWZ1bmt5LXRveVxuIgorIiAgICAgIHRlbGwgaHdjbG9jayB0aGUgdHlwZSBvZiBBbHBoYSB5b3UgaGF2ZSAoc2VlIGh3Y2xvY2soOCkpXG4iCisiXG4iCittc2dzdHIgIiIKKyIgLUp8LS1qZW5zZW4sIC1BfC0tYXJjLCAtU3wtLXNybSwgLUZ8LS1mdW5reS10b3lcbiIKKyIgICAgICDQv9C+0LLRltC00L7QvNC40YLQuCBod2Nsb2NrINGC0LjQvyDRgdC40YHRgtC10LzQuCBBbHBoYSwg0Lcg0Y/QutC40Lwg0LzQsNGU0YLQtSDRgdC/0YDQsNCy0YMgKNC00LjQsi4gaHdjbG9jayg4KSlcbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNzI4Cittc2dpZCAiVW5hYmxlIHRvIGNvbm5lY3QgdG8gYXVkaXQgc3lzdGVtIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINC30LIn0Y/Qt9Cw0YLQuNGB0Y8g0ZbQtyDRgdC40YHRgtC10LzQvtGOINGB0L/QvtGB0YLQtdGA0LXQttC10L3QvdGPIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4MjYKK21zZ2lkICJpbnZhbGlkIGVwb2NoIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0LXQv9C+0YXQuCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHRha2VzIG5vIG5vbi1vcHRpb24gYXJndW1lbnRzLiAgWW91IHN1cHBsaWVkICVkLlxuIgorbXNnc3RyICIlcyDQvdC1INC+0YfRltC60YPRlCDQv9Cw0YDQsNC80LXRgtGA0ZbQsiDQsdC10Lcg0LrQu9GO0YfRltCyLiDQktC4INCy0LrQsNC30LDQu9C4ICVkLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4ODAKK21zZ2lkICJXaXRoIC0tbm9hZGpmaWxlLCB5b3UgbXVzdCBzcGVjaWZ5IGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZSIKK21zZ3N0ciAi0KDQsNC30L7QvCDQtyAtLW5vYWRqZmlsZSDRgdC70ZbQtCDQstC60LDQt9GD0LLQsNGC0Lgg0LDQsdC+IC0tdXRjLCDQsNCx0L4gLS1sb2NhbHRpbWUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTg5MworbXNnaWQgIk5vIHVzYWJsZSBzZXQtdG8gdGltZS4gIENhbm5vdCBzZXQgY2xvY2suIgorbXNnc3RyICLQndC10LzQsNGUINC/0YDQuNC00LDRgtC90L7Qs9C+INC00LvRjyDQstGB0YLQsNC90L7QstC70LXQvdC90Y8g0LfQvdCw0YfQtdC90L3RjyDRh9Cw0YHRgy4g0KfQsNGBINCz0L7QtNC40L3QvdC40LrQsCDQvdC1INC30LzRltC90LXQvdC+LiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxOTE3Cittc2dpZCAiQ2Fubm90IGFjY2VzcyB0aGUgSGFyZHdhcmUgQ2xvY2sgdmlhIGFueSBrbm93biBtZXRob2QuIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0LTQvtGB0YLRg9C/INC00L4g0LDQv9Cw0YDQsNGC0L3QvtCz0L4g0LPQvtC00LjQvdC90LjQutCwINC30LAg0LTQvtC/0L7QvNC+0LPQvtGOINCx0YPQtNGMLdGP0LrQvtCz0L4g0Lcg0LLRltC00L7QvNC40YUg0LzQtdGC0L7QtNGW0LIuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE5MjAKK21zZ2lkICJVc2UgdGhlIC0tZGVidWcgb3B0aW9uIHRvIHNlZSB0aGUgZGV0YWlscyBvZiBvdXIgc2VhcmNoIGZvciBhbiBhY2Nlc3MgbWV0aG9kLiIKK21zZ3N0ciAi0KHQutC+0YDQuNGB0YLQsNC50YLQtdGB0Y8g0L/QsNGA0LDQvNC10YLRgNC+0LwgLS1kZWJ1ZyDQtNC70Y8g0L7RgtGA0LjQvNCw0L3QvdGPINC00L7QtNCw0YLQutC+0LLQuNGFINCy0ZbQtNC+0LzQvtGB0YLQtdC5INGJ0L7QtNC+INC/0L7RiNGD0LrRgyDRgdC/0L7RgdC+0LHRgyDQtNC+0YHRgtGD0L/Rgy4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYm9vdGVkIGZyb20gTUlMT1xuIgorbXNnc3RyICLRgdC40YHRgtC10LzQsCDQt9Cw0LLQsNC90YLQsNC20LXQvdCwINC3IE1JTE9cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJSdWZmaWFuIEJDRCBjbG9ja1xuIgorbXNnc3RyICJSdWZmaWFuIEJDRCDQs9C+0LTQuNC90L3QuNC6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvY2twb3J0IGFkanVzdGVkIHRvIDB4JXhcbiIKK21zZ3N0ciAi0L/QvtGA0YIg0LPQvtC00LjQvdC90LjQutCwINC90LDRgdGC0YDQvtGU0L3QviDQvdCwIDB4JXhcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJmdW5reSBUT1khXG4iCittc2dzdHIgItCx0L7Rj9C30LvQuNCy0LjQuSBUT1khXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXRvbWljICVzIGZhaWxlZCBmb3IgMTAwMCBpdGVyYXRpb25zISIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0LDRgtC+0LzQsNGA0L3QvtGXINC00ZbRlyAlcyDQv9GA0L7RgtGP0LPQvtC8IDEwMDAg0ZbRgtC10YDQsNGG0ZbQuSEiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc19yZWFkKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgImNtb3NfcmVhZCgpOiDRgdC/0YDQvtCx0LAg0LfQsNC/0LjRgdGDINC30LAg0LrQvtC90YLRgNC+0LvRjNC90L7RjiDQsNC00YDQtdGB0L7RjiAlWCDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjMyOAorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3JlYWQoKTogcmVhZCBmcm9tIGRhdGEgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgImNtb3NfcmVhZCgpOiDRgdC/0YDQvtCx0LAg0YfQuNGC0LDQvdC90Y8g0LfQsCDQsNC00YDQtdGB0L7RjiAlWCDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJjbW9zX3dyaXRlKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgImNtb3Nfd3JpdGUoKTog0YHQv9GA0L7QsdCwINC30LDQv9C40YHRgyDQt9CwINC60L7QvdGC0YDQvtC70YzQvdC+0Y4g0LDQtNGA0LXRgdC+0Y4gJVgg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICJjbW9zX3dyaXRlKCk6INGB0L/RgNC+0LHQsCDQt9Cw0L/QuNGB0YMg0LTQsNC90LjRhSDQt9CwINCw0LTRgNC10YHQvtGOICVYINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjQ1Cittc2dpZCAiSSBmYWlsZWQgdG8gZ2V0IHBlcm1pc3Npb24gYmVjYXVzZSBJIGRpZG4ndCB0cnkuIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0LTQvtC30LLRltC7LCDQvtGB0LrRltC70YzQutC4INC90LUg0LHRg9C70L4g0LfRgNC+0LHQu9C10L3QviDRgdC/0YDQvtCx0LguIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjQ4Cittc2dpZCAidW5hYmxlIHRvIGdldCBJL08gcG9ydCBhY2Nlc3M6ICB0aGUgaW9wbCgzKSBjYWxsIGZhaWxlZC4iCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQtNC+0YHRgtGD0L8g0LTQviDQv9C+0YDRgtGDINCy0LLQtdC00LXQvdC90Y8t0LLQuNCy0LXQtNC10L3QvdGPOiAg0L/QvtC80LjQu9C60LAg0YHQuNGB0YLQtdC80L3QvtCz0L4g0LLQuNC60LvQuNC60YMgaW9wbCgzKS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NTEKK21zZ2lkICJQcm9iYWJseSB5b3UgbmVlZCByb290IHByaXZpbGVnZXMuXG4iCittc2dzdHIgItCc0L7QttC70LjQstC+INGB0LvRltC0INC80LDRgtC4INC/0YDQsNCy0LAg0LDQtNC80ZbQvdGW0YHRgtGA0LDRgtC+0YDQsC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY1OAorbXNnaWQgIlVzaW5nIGRpcmVjdCBJL08gaW5zdHJ1Y3Rpb25zIHRvIElTQSBjbG9jay4iCittc2dzdHIgItCS0LjQutC+0YDQuNGB0YLQvtCy0YPRlNC80L4g0LHQtdC30L/QvtGB0LXRgNC10LTQvdGWINGW0L3RgdGC0YDRg9C60YbRltGXINCy0LLQtdC00LXQvdC90Y8g0LLQuNCy0LXQtNC10L3QvdGPINC00LvRjyDQs9C+0LTQuNC90L3QuNC60LAgSVNBLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTk1CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byByZWFkIHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINCy0LjQutC+0L3QsNC90L3RjyBpb2N0bCglcykg0LTQviAlcyDQtNC70Y8g0YfQuNGC0LDQvdC90Y8g0YfQsNGB0YMg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSAlcyB0byBjaGFuZ2VcbiIKK21zZ3N0ciAi0J7Rh9GW0LrRg9Cy0LDQvdC90Y8g0LfQvNGW0L3QuCDRh9Cw0YHRgyDQtyAlcyDRgyDRhtC40LrQu9GWXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIzNgorbXNnaWQgIlRpbWVkIG91dCB3YWl0aW5nIGZvciB0aW1lIGNoYW5nZS4iCittc2dzdHIgItCf0LXRgNC10LLQuNGJ0LXQvdC+INGH0LDRgSDQvtGH0ZbQutGD0LLQsNC90L3RjyDQvdCwINC30LzRltC90YMg0YfQsNGB0YMuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgaGF2ZSBpbnRlcnJ1cHQgZnVuY3Rpb25zLiAiCittc2dzdHIgIiVzINC90LUg0LzQsNGUINGE0YPQvdC60YbRltGXINC/0LXRgNC10YDQuNCy0LDQvdC90Y8uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwINC+0YfRltC60YPQstCw0L3QvdGPINGDINGG0LjQutC70ZYg0LIgc2VsZWN0KCkg0LTQu9GPICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayB0aW1lZCBvdXQiCittc2dzdHIgItC/0LXRgNC10LLQuNGJ0LXQvdC+INGH0LDRgSDQvtGH0ZbQutGD0LLQsNC90L3RjyDRgyDRhtC40LrQu9GWINC00LvRjyBzZWxlY3QoKSDRidC+0LTQviAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvZmYgdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDQstC40LzQutC90LXQvdC90Y8g0L7QvdC+0LLQu9C10L3QvdGPINC/0LXRgNC10YDQuNCy0LDQvdGMINGDIGlvY3RsKCkg0LTQu9GPICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9uIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCB1bmV4cGVjdGVkbHkiCittc2dzdHIgItC90LXQvtGH0ZbQutGD0LLQsNC90LAg0L/QvtC80LjQu9C60LAg0LLQuNC80LrQvdC10L3QvdGPINC+0L3QvtCy0LvQtdC90L3RjyDQv9C10YDQtdGA0LjQstCw0L3RjCDRgyBpb2N0bCgpINC00LvRjyAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byBzZXQgdGhlIHRpbWUgZmFpbGVkLiIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINCy0LjQutC+0L3QsNC90L3RjyBpb2N0bCglcykg0LTQu9GPICVzINC3INC80LXRgtC+0Y4g0LLRgdGC0LDQvdC+0LLQu9C10L3QvdGPINC30L3QsNGH0LXQvdC90Y8g0YfQsNGB0YMg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHdhcyBzdWNjZXNzZnVsLlxuIgorbXNnc3RyICJpb2N0bCglcykg0YPRgdC/0ZbRiNC90L4g0LLQuNC60L7QvdCw0L3Qvi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mzg3Cittc2dpZCAiVXNpbmcgdGhlIC9kZXYgaW50ZXJmYWNlIHRvIHRoZSBjbG9jay4iCittc2dzdHIgItCS0LjQutC+0YDQuNGB0YLQvtCy0YPRlNC80L4g0ZbQvdGC0LXRgNGE0LXQudGBIC9kZXYg0LTQviDQs9C+0LTQuNC90L3QuNC60LAuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MTcgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRvIG1hbmlwdWxhdGUgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwsIHdlIG11c3QgYWNjZXNzIHRoZSBMaW51eCAncnRjJyBkZXZpY2UgZHJpdmVyIHZpYSB0aGUgZGV2aWNlIHNwZWNpYWwgZmlsZSAlcy4gIFRoaXMgZmlsZSBkb2VzIG5vdCBleGlzdCBvbiB0aGlzIHN5c3RlbS4iCittc2dzdHIgItCU0LvRjyDRgNC+0LHQvtGC0Lgg0LfRliDQt9C90LDRh9C10L3QvdGP0Lwg0LXQv9C+0YXQuCDRgyDRj9C00YDRliDQv9C+0YLRgNGW0LHQtdC9INC00L7RgdGC0YPQvyDQtNC+INC00YDQsNC50LLQtdGA0LAg0L/RgNC40YHRgtGA0L7RjiDCq3J0Y8K7IExpbnV4INC30LAg0LTQvtC/0L7QvNC+0LPQvtGOINGB0L/QtdGG0ZbQsNC70YzQvdC+0LPQviDRhNCw0LnQu9CwICVzLiDQoyDRhtGW0Lkg0YHQuNGB0YLQtdC80ZYg0YLQsNC60L7Qs9C+INGE0LDQudC70LAg0L3QtSDRltGB0L3Rg9GULiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDI5CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSB0byAlcyBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwINGDIGlvY3RsKFJUQ19FUE9DSF9SRUFEKSDQtNC70Y8gJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQzNQorIywgYy1mb3JtYXQKK21zZ2lkICJ3ZSBoYXZlIHJlYWQgZXBvY2ggJWx1IGZyb20gJXMgd2l0aCBSVENfRVBPQ0hfUkVBRCBpb2N0bC5cbiIKK21zZ3N0ciAi0L/RgNC+0YfQuNGC0LDQvdC+INC30L3QsNGH0LXQvdC90Y8g0LXQv9C+0YXQuCAlbHUg0LcgJXMg0YfQtdGA0LXQtyBSVENfRVBPQ0hfUkVBRCBpb2N0bC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlcG9jaCB2YWx1ZSBtYXkgbm90IGJlIGxlc3MgdGhhbiAxOTAwLiAgWW91IHJlcXVlc3RlZCAlbGQiCittc2dzdHIgItCX0L3QsNGH0LXQvdC90Y8g0LXQv9C+0YXQuCDQvdC1INC80L7QttC1INCx0YPRgtC4INC90LjQttGH0LjQvCDQt9CwIDE5MDAuINCS0Lgg0LLQutCw0LfQsNC70LggJWxkIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBlcG9jaCB0byAlbHUgd2l0aCBSVENfRVBPQ0hfU0VUIGlvY3RsIHRvICVzLlxuIgorbXNnc3RyICLQstGB0YLQsNC90L7QstC70Y7RlNGC0YzRgdGPINC10L/QvtGF0LAgPSAlbHUg0YfQtdGA0LXQtyBSVENfRVBPQ0hfU0VUIGlvY3RsINGDICVzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGtlcm5lbCBkZXZpY2UgZHJpdmVyIGZvciAlcyBkb2VzIG5vdCBoYXZlIHRoZSBSVENfRVBPQ0hfU0VUIGlvY3RsLiIKK21zZ3N0ciAi0JTRgNCw0LnQstC10YAg0Y/QtNGA0LAg0LTQu9GPINC/0YDQuNGB0YLRgNC+0Y4gJXMg0L3QtSDQvNGW0YHRgtC40YLRjCBpb2N0bCBSVENfRVBPQ0hfU0VULiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKFJUQ19FUE9DSF9TRVQpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0YMgaW9jdGwoUlRDX0VQT0NIX1NFVCkg0LTQu9GPICVzIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo2OQorbXNnaWQgIkNyZWF0ZSB2YXJpb3VzIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgItCh0YLQstC+0YDQuNGC0Lgg0YDRltC30L3QvtC80LDQvdGW0YLQvdGWINGA0LXRgdGD0YDRgdC4IElQQy5cbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzIKK21zZ2lkICIgLU0sIC0tc2htZW0gPHNpemU+ICAgICAgIGNyZWF0ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgb2Ygc2l6ZSA8c2l6ZT5cbiIKK21zZ3N0ciAiIC1NLCAtLXNobWVtIDzRgNC+0LfQvNGW0YA+ICAgICDRgdGC0LLQvtGA0LjRgtC4INGB0LXQs9C80LXQvdGCINC/0LDQvCfRj9GC0ZYg0YHQv9GW0LvRjNC90L7Qs9C+INCy0LjQutC+0YDQuNGB0YLQsNC90L3RjyDRgNC+0LfQvNGW0YDQvtC8IDzRgNC+0LfQvNGW0YA+XG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjczCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZSA8bnVtYmVyPiBjcmVhdGUgc2VtYXBob3JlIGFycmF5IHdpdGggPG51bWJlcj4gZWxlbWVudHNcbiIKK21zZ3N0ciAiIC1TLCAtLXNlbWFwaG9yZSA80YfQuNGB0LvQvj4gINGB0YLQstC+0YDQuNGC0Lgg0LzQsNGB0LjQsiDRgdC10LzQsNGE0L7RgNGW0LIg0LcgPNGH0LjRgdC70L4+INC10LvQtdC80LXQvdGC0ZbQslxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NAorbXNnaWQgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgY3JlYXRlIG1lc3NhZ2UgcXVldWVcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICDRgdGC0LLQvtGA0LjRgtC4INGH0LXRgNCz0YMg0L/QvtCy0ZbQtNC+0LzQu9C10L3RjFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NQorbXNnaWQgIiAtcCwgLS1tb2RlIDxtb2RlPiAgICAgICAgcGVybWlzc2lvbiBmb3IgdGhlIHJlc291cmNlIChkZWZhdWx0IGlzIDA2NDQpXG4iCittc2dzdHIgIiAtcCwgLS1tb2RlIDzQtNC+0YHRgtGD0L8+ICAgICAg0L/RgNCw0LLQsCDQtNC+0YHRgtGD0L/RgyDQtNC+INGA0LXRgdGD0YDRgdGDICjRgtC40L/QvtCy0LjQvNC4INGUIDA2NDQpXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExMCBzeXMtdXRpbHMvbG9zZXR1cC5jOjY5NyBzeXMtdXRpbHMvenJhbWN0bC5jOjYyMgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0LfQvdCw0YfQtdC90L3RjyDRgNC+0LfQvNGW0YDRgyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTE3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVsZW1lbnRzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0LXQu9C10LzQtdC90YLQuCIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQxCittc2dpZCAiY3JlYXRlIHNoYXJlIG1lbW9yeSBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDRgdGC0LLQvtGA0LXQvdC90Y8g0L7QsdC70LDRgdGC0ZYg0L/QsNC8J9GP0YLRliDRgdC/0ZbQu9GM0L3QvtCz0L4g0LLQuNC60L7RgNC40YHRgtCw0L3QvdGPINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBpZDogJWRcbiIKK21zZ3N0ciAi0IbQtNC10L3RgtC40YTRltC60LDRgtC+0YAg0YHQv9GW0LvRjNC90L7RlyDQv9Cw0Lwn0Y/RgtGWOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDkKK21zZ2lkICJjcmVhdGUgbWVzc2FnZSBxdWV1ZSBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDRgdGC0LLQvtGA0LXQvdC90Y8g0YfQtdGA0LPQuCDQv9C+0LLRltC00L7QvNC70LXQvdGMINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBxdWV1ZSBpZDogJWRcbiIKK21zZ3N0ciAi0IbQtNC10L3RgtC40YTRltC60LDRgtC+0YAg0YfQtdGA0LPQuCDQv9C+0LLRltC00L7QvNC70LXQvdGMOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTcKK21zZ2lkICJjcmVhdGUgc2VtYXBob3JlIGZhaWxlZCIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINGB0YLQstC+0YDQtdC90L3RjyDRgdC10LzQsNGE0L7RgNCwINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VtYXBob3JlIGlkOiAlZFxuIgorbXNnc3RyICLQhtC00LXQvdGCLiDRgdC10LzQsNGE0L7RgNCwOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPGlkPi4uLlxuIgorbXNnc3RyICIiCisiICUxJHMgW9C/0LDRgNCw0LzQtdGC0YDQuF1cbiIKKyIgJTEkcyBzaG18bXNnfHNlbSA80ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YA+Li4uXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU0Cittc2dpZCAiUmVtb3ZlIGNlcnRhaW4gSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAi0JLQuNC70YPRh9C40YLQuCDQv9C10LLQvdGWINGA0LXRgdGD0YDRgdC4IElQQy5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTcKK21zZ2lkICIgLW0sIC0tc2htZW0taWQgPGlkPiAgICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBpZFxuIgorbXNnc3RyICIgLW0sIC0tc2htZW0taWQgPNGW0LQ+ICAgICAgICDQstC40LvRg9GH0LjRgtC4INGB0LXQs9C80LXQvdGCINC/0LDQvCfRj9GC0ZYg0YHQv9GW0LvRjNC90L7Qs9C+INCy0LjQutC+0YDQuNGB0YLQsNC90L3RjyDQt9CwIDxpZD5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTgKK21zZ2lkICIgLU0sIC0tc2htZW0ta2V5IDxrZXk+ICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBrZXlcbiIKK21zZ3N0ciAiIC1tLCAtLXNobWVtLWtleSA80LrQu9GO0Yc+ICAgICDQstC40LvRg9GH0LjRgtC4INGB0LXQs9C80LXQvdGCINC/0LDQvCfRj9GC0ZYg0YHQv9GW0LvRjNC90L7Qs9C+INCy0LjQutC+0YDQuNGB0YLQsNC90L3RjyDQt9CwINC60LvRjtGH0LXQvFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OQorbXNnaWQgIiAtcSwgLS1xdWV1ZS1pZCA8aWQ+ICAgICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBpZFxuIgorbXNnc3RyICIgLXEsIC0tcXVldWUtaWQgPNGW0LQuPiAgICAgICDQstC40LvRg9GH0LjRgtC4INGH0LXRgNCz0YMg0L/QvtCy0ZbQtNC+0LzQu9C10L3RjCDQt9CwINGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGA0L7QvFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MAorbXNnaWQgIiAtUSwgLS1xdWV1ZS1rZXkgPGtleT4gICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBrZXlcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlLWtleSA80LrQu9GO0Yc+ICAgICDQstC40LvRg9GH0LjRgtC4INGH0LXRgNCz0YMg0L/QvtCy0ZbQtNC+0LzQu9C10L3RjCDQt9CwINC60LvRjtGH0LXQvFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MQorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmUtaWQgPGlkPiAgICByZW1vdmUgc2VtYXBob3JlIGJ5IGlkXG4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmUtaWQgPNGW0LQ+ICAgINCy0LjQu9GD0YfQuNGC0Lgg0YHQtdC80LDRhNC+0YAg0LfQsCDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgNC+0LxcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjIKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlLWtleSA8a2V5PiAgcmVtb3ZlIHNlbWFwaG9yZSBieSBrZXlcbiIKK21zZ3N0ciAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPNC60LvRjtGHPiDQstC40LvRg9GH0LjRgtC4INGB0LXQvNCw0YTQvtGAINC30LAg0LrQu9GO0YfQtdC8XG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYzCittc2dpZCAiIC1hLCAtLWFsbFs9c2htfG1zZ3xzZW1dICAgIHJlbW92ZSBhbGwgKGluIHRoZSBzcGVjaWZpZWQgY2F0ZWdvcnkpXG4iCittc2dzdHIgIiAtYSwgLS1hbGxbPXNobXxtc2d8c2VtXSAgICDQstC40LvRg9GH0LjRgtC4INGD0YHQtSAo0YMg0LLQutCw0LfQsNC90ZbQuSDQutCw0YLQtdCz0L7RgNGW0ZcpXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjY0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDQtNCw0L3RliDRidC+0LTQviDQtNGW0LksINGP0LrRliDQstC40LrQvtC90YPRjtGC0YzRgdGPXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBpZCBgJWQnXG4iCittc2dzdHIgItCy0LjQu9GD0YfQsNGU0LzQviDRgdC10LPQvNC10L3RgiDQv9Cw0Lwn0Y/RgtGWINGB0L/RltC70YzQvdC+0LPQviDQstC40LrQvtGA0LjRgdGC0LDQvdC90Y8g0Lcg0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YDQvtC8IMKrJWTCu1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBtZXNzYWdlIHF1ZXVlIGlkIGAlZCdcbiIKK21zZ3N0ciAi0LLQuNC70YPRh9Cw0ZTQvNC+INGH0LXRgNCz0YMg0L/QvtCy0ZbQtNC+0LzQu9C10L3RjCDQtyDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgNC+0LwgwqslZMK7XG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNlbWFwaG9yZSBpZCBgJWQnXG4iCittc2dzdHIgItCy0LjQu9GD0YfQsNGU0LzQviDRgdC10LzQsNGE0L7RgCDQtyDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgNC+0LwgwqslZMK7XG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOCBzeXMtdXRpbHMvaXBjcm0uYzoyMjIKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3Iga2V5IgorbXNnc3RyICLQtNC+0YHRgtGD0L8g0LfQsNCx0L7RgNC+0L3QtdC90L4g0LTQu9GPINC60LvRjtGH0LAiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOAorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBpZCIKK21zZ3N0ciAi0LTQvtGB0YLRg9C/INC30LDQsdC+0YDQvtC90LXQvdC+INC00LvRjyDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgNCwIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEgc3lzLXV0aWxzL2lwY3JtLmM6MjI4Cittc2dpZCAiaW52YWxpZCBrZXkiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90LjQuSDQutC70Y7RhyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExCittc2dpZCAiaW52YWxpZCBpZCIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QuNC5INGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQgc3lzLXV0aWxzL2lwY3JtLmM6MjI1Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGtleSIKK21zZ3N0ciAi0LrQu9GO0Ycg0LLQttC1INCy0LjQtNCw0LvQtdC90L4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNAorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBpZCIKK21zZ3N0ciAi0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YAg0LLQttC1INCy0LjQtNCw0LvQtdC90LjQuSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE3IHN5cy11dGlscy9pcGNybS5jOjIzMQorbXNnaWQgImtleSBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwINGDINC60LvRjtGH0ZYiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNworbXNnaWQgImlkIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0YMg0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YDRliIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWQ6ICVzIgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAOiAlcyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgInJlc291cmNlKHMpIGRlbGV0ZWRcbiIKK21zZ3N0ciAi0YDQtdGB0YPRgNGBKNC4KSDQstC40LTQsNC70LXQvdC40LlcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwga2V5ICglcykiCittc2dzdHIgItC/0L7QvNC40LvQutC+0LLQuNC5INC60LvRjtGHICglcykiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI1NgorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAi0L/RltC00YLRgNC40LzQutGDINGB0L/RltC70YzQvdC+0Zcg0L/QsNC8J9GP0YLRliDQvdC1INC90LDQu9Cw0YjRgtC+0LLQsNC90L4g0YMg0Y/QtNGA0ZYiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI2OQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3JlcyIKK21zZ3N0ciAi0L/RltC00YLRgNC40LzQutGDINGB0LXQvNCw0YTQvtGA0ZbQsiDQvdC1INC90LDQu9Cw0YjRgtC+0LLQsNC90L4g0YMg0Y/QtNGA0ZYiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI5MAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgItC/0ZbQtNGC0YDQuNC80LrRgyDRh9C10YDQsyDQv9C+0LLRltC00L7QvNC70LXQvdGMINC90LUg0L3QsNC70LDRiNGC0L7QstCw0L3QviDRgyDRj9C00YDRliIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW3Jlc291cmNlLW9wdGlvbi4uLl0gW291dHB1dC1vcHRpb25dXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorbXNnc3RyICIiCisiICUxJHMgW9C/0LDRgNCw0LzQtdGC0YAt0YDQtdGB0YPRgNGB0YMuLi5dIFvQv9Cw0YDQsNC80LXRgtGALdCy0LjQstC10LTQtdC90L3Rj11cbiIKKyIgJTEkcyAtbXwtcXwtcyAtaSA80ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YA+XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTYgc3lzLXV0aWxzL2xzaXBjLmM6MjgwCittc2dpZCAiU2hvdyBpbmZvcm1hdGlvbiBvbiBJUEMgZmFjaWxpdGllcy5cbiIKK21zZ3N0ciAi0J/QvtC60LDQt9Cw0YLQuCDRltC90YTQvtGA0LzQsNGG0ZbRjiDRidC+0LTQviDQvNC+0LbQu9C40LLQvtGB0YLQtdC5IElQQy5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OQorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIgLWksIC0taWQgPNGW0LQ+ICDQstC40LLQtdGB0YLQuCDQv9C+0LTRgNC+0LHQuNGG0ZYg0YnQvtC00L4g0YDQtdGB0YPRgNGB0YMg0Lcg0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YDQvtC8IDzRltC0PlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0IHN5cy11dGlscy9sc2lwYy5jOjI4MworbXNnaWQgIlJlc291cmNlIG9wdGlvbnM6XG4iCittc2dzdHIgItCf0LDRgNCw0LzQtdGC0YDQuCDRgNC10YHRg9GA0YHRltCyOlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1IHN5cy11dGlscy9sc2lwYy5jOjI4NAorbXNnaWQgIiAtbSwgLS1zaG1lbXMgICAgICBzaGFyZWQgbWVtb3J5IHNlZ21lbnRzXG4iCittc2dzdHIgIiAtbSwgLS1zaG1lbXMgICAgICDRgdC10LPQvNC10L3RgtC4INC/0LDQvCfRj9GC0ZYg0YHQv9GW0LvRjNC90L7Qs9C+INCy0LjQutC+0YDQuNGB0YLQsNC90L3Rj1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY2IHN5cy11dGlscy9sc2lwYy5jOjI4NQorbXNnaWQgIiAtcSwgLS1xdWV1ZXMgICAgICBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICIgLXEsIC0tcXVldWVzICAgICAg0YfQtdGA0LPQuCDQv9C+0LLRltC00L7QvNC70LXQvdGMXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Njcgc3lzLXV0aWxzL2xzaXBjLmM6Mjg2Cittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZXMgIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiIC1zLCAtLXNlbWFwaG9yZXMgINGB0LXQvNCw0YTQvtGA0LhcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2OAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICBhbGwgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICDQstGB0ZYgKNGC0LjQv9C+0LLQsCDQv9C+0LLQtdC00ZbQvdC60LApXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzEKK21zZ2lkICJPdXRwdXQgb3B0aW9uczpcbiIKK21zZ3N0ciAi0J/QsNGA0LDQvNC10YLRgNC4INCy0LjQstC10LTQtdC90L3RjzpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MgorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgICAgICAgINCy0LjQstC+0LTQuNGC0Lgg0YfQsNGB0Lgg0LTQvtC70YPRh9C10L3QvdGPLCDQstGW0LQn0ZTQtNC90LDQvdC90Y8g0YLQsCDQt9C80ZbQvdC4XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzMKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgc2hvdyBQSURzIG9mIGNyZWF0b3IgYW5kIGxhc3Qgb3BlcmF0b3JcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgINCy0LjQstC10YHRgtC4IFBJRCDQv9GA0L7RhtC10YHRgyDRgdGC0LLQvtGA0LXQvdC90Y8g0YLQsCDQvtGB0YLQsNC90L3RjNC+0LPQviDQvtC/0LXRgNCw0YLQvtGA0LBcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NAorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiAtYywgLS1jcmVhdG9yICAgICDQstC40LLQtdGB0YLQuCDQtNCw0L3RliDRidC+0LTQviDRgtC+0LPQviwg0YXRgtC+INGB0YLQstC+0YDQuNCyLCDRgtCwINCy0LvQsNGB0L3QuNC60LBcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NQorbXNnaWQgIiAtbCwgLS1saW1pdHMgICAgICBzaG93IHJlc291cmNlIGxpbWl0c1xuIgorbXNnc3RyICIgLWwsIC0tbGltaXRzICAgICAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0L7QsdC80LXQttC10L3RjCDRgNC10YHRg9GA0YHRltCyXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKK21zZ2lkICIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIgorbXNnc3RyICIgLXUsIC0tc3VtbWFyeSAgICAg0LLQuNCy0LXRgdGC0Lgg0YDQtdC30Y7QvNC1INGJ0L7QtNC+INGB0YLQsNC90YNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NworbXNnaWQgIiAgICAgLS1odW1hbiAgICAgICBzaG93IHNpemVzIGluIGh1bWFuLXJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0taHVtYW4gICAgICAg0LLQuNCy0LXRgdGC0Lgg0YDQvtC30LzRltGA0Lgg0YMg0LfRgNGD0YfQvdC+0LzRgyDQtNC70Y8g0YfQuNGC0LDQvdC90Y8g0YTQvtGA0LzQsNGC0ZZcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3OAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICBzaG93IHNpemVzIGluIGJ5dGVzXG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICDQstC40LLQtdGB0YLQuCDRgNC+0LfQvNGW0YDQuCDRgyDQsdCw0LnRgtCw0YVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoxNjQKK21zZ2lkICJ3aGVuIHVzaW5nIGFuIElELCBhIHNpbmdsZSByZXNvdXJjZSBtdXN0IGJlIHNwZWNpZmllZCIKK21zZ3N0ciAi0Y/QutGJ0L4g0LLQuNC60L7RgNC40YHRgtCw0L3QviDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgCwg0LzQsNGUINCx0YPRgtC4INCy0LrQsNC30LDQvdC+INC+0LTQuNC9INGA0LXRgdGD0YDRgSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNoYXJlZCBtZW1vcnkgbGltaXRzXG4iCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQtNCw0L3RliDRidC+0LTQviDQvtCx0LzQtdC20LXQvdC90Y8g0YHQv9GW0LvRjNC90L7RlyDQv9Cw0LzigJnRj9GC0ZZcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDQntCx0LzQtdC20LXQvdC90Y8g0YHQv9GW0LvRjNC90L7RlyDQv9Cw0Lwn0Y/RgtGWIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2Ygc2VnbWVudHMgPSAlanVcbiIKK21zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3QsCDQutGW0LvRjNC60ZbRgdGC0Ywg0YHQtdCz0LzQtdC90YLRltCyID0gJWp1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA5Cittc2dpZCAibWF4IHNlZyBzaXplIgorbXNnc3RyICLQvNCw0LrRgS4g0YDQvtC30LzRltGAINGB0LXQs9C80LXQvdGC0LAiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjExCittc2dpZCAibWF4IHRvdGFsIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgItC80LDQutGB0LjQvNGD0Lwg0YHQv9GW0LvRjNC90L7RlyDQv9Cw0Lwn0Y/RgtGWINC30LDQs9Cw0LvQvtC8IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxNAorbXNnaWQgIm1pbiBzZWcgc2l6ZSIKK21zZ3N0ciAi0LzRltC90ZbQvNCw0LvRjNC90LjQuSDRgNC+0LfQvNGW0YAg0YHQtdCz0LzQtdC90YLQsCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5XG4iCittc2dzdHIgItC/0ZbQtNGC0YDQuNC80LrRgyDRgdC/0ZbQu9GM0L3QvtGXINC/0LDQvCfRj9GC0ZYg0L3QtSDQvdCw0LvQsNGI0YLQvtCy0LDQvdC+INGDINGP0LTRgNGWXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g0KHRgtCw0L0g0YHQv9GW0LvRjNC90L7RlyDQv9Cw0Lwn0Y/RgtGWIC0tLS0tLS0tXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGlzIG91dHB1dCBmb3JtYXQgaXMgbWFpbnRhaW5lZCBmb3IgYmFja3dhcmQKKyMuIGNvbXBhdGliaWxpdHkgYXMgaXBjcyBpcyB1c2VkIGluIHNjcmlwdHMuIEZvciBjb25zaXN0ZW5jeQorIy4gd2l0aCB0aGUgcmVzdCwgdGhlIHRyYW5zbGF0ZWQgZm9ybSBjYW4gZm9sbG93IHRoaXMgbW9kZWw6CisjLiAqCisjLiAic2VnbWVudHMgYWxsb2NhdGVkID0gJWRcbiIKKyMuICJwYWdlcyBhbGxvY2F0ZWQgPSAlbGRcbiIKKyMuICJwYWdlcyByZXNpZGVudCA9ICVsZFxuIgorIy4gInBhZ2VzIHN3YXBwZWQgPSAlbGRcbiIKKyMuICJzd2FwIHBlcmZvcm1hbmNlID0gJWxkIGF0dGVtcHRzLCAlbGQgc3VjY2Vzc2VzXG4iCisjLgorIzogc3lzLXV0aWxzL2lwY3MuYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInNlZ21lbnRzIGFsbG9jYXRlZCAlZFxuIgorInBhZ2VzIGFsbG9jYXRlZCAlbGRcbiIKKyJwYWdlcyByZXNpZGVudCAgJWxkXG4iCisicGFnZXMgc3dhcHBlZCAgICVsZFxuIgorIlN3YXAgcGVyZm9ybWFuY2U6ICVsZCBhdHRlbXB0c1x0ICVsZCBzdWNjZXNzZXNcbiIKK21zZ3N0ciAiIgorItC+0YLRgNC40LzQsNC90L4g0YHQtdCz0LzQtdC90YLRltCyICAgJWRcbiIKKyLQvtGC0YDQuNC80LDQvdC+INGB0YLQvtGA0ZbQvdC+0LogICAgJWxkXG4iCisi0L7Qv9C10YDQsNGC0LjQstC90LjRhSDRgdGC0L7RgNGW0L3QvtC6ICVsZFxuIgorItGB0YLQvtGA0ZbQvdC+0Log0YMg0YHQstC+0L/RltC90LPRgyAgJWxkXG4iCisi0KjQstC40LTQutC+0LTRltGPINGB0LLQvtC/0ZbQvdCz0YM6ICAlbGQg0YHQv9GA0L7QsVx0ICVsZCDRg9GB0L/RltGF0ZbQslxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI1OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50IENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g0JDQstGC0L7RgNC4L9CS0LvQsNGB0L3QuNC60Lgg0YHQtdCz0LzQtdC90YLRltCyINGB0L/RltC70YzQvdC+0Zcg0L/QsNC8J9GP0YLRliAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI3NAorIzogc3lzLXV0aWxzL2lwY3MuYzoyODAKK21zZ2lkICJzaG1pZCIKK21zZ3N0ciAic2htaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6MjgwIHN5cy11dGlscy9pcGNzLmM6Mzg2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwMSBzeXMtdXRpbHMvaXBjcy5jOjQ4OSBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgInBlcm1zIgorbXNnc3RyICLQv9GA0LDQstCwIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgImN1aWQiCittc2dzdHIgImN1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiY2dpZCIKK21zZ3N0ciAiY2dpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJ1aWQiCittc2dzdHIgInVpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJnaWQiCittc2dzdHIgImdpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQXR0YWNoL0RldGFjaC9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tINCn0LDRgSDQv9GA0LjRlNC00L3QsNC90L3Rjy/QstGW0LQn0ZTQtNC90LDQvdC90Y8v0LfQvNGW0L3QuCDRgdC/0ZbQu9GM0L3QvtGXINC/0LDQvCfRj9GC0ZYgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyNzQgc3lzLXV0aWxzL2lwY3MuYzoyODAKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NDk1CisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMSBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgIm93bmVyIgorbXNnc3RyICLQstC70LDRgdC90LjQuiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcKK21zZ2lkICJhdHRhY2hlZCIKK21zZ3N0ciAi0L/RgNC40ZTQtNC90LDQvdC+IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NworbXNnaWQgImRldGFjaGVkIgorbXNnc3RyICLQstGW0LQn0ZTQtNC90LDQvdC+IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2OAorbXNnaWQgImNoYW5nZWQiCittc2dzdHIgItC30LzRltC90LXQvdC+IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBDcmVhdG9yL0xhc3Qtb3AgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItIFBJRCDQv9GA0L7RhtC10YHRgyDRgdGC0LLQvtGA0LXQvdC90Y8g0YHQvy4g0L/QsNC8J9GP0YLRli/QvtGB0YIuINC+0L/QtdGA0LDRgtC+0YAgLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3NAorbXNnaWQgImNwaWQiCittc2dzdHIgImNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc0Cittc2dpZCAibHBpZCIKK21zZ3N0ciAibHBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tINCh0LXQs9C80LXQvdGC0Lgg0YHQv9GW0LvRjNC90L7RlyDQv9Cw0Lwn0Y/RgtGWIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwIHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAia2V5IgorbXNnc3RyICLQutC70Y7RhyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODEgc3lzLXV0aWxzL2lwY3MuYzo1MDgKK21zZ2lkICJzaXplIgorbXNnc3RyICLRgNC+0LfQvNGW0YAiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgxIHN5cy11dGlscy9wcmxpbWl0LmM6NzUgc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OCBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIgc3lzLXV0aWxzL3BybGltaXQuYzo4NiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAiYnl0ZXMiCittc2dzdHIgItCx0LDQudGCIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MgorbXNnaWQgIm5hdHRjaCIKK21zZ3N0ciAi0LrRltC70YzQui7Qv9GW0LTQutC7IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MgorbXNnaWQgInN0YXR1cyIKK21zZ3N0ciAi0YHRgtCw0L0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzA2IHN5cy11dGlscy9pcGNzLmM6MzA4IHN5cy11dGlscy9pcGNzLmM6MzEwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQyNCBzeXMtdXRpbHMvaXBjcy5jOjQyNiBzeXMtdXRpbHMvaXBjcy5jOjUzMgorIzogc3lzLXV0aWxzL2lwY3MuYzo1MzQgc3lzLXV0aWxzL2lwY3MuYzo1MzYgc3lzLXV0aWxzL2lwY3MuYzo1OTAKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkyIHN5cy11dGlscy9pcGNzLmM6NjIxIHN5cy11dGlscy9pcGNzLmM6NjIzCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyNSBzeXMtdXRpbHMvaXBjcy5jOjY0OQorbXNnaWQgIk5vdCBzZXQiCittc2dzdHIgItCd0LUg0LLRgdGC0LDQvS4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzM2IHN5cy11dGlscy9sc2lwYy5jOjk3NiBzeXMtdXRpbHMvbHNpcGMuYzo5ODIKK21zZ2lkICJkZXN0IgorbXNnc3RyICLQt9GA0YPQudC9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMzNyBzeXMtdXRpbHMvbHNpcGMuYzo5Nzcgc3lzLXV0aWxzL2xzaXBjLmM6OTkwCittc2dpZCAibG9ja2VkIgorbXNnc3RyICLQsdC70L7QutC+0LLQsNC90L4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzU3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzZW1hcGhvcmUgbGltaXRzXG4iCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQtNCw0L3RliDRidC+0LTQviDQvtCx0LzQtdC20LXQvdGMINGB0LXQvNCw0YTQvtGA0ZbQslxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g0J7QsdC80LXQttC10L3QvdGPINGB0LXQvNCw0YTQvtGA0ZbQsiAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MQorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIGFycmF5cyA9ICVkXG4iCittc2dzdHIgItC80LDQutGB0LjQvNCw0LvRjNC90LAg0LrRltC70YzQutGW0YHRgtGMINC80LDRgdC40LLRltCyID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgcGVyIGFycmF5ID0gJWRcbiIKK21zZ3N0ciAi0LzQsNC60YHQuNC80YPQvCDRgdC10LzQsNGE0L7RgNGW0LIg0L3QsCDQvNCw0YHQuNCyID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICLQvNCw0LrRgdC40LzRg9C8INGB0LXQvNCw0YTQvtGA0ZbQsiDRgyDRgdC40YHRgtC10LzRliA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBvcHMgcGVyIHNlbW9wIGNhbGwgPSAlZFxuIgorbXNnc3RyICLQvNCw0LrRgdC40LzRg9C8INC+0L/QtdGA0LDRhtGW0Lkg0LfQsCBzZW1vcCDQstC40LrQu9C40LogPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJzZW1hcGhvcmUgbWF4IHZhbHVlID0gJXVcbiIKK21zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3QtSDQt9C90LDRh9C10L3QvdGPINGB0LXQvNCw0YTQvtGA0LAgPSAldVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAi0L/RltC00YLRgNC40LzQutGDINGB0LXQvNCw0YTQvtGA0ZbQsiDQvdC1INC90LDQu9Cw0YjRgtC+0LLQsNC90L4g0YMg0Y/QtNGA0ZZcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tINCh0YLQsNC9INGB0LXQvNCw0YTQvtGA0LAgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBhcnJheXMgPSAlZFxuIgorbXNnc3RyICLQstC40LrQvtGA0LjRgdGC0LDQvdC+INC80LDRgdC40LLRltCyID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHNlbWFwaG9yZXMgPSAlZFxuIgorbXNnc3RyICLQstC40LTRltC70LXQvdC+INGB0LXQvNCw0YTQvtGA0ZbQsiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g0JDQstGC0L7RgNC4L9CS0LvQsNGB0L3QuNC60Lgg0LzQsNGB0LjQstGW0LIg0YHQtdC80LDRhNC+0YDRltCyIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDAxCittc2dpZCAic2VtaWQiCittc2dzdHIgInNlbWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIE9wZXJhdGlvbi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tINCn0LDRgSDQtNGW0Zcv0LLQvdC10YHQtdC90L3RjyDQt9C80ZbQvSDQtNC+INGB0LXQvNCw0YTQvtGA0ZbQsiAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorbXNnaWQgImxhc3Qtb3AiCittc2dzdHIgItC+0YHRgtCw0L0t0L7QvyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIKK21zZ2lkICJsYXN0LWNoYW5nZWQiCittc2dzdHIgItC+0YHRgtCw0L0t0LfQvNGW0L0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDQnNCw0YHQuNCy0Lgg0YHQtdC80LDRhNC+0YDRltCyIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDAxCittc2dpZCAibnNlbXMiCittc2dzdHIgItC60ZbQu9GM0Lou0YHQtdC8IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggbWVzc2FnZSBsaW1pdHNcbiIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INC00LDQvdGWINGJ0L7QtNC+INC+0LHQvNC10LbQtdC90Ywg0L/QvtCy0ZbQtNC+0LzQu9C10L3RjFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0g0J7QsdC80LXQttC10L3QvdGPINC/0L7QstGW0LTQvtC80LvQtdC90YwgLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBxdWV1ZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICLQvNCw0LrRgdC40LzRg9C8INGH0LXRgNCzINGDINGB0LjRgdGC0LXQvNGWID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjUKK21zZ2lkICJtYXggc2l6ZSBvZiBtZXNzYWdlIgorbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70YzQvdC40Lkg0YDQvtC30LzRltGAINC/0L7QstGW0LTQvtC80LvQtdC90L3RjyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjcKK21zZ2lkICJkZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIgorbXNnc3RyICLRgtC40L/QvtCy0LjQuSDQvNCw0LrRgdC40LzQsNC70YzQvdC40Lkg0YDQvtC30LzRltGAINGH0LXRgNCz0LgiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAi0L/RltC00YLRgNC40LzQutGDINGH0LXRgNCzINC/0L7QstGW0LTQvtC80LvQtdC90Ywg0L3QtSDQvdCw0LvQsNGI0YLQvtCy0LDQvdC+INGDINGP0LTRgNGWXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDc3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tINCh0YLQsNC9INC/0L7QstGW0LTQvtC80LvQtdC90YwgLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3OQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgcXVldWVzID0gJWRcbiIKK21zZ3N0ciAi0LLQuNC00ZbQu9C10L3QviDRh9C10YDQsyA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgaGVhZGVycyA9ICVkXG4iCittc2dzdHIgItCy0LjQutC+0YDQuNGB0YLQsNC90L4g0LfQsNCz0L7Qu9C+0LLQutGW0LIgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MgorbXNnaWQgInVzZWQgc3BhY2UiCittc2dzdHIgItCy0LjQutC+0YDQuNGB0YLQsNC90LUg0LzRltGB0YbQtSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODMKK21zZ2lkICIgYnl0ZXNcbiIKK21zZ3N0ciAiINCx0LDQudGC0ZbQslxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tINCh0YLQstC+0YDRjtCy0LDRh9GWINGC0LAg0LLQu9Cw0YHQvdC40LrQuCDRh9C10YDQsyDQv9C+0LLRltC00L7QvNC70LXQvdGMIC0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OSBzeXMtdXRpbHMvaXBjcy5jOjQ5NSBzeXMtdXRpbHMvaXBjcy5jOjUwMQorIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJtc3FpZCIKK21zZ3N0ciAibXNxaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBTZW5kL1JlY3YvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDQp9Cw0YEg0LLRltC00L/RgNCw0LLQu9C10L3QvdGPL9C+0YLRgNC40LzQsNC90L3Rjy/Qt9C80ZbQvdC4INGH0LXRgNCzINC/0L7QstGW0LTQvtC80LvQtdC90YwtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgInNlbmQiCittc2dzdHIgItCy0ZbQtNC/0YDQsNCy0LvQtdC90L4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAicmVjdiIKK21zZ3N0ciAi0L7RgtGA0LjQvNCw0L3QviIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJjaGFuZ2UiCittc2dzdHIgItC30LzRltC90LXQvdC+IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gUElEINGH0LXRgNCzINC/0L7QstGW0LTQvtC80LvQtdC90YwgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJsc3BpZCIKK21zZ3N0ciAibHNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAibHJwaWQiCittc2dzdHIgImxycGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tINCn0LXRgNCz0Lgg0L/QvtCy0ZbQtNC+0LzQu9C10L3RjCAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwOAorbXNnaWQgInVzZWQtYnl0ZXMiCittc2dzdHIgItCy0LjQutC+0YDQuNGB0YLQsNC90L4t0LHQsNC50YIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA5Cittc2dpZCAibWVzc2FnZXMiCittc2dzdHIgItC/0L7QstGW0LTQvtC80LvQtdC90YwiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc0IHN5cy11dGlscy9pcGNzLmM6NjA0IHN5cy11dGlscy9pcGNzLmM6NjM3CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo1MzYgc3lzLXV0aWxzL2xzaXBjLmM6NzIyIHN5cy11dGlscy9sc2lwYy5jOjg3OQorIywgYy1mb3JtYXQKK21zZ2lkICJpZCAlZCBub3QgZm91bmQiCittc2dzdHIgItGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAICVkINC90LUg0LfQvdCw0LnQtNC10L3QviIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZCBtZW1vcnkgU2VnbWVudCBzaG1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisi0KHQtdCz0LzQtdC90YIg0YHQv9GW0LvRjNC90L7RlyDQv9Cw0Lwn0Y/RgtGWIHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCittc2dzdHIgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvXHRhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgItGA0LXQttC40Lw9JSNvXHTQv9GA0LDQstCwX9C00L7RgdGC0YPQv9GDPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorbXNnaWQgInNpemU9IgorbXNnc3RyICLRgNC+0LfQvNGW0YA9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorbXNnaWQgImJ5dGVzPSIKK21zZ3N0ciAi0LHQsNC50YLQuD0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg2CisjLCBjLWZvcm1hdAorbXNnaWQgImxwaWQ9JXVcdGNwaWQ9JXVcdG5hdHRjaD0lamRcbiIKK21zZ3N0ciAibHBpZD0ldVx0Y3BpZD0ldVx0bmF0dGNoPSVqZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJhdHRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICLRh9Cw0YFf0L/RgNC40ZTQtNC9PSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgImRldF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgItGH0LDRgV/QstGW0LQn0ZTQtNC9PSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkzIHN5cy11dGlscy9pcGNzLmM6NjI0CisjLCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZV90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgItGH0LDRgV/Qt9C80ZbQvT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZSBRdWV1ZSBtc3FpZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisi0KfQtdGA0LPQsCDQv9C+0LLRltC00L7QvNC70LXQvdGMIG1zcWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjA5CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHRtb2RlPSUjb1xuIgorbXNnc3RyICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVx00YDQtdC20LjQvD0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTMKK21zZ2lkICJjc2l6ZT0iCittc2dzdHIgImNzaXplPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTMKK21zZ2lkICJjYnl0ZXM9IgorbXNnc3RyICJjYnl0ZXM9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxNQorbXNnaWQgInFzaXplPSIKK21zZ3N0ciAicXNpemU9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxNQorbXNnaWQgInFieXRlcz0iCittc2dzdHIgInFieXRlcz0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIwCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICLRh9Cw0YFf0L3QsNC00YHQuNC7PSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgInJjdl90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgItGH0LDRgV/QvtGC0YDQuNC8PSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgQXJyYXkgc2VtaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorItCc0LDRgdC40LIg0YHQtdC80LDRhNC+0YDRltCyIHNlbWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0IGdpZD0ldVx0IGN1aWQ9JXVcdCBjZ2lkPSV1XG4iCittc2dzdHIgInVpZD0ldVx0IGdpZD0ldVx0IGN1aWQ9JXVcdCBjZ2lkPSV1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvLCBhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgItGA0LXQttC40Lw9JSNvLCDQv9GA0LDQstCwX9C00L7RgdGCPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0NworIywgYy1mb3JtYXQKK21zZ2lkICJuc2VtcyA9ICVqdVxuIgorbXNnc3RyICJuc2VtcyA9ICVqdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJvdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgIm90aW1lID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICJjdGltZSA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAic2VtbnVtIgorbXNnc3RyICLQvdC+0Lwu0YHQtdC8IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInZhbHVlIgorbXNnc3RyICLQt9C90LDRh9C10L3QvdGPIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgIm5jb3VudCIKK21zZ3N0ciAibmNvdW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInpjb3VudCIKK21zZ3N0ciAiemNvdW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInBpZCIKK21zZ3N0ciAicGlkIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzAgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM0IHN5cy11dGlscy9pcGN1dGlscy5jOjIzOAorIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgJXMiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoYnl0ZXMpID0gIgorbXNnc3RyICIlcyAo0YMg0LHQsNC50YLQsNGFKSA9ICIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChrYnl0ZXMpID0gIgorbXNnc3RyICIlcyAo0YMg0LrRltC70L7QsdCw0LnRgtCw0YUpID0gIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxODAKK21zZ2lkICJpbnZhbGlkIGlmbGFnIgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INC/0YDQsNC/0L7RgNC10YbRjCDRgNC10LbQuNC80YMg0LLQstC10LTQtdC90L3RjyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGxkaXNjPiA8ZGV2aWNlPlxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gPGxkaXNjPiA80L/RgNC40YHRgtGA0ZbQuT5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTk5Cittc2dpZCAiQXR0YWNoIGEgbGluZSBkaXNjaXBsaW5lIHRvIGEgc2VyaWFsIGxpbmUuXG4iCittc2dzdHIgItCU0L7Qu9GD0YfQuNGC0Lgg0L/RgNCw0LLQuNC70LAg0L7QsdGA0L7QsdC60Lgg0YDRj9C00LrQsCDQtNC+INC/0L7RgdC70ZbQtNC+0LLQvdC+0LPQviDRgNGP0LTQutCwLlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDIKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBtZXNzYWdlcyB0byBzdGRlcnJcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgINCy0LjQstC+0LTQuNGC0Lgg0LTQvtC60LvQsNC00L3RliDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8g0LTQviBzdGRlcnJcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAzCittc2dpZCAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIHNldCBzZXJpYWwgbGluZSBzcGVlZFxuIgorbXNnc3RyICIgLXMsIC0tc3BlZWQgPNC30L3QsNGH0LXQvdC90Y8+ICDQstGB0YLQsNC90L7QstC40YLQuCDQt9C90LDRh9C10L3QvdGPINGI0LLQuNC00LrQvtGB0YLRliDQv9C+0YHQu9GW0LTQvtCy0L3QvtGXINC70ZbQvdGW0ZdcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA0Cittc2dpZCAiIC1jLCAtLWludHJvLWNvbW1hbmQgPHN0cmluZz4gaW50cm8gc2VudCBiZWZvcmUgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIC1jLCAtLWludHJvLWNvbW1hbmQgPNGA0Y/QtNC+0Lo+ICDQstGB0YLRg9C/INC90LDQtNGW0YHQu9Cw0L3QviDQtNC+IGxkYXR0YWNoXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNQorbXNnaWQgIiAtcCwgLS1wYXVzZSA8c2Vjb25kcz4gICBwYXVzZSBiZXR3ZWVuIGludHJvIGFuZCBsZGF0dGFjaFxuIgorbXNnc3RyICIgLXAsIC0tcGF1c2UgPNGB0LXQutGD0L3QtNC4PiAgINC/0LDRg9C30LAg0LzRltC2INCy0YHRgtGD0L/QvtC8INGWIGxkYXR0YWNoXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNgorbXNnaWQgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gNyBiaXRzXG4iCittc2dzdHIgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICDQstGB0YLQsNC90L7QstC40YLQuCA3LdCx0ZbRgtC+0LLQuNC5INGA0L7Qt9C80ZbRgCDRgdC40LzQstC+0LvRg1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDcKK21zZ2lkICIgLTgsIC0tZWlnaHRiaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDggYml0c1xuIgorbXNnc3RyICIgLTgsIC0tZWlnaHRiaXRzICAgICAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0LggOC3QsdGW0YLQvtCy0LjQuSDRgNC+0LfQvNGW0YAg0YHQuNC80LLQvtC70YNcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA4Cittc2dpZCAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIHNldCBwYXJpdHkgdG8gbm9uZVxuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0YDQtdC20LjQvCDQsdC10Lcg0LLQuNC30L3QsNGH0LXQvdC90Y8g0L/QsNGA0L3QvtGB0YLRllxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDkKK21zZ2lkICIgLWUsIC0tZXZlbnBhcml0eSAgICAgICAgc2V0IHBhcml0eSB0byBldmVuXG4iCittc2dzdHIgIiAtZSwgLS1ldmVucGFyaXR5ICAgICAgICDQstGB0YLQsNC90L7QstC40YLQuCDRgNC10LbQuNC8INC/0LDRgNC90L7RgdGC0ZZcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEwCittc2dpZCAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIHNldCBwYXJpdHkgdG8gb2RkXG4iCittc2dzdHIgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICDQstGB0YLQsNC90L7QstC40YLQuCDRgNC10LbQuNC8INC90LXQv9Cw0YDQvdC+0YHRgtGWXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMQorbXNnaWQgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBzZXQgc3RvcCBiaXRzIHRvIG9uZVxuIgorbXNnc3RyICIgLTEsIC0tb25lc3RvcGJpdCAgICAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0YHRgtC+0L8t0LHRltGC0Lgg0YMg0LfQvdCw0YfQtdC90L3RjyDQvtC00LjQvdC40YbRllxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTIKK21zZ2lkICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAgc2V0IHN0b3AgYml0cyB0byB0d29cbiIKK21zZ3N0ciAiIC0yLCAtLXR3b3N0b3BiaXRzICAgICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INGB0YLQvtC/LdCx0ZbRgtC4INGDINC30L3QsNGH0LXQvdC90Y8g0LTQstGW0LnQutC4XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMworbXNnaWQgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBzZXQgaW5wdXQgbW9kZSBmbGFnXG4iCittc2dzdHIgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICDQstGB0YLQsNC90L7QstC40YLQuCDQv9GA0LDQv9C+0YDQtdGG0Ywg0YDQtdC20LjQvNGDINCy0LLQtdC00LXQvdC90Y9cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE5Cittc2dpZCAiIgorIlxuIgorIktub3duIDxsZGlzYz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLQktGW0LTQvtC80ZYg0L/RgNC+0LPRgNCw0LzRliDQt9C90LDRh9C10L3QvdGPIDxsZGlzYz46XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIyMworbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8aWZsYWc+IG5hbWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisi0JLRltC00L7QvNGWINC/0YDQvtCz0YDQsNC80ZYg0LfQvdCw0YfQtdC90L3RjyA8aWZsYWc+OlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDAKK21zZ2lkICJpbnZhbGlkIHNwZWVkIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0YjQstC40LTQutC+0YHRgtGWIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDMKK21zZ2lkICJpbnZhbGlkIHBhdXNlIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0L/RgNC40LfRg9C/0LjQvdC60LgiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM1OQorbXNnaWQgImludmFsaWQgb3B0aW9uIgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INC/0LDRgNCw0LzQtdGC0YAiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM3MAorbXNnaWQgImludmFsaWQgbGluZSBkaXNjaXBsaW5lIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0L/RgNCw0LLQuNC7INC+0LHRgNC+0LHQutC4INGA0Y/QtNC60ZbQsiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHNlcmlhbCBsaW5lIgorbXNnc3RyICIlcyDQvdC1INGUINC/0L7RgdC70ZbQtNC+0LLQvdC+0Y4g0LvRltC90ZbRlNGOIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INCw0YLRgNC40LHRg9GC0Lgg0YLQtdGA0LzRltC90LDQu9CwINC00LvRjyAlcyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWVkICVkIHVuc3VwcG9ydGVkIgorbXNnc3RyICLQv9GW0LTRgtGA0LjQvNC60Lgg0YjQstC40LTQutC+0YHRgtGWICVkINC90LUg0L/QtdGA0LXQtNCx0LDRh9C10L3QviIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LDRgtGA0LjQsdGD0YLQuCDRgtC10YDQvNGW0L3QsNC70LAg0LTQu9GPICVzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlIGludHJvIGNvbW1hbmQgdG8gJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQsNC/0LjRgdCw0YLQuCDQstGB0YLRg9C/0L3RgyDQutC+0LzQsNC90LTRgyDQtNC+ICVzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NjkKK21zZ2lkICJjYW5ub3Qgc2V0IGxpbmUgZGlzY2lwbGluZSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDQv9GA0LDQstC40LvQsCDQvtCx0YDQvtCx0LrQuCDRgNGP0LTQutGW0LIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ3OQorbXNnaWQgImNhbm5vdCBkYWVtb25pemUiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0YHRgtCy0L7RgNC40YLQuCDRhNC+0L3QvtCy0YMg0YHQu9GD0LbQsdGDIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY4Cittc2dpZCAiYXV0b2NsZWFyIGZsYWcgc2V0IgorbXNnc3RyICLQstGB0YLQsNC90L7QstC70LXQvdC+INC/0YDQsNC/0L7RgNC10YbRjCDQsNCy0YLQvtGB0L/QvtGA0L7QttC90LXQvdC90Y8iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjkKK21zZ2lkICJkZXZpY2UgYmFja2luZyBmaWxlIgorbXNnc3RyICLRhNCw0LnQuyDRgNC10LfQtdGA0LLQvdC+0Zcg0LrQvtC/0ZbRlyDQv9GA0LjRgdGC0YDQvtGOIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwCittc2dpZCAiYmFja2luZyBmaWxlIGlub2RlIG51bWJlciIKK21zZ3N0ciAi0L3QvtC80LXRgCDQu9C+0LPRltGH0L3QvtCz0L4g0LLRg9C30LvQsCDRgNC10LfQtdGA0LLQvdC+0LPQviDRhNCw0LnQu9CwIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcxCittc2dpZCAiYmFja2luZyBmaWxlIG1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgItC90L7QvNC10YAg0L/RgNC40YHRgtGA0L7RjiDQvtGB0L3QvtCy0L3QuNC5OtC00L7QtNCw0YLQutC+0LLQuNC5INC00LvRjyDRgNC10LfQtdGA0LLQvdC+0LPQviDRhNCw0LnQu9CwIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcyCittc2dpZCAibG9vcCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAi0L3QsNC30LLQsCDQv9C10YLQu9GM0L7QstC+0LPQviDQv9GA0LjRgdGC0YDQvtGOIChsb29wKSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MworbXNnaWQgIm9mZnNldCBmcm9tIHRoZSBiZWdpbm5pbmciCittc2dzdHIgItCy0ZbQtNGB0YLRg9C/INCy0ZbQtCDQv9C+0YfQsNGC0LrRgyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NAorbXNnaWQgInBhcnRzY2FuIGZsYWcgc2V0IgorbXNnc3RyICLQstGB0YLQsNC90L7QstC70LXQvdC+INC/0YDQsNC/0L7RgNC10YbRjCBwYXJ0c2NhbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NgorbXNnaWQgInNpemUgbGltaXQgb2YgdGhlIGZpbGUgaW4gYnl0ZXMiCittc2dzdHIgItC+0LHQvNC10LbQtdC90L3RjyDRgNC+0LfQvNGW0YDRgyDRhNCw0LnQu9CwINGDINCx0LDQudGC0LDRhSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NworbXNnaWQgImxvb3AgZGV2aWNlIG1ham9yOm1pbm9yIG51bWJlciIKK21zZ3N0ciAi0L3QvtC80LXRgCDQv9GA0LjRgdGC0YDQvtGOINC+0YHQvdC+0LLQvdC40Lk60LTQvtC00LDRgtC60L7QstC40Lkg0LTQu9GPINC/0LXRgtC70YzQvtCy0L7Qs9C+INC/0YDQuNGB0YLRgNC+0Y4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzgKK21zZ2lkICJhY2Nlc3MgYmFja2luZyBmaWxlIHdpdGggZGlyZWN0LWlvIgorbXNnc3RyICLQvtGC0YDQuNC80LDQvdC90Y8g0LTQvtGB0YLRg9C/0YMg0LTQviDRhNCw0LnQu9CwINGA0LXQt9C10YDQstC90L7RlyDQutC+0L/RltGXINC30LAg0LTQvtC/0L7QvNC+0LPQvtGOIGRpcmVjdC1pbyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxMzUgc3lzLXV0aWxzL2xvc2V0dXAuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvZmZzZXQgJWp1IgorbXNnc3RyICIsINC30YHRg9CyICVqdSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxMzggc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBzaXplbGltaXQgJWp1IgorbXNnc3RyICIsINC+0LHQvNC10LbQtdC90L3RjyDQvdCwINGA0L7Qt9C80ZbRgCAlanUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZW5jcnlwdGlvbiAlcyAodHlwZSAldSkiCittc2dzdHIgIiwg0YjQuNGE0YDRg9Cy0LDQvdC90Y8gJXMgKNGC0LjQvyAldSkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZXRhY2ggZmFpbGVkIgorbXNnc3RyICIlczog0L/QvtC80LjQu9C60LAg0LLRltC0J9GU0LTQvdCw0L3QvdGPIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjMyOSBzeXMtdXRpbHMvbHNjcHUuYzoxNzM1IHN5cy11dGlscy9wcmxpbWl0LmM6MjI5CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTc2IHN5cy11dGlscy93ZGN0bC5jOjIxNSBzeXMtdXRpbHMvenJhbWN0bC5jOjQwNQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBsaW5lIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINGW0L3RltGG0ZbQsNC70ZbQt9GD0LLQsNGC0Lgg0YDRj9C00L7QuiDQstC40LLQtdC00LXQvdC90Y8iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gWzxsb29wZGV2Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8bG9vcGRldj4gPGZpbGU+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBb0L/QsNGA0LDQvNC10YLRgNC4XSBbPNC/0LXRgtC70L/RgNC40YHRgtGA0ZbQuT5dXG4iCisiICUxJHMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gLWYgfCA80L/QtdGC0LvQv9GA0LjRgdGC0YDRltC5PiA80YTQsNC50Ls+XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzg2Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIGxvb3AgZGV2aWNlcy5cbiIKK21zZ3N0ciAi0J3QsNC70LDRiNGC0YPQstCw0YLQuCDQv9C10YLQu9GM0L7QstGWINC/0YDQuNGB0YLRgNC+0Zcg0YLQsCDQutC10YDRg9Cy0LDRgtC4INC90LjQvNC4LlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM4OQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INGB0L/QuNGB0L7QuiDRg9GB0ZbRhSDQstC40LrQvtGA0LjRgdGC0LDQvdC40YUg0L/RgNC40YHRgtGA0L7Rl9CyXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkwCittc2dpZCAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4uLi4gICAgIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCittc2dzdHIgIiAtZCwgLS1kZXRhY2ggPNC/0LXRgtC70YzQvtCy0LjQuSDQv9GA0LjRgdGC0YDRltC5Pi4uLiDQstGW0LTigJnRlNC00L3QsNGC0Lgg0L7QtNC40L0g0LDQsdC+INC00LXQutGW0LvRjNC60LAg0L/RgNC40YHRgtGA0L7Rl9CyXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkxCittc2dpZCAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIGRldGFjaCBhbGwgdXNlZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICDQstGW0LTigJnRlNC00L3QsNGC0Lgg0YPRgdGWINCy0LjQutC+0YDQuNGB0YLQsNC90ZYg0L/RgNC40YHRgtGA0L7Rl1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MgorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICBmaW5kIGZpcnN0IHVudXNlZCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgINC30L3QsNC50YLQuCDQv9C10YDRiNC40Lkg0L3QtdCy0LjQutC+0YDQuNGB0YLQsNC90LjQuSDQv9GA0LjRgdGC0YDRltC5XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkzCittc2dpZCAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcGRldj4gIHJlc2l6ZSB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiAtYywgLS1zZXQtY2FwYWNpdHkgPNC/0LXRgtC70YzQvtCy0LjQuSDQv9GA0LjRgdGC0YDRltC5PiDQt9C80ZbQvdC40YLQuCDRgNC+0LfQvNGW0YAg0L/RgNC40YHRgtGA0L7RjlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5NAorbXNnaWQgIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKK21zZ3N0ciAiIC1qLCAtLWFzc29jaWF0ZWQgPNGE0LDQudC7PiAgICAgICDQv9C+0LrQsNC30LDRgtC4INGB0L/QuNGB0L7QuiDRg9GB0ZbRhSDQv9GA0LjRgdGC0YDQvtGX0LIsINC/0L7QsuKAmdGP0LfQsNC90LjRhSDQtyDRhNCw0LnQu9C+0LwgPNGE0LDQudC7PlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5NQorbXNnaWQgIiAtTCwgLS1ub292ZXJsYXAgICAgICAgICAgICAgICBhdm9pZCBwb3NzaWJsZSBjb25mbGljdCBiZXR3ZWVuIGRldmljZXNcbiIKK21zZ3N0ciAiIC1MLCAtLW5vb3ZlcmxhcCAgICAgICAgICAgICAgINGD0L3QuNC60LDRgtC4INC80L7QttC70LjQstC40YUg0LrQvtC90YTQu9GW0LrRgtGW0LIg0LzRltC2INC/0YDQuNGB0YLRgNC+0Y/QvNC4XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgICAgICAgICAgIHN0YXJ0IGF0IG9mZnNldCA8bnVtPiBpbnRvIGZpbGVcbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8bj4gICAgICAgICAgICAgINGA0L7Qt9C/0L7Rh9Cw0YLQuCDQtyDQstGW0LTRgdGC0YPQv9GDIDxuPiDRgyDRhNCw0LnQu9GWXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAwCittc2dpZCAiICAgICAtLXNpemVsaW1pdCA8bnVtPiAgICAgICAgIGRldmljZSBpcyBsaW1pdGVkIHRvIDxudW0+IGJ5dGVzIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiAgICAgLS1zaXplbGltaXQgPG4+ICAgICAgICAgICDQv9GA0LjRgdGC0YDRltC5INC+0LHQvNC10LbQtdC90L4gPG4+INCx0LDQudGC0LDQvNC4INGE0LDQudC70LBcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDEKK21zZ2lkICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgY3JlYXRlIGEgcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgINGB0YLQstC+0YDQuNGC0Lgg0L/QtdGC0LvRjNC+0LLQuNC5INC/0YDQuNGB0YLRgNGW0Lkg0Lcg0YDQvtC30LTRltC70LDQvNC4XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAyCittc2dpZCAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgICAgIHNldCB1cCBhIHJlYWQtb25seSBsb29wIGRldmljZVxuIgorbXNnc3RyICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAg0YHRgtCy0L7RgNC40YLQuCDQv9GA0LjQtNCw0YLQvdC40Lkg0LvQuNGI0LUg0LTQu9GPINGH0LjRgtCw0L3QvdGPINC/0LXRgtC70YzQvtCy0LjQuSDQv9GA0LjRgdGC0YDRltC5XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAzCittc2dpZCAiICAgICAtLWRpcmVjdC1pb1s9PG9ufG9mZj5dICAgIG9wZW4gYmFja2luZyBmaWxlIHdpdGggT19ESVJFQ1RcbiIKK21zZ3N0ciAiICAgICAtLWRpcmVjdC1pb1s9PG9ufG9mZj5dICAgINCy0ZbQtNC60YDQuNGC0Lgg0YTQsNC50Lsg0YDQtdC30LXRgNCy0L3QvtGXINC60L7Qv9GW0Zcg0LfQsCDQtNC+0L/QvtC80L7Qs9C+0Y4gT19ESVJFQ1RcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDQKK21zZ2lkICIgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICAgcHJpbnQgZGV2aWNlIG5hbWUgYWZ0ZXIgc2V0dXAgKHdpdGggLWYpXG4iCittc2dzdHIgIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDQvdCw0LfQstGDINC/0YDQuNGB0YLRgNC+0Y4g0L/RltGB0LvRjyDQvdCw0LvQsNGI0YLRg9Cy0LDQvdC90Y8gKNC3IC1mKVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgINGA0LXQttC40Lwg0LTQvtC60LvQsNC00L3QuNGFINC/0L7QstGW0LTQvtC80LvQtdC90YxcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgbGlzdCBpbmZvIGFib3V0IGFsbCBvciBzcGVjaWZpZWQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDQtNCw0L3RliDRidC+0LTQviDQstGB0YzQvtCz0L4g0LDQsdC+INCy0LrQsNC30LDQvdC+0LPQviAo0YLQuNC/0L7QstC+KVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMAorbXNnaWQgIiAtTywgLS1vdXRwdXQgPGNvbHM+ICAgICAgICAgICBzcGVjaWZ5IGNvbHVtbnMgdG8gb3V0cHV0IGZvciAtLWxpc3RcbiIKK21zZ3N0ciAiIC1PLCAtLW91dHB1dCA80YHRgtC+0LLQv9GH0LjQutC4PiAgICAgINCy0LrQsNC30LDRgtC4INGB0YLQvtCy0L/Rh9C40LrQuCwg0Y/QutGWINGB0LvRltC0INCy0LjQstC10YHRgtC4LCDQtNC70Y8gLS1saXN0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDExCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLWxpc3Qgb3V0cHV0XG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgICAgICDQvdC1INCy0LjQstC+0LTQuNGC0Lgg0LfQsNCz0L7Qu9C+0LLQutGW0LIg0LTQu9GPINC00LDQvdC40YUsINCy0LjQstC10LTQtdC90LjRhSAtLWxpc3RcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTIKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgdXNlIHJhdyAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INGE0L7RgNC80LDRgiDQstC40LLQtdC00LXQvdC90Y8g0LTQsNC90LjRhSAtLWxpc3Qg0LHQtdC3INC+0LHRgNC+0LHQutC4XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEzCittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgIHVzZSBKU09OIC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0LTQu9GPINCy0LjQstC10LTQtdC90L3RjyAtbGlzdCDRhNC+0YDQvNCw0YIgSlNPTlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOQorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgLS1saXN0IGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLQlNC+0YHRgtGD0L/QvdGWINGB0YLQvtCy0L/Rh9C40LrQuCDQtNC70Y8gLS1saXN0OlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBpcyBzbWFsbGVyIHRoYW4gNTEyIGJ5dGVzOyB0aGUgbG9vcCBkZXZpY2UgbWF5IGJlIHVzZWxlc3Mgb3IgaW52aXNpYmxlIGZvciBzeXN0ZW0gdG9vbHMuIgorbXNnc3RyICIlczog0L/QvtC/0LXRgNC10LTQttC10L3QvdGPOiDRgNC+0LfQvNGW0YAg0YTQsNC50LvQsCDRlCDQvNC10L3RiNC40Lwg0LfQsCA1MTIg0LHQsNC50YLRltCyLCDQv9C10YLQu9GM0L7QstC40Lkg0L/RgNC40YHRgtGA0ZbQuSDQvNC+0LbQtSDQstC40Y/QstC40YLQuNGB0Y8g0L3QtdC/0YDQuNC00LDRgtC90LjQvCDQsNCx0L4g0L3QtdCy0LjQtNC40LzQuNC8INC00LvRjyDRltC90YHRgtGA0YPQvNC10L3RgtGW0LIg0YHQuNGB0YLQtdC80LguIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBkb2VzIG5vdCBmaXQgaW50byBhIDUxMi1ieXRlIHNlY3RvcjsgdGhlIGVuZCBvZiB0aGUgZmlsZSB3aWxsIGJlIGlnbm9yZWQuIgorbXNnc3RyICIlczog0L/QvtC/0LXRgNC10LTQttC10L3QvdGPOiDRhNCw0LnQuyDQvdC1INCy0LrQu9Cw0LTQsNGU0YLRjNGB0Y8g0YMgNTEyLdCx0LDQudGC0L7QstC40Lkg0YHQtdC60YLQvtGALCDQvtGC0LbQtSDQutGW0L3QtdGG0Ywg0YTQsNC50LvQsCDQsdGD0LTQtSDQv9GA0L7RltCz0L3QvtGA0L7QstCw0L3Qvi4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDY0IHN5cy11dGlscy9sb3NldHVwLmM6NTE2IHN5cy11dGlscy9tb3VudC5jOjQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlczog0ZbRgdC90YPRlCDQv9C10YLQu9GM0L7QstC40Lkg0L/RgNC40YHRgtGA0ZbQuSDRltC3INC/0LXRgNC10LrRgNC40YLRgtGP0LwiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyByZWFkLW9ubHkgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlczog0ZbRgdC90YPRlCDQv9GA0LjQt9C90LDRh9C10L3QuNC5INC70LjRiNC1INC00LvRjyDRh9C40YLQsNC90L3RjyDQv9C10YLQu9GM0L7QstC40Lkg0L/RgNC40YHRgtGA0ZbQuSDRltC3INC/0LXRgNC10LrRgNC40YLRgtGP0LwiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBlbmNyeXB0ZWQgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlczog0ZbRgdC90YPRlCDQt9Cw0YjQuNGE0YDQvtCy0LDQvdC40Lkg0L/QtdGC0LvRjNC+0LLQuNC5INC/0YDQuNGB0YLRgNGW0Lkg0ZbQtyDQv9C10YDQtdC60YDQuNGC0YLRj9C8IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlLXVzZSBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0L/QvtCy0YLQvtGA0L3QviDQstC40LrQvtGA0LjRgdGC0LDRgtC4INC/0LXRgtC70YzQvtCy0LjQuSDQv9GA0LjRgdGC0YDRltC5IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ5NAorbXNnaWQgImZhaWxlZCB0byBpbnNwZWN0IGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstC40LrQvtC90LDRgtC4INGW0L3RgdC/0LXQutGC0YPQstCw0L3QvdGPINC/0LXRgtC70YzQvtCy0LjRhSDQv9GA0LjRgdGC0YDQvtGX0LIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY2hlY2sgZm9yIGNvbmZsaWN0aW5nIGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC60L7QvdCw0YLQuCDQv9C10YDQtdCy0ZbRgNC60YMg0YnQvtC00L4g0LrQvtC90YTQu9GW0LrRgtGW0LIg0LzRltC2INC/0LXRgtC70YzQvtCy0LjQvNC4INC/0YDQuNGB0YLRgNC+0Y/QvNC4IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUyOSBzeXMtdXRpbHMvbG9zZXR1cC5jOjgyNgorbXNnaWQgImNhbm5vdCBmaW5kIGFuIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9C90LDQudGC0Lgg0L3QtdCy0LjQutC+0YDQuNGB0YLQsNC90LjQuSDQv9C10YLQu9GM0L7QstC40Lkg0L/RgNC40YHRgtGA0ZbQuSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgYmFja2luZyBmaWxlIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDRgdC60L7RgNC40YHRgtCw0YLQuNGB0Y8g0YDQtdC30LXRgNCy0L3QuNC8INGE0LDQudC70L7QvCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2MzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDEgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NTMKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzY3IHN5cy11dGlscy9sb3NldHVwLmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGRldmljZSIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC60L7RgNC40YHRgtCw0YLQuCDQv9GA0LjRgdGC0YDRltC5IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2NAorbXNnaWQgIm5vIGxvb3AgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAi0L3QtSDQstC60LDQt9Cw0L3QviDQttC+0LTQvdC+0LPQviDQv9C10YLQu9GM0L7QstC+0LPQviDQv9GA0LjRgdGC0YDQvtGOIChsb29wKSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NzIKK21zZ2lkICJubyBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAi0L3QtSDQstC60LDQt9Cw0L3QviDQttC+0LTQvdC+0LPQviDRhNCw0LnQu9CwIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgb3B0aW9ucyAlcyBhcmUgYWxsb3dlZCBkdXJpbmcgbG9vcCBkZXZpY2Ugc2V0dXAgb25seSIKK21zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgNC4ICVzINC80L7QttC90LAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INC70LjRiNC1INC00LvRjyDQv9C+0YfQsNGC0LrQvtCy0L7Qs9C+INC90LDQu9Cw0YjRgtC+0LLRg9Cy0LDQvdC90Y8g0L/QtdGC0LvRjNC+0LLQvtCz0L4g0L/RgNC40YHRgtGA0L7RjiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3ODQKK21zZ2lkICJ0aGUgb3B0aW9uIC0tb2Zmc2V0IGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgCAtLW9mZnNldCDQvdC1INC80L7QttC90LAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INGDINGG0YzQvtC80YMg0LrQvtC90YLQtdC60YHRgtGWIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGNhcGFjaXR5IGZhaWxlZCIKK21zZ3N0ciAiJXM6INGB0L/RgNC+0LHQsCDQstGB0YLQsNC90L7QstC70LXQvdC90Y8g0LzRltGB0YLQutC+0YHRgtGWINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGRpcmVjdCBpbyBmYWlsZWQiCittc2dzdHIgIiVzOiDRgdC/0YDQvtCx0LAg0LLRgdGC0LDQvdC+0LLQu9C10L3QvdGPINCx0LXQt9C/0L7RgdC10YDQtdC00L3RjNC+0LPQviDQstCy0LXQtNC10L3QvdGPLdCy0LjQstC10LTQtdC90L3RjyDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTA4Cittc2dpZCAibm9uZSIKK21zZ3N0ciAi0L3QtdC80LDRlCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTA5Cittc2dpZCAicGFyYSIKK21zZ3N0ciAi0L/QsNGA0LAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjExMAorbXNnaWQgImZ1bGwiCittc2dzdHIgItC/0L7QstC90LAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjExMQorbXNnaWQgImNvbnRhaW5lciIKK21zZ3N0ciAi0LrQvtC90YLQtdC50L3QtdGAIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzMKK21zZ2lkICJob3Jpem9udGFsIgorbXNnc3RyICLQs9C+0YDQuNC30L7QvdGC0LDQu9GM0L3QuNC5IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQKK21zZ2lkICJ2ZXJ0aWNhbCIKK21zZ3N0ciAi0LLQtdGA0YLQuNC60LDQu9GM0L3QuNC5IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDYKK21zZ2lkICJsb2dpY2FsIENQVSBudW1iZXIiCittc2dzdHIgItC90L7QvNC10YAg0LvQvtCz0ZbRh9C90L7Qs9C+INC/0YDQvtGG0LXRgdC+0YDQsCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ3Cittc2dpZCAibG9naWNhbCBjb3JlIG51bWJlciIKK21zZ3N0ciAi0L3QvtC80LXRgCDQu9C+0LPRltGH0L3QvtCz0L4g0Y/QtNGA0LAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0OAorbXNnaWQgImxvZ2ljYWwgc29ja2V0IG51bWJlciIKK21zZ3N0ciAi0L3QvtC80LXRgCDQu9C+0LPRltGH0L3QvtCz0L4g0YHQvtC60LXRgtCwIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDkKK21zZ2lkICJsb2dpY2FsIE5VTUEgbm9kZSBudW1iZXIiCittc2dzdHIgItC90L7QvNC10YAg0LvQvtCz0ZbRh9C90L7Qs9C+INCy0YPQt9C70LAgTlVNQSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUwCittc2dpZCAibG9naWNhbCBib29rIG51bWJlciIKK21zZ3N0ciAi0L3QvtC80LXRgCDQu9C+0LPRltGH0L3QvtGXINC60L3QuNCz0LgiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MQorbXNnaWQgImxvZ2ljYWwgZHJhd2VyIG51bWJlciIKK21zZ3N0ciAi0L3QvtC80LXRgCDQu9C+0LPRltGH0L3QvtGXINGI0YPRhdC70Y/QtNC4IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTIKK21zZ2lkICJzaG93cyBob3cgY2FjaGVzIGFyZSBzaGFyZWQgYmV0d2VlbiBDUFVzIgorbXNnc3RyICLQv9C+0LrQsNC30YPRlCwg0Y/QuiDRgNC+0LfQv9C+0LTRltC70LXQvdC+INC60LXRiNGWINC80ZbQtiDQv9GA0L7RhtC10YHQvtGA0LDQvNC4IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTMKK21zZ2lkICJDUFUgZGlzcGF0Y2hpbmcgbW9kZSBvbiB2aXJ0dWFsIGhhcmR3YXJlIgorbXNnc3RyICLQoNC10LbQuNC8INGA0L7Qt9C/0L7QtNGW0LvRgyDRh9Cw0YHRgyDQv9GA0L7RhtC10YHQvtGA0ZbQsiDQvdCwINCy0ZbRgNGC0YPQsNC70YzQvdC+0LzRgyDQvtCx0LvQsNC00L3QsNC90L3RliIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU0Cittc2dpZCAicGh5c2ljYWwgYWRkcmVzcyBvZiBhIENQVSIKK21zZ3N0ciAi0YTRltC30LjRh9C90LAg0LDQtNGA0LXRgdCwINC/0YDQvtGG0LXRgdC+0YDQsCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU1Cittc2dpZCAic2hvd3MgaWYgdGhlIGh5cGVydmlzb3IgaGFzIGFsbG9jYXRlZCB0aGUgQ1BVIgorbXNnc3RyICLQv9C+0LrQsNC30YPRlCwg0YfQuCDQvtGC0YDQuNC80LDQvdC+INCz0ZbQv9C10YDQstGW0LfQvtGA0L7QvCDRgyDQutC+0YDQuNGB0YLRg9Cy0LDQvdC90Y8g0L/RgNC+0YbQtdGB0L7RgCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU2Cittc2dpZCAic2hvd3MgaWYgTGludXggY3VycmVudGx5IG1ha2VzIHVzZSBvZiB0aGUgQ1BVIgorbXNnc3RyICLQv9C+0LrQsNC30YPRlCwg0YfQuCDQstC40LrQvtGA0LjRgdGC0L7QstGD0ZQg0LfQsNGA0LDQtyBMaW51eCDQv9GA0L7RhtC10YHQvtGAIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTcKK21zZ2lkICJzaG93cyB0aGUgbWF4aW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAi0L/QvtC60LDQt9GD0ZQg0LzQsNC60YHQuNC80LDQu9GM0L3RgyDRh9Cw0YHRgtC+0YLRgyDQv9GA0L7RhtC10YHQvtGA0LAg0YMg0JzQk9GGIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTgKK21zZ2lkICJzaG93cyB0aGUgbWluaW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAi0L/QvtC60LDQt9GD0ZQg0LzRltC90ZbQvNCw0LvRjNC90YMg0YfQsNGB0YLQvtGC0YMg0L/RgNC+0YbQtdGB0L7RgNCwINGDINCc0JPRhiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NTUwCittc2dpZCAiZXJyb3I6IHVuYW1lIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LA6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC60L7QvdCw0YLQuCB1bmFtZSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZXRlcm1pbmUgbnVtYmVyIG9mIENQVXM6ICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0LjQt9C90LDRh9C40YLQuCDQutGW0LvRjNC60ZbRgdGC0Ywg0L/RgNC+0YbQtdGB0L7RgNGW0LI6ICVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo4OTEKK21zZ2lkICJlcnJvcjogY2FuIG5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgItC/0L7QvNC40LvQutCwOiDQvdC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INC+0LHRgNC+0LHQvdC40Log0YHQuNCz0L3QsNC70YMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjg5NgorbXNnaWQgImVycm9yOiBjYW4gbm90IHJlc3RvcmUgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgItC/0L7QvNC40LvQutCwOiDQvdC1INCy0LTQsNC70L7RgdGPINCy0ZbQtNC90L7QstC40YLQuCDQvtCx0YDQvtCx0LrQuCDRgdC40LPQvdCw0LvRgyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIGZyb206ICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0LjQutC+0L3QsNGC0Lgg0YfQuNGC0LDQvdC90Y8g0LcgJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MTAKK21zZ2lkICJGYWlsZWQgdG8gZXh0cmFjdCB0aGUgbm9kZSBudW1iZXIiCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC00L7QsdGD0YLQuCDQvdC+0LzQtdGAINCy0YPQt9C70LAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1Mzcgc3lzLXV0aWxzL2xzY3B1LmM6MTU0NworbXNnaWQgIlkiCittc2dzdHIgIlkiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1Mzcgc3lzLXV0aWxzL2xzY3B1LmM6MTU0NworbXNnaWQgIk4iCittc2dzdHIgIk4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyXG4iCisiIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRFxuIgorIiMgc3RhcnRpbmcgZnJvbSB6ZXJvLlxuIgorbXNnc3RyICIiCisiIyDQndC40LbRh9C1INC90LDQstC10LTQtdC90L4g0LTQsNC90ZYg0YMg0L/RgNC40LTQsNGC0L3QvtC80YMg0LTQviDQvtCx0YDQvtCx0LrQuCDRhNC+0YDQvNCw0YLRliwg0Y/QutC40Lkg0LzQvtC20L3QsFxuIgorIiMg0L/QtdGA0LXQtNCw0YLQuCDRltC90YjQuNC8INC/0YDQvtCz0YDQsNC80LDQvC4g0JLRgdGWINC30LDQv9C40YHQuCDRgyDQutC+0LbQvdC+0LzRgyDRgdGC0L7QstC/0YfQuNC60YMg0LzQsNGO0YLRjFxuIgorIiMg0YPQvdGW0LrQsNC70YzQvdGWINGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGA0LgsINGJ0L4g0L/QvtGH0LjQvdCw0Y7RgtGM0YHRjyDQtyDQvdGD0LvRjy5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc4MQorbXNnaWQgIkFyY2hpdGVjdHVyZToiCittc2dzdHIgItCQ0YDRhdGW0YLQtdC60YLRg9GA0LA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzk1Cittc2dpZCAiQ1BVIG9wLW1vZGUocyk6IgorbXNnc3RyICLQoNC10LbQuNC80Lgg0KbQnzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3OTggc3lzLXV0aWxzL2xzY3B1LmM6MTgwMAorbXNnaWQgIkJ5dGUgT3JkZXI6IgorbXNnc3RyICLQn9C+0YDRj9C00L7QuiDQsdCw0LnRgtGW0LI6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODAyCittc2dpZCAiQ1BVKHMpOiIKK21zZ3N0ciAi0J/RgNC+0YbQtdGB0L7RgNC4OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwNQorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICLQnNCw0YHQutCwINGA0L7QsdC+0YfQuNGFINCm0J86IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA2Cittc2dpZCAiT24tbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgItCh0L/QuNGB0L7QuiDRgNC+0LHQvtGH0LjRhSDQptCfOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNQorbXNnaWQgIk9mZi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAi0JzQsNGB0LrQsCDQstC40LzQutC90LXQvdC40YUg0KbQnzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjYKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgItCh0L/QuNGB0L7QuiDQstC40LzQutC90LXQvdC40YUg0KbQnzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjIKK21zZ2lkICJUaHJlYWQocykgcGVyIGNvcmU6IgorbXNnc3RyICLQn9C+0YLQvtC60ZbQsiDQvdCwINGP0LTRgNC+OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2NAorbXNnaWQgIkNvcmUocykgcGVyIHNvY2tldDoiCittc2dzdHIgItCv0LTQtdGAINC90LAg0YHQvtC60LXRgjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjcKK21zZ2lkICJTb2NrZXQocykgcGVyIGJvb2s6IgorbXNnc3RyICLQodC+0LrQtdGC0ZbQsiDQvdCwINC60L3QuNCz0YM6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODcwCittc2dpZCAiQm9vayhzKSBwZXIgZHJhd2VyOiIKK21zZ3N0ciAi0JrQvdC40LMg0L3QsCDRiNGD0YXQu9GP0LTRgyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3MgorbXNnaWQgIkRyYXdlcihzKToiCittc2dzdHIgItCo0YPRhdC70Y/QtDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzQKK21zZ2lkICJCb29rKHMpOiIKK21zZ3N0ciAi0JrQvdC40LPQuDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzcKK21zZ2lkICJTb2NrZXQocyk6IgorbXNnc3RyICLQodC+0LrQtdGC0Lg6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgxCittc2dpZCAiTlVNQSBub2RlKHMpOiIKK21zZ3N0ciAi0JLRg9C30LvQuCBOVU1BOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MworbXNnaWQgIlZlbmRvciBJRDoiCittc2dzdHIgItCG0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAINCy0LjRgNC+0LHQvdC40LrQsDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODUKK21zZ2lkICJNYWNoaW5lIHR5cGU6IgorbXNnc3RyICLQotC40L8g0LDRgNGF0ZbRgtC10LrRgtGD0YDQuDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODcKK21zZ2lkICJDUFUgZmFtaWx5OiIKK21zZ3N0ciAi0KHRltC80LXQudGB0YLQstC+INC/0YDQvtGG0LXRgdC+0YDRltCyOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4OQorbXNnaWQgIk1vZGVsOiIKK21zZ3N0ciAi0JzQvtC00LXQu9GMOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5MQorbXNnaWQgIk1vZGVsIG5hbWU6IgorbXNnc3RyICLQndCw0LfQstCwINC80L7QtNC10LvRljoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTMKK21zZ2lkICJTdGVwcGluZzoiCittc2dzdHIgItCc0L7QtNC40YTRltC60LDRhtGW0Y86IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk1Cittc2dpZCAiQ1BVIE1IejoiCittc2dzdHIgItCn0LDRgdGC0L7RgtCwINGDINCc0JPRhjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTcKK21zZ2lkICJDUFUgZHluYW1pYyBNSHo6IgorbXNnc3RyICLQlNC40L3QsNC80ZbRh9C90LAg0YfQsNGB0YLQvtGC0LAg0L/RgNC+0YbQtdGB0L7RgNCwINGDINCc0JPRhjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTkKK21zZ2lkICJDUFUgc3RhdGljIE1IejoiCittc2dzdHIgItCh0YLQsNGC0LjRh9C90LAg0YfQsNGB0YLQvtGC0LAg0L/RgNC+0YbQtdGB0L7RgNCwINGDINCc0JPRhjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDEKK21zZ2lkICJDUFUgbWF4IE1IejoiCittc2dzdHIgItCc0LDQutGBLiDRh9Cw0YHRgtC+0YLQsCDQv9GA0L7RhtC10YHQvtGA0LAg0YMg0JzQk9GGOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMworbXNnaWQgIkNQVSBtaW4gTUh6OiIKK21zZ3N0ciAi0JzRltC9LiDRh9Cw0YHRgtC+0YLQsCDQv9GA0L7RhtC10YHQvtGA0LAg0YMg0JzQk9GGOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNQorbXNnaWQgIkJvZ29NSVBTOiIKK21zZ3N0ciAiQm9nb01JUFM6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA4IHN5cy11dGlscy9sc2NwdS5jOjE5MTAKK21zZ2lkICJWaXJ0dWFsaXphdGlvbjoiCittc2dzdHIgItCS0ZbRgNGC0YPQsNC70ZbQt9Cw0YbRltGPOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMworbXNnaWQgIkh5cGVydmlzb3I6IgorbXNnc3RyICLQk9GW0L/QtdGA0LLRltC30L7RgDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTUKK21zZ2lkICJIeXBlcnZpc29yIHZlbmRvcjoiCittc2dzdHIgItCS0LjRgNC+0LHQvdC40Log0LPRltC/0LXRgNCy0ZbQt9C+0YDQsDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTYKK21zZ2lkICJWaXJ0dWFsaXphdGlvbiB0eXBlOiIKK21zZ3N0ciAi0KLQuNC/INCy0ZbRgNGC0YPQsNC70ZbQt9Cw0YbRltGXOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxOQorbXNnaWQgIkRpc3BhdGNoaW5nIG1vZGU6IgorbXNnc3RyICLQoNC10LbQuNC8INGA0L7Qt9C/0L7QtNGW0LvRgzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MjUgc3lzLXV0aWxzL2xzY3B1LmM6MTkzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjYWNoZToiCittc2dzdHIgItCa0LXRiCAlczoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVNQSBub2RlJWQgQ1BVKHMpOiIKK21zZ3N0ciAi0J/RgNC+0YbQtdGB0L7RgNC4INCy0YPQt9C70LAlZCBOVU1BOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0NgorbXNnaWQgIkZsYWdzOiIKK21zZ3N0ciAi0J/RgNCw0L/QvtGA0YbRljoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NDkKK21zZ2lkICJQaHlzaWNhbCBzb2NrZXRzOiIKK21zZ3N0ciAi0KTRltC30LjRh9C90ZYg0YHQvtC60LXRgtC4OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk1MAorbXNnaWQgIlBoeXNpY2FsIGNoaXBzOiIKK21zZ3N0ciAi0KTRltC30LjRh9C90ZYg0LzRltC60YDQvtGB0YXQtdC80Lg6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTUxCittc2dpZCAiUGh5c2ljYWwgY29yZXMvY2hpcDoiCittc2dzdHIgItCk0ZbQt9C40YfQvdGWINGP0LTRgNCwL9C80ZbQutGA0L7RgdGF0LXQvNCwOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2MworbXNnaWQgIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIENQVSBhcmNoaXRlY3R1cmUuXG4iCittc2dzdHIgItCf0L7QutCw0LfQsNGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0LDRgNGF0ZbRgtC10LrRgtGD0YDQuCDQv9GA0L7RhtC10YHQvtGA0LAuXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjYKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgcHJpbnQgYm90aCBvbmxpbmUgYW5kIG9mZmxpbmUgQ1BVcyAoZGVmYXVsdCBmb3IgLWUpXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INGB0L/QuNGB0L7QuiDRgNC+0LHQvtGH0LjRhSDRliDQstC40LzQutC90LXQvdC40YUg0KbQnyAo0YLQuNC/0L7QstC+INC00LvRjyAtZSlcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2NworbXNnaWQgIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBwcmludCBvbmxpbmUgQ1BVcyBvbmx5IChkZWZhdWx0IGZvciAtcClcbiIKK21zZ3N0ciAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0YHQv9C40YHQvtC6INC70LjRiNC1INGA0L7QsdC+0YfQuNGFINCm0J8gKNGC0LjQv9C+0LLQviDQtNC70Y8gLXApXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjgKK21zZ2lkICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAgcHJpbnQgb2ZmbGluZSBDUFVzIG9ubHlcbiIKK21zZ3N0ciAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0YHQv9C40YHQvtC6INC70LjRiNC1INCy0LjQvNC60L3QtdC90LjRhSDQv9GA0L7RhtC10YHQvtGA0ZbQslxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY5Cittc2dpZCAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1lLCAtLWV4dGVuZGVkWz080YHQv9C40YHQvtC6Pl0g0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YMg0YDQvtC30YjQuNGA0LXQvdC+0LzRgyDQv9GA0LjQtNCw0YLQvdC+0LzRgyDQtNC70Y8g0YfQuNGC0LDQvdC90Y8g0YTQvtGA0LzQsNGC0ZZcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MAorbXNnaWQgIiAtcCwgLS1wYXJzZVs9PGxpc3Q+XSAgICBwcmludCBvdXQgYSBwYXJzYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1wLCAtLXBhcnNlWz080YHQv9C40YHQvtC6Pl0gICAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YMg0L/RgNC40LTQsNGC0L3QvtC80YMg0LTQviDQvtCx0YDQvtCx0LrQuCDRhNC+0YDQvNCw0YLRllxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcxCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHVzZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iCittc2dzdHIgIiAtcywgLS1zeXNyb290IDzQutCw0YLQsNC70L7Qsz4gICDQstC40LrQvtGA0LjRgdGC0LDRgtC4INCy0LrQsNC30LDQvdC40Lkg0LrQsNGC0LDQu9C+0LMg0Y/QuiDQutC+0YDQtdC90LXQstC40Lkg0YMg0YHQuNGB0YLQtdC80ZZcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MgorbXNnaWQgIiAteCwgLS1oZXggICAgICAgICAgICAgICBwcmludCBoZXhhZGVjaW1hbCBtYXNrcyByYXRoZXIgdGhhbiBsaXN0cyBvZiBDUFVzXG4iCittc2dzdHIgIiAteCwgLS1oZXggICAgICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INGI0ZbRgdGC0L3QsNC00YbRj9GC0LrQvtCy0ZYg0LzQsNGB0LrQuCDQt9Cw0LzRltGB0YLRjCDRgdC/0LjRgdC60ZbQsiDQv9GA0L7RhtC10YHQvtGA0ZbQslxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTczCittc2dpZCAiIC15LCAtLXBoeXNpY2FsICAgICAgICAgIHByaW50IHBoeXNpY2FsIGluc3RlYWQgb2YgbG9naWNhbCBJRHNcbiIKK21zZ3N0ciAiIC15LCAtLXBoeXNpY2FsICAgICAgICAgINCy0LjQstC10YHRgtC4INGE0ZbQt9C40YfQvdGWLCDQsCDQvdC1INC70L7Qs9GW0YfQvdGWINGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGA0LhcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3B0aW9ucyAtLWFsbCwgLS1vbmxpbmUgYW5kIC0tb2ZmbGluZSBtYXkgb25seSBiZSB1c2VkIHdpdGggb3B0aW9ucyAtLWV4dGVuZGVkIG9yIC0tcGFyc2UuXG4iCittc2dzdHIgIiVzOiDQv9Cw0YDQsNC80LXRgtGA0LggLS1hbGwsIC0tb25saW5lINGWIC0tb2ZmbGluZSDQvNC+0LbQvdCwINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQu9C40YjQtSDRgNCw0LfQvtC8INC3INC/0LDRgNCw0LzQtdGC0YDQvtC8IC0tZXh0ZW5kZWQg0LDQsdC+IC0tcGFyc2UuXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorbXNnaWQgIlJlc291cmNlIGtleSIKK21zZ3N0ciAi0JrQu9GO0Ycg0YDQtdGB0YPRgNGB0YMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorbXNnaWQgIktleSIKK21zZ3N0ciAi0JrQu9GO0YciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorbXNnaWQgIlJlc291cmNlIElEIgorbXNnc3RyICLQhtC0LiDRgNC10YHRg9GA0YHRgyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCittc2dpZCAiSUQiCittc2dzdHIgItCG0LQuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKK21zZ2lkICJPd25lcidzIHVzZXJuYW1lIG9yIFVJRCIKK21zZ3N0ciAi0IbQvOKAmdGPINC60L7RgNC40YHRgtGD0LLQsNGH0LAg0LDQsdC+IFVJRCDQstC70LDRgdC90LjQutCwIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKK21zZ2lkICJPd25lciIKK21zZ3N0ciAi0JLQu9Cw0YHQvdC40LoiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MgorbXNnaWQgIlBlcm1pc3Npb25zIgorbXNnc3RyICLQn9GA0LDQstCwINC00L7RgdGC0YPQv9GDIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTMKK21zZ2lkICJDcmVhdG9yIFVJRCIKK21zZ3N0ciAiVUlEINGC0LLQvtGA0YbRjyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU0Cittc2dpZCAiQ3JlYXRvciB1c2VyIgorbXNnc3RyICLQmtC+0YDQuNGB0YLRg9Cy0LDRhy3RgtCy0L7RgNC10YbRjCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU1Cittc2dpZCAiQ3JlYXRvciBHSUQiCittc2dzdHIgIkdJRCDRgtCy0L7RgNGG0Y8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NgorbXNnaWQgIkNyZWF0b3IgZ3JvdXAiCittc2dzdHIgItCT0YDRg9C/0LAg0YLQstC+0YDRhtGPIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKK21zZ2lkICJVc2VyIElEIgorbXNnc3RyICLQhtC0LiDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKK21zZ2lkICJVSUQiCittc2dzdHIgIlVJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU4Cittc2dpZCAiVXNlciBuYW1lIgorbXNnc3RyICLQhtC8J9GPINC60L7RgNC40YHRgtGD0LLQsNGH0LAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorbXNnaWQgIkdyb3VwIElEIgorbXNnc3RyICLQmtC+0LQg0LPRgNGD0L/QuCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR0lEIgorbXNnc3RyICJHSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MAorbXNnaWQgIkdyb3VwIG5hbWUiCittc2dzdHIgItCd0LDQt9Cy0LAg0LPRgNGD0L/QuCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBjaGFuZ2UiCittc2dzdHIgItCn0LDRgSDQstC90LXRgdC10L3QvdGPINC+0YHRgtCw0L3QvdGW0YUg0LfQvNGW0L0iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorbXNnaWQgIkxhc3QgY2hhbmdlIgorbXNnc3RyICLQntGB0YIuINC30LzRltC90LgiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NAorbXNnaWQgIkJ5dGVzIHVzZWQiCittc2dzdHIgItCR0LDQudGC0ZbQsiDQstC40LrQvtGA0LjRgdGC0LDQvdC+IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZXMiCittc2dzdHIgItCa0ZbQu9GM0LrRltGB0YLRjCDQv9C+0LLRltC00L7QvNC70LXQvdGMIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKK21zZ2lkICJNZXNzYWdlcyIKK21zZ3N0ciAi0J/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHNlbnQiCittc2dzdHIgItCn0LDRgSDQvdCw0LTRgdC40LvQsNC90L3RjyDQvtGB0YLQsNC90L3RjNC+0LPQviDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIk1zZyBzZW50IgorbXNnc3RyICLQndCw0LTRgdC40LvQsNC90L3RjyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyByZWNlaXZlZCIKK21zZ3N0ciAi0KfQsNGBINC+0YLRgNC40LzQsNC90L3RjyDQvtGB0YLQsNC90L3RjNC+0LPQviDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIk1zZyByZWNlaXZlZCIKK21zZ3N0ciAi0J7RgtGA0LjQvNCw0L3QviIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyBzZW5kZXIiCittc2dzdHIgIlBJRCDQstGW0LTQv9GA0LDQstC90LjQutCwINC+0YHRgtCw0L3QvdGM0L7Qs9C+INC/0L7QstGW0LTQvtC80LvQtdC90L3RjyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiTXNnIHNlbmRlciIKK21zZ3N0ciAi0JLRltC00L/RgNCw0LLQvdC40LoiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgcmVjZWl2ZXIiCittc2dzdHIgIlBJRCDQvtGC0YDQuNC80YPQstCw0YfQsCDQvtGB0YLQsNC90L3RjNC+0LPQviDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIk1zZyByZWNlaXZlciIKK21zZ3N0ciAi0J7RgtGA0LjQvNGD0LLQsNGHIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzIKK21zZ2lkICJTZWdtZW50IHNpemUiCittc2dzdHIgItCg0L7Qt9C80ZbRgCDRgdC10LPQvNC10L3RgtCwIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJOdW1iZXIgb2YgYXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICLQmtGW0LvRjNC60ZbRgdGC0Ywg0LTQvtC70YPRh9C10L3QuNGFINC/0YDQvtGG0LXRgdGW0LIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MworbXNnaWQgIkF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAi0JTQvtC70YPRh9C10L3RliDQv9GA0L7RhtC10YHQuCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc0Cittc2dpZCAiU3RhdHVzIgorbXNnc3RyICLQodGC0LDQvSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc1Cittc2dpZCAiQXR0YWNoIHRpbWUiCittc2dzdHIgItCn0LDRgSDQtNC+0LvRg9GH0LXQvdC90Y8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NgorbXNnaWQgIkRldGFjaCB0aW1lIgorbXNnc3RyICLQp9Cw0YEg0LLRltC04oCZ0ZTQtNC90LDQvdC90Y8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworbXNnaWQgIkNyZWF0b3IgY29tbWFuZCBsaW5lIgorbXNnc3RyICLQmtC+0LzQsNC90LTQvdC40Lkg0YDRj9C00L7QuiDQv9GA0L7RhtC10YHRgy3RgtCy0L7RgNGG0Y8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworbXNnaWQgIkNyZWF0b3IgY29tbWFuZCIKK21zZ3N0ciAi0JrQvtC80LDQvdC00LAg0L/RgNC+0YbQtdGB0YMt0YLQstC+0YDRhtGPIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJQSUQgb2YgdGhlIGNyZWF0b3IiCittc2dzdHIgIlBJRCDQv9GA0L7RhtC10YHRgy3RgtCy0L7RgNGG0Y8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIkNyZWF0b3IgUElEIgorbXNnc3RyICJQSUQg0YLQstC+0YDRhtGPIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJQSUQgb2YgbGFzdCB1c2VyIgorbXNnc3RyICJQSUQg0L7RgdGC0LDQvdC90YzQvtCz0L4g0LrQvtGA0LjRgdGC0YPQstCw0YfQsCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiTGFzdCB1c2VyIFBJRCIKK21zZ3N0ciAiUElEINC+0YHRgtCw0L3QvdGM0L7Qs9C+INC60L7RgNC40YHRgi4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICLQmtGW0LvRjNC60ZbRgdGC0Ywg0YHQtdC80LDRhNC+0YDRltCyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODIKK21zZ2lkICJTZW1hcGhvcmVzIgorbXNnc3RyICLQodC10LzQsNGE0L7RgNGW0LIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICLQp9Cw0YEg0L7RgdGC0LDQvdC90YzQvtGXINC00ZbRlyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCittc2dpZCAiTGFzdCBvcGVyYXRpb24iCittc2dzdHIgItCe0YHRgtCw0L3QvdGPINC00ZbRjyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2Cittc2dpZCAiUmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAi0J3QsNC30LLQsCDRgNC10YHRg9GA0YHRgyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2Cittc2dpZCAiUmVzb3VyY2UiCittc2dzdHIgItCg0LXRgdGD0YDRgSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg3Cittc2dpZCAiUmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgItCe0L/QuNGBINGA0LXRgdGD0YDRgdGDIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJEZXNjcmlwdGlvbiIKK21zZ3N0ciAi0J7Qv9C40YEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIkN1cnJlbnRseSB1c2VkIgorbXNnc3RyICLQl9Cw0YDQsNC3INCy0LjQutC+0YDQuNGB0YLQvtCy0YPRlNGC0YzRgdGPIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJVc2VkIgorbXNnc3RyICLQktC40LrQvtGA0LjRgdGC0LDQvdC+IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKK21zZ2lkICJDdXJyZW50bHkgdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgItCf0L7RgtC+0YfQvdC40Lkg0LLRltC00YHQvtGC0L7QuiDQstC40LrQvtGA0LjRgdGC0LDQvdC90Y8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorbXNnaWQgIlVzZSIKK21zZ3N0ciAi0JLQuNC60L7RgNC40YHRgtCw0L3QvdGPIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJTeXN0ZW0td2lkZSBsaW1pdCIKK21zZ3N0ciAi0JfQsNCz0LDQu9GM0L3QvtGB0LjRgdGC0LXQvNC90LUg0L7QsdC80LXQttC10L3QvdGPIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJMaW1pdCIKK21zZ3N0ciAi0J7QsdC80LXQttC10L3QvdGPIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29sdW1uICVzIGRvZXMgbm90IGFwcGx5IHRvIHRoZSBzcGVjaWZpZWQgSVBDIgorbXNnc3RyICLRgdGC0L7QstC/0YfQuNC6ICVzINC90LXQt9Cw0YHRgtC+0YHQvtCy0L3QuNC5INC00L4g0LLQutCw0LfQsNC90L7Qs9C+IElQQyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg3Cittc2dpZCAiIC1nLCAtLWdsb2JhbCAgICAgIGluZm8gYWJvdXQgc3lzdGVtLXdpZGUgdXNhZ2UgKG1heSBiZSB1c2VkIHdpdGggLW0sIC1xIGFuZCAtcylcbiIKK21zZ3N0ciAiIC1nLCAtLWdsb2JhbCAgICAgINC00LDQvdGWINGJ0L7QtNC+INC30LDQs9Cw0LvRjNC90L7Qs9C+INCy0LjQutC+0YDQuNGB0YLQsNC90L3RjyDRgdC40YHRgtC10LzQuCAo0LzQvtC20L3QsCDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0LcgLW0sIC1xINGWIC1zKVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODgKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgICAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiIC1pLCAtLWlkIDzRltC0PiAgICDQstC40LLQtdGB0YLQuCDQv9C+0LTRgNC+0LHQuNGG0ZYg0YnQvtC00L4g0YDQtdGB0YPRgNGB0YMg0Lcg0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YDQvtC8IDzRltC0PlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTQKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0KDQntCX0JzQhtCgINGDINCx0LDQudGC0LDRhSwg0LAg0L3QtSDRgyDQt9GA0YPRh9C90L7QvNGDINC00LvRjyDRh9C40YLQsNC90L3RjyDRhNC+0YDQvNCw0YLRllxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTUKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiIC1jLCAtLWNyZWF0b3IgICAgICAgICAgINCy0LjQstC10YHRgtC4INC00LDQvdGWINGJ0L7QtNC+INGC0L7Qs9C+LCDRhdGC0L4g0YHRgtCy0L7RgNC40LIsINGC0LAg0LLQu9Cw0YHQvdC40LrQsFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTcKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIHVzZSB0aGUgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgINCy0LjQutC+0YDQuNGB0YLQsNGC0Lgg0YTQvtGA0LzQsNGCINCy0LjQstC10LTQtdC90L3RjyBKU09OXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5OQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yY2UgbGlzdCBvdXRwdXQgZm9ybWF0IChmb3IgZXhhbXBsZSB3aXRoIC0taWQpXG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAg0L/RgNC40LzRg9GB0L7QstC40Lkg0YTQvtGA0LzQsNGCINCy0LjQstC10LTQtdC90L3RjyDRgdC/0LjRgdC60L7QvCAo0L3QsNC/0YDQuNC60LvQsNC0INC3IC0taWQpXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMQorbXNnaWQgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgcHJpbnQgbnVtZXJpYyBwZXJtaXNzaW9ucyAoUEVSTVMgY29sdW1uKVxuIgorbXNnc3RyICIgLVAsIC0tbnVtZXJpYy1wZXJtcyAgICAgINCy0LjQstC10YHRgtC4INGH0LjRgdC70L7QstGWINC/0YDQsNCy0LAg0LTQvtGB0YLRg9C/0YMgKNGB0YLQvtCy0L/Rh9C40LogUEVSTVMpXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMworbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICAgICAgICAg0LLQuNCy0L7QtNC40YLQuCDRh9Cw0YHQuCDQtNC+0LvRg9GH0LXQvdC90Y8sINCy0ZbQtCfRlNC00L3QsNC90L3RjyDRgtCwINC30LzRltC90LhcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmljIGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLQl9Cw0LPQsNC70YzQvdGWINGB0YLQvtCy0L/Rh9C40LrQuDpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQtbWVtb3J5IGNvbHVtbnMgKC0tc2htZW1zKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorItCh0YLQvtCy0L/Rh9C40LrQuCDRgdC/0ZbQu9GM0L3QvtGXINC/0LDQvOKAmdGP0YLRliAoLS1zaG1lbXMpOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UtcXVldWUgY29sdW1ucyAoLS1xdWV1ZXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisi0KHRgtC+0LLQv9GH0LjQutC4INGH0LXRgNCz0Lgg0L/QvtCy0ZbQtNC+0LzQu9C10L3RjCAoLS1xdWV1ZXMpOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBjb2x1bW5zICgtLXNlbWFwaG9yZXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisi0KHRgtC+0LLQv9GH0LjQutC4INGB0LXQvNCw0YTQvtGA0ZbQsiAoLS1zZW1hcGhvcmVzKTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTdW1tYXJ5IGNvbHVtbnMgKC0tZ2xvYmFsKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorItCh0YLQvtCy0L/Rh9C40LrQuCDRgNC10LfRjtC80LUgKC0tZ2xvYmFsKTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJFbGVtZW50czpcbiIKKyJcbiIKK21zZ3N0ciAiIgorItCV0LvQtdC80LXQvdGC0Lg6XG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwNQorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmUgaWRlbnRpZmllcnMiCittc2dzdHIgItCa0ZbQu9GM0LrRltGB0YLRjCDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgNGW0LIg0YHQtdC80LDRhNC+0YDRltCyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDYKK21zZ2lkICJUb3RhbCBudW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAi0JfQsNCz0LDQu9GM0L3QsCDQutGW0LvRjNC60ZbRgdGC0Ywg0YHQtdC80LDRhNC+0YDRltCyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDcKK21zZ2lkICJNYXggc2VtYXBob3JlcyBwZXIgc2VtYXBob3JlIHNldC4iCittc2dzdHIgItCc0LDQutGB0LjQvNCw0LvRjNC90LAg0LrRltC70YzQutGW0YHRgtGMINGB0LXQvNCw0YTQvtGA0ZbQsiDRgyDQvdCw0LHQvtGA0ZYg0YHQtdC80LDRhNC+0YDRltCyLiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA4Cittc2dpZCAiTWF4IG51bWJlciBvZiBvcGVyYXRpb25zIHBlciBzZW1vcCgyKSIKK21zZ3N0ciAi0JzQsNC60YHQuNC80LDQu9GM0L3QsCDQutGW0LvRjNC60ZbRgdGC0Ywg0LTRltC5INGDINC+0LTQvdC+0LzRgyBzZW1vcCgyKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA5Cittc2dpZCAiU2VtYXBob3JlIG1heCB2YWx1ZSIKK21zZ3N0ciAi0JzQsNC60YHQuNC80LDQu9GM0L3QtSDQt9C90LDRh9C10L3QvdGPINGB0LXQvNCw0YTQvtGA0LAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg2MworbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAi0JrRltC70YzQutGW0YHRgtGMINGH0LXRgNCzINC/0L7QstGW0LTQvtC80LvQtdC90YwiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg2NAorbXNnaWQgIk1heCBzaXplIG9mIG1lc3NhZ2UgKGJ5dGVzKSIKK21zZ3N0ciAi0JzQsNC60YHQuNC80LDQu9GM0L3QuNC5INGA0L7Qt9C80ZbRgCDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8gKNGDINCx0LDQudGC0LDRhSkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg2NQorbXNnaWQgIkRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUgKGJ5dGVzKSIKK21zZ3N0ciAi0KLQuNC/0L7QstC40Lkg0LzQsNC60YHQuNC80LDQu9GM0L3QuNC5INGA0L7Qt9C80ZbRgCDRh9C10YDQs9C4ICjRgyDQsdCw0LnRgtCw0YUpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5Nzggc3lzLXV0aWxzL2xzaXBjLmM6OTk3Cittc2dpZCAiaHVnZXRsYiIKK21zZ3N0ciAiaHVnZXRsYiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTc5IHN5cy11dGlscy9sc2lwYy5jOjEwMDQKK21zZ2lkICJub3Jlc2VydmUiCittc2dzdHIgIm5vcmVzZXJ2ZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MQorbXNnaWQgIlNoYXJlZCBtZW1vcnkgc2VnbWVudHMiCittc2dzdHIgItCh0LXQs9C80LXQvdGC0Lgg0YHQv9GW0LvRjNC90L7RlyDQv9Cw0Lwn0Y/RgtGWIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDYyCittc2dpZCAiU2hhcmVkIG1lbW9yeSBwYWdlcyIKK21zZ3N0ciAi0KHRgtC+0YDRltC90LrQuCDRgdC/0ZbQu9GM0L3QvtGXINC/0LDQvOKAmdGP0YLRliIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MworbXNnaWQgIk1heCBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICLQnNCw0LrRgdC40LzQsNC70YzQvdC40Lkg0YDQvtC30LzRltGAINGB0LXQs9C80LXQvdGC0LAg0YHQv9GW0LvRjNC90L7RlyDQv9Cw0LzigJnRj9GC0ZYgKNGDINCx0LDQudGC0LDRhSkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjQKK21zZ2lkICJNaW4gc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAi0JzRltC90ZbQvNCw0LvRjNC90LjQuSDRgNC+0LfQvNGW0YAg0YHQtdCz0LzQtdC90YLQsCDRgdC/0ZbQu9GM0L3QvtGXINC/0LDQvOKAmdGP0YLRliAo0YMg0LHQsNC50YLQsNGFKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTEzNQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJUEMgaWRlbnRpZmllciIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAIElQQyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTIyOQorbXNnaWQgIi0tZ2xvYmFsIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tY3JlYXRvciwgLS1pZCBhbmQgLS10aW1lIgorbXNnc3RyICItLWdsb2JhbCDQvdC1INC80L7QttC90LAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INGA0LDQt9C+0Lwg0ZbQtyAtLWNyZWF0b3IsIC0taWQg0YLQsCAtLXRpbWUiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODMKK21zZ2lkICJuYW1lc3BhY2UgaWRlbnRpZmllciAoaW5vZGUgbnVtYmVyKSIKK21zZ3N0ciAi0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YAg0L/RgNC+0YHRgtC+0YDRgyDQvdCw0LfQsiAo0L3QvtC80LXRgCBpbm9kZSkiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODQKK21zZ2lkICJraW5kIG9mIG5hbWVzcGFjZSIKK21zZ3N0ciAi0YLQuNC/INC/0YDQvtGB0YLQvtGA0YMg0L3QsNC30LIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODUKK21zZ2lkICJwYXRoIHRvIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgItGI0LvRj9GFINC00L4g0L/RgNC+0YHRgtC+0YDRgyDQvdCw0LfQsiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NgorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAi0LrRltC70YzQutGW0YHRgtGMINC/0YDQvtGG0LXRgdGW0LIg0YMg0L/RgNC+0YHRgtC+0YDRliDQvdCw0LfQsiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NworbXNnaWQgImxvd2VzdCBQSUQgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAi0L3QsNC50L3QuNC20YfQuNC5IFBJRCDRgyDQv9GA0L7RgdGC0L7RgNGWINC90LDQt9CyIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg4Cittc2dpZCAiUFBJRCBvZiB0aGUgUElEIgorbXNnc3RyICJQUElEIFBJRCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OQorbXNnaWQgImNvbW1hbmQgbGluZSBvZiB0aGUgUElEIgorbXNnc3RyICLQutC+0LzQsNC90LTQvdC40Lkg0YDRj9C00L7QuiBQSUQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTAKK21zZ2lkICJVSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiVUlEIFBJRCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MQorbXNnaWQgInVzZXJuYW1lIG9mIHRoZSBQSUQiCittc2dzdHIgItGW0LzigJnRjyDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwIFBJRCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo2MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG5hbWVzcGFjZT5dXG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgNC4XSBbPNC/0YDQvtGB0YLRltGAINC90LDQt9CyPl1cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo2MTYKK21zZ2lkICJMaXN0IHN5c3RlbSBuYW1lc3BhY2VzLlxuIgorbXNnc3RyICLQktC40LLQtdGB0YLQuCDRgdC/0LjRgdC+0Log0L/RgNC+0YHRgtC+0YDRltCyINC90LDQt9CyINGB0LjRgdGC0LXQvNC4LlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYyMworbXNnaWQgIiAtcCwgLS10YXNrIDxwaWQ+ICAgICAgIHByaW50IHByb2Nlc3MgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgLXAsIC0tdGFzayA8cGlkPiAgICAgICDQstC40LLQtdGB0YLQuCDQv9GA0L7RgdGC0L7RgNC4INC90LDQt9CyINC/0YDQvtGG0LXRgdGDXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjI2Cittc2dpZCAiIC10LCAtLXR5cGUgPG5hbWU+ICAgICAgbmFtZXNwYWNlIHR5cGUgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzLCBjZ3JvdXApXG4iCittc2dzdHIgIiAtdCwgLS10eXBlIDzQvdCw0LfQstCwPiAgICAg0YLQuNC/INC/0YDQvtGB0YLQvtGA0YMg0L3QsNC30LIgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzLCBjZ3JvdXApXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzE2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbmFtZXNwYWNlIHR5cGU6ICVzIgorbXNnc3RyICLQvdC10LLRltC00L7QvNC40Lkg0YLQuNC/INC/0YDQvtGB0YLQvtGA0YMg0L3QsNC30LI6ICVzIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjczNQorbXNnaWQgIi0tdGFzayBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8bmFtZXNwYWNlPiIKK21zZ3N0ciAiLS10YXNrINC90LUg0LzQvtC20L3QsCDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0YDQsNC30L7QvCDRltC3INCw0YDQs9GD0LzQtdC90YLQvtC8IDzQv9GA0L7RgdGC0ZbRgCDQvdCw0LfQsj4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzM2Cittc2dpZCAiaW52YWxpZCBuYW1lc3BhY2UgYXJndW1lbnQiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDQv9GA0L7RgdGC0L7RgNGDINC90LDQt9CyIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjc3NAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZm91bmQgbmFtZXNwYWNlOiAlanUiCittc2dzdHIgItC90LUg0LfQvdCw0LnQtNC10L3QviDQv9GA0L7RgdGC0L7RgNGDINC90LDQt9CyOiAlanUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY2IHN5cy11dGlscy91bW91bnQuYzoxMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgNC+0LwgwqstLSVzwrsg0LzQvtC20LUg0LrQvtGA0LjRgdGC0YPQstCw0YLQuNGB0Y8g0LvQuNGI0LUg0LDQtNC80ZbQvdGW0YHRgtGA0LDRgtC+0YAgKFVJRCDQtNC+0YDRltCy0L3RjtGUICV1KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njkgc3lzLXV0aWxzL3Vtb3VudC5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICLRhtGOINC00ZbRjiDQvNC+0LbQtSDQstC40LrQvtC90YPQstCw0YLQuCDQu9C40YjQtSDQsNC00LzRltC90ZbRgdGC0YDQsNGC0L7RgCAoVUlEINC00L7RgNGW0LLQvdGO0ZQgJXUpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MyBzeXMtdXRpbHMvdW1vdW50LmM6MTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiIKK21zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgNC+0LwgwqstLSVzwrsg0LzQvtC20LUg0LrQvtGA0LjRgdGC0YPQstCw0YLQuNGB0Y8g0LvQuNGI0LUg0LDQtNC80ZbQvdGW0YHRgtGA0LDRgtC+0YAiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0IHN5cy11dGlscy91bW91bnQuYzoxMjUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCittc2dzdHIgItGG0LUg0LzQvtC20LUg0YDQvtCx0LjRgtC4INC70LjRiNC1INC60L7RgNC40YHRgtGD0LLQsNGHIHJvb3QiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjg1IHN5cy11dGlscy91bW91bnQuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzIChsaWJtb3VudCAlcyIKK21zZ3N0ciAiJXMg0LcgJXMgKGxpYm1vdW50ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMzAKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBtdGFiIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC/0YDQvtGH0LjRgtCw0YLQuCDRgtCw0LHQu9C40YbRjiDQvNC+0L3RgtGD0LLQsNC90L3RjyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkyIHN5cy11dGlscy91bW91bnQuYzoyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGlnbm9yZWRcbiIKK21zZ3N0ciAiJS0yNXM6INC/0YDQvtGW0LPQvdC+0YDQvtCy0LDQvdC+XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MworIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogYWxyZWFkeSBtb3VudGVkXG4iCittc2dzdHIgIiUtMjVzOiDQstC20LUg0LfQvNC+0L3RgtC+0LLQsNC90L5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3ZlZCB0byAlcy5cbiIKK21zZ3N0ciAiJXM6ICVzINC/0LXRgNC10YHRg9C90YPRgtC+INC00L4gJXMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgYm91bmQgb24gJXMuXG4iCittc2dzdHIgIiVzOiAlcyDQv9GA0LjQsifRj9C30LDQvdC+INC00L4gJXMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1NCBzeXMtdXRpbHMvbW91bnQuYzoyNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdW50ZWQgb24gJXMuXG4iCittc2dzdHIgIiVzOiAlcyDQt9C80L7QvdGC0L7QstCw0L3QviDQtNC+ICVzLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIHByb3BhZ2F0aW9uIGZsYWdzIGNoYW5nZWQuXG4iCittc2dzdHIgIiVzOiDQt9C80ZbQvdC10L3QviDQv9GA0LDQv9C+0YDRhtGWINC/0L7RiNC40YDQtdC90L3RjyAlcy5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJtb3VudDogJXMgZG9lcyBub3QgY29udGFpbiBTRUxpbnV4IGxhYmVscy5cbiIKKyIgICAgICAgWW91IGp1c3QgbW91bnRlZCBhbiBmaWxlIHN5c3RlbSB0aGF0IHN1cHBvcnRzIGxhYmVscyB3aGljaCBkb2VzIG5vdFxuIgorIiAgICAgICBjb250YWluIGxhYmVscywgb250byBhbiBTRUxpbnV4IGJveC4gSXQgaXMgbGlrZWx5IHRoYXQgY29uZmluZWRcbiIKKyIgICAgICAgYXBwbGljYXRpb25zIHdpbGwgZ2VuZXJhdGUgQVZDIG1lc3NhZ2VzIGFuZCBub3QgYmUgYWxsb3dlZCBhY2Nlc3MgdG9cbiIKKyIgICAgICAgdGhpcyBmaWxlIHN5c3RlbS4gIEZvciBtb3JlIGRldGFpbHMgc2VlIHJlc3RvcmVjb24oOCkgYW5kIG1vdW50KDgpLlxuIgorbXNnc3RyICIiCisibW91bnQ6ICVzINC90LUg0LzRltGB0YLQuNGC0Ywg0LzRltGC0L7QuiBTRUxpbnV4LlxuIgorIiAgICAgICDQktC4INGJ0L7QudC90L4g0LfQvNC+0L3RgtGD0LLQsNC70Lgg0YTQsNC50LvQvtCy0YMg0YHQuNGB0YLQtdC80YMsINGDINGP0LrRltC5INC/0LXRgNC10LTQsdCw0YfQtdC90L4g0LzRltGC0LrQuCDRliDRj9C60LBcbiIKKyIgICAgICAg0L3QtSDQvNGW0YHRgtC40YLRjCDQvNGW0YLQvtC6LCDRgyDQvtC/0LXRgNCw0YbRltC50L3RltC5INGB0LjRgdGC0LXQvNGWINC3INC/0ZbQtNGC0YDQuNC80LrQvtGOIFNFTGludXguXG4iCisiICAgICAgINCZ0LzQvtCy0ZbRgNC90L4sINC/0YDQvtCz0YDQsNC80Lgg0Lcg0L7QsdC80LXQttC10L3QvdGP0LzQuCDRgyDQtNC+0YHRgtGD0L/RliDQstC40LLQvtC00LjRgtC40LzRg9GC0Ywg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPXG4iCisiICAgICAgIEFWQyDRliDQvdC1INC30LzQvtC20YPRgtGMINC+0YLRgNC40LzRg9Cy0LDRgtC4INC00L7RgdGC0YPQvyDQtNC+INGG0ZbRlNGXINGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80LguXG4iCisiICAgICAgINCp0L7QsSDQtNGW0LfQvdCw0YLQuNGB0Y8g0LHRltC70YzRiNC1LCDQvtC30L3QsNC50L7QvNGC0LXRgdGPINC3INC00L7QutGD0LzQtdC90YLQsNGG0ZbRlNGOINC00L4gcmVzdG9yZWNvbig4KSDRllxuIgorIiAgICAgICBtb3VudCg4KS5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Mzc4Cittc2dpZCAiV0FSTklORzogZmFpbGVkIHRvIGFwcGx5IHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICLQn9Ce0J/QldCg0JXQlNCW0JXQndCd0K86INC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQsNGB0YLQvtGB0YPQstCw0YLQuCDQv9GA0LDQv9C+0YDRhtGWINC/0L7RiNC40YDQtdC90L3RjyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCittc2dzdHIgItC70LjRiNC1INCw0LTQvNGW0L3RltGB0YLRgNCw0YLQvtGAINC80L7QttC1INC80L7QvdGC0YPQstCw0YLQuCAlcyDQtNC+ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYWxyZWFkeSBtb3VudGVkIgorbXNnc3RyICIlcyDQstC20LUg0LfQvNC+0L3RgtC+0LLQsNC90L4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB1c2VkIGFzIHJlYWQgb25seSBsb29wLCBtb3VudGluZyByZWFkLW9ubHkiCittc2dzdHIgIiVzINCy0LjQutC+0YDQuNGB0YLQvtCy0YPRlNGC0YzRgdGPINGP0Log0L/RgNC40LTQsNGC0L3QuNC5INC70LjRiNC1INC00LvRjyDRh9C40YLQsNC90L3RjyDQv9C10YLQu9GM0L7QstC40Lkg0L/RgNC40YHRgtGA0ZbQuSwg0LzQvtC90YLRg9GU0LzQviDQu9C40YjQtSDQtNC70Y8g0YfQuNGC0LDQvdC90Y8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kICVzIGluICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC30L3QsNC50YLQuCAlcyDRgyAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDIzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnRwb2ludCAlcyBpbiAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9C90LDQudGC0Lgg0YLQvtGH0LrRgyDQvNC+0L3RgtGD0LLQsNC90L3RjyAlcyDRgyAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDI2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgc291cmNlICVzIGluICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC30L3QsNC50YLQuCDQtNC20LXRgNC10LvQviDQvNC+0L3RgtGD0LLQsNC90L3RjyAlcyDRgyAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlczogbW9yZSBmaWxlc3lzdGVtcyBkZXRlY3RlZC4gVGhpcyBzaG91bGQgbm90IGhhcHBlbixcbiIKKyIgICAgICAgdXNlIC10IDx0eXBlPiB0byBleHBsaWNpdGx5IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSBvclxuIgorIiAgICAgICB1c2Ugd2lwZWZzKDgpIHRvIGNsZWFuIHVwIHRoZSBkZXZpY2UuIgorbXNnc3RyICIiCisiJXM6INCy0LjRj9Cy0LvQtdC90L4g0LTQvtC00LDRgtC60L7QstGWINGE0LDQudC70L7QstGWINGB0LjRgdGC0LXQvNC4LiDQptGM0L7Qs9C+INC90LUg0LzQsNC70L4g0YLRgNCw0L/QuNGC0LjRgdGPLFxuIgorIiAgICAgICDRgdC60L7RgNC40YHRgtCw0LnRgtC10YHRjyAtdCA80YLQuNC/Piwg0YnQvtCxINGP0LLQvdC+INCy0LrQsNC30LDRgtC4INGC0LjQvyDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4INCw0LHQvlxuIgorIiAgICAgICB3aXBlZnMoOCksINGJ0L7QsSDRgdC/0L7RgNC+0LbQvdC40YLQuCDQv9GA0LjRgdGC0YDRltC5LiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDM2Cittc2dpZCAiSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC30L3QsNGH0LjRgtC4INGC0LjQvyDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4LCDRgtCwINGC0LjQvyDRj9Cy0L3QviDQvdC1INCy0LrQsNC30LDQvdC40LkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzOQorbXNnaWQgInlvdSBtdXN0IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAi0LLQsNC8INGB0LvRltC0INCy0LrQsNC30LDRgtC4INGC0LjQvyDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9C90LDQudGC0LggJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0NworbXNnaWQgIm1vdW50IHNvdXJjZSBub3QgZGVmaW5lZCIKK21zZ3N0ciAi0LTQttC10YDQtdC70L4g0LzQvtC90YLRg9Cy0LDQvdC90Y8g0L3QtSDQstC40LfQvdCw0YfQtdC90L4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1MSBzeXMtdXRpbHMvbW91bnQuYzo0NTMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INC/0LDRgNCw0LzQtdGC0YDQuCDQvNC+0L3RgtGD0LLQsNC90L3RjyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0dXAgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINC90LDQu9Cw0YjRgtGD0LLQsNGC0Lgg0L/QtdGC0LvRjNC+0LLQuNC5IChsb29wKSDQv9GA0LjRgdGC0YDRltC5IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50IGZhaWxlZCIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQvNC+0L3RgtGD0LLQsNGC0LgiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmlsZXN5c3RlbSBtb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorbXNnc3RyICIlczog0YTQsNC50LvQvtCy0YMg0YHQuNGB0YLQtdC80YMg0LfQvNC+0L3RgtC+0LLQsNC90L4sINCw0LvQtSDRgdC/0YDQvtCx0LAg0LLQuNC60L7QvdCw0L3QvdGPIG1vdW50KDgpINC30LDQstC10YDRiNC40LvQsNGB0Y8g0L/QvtC80LjQu9C60L7RjiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDg5IHN5cy11dGlscy9tb3VudC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgItGC0L7Rh9C60LAg0LzQvtC90YLRg9Cy0LDQvdC90Y8gJXMg0L3QtSDRlCDQutCw0YLQsNC70L7Qs9C+0LwiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ5MworbXNnaWQgIm11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKK21zZ3N0ciAi0LTQu9GPINCy0LjQutC+0YDQuNGB0YLQsNC90L3RjyBtb3VudCDRgdC70ZbQtCDQvNCw0YLQuCDQv9GA0LDQstCwINCw0LTQvNGW0L3RltGB0YLRgNCw0YLQvtGA0LAiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBidXN5IgorbXNnc3RyICIlcyDQt9Cw0LnQvdGP0YLQviIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCBvciAlcyBidXN5IgorbXNnc3RyICIlcyDQstC20LUg0LfQvNC+0L3RgtC+0LLQsNC90L4g0LDQsdC+ICVzINC30LDQudC90Y/RgtC+IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorbXNnc3RyICIgICAgICAgJXMg0LLQttC1INC30LzQvtC90YLQvtCy0LDQvdC+INC00L4gJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50ICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICLRgtC+0YfQutC4INC80L7QvdGC0YPQstCw0L3QvdGPICVzINC90LUg0ZbRgdC90YPRlCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50ICVzIGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIgorbXNnc3RyICLRgtC+0YfQutCwINC80L7QvdGC0YPQstCw0L3QvdGPICVzINGUINGB0LjQvNCy0L7Qu9GW0YfQvdC40Lwg0L/QvtGB0LjQu9Cw0L3QvdGP0LwsINGP0LrQtSDQvdGW0LrRg9C00Lgg0L3QtSDQstC60LDQt9GD0ZQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi0YHQv9C10YbRltCw0LvRjNC90L7Qs9C+INC/0YDQuNGB0YLRgNC+0Y4gJXMg0L3QtSDRltGB0L3Rg9GUIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MzYgc3lzLXV0aWxzL21vdW50LmM6NTM4IHN5cy11dGlscy9tb3VudC5jOjU0MAorIzogc3lzLXV0aWxzL21vdW50LmM6NTU1Cittc2dpZCAibW91bnQoMikgZmFpbGVkIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0LLQuNC60L7QvdCw0YLQuCBtb3VudCgyKSDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTUxCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IChhIHBhdGggcHJlZml4IGlzIG5vdCBhIGRpcmVjdG9yeSkiCittc2dzdHIgItGB0L/QtdGG0ZbQsNC70YzQvdC+0LPQviDQv9GA0LjRgdGC0YDQvtGOICVzINC90LUg0ZbRgdC90YPRlCAo0L/RgNC10YTRltC60YEg0YjQu9GP0YXRgyDQvdC1INGUINC60LDRgtCw0LvQvtCz0L7QvCkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICIlcyDQvdC1INC30LzQvtC90YLQvtCy0LDQvdC+INCw0LHQviDQstC60LDQt9Cw0L3QviDQv9C+0LzQuNC70LrQvtCy0LjQuSDQv9Cw0YDQsNC80LXRgtGAIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50cG9pbnQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAiJXMg0L3QtSDRlCDRgtC+0YfQutC+0Y4g0LzQvtC90YLRg9Cy0LDQvdC90Y8g0LDQsdC+INCy0LrQsNC30LDQvdC+INC/0L7QvNC40LvQutC+0LLQuNC5INC/0LDRgNCw0LzQtdGC0YAiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2NQorbXNnaWQgIiIKKyJiYWQgb3B0aW9uLiBOb3RlIHRoYXQgbW92aW5nIGEgbW91bnQgcmVzaWRpbmcgdW5kZXIgYSBzaGFyZWRcbiIKKyIgICAgICAgbW91bnQgaXMgdW5zdXBwb3J0ZWQuIgorbXNnc3RyICIiCisi0L/QvtC80LjQu9C60L7QstC40Lkg0L/QsNGA0LDQvNC10YLRgC4g0JfQsNGD0LLQsNC20YLQtSwg0YnQviDQv9C10YDQtdGB0YPQstCw0L3QvdGPINGC0L7Rh9C60Lgg0LzQvtC90YLRg9Cy0LDQvdC90Y8g0YMg0YDQsNC30ZZcbiIKKyIgICAgICAg0YHQv9GW0LvRjNC90L7Qs9C+INC80L7QvdGC0YPQstCw0L3QvdGPINC90LUg0L/RltC00YLRgNC40LzRg9GU0YLRjNGB0Y8uIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIndyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLFxuIgorIiAgICAgICBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKK21zZ3N0ciAiIgorItC/0L7QvNC40LvQutC+0LLQuNC5INGC0LjQvyDQpNChLCDQv9C+0LzQuNC70LrQvtCy0LjQuSDQv9Cw0YDQsNC80LXRgtGALCDQv9C+0LzQuNC70LrQvtCy0LjQuSDRgdGD0L/QtdGA0LHQu9C+0Log0L3QsCAlcyxcbiIKKyIgICAgICAg0L3QtSDQstC40YHRgtCw0YfQsNGUINC60L7QtNC+0LLQvtGXINGB0YLQvtGA0ZbQvdC60Lgg0LDQsdC+INC00L7Qv9C+0LzRltC20L3QvtGXINC/0YDQvtCz0YDQsNC80Lgg0YfQuCDRltC90YjQsCDQv9C+0LzQuNC70LrQsCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgICAgKGZvciBzZXZlcmFsIGZpbGVzeXN0ZW1zIChlLmcuIG5mcywgY2lmcykgeW91IG1pZ2h0XG4iCisiICAgICAgIG5lZWQgYSAvc2Jpbi9tb3VudC48dHlwZT4gaGVscGVyIHByb2dyYW0pXG4iCittc2dzdHIgIiIKKyIgICAgICAgKNC00LvRjyDRgNC+0LHQvtGC0Lgg0Lcg0LTQtdGP0LrQuNC80Lgg0YTQsNC50LvQvtCy0LjQvNC4INGB0LjRgdGC0LXQvNCw0LzQuCAo0LfQvtC60YDQtdC80LAgbmZzLCBjaWZzKVxuIgorIiAgICAgICDQstCw0Lwg0LzQvtC20LUg0LfQvdCw0LTQvtCx0LjRgtC40YHRjyDQtNC+0L/QvtC80ZbQttC90LAg0L/RgNC+0LPRgNCw0LzQsCAvc2Jpbi9tb3VudC480YLQuNC/PilcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIgICAgICAgSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBpcyBmb3VuZCBpbiBzeXNsb2cgLSB0cnlcbiIKKyIgICAgICAgZG1lc2cgfCB0YWlsIG9yIHNvLlxuIgorbXNnc3RyICIiCisiXG4iCisiICAgICAgINCG0L3QvtC00ZYg0LrQvtGA0LjRgdC90YMg0ZbQvdGE0L7RgNC80LDRhtGW0Y4g0LzQvtC20L3QsCDQt9C90LDQudGC0Lgg0YMg0YHQuNGB0YLQtdC80L3QvtC80YMg0LbRg9GA0L3QsNC70ZYsXG4iCisiICAgICAgINGB0L/RgNC+0LHRg9C50YLQtSAtIGRtZXNnIHwgdGFpbCDRh9C4INGJ0L7RgdGMINC/0L7QtNGW0LHQvdC1LlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1ODMKK21zZ2lkICJtb3VudCB0YWJsZSBmdWxsIgorbXNnc3RyICLRgtCw0LHQu9C40YbRjyDQvNC+0L3RgtGD0LLQsNC90L3RjyDQv9C10YDQtdC/0L7QstC90LXQvdCwIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IHJlYWQgc3VwZXJibG9jayIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0L/RgNC+0YfQuNGC0LDRgtC4INGB0YPQv9C10YDQsdC70L7QuiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTkyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlICclcyciCittc2dzdHIgItC90LXQstGW0LTQvtC80LjQuSDRgtC40L8g0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuCDCqyVzwrsiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU5NAorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICLQvdC10LLRltC00L7QvNC40Lkg0YLQuNC/INGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80LgiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UsIGFuZCBzdGF0KDIpIGZhaWxzPyIKK21zZ3N0ciAiJXMg0L3QtSDRlCDQsdC70L7QutC+0LLQuNC8INC/0YDQuNGB0YLRgNC+0ZTQvCwg0LAg0YHQv9GA0L7QsdCwINCy0LjQutC+0L3QsNC90L3RjyBzdGF0KDIpINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWPyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ0aGUga2VybmVsIGRvZXMgbm90IHJlY29nbml6ZSAlcyBhcyBhIGJsb2NrIGRldmljZVxuIgorIiAgICAgICAobWF5YmUgYG1vZHByb2JlIGRyaXZlcic/KSIKK21zZ3N0ciAiIgorItC/0YDQuNGB0YLRgNGW0LkgJXMg0L3QtSDRgNC+0LfQv9GW0LfQvdCw0L3QviDRj9C00YDQvtC8INGP0Log0LHQu9C+0LrQvtCy0LjQuVxuIgorIiAgICAgICAo0LfQsNCx0YPQu9C4IMKrbW9kcHJvYmUg0LTRgNCw0LnQstC10YDCuz8pIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIChtYXliZSB0cnkgYC1vIGxvb3AnPykiCittc2dzdHIgIiVzINC90LUg0ZQg0LHQu9C+0LrQvtCy0LjQvCDQv9GA0LjRgdGC0YDQvtGU0LwgKNCy0LDRgNGC0L4g0YHQv9GA0L7QsdGD0LLQsNGC0LggYC1vIGxvb3AnPykiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIgJXMg0L3QtSDRlCDQsdC70L7QutC+0LLQuNC8INC/0YDQuNGB0YLRgNC+0ZTQvCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXMg0L3QtSDRlCDQutC+0YDQtdC60YLQvdC40Lwg0LHQu9C+0LrQvtCy0LjQvCDQv9GA0LjRgdGC0YDQvtGU0LwiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQgJXMgcmVhZC1vbmx5IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC30LzQvtC90YLRg9Cy0LDRgtC4ICVzINGDINGA0LXQttC40LzRliDQu9C40YjQtSDRh9C40YLQsNC90L3RjyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHdyaXRlLXByb3RlY3RlZCBidXQgZXhwbGljaXQgYC13JyBmbGFnIGdpdmVuIgorbXNnc3RyICIlcyDQt9Cw0YXQuNGJ0LXQvdC+INCy0ZbQtCDQt9Cw0L/QuNGB0YMsINCw0LvQtSDQsdGD0LvQviDRj9Cy0L3QviDQstC60LDQt9Cw0L3QviDQutC70Y7RhyDCqy13wrsiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyOAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVtb3VudCAlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L/QvtCy0YLQvtGA0L3QviDQt9C80L7QvdGC0YPQstCw0YLQuCAlcyDRgyDRgNC10LbQuNC80ZYg0YfQuNGC0LDQvdC90Y8t0LfQsNC/0LjRgdGDLCDQv9GA0LjRgdGC0YDRltC5INC30LDRhdC40YnQtdC90L4g0LLRltC0INC30LDQv9C40YHRgyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjMxIHN5cy11dGlscy9tb3VudC5jOjY1NCBzeXMtdXRpbHMvdW5zaGFyZS5jOjE4OAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBvbiAlcyBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDQvNC+0L3RgtGD0LLQsNC90L3RjyAlcyDQtNC+ICVzINC30LDQstC10YDRiNC40LvQsNGB0Y8g0L3QtdCy0LTQsNC70L4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50aW5nIHJlYWQtb25seSIKK21zZ3N0ciAiJXMg0LfQsNGF0LjRidC10L3QviDQstGW0LQg0LfQsNC/0LjRgdGDLCDQvNC+0L3RgtGD0ZTQvNC+INC70LjRiNC1INC00LvRjyDRh9C40YLQsNC90L3RjyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKK21zZ3N0ciAi0YMgJXMg0L3QtSDQt9C90LDQudC00LXQvdC+INC90L7RgdGW0Y8g0LTQsNC90LjRhSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0LgiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxNworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBvcHRpb24gZm9ybWF0OiAlcyIKK21zZ3N0ciAi0L3QtdC/0ZbQtNGC0YDQuNC80YPQstCw0L3QuNC5INGE0L7RgNC80LDRgiDQv9Cw0YDQsNC80LXRgtGA0ZbQsjogJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYXBwZW5kIG9wdGlvbiAnJXMnIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC00L7Qv9C40YHQsNGC0Lgg0L/QsNGA0LDQvNC10YLRgCDCqyVzwrsiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjczNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZV0gPHNvdXJjZT4gfCBbLS10YXJnZXRdIDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgPG9wZXJhdGlvbj4gPG1vdW50cG9pbnQ+IFs8dGFyZ2V0Pl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstbGhWXVxuIgorIiAlMSRzIC1hIFvQv9Cw0YDQsNC80LXRgtGA0LhdXG4iCisiICUxJHMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gWy0tc291cmNlXSA80LTQttC10YDQtdC70L4+IHwgWy0tdGFyZ2V0XSA80LrQsNGC0LDQu9C+0LM+XG4iCisiICUxJHMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gPNC00LbQtdGA0LXQu9C+PiA80LrQsNGC0LDQu9C+0LM+XG4iCisiICUxJHMgPNC00ZbRjz4gPNGC0L7Rh9C60LAg0LzQvtC90YLRg9Cy0LDQvdC90Y8+IFs80L/RgNC40LfQvdCw0YfQtdC90L3Rjz5dXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0NAorbXNnaWQgIk1vdW50IGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAi0JfQvNC+0L3RgtGD0LLQsNGC0Lgg0YTQsNC50LvQvtCy0YMg0YHQuNGB0YLQtdC80YMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIG1vdW50IGFsbCBmaWxlc3lzdGVtcyBtZW50aW9uZWQgaW4gZnN0YWJcbiIKKyIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCisiIC1mLCAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIG1vdW50KDIpIHN5c2NhbGxcbiIKKyIgLUYsIC0tZm9yayAgICAgICAgICAgICAgZm9yayBvZmYgZm9yIGVhY2ggZGV2aWNlICh1c2Ugd2l0aCAtYSlcbiIKKyIgLVQsIC0tZnN0YWIgPHBhdGg+ICAgICAgYWx0ZXJuYXRpdmUgZmlsZSB0byAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAg0LfQvNC+0L3RgtGD0LLQsNGC0Lgg0LLRgdGWINGE0LDQudC70L7QstGWINGB0LjRgdGC0LXQvNC4LCDQt9Cz0LDQtNCw0L3RliDRgyBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICDQvdC1INC/0LXRgNC10LLQvtC00LjRgtC4INGI0LvRj9GF0Lgg0YMg0LrQsNC90L7QvdGW0YfQvdGDINGE0L7RgNC80YNcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAg0YLQtdGB0YLQvtCy0LjQuSDQt9Cw0L/Rg9GB0Lo7INC/0YDQvtC/0YPRgdGC0LjRgtC4INGB0LjRgdGC0LXQvNC90LjQuSDQstC40LrQu9C40LogbW91bnQoMilcbiIKKyIgLUYsIC0tZm9yayAgICAgICAgICAgICAg0LLRltC00LPQsNC70YPQttGD0LLQsNGC0LjRgdGPINC00LvRjyDQutC+0LbQvdC+0LPQviDQv9GA0LjRgdGC0YDQvtGOICjQutC+0YDQuNGB0YLRg9C50YLQtdGB0Y8g0LcgLWEpXG4iCisiIC1ULCAtLWZzdGFiIDzRiNC70Y/RhT4gICAgICDRhNCw0LnQuywg0LDQu9GM0YLQtdGA0L3QsNGC0LjQstC90LjQuSDRidC+0LTQviAvZXRjL2ZzdGFiXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgbW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgINC90LUg0LLQuNC60LvQuNC60LDRgtC4INC00L7Qv9C+0LzRltC20L3RliDQv9GA0L7Qs9GA0LDQvNC4IG1vdW50LjzRgtC40L8+XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NgorIywgYy1mb3JtYXQKK21zZ2lkICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgc2hvdyBhbHNvIGZpbGVzeXN0ZW0gbGFiZWxzXG4iCittc2dzdHIgIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICDQstC40LLQtdGB0YLQuCDRgtCw0LrQvtC2INC80ZbRgtC60Lgg0YTQsNC50LvQvtCy0LjRhSDRgdC40YHRgtC10LxcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU4IHN5cy11dGlscy91bW91bnQuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCittc2dzdHIgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICDQvdC1INCy0LjQutC+0L3Rg9Cy0LDRgtC4INC30LDQv9C40YEg0LTQviAvZXRjL210YWJcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbW91bnQgb3B0aW9uc1xuIgorIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC1vbmx5IChzYW1lIGFzIC1vIHJvKVxuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiIgorIiAtbywgLS1vcHRpb25zIDzRgdC/0LjRgdC+0Lo+ICAg0YHQv9C40YHQvtC6INCy0ZbQtNC+0LrRgNC10LzQu9C10L3QuNGFINC60L7QvNCw0LzQuCDQv9Cw0YDQsNC80LXRgtGA0ZbQsiDQvNC+0L3RgtGD0LLQsNC90L3Rj1xuIgorIiAtTywgLS10ZXN0LW9wdHMgPNGB0L/QuNGB0L7Quj4g0L7QsdC80LXQttC40YLQuCDQvdCw0LHRltGAINGE0LDQudC70L7QstC40YUg0YHQuNGB0YLQtdC8ICjRgdC60L7RgNC40YHRgtCw0LnRgtC10YHRjyDQtyAtYSlcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgINC30LzQvtC90YLRg9Cy0LDRgtC4INGE0LDQudC70L7QstGDINGB0LjRgdGC0LXQvNGDINGDINGA0LXQttC40LzRliDQu9C40YjQtSDRh9C40YLQsNC90L3RjyAoPSAtbyBybylcbiIKKyIgLXQsIC0tdHlwZXMgPNGB0L/QuNGB0L7Quj4gICAgINC+0LHQvNC10LbQuNGC0Lgg0L3QsNCx0ZbRgCDRgtC40L/RltCyINGE0LDQudC70L7QstC40YUg0YHQuNGB0YLQtdC8XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc2NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLXNvdXJjZSA8c3JjPiAgICAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIHNvdXJjZSAocGF0aCwgbGFiZWwsIHV1aWQpXG4iCisiICAgICAtLXRhcmdldCA8dGFyZ2V0PiAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1zb3VyY2UgPNC00LbQtdGA0LXQu9C+PiAg0LLQutCw0LfQsNGC0Lgg0LTQttC10YDQtdC70L4g0Y/QstC90L4gKNGI0LvRj9GFLCDQvNGW0YLQutCwLCB1dWlkKVxuIgorIiAgICAgLS10YXJnZXQgPNGG0ZbQu9GMPiAgICAg0LLQutCw0LfQsNGC0Lgg0YLQvtGH0LrRgyDQvNC+0L3RgtGD0LLQsNC90L3RjyDRj9Cy0L3QvlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3Njggc3lzLXV0aWxzL3Vtb3VudC5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBzYXkgd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAg0L/QvtCy0ZbQtNC+0LzQuNGC0Lgg0L/RgNC+INC00ZbRlywg0Y/QutGWINCx0YPQtNC1INCy0LjQutC+0L3QsNC90L5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAg0LfQvNC+0L3RgtGD0LLQsNGC0Lgg0YTQsNC50LvQvtCy0YMg0YHQuNGB0YLQtdC80YMg0YMg0YDQtdC20LjQvNGWINGH0LjRgtCw0L3QvdGPLdC30LDQv9C40YHRgyAo0YLQuNC/0L7QstC+KVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNvdXJjZTpcbiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorbXNnc3RyICIiCisiXG4iCisi0JTQttC10YDQtdC70L46XG4iCisiIC1MLCAtLWxhYmVsIDzQvNGW0YLQutCwPiAgICAg0YHQuNC90L7QvdGW0Lwg0LTQviBMQUJFTD080LzRltGC0LrQsD5cbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAg0YHQuNC90L7QvdGW0Lwg0LTQviBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD080LzRltGC0LrQsD4gICAgICAgICAgINCy0LrQsNC30LDRgtC4INC/0YDQuNGB0YLRgNGW0Lkg0LfQsCDQvNGW0YLQutC+0Y4g0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICDQstC60LDQt9Cw0YLQuCDQv9GA0LjRgdGC0YDRltC5INC30LAgVVVJRCDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4XG4iCisiIFBBUlRMQUJFTD080LzRltGC0LrQuD4gICAgICAg0LLQutCw0LfQsNGC0Lgg0L/RgNC40YHRgtGA0ZbQuSDQt9CwINC80ZbRgtC60L7RjiDRgNC+0LfQtNGW0LvRg1xuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgICDQstC60LDQt9Cw0YLQuCDQv9GA0LjRgdGC0YDRltC5INC30LAgVVVJRCDRgNC+0LfQtNGW0LvRg1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorbXNnc3RyICIiCisiIDzQv9GA0LjRgdGC0YDRltC5PiAgICAgICAgICAgICAg0LLQutCw0LfQsNGC0Lgg0L/RgNC40YHRgtGA0ZbQuSDQt9CwINGI0LvRj9GF0L7QvFxuIgorIiA80LrQsNGC0LDQu9C+0LM+ICAgICAgICAgICAgICAg0YLQvtGH0LrQsCDQvNC+0L3RgtGD0LLQsNC90L3RjyDQtNC70Y8g0LzQvtC90YLRg9Cy0LDQvdGMINC/0YDQuNCyJ9GP0LfRg9Cy0LDQvdC90Y8gKNC00LjQsi4gLS1iaW5kL3JiaW5kKVxuIgorIiA80YTQsNC50Ls+ICAgICAgICAgICAgICAgICAg0LfQstC40YfQsNC50L3QuNC5INGE0LDQudC7INC00LvRjyDQvdCw0LvQsNGI0YLRg9Cy0LDQvdC90Y8g0L/QtdGC0LvRjNC+0LLQvtCz0L4g0L/RgNC40YHRgtGA0L7RjlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wZXJhdGlvbnM6XG4iCisiIC1CLCAtLWJpbmQgICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBzb21ld2hlcmUgZWxzZSAoc2FtZSBhcyAtbyBiaW5kKVxuIgorIiAtTSwgLS1tb3ZlICAgICAgICAgICAgICBtb3ZlIGEgc3VidHJlZSB0byBzb21lIG90aGVyIHBsYWNlXG4iCisiIC1SLCAtLXJiaW5kICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBhbmQgYWxsIHN1Ym1vdW50cyBzb21ld2hlcmUgZWxzZVxuIgorbXNnc3RyICIiCisiXG4iCisi0JTRltGXOlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICDQt9C80L7QvdGC0YPQstCw0YLQuCDQv9GW0LTRltGU0YDQsNGA0YXRltGOINGDINGW0L3RiNC1INC80ZbRgdGG0LUgKNGC0LUg0YHQsNC80LUsINGJ0L4g0ZYgLW8gYmluZClcbiIKKyIgLU0sIC0tbW92ZSAgICAgICAgICAgICAg0L/QtdGA0LXRgdGD0L3Rg9GC0Lgg0L/RltC00ZbRlNGA0LDRgNGF0ZbRjiDQtNC+INGW0L3RiNC+0LPQviDQvNGW0YHRhtGPXG4iCisiIC1SLCAtLXJiaW5kICAgICAgICAgICAgINC30LzQvtC90YLRg9Cy0LDRgtC4INC/0ZbQtNGW0ZTRgNCw0YDRhdGW0Y4g0ZYg0LLRgdGWINC/0ZbQtNC80L7QvdGC0YPQstCw0L3QvdGPINGDINGW0L3RiNC1INC80ZbRgdGG0LVcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisiIC0tbWFrZS1zaGFyZWQgICAgICAgICAgINC/0L7Qt9C90LDRh9C40YLQuCDQv9GW0LTRltGU0YDQsNGA0YXRltGOINGP0Log0YHQv9GW0LvRjNC90YNcbiIKKyIgLS1tYWtlLXNsYXZlICAgICAgICAgICAg0L/QvtC30L3QsNGH0LjRgtC4INC/0ZbQtNGW0ZTRgNCw0YDRhdGW0Y4g0Y/QuiDQv9GW0LTQu9C10LPQu9GDXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgINC/0L7Qt9C90LDRh9C40YLQuCDQv9GW0LTRltGU0YDQsNGA0YXRltGOINGP0Log0LfQsNC60YDQuNGC0YNcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAg0L/QvtC30L3QsNGH0LjRgtC4INC/0ZbQtNGW0ZTRgNCw0YDRhdGW0Y4g0Y/QuiDQvdC10L/RgNC40LTQsNGC0L3RgyDQtNC+INC/0YDQuNCyJ9GP0LfRg9Cy0LDQvdC90Y9cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6ODAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1yc2xhdmUgICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgINGA0LXQutGD0YDRgdC40LLQvdC+INC/0L7Qt9C90LDRh9C40YLQuCDQstGB0Y4g0L/RltC00ZbRlNGA0LDRgNGF0ZbRjiDRj9C6INGB0L/RltC70YzQvdGDXG4iCisiIC0tbWFrZS1yc2xhdmUgICAgICAgICAgINGA0LXQutGD0YDRgdC40LLQvdC+INC/0L7Qt9C90LDRh9C40YLQuCDQstGB0Y4g0L/RltC00ZbRlNGA0LDRgNGF0ZbRjiDRj9C6INC/0ZbQtNC70LXQs9C70YNcbiIKKyIgLS1tYWtlLXJwcml2YXRlICAgICAgICAg0YDQtdC60YPRgNGB0LjQstC90L4g0L/QvtC30L3QsNGH0LjRgtC4INCy0YHRjiDQv9GW0LTRltGU0YDQsNGA0YXRltGOINGP0Log0LfQsNC60YDQuNGC0YNcbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAg0YDQtdC60YPRgNGB0LjQstC90L4g0L/QvtC30L3QsNGH0LjRgtC4INCy0YHRjiDQv9GW0LTRltGU0YDQsNGA0YXRltGOINGP0Log0L3QtdC/0YDQuNC00LDRgtC90YMg0LTQviDQv9GA0LjQsifRj9C30LrQuFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4ODcgc3lzLXV0aWxzL3Vtb3VudC5jOjU0OAorbXNnaWQgImxpYm1vdW50IGNvbnRleHQgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0YDQvtC30L/QvtC00ZbQu9C40YLQuCDQutC+0L3RgtC10LrRgdGCIGxpYm1vdW50IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo5NDQgc3lzLXV0aWxzL3Vtb3VudC5jOjYwMQorbXNnaWQgImZhaWxlZCB0byBzZXQgb3B0aW9ucyBwYXR0ZXJuIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INGI0LDQsdC70L7QvSDQv9Cw0YDQsNC80LXRgtGA0ZbQsiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTA5NworbXNnaWQgInNvdXJjZSBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgItC00LbQtdGA0LXQu9C+INCy0LrQsNC30LDQvdC+INC00LXQutGW0LvRjNC60LAg0YDQsNC30ZbQsiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstcWRdIC9wYXRoL3RvL2RpcmVjdG9yeVxuIgorIiAlMSRzIC14IC9kZXYvZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLXFkXSAv0YjQu9GP0YUv0LTQvi/QutCw0YLQsNC70L7Qs9GDXG4iCisiICUxJHMgLXggL2Rldi/Qv9GA0LjRgdGC0YDRltC5XG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTIyCittc2dpZCAiQ2hlY2sgd2hldGhlciBhIGRpcmVjdG9yeSBvciBmaWxlIGlzIGEgbW91bnRwb2ludC5cbiIKK21zZ3N0ciAi0J/QtdGA0LXQstGW0YDQuNGC0Lgg0YfQuCDRlCDQutCw0YLQsNC70L7QsyDQsNCx0L4g0YTQsNC50Lsg0YLQvtGH0LrQvtGOINC80L7QvdGC0YPQstCw0L3QvdGPLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEyNQorbXNnaWQgIiIKKyIgLXEsIC0tcXVpZXQgICAgICAgIHF1aWV0IG1vZGUgLSBkb24ndCBwcmludCBhbnl0aGluZ1xuIgorIiAtZCwgLS1mcy1kZXZubyAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBmaWxlc3lzdGVtXG4iCisiIC14LCAtLWRldm5vICAgICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGJsb2NrIGRldmljZVxuIgorbXNnc3RyICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICDRgNC10LbQuNC8INCx0LXQtyDQstC40LLQtdC00LXQvdC90Y8g0L/QvtCy0ZbQtNC+0LzQu9C10L3RjFxuIgorIiAtZCwgLS1mcy1kZXZubyAgICAg0LLQuNCy0LXRgdGC0Lgg0L3QvtC80LXRgCDQv9GA0LjRgdGC0YDQvtGOINGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80LgsINC+0YHQvdC+0LLQvdC40Lk60LTQvtC00LDRgtC60L7QstC40LlcbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgINCy0LjQstC10YHRgtC4INC90L7QvNC10YAg0L/RgNC40YHRgtGA0L7RjiDQsdC70L7QutC+0LLQvtCz0L4g0L/RgNC40YHRgtGA0L7Rjiwg0L7RgdC90L7QstC90LjQuTrQtNC+0LTQsNGC0LrQvtCy0LjQuVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjE5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzINC90LUg0ZQg0YLQvtGH0LrQvtGOINC80L7QvdGC0YPQstCw0L3QvdGPXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyDRlCDRgtC+0YfQutC+0Y4g0LzQvtC90YLRg9Cy0LDQvdC90Y9cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkzIHN5cy11dGlscy91bnNoYXJlLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXVxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gPNC/0YDQvtCz0YDQsNC80LA+IFs80LDRgNCz0YPQvNC10L3Rgj4uLi5dXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzYKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggbmFtZXNwYWNlcyBvZiBvdGhlciBwcm9jZXNzZXMuXG4iCittc2dzdHIgItCX0LDQv9GD0YHRgtC4INC/0YDQvtCz0YDQsNC80YMg0Lcg0L/RgNC+0YHRgtC+0YDQsNC80Lgg0L3QsNC30LIg0ZbQvdGI0LjRhSDQv9GA0L7RhtC10YHRltCyLlxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjc5Cittc2dpZCAiIC10LCAtLXRhcmdldCA8cGlkPiAgICAgdGFyZ2V0IHByb2Nlc3MgdG8gZ2V0IG5hbWVzcGFjZXMgZnJvbVxuIgorbXNnc3RyICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICDQv9GA0L7RhtC10YEg0L/RgNC40LfQvdCw0YfQtdC90L3RjyDQtNC70Y8g0L7RgtGA0LjQvNCw0L3QvdGPINC/0YDQvtGB0YLQvtGA0ZbQsiDQvdCw0LfQslxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgwCittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgZW50ZXIgbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbSwgLS1tb3VudFs9PNGE0LDQudC7Pl0gICDQstCy0LXRgdGC0Lgg0L/RgNC+0YHRgtGW0YAg0L3QsNC30LIg0LzQvtC90YLRg9Cy0LDQvdC90Y9cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MQorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgIGVudGVyIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiIC11LCAtLXV0c1s9PNGE0LDQudC7Pl0gICAgINCy0LLQtdGB0YLQuCDQv9GA0L7RgdGC0ZbRgCDQvdCw0LfQsiBVVFMgKNC90LDQt9Cy0LAg0LLRg9C30LvQsCDRgtC+0YnQvilcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MgorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgIGVudGVyIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1pLCAtLWlwY1s9PNGE0LDQudC7Pl0gICAgINCy0LLQtdGB0YLQuCDQv9GA0L7RgdGC0ZbRgCDQvdCw0LfQsiBJUEMgU3lzdGVtIFZcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MworbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgIGVudGVyIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbiwgLS1uZXRbPTzRhNCw0LnQuz5dICAgICDQstCy0LXRgdGC0Lgg0L/RgNC+0YHRgtGW0YAg0L3QsNC30LIg0LzQtdGA0LXQttGWXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODQKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICBlbnRlciBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtcCwgLS1waWRbPTzRhNCw0LnQuz5dICAgICDQstCy0LXRgdGC0Lgg0L/RgNC+0YHRgtGW0YAg0L3QsNC30LIgcGlkXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODUKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICBlbnRlciBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtQywgLS1jZ3JvdXBbPTzRhNCw0LnQuz5dICDQstCy0LXRgdGC0Lgg0L/RgNC+0YHRgtGW0YAg0L3QsNC30LIgY2dyb3VwXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODYKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICBlbnRlciB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLVUsIC0tdXNlcls9PNGE0LDQudC7Pl0gICAg0LLQstC10YHRgtC4INC/0YDQvtGB0YLRltGAINC90LDQt9CyINC60L7RgNC40YHRgtGD0LLQsNGH0LBcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NworbXNnaWQgIiAtUywgLS1zZXR1aWQgPHVpZD4gICAgIHNldCB1aWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0LggdWlkINGDINCy0LrQsNC30LDQvdC+0LzRgyDQv9GA0L7RgdGC0L7RgNGWINC90LDQt9CyXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODgKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtRywgLS1zZXRnaWQgPGdpZD4gICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4IGdpZCDRgyDQstC60LDQt9Cw0L3QvtC80YMg0L/RgNC+0YHRgtC+0YDRliDQvdCw0LfQslxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg5Cittc2dpZCAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzIGRvIG5vdCB0b3VjaCB1aWRzIG9yIGdpZHNcbiIKK21zZ3N0ciAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzINC90LUg0YLQvtGA0LrQsNGC0LjRgdGPIHVpZCDQsNCx0L4gZ2lkXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTAKK21zZ2lkICIgLXIsIC0tcm9vdFs9PGRpcj5dICAgICBzZXQgdGhlIHJvb3QgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtciwgLS1yb290Wz080LrQsNGCPl0gICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INC60L7RgNC10L3QtdCy0LjQuSDQutCw0YLQsNC70L7Qs1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkxCittc2dpZCAiIC13LCAtLXdkWz08ZGlyPl0gICAgICAgc2V0IHRoZSB3b3JraW5nIGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXcsIC0td2RbPTzQutCw0YI+XSAgICAgICDQstGB0YLQsNC90L7QstC40YLQuCDRgNC+0LHQvtGH0LjQuSDQutCw0YLQsNC70L7Qs1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkyCittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgZG8gbm90IGZvcmsgYmVmb3JlIGV4ZWMnaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgLUYsIC0tbm8tZm9yayAgICAgICAgICDQvdC1INCy0LjQutC+0L3Rg9Cy0LDRgtC4INGA0L7Qt9Cz0LDQu9GD0LbQtdC90L3RjyDQtNC+INCy0LjQutC+0L3QsNC90L3RjyDQv9GA0L7Qs9GA0LDQvNC4IDzQv9GA0L7Qs9GA0LDQvNCwPlxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjk0Cittc2dpZCAiIC1aLCAtLWZvbGxvdy1jb250ZXh0ICAgc2V0IFNFTGludXggY29udGV4dCBhY2NvcmRpbmcgdG8gLS10YXJnZXQgUElEXG4iCittc2dzdHIgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INC60L7QvdGC0LXQutGB0YIgU0VMaW51eCDQstGW0LTQv9C+0LLRltC00L3QviDQtNC+IFBJRCAtLXRhcmdldFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJuZWl0aGVyIGZpbGVuYW1lIG5vciB0YXJnZXQgcGlkIHN1cHBsaWVkIGZvciAlcyIKK21zZ3N0ciAi0L3QtSDQstC60LDQt9Cw0L3QviDQvdGWINC90LDQt9Cy0Lgg0YTQsNC50LvQsCDQvdGWIHBpZCDQv9GA0LjQt9C90LDRh9C10L3QvdGPINC00LvRjyAlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoyNzcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdWlkIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0LggdWlkIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjI4MQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBnaWQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCBnaWQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzE3Cittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tZm9sbG93LWNvbnRleHQiCittc2dzdHIgItC90LUg0LLQutCw0LfQsNC90L4gUElEINC/0YDQuNC30L3QsNGH0LXQvdC90Y8g0LTQu9GPIC0tZm9sbG93LWNvbnRleHQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgJWQgU0VMaW51eCBjb250ZXh0IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0LrQvtC90YLQtdC60YHRgiBTRUxpbnV4ICVkIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMyMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGV4ZWMgY29udGV4dCB0byAnJXMnIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INC60L7QvdGC0LXQutGB0YIg0LLQuNC60L7QvdCw0L3QvdGPINGDINC30L3QsNGH0LXQvdC90Y8gJXMiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mzc0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYXNzb2NpYXRlIHRvIG5hbWVzcGFjZSAnJXMnIGZhaWxlZCIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINC/0L7QstGC0L7RgNC90L7RlyDQv9GA0LjQsifRj9C30LrQuCDQtNC+INC/0YDQvtGB0YLQvtGA0YMg0L3QsNC30LIgwqslc8K7INC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM5MAorbXNnaWQgImNhbm5vdCBvcGVuIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRltC00LrRgNC40YLQuCDQv9C+0YLQvtGH0L3QuNC5INGA0L7QsdC+0YfQuNC5INC60LDRgtCw0LvQvtCzIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM5NworbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgcm9vdCBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0LfQvNGW0L3QuCDQutCw0YLQsNC70L7Qs9GDINC90LAg0LrQsNGC0LDQu9C+0LMg0Lcg0LTQtdGB0LrRgNC40L/RgtC+0YDQvtC8INGE0LDQudC70LAg0LrQvtGA0LXQvdC10LLQvtCz0L4g0LrQsNGC0LDQu9C+0LPRgyDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MDAKK21zZ2lkICJjaHJvb3QgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCBjaHJvb3QiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDEwCittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSB3b3JraW5nIGRpcmVjdG9yeSBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0LfQvNGW0L3QuCDQutCw0YLQsNC70L7Qs9GDINC90LAg0LrQsNGC0LDQu9C+0LMg0Lcg0LTQtdGB0LrRgNC40L/RgtC+0YDQvtC8INGE0LDQudC70LAg0YDQvtCx0L7Rh9C+0LPQviDQutCw0YLQsNC70L7Qs9GDINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQyMSBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxNSBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxOQorbXNnaWQgInNldGdyb3VwcyBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwIHNldGdyb3VwcyIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIG5ld19yb290IHB1dF9vbGRcbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdINC90L7QstC40Llf0LrQvtGA0ZbQvdGMINC80ZbRgdGG0LVf0YHRgtCw0YDQvtCz0L5cbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozNworbXNnaWQgIkNoYW5nZSB0aGUgcm9vdCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLQl9C80ZbQvdC40YLQuCDQutC+0YDQtdC90LXQstGDINGE0LDQudC70L7QstGDINGB0LjRgdGC0LXQvNGDLlxuIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCBmcm9tIGAlcycgdG8gYCVzJyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9C80ZbQvdC40YLQuCDQutC+0YDQtdC90LXQstGDINGC0LXQutGDINC3IMKrJXPCuyDQvdCwIMKrJXPCuyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NQorbXNnaWQgImFkZHJlc3Mgc3BhY2UgbGltaXQiCittc2dzdHIgItC+0LHQvNC10LbQtdC90L3RjyDQv9GA0L7RgdGC0L7RgNGDINCw0LTRgNC10YEiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKK21zZ2lkICJtYXggY29yZSBmaWxlIHNpemUiCittc2dzdHIgItC80LDQutGB0LjQvNCw0LvRjNC90LjQuSDRgNC+0LfQvNGW0YAg0YTQsNC50LvQsCDRj9C00YDQsCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworbXNnaWQgIkNQVSB0aW1lIgorbXNnc3RyICLQp9Cw0YEg0L/RgNC+0YbQtdGB0L7RgNCwIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAic2Vjb25kcyIKK21zZ3N0ciAi0YHQtdC60YPQvdC0IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4Cittc2dpZCAibWF4IGRhdGEgc2l6ZSIKK21zZ3N0ciAi0LzQsNC60YEuINGA0L7Qt9C80ZbRgCDQtNCw0L3QuNGFIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5Cittc2dpZCAibWF4IGZpbGUgc2l6ZSIKK21zZ3N0ciAi0LzQsNC60YEuINGA0L7Qt9C80ZbRgCDRhNCw0LnQu9CwIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCittc2dpZCAibWF4IG51bWJlciBvZiBmaWxlIGxvY2tzIGhlbGQiCittc2dzdHIgItC00L7RgdGP0LPQvdGD0YLQviDQvNCw0LrRgdC40LzQsNC70YzQvdC+0Zcg0LrRltC70YzQutC+0YHRgtGWINCx0LvQvtC60YPQstCw0L3RjCDRhNCw0LnQu9GW0LIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKK21zZ2lkICJsb2NrcyIKK21zZ3N0ciAi0LHQu9C+0LrRg9Cy0LDQvdC90Y8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKK21zZ2lkICJtYXggbG9ja2VkLWluLW1lbW9yeSBhZGRyZXNzIHNwYWNlIgorbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70YzQvdC40Lkg0L/RgNC+0YHRgtGW0YAg0LDQtNGA0LXRgSDQsdC70L7QutGD0LLQsNC90L3RjyDRgyDQv9Cw0Lwn0Y/RgtGWIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyCittc2dpZCAibWF4IGJ5dGVzIGluIFBPU0lYIG1xdWV1ZXMiCittc2dzdHIgItC80LDQutGB0LjQvNCw0LvRjNC90LAg0LrRltC70YzQutGW0YHRgtGMINCx0LDQudGC0ZbQsiDRgyBtLdGH0LXRgNCz0LDRhSBQT1NJWCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MworbXNnaWQgIm1heCBuaWNlIHByaW8gYWxsb3dlZCB0byByYWlzZSIKK21zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3QtSDQt9C90LDRh9C10L3QvdGPINC/0YDRltC+0YDQuNGC0LXRgtC90L7RgdGC0ZYgbmljZSwg0Y/QutC1INC80L7QttC90LAg0LLRgdGC0LDQvdC+0LLQuNGC0LgiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKK21zZ2lkICJtYXggbnVtYmVyIG9mIG9wZW4gZmlsZXMiCittc2dzdHIgItC80LDQutGB0LjQvNCw0LvRjNC90LAg0LrRltC70YzQutGW0YHRgtGMINCy0ZbQtNC60YDQuNGC0LjRhSDRhNCw0LnQu9GW0LIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKK21zZ2lkICJmaWxlcyIKK21zZ3N0ciAi0YTQsNC50LvQuCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorbXNnaWQgIm1heCBudW1iZXIgb2YgcHJvY2Vzc2VzIgorbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70YzQvdCwINC60ZbQu9GM0LrRltGB0YLRjCDQv9GA0L7RhtC10YHRltCyIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1Cittc2dpZCAicHJvY2Vzc2VzIgorbXNnc3RyICLQv9GA0L7RhtC10YHQuCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NgorbXNnaWQgIm1heCByZXNpZGVudCBzZXQgc2l6ZSIKK21zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3QuNC5INGA0L7Qt9C80ZbRgCDQvtC/0LXRgNCw0YLQuNCy0L3QvtCz0L4g0L3QsNCx0L7RgNGDIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg3Cittc2dpZCAibWF4IHJlYWwtdGltZSBwcmlvcml0eSIKK21zZ3N0ciAi0LzQsNC60YEuINC/0YDRltC+0YDQuNGC0LXRgiDRgNC10LDQu9GM0L3QvtCz0L4g0YfQsNGB0YMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJ0aW1lb3V0IGZvciByZWFsLXRpbWUgdGFza3MiCittc2dzdHIgItGH0LDRgSDQvtGH0ZbQutGD0LLQsNC90L3RjyDQtNC70Y8g0LfQsNCy0LTQsNC90Ywg0YDQtdCw0LvRjNC90L7Qs9C+INGH0LDRgdGDIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAibWljcm9zZWNzIgorbXNnc3RyICLQvNC60YEiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJtYXggbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscyIKK21zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3QsCDQutGW0LvRjNC60ZbRgdGC0Ywg0YHQuNCz0L3QsNC70ZbQsiDRgyDRh9C10YDQt9GWIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAic2lnbmFscyIKK21zZ3N0ciAi0YHQuNCz0L3QsNC70LgiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJtYXggc3RhY2sgc2l6ZSIKK21zZ3N0ciAi0LzQsNC60YEuINGA0L7Qt9C80ZbRgCDRgdGC0LXQutCwIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyMworbXNnaWQgInJlc291cmNlIG5hbWUiCittc2dzdHIgItC90LDQt9Cy0LAg0YDQtdGB0YPRgNGB0YMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI0Cittc2dpZCAicmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgItC+0L/QuNGBINGA0LXRgdGD0YDRgdGDIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNQorbXNnaWQgInNvZnQgbGltaXQiCittc2dzdHIgItC8J9GP0LrQtSDQvtCx0LzQtdC20LXQvdC90Y8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI2Cittc2dpZCAiaGFyZCBsaW1pdCAoY2VpbGluZykiCittc2dzdHIgItC20L7RgNGB0YLQutC1INC+0LHQvNC10LbQtdC90L3RjyAo0YHRgtC10LvRjykiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI3Cittc2dpZCAidW5pdHMiCittc2dzdHIgItC+0LTQuNC90LjRhtGMIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstcCBQSURdXG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgNC4XSBbLXAgUElEXVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIENPTU1BTkRcbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdINCa0J7QnNCQ0J3QlNCQXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY2Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlc291cmNlIGxpbWl0cyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgItCf0L7QutCw0LfQsNGC0Lgg0LDQsdC+INC30LzRltC90LjRgtC4INC+0LHQvNC10LbQtdC90L3RjyDQv9GA0L7RhtC10YHRgyDRidC+0LTQviDRgNC10YHRg9GA0YHRltCyLlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmFsIE9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLQl9Cw0LPQsNC70YzQvdGWINC/0LDRgNCw0LzQtdGC0YDQuDpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjkKK21zZ2lkICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG91dHB1dFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgINGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAINC/0YDQvtGG0LXRgdGDXG4iCisiIC1vLCAtLW91dHB1dCA80YHQv9C40YHQvtC6PiAg0LLQuNC30L3QsNGH0LjRgtC4INGB0L/QuNGB0L7QuiDRgdGC0L7QstC/0YfQuNC60ZbQsiDQtNC70Y8g0LLQuNCy0LXQtNC10L3QvdGPXG4iCisiICAgICAtLW5vaGVhZGluZ3MgICAgICAg0L3QtSDQstC40LLQvtC00LjRgtC4INC30LDQs9C+0LvQvtCy0LrRltCyINGB0YLQvtCy0L/Rh9C40LrRltCyXG4iCisiICAgICAtLXJhdyAgICAgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INGE0L7RgNC80LDRgiDQstC40LLQtdC00LXQvdC90Y8g0LTQsNC90LjRhSDQsdC10Lcg0L7QsdGA0L7QsdC60LhcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICDRgNC10LbQuNC8INC00L7QutC70LDQtNC90L7Qs9C+INCy0LjQstC10LTQtdC90L3RjyDQtNCw0L3QuNGFXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAg0L/QvtC60LDQt9Cw0YLQuCDRhtC1INC00L7QstGW0LTQutC+0LLQtSDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8g0ZYg0LLQuNC50YLQuFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgINCy0LjQstC10YHRgtC4INC00LDQvdGWINGJ0L7QtNC+INCy0LXRgNGB0ZbRlyDRliDQstC40LnRgtC4XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc3Cittc2dpZCAiIgorIlxuIgorIlJlc291cmNlcyBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisi0J/QsNGA0LDQvNC10YLRgNC4INGA0LXRgdGD0YDRgdGW0LI6XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc4Cittc2dpZCAiIgorIiAtYywgLS1jb3JlICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBjb3JlIGZpbGVzIGNyZWF0ZWRcbiIKKyIgLWQsIC0tZGF0YSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgYSBwcm9jZXNzJ3MgZGF0YSBzZWdtZW50XG4iCisiIC1lLCAtLW5pY2UgICAgICAgICAgICAgbWF4aW11bSBuaWNlIHByaW9yaXR5IGFsbG93ZWQgdG8gcmFpc2VcbiIKKyIgLWYsIC0tZnNpemUgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgZmlsZXMgd3JpdHRlbiBieSB0aGUgcHJvY2Vzc1xuIgorIiAtaSwgLS1zaWdwZW5kaW5nICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFsc1xuIgorIiAtbCwgLS1tZW1sb2NrICAgICAgICAgIG1heGltdW0gc2l6ZSBhIHByb2Nlc3MgbWF5IGxvY2sgaW50byBtZW1vcnlcbiIKKyIgLW0sIC0tcnNzICAgICAgICAgICAgICBtYXhpbXVtIHJlc2lkZW50IHNldCBzaXplXG4iCisiIC1uLCAtLW5vZmlsZSAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2Ygb3BlbiBmaWxlc1xuIgorIiAtcSwgLS1tc2dxdWV1ZSAgICAgICAgIG1heGltdW0gYnl0ZXMgaW4gUE9TSVggbWVzc2FnZSBxdWV1ZXNcbiIKKyIgLXIsIC0tcnRwcmlvICAgICAgICAgICBtYXhpbXVtIHJlYWwtdGltZSBzY2hlZHVsaW5nIHByaW9yaXR5XG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAgbWF4aW11bSBzdGFjayBzaXplXG4iCisiIC10LCAtLWNwdSAgICAgICAgICAgICAgbWF4aW11bSBhbW91bnQgb2YgQ1BVIHRpbWUgaW4gc2Vjb25kc1xuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHVzZXIgcHJvY2Vzc2VzXG4iCisiIC12LCAtLWFzICAgICAgICAgICAgICAgc2l6ZSBvZiB2aXJ0dWFsIG1lbW9yeVxuIgorIiAteCwgLS1sb2NrcyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIGZpbGUgbG9ja3NcbiIKKyIgLXksIC0tcnR0aW1lICAgICAgICAgICBDUFUgdGltZSBpbiBtaWNyb3NlY29uZHMgYSBwcm9jZXNzIHNjaGVkdWxlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVyIHJlYWwtdGltZSBzY2hlZHVsaW5nXG4iCittc2dzdHIgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICDQvNCw0LrRgdC40LzQsNC70YzQvdC40Lkg0YDQvtC30LzRltGAINGB0YLQstC+0YDQtdC90LjRhSDRhNCw0LnQu9GW0LIg0Y/QtNGA0LBcbiIKKyIgLWQsIC0tZGF0YSAgICAgICAgICAgICDQvNCw0LrRgdC40LzQsNC70YzQvdC40Lkg0YDQvtC30LzRltGAINGB0LXQs9C80LXQvdGC0LAg0LTQsNC90LjRhSDQv9GA0L7RhtC10YHRg1xuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgINC80LDQutGB0LjQvNCw0LvRjNC90LAg0L/RgNGW0L7RgNC40YLQtdGC0L3RltGB0YLRjCDQv9GA0L7RhtC10YHRg1xuIgorIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgINC80LDQutGB0LjQvNCw0LvRjNC90LjQuSDRgNC+0LfQvNGW0YAg0YTQsNC50LvRltCyLCDRj9C60ZYg0LzQvtC20LUg0LfQsNC/0LjRgdGD0LLQsNGC0Lgg0L/RgNC+0YbQtdGBXG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAg0LzQsNC60YHQuNC80LDQu9GM0L3QsCDQutGW0LvRjNC60ZbRgdGC0Ywg0YHQuNCz0L3QsNC70ZbQsiDRgyDRh9C10YDQt9GWXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAg0LzQsNC60YHQuNC80LDQu9GM0L3QuNC5INC+0LEn0ZTQvCwg0Y/QutC40Lkg0L/RgNC+0YbQtdGBINC80L7QttC90LAg0LfQsNCx0LvQvtC60YPQstCw0YLQuCDRgyDQv9Cw0Lwn0Y/RgtGWXG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAg0LzQsNC60YHQuNC80LDQu9GM0L3QuNC5INC+0LEn0ZTQvCDQvtC/0LXRgNCw0YLQuNCy0L3QvtCz0L4g0L3QsNCx0L7RgNGDXG4iCisiIC1uLCAtLW5vZmlsZSAgICAgICAgICAg0LzQsNC60YHQuNC80LDQu9GM0L3QsCDQutGW0LvRjNC60ZbRgdGC0Ywg0LLRltC00LrRgNC40YLQuNGFINGE0LDQudC70ZbQslxuIgorIiAtcSwgLS1tc2dxdWV1ZSAgICAgICAgINC80LDQutGB0LjQvNCw0LvRjNC90LAg0LrRltC70YzQutGW0YHRgtGMINCx0LDQudGC0ZbQsiDRgyDRh9C10YDQs9Cw0YUg0L/QvtCy0ZbQtNC+0LzQu9C10L3RjCBQT1NJWFxuIgorIiAtciwgLS1ydHByaW8gICAgICAgICAgINC80LDQutGB0LjQvNCw0LvRjNC90LAg0L/RgNGW0L7RgNC40YLQtdGC0L3RltGB0YLRjCDRgyDQv9C70LDQvdGD0LLQsNC90L3RliDRgNC10LDQu9GM0L3QvtCz0L4g0YfQsNGB0YNcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICDQvNCw0LrRgdC40LzQsNC70YzQvdC40Lkg0YDQvtC30LzRltGAINGB0YLQtdC60LBcbiIKKyIgLXQsIC0tY3B1ICAgICAgICAgICAgICDQvNCw0LrRgdC40LzQsNC70YzQvdC40Lkg0L/RgNC+0YbQtdGB0L7RgNC90LjQuSDRh9Cw0YEg0YMg0YHQtdC60YPQvdC00LDRhVxuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgINC80LDQutGB0LjQvNCw0LvRjNC90LAg0LrRltC70YzQutGW0YHRgtGMINC/0YDQvtGG0LXRgdGW0LIg0LrQvtGA0LjRgdGC0YPQstCw0YfQsFxuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgINC+0LEn0ZTQvCDQstGW0YDRgtGD0LDQu9GM0L3QvtGXINC/0LDQvCfRj9GC0ZZcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICDQvNCw0LrRgdC40LzQsNC70YzQvdCwINC60ZbQu9GM0LrRltGB0YLRjCDQsdC70L7QutGD0LLQsNC90Ywg0YTQsNC50LvRltCyXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAg0L/RgNC+0YbQtdGB0L7RgNC90LjQuSDRh9Cw0YEg0YMg0LzRltC60YDQvtGB0LXQutGD0L3QtNCw0YUsINC30LDQv9C70LDQvdC+0LLQsNC90LjQuSDQtNC70Y8g0L/RgNC+0YbQtdGB0YNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICDRgyDRgNC10LbQuNC80ZYg0L/Qu9Cw0L3Rg9Cy0LDQvdC90Y8g0YDQtdCw0LvRjNC90L7Qs9C+INGH0LDRgdGDXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MjQzIHN5cy11dGlscy9wcmxpbWl0LmM6MjQ5IHN5cy11dGlscy9wcmxpbWl0LmM6MzY2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3MQorbXNnaWQgInVubGltaXRlZCIKK21zZ3N0ciAi0LHQtdC3INC+0LHQvNC10LbQtdC90YwiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzMyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgb2xkICVzIGxpbWl0IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0L/QvtC/0LXRgNC10LTQvdGUINC+0LHQvNC10LbQtdC90L3RjyAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHNvZnQgbGltaXQgJXMgY2Fubm90IGV4Y2VlZCB0aGUgaGFyZCBsaW1pdCIKK21zZ3N0ciAi0LfQvdCw0YfQtdC90L3RjyDQvCfRj9C60L7Qs9C+INC+0LHQvNC10LbQtdC90L3RjywgJXMsINC90LUg0LzQvtC20LUg0L/QtdGA0LXQstC40YnRg9Cy0LDRgtC4INC30L3QsNGH0LXQvdC90Y8g0LbQvtGA0YHRgtC60L7Qs9C+INC+0LHQvNC10LbQtdC90L3RjyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmV3ICVzIGxpbWl0IGZvciBwaWQgJWQ6ICIKK21zZ3N0ciAi0J3QvtCy0LUg0L7QsdC80LXQttC10L3QvdGPICVzINC00LvRjyBwaWQgJWQ6ICIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0L7QsdC80LXQttC10L3QvdGPINGA0LXRgdGD0YDRgdGDICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INC+0LHQvNC10LbQtdC90L3RjyDRgNC10YHRg9GA0YHRgyAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIGxpbWl0IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0L7QsdC80LXQttC10L3QvdGPICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NQorbXNnaWQgIm9wdGlvbiAtLXBpZCBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgCAtLXBpZCDQvNC+0LbQvdCwINCy0LrQsNC30YPQstCw0YLQuCDQu9C40YjQtSDQvtC00LjQvSDRgNCw0LciCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NjE2Cittc2dpZCAib3B0aW9ucyAtLXBpZCBhbmQgQ09NTUFORCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGA0LggLS1waWQg0ZYg0JrQntCc0JDQndCU0JAg0L3QtSDQvNC+0LbQvdCwINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQvtC00L3QvtGH0LDRgdC90L4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNworbXNnaWQgIkRpc3BsYXkga2VybmVsIHByb2ZpbGluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAi0J/QvtC60LDQt9Cw0YLQuCDQtNCw0L3RliDRidC+0LTQviDQv9GA0L7RhNGW0LvRjtCy0LDQvdC90Y8g0Y/QtNGA0LAuXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICIgLW0sIC0tbWFwZmlsZSA8bWFwZmlsZT4gICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIKK21zZ3N0ciAiIC1tLCAtLW1hcGZpbGUgPNGE0LDQudC7INC60LDRgNGC0Lg+ICjRgtC40L/QvtCy0LjQvNC4INGUIMKrJXPCuyDRllxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiVzXCIpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgwqslc8K7KVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1wLCAtLXByb2ZpbGUgPHByby1maWxlPiAgKGRlZmF1bHQ6ICBcIiVzXCIpXG4iCittc2dzdHIgIiAtcCwgLS1wcm9maWxlIDzQv9GA0L7RhNGW0LvRjD4gICAo0YLQuNC/0L7QstC40Lwg0ZQgwqslc8K7KVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTYKK21zZ2lkICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorbXNnc3RyICIgLU0sIC0tbXVsdGlwbGllciA8bT4gICAgICDQstGB0YLQsNC90L7QstC40YLQuCDQvNC90L7QttC90LjQuiDQv9GA0L7RhNGW0LvRjtCy0LDQvdC90Y8g0YMg0LfQvdCw0YfQtdC90L3RjyA8bT5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE3Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgcHJpbnQgb25seSBpbmZvIGFib3V0IHRoZSBzYW1wbGluZyBzdGVwXG4iCittc2dzdHIgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INC70LjRiNC1INC00LDQvdGWINGJ0L7QtNC+INC60YDQvtC60YMg0LTQuNGB0LrRgNC10YLQuNC30LDRhtGW0ZdcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE4Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBkYXRhXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INC00L7QutC70LDQtNC90ZYg0LTQsNC90ZZcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDQstGB0ZYg0YHQuNC80LLQvtC70LgsINC90LDQstGW0YLRjCDRj9C60YnQviDQutGW0LvRjNC60ZbRgdGC0Ywg0LTQvtGA0ZbQstC90Y7RlCDQvdGD0LvQtdCy0ZZcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIwCittc2dpZCAiIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorbXNnc3RyICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDQvtC60YDQtdC80ZYg0LfQvdCw0YfQtdC90L3RjyDQv9C+0LfQvdCw0YfQvtC6INCz0ZbRgdGC0L7Qs9GA0LDQvNC4XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMQorbXNnaWQgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgY291bnRlcnMgd2l0aGluIGZ1bmN0aW9uc1xuIgorbXNnc3RyICIgLXMsIC0tY291bnRlcnMgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDQvtC60YDQtdC80ZYg0LvRltGH0LjQu9GM0L3QuNC60Lgg0YMg0YTRg9C90LrRhtGW0Y/RhVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjIKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgINC30LDQvdGD0LvQuNGC0Lgg0LLRgdGWINC70ZbRh9C40LvRjNC90LjQutC4ICjQu9C40YjQtSDQtNC70Y8gcm9vdClcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIzCittc2dpZCAiIC1uLCAtLW5vLWF1dG8gICAgICAgICAgICAgZGlzYWJsZSBieXRlIG9yZGVyIGF1dG8tZGV0ZWN0aW9uXG4iCittc2dzdHIgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgINCy0LjQvNC60L3Rg9GC0Lgg0LDQstGC0L7QvNCw0YLQuNGH0L3QtSDQstC40LfQvdCw0YfQtdC90L3RjyDQv9C+0YDRj9C00LrRgyDQsdCw0LnRgtGW0LJcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjQwCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHdyaXRpbmcgJXMiCittc2dzdHIgItC/0L7QvNC40LvQutCwINC30LDQv9C40YHRgyAlcyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjcxCittc2dpZCAiQXNzdW1pbmcgcmV2ZXJzZWQgYnl0ZSBvcmRlci4gVXNlIC1uIHRvIGZvcmNlIG5hdGl2ZSBieXRlIG9yZGVyLiIKK21zZ3N0ciAi0JLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INC+0LHQtdGA0L3QtdC90LjQuSDQv9C+0YDRj9C00L7QuiDQsdCw0LnRgtGW0LIuINCh0LrQvtGA0LjRgdGC0LDQudGC0LXRgdGPIC1uLCDRidC+0LEg0L/RgNC40LzRg9GB0L7QstC+INCy0YHRgtCw0L3QvtCy0LjRgtC4INC/0YDQuNGA0L7QtNC90LjQuSDQv9C+0YDRj9C00L7QuiDQsdCw0LnRgtGW0LIuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2FtcGxpbmdfc3RlcDogJXVcbiIKK21zZ3N0ciAi0JrRgNC+0Lpf0L/RgNC+0YTRltC70Y7QstCw0L3QvdGPOiAldVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMDIgc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzKCVpKTogd3JvbmcgbWFwIGxpbmUiCittc2dzdHIgIiVzKCVpKTog0L/QvtC80LjQu9C60L7QstC40Lkg0YDRj9C00L7QuiDQutCw0YDRgtC4IgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBcIl9zdGV4dFwiIGluICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC30L3QsNC50YLQuCDCq19zdGV4dMK7INGDICVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozNDYKK21zZ2lkICJwcm9maWxlIGFkZHJlc3Mgb3V0IG9mIHJhbmdlLiBXcm9uZyBtYXAgZmlsZT8iCittc2dzdHIgItCw0LTRgNC10YHQsCDQv9GA0L7RhNGW0LvRjiDQv9C+0LfQsCDQtNGW0LDQv9Cw0LfQvtC90L7QvC4g0J/QvtC80LjQu9C60L7QstC40Lkg0YTQsNC50Lsg0LrQsNGA0YLQuD8iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjQwNAorbXNnaWQgInRvdGFsIgorbXNnc3RyICLQt9Cw0LPQsNC70L7QvCIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUyCittc2dpZCAicHJvY2VzcyBJRCIKK21zZ3N0ciAi0ZbQtC4g0L/RgNC+0YbQtdGB0YMiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MworbXNnaWQgInByb2Nlc3MgZ3JvdXAgSUQiCittc2dzdHIgItGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAINCz0YDRg9C/0Lgg0L/RgNC+0YbQtdGB0ZbQsiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gWy1wfC0tcGlkXSA8cGlkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLWd8LS1wZ3JwIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLXV8LS11c2VyIDx1c2VyPi4uLlxuIgorbXNnc3RyICIiCisiICUxJHMgWy1uXSA80L/RgNGW0L7RgNC40YLQtdGCPiBbLXB8LS1waWRdIDxwaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA80L/RgNGW0L7RgNC40YLQtdGCPiAgLWd8LS1wZ3JwIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFstbl0gPNC/0YDRltC+0YDQuNGC0LXRgj4gIC11fC0tdXNlciA80LrQvtGA0LjRgdGC0YPQstCw0Yc+Li4uXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2NworbXNnaWQgIkFsdGVyIHRoZSBwcmlvcml0eSBvZiBydW5uaW5nIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAi0JfQvNGW0L3QuNGC0Lgg0L/RgNGW0L7RgNC40YLQtdGC0L3RltGB0YLRjCDQt9Cw0L/Rg9GJ0LXQvdC40YUg0L/RgNC+0YbQtdGB0ZbQsi5cbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcwCittc2dpZCAiIC1uLCAtLXByaW9yaXR5IDxudW0+ICAgc3BlY2lmeSB0aGUgbmljZSBpbmNyZW1lbnQgdmFsdWVcbiIKK21zZ3N0ciAiIC1uLCAtLXByaW9yaXR5IDxuPiAgICAg0LLQutCw0LfQsNGC0Lgg0LfQvdCw0YfQtdC90L3RjyDQv9GA0LjRgNC+0YHRgtGDINC/0YDRltC+0YDQuNGC0LXRgtC90L7RgdGC0ZZcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcxCittc2dpZCAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgSUQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPNGW0LQ+ICAgICAgICAg0LLQstCw0LbQsNGC0Lgg0LDRgNCz0YPQvNC10L3RgiDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgNC+0Lwg0L/RgNC+0YbQtdGB0YMgKNGC0LjQv9C+0LLQvilcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcyCittc2dpZCAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKK21zZ3N0ciAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAg0LLQstCw0LbQsNGC0Lgg0LDRgNCz0YPQvNC10L3RgiDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgNC+0Lwg0LPRgNGD0L/QuCDQv9GA0L7RhtC10YHRltCyXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MworbXNnaWQgIiAtdSwgLS11c2VyIDxuYW1lPnw8aWQ+IGludGVycHJldCBhcmd1bWVudCBhcyB1c2VybmFtZSBvciB1c2VyIElEXG4iCittc2dzdHIgIiAtdSwgLS11c2VyIDzRltC84oCZ0Y8+fDzRltC0PiDQstCy0LDQttCw0YLQuCDQsNGA0LPRg9C80LXQvdGCINGW0LzQtdC90LXQvCDQsNCx0L4g0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YDQvtC8INC60L7RgNC40YHRgtGD0LLQsNGH0LBcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQt9C90LDRh9C10L3QvdGPINC/0YDRltC+0YDQuNGC0LXRgtC90L7RgdGC0ZYg0LTQu9GPICVkICglcykiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo5OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INC30L3QsNGH0LXQvdC90Y8g0L/RgNGW0L7RgNC40YLQtdGC0L3QvtGB0YLRliDQtNC70Y8gJWQgKCVzKSIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjEwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlZCAoJXMpIG9sZCBwcmlvcml0eSAlZCwgbmV3IHByaW9yaXR5ICVkXG4iCittc2dzdHIgIiVkICglcykg0L/QvtC/0LXRgNC10LTQvdGUINC30L3QsNGH0LXQvdC90Y8g0L/RgNGW0L7RgNC40YLQtdGC0L3QvtGB0YLRliAtICVkLCDQvdC+0LLQtSDQt9C90LDRh9C10L3QvdGPINC/0YDRltC+0YDQuNGC0LXRgtC90L7RgdGC0ZYgLSAlZFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTc2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdXNlciAlcyIKK21zZ3N0ciAi0L3QtdCy0ZbQtNC+0LzQuNC5INC60L7RgNC40YHRgtGD0LLQsNGHICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIG9uZSBvZiB0aGUgYWJvdmUKKyMuICogdGhyZWUgSUQgbmFtZXMuIFJlYWQ6ICJiYWQgdmFsdWUgZm9yICVzOiAlcyIKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkICVzIHZhbHVlOiAlcyIKK21zZ3N0ciAi0L/QvtC80LjQu9C60L7QstC1INC30L3QsNGH0LXQvdC90Y8gJXM6ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjk4Cittc2dpZCAiRW50ZXIgYSBzeXN0ZW0gc2xlZXAgc3RhdGUgdW50aWwgYSBzcGVjaWZpZWQgd2FrZXVwIHRpbWUuXG4iCittc2dzdHIgItCf0LXRgNC10LLQtdGB0YLQuCDRgdC40YHRgtC10LzRgyDQtNC+INGB0YLQsNC90YMg0L/RgNC40YHQuNC/0LvRj9C90L3RjyDQtNC+INCy0LrQsNC30LDQvdC+0LPQviDRh9Cw0YHRgyDQv9GA0L7QsdGD0LTQttC10L3QvdGPLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMQorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgcmVhZHMgdGhlIGNsb2NrIG1vZGUgZnJvbSBhZGp1c3QgZmlsZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1hLCAtLWF1dG8gICAgICAgICAgICAgICDQv9GA0L7Rh9C40YLQsNGC0Lgg0YDQtdC20LjQvCDQs9C+0LTQuNC90L3QuNC60LAg0Lcg0YTQsNC50LvQsCDQutC+0YDQuNCz0YPQstCw0L3QvdGPICjRgtC40L/QvtCy0LAg0L/QvtCy0LXQtNGW0L3QutCwKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWRqZmlsZSA80YTQsNC50Ls+ICAgICDQstC40LfQvdCw0YfQsNGUINGI0LvRj9GFINC00L4g0YTQsNC50LvQsCDQutC+0YDQuNCz0YPQstCw0L3QvdGPO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICDRgtC40L/QvtCy0LjQvCDRlCAlc1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNQorbXNnaWQgIiAgICAgLS1kYXRlIDx0aW1lc3RhbXA+ICAgZGF0ZSB0aW1lIG9mIHRpbWVzdGFtcCB0byB3YWtlXG4iCittc2dzdHIgIiAgICAgLS1kYXRlIDzRh9Cw0YE+ICAgICAgICAg0YfQsNGBINC00LDRgtC4INGH0LDRgdC+0LLQvtGXINC/0L7Qt9C90LDRh9C60Lgg0LTQu9GPINC/0YDQvtCx0YPQtNC20LXQvdC90Y9cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDYKK21zZ2lkICIgLWQsIC0tZGV2aWNlIDxkZXZpY2U+ICAgIHNlbGVjdCBydGMgZGV2aWNlIChydGMwfHJ0YzF8Li4uKVxuIgorbXNnc3RyICIgLWQsIC0tZGV2aWNlIDzQv9GA0LjRgdGC0YDRltC5PiAg0LLQuNCx0YDQsNGC0Lgg0L/RgNC40YHRgtGA0ZbQuSBydGMgKHJ0YzB8cnRjMXwuLi4pXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA3Cittc2dpZCAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBkb2VzIGV2ZXJ5dGhpbmcsIGJ1dCBzdXNwZW5kXG4iCittc2dzdHIgIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAg0LLQuNC60L7QvdCw0YLQuCDQstGB0ZYg0LTRltGXLCDQvtC60YDRltC8INC/0YDQuNGB0LjQv9C70Y/QvdC90Y9cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDgKK21zZ2lkICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCittc2dzdHIgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDINCy0LjQutC+0YDQuNGB0YLQvtCy0YPRlCDQu9C+0LrQsNC70YzQvdC40Lkg0YfQsNGB0L7QstC40Lkg0L/QvtGP0YFcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDkKK21zZ2lkICIgICAgIC0tbGlzdC1tb2RlcyAgICAgICAgIGxpc3QgYXZhaWxhYmxlIG1vZGVzXG4iCittc2dzdHIgIiAgICAgLS1saXN0LW1vZGVzICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0YHQv9C40YHQvtC6INC00L7RgdGC0YPQv9C90LjRhSDRgNC10LbQuNC80ZbQslxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMAorbXNnaWQgIiAtbSwgLS1tb2RlIDxtb2RlPiAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwIG1vZGVcbiIKK21zZ3N0ciAiIC1tLCAtLW1vZGUgPNGA0LXQttC40Lw+ICAgICAgICBzdGFuZGJ5fG1lbXwuLi4g0YDQtdC20LjQvCDQv9GA0LjRgdC40L/Qu9GP0L3QvdGPXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTExCittc2dpZCAiIC1zLCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iCittc2dzdHIgIiAtcywgLS1zZWNvbmRzIDzRgdC10LrRg9C90LTQuD4gINC60ZbQu9GM0LrRltGB0YLRjCDRgdC10LrRg9C90LQg0LTQviDQv9GA0LjRgdC40L/Qu9GP0L3QvdGPXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEyCittc2dpZCAiIC10LCAtLXRpbWUgPHRpbWVfdD4gICAgICB0aW1lIHRvIHdha2VcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgPNGH0LDRgT4gICAgICAgICAg0YfQsNGBINC00L4g0L/RgNC+0LHRg9C00LbQtdC90L3Rj1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMworbXNnaWQgIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIHVzZXMgVVRDXG4iCittc2dzdHIgIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDINCy0LjQutC+0YDQuNGB0YLQvtCy0YPRlCBVVENcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICDRgNC10LbQuNC8INC00L7QutC70LDQtNC90LjRhSDQv9C+0LLRltC00L7QvNC70LXQvdGMXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTY3Cittc2dpZCAicmVhZCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDRh9C40YLQsNC90L3RjyDRh9Cw0YHRgyBydGMg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTczCittc2dpZCAicmVhZCBzeXN0ZW0gdGltZSBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDRh9C40YLQsNC90L3RjyDQt9C90LDRh9C10L3QvdGPINGB0LjRgdGC0LXQvNC90L7Qs9C+INGH0LDRgdGDINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE4OQorbXNnaWQgImNvbnZlcnQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0L/QtdGA0LXRgtCy0L7RgNC10L3QvdGPINGH0LDRgdGDIHJ0YyDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyMzcKK21zZ2lkICJzZXQgcnRjIHdha2UgYWxhcm0gZmFpbGVkIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0LLRgdGC0LDQvdC+0LLQu9C10L3QvdGPINC90LDQs9Cw0LTRg9Cy0LDQvdC90Y8g0YnQvtC00L4g0L/RgNC+0LHRg9C00LbQtdC90L3RjyBydGMg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzA3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdGhpcmQgbGluZSBpbjogJXM6ICVzIgorbXNnc3RyICLQvdC10L7Rh9GW0LrRg9Cy0LDQvdC40Lkg0YLRgNC10YLRltC5INGA0Y/QtNC+0Log0YM6ICVzOiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjAgc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjQKK21zZ2lkICJyZWFkIHJ0YyBhbGFybSBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDRh9C40YLQsNC90L3RjyDQvdCw0LPQsNC00YPQstCw0L3QvdGPIHJ0YyDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9mZlxuIgorbXNnc3RyICLQvdCw0LPQsNC00YPQstCw0L3QvdGPOiDQstC40LzQutC90LXQvdC+XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzM4Cittc2dpZCAiY29udmVydCB0aW1lIGZhaWxlZCIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINC/0LXRgNC10YLQstC+0YDQtdC90L3RjyDRh9Cw0YHRgyDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9uICAlcyIKK21zZ3N0ciAi0L3QsNCz0LDQtNGD0LLQsNC90L3Rjzog0L4gJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mzg3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkOiAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQv9GA0L7Rh9C40YLQsNGC0Lg6ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ2NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgc3VzcGVuZCBzdGF0ZSAnJXMnIgorbXNnc3RyICLQvdC10LLRltC00L7QvNC40Lkg0YHRgtCw0L0g0L/RgNC40YHQuNC/0LvRj9C90L3RjyDCqyVzwrsiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDc1Cittc2dpZCAiaW52YWxpZCBzZWNvbmRzIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0YHQtdC60YPQvdC0IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ3OQorbXNnaWQgImludmFsaWQgdGltZSBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQsNGA0LPRg9C80LXQvdGCINGH0LDRgdGDIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYXNzdW1pbmcgUlRDIHVzZXMgVVRDIC4uLlxuIgorbXNnc3RyICIlczog0L/RgNC40L/Rg9GB0LrQsNGU0YLRjNGB0Y8sINGJ0L4gUlRDINCy0LjQutC+0YDQuNGB0YLQvtCy0YPRlCBVVEMuLi5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTEKK21zZ2lkICJVc2luZyBVVEMgdGltZS5cbiIKK21zZ3N0ciAi0JLQuNC60L7RgNC40YHRgtC+0LLRg9GU0LzQviDQstGB0LXRgdCy0ZbRgtC90ZbQuSDRh9Cw0YEgKFVUQykuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTEyCittc2dpZCAiVXNpbmcgbG9jYWwgdGltZS5cbiIKK21zZ3N0ciAi0JLQuNC60L7RgNC40YHRgtC+0LLRg9GU0LzQviDQvNGW0YHRhtC10LLQuNC5INGH0LDRgS5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTUKK21zZ2lkICJtdXN0IHByb3ZpZGUgd2FrZSB0aW1lIChzZWUgLS1zZWNvbmRzLCAtLXRpbWUgYW5kIC0tZGF0ZSBvcHRpb25zKSIKK21zZ3N0ciAi0YHQu9GW0LQg0LLQutCw0LfQsNGC0Lgg0YfQsNGBINC/0YDQvtCx0YPQtNC20LXQvdC90Y8gKNC00LjQsi4g0L/QsNGA0LDQvNC10YLRgNC4IC0tc2Vjb25kcywgLS10aW1lINGWIC0tZGF0ZSkiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBlbmFibGVkIGZvciB3YWtldXAgZXZlbnRzIgorbXNnc3RyICIlcyDQvdC1INCy0LjQt9C90LDRh9C10L3QviDQtNC70Y8g0L/QvtC00ZbQuSDQv9GA0L7QsdGD0LTQttC10L3QvdGPIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyOAorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybSAlbGQsIHN5c190aW1lICVsZCwgcnRjX3RpbWUgJWxkLCBzZWNvbmRzICV1XG4iCittc2dzdHIgItC90LDQs9Cw0LTRg9Cy0LDQvdC90Y8gJWxkLCDRgdC40YHRgl/Rh9Cw0YEgJWxkLCDRh9Cw0YFfcnRjICVsZCwg0YHQtdC60YPQvdC00LggJXVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBkb2Vzbid0IGdvIGJhY2t3YXJkIHRvICVzIgorbXNnc3RyICLRh9Cw0YEg0LLQttC1INC90LUg0L/QvtCy0LXRgNC90LXRgtGM0YHRjyDQtNC+ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlczog0L/RgNC+0LHRg9C00LbQtdC90L3RjyDQvdCwINC+0YHQvdC+0LLRliAlcyDQviAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCBmcm9tIFwiJXNcIiB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiJXM6INC/0YDQvtCx0YPQtNC20LXQvdC90Y8g0Lcgwqslc8K7INC90LAg0L7RgdC90L7QstGWICVzINC+ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU1OQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG5vOyBsZWF2aW5nXG4iCittc2dzdHIgItGA0LXQttC40Lwg0L/RgNC40YHQuNC/0LvRj9C90L3Rjzog0L3Rljsg0LLQuNGF0L7QtNC40LzQvlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9mZjsgZXhlY3V0aW5nICVzXG4iCittc2dzdHIgItGA0LXQttC40Lwg0L/RgNC40YHQuNC/0LvRj9C90L3Rjzog0LLQuNC80LrQvdC10L3Qvjsg0LLQuNC60L7QvdGD0ZTQvNC+ICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogb247IHJlYWRpbmcgcnRjXG4iCittc2dzdHIgItGA0LXQttC40Lwg0L/RgNC40YHQuNC/0LvRj9C90L3Rjzog0YPQstGW0LzQutC90LXQvdC+OyDRh9C40YLQsNGU0LzQviBydGNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1OTIKK21zZ2lkICJydGMgcmVhZCBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDRh9C40YLQsNC90L3RjyBydGMg0LfQsNCy0LXRgNGI0LjQu9Cw0YHRjyDQvdC10LLQtNCw0LvQviIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBkaXNhYmxlOyBkaXNhYmxpbmcgYWxhcm1cbiIKK21zZ3N0ciAi0YDQtdC20LjQvCDQv9GA0LjRgdC40L/Qu9GP0L3QvdGPOiDQstC40LzQutC90LXQvdC+OyDQstC40LzQuNC60LDRlNC80L4g0L3QsNCz0LDQtNGD0LLQsNC90L3Rj1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIKK21zZ3N0ciAi0YDQtdC20LjQvCDQv9GA0LjRgdC40L/Qu9GP0L3QvdGPOiDQv9C+0LrQsNC3OyDQstC40LLQvtC00LjQvNC+INC00LDQvdGWINC90LDQs9Cw0LTRg9Cy0LDQvdC90Y9cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiAlczsgc3VzcGVuZGluZyBzeXN0ZW1cbiIKK21zZ3N0ciAi0YDQtdC20LjQvCDQv9GA0LjRgdC40L/Qu9GP0L3QvdGPOiAlczsg0L/RgNC40YHQuNC/0LvRj9GU0LzQviDRgdC40YHRgtC10LzRg1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyOQorbXNnaWQgImRpc2FibGUgcnRjIGFsYXJtIGludGVycnVwdCBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDQstC40LzQuNC60LDQvdC90Y8g0L/QtdGA0LXRgNC40LLQsNC90L3RjyDQvdCw0LPQsNC00YPQstCw0L3QvdGPIHJ0YyDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo0OAorIywgYy1mb3JtYXQKK21zZ2lkICJTd2l0Y2hpbmcgb24gJXMuXG4iCittc2dzdHIgItCS0LzQuNC60LDRlNC80L4gJXMuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxhcmNoPiBbb3B0aW9uc10gWzxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIiAlcyA80LDRgNGF0ZbRgtC10LrRgtGD0YDQsD4gW9C/0LDRgNCw0LzQtdGC0YDQuF0gWzzQv9GA0L7Qs9GA0LDQvNCwPiBbPNCw0YDQs9GD0LzQtdC90YI+Li4uXV1cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gWzzQv9GA0L7Qs9GA0LDQvNCwPiBbPNCw0YDQs9GD0LzQtdC90YI+Li4uXV1cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5NgorbXNnaWQgIkNoYW5nZSB0aGUgcmVwb3J0ZWQgYXJjaGl0ZWN0dXJlIGFuZCBzZXQgcGVyc29uYWxpdHkgZmxhZ3MuXG4iCittc2dzdHIgItCX0LzRltC90LjRgtC4INC/0L7QstGW0LTQvtC80LvQtdC90YMg0LDRgNGF0ZbRgtC10LrRgtGD0YDRgyDRliDQstGB0YLQsNC90L7QstC40YLQuCDQv9GA0LDQv9C+0YDRhtGWINGW0L3QtNC40LLRltC00YPQsNC70YzQvdC+0YHRgtGWLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk5Cittc2dpZCAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB0dXJucyBvbiBBRERSX0xJTUlUXzMyQklUXG4iCittc2dzdHIgIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAg0YPQstGW0LzQutC90YPRgtC4IEFERFJfTElNSVRfMzJCSVRcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDAKK21zZ2lkICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIG1ha2VzIGZ1bmN0aW9uIHBvaW50ZXJzIHBvaW50IHRvIGRlc2NyaXB0b3JzXG4iCittc2dzdHIgIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAg0LfRgNC+0LHQuNGC0Lgg0YLQsNC6LCDRidC+0LEg0LLQutCw0LfRltCy0L3QuNC60Lgg0YTRg9C90LrRhtGW0Lkg0LLQutCw0LfRg9Cy0LDQu9C4INC90LAg0LTQtdGB0LrRgNC40L/RgtC+0YDQuFxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMQorbXNnaWQgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgdHVybnMgb24gU0hPUlRfSU5PREVcbiIKK21zZ3N0ciAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICDRg9Cy0ZbQvNC60L3Rg9GC0LggU0hPUlRfSU5PREVcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDIKK21zZ2lkICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKK21zZ3N0ciAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCDQt9C80ZbQvdC40YLQuCDRgdC/0L7RgdGW0LEg0YDQvtC30L/QvtC00ZbQu9GDINCy0ZbRgNGC0YPQsNC70YzQvdC+0Zcg0L/QsNC8J9GP0YLRllxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMworbXNnaWQgIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgZGlzYWJsZXMgcmFuZG9taXphdGlvbiBvZiB0aGUgdmlydHVhbCBhZGRyZXNzIHNwYWNlXG4iCittc2dzdHIgIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAg0LLQuNC80LrQvdGD0YLQuCDQstC40L/QsNC00LrQvtCy0ZbRgdGC0Ywg0LLRltGA0YLRg9Cw0LvRjNC90L7Qs9C+INC/0YDQvtGB0YLQvtGA0YMg0LDQtNGA0LXRgVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNAorbXNnaWQgIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgdHVybnMgb24gV0hPTEVfU0VDT05EU1xuIgorbXNnc3RyICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgINGD0LLRltC80LrQvdGD0YLQuCBXSE9MRV9TRUNPTkRTXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA1Cittc2dpZCAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0dXJucyBvbiBTVElDS1lfVElNRU9VVFNcbiIKK21zZ3N0ciAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICDRg9Cy0ZbQvNC60L3Rg9GC0LggU1RJQ0tZX1RJTUVPVVRTXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA2Cittc2dpZCAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICB0dXJucyBvbiBSRUFEX0lNUExJRVNfRVhFQ1xuIgorbXNnc3RyICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgINGD0LLRltC80LrQvdGD0YLQuCBSRUFEX0lNUExJRVNfRVhFQ1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNworbXNnaWQgIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgdHVybnMgb24gTU1BUF9QQUdFX1pFUk9cbiIKK21zZ3N0ciAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICDRg9Cy0ZbQvNC60L3Rg9GC0LggTU1BUF9QQUdFX1pFUk9cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDgKK21zZ2lkICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCittc2dzdHIgIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAg0L7QsdC80LXQttC40YLQuCDQstC40LrQvtGA0LjRgdGC0LDQvdC40Lkg0L/RgNC+0YHRgtGW0YAg0LDQtNGA0LXRgSDQvNCw0LrRgdC40LzQsNC70YzQvdC40Lwg0LfQvdCw0YfQtdC90L3Rj9C8INGDIDMg0JPQkVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOQorbXNnaWQgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKK21zZ3N0ciAiICAgICAtLTRnYiAgICAgICAgICAgICAgICDRltCz0L3QvtGA0YPRlNGC0YzRgdGPICjQu9C40YjQtSDQtNC70Y8g0LfQstC+0YDQvtGC0L3QvtGXINGB0YPQvNGW0YHQvdC+0YHRgtGWKVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMAorbXNnaWQgIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgdHVybnMgb24gVU5BTUUyNlxuIgorbXNnc3RyICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgINGD0LLRltC80LrQvdGD0YLQuCBVTkFNRTI2XG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTExCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBzYXkgd2hhdCBvcHRpb25zIGFyZSBiZWluZyBzd2l0Y2hlZCBvblxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgINCy0LjQstC10YHRgtC4INGB0L/QuNGB0L7QuiDQv9Cw0YDQsNC80LXRgtGA0ZbQsiwg0Y/QutGWINCy0LjQutC+0YDQuNGB0YLQsNC90L5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTQKK21zZ2lkICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3Qgc2V0dGFibGUgYXJjaGl0ZWN0dXJlcywgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAtLWxpc3QgICAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDQv9GA0LjQtNCw0YLQvdGWINC00LvRjyDQstGB0YLQsNC90L7QstC70LXQvdC90Y8g0LDRgNGF0ZbRgtC10LrRgtGD0YDQuCDRliDQstC40LnRgtC4XG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlc1xuIgorIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCittc2dzdHIgIiIKKyIlc1xuIgorItCh0L/RgNC+0LHRg9C50YLQtSDCqyVzIC0taGVscMK7LCDRidC+0LEg0L7RgtGA0LjQvNCw0YLQuCDQtNC+0LTQsNGC0LrQvtCy0YMg0ZbQvdGE0L7RgNC80LDRhtGW0Y4uIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorbXNnc3RyICLQodC/0YDQvtCx0YPQudGC0LUgwqslcyAtLWhlbHDCuyDQtNC70Y8g0L7RgtGA0LjQvNCw0L3QvdGPINC00L7QutC70LDQtNC90ZbRiNC+0LPQviDQvtC/0LjRgdGDLiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFVucmVjb2duaXplZCBhcmNoaXRlY3R1cmUiCittc2dzdHIgIiVzOiDQvdC10YDQvtC30L/RltC30L3QsNC90LAg0LDRgNGF0ZbRgtC10LrRgtGD0YDQsCIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiS2VybmVsIGNhbm5vdCBzZXQgYXJjaGl0ZWN0dXJlIHRvICVzIgorbXNnc3RyICLQr9C00YDQviDQvdC1INC80L7QttC1INCy0YHRgtCw0L3QvtCy0LjRgtC4INCw0YDRhdGW0YLQtdC60YLRg9GA0YMgJXMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzA1Cittc2dpZCAiTm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgItCd0LXQtNC+0YHRgtCw0YLQvdGM0L4g0LDRgNCz0YPQvNC10L3RgtGW0LIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzIyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0YHQv9C10YbRltCw0LvRltC30LDRhtGW0Y4g0YMg0LfQvdCw0YfQtdC90L3RjyAlcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNzkKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICctLWxpc3QnIgorbXNnc3RyICLQvdC10LLRltC00L7QvNC40Lkg0L/QsNGA0LDQvNC10YLRgCDCqy0tbGlzdMK7IgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM4NworbXNnaWQgIm5vIGFyY2hpdGVjdHVyZSBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgItC90LUg0LLQutCw0LfQsNC90L4g0LDRgNCz0YPQvNC10L3RgtGDINCw0YDRhdGW0YLQtdC60YLRg9GA0LgiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0YHQv9C10YbRltCw0LvRltC30LDRhtGW0Y4g0YMg0LfQvdCw0YfQtdC90L3RjyAlcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXhlY3V0ZSBjb21tYW5kIGAlcycuXG4iCittc2dzdHIgItCS0LjQutC+0L3QsNGC0Lgg0LrQvtC80LDQvdC00YMgwqslc8K7LlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk3Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIGRpZmZlcmVudCBwcml2aWxlZ2Ugc2V0dGluZ3MuXG4iCittc2dzdHIgItCX0LDQv9GD0YHRgtC40YLQuCDQv9GA0L7Qs9GA0LDQvNGDINC3INGW0L3RiNC40LzQuCDQv9Cw0YDQsNC80LXRgtGA0LDQvNC4INC/0YDRltC+0YDQuNGC0LXRgtC90L7RgdGC0ZYuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTAwCittc2dpZCAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICBzaG93IGN1cnJlbnQgc3RhdGUgKGFuZCBkbyBub3QgZXhlYyBhbnl0aGluZylcbiIKK21zZ3N0ciAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDQv9C+0YLQvtGH0L3QuNC5INGB0YLQsNC9ICjRliDQvdGW0YfQvtCz0L4g0L3QtSDQstC40LrQvtC90YPQstCw0YLQuClcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDEKK21zZ2lkICIgLS1ubnAsIC0tbm8tbmV3LXByaXZzICAgIGRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzXG4iCittc2dzdHIgIiAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAg0LfQsNCx0L7RgNC+0L3QuNGC0Lgg0L3QsNC00LDQvdC90Y8g0L3QvtCy0LjRhSDQv9GA0LDQsiDQtNC+0YHRgtGD0L/Rg1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMgorbXNnaWQgIiAtLWluaC1jYXBzIDxjYXBzLC4uLj4gICAgc2V0IGluaGVyaXRhYmxlIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIgLS1pbmgtY2FwcyA80LzQvtC20LssLi4uPiAgICDQstGB0YLQsNC90L7QstC40YLQuCDRg9GB0L/QsNC00LrQvtCy0YPQstCw0L3RliDQvNC+0LbQu9C40LLQvtGB0YLRllxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMworbXNnaWQgIiAtLWJvdW5kaW5nLXNldCA8Y2Fwcz4gICAgc2V0IGNhcGFiaWxpdHkgYm91bmRpbmcgc2V0XG4iCittc2dzdHIgIiAtLWJvdW5kaW5nLXNldCA80LzQvtC20Ls+ICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INC+0LHQvNC10LbRg9Cy0LDQu9GM0L3QuNC5INC90LDQsdGW0YAg0LzQvtC20LvQuNCy0L7RgdGC0LXQuVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNAorbXNnaWQgIiAtLXJ1aWQgPHVpZD4gICAgICAgICAgICAgc2V0IHJlYWwgdWlkXG4iCittc2dzdHIgIiAtLXJ1aWQgPHVpZD4gICAgICAgICAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0YHQv9GA0LDQstC20L3RltC5IHVpZFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNQorbXNnaWQgIiAtLWV1aWQgPHVpZD4gICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICDQstGB0YLQsNC90L7QstC40YLQuCDQtdGE0LXQutGC0LjQstC90LjQuSB1aWRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDYKK21zZ2lkICIgLS1yZ2lkIDxnaWQ+ICAgICAgICAgICAgIHNldCByZWFsIGdpZFxuIgorbXNnc3RyICIgLS1yZ2lkIDxnaWQ+ICAgICAgICAgICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INGB0L/RgNCw0LLQttC90ZbQuSBnaWRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDcKK21zZ2lkICIgLS1lZ2lkIDxnaWQ+ICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiAtLWVnaWQgPGdpZD4gICAgICAgICAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LXRhNC10LrRgtC40LLQvdC40LkgZ2lkXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA4Cittc2dpZCAiIC0tcmV1aWQgPHVpZD4gICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIgLS1yZXVpZCA8dWlkPiAgICAgICAgICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INGB0L/RgNCw0LLQttC90ZbQuSDRgtCwINC10YTQtdC60YLQuNCy0L3QuNC5IHVpZFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwOQorbXNnaWQgIiAtLXJlZ2lkIDxnaWQ+ICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiIC0tcmVnaWQgPGdpZD4gICAgICAgICAgICDQstGB0YLQsNC90L7QstC40YLQuCDRgdC/0YDQsNCy0LbQvdGOINGC0LAg0LXRhNC10LrRgtC40LLQvdGDIGdpZFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMAorbXNnaWQgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgY2xlYXIgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICDRgdC/0L7RgNC+0LbQvdC40YLQuCDRgdC/0LjRgdC+0Log0LTQvtC/0L7QvNGW0LbQvdC40YUg0LPRgNGD0L9cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTEKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICDQt9Cx0LXRgNC10LPRgtC4INC00L7Qv9C+0LzRltC20L3RliDQs9GA0YPQv9C4XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEyCittc2dpZCAiIC0tZ3JvdXBzIDxncm91cCwuLi4+ICAgICBzZXQgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0tZ3JvdXBzIDzQs9GA0YPQv9CwLC4uLj4gICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INC00L7Qv9C+0LzRltC20L3RliDQs9GA0YPQv9C4XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEzCittc2dpZCAiIC0tc2VjdXJlYml0cyA8Yml0cz4gICAgICBzZXQgc2VjdXJlYml0c1xuIgorbXNnc3RyICIgLS1zZWN1cmViaXRzIDzQsdGW0YLQuD4gICAgICDQstGB0YLQsNC90L7QstC40YLQuCDQsdGW0YLQuCDQt9Cw0YXQuNGB0YLRg1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNAorbXNnaWQgIiAtLXNlbGludXgtbGFiZWwgPGxhYmVsPiAgc2V0IFNFTGludXggbGFiZWxcbiIKK21zZ3N0ciAiIC0tc2VsaW51eC1sYWJlbCA80LzRltGC0LrQsD4gINCy0YHRgtCw0L3QvtCy0LjRgtC4INC80ZbRgtC60YMgU0VMaW51eFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNQorbXNnaWQgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgc2V0IEFwcEFybW9yIHByb2ZpbGVcbiIKK21zZ3N0ciAiIC0tYXBwYXJtb3ItcHJvZmlsZSA80L/RgD4gINCy0YHRgtCw0L3QvtCy0LjRgtC4INCy0LrQsNC30LDQvdC40Lkg0L/RgNC+0YTRltC70YwgQXBwQXJtb3JcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjEKK21zZ2lkICIgVGhpcyB0b29sIGNhbiBiZSBkYW5nZXJvdXMuICBSZWFkIHRoZSBtYW5wYWdlLCBhbmQgYmUgY2FyZWZ1bC5cbiIKK21zZ3N0ciAiINCa0L7RgNC40YHRgtGD0LLQsNC90L3RjyDRhtGW0ZTRjiDQv9GA0L7Qs9GA0LDQvNC+0Y4g0LzQvtC20LUg0YHRgtCw0L3QvtCy0LjRgtC4INC90LXQsdC10LfQv9C10LrRgyDQtNC70Y8g0LTQsNC90LjRhS4g0J7Qt9C90LDQudC+0LzRgtC10YHRjyDQt9GWINGB0YLQvtGA0ZbQvdC60L7RjiDQv9GW0LTRgNGD0YfQvdC40LrQsCAobWFuKSwg0LHRg9C00YzRgtC1INC+0LHQtdGA0LXQttC90ZYuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTkzIHN5cy11dGlscy9zZXRwcml2LmM6NDY3Cittc2dpZCAiZ2V0dGluZyBwcm9jZXNzIHNlY3VyZSBiaXRzIGZhaWxlZCIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINC+0YLRgNC40LzQsNC90L3RjyDQsdGW0YLRltCyINC30LDRhdC40YHRgtGDINC/0YDQvtGG0LXRgdGDINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN1cmViaXRzOiAiCittc2dzdHIgItCR0ZbRgtC4INC30LDRhdC40YHRgtGDOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIltub25lXVxuIgorbXNnc3RyICJb0L3QtdC80LDRlF1cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBsb25nIgorbXNnc3RyICIlczog0L3QsNC00YLQviDQstC10LvQuNC60LjQuSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHM6ICIKK21zZ3N0ciAi0JTQvtC/0L7QvNGW0LbQvdGWINCz0YDRg9C/0Lg6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNzMgc3lzLXV0aWxzL3NldHByaXYuYzozMjEgc3lzLXV0aWxzL3NldHByaXYuYzozMjYKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzMyIHN5cy11dGlscy9zZXRwcml2LmM6MzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIltub25lXSIKK21zZ3N0ciAiW9C90LXQvNCw0ZRdIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ6ICV1XG4iCittc2dzdHIgInVpZDogJXVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXVpZDogJXVcbiIKK21zZ3N0ciAiZXVpZDogJXVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VpZDogJXVcbiIKK21zZ3N0ciAic3VpZDogJXVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTkgc3lzLXV0aWxzL3NldHByaXYuYzozOTEKK21zZ2lkICJnZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCBnZXRyZXN1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzA4IHN5cy11dGlscy9zZXRwcml2LmM6NDA2Cittc2dpZCAiZ2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgZ2V0cmVzZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICJFZmZlY3RpdmUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgItCV0YTQtdC60YLQuNCy0L3RliDQvNC+0LbQu9C40LLQvtGB0YLRljogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyNAorIywgYy1mb3JtYXQKK21zZ2lkICJQZXJtaXR0ZWQgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgItCU0L7Qv9GD0YnQtdC90ZYg0LzQvtC20LvQuNCy0L7RgdGC0ZY6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgItCj0YHQv9Cw0LTQutC+0LLRg9Cy0LDQvdGWINC80L7QttC70LjQstC+0YHRgtGWOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzM1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhcGFiaWxpdHkgYm91bmRpbmcgc2V0OiAiCittc2dzdHIgItCd0LDQsdGW0YAg0L7QsdC80LXQttGD0LLQsNC70YzQvdC40YUg0LzQvtC20LvQuNCy0L7RgdGC0LXQuTogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MworbXNnaWQgIlNFTGludXggbGFiZWwiCittc2dzdHIgItCc0ZbRgtC60LAgU0VMaW51eCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDYKK21zZ2lkICJBcHBBcm1vciBwcm9maWxlIgorbXNnc3RyICLQn9GA0L7RhNGW0LvRjCBBcHBBcm1vciIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FwICVkOiBsaWJjYXAtbmcgaXMgYnJva2VuIgorbXNnc3RyICLQvNC+0LbQuyAlZDogbGliY2FwLW5nINC/0L7RiNC60L7QtNC20LXQvdC+IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4MgorbXNnaWQgIkludmFsaWQgc3VwcGxlbWVudGFyeSBncm91cCBpZCIKK21zZ3N0ciAi0J3QtdC60L7RgNC10LrRgtC90LjQuSDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgCDQtNC+0L/QvtC80ZbQttC90L7RlyDQs9GA0YPQv9C4IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5OQorbXNnaWQgInNldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwIHNldHJlc3VpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MTQKK21zZ2lkICJzZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCBzZXRyZXNnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDM1Cittc2dpZCAiYmFkIGNhcGFiaWxpdHkgc3RyaW5nIgorbXNnc3RyICLQv9C+0LzQuNC70LrQvtCy0LjQuSDRgNGP0LTQvtC6INC80L7QttC70LjQstC+0YHRgtC10LkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDQzCittc2dpZCAibGliY2FwLW5nIGlzIHRvbyBvbGQgZm9yIFwiYWxsXCIgY2FwcyIKK21zZ3N0ciAibGliY2FwLW5nINGUINC90LDQtNGC0L4g0LfQsNGB0YLQsNGA0ZbQu9C40Lwg0LTQu9GPINC80L7QttC70LjQstC+0YHRgtC10LkgXCJhbGxcIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjYXBhYmlsaXR5IFwiJXNcIiIKK21zZ3N0ciAi0L3QtdCy0ZbQtNC+0LzQsCDQvNC+0LbQu9C40LLRltGB0YLRjCBcIiVzXCIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDc2Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCBzZXQgLS0gcmVmdXNpbmcgdG8gYWRqdXN0IgorbXNnc3RyICLQstGB0YLQsNC90L7QstC70LXQvdC+INC90LXRgNC+0LfQv9GW0LfQvdCw0L3QuNC5INCx0ZbRgiDQt9Cw0YXQuNGB0YLRgyAtINGDINCy0YHRgtCw0L3QvtCy0LvQtdC90L3RliDQstGW0LTQvNC+0LLQu9C10L3QviBhZGp1c3QiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDgwCittc2dpZCAiYmFkIHNlY3VyZWJpdHMgc3RyaW5nIgorbXNnc3RyICLQv9C+0LzQuNC70LrQvtCy0LjQuSDRgNGP0LTQvtC6INCx0ZbRgtGW0LIg0LfQsNGF0LjRgdGC0YMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDg3Cittc2dpZCAiK2FsbCBzZWN1cmViaXRzIGlzIG5vdCBhbGxvd2VkIgorbXNnc3RyICLQsdGW0YLQuCDQt9Cw0YXQuNGB0YLRgyArYWxsINC30LDQsdC+0YDQvtC90LXQvdC+IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUwMAorbXNnaWQgImFkanVzdGluZyBrZWVwX2NhcHMgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAi0LrQvtGA0LjQs9GD0LLQsNC90L3RjyBrZWVwX2NhcHMg0ZQg0LHQtdC30LfQvNGW0YHRgtC+0LLQvdC40LwiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTA0Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAi0L3QtdGA0L7Qt9C/0ZbQt9C90LDQvdC40Lkg0LHRltGCINC30LDRhdC40YHRgtGDIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUyNAorbXNnaWQgIlNFTGludXggaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIlNFTGludXgg0L3QtSDQt9Cw0L/Rg9GJ0LXQvdC+IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUzOQorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9zZSBmYWlsZWQ6ICVzIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDQt9Cw0LrRgNC40YLRgtGPOiAlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NDcKK21zZ2lkICJBcHBBcm1vciBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiQXBwQXJtb3Ig0L3QtSDQt9Cw0L/Rg9GJ0LXQvdC+IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY1OAorbXNnaWQgImR1cGxpY2F0ZSAtLW5vLW5ldy1wcml2cyBvcHRpb24iCittc2dzdHIgItC00YPQsdC70Y7QstCw0L3QvdGPINC/0LDRgNCw0LzQtdGC0YDQsCAtLW5vLW5ldy1wcml2cyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NjMKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCIKK21zZ3N0ciAi0LTRg9Cx0LvRjtCy0LDQvdC90Y8gcnVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NjUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcnVpZCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4IHJ1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjY5Cittc2dpZCAiZHVwbGljYXRlIGV1aWQiCittc2dzdHIgItC00YPQsdC70Y7QstCw0L3QvdGPIGV1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjcxCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGV1aWQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCBldWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY3NQorbXNnaWQgImR1cGxpY2F0ZSBydWlkIG9yIGV1aWQiCittc2dzdHIgItC00YPQsdC70Y7QstCw0L3QvdGPIHJ1aWQg0LDQsdC+IGV1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njc3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJldWlkIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0LggcmV1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjgxCittc2dpZCAiZHVwbGljYXRlIHJnaWQiCittc2dzdHIgItC00YPQsdC70Y7QstCw0L3QvdGPIHJnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjgzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJnaWQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCByZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4NworbXNnaWQgImR1cGxpY2F0ZSBlZ2lkIgorbXNnc3RyICLQtNGD0LHQu9GO0LLQsNC90L3RjyBlZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlZ2lkIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0LggZWdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2OTMKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCBvciBlZ2lkIgorbXNnc3RyICLQtNGD0LHQu9GO0LLQsNC90L3RjyByZ2lkINCw0LHQviBlZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY5NQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZWdpZCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4IHJlZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcwMAorbXNnaWQgImR1cGxpY2F0ZSAtLWNsZWFyLWdyb3VwcyBvcHRpb24iCittc2dzdHIgItC00YPQsdC70Y7QstCw0L3QvdGPINC/0LDRgNCw0LzQtdGC0YDQsCAtLWNsZWFyLWdyb3VwcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MDYKK21zZ2lkICJkdXBsaWNhdGUgLS1rZWVwLWdyb3VwcyBvcHRpb24iCittc2dzdHIgItC00YPQsdC70Y7QstCw0L3QvdGPINC/0LDRgNCw0LzQtdGC0YDQsCAtLWtlZXAtZ3JvdXBzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcxMgorbXNnaWQgImR1cGxpY2F0ZSAtLWdyb3VwcyBvcHRpb24iCittc2dzdHIgItC00YPQsdC70Y7QstCw0L3QvdGPINC/0LDRgNCw0LzQtdGC0YDQsCAtLWdyb3VwcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MjEKK21zZ2lkICJkdXBsaWNhdGUgLS1pbmgtY2FwcyBvcHRpb24iCittc2dzdHIgItC00YPQsdC70Y7QstCw0L3QvdGPINC/0LDRgNCw0LzQtdGC0YDQsCAtLWluaC1jYXBzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcyNworbXNnaWQgImR1cGxpY2F0ZSAtLWJvdW5kaW5nLXNldCBvcHRpb24iCittc2dzdHIgItC00YPQsdC70Y7QstCw0L3QvdGPINC/0LDRgNCw0LzQtdGC0YDQsCAtLWJvdW5kaW5nLXNldCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MzMKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWN1cmViaXRzIG9wdGlvbiIKK21zZ3N0ciAi0LTRg9Cx0LvRjtCy0LDQvdC90Y8g0L/QsNGA0LDQvNC10YLRgNCwIC0tc2VjdXJlYml0cyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MzkKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWxpbnV4LWxhYmVsIG9wdGlvbiIKK21zZ3N0ciAi0LTRg9Cx0LvRjtCy0LDQvdC90Y8g0L/QsNGA0LDQvNC10YLRgNCwIC0tc2VsaW51eC1sYWJlbCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NDUKK21zZ2lkICJkdXBsaWNhdGUgLS1hcHBhcm1vci1wcm9maWxlIG9wdGlvbiIKK21zZ3N0ciAi0LTRg9Cx0LvRjtCy0LDQvdC90Y8g0L/QsNGA0LDQvNC10YLRgNCwIC0tYXBwYXJtb3ItcHJvZmlsZSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnJWMnIgorbXNnc3RyICLQvdC10YDQvtC30L/RltC30L3QsNC90LjQuSDQv9Cw0YDQsNC80LXRgtGAIMKrJWPCuyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NjMKK21zZ2lkICItLWR1bXAgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIG9wdGlvbnMiCittc2dzdHIgItC/0LDRgNCw0LzQtdGC0YAgLS1kdW1wINC90LXRgdGD0LzRltGB0L3QuNC5INC3INGW0L3RiNC40LzQuCDQv9Cw0YDQsNC80LXRgtGA0LDQvNC4IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3MQorbXNnaWQgIi0tbGlzdC1jYXBzIG11c3QgYmUgc3BlY2lmaWVkIGFsb25lIgorbXNnc3RyICItLWxpc3QtY2FwcyDRgdC70ZbQtCDQstC60LDQt9GD0LLQsNGC0Lgg0LHQtdC3INGW0L3RiNC40YUg0L/QsNGA0LDQvNC10YLRgNGW0LIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzc3Cittc2dpZCAiTm8gcHJvZ3JhbSBzcGVjaWZpZWQiCittc2dzdHIgItCd0LUg0LLQutCw0LfQsNC90L4g0L/RgNC+0LPRgNCw0LzRgyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODIKK21zZ2lkICItLVtyZV1naWQgcmVxdWlyZXMgLS1rZWVwLWdyb3VwcywgLS1jbGVhci1ncm91cHMsIG9yIC0tZ3JvdXBzIgorbXNnc3RyICItLVtyZV1naWQg0L/QvtGC0YDQtdCx0YPRlCDQv9Cw0YDQsNC80LXRgtGA0LAgLS1rZWVwLWdyb3VwcywgLS1jbGVhci1ncm91cHMg0LDQsdC+IC0tZ3JvdXBzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4NQorbXNnaWQgImRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzIGZhaWxlZCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9Cw0LHQvtGA0L7QvdC40YLQuCDQvdCw0LTQsNC90L3RjyDQvdC+0LLQuNGFINC/0YDQsNCyINC00L7RgdGC0YPQv9GDIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MworbXNnaWQgImtlZXAgcHJvY2VzcyBjYXBhYmlsaXRpZXMgZmFpbGVkIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0LfQsdC10YDQtdC20LXQvdC90Y8g0LzQvtC20LvQuNCy0L7RgdGC0LXQuSDQv9GA0L7RhtC10YHRgyDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDEKK21zZ2lkICJhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgItC30LDQtNGW0Y/RgtC4INC80L7QttC70LjQstC+0YHRgtGWIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwNworbXNnaWQgInJlYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICLQv9C+0LLRgtC+0YDQvdC+INC30LDQtNGW0Y/RgtC4INC80L7QttC70LjQstC+0YHRgtGWIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyMworbXNnaWQgInNldCBwcm9jZXNzIHNlY3VyZWJpdHMgZmFpbGVkIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0LLRgdGC0LDQvdC+0LLQu9C10L3QvdGPINCx0ZbRgtGW0LIg0LfQsNGF0LjRgdGC0YMg0L/RgNC+0YbQtdGB0YMg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODI5Cittc2dpZCAiYXBwbHkgYm91bmRpbmcgc2V0IgorbXNnc3RyICLQt9Cw0YHRgtC+0YHRg9Cy0LDRgtC4INC90LDQsdGW0YAg0L7QsdC80LXQttC10L3QvdGPIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgzNQorbXNnaWQgImFwcGx5IGNhcGFiaWxpdGllcyIKK21zZ3N0ciAi0LfQsNGB0YLQvtGB0YPQstCw0YLQuCDQvNC+0LbQu9C40LLQvtGB0YLRliIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGV4ZWN1dGU6ICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0LjQutC+0L3QsNGC0Lg6ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3VtZW50cyAuLi5dXG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgNC4XSA80L/RgNC+0LPRgNCw0LzQsD4gW9Cw0YDQs9GD0LzQtdC90YLQuCAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozNgorbXNnaWQgIlJ1biBhIHByb2dyYW0gaW4gYSBuZXcgc2Vzc2lvbi5cbiIKK21zZ3N0ciAi0JfQsNC/0YPRgdGC0LjRgtC4INC/0YDQvtCz0YDQsNC80YMg0YMg0L3QvtCy0L7QvNGDINGB0LXQsNC90YHRli5cbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjM5Cittc2dpZCAiIC1jLCAtLWN0dHkgICAgIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwgdG8gdGhlIGN1cnJlbnQgb25lXG4iCittc2dzdHIgIiAtYywgLS1jdHR5ICAgICDQt9GA0L7QsdC40YLQuCDQutC10YDRltCy0L3QuNC8INGC0LXRgNC80ZbQvdCw0LvQvtC8INC/0L7RgtC+0YfQvdC40Lkg0YLQtdGA0LzRltC90LDQu1xuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDAKK21zZ2lkICIgLXcsIC0td2FpdCAgICAgd2FpdCBwcm9ncmFtIHRvIGV4aXQsIGFuZCB1c2UgdGhlIHNhbWUgcmV0dXJuXG4iCittc2dzdHIgIiAtdywgLS13YWl0ICAgICDQt9Cw0YfQtdC60LDRgtC4INC90LAg0LfQsNCy0LXRgNGI0LXQvdC90Y8g0YDQvtCx0L7RgtC4INC/0YDQvtCz0YDQsNC8INGWINCy0LjQutC+0YDQuNGB0YLQsNGC0Lgg0YLRliDRgdCw0LzRliDQv9C+0LLQtdGA0L3Rg9GC0ZYg0LTQsNC90ZZcbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjkzCittc2dpZCAiZm9yayIKK21zZ3N0ciAi0YDQvtC30LPQsNC70YPQttC10L3QvdGPIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTA1CisjLCBjLWZvcm1hdAorbXNnaWQgImNoaWxkICVkIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAi0LTQvtGH0ZbRgNC90ZbQuSDQv9GA0L7RhtC10YEgJWQg0L3QtSDQt9Cw0LLQtdGA0YjQuNCyINGA0L7QsdC+0YLRgyDRgyDRiNGC0LDRgtC90L7QvNGDINGA0LXQttC40LzRliIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExMAorbXNnaWQgInNldHNpZCBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwINGDIHNldHNpZCIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExMworbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INC60LXRgNGW0LLQvdC40Lkg0YLQtdGA0LzRltC90LDQuyIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb2ZmICVzXG4iCittc2dzdHIgInN3YXBvZmYgJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDUKK21zZ2lkICJOb3Qgc3VwZXJ1c2VyLiIKK21zZ3N0ciAi0J3QtSDQsNC00LzRltC90ZbRgdGC0YDQsNGC0L7RgC4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb2ZmIGZhaWxlZCIKK21zZ3N0ciAiJXM6INC/0L7QvNC40LvQutCwIHN3YXBvZmYiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTIyIHN5cy11dGlscy9zd2Fwb24uYzo3ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHNwZWM+XVxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gWzzRgdC/0LXRhtC40YTRltC60LDRhtGW0Y8+XVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyNQorbXNnaWQgIkRpc2FibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgItCS0LjQvNC60L3Rg9GC0Lgg0L/RgNC40YHRgtGA0L7RlyDRliDRhNCw0LnQu9C4INC00LvRjyDQv9C+0LTRltC70YMg0L3QsCDRgdGC0L7RgNGW0L3QutC4INGWINGA0LXQt9C10YDQstGD0LLQsNC90L3Rjy5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjgKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgc3dhcHMgZnJvbSAvcHJvYy9zd2Fwc1xuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAg0LLQuNC80LrQvdGD0YLQuCDQstGB0ZYg0L7QsdC70LDRgdGC0ZYg0YHQstC+0L/RltC90LPRgyDQtyAvcHJvYy9zd2Fwc1xuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgINGA0LXQttC40Lwg0LTQvtC60LvQsNC00L3QuNGFINC/0L7QstGW0LTQvtC80LvQtdC90YxcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMzUKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQn9Cw0YDQsNC80LXRgtGAIDzRgdC/0LXRhtC40YTRltC60LDRhtGW0Y8+OlxuIgorIiAtTCA80LzRltGC0LrQsD4gICAgICAgICAgICAg0JzQhtCi0JrQkCDQv9GA0LjRgdGC0YDQvtGOLCDRj9C60LjQuSDQsdGD0LTQtSDQstC40LrQvtGA0LjRgdGC0LDQvdC+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgVVVJRCDQv9GA0LjRgdGC0YDQvtGOLCDRj9C60LjQuSDQsdGD0LTQtSDQstC40LrQvtGA0LjRgdGC0LDQvdC+XG4iCisiIExBQkVMPTzQvNGW0YLQutCwPiAgICAgICAgICDQnNCG0KLQmtCQINC/0YDQuNGB0YLRgNC+0Y4sINGP0LrQuNC5INCx0YPQtNC1INCy0LjQutC+0YDQuNGB0YLQsNC90L5cbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBVVUlEINC/0YDQuNGB0YLRgNC+0Y4sINGP0LrQuNC5INCx0YPQtNC1INCy0LjQutC+0YDQuNGB0YLQsNC90L5cbiIKKyIgPNC/0YDQuNGB0YLRgNGW0Lk+ICAgICAgICAgICAgINC90LDQt9Cy0LAg0L/RgNC40YHRgtGA0L7Rjiwg0Y/QutC40Lkg0LHRg9C00LUg0LLQuNC60L7RgNC40YHRgtCw0L3QvlxuIgorIiA80YTQsNC50Ls+ICAgICAgICAgICAgICAgICDQvdCw0LfQstCwINGE0LDQudC70LAsINGP0LrQuNC5INCx0YPQtNC1INCy0LjQutC+0YDQuNGB0YLQsNC90L5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkzCittc2dpZCAiZGV2aWNlIGZpbGUgb3IgcGFydGl0aW9uIHBhdGgiCittc2dzdHIgItGE0LDQudC7INC/0YDQuNGB0YLRgNC+0Y4g0LDQsdC+INGI0LvRj9GFINC00L4g0YDQvtC30LTRltC70YMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NAorbXNnaWQgInR5cGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAi0YLQuNC/INC/0YDQuNGB0YLRgNC+0Y4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NQorbXNnaWQgInNpemUgb2YgdGhlIHN3YXAgYXJlYSIKK21zZ3N0ciAi0YDQvtC30LzRltGAINC+0LHQu9Cw0YHRgtGWINGA0LXQt9C10YDQstC90L7RlyDQv9Cw0Lwn0Y/RgtGWICjRgdCy0L7Qv9GW0L3Qs9GDKSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk2Cittc2dpZCAiYnl0ZXMgaW4gdXNlIgorbXNnc3RyICLQsdCw0LnRgtGW0LIg0LLQuNC60L7RgNC40YHRgtCw0L3QviIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk3Cittc2dpZCAic3dhcCBwcmlvcml0eSIKK21zZ3N0ciAi0L/RgNGW0L7RgNC40YLQtdGCINGB0LLQvtC/0ZbQvdCz0YMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OAorbXNnaWQgInN3YXAgdXVpZCIKK21zZ3N0ciAidXVpZCDRgNC10LfQtdGA0LLQvdC+0Zcg0L/QsNC84oCZ0Y/RgtGWIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTkKK21zZ2lkICJzd2FwIGxhYmVsIgorbXNnc3RyICLQvNGW0YLQutCwINGB0LLQvtC/0ZbQvdCz0YMgKNGA0LXQt9C10YDQstC90L7RlyDQv9Cw0LzigJnRj9GC0ZYpIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzXHRcdFx0XHRUeXBlXHRcdFNpemVcdFVzZWRcdFByaW9yaXR5XG4iCittc2dzdHIgIiVzXHRcdFx0XHTQotC40L9cdFx00KDQvtC30LzRltGAXHTQktC40LrQvtGALlx00J/RgNGW0L7RgNC40YLQtdGCXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNDYKK21zZ2lkICJGaWxlbmFtZSIKK21zZ3N0ciAi0J3QsNC30LLQsCDRhNCw0LnQu9CwIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWluaXRpYWxpemluZyB0aGUgc3dhcC4iCittc2dzdHIgIiVzOiDQv9C+0LLRgtC+0YDQvdC+INGW0L3RltGG0ZbQsNC70ZbQt9GD0ZTQvNC+INGA0LXQt9C10YDQstC90YMg0L/QsNC8J9GP0YLRjCAo0YHQstC+0L/RltC90LMpLiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbHNlZWsgZmFpbGVkIgorbXNnc3RyICIlczog0L7Qv9C10YDQsNGG0ZbRjyBsc2VlayDQt9Cw0LLQtdGA0YjQuNC70LDRgdGMINC/0L7QvNC40LvQutC+0Y4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIHNpZ25hdHVyZSBmYWlsZWQiCittc2dzdHIgIiVzOiDRgdC/0YDQvtCx0LAg0LfQsNC/0LjRgdGDINC/0ZbQtNC/0LjRgdGDINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyAtIGl0IGFwcGVhcnMgdG8gaGF2ZSBob2xlcy4iCittc2dzdHIgIiVzOiDQv9GA0L7Qv9GD0YHQutCw0ZTQvNC+LCDQt9C00LDRlNGC0YzRgdGPLCDQvNGW0YHRgtC40YLRjCDQtNGW0YDQutC4LiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0IHNpemUgZmFpbGVkIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INGA0L7Qt9C80ZbRgCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBzd2FwIGhlYWRlciBmYWlsZWQiCittc2dzdHIgIiVzOiDRgdC/0YDQvtCx0LAg0YfQuNGC0LDQvdC90Y8g0LfQsNCz0L7Qu9C+0LLQutCwINGA0LXQt9C10YDQstC90L7RlyDQv9Cw0Lwn0Y/RgtGWICjRgdCy0L7Qv9GW0L3Qs9GDKSDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZm91bmQgc2lnbmF0dXJlIFtwYWdlc2l6ZT0lZCwgc2lnbmF0dXJlPSVzXSIKK21zZ3N0ciAiJXM6INCy0LjRj9Cy0LvQtdC90L4g0L/RltC00L/QuNGBIFvRgNC+0LfQvNGW0YAg0YHRgtC+0YDRltC90LrQuD0lZCwg0L/RltC00L/QuNGBPSVzXSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFnZXNpemU9JWQsIHN3YXBzaXplPSVsbHUsIGRldnNpemU9JWxsdSIKK21zZ3N0ciAiJXM6INGA0L7Qt9C80YHRgtC+0YA9JWQsINGA0L7Qt9C80YHQstC+0L89JWxsdSwg0YDQvtC30LzQv9GA0LjRgdGC0YA9JWxsdSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGFzdF9wYWdlIDB4JTA4bGx4IGlzIGxhcmdlciB0aGFuIGFjdHVhbCBzaXplIG9mIHN3YXBzcGFjZSIKK21zZ3N0ciAiJXM6INC30L3QsNGH0LXQvdC90Y8gbGFzdF9wYWdlIDB4JTA4bGx4INGUINCx0ZbQu9GM0YjQuNC8INC30LAg0YHQv9GA0LDQstC20L3RltC5INGA0L7Qt9C80ZbRgCDQv9GA0L7RgdGC0L7RgNGDINGB0LLQvtC/0ZbQvdCz0YMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiIKK21zZ3N0ciAiJXM6INGA0L7Qt9C80ZbRgCDRgdGC0L7RgNGW0L3QutC4INGE0L7RgNC80LDRgtGDINGB0LLQvtC/0ZbQvdCz0YMg0ZQg0L3QtdCy0ZbQtNC/0L7QstGW0LTQvdC40LwuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4gKFVzZSAtLWZpeHBnc3ogdG8gcmVpbml0aWFsaXplIGl0LikiCittc2dzdHIgIiVzOiDRgNC+0LfQvNGW0YAg0YHRgtC+0YDRltC90LrQuCDRhNC+0YDQvNCw0YLRgyDRgdCy0L7Qv9GW0L3Qs9GDINGUINC90LXQstGW0LTQv9C+0LLRltC00L3QuNC8LiAo0KHQutC+0YDQuNGB0YLQsNC50YLQtdGB0Y8gLS1maXhwZ3N6LCDRidC+0LEg0L/QvtCy0YLQvtGA0L3QviDRltC90ZbRhtGW0LDQu9GW0LfRg9Cy0LDRgtC4INC50L7Qs9C+LikiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNvZnR3YXJlIHN1c3BlbmQgZGF0YSBkZXRlY3RlZC4gUmV3cml0aW5nIHRoZSBzd2FwIHNpZ25hdHVyZS4iCittc2dzdHIgIiVzOiDQstC40Y/QstC70LXQvdC+INC00LDQvdGWINC/0YDQvtCz0YDQsNC80L3QvtCz0L4g0L/RgNC40YHQuNC/0LvRj9C90L3Rjy4g0J/QtdGA0LXQt9Cw0L/QuNGB0YPRlNC80L4g0L/RltC00L/QuNGBINGA0L7Qt9C00ZbQu9GDINGB0LLQvtC/0ZbQvdCz0YMuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBvbiAlc1xuIgorbXNnc3RyICJzd2Fwb24gJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9uIGZhaWxlZCIKK21zZ3N0ciAiJXM6INC/0L7QvNC40LvQutCwIHN3YXBvbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9hdXRvIG9wdGlvbiAtLSBpZ25vcmVkIgorbXNnc3RyICIlczog0L/QsNGA0LDQvNC10YLRgCBub2F1dG8gLS0g0ZbQs9C90L7RgNGD0ZTQvNC+IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbHJlYWR5IGFjdGl2ZSAtLSBpZ25vcmVkIgorbXNnc3RyICIlczog0LLQttC1INC30LDQtNGW0Y/QvdC+IC0tINGW0LPQvdC+0YDRg9GU0LzQviIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5hY2Nlc3NpYmxlIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiDQvdC10LTQvtGB0YLRg9C/0L3QtSAtLSDQv9GA0L7RltCz0L3QvtGA0L7QstCw0L3QviIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5MQorbXNnaWQgIkVuYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAi0KPQstGW0LzQutC90YPRgtC4INC/0YDQuNGB0YLRgNC+0Zcg0ZYg0YTQsNC50LvQuCDQtNC70Y8g0L/QvtC00ZbQu9GDINC90LAg0YHRgtC+0YDRltC90LrQuCDRliDRgNC10LfQtdGA0LLRg9Cy0LDQvdC90Y8uXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTQKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAg0YPQstGW0LzQutC90YPRgtC4INGD0YHRliDQvtCx0LvQsNGB0YLRliDRgNC10LfQtdGA0LLQvdC+0Zcg0L/QsNC84oCZ0Y/RgtGWINC3IC9ldGMvZnN0YWJcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NQorbXNnaWQgIiAtZCwgLS1kaXNjYXJkWz08cG9saWN5Pl0gZW5hYmxlIHN3YXAgZGlzY2FyZHMsIGlmIHN1cHBvcnRlZCBieSBkZXZpY2VcbiIKK21zZ3N0ciAiIC1kLCAtLWRpc2NhcmRbPTzQv9GA0LDQstC40LvQsD5dINGD0LLRltC80LrQvdGD0YLQuCDQstGW0LTQutC40LTQsNC90L3RjyDRidC+0LTQviDRgNC10LfQtdGA0LLRg9Cy0LDQvdC90Y8sINGP0LrRidC+INC/0ZbQtNGC0YDQuNC80YPRlNGC0YzRgdGPINC/0YDQuNGB0YLRgNC+0ZTQvFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk2Cittc2dpZCAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBzaWxlbnRseSBza2lwIGRldmljZXMgdGhhdCBkbyBub3QgZXhpc3RcbiIKK21zZ3N0ciAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICDQsdC10Lcg0L/QvtCy0ZbQtNC+0LzQu9C10L3RjCDQv9GA0L7Qv9GD0YHQutCw0YLQuCDQv9GA0LjRgdGC0YDQvtGXLCDRj9C60LjRhSDQvdC1INGW0YHQvdGD0ZRcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NworbXNnaWQgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgINC/0L7QstGC0L7RgNC90L4g0ZbQvdGW0YbRltCw0LvRltC30YPQstCw0YLQuCDQv9GA0L7RgdGC0ZbRgCDRgNC10LfQtdGA0LLQvdC+0Zcg0L/QsNC84oCZ0Y/RgtGWLCDRj9C60YnQviDQv9C+0YLRgNGW0LHQvdC+XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTgKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHN3YXAgb3B0aW9uc1xuIgorbXNnc3RyICIgLW8sIC0tb3B0aW9ucyA80YHQv9C40YHQvtC6PiAgINGB0L/QuNGB0L7QuiDQstGW0LTQvtC60YDQtdC80LvQtdC90LjRhSDQutC+0LzQsNC80Lgg0L/QsNGA0LDQvNC10YLRgNGW0LIg0YHQstC+0L/RltC90LPRgyAo0YDQtdC30LXRgNCy0L3QvtGXINC/0LDQvOKAmdGP0YLRlilcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5OQorbXNnaWQgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgc3BlY2lmeSB0aGUgcHJpb3JpdHkgb2YgdGhlIHN3YXAgZGV2aWNlXG4iCittc2dzdHIgIiAtcCwgLS1wcmlvcml0eSA80YfQuNGB0LvQvj4gICDQstC60LDQt9Cw0YLQuCDQv9GA0ZbQvtGA0LjRgtC10YLQvdGW0YHRgtGMINC/0YDQuNGB0YLRgNC+0Y4g0YDQtdC30LXRgNCy0L3QvtGXINC/0LDQvOKAmdGP0YLRllxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAwCittc2dpZCAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBkaXNwbGF5IHN1bW1hcnkgYWJvdXQgdXNlZCBzd2FwIGRldmljZXMgKERFUFJFQ0FURUQpXG4iCittc2dzdHIgIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAg0L/QvtC60LDQt9Cw0YLQuCDRgNC10LfRjtC80LUg0YnQvtC00L4g0LLQuNC60L7RgNC40YHRgtCw0L3QuNGFINC/0YDQuNGB0YLRgNC+0ZfQsiDRgNC10LfQtdGA0LLQvdC+0Zcg0L/QsNC84oCZ0Y/RgtGWICjQl9CQ0KHQotCQ0KDQhtCb0JUpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDEKK21zZ2lkICIgICAgIC0tc2hvd1s9PGNvbHVtbnM+XSAgIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKK21zZ3N0ciAiICAgICAtLXNob3dbPTzRgdGC0L7QstC/0YfQuNC60Lg+XSDQv9C+0LrQsNC30LDRgtC4INGA0LXQt9GO0LzQtSDRgyDQstC40LfQvdCw0YfQtdC90ZbQuSDRgtCw0LHQu9C40YbRllxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAyCittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCB0YWJsZSBoZWFkaW5nICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICDQvdC1INCy0LjQstC+0LTQuNGC0Lgg0LfQsNCz0L7Qu9C+0LLQvtC6INGC0LDQsdC70LjRhtGWICjQtyAtLXNob3cpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDMKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDRhNC+0YDQvNCw0YIg0LLQuNCy0LXQtNC10L3QvdGPINCx0LXQtyDQvtCx0YDQvtCx0LrQuCAo0LcgLS1zaG93KVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA0Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgc2l6ZSBpbiBieXRlcyBpbiAtLXNob3cgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAg0L/QvtC60LDQt9Cw0YLQuCDRgNC+0LfQvNGW0YAg0L7QsdC70LDRgdGC0ZYg0YHQstC+0L/RltC90LPRgyAo0YDQtdC30LXRgNCy0L3QvtGXINC/0LDQvOKAmdGP0YLRlikg0YMg0LHQsNC50YLQsNGFINGDINCy0LjQstC10LTQtdC90L3RliAtLXNob3dcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAg0YDQtdC20LjQvCDQtNC+0LrQu9Cw0LTQvdC40YUg0L/QvtCy0ZbQtNC+0LzQu9C10L3RjFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODExCittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisiXG4iCisi0J/QsNGA0LDQvNC10YLRgCA80YHQv9C10YbQuNGE0ZbQutCw0YbRltGPPjpcbiIKKyIgLUwgPNC80ZbRgtC60LA+ICAgICAgICAgICAgINGB0LjQvdC+0L3RltC8IExBQkVMPTzQvNGW0YLQutCwPlxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgINGB0LjQvdC+0L3RltC8IFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTzQvNGW0YLQutCwPiAgICAgICAgICDQstC40LfQvdCw0YfQsNGUINC/0YDQuNGB0YLRgNGW0Lkg0LfQsCDQvNGW0YLQutC+0Y4g0L7QsdC70LDRgdGC0ZYg0YHQstC+0L/RltC90LPRg1xuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgINCy0LjQt9C90LDRh9Cw0ZQg0L/RgNC40YHRgtGA0ZbQuSDQt9CwIFVVSUQg0L7QsdC70LDRgdGC0ZYg0YHQstC+0L/RltC90LPRg1xuIgorIiBQQVJUTEFCRUw9PNC80ZbRgtC60LA+ICAgICAg0LLQuNC30L3QsNGH0LDRlCDQv9GA0LjRgdGC0YDRltC5INC30LAg0LzRltGC0LrQvtGOINGA0L7Qt9C00ZbQu9GDXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAg0LLQuNC30L3QsNGH0LDRlCDQv9GA0LjRgdGC0YDRltC5INC30LAgVVVJRCDRgNC+0LfQtNGW0LvRg1xuIgorIiA80L/RgNC40YHRgtGA0ZbQuT4gICAgICAgICAgICAg0L3QsNC30LLQsCDQv9GA0LjRgdGC0YDQvtGOLCDRj9C60LjQuSDQsdGD0LTQtSDQstC40LrQvtGA0LjRgdGC0LDQvdC+XG4iCisiIDzRhNCw0LnQuz4gICAgICAgICAgICAgICAgINC90LDQt9Cy0LAg0YTQsNC50LvQsCwg0Y/QutC40Lkg0LHRg9C00LUg0LLQuNC60L7RgNC40YHRgtCw0L3QvlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODIxCittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBkaXNjYXJkIHBvbGljeSB0eXBlcyAoZm9yIC0tZGlzY2FyZCk6XG4iCisiIG9uY2UgICAgOiBvbmx5IHNpbmdsZS10aW1lIGFyZWEgZGlzY2FyZHMgYXJlIGlzc3VlZFxuIgorIiBwYWdlcyAgIDogZnJlZWQgcGFnZXMgYXJlIGRpc2NhcmRlZCBiZWZvcmUgdGhleSBhcmUgcmV1c2VkXG4iCisiSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCBib3RoIGRpc2NhcmQgdHlwZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQpLlxuIgorbXNnc3RyICIiCisiXG4iCisi0JTQvtGB0YLRg9C/0L3RliDRgtC40L/QuCDQv9GA0LDQstC40Lsg0LLRltC00LrQuNC00LDQvdC90Y8gKNC00LvRjyAtLWRpc2NhcmQpOlxuIgorIiBvbmNlICAgIDog0LLQuNC60L7RgNC40YHRgtC+0LLRg9GO0YLRjNGB0Y8g0LvQuNGI0LUg0LLRltC00LrQuNC00LDQvdC90Y8g0L7QtNC90L7RgNCw0LfQvtCy0LjRhSDQvtCx0LvQsNGB0YLQtdC5LiAoc3dhcG9uKVxuIgorIiBwYWdlcyAgIDog0LLRltC00LrQuNC00LDRgtC4INC30LLRltC70YzQvdC10L3RliDRgdGC0L7RgNGW0L3QutC4INC00L4g0L/QvtCy0YLQvtGA0L3QvtCz0L4g0LLQuNC60L7RgNC40YHRgtCw0L3QvdGPLlxuIgorIiDQr9C60YnQviDQvdC1INCy0LjQsdGA0LDQvdC+INC20L7QtNC90LjRhSDQv9GA0LDQstC40LssINCy0LjQutC+0YDQuNGB0YLQvtCy0YPRjtGC0YzRgdGPINC+0LHQuNC00LLQsCDQvdCw0LHQvtGA0LggKNGC0LjQv9C+0LLQsCDQv9C+0LLQtdC00ZbQvdC60LApLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODI2Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93KTpcbiIKK21zZ3N0ciAiIgorIlxuIgorItCc0L7QttC70LjQstGWINGB0YLQvtCy0L/Rh9C40LrQuCAo0LTQu9GPIC0tc2hvdyk6XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MDQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcHJpb3JpdHkiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDQt9C90LDRh9C10L3QvdGPINC/0YDRltC+0YDQuNGC0LXRgtC90L7RgdGC0ZYiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICLQvdC10L/RltC00YLRgNC40LzRg9Cy0LDQvdGWINC/0YDQsNCy0LjQu9CwINCy0ZbQtNC60LjQtNCw0L3QvdGPOiAlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCB0aGUgZGV2aWNlIGZvciAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9C90LDQudGC0Lgg0L/RgNC40YHRgtGA0ZbQuSDQtNC70Y8gJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjU5Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGlyZWN0b3J5IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0ZbQtNC60YDQuNGC0Lgg0LrQsNGC0LDQu9C+0LMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjY3Cittc2dpZCAic3RhdCBmYWlsZWQiCittc2dzdHIgItC+0L/QtdGA0LDRhtGW0Y8gc3RhdCDQt9Cw0LLQtdGA0YjQuNC70LDRgdGMINC/0L7QvNC40LvQutC+0Y4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjc4Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgZGlyZWN0b3J5IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC/0YDQvtGH0LjRgtCw0YLQuCDQutCw0YLQsNC70L7QsyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRltC0J9GU0LTQvdCw0YLQuCAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQvNC+0L3RgtGD0LLQsNGC0Lgg0YDRg9GF0L7QvNC40LkgJXMg0LTQviAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgImZvcmNpbmcgdW5tb3VudCBvZiAlcyIKK21zZ3N0ciAi0L/RgNC40LzRg9GB0L7QstC+INCy0LjQutC+0L3Rg9GU0LzQviDQtNC10LzQvtC90YLRg9Cy0LDQvdC90Y8gJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9C80ZbQvdC40YLQuCDQutCw0YLQsNC70L7QsyDQvdCwICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAvIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC30LzQvtC90YLRg9Cy0LDRgtC4INGA0YPRhdC+0LzQuNC5ICVzINC00L4gLyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTc1Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC30LzRltC90LjRgtC4INC60L7RgNC10L3QtdCy0LjQuSDQutCw0YLQsNC70L7QsyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTg4Cittc2dpZCAib2xkIHJvb3QgZmlsZXN5c3RlbSBpcyBub3QgYW4gaW5pdHJhbWZzIgorbXNnc3RyICLRgdGC0LDRgNC+0Y4g0LrQvtGA0LXQvdC10LLQvtGOINGE0LDQudC70L7QstC+0Y4g0YHQuNGB0YLQtdC80L7RjiDQvdC1INGUIGluaXRyYW1mcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG5ld3Jvb3RkaXI+IDxpbml0PiA8YXJncyB0byBpbml0PlxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gPNC90L7QstC40Lkg0LrQvtGA0LXQvdC10LLQuNC5INC60LDRgtCw0LvQvtCzPiA8aW5pdD4gPNCw0YDQs9GD0LzQtdC90YLQuCDQtNC+IGluaXQ+XG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwNAorbXNnaWQgIlN3aXRjaCB0byBhbm90aGVyIGZpbGVzeXN0ZW0gYXMgdGhlIHJvb3Qgb2YgdGhlIG1vdW50IHRyZWUuXG4iCittc2dzdHIgItCf0LXRgNC10LzQutC90YPRgtC40YHRjyDQvdCwINGW0L3RiNGDINGE0LDQudC70L7QstGDINGB0LjRgdGC0LXQvNGDINGP0Log0LrQvtGA0LXQvdC10LLRgyDRgyDRltGU0YDQsNGA0YXRltGXINC80L7QvdGC0YPQstCw0L3QvdGPLlxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMzYKK21zZ2lkICJmYWlsZWQuIFNvcnJ5LiIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAuINCS0LjQsdCw0YfRgtC1LiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBhY2Nlc3MgJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQtNC+0YHRgtGD0L8g0LTQviAlcyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk0Cittc2dpZCAiU2V0IHZhcmlvdXMgcGFyYW1ldGVycyBmb3IgdGhlIGxpbmUgcHJpbnRlci5cbiIKK21zZ3N0ciAi0JLRgdGC0LDQvdC+0LLQuNGC0Lgg0YDRltC30L3QvtC80LDQvdGW0YLQvdGWINC/0LDRgNCw0LzQtdGC0YDQuCDRgNGP0LTQutC+0LLQvtCz0L4g0L/RgNC40L3RgtC10YDQsC5cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk3Cittc2dpZCAiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAgc3BlY2lmeSBwYXJhbGxlbCBwb3J0IGlycVxuIgorbXNnc3RyICIgLWksIC0taXJxIDzRh9C40YHQu9C+PiAgICAgICAgICAgINCy0LrQsNC30LDRgtC4IGlycSDQv9Cw0YDQsNC70LXQu9GM0L3QvtCz0L4g0L/QvtGA0YLRg1xuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTgKK21zZ2lkICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICBkcml2ZXIgd2FpdCB0aW1lIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSA80LzRgT4gICAgICAgICAgICAgINGH0LDRgSDQvtGH0ZbQutGD0LLQsNC90L3RjyDQtNGA0LDQudCy0LXRgNCwINGDINC80ZbQu9GW0YHQtdC60YPQvdC00LDRhVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTkKK21zZ2lkICIgLWMsIC0tY2hhcnMgPG51bT4gICAgICAgICAgICBudW1iZXIgb2Ygb3V0cHV0IGNoYXJhY3RlcnMgYmVmb3JlIHNsZWVwXG4iCittc2dzdHIgIiAtYywgLS1jaGFycyA8bj4gICAgICAgICAgICAgINC60ZbQu9GM0LrRltGB0YLRjCDQstC40LLQtdC00LXQvdC40YUg0YHQuNC80LLQvtC70ZbQsiDQv9C10YDQtdC0INGB0L3QvtC8XG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDAKK21zZ2lkICIgLXcsIC0td2FpdCA8dXM+ICAgICAgICAgICAgICBzdHJvYmUgd2FpdCBpbiBtaWNybyBzZWNvbmRzXG4iCittc2dzdHIgIiAtdywgLS13YWl0IDzQvNC60YE+ICAgICAgICAgICAgINC+0YfRltC60YPQstCw0L3QvdGPINGDINC80ZbQutGA0L7RgdC10LrRg9C90LTQsNGFXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBkbyBub3QgdHJhbnNsYXRlIDxvbnxvZmY+IGFyZ3VtZW50cy4gVGhlCisjLiBhcmd1bWVudCByZWFkZXIgZG9lcyBub3QgcmVjb2duaXplIGxvY2FsZSwgdW5sZXNzIGBvbicgaXMKKyMuIGV4YWN0bHkgdGhhdCB2ZXJ5IHNhbWUgc3RyaW5nLgorIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNAorbXNnaWQgIiAtYSwgLS1hYm9ydCA8b258b2ZmPiAgICAgICAgIGFib3J0IG9uIGVycm9yXG4iCittc2dzdHIgIiAtYSwgLS1hYm9ydCA8b258b2ZmPiAgICAgICAgINC/0LXRgNC10YDQuNCy0LDRgtC4INGA0L7QsdC+0YLRgyDRgyDRgNCw0LfRliDQv9C+0LzQuNC70LrQuFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA1Cittc2dpZCAiIC1vLCAtLWNoZWNrLXN0YXR1cyA8b258b2ZmPiAgY2hlY2sgcHJpbnRlciBzdGF0dXMgYmVmb3JlIHByaW50aW5nXG4iCittc2dzdHIgIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gINC/0LXRgNC10LLRltGA0LjRgtC4INGB0YLQsNC9INC/0YDQuNC90YLQtdGA0LAg0LTQviDQstC40LrQvtC90LDQvdC90Y8g0LTRgNGD0LrRg1xuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA2Cittc2dpZCAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAgZXh0cmEgY2hlY2tpbmcgdG8gc3RhdHVzIGNoZWNrXG4iCittc2dzdHIgIiAtQywgLS1jYXJlZnVsIDxvbnxvZmY+ICAgICAgINC00L7QtNCw0YLQutC+0LLQsCDQtNC+INC/0LXRgNC10LLRltGA0LrQuCDRgdGC0LDQvdGDINC/0LXRgNC10LLRltGA0LrQsFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA3Cittc2dpZCAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAgcXVlcnkgcHJpbnRlciBzdGF0dXNcbiIKK21zZ3N0ciAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAg0L7Qv9C40YLQsNGC0Lgg0L/RgNC40L3RgtC10YAg0YnQvtC00L4g0YHRgtCw0L3Rg1xuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA4Cittc2dpZCAiIC1ULCAtLXRydXN0LWlycSA8b258b2ZmPiAgICAgbWFrZSBkcml2ZXIgdG8gdHJ1c3QgaXJxXG4iCittc2dzdHIgIiAtVCwgLS10cnVzdC1pcnEgPG9ufG9mZj4gICAgINC/0LXRgNC10LzQuNC60LDRhyDQtNC+0LLRltGA0Lgg0LTQviBpcnEg0YMg0LTRgNCw0LnQstC10YDRllxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcmVzZXQgdGhlIHBvcnRcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAg0YHQutC40L3Rg9GC0Lgg0L3QvtC80LXRgCDQv9C+0YDRgtGDXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTAKK21zZ2lkICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICBkaXNwbGF5IGN1cnJlbnQgaXJxIHNldHRpbmdcbiIKK21zZ3N0ciAiIC1xLCAtLXByaW50LWlycSA8b258b2ZmPiAgICAg0L/QtdGA0LXQvNC40LrQsNGHINC/0L7QutCw0LfRgyDQv9C+0YLQvtGH0L3QuNGFINC/0LDRgNCw0LzQtdGC0YDRltCyIGlycVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBhbiBscCBkZXZpY2UiCittc2dzdHIgIiVzINC90LUg0ZQg0L/RgNC40YHRgtGA0L7RlNC8IGxwIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjgwCittc2dpZCAiTFBHRVRTVEFUVVMgZXJyb3IiCittc2dzdHIgItC/0L7QvNC40LvQutCwIExQR0VUU1RBVFVTIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN0YXR1cyBpcyAlZCIKK21zZ3N0ciAiJXMg0YHRgtCw0L0gLSAlZCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIsIGJ1c3kiCittc2dzdHIgIiwg0LfQsNC50L3Rj9GC0LjQuSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICIsIHJlYWR5IgorbXNnc3RyICIsINCz0L7RgtC+0LLQuNC5IgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb3V0IG9mIHBhcGVyIgorbXNnc3RyICIsINGB0LrRltC90YfQuNCy0YHRjyDQv9Cw0L/RltGAIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb24tbGluZSIKK21zZ3N0ciAiLCBvbi1saW5lIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZXJyb3IiCittc2dzdHIgIiwg0L/QvtC80LjQu9C60LAiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMDAKK21zZ2lkICJpb2N0bCBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwIGlvY3RsIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzEwCittc2dpZCAiTFBHRVRJUlEgZXJyb3IiCittc2dzdHIgItC/0L7QvNC40LvQutCwIExQR0VUSVJRIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIElSUSAlZFxuIgorbXNnc3RyICIlcyDQstC40LrQvtGA0LjRgdGC0L7QstGD0ZQgSVJRICVkXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgcG9sbGluZ1xuIgorbXNnc3RyICIlcyDQstC40LrQvtGA0LjRgdGC0L7QstGD0ZQg0L7Qv9C40YLRg9Cy0LDQvdC90Y8g0YHRgtCw0L3Rg1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstaFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IHwgPGRpcmVjdG9yeT5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstaFZdXG4iCisiICUxJHMgLWEgW9C/0LDRgNCw0LzQtdGC0YDQuF1cbiIKKyIgJTEkcyBb0L/QsNGA0LDQvNC10YLRgNC4XSA80LTQttC10YDQtdC70L4+IHwgPNC60LDRgtCw0LvQvtCzPlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODEKK21zZ2lkICJVbm1vdW50IGZpbGVzeXN0ZW1zLlxuIgorbXNnc3RyICLQlNC10LzQvtC90YLRg9Cy0LDRgtC4INGE0LDQudC70L7QstGWINGB0LjRgdGC0LXQvNC4LlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODQKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgdW5tb3VudCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgINC00LXQvNC+0L3RgtGD0LLQsNGC0Lgg0LLRgdGWINGE0LDQudC70L7QstGWINGB0LjRgdGC0LXQvNC4XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NQorbXNnaWQgIiIKKyIgLUEsIC0tYWxsLXRhcmdldHMgICAgICAgdW5tb3VudCBhbGwgbW91bnRwb2ludHMgZm9yIHRoZSBnaXZlbiBkZXZpY2UgaW4gdGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICDQtNC10LzQvtC90YLRg9Cy0LDRgtC4INCy0YHRliDRgtC+0YfQutC4INC80L7QvdGC0YPQstCw0L3QvdGPINCy0LrQsNC30LDQvdC+0LPQviDQv9GA0LjRgdGC0YDQvtGOXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgINGDINCy0LrQsNC30LDQvdC+0LzRgyDQv9GA0L7RgdGC0L7RgNGWINC90LDQt9CyXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NworbXNnaWQgIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKK21zZ3N0ciAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgINC90LUg0L/QtdGA0LXQstC+0LTQuNGC0Lgg0YjQu9GP0YXQuCDRgyDQutCw0L3QvtC90ZbRh9C90YMg0YTQvtGA0LzRg1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODgKK21zZ2lkICIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAgaWYgbW91bnRlZCBsb29wIGRldmljZSwgYWxzbyBmcmVlIHRoaXMgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgINGP0LrRidC+INC30LzQvtC90YLQvtCy0LDQvdC+INC/0LXRgtC70YzQvtCy0LjQuSDQv9GA0LjRgdGC0YDRltC5LCDRgtCw0LrQvtC2INC30LLRltC70YzQvdC40YLQuCDRhtC10Lkg0L/QtdGC0LvRjNC+0LLQuNC5INC/0YDQuNGB0YLRgNGW0LlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg5Cittc2dpZCAiICAgICAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIHVtb3VudCgyKSBzeXNjYWxsXG4iCittc2dzdHIgIiAgICAgLS1mYWtlICAgICAgICAgICAgICDRgtC10YHRgtC+0LLQuNC5INC30LDQv9GD0YHQujsg0L/RgNC+0L/Rg9GB0YLQuNGC0Lgg0YHQuNGB0YLQtdC80L3QuNC5INCy0LjQutC70LjQuiB1bW91bnQoMilcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkwCittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIGZvcmNlIHVubW91bnQgKGluIGNhc2Ugb2YgYW4gdW5yZWFjaGFibGUgTkZTIHN5c3RlbSlcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgINC/0YDQuNC80YPRgdC+0LLQtSDQtNC10LzQvtC90YLRg9Cy0LDQvdC90Y8gKNGDINGA0LDQt9GWINC90LXQtNC+0YHRgtGD0L/QvdC+0YHRgtGWINGB0LjRgdGC0LXQvNC4IE5GUylcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkxCittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIHVtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIgLWksIC0taW50ZXJuYWwtb25seSAgICAg0L3QtSDQstC40LrQu9C40LrQsNGC0Lgg0LTQvtC/0L7QvNGW0LbQvdGWINC/0YDQvtCz0YDQsNC80LggdW1vdW50LjzRgtC40L8+XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MworbXNnaWQgIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICBkZXRhY2ggdGhlIGZpbGVzeXN0ZW0gbm93LCBjbGVhbiB1cCB0aGluZ3MgbGF0ZXJcbiIKK21zZ3N0ciAiIC1sLCAtLWxhenkgICAgICAgICAgICAgINCy0ZbQtCfRlNC00L3QsNGC0Lgg0YTQsNC50LvQvtCy0YMg0YHQuNGB0YLQtdC80YMg0LfQsNGA0LDQtywg0LAg0LLQuNC70YPRh9C40YLQuCDQtNCw0L3RliDRidC+0LTQviDQvdC10Zcg0L/RltC30L3RltGI0LVcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk0Cittc2dpZCAiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorbXNnc3RyICIgLU8sIC0tdGVzdC1vcHRzIDzRgdC/0LjRgdC+0Lo+INC+0LHQvNC10LbQuNGC0Lgg0L3QsNCx0ZbRgCDRhNCw0LnQu9C+0LLQuNGFINGB0LjRgdGC0LXQvCAo0YHQutC+0YDQuNGB0YLQsNC50YLQtdGB0Y8g0LcgLWEpXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NQorbXNnaWQgIiAtUiwgLS1yZWN1cnNpdmUgICAgICAgICByZWN1cnNpdmVseSB1bm1vdW50IGEgdGFyZ2V0IHdpdGggYWxsIGl0cyBjaGlsZHJlblxuIgorbXNnc3RyICIgLVIsIC0tcmVjdXJzaXZlICAgICAgICAg0YDQtdC60YPRgNGB0LjQstC90L4g0LTQtdC80L7QvdGC0YPQstCw0YLQuCDQv9GA0LjQt9C90LDRh9C10L3QvdGPINC3INGD0YHRltC80LAg0LTQvtGH0ZbRgNC90ZbQvNC4INCy0YPQt9C70LDQvNC4XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NgorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBpbiBjYXNlIHVubW91bnRpbmcgZmFpbHMsIHRyeSB0byByZW1vdW50IHJlYWQtb25seVxuIgorbXNnc3RyICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgINGP0LrRidC+INC90LUg0LLQtNCw0YHRgtGM0YHRjyDQtNC10LzQvtC90YLRg9Cy0LDRgtC4LCDRgdC/0YDQvtCx0YPQstCw0YLQuCDQv9C10YDQtdC80L7QvdGC0YPQstCw0YLQuCDRgyDRgNC10LbQuNC80ZYg0YfQuNGC0LDQvdC90Y9cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk3Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPNGB0L/QuNGB0L7Quj4gICAgINC+0LHQvNC10LbQuNGC0Lgg0L3QsNCx0ZbRgCDRgtC40L/RltCyINGE0LDQudC70L7QstC40YUg0YHQuNGB0YLQtdC8XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzKSB1bm1vdW50ZWQiCittc2dzdHIgIiVzICglcykg0LTQtdC80L7QvdGC0L7QstCw0L3QviIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bm1vdW50ZWQiCittc2dzdHIgIiVzINC00LXQvNC+0L3RgtC+0LLQsNC90L4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVtb3VudCBmYWlsZWQiCittc2dzdHIgIiVzOiDQv9C+0LzQuNC70LrQsCB1bW91bnQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZpbGVzeXN0ZW0gd2FzIHVubW91bnRlZCwgYnV0IG1vdW50KDgpIGZhaWxlZCIKK21zZ3N0ciAiJXM6INGE0LDQudC70L7QstGDINGB0LjRgdGC0LXQvNGDINC00LXQvNC+0L3RgtC+0LLQsNC90L4sINCw0LvQtSDRgdC/0YDQvtCx0LAg0LLQuNC60L7QvdCw0L3QvdGPIG1vdW50KDgpINC30LDQstC10YDRiNC40LvQsNGB0Y8g0L/QvtC80LjQu9C60L7RjiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiDQvdC10LrQvtGA0LXQutGC0L3QuNC5INCx0LvQvtC60L7QstC40Lkg0L/RgNC40YHRgtGA0ZbQuSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIzOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQsNC/0LjRgdCw0YLQuCDRgdGD0L/QtdGAINCx0LvQvtC6IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlczogdGFyZ2V0IGlzIGJ1c3lcbiIKKyIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0XG4iCisiICAgICAgICAgdXNlIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKS4pIgorbXNnc3RyICIiCisiJXM6INC/0YDQuNGB0YLRgNGW0Lkg0L/RgNC40LfQvdCw0YfQtdC90L3RjyDQt9Cw0LnQvdGP0YLQvi5cbiIKKyIgICAgICAgICjQhtC90L7QtNGWINC60L7RgNC40YHQvdGWINC00LDQvdGWINGJ0L7QtNC+INC/0YDQvtGG0LXRgdGW0LIsINGP0LrRliDQstC40LrQvtGA0LjRgdGC0L7QstGD0Y7RgtGMXG4iCisiICAgICAgICAg0L/RgNC40YHRgtGA0ZbQuSwg0LzQvtC20L3QsCDQvtGC0YDQuNC80LDRgtC4INC30LAg0LTQvtC/0L7QvNC+0LPQvtGOIGxzb2YoOCkg0LDQsdC+IGZ1c2VyKDEpKSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnRwb2ludCBub3QgZm91bmQiCittc2dzdHIgIiVzOiDRgtC+0YfQutC4INC80L7QvdGC0YPQstCw0L3QvdGPINC90LUg0LfQvdCw0LnQtNC10L3QviIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1MAorbXNnaWQgInVuZGVmaW5lZCBtb3VudHBvaW50IgorbXNnc3RyICLQvdC10LLQuNC30L3QsNGH0LXQvdCwINGC0L7Rh9C60LAg0LzQvtC90YLRg9Cy0LDQvdC90Y8iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVubW91bnQiCittc2dzdHIgIiVzOiDQtNC70Y8g0LTQtdC80L7QvdGC0YPQstCw0L3QvdGPINGB0LvRltC0INC80LDRgtC4INC/0YDQsNCy0LAg0LDQtNC80ZbQvdGW0YHRgtGA0LDRgtC+0YDQsCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmxvY2sgZGV2aWNlcyBhcmUgbm90IHBlcm1pdHRlZCBvbiBmaWxlc3lzdGVtIgorbXNnc3RyICIlczog0LHQu9C+0LrQvtCy0ZYg0L/RgNC40YHRgtGA0L7RlyDQvdC1INC00L7Qt9Cy0L7Qu9C10L3QviDQvdCwINGE0LDQudC70L7QstGW0Lkg0YHQuNGB0YLQtdC80ZYiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozMDcKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHVtb3VudCB0YXJnZXQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0L/RgNC40LfQvdCw0YfQtdC90L3RjyB1bW91bnQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozMjMKK21zZ2lkICJsaWJtb3VudCB0YWJsZSBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0YDQvtC30L/QvtC00ZbQu9GDINGC0LDQsdC70LjRhtGWIGxpYm1vdW50IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzY2IHN5cy11dGlscy91bW91bnQuYzo0NDYKK21zZ2lkICJsaWJtb3VudCBpdGVyYXRvciBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0YDQvtC30L/QvtC00ZbQu9GDINGW0YLQtdGA0LDRgtC+0YDQsCBsaWJtb3VudCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGNoaWxkIGZzIG9mICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0LTQvtGH0ZbRgNC90Y4g0YTQsNC50LvQvtCy0YMg0YHQuNGB0YLQtdC80YMgJXMiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo0MTAgc3lzLXV0aWxzL3Vtb3VudC5jOjQzMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIgorbXNnc3RyICIlczog0L3QtSDQt9C90LDQudC00LXQvdC+IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NDQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGV0ZXJtaW5lIHNvdXJjZSAoLS1hbGwtdGFyZ2V0cyBpcyB1bnN1cHBvcnRlZCBvbiBzeXN0ZW1zIHdpdGggcmVndWxhciBtdGFiIGZpbGUpLiIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC30L3QsNGH0LjRgtC4INC00LbQtdGA0LXQu9C+ICjQv9GW0LTRgtGA0LjQvNC60LggLS1hbGwtdGFyZ2V0cyDQtNC70Y8g0YHQuNGB0YLQtdC8INC30ZYg0LfQstC40YfQsNC50L3QuNC8INGE0LDQudC70L7QvCBtdGFiINC90LUg0L/QtdGA0LXQtNCx0LDRh9C10L3QvikuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjg5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIC0tc2V0Z3JvdXBzIGFyZ3VtZW50ICclcyciCittc2dzdHIgItC90LXQv9GW0LTRgtGA0LjQvNGD0LLQsNC90LjQuSDQsNGA0LPRg9C80LXQvdGCIC0tc2V0Z3JvdXBzLCDCqyVzwrsiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTEwIHN5cy11dGlscy91bnNoYXJlLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZCAlcyIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0L/RltC0INGH0LDRgSDRgdC/0YDQvtCx0Lgg0LfQsNC/0LjRgdGDOiAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJvcGFnYXRpb24gbW9kZTogJXMiCittc2dzdHIgItC90LXQv9GW0LTRgtGA0LjQvNGD0LLQsNC90LjQuSDRgNC10LbQuNC8INC/0L7RiNC40YDQtdC90L3RjzogJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTU3Cittc2dpZCAiY2Fubm90IGNoYW5nZSByb290IGZpbGVzeXN0ZW0gcHJvcGFnYXRpb24iCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQvNGW0L3QuNGC0Lgg0L/QvtGI0LjRgNC10L3QvdGPINC60L7RgNC10L3QtdCy0L7RlyDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4IgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INGB0YLQsNGC0LjRgdGC0LjRh9C90ZYg0LTQsNC90ZYg0YnQvtC00L4gJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjEzCittc2dpZCAicGlwZSBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwIHBpcGUiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjI3Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGlwZSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstC40LrQvtC90LDRgtC4INGH0LjRgtCw0L3QvdGPINC60LDQvdCw0LvRgyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTAKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggc29tZSBuYW1lc3BhY2VzIHVuc2hhcmVkIGZyb20gdGhlIHBhcmVudC5cbiIKK21zZ3N0ciAi0JfQsNC/0YPRgdGC0LjRgtC4INC/0YDQvtCz0YDQsNC80YMg0ZbQtyDQtNC10Y/QutC40LzQuCDQv9GA0L7RgdGC0L7RgNCw0LzQuCDQvdCw0LfQsiwg0Y/QutGWINC90LUg0ZQg0YHQv9GW0LvRjNC90LjQvNC4INC00LvRjyDQsdCw0YLRjNC60ZbQstGB0YzQutC+0LPQviDQv9GA0L7RhtC10YHRgy5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTMKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1tLCAtLW1vdW50Wz080YTQsNC50Ls+XSAgICAgINGB0LrQsNGB0YPQstCw0YLQuCDRgdC/0ZbQu9GM0L3QtSDQstC40LrQvtGA0LjRgdGC0LDQvdC90Y8g0L/RgNC+0YHRgtC+0YDRgyDQvdCw0LfQsiDQvNC+0L3RgtGD0LLQsNC90L3Rj1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NAorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIgLXUsIC0tdXRzWz080YTQsNC50Ls+XSAgICAgICDRgdC60LDRgdGD0LLQsNGC0Lgg0YHQv9GW0LvRjNC90LUg0LLQuNC60L7RgNC40YHRgtCw0L3QvdGPINC/0YDQvtGB0YLQvtGA0YMg0L3QsNC30LIgVVRTICjQvdCw0LfQstC4INCy0YPQt9C70LAg0YLQvtGJ0L4pXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU1Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtaSwgLS1pcGNbPTzRhNCw0LnQuz5dICAgICAgINGB0LrQsNGB0YPQstCw0YLQuCDRgdC/0ZbQu9GM0L3QtSDQstC40LrQvtGA0LjRgdGC0LDQvdC90Y8g0L/RgNC+0YHRgtC+0YDRgyDQvdCw0LfQsiBJUEMgU3lzdGVtIFZcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTYKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbiwgLS1uZXRbPTzRhNCw0LnQuz5dICAgICAgINGB0LrQsNGB0YPQstCw0YLQuCDRgdC/0ZbQu9GM0L3QtSDQstC40LrQvtGA0LjRgdGC0LDQvdC90Y8g0L/RgNC+0YHRgtC+0YDRgyDQvdCw0LfQsiDQvNC10YDQtdC20ZZcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTcKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZFs9PNGE0LDQudC7Pl0gICAgICAgINGB0LrQsNGB0YPQstCw0YLQuCDRgdC/0ZbQu9GM0L3QtSDQstC40LrQvtGA0LjRgdGC0LDQvdC90Y8g0L/RgNC+0YHRgtC+0YDRgyDQvdCw0LfQsiBwaWRcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTgKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtVSwgLS11c2VyWz080YTQsNC50Ls+XSAgICAgINGB0LrQsNGB0YPQstCw0YLQuCDRgdC/0ZbQu9GM0L3QtSDQstC40LrQvtGA0LjRgdGC0LDQvdC90Y8g0L/RgNC+0YHRgtC+0YDRgyDQvdCw0LfQsiDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU5Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgICAgdW5zaGFyZSBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtQywgLS1jZ3JvdXBbPTzRhNCw0LnQuz5dICAgICDRgdC60LDRgdGD0LLQsNGC0Lgg0YHQv9GW0LvRjNC90LUg0LLQuNC60L7RgNC40YHRgtCw0L3QvdGPINC/0YDQvtGB0YLQvtGA0YMg0L3QsNC30LIgY2dyb3VwXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYwCittc2dpZCAiIC1mLCAtLWZvcmsgICAgICAgICAgICAgICAgZm9yayBiZWZvcmUgbGF1bmNoaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICDQstC40LrQvtC90LDRgtC4INGA0L7Qt9Cz0LDQu9GD0LbQtdC90L3RjyDQtNC+INC30LDQv9GD0YHQutGDINC/0YDQvtCz0YDQsNC80LggPNC/0YDQvtCz0YDQsNC80LA+XG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYxCittc2dpZCAiICAgICAtLW1vdW50LXByb2NbPTxkaXI+XSAgbW91bnQgcHJvYyBmaWxlc3lzdGVtIGZpcnN0IChpbXBsaWVzIC0tbW91bnQpXG4iCittc2dzdHIgIiAgICAgLS1tb3VudC1wcm9jWz080LrQsNGCPl0gINC30LzQvtC90YLRg9Cy0LDRgtC4INGE0LDQudC70L7QstGDINGB0LjRgdGC0LXQvNGDIHByb2Mg0L/QtdGA0YjQvtGOICjQtyDQstC40LrQvtGA0LjRgdGC0LDQvdC90Y/QvCAtLW1vdW50KVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MgorbXNnaWQgIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIG1hcCBjdXJyZW50IHVzZXIgdG8gcm9vdCAoaW1wbGllcyAtLXVzZXIpXG4iCittc2dzdHIgIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgINC/0L7QsuKAmdGP0LfQsNGC0Lgg0L/QvtGC0L7Rh9C90L7Qs9C+INC60L7RgNC40YHRgtGD0LLQsNGH0LAg0Lcg0LrQvtGA0LjRgdGC0YPQstCw0YfQtdC8IHJvb3QgKNCy0LjQutC+0YDQuNGB0YLQvtCy0YPRlCAtLXVzZXIpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYzCittc2dpZCAiIgorIiAgICAgLS1wcm9wYWdhdGlvbiBzbGF2ZXxzaGFyZWR8cHJpdmF0ZXx1bmNoYW5nZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZnkgbW91bnQgcHJvcGFnYXRpb24gaW4gbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKyIgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAg0LfQvNGW0L3QuNGC0Lgg0L/QvtGI0LjRgNC10L3QvdGPINC80L7QvdGC0YPQstCw0L3QvdGPINGDINC/0YDQvtGB0YLQvtGA0ZYg0L3QsNC30LIg0LzQvtC90YLRg9Cy0LDQvdGMXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY1Cittc2dpZCAiIC1zLCAtLXNldGdyb3VwcyBhbGxvd3xkZW55ICBjb250cm9sIHRoZSBzZXRncm91cHMgc3lzY2FsbCBpbiB1c2VyIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIC1zLCAtLXNldGdyb3VwcyBhbGxvd3xkZW55ICDQutC10YDRg9Cy0LDRgtC4INCy0LjQutC70LjQutCw0LzQuCBzZXRncm91cCDRgyDQv9GA0L7RgdGC0L7RgNCw0YUg0L3QsNC30LIg0LrQvtGA0LjRgdGC0YPQstCw0YfRltCyXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6Mzg2Cittc2dpZCAidW5zaGFyZSBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwIHVuc2hhcmUiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDMwCittc2dpZCAiY2hpbGQgZXhpdCBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDQt9Cw0LLQtdGA0YjQuNGC0Lgg0LTQvtGH0ZbRgNC90ZbQuSDQv9GA0L7RhtC10YEg0LfQsNCy0LXRgNGI0LjQu9Cw0YHRjyDQvdC10LLQtNCw0LvQviIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzcKK21zZ2lkICJvcHRpb25zIC0tc2V0Z3JvdXBzPWFsbG93IGFuZCAtLW1hcC1yb290LXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgNC4IC0tc2V0Z3JvdXBzPWFsbG93INGWIC0tbWFwLXJvb3QtdXNlciDQvdC1INC80L7QttC90LAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INC+0LTQvdC+0YfQsNGB0L3QviIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgZmFpbGVkIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0LzQvtC90YLRg9Cy0LDQvdC90Y8gJXMg0LfQsNCy0LXRgNGI0LjQu9Cw0YHRjyDQvdC10LLQtNCw0LvQviIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzMKK21zZ2lkICJDYXJkIHByZXZpb3VzbHkgcmVzZXQgdGhlIENQVSIKK21zZ3N0ciAi0J/RgNC+0YbQtdGB0L7RgCDRgNCw0L3RltGI0LUg0YHQutC40L3Rg9GC0L4g0LrQsNGA0YLQutC+0Y4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc0Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMSIKK21zZ3N0ciAi0JfQvtCy0L3RltGI0L3RltC5INC/0LXRgNC10LzQuNC60LDRhyAxIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NQorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDIiCittc2dzdHIgItCX0L7QstC90ZbRiNC90ZbQuSDQv9C10YDQtdC80LjQutCw0YcgMiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzYKK21zZ2lkICJGYW4gZmFpbGVkIgorbXNnc3RyICLQn9C+0LzQuNC70LrQsCDQtNCw0L3QuNGFINGJ0L7QtNC+INC+0YXQvtC70L7QtNC20LXQvdC90Y8iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc3Cittc2dpZCAiS2VlcCBhbGl2ZSBwaW5nIHJlcGx5IgorbXNnc3RyICLQktGW0LTQv9C+0LLRltC00Ywg0L/RltC00YLRgNC40LzQsNC90L3RjyDQt9CyJ9GP0LfQutGDIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OAorbXNnaWQgIlN1cHBvcnRzIG1hZ2ljIGNsb3NlIGNoYXIiCittc2dzdHIgItCf0ZbQtNGC0YDQuNC80YPRlCDRgdC40LzQstC+0Lsg0LzQsNCz0ZbRh9C90L7Qs9C+INC30LDQutGA0LjRgtGC0Y8iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc5Cittc2dpZCAiUmVzZXQgZHVlIHRvIENQVSBvdmVyaGVhdCIKK21zZ3N0ciAi0KHQutC40L3Rg9GC0L4g0YfQtdGA0LXQtyDQv9C10YDQtdCz0YDRltCy0LDQvdC90Y8g0L/RgNC+0YbQtdGB0L7RgNCwIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MAorbXNnaWQgIlBvd2VyIG92ZXIgdm9sdGFnZSIKK21zZ3N0ciAi0J3QsNC00LzRltGA0L3QtSDQttC40LLQu9C10L3QvdGPIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MQorbXNnaWQgIlBvd2VyIGJhZC9wb3dlciBmYXVsdCIKK21zZ3N0ciAi0J/QvtC80LjQu9C60LAv0JLRltC00LzQvtCy0LAg0LbQuNCy0LvQtdC90L3RjyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODIKK21zZ2lkICJQcmV0aW1lb3V0IChpbiBzZWNvbmRzKSIKK21zZ3N0ciAi0J/QvtC/0LXRgNC10LTQvdGW0Lkg0YfQsNGBINC+0YfRltC60YPQstCw0L3QvdGPICjRgyDRgdC10LrRg9C90LTQsNGFKSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODMKK21zZ2lkICJTZXQgdGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgItCS0YHRgtCw0L3QvtCy0LjRgtC4INGH0LDRgSDQvtGH0ZbQutGD0LLQsNC90L3RjyAo0YMg0YHQtdC60YPQvdC00LDRhSkiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjg0Cittc2dpZCAiTm90IHRyaWdnZXIgcmVib290IgorbXNnc3RyICLQndC1INC/0LXRgNC10LfQsNCy0LDQvdGC0LDQttGD0LLQsNGC0LgiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMAorbXNnaWQgImZsYWcgbmFtZSIKK21zZ3N0ciAi0L3QsNC30LLQsCDQv9GA0LDQv9C+0YDRhtGPIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDEKK21zZ2lkICJmbGFnIGRlc2NyaXB0aW9uIgorbXNnc3RyICLQvtC/0LjRgSDQv9GA0LDQv9C+0YDRhtGPIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDIKK21zZ2lkICJmbGFnIHN0YXR1cyIKK21zZ3N0ciAi0YHRgtCw0L0g0L/RgNCw0L/QvtGA0YbRjyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAzCittc2dpZCAiZmxhZyBib290IHN0YXR1cyIKK21zZ3N0ciAi0YHRgtCw0L0g0L/RgNCw0L/QvtGA0YbRjyDQv9GW0LQg0YfQsNGBINC30LDQstCw0L3RgtCw0LbQtdC90L3RjyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTA0Cittc2dpZCAid2F0Y2hkb2cgZGV2aWNlIG5hbWUiCittc2dzdHIgItC90LDQt9Cy0LAg0YHQv9C+0YHRgtC10YDQtdC20L3QvtCz0L4g0L/RgNC40YHRgtGA0L7RjiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmxhZzogJXMiCittc2dzdHIgItC90LXQstGW0LTQvtC80LjQuSDQv9GA0LDQv9C+0YDQtdGG0Yw6ICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxNzcKK21zZ2lkICJTaG93IHRoZSBzdGF0dXMgb2YgdGhlIGhhcmR3YXJlIHdhdGNoZG9nLlxuIgorbXNnc3RyICLQn9C+0LrQsNC30LDRgtC4INGB0YLQsNC9INC30LDRgdC+0LHRgyDRgdC/0L7RgdGC0LXRgNC10LbQtdC90L3RjyDQt9CwINC+0LHQu9Cw0LTQvdCw0L3QvdGP0LwuXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE4MAorbXNnaWQgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICBwcmludCBzZWxlY3RlZCBmbGFncyBvbmx5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciBmbGFncyB0YWJsZVxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdCBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgcHJpbnQgb25seSBmbGFncyB0YWJsZSAoc2FtZSBhcyAtSSAtVClcbiIKK21zZ3N0ciAiIgorIiAtZiwgLS1mbGFncyA80YHQv9C40YHQvtC6PiAgINCy0LjQstC10YHRgtC4INC70LjRiNC1INCy0LjQsdGA0LDQvdGWINC/0YDQsNC/0L7RgNGG0ZZcbiIKKyIgLUYsIC0tbm9mbGFncyAgICAgICAgICDQvdC1INCy0LjQstC+0LTQuNGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0L/RgNCw0L/QvtGA0YbRltCyXG4iCisiIC1JLCAtLW5vaWRlbnQgICAgICAgICAg0L3QtSDQstC40LLQvtC00LjRgtC4INC00LDQvdGWINGJ0L7QtNC+INC/0YDQvtGE0ZbQu9GOINGB0L/QvtGB0YLQtdGA0LXQttC10L3QvdGPXG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAg0L3QtSDQstC40LLQvtC00LjRgtC4INC30LDQs9C+0LvQvtCy0LrQuCDQtNC70Y8g0YLQsNCx0LvQuNGG0ZYg0L/RgNCw0L/QvtGA0YbRltCyXG4iCisiIC1PLCAtLW9uZWxpbmUgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LLRgdGWINC00LDQvdGWINGDINC+0LTQuNC9INGA0Y/QtNC+0LpcbiIKKyIgLW8sIC0tb3V0cHV0IDzRgdC/0LjRgdC+0Lo+ICDQstC40LLQtdGB0YLQuCDRgdGC0L7QstC/0YfQuNC60Lgg0L/RgNCw0L/QvtGA0YbRltCyXG4iCisiIC1yLCAtLXJhdyAgICAgICAgICAgICAg0YTQvtGA0LzQsNGCINCy0LjQstC10LTQtdC90L3RjyDQsdC10Lcg0L7QsdGA0L7QsdC60Lgg0LTQu9GPINGC0LDQsdC70LjRhtGWINC/0YDQsNC/0L7RgNGG0ZbQslxuIgorIiAtVCwgLS1ub3RpbWVvdXRzICAgICAgINC90LUg0LLQuNCy0L7QtNC40YLQuCDRh9Cw0YHQuCDQvtGH0ZbQutGD0LLQsNC90L3RjyDQt9Cw0YHQvtCx0YMg0YHQv9C+0YHRgtC10YDQtdC20LXQvdC90Y9cbiIKKyIgLXMsIC0tc2V0dGltZW91dCA80YHQtdC6PiDQstGB0YLQsNC90L7QstC40YLQuCDRh9Cw0YEg0L7Rh9GW0LrRg9Cy0LDQvdC90Y8g0LfQsNGB0L7QsdGDINGB0L/QvtGB0YLQtdGA0LXQttC10L3QvdGPXG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LvQuNGI0LUg0YLQsNCx0LvQuNGG0Y4g0L/RgNCw0L/QvtGA0YbRltCyICjRgtC1INGB0LDQvNC1LCDRidC+INGWIC1JIC1UKVxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRlZmF1bHQgZGV2aWNlIGlzICVzLlxuIgorbXNnc3RyICLQotC40L/QvtCy0LjQvCDQv9GA0LjRgdGC0YDQvtGU0Lwg0ZQgJXMuXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE5OQorbXNnaWQgIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorbXNnc3RyICLQlNC+0YHRgtGD0L/QvdGWINGB0YLQvtCy0L/Rh9C40LrQuDpcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIGZsYWdzIDB4JXhcbiIKK21zZ3N0ciAiJXM6INC90LXQstGW0LTQvtC80ZYg0L/RgNCw0L/QvtGA0YbRliAweCV4XG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMxOSBzeXMtdXRpbHMvd2RjdGwuYzozNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhdGNoZG9nIGFscmVhZHkgaW4gdXNlLCB0ZXJtaW5hdGluZy4iCittc2dzdHIgIiVzOiDQt9Cw0YHRltCxINGB0L/QvtGB0YLQtdGA0LXQttC10L3QvdGPINCy0LbQtSDQstC40LrQvtGA0LjRgdGC0L7QstGD0ZTRgtGM0YHRjywg0L/QtdGA0LXRgNC40LLQsNGU0LzQviDQt9Cw0LLQtNCw0L3QvdGPLiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzMzIHN5cy11dGlscy93ZGN0bC5jOjQwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRpc2FybSB3YXRjaGRvZyIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC80LrQvdGD0YLQuCDQt9Cw0YHRltCxINGB0L/QvtGB0YLQtdGA0LXQttC10L3QvdGPIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0aW1lb3V0IGZvciAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDRh9Cw0YEg0L7Rh9GW0LrRg9Cy0LDQvdC90Y8g0LTQu9GPICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kLlxuIgorbXNnaWRfcGx1cmFsICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmRzLlxuIgorbXNnc3RyWzBdICLQkdGD0LvQviDQstGB0YLQsNC90L7QstC70LXQvdC+INGH0LDRgSDQvtGH0ZbQutGD0LLQsNC90L3RjyDRgyAlZCDRgdC10LrRg9C90LTRgy5cbiIKK21zZ3N0clsxXSAi0JHRg9C70L4g0LLRgdGC0LDQvdC+0LLQu9C10L3QviDRh9Cw0YEg0L7Rh9GW0LrRg9Cy0LDQvdC90Y8g0YMgJWQg0YHQtdC60YPQvdC00LguXG4iCittc2dzdHJbMl0gItCR0YPQu9C+INCy0YHRgtCw0L3QvtCy0LvQtdC90L4g0YfQsNGBINC+0YfRltC60YPQstCw0L3QvdGPINGDICVkINGB0LXQutGD0L3QtC5cbiIKK21zZ3N0clszXSAi0JHRg9C70L4g0LLRgdGC0LDQvdC+0LLQu9C10L3QviDRh9Cw0YEg0L7Rh9GW0LrRg9Cy0LDQvdC90Y8g0YMg0L7QtNC90YMg0YHQtdC60YPQvdC00YMuXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB3YXRjaGRvZyIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQtNCw0L3RliDRidC+0LTQviDQt9Cw0YHQvtCx0YMg0YHQv9C+0YHRgtC10YDQtdC20LXQvdC90Y8iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NCBzeXMtdXRpbHMvd2RjdGwuYzo0Njcgc3lzLXV0aWxzL3dkY3RsLmM6NDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMTRzICUyaSBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiJS0xNHMgJTJpIHNlY29uZHNcbiIKK21zZ3N0clswXSAiJS0xNHMgJTJpINGB0LXQutGD0L3QtNCwXG4iCittc2dzdHJbMV0gIiUtMTRzICUyaSDRgdC10LrRg9C90LTQuFxuIgorbXNnc3RyWzJdICIlLTE0cyAlMmkg0YHQtdC60YPQvdC0XG4iCittc2dzdHJbM10gIiUtMTRzICUyaSDRgdC10LrRg9C90LTQsFxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjUKK21zZ2lkICJUaW1lb3V0OiIKK21zZ3N0ciAi0KfQsNGBINC+0YfRltC60YPQstCw0L3QvdGPOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY4Cittc2dpZCAiUHJlLXRpbWVvdXQ6IgorbXNnc3RyICLQn9C+0L/QtdGA0LXQtNC90ZbQuSDRh9Cw0YEg0L7Rh9GW0LrRg9Cy0LDQvdC90Y86IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NzEKK21zZ2lkICJUaW1lbGVmdDoiCittc2dzdHIgItCX0LDQu9C40YguINGH0LDRgdGDOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA1Cittc2dpZCAiRGV2aWNlOiIKK21zZ3N0ciAi0J/RgNC40YHRgtGA0ZbQuToiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNworbXNnaWQgIklkZW50aXR5OiIKK21zZ3N0ciAi0J/RgNC+0YTRltC70Yw6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDkKK21zZ2lkICJ2ZXJzaW9uIgorbXNnc3RyICLQstC10YDRgdGW0Y8iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzMKK21zZ2lkICJ6cmFtIGRldmljZSBuYW1lIgorbXNnc3RyICLQvdCw0LfQstCwINC/0YDQuNGB0YLRgNC+0Y4genJhbSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NAorbXNnaWQgImxpbWl0IG9uIHRoZSB1bmNvbXByZXNzZWQgYW1vdW50IG9mIGRhdGEiCittc2dzdHIgItC+0LHQvNC10LbQtdC90L3RjyDRidC+0LTQviDQvdC10YHRgtC40YHQvdC10L3QvtCz0L4g0L7QsdGB0Y/Qs9GDINC00LDQvdC40YUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzUKK21zZ2lkICJ1bmNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAi0L3QtdGB0YLQuNGB0L3QtdC90LjQuSDRgNC+0LfQvNGW0YAg0LfQsdC10YDQtdC20LXQvdC40YUg0LTQsNC90LjRhSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NgorbXNnaWQgImNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAi0YHRgtC40YHQvdC10L3QuNC5INGA0L7Qt9C80ZbRgCDQt9Cx0LXRgNC10LbQtdC90LjRhSDQtNCw0L3QuNGFIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc3Cittc2dpZCAidGhlIHNlbGVjdGVkIGNvbXByZXNzaW9uIGFsZ29yaXRobSIKK21zZ3N0ciAi0LLQuNCx0YDQsNC90LjQuSDQsNC70LPQvtGA0LjRgtC8INGB0YLQuNGB0LrQsNC90L3RjyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OAorbXNnaWQgIm51bWJlciBvZiBjb25jdXJyZW50IGNvbXByZXNzIG9wZXJhdGlvbnMiCittc2dzdHIgItC60ZbQu9GM0LrRltGB0YLRjCDQvtC00L3QvtGH0LDRgdC90LjRhSDQtNGW0Lkg0LfRliDRgdGC0LjRgdC60LDQvdC90Y8iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzkKK21zZ2lkICJlbXB0eSBwYWdlcyB3aXRoIG5vIGFsbG9jYXRlZCBtZW1vcnkiCittc2dzdHIgItC/0L7RgNC+0LbQvdGWINGB0YLQvtGA0ZbQvdC60Lgg0LHQtdC3INGA0L7Qt9C/0L7QtNGW0LvQtdC90L7RlyDQv9Cw0LzigJnRj9GC0ZYiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODAKK21zZ2lkICJhbGwgbWVtb3J5IGluY2x1ZGluZyBhbGxvY2F0b3IgZnJhZ21lbnRhdGlvbiBhbmQgbWV0YWRhdGEgb3ZlcmhlYWQiCittc2dzdHIgItGD0YHRjyDQv9Cw0LzigJnRj9GC0Ywg0ZbQtyDRhNGA0LDQs9C80LXQvdGC0LDRhtGW0ZTRjiDQsNC70L7QutCw0YLQvtGA0ZbQsiDRgtCwINC00L7QtNCw0YLQutC+0LLQuNC8INC+0LHRgdGP0LPQvtC8INC80LXRgtCw0LTQsNC90LjRhSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MQorbXNnaWQgIm1lbW9yeSBsaW1pdCB1c2VkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAi0L7QsdC80LXQttC10L3QvdGPINC/0LDQvOKAmdGP0YLRliDQtNC70Y8g0LfQsdC10YDRltCz0LDQvdC90Y8g0YHRgtC40YHQvdC10L3QuNGFINC00LDQvdC40YUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODIKK21zZ2lkICJtZW1vcnkgenJhbSBoYXZlIGJlZW4gY29uc3VtZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICLQstC40LrQvtGA0LjRgdGC0LDQvdCwIHpyYW0g0L/QsNC84oCZ0Y/RgtGWINC00LvRjyDQt9Cx0LXRgNC10LbQtdC90L3RjyDRgdGC0LjRgdC90LXQvdC40YUg0LTQsNC90LjRhSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MworbXNnaWQgIm51bWJlciBvZiBvYmplY3RzIG1pZ3JhdGVkIGJ5IGNvbXBhY3Rpb24iCittc2dzdHIgItC60ZbQu9GM0LrRltGB0YLRjCDQvtCx4oCZ0ZTQutGC0ZbQsiwg0L/QtdGA0LXQvdC10YHQtdC90LjRhSDQv9GW0LQg0YfQsNGBINGD0YnRltC70YzQvdC10L3QvdGPIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjM2MyBzeXMtdXRpbHMvenJhbWN0bC5jOjM3NAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0LggbW1fc3RhdCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorIiAlMSRzIC1yIDxkZXZpY2U+IFsuLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGRldmljZT4gLXMgPHNpemU+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBb0L/QsNGA0LDQvNC10YLRgNC4XSA80L/RgNC40YHRgtGA0ZbQuT5cbiIKKyIgJTEkcyAtciA80L/RgNC40YHRgtGA0ZbQuT4gWy4uLl1cbiIKKyIgJTEkcyBb0L/QsNGA0LDQvNC10YLRgNC4XSAtZiB8IDzQv9GA0LjRgdGC0YDRltC5PiAtcyA80YDQvtC30LzRltGAPlxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUyNworbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCB6cmFtIGRldmljZXMuXG4iCittc2dzdHIgItCd0LDQu9Cw0YjRgtGD0LLQsNGC0Lgg0L/RgNC40YHRgtGA0L7RlyB6cmFtINGWINC60LXRgNGD0LLQsNGC0Lgg0L3QuNC80LguXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMwCittc2dpZCAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0ICAgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIHVzZVxuIgorbXNnc3RyICIgLWEsIC0tYWxnb3JpdGhtIGx6b3xsejQgICDQsNC70LPQvtGA0LjRgtC8INGB0YLQuNGB0LrQsNC90L3Rjywg0Y/QutC40Lwg0YHQu9GW0LQg0YHQutC+0YDQuNGB0YLQsNGC0LjRgdGPXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMxCittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INGA0L7Qt9C80ZbRgCDRgyDQsdCw0LnRgtCw0YUsINCwINC90LUg0YMg0LfRgNGD0YfQvdC+0LzRgyDQtNC70Y8g0YfQuNGC0LDQvdC90Y8g0YTQvtGA0LzQsNGC0ZZcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzIKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICBmaW5kIGEgZnJlZSBkZXZpY2VcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAg0LfQvdCw0LnRgtC4INCy0ZbQu9GM0L3QuNC5INC/0YDQuNGB0YLRgNGW0LlcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICDQvdC1INCy0LjQstC+0LTQuNGC0Lgg0LfQsNCz0L7Qu9C+0LLQutC4XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM0Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA80YHQv9C40YHQvtC6PiAgICAg0LLQuNC30L3QsNGH0LjRgtC4INGB0YLQvtCy0L/Rh9C40LrQuCDQtNC70Y8g0LLQuNCy0LXQtNC10L3QvdGPINC00LDQvdC40YUg0YnQvtC00L4g0YHRgtCw0L3Rg1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzNQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIHVzZSByYXcgc3RhdHVzIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INGE0L7RgNC80LDRgiDQstC40LLQtdC00LXQvdC90Y8g0YHRgtCw0L3RgyDQsdC10Lcg0L7QsdGA0L7QsdC60LhcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzYKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAg0YHQutC40L3Rg9GC0Lgg0YPRgdGWINCy0LrQsNC30LDQvdGWINC/0YDQuNGB0YLRgNC+0ZdcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzcKK21zZ2lkICIgLXMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgLXMsIC0tc2l6ZSA80YDQvtC30LzRltGAPiAgICAgICDRgNC+0LfQvNGW0YAg0L/RgNC40YHRgtGA0L7RjlxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzOAorbXNnaWQgIiAtdCwgLS1zdHJlYW1zIDxudW1iZXI+ICAgIG51bWJlciBvZiBjb21wcmVzc2lvbiBzdHJlYW1zXG4iCittc2dzdHIgIiAtdCwgLS1zdHJlYW1zIDzQutGW0LvRjNC60ZbRgdGC0Yw+INC60ZbQu9GM0LrRltGB0YLRjCDQv9C+0YLQvtC60ZbQsiDRgdGC0LjRgdC60LDQvdC90Y9cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYWxnb3JpdGhtOiAlcyIKK21zZ3N0ciAi0L3QtdC/0ZbQtNGC0YDQuNC80YPQstCw0L3QuNC5INCw0LvQs9C+0YDQuNGC0Lw6ICVzIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYyNgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdHJlYW1zIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0LfQsNC/0LjRgSDQv9C+0YLQvtC60ZbQsiDQvtCx0YDQvtCx0LrQuCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NDgKK21zZ2lkICJvcHRpb24gLS1maW5kIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxkZXZpY2U+IgorbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGAIC0tZmluZCDQvdC1INC80L7QttC90LAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INC+0LTQvdC+0YfQsNGB0L3QviDQtyA80L/RgNC40YHRgtGA0ZbQuT4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjU0Cittc2dpZCAib25seSBvbmUgPGRldmljZT4gYXQgYSB0aW1lIGlzIGFsbG93ZWQiCittc2dzdHIgItC80L7QttC90LAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INC70LjRiNC1INC+0LTQuNC9IDzQv9GA0LjRgdGC0YDRltC5PiDQt9CwINGA0LDQtyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NTcKK21zZ2lkICJvcHRpb25zIC0tYWxnb3JpdGhtIGFuZCAtLXN0cmVhbXMgbXVzdCBiZSBjb21iaW5lZCB3aXRoIC0tc2l6ZSIKK21zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgNC4IC0tYWxnb3JpdGhtINGWIC0tc3RyZWFtcyDRgdC70ZbQtCDQv9C+0ZTQtNC90YPQstCw0YLQuCDQtyAtLXNpemUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njg3IHN5cy11dGlscy96cmFtY3RsLmM6NzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVzZXQiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINGB0LrQuNC90YPRgtC4IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY5OCBzeXMtdXRpbHMvenJhbWN0bC5jOjcwNgorbXNnaWQgIm5vIGZyZWUgenJhbSBkZXZpY2UgZm91bmQiCittc2dzdHIgItC90LUg0LfQvdCw0LnQtNC10L3QviDQstGW0LvRjNC90L7Qs9C+INC/0YDQuNGB0YLRgNC+0Y4genJhbSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgbnVtYmVyIG9mIHN0cmVhbXMiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INC60ZbQu9GM0LrRltGB0YLRjCDQv9C+0YLQvtC60ZbQsiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYWxnb3JpdGhtIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDQsNC70LPQvtGA0LjRgtC8IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBkaXNrc2l6ZSAoJWp1IGJ5dGVzKSIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0YDQvtC30LzRltGAINC00LjRgdC60LAgKCVqdSDQsdCw0LnRgtGW0LIpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjQ1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzIChhdXRvbWF0aWMgbG9naW4pXG4iCittc2dzdHIgIiVzJXMgKNCw0LLRgtC+0LzQsNGC0LjRh9C90LjQuSDQstGF0ZbQtClcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSByb290IGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINC30LzRltC90LjRgtC4INC60L7RgNC10L3QtdCy0LjQuSDQutCw0YLQsNC70L7QsyAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugd29ya2luZyBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQt9C80ZbQvdC40YLQuCDRgNC+0LHQvtGH0LjQuSDQutCw0YLQsNC70L7QsyAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2UgcHJvY2VzcyBwcmlvcml0eTogJW0iCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINC30LzRltC90LjRgtC4INC/0YDRltC+0YDQuNGC0LXRgtC90ZbRgdGC0Ywg0L/RgNC+0YbQtdGB0YM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgZXhlYyAlczogJW0iCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINC30LDQv9GD0YHRgtC40YLQuCAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTU1IHRlcm0tdXRpbHMvYWdldHR5LmM6ODQxIHRlcm0tdXRpbHMvYWdldHR5LmM6ODUzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MTUgdGVybS11dGlscy9hZ2V0dHkuYzoxNDMzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NjkgdGVybS11dGlscy9hZ2V0dHkuYzoxNDc5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTUxNgorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTc4IHRlcm0tdXRpbHMvYWdldHR5LmM6MjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5OiAlbSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INC/0LDQvCfRj9GC0Yw6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjY4MAorbXNnaWQgImludmFsaWQgZGVsYXkgYXJndW1lbnQiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDQt9Cw0YLRgNC40LzQutC4IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjcxOQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLS1sb2NhbC1saW5lIgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0L/QsNGA0LDQvNC10YLRgNCwIC0tbG9jYWwtbGluZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3MzgKK21zZ2lkICJpbnZhbGlkIG5pY2UgYXJndW1lbnQiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDQv9GA0ZbQvtGA0LjRgtC10YLQvdC+0YHRgtGWIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3BlZWQ6ICVzIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdC1INC30L3QsNGH0LXQvdC90Y8g0YjQstC40LTQutC+0YHRgtGWOiAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzcKK21zZ2lkICJ0b28gbWFueSBhbHRlcm5hdGUgc3BlZWRzIgorbXNnc3RyICLQvdCw0LTRgtC+INCx0LDQs9Cw0YLQviDQt9Cw0L/QsNGB0L3QuNGFINC30L3QsNGH0LXQvdGMINGI0LLQuNC00LrQvtGB0YLRliIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDA2IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAxMCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IG9wZW4gYXMgc3RhbmRhcmQgaW5wdXQ6ICVtIgorbXNnc3RyICIvZGV2LyVzOiDQvdC1INCy0LTQsNC70L7RgdGPINCy0ZbQtNC60YDQuNGC0Lgg0YHRgtCw0L3QtNCw0YDRgtC90LjQuSDQstCy0ZbQtDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAyOQorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSBjaGFyYWN0ZXIgZGV2aWNlIgorbXNnc3RyICIvZGV2LyVzOiDQvdC1INGUINGB0LjQvNCy0L7Qu9GM0L3QuNC8INC/0YDQuNGB0YLRgNC+0ZTQvCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIHR0eSIKK21zZ3N0ciAiL2Rldi8lczog0L3QtSDRlCDRgtC10YDQvNGW0L3QsNC70L7QvCB0dHkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAzNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IGdldCBjb250cm9sbGluZyB0dHk6ICVtIgorbXNnc3RyICIvZGV2LyVzOiDQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0LTQsNC90ZYg0YnQvtC00L4gdHR5INC60LXRgNGD0LLQsNC90L3RjzogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA1NworIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiB2aGFuZ3VwKCkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiL2Rldi8lczog0L/QvtC80LjQu9C60LAgdmhhbmd1cCgpOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3Qgb3BlbiBmb3IgcmVhZC93cml0ZSIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRltC00LrRgNC40YLQuCDQtNC70Y8g0YfQuNGC0LDQvdC90Y8v0LfQsNC/0LjRgdGDIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IHNldCBwcm9jZXNzIGdyb3VwOiAlbSIKK21zZ3N0ciAiL2Rldi8lczog0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDQs9GA0YPQv9GDINC/0YDQvtGG0LXRgdGDOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkdXAgcHJvYmxlbTogJW0iCittc2dzdHIgIiVzOiDQv9C+0LzQuNC70LrQsCDQv9GA0LggZHVwOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INCw0YLRgNC40LHRg9GC0Lgg0YLQtdGA0LzRltC90LDQu9CwOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMzIxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXMgZmFpbGVkOiAlbSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDQsNGC0YDQuNCx0YPRgtC4INGC0LXRgNC80ZbQvdCw0LvQsDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ1OQorbXNnaWQgImNhbm5vdCBvcGVuIG9zLXJlbGVhc2UgZmlsZSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGW0LTQutGA0LjRgtC4INGE0LDQudC7IG9zLXJlbGVhc2UiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTYzNworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHJlbG9hZCBmaWxlOiAlczogJW0iCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0YHRgtCy0L7RgNC40YLQuCDRhNCw0LnQuyDQv9C10YDQtdC30LDQstCw0L3RgtCw0LbQtdC90L3RjzogJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3MzYKK21zZ2lkICJbcHJlc3MgRU5URVIgdG8gbG9naW5dIgorbXNnc3RyICJb0L3QsNGC0LjRgdC90ZbRgtGMIEVOVEVSLCDRidC+0LEg0YPQstGW0LnRgtC4XSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzYwCittc2dpZCAiTnVtIExvY2sgb2ZmIgorbXNnc3RyICJOdW0gTG9jayDQstC40LzQutC90LXQvdC+IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjMKK21zZ2lkICJOdW0gTG9jayBvbiIKK21zZ3N0ciAiTnVtIExvY2sg0YPQstGW0LzQutC90LXQvdC+IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjYKK21zZ2lkICJDYXBzIExvY2sgb24iCittc2dzdHIgIkNhcHMgTG9jayDRg9Cy0ZbQvNC60L3QtdC90L4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2OQorbXNnaWQgIlNjcm9sbCBMb2NrIG9uIgorbXNnc3RyICJTY3JvbGwgTG9jayDRg9Cy0ZbQvNC60L3QtdC90L4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc3MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSGludDogJXNcbiIKKyJcbiIKK21zZ3N0ciAiIgorItCf0ZbQtNC60LDQt9C60LA6ICVzXG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZDogJW0iCittc2dzdHIgIiVzOiDQv9GA0L7Rh9C40YLQsNC90L46ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlucHV0IG92ZXJydW4iCittc2dzdHIgIiVzOiDQv9C10YDQtdC/0L7QstC90LXQvdC90Y8g0LLQstC+0LTRgyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTc0IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgY29udmVyc2lvbiBmb3IgbG9naW4gbmFtZSIKK21zZ3N0ciAiJXM6INC90LXQutC+0YDQtdC60YLQvdC1INC/0LXRgNC10YLQstC+0YDQtdC90L3RjyDRgdC40LzQstC+0LvRltCyINGDINGW0LzQtdC90ZYg0LrQvtGA0LjRgdGC0YPQstCw0YfQsCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciAweCV4IGluIGxvZ2luIG5hbWUiCittc2dzdHIgIiVzOiDQvdC10LrQvtGA0LXQutGC0L3QuNC5INGB0LjQvNCy0L7QuyAweCV4INGDINGW0LzQtdC90ZYg0LrQvtGA0LjRgdGC0YPQstCw0YfQsCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDQsNGC0YDQuNCx0YPRgtC4INGC0LXRgNC80ZbQvdCw0LvQsDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEwOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxsaW5lPiBbPGJhdWRfcmF0ZT4sLi4uXSBbPHRlcm10eXBlPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGJhdWRfcmF0ZT4sLi4uIDxsaW5lPiBbPHRlcm10eXBlPl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvQv9Cw0YDQsNC80LXRgtGA0LhdINC70ZbQvdGW0Y8gW9GH0LDRgdGC0L7RgtCwX9GDX9Cx0L7QtNCw0YUsLi4uXSBb0YLQuNC/INGC0LXRgNC80ZbQvdCw0LvQsF1cbiIKKyIgJTEkcyBb0L/QsNGA0LDQvNC10YLRgNC4XSDRh9Cw0YHRgtC+0YLQsF/Rg1/QsdC+0LTQsNGFLC4uLiDQu9GW0L3RltGPIFvRgtC40L8g0YLQtdGA0LzRltC90LDQu9CwXVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTMKK21zZ2lkICJPcGVuIGEgdGVybWluYWwgYW5kIHNldCBpdHMgbW9kZS5cbiIKK21zZ3N0ciAi0JLRltC00LrRgNC40YLQuCDRgtC10YDQvNGW0L3QsNC7INGWINCy0YHRgtCw0L3QvtCy0LjRgtC4INGA0LXQttC40Lwg0LnQvtCz0L4g0YDQvtCx0L7RgtC4LlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTYKK21zZ2lkICIgLTgsIC0tOGJpdHMgICAgICAgICAgICAgICAgYXNzdW1lIDgtYml0IHR0eVxuIgorbXNnc3RyICIgLTgsIC0tOGJpdHMgICAgICAgICAgICAgICAg0L/RgNC40L/Rg9GB0LrQsNGC0LgsINGJ0L4gdHR5IDgt0LHRltGC0L7QstC40LlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE3Cittc2dpZCAiIC1hLCAtLWF1dG9sb2dpbiA8dXNlcj4gICAgIGxvZ2luIHRoZSBzcGVjaWZpZWQgdXNlciBhdXRvbWF0aWNhbGx5XG4iCittc2dzdHIgIiAtYSwgLS1hdXRvbG9naW4gPNC60L7RgNC40YHRgtGD0LLQsNGHPiDQstC40LrQvtC90YPQstCw0YLQuCDQstGF0ZbQtCDQstC60LDQt9Cw0L3QvtCz0L4g0LrQvtGA0LjRgdGC0YPQstCw0YfQsCDQsNCy0YLQvtC80LDRgtC40YfQvdC+XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExOAorbXNnaWQgIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICBkbyBub3QgcmVzZXQgY29udHJvbCBtb2RlXG4iCittc2dzdHIgIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICDQvdC1INGB0LrQuNC00LDRgtC4INGA0LXQttC40Lwg0LrQtdGA0YPQstCw0L3QvdGPXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExOQorbXNnaWQgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICB1c2UgLXIgPGhvc3RuYW1lPiBmb3IgbG9naW4oMSlcbiIKK21zZ3N0ciAiIC1FLCAtLXJlbW90ZSAgICAgICAgICAgICAgINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCAtciA80L3QsNC30LLQsCDQstGD0LfQu9CwPiDQtNC70Y8gbG9naW4oMSlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIwCittc2dpZCAiIC1mLCAtLWlzc3VlLWZpbGUgPGZpbGU+ICAgIGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIgLWYsIC0taXNzdWUtZmlsZSA80YTQsNC50Ls+ICAgINC/0L7QutCw0LfQsNGC0Lgg0YTQsNC50LsgaXNzdWVcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIxCittc2dpZCAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIGVuYWJsZSBoYXJkd2FyZSBmbG93IGNvbnRyb2xcbiIKK21zZ3N0ciAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgINGD0LLRltC80LrQvdGD0YLQuCDQsNC/0LDRgNCw0YLQvdC1INC60LXRgNGD0LLQsNC90L3RjyDQv9C+0YLQvtC60L7QvCDQtNCw0L3QuNGFXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMgorbXNnaWQgIiAtSCwgLS1ob3N0IDxob3N0bmFtZT4gICAgICBzcGVjaWZ5IGxvZ2luIGhvc3RcbiIKK21zZ3N0ciAiIC1ILCAtLWhvc3QgPNC90LDQt9Cy0LAg0LLRg9C30LvQsD4gICAg0LLQutCw0LfQsNGC0Lgg0LLRg9C30L7QuyDQstGF0L7QtNGDINC00L4g0YHQuNGB0YLQtdC80LhcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIzCittc2dpZCAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGRvIG5vdCBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgINC90LUg0LLQuNCy0L7QtNC40YLQuCDQstC80ZbRgdGCINGE0LDQudC70LAgaXNzdWVcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI0Cittc2dpZCAiIC1JLCAtLWluaXQtc3RyaW5nIDxzdHJpbmc+IHNldCBpbml0IHN0cmluZ1xuIgorbXNnc3RyICIgLUksIC0taW5pdC1zdHJpbmcgPNGA0Y/QtNC+0Lo+INCy0YHRgtCw0L3QvtCy0LjRgtC4INGA0Y/QtNC+0Log0ZbQvdGW0YbRltCw0LvRltC30LDRhtGW0ZdcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI1Cittc2dpZCAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIGRvIG5vdCBjbGVhciB0aGUgc2NyZWVuIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgINC90LUg0YHQv9C+0YDQvtC20L3Rj9GC0Lgg0LXQutGA0LDQvSDQv9C10YDQtdC0INC90LDQtNGB0LjQu9Cw0L3QvdGP0Lwg0LfQsNC/0LjRgtGDXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNgorbXNnaWQgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBzcGVjaWZ5IGxvZ2luIHByb2dyYW1cbiIKK21zZ3N0ciAiIC1sLCAtLWxvZ2luLXByb2dyYW0gPNGE0LDQudC7PiDQstC60LDQt9Cw0YLQuCDRhNCw0LnQuyDQv9GA0L7Qs9GA0LDQvNC4INCy0YXQvtC00YMg0LTQviDRgdC40YHRgtC10LzQuFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjcKK21zZ2lkICIgLUwsIC0tbG9jYWwtbGluZVs9PG1vZGU+XSAgY29udHJvbCB0aGUgbG9jYWwgbGluZSBmbGFnXG4iCittc2dzdHIgIiAtTCwgLS1sb2NhbC1saW5lWz080YDQtdC20LjQvD5dINC60LXRgNGD0LLQsNC90L3RjyDQv9GA0LDQv9C+0YDRhtC10Lwg0LvQvtC60LDQu9GM0L3QvtGXINC70ZbQvdGW0ZdcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI4Cittc2dpZCAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCittc2dzdHIgIiAtbSwgLS1leHRyYWN0LWJhdWQgICAgICAgICDQstC40LTQvtCx0YPRgtC4INC00LDQvdGWINGJ0L7QtNC+INGI0LLQuNC00LrQvtGB0YLRliDRgyDQsdC+0LTQsNGFINC/0ZbQtCDRh9Cw0YEg0Lcn0ZTQtNC90LDQvdC90Y9cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI5Cittc2dpZCAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGRvIG5vdCBwcm9tcHQgZm9yIGxvZ2luXG4iCittc2dzdHIgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICDQvdC1INC/0YDQvtGB0LjRgtC4INC/0YDQviDQstGF0ZbQtCDQtNC+INGB0LjRgdGC0LXQvNC4XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMAorbXNnaWQgIiAtTiAgLS1ub25ld2xpbmUgICAgICAgICAgICBkbyBub3QgcHJpbnQgYSBuZXdsaW5lIGJlZm9yZSBpc3N1ZVxuIgorbXNnc3RyICIgLU4sIC0tbm9uZXdsaW5lICAgICAgICAgICAg0L3QtSDQstC40LLQvtC00LjRgtC4INGB0LjQvNCy0L7QuyDQvdC+0LLQvtCz0L4g0YDRj9C00LrQsCDQtNC+IGlzc3VlXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMQorbXNnaWQgIiAtbywgLS1sb2dpbi1vcHRpb25zIDxvcHRzPiBvcHRpb25zIHRoYXQgYXJlIHBhc3NlZCB0byBsb2dpblxuIgorbXNnc3RyICIgLW8sIC0tbG9naW4tb3B0aW9ucyA80L/QsNGAPiAg0L/QsNGA0LDQvNC10YLRgNC4LCDRj9C60ZYg0YHQu9GW0LQg0L/QtdGA0LXQtNCw0YLQuCDQv9GA0L7Qs9GA0LDQvNGWINC00LvRjyDQstGF0L7QtNGDXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMgorbXNnaWQgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICB3YWl0IGZvciBhbnkga2V5IGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiIC1wLCAtLWxvZ2luLXBhdXNlICAgICAgICAgINC+0YfRltC60YPQstCw0YLQuCDQvdCwINC90LDRgtC40YHQutCw0L3QvdGPINGP0LrQvtGX0YHRjCDQutC70LDQstGW0YjRliDQtNC+INCy0YXQvtC00YMg0LTQviDRgdC40YHRgtC10LzQuFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzMKK21zZ2lkICIgLXIsIC0tY2hyb290IDxkaXI+ICAgICAgICAgY2hhbmdlIHJvb3QgdG8gdGhlIGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXIsIC0tY2hyb290IDzQutCw0YI+ICAgICAgICAg0LfQvNGW0L3QuNGC0Lgg0LrQvtGA0LXQvdC10LLQuNC5INC60LDRgtCw0LvQvtCzINC90LAg0LLQutCw0LfQsNC90LjQuVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzQKK21zZ2lkICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgZG8gdmlydHVhbGx5IGhhbmd1cCBvbiB0aGUgdHR5XG4iCittc2dzdHIgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICDQstC40LrQvtC90LDRgtC4INCy0ZbRgNGC0YPQsNC70YzQvdC1INC30LDQstC10YDRiNC10L3QvdGPINGA0L7QsdC+0YLQuCDRgyB0dHlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM1Cittc2dpZCAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIHRyeSB0byBrZWVwIGJhdWQgcmF0ZSBhZnRlciBicmVha1xuIgorbXNnc3RyICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAg0L3QsNC80LDQs9Cw0YLQuNGB0Y8g0LfQsdC10YDQtdCz0YLQuCDRiNCy0LjQtNC60ZbRgdGC0Ywg0Lcn0ZTQtNC90LDQvdC90Y8g0L/RltGB0LvRjyDRgNC+0LfRltGA0LLQsNC90L3Rj1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzYKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8bnVtYmVyPiAgICAgbG9naW4gcHJvY2VzcyB0aW1lb3V0XG4iCittc2dzdHIgIiAtdCwgLS10aW1lb3V0IDzRh9C40YHQu9C+PiAgICAgINGH0LDRgSDQvtGH0ZbQutGD0LLQsNC90L3RjyDQvdCwINC00LDQvdGWINCy0ZbQtCDQv9GA0L7RhtC10YHRgyDQstGF0L7QtNGDINC00L4g0YHQuNGB0YLQtdC80LhcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM3Cittc2dpZCAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKK21zZ3N0ciAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgINCy0LjRj9Cy0LjRgtC4INGC0LXRgNC80ZbQvdCw0Lsg0LLQtdGA0YXQvdGM0L7Qs9C+INGA0LXQs9GW0YHRgtGA0YNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM4Cittc2dpZCAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIHdhaXQgY2FycmlhZ2UtcmV0dXJuXG4iCittc2dzdHIgIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICDQvtGH0ZbQutGD0LLQsNGC0Lgg0L3QsCDRgdC40LzQstC+0Lsg0L/QvtCy0LXRgNC90LXQvdC90Y8g0LrQsNGA0LXRgtC60LhcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM5Cittc2dpZCAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIGRvIG5vdCBwcmludCBoaW50c1xuIgorbXNnc3RyICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAg0L3QtSDQstC40LLQvtC00LjRgtC4INC/0ZbQtNC60LDQt9C60LhcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQwCittc2dpZCAiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgIG5vIGhvc3RuYW1lIGF0IGFsbCB3aWxsIGJlIHNob3duXG4iCittc2dzdHIgIiAgICAgLS1ub2hvc3RuYW1lICAgICAgICAgICDQvdC1INC/0L7QutCw0LfRg9Cy0LDRgtC4INC90LDQt9Cy0YMg0LLRg9C30LvQsCDQstC30LDQs9Cw0LvRllxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDEKK21zZ2lkICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgc2hvdyBmdWxsIHF1YWxpZmllZCBob3N0bmFtZVxuIgorbXNnc3RyICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0L3QsNC30LLRgyDQstGD0LfQu9CwINC/0L7QstC90ZbRgdGC0Y5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQyCittc2dpZCAiICAgICAtLWVyYXNlLWNoYXJzIDxzdHJpbmc+IGFkZGl0aW9uYWwgYmFja3NwYWNlIGNoYXJzXG4iCittc2dzdHIgIiAgICAgLS1lcmFzZS1jaGFycyA80YDRj9C00L7Quj4gINC00L7QtNCw0YLQutC+0LLRliDRgdC40LzQstC+0LvQuCBiYWNrc3BhY2VcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQzCittc2dpZCAiICAgICAtLWtpbGwtY2hhcnMgPHN0cmluZz4gIGFkZGl0aW9uYWwga2lsbCBjaGFyc1xuIgorbXNnc3RyICIgICAgIC0ta2lsbC1jaGFycyA80YDRj9C00L7Quj4gICDQtNC+0LTQsNGC0LrQvtCy0ZYg0YHQuNC80LLQvtC70Lgg0L/QtdGA0LXRgNC40LLQsNC90L3Rj1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDQKK21zZ2lkICIgICAgIC0tY2hkaXIgPGRpcmVjdG9yeT4gICAgY2hkaXIgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIgICAgIC0tY2hkaXIgPNC60LDRgtCw0LvQvtCzPiAgICAgINC30LzRltC90LjRgtC4INC60LDRgtCw0LvQvtCzINC90LAg0LLQutCw0LfQsNC90LjQuSDQv9C10YDQtdC0INCy0YXQvtC00L7QvFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDUKK21zZ2lkICIgICAgIC0tZGVsYXkgPG51bWJlcj4gICAgICAgc2xlZXAgc2Vjb25kcyBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAgICAgLS1kZWxheSA80YfQuNGB0LvQvj4gICAgICAgINC30LDRh9C10LrQsNGC0Lgg0LLQutCw0LfQsNC90YMg0LrRltC70YzQutGW0YHRgtGMINGB0LXQutGD0L3QtCDQtNC+INC90LDQtNGB0LjQu9Cw0L3QvdGPINC30LDQv9C40YLRg1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDYKK21zZ2lkICIgICAgIC0tbmljZSA8bnVtYmVyPiAgICAgICAgcnVuIGxvZ2luIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIgICAgIC0tbmljZSA80YfQuNGB0LvQvj4gICAgICAgICDQt9Cw0L/Rg9GB0YLQuNGC0Lgg0LfQsNGB0ZbQsSDQstGF0L7QtNGDINGW0Lcg0LLQutCw0LfQsNC90LjQvCDRgNGW0LLQvdC10Lwg0L/RgNGW0L7RgNC40YLQtdGC0L3QvtGB0YLRllxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDcKK21zZ2lkICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgcmVsb2FkIHByb21wdHMgb24gcnVubmluZyBhZ2V0dHkgaW5zdGFuY2VzXG4iCittc2dzdHIgIiAgICAgLS1yZWxvYWQgICAgICAgICAgICAgICDQv9C10YDQtdC30LDQstCw0L3RgtCw0LbQuNGC0Lgg0LfQsNC/0LjRgtC4INGDINC30LDQv9GD0YnQtdC90LjRhSDQtdC60LfQtdC80L/Qu9GP0YDQsNGFIGFnZXR0eVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDgKK21zZ2lkICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAtLWhlbHAgICAgICAgICAgICAgICAgINC/0L7QutCw0LfQsNGC0Lgg0YbRjiDQtNC+0LLRltC00LrRgyDRgtCwINCy0LjQudGC0LhcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ5Cittc2dpZCAiICAgICAtLXZlcnNpb24gICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICDQv9C+0LrQsNC30LDRgtC4INGW0L3RhNC+0YDQvNCw0YbRltGOINGJ0L7QtNC+INCy0LXRgNGB0ZbRlyDRliDQstC40LnRgtC4XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCB1c2VyIgorbXNnaWRfcGx1cmFsICIlZCB1c2VycyIKK21zZ3N0clswXSAiJWQg0LrQvtGA0LjRgdGC0YPQstCw0YciCittc2dzdHJbMV0gIiVkINC60L7RgNC40YHRgtGD0LLQsNGH0LAiCittc2dzdHJbMl0gIiVkINC60L7RgNC40YHRgtGD0LLQsNGH0ZbQsiIKK21zZ3N0clszXSAiJWQg0LrQvtGA0LjRgdGC0YPQstCw0YciCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICJjaGVja25hbWUgZmFpbGVkOiAlbSIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgY2hlY2tuYW1lOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjIxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB0b3VjaCBmaWxlICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0LjQutC+0L3QsNGC0LggdG91Y2gg0LTQu9GPINGE0LDQudC70LAgJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYyNQorbXNnaWQgIi0tcmVsb2FkIGlzIHVuc3VwcG9ydGVkIG9uIHlvdXIgc3lzdGVtIgorbXNnc3RyICLQn9GW0LTRgtGA0LjQvNC60LggLS1yZWxvYWQg0YMg0LLQsNGI0ZbQuSDRgdC40YHRgtC10LzRliDQvdC1INC/0LXRgNC10LTQsdCw0YfQtdC90L4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3kgfCBuXVxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gW3kgfCBuXVxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3OAorbXNnaWQgIkNvbnRyb2wgd3JpdGUgYWNjZXNzIG9mIG90aGVyIHVzZXJzIHRvIHlvdXIgdGVybWluYWwuXG4iCittc2dzdHIgItCa0LXRgNGD0LLQsNGC0Lgg0LTQvtGB0YLRg9C/0L7QvCDRltC90YjQuNGFINC60L7RgNC40YHRgtGD0LLQsNGH0ZbQsiDRidC+0LTQviDQt9Cw0L/QuNGB0YMg0LTQu9GPINCy0LDRiNC+0LPQviDRgtC10YDQvNGW0L3QsNC70LAuXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjgxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICDQstC40LLQtdGB0YLQuCDQtNCw0L3RliDRidC+0LTQviDQtNGW0LksINGP0LrRliDQstC40LrQvtC90YPRjtGC0YzRgdGPXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEyNQorbXNnaWQgInR0eW5hbWUgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCB0dHluYW1lIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzQKK21zZ2lkICJpcyB5IgorbXNnc3RyICLQstGB0YLQsNC90L7QstC70LXQvdC+IHkiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNworbXNnaWQgImlzIG4iCittc2dzdHIgItCy0YHRgtCw0L3QvtCy0LvQtdC90L4gIG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE0OCB0ZXJtLXV0aWxzL21lc2cuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlICVzIG1vZGUgZmFpbGVkIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0LfQvNGW0L3QuNGC0Lgg0YDQtdC20LjQvCAlcyDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTUwCittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgYWxsb3dlZCIKK21zZ3N0ciAi0LfQsNC/0LjRgSDQvdCwINCy0LDRiCDRgtC10YDQvNGW0L3QsNC7INC00L7Qt9Cy0L7Qu9C10L3QviIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTU3Cittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgZGVuaWVkIgorbXNnc3RyICLQt9Cw0L/QuNGBINC90LAg0LLQsNGIINGC0LXRgNC80ZbQvdCw0Lsg0LfQsNCx0L7RgNC+0L3QtdC90L4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi0L/QvtC80LjQu9C60L7QstC40Lkg0LDRgNCz0YPQvNC10L3RgjogJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVdXG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgNC4XSBb0YTQsNC50LtdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTYyCittc2dpZCAiTWFrZSBhIHR5cGVzY3JpcHQgb2YgYSB0ZXJtaW5hbCBzZXNzaW9uLlxuIgorbXNnc3RyICLQodGC0LLQvtGA0LjRgtC4INGB0LrRgNC40L/RgiDQstCy0LXQtNC10L3QvdGPINGB0LXQsNC90YHRgyDRgtC10YDQvNGW0L3QsNC70LAuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTY1Cittc2dpZCAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICBhcHBlbmQgdGhlIG91dHB1dFxuIgorIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiBydW4gY29tbWFuZCByYXRoZXIgdGhhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgorIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICByZXR1cm4gZXhpdCBjb2RlIG9mIHRoZSBjaGlsZCBwcm9jZXNzXG4iCisiIC1mLCAtLWZsdXNoICAgICAgICAgICAgIHJ1biBmbHVzaCBhZnRlciBlYWNoIHdyaXRlXG4iCisiICAgICAtLWZvcmNlICAgICAgICAgICAgIHVzZSBvdXRwdXQgZmlsZSBldmVuIHdoZW4gaXQgaXMgYSBsaW5rXG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIGJlIHF1aWV0XG4iCisiIC10LCAtLXRpbWluZ1s9PGZpbGU+XSAgIG91dHB1dCB0aW1pbmcgZGF0YSB0byBzdGRlcnIgKG9yIHRvIEZJTEUpXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAg0LTQvtC/0LjRgdCw0YLQuCDQstC40LLQtdC00LXQvdGWINC00LDQvdGWXG4iCisiIC1jLCAtLWNvbW1hbmQgPNC60L7QvNCw0L3QtNCwPiDQstC40LrQvtC90LDRgtC4INC60L7QvNCw0L3QtNGDINC30LDQvNGW0YHRgtGMINGW0L3RgtC10YDQsNC60YLQuNCy0L3QvtGXINC+0LHQvtC70L7QvdC60LhcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAg0L/QvtCy0LXRgNC90YPRgtC4INC60L7QtCDQstC40YXQvtC00YMg0LTQvtGH0ZbRgNC90YzQvtCz0L4g0L/RgNC+0YbQtdGB0YNcbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAg0LLQuNC60L7QvdGD0LLQsNGC0Lgg0YHQutC40LTQsNC90L3RjyDQv9GW0YHQu9GPINC60L7QttC90L7Qs9C+INC30LDQv9C40YHRg1xuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0YTQsNC50Lsg0LLQuNCy0LXQtNC10L3QvdGPLCDQvdCw0LLRltGC0Ywg0Y/QutGJ0L4g0LLRltC9INGUINC/0L7RgdC40LvQsNC90L3Rj9C8XG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgINC90LUg0LLQuNCy0L7QtNC40YLQuCDQv9C+0LLRltC00L7QvNC70LXQvdC90Y9cbiIKKyIgLXQsIC0tdGltaW5nWz080YTQsNC50Ls+XSAgINCy0LjQstC10YHRgtC4INC00LDQvdGWINGH0LDRgdC+0LLQuNGFINC/0LDRgNCw0LzQtdGC0YDRltCyINC00L4gc3RkZXJyICjQsNCx0L4g0LTQviDRhNCw0LnQu9CwKVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICDQstC40LLQtdGB0YLQuCDQtNCw0L3RliDRidC+0LTQviDQstC10YDRgdGW0Zcg0ZYg0LLQuNC50YLQuFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDRhtC1INC00L7QstGW0LTQutC+0LLQtSDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8g0ZYg0LLQuNC50YLQuFxuIgorIlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisib3V0cHV0IGZpbGUgYCVzJyBpcyBhIGxpbmtcbiIKKyJVc2UgLS1mb3JjZSBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LlxuIgorIlByb2dyYW0gbm90IHN0YXJ0ZWQuIgorbXNnc3RyICIiCisi0YTQsNC50Lsg0LLQuNCy0LXQtNC10L3QvdGPINC00LDQvdC40YUsIMKrJXPCuywg0ZQg0L/QvtGB0LjQu9Cw0L3QvdGP0Lwg0L3QsCDRltC90YjQuNC5INGE0LDQudC7LlxuIgorItCh0LrQvtGA0LjRgdGC0LDQudGC0LXRgdGPINC/0LDRgNCw0LzQtdGC0YDQvtC8IC0tZm9yY2UsINGP0LrRidC+INGB0L/RgNCw0LLQtNGWINGF0L7Rh9C10YLQtSDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0YbQtdC5INGE0LDQudC7LlxuIgorItCf0YDQvtCz0YDQsNC80YMg0L3QtSDQt9Cw0L/Rg9GJ0LXQvdC+LiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IGRvbmUsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAi0KHRhtC10L3QsNGA0ZbQuSDQt9Cw0LLQtdGA0YjQtdC90L4sINGE0LDQudC7ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MjYyCittc2dpZCAiY2Fubm90IHdyaXRlIHNjcmlwdCBmaWxlIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC30LDQv9C40YHQsNGC0Lgg0YTQsNC50Lsg0YHQutGA0LjQv9GC0YMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQodC10LDQvdGBINC/0LXRgNC10YDQstCw0L3Qvi5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXMiCittc2dzdHIgItCh0YbQtdC90LDRgNGW0Lkg0LfQsNC/0YPRidC10L3QviDQvdCwICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2NyaXB0IGRvbmUgb24gJXMiCittc2dzdHIgIiIKKyJcbiIKKyLQodGG0LXQvdCw0YDRltC5INC30LDQstC10YDRiNC10L3QviDQvdCwICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYwNworbXNnaWQgImZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INCw0YLRgNC40LHRg9GC0Lgg0YLQtdGA0LzRltC90LDQu9CwIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYxNAorbXNnaWQgIm9wZW5wdHkgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCBvcGVucHR5IgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjY1MgorbXNnaWQgIm91dCBvZiBwdHkncyIKK21zZ3N0ciAi0YHQutGW0L3Rh9C40LvQuNGB0YwgcHR5LdC/0YDQuNGB0YLRgNC+0ZciCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkLCBmaWxlIGlzICVzXG4iCittc2dzdHIgItCh0YbQtdC90LDRgNGW0Lkg0LfQsNC/0YPRidC10L3Qviwg0YTQsNC50LsgLSAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLXRdIHRpbWluZ2ZpbGUgW3R5cGVzY3JpcHRdIFtkaXZpc29yXVxuIgorbXNnc3RyICIgJXMgWy10XSDRhNCw0LnQu1/Rh9Cw0YHQvtCy0LjRhV/Qv9Cw0YDQsNC80LXRgtGA0ZbQsiBb0LLQstC10LTQtdC90L3RjyDRgdC60YDQuNC/0YLRg10gW9C00ZbQu9GM0L3QuNC6XVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQ3Cittc2dpZCAiUGxheSBiYWNrIHRlcm1pbmFsIHR5cGVzY3JpcHRzLCB1c2luZyB0aW1pbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgItCS0ZbQtNGC0LLQvtGA0LjRgtC4INGB0LrRgNC40L/RgtC4INCy0LLQtdC00LXQvdC90Y8g0YLQtdGA0LzRltC90LDQu9CwINC3INCy0LjQutC+0YDQuNGB0YLQsNC90L3Rj9C8INC00LDQvdC40YUg0YnQvtC00L4g0YDQvtC30LrQu9Cw0LTRgy5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo1MAorbXNnaWQgIiIKKyIgLXQsIC0tdGltaW5nIDxmaWxlPiAgICAgc2NyaXB0IHRpbWluZyBvdXRwdXQgZmlsZVxuIgorIiAtcywgLS10eXBlc2NyaXB0IDxmaWxlPiBzY3JpcHQgdGVybWluYWwgc2Vzc2lvbiBvdXRwdXQgZmlsZVxuIgorIiAtZCwgLS1kaXZpc29yIDxudW0+ICAgICBzcGVlZCB1cCBvciBzbG93IGRvd24gZXhlY3V0aW9uIHdpdGggdGltZSBkaXZpc29yXG4iCisiIC1tLCAtLW1heGRlbGF5IDxudW0+ICAgIHdhaXQgYXQgbW9zdCB0aGlzIG1hbnkgc2Vjb25kcyBiZXR3ZWVuIHVwZGF0ZXNcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtdCwgLS10aW1pbmcgPNGE0LDQudC7PiAgICAg0YTQsNC50Lsg0LLQuNCy0LXQtNC10L3QvdGPINC00LvRjyDRh9Cw0YHQvtCy0LjRhSDQv9Cw0YDQsNC80LXRgtGA0ZbQsiDQstC40LrQvtC90LDQvdC90Y8g0YHQutGA0LjQv9GC0YNcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA80YTQsNC50Ls+INGE0LDQudC7INCy0LjQstC10LTQtdC90L3RjyDRgdC10LDQvdGB0YMg0YLQtdGA0LzRltC90LDQu9CwINGB0LrRgNC40L/RgtGDXG4iCisiIC1kLCAtLWRpdmlzb3IgPNGH0LjRgdC70L4+ICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LTRltC70YzQvdC40Log0L/RgNC40YjQstC40LTRiNC10L3QvdGPINCw0LHQviDRg9C/0L7QstGW0LvRjNC90LXQvdC90Y8g0LLQuNC60L7QvdCw0L3QvdGPXG4iCisiIC1tLCAtLW1heGRlbGF5IDzRh9C40YHQu9C+PiAg0YfQtdC60LDRgtC4INC80ZbQtiDQvtC90L7QstC70LXQvdC90Y/QvNC4INC90LUg0LHRltC70YzRiNC1INCy0LrQsNC30LDQvdC+0Zcg0LrRltC70YzQutC+0YHRgtGWINGB0LXQutGD0L3QtFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICDQstC40LLQtdGB0YLQuCDQtNCw0L3RliDRidC+0LTQviDQstC10YDRgdGW0Zcg0ZYg0LLQuNC50YLQuFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDRhtC1INC00L7QstGW0LTQutC+0LLQtSDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8g0ZYg0LLQuNC50YLQuFxuIgorIlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExMgorbXNnaWQgIndyaXRlIHRvIHN0ZG91dCBmYWlsZWQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQsNC/0LjRgdCw0YLQuCDQtNC+INGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQstC40LLQtdC00LXQvdC90Y8iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUgb24gJXMiCittc2dzdHIgItC90LXQvtGH0ZbQutGD0LLQsNC90LUg0LfQsNCy0LXRgNGI0LXQvdC90Y8g0YTQsNC50LvQsCDQvdCwICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0eXBlc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L/RgNC+0YfQuNGC0LDRgtC4INGE0LDQudC7IHR5cGVzY3JpcHQgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTg0Cittc2dpZCAid3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAi0L/QvtC80LjQu9C60L7QstCwINC60ZbQu9GM0LrRltGB0YLRjCDQv9Cw0YDQsNC80LXRgtGA0ZbQsiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGltaW5nIGZpbGUgJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L/RgNC+0YfQuNGC0LDRgtC4INGE0LDQudC7INGH0LDRgdC+0LLQuNGFINC/0LDRgNCw0LzQtdGC0YDRltCyICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1pbmcgZmlsZSAlczogbGluZSAlbHU6IHVuZXhwZWN0ZWQgZm9ybWF0IgorbXNnc3RyICLQvtCx0YfQuNGB0LvQtdC90L3RjyDRh9Cw0YHRgyDQstC40LrQvtC90LDQvdC90Y8g0YTQsNC50LvQsCAlczog0YDRj9C00L7QuiAlbHU6INC90LXQvtGH0ZbQutGD0LLQsNC90LjQuSDRhNC+0YDQvNCw0YIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJhcmd1bWVudCBlcnJvcjogYnJpZ2h0ICVzIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgItC/0L7QvNC40LvQutC+0LLQuNC5INCw0YDQs9GD0LzQtdC90YI6INC/0ZbQtNGC0YDQuNC80LrQuCDQutC+0LvRjNC+0YDRgyBicmlnaHQgJXMg0L3QtSDQv9C10YDQtdC00LHQsNGH0LXQvdC+IgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjgKK21zZ2lkICJ0b28gbWFueSB0YWJzIgorbXNnc3RyICLQt9Cw0L3QsNC00YLQviDQsdCw0LPQsNGC0L4g0YLQsNCx0YPQu9GP0YbRltC5IgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODMKK21zZ2lkICJTZXQgdGhlIGF0dHJpYnV0ZXMgb2YgYSB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAi0JLRgdGC0LDQvdC+0LLQuNGC0Lgg0LDRgtGA0LjQsdGD0YLQuCDRgtC10YDQvNGW0L3QsNC70LAuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NgorbXNnaWQgIiAtLXRlcm0gICAgICAgICAgPHRlcm1pbmFsX25hbWU+ICAgb3ZlcnJpZGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIgLS10ZXJtICAgICAgICAgIDzQvdCw0LfQstCwX9GC0LXRgNC80ZbQvdCw0LvQsD4g0L/QtdGA0LXQstC40LfQvdCw0YfQuNGC0Lgg0LfQvdCw0YfQtdC90L3RjyDQt9C80ZbQvdC90L7RlyDRgdC10YDQtdC00L7QstC40YnQsCBURVJNXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NworbXNnaWQgIiAtLXJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXQgdGVybWluYWwgdG8gcG93ZXItb24gc3RhdGVcbiIKK21zZ3N0ciAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICDQv9C10YDQtdCy0LXRgdGC0Lgg0YLQtdGA0LzRltC90LDQuyDRgyDRgNC10LbQuNC8INC/0L7QstC90L7RhtGW0L3QvdC+0Zcg0YDQvtCx0L7RgtC4XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OAorbXNnaWQgIiAtLWluaXRpYWxpemUgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBpbml0IHN0cmluZywgYW5kIHVzZSBkZWZhdWx0IHNldHRpbmdzXG4iCittc2dzdHIgIiAtLWluaXRpYWxpemUgICAgICAgICAgICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0YDRj9C00L7QuiDRltC90ZbRhtGW0LDQu9GW0LfQsNGG0ZbRlyDRliDRgdC60L7RgNC40YHRgtCw0YLQuNGB0Y8g0YLQuNC/0L7QstC40LzQuCDQv9Cw0YDQsNC80LXRgtGA0LDQvNC4XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OQorbXNnaWQgIiAtLWRlZmF1bHQgICAgICAgICAgICAgICAgICAgICAgICAgdXNlIGRlZmF1bHQgdGVybWluYWwgc2V0dGluZ3NcbiIKK21zZ3N0ciAiIC0tZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0YLQuNC/0L7QstGWINC/0LDRgNCw0LzQtdGC0YDQuCDRgNC+0LHQvtGC0Lgg0YLQtdGA0LzRltC90LDQu9CwXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MAorbXNnaWQgIiAtLXN0b3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IHRlcm1pbmFsIHNldHRpbmdzIGFzIGRlZmF1bHRcbiIKK21zZ3N0ciAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICDQt9Cx0LXRgNC10LPRgtC4INC/0L7RgtC+0YfQvdGWINC/0LDRgNCw0LzQtdGC0YDQuCDRgNC+0LHQvtGC0Lgg0YLQtdGA0LzRltC90LDQu9CwINGP0Log0YLQuNC/0L7QstGWXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MQorbXNnaWQgIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAgZGlzcGxheSBjdXJzb3JcbiIKK21zZ3N0ciAiIC0tY3Vyc29yICAgICAgICBbb258b2ZmXSAgICAgICAgICDRgNC10LbQuNC8INC/0L7QutCw0LfRgyDQutGD0YDRgdC+0YDQsFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTIKK21zZ2lkICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGtleWJvYXJkIHJlcGVhdFxuIgorbXNnc3RyICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgINGA0LXQttC40Lwg0L/QvtCy0YLQvtGA0LXQvdC90Y8g0LTQu9GPINC60LvQsNCy0ZbQsNGC0YPRgNC4XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MworbXNnaWQgIiAtLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gICAgICAgICAgY3Vyc29yIGtleSBhcHBsaWNhdGlvbiBtb2RlXG4iCittc2dzdHIgIiAtLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gICAgICAgICAg0YDQtdC20LjQvCDQutC70LDQstGW0Ygg0LfRliDRgdGC0YDRltC70L7Rh9C60LDQvNC4INGDINC/0YDQvtCz0YDQsNC80ZZcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk0Cittc2dpZCAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBjb250aW51ZSBvbiBhIG5ldyBsaW5lIHdoZW4gYSBsaW5lIGlzIGZ1bGxcbiIKK21zZ3N0ciAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICDRgNC10LbQuNC8INC/0YDQvtC00L7QstC20LXQvdC90Y8g0Lcg0L3QvtCy0L7Qs9C+INGA0Y/QtNC60LAg0LTQu9GPINC00L7QstCz0LjRhSDRgNGP0LTQutGW0LJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk1Cittc2dpZCAiIC0taW52ZXJzZXNjcmVlbiBbb258b2ZmXSAgICAgICAgICBzd2FwIGNvbG9ycyBmb3IgdGhlIHdob2xlIHNjcmVlblxuIgorbXNnc3RyICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgINC/0L7QvNGW0L3Rj9GC0Lgg0LzRltGB0YbRj9C80Lgg0LrQvtC70YzQvtGA0Lgg0L3QsCDRg9GB0YzQvtC80YMg0LXQutGA0LDQvdGWXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NgorbXNnaWQgIiAtLWZvcmVncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGZvcmVncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDzQutC+0LvRltGAPiAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INC60L7Qu9GW0YAg0YLQtdC60YHRgtGDXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NworbXNnaWQgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGJhY2tncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIC0tYmFja2dyb3VuZCAgICBkZWZhdWx0fDzQutC+0LvRltGAPiAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INC60L7Qu9GW0YAg0YLQu9CwXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OAorbXNnaWQgIiAtLXVsY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IHVuZGVybGluZWQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDzQutC+0LvRltGAPiAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LrQvtC70ZbRgCDQv9GW0LTQutGA0LXRgdC70LXQvdC+0LPQviDRgtC10LrRgdGC0YNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk5Cittc2dpZCAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgYm9sZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiAtLWhiY29sb3IgICAgICAgW2JyaWdodF0gPNC60L7Qu9GW0YA+ICDQstGB0YLQsNC90L7QstC40YLQuCDQutC+0LvRltGAINC00LvRjyDQvdCw0L/RltCy0LbQuNGA0L3QvtCz0L4g0YLQtdC60YHRgtGDXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMAorbXNnaWQgIiAgICAgICAgICAgICAgICAgPGNvbG9yPjogYmxhY2sgYmx1ZSBjeWFuIGdyZWVuIGdyZXkgbWFnZW50YSByZWQgd2hpdGUgeWVsbG93XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgPNC60L7Qu9GW0YA+OiBibGFjayBibHVlIGN5YW4gZ3JlZW4gZ3JleSBtYWdlbnRhIHJlZCB3aGl0ZSB5ZWxsb3dcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAxCittc2dpZCAiIC0tYm9sZCAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBib2xkXG4iCittc2dzdHIgIiAtLWJvbGQgICAgICAgICAgW29ufG9mZl0gICAgICAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0YDQtdC20LjQvCDQstC40LrQvtGA0LjRgdGC0LDQvdC90Y8g0L3QsNC/0ZbQstC20LjRgNC90L7Qs9C+INGI0YDQuNGE0YLRg1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDIKK21zZ2lkICIgLS1oYWxmLWJyaWdodCAgIFtvbnxvZmZdICAgICAgICAgIGRpbVxuIgorbXNnc3RyICIgLS1oYWxmLWJyaWdodCAgIFtvbnxvZmZdICAgICAgICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INGA0LXQttC40Lwg0L/RgNC40YLQu9GD0LzQu9C10L3QvdGPINC60L7Qu9GM0L7RgNGW0LJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAzCittc2dpZCAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlua1xuIgorbXNnc3RyICIgLS1ibGluayAgICAgICAgIFtvbnxvZmZdICAgICAgICAgINGA0LXQttC40Lwg0LHQu9C40LzQsNC90L3Rj1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDQKK21zZ2lkICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHVuZGVybGluZVxuIgorbXNnc3RyICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INGA0LXQttC40Lwg0L/RltC00LrRgNC10YHQu9GO0LLQsNC90L3Rj1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDUKK21zZ2lkICIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgIHN3YXAgZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBjb2xvcnNcbiIKK21zZ3N0ciAiIC0tcmV2ZXJzZSAgICAgICBbb258b2ZmXSAgICAgICAgICDQv9C+0LzRltC90Y/RgtC4INC80ZbRgdGG0Y/QvNC4INC60L7Qu9GW0YAg0YLQtdC60YHRgtGDINGWINGC0LvQsFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDYKK21zZ2lkICIgLS1jbGVhciAgICAgICAgIFthbGx8cmVzdF0gICAgICAgIGNsZWFyIHNjcmVlbiBhbmQgc2V0IGN1cnNvciBwb3NpdGlvblxuIgorbXNnc3RyICIgLS1jbGVhciAgICAgICAgIFthbGx8cmVzdF0gICAgICAgINGB0L/QvtGA0L7QttC90LjRgtC4INC10LrRgNCw0L0g0ZYg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0L/QvtC30LjRhtGW0Y4g0LrRg9GA0YHQvtGA0LBcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA3Cittc2dpZCAiIC0tdGFicyAgICAgICAgICBbPG51bWJlcj4uLi5dICAgICBzZXQgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBzaG93IHRoZW1cbiIKK21zZ3N0ciAiIC0tdGFicyAgICAgICAgICBbPNGH0LjRgdC70L4+Li4uXSAgICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INCy0LrQsNC30LDQvdGWINC/0L7Qt9C40YbRltGXINC00LvRjyDQv9C10YDQtdGF0L7QtNGDINC30LAg0LTQvtC/0L7QvNC+0LPQvtGOINC60LvQsNCy0ZbRiNGWINGC0LDQsdGD0LvRj9GG0ZbRlyDQsNCx0L4g0L/QvtC60LDQt9Cw0YLQuCDQv9C+0LfQuNGG0ZbRl1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDgKK21zZ2lkICIgLS1jbHJ0YWJzICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIGNsZWFyIHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3IgYWxsXG4iCittc2dzdHIgIiAtLWNscnRhYnMgICAgICAgWzzRh9C40YHQu9C+Pi4uLl0gICAgICDQstC40LvRg9GH0LjRgtC4INCy0LrQsNC30LDQvdGWINC/0L7Qt9C40YbRltGXINGC0LDQsdGD0LvRj9GG0ZbRlyDQsNCx0L4g0LLQuNC70YPRh9C40YLQuCDRg9GB0ZYg0L/QvtC30LjRhtGW0ZdcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA5Cittc2dpZCAiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICBzZXQgYSByZWd1bGFyIHRhYiBzdG9wIGludGVydmFsXG4iCittc2dzdHIgIiAtLXJlZ3RhYnMgICAgICAgWzEtMTYwXSAgICAgICAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0YDQtdCz0YPQu9GP0YDQvdC40Lkg0ZbQvdGC0LXRgNCy0LDQuyDQvNGW0LYg0L/QvtC30LjRhtGW0Y/QvNC4INGC0LDQsdGD0LvRj9GG0ZbRl1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTAKK21zZ2lkICIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIHNldCB0aW1lIG9mIGluYWN0aXZpdHkgYmVmb3JlIHNjcmVlbiBibGFua3NcbiIKK21zZ3N0ciAiIC0tYmxhbmsgICAgICAgICBbMC02MHxmb3JjZXxwb2tlXSDQstGB0YLQsNC90L7QstC40YLQuCDQs9GA0LDQvdC40YfQvdC40Lkg0YfQsNGBINCx0LXQt9C00ZbRj9C70YzQvdC+0YHRgtGWINC00LvRjyDQstC40LzQuNC60LDQvdC90Y8g0LXQutGA0LDQvdCwXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMQorbXNnaWQgIiAtLWR1bXAgICAgICAgICAgWzxudW1iZXI+XSAgICAgICAgd3JpdGUgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiAtLWR1bXAgICAgICAgICAgWzzRh9C40YHQu9C+Pl0gICAgICAgICDQt9Cw0L/QuNGB0LDRgtC4INC00LDQvNC/INC60L7QvdGB0L7Qu9GWIHZjc2E80YfQuNGB0LvQvj4g0LTQviDRhNCw0LnQu9CwXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMgorbXNnaWQgIiAtLWFwcGVuZCAgICAgICAgWzxudW1iZXI+XSAgICAgICAgYXBwZW5kIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIgLS1hcHBlbmQgICAgICAgIFs80YfQuNGB0LvQvj5dICAgICAgICAg0LTQvtC00LDRgtC4INC00LDQvNC/INC60L7QvdGB0L7Qu9GWIHZjc2E80YfQuNGB0LvQvj4g0LTQviDRhNCw0LnQu9CwXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMworbXNnaWQgIiAtLWZpbGUgICAgICAgICAgPGZpbGVuYW1lPiAgICAgICAgbmFtZSBvZiB0aGUgZHVtcCBmaWxlXG4iCittc2dzdHIgIiAtLWZpbGUgICAgICAgICAgPNC90LDQt9Cy0LBf0YTQsNC50LvQsD4gICAgINC90LDQt9Cy0LAg0YTQsNC50LvQsCDQtNCw0LzQv9GDXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNAorbXNnaWQgIiAtLW1zZyAgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgc2VuZCBrZXJuZWwgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLS1tc2cgICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgINCy0LjQt9C90LDRh9C40YLQuCwg0YfQuCDRgdC70ZbQtCDQvdCw0LTRgdC40LvQsNGC0Lgg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPINGP0LTRgNCwINC00L4g0LrQvtC90YHQvtC70ZZcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE1Cittc2dpZCAiIC0tbXNnbGV2ZWwgICAgICAwLTggICAgICAgICAgICAgICBrZXJuZWwgY29uc29sZSBsb2cgbGV2ZWxcbiIKK21zZ3N0ciAiIC0tbXNnbGV2ZWwgICAgICAwLTggICAgICAgICAgICAgICDRgNGW0LLQtdC90Ywg0LbRg9GA0L3QsNC70Y7QstCw0L3QvdGPINGP0LTRgNCwINC00L4g0LrQvtC90YHQvtC70ZZcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE2Cittc2dpZCAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKK21zZ3N0ciAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE3Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQgdmVzYSBwb3dlcnNhdmluZyBmZWF0dXJlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INGA0LXQttC40Lwg0YDQvtCx0L7RgtC4INC80L7QttC70LjQstC+0YHRgtC10Lkg0Lcg0LXQutC+0L3QvtC80ZbRlyDQtdC90LXRgNCz0ZbRlyB2ZXNhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxOAorbXNnaWQgIiAtLXBvd2VyZG93biAgICAgWzAtNjBdICAgICAgICAgICAgc2V0IHZlc2EgcG93ZXJkb3duIGludGVydmFsIGluIG1pbnV0ZXNcbiIKK21zZ3N0ciAiIC0tcG93ZXJkb3duICAgICBbMC02MF0gICAgICAgICAgICDQstGB0YLQsNC90L7QstC40YLQuCDRltC90YLQtdGA0LLQsNC7INCy0LjQvNC40LrQsNC90L3RjyDQttC40LLQu9C10L3QvdGPINC00LvRjyB2ZXNhINGDINGF0LLQuNC70LjQvdCw0YVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE5Cittc2dpZCAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICBkdXJhdGlvbiBvZiB0aGUgYmVsbCBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICDRgtGA0LjQstCw0LvRltGB0YLRjCDRgdC40LPQvdCw0LvRgyDQvNGW0LvRltGB0LXQutGD0L3QtNCw0YVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIwCittc2dpZCAiIC0tYmZyZXEgICAgICAgICA8bnVtYmVyPiAgICAgICAgICBiZWxsIGZyZXF1ZW5jeSBpbiBIZXJ0elxuIgorbXNnc3RyICIgLS1iZnJlcSAgICAgICAgIDzRh9C40YHQu9C+PiAgICAgICAgICAg0YfQsNGB0YLQvtGC0LAg0YHQuNCz0L3QsNC70YMg0YMg0JPRhlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjEKK21zZ2lkICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIHNob3cgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INC00LDQvdGWINGJ0L7QtNC+INCy0LXRgNGB0ZbRlyDRliDQt9Cw0LLQtdGA0YjQuNGC0Lgg0YDQvtCx0L7RgtGDXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMgorbXNnaWQgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDRhtGWINC00L7QstGW0LTQutC+0LLRliDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8g0ZYg0LfQsNCy0LXRgNGI0LjRgtC4INGA0L7QsdC+0YLRg1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MzAKK21zZ2lkICJkdXBsaWNhdGUgdXNlIG9mIGFuIG9wdGlvbiIKK21zZ3N0ciAi0LTRg9Cx0LvRjtCy0LDQvdC90Y8g0L/QsNGA0LDQvNC10YLRgNCwIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MzQKK21zZ2lkICJjYW5ub3QgZm9yY2UgYmxhbmsiCittc2dzdHIgItC90LUg0LzQvtC20L3QsCDQv9GA0LjQvNGD0YHQvtCy0L4g0LLQuNC60L7QvdGD0LLQsNGC0LggYmxhbmsiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjczOQorbXNnaWQgImNhbm5vdCBmb3JjZSB1bmJsYW5rIgorbXNnc3RyICLQvdC1INC80L7QttC90LAg0L/RgNC40LzRg9GB0L7QstC+INCy0LjQutC+0L3Rg9Cy0LDRgtC4IHVuYmxhbmsiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0NQorbXNnaWQgImNhbm5vdCBnZXQgYmxhbmsgc3RhdHVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0YHRgtCw0L0gYmxhbmsiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4gbm90IG9wZW4gZHVtcCBmaWxlICVzIGZvciBvdXRwdXQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRltC00LrRgNC40YLQuCDRhNCw0LnQuyDQtNCw0LzQv9GDICVzINC00LvRjyDQstC40LLQtdC00LXQvdC90Y8g0LTQsNC90LjRhSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODEzCisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsICVzIGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgItGDINGC0LXRgNC80ZbQvdCw0LvRliAlcyDQvdC1INC/0LXRgNC10LTQsdCw0YfQtdC90L4g0L/RltC00YLRgNC40LzQutC4ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo5ODgKK21zZ2lkICJjYW5ub3QgKHVuKXNldCBwb3dlcnNhdmUgbW9kZSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCAo0YHQutCw0YHRg9Cy0LDRgtC4KSDRgNC10LbQuNC8INC10L3QtdGA0LPQvtC30LHQtdGA0LXQttC10L3QvdGPIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDA3IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwMTYKK21zZ2lkICJrbG9nY3RsIGVycm9yIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCBrbG9nY3RsIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDM3Cittc2dpZCAiJFRFUk0gaXMgbm90IGRlZmluZWQuIgorbXNnc3RyICIkVEVSTSDQvdC1INCy0LjQt9C90LDRh9C10L3Qvi4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDQKK21zZ2lkICJ0ZXJtaW5mbyBkYXRhYmFzZSBjYW5ub3QgYmUgZm91bmQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQvdCw0LnRgtC4INCx0LDQt9GDINC00LDQvdC40YUgdGVybWluZm8iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gdGVybWluYWwgdHlwZSIKK21zZ3N0ciAiJXM6INC90LXQstGW0LTQvtC80LjQuSDRgtC40L8g0YLQtdGA0LzRltC90LDQu9CwIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDQ4Cittc2dpZCAidGVybWluYWwgaXMgaGFyZGNvcHkiCittc2dzdHIgItGC0LXRgNC80ZbQvdCw0LvQvtC8INGUINGC0LXRgNC80ZbQvdCw0Lsg0LbQvtGA0YHRgtC60L7Qs9C+INC60L7Qv9GW0Y7QstCw0L3QvdGPIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB0b28gbWFueSBpb3YncyIKK21zZ3N0ciAi0LLQvdGD0YLRgNGW0YjQvdGPINC/0L7QvNC40LvQutCwOiDQt9Cw0LHQsNCz0LDRgtC+IGlvdiIKKworIzogdGVybS11dGlscy90dHltc2cuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICJleGNlc3NpdmVseSBsb25nIGxpbmUgYXJnIgorbXNnc3RyICLQvdCw0LTQvNGW0YDQvdC+INC00L7QstCz0LjQuSDRgNGP0LTQvtC6INC/0LDRgNCw0LzQtdGC0YDQsCIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlbiBmYWlsZWQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRltC00LrRgNC40YLQuCIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9yazogJW0iCittc2dzdHIgImZvcms6ICVtIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZm9yayIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDRgdGC0LLQvtGA0LjRgtC4INC/0YDQvtGG0LXRgSIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJBRCBFUlJPUiwgbWVzc2FnZSBpcyBmYXIgdG9vIGxvbmciCittc2dzdHIgIiVzOiDQn9Ce0JzQmNCb0JrQkCwg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPINGUINC90LDQtNGC0L4g0LTQvtCy0LPQuNC8IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gfCA8bWVzc2FnZT5dXG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgNC4XSBbPNGE0LDQudC7PiB8IDzQv9C+0LLRltC00L7QvNC70LXQvdC90Y8+XVxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4NgorbXNnaWQgIldyaXRlIGEgbWVzc2FnZSB0byBhbGwgdXNlcnMuXG4iCittc2dzdHIgItCX0LDQv9C40YHQsNGC0Lgg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPINC00LvRjyDRg9GB0ZbRhSDQutC+0YDQuNGB0YLRg9Cy0LDRh9GW0LIuXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg5Cittc2dpZCAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIGRvIG5vdCBwcmludCBiYW5uZXIsIHdvcmtzIG9ubHkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgINC90LUg0LLQuNCy0L7QtNC40YLQuCDQsdCw0L3QtdGALCDQv9GA0LDRhtGO0ZQg0LvQuNGI0LUg0LTQu9GPIHJvb3RcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTAKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8dGltZW91dD4gd3JpdGUgdGltZW91dCBpbiBzZWNvbmRzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lb3V0IDzRh9Cw0YE+ICAgICDRh9Cw0YEg0L7Rh9GW0LrRg9Cy0LDQvdC90Y8g0L3QsCDQt9Cw0LLQtdGA0YjQtdC90L3RjyDQt9Cw0L/QuNGB0YMg0YMg0YHQtdC60YPQvdC00LDRhVxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMzIKK21zZ2lkICItLW5vYmFubmVyIGlzIGF2YWlsYWJsZSBvbmx5IGZvciByb290IgorbXNnc3RyICItLW5vYmFubmVyINC80L7QttC1INC60L7RgNC40YHRgtGD0LLQsNGC0LjRgdGPINC70LjRiNC1INCw0LTQvNGW0L3RltGB0YLRgNCw0YLQuNCy0L3QuNC5INC60L7RgNC40YHRgtGD0LLQsNGHIChyb290KSIKKworIzogdGVybS11dGlscy93YWxsLmM6MTM3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudDogJXMiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDRh9Cw0YHRgyDQvtGH0ZbQutGD0LLQsNC90L3RjzogJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjI2OQorbXNnaWQgImNhbm5vdCBnZXQgcGFzc3dkIHVpZCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4IFVJRCBwYXNzd2QiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjI3NAorbXNnaWQgImNhbm5vdCBnZXQgdHR5IG5hbWUiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQvdCw0LfQstGDIHR0eSIKKworIzogdGVybS11dGlscy93YWxsLmM6Mjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXNAJXMgKCVzKSAoJXMpOiIKK21zZ3N0ciAi0KLRgNCw0L3RgdC70Y/RhtGW0LnQvdC1INC/0L7QstGW0LTQvtC80LvQtdC90L3RjyDQstGW0LQgJXNAJXMgKCVzKSAoJXMpOiIKKworIzogdGVybS11dGlscy93YWxsLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IHJlYWQgJXMgLSB1c2Ugc3RkaW4uIgorbXNnc3RyICLQvdC1INCx0YPQtNC1INC/0YDQvtGH0LjRgtCw0L3QviAlcyDigJQg0LLQuNC60L7RgNC40YHRgtC+0LLRg9GU0YLRjNGB0Y8gc3RkaW4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXNlcj4gWzx0dHluYW1lPl1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIDzQutC+0YDQuNGB0YLRg9Cy0LDRhz4gWzzQvdCw0LfQstCwIHR0eT5dXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo5MAorbXNnaWQgIlNlbmQgYSBtZXNzYWdlIHRvIGFub3RoZXIgdXNlci5cbiIKK21zZ3N0ciAi0J3QsNC00ZbRgdC70LDRgtC4INC/0L7QstGW0LTQvtC80LvQtdC90L3RjyDRltC90YjQvtC80YMg0LrQvtGA0LjRgdGC0YPQstCw0YfQtdCy0ZYuXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoxMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZWZmZWN0aXZlIGdpZCBkb2VzIG5vdCBtYXRjaCBncm91cCBvZiAlcyIKK21zZ3N0ciAi0LXRhNC10LrRgtC40LLQvdC40LkgZ2lkINC90LUg0LLRltC00L/QvtCy0ZbQtNCw0ZQg0LPRgNGD0L/RliAlcyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIgorbXNnc3RyICIlcyDQvdC1INCy0LLRltC50YjQvtCyINC00L4g0YHQuNGB0YLQtdC80LgiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDcKK21zZ2lkICJjYW4ndCBmaW5kIHlvdXIgdHR5J3MgbmFtZSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstC40LfQvdCw0YfQuNGC0Lgg0L3QsNC30LLRgyDQstCw0YjQvtCz0L4gdHR5IgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCIKK21zZ3N0ciAi0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPICVzINCy0LjQvNC60L3QtdC90L4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbG9nZ2VkIGluIG1vcmUgdGhhbiBvbmNlOyB3cml0aW5nIHRvICVzIgorbXNnc3RyICIlcyDRg9Cy0ZbQudGI0L7QsiDQtNC+INGB0LjRgdGC0LXQvNC4INCx0ZbQu9GM0YjQtSDQvtC00L3QvtCz0L4g0YDQsNC30YM7INC90LDQtNGB0LjQu9Cw0ZTQvNC+INC00L4gJXMiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMzgKK21zZ2lkICJjYXJlZnVscHV0YyBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwIGNhcmVmdWxwdXRjIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyAoYXMgJXMpIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgItCf0L7QstGW0LTQvtC80LvQtdC90L3RjyDQstGW0LQgJXNAJXMgKNGP0LogJXMpINC00L4gJXMg0YMgJTAyZDolMDJkIOKApiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAi0J/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPINCy0ZbQtCAlc0AlcyDQvdCwICVzINGDICUwMmQ6JTAyZCAuLi4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozMzEKK21zZ2lkICJ5b3UgaGF2ZSB3cml0ZSBwZXJtaXNzaW9uIHR1cm5lZCBvZmYiCittc2dzdHIgItCy0LDRiNGWINC/0YDQsNCy0LAg0LTQvtGB0YLRg9C/0YMg0YnQvtC00L4g0LfQsNC/0LjRgdGDINCy0LjQvNC60L3QtdC90L4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiBvbiAlcyIKK21zZ3N0ciAiJXMg0L3QtSDQstCy0ZbQudGI0L7QsiDQtNC+INGB0LjRgdGC0LXQvNC4INC90LAgJXMiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIG9uICVzIgorbXNnc3RyICLQv9C+0LLRltC00L7QvNC70LXQvdC90Y8gJXMg0L3QsCAlcyDQstC40LzQutC90LXQvdC+IgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzNAorbXNnaWQgIkZpbHRlciBvdXQgcmV2ZXJzZSBsaW5lIGZlZWRzLlxuIgorbXNnc3RyICLQktC40LvRg9GH0LjRgtC4INGE0ZbQu9GM0YLRgNGD0LLQsNC90L3Rj9C8INC30LLQvtGA0L7RgtC90ZYg0LfQsNC/0L7QstC90LXQvdC90Y8g0YDRj9C00LrRltCyLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWIsIC0tbm8tYmFja3NwYWNlcyAgICBkbyBub3Qgb3V0cHV0IGJhY2tzcGFjZXNcbiIKKyIgLWYsIC0tZmluZSAgICAgICAgICAgICBwZXJtaXQgZm9yd2FyZCBoYWxmIGxpbmUgZmVlZHNcbiIKKyIgLXAsIC0tcGFzcyAgICAgICAgICAgICBwYXNzIHVua25vd24gY29udHJvbCBzZXF1ZW5jZXNcbiIKKyIgLWgsIC0tdGFicyAgICAgICAgICAgICBjb252ZXJ0IHNwYWNlcyB0byB0YWJzXG4iCisiIC14LCAtLXNwYWNlcyAgICAgICAgICAgY29udmVydCB0YWJzIHRvIHNwYWNlc1xuIgorIiAtbCwgLS1saW5lcyBOVU0gICAgICAgIGJ1ZmZlciBhdCBsZWFzdCBOVU0gbGluZXNcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtSCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQn9Cw0YDQsNC80LXRgtGA0Lg6XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAg0L3QtSDQstC40LLQvtC00LjRgtC4INGB0LjQvNCy0L7Qu9C4INC30LLQvtGA0L7RgtC90L7Qs9C+INGF0L7QtNGDXG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAg0LTQvtC30LLQvtC70LjRgtC4INC/0LXRgNC10YXQvtC00Lgg0LLQv9C10YDQtdC0INC90LAg0L/QvtC70L7QstC40L3RgyDRgNGP0LTQutCwXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAg0L/QtdGA0LXQtNCw0YLQuCDQvdC10LLRltC00L7QvNGWINC60LXRgNGW0LLQvdGWINC/0L7RgdC70ZbQtNC+0LLQvdC+0YHRgtGWXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAg0L/QtdGA0LXRgtCy0L7RgNC40YLQuCDQv9GA0L7QsdGW0LvQuCDRgyDRgtCw0LHRg9C70Y/RhtGW0ZdcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICDQv9C10YDQtdGC0LLQvtGA0LjRgtC4INGC0LDQsdGD0LvRj9GG0ZbRlyDRgyDQv9GA0L7QsdGW0LvQuFxuIgorIiAtbCwgLS1saW5lcyDQp9CY0KHQm9CeICAgICAg0LfQsdC10YDRltCz0LDRgtC4INGDINCx0YPRhNC10YDRliDQv9GA0LjQvdCw0LnQvNC90ZYg0KfQmNCh0JvQniDRgNGP0LTQutGW0LJcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICDQstC40LLQtdGB0YLQuCDQtNCw0L3RliDRidC+0LTQviDQstC10YDRgdGW0Zcg0ZYg0LLQuNC50YLQuFxuIgorIiAtSCwgLS1oZWxwICAgICAgICAgICAgINC/0L7QutCw0LfQsNGC0Lgg0YbQtSDQtNC+0LLRltC00LrQvtCy0LUg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPINGWINCy0LjQudGC0LhcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxNDggdGV4dC11dGlscy9jb2xybS5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlcyByZWFkcyBmcm9tIHN0YW5kYXJkIGlucHV0IGFuZCB3cml0ZXMgdG8gc3RhbmRhcmQgb3V0cHV0XG4iCisiXG4iCittc2dzdHIgIiIKKyIlcyDRh9C40YLQsNGUINC00LDQvdGWINC30ZYg0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INC00LbQtdGA0LXQu9CwINC00LDQvdC40YUg0ZYg0LfQsNC/0LjRgdGD0ZQg0ZfRhSDQtNC+INGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQstC40LLQtdC00LXQvdC90Y8g0LTQsNC90LjRhVxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjIxMgorbXNnaWQgImJhZCAtbCBhcmd1bWVudCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60L7QstC40Lkg0LDRgNCz0YPQvNC10L3RgiAtbCIKKworIzogdGV4dC11dGlscy9jb2wuYzozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2FuJ3QgYmFjayB1cCAlcy4iCittc2dzdHIgItC/0L7Qv9C10YDQtdC00LbQtdC90L3Rjzog0L3QtSDQstC00LDQu9C+0YHRjyDRgdGC0LLQvtGA0LjRgtC4INGA0LXQt9C10YDQstC90YMg0LrQvtC/0ZbRjiAlcy4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM3Cittc2dpZCAicGFzdCBmaXJzdCBsaW5lIgorbXNnc3RyICLQv9C+0LLQtyDQv9C10YDRiNC40Lkg0YDRj9C00L7QuiIKKworIzogdGV4dC11dGlscy9jb2wuYzozMzcKK21zZ2lkICItLSBsaW5lIGFscmVhZHkgZmx1c2hlZCIKK21zZ3N0ciAiLS0g0YDRj9C00L7QuiDQstC20LUg0YHQutC40L3Rg9GC0L4g0YMg0L/QvtGC0ZbQuiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4MSB0ZXh0LXV0aWxzL2NvbHVtbi5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgNC4XSBbPNGE0LDQudC7Pi4uLl1cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NAorbXNnaWQgIkZpbHRlciBucm9mZiBvdXRwdXQgZm9yIENSVCBwcmV2aWV3aW5nLlxuIgorbXNnc3RyICLQpNGW0LvRjNGC0YDRg9Cy0LDRgtC4INCy0LjQstC10LTQtdC90ZYg0LTQsNC90ZYgbnJvZmYg0LTQu9GPINC/0L7Qv9C10YDQtdC00L3RjNC+0LPQviDQv9C10YDQtdCz0LvRj9C00YMgQ1JULlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg3Cittc2dpZCAiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIHN1cHByZXNzIGFsbCB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgICAg0L/RgNC40LTRg9GI0LjRgtC4INC/0ZbQtNC60YDQtdGB0LvRjtCy0LDQvdC90Y9cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OAorbXNnaWQgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBwcmludCBhbGwgaGFsZi1saW5lc1xuIgorbXNnc3RyICIgLTIsIC0taGFsZi1saW5lcyAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0YPRgdGWINC/0ZbQstGA0Y/QtNC60LhcbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW3N0YXJ0Y29sIFtlbmRjb2xdXVxuIgorbXNnc3RyICIiCisiXG4iCisi0JrQvtGA0LjRgdGC0YPQstCw0L3QvdGPOlxuIgorIiAlcyBb0L/QvtGH0LDRgtC60L7QstC40Lkg0YHRgtC+0LLQv9GH0LjQuiBb0LfQsNCy0LXRgNGI0LDQu9GM0L3QuNC5INGB0YLQvtCy0L/Rh9C40LpdXVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjQKK21zZ2lkICJGaWx0ZXIgb3V0IHRoZSBzcGVjaWZpZWQgY29sdW1ucy5cbiIKK21zZ3N0ciAi0JLQuNC70YPRh9Cw0YLQuCDRhNGW0LvRjNGC0YDRg9Cy0LDQvdC90Y/QvCDQstC60LDQt9Cw0L3RliDRgdGC0L7QstC/0YfQuNC60LguXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODUKK21zZ2lkICJmaXJzdCBhcmd1bWVudCIKK21zZ3N0ciAi0L/QtdGA0YjQuNC5INCw0YDQs9GD0LzQtdC90YIiCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODcKK21zZ2lkICJzZWNvbmQgYXJndW1lbnQiCittc2dzdHIgItC00YDRg9Cz0LjQuSDQsNGA0LPRg9C80LXQvdGCIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyMAorbXNnaWQgIkNvbHVtbmF0ZSBsaXN0cy5cbiIKK21zZ3N0ciAi0J/QvtC00ZbQu9C40YLQuCDRgdC/0LjRgdC60Lgg0L3QsCDRgdGC0L7QstC/0YfQuNC60LguXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTIzCittc2dpZCAiIC1jLCAtLWNvbHVtbnMgPHdpZHRoPiAgICB3aWR0aCBvZiBvdXRwdXQgaW4gbnVtYmVyIG9mIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbHVtbnMgPNGI0LjRgNC40L3QsD4gICDRiNC40YDQuNC90LAg0LLQuNCy0LXQtNC10L3QuNGFINC00LDQvdC40YUg0YMg0LrRltC70YzQutC+0YHRgtGWINGB0LjQvNCy0L7Qu9GW0LJcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjQKK21zZ2lkICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgIGNyZWF0ZSBhIHRhYmxlXG4iCittc2dzdHIgIiAtdCwgLS10YWJsZSAgICAgICAgICAgICAg0YHRgtCy0L7RgNC40YLQuCDRgtCw0LHQu9C40YbRjlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyNQorbXNnaWQgIiAtcywgLS1zZXBhcmF0b3IgPHN0cmluZz4gcG9zc2libGUgdGFibGUgZGVsaW1pdGVyc1xuIgorbXNnc3RyICIgLXMsIC0tc2VwYXJhdG9yIDzRgNGP0LTQvtC6PiAg0LzQvtC20LvQuNCy0ZYg0YDQvtC30LTRltC70YzQvdC40LrQuCDRgyDRgtCw0LHQu9C40YbRllxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyNgorbXNnaWQgIiIKKyIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8c3RyaW5nPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucyBzZXBhcmF0b3IgZm9yIHRhYmxlIG91dHB1dDsgZGVmYXVsdCBpcyB0d28gc3BhY2VzXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA80YDRj9C00L7Quj5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgINGA0L7Qt9C00ZbQu9GM0L3QuNC6INGB0YLQvtCy0L/Rh9C40LrRltCyINGDINCy0LjQstC10LTQtdC90ZbQuSDRgtCw0LHQu9C40YbRli4g0KLQuNC/0L7QstC40Lwg0ZQg0LTQstCwINC/0YDQvtCx0ZbQu9C4LlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyOAorbXNnaWQgIiAteCwgLS1maWxscm93cyAgICAgICAgICAgZmlsbCByb3dzIGJlZm9yZSBjb2x1bW5zXG4iCittc2dzdHIgIiAteCwgLS1maWxscm93cyAgICAgICAgICAg0LfQsNC/0L7QstC90Y7QstCw0YLQuCDRgNGP0LTQutC4INC00L4g0YHRgtC+0LLQv9GH0LjQutGW0LJcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxODIKK21zZ2lkICJpbnZhbGlkIGNvbHVtbnMgYXJndW1lbnQiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDRgdGC0L7QstC/0YfQuNC60ZbQsiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlZCBpcyB0b28gbG9uZywgb3V0cHV0IHdpbGwgYmUgdHJ1bmNhdGVkIgorbXNnc3RyICLRgNGP0LTQvtC6ICVkINGUINC90LDQtNGC0L4g0LTQvtCy0LPQuNC8LCDQstC40LLQtdC00LXQvdGWINC00LDQvdGWINCx0YPQtNC1INC+0LHRgNGW0LfQsNC90L4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1NSB0ZXh0LXV0aWxzL21vcmUuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIDzRhNCw0LnQuz4uLi5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU4Cittc2dpZCAiRGlzcGxheSBmaWxlIGNvbnRlbnRzIGluIGhleGFkZWNpbWFsLCBkZWNpbWFsLCBvY3RhbCwgb3IgYXNjaWkuXG4iCittc2dzdHIgItCf0L7QutCw0LfQsNGC0Lgg0LLQvNGW0YHRgiDRhNCw0LnQu9CwINGDINGE0L7RgNC80LDRgtGWINGI0ZbRgdGC0L3QsNC00YbRj9GC0LrQvtCy0LjRhSwg0LTQtdGB0Y/RgtC60L7QstC40YUsINCy0ZbRgdGW0LzQutC+0LLQuNGFINGH0LjRgdC10Lsg0LDQsdC+IGFzY2lpLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjEKK21zZ2lkICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiAtYiwgLS1vbmUtYnl0ZS1vY3RhbCAgICAgINC/0L7QutCw0LfRgyDRgyDQvtC00L3QvtCx0LDQudGC0L7QstC+0LzRgyDQstGW0YHRltC80LrQvtCy0L7QvNGDINGE0L7RgNC80LDRgtGWXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MgorbXNnaWQgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgIG9uZS1ieXRlIGNoYXJhY3RlciBkaXNwbGF5XG4iCittc2dzdHIgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgINC/0L7QutCw0Lcg0YMg0L7QtNC90L7QsdCw0LnRgtC+0LLQvtC80YMg0YHQuNC80LLQvtC70YzQvdC+0LzRgyDRhNC+0YDQvNCw0YLRllxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjMKK21zZ2lkICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1DLCAtLWNhbm9uaWNhbCAgICAgICAgICAg0LrQsNC90L7QvdGW0YfQvdC40Lkg0L/QvtC60LDQtyDRiNGW0YHRgtC90LDQtNGG0Y/RgtC60L7QstGWK0FTQ0lJXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NAorbXNnaWQgIiAtZCwgLS10d28tYnl0ZXMtZGVjaW1hbCAgIHR3by1ieXRlIGRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICDQv9C+0LrQsNC3INGDINC00LLQvtCx0LDQudGC0L7QstC+0LzRgyDQtNC10YHRj9GC0LrQvtCy0L7QvNGDINGE0L7RgNC80LDRgtGWXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NQorbXNnaWQgIiAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIHR3by1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1vLCAtLXR3by1ieXRlcy1vY3RhbCAgICAg0L/QvtC60LDQtyDRgyDQtNCy0L7QsdCw0LnRgtC+0LLQvtC80YMg0LLRltGB0ZbQvNC60L7QstC+0LzRgyDRhNC+0YDQvNCw0YLRllxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjYKK21zZ2lkICIgLXgsIC0tdHdvLWJ5dGVzLWhleCAgICAgICB0d28tYnl0ZSBoZXhhZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgINC/0L7QutCw0Lcg0YMg0LTQstC+0LHQsNC50YLQvtCy0L7QvNGDINGI0ZbRgdGC0L3QsNC00YbRj9GC0LrQvtCy0L7QvNGDINGE0L7RgNC80LDRgtGWXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NworbXNnaWQgIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHJldCBjb2xvciBmb3JtYXR0aW5nIHNwZWNpZmllcnNcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz080YDQtdC20LjQvD5dICAgICDQvtCx0YDQvtCx0LjRgtC4INGB0L/QtdGG0LjRhNGW0LrQsNGC0L7RgNC4INGE0L7RgNC80LDRgtGD0LLQsNC90L3RjyDQutC+0LvRjNC+0YDRltCyXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MAorbXNnaWQgIiAtZSwgLS1mb3JtYXQgPGZvcm1hdD4gICAgIGZvcm1hdCBzdHJpbmcgdG8gYmUgdXNlZCBmb3IgZGlzcGxheWluZyBkYXRhXG4iCittc2dzdHIgIiAtZSwgLS1mb3JtYXQgPGZvcm1hdD4gICAgICAg0YDRj9C00L7QuiDRhNC+0YDQvNCw0YLRgywg0Y/QutC40Lkg0LHRg9C00LUg0LLQuNC60L7RgNC40YHRgtCw0L3QviDQtNC70Y8g0L/QvtC60LDQt9GDINC00LDQvdC40YVcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcxCittc2dpZCAiIC1mLCAtLWZvcm1hdC1maWxlIDxmaWxlPiAgZmlsZSB0aGF0IGNvbnRhaW5zIGZvcm1hdCBzdHJpbmdzXG4iCittc2dzdHIgIiAtZiwgLS1mb3JtYXQtZmlsZSA80YTQsNC50Ls+ICDRhNCw0LnQuywg0YnQviDQvNGW0YHRgtC40YLRjCDRgNGP0LTQutC4INGE0L7RgNC80LDRgtGW0LJcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcyCittc2dpZCAiIC1uLCAtLWxlbmd0aCA8bGVuZ3RoPiAgICAgaW50ZXJwcmV0IG9ubHkgbGVuZ3RoIGJ5dGVzIG9mIGlucHV0XG4iCittc2dzdHIgIiAtbiwgLS1sZW5ndGggPNC00L7QstC20LjQvdCwPiAgICDQvtCx0YDQvtCx0LvRj9GC0Lgg0LvQuNGI0LUg0LLQutCw0LfQsNC90YMg0LTQvtCy0LbQuNC90YMg0LLRhdGW0LTQvdC40YUg0LTQsNC90LjRhVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzMKK21zZ2lkICIgLXMsIC0tc2tpcCA8b2Zmc2V0PiAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKK21zZ3N0ciAiIC1zLCAtLXNraXAgPNC30YHRg9CyPiAgICAgICAgICDQv9GA0L7Qv9GD0YHRgtC40YLQuCDQstC60LDQt9Cw0L3RgyDQutGW0LvRjNC60ZbRgdGC0Ywg0LHQsNC50YLRltCyINC90LAg0L/QvtGH0LDRgtC60YNcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTc0Cittc2dpZCAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgb3V0cHV0IGlkZW50aWNhbCBsaW5lc1xuIgorbXNnc3RyICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICDQstC40LLQvtC00LjRgtC4INGW0LTQtdC90YLQuNGH0L3RliDRgNGP0LTQutC4XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1kaXNwbGF5LmM6MzY1Cittc2dpZCAiYWxsIGlucHV0IGZpbGUgYXJndW1lbnRzIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0Lcg0YPRgdGW0LzQsCDQsNGA0LPRg9C80LXQvdGC0LDQvNC4INCy0YXRltC00L3QuNGFINGE0LDQudC70ZbQsiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGJ5dGUgY291bnQgZm9yIGNvbnZlcnNpb24gY2hhcmFjdGVyICVzIgorbXNnc3RyICLQv9C+0LzQuNC70LrQvtCy0LAg0LrRltC70YzQutGW0YHRgtGMINCx0LDQudGC0ZbQsiDQtNC70Y8g0YHQuNC80LLQvtC70YMg0L/QtdGA0LXRgtCy0L7RgNC10L3QvdGPICVzIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlJXMgcmVxdWlyZXMgYSBwcmVjaXNpb24gb3IgYSBieXRlIGNvdW50IgorbXNnc3RyICIlJXMg0L/QvtGC0YDQtdCx0YPRlCDQstC40LfQvdCw0YfQtdC90L3RjyDRgtC+0YfQvdC+0YHRgtGWINCw0LHQviDQutGW0LvRjNC60L7RgdGC0ZYg0LHQsNC50YLRltCyIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgZm9ybWF0IHslc30iCittc2dzdHIgItC/0L7QvNC40LvQutC+0LLQtSDRhNC+0YDQvNCw0YLRg9Cy0LDQvdC90Y8geyVzfSIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbnZlcnNpb24gY2hhcmFjdGVyICUlJXMiCittc2dzdHIgItC/0L7QvNC40LvQutC+0LLQuNC5INGB0LjQvNCy0L7QuyDQv9C10YDQtdGC0LLQvtGA0LXQvdC90Y8gJSUlcyIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NDM2Cittc2dpZCAiYnl0ZSBjb3VudCB3aXRoIG11bHRpcGxlIGNvbnZlcnNpb24gY2hhcmFjdGVycyIKK21zZ3N0ciAi0LrRltC70YzQutGW0YHRgtGMINCx0LDQudGC0ZbQsiDQtyDQtNC10LrRltC70YzQutC+0LzQsCDRgdC40LzQstC+0LvQsNC80Lgg0L/QtdGA0LXRgtCy0L7RgNC10L3QvdGPIgorCisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozMworbXNnaWQgIlJlYWQgb25lIGxpbmUuXG4iCittc2dzdHIgItCf0YDQvtGH0LjRgtCw0YLQuCDQvtC00LjQvSDRgNGP0LTQvtC6LlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMjgKK21zZ2lkICJBIGZpbGUgcGVydXNhbCBmaWx0ZXIgZm9yIENSVCB2aWV3aW5nLlxuIgorbXNnc3RyICLQpNGW0LvRjNGC0YAg0YPQstCw0LbQvdC+0LPQviDRh9C40YLQsNC90L3RjyDRhNCw0LnQu9GW0LIg0LTQu9GPINC/0LXRgNC10LPQu9GP0LTRgyBDUlQuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMQorbXNnaWQgIiAtZCAgICAgICAgICBkaXNwbGF5IGhlbHAgaW5zdGVhZCBvZiByaW5naW5nIGJlbGxcbiIKK21zZ3N0ciAiIC1kICAgICAgICAgINCy0LjQstC10YHRgtC4INC00L7QstGW0LTQutC+0LLRliDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8g0LfQsNC80ZbRgdGC0Ywg0LfQstGD0LrQvtCy0L7Qs9C+INGB0LjQs9C90LDQu9GDXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMgorbXNnaWQgIiAtZiAgICAgICAgICBjb3VudCBsb2dpY2FsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAg0YDQsNGF0YPQstCw0YLQuCDRgNGP0LTQutC4INGDINCx0YPRhNC10YDRliDRgNGP0LTQutGW0LIg0YMg0L/QsNC84oCZ0Y/RgtGWLCDQsCDQvdC1INGA0Y/QtNC60Lgg0L3QsCDQtdC60YDQsNC90ZZcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjMzCittc2dpZCAiIC1sICAgICAgICAgIHN1cHByZXNzIHBhdXNlIGFmdGVyIGZvcm0gZmVlZFxuIgorbXNnc3RyICIgLWwgICAgICAgICAg0L/RgNC40LTRg9GI0LjRgtC4INC/0LDRg9C30YMg0L/RltGB0LvRjyDRgdC40LzQstC+0LvRgyDQv9C+0LTQsNGH0ZYg0YHRgtC+0YDRltC90LrQuFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzQKK21zZ2lkICIgLWMgICAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIKK21zZ3N0ciAiIC1jICAgICAgICAgINC90LUg0LPQvtGA0YLQsNGC0Lgg0LLQvNGW0YHRgiwg0L/QvtC60LDQt9GD0LLQsNGC0Lgg0YLQtdC60YHRgiDRliDQstC40YDRltC30LDRgtC4INC60ZbQvdGG0ZYg0LTQvtCy0LPQuNGFINGA0Y/QtNC60ZbQslxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzUKK21zZ2lkICIgLXAgICAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIKK21zZ3N0ciAiIC1wICAgICAgICAgINC90LUg0LPQvtGA0YLQsNGC0Lgg0LLQvNGW0YHRgiwg0YHQv9C+0YDQvtC20L3Rj9GC0Lgg0LXQutGA0LDQvSDRgyDRgNCw0LfRliDQt9Cw0L/QvtCy0L3QtdC90L3Rj1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzYKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIgLXMgICAgICAgICAg0L7QseKAmdGU0LTQvdGD0LLQsNGC0Lgg0LTQtdC60ZbQu9GM0LrQsCDQv9C+0YDQvtC20L3RltGFINGA0Y/QtNC60ZbQsiDRgyDQvtC00LjQvVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzcKK21zZ2lkICIgLXUgICAgICAgICAgc3VwcHJlc3MgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIC11ICAgICAgICAgINC/0YDQuNC00YPRiNC40YLQuCDQv9GW0LTQutGA0LXRgdC70Y7QstCw0L3QvdGPXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOAorbXNnaWQgIiAtPG51bWJlcj4gICB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKK21zZ3N0ciAiIC080YfQuNGB0LvQvj4gICAg0LrRltC70YzQutGW0YHRgtGMINGA0Y/QtNC60ZbQsiDQvdCwINC10LrRgNCw0L1cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM5Cittc2dpZCAiICs8bnVtYmVyPiAgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBsaW5lIG51bWJlclxuIgorbXNnc3RyICIgKzzRh9C40YHQu9C+PiAgICDQv9C+0LrQsNC30LDRgtC4INC/0L7Rh9Cw0YLQvtC6INGE0LDQudC70LAg0Lcg0YDRj9C00LrQsCDQtyDQstC60LDQt9Cw0L3QuNC8INGH0LjRgdC70L7QvCDQvdC+0LzQtdGA0L7QvFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDAKK21zZ2lkICIgKy88c3RyaW5nPiAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIHNlYXJjaCBzdHJpbmcgbWF0Y2hcbiIKK21zZ3N0ciAiICsvPNGA0Y/QtNC+0Lo+ICDQv9C+0LrQsNC30LDRgtC4INC/0L7Rh9Cw0YLQvtC6INGE0LDQudC70LAg0Lcg0L/QvtC30LjRhtGW0Zcg0LfQvdCw0LnQtNC10L3QvtCz0L4g0LLRltC00L/QvtCy0ZbQtNC90LjQutCwINGA0Y/QtNC60LBcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQxCittc2dpZCAiIC1WICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgLVYgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0LLQtdGA0YHRltGXINGWINC30LDQstC10YDRiNC40YLQuCDRgNC+0LHQvtGC0YNcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIC0lcyIKK21zZ3N0ciAi0L3QtdCy0ZbQtNC+0LzQuNC5INC/0LDRgNCw0LzQtdGC0YAgLSVzIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKiAlczogZGlyZWN0b3J5ICoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqICVzOiDQutCw0YLQsNC70L7QsyAqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKioqKioqKiAlczogTm90IGEgdGV4dCBmaWxlICoqKioqKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKioqKioqKiAlczog0L3QtSDRlCDRgtC10LrRgdGC0L7QstC40Lwg0YTQsNC50LvQvtC8ICoqKioqKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjY0NQorIywgYy1mb3JtYXQKK21zZ2lkICJbVXNlIHEgb3IgUSB0byBxdWl0XSIKK21zZ3N0ciAiW9CS0LjQutC+0YDQuNGB0YLQvtCy0YPQudGC0LUgcSDRh9C4IFEg0YnQvtCxINCy0LjQudGC0LhdIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1Nb3JlLS0iCittc2dzdHIgIi0t0JTQsNC70ZYtLSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzI2CisjLCBjLWZvcm1hdAorbXNnaWQgIihOZXh0IGZpbGU6ICVzKSIKK21zZ3N0ciAiKNCd0LDRgdGC0YPQv9C90LjQuSDRhNCw0LnQuzogJXMpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzIHNwYWNlIHRvIGNvbnRpbnVlLCAncScgdG8gcXVpdC5dIgorbXNnc3RyICJb0J3QsNGC0LjRgdC90ZbRgtGMINC/0YDQvtCx0ZbQuywg0YnQvtCxINC/0YDQvtC00L7QstC20LjRgtC4LCDQsNCx0L4gJ3EnLCDRidC+0LEg0LLQuNC50YLQuC5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmJhY2sgJWQgcGFnZSIKK21zZ2lkX3BsdXJhbCAiLi4uYmFjayAlZCBwYWdlcyIKK21zZ3N0clswXSAiLi4u0L3QsNC30LDQtCDQvdCwICVkINGB0YLQvtGA0ZbQvdC60YMiCittc2dzdHJbMV0gIi4uLtC90LDQt9Cw0LQg0L3QsCAlZCDRgdGC0L7RgNGW0L3QutC4IgorbXNnc3RyWzJdICIuLi7QvdCw0LfQsNC0INC90LAgJWQg0YHRgtC+0YDRltC90L7QuiIKK21zZ3N0clszXSAiLi4u0L3QsNC30LDQtCDQvdCwICVkINGB0YLQvtGA0ZbQvdC60YMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc2tpcHBpbmcgJWQgbGluZSIKK21zZ2lkX3BsdXJhbCAiLi4uc2tpcHBpbmcgJWQgbGluZXMiCittc2dzdHJbMF0gIi4uLtC/0YDQvtC/0YPRgdC60LDRlNC80L4gJWQg0YDRj9C00L7QuiIKK21zZ3N0clsxXSAiLi4u0L/RgNC+0L/Rg9GB0LrQsNGU0LzQviAlZCDRgNGP0LTQutC4IgorbXNnc3RyWzJdICIuLi7Qv9GA0L7Qv9GD0YHQutCw0ZTQvNC+ICVkINGA0Y/QtNC60ZbQsiIKK21zZ3N0clszXSAiLi4u0L/RgNC+0L/Rg9GB0LrQsNGU0LzQviAlZCDRgNGP0LTQvtC6IgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjQ4Cittc2dpZCAiIgorIlxuIgorIioqKkJhY2sqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKtCd0LDQt9Cw0LQqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI2MworbXNnaWQgIk5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKK21zZ3N0ciAi0JLRltC00YHRg9GC0L3RltC5INC/0L7Qv9C10YDQtdC00L3RltC5INGA0LXQs9GD0LvRj9GA0L3QuNC5INCy0LjRgNCw0LciCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyOTMKK21zZ2lkICIiCisiXG4iCisiTW9zdCBjb21tYW5kcyBvcHRpb25hbGx5IHByZWNlZGVkIGJ5IGludGVnZXIgYXJndW1lbnQgay4gIERlZmF1bHRzIGluIGJyYWNrZXRzLlxuIgorIlN0YXIgKCopIGluZGljYXRlcyBhcmd1bWVudCBiZWNvbWVzIG5ldyBkZWZhdWx0LlxuIgorbXNnc3RyICIiCisiXG4iCisi0JHRltC70YzRiNGW0YHRgtGMINC60L7QvNCw0L3QtCDQvNC+0LbRg9GC0Ywg0LzQsNGC0Lgg0L3QtdC+0LHQvtCyJ9GP0LfQutC+0LLQuNC5INGH0LjRgdC70L7QstC40Lkg0L/QsNGA0LDQvNC10YLRgCBrLiAg0KLQuNC/0L7QstGWINC30L3QsNGH0LXQvdC90Y8g0YMg0LrRg9GC0L7QstC40YUg0LTRg9C20LrQsNGFLlxuIgorItCX0ZbRgNC+0YfQutCwICgqKSDQvtC30L3QsNGH0LDRlCwg0YnQviDQv9Cw0YDQsNC80LXRgtGAINGB0YLQsNGUINC90L7QstC40Lwg0YLQuNC/0L7QstC40Lwg0LfQvdCw0YfQtdC90L3Rj9C8LlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzAwCittc2dpZCAiIgorIjxzcGFjZT4gICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbMV0qXG4iCisiZCBvciBjdHJsLUQgICAgICAgICAgICAgU2Nyb2xsIGsgbGluZXMgW2N1cnJlbnQgc2Nyb2xsIHNpemUsIGluaXRpYWxseSAxMV0qXG4iCisicSBvciBRIG9yIDxpbnRlcnJ1cHQ+ICAgRXhpdCBmcm9tIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBsaW5lcyBvZiB0ZXh0IFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyJiIG9yIGN0cmwtQiAgICAgICAgICAgICBTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBHbyB0byBwbGFjZSB3aGVyZSBwcmV2aW91cyBzZWFyY2ggc3RhcnRlZFxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBsaW5lIG51bWJlclxuIgorIi88cmVndWxhciBleHByZXNzaW9uPiAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgcmVndWxhciBleHByZXNzaW9uIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByLmUgWzFdXG4iCisiITxjbWQ+IG9yIDohPGNtZD4gICAgICAgRXhlY3V0ZSA8Y21kPiBpbiBhIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgdXAgL3Vzci9iaW4vdmkgYXQgY3VycmVudCBsaW5lXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkcmF3IHNjcmVlblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBuZXh0IGZpbGUgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIHByZXZpb3VzIGZpbGUgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXJcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBSZXBlYXQgcHJldmlvdXMgY29tbWFuZFxuIgorbXNnc3RyICIiCisiPHNwYWNlPiAgICAgICAgICAgICAgICAg0JLQuNCy0ZbQtCDQvdCw0YHRgtGD0L/QvdC40YUgayDRgNGP0LTQutGW0LIg0YLQtdC60YHRgtGDIFvQv9C+0YLQvtGH0L3QuNC5INGA0L7Qt9C80ZbRgCDQtdC60YDQsNC90YNdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAg0JLQuNCy0ZbQtCDQvdCw0YHRgtGD0L/QvdC40YUgayDRgNGP0LTQutGW0LIg0YLQtdC60YHRgtGDIFvQv9C+0YLQvtGH0L3QuNC5INGA0L7Qt9C80ZbRgCDQtdC60YDQsNC90YNdKlxuIgorIjxlbnRlcj4gICAgICAgICAgICAgICAgINCS0LjQstGW0LQg0L3QsNGB0YLRg9C/0L3QuNGFIGsg0YDRj9C00LrRltCyINGC0LXQutGB0YLRgyBbMV0qXG4iCisiZCDQsNCx0L4gY3RybC1EICAgICAgICAgICAg0J/RgNC+0LrRgNGD0YLQuNGC0LggayDRgNGP0LTQutGW0LIgW9C/0L7RgtC+0YfQvdC40Lkg0YDQvtC30LzRltGAINC/0YDQvtC60YDRg9GC0LrQuCwg0YHQv9C+0YfQsNGC0LrRgyAxMV0qXG4iCisicSDQsNCx0L4gUSDQsNCx0L4gPGludGVycnVwdD4g0JLQuNC50YLQuCDQtyBtb3JlXG4iCisicyAgICAgICAgICAgICAgICAgICAgICAg0J/QtdGA0LXQudGC0Lgg0LLQv9C10YDQtdC0INC90LAgayDRgNGP0LTQutGW0LIg0YLQtdC60YHRgtGDIFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgINCf0LXRgNC10LnRgtC4INCy0L/QtdGA0LXQtCDQvdCwIGsg0LXQutGA0LDQvdGW0LIg0YLQtdC60YHRgtGDIFsxXVxuIgorImIg0LDQsdC+IGN0cmwtQiAgICAgICAgICAgINCf0LXRgNC10LnRgtC4INC90LDQt9Cw0LQg0L3QsCBrINC10LrRgNCw0L3RltCyINGC0LXQutGB0YLRgyBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICDQn9C10YDQtdC50YLQuCDRgyDQvNGW0YHRhtC1INC/0L7Rh9Cw0YLQutGDINC/0L7Qv9C10YDQtdC00L3RjNC+0LPQviDQv9C+0YjRg9C60YNcbiIKKyI9ICAgICAgICAgICAgICAgICAgICAgICDQktGW0LTQvtCx0YDQsNC30LjRgtC4INC/0L7RgtC+0YfQvdC40Lkg0L3QvtC80LXRgCDRgNGP0LTQutCwXG4iCisiLzzRgNC10LPRg9C70Y/RgNC90LjQuSDQstC40YDQsNC3PiAgICAg0JfQvdCw0LnRgtC4IGst0Lkg0LLQuNC/0LDQtNC+0Log0LfQsdGW0LPRgyDQtyDRgNC10LPRg9C70Y/RgNC90LjQvCDQstC40YDQsNC30L7QvCBbMV1cbiIKKyJuICAgICAgICAgICAgICAgICAgICAgICDQl9C90LDQudGC0Lggay3QuSDQstC40L/QsNC00L7QuiDQt9Cx0ZbQs9GDINC3INC+0YHRgtCw0L3QvdGW0Lwg0YDQtdCzLtCy0LjRgNCw0LfQvtC8IFsxXVxuIgorIiE80LrQvNC90LQ+INCw0LHQviA6ITzQutC80L3QtD4gICAg0JLQuNC60L7QvdCw0YLQuCA80LrQvNC90LQ+INGDINC+0LHQvtC70L7QvdGG0ZZcbiIKKyJ2ICAgICAgICAgICAgICAgICAgICAgICDQl9Cw0L/Rg9GB0YLQuNGC0LggL3Vzci9iaW4vdmkg0Lcg0L/QvtGC0L7Rh9C90L7Qs9C+INGA0Y/QtNC60LBcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICDQntC90L7QstC40YLQuCDQstC80ZbRgdGCINC10LrRgNCw0L3Rg1xuIgorIjpuICAgICAgICAgICAgICAgICAgICAgINCf0LXRgNC10LnRgtC4INC90LAgay3QuSDRgNGP0LTQvtC6INGE0LDQudC70YMgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAg0J/QtdGA0LXQudGC0Lgg0L3QsCBrLdC5INC/0L7Qv9C10YDQtdC00L3RltC5INGE0LDQudC7IFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgICAgINCS0ZbQtNC+0LHRgNCw0LfQuNGC0Lgg0L3QsNC30LLRgyDQv9C+0YLQvtGH0L3QvtCz0L4g0YTQsNC50LvRgyDRgtCwINC90L7QvNC10YAg0YDRj9C00LrQsFxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgINCf0L7QstGC0L7RgNC40YLQuCDQv9C+0L/QtdGA0LXQtNC90Y4g0LrQvtC80LDQvdC00YNcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTM3MyB0ZXh0LXV0aWxzL21vcmUuYzoxMzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyAnaCcgZm9yIGluc3RydWN0aW9ucy5dIgorbXNnc3RyICJb0J3QsNGC0LjRgdC90ZbRgtGMICdoJyDRidC+0LEg0L/QtdGA0LXQs9C70Y/QvdGD0YLQuCDQtNC+0LLRltC00LrRgy5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBsaW5lICVkIgorbXNnc3RyICJcIiVzXCIg0YDRj9C00L7QuiAlZCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQxMgorIywgYy1mb3JtYXQKK21zZ2lkICJbTm90IGEgZmlsZV0gbGluZSAlZCIKK21zZ3N0ciAiW9Cd0LUg0YTQsNC50LtdINGA0Y/QtNC+0LogJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0OTQKK21zZ2lkICIgIE92ZXJmbG93XG4iCittc2dzdHIgIiAg0J/QtdGA0LXQv9C+0LLQvdC10L3QvdGPXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1NDMKK21zZ2lkICIuLi5za2lwcGluZ1xuIgorbXNnc3RyICIuLi7Qv9C10YDQtdGF0ZbQtFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTc3Cittc2dpZCAiIgorIlxuIgorIlBhdHRlcm4gbm90IGZvdW5kXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQqNCw0LHQu9C+0L0g0L3QtSDQt9C90LDQudC00LXQvdC+XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1ODMgdGV4dC11dGlscy9wZy5jOjEwMjcgdGV4dC11dGlscy9wZy5jOjExNzMKK21zZ2lkICJQYXR0ZXJuIG5vdCBmb3VuZCIKK21zZ3N0ciAi0KjQsNCx0LvQvtC9INC90LUg0LfQvdCw0LnQtNC10L3QviIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTYyOQorbXNnaWQgImV4ZWMgZmFpbGVkXG4iCittc2dzdHIgItC/0L7QvNC40LvQutCwINC30LDQv9GD0YHQutGDXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NDMKK21zZ2lkICJjYW4ndCBmb3JrXG4iCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0YHRgtCy0L7RgNC40YLQuCDQv9GA0L7RhtC10YFcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY3NworbXNnaWQgIiIKKyJcbiIKKyIuLi5Ta2lwcGluZyAiCittc2dzdHIgIiIKKyJcbiIKKyIuLi7Qn9C10YDQtdGF0ZbQtCAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2ODEKK21zZ2lkICIuLi5Ta2lwcGluZyB0byBmaWxlICIKK21zZ3N0ciAiLi4u0J/QtdGA0LXRhdGW0LQg0LTQviDRhNCw0LnQu9GDIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjgzCittc2dpZCAiLi4uU2tpcHBpbmcgYmFjayB0byBmaWxlICIKK21zZ3N0ciAiLi4u0J/QtdGA0LXRhdGW0LQg0L3QsNC30LDQtCDQtNC+INGE0LDQudC70YMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE5NzMKK21zZ2lkICJMaW5lIHRvbyBsb25nIgorbXNnc3RyICLQoNGP0LTQvtC6INC90LDQtNGC0L4g0LTQvtCy0LPQuNC5IgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMDEwCittc2dpZCAiTm8gcHJldmlvdXMgY29tbWFuZCB0byBzdWJzdGl0dXRlIGZvciIKK21zZ3N0ciAi0J3QtdC80LDRlCDQv9C+0L/QtdGA0LXQtNC90YzQvtGXINC60L7QvNCw0L3QtNC4INC00LvRjyDQt9Cw0LzRltC90LgiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNDQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBzY3JlZW5cbiIKKyIgIHEgb3IgUSAgICAgICAgICAgICAgICAgIHF1aXQgcHJvZ3JhbVxuIgorIiAgPG5ld2xpbmU+ICAgICAgICAgICAgICAgbmV4dCBwYWdlXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBza2lwIGEgcGFnZSBmb3J3YXJkXG4iCisiICBkIG9yIF5EICAgICAgICAgICAgICAgICBuZXh0IGhhbGZwYWdlXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBuZXh0IGxpbmVcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIGxhc3QgcGFnZVxuIgorIiAgL3JlZ2V4LyAgICAgICAgICAgICAgICAgc2VhcmNoIGZvcndhcmQgZm9yIHJlZ2V4XG4iCisiICA/cmVnZXg/IG9yIF5yZWdleF4gICAgICBzZWFyY2ggYmFja3dhcmQgZm9yIHJlZ2V4XG4iCisiICAuIG9yIF5MICAgICAgICAgICAgICAgICByZWRyYXcgc2NyZWVuXG4iCisiICB3IG9yIHogICAgICAgICAgICAgICAgICBzZXQgcGFnZSBzaXplIGFuZCBnbyB0byBuZXh0IHBhZ2VcbiIKKyIgIHMgZmlsZW5hbWUgICAgICAgICAgICAgIHNhdmUgY3VycmVudCBmaWxlIHRvIGZpbGVuYW1lXG4iCisiICAhY29tbWFuZCAgICAgICAgICAgICAgICBzaGVsbCBlc2NhcGVcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIHByZXZpb3VzIGZpbGVcbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIG5leHQgZmlsZVxuIgorIlxuIgorIk1hbnkgY29tbWFuZHMgYWNjZXB0IHByZWNlZGluZyBudW1iZXJzLCBmb3IgZXhhbXBsZTpcbiIKKyIrMTxuZXdsaW5lPiAobmV4dCBwYWdlKTsgLTE8bmV3bGluZT4gKHByZXZpb3VzIHBhZ2UpOyAxPG5ld2xpbmU+IChmaXJzdCBwYWdlKS5cbiIKKyJcbiIKKyJTZWUgcGcoMSkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAg0YbQtSDQtNC+0LLRltC00LrQvtCy0LUg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPXG4iCisiICBxINCw0LHQviBRICAgICAgICAgICAgICAgICDQstC40LnRgtC4INC3INC/0YDQvtCz0YDQsNC80LhcbiIKKyIgIDzRgdC40LzQstC+0Lsg0L3QvtCy0L7Qs9C+INGA0Y/QtNC60LA+ICAg0L3QsNGB0YLRg9C/0L3QsCDRgdGC0L7RgNGW0L3QutCwXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICDQv9C10YDQtdC50YLQuCDQvdCwINGB0YLQvtGA0ZbQvdC60YMg0LLQv9C10YDQtdC0XG4iCisiICBkINCw0LHQviBeRCAgICAgICAgICAgICAgICDQstC/0LXRgNC10LQg0L3QsCDQv9GW0LIg0YHRgtC+0YDRltC90LrQuFxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAg0L3QsNGB0YLRg9C/0L3QuNC5INGA0Y/QtNC+0LpcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgINC+0YHRgtCw0L3QvdGPINGB0YLQvtGA0ZbQvdC60LBcbiIKKyIgIC/QstC40YDQsNC3LyAgICAgICAgICAgICAgICAg0YjRg9C60LDRgtC4INCy0LjRgNCw0Lcg0LLQv9C10YDQtdC0INC30LAg0YLQtdC60YHRgtC+0LxcbiIKKyIgID/QstC40YDQsNC3PyDQsNCx0L4gXtCy0LjRgNCw0LdeICAgICDRiNGD0LrQsNGC0Lgg0LLQuNGA0LDQtyDQvdCw0LfQsNC0INC30LAg0YLQtdC60YHRgtC+0LxcbiIKKyIgIC4g0LDQsdC+IF5MICAgICAgICAgICAgICAgINC+0L3QvtCy0LjRgtC4INCy0LzRltGB0YIg0LXQutGA0LDQvdCwXG4iCisiICB3INCw0LHQviB6ICAgICAgICAgICAgICAgICDQstGB0YLQsNC90L7QstC40YLQuCDRgNC+0LfQvNGW0YAg0YHRgtC+0YDRltC90LrQuCDRliDQv9C10YDQtdC50YLQuCDQtNCw0LvRllxuIgorIiAgcyDQvdCw0LfQstCwX9GE0LDQudC70LAgICAgICAgICAgINC30LHQtdGA0LXQs9GC0Lgg0L/QvtGC0L7Rh9C90ZYg0LTQsNC90ZYg0LTQviDRhNCw0LnQu9CwXG4iCisiICAh0LrQvtC80LDQvdC00LAgICAgICAgICAgICAgICAg0LrQtdGA0YPQstCw0L3QvdGPINC3INC60L7QvNCw0L3QtNC90L7RlyDQvtCx0L7Qu9C+0L3QutC4XG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICDQv9C10YDQtdC50YLQuCDQtNC+INC/0L7Qv9C10YDQtdC00L3RjNC+0LPQviDRhNCw0LnQu9CwXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICDQv9C10YDQtdC50YLQuCDQtNC+INC90LDRgdGC0YPQv9C90L7Qs9C+INGE0LDQudC70LBcbiIKKyJcbiIKKyLQoyDQsdCw0LPQsNGC0YzQvtGFINC60L7QvNCw0L3QtNCw0YUg0L/QtdGA0LXQtNCx0LDRh9C10L3QviDQtNC+0LTQsNCy0LDQvdC90Y8g0L/QtdGA0LXQtCDQutC+0LzQsNC90LTQvtGOINGH0LjRgdC70LAsINC/0YDQuNC60LvQsNC0OlxuIgorIisxPNGB0LjQvNCy0L7QuyDQvdC+0LLQvtCz0L4g0YDRj9C00LrQsD4gKNC90LDRgdGC0YPQv9C90LAg0YHRgtC+0YDRltC90LrQsCk7IC0xPNGB0LjQvNCy0L7QuyDQvdC+0LLQvtCz0L4g0YDRj9C00LrQsD5cbiIKKyIo0L/QvtC/0LXRgNC10LTQvdGPINGB0YLQvtGA0ZbQvdC60LApOyAxPNGB0LjQvNCy0L7QuyDQvdC+0LLQvtCz0L4g0YDRj9C00LrQsD4gKNC/0LXRgNGI0LAg0YHRgtC+0YDRltC90LrQsCkuXG4iCisiXG4iCisi0JTQuNCyLiDQtNC+0LrRg9C80LXQvdGC0LDRhtGW0Y4g0LTQviBwZygxKSwg0YnQvtCxINC00ZbQt9C90LDRgtC40YHRjyDQsdGW0LvRjNGI0LUuXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gWyvRgNGP0LTQvtC6XSBbKy/RiNCw0LHQu9C+0L0vXSBb0YTQsNC50LvQuF1cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyNgorbXNnaWQgIkJyb3dzZSBwYWdld2lzZSB0aHJvdWdoIHRleHQgZmlsZXMuXG4iCittc2dzdHIgItCf0L7RgdGC0L7RgNGW0L3QutC+0LLQsCDQvdCw0LLRltCz0LDRhtGW0Y8g0YLQtdC60YHRgtC+0LLQuNC80Lgg0YTQsNC50LvQsNC80LguXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMjkKK21zZ2lkICIgLW51bWJlciAgICAgIGxpbmVzIHBlciBwYWdlXG4iCittc2dzdHIgIiAt0YfQuNGB0LvQviAgICAgICDQutGW0LvRjNC60ZbRgdGC0Ywg0YDRj9C00LrRltCyINC90LAg0YHRgtC+0YDRltC90LrRg1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMwCittc2dpZCAiIC1jICAgICAgICAgICBjbGVhciBzY3JlZW4gYmVmb3JlIGRpc3BsYXlpbmdcbiIKK21zZ3N0ciAiIC1jICAgICAgICAgICDRgdC/0L7RgNC+0LbQvdC40YLQuCDQtdC60YDQsNC9INC/0LXRgNC10LQg0L/QvtC60LDQt9C+0Lwg0LTQsNC90LjRhVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMxCittc2dpZCAiIC1lICAgICAgICAgICBkbyBub3QgcGF1c2UgYXQgZW5kIG9mIGEgZmlsZVxuIgorbXNnc3RyICIgLWUgICAgICAgICAgINC90LUg0L/RgNC40LfRg9C/0LjQvdGP0YLQuCDRgNC+0LHQvtGC0YMg0L3QsNC/0YDQuNC60ZbQvdGG0ZYg0YTQsNC50LvQsFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMyCittc2dpZCAiIC1mICAgICAgICAgICBkbyBub3Qgc3BsaXQgbG9uZyBsaW5lc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgINC90LUg0YDQvtC30LTRltC70Y/RgtC4INC00L7QstCz0ZYg0YDRj9C00LrQuFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMzCittc2dpZCAiIC1uICAgICAgICAgICB0ZXJtaW5hdGUgY29tbWFuZCB3aXRoIG5ldyBsaW5lXG4iCittc2dzdHIgIiAtbiAgICAgICAgICAg0LfQsNCy0LXRgNGI0LjRgtC4INCy0LjQutC+0L3QsNC90L3RjyDQutC+0LzQsNC90LTQuCDRgdC40LzQstC+0LvQvtC8INC90L7QstC+0LPQviDRgNGP0LTQutCwXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzQKK21zZ2lkICIgLXAgPHByb21wdD4gIHNwZWNpZnkgcHJvbXB0XG4iCittc2dzdHIgIiAtcCA80LfQsNC/0LjRgj4gICDQstC60LDQt9Cw0YLQuCDQt9Cw0L/QuNGCXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzUKK21zZ2lkICIgLXIgICAgICAgICAgIGRpc2FsbG93IHNoZWxsIGVzY2FwZVxuIgorbXNnc3RyICIgLXIgICAgICAgICAgINCy0LjQvNC60L3Rg9GC0Lgg0LXQutGA0LDQvdGD0LLQsNC90L3RjyDRgdC40LzQstC+0LvRltCyINC+0LHQvtC70L7QvdC60LhcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNgorbXNnaWQgIiAtcyAgICAgICAgICAgcHJpbnQgbWVzc2FnZXMgdG8gc3Rkb3V0XG4iCittc2dzdHIgIiAtcyAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPINC00L4g0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LjQstC10LTQtdC90L3RjyAoc3Rkb3V0KVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM3Cittc2dpZCAiICtudW1iZXIgICAgICBzdGFydCBhdCB0aGUgZ2l2ZW4gbGluZVxuIgorbXNnc3RyICIgK9GH0LjRgdC70L4gICAgICAg0L/QvtGH0LDRgtC4INC3INCy0LrQsNC30LDQvdC+0LPQviDRgNGP0LTQutCwXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzgKK21zZ2lkICIgKy9wYXR0ZXJuLyAgIHN0YXJ0IGF0IHRoZSBsaW5lIGNvbnRhaW5pbmcgcGF0dGVyblxuIgorbXNnc3RyICIgKy/RiNCw0LHQu9C+0L0vICAgINC/0L7Rh9Cw0YLQuCDQtyDRgNGP0LTQutCwLCDRidC+INC80ZbRgdGC0LjRgtGMINGI0LDQsdC70L7QvVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAlcyIKK21zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgCDQv9C+0YLRgNC10LHRg9GUINCy0LrQsNC30YPQstCw0L3QvdGPINCw0YDQs9GD0LzQtdC90YLRgyAtLSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIG9wdGlvbiAtLSAlcyIKK21zZ3N0ciAi0L3QtdC/0YDQuNC/0YPRgdGC0LjQvNC40Lkg0L/QsNGA0LDQvNC10YLRgCAtICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzU5Cittc2dpZCAiLi4uc2tpcHBpbmcgZm9yd2FyZFxuIgorbXNnc3RyICIuLi7Qv9C10YDQtdGF0ZbQtCDQstC/0LXRgNC10LRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM2MQorbXNnaWQgIi4uLnNraXBwaW5nIGJhY2t3YXJkXG4iCittc2dzdHIgIi4uLtC/0LXRgNC10YXRltC0INC90LDQt9Cw0LRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM3NworbXNnaWQgIk5vIG5leHQgZmlsZSIKK21zZ3N0ciAi0J3QtdC80LDRlCDQvdCw0YHRgtGD0L/QvdC+0LPQviDRhNCw0LnQu9GDIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzgxCittc2dpZCAiTm8gcHJldmlvdXMgZmlsZSIKK21zZ3N0ciAi0J3QtdC80LDRlCDQv9C+0L/QtdGA0LXQtNC90YzQvtCz0L4g0YTQsNC50LvRgyIKKworIzogdGV4dC11dGlscy9wZy5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yIGZyb20gJXMgZmlsZSIKK21zZ3N0ciAi0J/QvtC80LjQu9C60LAg0YfQuNGC0LDQvdC90Y8g0Lcg0YTQsNC50LvQsCAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjg4NgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIEVPRiBpbiAlcyBmaWxlIgorbXNnc3RyICLQndC10L7Rh9GW0LrRg9Cy0LDQvdC40Lkg0LrRltC90LXRhtGMINGE0LDQudC70LAg0YMg0YTQsNC50LvRliAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjg4OAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGVycm9yIGluICVzIGZpbGUiCittc2dzdHIgItCd0LXQstGW0LTQvtC80LAg0L/QvtC80LjQu9C60LAg0YMg0YTQsNC50LvRliAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjk0MQorbXNnaWQgIkNhbm5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0YHRgtCy0L7RgNC40YLQuCDRgtC40LzRh9Cw0YHQvtCy0LjQuSDRhNCw0LnQuyIKKworIzogdGV4dC11dGlscy9wZy5jOjk1MCB0ZXh0LXV0aWxzL3BnLmM6MTExNCB0ZXh0LXV0aWxzL3BnLmM6MTE0MAorbXNnaWQgIlJFIGVycm9yOiAiCittc2dzdHIgItCf0L7QvNC40LvQutCwINCg0JI6ICIKKworIzogdGV4dC11dGlscy9wZy5jOjEwOTcKK21zZ2lkICIoRU9GKSIKK21zZ3N0ciAiKNCa0ZbQvdC10YbRjCDRhNCw0LnQu9GDKSIKKworIzogdGV4dC11dGlscy9wZy5jOjExMjIgdGV4dC11dGlscy9wZy5jOjExNDgKK21zZ2lkICJObyByZW1lbWJlcmVkIHNlYXJjaCBzdHJpbmciCittc2dzdHIgItCd0LXQvNCw0ZQg0LfQsdC10YDQtdC20LXQvdC+0LPQviDRgyDQv9Cw0Lwn0Y/RgtGWINGA0Y/QtNC60YMg0L/QvtGI0YPQutGDIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTIwMworbXNnaWQgImNhbm5vdCBvcGVuICIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGW0LTQutGA0LjRgtC4ICIKKworIzogdGV4dC11dGlscy9wZy5jOjEyNTUKK21zZ2lkICJzYXZlZCIKK21zZ3N0ciAi0LfQsdC10YDQtdC20LXQvdC+IgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM0NQorbXNnaWQgIjogIWNvbW1hbmQgbm90IGFsbG93ZWQgaW4gcmZsYWcgbW9kZS5cbiIKK21zZ3N0ciAiOiDQutC+0LzQsNC90LTQsCAhINC90LUg0LTQvtC/0YPRgdGC0LjQvNCwINGDINGA0LXQttC40LzRliByZmxhZy5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzODAKK21zZ2lkICJmb3JrKCkgZmFpbGVkLCB0cnkgYWdhaW4gbGF0ZXJcbiIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0LLQuNC60L7QvdCw0L3QvdGPIGZvcmsoKSwg0YHQv9GA0L7QsdGD0LnRgtC1INC/0ZbQt9C90ZbRiNC1INGJ0LUg0YDQsNC3XG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNDY4Cittc2dpZCAiKE5leHQgZmlsZTogIgorbXNnc3RyICIo0J3QsNGB0YLRg9C/0L3QuNC5INGE0LDQudC7OiAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzIENvcHlyaWdodCAoYykgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4iCittc2dzdHIgIiVzICVzIMKpIEd1bm5hciBSaXR0ZXIsIDIwMDDigJMyMDAxLiDQktGB0ZYg0L/RgNCw0LLQsCDQt9Cw0YHRgtC10YDQtdC20LXQvdC+LlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU4NyB0ZXh0LXV0aWxzL3BnLmM6MTY2MAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMgcGVyIHBhZ2UiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDQt9C90LDRh9C10L3QvdGPINC60ZbQu9GM0LrQvtGB0YLRliDRgNGP0LTQutGW0LIg0L3QsCDRgdGC0L7RgNGW0L3QutGDIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorbXNnc3RyICLQmtC+0YDQuNGB0YLRg9Cy0LDQvdC90Y86ICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIFvRhNCw0LnQuyAuLi5dXG4iCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6ODAKK21zZ2lkICJSZXZlcnNlIGxpbmVzIGNoYXJhY3Rlcndpc2UuXG4iCittc2dzdHIgItCe0LHQtdGA0YLQsNC90L3RjyDRgNGP0LTQutGW0LIg0LfQsCDRgdC40LzQstC+0LvQsNC80LguXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5jb21wbGV0ZSB3cml0ZSB0byBcIiVzXCIgKHdyaXR0ZW4gJXpkLCBleHBlY3RlZCAlemQpXG4iCittc2dzdHIgItC90LXQt9Cw0LLQtdGA0YjQtdC90L4g0LfQsNC/0LjRgSDQtNC+IMKrJXPCuyAo0LfQsNC/0LjRgdCw0L3QviAlemQsINC80LDQu9C+INCx0YPRgtC4INC30LDQv9C40YHQsNC90L4gJXpkKVxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2ggKGxpbWl0IG9mIGlub3RpZnkgd2F0Y2hlcyB3YXMgcmVhY2hlZCkuIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQtNC+0LTQsNGC0Lgg0L/Rg9C90LrRgiDRgdC/0L7RgdGC0LXRgNC10LbQtdC90L3RjyBpbm90aWZ5ICjQtNC+0YHRj9Cz0L3Rg9GC0L4g0L7QsdC80LXQttC10L3QvdGPINC90LAg0LrRltC70YzQutGW0YHRgtGMINGB0L/QvtGB0YLQtdGA0LXQttC10L3RjCBpbm90aWZ5KS4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25dIDxmaWxlPlxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YBdIDzRhNCw0LnQuz5cbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwMAorbXNnaWQgIkZvbGxvdyB0aGUgZ3Jvd3RoIG9mIGEgbG9nIGZpbGUuXG4iCittc2dzdHIgItCS0ZbQtNGC0LLQvtGA0Y7QstCw0YLQuCDQt9GA0L7RgdGC0LDQvdC90Y8g0YTQsNC50LvQsCDQttGD0YDQvdCw0LvRgy5cbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwMworbXNnaWQgIiAtbiwgLS1saW5lcyA8bnVtYmVyPiAgIG91dHB1dCB0aGUgbGFzdCA8bnVtYmVyPiBsaW5lc1xuIgorbXNnc3RyICIgLW4sIC0tbGluZXMgPG4+ICAgICAgICDQstC40LLQtdGB0YLQuCDQvtGB0YLQsNC90L3RliA8bj4g0YDRj9C00LrRltCyXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMDQKK21zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgICBzYW1lIGFzICctbiA8bnVtYmVyPidcbiIKK21zZ3N0ciAiIC08bj4gICAgICAgICAgICAgICAgICAg0YLQtSDRgdCw0LzQtSwg0YnQviDRliDCqy1uIDxuPsK7XG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMTAKK21zZ2lkICJXYXJuaW5nOiB1c2Ugb2YgJ3RhaWxmJyBpcyBkZXByZWNhdGVkLCB1c2UgJ3RhaWwgLWYnIGluc3RlYWQuXG4iCittc2dzdHIgItCf0L7Qv9C10YDQtdC00LbQtdC90L3Rjzog0LLQuNC60L7RgNC40YHRgtCw0L3QvdGPIMKrdGFpbGbCuyDQstCy0LDQttCw0ZTRgtGM0YHRjyDQt9Cw0YHRgtCw0YDRltC70LjQvCwg0LLQuNC60L7RgNC40YHRgtC+0LLRg9C50YLQtSDCq3RhaWwgLWbCuy5cbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIyMyB0ZXh0LXV0aWxzL3RhaWxmLmM6MjYzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INC30L3QsNGH0LXQvdC90Y8g0LrRltC70YzQutC+0YHRgtGWINGA0Y/QtNC60ZbQsiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjI3NQorbXNnaWQgIm5vIGlucHV0IGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICLQvdC1INCy0LrQsNC30LDQvdC+INGE0LDQudC70LAg0LLRhdGW0LTQvdC40YUg0LTQsNC90LjRhSIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGEgZmlsZSIKK21zZ3N0ciAiJXM6INC90LUg0ZQg0YTQsNC50LvQvtC8IgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiAuLi5dXG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgNC4XSBbPNGE0LDQudC7PiAuLi5dXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxMzkKK21zZ2lkICJEbyB1bmRlcmxpbmluZy5cbiIKK21zZ3N0ciAi0J/RltC00LrRgNC10YHQu9GO0LLQsNGC0LguXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDIKK21zZ2lkICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIgLXQsIC1ULCAtLXRlcm1pbmFsINCi0JXQoNCc0IbQndCQ0JsgINC/0LXRgNC10LLQuNC30L3QsNGH0LjRgtC4INC30LzRltC90L3RgyDRgdC10YDQtdC00L7QstC40YnQsCBURVJNXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDMKK21zZ2lkICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIgorbXNnc3RyICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICDQv9GW0LTQutGA0LXRgdC70Y7QstCw0L3QvdGPINC/0L7Qt9C90LDRh9Cw0ZTRgtGM0YHRjyDQvtC60YDQtdC80LjQvCDRgNGP0LTQutC+0LxcbiIKKworIzogdGV4dC11dGlscy91bC5jOjIwNAorbXNnaWQgInRyb3VibGUgcmVhZGluZyB0ZXJtaW5mbyIKK21zZ3N0ciAi0L/RgNC+0LHQu9C10LzQsCDQv9GA0Lgg0YfQuNGC0LDQvdC90ZYgdGVybWluZm8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgYCVzJyBpcyBub3Qga25vd24sIGRlZmF1bHRpbmcgdG8gYGR1bWInIgorbXNnc3RyICLRgtC10YDQvNGW0L3QsNC7IMKrJXPCuyDQvdC1INC90LDQu9C10LbQuNGC0Ywg0LTQviDRgdC/0LjRgdC60YMg0LLRltC00L7QvNC40YUsINC/0L7QstC10YDRgtCw0ZTQvNC+0YHRjyDQtNC+INGC0LjQv9C+0LLQvtCz0L4sIMKrZHVtYsK7IgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZXNjYXBlIHNlcXVlbmNlIGluIGlucHV0OiAlbywgJW8iCittc2dzdHIgItC90LXQstGW0LTQvtC80LAg0LrQtdGA0ZbQstC90LAg0L/QvtGB0LvRltC00L7QstC90ZbRgdGC0Ywg0YMg0LLRhdGW0LTQvdC40YUg0LTQsNC90LjRhTogJW8sICVvIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6NjI0Cittc2dpZCAiSW5wdXQgbGluZSB0b28gbG9uZy4iCittc2dzdHIgItCg0Y/QtNC+0Log0LLRhdGW0LTQvdC40YUg0LTQsNC90LjRhSDRlCDQvdCw0LTRgtC+INC00L7QstCz0LjQvC4iCisKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiB1c2UgdGhlIEhhcmR3YXJlIENsb2NrLiIKKyN+IG1zZ3N0ciAi0JLQuNCx0LDRh9GC0LUsINC60L7RgNC40YHRgtGD0LLQsNGC0LjRgdGPINCw0L/QsNGA0LDRgtC90LjQvCDQs9C+0LTQuNC90L3QuNC60L7QvCDRgdC40YHRgtC10LzQuCDQvNC+0LbQtSDQu9C40YjQtSDQsNC00LzRltC90ZbRgdGC0YDQsNGC0L7RgC4iCisKKyN+IG1zZ2lkICJGaWxlc3lzdGVtIGxhYmVsOiIKKyN+IG1zZ3N0ciAi0JzRltGC0LrQsCDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4OiIKKworI34gbXNnaWQgImZhaWxlZCB0byBzZXQgUEFUSCIKKyN+IG1zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCBQQVRIIgorCisjfiBtc2dpZCAiJWQiCisjfiBtc2dzdHIgIiVkIgorCisjfiBtc2dpZCAidXNlIG9mICdraWxsIC0tcGlkJyBvcHRpb24gYXMgY29tbWFuZCBuYW1lIGlzIGRlcHJlY2F0ZWQiCisjfiBtc2dzdHIgItCy0LjQutC+0YDQuNGB0YLQsNC90L3RjyDQv9Cw0YDQsNC80LXRgtGA0LAgwqtraWxsIC0tcGlkwrsg0Y/QuiDQvdCw0LfQstC4INC60L7QvNCw0L3QtNC4INCy0LLQsNC20LDRlNGC0YzRgdGPINC30LDRgdGC0LDRgNGW0LvQuNC8IgorCisjfiBtc2dpZCAiJTRkLSUuMmQtJS4yZCAlMDJkOiUwMmQ6JTAyZC4lMDZsZCUrMDJkOiUwMmRcbiIKKyN+IG1zZ3N0ciAiJTRkLSUuMmQtJS4yZCAlMDJkOiUwMmQ6JTAyZC4lMDZsZCUrMDJkOiUwMmRcbiIKKworI34gbXNnaWQgImJhZCB0aW1lb3V0IHZhbHVlOiAlcyIKKyN+IG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QtSDQt9C90LDRh9C10L3QvdGPINC/0LXRgNGW0L7QtNGDINC+0YfRltC60YPQstCw0L3QvdGPOiAlcyIKKworI34gbXNnaWQgImV4cGVjdGVkIGEgbnVtYmVyLCBidXQgZ290ICclcyciCisjfiBtc2dzdHIgItC+0YfRltC60YPQstCw0LvQvtGB0Y8g0YfQuNGB0LvQviwg0LAg0L7RgtGA0LjQvNCw0L3QviDCqyVzwrsiCisKKyN+IG1zZ2lkICJkaXZpc29yICclcyciCisjfiBtc2dzdHIgItC00ZbQu9GM0L3QuNC6IMKrJXPCuyIKKworI34gbXNnaWQgImFyZ3VtZW50IGVycm9yOiAlcyIKKyN+IG1zZ3N0ciAi0L/QvtC80LjQu9C60L7QstC40Lkg0LDRgNCz0YPQvNC10L3RgjogJXMiCisKKyN+IG1zZ2lkICJ0dHkgcGF0aCAlcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAi0YjQu9GP0YUgdHR5ICVzINGUINC90LDQtNGC0L4g0LTQvtCy0LPQuNC8IgpkaWZmIC0tZ2l0IGEvcG8vdXBkYXRlLXBvdGZpbGVzIGIvcG8vdXBkYXRlLXBvdGZpbGVzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg4NGU0ZDkKLS0tIC9kZXYvbnVsbAorKysgYi9wby91cGRhdGUtcG90ZmlsZXMKQEAgLTAsMCArMSw0MSBAQAorIyEvYmluL3NoCisjCisjIENvcHlyaWdodCAoQykgMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKworIyBmaW5kIGFsbCBnaXQtdHJhY2tlZCBhbmQgZXhpc3RpbmcgKi5jIGFuZCAqLmggZmlsZXMKKyMgZXhjbHVkZSBzb21lIChzdWIpZGlyZWN0b3JpZXMKKyMgc29ydCB0aGUgbGlzdAorCitpZiBbICEgLWYgInBvL01ha2V2YXJzIiBdOyB0aGVuCisJZWNobyAiZXJyb3I6IHVwZGF0ZS1wb3RmaWxlcyBtdXN0IHJ1biBpbiB0aGUgdG9wLWxldmVsIGRpcmVjdG9yeSIgPiYyCisJZXhpdCAxCitmaQorCisjIGZpbmQgYWxsIGdpdC10cmFja2VkIGZpbGVzCitzb3VyY2VfZmlsZXM9JChnaXQgbHMtZmlsZXMgLiAyPi9kZXYvbnVsbCkKK2lmIFsgJD8gLW5lIDAgXSB8fCBbIC16ICIkc291cmNlX2ZpbGVzIiBdOyB0aGVuCisJZWNobyAiJDA6IHdhcm5pbmc6IHVwZGF0ZS1wb3RmaWxlcyByZXF1aXJlcyBnaXQiID4mMgorCSMgd2Ugc3RpbGwgZ28gdGhyb3VnaCB0aGUgcmVzdCBvZiB0aGlzIHNjcmlwdCB0byBwcm92aWRlIGF0IGxlYXN0IGFuIGVtcHR5CisJIyBsaXN0IG9yIHJlbW92ZSBub24tZXhpc3RpbmcgKGRlbGV0ZWQpIGZpbGVzCisJc291cmNlX2ZpbGVzPSQoY2F0IHBvL1BPVEZJTEVTLmluIDI+L2Rldi9udWxsKQorZmkKKworIyBhcHBseSBpbmNsdWRlL2V4Y2x1ZGUgcGF0dGVybnMKK3NvdXJjZV9maWxlcz0kKAorCWVjaG8gIiRzb3VyY2VfZmlsZXMiIFwKKwl8IHNlZCBcCisJCS1lICcvXChcLmhcfFwuY1wpJC8hZCcgXAorCQktZSAnL150ZXN0c1wvL2QnIFwKKwkJLWUgJy9cL3NhbXBsZXNcLy9kJyBcCisJCS1lICcvXkRvY3VtZW50YXRpb25cLy9kJyBcCispCisKKyMgdGhyb3cgYXdheSBub24tZXhpc3RpbmcgZmlsZXMgKGRpcnR5IGdpdCByZXBvKQorZWNobyAiJHNvdXJjZV9maWxlcyIgXAorCXwgeGFyZ3MgLXIgZmluZCAyPi9kZXYvbnVsbCBcCisJfCBzb3J0IFwKKwk+IHBvL1BPVEZJTEVTLmluCisKKyMgaWYgdGhpcyBzY3JpcHQgaXMgYnJva2VuIHRoZW4gd2UgaGF2ZSBwcm9iYWJseSBhbiBlbXB0eSBsaXN0CitbIC1zIHBvL1BPVEZJTEVTLmluIF0gfHwgZWNobyAiJDA6IHdhcm5pbmc6IHBvL1BPVEZJTEVTLmluIGlzIGVtcHR5IiA+JjIKZGlmZiAtLWdpdCBhL3BvL3V0aWwtbGludXgucG90IGIvcG8vdXRpbC1saW51eC5wb3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDIyNWMwMwotLS0gL2Rldi9udWxsCisrKyBiL3BvL3V0aWwtbGludXgucG90CkBAIC0wLDAgKzEsMTgwODIgQEAKKyMgU09NRSBERVNDUklQVElWRSBUSVRMRS4KKyMgQ29weXJpZ2h0IChDKSBZRUFSIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgdXRpbC1saW51eCBwYWNrYWdlLgorIyBGSVJTVCBBVVRIT1IgPEVNQUlMQEFERFJFU1M+LCBZRUFSLgorIworIywgZnV6enkKK21zZ2lkICIiCittc2dzdHIgIiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IHV0aWwtbGludXggMi4yOS4xLjI0LTc0M2YyXG4iCisiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IHV0aWwtbGludXhAdmdlci5rZXJuZWwub3JnXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTctMDItMjIgMTI6MzIrMDEwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IFlFQVItTU8tREEgSE86TUkrWk9ORVxuIgorIkxhc3QtVHJhbnNsYXRvcjogRlVMTCBOQU1FIDxFTUFJTEBBRERSRVNTPlxuIgorIkxhbmd1YWdlLVRlYW06IExBTkdVQUdFIDxMTEBsaS5vcmc+XG4iCisiTGFuZ3VhZ2U6IFxuIgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUNIQVJTRVRcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisiUGx1cmFsLUZvcm1zOiBucGx1cmFscz1JTlRFR0VSOyBwbHVyYWw9RVhQUkVTU0lPTjtcbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxzdGFydD4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxOAorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgZXhpc3RlbmNlIG9mIGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1NiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mjc2IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0MjAKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NDYgZGlzay11dGlscy9jZmRpc2suYzoyNjM0IGRpc2stdXRpbHMvZGVscGFydC5jOjU3CisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI3IGRpc2stdXRpbHMvZmRpc2suYzo3MTggZGlzay11dGlscy9mZGlzay5jOjk5NAorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzAxIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM0MQorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzYwIGRpc2stdXRpbHMvZnNjay5jOjE0NDgKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTUgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxMAorIzogZGlzay11dGlscy9pc29zaXplLmM6MTM0IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODkKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNzMgZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2MQorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4OCBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTkKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjE1IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ0IGRpc2stdXRpbHMvcGFydHguYzo5OTQKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwMSBkaXNrLXV0aWxzL3NmZGlzay5jOjY0NyBkaXNrLXV0aWxzL3NmZGlzay5jOjcwMworIzogZGlzay11dGlscy9zZmRpc2suYzo3NTcgZGlzay11dGlscy9zZmRpc2suYzo4MTYgZGlzay11dGlscy9zZmRpc2suYzo4ODAKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTIxIGRpc2stdXRpbHMvc2ZkaXNrLmM6OTUxIGRpc2stdXRpbHMvc2ZkaXNrLmM6OTg4CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MzcgZGlzay11dGlscy9zd2FwbGFiZWwuYzo2MCBsaWJmZGlzay9zcmMvYnNkLmM6NjQxCisjOiBsaWIvcGF0aC5jOjcwIGxpYi9wYXRoLmM6ODIgbG9naW4tdXRpbHMvaXNsb2NhbC5jOjg3IGxvZ2luLXV0aWxzL2xhc3QuYzo2NzIKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NDYgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ4MworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzYgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNTkKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzgxIGxvZ2luLXV0aWxzL3ZpcHcuYzoyNTggbG9naW4tdXRpbHMvdmlwdy5jOjI3NgorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5NyBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODggbWlzYy11dGlscy9tY29va2llLmM6MTE1CisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjA3IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTgzIHN5cy11dGlscy9kbWVzZy5jOjUyMgorIzogc3lzLXV0aWxzL2VqZWN0LmM6NTAwIHN5cy11dGlscy9lamVjdC5jOjcwMCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzc0CisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjggc3lzLXV0aWxzL2ZzdHJpbS5jOjcyIHN5cy11dGlscy9od2Nsb2NrLmM6MjgyCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjM4IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE2MgorIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjU2IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQwMQorIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDIyIHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ2OQorIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzg4IHN5cy11dGlscy9uc2VudGVyLmM6MTI4IHN5cy11dGlscy9ydGN3YWtlLmM6MTM2CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI3MCBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzMCBzeXMtdXRpbHMvc2V0cHJpdi5jOjUyOQorIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NTIgc3lzLXV0aWxzL3N3YXBvbi5jOjM3MSBzeXMtdXRpbHMvc3dhcG9uLmM6NTE0CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjMgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMDYgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjEKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMyMSBzeXMtdXRpbHMvd2RjdGwuYzozNzcgdGVybS11dGlscy9hZ2V0dHkuYzoyNjE4CisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMjcgdGVybS11dGlscy9zY3JpcHQuYzo0MjUgdGVybS11dGlscy9zY3JpcHQuYzo0MzEKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDMzIHRlcm0tdXRpbHMvc2NyaXB0LmM6NTIyCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE5NyB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIwMAorIzogdGVybS11dGlscy93YWxsLmM6MzMxIHRleHQtdXRpbHMvY29sY3J0LmM6MjgyIHRleHQtdXRpbHMvbW9yZS5jOjUxMworIzogdGV4dC11dGlscy9yZXYuYzoxNDEgdGV4dC11dGlscy90YWlsZi5jOjY4IHRleHQtdXRpbHMvdGFpbGYuYzoxMDAKKyM6IHRleHQtdXRpbHMvdWwuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTkgZGlzay11dGlscy9kZWxwYXJ0LmM6NjAgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6OTgKK21zZ2lkICJpbnZhbGlkIHBhcnRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjAKK21zZ2lkICJpbnZhbGlkIHN0YXJ0IGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYxIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwOAorbXNnaWQgImludmFsaWQgbGVuZ3RoIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYyCittc2dpZCAiZmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjYzCittc2dpZCAic2V0IHJlYWQtb25seSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzAKK21zZ2lkICJzZXQgcmVhZC13cml0ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzYKK21zZ2lkICJnZXQgcmVhZC1vbmx5IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4MgorbXNnaWQgImdldCBkaXNjYXJkIHplcm9lcyBzdXBwb3J0IHN0YXR1cyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODgKK21zZ2lkICJnZXQgbG9naWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo5NAorbXNnaWQgImdldCBwaHlzaWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDAKK21zZ2lkICJnZXQgbWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTA2Cittc2dpZCAiZ2V0IG9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExMgorbXNnaWQgImdldCBhbGlnbm1lbnQgb2Zmc2V0IGluIGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTgKK21zZ2lkICJnZXQgbWF4IHNlY3RvcnMgcGVyIHJlcXVlc3QiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEyNAorbXNnaWQgImdldCBibG9ja3NpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzMQorbXNnaWQgInNldCBibG9ja3NpemUgb24gZmlsZSBkZXNjcmlwdG9yIG9wZW5pbmcgdGhlIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTM3Cittc2dpZCAiZ2V0IDMyLWJpdCBzZWN0b3IgY291bnQgKGRlcHJlY2F0ZWQsIHVzZSAtLWdldHN6KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTQzCittc2dpZCAiZ2V0IHNpemUgaW4gYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1MAorbXNnaWQgInNldCByZWFkYWhlYWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1NgorbXNnaWQgImdldCByZWFkYWhlYWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2MworbXNnaWQgInNldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTY5Cittc2dpZCAiZ2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzMKK21zZ2lkICJmbHVzaCBidWZmZXJzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzcKK21zZ2lkICJyZXJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlMSRzIC1WXG4iCisiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisiXG4iCisiQXZhaWxhYmxlIGNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICUtMjVzIGdldCBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzExCittc2dpZCAiY291bGQgbm90IGdldCBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gY29tbWFuZDogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzY4IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZXJyb3Igb24gJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgc3lzZnMgaGFuZGxlciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gc3RhcnQgZnJvbSBzeXNmcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU3RhcnRTZWMgICAgICAgICAgICBTaXplICAgRGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzkKK21zZ2lkICJCb290YWJsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3OQorbXNnaWQgIlRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MAorbXNnaWQgIkRlbGV0ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MAorbXNnaWQgIkRlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODEKK21zZ2lkICJOZXciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODEKK21zZ2lkICJDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODIKK21zZ2lkICJRdWl0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgyCittc2dpZCAiUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBjaGFuZ2VzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgzIGxpYmZkaXNrL3NyYy9ic2QuYzo0MzkgbGliZmRpc2svc3JjL2JzZC5jOjEwMjAKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzA2IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE2IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTYwCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTExNgorbXNnaWQgIlR5cGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODMKK21zZ2lkICJDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0Cittc2dpZCAiSGVscCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NAorbXNnaWQgIlByaW50IGhlbHAgc2NyZWVuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1Cittc2dpZCAiU29ydCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NQorbXNnaWQgIkZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiV3JpdGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAodGhpcyBtaWdodCBkZXN0cm95IGRhdGEpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRHVtcCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworbXNnaWQgIkR1bXAgcGFydGl0aW9uIHRhYmxlIHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6NjIwIGRpc2stdXRpbHMvZmRpc2suYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVuc3VwcG9ydGVkIGRpYWxvZyB0eXBlICVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAobW91bnRlZCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjc0Cittc2dpZCAiUGFydGl0aW9uIG5hbWU6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI4MQorbXNnaWQgIlBhcnRpdGlvbiBVVUlEOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyOTMKK21zZ2lkICJQYXJ0aXRpb24gdHlwZToiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzAwCittc2dpZCAiQXR0cmlidXRlczoiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzI0Cittc2dpZCAiRmlsZXN5c3RlbSBVVUlEOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMzEKK21zZ2lkICJGaWxlc3lzdGVtIExBQkVMOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMzcKK21zZ2lkICJGaWxlc3lzdGVtOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNDIKK21zZ2lkICJNb3VudHBvaW50OiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzazogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlNpemU6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY5MAorIywgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMsIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY5MworIywgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQ2Cittc2dpZCAiTWF5IGJlIGZvbGxvd2VkIGJ5IE0gZm9yIE1pQiwgRyBmb3IgR2lCLCBUIGZvciBUaUIsIG9yIFMgZm9yIHNlY3RvcnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1MgorbXNnaWQgIlBsZWFzZSwgc3BlY2lmeSBzaXplLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWluaW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgzCisjLCBjLWZvcm1hdAorbXNnaWQgIk1heGltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5MAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NDgKK21zZ2lkICJTZWxlY3QgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTk0IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAyNAorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWU6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5OTUKK21zZ2lkICJUaGUgc2NyaXB0IGZpbGUgd2lsbCBiZSBhcHBsaWVkIHRvIGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwNCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNDYKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2NSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDA2IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2NworIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDA4IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2OQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAyNQorbXNnaWQgIlRoZSBjdXJyZW50IGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUgd2lsbCBiZSBkdW1wZWQgdG8gdGhlIGZpbGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0OTEKK21zZ2lkICJGYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDM5Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZGlzayBsYXlvdXQgaW50byBzY3JpcHQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA1MworbXNnaWQgIkRpc2sgbGF5b3V0IHN1Y2Nlc3NmdWxseSBkdW1wZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA1NiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIHNjcmlwdCAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwOTIKK21zZ2lkICJTZWxlY3QgbGFiZWwgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwOTUgZGlzay11dGlscy9mZGlzay5jOjEwMTcKK21zZ2lkICJEZXZpY2UgZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMDEKK21zZ2lkICJTZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBsYWJlbCBvciBwcmVzcyAnTCcgdG8gbG9hZCBzY3JpcHQgZmlsZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ2Cittc2dpZCAiVGhpcyBpcyBjZmRpc2ssIGEgY3Vyc2VzLWJhc2VkIGRpc2sgcGFydGl0aW9uaW5nIHByb2dyYW0uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE0NworbXNnaWQgIkl0IGxldHMgeW91IGNyZWF0ZSwgZGVsZXRlLCBhbmQgbW9kaWZ5IHBhcnRpdGlvbnMgb24gYSBibG9jayBkZXZpY2UuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE0OQorbXNnaWQgIkNvbW1hbmQgICAgICBNZWFuaW5nIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MAorbXNnaWQgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MQorbXNnaWQgIiAgYiAgICAgICAgICBUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUyCittc2dpZCAiICBkICAgICAgICAgIERlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUzCittc2dpZCAiICBoICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NAorbXNnaWQgIiAgbiAgICAgICAgICBDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU1Cittc2dpZCAiICBxICAgICAgICAgIFF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NgorbXNnaWQgIiAgcyAgICAgICAgICBGaXggcGFydGl0aW9ucyBvcmRlciAob25seSB3aGVuIGluIGRpc2FycmF5KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTcKK21zZ2lkICIgIHQgICAgICAgICAgQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTgKK21zZ2lkICIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTkKK21zZ2lkICIiCisiICBXICAgICAgICAgIFdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh5b3UgbXVzdCBlbnRlciB1cHBlcmNhc2UgVyk7IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MAorbXNnaWQgIiIKKyIgICAgICAgICAgICAgICBzaW5jZSB0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSBvbiB0aGUgZGlzaywgeW91IG11c3QgZWl0aGVyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MQorbXNnaWQgIiAgICAgICAgICAgICAgIGNvbmZpcm0gb3IgZGVueSB0aGUgd3JpdGUgYnkgZW50ZXJpbmcgJ3llcycgb3IgJ25vJyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjIKK21zZ2lkICIgIHggICAgICAgICAgRGlzcGxheS9oaWRlIGV4dHJhIGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MworbXNnaWQgIlVwIEFycm93ICAgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgcGFydGl0aW9uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2NAorbXNnaWQgIkRvd24gQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBwYXJ0aXRpb24iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY1Cittc2dpZCAiTGVmdCBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBtZW51IGl0ZW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY2Cittc2dpZCAiUmlnaHQgQXJyb3cgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IG1lbnUgaXRlbSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjgKK21zZ2lkICJOb3RlOiBBbGwgb2YgdGhlIGNvbW1hbmRzIGNhbiBiZSBlbnRlcmVkIHdpdGggZWl0aGVyIHVwcGVyIG9yIGxvd2VyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2OQorbXNnaWQgImNhc2UgbGV0dGVycyAoZXhjZXB0IGZvciBXcml0ZSkuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3MQorbXNnaWQgIlVzZSBsc2Jsayg4KSBvciBwYXJ0eCg4KSB0byBzZWUgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBkZXZpY2UuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3OCBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzcKK21zZ2lkICJQcmVzcyBhIGtleSB0byBjb250aW51ZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjYwCittc2dpZCAiQ291bGQgbm90IHRvZ2dsZSB0aGUgZmxhZy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjcyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzMworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGhhcyBiZWVuIGRlbGV0ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI5MworbXNnaWQgIlBhcnRpdGlvbiBzaXplOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM1MyBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NjYgZGlzay11dGlscy9mZGlzay5jOjk5MQorIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTcwCittc2dpZCAiRGV2aWNlIGlzIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM1OAorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjAKK21zZ2lkICJUeXBlIFwieWVzXCIgb3IgXCJub1wiLCBvciBwcmVzcyBFU0MgdG8gbGVhdmUgdGhpcyBkaWFsb2cuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM2NSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOSBzeXMtdXRpbHMvbHNjcHUuYzoxNTQwCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTUwCittc2dpZCAieWVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM2NgorbXNnaWQgIkRpZCBub3Qgd3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2suIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3MQorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3NCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzgKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM5NyBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NjgKK21zZ2lkICJOb3RlIHRoYXQgcGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyIG5vdy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJEZXZpY2UgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZTsgaXQgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgIgorImNvbW1hbmQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0NQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBuZXcgZGlza2xhYmVsIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ1MworbXNnaWQgImZhaWxlZCB0byByZWFkIHBhcnRpdGlvbnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDkgZGlzay11dGlscy9mZGlzay5jOjczNiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTAKK21zZ2lkICJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgYSBkaXNrIHBhcnRpdGlvbiB0YWJsZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NTIKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU1NQorbXNnaWQgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgc3RhcnQgd2l0aCB6ZXJvZWQgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTk0IGRpc2stdXRpbHMvZmRpc2suYzo4ODIgZGlzay11dGlscy9zZmRpc2suYzoyMDc3CisjOiBtaXNjLXV0aWxzL2NhbC5jOjM5MCBzeXMtdXRpbHMvZG1lc2cuYzoxMzMzIHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNAorbXNnaWQgInVuc3VwcG9ydGVkIGNvbG9yIG1vZGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjEyIGRpc2stdXRpbHMvZmRpc2suYzo4MTggZGlzay11dGlscy9zZmRpc2suYzoyMjMKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxOAorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCB0byBmb3JnZXQgYWJvdXQgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjYxCittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcm1hdHRpbmcgLi4uICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NjggZGlzay11dGlscy9mZGZvcm1hdC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJkb25lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlZlcmlmeWluZyAuLi4gIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMDgKK21zZ2lkICJSZWFkOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJQcm9ibGVtIHJlYWRpbmcgdHJhY2svaGVhZCAldS8ldSwgZXhwZWN0ZWQgJWQsIHJlYWQgJWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJiYWQgZGF0YSBpbiB0cmFjay9oZWFkICV1LyV1XG4iCisiQ29udGludWluZyAuLi4gIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTgyCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjExNyBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1NiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg0CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDgKK21zZ2lkICJEbyBhIGxvdy1sZXZlbCBmb3JtYXR0aW5nIG9mIGEgZmxvcHB5IGRpc2suXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MQorbXNnaWQgIiAtZiwgLS1mcm9tIDxOPiAgICBzdGFydCBhdCB0aGUgdHJhY2sgTiAoZGVmYXVsdCAwKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTIKK21zZ2lkICIgLXQsIC0tdG8gPE4+ICAgICAgc3RvcCBhdCB0aGUgdHJhY2sgTlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTMKK21zZ2lkICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIHRyeSB0byByZXBhaXIgdHJhY2tzIGZhaWxlZCBkdXJpbmdcbiIKKyIgICAgICAgICAgICAgICAgICAgICB0aGUgdmVyaWZpY2F0aW9uIChtYXggTiByZXRyaWVzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTUKK21zZ2lkICIgLW4sIC0tbm8tdmVyaWZ5ICAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIGZyb20iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5OAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSB0byIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjAxCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHJlcGFpciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjIxIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTEKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODUgZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMzOAorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc0OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzg1CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTYgZGlzay11dGlscy9ta3N3YXAuYzoyNDEgZGlzay11dGlscy9wYXJ0eC5jOjkzMworIzogbG9naW4tdXRpbHMvbGFzdC5jOjY4NiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzOSBtaXNjLXV0aWxzL25hbWVpLmM6MTM1CisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjYzIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg2IHN5cy11dGlscy9kbWVzZy5jOjUyNAorIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjE5OCBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzEgc3lzLXV0aWxzL2ZzdHJpbS5jOjc3CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTE5IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjkzCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMzMgdGVybS11dGlscy9tZXNnLmM6MTI5IHRleHQtdXRpbHMvbW9yZS5jOjUwNAorIzogdGV4dC11dGlscy90YWlsZi5jOjEwMyB0ZXh0LXV0aWxzL3RhaWxmLmM6MjgwCisjLCBjLWZvcm1hdAorbXNnaWQgInN0YXQgb2YgJXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjQgZGlzay11dGlscy9wYXJ0eC5jOjk5MSBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ4NQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODggc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI5Cittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMtc2lkZWQsICVkIHRyYWNrcywgJWQgc2VjL3RyYWNrLiBUb3RhbCBjYXBhY2l0eSAlZCBrQi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMyCittc2dpZCAiRG91YmxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzIKK21zZ2lkICJTaW5nbGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzOQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQxCittc2dpZCAidXNlciBkZWZpbmVkIGVuZCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQzCittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIHVzZXIgZGVmaW5lZCBlbmQgdHJhY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI1MSBtaXNjLXV0aWxzL2xvZ2dlci5jOjk4NworbXNnaWQgImNsb3NlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTUgZGlzay11dGlscy9mZGlzay5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRG8geW91IHJlYWxseSB3YW50IHRvIHF1aXQ/ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdCAoZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIGRlZmF1bHQgcmVzcG9uc2UgJWMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxNzYgZGlzay11dGlscy9mZGlzay5jOjI1MCBkaXNrLXV0aWxzL2ZkaXNrLmM6MzI1CisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTE4OSBsaWJmZGlzay9zcmMvZ3B0LmM6MjI3NworbXNnaWQgIlZhbHVlIG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwOCBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIxNyBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+LCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYyk6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjIzIGRpc2stdXRpbHMvZmRpc2suYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4pOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjM5MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NworbXNnaWQgIiBbWV1lcy9bTl1vOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQzMworbXNnaWQgIlBhcnRpdGlvbiB0eXBlICh0eXBlIEwgdG8gbGlzdCBhbGwgdHlwZXMpOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQzNAorbXNnaWQgIkhleCBjb2RlICh0eXBlIEwgdG8gbGlzdCBhbGwgY29kZXMpOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjUzNgorbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgc2V0IChERVBSRUNBVEVEISkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjUzNworbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgbm90IHNldCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTU4IGRpc2stdXRpbHMvZmRpc2suYzo1OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBleGlzdCB5ZXQhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NjMgZGlzay11dGlscy9mZGlzay5jOjU3MiBsaWJmZGlzay9zcmMvYXNrLmM6OTk1Cittc2dpZCAiVW5rbm93biIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJyVzJyB0byAnJXMnLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIlR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQ6ICVzLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiUxNXM6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzOiBvZmZzZXQgPSAlPFBSSXU2ND4sIHNpemUgPSAlenUgYnl0ZXMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2NzcKK21zZ2lkICJjYW5ub3Qgc2VlayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjgyCittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY5NSBsaWJmZGlzay9zcmMvYnNkLmM6MjU5IGxpYmZkaXNrL3NyYy9kb3MuYzo5MzMKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEwCittc2dpZCAiRmlyc3Qgc2VjdG9yIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICAgIGNoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyIgJTEkcyBbb3B0aW9uc10gLWwgWzxkaXNrPl0gbGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzM5Cittc2dpZCAiIC1iLCAtLXNlY3Rvci1zaXplIDxzaXplPiAgICAgIHBoeXNpY2FsIGFuZCBsb2dpY2FsIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MAorbXNnaWQgIiIKKyIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAgZG9uJ3QgZXJhc2UgYm9vdGJpdHMgd2hlbiBjcmVhdGluZyBhIG5ldyAiCisibGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQxCittc2dpZCAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2RlPl0gIG1vZGUgaXMgJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MgorbXNnaWQgIiIKKyIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0NQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHBhcnRpdGlvbnMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ2Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0NworbXNnaWQgIiIKKyIgLXQsIC0tdHlwZSA8dHlwZT4gICAgICAgICAgICAgcmVjb2duaXplIHNwZWNpZmllZCBwYXJ0aXRpb24gdGFibGUgdHlwZSAiCisib25seVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDgKK21zZ2lkICIiCisiIC11LCAtLXVuaXRzWz08dW5pdD5dICAgICAgICAgIGRpc3BsYXkgdW5pdHM6ICdjeWxpbmRlcnMnIG9yICIKKyInc2VjdG9ycycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0OQorbXNnaWQgIiIKKyIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgZGlzcGxheSBkZXZpY2Ugc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzICIKKyJbREVQUkVDQVRFRF1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzUwCittc2dpZCAiIgorIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuICIKKyJyZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzUxCittc2dpZCAiIgorIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzUyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MworbXNnaWQgIiIKKyIgLVcsIC0td2lwZS1wYXJ0aXRpb25zIDxtb2RlPiAgd2lwZSBzaWduYXR1cmVzIGZyb20gbmV3IHBhcnRpdGlvbnMgKGF1dG8sICIKKyJhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1NQorbXNnaWQgIiAtQywgLS1jeWxpbmRlcnMgPG51bWJlcj4gICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1NgorbXNnaWQgIiAtSCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgaGVhZHNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU3Cittc2dpZCAiIgorIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI4Cittc2dpZCAiaW52YWxpZCBzZWN0b3Igc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODQwCittc2dpZCAiaW52YWxpZCBjeWxpbmRlcnMgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg1MgorbXNnaWQgIm5vdCBmb3VuZCBET1MgbGFiZWwgZHJpdmVyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb21wYXRpYmlsaXR5IG1vZGUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODY3Cittc2dpZCAiaW52YWxpZCBoZWFkcyBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODczCittc2dpZCAiaW52YWxpZCBzZWN0b3JzIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlza2xhYmVsOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTE2IGRpc2stdXRpbHMvZmRpc2suYzo5MjEgZGlzay11dGlscy9zZmRpc2suYzoyMDQxCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDYKK21zZ2lkICJ1bnN1cHBvcnRlZCB3aXBlIG1vZGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkzNAorbXNnaWQgIiIKKyJUaGUgZGV2aWNlIHByb3BlcnRpZXMgKHNlY3RvciBzaXplIGFuZCBnZW9tZXRyeSkgc2hvdWxkIGJlIHVzZWQgd2l0aCBvbmUgIgorInNwZWNpZmllZCBkZXZpY2Ugb25seS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk4MgorIywgYy1mb3JtYXQKK21zZ2lkICJXZWxjb21lIHRvIGZkaXNrICglcykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5ODQgZGlzay11dGlscy9zZmRpc2suYzoxNTg4Cittc2dpZCAiIgorIkNoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS5cbiIKKyJCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAwMSBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICVzIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDEwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU0MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0ODQKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyMgorbXNnaWQgIlRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMTMgZGlzay11dGlscy9zZmRpc2suYzoxNjI1Cittc2dpZCAiIgorIkl0IGlzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSwgaW4gb3JkZXIgdG8gIgorImF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDIyCittc2dpZCAiIgorIkEgaHlicmlkIEdQVCB3YXMgZGV0ZWN0ZWQuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIGh5YnJpZCBNQlIgbWFudWFsbHkgKGV4cGVydCAiCisiY29tbWFuZCAnTScpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo1NAorIywgYy1mb3JtYXQKK21zZ2lkICJHZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycy90cmFjaywgJWxsdSBjeWxpbmRlcnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NTkgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuaXRzOiAlcyBvZiAlZCAqICVsZCA9ICVsZCBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2NSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3MgorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbm1lbnQgb2Zmc2V0OiAlbHUgYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHR5cGU6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTA5IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxOQorIzogZGlzay11dGlscy9mc2NrLmM6MTI0NAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBpdGVyYXRvciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMTUgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI1Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxNTYgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjQ5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBsaW5lIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE4MworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTkyCittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTUgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDAKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTEyIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU0IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTEwCittc2dpZCAiU3RhcnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE2IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAxCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxMyBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NSBsaWJmZGlzay9zcmMvc3VuLmM6MTExMQorbXNnaWQgIkVuZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTcgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDIKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE0IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU2IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTEyCittc2dpZCAiU2VjdG9ycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTkgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDQKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE1IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU4IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE0Cittc2dpZCAiU2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5wYXJ0aXRpb25lZCBzcGFjZSAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC1vKTpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk1Cittc2dpZCAiR2VuZXJpYyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NgorbXNnaWQgImRlbGV0ZSBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NworbXNnaWQgImxpc3QgZnJlZSB1bnBhcnRpdGlvbmVkIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk4Cittc2dpZCAibGlzdCBrbm93biBwYXJ0aXRpb24gdHlwZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTkKK21zZ2lkICJhZGQgYSBuZXcgcGFydGl0aW9uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMAorbXNnaWQgInByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAxCittc2dpZCAiY2hhbmdlIGEgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAyCittc2dpZCAidmVyaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzCittc2dpZCAicHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNgorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZGlza2xhYmVsIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDcKK21zZ2lkICJmaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDkKK21zZ2lkICJNaXNjIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMAorbXNnaWQgInByaW50IHRoaXMgbWVudSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTEKK21zZ2lkICJjaGFuZ2UgZGlzcGxheS9lbnRyeSB1bml0cyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTIKK21zZ2lkICJleHRyYSBmdW5jdGlvbmFsaXR5IChleHBlcnRzIG9ubHkpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNAorbXNnaWQgIlNjcmlwdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTUKK21zZ2lkICJsb2FkIGRpc2sgbGF5b3V0IGZyb20gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNgorbXNnaWQgImR1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOAorbXNnaWQgIlNhdmUgJiBFeGl0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOQorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIwCittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjEKK21zZ2lkICJxdWl0IHdpdGhvdXQgc2F2aW5nIGNoYW5nZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIyCittc2dpZCAicmV0dXJuIHRvIG1haW4gbWVudSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjQKK21zZ2lkICJyZXR1cm4gZnJvbSBCU0QgdG8gRE9TIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNQorbXNnaWQgIkNyZWF0ZSBhIG5ldyBsYWJlbCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzYKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgR1BUIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzcKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU0dJIChJUklYKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM4Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFN1biBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQzCittc2dpZCAiY3JlYXRlIGFuIElSSVggKFNHSSkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1MgorbXNnaWQgIkdlb21ldHJ5IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1MworbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NAorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgaGVhZHMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU1Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NQorbXNnaWQgIkdQVCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjUKK21zZ2lkICJjaGFuZ2UgZGlzayBHVUlEIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NgorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjcKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY4Cittc2dpZCAiY2hhbmdlIHRhYmxlIGxlbmd0aCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjkKK21zZ2lkICJlbnRlciBwcm90ZWN0aXZlL2h5YnJpZCBNQlIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTcyCittc2dpZCAidG9nZ2xlIHRoZSBsZWdhY3kgQklPUyBib290YWJsZSBmbGFnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MworbXNnaWQgInRvZ2dsZSB0aGUgbm8gYmxvY2sgSU8gcHJvdG9jb2wgZmxhZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzQKK21zZ2lkICJ0b2dnbGUgdGhlIHJlcXVpcmVkIHBhcnRpdGlvbiBmbGFnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NQorbXNnaWQgInRvZ2dsZSB0aGUgR1VJRCBzcGVjaWZpYyBiaXRzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NQorbXNnaWQgIlN1biIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODYKK21zZ2lkICJ0b2dnbGUgdGhlIHJlYWQtb25seSBmbGFnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NworbXNnaWQgInRvZ2dsZSB0aGUgbW91bnRhYmxlIGZsYWciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MAorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgZXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkxCittc2dpZCAiY2hhbmdlIGludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MgorbXNnaWQgImNoYW5nZSByb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTMKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDIKK21zZ2lkICJTR0kiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjAzCittc2dpZCAic2VsZWN0IGJvb3RhYmxlIHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDQKK21zZ2lkICJlZGl0IGJvb3RmaWxlIGVudHJ5IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNQorbXNnaWQgInNlbGVjdCBzZ2kgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA2Cittc2dpZCAiY3JlYXRlIFNHSSBpbmZvIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNQorbXNnaWQgIkRPUyAoTUJSKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTYKK21zZ2lkICJ0b2dnbGUgYSBib290YWJsZSBmbGFnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNworbXNnaWQgImVkaXQgbmVzdGVkIEJTRCBkaXNrbGFiZWwiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE4Cittc2dpZCAidG9nZ2xlIHRoZSBkb3MgY29tcGF0aWJpbGl0eSBmbGFnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMAorbXNnaWQgIm1vdmUgYmVnaW5uaW5nIG9mIGRhdGEgaW4gYSBwYXJ0aXRpb24iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIxCittc2dpZCAiY2hhbmdlIHRoZSBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIzCittc2dpZCAicmV0dXJuIGZyb20gcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIHRvIEdQVCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzMKK21zZ2lkICJCU0QiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM0Cittc2dpZCAiZWRpdCBkcml2ZSBkYXRhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNQorbXNnaWQgImluc3RhbGwgYm9vdHN0cmFwIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNgorbXNnaWQgInNob3cgY29tcGxldGUgZGlza2xhYmVsIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNworbXNnaWQgImxpbmsgQlNEIHBhcnRpdGlvbiB0byBub24tQlNEIHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHAgKGV4cGVydCBjb21tYW5kcyk6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzcxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI2NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscDpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSdyZSBlZGl0aW5nIG5lc3RlZCAnJXMnIHBhcnRpdGlvbiB0YWJsZSwgcHJpbWFyeSBwYXJ0aXRpb24gdGFibGUgaXMgJyVzJy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDIxCittc2dpZCAiRXhwZXJ0IGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDIzCittc2dpZCAiQ29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWM6IHVua25vd24gY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NTggZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg1Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NzEKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IGFwcGxpZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ5NworbXNnaWQgIkZhaWxlZCB0byB0cmFuc2Zvcm0gZGlzayBsYXlvdXQgaW50byBzY3JpcHQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTExCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBzYXZlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTM0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ3NgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTM3IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ3OQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgc2lnbmF0dXJlPyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzUKK21zZ2lkICJmYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYxMworbXNnaWQgIkZhaWxlZCB0byBmaXggcGFydGl0aW9ucyBvcmRlci4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjE1Cittc2dpZCAiUGFydGl0aW9ucyBvcmRlciBmaXhlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjAKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIGN5bGluZGVycyAoREVQUkVDQVRFRCEpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjIKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIHNlY3RvcnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY3MiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4NDIKK21zZ2lkICJMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjcwOQorbXNnaWQgIk5ldyBtYXhpbXVtIGVudHJpZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzE5Cittc2dpZCAiRW50ZXJpbmcgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIGRpc2tsYWJlbC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzM1Cittc2dpZCAiTmV3IFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NTAKK21zZ2lkICJOZXcgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4MTMKK21zZ2lkICJFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTk4Cittc2dpZCAiTnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAyCittc2dpZCAiTnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMDYKK21zZ2lkICJOdW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbW91bnRlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc0CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTgxIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzUKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNTMgZGlzay11dGlscy9zZmRpc2suYzoyOTcgbGliZmRpc2svc3JjL2JzZC5jOjY0NgorIzogbGliL3BhdGguYzoxMTAgbGliL3BhdGguYzoxMzEgbGliL3BhdGguYzoxNTIgbGliL3BhdGguYzoyMDAKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMTMgbG9naW4tdXRpbHMvbGFzdC5jOjI1MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NjY0CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzOSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MTcgdGVybS11dGlscy9zZXR0ZXJtLmM6Nzc0CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzggdGVybS11dGlscy9zZXR0ZXJtLmM6Nzg1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMyBsaWIvcGF0aC5jOjEzMyBsaWIvcGF0aC5jOjE1NAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJzZSBlcnJvcjogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM3MworIywgYy1mb3JtYXQKK21zZ2lkICJMb2NraW5nIGRpc2sgYnkgJXMgLi4uICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiKHdhaXRpbmcpICIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlc2UgYXJlIGZvbGxvd3VwcyB0byAiTG9ja2luZyBkaXNrLi4uIi4KKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5NAorbXNnaWQgInN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTQKK21zZ2lkICJmYWlsZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDEyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVubG9ja2luZyAlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGRlc2NyaXB0aW9uIGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NzQgbWlzYy11dGlscy9maW5kbW50LmM6NzgyIG1pc2MtdXRpbHMvbHNibGsuYzo0MzMKKyM6IHN5cy11dGlscy9tb3VudC5jOjEwMiBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjE5IHN5cy11dGlscy91bW91bnQuYzo0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCAtLSBpZ25vcmVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjUwNiBkaXNrLXV0aWxzL2ZzY2suYzo1MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSBmc3RhYiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2NzkgbG9naW4tdXRpbHMvbG9naW4uYzo5NjggbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMzQKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMDQgc3lzLXV0aWxzL2Zsb2NrLmM6MzQ1IHN5cy11dGlscy9uc2VudGVyLmM6MTUzCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzE2IHN5cy11dGlscy91bnNoYXJlLmM6MjE5IHN5cy11dGlscy91bnNoYXJlLmM6NDIwCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc4MAorbXNnaWQgImZvcmsgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0ZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzc0Cittc2dpZCAid2FpdDogbm8gbW9yZSBjaGlsZCBwcm9jZXNzPyE/IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc3NyBzeXMtdXRpbHMvZmxvY2suYzozNjMgc3lzLXV0aWxzL3N3YXBvbi5jOjM0OAorIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MDQgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MjUKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZy4uLiAlcyBmb3IgZGV2aWNlICVzIGV4aXRlZCB3aXRoIHNpZ25hbCAlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzOiBzdGF0dXMgaXMgJXgsIHNob3VsZCBuZXZlciBoYXBwZW4uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjg0NworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5pc2hlZCB3aXRoICVzIChleGl0IHN0YXR1cyAlZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgJWQgKCVtKSB3aGlsZSBleGVjdXRpbmcgZnNjay4lcyBmb3IgJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6OTkxCittc2dpZCAiIgorIkVpdGhlciBhbGwgb3Igbm9uZSBvZiB0aGUgZmlsZXN5c3RlbSB0eXBlcyBwYXNzZWQgdG8gLXQgbXVzdCBiZSBwcmVmaXhlZFxuIgorIndpdGggJ25vJyBvciAnIScuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzOiBza2lwcGluZyBiYWQgbGluZSBpbiAvZXRjL2ZzdGFiOiBiaW5kIG1vdW50IHdpdGggbm9uemVybyBmc2NrIHBhc3MgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIG5vbmV4aXN0ZW50IGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzOiBub25leGlzdGVudCBkZXZpY2UgKFwibm9mYWlsXCIgZnN0YWIgb3B0aW9uIG1heSBiZSB1c2VkIHRvIHNraXAgdGhpcyAiCisiZGV2aWNlKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIHVua25vd24gZmlsZXN5c3RlbSB0eXBlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hlY2sgJXM6IGZzY2suJXMgbm90IGZvdW5kIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNTkKK21zZ2lkICJDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS13YWl0aW5nLS0gKHBhc3MgJWQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM3NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC0tIFtmcy1vcHRpb25zXSBbPGZpbGVzeXN0ZW0+IC4uLl1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzc5Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4MgorbXNnaWQgIiAtQSAgICAgICAgIGNoZWNrIGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODMKK21zZ2lkICIgLUMgWzxmZD5dICBkaXNwbGF5IHByb2dyZXNzIGJhcjsgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NAorbXNnaWQgIiAtbCAgICAgICAgIGxvY2sgdGhlIGRldmljZSB0byBndWFyYW50ZWUgZXhjbHVzaXZlIGFjY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODUKK21zZ2lkICIgLU0gICAgICAgICBkbyBub3QgY2hlY2sgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODYKK21zZ2lkICIgLU4gICAgICAgICBkbyBub3QgZXhlY3V0ZSwganVzdCBzaG93IHdoYXQgd291bGQgYmUgZG9uZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODcKK21zZ2lkICIgLVAgICAgICAgICBjaGVjayBmaWxlc3lzdGVtcyBpbiBwYXJhbGxlbCwgaW5jbHVkaW5nIHJvb3RcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg4Cittc2dpZCAiIC1SICAgICAgICAgc2tpcCByb290IGZpbGVzeXN0ZW07IHVzZWZ1bCBvbmx5IHdpdGggJy1BJ1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODkKK21zZ2lkICIiCisiIC1yIFs8ZmQ+XSAgcmVwb3J0IHN0YXRpc3RpY3MgZm9yIGVhY2ggZGV2aWNlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MQorbXNnaWQgIiAtcyAgICAgICAgIHNlcmlhbGl6ZSB0aGUgY2hlY2tpbmcgb3BlcmF0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTIKK21zZ2lkICIgLVQgICAgICAgICBkbyBub3Qgc2hvdyB0aGUgdGl0bGUgb24gc3RhcnR1cFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTMKK21zZ2lkICIiCisiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgPHR5cGU+IGlzIGFsbG93ZWQgdG8gYmUgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTUKK21zZ2lkICIgLVYgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTYKK21zZ2lkICIgLT8gICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTkKK21zZ2lkICJTZWUgdGhlIHNwZWNpZmljIGZzY2suKiBjb21tYW5kcyBmb3IgYXZhaWxhYmxlIGZzLW9wdGlvbnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MzgKK21zZ2lkICJ0b28gbWFueSBkZXZpY2VzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NTAKK21zZ2lkICJJcyAvcHJvYyBtb3VudGVkPyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDU4CisjLCBjLWZvcm1hdAorbXNnaWQgIm11c3QgYmUgcm9vdCB0byBzY2FuIGZvciBtYXRjaGluZyBmaWxlc3lzdGVtczogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBmaW5kIG1hdGNoaW5nIGZpbGVzeXN0ZW06ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NzAgZGlzay11dGlscy9mc2NrLmM6MTU2NSBtaXNjLXV0aWxzL2tpbGwuYzozNjMKKyM6IHN5cy11dGlscy9lamVjdC5jOjI3OQorbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTI1IGRpc2stdXRpbHMvZnNjay5jOjE1MjgKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtcjogJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTYxOAorbXNnaWQgInRoZSAtbCBvcHRpb24gY2FuIGJlIHVzZWQgd2l0aCBvbmUgZGV2aWNlIG9ubHkgLS0gaWdub3JlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE2Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIGNvbXByZXNzZWQgUk9NIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOQorbXNnaWQgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjAKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjEKK21zZ2lkICIgLXkgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIyCittc2dpZCAiIC1iLCAtLWJsb2Nrc2l6ZSA8c2l6ZT4gICB1c2UgdGhpcyBibG9ja3NpemUsIGRlZmF1bHRzIHRvIHBhZ2Ugc2l6ZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjMKK21zZ2lkICIiCisiICAgICAtLWV4dHJhY3RbPTxkaXI+XSAgICB0ZXN0IHVuY29tcHJlc3Npb24sIG9wdGlvbmFsbHkgZXh0cmFjdCBpbnRvIDxkaXI+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBmYWlsZWQ6IHVuYWJsZSB0byBkZXRlcm1pbmUgZGV2aWNlIHNpemU6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGEgYmxvY2sgZGV2aWNlIG9yIGZpbGU6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzAgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNgorbXNnaWQgImZpbGUgbGVuZ3RoIHRvbyBzaG9ydCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzMKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNDkgbGliZmRpc2svc3JjL2JzZC5jOjcxOCBsaWJmZGlzay9zcmMvYnNkLmM6ODkwCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjA4IGxvZ2luLXV0aWxzL2xhc3QuYzoyNDIgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICJzZWVrIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODcKK21zZ2lkICJzdXBlcmJsb2NrIG1hZ2ljIG5vdCBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImNyYW1mcyBlbmRpYW5uZXNzIGlzICVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MQorbXNnaWQgImJpZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkxCittc2dpZCAibGl0dGxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTUKK21zZ2lkICJ1bnN1cHBvcnRlZCBmaWxlc3lzdGVtIGZlYXR1cmVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VwZXJibG9jayBzaXplICglZCkgdG9vIHNtYWxsIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDQKK21zZ2lkICJ6ZXJvIGZpbGUgY291bnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwOAorbXNnaWQgImZpbGUgZXh0ZW5kcyBwYXN0IGVuZCBvZiBmaWxlc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMTAKK21zZ2lkICJvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjE5Cittc2dpZCAidW5hYmxlIHRvIHRlc3QgQ1JDOiBvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjcyCittc2dpZCAiY3JjIGVycm9yIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTU0Cittc2dpZCAic2VlayBmYWlsZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwNgorbXNnaWQgInJlYWQgcm9tZnMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMzgKK21zZ2lkICJyb290IGlub2RlIGlzIG5vdCBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM0MgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgcm9vdCBvZmZzZXQgKCVsdSkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2MAorbXNnaWQgImRhdGEgYmxvY2sgdG9vIGxhcmdlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVjb21wcmVzc2lvbiBlcnJvcjogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgIGhvbGUgYXQgJWx1ICglenUpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5NyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgdW5jb21wcmVzc2luZyBibG9jayBhdCAlbHUgdG8gJWx1ICglbHUpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmxvY2sgKCVsZCkgYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwOAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tc2l6ZSAoJWxkIHZzICVsZCkgYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxMyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE2CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwNCBtaXNjLXV0aWxzL3V1aWRkLmM6Mzc1IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODIKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM1IHN5cy11dGlscy9zZXRwcml2LmM6NTU4IHN5cy11dGlscy9zd2Fwb24uYzozODkKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZDogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyNAorIywgYy1mb3JtYXQKK21zZ2lkICJsY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI4CisjLCBjLWZvcm1hdAorbXNnaWQgImNob3duIGZhaWxlZDogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQzMworIywgYy1mb3JtYXQKK21zZ2lkICJ1dGltZSBmYWlsZWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ2MAorIywgYy1mb3JtYXQKK21zZ2lkICJta2RpciBmYWlsZWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NzYKK21zZ2lkICJmaWxlbmFtZSBsZW5ndGggaXMgemVybyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc4Cittc2dpZCAiYmFkIGZpbGVuYW1lIGxlbmd0aCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDg0Cittc2dpZCAiYmFkIGlub2RlIG9mZnNldCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDk5Cittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUwMgorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gc2l6ZSBhbmQgbm9uLXplcm8gb2Zmc2V0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzEKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIG9mZnNldCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTMzCittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBzaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2l6ZSBlcnJvciBpbiBzeW1saW5rOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTU2CisjLCBjLWZvcm1hdAorbXNnaWQgInN5bWxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTY5CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZmlsZSBoYXMgbm9uLXplcm8gb2Zmc2V0OiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgImZpZm8gaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg4CisjLCBjLWZvcm1hdAorbXNnaWQgImJvZ3VzIG1vZGU6ICVzICglbykiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5NworIywgYy1mb3JtYXQKK21zZ2lkICJta25vZCBmYWlsZWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGRhdGEgc3RhcnQgKCVsdSkgPCBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikgKyBzdGFydCAoJXp1KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIGVuZCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzNworbXNnaWQgImludmFsaWQgZmlsZSBkYXRhIG9mZnNldCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Njg0IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MjYKK21zZ2lkICJpbnZhbGlkIGJsb2Nrc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBPS1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NAorbXNnaWQgIkNoZWNrIHRoZSBjb25zaXN0ZW5jeSBvZiBhIE1pbml4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg2Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgbGlzdCBhbGwgZmlsZW5hbWVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg3Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgYXV0b21hdGljIHJlcGFpclxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OAorbXNnaWQgIiAtciwgLS1yZXBhaXIgICAgIGludGVyYWN0aXZlIHJlcGFpclxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGJlIHZlcmJvc2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTAKK21zZ2lkICIgLXMsIC0tc3VwZXIgICAgICBvdXRwdXQgc3VwZXItYmxvY2sgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTEKK21zZ2lkICIgLW0sIC0tdW5jbGVhcmVkICBhY3RpdmF0ZSBtb2RlIG5vdCBjbGVhcmVkIHdhcm5pbmdzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkyCittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgZm9yY2UgY2hlY2tcbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogdGhlc2UgeWVzIG5vIHF1ZXN0aW9ucyB1c2VzIHJwbWF0Y2goKSwgYW5kIHNob3VsZCBiZQorIy4gKiB0cmFuc2xhdGVkLgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICh5L24pPyAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChuL3kpPyAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiblxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkLlx0ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODkKK21zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gY29udGludWUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNrIGFib3J0ZWQuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzE5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yIDwgRklSU1RaT05FIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzIyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yID49IFpPTkVTIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzI2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0NworbXNnaWQgIlJlbW92ZSBibG9jayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogdW5hYmxlIHRvIHNlZWsgdG8gYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkludGVybmFsIGVycm9yOiB0cnlpbmcgdG8gd3JpdGUgYmFkIGJsb2NrXG4iCisiV3JpdGUgcmVxdWVzdCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mzg3Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIldyaXRlIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTA1Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfc3VwZXJfYmxvY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTA3Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyMAorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTIzCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyNgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTU4Cittc2dpZCAidW5hYmxlIHRvIGFsbG9jIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjEKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBzdXBlciBibG9jayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODMKK21zZ2lkICJiYWQgbWFnaWMgbnVtYmVyIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4NQorbXNnaWQgIk9ubHkgMWsgYmxvY2tzL3pvbmVzIHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODcKK21zZ2lkICJiYWQgc19uaW5vZGVzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4OQorbXNnaWQgImJhZCBzX2ltYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5MQorbXNnaWQgImJhZCBzX2ZpcnN0ZGF0YXpvbmUgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk0Cittc2dpZCAiYmFkIHNfem1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjEwCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgbWFwIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxMworbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgbWFwIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxNgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTkKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBjb3VudCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjIKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIGNvdW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyNgorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlIG1hcCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzAKK21zZ2lkICJVbmFibGUgdG8gcmVhZCB6b25lIG1hcCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzQKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgaW5vZGVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBibG9ja3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ZGF0YXpvbmU9JWpkICglamQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIk1heHNpemU9JXp1XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gc3RhdGU9JWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm5hbWVsZW49JXpkXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjY0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcxNAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlZCBtYXJrZWQgdW51c2VkLCBidXQgdXNlZCBmb3IgZmlsZSAnJXMnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjY3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcxNworbXNnaWQgIk1hcmsgaW4gdXNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY4OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpbGUgYCVzJyBoYXMgbW9kZSAlMDVvXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Njk2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBpbm9kZSBjb3VudCB0b28gYmlnLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc1NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NjMKK21zZ2lkICJyb290IGlub2RlIGlzbid0IGEgZGlyZWN0b3J5IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc3NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgaGFzIGJlZW4gdXNlZCBiZWZvcmUuIE5vdyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MDgKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1MgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA4Cittc2dpZCAiQ2xlYXIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzg3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayAlZCBpbiBmaWxlIGAlcycgaXMgbWFya2VkIG5vdCBpbiB1c2UuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MjAKK21zZ2lkICJDb3JyZWN0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk1OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkaXJlY3RvcnkgJyVzJyBjb250YWlucyBhIGJhZCBpbm9kZSBudW1iZXIgZm9yIGZpbGUgJyUuKnMnLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzNQorbXNnaWQgIiBSZW1vdmUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTc3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk4NiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwOTQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTExNworbXNnaWQgImludGVybmFsIGVycm9yIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwOTcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogc2l6ZSA8IDMyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IGludmFsaWQgaV96b25lLCB1c2UgLS1yZXBhaXIgdG8gZml4XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEzMgorbXNnaWQgInNlZWsgZmFpbGVkIGluIGJhZF96b25lIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5OAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbW9kZSBub3QgY2xlYXJlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA3CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBub3QgdXNlZCwgbWFya2VkIHVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSB1c2VkLCBtYXJrZWQgdW51c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTggZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxNAorbXNnaWQgIlNldCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTYyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IChtb2RlID0gJTA3byksIGlfbmxpbmtzPSVkLCBjb3VudGVkPSVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjEKK21zZ2lkICJTZXQgaV9ubGlua3MgdG8gY291bnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBtYXJrZWQgaW4gdXNlLCBubyBmaWxlIHVzZXMgaXQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIzNQorbXNnaWQgIlVubWFyayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTg0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MworIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbm90IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyOTEKK21zZ2lkICJiYWQgaW5vZGUgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjkzCittc2dpZCAiYmFkIHYyIGlub2RlIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTMzNworbXNnaWQgIm5lZWQgdGVybWluYWwgZm9yIGludGVyYWN0aXZlIHJlcGFpcnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBjbGVhbiwgbm8gY2hlY2suXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGb3JjaW5nIGZpbGVzeXN0ZW0gY2hlY2sgb24gJXMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1NworIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIG9uICVzIGlzIGRpcnR5LCBuZWVkcyBjaGVja2luZy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmxkIGlub2RlcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiU2bGQgem9uZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM5NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZkIHJlZ3VsYXIgZmlsZXNcbiIKKyIlNmQgZGlyZWN0b3JpZXNcbiIKKyIlNmQgY2hhcmFjdGVyIGRldmljZSBmaWxlc1xuIgorIiU2ZCBibG9jayBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgbGlua3NcbiIKKyIlNmQgc3ltYm9saWMgbGlua3NcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmlsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDExCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiRklMRSBTWVNURU0gSEFTIEJFRU4gQ0hBTkdFRFxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDIzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgzMworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MzkgZGlzay11dGlscy9wYXJ0eC5jOjEwMzUgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTEyCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5OCBzeXMtdXRpbHMvZG1lc2cuYzo2NTkgc3lzLXV0aWxzL3dkY3RsLmM6MzQ2CisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0MTEgdGVybS11dGlscy9zY3JpcHQuYzoyNzIgdGVybS11dGlscy9zY3JpcHQuYzozNDkKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjQ4Cittc2dpZCAid3JpdGUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbWlnaHQgbm90IGJlIGFuIElTTyBmaWxlc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEzOQorIywgYy1mb3JtYXQKK21zZ2lkICJzZWVrIGVycm9yIG9uICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE0MgorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkIGVycm9yIG9uICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZWN0b3IgY291bnQ6ICVkLCBzZWN0b3Igc2l6ZTogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8aXNvOTY2MF9pbWFnZV9maWxlPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3NAorbXNnaWQgIlNob3cgdGhlIGxlbmd0aCBvZiBhbiBJU08tOTY2MCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3NworbXNnaWQgIiAtZCwgLS1kaXZpc29yPTxudW1iZXI+ICBkaXZpZGUgdGhlIGFtb3VudCBvZiBieXRlcyBieSA8bnVtYmVyPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3OAorbXNnaWQgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBzaG93IHNlY3RvciBjb3VudCBhbmQgc2l6ZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjIxMAorbXNnaWQgImludmFsaWQgZGl2aXNvciBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3NworbXNnaWQgIk1ha2UgYW4gU0NPIGJmcyBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLU4sIC0taW5vZGVzPU5VTSAgICBzcGVjaWZ5IGRlc2lyZWQgbnVtYmVyIG9mIGlub2Rlc1xuIgorIiAtViwgLS12bmFtZT1OQU1FICAgIHNwZWNpZnkgdm9sdW1lIG5hbWVcbiIKKyIgLUYsIC0tZm5hbWU9TkFNRSAgICBzcGVjaWZ5IGZpbGUgc3lzdGVtIG5hbWVcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorIiAtYyAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKKyIgLWwgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAtViBhcyB2ZXJzaW9uIG11c3QgYmUgb25seSBvcHRpb25cbiIKKyIgLWgsIC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNDQKK21zZ2lkICJpbnZhbGlkIG51bWJlciBvZiBpbm9kZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1MAorbXNnaWQgInZvbHVtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTcKK21zZ2lkICJmc25hbWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTkzCittc2dpZCAiaW52YWxpZCBibG9jay1jb3VudCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrcyBhcmd1bWVudCB0b28gbGFyZ2UsIG1heCBpcyAlbGx1IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMTkKK21zZ2lkICJ0b28gbWFueSBpbm9kZXMgLSBtYXggaXMgNTEyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSwgbmVlZCBhdCBsZWFzdCAlbGx1IGJsb2NrcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZTogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIlZvbHVtZTogPCUtNnM+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJGU25hbWU6IDwlLTZzPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tTaXplOiAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluIDEgYmxvY2spXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0OQorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gJWxsdSBibG9ja3MpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9ja3M6ICVsbHVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlIGVuZDogJWQsIERhdGEgZW5kOiAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTcKK21zZ2lkICJlcnJvciB3cml0aW5nIHN1cGVyYmxvY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI3OAorbXNnaWQgImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjgzCittc2dpZCAiZXJyb3Igd3JpdGluZyBpbm9kZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjg2Cittc2dpZCAic2VlayBlcnJvciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjkyCittc2dpZCAiZXJyb3Igd3JpdGluZyAuIGVudHJ5IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTYKK21zZ2lkICJlcnJvciB3cml0aW5nIC4uIGVudHJ5IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2xvc2luZyAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstdCA8dHlwZT5dIFtmcy1vcHRpb25zXSA8ZGV2aWNlPiBbPHNpemU+XVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ4Cittc2dpZCAiTWFrZSBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC10LCAtLXR5cGU9PHR5cGU+ICBmaWxlc3lzdGVtIHR5cGU7IHdoZW4gdW5zcGVjaWZpZWQsIGV4dDIgaXMgdXNlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgZnMtb3B0aW9ucyAgICAgcGFyYW1ldGVycyBmb3IgdGhlIHJlYWwgZmlsZXN5c3RlbSBidWlsZGVyXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8ZGV2aWNlPiAgICAgICBwYXRoIHRvIHRoZSBkZXZpY2UgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPHNpemU+ICAgICAgICAgbnVtYmVyIG9mIGJsb2NrcyB0byBiZSB1c2VkIG9uIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeWluZyAtViBtb3JlIHRoYW4gb25jZSB3aWxsIGNhdXNlIGEgZHJ5LXJ1blxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdDtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgLVYgYXMgLS12ZXJzaW9uIG11c3QgYmUgdGhlIG9ubHkgb3B0aW9uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1oLCAtLWhlbHAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6MTM5IGxpYi9leGVjX3NoZWxsLmM6NDkgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjMzCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2NTcgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTkyCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODAwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDQgc2NoZWR1dGlscy9jaHJ0LmM6NTU4CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjI2MCBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMzkgc3lzLXV0aWxzL2Zsb2NrLmM6MTIyCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQzMCBzeXMtdXRpbHMvcHJsaW1pdC5jOjY0NCBzeXMtdXRpbHMvcnRjd2FrZS5jOjU3NworIzogc3lzLXV0aWxzL3NldGFyY2guYzozMjQgc3lzLXV0aWxzL3NldGFyY2guYzo0MDMgc3lzLXV0aWxzL3NldHNpZC5jOjExNQorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM0MCBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNDIgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NjEKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTgxIHRleHQtdXRpbHMvcGcuYzoxMzc1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBleGVjdXRlICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVzYWdlOiAlcyBbLWhdIFstdl0gWy1iIGJsa3NpemVdIFstZSBlZGl0aW9uXSBbLU4gZW5kaWFuXSBbLWkgZmlsZV0gWy1uICIKKyJuYW1lXSBkaXJuYW1lIG91dGZpbGVcbiIKKyIgLWggICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyIgLXYgICAgICAgICBiZSB2ZXJib3NlXG4iCisiIC1FICAgICAgICAgbWFrZSBhbGwgd2FybmluZ3MgZXJyb3JzIChub24temVybyBleGl0IHN0YXR1cylcbiIKKyIgLWIgYmxrc2l6ZSB1c2UgdGhpcyBibG9ja3NpemUsIG11c3QgZXF1YWwgcGFnZSBzaXplXG4iCisiIC1lIGVkaXRpb24gc2V0IGVkaXRpb24gbnVtYmVyIChwYXJ0IG9mIGZzaWQpXG4iCisiIC1OIGVuZGlhbiAgc2V0IGNyYW1mcyBlbmRpYW5uZXNzIChiaWd8bGl0dGxlfGhvc3QpLCBkZWZhdWx0IGhvc3RcbiIKKyIgLWkgZmlsZSAgICBpbnNlcnQgYSBmaWxlIGltYWdlIGludG8gdGhlIGZpbGVzeXN0ZW0gKHJlcXVpcmVzID49IDIuNC4wKVxuIgorIiAtbiBuYW1lICAgIHNldCBuYW1lIG9mIGNyYW1mcyBmaWxlc3lzdGVtXG4iCisiIC1wICAgICAgICAgcGFkIGJ5ICVkIGJ5dGVzIGZvciBib290IGNvZGVcbiIKKyIgLXMgICAgICAgICBzb3J0IGRpcmVjdG9yeSBlbnRyaWVzIChvbGQgb3B0aW9uLCBpZ25vcmVkKVxuIgorIiAteiAgICAgICAgIG1ha2UgZXhwbGljaXQgaG9sZXMgKHJlcXVpcmVzID49IDIuMy4zOSlcbiIKKyIgZGlybmFtZSAgICByb290IG9mIHRoZSBmaWxlc3lzdGVtIHRvIGJlIGNvbXByZXNzZWRcbiIKKyIgb3V0ZmlsZSAgICBvdXRwdXQgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhZGxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzA4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NDQzCittc2dpZCAiZmlsZXN5c3RlbSB0b28gYmlnLiAgRXhpdGluZy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYwMgorIywgYy1mb3JtYXQKK21zZ2lkICJBSUVFRTogYmxvY2sgXCJjb21wcmVzc2VkXCIgdG8gPiAyKmJsb2NrbGVuZ3RoICglbGQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjbG9zZSBmaWxlICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MzIKK21zZ2lkICJpbnZhbGlkIGVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisid2FybmluZzogZ3Vlc3RpbWF0ZSBvZiByZXF1aXJlZCBzaXplICh1cHBlciBib3VuZCkgaXMgJWxsZE1CLCBidXQgbWF4aW11bSAiCisiaW1hZ2Ugc2l6ZSBpcyAldU1CLiAgV2UgbWlnaHQgZGllIHByZW1hdHVyZWx5LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODMwCittc2dpZCAiUk9NIGltYWdlIG1hcCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkluY2x1ZGluZzogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpcmVjdG9yeSBkYXRhOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkV2ZXJ5dGhpbmc6ICV6ZCBraWxvYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODYxCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cGVyIGJsb2NrOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNSQzogJXhcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODczCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UgYWxsb2NhdGVkIGZvciBST00gaW1hZ2UgKCVsbGQgYWxsb2NhdGVkLCAlenUgdXNlZCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3OQorIywgYy1mb3JtYXQKK21zZ2lkICJST00gaW1hZ2Ugd3JpdGUgZmFpbGVkICglemQgJXpkKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODgyCittc2dpZCAiUk9NIGltYWdlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZW5hbWVzIHRydW5jYXRlZCB0byAldSBieXRlcy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MworbXNnaWQgIndhcm5pbmc6IGZpbGVzIHdlcmUgc2tpcHBlZCBkdWUgdG8gZXJyb3JzLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODk1CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGUgc2l6ZXMgdHJ1bmNhdGVkIHRvICVsdU1CIChtaW51cyAxIGJ5dGUpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODk5CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHVpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwMgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBnaWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldBUk5JTkc6IGRldmljZSBudW1iZXJzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgVGhpcyBhbG1vc3QgY2VydGFpbmx5IG1lYW5zXG4iCisidGhhdCBzb21lIGRldmljZSBmaWxlcyB3aWxsIGJlIHdyb25nLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzcKK21zZ2lkICIgLTEgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOAorbXNnaWQgIiAtMiwgLXYgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAyXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM5Cittc2dpZCAiIC0zICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDAKK21zZ2lkICIgLW4sIC0tbmFtZWxlbmd0aCA8bnVtPiAgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQxCittc2dpZCAiIC1pLCAtLWlub2RlcyA8bnVtPiAgICAgIG51bWJlciBvZiBpbm9kZXMgZm9yIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQyCittc2dpZCAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIGNoZWNrIHRoZSBkZXZpY2UgZm9yIGJhZCBibG9ja3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDMKK21zZ2lkICIgLWwsIC0tYmFkYmxvY2tzIDxmaWxlPiAgbGlzdCBvZiBiYWQgYmxvY2tzIGZyb20gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayB0byBib290IGJsb2NrIGZhaWxlZCAgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGNsZWFyIGJvb3Qgc2VjdG9yIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMjEgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Mjk2CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzozNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBtYW55IGJhZCBibG9ja3MiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZW5vdWdoIGdvb2QgYmxvY2tzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRmlyc3QgZGF0YSBibG9jayBhdCAlamQsIHdoaWNoIGlzIHRvbyBmYXIgKG1heCAlZCkuXG4iCisiVHJ5IHNwZWNpZnlpbmcgZmV3ZXIgaW5vZGVzIGJ5IHBhc3NpbmcgLS1pbm9kZXMgPG51bT4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVsdSBibG9ja3NcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lc2l6ZT0lenVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk1heHNpemU9JXp1XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBkdXJpbmcgdGVzdGluZyBvZiBibG9ja3MiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIldlaXJkIHZhbHVlcyBpbiBkb19jaGVjazogcHJvYmFibHkgYnVnc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGJsb2NrcyBiZWZvcmUgZGF0YS1hcmVhOiBjYW5ub3QgbWFrZSBmcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MzkgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGJhZCBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlZCBiYWQgYmxvY2tzXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IG9wZW4gZmlsZSBvZiBiYWQgYmxvY2tzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1MworIywgYy1mb3JtYXQKK21zZ2lkICJiYWRibG9jayBudW1iZXIgaW5wdXQgZXJyb3Igb24gbGluZSAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgYmFkYmxvY2tzIGZpbGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk0CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIHNpemUgc21hbGxlciB0aGFuIHBoeXNpY2FsIHNlY3RvciBzaXplIG9mICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5NworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNpemUgb2YgJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZXF1ZXN0ZWQgYmxvY2tzICglbGx1KSBleGNlZWRzIGF2YWlsYWJsZSAoJWxsdSkgYmxvY2tzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MjMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzI5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG5hbWUgbGVuZ3RoOiAlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbWluaXggZmlsZSBzeXN0ZW0gdmVyc2lvbjogJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzY3Cittc2dpZCAiLXYgaXMgYW1iaWd1b3VzLCB1c2UgJy0yJyBpbnN0ZWFkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc3OAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzgyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBpbm9kZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODA2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBibG9ja3MiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2UgYSBmaWxlc3lzdGVtIGhlcmUhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIHVzZXItc3BlY2lmaWVkIHBhZ2Ugc2l6ZSAldSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIHVzZXItc3BlY2lmaWVkIHBhZ2Ugc2l6ZSAlZCwgaW5zdGVhZCBvZiB0aGUgc3lzdGVtIHZhbHVlICVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTI0Cittc2dpZCAiTGFiZWwgd2FzIHRydW5jYXRlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbGFiZWwsICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyB1dWlkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc10gZGV2aWNlIFtzaXplXVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTUyCittc2dpZCAiU2V0IHVwIGEgTGludXggc3dhcCBhcmVhLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIGNoZWNrIGJhZCBibG9ja3MgYmVmb3JlIGNyZWF0aW5nIHRoZSBzd2FwIGFyZWFcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBhbGxvdyBzd2FwIHNpemUgYXJlYSBiZSBsYXJnZXIgdGhhbiBkZXZpY2VcbiIKKyIgLXAsIC0tcGFnZXNpemUgU0laRSAgICAgICBzcGVjaWZ5IHBhZ2Ugc2l6ZSBpbiBieXRlc1xuIgorIiAtTCwgLS1sYWJlbCBMQUJFTCAgICAgICAgIHNwZWNpZnkgbGFiZWxcbiIKKyIgLXYsIC0tc3dhcHZlcnNpb24gTlVNICAgICBzcGVjaWZ5IHN3YXAtc3BhY2UgdmVyc2lvbiBudW1iZXJcbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICBzcGVjaWZ5IHRoZSB1dWlkIHRvIHVzZVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBiYWQgcGFnZXM6ICVsdSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE5NQorbXNnaWQgInNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmFkIHBhZ2VcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJhZCBwYWdlc1xuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMjgKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgbmV3IGxpYmJsa2lkIHByb2JlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMwCittc2dpZCAidW5hYmxlIHRvIGFzc2lnbiBkZXZpY2UgdG8gbGliYmxraWQgcHJvYmUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2hlY2tpbmcgYmFkIGJsb2NrcyBmcm9tIHN3YXAgZmlsZSBpcyBub3Qgc3VwcG9ydGVkOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI2MSBkaXNrLXV0aWxzL21rc3dhcC5jOjI4NyBkaXNrLXV0aWxzL21rc3dhcC5jOjMzNAorbXNnaWQgInVuYWJsZSB0byByZXdpbmQgc3dhcC1kZXZpY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyOTAKK21zZ2lkICJ1bmFibGUgdG8gZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogd2lwaW5nIG9sZCAlcyBzaWduYXR1cmUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiBkb24ndCBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKCVzIHBhcnRpdGlvbiB0YWJsZSBkZXRlY3RlZCkuICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgIChjb21waWxlZCB3aXRob3V0IGxpYmJsa2lkKS4gIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzZSAtZiB0byBmb3JjZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHNpZ25hdHVyZSBwYWdlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzgwCittc2dpZCAicGFyc2luZyBwYWdlIHNpemUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg2Cittc2dpZCAicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcHNwYWNlIHZlcnNpb24gJWQgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBpZ25vcmluZyAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkIGJ5ICVzKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQxNAorbXNnaWQgIm9ubHkgb25lIGRldmljZSBhcmd1bWVudCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDIxCittc2dpZCAiZXJyb3I6IHBhcnNpbmcgVVVJRCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzAKK21zZ2lkICJlcnJvcjogTm93aGVyZSB0byBzZXQgdXAgc3dhcCBvbj8iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzYKK21zZ2lkICJpbnZhbGlkIGJsb2NrIGNvdW50IGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzaXplICVsbHUgS2lCIGlzIGxhcmdlciB0aGFuIGRldmljZSBzaXplICU8UFJJdTY0PiBLaUIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHN3YXAgYXJlYSBuZWVkcyB0byBiZSBhdCBsZWFzdCAlbGQgS2lCIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHRydW5jYXRpbmcgc3dhcCBhcmVhIHRvICVsbHUgS2lCIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIHN3YXBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ2OCBzeXMtdXRpbHMvc3dhcG9uLmM6NTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBwZXJtaXNzaW9ucyAlMDRvLCAlMDRvIHN1Z2dlc3RlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NzIgc3lzLXV0aWxzL3N3YXBvbi5jOjUzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgZmlsZSBvd25lciAlZCwgMCAocm9vdCkgc3VnZ2VzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ4NworbXNnaWQgIlVuYWJsZSB0byBzZXQgdXAgc3dhcC1zcGFjZTogdW5yZWFkYWJsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIHVwIHN3YXBzcGFjZSB2ZXJzaW9uICVkLCBzaXplID0gJXMgKCU8UFJJdTY0PiBieXRlcylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIG9idGFpbiBzZWxpbnV4IGZpbGUgbGFiZWwiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTUKK21zZ2lkICJ1bmFibGUgdG8gbWF0Y2hwYXRoY29uKCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTgKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIG5ldyBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjAKK21zZ2lkICJjb3VsZG4ndCBjb21wdXRlIHNlbGludXggY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVsYWJlbCAlcyB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODYKK21zZ2lkICJwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NworbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODgKK21zZ2lkICJlbmQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OQorbXNnaWQgIm51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MAorbXNnaWQgImh1bWFuIHJlYWRhYmxlIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkxCittc2dpZCAicGFydGl0aW9uIG5hbWUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkyIG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY4Cittc2dpZCAicGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkzCittc2dpZCAicGFydGl0aW9uIHRhYmxlIHR5cGUgKGRvcywgZ3B0LCAuLi4pIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY5Cittc2dpZCAicGFydGl0aW9uIGZsYWdzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIChhIHN0cmluZywgYSBVVUlELCBvciBoZXgpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDggc3lzLXV0aWxzL2xvc2V0dXAuYzo2MTYKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wY3h0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTIyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeWluZyB0byB1c2UgJyVzJyBmb3IgdGhlIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBiYWNraW5nIGZpbGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEzMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjU1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB1cCBsb29wIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTYxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzA3IG1pc2MtdXRpbHMvZmluZG1udC5jOjM3NgorIzogbWlzYy11dGlscy9sc2Jsay5jOjM1NCBtaXNjLXV0aWxzL2xzbG9ja3MuYzozNDIgc3lzLXV0aWxzL2xvc2V0dXAuYzoxMDcKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM3MiBzeXMtdXRpbHMvbHNpcGMuYzoyMzIgc3lzLXV0aWxzL2xzbnMuYzoxODkKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjc3IHN5cy11dGlscy9zd2Fwb24uYzoxNDcgc3lzLXV0aWxzL3dkY3RsLmM6MTUxCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjE0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyODYgZGlzay11dGlscy9wYXJ0eC5jOjMyNCBkaXNrLXV0aWxzL3BhcnR4LmM6NDc3CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZmllZCByYW5nZSA8JWQ6JWQ+IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICJyYW5nZSByZWNvdW50OiBtYXggcGFydG5vPSVkLCBsb3dlcj0lZCwgdXBwZXI9JWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlbW92ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGRvZXNuJ3QgZXhpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZWxldGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MDUgZGlzay11dGlscy9wYXJ0eC5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBhZGRlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFkZGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBwYXJ0aXRpb24gIyVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVzaXplZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVwZGF0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvciwgJTZqdSBNQilcbiIKK21zZ2lkX3BsdXJhbCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvcnMsICU2anUgTUIpXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTgxIG1pc2MtdXRpbHMvZmluZG1udC5jOjY4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MDUKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM5MSBzeXMtdXRpbHMvbHNucy5jOjQ1NgorbXNnaWQgImZhaWxlZCB0byBhZGQgbGluZSB0byBvdXRwdXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY0NAorbXNnaWQgImZhaWxlZCB0byBhZGQgZGF0YSB0byBvdXRwdXQgdGFibGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY2NyBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjkyMiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTg1CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg3NCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NTEgc3lzLXV0aWxzL2xvc2V0dXAuYzozMTAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MTMgc3lzLXV0aWxzL2xzaXBjLmM6MzM4IHN5cy11dGlscy9sc25zLmM6NTExCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI5NyBzeXMtdXRpbHMvc3dhcG9uLmM6MjgwIHN5cy11dGlscy93ZGN0bC5jOjI1OQorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo0ODQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY3OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjExIG1pc2MtdXRpbHMvbHNibGsuYzoxODk2CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NjUgc3lzLXV0aWxzL2xvc2V0dXAuYzozMjIgc3lzLXV0aWxzL2xvc2V0dXAuYzozNTgKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MTggc3lzLXV0aWxzL2xzbnMuYzo1MzIgc3lzLXV0aWxzL3BybGltaXQuYzozMDYKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyODkgc3lzLXV0aWxzL3dkY3RsLmM6MjcwIHN5cy11dGlscy96cmFtY3RsLmM6NDkzCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzIyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIGZpbHRlciBmb3IgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHR5cGUgJyVzJyBkZXRlY3RlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB3aXRoIG5vIHBhcnRpdGlvbnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0aXRpb24+XSA8ZGlzaz5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzU2Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBwcmVzZW5jZSBhbmQgbnVtYmVyaW5nIG9mIHBhcnRpdGlvbnMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1OQorbXNnaWQgIiAtYSwgLS1hZGQgICAgICAgICAgICBhZGQgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYwCittc2dpZCAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIGRlbGV0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjEKK21zZ2lkICIgLXUsIC0tdXBkYXRlICAgICAgICAgdXBkYXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MgorbXNnaWQgIiIKKyIgLXMsIC0tc2hvdyAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MyBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyMworbXNnaWQgIiIKKyIgLWIsIC0tYnl0ZXMgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSAiCisiZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NAorbXNnaWQgIiAtZywgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1zaG93XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NQorbXNnaWQgIiAtbiwgLS1uciA8bjptPiAgICAgICBzcGVjaWZ5IHRoZSByYW5nZSBvZiBwYXJ0aXRpb25zIChlLmcuIC0tbnIgMjo0KVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjYKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjcgbWlzYy11dGlscy9sc2Jsay5jOjE2MzcKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjggbWlzYy11dGlscy9sc2Jsay5jOjE2MzgKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OQorbXNnaWQgIiIKKyIgLXQsIC0tdHlwZSA8dHlwZT4gICAgc3BlY2lmeSB0aGUgcGFydGl0aW9uIHR5cGUgKGRvcywgYnNkLCBzb2xhcmlzLCBldGMuKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzAgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzYKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3csIC0tcmF3IG9yIC0tcGFpcnMpOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS1uciA8TS1OPiByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTI0Cittc2dpZCAicGFydGl0aW9uIGFuZCBkaXNrIG5hbWUgZG8gbm90IG1hdGNoIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NTIKK21zZ2lkICItLW5yIGFuZCA8cGFydGl0aW9uPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFydGl0aW9uOiAlcywgZGlzazogJXMsIGxvd2VyOiAlZCwgdXBwZXI6ICVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRlbGV0ZSBwYXJ0aXRpb25zIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgcHJvYmVyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzICUyJHNyYXdOIDxtYWpvcj4gPG1pbm9yPlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPGJsb2NrZGV2aWNlPlxuIgorIiAlMSRzIC1xICUyJHNyYXdOXG4iCisiICUxJHMgLXFhXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo1OAorbXNnaWQgIkJpbmQgYSByYXcgY2hhcmFjdGVyIGRldmljZSB0byBhIGJsb2NrIGRldmljZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYxCittc2dpZCAiIC1xLCAtLXF1ZXJ5ICAgIHNldCBxdWVyeSBtb2RlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICBxdWVyeSBhbGwgcmF3IGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRGV2aWNlICclcycgaXMgdGhlIGNvbnRyb2wgcmF3IGRldmljZSAodXNlIHJhdzxOPiB3aGVyZSA8Tj4gaXMgZ3JlYXRlciB0aGFuICIKKyJ6ZXJvKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4MQorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIGJsb2NrIGRldmljZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE5MyBkaXNrLXV0aWxzL3Jhdy5jOjE5NiBzeXMtdXRpbHMvaXBjcm0uYzozNTEKKyM6IHN5cy11dGlscy9pcGNybS5jOjM2NCBzeXMtdXRpbHMvaXBjcm0uYzozNzcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIyOAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICJSYXcgZGV2aWNlICclcycgaXMgbm90IGEgY2hhcmFjdGVyIGRldiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSByYXcgZGV2IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjQ1Cittc2dpZCAiRXJyb3IgcXVlcnlpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI1NCBkaXNrLXV0aWxzL3Jhdy5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlc3JhdyVkOiAgYm91bmQgdG8gbWFqb3IgJWQsIG1pbm9yICVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNjgKK21zZ2lkICJFcnJvciBzZXR0aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxsZW5ndGg+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjMKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgcGFydGl0aW9uIG51bWJlciAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDkKK21zZ2lkICJmYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIzMQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBuZXN0ZWQgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2VlayAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMwMiBsaWJmZGlzay9zcmMvYnNkLmM6NzIzIGxpYmZkaXNrL3NyYy9ic2QuYzo4OTQKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTYzIHN5cy11dGlscy9od2Nsb2NrLmM6MTY1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlMTJzIChvZmZzZXQgJTVqdSwgc2l6ZSAlNWp1KTogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMjgKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIGZpbGUsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM1NAorbXNnaWQgIkJhY2t1cCBmaWxlczoiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozNzkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBuZXcgcGFydGl0aW9uIGZyb20gZGV2aWNlOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODMKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODcKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4OQorbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaGFzIG5vdCBiZWVuIG1vdmVkOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM5MQorbXNnaWQgIm5ldyBwYXJ0aXRpb24gaXMgc21hbGxlciB0aGFuIG9yaWdpbmFsOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0MQorbXNnaWQgIkRhdGEgbW92ZToiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIHR5cGVzY3JpcHQgZmlsZTogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIG9sZCBzdGFydDogJWp1LCBuZXcgc3RhcnQ6ICVqdSAobW92ZSAlanUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1MQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIG1vdmUgcGFydGl0aW9uIGRhdGE/IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc4MworbXNnaWQgIkxlYXZpbmcuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gbW92ZSBkYXRhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQxCittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBpcyB1bmNoYW5nZWQgKC0tbm8tYWN0KS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDcKK21zZ2lkICIiCisiXG4iCisiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYyMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBsYWJlbCAnJXMnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjI2Cittc2dpZCAiIgorIklkICBOYW1lXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2NTYKK21zZ2lkICJ1bnJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInRvdGFsOiAlanUgYmxvY2tzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MDggZGlzay11dGlscy9zZmRpc2suYzo4NzYgZGlzay11dGlscy9zZmRpc2suYzo5MTcKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTQ3IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxNCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNzgKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzMyBkaXNrLXV0aWxzL3NmZGlzay5jOjExODkgZGlzay11dGlscy9zZmRpc2suYzoxNTMzCittc2dpZCAibm8gZGlzayBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODE5Cittc2dpZCAidG9nZ2xlIGJvb3QgZmxhZ3MgaXMgc3VwcG9ydGVkIGZvciBNQlIgb25seSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg1MCBkaXNrLXV0aWxzL3NmZGlzay5jOjg5NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTkKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4MyBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzggZGlzay11dGlscy9zZmRpc2suYzoxMTk0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MzEgZGlzay11dGlscy9zZmRpc2suYzoyMDEzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlZDogZmFpbGVkIHRvIHRvZ2dsZSBib290YWJsZSBmbGFnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODkxIGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZGVsZXRlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NTgKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgZHVtcCBzdHJ1Y3QiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkdW1wIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uIHRhYmxlIGZvdW5kIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIGlzIHVudXNlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTggZGlzay11dGlscy9zZmRpc2suYzoxMDgyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzNworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTkzCittc2dpZCAibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4OCBkaXNrLXV0aWxzL3NmZGlzay5jOjExNDMKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5OQorbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnRzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIHBhcnRpdGlvbiB0eXBlICclcyciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMTMgZGlzay11dGlscy9zZmRpc2suYzoxMTY4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIyMgorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gb2JqZWN0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTExNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gYXR0cmlidXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNjkKK21zZ2lkICIgQ29tbWFuZHM6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjcxCittc2dpZCAiICAgd3JpdGUgICAgd3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3MgorbXNnaWQgIiIKKyIgICBxdWl0ICAgICBzaG93IG5ldyBzaXR1YXRpb24gYW5kIHdhaXQgZm9yIHVzZXIncyBmZWVkYmFjayBiZWZvcmUgd3JpdGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzMKK21zZ2lkICIgICBhYm9ydCAgICBleGl0IHNmZGlzayBzaGVsbFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3NAorbXNnaWQgIiAgIHByaW50ICAgIGRpc3BsYXkgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3NQorbXNnaWQgIiAgIGhlbHAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzcKK21zZ2lkICIgICBDdHJsLUQgICB0aGUgc2FtZSBhcyAncXVpdCdcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODEKK21zZ2lkICIgSW5wdXQgZm9ybWF0OlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MworbXNnaWQgIiAgIDxzdGFydD4sIDxzaXplPiwgPHR5cGU+LCA8Ym9vdGFibGU+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjg2Cittc2dpZCAiIgorIiAgIDxzdGFydD4gIEJlZ2lubmluZyBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyB0aGUgZmlyc3QgZnJlZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTEKK21zZ2lkICIiCisiICAgPHNpemU+ICAgU2l6ZSBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyBhbGwgYXZhaWxhYmxlIHNwYWNlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NgorbXNnaWQgIiAgIDx0eXBlPiAgIFRoZSBwYXJ0aXRpb24gdHlwZS4gIERlZmF1bHQgaXMgYSBMaW51eCBkYXRhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTcKK21zZ2lkICIgICAgICAgICAgICBNQlI6IGhleCBvciBMLFMsRSxYIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTgKK21zZ2lkICIgICAgICAgICAgICBHUFQ6IFVVSUQgb3IgTCxTLEggc2hvcnRjdXRzLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwMQorbXNnaWQgIiAgIDxib290YWJsZT4gIFVzZSAnKicgdG8gbWFyayBhbiBNQlIgcGFydGl0aW9uIGFzIGJvb3RhYmxlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNQorbXNnaWQgIiBFeGFtcGxlOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNworbXNnaWQgIiAgICwgNEcgICAgIENyZWF0ZXMgYSA0R2lCIHBhcnRpdGlvbiBhdCBkZWZhdWx0IHN0YXJ0IG9mZnNldC5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMzkgc3lzLXV0aWxzL2RtZXNnLmM6MTQ1NQorbXNnaWQgInVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzQxCisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQ6IHVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTAwCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU0MQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBubyBwYXJ0aXRpb24gdGFibGUgd2FzIGZvdW5kIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXM6IHBhcnRpdGlvbiAlZCBpcyBub3QgZGVmaW5lZCB5ZXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJXZWxjb21lIHRvIHNmZGlzayAoJXMpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTQKK21zZ2lkICJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTcKK21zZ2lkICIiCisiIEZBSUxFRFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwMAorbXNnaWQgIiIKKyJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZSAtIHJlcGFydGl0aW9uaW5nIGlzIHByb2JhYmx5IGEgYmFkIGlkZWEuXG4iCisiVW1vdW50IGFsbCBmaWxlIHN5c3RlbXMsIGFuZCBzd2Fwb2ZmIGFsbCBzd2FwIHBhcnRpdGlvbnMgb24gdGhpcyBkaXNrLlxuIgorIlVzZSB0aGUgLS1uby1yZXJlYWQgZmxhZyB0byBzdXBwcmVzcyB0aGlzIGNoZWNrLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNworbXNnaWQgIiIKKyIgT0tcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzYKK21zZ2lkICIiCisiXG4iCisiT2xkIHNpdHVhdGlvbjoiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKyJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY1NworbXNnaWQgIiIKKyJcbiIKKyJUeXBlICdoZWxwJyB0byBnZXQgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NzUKK21zZ2lkICJBbGwgcGFydGl0aW9ucyB1c2VkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MDMKK21zZ2lkICJEb25lLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcxNQorbXNnaWQgIklnbm9yaW5nIHBhcnRpdGlvbi4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzI0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCBoZWFkZXJzLCBkaXNrIGxhYmVsIG5vdCBjcmVhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCAjJWQgcGFydGl0aW9uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc2MworbXNnaWQgIlNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc3MgorbXNnaWQgIiIKKyJcbiIKKyJOZXcgc2l0dWF0aW9uOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3ODEKK21zZ2lkICJEbyB5b3Ugd2FudCB0byB3cml0ZSB0aGlzIHRvIGRpc2s/IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc5MworbXNnaWQgIkxlYXZpbmcuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTIKK21zZ2lkICIiCisiXG4iCisiQ29tbWFuZHM6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEzCittc2dpZCAiIgorIiAtQSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gbGlzdCBvciBzZXQgYm9vdGFibGUgTUJSIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTQKK21zZ2lkICIiCisiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSAodXNhYmxlIGZvciBsYXRlciAiCisiaW5wdXQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE1Cittc2dpZCAiIgorIiAtSiwgLS1qc29uIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgaW4gSlNPTiBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTYKK21zZ2lkICIiCisiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxkZXY+IC4uLl0gICBsaXN0IGdlb21ldHJ5IG9mIGFsbCBvciBzcGVjaWZpZWQgIgorImRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTcKK21zZ2lkICIgLWwsIC0tbGlzdCBbPGRldj4gLi4uXSAgICAgICAgICAgIGxpc3QgcGFydGl0aW9ucyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxOAorbXNnaWQgIiIKKyIgLUYsIC0tbGlzdC1mcmVlIFs8ZGV2PiAuLi5dICAgICAgIGxpc3QgdW5wYXJ0aXRpb25lZCBmcmVlIGFyZWFzIG9mIGVhY2ggIgorImRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxOQorbXNnaWQgIiIKKyIgLXIsIC0tcmVvcmRlciA8ZGV2PiAgICAgICAgICAgICAgIGZpeCBwYXJ0aXRpb25zIG9yZGVyIChieSBzdGFydCBvZmZzZXQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIwCittc2dpZCAiIgorIiAtcywgLS1zaG93LXNpemUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCBzaXplcyBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjEKK21zZ2lkICIiCisiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmVjb2duaXplZCB0eXBlcyAoc2VlIC1YKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMgorbXNnaWQgIiIKKyIgLVYsIC0tdmVyaWZ5IFs8ZGV2PiAuLi5dICAgICAgICAgIHRlc3Qgd2hldGhlciBwYXJ0aXRpb25zIHNlZW0gY29ycmVjdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMworbXNnaWQgIiAgICAgLS1kZWxldGUgPGRldj4gWzxwYXJ0PiAuLi5dICAgZGVsZXRlIGFsbCBvciBzcGVjaWZpZWQgcGFydGl0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNgorbXNnaWQgIiAtLXBhcnQtbGFiZWwgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBsYWJlbFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNworbXNnaWQgIiAtLXBhcnQtdHlwZSA8ZGV2PiA8cGFydD4gWzx0eXBlPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI4Cittc2dpZCAiIC0tcGFydC11dWlkIDxkZXY+IDxwYXJ0PiBbPHV1aWQ+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHV1aWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjkKK21zZ2lkICIiCisiIC0tcGFydC1hdHRycyA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGF0dHJpYnV0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzIKK21zZ2lkICIgPGRldj4gICAgICAgICAgICAgICAgICAgICBkZXZpY2UgKHVzdWFsbHkgZGlzaykgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzMworbXNnaWQgIiA8cGFydD4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzQKK21zZ2lkICIgPHR5cGU+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gdHlwZSwgR1VJRCBmb3IgR1BULCBoZXggZm9yIE1CUlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzNworbXNnaWQgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICBhcHBlbmQgcGFydGl0aW9ucyB0byBleGlzdGluZyBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzgKK21zZ2lkICIgLWIsIC0tYmFja3VwICAgICAgICAgICAgICBiYWNrdXAgcGFydGl0aW9uIHRhYmxlIHNlY3RvcnMgKHNlZSAtTylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzkKK21zZ2lkICIiCisiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSAiCisiZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQwCittc2dpZCAiIgorIiAgICAgLS1tb3ZlLWRhdGFbPTx0eXBlc2NyaXB0Pl0gbW92ZSBwYXJ0aXRpb24gZGF0YSBhZnRlciByZWxvY2F0aW9uICIKKyIocmVxdWlyZXMgLU4pXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQxCittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDIKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDUKK21zZ2lkICIgLU4sIC0tcGFydG5vIDxudW0+ICAgICAgICBzcGVjaWZ5IHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDYKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB3cml0ZSB0byBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDcKK21zZ2lkICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIGlzIGluIHVzZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OAorbXNnaWQgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIGRvIG5vdCB0ZWxsIGtlcm5lbCBhYm91dCBjaGFuZ2VzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ5Cittc2dpZCAiIC1PLCAtLWJhY2t1cC1maWxlIDxwYXRoPiAgb3ZlcnJpZGUgZGVmYXVsdCBiYWNrdXAgZmlsZSBuYW1lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUwCittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTEKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBzdXBwcmVzcyBleHRyYSBpbmZvIG1lc3NhZ2VzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUyCittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU0Cittc2dpZCAiIC1YLCAtLWxhYmVsIDxuYW1lPiAgICAgICAgc3BlY2lmeSBsYWJlbCB0eXBlIChkb3MsIGdwdCwgLi4uKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NQorbXNnaWQgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPG5hbWU+IHNwZWNpZnkgbmVzdGVkIGxhYmVsIHR5cGUgKGRvcywgYnNkKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NworbXNnaWQgIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIGRlcHJlY2F0ZWQsIGFsaWFzIHRvIC0tc2hvdy1nZW9tZXRyeVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OAorbXNnaWQgIiIKKyIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU5Cittc2dpZCAiIC11LCAtLXVuaXQgUyAgICAgICAgICAgICAgZGVwcmVjYXRlZCwgb25seSBzZWN0b3IgdW5pdCBpcyBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjMgbG9naW4tdXRpbHMvY2hmbi5jOjEwMiBsb2dpbi11dGlscy9jaHNoLmM6NzkKK21zZ2lkICIgLXYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxOTczCittc2dpZCAiLS1pZCBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5ODkKK21zZ2lkICItLXNob3ctcHQtZ2VvbWV0cnkgaXMgbm8gbW9yZSBpbXBsZW1lbnRlZC4gVXNpbmcgLS1zaG93LWdlb21ldHJ5LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMDAKK21zZ2lkICItLUxpbnV4IG9wdGlvbiBpcyB1bm5lY2Vzc2FyeSBhbmQgZGVwcmVjYXRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgdW5pdCAnJWMnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAzMiBpbmNsdWRlL2MuaDozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjEwOQorbXNnaWQgIi0tbW92ZWRhdGEgcmVxdWlyZXMgLU4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgVVVJRDogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBVVUlEIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBVVUlEIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgbGFiZWwgIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAibGFiZWwgaXMgdG9vIGxvbmcuIFRydW5jYXRpbmcgaXQgdG8gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgbGFiZWwiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjEKK21zZ2lkICJEaXNwbGF5IG9yIGNoYW5nZSB0aGUgbGFiZWwgb3IgVVVJRCBvZiBhIHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyNAorbXNnaWQgIiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiBzcGVjaWZ5IGEgbmV3IGxhYmVsXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgc3BlY2lmeSBhIG5ldyB1dWlkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxNjcKK21zZ2lkICJpZ25vcmUgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jLmg6Mjk5Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjMwMAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjMwMgorbXNnaWQgIiAtaCwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjMwMworbXNnaWQgIiAtViwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRm9yIG1vcmUgZGV0YWlscyBzZWUgJXMuXG4iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ2IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0OCBsb2dpbi11dGlscy92aXB3LmM6MjczCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjkyIHN5cy11dGlscy9ydGN3YWtlLmM6MjgwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjgwNQorIzogdGV4dC11dGlscy9jb2wuYzoxNTcKK21zZ2lkICJ3cml0ZSBlcnJvciIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI3Cittc2dpZCAiY29sb3JzIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyOQorbXNnaWQgImNvbG9ycyBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2Vudi5oOjE4IGxpYi9wYWdlci5jOjE1MSBsb2dpbi11dGlscy9sb2dpbi5jOjEwNTIKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTA1NiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MjkKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTE2MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyBlbnZpcm9ubWVudCB2YXJpYWJsZSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL29wdHV0aWxzLmg6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZXNlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZToiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MQorbXNnaWQgIkVtcHR5IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIKK21zZ2lkICJGQVQxMiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozCittc2dpZCAiWEVOSVggcm9vdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0Cittc2dpZCAiWEVOSVggdXNyIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUKK21zZ2lkICJGQVQxNiA8MzJNIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYKK21zZ2lkICJFeHRlbmRlZCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3Cittc2dpZCAiRkFUMTYiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OAorbXNnaWQgIkhQRlMvTlRGUy9leEZBVCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5Cittc2dpZCAiQUlYIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwCittc2dpZCAiQUlYIGJvb3RhYmxlIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjExCittc2dpZCAiT1MvMiBCb290IE1hbmFnZXIiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTIKK21zZ2lkICJXOTUgRkFUMzIiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTMKK21zZ2lkICJXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTQKK21zZ2lkICJXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTUKK21zZ2lkICJXOTUgRXh0J2QgKExCQSkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTYKK21zZ2lkICJPUFVTIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE3Cittc2dpZCAiSGlkZGVuIEZBVDEyIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE4Cittc2dpZCAiQ29tcGFxIGRpYWdub3N0aWNzIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE5Cittc2dpZCAiSGlkZGVuIEZBVDE2IDwzMk0iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjAKK21zZ2lkICJIaWRkZW4gRkFUMTYiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjEKK21zZ2lkICJIaWRkZW4gSFBGUy9OVEZTIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIyCittc2dpZCAiQVNUIFNtYXJ0U2xlZXAiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjMKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI0Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNQorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjYKK21zZ2lkICJORUMgRE9TIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI3Cittc2dpZCAiSGlkZGVuIE5URlMgV2luUkUiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjgKK21zZ2lkICJQbGFuIDkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjkKK21zZ2lkICJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMAorbXNnaWQgIlZlbml4IDgwMjg2IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMxCittc2dpZCAiUFBDIFBSZVAgQm9vdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMgorbXNnaWQgIlNGUyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMworbXNnaWQgIlFOWDQueCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNAorbXNnaWQgIlFOWDQueCAybmQgcGFydCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNQorbXNnaWQgIlFOWDQueCAzcmQgcGFydCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNgorbXNnaWQgIk9uVHJhY2sgRE0iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzcKK21zZ2lkICJPblRyYWNrIERNNiBBdXgxIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM4Cittc2dpZCAiQ1AvTSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOQorbXNnaWQgIk9uVHJhY2sgRE02IEF1eDMiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDAKK21zZ2lkICJPblRyYWNrRE02IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQxCittc2dpZCAiRVotRHJpdmUiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDIKK21zZ2lkICJHb2xkZW4gQm93IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQzCittc2dpZCAiUHJpYW0gRWRpc2siCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDQgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTEKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk5Cittc2dpZCAiU3BlZWRTdG9yIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ1Cittc2dpZCAiR05VIEhVUkQgb3IgU3lzViIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NgorbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDI4NiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NworbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDM4NiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OAorbXNnaWQgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OQorbXNnaWQgIlBDL0lYIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUwCittc2dpZCAiT2xkIE1pbml4IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUxCittc2dpZCAiTWluaXggLyBvbGQgTGludXgiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTIKK21zZ2lkICJMaW51eCBzd2FwIC8gU29sYXJpcyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MworbXNnaWQgIkxpbnV4IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU0Cittc2dpZCAiT1MvMiBoaWRkZW4gb3IgSW50ZWwgaGliZXJuYXRpb24iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTcKK21zZ2lkICJMaW51eCBleHRlbmRlZCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OQorbXNnaWQgIk5URlMgdm9sdW1lIHNldCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MAorbXNnaWQgIkxpbnV4IHBsYWludGV4dCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjA1IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MworIzogbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggTFZNIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYyCittc2dpZCAiQW1vZWJhIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYzCittc2dpZCAiQW1vZWJhIEJCVCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NAorbXNnaWQgIkJTRC9PUyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NQorbXNnaWQgIklCTSBUaGlua3BhZCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NgorbXNnaWQgIkZyZWVCU0QiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjcKK21zZ2lkICJPcGVuQlNEIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY4Cittc2dpZCAiTmVYVFNURVAiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjkKK21zZ2lkICJEYXJ3aW4gVUZTIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcwCittc2dpZCAiTmV0QlNEIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcxCittc2dpZCAiRGFyd2luIGJvb3QiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzIKK21zZ2lkICJIRlMgLyBIRlMrIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjczCittc2dpZCAiQlNESSBmcyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NAorbXNnaWQgIkJTREkgc3dhcCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NQorbXNnaWQgIkJvb3QgV2l6YXJkIGhpZGRlbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NgorbXNnaWQgIkFjcm9uaXMgRkFUMzIgTEJBIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc3IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzAKK21zZ2lkICJTb2xhcmlzIGJvb3QiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzgKK21zZ2lkICJTb2xhcmlzIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc5Cittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTIpIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgwCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgxCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYpIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgyCittc2dpZCAiU3lyaW54IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgzCittc2dpZCAiTm9uLUZTIGRhdGEiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NgorbXNnaWQgIkRlbGwgVXRpbGl0eSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NworbXNnaWQgIkJvb3RJdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4OAorbXNnaWQgIkRPUyBhY2Nlc3MiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTAKK21zZ2lkICJET1MgUi9PIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkzCittc2dpZCAiUnVmdXMgYWxpZ25tZW50IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk0Cittc2dpZCAiQmVPUyBmcyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NgorbXNnaWQgIkVGSSAoRkFULTEyLzE2LzMyKSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NworbXNnaWQgIkxpbnV4L1BBLVJJU0MgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDAKK21zZ2lkICJET1Mgc2Vjb25kYXJ5IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMQorbXNnaWQgIlZNd2FyZSBWTUZTIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMgorbXNnaWQgIlZNd2FyZSBWTUtDT1JFIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMyBsaWJmZGlzay9zcmMvc3VuLmM6NTUKK21zZ2lkICJMaW51eCByYWlkIGF1dG9kZXRlY3QiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA2Cittc2dpZCAiTEFOc3RlcCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDcKK21zZ2lkICJCQlQiCittc2dzdHIgIiIKKworIzogbGliL2Jsa2Rldi5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlcyBpcyBtaXNhbGlnbmVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2NzIKK21zZ2lkICJDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2ODEKK21zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYWxpZ25tZW50LmM6NjgzCittc2dpZCAiIgorIlRoZSBrZXJuZWwgc3RpbGwgdXNlcyB0aGUgb2xkIHRhYmxlLiBUaGUgbmV3IHRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCAiCisicmVib290IG9yIGFmdGVyIHlvdSBydW4gcGFydHByb2JlKDgpIG9yIGtwYXJ0eCg4KS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ3MiBsaWJmZGlzay9zcmMvYXNrLmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdGVkIHBhcnRpdGlvbiAlanUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ3NQorbXNnaWQgIk5vIHBhcnRpdGlvbiBpcyBkZWZpbmVkIHlldCEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ4NworbXNnaWQgIk5vIGZyZWUgcGFydGl0aW9uIGF2YWlsYWJsZSEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ5NworbXNnaWQgIlBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjk5NAorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IHBhcnRpdGlvbiAlZCBvZiB0eXBlICclcycgYW5kIG9mIHNpemUgJXMuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlcmUgaXMgbm8gKkJTRCBwYXJ0aXRpb24gb24gJXMuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTkgbGliZmRpc2svc3JjL2Rvcy5jOjkzMworbXNnaWQgIkZpcnN0IGN5bGluZGVyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTIgbGliZmRpc2svc3JjL2Rvcy5jOjExNjEKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5NyBsaWJmZGlzay9zcmMvZG9zLmM6MTE2NiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1NQorbXNnaWQgIkxhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRldmljZSAlcyBkb2VzIG5vdCBjb250YWluIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODMKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBjcmVhdGUgYSBCU0QgZGlza2xhYmVsPyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDQ5Cittc2dpZCAiRGlzayIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDU2Cittc2dpZCAiUGFja25hbWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MyBsaWJmZGlzay9zcmMvc3VuLmM6MTExNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjYKK21zZ2lkICIgcmVtb3ZhYmxlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjcKK21zZ2lkICIgZWNjIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjgKK21zZ2lkICIgYmFkc2VjdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDc2Cittc2dpZCAiQnl0ZXMvU2VjdG9yIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODEKK21zZ2lkICJUcmFja3MvQ3lsaW5kZXIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4NgorbXNnaWQgIlNlY3RvcnMvQ3lsaW5kZXIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5MSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOCBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMworIzogbGliZmRpc2svc3JjL3NnaS5jOjExNTcgbGliZmRpc2svc3JjL3N1bi5jOjE5NiBsaWJmZGlzay9zcmMvc3VuLmM6MTExMworbXNnaWQgIkN5bGluZGVycyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDk2IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjAKK21zZ2lkICJScG0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMSBsaWJmZGlzay9zcmMvc2dpLmM6MjkyIGxpYmZkaXNrL3NyYy9zdW4uYzo3ODAKK21zZ2lkICJJbnRlcmxlYXZlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDYKK21zZ2lkICJUcmFja3NrZXciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxMQorbXNnaWQgIkN5bGluZGVyc2tldyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTE2Cittc2dpZCAiSGVhZHN3aXRjaCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTIxCittc2dpZCAiVHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjExCittc2dpZCAiYnl0ZXMvc2VjdG9yIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTQKK21zZ2lkICJzZWN0b3JzL3RyYWNrIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTUKK21zZ2lkICJ0cmFja3MvY3lsaW5kZXIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNgorbXNnaWQgImN5bGluZGVycyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIwCittc2dpZCAic2VjdG9ycy9jeWxpbmRlciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIzCittc2dpZCAicnBtIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjQKK21zZ2lkICJpbnRlcmxlYXZlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjUKK21zZ2lkICJ0cmFja3NrZXciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNgorbXNnaWQgImN5bGluZGVyc2tldyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI4Cittc2dpZCAiaGVhZHN3aXRjaCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI5Cittc2dpZCAidHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290c3RyYXAgZmlsZSAlcyBzdWNjZXNzZnVsbHkgbG9hZGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjczCisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcDogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKGRlZmF1bHQgJTEkcykiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcwNAorbXNnaWQgIkJvb3RzdHJhcCBvdmVybGFwcyB3aXRoIGRpc2tsYWJlbCEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcyOAorIywgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXAgaW5zdGFsbGVkIG9uICVzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiAgKERvbid0IGZvcmdldCB0byB3cml0ZSB0aGUgJXMgZGlza2xhYmVsIHRvby4pIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDkgbGliZmRpc2svc3JjL2NvbnRleHQuYzo2NjYKK21zZ2lkICJTeW5jaW5nIGRpc2tzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTUwCittc2dpZCAiQlNEIGxhYmVsIGlzIG5vdCBuZXN0ZWQgd2l0aGluIGEgRE9TIHBhcnRpdGlvbi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk3OAorIywgYy1mb3JtYXQKK21zZ2lkICJCU0QgcGFydGl0aW9uICclYycgbGlua2VkIHRvIERPUyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNAorbXNnaWQgIlNsaWNlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIxCittc2dpZCAiRnNpemUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjIKK21zZ2lkICJCc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMworbXNnaWQgIkNwZyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2UgZGV2aWNlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjgyNworbXNnaWQgImN5bGluZGVyIgorbXNnaWRfcGx1cmFsICJjeWxpbmRlcnMiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjgyOAorbXNnaWQgInNlY3RvciIKK21zZ2lkX3BsdXJhbCAic2VjdG9ycyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6MTEzMQorbXNnaWQgIkluY29tcGxldGUgZ2VvbWV0cnkgc2V0dGluZy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxNAorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgaGF2ZSBiZWVuIGRlZmluZWQgYWxyZWFkeS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBleHRlbmRlZCBwYXJ0aXRpb24gdGFibGUgKG9mZnNldD0lanUpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMjgKK21zZ2lkICJZb3UgY2FuIHNldCBnZW9tZXRyeSBmcm9tIHRoZSBleHRyYSBmdW5jdGlvbnMgbWVudS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjMzMQorbXNnaWQgIkRPUy1jb21wYXRpYmxlIG1vZGUgaXMgZGVwcmVjYXRlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjMzNQorbXNnaWQgIiIKKyJUaGUgZGV2aWNlIHByZXNlbnRzIGEgbG9naWNhbCBzZWN0b3Igc2l6ZSB0aGF0IGlzIHNtYWxsZXIgdGhhbiB0aGUgcGh5c2ljYWwgIgorInNlY3RvciBzaXplLiBBbGlnbmluZyB0byBhIHBoeXNpY2FsIHNlY3RvciAob3Igb3B0aW1hbCBJL08pIHNpemUgYm91bmRhcnkgaXMgIgorInJlY29tbWVuZGVkLCBvciBwZXJmb3JtYW5jZSBtYXkgYmUgaW1wYWN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDEKK21zZ2lkICJDeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIHNpemUgb2YgdGhpcyBkaXNrIGlzICVzICglanUgYnl0ZXMpLiBET1MgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCBjYW4gbm90ICIKKyJiZSB1c2VkIG9uIGRyaXZlcyBmb3Igdm9sdW1lcyBsYXJnZXIgdGhhbiAlbHUgYnl0ZXMgZm9yICVsdS1ieXRlIHNlY3RvcnMuICIKKyJVc2UgR1VJRCBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IChHUFQpLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTAzCittc2dpZCAiQmFkIG9mZnNldCBpbiBwcmltYXJ5IGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjUxOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiT21pdHRpbmcgcGFydGl0aW9ucyBhZnRlciAjJXp1LiBUaGV5IHdpbGwgYmUgZGVsZXRlZCBpZiB5b3Ugc2F2ZSB0aGlzICIKKyJwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXh0cmEgbGluayBwb2ludGVyIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZGF0YSBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9taXR0aW5nIGVtcHR5IHBhcnRpdGlvbiAoJXp1KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2ODUKK21zZ2lkICJFbnRlciB0aGUgbmV3IGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjkyCittc2dpZCAiSW5jb3JyZWN0IHZhbHVlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gMHglMDh4IHRvIDB4JTA4eC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjc5MworIywgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBleHRlbmRlZCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkludmFsaWQgZmxhZyAweCUwMnglMDJ4IG9mIEVCUiAoZm9yIHBhcnRpdGlvbiAlenUpIHdpbGwgYmUgY29ycmVjdGVkIGJ5ICIKKyJ3KHJpdGUpLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6OTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIlN0YXJ0IHNlY3RvciAlanUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTAyNiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzNiBsaWJmZGlzay9zcmMvc2dpLmM6ODM5CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMDk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlbGx1IGlzIGFscmVhZHkgYWxsb2NhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTEzMyBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0NgorbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIkFkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY29udGFpbnMgc2VjdG9yIDAiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaGVhZCAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMyMQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBzZWN0b3IgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMyNAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjeWxpbmRlciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHByZXZpb3VzIHNlY3RvcnMgJXUgZGlzYWdyZWVzIHdpdGggdG90YWwgJXUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGJlZ2lubmluZ3MgKG5vbi1MaW51eD8pOiBwaHlzPSglZCwgIgorIiVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBlbmRpbmdzOiBwaHlzPSglZCwgJWQsICVkKSwgIgorImxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogYmFkIHN0YXJ0LW9mLWRhdGEuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDQyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG92ZXJsYXBzIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGVtcHR5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ3MworIywgYy1mb3JtYXQKK21zZ2lkICJMb2dpY2FsIHBhcnRpdGlvbiAlenU6IG5vdCBlbnRpcmVseSBpbiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICJUb3RhbCBhbGxvY2F0ZWQgc2VjdG9ycyAlbGx1IGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSAlbGx1LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJSZW1haW5pbmcgJWxsZCB1bmFsbG9jYXRlZCAlbGQtYnl0ZSBzZWN0b3JzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUzMiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1NAorbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1NzUKK21zZ2lkICJUaGUgbWF4aW11bSBudW1iZXIgb2YgcGFydGl0aW9ucyBoYXMgYmVlbiBjcmVhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU4NworbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1ODkgbGliZmRpc2svc3JjL2Rvcy5jOjE2MDAKK21zZ2lkICJBbGwgc3BhY2UgZm9yIHByaW1hcnkgcGFydGl0aW9ucyBpcyBpbiB1c2UuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUcnkgdG8ga2VlcCB0aGlzIHdpdGhpbiA4MCBjaGFyYWN0ZXJzLgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDMKK21zZ2lkICIiCisiVG8gY3JlYXRlIG1vcmUgcGFydGl0aW9ucywgZmlyc3QgcmVwbGFjZSBhIHByaW1hcnkgd2l0aCBhbiBleHRlbmRlZCAiCisicGFydGl0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYwOAorbXNnaWQgIkFsbCBsb2dpY2FsIHBhcnRpdGlvbnMgYXJlIGluIHVzZS4gQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb24uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjMwCittc2dpZCAiUGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXp1IHByaW1hcnksICVkIGV4dGVuZGVkLCAlenUgZnJlZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzOQorbXNnaWQgInByaW1hcnkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDEKK21zZ2lkICJleHRlbmRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MQorbXNnaWQgImNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQzCittc2dpZCAibG9naWNhbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MworbXNnaWQgIm51bWJlcmVkIGZyb20gNSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY4MQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiB0eXBlIGAlYycuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB3cml0ZSBzZWN0b3IgJWpkOiBzZWVrIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTg1MiBsaWJmZGlzay9zcmMvZ3B0LmM6MTA5NgorbXNnaWQgIkRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1OQorbXNnaWQgIiIKKyJUeXBlIDAgbWVhbnMgZnJlZSBzcGFjZSB0byBtYW55IHN5c3RlbXMuIEhhdmluZyBwYXJ0aXRpb25zIG9mIHR5cGUgMCBpcyAiCisicHJvYmFibHkgdW53aXNlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk2NAorbXNnaWQgIiIKKyJDYW5ub3QgY2hhbmdlIHR5cGUgb2YgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiB3aGljaCBpcyBhbHJlYWR5IHVzZWQgYnkgIgorImxvZ2ljYWwgcGFydGl0aW9ucy4gRGVsZXRlIGxvZ2ljYWwgcGFydGl0aW9ucyBmaXJzdC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxNDMgbGliZmRpc2svc3JjL2dwdC5jOjI4MjEKK21zZ2lkICJOb3RoaW5nIHRvIGRvLiBPcmRlcmluZyBpcyBjb3JyZWN0IGFscmVhZHkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG5vIGRhdGEgYXJlYS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyMjIKK21zZ2lkICJOZXcgYmVnaW5uaW5nIG9mIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaXMgYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyOTggbGliZmRpc2svc3JjL2dwdC5jOjI5MTEgbGliZmRpc2svc3JjL3NnaS5jOjExNTMKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTA5Cittc2dpZCAiRGV2aWNlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjk5IGxpYmZkaXNrL3NyYy9zdW4uYzo0MQorbXNnaWQgIkJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDUgbGliZmRpc2svc3JjL3NnaS5jOjExNTkgbGliZmRpc2svc3JjL3N1bi5jOjExMTUKK21zZ2lkICJJZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwOQorbXNnaWQgIlN0YXJ0LUMvSC9TIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzEwCittc2dpZCAiRW5kLUMvSC9TIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzExIGxpYmZkaXNrL3NyYy9ncHQuYzoyOTIxIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTYxCittc2dpZCAiQXR0cnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MAorbXNnaWQgIkVGSSBTeXN0ZW0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MgorbXNnaWQgIk1CUiBwYXJ0aXRpb24gc2NoZW1lIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjMKK21zZ2lkICJJbnRlbCBGYXN0IEZsYXNoIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjYKK21zZ2lkICJCSU9TIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OQorbXNnaWQgIlNvbnkgYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MAorbXNnaWQgIkxlbm92byBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczCittc2dpZCAiUG93ZXJQQyBQUmVQIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NgorbXNnaWQgIk9OSUUgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc3Cittc2dpZCAiT05JRSBjb25maWciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MAorbXNnaWQgIk1pY3Jvc29mdCByZXNlcnZlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgxCittc2dpZCAiTWljcm9zb2Z0IGJhc2ljIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MgorbXNnaWQgIk1pY3Jvc29mdCBMRE0gbWV0YWRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MworbXNnaWQgIk1pY3Jvc29mdCBMRE0gZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg0Cittc2dpZCAiV2luZG93cyByZWNvdmVyeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg1Cittc2dpZCAiSUJNIEdlbmVyYWwgUGFyYWxsZWwgRnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NgorbXNnaWQgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg5Cittc2dpZCAiSFAtVVggZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkwCittc2dpZCAiSFAtVVggc2VydmljZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2MSBsaWJmZGlzay9zcmMvc3VuLmM6NTIKK21zZ2lkICJMaW51eCBzd2FwIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTQKK21zZ2lkICJMaW51eCBmaWxlc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUKK21zZ2lkICJMaW51eCBzZXJ2ZXIgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk2Cittc2dpZCAiTGludXggcm9vdCAoeDg2KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3Cittc2dpZCAiTGludXggcm9vdCAoQVJNKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4Cittc2dpZCAiTGludXggcm9vdCAoeDg2LTY0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5Cittc2dpZCAiTGludXggcm9vdCAoQVJNLTY0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwCittc2dpZCAiTGludXggcm9vdFx0KElBLTY0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAxCittc2dpZCAiTGludXggcmVzZXJ2ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMgorbXNnaWQgIkxpbnV4IGhvbWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMyBsaWJmZGlzay9zcmMvc2dpLmM6NjQKK21zZ2lkICJMaW51eCBSQUlEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQKK21zZ2lkICJMaW51eCBleHRlbmRlZCBib290IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTIKK21zZ2lkICJGcmVlQlNEIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMworbXNnaWQgIkZyZWVCU0QgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0Cittc2dpZCAiRnJlZUJTRCBzd2FwIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUKK21zZ2lkICJGcmVlQlNEIFVGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2Cittc2dpZCAiRnJlZUJTRCBaRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNworbXNnaWQgIkZyZWVCU0QgVmludW0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMAorbXNnaWQgIkFwcGxlIEhGUy9IRlMrIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEKK21zZ2lkICJBcHBsZSBVRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMgorbXNnaWQgIkFwcGxlIFJBSUQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMworbXNnaWQgIkFwcGxlIFJBSUQgb2ZmbGluZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0Cittc2dpZCAiQXBwbGUgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1Cittc2dpZCAiQXBwbGUgbGFiZWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNgorbXNnaWQgIkFwcGxlIFRWIHJlY292ZXJ5IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjcKK21zZ2lkICJBcHBsZSBDb3JlIHN0b3JhZ2UiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMQorbXNnaWQgIlNvbGFyaXMgcm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMzCittc2dpZCAiU29sYXJpcyAvdXNyICYgQXBwbGUgWkZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzQKK21zZ2lkICJTb2xhcmlzIHN3YXAiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNQorbXNnaWQgIlNvbGFyaXMgYmFja3VwIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzYKK21zZ2lkICJTb2xhcmlzIC92YXIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNworbXNnaWQgIlNvbGFyaXMgL2hvbWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOAorbXNnaWQgIlNvbGFyaXMgYWx0ZXJuYXRlIHNlY3RvciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAxIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDAKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA0IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDMKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NgorbXNnaWQgIk5ldEJTRCBzd2FwIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDcKK21zZ2lkICJOZXRCU0QgRkZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgKK21zZ2lkICJOZXRCU0QgTEZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDkKK21zZ2lkICJOZXRCU0QgY29uY2F0ZW5hdGVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTAKK21zZ2lkICJOZXRCU0QgZW5jcnlwdGVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTEKK21zZ2lkICJOZXRCU0QgUkFJRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0Cittc2dpZCAiQ2hyb21lT1Mga2VybmVsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTUKK21zZ2lkICJDaHJvbWVPUyByb290IGZzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTYKK21zZ2lkICJDaHJvbWVPUyByZXNlcnZlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5Cittc2dpZCAiTWlkbmlnaHRCU0QgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYwCittc2dpZCAiTWlkbmlnaHRCU0QgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYxCittc2dpZCAiTWlkbmlnaHRCU0Qgc3dhcCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyCittc2dpZCAiTWlkbmlnaHRCU0QgVUZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjMKK21zZ2lkICJNaWRuaWdodEJTRCBaRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NAorbXNnaWQgIk1pZG5pZ2h0QlNEIFZpbnVtIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjcKK21zZ2lkICJDZXBoIEpvdXJuYWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OAorbXNnaWQgIkNlcGggRW5jcnlwdGVkIEpvdXJuYWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OQorbXNnaWQgIkNlcGggT1NEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAKK21zZ2lkICJDZXBoIGNyeXB0IE9TRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcxCittc2dpZCAiQ2VwaCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzIKK21zZ2lkICJDZXBoIGNyeXB0IGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NQorbXNnaWQgIk9wZW5CU0QgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc4Cittc2dpZCAiUU5YNiBmaWxlIHN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjgxCittc2dpZCAiUGxhbiA5IHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NTQ3Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdQVCBoZWFkZXIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjYzMAorbXNnaWQgIkZpcnN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjY0MgorbXNnaWQgIkxhc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Nzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJHUFQgUE1CUiBzaXplIG1pc21hdGNoICglPFBSSXU2ND4gIT0gJTxQUkl1NjQ+KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NzkyCittc2dpZCAiZ3B0OiBzdGF0KCkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo4MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3B0OiBjYW5ub3QgaGFuZGxlIGZpbGVzIHdpdGggbW9kZSAlbyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTA2NAorbXNnaWQgIkdQVCBIZWFkZXIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEwNjkKK21zZ2lkICJHUFQgRW50cmllcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEwMworbXNnaWQgIkZpcnN0IExCQSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEwOAorbXNnaWQgIkxhc3QgTEJBIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgTEJBIChMb2dpY2FsIEJsb2NrIEFkZHJlc3MpIG9mIHRoZSBiYWNrdXAgR1BUIGhlYWRlci4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTE0Cittc2dpZCAiQWx0ZXJuYXRpdmUgTEJBIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhcnQgb2YgdGhlIGFycmF5IG9mIHBhcnRpdGlvbiBlbnRyaWVzLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjExMjAKK21zZ2lkICJQYXJ0aXRpb24gZW50cmllcyBMQkEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExMjUKK21zZ2lkICJBbGxvY2F0ZWQgcGFydGl0aW9uIGVudHJpZXMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE0NDAKK21zZ2lkICIiCisiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBwcmltYXJ5IGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSAiCisidXNlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE0NDkKK21zZ2lkICIiCisiVGhlIHByaW1hcnkgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgYmFja3VwIGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSAiCisidXNlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgR1BUIGF0dHJpYnV0ZSBiaXQgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgR1BUIGF0dHJpYnV0ZSBzdHJpbmcgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczMQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gVVVJRCBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lIGNoYW5nZWQgZnJvbSAnJXMnIHRvICclLipzJy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NjgKK21zZ2lkICJUaGUgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiB1bmRlcnN0ZXBzIEZpcnN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc3NQorbXNnaWQgIlRoZSBlbmQgb2YgdGhlIHBhcnRpdGlvbiBvdmVyc3RlcHMgTGFzdFVzYWJsZUxCQS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MzQKK21zZ2lkICIiCisiVGhlIGRldmljZSBjb250YWlucyBoeWJyaWQgTUJSIC0tIHdyaXRpbmcgR1BUIG9ubHkuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIE1CUiAiCisibWFudWFsbHkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcxCittc2dpZCAiRGlzayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NzYKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5ODAKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4NQorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIGVudHJ5IGNoZWNrc3VtLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5MAorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTk0Cittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5OQorbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBwcmltYXJ5IGhlYWRlci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMDMKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMDgKK21zZ2lkICJEaXNrIGlzIHRvbyBzbWFsbCB0byBob2xkIGFsbCBkYXRhLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAxOAorbXNnaWQgIlByaW1hcnkgYW5kIGJhY2t1cCBoZWFkZXIgbWlzbWF0Y2guIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDI0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIHBhcnRpdGlvbiAldS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGlzIHRvbyBiaWcgZm9yIHRoZSBkaXNrLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAzOAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZW5kcyBiZWZvcmUgaXQgc3RhcnRzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0NworbXNnaWQgIk5vIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGVhZGVyIHZlcnNpb246ICVzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nICV1IG91dCBvZiAlZCBwYXJ0aXRpb25zLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA2MAorIywgYy1mb3JtYXQKK21zZ2lkICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnQuIgorbXNnaWRfcGx1cmFsICIiCisiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50cyAodGhlIGxhcmdlc3QgaXMgJXMpLiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGVycm9yIGRldGVjdGVkLiIKK21zZ2lkX3BsdXJhbCAiJWQgZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQyCittc2dpZCAiQWxsIHBhcnRpdGlvbnMgYXJlIGFscmVhZHkgaW4gdXNlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5NyBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyMgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWp1IGFscmVhZHkgdXNlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBsYXN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaXJzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyOQorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IEdQVCBkaXNrbGFiZWwgKEdVSUQ6ICVzKS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NDcKK21zZ2lkICJFbnRlciBuZXcgZGlzayBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NTQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgeW91ciBVVUlELiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2OAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4OAorbXNnaWQgIk5vdCBlbm91Z2ggc3BhY2UgZm9yIG5ldyBwYXJ0aXRpb24gdGFibGUhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXUgb3V0IG9mIHJhbmdlIChtaW5pbWFsIHN0YXJ0IGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwMgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV1IG91dCBvZiByYW5nZSAobWF4aW1hbCBlbmQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBudW1iZXIgb2YgdGhlIHBhcnRpdGlvbiBoYXMgYmUgc21hbGxlciB0aGFuICV6dS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NjMKK21zZ2lkICJDYW5ub3QgYWxsb2NhdGUgbWVtb3J5ISIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5MAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgbGVuZ3RoIGNoYW5nZWQgZnJvbSAlPFBSSXUzMj4gdG8gJTxQUkl1NjQ+LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5NAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYXR0cmlidXRlcyBvbiBwYXJ0aXRpb24gJXp1IGNoYW5nZWQgdG8gMHglMDE2PFBSSXg2ND4uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzQyCittc2dpZCAiRW50ZXIgR1VJRCBzcGVjaWZpYyBiaXQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHRvZ2dsZSB1bnN1cHBvcnRlZCBiaXQgJWx1IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxOAorbXNnaWQgIlR5cGUtVVVJRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxOQorbXNnaWQgIlVVSUQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MjAgbG9naW4tdXRpbHMvY2hmbi5jOjE1MCBsb2dpbi11dGlscy9jaGZuLmM6MTUyCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzA3Cittc2dpZCAiTmFtZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6ODQwCittc2dpZCAiRnJlZSBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6MTIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiAjJXp1LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvcGFydHR5cGUuYzoyNTkgbWlzYy11dGlscy9maW5kbW50LmM6NjU1IHNjaGVkdXRpbHMvY2hydC5jOjIwNgorIzogc2NoZWR1dGlscy9pb25pY2UuYzo3OSBzeXMtdXRpbHMvaHdjbG9jay5jOjMzNAorbXNnaWQgInVua25vd24iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ3Cittc2dpZCAiU0dJIHZvbGhkciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDgKK21zZ2lkICJTR0kgdHJrcmVwbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDkKK21zZ2lkICJTR0kgc2VjcmVwbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTAKK21zZ2lkICJTR0kgcmF3IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MQorbXNnaWQgIlNHSSBic2QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUyCittc2dpZCAiU0dJIHN5c3YiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUzCittc2dpZCAiU0dJIHZvbHVtZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTQKK21zZ2lkICJTR0kgZWZzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NQorbXNnaWQgIlNHSSBsdm9sIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NgorbXNnaWQgIlNHSSBybHZvbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTcKK21zZ2lkICJTR0kgeGZzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OAorbXNnaWQgIlNHSSB4ZnNsb2ciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5Cittc2dpZCAiU0dJIHhsdiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAKK21zZ2lkICJTR0kgeHZtIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MiBsaWJmZGlzay9zcmMvc3VuLmM6NTMKK21zZ2lkICJMaW51eCBuYXRpdmUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjE1OQorbXNnaWQgIlNHSSBpbmZvIGNyZWF0ZWQgb24gc2Vjb25kIHNlY3Rvci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI1OQorbXNnaWQgIkRldGVjdGVkIGFuIFNHSSBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4MiBsaWJmZGlzay9zcmMvc3VuLmM6NzcwCittc2dpZCAiUGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODcgbGliZmRpc2svc3JjL3N1bi5jOjc3NQorbXNnaWQgIkV4dHJhIHNlY3RzL2N5bCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjk3Cittc2dpZCAiQm9vdGZpbGUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjM5NQorbXNnaWQgIiIKKyJJbnZhbGlkIGJvb3RmaWxlISAgVGhlIGJvb3RmaWxlIG11c3QgYmUgYW4gYWJzb2x1dGUgbm9uLXplcm8gcGF0aG5hbWUsIGUuZy4gIgorIlwiL3VuaXhcIiBvciBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwMQorIywgYy1mb3JtYXQKK21zZ2lkICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZSBtYXhpbXVtLiIKK21zZ2lkX3BsdXJhbCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGVzIG1heGltdW0uIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwOAorbXNnaWQgIkJvb3RmaWxlIG11c3QgaGF2ZSBhIGZ1bGx5IHF1YWxpZmllZCBwYXRobmFtZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQxNAorbXNnaWQgIiIKKyJCZSBhd2FyZSB0aGF0IHRoZSBib290ZmlsZSBpcyBub3QgY2hlY2tlZCBmb3IgZXhpc3RlbmNlLiAgU0dJJ3MgZGVmYXVsdCBpcyAiCisiXCIvdW5peFwiLCBhbmQgZm9yIGJhY2t1cCBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgY3VycmVudCBib290IGZpbGUgaXM6ICVzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDEKK21zZ2lkICJFbnRlciBvZiB0aGUgbmV3IGJvb3QgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQ2Cittc2dpZCAiQm9vdCBmaWxlIGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ1NworIywgYy1mb3JtYXQKK21zZ2lkICJCb290ZmlsZSBoYXMgYmVlbiBjaGFuZ2VkIHRvIFwiJXNcIi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5NgorbXNnaWQgIk1vcmUgdGhhbiBvbmUgZW50aXJlIGRpc2sgZW50cnkgcHJlc2VudC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYwMyBsaWJmZGlzay9zcmMvc3VuLmM6NDU4Cittc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEzCittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gc2hvdWxkIHN0YXJ0IGF0IGJsb2NrIDAsIG5vdCBhdCBibG9jayAlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyOAorbXNnaWQgIlBhcnRpdGlvbiAxMSBzaG91bGQgY292ZXIgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9yLiIKK21zZ2lkX3BsdXJhbCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3JzLiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NjMgbGliZmRpc2svc3JjL3NnaS5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3I6IHNlY3RvciAlOHUiCittc2dpZF9wbHVyYWwgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3RvcnM6IHNlY3RvcnMgJTh1LSV1IgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY5OAorbXNnaWQgIlRoZSBib290IHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwMgorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwNgorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBoYXMgbm8gc3dhcCB0eXBlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA5Cittc2dpZCAiWW91IGhhdmUgY2hvc2VuIGFuIHVudXN1YWwgYm9vdGZpbGUgbmFtZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjc1OQorbXNnaWQgIlBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQ0Cittc2dpZCAiQXR0ZW1wdGluZyB0byBnZW5lcmF0ZSBlbnRpcmUgZGlzayBlbnRyeSBhdXRvbWF0aWNhbGx5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQ5Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIGlzIGFscmVhZHkgY292ZXJlZCB3aXRoIHBhcnRpdGlvbnMuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NTMKK21zZ2lkICJZb3UgZ290IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg3NSBsaWJmZGlzay9zcmMvc3VuLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ICVzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4OTkgbGliZmRpc2svc3JjL3NnaS5jOjk0OQorbXNnaWQgIiIKKyJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgZWxldmVudGggcGFydGl0aW9uIGNvdmVycyB0aGUgZW50aXJlIGRpc2sgIgorImFuZCBpcyBvZiB0eXBlICdTR0kgdm9sdW1lJy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjkxNCBsaWJmZGlzay9zcmMvc3VuLmM6NjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgJXMgb3IgKyVzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjk4NSBsaWJmZGlzay9zcmMvc3VuLmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyAiCisidmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDUxCittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTR0kgZGlza2xhYmVsLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3MAorbXNnaWQgIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3NgorbXNnaWQgIiIKKyJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiA5IGFzIHZvbHVtZSBoZWFkZXIgKDApLCBhbmQgcGFydGl0aW9uIDExIGFzICIKKyJlbnRpcmUgdm9sdW1lICg2KSwgYXMgSVJJWCBleHBlY3RzIGl0LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA4NQorbXNnaWQgIiIKKyJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwIGlzIG9mIHR5cGUgXCJTR0kgIgorInZvbGhkclwiLCB0aGUgSVJJWCBzeXN0ZW0gd2lsbCByZWx5IG9uIGl0IHRvIHJldHJpZXZlIGZyb20gaXRzIGRpcmVjdG9yeSAiCisic3RhbmRhbG9uZSB0b29scyBsaWtlIHNhc2ggYW5kIGZ4LiBPbmx5IHRoZSBcIlNHSSB2b2x1bWVcIiBlbnRpcmUgZGlzayAiCisic2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiBBcmUgeW91IHN1cmUgYWJvdXQgdGFnZ2luZyB0aGlzIHBhcnRpdGlvbiAiCisiZGlmZmVyZW50bHk/IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MAorbXNnaWQgIlVuYXNzaWduZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQyCittc2dpZCAiU3VuT1Mgcm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDMKK21zZ2lkICJTdW5PUyBzd2FwIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NAorbXNnaWQgIlN1bk9TIHVzciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDUKK21zZ2lkICJXaG9sZSBkaXNrIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NgorbXNnaWQgIlN1bk9TIHN0YW5kIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NworbXNnaWQgIlN1bk9TIHZhciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDgKK21zZ2lkICJTdW5PUyBob21lIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0OQorbXNnaWQgIlN1bk9TIGFsdCBzZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MAorbXNnaWQgIlN1bk9TIGNhY2hlZnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUxCittc2dpZCAiU3VuT1MgcmVzZXJ2ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEzNworbXNnaWQgIiIKKyJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIFByb2JhYmx5IHlvdSdsbCBoYXZlIHRvIHNldCBhbGwgIgorInRoZSB2YWx1ZXMsIGUuZy4gaGVhZHMsIHNlY3RvcnMsIGN5bGluZGVycyBhbmQgcGFydGl0aW9ucyBvciBmb3JjZSBhIGZyZXNoICIKKyJsYWJlbCAocyBjb21tYW5kIGluIG1haW4gbWVudSkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1MAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdmVyc2lvbiBbJWRdLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLnNhbml0eSBbMHglMDh4XS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5ucGFydHMgWyV1XS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2NQorbXNnaWQgIiIKKyJXYXJuaW5nOiBXcm9uZyB2YWx1ZXMgbmVlZCB0byBiZSBmaXhlZCB1cCBhbmQgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTkyCittc2dpZCAiSGVhZHMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE5NAorbXNnaWQgIlNlY3RvcnMvdHJhY2siCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjI5NworbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU3VuIGRpc2tsYWJlbC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZG9lc24ndCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggb3RoZXJzIGluIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgMC0ldS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NSBsaWJmZGlzay9zcmMvc3VuLmM6NDcxCisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTI4Cittc2dpZCAiIgorIk90aGVyIHBhcnRpdGlvbnMgYWxyZWFkeSBjb3ZlciB0aGUgd2hvbGUgZGlzay4gRGVsZXRlIHNvbWUvc2hyaW5rIHRoZW0gIgorImJlZm9yZSByZXRyeS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU5MworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWQgaXMgYWxyZWFkeSBhbGxvY2F0ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYwMAorbXNnaWQgIiIKKyJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgdGhpcmQgcGFydGl0aW9uIGNvdmVycyB0aGUgd2hvbGUgZGlzayBhbmQgIgorImlzIG9mIHR5cGUgYFdob2xlIGRpc2snIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25pbmcgdGhlIGZpcnN0IHNlY3RvciBmcm9tICV1IHRvICV1IHRvIGJlIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Njg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZW4ndCBjb3ZlcmVkIHRoZSB3aG9sZSBkaXNrIHdpdGggdGhlIDNyZCBwYXJ0aXRpb24sIGJ1dCB5b3VyIHZhbHVlXG4iCisiJWx1ICVzIGNvdmVycyBzb21lIG90aGVyIHBhcnRpdGlvbi4gWW91ciBlbnRyeSBoYXMgYmVlbiBjaGFuZ2VkXG4iCisidG8gJWx1ICVzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIklmIHlvdSB3YW50IHRvIG1haW50YWluIFN1bk9TL1NvbGFyaXMgY29tcGF0aWJpbGl0eSwgY29uc2lkZXIgbGVhdmluZyB0aGlzICIKKyJwYXJ0aXRpb24gYXMgV2hvbGUgZGlzayAoNSksIHN0YXJ0aW5nIGF0IDAsIHdpdGggJXUgc2VjdG9ycyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzUwCittc2dpZCAiTGFiZWwgSUQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc1NQorbXNnaWQgIlZvbHVtZSBJRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzY1Cittc2dpZCAiQWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6ODcxCittc2dpZCAiTnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg5NgorbXNnaWQgIkV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MjAKK21zZ2lkICJJbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTQ0Cittc2dpZCAiUm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk2OAorbXNnaWQgIk51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwMzcKK21zZ2lkICIiCisiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gMyBhcyBXaG9sZSBkaXNrICg1KSxcbiIKKyJhcyBTdW5PUy9Tb2xhcmlzIGV4cGVjdHMgaXQgYW5kIGV2ZW4gTGludXggbGlrZXMgaXQuXG4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNDgKK21zZ2lkICIiCisiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMFxuIgorImlzIFVGUywgRVhUMkZTIGZpbGVzeXN0ZW0gb3IgU3VuT1Mgc3dhcC4gUHV0dGluZyBMaW51eCBzd2FwXG4iCisidGhlcmUgbWF5IGRlc3Ryb3kgeW91ciBwYXJ0aXRpb24gdGFibGUgYW5kIGJvb3RibG9jay5cbiIKKyJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdGFnIHRoZSBwYXJ0aXRpb24gYXMgTGludXggc3dhcD8iCittc2dzdHIgIiIKKworIzogbGliL3BhZ2VyLmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgIndhaXRwaWQgZmFpbGVkICglcykiCittc2dzdHIgIiIKKworIzogbGliL3BhdGguYzoyMDkgc3lzLXV0aWxzL2xzY3B1LmM6MTgxOAorbXNnaWQgImZhaWxlZCB0byBjYWxsb2NhdGUgY3B1IHNldCIKK21zZ3N0ciAiIgorCisjOiBsaWIvcGF0aC5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3QgJXMiCittc2dzdHIgIiIKKworIzogbGliL3BhdGguYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrICVzIgorbXNnc3RyICIiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzIKK21zZ2lkICJjYW4gbm90IG9wZW4gVU5JWCBzb2NrZXQiCittc2dzdHIgIiIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3OAorbXNnaWQgImNhbiBub3Qgc2V0IG9wdGlvbiBmb3IgVU5JWCBzb2NrZXQiCittc2dzdHIgIiIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo5MQorbXNnaWQgImNhbiBub3QgY29ubmVjdCBvbiBVTklYIHNvY2tldCIKK21zZ3N0ciAiIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGx5bW91dGggcmVxdWVzdCAlYyBpcyBub3QgaW1wbGVtZW50ZWQiCittc2dzdHIgIiIKKworIzogbGliL3JhbmR1dGlscy5jOjEzNgorbXNnaWQgImxpYmMgcHNldWRvLXJhbmRvbSBmdW5jdGlvbnMiCittc2dzdHIgIiIKKworIzogbGliL3N3YXBwcm9iZXIuYzoxNyBsaWIvc3dhcHByb2Jlci5jOjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gcHJvYmUgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYmlndW91cyBwcm9iaW5nIHJlc3VsdDsgdXNlIHdpcGVmcyg4KSIKK21zZ3N0ciAiIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSB2YWxpZCBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bnN1cHBvcnRlZCBzd2FwIHZlcnNpb24gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTAgbG9naW4tdXRpbHMvY2hzaC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT5dXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjkzCittc2dpZCAiQ2hhbmdlIHlvdXIgZmluZ2VyIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5NgorbXNnaWQgIiAtZiwgLS1mdWxsLW5hbWUgPGZ1bGwtbmFtZT4gIHJlYWwgbmFtZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5NworbXNnaWQgIiAtbywgLS1vZmZpY2UgPG9mZmljZT4gICAgICAgIG9mZmljZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTgKK21zZ2lkICIgLXAsIC0tb2ZmaWNlLXBob25lIDxwaG9uZT4gICBvZmZpY2UgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk5Cittc2dpZCAiIC1oLCAtLWhvbWUtcGhvbmUgPHBob25lPiAgICAgaG9tZSBwaG9uZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAxIGxvZ2luLXV0aWxzL2Noc2guYzo3OAorbXNnaWQgIiAtdSwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmllbGQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyMSBsb2dpbi11dGlscy9jaHNoLmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBoYXMgaWxsZWdhbCBjaGFyYWN0ZXJzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTAgbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTYyCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luLmRlZnMgZm9yYmlkcyBzZXR0aW5nICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE1OCBsb2dpbi11dGlscy9jaGZuLmM6MzA5Cittc2dpZCAiT2ZmaWNlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIgbG9naW4tdXRpbHMvY2hmbi5jOjE2NCBsb2dpbi11dGlscy9jaGZuLmM6MzExCittc2dpZCAiT2ZmaWNlIFBob25lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjggbG9naW4tdXRpbHMvY2hmbi5jOjE3MCBsb2dpbi11dGlscy9jaGZuLmM6MzEzCittc2dpZCAiSG9tZSBQaG9uZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MjMzCittc2dpZCAiQWJvcnRlZC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBoYXMgdW5leHBlY3RlZCB2YWx1ZTogJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjI5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBkb2VzIG5vdCBhbGxvdyBhbnkgY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIGNoYW5nZWQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQwOCBsb2dpbi11dGlscy9jaHNoLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdSAodXNlciAlZCkgZG9uJ3QgZXhpc3QuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MTQgbG9naW4tdXRpbHMvY2hzaC5jOjI0OCBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBcIiVzXCIgZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MjAgbG9naW4tdXRpbHMvY2hzaC5jOjI1NAorbXNnaWQgImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBmaW5nZXIgaW5mbyBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDM1IGxvZ2luLXV0aWxzL2Noc2guYzoyNzAKK21zZ2lkICJVbmtub3duIHVzZXIgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDQxIGxvZ2luLXV0aWxzL2Noc2guYzoyNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgc2V0IGRlZmF1bHQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MgorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBmaW5nZXIgaW5mb3JtYXRpb24gZm9yICVzLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIG5vdCBjaGFuZ2VkLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3MgorbXNnaWQgIkNoYW5nZSB5b3VyIGxvZ2luIHNoZWxsLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBzcGVjaWZ5IGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc2Cittc2dpZCAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIHByaW50IGxpc3Qgb2Ygc2hlbGxzIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjEwMAorbXNnaWQgIk5vIGtub3duIHNoZWxscy4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIwMAorbXNnaWQgInNoZWxsIG11c3QgYmUgYSBmdWxsIHBhdGggbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBpcyBub3QgZXhlY3V0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjEwCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IFwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjE0IGxvZ2luLXV0aWxzL2Noc2guYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLlxuIgorIlVzZSAlcyAtbCB0byBzZWUgbGlzdC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIHNoZWxsIG9mICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyOTUKK21zZ2lkICIiCisicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSBhbHRlcmluZywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzAwCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdXIgc2hlbGwgaXMgbm90IGluICVzLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgc2hlbGwgZm9yICVzLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMTIKK21zZ2lkICJOZXcgc2hlbGwiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyMAorbXNnaWQgIlNoZWxsIG5vdCBjaGFuZ2VkLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzI1Cittc2dpZCAiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyOQorbXNnaWQgIiIKKyJzZXRwd25hbSBmYWlsZWRcbiIKKyJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoZWxsIGNoYW5nZWQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvaXNsb2NhbC5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyA8cGFzc3dvcmRmaWxlPiA8dXNlcm5hbWU+Li4uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjE3NCBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjAgc3lzLXV0aWxzL2RtZXNnLmM6MTE5MworIzogc3lzLXV0aWxzL2xzaXBjLmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdGltZSBmb3JtYXQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyODEgbG9naW4tdXRpbHMvbGFzdC5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcnJ1cHRlZCAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NDM5IGxvZ2luLXV0aWxzL2xhc3QuYzo0NTAKK21zZ2lkICJwcmVhbGxvY2F0aW9uIHNpemUgZXhjZWVkZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU2OQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+Li4uXSBbPHR0eT4uLi5dXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3MgorbXNnaWQgIlNob3cgYSBsaXN0aW5nIG9mIGxhc3QgbG9nZ2VkIGluIHVzZXJzLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzUKK21zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzYKK21zZ2lkICIgLWEsIC0taG9zdGxhc3QgICAgICAgZGlzcGxheSBob3N0bmFtZXMgaW4gdGhlIGxhc3QgY29sdW1uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NworbXNnaWQgIiAtZCwgLS1kbnMgICAgICAgICAgICB0cmFuc2xhdGUgdGhlIElQIG51bWJlciBiYWNrIGludG8gYSBob3N0bmFtZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgIHVzZSBhIHNwZWNpZmljIGZpbGUgaW5zdGVhZCBvZiAlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODAKK21zZ2lkICIgLUYsIC0tZnVsbHRpbWVzICAgICAgcHJpbnQgZnVsbCBsb2dpbiBhbmQgbG9nb3V0IHRpbWVzIGFuZCBkYXRlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODEKK21zZ2lkICIgLWksIC0taXAgICAgICAgICAgICAgZGlzcGxheSBJUCBudW1iZXJzIGluIG51bWJlcnMtYW5kLWRvdHMgbm90YXRpb25cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgyCittc2dpZCAiIC1uLCAtLWxpbWl0IDxudW1iZXI+IGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgzCittc2dpZCAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIGRvbid0IGRpc3BsYXkgdGhlIGhvc3RuYW1lIGZpZWxkXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NAorbXNnaWQgIiAtcywgLS1zaW5jZSA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyBzaW5jZSB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg1Cittc2dpZCAiIC10LCAtLXVudGlsIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHVudGlsIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODYKK21zZ2lkICIgLXAsIC0tcHJlc2VudCA8dGltZT4gZGlzcGxheSB3aG8gd2VyZSBwcmVzZW50IGF0IHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODcKK21zZ2lkICIgLXcsIC0tZnVsbG5hbWVzICAgICAgZGlzcGxheSBmdWxsIHVzZXIgYW5kIGRvbWFpbiBuYW1lc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODgKK21zZ2lkICIiCisiIC14LCAtLXN5c3RlbSAgICAgICAgIGRpc3BsYXkgc3lzdGVtIHNodXRkb3duIGVudHJpZXMgYW5kIHJ1biBsZXZlbCBjaGFuZ2VzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OQorbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wcyBpbiB0aGUgc3BlY2lmaWVkIDxmb3JtYXQ+OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpbWV8c2hvcnR8ZnVsbHxpc29cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6ODgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlcyBiZWdpbnMgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk1NiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY0CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY4Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTc3IGxvZ2luLXV0aWxzL2xhc3QuYzo5ODIgbG9naW4tdXRpbHMvbGFzdC5jOjk4NworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lIHZhbHVlIFwiJXNcIiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6MjkgbG9naW4tdXRpbHMvbGlidXNlci5jOjMxCittc2dpZCAiQ291bGRuJ3QgZHJvcCBncm91cCBwcml2aWxlZ2VzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICJsaWJ1c2VyIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJXMuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1MgorbXNnaWQgImNoYW5naW5nIHVzZXIgYXR0cmlidXRlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICV1IGlzIDYwLgorIzogbG9naW4tdXRpbHMvbG9naW4uYzoxODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZWQgb3V0IGFmdGVyICV1IHNlY29uZHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6IGNhbid0IHJlb3BlbiB0dHk6ICVtIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlcyBpcyBub3QgYSB0ZXJtaW5hbCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxMAorIywgYy1mb3JtYXQKK21zZ2lkICJjaG93biAoJXMsICVsdSwgJWx1KSBmYWlsZWQ6ICVtIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzE0CisjLCBjLWZvcm1hdAorbXNnaWQgImNobW9kICglcywgJXUpIGZhaWxlZDogJW0iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozNzUKK21zZ2lkICJGQVRBTDogYmFkIHR0eSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXM6IGNoYW5nZSBwZXJtaXNzaW9ucyBmYWlsZWQ6ICVtIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgbG9naW46ICUuKnMgIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTMxCisjLCBjLWZvcm1hdAorbXNnaWQgImZyb20gJS4qc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9uICUuKnNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjU1MgorbXNnaWQgIndyaXRlIGxhc3Rsb2cgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRJQUxVUCBBVCAlcyBCWSAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1NworIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIEZST00gJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE5Cittc2dpZCAibG9naW46ICIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc0NQorIywgYy1mb3JtYXQKK21zZ2lkICJQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkbid0IGluaXRpYWxpemUgUEFNOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxNworIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gJXUgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODI1IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg0MAorIywgYy1mb3JtYXQKK21zZ2lkICJUT08gTUFOWSBMT0dJTiBUUklFUyAoJXUpIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg0NgorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gU0VTU0lPTiBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxvZ2luIGluY29ycmVjdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODgyIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTIzMiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNTUKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiBzZXR1cCBwcm9ibGVtLCBhYm9ydC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVMTCB1c2VyIG5hbWUgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVElPQ1NDVFRZIGZhaWxlZDogJW0iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTc0CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luOiAtaCBpcyBmb3Igc3VwZXJ1c2VyIG9ubHlcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6IGxvZ2luIFstcF0gWy1oIDxob3N0Pl0gWy1IXSBbWy1mXSA8dXNlcm5hbWU+XVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE5MQorbXNnaWQgIkJlZ2luIGEgc2Vzc2lvbiBvbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTIzMworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHVzZXIgbmFtZSBcIiVzXCIgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXBzIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjc5Cittc2dpZCAic2V0Z2lkKCkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMwOQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBuZXcgbWFpbC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbWFpbC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMjUKK21zZ2lkICJzZXR1aWQoKSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzMxIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNoYW5nZSBkaXJlY3RvcnkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzOCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2dpbmcgaW4gd2l0aCBob21lID0gXCIvXCIuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzY3Cittc2dpZCAiY291bGRuJ3QgZXhlYyBzaGVsbCBzY3JpcHQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzY5Cittc2dpZCAibm8gc2hlbGwiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBjb250YWlucyBpbnZhbGlkIG51bWVyaWNhbCB2YWx1ZTogJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6Mzc1Cittc2dpZCAiaHVzaCBsb2dpbiBzdGF0dXM6IHJlc3RvcmUgb3JpZ2luYWwgSURzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOCBzeXMtdXRpbHMvbHNjcHUuYzoxNTQwIHN5cy11dGlscy9sc2NwdS5jOjE1NTAKK21zZ2lkICJubyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNyBtaXNjLXV0aWxzL2xzYmxrLmM6MTgxCittc2dpZCAidXNlciBuYW1lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3Cittc2dpZCAiVXNlcm5hbWUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTggc3lzLXV0aWxzL3JlbmljZS5jOjU0Cittc2dpZCAidXNlciBJRCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgInBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgIlBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorbXNnaWQgImxvZ2luIGJ5IHBhc3N3b3JkIGRpc2FibGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAiTG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKK21zZ2lkICJwYXNzd29yZCBkZWZpbmVkLCBidXQgbG9ja2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCittc2dpZCAiUGFzc3dvcmQgaXMgbG9ja2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAibG9nIGluIGRpc2FibGVkIGJ5IG5vbG9naW4oOCkgb3IgcGFtX25vbG9naW4oOCkiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJObyBsb2dpbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgInByaW1hcnkgZ3JvdXAgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgIlByaW1hcnkgZ3JvdXAiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjQKK21zZ2lkICJwcmltYXJ5IGdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworbXNnaWQgImhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3Cittc2dpZCAiSG9tZSBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKK21zZ2lkICJsb2dpbiBzaGVsbCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorbXNnaWQgIlNoZWxsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiZnVsbCB1c2VyIG5hbWUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJHZWNvcyBmaWVsZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorbXNnaWQgImRhdGUgb2YgbGFzdCBsb2dpbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorbXNnaWQgIkxhc3QgbG9naW4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJsYXN0IHR0eSB1c2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCittc2dpZCAiTGFzdCB0ZXJtaW5hbCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorbXNnaWQgImhvc3RuYW1lIGR1cmluZyB0aGUgbGFzdCBzZXNzaW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiTGFzdCBob3N0bmFtZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworbXNnaWQgImRhdGUgb2YgbGFzdCBmYWlsZWQgbG9naW4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJGYWlsZWQgbG9naW4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKK21zZ2lkICJ3aGVyZSBkaWQgdGhlIGxvZ2luIGZhaWw/IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0Cittc2dpZCAiRmFpbGVkIGxvZ2luIHRlcm1pbmFsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAidXNlcidzIGh1c2ggc2V0dGluZ3MiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJIdXNoZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzYKK21zZ2lkICJkYXlzIHVzZXIgaXMgd2FybmVkIG9mIHBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzYKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIHdhcm4gaW50ZXJ2YWwiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzcKK21zZ2lkICJwYXNzd29yZCBleHBpcmF0aW9uIGRhdGUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzcKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4Cittc2dpZCAiZGF0ZSBvZiBsYXN0IHBhc3N3b3JkIGNoYW5nZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorbXNnaWQgIlBhc3N3b3JkIGNoYW5nZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzkKK21zZ2lkICJudW1iZXIgb2YgZGF5cyByZXF1aXJlZCBiZXR3ZWVuIGNoYW5nZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzkKK21zZ2lkICJNaW5pbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAibWF4IG51bWJlciBvZiBkYXlzIGEgcGFzc3dvcmQgbWF5IHJlbWFpbiB1bmNoYW5nZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKK21zZ2lkICJNYXhpbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCittc2dpZCAidGhlIHVzZXIncyBzZWN1cml0eSBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCittc2dpZCAiU2VsaW51eCBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBydW4gYnkgdGhlIHVzZXIiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKK21zZ2lkICJSdW5uaW5nIHByb2Nlc3NlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzYgbWlzYy11dGlscy9sc2Jsay5jOjIzMQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGNvbHVtbnMgc3BlY2lmaWVkLCB0aGUgbGltaXQgaXMgJXp1IGNvbHVtbnMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDMgc3lzLXV0aWxzL2xzaXBjLmM6NDU2Cittc2dpZCAidW5zdXBwb3J0ZWQgdGltZSB0eXBlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQ3Cittc2dpZCAiZmFpbGVkIHRvIGNvbXBvc2UgdGltZSBzdHJpbmciCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo2NDgKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA3MQorbXNnaWQgImludGVybmFsIGVycm9yOiB1bmtub3duIGNvbHVtbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzUgc3lzLXV0aWxzL2xzaXBjLmM6NTAzIHN5cy11dGlscy9sc2lwYy5jOjYyNQorIzogc3lzLXV0aWxzL2xzaXBjLmM6NjgwIHN5cy11dGlscy9sc2lwYy5jOjgzOCBzeXMtdXRpbHMvbHNpcGMuYzoxMDM2Cittc2dpZCAiZmFpbGVkIHRvIHNldCBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTE2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTGFzdCBsb2dzOlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyOCBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMSBtaXNjLXV0aWxzL21jb29raWUuYzo4MiBtaXNjLXV0aWxzL3V1aWRkLmM6NzAKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI1IHN5cy11dGlscy9kbWVzZy5jOjI2NCBzeXMtdXRpbHMvaXBjbWsuYzo2NgorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2MCBzeXMtdXRpbHMvbHNpcGMuYzoyNzcgc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA0CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjk1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MCB0ZXh0LXV0aWxzL2xpbmUuYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMxCittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBrbm93biB1c2VycyBpbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNAorbXNnaWQgIiAtYSwgLS1hY2MtZXhwaXJhdGlvbiAgICAgZGlzcGxheSBpbmZvIGFib3V0IHBhc3N3b3JkcyBleHBpcmF0aW9uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM1Cittc2dpZCAiIgorIiAtYywgLS1jb2xvbi1zZXBhcmF0ZSAgICAgZGlzcGxheSBkYXRhIGluIGEgZm9ybWF0IHNpbWlsYXIgdG8gL2V0Yy9wYXNzd2RcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzYgc3lzLXV0aWxzL2xzaXBjLmM6Mjk2Cittc2dpZCAiIC1lLCAtLWV4cG9ydCAgICAgICAgICAgICBkaXNwbGF5IGluIGFuIGV4cG9ydC1hYmxlIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzcKK21zZ2lkICIiCisiIC1mLCAtLWZhaWxlZCAgICAgICAgICAgICBkaXNwbGF5IGRhdGEgYWJvdXQgdGhlIHVzZXJzJyBsYXN0IGZhaWxlZCBsb2dpbnNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzgKK21zZ2lkICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM5Cittc2dpZCAiIgorIiAtZywgLS1ncm91cHM9PGdyb3Vwcz4gICAgZGlzcGxheSB1c2VycyBiZWxvbmdpbmcgdG8gYSBncm91cCBpbiA8Z3JvdXBzPlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MAorbXNnaWQgIiIKKyIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIHNob3cgaW5mbyBhYm91dCB0aGUgdXNlcnMnIGxhc3QgbG9naW4gc2Vzc2lvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDEKK21zZ2lkICIgLWwsIC0tbG9naW5zPTxsb2dpbnM+ICAgIGRpc3BsYXkgb25seSB1c2VycyBmcm9tIDxsb2dpbnM+XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQyIHN5cy11dGlscy9sc2lwYy5jOjI5OAorbXNnaWQgIiIKKyIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGRpc3BsYXkgZWFjaCBwaWVjZSBvZiBpbmZvcm1hdGlvbiBvbiBhIG5ldyBsaW5lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQzIHN5cy11dGlscy9sc2lwYy5jOjI5MQorbXNnaWQgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDQgc3lzLXV0aWxzL2xzaXBjLmM6MjkyCittc2dpZCAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBkb24ndCB0cnVuY2F0ZSBvdXRwdXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDUgc3lzLXV0aWxzL2xzaXBjLmM6MzAwCittc2dpZCAiIC1vLCAtLW91dHB1dFs9PGxpc3Q+XSAgICBkZWZpbmUgdGhlIGNvbHVtbnMgdG8gb3V0cHV0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ2Cittc2dpZCAiIgorIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGxvZ2luIGJ5IHBhc3N3b3JkLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NyBzeXMtdXRpbHMvbHNpcGMuYzozMDIKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIGRpc3BsYXkgaW4gcmF3IG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDgKK21zZ2lkICIgLXMsIC0tc3lzdGVtLWFjY3MgICAgICAgIGRpc3BsYXkgc3lzdGVtIGFjY291bnRzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ5IHN5cy11dGlscy9sc2lwYy5jOjI5MworbXNnaWQgIiAgICAgLS10aW1lLWZvcm1hdD08dHlwZT4gZGlzcGxheSBkYXRlcyBpbiBzaG9ydCwgZnVsbCBvciBpc28gZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUwCittc2dpZCAiIC11LCAtLXVzZXItYWNjcyAgICAgICAgICBkaXNwbGF5IHVzZXIgYWNjb3VudHNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTEKK21zZ2lkICIgLVosIC0tY29udGV4dCAgICAgICAgICAgIGRpc3BsYXkgU0VMaW51eCBjb250ZXh0c1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MgorbXNnaWQgIiAteiwgLS1wcmludDAgICAgICAgICAgICAgZGVsaW1pdCB1c2VyIGVudHJpZXMgd2l0aCBhIG51bCBjaGFyYWN0ZXJcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTMKK21zZ2lkICIgICAgIC0td3RtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3Igd3RtcFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1NAorbXNnaWQgIiAgICAgLS1idG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciBidG1wXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjU5IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDcgc3lzLXV0aWxzL2xzY3B1LmM6MTk3OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDQyCittc2dpZCAiZmFpbGVkIHRvIHJlcXVlc3Qgc2VsaW51eCBzdGF0ZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NTYgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDYwCittc2dpZCAiT25seSBvbmUgdXNlciBtYXkgYmUgc3BlY2lmaWVkLiBVc2UgLWwgZm9yIG11bHRpcGxlIHVzZXJzLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo0OSBsb2dpbi11dGlscy9uZXdncnAuYzo1NQorbXNnaWQgImNvdWxkIG5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo1NworbXNnaWQgImdldGxpbmUoKSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTQ4Cittc2dpZCAiUGFzc3dvcmQ6ICIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNTQgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMDUKK21zZ2lkICJjcnlwdCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Z3JvdXA+XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTY5Cittc2dpZCAiTG9nIGluIHRvIGEgbmV3IGdyb3VwLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIwNworbXNnaWQgIndobyBhcmUgeW91PyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTEgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjIzIHN5cy11dGlscy9uc2VudGVyLmM6NDIzCittc2dpZCAic2V0Z2lkIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTYgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjE4Cittc2dpZCAibm8gc3VjaCBncm91cCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjEgc3lzLXV0aWxzL21vdW50LmM6NDkxCittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI3IHN5cy11dGlscy9uc2VudGVyLmM6NDI1Cittc2dpZCAic2V0dWlkIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjkKK21zZ2lkICJQb2xpdGVseSByZWZ1c2UgYSBsb2dpbi5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhpcyBhY2NvdW50IGlzIGN1cnJlbnRseSBub3QgYXZhaWxhYmxlLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBzZXNzaW9uOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMDQKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGNoaWxkIHByb2Nlc3MiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMyMQorbXNnaWQgImNhbm5vdCBibG9jayBzaWduYWxzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMzNSBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNDMKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM0OSBtaXNjLXV0aWxzL3V1aWRkLmM6NDA3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzcxCittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNzQKK21zZ2lkICIgKGNvcmUgZHVtcGVkKSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZCwga2lsbGluZyBzaGVsbC4uLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC4uLmtpbGxlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0ODYKK21zZ2lkICJtYXkgbm90IGJlIHVzZWQgYnkgbm9uLXJvb3QgdXNlcnMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTE0Cittc2dpZCAiaW5jb3JyZWN0IHBhc3N3b3JkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjU5OAorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXBzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjYxMyBzeXMtdXRpbHMvZWplY3QuYzo2NjUKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwIGlkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjYxNSBzeXMtdXRpbHMvZWplY3QuYzo2NjgKK21zZ2lkICJjYW5ub3Qgc2V0IHVzZXIgaWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2ODkgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY5MAorbXNnaWQgIiIKKyJcbiIKKyJSdW4gPGNvbW1hbmQ+IHdpdGggdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCBvZiA8dXNlcj4uICBJZiAtdSBpc1xuIgorIm5vdCBnaXZlbiwgZmFsbCBiYWNrIHRvIHN1KDEpLWNvbXBhdGlibGUgc2VtYW50aWNzIGFuZCBleGVjdXRlIHN0YW5kYXJkICIKKyJzaGVsbC5cbiIKKyJUaGUgb3B0aW9ucyAtYywgLWYsIC1sLCBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC11LlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY5NworbXNnaWQgIiAtdSwgLS11c2VyIDx1c2VyPiAgICAgICAgICAgICB1c2VybmFtZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwMgorbXNnaWQgIiIKKyJcbiIKKyJDaGFuZ2UgdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCB0byB0aGF0IG9mIDx1c2VyPi5cbiIKKyJBIG1lcmUgLSBpbXBsaWVzIC1sLiAgSWYgPHVzZXI+IGlzIG5vdCBnaXZlbiwgcm9vdCBpcyBhc3N1bWVkLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwOQorbXNnaWQgIiAtbSwgLXAsIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgIGRvIG5vdCByZXNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTAKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgICAgICAgICBzcGVjaWZ5IHRoZSBwcmltYXJ5IGdyb3VwXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzExCittc2dpZCAiIgorIiAtRywgLS1zdXBwLWdyb3VwIDxncm91cD4gICAgICAgIHNwZWNpZnkgYSBzdXBwbGVtZW50YWwgZ3JvdXBcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTMKK21zZ2lkICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE0Cittc2dpZCAiIgorIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgICAgICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxNQorbXNnaWQgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkbyBub3QgY3JlYXRlIGEgbmV3IHNlc3Npb25cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTcKK21zZ2lkICIiCisiIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgICAgcGFzcyAtZiB0byB0aGUgc2hlbGwgKGZvciBjc2ggb3IgdGNzaClcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTgKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgICBydW4gPHNoZWxsPiBpZiAvZXRjL3NoZWxscyBhbGxvd3MgaXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwIGlzIG5vdCBwb3NzaWJsZSIKK21zZ2lkX3BsdXJhbCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwcyBpcyBub3QgcG9zc2libGUiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXAgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODg2Cittc2dpZCAiaWdub3JpbmcgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg5NworbXNnaWQgIiIKKyJvcHRpb25zIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IGFuZCAtLXVzZXIgYXJlIG11dHVhbGx5ICIKKyJleGNsdXNpdmUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTAxCittc2dpZCAibm8gY29tbWFuZCB3YXMgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkxNQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gc3BlY2lmeSBhbHRlcm5hdGl2ZSBncm91cHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTIyCisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTYyCisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIHJlc3RyaWN0ZWQgc2hlbGwgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMzAKK21zZ2lkICJ0Y2dldGF0dHIgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoyMDcKK21zZ2lkICJ0Y3NldGF0dHIgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3QiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcm9vdCBwYXNzd29yZCBnYXJibGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkNhbm5vdCBvcGVuIGFjY2VzcyB0byBjb25zb2xlLCB0aGUgcm9vdCBhY2NvdW50IGlzIGxvY2tlZC5cbiIKKyJTZWUgc3Vsb2dpbig4KSBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLlxuIgorIlxuIgorIlByZXNzIEVudGVyIHRvIGNvbnRpbnVlLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBsb2dpbjogIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIGxvZ2luOiAiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0NQorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIihvciBwcmVzcyBDb250cm9sLUQgdG8gY29udGludWUpOiAiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc0MgorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgdG8gc3lzdGVtIHJvb3QgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTEKK21zZ2lkICJzZXRleGVjY29uIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3R0eSBkZXZpY2VdXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxNAorbXNnaWQgIlNpbmdsZS11c2VyIGxvZ2luLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MTcKK21zZ2lkICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICBzdGFydCBhIGxvZ2luIHNoZWxsXG4iCisiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICBtYXggdGltZSB0byB3YWl0IGZvciBhIHBhc3N3b3JkIChkZWZhdWx0OiBubyAiCisibGltaXQpXG4iCisiIC1lLCAtLWZvcmNlICAgICAgICAgICAgICBleGFtaW5lIHBhc3N3b3JkIGZpbGVzIGRpcmVjdGx5IGlmIGdldHB3bmFtKDMpICIKKyJmYWlsc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4NzEgbWlzYy11dGlscy9maW5kbW50LmM6MTQ2MyBzeXMtdXRpbHMvd2RjdGwuYzo1MjMKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzUwIHRlcm0tdXRpbHMvd2FsbC5jOjEzNQorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODkzCittc2dpZCAib25seSBzdXBlcnVzZXIgY2FuIHJ1biB0aGlzIHByb2dyYW0iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkzNgorbXNnaWQgImNhbm5vdCBvcGVuIGNvbnNvbGUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjk0MworbXNnaWQgImNhbm5vdCBvcGVuIHBhc3N3b3JkIGRhdGFiYXNlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDYW4gbm90IGV4ZWN1dGUgc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyNworbXNnaWQgIiIKKyJUaW1lZCBvdXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTA1OQorbXNnaWQgIiIKKyJDYW4gbm90IHdhaXQgb24gc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE3NiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2guIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTg1IHRleHQtdXRpbHMvdGFpbGYuYzoxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGlub3RpZnkgZXZlbnRzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjQ2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjUxCittc2dpZCAiRXh0cmFuZW91cyBuZXdsaW5lIGluIGZpbGUuIEV4aXRpbmcuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVuYW1lXVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzEyCittc2dpZCAiRHVtcCBVVE1QIGFuZCBXVE1QIGZpbGVzIGluIHJhdyBmb3JtYXQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTUKK21zZ2lkICIgLWYsIC0tZm9sbG93ICAgICAgICAgb3V0cHV0IGFwcGVuZGVkIGRhdGEgYXMgdGhlIGZpbGUgZ3Jvd3NcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxNgorbXNnaWQgIiAtciwgLS1yZXZlcnNlICAgICAgICB3cml0ZSBiYWNrIGR1bXBlZCBkYXRhIGludG8gdXRtcCBmaWxlXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTcKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxmaWxlPiAgd3JpdGUgdG8gZmlsZSBpbnN0ZWFkIG9mIHN0YW5kYXJkIG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzg0Cittc2dpZCAiZm9sbG93aW5nIHN0YW5kYXJkIGlucHV0IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgdW5kdW1wIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCBkdW1wIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE0MQorbXNnaWQgImNhbid0IG9wZW4gdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY3JlYXRlIGEgbGluayB0byAlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBnZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE3MAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBzZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmNoYW5nZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI1NAorbXNnaWQgImNhbm5vdCBnZXQgbG9jayIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjgxCittc2dpZCAibm8gY2hhbmdlcyBtYWRlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTAKK21zZ2lkICJjYW5ub3QgY2htb2QgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzA0Cittc2dpZCAiRWRpdCB0aGUgcGFzc3dvcmQgb3IgZ3JvdXAgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzUwCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgZ3JvdXBzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTEKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBwYXNzd29yZHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IHRoaXMgcHJvZ3JhbSB1c2VzIGZvciB5IGFuZCBuIHJwbWF0Y2goMyksCisjLiAqIHdoaWNoIG1lYW5zIHRoZXkgY2FuIGJlIHRyYW5zbGF0ZWQuCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHlvdSBsaWtlIHRvIGVkaXQgJXMgbm93IFt5L25dPyAiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzozNzIKK21zZ2lkICJpbnZhbGlkIG1vbnRoIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzgwCittc2dpZCAiaW52YWxpZCB3ZWVrIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzgyCittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB1c2UgMS01NCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQyMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZXN0YW1wIG9yIHVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MzEKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQzMyBtaXNjLXV0aWxzL2NhbC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZTogdXNlIDEtJWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MzcgbWlzYy11dGlscy9jYWwuYzo0NDUKK21zZ2lkICJpbGxlZ2FsIG1vbnRoIHZhbHVlOiB1c2UgMS0xMiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ0MQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDQ4IG1pc2MtdXRpbHMvY2FsLmM6NDUyCittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDUwCittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlOiB1c2UgcG9zaXRpdmUgaW50ZWdlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4MiBtaXNjLXV0aWxzL2NhbC5jOjQ5NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHllYXIgJWQgZG9lc24ndCBoYXZlIHdlZWsgJWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo2NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTA0ZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY5MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlMDRkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW1tbZGF5XSBtb250aF0geWVhcl1cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx0aW1lc3RhbXB8bW9udGhuYW1lPlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk3Cittc2dpZCAiRGlzcGxheSBhIGNhbGVuZGFyLCBvciBzb21lIHBhcnQgb2YgaXQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTgKK21zZ2lkICJXaXRob3V0IGFueSBhcmd1bWVudHMsIGRpc3BsYXkgdGhlIGN1cnJlbnQgbW9udGguXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDAxCittc2dpZCAiIC0xLCAtLW9uZSAgICAgICAgICAgICBzaG93IG9ubHkgYSBzaW5nbGUgbW9udGggKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDAyCittc2dpZCAiIC0zLCAtLXRocmVlICAgICAgICAgICBzaG93IHRocmVlIG1vbnRocyBzcGFubmluZyB0aGUgZGF0ZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMworbXNnaWQgIiAtbiwgLS1tb250aHMgPG51bT4gICAgc2hvdyBudW0gbW9udGhzIHN0YXJ0aW5nIHdpdGggZGF0ZSdzIG1vbnRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA0Cittc2dpZCAiIC1TLCAtLXNwYW4gICAgICAgICAgICBzcGFuIHRoZSBkYXRlIHdoZW4gZGlzcGxheWluZyBtdWx0aXBsZSBtb250aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDUKK21zZ2lkICIgLXMsIC0tc3VuZGF5ICAgICAgICAgIFN1bmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNgorbXNnaWQgIiAtbSwgLS1tb25kYXkgICAgICAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA3Cittc2dpZCAiIC1qLCAtLWp1bGlhbiAgICAgICAgICBvdXRwdXQgSnVsaWFuIGRhdGVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA4Cittc2dpZCAiIC15LCAtLXllYXIgICAgICAgICAgICBzaG93IHRoZSB3aG9sZSB5ZWFyXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA5Cittc2dpZCAiIC1ZLCAtLXR3ZWx2ZSAgICAgICAgICBzaG93IHRoZSBuZXh0IHR3ZWx2ZSBtb250aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMTAKK21zZ2lkICIgLXcsIC0td2Vla1s9PG51bT5dICAgIHNob3cgVVMgb3IgSVNPLTg2MDEgd2VlayBudW1iZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDExCittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSB7TEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUx9PTx2YWx1ZT5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjMyCittc2dpZCAiRmluZCBhIGZpbGVzeXN0ZW0gYnkgbGFiZWwgb3IgVVVJRC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZXNvbHZlICclcyciCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6OTkKK21zZ2lkICJzb3VyY2UgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMAorbXNnaWQgIm1vdW50cG9pbnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxIG1pc2MtdXRpbHMvbHNibGsuYzoxNjEKK21zZ2lkICJmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAyCittc2dpZCAiYWxsIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAzCittc2dpZCAiVkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA0Cittc2dpZCAiRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDUKK21zZ2lkICJmaWxlc3lzdGVtIGxhYmVsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0Cittc2dpZCAiZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNworbXNnaWQgInBhcnRpdGlvbiBsYWJlbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDkgbWlzYy11dGlscy9sc2Jsay5jOjE2MAorbXNnaWQgIm1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEwCittc2dpZCAiYWN0aW9uIGRldGVjdGVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTEKK21zZ2lkICJvbGQgbW91bnQgb3B0aW9ucyBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEyCittc2dpZCAib2xkIG1vdW50cG9pbnQgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMworbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTQKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgYXZhaWxhYmxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSB1c2VkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNgorbXNnaWQgImZpbGVzeXN0ZW0gdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE3Cittc2dpZCAiZmlsZXN5c3RlbSByb290IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOAorbXNnaWQgInRhc2sgSUQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5Cittc2dpZCAibW91bnQgSUQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwCittc2dpZCAib3B0aW9uYWwgbW91bnQgZmllbGRzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMQorbXNnaWQgIlZGUyBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIKK21zZ2lkICJkdW1wKDgpIHBlcmlvZCBpbiBkYXlzIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMKK21zZ2lkICJwYXNzIG51bWJlciBvbiBwYXJhbGxlbCBmc2NrKDgpIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhY3Rpb246ICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0MworbXNnaWQgIm1vdW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0NgorbXNnaWQgInVtb3VudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDkKK21zZ2lkICJyZW1vdW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1MgorbXNnaWQgIm1vdmUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODEyIG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNzUgc3lzLXV0aWxzL2VqZWN0LmM6NzE5CisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NjkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MzkgdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDE1IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODEKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo5NCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDgyCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTg3IHN5cy11dGlscy9tb3VudC5jOjEzNCBzeXMtdXRpbHMvbW91bnQuYzoxODIKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6NTYgc3lzLXV0aWxzL3N3YXBvZmYuYzoxNTUgc3lzLXV0aWxzL3N3YXBvbi5jOjI0NAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI3NCBzeXMtdXRpbHMvc3dhcG9uLmM6NzMzIHN5cy11dGlscy91bW91bnQuYzoyNzQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDg3Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFiZGlmZiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTE1Cittc2dpZCAicG9sbCgpIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gfCA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZSA8ZGV2aWNlPl0gWy0tdGFyZ2V0IDxwYXRoPiB8IC0tbW91bnRwb2ludCA8ZGlyPl1cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk2Cittc2dpZCAiRmluZCBhIChtb3VudGVkKSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTkKK21zZ2lkICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMAorbXNnaWQgIiAtbSwgLS1tdGFiICAgICAgICAgICAgIHNlYXJjaCBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMQorbXNnaWQgIiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICBzZWFyY2ggaW4ga2VybmVsIHRhYmxlIG9mIG1vdW50ZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzeXN0ZW1zIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDQKK21zZ2lkICIiCisiIC1wLCAtLXBvbGxbPTxsaXN0Pl0gICAgbW9uaXRvciBjaGFuZ2VzIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA1Cittc2dpZCAiIgorIiAtdywgLS10aW1lb3V0IDxudW0+ICAgIHVwcGVyIGxpbWl0IGluIG1pbGxpc2Vjb25kcyB0aGF0IC0tcG9sbCB3aWxsIGJsb2NrXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOAorbXNnaWQgIiIKKyIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA5Cittc2dpZCAiIC1hLCAtLWFzY2lpICAgICAgICAgICAgdXNlIEFTQ0lJIGNoYXJzIGZvciB0cmVlIGZvcm1hdHRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEwCittc2dpZCAiIgorIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlICIKKyJmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjExCittc2dpZCAiIC1DLCAtLW5vY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHdoZW4gY29tcGFyaW5nIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMgorbXNnaWQgIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaWNhbGl6ZSBwcmludGVkIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMworbXNnaWQgIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRhdGUgdGhlIG91dHB1dCBvZiBkZigxKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTQKK21zZ2lkICIgLWQsIC0tZGlyZWN0aW9uIDx3b3JkPiBkaXJlY3Rpb24gb2Ygc2VhcmNoLCAnZm9yd2FyZCcgb3IgJ2JhY2t3YXJkJ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTUKK21zZ2lkICIiCisiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgY29udmVydCB0YWdzIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkZXZpY2UgbmFtZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE3Cittc2dpZCAiIC1GLCAtLXRhYi1maWxlIDxwYXRoPiAgYWx0ZXJuYXRpdmUgZmlsZSBmb3IgLXMsIC1tIG9yIC1rIG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE4Cittc2dpZCAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTkKK21zZ2lkICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnQgdGhlIHNlbnNlIG9mIG1hdGNoaW5nXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDcgc3lzLXV0aWxzL2xzbnMuYzo2MTkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMSBzeXMtdXRpbHMvbHNucy5jOjYyMAorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIyCittc2dpZCAiIgorIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIHVzZSBhbHRlcm5hdGl2ZSBuYW1lc3BhY2UgKC9wcm9jLzx0aWQ+L21vdW50aW5mbyAiCisiZmlsZSlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIzCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgY29sdW1uIGhlYWRpbmdzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNAorbXNnaWQgIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjUKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICB0aGUgb3V0cHV0IGNvbHVtbnMgdG8gYmUgc2hvd25cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI2Cittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjcKK21zZ2lkICIiCisiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgcHJpbnQgYWxsIHN1Ym1vdW50cyBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOAorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjkKK21zZ2lkICIiCisiIC1TLCAtLXNvdXJjZSA8c3RyaW5nPiAgdGhlIGRldmljZSB0byBtb3VudCAoYnkgbmFtZSwgbWFqOm1pbiwgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMQorbXNnaWQgIiAtVCwgLS10YXJnZXQgPHBhdGg+ICAgIHRoZSBwYXRoIHRvIHRoZSBmaWxlc3lzdGVtIHRvIHVzZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzIKK21zZ2lkICIgLU0sIC0tbW91bnRwb2ludCA8ZGlyPiB0aGUgbW91bnRwb2ludCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMzCittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBGUyB0eXBlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzQKK21zZ2lkICIgLVUsIC0tdW5pcSAgICAgICAgICAgICBpZ25vcmUgZmlsZXN5c3RlbXMgd2l0aCBkdXBsaWNhdGUgdGFyZ2V0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNSBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTMgc3lzLXV0aWxzL2xzbnMuYzo2MjUKK21zZ2lkICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM2Cittc2dpZCAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzkKK21zZ2lkICIgLXgsIC0tdmVyaWZ5ICAgICAgICAgICB2ZXJpZnkgbW91bnQgdGFibGUgY29udGVudCAoZGVmYXVsdCBpcyBmc3RhYilcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQwCittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgbW9yZSBkZXRhaWxzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTM2OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGRpcmVjdGlvbiAnJXMnIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NDAKK21zZ2lkICJpbnZhbGlkIFRJRCBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTA5Cittc2dpZCAiLS1wb2xsIGFjY2VwdHMgb25seSBvbmUgZmlsZSwgYnV0IG1vcmUgc3BlY2lmaWVkIGJ5IC0tdGFiLWZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUxMworbXNnaWQgIiIKKyJvcHRpb25zIC0tdGFyZ2V0IGFuZCAtLXNvdXJjZSBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggY29tbWFuZCBsaW5lICIKKyJlbGVtZW50IHRoYXQgaXMgbm90IGFuIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTYyCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgY2FjaGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTYwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjb2x1bW4gaXMgcmVxdWVzdGVkLCBidXQgLS1wb2xsIGlzIG5vdCBlbmFibGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTYKK21zZ2lkICJ0YXJnZXQgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgb3JkZXI6ICVzIHNwZWNpZmllZCBiZWZvcmUgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzMworbXNnaWQgInVuZGVmaW5lZCB0YXJnZXQgKGZzX2ZpbGUpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWNhbm9uaWNhbCB0YXJnZXQgcGF0aCAocmVhbDogJXMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCB0YXJnZXQ6ICVtIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgdGFyZ2V0OiAlbSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTUxCittc2dpZCAidGFyZ2V0IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTUzCittc2dpZCAidGFyZ2V0IGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY1CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgc291cmNlOiAlcz0lcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlOiAlcz0lcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzPSVzIHRyYW5zbGF0ZWQgdG8gJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5MAorbXNnaWQgInVuZGVmaW5lZCBzb3VyY2UgKGZzX3NwZWMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc291cmNlIHRhZzogJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgc291cmNlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHNvdXJjZTogJXM6ICVtIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJpbmQgbW91bnQgc291cmNlICVzIGlzIGEgZGlyZWN0b3J5IG9yIHJlZ3VsYXIgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlMgb3B0aW9uczogJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2Vyc3BhY2Ugb3B0aW9uczogJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzd2FwYXJlYSBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI2MAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzd2FwYXJlYSBwcmlvcml0eSBvcHRpb24iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgRlMgdHlwZSAocHNldWRvL25ldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQwNgorbXNnaWQgIlwibm9uZVwiIEZTIHR5cGUgaXMgcmVjb21tZW5kZWQgZm9yIGJpbmQgb3IgbW92ZSBvcHJhdGlvbnMgb25seSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIwIG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjEKK21zZ2lkICJjYW5ub3QgZGV0ZWN0IG9uLWRpc2sgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgbWF0Y2ggd2l0aCBvbi1kaXNrICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAib24tZGlzayAlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMworIywgYy1mb3JtYXQKK21zZ2lkICJGUyB0eXBlIGlzICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjb21tZW5kZWQgcm9vdCBGUyBwYXNzbm8gaXMgMSAoY3VycmVudCBpcyAlZCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBwYXJzZSBlcnJvciIKK21zZ2lkX3BsdXJhbCAiJWQgcGFyc2UgZXJyb3JzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICIsICVkIGVycm9yIgorbXNnaWRfcGx1cmFsICIsICVkIGVycm9ycyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCAlZCB3YXJuaW5nIgorbXNnaWRfcGx1cmFsICIsICVkIHdhcm5pbmdzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxNworIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzLCBubyBlcnJvcnMgb3Igd2FybmluZ3MgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMDQKK21zZ2lkICJlbXB0eSBsb25nIG9wdGlvbiBhZnRlciAtbCBvciAtLWxvbmcgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMjUKK21zZ2lkICJ1bmtub3duIHNoZWxsIGFmdGVyIC1zIG9yIC0tc2hlbGwgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1dIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSAtb3wtLW9wdGlvbnMgPG9wdHN0cmluZz4gW29wdGlvbnNdIFstLV0gPHBhcmFtZXRlcnM+XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzgKK21zZ2lkICJQYXJzZSBjb21tYW5kIG9wdGlvbnMuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDEKK21zZ2lkICIiCisiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIGFsbG93IGxvbmcgb3B0aW9ucyBzdGFydGluZyB3aXRoIHNpbmdsZSAtXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDIKK21zZ2lkICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiAgdGhlIGxvbmcgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDMKK21zZ2lkICIiCisiIC1uLCAtLW5hbWUgPHByb2duYW1lPiAgICAgICAgIHRoZSBuYW1lIHVuZGVyIHdoaWNoIGVycm9ycyBhcmUgcmVwb3J0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NAorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgICB0aGUgc2hvcnQgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDUKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBlcnJvciByZXBvcnRpbmcgYnkgZ2V0b3B0KDMpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDYKK21zZ2lkICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgbm8gbm9ybWFsIG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ3Cittc2dpZCAiIgorIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICBzZXQgcXVvdGluZyBjb252ZW50aW9ucyB0byB0aG9zZSBvZiA8c2hlbGw+XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDgKK21zZ2lkICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgdGVzdCBmb3IgZ2V0b3B0KDEpIHZlcnNpb25cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0OQorbXNnaWQgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICBkbyBub3QgcXVvdGUgdGhlIG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6Mzk5IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDU5Cittc2dpZCAibWlzc2luZyBvcHRzdHJpbmcgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzo0NTQKK21zZ2lkICJpbnRlcm5hbCBlcnJvciwgY29udGFjdCB0aGUgYXV0aG9yLiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWwgJXM7IHZhbGlkIHNpZ25hbHM6IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwMgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwaWQ+fDxuYW1lPi4uLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwNQorbXNnaWQgIkZvcmNpYmx5IHRlcm1pbmF0ZSBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzA4Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRvIG5vdCByZXN0cmljdCB0aGUgbmFtZS10by1waWQgY29udmVyc2lvbiB0byAiCisicHJvY2Vzc2VzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIHRoZSBzYW1lIHVpZCBhcyB0aGUgcHJlc2VudCBwcm9jZXNzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzEwCittc2dpZCAiIC1zLCAtLXNpZ25hbCA8c2lnbmFsPiAgc2VuZCB0aGlzIDxzaWduYWw+IGluc3RlYWQgb2YgU0lHVEVSTVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMgorbXNnaWQgIiIKKyIgLXEsIC0tcXVldWUgPHZhbHVlPiAgICB1c2Ugc2lncXVldWUoMiksIG5vdCBraWxsKDIpLCBhbmQgcGFzcyA8dmFsdWU+IGFzICIKKyJkYXRhXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE0Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgcHJpbnQgcGlkcyB3aXRob3V0IHNpZ25hbGluZyB0aGVtXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE1Cittc2dpZCAiIgorIiAtbCwgLS1saXN0Wz08c2lnbmFsPl0gIGxpc3Qgc2lnbmFsIG5hbWVzLCBvciBjb252ZXJ0IGEgc2lnbmFsIG51bWJlciB0byBhICIKKyJuYW1lXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE2Cittc2dpZCAiIC1MLCAtLXRhYmxlICAgICAgICAgICAgbGlzdCBzaWduYWwgbmFtZXMgYW5kIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTcKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBwaWRzIHRoYXQgd2lsbCBiZSBzaWduYWxlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM2NyBtaXNjLXV0aWxzL2tpbGwuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWw6ICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM4NyBtaXNjLXV0aWxzL2tpbGwuYzozOTAgbWlzYy11dGlscy9raWxsLmM6Mzk5CisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MTEgbWlzYy11dGlscy9raWxsLmM6NDM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM5NiBtaXNjLXV0aWxzL2tpbGwuYzo0MzggbWlzYy11dGlscy9yZW5hbWUuYzoxNzQKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc4OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc5OAorbXNnaWQgIm5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQwOQorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MTQgc3lzLXV0aWxzL2VqZWN0LmM6MjA1IHN5cy11dGlscy9lamVjdC5jOjIzMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2ODkgc3lzLXV0aWxzL3R1bmVscC5jOjE2MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTY4CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTc1IHN5cy11dGlscy90dW5lbHAuYzoxODIgc3lzLXV0aWxzL3R1bmVscC5jOjE4OQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE5NSBzeXMtdXRpbHMvdHVuZWxwLmM6MTk5IHN5cy11dGlscy90dW5lbHAuYzoyMDYKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyMzEgdGVybS11dGlscy9zZXR0ZXJtLmM6MjEzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxNgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTEgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk4CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMDAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzEyIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxNAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzIzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMzMSB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzYyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNzMgdGVybS11dGlscy9zZXR0ZXJtLmM6NTM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0MAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTQ1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NzQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU3OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODQgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg5CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTQgdGVybS11dGlscy9zZXR0ZXJtLmM6NTk5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwNworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NjQwCittc2dpZCAiYXJndW1lbnQgZXJyb3IiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2lnbmFsIG5hbWUgb3IgbnVtYmVyOiAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgJWQgdG8gcGlkICVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgcHJvY2VzcyBcIiVzXCIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSBuYW1lOiAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHByaW9yaXR5IG5hbWU6ICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZW5sb2cgJXM6IHBhdGhuYW1lIHRvbyBsb25nIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjY3CisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBuYW1lICVzIHBvcnQgJXM6ICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzIzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjb25uZWN0IHRvICVzIHBvcnQgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4aW11bSBpbnB1dCBsaW5lcyAoJWQpIGV4Y2VlZGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NDg3Cittc2dpZCAic2VuZCBtZXNzYWdlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU1OAorIywgYy1mb3JtYXQKK21zZ2lkICJzdHJ1Y3R1cmVkIGRhdGEgSUQgJyVzJyBpcyBub3QgdW5pcXVlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tc2QtaWQgd2FzIG5vdCBzcGVjaWZpZWQgZm9yIC0tc2QtcGFyYW0gJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NTQKK21zZ2lkICJsb2NhbHRpbWUoKSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaG9zdG5hbWUgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc3MAorIywgYy1mb3JtYXQKK21zZ2lkICJ0YWcgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjgzMworIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyB1bmtub3duIG9wdGlvbiBhcmd1bWVudDogJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXM6IHVzaW5nIGF1dG9tYXRpYyBlcnJvcnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG1lc3NhZ2U+XVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6OTk3Cittc2dpZCAiRW50ZXIgbWVzc2FnZXMgaW50byB0aGUgc3lzdGVtIGxvZy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDAKK21zZ2lkICIgLWkgICAgICAgICAgICAgICAgICAgICAgIGxvZyB0aGUgbG9nZ2VyIGNvbW1hbmQncyBQSURcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDEKK21zZ2lkICIgICAgIC0taWRbPTxpZD5dICAgICAgICAgIGxvZyB0aGUgZ2l2ZW4gPGlkPiwgb3Igb3RoZXJ3aXNlIHRoZSBQSURcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDIKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgICAgIGxvZyB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAzCittc2dpZCAiIgorIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgZG8gbm90IGxvZyBlbXB0eSBsaW5lcyB3aGVuIHByb2Nlc3NpbmcgZmlsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDQKK21zZ2lkICIgICAgIC0tbm8tYWN0ICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSB3cml0ZSB0aGUgbG9nXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA1Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBtYXJrIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA2Cittc2dpZCAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICB1c2UgcmZjNjU4NyBvY3RldCBjb3VudGluZ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNworbXNnaWQgIiIKKyIgICAgIC0tcHJpby1wcmVmaXggICAgICAgIGxvb2sgZm9yIGEgcHJlZml4IG9uIGV2ZXJ5IGxpbmUgcmVhZCBmcm9tIHN0ZGluXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA4Cittc2dpZCAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICBvdXRwdXQgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvciBhcyB3ZWxsXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA5Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICBtYXhpbXVtIHNpemUgZm9yIGEgc2luZ2xlIG1lc3NhZ2VcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTAKK21zZ2lkICIgLXQsIC0tdGFnIDx0YWc+ICAgICAgICAgIG1hcmsgZXZlcnkgbGluZSB3aXRoIHRoaXMgdGFnXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDExCittc2dpZCAiIC1uLCAtLXNlcnZlciA8bmFtZT4gICAgICB3cml0ZSB0byB0aGlzIHJlbW90ZSBzeXNsb2cgc2VydmVyXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEyCittc2dpZCAiIC1QLCAtLXBvcnQgPHBvcnQ+ICAgICAgICB1c2UgdGhpcyBwb3J0IGZvciBVRFAgb3IgVENQIGNvbm5lY3Rpb25cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTMKK21zZ2lkICIgLVQsIC0tdGNwICAgICAgICAgICAgICAgIHVzZSBUQ1Agb25seVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNAorbXNnaWQgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE1Cittc2dpZCAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICB1c2UgdGhlIG9ic29sZXRlIEJTRCBzeXNsb2cgcHJvdG9jb2xcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTYKK21zZ2lkICIiCisiICAgICAtLXJmYzU0MjRbPTxzbmlwPl0gICB1c2UgdGhlIHN5c2xvZyBwcm90b2NvbCAodGhlIGRlZmF1bHQgZm9yIHJlbW90ZSk7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiBjYW4gYmUgbm90aW1lLCBvciBub3RxLCBhbmQvb3Igbm9ob3N0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE4Cittc2dpZCAiICAgICAtLXNkLWlkIDxpZD4gICAgICAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBJRFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxOQorbXNnaWQgIiAgICAgLS1zZC1wYXJhbSA8ZGF0YT4gICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgbmFtZT12YWx1ZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMAorbXNnaWQgIiAgICAgLS1tc2dpZCA8bXNnaWQ+ICAgICAgc2V0IHJmYzU0MjQgbWVzc2FnZSBpZCBmaWVsZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMQorbXNnaWQgIiAtdSwgLS1zb2NrZXQgPHNvY2tldD4gICAgd3JpdGUgdG8gdGhpcyBVbml4IHNvY2tldFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMgorbXNnaWQgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50IGNvbm5lY3Rpb24gZXJyb3JzIHdoZW4gdXNpbmcgVW5peCBzb2NrZXRzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDI1Cittc2dpZCAiICAgICAtLWpvdXJuYWxkWz08ZmlsZT5dICB3cml0ZSBqb3VybmFsZCBlbnRyeVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTExMgorIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTEyNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBpZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNDUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWVzc2FnZSBzaXplIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE4MAorbXNnaWQgIi0tbXNnaWQgY2Fubm90IGNvbnRhaW4gc3BhY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjAyCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc3RydWN0dXJlZCBkYXRhIElEOiAnJXMnIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIwNworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBwYXJhbWV0ZXI6ICclcyciCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjE4Cittc2dpZCAiLS1maWxlIDxmaWxlPiBhbmQgPG1lc3NhZ2U+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIG1lc3NhZ2UgaXMgaWdub3JlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMjUKK21zZ2lkICJqb3VybmFsZCBlbnRyeSBjb3VsZCBub3QgYmUgd3JpdHRlbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8c3RyaW5nPiBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM1OAorbXNnaWQgIkRpc3BsYXkgbGluZXMgYmVnaW5uaW5nIHdpdGggYSBzcGVjaWZpZWQgc3RyaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MQorbXNnaWQgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgdXNlIHRoZSBhbHRlcm5hdGl2ZSBkaWN0aW9uYXJ5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYyCittc2dpZCAiIgorIiAtZCwgLS1hbHBoYW51bSAgICAgICAgICAgY29tcGFyZSBvbmx5IGJsYW5rcyBhbmQgYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjMKK21zZ2lkICIgLWYsIC0taWdub3JlLWNhc2UgICAgICAgIGlnbm9yZSBjYXNlIGRpZmZlcmVuY2VzIHdoZW4gY29tcGFyaW5nXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY0Cittc2dpZCAiIC10LCAtLXRlcm1pbmF0ZSA8Y2hhcj4gICBkZWZpbmUgdGhlIHN0cmluZy10ZXJtaW5hdGlvbiBjaGFyYWN0ZXJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU3Cittc2dpZCAiZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OAorbXNnaWQgImludGVybmFsIGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU5Cittc2dpZCAiaW50ZXJuYWwgcGFyZW50IGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyIHN5cy11dGlscy96cmFtY3RsLmM6ODQKK21zZ2lkICJ3aGVyZSB0aGUgZGV2aWNlIGlzIG1vdW50ZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MworbXNnaWQgImZpbGVzeXN0ZW0gTEFCRUwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NgorbXNnaWQgInBhcnRpdGlvbiB0eXBlIFVVSUQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NworbXNnaWQgInBhcnRpdGlvbiBMQUJFTCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcxCittc2dpZCAicmVhZC1haGVhZCBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzIgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NQorbXNnaWQgInJlYWQtb25seSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MworbXNnaWQgInJlbW92YWJsZSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NAorbXNnaWQgInJlbW92YWJsZSBvciBob3RwbHVnIGRldmljZSAodXNiLCBwY21jaWEsIC4uLikiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NQorbXNnaWQgInJvdGF0aW9uYWwgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzYKK21zZ2lkICJhZGRzIHJhbmRvbW5lc3MiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NworbXNnaWQgImRldmljZSBpZGVudGlmaWVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzgKK21zZ2lkICJkaXNrIHNlcmlhbCBudW1iZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OQorbXNnaWQgInNpemUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgwCittc2dpZCAic3RhdGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgyCittc2dpZCAiZ3JvdXAgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgzCittc2dpZCAiZGV2aWNlIG5vZGUgcGVybWlzc2lvbnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NAorbXNnaWQgImFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NQorbXNnaWQgIm1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NgorbXNnaWQgIm9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NworbXNnaWQgInBoeXNpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODgKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODkKK21zZ2lkICJJL08gc2NoZWR1bGVyIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MAorbXNnaWQgInJlcXVlc3QgcXVldWUgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkxCittc2dpZCAiZGV2aWNlIHR5cGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MgorbXNnaWQgImRpc2NhcmQgYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkzCittc2dpZCAiZGlzY2FyZCBncmFudWxhcml0eSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk0Cittc2dpZCAiZGlzY2FyZCBtYXggYnl0ZXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NQorbXNnaWQgImRpc2NhcmQgemVyb2VzIGRhdGEiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NgorbXNnaWQgIndyaXRlIHNhbWUgbWF4IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTcKK21zZ2lkICJ1bmlxdWUgc3RvcmFnZSBpZGVudGlmaWVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTgKK21zZ2lkICJIb3N0OkNoYW5uZWw6VGFyZ2V0Okx1biBmb3IgU0NTSSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk5Cittc2dpZCAiZGV2aWNlIHRyYW5zcG9ydCB0eXBlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDAKK21zZ2lkICJkZS1kdXBsaWNhdGVkIGNoYWluIG9mIHN1YnN5c3RlbXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMQorbXNnaWQgImRldmljZSByZXZpc2lvbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAyCittc2dpZCAiZGV2aWNlIHZlbmRvciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTI3NgorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRldmljZSBkaXJlY3RvcnkgaW4gc3lzZnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjb21wb3NlIHN5c2ZzIHBhdGgiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIGxpbmsiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3lzZnMgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB3aG9sZS1kaXNrIGRldmljZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NTEgbWlzYy11dGlscy9sc2Jsay5jOjE1NTMgbWlzYy11dGlscy9sc2Jsay5jOjE1NzgKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTgwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsaXN0ICclcyciCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgZXhjbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTg1CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGluY2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxNiBzeXMtdXRpbHMvd2RjdGwuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjE5Cittc2dpZCAiTGlzdCBpbmZvcm1hdGlvbiBhYm91dCBibG9jayBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIyCittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjQKK21zZ2lkICIgLWQsIC0tbm9kZXBzICAgICAgICAgZG9uJ3QgcHJpbnQgc2xhdmVzIG9yIGhvbGRlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNQorbXNnaWQgIiAtRCwgLS1kaXNjYXJkICAgICAgICBwcmludCBkaXNjYXJkIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI2Cittc2dpZCAiIgorIiAtZSwgLS1leGNsdWRlIDxsaXN0PiBleGNsdWRlIGRldmljZXMgYnkgbWFqb3IgbnVtYmVyIChkZWZhdWx0OiBSQU0gZGlza3MpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjcKK21zZ2lkICIgLWYsIC0tZnMgICAgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyOAorbXNnaWQgIiAtaSwgLS1hc2NpaSAgICAgICAgICB1c2UgYXNjaWkgY2hhcmFjdGVycyBvbmx5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjkKK21zZ2lkICIgLUksIC0taW5jbHVkZSA8bGlzdD4gc2hvdyBvbmx5IGRldmljZXMgd2l0aCBzcGVjaWZpZWQgbWFqb3IgbnVtYmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMwCittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzIKK21zZ2lkICIgLW0sIC0tcGVybXMgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMworbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM0Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzUKK21zZ2lkICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgb3V0cHV0IGFsbCBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzYKK21zZ2lkICIgLXAsIC0tcGF0aHMgICAgICAgICAgcHJpbnQgY29tcGxldGUgZGV2aWNlIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzOQorbXNnaWQgIiAtcywgLS1pbnZlcnNlICAgICAgICBpbnZlcnNlIGRlcGVuZGVuY2llc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQwCittc2dpZCAiIC1TLCAtLXNjc2kgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IFNDU0kgZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQxCittc2dpZCAiIC10LCAtLXRvcG9sb2d5ICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHRvcG9sb2d5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDIKK21zZ2lkICIgLXgsIC0tc29ydCA8Y29sdW1uPiAgc29ydCBvdXRwdXQgYnkgPGNvbHVtbj5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NyBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTkgc3lzLXV0aWxzL2xzbnMuYzo2MzIKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTk2IHN5cy11dGlscy96cmFtY3RsLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tb3V0cHV0KTpcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWNjZXNzIHN5c2ZzIGRpcmVjdG9yeTogJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzMKK21zZ2lkICJjb21tYW5kIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzQKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NQorbXNnaWQgImtpbmQgb2YgbG9jazogRkxfRkxPQ0sgb3IgRkxfUE9TSVguIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc2Cittc2dpZCAic2l6ZSBvZiB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NworbXNnaWQgImxvY2sgYWNjZXNzIG1vZGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzgKK21zZ2lkICJtYW5kYXRvcnkgc3RhdGUgb2YgdGhlIGxvY2s6IDAgKG5vbmUpLCAxIChzZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc5Cittc2dpZCAicmVsYXRpdmUgYnl0ZSBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODAKK21zZ2lkICJlbmRpbmcgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgxCittc2dpZCAicGF0aCBvZiB0aGUgbG9ja2VkIGZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODIKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgYmxvY2tpbmcgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjU5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElEIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4MSBzeXMtdXRpbHMvbnNlbnRlci5jOjIzMgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwaWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6Mjg0Cittc2dpZCAiKHVua25vd24pIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI5MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGFydCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozMDAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNAorbXNnaWQgIkxpc3QgbG9jYWwgc3lzdGVtIGxvY2tzLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwOAorbXNnaWQgIiAtaSwgLS1ub2luYWNjZXNzaWJsZSAgIGlnbm9yZSBsb2NrcyB3aXRob3V0IHJlYWQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDkgc3lzLXV0aWxzL2xzbnMuYzo2MjEKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMCBzeXMtdXRpbHMvbHNucy5jOjYyMgorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTEKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBkaXNwbGF5IG9ubHkgbG9ja3MgaGVsZCBieSB0aGlzIHByb2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTIgc3lzLXV0aWxzL2xzbnMuYzo2MjQKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTcwIHNjaGVkdXRpbHMvY2hydC5jOjQ3OCBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTYzIHN5cy11dGlscy9sc25zLmM6Njk5IHN5cy11dGlscy9wcmxpbWl0LmM6NTg2Cittc2dpZCAiaW52YWxpZCBQSUQgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODUKK21zZ2lkICJHZW5lcmF0ZSBtYWdpYyBjb29raWVzIGZvciB4YXV0aC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgdXNlIGZpbGUgYXMgYSBjb29raWUgc2VlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg5Cittc2dpZCAiIC1tLCAtLW1heC1zaXplIDxudW0+ICBsaW1pdCBob3cgbXVjaCBpcyByZWFkIGZyb20gc2VlZCBmaWxlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkwCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJHb3QgJXp1IGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJXp1IGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9zaW5nICVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNjQgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNDYgc3lzLXV0aWxzL2ZzdHJpbS5jOjMwOAorIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTE3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxlbmd0aCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNzcKK21zZ2lkICItLW1heC1zaXplIGlnbm9yZWQgd2hlbiB1c2VkIHdpdGhvdXQgLS1maWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE4NQorIywgYy1mb3JtYXQKK21zZ2lkICJHb3QgJWQgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlZCBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3ltbGluazogJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAtIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBhdGhuYW1lPi4uLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzYKK21zZ2lkICJGb2xsb3cgYSBwYXRobmFtZSB1bnRpbCBhIHRlcm1pbmFsIHBvaW50IGlzIGZvdW5kLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzkKK21zZ2lkICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheXMgdGhpcyBoZWxwIHRleHRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAteCwgLS1tb3VudHBvaW50cyAgIHNob3cgbW91bnQgcG9pbnQgZGlyZWN0b3JpZXMgd2l0aCBhICdEJ1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIHNob3cgdGhlIG1vZGUgYml0cyBvZiBlYWNoIGZpbGVcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBzaG93IG93bmVyIGFuZCBncm91cCBuYW1lIG9mIGVhY2ggZmlsZVxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIHVzZSBhIGxvbmcgbGlzdGluZyBmb3JtYXQgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICBkb24ndCBmb2xsb3cgc3ltbGlua3NcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICB2ZXJ0aWNhbCBhbGlnbiBvZiBtb2RlcyBhbmQgb3duZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQwOAorbXNnaWQgInBhdGhuYW1lIGFyZ3VtZW50IGlzIG1pc3NpbmciCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNCBzeXMtdXRpbHMvbHNucy5jOjc2NAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBVSUQgY2FjaGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNworbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHSUQgY2FjaGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhjZWVkZWQgbGltaXQgb2Ygc3ltbGlua3MiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkbGluayBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5saW5rIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzeW1saW5raW5nIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVuYW1lIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxleHByZXNzaW9uPiA8cmVwbGFjZW1lbnQ+IDxmaWxlPi4uLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTIyCittc2dpZCAiUmVuYW1lIGZpbGVzLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTI1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyNgorbXNnaWQgIiAtcywgLS1zeW1saW5rICAgIGFjdCBvbiB0aGUgdGFyZ2V0IG9mIHN5bWxpbmtzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcyCittc2dpZCAiQSBkYWVtb24gZm9yIGdlbmVyYXRpbmcgVVVJRHMuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc0Cittc2dpZCAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzUKK21zZ2lkICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzYKK21zZ2lkICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzcKK21zZ2lkICIgLWssIC0ta2lsbCAgICAgICAgICAgICAga2lsbCBydW5uaW5nIGRhZW1vblxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3OAorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgwCittc2dpZCAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgxCittc2dpZCAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODIKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MworbXNnaWQgIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBkbyBub3QgY3JlYXRlIGxpc3RlbmluZyBzb2NrZXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODQKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjg1Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHR1cm4gb24gcXVpZXQgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMTgKK21zZ2lkICJiYWQgYXJndW1lbnRzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMjUKK21zZ2lkICJzb2NrZXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEzNgorbXNnaWQgImNvbm5lY3QiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE1NgorbXNnaWQgIndyaXRlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNjQKK21zZ2lkICJyZWFkIGNvdW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNzAKK21zZ2lkICJiYWQgcmVzcG9uc2UgbGVuZ3RoIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGxvY2sgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI0NgorbXNnaWQgImNvdWxkbid0IGNyZWF0ZSB1bml4IHN0cmVhbSBzb2NrZXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBiaW5kIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyOTgKK21zZ2lkICJyZWNlaXZpbmcgc2lnbmFsIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzExCittc2dpZCAidGltZWQgb3V0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNDUgc3lzLXV0aWxzL2Zsb2NrLmM6MjcxCittc2dpZCAiY2Fubm90IHNldCB1cCB0aW1lciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgInV1aWRkIGRhZW1vbiBpcyBhbHJlYWR5IHJ1bm5pbmcgYXQgcGlkICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgbGlzdGVuIG9uIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHRydW5jYXRlIGZpbGU6ICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODYKK21zZ2lkICJzZF9saXN0ZW5fZmRzKCkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODkKK21zZ2lkICJubyBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayBzeXN0ZW1jdGwgc3RhdHVzIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzkyCittc2dpZCAidG9vIG1hbnkgZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgdXVpZGQuc29ja2V0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MjAgdGVybS11dGlscy9zY3JpcHQuYzo0NTUKK21zZ2lkICJwb2xsIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDI1CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWVvdXQgWyVkIHNlY11cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQzIHRleHQtdXRpbHMvY29sdW1uLmM6NDE0Cittc2dpZCAicmVhZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciByZWFkaW5nIGZyb20gY2xpZW50LCBsZW4gPSAlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZCwgaW5jb21pbmcgbnVtID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCByYW5kb20gVVVJRDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgYW5kICVkIGZvbGxvd2luZ1xuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkICVkIFVVSUQ6XG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCAlZCBVVUlEczpcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgcmVwbHkgbGVuZ3RoIGZyb20gc2VydmVyICVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MDAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS11dWlkcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjE3Cittc2dpZCAidXVpZGQgaGFzIGJlZW4gYnVpbHQgd2l0aG91dCBzdXBwb3J0IGZvciBzb2NrZXQgYWN0aXZhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjM2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGltZW91dCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjUzCittc2dpZCAiQm90aCAtLXNvY2tldC1hY3RpdmF0aW9uIGFuZCAtLXNvY2tldCBzcGVjaWZpZWQuIElnbm9yaW5nIC0tc29ja2V0LiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYwIG1pc2MtdXRpbHMvdXVpZGQuYzo2ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2FsbGluZyB1dWlkZCBkYWVtb24gKCVzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYxIG1pc2MtdXRpbHMvdXVpZGQuYzo2ODkKK21zZ2lkICJ1bmV4cGVjdGVkIGVycm9yIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRFxuIgorbXNnaWRfcGx1cmFsICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEc1xuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY3MworIywgYy1mb3JtYXQKK21zZ2lkICJMaXN0IG9mIFVVSURzOlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3Qga2lsbCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIktpbGxlZCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyOAorbXNnaWQgIkNyZWF0ZSBhIG5ldyBVVUlEIHZhbHVlLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjMxCittc2dpZCAiIgorIiAtciwgLS1yYW5kb20gICAgIGdlbmVyYXRlIHJhbmRvbS1iYXNlZCB1dWlkXG4iCisiIC10LCAtLXRpbWUgICAgICAgZ2VuZXJhdGUgdGltZS1iYXNlZCB1dWlkXG4iCisiIC1WLCAtLXZlcnNpb24gICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstQk1TIDxkaXI+Li4uIC1mXSA8bmFtZT5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTIKK21zZ2lkICJMb2NhdGUgdGhlIGJpbmFyeSwgc291cmNlLCBhbmQgbWFudWFsLXBhZ2UgZmlsZXMgZm9yIGEgY29tbWFuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTUKK21zZ2lkICIgLWIgICAgICAgICBzZWFyY2ggb25seSBmb3IgYmluYXJpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTYKK21zZ2lkICIgLUIgPGRpcnM+ICBkZWZpbmUgYmluYXJpZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTcKK21zZ2lkICIgLW0gICAgICAgICBzZWFyY2ggb25seSBmb3IgbWFudWFscyBhbmQgaW5mb3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTgKK21zZ2lkICIgLU0gPGRpcnM+ICBkZWZpbmUgbWFuIGFuZCBpbmZvIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk5Cittc2dpZCAiIC1zICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIHNvdXJjZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDAKK21zZ2lkICIgLVMgPGRpcnM+ICBkZWZpbmUgc291cmNlcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMQorbXNnaWQgIiAtZiAgICAgICAgIHRlcm1pbmF0ZSA8ZGlycz4gYXJndW1lbnQgbGlzdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMgorbXNnaWQgIiAtdSAgICAgICAgIHNlYXJjaCBmb3IgdW51c3VhbCBlbnRyaWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAzCittc2dpZCAiIC1sICAgICAgICAgb3V0cHV0IGVmZmVjdGl2ZSBsb29rdXAgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzo2MTkKK21zZ2lkICJvcHRpb24gLWYgaXMgbWlzc2luZyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjE5NgorbXNnaWQgInBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IHByb2JpbmcgaW5pdGlhbGl6YXRpb24gZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZXJhc2UgJXMgbWFnaWMgc3RyaW5nIGF0IG9mZnNldCAweCUwOGp4IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlemQgYnl0ZSB3YXMgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIKK21zZ2lkX3BsdXJhbCAiJXM6ICV6ZCBieXRlcyB3ZXJlIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjM0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbGxpbmcgaW9jdGwgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGU6ICVtXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozODUKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpZ25vcmluZyBuZXN0ZWQgXCIlc1wiIHBhcnRpdGlvbiB0YWJsZSBvbiBub24td2hvbGUgZGlzayBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAweCVqeCBub3QgZm91bmQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MzUKK21zZ2lkICJVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIHRvIGZvcmNlIGVyYXNlLiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1OQorbXNnaWQgIldpcGUgc2lnbmF0dXJlcyBmcm9tIGEgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDYyCittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgIHdpcGUgYWxsIG1hZ2ljIHN0cmluZ3MgKEJFIENBUkVGVUwhKVxuIgorIiAtYiwgLS1iYWNrdXAgICAgICAgIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAgaW4gJEhPTUVcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICBmb3JjZSBlcmFzdXJlXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorIiAtbiwgLS1uby1hY3QgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBhY3R1YWwgd3JpdGUoKSBjYWxsXG4iCisiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IHRvIGVyYXNlLCBpbiBieXRlc1xuIgorIiAtcCwgLS1wYXJzYWJsZSAgICAgIHByaW50IG91dCBpbiBwYXJzYWJsZSBpbnN0ZWFkIG9mIHByaW50YWJsZSBmb3JtYXRcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICBzdXBwcmVzcyBvdXRwdXQgbWVzc2FnZXNcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0sIFJBSURzIG9yIHBhcnRpdGlvbiB0YWJsZXNcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTMzCittc2dpZCAiaW52YWxpZCBvZmZzZXQgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1NTgKK21zZ2lkICJUaGUgLS1iYWNrdXAgb3B0aW9uIGlzIG1lYW5pbmdsZXNzIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzUKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVhbC10aW1lIHNjaGVkdWxpbmcgYXR0cmlidXRlcyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM3Cittc2dpZCAiIgorIlNldCBwb2xpY3k6XG4iCisiIGNocnQgW29wdGlvbnNdIDxwcmlvcml0eT4gPGNvbW1hbmQ+IFs8YXJnPi4uLl1cbiIKKyIgY2hydCBbb3B0aW9uc10gLS1waWQgPHByaW9yaXR5PiA8cGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0MQorbXNnaWQgIiIKKyJHZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSAtcCA8cGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NQorbXNnaWQgIlBvbGljeSBvcHRpb25zOlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NgorbXNnaWQgIiAtYiwgLS1iYXRjaCAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0JBVENIXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ3Cittc2dpZCAiIC1kLCAtLWRlYWRsaW5lICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDgKK21zZ2lkICIgLWYsIC0tZmlmbyAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9GSUZPXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ5Cittc2dpZCAiIC1pLCAtLWlkbGUgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfSURMRVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MAorbXNnaWQgIiAtbywgLS1vdGhlciAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX09USEVSXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUxCittc2dpZCAiIC1yLCAtLXJyICAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU0Cittc2dpZCAiU2NoZWR1bGluZyBvcHRpb25zOlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NQorbXNnaWQgIiAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgIHNldCBTQ0hFRF9SRVNFVF9PTl9GT1JLIGZvciBGSUZPIG9yIFJSXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU2Cittc2dpZCAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAgcnVudGltZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU3Cittc2dpZCAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTgKK21zZ2lkICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYxCittc2dpZCAiT3RoZXIgb3B0aW9uczpcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjIKK21zZ2lkICIiCisiIC1hLCAtLWFsbC10YXNrcyAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYzCittc2dpZCAiIC1tLCAtLW1heCAgICAgICAgICAgIHNob3cgbWluIGFuZCBtYXggdmFsaWQgcHJpb3JpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NAorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICBkaXNwbGF5IHN0YXR1cyBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjIzMiBzY2hlZHV0aWxzL2NocnQuYzoyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYXR0cmlidXRlcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcHJpb3JpdHk6ICVkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzAwIHNjaGVkdXRpbHMvY2hydC5jOjM5NgorbXNnaWQgImNhbm5vdCBvYnRhaW4gdGhlIGxpc3Qgb2YgdGFza3MiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG1pbi9tYXggcHJpb3JpdHlcdDogJWQvJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IHN1cHBvcnRlZD9cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aWQgJWQncyBwb2xpY3kiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NworbXNnaWQgImludmFsaWQgcnVudGltZSBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTAKK21zZ2lkICJpbnZhbGlkIHBlcmlvZCBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTMKK21zZ2lkICJpbnZhbGlkIGRlYWRsaW5lIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUxNworbXNnaWQgImludmFsaWQgcHJpb3JpdHkgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTIxCittc2dpZCAiIgorIi0tcmVzZXQtb24tZm9yayBvcHRpb24gaXMgc3VwcG9ydGVkIGZvciBTQ0hFRF9GSUZPIGFuZCBTQ0hFRF9SUiBwb2xpY2llcyBvbmx5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyNgorbXNnaWQgIiIKKyItLXNjaGVkLXtydW50aW1lLGRlYWRsaW5lLHBlcmlvZH0gb3B0aW9ucyBhcmUgc3VwcG9ydGVkIGZvciBTQ0hFRF9ERUFETElORSAiCisib25seSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1NDEKK21zZ2lkICJTQ0hFRF9ERUFETElORSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVuc3VwcG9ydGVkIHByaW9yaXR5IHZhbHVlIGZvciB0aGUgcG9saWN5OiAlZDogc2VlIC0tbWF4IGZvciB2YWxpZCByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc2Cittc2dpZCAiaW9wcmlvX2dldCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcHJpbyAlbHVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjk4Cittc2dpZCAiaW9wcmlvX3NldCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSAtcCA8cGlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtUCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTAKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgSS9PLXNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExMworbXNnaWQgIiIKKyIgLWMsIC0tY2xhc3MgPGNsYXNzPiAgICBuYW1lIG9yIG51bWJlciBvZiBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTUKK21zZ2lkICIiCisiIC1uLCAtLWNsYXNzZGF0YSA8bnVtPiAgcHJpb3JpdHkgKDAuLjcpIGluIHRoZSBzcGVjaWZpZWQgc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHkgZm9yIHRoZSByZWFsdGltZSBhbmQgYmVzdC1lZmZvcnQgY2xhc3Nlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE3Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPi4uLiAgICAgYWN0IG9uIHRoZXNlIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOAorbXNnaWQgIiIKKyIgLVAsIC0tcGdpZCA8cGdycD4uLi4gICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBpbiB0aGVzZSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOQorbXNnaWQgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIGlnbm9yZSBmYWlsdXJlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTIwCittc2dpZCAiIgorIiAtdSwgLS11aWQgPHVpZD4uLi4gICAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIG93bmVkIGJ5IHRoZXNlICIKKyJ1c2Vyc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTU3Cittc2dpZCAiaW52YWxpZCBjbGFzcyBkYXRhIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTYzCittc2dpZCAiaW52YWxpZCBjbGFzcyBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNjaGVkdWxpbmcgY2xhc3M6ICclcyciCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNzYgc2NoZWR1dGlscy9pb25pY2UuYzoxODQgc2NoZWR1dGlscy9pb25pY2UuYzoxOTIKK21zZ2lkICJjYW4gaGFuZGxlIG9ubHkgb25lIG9mIHBpZCwgcGdpZCBvciB1aWQgYXQgb25jZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NQorbXNnaWQgImludmFsaWQgUEdJRCBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MworbXNnaWQgImludmFsaWQgVUlEIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjEyCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3Igbm9uZSBjbGFzcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyMAorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIGlkbGUgY2xhc3MiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvIGNsYXNzICVkIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJVc2FnZTogJXMgW29wdGlvbnNdIFttYXNrIHwgY3B1LWxpc3RdIFtwaWR8Y21kIFthcmdzLi4uXV1cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1NQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBDUFUgYWZmaW5pdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJPcHRpb25zOlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICBkaXNwbGF5IGFuZCBzcGVjaWZ5IGNwdXMgaW4gbGlzdCBmb3JtYXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHBcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gcnVuIGEgbmV3IGNvbW1hbmQ6XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisiWW91IGNhbiByZXRyaWV2ZSB0aGUgbWFzayBvZiBhbiBleGlzdGluZyB0YXNrOlxuIgorIiAgICAlMSRzIC1wIDcwMFxuIgorIk9yIHNldCBpdDpcbiIKKyIgICAgJTEkcyAtcCAwMyA3MDBcbiIKKyJMaXN0IGZvcm1hdCB1c2VzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QgaW5zdGVhZCBvZiBhIG1hc2s6XG4iCisiICAgICUxJHMgLXBjIDAsMyw3LTExIDcwMFxuIgorIlJhbmdlcyBpbiBsaXN0IGZvcm1hdCBjYW4gdGFrZSBhIHN0cmlkZSBhcmd1bWVudDpcbiIKKyIgICAgZS5nLiAwLTMxOjIgaXMgZXF1aXZhbGVudCB0byBtYXNrIDB4NTU1NTU1NTVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk5Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IGNvbnZlcnNpb24gZnJvbSBjcHVzZXQgdG8gc3RyaW5nIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMDkgc2NoZWR1dGlscy90YXNrc2V0LmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTg2IHN5cy11dGlscy9jaGNwdS5jOjI4OQorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgTlJfQ1BVUzsgYWJvcnRpbmciCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTk1IHNjaGVkdXRpbHMvdGFza3NldC5jOjIwOCBzeXMtdXRpbHMvY2hjcHUuYzoyOTUKK21zZ2lkICJjcHVzZXRfYWxsb2MgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxNSBzeXMtdXRpbHMvY2hjcHUuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrOiAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBaZXJvLWZpbGxlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IERpc2NhcmRlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODcKK21zZ2lkICJEaXNjYXJkIHRoZSBjb250ZW50IG9mIHNlY3RvcnMgb24gYSBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MAorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkxCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MgorbXNnaWQgIiAtcCwgLS1zdGVwIDxudW0+ICAgIHNpemUgb2YgdGhlIGRpc2NhcmQgaXRlcmF0aW9ucyB3aXRoaW4gdGhlIG9mZnNldFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTMKK21zZ2lkICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NAorbXNnaWQgIiAteiwgLS16ZXJvb3V0ICAgICAgIHplcm8tZmlsbCByYXRoZXIgdGhhbiBkaXNjYXJkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IGFsaWduZWQgbGVuZ3RoIGFuZCBvZmZzZXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1MCBzeXMtdXRpbHMvZnN0cmltLmM6MzEyIHN5cy11dGlscy9sb3NldHVwLmM6NjczCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMjQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTU0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0ZXAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzIgc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODIgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDgKK21zZ2lkICJubyBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTc3IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTEKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyMiBzeXMtdXRpbHMvZnN0cmltLmM6MzM0Cittc2dpZCAidW5leHBlY3RlZCBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTU1pHRVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgaXMgZ3JlYXRlciB0aGFuIGRldmljZSBzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsZW5ndGggJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtaRVJPT1VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU0VDRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjg3IHN5cy11dGlscy9jaGNwdS5jOjE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBob3QgcGx1Z2dhYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGVuYWJsZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQgKENQVSBpcyBkZWNvbmZpZ3VyZWQpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIChsYXN0IGVuYWJsZWQgQ1BVKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHJlc2Nhbm5pbmcgb2YgQ1BVcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDMKK21zZ2lkICJGYWlsZWQgdG8gdHJpZ2dlciByZXNjYW4gb2YgQ1BVcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJpZ2dlcmVkIHJlc2NhbiBvZiBDUFVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTUxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBzZXR0aW5nIHRoZSBkaXNwYXRjaGluZyBtb2RlIG9mIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU1Cittc2dpZCAiRmFpbGVkIHRvIHNldCBob3Jpem9udGFsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU2CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU5Cittc2dpZCAiRmFpbGVkIHRvIHNldCB2ZXJ0aWNhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IHZlcnRpY2FsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBjb25maWd1cmFibGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBDUFUgbnVtYmVyIGluIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzggdGV4dC11dGlscy9jb2wuYzoxMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDIKK21zZ2lkICJDb25maWd1cmUgQ1BVcyBpbiBhIG11bHRpLXByb2Nlc3NvciBzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQ0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyIgIC1lLCAtLWVuYWJsZSA8Y3B1LWxpc3Q+ICAgICAgIGVuYWJsZSBjcHVzXG4iCisiICAtZCwgLS1kaXNhYmxlIDxjcHUtbGlzdD4gICAgICBkaXNhYmxlIGNwdXNcbiIKKyIgIC1jLCAtLWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICAgIGNvbmZpZ3VyZSBjcHVzXG4iCisiICAtZywgLS1kZWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICBkZWNvbmZpZ3VyZSBjcHVzXG4iCisiICAtcCwgLS1kaXNwYXRjaCA8bW9kZT4gICAgICAgICBzZXQgZGlzcGF0Y2hpbmcgbW9kZVxuIgorIiAgLXIsIC0tcmVzY2FuICAgICAgICAgICAgICAgICAgdHJpZ2dlciByZXNjYW4gb2YgY3B1c1xuIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzozMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIGhhcmR8c29mdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0IHRoZSBmdW5jdGlvbiBvZiB0aGUgQ3RybC1BbHQtRGVsIGNvbWJpbmF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTEKK21zZ2lkICJpbXBsaWNpdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdmFsdWUgaW4gJXM6ICVqdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjYzCittc2dpZCAiWW91IG11c3QgYmUgcm9vdCB0byBzZXQgdGhlIEN0cmwtQWx0LURlbCBiZWhhdmlvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjcxIHN5cy11dGlscy9pcGNybS5jOjM5MiBzeXMtdXRpbHMvaXBjcm0uYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhcmd1bWVudDogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEwCittc2dpZCAic3lzdGVtIGlzIHVudXNhYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMQorbXNnaWQgImFjdGlvbiBtdXN0IGJlIHRha2VuIGltbWVkaWF0ZWx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMgorbXNnaWQgImNyaXRpY2FsIGNvbmRpdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEzCittc2dpZCAiZXJyb3IgY29uZGl0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTQKK21zZ2lkICJ3YXJuaW5nIGNvbmRpdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE1Cittc2dpZCAibm9ybWFsIGJ1dCBzaWduaWZpY2FudCBjb25kaXRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE2Cittc2dpZCAiaW5mb3JtYXRpb25hbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTcKK21zZ2lkICJkZWJ1Zy1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzEKK21zZ2lkICJrZXJuZWwgbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMyCittc2dpZCAicmFuZG9tIHVzZXItbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMzCittc2dpZCAibWFpbCBzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM0Cittc2dpZCAic3lzdGVtIGRhZW1vbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1Cittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzYKK21zZ2lkICJtZXNzYWdlcyBnZW5lcmF0ZWQgaW50ZXJuYWxseSBieSBzeXNsb2dkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNworbXNnaWQgImxpbmUgcHJpbnRlciBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM4Cittc2dpZCAibmV0d29yayBuZXdzIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzkKK21zZ2lkICJVVUNQIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDAKK21zZ2lkICJjbG9jayBkYWVtb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQxCittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyAocHJpdmF0ZSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQyCittc2dpZCAiRlRQIGRhZW1vbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNjcKK21zZ2lkICJEaXNwbGF5IG9yIGNvbnRyb2wgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlci5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzAKK21zZ2lkICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGNsZWFyIHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzEKK21zZ2lkICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIHJlYWQgYW5kIGNsZWFyIGFsbCBtZXNzYWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MgorbXNnaWQgIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAgZGlzYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjczCittc2dpZCAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBlbmFibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NAorbXNnaWQgIiIKKyIgLUYsIC0tZmlsZSA8ZmlsZT4gICAgICAgICAgIHVzZSB0aGUgZmlsZSBpbnN0ZWFkIG9mIHRoZSBrZXJuZWwgbG9nIGJ1ZmZlclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NQorbXNnaWQgIiAtZiwgLS1mYWNpbGl0eSA8bGlzdD4gICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgZmFjaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NgorbXNnaWQgIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAgaHVtYW4gcmVhZGFibGUgb3V0cHV0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc3Cittc2dpZCAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICBkaXNwbGF5IGtlcm5lbCBtZXNzYWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3OAorbXNnaWQgIiIKKyIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgxCittc2dpZCAiIC1sLCAtLWxldmVsIDxsaXN0PiAgICAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBsZXZlbHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODIKK21zZ2lkICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bGV2ZWw+IHNldCBsZXZlbCBvZiBtZXNzYWdlcyBwcmludGVkIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODMKK21zZ2lkICIgLVAsIC0tbm9wYWdlciAgICAgICAgICAgICAgIGRvIG5vdCBwaXBlIG91dHB1dCBpbnRvIGEgcGFnZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODQKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByYXcgbWVzc2FnZSBidWZmZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODUKK21zZ2lkICIiCisiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICBmb3JjZSB0byB1c2Ugc3lzbG9nKDIpIHJhdGhlciB0aGFuIC9kZXYva21zZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NgorbXNnaWQgIiIKKyIgLXMsIC0tYnVmZmVyLXNpemUgPHNpemU+ICAgIGJ1ZmZlciBzaXplIHRvIHF1ZXJ5IHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODcKK21zZ2lkICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIGRpc3BsYXkgdXNlcnNwYWNlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg4Cittc2dpZCAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICB3YWl0IGZvciBuZXcgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODkKK21zZ2lkICIiCisiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBkZWNvZGUgZmFjaWxpdHkgYW5kIGxldmVsIHRvIHJlYWRhYmxlIHN0cmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MAorbXNnaWQgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgc2hvdyB0aW1lIGRlbHRhIGJldHdlZW4gcHJpbnRlZCBtZXNzYWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MQorbXNnaWQgIiIKKyIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIHNob3cgbG9jYWwgdGltZSBhbmQgdGltZSBkZWx0YSBpbiByZWFkYWJsZSAiCisiZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkyCittc2dpZCAiIgorIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbi1yZWFkYWJsZSB0aW1lc3RhbXAgKG1heSBiZSAiCisiaW5hY2N1cmF0ZSEpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkzCittc2dpZCAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBkb24ndCBzaG93IGFueSB0aW1lc3RhbXAgd2l0aCBtZXNzYWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NAorbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wIHVzaW5nIHRoZSBnaXZlbiBmb3JtYXQ6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisiU3VzcGVuZGluZy9yZXN1bWUgd2lsbCBtYWtlIGN0aW1lIGFuZCBpc28gdGltZXN0YW1wcyBpbmFjY3VyYXRlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwMAorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGZhY2lsaXRpZXM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzA2Cittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgbGV2ZWxzIChwcmlvcml0aWVzKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxldmVsICclcyciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbGV2ZWwgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGZhY2lsaXR5ICclcyciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1tYXA6ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNTYKK21zZ2lkICJpbnZhbGlkIGJ1ZmZlciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MDkKK21zZ2lkICItLXNob3ctZGVsdGEgaXMgaWdub3JlZCB3aGVuIHVzZWQgdG9nZXRoZXIgd2l0aCBpc284NjAxIHRpbWUgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MzIKK21zZ2lkICIiCisiLS1yYXcgY2FuIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWxldmVsIG9yIC0tZmFjaWxpdHkgb25seSB3aGVuIHJlYWRpbmcgIgorIm1lc3NhZ2VzIGZyb20gL2Rldi9rbXNnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0NDIKK21zZ2lkICJyZWFkIGtlcm5lbCBidWZmZXIgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0NjEKK21zZ2lkICJrbG9nY3RsIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT58PG1vdW50cG9pbnQ+XVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNworbXNnaWQgIkVqZWN0IHJlbW92YWJsZSBtZWRpYS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNDAKK21zZ2lkICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICB0dXJuIGF1dG8tZWplY3QgZmVhdHVyZSBvbiBvciBvZmZcbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHNsb3Q+ICAgIHN3aXRjaCBkaXNjcyBvbiBhIENELVJPTSBjaGFuZ2VyXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBkaXNwbGF5IGRlZmF1bHQgZGV2aWNlXG4iCisiIC1mLCAtLWZsb3BweSAgICAgICAgICAgICAgICBlamVjdCBmbG9wcHlcbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIGRvbid0IGNhcmUgYWJvdXQgZGV2aWNlIHR5cGVcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIHRvZ2dsZSBtYW51YWwgZWplY3QgcHJvdGVjdGlvbiBvbi9vZmZcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIGRvIG5vdCB1bm1vdW50IGRldmljZSBldmVuIGlmIGl0IGlzIG1vdW50ZWRcbiIKKyIgLU0sIC0tbm8tcGFydGl0aW9ucy11bm1vdW50IGRvIG5vdCB1bm1vdW50IGFub3RoZXIgcGFydGl0aW9uc1xuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgZG9uJ3QgZWplY3QsIGp1c3Qgc2hvdyBkZXZpY2UgZm91bmRcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIHVzZSAvcHJvYy9tb3VudHMgaW5zdGVhZCBvZiAvZXRjL210YWJcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIGVqZWN0IHRhcGVcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIGVqZWN0IENELVJPTVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgZWplY3QgU0NTSSBkZXZpY2VcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIGNsb3NlIHRyYXlcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIHRvZ2dsZSB0cmF5XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICBlbmFibGUgdmVyYm9zZSBvdXRwdXRcbiIKKyIgLXgsIC0tY2RzcGVlZCA8c3BlZWQ+ICAgICAgIHNldCBDRC1ST00gbWF4IHNwZWVkXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICBsaXN0IENELVJPTSBhdmFpbGFibGUgc3BlZWRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTY0Cittc2dpZCAiIgorIlxuIgorIkJ5IGRlZmF1bHQgdHJpZXMgLXIsIC1zLCAtZiwgYW5kIC1xIGluIG9yZGVyIHVudGlsIHN1Y2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjEwCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNoYW5nZXJzbG90Ly1jIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2RzcGVlZC8teCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzI2Cittc2dpZCAiQ0QtUk9NIGF1dG8tZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQwCittc2dpZCAiQ0QtUk9NIGRvb3IgbG9jayBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MgorbXNnaWQgIm90aGVyIHVzZXJzIGhhdmUgdGhlIGRyaXZlIG9wZW4gYW5kIG5vdCBDQVBfU1lTX0FETUlOIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0NAorbXNnaWQgIkNELVJPTSBsb2NrIGRvb3IgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQ5Cittc2dpZCAiQ0QtRHJpdmUgbWF5IE5PVCBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNTEKK21zZ2lkICJDRC1Ecml2ZSBtYXkgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzYyCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBkaXNjIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NgorbXNnaWQgIkNELVJPTSBsb2FkIGZyb20gc2xvdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjgKK21zZ2lkICJJREUvQVRBUEkgQ0QtUk9NIGNoYW5nZXIgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NgorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4OAorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQwNQorbXNnaWQgIkNELVJPTSBlamVjdCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzMgc3lzLXV0aWxzL2VqZWN0LmM6NDU2IHN5cy11dGlscy9lamVjdC5jOjEwMTEKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM2Cittc2dpZCAibm8gQ0QtUk9NIGluZm9ybWF0aW9uIGF2YWlsYWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzkKK21zZ2lkICJDRC1ST00gZHJpdmUgaXMgbm90IHJlYWR5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4MgorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDg0IHN5cy11dGlscy9lamVjdC5jOjU3MAorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmRpbmcgQ0QtUk9NIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1NDQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1ODgKK21zZ2lkICJub3QgYW4gc2cgZGV2aWNlLCBvciBvbGQgc2cgZHJpdmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5tb3VudGluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGV4ZWMgL2Jpbi91bW91bnQgb2YgYCVzJyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzgKK21zZ2lkICJ1bmFibGUgdG8gZm9yayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGZhaWxlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjczMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3OTEgc3lzLXV0aWxzL2VqZWN0LmM6ODkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudGVkIG9uICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzMworbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvIGF1dG8iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODM1CisjLCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvICVsZFgiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODYxCisjLCBjLWZvcm1hdAorbXNnaWQgImRlZmF1bHQgZGV2aWNlOiBgJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg2NworIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyBkZWZhdWx0IGRldmljZSBgJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4NiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGZpbmQgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4OAorIywgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgbmFtZSBpcyBgJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg5NCBzeXMtdXRpbHMvdW1vdW50LmM6MjA2IHN5cy11dGlscy91bW91bnQuYzoyMzUKKyM6IHN5cy11dGlscy91bW91bnQuYzo0MDkgc3lzLXV0aWxzL3Vtb3VudC5jOjQzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG1vdW50ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNjIGRldmljZTogJXMgKGRpc2sgZGV2aWNlIHdpbGwgYmUgdXNlZCBmb3IgZWplY3QpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIG1vdW50cG9pbnQgb3IgZGV2aWNlIHdpdGggdGhlIGdpdmVuIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyB3aG9sZS1kaXNrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBob3QtcGx1Z2dhYmxlIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIGlzIGAlcyciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTE4Cittc2dpZCAiZXhpdGluZyBkdWUgdG8gLW4vLS1ub29wIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVuYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2FibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zaW5nIHRyYXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b2dnbGluZyB0cmF5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGlzdGluZyBDRC1ST00gc3BlZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTg2CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogZGV2aWNlIGluIHVzZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlbGVjdGluZyBDRC1ST00gZGlzYyAjJWxkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBDRC1ST00gZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEwCittc2dpZCAiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBTQ1NJIGNvbW1hbmRzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTcKK21zZ2lkICJTQ1NJIGVqZWN0IHN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE4Cittc2dpZCAiU0NTSSBlamVjdCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIGZsb3BweSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjQKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNQorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgdGFwZSBvZmZsaW5lIGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMQorbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDMyCittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzYKK21zZ2lkICJ1bmFibGUgdG8gZWplY3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGVuYW1lPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4MQorbXNnaWQgIlByZWFsbG9jYXRlIHNwYWNlIHRvLCBvciBkZWFsbG9jYXRlIHNwYWNlIGZyb20gYSBmaWxlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NAorbXNnaWQgIiAtYywgLS1jb2xsYXBzZS1yYW5nZSByZW1vdmUgYSByYW5nZSBmcm9tIHRoZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg1Cittc2dpZCAiIC1kLCAtLWRpZy1ob2xlcyAgICAgIGRldGVjdCB6ZXJvZXMgYW5kIHJlcGxhY2Ugd2l0aCBob2xlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NgorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gICBsZW5ndGggZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg3Cittc2dpZCAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgIG1haW50YWluIHRoZSBhcHBhcmVudCBzaXplIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg4Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgIG9mZnNldCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODkKK21zZ2lkICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVwbGFjZSBhIHJhbmdlIHdpdGggYSBob2xlIChpbXBsaWVzIC1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MAorbXNnaWQgIiAteiwgLS16ZXJvLXJhbmdlICAgICB6ZXJvIGFuZCBlbnN1cmUgYWxsb2NhdGlvbiBvZiBhIHJhbmdlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEyNgorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQ6IGtlZXAgc2l6ZSBtb2RlIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMjcKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglanUgYnl0ZXMpIGNvbnZlcnRlZCB0byBzcGFyc2UgaG9sZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM0NiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTgKK21zZ2lkICJubyBmaWxlbmFtZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM1OCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzY0Cittc2dpZCAiaW52YWxpZCBsZW5ndGggdmFsdWUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjIKK21zZ2lkICJubyBsZW5ndGggYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjcKK21zZ2lkICJpbnZhbGlkIG9mZnNldCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gPGNvbW1hbmQ+IFs8YXJndW1lbnQ+Li4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gLWMgPGNvbW1hbmQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlIGRlc2NyaXB0b3IgbnVtYmVyPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjU5Cittc2dpZCAiTWFuYWdlIGZpbGUgbG9ja3MgZnJvbSBzaGVsbCBzY3JpcHRzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYyCittc2dpZCAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBnZXQgYSBzaGFyZWQgbG9ja1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYzCittc2dpZCAiIC14LCAtLWV4Y2x1c2l2ZSAgICAgICAgICBnZXQgYW4gZXhjbHVzaXZlIGxvY2sgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjQKK21zZ2lkICIgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIHJlbW92ZSBhIGxvY2tcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NQorbXNnaWQgIiAtbiwgLS1ub25ibG9jayAgICAgICAgICAgZmFpbCByYXRoZXIgdGhhbiB3YWl0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjYKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8c2Vjcz4gICAgIHdhaXQgZm9yIGEgbGltaXRlZCBhbW91bnQgb2YgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY3Cittc2dpZCAiIgorIiAtRSwgLS1jb25mbGljdC1leGl0LWNvZGUgPG51bWJlcj4gIGV4aXQgY29kZSBhZnRlciBjb25mbGljdCBvciB0aW1lb3V0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjgKK21zZ2lkICIiCisiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBjbG9zZSBmaWxlIGRlc2NyaXB0b3IgYmVmb3JlIHJ1bm5pbmcgY29tbWFuZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY5Cittc2dpZCAiIgorIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgcnVuIGEgc2luZ2xlIGNvbW1hbmQgc3RyaW5nIHRocm91Z2ggdGhlIHNoZWxsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzAKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgIGV4ZWN1dGUgY29tbWFuZCB3aXRob3V0IGZvcmtpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgaW5jcmVhc2UgdmVyYm9zaXR5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDUKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgdmFsdWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjA5Cittc2dpZCAiaW52YWxpZCBleGl0IGNvZGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjI4Cittc2dpZCAidGhlIC0tbm8tZm9yayBhbmQgLS1jbG9zZSBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGNvbW1hbmQgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjU0Cittc2dpZCAiYmFkIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTcKK21zZ2lkICJyZXF1aXJlcyBmaWxlIGRlc2NyaXB0b3IsIGZpbGUgb3IgZGlyZWN0b3J5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4MQorbXNnaWQgImZhaWxlZCB0byBnZXQgbG9jayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODgKK21zZ2lkICJ0aW1lb3V0IHdoaWxlIHdhaXRpbmcgdG8gZ2V0IGxvY2siCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXR0aW5nIGxvY2sgdG9vayAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnRwb2ludD5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1MworbXNnaWQgIlN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbSAoZXh0My80LCBSZWlzZXJGUywgSkZTLCBYRlMpLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjU2Cittc2dpZCAiIC1mLCAtLWZyZWV6ZSAgICAgIGZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjU3Cittc2dpZCAiIC11LCAtLXVuZnJlZXplICAgIHVuZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTE2Cittc2dpZCAibmVpdGhlciAtLWZyZWV6ZSBvciAtLXVuZnJlZXplIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBGSVRSSU0gaW9jdGwgZmFpbGVkIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgaGVyZSBpcyBhIHZlcnkgbGFyZ2UgbnVtYmVyLgorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCU8UFJJdTY0PiBieXRlcykgdHJpbW1lZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxOTEgc3lzLXV0aWxzL3N3YXBvbi5jOjcyOSBzeXMtdXRpbHMvdW1vdW50LmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50IHBvaW50PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTQKK21zZ2lkICJEaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NworbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgIHRyaW0gYWxsIG1vdW50ZWQgZmlsZXN5c3RlbXMgdGhhdCBhcmUgc3VwcG9ydGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1OAorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIHRoZSBvZmZzZXQgaW4gYnl0ZXMgdG8gc3RhcnQgZGlzY2FyZGluZyBmcm9tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1OQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gZGlzY2FyZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjAKK21zZ2lkICIgLW0sIC0tbWluaW11bSA8bnVtPiB0aGUgbWluaW11bSBleHRlbnQgbGVuZ3RoIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgbnVtYmVyIG9mIGRpc2NhcmRlZCBieXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMTYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWluaW11bSBleHRlbnQgbGVuZ3RoIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMjkKK21zZ2lkICJubyBtb3VudHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGUgZGlzY2FyZCBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJBc3N1bWluZyBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluICVzIHRpbWUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNDcgc3lzLXV0aWxzL2h3Y2xvY2suYzozMzQKK21zZ2lkICJVVEMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNDcgc3lzLXV0aWxzL2h3Y2xvY2suYzozMzMKK21zZ2lkICJsb2NhbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMxOAorbXNnaWQgIiIKKyJXYXJuaW5nOiB1bnJlY29nbml6ZWQgdGhpcmQgbGluZSBpbiBhZGp0aW1lIGZpbGVcbiIKKyIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgZHJpZnQgYWRqdXN0bWVudCBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGNhbGlicmF0aW9uIGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkhhcmR3YXJlIGNsb2NrIGlzIG9uICVzIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM1OAorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGZvciBjbG9jayB0aWNrLi4uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc3luY2hyb25pemF0aW9uIGZhaWxlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmdvdCBjbG9jayB0aWNrXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZXMgaW4gaGFyZHdhcmUgY2xvY2s6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJIdyBjbG9jayB0aW1lIDogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ2NQorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHJlYWQgZnJvbSBIYXJkd2FyZSBDbG9jazogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgSGFyZHdhcmUgQ2xvY2sgdG8gJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2xvY2sgbm90IGNoYW5nZWQgLSB0ZXN0aW5nIG9ubHkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAic2xlZXBpbmcgfiVkIHVzZWNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGp1bXBlZCBiYWNrd2FyZCAlLjZmIHNlY29uZHMgdG8gJWxkLiUwNmxkIC0gcmV0YXJnZXRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQuJTA2bGQgPCAlbGQuJTA2bGQgKCUuNmYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2VkIGl0IC0gJWxkLiUwNmxkIGlzIHRvbyBmYXIgcGFzdCAlbGQuJTA2bGQgKCUuNmYgPiAlLjZmKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlbGQuJTA2bGQgaXMgY2xvc2UgZW5vdWdoIHRvICVsZC4lMDZsZCAoJS42ZiA8ICUuNmYpXG4iCisiU2V0IFJUQyB0byAlbGQgKCVsZCArICVkOyByZWZzeXN0aW1lID0gJWxkLiUwNmxkKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Njg4Cittc2dpZCAiIgorIlRoZSBIYXJkd2FyZSBDbG9jayByZWdpc3RlcnMgY29udGFpbiB2YWx1ZXMgdGhhdCBhcmUgZWl0aGVyIGludmFsaWQgKGUuZy4gIgorIjUwdGggZGF5IG9mIG1vbnRoKSBvciBiZXlvbmQgdGhlIHJhbmdlIHdlIGNhbiBoYW5kbGUgKGUuZy4gWWVhciAyMDk1KS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MjgKK21zZ2lkICJObyAtLWRhdGUgb3B0aW9uIHNwZWNpZmllZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MzQKK21zZ2lkICItLWRhdGUgYXJndW1lbnQgdG9vIGxvbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NDEKK21zZ2lkICIiCisiVGhlIHZhbHVlIG9mIHRoZSAtLWRhdGUgb3B0aW9uIGlzIG5vdCBhIHZhbGlkIGRhdGUuXG4iCisiSW4gcGFydGljdWxhciwgaXQgY29udGFpbnMgcXVvdGF0aW9uIG1hcmtzLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJJc3N1aW5nIGRhdGUgY29tbWFuZDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc1MworbXNnaWQgIlVuYWJsZSB0byBydW4gJ2RhdGUnIHByb2dyYW0gaW4gL2Jpbi9zaCBzaGVsbC4gcG9wZW4oKSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzcG9uc2UgZnJvbSBkYXRlIGNvbW1hbmQgPSAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCB1bmV4cGVjdGVkIHJlc3VsdHMuXG4iCisiVGhlIGNvbW1hbmQgd2FzOlxuIgorIiAgJXNcbiIKKyJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorIiAgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkYXRlIGNvbW1hbmQgaXNzdWVkIGJ5ICVzIHJldHVybmVkIHNvbWV0aGluZyBvdGhlciB0aGFuIGFuIGludGVnZXIgd2hlcmUgIgorInRoZSBjb252ZXJ0ZWQgdGltZSB2YWx1ZSB3YXMgZXhwZWN0ZWQuXG4iCisiVGhlIGNvbW1hbmQgd2FzOlxuIgorIiAgJXNcbiIKKyJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorIiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzg2CisjLCBjLWZvcm1hdAorbXNnaWQgImRhdGUgc3RyaW5nICVzIGVxdWF0ZXMgdG8gJWxkIHNlY29uZHMgc2luY2UgMTk2OS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgyNAorbXNnaWQgIiIKKyJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBzZXQgdGhlICIKKyJTeXN0ZW0gVGltZSBmcm9tIGl0LiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg0MyBzeXMtdXRpbHMvaHdjbG9jay5jOjkzMAorIywgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg0NCBzeXMtdXRpbHMvaHdjbG9jay5jOjkzMgorIywgYy1mb3JtYXQKK21zZ2lkICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQ2IHN5cy11dGlscy9od2Nsb2NrLmM6OTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODUwIHN5cy11dGlscy9od2Nsb2NrLmM6OTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIHN5c3RlbSBjbG9jayBiZWNhdXNlIHJ1bm5pbmcgaW4gdGVzdCBtb2RlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODY2IHN5cy11dGlscy9od2Nsb2NrLmM6OTYyCittc2dpZCAiTXVzdCBiZSBzdXBlcnVzZXIgdG8gc2V0IHN5c3RlbSBjbG9jay4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4Njkgc3lzLXV0aWxzL2h3Y2xvY2suYzo5NjUKK21zZ2lkICJzZXR0aW1lb2ZkYXkoKSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3VycmVudCBzeXN0ZW0gdGltZTogJWxkID0gJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzMQorIywgYy1mb3JtYXQKK21zZ2lkICJcdFVUQzogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk5NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgLS11cGRhdGUtZHJpZnQgb3B0aW9uIHdhcyBub3QgdXNlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIEhhcmR3YXJlIENsb2NrIHByZXZpb3VzbHkgY29udGFpbmVkICIKKyJnYXJiYWdlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAwNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBsYXN0IGNhbGlicmF0aW9uIHRpbWUgaXMgemVybyxcbiIKKyJzbyBoaXN0b3J5IGlzIGJhZCBhbmQgY2FsaWJyYXRpb24gc3RhcnRvdmVyIGlzIG5lY2Vzc2FyeS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgaXQgaGFzIGJlZW4gbGVzcyB0aGFuIGZvdXIgaG91cnMgc2luY2UgIgorInRoZSBsYXN0IGNhbGlicmF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnQgZmFjdG9yIHdhcyBjYWxjdWxhdGVkIGFzICVmIHNlY29uZHMvZGF5LlxuIgorIkl0IGlzIGZhciB0b28gbXVjaC4gUmVzZXR0aW5nIHRvIHplcm8uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdGVkICVmIHNlY29uZHMgaW4gdGhlIHBhc3QgJWYgc2Vjb25kc1xuIgorImluIHNwaXRlIG9mIGEgZHJpZnQgZmFjdG9yIG9mICVmIHNlY29uZHMvZGF5LlxuIgorIkFkanVzdGluZyBkcmlmdCBmYWN0b3IgYnkgJWYgc2Vjb25kcy9kYXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWQgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVkIHNlY29uZHNcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEwMworIywgYy1mb3JtYXQKK21zZ2lkICJDYWxjdWxhdGVkIEhhcmR3YXJlIENsb2NrIGRyaWZ0IGlzICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTMzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCB1cGRhdGluZyBhZGp0aW1lIGZpbGUgYmVjYXVzZSBvZiB0ZXN0aW5nIG1vZGUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXb3VsZCBoYXZlIHdyaXR0ZW4gdGhlIGZvbGxvd2luZyB0byAlczpcbiIKKyIlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNvdWxkIG5vdCBvcGVuIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIGluIGl0ICglcykgZm9yICIKKyJ3cml0aW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE0OSBzeXMtdXRpbHMvaHdjbG9jay5jOjExNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHVwZGF0ZSBmaWxlIHdpdGggdGhlIGNsb2NrIGFkanVzdG1lbnQgcGFyYW1ldGVycyAoJXMpIGluIGl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE2NAorbXNnaWQgIkRyaWZ0IGFkanVzdG1lbnQgcGFyYW1ldGVycyBub3QgdXBkYXRlZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjAwCittc2dpZCAiIgorIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IGFkanVzdCBpdC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGxhc3QgYWRqdXN0bWVudCB0aW1lIGlzIHplcm8sIHNvIGhpc3RvcnkgaXMgYmFkLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGRyaWZ0IGZhY3RvciAlZiBpcyBmYXIgdG9vIGhpZ2guXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHVzYWJsZSBjbG9jayBpbnRlcmZhY2UgZm91bmQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5lZWRlZCBhZGp1c3RtZW50IGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kLCBzbyBub3Qgc2V0dGluZyBjbG9jay5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzODggc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBzZXQgc3lzdGVtIGNsb2NrLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQwMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OSwgUlRDIGlzIHByZWRpY3RlZCB0byByZWFkICVsZCBzZWNvbmRzIGFmdGVyIDE5NjkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDMxCittc2dpZCAiIgorIlRoZSBrZXJuZWwga2VlcHMgYW4gZXBvY2ggdmFsdWUgZm9yIHRoZSBIYXJkd2FyZSBDbG9jayBvbmx5IG9uIGFuIEFscGhhICIKKyJtYWNoaW5lLlxuIgorIlRoaXMgY29weSBvZiBod2Nsb2NrIHdhcyBidWlsdCBmb3IgYSBtYWNoaW5lIG90aGVyIHRoYW4gQWxwaGFcbiIKKyIoYW5kIHRodXMgaXMgcHJlc3VtYWJseSBub3QgcnVubmluZyBvbiBhbiBBbHBoYSBub3cpLiAgTm8gYWN0aW9uIHRha2VuLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NDgKK21zZ2lkICJVbmFibGUgdG8gZ2V0IHRoZSBlcG9jaCB2YWx1ZSBmcm9tIHRoZSBrZXJuZWwuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgaXMgYXNzdW1pbmcgYW4gZXBvY2ggdmFsdWUgb2YgJWx1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDU1Cittc2dpZCAiIgorIlRvIHNldCB0aGUgZXBvY2ggdmFsdWUsIHlvdSBtdXN0IHVzZSB0aGUgJ2Vwb2NoJyBvcHRpb24gdG8gdGVsbCB0byB3aGF0ICIKKyJ2YWx1ZSB0byBzZXQgaXQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyB0aGUgZXBvY2ggdG8gJWx1IC0gdGVzdGluZyBvbmx5LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU1NgorbXNnaWQgIiBod2Nsb2NrIFtmdW5jdGlvbl0gW29wdGlvbi4uLl1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NTkKK21zZ2lkICJRdWVyeSBvciBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2MQorbXNnaWQgIiIKKyJcbiIKKyJGdW5jdGlvbnM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTYyCittc2dpZCAiIgorIiAtaCwgLS1oZWxwICAgICAgICAgICBzaG93IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisiIC1yLCAtLXNob3cgICAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IHJlc3VsdFxuIgorIiAgICAgLS1nZXQgICAgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCBkcmlmdCBjb3JyZWN0ZWQgcmVzdWx0XG4iCisiICAgICAtLXNldCAgICAgICAgICAgIHNldCB0aGUgUlRDIHRvIHRoZSB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTY2Cittc2dpZCAiIgorIiAtcywgLS1oY3Rvc3lzICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisiIC13LCAtLXN5c3RvaGMgICAgICAgIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgZnJvbSB0aGUgY3VycmVudCBzeXN0ZW0gdGltZVxuIgorIiAgICAgLS1zeXN0eiAgICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRpbWV6b25lXG4iCisiICAgICAtLWFkanVzdCAgICAgICAgIGFkanVzdCB0aGUgUlRDIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgc2luY2VcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY2xvY2sgd2FzIGxhc3Qgc2V0IG9yIGFkanVzdGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTcxCittc2dpZCAiIgorIiAtYywgLS1jb21wYXJlICAgICAgICBwZXJpb2RpY2FsbHkgY29tcGFyZSB0aGUgc3lzdGVtIGNsb2NrIHdpdGggdGhlIENNT1MgIgorImNsb2NrXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTczCittc2dpZCAiIgorIiAgICAgLS1nZXRlcG9jaCAgICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisiICAgICAtLXNldGVwb2NoICAgICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGdpdmVuIHdpdGggLS1lcG9jaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU3NworbXNnaWQgIiIKKyIgICAgIC0tcHJlZGljdCAgICAgICAgcHJlZGljdCBSVEMgcmVhZGluZyBhdCB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4MQorbXNnaWQgIiIKKyIgLXUsIC0tdXRjICAgICAgICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gVVRDXG4iCisiICAgICAtLWxvY2FsdGltZSAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIGxvY2FsIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODQKK21zZ2lkICIgLWYsIC0tcnRjIDxmaWxlPiAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1kaXJlY3Rpc2EgICAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorIiAgICAgLS1iYWR5ZWFyICAgICAgICBpZ25vcmUgUlRDJ3MgeWVhciBiZWNhdXNlIHRoZSBCSU9TIGlzIGJyb2tlblxuIgorIiAgICAgLS1kYXRlIDx0aW1lPiAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorIiAgICAgLS1lcG9jaCA8eWVhcj4gICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBoYXJkd2FyZSBjbG9jaydzIGVwb2NoIHZhbHVlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIGRyaWZ0IGZhY3RvciBpbiAlMSRzIChyZXF1aXJlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIC0tc2V0IG9yIC0tc3lzdG9oYylcbiIKKyIgICAgIC0tbm9hZGpmaWxlICAgICAgZG8gbm90IGFjY2VzcyAlMSRzOyB0aGlzIHJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWVcbiIKKyIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlMSRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTk5Cittc2dpZCAiIgorIiAgICAgLS10ZXN0ICAgICAgICAgICBkbyBub3QgdXBkYXRlIGFueXRoaW5nLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBoYXBwZW5cbiIKKyIgLUQsIC0tZGVidWcgICAgICAgICAgZGVidWdnaW5nIG1vZGVcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE2MDIKK21zZ2lkICIiCisiIC1KfC0tamVuc2VuLCAtQXwtLWFyYywgLVN8LS1zcm0sIC1GfC0tZnVua3ktdG95XG4iCisiICAgICAgdGVsbCBod2Nsb2NrIHRoZSB0eXBlIG9mIEFscGhhIHlvdSBoYXZlIChzZWUgaHdjbG9jayg4KSlcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE3MjgKK21zZ2lkICJVbmFibGUgdG8gY29ubmVjdCB0byBhdWRpdCBzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODI2Cittc2dpZCAiaW52YWxpZCBlcG9jaCBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdGFrZXMgbm8gbm9uLW9wdGlvbiBhcmd1bWVudHMuICBZb3Ugc3VwcGxpZWQgJWQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODgwCittc2dpZCAiV2l0aCAtLW5vYWRqZmlsZSwgeW91IG11c3Qgc3BlY2lmeSBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODkzCittc2dpZCAiTm8gdXNhYmxlIHNldC10byB0aW1lLiAgQ2Fubm90IHNldCBjbG9jay4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxOTE3Cittc2dpZCAiQ2Fubm90IGFjY2VzcyB0aGUgSGFyZHdhcmUgQ2xvY2sgdmlhIGFueSBrbm93biBtZXRob2QuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTkyMAorbXNnaWQgIiIKKyJVc2UgdGhlIC0tZGVidWcgb3B0aW9uIHRvIHNlZSB0aGUgZGV0YWlscyBvZiBvdXIgc2VhcmNoIGZvciBhbiBhY2Nlc3MgbWV0aG9kLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgImJvb3RlZCBmcm9tIE1JTE9cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIlJ1ZmZpYW4gQkNEIGNsb2NrXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9ja3BvcnQgYWRqdXN0ZWQgdG8gMHgleFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnVua3kgVE9ZIVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXRvbWljICVzIGZhaWxlZCBmb3IgMTAwMCBpdGVyYXRpb25zISIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3NfcmVhZCgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc19yZWFkKCk6IHJlYWQgZnJvbSBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NDUKK21zZ2lkICJJIGZhaWxlZCB0byBnZXQgcGVybWlzc2lvbiBiZWNhdXNlIEkgZGlkbid0IHRyeS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY0OAorbXNnaWQgInVuYWJsZSB0byBnZXQgSS9PIHBvcnQgYWNjZXNzOiAgdGhlIGlvcGwoMykgY2FsbCBmYWlsZWQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NTEKK21zZ2lkICJQcm9iYWJseSB5b3UgbmVlZCByb290IHByaXZpbGVnZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY1OAorbXNnaWQgIlVzaW5nIGRpcmVjdCBJL08gaW5zdHJ1Y3Rpb25zIHRvIElTQSBjbG9jay4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTk1CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byByZWFkIHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gJXMgdG8gY2hhbmdlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjM2Cittc2dpZCAiVGltZWQgb3V0IHdhaXRpbmcgZm9yIHRpbWUgY2hhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgaGF2ZSBpbnRlcnJ1cHQgZnVuY3Rpb25zLiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzAyCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIHRpbWVkIG91dCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9mZiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvbiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQgdW5leHBlY3RlZGx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gc2V0IHRoZSB0aW1lIGZhaWxlZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB3YXMgc3VjY2Vzc2Z1bC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozODcKK21zZ2lkICJVc2luZyB0aGUgL2RldiBpbnRlcmZhY2UgdG8gdGhlIGNsb2NrLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MTcgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUbyBtYW5pcHVsYXRlIHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLCB3ZSBtdXN0IGFjY2VzcyB0aGUgTGludXggJ3J0YycgIgorImRldmljZSBkcml2ZXIgdmlhIHRoZSBkZXZpY2Ugc3BlY2lhbCBmaWxlICVzLiAgVGhpcyBmaWxlIGRvZXMgbm90IGV4aXN0IG9uICIKKyJ0aGlzIHN5c3RlbS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDI5CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDM1CisjLCBjLWZvcm1hdAorbXNnaWQgIndlIGhhdmUgcmVhZCBlcG9jaCAlbHUgZnJvbSAlcyB3aXRoIFJUQ19FUE9DSF9SRUFEIGlvY3RsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ1NQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZXBvY2ggdmFsdWUgbWF5IG5vdCBiZSBsZXNzIHRoYW4gMTkwMC4gIFlvdSByZXF1ZXN0ZWQgJWxkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIGVwb2NoIHRvICVsdSB3aXRoIFJUQ19FUE9DSF9TRVQgaW9jdGwgdG8gJXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBrZXJuZWwgZGV2aWNlIGRyaXZlciBmb3IgJXMgZG9lcyBub3QgaGF2ZSB0aGUgUlRDX0VQT0NIX1NFVCBpb2N0bC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKFJUQ19FUE9DSF9TRVQpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo2OQorbXNnaWQgIkNyZWF0ZSB2YXJpb3VzIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzIKK21zZ2lkICIgLU0sIC0tc2htZW0gPHNpemU+ICAgICAgIGNyZWF0ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgb2Ygc2l6ZSA8c2l6ZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MworbXNnaWQgIiIKKyIgLVMsIC0tc2VtYXBob3JlIDxudW1iZXI+IGNyZWF0ZSBzZW1hcGhvcmUgYXJyYXkgd2l0aCA8bnVtYmVyPiBlbGVtZW50c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc0Cittc2dpZCAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICBjcmVhdGUgbWVzc2FnZSBxdWV1ZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc1Cittc2dpZCAiIgorIiAtcCwgLS1tb2RlIDxtb2RlPiAgICAgICAgcGVybWlzc2lvbiBmb3IgdGhlIHJlc291cmNlIChkZWZhdWx0IGlzIDA2NDQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTEwIHN5cy11dGlscy9sb3NldHVwLmM6Njk3IHN5cy11dGlscy96cmFtY3RsLmM6NjIyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTE3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVsZW1lbnRzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MQorbXNnaWQgImNyZWF0ZSBzaGFyZSBtZW1vcnkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MworIywgYy1mb3JtYXQKK21zZ2lkICJTaGFyZWQgbWVtb3J5IGlkOiAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0OQorbXNnaWQgImNyZWF0ZSBtZXNzYWdlIHF1ZXVlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBxdWV1ZSBpZDogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTcKK21zZ2lkICJjcmVhdGUgc2VtYXBob3JlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VtYXBob3JlIGlkOiAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBzaG18bXNnfHNlbSA8aWQ+Li4uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTQKK21zZ2lkICJSZW1vdmUgY2VydGFpbiBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU3Cittc2dpZCAiIC1tLCAtLXNobWVtLWlkIDxpZD4gICAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkgaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OAorbXNnaWQgIiAtTSwgLS1zaG1lbS1rZXkgPGtleT4gICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGtleVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU5Cittc2dpZCAiIC1xLCAtLXF1ZXVlLWlkIDxpZD4gICAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjAKK21zZ2lkICIgLVEsIC0tcXVldWUta2V5IDxrZXk+ICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkga2V5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjEKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlLWlkIDxpZD4gICAgcmVtb3ZlIHNlbWFwaG9yZSBieSBpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYyCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGtleT4gIHJlbW92ZSBzZW1hcGhvcmUgYnkga2V5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjMKK21zZ2lkICIgLWEsIC0tYWxsWz1zaG18bXNnfHNlbV0gICAgcmVtb3ZlIGFsbCAoaW4gdGhlIHNwZWNpZmllZCBjYXRlZ29yeSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBpZCBgJWQnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3ZpbmcgbWVzc2FnZSBxdWV1ZSBpZCBgJWQnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3Zpbmcgc2VtYXBob3JlIGlkIGAlZCdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDggc3lzLXV0aWxzL2lwY3JtLmM6MjIyCittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGtleSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDgKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3IgaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExIHN5cy11dGlscy9pcGNybS5jOjIyOAorbXNnaWQgImludmFsaWQga2V5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMQorbXNnaWQgImludmFsaWQgaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0IHN5cy11dGlscy9pcGNybS5jOjIyNQorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBrZXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNyBzeXMtdXRpbHMvaXBjcm0uYzoyMzEKK21zZ2lkICJrZXkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNworbXNnaWQgImlkIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZDogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgInJlc291cmNlKHMpIGRlbGV0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBrZXkgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNTYKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjY5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI5MAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW3Jlc291cmNlLW9wdGlvbi4uLl0gW291dHB1dC1vcHRpb25dXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTYgc3lzLXV0aWxzL2xzaXBjLmM6MjgwCittc2dpZCAiU2hvdyBpbmZvcm1hdGlvbiBvbiBJUEMgZmFjaWxpdGllcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NCBzeXMtdXRpbHMvbHNpcGMuYzoyODMKK21zZ2lkICJSZXNvdXJjZSBvcHRpb25zOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUgc3lzLXV0aWxzL2xzaXBjLmM6Mjg0Cittc2dpZCAiIC1tLCAtLXNobWVtcyAgICAgIHNoYXJlZCBtZW1vcnkgc2VnbWVudHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY2IHN5cy11dGlscy9sc2lwYy5jOjI4NQorbXNnaWQgIiAtcSwgLS1xdWV1ZXMgICAgICBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Njcgc3lzLXV0aWxzL2xzaXBjLmM6Mjg2Cittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZXMgIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgIGFsbCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcxCittc2dpZCAiT3V0cHV0IG9wdGlvbnM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MgorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjczCittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgIHNob3cgUElEcyBvZiBjcmVhdG9yIGFuZCBsYXN0IG9wZXJhdG9yXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NAorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NQorbXNnaWQgIiAtbCwgLS1saW1pdHMgICAgICBzaG93IHJlc291cmNlIGxpbWl0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKK21zZ2lkICIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzcKK21zZ2lkICIgICAgIC0taHVtYW4gICAgICAgc2hvdyBzaXplcyBpbiBodW1hbi1yZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc4Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgIHNob3cgc2l6ZXMgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjE2NAorbXNnaWQgIndoZW4gdXNpbmcgYW4gSUQsIGEgc2luZ2xlIHJlc291cmNlIG11c3QgYmUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzaGFyZWQgbWVtb3J5IGxpbWl0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2Ygc2VnbWVudHMgPSAlanVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwOQorbXNnaWQgIm1heCBzZWcgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxMQorbXNnaWQgIm1heCB0b3RhbCBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjE0Cittc2dpZCAibWluIHNlZyBzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjI2CisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGlzIG91dHB1dCBmb3JtYXQgaXMgbWFpbnRhaW5lZCBmb3IgYmFja3dhcmQKKyMuIGNvbXBhdGliaWxpdHkgYXMgaXBjcyBpcyB1c2VkIGluIHNjcmlwdHMuIEZvciBjb25zaXN0ZW5jeQorIy4gd2l0aCB0aGUgcmVzdCwgdGhlIHRyYW5zbGF0ZWQgZm9ybSBjYW4gZm9sbG93IHRoaXMgbW9kZWw6CisjLiAqCisjLiAic2VnbWVudHMgYWxsb2NhdGVkID0gJWRcbiIKKyMuICJwYWdlcyBhbGxvY2F0ZWQgPSAlbGRcbiIKKyMuICJwYWdlcyByZXNpZGVudCA9ICVsZFxuIgorIy4gInBhZ2VzIHN3YXBwZWQgPSAlbGRcbiIKKyMuICJzd2FwIHBlcmZvcm1hbmNlID0gJWxkIGF0dGVtcHRzLCAlbGQgc3VjY2Vzc2VzXG4iCisjLgorIzogc3lzLXV0aWxzL2lwY3MuYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInNlZ21lbnRzIGFsbG9jYXRlZCAlZFxuIgorInBhZ2VzIGFsbG9jYXRlZCAlbGRcbiIKKyJwYWdlcyByZXNpZGVudCAgJWxkXG4iCisicGFnZXMgc3dhcHBlZCAgICVsZFxuIgorIlN3YXAgcGVyZm9ybWFuY2U6ICVsZCBhdHRlbXB0c1x0ICVsZCBzdWNjZXNzZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI1OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50IENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjc0CisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgInNobWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6MjgwIHN5cy11dGlscy9pcGNzLmM6Mzg2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwMSBzeXMtdXRpbHMvaXBjcy5jOjQ4OSBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgInBlcm1zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiY3VpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgImNnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJ1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQXR0YWNoL0RldGFjaC9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI3NCBzeXMtdXRpbHMvaXBjcy5jOjI4MAorIzogc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo0OTUKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxIHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAib3duZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcKK21zZ2lkICJhdHRhY2hlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NworbXNnaWQgImRldGFjaGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY4Cittc2dpZCAiY2hhbmdlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBDcmVhdG9yL0xhc3Qtb3AgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc0Cittc2dpZCAiY3BpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3NAorbXNnaWQgImxwaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MCBzeXMtdXRpbHMvaXBjcy5jOjQwMSBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgImtleSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MSBzeXMtdXRpbHMvaXBjcy5jOjUwOAorbXNnaWQgInNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODEgc3lzLXV0aWxzL3BybGltaXQuYzo3NSBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4IHN5cy11dGlscy9wcmxpbWl0LmM6Nzkgc3lzLXV0aWxzL3BybGltaXQuYzo4MQorIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJieXRlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MgorbXNnaWQgIm5hdHRjaCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MgorbXNnaWQgInN0YXR1cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMwNiBzeXMtdXRpbHMvaXBjcy5jOjMwOCBzeXMtdXRpbHMvaXBjcy5jOjMxMAorIzogc3lzLXV0aWxzL2lwY3MuYzo0MjQgc3lzLXV0aWxzL2lwY3MuYzo0MjYgc3lzLXV0aWxzL2lwY3MuYzo1MzIKKyM6IHN5cy11dGlscy9pcGNzLmM6NTM0IHN5cy11dGlscy9pcGNzLmM6NTM2IHN5cy11dGlscy9pcGNzLmM6NTkwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MiBzeXMtdXRpbHMvaXBjcy5jOjYyMSBzeXMtdXRpbHMvaXBjcy5jOjYyMworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjUgc3lzLXV0aWxzL2lwY3MuYzo2NDkKK21zZ2lkICJOb3Qgc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzM2IHN5cy11dGlscy9sc2lwYy5jOjk3NiBzeXMtdXRpbHMvbHNpcGMuYzo5ODIKK21zZ2lkICJkZXN0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzM3IHN5cy11dGlscy9sc2lwYy5jOjk3NyBzeXMtdXRpbHMvbHNpcGMuYzo5OTAKK21zZ2lkICJsb2NrZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNlbWFwaG9yZSBsaW1pdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2YgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBwZXIgYXJyYXkgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggb3BzIHBlciBzZW1vcCBjYWxsID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJzZW1hcGhvcmUgbWF4IHZhbHVlID0gJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc4CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgc2VtYXBob3JlcyA9ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0MDEKK21zZ2lkICJzZW1pZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIE9wZXJhdGlvbi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorbXNnaWQgImxhc3Qtb3AiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIKK21zZ2lkICJsYXN0LWNoYW5nZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwMQorbXNnaWQgIm5zZW1zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDU5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBtZXNzYWdlIGxpbWl0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggcXVldWVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2NQorbXNnaWQgIm1heCBzaXplIG9mIG1lc3NhZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjcKK21zZ2lkICJkZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHF1ZXVlcyA9ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBoZWFkZXJzID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MgorbXNnaWQgInVzZWQgc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODMKK21zZ2lkICIgYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODkgc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MDEKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibXNxaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFNlbmQvUmVjdi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgInNlbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJyZWN2IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiY2hhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJsc3BpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImxycGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA4Cittc2dpZCAidXNlZC1ieXRlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwOQorbXNnaWQgIm1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc0IHN5cy11dGlscy9pcGNzLmM6NjA0IHN5cy11dGlscy9pcGNzLmM6NjM3CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo1MzYgc3lzLXV0aWxzL2xzaXBjLmM6NzIyIHN5cy11dGlscy9sc2lwYy5jOjg3OQorIywgYy1mb3JtYXQKK21zZ2lkICJpZCAlZCBub3QgZm91bmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZCBtZW1vcnkgU2VnbWVudCBzaG1pZD0lZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI29cdGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorbXNnaWQgInNpemU9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg0Cittc2dpZCAiYnl0ZXM9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg2CisjLCBjLWZvcm1hdAorbXNnaWQgImxwaWQ9JXVcdGNwaWQ9JXVcdG5hdHRjaD0lamRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJhdHRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgImRldF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTMgc3lzLXV0aWxzL2lwY3MuYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZSBRdWV1ZSBtc3FpZD0lZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjA5CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHRtb2RlPSUjb1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjEzCittc2dpZCAiY3NpemU9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjEzCittc2dpZCAiY2J5dGVzPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxNQorbXNnaWQgInFzaXplPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxNQorbXNnaWQgInFieXRlcz0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAicmN2X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIEFycmF5IHNlbWlkPSVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0NQorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjbywgYWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5zZW1zID0gJWp1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAib3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgImN0aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInNlbW51bSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInZhbHVlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAibmNvdW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAiemNvdW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAicGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjIzMCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzQgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM4CisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoYnl0ZXMpID0gIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoa2J5dGVzKSA9ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxODAKK21zZ2lkICJpbnZhbGlkIGlmbGFnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxsZGlzYz4gPGRldmljZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxOTkKK21zZ2lkICJBdHRhY2ggYSBsaW5lIGRpc2NpcGxpbmUgdG8gYSBzZXJpYWwgbGluZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDIKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBtZXNzYWdlcyB0byBzdGRlcnJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDMKK21zZ2lkICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAgc2V0IHNlcmlhbCBsaW5lIHNwZWVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA0Cittc2dpZCAiIC1jLCAtLWludHJvLWNvbW1hbmQgPHN0cmluZz4gaW50cm8gc2VudCBiZWZvcmUgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDUKK21zZ2lkICIgLXAsIC0tcGF1c2UgPHNlY29uZHM+ICAgcGF1c2UgYmV0d2VlbiBpbnRybyBhbmQgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDYKK21zZ2lkICIgLTcsIC0tc2V2ZW5iaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDcgYml0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNworbXNnaWQgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gOCBiaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA4Cittc2dpZCAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIHNldCBwYXJpdHkgdG8gbm9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOQorbXNnaWQgIiAtZSwgLS1ldmVucGFyaXR5ICAgICAgICBzZXQgcGFyaXR5IHRvIGV2ZW5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTAKK21zZ2lkICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAgc2V0IHBhcml0eSB0byBvZGRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTEKK21zZ2lkICIgLTEsIC0tb25lc3RvcGJpdCAgICAgICAgc2V0IHN0b3AgYml0cyB0byBvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTIKK21zZ2lkICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAgc2V0IHN0b3AgYml0cyB0byB0d29cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTMKK21zZ2lkICIgLWksIC0taWZsYWcgWy1dPGlmbGFnPiAgc2V0IGlucHV0IG1vZGUgZmxhZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxOQorbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8bGRpc2M+IG5hbWVzOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIyMworbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8aWZsYWc+IG5hbWVzOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0MAorbXNnaWQgImludmFsaWQgc3BlZWQgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQzCittc2dpZCAiaW52YWxpZCBwYXVzZSBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNTkKK21zZ2lkICJpbnZhbGlkIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNzAKK21zZ2lkICJpbnZhbGlkIGxpbmUgZGlzY2lwbGluZSBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgc2VyaWFsIGxpbmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzk3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWVkICVkIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgaW50cm8gY29tbWFuZCB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NjkKK21zZ2lkICJjYW5ub3Qgc2V0IGxpbmUgZGlzY2lwbGluZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NzkKK21zZ2lkICJjYW5ub3QgZGFlbW9uaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjgKK21zZ2lkICJhdXRvY2xlYXIgZmxhZyBzZXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2OQorbXNnaWQgImRldmljZSBiYWNraW5nIGZpbGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MAorbXNnaWQgImJhY2tpbmcgZmlsZSBpbm9kZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MQorbXNnaWQgImJhY2tpbmcgZmlsZSBtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzIKK21zZ2lkICJsb29wIGRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzMKK21zZ2lkICJvZmZzZXQgZnJvbSB0aGUgYmVnaW5uaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzQKK21zZ2lkICJwYXJ0c2NhbiBmbGFnIHNldCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2Cittc2dpZCAic2l6ZSBsaW1pdCBvZiB0aGUgZmlsZSBpbiBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3Cittc2dpZCAibG9vcCBkZXZpY2UgbWFqb3I6bWlub3IgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzgKK21zZ2lkICJhY2Nlc3MgYmFja2luZyBmaWxlIHdpdGggZGlyZWN0LWlvIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM1IHN5cy11dGlscy9sb3NldHVwLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb2Zmc2V0ICVqdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1MAorIywgYy1mb3JtYXQKK21zZ2lkICIsIHNpemVsaW1pdCAlanUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBlbmNyeXB0aW9uICVzICh0eXBlICV1KSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGV0YWNoIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjMyOSBzeXMtdXRpbHMvbHNjcHUuYzoxNzM1IHN5cy11dGlscy9wcmxpbWl0LmM6MjI5CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTc2IHN5cy11dGlscy93ZGN0bC5jOjIxNSBzeXMtdXRpbHMvenJhbWN0bC5jOjQwNQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBsaW5lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gWzxsb29wZGV2Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8bG9vcGRldj4gPGZpbGU+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODYKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgbG9vcCBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzg5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkwCittc2dpZCAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4uLi4gICAgIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTEKK21zZ2lkICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MgorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICBmaW5kIGZpcnN0IHVudXNlZCBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MworbXNnaWQgIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICByZXNpemUgdGhlIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk0Cittc2dpZCAiIgorIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5NQorbXNnaWQgIiIKKyIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICAgICAgYXZvaWQgcG9zc2libGUgY29uZmxpY3QgYmV0d2VlbiBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAwCittc2dpZCAiIgorIiAgICAgLS1zaXplbGltaXQgPG51bT4gICAgICAgICBkZXZpY2UgaXMgbGltaXRlZCB0byA8bnVtPiBieXRlcyBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAxCittc2dpZCAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDIKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0IHVwIGEgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDMKK21zZ2lkICIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAgb3BlbiBiYWNraW5nIGZpbGUgd2l0aCBPX0RJUkVDVFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA0Cittc2dpZCAiIgorIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSBhZnRlciBzZXR1cCAod2l0aCAtZilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwOQorbXNnaWQgIiIKKyIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgbGlzdCBpbmZvIGFib3V0IGFsbCBvciBzcGVjaWZpZWQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTAKK21zZ2lkICIgLU8sIC0tb3V0cHV0IDxjb2xzPiAgICAgICAgICAgc3BlY2lmeSBjb2x1bW5zIHRvIG91dHB1dCBmb3IgLS1saXN0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTEKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tbGlzdCBvdXRwdXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMgorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1c2UgcmF3IC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTMKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOQorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgLS1saXN0IGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzOiBXYXJuaW5nOiBmaWxlIGlzIHNtYWxsZXIgdGhhbiA1MTIgYnl0ZXM7IHRoZSBsb29wIGRldmljZSBtYXkgYmUgdXNlbGVzcyAiCisib3IgaW52aXNpYmxlIGZvciBzeXN0ZW0gdG9vbHMuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlczogV2FybmluZzogZmlsZSBkb2VzIG5vdCBmaXQgaW50byBhIDUxMi1ieXRlIHNlY3RvcjsgdGhlIGVuZCBvZiB0aGUgZmlsZSAiCisid2lsbCBiZSBpZ25vcmVkLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ2NCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUxNiBzeXMtdXRpbHMvbW91bnQuYzo0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgcmVhZC1vbmx5IGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgZW5jcnlwdGVkIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlLXVzZSBsb29wIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ5NAorbXNnaWQgImZhaWxlZCB0byBpbnNwZWN0IGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNoZWNrIGZvciBjb25mbGljdGluZyBsb29wIGRldmljZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1Mjkgc3lzLXV0aWxzL2xvc2V0dXAuYzo4MjYKK21zZ2lkICJjYW5ub3QgZmluZCBhbiB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgYmFja2luZyBmaWxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjMxIHN5cy11dGlscy9sb3NldHVwLmM6NjQxIHN5cy11dGlscy9sb3NldHVwLmM6NzUzCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NjQKK21zZ2lkICJubyBsb29wIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NzIKK21zZ2lkICJubyBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgb3B0aW9ucyAlcyBhcmUgYWxsb3dlZCBkdXJpbmcgbG9vcCBkZXZpY2Ugc2V0dXAgb25seSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4NAorbXNnaWQgInRoZSBvcHRpb24gLS1vZmZzZXQgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgY2FwYWNpdHkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgZGlyZWN0IGlvIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMDgKK21zZ2lkICJub25lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjEwOQorbXNnaWQgInBhcmEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTEwCittc2dpZCAiZnVsbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMTEKK21zZ2lkICJjb250YWluZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTczCittc2dpZCAiaG9yaXpvbnRhbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQKK21zZ2lkICJ2ZXJ0aWNhbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDYKK21zZ2lkICJsb2dpY2FsIENQVSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ3Cittc2dpZCAibG9naWNhbCBjb3JlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDgKK21zZ2lkICJsb2dpY2FsIHNvY2tldCBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ5Cittc2dpZCAibG9naWNhbCBOVU1BIG5vZGUgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MAorbXNnaWQgImxvZ2ljYWwgYm9vayBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUxCittc2dpZCAibG9naWNhbCBkcmF3ZXIgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MgorbXNnaWQgInNob3dzIGhvdyBjYWNoZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUzCittc2dpZCAiQ1BVIGRpc3BhdGNoaW5nIG1vZGUgb24gdmlydHVhbCBoYXJkd2FyZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTQKK21zZ2lkICJwaHlzaWNhbCBhZGRyZXNzIG9mIGEgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NQorbXNnaWQgInNob3dzIGlmIHRoZSBoeXBlcnZpc29yIGhhcyBhbGxvY2F0ZWQgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTYKK21zZ2lkICJzaG93cyBpZiBMaW51eCBjdXJyZW50bHkgbWFrZXMgdXNlIG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU3Cittc2dpZCAic2hvd3MgdGhlIG1heGltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU4Cittc2dpZCAic2hvd3MgdGhlIG1pbmltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NTUwCittc2dpZCAiZXJyb3I6IHVuYW1lIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBudW1iZXIgb2YgQ1BVczogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6ODkxCittc2dpZCAiZXJyb3I6IGNhbiBub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjg5NgorbXNnaWQgImVycm9yOiBjYW4gbm90IHJlc3RvcmUgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIGZyb206ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MTAKK21zZ2lkICJGYWlsZWQgdG8gZXh0cmFjdCB0aGUgbm9kZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTUzNyBzeXMtdXRpbHMvbHNjcHUuYzoxNTQ3Cittc2dpZCAiWSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTM3IHN5cy11dGlscy9sc2NwdS5jOjE1NDcKK21zZ2lkICJOIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyXG4iCisiIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRFxuIgorIiMgc3RhcnRpbmcgZnJvbSB6ZXJvLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3ODEKK21zZ2lkICJBcmNoaXRlY3R1cmU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3OTUKK21zZ2lkICJDUFUgb3AtbW9kZShzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc5OCBzeXMtdXRpbHMvbHNjcHUuYzoxODAwCittc2dpZCAiQnl0ZSBPcmRlcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwMgorbXNnaWQgIkNQVShzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwNQorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDYKK21zZ2lkICJPbi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI1Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjYKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2MgorbXNnaWQgIlRocmVhZChzKSBwZXIgY29yZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2NAorbXNnaWQgIkNvcmUocykgcGVyIHNvY2tldDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2NworbXNnaWQgIlNvY2tldChzKSBwZXIgYm9vazoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3MAorbXNnaWQgIkJvb2socykgcGVyIGRyYXdlcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3MgorbXNnaWQgIkRyYXdlcihzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3NAorbXNnaWQgIkJvb2socyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzcKK21zZ2lkICJTb2NrZXQocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODEKK21zZ2lkICJOVU1BIG5vZGUocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODMKK21zZ2lkICJWZW5kb3IgSUQ6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODUKK21zZ2lkICJNYWNoaW5lIHR5cGU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODcKK21zZ2lkICJDUFUgZmFtaWx5OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg5Cittc2dpZCAiTW9kZWw6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTEKK21zZ2lkICJNb2RlbCBuYW1lOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODkzCittc2dpZCAiU3RlcHBpbmc6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTUKK21zZ2lkICJDUFUgTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk3Cittc2dpZCAiQ1BVIGR5bmFtaWMgTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk5Cittc2dpZCAiQ1BVIHN0YXRpYyBNSHo6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDEKK21zZ2lkICJDUFUgbWF4IE1IejoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMworbXNnaWQgIkNQVSBtaW4gTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA1Cittc2dpZCAiQm9nb01JUFM6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDggc3lzLXV0aWxzL2xzY3B1LmM6MTkxMAorbXNnaWQgIlZpcnR1YWxpemF0aW9uOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEzCittc2dpZCAiSHlwZXJ2aXNvcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxNQorbXNnaWQgIkh5cGVydmlzb3IgdmVuZG9yOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE2Cittc2dpZCAiVmlydHVhbGl6YXRpb24gdHlwZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxOQorbXNnaWQgIkRpc3BhdGNoaW5nIG1vZGU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MjUgc3lzLXV0aWxzL2xzY3B1LmM6MTkzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjYWNoZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0MQorIywgYy1mb3JtYXQKK21zZ2lkICJOVU1BIG5vZGUlZCBDUFUocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NDYKK21zZ2lkICJGbGFnczoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0OQorbXNnaWQgIlBoeXNpY2FsIHNvY2tldHM6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NTAKK21zZ2lkICJQaHlzaWNhbCBjaGlwczoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk1MQorbXNnaWQgIlBoeXNpY2FsIGNvcmVzL2NoaXA6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjMKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBDUFUgYXJjaGl0ZWN0dXJlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjYKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IGJvdGggb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC0iCisiZSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY3Cittc2dpZCAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIHByaW50IG9ubGluZSBDUFVzIG9ubHkgKGRlZmF1bHQgZm9yIC1wKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjgKK21zZ2lkICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAgcHJpbnQgb2ZmbGluZSBDUFVzIG9ubHlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY5Cittc2dpZCAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcwCittc2dpZCAiIC1wLCAtLXBhcnNlWz08bGlzdD5dICAgIHByaW50IG91dCBhIHBhcnNhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzEKK21zZ2lkICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAgdXNlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcyCittc2dpZCAiIgorIiAteCwgLS1oZXggICAgICAgICAgICAgICBwcmludCBoZXhhZGVjaW1hbCBtYXNrcyByYXRoZXIgdGhhbiBsaXN0cyBvZiBDUFVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MworbXNnaWQgIiAteSwgLS1waHlzaWNhbCAgICAgICAgICBwcmludCBwaHlzaWNhbCBpbnN0ZWFkIG9mIGxvZ2ljYWwgSURzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA3NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXM6IG9wdGlvbnMgLS1hbGwsIC0tb25saW5lIGFuZCAtLW9mZmxpbmUgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIG9wdGlvbnMgLS0iCisiZXh0ZW5kZWQgb3IgLS1wYXJzZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNDkKK21zZ2lkICJSZXNvdXJjZSBrZXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5Cittc2dpZCAiS2V5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorbXNnaWQgIlJlc291cmNlIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorbXNnaWQgIklEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyJ3MgdXNlcm5hbWUgb3IgVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MgorbXNnaWQgIlBlcm1pc3Npb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MworbXNnaWQgIkNyZWF0b3IgVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NAorbXNnaWQgIkNyZWF0b3IgdXNlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTUKK21zZ2lkICJDcmVhdG9yIEdJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTYKK21zZ2lkICJDcmVhdG9yIGdyb3VwIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworbXNnaWQgIlVzZXIgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3Cittc2dpZCAiVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OAorbXNnaWQgIlVzZXIgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTkKK21zZ2lkICJHcm91cCBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTkKK21zZ2lkICJHSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYwCittc2dpZCAiR3JvdXAgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKK21zZ2lkICJMYXN0IGNoYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjQKK21zZ2lkICJCeXRlcyB1c2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKK21zZ2lkICJNZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHNlbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiTXNnIHNlbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyByZWNlaXZlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJNc2cgcmVjZWl2ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyBzZW5kZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiTXNnIHNlbmRlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHJlY2VpdmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIk1zZyByZWNlaXZlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzIKK21zZ2lkICJTZWdtZW50IHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCittc2dpZCAiTnVtYmVyIG9mIGF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJBdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc0Cittc2dpZCAiU3RhdHVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NQorbXNnaWQgIkF0dGFjaCB0aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NgorbXNnaWQgIkRldGFjaCB0aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworbXNnaWQgIkNyZWF0b3IgY29tbWFuZCBsaW5lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworbXNnaWQgIkNyZWF0b3IgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJQSUQgb2YgdGhlIGNyZWF0b3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiQ3JlYXRvciBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiUElEIG9mIGxhc3QgdXNlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJMYXN0IHVzZXIgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIlNlbWFwaG9yZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBvcGVyYXRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCittc2dpZCAiTGFzdCBvcGVyYXRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2Cittc2dpZCAiUmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKK21zZ2lkICJSZXNvdXJjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJSZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJEZXNjcmlwdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJDdXJyZW50bHkgdXNlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJVc2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorbXNnaWQgIkN1cnJlbnRseSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKK21zZ2lkICJVc2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiU3lzdGVtLXdpZGUgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiTGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbHVtbiAlcyBkb2VzIG5vdCBhcHBseSB0byB0aGUgc3BlY2lmaWVkIElQQyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODcKK21zZ2lkICIiCisiIC1nLCAtLWdsb2JhbCAgICAgIGluZm8gYWJvdXQgc3lzdGVtLXdpZGUgdXNhZ2UgKG1heSBiZSB1c2VkIHdpdGggLW0sIC1xIGFuZCAiCisiLXMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg4Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gICAgIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk0Cittc2dpZCAiIgorIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSAiCisiZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk1Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgICAgICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk3Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICB1c2UgdGhlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5OQorbXNnaWQgIiIKKyIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgIGZvcmNlIGxpc3Qgb3V0cHV0IGZvcm1hdCAoZm9yIGV4YW1wbGUgd2l0aCAtLWlkKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMQorbXNnaWQgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgcHJpbnQgbnVtZXJpYyBwZXJtaXNzaW9ucyAoUEVSTVMgY29sdW1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMworbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmljIGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQtbWVtb3J5IGNvbHVtbnMgKC0tc2htZW1zKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UtcXVldWUgY29sdW1ucyAoLS1xdWV1ZXMpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIGNvbHVtbnMgKC0tc2VtYXBob3Jlcyk6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTdW1tYXJ5IGNvbHVtbnMgKC0tZ2xvYmFsKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkVsZW1lbnRzOlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwNQorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmUgaWRlbnRpZmllcnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA2Cittc2dpZCAiVG90YWwgbnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA3Cittc2dpZCAiTWF4IHNlbWFwaG9yZXMgcGVyIHNlbWFwaG9yZSBzZXQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwOAorbXNnaWQgIk1heCBudW1iZXIgb2Ygb3BlcmF0aW9ucyBwZXIgc2Vtb3AoMikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA5Cittc2dpZCAiU2VtYXBob3JlIG1heCB2YWx1ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjMKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODY0Cittc2dpZCAiTWF4IHNpemUgb2YgbWVzc2FnZSAoYnl0ZXMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg2NQorbXNnaWQgIkRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUgKGJ5dGVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5Nzggc3lzLXV0aWxzL2xzaXBjLmM6OTk3Cittc2dpZCAiaHVnZXRsYiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5Nzkgc3lzLXV0aWxzL2xzaXBjLmM6MTAwNAorbXNnaWQgIm5vcmVzZXJ2ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDYxCittc2dpZCAiU2hhcmVkIG1lbW9yeSBzZWdtZW50cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDYyCittc2dpZCAiU2hhcmVkIG1lbW9yeSBwYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDYzCittc2dpZCAiTWF4IHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2NAorbXNnaWQgIk1pbiBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjExMzUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSVBDIGlkZW50aWZpZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTIyOQorbXNnaWQgIi0tZ2xvYmFsIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tY3JlYXRvciwgLS1pZCBhbmQgLS10aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODMKK21zZ2lkICJuYW1lc3BhY2UgaWRlbnRpZmllciAoaW5vZGUgbnVtYmVyKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg0Cittc2dpZCAia2luZCBvZiBuYW1lc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NQorbXNnaWQgInBhdGggdG8gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg2Cittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODcKK21zZ2lkICJsb3dlc3QgUElEIGluIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OAorbXNnaWQgIlBQSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5Cittc2dpZCAiY29tbWFuZCBsaW5lIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MAorbXNnaWQgIlVJRCBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTEKK21zZ2lkICJ1c2VybmFtZSBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxuYW1lc3BhY2U+XVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjE2Cittc2dpZCAiTGlzdCBzeXN0ZW0gbmFtZXNwYWNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYyMworbXNnaWQgIiAtcCwgLS10YXNrIDxwaWQ+ICAgICAgIHByaW50IHByb2Nlc3MgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjI2Cittc2dpZCAiIgorIiAtdCwgLS10eXBlIDxuYW1lPiAgICAgIG5hbWVzcGFjZSB0eXBlIChtbnQsIG5ldCwgaXBjLCB1c2VyLCBwaWQsIHV0cywgIgorImNncm91cClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjcxNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG5hbWVzcGFjZSB0eXBlOiAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjczNQorbXNnaWQgIi0tdGFzayBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8bmFtZXNwYWNlPiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjczNgorbXNnaWQgImludmFsaWQgbmFtZXNwYWNlIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6Nzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBmb3VuZCBuYW1lc3BhY2U6ICVqdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NiBzeXMtdXRpbHMvdW1vdW50LmM6MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njkgc3lzLXV0aWxzL3Vtb3VudC5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjczIHN5cy11dGlscy91bW91bnQuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0IHN5cy11dGlscy91bW91bnQuYzoxMjUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6ODUgc3lzLXV0aWxzL3Vtb3VudC5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgKGxpYm1vdW50ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEzMAorbXNnaWQgImZhaWxlZCB0byByZWFkIG10YWIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkyIHN5cy11dGlscy91bW91bnQuYzoyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGFscmVhZHkgbW91bnRlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI0OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW92ZWQgdG8gJXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBib3VuZCBvbiAlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTQgc3lzLXV0aWxzL21vdW50LmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3VudGVkIG9uICVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgcHJvcGFnYXRpb24gZmxhZ3MgY2hhbmdlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm1vdW50OiAlcyBkb2VzIG5vdCBjb250YWluIFNFTGludXggbGFiZWxzLlxuIgorIiAgICAgICBZb3UganVzdCBtb3VudGVkIGFuIGZpbGUgc3lzdGVtIHRoYXQgc3VwcG9ydHMgbGFiZWxzIHdoaWNoIGRvZXMgbm90XG4iCisiICAgICAgIGNvbnRhaW4gbGFiZWxzLCBvbnRvIGFuIFNFTGludXggYm94LiBJdCBpcyBsaWtlbHkgdGhhdCBjb25maW5lZFxuIgorIiAgICAgICBhcHBsaWNhdGlvbnMgd2lsbCBnZW5lcmF0ZSBBVkMgbWVzc2FnZXMgYW5kIG5vdCBiZSBhbGxvd2VkIGFjY2VzcyB0b1xuIgorIiAgICAgICB0aGlzIGZpbGUgc3lzdGVtLiAgRm9yIG1vcmUgZGV0YWlscyBzZWUgcmVzdG9yZWNvbig4KSBhbmQgbW91bnQoOCkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Mzc4Cittc2dpZCAiV0FSTklORzogZmFpbGVkIHRvIGFwcGx5IHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIG1vdW50ICVzIG9uICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHVzZWQgYXMgcmVhZCBvbmx5IGxvb3AsIG1vdW50aW5nIHJlYWQtb25seSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCAlcyBpbiAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudHBvaW50ICVzIGluICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50IHNvdXJjZSAlcyBpbiAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzOiBtb3JlIGZpbGVzeXN0ZW1zIGRldGVjdGVkLiBUaGlzIHNob3VsZCBub3QgaGFwcGVuLFxuIgorIiAgICAgICB1c2UgLXQgPHR5cGU+IHRvIGV4cGxpY2l0bHkgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIG9yXG4iCisiICAgICAgIHVzZSB3aXBlZnMoOCkgdG8gY2xlYW4gdXAgdGhlIGRldmljZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDM2Cittc2dpZCAiSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDM5Cittc2dpZCAieW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0NworbXNnaWQgIm1vdW50IHNvdXJjZSBub3QgZGVmaW5lZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTEgc3lzLXV0aWxzL21vdW50LmM6NDUzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0dXAgbG9vcCBkZXZpY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlc3lzdGVtIG1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDg5IHN5cy11dGlscy9tb3VudC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDkzCittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBidXN5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb3IgJXMgYnVzeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUyNQorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgJXMgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUzNiBzeXMtdXRpbHMvbW91bnQuYzo1Mzggc3lzLXV0aWxzL21vdW50LmM6NTQwCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NTUKK21zZ2lkICJtb3VudCgyKSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTUxCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IChhIHBhdGggcHJlZml4IGlzIG5vdCBhIGRpcmVjdG9yeSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudHBvaW50IG9yIGJhZCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTY1Cittc2dpZCAiIgorImJhZCBvcHRpb24uIE5vdGUgdGhhdCBtb3ZpbmcgYSBtb3VudCByZXNpZGluZyB1bmRlciBhIHNoYXJlZFxuIgorIiAgICAgICBtb3VudCBpcyB1bnN1cHBvcnRlZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ3cm9uZyBmcyB0eXBlLCBiYWQgb3B0aW9uLCBiYWQgc3VwZXJibG9jayBvbiAlcyxcbiIKKyIgICAgICAgbWlzc2luZyBjb2RlcGFnZSBvciBoZWxwZXIgcHJvZ3JhbSwgb3Igb3RoZXIgZXJyb3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgICAgKGZvciBzZXZlcmFsIGZpbGVzeXN0ZW1zIChlLmcuIG5mcywgY2lmcykgeW91IG1pZ2h0XG4iCisiICAgICAgIG5lZWQgYSAvc2Jpbi9tb3VudC48dHlwZT4gaGVscGVyIHByb2dyYW0pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIgICAgICAgSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBpcyBmb3VuZCBpbiBzeXNsb2cgLSB0cnlcbiIKKyIgICAgICAgZG1lc2cgfCB0YWlsIG9yIHNvLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU4MworbXNnaWQgIm1vdW50IHRhYmxlIGZ1bGwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCByZWFkIHN1cGVyYmxvY2siCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTkyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlICclcyciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTk0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQoMikgZmFpbHM/IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2VcbiIKKyIgICAgICAgKG1heWJlIGBtb2Rwcm9iZSBkcml2ZXInPykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSAobWF5YmUgdHJ5IGAtbyBsb29wJz8pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtb3VudCAlcyByZWFkLW9ubHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHdyaXRlLXByb3RlY3RlZCBidXQgZXhwbGljaXQgYC13JyBmbGFnIGdpdmVuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyOAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVtb3VudCAlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjMxIHN5cy11dGlscy9tb3VudC5jOjY1NCBzeXMtdXRpbHMvdW5zaGFyZS5jOjE4OAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBvbiAlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHdyaXRlLXByb3RlY3RlZCwgbW91bnRpbmcgcmVhZC1vbmx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBtZWRpdW0gZm91bmQgb24gJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG9wdGlvbiBmb3JtYXQ6ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYXBwZW5kIG9wdGlvbiAnJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjczNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZV0gPHNvdXJjZT4gfCBbLS10YXJnZXRdIDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgPG9wZXJhdGlvbj4gPG1vdW50cG9pbnQ+IFs8dGFyZ2V0Pl1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NDQKK21zZ2lkICJNb3VudCBhIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW91bnQgYWxsIGZpbGVzeXN0ZW1zIG1lbnRpb25lZCBpbiBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgbW91bnQoMikgc3lzY2FsbFxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBmb3JrIG9mZiBmb3IgZWFjaCBkZXZpY2UgKHVzZSB3aXRoIC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8cGF0aD4gICAgICBhbHRlcm5hdGl2ZSBmaWxlIHRvIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBzaG93IGFsc28gZmlsZXN5c3RlbSBsYWJlbHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTggc3lzLXV0aWxzL3Vtb3VudC5jOjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtb3VudCBvcHRpb25zXG4iCisiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLW9ubHkgKHNhbWUgYXMgLW8gcm8pXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc2NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLXNvdXJjZSA8c3JjPiAgICAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIHNvdXJjZSAocGF0aCwgbGFiZWwsIHV1aWQpXG4iCisiICAgICAtLXRhcmdldCA8dGFyZ2V0PiAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3Njggc3lzLXV0aWxzL3Vtb3VudC5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBzYXkgd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU291cmNlOlxuIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXRoXG4iCisiIDxkaXJlY3Rvcnk+ICAgICAgICAgICAgIG1vdW50cG9pbnQgZm9yIGJpbmQgbW91bnRzIChzZWUgLS1iaW5kL3JiaW5kKVxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgICByZWd1bGFyIGZpbGUgZm9yIGxvb3BkZXYgc2V0dXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wZXJhdGlvbnM6XG4iCisiIC1CLCAtLWJpbmQgICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBzb21ld2hlcmUgZWxzZSAoc2FtZSBhcyAtbyBiaW5kKVxuIgorIiAtTSwgLS1tb3ZlICAgICAgICAgICAgICBtb3ZlIGEgc3VidHJlZSB0byBzb21lIG90aGVyIHBsYWNlXG4iCisiIC1SLCAtLXJiaW5kICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBhbmQgYWxsIHN1Ym1vdW50cyBzb21ld2hlcmUgZWxzZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc5NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1zaGFyZWQgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2Utc2xhdmUgICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcHJpdmF0ZSAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS11bmJpbmRhYmxlICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2UtcnNoYXJlZCAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXJzbGF2ZSAgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXJwcml2YXRlICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtcnVuYmluZGFibGUgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6ODg3IHN5cy11dGlscy91bW91bnQuYzo1NDgKK21zZ2lkICJsaWJtb3VudCBjb250ZXh0IGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjk0NCBzeXMtdXRpbHMvdW1vdW50LmM6NjAxCittc2dpZCAiZmFpbGVkIHRvIHNldCBvcHRpb25zIHBhdHRlcm4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTA5NworbXNnaWQgInNvdXJjZSBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstcWRdIC9wYXRoL3RvL2RpcmVjdG9yeVxuIgorIiAlMSRzIC14IC9kZXYvZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjIKK21zZ2lkICJDaGVjayB3aGV0aGVyIGEgZGlyZWN0b3J5IG9yIGZpbGUgaXMgYSBtb3VudHBvaW50LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTI1Cittc2dpZCAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgcXVpZXQgbW9kZSAtIGRvbid0IHByaW50IGFueXRoaW5nXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgYmxvY2sgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzIgc3lzLXV0aWxzL3NldHByaXYuYzo5MyBzeXMtdXRpbHMvdW5zaGFyZS5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjc2Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIG5hbWVzcGFjZXMgb2Ygb3RoZXIgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzkKK21zZ2lkICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICB0YXJnZXQgcHJvY2VzcyB0byBnZXQgbmFtZXNwYWNlcyBmcm9tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MAorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgIGVudGVyIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODEKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICBlbnRlciBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MgorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgIGVudGVyIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgzCittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgZW50ZXIgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg0Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgZW50ZXIgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODUKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICBlbnRlciBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NgorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgIGVudGVyIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NworbXNnaWQgIiAtUywgLS1zZXR1aWQgPHVpZD4gICAgIHNldCB1aWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg4Cittc2dpZCAiIC1HLCAtLXNldGdpZCA8Z2lkPiAgICAgc2V0IGdpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODkKK21zZ2lkICIgICAgIC0tcHJlc2VydmUtY3JlZGVudGlhbHMgZG8gbm90IHRvdWNoIHVpZHMgb3IgZ2lkc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTAKK21zZ2lkICIgLXIsIC0tcm9vdFs9PGRpcj5dICAgICBzZXQgdGhlIHJvb3QgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MQorbXNnaWQgIiAtdywgLS13ZFs9PGRpcj5dICAgICAgIHNldCB0aGUgd29ya2luZyBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkyCittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgZG8gbm90IGZvcmsgYmVmb3JlIGV4ZWMnaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTQKK21zZ2lkICIgLVosIC0tZm9sbG93LWNvbnRleHQgICBzZXQgU0VMaW51eCBjb250ZXh0IGFjY29yZGluZyB0byAtLXRhcmdldCBQSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJuZWl0aGVyIGZpbGVuYW1lIG5vciB0YXJnZXQgcGlkIHN1cHBsaWVkIGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjI3NworbXNnaWQgImZhaWxlZCB0byBwYXJzZSB1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoyODEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzE3Cittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tZm9sbG93LWNvbnRleHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCAlZCBTRUxpbnV4IGNvbnRleHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBleGVjIGNvbnRleHQgdG8gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFzc29jaWF0ZSB0byBuYW1lc3BhY2UgJyVzJyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozOTAKK21zZ2lkICJjYW5ub3Qgb3BlbiBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mzk3Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSByb290IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MDAKK21zZ2lkICJjaHJvb3QgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDEwCittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSB3b3JraW5nIGRpcmVjdG9yeSBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDIxIHN5cy11dGlscy9zZXRwcml2LmM6ODE1IHN5cy11dGlscy9zZXRwcml2LmM6ODE5Cittc2dpZCAic2V0Z3JvdXBzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gbmV3X3Jvb3QgcHV0X29sZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzcKK21zZ2lkICJDaGFuZ2UgdGhlIHJvb3QgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCBmcm9tIGAlcycgdG8gYCVzJyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1Cittc2dpZCAiYWRkcmVzcyBzcGFjZSBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2Cittc2dpZCAibWF4IGNvcmUgZmlsZSBzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJDUFUgdGltZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAic2Vjb25kcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4Cittc2dpZCAibWF4IGRhdGEgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5Cittc2dpZCAibWF4IGZpbGUgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCittc2dpZCAibWF4IG51bWJlciBvZiBmaWxlIGxvY2tzIGhlbGQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorbXNnaWQgImxvY2tzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKK21zZ2lkICJtYXggbG9ja2VkLWluLW1lbW9yeSBhZGRyZXNzIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIKK21zZ2lkICJtYXggYnl0ZXMgaW4gUE9TSVggbXF1ZXVlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgzCittc2dpZCAibWF4IG5pY2UgcHJpbyBhbGxvd2VkIHRvIHJhaXNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKK21zZ2lkICJtYXggbnVtYmVyIG9mIG9wZW4gZmlsZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorbXNnaWQgImZpbGVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKK21zZ2lkICJtYXggbnVtYmVyIG9mIHByb2Nlc3NlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1Cittc2dpZCAicHJvY2Vzc2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODYKK21zZ2lkICJtYXggcmVzaWRlbnQgc2V0IHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NworbXNnaWQgIm1heCByZWFsLXRpbWUgcHJpb3JpdHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgInRpbWVvdXQgZm9yIHJlYWwtdGltZSB0YXNrcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAibWljcm9zZWNzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJtYXggbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAic2lnbmFscyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAibWF4IHN0YWNrIHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjMKK21zZ2lkICJyZXNvdXJjZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI0Cittc2dpZCAicmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjUKK21zZ2lkICJzb2Z0IGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI2Cittc2dpZCAiaGFyZCBsaW1pdCAoY2VpbGluZykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjcKK21zZ2lkICJ1bml0cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstcCBQSURdXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBDT01NQU5EXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjYKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVzb3VyY2UgbGltaXRzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmFsIE9wdGlvbnM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjkKK21zZ2lkICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG91dHB1dFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3NworbXNnaWQgIiIKKyJcbiIKKyJSZXNvdXJjZXMgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OAorbXNnaWQgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgY29yZSBmaWxlcyBjcmVhdGVkXG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcydzIGRhdGEgc2VnbWVudFxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIG1heGltdW0gbmljZSBwcmlvcml0eSBhbGxvd2VkIHRvIHJhaXNlXG4iCisiIC1mLCAtLWZzaXplICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlIHByb2Nlc3NcbiIKKyIgLWksIC0tc2lncGVuZGluZyAgICAgICBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHNcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICBtYXhpbXVtIHNpemUgYSBwcm9jZXNzIG1heSBsb2NrIGludG8gbWVtb3J5XG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZVxuIgorIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIG9wZW4gZmlsZXNcbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBtYXhpbXVtIGJ5dGVzIGluIFBPU0lYIG1lc3NhZ2UgcXVldWVzXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eVxuIgorIiAtcywgLS1zdGFjayAgICAgICAgICAgIG1heGltdW0gc3RhY2sgc2l6ZVxuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIG1heGltdW0gYW1vdW50IG9mIENQVSB0aW1lIGluIHNlY29uZHNcbiIKKyIgLXUsIC0tbnByb2MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiB1c2VyIHByb2Nlc3Nlc1xuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIHNpemUgb2YgdmlydHVhbCBtZW1vcnlcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBmaWxlIGxvY2tzXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAgQ1BVIHRpbWUgaW4gbWljcm9zZWNvbmRzIGEgcHJvY2VzcyBzY2hlZHVsZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1bmRlciByZWFsLXRpbWUgc2NoZWR1bGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MjQzIHN5cy11dGlscy9wcmxpbWl0LmM6MjQ5IHN5cy11dGlscy9wcmxpbWl0LmM6MzY2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3MQorbXNnaWQgInVubGltaXRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjMzMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IG9sZCAlcyBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM1NgorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgc29mdCBsaW1pdCAlcyBjYW5ub3QgZXhjZWVkIHRoZSBoYXJkIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5ldyAlcyBsaW1pdCBmb3IgcGlkICVkOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NTg1Cittc2dpZCAib3B0aW9uIC0tcGlkIG1heSBiZSBzcGVjaWZpZWQgb25seSBvbmNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NjE2Cittc2dpZCAib3B0aW9ucyAtLXBpZCBhbmQgQ09NTUFORCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNworbXNnaWQgIkRpc3BsYXkga2VybmVsIHByb2ZpbGluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1tLCAtLW1hcGZpbGUgPG1hcGZpbGU+ICAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIlc1wiKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICIgLXAsIC0tcHJvZmlsZSA8cHJvLWZpbGU+ICAoZGVmYXVsdDogIFwiJXNcIilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTYKK21zZ2lkICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNworbXNnaWQgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIHByaW50IG9ubHkgaW5mbyBhYm91dCB0aGUgc2FtcGxpbmcgc3RlcFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIHByaW50IGFsbCBzeW1ib2xzLCBldmVuIGlmIGNvdW50IGlzIDBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjAKK21zZ2lkICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIxCittc2dpZCAiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIyCittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMworbXNnaWQgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciB3cml0aW5nICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI3MQorbXNnaWQgIkFzc3VtaW5nIHJldmVyc2VkIGJ5dGUgb3JkZXIuIFVzZSAtbiB0byBmb3JjZSBuYXRpdmUgYnl0ZSBvcmRlci4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNhbXBsaW5nX3N0ZXA6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzAyIHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMyMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyglaSk6IHdyb25nIG1hcCBsaW5lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIFwiX3N0ZXh0XCIgaW4gJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzQ2Cittc2dpZCAicHJvZmlsZSBhZGRyZXNzIG91dCBvZiByYW5nZS4gV3JvbmcgbWFwIGZpbGU/IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjQwNAorbXNnaWQgInRvdGFsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MgorbXNnaWQgInByb2Nlc3MgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUzCittc2dpZCAicHJvY2VzcyBncm91cCBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiBbLXB8LS1waWRdIDxwaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtZ3wtLXBncnAgPHBnaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtdXwtLXVzZXIgPHVzZXI+Li4uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjY3Cittc2dpZCAiQWx0ZXIgdGhlIHByaW9yaXR5IG9mIHJ1bm5pbmcgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MAorbXNnaWQgIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIHNwZWNpZnkgdGhlIG5pY2UgaW5jcmVtZW50IHZhbHVlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcxCittc2dpZCAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgSUQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcyCittc2dpZCAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzMKK21zZ2lkICIgLXUsIC0tdXNlciA8bmFtZT58PGlkPiBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo5OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgKCVzKSBvbGQgcHJpb3JpdHkgJWQsIG5ldyBwcmlvcml0eSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB1c2VyICVzIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgb25lIG9mIHRoZSBhYm92ZQorIy4gKiB0aHJlZSBJRCBuYW1lcy4gUmVhZDogImJhZCB2YWx1ZSBmb3IgJXM6ICVzIgorIzogc3lzLXV0aWxzL3JlbmljZS5jOjE4NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgJXMgdmFsdWU6ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6OTgKK21zZ2lkICJFbnRlciBhIHN5c3RlbSBzbGVlcCBzdGF0ZSB1bnRpbCBhIHNwZWNpZmllZCB3YWtldXAgdGltZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMQorbXNnaWQgIiIKKyIgLWEsIC0tYXV0byAgICAgICAgICAgICAgIHJlYWRzIHRoZSBjbG9jayBtb2RlIGZyb20gYWRqdXN0IGZpbGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtQSwgLS1hZGpmaWxlIDxmaWxlPiAgICAgc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA1Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICBkYXRlIHRpbWUgb2YgdGltZXN0YW1wIHRvIHdha2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNgorbXNnaWQgIiAtZCwgLS1kZXZpY2UgPGRldmljZT4gICAgc2VsZWN0IHJ0YyBkZXZpY2UgKHJ0YzB8cnRjMXwuLi4pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDcKK21zZ2lkICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGRvZXMgZXZlcnl0aGluZywgYnV0IHN1c3BlbmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOAorbXNnaWQgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIHVzZXMgbG9jYWwgdGltZXpvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOQorbXNnaWQgIiAgICAgLS1saXN0LW1vZGVzICAgICAgICAgbGlzdCBhdmFpbGFibGUgbW9kZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMAorbXNnaWQgIiAtbSwgLS1tb2RlIDxtb2RlPiAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMQorbXNnaWQgIiAtcywgLS1zZWNvbmRzIDxzZWNvbmRzPiAgc2Vjb25kcyB0byBzbGVlcFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEyCittc2dpZCAiIC10LCAtLXRpbWUgPHRpbWVfdD4gICAgICB0aW1lIHRvIHdha2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMworbXNnaWQgIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIHVzZXMgVVRDXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE2NworbXNnaWQgInJlYWQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTczCittc2dpZCAicmVhZCBzeXN0ZW0gdGltZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxODkKK21zZ2lkICJjb252ZXJ0IHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjIzNworbXNnaWQgInNldCBydGMgd2FrZSBhbGFybSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB0aGlyZCBsaW5lIGluOiAlczogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjAgc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjQKK21zZ2lkICJyZWFkIHJ0YyBhbGFybSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9mZlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzM4Cittc2dpZCAiY29udmVydCB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb24gICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mzg3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkOiAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ2NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgc3VzcGVuZCBzdGF0ZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDc1Cittc2dpZCAiaW52YWxpZCBzZWNvbmRzIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDc5Cittc2dpZCAiaW52YWxpZCB0aW1lIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhc3N1bWluZyBSVEMgdXNlcyBVVEMgLi4uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTEKK21zZ2lkICJVc2luZyBVVEMgdGltZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxMgorbXNnaWQgIlVzaW5nIGxvY2FsIHRpbWUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTUKK21zZ2lkICJtdXN0IHByb3ZpZGUgd2FrZSB0aW1lIChzZWUgLS1zZWNvbmRzLCAtLXRpbWUgYW5kIC0tZGF0ZSBvcHRpb25zKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgZW5hYmxlZCBmb3Igd2FrZXVwIGV2ZW50cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyOAorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybSAlbGQsIHN5c190aW1lICVsZCwgcnRjX3RpbWUgJWxkLCBzZWNvbmRzICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBkb2Vzbid0IGdvIGJhY2t3YXJkIHRvICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCBmcm9tIFwiJXNcIiB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU1OQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG5vOyBsZWF2aW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvZmY7IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogb247IHJlYWRpbmcgcnRjXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1OTIKK21zZ2lkICJydGMgcmVhZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBkaXNhYmxlOyBkaXNhYmxpbmcgYWxhcm1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYxNQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6ICVzOyBzdXNwZW5kaW5nIHN5c3RlbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjI5Cittc2dpZCAiZGlzYWJsZSBydGMgYWxhcm0gaW50ZXJydXB0IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlN3aXRjaGluZyBvbiAlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8YXJjaD4gW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk2Cittc2dpZCAiQ2hhbmdlIHRoZSByZXBvcnRlZCBhcmNoaXRlY3R1cmUgYW5kIHNldCBwZXJzb25hbGl0eSBmbGFncy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk5Cittc2dpZCAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB0dXJucyBvbiBBRERSX0xJTUlUXzMyQklUXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDAKK21zZ2lkICIiCisiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAxCittc2dpZCAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICB0dXJucyBvbiBTSE9SVF9JTk9ERVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAyCittc2dpZCAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCBjaGFuZ2VzIHRoZSB3YXkgdmlydHVhbCBtZW1vcnkgaXMgYWxsb2NhdGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDMKK21zZ2lkICIiCisiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBkaXNhYmxlcyByYW5kb21pemF0aW9uIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3MgIgorInNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDQKK21zZ2lkICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHR1cm5zIG9uIFdIT0xFX1NFQ09ORFNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNQorbXNnaWQgIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgdHVybnMgb24gU1RJQ0tZX1RJTUVPVVRTXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDYKK21zZ2lkICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDcKK21zZ2lkICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHR1cm5zIG9uIE1NQVBfUEFHRV9aRVJPXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDgKK21zZ2lkICIiCisiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBsaW1pdHMgdGhlIHVzZWQgYWRkcmVzcyBzcGFjZSB0byBhIG1heGltdW0gb2YgMyAiCisiR0JcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOQorbXNnaWQgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMAorbXNnaWQgIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgdHVybnMgb24gVU5BTUUyNlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTExCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBzYXkgd2hhdCBvcHRpb25zIGFyZSBiZWluZyBzd2l0Y2hlZCBvblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTE0Cittc2dpZCAiICAgICAtLWxpc3QgICAgICAgICAgICAgICBsaXN0IHNldHRhYmxlIGFyY2hpdGVjdHVyZXMsIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzXG4iCisiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBVbnJlY29nbml6ZWQgYXJjaGl0ZWN0dXJlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIktlcm5lbCBjYW5ub3Qgc2V0IGFyY2hpdGVjdHVyZSB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjMwNQorbXNnaWQgIk5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzIyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNzkKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICctLWxpc3QnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzg3Cittc2dpZCAibm8gYXJjaGl0ZWN0dXJlIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGUgY29tbWFuZCBgJXMnLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggZGlmZmVyZW50IHByaXZpbGVnZSBzZXR0aW5ncy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMAorbXNnaWQgIiIKKyIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgIHNob3cgY3VycmVudCBzdGF0ZSAoYW5kIGRvIG5vdCBleGVjIGFueXRoaW5nKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTAxCittc2dpZCAiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICBkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTAyCittc2dpZCAiIC0taW5oLWNhcHMgPGNhcHMsLi4uPiAgICBzZXQgaW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDMKK21zZ2lkICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgIHNldCBjYXBhYmlsaXR5IGJvdW5kaW5nIHNldFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA0Cittc2dpZCAiIC0tcnVpZCA8dWlkPiAgICAgICAgICAgICBzZXQgcmVhbCB1aWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNQorbXNnaWQgIiAtLWV1aWQgPHVpZD4gICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNgorbXNnaWQgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgc2V0IHJlYWwgZ2lkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDcKK21zZ2lkICIgLS1lZ2lkIDxnaWQ+ICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDgKK21zZ2lkICIgLS1yZXVpZCA8dWlkPiAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDkKK21zZ2lkICIgLS1yZWdpZCA8Z2lkPiAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTAKK21zZ2lkICIgLS1jbGVhci1ncm91cHMgICAgICAgICAgIGNsZWFyIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTEKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMgorbXNnaWQgIiAtLWdyb3VwcyA8Z3JvdXAsLi4uPiAgICAgc2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTMKK21zZ2lkICIgLS1zZWN1cmViaXRzIDxiaXRzPiAgICAgIHNldCBzZWN1cmViaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTQKK21zZ2lkICIgLS1zZWxpbnV4LWxhYmVsIDxsYWJlbD4gIHNldCBTRUxpbnV4IGxhYmVsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTUKK21zZ2lkICIgLS1hcHBhcm1vci1wcm9maWxlIDxwcj4gIHNldCBBcHBBcm1vciBwcm9maWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjEKK21zZ2lkICIgVGhpcyB0b29sIGNhbiBiZSBkYW5nZXJvdXMuICBSZWFkIHRoZSBtYW5wYWdlLCBhbmQgYmUgY2FyZWZ1bC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE5MyBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2NworbXNnaWQgImdldHRpbmcgcHJvY2VzcyBzZWN1cmUgYml0cyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdXJlYml0czogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIltub25lXVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbG9uZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjczIHN5cy11dGlscy9zZXRwcml2LmM6MzIxIHN5cy11dGlscy9zZXRwcml2LmM6MzI2CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzMiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkOiAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImV1aWQ6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VpZDogJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5OSBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5MQorbXNnaWQgImdldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMDggc3lzLXV0aWxzL3NldHByaXYuYzo0MDYKK21zZ2lkICJnZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIkVmZmVjdGl2ZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyNAorIywgYy1mb3JtYXQKK21zZ2lkICJQZXJtaXR0ZWQgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FwYWJpbGl0eSBib3VuZGluZyBzZXQ6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MworbXNnaWQgIlNFTGludXggbGFiZWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDYKK21zZ2lkICJBcHBBcm1vciBwcm9maWxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzU5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhcCAlZDogbGliY2FwLW5nIGlzIGJyb2tlbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4MgorbXNnaWQgIkludmFsaWQgc3VwcGxlbWVudGFyeSBncm91cCBpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5OQorbXNnaWQgInNldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MTQKK21zZ2lkICJzZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDM1Cittc2dpZCAiYmFkIGNhcGFiaWxpdHkgc3RyaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDQzCittc2dpZCAibGliY2FwLW5nIGlzIHRvbyBvbGQgZm9yIFwiYWxsXCIgY2FwcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ1MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNhcGFiaWxpdHkgXCIlc1wiIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDc2Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCBzZXQgLS0gcmVmdXNpbmcgdG8gYWRqdXN0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDgwCittc2dpZCAiYmFkIHNlY3VyZWJpdHMgc3RyaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDg3Cittc2dpZCAiK2FsbCBzZWN1cmViaXRzIGlzIG5vdCBhbGxvd2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTAwCittc2dpZCAiYWRqdXN0aW5nIGtlZXBfY2FwcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTA0Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUyNAorbXNnaWQgIlNFTGludXggaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvc2UgZmFpbGVkOiAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU0NworbXNnaWQgIkFwcEFybW9yIGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjU4Cittc2dpZCAiZHVwbGljYXRlIC0tbm8tbmV3LXByaXZzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY2MworbXNnaWQgImR1cGxpY2F0ZSBydWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjY1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJ1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NjkKK21zZ2lkICJkdXBsaWNhdGUgZXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY3MQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBldWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njc1Cittc2dpZCAiZHVwbGljYXRlIHJ1aWQgb3IgZXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY3NworbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4MQorbXNnaWQgImR1cGxpY2F0ZSByZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjgzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODcKK21zZ2lkICJkdXBsaWNhdGUgZWdpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjkzCittc2dpZCAiZHVwbGljYXRlIHJnaWQgb3IgZWdpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY5NQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZWdpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcwMAorbXNnaWQgImR1cGxpY2F0ZSAtLWNsZWFyLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MDYKK21zZ2lkICJkdXBsaWNhdGUgLS1rZWVwLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MTIKK21zZ2lkICJkdXBsaWNhdGUgLS1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzIxCittc2dpZCAiZHVwbGljYXRlIC0taW5oLWNhcHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzI3Cittc2dpZCAiZHVwbGljYXRlIC0tYm91bmRpbmctc2V0IG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjczMworbXNnaWQgImR1cGxpY2F0ZSAtLXNlY3VyZWJpdHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzM5Cittc2dpZCAiZHVwbGljYXRlIC0tc2VsaW51eC1sYWJlbCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NDUKK21zZ2lkICJkdXBsaWNhdGUgLS1hcHBhcm1vci1wcm9maWxlIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc1NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICclYyciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NjMKK21zZ2lkICItLWR1bXAgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzEKK21zZ2lkICItLWxpc3QtY2FwcyBtdXN0IGJlIHNwZWNpZmllZCBhbG9uZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3NworbXNnaWQgIk5vIHByb2dyYW0gc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgyCittc2dpZCAiLS1bcmVdZ2lkIHJlcXVpcmVzIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCBvciAtLWdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4NQorbXNnaWQgImRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MworbXNnaWQgImtlZXAgcHJvY2VzcyBjYXBhYmlsaXRpZXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODAxCittc2dpZCAiYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA3Cittc2dpZCAicmVhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjMKK21zZ2lkICJzZXQgcHJvY2VzcyBzZWN1cmViaXRzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyOQorbXNnaWQgImFwcGx5IGJvdW5kaW5nIHNldCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgzNQorbXNnaWQgImFwcGx5IGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg0MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZXhlY3V0ZTogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFthcmd1bWVudHMgLi4uXVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozNgorbXNnaWQgIlJ1biBhIHByb2dyYW0gaW4gYSBuZXcgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzkKK21zZ2lkICIgLWMsIC0tY3R0eSAgICAgc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCB0byB0aGUgY3VycmVudCBvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDAKK21zZ2lkICIgLXcsIC0td2FpdCAgICAgd2FpdCBwcm9ncmFtIHRvIGV4aXQsIGFuZCB1c2UgdGhlIHNhbWUgcmV0dXJuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjkzCittc2dpZCAiZm9yayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTA1CisjLCBjLWZvcm1hdAorbXNnaWQgImNoaWxkICVkIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEwCittc2dpZCAic2V0c2lkIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEzCittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb2ZmICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDUKK21zZ2lkICJOb3Qgc3VwZXJ1c2VyLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9mZiBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjIgc3lzLXV0aWxzL3N3YXBvbi5jOjc4OAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8c3BlYz5dXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjUKK21zZ2lkICJEaXNhYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI4Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIHN3YXBzIGZyb20gL3Byb2Mvc3dhcHNcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEzNQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTMKK21zZ2lkICJkZXZpY2UgZmlsZSBvciBwYXJ0aXRpb24gcGF0aCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTQKK21zZ2lkICJ0eXBlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk1Cittc2dpZCAic2l6ZSBvZiB0aGUgc3dhcCBhcmVhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NgorbXNnaWQgImJ5dGVzIGluIHVzZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTcKK21zZ2lkICJzd2FwIHByaW9yaXR5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OAorbXNnaWQgInN3YXAgdXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTkKK21zZ2lkICJzd2FwIGxhYmVsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNcdFx0XHRcdFR5cGVcdFx0U2l6ZVx0VXNlZFx0UHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ2Cittc2dpZCAiRmlsZW5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVpbml0aWFsaXppbmcgdGhlIHN3YXAuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxzZWVrIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBzaWduYXR1cmUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIC0gaXQgYXBwZWFycyB0byBoYXZlIGhvbGVzLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXQgc2l6ZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBzd2FwIGhlYWRlciBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZm91bmQgc2lnbmF0dXJlIFtwYWdlc2l6ZT0lZCwgc2lnbmF0dXJlPSVzXSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYWdlc2l6ZT0lZCwgc3dhcHNpemU9JWxsdSwgZGV2c2l6ZT0lbGx1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxhc3RfcGFnZSAweCUwOGxseCBpcyBsYXJnZXIgdGhhbiBhY3R1YWwgc2l6ZSBvZiBzd2Fwc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4gKFVzZSAtLWZpeHBnc3ogdG8gcmVpbml0aWFsaXplIGl0LikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc29mdHdhcmUgc3VzcGVuZCBkYXRhIGRldGVjdGVkLiBSZXdyaXRpbmcgdGhlIHN3YXAgc2lnbmF0dXJlLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBvbiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvbiBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9hdXRvIG9wdGlvbiAtLSBpZ25vcmVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgYWN0aXZlIC0tIGlnbm9yZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5hY2Nlc3NpYmxlIC0tIGlnbm9yZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5MQorbXNnaWQgIkVuYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk0Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICBlbmFibGUgYWxsIHN3YXBzIGZyb20gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTUKK21zZ2lkICIiCisiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTYKK21zZ2lkICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHNpbGVudGx5IHNraXAgZGV2aWNlcyB0aGF0IGRvIG5vdCBleGlzdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTcKK21zZ2lkICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHJlaW5pdGlhbGl6ZSB0aGUgc3dhcCBzcGFjZSBpZiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk4Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBzd2FwIG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk5Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBzcGVjaWZ5IHRoZSBwcmlvcml0eSBvZiB0aGUgc3dhcCBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAwCittc2dpZCAiIgorIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgZGlzcGxheSBzdW1tYXJ5IGFib3V0IHVzZWQgc3dhcCBkZXZpY2VzICIKKyIoREVQUkVDQVRFRClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAxCittc2dpZCAiICAgICAtLXNob3dbPTxjb2x1bW5zPl0gICBkaXNwbGF5IHN1bW1hcnkgaW4gZGVmaW5hYmxlIHRhYmxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMgorbXNnaWQgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgdGFibGUgaGVhZGluZyAod2l0aCAtLXNob3cpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMworbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCAod2l0aCAtLXNob3cpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNAorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHNpemUgaW4gYnl0ZXMgaW4gLS1zaG93IG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTEKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgyMQorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgZGlzY2FyZCBwb2xpY3kgdHlwZXMgKGZvciAtLWRpc2NhcmQpOlxuIgorIiBvbmNlICAgIDogb25seSBzaW5nbGUtdGltZSBhcmVhIGRpc2NhcmRzIGFyZSBpc3N1ZWRcbiIKKyIgcGFnZXMgICA6IGZyZWVkIHBhZ2VzIGFyZSBkaXNjYXJkZWQgYmVmb3JlIHRoZXkgYXJlIHJldXNlZFxuIgorIklmIG5vIHBvbGljeSBpcyBzZWxlY3RlZCwgYm90aCBkaXNjYXJkIHR5cGVzIGFyZSBlbmFibGVkIChkZWZhdWx0KS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODI2Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93KTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTA0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHByaW9yaXR5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgdGhlIGRldmljZSBmb3IgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NTkKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjcKK21zZ2lkICJzdGF0IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo3OAorbXNnaWQgImZhaWxlZCB0byByZWFkIGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVubGluayAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9yY2luZyB1bm1vdW50IG9mICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAvIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3NQorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxODgKK21zZ2lkICJvbGQgcm9vdCBmaWxlc3lzdGVtIGlzIG5vdCBhbiBpbml0cmFtZnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG5ld3Jvb3RkaXI+IDxpbml0PiA8YXJncyB0byBpbml0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwNAorbXNnaWQgIlN3aXRjaCB0byBhbm90aGVyIGZpbGVzeXN0ZW0gYXMgdGhlIHJvb3Qgb2YgdGhlIG1vdW50IHRyZWUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjM2Cittc2dpZCAiZmFpbGVkLiBTb3JyeS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBhY2Nlc3MgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk0Cittc2dpZCAiU2V0IHZhcmlvdXMgcGFyYW1ldGVycyBmb3IgdGhlIGxpbmUgcHJpbnRlci5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTcKK21zZ2lkICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICBzcGVjaWZ5IHBhcmFsbGVsIHBvcnQgaXJxXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk4Cittc2dpZCAiIC10LCAtLXRpbWUgPG1zPiAgICAgICAgICAgICAgZHJpdmVyIHdhaXQgdGltZSBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTkKK21zZ2lkICIiCisiIC1jLCAtLWNoYXJzIDxudW0+ICAgICAgICAgICAgbnVtYmVyIG9mIG91dHB1dCBjaGFyYWN0ZXJzIGJlZm9yZSBzbGVlcFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDAKK21zZ2lkICIgLXcsIC0td2FpdCA8dXM+ICAgICAgICAgICAgICBzdHJvYmUgd2FpdCBpbiBtaWNybyBzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgPG9ufG9mZj4gYXJndW1lbnRzLiBUaGUKKyMuIGFyZ3VtZW50IHJlYWRlciBkb2VzIG5vdCByZWNvZ25pemUgbG9jYWxlLCB1bmxlc3MgYG9uJyBpcworIy4gZXhhY3RseSB0aGF0IHZlcnkgc2FtZSBzdHJpbmcuCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA0Cittc2dpZCAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAgYWJvcnQgb24gZXJyb3JcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA1Cittc2dpZCAiIC1vLCAtLWNoZWNrLXN0YXR1cyA8b258b2ZmPiAgY2hlY2sgcHJpbnRlciBzdGF0dXMgYmVmb3JlIHByaW50aW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNgorbXNnaWQgIiAtQywgLS1jYXJlZnVsIDxvbnxvZmY+ICAgICAgIGV4dHJhIGNoZWNraW5nIHRvIHN0YXR1cyBjaGVja1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDcKK21zZ2lkICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICBxdWVyeSBwcmludGVyIHN0YXR1c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDgKK21zZ2lkICIgLVQsIC0tdHJ1c3QtaXJxIDxvbnxvZmY+ICAgICBtYWtlIGRyaXZlciB0byB0cnVzdCBpcnFcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcmVzZXQgdGhlIHBvcnRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEwCittc2dpZCAiIC1xLCAtLXByaW50LWlycSA8b258b2ZmPiAgICAgZGlzcGxheSBjdXJyZW50IGlycSBzZXR0aW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgYW4gbHAgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODAKK21zZ2lkICJMUEdFVFNUQVRVUyBlcnJvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN0YXR1cyBpcyAlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgYnVzeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgcmVhZHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG91dCBvZiBwYXBlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb24tbGluZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZXJyb3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMwMAorbXNnaWQgImlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzEwCittc2dpZCAiTFBHRVRJUlEgZXJyb3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBJUlEgJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIHBvbGxpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstaFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IHwgPGRpcmVjdG9yeT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODEKK21zZ2lkICJVbm1vdW50IGZpbGVzeXN0ZW1zLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICB1bm1vdW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NQorbXNnaWQgIiIKKyIgLUEsIC0tYWxsLXRhcmdldHMgICAgICAgdW5tb3VudCBhbGwgbW91bnRwb2ludHMgZm9yIHRoZSBnaXZlbiBkZXZpY2UgaW4gIgorInRoZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg3Cittc2dpZCAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OAorbXNnaWQgIiIKKyIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAgaWYgbW91bnRlZCBsb29wIGRldmljZSwgYWxzbyBmcmVlIHRoaXMgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODkKK21zZ2lkICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgdW1vdW50KDIpIHN5c2NhbGxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTAKK21zZ2lkICIiCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIGZvcmNlIHVubW91bnQgKGluIGNhc2Ugb2YgYW4gdW5yZWFjaGFibGUgTkZTICIKKyJzeXN0ZW0pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkxCittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIHVtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MworbXNnaWQgIiIKKyIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgZGV0YWNoIHRoZSBmaWxlc3lzdGVtIG5vdywgY2xlYW4gdXAgdGhpbmdzIGxhdGVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk0Cittc2dpZCAiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NQorbXNnaWQgIiIKKyIgLVIsIC0tcmVjdXJzaXZlICAgICAgICAgcmVjdXJzaXZlbHkgdW5tb3VudCBhIHRhcmdldCB3aXRoIGFsbCBpdHMgY2hpbGRyZW5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTYKK21zZ2lkICIiCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIGluIGNhc2UgdW5tb3VudGluZyBmYWlscywgdHJ5IHRvIHJlbW91bnQgcmVhZC1vbmx5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk3Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzKSB1bm1vdW50ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bm1vdW50ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW1vdW50IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIzOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlczogdGFyZ2V0IGlzIGJ1c3lcbiIKKyIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0XG4iCisiICAgICAgICAgdXNlIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKS4pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50cG9pbnQgbm90IGZvdW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNTAKK21zZ2lkICJ1bmRlZmluZWQgbW91bnRwb2ludCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtdXN0IGJlIHN1cGVydXNlciB0byB1bm1vdW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJsb2NrIGRldmljZXMgYXJlIG5vdCBwZXJtaXR0ZWQgb24gZmlsZXN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzA3Cittc2dpZCAiZmFpbGVkIHRvIHNldCB1bW91bnQgdGFyZ2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozMjMKK21zZ2lkICJsaWJtb3VudCB0YWJsZSBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzY2IHN5cy11dGlscy91bW91bnQuYzo0NDYKK21zZ2lkICJsaWJtb3VudCBpdGVyYXRvciBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzcyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgY2hpbGQgZnMgb2YgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQxMCBzeXMtdXRpbHMvdW1vdW50LmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQ0MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlICgtLWFsbC10YXJnZXRzIGlzIHVuc3VwcG9ydGVkIG9uIHN5c3RlbXMgd2l0aCAiCisicmVndWxhciBtdGFiIGZpbGUpLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjg5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIC0tc2V0Z3JvdXBzIGFyZ3VtZW50ICclcyciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMTAgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByb3BhZ2F0aW9uIG1vZGU6ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTU3Cittc2dpZCAiY2Fubm90IGNoYW5nZSByb290IGZpbGVzeXN0ZW0gcHJvcGFnYXRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHN0YXQgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTMKK21zZ2lkICJwaXBlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIyNworbXNnaWQgImZhaWxlZCB0byByZWFkIHBpcGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTAKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggc29tZSBuYW1lc3BhY2VzIHVuc2hhcmVkIGZyb20gdGhlIHBhcmVudC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1MworbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU0Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTUKK21zZ2lkICIgLWksIC0taXBjWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NgorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NworbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU4Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU5Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgICAgdW5zaGFyZSBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjAKK21zZ2lkICIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICBmb3JrIGJlZm9yZSBsYXVuY2hpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjEKK21zZ2lkICIiCisiICAgICAtLW1vdW50LXByb2NbPTxkaXI+XSAgbW91bnQgcHJvYyBmaWxlc3lzdGVtIGZpcnN0IChpbXBsaWVzIC0tbW91bnQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjIKK21zZ2lkICIgLXIsIC0tbWFwLXJvb3QtdXNlciAgICAgICBtYXAgY3VycmVudCB1c2VyIHRvIHJvb3QgKGltcGxpZXMgLS11c2VyKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYzCittc2dpZCAiIgorIiAgICAgLS1wcm9wYWdhdGlvbiBzbGF2ZXxzaGFyZWR8cHJpdmF0ZXx1bmNoYW5nZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZnkgbW91bnQgcHJvcGFnYXRpb24gaW4gbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjUKK21zZ2lkICIiCisiIC1zLCAtLXNldGdyb3VwcyBhbGxvd3xkZW55ICBjb250cm9sIHRoZSBzZXRncm91cHMgc3lzY2FsbCBpbiB1c2VyICIKKyJuYW1lc3BhY2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzozODYKK21zZ2lkICJ1bnNoYXJlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzMAorbXNnaWQgImNoaWxkIGV4aXQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDM3Cittc2dpZCAib3B0aW9ucyAtLXNldGdyb3Vwcz1hbGxvdyBhbmQgLS1tYXAtcm9vdC11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjczCittc2dpZCAiQ2FyZCBwcmV2aW91c2x5IHJlc2V0IHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzQKK21zZ2lkICJFeHRlcm5hbCByZWxheSAxIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc1Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NgorbXNnaWQgIkZhbiBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzcKK21zZ2lkICJLZWVwIGFsaXZlIHBpbmcgcmVwbHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzgKK21zZ2lkICJTdXBwb3J0cyBtYWdpYyBjbG9zZSBjaGFyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc5Cittc2dpZCAiUmVzZXQgZHVlIHRvIENQVSBvdmVyaGVhdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MAorbXNnaWQgIlBvd2VyIG92ZXIgdm9sdGFnZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MQorbXNnaWQgIlBvd2VyIGJhZC9wb3dlciBmYXVsdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MgorbXNnaWQgIlByZXRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgzCittc2dpZCAiU2V0IHRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjg0Cittc2dpZCAiTm90IHRyaWdnZXIgcmVib290IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMAorbXNnaWQgImZsYWcgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDEKK21zZ2lkICJmbGFnIGRlc2NyaXB0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMgorbXNnaWQgImZsYWcgc3RhdHVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMworbXNnaWQgImZsYWcgYm9vdCBzdGF0dXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTA0Cittc2dpZCAid2F0Y2hkb2cgZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmxhZzogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTc3Cittc2dpZCAiU2hvdyB0aGUgc3RhdHVzIG9mIHRoZSBoYXJkd2FyZSB3YXRjaGRvZy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxODAKK21zZ2lkICIiCisiIC1mLCAtLWZsYWdzIDxsaXN0PiAgICAgcHJpbnQgc2VsZWN0ZWQgZmxhZ3Mgb25seVxuIgorIiAtRiwgLS1ub2ZsYWdzICAgICAgICAgIGRvbid0IHByaW50IGluZm9ybWF0aW9uIGFib3V0IGZsYWdzXG4iCisiIC1JLCAtLW5vaWRlbnQgICAgICAgICAgZG9uJ3QgcHJpbnQgd2F0Y2hkb2cgaWRlbnRpdHkgaW5mb3JtYXRpb25cbiIKKyIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLU8sIC0tb25lbGluZSAgICAgICAgICBwcmludCBhbGwgaW5mb3JtYXRpb24gb24gb25lIGxpbmVcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBvdXRwdXQgY29sdW1ucyBvZiB0aGUgZmxhZ3NcbiIKKyIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXQgZm9yIGZsYWdzIHRhYmxlXG4iCisiIC1ULCAtLW5vdGltZW91dHMgICAgICAgZG9uJ3QgcHJpbnQgd2F0Y2hkb2cgdGltZW91dHNcbiIKKyIgLXMsIC0tc2V0dGltZW91dCA8c2VjPiBzZXQgd2F0Y2hkb2cgdGltZW91dFxuIgorIiAteCwgLS1mbGFncy1vbmx5ICAgICAgIHByaW50IG9ubHkgZmxhZ3MgdGFibGUgKHNhbWUgYXMgLUkgLVQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZWZhdWx0IGRldmljZSBpcyAlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxOTkKK21zZ2lkICJBdmFpbGFibGUgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZmxhZ3MgMHgleFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMxOSBzeXMtdXRpbHMvd2RjdGwuYzozNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhdGNoZG9nIGFscmVhZHkgaW4gdXNlLCB0ZXJtaW5hdGluZy4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzMzIHN5cy11dGlscy93ZGN0bC5jOjQwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRpc2FybSB3YXRjaGRvZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0aW1lb3V0IGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kLlxuIgorbXNnaWRfcGx1cmFsICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmRzLlxuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGluZm9ybWF0aW9uIGFib3V0IHdhdGNoZG9nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NCBzeXMtdXRpbHMvd2RjdGwuYzo0Njcgc3lzLXV0aWxzL3dkY3RsLmM6NDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMTRzICUyaSBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiJS0xNHMgJTJpIHNlY29uZHNcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NQorbXNnaWQgIlRpbWVvdXQ6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2OAorbXNnaWQgIlByZS10aW1lb3V0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NzEKK21zZ2lkICJUaW1lbGVmdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA1Cittc2dpZCAiRGV2aWNlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDcKK21zZ2lkICJJZGVudGl0eToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA5Cittc2dpZCAidmVyc2lvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjczCittc2dpZCAienJhbSBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc0Cittc2dpZCAibGltaXQgb24gdGhlIHVuY29tcHJlc3NlZCBhbW91bnQgb2YgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc1Cittc2dpZCAidW5jb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NgorbXNnaWQgImNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc3Cittc2dpZCAidGhlIHNlbGVjdGVkIGNvbXByZXNzaW9uIGFsZ29yaXRobSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc4Cittc2dpZCAibnVtYmVyIG9mIGNvbmN1cnJlbnQgY29tcHJlc3Mgb3BlcmF0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc5Cittc2dpZCAiZW1wdHkgcGFnZXMgd2l0aCBubyBhbGxvY2F0ZWQgbWVtb3J5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODAKK21zZ2lkICJhbGwgbWVtb3J5IGluY2x1ZGluZyBhbGxvY2F0b3IgZnJhZ21lbnRhdGlvbiBhbmQgbWV0YWRhdGEgb3ZlcmhlYWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MQorbXNnaWQgIm1lbW9yeSBsaW1pdCB1c2VkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgyCittc2dpZCAibWVtb3J5IHpyYW0gaGF2ZSBiZWVuIGNvbnN1bWVkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgzCittc2dpZCAibnVtYmVyIG9mIG9iamVjdHMgbWlncmF0ZWQgYnkgY29tcGFjdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjM2MyBzeXMtdXRpbHMvenJhbWN0bC5jOjM3NAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyIgJTEkcyAtciA8ZGV2aWNlPiBbLi4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxkZXZpY2U+IC1zIDxzaXplPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTI3Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIHpyYW0gZGV2aWNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMAorbXNnaWQgIiAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NCAgIGNvbXByZXNzaW9uIGFsZ29yaXRobSB0byB1c2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMQorbXNnaWQgIiIKKyIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiAiCisicmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzIKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICBmaW5kIGEgZnJlZSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMworbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzQKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICBjb2x1bW5zIHRvIHVzZSBmb3Igc3RhdHVzIG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM1Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgdXNlIHJhdyBzdGF0dXMgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM2Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzcKK21zZ2lkICIgLXMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM4Cittc2dpZCAiIC10LCAtLXN0cmVhbXMgPG51bWJlcj4gICAgbnVtYmVyIG9mIGNvbXByZXNzaW9uIHN0cmVhbXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBhbGdvcml0aG06ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjI2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0cmVhbXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NDgKK21zZ2lkICJvcHRpb24gLS1maW5kIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxkZXZpY2U+IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjU0Cittc2dpZCAib25seSBvbmUgPGRldmljZT4gYXQgYSB0aW1lIGlzIGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NTcKK21zZ2lkICJvcHRpb25zIC0tYWxnb3JpdGhtIGFuZCAtLXN0cmVhbXMgbXVzdCBiZSBjb21iaW5lZCB3aXRoIC0tc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY4NyBzeXMtdXRpbHMvenJhbWN0bC5jOjcxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njk4IHN5cy11dGlscy96cmFtY3RsLmM6NzA2Cittc2dpZCAibm8gZnJlZSB6cmFtIGRldmljZSBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBudW1iZXIgb2Ygc3RyZWFtcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBhbGdvcml0aG0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgZGlza3NpemUgKCVqdSBieXRlcykiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMlcyAoYXV0b21hdGljIGxvZ2luKVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugcm9vdCBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugd29ya2luZyBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2UgcHJvY2VzcyBwcmlvcml0eTogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGV4ZWMgJXM6ICVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTU1IHRlcm0tdXRpbHMvYWdldHR5LmM6ODQxIHRlcm0tdXRpbHMvYWdldHR5LmM6ODUzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MTUgdGVybS11dGlscy9hZ2V0dHkuYzoxNDMzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NjkgdGVybS11dGlscy9hZ2V0dHkuYzoxNDc5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTUxNgorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTc4IHRlcm0tdXRpbHMvYWdldHR5LmM6MjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5OiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjY4MAorbXNnaWQgImludmFsaWQgZGVsYXkgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3MTkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC0tbG9jYWwtbGluZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjczOAorbXNnaWQgImludmFsaWQgbmljZSBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3BlZWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODc3Cittc2dpZCAidG9vIG1hbnkgYWx0ZXJuYXRlIHNwZWVkcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMDYgdGVybS11dGlscy9hZ2V0dHkuYzoxMDEwIHRlcm0tdXRpbHMvYWdldHR5LmM6MTA2MworIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgb3BlbiBhcyBzdGFuZGFyZCBpbnB1dDogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIGNoYXJhY3RlciBkZXZpY2UiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIHR0eSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzUgdGVybS11dGlscy9hZ2V0dHkuYzoxMDY3CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBnZXQgY29udHJvbGxpbmcgdHR5OiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogdmhhbmd1cCgpIGZhaWxlZDogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3Qgb3BlbiBmb3IgcmVhZC93cml0ZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IHNldCBwcm9jZXNzIGdyb3VwOiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGR1cCBwcm9ibGVtOiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMzIxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXMgZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NTkKK21zZ2lkICJjYW5ub3Qgb3BlbiBvcy1yZWxlYXNlIGZpbGUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNjM3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcmVsb2FkIGZpbGU6ICVzOiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3MzYKK21zZ2lkICJbcHJlc3MgRU5URVIgdG8gbG9naW5dIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2MAorbXNnaWQgIk51bSBMb2NrIG9mZiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjMKK21zZ2lkICJOdW0gTG9jayBvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjYKK21zZ2lkICJDYXBzIExvY2sgb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzY5Cittc2dpZCAiU2Nyb2xsIExvY2sgb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJIaW50OiAlc1xuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZDogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnB1dCBvdmVycnVuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgY2hhcmFjdGVyIGNvbnZlcnNpb24gZm9yIGxvZ2luIG5hbWUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciAweCV4IGluIGxvZ2luIG5hbWUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEwOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxsaW5lPiBbPGJhdWRfcmF0ZT4sLi4uXSBbPHRlcm10eXBlPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGJhdWRfcmF0ZT4sLi4uIDxsaW5lPiBbPHRlcm10eXBlPl1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTMKK21zZ2lkICJPcGVuIGEgdGVybWluYWwgYW5kIHNldCBpdHMgbW9kZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTYKK21zZ2lkICIgLTgsIC0tOGJpdHMgICAgICAgICAgICAgICAgYXNzdW1lIDgtYml0IHR0eVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExNworbXNnaWQgIiAtYSwgLS1hdXRvbG9naW4gPHVzZXI+ICAgICBsb2dpbiB0aGUgc3BlY2lmaWVkIHVzZXIgYXV0b21hdGljYWxseVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExOAorbXNnaWQgIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICBkbyBub3QgcmVzZXQgY29udHJvbCBtb2RlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE5Cittc2dpZCAiIC1FLCAtLXJlbW90ZSAgICAgICAgICAgICAgIHVzZSAtciA8aG9zdG5hbWU+IGZvciBsb2dpbigxKVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMAorbXNnaWQgIiAtZiwgLS1pc3N1ZS1maWxlIDxmaWxlPiAgICBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjEKK21zZ2lkICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgZW5hYmxlIGhhcmR3YXJlIGZsb3cgY29udHJvbFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMgorbXNnaWQgIiAtSCwgLS1ob3N0IDxob3N0bmFtZT4gICAgICBzcGVjaWZ5IGxvZ2luIGhvc3RcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjMKK21zZ2lkICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgZG8gbm90IGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNAorbXNnaWQgIiAtSSwgLS1pbml0LXN0cmluZyA8c3RyaW5nPiBzZXQgaW5pdCBzdHJpbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjUKK21zZ2lkICIgLUogIC0tbm9jbGVhciAgICAgICAgICAgICAgZG8gbm90IGNsZWFyIHRoZSBzY3JlZW4gYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNgorbXNnaWQgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBzcGVjaWZ5IGxvZ2luIHByb2dyYW1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjcKK21zZ2lkICIgLUwsIC0tbG9jYWwtbGluZVs9PG1vZGU+XSAgY29udHJvbCB0aGUgbG9jYWwgbGluZSBmbGFnXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI4Cittc2dpZCAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI5Cittc2dpZCAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGRvIG5vdCBwcm9tcHQgZm9yIGxvZ2luXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMwCittc2dpZCAiIC1OICAtLW5vbmV3bGluZSAgICAgICAgICAgIGRvIG5vdCBwcmludCBhIG5ld2xpbmUgYmVmb3JlIGlzc3VlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMxCittc2dpZCAiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPG9wdHM+IG9wdGlvbnMgdGhhdCBhcmUgcGFzc2VkIHRvIGxvZ2luXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMyCittc2dpZCAiIC1wLCAtLWxvZ2luLXBhdXNlICAgICAgICAgIHdhaXQgZm9yIGFueSBrZXkgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMworbXNnaWQgIiAtciwgLS1jaHJvb3QgPGRpcj4gICAgICAgICBjaGFuZ2Ugcm9vdCB0byB0aGUgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM0Cittc2dpZCAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgIGRvIHZpcnR1YWxseSBoYW5ndXAgb24gdGhlIHR0eVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNQorbXNnaWQgIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICB0cnkgdG8ga2VlcCBiYXVkIHJhdGUgYWZ0ZXIgYnJlYWtcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzYKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8bnVtYmVyPiAgICAgbG9naW4gcHJvY2VzcyB0aW1lb3V0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM3Cittc2dpZCAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzgKK21zZ2lkICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgd2FpdCBjYXJyaWFnZS1yZXR1cm5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzkKK21zZ2lkICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAgZG8gbm90IHByaW50IGhpbnRzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQwCittc2dpZCAiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgIG5vIGhvc3RuYW1lIGF0IGFsbCB3aWxsIGJlIHNob3duXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQxCittc2dpZCAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIHNob3cgZnVsbCBxdWFsaWZpZWQgaG9zdG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDIKK21zZ2lkICIgICAgIC0tZXJhc2UtY2hhcnMgPHN0cmluZz4gYWRkaXRpb25hbCBiYWNrc3BhY2UgY2hhcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDMKK21zZ2lkICIgICAgIC0ta2lsbC1jaGFycyA8c3RyaW5nPiAgYWRkaXRpb25hbCBraWxsIGNoYXJzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ0Cittc2dpZCAiICAgICAtLWNoZGlyIDxkaXJlY3Rvcnk+ICAgIGNoZGlyIGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDUKK21zZ2lkICIgICAgIC0tZGVsYXkgPG51bWJlcj4gICAgICAgc2xlZXAgc2Vjb25kcyBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ2Cittc2dpZCAiICAgICAtLW5pY2UgPG51bWJlcj4gICAgICAgIHJ1biBsb2dpbiB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDcKK21zZ2lkICIiCisiICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgIHJlbG9hZCBwcm9tcHRzIG9uIHJ1bm5pbmcgYWdldHR5IGluc3RhbmNlc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0OAorbXNnaWQgIiAgICAgLS1oZWxwICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0OQorbXNnaWQgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCB1c2VyIgorbXNnaWRfcGx1cmFsICIlZCB1c2VycyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICJjaGVja25hbWUgZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHRvdWNoIGZpbGUgJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjI1Cittc2dpZCAiLS1yZWxvYWQgaXMgdW5zdXBwb3J0ZWQgb24geW91ciBzeXN0ZW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbeSB8IG5dXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6NzgKK21zZ2lkICJDb250cm9sIHdyaXRlIGFjY2VzcyBvZiBvdGhlciB1c2VycyB0byB5b3VyIHRlcm1pbmFsLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjgxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTI1Cittc2dpZCAidHR5bmFtZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM0Cittc2dpZCAiaXMgeSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzcKK21zZ2lkICJpcyBuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE0OCB0ZXJtLXV0aWxzL21lc2cuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlICVzIG1vZGUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTU3Cittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgZGVuaWVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE1OQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTYyCittc2dpZCAiTWFrZSBhIHR5cGVzY3JpcHQgb2YgYSB0ZXJtaW5hbCBzZXNzaW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTY1Cittc2dpZCAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICBhcHBlbmQgdGhlIG91dHB1dFxuIgorIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiBydW4gY29tbWFuZCByYXRoZXIgdGhhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgorIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICByZXR1cm4gZXhpdCBjb2RlIG9mIHRoZSBjaGlsZCBwcm9jZXNzXG4iCisiIC1mLCAtLWZsdXNoICAgICAgICAgICAgIHJ1biBmbHVzaCBhZnRlciBlYWNoIHdyaXRlXG4iCisiICAgICAtLWZvcmNlICAgICAgICAgICAgIHVzZSBvdXRwdXQgZmlsZSBldmVuIHdoZW4gaXQgaXMgYSBsaW5rXG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIGJlIHF1aWV0XG4iCisiIC10LCAtLXRpbWluZ1s9PGZpbGU+XSAgIG91dHB1dCB0aW1pbmcgZGF0YSB0byBzdGRlcnIgKG9yIHRvIEZJTEUpXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm91dHB1dCBmaWxlIGAlcycgaXMgYSBsaW5rXG4iCisiVXNlIC0tZm9yY2UgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC5cbiIKKyJQcm9ncmFtIG5vdCBzdGFydGVkLiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgZG9uZSwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MjYyCittc2dpZCAiY2Fubm90IHdyaXRlIHNjcmlwdCBmaWxlIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNjcmlwdCBkb25lIG9uICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjA3Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjE0Cittc2dpZCAib3BlbnB0eSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2NTIKK21zZ2lkICJvdXQgb2YgcHR5J3MiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo3NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLXRdIHRpbWluZ2ZpbGUgW3R5cGVzY3JpcHRdIFtkaXZpc29yXVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDcKK21zZ2lkICJQbGF5IGJhY2sgdGVybWluYWwgdHlwZXNjcmlwdHMsIHVzaW5nIHRpbWluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjUwCittc2dpZCAiIgorIiAtdCwgLS10aW1pbmcgPGZpbGU+ICAgICBzY3JpcHQgdGltaW5nIG91dHB1dCBmaWxlXG4iCisiIC1zLCAtLXR5cGVzY3JpcHQgPGZpbGU+IHNjcmlwdCB0ZXJtaW5hbCBzZXNzaW9uIG91dHB1dCBmaWxlXG4iCisiIC1kLCAtLWRpdmlzb3IgPG51bT4gICAgIHNwZWVkIHVwIG9yIHNsb3cgZG93biBleGVjdXRpb24gd2l0aCB0aW1lIGRpdmlzb3JcbiIKKyIgLW0sIC0tbWF4ZGVsYXkgPG51bT4gICAgd2FpdCBhdCBtb3N0IHRoaXMgbWFueSBzZWNvbmRzIGJldHdlZW4gdXBkYXRlc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTEyCittc2dpZCAid3JpdGUgdG8gc3Rkb3V0IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIG9uICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHR5cGVzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE4NAorbXNnaWQgIndyb25nIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGltaW5nIGZpbGUgJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltaW5nIGZpbGUgJXM6IGxpbmUgJWx1OiB1bmV4cGVjdGVkIGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXJndW1lbnQgZXJyb3I6IGJyaWdodCAlcyBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyOAorbXNnaWQgInRvbyBtYW55IHRhYnMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzgzCittc2dpZCAiU2V0IHRoZSBhdHRyaWJ1dGVzIG9mIGEgdGVybWluYWwuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg2Cittc2dpZCAiIC0tdGVybSAgICAgICAgICA8dGVybWluYWxfbmFtZT4gICBvdmVycmlkZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg3Cittc2dpZCAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCB0byBwb3dlci1vbiBzdGF0ZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OAorbXNnaWQgIiIKKyIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5pdCBzdHJpbmcsIGFuZCB1c2UgZGVmYXVsdCAiCisic2V0dGluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODkKK21zZ2lkICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBkZWZhdWx0IHRlcm1pbmFsIHNldHRpbmdzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkwCittc2dpZCAiIgorIiAtLXN0b3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IHRlcm1pbmFsIHNldHRpbmdzIGFzICIKKyJkZWZhdWx0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkxCittc2dpZCAiIC0tY3Vyc29yICAgICAgICBbb258b2ZmXSAgICAgICAgICBkaXNwbGF5IGN1cnNvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MgorbXNnaWQgIiAtLXJlcGVhdCAgICAgICAgW29ufG9mZl0gICAgICAgICAga2V5Ym9hcmQgcmVwZWF0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkzCittc2dpZCAiIC0tYXBwY3Vyc29ya2V5cyBbb258b2ZmXSAgICAgICAgICBjdXJzb3Iga2V5IGFwcGxpY2F0aW9uIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTQKK21zZ2lkICIiCisiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBjb250aW51ZSBvbiBhIG5ldyBsaW5lIHdoZW4gYSBsaW5lIGlzICIKKyJmdWxsXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk1Cittc2dpZCAiIC0taW52ZXJzZXNjcmVlbiBbb258b2ZmXSAgICAgICAgICBzd2FwIGNvbG9ycyBmb3IgdGhlIHdob2xlIHNjcmVlblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NgorbXNnaWQgIiAtLWZvcmVncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGZvcmVncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTcKK21zZ2lkICIgLS1iYWNrZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBiYWNrZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk4Cittc2dpZCAiIC0tdWxjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgdW5kZXJsaW5lZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk5Cittc2dpZCAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgYm9sZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAwCittc2dpZCAiIgorIiAgICAgICAgICAgICAgICAgPGNvbG9yPjogYmxhY2sgYmx1ZSBjeWFuIGdyZWVuIGdyZXkgbWFnZW50YSByZWQgd2hpdGUgIgorInllbGxvd1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMQorbXNnaWQgIiAtLWJvbGQgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYm9sZFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMgorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAzCittc2dpZCAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlua1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNAorbXNnaWQgIiAtLXVuZGVybGluZSAgICAgW29ufG9mZl0gICAgICAgICAgdW5kZXJsaW5lXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA1Cittc2dpZCAiIgorIiAtLXJldmVyc2UgICAgICAgW29ufG9mZl0gICAgICAgICAgc3dhcCBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9yc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNgorbXNnaWQgIiIKKyIgLS1jbGVhciAgICAgICAgIFthbGx8cmVzdF0gICAgICAgIGNsZWFyIHNjcmVlbiBhbmQgc2V0IGN1cnNvciBwb3NpdGlvblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNworbXNnaWQgIiIKKyIgLS10YWJzICAgICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIHNldCB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIHNob3cgIgorInRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDgKK21zZ2lkICIiCisiIC0tY2xydGFicyAgICAgICBbPG51bWJlcj4uLi5dICAgICBjbGVhciB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIGFsbFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOQorbXNnaWQgIiAtLXJlZ3RhYnMgICAgICAgWzEtMTYwXSAgICAgICAgICAgc2V0IGEgcmVndWxhciB0YWIgc3RvcCBpbnRlcnZhbFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMAorbXNnaWQgIiIKKyIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIHNldCB0aW1lIG9mIGluYWN0aXZpdHkgYmVmb3JlIHNjcmVlbiAiCisiYmxhbmtzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDExCittc2dpZCAiIgorIiAtLWR1bXAgICAgICAgICAgWzxudW1iZXI+XSAgICAgICAgd3JpdGUgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEyCittc2dpZCAiIgorIiAtLWFwcGVuZCAgICAgICAgWzxudW1iZXI+XSAgICAgICAgYXBwZW5kIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMworbXNnaWQgIiAtLWZpbGUgICAgICAgICAgPGZpbGVuYW1lPiAgICAgICAgbmFtZSBvZiB0aGUgZHVtcCBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE0Cittc2dpZCAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBzZW5kIGtlcm5lbCBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE1Cittc2dpZCAiIC0tbXNnbGV2ZWwgICAgICAwLTggICAgICAgICAgICAgICBrZXJuZWwgY29uc29sZSBsb2cgbGV2ZWxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTYKK21zZ2lkICIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNworbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0IHZlc2EgcG93ZXJzYXZpbmcgZmVhdHVyZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTgKK21zZ2lkICIiCisiIC0tcG93ZXJkb3duICAgICBbMC02MF0gICAgICAgICAgICBzZXQgdmVzYSBwb3dlcmRvd24gaW50ZXJ2YWwgaW4gbWludXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxOQorbXNnaWQgIiIKKyIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIGR1cmF0aW9uIG9mIHRoZSBiZWxsIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMAorbXNnaWQgIiAtLWJmcmVxICAgICAgICAgPG51bWJlcj4gICAgICAgICAgYmVsbCBmcmVxdWVuY3kgaW4gSGVydHpcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjEKK21zZ2lkICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIHNob3cgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMgorbXNnaWQgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MzAKK21zZ2lkICJkdXBsaWNhdGUgdXNlIG9mIGFuIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MzQKK21zZ2lkICJjYW5ub3QgZm9yY2UgYmxhbmsiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzM5Cittc2dpZCAiY2Fubm90IGZvcmNlIHVuYmxhbmsiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQ1Cittc2dpZCAiY2Fubm90IGdldCBibGFuayBzdGF0dXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzcxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbiBub3Qgb3BlbiBkdW1wIGZpbGUgJXMgZm9yIG91dHB1dCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgJXMgZG9lcyBub3Qgc3VwcG9ydCAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo5ODgKK21zZ2lkICJjYW5ub3QgKHVuKXNldCBwb3dlcnNhdmUgbW9kZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDA3IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwMTYKK21zZ2lkICJrbG9nY3RsIGVycm9yIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwMzcKK21zZ2lkICIkVEVSTSBpcyBub3QgZGVmaW5lZC4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0NAorbXNnaWQgInRlcm1pbmZvIGRhdGFiYXNlIGNhbm5vdCBiZSBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIHRlcm1pbmFsIHR5cGUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0OAorbXNnaWQgInRlcm1pbmFsIGlzIGhhcmRjb3B5IgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHRvbyBtYW55IGlvdidzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhjZXNzaXZlbHkgbG9uZyBsaW5lIGFyZyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVuIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJmb3JrOiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZm9yayIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkFEIEVSUk9SLCBtZXNzYWdlIGlzIGZhciB0b28gbG9uZyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gfCA8bWVzc2FnZT5dXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODYKK21zZ2lkICJXcml0ZSBhIG1lc3NhZ2UgdG8gYWxsIHVzZXJzLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg5Cittc2dpZCAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIGRvIG5vdCBwcmludCBiYW5uZXIsIHdvcmtzIG9ubHkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5MAorbXNnaWQgIiAtdCwgLS10aW1lb3V0IDx0aW1lb3V0PiB3cml0ZSB0aW1lb3V0IGluIHNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMzIKK21zZ2lkICItLW5vYmFubmVyIGlzIGF2YWlsYWJsZSBvbmx5IGZvciByb290IgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEzNworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjI2OQorbXNnaWQgImNhbm5vdCBnZXQgcGFzc3dkIHVpZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyNzQKK21zZ2lkICJjYW5ub3QgZ2V0IHR0eSBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICJCcm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzQCVzICglcykgKCVzKToiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IHJlYWQgJXMgLSB1c2Ugc3RkaW4uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1c2VyPiBbPHR0eW5hbWU+XVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo5MAorbXNnaWQgIlNlbmQgYSBtZXNzYWdlIHRvIGFub3RoZXIgdXNlci5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgImVmZmVjdGl2ZSBnaWQgZG9lcyBub3QgbWF0Y2ggZ3JvdXAgb2YgJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDcKK21zZ2lkICJjYW4ndCBmaW5kIHlvdXIgdHR5J3MgbmFtZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGxvZ2dlZCBpbiBtb3JlIHRoYW4gb25jZTsgd3JpdGluZyB0byAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjM4Cittc2dpZCAiY2FyZWZ1bHB1dGMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIChhcyAlcykgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozMzEKK21zZ2lkICJ5b3UgaGF2ZSB3cml0ZSBwZXJtaXNzaW9uIHR1cm5lZCBvZmYiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIG9uICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIG9uICVzIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM0Cittc2dpZCAiRmlsdGVyIG91dCByZXZlcnNlIGxpbmUgZmVlZHMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAgZG8gbm90IG91dHB1dCBiYWNrc3BhY2VzXG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAgcGVybWl0IGZvcndhcmQgaGFsZiBsaW5lIGZlZWRzXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAgcGFzcyB1bmtub3duIGNvbnRyb2wgc2VxdWVuY2VzXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgY29udmVydCBzcGFjZXMgdG8gdGFic1xuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIGNvbnZlcnQgdGFicyB0byBzcGFjZXNcbiIKKyIgLWwsIC0tbGluZXMgTlVNICAgICAgICBidWZmZXIgYXQgbGVhc3QgTlVNIGxpbmVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLUgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTQ4IHRleHQtdXRpbHMvY29scm0uYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXMgcmVhZHMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MjEyCittc2dpZCAiYmFkIC1sIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbid0IGJhY2sgdXAgJXMuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM3Cittc2dpZCAicGFzdCBmaXJzdCBsaW5lIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM3Cittc2dpZCAiLS0gbGluZSBhbHJlYWR5IGZsdXNoZWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4MSB0ZXh0LXV0aWxzL2NvbHVtbi5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NAorbXNnaWQgIkZpbHRlciBucm9mZiBvdXRwdXQgZm9yIENSVCBwcmV2aWV3aW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODcKK21zZ2lkICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgICAgc3VwcHJlc3MgYWxsIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OAorbXNnaWQgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBwcmludCBhbGwgaGFsZi1saW5lc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtzdGFydGNvbCBbZW5kY29sXV1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjQKK21zZ2lkICJGaWx0ZXIgb3V0IHRoZSBzcGVjaWZpZWQgY29sdW1ucy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg1Cittc2dpZCAiZmlyc3QgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NworbXNnaWQgInNlY29uZCBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyMAorbXNnaWQgIkNvbHVtbmF0ZSBsaXN0cy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyMworbXNnaWQgIiAtYywgLS1jb2x1bW5zIDx3aWR0aD4gICAgd2lkdGggb2Ygb3V0cHV0IGluIG51bWJlciBvZiBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjQKK21zZ2lkICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgIGNyZWF0ZSBhIHRhYmxlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjUKK21zZ2lkICIgLXMsIC0tc2VwYXJhdG9yIDxzdHJpbmc+IHBvc3NpYmxlIHRhYmxlIGRlbGltaXRlcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyNgorbXNnaWQgIiIKKyIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8c3RyaW5nPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucyBzZXBhcmF0b3IgZm9yIHRhYmxlIG91dHB1dDsgZGVmYXVsdCBpcyB0d28gIgorInNwYWNlc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI4Cittc2dpZCAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICBmaWxsIHJvd3MgYmVmb3JlIGNvbHVtbnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjE4MgorbXNnaWQgImludmFsaWQgY29sdW1ucyBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQyMgorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkIGlzIHRvbyBsb25nLCBvdXRwdXQgd2lsbCBiZSB0cnVuY2F0ZWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU1IHRleHQtdXRpbHMvbW9yZS5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPi4uLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1OAorbXNnaWQgIkRpc3BsYXkgZmlsZSBjb250ZW50cyBpbiBoZXhhZGVjaW1hbCwgZGVjaW1hbCwgb2N0YWwsIG9yIGFzY2lpLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MQorbXNnaWQgIiAtYiwgLS1vbmUtYnl0ZS1vY3RhbCAgICAgIG9uZS1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjIKK21zZ2lkICIgLWMsIC0tb25lLWJ5dGUtY2hhciAgICAgICBvbmUtYnl0ZSBjaGFyYWN0ZXIgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MworbXNnaWQgIiAtQywgLS1jYW5vbmljYWwgICAgICAgICAgIGNhbm9uaWNhbCBoZXgrQVNDSUkgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NAorbXNnaWQgIiAtZCwgLS10d28tYnl0ZXMtZGVjaW1hbCAgIHR3by1ieXRlIGRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NQorbXNnaWQgIiAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIHR3by1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjYKK21zZ2lkICIgLXgsIC0tdHdvLWJ5dGVzLWhleCAgICAgICB0d28tYnl0ZSBoZXhhZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY3Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08bW9kZT5dICAgICAgaW50ZXJwcmV0IGNvbG9yIGZvcm1hdHRpbmcgc3BlY2lmaWVyc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MAorbXNnaWQgIiIKKyIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MQorbXNnaWQgIiAtZiwgLS1mb3JtYXQtZmlsZSA8ZmlsZT4gIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MgorbXNnaWQgIiAtbiwgLS1sZW5ndGggPGxlbmd0aD4gICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MworbXNnaWQgIiAtcywgLS1za2lwIDxvZmZzZXQ+ICAgICAgIHNraXAgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NAorbXNnaWQgIiAtdiwgLS1uby1zcXVlZXppbmcgICAgICAgIG91dHB1dCBpZGVudGljYWwgbGluZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtZGlzcGxheS5jOjM2NQorbXNnaWQgImFsbCBpbnB1dCBmaWxlIGFyZ3VtZW50cyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGJ5dGUgY291bnQgZm9yIGNvbnZlcnNpb24gY2hhcmFjdGVyICVzIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUlcyByZXF1aXJlcyBhIHByZWNpc2lvbiBvciBhIGJ5dGUgY291bnQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGZvcm1hdCB7JXN9IgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjcwCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb252ZXJzaW9uIGNoYXJhY3RlciAlJSVzIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjQzNgorbXNnaWQgImJ5dGUgY291bnQgd2l0aCBtdWx0aXBsZSBjb252ZXJzaW9uIGNoYXJhY3RlcnMiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9saW5lLmM6MzMKK21zZ2lkICJSZWFkIG9uZSBsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIyOAorbXNnaWQgIkEgZmlsZSBwZXJ1c2FsIGZpbHRlciBmb3IgQ1JUIHZpZXdpbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjMxCittc2dpZCAiIC1kICAgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmdpbmcgYmVsbFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMgorbXNnaWQgIiAtZiAgICAgICAgICBjb3VudCBsb2dpY2FsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMworbXNnaWQgIiAtbCAgICAgICAgICBzdXBwcmVzcyBwYXVzZSBhZnRlciBmb3JtIGZlZWRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzQKK21zZ2lkICIgLWMgICAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzUKK21zZ2lkICIgLXAgICAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzYKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNworbXNnaWQgIiAtdSAgICAgICAgICBzdXBwcmVzcyB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOAorbXNnaWQgIiAtPG51bWJlcj4gICB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzkKK21zZ2lkICIgKzxudW1iZXI+ICAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIGxpbmUgbnVtYmVyXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQwCittc2dpZCAiICsvPHN0cmluZz4gIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBzZWFyY2ggc3RyaW5nIG1hdGNoXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQxCittc2dpZCAiIC1WICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbiAtJXMiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKiogJXM6IGRpcmVjdG9yeSAqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKioqKioqICVzOiBOb3QgYSB0ZXh0IGZpbGUgKioqKioqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1VzZSBxIG9yIFEgdG8gcXVpdF0iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tTW9yZS0tIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjcyNgorIywgYy1mb3JtYXQKK21zZ2lkICIoTmV4dCBmaWxlOiAlcykiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyBzcGFjZSB0byBjb250aW51ZSwgJ3EnIHRvIHF1aXQuXSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmJhY2sgJWQgcGFnZSIKK21zZ2lkX3BsdXJhbCAiLi4uYmFjayAlZCBwYWdlcyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc2tpcHBpbmcgJWQgbGluZSIKK21zZ2lkX3BsdXJhbCAiLi4uc2tpcHBpbmcgJWQgbGluZXMiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjQ4Cittc2dpZCAiIgorIlxuIgorIioqKkJhY2sqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjYzCittc2dpZCAiTm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyOTMKK21zZ2lkICIiCisiXG4iCisiTW9zdCBjb21tYW5kcyBvcHRpb25hbGx5IHByZWNlZGVkIGJ5IGludGVnZXIgYXJndW1lbnQgay4gIERlZmF1bHRzIGluICIKKyJicmFja2V0cy5cbiIKKyJTdGFyICgqKSBpbmRpY2F0ZXMgYXJndW1lbnQgYmVjb21lcyBuZXcgZGVmYXVsdC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzAwCittc2dpZCAiIgorIjxzcGFjZT4gICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbMV0qXG4iCisiZCBvciBjdHJsLUQgICAgICAgICAgICAgU2Nyb2xsIGsgbGluZXMgW2N1cnJlbnQgc2Nyb2xsIHNpemUsIGluaXRpYWxseSAxMV0qXG4iCisicSBvciBRIG9yIDxpbnRlcnJ1cHQ+ICAgRXhpdCBmcm9tIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBsaW5lcyBvZiB0ZXh0IFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyJiIG9yIGN0cmwtQiAgICAgICAgICAgICBTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBHbyB0byBwbGFjZSB3aGVyZSBwcmV2aW91cyBzZWFyY2ggc3RhcnRlZFxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBsaW5lIG51bWJlclxuIgorIi88cmVndWxhciBleHByZXNzaW9uPiAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgcmVndWxhciBleHByZXNzaW9uIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByLmUgWzFdXG4iCisiITxjbWQ+IG9yIDohPGNtZD4gICAgICAgRXhlY3V0ZSA8Y21kPiBpbiBhIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgdXAgL3Vzci9iaW4vdmkgYXQgY3VycmVudCBsaW5lXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkcmF3IHNjcmVlblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBuZXh0IGZpbGUgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIHByZXZpb3VzIGZpbGUgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXJcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBSZXBlYXQgcHJldmlvdXMgY29tbWFuZFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzNzMgdGV4dC11dGlscy9tb3JlLmM6MTM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3MgJ2gnIGZvciBpbnN0cnVjdGlvbnMuXSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBsaW5lICVkIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiW05vdCBhIGZpbGVdIGxpbmUgJWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQ5NAorbXNnaWQgIiAgT3ZlcmZsb3dcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTQzCittc2dpZCAiLi4uc2tpcHBpbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTc3Cittc2dpZCAiIgorIlxuIgorIlBhdHRlcm4gbm90IGZvdW5kXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU4MyB0ZXh0LXV0aWxzL3BnLmM6MTAyNyB0ZXh0LXV0aWxzL3BnLmM6MTE3MworbXNnaWQgIlBhdHRlcm4gbm90IGZvdW5kIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2MjkKK21zZ2lkICJleGVjIGZhaWxlZFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NDMKK21zZ2lkICJjYW4ndCBmb3JrXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY3NworbXNnaWQgIiIKKyJcbiIKKyIuLi5Ta2lwcGluZyAiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY4MQorbXNnaWQgIi4uLlNraXBwaW5nIHRvIGZpbGUgIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2ODMKK21zZ2lkICIuLi5Ta2lwcGluZyBiYWNrIHRvIGZpbGUgIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE5NzMKK21zZ2lkICJMaW5lIHRvbyBsb25nIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIwMTAKK21zZ2lkICJObyBwcmV2aW91cyBjb21tYW5kIHRvIHN1YnN0aXR1dGUgZm9yIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNDQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBzY3JlZW5cbiIKKyIgIHEgb3IgUSAgICAgICAgICAgICAgICAgIHF1aXQgcHJvZ3JhbVxuIgorIiAgPG5ld2xpbmU+ICAgICAgICAgICAgICAgbmV4dCBwYWdlXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBza2lwIGEgcGFnZSBmb3J3YXJkXG4iCisiICBkIG9yIF5EICAgICAgICAgICAgICAgICBuZXh0IGhhbGZwYWdlXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBuZXh0IGxpbmVcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIGxhc3QgcGFnZVxuIgorIiAgL3JlZ2V4LyAgICAgICAgICAgICAgICAgc2VhcmNoIGZvcndhcmQgZm9yIHJlZ2V4XG4iCisiICA/cmVnZXg/IG9yIF5yZWdleF4gICAgICBzZWFyY2ggYmFja3dhcmQgZm9yIHJlZ2V4XG4iCisiICAuIG9yIF5MICAgICAgICAgICAgICAgICByZWRyYXcgc2NyZWVuXG4iCisiICB3IG9yIHogICAgICAgICAgICAgICAgICBzZXQgcGFnZSBzaXplIGFuZCBnbyB0byBuZXh0IHBhZ2VcbiIKKyIgIHMgZmlsZW5hbWUgICAgICAgICAgICAgIHNhdmUgY3VycmVudCBmaWxlIHRvIGZpbGVuYW1lXG4iCisiICAhY29tbWFuZCAgICAgICAgICAgICAgICBzaGVsbCBlc2NhcGVcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIHByZXZpb3VzIGZpbGVcbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIG5leHQgZmlsZVxuIgorIlxuIgorIk1hbnkgY29tbWFuZHMgYWNjZXB0IHByZWNlZGluZyBudW1iZXJzLCBmb3IgZXhhbXBsZTpcbiIKKyIrMTxuZXdsaW5lPiAobmV4dCBwYWdlKTsgLTE8bmV3bGluZT4gKHByZXZpb3VzIHBhZ2UpOyAxPG5ld2xpbmU+IChmaXJzdCAiCisicGFnZSkuXG4iCisiXG4iCisiU2VlIHBnKDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMjYKK21zZ2lkICJCcm93c2UgcGFnZXdpc2UgdGhyb3VnaCB0ZXh0IGZpbGVzLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMjkKK21zZ2lkICIgLW51bWJlciAgICAgIGxpbmVzIHBlciBwYWdlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMAorbXNnaWQgIiAtYyAgICAgICAgICAgY2xlYXIgc2NyZWVuIGJlZm9yZSBkaXNwbGF5aW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMQorbXNnaWQgIiAtZSAgICAgICAgICAgZG8gbm90IHBhdXNlIGF0IGVuZCBvZiBhIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMyCittc2dpZCAiIC1mICAgICAgICAgICBkbyBub3Qgc3BsaXQgbG9uZyBsaW5lc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzMKK21zZ2lkICIgLW4gICAgICAgICAgIHRlcm1pbmF0ZSBjb21tYW5kIHdpdGggbmV3IGxpbmVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM0Cittc2dpZCAiIC1wIDxwcm9tcHQ+ICBzcGVjaWZ5IHByb21wdFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzUKK21zZ2lkICIgLXIgICAgICAgICAgIGRpc2FsbG93IHNoZWxsIGVzY2FwZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzYKK21zZ2lkICIgLXMgICAgICAgICAgIHByaW50IG1lc3NhZ2VzIHRvIHN0ZG91dFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzcKK21zZ2lkICIgK251bWJlciAgICAgIHN0YXJ0IGF0IHRoZSBnaXZlbiBsaW5lXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzOAorbXNnaWQgIiArL3BhdHRlcm4vICAgc3RhcnQgYXQgdGhlIGxpbmUgY29udGFpbmluZyBwYXR0ZXJuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gJXMiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIG9wdGlvbiAtLSAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzU5Cittc2dpZCAiLi4uc2tpcHBpbmcgZm9yd2FyZFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjEKK21zZ2lkICIuLi5za2lwcGluZyBiYWNrd2FyZFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNzcKK21zZ2lkICJObyBuZXh0IGZpbGUiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjM4MQorbXNnaWQgIk5vIHByZXZpb3VzIGZpbGUiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yIGZyb20gJXMgZmlsZSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgRU9GIGluICVzIGZpbGUiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjg4OAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGVycm9yIGluICVzIGZpbGUiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjk0MQorbXNnaWQgIkNhbm5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjk1MCB0ZXh0LXV0aWxzL3BnLmM6MTExNCB0ZXh0LXV0aWxzL3BnLmM6MTE0MAorbXNnaWQgIlJFIGVycm9yOiAiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjEwOTcKK21zZ2lkICIoRU9GKSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTEyMiB0ZXh0LXV0aWxzL3BnLmM6MTE0OAorbXNnaWQgIk5vIHJlbWVtYmVyZWQgc2VhcmNoIHN0cmluZyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTIwMworbXNnaWQgImNhbm5vdCBvcGVuICIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI1NQorbXNnaWQgInNhdmVkIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzQ1Cittc2dpZCAiOiAhY29tbWFuZCBub3QgYWxsb3dlZCBpbiByZmxhZyBtb2RlLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzgwCittc2dpZCAiZm9yaygpIGZhaWxlZCwgdHJ5IGFnYWluIGxhdGVyXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjE0NjgKK21zZ2lkICIoTmV4dCBmaWxlOiAiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjE1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXMgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU4NyB0ZXh0LXV0aWxzL3BnLmM6MTY2MAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMgcGVyIHBhZ2UiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9yZXYuYzo3NgorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjgwCittc2dpZCAiUmV2ZXJzZSBsaW5lcyBjaGFyYWN0ZXJ3aXNlLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW5jb21wbGV0ZSB3cml0ZSB0byBcIiVzXCIgKHdyaXR0ZW4gJXpkLCBleHBlY3RlZCAlemQpXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoIChsaW1pdCBvZiBpbm90aWZ5IHdhdGNoZXMgd2FzIHJlYWNoZWQpLiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uXSA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjAwCittc2dpZCAiRm9sbG93IHRoZSBncm93dGggb2YgYSBsb2cgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjAzCittc2dpZCAiIC1uLCAtLWxpbmVzIDxudW1iZXI+ICAgb3V0cHV0IHRoZSBsYXN0IDxudW1iZXI+IGxpbmVzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwNAorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICAgIHNhbWUgYXMgJy1uIDxudW1iZXI+J1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMTAKK21zZ2lkICJXYXJuaW5nOiB1c2Ugb2YgJ3RhaWxmJyBpcyBkZXByZWNhdGVkLCB1c2UgJ3RhaWwgLWYnIGluc3RlYWQuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIyMyB0ZXh0LXV0aWxzL3RhaWxmLmM6MjYzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6Mjc1Cittc2dpZCAibm8gaW5wdXQgZmlsZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGEgZmlsZSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiAuLi5dXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjEzOQorbXNnaWQgIkRvIHVuZGVybGluaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDIKK21zZ2lkICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDMKK21zZ2lkICIiCisiIC1pLCAtLWluZGljYXRlZCAgICAgICAgICAgICAgdW5kZXJsaW5pbmcgaXMgaW5kaWNhdGVkIHZpYSBhIHNlcGFyYXRlIGxpbmVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA0Cittc2dpZCAidHJvdWJsZSByZWFkaW5nIHRlcm1pbmZvIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgYCVzJyBpcyBub3Qga25vd24sIGRlZmF1bHRpbmcgdG8gYGR1bWInIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBlc2NhcGUgc2VxdWVuY2UgaW4gaW5wdXQ6ICVvLCAlbyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6NjI0Cittc2dpZCAiSW5wdXQgbGluZSB0b28gbG9uZy4iCittc2dzdHIgIiIKZGlmZiAtLWdpdCBhL3BvL3ZpLnBvIGIvcG8vdmkucG8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzI2ZjIzMAotLS0gL2Rldi9udWxsCisrKyBiL3BvL3ZpLnBvCkBAIC0wLDAgKzEsMjQ4MjEgQEAKKyMgVmlldG5hbWVzZSB0cmFuc2xhdGlvbiBmb3IgVXRpbC1MaW51eC4KKyMgQuG6o24gZOG7i2NoIHRp4bq/bmcgVmnhu4d0IGTDoG5oIGNobyB1dGlsLWxpbnV4LgorIyBDb3B5cmlnaHQgwqkgMjAxNSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIHV0aWwtbGludXggcGFja2FnZS4KKyMgUGhhbiBWaW5oIFRoaW5oIDx0ZXBwaTgyQGdtYWlsLmNvbT4sIDIwMDUtMjAwNy4KKyMgQ2x5dGllIFNpZGRhbGwgPGNseXRpZUByaXZlcmxhbmQubmV0LmF1PiwgMjAwNy0yMDEwLgorIyBUcuG6p24gTmfhu41jIFF1w6JuIDx2bndpbGRtYW5AZ21haWwuY29tPiwgMjAxMi0yMDE0LCAyMDE1LgorIworbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdXRpbC1saW51eC0yLjI2LXJjMlxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiB1dGlsLWxpbnV4QHZnZXIua2VybmVsLm9yZ1xuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE3LTAyLTIyIDEyOjMyKzAxMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE1LTAyLTE1IDA4OjMxKzA3MDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IFRy4bqnbiBOZ+G7jWMgUXXDom4gPHZud2lsZG1hbkBnbWFpbC5jb20+XG4iCisiTGFuZ3VhZ2UtVGVhbTogVmlldG5hbWVzZSA8dHJhbnNsYXRpb24tdGVhbS12aUBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCisiTGFuZ3VhZ2U6IHZpXG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0xOyBwbHVyYWw9MDtcbiIKKyJYLUdlbmVyYXRvcjogUG9lZGl0IDEuNS41XG4iCisiWC1Qb2VkaXQtU291cmNlQ2hhcnNldDogVVRGLThcbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxzdGFydD4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiICVzIDx0aGnhur90IGLhu4sgxJHEqWE+IDxz4buRIHBow6JuIHbDuW5nPiAgICA8xJEuxJHhuqd1PiA8xJHhu5kgZMOgaT5cbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTgKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIGV4aXN0ZW5jZSBvZiBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIkNobyBuaMOibiBiaeG6v3QgduG7gSBz4buxIHThu5NuIHThuqFpIGPhu6dhIG3hu5l0IHBow6JuIHbDuW5nIGNo4buJIMSR4buLbmguXG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjU2IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyNzYgZGlzay11dGlscy9ibG9ja2Rldi5jOjQyMAorIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ0NiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzQgZGlzay11dGlscy9kZWxwYXJ0LmM6NTcKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjcgZGlzay11dGlscy9mZGlzay5jOjcxOCBkaXNrLXV0aWxzL2ZkaXNrLmM6OTk0CisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozMDEgZGlzay11dGlscy9mZGlzay1saXN0LmM6MzQxCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNjAgZGlzay11dGlscy9mc2NrLmM6MTQ0OAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1NSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTEwCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMzQgZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4OQorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE3MyBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjYxCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzg4IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxOQorIzogZGlzay11dGlscy9ta3N3YXAuYzoyMTUgZGlzay11dGlscy9ta3N3YXAuYzoyNDQgZGlzay11dGlscy9wYXJ0eC5jOjk5NAorIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6NjQ3IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzAzCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc1NyBkaXNrLXV0aWxzL3NmZGlzay5jOjgxNiBkaXNrLXV0aWxzL3NmZGlzay5jOjg4MAorIzogZGlzay11dGlscy9zZmRpc2suYzo5MjEgZGlzay11dGlscy9zZmRpc2suYzo5NTEgZGlzay11dGlscy9zZmRpc2suYzo5ODgKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUzNyBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjYwIGxpYmZkaXNrL3NyYy9ic2QuYzo2NDEKKyM6IGxpYi9wYXRoLmM6NzAgbGliL3BhdGguYzo4MiBsb2dpbi11dGlscy9pc2xvY2FsLmM6ODcgbG9naW4tdXRpbHMvbGFzdC5jOjY3MgorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ0NiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDgzCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM1OQorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODEgbG9naW4tdXRpbHMvdmlwdy5jOjI1OCBsb2dpbi11dGlscy92aXB3LmM6Mjc2CisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDk3IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE4OCBtaXNjLXV0aWxzL21jb29raWUuYzoxMTUKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMDcgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODMgc3lzLXV0aWxzL2RtZXNnLmM6NTIyCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MDAgc3lzLXV0aWxzL2VqZWN0LmM6NzAwIHN5cy11dGlscy9mYWxsb2NhdGUuYzozNzQKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyOCBzeXMtdXRpbHMvZnN0cmltLmM6NzIgc3lzLXV0aWxzL2h3Y2xvY2suYzoyODIKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2Mzggc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTYyCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNTYgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDAxCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MjIgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDY5CisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozODggc3lzLXV0aWxzL25zZW50ZXIuYzoxMjggc3lzLXV0aWxzL3J0Y3dha2UuYzoxMzYKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MjcwIHN5cy11dGlscy9zZXRwcml2LmM6MjMwIHN5cy11dGlscy9zZXRwcml2LmM6NTI5CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1MiBzeXMtdXRpbHMvc3dhcG9uLmM6MzcxIHN5cy11dGlscy9zd2Fwb24uYzo1MTQKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2MyBzeXMtdXRpbHMvdW5zaGFyZS5jOjEwNiBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyMQorIzogc3lzLXV0aWxzL3dkY3RsLmM6MzIxIHN5cy11dGlscy93ZGN0bC5jOjM3NyB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MTgKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEyNyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQyNSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQzMQorIzogdGVybS11dGlscy9zY3JpcHQuYzo0MzMgdGVybS11dGlscy9zY3JpcHQuYzo1MjIKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTk3IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjAwCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozMzEgdGV4dC11dGlscy9jb2xjcnQuYzoyODIgdGV4dC11dGlscy9tb3JlLmM6NTEzCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjE0MSB0ZXh0LXV0aWxzL3RhaWxmLmM6NjggdGV4dC11dGlscy90YWlsZi5jOjEwMAorIzogdGV4dC11dGlscy91bC5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gJXMiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjU5IGRpc2stdXRpbHMvZGVscGFydC5jOjYwIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjk4Cittc2dpZCAiaW52YWxpZCBwYXJ0aXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICLEkeG7kWkgc+G7kSBz4buRIGzGsOG7o25nIHBow6JuIHbDuW5nIGtow7RuZyBo4bujcCBs4buHIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MAorbXNnaWQgImludmFsaWQgc3RhcnQgYXJndW1lbnQiCittc2dzdHIgIsSR4buRaSBz4buRIGto4bufaSDEkeG6p3Uga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYxIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwOAorbXNnaWQgImludmFsaWQgbGVuZ3RoIGFyZ3VtZW50IgorbXNnc3RyICJ0aGFtIHPhu5EgY2hp4buBdSBkw6BpIGtow7RuZyBo4bujcCBs4buHIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MgorbXNnaWQgImZhaWxlZCB0byBhZGQgcGFydGl0aW9uIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgdGjDqm0gcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo2MworbXNnaWQgInNldCByZWFkLW9ubHkiCittc2dzdHIgIsSR4bq3dCBjaOG7iS3EkeG7jWMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3MAorbXNnaWQgInNldCByZWFkLXdyaXRlIgorbXNnc3RyICLEkeG6t3QgxJHhu41jLXZp4bq/dCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjc2Cittc2dpZCAiZ2V0IHJlYWQtb25seSIKK21zZ3N0ciAibOG6pXkgY2jhu4ktxJHhu41jIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODIKK21zZ2lkICJnZXQgZGlzY2FyZCB6ZXJvZXMgc3VwcG9ydCBzdGF0dXMiCittc2dzdHIgImzhuqV5IHRy4bqhbmcgdGjDoWkgaOG7lyB0cuG7oyBz4buRIGtow7RuZyBsb+G6oWkgYuG7jyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjg4Cittc2dpZCAiZ2V0IGxvZ2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAibOG6pXkga8OtY2ggY+G7oSBraOG7kWkgbMO0Z8OtYyAoY3VuZyB04burKSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjk0Cittc2dpZCAiZ2V0IHBoeXNpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgImzhuqV5IGvDrWNoIGPhu6Ega2jhu5FpIHbhuq10IGzDvSAoY3VuZyB04burKSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwMAorbXNnaWQgImdldCBtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICJs4bqleSBrw61jaCBj4buhIFYvUiB04buRaSB0aGnhu4N1IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTA2Cittc2dpZCAiZ2V0IG9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgImzhuqV5IGvDrWNoIGPhu6EgVi9SIHThu5FpIMawdSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExMgorbXNnaWQgImdldCBhbGlnbm1lbnQgb2Zmc2V0IGluIGJ5dGVzIgorbXNnc3RyICJs4bqleSBraG/huqNuZyBjaMOqbmggb2Zmc2V0IHRoZW8gYnl0ZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExOAorbXNnaWQgImdldCBtYXggc2VjdG9ycyBwZXIgcmVxdWVzdCIKK21zZ3N0ciAibOG6pXkgc+G7kSB04buRaSDEkWEgY8OhYyBjdW5nIHThu6sgY2hvIG3hu5dpIHnDqnUgY+G6p3UiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMjQKK21zZ2lkICJnZXQgYmxvY2tzaXplIgorbXNnc3RyICJs4bqleSBrw61jaCBj4buhIGto4buRaSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzMQorbXNnaWQgInNldCBibG9ja3NpemUgb24gZmlsZSBkZXNjcmlwdG9yIG9wZW5pbmcgdGhlIGJsb2NrIGRldmljZSIKK21zZ3N0ciAixJHhurd0IGPhu6Ega2jhu5FpIHRyw6puIGLhu5kgbcO0IHThuqMgdOG6rXAgdGluIG3hu58gxJHhuqd1IHRoaeG6v3QgYuG7iyBraOG7kWkiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzcKK21zZ2lkICJnZXQgMzItYml0IHNlY3RvciBjb3VudCAoZGVwcmVjYXRlZCwgdXNlIC0tZ2V0c3opIgorbXNnc3RyICJs4bqleSBz4buRIGzGsOG7o25nIGN1bmcgdOG7qyAzMiBiaXQgKGtow7RuZyDEkcaw4bujYyBkw7luZywgc+G7rSBk4bulbmcgLS1nZXRzeikiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNDMKK21zZ2lkICJnZXQgc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAibOG6pXkga8OtY2ggY+G7oSB0w61uaCBi4bqxbmcgYnl0ZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1MAorbXNnaWQgInNldCByZWFkYWhlYWQiCittc2dzdHIgIsSR4bq3dCDEkeG7jWMgc+G6tW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTYKK21zZ2lkICJnZXQgcmVhZGFoZWFkIgorbXNnc3RyICJs4bqleSDEkeG7jWMgc+G6tW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjMKK21zZ2lkICJzZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgIsSR4bq3dCDEkeG7jWMgc+G6tW4gY2hvIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjkKK21zZ2lkICJnZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgImzhuqV5IMSR4buNYyBz4bq1biBjaG8gaOG7hyB0aOG7kW5nIHThuq1wIHRpbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3MworbXNnaWQgImZsdXNoIGJ1ZmZlcnMiCittc2dzdHIgIsSR4bqpeSBk4buvIGxp4buHdSBi4buZIMSR4buHbSBsw6puIMSRxKlhIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTc3Cittc2dpZCAicmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAixJHhu41jIGzhuqFpIGLhuqNuZyBwaMOibiB2w7luZyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICUxJHMgLVZcbiIKKyIgJTEkcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyIgJTEkcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyJcbiIKKyJBdmFpbGFibGUgY29tbWFuZHM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJDw6FjaCBkw7luZzpcbiIKKyIgJTEkcyAtVlxuIgorIiAlMSRzIC0tcmVwb3J0IFt0aGnhur90X2Lhu4tdXG4iCisiICUxJHMgWy12fC1xXSBs4buHbmggdGhp4bq/dF9i4buLXG4iCisiXG4iCisiQ8OhYyBs4buHbmggc+G6tW4gY8OzOlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlLTI1cyBnZXQgc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzXG4iCittc2dzdHIgIiAlLTI1cyBs4bqleSBrw61jaCBj4buhIHRoZW8gY3VuZyB04burIGzDoCA1MTIgYnl0ZVxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzExCittc2dpZCAiY291bGQgbm90IGdldCBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IGvDrWNoIHRoxrDhu5tjIHRoaeG6v3QgYuG7iyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGNvbW1hbmQ6ICVzIgorbXNnc3RyICJLaMO0bmcgaGnhu4N1IGPDonUgbOG7h25oOiAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXMgecOqdSBj4bqndSBt4buZdCDEkeG7kWkgc+G7kSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM2OCBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGVycm9yIG9uICVzIgorbXNnc3RyICJs4buXaSBpb2N0bCB0csOqbiAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQuXG4iCittc2dzdHIgIiVzIGfhurdwIGzhu5dpLlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiJXMgdGjDoG5oIGPDtG5nLlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzeXNmcyBoYW5kbGVyIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kgZ2hpIGto4bufaSB04bqhbyBi4buZIHRp4bq/cCBo4bujcCBzeXNmcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHN0YXJ0IGZyb20gc3lzZnMiCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgxJHhu41jIGLhuq90IMSR4bqndSBwaMOibiB2w7luZyB04burIHN5c2ZzICho4buHIHRo4buRbmcgdOG6rXAgdGluIGjhu4cgdGjhu5FuZykiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk8gICAgUkEgICBTU1ogICBCU1ogICBTdGFydFNlYyAgICAgICAgICAgIFNpemUgICBEZXZpY2VcbiIKK21zZ3N0ciAiUk8gICAgUkEgICBTU1ogICBCU1ogICBDdW5nxJDhuqd1ICAgICAgICAgICAgIEPhu6EgICAgIFRoaeG6v3QgYuG7i1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3OQorbXNnaWQgIkJvb3RhYmxlIgorbXNnc3RyICJDw7MgdGjhu4Mga2jhu59pIMSR4buZbmciCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTc5Cittc2dpZCAiVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJC4bq3dCB04bqvdCBraOG6oyBuxINuZyBraOG7n2kgxJHhu5luZyBj4bunYSBwaMOibiB2w7luZyBoaeG7h24gdOG6oWkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgwCittc2dpZCAiRGVsZXRlIgorbXNnc3RyICJYw7NhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MAorbXNnaWQgIkRlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIljDs2EgcGjDom4gdsO5bmcgaGnhu4duIHThuqFpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MQorbXNnaWQgIk5ldyIKK21zZ3N0ciAiVOG6oW8gbeG7m2kiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgxCittc2dpZCAiQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICJU4bqhbyBt4buZdCBwaMOibiB2w7luZyBt4bubaSB04burIHbDuW5nIMSRxKlhIHRy4buRbmciCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgyCittc2dpZCAiUXVpdCIKK21zZ3N0ciAiVGhvw6F0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MgorIywgZnV6enkKK21zZ2lkICJRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIGNoYW5nZXMiCittc2dzdHIgIlRob8OhdCBjaMawxqFuZyB0csOsbmggdsOgIGtow7RuZyBnaGkgbOG6oWkgYuG6o25nIHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MyBsaWJmZGlzay9zcmMvYnNkLmM6NDM5IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIwCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNiBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MAorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMTYKK21zZ2lkICJUeXBlIgorbXNnc3RyICJLaeG7g3UiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgzCittc2dpZCAiQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAixJDhu5VpIGtp4buDdSBj4bunYSBwaMOibiB2w7luZyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQKK21zZ2lkICJIZWxwIgorbXNnc3RyICJUcuG7oyBnacO6cCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQKK21zZ2lkICJQcmludCBoZWxwIHNjcmVlbiIKK21zZ3N0ciAiSGnhu4NuIHRo4buLIG3DoG4gaMOsbmggdHLhu6MgZ2nDunAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1Cittc2dpZCAiU29ydCIKK21zZ3N0ciAiU+G6r3AgeOG6v3AiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1Cittc2dpZCAiRml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIlPhu61hIHRo4bupIHThu7EgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiV3JpdGUiCittc2dzdHIgIkdoaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAodGhpcyBtaWdodCBkZXN0cm95IGRhdGEpIgorbXNnc3RyICJHaGkgYuG6o25nIHBow6JuIHbDuW5nIGzDqm4gxJHEqWEgKGPDsyB0aOG7gyBo4buneSBk4buvIGxp4buHdSkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRHVtcCIKK21zZ3N0ciAixJDhu5UiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRHVtcCBwYXJ0aXRpb24gdGFibGUgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIsSQ4buVIGLhuqNuZyBwaMOibiB2w7luZyByYSB04bqtcCB0aW4gdsSDbiBsw6puaCB0xrDGoW5nIHRow61jaCBzZmRpc2siCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6NjIwIGRpc2stdXRpbHMvZmRpc2suYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVuc3VwcG9ydGVkIGRpYWxvZyB0eXBlICVkIgorbXNnc3RyICJs4buXaSBu4buZaSBi4buZOiBraMO0bmcgaOG7lyB0cuG7oyBraeG7g3UgaOG7mXAgdGhv4bqhaSAlZCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAobW91bnRlZCkiCittc2dzdHIgIiVzIGNoxrBhIMSRxrDhu6NjIGfhuq9uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyNzQKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIG5hbWU6IgorbXNnc3RyICJ0w6puIHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyODEKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIFVVSUQ6IgorbXNnc3RyICJVVUlEIHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyOTMKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHR5cGU6IgorbXNnc3RyICJLaeG7g3UgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMwMAorIywgZnV6enkKK21zZ2lkICJBdHRyaWJ1dGVzOiIKK21zZ3N0ciAiQXR0cnMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMyNAorIywgZnV6enkKK21zZ2lkICJGaWxlc3lzdGVtIFVVSUQ6IgorbXNnc3RyICJVVUlEIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMzMQorIywgZnV6enkKK21zZ2lkICJGaWxlc3lzdGVtIExBQkVMOiIKK21zZ3N0ciAiTkjDg04gaOG7hyB0aOG7kW5nIHThuq1wIHRpbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzM3CisjLCBmdXp6eQorbXNnaWQgIkZpbGVzeXN0ZW06IgorbXNnc3RyICJo4buHIHRo4buRbmcgdGjGsCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzQyCisjLCBmdXp6eQorbXNnaWQgIk1vdW50cG9pbnQ6IgorbXNnc3RyICLEkWnhu4NtIGfhuq9uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzazogJXMiCittc2dzdHIgIsSQxKlhOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlNpemU6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICJD4buhOiAlcywgJWp1IGJ5dGUsICVqdSBjdW5nIHThu6siCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY5MAorIywgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMsIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJOaMOjbjogJXMsIMSQ4buLbmggZGFuaCDEkcSpYTogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY5MworIywgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMiCittc2dzdHIgIk5ow6NuOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQ2Cittc2dpZCAiTWF5IGJlIGZvbGxvd2VkIGJ5IE0gZm9yIE1pQiwgRyBmb3IgR2lCLCBUIGZvciBUaUIsIG9yIFMgZm9yIHNlY3RvcnMuIgorbXNnc3RyICJDw7MgdGjhu4MgdGhlbyBzYXUgYuG6sW5nIE0gY2hvIE1pQiwgRyBjaG8gR2lCICxUIGNobyBUaUIgLCBoYXkgUyBjaG8gY3VuZyB04burLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODUyCittc2dpZCAiUGxlYXNlLCBzcGVjaWZ5IHNpemUuIgorbXNnc3RyICJWdWkgbMOybmcgY2hvIGJp4bq/dCBrw61jaCBj4buhLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODc0CisjLCBjLWZvcm1hdAorbXNnaWQgIk1pbmltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICJD4buhIHThu5FpIHRoaeG7g3UgbMOgICVqdSBieXRlLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgzCisjLCBjLWZvcm1hdAorbXNnaWQgIk1heGltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICJD4buhIHThu5FpIMSRYSBsw6AgJWp1IGJ5dGUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OTAKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2l6ZS4iCittc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBjw7ogcGjDoXAga8OtY2ggY+G7oS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0OAorbXNnaWQgIlNlbGVjdCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiQ2jhu41uIGtp4buDdSBwaMOibiB2w7luZyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTk0IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAyNAorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWU6ICIKK21zZ3N0ciAiTmjhuq1wIHbDoG8gdMOqbiB04bqtcCB0aW4gYsOzIGzhu4duaDogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5OTUKK21zZ2lkICJUaGUgc2NyaXB0IGZpbGUgd2lsbCBiZSBhcHBsaWVkIHRvIGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJU4bqtcCB0aW4gdsSDbiBs4buHbmggc+G6vSDEkcaw4bujYyDDoXAgZOG7pW5nIHbDoG8gYuG6o25nIHBow6JuIHbDuW5nIHRyb25nIGLhu5kgbmjhu5suIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMDQgZGlzay11dGlscy9jZmRpc2suYzoyMDQ2CisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NjUgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgbeG7nyAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDA2IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2NworIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBjw7ogcGjDoXAgY+G7p2EgdOG6rXAgdGluIHbEg24gbOG7h25oICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMDggZGlzay11dGlscy9mZGlzay1tZW51LmM6NDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgJXMiCittc2dzdHIgIkfhurdwIGzhu5dpIGtoaSDDoXAgZOG7pW5nIHbEg24gbOG7h25oICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjUKK21zZ2lkICJUaGUgY3VycmVudCBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlIHdpbGwgYmUgZHVtcGVkIHRvIHRoZSBmaWxlLiIKK21zZ3N0ciAiQuG6o25nIHBow6JuIHbDuW5nIHRyb25nIGLhu5kgbmjhu5sgaGnhu4duIHThuqFpIHPhur0gxJHGsOG7o2MgxJHhu5UgdGjDoG5oIHThuq1wIHRpbi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0OTEKK21zZ2lkICJGYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBj4bqlcCBwaMOhdCBjw6FuIGPhu6dhIHbEg24gbOG7h25oIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzkKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBkaXNrIGxheW91dCBpbnRvIHNjcmlwdC4iCittc2dzdHIgIkfhurdwIGzhu5dpIGtoaSDEkeG7jWMgYuG7kSBj4bulYyDEkcSpYSB2w6BvIHbEg24gbOG7h25oLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDUzCittc2dpZCAiRGlzayBsYXlvdXQgc3VjY2Vzc2Z1bGx5IGR1bXBlZC4iCittc2dzdHIgIkLhu5EgY+G7pWMgxJHEqWEgxJHDoyDEkcaw4bujYyDEkeG7lSB0aMOgbmggY8O0bmcuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNTYgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBzY3JpcHQgJXMiCittc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBnaGkgdsSDbiBs4buHbmggJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA5MgorbXNnaWQgIlNlbGVjdCBsYWJlbCB0eXBlIgorbXNnc3RyICJDaOG7jW4ga2nhu4N1IG5ow6NuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwOTUgZGlzay11dGlscy9mZGlzay5jOjEwMTcKK21zZ2lkICJEZXZpY2UgZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiVGhp4bq/dCBi4buLIGtow7RuZyBjaOG7qWEgYuG6o25nIHBow6JuIHbDuW5nIMSRxrDhu6NjIGJp4bq/dC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjEwMQorbXNnaWQgIlNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGxhYmVsIG9yIHByZXNzICdMJyB0byBsb2FkIHNjcmlwdCBmaWxlLiIKK21zZ3N0ciAiQ2jhu41uIG3hu5l0IGtp4buDdSDEkeG7gyB04bqhbyBt4buZdCBuaMOjbiBt4bubaSBob+G6t2MgbmjhuqVuIOKAnEzigJ0gxJHhu4MgdOG6o2kgdOG6rXAgdGluIHbEg24gbOG7h25oLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ2Cittc2dpZCAiVGhpcyBpcyBjZmRpc2ssIGEgY3Vyc2VzLWJhc2VkIGRpc2sgcGFydGl0aW9uaW5nIHByb2dyYW0uIgorbXNnc3RyICLEkMOieSBsw6AgY2ZkaXNrLCBt4buZdCBjaMawxqFuZyB0csOsbmggcGjDom4gdsO5bmcgxJHEqWEgZOG7sWEgdHLDqm4gY3Vyc2VzLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ3Cittc2dpZCAiSXQgbGV0cyB5b3UgY3JlYXRlLCBkZWxldGUsIGFuZCBtb2RpZnkgcGFydGl0aW9ucyBvbiBhIGJsb2NrIGRldmljZS4iCittc2dzdHIgImNoxrDGoW5nIHRyw6xuaCBjaG8gcGjDqXAgYuG6oW4gdOG6oW8sIHjDs2EgdsOgIHPhu61hIMSR4buVaSBjw6FjIHBow6JuIHbDuW5nIHRyw6puIG3hu5l0IHRoaeG6v3QgYuG7iyBraOG7kWkuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDkKK21zZ2lkICJDb21tYW5kICAgICAgTWVhbmluZyIKK21zZ3N0ciAiQ8OidSBs4buHbmggICAgIMOdIG5naMSpYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUwCittc2dpZCAiLS0tLS0tLSAgICAgIC0tLS0tLS0iCittc2dzdHIgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTEKK21zZ2lkICIgIGIgICAgICAgICAgVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGIgICAgICAgICAgQuG6rXQvdOG6r3Qga2jhuqMgbsSDbmcga2jhu59pIMSR4buZbmcgY+G7p2EgcGjDom4gdsO5bmcgaGnhu4duIHThuqFpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTIKK21zZ2lkICIgIGQgICAgICAgICAgRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBkICAgICAgICAgIFjDs2EgcGjDom4gdsO5bmcgaGnhu4duIHThuqFpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTMKK21zZ2lkICIgIGggICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCittc2dzdHIgIiAgaCAgICAgICAgICBIaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU0Cittc2dpZCAiICBuICAgICAgICAgIENyZWF0ZSBuZXcgcGFydGl0aW9uIGZyb20gZnJlZSBzcGFjZSIKK21zZ3N0ciAiICBuICAgICAgICAgIFThuqFvIG3hu5l0IHBow6JuIHbDuW5nIG3hu5tpIHThu6sga2jDtG5nIGdpYW4gdHLhu5FuZyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU1Cittc2dpZCAiICBxICAgICAgICAgIFF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgIHEgICAgICAgICAgVGhvw6F0IGto4buPaSBjaMawxqFuZyB0csOsbmggdsOgIGtow7RuZyBnaGkgbOG6oWkgYuG6o25nIHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTYKK21zZ2lkICIgIHMgICAgICAgICAgRml4IHBhcnRpdGlvbnMgb3JkZXIgKG9ubHkgd2hlbiBpbiBkaXNhcnJheSkiCittc2dzdHIgIiAgcyAgICAgICAgICBT4butYSB0aOG7qSB04buxIGPDoWMgcGjDom4gdsO5bmcgKGNo4buJIGtoaSBjw7MgeMOhbyB0cuG7mW4pIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTcKK21zZ2lkICIgIHQgICAgICAgICAgQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiICB0ICAgICAgICAgIFRoYXkgxJHhu5VpIGtp4buDdSBwaMOibiB2w7luZyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU4Cittc2dpZCAiICB1ICAgICAgICAgIER1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIiAgdSAgICAgICAgICDEkOG7lSBi4buRIGPhu6VjIMSRxKlhIHJhIHThuq1wIHRpbiB0xrDGoW5nIHRow61jaCB24bubaSB2xINuIGzhu4duaCBzZmRpc2siCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1OQorbXNnaWQgIiAgVyAgICAgICAgICBXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAoeW91IG11c3QgZW50ZXIgdXBwZXJjYXNlIFcpOyIKK21zZ3N0ciAiICBXICAgICAgICAgIEdoaSBi4bqjbmcgcGjDom4gdsO5bmcgbMOqbiDEkcSpYSAoY+G6p24gbmjhuq1wIGNo4buvIFcgaG9hKTsiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MAorbXNnaWQgIiAgICAgICAgICAgICAgIHNpbmNlIHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhIG9uIHRoZSBkaXNrLCB5b3UgbXVzdCBlaXRoZXIiCittc2dzdHIgIiAgICAgICAgICAgICAgIHbDrCBjw6J1IGzhu4duaCBjw7MgdGjhu4MgaOG7p3kgZOG7ryBsaeG7h3UgdHLDqm4gxJHEqWEsIGLhuqFuIGPhuqduIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjEKK21zZ2lkICIgICAgICAgICAgICAgICBjb25maXJtIG9yIGRlbnkgdGhlIHdyaXRlIGJ5IGVudGVyaW5nICd5ZXMnIG9yICdubyciCittc2dzdHIgIiAgICAgICAgICAgICAgIGhv4bq3YyDEkeG7k25nIMO9IGhv4bq3YyBo4buneSBi4buPIHZp4buHYyBnaGkgYuG6sW5nIGPDoWMgbmjhuq1wIFwieWVzXCIgKGPDsykgaG/hurdjIFwibm9cIiAoa2jDtG5nKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYyCisjLCBmdXp6eQorbXNnaWQgIiAgeCAgICAgICAgICBEaXNwbGF5L2hpZGUgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIiAtViAgICAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MworbXNnaWQgIlVwIEFycm93ICAgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgcGFydGl0aW9uIgorbXNnc3RyICJNxalpIHTDqm4gbMOqbiAgRGkgY2h1eeG7g24gY29uIHRy4buPIHThu5tpIHBow6JuIHbDuW5nIOG7nyB0csaw4bubYyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY0Cittc2dpZCAiRG93biBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IHBhcnRpdGlvbiIKK21zZ3N0ciAiTcWpaSB0w6puIHh14buRbmcgRGkgY2h1eeG7g24gY29uIHRy4buPIHThu5tpIHBow6JuIHbDuW5nIHRp4bq/cCB0aGVvIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjUKK21zZ2lkICJMZWZ0IEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIG1lbnUgaXRlbSIKK21zZ3N0ciAiTcWpaSB0w6puIHRyw6FpIERpIGNodXnhu4NuIGNvbiB0cuG7jyB04bubaSBt4bulYyDEkcahbiBr4bq/IHRyxrDhu5tjIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjYKK21zZ2lkICJSaWdodCBBcnJvdyAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgbWVudSBpdGVtIgorbXNnc3RyICJNxalpIHTDqm4gcGjhuqNpIERpIGNodXnhu4NuIGNvbiB0cuG7jyB04bubaSBt4bulYyDEkcahbiBr4bq/IHRp4bq/cCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY4Cittc2dpZCAiTm90ZTogQWxsIG9mIHRoZSBjb21tYW5kcyBjYW4gYmUgZW50ZXJlZCB3aXRoIGVpdGhlciB1cHBlciBvciBsb3dlciIKK21zZ3N0ciAiQ2jDuiDDvTogQ8OzIHRo4buDIG5o4bqtcCB04bqldCBj4bqjIGPDoWMgY8OidSBs4buHbmggduG7m2kgY2jhu68gdGjGsOG7nW5nIHbDoCBjaOG7ryBob2EiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2OQorbXNnaWQgImNhc2UgbGV0dGVycyAoZXhjZXB0IGZvciBXcml0ZSkuIgorbXNnc3RyICJjaOG7ryBIT0EgKG5nb+G6oWkgdHLhu6sgbOG7h25oIFdyaXRlIFtnaGldKS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3MQorbXNnaWQgIlVzZSBsc2Jsayg4KSBvciBwYXJ0eCg4KSB0byBzZWUgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBkZXZpY2UuIgorbXNnc3RyICJEw7luZyBsc2Jsayg4KSBoYXkgcGFydHgoOCkgxJHhu4MgeGVtIHRow7RuZyB0aW4gY2hpIHRp4bq/dCBoxqFuIHbhu4EgdGhp4bq/dCBi4buLLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzNworbXNnaWQgIlByZXNzIGEga2V5IHRvIGNvbnRpbnVlLiIKK21zZ3N0ciAiTmjhuqVuIG3hu5l0IHBow61tIMSR4buDIHRp4bq/cCB04bulYy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI2MAorbXNnaWQgIkNvdWxkIG5vdCB0b2dnbGUgdGhlIGZsYWcuIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgYuG6rXQvdOG6r3QgY+G7nS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgeMOzYSBwaMOibiB2w7luZyAlenUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNzIgZGlzay11dGlscy9mZGlzay1tZW51LmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaGFzIGJlZW4gZGVsZXRlZC4iCittc2dzdHIgIlBow6JuIHbDuW5nICV6dSDEkcOjIGLhu4sgeMOzYSBi4buPLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjkzCittc2dpZCAiUGFydGl0aW9uIHNpemU6ICIKK21zZ3N0ciAiQ+G7oSBwaMOibiB2w7luZzogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICLEkOG7lWkga2nhu4N1IGPhu6dhIHBow6JuIHbDuW5nIOKAnCV6deKAnS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgdHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIktp4buDdSBj4bunYSBwaMOibiB2w7luZyDigJwlenXigJ0gY2jGsGEgdGhheSDEkeG7lWkuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNTMgZGlzay11dGlscy9jZmRpc2suYzoyNDY2IGRpc2stdXRpbHMvZmRpc2suYzo5OTEKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU3MAorbXNnaWQgIkRldmljZSBpcyBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIKK21zZ3N0ciAiVGhp4bq/dCBi4buLIMSRxrDhu6NjIG3hu58gdHJvbmcgY2jhur8gxJHhu5kgY2jhu4kgY2hvIMSR4buNYy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM1OAorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAiQuG6oW4gY8OzIGNo4bqvYyBtdeG7kW4gZ2hpIGLhuqNuZyBwaMOibiB2w7luZyBsw6puIMSRxKlhIGtow7RuZz8gIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNjAKK21zZ2lkICJUeXBlIFwieWVzXCIgb3IgXCJub1wiLCBvciBwcmVzcyBFU0MgdG8gbGVhdmUgdGhpcyBkaWFsb2cuIgorbXNnc3RyICJHw7UgXCJjw7NcIiBob+G6t2MgXCJraMO0bmdcIiBoYXkgbmjhuqVuIEVTQyDEkeG7gyDEkeG7gyBs4bqhaSBo4buZcCB0aG/huqFpLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzY1IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE1NDAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1NTAKK21zZ2lkICJ5ZXMiCittc2dzdHIgImPDsyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzY2Cittc2dpZCAiRGlkIG5vdCB3cml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4iCittc2dzdHIgIktow7RuZyBnaGkgYuG6o25nIHBow6JuIHbDuW5nIGzDqm4gxJHEqWEuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzEKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsLiIKK21zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIGdoaSBuaMOjbiDEkcSpYS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3NCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzgKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICJC4bqjbmcgcGjDom4gdsO5bmcgxJHDoyBi4buLIHRoYXkgxJHhu5VpISIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzk3IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ2OAorbXNnaWQgIk5vdGUgdGhhdCBwYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIgbm93LiIKK21zZ3N0ciAiQ8OhYyBt4bulYyB0cm9uZyBi4bqjbmcgcGjDom4gdsO5bmcgaGnhu4duIGdp4budIGtow7RuZyDEkcO6bmcgbmjGsCB0aOG7qSB04buxIG5oxrAg4bufIHRyw6puIMSRxKlhLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlOyBpdCB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDUKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGRpc2tsYWJlbCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHThuqFvIG5ow6NuIMSRxKlhIG3hu5tpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NTMKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb25zIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhu41jIGPDoWMgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJTEkcyBbb3B0aW9uc10gPGRpc2s+XG4iCittc2dzdHIgIiAlMSRzIFtjw6FjLXTDuXktY2jhu41uXSA8xJHEqWE+XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0OSBkaXNrLXV0aWxzL2ZkaXNrLmM6NzM2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMAorbXNnaWQgIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSBhIGRpc2sgcGFydGl0aW9uIHRhYmxlLlxuIgorbXNnc3RyICJIaeG7g24gdGjhu4sgaGF5IHRoYW8gdMOhYyB24bubaSBi4bqjbmcgcGjDom4gdsO5bmcgxJHEqWEuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU1MgorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIiCisiIC1MIC0tY29sb3JbPTxraGk+XSAgICAgIHTDtCBzw6FuZyBr4bq/dCB4deG6pXQgPGtoaT46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAoYXV0byAgICB04buxIMSR4buZbmcsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx3YXlzICBsdcO0biBob+G6t2NcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXZlciAgIGtow7RuZyBiYW8gZ2nhu50pXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU1NQorIywgZnV6enkKK21zZ2lkICIgLXosIC0temVybyAgICAgICAgICAgICAgIHN0YXJ0IHdpdGggemVyb2VkIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgLXogLS16ZXJvICAgICAgICAgICAgICAgYuG6r3QgxJHhuqd1IHbhu5tpIGLhuqNuZyBwaMOibiB2w7luZyDEkcaw4bujYyB4w7NhIHRy4bqvbmdcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTk0IGRpc2stdXRpbHMvZmRpc2suYzo4ODIgZGlzay11dGlscy9zZmRpc2suYzoyMDc3CisjOiBtaXNjLXV0aWxzL2NhbC5jOjM5MCBzeXMtdXRpbHMvZG1lc2cuYzoxMzMzIHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNAorbXNnaWQgInVuc3VwcG9ydGVkIGNvbG9yIG1vZGUiCittc2dzdHIgImtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujIHTDtCBtw6B1IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MTIgZGlzay11dGlscy9mZGlzay5jOjgxOCBkaXNrLXV0aWxzL3NmZGlzay5jOjIyMworbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gYuG7lSBuZ+G7ryBj4bqjbmggbGliZmRpc2siCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPlxuIgorbXNnc3RyICIgJXMgPHRoaeG6v3QtYuG7iz4gICAgPHPhu5EtcGjDom4tdsO5bmc+XG4iCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjE4Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIHRvIGZvcmdldCBhYm91dCBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIlnDqnUgY+G6p3UgaOG6oXQgbmjDom4gcXXDqm4gcGjDom4gdsO5bmcgY2jhu4kgxJHhu4tuaC5cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6NjEKK21zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlIHBhcnRpdGlvbiIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGfhu6EgYuG7jyBwaMOibiB2w7luZyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcm1hdHRpbmcgLi4uICIKK21zZ3N0ciAixJBhbmcgxJHhu4tuaCBk4bqhbmcg4oCmICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjY4IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG9uZVxuIgorbXNnc3RyICJ4b25nXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJWZXJpZnlpbmcgLi4uICIKK21zZ3N0ciAixJBhbmcga2nhu4NtIHRyYSDigKYgIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTA4Cittc2dpZCAiUmVhZDogIgorbXNnc3RyICLEkOG7jWM6ICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJQcm9ibGVtIHJlYWRpbmcgdHJhY2svaGVhZCAldS8ldSwgZXhwZWN0ZWQgJWQsIHJlYWQgJWRcbiIKK21zZ3N0ciAiQ8OzIHbhuqVuIMSR4buBIGtoaSDEkeG7jWMgcsOjbmgvxJHhuqd1ICV1LyV1LCBj4bqnbiAlZCwgbmjhuq1uIMSRxrDhu6NjICVkXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImJhZCBkYXRhIGluIHRyYWNrL2hlYWQgJXUvJXVcbiIKKyJDb250aW51aW5nIC4uLiAiCittc2dzdHIgIiIKKyJk4buvIGxp4buHdSBzYWkgdOG6oWkgcsOjbmgvxJHhuqd1ICV1LyV1XG4iCisixJBhbmcgdGnhur9wIHThu6VjIOKApiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTgyCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjExNyBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1NiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg0CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorbXNnc3RyICIlcyBbY8OhYy10w7l5LWNo4buNbl0gPHRoaeG6v3QtYuG7iz5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0OAorbXNnaWQgIkRvIGEgbG93LWxldmVsIGZvcm1hdHRpbmcgb2YgYSBmbG9wcHkgZGlzay5cbiIKK21zZ3N0ciAiVGjhu7FjIGhp4buHbiDEkeG7i25oIGThuqFuZyDEkcSpYSBt4buBbSDhu58gbeG7qWMgdGjhuqVwLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUxCittc2dpZCAiIC1mLCAtLWZyb20gPE4+ICAgIHN0YXJ0IGF0IHRoZSB0cmFjayBOIChkZWZhdWx0IDApXG4iCittc2dzdHIgIiAtZiwgLS1mcm9tIDxOPiAgICBi4bqvdCDEkeG6p3UgdOG6oWkgcsOjbmggTiAoZGVmYXVsdCAwKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUyCittc2dpZCAiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgYXQgdGhlIHRyYWNrIE5cbiIKK21zZ3N0ciAiIC10LCAtLXRvIDxOPiAgICAgIGThu6tuZyB04bqhaSByw6NuaCBOXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTMKK21zZ2lkICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIHRyeSB0byByZXBhaXIgdHJhY2tzIGZhaWxlZCBkdXJpbmdcbiIKKyIgICAgICAgICAgICAgICAgICAgICB0aGUgdmVyaWZpY2F0aW9uIChtYXggTiByZXRyaWVzKVxuIgorbXNnc3RyICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIGPhu5Egc+G7rWEgY8OhYyByw6NuaCBi4buLIGzhu5dpIHRyb25nIHF1w6EgdHLDrG5oXG4iCisiICAgICAgICAgICAgICAgICAgICAgdGjhuqltIHRyYSAodOG7kWkgxJFhIE4gbOG6p24gdGjhu60pXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTUKK21zZ2lkICIgLW4sIC0tbm8tdmVyaWZ5ICAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLXZlcmlmeSAgIHThuq90IHRo4bqpbSB0cmEgc2F1IGtoaSDEkeG7i25oIGThuqFuZ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIGZyb20iCittc2dzdHIgIsSR4buRaSBz4buRIGtow7RuZyBo4bujcCBs4buHIC0gdOG7qyAoZnJvbSkiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTgKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gdG8iCittc2dzdHIgIsSR4buRaSBz4buRIGtow7RuZyBo4bujcCBs4buHIC0gxJHhur9uICh0bykiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMDEKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gcmVwYWlyIgorbXNnc3RyICLEkeG7kWkgc+G7kSBraMO0bmcgaOG7o3AgbOG7hyAtIHPhu61hIGNo4buvYSAocmVwYWlyKSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyMSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTUxCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg1IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMzgKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4NQorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE2IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQxIGRpc2stdXRpbHMvcGFydHguYzo5MzMKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo2ODYgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzkgbWlzYy11dGlscy9uYW1laS5jOjEzNQorIzogbWlzYy11dGlscy9yZW5hbWUuYzo2MyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4NiBzeXMtdXRpbHMvZG1lc2cuYzo1MjQKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxOTggc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTMxIHN5cy11dGlscy9mc3RyaW0uYzo3NworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjUxOSBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo5MworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTMzIHRlcm0tdXRpbHMvbWVzZy5jOjEyOSB0ZXh0LXV0aWxzL21vcmUuYzo1MDQKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxMDMgdGV4dC11dGlscy90YWlsZi5jOjI4MAorIywgYy1mb3JtYXQKK21zZ2lkICJzdGF0IG9mICVzIGZhaWxlZCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGzhu5dpIGzhuqV5IHRo4buRbmcga8OqIHThuq1wIHRpbiAlcyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNCBkaXNrLXV0aWxzL3BhcnR4LmM6OTkxIG1pc2MtdXRpbHMvbHNibGsuYzoxNDg1CisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4OCBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczoga2jDtG5nIHBo4bqjaSBsw6AgdGhp4bq/dCBi4buLIGto4buRaSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyOQorbXNnaWQgImNvdWxkIG5vdCBkZXRlcm1pbmUgY3VycmVudCBmb3JtYXQgdHlwZSIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHjDoWMgxJHhu4tuaCDEkcaw4bujYyBraeG7g3UgxJHhu4tuaCBk4bqhbmcgaGnhu4duIHThuqFpIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzLXNpZGVkLCAlZCB0cmFja3MsICVkIHNlYy90cmFjay4gVG90YWwgY2FwYWNpdHkgJWQga0IuXG4iCittc2dzdHIgIiVzLW3hurd0LCAlZCByw6NuaCwgJWQgY3VuZy9yw6NuaC4gVOG7lW5nIGR1bmcgbMaw4bujbmcgJWQga0IuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzIKK21zZ2lkICJEb3VibGUiCittc2dzdHIgIkvDqXAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzIKK21zZ2lkICJTaW5nbGUiCittc2dzdHIgIsSQxqFuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM5Cittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICJyw6NuaCBi4bqvdCDEkeG6p3UgZG8gbmfGsOG7nWkgZMO5bmcgxJHhu4tuaCBuZ2jEqWEgxJHDoyB2xrDhu6N0IHF1w6Egc+G7kSBs4bubbiBuaOG6pXQgcmnDqm5nIGJp4buHdCB0cnVuZyBiw6xuaCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MQorbXNnaWQgInVzZXIgZGVmaW5lZCBlbmQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgInLDo25oIGN14buRaSBkbyBuZ8aw4budaSBkw7luZyDEkeG7i25oIG5naMSpYSDEkcOjIHbGsOG7o3QgcXXDoSBz4buRIGzhu5tuIG5o4bqldCByacOqbmcgYmnhu4d0IHRydW5nIGLDrG5oIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQzCittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIHVzZXIgZGVmaW5lZCBlbmQgdHJhY2siCittc2dzdHIgInLDo25oIGLhuq90IMSR4bqndSBkbyBuZ8aw4budaSBkw7luZyDEkeG7i25oIG5naMSpYSDEkcOjIHbGsOG7o3QgcXXDoSDEkWnhu4NtIGN14buRaSDEkcaw4bujYyBuZ8aw4budaSBkw7luZyDEkeG7i25oIG5naMSpYSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI1MSBtaXNjLXV0aWxzL2xvZ2dlci5jOjk4NworbXNnaWQgImNsb3NlIGZhaWxlZCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSRw7NuZyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk1IGRpc2stdXRpbHMvZmRpc2suYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkRvIHlvdSByZWFsbHkgd2FudCB0byBxdWl0PyAiCittc2dzdHIgIiIKKyJcbiIKKyJC4bqhbiB0aOG7sWMgc+G7sSBtdeG7kW4gdGhvw6F0IGtow7RuZz8gIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdCAoZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiQ2jhu41uICht4bq3YyDEkeG7i25oICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIGRlZmF1bHQgcmVzcG9uc2UgJWMuIgorbXNnc3RyICJT4butIGThu6VuZyDEkcOhcCDhu6luZyBt4bq3YyDEkeG7i25oICVjIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTc2IGRpc2stdXRpbHMvZmRpc2suYzoyNTAgZGlzay11dGlscy9mZGlzay5jOjMyNQorIzogbGliZmRpc2svc3JjL2Rvcy5jOjExODkgbGliZmRpc2svc3JjL2dwdC5jOjIyNzcKK21zZ2lkICJWYWx1ZSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJHacOhIHRy4buLIG7hurFtIG5nb8OgaSBwaOG6oW0gdmkuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCVzLCBt4bq3YyDEkeG7i25oICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA4IGRpc2stdXRpbHMvZmRpc2suYzoyNzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglcywgbeG6t2MgxJHhu4tuaCAlanUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJWMtJWMsIG3hurdjIMSR4buLbmggJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMTcgZGlzay11dGlscy9mZGlzay5jOjI3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJWp1LSVqdSwgbeG6t2MgxJHhu4tuaCAlanUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjKTogIgorbXNnc3RyICIlcyAoJWMtJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMjMgZGlzay11dGlscy9mZGlzay5jOjI4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglanUtJWp1KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MzkyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk3Cittc2dpZCAiIFtZXWVzL1tOXW86ICIKK21zZ3N0ciAiIFtDXcOzL1tLXWjDtG5nOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0MzMKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSAodHlwZSBMIHRvIGxpc3QgYWxsIHR5cGVzKTogIgorbXNnc3RyICJLaeG7g3UgcGjDom4gdsO5bmcgKGfDtSBMIMSR4buDIGxp4buHdCBrw6ogdOG6pXQgY+G6oyBjw6FjIGtp4buDdSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQzNAorbXNnaWQgIkhleCBjb2RlICh0eXBlIEwgdG8gbGlzdCBhbGwgY29kZXMpOiAiCittc2dzdHIgIk3DoyBIZXggKGfDtSBMIMSR4buDIGxp4buHdCBrw6ogdOG6pXQgY+G6oyBjw6FjIG3Doyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjUzNgorbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgc2V0IChERVBSRUNBVEVEISkiCittc2dzdHIgIkPhu50gdMawxqFuZyB0aMOtY2ggduG7m2kgRE9TIMSRxrDhu6NjIMSR4bq3dCAoxJDDgyBM4buWSSBUSOG7nEkhKSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjUzNworbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgbm90IHNldCIKK21zZ3N0ciAiQ+G7nSB0xrDGoW5nIHRow61jaCBET1Mga2jDtG5nIMSRxrDhu6NjIMSR4bq3dCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU1OCBkaXNrLXV0aWxzL2ZkaXNrLmM6NTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3QgZXhpc3QgeWV0ISIKK21zZ3N0ciAiUGjDom4gdsO5bmcgJXp1IGtow7RuZyB04buTbiB04bqhaSEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NjMgZGlzay11dGlscy9mZGlzay5jOjU3MiBsaWJmZGlzay9zcmMvYXNrLmM6OTk1Cittc2dpZCAiVW5rbm93biIKK21zZ3N0ciAiS2jDtG5nIGhp4buDdSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICclcycgdG8gJyVzJy4iCittc2dzdHIgIsSQw6MgdGhheSDEkeG7lWkga2nhu4N1IGPhu6dhIHBow6JuIHbDuW5nIOKAnCVz4oCdIHRow6BuaCDigJwlc+KAnS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZDogJXMuIgorbXNnc3RyICJLaeG7g3UgY+G7p2EgcGjDom4gdsO5bmcgJXp1IGNoxrBhIHRoYXkgxJHhu5VpOiAlcy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiUxNXM6ICVzIgorbXNnc3RyICLEkMSpYTogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2NzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlczogb2Zmc2V0ID0gJTxQUkl1NjQ+LCBzaXplID0gJXp1IGJ5dGVzLiIKK21zZ3N0ciAiIgorIlxuIgorIiVzOiBoaeG7h3UgPSAlanUsIGPhu6EgPSAlenUgYnl0ZS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2NzcKK21zZ2lkICJjYW5ub3Qgc2VlayIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGRpIGNodXnhu4NuIHbhu4sgdHLDrSDEkeG7jWMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2ODIKK21zZ2lkICJjYW5ub3QgcmVhZCIKK21zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY5NSBsaWJmZGlzay9zcmMvYnNkLmM6MjU5IGxpYmZkaXNrL3NyYy9kb3MuYzo5MzMKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEwCittc2dpZCAiRmlyc3Qgc2VjdG9yIgorbXNnc3RyICJDdW5nIHThu6sgxJHhuqd1IHRpw6puIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzIyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzIgorbXNnc3RyICJCTEtHRVRTSVpFIGlvY3RsIGtow7RuZyB0aMOgbmggY8O0bmcgdHLDqm4gJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz4gICAgICBjaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisiICUxJHMgW29wdGlvbnNdIC1sIFs8ZGlzaz5dIGxpc3QgcGFydGl0aW9uIHRhYmxlKHMpXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbY8OhYyB0w7l5IGNo4buNbl0gPMSRxKlhPiAgICAgICB0aGF5IMSR4buVaSBi4bqjbmcgcGjDom4gdsO5bmdcbiIKKyIgJTEkcyBbY8OhYyB0w7l5IGNo4buNbl0gLWwgWzzEkcSpYT5dICBsaeG7h3Qga8OqIGPDoWMgYuG6o25nIHBow6JuIHbDuW5nXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MzkKK21zZ2lkICIgLWIsIC0tc2VjdG9yLXNpemUgPHNpemU+ICAgICAgcGh5c2ljYWwgYW5kIGxvZ2ljYWwgc2VjdG9yIHNpemVcbiIKK21zZ3N0ciAiIC1iLCAtLXNlY3Rvci1zaXplIDxj4buhPiAgICAgICAgY+G7oSBjdW5nIHThu6sgbMO0LWfDrWMgduG6rXQgbMO9XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDAKK21zZ2lkICIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAgZG9uJ3QgZXJhc2UgYm9vdGJpdHMgd2hlbiBjcmVhdGluZyBhIG5ldyBsYWJlbFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDEKK21zZ2lkICIgLWMsIC0tY29tcGF0aWJpbGl0eVs9PG1vZGU+XSAgbW9kZSBpcyAnZG9zJyBvciAnbm9uZG9zJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxjaOG6v1/EkeG7mT5dIGNo4bq/IMSR4buZIHTGsMahbmcgdGjDrWNoOiDigJxkb3PigJ0gaGF5IOKAnG5vbmRvc+KAnSAobeG6t2MgxJHhu4tuaClcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MgorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorIiAtTCwgLS1jb2xvcls9PGtoaT5dICAgICAgICAgICB0w7Qgc8Ohbmcga+G6v3QgeHXhuqV0IDxraGk+OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGF1dG8gICAgdOG7sSDEkeG7mW5nLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyAgbHXDtG4gaG/hurdjXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV2ZXIgICBraMO0bmcgYmFvIGdp4budKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ1CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHBhcnRpdGlvbnMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IHLhu5NpIHRob8OhdFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ2Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGQuc8OhY2g+ICAgICAgICAgaGnhu4NuIHRo4buLIGPDoWMgY+G7mXRcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0NworbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICAgICAgICAgICByZWNvZ25pemUgc3BlY2lmaWVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIG9ubHlcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGUgPGtp4buDdT4gICAgICAgICAgICAgw6lwIGJ14buZYyBjaOG7iSBjaOG6pXAgbmjhuq1uIGtp4buDdSBi4bqjbmcgcGjDom4gdsO5bmcgxJHDoyBjaG9cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0OAorbXNnaWQgIiAtdSwgLS11bml0c1s9PHVuaXQ+XSAgICAgICAgICBkaXNwbGF5IHVuaXRzOiAnY3lsaW5kZXJzJyBvciAnc2VjdG9ycycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKyIgLXUsIC0tdW5pdHNbPTzEkcahbl924buLPl0gICAgICAgIGhp4buDbiB0aOG7iyB0aGVvIDzEkcahbl924buLPjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKAnGN5bGluZGVyc+KAnSB0cuG7pVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4oCcc2VjdG9yc+KAnSAgIGN1bmcgdOG7qyAobeG6t2MgxJHhu4tuaClcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0OQorbXNnaWQgIiAtcywgLS1nZXRzeiAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGRldmljZSBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnMgW0RFUFJFQ0FURURdXG4iCittc2dzdHIgIiAtcywgLS1nZXRzeiAgICAgICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgY+G7oSB0aGnhur90IGLhu4sgdGhlbyBjdW5nIHThu6sgNTEyIGJ5dGUgW1BI4bqiTiDEkOG7kEldXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTAKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyBrw61jaCB0aMaw4bubYyB0aGVvIGJ5dGUgdGhheSB2w6wgxJHhu4tuaCBk4bqhbmcgZMOgbmggY2hvIGNvbiBuZ8aw4budaVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzUxCisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08a2hpPl0gICAgICAgICB0w7QgbcOgdSB0aMO0bmcgxJFp4buHcCAo4oCcYXV0b+KAnS4g4oCcYWx3YXlz4oCdIGhheSDigJxuZXZlcuKAnS5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTMKKyMsIGZ1enp5Cittc2dpZCAiIC1XLCAtLXdpcGUtcGFydGl0aW9ucyA8bW9kZT4gIHdpcGUgc2lnbmF0dXJlcyBmcm9tIG5ldyBwYXJ0aXRpb25zIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PGtoaT5dICAgICAgICAgdMO0IG3DoHUgdGjDtG5nIMSRaeG7h3AgKOKAnGF1dG/igJ0uIOKAnGFsd2F5c+KAnSBoYXkg4oCcbmV2ZXLigJ0uXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTUKK21zZ2lkICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorbXNnc3RyICIgLUMsIC0tY3lsaW5kZXJzIDxz4buRPiAgICAgICAgICBjaOG7iSByYSBz4buRIGzGsOG7o25nIHRy4bulIHRy4burXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTYKK21zZ2lkICIgLUgsIC0taGVhZHMgPG51bWJlcj4gICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGhlYWRzXG4iCittc2dzdHIgIiAtSCwgLS1oZWFkcyA8c+G7kT4gICAgICAgICAgICAgIGNo4buJIMSR4buLbmggc+G7kSBsxrDhu6NuZyDEkeG6p3UgdOG7q1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU3Cittc2dpZCAiIC1TLCAtLXNlY3RvcnMgPG51bWJlcj4gICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFja1xuIgorbXNnc3RyICIgLVMsIC0tc2VjdG9ycyA8c+G7kT4gICAgICAgICAgICBjaOG7iSDEkeG7i25oIHPhu5EgbMaw4bujbmcgY3VuZyB04burIG3hu5dpIHLDo25oXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjgKK21zZ2lkICJpbnZhbGlkIHNlY3RvciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJ0aGFtIHPhu5Ega8OtY2ggdGjGsOG7m2MgcsOjbmggKHNlY3Rvcikga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NDAKK21zZ2lkICJpbnZhbGlkIGN5bGluZGVycyBhcmd1bWVudCIKK21zZ3N0ciAixJHhu5FpIHPhu5EgdHLhu6UgKGN5bGluZGVycykga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NTIKK21zZ2lkICJub3QgZm91bmQgRE9TIGxhYmVsIGRyaXZlciIKK21zZ3N0ciAia2jDtG5nIHTDrG0gdGjhuqV5IOG7lSDEkcSpYSBuaMOjbiBET1MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb21wYXRpYmlsaXR5IG1vZGUgJyVzJyIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSBjaOG6vyDEkeG7mSB0xrDGoW5nIHRow61jaCDigJwlc+KAnSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg2NworbXNnaWQgImludmFsaWQgaGVhZHMgYXJndW1lbnQiCittc2dzdHIgIsSR4buRaSBz4buRIHRy4bulIGtow7RuZyBo4bujcCBs4buHIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODczCittc2dpZCAiaW52YWxpZCBzZWN0b3JzIGFyZ3VtZW50IgorbXNnc3RyICLEkeG7kWkgc+G7kSBjdW5nIHThu6sga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlza2xhYmVsOiAlcyIKK21zZ3N0ciAia2jDtG5nIGjhu5cgdHLhu6MgbmjDo24gxJHEqWE6JXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MTYgZGlzay11dGlscy9mZGlzay5jOjkyMSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0NgorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB3aXBlIG1vZGUiCittc2dzdHIgImtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujIHTDtCBtw6B1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTM0Cittc2dpZCAiVGhlIGRldmljZSBwcm9wZXJ0aWVzIChzZWN0b3Igc2l6ZSBhbmQgZ2VvbWV0cnkpIHNob3VsZCBiZSB1c2VkIHdpdGggb25lIHNwZWNpZmllZCBkZXZpY2Ugb25seS4iCittc2dzdHIgIlRodeG7mWMgdMOtbmggdGhp4bq/dCBi4buLIChrw61jaCBj4buhIGN1bmcgdOG7qyB2w6AgY+G6pXUgdHLDumMgaMOsbmggaOG7jWMpIGPhuqduIHPhu60gZOG7pW5nIHbhu5tpIG3hu5l0IHRoaeG6v3QgYuG7iyB4w6FjIMSR4buLbmguIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIldlbGNvbWUgdG8gZmRpc2sgKCVzKS4iCittc2dzdHIgIkNow6BvIG3hu6tuZyBi4bqhbiBkw7luZyBmZGlzayAoJXMpLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk4NCBkaXNrLXV0aWxzL3NmZGlzay5jOjE1ODgKK21zZ2lkICIiCisiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorIkJlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLlxuIgorbXNnc3RyICIiCisiVGhheSDEkeG7lWkgY2jhu4kgZGnhu4VuIHJhIHRyb25nIGLhu5kgbmjhu5ssIGNobyDEkeG6v24ga2hpIGLhuqFuIHF1eeG6v3QgxJHhu4tuaCBnaGkgbOG6oWkgbsOzLlxuIgorIkjDo3kgY+G6qW4gdGjhuq1uIHRyxrDhu5tjIGtoaSBjaOG6oXkgbOG7h25oIGdoaSBs4bqhaS5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMDEgZGlzay11dGlscy9zZmRpc2suYzoxNjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAlcyBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxMCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NDIgZGlzay11dGlscy9zZmRpc2suYzoxNDg0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjIKK21zZ2lkICJUaGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDEzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyNQorIywgZnV6enkKK21zZ2lkICJJdCBpcyBzdHJvbmdseSByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSBkZXZpY2Ugd2l0aCB3aXBlZnMoOCksIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICIlczogdGhp4bq/dCBi4buLIGPDsyBjaOG7qWEgY2jhu68ga8O9IGtow7RuZyBo4bujcCBs4buHIOKAnCVz4oCdLCBraHV54bq/biBuZ2jhu4sgYuG6oW4gdOG6qXkgdGhp4bq/dCBi4buLIGLhurFuZyBs4buHbmggd2lwZWZzKDgpIG7hur91IG7DsyBraMO0bmcgbmjGsCBtb25nIMSR4bujaSwgY+G7kXQgxJHhu4MgbcOgIHRyw6FuaCB4dW5nIMSR4buZdCBjw7MgdGjhu4MgeOG6o3kgcmEuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAyMgorbXNnaWQgIkEgaHlicmlkIEdQVCB3YXMgZGV0ZWN0ZWQuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIGh5YnJpZCBNQlIgbWFudWFsbHkgKGV4cGVydCBjb21tYW5kICdNJykuIgorbXNnc3RyICJUw6xtIHRo4bqleSBt4buZdCBHUFQgbGFpLiBC4bqhbiBwaOG6o2kgxJHhu5NuZyBi4buZIGjDs2EgTUJSIGxhaSBi4bqxbmcgdGF5IChj4bqnbiBs4buHbmgg4oCcTeKAnSkuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAixJDEqWEgJXM6ICVzLCAlanUgYnl0ZSwgJWp1IGN1bmcgdOG7qyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMvdHJhY2ssICVsbHUgY3lsaW5kZXJzIgorbXNnc3RyICJD4bqldSB0csO6YyBow6xuaCBo4buNYzogJWQgxJHhuqd1IHThu6ssICVsbHUgY3VuZyB04burL3LDo25oLCAlbGx1IHRy4bulIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo1OSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5pdHM6ICVzIG9mICVkICogJWxkID0gJWxkIGJ5dGVzIgorbXNnc3RyICLEkMahbiB24buLOiAlcyBj4bunYSAlZCAqICVsZCA9ICVsZCBieXRlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2NSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIkvDrWNoIGPhu6EgY3VuZyB04burIChsw7Rnw61jL3bhuq10IGzDvSk6ICVsdSBieXRlIC8gJWx1IGJ5dGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkkvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIkvDrWNoIGPhu6EgVi9SICh04buRaV90aGnhu4N1L3Thu5FpX8awdSk6ICVsdSBieXRlIC8gJWx1IGJ5dGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkFsaWdubWVudCBvZmZzZXQ6ICVsdSBieXRlcyIKK21zZ3N0ciAiS2hv4bqjbmcgY2jDqm5oIHPhuq9wIGjDoG5nOiAlbHUgYnl0ZSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHR5cGU6ICVzIgorbXNnc3RyICJLaeG7g3UgbmjDo24gxJHEqWE6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICLEkOG7i25oIGRhbmggxJHEqWE6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMDkgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjE5CisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjQ0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgY+G6pXAgcGjDoXQgaXRlcmF0b3IiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjExNSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjUKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gYuG7lSBi4bqjbmcga+G6v3QgeHXhuqV0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxNTYgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjQ5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBsaW5lIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gYuG7lSBkw7JuZyBr4bq/dCB4deG6pXQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE4MworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4iCittc2dzdHIgIlBow6JuIHbDuW5nICV6dSBraMO0bmcgYuG6r3QgxJHhuqd1IOG7nyBiacOqbiBnaeG7m2kgY3VuZyB04burIHbhuq10IGzDvS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE5MgorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4iCittc2dzdHIgIkPDoWMgbeG7pWMgdHJvbmcgYuG6o25nIHBow6JuIHbDuW5nIGtow7RuZyDEkcO6bmcgbmjGsCB0aOG7qSB04buxIG5oxrAg4bufIHRyw6puIMSRxKlhLiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE1IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAwCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxMiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NCBsaWJmZGlzay9zcmMvc3VuLmM6MTExMAorbXNnaWQgIlN0YXJ0IgorbXNnc3RyICLEkOG6p3UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMQorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTMgbGliZmRpc2svc3JjL3NnaS5jOjExNTUgbGliZmRpc2svc3JjL3N1bi5jOjExMTEKK21zZ2lkICJFbmQiCittc2dzdHIgIkN14buRaSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE3IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAyCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NiBsaWJmZGlzay9zcmMvc3VuLmM6MTExMgorbXNnaWQgIlNlY3RvcnMiCittc2dzdHIgIkN1bmcgdOG7qyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE5IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzA0CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1OCBsaWJmZGlzay9zcmMvc3VuLmM6MTExNAorbXNnaWQgIlNpemUiCittc2dzdHIgIkvDrWNoIHRoxrDhu5tjIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVucGFydGl0aW9uZWQgc3BhY2UgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICLEkMSpYSAlczogJXMsICVqdSBieXRlLCAlanUgY3VuZyB04burIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLW8pOlxuIgorbXNnc3RyICIiCisiXG4iCisiQ8OhYyBj4buZdCBz4bq1biBkw7luZyAoY2hvIC1vKTpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSBj4buZdCAlczogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk1Cittc2dpZCAiR2VuZXJpYyIKK21zZ3N0ciAiQ2h1bmciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk2Cittc2dpZCAiZGVsZXRlIGEgcGFydGl0aW9uIgorbXNnc3RyICJ4w7NhIG3hu5l0IHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NworIywgZnV6enkKK21zZ2lkICJsaXN0IGZyZWUgdW5wYXJ0aXRpb25lZCBzcGFjZSIKK21zZ3N0ciAibGnhu4d0IGvDqiBjw6FjIHBow6JuIHbDuW5nIG3hu58gcuG7mW5nIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OAorbXNnaWQgImxpc3Qga25vd24gcGFydGl0aW9uIHR5cGVzIgorbXNnc3RyICJoaeG7g24gdGjhu4sga2nhu4N1IHBow6JuIHbDuW5nIMSRw6MgYmnhur90IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OQorbXNnaWQgImFkZCBhIG5ldyBwYXJ0aXRpb24iCittc2dzdHIgInRow6ptIG3hu5l0IHBow6JuIHbDuW5nIG3hu5tpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAKK21zZ2lkICJwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJpbiByYSBi4bqjbmcgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMQorbXNnaWQgImNoYW5nZSBhIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJ0aGF5IMSR4buVaSBraeG7g3UgY+G7p2EgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMgorbXNnaWQgInZlcmlmeSB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJraeG7g20gdHJhIGLhuqNuZyBwaMOibiB2w7luZyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzCisjLCBmdXp6eQorbXNnaWQgInByaW50IGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICJIaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB24buBIHRoaeG6v3QgYuG7iyBraOG7kWkuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNQorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAiaW4gYuG6o25nIHJhIGThu68gbGnhu4d1IHRow7QgY+G7p2EgY3VuZyB04burIMSR4bqndSB0acOqbiB04burIHRoaeG6v3QgYuG7iyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA2Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBkaXNrbGFiZWwgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICJpbiBi4bqjbmcgcmEgZOG7ryBsaeG7h3UgdGjDtCBj4bunYSBuaMOjbiDEkcSpYSB04burIHRoaeG6v3QgYuG7iyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA3Cittc2dpZCAiZml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgInPhu61hIHRo4bupIHThu7EgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwOQorbXNnaWQgIk1pc2MiCittc2dzdHIgIkxpbmggdGluaCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEwCittc2dpZCAicHJpbnQgdGhpcyBtZW51IgorbXNnc3RyICJoaeG7g24gdGjhu4sgdHLDrG5oIMSRxqFuIG7DoHkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMQorbXNnaWQgImNoYW5nZSBkaXNwbGF5L2VudHJ5IHVuaXRzIgorbXNnc3RyICJ0aGF5IMSR4buVaSDEkcahbiB24buLIGhp4buDbiB0aOG7iyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEyCittc2dpZCAiZXh0cmEgZnVuY3Rpb25hbGl0eSAoZXhwZXJ0cyBvbmx5KSIKK21zZ3N0ciAiY8OhYyBjaOG7qWMgbsSDbmcgbeG7nyBy4buZbmcgKGNo4buJIGTDoG5oIGNobyBuZ8aw4budaSBjw7Mga2luaCBuZ2hp4buHbSkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNAorbXNnaWQgIlNjcmlwdCIKK21zZ3N0ciAiVsSDbiBs4buHbmgiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNQorbXNnaWQgImxvYWQgZGlzayBsYXlvdXQgZnJvbSBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgInThuqNpIGLhu5EgY+G7pWMgxJHEqWEgdOG7qyB04bqtcCB0aW4gdsSDbiBs4buHbmggc2ZkaXNrIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTYKK21zZ2lkICJkdW1wIGRpc2sgbGF5b3V0IHRvIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAixJHhu5UgYuG7kSBj4bulYyDEkcSpYSByYSB04bqtcCB0aW4gdsSDbiBs4buHbmggc2ZkaXNrIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTgKK21zZ2lkICJTYXZlICYgRXhpdCIKK21zZ3N0ciAiR2hpIGzhuqFpICYgdGhvw6F0IHJhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTkKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0IgorbXNnc3RyICJnaGkgYuG6o25nIHBow6JuIHbDuW5nIGzDqm4gxJHEqWEgdsOgIHRob8OhdCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIwCittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayIKK21zZ3N0ciAiZ2hpIGLhuqNuZyB2w6BvIMSRxKlhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjEKK21zZ2lkICJxdWl0IHdpdGhvdXQgc2F2aW5nIGNoYW5nZXMiCittc2dzdHIgInRob8OhdCB2w6Aga2jDtG5nIGdoaSBuaOG7myBjw6FjIHRoYXkgxJHhu5VpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjIKK21zZ2lkICJyZXR1cm4gdG8gbWFpbiBtZW51IgorbXNnc3RyICJxdWF5IGzhuqFpIHRyw6xuaCDEkcahbiBjaMOtbmgiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyNAorbXNnaWQgInJldHVybiBmcm9tIEJTRCB0byBET1MiCittc2dzdHIgInRy4bqjIHbhu4EgdOG7qyBCU0QgdGjDoG5oIERPUyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM1Cittc2dpZCAiQ3JlYXRlIGEgbmV3IGxhYmVsIgorbXNnc3RyICJ04bqhbyBt4buZdCBuaMOjbiBt4bubaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM2Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IEdQVCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInThuqFvIG3hu5l0IGLhuqNuZyBwaMOibiB2w7luZyBHUFQgcuG7l25nIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzcKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU0dJIChJUklYKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInThuqFvIG3hu5l0IGLhuqNuZyBwaMOibiB2w7luZyBHUFQgKElSSVgpIHLhu5duZyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM4Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInThuqFvIG3hu5l0IGLhuqNuZyBwaMOibiB2w7luZyBET1MgcuG7l25nIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU3VuIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidOG6oW8gbeG7mXQgYuG6o25nIHBow6JuIHbDuW5nIFNVTiBy4buXbmciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0MworbXNnaWQgImNyZWF0ZSBhbiBJUklYIChTR0kpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidOG6oW8gbeG7mXQgYuG6o25nIHBow6JuIHbDuW5nIElSSVggKFNHSSkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1MgorbXNnaWQgIkdlb21ldHJ5IgorbXNnc3RyICJD4bqldSB0csO6YyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTUzCittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgInRoYXkgxJHhu5VpIHPhu5EgdHLhu6UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NAorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgaGVhZHMiCittc2dzdHIgInRoYXkgxJHhu5VpIHPhu5EgxJHhuqd1IMSR4buNYyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU1Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrIgorbXNnc3RyICJ0aGF5IMSR4buVaSBz4buRIGN1bmcgdOG7qy9yw6NuaCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk1Cittc2dpZCAiR1BUIgorbXNnc3RyICJHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NQorbXNnaWQgImNoYW5nZSBkaXNrIEdVSUQiCittc2dzdHIgInRoYXkgxJHhu5VpIEdVSUQgY+G7p2EgxJHEqWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NgorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAidGhheSDEkeG7lWkgdMOqbiBwaMOibiB2w7luZyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY3Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJ0aGF5IMSR4buVaSBVVUlEIGPhu6dhIHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjgKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHRhYmxlIGxlbmd0aCIKK21zZ3N0ciAia2jDtG5nIHBow6JuIHTDrWNoIMSRxrDhu6NjIMSR4buZIGTDoGkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OQorbXNnaWQgImVudGVyIHByb3RlY3RpdmUvaHlicmlkIE1CUiIKK21zZ3N0ciAidsOgbyBNQlIgYuG6o29fduG7hy9sYWkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MgorbXNnaWQgInRvZ2dsZSB0aGUgbGVnYWN5IEJJT1MgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiYuG6rXQvdOG6r3QgY+G7nSBjw7MgdGjhu4Mga2jhu59pIMSR4buZbmcgQklPUyBraeG7g3UgY8WpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzMKK21zZ2lkICJ0b2dnbGUgdGhlIG5vIGJsb2NrIElPIHByb3RvY29sIGZsYWciCittc2dzdHIgImLhuq10L3Thuq90IGtow7RuZyBwaOG6o2kgY+G7nSBnaWFvIHRo4bupYyBraOG7kWkgVlIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NAorbXNnaWQgInRvZ2dsZSB0aGUgcmVxdWlyZWQgcGFydGl0aW9uIGZsYWciCittc2dzdHIgImLhuq10L3Thuq90IGPhu50gcGjDom4gdsO5bmcgxJHGsOG7o2MgecOqdSBj4bqndSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc1Cittc2dpZCAidG9nZ2xlIHRoZSBHVUlEIHNwZWNpZmljIGJpdHMiCittc2dzdHIgImLhuq10L3Thuq90IGLDrXQgbcOjIHPhu5EgbmjDs20gxJHhurdjIGJp4buHdCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg1Cittc2dpZCAiU3VuIgorbXNnc3RyICJTdW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NgorbXNnaWQgInRvZ2dsZSB0aGUgcmVhZC1vbmx5IGZsYWciCittc2dzdHIgImLhuq10L3Thuq90IGPhu50gY2jhu4ktxJHhu41jIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODcKK21zZ2lkICJ0b2dnbGUgdGhlIG1vdW50YWJsZSBmbGFnIgorbXNnc3RyICJi4bqtdC904bqvdCBj4budIGPDsyB0aOG7gyBn4bqvbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJ0aGF5IMSR4buVaSBz4buRIHRy4bulIHbhuq10IGzDvSB0aGF5IHRo4bq/IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTAKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJ0aGF5IMSR4buVaSBz4buRIGN1bmcgdOG7qyBk4buxIHBow7JuZyB0cm9uZyBt4buXaSB0cuG7pSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkxCittc2dpZCAiY2hhbmdlIGludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICJ0aGF5IMSR4buVaSBo4buHIHPhu5EgeGVuIGvhur0iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MgorbXNnaWQgImNoYW5nZSByb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAidGhheSDEkeG7lWkgdOG7kWMgxJHhu5kgcXVheSAocnBtKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkzCittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgInRoYXkgxJHhu5VpIHPhu5EgdHLhu6UgduG6rXQgbMO9IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDIKK21zZ2lkICJTR0kiCittc2dzdHIgIlNHSSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjAzCittc2dpZCAic2VsZWN0IGJvb3RhYmxlIHBhcnRpdGlvbiIKK21zZ3N0ciAiY2jhu41uIHBow6JuIHbDuW5nIGPDsyB0aOG7gyBraOG7n2kgxJHhu5luZyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA0Cittc2dpZCAiZWRpdCBib290ZmlsZSBlbnRyeSIKK21zZ3N0ciAic2/huqFuIHRo4bqjbyB04bqtcCB0aW4ga2jhu59pIMSR4buZbmciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNQorbXNnaWQgInNlbGVjdCBzZ2kgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgImNo4buNbiBwaMOibiB2w7luZyB0cmFvIMSR4buVaSBzZ2kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNgorbXNnaWQgImNyZWF0ZSBTR0kgaW5mbyIKK21zZ3N0ciAidOG6oW8gdGjDtG5nIHRpbiBTR0kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNQorbXNnaWQgIkRPUyAoTUJSKSIKK21zZ3N0ciAiRE9TIChNQlIpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTYKK21zZ2lkICJ0b2dnbGUgYSBib290YWJsZSBmbGFnIgorbXNnc3RyICJi4bqtdC904bqvdCBj4budIGPDsyB0aOG7gyBraOG7n2kgxJHhu5luZyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE3Cittc2dpZCAiZWRpdCBuZXN0ZWQgQlNEIGRpc2tsYWJlbCIKK21zZ3N0ciAic+G7rWEgbmjDo24gxJHEqWEgQlNEIGzhu5NuZyBuaGF1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTgKK21zZ2lkICJ0b2dnbGUgdGhlIGRvcyBjb21wYXRpYmlsaXR5IGZsYWciCittc2dzdHIgImLhuq10IGPhu50gdMawxqFuZyB0aMOtY2ggduG7m2kgRE9TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjAKK21zZ2lkICJtb3ZlIGJlZ2lubmluZyBvZiBkYXRhIGluIGEgcGFydGl0aW9uIgorbXNnc3RyICJkaSBjaHV54buDbiBk4buvIGxp4buHdSBi4bqvdCDEkeG6p3UgdHJvbmcgbeG7mXQgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMQorbXNnaWQgImNoYW5nZSB0aGUgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJ0aGF5IMSR4buLbmggZGFuaCBuaOG6rW4gZGnhu4duIMSRxKlhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjMKK21zZ2lkICJyZXR1cm4gZnJvbSBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgdG8gR1BUIgorbXNnc3RyICJ0cuG6oyB24buBIHThu6sgTUJSIGLhuqNvX3bhu4cvbGFpIHRow6BuaCBHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzMworbXNnaWQgIkJTRCIKK21zZ3N0ciAiQlNEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzQKK21zZ2lkICJlZGl0IGRyaXZlIGRhdGEiCittc2dzdHIgInPhu61hIGThu68gbGnhu4d1IOG7lSDEkcSpYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM1Cittc2dpZCAiaW5zdGFsbCBib290c3RyYXAiCittc2dzdHIgImPDoGkgxJHhurd0IHRyw6xuaCBraOG7n2kgxJHhu5luZyB04buxIG3hu5NpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzYKK21zZ2lkICJzaG93IGNvbXBsZXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAiaGnhu4NuIHRo4buLIHRvw6BuIGLhu5kgbmjDo24gxJHEqWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNworbXNnaWQgImxpbmsgQlNEIHBhcnRpdGlvbiB0byBub24tQlNEIHBhcnRpdGlvbiIKK21zZ3N0ciAibGnDqm4ga+G6v3QgcGjDom4gdsO5bmcgQlNEIHThu5tpIHBow6JuIHbDuW5nIGtow7RuZyBwaOG6o2kgQlNEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHAgKGV4cGVydCBjb21tYW5kcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJUcuG7oyBnacO6cCAobOG7h25oIGNhbyBj4bqlcCk6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM3MSBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHA6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJUcuG7oyBnacO6cDpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzkxCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSdyZSBlZGl0aW5nIG5lc3RlZCAnJXMnIHBhcnRpdGlvbiB0YWJsZSwgcHJpbWFyeSBwYXJ0aXRpb24gdGFibGUgaXMgJyVzJy4iCittc2dzdHIgIkLhuqFuIMSRYW5nIHPhu61hIGLhuqNuZyBwaMOibiB2w7luZyBs4buTbmcgbmhhdSDigJwlc+KAnSwgYuG6o25nIHBow6JuIHbDuW5nIGNow61uaCBsw6Ag4oCcJXPigJ0uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjEKK21zZ2lkICJFeHBlcnQgY29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAiQ8OidSBs4buHbmggbsOibmcgY2FvIChtIMSR4buDIHhlbSB0cuG7oyBnacO6cCk6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDIzCittc2dpZCAiQ29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAiTOG7h25oIChtIMSR4buDIHhlbSB0cuG7oyBnacO6cCk6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVjOiB1bmtub3duIGNvbW1hbmQiCittc2dzdHIgIiVjOiBraMO0bmcgaGnhu4N1IGPDonUgbOG7h25oIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NTggZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg1Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZSIKK21zZ3N0ciAiSMOjeSBuaOG6rXAgdMOqbiBj4bunYSB04bqtcCB0aW4gdsSDbiBs4buHbmgiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ3MQorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgYXBwbGllZC4iCittc2dzdHIgIlbEg24gbOG7h25oIMSRw6MgxJHGsOG7o2Mgw6FwIGThu6VuZyB0aMOgbmggY8O0bmcuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0OTcKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNmb3JtIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0IgorbXNnc3RyICJH4bq3cCBs4buXaSBjaHV54buDbiDEkeG7lWkgYuG7kSBj4bulYyDEkcSpYSB2w6BvIHbEg24gbOG7h25oIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTEKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IHNhdmVkLiIKK21zZ3N0ciAiVsSDbiBs4buHbmggxJHDoyBsxrB1IGzhuqFpIHRow6BuaCBjw7RuZy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzNCBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiUGjDom4gdsO5bmcgJXp1OiBjaOG7qWEgY3VuZyB04burIDAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzNyBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzkKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gcmVtb3ZlIHRoZSBzaWduYXR1cmU/IgorbXNnc3RyICJC4bqhbiBjw7MgbXXhu5FuIGdoaSBsw6puIMSRxKlhPyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTc1Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGdoaSBuaMOjbiDEkcSpYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjEzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBmaXggcGFydGl0aW9ucyBvcmRlci4iCittc2dzdHIgInPhu61hIHRo4bupIHThu7EgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYxNQorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb25zIG9yZGVyIGZpeGVkLiIKK21zZ3N0ciAiS2jDtG5nIGPDsyBwaMOibiB2w7luZyBuw6BvIMSRxrDhu6NjIMSR4buLbmggbmdoxKlhLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIHjDs2EgcGjDom4gdsO5bmcgJXp1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NjAKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIGN5bGluZGVycyAoREVQUkVDQVRFRCEpLiIKK21zZ3N0ciAixJBhbmcgY2h1eeG7g24gxJHhu5VpIMSRxqFuIHbhu4sgaGnhu4NuIHRo4buLL23hu6VjIHRpbiB0aMOgbmggdHLhu6UgKMSQw4MgTOG6oEMgSOG6rFUhKS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY2MgorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gc2VjdG9ycy4iCittc2dzdHIgIsSQYW5nIGNodXnhu4NuIMSR4buVaSDEkcahbiB24buLIGhp4buDbl90aOG7iy9t4bulYyB0aMOgbmggY3VuZyB04burLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjcyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjg0MgorbXNnaWQgIkxlYXZpbmcgbmVzdGVkIGRpc2tsYWJlbC4iCittc2dzdHIgIlLhu51pIG5ow6NuIMSRxKlhIG7hurFtIHRyb25nLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzA5Cittc2dpZCAiTmV3IG1heGltdW0gZW50cmllcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MTkKK21zZ2lkICJFbnRlcmluZyBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgZGlza2xhYmVsLiIKK21zZ3N0ciAixJBhbmcgdsOgbyBuaMOjbiDEkcSpYSBNQlIgYuG6o29fduG7hy9sYWkuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MzUKK21zZ2lkICJOZXcgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICJVVUlEIG3hu5tpICjhu58gxJHhu4tuaCBk4bqhbmcgOC00LTQtNC0xMikiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc1MAorbXNnaWQgIk5ldyBuYW1lIgorbXNnc3RyICJUw6puIG3hu5tpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4MTMKK21zZ2lkICJFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIlbDoG8gbmjDo24gxJHEqWEgbuG6sW0gdHJvbmcuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OTgKK21zZ2lkICJOdW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICJT4buRIGzGsOG7o25nIHRy4bulIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAyCittc2dpZCAiTnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICJT4buRIMSR4bqndSDEkeG7jWMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMDYKK21zZ2lkICJOdW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAiU+G7kSBjdW5nIHThu6siCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkXG4iCittc2dzdHIgIiVzIMSRw6MgxJHGsOG7o2MgZ+G6r25cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudGVkXG4iCittc2dzdHIgIiVzIGNoxrBhIMSRxrDhu6NjIGfhuq9uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc0CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTgxIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzUKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNTMgZGlzay11dGlscy9zZmRpc2suYzoyOTcgbGliZmRpc2svc3JjL2JzZC5jOjY0NgorIzogbGliL3BhdGguYzoxMTAgbGliL3BhdGguYzoxMzEgbGliL3BhdGguYzoxNTIgbGliL3BhdGguYzoyMDAKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMTMgbG9naW4tdXRpbHMvbGFzdC5jOjI1MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NjY0CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzOSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MTcgdGVybS11dGlscy9zZXR0ZXJtLmM6Nzc0CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzggdGVybS11dGlscy9zZXR0ZXJtLmM6Nzg1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkICVzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMzMgbGliL3BhdGguYzoxMzMgbGliL3BhdGguYzoxNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFyc2UgZXJyb3I6ICVzIgorbXNnc3RyICJs4buXaSBwaMOibiB0w61jaCBjw7ogcGjDoXA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyB0aMawIG3hu6VjICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9ja2luZyBkaXNrIGJ5ICVzIC4uLiAiCittc2dzdHIgIsSQYW5nIGtow7NhIMSRxKlhIGLhurFuICVzIOKApiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgIih3YWl0aW5nKSAiCittc2dzdHIgIijEkWFuZyBjaOG7nSkgIgorCisjLiBUUkFOU0xBVE9SUzogVGhlc2UgYXJlIGZvbGxvd3VwcyB0byAiTG9ja2luZyBkaXNrLi4uIi4KKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5NAorbXNnaWQgInN1Y2NlZWRlZCIKK21zZ3N0ciAidGjDoG5oIGPDtG5nIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTQKK21zZ2lkICJmYWlsZWQiCittc2dzdHIgImfhurdwIGzhu5dpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5sb2NraW5nICVzLlxuIgorbXNnc3RyICLEkGFuZyBt4bufIGtow7NhICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGRlc2NyaXB0aW9uIGZvciAlcyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGPDoGkgxJHhurd0IG3DtCB04bqjIGNobyAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDc0IG1pc2MtdXRpbHMvZmluZG1udC5jOjc4MiBtaXNjLXV0aWxzL2xzYmxrLmM6NDMzCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMDIgc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzoxOSBzeXMtdXRpbHMvdW1vdW50LmM6NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiBs4buXaSBwaMOibiB0w61jaCBjw7ogcGjDoXAgdOG6oWkgZMOybmcgJWQgLS0gaWdub3JlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo1MDYgZGlzay11dGlscy9mc2NrLmM6NTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UgZnN0YWIiCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggZnN0YWIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY3OSBsb2dpbi11dGlscy9sb2dpbi5jOjk2OCBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAzNAorIzogbG9naW4tdXRpbHMvdmlwdy5jOjIwNCBzeXMtdXRpbHMvZmxvY2suYzozNDUgc3lzLXV0aWxzL25zZW50ZXIuYzoxNTMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTYgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTkgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MjAKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzgwCittc2dpZCAiZm9yayBmYWlsZWQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBy4bq9IG5ow6FuaCB0aeG6v24gdHLDrG5oIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGUgZmFpbGVkIgorbXNnc3RyICIlczogdGjhu7FjIHRoaSBn4bq3cCBs4buXaSIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzc0Cittc2dpZCAid2FpdDogbm8gbW9yZSBjaGlsZCBwcm9jZXNzPyE/IgorbXNnc3RyICLEkeG7o2k6IGtow7RuZyBjw7MgdGnhur9uIHRyw6xuaCBjb24gbuG7r2E/IT8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc3NyBzeXMtdXRpbHMvZmxvY2suYzozNjMgc3lzLXV0aWxzL3N3YXBvbi5jOjM0OAorIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MDQgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MjUKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCIKK21zZ3N0ciAid2FpdHBpZCBi4buLIGzhu5dpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZy4uLiAlcyBmb3IgZGV2aWNlICVzIGV4aXRlZCB3aXRoIHNpZ25hbCAlZC4iCittc2dzdHIgIkPhuqNuaCBiw6Fv4oCmICVzIGNobyB0aGnhur90IGLhu4sgJXMgxJHDoyB0aG/DoXQgduG7m2kgdMOtbiBoaeG7h3UgJWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXM6IHN0YXR1cyBpcyAleCwgc2hvdWxkIG5ldmVyIGhhcHBlbi4iCittc2dzdHIgIiVzICVzOiB0cuG6oW5nIHRow6FpIGzDoCAleCwga2jDtG5nIGJhbyBnaeG7nSBuw6puIHjhuqN5IHJhLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmlzaGVkIHdpdGggJXMgKGV4aXQgc3RhdHVzICVkKVxuIgorbXNnc3RyICLEkMOjIGvhur90IHRow7pjIHbhu5tpICVzICh0cuG6oW5nIHRow6FpIHRob8OhdCAlZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6OTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yICVkICglbSkgd2hpbGUgZXhlY3V0aW5nIGZzY2suJXMgZm9yICVzIgorbXNnc3RyICJn4bq3cCBs4buXaSAlZCAoJW0pIHRyb25nIGtoaSB0aOG7sWMgaGnhu4duIGZzY2suJXMgY2hvICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5OTEKK21zZ2lkICIiCisiRWl0aGVyIGFsbCBvciBub25lIG9mIHRoZSBmaWxlc3lzdGVtIHR5cGVzIHBhc3NlZCB0byAtdCBtdXN0IGJlIHByZWZpeGVkXG4iCisid2l0aCAnbm8nIG9yICchJy4iCittc2dzdHIgIiIKKyJIb+G6t2MgdOG6pXQgY+G6oyBob+G6t2Mga2jDtG5nIGPDsyBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiDEkcaw4bujYyBxdWFcbiIKKyJjaG8gdMO5eSBjaOG7jW4g4oCcLXTigJ0gcGjhuqNpIGPDsyB0aeG7gW4gdOG7kSDigJxub+KAnSBoYXkg4oCcIeKAnS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIGJhZCBsaW5lIGluIC9ldGMvZnN0YWI6IGJpbmQgbW91bnQgd2l0aCBub256ZXJvIGZzY2sgcGFzcyBudW1iZXIiCittc2dzdHIgIiVzOiDEkWFuZyBi4buPIHF1YSBkw7JuZyBzYWkgdHJvbmcg4oCcL2V0Yy9mc3RhYuKAnTogYnXhu5ljIGfhuq9uIHbhu5tpIHPhu5EgZ+G7rWkgcXVhIGZzY2sga2jDoWMta2jDtG5nIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBub25leGlzdGVudCBkZXZpY2VcbiIKK21zZ3N0ciAiJXM6IMSRYW5nIGLhu48gcXVhIHRoaeG6v3QgYuG7iyBraMO0bmcgdOG7k24gdOG6oWlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9uZXhpc3RlbnQgZGV2aWNlIChcIm5vZmFpbFwiIGZzdGFiIG9wdGlvbiBtYXkgYmUgdXNlZCB0byBza2lwIHRoaXMgZGV2aWNlKVxuIgorbXNnc3RyICIlczogdGhp4bq/dCBi4buLIGtow7RuZyBz4bq1biBzw6BuZyAodMO5eSBjaOG7jW4gXCJub2ZhaWxcIiBj4bunYSBmc3RhYiBjw7MgbOG6vSDEkcOjIMSRxrDhu6NjIHPhu60gZOG7pW5nIMSR4buDIGLhu48gcXVhIHRoaeG6v3QgYuG7iyBuw6B5KVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZVxuIgorbXNnc3RyICIlczogYuG7jyBxdWEga2nhu4N1IGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gY2jGsGEgYmnhur90XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoZWNrICVzOiBmc2NrLiVzIG5vdCBmb3VuZCIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGtp4buDbSB0cmEgJXM6IGZzY2suJXMga2jDtG5nIHTDrG0gdGjhuqV5IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjU5Cittc2dpZCAiQ2hlY2tpbmcgYWxsIGZpbGUgc3lzdGVtcy5cbiIKK21zZ3N0ciAixJBhbmcga2nhu4NtIHRyYSB04bqldCBj4bqjIGPDoWMgaOG7hyB0aOG7kW5nIHThuq1wIHRpbi5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM1MAorIywgYy1mb3JtYXQKK21zZ2lkICItLXdhaXRpbmctLSAocGFzcyAlZClcbiIKK21zZ3N0ciAiLS13YWl0aW5nLS0gKGzhuqduIGNo4bqheSAlZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM3NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC0tIFtmcy1vcHRpb25zXSBbPGZpbGVzeXN0ZW0+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFtjw6FjIHTDuXkgY2jhu41uXSAtLSBbdMO5eS1jaOG7jW4tZnNdIFs8aOG7hyB0aOG7kW5nIHThuq1wIHRpbj4g4oCmXVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzc5Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIktp4buDbSB0cmEgdsOgIHPhu61hIGNo4buvYSBo4buHIHRo4buRbmcgdOG6rXAgdGluIExpbnV4LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzgyCittc2dpZCAiIC1BICAgICAgICAgY2hlY2sgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtQSAgICAgICAgIGtp4buDbSB0cmEgdOG6pXQgY+G6oyBjw6FjIGjhu4cgdGjhu5FuZyB04bqtcCB0aW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4MworbXNnaWQgIiAtQyBbPGZkPl0gIGRpc3BsYXkgcHJvZ3Jlc3MgYmFyOyBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiIC1DIFs8ZmQ+XSAgaGnhu4NuIHRo4buLIHRoYW5oIGRp4buFbiB0aeG6v247IGLhu5kgbcO0IHThuqMgdOG6rXAgdGluIGzDoCBkw6BuaCBjaG8gR1VJc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg0Cittc2dpZCAiIC1sICAgICAgICAgbG9jayB0aGUgZGV2aWNlIHRvIGd1YXJhbnRlZSBleGNsdXNpdmUgYWNjZXNzXG4iCittc2dzdHIgIiAtbCAgICAgICAgIGtow7NhIHRoaeG6v3QgYuG7iyDEkeG7gyDEkeG6o20gYuG6o28gY8OhYyDhu6luZyBk4bulbmcga2jDoWMga2jDtG5nIMSRxrDhu6NjIHRydXkgY+G6rXAgdsOgb1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg1Cittc2dpZCAiIC1NICAgICAgICAgZG8gbm90IGNoZWNrIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1NICAgICAgICAga2jDtG5nIGtp4buDbSB0cmEgY8OhYyBo4buHIHRo4buRbmcgdOG6rXAgdGluIMSRw6MgxJHGsOG7o2MgZ+G6r25cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NgorbXNnaWQgIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCittc2dzdHIgIiAtTiAgICAgICAgIGtow7RuZyB0aOG7sWMgaGnhu4duLCBjaOG7iSB4ZW0gdGjhu60geGVtIG5o4buvbmcgZ8OsIHPhur0gxJHGsOG7o2MgbMOgbVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg3Cittc2dpZCAiIC1QICAgICAgICAgY2hlY2sgZmlsZXN5c3RlbXMgaW4gcGFyYWxsZWwsIGluY2x1ZGluZyByb290XG4iCittc2dzdHIgIiAtUCAgICAgICAgIGtp4buDbSB0cmEgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBzb25nIHNvbmcsIGJhbyBn4buTbSBj4bqjIHJvb3RcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4OAorbXNnaWQgIiAtUiAgICAgICAgIHNraXAgcm9vdCBmaWxlc3lzdGVtOyB1c2VmdWwgb25seSB3aXRoICctQSdcbiIKK21zZ3N0ciAiIC1SICAgICAgICAgYuG7jyBxdWEgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBn4buRYzsgY2jhu4kgaOG7r3UgZOG7pW5nIHbhu5tpIOKAnC1B4oCdXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODkKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtciBbPGZkPl0gIHJlcG9ydCBzdGF0aXN0aWNzIGZvciBlYWNoIGRldmljZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIgLXIgICAgICAgICBiw6FvIGPDoW8gdGjhu5FuZyBrw6ogY2hvIHThu6tuZyB0aGnhur90IGLhu4sgxJHGsOG7o2Mga2nhu4NtIHRyYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkxCittc2dpZCAiIC1zICAgICAgICAgc2VyaWFsaXplIHRoZSBjaGVja2luZyBvcGVyYXRpb25zXG4iCittc2dzdHIgIiAtcyAgICAgICAgIHRoYW8gdMOhYyBraeG7g20gdHJhIGThuqFuZyBu4buRaSB0aeG6v3BcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MgorbXNnaWQgIiAtVCAgICAgICAgIGRvIG5vdCBzaG93IHRoZSB0aXRsZSBvbiBzdGFydHVwXG4iCittc2dzdHIgIiAtVCAgICAgICAgIGtow7RuZyBoaeG7g24gdGjhu4sgdGnDqnUgxJHhu4Ega2hpIGto4bufaSDEkeG7mW5nXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTMKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtdCA8dHlwZT4gIHNwZWNpZnkgZmlsZXN5c3RlbSB0eXBlcyB0byBiZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIDx0eXBlPiBpcyBhbGxvd2VkIHRvIGJlIGEgY29tbWEtc2VwYXJhdGVkIGxpc3RcbiIKK21zZ3N0ciAiIgorIiAtdCA8a2nhu4N1PiAgY2jhu4kgxJHhu4tuaCBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiDEkcaw4bujYyBraeG7g20gdHJhO1xuIgorIiAgICAgICAgICAgICA8a2nhu4N1PiDEkcaw4bujYyBwaMOpcCBkw7luZyBkYW5oIHPDoWNoIG5nxINuIGPDoWNoIGLhurFuZyBk4bqldSBwaOG6qXlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NQorbXNnaWQgIiAtViAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtViAgICAgICAgIGdp4bqjaSB0aMOtY2ggbmjhu69uZyBnw6wgxJFhbmcgxJHGsOG7o2MgbMOgbVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk2Cittc2dpZCAiIC0/ICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC0/ICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHkgcuG7k2kgdGhvw6F0XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTkKK21zZ2lkICJTZWUgdGhlIHNwZWNpZmljIGZzY2suKiBjb21tYW5kcyBmb3IgYXZhaWxhYmxlIGZzLW9wdGlvbnMuIgorbXNnc3RyICJYZW0gxJHhurdjIHThuqMgduG7gSBjw6FjIGzhu4duaCBmc2NrLiogxJHhu4MgYmnhur90IGPDoWMgdMO5eSBjaOG7jW4gZnMtb3B0aW9ucyBjw7MgdGjhu4MgZMO5bmcuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDM4Cittc2dpZCAidG9vIG1hbnkgZGV2aWNlcyIKK21zZ3N0ciAicXXDoSBuaGnhu4F1IHRoaeG6v3QgYuG7iyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ1MAorbXNnaWQgIklzIC9wcm9jIG1vdW50ZWQ/IgorbXNnc3RyICIvcHJvYyDEkcOjIMSRxrDhu6NjIGfhuq9uIGNoxrBhPyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ1OAorIywgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHJvb3QgdG8gc2NhbiBmb3IgbWF0Y2hpbmcgZmlsZXN5c3RlbXM6ICVzIgorbXNnc3RyICJwaOG6o2kgbMOgIG5nxrDhu51pIGNo4bunIChyb290KSDEkeG7gyBxdcOpdCB0w6xtIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gdMawxqFuZyDhu6luZzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgZmluZCBtYXRjaGluZyBmaWxlc3lzdGVtOiAlcyIKK21zZ3N0ciAia2jDtG5nIHTDrG0gdGjhuqV5IGjhu4cgdGjhu5FuZyB04bqtcCB0aW4ga2jhu5twOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ3MCBkaXNrLXV0aWxzL2ZzY2suYzoxNTY1IG1pc2MtdXRpbHMva2lsbC5jOjM2MworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mjc5Cittc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgorbXNnc3RyICJxdcOhIG5oaeG7gXUgxJHhu5FpIHPhu5EiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1MjUgZGlzay11dGlscy9mc2NrLmM6MTUyOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yIgorbXNnc3RyICLEkeG7kWkgc+G7kSBraMO0bmcgaOG7o3AgbOG7hyAtIHThu6sgKGZyb20pIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yOiAlZCIKK21zZ3N0ciAixJHhu5FpIHPhu5Ega2jDtG5nIGjhu6NwIGzhu4cgLSDEkeG6v24gKHRvKSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTYxOAorbXNnaWQgInRoZSAtbCBvcHRpb24gY2FuIGJlIHVzZWQgd2l0aCBvbmUgZGV2aWNlIG9ubHkgLS0gaWdub3JlIgorbXNnc3RyICJ0w7l5IGNo4buNbiAtbCBjaOG7iSBjw7MgdGjhu4Mgc+G7rSBk4bulbmcgduG7m2kgbeG7mXQgdGhp4bq/dCBi4buLIG3DoCB0aMO0aSAtLSBpZ25vcmUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT5cbiIKK21zZ3N0ciAiICVzIFtUVeG7sl9DSOG7jE5dIDxU4bqsUF9USU4+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTYKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgY29tcHJlc3NlZCBST00gZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiS2nhu4NtIHRyYSB2w6Agc+G7rWEgY2jhu69hIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gUk9NIMSRw6MgbsOpbi5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOQorbXNnaWQgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIGTDoG5oIGNobyBt4bulYyDEkcOtY2ggdMawxqFuZyB0aMOtY2gsIGLhu4sgYuG7jyBxdWFcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgYmUgbW9yZSB2ZXJib3NlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgY2hpIHRp4bq/dCBoxqFuIG7hu69hXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjEKK21zZ2lkICIgLXkgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIC15ICAgICAgICAgICAgICAgICAgICAgICBkw6BuaCBjaG8gbeG7pWMgxJHDrWNoIHTGsMahbmcgdGjDrWNoLCBi4buLIGLhu48gcXVhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjIKK21zZ2lkICIgLWIsIC0tYmxvY2tzaXplIDxzaXplPiAgIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgZGVmYXVsdHMgdG8gcGFnZSBzaXplXG4iCittc2dzdHIgIiAtYiwgLS1ibG9ja3NpemUgPGPhu6E+ICAgICBkw7luZyBj4buhIGto4buRaSBuw6B5LCBt4bq3YyDEkeG7i25oIGzDoCBj4buhIHRyYW5nXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjMKK21zZ2lkICIgICAgIC0tZXh0cmFjdFs9PGRpcj5dICAgIHRlc3QgdW5jb21wcmVzc2lvbiwgb3B0aW9uYWxseSBleHRyYWN0IGludG8gPGRpcj5cbiIKK21zZ3N0ciAiICAgICAtLWV4dHJhY3RbPTxUbeG7pWM+XSAgIGtp4buDbSB0cmEgZ2nhuqNpIG7DqW4sIHTDuXkgw70gcsO6dCB0csOtY2ggcmEgPFRt4bulYz5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBmYWlsZWQ6IHVuYWJsZSB0byBkZXRlcm1pbmUgZGV2aWNlIHNpemU6ICVzIgorbXNnc3RyICJpb2N0bCBn4bq3cCBs4buXaToga2jDtG5nIHRo4buDIHjDoWMgxJHhu4tuaCBrw61jaCBj4buhIHRoaeG6v3QgYuG7izogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGEgYmxvY2sgZGV2aWNlIG9yIGZpbGU6ICVzIgorbXNnc3RyICJraMO0bmcgcGjhuqNpIHRoaeG6v3QgYuG7iyBraOG7kWkgaGF5IHThuq1wIHRpbjogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzAgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNgorbXNnaWQgImZpbGUgbGVuZ3RoIHRvbyBzaG9ydCIKK21zZ3N0ciAiY2hp4buBdSBkw6BpIHThuq1wIHRpbiBxdcOhIG5n4bqvbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3OSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjMzCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjQ5IGxpYmZkaXNrL3NyYy9ic2QuYzo3MTggbGliZmRpc2svc3JjL2JzZC5jOjg5MAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwOCBsb2dpbi11dGlscy9sYXN0LmM6MjQyIHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VlayBvbiAlcyBmYWlsZWQiCittc2dzdHIgImRpIGNodXnhu4NuIHbhu4sgdHLDrSDEkeG7jWMgdHLDqm4gJXMgZ+G6t3AgbOG7l2kiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODUgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NworbXNnaWQgInN1cGVyYmxvY2sgbWFnaWMgbm90IGZvdW5kIgorbXNnc3RyICJraMO0bmcgdMOsbSB0aOG6pXkgbWEgdGh14bqtdCBzacOqdSBraOG7kWkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3JhbWZzIGVuZGlhbm5lc3MgaXMgJXNcbiIKK21zZ3N0ciAiY3JhbWZzIGtow7RuZyBlbmRpYW4gbMOgICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTEKK21zZ2lkICJiaWciCittc2dzdHIgImzhu5tuIHRyxrDhu5tjIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkxCittc2dpZCAibGl0dGxlIgorbXNnc3RyICJuaOG7jyB0csaw4bubYyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5NQorbXNnaWQgInVuc3VwcG9ydGVkIGZpbGVzeXN0ZW0gZmVhdHVyZXMiCittc2dzdHIgImfhurdwIHTDrW5oIG7Eg25nIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4ga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VwZXJibG9jayBzaXplICglZCkgdG9vIHNtYWxsIgorbXNnc3RyICJrw61jaCBj4buhIHNpw6p1IGto4buRaSAoJWQpIHF1w6Egbmjhu48iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDQKK21zZ2lkICJ6ZXJvIGZpbGUgY291bnQiCittc2dzdHIgInPhu5EgdOG6rXAgdGluIGtow7RuZyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwOAorbXNnaWQgImZpbGUgZXh0ZW5kcyBwYXN0IGVuZCBvZiBmaWxlc3lzdGVtIgorbXNnc3RyICJ04bqtcCB0aW4ga8OpbyBkw6BpIHF1w6EgxJFp4buDbSBjdeG7kWkgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxMAorbXNnaWQgIm9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICLEkeG7i25oIGThuqFuZyBjcmFtZnMgY8WpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjE5Cittc2dpZCAidW5hYmxlIHRvIHRlc3QgQ1JDOiBvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHRo4butIENSQzogxJHhu4tuaCBk4bqhbmcgY3JhbWZzIGPFqSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI3MgorbXNnaWQgImNyYyBlcnJvciIKK21zZ3N0ciAibOG7l2kgY3JjIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzAyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU1NAorbXNnaWQgInNlZWsgZmFpbGVkIgorbXNnc3RyICJkaSBjaHV54buDbiB24buLIHRyw60gxJHhu41jIGfhurdwIGzhu5dpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzA2Cittc2dpZCAicmVhZCByb21mcyBmYWlsZWQiCittc2dzdHIgIsSR4buNYyByb21mcyBn4bq3cCBs4buXaSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMzOAorbXNnaWQgInJvb3QgaW5vZGUgaXMgbm90IGRpcmVjdG9yeSIKK21zZ3N0ciAiaW5vZGUgZ+G7kWMga2jDtG5nIHBo4bqjaSB0aMawIG3hu6VjIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByb290IG9mZnNldCAoJWx1KSIKK21zZ3N0ciAib2Zmc2V0IGfhu5FjIHNhaSAoJWx1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2MAorbXNnaWQgImRhdGEgYmxvY2sgdG9vIGxhcmdlIgorbXNnc3RyICJraOG7kWkgZOG7ryBsaeG7h3UgcXXDoSBs4bubbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJkZWNvbXByZXNzaW9uIGVycm9yOiAlcyIKK21zZ3N0ciAibOG7l2kgZ2nhuqNpIG7DqW46ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgIGhvbGUgYXQgJWx1ICglenUpXG4iCittc2dzdHIgIiAgZ+G6t3AgbOG7lyDhu58gJWxkICglemQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTcgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICB1bmNvbXByZXNzaW5nIGJsb2NrIGF0ICVsdSB0byAlbHUgKCVsdSlcbiIKK21zZ3N0ciAiICDEkWFuZyBnaeG6o2kgbsOpbiBraOG7kWkg4bufICVsZCDEkeG6v24gJWxkICglbGQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJsb2NrICglbGQpIGJ5dGVzIgorbXNnc3RyICJraMOhYyBraOG7kWkgKCVsZCkgYnl0ZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwOAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tc2l6ZSAoJWxkIHZzICVsZCkgYnl0ZXMiCittc2dzdHIgImtow6FjIGvDrWNoIGPhu6EgKCVsZCB2cyAlbGQpIGJ5dGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MTMgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxNgorIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDQgbWlzYy11dGlscy91dWlkZC5jOjM3NSBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzgyCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUzNSBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1OCBzeXMtdXRpbHMvc3dhcG9uLmM6Mzg5CisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJs4buXaSBnaGk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI0CisjLCBjLWZvcm1hdAorbXNnaWQgImxjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJsY2hvd24gYuG7iyBs4buXaTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAiY2hvd24gYuG7iyBs4buXaTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidXRpbWUgZmFpbGVkOiAlcyIKK21zZ3N0ciAidXRpbWUgZ+G6t3AgbOG7l2k6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICJpbm9kZSB0aMawIG3hu6VjIGPDsyBoaeG7h3Ugc+G7kSBraMO0bmcgdsOgIGvDrWNoIGPhu6Ega2jDoWMgc+G7kSBraMO0bmc6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1rZGlyIGZhaWxlZDogJXMiCittc2dzdHIgIm1rZGlyIGLhu4sgbOG7l2k6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc2Cittc2dpZCAiZmlsZW5hbWUgbGVuZ3RoIGlzIHplcm8iCittc2dzdHIgInThuq1wIHRpbiBjw7MgdMOqbiBkw6BpIHPhu5Ega2jDtG5nIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc4Cittc2dpZCAiYmFkIGZpbGVuYW1lIGxlbmd0aCIKK21zZ3N0ciAidOG6rXAgdGluIGPDsyB0w6puIGTDoGkgc2FpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDg0Cittc2dpZCAiYmFkIGlub2RlIG9mZnNldCIKK21zZ3N0ciAia2hv4bqjbmcgYsO5IChvZmZzZXQpIGlub2RlIHNhaSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ5OQorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplIgorbXNnc3RyICJpbm9kZSB04bqtcCB0aW4gY8OzIGhp4buHdSBz4buRIGtow7RuZyB2w6Aga8OtY2ggY+G7oSBraMOhYyBz4buRIGtow7RuZyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUwMgorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gc2l6ZSBhbmQgbm9uLXplcm8gb2Zmc2V0IgorbXNnc3RyICJpbm9kZSB04bqtcCB0aW4gY8OzIGvDrWNoIGPhu6Egc+G7kSBraMO0bmcgdsOgIGhp4buHdSBraMOhYyBz4buRIGtow7RuZyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMQorbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gb2Zmc2V0IgorbXNnc3RyICJsacOqbiBr4bq/dCBt4buBbSBjw7MgaGnhu4d1IHPhu5Ega2jDtG5nIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTMzCittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBzaXplIgorbXNnc3RyICJsacOqbiBr4bq/dCBt4buBbSBjw7Mga8OtY2ggY+G7oSBz4buRIGtow7RuZyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU0MgorIywgYy1mb3JtYXQKK21zZ2lkICJzaXplIGVycm9yIGluIHN5bWxpbms6ICVzIgorbXNnc3RyICJn4bq3cCBs4buXaSBrw61jaCBj4buhIHRyb25nIGxpw6puIGvhur90IG3hu4FtOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1NgorIywgYy1mb3JtYXQKK21zZ2lkICJzeW1saW5rIGZhaWxlZDogJXMiCittc2dzdHIgImxpw6puIGvhur90IG3hu4FtIGLhu4sgbOG7l2k6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTY5CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZmlsZSBoYXMgbm9uLXplcm8gb2Zmc2V0OiAlcyIKK21zZ3N0ciAidOG6rXAgdGluIMSR4bq3YyBiaeG7h3QgY8OzIGhp4buHdSBraMOhYyBz4buRIGtow7RuZzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlmbyBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgIkZJRk8gY8OzIGvDrWNoIGPhu6Ega2jDoWMgc+G7kSBraMO0bmc6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgIuG7lSBj4bqvbSAoc29ja2V0KSBjw7Mga8OtY2ggY+G7oSBraMOhYyBz4buRIGtow7RuZzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYm9ndXMgbW9kZTogJXMgKCVvKSIKK21zZ3N0ciAiY2jhur8gxJHhu5kgZ2nhuqM6ICVzICglbykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtub2QgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWtub2QgYuG7iyBs4buXaTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGRhdGEgc3RhcnQgKCVsdSkgPCBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikgKyBzdGFydCAoJXp1KSIKK21zZ3N0ciAixJHhuqd1IGThu68gbGnhu4d1IHRoxrAgbeG7pWMgKCVsdSkgPCBrw61jaF9j4buhKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgxJHhuqd1ICglenUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIGVuZCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCittc2dzdHIgImN14buRaSBk4buvIGxp4buHdSB0aMawIG3hu6VjICglbHUpICE9IMSR4bqndSBk4buvIGxp4buHdSB04bqtcCB0aW4gKCVsdSkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzcKK21zZ2lkICJpbnZhbGlkIGZpbGUgZGF0YSBvZmZzZXQiCittc2dzdHIgInNhaSDEkeG6t3Qga2hv4bqjbmcgYsO5IChvZmZzZXQpIGThu68gbGnhu4d1IHThuq1wIHRpbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY4NCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzI2Cittc2dpZCAiaW52YWxpZCBibG9ja3NpemUgYXJndW1lbnQiCittc2dzdHIgInRoYW0gc+G7kSBibG9ja3NpemUgKGvDrWNoIHRoxrDhu5tjIGto4buRaSkga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo3MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IE9LXG4iCittc2dzdHIgIiVzOiBPS1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODQKK21zZ2lkICJDaGVjayB0aGUgY29uc2lzdGVuY3kgb2YgYSBNaW5peCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJLaeG7g20gdHJhIHTDrW5oIG5o4bqldCBxdcOhbiBj4bunYSBo4buHIHRo4buRbmcgdOG6rXAgdGluIE1pbml4LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODYKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgbGlzdCBhbGwgZmlsZW5hbWVzXG4iCittc2dzdHIgIiAtbCAgbGnhu4d0IGvDqiB04bqldCBj4bqjIHTDqm4gdOG6rXAgdGluXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NworIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICBhdXRvbWF0aWMgcmVwYWlyXG4iCittc2dzdHIgIiAtYSAgc+G7rWEgbOG7l2kgdOG7sSDEkeG7mW5nXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVwYWlyICAgICBpbnRlcmFjdGl2ZSByZXBhaXJcbiIKK21zZ3N0ciAiIC1yICBz4butYSBjaOG7r2Ega2nhu4N1IHTGsMahbmcgdMOhYyB24bubaSBuZ8aw4budaSBkw7luZ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgYmUgdmVyYm9zZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgY2jhur8gxJHhu5kgY2hpIHRp4bq/dFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTAKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN1cGVyICAgICAgb3V0cHV0IHN1cGVyLWJsb2NrIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAtcyAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gY+G7p2Egc3VwZXItYmxvY2sgKHNpw6p1IGto4buRaSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkxCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS11bmNsZWFyZWQgIGFjdGl2YXRlIG1vZGUgbm90IGNsZWFyZWQgd2FybmluZ3NcbiIKK21zZ3N0ciAiIC1tICBob+G6oXQgaMOzYSBjaOG6vyDEkeG7mSBraMO0bmcgeMOzYSBjw6FjIGPhuqNuaCBiw6FvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICBmb3JjZSBjaGVja1xuIgorbXNnc3RyICIgLWYgIMOpcCBideG7mWMga2nhu4NtIHRyYVxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhlc2UgeWVzIG5vIHF1ZXN0aW9ucyB1c2VzIHJwbWF0Y2goKSwgYW5kIHNob3VsZCBiZQorIy4gKiB0cmFuc2xhdGVkLgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICh5L24pPyAiCittc2dzdHIgIiVzICh5L24vYy9rKT8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG4veSk/ICIKK21zZ3N0ciAiJXMgKG4veS9rL2MpPyAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ5XG4iCittc2dzdHIgImNcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5cbiIKK21zZ3N0ciAia1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZC5cdCAiCittc2dzdHIgIiVzIMSRw6MgxJHGsOG7o2MgZ+G6r24uXHQgIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODkKK21zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gY29udGludWUiCittc2dzdHIgIkLhuqFuIGPDsyB0aOG7sWMgc+G7sSBtdeG7kW4gdGnhur9wIHThu6VjIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2sgYWJvcnRlZC5cbiIKK21zZ3N0ciAia2nhu4NtIHRyYSBi4buLIGThu6tuZy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzE5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yIDwgRklSU1RaT05FIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIlbDuW5nIG5yIDwgVsOZTkfEkOG6plVUScOKTiB0cm9uZyB04bqtcCB0aW4g4oCcJXPigJ0uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPj0gWk9ORVMgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiVsO5bmcgbnIgPj0gQ8OBQ1bDmU5HIHRyb25nIHThuq1wIHRpbiDigJwlc+KAnS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyNiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDcKK21zZ2lkICJSZW1vdmUgYmxvY2siCittc2dzdHIgIljDs2Ega2jhu5FpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogdW5hYmxlIHRvIHNlZWsgdG8gYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIkzhu5dpIMSR4buNYzoga2jDtG5nIHRo4buDIHTDrG0gdOG7m2kga2jhu5FpIHRyb25nIHThuq1wIHRpbiDigJwlc+KAnVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJM4buXaSDEkeG7jWM6IGto4buRaSBzYWkgdHJvbmcgdOG6rXAgdGluIOKAnCVz4oCdXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSW50ZXJuYWwgZXJyb3I6IHRyeWluZyB0byB3cml0ZSBiYWQgYmxvY2tcbiIKKyJXcml0ZSByZXF1ZXN0IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorIkzhu5dpIG7hu5lpIGLhu5k6IGdoaSB2w6BvIGto4buRaSBzYWlcbiIKKyJZw6p1IGPhuqd1IGdoaSBi4buLIGLhu48gcXVhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4NworbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICJkaSBjaHV54buDbiB24buLIHRyw60gxJHhu41jIGLhu4sgbOG7l2kgdHJvbmcgZ2hpX2to4buRaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIldyaXRlIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIkzhu5dpIGdoaToga2jhu5FpIHNhaSB0cm9uZyB04bqtcCB0aW4g4oCcJXPigJ1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTA1Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfc3VwZXJfYmxvY2siCittc2dzdHIgImRpIGNodXnhu4NuIHbhu4sgdHLDrSDEkeG7jWMgYuG7iyBs4buXaSB0cm9uZyBnaGlfc2nDqnVfIGto4buRaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTA3Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICJraMO0bmcgdGjhu4MgZ2hpIHNpw6p1LWto4buRaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTIwCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIGdoaSDDoW5oIHjhuqEgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyMworbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIGdoaSDDoW5oIHjhuqEgdsO5bmciCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyNgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgIktow7RuZyB0aOG7gyBnaGkgY8OhYyBpbm9kZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTU4Cittc2dpZCAidW5hYmxlIHRvIGFsbG9jIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGPhuqVwIHBow6F0IHbDuW5nIMSR4buHbSBjaG8gc2nDqnUga2jhu5FpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjEKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBzdXBlciBibG9jayIKK21zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyBzacOqdSBraOG7kWkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4MworbXNnaWQgImJhZCBtYWdpYyBudW1iZXIgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInPhu5EgbWFnaWMgc2FpIHRyb25nIHNpw6p1IGto4buRaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg1Cittc2dpZCAiT25seSAxayBibG9ja3Mvem9uZXMgc3VwcG9ydGVkIgorbXNnc3RyICJDaOG7iSBo4buXIHRy4bujIGto4buRaS92w7luZyAxayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg3CisjLCBmdXp6eQorbXNnaWQgImJhZCBzX25pbm9kZXMgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInbDuW5nIHNfaW1hcF9ibG9ja3Mgc2FpIHRyb25nIHNpw6p1IGto4buRaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg5Cittc2dpZCAiYmFkIHNfaW1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInbDuW5nIHNfaW1hcF9ibG9ja3Mgc2FpIHRyb25nIHNpw6p1IGto4buRaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkxCisjLCBmdXp6eQorbXNnaWQgImJhZCBzX2ZpcnN0ZGF0YXpvbmUgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInbDuW5nIHNfaW1hcF9ibG9ja3Mgc2FpIHRyb25nIHNpw6p1IGto4buRaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk0Cittc2dpZCAiYmFkIHNfem1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInbDuW5nIHNfem1hcF9ibG9ja3Mgc2FpIHRyb25nIHNpw6p1IGto4buRaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjEwCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgbWFwIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgcGjDom4gcGjhu5FpIGLhu5kgxJHhu4dtIGNobyDDoW5oIHjhuqEgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxMworbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgbWFwIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgcGjDom4gY+G6pXAgYuG7mSDEkeG7h20gY2hvIMOhbmggeOG6oSB2w7luZyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE2Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgcGjDom4gcGjhu5FpIGLhu5kgxJHhu4dtIGNobyBjw6FjIGlub2RlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTkKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBjb3VudCIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIHBow6JuIHBo4buRaSBi4buZIMSR4buHbSBjaG8gdmnhu4djIMSR4bq/bSBpbm9kZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjIyCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBjb3VudCIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIHBow6JuIHBo4buRaSBi4buZIMSR4buHbSBjaG8gdmnhu4djIMSR4bq/bSB2w7luZyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI2Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGUgbWFwIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHhu41jIMOhbmggeOG6oSBpbm9kZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjMwCittc2dpZCAiVW5hYmxlIHRvIHJlYWQgem9uZSBtYXAiCittc2dzdHIgIktow7RuZyB0aOG7gyDEkeG7jWMgw6FuaCB44bqhIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzQKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZXMiCittc2dzdHIgIktow7RuZyB0aOG7gyDEkeG7jWMgY8OhYyBpbm9kZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorbXNnc3RyICJD4bqjbmggYsOhbzogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgaW5vZGVzXG4iCittc2dzdHIgIiVsZCBpbm9kZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGJsb2Nrc1xuIgorbXNnc3RyICIlbGQga2jhu5FpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3RkYXRhem9uZT0lamQgKCVqZClcbiIKK21zZ3N0ciAiRmlyc3RkYXRhem9uZT0lamQgKCVqZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSVkXG4iCittc2dzdHIgIkPhu6FfdsO5bmc9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIk1heHNpemU9JXp1XG4iCittc2dzdHIgIkPhu6FfdOG7kWlfxJFhPSV6dVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBzdGF0ZT0lZFxuIgorbXNnc3RyICJUcuG6oW5nIHRow6FpIGjhu4cgdGjhu5FuZyB04bqtcCB0aW49JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJuYW1lbGVuPSV6ZFxuIgorIlxuIgorbXNnc3RyICIiCisiY+G7oV90w6puPSV6ZFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NjQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVkIG1hcmtlZCB1bnVzZWQsIGJ1dCB1c2VkIGZvciBmaWxlICclcydcbiIKK21zZ3N0ciAiaW5vZGUgJWQgxJHDoW5oIGThuqV1IGtow7RuZyBz4butIGThu6VuZywgbmjGsG5nIGzhuqFpIGTDuW5nIGNobyB04bqtcCB0aW4g4oCcJXPigJ1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjY3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcxNworbXNnaWQgIk1hcmsgaW4gdXNlIgorbXNnc3RyICJE4bqldSDEkcaw4bujYyBkw7luZyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Njg5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjczNworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlsZSBgJXMnIGhhcyBtb2RlICUwNW9cbiIKK21zZ3N0ciAiVOG6rXAgdGluIOKAnCVz4oCdIGPDsyBjaOG6vyDEkeG7mSAlMDVvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY5NiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogaW5vZGUgY291bnQgdG9vIGJpZy5cbiIKK21zZ3N0ciAiQ+G6o25oIGLDoW86IHPhu5EgbMaw4bujbmcgaW5vZGUgcXXDoSBs4bubbi5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzU1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2MworbXNnaWQgInJvb3QgaW5vZGUgaXNuJ3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImlub2RlIGfhu5FjIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHRoxrAgbeG7pWMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc3NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgaGFzIGJlZW4gdXNlZCBiZWZvcmUuIE5vdyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJLaOG7kWkgxJHDoyDEkcaw4bujYyBkw7luZy4gQsOieSBnaeG7nSB0cm9uZyB04bqtcCB0aW4g4oCcJXPigJ0uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODA4CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTIKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwOAorbXNnaWQgIkNsZWFyIgorbXNnc3RyICJYw7NhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrICVkIGluIGZpbGUgYCVzJyBpcyBtYXJrZWQgbm90IGluIHVzZS4iCittc2dzdHIgIkto4buRaSAlZCB0cm9uZyB04bqtcCB0aW4g4oCcJXPigJ0gY8OzIGThuqV1IOKAnGtow7RuZyBkw7luZ+KAnS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MjAKK21zZ2lkICJDb3JyZWN0IgorbXNnc3RyICLEkMO6bmciCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk1OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkaXJlY3RvcnkgJyVzJyBjb250YWlucyBhIGJhZCBpbm9kZSBudW1iZXIgZm9yIGZpbGUgJyUuKnMnLiIKK21zZ3N0ciAiVGjGsCBt4bulYyDigJwlc+KAnSBjaOG7qWEgbeG7mXQgc+G7kSBoaeG7h3UgaW5vZGUgc2FpIGNobyB04bqtcCB0aW4g4oCcJS4qc+KAnS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk2MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDM1Cittc2dpZCAiIFJlbW92ZSIKK21zZ3N0ciAiIELhu48iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIKK21zZ3N0ciAiJXM6IHRoxrAgbeG7pWMgc2FpOiDigJwu4oCdIGtow7RuZyBwaOG6o2kgxJHhu6luZyDEkeG6p3VcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTg2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuLicgaXNuJ3Qgc2Vjb25kXG4iCittc2dzdHIgIiVzOiB0aMawIG3hu6VjIHNhaTog4oCcLi7igJ0ga2jDtG5nIHBo4bqjaSBjw6FpIHRo4bupIGhhaVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDk0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMTcKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAibOG7l2kgbuG7mWkgYuG7mSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA5NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBzaXplIDwgMzIiCittc2dzdHIgIiVzOiB0aMawIG3hu6VjIHNhaToga8OtY2ggY+G7oSA8IDMyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogaW52YWxpZCBpX3pvbmUsIHVzZSAtLXJlcGFpciB0byBmaXhcbiIKK21zZ3N0ciAiJXM6IHRoxrAgbeG7pWMgc2FpOiDigJwu4oCdIGtow7RuZyBwaOG6o2kgxJHhu6luZyDEkeG6p3VcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEzMgorbXNnaWQgInNlZWsgZmFpbGVkIGluIGJhZF96b25lIgorbXNnc3RyICJkaSBjaHV54buDbiB24buLIHRyw60gxJHhu41jIGtow7RuZyB0aMOgbmggY8O0bmcgdHJvbmcgYmFkX3pvbmUgKHbDuW5nX3NhaSkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5OAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbW9kZSBub3QgY2xlYXJlZC4iCittc2dzdHIgIklub2RlICVsdSBjaMawYSDEkcaw4bujYyB4w7NhLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA3CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBub3QgdXNlZCwgbWFya2VkIHVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIkNoxrBhIHPhu60gZOG7pW5nICVsdSBpbm9kZSwgY8OybiDEkcOhbmggZOG6pXUg4oCcxJHDoyBkw7luZ+KAnSB0cm9uZyDhuqNuaCBt4bqjbmcuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IHVzZWQsIG1hcmtlZCB1bnVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIsSQw6Mgc+G7rSBk4bulbmcgJWx1IGlub2RlLCBjw7JuIMSRw6FuaCBk4bqldSDigJxjaMawYSBkw7luZ+KAnSB0cm9uZyDhuqNuaCBt4bqjbmcuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTQKK21zZ2lkICJTZXQiCittc2dzdHIgIsSQ4bq3dCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE4CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSAobW9kZSA9ICUwN28pLCBpX25saW5rcz0lZCwgY291bnRlZD0lZC4iCittc2dzdHIgIklub2RlICVsdSAoY2jhur8gxJHhu5kgPSAlMDdvKSwgaV9ubGlua3M9JWQsIHPhu5FfbMaw4bujbmc9JWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjEKK21zZ2lkICJTZXQgaV9ubGlua3MgdG8gY291bnQiCittc2dzdHIgIsSQ4bq3dCBpX25saW5rcyBjaG8gc+G7kSDEkeG6v20iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIzMworIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbWFya2VkIGluIHVzZSwgbm8gZmlsZSB1c2VzIGl0LiIKK21zZ3N0ciAiVsO5bmcgJWx1OiDEkcaw4bujYyDEkcOhbmggZOG6pXUgbMOgIMSRYW5nIGTDuW5nLCBraMO0bmcgdOG6rXAgdGluIG7DoG8gZMO5bmcgbsOzLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE3OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjM1Cittc2dpZCAiVW5tYXJrIgorbXNnc3RyICJC4buPIMSRw6FuaCBk4bqldSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiVsO5bmcgJWx1OiDEkWFuZyBkw7luZywgc+G7kSBsxrDhu6NuZz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTg3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiVsO5bmcgJWx1OiBraMO0bmcgZMO5bmcsIHPhu5EgbMaw4bujbmc9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5MQorbXNnaWQgImJhZCBpbm9kZSBzaXplIgorbXNnc3RyICJrw61jaCBj4buhIGlub2RlIHNhaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5MworbXNnaWQgImJhZCB2MiBpbm9kZSBzaXplIgorbXNnc3RyICJrw61jaCBj4buhIGlub2RlIHYyIHNhaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTMzNworbXNnaWQgIm5lZWQgdGVybWluYWwgZm9yIGludGVyYWN0aXZlIHJlcGFpcnMiCittc2dzdHIgImPhuqduIGTDuW5nIHRoaeG6v3QgYuG7iyBjdeG7kWkgY2hvIG5o4buvbmcgc+G7rWEgY2jhu69hIHTGsMahbmcgdMOhYyBxdWEgbOG6oWkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyAlczogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgY2xlYW4sIG5vIGNoZWNrLlxuIgorbXNnc3RyICIlcyBz4bqhY2ggc+G6vSwga2jDtG5nIGtp4buDbSB0cmEuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9yY2luZyBmaWxlc3lzdGVtIGNoZWNrIG9uICVzLlxuIgorbXNnc3RyICJC4bqvdCBideG7mWMga2nhu4NtIHRyYSBo4buHIHRo4buRbmcgdOG6rXAgdGluIHRyw6puICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzU3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gb24gJXMgaXMgZGlydHksIG5lZWRzIGNoZWNraW5nLlxuIgorbXNnc3RyICJI4buHIHRo4buRbmcgdOG6rXAgdGluICVzIGLhuqluLCBj4bqnbiBraeG7g20gdHJhLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmxkIGlub2RlcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2bGQgaW5vZGUgxJHGsOG7o2MgZMO5bmcgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiU2bGQgem9uZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiU2bGQgdsO5bmcgxJHGsOG7o2MgZMO5bmcgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmQgcmVndWxhciBmaWxlc1xuIgorIiU2ZCBkaXJlY3Rvcmllc1xuIgorIiU2ZCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGJsb2NrIGRldmljZSBmaWxlc1xuIgorIiU2ZCBsaW5rc1xuIgorIiU2ZCBzeW1ib2xpYyBsaW5rc1xuIgorIi0tLS0tLVxuIgorIiU2ZCBmaWxlc1xuIgorbXNnc3RyICIiCisiXG4iCisiJTZkIHThuq1wIHRpbiB0aMaw4budbmdcbiIKKyIlNmQgdGjGsCBt4bulY1xuIgorIiU2ZCB04bqtcCB0aW4gdGhp4bq/dCBi4buLIGvDvSB04buxXG4iCisiJTZkIHThuq1wIHRpbiB0aGnhur90IGLhu4sga2jhu5FpXG4iCisiJTZkIGxpw6puIGvhur90XG4iCisiJTZkIGxpw6puIGvhur90IG3hu4FtXG4iCisiLS0tLS0tXG4iCisiJTZkIHThuq1wIHRpblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDExCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiRklMRSBTWVNURU0gSEFTIEJFRU4gQ0hBTkdFRFxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyJI4buGIFRI4buQTkcgVOG6rFAgVElOIELhu4ogVEhBWSDEkOG7lElcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MjMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODMzCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUzOSBkaXNrLXV0aWxzL3BhcnR4LmM6MTAzNSBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTIKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzk4IHN5cy11dGlscy9kbWVzZy5jOjY1OSBzeXMtdXRpbHMvd2RjdGwuYzozNDYKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQxMSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI3MiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjM0OQorIzogdGV4dC11dGlscy9wZy5jOjEyNDgKK21zZ2lkICJ3cml0ZSBmYWlsZWQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBnaGkiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbWlnaHQgbm90IGJlIGFuIElTTyBmaWxlc3lzdGVtIgorbXNnc3RyICIlczogY8OzIGzhur0ga2jDtG5nIHBo4bqjaSBt4buZdCBo4buHIHRo4buRbmcgdOG6rXAgdGluIElTTyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTM5CisjLCBjLWZvcm1hdAorbXNnaWQgInNlZWsgZXJyb3Igb24gJXMiCittc2dzdHIgImzhu5dpIGRpIGNodXnhu4NuIHbhu4sgdHLDrSDEkeG7jWMgdHLDqm4gJXMiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE0MgorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkIGVycm9yIG9uICVzIgorbXNnc3RyICJs4buXaSDEkeG7jWMgdHLDqm4gJXMiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZWN0b3IgY291bnQ6ICVkLCBzZWN0b3Igc2l6ZTogJWRcbiIKK21zZ3N0ciAic+G7kSBjdW5nIHThu6s6ICVkLCBrw61jaCBj4buhIGN1bmcgdOG7qzogJWRcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGlzbzk2NjBfaW1hZ2VfZmlsZT5cbiIKK21zZ3N0ciAiICVzIFtjw6FjX3TDuXlfY2jhu41uXSA8dOG7h3BfdGluX+G6o25oX2lzbzk2NjA+XG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3NAorbXNnaWQgIlNob3cgdGhlIGxlbmd0aCBvZiBhbiBJU08tOTY2MCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJIaeG7g24gdGjhu4sgxJHhu5kgZMOgaSBj4bunYSBt4buZdCBo4buHIHRo4buRbmcgdOG6rXAgdGluIElTTy5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTc3Cittc2dpZCAiIC1kLCAtLWRpdmlzb3I9PG51bWJlcj4gIGRpdmlkZSB0aGUgYW1vdW50IG9mIGJ5dGVzIGJ5IDxudW1iZXI+XG4iCittc2dzdHIgIiAtZCwgLS1kaXZpc29yPTxz4buRPiAgICAgIGNoaWEgdOG7lW5nIGzGsOG7o25nIGJ5dGUgdGhlbyA8c+G7kT5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTc4Cittc2dpZCAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHNob3cgc2VjdG9yIGNvdW50IGFuZCBzaXplXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBoaeG7g24gdGjhu4sgc+G7kSBsxrDhu6NuZyB2w6Aga8OtY2ggdGjGsOG7m2MgY3VuZyB04burXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjIxMAorbXNnaWQgImludmFsaWQgZGl2aXNvciBhcmd1bWVudCIKK21zZ3N0ciAixJHhu5FpIHPhu5EgxrDhu5tjIHPhu5Ega2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZSBbYmxvY2stY291bnRdXG4iCittc2dzdHIgIkPDoWNoIGTDuW5nOiAlcyBbIHTDuXlfY2jhu41u4oCmIF0gdGhp4bq/dF9i4buLIFtz4buRX2zGsOG7o25nX2to4buRaV1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc3Cittc2dpZCAiTWFrZSBhbiBTQ08gYmZzIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlThuqFvIG3hu5l0IGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gYmZzIFNDT1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1OLCAtLWlub2Rlcz1OVU0gICAgc3BlY2lmeSBkZXNpcmVkIG51bWJlciBvZiBpbm9kZXNcbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICBzcGVjaWZ5IHZvbHVtZSBuYW1lXG4iCisiIC1GLCAtLWZuYW1lPU5BTUUgICAgc3BlY2lmeSBmaWxlIHN5c3RlbSBuYW1lXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyIgLWMgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1sICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiICAgICAgICAgICAgICAgICAgICAgLVYgYXMgdmVyc2lvbiBtdXN0IGJlIG9ubHkgb3B0aW9uXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIlTDuXkgY2jhu41uOlxuIgorIiAtTiwgLS1pbm9kZXM9U+G7kCAgICAgY2jhu4kgxJHhu4tuaCBT4buQIG1vbmcgbXXhu5FuIGNobyBuw7p0XG4iCisiIC1WLCAtLXZuYW1lPVTDik4gICAgIGNo4buJIMSR4buLbmggVMOKTiBwaMOibiB2w7luZ1xuIgorIiAtRiwgLS1mbmFtZT1Uw4pOICAgICBjaOG7iSDEkeG7i25oIFTDik4gaOG7hyB0aOG7kW5nXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgZ2nhuqNpIHRow61jaCDEkcOjIGzDoG0gbmjhu69uZyBnw6xcbiIKKyIgLWMgICAgICAgICAgICAgICAgICB0w7l5IGNo4buNbiBuw6B5IMSRxqFuIGdp4bqjbiBi4buLIGzhu50gxJFpXG4iCisiIC1sICAgICAgICAgICAgICAgICAgdMO5eSBjaOG7jW4gbsOgeSDEkcahbiBnaeG6o24gYuG7iyBs4budIMSRaVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHbhu4EgcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAtViBwaOG6o2kgxJHhu6luZyBt4buZdCBtw6xuaFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IHLhu5NpIHRob8OhdFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTQ0Cittc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICJz4buRIGzGsOG7o25nIGlub2RlIGtow7RuZyBo4bujcCBs4buHIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTUwCittc2dpZCAidm9sdW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgInTDqm4ga2jhu5FpIHRpbiBxdcOhIGTDoGkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTcKK21zZ2lkICJmc25hbWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAidMOqbiBo4buHIHRo4buRbmcgdOG6rXAgdGluIHF1w6EgZMOgaSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5MworbXNnaWQgImludmFsaWQgYmxvY2stY291bnQiCittc2dzdHIgInPhu5EgbMaw4bujbmcga2jhu5FpIHNhaSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgImtow7RuZyBs4bqleSDEkcaw4bujYyBrw61jaCBj4buhICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrcyBhcmd1bWVudCB0b28gbGFyZ2UsIG1heCBpcyAlbGx1IgorbXNnc3RyICLEkeG7kWkgc+G7kSBraOG7kWkgcXXDoSBs4bubbiwgdOG7kWkgxJFhICVsbHUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMTkKK21zZ2lkICJ0b28gbWFueSBpbm9kZXMgLSBtYXggaXMgNTEyIgorbXNnc3RyICJxdcOhIG5oaeG7gXUgaW5vZGUgLSB04buRaSDEkWEgbMOgIDUxMiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlLCBuZWVkIGF0IGxlYXN0ICVsbHUgYmxvY2tzIgorbXNnc3RyICJraMO0bmcgxJHhu6cgY2jhu5cgdHLhu5FuZywgY+G6p24gw610IG5o4bqldCAlbGx1IGto4buRaSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2U6ICVzXG4iCittc2dzdHIgIlRoaeG6v3QgYuG7izogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJWb2x1bWU6IDwlLTZzPlxuIgorbXNnc3RyICJLaOG7kWkgdGluOiA8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJGU25hbWU6IDwlLTZzPlxuIgorbXNnc3RyICJUw6puIGjhu4cgdGjhu5FuZyB04bqtcCB0aW46IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrU2l6ZTogJWRcbiIKK21zZ3N0ciAiS8OtY2ggY+G7oSBraOG7kWk6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAxIGJsb2NrKVxuIgorbXNnc3RyICJJbm9kZTogJWx1ICh0cm9uZyAxIGto4buRaSlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluICVsbHUgYmxvY2tzKVxuIgorbXNnc3RyICJJbm9kZXM6ICVsdSAodHJvbmcgJWxsdSBraOG7kWkpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrczogJWxsdVxuIgorbXNnc3RyICJLaOG7kWk6ICVsbGRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSBlbmQ6ICVkLCBEYXRhIGVuZDogJWRcbiIKK21zZ3N0ciAiS+G6v3QgdGjDumMgaW5vZGU6ICVkLCBL4bq/dCB0aMO6YyBk4buvIGxp4buHdTogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NworbXNnaWQgImVycm9yIHdyaXRpbmcgc3VwZXJibG9jayIKK21zZ3N0ciAibOG7l2kgZ2hpIG5o4bubIHNpw6p1IGto4buRaSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI3OAorbXNnaWQgImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIKK21zZ3N0ciAibOG7l2kgZ2hpIGlub2RlIGfhu5FjIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjgzCittc2dpZCAiZXJyb3Igd3JpdGluZyBpbm9kZSIKK21zZ3N0ciAibOG7l2kgZ2hpIGlub2RlIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjg2Cittc2dpZCAic2VlayBlcnJvciIKK21zZ3N0ciAibOG7l2kgZGkgY2h1eeG7g24gduG7iyB0csOtIMSR4buNYyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5MgorbXNnaWQgImVycm9yIHdyaXRpbmcgLiBlbnRyeSIKK21zZ3N0ciAibOG7l2kgZ2hpIG3hu6VjIG5o4bqtcCBjaOG6pW0gKC4pIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjk2Cittc2dpZCAiZXJyb3Igd3JpdGluZyAuLiBlbnRyeSIKK21zZ3N0ciAibOG7l2kgZ2hpIG3hu6VjIG5o4bqtcCBjaOG6pW0gxJHDtGkgKC4uKSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjbG9zaW5nICVzIgorbXNnc3RyICJs4buXaSDEkcOzbmcgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy10IDx0eXBlPl0gW2ZzLW9wdGlvbnNdIDxkZXZpY2U+IFs8c2l6ZT5dXG4iCittc2dzdHIgIiAlcyBbVFXhu7JfQ0jhu4xOXSBbLXQgPGtp4buDdT5dIFt0w7l5IGNo4buNbiBo4buHIHRo4buRbmcgdOG6rXAgdGluXSA8dGhp4bq/dF9i4buLPiBbPGvDrWNoX2Phu6E+XVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0OAorbXNnaWQgIk1ha2UgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJU4bqhbyBt4buZdCBo4buHIHRo4buRbmcgdOG6rXAgdGluIExpbnV4LlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICIgLXQsIC0tdHlwZT08dHlwZT4gIGZpbGVzeXN0ZW0gdHlwZTsgd2hlbiB1bnNwZWNpZmllZCwgZXh0MiBpcyB1c2VkXG4iCittc2dzdHIgIiAtdCwgLS10eXBlPTxraeG7g3U+ICBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpbjsga2hpIGtow7RuZyBjaOG7iSDEkeG7i25oIHRow6wgZXh0MiBz4bq9IMSRxrDhu6NjIGTDuW5nXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgZnMtb3B0aW9ucyAgICAgcGFyYW1ldGVycyBmb3IgdGhlIHJlYWwgZmlsZXN5c3RlbSBidWlsZGVyXG4iCittc2dzdHIgIiAgICAgZnMtb3B0aW9ucyAgICAgY8OhYyDEkeG7kWkgc+G7kSBkw6BuaCBjaG8gYuG7mSB4w6J5IGThu7FuZyBo4buHIHRo4buRbmcgdOG6rXAgdGluIHRo4buxYyB04bq/XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiICAgICA8ZGV2aWNlPiAgICAgICDEkcaw4budbmcgZOG6q24gxJHhur9uIHRoaeG6v3QgYuG7iyBz4bq9IGTDuW5nXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPHNpemU+ICAgICAgICAgbnVtYmVyIG9mIGJsb2NrcyB0byBiZSB1c2VkIG9uIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiICAgICA8c2l6ZT4gICAgICAgICBz4buRIGto4buRaSBz4bq9IMSRxrDhu6NjIGTDuW5nIHRyw6puIHRoaeG6v3QgYuG7i1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeWluZyAtViBtb3JlIHRoYW4gb25jZSB3aWxsIGNhdXNlIGEgZHJ5LXJ1blxuIgorbXNnc3RyICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICBnaeG6o2kgdGjDrWNoIMSRYW5nIGzDoG0gbmjhu69uZyBnw6w7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIGNo4buJIMSR4buLbmggLVYgbmhp4buBdSBoxqFuIG3hu5l0IHPhur0gdGjhu7FjIGhp4buHbiBjaOG6oXkgdGjhu61cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJzaW9uICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0O1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAtViBhcyAtLXZlcnNpb24gbXVzdCBiZSB0aGUgb25seSBvcHRpb25cbiIKK21zZ3N0ciAiIgorIiAtViwgLS12ZXJzaW9uICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdDtcbiIKKyIgICAgICAgICAgICAgICAgICAgIC1WIGPFqW5nIG5oxrAgLS12ZXJzaW9uIHBo4bqjaSBsw6AgdMO5eSBjaOG7jW4gZHV5IG5o4bqldFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICIgLWgsIC0taGVscCAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1oLCAtLWhlbHAgICAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6MTM5IGxpYi9leGVjX3NoZWxsLmM6NDkgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjMzCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2NTcgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTkyCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODAwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDQgc2NoZWR1dGlscy9jaHJ0LmM6NTU4CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjI2MCBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMzkgc3lzLXV0aWxzL2Zsb2NrLmM6MTIyCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQzMCBzeXMtdXRpbHMvcHJsaW1pdC5jOjY0NCBzeXMtdXRpbHMvcnRjd2FrZS5jOjU3NworIzogc3lzLXV0aWxzL3NldGFyY2guYzozMjQgc3lzLXV0aWxzL3NldGFyY2guYzo0MDMgc3lzLXV0aWxzL3NldHNpZC5jOjExNQorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM0MCBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNDIgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NjEKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTgxIHRleHQtdXRpbHMvcGcuYzoxMzc1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBleGVjdXRlICVzIgorbXNnc3RyICJs4buXaSB0aOG7sWMgaGnhu4duICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1c2FnZTogJXMgWy1oXSBbLXZdIFstYiBibGtzaXplXSBbLWUgZWRpdGlvbl0gWy1OIGVuZGlhbl0gWy1pIGZpbGVdIFstbiBuYW1lXSBkaXJuYW1lIG91dGZpbGVcbiIKKyIgLWggICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyIgLXYgICAgICAgICBiZSB2ZXJib3NlXG4iCisiIC1FICAgICAgICAgbWFrZSBhbGwgd2FybmluZ3MgZXJyb3JzIChub24temVybyBleGl0IHN0YXR1cylcbiIKKyIgLWIgYmxrc2l6ZSB1c2UgdGhpcyBibG9ja3NpemUsIG11c3QgZXF1YWwgcGFnZSBzaXplXG4iCisiIC1lIGVkaXRpb24gc2V0IGVkaXRpb24gbnVtYmVyIChwYXJ0IG9mIGZzaWQpXG4iCisiIC1OIGVuZGlhbiAgc2V0IGNyYW1mcyBlbmRpYW5uZXNzIChiaWd8bGl0dGxlfGhvc3QpLCBkZWZhdWx0IGhvc3RcbiIKKyIgLWkgZmlsZSAgICBpbnNlcnQgYSBmaWxlIGltYWdlIGludG8gdGhlIGZpbGVzeXN0ZW0gKHJlcXVpcmVzID49IDIuNC4wKVxuIgorIiAtbiBuYW1lICAgIHNldCBuYW1lIG9mIGNyYW1mcyBmaWxlc3lzdGVtXG4iCisiIC1wICAgICAgICAgcGFkIGJ5ICVkIGJ5dGVzIGZvciBib290IGNvZGVcbiIKKyIgLXMgICAgICAgICBzb3J0IGRpcmVjdG9yeSBlbnRyaWVzIChvbGQgb3B0aW9uLCBpZ25vcmVkKVxuIgorIiAteiAgICAgICAgIG1ha2UgZXhwbGljaXQgaG9sZXMgKHJlcXVpcmVzID49IDIuMy4zOSlcbiIKKyIgZGlybmFtZSAgICByb290IG9mIHRoZSBmaWxlc3lzdGVtIHRvIGJlIGNvbXByZXNzZWRcbiIKKyIgb3V0ZmlsZSAgICBvdXRwdXQgZmlsZVxuIgorbXNnc3RyICIiCisiY8OhY2ggZMO5bmc6ICVzIFstaF0gWy12XSBbLWIgY+G7oV9raOG7kWldIFstZSBwaGnDqm5fYuG6o25dIFstTiBraeG7g3UteOG6v3AtYnl0ZV0gWy1pIHThuq1wX3Rpbl0gWy1uIHTDqm5dIHTDqm5fdGjGsF9t4bulYyB04bqtcF90aW5fcmFcbiIKKyIgLWggICAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeVxuIgorIiAtdiAgICAgICAgIHh14bqldCBjaGkgdGnhur90XG4iCisiIC1FICAgICAgICAgbMOgbSBjaG8gbeG7jWkgY+G6o25oIGLDoW8gbMOgIGzhu5dpICh0cuG6oW5nIHRow6FpIHRob8OhdCBraMOhYyBz4buRIGtow7RuZylcbiIKKyIgLWIgY+G7oV9raOG7kWkgZMO5bmcga8OtY2ggY+G7oSBraOG7kWkgbsOgeSAocGjhuqNpIGLhurFuZyB24bubaSBrw61jaCBj4buhIHRyYW5nKVxuIgorIiAtZSBi4bqjbl9pbiAgxJHhurd0IHPhu5EgdGjhu6kgdOG7sSBi4bqjbiBpbiAocGjhuqduIGPhu6dhIGZzaWQpXG4iCisiIC1OIHRo4bupLXThu7EtYnl0ZSDEkeG6t3QgdMOsbmggdHLhuqFuZyBjdeG7kWkgY3JhbWZzOlxuIgorIiAgICAgICAgICAgICAgICAgICAgKiBiaWcgICAgICBieXRlIGzhu5tuIMSR4bupbmcgdHLGsOG7m2NcbiIKKyIgICAgICAgICAgICAgICAgICAgICogbGl0dGxlICAgYnl0ZSBuaOG7jyDEkeG7qW5nIHRyxrDhu5tjXG4iCisiICAgICAgICAgICAgICAgICAgICAqIGhvc3QgICAgIHRoZW8gbcOheSDEkWFuZyBkw7luZyht4bq3YyDEkeG7i25oKVxuIgorIiAtaSB04bqtcF90aW4gY2jDqG4gbeG7mXQg4bqjbmggdOG6rXAgdGluIHbDoG8gaOG7hyB0aOG7kW5nIHThuq1wIHRpbiAoY+G6p24g4omlMi40LjApXG4iCisiIC1uIHTDqm4gICAgIMSR4bq3dCB0w6puIGPhu6dhIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gY3JhbWZzXG4iCisiIC1wICAgICAgICAgxJHhu4dtIHRoZW8gJWQgYnl0ZSBjaG8gbcOjIGto4bufaSDEkeG7mW5nXG4iCisiIC1zICAgICAgICAgc+G6r3AgeOG6v3AgY8OhYyBt4bulYyBuaOG6rXAgdGjGsCBt4bulYyAodMO5eSBjaOG7jW4gY8WpIHRow6wgYuG7iyBs4budIMSRaSlcbiIKKyIgLXogICAgICAgICB04bqhbyBjw6FjIGzhu5cgZOG7qXQga2hvw6F0IChj4bqnbiDiiaUyLjMuMzkpXG4iCisiIHTDqm5fdGjGsF9t4bulYyBn4buRYyBj4bunYSBo4buHIHRo4buRbmcgdOG6rXAgdGluIGPhuqduIG7DqW5cbiIKKyIgdOG6rXBfdGluX3JhICB04bqtcCB0aW4ga+G6v3QgeHXhuqV0XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhZGxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAicmVhZGxpbmsgZ+G6t3AgbOG7l2k6ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzA4CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyB0aMawIG3hu6VjICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NDQzCittc2dpZCAiZmlsZXN5c3RlbSB0b28gYmlnLiAgRXhpdGluZy4iCittc2dzdHIgImjhu4cgdGjhu5FuZyB04bqtcCB0aW4gcXXDoSBs4bubbi4gxJBhbmcgdGhvw6F0LiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYwMgorIywgYy1mb3JtYXQKK21zZ2lkICJBSUVFRTogYmxvY2sgXCJjb21wcmVzc2VkXCIgdG8gPiAyKmJsb2NrbGVuZ3RoICglbGQpXG4iCittc2dzdHIgIkFJRUVFOiBraOG7kWkgXCLEkcOjIG7DqW5cIiB0aMOgbmggPiAyKmLhu4FfZMOgaV9raOG7kWkgKCVsZClcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZCBieXRlKVx0JXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2xvc2UgZmlsZSAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIMSRw7NuZyB04bqtcCB0aW4gJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MzIKK21zZ2lkICJpbnZhbGlkIGVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICLEkeG7kWkgc+G7kSBjb24gc+G7kSBwaGnDqm4gYuG6o24ga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgImtp4buDdSBlbmRpYW4gKGjGsOG7m25nIGzGsHUgdHLhu68gc+G7kSkgxJHDoyBjaG8ga2jDtG5nIGjhu6NwIGzhu4c7IFBo4bqjaSBsw6Ag4oCcYmln4oCdLCDigJxsaXR0bGXigJ0sIGhheSDigJxob3N04oCdIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGd1ZXN0aW1hdGUgb2YgcmVxdWlyZWQgc2l6ZSAodXBwZXIgYm91bmQpIGlzICVsbGRNQiwgYnV0IG1heGltdW0gaW1hZ2Ugc2l6ZSBpcyAldU1CLiAgV2UgbWlnaHQgZGllIHByZW1hdHVyZWx5LiIKK21zZ3N0ciAiY+G6o25oIGLDoW86IHPhu5EgxrDhu5tjIGzGsOG7o25nIGPhu6dhIGvDrWNoIGPhu6EgecOqdSBj4bqndSAoZ2nhu5tpIGjhuqFuIHRyw6puKSBsw6AgJWxsZCBNQiwgbmjGsG5nIGvDrWNoIGPhu6Eg4bqjbmggbOG7m24gbmjhuqV0IGzDoCAldU1CLiAgQ2jDum5nIHRhIGPDsyB0aOG7gyBjaOG6v3Qgbm9uLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgzMAorbXNnaWQgIlJPTSBpbWFnZSBtYXAiCittc2dzdHIgIsOBbmggeOG6oSDhuqNuaCBST00iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5jbHVkaW5nOiAlc1xuIgorbXNnc3RyICJCYW8gZ+G7k206ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlyZWN0b3J5IGRhdGE6ICV6ZCBieXRlc1xuIgorbXNnc3RyICJE4buvIGxp4buHdSB0aMawIG3hu6VjOiAlemQgYnl0ZVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkV2ZXJ5dGhpbmc6ICV6ZCBraWxvYnl0ZXNcbiIKK21zZ3N0ciAiTeG7jWkgdGjhu6k6ICV6ZCBraWzDtCBieXRlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwZXIgYmxvY2s6ICV6ZCBieXRlc1xuIgorbXNnc3RyICJTacOqdSBraOG7kWk6ICV6ZCBieXRlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1JDOiAleFxuIgorbXNnc3RyICJDUkM6ICV4XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSBhbGxvY2F0ZWQgZm9yIFJPTSBpbWFnZSAoJWxsZCBhbGxvY2F0ZWQsICV6dSB1c2VkKSIKK21zZ3N0ciAia2jDtG5nIMSR4bunIGtob+G6o25nIHRy4buRbmcgcGjDom4gY+G6pXAgY2hvIOG6o25oIFJPTSAocGjDom4gY+G6pXAgJWxsZCwgZMO5bmcgJXp1KSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3OQorIywgYy1mb3JtYXQKK21zZ2lkICJST00gaW1hZ2Ugd3JpdGUgZmFpbGVkICglemQgJXpkKSIKK21zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIGdoaSDhuqNuaCBST00gKCV6ZCAlemQpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODgyCittc2dpZCAiUk9NIGltYWdlIgorbXNnc3RyICLhuqJuaCBST00iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGVuYW1lcyB0cnVuY2F0ZWQgdG8gJXUgYnl0ZXMuIgorbXNnc3RyICJj4bqjbmggYsOhbzogdMOqbiB04bqtcCB0aW4gYuG7iyBj4bqvdCBuZ+G6r24gdGjDoG5oIDI1NSBieXRlLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MworbXNnaWQgIndhcm5pbmc6IGZpbGVzIHdlcmUgc2tpcHBlZCBkdWUgdG8gZXJyb3JzLiIKK21zZ3N0ciAiY+G6o25oIGLDoW86IGPDoWMgdOG6rXAgdGluIGLhu4sgYuG7jyBxdWEgdsOsIGPDsyBs4buXaS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZSBzaXplcyB0cnVuY2F0ZWQgdG8gJWx1TUIgKG1pbnVzIDEgYnl0ZSkuIgorbXNnc3RyICJj4bqjbmggYsOhbzoga8OtY2ggY+G7oSB04bqtcCB0aW4gYuG7iyBj4bqvdCBuZ+G6r24gdGjDoG5oICVsdU1CICh0cuG7qyAxIGJ5dGUpLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5OQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJj4bqjbmggYsOhbzogdWlkcyBi4buLIGPhuq90IG5n4bqvbiB0aMOgbmggJXUgYml0LiAgKMSQw6J5IGPDsyB0aOG7gyBsw6Agc+G7sSBsbyBuZ+G6oWkgYuG6o28gbeG6rXQuKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwMgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBnaWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJj4bqjbmggYsOhbzogZ2lkcyBi4buLIGPhuq90IG5n4bqvbiB0aMOgbmggJXUgYml0LiAgKMSQw6J5IGPDsyB0aOG7gyBsw6Agc+G7sSBsbyBuZ+G6oWkgYuG6o28gbeG6rXQuKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogZGV2aWNlIG51bWJlcnMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICBUaGlzIGFsbW9zdCBjZXJ0YWlubHkgbWVhbnNcbiIKKyJ0aGF0IHNvbWUgZGV2aWNlIGZpbGVzIHdpbGwgYmUgd3JvbmcuIgorbXNnc3RyICIiCisiQ+G6ok5IIELDgU86IHPhu5EgdGhp4bq/dCBi4buLIGPhuq90IG5n4bqvbiB0aMOgbmggJXUgYml0LiAgxJBp4buBdSBuw6B5IGfhuqduIGNo4bqvYyBjaOG6r24gY8OzIG5naMSpYSBsw6BcbiIKKyJt4buZdCB2w6BpIHThuq1wIHRpbiB0aGnhur90IGLhu4sgc+G6vSBi4buLIGjhu49uZy4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKK21zZ3N0ciAiQ8OhY2ggZMO5bmc6ICVzIFsgdMO5eV9jaOG7jW7igKYgXSB0aGnhur90X2Lhu4sgW3Phu5FfbMaw4bujbmdfa2jhu5FpXVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiIC0xICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDFcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBkw6BuaCBjaG8gbeG7pWMgxJHDrWNoIHTGsMahbmcgdGjDrWNoLCBi4buLIGLhu48gcXVhXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOAorIywgZnV6enkKK21zZ2lkICIgLTIsIC12ICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMlxuIgorbXNnc3RyICIgLXYgICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHBoacOqbiBi4bqjbiBj4bunYSBjaMawxqFuZyB0csOsbmhcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM5CisjLCBmdXp6eQorbXNnaWQgIiAtMyAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAzXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgZMOgbmggY2hvIG3hu6VjIMSRw61jaCB0xrDGoW5nIHRow61jaCwgYuG7iyBi4buPIHF1YVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5hbWVsZW5ndGggPG51bT4gIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lc1xuIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gdGluIMSR4buZIGTDoGkgdOG7kWkgxJFhIGPhu6dhIHTDqm4gdOG6rXAgdGluIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlub2RlcyA8bnVtPiAgICAgIG51bWJlciBvZiBpbm9kZXMgZm9yIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAtQywgLS1jeWxpbmRlcnMgPHPhu5E+ICAgICAgICAgIGNo4buJIHJhIHPhu5EgbMaw4bujbmcgdHLhu6UgdHLhu6tcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQyCisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jaGVjayAgICAgICAgICAgICBjaGVjayB0aGUgZGV2aWNlIGZvciBiYWQgYmxvY2tzXG4iCittc2dzdHIgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAgZ+G7oSBi4buPIG3hu5l0IGtow7NhXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MworbXNnaWQgIiAtbCwgLS1iYWRibG9ja3MgPGZpbGU+ICBsaXN0IG9mIGJhZCBibG9ja3MgZnJvbSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIHRvIGJvb3QgYmxvY2sgZmFpbGVkICBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgIiVzOiB0w6xtIHThu5tpIGto4buRaSBraOG7n2kgxJHhu5luZyBraMO0bmcgdGjDoG5oIGPDtG5nIHRyb25nIHdyaXRlX3RhYmxlcyAoZ2hpIGPDoWMgYuG6o25nKSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gY2xlYXIgYm9vdCBzZWN0b3IiCittc2dzdHIgIiVzOiBraMO0bmcgeMOzYSDEkcaw4bujYyBjdW5nIHThu6sga2jhu59pIMSR4buZbmciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIlczogdMOsbSB04bubaSBraMO0bmcgdGjDoG5oIGPDtG5nIHRyb25nIHdyaXRlX3RhYmxlcyAoZ2hpIGPDoWMgYuG6o25nKSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgZ2hpIHNpw6p1IGto4buRaSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICIlczoga2jDtG5nIHRo4buDIGdoaSDDoW5oIHjhuqEgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICIlczoga2jDtG5nIHRo4buDIGdoaSDDoW5oIHjhuqEgdsO5bmciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBnaGkgY8OhYyBpbm9kZSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6IGRpIGNodXnhu4NuIHbhu4sgdHLDrSDEkeG7jWMgYuG7iyBs4buXaSB0cm9uZyBnaGlfa2jhu5FpIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6IGfhurdwIGzhu5dpIGtoaSBnaGkgdHJvbmcgd3JpdGVfYmxvY2sgKGdoaSBraOG7kWk/KSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjIxIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjI5NgorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbWFueSBiYWQgYmxvY2tzIgorbXNnc3RyICIlczogcXXDoSBuaGnhu4F1IGto4buRaSBzYWkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGVub3VnaCBnb29kIGJsb2NrcyIKK21zZ3N0ciAiJXM6IGtow7RuZyDEkeG7pyBraOG7kWkgdOG7kXQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRmlyc3QgZGF0YSBibG9jayBhdCAlamQsIHdoaWNoIGlzIHRvbyBmYXIgKG1heCAlZCkuXG4iCisiVHJ5IHNwZWNpZnlpbmcgZmV3ZXIgaW5vZGVzIGJ5IHBhc3NpbmcgLS1pbm9kZXMgPG51bT4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIiVsdSBuw7p0XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlbHUga2jhu5FpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lc2l6ZT0lenVcbiIKK21zZ3N0ciAiWm9uZXNpemU9JXp1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTWF4c2l6ZT0lenVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkvDrWNoIGPhu6EgdOG7kWkgxJFhPSV6dVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGR1cmluZyB0ZXN0aW5nIG9mIGJsb2NrcyIKK21zZ3N0ciAiJXM6IHTDrG0gdOG7m2kga2jDtG5nIHRow6BuaCBjw7RuZyB0cm9uZyBraGkgdGjhu60gY8OhYyBraOG7kWkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJXZWlyZCB2YWx1ZXMgaW4gZG9fY2hlY2s6IHByb2JhYmx5IGJ1Z3NcbiIKK21zZ3N0ciAiR2nDoSB0cuG7iyBr4buzIGzhuqEgdHJvbmcgZG9fY2hlY2sgKGzDoG0ga2nhu4NtIHRyYSk6IGPDsyB0aOG7gyBsw6AgbOG7l2lcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgIiVzOiB0w6xtIHThu5tpIGtow7RuZyB0aMOgbmggY8O0bmcgdHJvbmcgY2hlY2tfYmxvY2tzIChraeG7g20gdHJhIGto4buRaSkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGJsb2NrcyBiZWZvcmUgZGF0YS1hcmVhOiBjYW5ub3QgbWFrZSBmcyIKK21zZ3N0ciAiJXM6IGto4buRaSBzYWkgdHLGsOG7m2MgdsO5bmcgZOG7ryBsaeG7h3U6IGtow7RuZyB0aOG7gyB04bqhbyByYSBo4buHIHRo4buRbmcgdOG6rXAgdGluIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MzkgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGJhZCBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlZCBiYWQgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVkIGto4buRaSBo4buPbmdcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBvcGVuIGZpbGUgb2YgYmFkIGJsb2NrcyIKK21zZ3N0ciAiJXM6IGtow7RuZyBt4bufIMSRxrDhu6NjIHThuq1wIHRpbiBj4bunYSBjw6FjIGto4buRaSBzYWkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1MworIywgYy1mb3JtYXQKK21zZ2lkICJiYWRibG9jayBudW1iZXIgaW5wdXQgZXJyb3Igb24gbGluZSAlZFxuIgorbXNnc3RyICLhu5dpIG5o4bqtcCBz4buRIGto4buRaS1zYWkgdHLDqm4gZMOybmcgJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBiYWRibG9ja3MgZmlsZSIKK21zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyDEkeG7jWMgdOG6rXAgdGluIGto4buRaS1zYWkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5NAorIywgYy1mb3JtYXQKK21zZ2lkICJibG9jayBzaXplIHNtYWxsZXIgdGhhbiBwaHlzaWNhbCBzZWN0b3Igc2l6ZSBvZiAlcyIKK21zZ3N0ciAia8OtY2ggY+G7oSBraOG7kWkgbmjhu48gaMahbiBrw61jaCBj4buhIGN1bmcgdOG7qyB24bqtdCBsw70gY+G7p2EgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5NworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNpemUgb2YgJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyBxdXnhur90IMSR4buLbmgga8OtY2ggY+G7oSBj4bunYSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZXF1ZXN0ZWQgYmxvY2tzICglbGx1KSBleGNlZWRzIGF2YWlsYWJsZSAoJWxsdSkgYmxvY2tzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiJXM6IHPhu5EgbMaw4bujbmcga2jhu5FpIHF1w6Egbmjhu48iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG5hbWUgbGVuZ3RoOiAlZCIKK21zZ3N0ciAidGhhbSBz4buRIGtow7RuZyBo4buXIHRy4bujOiAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBtaW5peCBmaWxlIHN5c3RlbSB2ZXJzaW9uOiAlZCIKK21zZ3N0ciAiZ+G6t3AgdMOtbmggbsSDbmcgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzY3Cittc2dpZCAiLXYgaXMgYW1iaWd1b3VzLCB1c2UgJy0yJyBpbnN0ZWFkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc3OAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXMiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0aW4gxJHhu5kgZMOgaSB04buRaSDEkWEgY+G7p2EgdMOqbiB04bqtcCB0aW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc4MgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggc+G7kSBuw7p0IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MDYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGJsb2NrcyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIHPhu5Ega2jhu5FpIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBhIGZpbGVzeXN0ZW0gaGVyZSEiCittc2dzdHIgIiVzIMSRw6MgxJHGsOG7o2MgZ+G6r24sIHPhur0ga2jDtG5nIHThuqFvIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4g4bufIMSRw6J5ISIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICV1IgorbXNnc3RyICJTYWkga8OtY2ggY+G7oSB0cmFuZyBkbyBuZ8aw4budaSBkw7luZyBjaOG7iSByYSAldSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJWQsIGluc3RlYWQgb2YgdGhlIHN5c3RlbSB2YWx1ZSAlZCIKK21zZ3N0ciAiU+G7rSBk4bulbmcga8OtY2ggY+G7oSB0cmFuZyBkbyBuZ8aw4budaSBkw7luZyBjaOG7iSByYSAlZCwgdGhheSBjaG8gZ2nDoSB0cuG7iyBo4buHIHRo4buRbmcgJWQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTI0Cittc2dpZCAiTGFiZWwgd2FzIHRydW5jYXRlZC4iCittc2dzdHIgIk5ow6NuIGLhu4sgY+G6r3Qgbmfhuq9uLiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbGFiZWwsICIKK21zZ3N0ciAia2jDtG5nIG5ow6NuLCAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHV1aWRcbiIKK21zZ3N0ciAia2jDtG5nIHV1aWRcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc10gZGV2aWNlIFtzaXplXVxuIgorbXNnc3RyICIiCisiXG4iCisiQ8OhY2ggZMO5bmc6XG4iCisiJXMgW1RV4buyX0NI4buMTl0gdGhp4bq/dF9i4buLIFtrw61jaF9j4buhXVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1MgorbXNnaWQgIlNldCB1cCBhIExpbnV4IHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiQ8OgaSDEkeG6t3QgdsO5bmcgdHLDoW8gxJHhu5VpIExpbnV4LlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICBjaGVjayBiYWQgYmxvY2tzIGJlZm9yZSBjcmVhdGluZyB0aGUgc3dhcCBhcmVhXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgYWxsb3cgc3dhcCBzaXplIGFyZWEgYmUgbGFyZ2VyIHRoYW4gZGV2aWNlXG4iCisiIC1wLCAtLXBhZ2VzaXplIFNJWkUgICAgICAgc3BlY2lmeSBwYWdlIHNpemUgaW4gYnl0ZXNcbiIKKyIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICBzcGVjaWZ5IGxhYmVsXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAgc3BlY2lmeSBzd2FwLXNwYWNlIHZlcnNpb24gbnVtYmVyXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgc3BlY2lmeSB0aGUgdXVpZCB0byB1c2VcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyJDw6FjIHTDuXkgY2jhu41uOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIGtp4buDbSB0cmEga2jhu5FpIGjhu49uZyB0csaw4bubYyBraGkgdOG6oW8gdsO5bmcgaG/DoW4gY2h1eeG7g25cbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBjaG8gcGjDqXAga8OtY2ggdGjGsOG7m2MgdsO5bmcgaG/DoW4gY2h1eeG7g24gbOG7m24gaMahblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaeG6v3QgYuG7i1xuIgorIiAtcCwgLS1wYWdlc2l6ZSBTSVpFICAgICAgIGNo4buJIMSR4buLbmggY+G7oSB0cmFuZyB0aGVvIGJ5dGVzXG4iCisiIC1MLCAtLWxhYmVsIExBQkVMICAgICAgICAgY2jhu4kgxJHhu4tuaCBuaMOjblxuIgorIiAtdiwgLS1zd2FwdmVyc2lvbiBOVU0gICAgIGNo4buJIMSR4buLbmggc+G7kSBwaGnDqm4gYuG6o24gY2hvIHbDuW5nIGhvw6FuIGNodXnhu4NuXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgY2jhu4kgxJHhu4tuaCB1dWlkXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAga+G6v3QgeHXhuqV0IHRow7RuZyB0aW4gcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IHLhu5NpIHRob8OhdFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBiYWQgcGFnZXM6ICVsdSIKK21zZ3N0ciAicXXDoSBuaGnhu4F1IHRyYW5nIHNhaTogJWx1IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE5NQorbXNnaWQgInNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAidMOsbSB04bubaSBraMO0bmcgdGjDoG5oIGPDtG5nIHRyb25nIGNoZWNrX2Jsb2NrcyAoa2nhu4NtIHRyYSBraOG7kWkpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmFkIHBhZ2VcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJhZCBwYWdlc1xuIgorbXNnc3RyWzBdICIlbHUgdHJhbmcgc2FpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjI4Cittc2dpZCAidW5hYmxlIHRvIGFsbG9jIG5ldyBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGPhuqVwIHBow6F0IMSRb+G6oW4gZMOyIGxpYmJsa2xpZCBt4bubaSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMzAKK21zZ2lkICJ1bmFibGUgdG8gYXNzaWduIGRldmljZSB0byBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGfDoW4gdGhp4bq/dCBi4buLIGNobyBi4buZIHRoxINtIGTDsiBsaWJibGtpZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2hlY2tpbmcgYmFkIGJsb2NrcyBmcm9tIHN3YXAgZmlsZSBpcyBub3Qgc3VwcG9ydGVkOiAlcyIKK21zZ3N0ciAiY+G6o25oIGLDoW86IHZp4buHYyBraeG7g20gdHJhIGto4buRaSBo4buPbmcgdOG7qyB04bqtcCB0aW4gdHLDoW8gxJHhu5VpIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujOiAlcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNjEgZGlzay11dGlscy9ta3N3YXAuYzoyODcgZGlzay11dGlscy9ta3N3YXAuYzozMzQKK21zZ2lkICJ1bmFibGUgdG8gcmV3aW5kIHN3YXAtZGV2aWNlIgorbXNnc3RyICJraMO0bmcgdGjhu4Mg4oCcdHVhIGzhuqFp4oCdIHRoaeG6v3QgYuG7iyB0cmFvIMSR4buVaSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyOTAKK21zZ2lkICJ1bmFibGUgdG8gZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAia2jDtG5nIHjDs2EgxJHGsOG7o2MgY3VuZyB04burIGJpdCBraOG7n2kgxJHhu5luZyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IHdpcGluZyBvbGQgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiJXM6IGPhuqNuaCBiw6FvOiB04bqpeSB4w7NhIHTDrW4gaGnhu4d1ICVzIGPFqS4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiBkb24ndCBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICIlczogY+G6o25oIGLDoW86IMSR4burbmcgeMOzYSBjdW5nIHThu6sga2jhu59pIMSR4buZbmciCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKCVzIHBhcnRpdGlvbiB0YWJsZSBkZXRlY3RlZCkuICIKK21zZ3N0ciAiICAgICAgICAoJXMgYuG6o25nIHBow6JuIHbDuW5nIMSRxrDhu6NjIHTDrG0gdGjhuqV5KS4gIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgIChjb21waWxlZCB3aXRob3V0IGxpYmJsa2lkKS4gIgorbXNnc3RyICIgICAgICAgIChiacOqbiBk4buLY2ggbcOgIGtow7RuZyBjw7MgbGliYmxraWQpLiAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzZSAtZiB0byBmb3JjZS5cbiIKK21zZ3N0ciAiRMO5bmcgLWYgxJHhu4Mgw6lwIGJ14buZYy5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzaWduYXR1cmUgcGFnZSIKK21zZ3N0ciAiICVzOiBraMO0bmcgdGjhu4MgZ2hpIHRyYW5nIGNo4buvIGvDvSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODAKK21zZ2lkICJwYXJzaW5nIHBhZ2Ugc2l6ZSBmYWlsZWQiCittc2dzdHIgInBow6JuIHTDrWNoIGvDrWNoIGPhu6EgdHJhbmcgZ+G6t3AgbOG7l2kiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg2Cittc2dpZCAicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBz4buRIHBoacOqbiBi4bqjbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcHNwYWNlIHZlcnNpb24gJWQgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAia2jDtG5nIGjhu5cgdHLhu6MgcGhpw6puIGLhuqNuIHN3YXBzcGFjZSAlZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogaWdub3JpbmcgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCBieSAlcykiCittc2dzdHIgImPhuqNuaCBiw6FvOiBi4buPIHF1YSDigJwtVeKAnSAoVVVJRHMga2jDtG5nIMSRxrDhu6NjICVzIGjhu5cgdHLhu6MpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQxNAorbXNnaWQgIm9ubHkgb25lIGRldmljZSBhcmd1bWVudCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIgorbXNnc3RyICJoaeG7h24gdOG6oWkgY2jhu4kgbeG7mXQgdGhp4bq/dCBi4buLIGzDoG0gxJHhu5FpIHPhu5EgxJHGsOG7o2MgaOG7lyB0cuG7oyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MjEKK21zZ2lkICJlcnJvcjogcGFyc2luZyBVVUlEIGZhaWxlZCIKK21zZ3N0ciAibOG7l2k6IGfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBjw7ogcGjDoXAgVVVJRCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzAKK21zZ2lkICJlcnJvcjogTm93aGVyZSB0byBzZXQgdXAgc3dhcCBvbj8iCittc2dzdHIgImzhu5dpOiBraMO0bmcgY8OzIGNo4buXIG7DoG8gxJHhu4MgY8OgaSDEkeG6t3QgYuG7mSBuaOG7myB0cmFvIMSR4buVaT8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDM2Cittc2dpZCAiaW52YWxpZCBibG9jayBjb3VudCBhcmd1bWVudCIKK21zZ3N0ciAixJHhu5FpIHPhu5EgY2jhu4kgcmEgc+G7kSBsxrDhu6NuZyBraOG7kWkga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc2l6ZSAlbGx1IEtpQiBpcyBsYXJnZXIgdGhhbiBkZXZpY2Ugc2l6ZSAlPFBSSXU2ND4gS2lCIgorbXNnc3RyICJs4buXaToga8OtY2ggY+G7oSAlbGx1IEtpQiBs4bubbiBoxqFuIGvDrWNoIGPhu6EgdGhp4bq/dCBi4buLICVqdSBLaUIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDUxCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzd2FwIGFyZWEgbmVlZHMgdG8gYmUgYXQgbGVhc3QgJWxkIEtpQiIKK21zZ3N0ciAibOG7l2k6IHbDuW5nIHRyYW8gxJHhu5VpIGPhuqduIMOtdCBuaOG6pXQgJWxkIEtpQiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdHJ1bmNhdGluZyBzd2FwIGFyZWEgdG8gJWxsdSBLaUIiCittc2dzdHIgImPhuqNuaCBiw6FvOiDEkWFuZyBj4bqvdCBuZ+G6r24gdsO5bmcgdHJhbyDEkeG7lWkgdGjDoG5oICVsbHUgS2lCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ2MQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBzd2Fwc3BhY2UiCittc2dzdHIgImzhu5dpOiAlcyDEkcOjIMSRxrDhu6NjIGfhuq9uOyBz4bq9IGtow7RuZyB04bqhbyB2w7luZyB0cmFvIMSR4buVaSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0Njggc3lzLXV0aWxzL3N3YXBvbi5jOjUyNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgcGVybWlzc2lvbnMgJTA0bywgJTA0byBzdWdnZXN0ZWQuIgorbXNnc3RyICIlczogY8OzIHF1eeG7gW4ga2jDtG5nIGLhuqNvIG3huq10ICUwNG8sIMSR4buBIG5naOG7iyBkw7luZyAlMDRvLiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NzIgc3lzLXV0aWxzL3N3YXBvbi5jOjUzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgZmlsZSBvd25lciAlZCwgMCAocm9vdCkgc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IGNo4bunIHPhu58gaOG7r3Uga2jDtG5nIGLhuqNvIG3huq10ICVkLCDEkeG7gSBuZ2jhu4sgZMO5bmcgMCAocm9vdCkuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ4NworbXNnaWQgIlVuYWJsZSB0byBzZXQgdXAgc3dhcC1zcGFjZTogdW5yZWFkYWJsZSIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIGPDoGkgxJHhurd0IHbDuW5nIHRyYW8gxJHhu5VpOiBraMO0bmcgdGjhu4MgxJHhu41jIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyB1cCBzd2Fwc3BhY2UgdmVyc2lvbiAlZCwgc2l6ZSA9ICVzICglPFBSSXU2ND4gYnl0ZXMpXG4iCittc2dzdHIgIsSQYW5nIGPDoGkgxJHhurd0IHbDuW5nIHRyw6FvIMSR4buVaSBwaGnDqm4gYuG6o24gJWQsIGvDrWNoIGPhu6EgPSAlcyAoJWp1IGJ5dGUpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gb2J0YWluIHNlbGludXggZmlsZSBsYWJlbCIKK21zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBs4bqleSBuaMOjbiB04bqtcCB0aW4gU0VMaW51eCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTUKK21zZ2lkICJ1bmFibGUgdG8gbWF0Y2hwYXRoY29uKCkiCittc2dzdHIgImtow7RuZyB0aOG7gyBtYXRjaHBhdGhjb24oKSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTgKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIG5ldyBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyBuZ+G7ryBj4bqjbmggU0VMaW51eCBt4bubaSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjAKK21zZ2lkICJjb3VsZG4ndCBjb21wdXRlIHNlbGludXggY29udGV4dCIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHTDrW5oIG5n4buvIGPhuqNuaCBTRUxpbnV4IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVsYWJlbCAlcyB0byAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buVaSBuaMOjbiBj4bunYSAlcyB0aMOgbmggJXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NgorbXNnaWQgInBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgInPhu5EgY+G7p2EgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NworbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIKK21zZ3N0ciAixJFp4buDbSDEkeG6p3UgY+G7p2EgcGjDom4gdsO5bmcgdGhlbyDEkcahbiB24buLIHLDo25oIChzZWN0b3IpIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODgKK21zZ2lkICJlbmQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICLEkWnhu4NtIGN14buRaSBj4bunYSBwaMOibiB2w7luZyB0aGVvIMSRxqFuIHbhu4sgcsOjbmggKHNlY3RvcikiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OQorbXNnaWQgIm51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJz4buRIGzGsOG7o25nIGN1bmcgdOG7qyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkwCittc2dpZCAiaHVtYW4gcmVhZGFibGUgc2l6ZSIKK21zZ3N0ciAixJHhu4tuaCBk4bqhbmcga8OtY2ggdGjGsOG7m2MgY2hvIG5nxrDhu51pIMSR4buNYyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkxCittc2dpZCAicGFydGl0aW9uIG5hbWUiCittc2dzdHIgInTDqm4gcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDggbWlzYy11dGlscy9sc2Jsay5jOjE2OAorbXNnaWQgInBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJVVUlEIHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTMKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUgdHlwZSAoZG9zLCBncHQsIC4uLikiCittc2dzdHIgImtp4buDdSBi4bqjbmcgcGjDom4gdsO5bmcgKGRvcywgZ3B0LCDigKYpIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQgbWlzYy11dGlscy9sc2Jsay5jOjE2OQorbXNnaWQgInBhcnRpdGlvbiBmbGFncyIKK21zZ3N0ciAiY8OhYyBj4budIGPhu6dhIHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTUKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSAoYSBzdHJpbmcsIGEgVVVJRCwgb3IgaGV4KSIKK21zZ3N0ciAia2nhu4N1IHBow6JuIHbDuW5nIChjaHXhu5dpLCBVVUlELCBoYXkgaGV4KSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUwOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjYxNgorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BjeHQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBraOG7n2kgdOG6oW8gbG9vcGN4dCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczogdMOsbSB0aGnhur90IGLhu4sgdsOybmcgbOG6t3AgY2jGsGEgc+G7rSBk4bulbmcgZ+G6t3AgbOG7l2kiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvIHVzZSAnJXMnIGZvciB0aGUgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiQ+G7kSBz4butIGThu6VuZyDigJwlc+KAnSBjaG8gdGhp4bq/dCBi4buLIHbDsm5nIGzhurdwXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYmFja2luZyBmaWxlIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIMSR4bq3dCB04bqtcCB0aW4gxJHhu6luZyBzYXUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo1NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgY8OgaSDEkeG6t3QgdGhp4bq/dCBi4buLIGxvb3AiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxNjEgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozMDcgbWlzYy11dGlscy9maW5kbW50LmM6Mzc2CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MzU0IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM0MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEwNworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzcyIHN5cy11dGlscy9sc2lwYy5jOjIzMiBzeXMtdXRpbHMvbHNucy5jOjE4OQorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyNzcgc3lzLXV0aWxzL3N3YXBvbi5jOjE0NyBzeXMtdXRpbHMvd2RjdGwuYzoxNTEKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSBj4buZdDogJXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiJXM6IGfhurdwIGzhu5dpIGtoaSBs4bqleSBz4buRIGPhu6dhIHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjg2IGRpc2stdXRpbHMvcGFydHguYzozMjQgZGlzay11dGlscy9wYXJ0eC5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZpZWQgcmFuZ2UgPCVkOiVkPiBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICJ2w7luZyDEkcOjIGNo4buJIMSR4buLbmggPCVkOiVkPiBraMO0bmcgdOG6oW8gbsOqbiBwaMOibiBiaeG7h3QgSE9BL3RoxrDhu51uZyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICJyYW5nZSByZWNvdW50OiBtYXggcGFydG5vPSVkLCBsb3dlcj0lZCwgdXBwZXI9JWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiBs4buXaSBraGkgeMOzYSBi4buPIHBow6JuIHbDuW5nICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczogbOG7l2kga2hpIHjDs2EgYuG7jyBwaMOibiB2w7luZyAlZC0lZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZW1vdmVkXG4iCittc2dzdHIgIiVzOiBwaMOibiB2w7luZyAjJWQgYuG7iyBn4buhIGLhu49cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBkb2Vzbid0IGV4aXN0XG4iCittc2dzdHIgIiVzOiBwaMOibiB2w7luZyAjJWQgY2jGsGEgdOG7k24gdOG6oWlcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGVsZXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiB4w7NhIHBow6JuIHbDuW5nICMlZCBn4bq3cCBs4buXaSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXM6IGzhu5dpIHRow6ptIHBow6JuIHbDuW5nICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXM6IGzhu5dpIGtoaSB0aMOqbSBwaMOibiB2w7luZyAlZC0lZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQwNSBkaXNrLXV0aWxzL3BhcnR4LmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGFkZGVkXG4iCittc2dzdHIgIiVzOiBwaMOibiB2w7luZyAjJWQgxJHGsOG7o2MgdGjDqm0gdsOgb1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiB0aMOqbSBwaMOibiB2w7luZyAjJWQgZ+G6t3AgbOG7l2kiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXM6IGfhurdwIGzhu5dpIGtoaSBj4bqtcCBuaOG6rXQgcGjDom4gdsO5bmcgJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgY+G6rXAgbmjhuq10IHBow6JuIHbDuW5nICVkLSVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBwYXJ0aXRpb24gIyVkIgorbXNnc3RyICIlczoga2jDtG5nIGPDsyBwaMOibiB2w7luZyAjJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVzaXplZFxuIgorbXNnc3RyICIlczogcGjDom4gdsO5bmcgIyVkIMSRxrDhu6NjIHRoYXkgxJHhu5VpIGvDrWNoIHRoxrDhu5tjXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVwZGF0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlczogY+G6rXAgbmjhuq10IHBow6JuIHbDuW5nICMlZCBn4bq3cCBs4buXaSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9yLCAlNmp1IE1CKVxuIgorbXNnaWRfcGx1cmFsICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9ycywgJTZqdSBNQilcbiIKK21zZ3N0clswXSAiIyUyZDogJTlqdS0lOWp1ICglOWp1IGN1bmcgdOG7qywgJTZqdSBNQilcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU4MSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2ODggbWlzYy11dGlscy9maW5kbW50LmM6NzA1CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozOTEgc3lzLXV0aWxzL2xzbnMuYzo0NTYKK21zZ2lkICJmYWlsZWQgdG8gYWRkIGxpbmUgdG8gb3V0cHV0IgorbXNnc3RyICJraMO0bmcgdGjDqm0gxJHGsOG7o2MgZMOybmcgdsOgbyBr4bq/dCB4deG6pXQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NDQKK21zZ2lkICJmYWlsZWQgdG8gYWRkIGRhdGEgdG8gb3V0cHV0IHRhYmxlIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgdGjDqm0gZOG7ryBsaeG7h3UgdsOgbyBi4bqjbmcga+G6v3QgeHXhuqV0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjY3IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTIyIG1pc2MtdXRpbHMvZmluZG1udC5jOjE1ODUKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODc0IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ1MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjMxMAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTcxMyBzeXMtdXRpbHMvbHNpcGMuYzozMzggc3lzLXV0aWxzL2xzbnMuYzo1MTEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjk3IHN5cy11dGlscy9zd2Fwb24uYzoyODAgc3lzLXV0aWxzL3dkY3RsLmM6MjU5CisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjQ4NAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAibOG7l2kga2jhu59pIHThuqFvIGLhuqNuZyBr4bq/dCB4deG6pXQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NzggbWlzYy11dGlscy9maW5kbW50LmM6MTYxMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5NgorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDY1IHN5cy11dGlscy9sb3NldHVwLmM6MzIyIHN5cy11dGlscy9sb3NldHVwLmM6MzU4CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzE4IHN5cy11dGlscy9sc25zLmM6NTMyIHN5cy11dGlscy9wcmxpbWl0LmM6MzA2CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjg5IHN5cy11dGlscy93ZGN0bC5jOjI3MCBzeXMtdXRpbHMvenJhbWN0bC5jOjQ5MworbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iCittc2dzdHIgImzhu5dpIGto4bufaSB04bqhbyBj4buZdCBr4bq/dCB4deG6pXQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgZmlsdGVyIGZvciAnJXMnIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkga2jhu59pIHThuqFvIGLhu5kgbOG7jWMgYmxraWQgY2hvIOKAnCVz4oCdIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiVzOiBs4buXaSDEkeG7jWMga2jhu5FpIHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgdHlwZSAnJXMnIGRldGVjdGVkXG4iCittc2dzdHIgIiVzOiB0w6xtIHRo4bqleSBraeG7g3UgYuG6o25nIHBow6JuIHbDuW5nIOKAnCVz4oCdXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB3aXRoIG5vIHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiBi4bqjbmcgcGjDom4gdsO5bmcga2jDtG5nIGPDsyBwaMOibiB2w7luZyBuw6BvIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLWF8LWR8LXN8LXVdIFstLW5yIDxuOm0+IHwgPHBhcnRpdGlvbj5dIDxkaXNrPlxuIgorbXNnc3RyICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwaMOibiB2w7luZz5dIDzEkcSpYT5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1NgorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgcHJlc2VuY2UgYW5kIG51bWJlcmluZyBvZiBwYXJ0aXRpb25zLlxuIgorbXNnc3RyICJOw7NpIGNobyBo4bqhdCBuaMOibiB24buBIHBow6JuIHbDuW5nIGhp4buHbiB04bqhaSB2w6Agc+G7kSBj4bunYSBuw7MuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTkKK21zZ2lkICIgLWEsIC0tYWRkICAgICAgICAgICAgYWRkIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtYSwgLS1hZGQgICAgICAgICAgICB0aMOqbSBwaMOibiB2w7luZyDEkcOjIGNo4buJIMSR4buLbmggaGF5IHThuqV0IGPhuqMgY2jDum5nXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjAKK21zZ2lkICIgLWQsIC0tZGVsZXRlICAgICAgICAgZGVsZXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtZCwgLS1kZWxldGUgICAgICAgICB4w7NhIHBow6JuIHbDuW5nIMSRw6MgY2jhu4kgxJHhu4tuaCBoYXkgeMOzYSB04bqldCBj4bqjIGNow7puZ1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYxCittc2dpZCAiIC11LCAtLXVwZGF0ZSAgICAgICAgIHVwZGF0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLXUsIC0tdXBkYXRlICAgICAgICAgY+G6rXAgbmjhuq10IHBow6JuIHbDuW5nIMSRw6MgY2jhu4kgxJHhu4tuaCBoYXkgdOG6pXQgY+G6oyBjaMO6bmdcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MgorbXNnaWQgIiIKKyIgLXMsIC0tc2hvdyAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zXG4iCisiXG4iCittc2dzdHIgIiIKKyIgLXMsIC0tc2hvdyAgICAgICAgICAgbGnhu4d0IGvDqiBjw6FjIHBow6JuIHbDuW5nXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjMgbWlzYy11dGlscy9sc2Jsay5jOjE2MjMKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgICAgIGhp4buDbiB0aOG7iyBrw61jaCB0aMaw4bubYyB0aGVvIGJ5dGUgdGhheSB2w6wgxJHhu4tuaCBk4bqhbmcgZMOgbmggY2hvIGNvbiBuZ8aw4budaVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY0Cittc2dpZCAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLXNob3dcbiIKK21zZ3N0ciAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIGtow7RuZyBoaeG7g24gdGjhu4sgcGjhuqduIMSR4bqndSBjaG8gLS1zaG93XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjUKK21zZ2lkICIgLW4sIC0tbnIgPG46bT4gICAgICAgc3BlY2lmeSB0aGUgcmFuZ2Ugb2YgcGFydGl0aW9ucyAoZS5nLiAtLW5yIDI6NClcbiIKK21zZ3N0ciAiIC1uLCAtLW5yIDxuOm0+ICAgICAgIGNo4buJIMSR4buLbmggdsO5bmcgY8OhYyBwaMOibiB2w7luZyAodsOtIGThu6U6IC0tbnIgMjo0KVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY2Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8ZHPDoWNoPiDEkeG7i25oIG5naMSpYSB4ZW0gY+G7mXQgbsOgbyBz4bq9IMSRxrDhu6NjIGTDuW5nXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjcgbWlzYy11dGlscy9sc2Jsay5jOjE2MzcKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVAsIC0tcGFpcnMgICAgICAgICAgZMO5bmcgxJHhu4tuaCBk4bqhbmcga+G6v3QgeHXhuqV0IGtow7NhPVwiZ2nDoSB0cuG7i1wiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjggbWlzYy11dGlscy9sc2Jsay5jOjE2MzgKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICBkw7luZyDEkeG7i25oIGThuqFuZyB0aMO0XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjkKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgc3BlY2lmeSB0aGUgcGFydGl0aW9uIHR5cGUgKGRvcywgYnNkLCBzb2xhcmlzLCBldGMuKVxuIgorbXNnc3RyICIgLXQsIC0tdHlwZSA8a2nhu4N1PiAgICBjaOG7iSDEkeG7i25oIGtp4buDdSBwaMOibiB2w7luZyAoZG9zLCBic2QsIHNvbGFyaXMsIHYudi4uKVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzcwIHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgIGNo4bq/IMSR4buZIGNoaSB0aeG6v3RcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3NgorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdywgLS1yYXcgb3IgLS1wYWlycyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJDw6FjIGPhu5l0IHPhurVuIGTDuW5nIChjaG8gLS1zaG93LCAtLXJhdyBoYXkgLS1wYWlycyk6XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS1uciA8TS1OPiByYW5nZSIKK21zZ3N0ciAibOG7l2kga2hpIHBow6JuIHTDrWNoIHBo4bqhbSB2aSAtLW5yIDxNLU4+IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTI0CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBhbmQgZGlzayBuYW1lIGRvIG5vdCBtYXRjaCIKK21zZ3N0ciAiQuG6o25nIHBow6JuIHbDuW5nIGtow7RuZyB0aGF5IMSR4buVaSAoLS1uby1hY3QpLiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1MgorbXNnaWQgIi0tbnIgYW5kIDxwYXJ0aXRpb24+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIi0tbnIgdsOgIDxwYXJ0aXRpb24+IGxv4bqhaSB04burIGzhuqtuIG5oYXUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFydGl0aW9uOiAlcywgZGlzazogJXMsIGxvd2VyOiAlZCwgdXBwZXI6ICVkXG4iCittc2dzdHIgInBow6JuIHbDuW5nOiAlcywgIMSRxKlhOiAlcywgIHRo4bqlcDogJWQsICAgY2FvOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlIHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgeMOzYSBjw6FjIHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb25lZCBsb29wIGRldmljZXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiVzOiB0aGnhur90IGLhu4sgbOG6t3AgKGxvb3ApIMSRw6MgcGjDom4gdsO5bmcga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBibGtpZCBwcm9iZXIiCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkga2jhu59pIHThuqFvIGLhu5kgdGjEg20gZMOyIGJsa2lkIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyAlMiRzcmF3TiA8bWFqb3I+IDxtaW5vcj5cbiIKKyIgJTEkcyAlMiRzcmF3TiAvZGV2LzxibG9ja2RldmljZT5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorbXNnc3RyICIiCisiICUxJHMgJTIkc3Jhd04gPG1ham9yPiA8bWlub3I+XG4iCisiICUxJHMgJTIkc3Jhd04gL2Rldi88dGhp4bq/dGLhu4traOG7kWk+XG4iCisiICUxJHMgLXEgJTIkc3Jhd05cbiIKKyIgJTEkcyAtcWFcbiIKKworIzogZGlzay11dGlscy9yYXcuYzo1OAorbXNnaWQgIkJpbmQgYSByYXcgY2hhcmFjdGVyIGRldmljZSB0byBhIGJsb2NrIGRldmljZS5cbiIKK21zZ3N0ciAiQnXhu5ljIG3hu5l0IHRoaeG6v3QgYuG7iyBrw70gdOG7sSB0aMO0IHbDoG8gbeG7mXQgdGhp4bq/dCBi4buLIGto4buRaS5cbiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MQorbXNnaWQgIiAtcSwgLS1xdWVyeSAgICBzZXQgcXVlcnkgbW9kZVxuIgorbXNnc3RyICIgLXEsIC0tcXVlcnkgICAgxJHhurd0IGNo4bq/IMSR4buZIHRydXkgduG6pW5cbiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICBxdWVyeSBhbGwgcmF3IGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgIHRydXkgduG6pW4gbeG7jWkgdGhp4bq/dCBi4buLIHRow7RcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgdGhlIGNvbnRyb2wgcmF3IGRldmljZSAodXNlIHJhdzxOPiB3aGVyZSA8Tj4gaXMgZ3JlYXRlciB0aGFuIHplcm8pIgorbXNnc3RyICJUaGnhur90IGLhu4sg4oCcJXPigJ0gbMOgIHRoaeG6v3QgYuG7iyB0aMO0IMSRaeG7gXUga2hp4buDbiAoaMOjeSBkw7luZyB0aMO0PE4+IG3DoCA8Tj4gbOG7m24gaMahbiBz4buRIGtow7RuZykiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgYmxvY2sgZGV2aWNlICclcyciCittc2dzdHIgIktow7RuZyB0aOG7gyBj4bqlcCBwaMOhdCB0aGnhur90IGLhu4sgdGjDtCDigJwlc+KAnSIKKworIzogZGlzay11dGlscy9yYXcuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJUaGnhur90IGLhu4sg4oCcJXPigJ0ga2jDtG5nIHBo4bqjaSB0aGnhur90IGLhu4sga2jhu5FpIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE5MyBkaXNrLXV0aWxzL3Jhdy5jOjE5NiBzeXMtdXRpbHMvaXBjcm0uYzozNTEKKyM6IHN5cy11dGlscy9pcGNybS5jOjM2NCBzeXMtdXRpbHMvaXBjcm0uYzozNzcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCDEkeG7kWkgc+G7kSIKKworIzogZGlzay11dGlscy9yYXcuYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIG3hu58gdGhp4bq/dCBi4buLIGNo4bunIHRow7Qg4oCcJXPigJ0iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgY+G6pXAgcGjDoXQgdGhp4bq/dCBi4buLIHRow7Qg4oCcJXPigJ0iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJhdyBkZXZpY2UgJyVzJyBpcyBub3QgYSBjaGFyYWN0ZXIgZGV2IgorbXNnc3RyICJUaGnhur90IGLhu4sgdGjDtCDigJwlc+KAnSBraMO0bmcgcGjhuqNpIG3hu5l0IHRoaeG6v3QgYuG7iyBrw70gdOG7sSIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgcmF3IGRldiIKK21zZ3N0ciAiVGhp4bq/dCBi4buLIOKAnCVz4oCdIGtow7RuZyBwaOG6o2kgbeG7mXQgdGhp4bq/dCBi4buLIHRow7QiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjQ1Cittc2dpZCAiRXJyb3IgcXVlcnlpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAiTOG7l2kgaOG7j2kgdGhp4bq/dCBi4buLIHRow7QiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjU0IGRpc2stdXRpbHMvcmF3LmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzcmF3JWQ6ICBib3VuZCB0byBtYWpvciAlZCwgbWlub3IgJWRcbiIKK21zZ3N0ciAiJXNyYXclZDogIGJpw6puIGjhuqFuIHPhu5EgbOG7m24gJWQsIG5o4buPICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjY4Cittc2dpZCAiRXJyb3Igc2V0dGluZyByYXcgZGV2aWNlIgorbXNnc3RyICJM4buXaSDEkeG6t3QgdGhp4bq/dCBi4buLIHRow7QiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8bGVuZ3RoPlxuIgorbXNnc3RyICIgJXMgPHRoaeG6v3QgYuG7iyDEkcSpYT4gPHPhu5EgcGjDom4gdsO5bmc+IDzEkeG7mSBkw6BpPlxuIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoyMworbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgbmV3IHNpemUgb2YgYSBwYXJ0aXRpb24uXG4iCittc2dzdHIgIkNobyBuaMOibiBiaeG6v3QgY+G7oSBt4bubaSBj4bunYSBwaMOibiB2w7luZy5cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gbnVtYmVyICVzIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIGzhuqV5IMSRaeG7g20gYuG6r3QgxJHhuqd1IGPhu6dhIHBow6JuIHbDuW5nIHPhu5EgJXMiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwOQorbXNnaWQgImZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uIgorbXNnc3RyICJ0aGF5IMSR4buVaSBrw61jaCB0aMaw4bubYyBwaMOibiB2w7luZyBn4bq3cCBs4buXaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMzEKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbmVzdGVkIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiBi4buVIG5n4buvIGPhuqNuaCBsaWJmZGlzayBs4buTbmcgbmhhdSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNlZWsgJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyBkaSBjaHV54buDbiB24buLIHRyw60gxJHhu41jICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMwMiBsaWJmZGlzay9zcmMvYnNkLmM6NzIzIGxpYmZkaXNrL3NyYy9ic2QuYzo4OTQKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTYzIHN5cy11dGlscy9od2Nsb2NrLmM6MTY1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTEycyAob2Zmc2V0ICU1anUsIHNpemUgJTVqdSk6ICVzIgorbXNnc3RyICIlMTJzOiAoaGnhu4d1ID0gJWp1LCBj4buhID0gJWp1KTogJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIHThuqFvIG3hu5l0IGLhuqNuIGThu7EgcGjDsm5nIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMyOAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIGZpbGUsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHThuqFvIG3hu5l0IHNhbyBsxrB1IGNo4buvIGvDvSwgY2jGsGEgxJHhu4tuaCBuZ2jEqWEgYmnhur9uICRIT01FIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM1NAorbXNnaWQgIkJhY2t1cCBmaWxlczoiCittc2dzdHIgIlThuq1wIHRpbiBzYW8gbMawdSBk4buxIHBow7JuZzoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzc5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIG5ldyBwYXJ0aXRpb24gZnJvbSBkZXZpY2U7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJH4bq3cCBs4buXaSBraGkgxJHhu41jIGLhuqNuZyBwaMOibiB2w7luZyBt4bufIHLhu5luZyAob2Zmc2V0PSVqdSkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgbOG6pXkgxJFp4buDbSBi4bqvdCDEkeG6p3UgY+G7p2EgcGjDom4gdsO5bmcgc+G7kSAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgbOG6pXkgxJFp4buDbSBi4bqvdCDEkeG6p3UgY+G7p2EgcGjDom4gdsO5bmcgc+G7kSAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiJXM6IGfhurdwIGzhu5dpIGtoaSBs4bqleSDEkWnhu4NtIGLhuq90IMSR4bqndSBj4bunYSBwaMOibiB2w7luZyBz4buRICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiJXM6IGfhurdwIGzhu5dpIGtoaSBs4bqleSDEkWnhu4NtIGLhuq90IMSR4bqndSBj4bunYSBwaMOibiB2w7luZyBz4buRICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4OQorIywgZnV6enkKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGhhcyBub3QgYmVlbiBtb3ZlZDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgbOG6pXkgxJFp4buDbSBi4bqvdCDEkeG6p3UgY+G7p2EgcGjDom4gdsO5bmcgc+G7kSAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTEKK21zZ2lkICJuZXcgcGFydGl0aW9uIGlzIHNtYWxsZXIgdGhhbiBvcmlnaW5hbDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDEKK21zZ2lkICJEYXRhIG1vdmU6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgdHlwZXNjcmlwdCBmaWxlOiAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gdOG6rXAgdGluIGLhuqNuIMSRw6FuaCBtw6F5ICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICIgb2xkIHN0YXJ0OiAlanUsIG5ldyBzdGFydDogJWp1IChtb3ZlICVqdSBzZWN0b3JzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUxCisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIG1vdmUgcGFydGl0aW9uIGRhdGE/IgorbXNnc3RyICJC4bqhbiBjw7MgbXXhu5FuIGdoaSBsw6puIMSRxKlhPyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTMgZGlzay11dGlscy9zZmRpc2suYzoxNzgzCittc2dpZCAiTGVhdmluZy4iCittc2dzdHIgIlLhu51pIGLhu48uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjUyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBtb3ZlIGRhdGEiCittc2dzdHIgIiVzOiBraMO0bmcgbeG7nyDEkcaw4bujYyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDEKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGlzIHVuY2hhbmdlZCAoLS1uby1hY3QpLiIKK21zZ3N0ciAiQuG6o25nIHBow6JuIHbDuW5nIGtow7RuZyB0aGF5IMSR4buVaSAoLS1uby1hY3QpLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDcKK21zZ2lkICIiCisiXG4iCisiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiIgorIlxuIgorIkLhuqNuZyBwaMOibiB2w7luZyDEkcOjIGLhu4sgdGhheSDEkeG7lWkhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYyMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBsYWJlbCAnJXMnIgorbXNnc3RyICJraMO0bmcgaOG7lyB0cuG7oyBuaMOjbiDEkcSpYSDigJwlc+KAnSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MjYKK21zZ2lkICIiCisiSWQgIE5hbWVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIklkICBUw6puXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjU2Cittc2dpZCAidW5yZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorbXNnc3RyICJraeG7g3UgYuG6o25nIHBow6JuIHbDuW5nIGtow7RuZyBuaOG6rW4gcmEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IGvDrWNoIGPhu6EgY+G7p2EgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInRvdGFsOiAlanUgYmxvY2tzXG4iCittc2dzdHIgInThu5VuZyBz4buROiAlanUga2jhu5FpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODA4IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODc2IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk0NyBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTQgZGlzay11dGlscy9zZmRpc2suYzoxMDc4CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzMgZGlzay11dGlscy9zZmRpc2suYzoxMTg5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUzMworbXNnaWQgIm5vIGRpc2sgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAiY2jGsGEgY2jhu4kgxJHhu4tuaCB0aGnhur90IGLhu4siCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODE5Cittc2dpZCAidG9nZ2xlIGJvb3QgZmxhZ3MgaXMgc3VwcG9ydGVkIGZvciBNQlIgb25seSIKK21zZ3N0ciAiYuG6rXQvdOG6r3QgY8OhYyBj4budIGto4bufaSDEkeG7mW5nIGNo4buJIGjhu5cgdHLhu6MgduG7m2kgTUJSIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg1MCBkaXNrLXV0aWxzL3NmZGlzay5jOjg5NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTkKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4MyBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzggZGlzay11dGlscy9zZmRpc2suYzoxMTk0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MzEgZGlzay11dGlscy9zZmRpc2suYzoyMDEzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBz4buRIGPhu6dhIHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICVkOiBmYWlsZWQgdG8gdG9nZ2xlIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiVzOiBwaMOibiB2w7luZyAlZDogZ+G6t3AgbOG7l2kga2hpIGLhuq10L3Thuq90IGPhu50ga2jhu59pIMSR4buZbmciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODkxIGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGRlbGV0ZSIKK21zZ3N0ciAiJXM6IHBow6JuIHbDuW5nICV6dTogZ+G6t3AgbOG7l2kga2hpIGzhuqV5IGtp4buDdSBj4bunYSBwaMOibiB2w7luZyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIlRoaeG6v3QgYuG7iyBraMO0bmcgY2jhu6lhIGLhuqNuZyBwaMOibiB2w7luZyDEkcaw4bujYyBiaeG6v3QuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk1OAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBkdW1wIHN0cnVjdCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIGLhu5UgY+G6pXUgdHLDumMgxJHhu5UiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGR1bXAgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhu5UgYuG6o25nIHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiB0YWJsZSBmb3VuZCIKK21zZ3N0ciAiJXM6IGtow7RuZyB0w6xtIHRo4bqleSBi4bqjbmcgcGjDom4gdsO5bmcuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIHRhYmxlIGNvbnRhaW5zIG9ubHkgJXp1IHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiBi4bqjbmcgcGjDom4gdsO5bmcgJXp1OiBi4bqjbmcgcGjDom4gdsO5bmcgY2jhu4kgY2jhu6lhICV6dSBwaMOibiB2w7luZyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiBpcyB1bnVzZWQiCittc2dzdHIgIiVzOiBQaMOibiB2w7luZyAlenU6IHBow6JuIHbDuW5nIGNoxrBhIMSRxrDhu6NjIGTDuW5nIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTggZGlzay11dGlscy9zZmRpc2suYzoxMDgyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzNworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTkzCittc2dpZCAibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiCittc2dzdHIgImNoxrBhIGNo4buJIHJhIHPhu5EgY+G7p2EgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAyNCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODggZGlzay11dGlscy9zZmRpc2suYzoxMTQzCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTkKK21zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50cyIKK21zZ3N0ciAiZ+G6t3Agc+G7kSBjw6FjIMSR4buRaSBz4buRIGtow7RuZyBj4bqnbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlczogcGjDom4gdsO5bmcgJXp1OiBn4bq3cCBs4buXaSBraGkgbOG6pXkga2nhu4N1IGPhu6dhIHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIHBhcnRpdGlvbiB0eXBlICclcyciCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBwaMOibiB2w7luZyDigJwlc+KAnSBraeG7g3Ug4oCcJXPigJ0iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiJXM6IHBow6JuIHbDuW5nICV6dTogZ+G6t3AgbOG7l2kga2hpIMSR4bq3dCBraeG7g3UgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiJXM6IHBow6JuIHbDuW5nICV6dTogZ+G6t3AgbOG7l2kga2hpIGzhuqV5IG3DoyBz4buRIHRoaeG6v3QgYuG7iyBj4bunYSBwaMOibiB2w7luZyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTEzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE2OCBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMjIKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG9iamVjdCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGPhuqVwIHBow6F0IMSR4buRaSB0xrDhu6NuZyBi4bqjbmcgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTExNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiJXM6IHBow6JuIHbDuW5nICV6dTogZ+G6t3AgbOG7l2kga2hpIMSR4bq3dCBtw6Mgc+G7kSB0aGnhur90IGLhu4sgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiJXM6IHBow6JuIHbDuW5nICV6dTogZ+G6t3AgbOG7l2kga2hpIGzhuqV5IHTDqm4gY+G7p2EgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiJXM6IHBow6JuIHbDuW5nICV6dTogZ+G6t3AgbOG7l2kga2hpIMSR4bq3dCB0w6puIGNobyBwaMOibiB2w7luZyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBhdHRyaWJ1dGVzIgorbXNnc3RyICIlczogcGjDom4gdsO5bmcgJXp1OiBn4bq3cCBs4buXaSBraGkgxJHhurd0IHRodeG7mWMgdMOtbmggY+G7p2EgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI2OQorbXNnaWQgIiBDb21tYW5kczpcbiIKK21zZ3N0ciAiTOG7h25oOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzEKK21zZ2lkICIgICB3cml0ZSAgICB3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0XG4iCittc2dzdHIgIiAgIHdyaXRlICAgIGdoaSBi4bqjbmcgcGjDom4gdsO5bmcgbMOqbiDEkcSpYSB2w6AgdGhvw6F0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3MgorbXNnaWQgIiAgIHF1aXQgICAgIHNob3cgbmV3IHNpdHVhdGlvbiBhbmQgd2FpdCBmb3IgdXNlcidzIGZlZWRiYWNrIGJlZm9yZSB3cml0ZVxuIgorbXNnc3RyICIgICBxdWl0ICAgICBoaeG7g24gdGjhu4sgdMOsbmggdHLhuqFuZyBt4bubaSB2w6AgxJHhu6NpIHBo4bqjbiBo4buTaSBj4bunYSBuZ8aw4budaSBkw7luZyB0csaw4bubYyBraGkgZ2hpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3MworbXNnaWQgIiAgIGFib3J0ICAgIGV4aXQgc2ZkaXNrIHNoZWxsXG4iCittc2dzdHIgIiAgIGFib3J0ICAgIHRob8OhdCBraOG7j2kgaOG7hyB24buPIHNmZGlza1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzQKKyMsIGZ1enp5Cittc2dpZCAiICAgcHJpbnQgICAgZGlzcGxheSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgIHByaW50ICAgIGluIHJhIGLhuqNuZyBwaMOibiB2w7luZy5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjc1CisjLCBmdXp6eQorbXNnaWQgIiAgIGhlbHAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKK21zZ3N0ciAiICAgaGVscCAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHkuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3NworIywgZnV6enkKK21zZ2lkICIgICBDdHJsLUQgICB0aGUgc2FtZSBhcyAncXVpdCdcbiIKK21zZ3N0ciAiICAgQ1RSTC1EICAgZ2nhu5FuZyB24bubaSBs4buHbmgg4oCccXVpdOKAnVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODEKK21zZ2lkICIgSW5wdXQgZm9ybWF0OlxuIgorbXNnc3RyICLEkOG7i25oIGThuqFuZyDEkeG6p3UgdsOgbzpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjgzCittc2dpZCAiICAgPHN0YXJ0PiwgPHNpemU+LCA8dHlwZT4sIDxib290YWJsZT5cbiIKK21zZ3N0ciAiICAgPMSR4bqndT4sIDxj4buhPiwgPGtp4buDdT4sIDxraOG7n2kgxJHhu5luZyDEkcaw4bujYz5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjg2CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgICA8c3RhcnQ+ICBCZWdpbm5pbmcgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgdGhlIGZpcnN0IGZyZWUgc3BhY2UuXG4iCittc2dzdHIgIiIKKyIgICA8xJHhuqd1PiAgICBi4bqvdCBk4bqndSBwaMOibiB2w7luZyB0w61uaCB0aGVvIGN1bmcgdOG7qyBob+G6t2MgYnl0ZSBu4bq/dVxuIgorIiAgICAgICAgICAgICAgICBjaOG7iSDEkeG7i25oIHRoZW8gxJHhu4tuaCBk4bqhbmcgPHPhu5E+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgICAgIE3hurdjIMSR4buLbmggbMOgIMSR4bqndSBjaOG7lyB0cuG7kW5nLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTEKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAgIDxzaXplPiAgIFNpemUgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgYWxsIGF2YWlsYWJsZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorIiAgIDxj4buhPiAgICBj4buhIGPhu6dhIHBow6JuIHbDuW5nIHTDrW5oIHRoZW8gY3VuZyB04burIGhheSBjaOG7iSByYSB0aGVvXG4iCisiICAgICAgICAgICAgxJHhu4tuaCBk4bqhbmcgPHPhu5E+e0ssTSxHLFQsUCxFLFosWX0gdGjhur8gdGjDrCBuw7MgxJHGsOG7o2MgYmnDqm5cbiIKKyIgICAgICAgICAgICBk4buLY2ggbMOgIHRoZW8gYnl0ZS4gTeG6t2MgxJHhu4tuaCBsw6AgbeG7jWkgdsO5bmcgdHLhu5FuZyBz4bq1biBjw7NcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk2CisjLCBmdXp6eQorbXNnaWQgIiAgIDx0eXBlPiAgIFRoZSBwYXJ0aXRpb24gdHlwZS4gIERlZmF1bHQgaXMgYSBMaW51eCBkYXRhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiICAgPGtp4buDdT4gIGtp4buDdSBwaMOibiB2w7luZy4gTeG6t2MgxJHhu4tuaCBsw6AgcGjDom4gdsO5bmcgZOG7ryBsaeG7h3UgTGludXguXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NworbXNnaWQgIiAgICAgICAgICAgIE1CUjogaGV4IG9yIEwsUyxFLFggc2hvcnRjdXRzLlxuIgorbXNnc3RyICIgICAgICAgICAgICBNQlI6IGhleCBoYXkgcGjDrW0gdOG6r3QgTCxTLEUsWC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk4CisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgIEdQVDogVVVJRCBvciBMLFMsSCBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiAgICAgICAgICAgIEdQVDogdXVpZCBoYXkgcGjDrW0gdOG6r3QgTCxTLEguXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwMQorIywgZnV6enkKK21zZ2lkICIgICA8Ym9vdGFibGU+ICBVc2UgJyonIHRvIG1hcmsgYW4gTUJSIHBhcnRpdGlvbiBhcyBib290YWJsZS5cbiIKK21zZ3N0ciAiICAgPGto4bufaSDEkeG7mW5nIMSRxrDhu6NjPiAg4oCcKuKAnSDEkcOhbmggZOG6pXUgYuG6o25nIE1CUiBsw6Aga2jhu59pIMSR4buZbmcgxJHGsOG7o2MuIFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDUKK21zZ2lkICIgRXhhbXBsZTpcbiIKK21zZ3N0ciAiVsOtIGThu6U6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNworIywgZnV6enkKK21zZ2lkICIgICAsIDRHICAgICBDcmVhdGVzIGEgNEdpQiBwYXJ0aXRpb24gYXQgZGVmYXVsdCBzdGFydCBvZmZzZXQuXG4iCittc2dzdHIgIiAgICwgNEcgICAgIHThuqFvIHBow6JuIHbDuW5nIDRHaUIgdHLDqm4gduG7iyB0csOtIGLDuSBt4bq3YyDEkeG7i25oIMSR4bqndSB0acOqbi5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzM5IHN5cy11dGlscy9kbWVzZy5jOjE0NTUKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICJs4buHbmgga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICJkw7JuZyAlZDogbOG7h25oIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MDAKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgImfhurdwIGzhu5dpIGPhuqVwIHBow6F0IHTDqm4gcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU0MQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGPhuqVwIHBow6F0IGPDoW4gY+G7p2EgdsSDbiBs4buHbmgiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IG5vIHBhcnRpdGlvbiB0YWJsZSB3YXMgZm91bmQiCittc2dzdHIgIiVzOiBraMO0bmcgdGjhu4Mgc+G7rWEgcGjDom4gdsO5bmcgJWQsIGtow7RuZyB0w6xtIHRo4bqleSBi4bqjbmcgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczoga2jDtG5nIHRo4buDIHPhu61hIHBow6JuIHbDuW5nICVkLCBi4bqjbmcgcGjDom4gdsO5bmcgY2jhu4kgY2jhu6lhICV6dSBwaMOibiB2w7luZyBtw6AgdGjDtGkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXM6IHBhcnRpdGlvbiAlZCBpcyBub3QgZGVmaW5lZCB5ZXQiCittc2dzdHIgIktow7RuZyBjw7MgcGjDom4gdsO5bmcgxJHGsOG7o2MgxJHhu4tuaCBuZ2jEqWEhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIldlbGNvbWUgdG8gc2ZkaXNrICglcykuIgorbXNnc3RyICIiCisiXG4iCisiQ2jDoG8gbeG7q25nIGLhuqFuIGTDuW5nIGZkaXNrICglcykuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTQKK21zZ2lkICJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIKK21zZ3N0ciAixJBhbmcga2nhu4NtIHRyYSB4ZW0gxJHhu4MgY2jhuq9jIGNo4bqvbiBsw6Aga2jDtG5nIGPDsyBhaSDEkcOzIMSRYW5nIHPhu60gZOG7pW5nIMSRxKlhIG7DoHnigKYiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NworbXNnaWQgIiIKKyIgRkFJTEVEXG4iCisiXG4iCittc2dzdHIgIiIKKyIgQuG7iiBM4buWSVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MDAKK21zZ2lkICIiCisiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UgLSByZXBhcnRpdGlvbmluZyBpcyBwcm9iYWJseSBhIGJhZCBpZGVhLlxuIgorIlVtb3VudCBhbGwgZmlsZSBzeXN0ZW1zLCBhbmQgc3dhcG9mZiBhbGwgc3dhcCBwYXJ0aXRpb25zIG9uIHRoaXMgZGlzay5cbiIKKyJVc2UgdGhlIC0tbm8tcmVyZWFkIGZsYWcgdG8gc3VwcHJlc3MgdGhpcyBjaGVjay5cbiIKK21zZ3N0ciAiIgorIsSQxKlhIG7DoHkgaGnhu4duIHThuqFpIMSRYW5nIMSRxrDhu6NjIHPhu60gZOG7pW5nIC0gcGjDom4gdsO5bmcgbOG6oWkga2jDtG5nIHBo4bqjaSBsw6Agw70gdMaw4bufbmdcbiIKKyJoYXkuIEjDo3kgQuG7jyBn4bqvbiB04bqldCBj4bqjIGPDoWMgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiwgdsOgIHThuq90IChzd2Fwb2ZmKSBjw6FjIHBow6JuIHbDuW5nIHRyYW8gxJHhu5VpXG4iCisidHLDqm4gxJHEqWEgbsOgeS4gU+G7rSBk4bulbmcg4oCcLS1uby1yZXJlYWTigJ0gxJHhu4MgYuG7jyBraeG7g20gdHJhIG7DoHkuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwNQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIgorbXNnc3RyICJT4butIGThu6VuZyB0w7l5IGNo4buNbiAtLWZvcmNlIMSR4buDIGLDo2kgYuG7jyBt4buNaSBraeG7g20gdHJhLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjA3Cittc2dpZCAiIgorIiBPS1xuIgorIlxuIgorbXNnc3RyICIiCisiT0tcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjM2Cittc2dpZCAiIgorIlxuIgorIk9sZCBzaXR1YXRpb246IgorbXNnc3RyICIiCisiXG4iCisiVHLhuqFuZyB0aMOhaSBjxak6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorInNmZGlzayBpcyBnb2luZyB0byBjcmVhdGUgYSBuZXcgJyVzJyBkaXNrIGxhYmVsLlxuIgorIlVzZSAnbGFiZWw6IDxuYW1lPicgYmVmb3JlIHlvdSBkZWZpbmUgYSBmaXJzdCBwYXJ0aXRpb25cbiIKKyJ0byBvdmVycmlkZSB0aGUgZGVmYXVsdC4iCittc2dzdHIgIiIKKyJcbiIKKyJzZmRpc2sgc+G6vSB04bqhbyBuaMOjbiDEkcSpYSDigJwlc+KAnSBt4bubaS5cbiIKKyJEw7luZyDigJxsYWJlbDogPHTDqm4+4oCdIHRyxrDhu5tjIGtoaSBi4bqhbiDEkeG7i25oIG5naMSpYSBwaMOibiB2w7luZyDEkeG6p3UgdGnDqm5cbiIKKyLEkeG7gyBtw6AgxJHDqCBsw6puIG3hurdjIMSR4buLbmguIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NTcKK21zZ2lkICIiCisiXG4iCisiVHlwZSAnaGVscCcgdG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKyJcbiIKKyJIw6N5IGfDtSBs4buHbmgg4oCcJXMgLS1oZWxw4oCdIMSR4buDIHTDrG0gdGjhuqV5IHRow7RuZyB0aW4gdGjDqm0uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY3NQorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIHVzZWQuIgorbXNnc3RyICJN4buNaSBwaMOibiB2w7luZyDEkcOjIMSRxrDhu6NjIGTDuW5nLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzAzCisjLCBmdXp6eQorbXNnaWQgIkRvbmUuXG4iCittc2dzdHIgIsSQw6MgeG9uZy4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcxNQorIywgZnV6enkKK21zZ2lkICJJZ25vcmluZyBwYXJ0aXRpb24uIgorbXNnc3RyICJC4buPIHF1YSBwaMOibiB2w7luZyAlenUuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MjQKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0IGhlYWRlcnMsIGRpc2sgbGFiZWwgbm90IGNyZWF0ZWQuIgorbXNnc3RyICJH4bq3cCBs4buXaSBraGkgw6FwIGThu6VuZyBwaOG6p24gxJHhuqd1IHbEg24gbOG7h25oLCBuaMOjbiDEkWlhIGNoxrBhIHThuqFvLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkICMlZCBwYXJ0aXRpb24iCittc2dzdHIgIkfhurdwIGzhu5dpIGtoaSB0aMOqbSBwaMOibiB2w7luZyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzYzCittc2dpZCAiU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4iCittc2dzdHIgIlBo4bqnbiDEkeG6p3UgdsSDbiBs4buHbmggxJHGsOG7o2MgY2jhuqVwIHRodeG6rW4uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NzIKK21zZ2lkICIiCisiXG4iCisiTmV3IHNpdHVhdGlvbjoiCittc2dzdHIgIiIKKyJcbiIKKyJUcuG6oW5nIHRow6FpIG3hu5tpOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzgxCittc2dpZCAiRG8geW91IHdhbnQgdG8gd3JpdGUgdGhpcyB0byBkaXNrPyIKK21zZ3N0ciAiQuG6oW4gY8OzIG114buRbiBnaGkgbMOqbiDEkcSpYT8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc5MworbXNnaWQgIkxlYXZpbmcuXG4iCittc2dzdHIgIlLhu51pIGLhu48uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXY+IFtbLU5dIDxwYXJ0Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbY8OhYyB0w7l5IGNo4buNbl0gPHRoaeG6v3QtYuG7iz4gW1stTl0gPHBo4bqnbj5dXG4iCisiICUxJHMgW2PDoWMgdMO5eSBjaOG7jW5dIDxs4buHbmg+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMgorbXNnaWQgIiIKKyJcbiIKKyJDb21tYW5kczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkzhu4duaDpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEzCisjLCBmdXp6eQorbXNnaWQgIiAtQSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gbGlzdCBvciBzZXQgYm9vdGFibGUgTUJSIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIC1hLCAtLWFjdGl2YXRlIDxkZXY+IFs8cGFydD4g4oCmXSBsaeG7h3Qga8OqIGhv4bq3YyDEkeG6t3QgY8OhYyBwaMOibiB2w7luZyBNQlIga2jhu59pIMSR4buZbmcgxJHGsOG7o2NcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE0Cittc2dpZCAiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSAodXNhYmxlIGZvciBsYXRlciBpbnB1dClcbiIKK21zZ3N0ciAiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICDEkeG7lSBi4bqjbmcgcGjDom4gdsO5bmcgKGPDsyB0aOG7gyBkw7luZyBsw6BtIMSR4bqndSB2w6BvIHNhdSBuw6B5KVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTUKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSBpbiBKU09OIGZvcm1hdFxuIgorbXNnc3RyICIgLWQsIC0tZHVtcCA8ZGV2PiAgICAgICAgICAgICAgICAgIMSR4buVIGLhuqNuZyBwaMOibiB2w7luZyAoY8OzIHRo4buDIGTDuW5nIGzDoG0gxJHhuqd1IHbDoG8gc2F1IG7DoHkpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNgorbXNnaWQgIiAtZywgLS1zaG93LWdlb21ldHJ5IFs8ZGV2PiAuLi5dICAgbGlzdCBnZW9tZXRyeSBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxkZXY+IOKApl0gICBsaeG7h3Qga8OqIGjDrG5oIGjhu41jIGPhu6dhIHRoaeG6v3QgYuG7iyDEkcOjIGNobyBob+G6t2MgbeG7jWlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE3Cittc2dpZCAiIC1sLCAtLWxpc3QgWzxkZXY+IC4uLl0gICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgWzxkZXY+IOKApl0gICAgICAgICAgICAgIGxp4buHdCBrw6ogY8OhYyBwaMOibiB2w7luZyBj4bunYSB04burbmcgdGhp4bq/dCBi4buLXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxOAorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbGlzdC1mcmVlIFs8ZGV2PiAuLi5dICAgICAgIGxpc3QgdW5wYXJ0aXRpb25lZCBmcmVlIGFyZWFzIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAtbCwgLS1saXN0IFs8ZGV2PiDigKZdICAgICAgICAgICAgICBsaeG7h3Qga8OqIGPDoWMgcGjDom4gdsO5bmcgY+G7p2EgdOG7q25nIHRoaeG6v3QgYuG7i1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTkKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlb3JkZXIgPGRldj4gICAgICAgICAgICAgICBmaXggcGFydGl0aW9ucyBvcmRlciAoYnkgc3RhcnQgb2Zmc2V0KVxuIgorbXNnc3RyICIgLWEsIC0tYWRkICAgICAgICAgICAgdGjDqm0gcGjDom4gdsO5bmcgxJHDoyBjaOG7iSDEkeG7i25oIGhheSB04bqldCBj4bqjIGNow7puZ1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjAKK21zZ2lkICIgLXMsIC0tc2hvdy1zaXplIFs8ZGV2PiAuLi5dICAgICAgIGxpc3Qgc2l6ZXMgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtcywgLS1zaG93LXNpemUgWzxkZXY+IOKApl0gICAgICAgICBsaeG7h3Qga8OqIGPDoWMgY+G7oSBj4bunYSBt4buNaSBoYXkgdOG7q25nIHRoaeG6v3QgYuG7iyDEkcOjIGNob1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjEKK21zZ2lkICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByZWNvZ25pemVkIHR5cGVzIChzZWUgLVgpXG4iCittc2dzdHIgIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIGPDoWMga2nhu4N1IMSRxrDhu6NjIGNo4bqlcCBuaOG6rW4gKHhlbSAtWClcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIyCisjLCBmdXp6eQorbXNnaWQgIiAtViwgLS12ZXJpZnkgWzxkZXY+IC4uLl0gICAgICAgICAgdGVzdCB3aGV0aGVyIHBhcnRpdGlvbnMgc2VlbSBjb3JyZWN0XG4iCittc2dzdHIgIiAtViwgLS12ZXJpZnkgICAgICAgICAgICAgICAgICAgICAga2nhu4NtIHRyYSB4ZW0gcGjDom4gdsO5bmcgxJHDoyDEkcO6bmcgY2jGsGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIzCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1kZWxldGUgPGRldj4gWzxwYXJ0PiAuLi5dICAgZGVsZXRlIGFsbCBvciBzcGVjaWZpZWQgcGFydGl0aW9uc1xuIgorbXNnc3RyICIgLWEsIC0tYWN0aXZhdGUgPGRldj4gWzxwYXJ0PiDigKZdIGxp4buHdCBrw6ogaG/hurdjIMSR4bq3dCBjw6FjIHBow6JuIHbDuW5nIE1CUiBraOG7n2kgxJHhu5luZyDEkcaw4bujY1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjYKK21zZ2lkICIgLS1wYXJ0LWxhYmVsIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gbGFiZWxcbiIKK21zZ3N0ciAiIC0tcGFydC1sYWJlbCA8ZGV2PiA8cGFydD4gWzxzdHI+XSBpbiBoYXkgxJHhu5VpIG5ow6NuIHBow6JuIHbDuW5nXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNworbXNnaWQgIiAtLXBhcnQtdHlwZSA8ZGV2PiA8cGFydD4gWzx0eXBlPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiAtLXBhcnQtdHlwZSA8ZGV2PiA8cGFydD4gWzx0eXBlPl0gaW4gaG/hurdjIMSR4buVaSBraeG7g3UgcGjDom4gdsO5bmdcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI4Cittc2dpZCAiIC0tcGFydC11dWlkIDxkZXY+IDxwYXJ0PiBbPHV1aWQ+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHV1aWRcbiIKK21zZ3N0ciAiIC0tcGFydC11dWlkIDxkZXY+IDxwYXJ0PiBbPHV1aWQ+XSBpbiBoYXkgxJHhu5VpIHV1aWQgY+G7p2EgcGjDom4gdsO5bmdcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI5Cittc2dpZCAiIC0tcGFydC1hdHRycyA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGF0dHJpYnV0ZXNcbiIKK21zZ3N0ciAiIC0tcGFydC1hdHRycyA8ZGV2PiA8cGFydD4gWzxzdHI+XSBpbiBoYXkgxJHhu5VpIGPDoWMgdGh14buZYyB0w61uaCBj4bunYSBwaMOibiB2w7luZ1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzIKK21zZ2lkICIgPGRldj4gICAgICAgICAgICAgICAgICAgICBkZXZpY2UgKHVzdWFsbHkgZGlzaykgcGF0aFxuIgorbXNnc3RyICIgPGRldj4gICAgICAgICAgICAgICAgICAgICDEkcaw4budbmcgZOG6q24gdGhp4bq/dCBi4buLICh0aMaw4budbmcgbMOgIMSRxKlhKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzMKK21zZ2lkICIgPHBhcnQ+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiA8cGFydD4gICAgICAgICAgICAgICAgICAgIHPhu5EgcGjDom4gdsO5bmdcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM0Cittc2dpZCAiIDx0eXBlPiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIHR5cGUsIEdVSUQgZm9yIEdQVCwgaGV4IGZvciBNQlJcbiIKK21zZ3N0ciAiIDx0eXBlPiAgICAgICAgICAgICAgICAgICAga2nhu4N1IHBow6JuIHbDuW5nLCBHVUlEIGNobyBHUFQsIGhleCBjaG8gTUJSXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzNworIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICBhcHBlbmQgcGFydGl0aW9ucyB0byBleGlzdGluZyBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiIC1BLCAtLWFwcGVuZCAgICAgICAgICAgICAgdGjDqm0gY8OhYyBwaMOibiB2w7luZyBz4bq1biBjw7MgdsOgbyBi4bqjbmcgcGjDom4gdsO5bmdcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM4Cittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAgYmFja3VwIHBhcnRpdGlvbiB0YWJsZSBzZWN0b3JzIChzZWUgLU8pXG4iCittc2dzdHIgIiAtYiwgLS1iYWNrdXAgICAgICAgICAgICAgIHNhbyBsxrB1IGPDoWMgY3VuZyB04burIGLhuqNuZyBwaMOibiB2w7luZyAoeGVtIC1PKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICBoaeG7g24gdGjhu4sga8OtY2ggdGjGsOG7m2MgdGhlbyBieXRlIHRoYXkgdsOsIMSR4buLbmggZOG6oW5nIGTDoG5oIGNobyBjb24gbmfGsOG7nWlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQwCittc2dpZCAiICAgICAtLW1vdmUtZGF0YVs9PHR5cGVzY3JpcHQ+XSBtb3ZlIHBhcnRpdGlvbiBkYXRhIGFmdGVyIHJlbG9jYXRpb24gKHJlcXVpcmVzIC1OKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MQorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGNvbnNpc3RlbmN5IGNoZWNraW5nXG4iCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIHThuq90IG3hu41pIGtp4buDbSB0cmEgdG/DoG4gduG6uW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIiCisiIC1MIC0tY29sb3JbPTxraGk+XSAgICAgIHTDtCBzw6FuZyBr4bq/dCB4deG6pXQgPGtoaT46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAoYXV0byAgICB04buxIMSR4buZbmcsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx3YXlzICBsdcO0biBob+G6t2NcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXZlciAgIGtow7RuZyBiYW8gZ2nhu50pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NQorbXNnaWQgIiAtTiwgLS1wYXJ0bm8gPG51bT4gICAgICAgIHNwZWNpZnkgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgLU4sIC0tcGFydG5vIDxudW0+ICAgICAgICBjaOG7iSDEkeG7i25oIHPhu5EgcGjDom4gdsO5bmdcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ2Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgd3JpdGUgdG8gZGV2aWNlXG4iCittc2dzdHIgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIGzDoG0gbeG7jWkgdGjhu6kgbmdv4bqhaSB0cuG7qyBnaGkgbMOqbiB0aGnhur90IGLhu4tcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ3Cittc2dpZCAiICAgICAtLW5vLXJlcmVhZCAgICAgICAgICAgZG8gbm90IGNoZWNrIHdoZXRoZXIgdGhlIGRldmljZSBpcyBpbiB1c2VcbiIKK21zZ3N0ciAiICAgICAtLW5vLXJlcmVhZCAgICAgICAgICAga2jDtG5nIGPhuqduIGtp4buDbSB0cmEgeGVtIHRoaeG6v3QgYuG7iyBjw7MgxJFhbmcgxJHGsOG7o2MgZMO5bmcgaGF5IGtow7RuZ1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDgKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgZG8gbm90IHRlbGwga2VybmVsIGFib3V0IGNoYW5nZXNcbiIKK21zZ3N0ciAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICDEkeG7q25nIGPhuq90IG5n4bqvbiBr4bq/dCB4deG6pXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ5Cittc2dpZCAiIC1PLCAtLWJhY2t1cC1maWxlIDxwYXRoPiAgb3ZlcnJpZGUgZGVmYXVsdCBiYWNrdXAgZmlsZSBuYW1lXG4iCittc2dzdHIgIiAtTywgLS1iYWNrdXAtZmlsZSA8cGF0aD4gIMSRw6ggbMOqbiB0w6puIHThuq1wIHRpbiBzYW8gbMawdSBk4buxIHBow7JuZyBt4bq3YyDEkeG7i25oXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MAorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGQuc8OhY2g+ICBoaeG7g24gdGjhu4sgY8OhYyBj4buZdFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTEKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBzdXBwcmVzcyBleHRyYSBpbmZvIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIGNo4bq3biBjw6FjIHRow7RuZyB0aW4gdGjDtG5nIGLDoW8gbeG7nyBy4buZbmdcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUyCisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxraGk+XSAgICAgICAgIHTDtCBtw6B1IHRow7RuZyDEkWnhu4dwICjigJxhdXRv4oCdLiDigJxhbHdheXPigJ0gaGF5IOKAnG5ldmVy4oCdLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTQKK21zZ2lkICIgLVgsIC0tbGFiZWwgPG5hbWU+ICAgICAgICBzcGVjaWZ5IGxhYmVsIHR5cGUgKGRvcywgZ3B0LCAuLi4pXG4iCittc2dzdHIgIiAtWCwgLS1sYWJlbCA8bmFtZT4gICAgICAgIGNo4buJIMSR4buLbmgga2nhu4N1IG5ow6NuIChkb3MsIGdwdCwg4oCmKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTUKK21zZ2lkICIgLVksIC0tbGFiZWwtbmVzdGVkIDxuYW1lPiBzcGVjaWZ5IG5lc3RlZCBsYWJlbCB0eXBlIChkb3MsIGJzZClcbiIKK21zZ3N0ciAiIC1ZLCAtLWxhYmVsLW5lc3RlZCA8bmFtZT4gY2jhu4kgxJHhu4tuaCBraeG7g3UgbmjDo24gbOG7k25nIG5oYXUgKGRvcywgYnNkKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTcKK21zZ2lkICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBkZXByZWNhdGVkLCBhbGlhcyB0byAtLXNob3ctZ2VvbWV0cnlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTgKK21zZ2lkICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4iCittc2dzdHIgIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIMSRw6MgbOG6oWMgaOG6rXUsIGTDoG5oIGNobyBt4bulYyDEkcOtY2ggdMawxqFuZyB0aMOtY2ggbmfGsOG7o2NcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU5Cittc2dpZCAiIC11LCAtLXVuaXQgUyAgICAgICAgICAgICAgZGVwcmVjYXRlZCwgb25seSBzZWN0b3IgdW5pdCBpcyBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiIC11LCAtLXVuaXQgUyAgICAgICAgICAgICAgxJHDoyBs4bqhYyBo4bqtdSwgY2jhu4kgxJHGoW4gduG7iyBjdW5nIHThu6sgxJHGsOG7o2MgaOG7lyB0cuG7o1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjMgbG9naW4tdXRpbHMvY2hmbi5jOjEwMiBsb2dpbi11dGlscy9jaHNoLmM6NzkKK21zZ2lkICIgLXYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC12LCAtLXZlcnNpb24gIMSRxrBhIHJhIHRow7RuZyB0aW4gcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIiVzIMSRw6MgbOG7l2kgdGjhu51pIHRyb25nLS0tcGFydC10eXBlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NzMKK21zZ2lkICItLWlkIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICItLWlkIMSRw6MgbOG7l2kgdGjhu51pIHRyb25nIC0tLXBhcnQtdHlwZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxOTg5Cittc2dpZCAiLS1zaG93LXB0LWdlb21ldHJ5IGlzIG5vIG1vcmUgaW1wbGVtZW50ZWQuIFVzaW5nIC0tc2hvdy1nZW9tZXRyeS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDAwCittc2dpZCAiLS1MaW51eCBvcHRpb24gaXMgdW5uZWNlc3NhcnkgYW5kIGRlcHJlY2F0ZWQiCittc2dzdHIgIlTDuXkgY2jhu41uIC0tTGludXggbMOgIGtow7RuZyBj4bqnbiB0aGnhur90IHbDoCDEkcOjIGzhu5dpIHRo4budaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDI5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHVuaXQgJyVjJyIKK21zZ3N0ciAia2jDtG5nIGjhu5cgdHLhu6MgxJHGoW4gduG7iyDigJwlY+KAnSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDMyIGluY2x1ZGUvYy5oOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzXG4iCittc2dzdHIgIuKAnCVz4oCdIHThu6sgZ8OzaSBwaOG6p24gbeG7gW0g4oCcJXPigJ1cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMTA5Cittc2dpZCAiLS1tb3ZlZGF0YSByZXF1aXJlcyAtTiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBVVUlEOiAlcyIKK21zZ3N0ciAibOG7l2kgcGjDom4gdMOtY2ggVVVJRDogJXMiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgVVVJRCIKK21zZ3N0ciAiJXM6IGzhu5dpIGRpIGNodXnhu4NuIHbhu4sgdHLDrSDEkeG7jWMgdOG7m2kgVVVJRCB0cmFvIMSR4buVaSIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIFVVSUQiCittc2dzdHIgIiVzOiBs4buXaSBnaGkgVVVJRCIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBsYWJlbCAiCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgZGkgY2h1eeG7g24gduG7iyB0csOtIMSR4buNYyB04bubaSBuaMOjbiB0cmFvIMSR4buVaSAiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAibGFiZWwgaXMgdG9vIGxvbmcuIFRydW5jYXRpbmcgaXQgdG8gJyVzJyIKK21zZ3N0ciAibmjDo24gcXXDoSBkw6BpIG7Dqm4gY+G6r3Qgbmfhuq9uIG7DsyB0aMOgbmgg4oCcJXPigJ0iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBsYWJlbCIKK21zZ3N0ciAiJXM6IGzhu5dpIGdoaSBuaMOjbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjEKK21zZ2lkICJEaXNwbGF5IG9yIGNoYW5nZSB0aGUgbGFiZWwgb3IgVVVJRCBvZiBhIHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiSGnhu4NuIHRo4buLIGhheSB0aGF5IMSR4buVaSBuaMOjbiBoYXkgVVVJRCBj4bunYSB2w7luZyB0csOhbyDEkeG7lWkuXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTI0Cittc2dpZCAiIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+IHNwZWNpZnkgYSBuZXcgbGFiZWxcbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICBzcGVjaWZ5IGEgbmV3IHV1aWRcbiIKK21zZ3N0ciAiIgorIiAtTCwgLS1sYWJlbCA8bmjDo24+ICBjaOG7iSByYSBt4buZdCBuaMOjbiBt4bubaVxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgIGNo4buJIHJhIG3hu5l0IFVVSUQgbeG7m2lcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxNjcKK21zZ2lkICJpZ25vcmUgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCkiCittc2dzdHIgImLhu48gcXVhIC1VIChjw6FjIFVVSUQga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MpIgorCisjOiBpbmNsdWRlL2MuaDoyOTkKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJDw6FjaCBkw7luZzpcbiIKKworIzogaW5jbHVkZS9jLmg6MzAwCittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJUw7l5IGNo4buNbjpcbiIKKworIzogaW5jbHVkZS9jLmg6MzAyCittc2dpZCAiIC1oLCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAtaCwgLS1oZWxwICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKworIzogaW5jbHVkZS9jLmg6MzAzCittc2dpZCAiIC1WLCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAtViwgLS12ZXJzaW9uICDEkcawYSByYSB0aMO0bmcgdGluIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKworIzogaW5jbHVkZS9jLmg6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJGb3IgbW9yZSBkZXRhaWxzIHNlZSAlcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIsSQ4buDIHTDrG0gdGjDqm0gdGjDtG5nIHRpbiwgeGVtICVzLlxuIgorIlRow7RuZyBiw6FvIGzhu5dpIGThu4tjaCBjaG8gPGh0dHA6Ly90cmFuc2xhdGlvbnByb2plY3Qub3JnL3RlYW0vdmkuaHRtbD5cbiIKKworIzogaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ2IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0OCBsb2dpbi11dGlscy92aXB3LmM6MjczCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjkyIHN5cy11dGlscy9ydGN3YWtlLmM6MjgwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjgwNQorIzogdGV4dC11dGlscy9jb2wuYzoxNTcKK21zZ2lkICJ3cml0ZSBlcnJvciIKK21zZ3N0ciAibOG7l2kgZ2hpIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI3CisjLCBmdXp6eQorbXNnaWQgImNvbG9ycyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICLEkMSDbmcgbmjhuq1wIHRyw6puICVzIHThu6sgJXMgYuG7iyBj4bqlbSB0aGVvIG3hurdjIMSR4buLbmguXG4iCisKKyM6IGluY2x1ZGUvY29sb3JzLmg6MjkKKyMsIGZ1enp5Cittc2dpZCAiY29sb3JzIGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICLEkMSDbmcgbmjhuq1wIHRyw6puICVzIHThu6sgJXMgYuG7iyBj4bqlbSB0aGVvIG3hurdjIMSR4buLbmguXG4iCisKKyM6IGluY2x1ZGUvZW52Lmg6MTggbGliL3BhZ2VyLmM6MTUxIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTA1MgorIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMDU2IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjUyOQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyBlbnZpcm9ubWVudCB2YXJpYWJsZSIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSR4bq3dCBnaeG7m2kgaOG6oW4gbmd14buTbiAlcyIKKworIzogaW5jbHVkZS9vcHR1dGlscy5oOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGVzZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmU6IgorbXNnc3RyICIlczogbmjhu69uZyB0w7l5IGNo4buNbiBuw6B5IGxv4bqhaSB04burIGzhuqtuIG5oYXU6IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxCittc2dpZCAiRW1wdHkiCittc2dzdHIgIlLhu5duZyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MgorbXNnaWQgIkZBVDEyIgorbXNnc3RyICJGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MworbXNnaWQgIlhFTklYIHJvb3QiCittc2dzdHIgIlhFTklYIGfhu5FjIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0Cittc2dpZCAiWEVOSVggdXNyIgorbXNnc3RyICJYRU5JWCB1c3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUKK21zZ2lkICJGQVQxNiA8MzJNIgorbXNnc3RyICJGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2Cittc2dpZCAiRXh0ZW5kZWQiCittc2dzdHIgIk3hu58gcuG7mW5nIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3Cittc2dpZCAiRkFUMTYiCittc2dzdHIgIkZBVDE2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4Cittc2dpZCAiSFBGUy9OVEZTL2V4RkFUIgorbXNnc3RyICJIUEZTL05URlMvZXhGQVQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkKK21zZ2lkICJBSVgiCittc2dzdHIgIkFJWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAKK21zZ2lkICJBSVggYm9vdGFibGUiCittc2dzdHIgIkFUWCBraOG7n2kgxJHhu5luZyDEkcaw4bujYyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTEKK21zZ2lkICJPUy8yIEJvb3QgTWFuYWdlciIKK21zZ3N0ciAiT1MvMiBRdeG6o24gbMO9IGto4bufaSDEkeG7mW5nIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMgorbXNnaWQgIlc5NSBGQVQzMiIKK21zZ3N0ciAiVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMworbXNnaWQgIlc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNAorbXNnaWQgIlc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNQorbXNnaWQgIlc5NSBFeHQnZCAoTEJBKSIKK21zZ3N0ciAiVzk1IEV4dCdkIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNgorbXNnaWQgIk9QVVMiCittc2dzdHIgIk9QVVMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE3Cittc2dpZCAiSGlkZGVuIEZBVDEyIgorbXNnc3RyICJGQVQxMiDhuqluIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOAorbXNnaWQgIkNvbXBhcSBkaWFnbm9zdGljcyIKK21zZ3N0ciAiQ2h14bqpbiDEkW/DoW4gQ29tcGFxIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOQorbXNnaWQgIkhpZGRlbiBGQVQxNiA8MzJNIgorbXNnc3RyICJGQVQxNiDhuqluIDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIwCittc2dpZCAiSGlkZGVuIEZBVDE2IgorbXNnc3RyICJGQVQxNiDhuqluIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMQorbXNnaWQgIkhpZGRlbiBIUEZTL05URlMiCittc2dzdHIgIkhQRlMvTlRGUyDhuqluIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMgorbXNnaWQgIkFTVCBTbWFydFNsZWVwIgorbXNnc3RyICJBU1QgU21hcnRTbGVlcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjMKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIgorbXNnc3RyICJXOTUgRkFUMzIg4bqpbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjQKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICJXOTUgRkFUMzIg4bqpbiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjUKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICJXOTUgRkFUMTYgKExCQSkg4bqpbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjYKK21zZ2lkICJORUMgRE9TIgorbXNnc3RyICJORUMgRE9TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNworbXNnaWQgIkhpZGRlbiBOVEZTIFdpblJFIgorbXNnc3RyICJOVEZTIFdpblJFIOG6qW4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI4Cittc2dpZCAiUGxhbiA5IgorbXNnc3RyICJQbGFuIDkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI5Cittc2dpZCAiUGFydGl0aW9uTWFnaWMgcmVjb3ZlcnkiCittc2dzdHIgIktow7RpIHBo4bulYyBQYXJ0aXRpb25NYWdpYyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzAKK21zZ2lkICJWZW5peCA4MDI4NiIKK21zZ3N0ciAiVmVuaXggODAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMxCittc2dpZCAiUFBDIFBSZVAgQm9vdCIKK21zZ3N0ciAiS2jhu59pIMSR4buZbmcgUFBDIFBSZVAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMyCittc2dpZCAiU0ZTIgorbXNnc3RyICJTRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMzCittc2dpZCAiUU5YNC54IgorbXNnc3RyICJRTlg0LngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM0Cittc2dpZCAiUU5YNC54IDJuZCBwYXJ0IgorbXNnc3RyICJRTlg0LnggcGjhuqduIDIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM1Cittc2dpZCAiUU5YNC54IDNyZCBwYXJ0IgorbXNnc3RyICJRTlg0LnggcGjhuqduIDMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM2Cittc2dpZCAiT25UcmFjayBETSIKK21zZ3N0ciAiT25UcmFjayBETSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzcKK21zZ2lkICJPblRyYWNrIERNNiBBdXgxIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgxIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOAorbXNnaWQgIkNQL00iCittc2dzdHIgIkNQL00iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM5Cittc2dpZCAiT25UcmFjayBETTYgQXV4MyIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDAKK21zZ2lkICJPblRyYWNrRE02IgorbXNnc3RyICJPblRyYWNrRE02IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MQorbXNnaWQgIkVaLURyaXZlIgorbXNnc3RyICJFWi1Ecml2ZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDIKK21zZ2lkICJHb2xkZW4gQm93IgorbXNnc3RyICJHb2xkZW4gQm93IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MworbXNnaWQgIlByaWFtIEVkaXNrIgorbXNnc3RyICJQcmlhbSBFZGlzayIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDQgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTEKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk5Cittc2dpZCAiU3BlZWRTdG9yIgorbXNnc3RyICJTcGVlZFN0b3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ1Cittc2dpZCAiR05VIEhVUkQgb3IgU3lzViIKK21zZ3N0ciAiR05VIEhVUkQgaGF5IFN5c1YiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ2Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMjg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ3Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMzg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAzODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ4Cittc2dpZCAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorbXNnc3RyICJC4bqjb23huq10xJHEqWEgxJBhLWto4bufaS3EkeG7mW5nIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OQorbXNnaWQgIlBDL0lYIgorbXNnc3RyICJQQy9JWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTAKK21zZ2lkICJPbGQgTWluaXgiCittc2dzdHIgIk1pbml4IGPFqSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTEKK21zZ2lkICJNaW5peCAvIG9sZCBMaW51eCIKK21zZ3N0ciAiTWluaXggLyBMaW51eCBjxakiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUyCittc2dpZCAiTGludXggc3dhcCAvIFNvbGFyaXMiCittc2dzdHIgIlRyYW8gxJHhu5VpIExpbnV4L1NvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUzCittc2dpZCAiTGludXgiCittc2dzdHIgIkxpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NAorbXNnaWQgIk9TLzIgaGlkZGVuIG9yIEludGVsIGhpYmVybmF0aW9uIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU3Cittc2dpZCAiTGludXggZXh0ZW5kZWQiCittc2dzdHIgIkxpbnV4IG3hu58gcuG7mW5nIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OQorbXNnaWQgIk5URlMgdm9sdW1lIHNldCIKK21zZ3N0ciAiQuG7mSBraOG7kWkgdGluIE5URlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYwCittc2dpZCAiTGludXggcGxhaW50ZXh0IgorbXNnc3RyICJMaW51eCBjaOG7ryB0aMaw4budbmciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYxIGxpYmZkaXNrL3NyYy9ncHQuYzoyMDUgbGliZmRpc2svc3JjL3NnaS5jOjYzCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTQKK21zZ2lkICJMaW51eCBMVk0iCittc2dzdHIgIkxpbnV4IExWTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjIKK21zZ2lkICJBbW9lYmEiCittc2dzdHIgIkFtb2ViYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjMKK21zZ2lkICJBbW9lYmEgQkJUIgorbXNnc3RyICJBbW9lYmEgQkJUIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NAorbXNnaWQgIkJTRC9PUyIKK21zZ3N0ciAiQlNEL09TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NQorbXNnaWQgIklCTSBUaGlua3BhZCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiTmfhu6cgxJHDtG5nIElCTSBUaGlua3BhZCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjYKK21zZ2lkICJGcmVlQlNEIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NworbXNnaWQgIk9wZW5CU0QiCittc2dzdHIgIk9wZW5CU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY4Cittc2dpZCAiTmVYVFNURVAiCittc2dzdHIgIk5lWFRTVEVQIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OQorbXNnaWQgIkRhcndpbiBVRlMiCittc2dzdHIgIkRhcndpbiBVRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcwCittc2dpZCAiTmV0QlNEIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcxCittc2dpZCAiRGFyd2luIGJvb3QiCittc2dzdHIgIkto4bufaSDEkeG7mW5nIERhcndpbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzIKK21zZ2lkICJIRlMgLyBIRlMrIgorbXNnc3RyICJIRlMgLyBIRlMrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MworbXNnaWQgIkJTREkgZnMiCittc2dzdHIgIkh0dHQgQlNESSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzQKK21zZ2lkICJCU0RJIHN3YXAiCittc2dzdHIgIlRyYW8gxJHhu5VpIEJTREkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc1Cittc2dpZCAiQm9vdCBXaXphcmQgaGlkZGVuIgorbXNnc3RyICJUaHXhuq10IHPEqSBraOG7n2kgxJHhu5luZyDhuqluIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NgorIywgZnV6enkKK21zZ2lkICJBY3JvbmlzIEZBVDMyIExCQSIKK21zZ3N0ciAiVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NyBsaWJmZGlzay9zcmMvZ3B0LmM6MjMwCittc2dpZCAiU29sYXJpcyBib290IgorbXNnc3RyICJLaOG7n2kgxJHhu5luZyBTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OAorbXNnaWQgIlNvbGFyaXMiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc5Cittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTIpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xMikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgwCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgxCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgyCittc2dpZCAiU3lyaW54IgorbXNnc3RyICJTeXJpbngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgzCittc2dpZCAiTm9uLUZTIGRhdGEiCittc2dzdHIgIkThu68gbGnhu4d1IGtow7RuZyBwaOG6o2kgRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg0Cittc2dpZCAiQ1AvTSAvIENUT1MgLyAuLi4iCittc2dzdHIgIkNQL00gLyBDVE9TIC8g4oCmIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NgorbXNnaWQgIkRlbGwgVXRpbGl0eSIKK21zZ3N0ciAiQ8O0bmcgY+G7pSBEZWxsIgorCisjIE5hbWU6IGRvbid0IHRyYW5zbGF0ZS9Uw6puOiDEkeG7q25nIGThu4tjaAorIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODcKK21zZ2lkICJCb290SXQiCittc2dzdHIgIkJvb3RJdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODgKK21zZ2lkICJET1MgYWNjZXNzIgorbXNnc3RyICJUcnV5IGPhuq1wIERPUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTAKK21zZ2lkICJET1MgUi9PIgorbXNnc3RyICJET1MgUi9PIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MworIywgZnV6enkKK21zZ2lkICJSdWZ1cyBhbGlnbm1lbnQiCittc2dzdHIgIsSR4buRaSBz4buRIMSR4bqndSB0acOqbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTQKK21zZ2lkICJCZU9TIGZzIgorbXNnc3RyICJIdHR0IEJlT1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk2Cittc2dpZCAiRUZJIChGQVQtMTIvMTYvMzIpIgorbXNnc3RyICJFRkkgKEZBVC0xMi8xNi8zMikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk3Cittc2dpZCAiTGludXgvUEEtUklTQyBib290IgorbXNnc3RyICJLaOG7n2kgxJHhu5luZyBMaW51eC9QQS1SSVNDIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDAKK21zZ2lkICJET1Mgc2Vjb25kYXJ5IgorbXNnc3RyICJET1MgcGjhu6UiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMQorbXNnaWQgIlZNd2FyZSBWTUZTIgorbXNnc3RyICJWTXdhcmUgVk1GUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAyCittc2dpZCAiVk13YXJlIFZNS0NPUkUiCittc2dzdHIgIlZNd2FyZSBWTUtDT1JFIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDMgbGliZmRpc2svc3JjL3N1bi5jOjU1Cittc2dpZCAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorbXNnc3RyICJU4buxIMSR4buZbmcgbmjhuq1uIHJhIExpbnV4IHJhaWQiCisKKyMgTmFtZTogZG9uJ3QgdHJhbnNsYXRlL1TDqm46IMSR4burbmcgZOG7i2NoCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDYKK21zZ2lkICJMQU5zdGVwIgorbXNnc3RyICJMQU5zdGVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDcKK21zZ2lkICJCQlQiCittc2dzdHIgIkJCVCIKKworIzogbGliL2Jsa2Rldi5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlcyBpcyBtaXNhbGlnbmVkIgorbXNnc3RyICJj4bqjbmggYsOhbzogJXMga2jDtG5nIMSRxrDhu6NjIMSR4buTbmcgY2jhu4luaCIKKworIzogbGliZmRpc2svc3JjL2FsaWdubWVudC5jOjY3MgorbXNnaWQgIkNhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIsSQYW5nIGfhu41pIGjDoG0gaW9jdGwoKSDEkeG7gyDEkeG7jWMgbOG6oWkgYuG6o25nIHBow6JuIHbDuW5nLiIKKworIzogbGliZmRpc2svc3JjL2FsaWdubWVudC5jOjY4MQorbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuIgorbXNnc3RyICJHbCBraGkgxJHhu41jIGzhuqFpIGLhuqNuZyBwaMOibiB2w7luZy4iCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2ODMKK21zZ2lkICJUaGUga2VybmVsIHN0aWxsIHVzZXMgdGhlIG9sZCB0YWJsZS4gVGhlIG5ldyB0YWJsZSB3aWxsIGJlIHVzZWQgYXQgdGhlIG5leHQgcmVib290IG9yIGFmdGVyIHlvdSBydW4gcGFydHByb2JlKDgpIG9yIGtwYXJ0eCg4KS4iCittc2dzdHIgIk5ow6JuIGjhu4cgxJFp4buBdSBow6BuaCB24bqrbiBjw7JuIGTDuW5nIGLhuqNuZyBjxakuIELhuqNuZyBt4bubaSBz4bq9IMSRxrDhu6NjIGTDuW5nIOG7nyBs4bqnbiBraOG7n2kgxJHhu5luZyBr4bq/IHRp4bq/cCwgaG/hurdjIHNhdSBraGkgYuG6oW4gY2jhuqF5IGzhu4duaCBwYXJ0cHJvYmUoOCkgaGF5IGtwYXJ0eCg4KS4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0NzIgbGliZmRpc2svc3JjL2Fzay5jOjQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3RlZCBwYXJ0aXRpb24gJWp1IgorbXNnc3RyICJQaMOibiB2w7luZyDEkcOjIGNo4buNbiAlanUiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0NzUKK21zZ2lkICJObyBwYXJ0aXRpb24gaXMgZGVmaW5lZCB5ZXQhIgorbXNnc3RyICJLaMO0bmcgY8OzIHBow6JuIHbDuW5nIMSRxrDhu6NjIMSR4buLbmggbmdoxKlhISIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ4NworbXNnaWQgIk5vIGZyZWUgcGFydGl0aW9uIGF2YWlsYWJsZSEiCittc2dzdHIgIktow7RuZyBjw7JuIHBow6JuIHbDuW5nIGPDsm4gdHLhu5FuZyBuw6BvIGPhuqMhIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDk3Cittc2dpZCAiUGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiU+G7kSB0aOG7qSB04buxIHBow6JuIHbDuW5nIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6OTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgcGFydGl0aW9uICVkIG9mIHR5cGUgJyVzJyBhbmQgb2Ygc2l6ZSAlcy4iCittc2dzdHIgIlThuqFvIHBow6JuIHbDuW5nICVkIGtp4buDdSAlcyB2w6Aga8OtY2ggY+G7oSAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICJQaMOibiB2w7luZyAlemQ6IGPDsyBjdW5nIHThu6sgYuG6r3QgxJHhuqd1IDAgYuG7iyBs4buXaS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlcmUgaXMgbm8gKkJTRCBwYXJ0aXRpb24gb24gJXMuIgorbXNnc3RyICJLaMO0bmcgY8OzIHBow6JuIHbDuW5nICpCU0QgdHLDqm4gJXMuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MjU5IGxpYmZkaXNrL3NyYy9kb3MuYzo5MzMKK21zZ2lkICJGaXJzdCBjeWxpbmRlciIKK21zZ3N0ciAiVHLhu6UgdOG7qyDEkeG6p3UgdGnDqm4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTIgbGliZmRpc2svc3JjL2Rvcy5jOjExNjEKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIlRy4bulIHThu6sgY3Xhu5FpLCArdHLhu6UgaGF5ICtzaXple0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTcgbGliZmRpc2svc3JjL2Rvcy5jOjExNjYgbGliZmRpc2svc3JjL2dwdC5jOjIyNTUKK21zZ2lkICJMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiQ3VuZyB04burIGN14buRaSwgK3NlY3RvcnMgaGF5ICtzaXple0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRldmljZSAlcyBkb2VzIG5vdCBjb250YWluIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICJUaGnhur90IGLhu4sgJXMga2jDtG5nIGNo4bupYSBuaMOjbiDEkcSpYSBCU0QuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgzCittc2dpZCAiRG8geW91IHdhbnQgdG8gY3JlYXRlIGEgQlNEIGRpc2tsYWJlbD8iCittc2dzdHIgIkLhuqFuIGPDsyBtdeG7kW4gdOG6oW8gbeG7mXQgbmjDo24gxJHEqWEgQlNEPyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ0OQorIywgZnV6enkKK21zZ2lkICJEaXNrIgorbXNnc3RyICLEkMSpYTogJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NTYKK21zZ2lkICJQYWNrbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDYzIGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE3Cittc2dpZCAiRmxhZ3MiCittc2dzdHIgIkPhu50iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjYKK21zZ2lkICIgcmVtb3ZhYmxlIgorbXNnc3RyICIgY8OzIHRo4buDIHRow6FvIHLhu51pIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY3Cittc2dpZCAiIGVjYyIKK21zZ3N0ciAiIGVjYyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2OAorbXNnaWQgIiBiYWRzZWN0IgorbXNnc3RyICIgY3VuZyB04burIHNhaSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ3NgorIywgZnV6enkKK21zZ2lkICJCeXRlcy9TZWN0b3IiCittc2dzdHIgImJ5dGUvY3VuZyB04burIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDgxCisjLCBmdXp6eQorbXNnaWQgIlRyYWNrcy9DeWxpbmRlciIKK21zZ3N0ciAicsOjbmgvdHLhu6UiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODYKKyMsIGZ1enp5Cittc2dpZCAiU2VjdG9ycy9DeWxpbmRlciIKK21zZ3N0ciAiY3VuZy90cuG7pSB04burIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDkxIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE4IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAzCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NyBsaWJmZGlzay9zcmMvc3VuLmM6MTk2IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTEzCittc2dpZCAiQ3lsaW5kZXJzIgorbXNnc3RyICJDw6FjIHRy4bulIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDk2IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjAKKyMsIGZ1enp5Cittc2dpZCAiUnBtIgorbXNnc3RyICJ2w7JuZyBt4buXaSBwaMO6dCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMSBsaWJmZGlzay9zcmMvc2dpLmM6MjkyIGxpYmZkaXNrL3NyYy9zdW4uYzo3ODAKKyMsIGZ1enp5Cittc2dpZCAiSW50ZXJsZWF2ZSIKK21zZ3N0ciAieGVuIGvhur0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDYKKyMsIGZ1enp5Cittc2dpZCAiVHJhY2tza2V3IgorbXNnc3RyICLEkeG7mSBs4buHY2ggcsOjbmgiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTEKKyMsIGZ1enp5Cittc2dpZCAiQ3lsaW5kZXJza2V3IgorbXNnc3RyICLEkeG7mSBs4buHY2ggdHLhu6UiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTYKKyMsIGZ1enp5Cittc2dpZCAiSGVhZHN3aXRjaCIKK21zZ3N0ciAiYuG6rXQgxJHhuqd1IMSR4buNYyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUyMQorIywgZnV6enkKK21zZ2lkICJUcmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICJkaSBjaHV54buDbiB24buLIHRyw60gxJHhu41jIHThu6sgcsOjbmggdOG7m2kgcsOjbmgiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTEKK21zZ2lkICJieXRlcy9zZWN0b3IiCittc2dzdHIgImJ5dGUvY3VuZyB04burIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE0Cittc2dpZCAic2VjdG9ycy90cmFjayIKK21zZ3N0ciAiY3VuZyB04burL3LDo25oIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE1Cittc2dpZCAidHJhY2tzL2N5bGluZGVyIgorbXNnc3RyICJyw6NuaC90cuG7pSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNgorbXNnaWQgImN5bGluZGVycyIKK21zZ3N0ciAidHLhu6UiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjAKK21zZ2lkICJzZWN0b3JzL2N5bGluZGVyIgorbXNnc3RyICJjdW5nL3Ry4bulIHThu6siCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjMKK21zZ2lkICJycG0iCittc2dzdHIgInbDsm5nIG3hu5dpIHBow7p0IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI0Cittc2dpZCAiaW50ZXJsZWF2ZSIKK21zZ3N0ciAieGVuIGvhur0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjUKK21zZ2lkICJ0cmFja3NrZXciCittc2dzdHIgIsSR4buZIGzhu4djaCByw6NuaCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNgorbXNnaWQgImN5bGluZGVyc2tldyIKK21zZ3N0ciAixJHhu5kgbOG7h2NoIHRy4bulIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI4Cittc2dpZCAiaGVhZHN3aXRjaCIKK21zZ3N0ciAiYuG6rXQgxJHhuqd1IMSR4buNYyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOQorbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgImRpIGNodXnhu4NuIHbhu4sgdHLDrSDEkeG7jWMgdOG7qyByw6NuaCB04bubaSByw6NuaCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdHN0cmFwIGZpbGUgJXMgc3VjY2Vzc2Z1bGx5IGxvYWRlZC4iCittc2dzdHIgIlThuq1wIHRpbiBt4buTaSAlcyDEkcOjIMSRxrDhu6NjIHThuqNpIHRow6BuaCBjw7RuZy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwOiAlMSRzYm9vdCAtPiBib290JTEkcyAoZGVmYXVsdCAlMSRzKSIKK21zZ3N0ciAiVHLDrG5oIG3hu5NpOiAlMSRzYm9vdCAtPiBib290JTEkcyAobeG6t2MgxJHhu4tuaCAlMSRzKSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcwNAorbXNnaWQgIkJvb3RzdHJhcCBvdmVybGFwcyB3aXRoIGRpc2tsYWJlbCEiCittc2dzdHIgIlRyw6xuaCBt4buTaSDEkcOoIGzDqm4gbmhhdSB24bubaSBuaMOjbiDEkcSpYSEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwIGluc3RhbGxlZCBvbiAlcy4iCittc2dzdHIgIlRyw6xuaCBt4buTaSDEkcaw4bujYyBjw6BpIHRyw6puICVzLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwMAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4gIChEb24ndCBmb3JnZXQgdG8gd3JpdGUgdGhlICVzIGRpc2tsYWJlbCB0b28uKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiIKK21zZ3N0ciAiTmjDo24gxJHEqWEgxJHGsOG7o2MgZ2hpIHbDoG8gJXMuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTA5IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjY2Cittc2dpZCAiU3luY2luZyBkaXNrcy4iCittc2dzdHIgIsSQYW5nIMSR4buTbmcgYuG7mSBow7NhIGPDoWMgxJHEqWEuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTUwCittc2dpZCAiQlNEIGxhYmVsIGlzIG5vdCBuZXN0ZWQgd2l0aGluIGEgRE9TIHBhcnRpdGlvbi4iCittc2dzdHIgIm5ow6NuIEJTRCBraMO0bmcgbuG6sW0gdHJvbmcgcGjDom4gdsO5bmcgRE9TLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk3OAorIywgYy1mb3JtYXQKK21zZ2lkICJCU0QgcGFydGl0aW9uICclYycgbGlua2VkIHRvIERPUyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiUGjDom4gdsO5bmcgQlNEIOKAnCVj4oCdIGxpw6puIGvhur90IHThu5tpIHBow6JuIHbDuW5nIERPUyAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNAorbXNnaWQgIlNsaWNlIgorbXNnc3RyICJTbGljZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjEKK21zZ2lkICJGc2l6ZSIKK21zZ3N0ciAiRnNpemUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIyCittc2dpZCAiQnNpemUiCittc2dzdHIgIkJzaXplIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMworbXNnaWQgIkNwZyIKK21zZ3N0ciAiQ3BnIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2UgZGV2aWNlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGfhurdwIGzhu5dpIGtoaSDEkcOzbmcgdGhp4bq/dC1i4buLIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjgyNworbXNnaWQgImN5bGluZGVyIgorbXNnaWRfcGx1cmFsICJjeWxpbmRlcnMiCittc2dzdHJbMF0gInRy4bulIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjgyOAorbXNnaWQgInNlY3RvciIKK21zZ2lkX3BsdXJhbCAic2VjdG9ycyIKK21zZ3N0clswXSAiY3VuZyB04burIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjExMzEKK21zZ2lkICJJbmNvbXBsZXRlIGdlb21ldHJ5IHNldHRpbmcuIgorbXNnc3RyICJDw6BpIMSR4bq3dCBow6xuaCBo4buNYyBraMO0bmcgaG/DoG4gdGhp4buHbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTQKK21zZ2lkICJBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGhhdmUgYmVlbiBkZWZpbmVkIGFscmVhZHkuIgorbXNnc3RyICJU4bqldCBj4bqjIGPDoWMgcGjDom4gdsO5bmcgY2jDrW5oIMSRw6MgxJHGsOG7o2MgxJHhu4tuaCBuZ2jEqWEgcuG7k2khIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkIGV4dGVuZGVkIHBhcnRpdGlvbiB0YWJsZSAob2Zmc2V0PSVqdSkiCittc2dzdHIgIkfhurdwIGzhu5dpIGtoaSDEkeG7jWMgYuG6o25nIHBow6JuIHbDuW5nIG3hu58gcuG7mW5nIChvZmZzZXQ9JWp1KSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjMyOAorbXNnaWQgIllvdSBjYW4gc2V0IGdlb21ldHJ5IGZyb20gdGhlIGV4dHJhIGZ1bmN0aW9ucyBtZW51LiIKK21zZ3N0ciAiQuG6oW4gY8OzIHRo4buDIMSR4bq3dCBj4bqldSB0csO6YyBow6xuaCBo4buNYyB04burIHRyw6xuaCDEkcahbiBjaOG7qWMgbsSDbmcgbeG7nyBy4buZbmcuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzMxCittc2dpZCAiRE9TLWNvbXBhdGlibGUgbW9kZSBpcyBkZXByZWNhdGVkLiIKK21zZ3N0ciAiY2jhur8gxJHhu5kgdMawxqFuZyB0aMOtY2ggduG7m2kgRE9TIMSRw6MgbOG7l2kgdGjhu51pLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjMzNQorbXNnaWQgIlRoZSBkZXZpY2UgcHJlc2VudHMgYSBsb2dpY2FsIHNlY3RvciBzaXplIHRoYXQgaXMgc21hbGxlciB0aGFuIHRoZSBwaHlzaWNhbCBzZWN0b3Igc2l6ZS4gQWxpZ25pbmcgdG8gYSBwaHlzaWNhbCBzZWN0b3IgKG9yIG9wdGltYWwgSS9PKSBzaXplIGJvdW5kYXJ5IGlzIHJlY29tbWVuZGVkLCBvciBwZXJmb3JtYW5jZSBtYXkgYmUgaW1wYWN0ZWQuIgorbXNnc3RyICJUaGnhur90IGLhu4sgxJHGsGEgcmEgbeG7mXQga8OtY2ggY+G7oSBjdW5nIHThu6sgbMO0Z8OtYyB24bqrbiBuaOG7jyBoxqFuIGvDrWNoIGPhu6EgY3VuZyB04burIHbhuq10IGzDvS4gxJDhu4MgdHLDoW5oIGhp4buHdSBzdeG6pXQgYuG7iyBnaeG6o20sIG7Dqm4gY8SDbiBjaOG7iW5oIHRow6BuaCBrw61jaCBj4buhIGN1bmcgdOG7qyB24bqtdCBsw70gKGhheSBWL1IgdOG7kWkgxrB1KS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDEKK21zZ2lkICJDeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4iCittc2dzdHIgIkhp4buDbiB0aOG7iyBi4bqxbmcgxJHGoW4gduG7iyB0cuG7pSB04burIMSRw6MgbOG7l2kgdGjhu51pLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0OAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgc2l6ZSBvZiB0aGlzIGRpc2sgaXMgJXMgKCVqdSBieXRlcykuIERPUyBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IGNhbiBub3QgYmUgdXNlZCBvbiBkcml2ZXMgZm9yIHZvbHVtZXMgbGFyZ2VyIHRoYW4gJWx1IGJ5dGVzIGZvciAlbHUtYnl0ZSBzZWN0b3JzLiBVc2UgR1VJRCBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IChHUFQpLiIKK21zZ3N0ciAixJDEqWEgbsOgeSBjw7Mga8OtY2ggY+G7oSAlcyAoJWp1IGJ5dGVzKS4gxJDhu4tuaCBk4bqhbmcgYuG6o25nIHBow6JuIHbDuW5nIERPUyBraMO0bmcgZMO5bmcgxJHGsOG7o2MgdHLDqm4g4buVIMSRxKlhIGPDsyBraOG7kWkgdGluIGzhu5tuIGjGoW4gJWx1IGJ5dGUgY2hvIGN1bmcgdOG7qyAlbHUtYnl0ZS4gSMOjeSBkw7luZyDEkeG7i25oIGThuqFuZyBi4bqjbmcgcGjDom4gdsO5bmcgR1VJRCAoR1BUKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MDMKK21zZ2lkICJCYWQgb2Zmc2V0IGluIHByaW1hcnkgZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiU2FpIEhp4buHdSB0cm9uZyBwaMOibiB2w7luZyBt4bufIHLhu5luZyBjaMOtbmguIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIk9taXR0aW5nIHBhcnRpdGlvbnMgYWZ0ZXIgIyV6dS4gVGhleSB3aWxsIGJlIGRlbGV0ZWQgaWYgeW91IHNhdmUgdGhpcyBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJC4buPIHPDs3QgY8OhYyBwaMOibiB2w7luZyBzYXUgIyV6dS4gQ2jDum5nIHPhur0gYuG7iyB4w7NhIG7hur91IGLhuqFuIGdoaSBi4bqjbmcgcGjDom4gdsO5bmcgbsOgeS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXh0cmEgbGluayBwb2ludGVyIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJDb24gdHLhu48gbGnDqm4ga+G6v3QgbeG7nyBy4buZbmcgdHJvbmcgYuG6o25nIHBow6JuIHbDuW5nICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZGF0YSBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiQuG7jyBxdWEgZOG7ryBsaeG7h3UgbeG7nyBy4buZbmcgdHJvbmcgYuG6o25nIHBow6JuIHbDuW5nICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAib21pdHRpbmcgZW1wdHkgcGFydGl0aW9uICglenUpIgorbXNnc3RyICJi4buPIHF1YSBwaMOibiB2w7luZyBy4buXbmcgKCV6dSkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC4iCittc2dzdHIgIsSQYW5nIHThuqFvIG5ow6NuIMSRxKlhIERPUyBt4bubaSB24bubaSDEkeG7i25oIGRhbmggxJHEqWEgMHglMDh4LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY4NQorbXNnaWQgIkVudGVyIHRoZSBuZXcgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJOaOG6rXAgdsOgbyDEkeG7i25oIGRhbmggbmjhuq1uIGRp4buHbiDEkcSpYSBt4bubaSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY5MgorbXNnaWQgIkluY29ycmVjdCB2YWx1ZS4iCittc2dzdHIgIkdpw6EgdHLhu4sga2jDtG5nIMSRw7puZy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAweCUwOHggdG8gMHglMDh4LiIKK21zZ3N0ciAixJDhu4tuaCBkYW5oIMSRxKlhIHRoYXkgxJHhu5VpIHThu6sgMHglMDh4IHRow6BuaCAweCUwOHguIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGV4dGVuZGVkIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIkLhu48gcXVhIHBow6JuIHbDuW5nIG3hu58gcuG7mW5nIG5nb8OgaSAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBmbGFnIDB4JTAyeCUwMnggb2YgRUJSIChmb3IgcGFydGl0aW9uICV6dSkgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIkPhu50gMHglMDJ4JTAyeCBj4bunYSBFQlIgKGNobyBwaMOibiB2w7luZyAlenUpIGtow7RuZyBo4bujcCBs4buHIHPhur0gxJHGsOG7o2Mgc+G7rWEgYuG6sW5nIHcoZ2hpKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo5MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgc2VjdG9yICVqdSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJDdW5nIHThu6sgYuG6r3QgxJHhuqd1ICVqdSBu4bqxbSBuZ2/DoGkgcGjhuqFtIHZpLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwMjYgbGliZmRpc2svc3JjL2dwdC5jOjIxMzYgbGliZmRpc2svc3JjL3NnaS5jOjgzOQorIzogbGliZmRpc2svc3JjL3N1bi5jOjUxNworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKK21zZ3N0ciAiUGjDom4gdsO5bmcgJXp1IMSRw6MgxJHGsOG7o2MgxJHhu4tuaCBuZ2jEqWEgcuG7k2kuICBYw7NhIG7DsyDEkWkgcuG7k2kgdGjDqm0gbOG6oWkuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTA5NgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWxsdSBpcyBhbHJlYWR5IGFsbG9jYXRlZC4iCittc2dzdHIgIkN1bmcgdOG7qyAlbGx1IMSRw6MgxJHGsOG7o2MgcGjDom4gcGjhu5FpLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjExMzMgbGliZmRpc2svc3JjL2dwdC5jOjIxNDYKK21zZ2lkICJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlLiIKK21zZ3N0ciAiS2jDtG5nIGPDsm4gY3VuZyB04burIGPDsm4gdHLhu5FuZyBuw6BvIGPhuqMuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJUaMOqbSBwaMOibiB2w7luZyBsw7QtZ8OtYyAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGNvbnRhaW5zIHNlY3RvciAwIgorbXNnc3RyICJQaMOibiB2w7luZyAlenU6IGNo4bupYSBjdW5nIHThu6sgMCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaGVhZCAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlZCIKK21zZ3N0ciAiUGjDom4gdsO5bmcgJXp1OiBwaOG6p24gxJHhuqd1ICVkIGzhu5tuIGjGoW4gdOG7kWkgxJFhICVkIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMyMQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBzZWN0b3IgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiUGjDom4gdsO5bmcgJXp1OiBjdW5nIHThu6sgJWQgbOG7m24gaMahbiB04buRaSDEkWEgJWxsdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY3lsaW5kZXIgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiUGjDom4gdsO5bmcgJXp1OiB0cuG7pSAlZCBs4bubbiBoxqFuIG3hu6ljIHThu5FpIMSRYSAlbGx1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMzMAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBwcmV2aW91cyBzZWN0b3JzICV1IGRpc2FncmVlcyB3aXRoIHRvdGFsICV1IgorbXNnc3RyICJQaMOibiB2w7luZyAlenU6ICV1IGN1bmcgdOG7qyB0csaw4bubYyBraMO0bmcgdGjDrWNoIGjhu6NwIHbhu5tpIHThu5VuZyAldSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgYmVnaW5uaW5ncyAobm9uLUxpbnV4Pyk6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiUGjDom4gdsO5bmcgJXp1OiBraMOhYyBiaeG7h3QgYuG6r3QgxJHhuqd1IHbhuq10IGzDvS9sw7Rnw61jIChraMO0bmctcGjhuqNpLUxpbnV4Pyk6IHZsw709KCVkLCAlZCwgJWQpLCBsw7Rnw61jPSglZCwgJWQsICVkKSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgZW5kaW5nczogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICJQaMOibiB2w7luZyAlenU6IGtow6FjIGJp4buHdCBr4bq/dCB0aMO6YyB24bqtdCBsw70gLyBsw7Rnw61jOiB2bMO9PSglZCwgJWQsICVkKSwgbMO0Z8OtYz0oJWQsICVkLCAlZCkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIlBow6JuIHbDuW5nICV6dToga2jDtG5nIGvhur90IHRow7pjIHRyw6puIGjhuqFuIGJpw6puIGPhu6dhIHRy4bulIHThu6suIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQyOQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBiYWQgc3RhcnQtb2YtZGF0YS4iCittc2dzdHIgIlBow6JuIHbDuW5nICV6dToga2jhu59pLcSR4bqndS1k4buvLWxp4buHdSB44bqldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDQyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG92ZXJsYXBzIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJQaMOibiB2w7luZyAlenU6IMSRw6ggbMOqbiBwaMOibiB2w7luZyAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ2OAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBlbXB0eS4iCittc2dzdHIgIlBow6JuIHbDuW5nICV6dTogcuG7l25nLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9naWNhbCBwYXJ0aXRpb24gJXp1OiBub3QgZW50aXJlbHkgaW4gcGFydGl0aW9uICV6dS4iCittc2dzdHIgIlBow6JuIHbDuW5nIGzDtC1nw61jICV6dToga2jDtG5nIG7hurFtIHRvw6BuIGLhu5kgdHJvbmcgcGjDom4gdsO5bmcgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVG90YWwgYWxsb2NhdGVkIHNlY3RvcnMgJWxsdSBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gJWxsdS4iCittc2dzdHIgIlThu5VuZyBz4buRIGN1bmcgdOG7qyDEkcOjIHBow6JuIHBo4buRaSAlbGx1IGzhu5tuIGjGoW4gdOG7kWkgxJFhICVsbHUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJSZW1haW5pbmcgJWxsZCB1bmFsbG9jYXRlZCAlbGQtYnl0ZSBzZWN0b3JzLiIKK21zZ3N0ciAiQ8OybiBs4bqhaSBjaMawYSBj4bqlcCBwaMOhdCAlbGxkIGN1bmcgdOG7qyAlbGQtYnl0ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTMyIGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU0Cittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGFscmVhZHkgZXhpc3RzLiIKK21zZ3N0ciAiUGjDom4gdsO5bmcgbeG7nyBy4buZbmcgxJHDoyBz4bq1biBjw7MuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU3NQorbXNnaWQgIlRoZSBtYXhpbXVtIG51bWJlciBvZiBwYXJ0aXRpb25zIGhhcyBiZWVuIGNyZWF0ZWQuIgorbXNnc3RyICLEkMOjIHThuqFvIHJhIHPhu5EgcGjDom4gdsO5bmcgbOG7m24gbmjhuqV0IGNobyBwaMOpcC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTg3Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiIKK21zZ3N0ciAiVOG6pXQgY+G6oyBjw6FjIHBow6JuIHbDuW5nIGNow61uaCDEkcOjIMSRxrDhu6NjIHPhu60gZOG7pW5nLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1ODkgbGliZmRpc2svc3JjL2Rvcy5jOjE2MDAKK21zZ2lkICJBbGwgc3BhY2UgZm9yIHByaW1hcnkgcGFydGl0aW9ucyBpcyBpbiB1c2UuIgorbXNnc3RyICJU4bqldCBj4bqjIGPDoWMgcGjDom4gdsO5bmcgY2jDrW5oIMSRw6MgxJHGsOG7o2Mgc+G7rSBk4bulbmcuIgorCisjLiBUUkFOU0xBVE9SUzogVHJ5IHRvIGtlZXAgdGhpcyB3aXRoaW4gODAgY2hhcmFjdGVycy4KKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjAzCittc2dpZCAiVG8gY3JlYXRlIG1vcmUgcGFydGl0aW9ucywgZmlyc3QgcmVwbGFjZSBhIHByaW1hcnkgd2l0aCBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJO4bq/dSBi4bqhbiBtdeG7kW4gdOG6oW8gcmEgbmhp4buBdSBwaMOibiB2w7luZyBoxqFuIG7hu69hLCBi4bqhbiBwaOG6o2kgxJHhu5VpIG3hu5l0IHBow6JuIHbDuW5nIGPGoSBi4bqjbiB0aMOgbmgga2nhu4N1IG3hu58gcuG7mW5nLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDgKK21zZ2lkICJBbGwgbG9naWNhbCBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIEFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uLiIKK21zZ3N0ciAiVOG6pXQgY+G6oyBjw6FjIHBow6JuIHbDuW5nIGzDtGfDrWMgxJHGsOG7o2Mgc+G7rSBk4bulbmcuIMSQYW5nIHRow6ptIG3hu5l0IHBow6JuIHbDuW5nIGNow61uaC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjMwCittc2dpZCAiUGFydGl0aW9uIHR5cGUiCittc2dzdHIgIktp4buDdSBwaMOibiB2w7luZyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXp1IHByaW1hcnksICVkIGV4dGVuZGVkLCAlenUgZnJlZSIKK21zZ3N0ciAiJXp1IGNow61uaCwgJWQgbeG7nyBy4buZbmcsICV6dSBjw7JuIHRy4buRbmciCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjM5Cittc2dpZCAicHJpbWFyeSIKK21zZ3N0ciAiY2jDrW5oIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MQorbXNnaWQgImV4dGVuZGVkIgorbXNnc3RyICJt4bufIHLhu5luZyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDEKK21zZ2lkICJjb250YWluZXIgZm9yIGxvZ2ljYWwgcGFydGl0aW9ucyIKK21zZ3N0ciAiY8OhaSBjaOG7qWEgY8OhYyBwaMOibiB2w7luZyBsw7QtZ8OtYyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDMKK21zZ2lkICJsb2dpY2FsIgorbXNnc3RyICJsw7Rnw61jIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MworbXNnaWQgIm51bWJlcmVkIGZyb20gNSIKK21zZ3N0ciAixJHDoW5oIHPhu5EgYuG6r3QgxJHhuqd1IHThu6sgNSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gdHlwZSBgJWMnLiIKK21zZ3N0ciAiS2nhu4N1IHBow6JuIHbDuW5nIGtow7RuZyBo4bujcCBs4buHIOKAnCVj4oCdLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlIHNlY3RvciAlamQ6IHNlZWsgZmFpbGVkIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIGN1bmcgdOG7qyAlamQ6IGfhurdwIGzhu5dpIGtoaSBkaSBjaHV54buDbiB24buLIHRyw60gxJHhu41jIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTg1MiBsaWJmZGlzay9zcmMvZ3B0LmM6MTA5NgorIywgZnV6enkKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIsSQ4buLbmggZGFuaCDEkcSpYTogJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU5Cittc2dpZCAiVHlwZSAwIG1lYW5zIGZyZWUgc3BhY2UgdG8gbWFueSBzeXN0ZW1zLiBIYXZpbmcgcGFydGl0aW9ucyBvZiB0eXBlIDAgaXMgcHJvYmFibHkgdW53aXNlLiIKK21zZ3N0ciAiR8O1IDAgY8OzIG5naMSpYSBsw6Aga2jDtG5nIGdpYW4gdHLhu5FuZyDEkeG7kWkgduG7m2kgbmhp4buBdSBo4buHIHRo4buRbmcuIEPDsyBwaMOibiB2w7luZyBraeG7g3UgMCBsw6AgZ+G6p24gbmjGsCBraMO0bmcga2jDtG4gbmdvYW4uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk2NAorbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdHlwZSBvZiB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIHdoaWNoIGlzIGFscmVhZHkgdXNlZCBieSBsb2dpY2FsIHBhcnRpdGlvbnMuIERlbGV0ZSBsb2dpY2FsIHBhcnRpdGlvbnMgZmlyc3QuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTQzIGxpYmZkaXNrL3NyYy9ncHQuYzoyODIxCittc2dpZCAiTm90aGluZyB0byBkby4gT3JkZXJpbmcgaXMgY29ycmVjdCBhbHJlYWR5LiIKK21zZ3N0ciAiS2jDtG5nIGPhuqduIGzDoG0gZ8OsLiBUaOG7qSB04buxIMSRw6MgxJHDum5nIHLhu5NpLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogbm8gZGF0YSBhcmVhLiIKK21zZ3N0ciAiUGjDom4gdsO5bmcgJXp1OiBraMO0bmcgY8OzIHbDuW5nIGThu68gbGnhu4d1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyMjIKK21zZ2lkICJOZXcgYmVnaW5uaW5nIG9mIGRhdGEiCittc2dzdHIgIsSQaeG7g20gYuG6r3QgxJHhuqd1IGThu68gbGnhu4d1IG3hu5tpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBpcyBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJQaMOibiB2w7luZyAlenU6IGzDoCBt4buZdCBwaMOibiB2w7luZyBt4bufIHLhu5luZy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJD4budIGto4bufaSDEkeG7mW5nIHRyw6puIHBow6JuIHbDuW5nICV6dSDEkcaw4bujYyBi4bqtdCBuZ2F5IGLDonkgZ2nhu50uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIkPhu50ga2jhu59pIMSR4buZbmcgdHLDqm4gcGjDom4gdsO5bmcgJXp1IMSRxrDhu6NjIHThuq90IG5nYXkgYsOieSBnaeG7nS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjk4IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTExIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTUzCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTEwOQorbXNnaWQgIkRldmljZSIKK21zZ3N0ciAiVGhp4bq/dCBi4buLIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI5OSBsaWJmZGlzay9zcmMvc3VuLmM6NDEKK21zZ2lkICJCb290IgorbXNnc3RyICJLaOG7n2kgxJHhu5luZyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDUgbGliZmRpc2svc3JjL3NnaS5jOjExNTkgbGliZmRpc2svc3JjL3N1bi5jOjExMTUKK21zZ2lkICJJZCIKK21zZ3N0ciAiSWQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzA5Cittc2dpZCAiU3RhcnQtQy9IL1MiCittc2dzdHIgIsSQaeG7g20gxJHhuqd1LUMvSC9TIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMxMAorbXNnaWQgIkVuZC1DL0gvUyIKK21zZ3N0ciAixJBp4buDbSBjdeG7kWktQy9IL1MiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzExIGxpYmZkaXNrL3NyYy9ncHQuYzoyOTIxIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTYxCittc2dpZCAiQXR0cnMiCittc2dzdHIgIkF0dHJzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYwCittc2dpZCAiRUZJIFN5c3RlbSIKK21zZ3N0ciAiSOG7hyB0aOG7kW5nIEVGSSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MgorbXNnaWQgIk1CUiBwYXJ0aXRpb24gc2NoZW1lIgorbXNnc3RyICJMxrDhu6NjIMSR4buTIHBow6JuIHbDuW5nIE1CUiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MworbXNnaWQgIkludGVsIEZhc3QgRmxhc2giCittc2dzdHIgIkludGVsIEZhc3QgRmxhc2giCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjYKK21zZ2lkICJCSU9TIGJvb3QiCittc2dzdHIgIkto4bufaSDEkeG7mW5nIEJJT1MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjkKKyMsIGZ1enp5Cittc2dpZCAiU29ueSBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAicGjDom4gdsO5bmcga2jhu59pIMSR4buZbmcgQklPUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MAorIywgZnV6enkKK21zZ2lkICJMZW5vdm8gYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgInBow6JuIHbDuW5nIGto4bufaSDEkeG7mW5nIEJJT1MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAiUG93ZXJQQyBQUmVQIGJvb3QiCittc2dzdHIgIkto4bufaSDEkeG7mW5nIFBQQyBQUmVQIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc2CisjLCBmdXp6eQorbXNnaWQgIk9OSUUgYm9vdCIKK21zZ3N0ciAiS2jhu59pIMSR4buZbmcgQklPUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NworbXNnaWQgIk9OSUUgY29uZmlnIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAKK21zZ2lkICJNaWNyb3NvZnQgcmVzZXJ2ZWQiCittc2dzdHIgIk1pY3Jvc29mdCByZXNlcnZlZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MQorbXNnaWQgIk1pY3Jvc29mdCBiYXNpYyBkYXRhIgorbXNnc3RyICJE4buvIGxp4buHdSBjxqEgc+G7nyBNaWNyb3NvZnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODIKK21zZ2lkICJNaWNyb3NvZnQgTERNIG1ldGFkYXRhIgorbXNnc3RyICJTacOqdSBk4buvIGxp4buHdSBNaWNyb3NvZnQgTERNIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgzCittc2dpZCAiTWljcm9zb2Z0IExETSBkYXRhIgorbXNnc3RyICJE4buvIGxp4buHdSBNaWNyb3NvZnQgTERNIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg0Cittc2dpZCAiV2luZG93cyByZWNvdmVyeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiTcO0aSB0csaw4budbmcga2jDtGkgcGjhu6VjIE1pY3Jvc29mdCBXaW5kb3dzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg1Cittc2dpZCAiSUJNIEdlbmVyYWwgUGFyYWxsZWwgRnMiCittc2dzdHIgIklCTSBHZW5lcmFsIFBhcmFsbGVsIEZzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg2Cittc2dpZCAiTWljcm9zb2Z0IFN0b3JhZ2UgU3BhY2VzIgorbXNnc3RyICJNaWNyb3NvZnQgU3RvcmFnZSBTcGFjZXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODkKK21zZ2lkICJIUC1VWCBkYXRhIgorbXNnc3RyICJk4buvIGxp4buHdSBIUC1VWCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MAorbXNnaWQgIkhQLVVYIHNlcnZpY2UiCittc2dzdHIgIkThu4tjaCB24bulIEhQLVVYIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2MSBsaWJmZGlzay9zcmMvc3VuLmM6NTIKK21zZ2lkICJMaW51eCBzd2FwIgorbXNnc3RyICJUcmFvIMSR4buVaSBMaW51eCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NAorbXNnaWQgIkxpbnV4IGZpbGVzeXN0ZW0iCittc2dzdHIgIkjhu4cgdGjhu5FuZyB04bqtcCB0aW4gTGludXgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUKK21zZ2lkICJMaW51eCBzZXJ2ZXIgZGF0YSIKK21zZ3N0ciAiROG7ryBsaeG7h3UgbcOheSBjaOG7pyBMaW51eCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NgorbXNnaWQgIkxpbnV4IHJvb3QgKHg4NikiCittc2dzdHIgIkxpbnV4IHJvb3QgKHg4NikiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcKKyMsIGZ1enp5Cittc2dpZCAiTGludXggcm9vdCAoQVJNKSIKK21zZ3N0ciAiTGludXggcm9vdCAoeDg2KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OAorbXNnaWQgIkxpbnV4IHJvb3QgKHg4Ni02NCkiCittc2dzdHIgIkxpbnV4IHJvb3QgKHg4Ni02NCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTkKKyMsIGZ1enp5Cittc2dpZCAiTGludXggcm9vdCAoQVJNLTY0KSIKK21zZ3N0ciAiTGludXggcm9vdCAoeDg2LTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMAorIywgZnV6enkKK21zZ2lkICJMaW51eCByb290XHQoSUEtNjQpIgorbXNnc3RyICJMaW51eCByb290ICh4ODYtNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAxCittc2dpZCAiTGludXggcmVzZXJ2ZWQiCittc2dzdHIgIkxpbnV4IHJlc2VydmVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAyCittc2dpZCAiTGludXggaG9tZSIKK21zZ3N0ciAiVGjGsCBt4bulYyBjw6EgbmjDom4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMgbGliZmRpc2svc3JjL3NnaS5jOjY0Cittc2dpZCAiTGludXggUkFJRCIKK21zZ3N0ciAiTGludXggUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNAorbXNnaWQgIkxpbnV4IGV4dGVuZGVkIGJvb3QiCittc2dzdHIgImto4bufaSDEkeG7mW5nIExpbnV4IG3hu58gcuG7mW5nIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEyCittc2dpZCAiRnJlZUJTRCBkYXRhIgorbXNnc3RyICJk4buvIGxp4buHdSBGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzCittc2dpZCAiRnJlZUJTRCBib290IgorbXNnc3RyICJGcmVlQlNEIGJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQKK21zZ2lkICJGcmVlQlNEIHN3YXAiCittc2dzdHIgIkZyZWVCU0Qgc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNQorbXNnaWQgIkZyZWVCU0QgVUZTIgorbXNnc3RyICJGcmVlQlNEIFVGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNgorbXNnaWQgIkZyZWVCU0QgWkZTIgorbXNnc3RyICJGcmVlQlNEIFpGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNworbXNnaWQgIkZyZWVCU0QgVmludW0iCittc2dzdHIgIkZyZWVCU0QgVmludW0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjAKK21zZ2lkICJBcHBsZSBIRlMvSEZTKyIKK21zZ3N0ciAiQXBwbGUgSEZTL0hGUysiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEKK21zZ2lkICJBcHBsZSBVRlMiCittc2dzdHIgIkFwcGxlIFVGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMgorbXNnaWQgIkFwcGxlIFJBSUQiCittc2dzdHIgIkFwcGxlIFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjMKK21zZ2lkICJBcHBsZSBSQUlEIG9mZmxpbmUiCittc2dzdHIgIkFwcGxlIFJBSUQgb2ZmbGluZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNAorbXNnaWQgIkFwcGxlIGJvb3QiCittc2dzdHIgIkFwcGxlIGJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjUKK21zZ2lkICJBcHBsZSBsYWJlbCIKK21zZ3N0ciAibmjDo24gQXBwbGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjYKK21zZ2lkICJBcHBsZSBUViByZWNvdmVyeSIKK21zZ3N0ciAiQXBwbGUgVFYgcGjhu6VjIGjhu5NpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI3Cittc2dpZCAiQXBwbGUgQ29yZSBzdG9yYWdlIgorbXNnc3RyICJBcHBsZSBDb3JlIHN0b3JhZ2UiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzEKK21zZ2lkICJTb2xhcmlzIHJvb3QiCittc2dzdHIgIkto4bufaSDEkeG7mW5nIFNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMKK21zZ2lkICJTb2xhcmlzIC91c3IgJiBBcHBsZSBaRlMiCittc2dzdHIgIlNvbGFyaXMgL3VzciAmIEFwcGxlIFpGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNAorbXNnaWQgIlNvbGFyaXMgc3dhcCIKK21zZ3N0ciAiU29sYXJpcyBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM1Cittc2dpZCAiU29sYXJpcyBiYWNrdXAiCittc2dzdHIgInNhbyBsxrB1IGThu7EgcGjDsm5nIFNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzYKK21zZ2lkICJTb2xhcmlzIC92YXIiCittc2dzdHIgIlNvbGFyaXMgL3ZhciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNworbXNnaWQgIlNvbGFyaXMgL2hvbWUiCittc2dzdHIgIlNvbGFyaXMgL2hvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzgKK21zZ2lkICJTb2xhcmlzIGFsdGVybmF0ZSBzZWN0b3IiCittc2dzdHIgIlNvbGFyaXMgYWx0ZXJuYXRlIHNlY3RvciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMSIKK21zZ3N0ciAiU29sYXJpcyByZXNlcnZlZCAxIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQwCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAyIgorbXNnc3RyICJTb2xhcmlzIHJlc2VydmVkIDIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDEKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDMiCittc2dzdHIgIlNvbGFyaXMgcmVzZXJ2ZWQgMyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MgorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNCIKK21zZ3N0ciAiU29sYXJpcyByZXNlcnZlZCA0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQzCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA1IgorbXNnc3RyICJTb2xhcmlzIHJlc2VydmVkIDUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDYKK21zZ2lkICJOZXRCU0Qgc3dhcCIKK21zZ3N0ciAiTmV0QlNEIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDcKK21zZ2lkICJOZXRCU0QgRkZTIgorbXNnc3RyICJOZXRCU0QgRkZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4Cittc2dpZCAiTmV0QlNEIExGUyIKK21zZ3N0ciAiTmV0QlNEIExGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OQorbXNnaWQgIk5ldEJTRCBjb25jYXRlbmF0ZWQiCittc2dzdHIgIk5ldEJTRCBjb25jYXRlbmF0ZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTAKK21zZ2lkICJOZXRCU0QgZW5jcnlwdGVkIgorbXNnc3RyICJOZXRCU0QgxJHDoyBtw6MgaMOzYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MQorbXNnaWQgIk5ldEJTRCBSQUlEIgorbXNnc3RyICJOZXRCU0QgUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NAorbXNnaWQgIkNocm9tZU9TIGtlcm5lbCIKK21zZ3N0ciAiTmjDom4gQ2hyb21lT1MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTUKK21zZ2lkICJDaHJvbWVPUyByb290IGZzIgorbXNnc3RyICJDaHJvbWVPUyByb290IGZzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU2Cittc2dpZCAiQ2hyb21lT1MgcmVzZXJ2ZWQiCittc2dzdHIgIkNocm9tZU9TIHJlc2VydmVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5Cittc2dpZCAiTWlkbmlnaHRCU0QgZGF0YSIKK21zZ3N0ciAiROG7ryBsaeG7h3UgTWlkbmlnaHRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjAKK21zZ2lkICJNaWRuaWdodEJTRCBib290IgorbXNnc3RyICJNaWRuaWdodEJTRCBib290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYxCittc2dpZCAiTWlkbmlnaHRCU0Qgc3dhcCIKK21zZ3N0ciAiTWlkbmlnaHRCU0Qgc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MgorbXNnaWQgIk1pZG5pZ2h0QlNEIFVGUyIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgVUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYzCittc2dpZCAiTWlkbmlnaHRCU0QgWkZTIgorbXNnc3RyICJNaWRuaWdodEJTRCBaRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjQKK21zZ2lkICJNaWRuaWdodEJTRCBWaW51bSIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgVmludW0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjcKK21zZ2lkICJDZXBoIEpvdXJuYWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OAorbXNnaWQgIkNlcGggRW5jcnlwdGVkIEpvdXJuYWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OQorbXNnaWQgIkNlcGggT1NEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAKK21zZ2lkICJDZXBoIGNyeXB0IE9TRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcxCittc2dpZCAiQ2VwaCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzIKK21zZ2lkICJDZXBoIGNyeXB0IGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NQorIywgZnV6enkKK21zZ2lkICJPcGVuQlNEIGRhdGEiCittc2dzdHIgImThu68gbGnhu4d1IEZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzgKKyMsIGZ1enp5Cittc2dpZCAiUU5YNiBmaWxlIHN5c3RlbSIKK21zZ3N0ciAiSOG7hyB0aOG7kW5nIHThuq1wIHRpbiBMaW51eCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4MQorIywgZnV6enkKK21zZ2lkICJQbGFuIDkgcGFydGl0aW9uIgorbXNnc3RyICJ4w7NhIG3hu5l0IHBow6JuIHbDuW5nIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NTQ3Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdQVCBoZWFkZXIiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBj4bqlcCBwaMOhdCBwaOG6p24gxJHhuqd1IEdQVCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjYzMAorbXNnaWQgIkZpcnN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjY0MgorbXNnaWQgIkxhc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Nzc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHUFQgUE1CUiBzaXplIG1pc21hdGNoICglPFBSSXU2ND4gIT0gJTxQUkl1NjQ+KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpLiIKK21zZ3N0ciAiQ+G7oSBHUFQgUE1CUiBraMO0bmcga2jhu5twICgldSAhPSAldSkgc+G6vSDEkcaw4bujYyBz4butYSBi4bqxbmcgdyhnaGkpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjc5MgorbXNnaWQgImdwdDogc3RhdCgpIGZhaWxlZCIKK21zZ3N0ciAiZ3B0OiBzdGF0KCkgZ+G6t3AgbOG7l2kiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo4MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3B0OiBjYW5ub3QgaGFuZGxlIGZpbGVzIHdpdGggbW9kZSAlbyIKK21zZ3N0ciAiZ3B0OiBraMO0bmcgdGjhu4MgdGnhur9wIGjhu6NwIGPDoWMgdOG6rXAgdGluIHbhu5tpIGNo4bq/IMSR4buZICVvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTA2NAorbXNnaWQgIkdQVCBIZWFkZXIiCittc2dzdHIgInBo4bqnbiDEkeG6p3UgR1BUIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTA2OQorbXNnaWQgIkdQVCBFbnRyaWVzIgorbXNnc3RyICJDw6FjIG3hu6VjIEdQVCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExMDMKKyMsIGZ1enp5Cittc2dpZCAiRmlyc3QgTEJBIgorbXNnc3RyICJMQkEgxJHhuqd1IHRpw6puOiAlanUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTA4CisjLCBmdXp6eQorbXNnaWQgIkxhc3QgTEJBIgorbXNnc3RyICJMQkEgY3Xhu5FpOiAlanUiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgTEJBIChMb2dpY2FsIEJsb2NrIEFkZHJlc3MpIG9mIHRoZSBiYWNrdXAgR1BUIGhlYWRlci4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTE0CisjLCBmdXp6eQorbXNnaWQgIkFsdGVybmF0aXZlIExCQSIKK21zZ3N0ciAiTEJBIGx1w6JuIHBoacOqbjogJWp1IgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YXJ0IG9mIHRoZSBhcnJheSBvZiBwYXJ0aXRpb24gZW50cmllcy4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTIwCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBlbnRyaWVzIExCQSIKK21zZ3N0ciAixJBp4buDbSBi4bqvdCDEkeG6p3UgY+G7p2EgcGjDom4gdsO5bmcgTEJBOiAlanUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTI1CisjLCBmdXp6eQorbXNnaWQgIkFsbG9jYXRlZCBwYXJ0aXRpb24gZW50cmllcyIKK21zZ3N0ciAiQ8OhYyDEkeG7gSBt4bulYyBwaMOibiB2w7luZyDEkcOjIGPhuqVwIHBow6F0OiAldSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE0NDAKK21zZ2lkICJUaGUgYmFja3VwIEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIHByaW1hcnkgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICJC4bqjbmcgR1BUIHNhbyBsxrB1IGLhu4sgaOG7j25nLCBuaMawbmcgYuG6o25nIGNow61uaCBow6xuaCBuaMawIHbhuqtuIHThu5F0LCB2w6wgdGjhur8gc+G6vSBz4butIGThu6VuZyBi4bqjbmcgY2jDrW5oLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE0NDkKK21zZ2lkICJUaGUgcHJpbWFyeSBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBiYWNrdXAgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICJC4bqjbmcgR1BUIGNow61uaCBi4buLIGjhu49uZywgbmjGsG5nIHNhbyBsxrB1IGjDrG5oIG5oxrAgduG6q24gdOG7kXQsIHbDrCB0aOG6vyBz4bq9IHPhu60gZOG7pW5nIHNhbyBsxrB1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgR1BUIGF0dHJpYnV0ZSBiaXQgJyVzJyIKK21zZ3N0ciAiYsOtdCB0aHXhu5ljIHTDrW5oIEdQVCBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyDigJwlc+KAnSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBHUFQgYXR0cmlidXRlIHN0cmluZyAnJXMnIgorbXNnc3RyICJs4buXaSBwaMOibiB0w61jaCBkYW5oIHPDoWNoIOKAnCVz4oCdIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczMQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gVVVJRCBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICJVVUlEIHBow6JuIHbDuW5nIMSRxrDhu6NjIHRoYXkgxJHhu5VpIOKAnCVz4oCdIHRow6BuaCDigJwlc+KAnS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lIGNoYW5nZWQgZnJvbSAnJXMnIHRvICclLipzJy4iCittc2dzdHIgIlTDqm4gcGjDom4gdsO5bmcgxJHGsOG7o2MgdGhheSDEkeG7lWkgdOG7qyDigJwlc+KAnSB0aMOgbmgg4oCcJS4qc+KAnS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzY4CisjLCBmdXp6eQorbXNnaWQgIlRoZSBzdGFydCBvZiB0aGUgcGFydGl0aW9uIHVuZGVyc3RlcHMgRmlyc3RVc2FibGVMQkEuIgorbXNnc3RyICJQaMOibiB2w7luZyBraOG7n2kgxJHhu5luZyBraMO0bmcgdOG7k24gdOG6oWkuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc3NQorIywgZnV6enkKK21zZ2lkICJUaGUgZW5kIG9mIHRoZSBwYXJ0aXRpb24gb3ZlcnN0ZXBzIExhc3RVc2FibGVMQkEuIgorbXNnc3RyICLEkWnhu4NtIGN14buRaSBj4bunYSBwaMOibiB2w7luZyB0aGVvIMSRxqFuIHbhu4sgcsOjbmggKHNlY3RvcikiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTM0Cittc2dpZCAiVGhlIGRldmljZSBjb250YWlucyBoeWJyaWQgTUJSIC0tIHdyaXRpbmcgR1BUIG9ubHkuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIE1CUiBtYW51YWxseS4iCittc2dzdHIgIlRoaeG6v3QgYuG7iyBjw7MgY2jhu6lhIE1CUiBsYWkgLS0gY2jhu4kgZ2hpIEdQVC4gQuG6oW4gcGjhuqNpIMSR4buTbmcgYuG7mSBNQlIgYuG6sW5nIHRheS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcxCittc2dpZCAiRGlzayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIsSQxKlhIGtow7RuZyBjaOG7qWEgcGjhuqduIMSR4bqndSBzYW8gbMawdSBo4bujcCBs4buHLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NzYKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIlThu5VuZyBraeG7g20gdHJhIENSQyBuZ3V5w6puIGfhu5FjIOG7nyBwaOG6p24gxJHhuqd1IGtow7RuZyBo4bujcCBs4buHLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5ODAKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiVOG7lW5nIGtp4buDbSB0cmEgQ1JDIHNhbyBsxrB1IGThu7EgcGjDsm5nIOG7nyBwaOG6p24gxJHhuqd1IGtow7RuZyBo4bujcCBs4buHLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5ODUKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiBlbnRyeSBjaGVja3N1bS4iCittc2dzdHIgIlBo4bqnbiB04buVbmcga2nhu4NtIHRyYSBwaMOibiB2w7luZyBraMO0bmcgaOG7o3AgbOG7hy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTkwCittc2dpZCAiSW52YWxpZCBwcmltYXJ5IGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIktp4buDbSB0cmEgxJHDum5nIG3hu7FjIExCQSBuZ3V5w6puIGfhu5FjIOG7nyBwaOG6p24gxJHhuqd1IGtow7RuZyBo4bujcCBs4buHLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OTQKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICJLaeG7g20gdHJhIMSRw7puZyBt4buxYyBMQkEgc2FvIGzGsHUgZOG7sSBwaMOybmcg4bufIHBo4bqnbiDEkeG6p3Uga2jDtG5nIGjhu6NwIGzhu4cuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5OQorbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBwcmltYXJ5IGhlYWRlci4iCittc2dzdHIgImtow7RuZyBraOG7m3AgTXlMQkEgduG7m2kgduG7iyB0csOtIHRo4buxYyB04bq/IHThuqFpIHBo4bqnbiDEkeG6p3UgY8ahIHPhu58uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwMworbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAia2jDtG5nIGto4bubcCBNeUxCQSB24bubaSB24buLIHRyw60gdGjhu7FjIHThur8gdOG6oWkgcGjhuqduIMSR4bqndSBzYW8gbMawdSBk4buxIHBow7JuZy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDA4Cittc2dpZCAiRGlzayBpcyB0b28gc21hbGwgdG8gaG9sZCBhbGwgZGF0YS4iCittc2dzdHIgIsSQxKlhIHF1w6Egbmjhu48gxJHhu4MgY8OzIHRo4buDIGNo4bupYSDEkcaw4bujYyB0b8OgbiBi4buZIGThu68gbGnhu4d1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMTgKK21zZ2lkICJQcmltYXJ5IGFuZCBiYWNrdXAgaGVhZGVyIG1pc21hdGNoLiIKK21zZ3N0ciAiUGjhuqduIMSR4bqndSBuZ3V5w6puIGfhu5FjIHbDoCBzYW8gbMawdSBj4bunYSBuw7Mga2jDtG5nIGto4bubcCBuaGF1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggcGFydGl0aW9uICV1LiIKK21zZ3N0ciAiUGjDom4gdsO5bmcgJXUgxJHDqCBsw6puIHBow6JuIHbDuW5nICV1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGlzIHRvbyBiaWcgZm9yIHRoZSBkaXNrLiIKK21zZ3N0ciAiUGjDom4gdsO5bmcgJXUgcXXDoSBs4bubbiDEkeG7kWkgduG7m2kgxJHEqWEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAzOAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZW5kcyBiZWZvcmUgaXQgc3RhcnRzLiIKK21zZ3N0ciAiUGjDom4gdsO5bmcgJXUga+G6v3QgdGjDumMgdHLGsOG7m2MgxJFp4buDbSBi4bqvdCDEkeG6p3UgY+G7p2EgbsOzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDcKK21zZ2lkICJObyBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyICJLaMO0bmcgdGjhuqV5IGzhu5dpIG7DoG8uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0OAorIywgYy1mb3JtYXQKK21zZ2lkICJIZWFkZXIgdmVyc2lvbjogJXMiCittc2dzdHIgIlBo4bqnbiDEkeG6p3UgcGhpw6puIGLhuqNuOiAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgJXUgb3V0IG9mICVkIHBhcnRpdGlvbnMuIgorbXNnc3RyICJEw7luZyAldSB0cm9uZyBz4buRICVkIHBow6JuIHbDuW5nLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50LiIKK21zZ2lkX3BsdXJhbCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50cyAodGhlIGxhcmdlc3QgaXMgJXMpLiIKK21zZ3N0clswXSAiQ8OzIHThu5VuZyBz4buRICVqdSBjdW5nIHThu6sgY8OybiB0cuG7kW5nIGto4bqjIGThu6VuZyB0cm9uZyAldSDEkW/huqFuIChs4bubbiBuaOG6pXQgbMOgICVzKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGVycm9yIGRldGVjdGVkLiIKK21zZ2lkX3BsdXJhbCAiJWQgZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0clswXSAicGjDoXQgaGnhu4duIHRo4bqleSAlZCBs4buXaS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQyCittc2dpZCAiQWxsIHBhcnRpdGlvbnMgYXJlIGFscmVhZHkgaW4gdXNlLiIKK21zZ3N0ciAiVOG6pXQgY+G6oyBjw6FjIHBow6JuIHbDuW5nIMSRw6Mgc+G6tW4gc8OgbmcgxJHhu4Mgc+G7rSBk4bulbmcuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5NyBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyMgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWp1IGFscmVhZHkgdXNlZC4iCittc2dzdHIgIkN1bmcgdOG7qyAlanUgxJHDoyDEkcaw4bujYyBkw7luZyBy4buTaS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIHThuqFvIHBow6JuIHbDuW5nICV6dSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGxhc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpcnN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgR1BUIGRpc2tsYWJlbCAoR1VJRDogJXMpLiIKK21zZ3N0ciAiVOG6oW8gbeG7mXQgbmjDo24gxJHEqWEgR1BUIChHVUlEOiAlcykuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ0NworbXNnaWQgIkVudGVyIG5ldyBkaXNrIFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiTmjhuq1wIHbDoG8gVVVJRCBj4bunYSDEkcSpYSAo4bufIMSR4buLbmggZOG6oW5nIDgtNC00LTQtMTIpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ1NAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSB5b3VyIFVVSUQuIgorbXNnc3RyICJH4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggVVVJRCBj4bunYSBi4bqhbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICLEkOG7i25oIGRhbmggxJHEqWEgxJHGsOG7o2MgdGhheSDEkeG7lWkg4oCcJXPigJ0gdGjDoG5oIOKAnCVz4oCdLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0ODgKKyMsIGZ1enp5Cittc2dpZCAiTm90IGVub3VnaCBzcGFjZSBmb3IgbmV3IHBhcnRpdGlvbiB0YWJsZSEiCittc2dzdHIgIktow7RuZyBjw7JuIHBow6JuIHbDuW5nIGPDsm4gdHLhu5FuZyBuw6BvIGPhuqMhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5NworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV1IG91dCBvZiByYW5nZSAobWluaW1hbCBzdGFydCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMldSBvdXQgb2YgcmFuZ2UgKG1heGltYWwgZW5kIGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIG51bWJlciBvZiB0aGUgcGFydGl0aW9uIGhhcyBiZSBzbWFsbGVyIHRoYW4gJXp1LiIKK21zZ3N0ciAixJDDoyB04bqhbyByYSBz4buRIHBow6JuIHbDuW5nIGzhu5tuIG5o4bqldCBjaG8gcGjDqXAuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU2MworIywgZnV6enkKK21zZ2lkICJDYW5ub3QgYWxsb2NhdGUgbWVtb3J5ISIKK21zZ3N0ciAia2jDtG5nIGPhuqVwIHBow6FwIMSRxrDhu6NjIGLhu5kgbmjhu5s6ICVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGxlbmd0aCBjaGFuZ2VkIGZyb20gJTxQUkl1MzI+IHRvICU8UFJJdTY0Pi4iCittc2dzdHIgIlTDqm4gcGjDom4gdsO5bmcgxJHGsOG7o2MgdGhheSDEkeG7lWkgdOG7qyDigJwlc+KAnSB0aMOgbmgg4oCcJS4qc+KAnS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgYXR0cmlidXRlcyBvbiBwYXJ0aXRpb24gJXp1IGNoYW5nZWQgdG8gMHglMDE2PFBSSXg2ND4uIgorbXNnc3RyICJLaeG7g3UgY+G7p2EgcGjDom4gdsO5bmcg4oCcJXp14oCdIGNoxrBhIHRoYXkgxJHhu5VpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NDIKK21zZ2lkICJFbnRlciBHVUlEIHNwZWNpZmljIGJpdCIKK21zZ3N0ciAiTmjhuq1wIHbDoG8gYsOtdCBHVUlEIMSR4bq3YyBiaeG7h3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB0b2dnbGUgdW5zdXBwb3J0ZWQgYml0ICVsdSIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGLhuq10L3Thuq90IGtow7RuZyBo4buXIHRy4bujIGJpdCAlbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiQsOtdCBHVUlEIMSR4bq3YyB0csawbmcgJWQgdHLDqm4gcGjDom4gdsO5bmcgJXp1IMSRxrDhu6NjIGLhuq10IG5nYXkuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJCw610IMSR4bq3dCBiaeG7h3QgR1VJRCAlZCB0csOqbiBwaMOibiB2w7luZyAlenUgxJHGsOG7o2MgdOG6r3QgbmdheS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJD4budICVzIHRyw6puIHBow6JuIHbDuW5nICV6dSDEkcaw4bujYyBi4bqtdCBiw6J5IGdp4budLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJD4budICVzIHRyw6puIHBow6JuIHbDuW5nICV6dSBz4bq9IMSRxrDhu6NjIHThuq90IG5nYXkuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxOAorbXNnaWQgIlR5cGUtVVVJRCIKK21zZ3N0ciAiS2nhu4N1LVVVSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE5Cittc2dpZCAiVVVJRCIKK21zZ3N0ciAiVVVJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MjAgbG9naW4tdXRpbHMvY2hmbi5jOjE1MCBsb2dpbi11dGlscy9jaGZuLmM6MTUyCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzA3Cittc2dpZCAiTmFtZSIKK21zZ3N0ciAiVMOqbiIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjg0MAorbXNnaWQgIkZyZWUgc3BhY2UiCittc2dzdHIgIkNo4buXIHRy4buRbmciCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzoxMjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiAjJXp1LiIKK21zZ3N0ciAidGhheSDEkeG7lWkga8OtY2ggdGjGsOG7m2MgcGjDom4gdsO5bmcgZ+G6t3AgbOG7l2kiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0dHlwZS5jOjI1OSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTUgc2NoZWR1dGlscy9jaHJ0LmM6MjA2CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc5IHN5cy11dGlscy9od2Nsb2NrLmM6MzM0Cittc2dpZCAidW5rbm93biIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ3Cittc2dpZCAiU0dJIHZvbGhkciIKK21zZ3N0ciAiU0dJIHZvbGhkciIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ4Cittc2dpZCAiU0dJIHRya3JlcGwiCittc2dzdHIgIlNHSSB0cmtyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDkKK21zZ2lkICJTR0kgc2VjcmVwbCIKK21zZ3N0ciAiU0dJIHNlY3JlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MAorbXNnaWQgIlNHSSByYXciCittc2dzdHIgIlNHSSB0aMO0IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTEKK21zZ2lkICJTR0kgYnNkIgorbXNnc3RyICJTR0kgYnNkIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTIKK21zZ2lkICJTR0kgc3lzdiIKK21zZ3N0ciAiU0dJIHN5c3YiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MworbXNnaWQgIlNHSSB2b2x1bWUiCittc2dzdHIgIkto4buRaSB0aW4gU0dJIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTQKK21zZ2lkICJTR0kgZWZzIgorbXNnc3RyICJTR0kgZWZzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTUKK21zZ2lkICJTR0kgbHZvbCIKK21zZ3N0ciAiU0dJIGx2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NgorbXNnaWQgIlNHSSBybHZvbCIKK21zZ3N0ciAiU0dJIHJsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTcKK21zZ2lkICJTR0kgeGZzIgorbXNnc3RyICJTR0kgeGZzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTgKK21zZ2lkICJTR0kgeGZzbG9nIgorbXNnc3RyICJTR0kgeGZzbG9nIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTkKK21zZ2lkICJTR0kgeGx2IgorbXNnc3RyICJTR0kgeGx2IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAKK21zZ2lkICJTR0kgeHZtIgorbXNnc3RyICJTR0kgeHZtIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjIgbGliZmRpc2svc3JjL3N1bi5jOjUzCittc2dpZCAiTGludXggbmF0aXZlIgorbXNnc3RyICJMaW51eCBuZ3V5w6puIGLhuqNuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTU5Cittc2dpZCAiU0dJIGluZm8gY3JlYXRlZCBvbiBzZWNvbmQgc2VjdG9yLiIKK21zZ3N0ciAidGjDtG5nIHRpbiBTR0kgxJHGsOG7o2MgdOG6oW8gdHLDqm4gY3VuZyB04burIHRo4bupIGhhaS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyNTkKK21zZ2lkICJEZXRlY3RlZCBhbiBTR0kgZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIgorbXNnc3RyICJUw6xtIHRo4bqleSBuaMOjbiDEkcSpYSBTR0kgduG7m2kgdOG7lW5nIGtp4buDbSB0cmEgKGNoZWNrc3VtKSBzYWkuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjgyIGxpYmZkaXNrL3NyYy9zdW4uYzo3NzAKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJT4buRIHRy4bulIHbhuq10IGzDvSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4NyBsaWJmZGlzay9zcmMvc3VuLmM6Nzc1CisjLCBmdXp6eQorbXNnaWQgIkV4dHJhIHNlY3RzL2N5bCIKK21zZ3N0ciAiU+G7kSBjdW5nIHThu6sgZOG7sSBwaMOybmcgbeG7l2kgdHLhu6UiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyOTcKKyMsIGZ1enp5Cittc2dpZCAiQm9vdGZpbGUiCittc2dzdHIgIlThuq1wIHRpbiBraOG7n2kgxJHhu5luZzogJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzozOTUKK21zZ2lkICJJbnZhbGlkIGJvb3RmaWxlISAgVGhlIGJvb3RmaWxlIG11c3QgYmUgYW4gYWJzb2x1dGUgbm9uLXplcm8gcGF0aG5hbWUsIGUuZy4gXCIvdW5peFwiIG9yIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAiVOG6rXAgdGluIGto4bufaSDEkeG7mW5nIGtow7RuZyBo4bujcCBs4buHISBU4bqtcCB0aW4ga2jhu59pIMSR4buZbmcgcGjhuqNpIGzDoCBt4buZdCB0w6puIMSRxrDhu51uZyBk4bqrbiB0dXnhu4d0IMSR4buRaSBraMO0bmcgcuG7l25nLCB2LmQuIFwiL3VuaXhcIiBoYXkgXCIvdW5peC5zYXZlXCIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDAxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlIG1heGltdW0uIgorbXNnaWRfcGx1cmFsICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZXMgbWF4aW11bS4iCittc2dzdHJbMF0gIlTDqm4gY+G7p2EgdOG6rXAgdGluIGto4bufaSDEkeG7mW5nIHF1w6EgZMOgaTogdOG7kWkgxJFhIGzDoCAlenUgYnl0ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDgKK21zZ2lkICJCb290ZmlsZSBtdXN0IGhhdmUgYSBmdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUuIgorbXNnc3RyICJU4bqtcCB0aW4ga2jhu59pIMSR4buZbmcgcGjhuqNpIGPDsyDEkcaw4budbmcgZOG6q24gxJHhuqd5IMSR4bunLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQxNAorbXNnaWQgIkJlIGF3YXJlIHRoYXQgdGhlIGJvb3RmaWxlIGlzIG5vdCBjaGVja2VkIGZvciBleGlzdGVuY2UuICBTR0kncyBkZWZhdWx0IGlzIFwiL3VuaXhcIiwgYW5kIGZvciBiYWNrdXAgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICJD4bqnbiBiaeG6v3QgcuG6sW5nIHThuq1wIHRpbiBraOG7n2kgxJHhu5luZyBraMO0bmcgxJHGsOG7o2Mga2nhu4NtIHRyYSB04buTbiB04bqhaS4gTeG6t2MgxJHhu4tuaCBTR0kgbMOgIFwiL3VuaXhcIiB2w6Agc2FvIGzGsHUgbMOgIFwiL3VuaXguc2F2ZVwiLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgY3VycmVudCBib290IGZpbGUgaXM6ICVzIgorbXNnc3RyICJU4bqtcCB0aW4ga2jhu59pIMSR4buZbmcgaGnhu4duIHThuqFpIGzDoDogJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDEKK21zZ2lkICJFbnRlciBvZiB0aGUgbmV3IGJvb3QgZmlsZSIKK21zZ3N0ciAiWGluIGjDo3kgbmjhuq1wIHTDqm4gY+G7p2EgdOG6rXAgdGluIGto4bufaSDEkeG7mW5nIG3hu5tpIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQ2Cittc2dpZCAiQm9vdCBmaWxlIGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIlThuq1wIHRpbiBraOG7n2kgxJHhu5luZyBraMO0bmcgdGhheSDEkeG7lWkuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RmaWxlIGhhcyBiZWVuIGNoYW5nZWQgdG8gXCIlc1wiLiIKK21zZ3N0ciAiVOG6rXAgdGluIGto4bufaSDEkeG7mW5nIMSRxrDhu6NjIHRoYXkgxJHhu5VpIHRow6BuaCBcIiVzXCIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTk2Cittc2dpZCAiTW9yZSB0aGFuIG9uZSBlbnRpcmUgZGlzayBlbnRyeSBwcmVzZW50LiIKK21zZ3N0ciAiQ8OzIG5oaeG7gXUgaMahbiBt4buZdCB0b8OgbiBi4buZIMSRxKlhIGhp4buHbiBkaeG7h24uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAzIGxpYmZkaXNrL3NyYy9zdW4uYzo0NTgKK21zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQuIgorbXNnc3RyICJLaMO0bmcgY8OzIHBow6JuIHbDuW5nIG7DoG8gxJHGsOG7o2MgxJHhu4tuaCBuZ2jEqWEuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEzCittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiVGjDrWNoIGjhu6NwIHbhu5tpIElSSVgga2hpIFBow6JuIHbDuW5nIDExIGJhbyBi4buNYyBj4bqjIG3hu5l0IMSRxKlhLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxNworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIHNob3VsZCBzdGFydCBhdCBibG9jayAwLCBub3QgYXQgYmxvY2sgJWQuIgorbXNnc3RyICJQaMOibiB2w7luZyBjaOG7qWEgY+G6oyBt4buZdCDEkcSpYSBwaOG6o2kgYuG6r3QgxJHhuqd1IHThuqFpIGto4buRaSAwLCBjaOG7qSBraMO0bmcgcGjhuqNpIHThuqFpIGto4buRaSAlZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MjgKK21zZ2lkICJQYXJ0aXRpb24gMTEgc2hvdWxkIGNvdmVyIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIlBow6JuIHbDuW5nIDExIG7Dqm4gY2jhu6lhIHRvw6BuIGLhu5kgxJHEqWEuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9yLiIKK21zZ2lkX3BsdXJhbCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3JzLiIKK21zZ3N0clswXSAiUGjDom4gdsO5bmcgJWQgdsOgICVkIGNow6huIGzDqm4gbmhhdSAlZCBjdW5nIHThu6suIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjYzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yOiBzZWN0b3IgJTh1IgorbXNnaWRfcGx1cmFsICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3JzOiBzZWN0b3JzICU4dS0ldSIKK21zZ3N0clswXSAiS2hv4bqjbmcgdHLhu5FuZyBraMO0bmcgc+G7rSBk4bulbmcgJTh1IGN1bmcgdOG7qyAtIGN1bmcgdOG7qyAlOHUtJXUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2OTgKK21zZ2lkICJUaGUgYm9vdCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICJQaMOibiB2w7luZyBraOG7n2kgxJHhu5luZyBraMO0bmcgdOG7k24gdOG6oWkuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzAyCittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiUGjDom4gdsO5bmcgdHJhbyDEkeG7lWkga2jDtG5nIHThu5NuIHThuqFpLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwNgorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBoYXMgbm8gc3dhcCB0eXBlLiIKK21zZ3N0ciAiUGjDom4gdsO5bmcgdHJhbyDEkeG7lWkgY8OzIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4ga2jDtG5nIHBo4bqjaSBraeG7g3UgdHJhbyDEkeG7lWkuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA5Cittc2dpZCAiWW91IGhhdmUgY2hvc2VuIGFuIHVudXN1YWwgYm9vdGZpbGUgbmFtZS4iCittc2dzdHIgIkLhuqFuIMSRw6MgY2jhu41uIG3hu5l0IHTDqm4gdOG6rXAgdGluIGto4bufaSDEkeG7mW5nIGLhuqV0IGLDrG5oIHRoxrDhu51uZy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3NTkKK21zZ2lkICJQYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4iCittc2dzdHIgIlBow6JuIHbDuW5nIGNo4buTbmcgbMOqbiBuaGF1IHRyw6puIMSRxKlhLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0NAorbXNnaWQgIkF0dGVtcHRpbmcgdG8gZ2VuZXJhdGUgZW50aXJlIGRpc2sgZW50cnkgYXV0b21hdGljYWxseS4iCittc2dzdHIgIlRo4butIHThu7EgxJHhu5luZyBwaMOibiB2w7luZyBj4bqjIMSRxKlhLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0OQorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBpcyBhbHJlYWR5IGNvdmVyZWQgd2l0aCBwYXJ0aXRpb25zLiIKK21zZ3N0ciAiVG/DoG4gYuG7mSDEkcSpYSDEkcOjIGJhbyBjw6FjIHBow6JuIHbDuW5nLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg1MworbXNnaWQgIllvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKK21zZ3N0ciAiQuG6oW4gY8OzIG3hu5l0IHBow6JuIHbDuW5nIMSRw6ggbMOqbiBuaGF1IHRyw6puIOG7lSDEkcSpYS4gSMOjeSBz4butYSDEkWkhIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODc1IGxpYmZkaXNrL3NyYy9zdW4uYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3QgJXMiCittc2dzdHIgIiVzIMSR4bqndSB0acOqbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg5OSBsaWJmZGlzay9zcmMvc2dpLmM6OTQ5Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIGVsZXZlbnRoIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrIGFuZCBpcyBvZiB0eXBlICdTR0kgdm9sdW1lJy4iCittc2dzdHIgIlLhuqV0IGtodXnDqm4gYuG6oW4gbsOqbiBkw7luZyB2w7luZyBz4buRIG3GsOG7nWkgbeG7mXQgY2jhu6lhIGPhuqMg4buVIMSRxKlhIHbDoCBjw7MgbG/huqFpIOKAnGto4buRaSB0aW4gU0dJ4oCdLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjkxNCBsaWJmZGlzay9zcmMvc3VuLmM6NjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgJXMgb3IgKyVzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIiVzIGN14buRaSBoYXkgKyVzIGhv4bq3YyAra8OtY2hfY+G7oXtLLE0sRyxULFB9IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTg1IGxpYmZkaXNrL3NyYy9zdW4uYzoyNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuIFRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuIgorbXNnc3RyICJCTEtHRVRTSVpFIGlvY3RsIGfhurdwIGzhu5dpIHRyw6puICVzLiDEkGFuZyBkw7luZyBnacOhIHRy4buLIHRy4bulIGjDrG5oIGjhu41jIGPhu6dhICVsbHUuIEdpw6EgdHLhu4sgbsOgeSBjw7MgdGjhu4MgYuG7iyBj4bqvdCBuZ+G6r24gY2hvIHRoaeG6v3QgYuG7iyA+IDMzLjggR0IuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA1MQorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU0dJIGRpc2tsYWJlbC4iCittc2dzdHIgIlThuqFvIG5ow6NuIMSRxKlhIFNHSSBt4bubaS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDcwCittc2dpZCAiU29ycnksIG9ubHkgZm9yIG5vbi1lbXB0eSBwYXJ0aXRpb25zIHlvdSBjYW4gY2hhbmdlIHRoZSB0YWcuIgorbXNnc3RyICJS4bqldCB0aeG6v2MsIG5oxrBuZyBjaOG7iSBwaMOibiB2w7luZyBraMO0bmcgcuG7l25nIG3hu5tpIGPDsyB0aOG7gyB0aGF5IMSR4buVaSBj4budLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNzYKK21zZ2lkICJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiA5IGFzIHZvbHVtZSBoZWFkZXIgKDApLCBhbmQgcGFydGl0aW9uIDExIGFzIGVudGlyZSB2b2x1bWUgKDYpLCBhcyBJUklYIGV4cGVjdHMgaXQuIgorbXNnc3RyICJOw6puIMSR4buDIHBow6JuIHbDuW5nIDkgbmjGsCDEkeG6p3UgbeG7mXQga2jhu5FpIHRpbiAoMCksIHbDoCBwaMOibiB2w7luZyAxMSBuaMawIGPhuqMgbeG7mXQga2jhu5FpIHRpbiAoNikgdGhlbyB5w6p1IGPhuqd1IGPhu6dhIElSSVguIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA4NQorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDAgaXMgb2YgdHlwZSBcIlNHSSB2b2xoZHJcIiwgdGhlIElSSVggc3lzdGVtIHdpbGwgcmVseSBvbiBpdCB0byByZXRyaWV2ZSBmcm9tIGl0cyBkaXJlY3Rvcnkgc3RhbmRhbG9uZSB0b29scyBsaWtlIHNhc2ggYW5kIGZ4LiBPbmx5IHRoZSBcIlNHSSB2b2x1bWVcIiBlbnRpcmUgZGlzayBzZWN0aW9uIG1heSB2aW9sYXRlIHRoaXMuIEFyZSB5b3Ugc3VyZSBhYm91dCB0YWdnaW5nIHRoaXMgcGFydGl0aW9uIGRpZmZlcmVudGx5PyIKK21zZ3N0ciAiUuG6pXQga2h1ecOqbiBkw7luZyBsw6AgcGjDom4gdsO5bmcgdOG6oWkgduG7iyB0csOtIG9mZnNldCAwIGPDsyBraeG7g3UgbMOgIFwiU0dJIHZvbGhkclwiLCBo4buHIHRo4buRbmcgSVJJWCBz4bq9IGThu7FhIHRyw6puIMSRw7MgxJHhu4MgbOG6pXkgduG7gSB04burIHRoxrAgbeG7pWMgY+G7p2EgbsOzIGPDoWMgY8O0bmcgY+G7pSBjaOG6oXkgxJHGoW4gbmjGsCBzYXNoIHbDoCBmeC4gQ2jhu4kgY8OzIGPDoWMgdsO5bmcgY2jhu6lhIHRvw6BuIGLhu5kgxJHEqWEgXCJTR0kgdm9sdW1lXCIgbeG7m2kgeMOibSBwaOG6oW0gbsOzLiBHw7UgQ8OTIG7hur91IGLhuqFuIGNo4bqvYyBjaOG6r24gbXXhu5FuIMSR4bq3dCB0aOG6uyBjaG8gcGjDom4gdsO5bmcgbsOgeSB0aGVvIGPDoWNoIGtow6FjLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQwCittc2dpZCAiVW5hc3NpZ25lZCIKK21zZ3N0ciAiQ2jGsGEgZ8OhbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQyCittc2dpZCAiU3VuT1Mgcm9vdCIKK21zZ3N0ciAiR+G7kWMgU3VuT1MiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MworbXNnaWQgIlN1bk9TIHN3YXAiCittc2dzdHIgIlRyYW8gxJHhu5VpIFN1bk9TIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDQKK21zZ2lkICJTdW5PUyB1c3IiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ1Cittc2dpZCAiV2hvbGUgZGlzayIKK21zZ3N0ciAiQ+G6oyDEkcSpYSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2Cittc2dpZCAiU3VuT1Mgc3RhbmQiCittc2dzdHIgIlN1bk9TIHN0YW5kIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyB2YXIiCittc2dzdHIgIlN1bk9TIHZhciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ4Cittc2dpZCAiU3VuT1MgaG9tZSIKK21zZ3N0ciAiU3VuT1MgaG9tZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ5Cittc2dpZCAiU3VuT1MgYWx0IHNlY3RvcnMiCittc2dzdHIgIkN1bmcgdOG7qyB0aGF5IHRo4bq/IFN1bk9TIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTAKK21zZ2lkICJTdW5PUyBjYWNoZWZzIgorbXNnc3RyICJI4buHIHRo4buRbmcgdOG6rXAgdGluIG5o4bubIHThuqFtIFN1bk9TIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTEKK21zZ2lkICJTdW5PUyByZXNlcnZlZCIKK21zZ3N0ciAiRMOgbmggcmnDqm5nIFN1bk9TIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTM3Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiBQcm9iYWJseSB5b3UnbGwgaGF2ZSB0byBzZXQgYWxsIHRoZSB2YWx1ZXMsIGUuZy4gaGVhZHMsIHNlY3RvcnMsIGN5bGluZGVycyBhbmQgcGFydGl0aW9ucyBvciBmb3JjZSBhIGZyZXNoIGxhYmVsIChzIGNvbW1hbmQgaW4gbWFpbiBtZW51KSIKK21zZ3N0ciAixJDDoyBuaOG6rW4gcmEgbmjDo24gxJHEqWEgc3VuIHbhu5tpIHThu5VuZyBraeG7g20gdHJhIGNoZWNrc3VtIGzhu5dpLiBH4bqnbiBuaMawIGNo4bqvYyBjaOG6r24gbMOgIGLhuqFuIHBo4bqjaSDEkeG6t3QgbOG6oWkgdOG6pXQgY+G6oyBjw6FjIGdpw6EgdHLhu4ssIHYuZC4gxJHhuqd1IHThu6tjLCBjdW5nIHThu6ssIHRy4bulIHbDoCBwaMOibiB2w7luZyBob+G6t2MgYuG6r3QgYnXhu5ljIG3hu5l0IG5ow6NuIG3hu5tpIChjw6J1IGzhu4duaCDigJxz4oCdIHRyb25nIHRyw6xuaCDEkcahbiBjaMOtbmgpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2ZXJzaW9uIFslZF0uIgorbXNnc3RyICJUw6xtIHRo4bqleSBuaMOjbiDEkcSpYSBTdW4gduG7m2kgc+G7kSBwaGnDqm4gYuG6o24gc2FpIFslZF0uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLnNhbml0eSBbMHglMDh4XS4iCittc2dzdHIgIlTDrG0gdGjhuqV5IG5ow6NuIMSRxKlhIFN1biB24bubaSB2dG9jLnNhbml0eSBzYWkgWzB4JTA4eF0uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLm5wYXJ0cyBbJXVdLiIKK21zZ3N0ciAiVMOsbSB0aOG6pXkgbmjDo24gxJHEqWEgU3VuIHbhu5tpIHZ0b2MubnBhcnRzIHNhaSBbJXVdLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2NQorbXNnaWQgIldhcm5pbmc6IFdyb25nIHZhbHVlcyBuZWVkIHRvIGJlIGZpeGVkIHVwIGFuZCB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpIgorbXNnc3RyICJD4bqjbmggYsOhbzogY8OhYyBnacOhIHRy4buLIGtow7RuZyDEkcO6bmcgY+G6p24gcGjhuqNpIMSRxrDhu6NjIHPhu61hIGNo4buvYSBuw6puIHPhur0gxJHGsOG7o2Mgc+G7rWEgYuG7n2kgdyhyaXRlKSAoZ2hpKSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE5MgorbXNnaWQgIkhlYWRzIgorbXNnc3RyICLEkOG6p3UgdOG7qyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE5NAorbXNnaWQgIlNlY3RvcnMvdHJhY2siCittc2dzdHIgIkN1bmcgdOG7qy9yw6NuaCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjI5NworbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU3VuIGRpc2tsYWJlbC4iCittc2dzdHIgIlThuqFvIG5ow6NuIMSRxKlhIFN1biBt4bubaS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGRvZXNuJ3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiUGjDom4gdsO5bmcgJXUga2jDtG5nIGvhur90IHRow7pjIHRyw6puIHJhbmggZ2nhu5tpIHRy4bulLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzNQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBvdGhlcnMgaW4gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIlBow6JuIHbDuW5nICV1IMSRw6ggbMOqbiBjw6FjIHBow6JuIHbDuW5nIGtow6FjIHRyw6puIHLDo25oIGdoaSAldS0ldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgMC0ldS4iCittc2dzdHIgIktob+G6o25nIHRy4buRbmcga2jDtG5nIHPhu60gZOG7pW5nIC0gcsOjbmggZ2hpIDAtJXUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjUgbGliZmRpc2svc3JjL3N1bi5jOjQ3MQorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIktob+G6o25nIHRy4buRbmcga2jDtG5nIHPhu60gZOG7pW5nIC0gcsOjbmggZ2hpICV1LSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUyOAorbXNnaWQgIk90aGVyIHBhcnRpdGlvbnMgYWxyZWFkeSBjb3ZlciB0aGUgd2hvbGUgZGlzay4gRGVsZXRlIHNvbWUvc2hyaW5rIHRoZW0gYmVmb3JlIHJldHJ5LiIKK21zZ3N0ciAiQ8OhYyBwaMOibiB2w7luZyBraMOhYyDEkcOjIGNo4bupYSBj4bqjIMSRxKlhLiBIw6N5IHjDs2EgaGF5IHRodSBuaOG7jyBrw61jaCB0aMaw4bubYyBjaMO6bmcgdHLGsOG7m2Mga2hpIHRo4butIGzhuqFpLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU5MworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWQgaXMgYWxyZWFkeSBhbGxvY2F0ZWQiCittc2dzdHIgIkN1bmcgdOG7qyAlZCDEkcOjIMSRxrDhu6NjIHBow6JuIHBo4buRaSBy4buTaSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYwMAorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSB0aGlyZCBwYXJ0aXRpb24gY292ZXJzIHRoZSB3aG9sZSBkaXNrIGFuZCBpcyBvZiB0eXBlIGBXaG9sZSBkaXNrJyIKK21zZ3N0ciAiUuG6pXQga2h1ecOqbiDEkeG6t3QgcGjDom4gdsO5bmcgdGjhu6kgYmEgY2hp4bq/bSB0b8OgbiBi4buZIMSRxKlhIHbDoCBjw7Mga2nhu4N1IOKAnFRvw6BuIMSRxKlh4oCdIChXaG9sZSBkaXNrKSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYxMAorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbmluZyB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gJXUgdG8gJXUgdG8gYmUgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJDaOG7iW5oIGN1bmcgdOG7qyDEkeG6p3UgdGnDqm4gdOG7qyAldSB0aMOgbmggJXUgxJHhu4MgbsOzIG7hurFtIHRyw6puIGJpw6puIGPhu6dhIHRy4bulLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmVuJ3QgY292ZXJlZCB0aGUgd2hvbGUgZGlzayB3aXRoIHRoZSAzcmQgcGFydGl0aW9uLCBidXQgeW91ciB2YWx1ZVxuIgorIiVsdSAlcyBjb3ZlcnMgc29tZSBvdGhlciBwYXJ0aXRpb24uIFlvdXIgZW50cnkgaGFzIGJlZW4gY2hhbmdlZFxuIgorInRvICVsdSAlcyIKK21zZ3N0ciAiIgorIlBow6JuIHbDuW5nIHRo4bupIDMga2jDtG5nIGNo4bupYSB0b8OgbiBi4buZIOG7lSDEkcSpYSwgbmjGsG5nIGPDoWMgZ2nDoSB0cuG7iyAlbHUgJXMgY+G7p2EgYuG6oW4gxJHDqCBsw6puXG4iCisibeG7mXQgc+G7kSBwaMOibiB2w7luZyBraMOhYy4gQ8OhYyBt4bulYyDEkcOjIMSRxrDhu6NjIHRoYXkgxJHhu5VpIHRow6BuaCAlbHUgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gU3VuT1MvU29sYXJpcyBjb21wYXRpYmlsaXR5LCBjb25zaWRlciBsZWF2aW5nIHRoaXMgcGFydGl0aW9uIGFzIFdob2xlIGRpc2sgKDUpLCBzdGFydGluZyBhdCAwLCB3aXRoICV1IHNlY3RvcnMiCittc2dzdHIgIiIKKyJO4bq/dSBi4bqhbiBtdeG7kW4gYuG6o28gdHLDrCBt4buZdCDEkcSpYSB0xrDGoW5nIHRow61jaCB24bubaSBTdW5PUy9Tb2xhcmlzLCB0aMOsIGPhuqduIMSR4buDIHBow6JuXG4iCisidsO5bmcgbsOgeSBsw6AgQ+G6oyDEkcSpYSAoNSksIGLhuq90IMSR4bqndSB04burIDAsIHbhu5tpICV1IGN1bmcgdOG7qyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc1MAorIywgZnV6enkKK21zZ2lkICJMYWJlbCBJRCIKK21zZ3N0ciAiSUQgbmjDo246ICVzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzU1CisjLCBmdXp6eQorbXNnaWQgIlZvbHVtZSBJRCIKK21zZ3N0ciAiSUQgdsO5bmc6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzY1CisjLCBmdXp6eQorbXNnaWQgIkFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIlPhu5EgdHLhu6UgeGVuIGvhur0iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo4NzEKK21zZ2lkICJOdW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiU+G7kSB0cuG7pSB4ZW4ga+G6vSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg5NgorbXNnaWQgIkV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJT4buRIGN1bmcgdOG7qyBk4buxIHBow7JuZyBt4buXaSB0cuG7pSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjkyMAorbXNnaWQgIkludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICJI4buHIHPhu5EgeGVuIGvhur0iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5NDQKK21zZ2lkICJSb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAiVOG7kWMgxJHhu5kgcXVheSAocnBtKSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk2OAorbXNnaWQgIk51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIlPhu5EgdHLhu6UgduG6rXQgbMO9IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTAzNworbXNnaWQgIiIKKyJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiAzIGFzIFdob2xlIGRpc2sgKDUpLFxuIgorImFzIFN1bk9TL1NvbGFyaXMgZXhwZWN0cyBpdCBhbmQgZXZlbiBMaW51eCBsaWtlcyBpdC5cbiIKK21zZ3N0ciAiIgorIk7Dqm4gxJHhu4MgcGjDom4gdsO5bmcgMyBuaMawIEPhuqMgbeG7mXQgxJHEqWEgKFdob2xlIGRpc2sgKDUpKSxcbiIKKyJ2w6wgU3VuT1MvU29sYXJpcyDEkcOyaSBo4buPaSDEkWnhu4F1IG7DoHkgdsOgIHRo4bqtbSBjaMOtIExpbnV4IHRow61jaCB0aOG6vy5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNDgKK21zZ2lkICIiCisiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMFxuIgorImlzIFVGUywgRVhUMkZTIGZpbGVzeXN0ZW0gb3IgU3VuT1Mgc3dhcC4gUHV0dGluZyBMaW51eCBzd2FwXG4iCisidGhlcmUgbWF5IGRlc3Ryb3kgeW91ciBwYXJ0aXRpb24gdGFibGUgYW5kIGJvb3RibG9jay5cbiIKKyJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdGFnIHRoZSBwYXJ0aXRpb24gYXMgTGludXggc3dhcD8iCittc2dzdHIgIiIKKyJS4bqldCBraHV5w6puIGTDuW5nIHBow6JuIHbDuW5nIHThuqFpIG9mZnNldCAwIGPDsyBo4buHIHRo4buRbmcgdOG6rXAgdGluXG4iCisiVUZTLCBFWFQyRlMgaGF5IHN3YXAgU3VuT1MuIE7hur91IMSR4bq3dCB0aMOgbmggdsO5bmcgdHJhbyDEkeG7lWkgY+G7p2EgTGludXggdGjDrFxuIgorImPDsyB0aOG7gyBo4buneSBi4bqjbmcgcGjDom4gdsO5bmcgY+G7p2EgYuG6oW4gdsOgIGto4buRaSBraOG7n2kgxJHhu5luZy5cbiIKKyJC4bqhbiBjw7MgY2jhuq9jIGNo4bqvbiBtdeG7kW4gxJHhurd0IHBow6JuIHbDuW5nIMSRw7MgdGjDoG5oIHbDuW5nIHRyYW8gxJHhu5VpIChzd2FwKSBMaW51eCk/IgorCisjOiBsaWIvcGFnZXIuYzoxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FpdHBpZCBmYWlsZWQgKCVzKSIKK21zZ3N0ciAid2FpdHBpZCBi4buLIGzhu5dpICglcykiCisKKyM6IGxpYi9wYXRoLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE4MTgKK21zZ2lkICJmYWlsZWQgdG8gY2FsbG9jYXRlIGNwdSBzZXQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiBj4bqlcCAoY2FsbG9jYXRlKSB04bqtcCBo4bujcCBDUFUiCisKKyM6IGxpYi9wYXRoLmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdCAlcyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIGRhbmggc8OhY2ggQ1BVICVzIgorCisjOiBsaWIvcGF0aC5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2sgJXMiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBjw7ogcGjDoXAgY+G7p2EgYuG7mSBs4buNYyBDUFUgJXMiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzIKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG5vdCBvcGVuIFVOSVggc29ja2V0IgorbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyBi4bqjbmcgxJFp4buBdSBraGnhu4NuIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjc4CisjLCBmdXp6eQorbXNnaWQgImNhbiBub3Qgc2V0IG9wdGlvbiBmb3IgVU5JWCBzb2NrZXQiCittc2dzdHIgImtpbmggdOG6vyDEkeG6t3QgdGjhu51pIGjhuqFuIGNo4budIGNobyAlcyIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo5MQorIywgZnV6enkKK21zZ2lkICJjYW4gbm90IGNvbm5lY3Qgb24gVU5JWCBzb2NrZXQiCittc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIGLhuqNuZyDEkWnhu4F1IGtoaeG7g24iCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBwbHltb3V0aCByZXF1ZXN0ICVjIGlzIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWIvcmFuZHV0aWxzLmM6MTM2Cittc2dpZCAibGliYyBwc2V1ZG8tcmFuZG9tIGZ1bmN0aW9ucyIKK21zZ3N0ciAiaMOgbSBwc2V1ZG8tcmFuZG9tIHThu6sgbGliYyIKKworIzogbGliL3N3YXBwcm9iZXIuYzoxNyBsaWIvc3dhcHByb2Jlci5jOjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gcHJvYmUgZGV2aWNlIgorbXNnc3RyICIlczoga2jDtG5nIHRo4buDIHRoxINtIGTDsiB0aGnhur90IGLhu4siCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYmlndW91cyBwcm9iaW5nIHJlc3VsdDsgdXNlIHdpcGVmcyg4KSIKK21zZ3N0ciAiJXM6IGvhur90IHF14bqjIHRoxINtIGTDsiBraMO0bmcgcsO1OyBkw7luZyB3aXBlZnMoOCkiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHZhbGlkIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICIlczoga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgcGjDom4gdsO5bmcgdHJhbyDEkeG7lWkgxJHDum5nIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bnN1cHBvcnRlZCBzd2FwIHZlcnNpb24gJyVzJyIKK21zZ3N0ciAiJXM6IGtow7RuZyBo4buXIHRy4bujIHbDuW5nIHRyYW8gxJHhu5VpIHBoacOqbiBi4bqjbiDigJwlc+KAnSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjkwIGxvZ2luLXV0aWxzL2Noc2guYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+XVxuIgorbXNnc3RyICIgJXMgW3R14buzX2No4buNbl0gWzx0w6BpX2tob+G6o25fbmfGsOG7nWlfZMO5bmc+XVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTMKK21zZ2lkICJDaGFuZ2UgeW91ciBmaW5nZXIgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIlRoYXkgxJHhu5VpIHRow7RuZyB0aW4gbcOjIHbDom4gdGF5IGPhu6dhIGLhuqFuLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTYKK21zZ2lkICIgLWYsIC0tZnVsbC1uYW1lIDxmdWxsLW5hbWU+ICByZWFsIG5hbWVcbiIKK21zZ3N0ciAiICAtZiwgLS1mdWxsLW5hbWUgPGjhu41fdMOqbj4gICAgdGhheSDEkeG7lWkgaOG7jSB0w6puIHRo4bqtdCBj4bunYSBi4bqhbi5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk3Cittc2dpZCAiIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICAgb2ZmaWNlIG51bWJlclxuIgorbXNnc3RyICIgIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICBz4buRIHbEg24gcGjDsm5nXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OAorbXNnaWQgIiAtcCwgLS1vZmZpY2UtcGhvbmUgPHBob25lPiAgIG9mZmljZSBwaG9uZSBudW1iZXJcbiIKK21zZ3N0ciAiICAtcCwgLS1vZmZpY2UtcGhvbmUgPHPEkXQ+ICAgIHPhu5EgxJFp4buHbiB0aG/huqFpIHbEg24gcGjDsm5nIGPhu6dhIGLhuqFuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OQorbXNnaWQgIiAtaCwgLS1ob21lLXBob25lIDxwaG9uZT4gICAgIGhvbWUgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiAgLWgsIC0taG9tZS1waG9uZSA8c8SRdOG7n24+ICAgIHPhu5EgxJFp4buHbiB0aG/huqFpIGPhu6dhIGLhuqFuIOG7nyBuaMOgXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDEgbG9naW4tdXRpbHMvY2hzaC5jOjc4Cittc2dpZCAiIC11LCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAtdSwgLS1oZWxwICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICJmaWVsZCAlcyBpcyB0b28gbG9uZyIKK21zZ3N0ciAidHLGsOG7nW5nICVzIHF1w6EgZMOgaSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyMSBsb2dpbi11dGlscy9jaHNoLmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBoYXMgaWxsZWdhbCBjaGFyYWN0ZXJzIgorbXNnc3RyICIlczogY8OzIGNo4bupYSBjw6FjIGvDvSB04buxIGtow7RuZyBo4bujcCBs4buHIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTUwIGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE2MgorIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbi5kZWZzIGZvcmJpZHMgc2V0dGluZyAlcyIKK21zZ3N0ciAibG9naW4uZGVmcyBuZ8SDbiBj4bqjbiBjw6BpIMSR4bq3dCAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTU4IGxvZ2luLXV0aWxzL2NoZm4uYzozMDkKK21zZ2lkICJPZmZpY2UiCittc2dzdHIgIlbEg24gcGjDsm5nIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjQgbG9naW4tdXRpbHMvY2hmbi5jOjMxMQorbXNnaWQgIk9mZmljZSBQaG9uZSIKK21zZ3N0ciAixJBp4buHbiB0aG/huqFpIHbEg24gcGjDsm5nIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTY4IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzAgbG9naW4tdXRpbHMvY2hmbi5jOjMxMworbXNnaWQgIkhvbWUgUGhvbmUiCittc2dzdHIgIsSQaeG7h24gdGhv4bqhaSDhu58gbmjDoCIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjIzMworbXNnaWQgIkFib3J0ZWQuIgorbXNnc3RyICJC4buLIGjhu6d5IGLhu48uIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGhhcyB1bmV4cGVjdGVkIHZhbHVlOiAlcyIKK21zZ3N0ciAiJXM6IENIRk5fUkVTVFJJQ1QgY8OzIGdpw6EgdHLhu4sga2jDtG5nIG5oxrAgbW9uZyDEkeG7o2k6ICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGRvZXMgbm90IGFsbG93IGFueSBjaGFuZ2VzIgorbXNnc3RyICIlczogQ0hGTl9SRVNUUklDVCBraMO0bmcgY2hvIGLhuqV0IGvhu7MgdGhheSDEkeG7lWkgbsOgbyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci5cbiIKK21zZ3N0ciAiVGjDtG5nIHRpbiBmaW5nZXIgKkNIxq9BKiB0aGF5IMSR4buVaS4gIEjDo3kgdGjhu60gbOG6oWkgc2F1LlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBjaGFuZ2VkLlxuIgorbXNnc3RyICJUaMO0bmcgdGluIGZpbmdlciDEkcOjIHRoYXkgxJHhu5VpLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDA4IGxvZ2luLXV0aWxzL2Noc2guYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ICh1c2VyICVkKSBkb24ndCBleGlzdC4iCittc2dzdHIgImLhuqFuIChuZ8aw4budaSBkw7luZyAlZCkga2jDtG5nIHThu5NuIHThuqFpLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQxNCBsb2dpbi11dGlscy9jaHNoLmM6MjQ4IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIFwiJXNcIiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIm5nxrDhu51pIGTDuW5nIFwiJXNcIiBraMO0bmcgdOG7k24gdOG6oWkuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDIwIGxvZ2luLXV0aWxzL2Noc2guYzoyNTQKK21zZ2lkICJjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcyIKK21zZ3N0ciAiY2jhu4kgY8OzIHRo4buDIHRoYXkgxJHhu5VpIGPDoWMgbeG7pWMgbuG7mWkgYuG7mSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIGZpbmdlciBpbmZvIG9mICVzIgorbXNnc3RyICIlcyBjaMawYSDEkcaw4bujYyB4w6FjIHRo4buxYyDEkeG7gyB0aGF5IMSR4buVaSB0aMO0bmcgdGluIGZpbmdlciBj4bunYSAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzNSBsb2dpbi11dGlscy9jaHNoLmM6MjcwCittc2dpZCAiVW5rbm93biB1c2VyIGNvbnRleHQiCittc2dzdHIgIktow7RuZyBoaeG7g3Ugbmfhu68gY+G6o25oIG5nxrDhu51pIGTDuW5nIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDQxIGxvZ2luLXV0aWxzL2Noc2guYzoyNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgc2V0IGRlZmF1bHQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgImtow7RuZyDEkeG6t3QgxJHGsOG7o2MgdsSDbiBj4bqjbmggY2hvICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDUyCittc2dpZCAicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSBhbHRlcmluZywgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiVUlEIMSRYW5nIGhv4bqhdCDEkeG7mW5nIGtow7RuZyB0xrDGoW5nIOG7qW5nIHbhu5tpIFVJRCBj4bunYSBuZ8aw4budaSBkw7luZyBjaMO6bmcgdGEgYmnhur9uIMSR4buVaSwga2jDtG5nIGNobyBwaMOpcCB0aGF5IMSR4buVaSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBmaW5nZXIgaW5mb3JtYXRpb24gZm9yICVzLlxuIgorbXNnc3RyICJUaGF5IMSR4buVaSB0aMO0bmcgdGluIGZpbmdlciBjaG8gJXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIG5vdCBjaGFuZ2VkLlxuIgorbXNnc3RyICJUaMO0bmcgdGluIGZpbmdlciBjaMawYSB0aGF5IMSR4buVaS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjcyCittc2dpZCAiQ2hhbmdlIHlvdXIgbG9naW4gc2hlbGwuXG4iCittc2dzdHIgIsSQ4buVaSBzaGVsbCAoaOG7hyB24buPKSDEkcSDbmcgbmjhuq1wIGPhu6dhIGLhuqFuLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6NzUKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgc3BlY2lmeSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgY2jhu4kgxJHhu4tuaCBzaGVsbCAoaOG7hyB24buPKSDEkcSDbmcgbmjhuq1wXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NgorbXNnaWQgIiAtbCwgLS1saXN0LXNoZWxscyAgICBwcmludCBsaXN0IG9mIHNoZWxscyBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdC1zaGVsbHMgICAgaW4gcmEgZGFuaCBzw6FjaCBjw6FjIHNoZWxsICho4buHIHbhu48pIHLhu5NpIHRob8OhdFxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MTAwCittc2dpZCAiTm8ga25vd24gc2hlbGxzLiIKK21zZ3N0ciAiS2jDtG5nIGhp4buDdSBzaGVsbCAoaOG7hyB24buPKS4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDAKK21zZ2lkICJzaGVsbCBtdXN0IGJlIGEgZnVsbCBwYXRoIG5hbWUiCittc2dzdHIgInNoZWxsICho4buHIHbhu48pIHBo4bqjaSBjw7MgZOG6oW5nIHTDqm4gxJHGsOG7nW5nIGThuqtuIMSR4bqneSDEkeG7pyIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIlwiJXNcIiBraMO0bmcgdOG7k24gdOG6oWkiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGlzIG5vdCBleGVjdXRhYmxlIgorbXNnc3RyICJcIiVzXCIga2jDtG5nIGPDsyBraOG6oyBuxINuZyB0aOG7sWMgdGhpIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjEwCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IFwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLiIKK21zZ3N0ciAiQ+G6o25oIGLDoW86IFwiJXNcIiBraMO0bmcgbuG6sW0gdHJvbmcgXCIlc1wiLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIxNCBsb2dpbi11dGlscy9jaHNoLmM6MjE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy5cbiIKKyJVc2UgJXMgLWwgdG8gc2VlIGxpc3QuIgorbXNnc3RyICIiCisiXCIlc1wiIGtow7RuZyBu4bqxbSB0cm9uZyBcIiVzXCIuXG4iCisiU+G7rSBk4bulbmcgJXMgLWwgxJHhu4MgeGVtIGRhbmggc8OhY2guIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgc2hlbGwgb2YgJXMiCittc2dzdHIgIiVzIGtow7RuZyDEkcaw4bujYyB4w6FjIHRo4buxYyDEkeG7gyB0aGF5IMSR4buVaSBzaGVsbCAoaOG7hyB24buPKSBj4bunYSDigJwlc+KAnSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI5NQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIlVJRCDEkWFuZyBob+G6oXQgxJHhu5luZyBraMO0bmcgdMawxqFuZyDhu6luZyB24bubaSBVSUQgY+G7p2EgbmfGsOG7nWkgZMO5bmcgY2jDum5nIHRhIMSRYW5nIG5o4bqtcCwgc2hlbGwgKGjhu4cgduG7jykga2jDtG5nIGNobyBwaMOpcCB0aGF5IMSR4buVaSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIHNoZWxsIGlzIG5vdCBpbiAlcywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAic2hlbGwgKGjhu4cgduG7jykgY+G7p2EgYuG6oW4ga2jDtG5nIGPDsyB0cm9uZyAlcywga2jDtG5nIGNobyBwaMOpcCB0aGF5IMSR4buVaSBo4buHIHbhu48gKHNoZWxsKSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBzaGVsbCBmb3IgJXMuXG4iCittc2dzdHIgIsSQYW5nIHRoYXkgxJHhu5VpIHNoZWxsICho4buHIHbhu48pIGNobyAlcy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMxMgorbXNnaWQgIk5ldyBzaGVsbCIKK21zZ3N0ciAic2hlbGwgKGjhu4cgduG7jykgbeG7m2kiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjAKK21zZ2lkICJTaGVsbCBub3QgY2hhbmdlZC4iCittc2dzdHIgIkNoxrBhIHRoYXkgxJHhu5VpIHNoZWxsICho4buHIHbhu48pLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyNQorbXNnaWQgIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICJTaGVsbCAqQ0jGr0EqIHRoYXkgxJHhu5VpLiAgSMOjeSB0aOG7rSBs4bqhaSBzYXUuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzI5Cittc2dpZCAiIgorInNldHB3bmFtIGZhaWxlZFxuIgorIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICIiCisic2V0cHduYW0gZ+G6t3AgbOG7l2lcbiIKKyJzaGVsbCAoaOG7hyB24buPKSAqQ0jGr0EqIHRoYXkgxJHhu5VpLiAgSMOjeSB0aOG7rSBs4bqhaSBzYXUuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoZWxsIGNoYW5nZWQuXG4iCittc2dzdHIgInNoZWxsICho4buHIHbhu48pIMSRw6MgdGhheSDEkeG7lWkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgPHBhc3N3b3JkZmlsZT4gPHVzZXJuYW1lPi4uLlxuIgorbXNnc3RyICJDw6FjaCBkw7luZzogJXMgPHThuq1wIHRpbiBt4bqtdCBraOG6qXU+IDx0w6BpIGtob+G6o24+4oCmXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoxNzQgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjIwIHN5cy11dGlscy9kbWVzZy5jOjExOTMKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHRpbWUgZm9ybWF0OiAlcyIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSDEkeG7i25oIGThuqFuZyBnaeG7nTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyODEgbG9naW4tdXRpbHMvbGFzdC5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcnJ1cHRlZCAlcyIKK21zZ3N0ciAiJXMgYuG7iyBuZ+G6r3QiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo0MzkgbG9naW4tdXRpbHMvbGFzdC5jOjQ1MAorbXNnaWQgInByZWFsbG9jYXRpb24gc2l6ZSBleGNlZWRlZCIKK21zZ3N0ciAia8OtY2ggdGjGsOG7m2MgY+G6pXAgcGjDoXQgdHLGsOG7m2MgxJHDoyBi4buLIHbGsOG7o3QgcXXDoSIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU2OQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+Li4uXSBbPHR0eT4uLi5dXG4iCittc2dzdHIgIiAlcyBbY8OhYyB0w7l5IGNo4buNbl0gPHTDoGkga2hv4bqjbiBuZ8aw4budaSBkw7luZ+KApj4gWzx0w6puIHR0eT7igKZdXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzIKK21zZ2lkICJTaG93IGEgbGlzdGluZyBvZiBsYXN0IGxvZ2dlZCBpbiB1c2Vycy5cbiIKK21zZ3N0ciAiSGnhu4NuIHRo4buLIGRhbmggc8OhY2ggxJHEg25nIG5o4bqtcCBjdeG7kWkgY+G7p2EgY8OhYyBuZ8aw4budaSBkw7luZy5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NQorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiAtPG51bWJlcj4gICAgICAgICAgICBoaeG7g24gdGjhu4sgYmFvIG5oacOqdSBkw7JuZ1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc2Cittc2dpZCAiIC1hLCAtLWhvc3RsYXN0ICAgICAgIGRpc3BsYXkgaG9zdG5hbWVzIGluIHRoZSBsYXN0IGNvbHVtblxuIgorbXNnc3RyICIgLWEsIC0taG9zdGxhc3QgICAgICAgaGnhu4NuIHRo4buLIHTDqm4gbcOheSB0cm9uZyBj4buZdCBjdeG7kWlcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NworbXNnaWQgIiAtZCwgLS1kbnMgICAgICAgICAgICB0cmFuc2xhdGUgdGhlIElQIG51bWJlciBiYWNrIGludG8gYSBob3N0bmFtZVxuIgorbXNnc3RyICIgLWQsIC0tZG5zICAgICAgICAgICAgYmnDqm4gZOG7i2NoIHPhu5EgSVAgbmfGsOG7o2MgbOG6oWkgdGjDoG5oIHTDqm4gbcOheVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICB1c2UgYSBzcGVjaWZpYyBmaWxlIGluc3RlYWQgb2YgJXNcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPFThuqxQLVRJTj4gZMO5bmcgdOG6rXAgdGluIHRoYXkgY2hvICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODAKK21zZ2lkICIgLUYsIC0tZnVsbHRpbWVzICAgICAgcHJpbnQgZnVsbCBsb2dpbiBhbmQgbG9nb3V0IHRpbWVzIGFuZCBkYXRlc1xuIgorbXNnc3RyICIgLUYsIC0tZnVsbHRpbWVzICAgICAgaGnhu4NuIHRo4buLIG5nw6B5IGdp4budIMSRxINuZyBuaOG6rXAveHXhuqV0IGThuqFuZyDEkeG6p3kgxJHhu6dcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MQorbXNnaWQgIiAtaSwgLS1pcCAgICAgICAgICAgICBkaXNwbGF5IElQIG51bWJlcnMgaW4gbnVtYmVycy1hbmQtZG90cyBub3RhdGlvblxuIgorbXNnc3RyICIgLWksIC0taXAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIGPDoWMgc+G7kSBJUCDhu58gZOG6oW5nIGdoaSBjaMO6IG5nxINuIGPDoWNoIGLhurFuZyBk4bqldSBjaOG6pW1cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MgorbXNnaWQgIiAtbiwgLS1saW1pdCA8bnVtYmVyPiBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiAtbiwgLS1saW1pdCA8c+G7kT4gICAgIG114buRbiBoaeG7g24gdGjhu4sgYmFvIG5oacOqdSBkw7JuZ1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgzCittc2dpZCAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIGRvbid0IGRpc3BsYXkgdGhlIGhvc3RuYW1lIGZpZWxkXG4iCittc2dzdHIgIiAtUiwgLS1ub2hvc3RuYW1lICAgICBraMO0bmcgaGnhu4NuIHRo4buLIHRyxrDhu51uZyB0w6puIG3DoXlcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NAorbXNnaWQgIiAtcywgLS1zaW5jZSA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyBzaW5jZSB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIC1zLCAtLXNpbmNlIDx0aW1lPiAgIGhp4buDbiB0aOG7iyBjw6FjIGTDsm5nIGvhu4MgdOG7qyB0aOG7nWkgZ2lhbiDEkcOjIGNob1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg1Cittc2dpZCAiIC10LCAtLXVudGlsIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHVudGlsIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLXQsIC0tdW50aWwgPHRpbWU+ICAgaGnhu4NuIHRo4buLIGPDoWMgZMOybmcgY2hvIMSR4bq/biB0aOG7nWkgxJFp4buDbSDEkcOjIGNob1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg2Cittc2dpZCAiIC1wLCAtLXByZXNlbnQgPHRpbWU+IGRpc3BsYXkgd2hvIHdlcmUgcHJlc2VudCBhdCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIC1wLCAtLXByZXNlbnQgPHRpbWU+IGhp4buDbiB0aOG7iyBhaSBuZ8aw4budaSBtw6AgaGnhu4duIGRp4buHbiB04bqhaSB0aOG7nWkgxJFp4buDbSDEkcOjIGNob1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg3Cittc2dpZCAiIC13LCAtLWZ1bGxuYW1lcyAgICAgIGRpc3BsYXkgZnVsbCB1c2VyIGFuZCBkb21haW4gbmFtZXNcbiIKK21zZ3N0ciAiIC13LCAtLWZ1bGxuYW1lcyAgICAgIGhp4buDbiB0aOG7iyDEkeG6p3kgxJHhu6cgdMOqbiBtaeG7gW4gdsOgIHTDqm4gbmfGsOG7nWkgZMO5bmdcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OAorbXNnaWQgIiAteCwgLS1zeXN0ZW0gICAgICAgICBkaXNwbGF5IHN5c3RlbSBzaHV0ZG93biBlbnRyaWVzIGFuZCBydW4gbGV2ZWwgY2hhbmdlc1xuIgorbXNnc3RyICIgLXgsIC0tc3lzdGVtICAgICAgICAgaGnhu4NuIHRo4buLIGPDoWMgbeG7pWMgdOG6r3QgbcOheSBo4buHIHRo4buRbmcgdsOgIGPDoWMgdGhheSDEkeG7lWkgbeG7qWMgY2jhuqF5XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODkKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcHMgaW4gdGhlIHNwZWNpZmllZCA8Zm9ybWF0PjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPMSR4buLbmhfZOG6oW5nPiBoaeG7g24gdGjhu4sgZOG6pXUgdGjhu51pIGdpYW4gZMO5bmcgPMSR4buLbmhfZOG6oW5nPjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vdGltZXxzaG9ydHxmdWxsfGlzb11cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjg4MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXMgYmVnaW5zICVzIgorbXNnc3RyICIiCisiXG4iCisiJXMgYuG6r3QgxJHhuqd1ICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTU2IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjQKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjgKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggc+G7kSIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk3NyBsb2dpbi11dGlscy9sYXN0LmM6OTgyIGxvZ2luLXV0aWxzL2xhc3QuYzo5ODcKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZSB2YWx1ZSBcIiVzXCIiCittc2dzdHIgImdpw6EgdHLhu4sgZ2nhu50ga2jDtG5nIGjhu6NwIGzhu4cgXCIlc1wiIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6MjkgbG9naW4tdXRpbHMvbGlidXNlci5jOjMxCittc2dpZCAiQ291bGRuJ3QgZHJvcCBncm91cCBwcml2aWxlZ2VzIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgeMOzYSDEkeG6t2MgcXV54buBbiBuaMOzbSIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImxpYnVzZXIgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlcy4iCittc2dzdHIgImto4bufaSB04bqhbyBsaWJ1c2VyIGfhurdwIGzhu5dpOiAlcy4iCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1MgorbXNnaWQgImNoYW5naW5nIHVzZXIgYXR0cmlidXRlIGZhaWxlZCIKK21zZ3N0ciAidGhheSDEkeG7lWkgdGh14buZYyB0w61uaCBuZ8aw4budaSBkw7luZyBn4bq3cCBs4buXaSIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjY2CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgYXR0cmlidXRlIG5vdCBjaGFuZ2VkOiAlcyIKK21zZ3N0ciAidGh14buZYyB0w61uaCBuZ8aw4budaSBkw7luZyBraMO0bmcgdGhheSDEkeG7lWk6ICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAldSBpcyA2MC4KKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTgwCisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWVkIG91dCBhZnRlciAldSBzZWNvbmRzIgorbXNnc3RyICJs4buXaSBxdcOhIGzDonUgc2F1ICV1IGdpw6J5IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI4NgorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogY2FuJ3QgcmVvcGVuIHR0eTogJW0iCittc2dzdHIgIk5HSEnDik0gVFLhu4xORzoga2jDtG5nIHRo4buDIG3hu58gbOG6oWkgdHR5OiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzIGlzIG5vdCBhIHRlcm1pbmFsIgorbXNnc3RyICJOR0hJw4pNIFRS4buMTkc6ICVzIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHRoaeG6v3QgYuG7iyBjdeG7kWkiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzEwCisjLCBjLWZvcm1hdAorbXNnaWQgImNob3duICglcywgJWx1LCAlbHUpIGZhaWxlZDogJW0iCittc2dzdHIgImNob3duICglcywgJWx1LCAlbHUpIGfhurdwIGzhu5dpOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2htb2QgKCVzLCAldSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2htb2QgKCVzLCAldSkgZ+G6t3AgbOG7l2k6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM3NQorbXNnaWQgIkZBVEFMOiBiYWQgdHR5IgorbXNnc3RyICJOR0hJw4pNIFRS4buMTkc6IHR0eSBzYWkiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlczogY2hhbmdlIHBlcm1pc3Npb25zIGZhaWxlZDogJW0iCittc2dzdHIgIk5HSEnDik0gVFLhu4xORzogJXM6IHRoYXkgxJHhu5VpIHF1eeG7gW4gZ+G6t3AgbOG7l2k6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGxvZ2luOiAlLipzICIKK21zZ3N0ciAixJDEg25nIG5o4bqtcCBs4bqnbiBjdeG7kWk6ICUuKnMgIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUzMQorIywgYy1mb3JtYXQKK21zZ2lkICJmcm9tICUuKnNcbiIKK21zZ3N0ciAidOG7qyAlLipzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9uICUuKnNcbiIKK21zZ3N0ciAidHLDqm4gJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjU1MgorbXNnaWQgIndyaXRlIGxhc3Rsb2cgZmFpbGVkIgorbXNnc3RyICJs4bqnbiBnaGkgbmjhuq10IGvDvSBjdeG7kWkgZ+G6t3AgbOG7l2kiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRJQUxVUCBBVCAlcyBCWSAlcyIKK21zZ3N0ciAiUVVBWSBT4buQIFThuqBJICVzIELhu55JICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1NworIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIEZST00gJXMiCittc2dzdHIgIsSQxIJORyBOSOG6rFAgTkfGr+G7nEkgQ0jhu6YgVFLDik4gJXMgVOG7qiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyIKK21zZ3N0ciAixJDEgk5HIE5I4bqsUCBOR8av4bucSSBDSOG7piBUUsOKTiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTE9HSU4gT04gJXMgQlkgJXMgRlJPTSAlcyIKK21zZ3N0ciAixJDEgk5HIE5I4bqsUCBUUsOKTiAlcyBC4bueSSAlcyBU4buqICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyIKK21zZ3N0ciAixJDEgk5HIE5I4bqsUCBUUsOKTiAlcyBC4bueSSAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3MTkKK21zZ2lkICJsb2dpbjogIgorbXNnc3RyICLEkMSDbmcgbmjhuq1wOiAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIlBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCittc2dzdHIgIlBBTSB0aOG6pXQgYuG6oWkgbsOqbiBo4buneSBi4buPOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGRuJ3QgaW5pdGlhbGl6ZSBQQU06ICVzIgorbXNnc3RyICJLaMO0bmcgdGjhu4Mga2jhu59pIHThuqFvIFBBTTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODE3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiAldSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIkzhu5ZJIMSQxIJORyBOSOG6rFAgJXUgVOG7qiAlcyBDSE8gJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgyNSBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTG9naW4gaW5jb3JyZWN0XG4iCisiXG4iCittc2dzdHIgIiIKKyJTYWkgdMOqbiBuZ8aw4budaSBkw7luZyBob+G6t2MgbeG6rXQga2jhuql1XG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRPTyBNQU5ZIExPR0lOIFRSSUVTICgldSkgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJRVcOBIE5ISeG7gFUgTOG6pk4gVEjhu6wgxJDEgk5HIE5I4bqsUCAoJXUpIFThu6ogJXMgQ0hPICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOIFNFU1NJT04gRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJQSEnDik4gQ0jhuqBZIMSQxIJORyBOSOG6rFAgQuG7iiBM4buWSSBU4buqICVzIENITyAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNhaSB0w6puIG5nxrDhu51pIGTDuW5nIGhv4bq3YyBt4bqtdCBraOG6qXVcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4ODIgbG9naW4tdXRpbHMvbG9naW4uYzoxMjMyIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI1NQorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHNldHVwIHByb2JsZW0sIGFib3J0LiIKK21zZ3N0ciAiIgorIlxuIgorIkPDsyB24bqlbiDEkeG7gSBj4bqldSBow6xuaCBwaGnDqm4gY2jhuqF5IG7Dqm4gaOG7p3kgYuG7jy4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODgzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTEwgdXNlciBuYW1lIGluICVzOiVkLiBBYm9ydC4iCittc2dzdHIgIlTDqm4gbmfGsOG7nWkgZMO5bmcgYuG6sW5nIFbDlCBHScOBIFRS4buKIChOVUxMKSB0cm9uZyAlczolZC4gVGhvw6F0LiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMDIwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRJT0NTQ1RUWSBmYWlsZWQ6ICVtIgorbXNnc3RyICJUSU9DU0NUVFkgYuG7iyBs4buXaTogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbjogLWggaXMgZm9yIHN1cGVydXNlciBvbmx5XG4iCittc2dzdHIgImxvZ2luOiDigJwtaOKAnSBjaOG7iSBkw6BuaCBjaG8gc2nDqnUgbmfGsOG7nWkgZMO5bmdcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiBsb2dpbiBbLXBdIFstaCA8aG9zdD5dIFstSF0gW1stZl0gPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAiQ8OhY2ggZMO5bmc6IGxvZ2luIFstcF0gWy1oIDxtw6F5LWNo4bunPl0gWy1IXSBbWy1mXSA8dMOgaS1raG/huqNuPl1cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTkxCittc2dpZCAiQmVnaW4gYSBzZXNzaW9uIG9uIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIkLhuq90IMSR4bqndSBt4buZdCBwaGnDqm4gdHLDqm4gaOG7hyB0aOG7kW5nLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB1c2VyIG5hbWUgXCIlc1wiIGluICVzOiVkLiBBYm9ydC4iCittc2dzdHIgIlTDqm4gbmfGsOG7nWkgZMO5bmcgc2FpIFwiJXNcIiB0cm9uZyAlczolZC4gSOG7p3kgYuG7jy4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJncm91cHMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAic+G7sSBraOG7n2kgdOG6oW8gbmjDs20gZ+G6t3AgbOG7l2k6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNzkKK21zZ2lkICJzZXRnaWQoKSBmYWlsZWQiCittc2dzdHIgInNldGdpZCgpIGfhurdwIGzhu5dpIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbmV3IG1haWwuXG4iCittc2dzdHIgIkLhuqFuIGPDsyB0aMawIG3hu5tpLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbWFpbC5cbiIKK21zZ3N0ciAiQuG6oW4gY8OzIHRoxrAuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMyNQorbXNnaWQgInNldHVpZCgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgZ+G6t3AgbOG7l2kiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzMSBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjaGFuZ2UgZGlyZWN0b3J5IGZhaWxlZCIKK21zZ3N0ciAiJXM6IMSR4buVaSB0aMawIG3hu6VjIGfhurdwIGzhu5dpIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzggbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczOQorIywgYy1mb3JtYXQKK21zZ2lkICJMb2dnaW5nIGluIHdpdGggaG9tZSA9IFwiL1wiLlxuIgorbXNnc3RyICLEkGFuZyDEkcSDbmcgbmjhuq1wIHbhu5tpIHRoxrAgbeG7pWMgY8OhIG5ow6JuID0gXCIvXCIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM2NworbXNnaWQgImNvdWxkbid0IGV4ZWMgc2hlbGwgc2NyaXB0IgorbXNnc3RyICJraMO0bmcgdGjhu7FjIGhp4buHbiDEkcaw4bujYyB2xINuIGzhu4duaCBzaGVsbCAoaOG7hyB24buPKSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzY5Cittc2dpZCAibm8gc2hlbGwiCittc2dzdHIgImtow7RuZyBjw7MgaOG7hyB24buPIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGNvbnRhaW5zIGludmFsaWQgbnVtZXJpY2FsIHZhbHVlOiAlcyIKK21zZ3N0ciAiJXM6ICVzIGNo4bupYSBnacOhIHRy4buLIGLhurFuZyBz4buRIGtow7RuZyBo4bujcCBs4buHOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6Mzc1Cittc2dpZCAiaHVzaCBsb2dpbiBzdGF0dXM6IHJlc3RvcmUgb3JpZ2luYWwgSURzIGZhaWxlZCIKK21zZ3N0ciAidHLhuqFuZyB0aMOhaSDEkcSDbmcgbmjhuq1wIGltIGzhurduZzogcGjhu6VjIGjhu5NpIElEIG5ndXnDqm4gZ+G7kWMgZ+G6t3AgbOG7l2kiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA4IHN5cy11dGlscy9sc2NwdS5jOjE1NDAgc3lzLXV0aWxzL2xzY3B1LmM6MTU1MAorbXNnaWQgIm5vIgorbXNnc3RyICJraMO0bmciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3IG1pc2MtdXRpbHMvbHNibGsuYzoxODEKK21zZ2lkICJ1c2VyIG5hbWUiCittc2dzdHIgInTDoGkga2hv4bqjbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcKK21zZ2lkICJVc2VybmFtZSIKK21zZ3N0ciAiVMOgaSBraG/huqNuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOCBzeXMtdXRpbHMvcmVuaWNlLmM6NTQKK21zZ2lkICJ1c2VyIElEIgorbXNnc3RyICJtw6MgSUQgTmfGsOG7nWkgZMO5bmciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE5Cittc2dpZCAicGFzc3dvcmQgbm90IHJlcXVpcmVkIgorbXNnc3RyICJraMO0bmcgY+G6p24gbeG6rXQga2jhuql1IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgIlBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAiS2jDtG5nIGPhuqduIG3huq10IGto4bqpdSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKK21zZ2lkICJsb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAixJHEg25nIG5o4bqtcCBi4bqxbmcgbeG6rXQga2jhuql1IGLhu4sgY+G6pW0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAiTG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIsSQxINuZyBuaOG6rXAgYuG6sW5nIG3huq10IGto4bqpdSBi4buLIGPhuqVtIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgInBhc3N3b3JkIGRlZmluZWQsIGJ1dCBsb2NrZWQiCittc2dzdHIgIm3huq10IGto4bqpdSDEkcOjIMSRxrDhu6NjIMSR4buLbmggbmdoxKlhIG5oxrBuZyBuw7MgbOG6oWkgYuG7iyBraMOzYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKK21zZ2lkICJQYXNzd29yZCBpcyBsb2NrZWQiCittc2dzdHIgIk3huq10IGto4bqpdSBi4buLIGtow7NhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorbXNnaWQgImxvZyBpbiBkaXNhYmxlZCBieSBub2xvZ2luKDgpIG9yIHBhbV9ub2xvZ2luKDgpIgorbXNnc3RyICLEkcSDbmcgbmjhuq1wIGLhu4sgdOG6r3QgYuG7n2kgbm9sb2dpbig4KSBoYXkgcGFtX25vbG9naW4oOCkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAiTm8gbG9naW4iCittc2dzdHIgIktow7RuZyDEkcSDbmcgbmjhuq1wIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgInByaW1hcnkgZ3JvdXAgbmFtZSIKK21zZ3N0ciAidMOqbiBuaMOzbSBjaMOtbmgiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCittc2dpZCAiUHJpbWFyeSBncm91cCIKK21zZ3N0ciAiTmjDs20gY2jDrW5oIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNAorbXNnaWQgInByaW1hcnkgZ3JvdXAgSUQiCittc2dzdHIgIm3DoyBz4buRIG5ow7NtIGNow61uaCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIG5hbWVzIgorbXNnc3RyICJjw6FjIHTDqm4gbmjDs20gcGjhu6UiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgIkPDoWMgbmjDs20gcGjhu6UiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIm3DoyBz4buRIG5ow7NtIHBo4bulIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICJNw6Mgc+G7kSBuaMOzbSBwaOG7pSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKK21zZ2lkICJob21lIGRpcmVjdG9yeSIKK21zZ3N0ciAidGjGsCBt4bulYyBjw6EgbmjDom4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3Cittc2dpZCAiSG9tZSBkaXJlY3RvcnkiCittc2dzdHIgIlRoxrAgbeG7pWMgY8OhIG5ow6JuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorbXNnaWQgImxvZ2luIHNoZWxsIgorbXNnc3RyICJo4buHIHbhu48gxJHEg25nIG5o4bqtcCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKK21zZ2lkICJTaGVsbCIKK21zZ3N0ciAiSOG7hyB24buPIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgImZ1bGwgdXNlciBuYW1lIgorbXNnc3RyICJo4buNIHTDqm4gY+G7p2EgbmfGsOG7nWkgZMO5bmciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiR2Vjb3MgZmllbGQiCittc2dzdHIgIlRyxrDhu51uZyBHZWNvcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKK21zZ2lkICJkYXRlIG9mIGxhc3QgbG9naW4iCittc2dzdHIgInRo4budaSDEkWnhu4NtIMSRxINuZyBuaOG6rXAgbOG6p24gY3Xhu5FpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorbXNnaWQgIkxhc3QgbG9naW4iCittc2dzdHIgIkzhuqduIMSRxINuZyBuaOG6rXAgY3Xhu5FpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgImxhc3QgdHR5IHVzZWQiCittc2dzdHIgInR0eSBkw7luZyBs4bqnbiBjdeG7kWkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCittc2dpZCAiTGFzdCB0ZXJtaW5hbCIKK21zZ3N0ciAiVGhp4bq/dCBi4buLIGN14buRaSBjdeG7kWkgY8O5bmciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiaG9zdG5hbWUgZHVyaW5nIHRoZSBsYXN0IHNlc3Npb24iCittc2dzdHIgInTDqm4gbcOheSB0cm9uZyBzdeG7kXQgcGhpw6puIGzDoG0gdmnhu4djIGN14buRaSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJMYXN0IGhvc3RuYW1lIgorbXNnc3RyICJUw6puIG3DoXkgY3Xhu5FpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworbXNnaWQgImRhdGUgb2YgbGFzdCBmYWlsZWQgbG9naW4iCittc2dzdHIgInRo4budaSDEkWnhu4NtIGN14buRaSDEkcSDbmcgbmjhuq1wIGtow7RuZyB0aMOgbmggY8O0bmciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiRmFpbGVkIGxvZ2luIgorbXNnc3RyICJH4bq3cCBs4buXaSBraGkgxJHEg25nIG5o4bqtcCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKK21zZ2lkICJ3aGVyZSBkaWQgdGhlIGxvZ2luIGZhaWw/IgorbXNnc3RyICJuxqFpIMSRxINuZyBuaOG6rXAgdGjhuqV0IGLhuqFpPyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKK21zZ2lkICJGYWlsZWQgbG9naW4gdGVybWluYWwiCittc2dzdHIgIlRoaeG6v3QgYuG7iyBjdeG7kWkgxJHEg25nIG5o4bqtcCB0aOG6pXQgYuG6oWkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAidXNlcidzIGh1c2ggc2V0dGluZ3MiCittc2dzdHIgImPDoGkgxJHhurd0IGh1c2ggY+G7p2EgbmfGsOG7nWkgZMO5bmciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAiSHVzaGVkIgorbXNnc3RyICJIdXNoZWQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiZGF5cyB1c2VyIGlzIHdhcm5lZCBvZiBwYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICJuw6B5IG3DoCBuZ8aw4budaSBkw7luZyBtdeG7kW4gbeG6rXQga2jhuql1IGjhur90IGjhuqFuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24gd2FybiBpbnRlcnZhbCIKK21zZ3N0ciAiTmjhu4twIGPhuqNuaCBiw6FvIGjhur90IGjhuqFuIG3huq10IGto4bqpdSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzcKK21zZ2lkICJwYXNzd29yZCBleHBpcmF0aW9uIGRhdGUiCittc2dzdHIgIm5nw6B5IG3huq10IGto4bqpdSBo4bq/dCBo4bqhbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzcKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICJN4bqtdCBraOG6qXUgxJHDoyBo4bq/dCBo4bqhbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJkYXRlIG9mIGxhc3QgcGFzc3dvcmQgY2hhbmdlIgorbXNnc3RyICJuZ8OgeSB0aMOhbmcgdGhheSDEkeG7lWkgbeG6rXQga2jhuql1IGN14buRaSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJQYXNzd29yZCBjaGFuZ2VkIgorbXNnc3RyICJN4bqtdCBraOG6qXUgxJHDoyB0aGF5IMSR4buVaSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzkKK21zZ2lkICJudW1iZXIgb2YgZGF5cyByZXF1aXJlZCBiZXR3ZWVuIGNoYW5nZXMiCittc2dzdHIgInPhu5EgbmfDoHkgY+G6p24gZ2nhu69hIGPDoWMgbOG6p24gdGhheSDEkeG7lWkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAiTWluaW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAiVGjhu51pIGdpYW4gdGhheSDEkeG7lWkgdOG7kWkgdGhp4buDdSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKK21zZ2lkICJtYXggbnVtYmVyIG9mIGRheXMgYSBwYXNzd29yZCBtYXkgcmVtYWluIHVuY2hhbmdlZCIKK21zZ3N0ciAic+G7kSBuZ8OgeSB04buRaSDEkWEgbcOgIG3huq10IGto4bqpdSBraMO0bmcgY+G6p24gdGhheSDEkeG7lWkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAiTWF4aW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAiVGjhu51pIGdpYW4gdGhheSDEkeG7lWkgdOG7kWkgxJFhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgInRoZSB1c2VyJ3Mgc2VjdXJpdHkgY29udGV4dCIKK21zZ3N0ciAibmfhu68gY+G6o25oIGFuIG5pbmggY+G7p2EgbmfGsOG7nWkgZMO5bmciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCittc2dpZCAiU2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJOZ+G7ryBj4bqjbmggU0VMaW51eCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIHJ1biBieSB0aGUgdXNlciIKK21zZ3N0ciAic+G7kSBsxrDhu6NuZyB0aeG6v24gdHLDrG5oIGNo4bqheSBi4bufaSBuZ8aw4budaSBkw7luZyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKK21zZ2lkICJSdW5uaW5nIHByb2Nlc3NlcyIKK21zZ3N0ciAiQ8OhYyB0aeG6v24gdHLDrG5oIMSRYW5nIGNo4bqheSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyODggbWlzYy11dGlscy9maW5kbW50LmM6MTM2IG1pc2MtdXRpbHMvbHNibGsuYzoyMzEKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBjb2x1bW5zIHNwZWNpZmllZCwgdGhlIGxpbWl0IGlzICV6dSBjb2x1bW5zIgorbXNnc3RyICLEkcOjIGNo4buJIHJhIHF1w6Egbmhp4buBdSBj4buZdCwgZ2nhu5tpIGjhuqFuIGzDoCAlenUgY+G7mXQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQzIHN5cy11dGlscy9sc2lwYy5jOjQ1NgorbXNnaWQgInVuc3VwcG9ydGVkIHRpbWUgdHlwZSIKK21zZ3N0ciAia2nhu4N1IHRo4budaSBnaWFuIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY29tcG9zZSB0aW1lIHN0cmluZyIKK21zZ3N0ciAibOG7l2kgcGjDom4gdMOtY2ggLS10aW1lb3V0IChjaOG7nSB04buRaSDEkWEpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjY0OAorbXNnaWQgImZhaWxlZCB0byBnZXQgc3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBs4bqleSBjw6FjIG5ow7NtIHBo4bulIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzEKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5rbm93biBjb2x1bW4iCittc2dzdHIgImzhu5dpIG7hu5lpIGLhu5k6IGtow7RuZyBoaeG7g3UgY+G7mXQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA3NSBzeXMtdXRpbHMvbHNpcGMuYzo1MDMgc3lzLXV0aWxzL2xzaXBjLmM6NjI1CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo2ODAgc3lzLXV0aWxzL2xzaXBjLmM6ODM4IHN5cy11dGlscy9sc2lwYy5jOjEwMzYKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGRhdGEiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG6t3QgZOG7ryBsaeG7h3UiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTE2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTGFzdCBsb2dzOlxuIgorbXNnc3RyICIiCisiXG4iCisiTmjhuq10IGvDvSBjdeG7kWk6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyOCBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMSBtaXNjLXV0aWxzL21jb29raWUuYzo4MiBtaXNjLXV0aWxzL3V1aWRkLmM6NzAKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI1IHN5cy11dGlscy9kbWVzZy5jOjI2NCBzeXMtdXRpbHMvaXBjbWsuYzo2NgorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2MCBzeXMtdXRpbHMvbHNpcGMuYzoyNzcgc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA0CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjk1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MCB0ZXh0LXV0aWxzL2xpbmUuYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIiAlcyBbVMO5eSBjaOG7jW5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzMQorbXNnaWQgIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQga25vd24gdXNlcnMgaW4gdGhlIHN5c3RlbS5cbiIKK21zZ3N0ciAiSGnhu4NuIHRo4buLIHRow7RuZyB0aW4gduG7gSBuaOG7r25nIG5nxrDhu51pIGTDuW5nIMSRw6MgYmnhur90IHRyb25nIGjhu4cgdGjhu5FuZy5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM0Cittc2dpZCAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBkaXNwbGF5IGluZm8gYWJvdXQgcGFzc3dvcmRzIGV4cGlyYXRpb25cbiIKK21zZ3N0ciAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB24buBIGjhur90IGjhuqFuIG3huq10IGto4bqpdVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzUKK21zZ2lkICIgLWMsIC0tY29sb24tc2VwYXJhdGUgICAgIGRpc3BsYXkgZGF0YSBpbiBhIGZvcm1hdCBzaW1pbGFyIHRvIC9ldGMvcGFzc3dkXG4iCittc2dzdHIgIiAtYywgLS1jb2xvbi1zZXBhcmF0ZSAgICAgaGnhu4NuIHRo4buLIGThu68gbGnhu4d1IOG7nyBk4bqhbmcgZ2nhu5FuZyBuaMawIC9ldGMvcGFzc3dkXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNiBzeXMtdXRpbHMvbHNpcGMuYzoyOTYKK21zZ2lkICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGRpc3BsYXkgaW4gYW4gZXhwb3J0LWFibGUgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGhp4buDbiB0aOG7iyDhu58gIMSR4buLbmggZOG6oW5nIGPDsyB0aOG7gyB4deG6pXQgcmFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM3Cittc2dpZCAiIC1mLCAtLWZhaWxlZCAgICAgICAgICAgICBkaXNwbGF5IGRhdGEgYWJvdXQgdGhlIHVzZXJzJyBsYXN0IGZhaWxlZCBsb2dpbnNcbiIKK21zZ3N0ciAiIC1mLCAtLWZhaWxlZCAgICAgICAgICAgICBoaeG7g24gdGjhu4sgZOG7ryBsaeG7h3UgduG7gSDEkcSDbmcgbmjhuq1wIHRo4bqldCBi4bqhaSBs4bqnbiBjdeG7kWkgY+G7p2EgbmfGsOG7nWkgZMO5bmdcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM4Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGdyb3Vwc1xuIgorbXNnc3RyICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHbhu4EgY8OhYyBuaMOzbVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzkKK21zZ2lkICIgLWcsIC0tZ3JvdXBzPTxncm91cHM+ICAgIGRpc3BsYXkgdXNlcnMgYmVsb25naW5nIHRvIGEgZ3JvdXAgaW4gPGdyb3Vwcz5cbiIKK21zZ3N0ciAiIC1nLCAtLWdyb3Vwcz08bmjDs20+ICAgICAgaGnhu4NuIHRo4buLIG5oxrBuZyBuZ8aw4budaSBkw7luZyBjw7luZyB24bubaSBuaMOzbSB0cm9uZyA8bmjDs20+XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MAorbXNnaWQgIiAtTCwgLS1sYXN0ICAgICAgICAgICAgICAgc2hvdyBpbmZvIGFib3V0IHRoZSB1c2VycycgbGFzdCBsb2dpbiBzZXNzaW9uc1xuIgorbXNnc3RyICIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyBjw6FjIHRow7RuZyB0aW4gduG7gSBwaGnDqm4gxJHEg25nIG5o4bqtcCBjdeG7kWkgY+G7p2EgbmfGsOG7nWkgZMO5bmdcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQxCittc2dpZCAiIC1sLCAtLWxvZ2lucz08bG9naW5zPiAgICBkaXNwbGF5IG9ubHkgdXNlcnMgZnJvbSA8bG9naW5zPlxuIgorbXNnc3RyICIgLWwsIC0tbG9naW5zPTxsb2dpbnM+ICAgIGhp4buDbiB0aOG7iyBjaOG7iSBuaOG7r25nIG5nxrDhu51pIGTDuW5nIHThu6sgPGxvZ2lucz5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQyIHN5cy11dGlscy9sc2lwYy5jOjI5OAorbXNnaWQgIiAtbiwgLS1uZXdsaW5lICAgICAgICAgICAgZGlzcGxheSBlYWNoIHBpZWNlIG9mIGluZm9ybWF0aW9uIG9uIGEgbmV3IGxpbmVcbiIKK21zZ3N0ciAiIC1uLCAtLW5ld2xpbmUgICAgICAgICAgICBoaeG7g24gdGjhu4sgdOG7q25nIG3huqNuaCB0aMO0bmcgdGluIHRyw6puIG3hu5l0IGTDsm5nIG3hu5tpXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MyBzeXMtdXRpbHMvbHNpcGMuYzoyOTEKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAga2jDtG5nIGluIHBo4bqnbiDEkeG6p3VcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ0IHN5cy11dGlscy9sc2lwYy5jOjI5MgorbXNnaWQgIiAgICAgLS1ub3RydW5jYXRlICAgICAgICAgZG9uJ3QgdHJ1bmNhdGUgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgLS1ub3RydW5jYXRlICAgICAgICAgxJHhu6tuZyBj4bqvdCBuZ+G6r24ga+G6v3QgeHXhuqV0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NSBzeXMtdXRpbHMvbHNpcGMuYzozMDAKK21zZ2lkICIgLW8sIC0tb3V0cHV0Wz08bGlzdD5dICAgIGRlZmluZSB0aGUgY29sdW1ucyB0byBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dFs9PGxpc3Q+XSAgICDEkeG7i25oIG5naMSpYSBjw6FjIGPhu5l0IHPhur0gaGnhu4NuIHRo4buLIHJhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NgorbXNnaWQgIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGxvZ2luIGJ5IHBhc3N3b3JkLlxuIgorbXNnc3RyICIgLXAsIC0tcHdkICAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIGxpw6puIHF1YW4gxJHhur9uIMSRxINuZyBuaOG6rXAgYuG6sW5nIG3huq10IGto4bqpdS5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ3IHN5cy11dGlscy9sc2lwYy5jOjMwMgorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgZGlzcGxheSBpbiByYXcgbW9kZVxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyDhu58gY2jhur8gxJHhu5kgdGjDtFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDgKK21zZ2lkICIgLXMsIC0tc3lzdGVtLWFjY3MgICAgICAgIGRpc3BsYXkgc3lzdGVtIGFjY291bnRzXG4iCittc2dzdHIgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAgaGnhu4NuIHRo4buLIGPDoWMgdMOgaSBraG/huqNuIGjhu4cgdGjhu5FuZ1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDkgc3lzLXV0aWxzL2xzaXBjLmM6MjkzCittc2dpZCAiICAgICAtLXRpbWUtZm9ybWF0PTx0eXBlPiBkaXNwbGF5IGRhdGVzIGluIHNob3J0LCBmdWxsIG9yIGlzbyBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLXRpbWUtZm9ybWF0IDxraeG7g3U+ICBoaeG7g24gdGjhu4sgdGjhu51pIGdpYW4gZMO5bmcgxJHhu4tuaCBk4bqhbmcgbmfhuq9uLCDEkeG6p3kgxJHhu6cgaGF5IGlzb1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTAKK21zZ2lkICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIGRpc3BsYXkgdXNlciBhY2NvdW50c1xuIgorbXNnc3RyICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIGhp4buDbiB0aOG7iyBjw6FjIHTDoGkga2hv4bqjbiBuZ8aw4budaSBkw7luZ1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTEKK21zZ2lkICIgLVosIC0tY29udGV4dCAgICAgICAgICAgIGRpc3BsYXkgU0VMaW51eCBjb250ZXh0c1xuIgorbXNnc3RyICIgLVosIC0tY29udGV4dCAgICAgICAgICAgIGhp4buDbiB0aOG7iyBuZ+G7ryBj4bqjbmggU0VMaW51eFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTIKK21zZ2lkICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgIGRlbGltaXQgdXNlciBlbnRyaWVzIHdpdGggYSBudWwgY2hhcmFjdGVyXG4iCittc2dzdHIgIiAteiwgLS1wcmludDAgICAgICAgICAgICAgbmfEg24gY8OhY2ggY8OhYyBt4bulYyBi4bqxbmcga8O9IHThu7EgbnVsXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MworbXNnaWQgIiAgICAgLS13dG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciB3dG1wXG4iCittc2dzdHIgIiAgICAgLS13dG1wLWZpbGUgPMSRxrDhu51uZ19k4bqrbj4gIMSR4bq3dCDEkcaw4budbmcgZOG6q24gdGhheSB0aOG6vyBjaG8gd3RtcFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTQKK21zZ2lkICIgICAgIC0tYnRtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3IgYnRtcFxuIgorbXNnc3RyICIgICAgIC0tYnRtcC1maWxlIDzEkcaw4budbmdfZOG6q24+ICDEkeG6t3QgxJHGsOG7nW5nIGThuqtuIHRoYXkgdGjhur8gY2hvIGJ0bXBcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjU5IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDcgc3lzLXV0aWxzL2xzY3B1LmM6MTk3OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJDw6FjIGPhu5l0IHPhurVuIGTDuW5nOlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NDIKK21zZ2lkICJmYWlsZWQgdG8gcmVxdWVzdCBzZWxpbnV4IHN0YXRlIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgecOqdSBj4bqndSB0cuG6oW5nIHRow6FpIHNlbGludXgiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ1NiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NjAKK21zZ2lkICJPbmx5IG9uZSB1c2VyIG1heSBiZSBzcGVjaWZpZWQuIFVzZSAtbCBmb3IgbXVsdGlwbGUgdXNlcnMuIgorbXNnc3RyICJDaOG7iSDEkcaw4bujYyDEkcawYSByYSBt4buZdCBuZ8aw4budaSBkw7luZy4gRMO5bmcgLWwgxJHhu4MgZMO5bmcgY2hvIG5oaeG7gXUgbmfGsOG7nWkuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo0OSBsb2dpbi11dGlscy9uZXdncnAuYzo1NQorbXNnaWQgImNvdWxkIG5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIMSR4bq3dCBjw6FjIHRodeG7mWMgdMOtbmggY+G7p2EgdGhp4bq/dCBi4buLIGN14buRaSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTcKK21zZ2lkICJnZXRsaW5lKCkgZmFpbGVkIgorbXNnc3RyICJnZXRsaW5lKCkgZ+G6t3AgbOG7l2kiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE0OAorbXNnaWQgIlBhc3N3b3JkOiAiCittc2dzdHIgIk3huq10IGto4bqpdTogIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNTQgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMDUKK21zZ2lkICJjcnlwdCBmYWlsZWQiCittc2dzdHIgImNyeXB0IGfhurdwIGzhu5dpIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxncm91cD5cbiIKK21zZ3N0ciAiICVzIDxuaMOzbT5cbiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTY5Cittc2dpZCAiTG9nIGluIHRvIGEgbmV3IGdyb3VwLlxuIgorbXNnc3RyICLEkMSDbmcgbmjhuq1wIHbDoG8gbeG7mXQgbmjDs20gbeG7m2kuXG4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIwNworbXNnaWQgIndobyBhcmUgeW91PyIKK21zZ3N0ciAiYuG6oW4gbMOgIGFpPyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjExIGxvZ2luLXV0aWxzL25ld2dycC5jOjIyMyBzeXMtdXRpbHMvbnNlbnRlci5jOjQyMworbXNnaWQgInNldGdpZCBmYWlsZWQiCittc2dzdHIgInNldGdpZCBraMO0bmcgdGjDoG5oIGPDtG5nIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTYgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjE4Cittc2dpZCAibm8gc3VjaCBncm91cCIKK21zZ3N0ciAia2jDtG5nIGPDsyBuaMOzbSBuaMawIHbhuq15IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjEgc3lzLXV0aWxzL21vdW50LmM6NDkxCittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQiCittc2dzdHIgInF1eeG7gW4gdHJ1eSBj4bqtcCBi4buLIHThu6sgY2jhu5FpIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjcgc3lzLXV0aWxzL25zZW50ZXIuYzo0MjUKK21zZ2lkICJzZXR1aWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQgYuG7iyBs4buXaSIKKworIzogbG9naW4tdXRpbHMvbm9sb2dpbi5jOjI5Cittc2dpZCAiUG9saXRlbHkgcmVmdXNlIGEgbG9naW4uXG4iCittc2dzdHIgIlThu6sgY2jhu5FpIG3hu5l0IMSRxINuZyBuaOG6rXAgbeG7mXQgY8OhY2ggdGFvIG5ow6MuXG4iCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGlzIGFjY291bnQgaXMgY3VycmVudGx5IG5vdCBhdmFpbGFibGUuXG4iCittc2dzdHIgIlTDoGkga2hv4bqjbiBuw6B5IGhp4buHbiB04bqhaSBraMO0bmcgc+G6tW4gc8OgbmcuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBzZXNzaW9uOiAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gcGhpw6puOiAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzA0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBjaGlsZCBwcm9jZXNzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8gdGnhur9uIHRyw6xuaCBjb24iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAia2jDtG5nIGNodXnhu4NuIMSR4buVaSDEkcaw4bujYyBzYW5nIHRoxrAgbeG7pWMgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMyMQorbXNnaWQgImNhbm5vdCBibG9jayBzaWduYWxzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgbmfEg24gY+G6o24gY8OhYyB0w61uIGhp4buHdSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzM1IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM0MworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzQ5IG1pc2MtdXRpbHMvdXVpZGQuYzo0MDcgdGVybS11dGlscy9zY3JpcHQuYzo3NzEKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJraMO0bmcgxJHhurd0IGLhu5kgdGnhur9wIGjhu6NwIHTDrW4gaGnhu4d1IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNzQKK21zZ2lkICIgKGNvcmUgZHVtcGVkKSIKK21zZ3N0ciAiKGzDtWkgxJHGsOG7o2MgxJHhu5UpIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZCwga2lsbGluZyBzaGVsbC4uLiIKK21zZ3N0ciAiIgorIlxuIgorIlBoacOqbiBsw6BtIHZp4buHYyBi4buLIGNo4bqlbSBk4bupdCwgxJFhbmcgZ2nhur90IHNoZWxs4oCmIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC4uLmtpbGxlZC5cbiIKK21zZ3N0ciAiIOKApmLhu4sgZ2nhur90LlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0ODYKK21zZ2lkICJtYXkgbm90IGJlIHVzZWQgYnkgbm9uLXJvb3QgdXNlcnMiCittc2dzdHIgImtow7RuZyB0aOG7gyDEkcaw4bujYyBkw7luZyBi4bufaSBt4buZdCB0w6BpIGtob+G6o24ga2jDtG5nIHBo4bqjaSBzacOqdSBxdeG6o24gdHLhu4siCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjUxNAorbXNnaWQgImluY29ycmVjdCBwYXNzd29yZCIKK21zZ3N0ciAic2FpIG3huq10IGto4bqpdSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTk4Cittc2dpZCAiY2Fubm90IHNldCBncm91cHMiCittc2dzdHIgImtow7RuZyDEkeG6t3QgxJHGsOG7o2MgY8OhYyBuaMOzbSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjEzIHN5cy11dGlscy9lamVjdC5jOjY2NQorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXAgaWQiCittc2dzdHIgImtow7RuZyDEkeG6t3QgxJHGsOG7o2MgbcOjIHPhu5EgbmjDs20gKEdJRCkiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjYxNSBzeXMtdXRpbHMvZWplY3QuYzo2NjgKK21zZ2lkICJjYW5ub3Qgc2V0IHVzZXIgaWQiCittc2dzdHIgImtow7RuZyDEkeG6t3QgxJHGsOG7o2MgbcOjIHPhu5EgbmfGsOG7nWkgZMO5bmcgKFVJRCkiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAtdSA8dXNlcj4gW1stLV0gPGNvbW1hbmQ+XVxuIgorbXNnc3RyICIgJXMgW2PDoWMgdMO5eSBjaOG7jW4gXSAtdSA8dMOgaS1raG/huqNuPiA8bOG7h25oPlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2ODkgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgW2PDoWMgdMO5eSBjaOG7jW5dIFstXSBbPHTDoGkta2hv4bqjbj4gWzzEkeG7kWkgc+G7kT7igKZdXVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2OTAKK21zZ2lkICIiCisiXG4iCisiUnVuIDxjb21tYW5kPiB3aXRoIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgb2YgPHVzZXI+LiAgSWYgLXUgaXNcbiIKKyJub3QgZ2l2ZW4sIGZhbGwgYmFjayB0byBzdSgxKS1jb21wYXRpYmxlIHNlbWFudGljcyBhbmQgZXhlY3V0ZSBzdGFuZGFyZCBzaGVsbC5cbiIKKyJUaGUgb3B0aW9ucyAtYywgLWYsIC1sLCBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC11LlxuIgorbXNnc3RyICIiCisiXG4iCisiQ2jhuqF5IDxM4buGTkg+IHbhu5tpIHZhaSB0csOyIGzDoCBpZCBj4bunYSB0w6BpIGtob+G6o24gaGF5IG5ow7NtLiBO4bq/dSBraMO0bmcgxJHGsGEgcmEgLXVcbiIKKyJ0aMOsIGPDsyB0w6FjIGThu6VuZyBnaeG7kW5nIHbhu5tpIHN1KDEpIHbDoCBo4buHIHbhu48gdGnDqnUgY2h14bqpbiDEkcaw4bujYyB0aOG7sWMgdGhpLlxuIgorIkPDoWMgdMO5eSBjaOG7jW4gLWMsIC1mLCAtbCB2w6AgLXMgbMOgIHh1bmcgxJHhu5l0IHbhu5tpIC11LlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2OTcKK21zZ2lkICIgLXUsIC0tdXNlciA8dXNlcj4gICAgICAgICAgICAgdXNlcm5hbWVcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXIgPHTDoGkta2hv4bqjbj4gICAgICAgIHTDoGkga2hv4bqjblxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDIKK21zZ2lkICIiCisiXG4iCisiQ2hhbmdlIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgdG8gdGhhdCBvZiA8dXNlcj4uXG4iCisiQSBtZXJlIC0gaW1wbGllcyAtbC4gIElmIDx1c2VyPiBpcyBub3QgZ2l2ZW4sIHJvb3QgaXMgYXNzdW1lZC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlRoYXkgxJHhu5VpIElEIG5nxrDhu51pIGTDuW5nIHbDoCBuaMOzbSBjaG8gbmjhu69uZyBjw6FpIMSRw7MgY+G7p2EgPE5Hxq/hu5xJLUTDmU5HPi5cbiIKKyItIGhp4buDdSBsw6AgLTEuIE7hur91IGtow7RuZyBjaOG7iSByYSA8TkfGr+G7nEktRMOZTkc+IHRow6wgY29pIGzDoCBzacOqdSBuZ8aw4budaSBkw7luZy5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzA5Cittc2dpZCAiIC1tLCAtcCwgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCAgZG8gbm90IHJlc2V0IGVudmlyb25tZW50IHZhcmlhYmxlc1xuIgorbXNnc3RyICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBraMO0bmcgxJHhurd0IGzhuqFpIGPDoWMgYmnhur9uIG3DtGkgdHLGsOG7nW5nXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMAorbXNnaWQgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICAgICAgICAgIHNwZWNpZnkgdGhlIHByaW1hcnkgZ3JvdXBcbiIKK21zZ3N0ciAiIC1nLCAtLWdyb3VwIDxuaMOzbT4gICAgICAgICAgICAgIGNo4buJIMSR4buLbmggbmjDs20gY2jDrW5oXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMQorbXNnaWQgIiIKKyIgLUcsIC0tc3VwcC1ncm91cCA8Z3JvdXA+ICAgICAgICBzcGVjaWZ5IGEgc3VwcGxlbWVudGFsIGdyb3VwXG4iCisiXG4iCittc2dzdHIgIiIKKyIgLUcsIC0tc3VwcC1ncm91cCA8bmjDs20+ICAgICAgICAgY2jhu4kgxJHhu4tuaCBuaMOzbSBwaOG7pSB0aMOqbSB2w6BvXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMworbXNnaWQgIiAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgICAgIG1ha2UgdGhlIHNoZWxsIGEgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgICAgbMOgbSBo4buHIHbhu48gxJHEg25nIG5o4bqtcCBo4buHIHbhu49cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE0Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCittc2dzdHIgIiAtYyAgLS1jb21tYW5kIDxs4buHbmg+ICAgICAgICAgICAgY2h1eeG7g24gbeG7mXQgY8OidSBs4buHbmggxJHGoW4gY2hvIGjhu4cgduG7jyB24bubaSAtY1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTUKK21zZ2lkICIiCisiIC0tc2Vzc2lvbi1jb21tYW5kIDxjb21tYW5kPiAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZG8gbm90IGNyZWF0ZSBhIG5ldyBzZXNzaW9uXG4iCittc2dzdHIgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPGzhu4duaD4gICAgICAgIGNodXnhu4NuIG3hu5l0IGPDonUgbOG7h25oIMSRxqFuIGNobyBo4buHIHbhu48gduG7m2kgLWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2w6Aga2jDtG5nIHThuqFvIG3hu5l0IHBoacOqbiBt4bubaVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTcKK21zZ2lkICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICBwYXNzIC1mIHRvIHRoZSBzaGVsbCAoZm9yIGNzaCBvciB0Y3NoKVxuIgorbXNnc3RyICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICBjaHV54buDbiAtZiB04bubaSBo4buHIHbhu48gKGNobyBjc2ggaGF5IHRjc2gpXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxOAorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHJ1biA8c2hlbGw+IGlmIC9ldGMvc2hlbGxzIGFsbG93cyBpdFxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPGjhu4cgduG7jz4gICAgICAgICAgICAgY2jhuqF5IGjhu4cgduG7jyBu4bq/dSAvZXRjL3NoZWxscyBjaG8gcGjDqXAgbsOzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc2MgorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXAgaXMgbm90IHBvc3NpYmxlIgorbXNnaWRfcGx1cmFsICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXBzIGlzIG5vdCBwb3NzaWJsZSIKK21zZ3N0clswXSAia2jDtG5nIHRo4buDIGNo4buJIMSR4buLbmggbmhp4buBdSBoxqFuICVkIG5ow7NtIHBo4bulIHRow6ptIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXAgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIm5ow7NtICVzIGtow7RuZyB04buTbiB04bqhaSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODg2Cittc2dpZCAiaWdub3JpbmcgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWxvZ2luIgorbXNnc3RyICJi4buPIHF1YSAtLXByZXNlcnZlLWVudmlyb25tZW50LCBuw7MgbG/huqFpIHRy4burIHF1YSBs4bqhaSB24bubaSAtLWxvZ2luIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4OTcKK21zZ2lkICJvcHRpb25zIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IGFuZCAtLXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiY8OhYyB0w7l5IGNo4buNbiAtLXtzaGVsbCxmYXN0LGNvbW1hbmQsc2Vzc2lvbi1jb21tYW5kLGxvZ2lufSB2w6AgLS11c2VyIGxv4bqhaSB0cuG7qyBs4bqrbiBuaGF1IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5MDEKK21zZ2lkICJubyBjb21tYW5kIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgImNoxrBhIGNo4buJIHJhIGzhu4duaCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTE1Cittc2dpZCAib25seSByb290IGNhbiBzcGVjaWZ5IGFsdGVybmF0aXZlIGdyb3VwcyIKK21zZ3N0ciAiY2jhu4kgcm9vdCBjw7MgdGjhu4MgY2jhu4kgxJHhu4tuaCBjw6FjIG5ow7NtIHRoYXkgdGjhur8iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkyMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJuZ8aw4budaSBkw7luZyAlcyBraMO0bmcgdOG7k24gdOG6oWkiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyByZXN0cmljdGVkIHNoZWxsICVzIgorbXNnc3RyICJz4butIGThu6VuZyBzaGVsbCAoaOG7hyB24buPKSBi4buLIGdp4bubaSBo4bqhbiAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJj4bqjbmggYsOhbzoga2jDtG5nIHRo4buDIGNodXnhu4NuIMSR4buVaSB0aMawIG3hu6VjIHNhbmcgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMzAKK21zZ2lkICJ0Y2dldGF0dHIgZmFpbGVkIgorbXNnc3RyICJ0Y2dldGF0dHIgZ+G6t3AgbOG7l2kiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoyMDcKK21zZ2lkICJ0Y3NldGF0dHIgZmFpbGVkIgorbXNnc3RyICJ0Y3NldGF0dHIgZ+G6t3AgbOG7l2kiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290XG4iCittc2dzdHIgIiVzOiBraMO0bmcgY8OzIG3hu6VjIG7DoG8gY2hvIHJvb3RcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3QiCittc2dzdHIgIiVzOiBraMO0bmcgY8OzIG3hu6VjIG7DoG8gY2hvIHJvb3QiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJvb3QgcGFzc3dvcmQgZ2FyYmxlZCIKK21zZ3N0ciAiJXM6IG3huq10IGto4bqpdSBjaG8gc2nDqnUgbmfGsOG7nWkgZMO5bmcga2jDtG5nIMSRw7puZyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQ2Fubm90IG9wZW4gYWNjZXNzIHRvIGNvbnNvbGUsIHRoZSByb290IGFjY291bnQgaXMgbG9ja2VkLlxuIgorIlNlZSBzdWxvZ2luKDgpIG1hbiBwYWdlIGZvciBtb3JlIGRldGFpbHMuXG4iCisiXG4iCisiUHJlc3MgRW50ZXIgdG8gY29udGludWUuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzOAorIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIGxvZ2luOiAiCittc2dzdHIgIsSQxrBhIHJhIG3huq10IGto4bqpdSBzacOqdSBxdeG6o24gdHLhu4sgxJHhu4MgxJHEg25nIG5o4bqtcDogIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBsb2dpbjogIgorbXNnc3RyICJC4bqlbSB2w6BvIG7DunQgRW50ZXIgxJHhu4MgxJHEg25nIG5o4bqtcDogIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAixJDGsGEgcmEgbeG6rXQga2jhuql1IHNpw6p1IHF14bqjbiB0cuG7iyDEkeG7gyBi4bqjbyB0csOsXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICJC4bqlbSB2w6BvIG7DunQgRW50ZXIgxJHhu4MgYuG6o28gdHLDrCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIob3IgcHJlc3MgQ29udHJvbC1EIHRvIGNvbnRpbnVlKTogIgorbXNnc3RyICIoaG/hurdjIGfDtSBDb250cm9sLUQgbuG6v3UgbXXhu5FuIHRp4bq/cCB04bulYyk6ICIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc0MgorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgdG8gc3lzdGVtIHJvb3QgZmFpbGVkIgorbXNnc3RyICJ0aGF5IMSR4buVaSB0aMawIG3hu6VjIHNhbmcgZ+G7kWMgY+G7p2EgaOG7hyB0aOG7kW5nIGfhurdwIGzhu5dpIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzkxCittc2dpZCAic2V0ZXhlY2NvbiBmYWlsZWQiCittc2dzdHIgInNldGV4ZWNjb24gZ+G6t3AgbOG7l2kiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbdHR5IGRldmljZV1cbiIKK21zZ3N0ciAiJXMgW3TDuXkgY2jhu41uXSBbdGhp4bq/dCBi4buLIHR0eV1cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxNAorbXNnaWQgIlNpbmdsZS11c2VyIGxvZ2luLlxuIgorbXNnc3RyICLEkMSDbmcgbmjhuq1wIMSRxqFuIG5nxrDhu51pIGTDuW5nLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODE3Cittc2dpZCAiIgorIiAtcCwgLS1sb2dpbi1zaGVsbCAgICAgICAgc3RhcnQgYSBsb2dpbiBzaGVsbFxuIgorIiAtdCwgLS10aW1lb3V0IDxzZWNvbmRzPiAgbWF4IHRpbWUgdG8gd2FpdCBmb3IgYSBwYXNzd29yZCAoZGVmYXVsdDogbm8gbGltaXQpXG4iCisiIC1lLCAtLWZvcmNlICAgICAgICAgICAgICBleGFtaW5lIHBhc3N3b3JkIGZpbGVzIGRpcmVjdGx5IGlmIGdldHB3bmFtKDMpIGZhaWxzXG4iCittc2dzdHIgIiIKKyIgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgIGto4bufaSDEkeG7mW5nIHNoZWxsICho4buHIHbhu48pIMSRxINuZyBuaOG6rXBcbiIKKyIgLXQsIC0tdGltZW91dCA8Z2nDonk+ICAgICB0aOG7nWkgZ2lhbiBjaOG7nSBt4bqtdCBraOG6qXUgdOG7kWkgxJFhICht4bq3YyDEkeG7i25oOiBraMO0bmcgZ2nhu5tpIGjhuqFuKVxuIgorIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAgeGVtIHjDqXQgxJHhur9uIGPDoWMgdOG6rXAgdGluIG3huq10IGto4bqpdSBt4buZdCBjw6FjaCB0cuG7sWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHRp4bq/cCBu4bq/dSBnZXRwd25hbSgzKSBn4bq3cCBs4buXaVxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODcxIG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NjMgc3lzLXV0aWxzL3dkY3RsLmM6NTIzCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc1MCB0ZXJtLXV0aWxzL3dhbGwuYzoxMzUKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQiCittc2dzdHIgIsSR4buRaSBz4buRIHF1w6EgZ2nhu50ga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4OTMKK21zZ2lkICJvbmx5IHN1cGVydXNlciBjYW4gcnVuIHRoaXMgcHJvZ3JhbSIKK21zZ3N0ciAiY2jhu4kgY8OzIHNpw6p1IG5nxrDhu51pIGTDuW5nIChyb290KSBt4bubaSBjaOG6oXkgY2jGsMahbmcgdHLDrG5oIG7DoHkiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5MzYKK21zZ2lkICJjYW5ub3Qgb3BlbiBjb25zb2xlIgorbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyBi4bqjbmcgxJFp4buBdSBraGnhu4NuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTQzCittc2dpZCAiY2Fubm90IG9wZW4gcGFzc3dvcmQgZGF0YWJhc2UiCittc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIHThuq1wIHRpbiBjxqEgc+G7nyBk4buvIGxp4buHdSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNhbiBub3QgZXhlY3V0ZSBzdSBzaGVsbFxuIgorIlxuIgorbXNnc3RyICIiCisiS2jDtG5nIHRo4buDIHRo4buxYyB0aGkgaOG7hyB24buPIHN1IChzacOqdSB0w6BpIGtob+G6o24pXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDI3Cittc2dpZCAiIgorIlRpbWVkIG91dFxuIgorIlxuIgorbXNnc3RyICIiCisiUXXDoSBo4bqhblxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTA1OQorIywgZnV6enkKK21zZ2lkICIiCisiQ2FuIG5vdCB3YWl0IG9uIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIiIKKyJLaMO0bmcgdGjhu4MgdGjhu7FjIHRoaSBo4buHIHbhu48gc3UgKHNpw6p1IHTDoGkga2hv4bqjbilcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxNzYgdGV4dC11dGlscy90YWlsZi5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoLiIKK21zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyB0aMOqbSBz4buxIHRoZW8gZMO1aSBpbm90aWZ5LiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxODUgdGV4dC11dGlscy90YWlsZi5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgaW5vdGlmeSBldmVudHMiCittc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgxJHhu41jIHPhu7Ega2nhu4duIGlub3RpZnkiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjQ2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjUxCittc2dpZCAiRXh0cmFuZW91cyBuZXdsaW5lIGluIGZpbGUuIEV4aXRpbmcuIgorbXNnc3RyICJLaeG7g3UgeHXhu5FuZyBkw7JuZyBt4bubaSB4YSBs4bqhIHRyb25nIHThuq1wIHRpbi4gxJBhbmcgdGhvw6F0LiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZW5hbWVdXG4iCittc2dzdHIgIiVzIFtjw6FjLXTDuXktY2jhu41uXSBbdMOqbi104bqtcC10aW5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzEyCittc2dpZCAiRHVtcCBVVE1QIGFuZCBXVE1QIGZpbGVzIGluIHJhdyBmb3JtYXQuXG4iCittc2dzdHIgIsSQ4buVIGPDoWMgdOG6rXAgdGluIFVUTVAgdsOgIFdUTVAgdGhlbyDEkeG7i25oIGThuqFuZyB0aMO0LlxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxNQorbXNnaWQgIiAtZiwgLS1mb2xsb3cgICAgICAgICBvdXRwdXQgYXBwZW5kZWQgZGF0YSBhcyB0aGUgZmlsZSBncm93c1xuIgorbXNnc3RyICIgLWYsIC0tZm9sbG93ICAgICAgICAgbuG7kWkgdGjDqm0gZOG7ryBsaeG7h3Uga+G6v3QgeHXhuqV0IGzDoG0gY2hvIHThuq1wIHRpbiBs4bubbiBsw6puXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE2Cittc2dpZCAiIC1yLCAtLXJldmVyc2UgICAgICAgIHdyaXRlIGJhY2sgZHVtcGVkIGRhdGEgaW50byB1dG1wIGZpbGVcbiIKK21zZ3N0ciAiIC1yLCAtLXJldmVyc2UgICAgICAgIGdoaSBk4buvIGxp4buHdSDigJzEkeG7lSBk4buTbuKAnSB2w6BvIHThuq1wIHRpbiB1dG1wXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8ZmlsZT4gIHdyaXRlIHRvIGZpbGUgaW5zdGVhZCBvZiBzdGFuZGFyZCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8VOG6rFAtVElOPiAgR2hpIHbDoG8gVOG6rFAtVElOLCB0aGF5IHbDrCB2w6BvIMSR4bqndSByYSB0acOqdSBjaHXhuqluXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzg0Cittc2dpZCAiZm9sbG93aW5nIHN0YW5kYXJkIGlucHV0IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJjw6FjIMSR4bqndSB2w6BvIGNodeG6qW4gc2F1IMSRw6J5IGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIHVuZHVtcCBvZiAlc1xuIgorbXNnc3RyICJVdG1wIHVuZHVtcCBj4bunYSAlc1xuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIGR1bXAgb2YgJXNcbiIKK21zZ3N0ciAixJHhu5UgVXRtcCBj4bunYSAlc1xuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTQxCittc2dpZCAiY2FuJ3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gdOG6rXAgdGluIHThuqFtIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjcmVhdGUgYSBsaW5rIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHThuqFvIMSRxrDhu6NjIGxpw6puIGvhur90IG3hu4FtIHThu5tpICVzIGfhurdwIGzhu5dpIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IGdldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiS2jDtG5nIGzhuqV5IMSRxrDhu6NjIHbEg24gY+G6o25oIGNobyAlcyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE3MAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBzZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIktow7RuZyDEkeG6t3QgxJHGsOG7o2MgdsSDbiBj4bqjbmggY2hvICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVuY2hhbmdlZCIKK21zZ3N0ciAiJXMga2jDtG5nIHRoYXkgxJHhu5VpIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjU0Cittc2dpZCAiY2Fubm90IGdldCBsb2NrIgorbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkga2jDs2EiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyODEKK21zZ2lkICJubyBjaGFuZ2VzIG1hZGUiCittc2dzdHIgImtow7RuZyBjw7MgdGhheSDEkeG7lWkgbsOgbyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5MAorbXNnaWQgImNhbm5vdCBjaG1vZCBmaWxlIgorbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu5VpIGNo4bq/IMSR4buZIHThuq1wIHRpbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjMwNAorbXNnaWQgIkVkaXQgdGhlIHBhc3N3b3JkIG9yIGdyb3VwIGZpbGUuXG4iCittc2dzdHIgIlPhu61hIG3huq10IGto4bqpdSBoYXkgdOG6rXAtdGluIG5ow7NtIChncm91cCkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTAKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBncm91cHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIkLhuqFuIMSRYW5nIGTDuW5nIHNoYWRvdyBncm91cCAoYsOzbmcgbmjDs20pIHRyw6puIGjhu4cgdGjhu5FuZyBuw6B5LlxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzUxCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgcGFzc3dvcmRzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICJC4bqhbiDEkWFuZyBkw7luZyBzaGFkb3cgcGFzc3dvcmRzICht4bqtdCBraOG6qXUgYsOzbmcpIHRyw6puIGjhu4cgdGjhu5FuZyBuw6B5LlxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhpcyBwcm9ncmFtIHVzZXMgZm9yIHkgYW5kIG4gcnBtYXRjaCgzKSwKKyMuICogd2hpY2ggbWVhbnMgdGhleSBjYW4gYmUgdHJhbnNsYXRlZC4KKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV291bGQgeW91IGxpa2UgdG8gZWRpdCAlcyBub3cgW3kvbl0/ICIKK21zZ3N0ciAiU2/huqFuIHRo4bqjbyAlcyBiw6J5IGdp4budIFt5L25dPyAiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzcyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbW9udGggYXJndW1lbnQiCittc2dzdHIgInRoYW0gc+G7kSBjaGnhu4F1IGTDoGkga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzgwCittc2dpZCAiaW52YWxpZCB3ZWVrIGFyZ3VtZW50IgorbXNnc3RyICLEkeG7kWkgc+G7kSB0deG6p24ga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzgyCisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogdXNlIDEtNTQiCittc2dzdHIgIsSR4buRaSBz4buRIHR14bqnbiBraMO0bmcgaOG7o3AgbOG7hzogZMO5bmcgMS01MyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB0aW1lc3RhbXAgb3IgdW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIGLGsOG7m2MiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDMxCittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWUiCittc2dzdHIgImdpw6EgdHLhu4sgbmfDoHkgYuG7iyBzYWkiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDMzIG1pc2MtdXRpbHMvY2FsLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlOiB1c2UgMS0lZCIKK21zZ3N0ciAiZ2nDoSB0cuG7iyBuZ8OgeSBi4buLIHNhaTogaMOjeSBkw7luZyAxLSVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQzNyBtaXNjLXV0aWxzL2NhbC5jOjQ0NQorbXNnaWQgImlsbGVnYWwgbW9udGggdmFsdWU6IHVzZSAxLTEyIgorbXNnc3RyICJnacOhIHRy4buLIHRow6FuZyBi4buLIHNhaTogaMOjeSBkw7luZyAxLTEyIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSB0w6puIMawdSB0acOqbjogJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDQ4IG1pc2MtdXRpbHMvY2FsLmM6NDUyCittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlIgorbXNnc3RyICJnacOhIHRy4buLIG7Eg20ga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDUwCittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlOiB1c2UgcG9zaXRpdmUgaW50ZWdlciIKK21zZ3N0ciAiZ2nDoSB0cuG7iyBuxINtIGtow7RuZyBo4bujcCBs4buHOiBow6N5IGTDuW5nIHPhu5Egbmd1ecOqbiBkxrDGoW5nIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4MiBtaXNjLXV0aWxzL2NhbC5jOjQ5NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHllYXIgJWQgZG9lc24ndCBoYXZlIHdlZWsgJWQiCittc2dzdHIgIsSR4buRaSBz4buRIHR14bqnbiBraMO0bmcgaOG7o3AgbOG7hzogbsSDbSAlZCBraMO0bmcgY8OzIHR14bqnbiAlZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo2NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMiCittc2dzdHIgIiVzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlMDRkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAlMDRkIgorbXNnc3RyICIlcyAlZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbW1tkYXldIG1vbnRoXSB5ZWFyXVxuIgorbXNnc3RyICIlcyBbdHXhu7NfY2jhu41uXSBbW1tuZ8OgeV0gdGjDoW5nXSBuxINtXVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vbnRobmFtZT5cbiIKK21zZ3N0ciAiJXMgW0PDgUNfVMOZWV9DSOG7jE5dIDxUw4pOX1ThuqxQX1RJTj5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTcKK21zZ2lkICJEaXNwbGF5IGEgY2FsZW5kYXIsIG9yIHNvbWUgcGFydCBvZiBpdC5cbiIKK21zZ3N0ciAiSGnhu4NuIHRo4buLIGzhu4tjaCBoYXkgbeG7mXQgc+G7kSBi4buZIHBo4bqtbiBj4bunYSBuw7MuXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk4Cittc2dpZCAiV2l0aG91dCBhbnkgYXJndW1lbnRzLCBkaXNwbGF5IHRoZSBjdXJyZW50IG1vbnRoLlxuIgorbXNnc3RyICJO4bq/dSBraMO0bmcgY8OzIMSR4buRaSBz4buRIHRow6wgaGnhu4NuIHRo4buLIHRow6FuZyBoaeG7h24gdOG6oWkuXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMQorbXNnaWQgIiAtMSwgLS1vbmUgICAgICAgICAgICAgc2hvdyBvbmx5IGEgc2luZ2xlIG1vbnRoIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLTEsIC0tb25lICAgICAgICAgICAgIGNo4buJIGhp4buDbiB0aOG7iyBt4buZdCB0aMOhbmcgKG3hurdjIMSR4buLbmgpXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMgorbXNnaWQgIiAtMywgLS10aHJlZSAgICAgICAgICAgc2hvdyB0aHJlZSBtb250aHMgc3Bhbm5pbmcgdGhlIGRhdGVcbiIKK21zZ3N0ciAiIC0zLCAtLXRocmVlICAgICAgICAgICBoaeG7g24gdGjhu4sgdGjDoW5nIGhp4buHbiB04bqhaSB2w6AgaGFpIHRow6FuZyB0csaw4bubYyB2w6Agc2F1XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbW9udGhzIDxudW0+ICAgIHNob3cgbnVtIG1vbnRocyBzdGFydGluZyB3aXRoIGRhdGUncyBtb250aFxuIgorbXNnc3RyICIgLTMsIC0tdGhyZWUgICAgICAgICAgIGhp4buDbiB0aOG7iyB0aMOhbmcgaGnhu4duIHThuqFpIHbDoCBoYWkgdGjDoW5nIHRyxrDhu5tjIHbDoCBzYXVcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA0CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zcGFuICAgICAgICAgICAgc3BhbiB0aGUgZGF0ZSB3aGVuIGRpc3BsYXlpbmcgbXVsdGlwbGUgbW9udGhzXG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIOG7nyBjaOG6vyDEkeG7mSB0aMO0XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNQorbXNnaWQgIiAtcywgLS1zdW5kYXkgICAgICAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtcywgLS1zdW5kYXkgICAgICAgICAgQ2jhu6cgbmjhuq10IGzDoCBuZ8OgeSDEkeG6p3UgdHXhuqduXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNgorbXNnaWQgIiAtbSwgLS1tb25kYXkgICAgICAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtbSwgLS1tb25kYXkgICAgICAgICAgVGjhu6kgaGFpIGzDoCBuZ8OgeSDEkeG6p3UgdHXhuqduXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNworbXNnaWQgIiAtaiwgLS1qdWxpYW4gICAgICAgICAgb3V0cHV0IEp1bGlhbiBkYXRlc1xuIgorbXNnc3RyICIgLWosIC0tanVsaWFuICAgICAgICAgIGvhur90IHh14bqldCBk4bqhbmcgbmfDoHkgdGjDoW5nIGtp4buDdSBKdWxpYW5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA4Cittc2dpZCAiIC15LCAtLXllYXIgICAgICAgICAgICBzaG93IHRoZSB3aG9sZSB5ZWFyXG4iCittc2dzdHIgIiAteSwgLS15ZWFyICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRvw6BuIGLhu5kgbsSDbSBuYXlcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA5CisjLCBmdXp6eQorbXNnaWQgIiAtWSwgLS10d2VsdmUgICAgICAgICAgc2hvdyB0aGUgbmV4dCB0d2VsdmUgbW9udGhzXG4iCittc2dzdHIgIiAteSwgLS15ZWFyICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRvw6BuIGLhu5kgbsSDbSBuYXlcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDEwCittc2dpZCAiIC13LCAtLXdlZWtbPTxudW0+XSAgICBzaG93IFVTIG9yIElTTy04NjAxIHdlZWsgbnVtYmVyc1xuIgorbXNnc3RyICIgLXcsIC0td2Vla1s9PHPhu5E+XSAgICAgaGnhu4NuIHRo4buLIHPhu5EgdHXhuqduIFVTIGhv4bq3YyBJU08tODYwMVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMTEKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKyIgICAgIC0tY29sb3JbPTxraGk+XSAgIHTDtCBtw6B1IGNo4buvIGtoaTpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIChhdXRvICAgdOG7sSDEkeG7mW5nLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyBsdcO0biBsdcO0bixcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXZlciAga2jDtG5nIGJhbyBnaeG7nSlcbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbHVlPlxuIgorbXNnc3RyICIgJXMgW2PDoWMtdMO5eS1jaOG7jW5dIHtOSMODTixVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PGdpw6EtdHLhu4s+XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MzIKK21zZ2lkICJGaW5kIGEgZmlsZXN5c3RlbSBieSBsYWJlbCBvciBVVUlELlxuIgorbXNnc3RyICJUw6xtIG3hu5l0IGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gdGhlbyBuaMOjbiBoYXkgVVVJRC5cbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gZ2nhuqNpIOKAnCVz4oCdIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo5OQorbXNnaWQgInNvdXJjZSBkZXZpY2UiCittc2dzdHIgInRoaeG6v3QgYuG7iyBuZ3Xhu5NuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDAKK21zZ2lkICJtb3VudHBvaW50IgorbXNnc3RyICLEkWnhu4NtIGfhuq9uIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDEgbWlzYy11dGlscy9sc2Jsay5jOjE2MQorbXNnaWQgImZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAia2nhu4N1IGjhu4cgdGjhu5FuZyB04bqtcCB0aW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMgorbXNnaWQgImFsbCBtb3VudCBvcHRpb25zIgorbXNnc3RyICJ04bqldCBj4bqjIHTDuXkgY2jhu41uIGNobyBn4bqvbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAzCittc2dpZCAiVkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIlZGUyBjaOG7iSDEkeG7i25oIHTDuXkgY2jhu41uIGfhuq9uIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDQKK21zZ2lkICJGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICJGUyBjaOG7iSDEkeG7i25oIHTDuXkgY2jhu41uIGfhuq9uIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDUKK21zZ2lkICJmaWxlc3lzdGVtIGxhYmVsIgorbXNnc3RyICJuaMOjbiBo4buHIHRo4buRbmcgdOG6rXAgdGluIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDYgbWlzYy11dGlscy9sc2Jsay5jOjE2NAorbXNnaWQgImZpbGVzeXN0ZW0gVVVJRCIKK21zZ3N0ciAiVVVJRCBo4buHIHRo4buRbmcgdOG6rXAgdGluIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDcKK21zZ2lkICJwYXJ0aXRpb24gbGFiZWwiCittc2dzdHIgIm5ow6NuIGPhu6dhIHBow6JuIHbDuW5nIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDkgbWlzYy11dGlscy9sc2Jsay5jOjE2MAorbXNnaWQgIm1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgInPhu5EgbOG7m246bmjhu48gdGhp4bq/dCBi4buLIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTAKK21zZ2lkICJhY3Rpb24gZGV0ZWN0ZWQgYnkgLS1wb2xsIgorbXNnc3RyICJow6BuaCDEkeG7mW5nIMSRxrDhu6NjIG5o4bqtbiByYSB24bufaSAtLXBvbGwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMQorbXNnaWQgIm9sZCBtb3VudCBvcHRpb25zIHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiY8OhYyB0w7l5IGNo4buNbiBjxakgxJHGsOG7o2MgZ2hpIGzhuqFpIGLhurFuZyB0w7l5IGNo4buNbiAtLXBvbGwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMgorbXNnaWQgIm9sZCBtb3VudHBvaW50IHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAixJFp4buDbSBn4bqvbiBjxakgxJHGsOG7o2MgZ2hpIGzhuqFpIGLhu59pIHTDuXkgY2jhu41uIC0tcG9sbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEzCittc2dpZCAiZmlsZXN5c3RlbSBzaXplIgorbXNnc3RyICJrw61jaCB0aMaw4bubYyBo4buHIHRo4buRbmcgdOG6rXAgdGluIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTQKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgYXZhaWxhYmxlIgorbXNnc3RyICJrw61jaCB0aMaw4bubYyBo4buHIHRo4buRbmcgdOG6rXAgdGluIGPDsyB0aOG7gyBkw7luZyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE1Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIHVzZWQiCittc2dzdHIgImvDrWNoIHRoxrDhu5tjIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gxJHDoyBkw7luZyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE2Cittc2dpZCAiZmlsZXN5c3RlbSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAicGjhuqduIHRyxINtIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gxJHDoyBkw7luZyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE3Cittc2dpZCAiZmlsZXN5c3RlbSByb290IgorbXNnc3RyICJH4buQQyBj4bunYSBo4buHIHRo4buRbmcgdOG6rXAgdGluIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTgKK21zZ2lkICJ0YXNrIElEIgorbXNnc3RyICJJRCB0w6FjIHbhu6UiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOQorbXNnaWQgIm1vdW50IElEIgorbXNnc3RyICJJRCBn4bqvbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwCittc2dpZCAib3B0aW9uYWwgbW91bnQgZmllbGRzIgorbXNnc3RyICJjw6FjIHRyxrDhu51uZyB0w7l5IGNo4buNbiBn4bqvbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxCittc2dpZCAiVkZTIHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICJD4budIGxhbiB0cnV54buBbiBWRlMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMgorbXNnaWQgImR1bXAoOCkgcGVyaW9kIGluIGRheXMgW2ZzdGFiIG9ubHldIgorbXNnc3RyICJjaHUga+G7syBkdW1wKDgpIHTDrW5oIGLhurFuZyBuZ8OgeSBbY2jhu4kgZnN0YWJdIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMKK21zZ2lkICJwYXNzIG51bWJlciBvbiBwYXJhbGxlbCBmc2NrKDgpIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiY2h1eeG7g24gc+G7kSB0csOqbiBmc2NrKDgpIHNvbmcgc29uZyBbY2jhu4kgZnN0YWJdIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhY3Rpb246ICVzIgorbXNnc3RyICJraMO0bmcgaGnhu4N1IGjDoG5oIMSR4buZbmc6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDMKK21zZ2lkICJtb3VudCIKK21zZ3N0ciAiZ+G6r24iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0NgorbXNnaWQgInVtb3VudCIKK21zZ3N0ciAiYuG7jyBn4bqvbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ5Cittc2dpZCAicmVtb3VudCIKK21zZ3N0ciAiZ+G6r24gbOG6oWkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1MgorbXNnaWQgIm1vdmUiCittc2dzdHIgImRpIGNodXnhu4NuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA3NSBzeXMtdXRpbHMvZWplY3QuYzo3MTkKKyM6IHN5cy11dGlscy9tb3VudC5jOjY2OQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmxlIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkga2jhu59pIHThuqFvIGLhuqNuZyBsaWJtb3VudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODM5IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgJXMiCittc2dzdHIgImtow7RuZyDEkeG7jWMgxJHGsOG7o2MgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMTUgbWlzYy11dGlscy9maW5kbW50LmM6MTA4MQorIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjk0IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0ODIKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxODcgc3lzLXV0aWxzL21vdW50LmM6MTM0IHN5cy11dGlscy9tb3VudC5jOjE4MgorIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo1NiBzeXMtdXRpbHMvc3dhcG9mZi5jOjE1NSBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ0CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjc0IHN5cy11dGlscy9zd2Fwb24uYzo3MzMgc3lzLXV0aWxzL3Vtb3VudC5jOjI3NAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGl0ZXJhdG9yIgorbXNnc3RyICJs4buXaSBraOG7n2kgdOG6oW8gYuG7mSBs4bq3cCBs4bqhaSBsaWJtb3VudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA4NworbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmRpZmYiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBraOG7n2kgdOG6oW8gYuG6o25nIHRhYmRpZmYgbGlibW91bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMTUKK21zZ2lkICJwb2xsKCkgZmFpbGVkIgorbXNnc3RyICJwb2xsKCkgZ+G6t3AgbOG7l2kiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gfCA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZSA8ZGV2aWNlPl0gWy0tdGFyZ2V0IDxwYXRoPiB8IC0tbW91bnRwb2ludCA8ZGlyPl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFt0deG7s19jaOG7jW5dXG4iCisiICUxJHMgW3R14buzX2No4buNbl0gPHRoaeG6v3RfYuG7iz4gfCA8xJFp4buDbV9s4bqvcD5cbiIKKyIgJTEkcyBbdHXhu7NfY2jhu41uXSA8dGhp4bq/dF9i4buLPiA8xJFp4buDbV9s4bqvcD5cbiIKKyIgJTEkcyBbdHXhu7NfY2jhu41uXSBbLS1zb3VyY2UgPHRoaeG6v3RfYuG7iz5dIFstLXRhcmdldCA8xJFp4buDbV9s4bqvcD5dXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTYKK21zZ2lkICJGaW5kIGEgKG1vdW50ZWQpIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlTDrG0gbeG7mXQgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiAoxJHDoyBn4bqvbikuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTkKK21zZ2lkICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtcywgLS1mc3RhYiAgICAgICAgICAgIHTDrG0gdHJvbmcgYuG6o25nIGPhu5EgxJHhu4tuaCBj4bunYSBo4buHIHRo4buRbmcgdOG6rXAgdGluXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDAKK21zZ2lkICIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzZWFyY2ggaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLW0sIC0tbXRhYiAgICAgICAgICAgICB0w6xtIHRyb25nIGLhuqNuZyBj4bunYSBo4buHIHRo4buRbmcgdOG6rXAgdGluIMSRw6MgZ+G6r25cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMQorbXNnaWQgIiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICBzZWFyY2ggaW4ga2VybmVsIHRhYmxlIG9mIG1vdW50ZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzeXN0ZW1zIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgdMOsbSBraeG6v20gYuG6o25nIG5ow6JuIGPhu6dhIGjhu4cgdGjhu5FuZyB04bqtcCB0aW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIMSRw6MgZ+G6r24gKG3hurdjIMSR4buLbmgpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDQKK21zZ2lkICIgLXAsIC0tcG9sbFs9PGxpc3Q+XSAgICBtb25pdG9yIGNoYW5nZXMgaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLXAsIC0tcG9sbFs9PGxpc3Q+XSAgICB0aGVvIGTDtWkgY8OhYyB0aGF5IMSR4buVaSB0cm9uZyBi4bqjbmcgY+G7p2EgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiDEkcOjIGfhuq9uXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDUKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8bnVtPiAgICB1cHBlciBsaW1pdCBpbiBtaWxsaXNlY29uZHMgdGhhdCAtLXBvbGwgd2lsbCBibG9ja1xuIgorbXNnc3RyICIgLXcsIC0tdGltZW91dCA8c+G7kT4gICAgIGdp4bubaSBo4bqhbiB0csOqbiB0aGVvIG1pbGxpLWdpw6J5IG3DoCAtLXBvbGwgc+G6vSBraMOzYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA4Cittc2dpZCAiIC1BLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgYnVpbHQtaW4gZmlsdGVycywgcHJpbnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtQSwgLS1hbGwgICAgICAgICAgICAgIHThuq90IHThuqV0IGPhuqMgY8OhYyBi4buZIGzhu41jIGThu7FuZyBz4bq1biwgaW4gbeG7jWkgaOG7hyB0aOG7kW5nIHThuq1wIHRpblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA5Cittc2dpZCAiIC1hLCAtLWFzY2lpICAgICAgICAgICAgdXNlIEFTQ0lJIGNoYXJzIGZvciB0cmVlIGZvcm1hdHRpbmdcbiIKK21zZ3N0ciAiIC1hLCAtLWFzY2lpICAgICAgICAgICAgZMO5bmcgY8OhYyBrw70gdOG7sSBBU0NJSSDEkeG7gyDEkeG7i25oIGThuqFuZyBjw6J5XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTAKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgaGnhu4NuIHRo4buLIGPhu6EgdGhlbyBieXRlIHRoYXkgdsOsIGThuqFuZyBkw6BuaCBjaG8gY29uIG5nxrDhu51pIMSR4buNY1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjExCittc2dpZCAiIC1DLCAtLW5vY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHdoZW4gY29tcGFyaW5nIHBhdGhzXG4iCittc2dzdHIgIiAtQywgLS1uby1jYW5vbmljYWxpemUgIGtow7RuZyBjYW5vbmljYWwgaMOzYSDEkcaw4budbmcgZOG6q24ga2hpIHNvIHPDoW5oIGPDoWMgxJHGsOG7nW5nIGThuqtuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTIKK21zZ2lkICIgLWMsIC0tY2Fub25pY2FsaXplICAgICBjYW5vbmljYWxpemUgcHJpbnRlZCBwYXRoc1xuIgorbXNnc3RyICIgLWMsIC0tY2Fub25pY2FsaXplICAgICBjYW5vbmljYWwgaMOzYSDEkcaw4budbmcgZOG6q25cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMworbXNnaWQgIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRhdGUgdGhlIG91dHB1dCBvZiBkZigxKVxuIgorbXNnc3RyICIgLUQsIC0tZGYgICAgICAgICAgICAgICB4deG6pXQgdGhlbyBraeG7g3UgZGYoMSlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNAorbXNnaWQgIiAtZCwgLS1kaXJlY3Rpb24gPHdvcmQ+IGRpcmVjdGlvbiBvZiBzZWFyY2gsICdmb3J3YXJkJyBvciAnYmFja3dhcmQnXG4iCittc2dzdHIgIiAtZCwgLS1kaXJlY3Rpb24gPHThu6s+ICAgaMaw4bubbmcgdMOsbSBraeG6v20sIOKAnGZvcndhcmTigJ0gaG/hurdjIOKAnGJhY2t3YXJk4oCdXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTUKK21zZ2lkICIiCisiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgY29udmVydCB0YWdzIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkZXZpY2UgbmFtZXNcbiIKK21zZ3N0ciAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNodXnhu4NuIMSR4buVaSBjw6FjIHRo4bq7IChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB0aMOgbmggdMOqbiB0aGnhur90IGLhu4tcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNworbXNnaWQgIiAtRiwgLS10YWItZmlsZSA8cGF0aD4gIGFsdGVybmF0aXZlIGZpbGUgZm9yIC1zLCAtbSBvciAtayBvcHRpb25zXG4iCittc2dzdHIgIiAtRiwgLS10YWItZmlsZSA8xJHGsOG7nW5nX2ThuqtuPiAgdOG6rXAgdGluIHRoYXkgdGjhur8gY2hvIHTDuXkgY2jhu41uIC1zLCAtbSBoYXkgLWtcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOAorbXNnaWQgIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIHByaW50IHRoZSBmaXJzdCBmb3VuZCBmaWxlc3lzdGVtIG9ubHlcbiIKK21zZ3N0ciAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgY2jhu4kgaGnhu4NuIHRo4buLIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gdMOsbSB0aOG6pXkgxJHhuqd1IHRpw6puXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTkKK21zZ2lkICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnQgdGhlIHNlbnNlIG9mIG1hdGNoaW5nXG4iCittc2dzdHIgIiAtcywgLS1pbnZlcnNlICAgICAgICAgIMSR4bqjbyBuZ8aw4bujYyBwaOG6p24ga2jhu5twXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjAgbWlzYy11dGlscy9sc2xvY2tzLmM6NTA3IHN5cy11dGlscy9sc25zLmM6NjE5CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgZMO5bmcgxJHhu4tuaCBk4bqhbmcgdGjDtFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIxIHN5cy11dGlscy9sc25zLmM6NjIwCittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICBkw7luZyDEkeG7i25oIGThuqFuZyBr4bq/dCB4deG6pXQgbGnhu4d0IGvDqlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIyCittc2dpZCAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNlIGFsdGVybmF0aXZlIG5hbWVzcGFjZSAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIGZpbGUpXG4iCittc2dzdHIgIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIGTDuW5nIGtow7RuZyBnaWFuIHTDqm4gdGhheSB0aOG6vyAodOG6rXAgdGluIC9wcm9jLzx0aWQ+L21vdW50aW5mbylcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMworbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGNvbHVtbiBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBraMO0bmcgaGnhu4NuIHRo4buLIHBo4bqnbiDEkeG6p3UgY+G7p2EgY+G7mXRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNAorbXNnaWQgIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIgorbXNnc3RyICIgLU8sIC0tb3B0aW9ucyA8ZC5zw6FjaD4gZ2nhu5tpIGjhuqFuIHThuq1wIGjhu6NwIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gYuG7n2kgdMO5eSBjaOG7jW4gZ+G6r25cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIHRoZSBvdXRwdXQgY29sdW1ucyB0byBiZSBzaG93blxuIgorbXNnc3RyICIgLW8sIC0tb3B0aW9ucyA8ZC5zw6FjaD4gY8OhYyBj4buZdCBz4bq9IGhp4buDbiB0aOG7i1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI2Cittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVAsIC0tcGFpcnMgICAgICAgICAgICBkw7luZyBr4bq/dCB4deG6pXQgdGhlbyDEkeG7i25oIGThuqFuZyBraMOzYT1cImdpw6EgdHLhu4tcIlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI3Cittc2dpZCAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgcHJpbnQgYWxsIHN1Ym1vdW50cyBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIGhp4buDbiB0aOG7iyBt4buNaSBn4bqvbiBjb24gY2hvIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4ga2jhu5twXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjgKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgZMO5bmcgxJHhu4tuaCBk4bqhbmcgdGjDtFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5Cittc2dpZCAiIgorIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorbXNnc3RyICIiCisiIC1TLCAtLXNvdXJjZSA8Y2h14buXaT4gICB0aGnhur90IGLhu4sgxJHhu4MgZ+G6r24gKGLhurFuZyB0w6puLCBs4bubbjpuaOG7jywgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzEKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRhcmdldCA8cGF0aD4gICAgdGhlIHBhdGggdG8gdGhlIGZpbGVzeXN0ZW0gdG8gdXNlXG4iCittc2dzdHIgIiAtVCwgLS10YXJnZXQgPGNodeG7l2k+ICAgxJFp4buDbSBn4bqvbiDEkcaw4bujYyBkw7luZ1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMyCisjLCBmdXp6eQorbXNnaWQgIiAtTSwgLS1tb3VudHBvaW50IDxkaXI+IHRoZSBtb3VudHBvaW50IGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXIsIC0tcm9vdFs9PHQubeG7pWM+XSDEkeG6t3QgdGjGsCBt4bulYyBn4buRY1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMzCittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBGUyB0eXBlc1xuIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPGQuc8OhY2g+ICAgZ2nhu5tpIGjhuqFuIHThuq1wIGjhu6NwIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gdGhlbyBraeG7g3VcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNAorbXNnaWQgIiAtVSwgLS11bmlxICAgICAgICAgICAgIGlnbm9yZSBmaWxlc3lzdGVtcyB3aXRoIGR1cGxpY2F0ZSB0YXJnZXRcbiIKK21zZ3N0ciAiIC1VLCAtLXVuaXEgICAgICAgICAgICAgYuG7jyBxdWEgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiB24bubaSDEkcOtY2ggdHLDuW5nIGzhurdwXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzUgbWlzYy11dGlscy9sc2xvY2tzLmM6NTEzIHN5cy11dGlscy9sc25zLmM6NjI1Cittc2dpZCAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCittc2dzdHIgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIMSR4burbmcgY+G6r3Qgbmfhuq9uIHRyb25nIGPDoWMgY+G7mXRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNgorbXNnaWQgIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIGRvbid0IHByaW50IFsvZGlyXSBmb3IgYmluZCBvciBidHJmcyBtb3VudHNcbiIKK21zZ3N0ciAiIC12LCAtLW5vZnNyb290ICAgICAgICAgxJHhu6tuZyBpbiBbL2Rpcl0gY2hvIGfhuq9uIGJpbmQgaGF5IGJ0cmZzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzkKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXZlcmlmeSAgICAgICAgICAgdmVyaWZ5IG1vdW50IHRhYmxlIGNvbnRlbnQgKGRlZmF1bHQgaXMgZnN0YWIpXG4iCittc2dzdHIgIiAtMSwgLS1vbmUgICAgICAgICAgICAgY2jhu4kgaGnhu4NuIHRo4buLIG3hu5l0IHRow6FuZyAobeG6t2MgxJHhu4tuaClcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0MAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgaGnhu4NuIHRo4buLIGThu68gbGnhu4d1IGThuqFuZyDEkeG6p3kgxJHhu6dcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTM2OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGRpcmVjdGlvbiAnJXMnIgorbXNnc3RyICJraMO0bmcgaGnhu4N1IGjGsOG7m25nIOKAnCVz4oCdIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDQwCittc2dpZCAiaW52YWxpZCBUSUQgYXJndW1lbnQiCittc2dzdHIgIsSR4buRaSBz4buRIFRJRCBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUwOQorbXNnaWQgIi0tcG9sbCBhY2NlcHRzIG9ubHkgb25lIGZpbGUsIGJ1dCBtb3JlIHNwZWNpZmllZCBieSAtLXRhYi1maWxlIgorbXNnc3RyICItLXBvbGwgdGjhu6thIG5o4bqtbiBjaOG7iSBt4buZdCB04bqtcCB0aW4sIG5oxrBuZyBwaOG6o2kgxJHGsOG7o2MgY2jhu4kgxJHhu4tuaCBi4bufaSAtLXRhYi1maWxlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTEzCittc2dpZCAib3B0aW9ucyAtLXRhcmdldCBhbmQgLS1zb3VyY2UgY2FuJ3QgYmUgdXNlZCB0b2dldGhlciB3aXRoIGNvbW1hbmQgbGluZSBlbGVtZW50IHRoYXQgaXMgbm90IGFuIG9wdGlvbiIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHPhu60gZOG7pW5nIGPhuqMgaGFpIHTDuXkgY2jhu41uIOKAnC0tdGFyZ2V04oCdICjEkcOtY2gpIHbDoCDigJwtLXNvdXJjZeKAnSAobmd14buTbikgduG7m2kgbeG7mXQgeeG6v3UgdOG7kSBkw7JuZyBs4buHbmggbcOgIGtow7RuZyB0aOG7gyBsw6AgbeG7mXQgdMO5eSBjaOG7jW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1NjIKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBjYWNoZSIKK21zZ3N0ciAibOG7l2kga2jhu59pIHThuqFvIHbDuW5nIG5o4bubIHThuqFtIGxpYm1vdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNvbHVtbiBpcyByZXF1ZXN0ZWQsIGJ1dCAtLXBvbGwgaXMgbm90IGVuYWJsZWQiCittc2dzdHIgIiVzIGPhu5l0IMSRxrDhu6NjIHnDqnUgY+G6p3UsIG5oxrBuZyB0w7l5IGNo4buNbiAtLXBvbGwgbOG6oWkga2jDtG5nIMSRxrDhu6NjIGLhuq10IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE2CisjLCBmdXp6eQorbXNnaWQgInRhcmdldCBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgIm5ndeG7k24gxJHGsOG7o2MgZ2hpIG5oaeG7gXUgaMahbiBt4buZdCBs4bqnbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBvcmRlcjogJXMgc3BlY2lmaWVkIGJlZm9yZSAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTMzCittc2dpZCAidW5kZWZpbmVkIHRhcmdldCAoZnNfZmlsZSkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tY2Fub25pY2FsIHRhcmdldCBwYXRoIChyZWFsOiAlcykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHRhcmdldDogJW0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgdGFyZ2V0OiAlbSIKK21zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MQorIywgZnV6enkKK21zZ2lkICJ0YXJnZXQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIlczoga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgdGjGsCBt4bulYyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MworbXNnaWQgInRhcmdldCBleGlzdHMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHNvdXJjZTogJXM9JXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGU6ICVzPSVzIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhu41jOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM9JXMgdHJhbnNsYXRlZCB0byAlcyIKK21zZ3N0ciAiJXMgdMawxqFuZyDhu6luZyB24bubaSAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTkwCittc2dpZCAidW5kZWZpbmVkIHNvdXJjZSAoZnNfc3BlYykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc291cmNlIHRhZzogJXMiCittc2dzdHIgInRoYW0gc+G7kSBraMO0bmcgaOG7lyB0cuG7ozogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIHNvdXJjZSAocHNldWRvL25ldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgc291cmNlOiAlczogJW0iCittc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIMSRxrDvv73vv71jIOKAnCVz4oCdOiAlbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmluZCBtb3VudCBzb3VyY2UgJXMgaXMgYSBkaXJlY3Rvcnkgb3IgcmVndWxhciBmaWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzIGtow7RuZyBwaOG6o2kgdGhp4bq/dCBi4buLIMSR4bq3YyBiaeG7h3Qga2jhu5FpLiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic291cmNlICVzIGV4aXN0cyIKK21zZ3N0ciAidGhp4bq/dCBi4buLIG5ndeG7k24iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlZGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiJXM6IGPDoWMgdMO5eSBjaOG7jW4gIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiJXM6IGPDoWMgdMO5eSBjaOG7jW4gIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2Vyc3BhY2Ugb3B0aW9uczogJXMiCittc2dzdHIgIlTDuXkgY2jhu41uIHTDoGkgbmd1ecOqbjpcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc3dhcGFyZWEgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICJraMO0bmcgaOG7lyB0cuG7oyBjaMOtbmggc8OhY2ggbG/huqFpIGLhu486ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjYwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzd2FwYXJlYSBwcmlvcml0eSBvcHRpb24iCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBt4bupYyDGsHUgdGnDqm4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIEZTIHR5cGUgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MDYKK21zZ2lkICJcIm5vbmVcIiBGUyB0eXBlIGlzIHJlY29tbWVuZGVkIGZvciBiaW5kIG9yIG1vdmUgb3ByYXRpb25zIG9ubHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICJM4buHbmggY2jhu41uIHThu5FjIMSR4buZIMSRxKlhIENELVJPTSBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyBi4bufaSBrZXJuZWwgbsOgeSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyMCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIxCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBkZXRlY3Qgb24tZGlzayBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgImtow7RuZyBoaeG7g3Uga2nhu4N1IGjhu4cgdGjhu5FuZyB04bqtcCB0aW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgbWF0Y2ggd2l0aCBvbi1kaXNrICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9uLWRpc2sgJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICJM4buHbmggY2jhu41uIHThu5FjIMSR4buZIMSRxKlhIENELVJPTSBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyBi4bufaSBrZXJuZWwgbsOgeSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRlMgdHlwZSBpcyAlcyIKK21zZ3N0ciAia2nhu4N1OiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWNvbW1lbmRlZCByb290IEZTIHBhc3NubyBpcyAxIChjdXJyZW50IGlzICVkKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCBwYXJzZSBlcnJvciIKK21zZ2lkX3BsdXJhbCAiJWQgcGFyc2UgZXJyb3JzIgorbXNnc3RyWzBdICJs4buXaSBwaMOibiB0w61jaCBjw7ogcGjDoXBcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCAlZCBlcnJvciIKK21zZ2lkX3BsdXJhbCAiLCAlZCBlcnJvcnMiCittc2dzdHJbMF0gIiwgZ+G6t3AgbOG7l2kiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCAlZCB3YXJuaW5nIgorbXNnaWRfcGx1cmFsICIsICVkIHdhcm5pbmdzIgorbXNnc3RyWzBdICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzcywgbm8gZXJyb3JzIG9yIHdhcm5pbmdzIGRldGVjdGVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJIw6N5IHRo4butIGzhu4duaCDigJwlcyAtLWhlbHDigJ0gxJHhu4MgeGVtIHRow7RuZyB0aW4gdGjDqm0uXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzA0Cittc2dpZCAiZW1wdHkgbG9uZyBvcHRpb24gYWZ0ZXIgLWwgb3IgLS1sb25nIGFyZ3VtZW50IgorbXNnc3RyICJ0w7l5IGNo4buNbiBkw6BpIHLhu5duZyBzYXUgLWwgaGF5IHRoYW0gc+G7kSAtLWxvbmciCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzI1Cittc2dpZCAidW5rbm93biBzaGVsbCBhZnRlciAtcyBvciAtLXNoZWxsIGFyZ3VtZW50IgorbXNnc3RyICJraMO0bmcgaGnhu4N1IHNoZWxsICho4buHIHbhu48pIHNhdSAtcyBoYXkgdGhhbSBz4buRIC0tc2hlbGwiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tXSA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLW98LS1vcHRpb25zIDxvcHRzdHJpbmc+IFtvcHRpb25zXSBbLS1dIDxwYXJhbWV0ZXJzPlxuIgorbXNnc3RyICIiCisiICUxJHMgPGNodeG7l2kgdMO5eSBjaOG7jW4+IDxjw6FjIHRoYW0gc+G7kT5cbiIKKyIgJTEkcyBbY8OhYyB0w7l5IGNo4buNbl0gWy0tXSA8Y2h14buXaSB0w7l5IGNo4buNbj4gPGPDoWMgdGhhbSBz4buRPlxuIgorIiAlMSRzIFtjw6FjIHTDuXkgY2jhu41uXSAtb3wtLW9wdGlvbnMgPGNodeG7l2kgdMO5eSBjaOG7jW4+IFtjw6FjIHTDuXkgY2jhu41uXSBbLS1dIDxjw6FjIHRoYW0gc+G7kT5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzgKK21zZ2lkICJQYXJzZSBjb21tYW5kIG9wdGlvbnMuXG4iCittc2dzdHIgIlTDuXkgY2jhu41uIHBow6JuIHTDrWNoIGzhu4duaC5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDEKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAgYWxsb3cgbG9uZyBvcHRpb25zIHN0YXJ0aW5nIHdpdGggc2luZ2xlIC1cbiIKK21zZ3N0ciAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIGNobyBwaMOpcCB0w7l5IGNo4buNbiBkw6BpIGLhuq90IMSR4bqndSB24bubaSBt4buZdCAtIMSRxqFuXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQyCittc2dpZCAiIC1sLCAtLWxvbmdvcHRpb25zIDxsb25nb3B0cz4gIHRoZSBsb25nIG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgLWwsIC0tbG9uZ29wdGlvbnMgPHTDuXljaOG7jW5kw6BpPiB0w7l5IGNo4buNbiBkw6BpIGPhuqduIG5o4bqtbiByYVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MworbXNnaWQgIiAtbiwgLS1uYW1lIDxwcm9nbmFtZT4gICAgICAgICB0aGUgbmFtZSB1bmRlciB3aGljaCBlcnJvcnMgYXJlIHJlcG9ydGVkXG4iCittc2dzdHIgIiAtbiwgLS1uYW1lIDx0w6puX2NoxrDGoW5nX3Ryw6xuaD4gdMOqbiBtw6AgYuG7iyBiw6FvIGPDoW8gbOG7l2lcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDQKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICAgdGhlIHNob3J0IG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgLW8sIC0tb3B0aW9ucyA8Y2h14buXaV90w7l5X2No4buNbj4gY8OhYyB0w7l5IGNo4buNbiBuZ+G6r24gY+G6p24gbmjhuq1uIHJhXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ1Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGRpc2FibGUgZXJyb3IgcmVwb3J0aW5nIGJ5IGdldG9wdCgzKVxuIgorbXNnc3RyICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgdOG6r3QgYuG7jyBiw6FvIGPDoW8gbOG7l2kgYuG6sW5nIGdldG9wdCgzKVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NgorbXNnaWQgIiAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICBubyBub3JtYWwgb3V0cHV0XG4iCittc2dzdHIgIiAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICBraMO0bmcgY8OzIGvhur90IHh14bqldCB0aMO0bmcgdGjGsOG7nW5nXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ3Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgIHNldCBxdW90aW5nIGNvbnZlbnRpb25zIHRvIHRob3NlIG9mIDxzaGVsbD5cbiIKK21zZ3N0ciAiIC1zLCAtLXNoZWxsIDxo4buHX3bhu48+ICAgICAgICAgICDEkeG6t3QgcXV5IMaw4bubYyB0csOtY2ggZOG6q24gc2hlbGwgKGjhu4cgduG7jylcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDgKK21zZ2lkICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgdGVzdCBmb3IgZ2V0b3B0KDEpIHZlcnNpb25cbiIKK21zZ3N0ciAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIHRo4butIHBoacOqbiBi4bqjbiBnZXRvcHQoMSlcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDkKK21zZ2lkICIgLXUsIC0tdW5xdW90ZWQgICAgICAgICAgICAgICAgZG8gbm90IHF1b3RlIHRoZSBvdXRwdXRcbiIKK21zZ3N0ciAiIC11LCAtLXVucXVvdGVkICAgICAgICAgICAgICAgIMSR4burbmcgdHLDrWNoIGThuqtuIGvhur90IHF14bqjIHJhXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6Mzk5IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDU5Cittc2dpZCAibWlzc2luZyBvcHRzdHJpbmcgYXJndW1lbnQiCittc2dzdHIgInRoaeG6v3UgxJHhu5FpIHPhu5EgY2h14buXaV90w7l5X2No4buNbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzo0NTQKK21zZ2lkICJpbnRlcm5hbCBlcnJvciwgY29udGFjdCB0aGUgYXV0aG9yLiIKK21zZ3N0ciAibOG7l2kgbuG7mWkgYuG7mSwgaMOjeSBsacOqbiBo4buHIHbhu5tpIHTDoWMgZ2nhuqMuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWwgJXM7IHZhbGlkIHNpZ25hbHM6IgorbXNnc3RyICJraMO0bmcgaGnhu4N1IHTDrW4gaGnhu4d1ICVzOyB0w61uIGhp4buHdSBo4bujcCBs4buHIGzDoDoiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwMgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwaWQ+fDxuYW1lPi4uLlxuIgorbXNnc3RyICIgJXMgW2PDoWMtdMO5eS1jaOG7jW5dIDxtw6Nfc+G7kV90aeG6v25fdHLDrG5oPnw8dMOqbl90aeG6v25fdHLDrG5oPuKAplxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDUKK21zZ2lkICJGb3JjaWJseSB0ZXJtaW5hdGUgYSBwcm9jZXNzLlxuIgorbXNnc3RyICLDiXAgYnXhu5ljIGvhur90IHRow7pjIG3hu5l0IHRp4bq/biB0csOsbmguXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwOAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkbyBub3QgcmVzdHJpY3QgdGhlIG5hbWUtdG8tcGlkIGNvbnZlcnNpb24gdG8gcHJvY2Vzc2VzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIHRoZSBzYW1lIHVpZCBhcyB0aGUgcHJlc2VudCBwcm9jZXNzXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBraMO0bmcgaOG6oW4gY2jhur8gY2h1eeG7g24gxJHhu5VpIHTDqm4tdGjDoG5oLW3Doy1z4buRLXRp4bq/bi10csOsbmhcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB0aMOgbmggdGnhur9uIHRyw6xuaCB24bubaSBjw7luZyB1aWQgduG7m2kgdGnhur9uIHRyw6xuaCBoaeG7h24gdOG6oWlcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzEwCittc2dpZCAiIC1zLCAtLXNpZ25hbCA8c2lnbmFsPiAgc2VuZCB0aGlzIDxzaWduYWw+IGluc3RlYWQgb2YgU0lHVEVSTVxuIgorbXNnc3RyICIgLXMsIC0tc2lnbmFsIDx0w61uX2hp4buHdT4gZ+G7rWkgdMOtbiBoaeG7h3UgxJHDoyBjaOG7iSByYSB0aGF5IGNobyBTSUdURVJNXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMgorbXNnaWQgIiAtcSwgLS1xdWV1ZSA8dmFsdWU+ICAgIHVzZSBzaWdxdWV1ZSgyKSwgbm90IGtpbGwoMiksIGFuZCBwYXNzIDx2YWx1ZT4gYXMgZGF0YVxuIgorbXNnc3RyICIgLXEsIC0tcXVldWUgPGdpw6EtdHLhu4s+ICBkw7luZyBzaWdxdWV1ZSgyKSwga2jDtG5nIGTDuW5nIGtpbGwoMiksIHbDoCBjaHV54buDbiBnacOhLXRy4buLIHRow6BuaCBk4buvIGxp4buHdVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTQKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgICBwcmludCBwaWRzIHdpdGhvdXQgc2lnbmFsaW5nIHRoZW1cbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIGPDoWMgcGlkIG3DoCBraMO0bmcgY8OzIHTDrW4gaGnhu4d1XG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNQorbXNnaWQgIiAtbCwgLS1saXN0Wz08c2lnbmFsPl0gIGxpc3Qgc2lnbmFsIG5hbWVzLCBvciBjb252ZXJ0IGEgc2lnbmFsIG51bWJlciB0byBhIG5hbWVcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgWz08dMOtbiBoaeG7h3U+XSBsaeG7h3Qga8OqIHTDqm4gdMOtbiBoaeG7h3UsIGhheSBjaHV54buDbiDEkeG7lWkgdOG7qyBz4buRIHNhbmcgdMOqblxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTYKK21zZ2lkICIgLUwsIC0tdGFibGUgICAgICAgICAgICBsaXN0IHNpZ25hbCBuYW1lcyBhbmQgbnVtYmVyc1xuIgorbXNnc3RyICIgLUwsIC0tdGFibGUgICAgICAgICAgICBsaeG7h3Qga8OqIGPDoWMgdMOqbiB2w6Agc+G7kSB0w61uIGhp4buHdVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTcKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBwaWRzIHRoYXQgd2lsbCBiZSBzaWduYWxlZFxuIgorbXNnc3RyICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBpbiBjw6FjIG3DoyBz4buRIHRp4bq/biB0csOsbmggc+G6vSDEkcaw4bujYyBn4butaSB0w61uIGhp4buHdVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozNjcgbWlzYy11dGlscy9raWxsLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsOiAlcyIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSB0w61uIGhp4buHdTogJXMiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM4NyBtaXNjLXV0aWxzL2tpbGwuYzozOTAgbWlzYy11dGlscy9raWxsLmM6Mzk5CisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MTEgbWlzYy11dGlscy9raWxsLmM6NDM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIlcyB2w6AgJXMgbG/huqFpIHThu6sgbOG6q24gbmhhdSIKKworIzogbWlzYy11dGlscy9raWxsLmM6Mzk2IG1pc2MtdXRpbHMva2lsbC5jOjQzOCBtaXNjLXV0aWxzL3JlbmFtZS5jOjE3NAorIzogc3lzLXV0aWxzL2lwY3JtLmM6MTYwIHRlcm0tdXRpbHMvYWdldHR5LmM6Nzg5IHRlcm0tdXRpbHMvYWdldHR5LmM6Nzk4Cittc2dpZCAibm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgImtow7RuZyDEkeG7pyDEkeG7kWkgc+G7kSIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDA5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICJ0w7l5IGNo4buNbiDigJwlc+KAnSBj4bqnbiBt4buZdCDEkeG7kWkgc+G7kSIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDE0IHN5cy11dGlscy9lamVjdC5jOjIwNSBzeXMtdXRpbHMvZWplY3QuYzoyMzAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Njg5IHN5cy11dGlscy90dW5lbHAuYzoxNjEgc3lzLXV0aWxzL3R1bmVscC5jOjE2OAorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE3NSBzeXMtdXRpbHMvdHVuZWxwLmM6MTgyIHN5cy11dGlscy90dW5lbHAuYzoxODkKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxOTUgc3lzLXV0aWxzL3R1bmVscC5jOjE5OSBzeXMtdXRpbHMvdHVuZWxwLmM6MjA2CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjMxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxMyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzcgdGVybS11dGlscy9zZXR0ZXJtLmM6MjcyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzQgdGVybS11dGlscy9zZXR0ZXJtLmM6MjkxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5OAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzAwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxMiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyMyB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMzEgdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ2CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDggdGVybS11dGlscy9zZXR0ZXJtLmM6MzYwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjM2MgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzczIHRlcm0tdXRpbHMvc2V0dGVybS5jOjUzNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDAKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NTAgdGVybS11dGlscy9zZXR0ZXJtLmM6NTc0CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NzkgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4OQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTk0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MDcKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjY0MAorbXNnaWQgImFyZ3VtZW50IGVycm9yIgorbXNnc3RyICJzYWkgxJHhu5FpIHPhu5EiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNpZ25hbCBuYW1lIG9yIG51bWJlcjogJXMiCittc2dzdHIgInPhu5EgaGF5IHTDqm4gY+G7p2EgdMOtbiBoaeG7h3Uga2jDtG5nIGjhu6NwIGzhu4c6ICVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgJWQgdG8gcGlkICVkXG4iCittc2dzdHIgImfhu61pIHTDrW4gaGnhu4d1ICVkIMSR4bq/biB0aeG6v24gdHLDrG5oIGPDsyBtw6Mgc+G7kSAlZFxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJn4butaSB0w61uIGhp4buHdSDEkeG6v24gJXMgZ+G6t3AgbOG7l2kiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjUwNworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCBwcm9jZXNzIFwiJXNcIiIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHTDrG0gdGjhuqV5IHRp4bq/biB0csOsbmgg4oCcJXPigJ0iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjIyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgbmFtZTogJXMiCittc2dzdHIgImtow7RuZyBoaeG7g3UgdMOqbiBjxqEgY+G6pXU6ICVzLiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSB0w6puIMawdSB0acOqbjogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZW5sb2cgJXM6IHBhdGhuYW1lIHRvbyBsb25nIgorbXNnc3RyICJvcGVubG9nICVzOiB0w6puIMSRxrDhu51uZyBk4bqrbiBxdcOhIGTDoGkiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjY3CisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCAlcyIKK21zZ3N0ciAi4buVIGPhuq9tIChzb2NrZXQpICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBuYW1lICVzIHBvcnQgJXM6ICVzIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gZ2nhuqNpIHTDqm4gJXMgY+G7lW5nICVzOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNvbm5lY3QgdG8gJXMgcG9ydCAlcyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGvhur90IG7hu5FpIMSR4bq/biAlcyBj4buVbmcgJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heGltdW0gaW5wdXQgbGluZXMgKCVkKSBleGNlZWRlZCIKK21zZ3N0ciAixJHDoyB2xrDhu6N0IHF1w6Egc+G7kSBsxrDhu6NuZyBkw7JuZyB04buRaSDEkWEgKCVkKSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAic2VuZCBtZXNzYWdlIGZhaWxlZCIKK21zZ3N0ciAibOG7l2kgdOG6oW8gaMOgbmcgxJHhu6NpIHRow7RuZyDEkWnhu4dwIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU1OAorIywgYy1mb3JtYXQKK21zZ2lkICJzdHJ1Y3R1cmVkIGRhdGEgSUQgJyVzJyBpcyBub3QgdW5pcXVlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tc2QtaWQgd2FzIG5vdCBzcGVjaWZpZWQgZm9yIC0tc2QtcGFyYW0gJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NTQKK21zZ2lkICJsb2NhbHRpbWUoKSBmYWlsZWQiCittc2dzdHIgImxvY2FsdGltZSgpIGLhu4sgbOG7l2kiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzY0CisjLCBjLWZvcm1hdAorbXNnaWQgImhvc3RuYW1lICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgInTDqm4gbcOheSDigJwlc+KAnSBsw6AgcXXDoSBkw6BpIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc3MAorIywgYy1mb3JtYXQKK21zZ2lkICJ0YWcgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAidGjhursg4oCcJXPigJ0gbMOgIHF1w6EgZMOgaSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdW5rbm93biBvcHRpb24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICJi4buPIHF1YSBjw6FjIMSR4buRaSBz4buRIHTDuXkgY2hvbiBjaMawYSBiaeG6v3Q6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjg0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXM6IHVzaW5nIGF1dG9tYXRpYyBlcnJvcnMiCittc2dzdHIgIsSR4buRaSBz4buRIGtow7RuZyBo4bujcCBs4buHIMSR4buRaSB24bubaSB0w7l5IGNo4buNbiAtLWF1dG8vLWEiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6OTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICVzIFt0w7l5IGNo4buNbl0gW3Row7RuZyDEkWnhu4dwXVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjk5NworbXNnaWQgIkVudGVyIG1lc3NhZ2VzIGludG8gdGhlIHN5c3RlbSBsb2cuXG4iCittc2dzdHIgIk5o4bqtcCBs4budaSBuaOG6r24gdsOgbyBuaOG6rXQga8O9IGjhu4cgdGjhu5FuZy5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAwCisjLCBmdXp6eQorbXNnaWQgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgbG9nIHRoZSBsb2dnZXIgY29tbWFuZCdzIFBJRFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgIGTDuW5nIGdpYW8gdGjhu6ljIHN5c2xvZyAobeG6t2MgxJHhu4tuaClcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgbG9nIHRoZSBnaXZlbiA8aWQ+LCBvciBvdGhlcndpc2UgdGhlIFBJRFxuIgorbXNnc3RyICIgLWksIC0taWRbPTxpZD5dICAgICAgICAgIGxvZyA8aWQ+ICht4bq3YyDEkeG7i25oIGzDoCBQSUQpXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMgorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgICAgbG9nIHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGVcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPFThuqxQLVRJTj4gICAgIGhp4buDbiB0aOG7iyBuaOG6rXQga8O9IGPhu6dhIHThuq1wIHRpbiBuw6B5XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMworIywgZnV6enkKK21zZ2lkICIgLWUsIC0tc2tpcC1lbXB0eSAgICAgICAgIGRvIG5vdCBsb2cgZW1wdHkgbGluZXMgd2hlbiBwcm9jZXNzaW5nIGZpbGVzXG4iCittc2dzdHIgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBraMO0bmcgbmjhuq9jIMSRxINuZyBuaOG6rXBcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA0CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby1hY3QgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIHdyaXRlIHRoZSBsb2dcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgbMOgbSBt4buNaSB0aOG7qSBuZ2/huqFpIHRy4burIGdoaSBsw6puIHRoaeG6v3QgYuG7i1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDUKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIG1hcmsgZ2l2ZW4gbWVzc2FnZSB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICDEkcOhbmggZOG6pXUgbOG7nWkgbmjhuq9uIMSRw6MgY2hvIHbhu5tpIG3hu6ljIMawdSB0acOqbiBuw6B5XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNgorbXNnaWQgIiAgICAgLS1vY3RldC1jb3VudCAgICAgICAgdXNlIHJmYzY1ODcgb2N0ZXQgY291bnRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDcKK21zZ2lkICIgICAgIC0tcHJpby1wcmVmaXggICAgICAgIGxvb2sgZm9yIGEgcHJlZml4IG9uIGV2ZXJ5IGxpbmUgcmVhZCBmcm9tIHN0ZGluXG4iCittc2dzdHIgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAgdMOsbSBraeG6v20gdGnhu4FuIHThu5EgdHLDqm4gbeG7l2kgZMOybmcgxJHhu41jIHThu6sgxJHhuqd1IHbDoG8gY2h14bqpblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDgKK21zZ2lkICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIG91dHB1dCBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yIGFzIHdlbGxcbiIKK21zZ3N0ciAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICBjxaluZyBoaeG7g24gdGjhu4sgdGjDtG5nIMSRaeG7h3AgcmEgxJHhuqd1IHJhIGzhu5dpIHRpw6p1IGNodeG6qW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA5CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zaXplIDxzaXplPiAgICAgICAgbWF4aW11bSBzaXplIGZvciBhIHNpbmdsZSBtZXNzYWdlXG4iCittc2dzdHIgIiAtcywgLS1zaXplIDxj4buhPiAgICAgICAgICAgY+G7oSB0aGnhur90IGLhu4tcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEwCittc2dpZCAiIC10LCAtLXRhZyA8dGFnPiAgICAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorbXNnc3RyICIgLXQsIC0tdGFnIDx0YWc+ICAgICAgICAgIMSRw6FuaCBk4bqldSBt4buNaSBkw7JuZyBi4bqxbmcgdGjhursgbsOgeVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTEKK21zZ2lkICIgLW4sIC0tc2VydmVyIDxuYW1lPiAgICAgIHdyaXRlIHRvIHRoaXMgcmVtb3RlIHN5c2xvZyBzZXJ2ZXJcbiIKK21zZ3N0ciAiIC1uLCAtLXNlcnZlciA8dMOqbj4gICAgICAgZ2hpIGPDoWkgbsOgeSDEkeG6v24gbcOheSBjaOG7pyBnaGkgc3lzbG9nXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMgorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcG9ydCA8cG9ydD4gICAgICAgIHVzZSB0aGlzIHBvcnQgZm9yIFVEUCBvciBUQ1AgY29ubmVjdGlvblxuIgorbXNnc3RyICIgLVAsIC0tcG9ydCA8c+G7kT4gICAgICAgICAgZMO5bmcgY+G7lW5nIFVEUCBuw6B5XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMworbXNnaWQgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgdXNlIFRDUCBvbmx5XG4iCittc2dzdHIgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgY2jhu4kgZMO5bmcgVENQXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNAorbXNnaWQgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCittc2dzdHIgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgY2jhu4kgZMO5bmcgVURQXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNQorbXNnaWQgIiAgICAgLS1yZmMzMTY0ICAgICAgICAgICAgdXNlIHRoZSBvYnNvbGV0ZSBCU0Qgc3lzbG9nIHByb3RvY29sXG4iCittc2dzdHIgIiAgICAgLS1yZmMzMTY0ICAgICAgICAgICAgZMO5bmcgZ2lhbyB0aOG7qWMgc3lzbG9nIEJTRCBraeG7g3UgY8WpXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNgorIywgZnV6enkKK21zZ2lkICIiCisiICAgICAtLXJmYzU0MjRbPTxzbmlwPl0gICB1c2UgdGhlIHN5c2xvZyBwcm90b2NvbCAodGhlIGRlZmF1bHQgZm9yIHJlbW90ZSk7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiBjYW4gYmUgbm90aW1lLCBvciBub3RxLCBhbmQvb3Igbm9ob3N0XG4iCittc2dzdHIgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIGTDuW5nIGdpYW8gdGjhu6ljIHN5c2xvZyAobeG6t2MgxJHhu4tuaCk7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiBjw7MgdGjhu4MgbMOgIG5vdGltZSwgaG/hurdjIG5vdHEsIHbDoC9ob+G6t2Mgbm9ob3N0XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxOAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIElEXG4iCittc2dzdHIgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgxJHhurd0IGdpZCB0aOG7sWMgdOG6v1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTkKK21zZ2lkICIgICAgIC0tc2QtcGFyYW0gPGRhdGE+ICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIG5hbWU9dmFsdWVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW1zZ2lkIDxtc2dpZD4gICAgICBzZXQgcmZjNTQyNCBtZXNzYWdlIGlkIGZpZWxkXG4iCittc2dzdHIgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgxJHhurd0IGdpZCB0aOG7sWMgdOG6v1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjEKK21zZ2lkICIgLXUsIC0tc29ja2V0IDxzb2NrZXQ+ICAgIHdyaXRlIHRvIHRoaXMgVW5peCBzb2NrZXRcbiIKK21zZ3N0ciAiIC11LCAtLXNvY2tldCA8c29ja2V0PiAgICBnaGkgcmEg4buVIGPhuq9tIFVuaXggbsOgeVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjIKK21zZ2lkICIiCisiICAgICAtLXNvY2tldC1lcnJvcnNbPTxvbnxvZmZ8YXV0bz5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludCBjb25uZWN0aW9uIGVycm9ycyB3aGVuIHVzaW5nIFVuaXggc29ja2V0c1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyNQorbXNnaWQgIiAgICAgLS1qb3VybmFsZFs9PGZpbGU+XSAgd3JpdGUgam91cm5hbGQgZW50cnlcbiIKK21zZ3N0ciAiICAgICAtLWpvdXJuYWxkWz08dOG6rXAtdGluPl0gIGdoaSBt4bulYyBuaOG6rXQga8O9XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTExMgorIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlICVzIgorbXNnc3RyICJ04bqtcCB0aW4gJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTEyNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBpZCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIElEIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1lc3NhZ2Ugc2l6ZSIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSR4bq3dCBrw61jaCBj4buhIHRyYW5nIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODAKK21zZ2lkICItLW1zZ2lkIGNhbm5vdCBjb250YWluIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgSUQ6ICclcyciCittc2dzdHIgIsSR4buRaSBz4buRIGtow7RuZyBo4bujcCBs4buHOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBwYXJhbWV0ZXI6ICclcyciCittc2dzdHIgIsSR4buRaSBz4buRIMSR4bq3dCBjaG8gcXXDoSBnaeG7nSBraMO0bmcgaOG7o3AgbOG7hzogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIxOAorbXNnaWQgIi0tZmlsZSA8ZmlsZT4gYW5kIDxtZXNzYWdlPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLCBtZXNzYWdlIGlzIGlnbm9yZWQiCittc2dzdHIgIi0tZmlsZSA8ZmlsZT4gYW5kIDxtZXNzYWdlPiBsb+G6oWkgdOG7qyBs4bqrbiBuaGF1LCBjaHXhu5dpIGLhu4sgYuG7jyBxdWEiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIyNQorbXNnaWQgImpvdXJuYWxkIGVudHJ5IGNvdWxkIG5vdCBiZSB3cml0dGVuIgorbXNnc3RyICJraMO0bmcgdGjhu4MgZ2hpIG3hu6VjIHRpbiBqb3VybmFsZCIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHN0cmluZz4gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiJXMgW1RV4buyX0NI4buMTl0gPGNodeG7l2k+IFtU4bqsUF9USU7igKZdXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM1OAorbXNnaWQgIkRpc3BsYXkgbGluZXMgYmVnaW5uaW5nIHdpdGggYSBzcGVjaWZpZWQgc3RyaW5nLlxuIgorbXNnc3RyICJIaeG7g24gdGjhu4sgY8OhYyBkw7JuZyDEkeG6p3UgduG7m2kgY2h14buXaSDEkcOjIGNoby5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYxCittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICB1c2UgdGhlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICBkw7luZyB04burIMSRaeG7g24gdGhheSB0aOG6v1xuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjIKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBjb21wYXJlIG9ubHkgYmxhbmtzIGFuZCBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLWQsIC0tYWxwaGFudW0gICAgICAgICAgIGNo4buJIHNvIHPDoW5oIGPDoWMga8O9IHThu7EgYmnhu4N1IGRp4buFbiBz4buRXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MworbXNnaWQgIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIKK21zZ3N0ciAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBraMO0bmcgcGjDom4gYmnhu4d0IEhPQSB0aMaw4budbmcga2hpIHNvIHPDoW5oXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2NAorbXNnaWQgIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgZGVmaW5lIHRoZSBzdHJpbmctdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCittc2dzdHIgIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgxJHhu4tuaCBuZ2jEqWEga8O9IHThu7EgY2jhuqVtIGThu6l0IGNodeG7l2lcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NworbXNnaWQgImRldmljZSBuYW1lIgorbXNnc3RyICJ0w6puIHRoaeG6v3QgYuG7iyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OAorbXNnaWQgImludGVybmFsIGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAidMOqbiB0aGnhur90IGLhu4sgbmjDom4gbuG7mWkgYuG7mSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OQorbXNnaWQgImludGVybmFsIHBhcmVudCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgInTDqm4gdGhp4bq/dCBi4buLIG5ow6JuIGNoYSBt4bq5IG7hu5lpIGLhu5kiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIgc3lzLXV0aWxzL3pyYW1jdGwuYzo4NAorbXNnaWQgIndoZXJlIHRoZSBkZXZpY2UgaXMgbW91bnRlZCIKK21zZ3N0ciAibsahaSBtw6AgdGhp4bq/dCBi4buLIMSRxrDhu6NjIGfhuq9uIHbDoG8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMKK21zZ2lkICJmaWxlc3lzdGVtIExBQkVMIgorbXNnc3RyICJOSMODTiBo4buHIHRo4buRbmcgdOG6rXAgdGluIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2Cittc2dpZCAicGFydGl0aW9uIHR5cGUgVVVJRCIKK21zZ3N0ciAiVVVJRCBraeG7g3UgcGjDom4gdsO5bmciCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjcKK21zZ2lkICJwYXJ0aXRpb24gTEFCRUwiCittc2dzdHIgIk5Iw4NOIGPhu6dhIHBow6JuIHbDuW5nIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcxCittc2dpZCAicmVhZC1haGVhZCBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJyZWFkLWFoZWFkIGPhu6dhIHRoaeG6v3QgYuG7iyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAidGhp4bq/dCBi4buLIGNo4buJLcSR4buNYyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MworbXNnaWQgInJlbW92YWJsZSBkZXZpY2UiCittc2dzdHIgInRoaeG6v3QgYuG7iyBjw7MgdGjhu4MgdGjDoW8gcuG7nWkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzQKK21zZ2lkICJyZW1vdmFibGUgb3IgaG90cGx1ZyBkZXZpY2UgKHVzYiwgcGNtY2lhLCAuLi4pIgorbXNnc3RyICJ0aGnhur90IGLhu4sgZGkgxJHhu5luZyBoYXkgY+G6r20gbsOzbmcgKHVzYiwgcGNtY2lhLCDigKYpIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc1Cittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgInRoaeG6v3QgYuG7iyBxdWF5IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc2Cittc2dpZCAiYWRkcyByYW5kb21uZXNzIgorbXNnc3RyICJi4buVIHh1bmcgbmfhuqt1IG5oacOqbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NworbXNnaWQgImRldmljZSBpZGVudGlmaWVyIgorbXNnc3RyICLEkeG7i25oIGRhbmggdGhp4bq/dCBi4buLIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc4Cittc2dpZCAiZGlzayBzZXJpYWwgbnVtYmVyIgorbXNnc3RyICJz4buRIHPDqi1yaSDEkcSpYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OQorbXNnaWQgInNpemUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAia8OtY2ggY+G7oSBj4bunYSB0aGnhur90IGLhu4siCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODAKK21zZ2lkICJzdGF0ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJ0cuG6oW5nIHRow6FpIGPhu6dhIHRoaeG6v3QgYuG7iyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MgorbXNnaWQgImdyb3VwIG5hbWUiCittc2dzdHIgInTDqm4gbmjDs20iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODMKK21zZ2lkICJkZXZpY2Ugbm9kZSBwZXJtaXNzaW9ucyIKK21zZ3N0ciAiY8OhYyBxdXnhu4FuIGPhu6dhIG7DunQgdGhp4bq/dCBi4buLIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg0Cittc2dpZCAiYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAia2hv4bqjbmcgY2jDqm5oIHPhuq9wIGjDoG5nIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg1Cittc2dpZCAibWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAibOG6pXkga8OtY2ggY+G7oSBWL1IgdOG7kWkgdGhp4buDdSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NgorbXNnaWQgIm9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgImzhuqV5IGvDrWNoIGPhu6EgVi9SIHThu5FpIMawdSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NworbXNnaWQgInBoeXNpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJLw61jaCBj4buhIGN1bmcgdOG7qyB24bqtdCBsw70iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODgKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJrw61jaCBj4buhIGto4buRaSB24bqtdCBsw70iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODkKK21zZ2lkICJJL08gc2NoZWR1bGVyIG5hbWUiCittc2dzdHIgInTDqm4gbOG7i2NoIGJp4buDdSBJL08iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTAKK21zZ2lkICJyZXF1ZXN0IHF1ZXVlIHNpemUiCittc2dzdHIgInnDqnUgY+G6p3Uga8OtY2ggY+G7oSBow6BuZyDEkeG7o2kiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTEKK21zZ2lkICJkZXZpY2UgdHlwZSIKK21zZ3N0ciAia2nhu4N1IHRoaeG6v3QgYuG7iyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MgorbXNnaWQgImRpc2NhcmQgYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAibG/huqFpIGLhu48ga2hv4bqjbmcgY2jDqm5oIHPhuq9wIGjDoG5nIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkzCittc2dpZCAiZGlzY2FyZCBncmFudWxhcml0eSIKK21zZ3N0ciAiaOG7p3kgZ3JhbnVsYXJpdHkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTQKK21zZ2lkICJkaXNjYXJkIG1heCBieXRlcyIKK21zZ3N0ciAibG/huqFpIGLhu48ga8OtY2ggY+G7oSBs4bubbiBuaOG6pXQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTUKK21zZ2lkICJkaXNjYXJkIHplcm9lcyBkYXRhIgorbXNnc3RyICJi4buPIHF1YSBk4buvIGxp4buHdSBraMO0bmciCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTYKK21zZ2lkICJ3cml0ZSBzYW1lIG1heCBieXRlcyIKK21zZ3N0ciAiZ2hpIGPDuW5nIHPhu5EgYnl0ZSB04buRaSDEkWEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTcKK21zZ2lkICJ1bmlxdWUgc3RvcmFnZSBpZGVudGlmaWVyIgorbXNnc3RyICLEkeG7i25oIGRhbmggdGhp4bq/dCBi4buLIGzGsHUgdHLhu68gZHV5IG5o4bqldCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OAorbXNnaWQgIkhvc3Q6Q2hhbm5lbDpUYXJnZXQ6THVuIGZvciBTQ1NJIgorbXNnc3RyICJIb3N0OkNoYW5uZWw6VGFyZ2V0Okx1biBjaG8gU0NTSSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OQorbXNnaWQgImRldmljZSB0cmFuc3BvcnQgdHlwZSIKK21zZ3N0ciAia2nhu4N1IHbhuq1uIGNodXnhu4NuIHRoaeG6v3QgYuG7iyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMAorbXNnaWQgImRlLWR1cGxpY2F0ZWQgY2hhaW4gb2Ygc3Vic3lzdGVtcyIKK21zZ3N0ciAibmfhuq90IGNodeG7l2kgbOG6t3AgY+G7p2EgaOG7hyB0aOG7kW5nIGNvbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMQorbXNnaWQgImRldmljZSByZXZpc2lvbiIKK21zZ3N0ciAicGhpw6puIGLhuqNuIHRoaeG6v3QgYuG7iyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMgorbXNnaWQgImRldmljZSB2ZW5kb3IiCittc2dzdHIgIm5ow6Agc+G6o24geHXhuqV0IHRoaeG6v3QgYuG7iyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjEyNzYKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkZXZpY2UgZGlyZWN0b3J5IGluIHN5c2ZzIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgbeG7nyB0aMawIG3hu6VjIHRoaeG6v3QgYuG7iyB0cm9uZyBzeXNmcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjb21wb3NlIHN5c2ZzIHBhdGgiCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgdOG6oW8gxJHGsOG7nW5nIGThuqtuIHN5c2ZzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgbGluayIKK21zZ3N0ciAiJXM6IGzhu5dpIGtoaSDEkeG7jWMgbGnDqm4ga+G6v3QgbeG7gW0iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN5c2ZzIG5hbWUiCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgbOG6pXkgdMOqbiBzeXNmcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgd2hvbGUtZGlzayBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIGzhuqV5IHPhu5EgdGhp4bq/dCBi4buLIHRyw6puIHRvw6BuIGLhu5kgxJHEqWEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTUxIG1pc2MtdXRpbHMvbHNibGsuYzoxNTUzIG1pc2MtdXRpbHMvbHNibGsuYzoxNTc4CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU4MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGlzdCAnJXMnIgorbXNnc3RyICJs4buXaSBwaMOibiB0w61jaCBkYW5oIHPDoWNoIOKAnCVz4oCdIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1OAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBleGNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgImRhbmggc8OhY2ggY8OhYyB0aGnhur90IGLhu4sgbG/huqFpIHRy4burIHF1w6EgbOG7m24gKGdp4bubaSBo4bqhbiBsw6AgJWQgdGhp4bq/dCBi4buLKSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgaW5jbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICJkYW5oIHPDoWNoIGPDoWMgdGhp4bq/dCBi4buLIHF1w6EgbOG7m24gKGdp4bubaSBo4bqhbiBsw6AgJWQgdGhp4bq/dCBi4buLKSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MTYgc3lzLXV0aWxzL3dkY3RsLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKK21zZ3N0ciAiJXMgW3TDuXkgY2jhu41uXSBbPHRoaeG6v3QgYuG7iz4g4oCmXVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxOQorbXNnaWQgIkxpc3QgaW5mb3JtYXRpb24gYWJvdXQgYmxvY2sgZGV2aWNlcy5cbiIKK21zZ3N0ciAiSGnhu4NuIHRo4buLIHRow7RuZyB0aW4gduG7gSB0aGnhur90IGLhu4sga2jhu5FpLlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyMgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICBwcmludCBhbGwgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgaGnhu4NuIHRo4buLIG3hu41pIHRoaeG6v3QgYuG7i1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNAorbXNnaWQgIiAtZCwgLS1ub2RlcHMgICAgICAgICBkb24ndCBwcmludCBzbGF2ZXMgb3IgaG9sZGVyc1xuIgorbXNnc3RyICIgLWQsIC0tbm9kZXBzICAgICAgICAgxJHhu6tuZyBpbiDigJxzbGF2ZeKAnSBoYXkg4oCcaG9sZGVy4oCdXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI1Cittc2dpZCAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHByaW50IGRpc2NhcmQgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiAtRCwgLS1kaXNjYXJkICAgICAgICBoaeG7g24gdGjhu4sgZHVuZyB0w61jaCBi4buLIGxv4bqhaSBi4buPXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI2Cittc2dpZCAiIC1lLCAtLWV4Y2x1ZGUgPGxpc3Q+IGV4Y2x1ZGUgZGV2aWNlcyBieSBtYWpvciBudW1iZXIgKGRlZmF1bHQ6IFJBTSBkaXNrcylcbiIKK21zZ3N0ciAiIC1lLCAtLWV4Y2x1ZGUgPGRzw6FjaD4gbG/huqFpIHRy4burIGPDoWMgdGhp4bq/dCBi4buLIHRoZW8gc+G7kSBs4bubbiAobeG6t2MgxJHhu4tuaDogxJHEqWEgUkFNKVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNworbXNnaWQgIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLWYsIC0tZnMgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gduG7gSBo4buHIHRo4buRbmcgdOG6rXAgdGluXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI4Cittc2dpZCAiIC1pLCAtLWFzY2lpICAgICAgICAgIHVzZSBhc2NpaSBjaGFyYWN0ZXJzIG9ubHlcbiIKK21zZ3N0ciAiIC1pLCAtLWFzY2lpICAgICAgICAgIGNo4buJIGTDuW5nIGNo4buvIGPDoWkgdHJvbmcgYuG6o25nIG3DoyBBU0NJSVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyOQorbXNnaWQgIiAtSSwgLS1pbmNsdWRlIDxsaXN0PiBzaG93IG9ubHkgZGV2aWNlcyB3aXRoIHNwZWNpZmllZCBtYWpvciBudW1iZXJzXG4iCittc2dzdHIgIiAtSSwgLS1pbmNsdWRlIDxkc8OhY2g+IGNo4buJIGhp4buDbiB0aOG7iyBjw6FjIHRoaeG6v3QgYuG7iyBjw7Mgc+G7kSBs4bubbiDEkcOjIGNob1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMAorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgZMO5bmcgxJHhu4tuaCBk4bqhbmcgdGjDtFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICBkw7luZyBr4bq/dCB4deG6pXQgxJHhu4tuaCBk4bqhbmcgZGFuaCBzw6FjaFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMgorbXNnaWQgIiAtbSwgLS1wZXJtcyAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIgLW0sIC0tcGVybXMgICAgICAgICAgeHXhuqV0IHRow7RuZyB0aW4gduG7gSBjw6FjIHF1eeG7gW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGtow7RuZyBpbiBwaOG6p24gxJHhuqd1XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM0Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGQuc8OhY2g+IGhp4buDbiB0aOG7iyBjw6FjIGPhu5l0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM1Cittc2dpZCAiIC1PLCAtLW91dHB1dC1hbGwgICAgIG91dHB1dCBhbGwgY29sdW1uc1xuIgorbXNnc3RyICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgeHXhuqV0IHJhIG3hu41pIGPhu5l0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM2Cittc2dpZCAiIC1wLCAtLXBhdGhzICAgICAgICAgIHByaW50IGNvbXBsZXRlIGRldmljZSBwYXRoXG4iCittc2dzdHIgIiAtcCwgLS1wYXRocyAgICAgICAgICBoaeG7g24gdGjhu4sgxJHhuqd5IMSR4bunIMSRxrDhu51uZyBk4bqrbiB0aGnhur90IGLhu4tcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzkKK21zZ2lkICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKK21zZ3N0ciAiIC1zLCAtLWludmVyc2UgICAgICAgIMSR4bqjbyBuZ8aw4bujYyBjw6FjIHBo4bqnbiBwaOG7pSB0aHXhu5ljXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQwCittc2dpZCAiIC1TLCAtLXNjc2kgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IFNDU0kgZGV2aWNlc1xuIgorbXNnc3RyICIgLVMsIC0tc2NzaSAgICAgICAgICAgxJHGsGEgcmEgdGjDtG5nIHRpbiB24buBIHRoaeG6v3QgYuG7i3QgU0NTSVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MQorbXNnaWQgIiAtdCwgLS10b3BvbG9neSAgICAgICBvdXRwdXQgaW5mbyBhYm91dCB0b3BvbG9neVxuIgorbXNnc3RyICIgLXQsIC0tdG9wb2xvZ3kgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gduG7gSBow6xuaCBo4buNY1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MgorbXNnaWQgIiAteCwgLS1zb3J0IDxjb2x1bW4+ICBzb3J0IG91dHB1dCBieSA8Y29sdW1uPlxuIgorbXNnc3RyICIgLXgsIC0tc29ydCA8Y+G7mXQ+ICAgICBz4bqvcCB44bq/cCBr4bq/dCB4deG6pXQgdGhlbyA8Y+G7mXQ+XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ3IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxOSBzeXMtdXRpbHMvbHNucy5jOjYzMgorIzogc3lzLXV0aWxzL3BybGltaXQuYzoxOTYgc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1vdXRwdXQpOlxuIgorbXNnc3RyICIiCisiXG4iCisiQ8OhYyBj4buZdCBz4bq1biBkw7luZyAoY2hvIGvhur90IHh14bqldCk6XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhY2Nlc3Mgc3lzZnMgZGlyZWN0b3J5OiAlcyIKK21zZ3N0ciAiVHJ1eSBj4bqtcCB0aMawIG3hu6VjIHN5c2ZzIGfhurdwIGzhu5dpOiAlcyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzMKK21zZ2lkICJjb21tYW5kIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgImzhu4duaCBj4bunYSBj4bunYSB0aeG6v24gdHLDrG5oIMSRYW5nIGdp4buvIGtow7NhIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NAorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICJQSUQgY+G7p2EgdGnhur9uIHRyw6xuaCBnaeG7ryBraMOzYSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzUKK21zZ2lkICJraW5kIG9mIGxvY2s6IEZMX0ZMT0NLIG9yIEZMX1BPU0lYLiIKK21zZ3N0ciAia2nhu4N1IGtow7NhOiBGTF9GTE9DSyBob+G6t2MgRkxfUE9TSVguIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NgorbXNnaWQgInNpemUgb2YgdGhlIGxvY2siCittc2dzdHIgImvDrWNoIHRoxrDhu5tjIGPhu6dhIGtow7NhIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NworbXNnaWQgImxvY2sgYWNjZXNzIG1vZGUiCittc2dzdHIgImNo4bq/IMSR4buZIHRydXkgY+G6rXAga2jDs2EiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc4Cittc2dpZCAibWFuZGF0b3J5IHN0YXRlIG9mIHRoZSBsb2NrOiAwIChub25lKSwgMSAoc2V0KSIKK21zZ3N0ciAidHLhuqFuZyB0aMOhaSBs4buHbmggY+G7p2Ega2jDs2E6IDAgKGtow7RuZyksIDEgKMSR4bq3dCkiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc5Cittc2dpZCAicmVsYXRpdmUgYnl0ZSBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgImtob+G6o25nIGLDuSB0aGVvIGJ5dGUgdMawxqFuZyDEkeG7kWkgY+G7p2Ega2jDs2EiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgwCittc2dpZCAiZW5kaW5nIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAia+G6v3QgdGjDumMga2hv4bqjbmcgYsO5IGPhu6dhIGtow7NhIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MQorbXNnaWQgInBhdGggb2YgdGhlIGxvY2tlZCBmaWxlIgorbXNnc3RyICLEkcaw4budbmcgZOG6q24gdOG6rXAgdGluIGtow7NhIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MgorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBibG9ja2luZyB0aGUgbG9jayIKK21zZ3N0ciAiUElEIGPhu6dhIHRp4bq/biB0csOsbmggbmfEg24gY+G6o24ga2jDs2EiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI1OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJRCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIElEIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODEgc3lzLXV0aWxzL25zZW50ZXIuYzoyMzIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGlkIgorbXNnc3RyICJs4buXaSBwaMOibiB0w61jaCBQSUQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4NAorbXNnaWQgIih1bmtub3duKSIKK21zZ3N0ciAiKGtow7RuZyBoaeG7g3UpIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyOTMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgImfhurdwIGzhu5dpIHBow6JuIHTDrWNoIGLhuq90IMSR4bqndSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzAwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVuZCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kgcGjDom4gdMOtY2gga+G6v3QgdGjDumMiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNAorbXNnaWQgIkxpc3QgbG9jYWwgc3lzdGVtIGxvY2tzLlxuIgorbXNnc3RyICJMaeG7h3Qga8OqIGPDoWMga2jDs2EgaOG7hyB0aOG7kW5nIG7hu5lpIGLhu5kuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwOAorbXNnaWQgIiAtaSwgLS1ub2luYWNjZXNzaWJsZSAgIGlnbm9yZSBsb2NrcyB3aXRob3V0IHJlYWQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDkgc3lzLXV0aWxzL2xzbnMuYzo2MjEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGtow7RuZyBpbiBwaOG6p24gxJHhuqd1XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMCBzeXMtdXRpbHMvbHNucy5jOjYyMgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGRzw6FjaD4gxJHhu4tuaCBuZ2jEqWEgeGVtIGPhu5l0IG7DoG8gc+G6vSDEkcaw4bujYyBkw7luZ1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTEKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgZGlzcGxheSBvbmx5IGxvY2tzIGhlbGQgYnkgdGhpcyBwcm9jZXNzXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPG3Do19z4buRX3Rp4bq/bl90csOsbmg+4oCmICAgICB0aOG7sWMgaGnhu4duIHRyw6puIG5o4buvbmcgdGnhur9uIHRyw6xuaCDEkWFuZyBjaOG6oXlcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTEyIHN5cy11dGlscy9sc25zLmM6NjI0CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgZMO5bmcgxJHhu4tuaCBk4bqhbmcgdGjDtFxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1NzAgc2NoZWR1dGlscy9jaHJ0LmM6NDc4IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc3CisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxNjMgc3lzLXV0aWxzL2xzbnMuYzo2OTkgc3lzLXV0aWxzL3BybGltaXQuYzo1ODYKK21zZ2lkICJpbnZhbGlkIFBJRCBhcmd1bWVudCIKK21zZ3N0ciAixJHhu5FpIHPhu5EgUElEIGtow7RuZyBo4bujcCBs4buHIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4NQorbXNnaWQgIkdlbmVyYXRlIG1hZ2ljIGNvb2tpZXMgZm9yIHhhdXRoLlxuIgorbXNnc3RyICJU4bqhbyBjb29raWVzIG1hIHRodeG6rXQgY2hvIHhhdXRoLlxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgdXNlIGZpbGUgYXMgYSBjb29raWUgc2VlZFxuIgorbXNnc3RyICIgLWYsIC0tZmlsZSA8VOG6rFAtVElOPiAgZMO5bmcgdOG6rXAgdGluIG5oxrAgbMOgIHNlZWQgY29va2llXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg5Cittc2dpZCAiIC1tLCAtLW1heC1zaXplIDxudW0+ICBsaW1pdCBob3cgbXVjaCBpcyByZWFkIGZyb20gc2VlZCBmaWxlc1xuIgorbXNnc3RyICIgLW0sIC0tbWF4LXNpemUgPHPDsz4gICBnaeG7m2kgaOG6oW4gxJHhu41jIHThu6sgdOG6rXAgdGluIG3huqdtIGJhbyBuaGnDqnVcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6OTAKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgZ2nhuqNpIHRow61jaCDEkWFuZyBsw6BtIGfDrFxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiR290ICV6dSBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICV6dSBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIk5o4bqtbiAlenUgYnl0ZSB04burICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9zaW5nICVzIGZhaWxlZCIKK21zZ3N0ciAixJHDs25nICVzIGfhurdwIGzhu5dpIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNjQgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNDYgc3lzLXV0aWxzL2ZzdHJpbS5jOjMwOAorIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTE3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxlbmd0aCIKK21zZ3N0ciAia2jDtG5nIHBow6JuIHTDrWNoIMSRxrDhu6NjIMSR4buZIGTDoGkiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE3NworbXNnaWQgIi0tbWF4LXNpemUgaWdub3JlZCB3aGVuIHVzZWQgd2l0aG91dCAtLWZpbGUiCittc2dzdHIgIi0tbWF4LXNpemUgYuG7iyBi4buPIHF1YSBraGkgZMO5bmcgbcOgIGtow7RuZyBjw7MgLS1maWxlIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR290ICVkIGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJWQgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICLEkMOjIG5o4bqtbiAlZCBieXRlIHThu6sgJXNcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjkwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHN5bWxpbms6ICVzIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhu41jIGxpw6puIGvhur90IG3hu4FtOiAlcyIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAtIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiJXMgLSBLaMO0bmcgY8OzIHThuq1wIHRpbiBoYXkgdGjGsCBt4bulYyBuaMawIHbhuq15LlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBhdGhuYW1lPi4uLlxuIgorbXNnc3RyICIgJXMgW2PDoWMtdMO5eS1jaOG7jW5dIDx0w6puX8SRxrDhu51uZ19k4bqrbj7igKZcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzNgorbXNnaWQgIkZvbGxvdyBhIHBhdGhuYW1lIHVudGlsIGEgdGVybWluYWwgcG9pbnQgaXMgZm91bmQuXG4iCittc2dzdHIgIlRoZW8gdMOqbiDEkcaw4budbmcgZOG6q24gY2hvIMSR4bq/biBraGkgdMOsbSB0aOG6pXkgxJFp4buDbSBr4bq/dCB0aMO6Yy5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzOQorbXNnaWQgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICBkaXNwbGF5cyB0aGlzIGhlbHAgdGV4dFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC14LCAtLW1vdW50cG9pbnRzICAgc2hvdyBtb3VudCBwb2ludCBkaXJlY3RvcmllcyB3aXRoIGEgJ0QnXG4iCisiIC1tLCAtLW1vZGVzICAgICAgICAgc2hvdyB0aGUgbW9kZSBiaXRzIG9mIGVhY2ggZmlsZVxuIgorIiAtbywgLS1vd25lcnMgICAgICAgIHNob3cgb3duZXIgYW5kIGdyb3VwIG5hbWUgb2YgZWFjaCBmaWxlXG4iCisiIC1sLCAtLWxvbmcgICAgICAgICAgdXNlIGEgbG9uZyBsaXN0aW5nIGZvcm1hdCAoLW0gLW8gLXYpIFxuIgorIiAtbiwgLS1ub3N5bWxpbmtzICAgIGRvbid0IGZvbGxvdyBzeW1saW5rc1xuIgorIiAtdiwgLS12ZXJ0aWNhbCAgICAgIHZlcnRpY2FsIGFsaWduIG9mIG1vZGVzIGFuZCBvd25lcnNcbiIKK21zZ3N0ciAiIgorIiAtaCwgLS1oZWxwICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorIiAteCwgLS1tb3VudHBvaW50cyAgIGhp4buDbiB0aOG7iyBjw6FjIHRoxrAgbeG7pWMgxJFp4buDbSBs4bqvcCBkw7luZyDigJxE4oCdXG4iCisiIC1tLCAtLW1vZGVzICAgICAgICAgaGnhu4NuIHRo4buLIGPDoWMgYml0IGNo4bq/IMSR4buZIGPhu6dhIG3hu5dpIHThuq1wIHRpblxuIgorIiAtbywgLS1vd25lcnMgICAgICAgIGhp4buDbiB0aOG7iyB0w6puIGNo4bunIHbDoCBuaMOzbSBj4bunYSBt4buXaSB04bqtcCB0aW5cbiIKKyIgLWwsIC0tbG9uZyAgICAgICAgICBkw7luZyBt4buZdCDEkeG7i25oIGThuqFuZyBsaeG7h3Qga8OqIGTDoGkgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICBraMO0bmcgdGhlbyBsacOqbiBr4bq/dCBt4buBbVxuIgorIiAtdiwgLS12ZXJ0aWNhbCAgICAgIHPhuq9wIGjDoG5nIHRoZW8gY2hp4buBdSBk4buNYyBjw6FjIGNo4bq/IMSR4buZIHbDoCBjaOG7pyBz4bufIGjhu691XG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MDgKK21zZ2lkICJwYXRobmFtZSBhcmd1bWVudCBpcyBtaXNzaW5nIgorbXNnc3RyICLEkeG7kWkgc+G7kSB04bubaSB0w6puIMSRxrDhu51uZyBk4bqrbiBjw7JuIHRoaeG6v3UiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTQgc3lzLXV0aWxzL2xzbnMuYzo3NjQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIFVJRCBjYWNoZSIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGPhuqVwIHBow6F0IHBo4bqnbiDEkeG6p3UgR1BUIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHSUQgY2FjaGUiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBj4bqlcCBwaMOhdCBwaOG6p24gxJHhuqd1IEdQVCIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhjZWVkZWQgbGltaXQgb2Ygc3ltbGlua3MiCittc2dzdHIgIiVzOiB2xrDhu6N0IHF1w6EgaOG6oW4gbmfhuqFjaCBz4buRIGPDoWMgbGnDqm4ga+G6v3QgbeG7gW0iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHN5bWJvbGljIGxpbmsiCittc2dzdHIgIiVzOiBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCBsacOqbiBr4bq/dCBt4buBbSIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZGxpbmsgZmFpbGVkIgorbXNnc3RyICIlczogcmVhZGxpbmsgZ+G6t3AgbOG7l2kiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubGluayBmYWlsZWQiCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgYuG7jyBsacOqbiBr4bq/dCBt4buBbSIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3ltbGlua2luZyB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiB04bqhbyBsacOqbiBr4bq/dCBt4buBbSDEkeG6v24gJXMgZ+G6t3AgbOG7l2kiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZW5hbWUgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogxJHhu5VpIHTDqm4gdGjDoG5oICVzIGfhurdwIGzhu5dpIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxleHByZXNzaW9uPiA8cmVwbGFjZW1lbnQ+IDxmaWxlPi4uLlxuIgorbXNnc3RyICIgJXMgW2PDoWMgdMO5eSBjaOG7jW5dIDxiaeG7g3VfdGjhu6ljPiA8dGhheV90aOG6vz4gPHThuq1wX3Rpbj7igKZcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjIKK21zZ2lkICJSZW5hbWUgZmlsZXMuXG4iCittc2dzdHIgIsSQ4buVaSB0w6puIGPDoWMgdOG6rXAgdGluLlxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyNQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgIGdp4bqjaSB0aMOtY2ggY8OhYyBjw7RuZyB2aeG7h2MgxJHDoyBsw6BtXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTI2Cittc2dpZCAiIC1zLCAtLXN5bWxpbmsgICAgYWN0IG9uIHRoZSB0YXJnZXQgb2Ygc3ltbGlua3NcbiIKK21zZ3N0ciAiIC1zLCAtLXN5bWxpbmsgICAgdMOhYyDEkeG7mW5nIGzDqm4gxJHDrWNoIGxpw6puIGvhur90IG3hu4FtXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MgorbXNnaWQgIkEgZGFlbW9uIGZvciBnZW5lcmF0aW5nIFVVSURzLlxuIgorbXNnc3RyICJQaOG6p24gbeG7gW0gZOG7i2NoIHbhu6UgxJHhu4MgdOG6oW8gY8OhYyBVVUlELlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKK21zZ3N0ciAiIC1ULCAtLXRhcmdldCA8Y2h14buXaT4gICDEkWnhu4NtIGfhuq9uIMSRxrDhu6NjIGTDuW5nXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKK21zZ3N0ciAiIC11LCAtLXNvY2tldCA8c29ja2V0PiAgICBnaGkgcmEg4buVIGPhuq9tIFVuaXggbsOgeVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRpbWVvdXQgPHNlYz4gICAgIHNwZWNpZnkgaW5hY3Rpdml0eSB0aW1lb3V0XG4iCittc2dzdHIgIiAtdCwgLS10aW1lb3V0IDxz4buRPiAgICAgICAgIHRo4budaSBo4bqhbiBjaOG7nSB0aeG6v24gdHLDrG5oIHThu5FpIMSRYVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGtpbGwgcnVubmluZyBkYWVtb25cbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIGLhu48gZ+G6r24gdOG6pXQgY+G6oyBjw6FjIGjhu4cgdGjhu5FuZyB04bqtcCB0aW5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc4CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAtYywgLS1jcmVhdG9yICAgICBoaeG7g24gdGjhu4sgbmfGsOG7nWkgdOG6oW8gdsOgIGNo4bunIHPhu58gaOG7r3VcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc5CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICB0ZXN0IHRpbWUtYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICB0csOsbmggxJFp4buBdSBraGnhu4NuIMSR4bujaSB0cm9uZyBtaS1saS1nacOieVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODAKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCittc2dzdHIgIiAtSCwgLS1oZWFkcyA8c+G7kT4gICAgICAgICAgICAgIGNo4buJIMSR4buLbmggc+G7kSBsxrDhu6NuZyDEkeG6p3UgdOG7q1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKK21zZ3N0ciAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGtow7RuZyBoaeG7g24gdGjhu4sgdOG6rXAgdGluIHBow6F0IHJhXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MgorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorbXNnc3RyICIgLUYsIC0tbm8tZm9yayAgICAgICAgICBraMO0bmcgcuG6vSBuaMOhbmggdGnhur9uIHRyw6xuaCB0csaw4bubYyB0aOG7sWMgdGhpIDxjaMawxqFuZyB0csOsbmg+XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MworIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iCittc2dzdHIgIkPhuqMgaGFpIHTDuXkgY2jhu41uIC0tc29ja2V0LWFjdGl2YXRpb24gdsOgIC0tc29ja2V0IMSRxrDhu6NjIGNo4buJIHJhLiDEkGFuZyBs4budIMSRaSAtLXNvY2tldC4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4NAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCittc2dzdHIgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBpbiB0aMO0bmcgxJFp4buHcCBk4bqhbmcgxJHhuqd5IMSR4bunIHJhIGTDsm5nIGLDoW8gbOG7l2kgc3RkZXJyXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4NQorIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgdHVybiBvbiBxdWlldCBtb2RlXG4iCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIGNo4bq3biBjw6FjIHRow7RuZyB0aW4gdGjDtG5nIGLDoW8gbeG7nyBy4buZbmdcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjExOAorbXNnaWQgImJhZCBhcmd1bWVudHMiCittc2dzdHIgIsSR4buRaSBz4buRIHNhaSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEyNQorbXNnaWQgInNvY2tldCIKK21zZ3N0ciAi4buVIGPhuq9tIChzb2NrZXQpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTM2Cittc2dpZCAiY29ubmVjdCIKK21zZ3N0ciAia+G6v3QgbuG7kWkiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNTYKK21zZ2lkICJ3cml0ZSIKK21zZ3N0ciAiZ2hpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTY0Cittc2dpZCAicmVhZCBjb3VudCIKK21zZ3N0ciAixJHhur9tIHPhu5EgbOG6p24gxJHhu41jIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTcwCittc2dpZCAiYmFkIHJlc3BvbnNlIGxlbmd0aCIKK21zZ3N0ciAiY2hp4buBdSBkw6BpIMSRw6FwIOG7qW5nIHNhaSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIyMQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbG9jayAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGtow7NhICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjQ2Cittc2dpZCAiY291bGRuJ3QgY3JlYXRlIHVuaXggc3RyZWFtIHNvY2tldCIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIOG7lSBj4bqvbSBsdeG7k25nIFVOSVgiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgYmluZCB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIMSRw7NuZyBr4bq/dCDhu5UgY+G6r20gVU5JWCAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI5OAorIywgZnV6enkKK21zZ2lkICJyZWNlaXZpbmcgc2lnbmFsIGZhaWxlZCIKK21zZ3N0ciAiZ+G7rWkgdMOtbiBoaeG7h3UgxJHhur9uICVzIGfhurdwIGzhu5dpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzExCittc2dpZCAidGltZWQgb3V0IgorbXNnc3RyICJxdcOhIGjhuqFuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzQ1IHN5cy11dGlscy9mbG9jay5jOjI3MQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHVwIHRpbWVyIgorbXNnc3RyICJraMO0bmcgxJHhurd0IMSRxrDhu6NjIG3DoyBz4buRIG5ow7NtIChHSUQpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgInV1aWRkIGRhZW1vbiBpcyBhbHJlYWR5IHJ1bm5pbmcgYXQgcGlkICVzIgorbXNnc3RyICJUcsOsbmggbuG7gW4gdXVpZGQgxJHDoyBjaOG6oXkgduG7m2kgUElEICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGxpc3RlbiBvbiB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGzhuq9uZyBuZ2hlIHRyw6puIOG7lSBj4bqvbSBVTklYICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzcyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB0cnVuY2F0ZSBmaWxlOiAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGPhuq90IG5n4bqvbiB04bqtcCB0aW46ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzg2CisjLCBmdXp6eQorbXNnaWQgInNkX2xpc3Rlbl9mZHMoKSBmYWlsZWQiCittc2dzdHIgInNldHRpbWVvZmRheSgpIGtow7RuZyB0aMOgbmggY8O0bmciCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODkKK21zZ2lkICJubyBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayBzeXN0ZW1jdGwgc3RhdHVzIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzkyCisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAia2jDtG5nIGhv4bq3YyBsw6AgcXXDoSBuaGnhu4F1IGLhu5kgbcO0IHThuqMgdOG6rXAgdGluIMSRxrDhu6NjIG5o4bqtbiB24buBIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDIwIHRlcm0tdXRpbHMvc2NyaXB0LmM6NDU1CisjLCBmdXp6eQorbXNnaWQgInBvbGwgZmFpbGVkIgorbXNnc3RyICJwb2xsKCkgZ+G6t3AgbOG7l2kiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRpbWVvdXQgWyVkIHNlY11cbiIKK21zZ3N0ciAibOG7l2kgcXXDoSBsw6J1IHNhdSAldSBnacOieSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0MyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQxNAorbXNnaWQgInJlYWQgZmFpbGVkIgorbXNnc3RyICLEkeG7jWMgZ+G6t3AgbOG7l2kiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgcmVhZGluZyBmcm9tIGNsaWVudCwgbGVuID0gJWQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG7jWMgdOG7qyDhu6luZyBk4bulbmcga2jDoWNoLCBkw6BpID0gJWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkLCBpbmNvbWluZyBudW0gPSAlZFxuIgorbXNnc3RyICJ0aGFvIHTDoWMgJWQsIHPhu5EgZ+G7rWkgxJHhur9uID0gJWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ1NworIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAidGhhbyB0w6FjICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRDogJXNcbiIKK21zZ3N0ciAiVVVJRCB0aOG7nWkgZ2lhbiDEkcOjIHThuqFvIHJhOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCByYW5kb20gVVVJRDogJXNcbiIKK21zZ3N0ciAiVVVJRCBuZ+G6q3Ugbmhpw6puIMSRw6MgdOG6oW8gcmE6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgYW5kICVkIGZvbGxvd2luZ1xuIgorbXNnc3RyWzBdICLEkMOjIHThuqFvIHJhIFVVSUQgdGjhu51pIGdpYW4gJXMgdsOgICVkIHRoZW8gc2F1XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkICVkIFVVSUQ6XG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCAlZCBVVUlEczpcbiIKK21zZ3N0clswXSAixJDDoyB04bqhbyByYSAlZCBVVUlEOlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgb3BlcmF0aW9uICVkXG4iCittc2dzdHIgIlRoYW8gdMOhYyBraMO0bmcgaOG7o3AgbOG7hyAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgcmVwbHkgbGVuZ3RoIGZyb20gc2VydmVyICVkIgorbXNnc3RyICJNw6F5IHBo4bulYyB24bulIMSRw6FwIOG7qW5nIHbhu5tpIGNoaeG7gXUgZMOgaSBi4bqldCB0aMaw4budbmcgJWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MDAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS11dWlkcyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIC0tdXVpZHMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MTcKK21zZ2lkICJ1dWlkZCBoYXMgYmVlbiBidWlsdCB3aXRob3V0IHN1cHBvcnQgZm9yIHNvY2tldCBhY3RpdmF0aW9uIgorbXNnc3RyICJ1dWlkZCDEkcaw4bujYyB4w6J5IGThu7FuZyBtw6Aga2jDtG5nIGjhu5cgdHLhu6MgY2hvIGhv4bqhdCBow7NhIOG7lSBj4bqvbSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYzNgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRpbWVvdXQiCittc2dzdHIgImzhu5dpIHBow6JuIHTDrWNoIC0tdGltZW91dCAoY2jhu50gdOG7kWkgxJFhKSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1MworbXNnaWQgIkJvdGggLS1zb2NrZXQtYWN0aXZhdGlvbiBhbmQgLS1zb2NrZXQgc3BlY2lmaWVkLiBJZ25vcmluZyAtLXNvY2tldC4iCittc2dzdHIgIkPhuqMgaGFpIHTDuXkgY2jhu41uIC0tc29ja2V0LWFjdGl2YXRpb24gdsOgIC0tc29ja2V0IMSRxrDhu6NjIGNo4buJIHJhLiDEkGFuZyBs4budIMSRaSAtLXNvY2tldC4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjAgbWlzYy11dGlscy91dWlkZC5jOjY4OAorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjYWxsaW5nIHV1aWRkIGRhZW1vbiAoJXMpIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgZ+G7jWkgcGjhuqduIG3hu4FtIGThu4tjaCB24bulIHV1aWRkICglcykiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjEgbWlzYy11dGlscy91dWlkZC5jOjY4OQorbXNnaWQgInVuZXhwZWN0ZWQgZXJyb3IiCittc2dzdHIgImfhurdwIGzhu5dpIGLhuqV0IHRoxrDhu51uZyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEXG4iCittc2dpZF9wbHVyYWwgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURzXG4iCittc2dzdHJbMF0gIiVzIHbDoCAlZCBVVUlEIHjhuqN5IHJhIHNhdVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjczCisjLCBjLWZvcm1hdAorbXNnaWQgIkxpc3Qgb2YgVVVJRHM6XG4iCittc2dzdHIgIkRhbmggc8OhY2ggY8OhYyBVVUlEOlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGtpbGwgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQiCittc2dzdHIgImtow7RuZyB0aOG7gyBideG7mWMga+G6v3QgdGjDumMgdXVpZGQgxJFhbmcgY2jhuqF5IHbhu5tpIFBJRCAlZCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcxMAorIywgYy1mb3JtYXQKK21zZ2lkICJLaWxsZWQgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQuXG4iCittc2dzdHIgIsSQw6MgYnXhu5ljIGvhur90IHRow7pjIHV1aWRkIGNo4bqheSB24bubaSBQSUQgJWQuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI4Cittc2dpZCAiQ3JlYXRlIGEgbmV3IFVVSUQgdmFsdWUuXG4iCittc2dzdHIgIlThuqFvIG3hu5l0IGdpw6EgdHLhu4sgVVVJRCBt4bubaS5cbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzEKK21zZ2lkICIiCisiIC1yLCAtLXJhbmRvbSAgICAgZ2VuZXJhdGUgcmFuZG9tLWJhc2VkIHV1aWRcbiIKKyIgLXQsIC0tdGltZSAgICAgICBnZW5lcmF0ZSB0aW1lLWJhc2VkIHV1aWRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyIgLXIsIC0tcmFuZG9tICAgICB04bqhbyBz4buRIG5n4bqrdSBuaGnDqm4gY8ahIHPhu58gdXVpZFxuIgorIiAtdCwgLS10aW1lICAgICAgIHThuqFvIHRo4budaSBnaWFuIGPGoSBz4bufIHV1aWRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB24buBIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKyIgLWgsIC0taGVscCAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKyJcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstQk1TIDxkaXI+Li4uIC1mXSA8bmFtZT5cbiIKK21zZ3N0ciAiICVzIFtUVeG7sl9DSOG7jE5dIFs8VOG6rFBfVElOPiDigKZdXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5MgorbXNnaWQgIkxvY2F0ZSB0aGUgYmluYXJ5LCBzb3VyY2UsIGFuZCBtYW51YWwtcGFnZSBmaWxlcyBmb3IgYSBjb21tYW5kLlxuIgorbXNnc3RyICLEkOG7i25oIHbhu4sgY8OhYyB04bqtcCB0aW4gbmjhu4sgcGjDom4sIG3DoyBuZ3Xhu5NuLCB2w6AgdHJhbmcgaMaw4bubbmcgZOG6q24gY2hvIG3hu5l0IGzhu4duaC5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk1Cittc2dpZCAiIC1iICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIGJpbmFyaWVzXG4iCittc2dzdHIgIiAtYiAgICAgICAgIGNo4buJIHTDrG0ga2nhur9tIGNobyBuaOG7iyBwaMOiblxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTYKK21zZ2lkICIgLUIgPGRpcnM+ICBkZWZpbmUgYmluYXJpZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIC1CIDx0Lm3hu6VjPiDEkeG7i25oIG5naMSpYSB0aMawIG3hu6VjIHTDrG0ga2nhur9tIG5o4buLIHBow6JuXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5NworbXNnaWQgIiAtbSAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBtYW51YWxzIGFuZCBpbmZvc1xuIgorbXNnc3RyICIgLW0gICAgICAgICBjaOG7iSB0w6xtIGtp4bq/bSBoxrDhu5tuZyBk4bqrbiBk4bqhbmcgbWFuIHbDoCBpbmZvXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5OAorbXNnaWQgIiAtTSA8ZGlycz4gIGRlZmluZSBtYW4gYW5kIGluZm8gbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIC1NIDx0Lm3hu6VjPiDEkeG7i25oIG5naMSpYSDEkcaw4budbmcgZOG6q24gdMOsbSBraeG6v20gbWFuIHbDoCBpbmZvXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5OQorbXNnaWQgIiAtcyAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBzb3VyY2VzXG4iCittc2dzdHIgIiAtcyAgICAgICAgIGNo4buJIHTDrG0ga2nhur9tIGNobyBuZ3Xhu5NuXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMAorbXNnaWQgIiAtUyA8ZGlycz4gIGRlZmluZSBzb3VyY2VzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiAtUyA8dC5t4bulYz4gxJHhu4tuaCBuZ2jEqWEgxJHGsOG7nW5nIGThuqtuIHTDrG0ga+G6v20gbmd14buTblxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDEKK21zZ2lkICIgLWYgICAgICAgICB0ZXJtaW5hdGUgPGRpcnM+IGFyZ3VtZW50IGxpc3RcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgY2jhuqVtIGThu6l0IGRhbmggc8OhY2ggxJHhu5FpIHPhu5EgPHQubeG7pWM+XG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMgorbXNnaWQgIiAtdSAgICAgICAgIHNlYXJjaCBmb3IgdW51c3VhbCBlbnRyaWVzXG4iCittc2dzdHIgIiAtdSAgICAgICAgIHTDrG0ga2nhur9tIGPDoWMgbeG7pWMgYuG6pXQgdGjGsOG7nW5nXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMworbXNnaWQgIiAtbCAgICAgICAgIG91dHB1dCBlZmZlY3RpdmUgbG9va3VwIHBhdGhzXG4iCittc2dzdHIgIiAtbCAgICAgICAgIGhp4buDbiB0aOG7iyBjw6FjIMSRxrDhu51uZyBk4bqrbiB0w6xtIGtp4bq/bSBo4buvdSDDrWNoXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjYxOQorIywgZnV6enkKK21zZ2lkICJvcHRpb24gLWYgaXMgbWlzc2luZyIKK21zZ3N0ciAixJHhu5FpIHPhu5EgdOG7m2kgdMOqbiDEkcaw4budbmcgZOG6q24gY8OybiB0aGnhur91IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjE5NgorbXNnaWQgInBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiYuG6o25nIHBow6JuIHbDuW5nIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IHByb2JpbmcgaW5pdGlhbGl6YXRpb24gZmFpbGVkIgorbXNnc3RyICJs4buXaTogJXM6IGzhu5dpIGto4bufaSB04bqhbyBow6BtIGTDsiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBlcmFzZSAlcyBtYWdpYyBzdHJpbmcgYXQgb2Zmc2V0IDB4JTA4angiCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgdOG6qXkgY2h14buXaSBtw6B1IG5oaeG7h20gJXMgdOG6oWkgduG7iyB0csOtIG9mZnNldCAweCUwOGp4IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dpZF9wbHVyYWwgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzBdICIlczogJXpkIGJ5dGVzIGLhu4sgeMOzYSDhu58ga2hv4bqjbmcgYsO5IDB4JTA4anggKCVzKTogIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjM0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAiCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgdOG6oW8gbeG7mXQgYuG6o24gZOG7sSBwaMOybmcga8O9IGhp4buHdSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbGxpbmcgaW9jdGwgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGU6ICVtXG4iCittc2dzdHIgIiVzOiDEkWFuZyBn4buNaSBow6BtIGlvY3RsKCkgxJHhu4MgxJHhu41jIGzhuqFpIGLhuqNuZyBwaMOibiB2w7luZzogJW1cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozODUKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgdOG6oW8gbeG7mXQgc2FvIGzGsHUgY2jhu68ga8O9LCBjaMawYSDEkeG7i25oIG5naMSpYSBiaeG6v24gJEhPTUUiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpZ25vcmluZyBuZXN0ZWQgXCIlc1wiIHBhcnRpdGlvbiB0YWJsZSBvbiBub24td2hvbGUgZGlzayBkZXZpY2UiCittc2dzdHIgIiVzOiBi4buPIHF1YSBi4bqjbmcgcGjDom4gdsO5bmcgbOG7k25nIG5oYXUgXCIlc1wiIHRyw6puIHRoaeG6v3QgYuG7iyBraMO0bmctdG/DoG4txJHEqWEiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgMHglanggbm90IGZvdW5kIgorbXNnc3RyICIlczogxJFp4buDbSBvZmZzZXQgMHglangga2jDtG5nIHTDrG0gdGjhuqV5IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQzNQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBvcHRpb24gdG8gZm9yY2UgZXJhc2UuIgorbXNnc3RyICJEw7luZyB0w7l5IGNo4buNbiAtLWZvcmNlIMSR4buDIGJ14buZYyB04bqpeS4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU5Cittc2dpZCAiV2lwZSBzaWduYXR1cmVzIGZyb20gYSBkZXZpY2UuXG4iCittc2dzdHIgIlThuql5IGNo4buvIGvDvSB04burIG3hu5l0IHRoaeG6v3QgYuG7iy5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0NjIKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpXG4iCisiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgIGZvcmNlIGVyYXN1cmVcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCisiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGxcbiIKKyIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgdG8gZXJhc2UsIGluIGJ5dGVzXG4iCisiIC1wLCAtLXBhcnNhYmxlICAgICAgcHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdFxuIgorIiAtcSwgLS1xdWlldCAgICAgICAgIHN1cHByZXNzIG91dHB1dCBtZXNzYWdlc1xuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSwgUkFJRHMgb3IgcGFydGl0aW9uIHRhYmxlc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICB4w7NhIG3hu41pIGNodeG7l2kgbWEgdGh14bqtdCAoQ+G6qE4gVEjhuqxOISlcbiIKKyIgLWIsIC0tYmFja3VwICAgICAgICB04bqhbyBt4buZdCBzYW8gY2jDqXAgY2jhu68ga8O9IHRyb25nICRIT01FXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgw6lwIGJ14buZYyB4w7NhXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHlcbiIKKyIgLW4sIC0tbm8tYWN0ICAgICAgICBsw6BtIHThuqV0IGPhuqMgY8OhYyB2aeG7h2MsIHRy4burIGPDuiBn4buNaSBnaGkgd3JpdGUoKSB0aOG6rXRcbiIKKyIgLW8sIC0tb2Zmc2V0IDxT4buQPiAgIGtob+G6o25nIGNow6puaCBj4bqnbiB4w7NhLCB0aGVvIGJ5dGVcbiIKKyIgLXAsIC0tcGFyc2FibGUgICAgICBpbiByYSB0aGVvIMSR4buLbmggZOG6oW5nIGPDsyB0aOG7gyBwaMOibiB0w61jaCxcbiIKKyIgICAgICAgICAgICAgICAgICAgICB0aGF5IGNobyDEkeG7i25oIGThuqFuZyBjw7MgdGjhu4MgaW4g4bqlblxuIgorIiAtcSwgLS1xdWlldCAgICAgICAgIGNo4bq3biBt4buNaSB0aMO0bmcgxJFp4buHcFxuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gIGdp4bubaSBo4bqhbiB04bqtcCBo4bujcCBo4buHIHRo4buRbmcgdOG6rXAgdGluLCBSQUlEcyBoYXkgYuG6o25nIHBow6JuIHbDuW5nXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgeHXhuqV0IHRow7RuZyB0aW4gduG7gSBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTMzCittc2dpZCAiaW52YWxpZCBvZmZzZXQgYXJndW1lbnQiCittc2dzdHIgIsSR4buRaSBz4buRIGtob+G6o25nIGLDuSBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1NTgKK21zZ2lkICJUaGUgLS1iYWNrdXAgb3B0aW9uIGlzIG1lYW5pbmdsZXNzIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAiVMO5eSBjaOG7jW4gLS1iYWNrdXAga2jDtG5nIGPDsyBuZ2jEqWEgdHJvbmcgbmfhu68gY+G6o25oIG7DoHkiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZWFsLXRpbWUgc2NoZWR1bGluZyBhdHRyaWJ1dGVzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiSGnhu4NuIHRo4buLIGhheSDEkeG7lWkgY8OhYyB0aHXhu5ljIHTDrW5oIHTDoWMgduG7pSB0aOG7nWktZ2lhbi10aOG7sWMgY+G7p2EgbeG7mXQgdGnhur9uIHRyw6xuaC5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJTZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSA8cHJpb3JpdHk+IDxjb21tYW5kPiBbPGFyZz4uLi5dXG4iCisiIGNocnQgW29wdGlvbnNdIC0tcGlkIDxwcmlvcml0eT4gPHBpZD5cbiIKK21zZ3N0ciAiIgorIlxuIgorIsSQ4bq3dCBjaMOtbmggc8OhY2g6XG4iCisiICBjaHJ0IFt0deG7s19jaOG7jW7igKZdIFs8Y2jDrW5oX3PDoWNoPl0gPMawdV90acOqbj4gWy1wIDxwaWQ+IHwgPGzhu4duaD4gWzzEkeG7kWlfc+G7kT4g4oCmXV1cbiIKKyJcbiIKKyJM4bqleSBjaMOtbmggc8OhY2g6XG4iCisiICBjaHJ0IFt0deG7s19jaOG7jW7igKZdIC1wIDxwaWQ+XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0MQorbXNnaWQgIiIKKyJHZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSAtcCA8cGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NQorIywgZnV6enkKK21zZ2lkICJQb2xpY3kgb3B0aW9uczpcbiIKK21zZ3N0ciAiVMO5eSBjaOG7jW4gdMOgaSBuZ3V5w6puOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDYKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJhdGNoICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfQkFUQ0hcbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIMSR4bq3dCBiw610IGNo4bq1biBs4bq7IHRow6BuaCBy4buXbmcga2jDtG5nXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NworIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGVhZGxpbmUgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9ERUFETElORVxuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgxJHhurd0IGLDrXQgY2jhurVuIGzhursgdGjDoG5oIHLhu5duZyBraMO0bmdcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ4CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maWZvICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIMSR4bq3dCBiw610IGNo4bq1biBs4bq7IHRow6BuaCBy4buXbmcga2jDtG5nXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taWRsZSAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9JRExFXG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICDEkeG6t3QgYsOtdCBjaOG6tW4gbOG6uyB0aMOgbmggcuG7l25nIGtow7RuZ1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW90aGVyICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIKK21zZ3N0ciAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIMSR4bq3dCBiw610IGNo4bq1biBs4bq7IHRow6BuaCBs4bq7XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcnIgICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC0xLCAtLW9uZSAgICAgICAgICAgICBjaOG7iSBoaeG7g24gdGjhu4sgbeG7mXQgdGjDoW5nICht4bq3YyDEkeG7i25oKVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTQKKyMsIGZ1enp5Cittc2dpZCAiU2NoZWR1bGluZyBvcHRpb25zOlxuIgorbXNnc3RyICJUw7l5IGNo4buNbiB4deG6pXQ6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NQorIywgZnV6enkKK21zZ2lkICIgLVIsIC0tcmVzZXQtb24tZm9yayAgICAgICBzZXQgU0NIRURfUkVTRVRfT05fRk9SSyBmb3IgRklGTyBvciBSUlxuIgorbXNnc3RyICIiCisiXG4iCisiQ+G7nSDEkeG7i25oIHRo4budaTpcbiIKKyIgIC1SIHwgLS1yZXNldC1vbi1mb3JrIMSR4bq3dCBTQ0hFRF9SRVNFVF9PTl9GT1JLIGNobyBGSUZPIGhheSBSUlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTYKK21zZ2lkICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBydW50aW1lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTcKK21zZ2lkICIgLVAsIC0tc2NoZWQtcGVyaW9kIDxucz4gICBwZXJpb2QgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1OAorbXNnaWQgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IGRlYWRsaW5lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiT3RoZXIgb3B0aW9uczpcbiIKK21zZ3N0ciAiVMO5eSBjaOG7jW4geHXhuqV0OlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjIKK21zZ2lkICIgLWEsIC0tYWxsLXRhc2tzICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjMKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1heCAgICAgICAgICAgIHNob3cgbWluIGFuZCBtYXggdmFsaWQgcHJpb3JpdGllc1xuIgorbXNnc3RyICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHh14bqldCBk4bqldSB0aOG7nWkgZ2lhbiDhu58gZOG6oW5nIGTDoG5oIGNobyBjb24gbmfGsOG7nWkgxJHhu41jXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIC1BLCAtLWFwcGVuZCAgICAgICAgICAgICAgdGjDqm0gY8OhYyBwaMOibiB2w7luZyBz4bq1biBjw7MgdsOgbyBi4bqjbmcgcGjDom4gdsO5bmdcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICBkaXNwbGF5IHN0YXR1cyBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgZ2nhuqNpIHRow61jaCBjw6FjIGPDtG5nIHZp4buHYyDEkcOjIGzDoG1cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjMyIHNjaGVkdXRpbHMvY2hydC5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAibOG7l2kgbOG6pXkgY2jDrW5oIHPDoWNoIGPhu6dhIFBJRCAlZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYXR0cmlidXRlcyIKK21zZ3N0ciAibOG7l2kgbOG6pXkgY8OhYyB0aHXhu5ljIHTDrW5oIHbhu4EgUElEICVkIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgImNow61uaCBzw6FjaCDEkeG7i25oIHRo4budaSBt4bubaSBj4bunYSBQSUQgJWQ6ICIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAiY2jDrW5oIHPDoWNoIMSR4buLbmggdGjhu51pIGhp4buHbiB04bqhaSBj4bunYSBQSUQgJWQ6ICIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICJt4bupYyDGsHUgdGnDqm4gxJHhu4tuaCB0aOG7nWkgbeG7m2kgY+G7p2EgUElEICVkOiAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICJt4bupYyDGsHUgdGnDqm4gxJHhu4tuaCB0aOG7nWkgaGnhu4duIHThuqFpIGPhu6dhIFBJRCAlZDogJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIgorbXNnc3RyICJt4bupYyDGsHUgdGnDqm4gxJHhu4tuaCB0aOG7nWkgaGnhu4duIHThuqFpIGPhu6dhIFBJRCAlZDogJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzAwIHNjaGVkdXRpbHMvY2hydC5jOjM5NgorbXNnaWQgImNhbm5vdCBvYnRhaW4gdGhlIGxpc3Qgb2YgdGFza3MiCittc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSB0aOG6pXkgZGFuaCBzw6FjaCB0w6FjIHbhu6UiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbWluL21heCBwcmlvcml0eVx0OiAlZC8lZFxuIgorbXNnc3RyICJTQ0hFRF8lcyDGsHUgdGnDqm4gdGnhu4N1L8SRYVx0OiAlZC8lZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBzdXBwb3J0ZWQ/XG4iCittc2dzdHIgIlNDSEVEXyVzIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujID9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJs4buXaSDEkeG6t3QgdGlkIGPhu6dhIGNow61uaCBzw6FjaCAlZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJs4buXaSDEkeG6t3QgY2jDrW5oIHPDoWNoIGPhu6dhIFBJRCAlZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDg3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcnVudGltZSBhcmd1bWVudCIKK21zZ3N0ciAidGhhbSBz4buRIHRo4budaSBnaWFuIGtow7RuZyBo4bujcCBs4buHIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwZXJpb2QgYXJndW1lbnQiCittc2dzdHIgInRoYW0gc+G7kSB04buRYyDEkeG7mSBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDkzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZGVhZGxpbmUgYXJndW1lbnQiCittc2dzdHIgIsSR4buRaSBz4buRIHRy4bulIGtow7RuZyBo4bujcCBs4buHIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MTcKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5IGFyZ3VtZW50IgorbXNnc3RyICLEkeG7kWkgc+G7kSBt4bupYyDGsHUgdGnDqm4ga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyMQorIywgZnV6enkKK21zZ2lkICItLXJlc2V0LW9uLWZvcmsgb3B0aW9uIGlzIHN1cHBvcnRlZCBmb3IgU0NIRURfRklGTyBhbmQgU0NIRURfUlIgcG9saWNpZXMgb25seSIKK21zZ3N0ciAiQ+G7nSBTQ0hFRF9SRVNFVF9PTl9GT1JLIGNo4buJIMSRxrDhu6NjIGjhu5cgdHLhu6MgY2hvIGNow61uaCBzw6FjaCBTQ0hFRF9GSUZPIHbDoCBTQ0hFRF9SUiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTI2Cittc2dpZCAiLS1zY2hlZC17cnVudGltZSxkZWFkbGluZSxwZXJpb2R9IG9wdGlvbnMgYXJlIHN1cHBvcnRlZCBmb3IgU0NIRURfREVBRExJTkUgb25seSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1NDEKKyMsIGZ1enp5Cittc2dpZCAiU0NIRURfREVBRExJTkUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIlNDSEVEXyVzIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujID9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByaW9yaXR5IHZhbHVlIGZvciB0aGUgcG9saWN5OiAlZDogc2VlIC0tbWF4IGZvciB2YWxpZCByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc2Cittc2dpZCAiaW9wcmlvX2dldCBmYWlsZWQiCittc2dzdHIgImlvcHJpb19nZXQgYuG7iyBs4buXaSIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcHJpbyAlbHVcbiIKK21zZ3N0ciAiJXM6IHByaW8gJWx1XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6OTgKK21zZ2lkICJpb3ByaW9fc2V0IGZhaWxlZCIKK21zZ3N0ciAiaW9wcmlvX3NldCBi4buLIGzhu5dpIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEwNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIC1wIDxwaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC1QIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtdSA8dWlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtjw6FjX3R14buzX2No4buNbl0gLXAgPG3Do19z4buRX3Rp4bq/bl90csOsbmg+4oCmXG4iCisiICUxJHMgW2PDoWNfdHXhu7NfY2jhu41uXSAtUCA8bcOjX3Phu5FfdGnhur9uX3Ryw6xuaD7igKZcbiIKKyIgJTEkcyBbY8OhY190deG7s19jaOG7jW5dIC11IDxtw6Nfc+G7kV9uaMOzbV90aeG6v25fdHLDrG5oPuKAplxuIgorIiAlMSRzIFtjw6FjX3R14buzX2No4buNbl0gPGzhu4duaD5dXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTEwCittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIEkvTy1zY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIkhp4buDbiB0aOG7iyBoYXkgxJHhu5VpIGzhu5twIHTDoWMgduG7pSBWUiB2w6AgbeG7qWMgxrB1IHRpw6puIGPhu6dhIHRp4bq/biB0csOsbmguXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTEzCittc2dpZCAiIgorIiAtYywgLS1jbGFzcyA8Y2xhc3M+ICAgIG5hbWUgb3IgbnVtYmVyIG9mIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKK21zZ3N0ciAiIgorIiAtYywgLS1jbGFzcyA8bOG7m3A+ICAgICAgdMOqbiBoYXkgc+G7kSBj4bunYSBs4bubcCBs4buLY2ggYmnhu4N1LFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMDoga2jDtG5nLCAxOiB0aOG7nWkgZ2lhbiB0aOG7sWMsIDI6IGJlc3QtZWZmb3J0LCAzOiBuZ2jhu4lcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTUKK21zZ2lkICIiCisiIC1uLCAtLWNsYXNzZGF0YSA8bnVtPiAgcHJpb3JpdHkgKDAuLjcpIGluIHRoZSBzcGVjaWZpZWQgc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHkgZm9yIHRoZSByZWFsdGltZSBhbmQgYmVzdC1lZmZvcnQgY2xhc3Nlc1xuIgorbXNnc3RyICIiCisiIC1uLCAtLWNsYXNzZGF0YSA8c+G7kT4gICDGsHUgdGnDqm4gKDAuLjcpIHRyb25nIGzhu5twIHTDoWMgduG7pSDEkcOjIGNo4buJIHJhLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgY2jhu4kgZMOgbmggY2hvIGzhu5twIHRo4budaSBnaWFuIHRo4buxYyBoYXkg4oCcYmVzdC1lZmZvcnTigJ1cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTcKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+Li4uICAgICBhY3Qgb24gdGhlc2UgYWxyZWFkeSBydW5uaW5nIHByb2Nlc3Nlc1xuIgorbXNnc3RyICIgLXAsIC0tcGlkIDxtw6Nfc+G7kV90aeG6v25fdHLDrG5oPuKApiAgICAgdGjhu7FjIGhp4buHbiB0csOqbiBuaOG7r25nIHRp4bq/biB0csOsbmggxJFhbmcgY2jhuqF5XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE4Cittc2dpZCAiIC1QLCAtLXBnaWQgPHBncnA+Li4uICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgaW4gdGhlc2UgZ3JvdXBzXG4iCittc2dzdHIgIiAtUCwgLS1wZ2lkIDxtw6Nfc+G7kV9uaMOzbV90aeG6v25fdHLDrG5oPuKApiAgICAgdGjhu7FjIGhp4buHbiB0csOqbiBuaOG7r25nIHRp4bq/biB0csOsbmggxJFhbmcgY2jhuqF5IHRyb25nIG5ow7NtXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE5Cittc2dpZCAiIC10LCAtLWlnbm9yZSAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCittc2dzdHIgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIGLhu48gcXVhIGPDoWMgbOG7l2kgbmdoacOqbSB0cuG7jW5nXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTIwCittc2dpZCAiIC11LCAtLXVpZCA8dWlkPi4uLiAgICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgb3duZWQgYnkgdGhlc2UgdXNlcnNcbiIKK21zZ3N0ciAiIC11LCAtLXVpZCA8bcOjX3Phu5FfbmfGsOG7nWlfZMO5bmc+4oCmICAgICB0aOG7sWMgaGnhu4duIHRyw6puIG5o4buvbmcgdGnhur9uIHRyw6xuaCDEkWFuZyBjaOG6oXkgYuG7n2kgbmfGsOG7nWkgZMO5bmdcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNTcKK21zZ2lkICJpbnZhbGlkIGNsYXNzIGRhdGEgYXJndW1lbnQiCittc2dzdHIgIsSR4buRaSBz4buRIGzhu5twIGThu68gbGnhu4d1IGtow7RuZyBo4bujcCBs4buHIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2MworbXNnaWQgImludmFsaWQgY2xhc3MgYXJndW1lbnQiCittc2dzdHIgIsSR4buRaSBz4buRIGzhu5twIGtow7RuZyBo4bujcCBs4buHIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNjaGVkdWxpbmcgY2xhc3M6ICclcyciCittc2dzdHIgImtow7RuZyBoaeG7g3UgbOG7m3AgdGjhu51pIGtow7NhIGJp4buDdTog4oCcJXPigJ0iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc2IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg0IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkyCittc2dpZCAiY2FuIGhhbmRsZSBvbmx5IG9uZSBvZiBwaWQsIHBnaWQgb3IgdWlkIGF0IG9uY2UiCittc2dzdHIgImNo4buJIGPDsyB0aOG7gyB44butIGzDvSBt4buZdCBwaWQsIHBnaWQgaG/hurdjIHVpZCBt4buZdCBsw7pjIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NQorbXNnaWQgImludmFsaWQgUEdJRCBhcmd1bWVudCIKK21zZ3N0ciAixJHhu5FpIHPhu5EgUEdJRCBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxOTMKK21zZ2lkICJpbnZhbGlkIFVJRCBhcmd1bWVudCIKK21zZ3N0ciAixJHhu5FpIHPhu5EgVUlEIGtow7RuZyBo4bujcCBs4buHIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIxMgorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIG5vbmUgY2xhc3MiCittc2dzdHIgIsSRYW5nIGzhu50gxJFpIGThu68gbGnhu4d1IGjhuqFuZyDEkcawYSByYSBjaG8gaOG6oW5nIOKAnGtow7RuZyBjw7PigJ0iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjIwCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3IgaWRsZSBjbGFzcyIKK21zZ3N0ciAixJFhbmcgbOG7nSDEkWkgZOG7ryBsaeG7h3UgaOG6oW5nIMSRxrBhIHJhIGNobyBo4bqhbmcgbmdo4buJIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHByaW8gY2xhc3MgJWQiCittc2dzdHIgImtow7RuZyBoaeG7g3UgbOG7m3AgcHJpbzogJWQiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJVc2FnZTogJXMgW29wdGlvbnNdIFttYXNrIHwgY3B1LWxpc3RdIFtwaWR8Y21kIFthcmdzLi4uXV1cbiIKKyJcbiIKK21zZ3N0ciAiIgorIkPDoWNoIGTDuW5nOiAlcyBbdHXhu7NfY2jhu41uXSBbYuG7mV9s4buNYyB8IGRhbmhfc8OhY2hfQ1BVXSBbUElEfGzhu4duaCBbxJHhu5FpX3Phu5HigKZdXVxuIgorIlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1NQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBDUFUgYWZmaW5pdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICJIaeG7g24gdGjhu4sgaGF5IHRoYXkgxJHhu5VpIMOhaSBs4buxYyBDUFUgY+G7p2EgbeG7mXQgdGnhur9uIHRyw6xuaC5cbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk9wdGlvbnM6XG4iCisiIC1hLCAtLWFsbC10YXNrcyAgICAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisiIC1wLCAtLXBpZCAgICAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCisiIC1jLCAtLWNwdS1saXN0ICAgICAgICAgIGRpc3BsYXkgYW5kIHNwZWNpZnkgY3B1cyBpbiBsaXN0IGZvcm1hdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvblxuIgorIlxuIgorbXNnc3RyICIiCisiVMO5eSBjaOG7jW46XG4iCisiIC1hLCAtLWFsbC10YXNrcyAgICAgICAgIHRoYW8gdMOhYyB0csOqbiB04bqldCBj4bqjIGPDoWMgdMOhYyB24bulICh0dXnhur9uKSB24bubaSBwaWQgxJHDoyBjaG9cbiIKKyIgLXAsIC0tcGlkICAgICAgICAgICAgICAgdGhhbyB0w6FjIHRyw6puIFBJRCDEkcawYSByYSDEkcOjIHPhurVuIGPDs1xuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICBoaeG7g24gdGjhu4sgdsOgIGdoaSByw7UgY8OhYyBDUFUgdGhlbyDEkeG7i25oIGThuqFuZyBkYW5oIHPDoWNoXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIHh14bqldCB0aMO0bmcgdGluIHbhu4EgcGhpw6puIGLhuqNuXG4iCisiXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBydW4gYSBuZXcgY29tbWFuZDpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyJZb3UgY2FuIHJldHJpZXZlIHRoZSBtYXNrIG9mIGFuIGV4aXN0aW5nIHRhc2s6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiT3Igc2V0IGl0OlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorIkxpc3QgZm9ybWF0IHVzZXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBpbnN0ZWFkIG9mIGEgbWFzazpcbiIKKyIgICAgJTEkcyAtcGMgMCwzLDctMTEgNzAwXG4iCisiUmFuZ2VzIGluIGxpc3QgZm9ybWF0IGNhbiB0YWtlIGEgc3RyaWRlIGFyZ3VtZW50OlxuIgorIiAgICBlLmcuIDAtMzE6MiBpcyBlcXVpdmFsZW50IHRvIG1hc2sgMHg1NTU1NTU1NVxuIgorbXNnc3RyICIiCisi4buobmcgeOG7rSBt4bq3YyDEkeG7i25oIGzDoCBjaOG6oXkgbeG7mXQgY8OidSBs4buHbmggbeG7m2lcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyJC4bqhbiBjw7MgdGjhu4MgbOG6pXkgYuG7mSBs4buNYyBj4bunYSBt4buZdCBjw7RuZyB2aeG7h2MgxJHDoyBjw7M6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiSG/hurdjIMSR4bq3dCBuw7M6XG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisixJDhu4tuaCBk4bqhbmcgZGFuaCBzw6FjaCB0aMOsIGTDuW5nIG3hu5l0IGRhbmggc8OhY2ggxJHhu4tuaCBnaeG7m2kgYuG6sW5nIGThuqV1IHBo4bqpeVxuIgorInRoYXkgY2hvIG3hu5l0IGLhu5kgbOG7jWM6XG4iCisiICAgICUxJHMgLXBjIDAsMyw3LTExIDcwMFxuIgorIlBo4bqhbSB2aSB0aGVvIMSR4buLbmggZOG6oW5nIGRhbmggc8OhY2ggY8OzIGto4bqjIG7Eg25nIGNo4bqlcCBuaOG6rW4gbeG7mXQgxJHhu5FpIHPhu5Egc3RyaWRlOlxuIgorIiAgICB2LmQuLiAwLTMxOjIgdMawxqFuZyDEkcawxqFuZyB24bubaSBi4buZIGzhu41jIDB4NTU1NTU1NTVcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgImRhbmggc8OhY2ggcXVhbiBo4buHIGLhu5kgeOG7rSBsw70gbeG7m2kgY+G7p2EgUElEICVkOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgImRhbmggc8OhY2ggcXVhbiBo4buHIGLhu5kgeOG7rSBsw70gaGnhu4duIHThuqFpIGPhu6dhIFBJRCAlZDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgImLhu5kgbOG7jWMgcXVhbiBo4buHIGLhu5kgeOG7rSBsw70gbeG7m2kgY+G7p2EgUElEICVkOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgImLhu5kgbOG7jWMgcXVhbiBo4buHIGLhu5kgeOG7rSBsw70gaGnhu4duIHThuqFpIGPhu6dhIFBJRCAlZDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTkKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogY29udmVyc2lvbiBmcm9tIGNwdXNldCB0byBzdHJpbmcgZmFpbGVkIgorbXNnc3RyICJs4buXaSBu4buZaSBi4buZOiBjaHV54buDbiDEkeG7lWkgY3B1c2V0IHRow6BuaCBjaHXhu5dpIGfhurdwIGzhu5dpIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMDkgc2NoZWR1dGlscy90YXNrc2V0LmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgImzhu5dpIGzhuqV5IHF1YW4gaOG7hyBi4buZIHjhu60gbMO9IGPhu6dhIFBJRCAlZCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgImzhu5dpIMSR4bq3dCBxdWFuIGjhu4cgYuG7mSB44butIGzDvSBj4bunYSBQSUQgJWQiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE4NiBzeXMtdXRpbHMvY2hjcHUuYzoyODkKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIE5SX0NQVVM7IGFib3J0aW5nIgorbXNnc3RyICJraMO0bmcgdGjhu4MgcXV54bq/dCDEkeG7i25oIE5SX0NQVVMgbsOqbiBo4buneSBi4buPIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxOTUgc2NoZWR1dGlscy90YXNrc2V0LmM6MjA4IHN5cy11dGlscy9jaGNwdS5jOjI5NQorbXNnaWQgImNwdXNldF9hbGxvYyBmYWlsZWQiCittc2dzdHIgImNwdXNldF9hbGxvYyBi4buLIGzhu5dpIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMTUgc3lzLXV0aWxzL2NoY3B1LmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdDogJXMiCittc2dzdHIgImzhu5dpIHBow6JuIHTDrWNoIGRhbmggc8OhY2ggQ1BVOiAlcyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjE4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzazogJXMiCittc2dzdHIgImzhu5dpIHBow6JuIHTDrWNoIG3hurd0IG7huqEgQ1BVOiAlcyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IFplcm8tZmlsbGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiVzOiBMb+G6oWkgYuG7jyAlPFBSSXU2ND4gYnl0ZSB04burIHbhu4sgdHLDrSBvZmZzZXQgJTxQUkl1NjQ+XG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IERpc2NhcmRlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIlczogTG/huqFpIGLhu48gJTxQUkl1NjQ+IGJ5dGUgdOG7qyB24buLIHRyw60gb2Zmc2V0ICU8UFJJdTY0PlxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg3Cittc2dpZCAiRGlzY2FyZCB0aGUgY29udGVudCBvZiBzZWN0b3JzIG9uIGEgZGV2aWNlLlxuIgorbXNnc3RyICJMb+G6oWkgYuG7jyBu4buZaSBkdW5nIGPhu6dhIGPDoWMgY3VuZyB04burIHRyw6puIG3hu5l0IHRoaeG6v3QgYuG7iy5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPHPhu5E+ICAgduG7iyB0csOtIHTGsMahbmcgxJHhu5FpIHTDrW5oIGLhurFuIGJ5dGUgxJHhu4MgYuG6r3QgxJHhuqd1IGxv4bqhaSBi4buPIHThu6sgxJHDs1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkxCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDxz4buRPiAgIHPhu5EgbMaw4bujbmcgYnl0ZSDEkcaw4bujYyBsb+G6oWkgYuG7j1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkyCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1zdGVwIDxudW0+ICAgIHNpemUgb2YgdGhlIGRpc2NhcmQgaXRlcmF0aW9ucyB3aXRoaW4gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDxz4buRPiAgICBraG/huqNuZyBiw7kgY2hvIHRoYW8gdMOhYyB2w7luZywgdMOtbmggYuG6sW5nIGJ5dGVcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCittc2dzdHIgIiAtLXNlY3VyZWJpdHMgPGJpdHM+ICAgICAgxJHEg3Qgc2VjdXJlYml0c1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk0CisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS16ZXJvb3V0ICAgICAgIHplcm8tZmlsbCByYXRoZXIgdGhhbiBkaXNjYXJkXG4iCittc2dzdHIgIiAtbiwgLS1ub25ibG9jayAgICAgICAgICAgbMOgbSBo4buPbmcgdGhheSB2w6wgxJHhu6NpXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgYWxpZ25lZCBsZW5ndGggYW5kIG9mZnNldFxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgIGdp4bqjaSB0aMOtY2ggxJFhbmcgbMOgbSBnw6xcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTAgc3lzLXV0aWxzL2ZzdHJpbS5jOjMxMiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY3MworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTI0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG9mZnNldCIKK21zZ3N0ciAia2jDtG5nIHBow6JuIHTDrWNoIMSRxrDhu6NjIG9mZnNldCIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RlcCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIGLGsOG7m2MiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTcyIHN5cy11dGlscy96cmFtY3RsLmM6NjgyIHN5cy11dGlscy96cmFtY3RsLmM6NzA4Cittc2dpZCAibm8gZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAiY2jGsGEgY2jhu4kgxJHhu4tuaCB0aGnhur90IGLhu4siCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTc3IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTEKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyMiBzeXMtdXRpbHMvZnN0cmltLmM6MzM0Cittc2dpZCAidW5leHBlY3RlZCBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJn4bq3cCBz4buRIGPDoWMgxJHhu5FpIHPhu5EgYuG6pXQgdGjGsOG7nW5nIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLR0VUU0laRTY0IGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEJMS0dFVFNJWkU2NCBpb2N0bCBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NTWkdFVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBCTEtTU1pHRVQgaW9jdGwgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIlczoga2hv4bqjbmcgYsO5ICU8UFJJdTY0PiBraMO0bmcgxJHGsOG7o2MgY8SDbiBjaOG7iW5oIHbhu5tpIGPhu6EgY3VuZyB04burICVpIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0IGlzIGdyZWF0ZXIgdGhhbiBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAiJXM6IGtob+G6o25nIGLDuSBjw7JuIGzhu5tuIGjGoW4gY+G6oyBj4buhIGPhu6dhIHRoaeG6v3QgYuG7iyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxlbmd0aCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiVzOiBjaGnhu4F1IGTDoGkgJTxQUkl1NjQ+IGtow7RuZyDEkcaw4bujYyBjxINuIGNo4buJbmggduG7m2kgY+G7oSBjdW5nIHThu6sgJWkiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLWkVST09VVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBCTEtTU1pHRVQgaW9jdGwgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTRUNESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEJMS1NFQ0RJU0NBUkQgaW9jdGwgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEJMS0RJU0NBUkQgaW9jdGwgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjg3IHN5cy11dGlscy9jaGNwdS5jOjE3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJDUFUg4oCcJWTigJ0ga2jDtG5nIHThu5NuIHThuqFpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBob3QgcGx1Z2dhYmxlIgorbXNnc3RyICJDUFUgJWQgY2jGsGEgxJHGsOG7o2MgY+G6r20gbsOzbmciCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIkNQVSAlZCDEkcOjIMSRxrDhu6NjIGLhuq10IHLhu5NpXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICVkIMSRw6MgYuG7iyB04bqvdCBy4buTaVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIChDUFUgaXMgZGVjb25maWd1cmVkKSIKK21zZ3N0ciAiYuG6rXQgQ1BVICVkIGfhurdwIGzhu5dpIChDUFUgYuG7iyBi4buPIGPhuqV1IGjDrG5oKSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCIKK21zZ3N0ciAiYuG6rXQgQ1BVICVkIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGVkXG4iCittc2dzdHIgIkNQVSAlZCDEkcaw4bujYyBi4bqtdFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCAobGFzdCBlbmFibGVkIENQVSkiCittc2dzdHIgInThuq90IENQVSAlZCBn4bq3cCBs4buXaSAoQ1BVIMSRxrDhu6NjIGLhuq10IGN14buRaSBjw7luZykiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICJ04bqvdCBDUFUgJWQgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAlZCBi4buLIHThuq90XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgcmVzY2FubmluZyBvZiBDUFVzIgorbXNnc3RyICJI4buHIHRo4buRbmcgbsOgeSBraMO0bmcgaOG7lyB0cuG7oyBxdcOpdCB0w6xtIGzhuqFpIGPhu6dhIENQVSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQzCittc2dpZCAiRmFpbGVkIHRvIHRyaWdnZXIgcmVzY2FuIG9mIENQVXMiCittc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBi4bqreSB2aeG7h2MgcXXDqXQgdMOsbSBs4bqhaSBDUFVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJpZ2dlcmVkIHJlc2NhbiBvZiBDUFVzXG4iCittc2dzdHIgIkLhuqt5IHF1w6l0IHTDrG0gY+G7p2EgQ1BVc1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHNldHRpbmcgdGhlIGRpc3BhdGNoaW5nIG1vZGUgb2YgQ1BVcyIKK21zZ3N0ciAiSOG7hyB0aOG7kW5nIG7DoHkga2jDtG5nIGjhu5cgdHLhu40gY8OgaSDEkeG6t3QgY2jhur8gxJHhu5kgcGjDom4gcGjhu5FpIGPhu6dhIGPDoWMgYuG7mSB2aSB44butIGzDvS4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NQorbXNnaWQgIkZhaWxlZCB0byBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICJH4bq3cCBs4buXaSBraGkgxJHhurd0IGNo4bq/IMSR4buZIHBow6JuIHBo4buRaSB0aGVvIGNoaeG7gXUgbmdhbmciCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IGhvcml6b250YWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICLEkOG6t3QgdGjDoG5oIGNo4bq/IMSR4buZIHBow6JuIHBo4buRaSB0aGVvIGNoaeG7gXUgbmdhbmcgbeG7mXQgY8OhY2ggdGjDoG5oIGPDtG5nXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1OQorbXNnaWQgIkZhaWxlZCB0byBzZXQgdmVydGljYWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIMSR4bq3dCBjaOG6vyDEkeG7mSBwaMOibiBwaOG7kWkgdGhlbyBjaGnhu4F1IGThu41jIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCB2ZXJ0aWNhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIsSQ4bq3dCB0aMOgbmggY2jhur8gxJHhu5kgcGjDom4gcGjhu5FpIHRoZW8gY2hp4buBdSBk4buNYyBt4buZdCBjw6FjaCB0aMOgbmggY8O0bmdcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGNvbmZpZ3VyYWJsZSIKK21zZ3N0ciAiQ1BVICVkIGtow7RuZyB0aOG7gyBj4bqldSBow6xuaCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAlZCBjaMawYSDEkcaw4bujYyBj4bqldSBow6xuaFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJDUFUgJWQgxJHDoyDEkcaw4bujYyBj4bqldSBow6xuaCBy4buTaVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiQ1BVICVkIGLhu48gY+G6pXUgaMOsbmggZ+G6t3AgbOG7l2kgKENQVSDEkcaw4bujYyBi4bqtdCkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgImPhuqV1IGjDrG5oIENQVSAlZCBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlZFxuIgorbXNnc3RyICJDUFUgJWQgxJHDoyDEkcaw4bujYyBj4bqldSBow6xuaFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgImLhu48gY+G6pXUgaMOsbmggQ1BVICVkIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICVkIGLhu48gY+G6pXUgaMOsbmhcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgQ1BVIG51bWJlciBpbiBDUFUgbGlzdDogJXMiCittc2dzdHIgInPhu5EgQ1BVIHNhaSB0cm9uZyBkYW5oIHPDoWNoIENQVTogJXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzOCB0ZXh0LXV0aWxzL2NvbC5jOjEzMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIiCisiXG4iCisiQ8OhY2ggZMO5bmc6XG4iCisiJXMgW2PDoWNfdMO5eV9jaOG7jW5dXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0MgorbXNnaWQgIkNvbmZpZ3VyZSBDUFVzIGluIGEgbXVsdGktcHJvY2Vzc29yIHN5c3RlbS5cbiIKK21zZ3N0ciAiQ+G6pXUgaMOsbmggY8OhYyBi4buZIHZpIHjhu60gbMO9IHRyw6puIGjhu4cgdGjhu5FuZyBuaGnhu4F1IHZpIHjhu60gbMO9LlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorIiAgLWUsIC0tZW5hYmxlIDxjcHUtbGlzdD4gICAgICAgZW5hYmxlIGNwdXNcbiIKKyIgIC1kLCAtLWRpc2FibGUgPGNwdS1saXN0PiAgICAgIGRpc2FibGUgY3B1c1xuIgorIiAgLWMsIC0tY29uZmlndXJlIDxjcHUtbGlzdD4gICAgY29uZmlndXJlIGNwdXNcbiIKKyIgIC1nLCAtLWRlY29uZmlndXJlIDxjcHUtbGlzdD4gIGRlY29uZmlndXJlIGNwdXNcbiIKKyIgIC1wLCAtLWRpc3BhdGNoIDxtb2RlPiAgICAgICAgIHNldCBkaXNwYXRjaGluZyBtb2RlXG4iCisiICAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICB0cmlnZ2VyIHJlc2NhbiBvZiBjcHVzXG4iCisiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisiXG4iCisiQ8OhYyB0w7l5IGNo4buNbjpcbiIKKyIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5XG4iCisiICAtZSwgLS1lbmFibGUgPGNwdS1saXN0PiAgICAgICBi4bqtdCBjw6FjIGNwdVxuIgorIiAgLWQsIC0tZGlzYWJsZSA8Y3B1LWxpc3Q+ICAgICAgdOG6r3QgY8OhYyBjcHVcbiIKKyIgIC1jLCAtLWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICAgIGPhuqV1IGjDrG5oIGPDoWMgY3B1XG4iCisiICAtZywgLS1kZWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICBi4buPIGPhuqV1IGjDrG5oIGNwdVxuIgorIiAgLXAsIC0tZGlzcGF0Y2ggPGNo4bq/IMSR4buZPiAgICAgICDEkeG6t3QgY2jhur8gxJHhu5kgcGjDom4gcGjhu5FpXG4iCisiICAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICBi4bqreSBxdcOpdCBs4bqhaSBj4bunYSBjw6FjIGNwdVxuIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gduG7gSBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjMyNgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBhcmd1bWVudDogJXMiCittc2dzdHIgInRoYW0gc+G7kSBraMO0bmcgaOG7lyB0cuG7ozogJXMiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIGhhcmR8c29mdFxuIgorbXNnc3RyICIgJXMgaGFyZHxzb2Z0XG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0IHRoZSBmdW5jdGlvbiBvZiB0aGUgQ3RybC1BbHQtRGVsIGNvbWJpbmF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTEKK21zZ2lkICJpbXBsaWNpdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHZhbHVlIGluICVzOiAlanUiCittc2dzdHIgImfhurdwIGvhur90IHRow7pjIHThuq1wIHRpbiBi4bqldCB0aMaw4budbmcgdHLDqm4gJXMiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NjMKK21zZ2lkICJZb3UgbXVzdCBiZSByb290IHRvIHNldCB0aGUgQ3RybC1BbHQtRGVsIGJlaGF2aW9yIgorbXNnc3RyICJQaOG6o2kgbMOgIG5nxrDhu51pIGNo4bunIChyb290KSDEkeG7gyDEkeG6t3QgY8OhY2gg4bupbmcgeOG7rSBj4bunYSBDdHJsLUFsdC1EZWwiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NzEgc3lzLXV0aWxzL2lwY3JtLmM6MzkyIHN5cy11dGlscy9pcGNybS5jOjQxNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSDEkeG7kWkgc+G7kTogJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMAorbXNnaWQgInN5c3RlbSBpcyB1bnVzYWJsZSIKK21zZ3N0ciAiaOG7hyB0aOG7kW5nIGtow7RuZyB0aOG7gyBz4butIGThu6VuZyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTExCittc2dpZCAiYWN0aW9uIG11c3QgYmUgdGFrZW4gaW1tZWRpYXRlbHkiCittc2dzdHIgImjDoG5oIMSR4buZbmcgcGjhuqNpIMSRxrDhu6NjIG7huq9tIG5nYXkgbOG6rXAgdOG7qWMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMgorbXNnaWQgImNyaXRpY2FsIGNvbmRpdGlvbnMiCittc2dzdHIgIsSRaeG7gXUga2nhu4duIHThu5tpIGjhuqFuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTMKK21zZ2lkICJlcnJvciBjb25kaXRpb25zIgorbXNnc3RyICLEkWnhu4F1IGtp4buHbiBs4buXaSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE0Cittc2dpZCAid2FybmluZyBjb25kaXRpb25zIgorbXNnc3RyICLEkWnhu4F1IGtp4buHbiBj4bqjbmggYsOhbyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE1Cittc2dpZCAibm9ybWFsIGJ1dCBzaWduaWZpY2FudCBjb25kaXRpb24iCittc2dzdHIgInRow7RuZyB0aMaw4budbmcgbmjGsG5nIMSRaeG7gXUga2nhu4duIGzDoCBxdWFuIHRy4buNbmciCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNgorbXNnaWQgImluZm9ybWF0aW9uYWwiCittc2dzdHIgInRow7RuZyB0aW4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNworbXNnaWQgImRlYnVnLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICJ0aMO0bmcgxJFp4buHcCBt4bupYyBn4buhIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzEKK21zZ2lkICJrZXJuZWwgbWVzc2FnZXMiCittc2dzdHIgInRow7RuZyDEkWnhu4dwIG5ow6JuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzIKK21zZ2lkICJyYW5kb20gdXNlci1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAidGjDtG5nIMSRaeG7h3Agbmfhuqt1IG5oacOqbiBt4bupYyBuZ8aw4budaSBkw7luZyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMzCittc2dpZCAibWFpbCBzeXN0ZW0iCittc2dzdHIgImjhu4cgdGjhu5FuZyB0aMawIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzQKK21zZ2lkICJzeXN0ZW0gZGFlbW9ucyIKK21zZ3N0ciAidHLDrG5oIGThu4tjaCB24bulIGjhu4cgdGjhu5FuZyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1Cittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyIKK21zZ3N0ciAidGjDtG5nIMSRaeG7h3AgYW4gbmluaCB2w6AgeMOhYyB0aOG7sWMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNgorbXNnaWQgIm1lc3NhZ2VzIGdlbmVyYXRlZCBpbnRlcm5hbGx5IGJ5IHN5c2xvZ2QiCittc2dzdHIgInRow7RuZyDEkWnhu4dwIMSRxrDhu6NjIHThuqFvIHJhIHThu6sgbuG7mWkgYuG7mSBiw6puIHRyb25nIGLhu59pIHN5c2xvZ2QiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNworbXNnaWQgImxpbmUgcHJpbnRlciBzdWJzeXN0ZW0iCittc2dzdHIgImjhu4cgdGjhu5FuZyBjb24gbcOheSBpbiBkw7JuZyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM4Cittc2dpZCAibmV0d29yayBuZXdzIHN1YnN5c3RlbSIKK21zZ3N0ciAiaOG7hyB0aOG7kW5nIG3huqFuZyBjb24gbeG7m2kiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOQorbXNnaWQgIlVVQ1Agc3Vic3lzdGVtIgorbXNnc3RyICJo4buHIHRo4buRbmcgY29uIFVVQ1AiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MAorbXNnaWQgImNsb2NrIGRhZW1vbiIKK21zZ3N0ciAiZOG7i2NoIHbhu6UgxJHhu5NuZyBo4buTIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDEKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIChwcml2YXRlKSIKK21zZ3N0ciAidGjDtG5nIHRpbiBhbi1uaW5oL2No4bupbmctdGjhu7FjIChyacOqbmcgdMawKSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQyCittc2dpZCAiRlRQIGRhZW1vbiIKK21zZ3N0ciAiZOG7i2NoIHbhu6UgZnRwIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNjcKK21zZ2lkICJEaXNwbGF5IG9yIGNvbnRyb2wgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlci5cbiIKK21zZ3N0ciAiSGnhu4NuIHRo4buLIGhheSDEkWnhu4F1IGtoaeG7g24gYuG7mSDEkeG7h20gdsOybmcgbmjDom4uXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MAorbXNnaWQgIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgY2xlYXIgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIHjDs2EgYuG7mSDEkeG7h20gdsOybmcga2VybmVsXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MQorbXNnaWQgIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgcmVhZCBhbmQgY2xlYXIgYWxsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgxJHhu41jIHbDoCB4w7NhIHThuqV0IGPhuqMgbOG7nWkgbmjhuq9uXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MgorbXNnaWQgIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAgZGlzYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAga2jDtG5nIGluIGzhu51pIG5o4bqvbiByYSB0aGnhur90IGLhu4sgxJFp4buBdSBraGnhu4NuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MworbXNnaWQgIiAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAgZW5hYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBjaG8gcGjDqXAgaGnhu4NuIHRo4buLIGzhu51pIG5o4bqvbiB0csOqbiB0aGnhur90IGLhu4sgxJFp4buBdSBraGnhu4NuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NAorbXNnaWQgIiAtRiwgLS1maWxlIDxmaWxlPiAgICAgICAgICAgdXNlIHRoZSBmaWxlIGluc3RlYWQgb2YgdGhlIGtlcm5lbCBsb2cgYnVmZmVyXG4iCittc2dzdHIgIiAtRiwgLS1maWxlIDxU4bqsUC1USU4+ICAgICAgICBz4butIGThu6VuZyB04bqtcCB0aW4gdGhheSBjaG8gYuG7mSDEkeG7h20gbmjhuq10IGvDvSBuaMOiblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzUKK21zZ2lkICIgLWYsIC0tZmFjaWxpdHkgPGxpc3Q+ICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGZhY2lsaXRpZXNcbiIKK21zZ3N0ciAiIC1mLCAtLWZhY2lsaXR5IDxkc8OhY2g+ICAgICAgaOG6oW4gY2jhur8ga+G6v3QgeHXhuqV0IMSR4bq/biBwaMawxqFuZyB0aeG7h24gxJHDoyDEkeG7i25oIG5naMSpYVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzYKK21zZ2lkICIgLUgsIC0taHVtYW4gICAgICAgICAgICAgICAgIGh1bWFuIHJlYWRhYmxlIG91dHB1dFxuIgorbXNnc3RyICIgLUgsIC0taHVtYW4gICAgICAgICAgICAgICAgIHh14bqldCDhu58gZOG6oW5nIGTDoG5oIGNobyBjb24gbmfGsOG7nWkgxJHhu41jXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NworbXNnaWQgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgZGlzcGxheSBrZXJuZWwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIMSRaeG7h3AgY+G7p2EgbmjDom5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc4Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxraGk+XSAgICAgICAgIHTDtCBtw6B1IHRow7RuZyDEkWnhu4dwICjigJxhdXRv4oCdLiDigJxhbHdheXPigJ0gaGF5IOKAnG5ldmVy4oCdLlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODEKK21zZ2lkICIgLWwsIC0tbGV2ZWwgPGxpc3Q+ICAgICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGxldmVsc1xuIgorbXNnc3RyICIgLWwsIC0tbGV2ZWwgPGxpc3Q+ICAgICAgICAgIGjhuqFuIGNo4bq/IGvhur90IHh14bqldCDEkeG6v24gbeG7qWMgxJHDoyDEkeG7i25oIG5naMSpYVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODIKK21zZ2lkICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bGV2ZWw+IHNldCBsZXZlbCBvZiBtZXNzYWdlcyBwcmludGVkIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPG3hu6ljPiAgIMSR4bq3dCBt4bupYyB0aMO0bmcgxJFp4buHcCDEkcaw4bujYyBpbiDEkeG6v24gdGhp4bq/dCBi4buLIMSRaeG7gXUga2hp4buDblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODMKK21zZ2lkICIgLVAsIC0tbm9wYWdlciAgICAgICAgICAgICAgIGRvIG5vdCBwaXBlIG91dHB1dCBpbnRvIGEgcGFnZXJcbiIKK21zZ3N0ciAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICBraMO0bmcgeHXhuqV0IMSRxrDhu51uZyDhu5FuZyB2w6BvIG3hu5l0IHRyYW5nXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NAorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJhdyBtZXNzYWdlIGJ1ZmZlclxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIGluIGLhu5kgxJHhu4dtIHRow7RuZyDEkWnhu4dwIGThuqFuZyB0aMO0XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NQorbXNnaWQgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgZm9yY2UgdG8gdXNlIHN5c2xvZygyKSByYXRoZXIgdGhhbiAvZGV2L2ttc2dcbiIKK21zZ3N0ciAiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICBideG7mWMgZMO5bmcgc3lzbG9nKDIpIHRoYXkgY2hvIC9kZXYva21zZ1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODYKK21zZ2lkICIgLXMsIC0tYnVmZmVyLXNpemUgPHNpemU+ICAgIGJ1ZmZlciBzaXplIHRvIHF1ZXJ5IHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiIC1zLCAtLWJ1ZmZlci1zaXplIDxj4buhPiAgICAgIGvDrWNoIHRoxrDhu5tjIGLhu5kgxJHhu4dtIMSR4buDIHRydXkgduG6pW4gYuG7mSDEkeG7h20gdsOybmcgbmjDom5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg3Cittc2dpZCAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICBkaXNwbGF5IHVzZXJzcGFjZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIGhp4buDbiB0aOG7iyBjw6FjIHRow7RuZyDEkWnhu4dwIOG7nyBraMO0bmcgZ2lhbiBuZ8aw4budaSBkw7luZ1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODgKK21zZ2lkICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIMSR4bujaSBs4budaSBuaOG6r24gbeG7m2lcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg5Cittc2dpZCAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBkZWNvZGUgZmFjaWxpdHkgYW5kIGxldmVsIHRvIHJlYWRhYmxlIHN0cmluZ1xuIgorbXNnc3RyICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIHBoxrDGoW5nIHRp4buHbiBnaeG6o2kgbcOjIHbDoCBt4bupYyBjaG8gY2h14buXaSBjw7MgdGjhu4MgxJHhu41jXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MAorbXNnaWQgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgc2hvdyB0aW1lIGRlbHRhIGJldHdlZW4gcHJpbnRlZCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0aOG7nWkgZ2lhbiDigJxkZWx0YeKAnSBnaeG7r2EgY8OhYyBs4budaSBuaOG6r24gxJHGsOG7o2MgaW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkxCittc2dpZCAiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBzaG93IGxvY2FsIHRpbWUgYW5kIHRpbWUgZGVsdGEgaW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRo4budaSBnaWFuIG7hu5lpIGLhu5kgdsOgIOKAnGRlbHRh4oCdIHRyb25nIMSR4buLbmggZOG6oW5nIGPDsyB0aOG7gyDEkeG7jWNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkyCisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbi1yZWFkYWJsZSB0aW1lc3RhbXAgKG1heSBiZSBpbmFjY3VyYXRlISlcbiIKK21zZ3N0ciAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICB4deG6pXQgZOG6pXUgdGjhu51pIGdpYW4g4bufIGThuqFuZyBkw6BuaCBjaG8gY29uIG5nxrDhu51pIMSR4buNY1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBkb24ndCBzaG93IGFueSB0aW1lc3RhbXAgd2l0aCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIGtow7RuZyBj4bqnbiBpbiBk4bqldSB24bq/dCB0aOG7nWkgZ2lhbiBj4bunYSBs4budaSBuaOG6r25cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk0CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wIHVzaW5nIHRoZSBnaXZlbiBmb3JtYXQ6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisiU3VzcGVuZGluZy9yZXN1bWUgd2lsbCBtYWtlIGN0aW1lIGFuZCBpc28gdGltZXN0YW1wcyBpbmFjY3VyYXRlLlxuIgorbXNnc3RyICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDzEkeG7i25oX2ThuqFuZz4gaGnhu4NuIHRo4buLIGThuqV1IHRo4budaSBnaWFuIGTDuW5nIMSR4buLbmggZOG6oW5nOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsdGF8cmVsdGltZXxjdGltZXxub3RpbWV8aXNvXVxuIgorIk5n4burbmcvY2jhuqF5IHPhur0gbMOgbSBk4bqldSB0aOG7nWkgZ2lhbiDigJxjdGltZeKAnSB2w6Ag4oCcaXNv4oCdIGtow7RuZyBjaMOtbmggeMOhYy5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzAwCittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgZmFjaWxpdGllczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkjhu5cgdHLhu6MgY8OhYyBwaMawxqFuZyB0aeG7h24gZ2hpIG5o4bqtdCBrw706XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwNgorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGxldmVscyAocHJpb3JpdGllcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJDw6FjIG3hu6ljIGdoaSBuaOG6rXQga8O9ICht4bupYyDGsHUgdGnDqm4pOlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxldmVsICclcyciCittc2dzdHIgImtow7RuZyBwaMOibiB0w61jaCDEkcaw4bujYyBt4bupYyDigJwlc+KAnSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbGV2ZWwgJyVzJyIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSBt4bupYyDigJwlc+KAnSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mzk4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBmYWNpbGl0eSAnJXMnIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggcGjGsMahbmcgdGnhu4duIOKAnCVz4oCdIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSAnJXMnIgorbXNnc3RyICJraMO0bmcgaGnhu4N1IHBoxrDGoW5nIHRp4buHbiDigJwlc+KAnSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NTI4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtbWFwOiAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIG1tYXA6ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzU2Cittc2dpZCAiaW52YWxpZCBidWZmZXIgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAixJHhu5FpIHPhu5Ega8OtY2ggY+G7oSBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQwOQorbXNnaWQgIi0tc2hvdy1kZWx0YSBpcyBpZ25vcmVkIHdoZW4gdXNlZCB0b2dldGhlciB3aXRoIGlzbzg2MDEgdGltZSBmb3JtYXQiCittc2dzdHIgIi0tc2hvdy1kZWx0YSBi4buLIGLhu48gcXVhIGtoaSBkw7luZyBjw7luZyB24bubaSDEkeG7i25oIGThuqFuZyB0aOG7nWkgZ2lhbiBpc284NjAxIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDMyCittc2dpZCAiLS1yYXcgY2FuIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWxldmVsIG9yIC0tZmFjaWxpdHkgb25seSB3aGVuIHJlYWRpbmcgbWVzc2FnZXMgZnJvbSAvZGV2L2ttc2ciCittc2dzdHIgInTDuXkgY2jhu41uIC0tcmF3IGPDsyB0aOG7gyBz4butIGThu6VuZyBjw7luZyB24bubaSBjw6FjIHTDuXkgY2jhu41uIC0tbGV2ZWwgaGF5IC0tZmFjaWxpdHkgY2jhu4kga2hpIMSR4buNYyB0aMO0bmcgxJFp4buHcCB04burIC9kZXYva21zZyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQ0MgorbXNnaWQgInJlYWQga2VybmVsIGJ1ZmZlciBmYWlsZWQiCittc2dzdHIgIsSR4buNYyBi4buZIMSR4buHbSBrZXJuZWwgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0NjEKK21zZ2lkICJrbG9nY3RsIGZhaWxlZCIKK21zZ3N0ciAia2xvZ2N0bCBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+fDxtb3VudHBvaW50Pl1cbiIKK21zZ3N0ciAiJXMgW3TDuXkgY2jhu41uXSBbPHRoaeG6v3QtYuG7iz58PMSRaeG7g20tZ+G6r24+XVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzcKK21zZ2lkICJFamVjdCByZW1vdmFibGUgbWVkaWEuXG4iCittc2dzdHIgIsSQ4bqpeSB0aGnhur90IGLhu4sgxJFhIHBoxrDGoW5nIHRp4buHbiBkaSDEkeG7mW5nLlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNDAKK21zZ2lkICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICB0dXJuIGF1dG8tZWplY3QgZmVhdHVyZSBvbiBvciBvZmZcbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHNsb3Q+ICAgIHN3aXRjaCBkaXNjcyBvbiBhIENELVJPTSBjaGFuZ2VyXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBkaXNwbGF5IGRlZmF1bHQgZGV2aWNlXG4iCisiIC1mLCAtLWZsb3BweSAgICAgICAgICAgICAgICBlamVjdCBmbG9wcHlcbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIGRvbid0IGNhcmUgYWJvdXQgZGV2aWNlIHR5cGVcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIHRvZ2dsZSBtYW51YWwgZWplY3QgcHJvdGVjdGlvbiBvbi9vZmZcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIGRvIG5vdCB1bm1vdW50IGRldmljZSBldmVuIGlmIGl0IGlzIG1vdW50ZWRcbiIKKyIgLU0sIC0tbm8tcGFydGl0aW9ucy11bm1vdW50IGRvIG5vdCB1bm1vdW50IGFub3RoZXIgcGFydGl0aW9uc1xuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgZG9uJ3QgZWplY3QsIGp1c3Qgc2hvdyBkZXZpY2UgZm91bmRcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIHVzZSAvcHJvYy9tb3VudHMgaW5zdGVhZCBvZiAvZXRjL210YWJcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIGVqZWN0IHRhcGVcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIGVqZWN0IENELVJPTVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgZWplY3QgU0NTSSBkZXZpY2VcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIGNsb3NlIHRyYXlcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIHRvZ2dsZSB0cmF5XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICBlbmFibGUgdmVyYm9zZSBvdXRwdXRcbiIKKyIgLXgsIC0tY2RzcGVlZCA8c3BlZWQ+ICAgICAgIHNldCBDRC1ST00gbWF4IHNwZWVkXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICBsaXN0IENELVJPTSBhdmFpbGFibGUgc3BlZWRzXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYXV0byA8b258b2ZmPiAgICAgICAgIGLhuq10IHTDrW5oIG7Eg25nIHThu7EtxJHhuql5LcSRxKlhIGzDoCB04bqvdCBob+G6t2MgYuG6rXRcbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHNsb3Q+ICAgIGNodXnhu4NuIMSRxKlhIHRyw6puIGLhu5kgY2h1eeG7g24gxJHEqWEgQ0QtUk9NXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgdGhp4bq/dCBi4buLIG3hurdjIMSR4buLbmhcbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIMSR4bqpeSDEkcSpYSBt4buBbVxuIgorIiAtRiwgLS1mb3JjZSAgICAgICAgICAgICAgICAga2jDtG5nIHF1YW4gdMOibSBraeG7g3UgdGhp4bq/dCBi4buLIGzDoCBnw6xcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIGLhuq10L3Thuq90IGNo4bupYyBuxINuZyBi4bqjbyB24buHIMSR4bqpeSDEkcSpYSByYSBi4bqxbmcgdGF5XG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBraMO0bmcgYuG7jyBn4bqvbiB0aOG6rW0gY2jDrSBj4bqjIGtoaSBuw7MgxJHDoyDEkcaw4bujYyBn4bqvblxuIgorIiAtTSwgLS1uby1wYXJ0aXRpb25zLXVubW91bnQga2jDtG5nIGLhu48gZ+G6r24gY8OhYyBwaMOibiB2w7luZyBraMOhY1xuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAga2jDtG5nIMSR4bqpeSByYSwgY2jhu4kgaGnhu4NuIHRo4buLIGPDoWMgdGhp4bq/dCBi4buLIHTDrG0gdGjhuqV5XG4iCisiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICBz4butIGThu6VuZyAvcHJvYy9tb3VudHMgdGhheSB2w6wgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICDEkeG6qXkgYsSDbmcgdOG7q1xuIgorIiAtciwgLS1jZHJvbSAgICAgICAgICAgICAgICAgxJHhuql5IMSRxKlhIENELVJPTVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgxJHhuql5IHRoaeG6v3QgYuG7iyBTQ1NJXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICDEkcOzbmcga2hheSDEkcSpYVxuIgorIiAtVCwgLS10cmF5dG9nZ2xlICAgICAgICAgICAgxJHDs25nL23hu58ga2hheSDEkcSpYVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgY2hvIHBow6lwIGhp4buDbiB0aOG7iyBjaGkgdGnhur90IGPDtG5nIHZp4buHY1xuIgorIiAteCwgLS1jZHNwZWVkIDxzcGVlZD4gICAgICAgxJHhurd0IHThu5FjIMSR4buZIENELVJPTSB04buRaSDEkWFcbiIKKyIgLVgsIC0tbGlzdHNwZWVkICAgICAgICAgICAgIGxp4buHdCBrw6ogdOG7kWMgxJHhu5kgQ0QtUk9NIHPhurVuIGPDs1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNjQKK21zZ2lkICIiCisiXG4iCisiQnkgZGVmYXVsdCB0cmllcyAtciwgLXMsIC1mLCBhbmQgLXEgaW4gb3JkZXIgdW50aWwgc3VjY2Vzcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlRoZW8gbeG6t2MgxJHhu4tuaCBjw6FjIG3hu6VjIC1yLCAtcywgLWYsIHbDoCAtcSB0aOG7sWMgaGnhu4duIHRoZW8gdGjhu6kgdOG7sSBuw6B5IGNobyDEkeG6v24ga2hpIHRow6BuaCBjw7RuZy5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjEwCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNoYW5nZXJzbG90Ly1jIG9wdGlvbiIKK21zZ3N0ciAixJHhu5FpIHPhu5Ega2jDtG5nIGjhu6NwIGzhu4cgxJHhu5FpIHbhu5tpIHTDuXkgY2jhu41uIC0tY2hhbmdlcnNsb3QvLWMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxNAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jZHNwZWVkLy14IG9wdGlvbiIKK21zZ3N0ciAixJHhu5FpIHPhu5Ega2jDtG5nIGjhu6NwIGzhu4cgxJHhu5FpIHbhu5tpIHTDuXkgY2jhu41uIC0tY2RzcGVlZC8teCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzI2Cittc2dpZCAiQ0QtUk9NIGF1dG8tZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkzhu4duaCDEkeG6qXkgxJHEqWEgQ0QtUk9NIHJhIHThu7EgxJHhu5luZyBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQwCittc2dpZCAiQ0QtUk9NIGRvb3IgbG9jayBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJLaMO0bmcgaOG7lyB0cuG7oyBraMOzYSBj4butYSDhu5UgxJHEqWEgQ0QtUk9NIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDIKK21zZ2lkICJvdGhlciB1c2VycyBoYXZlIHRoZSBkcml2ZSBvcGVuIGFuZCBub3QgQ0FQX1NZU19BRE1JTiIKK21zZ3N0ciAiY8OhYyBuZ8aw4budaSBkw7luZyBraMOhYyBjw7MgxJHEqWEgbeG7nyB2w6Aga2jDtG5nIENBUF9TWVNfQURNSU4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0NAorbXNnaWQgIkNELVJPTSBsb2NrIGRvb3IgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkzhu4duaCBraMOzYSBj4butYSBDRC1ST00gZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0OQorbXNnaWQgIkNELURyaXZlIG1heSBOT1QgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIsSQxKlhIENELVJPTSBjw7MgbOG6vSBraMO0bmcgdGjhu4MgxJHGsOG7o2MgxJHhuql5IHJhIHbhu5tpIG7DunQg4bufIHRoaeG6v3QgYuG7iyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzUxCittc2dpZCAiQ0QtRHJpdmUgbWF5IGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICLEkMSpYSBDRC1ST00gY8OzIGzhur0gxJHGsOG7o2MgxJHhuql5IHJhIHbhu5tpIG7DunQg4bufIHRoaeG6v3QgYuG7iyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzYyCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBkaXNjIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJM4buHbmggY2jhu41uIMSRxKlhIGNobyBDRC1ST00gZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NgorbXNnaWQgIkNELVJPTSBsb2FkIGZyb20gc2xvdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAidMOgaSBDRC1ST00gdOG7qyBs4buHbmggc2xvdCBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY4Cittc2dpZCAiSURFL0FUQVBJIENELVJPTSBjaGFuZ2VyIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAiVGhheSDEkeG7lWkgSURFL0FUQVBJIENELVJPTSBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyBi4bufaSBrZXJuZWwgbsOgeVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODYKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiTOG7h25oIMSRw7NuZyDEkcSpYSBDRC1ST00gdsOgbyBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg4Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIkzhu4duaCDEkcOzbmcgxJHEqWEgQ0QtUk9NIHbDoG8ga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MgYuG7n2kga2VybmVsIG7DoHlcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDA1Cittc2dpZCAiQ0QtUk9NIGVqZWN0IHVuc3VwcG9ydGVkIgorbXNnc3RyICLEkOG6qXkgxJHEqWEgQ0QtUk9NIHJhIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzMgc3lzLXV0aWxzL2VqZWN0LmM6NDU2IHN5cy11dGlscy9lamVjdC5jOjEwMTEKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkzhu4duaCDEkeG6qXkgxJHEqWEgQ0QtUk9NIHJhIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzYKK21zZ2lkICJubyBDRC1ST00gaW5mb3JtYXRpb24gYXZhaWxhYmxlIgorbXNnc3RyICJraMO0bmcgY8OzIHRow7RuZyB0aW4gQ0QtUk9NIHPhurVuIHPDoG5nIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzkKK21zZ2lkICJDRC1ST00gZHJpdmUgaXMgbm90IHJlYWR5IgorbXNnc3RyICLhu5QgxJHEqWEgQ0QtUk9NIGNoxrBhIHPhurVuIHPDoG5nIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODIKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJM4buHbmggY2jhu41uIHThu5FjIMSR4buZIGNobyBDRC1ST00gZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4NCBzeXMtdXRpbHMvZWplY3QuYzo1NzAKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbCIKK21zZ3N0ciAiTOG7h25oIGNo4buNbiB04buRYyDEkeG7mSDEkcSpYSBDRC1ST00ga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MgYuG7n2kga2VybmVsIG7DoHkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmRpbmcgQ0QtUk9NIG5hbWUiCittc2dzdHIgIiVzOiBs4buXaSBraGkgbOG6pXkgdMOqbiBDRC1ST00iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgIiVzOiDEkeG7jWMgdOG7kWMgxJHhu5kgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU0NAorbXNnaWQgImZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICLEkeG7jWMgdOG7kWMgxJHhu5kgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU4OAorbXNnaWQgIm5vdCBhbiBzZyBkZXZpY2UsIG9yIG9sZCBzZyBkcml2ZXIiCittc2dzdHIgImtow7RuZyBwaOG6o2kgbMOgICB0aGnhur90IGLhu4sgc2csIGhv4bq3YyB0csOsbmggxJFp4buBdSBraGnhu4NuIHNnIHF1w6EgY8WpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubW91bnRpbmciCittc2dzdHIgIiVzOiDEkWFuZyBi4buPIGfhuq9uIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGV4ZWMgL2Jpbi91bW91bnQgb2YgYCVzJyIKK21zZ3N0ciAia2luaCB04bq/IHRoaSBow6BuaCAvYmluL3Vtb3VudCBjaG8g4oCcJXPigJ0iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY3OAorbXNnaWQgInVuYWJsZSB0byBmb3JrIgorbXNnc3RyICJraMO0bmcgdGjhu4MgcuG6vSBuaMOhbmggdGnhur9uIHRyw6xuaCBjb24iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJi4buPIGfhuq9uIOKAnCVz4oCdIGtow7RuZyB0aG/DoXQgYsOsbmggdGjGsOG7nW5nIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGZhaWxlZFxuIgorbXNnc3RyICJi4buPIGfhuq9uIOKAnCVz4oCdIGfhurdwIGzhu5dpXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjczMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIGLhuqNuZyBn4bqvbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzkxIHN5cy11dGlscy9lamVjdC5jOjg5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAiJXM6IMSRxrDhu6NjIGfhuq9uIHbDoG8gJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzMworbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvIGF1dG8iCittc2dzdHIgIsSR4bq3dCB04buRYyDEkeG7mSBjaG8gQ0QtUk9NIHRow6BuaCB04buxIMSR4buZbmciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzNQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byAlbGRYIgorbXNnc3RyICLEkeG6t3QgdOG7kWMgxJHhu5kgY2hvIENELVJPTSB0aMOgbmggdOG7sSDEkeG7mW5nICVsZFgiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg2MQorIywgYy1mb3JtYXQKK21zZ2lkICJkZWZhdWx0IGRldmljZTogYCVzJyIKK21zZ3N0ciAidGhp4bq/dCBi4buLIG3hurdjIMSR4buLbmg6IOKAnCVz4oCdIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgZGVmYXVsdCBkZXZpY2UgYCVzJyIKK21zZ3N0ciAic+G7rSBk4bulbmcgdGhp4bq/dCBi4buLIG3hurdjIMSR4buLbmgg4oCcJXPigJ0iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4NiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGZpbmQgZGV2aWNlIgorbXNnc3RyICIlczoga2jDtG5nIHRo4buDIHTDrG0gdGhp4bq/dCBi4buLIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIG5hbWUgaXMgYCVzJyIKK21zZ3N0ciAidMOqbiB0aGnhur90IGLhu4sgbMOgIOKAnCVz4oCdIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4OTQgc3lzLXV0aWxzL3Vtb3VudC5jOjIwNiBzeXMtdXRpbHMvdW1vdW50LmM6MjM1CisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NDA5IHN5cy11dGlscy91bW91bnQuYzo0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBtb3VudGVkIgorbXNnc3RyICIlczogY2jGsGEgZ+G6r24iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg5OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYyBkZXZpY2U6ICVzIChkaXNrIGRldmljZSB3aWxsIGJlIHVzZWQgZm9yIGVqZWN0KSIKK21zZ3N0ciAiJXM6IHRoaeG6v3QgYuG7iyDEkcSpYTogJXMgKHRoaeG6v3QgYuG7iyDEkcSpYSBz4bq9IMSRxrDhu6NjIMSR4bqpeSByYSkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIG1vdW50cG9pbnQgb3IgZGV2aWNlIHdpdGggdGhlIGdpdmVuIG5hbWUiCittc2dzdHIgIiVzOiBraMO0bmcgdMOsbSB0aOG6pXkgxJFp4buDbSBn4bqvbiBoYXkgdGhp4bq/dCBi4buLIGPDsyB0w6puIMSRw6MgY2jhu4kgcmEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgd2hvbGUtZGlzayBkZXZpY2UiCittc2dzdHIgIiVzOiBsw6AgdGhp4bq/dCBi4buLIHRvw6BuLWLhu5ktxJHEqWEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGhvdC1wbHVnZ2FibGUgZGV2aWNlIgorbXNnc3RyICIlczoga2jDtG5nIHBo4bqjaSBsw6AgdGhp4bq/dCBi4buLIGPhuq9tIG7Ds25nIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIGlzIGAlcyciCittc2dzdHIgInRoaeG6v3QgYuG7iyBsw6Ag4oCcJXPigJ0iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxOAorbXNnaWQgImV4aXRpbmcgZHVlIHRvIC1uLy0tbm9vcCBvcHRpb24iCittc2dzdHIgInRob8OhdCByYSBi4bufaSB2w6wgdMO5eSBjaOG7jW4gLW4vLS1ub29wIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVuYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiJXM6IGLhuq10IGNo4bq/IMSR4buZIHThu7EtxJHhu5luZy3EkeG6qXkta2hheS3EkcSpYSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNhYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIlczogdOG6r3QgY2jhur8gxJHhu5kgdOG7sS3EkeG7mW5nLcSR4bqpeS1raGF5LcSRxKlhIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NpbmcgdHJheSIKK21zZ3N0ciAiJXM6IMSRw7NuZyBraGF5IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiVzOiDEkcOzbmcvbeG7nyBraGF5IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxpc3RpbmcgQ0QtUk9NIHNwZWVkIgorbXNnc3RyICIlczogbGnhu4d0IGvDqiB04buRYyDEkeG7mSBDRC1ST00iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk4NgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IGRldmljZSBpbiB1c2UiCittc2dzdHIgImzhu5dpOiAlczogdGhp4bq/dCBi4buLIMSRYW5nIMSRxrDhu6NjIHPhu60gZOG7pW5nIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlbGVjdGluZyBDRC1ST00gZGlzYyAjJWxkIgorbXNnc3RyICIlczogxJFhbmcgY2jhu41uIMSRxKlhIENELVJPTSAjJWxkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgQ0QtUk9NIGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiVzOiDEkWFuZyB0aOG7rSDEkeG6qXkgxJHEqWFDRC1ST00gcmEgc+G7rSBk4bulbmcgbOG7h25oIGVqZWN0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEwCittc2dpZCAiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICJM4buHbmggxJHhuql5IMSRxKlhIENELVJPTSByYSB0aMOgbmggY8O0bmciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBTQ1NJIGNvbW1hbmRzIgorbXNnc3RyICIlczogxJFhbmcgdGjhu60gxJHhuql5IMSRxKlhQ0QtUk9NIHJhIHPhu60gZOG7pW5nIGzhu4duaCBTQ1NJIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE3Cittc2dpZCAiU0NTSSBlamVjdCBzdWNjZWVkZWQiCittc2dzdHIgIsSR4bqpeSDEkcSpYSByYSBz4butIGThu6VuZyBTQ1NJIHRow6BuaCBjw7RuZyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxOAorbXNnaWQgIlNDU0kgZWplY3QgZmFpbGVkIgorbXNnc3RyICLEkeG6qXkgxJHEqWEgcmEgc+G7rSBk4bulbmcgU0NTSSBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIGZsb3BweSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIlczogxJFhbmcgdGjhu60gxJHhuql5IMSRxKlhIG3hu4FtIHJhIHPhu60gZOG7pW5nIGzhu4duaCBlamVjdCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNAorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAibOG7h25oIMSR4bqpeSDEkcSpYSBt4buBbSByYSB0aMOgbmggY8O0bmciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjUKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgImzhu4duaCDEkeG6qXkgxJHEqWEgbeG7gW0gcmEgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyB0YXBlIG9mZmxpbmUgY29tbWFuZCIKK21zZ3N0ciAiJXM6IMSRYW5nIHRo4butIMSR4bqpeSDEkcSpYSByYSBz4butIGThu6VuZyBs4buHbmggIOKAnHRhcGUgb2ZmbGluZeKAnSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMQorbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAibOG7h25oIMSR4bqpeSDEkcSpYSDigJx0YXBlIG9mZmxpbmXigJ0gdGjDoG5oIGPDtG5nIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDMyCittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJs4buHbmggxJHhuql5IMSRxKlhIOKAnHRhcGUgb2ZmbGluZeKAnSBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzNgorbXNnaWQgInVuYWJsZSB0byBlamVjdCIKK21zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58ga2hheSDEkcaw4bujYyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGVuYW1lPlxuIgorbXNnc3RyICIlcyBbQ8OBQ19Uw5lZX0NI4buMTl0gPFTDik5fVOG6rFBfVElOPlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODEKK21zZ2lkICJQcmVhbGxvY2F0ZSBzcGFjZSB0bywgb3IgZGVhbGxvY2F0ZSBzcGFjZSBmcm9tIGEgZmlsZS5cbiIKK21zZ3N0ciAiQ+G6pXAvdGh1IGjhu5NpIGtow7RuZyBnaWFuIGNoby904burIG3hu5l0IHThuq1wIHRpbi5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg0Cittc2dpZCAiIC1jLCAtLWNvbGxhcHNlLXJhbmdlIHJlbW92ZSBhIHJhbmdlIGZyb20gdGhlIGZpbGVcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbGxhcHNlLXJhbmdlIGfhu6EgYuG7jyBt4buZdCB2w7luZyB04burIHThuq1wIHRpblxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODUKK21zZ2lkICIgLWQsIC0tZGlnLWhvbGVzICAgICAgZGV0ZWN0IHplcm9lcyBhbmQgcmVwbGFjZSB3aXRoIGhvbGVzXG4iCittc2dzdHIgIiAtZCwgLS1kaWctaG9sZXMgICAgICBkw7Igc+G7kSBraMO0bmcgdsOgIHRoYXkgYuG6sW5nIGPDoWMgbOG7l1xuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODYKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICAgbGVuZ3RoIGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDxz4buRPiAgICDEkeG7mSBkw6BpIGNobyBjw6FjIHRoYW8gdMOhYyB2w7luZywgdMOtbmggYuG6sW5nIGJ5dGVcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg3Cittc2dpZCAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgIG1haW50YWluIHRoZSBhcHBhcmVudCBzaXplIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiAtbiwgLS1rZWVwLXNpemUgICAgICBi4bqjbyB0csOsIGPhu6EgYmnhu4N1IGtp4bq/biBj4bunYSB04bqtcCB0aW5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg4Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgIG9mZnNldCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8c+G7kT4gICAga2hv4bqjbmcgYsO5IGNobyB0aGFvIHTDoWMgdsO5bmcsIHTDrW5oIGLhurFuZyBieXRlXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4OQorbXNnaWQgIiAtcCwgLS1wdW5jaC1ob2xlICAgICByZXBsYWNlIGEgcmFuZ2Ugd2l0aCBhIGhvbGUgKGltcGxpZXMgLW4pXG4iCittc2dzdHIgIiAtcCwgLS1wdW5jaC1ob2xlICAgICB0aGF5IHRo4bq/IG3hu5l0IHbDuW5nIGLhurFuZyBt4buZdCBs4buXICjDvSBsw6AgLW4pXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MAorbXNnaWQgIiAteiwgLS16ZXJvLXJhbmdlICAgICB6ZXJvIGFuZCBlbnN1cmUgYWxsb2NhdGlvbiBvZiBhIHJhbmdlXG4iCittc2dzdHIgIiAteiwgLS16ZXJvLXJhbmdlICAgICDEkWnhu4FuIGLhurFuZyBz4buRIGtow7RuZyB2w6AgxJHhuqNtIGLhuqNvIGFsbG9jYXRpb24gY+G7p2EgdsO5bmdcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEyNgorIywgZnV6enkKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkOiBrZWVwIHNpemUgbW9kZSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiY2jhur8gxJHhu5kgZ2nhu68ga8OtY2ggY+G7oSAodMO5eSBjaOG7jW4g4oCcLW7igJ0uIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTI3Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZCIKK21zZ3N0ciAiZmFsbG9jYXRlIGLhu4sgbOG7l2kiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgZmFpbGVkIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIMSR4buNYyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjI2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCVqdSBieXRlcykgY29udmVydGVkIHRvIHNwYXJzZSBob2xlcy5cbiIKK21zZ3N0ciAiJXM6ICVzICglanUgYnl0ZXMpIMSRxrDhu6NjIGNodXnhu4NuIMSR4buVaSB0aMOgbmggY8OhYyBs4buXIHLhuqNpIHLDoWMuXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNDYgc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTE4Cittc2dpZCAibm8gZmlsZW5hbWUgc3BlY2lmaWVkIgorbXNnc3RyICJjaMawYSB4w6FjIMSR4buLbmggdMOqbiB04bqtcCB0aW4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTggc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2NAorbXNnaWQgImludmFsaWQgbGVuZ3RoIHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAic2FpIHjDoWMgxJHhu4tuaCBnacOhIHRy4buLIGNoaeG7gXUgZMOgaSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2MgorbXNnaWQgIm5vIGxlbmd0aCBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgImNoxrBhIHjDoWMgxJHhu4tuaCDEkeG7kWkgc+G7kSBjaGnhu4F1IGTDoGkiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjcKK21zZ2lkICJpbnZhbGlkIG9mZnNldCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgInNhaSB4w6FjIMSR4buLbmggZ2nDoSB0cuG7iyBjaMOqbmgiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IDxjb21tYW5kPiBbPGFyZ3VtZW50Pi4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IC1jIDxjb21tYW5kPlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZSBkZXNjcmlwdG9yIG51bWJlcj5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtjw6FjIHTDuXkgY2jhu41uXSA8dOG6rXAtdGluPnw8dGjGsC1t4bulYz4gPGzhu4duaD4gWzxjw6FjIMSR4buRaSBz4buRPuKApl1cbiIKKyIgJTEkcyBbY8OhYyB0w7l5IGNo4buNbl0gPHThuq1wLXRpbj58PHRoxrAtbeG7pWM+IC1jIDxs4buHbmg+XG4iCisiICUxJHMgW2PDoWMgdMO5eSBjaOG7jW5dIDxz4buRIG3DtCB04bqjIHThuq1wIHRpbj5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTkKK21zZ2lkICJNYW5hZ2UgZmlsZSBsb2NrcyBmcm9tIHNoZWxsIHNjcmlwdHMuXG4iCittc2dzdHIgIlF14bqjbiBsw70gY8OhYyBraMOzYSB04bqtcCB0aW4gdOG7qyB2xINuIGzhu4duaCBo4buHIHbhu49cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjIKK21zZ2lkICIgLXMsIC0tc2hhcmVkICAgICAgICAgICAgIGdldCBhIHNoYXJlZCBsb2NrXG4iCittc2dzdHIgIiAtcywgLS1zaGFyZWQgICAgICAgICAgICAgbOG6pXkga2jhu5FpIGNoaWEgc+G6u1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MworbXNnaWQgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAgZ2V0IGFuIGV4Y2x1c2l2ZSBsb2NrIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIGzhuqV5IG3hu5l0IGtow7NhIGxv4bqhaSB0cuG7qyAobeG6t2MgxJHhu4tuaClcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjQKK21zZ2lkICIgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIHJlbW92ZSBhIGxvY2tcbiIKK21zZ3N0ciAiIC11LCAtLXVubG9jayAgICAgICAgICAgICBn4buhIGLhu48gbeG7mXQga2jDs2FcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjUKK21zZ2lkICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIGZhaWwgcmF0aGVyIHRoYW4gd2FpdFxuIgorbXNnc3RyICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIGzDoG0gaOG7j25nIHRoYXkgdsOsIMSR4bujaVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NgorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCittc2dzdHIgIiAtdywgLS10aW1lb3V0IDxnacOieT4gICAgIGNo4budIMSR4bujaSBjw7MgZ2nhu5tpIGjhuqFuXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY3Cittc2dpZCAiIC1FLCAtLWNvbmZsaWN0LWV4aXQtY29kZSA8bnVtYmVyPiAgZXhpdCBjb2RlIGFmdGVyIGNvbmZsaWN0IG9yIHRpbWVvdXRcbiIKK21zZ3N0ciAiIC1FLCAtLWNvbmZsaWN0LWV4aXQtY29kZSA8c+G7kT4gIG3DoyB0aG/DoXQgc2F1IHh1bmcgxJHhu5l0IGhv4bq3YyBxdcOhIGdp4budXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY4Cittc2dpZCAiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBjbG9zZSBmaWxlIGRlc2NyaXB0b3IgYmVmb3JlIHJ1bm5pbmcgY29tbWFuZFxuIgorbXNnc3RyICIgLW8sIC0tY2xvc2UgICAgICAgICAgICAgIMSRw7NuZyBi4buZIG3DtCB04bqjIHThuq1wIHRpbiB0csaw4bubYyBraGkgY2jhuqF5IGzhu4duaFxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OQorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgcnVuIGEgc2luZ2xlIGNvbW1hbmQgc3RyaW5nIHRocm91Z2ggdGhlIHNoZWxsXG4iCittc2dzdHIgIiAtYywgLS1jb21tYW5kIDxs4buHbmg+ICAgICBjaOG6oXkgbeG7mXQgY8OidSBs4buHbmggxJHGoW4gdGjDtG5nIHF1YSBo4buHIHbhu48gc2hlbGxcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgICBleGVjdXRlIGNvbW1hbmQgd2l0aG91dCBmb3JraW5nXG4iCittc2dzdHIgIiAtRiwgLS1uby1mb3JrICAgICAgICAgIGtow7RuZyBy4bq9IG5ow6FuaCB0aeG6v24gdHLDrG5oIHRyxrDhu5tjIHRo4buxYyB0aGkgPGNoxrDGoW5nIHRyw6xuaD5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICBpbmNyZWFzZSB2ZXJib3NpdHlcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBjaGkgdGnhur90IGjGoW4gbuG7r2FcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlcyIKK21zZ3N0ciAia2jDtG5nIG3hu58gxJHGsOG7o2MgdOG6rXAgdGluIGtow7NhICVzIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDUKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgdmFsdWUiCittc2dzdHIgImdpw6EgdHLhu4sgcXXDoSBnaeG7nSBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjA5Cittc2dpZCAiaW52YWxpZCBleGl0IGNvZGUiCittc2dzdHIgIm3DoyB0aG/DoXQga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIyOAorbXNnaWQgInRoZSAtLW5vLWZvcmsgYW5kIC0tY2xvc2Ugb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBleGFjdGx5IG9uZSBjb21tYW5kIGFyZ3VtZW50IgorbXNnc3RyICIlczogecOqdSBj4bqndSBjaMOtbmggeMOhYyBt4buZdCDEkeG7kWkgc+G7kSBs4buHbmgiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NAorbXNnaWQgImJhZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIm3DtCB04bqjIHThuq1wIHRpbiBzYWkiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NworbXNnaWQgInJlcXVpcmVzIGZpbGUgZGVzY3JpcHRvciwgZmlsZSBvciBkaXJlY3RvcnkiCittc2dzdHIgInnDqnUgY+G6p3UgYuG7mSBtw7QgdOG6oyB04bqtcCB0aW4sIHThuq1wIHRpbiBoYXkgdGjGsCBt4bulYyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjgxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgbG9jayIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSR4bq3dCBk4buvIGxp4buHdSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6Mjg4Cittc2dpZCAidGltZW91dCB3aGlsZSB3YWl0aW5nIHRvIGdldCBsb2NrIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjMyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldHRpbmcgbG9jayB0b29rICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiVzICAlMDZkIGdpw6J5XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjM0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICJM4buXaSB0aOG7sWMgaGnhu4duIFx0JXNcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnRwb2ludD5cbiIKK21zZ3N0ciAiICVzIFtjw6FjIHTDuXkgY2jhu41uXSA8xJFp4buDbV9n4bqvbj5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTMKK21zZ2lkICJTdXNwZW5kIGFjY2VzcyB0byBhIGZpbGVzeXN0ZW0gKGV4dDMvNCwgUmVpc2VyRlMsIEpGUywgWEZTKS5cbiIKK21zZ3N0ciAixJDDrG5oIGNo4buJIHRydXkgY+G6rXAgdsOgbyBt4buZdCBo4buHIHRo4buRbmcgdOG6rXAgdGluIChleHQzLzQsIFJlaXNlckZTLCBKRlMsIFhGUykuXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjU2Cittc2dpZCAiIC1mLCAtLWZyZWV6ZSAgICAgIGZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLWYsIC0tZnJlZXplICAgICAgxJHDs25nIGLEg25nIGjhu4cgdGjhu5FuZyB04bqtcCB0aW5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTcKK21zZ2lkICIgLXUsIC0tdW5mcmVlemUgICAgdW5mcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC11LCAtLXVuZnJlZXplICAgIGLhu48gxJHDs25nIGLEg25nIGjhu4cgdGjhu5FuZyB04bqtcCB0aW5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTE2Cittc2dpZCAibmVpdGhlciAtLWZyZWV6ZSBvciAtLXVuZnJlZXplIHNwZWNpZmllZCIKK21zZ3N0ciAia2jDtG5nIGNo4buJIMSR4buLbmggLS1mcmVlemUgbcOgIGPFqW5nIGtow7RuZyAtLXVuZnJlZXplIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXM6IGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHRoxrAgbeG7pWMiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjE0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGfhurdwIGzhu5dpIGtoaSDEkcOzbmcgYsSDbmciCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5mcmVlemUgZmFpbGVkIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIGLhu48gxJHDs25nIGLEg25nIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXM6IGtow7RuZyBwaOG6o2kgbeG7mXQgdGjGsCBt4bulYyIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBGSVRSSU0gaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogRklUUklNIGlvY3RsIGtow7RuZyB0aMOgbmggY8O0bmciCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgaGVyZSBpcyBhIHZlcnkgbGFyZ2UgbnVtYmVyLgorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCU8UFJJdTY0PiBieXRlcykgdHJpbW1lZFxuIgorbXNnc3RyICIlczogJXMgKCU8UFJJdTY0PiBieXRlcykgYuG7iyB4w6luXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxOTEgc3lzLXV0aWxzL3N3YXBvbi5jOjcyOSBzeXMtdXRpbHMvdW1vdW50LmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kgcGjDom4gdMOtY2ggJXMiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnQgcG9pbnQ+XG4iCittc2dzdHIgIiAlcyBbY8OhYyB0w7l5IGNo4buNbl0gPMSRaeG7g21fZ+G6r24+XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTQKK21zZ2lkICJEaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkxv4bqhaSBi4buPIGPDoWMga2jhu5FpIGtow7RuZyBkw7luZyB0csOqbiBo4buHIHRo4buRbmcgdOG6rXAgdGluIMSRw6MgZ+G6r24uXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTcKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB0cmltIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIHRoYXQgYXJlIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICBj4bqvdCB04bqldCBj4bqjIGPDoWMgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiDEkcOjIGfhuq9uIG3DoCBuw7Mga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6NcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1OAorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIHRoZSBvZmZzZXQgaW4gYnl0ZXMgdG8gc3RhcnQgZGlzY2FyZGluZyBmcm9tXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPHPhu5E+ICAgduG7iyB0csOtIHTGsMahbmcgxJHhu5FpIHTDrW5oIGLhurFuIGJ5dGUgxJHhu4MgYuG6r3QgxJHhuqd1IGxv4bqhaSBi4buPIHThu6sgxJHDs1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgdGhlIG51bWJlciBvZiBieXRlcyB0byBkaXNjYXJkXG4iCittc2dzdHIgIiAtbCwgLS1sZW5ndGggPHPhu5E+ICAgc+G7kSBsxrDhu6NuZyBieXRlIMSRxrDhu6NjIGxv4bqhaSBi4buPXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjAKK21zZ2lkICIgLW0sIC0tbWluaW11bSA8bnVtPiB0aGUgbWluaW11bSBleHRlbnQgbGVuZ3RoIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC1tLCAtLW1pbmltdW0gPHPhu5E+ICBjaGnhu4F1IGTDoGkgcXV5IG3DtCB04buRaSB0aGnhu4N1IMSR4buDIGxv4bqhaSBi4buPXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBudW1iZXIgb2YgZGlzY2FyZGVkIGJ5dGVzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgIGhp4buDbiB0aOG7iyBz4buRIGzGsOG7o25nIGJ5dGUgxJHGsOG7o2MgbG/huqFpIGLhu49cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMxNgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtaW5pbXVtIGV4dGVudCBsZW5ndGgiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0aW4gxJHhu5kgZMOgaSB04buRaSB0aGnhu4N1IGPhu6dhIHBo4bqnbiBt4bufIHLhu5luZyIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMyOQorbXNnaWQgIm5vIG1vdW50cG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICJjaMawYSBjaOG7iSByYSDEkWnhu4NtIGfhuq9uIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGUgZGlzY2FyZCBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiJXM6IGtow7RuZyBo4buXIHRy4bujIGjhu6d5IHRoYW8gdMOhYyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXNzdW1pbmcgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiAlcyB0aW1lLlxuIgorbXNnc3RyICJDb2kgbmjGsCDEkeG7k25nIGjhu5MgcGjhuqduIGPhu6luZyDEkcaw4bujYyBnaeG7ryB04bqhaSAlcy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNDcgc3lzLXV0aWxzL2h3Y2xvY2suYzozMzQKK21zZ2lkICJVVEMiCittc2dzdHIgIlVUQyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNDcgc3lzLXV0aWxzL2h3Y2xvY2suYzozMzMKK21zZ2lkICJsb2NhbCIKK21zZ3N0ciAixJHhu4thIHBoxrDGoW5nIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMxOAorbXNnaWQgIiIKKyJXYXJuaW5nOiB1bnJlY29nbml6ZWQgdGhpcmQgbGluZSBpbiBhZGp0aW1lIGZpbGVcbiIKKyIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pIgorbXNnc3RyICIiCisiQ+G6o25oIGLDoW86IGtow7RuZyBjaOG6pXAgbmjhuq1uIGTDsm5nIHRo4bupIGJhIGPhu6dhIHThuq1wIHRpbiBkw7luZyBjaG8gY2jhu4luaCBz4butYVxuIgorIihD4bqnbjog4oCcVVRD4oCdIGhv4bq3YyDigJxMT0NBTOKAnSBob+G6t2Mga2jDtG5nIGfDrCBj4bqjLikiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgZHJpZnQgYWRqdXN0bWVudCBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAixJBp4buBdSBjaOG7iW5oIMSR4buZIGzhu4djaCBs4bqnbiBjdeG7kWkgdOG6oWkgJWxkIGdpw6J5IHNhdSAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgY2FsaWJyYXRpb24gZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIlPhu7EgxJHhu4tuaCBraHXDtG4gdGjhu7FjIGhp4buHbiBs4bqnbiBjdeG7kWkgdOG6oWkgJWxkIGdpw6J5IHNhdSBuxINtIDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGFyZHdhcmUgY2xvY2sgaXMgb24gJXMgdGltZVxuIgorbXNnc3RyICLEkOG7k25nIGjhu5MgcGjhuqduIGPhu6luZyBsw6AgdHLDqm4gJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBmb3IgY2xvY2sgdGljay4uLlxuIgorbXNnc3RyICJDaOG7nSB0aeG6v25nIHTDrWMgdOG6r2MgY+G7p2EgxJHhu5NuZyBo4buT4oCmXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnN5bmNocm9uaXphdGlvbiBmYWlsZWRcbiIKK21zZ3N0ciAi4oCmbOG7l2kgxJHhu5NuZyBi4buZIGjDs2FcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uZ290IGNsb2NrIHRpY2tcbiIKK21zZ3N0ciAi4oCmxJHDoyBuZ2hlIHRo4bqleSB0aeG6v25nIHTDrWMgdOG6r2NcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZXMgaW4gaGFyZHdhcmUgY2xvY2s6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKK21zZ3N0ciAiR2nDoSB0cuG7iyBraMO0bmcgxJHDum5nIHRyb25nIMSR4buTbmcgaOG7kyBwaOG6p24gY+G7qW5nOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkh3IGNsb2NrIHRpbWUgOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICJUaOG7nWkgZ2lhbiDEkeG7k25nIGjhu5MgcGjhuqduIGPhu6luZzogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBnacOieSBr4buDIHThu6sgbsSDbSAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDY1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgcmVhZCBmcm9tIEhhcmR3YXJlIENsb2NrOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCittc2dzdHIgIlRo4budaSBnaWFuIMSR4buNYyB04burIMSQ4buTbmcgaOG7kyBQaOG6p24gY+G7qW5nOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgSGFyZHdhcmUgQ2xvY2sgdG8gJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIsSQ4bq3dCDEkOG7k25nIGjhu5MgUGjhuqduIGPhu6luZyB0aMOgbmggJS4yZDolLjJkOiUuMmQgPSAlbGQgZ2nDonkga+G7gyB04burIG5hbSAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNsb2NrIG5vdCBjaGFuZ2VkIC0gdGVzdGluZyBvbmx5LlxuIgorbXNnc3RyICLEkOG7k25nIGjhu5Mga2jDtG5nIHRoYXkgxJHhu5VpIC0gY2jhu4kgdGjhu60gbmdoaeG7h20gbcOgIHRow7RpLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYwMworIywgYy1mb3JtYXQKK21zZ2lkICJzbGVlcGluZyB+JWQgdXNlY1xuIgorbXNnc3RyICLEkWFuZyBuZ+G7pyB+JWQgbWljcm8gZ2nDonlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRpbWUganVtcGVkIGJhY2t3YXJkICUuNmYgc2Vjb25kcyB0byAlbGQuJTA2bGQgLSByZXRhcmdldGluZ1xuIgorbXNnc3RyICJ0aOG7nWkgZ2lhbiBuaOG6o3kgbmfGsOG7o2MgJS42ZiBnacOieSDEkeG6v24gJWxkLiUwNmQgLSDEkWFuZyB0w6FpIGzhuq1wIG3hu6VjIHRpw6p1XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlbGQuJTA2bGQgPCAlbGQuJTA2bGQgKCUuNmYpXG4iCittc2dzdHIgIiVsZC4lMDZkIDwgJWxkLiUwNmQgKCUuNmYpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciBwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCittc2dzdHIgIsSRw6MgbeG6pXQgLSAlbGQuJTA2ZCBuw7MgbMOgIHF1w6EgeGEgcXXDoSBraOG7qSAlbGQuJTA2ZCAoJS42ZiA+ICUuNmYpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiJWxkLiUwNmxkIGlzIGNsb3NlIGVub3VnaCB0byAlbGQuJTA2bGQgKCUuNmYgPCAlLjZmKVxuIgorIlNldCBSVEMgdG8gJWxkICglbGQgKyAlZDsgcmVmc3lzdGltZSA9ICVsZC4lMDZsZClcbiIKK21zZ3N0ciAiIgorIiVsZC4lMDZkIGzDoCBn4bqnbiDEkeG7pyDEkeG7gyAlbGQuJTA2ZCAoJS42ZiA8ICUuNmYpXG4iCisixJDhurd0IFJUQyB0aMOgbmggJWxkICglbGQgKyAlZDsgcmVmc3lzdGltZSA9ICVsZC4lMDZkKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY4OAorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayByZWdpc3RlcnMgY29udGFpbiB2YWx1ZXMgdGhhdCBhcmUgZWl0aGVyIGludmFsaWQgKGUuZy4gNTB0aCBkYXkgb2YgbW9udGgpIG9yIGJleW9uZCB0aGUgcmFuZ2Ugd2UgY2FuIGhhbmRsZSAoZS5nLiBZZWFyIDIwOTUpLiIKK21zZ3N0ciAixJDhu5NuZyBo4buTIFBo4bqnbiBj4bupbmcgY2jhu6lhIGPDoWMgZ2nDoSB0cuG7iyBob+G6t2Mga2jDtG5nIMSRw7puZyAodi5kLiBuZ8OgeSB0aOG7qSA1MCBj4bunYSB0aMOhbmcpIGhv4bq3YyB2xrDhu6N0IHF1w6EgcGjhuqFtIHZpIGNow7puZyB0YSBjw7MgdGjhu4MgbuG6r20gZ2nhu68gKHYuZC4gTsSDbSAyMDk1KS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzI4Cittc2dpZCAiTm8gLS1kYXRlIG9wdGlvbiBzcGVjaWZpZWQuIgorbXNnc3RyICJLaMO0bmcgY2jhu4kgcmEgdMO5eSBjaOG7jW4gLS1kYXRlLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MzQKK21zZ2lkICItLWRhdGUgYXJndW1lbnQgdG9vIGxvbmciCittc2dzdHIgIlRoYW0gc+G7kSAtLWRhdGUgcXXDoSBkw6BpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc0MQorbXNnaWQgIiIKKyJUaGUgdmFsdWUgb2YgdGhlIC0tZGF0ZSBvcHRpb24gaXMgbm90IGEgdmFsaWQgZGF0ZS5cbiIKKyJJbiBwYXJ0aWN1bGFyLCBpdCBjb250YWlucyBxdW90YXRpb24gbWFya3MuIgorbXNnc3RyICIiCisiR2nDoSB0cuG7iyBj4bunYSB0w7l5IGNo4buNbiDigJwtLWRhdGXigJ0ga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgbmfDoHkgdGjDrWNoIGjhu6NwLlxuIgorIlRyb25nIHRyxrDhu51uZyBo4bujcCBuw6B5LCBuw7MgY2jhu6lhIGPDoWMgZOG6pXUgdHLDrWNoIGThuqtuLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSXNzdWluZyBkYXRlIGNvbW1hbmQ6ICVzXG4iCittc2dzdHIgIsSQxrBhIHJhIGPDonUgbOG7h25oIGRhdGUgKG5nw6B5IHRow6FuZyk6ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzUzCittc2dpZCAiVW5hYmxlIHRvIHJ1biAnZGF0ZScgcHJvZ3JhbSBpbiAvYmluL3NoIHNoZWxsLiBwb3BlbigpIGZhaWxlZCIKK21zZ3N0ciAiS2jDtG5nIGNo4bqheSDEkcaw4bujYyBjaMawxqFuZyB0csOsbmgg4oCcZGF0ZeKAnSB0cm9uZyBzaGVsbCAoaOG7hyB24buPKS4gcG9wZW4oKSBi4buLIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc2MQorIywgYy1mb3JtYXQKK21zZ2lkICJyZXNwb25zZSBmcm9tIGRhdGUgY29tbWFuZCA9ICVzXG4iCittc2dzdHIgIsSRw6FwIOG7qW5nIHThu6sgY8OidSBs4buHbmggZGF0ZSA9ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCB1bmV4cGVjdGVkIHJlc3VsdHMuXG4iCisiVGhlIGNvbW1hbmQgd2FzOlxuIgorIiAgJXNcbiIKKyJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorIiAgJXMiCittc2dzdHIgIiIKKyJDw6J1IGzhu4duaCBkYXRlIChuZ8OgeSB0aMOhbmcpIMSRxrBhIHJhIGLhu59pICVzIHRy4bqjIGzhuqFpIGvhur90IHF14bqjIGtow7RuZyBj4bqnbi5cbiIKKyJDw6J1IGzhu4duaCBsw6A6XG4iCisiICAlc1xuIgorIkvhur90IHF14bqjIGzDoDpcbiIKKyIgICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc3NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgc29tZXRoaW5nIG90aGVyIHRoYW4gYW4gaW50ZWdlciB3aGVyZSB0aGUgY29udmVydGVkIHRpbWUgdmFsdWUgd2FzIGV4cGVjdGVkLlxuIgorIlRoZSBjb21tYW5kIHdhczpcbiIKKyIgICVzXG4iCisiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyIgJXNcbiIKK21zZ3N0ciAiIgorIkPDonUgbOG7h25oIGRhdGUgKG5nw6B5IHRow6FuZykgxJHGsGEgcmEgYuG7n2kgJXMgdHLhuqMgbOG6oWkga+G6v3QgcXXhuqMga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgc+G7kSBuZ3V5w6puLCB0cm9uZyBraGkgY+G6p24gZ2nDoSB0cuG7iyB0aOG7nWkgZ2lhbiDEkcOjIGNodXnhu4NuIMSR4buVaS5cbiIKKyJDw6J1IGzhu4duaCBsw6A6XG4iCisiICAlc1xuIgorIkvhur90IHF14bqjIGzDoDpcbiIKKyIgICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzg2CisjLCBjLWZvcm1hdAorbXNnaWQgImRhdGUgc3RyaW5nICVzIGVxdWF0ZXMgdG8gJWxkIHNlY29uZHMgc2luY2UgMTk2OS5cbiIKK21zZ3N0ciAiY2h14buXaSBuZ8OgeSB0aMOhbmcgJXMgYuG6sW5nICVsZCBnacOieSBr4buDIHThu6sgbsSDbSAxOTY5LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgyNAorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IHNldCB0aGUgU3lzdGVtIFRpbWUgZnJvbSBpdC4iCittc2dzdHIgIsSQ4buTbmcgaOG7kyBQaOG6p24gY+G7qW5nIGtow7RuZyBjaOG7qWEgdGjhu51pIGdpYW4gdGjDrWNoIGjhu6NwLCB2w6wgdGjhur8gY2jDum5nIHRhIGtow7RuZyB0aOG7gyDEkeG6t3QgVGjhu51pIGdpYW4gY+G7p2EgSOG7hyB0aOG7kW5nIHThu6sgxJHDsy4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODQzIHN5cy11dGlscy9od2Nsb2NrLmM6OTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5OlxuIgorbXNnc3RyICLEkGFuZyBn4buNaSBs4buHbmggZ2nhu50gc2V0dGltZW9mZGF5OlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg0NCBzeXMtdXRpbHMvaHdjbG9jay5jOjkzMgorIywgYy1mb3JtYXQKK21zZ2lkICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorbXNnc3RyICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg0NiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzNAorIywgYy1mb3JtYXQKK21zZ2lkICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKK21zZ3N0ciAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODUwIHN5cy11dGlscy9od2Nsb2NrLmM6OTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIHN5c3RlbSBjbG9jayBiZWNhdXNlIHJ1bm5pbmcgaW4gdGVzdCBtb2RlLlxuIgorbXNnc3RyICJLaMO0bmcgY8OgaSDEkeG6t3QgxJHhu5NuZyBo4buTIGjhu4cgdGjhu5FuZyBi4bufIHbDrCDEkWFuZyBjaOG6oXkgdHJvbmcgY2jhur8gxJHhu5kgdGjhu60gbmdoaeG7h20uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODY2IHN5cy11dGlscy9od2Nsb2NrLmM6OTYyCittc2dpZCAiTXVzdCBiZSBzdXBlcnVzZXIgdG8gc2V0IHN5c3RlbSBjbG9jay4iCittc2dzdHIgIkPhuqduIHBo4bqjaSBsw6AgbmfGsOG7nWkgZMO5bmcgcm9vdCDEkeG7gyDEkeG6t3QgxJHhu5NuZyBo4buTIGjhu4cgdGjhu5FuZy4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODY5IHN5cy11dGlscy9od2Nsb2NrLmM6OTY1Cittc2dpZCAic2V0dGltZW9mZGF5KCkgZmFpbGVkIgorbXNnc3RyICJzZXR0aW1lb2ZkYXkoKSBraMO0bmcgdGjDoG5oIGPDtG5nIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkwNQorIywgYy1mb3JtYXQKK21zZ2lkICJDdXJyZW50IHN5c3RlbSB0aW1lOiAlbGQgPSAlc1xuIgorbXNnc3RyICJUaOG7nWkgZ2lhbiBo4buHIHRo4buRbmcgaGnhu4duIHThuqFpOiAlbGQgPSAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzMQorIywgYy1mb3JtYXQKK21zZ2lkICJcdFVUQzogJXNcbiIKK21zZ3N0ciAiXHRVVEM6ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIC0tdXBkYXRlLWRyaWZ0IG9wdGlvbiB3YXMgbm90IHVzZWQuXG4iCittc2dzdHIgIktow7RuZyBjaOG7iW5oIMSR4buZIGzhu4duaCB0aOG7nWkgZ2lhbiB2w6wgdMO5eSBjaOG7jW4gLS11cGRhdGUtZHJpZnQgxJHDoyBraMO0bmcgxJHGsOG7o2MgZMO5bmcuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAwMAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSBIYXJkd2FyZSBDbG9jayBwcmV2aW91c2x5IGNvbnRhaW5lZCBnYXJiYWdlLlxuIgorbXNnc3RyICJLaMO0bmcgY2jhu4luaCDEkeG7mSBs4buHbmggdGjhu51pIGdpYW4gdsOsIMSQ4buTbmcgaOG7kyBwaOG6p24gY+G7qW5nIGNo4bupYSByw6FjLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgbGFzdCBjYWxpYnJhdGlvbiB0aW1lIGlzIHplcm8sXG4iCisic28gaGlzdG9yeSBpcyBiYWQgYW5kIGNhbGlicmF0aW9uIHN0YXJ0b3ZlciBpcyBuZWNlc3NhcnkuXG4iCittc2dzdHIgIiIKKyJLaMO0bmcgY2jhu4luaCDEkeG7mSBs4buHbmggdGjhu51pIGdpYW4gdsOsIGzhuqduIMSR4buLbmggdGjhu51pIGdpYW4gY3Xhu5FpIGPDuW5nIGLhurFuZyAwLFxuIgorInbDrCB0aOG6vyBs4buLY2ggc+G7rSBzYWksIHbDoCBj4bqnbiBraOG7n2kgxJHhu5luZyBs4bqhaSB2aeG7h2MgxJHhu4tuaCB0aOG7nWkgZ2lhbi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDExCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgaXQgaGFzIGJlZW4gbGVzcyB0aGFuIGZvdXIgaG91cnMgc2luY2UgdGhlIGxhc3QgY2FsaWJyYXRpb24uXG4iCittc2dzdHIgIktow7RuZyBjaOG7iW5oIMSR4buZIGzhu4duaCB0aOG7nWkgZ2lhbiB2w6wgbsOzIG5o4buPIGLhu5FuIGdp4budIGvhu4MgdOG7qyBs4bqnbiBjw6JuIGNo4buJbmggdGjhu51pIGdpYW4gY3Xhu5FpIGPDuW5nLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0IGZhY3RvciB3YXMgY2FsY3VsYXRlZCBhcyAlZiBzZWNvbmRzL2RheS5cbiIKKyJJdCBpcyBmYXIgdG9vIG11Y2guIFJlc2V0dGluZyB0byB6ZXJvLlxuIgorbXNnc3RyICIiCisiSOG7hyBz4buRIHRyw7RpIMSR4buTbmcgaOG7kyDEkcOjIMSRxrDhu6NjIHTDrW5oIGzDoCAlZiBnacOieS9uZ8OgeS5cbiIKKyJOw7MgbMOgIHF1w6EgbOG7m24uIMSQ4bq3dCBs4bqhaSB0aMOgbmggMC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnRlZCAlZiBzZWNvbmRzIGluIHRoZSBwYXN0ICVmIHNlY29uZHNcbiIKKyJpbiBzcGl0ZSBvZiBhIGRyaWZ0IGZhY3RvciBvZiAlZiBzZWNvbmRzL2RheS5cbiIKKyJBZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJ5ICVmIHNlY29uZHMvZGF5XG4iCittc2dzdHIgIiIKKyLEkOG7k25nIGjhu5MgY2jhuqF5IHNhaSBs4buHY2ggJS4xZiBnacOieSB0cm9uZyBz4buRICUuMWYgZ2nDonkgxJHDoyBxdWFcbiIKKyJ2w6AgxJFpIG5nxrDhu6NjIGzhuqFpIMSR4buZIHNhaSBs4buHY2ggJWYgZ2nDonkvbmfDoHkuXG4iCisiQ2jhu4luaCBs4bqhaSDEkeG7mSBzYWkgbOG7h2NoICVmIGdpw6J5L25nw6B5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5OQorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlZCBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWQgc2Vjb25kc1xuIgorbXNnc3RyWzBdICJUaOG7nWkgZ2lhbiBr4buDIHThu6sgbOG6p24gY2jhu4luaCBjdeG7kWkgY8O5bmcgbMOgICVkIGdpw6J5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2FsY3VsYXRlZCBIYXJkd2FyZSBDbG9jayBkcmlmdCBpcyAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICLEkOG7mSBs4buHbmggxJHhu5NuZyBo4buTIHBo4bqnbiBj4bupbmcgdMOtbmggdG/DoW4gbMOgICVsZC4lMDZkIGdpw6J5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEzMworIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgdXBkYXRpbmcgYWRqdGltZSBmaWxlIGJlY2F1c2Ugb2YgdGVzdGluZyBtb2RlLlxuIgorbXNnc3RyICJLaMO0bmcgY+G6rXAgbmjhuq10IHRo4budaSBnaWFuIGNo4buJbmggdsOsIGNo4bq/IMSR4buZIHRo4butIG5naGnhu4dtLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldvdWxkIGhhdmUgd3JpdHRlbiB0aGUgZm9sbG93aW5nIHRvICVzOlxuIgorIiVzIgorbXNnc3RyICIiCisiR2hpIG5o4bubIGPDoWkgc2F1IHThu5tpICVzOlxuIgorIiVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgaW4gaXQgKCVzKSBmb3Igd3JpdGluZyIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIG3hu58gdOG6rXAgdGluIGNo4bupYSBjw6FjIHRoYW0gc+G7kSDEkWnhu4F1IGNo4buJbmggxJHhu5NuZyBo4buTICglcykgxJHhu4MgZ2hpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNDkgc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCB1cGRhdGUgZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgKCVzKSBpbiBpdCIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIGPhuq1wIG5o4bqtdCB04bqtcCB0aW4gY2jhu6lhIGPDoWMgdGhhbSBz4buRIMSRaeG7gXUgY2jhu4luaCDEkeG7k25nIGjhu5MgKCVzKSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTY0Cittc2dpZCAiRHJpZnQgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIG5vdCB1cGRhdGVkLiIKK21zZ3N0ciAiS2jDtG5nIGPhuq1wIG5o4bqtdCBjw6FjIHRoYW0gc+G7kSBjaOG7iW5oIHNhaSBs4buHY2guIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMDAKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBhZGp1c3QgaXQuIgorbXNnc3RyICLEkOG7k25nIGjhu5MgUGjhuqduIGPhu6luZyBraMO0bmcgY8OzIHRo4budaSBnaWFuIHRow61jaCBo4bujcCwgdsOsIHRo4bq/IGNow7puZyB0YSBraMO0bmcgdGjhu4MgY2jhu4luaC4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIwOAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGxhc3QgYWRqdXN0bWVudCB0aW1lIGlzIHplcm8sIHNvIGhpc3RvcnkgaXMgYmFkLlxuIgorbXNnc3RyICJT4bq9IGtow7RuZyDEkeG6t3QgxJHhu5NuZyBo4buTIHbDrCB0aOG7nWkgZ2lhbiDEkWnhu4F1IGNo4buJbmggY3Xhu5FpIGPDuW5nIGzDoCBz4buRIGtow7RuZywgZG8gxJHDsyBs4buLY2ggc+G7rSBzYWkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGRyaWZ0IGZhY3RvciAlZiBpcyBmYXIgdG9vIGhpZ2guXG4iCittc2dzdHIgIlPhur0ga2jDtG5nIMSR4bq3dCDEkeG7k25nIGjhu5MgdsOsIGjhu4cgc+G7kSB0csO0aSAlZiBsw6AgcXXDoSBjYW8uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJObyB1c2FibGUgY2xvY2sgaW50ZXJmYWNlIGZvdW5kLlxuIgorbXNnc3RyICJLaMO0bmcgdMOsbSB0aOG6pXkgZ2lhbyBkaeG7h24gxJHhu5NuZyBo4buTIGPDsyB0aOG7gyBz4butIGThu6VuZyBuw6BvLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmVlZGVkIGFkanVzdG1lbnQgaXMgbGVzcyB0aGFuIG9uZSBzZWNvbmQsIHNvIG5vdCBzZXR0aW5nIGNsb2NrLlxuIgorbXNnc3RyICJD4bqnbiBjaOG7iW5oIMOtdCBoxqFuIG3hu5l0IGdpw6J5LCB2w6wgdGjhur8ga2jDtG5nIMSR4bq3dCDEkeG7k25nIGjhu5MuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM4OCBzeXMtdXRpbHMvaHdjbG9jay5jOjEzOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIHNldCBzeXN0ZW0gY2xvY2suXG4iCittc2dzdHIgIktow7RuZyDEkeG6t3QgxJHGsOG7o2MgxJHhu5NuZyBo4buTIGjhu4cgdGjhu5FuZy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjksIFJUQyBpcyBwcmVkaWN0ZWQgdG8gcmVhZCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LlxuIgorbXNnc3RyICJWw6BvICVsZCBnacOieSBzYXUgMTk2OSwgUlRDIMSRxrDhu6NjIGThu7EgxJFvw6FuIMSR4buDIMSR4buNYyAlbGQgZ2nDonkgc2F1IDE5NjkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQzMQorbXNnaWQgIiIKKyJUaGUga2VybmVsIGtlZXBzIGFuIGVwb2NoIHZhbHVlIGZvciB0aGUgSGFyZHdhcmUgQ2xvY2sgb25seSBvbiBhbiBBbHBoYSBtYWNoaW5lLlxuIgorIlRoaXMgY29weSBvZiBod2Nsb2NrIHdhcyBidWlsdCBmb3IgYSBtYWNoaW5lIG90aGVyIHRoYW4gQWxwaGFcbiIKKyIoYW5kIHRodXMgaXMgcHJlc3VtYWJseSBub3QgcnVubmluZyBvbiBhbiBBbHBoYSBub3cpLiAgTm8gYWN0aW9uIHRha2VuLiIKK21zZ3N0ciAiIgorIk5ow6JuIGNo4buJIGdp4buvIGdpw6EgdHLhu4sga2jhu59pIMSR4bqndSBjaG8gxJDhu5NuZyBo4buTIFBo4bqnbiBj4bupbmcgdHLDqm4gbeG7mXQgbcOheSBBbHBoYS5cbiIKKyJC4bqjbiBzYW8gbsOgeSBj4bunYSBod2Nsb2NrIMSRxrDhu6NjIGJpw6puIGThu4tjaCBjaG8gbeG7mXQgbcOheSBraMOhYyB0aGF5IHbDrCBBbHBoYVxuIgorIih2w6AgdsOsIHRo4bq/IMSRb8OhbiBy4bqxbmcga2jDtG5nIGNo4bqheSB0csOqbiBt4buZdCBtw6F5IEFscGhhKS4gS2jDtG5nIHRo4buxYyBoaeG7h24gZ8OsLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDQ4Cittc2dpZCAiVW5hYmxlIHRvIGdldCB0aGUgZXBvY2ggdmFsdWUgZnJvbSB0aGUga2VybmVsLiIKK21zZ3N0ciAiS2jDtG5nIGzhuqV5IMSRxrDhu6NjIGdpw6EgdHLhu4sga2jhu59pIMSR4bqndSB04burIG5ow6JuLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIktlcm5lbCBpcyBhc3N1bWluZyBhbiBlcG9jaCB2YWx1ZSBvZiAlbHVcbiIKK21zZ3N0ciAiTmjDom4gxJFhbmcgZ2nhu68gZ2nDoSB0cuG7iyBraOG7n2kgxJHhuqd1IGzDoCAlbHVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDU1Cittc2dpZCAiVG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSwgeW91IG11c3QgdXNlIHRoZSAnZXBvY2gnIG9wdGlvbiB0byB0ZWxsIHRvIHdoYXQgdmFsdWUgdG8gc2V0IGl0LiIKK21zZ3N0ciAixJDhu4MgxJHhurd0IGdpw6EgdHLhu4sga2jhu59pIMSR4bqndSwgYuG6oW4gY+G6p24gc+G7rSBk4bulbmcgdMO5eSBjaOG7jW4g4oCcZXBvY2jigJ0gxJHhu4MgdGjDtG5nIGLDoW8gZ2nDoSB0cuG7iyBtdeG7kW4gxJHhurd0LiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyB0aGUgZXBvY2ggdG8gJWx1IC0gdGVzdGluZyBvbmx5LlxuIgorbXNnc3RyICJLaMO0bmcgxJHhurd0IGto4bufaSDEkeG6p3UgdGjDoG5oICVkIC0gY2jhu4kgdGjhu60gbmdoaeG7h20uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLlxuIgorbXNnc3RyICJLaMO0bmcgxJHhurd0IMSRxrDhu6NjIGdpw6EgdHLhu4sga2jhu59pIMSR4bqndSB0cm9uZyBuaMOibi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTU2Cittc2dpZCAiIGh3Y2xvY2sgW2Z1bmN0aW9uXSBbb3B0aW9uLi4uXVxuIgorbXNnc3RyICIgaHdjbG9jayBbaMOgbV0gW3TDuXkgY2jhu41u4oCmXVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NTkKK21zZ2lkICJRdWVyeSBvciBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrLlxuIgorbXNnc3RyICJUcnV5IHbhuqVuIGhheSDEkeG6t3QgxJHhu5NuZyBo4buTIHBo4bqnbiBj4bupbmcuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2MQorbXNnaWQgIiIKKyJcbiIKKyJGdW5jdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJIw6BtOlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjIKK21zZ2lkICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgIHNob3cgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyIgLXIsIC0tc2hvdyAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisiICAgICAtLWdldCAgICAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IGRyaWZ0IGNvcnJlY3RlZCByZXN1bHRcbiIKKyIgICAgIC0tc2V0ICAgICAgICAgICAgc2V0IHRoZSBSVEMgdG8gdGhlIHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKK21zZ3N0ciAiIgorIiAtaCwgLS1oZWxwICAgICAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKyIgLXIsIC0tc2hvdyAgICAgICAgICAgxJHhu41jIGdp4budIHThu6sgcGjhuqduIGPhu6luZyB2w6AgaW4ga+G6v3QgcXXhuqMgcmFcbiIKKyIgICAgIC0tZ2V0ICAgICAgICAgICAgxJHhu41jIGdp4budIHThu6sgcGjhuqduIGPhu6luZyB2w6AgaW4ga+G6v3QgcXXhuqMgc2FpIGzhu4duaCDEkcOjIHPhu61hIHJhXG4iCisiICAgICAtLXNldCAgICAgICAgICAgIMSR4bq3dCBSVEMgduG7m2kgdGjhu51pIGdpYW4gxJHGsOG7o2MgY2jhu4kgxJHhu4tuaCB24bubaSAtLWRhdGVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTY2Cittc2dpZCAiIgorIiAtcywgLS1oY3Rvc3lzICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisiIC13LCAtLXN5c3RvaGMgICAgICAgIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgZnJvbSB0aGUgY3VycmVudCBzeXN0ZW0gdGltZVxuIgorIiAgICAgLS1zeXN0eiAgICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRpbWV6b25lXG4iCisiICAgICAtLWFkanVzdCAgICAgICAgIGFkanVzdCB0aGUgUlRDIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgc2luY2VcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY2xvY2sgd2FzIGxhc3Qgc2V0IG9yIGFkanVzdGVkXG4iCittc2dzdHIgIiIKKyIgLXMsIC0taGN0b3N5cyAgICAgICAgxJHhurd0IGdp4budIGjhu4cgdGjhu5FuZyB04burIMSR4buTbmcgaOG7kyBwaOG6p24gY+G7qW5nIGPhu6dhIG3DoXkgdMOtbmhcbiIKKyIgLXcsIC0tc3lzdG9oYyAgICAgICAgxJHhurd0IGdp4budIGjhu4cgdGjhu5FuZyB04burIGdp4budIGhp4buHbiBow6BuaCBj4bunYSBo4buHIHRo4buRbmdcbiIKKyIgICAgIC0tc3lzdHogICAgICAgICAgxJHhurd0IGdp4budIGjhu4cgdGjhu5FuZyB0csOqbiBjxqEgc+G7nyBtw7ppIGdp4budIGhp4buHbiBow6BuaFxuIgorIiAgICAgLS1hZGp1c3QgICAgICAgICBjaOG7iW5oIFJUQyDEkeG7gyB0w61uaCB0b8OhbiBi4bqxbmcgY8OhY2ggZOG7i2NoIHRo4budaSBnaWFuIHTDrW5oIHThu6tcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICDEkeG7k25nIGjhu5MgbOG6p24gY3Xhu5FpIMSRxrDhu6NjIMSR4bq3dCBoYXkgY2jhu4luaCBz4butYVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NzEKK21zZ2lkICIgLWMsIC0tY29tcGFyZSAgICAgICAgcGVyaW9kaWNhbGx5IGNvbXBhcmUgdGhlIHN5c3RlbSBjbG9jayB3aXRoIHRoZSBDTU9TIGNsb2NrXG4iCittc2dzdHIgIiAtYywgLS1jb21wYXJlICAgICAgICBzbyBzw6FuaCDEkeG7i25oIGvhu7MgxJHhu5NuZyBo4buTIGjhu4cgdGjhu5FuZyB2w6AgxJHhu5NuZyBo4buTIENNT1NcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTczCittc2dpZCAiIgorIiAgICAgLS1nZXRlcG9jaCAgICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisiICAgICAtLXNldGVwb2NoICAgICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGdpdmVuIHdpdGggLS1lcG9jaFxuIgorbXNnc3RyICIiCisiICAgICAtLWdldGVwb2NoICAgICAgIGhp4buDbiB0aOG7iyByYSBnacOhIHRy4buLIGto4bufaSDEkeG6p3UgY+G7p2EgxJHhu5NuZyBo4buTIHBo4bqnbiBj4bupbmcgY+G7p2EgbmjDom5cbiIKKyIgICAgIC0tc2V0ZXBvY2ggICAgICAgxJHhurd0IGdpw6EgdHLhu4sga2jhu59pIMSR4bqndSDEkeG7k25nIGjhu5MgcGjhuqduIGPhu6luZyBi4bqxbmdcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBnacOhIHRy4buLIMSRxrDhu6NjIMSRxrBhIHJhIGLhu59pIC0tZXBvY2hcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTc3Cittc2dpZCAiIgorIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IFJUQyByZWFkaW5nIGF0IHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKyIgICAgIC0tcHJlZGljdCAgICAgICAgZOG7sSDEkW/DoW4gdmnhu4djIMSR4buNYyBSVEMgdOG6oWkgdGjhu51pIMSRaeG7g20gY2jhu4kgcmEgYuG7n2kgLS1kYXRlXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTgxCittc2dpZCAiIgorIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyIgICAgIC0tbG9jYWx0aW1lICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorbXNnc3RyICIiCisiIC11LCAtLXV0YyAgICAgICAgICAgIMSR4buTbmcgaOG7kyBj4bunYSBtw6F5IHTDrW5oIGdp4buvIHRoZW8gbcO6aSBnaeG7nSBRdeG7kWMgdOG6vyBVVENcbiIKKyIgICAgIC0tbG9jYWx0aW1lICAgICAgxJHhu5NuZyBo4buTIGPhu6dhIG3DoXkgdMOtbmggZ2nhu68gdGhlbyBtw7ppIGdp4budIGLhuqNuIMSR4buLYVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODQKK21zZ2lkICIgLWYsIC0tcnRjIDxmaWxlPiAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIKK21zZ3N0ciAiIC1mLCAtLXJ0YyA8dOG6rXAtdGluPiAgY2jhu4kgxJHhu4tuaCB04bqtcCB0aW4gL2Rldi/igKYgxJHhu4Mgc+G7rSBk4bulbmcgdGhheSB2w6wgbeG6t2MgxJHhu4tuaFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1kaXJlY3Rpc2EgICAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorIiAgICAgLS1iYWR5ZWFyICAgICAgICBpZ25vcmUgUlRDJ3MgeWVhciBiZWNhdXNlIHRoZSBCSU9TIGlzIGJyb2tlblxuIgorIiAgICAgLS1kYXRlIDx0aW1lPiAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorIiAgICAgLS1lcG9jaCA8eWVhcj4gICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBoYXJkd2FyZSBjbG9jaydzIGVwb2NoIHZhbHVlXG4iCittc2dzdHIgIiIKKyIgICAgIC0tZGlyZWN0aXNhICAgICAgdHJ1eSBj4bqtcCB0cuG7sWMgdGnhur9wIHF1YSBidXMgSVNBIHRoYXkgdsOsICVzXG4iCisiICAgICAtLWJhZHllYXIgICAgICAgIGLhu48gcXVhIG7Eg20gY+G7p2EgUlRDIGLhu59pIHbDrCBCSU9TIMSRw6MgYuG7iyBo4buPbmdcbiIKKyIgICAgIC0tZGF0ZSA8dGltZT4gICAgY2jhu4kgxJHhu4tuaCB0aOG7nWkgZ2lhbiBtw6AgbsOzIMSRxrDhu6NjIMSR4bq3dCBjaG8gxJHhu5NuZyBo4buTIHBo4bqnbiBj4bupbmcgbcOheSB0w61uaFxuIgorIiAgICAgLS1lcG9jaCA8eWVhcj4gICBjaOG7iSDEkeG7i25oIG7Eg20gbcOgIG7DsyBsw6BtIGdpw6EgdHLhu4sga2jhu59pIMSR4bqndVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGNobyDEkeG7k25nIGjhu5MgcGjhuqduIGPhu6luZ1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS11cGRhdGUtZHJpZnQgICB1cGRhdGUgZHJpZnQgZmFjdG9yIGluICUxJHMgKHJlcXVpcmVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgLS1zZXQgb3IgLS1zeXN0b2hjKVxuIgorIiAgICAgLS1ub2FkamZpbGUgICAgICBkbyBub3QgYWNjZXNzICUxJHM7IHRoaXMgcmVxdWlyZXMgdGhlIHVzZSBvZlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZVxuIgorIiAgICAgLS1hZGpmaWxlIDxmaWxlPiBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICUxJHNcbiIKK21zZ3N0ciAiIgorIiAgICAgLS11cGRhdGUtZHJpZnQgICBj4bqtcCBuaOG6rXQgxJHhu5kgbOG7h2NoIHRyb25nICUxJHMgKGPhuqduXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgLS1zZXQgaG/hurdjIC0tc3lzdG9oYylcbiIKKyIgICAgIC0tbm9hZGpmaWxlICAgICAga2jDtG5nIHRydXkgY+G6rXAgJTEkczsgbsOzIHnDqnUgY+G6p3Ugc+G7rSBk4bulbmdcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBt4buZdCB0cm9uZyBoYWkgLS11dGMgaG/hurdjIC0tbG9jYWx0aW1lXG4iCisiICAgICAtLWFkamZpbGUgPHQudGluPiBjaOG7iSDEkeG7i25oIMSRxrDhu51uZyBk4bqrbiB04bubaSB04bqtcCB0aW4gY2jhu4luaCBz4butYTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBt4bq3YyDEkeG7i25oIGzDoCAlMSRzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU5OQorbXNnaWQgIiIKKyIgICAgIC0tdGVzdCAgICAgICAgICAgZG8gbm90IHVwZGF0ZSBhbnl0aGluZywganVzdCBzaG93IHdoYXQgd291bGQgaGFwcGVuXG4iCisiIC1ELCAtLWRlYnVnICAgICAgICAgIGRlYnVnZ2luZyBtb2RlXG4iCisiXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGVzdCAgICAgICAgICAga2jDtG5nIGPhuq1wIG5o4bqtdCBjw6FpIGfDrCBj4bqjLCBjaOG7iSBoaeG7g24gdGjhu4sgbmjhu69uZyBnw6wgY8OzIHRo4buDIHjhuqN5IHJhXG4iCisiIC1ELCAtLWRlYnVnICAgICAgICAgIGNo4bq/IMSR4buZIGfhu6EgbOG7l2lcbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNjAyCittc2dpZCAiIgorIiAtSnwtLWplbnNlbiwgLUF8LS1hcmMsIC1TfC0tc3JtLCAtRnwtLWZ1bmt5LXRveVxuIgorIiAgICAgIHRlbGwgaHdjbG9jayB0aGUgdHlwZSBvZiBBbHBoYSB5b3UgaGF2ZSAoc2VlIGh3Y2xvY2soOCkpXG4iCisiXG4iCittc2dzdHIgIiIKKyIgIC1KfC0tamVuc2VuLCAtQXwtLWFyYywgLVN8LS1zcm0sIC1GfC0tZnVua3ktdG95XG4iCisiICAgICAgIGLDoW8gaHdjbG9jayBiaeG6v3Qga2nhu4N1IGFscGhhIGLhuqFuIGPDsyAoeGVtIGh3Y2xvY2soOCkpXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTcyOAorbXNnaWQgIlVuYWJsZSB0byBjb25uZWN0IHRvIGF1ZGl0IHN5c3RlbSIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGvhur90IG7hu5FpIMSR4bq/biBo4buHIHRo4buRbmcgYXVkaXQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTgyNgorbXNnaWQgImludmFsaWQgZXBvY2ggYXJndW1lbnQiCittc2dzdHIgIsSR4buRaSBz4buRIGVwb2NoIGtow7RuZyBo4bujcCBs4buHIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdGFrZXMgbm8gbm9uLW9wdGlvbiBhcmd1bWVudHMuICBZb3Ugc3VwcGxpZWQgJWQuXG4iCittc2dzdHIgIiVzIGzhuqV5IGPDoWMgdGhhbSBz4buRIGtow7RuZyB0w7l5IGNo4buNbi4gIELhuqFuIMSRw6MgY3VuZyBj4bqlcCAlZC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODgwCittc2dpZCAiV2l0aCAtLW5vYWRqZmlsZSwgeW91IG11c3Qgc3BlY2lmeSBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWUiCittc2dzdHIgIlbhu5tpIOKAnC0tbm9hZGpmaWxl4oCdLCBi4bqhbiBwaOG6o2kgY2jhu4kgcmEg4oCcLS11dGPigJ0gaG/hurdjIOKAnC0tbG9jYWx0aW1l4oCdIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4OTMKK21zZ2lkICJObyB1c2FibGUgc2V0LXRvIHRpbWUuICBDYW5ub3Qgc2V0IGNsb2NrLiIKK21zZ3N0ciAiS2jDtG5nIGPDsyB0aOG7nWkgZ2lhbiBzZXQtdG8gbsOgbyBjw7MgdGjhu4Mgc+G7rSBk4bulbmcuIEtow7RuZyB0aOG7gyDEkeG6t3QgxJHhu5NuZyBo4buTIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE5MTcKK21zZ2lkICJDYW5ub3QgYWNjZXNzIHRoZSBIYXJkd2FyZSBDbG9jayB2aWEgYW55IGtub3duIG1ldGhvZC4iCittc2dzdHIgIktow7RuZyB0aOG7gyB0cnV5IGPhuq1wIHThu5tpIMSQ4buTbmcgaOG7kyBQaOG6p24gY+G7qW5nIHF1YSBt4buZdCBwaMawxqFuZyBwaMOhcCBraMO0bmcgcsO1LiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxOTIwCittc2dpZCAiVXNlIHRoZSAtLWRlYnVnIG9wdGlvbiB0byBzZWUgdGhlIGRldGFpbHMgb2Ygb3VyIHNlYXJjaCBmb3IgYW4gYWNjZXNzIG1ldGhvZC4iCittc2dzdHIgIlPhu60gZOG7pW5nIHTDuXkgY2jhu41uIC0tZGVidWcgxJHhu4MgeGVtIGNoaSB0aeG6v3QgduG7gSB0aeG6v24gdHLDrG5oIHTDrG0ga2nhur9tIHBoxrDGoW5nIHBow6FwIHRydXkgY+G6rXAgY+G7p2EgY2jDum5nIHRhLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjIyMworIywgYy1mb3JtYXQKK21zZ2lkICJib290ZWQgZnJvbSBNSUxPXG4iCittc2dzdHIgImto4bufaSDEkeG7mW5nIHThu6sgTUlMT1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIlJ1ZmZpYW4gQkNEIGNsb2NrXG4iCittc2dzdHIgIsSQ4buTbmcgaOG7kyBSdWZmaWFuIEJDRFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb2NrcG9ydCBhZGp1c3RlZCB0byAweCV4XG4iCittc2dzdHIgImNsb2NrcG9ydCAoYuG6o24gY2h1eeG7g24gxJHhu5NuZyBo4buTKSDEkWnhu4F1IGNo4buJbmggdGjDoG5oIDB4JXhcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJmdW5reSBUT1khXG4iCittc2dzdHIgIsSQ4buSIENIxqBJIG5ow7p0IG5ow6F0IVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mjk4CisjLCBjLWZvcm1hdAorbXNnaWQgImF0b21pYyAlcyBmYWlsZWQgZm9yIDEwMDAgaXRlcmF0aW9ucyEiCittc2dzdHIgIm5ndXnDqm4gdOG7rSAlcyBn4bq3cCBs4buXaSBzYXUgbOG6t3AgMTAwMCBs4bqnbiEiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc19yZWFkKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgImNtb3NfcmVhZCgpOiBn4bq3cCBs4buXaSBraGkgZ2hpIMSR4buLYSBjaOG7iSDEkWnhu4F1IGtoaeG7g24gJVgiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc19yZWFkKCk6IHJlYWQgZnJvbSBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICJjbW9zX3JlYWQoKTogZ+G6t3AgbOG7l2kga2hpIMSR4buNYyDEkeG7i2EgY2jhu4kgZOG7ryBsaeG7h3UgJVgiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICJjbW9zX3dyaXRlKCk6IGfhurdwIGzhu5dpIGtoaSBnaGkgdsOgbyDEkeG7i2EgY2jhu4kgxJFp4buBdSBraGnhu4NuICVYIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3Nfd3JpdGUoKTogd3JpdGUgdG8gZGF0YSBhZGRyZXNzICVYIGZhaWxlZCIKK21zZ3N0ciAiY21vc193cml0ZSgpOiBn4bq3cCBs4buXaSBraGkgZ2hpIHbDoG8gxJHhu4thIGNo4buJIGThu68gbGnhu4d1ICVYIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjQ1Cittc2dpZCAiSSBmYWlsZWQgdG8gZ2V0IHBlcm1pc3Npb24gYmVjYXVzZSBJIGRpZG4ndCB0cnkuIgorbXNnc3RyICJUw7RpIGzhuqV5IHRow7RuZyB0aW4gcXV54buBbiBo4bqhbiBraMO0bmcgdGjDoG5oIGPDtG5nIHbDrCDEkcOjIGtow7RuZyBj4buRIHRo4butLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY0OAorbXNnaWQgInVuYWJsZSB0byBnZXQgSS9PIHBvcnQgYWNjZXNzOiAgdGhlIGlvcGwoMykgY2FsbCBmYWlsZWQuIgorbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkgdHJ1eSBj4bqtcCBj4buVbmcgVi9SOiAgZ+G7jWkgaW9wbCgzKSBraMO0bmcgdGjDoG5oIGPDtG5nLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY1MQorbXNnaWQgIlByb2JhYmx5IHlvdSBuZWVkIHJvb3QgcHJpdmlsZWdlcy5cbiIKK21zZ3N0ciAiUuG6pXQgY8OzIHRo4buDIGLhuqFuIGPhuqduIHF1eeG7gW4gc2nDqnUgcXXhuqNuIHRy4buLIChyb290KS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY1OAorbXNnaWQgIlVzaW5nIGRpcmVjdCBJL08gaW5zdHJ1Y3Rpb25zIHRvIElTQSBjbG9jay4iCittc2dzdHIgIsSQYW5nIGTDuW5nIGPDoWMgY2jhu4kgbOG7h25oIFYvUiB0cuG7sWMgdGnhur9wIGNobyDEkeG7k25nIGjhu5MgSVNBLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTk1CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byByZWFkIHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoJXMpIHThu5tpICVzIMSR4buDIMSR4buNYyB0aOG7nWkgZ2lhbiBraMO0bmcgdGjDoG5oIGPDtG5nIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gJXMgdG8gY2hhbmdlXG4iCittc2dzdHIgIkNo4budIGNobyB0aOG7nWkgZ2lhbiB04burICVzIHRoYXkgxJHhu5VpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIzNgorbXNnaWQgIlRpbWVkIG91dCB3YWl0aW5nIGZvciB0aW1lIGNoYW5nZS4iCittc2dzdHIgIlF1w6EgdGjhu51pIGdpYW4gY2jhu50gdGhheSDEkeG7lWkgdGjhu51pIGdpYW4uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgaGF2ZSBpbnRlcnJ1cHQgZnVuY3Rpb25zLiAiCittc2dzdHIgIiVzIGtow7RuZyBjw7MgaMOgbSBnacOhbiDEkW/huqFuIG7DoG8uICIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzAyCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgZmFpbGVkIgorbXNnc3RyICJzZWxlY3QoKSB04bubaSAlcyDEkeG7gyBjaOG7nSB0aeG6v25nIHTDrWMgdOG6r2Mga2jDtG5nIHRow6BuaCBjw7RuZyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgdGltZWQgb3V0IgorbXNnc3RyICJzZWxlY3QoKSB04bubaSAlcyDEkeG7gyBjaOG7nSB0aeG6v25nIHTDrWMgdOG6r2MgYuG7iyBxdcOhIHRo4budaSBnaWFuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9mZiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQiCittc2dzdHIgImlvY3RsKCkgdOG7m2kgJXMgxJHhu4MgdOG6r3QgY8OhYyBuZ+G6r3QgY+G6rXAgbmjhuq10IGtow7RuZyB0aMOgbmggY8O0bmciCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb24gdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIHVuZXhwZWN0ZWRseSIKK21zZ3N0ciAiaW9jdGwoKSB04bubaSAlcyDEkeG7gyBi4bqtdCBjw6FjIG5n4bqvdCBj4bqtcCBuaOG6rXQga2jDtG5nIHRow6BuaCBjw7RuZyBt4buZdCBjw6FjaCBi4bqldCB0aMaw4budbmciCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gc2V0IHRoZSB0aW1lIGZhaWxlZC4iCittc2dzdHIgImlvY3RsKCVzKSB04bubaSAlcyDEkeG7gyDEkeG6t3QgdGjhu51pIGdpYW4ga2jDtG5nIHRow6BuaCBjw7RuZy4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgd2FzIHN1Y2Nlc3NmdWwuXG4iCittc2dzdHIgImlvY3RsKCVzKSDEkcOjIHRow6BuaCBjw7RuZy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mzg3Cittc2dpZCAiVXNpbmcgdGhlIC9kZXYgaW50ZXJmYWNlIHRvIHRoZSBjbG9jay4iCittc2dzdHIgIkTDuW5nIGdpYW8gZGnhu4duIC9kZXYgY2hvIMSR4buTbmcgaOG7ky4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQxNyBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVG8gbWFuaXB1bGF0ZSB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbCwgd2UgbXVzdCBhY2Nlc3MgdGhlIExpbnV4ICdydGMnIGRldmljZSBkcml2ZXIgdmlhIHRoZSBkZXZpY2Ugc3BlY2lhbCBmaWxlICVzLiAgVGhpcyBmaWxlIGRvZXMgbm90IGV4aXN0IG9uIHRoaXMgc3lzdGVtLiIKK21zZ3N0ciAixJDhu4MgxJFp4buBdSBraGnhu4NuIGdpw6EgdHLhu4sga2jhu59pIMSR4bqndSAoZXBvY2gpIHRyb25nIG5ow6JuLCBjaMO6bmcgdGEgY+G6p24gdHJ1eSBj4bqtcCB04bubaSBkcml2ZXIgdGhp4bq/dCBi4buLIOKAnHJ0Y+KAnSBxdWEgdOG6rXAgdGluIHRoaeG6v3QgYuG7iyDEkeG6t2MgYmnhu4d0ICVzLiAgVOG6rXAgdGluIG7DoHkga2jDtG5nIHThu5NuIHThuqFpIHRyw6puIGjhu4cgdGjhu5FuZyBuw6B5LiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDI5CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSB0byAlcyBmYWlsZWQiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSB04bubaSAlcyBraMO0bmcgdGjDoG5oIGPDtG5nIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndlIGhhdmUgcmVhZCBlcG9jaCAlbHUgZnJvbSAlcyB3aXRoIFJUQ19FUE9DSF9SRUFEIGlvY3RsLlxuIgorbXNnc3RyICJjaMO6bmcgdGEgxJHhu41jIGto4bufaSDEkeG6p3UgKGVwb2NoKSAlbGQgdOG7qyAlcyBi4bqxbmcgUlRDX0VQT0NIX1JFQUQgaW9jdGwuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ1NQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZXBvY2ggdmFsdWUgbWF5IG5vdCBiZSBsZXNzIHRoYW4gMTkwMC4gIFlvdSByZXF1ZXN0ZWQgJWxkIgorbXNnc3RyICJHacOhIHRy4buLIGto4bufaSDEkeG6p3UgKGVwb2NoKSBraMO0bmcgxJHGsOG7o2Mgbmjhu48gaMahbiAxOTAwLiAgQuG6oW4gxJHDoyB5w6p1IGPhuqd1ICVsZCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIGVwb2NoIHRvICVsdSB3aXRoIFJUQ19FUE9DSF9TRVQgaW9jdGwgdG8gJXMuXG4iCittc2dzdHIgImPDoGkgxJHhurd0IGto4bufaSDEkeG6p3UgKGVwb2NoKSB0aMOgbmggJWxkIGLhurFuZyBSVENfRVBPQ0hfU0VUIGlvY3RsIHThu5tpICVzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGtlcm5lbCBkZXZpY2UgZHJpdmVyIGZvciAlcyBkb2VzIG5vdCBoYXZlIHRoZSBSVENfRVBPQ0hfU0VUIGlvY3RsLiIKK21zZ3N0ciAiVHLDrG5oIMSRaeG7gXUga2hp4buDbiB0aGnhur90IGLhu4sgY+G7p2EgbmjDom4gY2hvICVzIGtow7RuZyBjw7MgUlRDX0VQT0NIX1NFVCBpb2N0bC4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bChSVENfRVBPQ0hfU0VUKSB0byAlcyBmYWlsZWQiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9TRVQpIHThu5tpICVzIGtow7RuZyB0aMOgbmggY8O0bmciCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjY5Cittc2dpZCAiQ3JlYXRlIHZhcmlvdXMgSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiVOG6oW8gY8OhYyBuZ3Xhu5NuIElQQyBraMOhYyBuaGF1LlxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MgorbXNnaWQgIiAtTSwgLS1zaG1lbSA8c2l6ZT4gICAgICAgY3JlYXRlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBvZiBzaXplIDxzaXplPlxuIgorbXNnc3RyICIgLU0sIC0tc2htZW0gPHNpemU+ICAgICAgIHThuqFvIMSRb+G6oW4gbmjhu5sgY2hpYSBz4bq7IGPDsyBrw61jaCB0aMaw4bubYyA8c2l6ZT5cbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzMKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlIDxudW1iZXI+IGNyZWF0ZSBzZW1hcGhvcmUgYXJyYXkgd2l0aCA8bnVtYmVyPiBlbGVtZW50c1xuIgorbXNnc3RyICIgLVMsIC0tc2VtYXBob3JlIDxz4buRPiAgICAgIHThuqFvIG3huqNuZyB0w61uIGhp4buHdSB24bubaSA8c+G7kT4gcGjhuqduIHThu61cbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzQKK21zZ2lkICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIGNyZWF0ZSBtZXNzYWdlIHF1ZXVlXG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgdOG6oW8gaMOgbmcgxJHhu6NpIHRow7RuZyDEkWnhu4dwXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc1Cittc2dpZCAiIC1wLCAtLW1vZGUgPG1vZGU+ICAgICAgICBwZXJtaXNzaW9uIGZvciB0aGUgcmVzb3VyY2UgKGRlZmF1bHQgaXMgMDY0NClcbiIKK21zZ3N0ciAiIC1wLCAtLW1vZGUgPG1vZGU+ICAgICAgICBxdXnhu4FuIGPhu6dhIG5ndeG7k24gdMOgaSBuZ3V5w6puICht4bq3YyDEkeG7i25oIGzDoCAwNjQ0KVxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTAgc3lzLXV0aWxzL2xvc2V0dXAuYzo2OTcgc3lzLXV0aWxzL3pyYW1jdGwuYzo2MjIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSR4bq3dCBrw61jaCBj4buhIHRyYW5nIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWxlbWVudHMiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBjw6FjIHBo4bqnbiB04butIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDEKK21zZ2lkICJjcmVhdGUgc2hhcmUgbWVtb3J5IGZhaWxlZCIKK21zZ3N0ciAibOG7l2kgdOG6oW8gdsO5bmcgbmjhu5sgZMO5bmcgY2h1bmciCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MworIywgYy1mb3JtYXQKK21zZ2lkICJTaGFyZWQgbWVtb3J5IGlkOiAlZFxuIgorbXNnc3RyICJJRCB2w7luZyBuaOG7myBkw7luZyBjaHVuZzogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQ5Cittc2dpZCAiY3JlYXRlIG1lc3NhZ2UgcXVldWUgZmFpbGVkIgorbXNnc3RyICJs4buXaSB04bqhbyBow6BuZyDEkeG7o2kgdGjDtG5nIMSRaeG7h3AiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIHF1ZXVlIGlkOiAlZFxuIgorbXNnc3RyICJJRCBow6BuZyDEkeG7o2kgdGjDtG5nIMSRaeG7h3A6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1NworbXNnaWQgImNyZWF0ZSBzZW1hcGhvcmUgZmFpbGVkIgorbXNnc3RyICJs4buXaSB04bqhbyBj4budIGhp4buHdSIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbWFwaG9yZSBpZDogJWRcbiIKK21zZ3N0ciAiSUQgY+G7nSBoaeG7h3U6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBzaG18bXNnfHNlbSA8aWQ+Li4uXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbQ8OBQ19UVeG7sl9DSOG7jE5dXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPGlkPuKAplxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1NAorbXNnaWQgIlJlbW92ZSBjZXJ0YWluIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIkfhu6EgYuG7jyBjw6FjIG5ndeG7k24gSVBDIMSRw6MgYmnhur90LlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1NworbXNnaWQgIiAtbSwgLS1zaG1lbS1pZCA8aWQ+ICAgICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGlkXG4iCittc2dzdHIgIiAtbSwgLS1zaG1lbS1pZCA8bcOjX3Phu5E+ICAgICBn4buhIGLhu48gxJFv4bqhbiBuaOG7myBjaGlhIHPhursgdGhlbyBtw6Mgc+G7kVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OAorbXNnaWQgIiAtTSwgLS1zaG1lbS1rZXkgPGtleT4gICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGtleVxuIgorbXNnc3RyICIgLU0sIC0tc2htZW0ta2V5IDxraMOzYT4gICAgIGfhu6EgYuG7jyDEkW/huqFuIG5o4bubIGNoaWEgc+G6uyB0aGVvIGtow7NhXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU5Cittc2dpZCAiIC1xLCAtLXF1ZXVlLWlkIDxpZD4gICAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGlkXG4iCittc2dzdHIgIiAtcSwgLS1xdWV1ZS1pZCA8aWQ+ICAgICAgICBn4buhIGLhu48gaMOgbmcgxJHhu6NpIHRow7RuZyDEkWnhu4dwIGLhu59pIGlkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYwCittc2dpZCAiIC1RLCAtLXF1ZXVlLWtleSA8a2V5PiAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGtleVxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUta2V5IDxraMOzYT4gICAgIGfhu6EgYuG7jyBow6BuZyDEkeG7o2kgdGjDtG5nIMSRaeG7h3AgYuG7n2kga2jDs2FcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjEKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlLWlkIDxpZD4gICAgcmVtb3ZlIHNlbWFwaG9yZSBieSBpZFxuIgorbXNnc3RyICIgLXMsIC0tc2VtYXBob3JlLWlkIDxpZD4gICAgZ+G7oSBi4buPIHTDrW4gaGnhu4d1IGLhurFuZyBpZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MgorbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUta2V5IDxrZXk+ICByZW1vdmUgc2VtYXBob3JlIGJ5IGtleVxuIgorbXNnc3RyICIgLVMsIC0tc2VtYXBob3JlLWtleSA8a2jDs2E+IGfhu6EgYuG7jyB0w61uIGhp4buHdSBi4bufaSBraMOzYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MworbXNnaWQgIiAtYSwgLS1hbGxbPXNobXxtc2d8c2VtXSAgICByZW1vdmUgYWxsIChpbiB0aGUgc3BlY2lmaWVkIGNhdGVnb3J5KVxuIgorbXNnc3RyICIgLWEsIC0tYWxsWz08c2htfG1zZ3xzZW0+XSAgZ+G7oSBi4buPIHThuqV0IGPhuqMgKHRyb25nIHBow6JuIGxv4bqhaSDEkeG6t2MgYmnhu4d0KVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgZ2nhuqNpIHRow61jaCBjw6FjIGPDtG5nIHZp4buHYyDEkWFuZyBsw6BtXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBpZCBgJWQnXG4iCittc2dzdHIgImfhu6EgYuG7jyDEkW/huqFuIGLhu5kgbmjhu5sgY2hpYSBz4bq7IGPDsyBpZCDigJwlZOKAnVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBtZXNzYWdlIHF1ZXVlIGlkIGAlZCdcbiIKK21zZ3N0ciAiZ+G7oSBi4buPIGlkIGjDoG5nIMSR4bujaSB0aMO0bmcgxJFp4buHcCDigJwlZOKAnVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzZW1hcGhvcmUgaWQgYCVkJ1xuIgorbXNnc3RyICLEkWFuZyBn4buhIGLhu48gY+G7nSBoaeG7h3UgaWQg4oCcJWTigJ1cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4IHN5cy11dGlscy9pcGNybS5jOjIyMgorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBrZXkiCittc2dzdHIgImtow7RuZyDEkeG7pyBxdXnhu4FuIGjhuqFuIGNobyBjaMOsYSBraMOzYSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGlkIgorbXNnc3RyICJraMO0bmcgxJHhu6cgcXV54buBbiBo4bqhbiBjaG8gaWQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMSBzeXMtdXRpbHMvaXBjcm0uYzoyMjgKK21zZ2lkICJpbnZhbGlkIGtleSIKK21zZ3N0ciAiY2jDrGEga2jDs2Ega2jDtG5nIMSRw7puZyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExCittc2dpZCAiaW52YWxpZCBpZCIKK21zZ3N0ciAiaWQgc2FpIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQgc3lzLXV0aWxzL2lwY3JtLmM6MjI1Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGtleSIKK21zZ3N0ciAia2jDs2EgxJHDoyDEkcaw4bujYyB4w7NhIGLhu48iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNAorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBpZCIKK21zZ3N0ciAixJHDoyB4w7NhIGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcgc3lzLXV0aWxzL2lwY3JtLmM6MjMxCittc2dpZCAia2V5IGZhaWxlZCIKK21zZ3N0ciAia2jDs2EgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNworbXNnaWQgImlkIGZhaWxlZCIKK21zZ3N0ciAiaWQgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEzNAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkOiAlcyIKK21zZ3N0ciAiaWQga2jDtG5nIGjhu6NwIGzhu4c6ICVzIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzb3VyY2UocykgZGVsZXRlZFxuIgorbXNnc3RyICLEkcOjIHjDs2EgKGPDoWMpIG5ndeG7k25cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwga2V5ICglcykiCittc2dzdHIgImtow7NhIGtow7RuZyBo4buNcCBs4buHICglcykiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI1NgorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAibmjDom4ga2jDtG5nIGPhuqV1IGjDrG5oIGNobyBi4buZIG5o4bubIGNoaWEgc+G6uyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjY5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzIgorbXNnc3RyICJuaMOibiBraMO0bmcgY+G6pXUgaMOsbmggY2hvIMSRw6huIHTDrW4gaGnhu4d1IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyOTAKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICJuaMOibiBraMO0bmcgY+G6pXUgaMOsbmggY2hvIGjDoG5nIMSR4bujaSB0aW4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtyZXNvdXJjZS1vcHRpb24uLi5dIFtvdXRwdXQtb3B0aW9uXVxuIgorIiAlMSRzIC1tfC1xfC1zIC1pIDxpZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFt0w7l5IGNo4buNbiB0w6BpIG5ndXnDqm7igKZdIFvEkeG7i25oX2ThuqFuZ19r4bq/dF94deG6pXRdXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorIlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU2IHN5cy11dGlscy9sc2lwYy5jOjI4MAorbXNnaWQgIlNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMuXG4iCittc2dzdHIgIkN1bmcgY+G6pXAgdGjDtG5nIHRpbiB24buBIHBoxrDGoW5nIHRp4buHbiBJUENcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OQorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIgLWksIC0taWQgPG3Do19z4buRPiBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiBjaGkgdGnhur90IHRyw6puIG5ndeG7k24gdMOgaSBuZ3V5w6puIMSR4buLbmggbmdoxKlhIGLhu59pIDxtw6Nfc+G7kT5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NCBzeXMtdXRpbHMvbHNpcGMuYzoyODMKK21zZ2lkICJSZXNvdXJjZSBvcHRpb25zOlxuIgorbXNnc3RyICJUw7l5IGNo4buNbiB0w6BpIG5ndXnDqm46XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUgc3lzLXV0aWxzL2xzaXBjLmM6Mjg0Cittc2dpZCAiIC1tLCAtLXNobWVtcyAgICAgIHNoYXJlZCBtZW1vcnkgc2VnbWVudHNcbiIKK21zZ3N0ciAiIC1tLCAtLXNobWVtcyAgICAgIMSRb+G6oW4gYuG7mSBuaOG7myBjaGlhIHPhurtcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NiBzeXMtdXRpbHMvbHNpcGMuYzoyODUKK21zZ2lkICIgLXEsIC0tcXVldWVzICAgICAgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlcyAgICAgIGjDoG5nIMSR4bujaSB0aMO0bmcgxJFp4buHcFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY3IHN5cy11dGlscy9sc2lwYy5jOjI4NgorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hcGhvcmVzXG4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmVzICB0w61uIGhp4buHdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgIGFsbCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgIHThuqV0IGPhuqMgKG3hurdjIMSR4buLbmgpXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzEKK21zZ2lkICJPdXRwdXQgb3B0aW9uczpcbiIKK21zZ3N0ciAiVMO5eSBjaOG7jW4geHXhuqV0OlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcyCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAgaGnhu4NuIHRo4buLIMSRw61uaCBrw6htLCBi4buPIMSRw61uaCBrw6htIHbDoCB0aOG7nWkgZ2lhbiB0aGF5IMSR4buVaVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjczCittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgIHNob3cgUElEcyBvZiBjcmVhdG9yIGFuZCBsYXN0IG9wZXJhdG9yXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICBoaeG7g24gdGjhu4sgbcOjIHPhu5EgdGnhur9uIHRyw6xuaCBj4bunYSBi4buZIHThuqFvIHbDoCB0aGFvIHTDoWMgY3Xhu5FpXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzQKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIgLWMsIC0tY3JlYXRvciAgICAgaGnhu4NuIHRo4buLIG5nxrDhu51pIHThuqFvIHbDoCBjaOG7pyBz4bufIGjhu691XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzUKK21zZ2lkICIgLWwsIC0tbGltaXRzICAgICAgc2hvdyByZXNvdXJjZSBsaW1pdHNcbiIKK21zZ3N0ciAiIC1sLCAtLWxpbWl0cyAgICAgIGhp4buDbiB0aOG7iyBnaeG7m2kgaOG6oW4gbmd14buTbiB0w6BpIG5ndXnDqm5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NgorbXNnaWQgIiAtdSwgLS1zdW1tYXJ5ICAgICBzaG93IHN0YXR1cyBzdW1tYXJ5XG4iCittc2dzdHIgIiAtdSwgLS1zdW1tYXJ5ICAgICBoaeG7g24gdGjhu4sgdOG7lW5nIGjhu6NwIHRy4bqhbmcgdGjDoWlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NworbXNnaWQgIiAgICAgLS1odW1hbiAgICAgICBzaG93IHNpemVzIGluIGh1bWFuLXJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0taHVtYW4gICAgICAgaGnhu4NuIHRo4buLIGvDrWNoIGPhu6EgdGhlbyBt4buZdCDEkeG7i25oIGThuqFuZyBjaG8gbmfGsOG7nWkgxJHhu41jIMSRxrDhu6NjXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzgKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgc2hvdyBzaXplcyBpbiBieXRlc1xuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAgaGnhu4NuIHRo4buLIGvDrWNoIHRoxrDhu5tjIHTDrW5oIGLhurFuZyBieXRlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjE2NAorbXNnaWQgIndoZW4gdXNpbmcgYW4gSUQsIGEgc2luZ2xlIHJlc291cmNlIG11c3QgYmUgc3BlY2lmaWVkIgorbXNnc3RyICJraGkgZMO5bmcgbeG7mXQgSUQsIGPhuqduIGNo4buJIHJhIG3hu5l0IG5ndeG7k24gxJHGoW4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2hhcmVkIG1lbW9yeSBsaW1pdHNcbiIKK21zZ3N0ciAidOG7lW5nIHPhu5EgYuG7mSBuaOG7myBjaGlhIHPhursgbOG7m24gbmjhuqV0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEdp4bubaSBo4bqhbiBi4buZIG5o4bubIGNoaWEgc+G6uyAtLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBzZWdtZW50cyA9ICVqdVxuIgorbXNnc3RyICJz4buRIMSRb+G6oW4gbOG7m24gbmjhuqV0ID0gJWp1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA5Cittc2dpZCAibWF4IHNlZyBzaXplIgorbXNnc3RyICJrw61jaCBj4buhIMSRb+G6oW4gbOG7m24gbmjhuqV0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxMQorbXNnaWQgIm1heCB0b3RhbCBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICJ04buVbmcgc+G7kSBi4buZIG5o4bubIGNoaWEgc+G6uyBs4bubbiBuaOG6pXQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjE0Cittc2dpZCAibWluIHNlZyBzaXplIgorbXNnc3RyICJrw61jaCBj4buhIMSRb+G6oW4gbmjhu48gbmjhuqV0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIyNgorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnlcbiIKK21zZ3N0ciAibmjDom4ga2jDtG5nIGPhuqV1IGjDrG5oIGNobyBi4buZIG5o4bubIGNoaWEgc+G6u1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzMAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFRy4bqhbmcgdGjDoWkgYuG7mSBuaOG7myBjaGlhIHPhursgLS0tLS0tLS1cbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoaXMgb3V0cHV0IGZvcm1hdCBpcyBtYWludGFpbmVkIGZvciBiYWNrd2FyZAorIy4gY29tcGF0aWJpbGl0eSBhcyBpcGNzIGlzIHVzZWQgaW4gc2NyaXB0cy4gRm9yIGNvbnNpc3RlbmN5CisjLiB3aXRoIHRoZSByZXN0LCB0aGUgdHJhbnNsYXRlZCBmb3JtIGNhbiBmb2xsb3cgdGhpcyBtb2RlbDoKKyMuICoKKyMuICJzZWdtZW50cyBhbGxvY2F0ZWQgPSAlZFxuIgorIy4gInBhZ2VzIGFsbG9jYXRlZCA9ICVsZFxuIgorIy4gInBhZ2VzIHJlc2lkZW50ID0gJWxkXG4iCisjLiAicGFnZXMgc3dhcHBlZCA9ICVsZFxuIgorIy4gInN3YXAgcGVyZm9ybWFuY2UgPSAlbGQgYXR0ZW1wdHMsICVsZCBzdWNjZXNzZXNcbiIKKyMuCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisic2VnbWVudHMgYWxsb2NhdGVkICVkXG4iCisicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorInBhZ2VzIHJlc2lkZW50ICAlbGRcbiIKKyJwYWdlcyBzd2FwcGVkICAgJWxkXG4iCisiU3dhcCBwZXJmb3JtYW5jZTogJWxkIGF0dGVtcHRzXHQgJWxkIHN1Y2Nlc3Nlc1xuIgorbXNnc3RyICIiCisic2VnbWVudHMgxJHGsOG7o2MgY+G6pXAgcGjDoXQgJWRcbiIKKyJz4buRIHRyYW5nIMSRxrDhu6NjIGPhuqVwIHBow6F0ICVsZFxuIgorInPhu5EgdHJhbmcgdGjGsOG7nW5nIHRyw7ogICVsZFxuIgorInPhu5EgdHJhbmcgxJHGsOG7o2MgaG/DoW4gxJHhu5VpICAgJWxkXG4iCisiSGnhu4d1IHN14bqldCBob8OhbiDEkeG7lWk6ICVsZCB0aOG7rVx0ICVsZCB0aMOgbmggY8O0bmdcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIE5nxrDhu51pIHThuqFvL0No4bunIHPhu58gaOG7r3UgY8OhYyDEkW/huqFuIGPhu6dhIGLhu5kgbmjhu5sgY2hpYSBz4bq7IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjc0CisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgInNobWlkIgorbXNnc3RyICJzaG1pZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzozODYKKyM6IHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NDg5IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAicGVybXMiCittc2dzdHIgInF1eeG7gW4gaOG6oW4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiY3VpZCIKK21zZ3N0ciAiY3VpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJjZ2lkIgorbXNnc3RyICJjZ2lkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgInVpZCIKK21zZ3N0ciAidWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgImdpZCIKK21zZ3N0ciAiZ2lkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBBdHRhY2gvRGV0YWNoL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gR+G6r24vQuG7jyBn4bqvbi9UaOG7nWkgZ2lhbiB0aGF5IMSR4buVaSBi4buZIG5o4bubIGNoaWEgc+G6uyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI3NCBzeXMtdXRpbHMvaXBjcy5jOjI4MAorIzogc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo0OTUKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxIHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAib3duZXIiCittc2dzdHIgImNo4bunIHPhu58gaOG7r3UiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3Cittc2dpZCAiYXR0YWNoZWQiCittc2dzdHIgIsSRw6MgZ+G6r24iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3Cittc2dpZCAiZGV0YWNoZWQiCittc2dzdHIgIsSRw6MgYuG7jyBn4bqvbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjgKK21zZ2lkICJjaGFuZ2VkIgorbXNnc3RyICLEkcOjIHRoYXkgxJHhu5VpIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBDcmVhdG9yL0xhc3Qtb3AgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gUElEIFRyw6xuaCB04bqhbyB2w7luZyBuaOG7myBjaGlhIHPhursgL1RoYW8gdMOhYyBjdeG7kWkgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzQKK21zZ2lkICJjcGlkIgorbXNnc3RyICJjcGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3NAorbXNnaWQgImxwaWQiCittc2dzdHIgImxwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBDw6FjIMSRb+G6oW4gdsO5bmcgbmjhu5sgY2hpYSBz4bq7IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwIHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAia2V5IgorbXNnc3RyICJraMOzYSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODEgc3lzLXV0aWxzL2lwY3MuYzo1MDgKK21zZ2lkICJzaXplIgorbXNnc3RyICJrw61jaC10aMaw4bubYyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODEgc3lzLXV0aWxzL3BybGltaXQuYzo3NSBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4IHN5cy11dGlscy9wcmxpbWl0LmM6Nzkgc3lzLXV0aWxzL3BybGltaXQuYzo4MQorIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJieXRlcyIKK21zZ3N0ciAiYnl0ZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODIKK21zZ2lkICJuYXR0Y2giCittc2dzdHIgIm5hdHRjaCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODIKK21zZ2lkICJzdGF0dXMiCittc2dzdHIgInRy4bqhbmcgdGjDoWkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzA2IHN5cy11dGlscy9pcGNzLmM6MzA4IHN5cy11dGlscy9pcGNzLmM6MzEwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQyNCBzeXMtdXRpbHMvaXBjcy5jOjQyNiBzeXMtdXRpbHMvaXBjcy5jOjUzMgorIzogc3lzLXV0aWxzL2lwY3MuYzo1MzQgc3lzLXV0aWxzL2lwY3MuYzo1MzYgc3lzLXV0aWxzL2lwY3MuYzo1OTAKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkyIHN5cy11dGlscy9pcGNzLmM6NjIxIHN5cy11dGlscy9pcGNzLmM6NjIzCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyNSBzeXMtdXRpbHMvaXBjcy5jOjY0OQorbXNnaWQgIk5vdCBzZXQiCittc2dzdHIgIkNoxrBhIMSR4bq3dCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMzYgc3lzLXV0aWxzL2xzaXBjLmM6OTc2IHN5cy11dGlscy9sc2lwYy5jOjk4MgorbXNnaWQgImRlc3QiCittc2dzdHIgIsSRw61jaCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMzcgc3lzLXV0aWxzL2xzaXBjLmM6OTc3IHN5cy11dGlscy9sc2lwYy5jOjk5MAorbXNnaWQgImxvY2tlZCIKK21zZ3N0ciAixJHDoyBraMOzYSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzZW1hcGhvcmUgbGltaXRzXG4iCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG6t3QgZ2nhu5tpIGjhuqFuIG5ndeG7k24gJXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBHaeG7m2kgaOG6oW4gY+G7nSBoaeG7h3UgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBhcnJheXMgPSAlZFxuIgorbXNnc3RyICJz4buRIGTDo3kgbOG7m24gbmjhuqV0ID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgcGVyIGFycmF5ID0gJWRcbiIKK21zZ3N0ciAic+G7kSBj4budIGhp4buHdSBs4bubbiBuaOG6pXQgdHLDqm4gbeG7l2kgZMOjeSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAic+G7kSBj4budIGhp4buHdSBs4bubbiBuaOG6pXQgY+G7p2EgY+G6oyBo4buHIHRo4buRbmcgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggb3BzIHBlciBzZW1vcCBjYWxsID0gJWRcbiIKK21zZ3N0ciAic+G7kSB0aGFvIHTDoWMgbOG7m24gbmjhuqV0IGPhu6dhIG3hu5dpIGzhu51pIGfhu41pIGPhu50gaGnhu4d1ID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbWFwaG9yZSBtYXggdmFsdWUgPSAldVxuIgorbXNnc3RyICJnacOhIHRy4buLIGPhu50gaGnhu4d1IGzhu5tuIG5o4bqldCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc0CisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3Jlc1xuIgorbXNnc3RyICJuaMOibiBraMO0bmcgY+G6pXUgaMOsbmggY2hvIGPhu50gaGnhu4d1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBUcuG6oW5nIHRow6FpIGPhu50gaGnhu4d1IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc4CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAibeG6o25nIMSRw6MgZMO5bmcgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgc2VtYXBob3JlcyA9ICVkXG4iCittc2dzdHIgImPhu50gaGnhu4d1IMSRw6MgcGjDom4gcGjhu5FpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBOZ8aw4budaSB04bqhby9DaOG7pyBz4bufIGjhu691IGTDo3kgY+G7nSBoaeG7h3UgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0MDEKK21zZ2lkICJzZW1pZCIKK21zZ3N0ciAibcOjIHPhu5EgY+G7nSBoaeG7h3UiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgT3BlcmF0aW9uL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gVGjhu51pIGdpYW4gdGhheSDEkeG7lWkgLyB0aGFvIHTDoWMgQ+G7nSBoaeG7h3UgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIKK21zZ2lkICJsYXN0LW9wIgorbXNnc3RyICJ0aGFvIHTDoWMgY3Xhu5FpIGPDuW5nIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorbXNnaWQgImxhc3QtY2hhbmdlZCIKK21zZ3N0ciAidGhheSDEkeG7lWkgY3Xhu5FpIGPDuW5nIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tLSBN4bqjbmcgY+G7nSBoaeG7h3UgLS0tLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwMQorbXNnaWQgIm5zZW1zIgorbXNnc3RyICJz4buRIGPhu50gaGnhu4d1IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIG1lc3NhZ2UgbGltaXRzXG4iCittc2dzdHIgIlPhu5EgxJHhuqd1IMSR4buNYyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tIEdp4bubaSBo4bqhbiBUaMO0bmcgxJFp4buHcCAtLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHF1ZXVlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgInPhu5EgaMOgbmcgxJHhu6NpIGzhu5tuIG5o4bqldCBj4bunYSBo4buHIHRo4buRbmcgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2NQorbXNnaWQgIm1heCBzaXplIG9mIG1lc3NhZ2UiCittc2dzdHIgImvDrWNoIGPhu6EgbOG7m24gbmjhuqV0IGPhu6dhIHRpbiBuaOG6r24iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY3Cittc2dpZCAiZGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSIKK21zZ3N0ciAia8OtY2ggY+G7oSBt4bq3YyDEkeG7i25oIGzhu5tuIG5o4bqldCBj4bunYSBow6BuZyDEkeG7o2kiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAibmjDom4ga2jDtG5nIGPhuqV1IGjDrG5oIGNobyBow6BuZyDEkeG7o2kgdGluIG5o4bqvblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBUcuG6oW5nIHRow6FpIFRow7RuZyDEkWnhu4dwIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDc5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBxdWV1ZXMgPSAlZFxuIgorbXNnc3RyICJow6BuZyDEkeG7o2kgxJHDoyBwaMOibiBwaOG7kWkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGhlYWRlcnMgPSAlZFxuIgorbXNnc3RyICJwaOG6p24gxJHhuqd1IMSRw6MgZMO5bmcgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MgorbXNnaWQgInVzZWQgc3BhY2UiCittc2dzdHIgImtow7RuZyBnaWFuIMSRw6MgZMO5bmciCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgzCittc2dpZCAiIGJ5dGVzXG4iCittc2dzdHIgIiBieXRlXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIE5nxrDhu51pIHThuqFvL0No4bunIHPhu58gaOG7r3UgSMOgbmcgxJHhu6NpIHRow7RuZyDEkWnhu4dwIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg5IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTAxCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgIm1zcWlkIgorbXNnc3RyICJtc3FpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFNlbmQvUmVjdi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFRo4budaSBnaWFuIEfhu61pL05o4bqtbi/EkOG7lWkgSMOgbmcgxJHhu6NpIHRow7RuZyDEkWnhu4dwIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAic2VuZCIKK21zZ3N0ciAiZ+G7rWkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAicmVjdiIKK21zZ3N0ciAibmjhuq1uIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImNoYW5nZSIKK21zZ3N0ciAixJHhu5VpIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gUElEIGPhu6dhIGjDoG5nIMSR4bujaSB0aMO0bmcgxJFp4buHcCAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImxzcGlkIgorbXNnc3RyICJsc3BpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJscnBpZCIKK21zZ3N0ciAibHJwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gSMOgbmcgxJHhu6NpIHRow7RuZyDEkWnhu4dwLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDgKK21zZ2lkICJ1c2VkLWJ5dGVzIgorbXNnc3RyICJieXRlIMSRw6MgZMO5bmciCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA5Cittc2dpZCAibWVzc2FnZXMiCittc2dzdHIgInRow7RuZyDEkWnhu4dwIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU3NCBzeXMtdXRpbHMvaXBjcy5jOjYwNCBzeXMtdXRpbHMvaXBjcy5jOjYzNworIzogc3lzLXV0aWxzL2xzaXBjLmM6NTM2IHN5cy11dGlscy9sc2lwYy5jOjcyMiBzeXMtdXRpbHMvbHNpcGMuYzo4NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWQgJWQgbm90IGZvdW5kIgorbXNnc3RyICJraMO0bmcgdMOsbSB0aOG6pXkgaWQgJWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQgbWVtb3J5IFNlZ21lbnQgc2htaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIsSQb+G6oW4gdsO5bmcgbmjhu5sgY2hpYSBz4bq7IHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCittc2dzdHIgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvXHRhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgImNo4bq/X8SR4buZPSUjb1x0cXV54buBbl90cnV5X2Phuq1wPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorbXNnaWQgInNpemU9IgorbXNnc3RyICJzaXplPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODQKK21zZ2lkICJieXRlcz0iCittc2dzdHIgImJ5dGVzPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAibHBpZD0ldVx0Y3BpZD0ldVx0bmF0dGNoPSVqZFxuIgorbXNnc3RyICJscGlkPSV1XHRjcGlkPSV1XHRuYXR0Y2g9JWpkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgImF0dF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImF0dF90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgImRldF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImRldF90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkzIHN5cy11dGlscy9pcGNzLmM6NjI0CisjLCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZV90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImNoYW5nZV90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlIFF1ZXVlIG1zcWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJIw6BuZyDEkeG7o2kgVGjDtG5nIMSRaeG7h3AgbXNxaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG1vZGU9JSNvXG4iCittc2dzdHIgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHRtb2RlPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxMworbXNnaWQgImNzaXplPSIKK21zZ3N0ciAiY3NpemU9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxMworbXNnaWQgImNieXRlcz0iCittc2dzdHIgImNieXRlcz0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE1Cittc2dpZCAicXNpemU9IgorbXNnc3RyICJxc2l6ZT0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE1Cittc2dpZCAicWJ5dGVzPSIKK21zZ3N0ciAicWJ5dGVzPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgInNlbmRfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJyY3ZfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJyY3ZfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIEFycmF5IHNlbWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJEw6N5IGPhu50gaGnhu4d1IHNlbWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0IGdpZD0ldVx0IGN1aWQ9JXVcdCBjZ2lkPSV1XG4iCittc2dzdHIgInVpZD0ldVx0IGdpZD0ldVx0IGN1aWQ9JXVcdCBjZ2lkPSV1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvLCBhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgImNo4bq/X8SR4buZPSUjbywgcXV54buBbl90cnV5X2Phuq1wPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0NworIywgYy1mb3JtYXQKK21zZ2lkICJuc2VtcyA9ICVqdVxuIgorbXNnc3RyICJuc2VtcyA9ICVqdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJvdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgIm90aW1lID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICJjdGltZSA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAic2VtbnVtIgorbXNnc3RyICJz4buRIGPhu50gaGnhu4d1IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInZhbHVlIgorbXNnc3RyICJnacOhIHRy4buLIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgIm5jb3VudCIKK21zZ3N0ciAibmNvdW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInpjb3VudCIKK21zZ3N0ciAiemNvdW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInBpZCIKK21zZ3N0ciAicGlkIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzAgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM0IHN5cy11dGlscy9pcGN1dGlscy5jOjIzOAorIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiJXMgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoYnl0ZXMpID0gIgorbXNnc3RyICIlcyAoYnl0ZXMpID0gIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKGtieXRlcykgPSAiCittc2dzdHIgIiVzIChrYnl0ZXMpID0gIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxODAKK21zZ2lkICJpbnZhbGlkIGlmbGFnIgorbXNnc3RyICJpZmxhZyBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGxkaXNjPiA8ZGV2aWNlPlxuIgorbXNnc3RyICIlcyBbY8OhYyB0w7l5IGNo4buNbl0gPGxkaXNjPiA8dGhp4bq/dCBi4buLPlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxOTkKK21zZ2lkICJBdHRhY2ggYSBsaW5lIGRpc2NpcGxpbmUgdG8gYSBzZXJpYWwgbGluZS5cbiIKK21zZ3N0ciAixJDDrW5oIGvDqG0ga+G7tyBsdeG6rXQgZMOybmcgxJHhur9uIMSRxrDhu51uZyBu4buRaSB0aeG6v3AuXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgaW4gdGjDtG5nIMSRaeG7h3AgZOG6oW5nIMSR4bqneSDEkeG7pyByYSBkw7JuZyBiw6FvIGzhu5dpIHN0ZGVyclxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDMKK21zZ2lkICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAgc2V0IHNlcmlhbCBsaW5lIHNwZWVkXG4iCittc2dzdHIgIiAtcywgLS1zcGVlZCA8Z2nDoV90cuG7iz4gICDEkeG6t3QgdOG7kWMgxJHhu5kgY+G7lW5nIG7hu5FpIHRp4bq/cFxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDQKK21zZ2lkICIgLWMsIC0taW50cm8tY29tbWFuZCA8c3RyaW5nPiBpbnRybyBzZW50IGJlZm9yZSBsZGF0dGFjaFxuIgorbXNnc3RyICIgLWMsIC0taW50cm8tY29tbWFuZCA8Y2h14buXaT4gIGludHJvIGfhu61pIHRyxrDhu5tjIGxkYXR0YWNoXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNQorbXNnaWQgIiAtcCwgLS1wYXVzZSA8c2Vjb25kcz4gICBwYXVzZSBiZXR3ZWVuIGludHJvIGFuZCBsZGF0dGFjaFxuIgorbXNnc3RyICIgLXAsIC0tcGF1c2UgPGdpw6J5PiAgICAgIHThuqFtIGThu6tuZyBnaeG7r2EgaW50cm8gdsOgIGxkYXR0YWNoXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNgorbXNnaWQgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gNyBiaXRzXG4iCittc2dzdHIgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICDEkeG6t3Qga8OtY2ggdGjGsOG7m2Mga8O9IHThu7EgdGjDoG5oIDcgYml0c1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDcKK21zZ2lkICIgLTgsIC0tZWlnaHRiaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDggYml0c1xuIgorbXNnc3RyICIgLTgsIC0tZWlnaHRiaXRzICAgICAgICAgxJHhurd0IGvDrWNoIHRoxrDhu5tjIGvDvSB04buxIHRow6BuaCA4IGJpdHNcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA4Cittc2dpZCAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIHNldCBwYXJpdHkgdG8gbm9uZVxuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgxJHhurd0IGLDrXQgY2jhurVuIGzhursgdGjDoG5oIHLhu5duZyBraMO0bmdcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA5Cittc2dpZCAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIHNldCBwYXJpdHkgdG8gZXZlblxuIgorbXNnc3RyICIgLWUsIC0tZXZlbnBhcml0eSAgICAgICAgxJHhurd0IGLDrXQgY2jhurVuIGzhursgdGjDoG5oIGNo4bq1blxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTAKK21zZ2lkICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAgc2V0IHBhcml0eSB0byBvZGRcbiIKK21zZ3N0ciAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIMSR4bq3dCBiw610IGNo4bq1biBs4bq7IHRow6BuaCBs4bq7XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMQorbXNnaWQgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBzZXQgc3RvcCBiaXRzIHRvIG9uZVxuIgorbXNnc3RyICIgLTEsIC0tb25lc3RvcGJpdCAgICAgICAgxJHhurd0IGPDoWMgYsOtdCBk4burbmcgdGjDoG5oIG3hu5l0XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMgorbXNnaWQgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBzZXQgc3RvcCBiaXRzIHRvIHR3b1xuIgorbXNnc3RyICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAgxJHhurd0IGPDoWMgYsOtdCBk4burbmcgdGjDoG5oIGhhaVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTMKK21zZ2lkICIgLWksIC0taWZsYWcgWy1dPGlmbGFnPiAgc2V0IGlucHV0IG1vZGUgZmxhZ1xuIgorbXNnc3RyICIgLWksIC0taWZsYWcgWy1dPGPhu50+ICAgICDEkeG6t3QgY+G7nSBjaOG6vyDEkeG7mSDEkeG6p3UgdsOgb1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTkKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGxkaXNjPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkPDoWMgdMOqbiA8bGRpc2M+IMSRw6MgYmnhur90IMSR4bq/bjpcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjIzCittc2dpZCAiIgorIlxuIgorIktub3duIDxpZmxhZz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJDw6FjIHTDqm4gPGlmbGFnPiDEkcOjIGJp4bq/dCDEkeG6v246XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0MAorbXNnaWQgImludmFsaWQgc3BlZWQgYXJndW1lbnQiCittc2dzdHIgInRoYW0gc+G7kSB04buRYyDEkeG7mSBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQzCittc2dpZCAiaW52YWxpZCBwYXVzZSBhcmd1bWVudCIKK21zZ3N0ciAixJHhu5FpIHPhu5EgZOG7q25nIGtow7RuZyBo4bujcCBs4buHIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNTkKK21zZ2lkICJpbnZhbGlkIG9wdGlvbiIKK21zZ3N0ciAidMO5eSBjaOG7jW4gc2FpIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNzAKK21zZ2lkICJpbnZhbGlkIGxpbmUgZGlzY2lwbGluZSBhcmd1bWVudCIKK21zZ3N0ciAixJHhu5FpIHPhu5Ega+G7tyBsdeG6rXQgZMOybmcga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBzZXJpYWwgbGluZSIKK21zZ3N0ciAiJXMga2jDtG5nIHBo4bqjaSBsw6AgZMOybmcgbuG7kWkgdGnhur9wIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRodeG7mWMgdMOtbmggdGhp4bq/dCBi4buLIHbhu4EgJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVlZCAlZCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAidOG7kWMgxJHhu5kgJWQga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhurd0IGPDoWMgdGh14buZYyB0w61uaCB0aGnhur90IGLhu4sgY2hvICVzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlIGludHJvIGNvbW1hbmQgdG8gJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgbOG7h25oIGdp4bubaSB0aGnhu4d1IHbDoG8gJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ2OQorbXNnaWQgImNhbm5vdCBzZXQgbGluZSBkaXNjaXBsaW5lIgorbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhurd0IGvhu7cgbHXhuq10IGTDsm5nIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NzkKK21zZ2lkICJjYW5ub3QgZGFlbW9uaXplIgorbXNnc3RyICJraMO0bmcgdGjhu4MgY2jhuqF5IHRyb25nIG7hu4FuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY4Cittc2dpZCAiYXV0b2NsZWFyIGZsYWcgc2V0IgorbXNnc3RyICLEkeG6t3QgY+G7nSBhdXRvY2xlYXIgKHThu7EgeMOzYSkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjkKK21zZ2lkICJkZXZpY2UgYmFja2luZyBmaWxlIgorbXNnc3RyICJ04bqtcCB0aW4gaOG7lyB0cuG7oyB0aGnhur90IGLhu4siCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzAKK21zZ2lkICJiYWNraW5nIGZpbGUgaW5vZGUgbnVtYmVyIgorbXNnc3RyICJz4buRIG7DunQgdOG6rXAgdGluIGjhu5cgdHLhu6MiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzEKK21zZ2lkICJiYWNraW5nIGZpbGUgbWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAidOG6rXAgdGluIGjhu5cgdHLhu6Mgc+G7kSBs4bubbjpuaOG7jyB0aGnhur90IGLhu4siCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzIKK21zZ2lkICJsb29wIGRldmljZSBuYW1lIgorbXNnc3RyICJ0w6puIHRoaeG6v3QgYuG7iyBsb29wIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjczCittc2dpZCAib2Zmc2V0IGZyb20gdGhlIGJlZ2lubmluZyIKK21zZ3N0ciAib2Zmc2V0IHThu6sgxJFp4buDbSBi4bqvdCDEkeG6p3UiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzQKK21zZ2lkICJwYXJ0c2NhbiBmbGFnIHNldCIKK21zZ3N0ciAixJHhurd0IGPhu50gcGFydHNjYW4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzYKK21zZ2lkICJzaXplIGxpbWl0IG9mIHRoZSBmaWxlIGluIGJ5dGVzIgorbXNnc3RyICJnaeG7m2kgaOG6oW4ga8OtY2ggdGjGsOG7m2MgdOG6rXAgdGluIHTDrW5oIHRoZW8gYnl0ZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NworbXNnaWQgImxvb3AgZGV2aWNlIG1ham9yOm1pbm9yIG51bWJlciIKK21zZ3N0ciAic+G7kSBs4bubbjpuaOG7jyB0aGnhur90IGLhu4sgdsOybmcgbOG6t3AgKGxvb3ApIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4Cittc2dpZCAiYWNjZXNzIGJhY2tpbmcgZmlsZSB3aXRoIGRpcmVjdC1pbyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzNSBzeXMtdXRpbHMvbG9zZXR1cC5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICIsIG9mZnNldCAlanUiCittc2dzdHIgIiwgb2Zmc2V0ICVqdSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxMzggc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBzaXplbGltaXQgJWp1IgorbXNnc3RyICIsIGdp4bubaV9o4bqhbl9rw61jaF90aMaw4bubYyAlanUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZW5jcnlwdGlvbiAlcyAodHlwZSAldSkiCittc2dzdHIgIiwgbcOjIGjDs2EgJXMgKGtp4buDdSAldSkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZXRhY2ggZmFpbGVkIgorbXNnc3RyICIlczogdGjDoW8gZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzI5IHN5cy11dGlscy9sc2NwdS5jOjE3MzUgc3lzLXV0aWxzL3BybGltaXQuYzoyMjkKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxNzYgc3lzLXV0aWxzL3dkY3RsLmM6MjE1IHN5cy11dGlscy96cmFtY3RsLmM6NDA1Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGxpbmUiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBraOG7n2kgdOG6oW8gZMOybmcga+G6v3QgeHXhuqV0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIFs8bG9vcGRldj5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGxvb3BkZXY+IDxmaWxlPlxuIgorbXNnc3RyICIiCisiICUxJHMgW2PDoWMgdMO5eSBjaOG7jW5dIFs8bG9vcGRldj5dXG4iCisiICUxJHMgW2PDoWMgdMO5eSBjaOG7jW5dIC1mIHwgPGxvb3BkZXY+IDx04bqtcC10aW4+XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzg2Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIGxvb3AgZGV2aWNlcy5cbiIKK21zZ3N0ciAiQ8OgaSDEkeG6t3QgdsOgIMSRaeG7gXUga2hp4buDbiBjw6FjIHRoaeG6v3QgYuG7iyB2w7JuZyBs4bq3cC5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgbGlzdCBhbGwgdXNlZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgbeG7jWkgdGhp4bq/dCBi4buLXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkwCittc2dpZCAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4uLi4gICAgIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCittc2dzdHIgIiAtZCwgLS1kZXRhY2ggPGxvb3BkZXY+IOKApiAgICAgIHTDoWNoIHLhu51pIG3hu5l0IGhheSBuaGnhu4F1IHRoaeG6v3QtYuG7i1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MQorbXNnaWQgIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgdMOhY2ggcuG7nWkgbeG7jWkgdGhp4bq/dCBi4buLIMSRw6MgZMO5bmdcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTIKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZmluZCBmaXJzdCB1bnVzZWQgZGV2aWNlXG4iCittc2dzdHIgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICB0w6xtIHRoaeG6v3QgYuG7iyBjaMawYSBkw7luZyDEkeG6p3UgdGnDqm5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTMKK21zZ2lkICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcGRldj4gIMSR4buVaSBrw61jaCB0aMaw4bubYyBj4bunYSB0aGnhur90LWLhu4tcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTQKK21zZ2lkICIgLWosIC0tYXNzb2NpYXRlZCA8ZmlsZT4gICAgICAgbGlzdCBhbGwgZGV2aWNlcyBhc3NvY2lhdGVkIHdpdGggPGZpbGU+XG4iCittc2dzdHIgIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaeG7h3Qga8OqIG3hu41pIHRoaeG6v3QtYuG7iyBr4bq/dCBo4bujcCB24bubaSA8dOG6rXAtdGluPlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5NQorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICAgICAgYXZvaWQgcG9zc2libGUgY29uZmxpY3QgYmV0d2VlbiBkZXZpY2VzXG4iCittc2dzdHIgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIHTDrG0gdGhp4bq/dCBi4buLIGPDsm4gcuG6o25oXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgICAgICAgICAgIHN0YXJ0IGF0IG9mZnNldCA8bnVtPiBpbnRvIGZpbGVcbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8c+G7kT4gICAgICAgICAgICAgYuG6r3QgxJHhuqd1IHThuqFpIG9mZnNldCA8c+G7kT4gdOG6rXAgdGluXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAwCittc2dpZCAiICAgICAtLXNpemVsaW1pdCA8bnVtPiAgICAgICAgIGRldmljZSBpcyBsaW1pdGVkIHRvIDxudW0+IGJ5dGVzIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiAgICAgLS1zaXplbGltaXQgPHPhu5E+ICAgICAgICAgIHRoaeG6v3QgYuG7iyDEkcaw4bujYyBnaeG7m2kgaOG6oW4gPHPhu5E+IGJ5dGUgY+G7p2EgdOG6rXAgdGluXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAxCittc2dpZCAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICB04bqhbyB0aGnhur90IGLhu4sgdsOybmcgbOG6t3AgxJHGsOG7o2MgcGjDom4gdsO5bmdcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDIKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0IHVwIGEgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBjw6BpIMSR4bq3dCB0aGnhur90IGLhu4sgbG9vcCBjaOG7iS3EkeG7jWNcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDMKK21zZ2lkICIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAgb3BlbiBiYWNraW5nIGZpbGUgd2l0aCBPX0RJUkVDVFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA0Cittc2dpZCAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHByaW50IGRldmljZSBuYW1lIGFmdGVyIHNldHVwICh3aXRoIC1mKVxuIgorbXNnc3RyICIgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHTDqm4gdGhp4bq/dCBi4buLIHNhdSBjw6BpIMSR4bq3dCAoduG7m2kgLWYpXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgY2jhur8gxJHhu5kgY2hpIHRp4bq/dFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwOQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBsaXN0IGluZm8gYWJvdXQgYWxsIG9yIHNwZWNpZmllZCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGxp4buHdCBrw6ogdGjDtG5nIHRpbiB24buBIHThuqV0IGPhuqMgaGF5IG5o4buvbmcgdGjhu6kgxJHGsOG7o2MgY2jhu4kgcmEgKG3hurdjIMSR4buLbmgpXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEwCittc2dpZCAiIC1PLCAtLW91dHB1dCA8Y29scz4gICAgICAgICAgIHNwZWNpZnkgY29sdW1ucyB0byBvdXRwdXQgZm9yIC0tbGlzdFxuIgorbXNnc3RyICIgLU8sIC0tb3V0cHV0IDxj4buZdD4gICAgICAgICAgICBjaOG7iSDEkeG7i25oIGPhu5l0IHPhur0gaGnhu4NuIHRo4buLIGNobyAtLWxpc3RcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTEKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tbGlzdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgICAgIGtow7RuZyBoaeG7g24gdGjhu4sgcGjhuqduIMSR4bqndSBjaG8ga+G6v3QgeHXhuqV0IOKAnC0tbGlzdOKAnVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMgorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1c2UgcmF3IC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICBkw7luZyDEkeG7i25oIGThuqFuZyB0aMO0IGNobyBr4bq/dCB4deG6pXQgLS1saXN0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEzCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgZMO5bmcgxJHhu4tuaCBk4bqhbmcgdGjDtCBjaG8ga+G6v3QgeHXhuqV0IC0tbGlzdFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOQorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgLS1saXN0IGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJDw6FjIGPhu5l0IHPhurVuIGTDuW5nIGNobyAtLWxpc3Q6XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGlzIHNtYWxsZXIgdGhhbiA1MTIgYnl0ZXM7IHRoZSBsb29wIGRldmljZSBtYXkgYmUgdXNlbGVzcyBvciBpbnZpc2libGUgZm9yIHN5c3RlbSB0b29scy4iCittc2dzdHIgIiVzOiBD4bqjbmggYsOhbzogdOG6rXAgdGluIG5o4buPIGjGoW4gNTEyIGJ5dGVzLCB0aGnhur90IGLhu4sgbG9vcCBjw7MgbOG6vSBraMO0bmcgZMO5bmcgxJHGsOG7o2MgaG/hurdjIGtow7RuZyBraOG6oyBk4bulbmcgY2hvIGPDoWMgY8O0bmcgY+G7pSBj4bunYSBo4buHIHRo4buRbmcuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBkb2VzIG5vdCBmaXQgaW50byBhIDUxMi1ieXRlIHNlY3RvcjsgdGhlIGVuZCBvZiB0aGUgZmlsZSB3aWxsIGJlIGlnbm9yZWQuIgorbXNnc3RyICIlczogQ+G6o25oIGLDoW86IHThuq1wIHRpbiBraMO0bmcgduG7q2Ega2jhu5twIGN1bmcgdOG7qyAoc2VjdG9yKSA1MTItYnl0ZSBuw6puIGvhur90IHRow7pjIHThuq1wIHRpbiBz4bq9IGLhu4sgYuG7jyBxdWEuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ2NCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUxNiBzeXMtdXRpbHMvbW91bnQuYzo0NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHRoaeG6v3QgYuG7iyBscCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIHJlYWQtb25seSBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGVuY3J5cHRlZCBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmUtdXNlIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIGPDoGkgxJHhurd0IHRoaeG6v3QgYuG7iyBsb29wIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ5NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5zcGVjdCBsb29wIGRldmljZXMiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBjw6BpIMSR4bq3dCB0aGnhur90IGLhu4sgbG9vcCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY2hlY2sgZm9yIGNvbmZsaWN0aW5nIGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAiJXM6IGfhurdwIGzhu5dpIGtoaSBjw6BpIMSR4bq3dCB0aGnhur90IGLhu4sgbG9vcCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1Mjkgc3lzLXV0aWxzL2xvc2V0dXAuYzo4MjYKK21zZ2lkICJjYW5ub3QgZmluZCBhbiB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgImtow7RuZyB0aOG7gyB0w6xtIHRo4bqleSB0aGnhur90IGLhu4sgbG9vcCBjaMawYSBkw7luZyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgYmFja2luZyBmaWxlIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kgc+G7rSBk4bulbmcgdOG6rXAgdGluIHRy4bujIGdpw7pwIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjYzMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjY0MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1MworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3Njcgc3lzLXV0aWxzL2xvc2V0dXAuYzo4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgZGV2aWNlIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIHPhu60gZOG7pW5nIHRoaeG6v3QgYuG7iyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NjQKK21zZ2lkICJubyBsb29wIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgImtow7RuZyBjaOG7iSByYSB0aGnhur90IGLhu4sgbG9vcCAodsOybmcgbmfGsOG7o2MpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3MgorbXNnaWQgIm5vIGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICJjaMawYSBnaGkgcsO1IHThuq1wIHRpbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIG9wdGlvbnMgJXMgYXJlIGFsbG93ZWQgZHVyaW5nIGxvb3AgZGV2aWNlIHNldHVwIG9ubHkiCittc2dzdHIgInTDuXkgY2jhu41uICVzIGNo4buJIGNobyBwaMOpcCBjw6BpIMSR4bq3dCB0aGnhur90IGLhu4sgdsOybmcgbOG6t3AgKGxvb3ApIHRow7RpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4NAorbXNnaWQgInRoZSBvcHRpb24gLS1vZmZzZXQgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICJ0w7l5IGNo4buNbiAtLW9mZnNldCBsw6Aga2jDtG5nIMSRxrDhu6NjIHBow6lwIHRyb25nIG5n4buvIGPhuqNuaCBuw6B5IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGNhcGFjaXR5IGZhaWxlZCIKK21zZ3N0ciAiJXM6IMSR4bq3dCBkdW5nIGzGsOG7o25nIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBkaXJlY3QgaW8gZmFpbGVkIgorbXNnc3RyICIlczogxJHhu5VpIHRoxrAgbeG7pWMgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjEwOAorbXNnaWQgIm5vbmUiCittc2dzdHIgImtow7RuZyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTA5Cittc2dpZCAicGFyYSIKK21zZ3N0ciAicGjhuqduIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMTAKK21zZ2lkICJmdWxsIgorbXNnc3RyICLEkeG6p3kiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjExMQorbXNnaWQgImNvbnRhaW5lciIKK21zZ3N0ciAidGjDuW5nIGNo4bupYSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTczCittc2dpZCAiaG9yaXpvbnRhbCIKK21zZ3N0ciAibmdhbmciCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NAorbXNnaWQgInZlcnRpY2FsIgorbXNnc3RyICJk4buNYyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ2Cittc2dpZCAibG9naWNhbCBDUFUgbnVtYmVyIgorbXNnc3RyICJz4buRIENQVSBsb2fDrWMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0NworbXNnaWQgImxvZ2ljYWwgY29yZSBudW1iZXIiCittc2dzdHIgInPhu5EgbMO1aSBsw7Rnw61jIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDgKK21zZ2lkICJsb2dpY2FsIHNvY2tldCBudW1iZXIiCittc2dzdHIgInPhu5Ega2hlIGPhuq9tIGzDtGfDrWMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0OQorbXNnaWQgImxvZ2ljYWwgTlVNQSBub2RlIG51bWJlciIKK21zZ3N0ciAic+G7kSBuw7p0IE5VTUEgbMO0Z8OtYyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUwCittc2dpZCAibG9naWNhbCBib29rIG51bWJlciIKK21zZ3N0ciAic+G7kSBjaOG7lyBsb2fDrWMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MQorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIGRyYXdlciBudW1iZXIiCittc2dzdHIgInPhu5EgbMO1aSBsw7Rnw61jIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTIKK21zZ2lkICJzaG93cyBob3cgY2FjaGVzIGFyZSBzaGFyZWQgYmV0d2VlbiBDUFVzIgorbXNnc3RyICJoaeG7g24gdGjhu4sgYuG7mSBuaOG7myDEkeG7h20gxJHGsOG7o2MgY2hpYSBz4bq7IGdp4buvIGPDoWMgYuG7mSB2aSB44butIGzDvSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUzCittc2dpZCAiQ1BVIGRpc3BhdGNoaW5nIG1vZGUgb24gdmlydHVhbCBoYXJkd2FyZSIKK21zZ3N0ciAiQ2jhur8gxJHhu5kgQ1BVIHBow6JuIHBo4buRaSB0csOqbiBwaOG6p24gY+G7qW5nIOG6o28iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NAorbXNnaWQgInBoeXNpY2FsIGFkZHJlc3Mgb2YgYSBDUFUiCittc2dzdHIgIsSR4buLYSBjaOG7iSB24bqtdCBsw70gY+G7p2EgQ1BVIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTUKK21zZ2lkICJzaG93cyBpZiB0aGUgaHlwZXJ2aXNvciBoYXMgYWxsb2NhdGVkIHRoZSBDUFUiCittc2dzdHIgImhp4buDbiB0aOG7iyBu4bq/dSBtw6F5IOG6o28gxJHDoyDEkcaw4bujYyBj4bqlcCBDUFUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NgorbXNnaWQgInNob3dzIGlmIExpbnV4IGN1cnJlbnRseSBtYWtlcyB1c2Ugb2YgdGhlIENQVSIKK21zZ3N0ciAiaGnhu4NuIHRo4buLIG7hur91IExpbnV4IGhp4buHbiB04bqhaSBjw7Mgc+G7rSBk4bulbmcgQ1BVIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTcKK21zZ2lkICJzaG93cyB0aGUgbWF4aW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAiaGnhu4NuIHRo4buLIHThuqduIHPhu5EgxJHhu5NuZyBo4buTIHThu5FpIMSRYSBj4bunYSBDUFUgdGhlbyBtaHoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1OAorbXNnaWQgInNob3dzIHRoZSBtaW5pbXVtIE1IeiBvZiB0aGUgQ1BVIgorbXNnc3RyICJoaeG7g24gdGjhu4sgdOG6p24gc+G7kSDEkeG7k25nIGjhu5MgdOG7kWkgdGhp4buDdSBj4bunYSBDUFUgdGhlbyBtaHoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjU1MAorbXNnaWQgImVycm9yOiB1bmFtZSBmYWlsZWQiCittc2dzdHIgImzhu5dpOiB1bmFtZSBraMO0bmcgdGjDoG5oIGPDtG5nIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBudW1iZXIgb2YgQ1BVczogJXMiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSB4w6FjIMSR4buLbmggc+G7kSBDUFU6ICVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo4OTEKK21zZ2lkICJlcnJvcjogY2FuIG5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgImzhu5dpOiBraMO0bmcgdGjhu4MgxJHhurd0IGLhu5kgdGnhur9wIGjhu6NwIHTDrW4gaGnhu4d1IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo4OTYKK21zZ2lkICJlcnJvcjogY2FuIG5vdCByZXN0b3JlIHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJs4buXaToga2jDtG5nIHRo4buDIHBo4bulYyBo4buTaSBi4buZIHRp4bq/cCBo4bujcCB0w61uIGhp4buHdSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBmcm9tOiAlcyIKK21zZ3N0ciAia2jDtG5nIMSR4buNYyDEkcaw4bujYzogJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MTAKK21zZ2lkICJGYWlsZWQgdG8gZXh0cmFjdCB0aGUgbm9kZSBudW1iZXIiCittc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBs4bqleSBz4buRIGPhu6dhIG7DunQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1Mzcgc3lzLXV0aWxzL2xzY3B1LmM6MTU0NworbXNnaWQgIlkiCittc2dzdHIgIkMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1Mzcgc3lzLXV0aWxzL2xzY3B1LmM6MTU0NworbXNnaWQgIk4iCittc2dzdHIgIksiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyXG4iCisiIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRFxuIgorIiMgc3RhcnRpbmcgZnJvbSB6ZXJvLlxuIgorbXNnc3RyICIiCisiIyBTYXUgxJHDonkgbMOgIMSR4buLbmggZOG6oW5nIGPDsyB0aOG7gyBwaMOibiB0w61jaCwga2nhu4N1IG3DoCBjw7MgdGjhu4MgxJHGsOG7o2MgZ+G7rWkgY2hvIGNoxrDGoW5nXG4iCisiIyB0csOsbmgga2jDoWMuIE3hu5dpIG3hu6VjIHJpw6puZyB0cm9uZyBt4buXaSBj4buZdCBjw7MgbeG7mXQgbcOjIHPhu5EgSUQgZHV5IG5o4bqldCxcbiIKKyIjIGLhuq90IMSR4bqndSB04burIHPhu5Ega2jDtG5nLlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzgxCittc2dpZCAiQXJjaGl0ZWN0dXJlOiIKK21zZ3N0ciAiS2nhur9uIHRyw7pjOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc5NQorbXNnaWQgIkNQVSBvcC1tb2RlKHMpOiIKK21zZ3N0ciAiQ2jhur8gxJHhu5kgdGhhbyB0w6FjIENQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3OTggc3lzLXV0aWxzL2xzY3B1LmM6MTgwMAorbXNnaWQgIkJ5dGUgT3JkZXI6IgorbXNnc3RyICJUaOG7qSB04buxIEJ5dGU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODAyCittc2dpZCAiQ1BVKHMpOiIKK21zZ3N0ciAiQ1BVOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwNQorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICJN4bq3dCBu4bqhIENQVSB0cuG7sWMgdHV54bq/bjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDYKK21zZ2lkICJPbi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiRGFuaCBzw6FjaCBDUFUgdHLhu7FjIHR1eeG6v246IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI1Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICJN4bq3dCBu4bqhIENQVSBuZ2/huqFpIHR1eeG6v246IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI2Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICJEYW5oIHPDoWNoIENQVSBuZ2/huqFpIHR1eeG6v246IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODYyCittc2dpZCAiVGhyZWFkKHMpIHBlciBjb3JlOiIKK21zZ3N0ciAiU+G7kSB0dXnhur9uIG3hu5dpIGzDtWk6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODY0Cittc2dpZCAiQ29yZShzKSBwZXIgc29ja2V0OiIKK21zZ3N0ciAiU+G7kSBsw7VpIG3hu5dpIMSR4bq/IGPhuq9tOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2NworbXNnaWQgIlNvY2tldChzKSBwZXIgYm9vazoiCittc2dzdHIgIlPhu5EgU29ja2V0KHMpIHRyw6puIG3hu5dpIGzhuqduIMSR4bujaToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzAKK21zZ2lkICJCb29rKHMpIHBlciBkcmF3ZXI6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzIKK21zZ2lkICJEcmF3ZXIocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzQKK21zZ2lkICJCb29rKHMpOiIKK21zZ3N0ciAiQ2jhu5cgZ2nhu686IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODc3Cittc2dpZCAiU29ja2V0KHMpOiIKK21zZ3N0ciAiU+G7kSDEkeG6vyBj4bqvbToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODEKK21zZ2lkICJOVU1BIG5vZGUocyk6IgorbXNnc3RyICJOw7p0IE5VTUE6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgzCittc2dpZCAiVmVuZG9yIElEOiIKK21zZ3N0ciAiSUQgbmjDoCBz4bqjbiB4deG6pXQ6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg1CisjLCBmdXp6eQorbXNnaWQgIk1hY2hpbmUgdHlwZToiCittc2dzdHIgIktp4buDdSBwaMOibiB2w7luZyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4NworbXNnaWQgIkNQVSBmYW1pbHk6IgorbXNnc3RyICJI4buNIENQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODkKK21zZ2lkICJNb2RlbDoiCittc2dzdHIgIk3DtCBow6xuaDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTEKK21zZ2lkICJNb2RlbCBuYW1lOiIKK21zZ3N0ciAiVMOqbiBtw7QgaMOsbmg6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODkzCittc2dpZCAiU3RlcHBpbmc6IgorbXNnc3RyICJCxrDhu5tjOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5NQorbXNnaWQgIkNQVSBNSHo6IgorbXNnc3RyICJDUFUgTUh6OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5NworIywgZnV6enkKK21zZ2lkICJDUFUgZHluYW1pYyBNSHo6IgorbXNnc3RyICJU4bqnbiBz4buRIMSR4buTbmcgaOG7kyBDUFUgdOG7kWkgdGhp4buDdSAoTUh6KToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTkKKyMsIGZ1enp5Cittc2dpZCAiQ1BVIHN0YXRpYyBNSHo6IgorbXNnc3RyICJU4bqnbiBz4buRIMSR4buTbmcgaOG7kyBDUFUgdOG7kWkgxJFhIChNSHopOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMQorbXNnaWQgIkNQVSBtYXggTUh6OiIKK21zZ3N0ciAiVOG6p24gc+G7kSDEkeG7k25nIGjhu5MgQ1BVIHThu5FpIMSRYSAoTUh6KToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDMKK21zZ2lkICJDUFUgbWluIE1IejoiCittc2dzdHIgIlThuqduIHPhu5EgxJHhu5NuZyBo4buTIENQVSB04buRaSB0aGnhu4N1IChNSHopOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNQorbXNnaWQgIkJvZ29NSVBTOiIKK21zZ3N0ciAiQm9nb01JUFM6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA4IHN5cy11dGlscy9sc2NwdS5jOjE5MTAKK21zZ2lkICJWaXJ0dWFsaXphdGlvbjoiCittc2dzdHIgIuG6om8gaMOzYToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTMKK21zZ2lkICJIeXBlcnZpc29yOiIKK21zZ3N0ciAi4bqibyBow7NhOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxNQorbXNnaWQgIkh5cGVydmlzb3IgdmVuZG9yOiIKK21zZ3N0ciAiTmjDoCBjdW5nIGPhuqVwIGLhu5kg4bqjbyBow7NhOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxNgorbXNnaWQgIlZpcnR1YWxpemF0aW9uIHR5cGU6IgorbXNnc3RyICJLaeG7g3Ug4bqjbyBow7NhOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxOQorbXNnaWQgIkRpc3BhdGNoaW5nIG1vZGU6IgorbXNnc3RyICJDaOG6vyDEkeG7mSDEkWnhu4F1IHBo4buRaToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MjUgc3lzLXV0aWxzL2xzY3B1LmM6MTkzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjYWNoZToiCittc2dzdHIgIkLhu5kgbmjhu5sgxJHhu4dtICVzOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0MQorIywgYy1mb3JtYXQKK21zZ2lkICJOVU1BIG5vZGUlZCBDUFUocyk6IgorbXNnc3RyICJDUFUgbsO6dCVkIE5VTUE6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQ2CisjLCBmdXp6eQorbXNnaWQgIkZsYWdzOiIKK21zZ3N0ciAiQ+G7nSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0OQorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBzb2NrZXRzOiIKK21zZ3N0ciAiU+G7kSB0cuG7pSB24bqtdCBsw70iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NTAKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY2hpcHM6IgorbXNnc3RyICJT4buRIHRy4bulIHbhuq10IGzDvSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk1MQorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBjb3Jlcy9jaGlwOiIKK21zZ3N0ciAiS8OtY2ggY+G7oSBjdW5nIHThu6sgduG6rXQgbMO9IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTYzCittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ1BVIGFyY2hpdGVjdHVyZS5cbiIKK21zZ3N0ciAiSGnhu4NuIHRo4buLIHRow7RuZyB0aW4gduG7gSBraeG6v24gdHLDumMgQ1BVLlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY2Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IGJvdGggb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgaW4gcmEgY+G6oyBDUFUgxJFhbmcgY2jhuqF5IHbDoCDEkWFuZyBuZ2jhu4kgKG3hurdjIMSR4buLbmggY2hvIC1lKVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY3Cittc2dpZCAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIHByaW50IG9ubGluZSBDUFVzIG9ubHkgKGRlZmF1bHQgZm9yIC1wKVxuIgorbXNnc3RyICIgLWIsIC0tb25saW5lICAgICAgICAgICAgY2jhu4kgaGnhu4NuIHRo4buLIGPDoWMgQ1BVIG9ubGluZSAobeG6t2MgxJHhu4tuaCBjaG8gLXApXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjgKK21zZ2lkICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAgcHJpbnQgb2ZmbGluZSBDUFVzIG9ubHlcbiIKK21zZ3N0ciAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIGNo4buJIGhp4buDbiB0aOG7iyBjw6FjIENQVSDEkWFuZyB04bqvdFxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY5Cittc2dpZCAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1lLCAtLWV4dGVuZGVkWz08ZHPDoWNoPl0gaW4gcmEgxJHhu4tuaCBk4bqhbmcgY8OzIHRo4buDIMSR4buNYyDEkcaw4bujYyBwaOG6p24gbeG7nyBy4buZbmdcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MAorbXNnaWQgIiAtcCwgLS1wYXJzZVs9PGxpc3Q+XSAgICBwcmludCBvdXQgYSBwYXJzYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1wLCAtLXBhcnNlWz08ZHPDoWNoPl0gICBpbiByYSDEkeG7i25oIGThuqFuZyBwaMOibiB0w61jaCDEkcaw4bujY1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcxCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHVzZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iCittc2dzdHIgIiAtcywgLS1zeXNyb290IDxkaXI+ICAgICBkw7luZyB0aMawIG3hu6VjIMSRw6MgY2hvIG5oxrAgbMOgIHRoxrAgbeG7pWMgZ+G7kWMgY+G7p2EgaOG7hyB0aOG7kW5nXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzIKK21zZ2lkICIgLXgsIC0taGV4ICAgICAgICAgICAgICAgcHJpbnQgaGV4YWRlY2ltYWwgbWFza3MgcmF0aGVyIHRoYW4gbGlzdHMgb2YgQ1BVc1xuIgorbXNnc3RyICIgLXgsIC0taGV4ICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIGThuqFuZyB0aOG6rXAgbOG7pWMgcGjDom4gdGhheSBjaG8gZGFuaCBzw6FjaCBDUFVcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MworIywgZnV6enkKK21zZ2lkICIgLXksIC0tcGh5c2ljYWwgICAgICAgICAgcHJpbnQgcGh5c2ljYWwgaW5zdGVhZCBvZiBsb2dpY2FsIElEc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgaGnhu4NuIHRo4buLIG3hu41pIHRoaeG6v3QgYuG7i1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvcHRpb25zIC0tYWxsLCAtLW9ubGluZSBhbmQgLS1vZmZsaW5lIG1heSBvbmx5IGJlIHVzZWQgd2l0aCBvcHRpb25zIC0tZXh0ZW5kZWQgb3IgLS1wYXJzZS5cbiIKK21zZ3N0ciAiJXM6IGPDoWMgdMO5eSBjaOG7jW4gLS1hbGwsIC0tb25saW5lIHbDoCAtLW9mZmxpbmUgY8OzIGzhur0gY2jhu4kgc+G7rSBk4bulbmcgY8O5bmcgduG7m2kgY8OhYyB0w7l5IGNo4buNbiAtLWV4dGVuZGVkIGhheSAtLXBhcnNhLlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNDkKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2Uga2V5IgorbXNnc3RyICJ0w6puIGPhu6dhIHTDoGkgbmd1ecOqbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5CisjLCBmdXp6eQorbXNnaWQgIktleSIKK21zZ3N0ciAia2jDs2EiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBJRCIKK21zZ3N0ciAidMOqbiBj4bunYSB0w6BpIG5ndXnDqm4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorIywgZnV6enkKK21zZ2lkICJJRCIKK21zZ3N0ciAiVVVJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCittc2dpZCAiT3duZXIncyB1c2VybmFtZSBvciBVSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCisjLCBmdXp6eQorbXNnaWQgIk93bmVyIgorbXNnc3RyICJjaOG7pyBz4bufIGjhu691IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTIKKyMsIGZ1enp5Cittc2dpZCAiUGVybWlzc2lvbnMiCittc2dzdHIgInBoacOqbiBi4bqjbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUzCittc2dpZCAiQ3JlYXRvciBVSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU0Cittc2dpZCAiQ3JlYXRvciB1c2VyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NQorbXNnaWQgIkNyZWF0b3IgR0lEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NgorIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGdyb3VwIgorbXNnc3RyICJOaMOzbSBjaMOtbmgiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworIywgZnV6enkKK21zZ2lkICJVc2VyIElEIgorbXNnc3RyICJtw6MgSUQgTmfGsOG7nWkgZMO5bmciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworIywgZnV6enkKK21zZ2lkICJVSUQiCittc2dzdHIgIlVVSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OAorIywgZnV6enkKK21zZ2lkICJVc2VyIG5hbWUiCittc2dzdHIgIlTDoGkga2hv4bqjbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR3JvdXAgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5CisjLCBmdXp6eQorbXNnaWQgIkdJRCIKK21zZ3N0ciAiU0dJIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjAKKyMsIGZ1enp5Cittc2dpZCAiR3JvdXAgbmFtZSIKK21zZ3N0ciAidMOqbiBuaMOzbSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCisjLCBmdXp6eQorbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3QgY2hhbmdlIgorbXNnc3RyICJrw61jaCB0aMaw4bubYyB2w7luZyBob8OhbiDEkeG7lWkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorIywgZnV6enkKK21zZ2lkICJMYXN0IGNoYW5nZSIKK21zZ3N0ciAidGhheSDEkeG7lWkgY3Xhu5FpIGPDuW5nIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjQKKyMsIGZ1enp5Cittc2dpZCAiQnl0ZXMgdXNlZCIKK21zZ3N0ciAiYnl0ZSDEkcOjIGTDuW5nIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2VzIgorbXNnc3RyICJT4buRIMSR4bqndSDEkeG7jWMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorIywgZnV6enkKK21zZ2lkICJNZXNzYWdlcyIKK21zZ3N0ciAidGjDtG5nIMSRaeG7h3AiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorIywgZnV6enkKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHNlbnQiCittc2dzdHIgInRo4budaSDEkWnhu4NtIMSRxINuZyBuaOG6rXAgbOG6p24gY3Xhu5FpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKK21zZ2lkICJNc2cgc2VudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHJlY2VpdmVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIk1zZyByZWNlaXZlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjgKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHNlbmRlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjgKK21zZ2lkICJNc2cgc2VuZGVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgcmVjZWl2ZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiTXNnIHJlY2VpdmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MgorIywgZnV6enkKK21zZ2lkICJTZWdtZW50IHNpemUiCittc2dzdHIgImzhuqV5IGvDrWNoIGPhu6Ega2jhu5FpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIGF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAic+G7kSBsxrDhu6NuZyB0aeG6v24gdHLDrG5oIHThu5FpIMSRYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCittc2dpZCAiQXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NAorIywgZnV6enkKK21zZ2lkICJTdGF0dXMiCittc2dzdHIgInRy4bqhbmcgdGjDoWkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NQorIywgZnV6enkKK21zZ2lkICJBdHRhY2ggdGltZSIKK21zZ3N0ciAixJHDoyBn4bqvbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc2CisjLCBmdXp6eQorbXNnaWQgIkRldGFjaCB0aW1lIgorbXNnc3RyICLEkcOjIGLhu48gZ+G6r24iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAiVMO5eSBjaOG7jW4gcGjDom4gdMOtY2ggbOG7h25oLlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRvciBjb21tYW5kIgorbXNnc3RyICJM4buHbmggY+G6pW0iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIlBJRCBvZiB0aGUgY3JlYXRvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJDcmVhdG9yIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJQSUQgb2YgbGFzdCB1c2VyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OQorIywgZnV6enkKK21zZ2lkICJMYXN0IHVzZXIgUElEIgorbXNnc3RyICJtw6MgSUQgTmfGsOG7nWkgZMO5bmciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAiU+G7kSBjdW5nIHThu6siCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorIywgZnV6enkKK21zZ2lkICJTZW1hcGhvcmVzIgorbXNnc3RyICJJRCBj4budIGhp4buHdTogJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBvcGVyYXRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCisjLCBmdXp6eQorbXNnaWQgIkxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICJ0aGFvIHTDoWMgJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIG5hbWUiCittc2dzdHIgInTDqm4gY+G7p2EgdMOgaSBuZ3V5w6puIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UiCittc2dzdHIgInTDqm4gY+G7p2EgdMOgaSBuZ3V5w6puIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgImLhu5kgbcO0IHThuqMgdMOgaSBuZ3V5w6puIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiRGVzY3JpcHRpb24iCittc2dzdHIgIm3DtCB04bqjIGPhu50iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIkN1cnJlbnRseSB1c2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIlVzZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIkN1cnJlbnRseSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAicGjhuqduIHRyxINtIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gxJHDoyBkw7luZyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIlVzZSIKK21zZ3N0ciAiQ8OhY2ggZMO5bmc6IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJTeXN0ZW0td2lkZSBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJMaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29sdW1uICVzIGRvZXMgbm90IGFwcGx5IHRvIHRoZSBzcGVjaWZpZWQgSVBDIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4NworbXNnaWQgIiAtZywgLS1nbG9iYWwgICAgICBpbmZvIGFib3V0IHN5c3RlbS13aWRlIHVzYWdlIChtYXkgYmUgdXNlZCB3aXRoIC1tLCAtcSBhbmQgLXMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg4CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICAgICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIgLWksIC0taWQgPG3Do19z4buRPiBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiBjaGkgdGnhur90IHRyw6puIG5ndeG7k24gdMOgaSBuZ3V5w6puIMSR4buLbmggbmdoxKlhIGLhu59pIDxtw6Nfc+G7kT5cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk0CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgICAgIGhp4buDbiB0aOG7iyBrw61jaCB0aMaw4bubYyB0aGVvIGJ5dGUgdGhheSB2w6wgxJHhu4tuaCBk4bqhbmcgZMOgbmggY2hvIGNvbiBuZ8aw4budaVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTUKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgICAgICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiAtYywgLS1jcmVhdG9yICAgICBoaeG7g24gdGjhu4sgbmfGsOG7nWkgdOG6oW8gdsOgIGNo4bunIHPhu58gaOG7r3VcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk3CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgdXNlIHRoZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgZMO5bmcgxJHhu4tuaCBk4bqhbmcgdGjDtFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTkKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICBmb3JjZSBsaXN0IG91dHB1dCBmb3JtYXQgKGZvciBleGFtcGxlIHdpdGggLS1pZClcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgZMO5bmcgxJHhu4tuaCBk4bqhbmcga+G6v3QgeHXhuqV0IGxp4buHdCBrw6pcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAxCittc2dpZCAiIC1QLCAtLW51bWVyaWMtcGVybXMgICAgICBwcmludCBudW1lcmljIHBlcm1pc3Npb25zIChQRVJNUyBjb2x1bW4pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAzCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICBoaeG7g24gdGjhu4sgxJHDrW5oIGvDqG0sIGLhu48gxJHDrW5oIGvDqG0gdsOgIHRo4budaSBnaWFuIHRoYXkgxJHhu5VpXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkdlbmVyaWMgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlTDuXkgY2jhu41uIENodW5nOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQtbWVtb3J5IGNvbHVtbnMgKC0tc2htZW1zKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIsSQb+G6oW4gdsO5bmcgbmjhu5sgY2hpYSBz4bq7IHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UtcXVldWUgY29sdW1ucyAoLS1xdWV1ZXMpOlxuIgorbXNnc3RyICIgLXMsIC0tc2VtYXBob3JlcyAgdMOtbiBoaeG7h3VcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIGNvbHVtbnMgKC0tc2VtYXBob3Jlcyk6XG4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmVzICB0w61uIGhp4buHdVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlN1bW1hcnkgY29sdW1ucyAoLS1nbG9iYWwpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjQxMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRWxlbWVudHM6XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA1CisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmUgaWRlbnRpZmllcnMiCittc2dzdHIgIlPhu5EgY3VuZyB04burIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDYKKyMsIGZ1enp5Cittc2dpZCAiVG90YWwgbnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgInPhu5EgbMaw4bujbmcgY3VuZyB04burIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDcKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNlbWFwaG9yZXMgcGVyIHNlbWFwaG9yZSBzZXQuIgorbXNnc3RyICIgLXMsIC0tc2VtYXBob3JlcyAgdMOtbiBoaeG7h3VcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA4CisjLCBmdXp6eQorbXNnaWQgIk1heCBudW1iZXIgb2Ygb3BlcmF0aW9ucyBwZXIgc2Vtb3AoMikiCittc2dzdHIgInPhu5EgbMaw4bujbmcgdOG6rXAgdGluIHThu5FpIMSRYSDEkcaw4bujYyBt4bufIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDkKKyMsIGZ1enp5Cittc2dpZCAiU2VtYXBob3JlIG1heCB2YWx1ZSIKK21zZ3N0ciAiZ2nDoSB0cuG7iyBj4budIGhp4buHdSBs4bubbiBuaOG6pXQgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjMKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICJT4buRIMSR4bqndSDEkeG7jWMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg2NAorIywgZnV6enkKK21zZ2lkICJNYXggc2l6ZSBvZiBtZXNzYWdlIChieXRlcykiCittc2dzdHIgImvDrWNoIGPhu6EgbOG7m24gbmjhuqV0IGPhu6dhIHRpbiBuaOG6r24iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg2NQorIywgZnV6enkKK21zZ2lkICJEZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIChieXRlcykiCittc2dzdHIgImvDrWNoIGPhu6EgbeG6t2MgxJHhu4tuaCBs4bubbiBuaOG6pXQgY+G7p2EgaMOgbmcgxJHhu6NpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5Nzggc3lzLXV0aWxzL2xzaXBjLmM6OTk3Cittc2dpZCAiaHVnZXRsYiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5Nzkgc3lzLXV0aWxzL2xzaXBjLmM6MTAwNAorIywgZnV6enkKK21zZ2lkICJub3Jlc2VydmUiCittc2dzdHIgIkxpbnV4IHJlc2VydmVkIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDYxCisjLCBmdXp6eQorbXNnaWQgIlNoYXJlZCBtZW1vcnkgc2VnbWVudHMiCittc2dzdHIgIiIKKyJcbiIKKyLEkG/huqFuIHbDuW5nIG5o4bubIGNoaWEgc+G6uyBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDYyCisjLCBmdXp6eQorbXNnaWQgIlNoYXJlZCBtZW1vcnkgcGFnZXMiCittc2dzdHIgIklEIHbDuW5nIG5o4bubIGTDuW5nIGNodW5nOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDYzCisjLCBmdXp6eQorbXNnaWQgIk1heCBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICJrw61jaCBj4buhIGzhu5tuIG5o4bqldCBj4bunYSB0aW4gbmjhuq9uIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDY0CisjLCBmdXp6eQorbXNnaWQgIk1pbiBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICJrw61jaCBj4buhIGzhu5tuIG5o4bqldCBj4bunYSB0aW4gbmjhuq9uIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMTM1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJUEMgaWRlbnRpZmllciIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIElEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMjI5CisjLCBmdXp6eQorbXNnaWQgIi0tZ2xvYmFsIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tY3JlYXRvciwgLS1pZCBhbmQgLS10aW1lIgorbXNnc3RyICJ0w7l5IGNo4buNbiAtLWZpbmQgbG/huqFpIHRy4burIHbhu5tpIDx0aGnhur90IGLhu4s+IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjgzCisjLCBmdXp6eQorbXNnaWQgIm5hbWVzcGFjZSBpZGVudGlmaWVyIChpbm9kZSBudW1iZXIpIgorbXNnc3RyICJz4buRIG7DunQgdOG6rXAgdGluIGjhu5cgdHLhu6MiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODQKK21zZ2lkICJraW5kIG9mIG5hbWVzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg1CisjLCBmdXp6eQorbXNnaWQgInBhdGggdG8gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAidHLhuqFuZyB0aMOhaSBj4bunYSB0aGnhur90IGLhu4siCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODYKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJz4buRIGzGsOG7o25nIHRp4bq/biB0csOsbmggY2jhuqF5IGLhu59pIG5nxrDhu51pIGTDuW5nIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg3Cittc2dpZCAibG93ZXN0IFBJRCBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODgKK21zZ2lkICJQUElEIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OQorbXNnaWQgImNvbW1hbmQgbGluZSBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTAKK21zZ2lkICJVSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkxCittc2dpZCAidXNlcm5hbWUgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG5hbWVzcGFjZT5dXG4iCittc2dzdHIgIiAlcyBbdMO5eSBjaOG7jW5dIFt0aMO0bmcgxJFp4buHcF1cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo2MTYKKyMsIGZ1enp5Cittc2dpZCAiTGlzdCBzeXN0ZW0gbmFtZXNwYWNlcy5cbiIKK21zZ3N0ciAiTGnhu4d0IGvDqiBjw6FjIGtow7NhIGjhu4cgdGjhu5FuZyBu4buZaSBi4buZLlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYyMworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tdGFzayA8cGlkPiAgICAgICBwcmludCBwcm9jZXNzIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIC10LCAtLXRhcmdldCA8cGlkPiAgICAgdGnhur9uIHRyw6xuaCDEkcOtY2ggxJHhu4MgbOG6pXkga2jDtG5nIGdpYW4gdMOqbiB04burIMSRw7NcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo2MjYKK21zZ2lkICIgLXQsIC0tdHlwZSA8bmFtZT4gICAgICBuYW1lc3BhY2UgdHlwZSAobW50LCBuZXQsIGlwYywgdXNlciwgcGlkLCB1dHMsIGNncm91cClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjcxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBuYW1lc3BhY2UgdHlwZTogJXMiCittc2dzdHIgImThuqFuZyBuZ3Xhu5NuIGtow7RuZyByw7U6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzM1CisjLCBmdXp6eQorbXNnaWQgIi0tdGFzayBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8bmFtZXNwYWNlPiIKK21zZ3N0ciAidMO5eSBjaOG7jW4gLS1maW5kIGxv4bqhaSB0cuG7qyB24bubaSA8dGhp4bq/dCBi4buLPiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MzYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBuYW1lc3BhY2UgYXJndW1lbnQiCittc2dzdHIgIsSR4buRaSBz4buRIGThu6tuZyBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGZvdW5kIG5hbWVzcGFjZTogJWp1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY2IHN5cy11dGlscy91bW91bnQuYzoxMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAiY2jhu4kgbmfGsOG7nWkgY2jhu6cgKHJvb3QpIGPDsyBxdXnhu4FuICBz4butIGThu6VuZyB0w7l5IGNo4buNbiBcIi0tJXNcIiAoVUlEIGPDsyBr4bq/dCBxdeG6oyBsw6AgJXUpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2OSBzeXMtdXRpbHMvdW1vdW50LmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgImNo4buJIG5nxrDhu51pIGNo4bunIChyb290KSBjw7MgcXV54buBbiBsw6BtIMSRw7MgKFVJRCBjw7Mga+G6v3QgcXXhuqMgbMOgICV1KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzMgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24iCittc2dzdHIgImNo4buJIGPDsyByw7R0IG3hu5tpIGPDsyB0aOG7gyBz4butIGThu6VuZyB0w7l5IGNo4buNbiBcIi0tJXNcIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzQgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKK21zZ3N0ciAiY2jhu4kgbmfGsOG7nWkgY2jhu6cgKHJvb3QpIGPDsyBxdXnhu4FuIHRo4buxYyBoaeG7h24iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjg1IHN5cy11dGlscy91bW91bnQuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzIChsaWJtb3VudCAlcyIKK21zZ3N0ciAiJXMgdOG7qyAlcyAobGlibW91bnQgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEzMAorbXNnaWQgImZhaWxlZCB0byByZWFkIG10YWIiCittc2dzdHIgInZp4buHYyDEkeG7jWMgdOG6rXAgdGluIG10YWIgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MiBzeXMtdXRpbHMvdW1vdW50LmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBpZ25vcmVkXG4iCittc2dzdHIgIiUtMjVzOiBi4buLIGLhu48gcXVhXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MworIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogYWxyZWFkeSBtb3VudGVkXG4iCittc2dzdHIgIiUtMjVzOiDEkcOjIGfhuq9uIGvhur90XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI0OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW92ZWQgdG8gJXMuXG4iCittc2dzdHIgIiVzOiAlcyDEkcaw4bujYyBkaSBjaHV54buDbiDEkeG6v24gJXMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgYm91bmQgb24gJXMuXG4iCittc2dzdHIgIiVzOiAlcyByw6BuZyBideG7mWMgdHLDqm4gJXMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1NCBzeXMtdXRpbHMvbW91bnQuYzoyNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdW50ZWQgb24gJXMuXG4iCittc2dzdHIgIiVzOiAlcyDEkcaw4bujYyBn4bqvbiB0csOqbiAlcy5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBwcm9wYWdhdGlvbiBmbGFncyBjaGFuZ2VkLlxuIgorbXNnc3RyICIlczogJXMgY+G7nSBsYW4gdHJ1eeG7gW4gxJHDoyB0aGF5IMSR4buVaS5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJtb3VudDogJXMgZG9lcyBub3QgY29udGFpbiBTRUxpbnV4IGxhYmVscy5cbiIKKyIgICAgICAgWW91IGp1c3QgbW91bnRlZCBhbiBmaWxlIHN5c3RlbSB0aGF0IHN1cHBvcnRzIGxhYmVscyB3aGljaCBkb2VzIG5vdFxuIgorIiAgICAgICBjb250YWluIGxhYmVscywgb250byBhbiBTRUxpbnV4IGJveC4gSXQgaXMgbGlrZWx5IHRoYXQgY29uZmluZWRcbiIKKyIgICAgICAgYXBwbGljYXRpb25zIHdpbGwgZ2VuZXJhdGUgQVZDIG1lc3NhZ2VzIGFuZCBub3QgYmUgYWxsb3dlZCBhY2Nlc3MgdG9cbiIKKyIgICAgICAgdGhpcyBmaWxlIHN5c3RlbS4gIEZvciBtb3JlIGRldGFpbHMgc2VlIHJlc3RvcmVjb24oOCkgYW5kIG1vdW50KDgpLlxuIgorbXNnc3RyICIiCisibW91bnQ6ICVzIGtow7RuZyBjaOG7qWEgbmjDo24ga2nhu4N1IFNFTGludXguXG4iCisiICAgICAgIELhuqFuIHbhu6thIG3hu5tpIGfhuq9uIGvhur90IG3hu5l0IGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gbcOgIGjhu5cgdHLhu6MgbmjDo25cbiIKKyIgICAgICAgbmjGsG5nIGPFqW5nIGtow7RuZyBjw7MgbmjDo24sIMSR4bq/biBt4buZdCBtw6F5IGtp4buDdSBTRUxpbnV4LlxuIgorIiAgICAgICBS4bqldCBjw7MgdGjhu4MgbMOgIOG7qW5nIGThu6VuZyBi4buLIGdpYW0gaMOjbSBz4bq9IHThuqFvIHRow7RuZyDEkWnhu4dwIEFWQ1xuIgorIiAgICAgICB2w6Aga2jDtG5nIGPDsyBxdXnhu4FuIHRydXkgY+G6rXAgxJHhur9uIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gbsOgeS5cbiIKKyIgICAgICAgxJDhu4MgdMOsbSBjaGkgdGnhur90LCB4ZW0gdHJhbmcgaMaw4bubbmcgZOG6q24gKG1hbikgcmVzdG9yZWNvbig4KSB2w6AgbW91bnQoOCkuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3OAorbXNnaWQgIldBUk5JTkc6IGZhaWxlZCB0byBhcHBseSBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiQ+G6ok5IIELDgU86IGfhurdwIGzhu5dpIGtoaSDDoXAgZOG7pW5nIGPDoWMgY+G7nSBsYW4gdHJ1eeG7gW4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIG1vdW50ICVzIG9uICVzIgorbXNnc3RyICJjaOG7iSBzacOqdSBuZ8aw4budaSBkw7luZyBt4bubaSBjw7MgcXV54buBbiBn4bqvbiAlcyB2w6BvICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYWxyZWFkeSBtb3VudGVkIgorbXNnc3RyICIlcyDEkcOjIGfhuq9uIGvhur90IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHVzZWQgYXMgcmVhZCBvbmx5IGxvb3AsIG1vdW50aW5nIHJlYWQtb25seSIKK21zZ3N0ciAiJXMgxJHGsOG7o2MgYuG6o28gduG7hyBjaOG7kW5nIGdoaSBuw6puIGNo4buJIGfhuq9uIGtp4buDdSBjaOG7iS3EkeG7jWMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kICVzIGluICVzIgorbXNnc3RyICJraMO0bmcgdMOsbSB0aOG6pXkgJXMgdHJvbmcgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyMworIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50cG9pbnQgJXMgaW4gJXMiCittc2dzdHIgImtow7RuZyB0w6xtIHRo4bqleSDEkWnhu4NtIGfhuq9uICVzIHRyb25nICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBzb3VyY2UgJXMgaW4gJXMiCittc2dzdHIgImtow7RuZyB0w6xtIHRo4bqleSBuZ3Xhu5NuIGfhuq9uICVzIHRyb25nICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzOiBtb3JlIGZpbGVzeXN0ZW1zIGRldGVjdGVkLiBUaGlzIHNob3VsZCBub3QgaGFwcGVuLFxuIgorIiAgICAgICB1c2UgLXQgPHR5cGU+IHRvIGV4cGxpY2l0bHkgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIG9yXG4iCisiICAgICAgIHVzZSB3aXBlZnMoOCkgdG8gY2xlYW4gdXAgdGhlIGRldmljZS4iCittc2dzdHIgIiIKKyIlczogcGjDoXQgaGnhu4duIMSRxrDhu6NjIG5oaeG7gXUgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBoxqFuLFxuIgorIiAgICAgICAgdHLGsOG7nW5nIGjhu6NwIG7DoHkga2jDtG5nIG7Dqm4geOG6o3kgcmEuXG4iCisiICAgICAgICBIw6N5IGTDuW5nIOKAnC10IDxraeG7g3U+4oCdIMSR4buDIGdoaSByw7Uga2nhu4N1IGjhu4cgdGjhu5FuZyB04bqtcCB0aW5cbiIKKyIgICAgICAgIGhv4bq3YyBkw7luZyB3aXBlZnMoOCkgxJHhu4MgbMOgbSBz4bqhY2ggdGhp4bq/dCBi4buLLiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDM2Cittc2dpZCAiSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgIlTDtGkga2jDtG5nIHRo4buDIG5o4bqtbiByYSBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiwgdsOgIG5nxrDhu51pIGTDuW5nIGtow7RuZyBjaOG7iSByYSBraeG7g3UgbsOgbyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDM5Cittc2dpZCAieW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJi4bqhbiBj4bqnbiBjaOG7iSByw7Uga2nhu4N1IGjhu4cgdGjhu5FuZyB04bqtcCB0aW4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kICVzIgorbXNnc3RyICJraMO0bmcgdMOsbSB0aOG6pXkgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0NworbXNnaWQgIm1vdW50IHNvdXJjZSBub3QgZGVmaW5lZCIKK21zZ3N0ciAibmd14buTbiBn4bqvbiBjaMawYSDEkcaw4bujYyDEkeG7i25oIG5naMSpYSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDUxIHN5cy11dGlscy9tb3VudC5jOjQ1MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggY8OhYyB0w7l5IGNo4buNbiBn4bqvbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0dXAgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgY8OgaSDEkeG6t3QgdGhp4bq/dCBi4buLIGxvb3AiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnQgZmFpbGVkIgorbXNnc3RyICIlczogZ+G6r24ga2jDtG5nIHRow6BuaCBjw7RuZyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlc3lzdGVtIG1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCittc2dzdHIgIiVzOiBo4buHIHRo4buRbmcgdOG6rXAgdGluIMSRw6MgxJHGsOG7o2MgZ+G6r24sIG5oxrBuZyBs4buHbmggbW91bnQoOCkgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ4OSBzeXMtdXRpbHMvbW91bnQuYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgJXMgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICLEkWnhu4NtIGfhuq9uICVzIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHRoxrAgbeG7pWMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ5MworbXNnaWQgIm11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKK21zZ3N0ciAiY+G6p24gcGjhuqNpIGzDoCBzacOqdSBuZ8aw4budaSBkw7luZyAocm9vdCkgxJHhu4Mgc+G7rSBk4bulbmcgbOG7h25oIG1vdW50IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYnVzeSIKK21zZ3N0ciAiJXMgxJFhbmcgYuG6rW4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb3IgJXMgYnVzeSIKK21zZ3N0ciAiICVzxJHDoyBn4bqvbiBy4buTaSBob+G6t2MgJXMgxJFhbmcgYuG6rW4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUxNworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzXG4iCittc2dzdHIgIiAgICAgICDEkcOjIGfhuq9uICVzIHRyw6puICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUyNQorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAixJFp4buDbSBn4bqvbiAlcyBraMO0bmcgdOG7k24gdOG6oWkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBpcyBhIHN5bWJvbGljIGxpbmsgdG8gbm93aGVyZSIKK21zZ3N0ciAixJFp4buDbSBn4bqvbiAlcyBsw6AgbeG7mXQgbGnDqm4ga+G6v3QgbeG7gW0ga2jDtG5nIGNo4buJIHThu5tpIMSRw6J1IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgInRoaeG6v3QgYuG7iyDEkeG6t2MgYmnhu4d0ICVzIGtow7RuZyB04buTbiB04bqhaSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTM2IHN5cy11dGlscy9tb3VudC5jOjUzOCBzeXMtdXRpbHMvbW91bnQuYzo1NDAKKyM6IHN5cy11dGlscy9tb3VudC5jOjU1NQorbXNnaWQgIm1vdW50KDIpIGZhaWxlZCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIG1vdW50KDIpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KSIKK21zZ3N0ciAidGhp4bq/dCBi4buLIMSR4bq3YyBiaeG7h3QgJXMga2jDtG5nIHThu5NuIHThuqFpICh0aeG7gW4gdOG7kSBj4bunYSDEkcaw4budbmcgZOG6q24ga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgdGjGsCBt4bulYykiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICIlcyBjaMawYSBn4bqvbiwgaG/hurdjIHTDuXkgY2jhu41uIHNhaSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudHBvaW50IG9yIGJhZCBvcHRpb24iCittc2dzdHIgIiAlcyBraMO0bmcgcGjhuqNpIGzDoCDEkWnhu4NtIGfhuq9uLCBob+G6t2MgdMO5eSBjaOG7jW4gc2FpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjUKK21zZ2lkICIiCisiYmFkIG9wdGlvbi4gTm90ZSB0aGF0IG1vdmluZyBhIG1vdW50IHJlc2lkaW5nIHVuZGVyIGEgc2hhcmVkXG4iCisiICAgICAgIG1vdW50IGlzIHVuc3VwcG9ydGVkLiIKK21zZ3N0ciAiIgorInTDuXkgY2jhu41uIHNhaS4gQ2jDuiDDvSBy4bqxbmcgZGkgY2h1eeG7g24gbeG7mXQgbW91bnQgbmfhu6UgZMaw4bubaSBt4buZdFxuIgorIiAgICAgICBtb3VudCBraMO0bmcgY2hpYSBz4bq7IHRow6wga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIndyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLFxuIgorIiAgICAgICBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKK21zZ3N0ciAiIgorInNhaSBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiwgdMO5eSBjaOG7jW4gc2FpLCBzacOqdSBraOG7kWkgc2FpIHRyw6puICVzLFxuIgorIiAgICAgICB0aGnhur91IHRyYW5nIG3DoyBoYXkgY2jGsMahbmcgdHLDrG5oIGLhu5UgdHLhu6MsIGhv4bq3YyBs4buXaSBraMOhYyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgICAgKGZvciBzZXZlcmFsIGZpbGVzeXN0ZW1zIChlLmcuIG5mcywgY2lmcykgeW91IG1pZ2h0XG4iCisiICAgICAgIG5lZWQgYSAvc2Jpbi9tb3VudC48dHlwZT4gaGVscGVyIHByb2dyYW0pXG4iCittc2dzdHIgIiIKKyIgICAgICAgKMSR4buRaSB24bubaSB2w6BpIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4sIHYuZC4gbmZzLCBjaWZzLCBjw7MgbOG6vVxuIgorIiAgICAgICBi4bqhbiBj4bqnbiBkw7luZyB0csOsbmggdGnhur9wIGjhu6NwIGtp4buDdSBuaMawIOKAnC9zYmluL21vdW50LjxraeG7g3U+4oCdLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiAgICAgICBJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGlzIGZvdW5kIGluIHN5c2xvZyAtIHRyeVxuIgorIiAgICAgICBkbWVzZyB8IHRhaWwgb3Igc28uXG4iCittc2dzdHIgIiIKKyJcbiIKKyIgICAgICBUcm9uZyBt4buZdCBz4buRIHRyxrDhu51uZyBo4bujcCBjw7MgdGjhu4MgdMOsbSB0aOG6pXkgdGjDtG5nIHRpbiBjw7NcbiIKKyIgICAgICDDrWNoIHRyb25nIHN5c2xvZyAtIGjDo3kgdGjhu60gZG1lc2cgfCB0YWlsIGhv4bq3YyB0xrDGoW5nIHThu7FcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTgzCittc2dpZCAibW91bnQgdGFibGUgZnVsbCIKK21zZ3N0ciAiYuG6o25nIGfhuq9uIGLhu4sgxJHhuqd5IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IHJlYWQgc3VwZXJibG9jayIKK21zZ3N0ciAiJXM6IGtow7RuZyDEkeG7jWMgxJHGsOG7o2Mgc2nDqnUga2jhu5FpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiDigJwlc+KAnSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTk0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgImtow7RuZyBoaeG7g3Uga2nhu4N1IGjhu4cgdGjhu5FuZyB04bqtcCB0aW4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UsIGFuZCBzdGF0KDIpIGZhaWxzPyIKK21zZ3N0ciAiJXMga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgdGhp4bq/dCBi4buLIGto4buRaSwgdsOgIHN0YXQgKGzhuqV5IHRy4bqhbmcgdGjDoWkpIGtow7RuZyB0aMOgbmggY8O0bmc/IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInRoZSBrZXJuZWwgZG9lcyBub3QgcmVjb2duaXplICVzIGFzIGEgYmxvY2sgZGV2aWNlXG4iCisiICAgICAgIChtYXliZSBgbW9kcHJvYmUgZHJpdmVyJz8pIgorbXNnc3RyICIiCisiaOG6oXQgbmjDom4ga2jDtG5nIG5o4bqtbiByYSAlcyBuaMawIGzDoCB0aGnhur90IGLhu4sga2jhu5FpXG4iCisiICAgICAgIChjw7MgdGjhu4MgdGjhu60g4oCcbW9kcHJvYmUgZHJpdmVy4oCdLikiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UgKG1heWJlIHRyeSBgLW8gbG9vcCc/KSIKK21zZ3N0ciAiJXM6IGtow7RuZyBwaOG6o2kgbMOgIHRoaeG6v3QgYuG7iyBraOG7kWkgKGPDsyB0aOG7gyBow6N5IHRo4butIOKAnC1vIGxvb3DigJ0uKSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzIGtow7RuZyBwaOG6o2kgdGhp4bq/dCBi4buLIMSR4bq3YyBiaeG7h3Qga2jhu5FpLiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXM6IGtow7RuZyBwaOG6o2kgbMOgIHRoaeG6v3QgYuG7iyBraOG7kWkgdGjDrWNoIGjhu6NwIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50ICVzIHJlYWQtb25seSIKK21zZ3N0ciAia2jDtG5nIGfhuq9uIMSRxrDhu6NjICVzIHbhu5tpIGNo4bq/IMSR4buZIGNo4buJLcSR4buNYyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHdyaXRlLXByb3RlY3RlZCBidXQgZXhwbGljaXQgYC13JyBmbGFnIGdpdmVuIgorbXNnc3RyICIlcyDEkcaw4bujYyBi4bqjbyB24buHIGto4buPaSBnaGkgbmjGsG5nIMSRxrBhIHJhIGPhu50g4oCcLXfigJ0gKHdyaXRlLCBnaGkpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlbW91bnQgJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6r3AgbOG6oWkgJXMgxJHhu41jLWdoaSB2w6wgbsOzIMSRxrDhu6NjIGLhuqNvIHbhu4cgY2jhu5FuZyBnaGkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYzMSBzeXMtdXRpbHMvbW91bnQuYzo2NTQgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxODgKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgb24gJXMgZmFpbGVkIgorbXNnc3RyICJn4bqvbiAlcyB0csOqbiAlcyBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHdyaXRlLXByb3RlY3RlZCwgbW91bnRpbmcgcmVhZC1vbmx5IgorbXNnc3RyICIlcyDEkcaw4bujYyBi4bqjbyB24buHIGNo4buRbmcgZ2hpIG7Dqm4gY2jhu4kgZ+G6r24ga2nhu4N1IGNo4buJLcSR4buNYyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKK21zZ3N0ciAia2jDtG5nIHTDrG0gdGjhuqV5IHbhuq10IGNo4bupYSB0csOqbiAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UiCittc2dzdHIgIiAlczogZ+G6t3AgbOG7l2kgcGjDom4gdMOtY2giCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxNworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBvcHRpb24gZm9ybWF0OiAlcyIKK21zZ3N0ciAia2jDtG5nIGjhu5cgdHLhu6MgxJHhu4tuaCBk4bqhbmcgdMO5eSBjaOG7jW46ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFwcGVuZCBvcHRpb24gJyVzJyIKK21zZ3N0ciAibuG7kWkgdGjDqm0gdMO5eSBjaOG7jW4g4oCcJXPigJ0gZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjczNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZV0gPHNvdXJjZT4gfCBbLS10YXJnZXRdIDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgPG9wZXJhdGlvbj4gPG1vdW50cG9pbnQ+IFs8dGFyZ2V0Pl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstbGhWXVxuIgorIiAlMSRzIC1hIFt0deG7s19jaOG7jW5dXG4iCisiICUxJHMgW3R14buzX2No4buNbl0gWy0tc291cmNlXSAgPG5ndeG7k24+IHwgIFstLXRhcmdldF0gPHRoxrAtbeG7pWM+XG4iCisiICUxJHMgW3R14buzX2No4buNbl0gPG5ndeG7k24+IDx0aMawIG3hu6VjPlxuIgorIiAlMSRzIDx0aGFvLXTDoWM+IDzEkWnhu4NtX2fhuq9uPiBbPMSRw61jaD5dXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0NAorbXNnaWQgIk1vdW50IGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiR+G6r24ga+G6v3QgbeG7mXQgaOG7hyB0aOG7kW5nIHThuq1wIHRpbi5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW91bnQgYWxsIGZpbGVzeXN0ZW1zIG1lbnRpb25lZCBpbiBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgbW91bnQoMikgc3lzY2FsbFxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBmb3JrIG9mZiBmb3IgZWFjaCBkZXZpY2UgKHVzZSB3aXRoIC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8cGF0aD4gICAgICBhbHRlcm5hdGl2ZSBmaWxlIHRvIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBn4bqvbiB04bqldCBj4bqjIGPDoWMgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiDEkcaw4bujYyDEkeG7gSBj4bqtcCB0cm9uZyBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBraMO0bmcgxJHGsOG7nW5nIGThuqtuIGNhbm9uaWNhbGl6ZVxuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICBjaOG6oXkgZ2nhuqM7IGLhu48gYsaw4bubYyBn4buNaSBow6BtIGjhu4cgdGjhu5FuZyBtb3VudCgyKVxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBy4bq9IG5ow6FuaCBjaG8gbeG7l2kgdGhp4bq/dCBi4buLIChz4butIGThu6VuZyB24bubaSB0w7l5IGNo4buNbiAtYSlcbiIKKyIgLVQsIC0tZnN0YWIgPHBhdGg+ICAgICAgdOG6rXAgdGluIHRoYXkgdGjhur8gY2hvIC9ldGMvZnN0YWJcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgbW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGtow7RuZyBn4buNaSBjaMawxqFuZyB0csOsbmggaOG7lyB0cuG7oyB1bW91bnQuPGtp4buDdT5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgc2hvdyBhbHNvIGZpbGVzeXN0ZW0gbGFiZWxzXG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICBoaeG7g24gdGjhu4sga8OtY2ggdGjGsOG7m2MgdMOtbmggYuG6sW5nIGJ5dGVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1OCBzeXMtdXRpbHMvdW1vdW50LmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIGRvbid0IHdyaXRlIHRvIC9ldGMvbXRhYlxuIgorbXNnc3RyICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAga2jDtG5nIGdoaSB2w6BvIC9ldGMvbXRhYlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtb3VudCBvcHRpb25zXG4iCisiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLW9ubHkgKHNhbWUgYXMgLW8gcm8pXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIiCisiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgIGRhbmggc8OhY2ggY8OhYyB0w7l5IGNo4buNbiBn4bqvbiDEkcaw4bujYyBuZ8SDbiBjw6FjaCBi4bqxbmcgZOG6pXUgcGjhuql5XG4iCisiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGdp4bubaSBo4bqhbiB04bqtcCBo4bujcCBo4buHIHRo4buRbmcgdOG6rXAgdGluIChkw7luZyB24bubaSB0w7l5IGNo4buNbiAtYSlcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgZ+G6r24gaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBjaOG7iSBjaG8gxJHhu41jIChnaeG7kW5nIG5oxrAgbMOgIC1vIHJvKVxuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBnaeG7m2kgaOG6oW4gdOG6rXAgaOG7o3Aga2nhu4N1IGjhu4cgdGjhu5FuZyB04bqtcCB0aW5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tc291cmNlIDxzcmM+ICAgICAgZXhwbGljaXRseSBzcGVjaWZpZXMgc291cmNlIChwYXRoLCBsYWJlbCwgdXVpZClcbiIKKyIgICAgIC0tdGFyZ2V0IDx0YXJnZXQ+ICAgZXhwbGljaXRseSBzcGVjaWZpZXMgbW91bnRwb2ludFxuIgorbXNnc3RyICIiCisiICAgICAtLXNvdXJjZSA8bmd14buTbj4gICAgY2jhu4kgcsO1IHLDoG5nIG5ndeG7k24gKMSRxrDhu51uZyBk4bqrbiwgbmjDo24sIHV1aWQpXG4iCisiICAgICAtLXRhcmdldCA8xJHDrWNoPiAgICAgY2jhu4kgcsO1IHLDoG5nIMSRaeG7g20tZ+G6r25cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzY4IHN5cy11dGlscy91bW91bnQuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgZ2nhuqNpIHRow61jaCBjw6FjIGPDtG5nIHZp4buHYyDEkcOjIGzDoG1cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU291cmNlOlxuIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCittc2dzdHIgIiIKKyJcbiIKKyJOZ3Xhu5NuOlxuIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICDEkeG7k25nIG5naMSpYSBjaG8gTEFCRUw9PGxhYmVsPlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICDEkeG7k25nIG5naMSpYSBjaG8gVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICAgY2jhu4kgxJHhu4tuaCByw7UgdGhp4bq/dCBi4buLIGLhurFuZyBuaMOjbiBo4buHIHRo4buRbmcgdOG6rXAgdGluXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIGNo4buJIMSR4buLbmggcsO1IHRoaeG6v3QgYuG7iyBi4bqxbmcgVVVJRCBo4buHIHRo4buRbmcgdOG6rXAgdGluXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgIGNo4buJIMSR4buLbmggdGhp4bq/dCBi4buLIHRoZW8gbmjDo24gY+G7p2EgcGjDom4gdsO5bmdcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICAgY2jhu4kgxJHhu4tuaCB0aGnhur90IGLhu4sgdGhlbyBVVUlEIGPhu6dhIHBow6JuIHbDuW5nXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGF0aFxuIgorIiA8ZGlyZWN0b3J5PiAgICAgICAgICAgICBtb3VudHBvaW50IGZvciBiaW5kIG1vdW50cyAoc2VlIC0tYmluZC9yYmluZClcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICAgcmVndWxhciBmaWxlIGZvciBsb29wZGV2IHNldHVwXG4iCittc2dzdHIgIiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICAgY2jhu4kgxJHhu4tuaCB0aGnhur90IGLhu4sgdGhlbyDEkcaw4budbmcgZOG6q25cbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgxJFp4buDbSBn4bqvbiBjaG8gZ+G6r24gc+G7rSBk4bulbmcgdMO5eSBjaOG7jW4gYmluZCAoeGVtIHRow6ptIC0tYmluZC9yYmluZClcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICAgdOG6rXAgdGluIHRoxrDhu51uZyBkw6BuaCBjaG8gY8OgaSDEkeG6t3QgbG9vcGRldlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wZXJhdGlvbnM6XG4iCisiIC1CLCAtLWJpbmQgICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBzb21ld2hlcmUgZWxzZSAoc2FtZSBhcyAtbyBiaW5kKVxuIgorIiAtTSwgLS1tb3ZlICAgICAgICAgICAgICBtb3ZlIGEgc3VidHJlZSB0byBzb21lIG90aGVyIHBsYWNlXG4iCisiIC1SLCAtLXJiaW5kICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBhbmQgYWxsIHN1Ym1vdW50cyBzb21ld2hlcmUgZWxzZVxuIgorbXNnc3RyICIiCisiXG4iCisiVGhhbyB0w6FjOlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICBn4bqvbiBt4buZdCBjw6J5IGNvbiDhu58gbeG7mXQgbsahaSBraMOhYyAoZ2nhu5FuZyBuaMawIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIGRpIGNodXnhu4NuIG3hu5l0IGPDonkgY29uIMSR4bq/biBt4buZdCBjaOG7lyBraMOhY1xuIgorIiAtUiwgLS1yYmluZCAgICAgICAgICAgICBn4bqvbiBt4buZdCBjw6J5IGNvbiB2w6AgdOG6pXQgY+G6oyBjw6FjIGfhuq9uIGNvbiDhu58gbeG7mXQgY2jhu5cga2jDoWNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisiIC0tbWFrZS1zaGFyZWQgICAgICAgICAgIMSRw6FuaCBk4bqldSBt4buZdCBjw6J5IGNvbiBuaMawIGzDoCBwaOG6p24gY2hpYSBz4bq7IChzaGFyZWQpXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIMSRw6FuaCBk4bqldSBt4buZdCBjw6J5IGNvbiBuaMawIGzDoCB04bubIChzbGF2ZSlcbiIKKyIgLS1tYWtlLXByaXZhdGUgICAgICAgICAgxJHDoW5oIGThuqV1IG3hu5l0IGPDonkgY29uIG5oxrAgbMOgIHJpw6puZyAocHJpdmF0ZSlcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgxJHDoW5oIGThuqV1IG3hu5l0IGPDonkgY29uIG5oxrAgbMOgIGtow7RuZyB0aOG7gyBideG7mWMgKHVuYmluZGFibGUpXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjgwMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorIiAtLW1ha2UtcnNoYXJlZCAgICAgICAgICDEkcOhbmggZOG6pXUgbeG7mXQgY8OhY2ggxJHhu4cgcXVpIHRvw6BuIGLhu5kgY8OieSBjb24gbMOgIGNoaWEgc+G6u1xuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICDEkcOhbmggZOG6pXUgbeG7mXQgY8OhY2ggxJHhu4cgcXVpIHRvw6BuIGLhu5kgY8OieSBjb24gbMOgIHThu5tcbiIKKyIgLS1tYWtlLXJwcml2YXRlICAgICAgICAgxJHDoW5oIGThuqV1IG3hu5l0IGPDoWNoIMSR4buHIHF1aSB0b8OgbiBi4buZIGPDonkgY29uIGzDoCByacOqbmdcbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgxJHDoW5oIGThuqV1IG3hu5l0IGPDoWNoIMSR4buHIHF1aSB0b8OgbiBi4buZIGPDonkgY29uIGzDoCBraMO0bmdcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgdGjhu4MgYnXhu5ljICh1bmJpbmRhYmxlKVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4ODcgc3lzLXV0aWxzL3Vtb3VudC5jOjU0OAorbXNnaWQgImxpYm1vdW50IGNvbnRleHQgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgImPhuqVwIHBow6F0IG5n4buvIGPhuqNuaCBj4bunYSBsaWJtb3VudCBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6OTQ0IHN5cy11dGlscy91bW91bnQuYzo2MDEKK21zZ2lkICJmYWlsZWQgdG8gc2V0IG9wdGlvbnMgcGF0dGVybiIKK21zZ3N0ciAixJHhurd0IG3huqt1IHTDuXkgY2jhu41uIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMDk3Cittc2dpZCAic291cmNlIHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAibmd14buTbiDEkcaw4bujYyBnaGkgbmhp4buBdSBoxqFuIG3hu5l0IGzhuqduIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1xZF0gL3BhdGgvdG8vZGlyZWN0b3J5XG4iCisiICUxJHMgLXggL2Rldi9kZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstcWRdIC/Ekcaw4budbmcvZOG6q24vdOG7m2kvdGjGsC9t4bulY1xuIgorIiAlMSRzIC14IC9kZXYvZGV2aWNlXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTIyCittc2dpZCAiQ2hlY2sgd2hldGhlciBhIGRpcmVjdG9yeSBvciBmaWxlIGlzIGEgbW91bnRwb2ludC5cbiIKK21zZ3N0ciAiS2nhu4NtIHRyYSB4ZW0gbeG7mXQgdGjGsCBt4bulYyBoYXkgbeG7mXQgdOG6rXAgdGluIGPDsyBwaOG6o2kgbMOgIG3hu5l0IMSRaeG7g20gZ+G6r24gaGF5IGtow7RuZy5cbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjUKK21zZ2lkICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICBxdWlldCBtb2RlIC0gZG9uJ3QgcHJpbnQgYW55dGhpbmdcbiIKKyIgLWQsIC0tZnMtZGV2bm8gICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgZmlsZXN5c3RlbVxuIgorIiAteCwgLS1kZXZubyAgICAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBibG9jayBkZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgY2jhur8gxJHhu5kgaW0gbOG6t25nIC0ga2jDtG5nIGhp4buDbiB0aOG7iyBnw6wgY+G6o1xuIgorIiAtZCwgLS1mcy1kZXZubyAgICAgaGnhu4NuIHRo4buLIGPhurdwIHPhu5EgbWFqOm1pbiBj4bunYSB0aGnhur90IGLhu4sgY+G7p2EgaOG7hyB0aOG7kW5nIHThuq1wIHRpblxuIgorIiAteCwgLS1kZXZubyAgICAgICAgaGnhu4NuIHRo4buLIGPhurdwIHPhu5EgbWFqOm1pbiBj4bunYSB0aGnhur90IGLhu4sgY+G7p2EgdGhp4bq/dCBi4buLIGto4buRaVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjE5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIuKAnCVz4oCdIGtow7RuZyBwaOG6o2kgbeG7mXQgxJFp4buDbSBn4bqvblxuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjIwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiJXMgbMOgIG3hu5l0IMSRaeG7g20gZ+G6r25cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkzIHN5cy11dGlscy91bnNoYXJlLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXVxuIgorbXNnc3RyICIgJXMgW2PDoWMgdMO5eSBjaOG7jW5dIDxjaMawxqFuZyB0csOsbmg+IFs8Y8OhYyDEkeG7kWkgc+G7kT7igKZdXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzYKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggbmFtZXNwYWNlcyBvZiBvdGhlciBwcm9jZXNzZXMuXG4iCittc2dzdHIgIkNo4bqheSBt4buZdCBjaMawxqFuZyB0csOsbmggduG7m2kga2jDtG5nIGdpYW4gdMOqbiBj4bunYSBjw6FjIHRp4bq/biB0csOsbmgga2jDoWMuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzkKK21zZ2lkICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICB0YXJnZXQgcHJvY2VzcyB0byBnZXQgbmFtZXNwYWNlcyBmcm9tXG4iCittc2dzdHIgIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgIHRp4bq/biB0csOsbmggxJHDrWNoIMSR4buDIGzhuqV5IGtow7RuZyBnaWFuIHTDqm4gdOG7qyDEkcOzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODAKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICBlbnRlciBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1tLCAtLW1vdW50Wz08VOG6rFAtVElOPl0gbmjhuq1wIHbDoG8ga2jDtG5nIGdpYW4gdMOqbiBn4bqvblxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgxCittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgZW50ZXIgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIgLXUsIC0tdXRzWz08VOG6rFAtVElOPl0gIG5o4bqtcCB2w6BvIGtow7RuZyBnaWFuIHTDqm4gVVRTICh0w6puIG3DoXkgdi52Li4pXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODIKK21zZ2lkICIgLWksIC0taXBjWz08ZmlsZT5dICAgICBlbnRlciBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtaSwgLS1pcGNbPTxU4bqsUC1USU4+XSAgbmjhuq1wIHbDoG8ga2jDtG5nIGdpYW4gdMOqbiDigJxTeXN0ZW0gViBJUEPigJ1cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MworbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgIGVudGVyIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbiwgLS1uZXRbPTxU4bqsUC1USU4+XSAgbmjhuq1wIHbDoG8ga2jDtG5nIGdpYW4gdMOqbiBt4bqhbmdcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NAorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgIGVudGVyIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZFs9PFThuqxQLVRJTj5dICBuaOG6rXAgdsOgbyBraMO0bmcgZ2lhbiB0w6puIHBpZFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg1CisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gIGVudGVyIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1tLCAtLW1vdW50Wz08VOG6rFAtVElOPl0gbmjhuq1wIHbDoG8ga2jDtG5nIGdpYW4gdMOqbiBn4bqvblxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg2Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgZW50ZXIgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1VLCAtLXVzZXJbPTxU4bqsUC1USU4+XSBuaOG6rXAgdsOgbyBraMO0bmcgZ2lhbiB0w6puIG5nxrDhu51pIGTDuW5nXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODcKK21zZ2lkICIgLVMsIC0tc2V0dWlkIDx1aWQ+ICAgICBzZXQgdWlkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtUywgLS1zZXR1aWQgPHVpZD4gICAgIMSR4bq3dCB1aWQgdHJvbmcga2jDtG5nIGdpYW4gdMOqbiBuZ8aw4budaSBkw7luZ1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg4Cittc2dpZCAiIC1HLCAtLXNldGdpZCA8Z2lkPiAgICAgc2V0IGdpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICDEkeG6t3QgZ2lkIHRyb25nIGtow7RuZyBnaWFuIHTDqm4gbmjDs21cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OQorbXNnaWQgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyBkbyBub3QgdG91Y2ggdWlkcyBvciBnaWRzXG4iCittc2dzdHIgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyDEkeG7q25nIGNo4bqhbSBtw6Mgc+G7kSBuZ8aw4budaSBkw7luZyB2w6AgbmjDs21cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MAorbXNnaWQgIiAtciwgLS1yb290Wz08ZGlyPl0gICAgIHNldCB0aGUgcm9vdCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1yLCAtLXJvb3RbPTx0Lm3hu6VjPl0gxJHhurd0IHRoxrAgbeG7pWMgZ+G7kWNcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MQorbXNnaWQgIiAtdywgLS13ZFs9PGRpcj5dICAgICAgIHNldCB0aGUgd29ya2luZyBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC13LCAtLXdkWz08dC5t4bulYz5dIMSR4bq3dCB0aMawIG3hu6VjIGzDoG0gdmnhu4djIGhp4buHbiBow6BuaFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkyCittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgZG8gbm90IGZvcmsgYmVmb3JlIGV4ZWMnaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgLUYsIC0tbm8tZm9yayAgICAgICAgICBraMO0bmcgcuG6vSBuaMOhbmggdGnhur9uIHRyw6xuaCB0csaw4bubYyB0aOG7sWMgdGhpIDxjaMawxqFuZyB0csOsbmg+XG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTQKK21zZ2lkICIgLVosIC0tZm9sbG93LWNvbnRleHQgICBzZXQgU0VMaW51eCBjb250ZXh0IGFjY29yZGluZyB0byAtLXRhcmdldCBQSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJuZWl0aGVyIGZpbGVuYW1lIG5vciB0YXJnZXQgcGlkIHN1cHBsaWVkIGZvciAlcyIKK21zZ3N0ciAia2jDtG5nIGPDsyB0w6puIHThuq1wIHRpbiBjxaluZyBraMO0bmcgY8OzIHBpZCDEkcOtY2ggxJHGsOG7o2Mgw6FwIGThu6VuZyBjaG8gJXMiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mjc3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHVpZCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIHVpZCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoyODEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZ2lkIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggZ2lkIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMxNworbXNnaWQgIm5vIHRhcmdldCBQSUQgc3BlY2lmaWVkIGZvciAtLWZvbGxvdy1jb250ZXh0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0ICVkIFNFTGludXggY29udGV4dCIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIG5n4buvIGPhuqNuaCBTRUxpbnV4IG3hu5tpIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBleGVjIGNvbnRleHQgdG8gJyVzJyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSR4bq3dCBjw6EgbmjDom4gdGjDoG5oICVzIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFzc29jaWF0ZSB0byBuYW1lc3BhY2UgJyVzJyBmYWlsZWQiCittc2dzdHIgImvhur90IGjhu6NwIGzhuqFpIGNobyBraMO0bmcgZ2lhYiB0w6puIOKAnCVz4oCdIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM5MAorbXNnaWQgImNhbm5vdCBvcGVuIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIHRoxrAgbeG7pWMgaG/huqF0IMSR4buZbmcgaGnhu4duIHThuqFpIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM5NworbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgcm9vdCBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICJ0aGF5IMSR4buVaSB0aMawIG3hu6VjIGLhu59pIG3DtCB04bqjIHThuq1wIHRpbiBn4buRYyBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MDAKK21zZ2lkICJjaHJvb3QgZmFpbGVkIgorbXNnc3RyICJjaHJvb3QgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDEwCittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSB3b3JraW5nIGRpcmVjdG9yeSBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICJ0aGF5IMSR4buVaSB0aMawIG3hu6VjIGLhurFuZyBtw7QgdOG6oyB04bqtcCB0aW4gdGjGsCBt4bulYyBsw6BtIHZp4buHYyBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MjEgc3lzLXV0aWxzL3NldHByaXYuYzo4MTUgc3lzLXV0aWxzL3NldHByaXYuYzo4MTkKK21zZ2lkICJzZXRncm91cHMgZmFpbGVkIgorbXNnc3RyICJzZXRncm91cHMgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBuZXdfcm9vdCBwdXRfb2xkXG4iCittc2dzdHIgIiAlcyBbdMO5eSBjaOG7jW5dIGfhu5FjX23hu5tpIGPhuqV0X2PFqVxuIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjM3Cittc2dpZCAiQ2hhbmdlIHRoZSByb290IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKyJUaGF5IMSR4buVaSBo4buHIHRo4buRbmcgdOG6rXAgdGluIGfhu5FjLlxuIgorIlxuIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCBmcm9tIGAlcycgdG8gYCVzJyIKK21zZ3N0ciAidGhheSDEkeG7lWkgcm9vdCB04burIOKAnCVz4oCdIHRow6BuaCDigJwlc+KAnSB0aOG6pXQgYuG6oWkiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzUKK21zZ2lkICJhZGRyZXNzIHNwYWNlIGxpbWl0IgorbXNnc3RyICJnaeG7m2kgaOG6oW4ga2jDtG5nIGdpYW4gxJHhu4thIGNo4buJIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2Cittc2dpZCAibWF4IGNvcmUgZmlsZSBzaXplIgorbXNnc3RyICJrw61jaCBj4buhIGzDtWkgdOG6rXAgdGluIHThu5FpIMSRYSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworbXNnaWQgIkNQVSB0aW1lIgorbXNnc3RyICJ0aOG7nWkgZ2lhbiBDUFUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJzZWNvbmRzIgorbXNnc3RyICJnacOieSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OAorbXNnaWQgIm1heCBkYXRhIHNpemUiCittc2dzdHIgImPhu6EgZOG7ryBsaeG7h3UgdOG7kWkgxJFhIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5Cittc2dpZCAibWF4IGZpbGUgc2l6ZSIKK21zZ3N0ciAia8OtY2ggdGjGsOG7m2MgdOG6rXAgdGluIGzhu5tuIG5o4bqldCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZmlsZSBsb2NrcyBoZWxkIgorbXNnc3RyICJjb24gc+G7kSBs4bubbiBuaOG6pXQgY+G7p2Ega2jDs2EgbuG6r20gZ2nhu68gdOG6rXAgdGluIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCisjLCBmdXp6eQorbXNnaWQgImxvY2tzIgorbXNnc3RyICJraOG7kWkiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKK21zZ2lkICJtYXggbG9ja2VkLWluLW1lbW9yeSBhZGRyZXNzIHNwYWNlIgorbXNnc3RyICJraMO0bmcgZ2lhbiDEkeG7i2EgY2jhu4kgbG9ja2VkLWluLW1lbW9yeSB04buRaSDEkWEiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIKK21zZ2lkICJtYXggYnl0ZXMgaW4gUE9TSVggbXF1ZXVlcyIKK21zZ3N0ciAic+G7kSBsxrDhu6NuZyBieXRlIGzhu5tuIG5o4bqldCB0cm9uZyBtcXVldWVzIFBPU0lYIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgzCittc2dpZCAibWF4IG5pY2UgcHJpbyBhbGxvd2VkIHRvIHJhaXNlIgorbXNnc3RyICJt4bupYyDGsHUgdGnDqm4gdHV54bq/biB0csOsbmggdOG7kWkgxJFhIMSRxrDhu6NjIHBow6lwIMSRxrBhIHJhIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0Cittc2dpZCAibWF4IG51bWJlciBvZiBvcGVuIGZpbGVzIgorbXNnc3RyICJz4buRIGzGsOG7o25nIHThuq1wIHRpbiB04buRaSDEkWEgxJHGsOG7o2MgbeG7nyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorIywgZnV6enkKK21zZ2lkICJmaWxlcyIKK21zZ3N0ciAidOG6rXAgdGluICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1Cittc2dpZCAibWF4IG51bWJlciBvZiBwcm9jZXNzZXMiCittc2dzdHIgInPhu5EgbMaw4bujbmcgdGnhur9uIHRyw6xuaCB04buRaSDEkWEiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKKyMsIGZ1enp5Cittc2dpZCAicHJvY2Vzc2VzIgorbXNnc3RyICJJRCB0aeG6v24gdHLDrG5oIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2Cittc2dpZCAibWF4IHJlc2lkZW50IHNldCBzaXplIgorbXNnc3RyICJrw61jaCBj4buhIMSR4buDIMSR4bq3dCBkw6BpIGjhuqFuIHThu5FpIMSRYSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NworbXNnaWQgIm1heCByZWFsLXRpbWUgcHJpb3JpdHkiCittc2dzdHIgIm3hu6ljIMawdSB0acOqbiB0aOG7nWktZ2lhbi10aOG7sWMgdOG7kWkgxJFhIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAidGltZW91dCBmb3IgcmVhbC10aW1lIHRhc2tzIgorbXNnc3RyICJ0aOG7nWkgZ2lhbiB04buRaSDEkWEgZMOgbmggY2hvIHTDoWMgduG7pSB0aOG7nWkgZ2lhbiB0aOG7sWMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJtaWNyb3NlY3MiCittc2dzdHIgIm1pLWNyw7QgZ2nDonkiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJtYXggbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscyIKK21zZ3N0ciAiY29uIHPhu5EgbOG7m24gbmjhuqV0IGPhu6dhIHTDrW4gaGnhu4d1IHRyZW8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJzaWduYWxzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJtYXggc3RhY2sgc2l6ZSIKK21zZ3N0ciAiY+G7oSBzdGFjayB04buRaSDEkWEiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTIzCittc2dpZCAicmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAidMOqbiBj4bunYSB0w6BpIG5ndXnDqm4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI0Cittc2dpZCAicmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgImLhu5kgbcO0IHThuqMgdMOgaSBuZ3V5w6puIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNQorbXNnaWQgInNvZnQgbGltaXQiCittc2dzdHIgImdp4bubaSBo4bqhbiBt4buBbSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjYKK21zZ2lkICJoYXJkIGxpbWl0IChjZWlsaW5nKSIKK21zZ3N0ciAiZ2nhu5tpIGjhuqFuIGPhu6luZyAodHLhuqduKSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjcKK21zZ2lkICJ1bml0cyIKK21zZ3N0ciAixJHGoW4gX3bhu4s6IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstcCBQSURdXG4iCittc2dzdHIgIiAlcyBbY8OhYyB0w7l5IGNo4buNbl0gWy1wIFBJRF1cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBDT01NQU5EXG4iCittc2dzdHIgIiAlcyBbY8OhYyB0w7l5IGNo4buNbl0gTOG7hk5IXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY2Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlc291cmNlIGxpbWl0cyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIkhp4buDbiB0aOG7iyBoYXkgdGhheSDEkeG7lWkgY8OhYyBnaeG7m2kgaOG6oW4gdMOgaSBuZ3V5w6puIGPhu6dhIG3hu5l0IHRp4bq/biB0csOsbmguXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY4Cittc2dpZCAiIgorIlxuIgorIkdlbmVyYWwgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlTDuXkgY2jhu41uIENodW5nOlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OQorbXNnaWQgIiIKKyIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBwcm9jZXNzIGlkXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorIiAgICAgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCisiICAgICAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorIiAgICAgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgaWQgY+G7p2EgdGnhur9uIHRyw6xuaFxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIMSR4buLbmggbmdoxKlhIGzDoCBj4buZdCBr4bq/dCB4deG6pXQgbsOgbyBz4bq9IMSRxrDhu6NjIHPhu60gZOG7pW5nXG4iCisiICAgICAtLW5vaGVhZGluZ3MgICAgICAga2jDtG5nIGhp4buDbiB0aOG7iyDEkeG6p3UgxJHhu4FcbiIKKyIgICAgIC0tcmF3ICAgICAgICAgICAgICBz4butIGThu6VuZyDEkeG7i25oIGThuqFuZyBoaeG7g24gdGjhu4sgdGjDtFxuIgorIiAgICAgLS12ZXJib3NlICAgICAgICAgIGhp4buDbiB0aOG7iyDEkeG6p3kgxJHhu6cgdGjDtG5nIHRpblxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IHLhu5NpIHRob8OhdFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHbhu4EgcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3NworbXNnaWQgIiIKKyJcbiIKKyJSZXNvdXJjZXMgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlTDuXkgY2jhu41uIFTDoGkgbmd1ecOqbjpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzgKK21zZ2lkICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGNvcmUgZmlsZXMgY3JlYXRlZFxuIgorIiAtZCwgLS1kYXRhICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBhIHByb2Nlc3MncyBkYXRhIHNlZ21lbnRcbiIKKyIgLWUsIC0tbmljZSAgICAgICAgICAgICBtYXhpbXVtIG5pY2UgcHJpb3JpdHkgYWxsb3dlZCB0byByYWlzZVxuIgorIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBmaWxlcyB3cml0dGVuIGJ5IHRoZSBwcm9jZXNzXG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAgbWF4aW11bSBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAgbWF4aW11bSBzaXplIGEgcHJvY2VzcyBtYXkgbG9jayBpbnRvIG1lbW9yeVxuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgIG1heGltdW0gcmVzaWRlbnQgc2V0IHNpemVcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBvcGVuIGZpbGVzXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgbWF4aW11bSBieXRlcyBpbiBQT1NJWCBtZXNzYWdlIHF1ZXVlc1xuIgorIiAtciwgLS1ydHByaW8gICAgICAgICAgIG1heGltdW0gcmVhbC10aW1lIHNjaGVkdWxpbmcgcHJpb3JpdHlcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICBtYXhpbXVtIHN0YWNrIHNpemVcbiIKKyIgLXQsIC0tY3B1ICAgICAgICAgICAgICBtYXhpbXVtIGFtb3VudCBvZiBDUFUgdGltZSBpbiBzZWNvbmRzXG4iCisiIC11LCAtLW5wcm9jICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgdXNlciBwcm9jZXNzZXNcbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICBzaXplIG9mIHZpcnR1YWwgbWVtb3J5XG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgZmlsZSBsb2Nrc1xuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgIENQVSB0aW1lIGluIG1pY3Jvc2Vjb25kcyBhIHByb2Nlc3Mgc2NoZWR1bGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXIgcmVhbC10aW1lIHNjaGVkdWxpbmdcbiIKK21zZ3N0ciAiIgorIiAtYywgLS1jb3JlICAgICAgICAgICAgIGvDrWNoIHRoxrDhu5tjIHThu5FpIMSRYSBj4bunYSB04bqtcCB0aW4gbMO1aSAoY29yZSkgxJHGsOG7o2MgdOG6oW8gcmFcbiIKKyIgLWQsIC0tZGF0YSAgICAgICAgICAgICBrw61jaCB0aMaw4bubYyB04buRaSDEkWEgY+G7p2EgxJFv4bqhbiBk4buvIGxp4buHdSBj4bunYSB0aeG6v24gdHLDrG5oXG4iCisiIC1lLCAtLW5pY2UgICAgICAgICAgICAgbeG7qWMgxrB1IHRpw6puIHThu5FpIMSRYSDEkcaw4bujYyBwaMOpcCBuw6JuZyBsw6puXG4iCisiIC1mLCAtLWZzaXplICAgICAgICAgICAga8OtY2ggdGjGsOG7m2MgdOG7kWkgxJFhIGPhu6dhIHThuq1wIHRpbiDEkcaw4bujYyBnaGkgYuG7n2kgdGnhur9uIHRyw6xuaFxuIgorIiAtaSwgLS1zaWdwZW5kaW5nICAgICAgIGNvbiBz4buRIHThu5FpIMSRYSBj4bunYSB0w61uIGhp4buHdSB0cmVvXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAga8OtY2ggdGjGsOG7m2MgdOG7kWkgxJFhIG3hu5l0IHRp4bq/biB0csOsbmggY8OzIHRo4buDIGtow7NhIHbDoG8gYuG7mSBuaOG7m1xuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgIGvDrWNoIHRoxrDhu5tjIHThu5FpIMSRYSB0aMaw4budbmcgdHLhu7FjXG4iCisiIC1uLCAtLW5vZmlsZSAgICAgICAgICAgc+G7kSB04bqtcCB0aW4gdOG7kWkgxJFhIMSRxrDhu6NjIG3hu59cbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBz4buRIGJ5dGUgdOG7kWkgxJFhIHRyb25nIGjDoG5nIMSR4bujaSB0aMO0bmcgxJFp4buHcCBQT1NJWFxuIgorIiAtciwgLS1ydHByaW8gICAgICAgICAgIG3hu6ljIMawdSB0acOqbiB04buRaSDEkWEgY2hvIHZp4buHYyBs4bqtcCBs4buLY2ggdGjhu51pIGdpYW4gdGjhu7FjXG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAga8OtY2ggdGjGsOG7m2Mga2jhu5FpIG5o4bubIChzdGFjaykgdOG7kWkgxJFhXG4iCisiIC10LCAtLWNwdSAgICAgICAgICAgICAgbeG7qWMgdOG7kWkgxJFhIHbhu4EgdOG7lW5nIHPhu5EgdGjhu51pIGdpYW4gY+G7p2EgQ1BVIHTDrW5oIHRoZW8gZ2nDonlcbiIKKyIgLXUsIC0tbnByb2MgICAgICAgICAgICBz4buRIGzGsOG7o25nIHRp4bq/biB0csOsbmggY+G7p2EgbmfGsOG7nWkgZMO5bmcgdOG7kWkgxJFhXG4iCisiIC12LCAtLWFzICAgICAgICAgICAgICAga8OtY2ggdGjGsOG7m2MgY+G7p2EgYuG7mSBuaOG7myDhuqNvXG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAgc+G7kSBsxrDhu6NuZyB04bqtcCB0aW4gYuG7iyBraMOzYSB04buRaSDEkWFcbiIKKyIgLXksIC0tcnR0aW1lICAgICAgICAgICB0aOG7nWkgZ2lhbiBDUFUgdMOtbmggdGhlbyBtaS1jcsO0IGdpw6J5IG3hu5l0IHRp4bq/biB0csOsbmggxJHGsOG7o2NcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgbOG6rXAgbOG7i2NoIGTGsOG7m2kgbOG7i2NoIHRo4budaSBnaWFuIHRo4buxY1xuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0MyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzEKK21zZ2lkICJ1bmxpbWl0ZWQiCittc2dzdHIgInbDtCBo4bqhbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBvbGQgJXMgbGltaXQiCittc2dzdHIgImzhu5dpIGzhuqV5IGdp4bubaSBo4bqhbiAlcyBjxakiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzU2CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBzb2Z0IGxpbWl0ICVzIGNhbm5vdCBleGNlZWQgdGhlIGhhcmQgbGltaXQiCittc2dzdHIgImdp4bubaSBo4bqhbiBt4buBbSAlcyBraMO0bmcgdGjhu4Mgdsaw4bujdCBxdcOhIGdp4bubaSBo4bqhbiBj4bupbmciCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOZXcgJXMgbGltaXQgZm9yIHBpZCAlZDogIgorbXNnc3RyICJHaeG7m2kgaOG6oW4gJXMgbeG7m2k6ICIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG6t3QgZ2nhu5tpIGjhuqFuIG5ndeG7k24gJXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgbOG6pXkgZ2nhu5tpIGjhuqFuIG5ndeG7k24gJXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBsaW1pdCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIGdp4bubaSBo4bqhbiAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo1ODUKK21zZ2lkICJvcHRpb24gLS1waWQgbWF5IGJlIHNwZWNpZmllZCBvbmx5IG9uY2UiCittc2dzdHIgInTDuXkgY2jhu41uIC0tcGlkIGPDsyBs4bq9IGNo4buJIGTDuW5nIG3hu5l0IGzhuqduIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjYxNgorbXNnaWQgIm9wdGlvbnMgLS1waWQgYW5kIENPTU1BTkQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAidMO5eSBjaOG7jW4gLS1waWQgdsOgIEzhu4ZOSCBsb+G6oWkgdOG7qyBs4bqrbiBuaGF1IgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDcKK21zZ2lkICJEaXNwbGF5IGtlcm5lbCBwcm9maWxpbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIkhp4buDbiB0aOG7iyB0aMO0bmcgdGluIGjhu5Mgc8ahIGjhuqF0IG5ow6JuLlxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1tLCAtLW1hcGZpbGUgPG1hcGZpbGU+ICAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCittc2dzdHIgIiAtbSwgLS1tYXBmaWxlIDx04bqtcCB0aW4gw6FuaCB44bqhPiAgICht4bq3YyDEkeG7i25oOiBcIiVzXCIgdsOgXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJXNcIilcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiVzXCIpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICIgLXAsIC0tcHJvZmlsZSA8cHJvLWZpbGU+ICAoZGVmYXVsdDogIFwiJXNcIilcbiIKK21zZ3N0ciAiIC1wLCAtLXByb2ZpbGUgPHByby1maWxlPiAgKG3hurdjIMSR4buLbmg6ICBcIiVzXCIpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNgorbXNnaWQgIiAtTSwgLS1tdWx0aXBsaWVyIDxtdWx0PiAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iCittc2dzdHIgIiAtTSwgLS1tdWx0aXBsaWVyIDxtdWx0PiAgIMSR4bq3dCBo4buHIHPhu5EgbmjDom4gcHJvZmlsaW5nIHRow6BuaCA8bXVsdD5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE3Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgcHJpbnQgb25seSBpbmZvIGFib3V0IHRoZSBzYW1wbGluZyBzdGVwXG4iCittc2dzdHIgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIGNo4buJIGhp4buDbiB0aOG7iyBjw6FjIHRow7RuZyB0aW4gduG7gSBixrDhu5tjIG3huqt1XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBoaeG7g24gdGjhu4sgZOG7ryBsaeG7h3UgZOG6oW5nIMSR4bqneSDEkeG7p1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICBwcmludCBhbGwgc3ltYm9scywgZXZlbiBpZiBjb3VudCBpcyAwXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIGluIHJhIHRvw6BuIGLhu5kgY8OhYyBrw70gaGnhu4d1LCBj4bqjIGtoaSBz4buRIGzGsOG7o25nIGzDoCAwXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMAorbXNnaWQgIiAtYiwgLS1oaXN0YmluICAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgaGlzdG9ncmFtLWJpbiBjb3VudHNcbiIKK21zZ3N0ciAiIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgaGnhu4NuIHRo4buLIHPhu5EgbMaw4bujbmcgaGlzdG9ncmFtLWJpbiBjw6EgbmjDom5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIxCittc2dpZCAiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCittc2dzdHIgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIGhp4buDbiB0aOG7iyBz4buRIGzGsOG7o25nIGPDoSBuaMOibiB0cm9uZyBow6BtXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMgorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCB0aGUgY291bnRlcnMgKHJvb3Qgb25seSlcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgxJHhurd0IGzhuqFpIHThuqV0IGPhuqMgc+G7kSDEkeG6v20gKGNo4buJIHJvb3QgbeG7m2kgdGjhu7FjIGhp4buHbiDEkcaw4bujYylcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIzCittc2dpZCAiIC1uLCAtLW5vLWF1dG8gICAgICAgICAgICAgZGlzYWJsZSBieXRlIG9yZGVyIGF1dG8tZGV0ZWN0aW9uXG4iCittc2dzdHIgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIHThuq90IGNo4bupYyBuxINuZyB04buxIMSR4buZbmcgZMOyIHTDrG0gdGjhu6kgdOG7sSBieXRlXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciB3cml0aW5nICVzIgorbXNnc3RyICJs4buXaSBnaGkgJXMiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI3MQorbXNnaWQgIkFzc3VtaW5nIHJldmVyc2VkIGJ5dGUgb3JkZXIuIFVzZSAtbiB0byBmb3JjZSBuYXRpdmUgYnl0ZSBvcmRlci4iCittc2dzdHIgIkdp4bqjIHPhu60gdGjhu6kgdOG7sSBieXRlIMSR4bqjbyBs4buZbi4gRMO5bmcg4oCcLW7igJ0gxJHhu4Mgw6lwIGJ14buZYyB0aGVvIHRo4bupIHThu7EgYnl0ZSB04buxIG5oacOqbiBj4bunYSBtw6F5LiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6Mjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTYW1wbGluZ19zdGVwOiAldVxuIgorbXNnc3RyICJTYW1wbGluZ19zdGVwOiAlaVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMDIgc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzKCVpKTogd3JvbmcgbWFwIGxpbmUiCittc2dzdHIgIiVzKCVpKTogc2FpIGTDsm5nIMOhbmggeOG6oSIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgXCJfc3RleHRcIiBpbiAlcyIKK21zZ3N0ciAia2jDtG5nIHTDrG0gdGjhuqV5IFwiX3N0ZXh0XCIgdHJvbmcgJXMiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjM0NgorbXNnaWQgInByb2ZpbGUgYWRkcmVzcyBvdXQgb2YgcmFuZ2UuIFdyb25nIG1hcCBmaWxlPyIKK21zZ3N0ciAixJHhu4thIGNo4buJIGPhu6dhIHjDoWMgbOG6rXAgbuG6sW0gbmdvw6BpIHBo4bqhbSB2aS4gVOG6rXAgdGluIMOhbmggeOG6oSBzYWk/IgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzo0MDQKK21zZ2lkICJ0b3RhbCIKK21zZ3N0ciAidOG7lW5nIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTIKK21zZ2lkICJwcm9jZXNzIElEIgorbXNnc3RyICJJRCB0aeG6v24gdHLDrG5oIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTMKK21zZ2lkICJwcm9jZXNzIGdyb3VwIElEIgorbXNnc3RyICJJRCBuaMOzbSB0aeG6v24gdHLDrG5oIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiBbLXB8LS1waWRdIDxwaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtZ3wtLXBncnAgPHBnaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtdXwtLXVzZXIgPHVzZXI+Li4uXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gWy1wfC0tcGlkXSA8cGlkPuKAplxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLWd8LS1wZ3JwIDxwZ2lkPuKAplxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLXV8LS11c2VyIDx1c2VyPuKAplxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjcKK21zZ2lkICJBbHRlciB0aGUgcHJpb3JpdHkgb2YgcnVubmluZyBwcm9jZXNzZXMuXG4iCittc2dzdHIgIlRoYXkgxJHhu5VpIG3hu6ljIMawdSB0acOqbiBj4bunYSBjw6FjIHRp4bq/biB0csOsbmggxJFhbmcgY2jhuqF5LlxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzAKK21zZ2lkICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorbXNnc3RyICIgLW4sIC0tcHJpb3JpdHkgPHPhu5E+ICAgIGNo4buJIMSR4buLbmggZ2nDoSB0cuG7iyBuaWNlIGdpYSB0xINuZ1xuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzEKK21zZ2lkICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBJRCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAgcGhpw6puIGThu4tjaCDEkeG7kWkgc+G7kSBsw6AgbeG7mXQgbcOjIHPhu5EgdGnhur9uIHRyw6xuaCAobeG6t2MgxJHhu4tuaClcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcyCittc2dpZCAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKK21zZ3N0ciAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgcGhpw6puIGThu4tjaCDEkeG7kWkgc+G7kSBsw6AgbeG7mXQgbcOjIHPhu5EgbmjDs20gdGnhur9uIHRyw6xuaFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzMKK21zZ2lkICIgLXUsIC0tdXNlciA8bmFtZT58PGlkPiBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIgorbXNnc3RyICIgLXUsIC0tdXNlciA8bmFtZT58PGlkPiBiacOqbiBk4buLY2ggxJHhu5FpIHPhu5EgbMOgIG3hu5l0IHTDoGkga2hv4bqjbiBoYXkgbeG7mXQgbcOjIHPhu5EgbmfGsOG7nWkgZMO5bmdcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBs4bqleSBt4bupYyDGsHUgdGnDqm4gY2hvICVkICglcykiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo5OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHEg3RoIG3hu6ljIMawdSB0acOqbiBjaG8gJWQgKCVzKSIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjEwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlZCAoJXMpIG9sZCBwcmlvcml0eSAlZCwgbmV3IHByaW9yaXR5ICVkXG4iCittc2dzdHIgIiVkICglcykgcXV54buBbiDGsHUgdGnDqm4gY8WpICVkLCBxdXnhu4FuIMawdSB0acOqbiBt4bubaSAlZFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTc2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdXNlciAlcyIKK21zZ3N0ciAibmfGsOG7nWkgZMO5bmcgbOG6oSAlcyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyBvbmUgb2YgdGhlIGFib3ZlCisjLiAqIHRocmVlIElEIG5hbWVzLiBSZWFkOiAiYmFkIHZhbHVlIGZvciAlczogJXMiCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTg1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCAlcyB2YWx1ZTogJXMiCittc2dzdHIgImdpw6EgdHLhu4sgc2FpICVzOiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo5OAorbXNnaWQgIkVudGVyIGEgc3lzdGVtIHNsZWVwIHN0YXRlIHVudGlsIGEgc3BlY2lmaWVkIHdha2V1cCB0aW1lLlxuIgorbXNnc3RyICJWw6BvIG3hu5l0IHRy4bqhbmcgdGjDoWkgaOG7hyB0aOG7kW5nIG5n4bunIGNobyDEkeG6v24gdGjhu51pIMSRaeG7g20gdGjhu6ljIGThuq15IMSRw6MgY2jhu4kgxJHhu4tuaC5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDEKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICAgICAgICAgIHJlYWRzIHRoZSBjbG9jayBtb2RlIGZyb20gYWRqdXN0IGZpbGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgxJHhu41jIGNo4bq/IMSR4buZIMSR4buTbmcgaOG7kyB04burIHThuq1wIHRpbiBjaOG7iW5oIHPhu61hICht4bq3YyDEkeG7i25oKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWRqZmlsZSA8dC50aW4+ICAgIGNo4buJIMSR4buLbmggxJHGsOG7nW5nIGThuqtuIHThu5tpIHThuq1wIHRpbiBjaOG7iW5oIHPhu61hO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBt4bq3YyDEkeG7i25oIGzDoCAlc1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZXN0YW1wPiAgIGRhdGUgdGltZSBvZiB0aW1lc3RhbXAgdG8gd2FrZVxuIgorbXNnc3RyICIgLXQsIC0tdGltZSA8dGltZV90PiAgICAgIHRo4budaSDEkWnhu4NtIHRo4bupYyBnaeG6pWNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDYKK21zZ2lkICIgLWQsIC0tZGV2aWNlIDxkZXZpY2U+ICAgIHNlbGVjdCBydGMgZGV2aWNlIChydGMwfHJ0YzF8Li4uKVxuIgorbXNnc3RyICIgLWQsIC0tZGV2aWNlIDx0aGnhur90LWLhu4s+ICBjaOG7jW4gdGhp4bq/dCBi4buLIHJ0YyAocnRjMHxydGMxfOKApilcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDcKK21zZ2lkICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGRvZXMgZXZlcnl0aGluZywgYnV0IHN1c3BlbmRcbiIKK21zZ3N0ciAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBraMO0bmcgbMOgbSBnw6wgY+G6oywgbmjGsG5nIHThuqFtIHRyZW9cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDgKK21zZ2lkICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCittc2dzdHIgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIGTDuW5nIG3DumkgZ2nhu50gxJHhu4thIHBoxrDGoW5nXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA5Cittc2dpZCAiICAgICAtLWxpc3QtbW9kZXMgICAgICAgICBsaXN0IGF2YWlsYWJsZSBtb2Rlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEwCittc2dpZCAiIC1tLCAtLW1vZGUgPG1vZGU+ICAgICAgICBzdGFuZGJ5fG1lbXwuLi4gc2xlZXAgbW9kZVxuIgorbXNnc3RyICIgLW0sIC0tbW9kZSA8Y2jhur9fxJHhu5k+ICAgICAgY2jhur8gxJHhu5kgbmfhu6cgc3RhbmRieXxtZW184oCmXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTExCittc2dpZCAiIC1zLCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iCittc2dzdHIgIiAtcywgLS1zZWNvbmRzIDxnacOieT4gICAgIHPhu5EgZ2nDonkgc+G6vSBuZ+G7p1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMgorbXNnaWQgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCittc2dzdHIgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGjhu51pIMSRaeG7g20gdGjhu6ljIGdp4bqlY1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMworbXNnaWQgIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIHVzZXMgVVRDXG4iCittc2dzdHIgIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIGTDuW5nIFVUQ1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIG3DtCB04bqjIGNoaSB0aeG6v3Qgbmjhu69uZyBnw6wgxJHGsOG7o2MgbMOgbVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE2NworbXNnaWQgInJlYWQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhu41jIHRo4budaSBnaWFuIHThu6sgIHJ0YyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNzMKK21zZ2lkICJyZWFkIHN5c3RlbSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSR4buNYyB0aOG7nWkgZ2lhbiB04burIMSR4buTbmcgaOG7kyBj4bunYSBo4buHIHRo4buRbmciCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTg5Cittc2dpZCAiY29udmVydCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBjaHV54buDbiDEkeG7lWkgdGjhu51pIGdpYW4gdOG7qyAgcnRjIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjIzNworbXNnaWQgInNldCBydGMgd2FrZSBhbGFybSBmYWlsZWQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG6t3QgY2h1w7RuZyBiw6FvIHRo4bupYyBydGMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHRoaXJkIGxpbmUgaW46ICVzOiAlcyIKK21zZ3N0ciAiZ+G6t3Aga+G6v3QgdGjDumMgdOG6rXAgdGluIGLhuqV0IHRoxrDhu51uZyB0csOqbiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjAgc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjQKK21zZ2lkICJyZWFkIHJ0YyBhbGFybSBmYWlsZWQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG7jWMgY2h1w7RuZyBiw6FvIHRo4bupYyBydGMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvZmZcbiIKK21zZ3N0ciAiYsOhbyB0aOG7qWM6IHThuq90XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzM4Cittc2dpZCAiY29udmVydCB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiY2h1eeG7g24gxJHhu5VpIHRo4budaSBnaWFuIMSRw6Mga2jDtG5nIHRow6BuaCBjw7RuZyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9uICAlcyIKK21zZ3N0ciAiYsOhbyB0aOG7qWM6IGzDumMgICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQ6ICVzIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHhu41jICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ2NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgc3VzcGVuZCBzdGF0ZSAnJXMnIgorbXNnc3RyICJraMO0bmcgaGnhu4N1IMSRxrDhu6NjIHRy4bqhbmcgdGjDoWkgdHJlbyDigJwlc+KAnSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0NzUKK21zZ2lkICJpbnZhbGlkIHNlY29uZHMgYXJndW1lbnQiCittc2dzdHIgInRoYW0gc+G7kSBnacOieSBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0NzkKK21zZ2lkICJpbnZhbGlkIHRpbWUgYXJndW1lbnQiCittc2dzdHIgInRoYW0gc+G7kSB0aOG7nWkgZ2lhbiBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIKK21zZ3N0ciAiJXM6IGNvaSBsw6AgUlRDIGTDuW5nIFVUQyDigKZcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTEKK21zZ2lkICJVc2luZyBVVEMgdGltZS5cbiIKK21zZ3N0ciAiU+G7rSBk4bulbmcgdGjhu51pIGdpYW4gVVRDLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxMgorbXNnaWQgIlVzaW5nIGxvY2FsIHRpbWUuXG4iCittc2dzdHIgIlPhu60gZOG7pW5nIHRo4budaSBnaWFuIMSR4buLYSBwaMawxqFuZy5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTUKKyMsIGZ1enp5Cittc2dpZCAibXVzdCBwcm92aWRlIHdha2UgdGltZSAoc2VlIC0tc2Vjb25kcywgLS10aW1lIGFuZCAtLWRhdGUgb3B0aW9ucykiCittc2dzdHIgInBo4bqjaSBjdW5nIGPhuqVwIHRo4budaSDEkWnhu4NtIMSRw6FuaCB0aOG7qWMgKHhlbSB0aMOqbSBjw6FjIHTDuXkgY2jhu41uIC10IHbDoCAtcykiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBlbmFibGVkIGZvciB3YWtldXAgZXZlbnRzIgorbXNnc3RyICIlcyBraMO0bmcgdGjhu4MgYuG6rXQgc+G7sSBraeG7h24gYsOhbyB0aOG7qWMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTI4CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtICVsZCwgc3lzX3RpbWUgJWxkLCBydGNfdGltZSAlbGQsIHNlY29uZHMgJXVcbiIKK21zZ3N0ciAiYsOhbyB0aOG7qWMgJWxkLCBnaeG7nV9o4buHX3Ro4buRbmcgJWxkLCBnaeG7nV9SVEMgJWxkLCBnacOieSAldVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzNQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGRvZXNuJ3QgZ28gYmFja3dhcmQgdG8gJXMiCittc2dzdHIgInRo4budaSBnaWFuIGtow7RuZyBjaOG6oXkgbmfGsOG7o2MgduG7gSAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiJXM6IHRo4bupYyBk4bqteSBz4butIGThu6VuZyAlcyBsw7pjICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU0OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIGZyb20gXCIlc1wiIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlczogdGjhu6ljIGThuq15IHThu6sgXCIlc1wiIHPhu60gZOG7pW5nICVzIGzDumMgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTU5CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogbm87IGxlYXZpbmdcbiIKK21zZ3N0ciAiY2jhur8gxJHhu5kgbmfGsG5nOiBraMO0bmc7IMSRYW5nIHLhu51pXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogb2ZmOyBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAiY2jhur8gxJHhu5kgbmfGsG5nOiBi4buLIHThuq90OyDEkWFuZyB0aOG7sWMgaGnhu4duICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogb247IHJlYWRpbmcgcnRjXG4iCittc2dzdHIgImNo4bq/IMSR4buZIG5nxrBuZzogxJHDoyBi4bqtdDsgxJFhbmcgxJHhu41jIFJUQ1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU5MgorbXNnaWQgInJ0YyByZWFkIGZhaWxlZCIKK21zZ3N0ciAixJHhu41jIGZ0cyBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBkaXNhYmxlOyBkaXNhYmxpbmcgYWxhcm1cbiIKK21zZ3N0ciAiY2jhur8gxJHhu5kgbmfGsG5nOiB2w7QgaGnhu4d1IGjDs2E7IMSRYW5nIHThuq90IGLDoW8gxJHhu5luZ1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIKK21zZ3N0ciAiY2jhur8gxJHhu5kgbmfGsG5nOiBoaeG7g24gdGjhu4s7IMSRYW5nIGluIHRow7RuZyB0aW4gYsOhbyB0aOG7qWNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiAlczsgc3VzcGVuZGluZyBzeXN0ZW1cbiIKK21zZ3N0ciAiY2jhur8gxJHhu5kgbmfGsG5nOiAlczsgxJFhbmcgbmfGsG5nIGNo4bqheSBo4buHIHRo4buRbmdcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjkKK21zZ2lkICJkaXNhYmxlIHJ0YyBhbGFybSBpbnRlcnJ1cHQgZmFpbGVkIgorbXNnc3RyICJ04bqvdCBraOG6oyBuZ+G6r3QgY+G7p2EgxJHhu5NuZyBo4buTIGLDoW8gdGjhu6ljIFJUQyBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo0OAorIywgYy1mb3JtYXQKK21zZ2lkICJTd2l0Y2hpbmcgb24gJXMuXG4iCittc2dzdHIgIsSQYW5nIGLhuq10ICVzLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8YXJjaD4gW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgPGFyY2g+IFtjw6FjIHTDuXkgY2jhu41uXSBbPGNoxrDGoW5nIHRyw6xuaD4gW2PDoWMgxJHhu5FpIHPhu5Eg4oCmXV1cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgW2PDoWMgdMO5eSBjaOG7jW5dIFs8Y2jGsMahbmcgdHLDrG5oPiBbY8OhYyDEkeG7kWkgc+G7kSDigKZdXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk2Cittc2dpZCAiQ2hhbmdlIHRoZSByZXBvcnRlZCBhcmNoaXRlY3R1cmUgYW5kIHNldCBwZXJzb25hbGl0eSBmbGFncy5cbiIKK21zZ3N0ciAiVGhheSDEkeG7lWkga2nhur9uIHRyw7pjIMSRw6MgYsOhbyBjw6FvIHbDoCDEkeG6t3QgY+G7nSBjw6EgbmjDom4uXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTkKK21zZ2lkICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIHR1cm5zIG9uIEFERFJfTElNSVRfMzJCSVRcbiIKK21zZ3N0ciAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICBi4bqtdCBBRERSX0xJTUlUXzMyQklUXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAwCittc2dpZCAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorbXNnc3RyICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIGzDoG0gY29uIHRy4buPIGjDoG0gY2jhu4kgxJHhur9uIG3hu5l0IGLhu5kgbcO0IHThuqNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDEKK21zZ2lkICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIHR1cm5zIG9uIFNIT1JUX0lOT0RFXG4iCittc2dzdHIgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgYuG6rXQgU0hPUlRfSU5PREVcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDIKK21zZ2lkICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKK21zZ3N0ciAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCB0aGF5IMSR4buVaSBjw6FjaCBtw6AgYuG7mSBuaOG7myDhuqNvIMSRxrDhu6NjIGPhuqVwIHBow6lwXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAzCittc2dpZCAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBkaXNhYmxlcyByYW5kb21pemF0aW9uIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2VcbiIKK21zZ3N0ciAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICB04bqvdCBuZ+G6q3Ugbmhpw6puIGjDs2EgY+G7p2Ega2jDtG5nIGdpYW4gxJHhu4thIGNo4buJIOG6o29cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDQKK21zZ2lkICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHR1cm5zIG9uIFdIT0xFX1NFQ09ORFNcbiIKK21zZ3N0ciAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICBi4bqtdCBXSE9MRV9TRUNPTkRTXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA1Cittc2dpZCAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0dXJucyBvbiBTVElDS1lfVElNRU9VVFNcbiIKK21zZ3N0ciAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICBi4bqtdCBTVElDS1lfVElNRU9VVFNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDYKK21zZ2lkICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCittc2dzdHIgIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgYuG6rXQgUkVBRF9JTVBMSUVTX0VYRUNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDcKK21zZ2lkICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHR1cm5zIG9uIE1NQVBfUEFHRV9aRVJPXG4iCittc2dzdHIgIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgYuG6rXQgTU1BUF9QQUdFX1pFUk9cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDgKK21zZ2lkICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCittc2dzdHIgIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgZ2nhu5tpIGjhuqFuIGtow7RuZyBnaWFuIMSR4buLYSBjaOG7iSB04buRaSDEkWEgbMOgIDMgR0JcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDkKK21zZ2lkICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGlnbm9yZWQgKGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IG9ubHkpXG4iCittc2dzdHIgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgYuG7iyBi4buPIHF1YSAoduG7m2kgbeG7pWMgxJHDrWNoIHTGsMahbmcgdGjDrWNoIG5nxrDhu6NjKVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMAorbXNnaWQgIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgdHVybnMgb24gVU5BTUUyNlxuIgorbXNnc3RyICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIGLhuq10IFVOQU1FMjZcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheSB3aGF0IG9wdGlvbnMgYXJlIGJlaW5nIHN3aXRjaGVkIG9uXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgbsOzaSByw7UgdMO5eSBjaOG7jW4gbsOgbyDEkWFuZyDEkcaw4bujYyB0aOG7sWMgaGnhu4duXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTE0Cittc2dpZCAiICAgICAtLWxpc3QgICAgICAgICAgICAgICBsaXN0IHNldHRhYmxlIGFyY2hpdGVjdHVyZXMsIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgLS1saXN0ICAgICAgICAgICAgICAgbGnhu4d0IGvDqiBjw6FjIGtp4bq/biB0csO6YyBjw7MgdGjhu4MgxJHhurd0IHLhu5NpIHRob8OhdFxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXNcbiIKKyJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorbXNnc3RyICIiCisiJXNcbiIKKyJIw6N5IHRo4butIGzhu4duaCDigJwlcyAtLWhlbHDigJ0gxJHhu4MgeGVtIHRow7RuZyB0aW4gdGjDqm0uIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorbXNnc3RyICJIw6N5IHRo4butIGzhu4duaCDigJwlcyAtLWhlbHDigJ0gxJHhu4MgeGVtIHRow7RuZyB0aW4gdGjDqm0uIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIzNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogVW5yZWNvZ25pemVkIGFyY2hpdGVjdHVyZSIKK21zZ3N0ciAiJXM6IGtp4bq/biB0csO6YyBraMO0bmcgbmjhuq1uIHJhIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI1OAorIywgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgY2Fubm90IHNldCBhcmNoaXRlY3R1cmUgdG8gJXMiCittc2dzdHIgIkjhuqF0IG5ow6JuIGtow7RuZyB0aOG7gyDEkeG6t3Qga2nhur9uIHRyw7pjIHRow6BuaCAlcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozMDUKK21zZ2lkICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAiS2jDtG5nIMSR4bunIMSR4buRaSBz4buRIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjMyMgorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICJM4buXaSDEkeG6t3QgY8OhIHTDrW5oIHRow6BuaCAlcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNzkKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICctLWxpc3QnIgorbXNnc3RyICJraMO0bmcgdGjhu6thIG5o4bqtbiB0w7l5IGNo4buNbiDigJwtLWxpc3TigJ0iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzg3Cittc2dpZCAibm8gYXJjaGl0ZWN0dXJlIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAiY2jGsGEgY2jhu4kgxJHhu4tuaCDEkeG7kWkgc+G7kSBraeG6v24gdHLDumMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG6t3QgY8OhIG5ow6JuIHRow6BuaCAlcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGUgY29tbWFuZCBgJXMnLlxuIgorbXNnc3RyICLEkGFuZyB0aOG7sWMgaGnhu4duIGNoxrDGoW5nIHRyw6xuaCDigJwlc+KAneKAplxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk3Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIGRpZmZlcmVudCBwcml2aWxlZ2Ugc2V0dGluZ3MuXG4iCittc2dzdHIgIkNo4bqheSBt4buZdCBjaMawxqFuZyB0csOsbmggduG7m2kgY8OhYyBjw6BpIMSR4bq3dCDEkeG6t2MgcXV54buBbiBraMOhYy5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDAKK21zZ2lkICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgIHNob3cgY3VycmVudCBzdGF0ZSAoYW5kIGRvIG5vdCBleGVjIGFueXRoaW5nKVxuIgorbXNnc3RyICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG6oW5nIHRow6FpIGhp4buHbiB04bqhaSAodsOgIGtow7RuZyB0aOG7sWMgdGhpIGfDrClcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDEKK21zZ2lkICIgLS1ubnAsIC0tbm8tbmV3LXByaXZzICAgIGRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzXG4iCittc2dzdHIgIiAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAgY+G6pW0gY+G6pXAgxJHhurdjIHF1eeG7gW4gbeG7m2lcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDIKK21zZ2lkICIgLS1pbmgtY2FwcyA8Y2FwcywuLi4+ICAgIHNldCBpbmhlcml0YWJsZSBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIC0taW5oLWNhcHMgPGNhcHMs4oCmPiAgICAgIMSR4bq3dCBjw6FjIHF1eeG7gW4gaOG6oW4ga+G6vyB0aOG7q2FcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDMKK21zZ2lkICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgIHNldCBjYXBhYmlsaXR5IGJvdW5kaW5nIHNldFxuIgorbXNnc3RyICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgIMSR4bq3dCB04bqtcCBo4bujcCBo4bqhbiBiacOqbiBkdW5nIHTDrWNoXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA0Cittc2dpZCAiIC0tcnVpZCA8dWlkPiAgICAgICAgICAgICBzZXQgcmVhbCB1aWRcbiIKK21zZ3N0ciAiIC0tcnVpZCA8dWlkPiAgICAgICAgICAgICDEkeG6t3QgdWlkIHRo4bqtdFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNQorbXNnaWQgIiAtLWV1aWQgPHVpZD4gICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICDEkeG6t3QgdWlkIGNo4buLdSB0w6FjIMSR4buZbmdcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDYKK21zZ2lkICIgLS1yZ2lkIDxnaWQ+ICAgICAgICAgICAgIHNldCByZWFsIGdpZFxuIgorbXNnc3RyICIgLS1yZ2lkIDxnaWQ+ICAgICAgICAgICAgIMSR4bq3dCBnaWQgdGjhu7FjIHThur9cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDcKK21zZ2lkICIgLS1lZ2lkIDxnaWQ+ICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiAtLWVnaWQgPGdpZD4gICAgICAgICAgICAgxJHhurd0IG5ow7NtIGNo4buLdSB0w6FjIMSR4buZbmdcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDgKK21zZ2lkICIgLS1yZXVpZCA8dWlkPiAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiAtLXJldWlkIDx1aWQ+ICAgICAgICAgICAgxJHhurd0IHVpZCB0aOG7sWMgdOG6vyB2w6AgY2jhu4t1IHTDoWMgxJHhu5luZ1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwOQorbXNnaWQgIiAtLXJlZ2lkIDxnaWQ+ICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiIC0tcmVnaWQgPGdpZD4gICAgICAgICAgICDEkeG6t3QgZ2lkIHRo4buxYyB04bq/IHbDoCBjaOG7i3UgdMOhYyDEkeG7mW5nXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEwCittc2dpZCAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICBjbGVhciBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLS1jbGVhci1ncm91cHMgICAgICAgICAgIHjDs2Egc+G6oWNoIGPDoWMgbmjDs20gcGjhu6VcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTEKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICBnaeG7ryBs4bqhaSBjw6FjIG5ow7NtIHBo4bulXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEyCittc2dpZCAiIC0tZ3JvdXBzIDxncm91cCwuLi4+ICAgICBzZXQgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0tZ3JvdXBzIDxuaMOzbSzigKY+ICAgICAgICDEkeG6t3QgY8OhYyBuaMOzbSBwaOG7pVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMworbXNnaWQgIiAtLXNlY3VyZWJpdHMgPGJpdHM+ICAgICAgc2V0IHNlY3VyZWJpdHNcbiIKK21zZ3N0ciAiIC0tc2VjdXJlYml0cyA8Yml0cz4gICAgICDEkcSDdCBzZWN1cmViaXRzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE0Cittc2dpZCAiIC0tc2VsaW51eC1sYWJlbCA8bGFiZWw+ICBzZXQgU0VMaW51eCBsYWJlbFxuIgorbXNnc3RyICIgLS1zZWxpbnV4LWxhYmVsIDxuaMOjbj4gICDEkeG6t3QgbmjDo24gU0VMaW51eFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNQorbXNnaWQgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgc2V0IEFwcEFybW9yIHByb2ZpbGVcbiIKK21zZ3N0ciAiIC0tYXBwYXJtb3ItcHJvZmlsZSA8cHI+ICDEkeG6t3QgaOG7kyBzxqEgQXBwQXJtb3JcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjEKK21zZ2lkICIgVGhpcyB0b29sIGNhbiBiZSBkYW5nZXJvdXMuICBSZWFkIHRoZSBtYW5wYWdlLCBhbmQgYmUgY2FyZWZ1bC5cbiIKK21zZ3N0ciAiIEPDtG5nIGPhu6UgbsOgeSB0xrDGoW5nIMSR4buRaSBuZ3V5IGhp4buDbS4gSMOjeSDEkeG7jWMgdHJhbmcgbWFucGFnZSwgdsOgIGTDuW5nIG3hu5l0IGPDoWNoIHRo4bqtbiB0cuG7jW5nLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE5MyBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2NworbXNnaWQgImdldHRpbmcgcHJvY2VzcyBzZWN1cmUgYml0cyBmYWlsZWQiCittc2dzdHIgImzhuqV5IGLDrXQgxJHhuqNtIGLhuqNvIHRp4bq/biB0csOsbmggZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3VyZWJpdHM6ICIKK21zZ3N0ciAiQsOtdCBhbiBuaW5oOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIltub25lXVxuIgorbXNnc3RyICJba2jDtG5nXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIGxvbmciCittc2dzdHIgIiVzOiBxdcOhIGTDoGkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzOiAiCittc2dzdHIgIkPDoWMgbmjDs20gcGjhu6U6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNzMgc3lzLXV0aWxzL3NldHByaXYuYzozMjEgc3lzLXV0aWxzL3NldHByaXYuYzozMjYKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzMyIHN5cy11dGlscy9zZXRwcml2LmM6MzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIltub25lXSIKK21zZ3N0ciAiW2tow7RuZ10iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgInVpZDogJXVcbiIKK21zZ3N0ciAidWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICJldWlkOiAldVxuIgorbXNnc3RyICJldWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJzdWlkOiAldVxuIgorbXNnc3RyICJzdWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5OSBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5MQorbXNnaWQgImdldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgImdldHJlc3VpZCBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMDggc3lzLXV0aWxzL3NldHByaXYuYzo0MDYKK21zZ2lkICJnZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJnZXRyZXNnaWQgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIkVmZmVjdGl2ZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiRHVuZyBsxrDhu6NuZyBjw7JuIGTDuW5nIMSRxrDhu6NjOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBlcm1pdHRlZCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiRHVuZyB0w61jaCBjw7JuIMSRxrDhu6NjIHBow6lwOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkluaGVyaXRhYmxlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICJDw6FjIGR1bmcgdMOtY2gga+G6vyB0aOG7q2E6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FwYWJpbGl0eSBib3VuZGluZyBzZXQ6ICIKK21zZ3N0ciAiVOG6rXAgaOG7o3AgaOG6oW4gYmnDqm4gZHVuZyBsxrDhu6NuZzogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MworbXNnaWQgIlNFTGludXggbGFiZWwiCittc2dzdHIgIk5ow6NuIFNFTGludXgiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQ2Cittc2dpZCAiQXBwQXJtb3IgcHJvZmlsZSIKK21zZ3N0ciAiSOG7kyBzxqEgQXBwQXJtb3IiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzU5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhcCAlZDogbGliY2FwLW5nIGlzIGJyb2tlbiIKK21zZ3N0ciAiY2FwICVkOiBsaWJjYXAtbmcgYuG7iyBo4buPbmciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzgyCittc2dpZCAiSW52YWxpZCBzdXBwbGVtZW50YXJ5IGdyb3VwIGlkIgorbXNnc3RyICJNw6Mgc+G7kSBuaMOzbSBwaOG7pSB0aMOqbSBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozOTkKK21zZ2lkICJzZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJzZXRyZXN1aWQgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDE0Cittc2dpZCAic2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0cmVzZ2lkIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQzNQorbXNnaWQgImJhZCBjYXBhYmlsaXR5IHN0cmluZyIKK21zZ3N0ciAiY2h14buXaSBkdW5nIHTDrWNoIHNhaSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NDMKK21zZ2lkICJsaWJjYXAtbmcgaXMgdG9vIG9sZCBmb3IgXCJhbGxcIiBjYXBzIgorbXNnc3RyICJsaWJjYXAtbmcgbMOgIHF1w6EgY8WpIGNobyBcImFsbFwiIGNhcHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDUyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY2FwYWJpbGl0eSBcIiVzXCIiCittc2dzdHIgImtow7RuZyBoaeG7g3UgZHVuZyBsxrDhu6NuZyBcIiVzXCIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDc2Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCBzZXQgLS0gcmVmdXNpbmcgdG8gYWRqdXN0IgorbXNnc3RyICJraMO0bmcgaGnhu4N1IHThuq1wIGjhu6NwIGLDrXQgYW4gbmluaCAtLSBraMaw4bubYyB04burIGNo4buJbmggc+G7rWEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDgwCittc2dpZCAiYmFkIHNlY3VyZWJpdHMgc3RyaW5nIgorbXNnc3RyICJjaHXhu5dpIGLDrXQgYW4gdG/DoG4gc2FpIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ4NworbXNnaWQgIithbGwgc2VjdXJlYml0cyBpcyBub3QgYWxsb3dlZCIKK21zZ3N0ciAiK2FsbCBzZWN1cmViaXRzIGzDoCBraMO0bmcgxJHGsOG7o2MgcGjDqXAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTAwCittc2dpZCAiYWRqdXN0aW5nIGtlZXBfY2FwcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICLEkWnhu4F1IGNo4buJbmgga2VlcF9jYXBzIGtow7RuZyBo4bujcCBsw70iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTA0Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAia2jDtG5nIG5o4bqtbiByYSBzZWN1cmViaXQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTI0Cittc2dpZCAiU0VMaW51eCBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiU0VMaW51eCBraMO0bmcgaG/huqF0IMSR4buZbmciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb3NlIGZhaWxlZDogJXMiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkcOzbmc6ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU0NworbXNnaWQgIkFwcEFybW9yIGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICJBcHBBcm1vciBraMO0bmcgaG/huqF0IMSR4buZbmciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjU4Cittc2dpZCAiZHVwbGljYXRlIC0tbm8tbmV3LXByaXZzIG9wdGlvbiIKK21zZ3N0ciAidHLDuW5nIHTDuXkgY2jhu41uIC0tbm8tbmV3LXByaXZzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY2MworbXNnaWQgImR1cGxpY2F0ZSBydWlkIgorbXNnc3RyICJ0csO5bmcgcnVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NjUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcnVpZCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIHJ1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjY5Cittc2dpZCAiZHVwbGljYXRlIGV1aWQiCittc2dzdHIgInRyw7luZyBldWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY3MQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBldWlkIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzUKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCBvciBldWlkIgorbXNnc3RyICJ0csO5bmcgcnVpZCBob+G6t2MgZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NzcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmV1aWQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCByZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODEKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCIKK21zZ3N0ciAidHLDuW5nIHJnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjgzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJnaWQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCByZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4NworbXNnaWQgImR1cGxpY2F0ZSBlZ2lkIgorbXNnc3RyICJ0csO5bmcgZWdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWdpZCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kgcGjDom4gdMOtY2ggZWdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2OTMKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCBvciBlZ2lkIgorbXNnc3RyICJ0csO5bmcgcmdpZCBob+G6t2MgZWdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2OTUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmVnaWQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCByZWdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MDAKK21zZ2lkICJkdXBsaWNhdGUgLS1jbGVhci1ncm91cHMgb3B0aW9uIgorbXNnc3RyICJ0csO5bmcgdMO5eSBjaOG7jW4gLS1jbGVhci1ncm91cHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzA2Cittc2dpZCAiZHVwbGljYXRlIC0ta2VlcC1ncm91cHMgb3B0aW9uIgorbXNnc3RyICJ0csO5bmcgdMO5eSBjaOG7jW4gLS1rZWVwLWdyb3VwcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MTIKK21zZ2lkICJkdXBsaWNhdGUgLS1ncm91cHMgb3B0aW9uIgorbXNnc3RyICJ0csO5bmcgdMO5eSBjaOG7jW4gLS1ncm91cHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzIxCittc2dpZCAiZHVwbGljYXRlIC0taW5oLWNhcHMgb3B0aW9uIgorbXNnc3RyICJ0csO5bmcgdMO5eSBjaOG7jW4gLS1pbmgtY2FwcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MjcKK21zZ2lkICJkdXBsaWNhdGUgLS1ib3VuZGluZy1zZXQgb3B0aW9uIgorbXNnc3RyICJ0csO5bmcgdMO5eSBjaOG7jW4gLS1ib3VuZGluZy1zZXQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzMzCittc2dpZCAiZHVwbGljYXRlIC0tc2VjdXJlYml0cyBvcHRpb24iCittc2dzdHIgInRyw7luZyB0w7l5IGNo4buNbiAtLXNlY3VyZWJpdHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzM5Cittc2dpZCAiZHVwbGljYXRlIC0tc2VsaW51eC1sYWJlbCBvcHRpb24iCittc2dzdHIgInRyw7luZyB0w7l5IGNo4buNbiAtLXNlbGludXgtbGFiZWwiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzQ1Cittc2dpZCAiZHVwbGljYXRlIC0tYXBwYXJtb3ItcHJvZmlsZSBvcHRpb24iCittc2dzdHIgInRyw7luZyB0w7l5IGNo4buNbiAtLWFwcGFybW9yLXByb2ZpbGUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzU2CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJyVjJyIKK21zZ3N0ciAia2jDtG5nIGNo4bqlcCBuaOG6rW4gdMO5eSBjaOG7jW4g4oCcJWPigJ0iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzYzCittc2dpZCAiLS1kdW1wIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBvcHRpb25zIgorbXNnc3RyICItLWR1bXAga2jDtG5nIHTGsMahbmcgdGjDrWNoIHbhu5tpIHThuqV0IGPhuqMgY8OhYyB0w7l5IGNo4buNbiBraMOhYyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzEKK21zZ2lkICItLWxpc3QtY2FwcyBtdXN0IGJlIHNwZWNpZmllZCBhbG9uZSIKK21zZ3N0ciAidMO5eSBjaOG7jW4gLS1saXN0LWNhcHMgcGjhuqNpIMSRxrDhu6NjIGTDuW5nIG3hu5l0IG3DrG5oIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3NworbXNnaWQgIk5vIHByb2dyYW0gc3BlY2lmaWVkIgorbXNnc3RyICJDaMawYSBjaOG7iSByYSBjaMawxqFuZyB0csOsbmgiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgyCittc2dpZCAiLS1bcmVdZ2lkIHJlcXVpcmVzIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCBvciAtLWdyb3VwcyIKK21zZ3N0ciAiLS1bcmVdZ2lkIHnDqnUgY+G6p3UgLS1rZWVwLWdyb3VwcywgLS1jbGVhci1ncm91cHMsIGhheSAtLWdyb3VwcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODUKK21zZ2lkICJkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlcyBmYWlsZWQiCittc2dzdHIgImPhuqVtIGPhuqVwIMSR4bq3YyBxdXnhu4FuIG3hu5tpIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MworbXNnaWQgImtlZXAgcHJvY2VzcyBjYXBhYmlsaXRpZXMgZmFpbGVkIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgZ2nhu68gZHVuZyBsxrDhu6NuZyB0aeG6v24gdHLDrG5oIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwMQorbXNnaWQgImFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiRHVuZyB0w61jaCBob+G6oXQgxJHhu5luZyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDcKK21zZ2lkICJyZWFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiZHVuZyB0w61jaCDEkcaw4bujYyBrw61jaCBob+G6oXQgbOG6oWkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODIzCittc2dpZCAic2V0IHByb2Nlc3Mgc2VjdXJlYml0cyBmYWlsZWQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG6t3QgYsOtdCBhbiB0b8OgbiB0aeG6v24gdHLDrG5oIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyOQorbXNnaWQgImFwcGx5IGJvdW5kaW5nIHNldCIKK21zZ3N0ciAiw6FwIGThu6VuZyB04bqtcCBo4bujcCBiacOqbiBnaeG7m2kiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODM1Cittc2dpZCAiYXBwbHkgY2FwYWJpbGl0aWVzIgorbXNnc3RyICJjw6FjIGR1bmcgbMaw4bujbmcgw6FwIGThu6VuZyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGV4ZWN1dGU6ICVzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbjogJXMiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozMgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJndW1lbnRzIC4uLl1cbiIKK21zZ3N0ciAiICVzIFtjw6FjIHTDuXkgY2jhu41uXSA8Y2jGsMahbmcgdHLDrG5oPiBbY8OhYyDEkeG7kWkgc+G7kSDigKZdXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozNgorbXNnaWQgIlJ1biBhIHByb2dyYW0gaW4gYSBuZXcgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiQ2jhuqF5IG3hu5l0IGNoxrDGoW5nIHRyw6xuaCB0cm9uZyBt4buZdCBwaGnDqm4gbeG7m2kuXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozOQorbXNnaWQgIiAtYywgLS1jdHR5ICAgICBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIHRvIHRoZSBjdXJyZW50IG9uZVxuIgorbXNnc3RyICIgLWMsIC0tY3R0eSAgICAgxJHhurd0IHRoaeG6v3QgYuG7iyBjdeG7kWkgxJFp4buBdSBraGnhu4NuIGNobyBjw6FpIGhp4buHbiB04bqhaVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDAKK21zZ2lkICIgLXcsIC0td2FpdCAgICAgd2FpdCBwcm9ncmFtIHRvIGV4aXQsIGFuZCB1c2UgdGhlIHNhbWUgcmV0dXJuXG4iCittc2dzdHIgIiAtdywgLS13YWl0ICAgICBjaOG7nSBjaMawxqFuZyB0csOsbmgga+G6v3QgdGjDumMgdsOgIGTDuW5nIGPDuW5nIGdpw6EtdHLhu4sgdHLhuqMgduG7gVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6OTMKK21zZ2lkICJmb3JrIgorbXNnc3RyICJy4bq9IG5ow6FuaCB0aeG6v24gdHLDrG5oIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTA1CisjLCBjLWZvcm1hdAorbXNnaWQgImNoaWxkICVkIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAidGnhur9uIHRyw6xuaCBjb24g4oCcJWTigJ0gdGhvw6F0IGtow7RuZyBiw6xuaCB0aMaw4budbmciCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTAKK21zZ2lkICJzZXRzaWQgZmFpbGVkIgorbXNnc3RyICJzZXRzaWQgYuG7iyBs4buXaSIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExMworbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhurd0IHRoaeG6v3QgYuG7iyBjdeG7kWkgxJFp4buBdSBraGnhu4NuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBvZmYgJXNcbiIKK21zZ3N0ciAic3dhcG9mZiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNQorbXNnaWQgIk5vdCBzdXBlcnVzZXIuIgorbXNnc3RyICJLaMO0bmcgcGjhuqNpIHNpw6p1IG5nxrDhu51pIGTDuW5nLnMiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb2ZmIGZhaWxlZCIKK21zZ3N0ciAiJXMgc3dhcG9mZiBi4buLIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyMiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxzcGVjPl1cbiIKK21zZ3N0ciAiICVzIFtjw6FjIHTDuXkgY2jhu41uXSBbPHNwZWM+XVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyNQorbXNnaWQgIkRpc2FibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIlThuq90IGPDoWMgdGhp4bq/dCBi4buLIHbDoCB04bqtcCB0aW4gZMOgbmggY2hvIMSRw6FuaCB0cmFuZyB2w6AgdHLDoW8gxJHhu5VpLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyOAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBzd2FwcyBmcm9tIC9wcm9jL3N3YXBzXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICB04bqvdCB0b8OgbiBi4buZIHN3YXBzIHThu6sgL3Byb2Mvc3dhcHNcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICBjaOG6vyDEkeG7mSBoaeG7g24gdGjhu4sgxJHhuqd5IMSR4bunIHRow7RuZyB0aW5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMzUKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJDw6FjIMSR4buRaSBz4buRIDxzcGVjPjpcbiIKKyIgLUwgPE5Iw4NOPiAgICAgICAgICAgICAgTkjDg04gIGPhu6dhIHRoaeG6v3QgYuG7iyBj4bqnbiBkw7luZ1xuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQgIGPhu6dhIHRoaeG6v3QgYuG7iyBj4bqnbiBkw7luZ1xuIgorIiBMQUJFTD08TkjDg04+ICAgICAgICAgICBOSMODTiAgY+G7p2EgdGhp4bq/dCBi4buLIGPhuqduIGTDuW5nXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgVVVJRCAgY+G7p2EgdGhp4bq/dCBi4buLIGPhuqduIGTDuW5nXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgdMOqbiAgY+G7p2EgdGhp4bq/dCBi4buLIGPhuqduIGTDuW5nXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgdMOqbiBj4bunYSB04bqtcCB0aW4gxJHGsOG7o2MgZMO5bmdcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkzCittc2dpZCAiZGV2aWNlIGZpbGUgb3IgcGFydGl0aW9uIHBhdGgiCittc2dzdHIgInThuq1wIHRpbiB0aGnhur90IGLhu4sgaG/hurdjIMSRxrDhu51uZyBk4bqrbiB04bubaSBwaMOibiB2w7luZyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk0Cittc2dpZCAidHlwZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJraeG7g3UgdGhp4bq/dCBi4buLIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTUKK21zZ2lkICJzaXplIG9mIHRoZSBzd2FwIGFyZWEiCittc2dzdHIgImvDrWNoIHRoxrDhu5tjIHbDuW5nIGhvw6FuIMSR4buVaSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk2Cittc2dpZCAiYnl0ZXMgaW4gdXNlIgorbXNnc3RyICJieXRlIMSRw6MgZMO5bmciCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NworbXNnaWQgInN3YXAgcHJpb3JpdHkiCittc2dzdHIgInF1eeG7gW4gxrB1IHRpw6puIHN3YXAiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OAorbXNnaWQgInN3YXAgdXVpZCIKK21zZ3N0ciAidXVpZCB0csOhbyDEkeG7lWkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OQorbXNnaWQgInN3YXAgbGFiZWwiCittc2dzdHIgIm5ow6NuIHRyw6FvIMSR4buVaSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlc1x0XHRcdFx0VHlwZVx0XHRTaXplXHRVc2VkXHRQcmlvcml0eVxuIgorbXNnc3RyICIlc1x0XHRcdFx0S2nhu4N1XHRcdEvDrWNoIGPhu6FcdETDuW5nXHRN4bupY8avdVRpw6puXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNDYKK21zZ2lkICJGaWxlbmFtZSIKK21zZ3N0ciAiVMOqbiB04bqtcCB0aW4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlaW5pdGlhbGl6aW5nIHRoZSBzd2FwLiIKK21zZ3N0ciAiJXM6IMSRYW5nIGto4bufaSB04bqhbyBs4bqhaSB2w7luZyB0cmFvIMSR4buVaS4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxzZWVrIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGxzZWVrIGLhu4sgbOG7l2kiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIHNpZ25hdHVyZSBmYWlsZWQiCittc2dzdHIgIiVzOiBs4buXaSBnaGkgY2jhu68ga8O9IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyAtIGl0IGFwcGVhcnMgdG8gaGF2ZSBob2xlcy4iCittc2dzdHIgIiVzOiDEkWFuZyBi4buPIHF1YSDigJQgY8OzIHbhursgbMOgIG7DsyBi4buLIGzhu5cuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXQgc2l6ZSBmYWlsZWQiCittc2dzdHIgIiVzOiBs4buXaSBs4bqleSBrw61jaCBj4buhIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIHN3YXAgaGVhZGVyIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGzhu5dpIMSR4buNYyBwaOG6p24gxJHhuqd1IHbDuW5nIHRyYW8gxJHhu5VpIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZm91bmQgc2lnbmF0dXJlIFtwYWdlc2l6ZT0lZCwgc2lnbmF0dXJlPSVzXSIKK21zZ3N0ciAiJXM6IHTDrG0gdGjhuqV5IGNo4buvIGvDvSB0cmFvIMSR4buVaTogcGhpw6puIGLhuqNuICV1ZCwga8OtY2ggY+G7oSB0cmFuZyAlZCwgdGjhu6kgdOG7sSBieXRlICVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYWdlc2l6ZT0lZCwgc3dhcHNpemU9JWxsdSwgZGV2c2l6ZT0lbGx1IgorbXNnc3RyICIlczoga8OtY2ggY+G7oSB0cmFuZz0lZCwga8OtY2ggY+G7oSB2w7luZyB0cmFvIMSR4buVaT0lbGx1LCBrw61jaCBj4buhIHRoaeG6v3QgYuG7iz0lbGx1IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsYXN0X3BhZ2UgMHglMDhsbHggaXMgbGFyZ2VyIHRoYW4gYWN0dWFsIHNpemUgb2Ygc3dhcHNwYWNlIgorbXNnc3RyICIlczogbGFzdF9wYWdlIDB4JTA4bGx4IGzhu5tuIGjGoW4ga8OtY2ggY+G7oSB0aOG6rXQgY+G7p2EgdsO5bmcgdHJhbyDEkeG7lWkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiIKK21zZ3N0ciAiJXM6IGvDrWNoIGPhu6EgdHJhbmcgxJHhu4tuaCBk4bqhbmcgdHJhbyDEkeG7lWkga2jDtG5nIHTGsMahbmcg4bupbmcuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4gKFVzZSAtLWZpeHBnc3ogdG8gcmVpbml0aWFsaXplIGl0LikiCittc2dzdHIgIiVzOiBrw61jaCBj4buhIHRyYW5nIMSR4buLbmggZOG6oW5nIHRyYW8gxJHhu5VpIGtow7RuZyB0xrDGoW5nIOG7qW5nLiAoRMO5bmcgLS1maXhwZ3N6IMSR4buDIGto4bufaSB04bqhbyBs4bqhaSBuw7MuKSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc29mdHdhcmUgc3VzcGVuZCBkYXRhIGRldGVjdGVkLiBSZXdyaXRpbmcgdGhlIHN3YXAgc2lnbmF0dXJlLiIKK21zZ3N0ciAiJXM6IHBow6F0IGhp4buHbiBk4buvIGxp4buHdSBuZ8awbmcgcGjhuqduIG3hu4FtLiDEkGFuZyBnaGkgbOG6oWkgY2jhu68ga8O9IHRyYW8gxJHhu5VpLiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb24gJXNcbiIKK21zZ3N0ciAic3dhcG9uICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvbiBmYWlsZWQiCittc2dzdHIgIiVzIHN3YXBvbiBi4buLIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm9hdXRvIG9wdGlvbiAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogbOG7l2kgcGjDom4gdMOtY2ggY8O6IHBow6FwIHThuqFpIGTDsm5nICVkIC0tIGlnbm9yZSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgYWN0aXZlIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiBs4buXaSBwaMOibiB0w61jaCBjw7ogcGjDoXAgdOG6oWkgZMOybmcgJWQgLS0gaWdub3JlIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaW5hY2Nlc3NpYmxlIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgZ2hpIGPDoWMgaW5vZGUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTEKK21zZ2lkICJFbmFibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIkLhuq10IGPDoWMgdGhp4bq/dCBi4buLIHbDoCB04bqtcCB0aW4gxJHhu4MgZMO5bmcgY2hvIHZp4buHYyDEkcOhbmggdHJhbmcgdsOgIHRyw6FvIMSR4buVaS5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgZW5hYmxlIGFsbCBzd2FwcyBmcm9tIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICBi4bqtdCBt4buNaSBi4buZIG5o4bubIHRyw6FvIMSR4buVaSBjw7MgdHJvbmcgL2V0Yy9mc3RhYlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk1Cittc2dpZCAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorbXNnc3RyICIgLWQsIC0tZGlzY2FyZFs9PHBvbGljeT5dIGLhuq10IGxv4bqhaSBi4buPIHRyw6FvIMSR4buVaSwgbuG6v3UgxJHGsOG7o2MgaOG7lyB0cuG7oyBi4bufaSB0aGnhur90IGLhu4tcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NgorbXNnaWQgIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgc2lsZW50bHkgc2tpcCBkZXZpY2VzIHRoYXQgZG8gbm90IGV4aXN0XG4iCittc2dzdHIgIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgYuG7jyBxdWEgbeG7mXQgY8OhY2ggw6JtIHRo4bqnbSBjw6FjIHRoaeG6v3QgYuG7iyBtw6AgbsOzIGtow7RuZyB04buTbiB04bqhaVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk3Cittc2dpZCAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICByZWluaXRpYWxpemUgdGhlIHN3YXAgc3BhY2UgaWYgbmVjZXNzYXJ5XG4iCittc2dzdHIgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAga2jhu59pIHThuqFvIGzhuqFpIGNo4buXIHRyw6FvIMSR4buVaSBu4bq/dSB0aOG6pXkgY+G6p24gdGhp4bq/dFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk4Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBzd2FwIG9wdGlvbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW9wdGlvbnMgPGQuc8OhY2g+IGRhbmggc8OhY2ggxJHhu4tuaCBnaeG7m2kgYuG6sW5nIGThuqV1IHBo4bqpeSBj4bunYSBjw6FjIHTDuXkgY2jhu41uIHRyw6FvIMSR4buVaVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk5Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBzcGVjaWZ5IHRoZSBwcmlvcml0eSBvZiB0aGUgc3dhcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBjaOG7iSDEkeG7i25oIG3hu6ljIMawdSB0acOqbiBj4bunYSB0aGnhur90IGLhu4sgdHLDoW8gxJHhu5VpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDAKK21zZ2lkICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIGRpc3BsYXkgc3VtbWFyeSBhYm91dCB1c2VkIHN3YXAgZGV2aWNlcyAoREVQUkVDQVRFRClcbiIKK21zZ3N0ciAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB0aOG7lW5nIGjhu6NwIHbhu4EgdGhp4bq/dCBi4buLIHRyw6FvIMSR4buVaSAoxJDDgyBM4buWSSBUSOG7nEkpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDEKK21zZ2lkICIgICAgIC0tc2hvd1s9PGNvbHVtbnM+XSAgIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKK21zZ3N0ciAiICAgICAtLXNob3dbPTxjb2x1bW5zPl0gICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB04buVbmcgaOG7o3AgdHJvbmcgYuG6o25nIMSR4buLbmggbmdoxKlhXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDIKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IHRhYmxlIGhlYWRpbmcgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGtow7RuZyBpbiBwaOG6p24gxJHhuqd1IGLhuqNuZyAoduG7m2kgLS1zaG93KVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAzCittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0ICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAgICAtciwgLS1yYXcgICAgICAgICAgICBkw7luZyDEkeG7i25oIGThuqFuZyB0aMO0IGNobyBr4bq/dCB4deG6pXQgKHbhu5tpIC0tc2hvdylcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNAorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHNpemUgaW4gYnl0ZXMgaW4gLS1zaG93IG91dHB1dFxuIgorbXNnc3RyICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyBj4buhIGLhu5kgbmjhu5sgdHLDoW8gxJHhu5VpIHTDrW5oIHRoZW8gYnl0ZSDhu58ga+G6v3QgeHXhuqV0IC0tc2hvd1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBjaOG6vyDEkeG7mSBjaGkgdGnhur90XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTEKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJDw6FjIMSR4buRaSBz4buRIDxzcGVjPjpcbiIKKyIgLUwgPE5Iw4NOPiAgICAgICAgICAgICAgTkjDg04gIGPhu6dhIHRoaeG6v3QgYuG7iyBj4bqnbiBkw7luZ1xuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQgIGPhu6dhIHRoaeG6v3QgYuG7iyBj4bqnbiBkw7luZ1xuIgorIiBMQUJFTD08TkjDg04+ICAgICAgICAgICBOSMODTiAgY+G7p2EgdGhp4bq/dCBi4buLIGPhuqduIGTDuW5nXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgVVVJRCAgY+G7p2EgdGhp4bq/dCBi4buLIGPhuqduIGTDuW5nXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgY2jhu4kgxJHhu4tuaCB0aGnhur90IGLhu4sgdGhlbyBuaMOjbiBj4bunYSBwaMOibiB2w7luZ2xcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICBjaOG7iSDEkeG7i25oIHRoaeG6v3QgYuG7iyB0aGVvIFVVSUQgY+G7p2EgcGjDom4gdsO5bmdcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICB0w6puIGPhu6dhIHRoaeG6v3QgYuG7iyBj4bqnbiBkw7luZ1xuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIHTDqm4gY+G7p2EgdOG6rXAgdGluIMSRxrDhu6NjIGTDuW5nXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MjEKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGRpc2NhcmQgcG9saWN5IHR5cGVzIChmb3IgLS1kaXNjYXJkKTpcbiIKKyIgb25jZSAgICA6IG9ubHkgc2luZ2xlLXRpbWUgYXJlYSBkaXNjYXJkcyBhcmUgaXNzdWVkXG4iCisiIHBhZ2VzICAgOiBmcmVlZCBwYWdlcyBhcmUgZGlzY2FyZGVkIGJlZm9yZSB0aGV5IGFyZSByZXVzZWRcbiIKKyJJZiBubyBwb2xpY3kgaXMgc2VsZWN0ZWQsIGJvdGggZGlzY2FyZCB0eXBlcyBhcmUgZW5hYmxlZCAoZGVmYXVsdCkuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJDw6FjIGtp4buDdSBjaMOtbmggc8OhY2ggbG/huqFpIGLhu48gc+G6tW4gY8OzIChjaG8gdMO5eSBjaOG7jW4gLS1kaXNjYXJkKTpcbiIKKyIgb25jZVx0ICA6IGNo4buJIGxv4bqhaSBi4buPIGPDoWMgdsO5bmcgxJHGsOG7o2MgY+G6pXAgdGjhu51pLWdpYW4txJHGoW4uIChzd2Fwb24pXG4iCisiIHBhZ2VzXHQgIDogbG/huqFpIGLhu48gY8OhYyB0cmFuZyDEkcOjIGdp4bqjaSBwaMOzbmcgdHLGsOG7m2Mga2hpIGTDuW5nIGzhuqFpIG7Dsy5cbiIKKyJO4bq/dSBraMO0bmcgY2jhu41uIGNow61uaCBzw6FjaCBuw6BvIHRow6wgY+G6oyBoYWkga2nhu4N1IHRyw6puIMSR4buBdSBi4bqtdCAobeG6t2MgxJHhu4tuaCkuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MjYKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3cpOlxuIgorbXNnc3RyICIiCisiXG4iCisiQ8OhYyBj4buZdCBz4bq1biBkw7luZyAoY2hvIC0tc2hvdyk6XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MDQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcHJpb3JpdHkiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBt4bupYyDGsHUgdGnDqm4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICJraMO0bmcgaOG7lyB0cuG7oyBjaMOtbmggc8OhY2ggbG/huqFpIGLhu486ICVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHRoZSBkZXZpY2UgZm9yICVzIgorbXNnc3RyICJraMO0bmcgdMOsbSB0aOG6pXkgdGhp4bq/dCBi4buLIGNobyAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NTkKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkaXJlY3RvcnkiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBt4bufIHRoxrAgbeG7pWMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjY3Cittc2dpZCAic3RhdCBmYWlsZWQiCittc2dzdHIgImzhu5dpIGzhuqV5IHRy4bqhbmcgdGjDoWkgduG7gSB04bqtcCB0aW4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjc4Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgZGlyZWN0b3J5IgorbXNnc3RyICLEkeG7jWMgdGjGsCBt4bulYyBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJXMiCittc2dzdHIgImLhu48gbGnDqm4ga+G6v3QgbeG7gW0gJXMga2jDtG5nIHRow6BuaCBjw7RuZyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gJXMiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBkaSBjaHV54buDbiBn4bqvbiAlcyB04bubaSAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgImZvcmNpbmcgdW5tb3VudCBvZiAlcyIKK21zZ3N0ciAiw6lwIGJ14buZYyBi4buPIGfhuq9uIGPhu6dhICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSB0aGF5IMSR4buVaSB0aMawIG3hu6VjIHThu5tpICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAvIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgZGkgY2h1eeG7g24gZ+G6r24gJXMgdOG7m2kgLyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTc1Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IgorbXNnc3RyICJraMO0bmcgdGjhu4MgY2h1eeG7g24gxJHhu5VpIHRoxrAgbeG7pWMgZ+G7kWMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE4OAorbXNnaWQgIm9sZCByb290IGZpbGVzeXN0ZW0gaXMgbm90IGFuIGluaXRyYW1mcyIKK21zZ3N0ciAiaOG7hyB0aOG7kW5nIHThuq1wIHRpbiByb290IGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IOKAnGluaXRyYW1mc+KAnSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG5ld3Jvb3RkaXI+IDxpbml0PiA8YXJncyB0byBpbml0PlxuIgorbXNnc3RyICIgJXMgW2PDoWMgdMO5eSBjaOG7jW5dIDx0aMawX23hu6VjX2fhu5FjX23hu5tpPiA8aW5pdD4gPMSR4buRaSBz4buRIGNobyBraOG7n2kgdOG6oW8+XG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwNAorbXNnaWQgIlN3aXRjaCB0byBhbm90aGVyIGZpbGVzeXN0ZW0gYXMgdGhlIHJvb3Qgb2YgdGhlIG1vdW50IHRyZWUuXG4iCittc2dzdHIgIkNodXnhu4NuIHNhbmcgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBraMOhYyBsw6BtIGfhu5FjIGPhu6dhIGPDonkgZ+G6r24uXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIzNgorbXNnaWQgImZhaWxlZC4gU29ycnkuIgorbXNnc3RyICJn4bq3cCBs4buXaS4gUuG6pXQgdGnhur9jLiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBhY2Nlc3MgJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyB0cnV5IGPhuq1wICVzIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTQKK21zZ2lkICJTZXQgdmFyaW91cyBwYXJhbWV0ZXJzIGZvciB0aGUgbGluZSBwcmludGVyLlxuIgorbXNnc3RyICLEkOG6t3QgY8OhYyB0aGFtIHPhu5Ega2jDoWMgbmhhdSBjaG8gbcOheSBpbiBkw7JuZy5cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk3Cittc2dpZCAiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAgc3BlY2lmeSBwYXJhbGxlbCBwb3J0IGlycVxuIgorbXNnc3RyICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICBjaOG7iSDEkeG7i25oIGNvbiBz4buRIGlycSBjaG8gY+G7lW5nIHNvbmcgc29uZ1xuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTgKK21zZ2lkICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICBkcml2ZXIgd2FpdCB0aW1lIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICB0csOsbmggxJFp4buBdSBraGnhu4NuIMSR4bujaSB0cm9uZyBtaS1saS1nacOieVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTkKK21zZ2lkICIgLWMsIC0tY2hhcnMgPG51bT4gICAgICAgICAgICBudW1iZXIgb2Ygb3V0cHV0IGNoYXJhY3RlcnMgYmVmb3JlIHNsZWVwXG4iCittc2dzdHIgIiAtYywgLS1jaGFycyA8c+G7kT4gICAgICAgICAgICAgc+G7kSBrw70gdOG7sSDEkcaw4bujYyBr4bq/dCB4deG6pXQgdHLGsOG7m2Mga2hpIG5n4bunXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDAKK21zZ2lkICIgLXcsIC0td2FpdCA8dXM+ICAgICAgICAgICAgICBzdHJvYmUgd2FpdCBpbiBtaWNybyBzZWNvbmRzXG4iCittc2dzdHIgIiAtdywgLS13YWl0IDxtaWNyw7RnacOieT4gICAgICAgbmjhuqVwIG5ow6F5IMSR4bujaSB0cm9uZyBtaWNyw7RnacOieVxuIgorCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSA8b258b2ZmPiBhcmd1bWVudHMuIFRoZQorIy4gYXJndW1lbnQgcmVhZGVyIGRvZXMgbm90IHJlY29nbml6ZSBsb2NhbGUsIHVubGVzcyBgb24nIGlzCisjLiBleGFjdGx5IHRoYXQgdmVyeSBzYW1lIHN0cmluZy4KKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDQKK21zZ2lkICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhYm9ydCBvbiBlcnJvclxuIgorbXNnc3RyICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBo4buneSBi4buPIG7hur91IGzhu5dpXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDUKK21zZ2lkICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBjaGVjayBwcmludGVyIHN0YXR1cyBiZWZvcmUgcHJpbnRpbmdcbiIKK21zZ3N0ciAiIC1vLCAtLWNoZWNrLXN0YXR1cyA8b258b2ZmPiAga2nhu4NtIHRyYSB0cuG6oW5nIHRow6FpIG3DoXkgaW4gdHLGsOG7m2Mga2hpIGluXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDYKK21zZ2lkICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICBleHRyYSBjaGVja2luZyB0byBzdGF0dXMgY2hlY2tcbiIKK21zZ3N0ciAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAga2nhu4NtIHRyYSBi4buVIHh1bmcgY2hvIHZp4buHYyBraeG7g20gdHJhIHRy4bqhbmcgdGjDoWlcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNworbXNnaWQgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIHF1ZXJ5IHByaW50ZXIgc3RhdHVzXG4iCittc2dzdHIgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIHRydXkgduG6pW4gdHLhuqFuZyB0aMOhaSBtw6F5IGluXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDgKK21zZ2lkICIgLVQsIC0tdHJ1c3QtaXJxIDxvbnxvZmY+ICAgICBtYWtlIGRyaXZlciB0byB0cnVzdCBpcnFcbiIKK21zZ3N0ciAiIC1ULCAtLXRydXN0LWlycSA8b258b2ZmPiAgICAgecOqdSBj4bqndSB0csOsbmggxJFp4buBdSBraGnhu4NuIHRpbiBpcnFcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOQorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIHJlc2V0IHRoZSBwb3J0XG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIMSR4bq3dCBs4bqhaSBj4buVbmdcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMAorbXNnaWQgIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgIGRpc3BsYXkgY3VycmVudCBpcnEgc2V0dGluZ1xuIgorbXNnc3RyICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICBoaeG7g24gdGjhu4sgY8OgaSDEkeG6t3QgaXJxIGhp4buHbiBow6BuaFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBhbiBscCBkZXZpY2UiCittc2dzdHIgIiVzIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHRoaeG6v3QgYuG7iyBscCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4MAorbXNnaWQgIkxQR0VUU1RBVFVTIGVycm9yIgorbXNnc3RyICJs4buXaSBMUEdFVFNUQVRVUyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdGF0dXMgaXMgJWQiCittc2dzdHIgInRy4bqhbmcgdGjDoWkgJXMgbMOgICVkIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgYnVzeSIKK21zZ3N0ciAiLCDEkWFuZyBi4bqtbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICIsIHJlYWR5IgorbXNnc3RyICIsIHPhurVuIHPDoG5nIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb3V0IG9mIHBhcGVyIgorbXNnc3RyICIsIGtow7RuZyDEkeG7pyB0cmFuZyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICIsIG9uLWxpbmUiCittc2dzdHIgIiwgdHLhu7FjIHR1eeG6v24iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBlcnJvciIKK21zZ3N0ciAiLCBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMwMAorbXNnaWQgImlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwga2jDtG5nIHRow6BuaCBjw7RuZyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxMAorbXNnaWQgIkxQR0VUSVJRIGVycm9yIgorbXNnc3RyICJs4buXaSBMUEdFVElSUSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBJUlEgJWRcbiIKK21zZ3N0ciAiJXMgxJFhbmcgZMO5bmcgSVJRICVkXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgcG9sbGluZ1xuIgorbXNnc3RyICIlcyDEkWFuZyBkw7luZyBraOG6oyBuxINuZyB0csawbmcgY+G6p3VcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiB8IDxkaXJlY3Rvcnk+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtjw6FjIHTDuXkgY2jhu41uXVxuIgorIiAlMSRzIFtjw6FjIHTDuXkgY2jhu41uXSA8bmd14buTbj4gfCA8dGjGsC1t4bulYz5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjgxCittc2dpZCAiVW5tb3VudCBmaWxlc3lzdGVtcy5cbiIKK21zZ3N0ciAiQuG7jyBn4bqvbiBo4buHIHRo4buRbmcgdOG6rXAgdGluLlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODQKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgdW5tb3VudCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIGLhu48gZ+G6r24gdOG6pXQgY+G6oyBjw6FjIGjhu4cgdGjhu5FuZyB04bqtcCB0aW5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg1Cittc2dpZCAiIgorIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICB1bm1vdW50IGFsbCBtb3VudHBvaW50cyBmb3IgdGhlIGdpdmVuIGRldmljZSBpbiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisiIC1BLCAtLWFsbC10YXJnZXRzICAgICAgIGLhu48gZ+G6r24gbeG7jWkgxJFp4buDbSBn4bqvbiBjaG8gdGhp4bq/dCBi4buLIMSRw6MgY2hvXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJvbmcga2jDtG5nIGdpYW4gdMOqbiBoaeG7h24gdOG6oWlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg3Cittc2dpZCAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorbXNnc3RyICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAga2jDtG5nIGNhbm9uaWNhbCBow7NhIMSRxrDhu51uZyBk4bqrblxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODgKK21zZ2lkICIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAgaWYgbW91bnRlZCBsb29wIGRldmljZSwgYWxzbyBmcmVlIHRoaXMgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIG7hur91IGPDsyBn4bqvbiB0aGnhur90IGLhu4sgbG9vcCwgdGjDrCBjxaluZyBnaeG6o2kgcGjDs25nIHRoaeG6v3QgYuG7iyBuw6B5XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OQorbXNnaWQgIiAgICAgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSB1bW91bnQoMikgc3lzY2FsbFxuIgorbXNnc3RyICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgY2jhuqF5IHRo4butOyBi4buPIHF1YSBjw7ogZ+G7jWkgaOG7hyB0aOG7kW5nIHVtb3VudCgyKVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTAKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgZm9yY2UgdW5tb3VudCAoaW4gY2FzZSBvZiBhbiB1bnJlYWNoYWJsZSBORlMgc3lzdGVtKVxuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgYnXhu5ljIGLhu48gZ+G6r24gKHRyb25nIHRyxrDhu51uZyBo4bujcCBraMO0bmcgdGjhu4MgdGhhbyB0w6FjIHbhu5tpIGjhu4cgdGjhu5FuZyBORlMpXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MQorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSB1bW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGtow7RuZyBn4buNaSBjaMawxqFuZyB0csOsbmggaOG7lyB0cuG7oyB1bW91bnQuPGtp4buDdT5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkzCittc2dpZCAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGRldGFjaCB0aGUgZmlsZXN5c3RlbSBub3csIGNsZWFuIHVwIHRoaW5ncyBsYXRlclxuIgorbXNnc3RyICIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgdMOhY2ggcuG7nWkgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBuZ2F5LCB2w6AgZOG7jW4gc+G6oWNoIHThuqV0IGPhuqMgc2F1IMSRw7NcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk0Cittc2dpZCAiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorbXNnc3RyICIgLU8sIC0tdGVzdC1vcHRzIDxkc8OhY2g+IGdp4bubaSBo4bqhbiB04bqtcCBo4bujcCBo4buHIHRo4buRbmcgdOG6rXAgdGluIChkw7luZyB24bubaSAtYSlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk1Cittc2dpZCAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IHVubW91bnQgYSB0YXJnZXQgd2l0aCBhbGwgaXRzIGNoaWxkcmVuXG4iCittc2dzdHIgIiAtUiwgLS1yZWN1cnNpdmUgICAgICAgICBi4buPIGfhuq9uIG3hu5l0IGPDoWNoIMSR4buHIHF1eSB04bqldCBj4bqjIGPDoWMgY29uIGPhu6dhIG7Ds1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTYKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgaW4gY2FzZSB1bm1vdW50aW5nIGZhaWxzLCB0cnkgdG8gcmVtb3VudCByZWFkLW9ubHlcbiIKK21zZ3N0ciAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIHRyb25nIHRyxrDhu51uZyBo4bujcCBi4buPIGfhuq9uIGfhurdwIGzhu5dpLCBow6N5IHRo4butIGfhuq9uIGzhuqFpIGNo4buJLcSR4buNY1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTcKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiAtdCwgLS10eXBlcyA8ZC5zw6FjaD4gICAgY8OhYyBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBi4buLIGjhuqFuIGNo4bq/XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzKSB1bm1vdW50ZWQiCittc2dzdHIgIiVzICglcykgxJHGsOG7o2MgYuG7jyBn4bqvbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bm1vdW50ZWQiCittc2dzdHIgIiVzIGNoxrBhIMSRxrDhu6NjIGfhuq9uIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bW91bnQgZmFpbGVkIgorbXNnc3RyICIlczogYuG7jyBn4bqvbiBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorbXNnc3RyICIlczogaOG7hyB0aOG7kW5nIHThuq1wIHRpbiDEkcOjIGLhu48gZ+G6r24sIG5oxrBuZyBs4buHbmggbW91bnQoOCkgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogdGhp4bq/dCBi4buLIGto4buRaSBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIzOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKK21zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBnaGkgc2nDqnUga2jhu5FpIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlczogdGFyZ2V0IGlzIGJ1c3lcbiIKKyIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0XG4iCisiICAgICAgICAgdXNlIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKS4pIgorbXNnc3RyICIiCisiJXM6IHRoaeG6v3QgYuG7iyDEkWFuZyBi4bqtbi5cbiIKKyIgICAgICAgIChUcm9uZyBt4buZdCBz4buRIHRyxrDhu51uZyBo4bujcCxcbiIKKyIgICAgICAgIGjDoG0gbHNvZig4KSBob+G6t2MgZnVzZXIoMSkgY8OzIHRo4buDIHTDrG0gdGjDtG5nIHRpblxuIgorIiAgICAgICAgY8OzIMOtY2ggduG7gSBjw6FjIHRp4bq/biB0csOsbmggxJFhbmcgZMO5bmcgdGhp4bq/dCBi4buLLikiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50cG9pbnQgbm90IGZvdW5kIgorbXNnc3RyICIlczoga2jDtG5nIHTDrG0gdGjhuqV5IMSRaeG7g20gZ+G6r24iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNTAKK21zZ2lkICJ1bmRlZmluZWQgbW91bnRwb2ludCIKK21zZ3N0ciAiY2jGsGEgxJHhu4tuaCBuZ2jEqWEgxJFp4buDbSBn4bqvbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdW5tb3VudCIKK21zZ3N0ciAiJXM6IHBo4bqjaSBsw6Agc2nDqnUgbmfGsOG7nWkgZMO5bmcgKHJvb3QpIMSR4buDIGLhu48gZ+G6r24iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJsb2NrIGRldmljZXMgYXJlIG5vdCBwZXJtaXR0ZWQgb24gZmlsZXN5c3RlbSIKK21zZ3N0ciAiJXM6IHRoaeG6v3QgYuG7iyBraOG7kWkga2jDtG5nIMSRxrDhu6NjIHRo4burYSBuaOG6rW4gdHLDqm4gaOG7hyB0aOG7kW5nIHThuq1wIHRpbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMwNworbXNnaWQgImZhaWxlZCB0byBzZXQgdW1vdW50IHRhcmdldCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSR4bq3dCDEkcOtY2ggYuG7jyBn4bqvbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMyMworbXNnaWQgImxpYm1vdW50IHRhYmxlIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJj4bqlcCBwaMOhdCBi4bqjbmcgbGlibW91bnQgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozNjYgc3lzLXV0aWxzL3Vtb3VudC5jOjQ0NgorbXNnaWQgImxpYm1vdW50IGl0ZXJhdG9yIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJj4bqlcCBwaMOhdCBi4buZIGzhurdwIGxpYm1vdW50IGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzcyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgY2hpbGQgZnMgb2YgJXMiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBs4bqleSBmcyAoaOG7hyB0aOG7kW5nIHThuq1wIHRpbikgY29uIGPhu6dhICVzIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NDEwIHN5cy11dGlscy91bW91bnQuYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBmb3VuZCIKK21zZ3N0ciAiJXM6IGtow7RuZyB0w6xtIHRo4bqleSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQ0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRldGVybWluZSBzb3VyY2UgKC0tYWxsLXRhcmdldHMgaXMgdW5zdXBwb3J0ZWQgb24gc3lzdGVtcyB3aXRoIHJlZ3VsYXIgbXRhYiBmaWxlKS4iCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgZMOyIHTDrG0gbmd14buTbiAoLS1hbGwtdGFyZ2V0cyBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyB0csOqbiBo4buHIHRo4buRbmcgduG7m2kgdOG6rXAgdGluIG10YWIgdGjGsOG7nW5nKS4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zZXRncm91cHMgYXJndW1lbnQgJyVzJyIKK21zZ3N0ciAiLS1zZXRncm91cHMga2jDtG5nIGjhu5cgdHLhu6MgdGhhbSBz4buRIOKAnCVz4oCdIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjExMCBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQgJXMiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBnaGk6ICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJvcGFnYXRpb24gbW9kZTogJXMiCittc2dzdHIgImtow7RuZyBo4buXIHRy4bujIMSR4buLbmggZOG6oW5nIHTDuXkgY2jhu41uOiAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNoYW5nZSByb290IGZpbGVzeXN0ZW0gcHJvcGFnYXRpb24iCittc2dzdHIgIiIKKyJUaGF5IMSR4buVaSBo4buHIHRo4buRbmcgdOG6rXAgdGluIGfhu5FjLlxuIgorIlxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRy4bqhbmcgdGjDoWkgKHN0YXQpIHbhu4EgJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjEzCisjLCBmdXp6eQorbXNnaWQgInBpcGUgZmFpbGVkIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgbeG7nyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGlwZSIKK21zZ3N0ciAixJHhu41jIHThu5FjIMSR4buZIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1MAorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBzb21lIG5hbWVzcGFjZXMgdW5zaGFyZWQgZnJvbSB0aGUgcGFyZW50LlxuIgorbXNnc3RyICJDaOG6oXkgbeG7mXQgY2jGsMahbmcgdHLDrG5oIHbhu5tpIG3hu5l0IHPhu5Ega2jDtG5nIGdpYW4gdMOqbiBraMO0bmcgY2hpYSBz4bq7IHThu6sgY2hhIG3hurkuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUzCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLW0sIC0tbW91bnRbPTxU4bqsUC1USU4+XSBuaOG6rXAgdsOgbyBraMO0bmcgZ2lhbiB0w6puIGfhuq9uXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU0CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIgLXUsIC0tdXRzWz08VOG6rFAtVElOPl0gIG5o4bqtcCB2w6BvIGtow7RuZyBnaWFuIHTDqm4gVVRTICh0w6puIG3DoXkgdi52Li4pXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU1CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLWksIC0taXBjWz08VOG6rFAtVElOPl0gIG5o4bqtcCB2w6BvIGtow7RuZyBnaWFuIHTDqm4g4oCcU3lzdGVtIFYgSVBD4oCdXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU2CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1uLCAtLW5ldFs9PFThuqxQLVRJTj5dICBuaOG6rXAgdsOgbyBraMO0bmcgZ2lhbiB0w6puIG3huqFuZ1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZFs9PFThuqxQLVRJTj5dICBuaOG6rXAgdsOgbyBraMO0bmcgZ2lhbiB0w6puIHBpZFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OAorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtVSwgLS11c2VyWz08VOG6rFAtVElOPl0gbmjhuq1wIHbDoG8ga2jDtG5nIGdpYW4gdMOqbiBuZ8aw4budaSBkw7luZ1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OQorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICAgICB1bnNoYXJlIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1tLCAtLW1vdW50Wz08VOG6rFAtVElOPl0gbmjhuq1wIHbDoG8ga2jDtG5nIGdpYW4gdMOqbiBn4bqvblxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MAorbXNnaWQgIiAtZiwgLS1mb3JrICAgICAgICAgICAgICAgIGZvcmsgYmVmb3JlIGxhdW5jaGluZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmsgICAgICAgICAgICAgICAgcuG6vSBuaMOhbmggdGnhur9uIHRyw6xuaCB0csaw4bubYyB0aOG7sWMgdGhpIDxjaMawxqFuZyB0csOsbmg+XG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYxCittc2dpZCAiICAgICAtLW1vdW50LXByb2NbPTxkaXI+XSAgbW91bnQgcHJvYyBmaWxlc3lzdGVtIGZpcnN0IChpbXBsaWVzIC0tbW91bnQpXG4iCittc2dzdHIgIiAgICAgLS1tb3VudC1wcm9jWz08ZGlyPl0gIGfhuq9uIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gcHJvYyB0csaw4bubYyAoa8OpbyB0aGVvIC0tbW91bnQpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYyCittc2dpZCAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbWFwIGN1cnJlbnQgdXNlciB0byByb290IChpbXBsaWVzIC0tdXNlcilcbiIKK21zZ3N0ciAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgw6FuaCB44bqhIG5nxrDhu51pIGTDuW5nIGhp4buHbiBuYXkgdGjDoG5oIHJvb3QgKMO9IGzDoCAtLXVzZXIpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYzCittc2dpZCAiIgorIiAgICAgLS1wcm9wYWdhdGlvbiBzbGF2ZXxzaGFyZWR8cHJpdmF0ZXx1bmNoYW5nZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZnkgbW91bnQgcHJvcGFnYXRpb24gaW4gbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjUKK21zZ2lkICIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIGNvbnRyb2wgdGhlIHNldGdyb3VwcyBzeXNjYWxsIGluIHVzZXIgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIMSRaeG7gXUga2hp4buDbiBjw7ogZ+G7jWkgaOG7hyB0aOG7kW5nIMSR4bq3dCBuaMOzbSB0cm9uZyBraMO0bmcgZ2lhbiB0w6puIG5nxrDhu51pIGTDuW5nXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6Mzg2Cittc2dpZCAidW5zaGFyZSBmYWlsZWQiCittc2dzdHIgInVuc2hhcmUgYuG7iyBs4buXaSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzAKK21zZ2lkICJjaGlsZCBleGl0IGZhaWxlZCIKK21zZ3N0ciAidGnhur9uIHRyw6xuaCBjb24gdGhvw6F0IGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzNworbXNnaWQgIm9wdGlvbnMgLS1zZXRncm91cHM9YWxsb3cgYW5kIC0tbWFwLXJvb3QtdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICJjw6FjIHTDuXkgY2jhu41uIC0tc2V0Z3JvdXBzPWFsbG93IHbDoCAtLW1hcC1yb290LXVzZXIgbG/huqFpIHRy4burIGzhuqtuIG5oYXUiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIGZhaWxlZCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGfhuq9uICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3MworbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICJDYXJkIHRyxrDhu5tjIMSRw6J5IGto4bufaSDEkeG7mW5nIGzhuqFpIENQVSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzQKK21zZ2lkICJFeHRlcm5hbCByZWxheSAxIgorbXNnc3RyICJSxqEtbGUgbuG7mWkgdOG6oWkgMSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzUKK21zZ2lkICJFeHRlcm5hbCByZWxheSAyIgorbXNnc3RyICJSxqEtbGUgbuG7mWkgdOG6oWkgMiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzYKK21zZ2lkICJGYW4gZmFpbGVkIgorbXNnc3RyICJRdeG6oXQgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc3Cittc2dpZCAiS2VlcCBhbGl2ZSBwaW5nIHJlcGx5IgorbXNnc3RyICJUcuG6oyBs4budaSB04burIGzhu4duaCBwaW5nIGTDuW5nIMSR4buDIGR1eSB0csOsIGvhur90IG7hu5FpIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OAorbXNnaWQgIlN1cHBvcnRzIG1hZ2ljIGNsb3NlIGNoYXIiCittc2dzdHIgIkjhu5cgdHLhu6Mga8O9IHThu7EgxJHDs25nIGvhu7MgZGnhu4d1IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OQorbXNnaWQgIlJlc2V0IGR1ZSB0byBDUFUgb3ZlcmhlYXQiCittc2dzdHIgIkto4bufaSDEkeG7mW5nIGzhuqFpIGLhu59pIHbDrCBDUFUgYuG7iyBxdcOhIG7Ds25nIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MAorbXNnaWQgIlBvd2VyIG92ZXIgdm9sdGFnZSIKK21zZ3N0ciAiUXXDoSDEkWnhu4duIMOhcCBuZ3Xhu5NuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MQorbXNnaWQgIlBvd2VyIGJhZC9wb3dlciBmYXVsdCIKK21zZ3N0ciAiTmd14buTbiDEkWnhu4duIHNhaS9s4buXaSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODIKK21zZ2lkICJQcmV0aW1lb3V0IChpbiBzZWNvbmRzKSIKK21zZ3N0ciAiUHJldGltZW91dCAodMOtbmggYuG6sW5nIGdpw6J5KSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODMKK21zZ2lkICJTZXQgdGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIsSQ4bq3dCB0aOG7nWkgZ2lhbiBjaOG7nSB04buRaSDEkWEgKHRoZW8gZ2nDonkpIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4NAorbXNnaWQgIk5vdCB0cmlnZ2VyIHJlYm9vdCIKK21zZ3N0ciAiS2jDtG5nIGLhuqt5IGto4bufaSDEkeG7mW5nIGzhuqFpIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDAKK21zZ2lkICJmbGFnIG5hbWUiCittc2dzdHIgInTDqm4gY+G7nSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAxCittc2dpZCAiZmxhZyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAibcO0IHThuqMgY+G7nSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAyCittc2dpZCAiZmxhZyBzdGF0dXMiCittc2dzdHIgInRy4bqhbmcgdGjDoWkgY+G7nSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAzCittc2dpZCAiZmxhZyBib290IHN0YXR1cyIKK21zZ3N0ciAidHLhuqFuZyB0aMOhaSBj4budICBraOG7n2kgxJHhu5luZyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTA0Cittc2dpZCAid2F0Y2hkb2cgZGV2aWNlIG5hbWUiCittc2dzdHIgInTDqm4gdGhp4bq/dCBi4buLIGdp4buvIG5ow6AgKHdhdGNoZG9nKSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmxhZzogJXMiCittc2dzdHIgImtow7RuZyBoaeG7g3UgY+G7nTogJXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE3NworbXNnaWQgIlNob3cgdGhlIHN0YXR1cyBvZiB0aGUgaGFyZHdhcmUgd2F0Y2hkb2cuXG4iCittc2dzdHIgIkhp4buDbiB0aOG7iyB0cuG6oW5nIHRow6FpIGPhu6dhIMSR4buTbmcgaOG7kyBnaeG7ryBuaMOgIHBo4bqnbiBj4bupbmcuXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE4MAorbXNnaWQgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICBwcmludCBzZWxlY3RlZCBmbGFncyBvbmx5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciBmbGFncyB0YWJsZVxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdCBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgcHJpbnQgb25seSBmbGFncyB0YWJsZSAoc2FtZSBhcyAtSSAtVClcbiIKK21zZ3N0ciAiIgorIiAtZiwgLS1mbGFncyA8bGlzdD4gICAgIGNo4buJIGhp4buDbiB0aOG7iyBuaOG7r25nIGPhu50gxJHDoyBjaOG7jW5cbiIKKyIgLUYsIC0tbm9mbGFncyAgICAgICAgICBraMO0bmcgaGnhu4NuIHRo4buLIGPDoWMgdOG6rXAgdGluIGNobyBjw6FjIGPhu51cbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBraMO0bmcgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gxJHhu4tuaCBkYW5oIHdhdGNoZG9nXG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAga2jDtG5nIGhp4buDbiB0aOG7iyDEkeG6p3UgxJHhu4EgY2hvIGLhuqNuZyBjw6FjIGPhu51cbiIKKyIgLU8sIC0tb25lbGluZSAgICAgICAgICBoaeG7g24gdGjhu4sgbeG7jWkgdGjDtG5nIHRpbiB0csOqbiBt4buZdCBkw7JuZ1xuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGhp4buDbiB0aOG7iyBjw6FjIGPhu5l0IHRoZW8gZGFuaCBzw6FjaFxuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHPhu60gZOG7pW5nIMSR4buLbmggZOG6oW5nIHRow7QgY2hvIGLhuqNuZyBjw6FjIGPhu51cbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBraMO0bmcgaGnhu4NuIHRo4buLIHRo4budaSBnaWFuIGNo4budIHThu5FpIMSRYSBj4bunYSB3YXRjaGRvZ1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IMSR4bq3dCB0aOG7nWkgZ2lhbiBjaOG7nSB04buRaSDEkWEgd2F0Y2hkb2dcbiIKKyIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICBjaOG7iSBoaeG7g24gdGjhu4sgYuG6o25nIGPDoWMgY+G7nSAoZ2nhu5FuZyB24bubaSAtSSAtVClcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZWZhdWx0IGRldmljZSBpcyAlcy5cbiIKK21zZ3N0ciAiVGhp4bq/dCBi4buLIG3hurdjIMSR4buLbmggbMOgICVzLlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxOTkKK21zZ2lkICJBdmFpbGFibGUgY29sdW1uczpcbiIKK21zZ3N0ciAiQ8OhYyBj4buZdCBz4bq1biBkw7luZzpcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIGZsYWdzIDB4JXhcbiIKK21zZ3N0ciAiJXM6IGtow7RuZyBoaeG7g3UgY+G7nSAweCV4XG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMxOSBzeXMtdXRpbHMvd2RjdGwuYzozNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhdGNoZG9nIGFscmVhZHkgaW4gdXNlLCB0ZXJtaW5hdGluZy4iCittc2dzdHIgIiVzOiB3YXRjaGRvZyDEkcOjIHPhurVuIMSRYW5nIHPhurVuIGTDuW5nLCDEkWFuZyBjaOG6pW0gZOG7qXQuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMzMgc3lzLXV0aWxzL3dkY3RsLmM6NDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGlzYXJtIHdhdGNoZG9nIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIGdp4bqjaSB0cuG7qyDEkeG7k25nIGjhu5MgZ2nhu68gbmjDoCAod2F0Y2hkb2cpIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0aW1lb3V0IGZvciAlcyIKK21zZ3N0ciAia2luaCB04bq/IMSR4bq3dCB0aOG7nWkgaOG6oW4gY2jhu50gY2hvICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kLlxuIgorbXNnaWRfcGx1cmFsICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmRzLlxuIgorbXNnc3RyWzBdICJUaOG7nWkgZ2lhbiBjaOG7nSB04buRaSDEkWEgxJHGsOG7o2MgxJHhurd0IHRow6BuaCAlZCBnacOieS5cbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGluZm9ybWF0aW9uIGFib3V0IHdhdGNoZG9nIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIGzhuqV5IHRow7RuZyB0aW4gduG7gSDEkeG7k25nIGjhu5MgZ2nhu68gbmjDoCAod2F0Y2hkb2cpIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjQgc3lzLXV0aWxzL3dkY3RsLmM6NDY3IHN5cy11dGlscy93ZGN0bC5jOjQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlLTE0cyAlMmkgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIiUtMTRzICUyaSBzZWNvbmRzXG4iCittc2dzdHJbMF0gIiUtMTVzICUyaSBnacOieVxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjUKK21zZ2lkICJUaW1lb3V0OiIKK21zZ3N0ciAiVGjhu51pIGdpYW4gY2jhu50gdOG7kWkgxJFhOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY4Cittc2dpZCAiUHJlLXRpbWVvdXQ6IgorbXNnc3RyICJQcmUtdGltZW91dDoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ3MQorbXNnaWQgIlRpbWVsZWZ0OiIKK21zZ3N0ciAiQ8OybjoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNQorbXNnaWQgIkRldmljZToiCittc2dzdHIgIlRoaeG6v3QgYuG7izoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNworbXNnaWQgIklkZW50aXR5OiIKK21zZ3N0ciAixJDhu4tuaCBkYW5oOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA5Cittc2dpZCAidmVyc2lvbiIKK21zZ3N0ciAicGhpw6puIGLhuqNuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjczCittc2dpZCAienJhbSBkZXZpY2UgbmFtZSIKK21zZ3N0ciAidMOqbiB0aGnhur90IGLhu4sgenJhbSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NAorbXNnaWQgImxpbWl0IG9uIHRoZSB1bmNvbXByZXNzZWQgYW1vdW50IG9mIGRhdGEiCittc2dzdHIgImdp4bubaSBo4bqhbiB04buVbmcgZOG7ryBsaeG7h3UgY2jGsGEgbsOpbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NQorbXNnaWQgInVuY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICJj4buhIGNoxrBhIG7DqW4gY+G7p2EgZOG7ryBsaeG7h3UgbMawdSB0cuG7ryIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NgorbXNnaWQgImNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAiY+G7oSBzYXUgbsOpbiBj4bunYSBk4buvIGxp4buHdSBsxrB1IHRy4buvIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc3Cittc2dpZCAidGhlIHNlbGVjdGVkIGNvbXByZXNzaW9uIGFsZ29yaXRobSIKK21zZ3N0ciAidGh14bqtdCB0b8OhbiBuw6luIMSRw6MgY2jhu41uIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc4Cittc2dpZCAibnVtYmVyIG9mIGNvbmN1cnJlbnQgY29tcHJlc3Mgb3BlcmF0aW9ucyIKK21zZ3N0ciAic+G7kSBsxrDhu6NuZyB0aGFvIHTDoWMgbsOpbiDEkeG7k25nIHRo4budaSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OQorbXNnaWQgImVtcHR5IHBhZ2VzIHdpdGggbm8gYWxsb2NhdGVkIG1lbW9yeSIKK21zZ3N0ciAidHJhbmcgdHLhu5FuZyB24bubaSBraMO0bmcgYuG7mSBuaOG7myBj4bqlcCBwaMOhdCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MAorbXNnaWQgImFsbCBtZW1vcnkgaW5jbHVkaW5nIGFsbG9jYXRvciBmcmFnbWVudGF0aW9uIGFuZCBtZXRhZGF0YSBvdmVyaGVhZCIKK21zZ3N0ciAibeG7jWkgYuG7mSBuaOG7myBiYW8gZ+G7k20gY8OhYyBt4bqjbmggcGjDom4gxJHhu4tuaCB2w6AgdOG7lW5nIHBow60gZOG7ryBsaeG7h3UgbWV0YSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MQorIywgZnV6enkKK21zZ2lkICJtZW1vcnkgbGltaXQgdXNlZCB0byBzdG9yZSBjb21wcmVzc2VkIGRhdGEiCittc2dzdHIgImdp4bubaSBo4bqhbiB04buVbmcgZOG7ryBsaeG7h3UgY2jGsGEgbsOpbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MgorIywgZnV6enkKK21zZ2lkICJtZW1vcnkgenJhbSBoYXZlIGJlZW4gY29uc3VtZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICJnaeG7m2kgaOG6oW4gdOG7lW5nIGThu68gbGnhu4d1IGNoxrBhIG7DqW4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyIG9mIG9iamVjdHMgbWlncmF0ZWQgYnkgY29tcGFjdGlvbiIKK21zZ3N0ciAic+G7kSBsxrDhu6NuZyB0aGFvIHTDoWMgbsOpbiDEkeG7k25nIHRo4budaSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzozNjMgc3lzLXV0aWxzL3pyYW1jdGwuYzozNzQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIG1tX3N0YXQiCittc2dzdHIgImfhurdwIGzhu5dpIHBow6JuIHTDrWNoIGLhuq90IMSR4bqndSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorIiAlMSRzIC1yIDxkZXZpY2U+IFsuLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGRldmljZT4gLXMgPHNpemU+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbY8OhYyB0w7l5IGNo4buNbl0gPHRoaeG6v3QgYuG7iz5cbiIKKyIgJTEkcyAtciA8dGhp4bq/dCBi4buLPiBb4oCmXVxuIgorIiAlMSRzIFtjw6FjIHTDuXkgY2jhu41uXSAtZiB8IDx0aGnhur90IGLhu4s+IC1zIDxj4buhPlxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUyNworbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCB6cmFtIGRldmljZXMuXG4iCittc2dzdHIgIkPDoGkgxJHhurd0IHbDoCDEkWnhu4F1IGtoaeG7g24gY8OhYyB0aGnhur90IGLhu4sgenJhbS5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzAKK21zZ2lkICIgLWEsIC0tYWxnb3JpdGhtIGx6b3xsejQgICBjb21wcmVzc2lvbiBhbGdvcml0aG0gdG8gdXNlXG4iCittc2dzdHIgIiAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NCAgIHRodeG6rXQgdG/DoW4gbsOpbiBtdeG7kW4gZMO5bmdcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzEKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIGPhu6EgdGhlbyBieXRlIHRoYXkgdsOsIGThuqFuZyBkw6BuaCBjaG8gY29uIG5nxrDhu51pIMSR4buNY1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMgorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIGZpbmQgYSBmcmVlIGRldmljZVxuIgorbXNnc3RyICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICB0w6xtIHRoaeG6v3QgYuG7iyBjw7JuIHLhuqNuaFxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMworbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIGtow7RuZyBpbiBwaOG6p24gxJHhuqd1XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM0Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dFs9PGxpc3Q+XSAgICAgxJHhu4tuaCBuZ2jEqWEgY8OhYyBj4buZdCBz4bq9IGhp4buDbiB0aOG7iyByYVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzNQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIHVzZSByYXcgc3RhdHVzIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgZMO5bmcgxJHhu4tuaCBk4bqhbmcgdGjDtCBjaG8ga+G6v3QgeHXhuqV0XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM2Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIMSR4bq3dCBs4bqhaSBt4buNaSB0aGnhur90IGLhu4sgxJHDoyBjaG9cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzcKK21zZ2lkICIgLXMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgLXMsIC0tc2l6ZSA8Y+G7oT4gICAgICAgICAgIGPhu6EgdGhp4bq/dCBi4buLXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM4Cittc2dpZCAiIC10LCAtLXN0cmVhbXMgPG51bWJlcj4gICAgbnVtYmVyIG9mIGNvbXByZXNzaW9uIHN0cmVhbXNcbiIKK21zZ3N0ciAiIC10LCAtLXN0cmVhbXMgPHPDtD4gICAgICAgIHPhu5EgbHXhu5NuZyBuw6luXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjA0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGFsZ29yaXRobTogJXMiCittc2dzdHIgInRodeG6rXQgdG/DoW4ga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6M6ICVzIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYyNgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdHJlYW1zIgorbXNnc3RyICJn4bq3cCBs4buXaSBwaMOibiB0w61jaCBjw6FjIGTDsm5nIGThu68gbGnhu4d1IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY0OAorbXNnaWQgIm9wdGlvbiAtLWZpbmQgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPGRldmljZT4iCittc2dzdHIgInTDuXkgY2jhu41uIC0tZmluZCBsb+G6oWkgdHLhu6sgduG7m2kgPHRoaeG6v3QgYuG7iz4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjU0Cittc2dpZCAib25seSBvbmUgPGRldmljZT4gYXQgYSB0aW1lIGlzIGFsbG93ZWQiCittc2dzdHIgImNo4buJIG3hu5l0IDx0aGnhur90IGLhu4s+IMSRxrDhu6NjIGTDuW5nIHThuqFpIG3hu5l0IHRo4budaSDEkWnhu4NtIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NworbXNnaWQgIm9wdGlvbnMgLS1hbGdvcml0aG0gYW5kIC0tc3RyZWFtcyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggLS1zaXplIgorbXNnc3RyICJ0w7l5IGNo4buNbiAtLWFsZ29yaXRobSB2w6AgLS1zdHJlYW1zIGtow7RuZyB0aOG7gyB04buVIGjhu6NwIGPDuW5nIHbhu5tpIC0tc2l6ZSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODcgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZXNldCIKK21zZ3N0ciAiICVzOiBn4bq3cCBs4buXaSBraGkgxJHhurd0IGzhuqFpIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY5OCBzeXMtdXRpbHMvenJhbWN0bC5jOjcwNgorbXNnaWQgIm5vIGZyZWUgenJhbSBkZXZpY2UgZm91bmQiCittc2dzdHIgImtow7RuZyB0w6xtIHRo4bqleSB0aGnhur90IGLhu4sgenJhbSBjw7JuIHLhuqNuaCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgbnVtYmVyIG9mIHN0cmVhbXMiCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgxJHhurd0IHPhu5EgY+G7p2EgbHXhu5NuZyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYWxnb3JpdGhtIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIMSR4bq3dCB0aHXhuq10IHRvw6FuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBkaXNrc2l6ZSAoJWp1IGJ5dGVzKSIKK21zZ3N0ciAiJXM6IGfhurdwIGzhu5dpIGtoaSDEkeG6t3QgY+G7oSDEkcSpYSAoJWp1IGJ5dGUpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjQ1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzIChhdXRvbWF0aWMgbG9naW4pXG4iCittc2dzdHIgIiVzJXMgKMSRxINuZyBuaOG6rXAgdOG7sSDEkeG7mW5nKVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHJvb3QgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBjaHV54buDbiDEkeG7lWkgdGjGsCBt4bulYyBn4buRYyAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugd29ya2luZyBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczoga2jDtG5nIHRo4buDIHRoYXkgxJHhu5VpIHRoxrAgbeG7pWMgbMOgbSB2aeG7h2MgJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHByb2Nlc3MgcHJpb3JpdHk6ICVtIgorbXNnc3RyICIlczoga2jDtG5nIHRo4buDIHRoYXkgxJHhu5VpIG3hu6ljIMawdSB0acOqbiBj4bunYSB0aeG6v24gdHLDrG5oOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGV4ZWMgJXM6ICVtIgorbXNnc3RyICIlczoga2jDtG5nIHRo4buxYyBoaeG7h24gxJHGsOG7o2MgJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjU1NSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg0MSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg1MworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzAgdGVybS11dGlscy9hZ2V0dHkuYzoxNDE1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQzMworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDY5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ3OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE1MTYKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk3OCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeTogJW0iCittc2dzdHIgImtow7RuZyBj4bqlcCBwaMOhcCDEkcaw4bujYyBi4buZIG5o4bubOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo2ODAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBkZWxheSBhcmd1bWVudCIKK21zZ3N0ciAixJHhu5FpIHPhu5EgdHLhu6Uga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzE5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtLWxvY2FsLWxpbmUiCittc2dzdHIgIsSR4buRaSBz4buRIGNobyB0w7l5IGNo4buNbiDigJwtLWxvY2FsLWxpbmXigJ0ga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzM4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbmljZSBhcmd1bWVudCIKK21zZ3N0ciAidGhhbSBz4buRIHRo4budaSBnaWFuIGtow7RuZyBo4bujcCBs4buHIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3BlZWQ6ICVzIgorbXNnc3RyICJ04buRYyDEkeG7mSBzYWk6ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3NworbXNnaWQgInRvbyBtYW55IGFsdGVybmF0ZSBzcGVlZHMiCittc2dzdHIgInF1w6Egbmhp4buBdSB04buRYyDEkeG7mSBsdcOibiBwaGnDqm4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAwNiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMTAgdGVybS11dGlscy9hZ2V0dHkuYzoxMDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBvcGVuIGFzIHN0YW5kYXJkIGlucHV0OiAlbSIKK21zZ3N0ciAia2jDtG5nIG3hu58gxJHGsOG7o2MgL2Rldi8lcyBuaMawIG3hu5l0IMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4gKHN0ZGluKTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAyOQorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSBjaGFyYWN0ZXIgZGV2aWNlIgorbXNnc3RyICIvZGV2LyVzOiBraMO0bmcgcGjhuqNpIHRoaeG6v3QgYuG7iyBrw70gdOG7sSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIHR0eSIKK21zZ3N0ciAiL2Rldi8lczoga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgdHR5IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzUgdGVybS11dGlscy9hZ2V0dHkuYzoxMDY3CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBnZXQgY29udHJvbGxpbmcgdHR5OiAlbSIKK21zZ3N0ciAiL2Rldi8lczoga2jDtG5nIHRo4buDIGzhuqV5IHR0eSDEkWnhu4F1IGtoaeG7g246ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogdmhhbmd1cCgpIGZhaWxlZDogJW0iCittc2dzdHIgIi9kZXYvJXM6IHZoYW5ndXAoKSBn4bq3cCBs4buXaTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG9wZW4gZm9yIHJlYWQvd3JpdGUiCittc2dzdHIgIiVzOiBraMO0bmcgbeG7nyDEkcaw4bujYyDEkeG7jWMvdmnhur90IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IHNldCBwcm9jZXNzIGdyb3VwOiAlbSIKK21zZ3N0ciAiL2Rldi8lczoga2jDtG5nIHRo4buDIMSR4bq3dCBuaMOzbSB0aeG6v24gdHLDrG5oOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkdXAgcHJvYmxlbTogJW0iCittc2dzdHIgIiVzOiB24bqlbiDEkeG7gSBraGkgZHVwOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIGzhuqV5IGPDoWMgdGh14buZYyB0w61uaCB0aGnhur90IGLhu4sgY3Xhu5FpOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMzIxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXMgZmFpbGVkOiAlbSIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGPDoGkgxJHhurd0IGPDoWMgdGh14buZYyB0w61uaCB0aGnhur90IGLhu4sgY3Xhu5FpOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDU5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIG9zLXJlbGVhc2UgZmlsZSIKK21zZ3N0ciAia2jDtG5nIG3hu58gxJHGsOG7o2MgdOG6rXAgdGluIGtow7NhICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE2MzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcmVsb2FkIGZpbGU6ICVzOiAlbSIKK21zZ3N0ciAibOG7l2kgxJHhu41jIHThuq1wIHRpbiBi4bqjbiDEkcOhbmggbcOheSAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzM2Cittc2dpZCAiW3ByZXNzIEVOVEVSIHRvIGxvZ2luXSIKK21zZ3N0ciAiW2LhuqVtIEVOVEVSIMSR4buDIMSRxINuZyBuaOG6rXBdIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjAKK21zZ2lkICJOdW0gTG9jayBvZmYiCittc2dzdHIgIlThuq90IHBow61tIE51bSBMb2NrIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjMKK21zZ2lkICJOdW0gTG9jayBvbiIKK21zZ3N0ciAiQuG6rXQgcGjDrW0gTnVtIExvY2siCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2NgorbXNnaWQgIkNhcHMgTG9jayBvbiIKK21zZ3N0ciAiQuG6rXQgcGjDrW0gQ2FwcyBMb2NrIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjkKK21zZ2lkICJTY3JvbGwgTG9jayBvbiIKK21zZ3N0ciAiQuG6rXQgcGjDrW0gU2Nyb2xsIExvY2siCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc3MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSGludDogJXNcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlTDrG0gdGjhuqV5OiAlc1xuIgorIlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQ6ICVtIgorbXNnc3RyICIlczogxJHhu41jOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnB1dCBvdmVycnVuIgorbXNnc3RyICIlczogdGjhu6thIGThu68gbGnhu4d1IHbDoG8iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgY2hhcmFjdGVyIGNvbnZlcnNpb24gZm9yIGxvZ2luIG5hbWUiCittc2dzdHIgIiVzOiBjaHV54buDbiDEkeG7lWkga8O9IHThu7Ega2jDtG5nIGjhu6NwIGzhu4cgY2hvIHTDqm4gxJHEg25nIG5o4bqtcCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciAweCV4IGluIGxvZ2luIG5hbWUiCittc2dzdHIgIiVzOiBrw70gdOG7sSAweCV4IGtow7RuZyBo4bujcCBs4buHIHRyb25nIHTDqm4gxJHEg25nIG5o4bqtcCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIMSR4bq3dCBjw6FjIHRodeG7mWMgdMOtbmggdGhp4bq/dCBi4buLIGN14buRaTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEwOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxsaW5lPiBbPGJhdWRfcmF0ZT4sLi4uXSBbPHRlcm10eXBlPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGJhdWRfcmF0ZT4sLi4uIDxsaW5lPiBbPHRlcm10eXBlPl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtjw6FjIHTDuXkgY2jhu41uXSA8bGluZT4gWzxiYXVkX3JhdGU+LOKApl0gWzx0ZXJtdHlwZT5dXG4iCisiICUxJHMgW2PDoWMgdMO5eSBjaOG7jW5dIDxiYXVkX3JhdGU+LOKApiA8bGluZT4gWzx0ZXJtdHlwZT5dXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExMworbXNnaWQgIk9wZW4gYSB0ZXJtaW5hbCBhbmQgc2V0IGl0cyBtb2RlLlxuIgorbXNnc3RyICJN4bufIG3hu5l0IHRoaeG6v3QgYuG7iyBjdeG7kWkgdsOgIMSR4bq3dCBjaOG6vyDEkeG7mSBj4bunYSBuw7MuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExNgorbXNnaWQgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBhc3N1bWUgOC1iaXQgdHR5XG4iCittc2dzdHIgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBjb2kgbMOgIHR0eSA4LWJpdFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTcKK21zZ2lkICIgLWEsIC0tYXV0b2xvZ2luIDx1c2VyPiAgICAgbG9naW4gdGhlIHNwZWNpZmllZCB1c2VyIGF1dG9tYXRpY2FsbHlcbiIKK21zZ3N0ciAiIC1hLCAtLWF1dG9sb2dpbiA8dXNlcj4gICAgIMSRxINuZyBuaOG6rXAgduG7m2kgdMOgaSBraG/huqNuIMSRw6MgY2jhu4kgxJHhu4tuaCBt4buZdCBjw6FjaCB04buxIMSR4buZbmdcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE4Cittc2dpZCAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGRvIG5vdCByZXNldCBjb250cm9sIG1vZGVcbiIKK21zZ3N0ciAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGtow7RuZyDEkeG6t3QgbOG6oWkgY2jhur8gxJHhu5kgxJFp4buBdSBraGnhu4NuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExOQorbXNnaWQgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICB1c2UgLXIgPGhvc3RuYW1lPiBmb3IgbG9naW4oMSlcbiIKK21zZ3N0ciAiIC1FLCAtLXJlbW90ZSAgICAgICAgICAgICAgIGTDuW5nIC1yIDx0w6puLW3DoXk+IGTDoG5oIGNobyBsb2dpbigxKVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjAKK21zZ2lkICIgLWYsIC0taXNzdWUtZmlsZSA8ZmlsZT4gICAgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiAtZiwgLS1pc3N1ZS1maWxlIDxU4bqsUC1USU4+IGhp4buDbiB0aOG7iyB04bqtcCB0aW4gxJHGsGEgcmFcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIxCittc2dpZCAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIGVuYWJsZSBoYXJkd2FyZSBmbG93IGNvbnRyb2xcbiIKK21zZ3N0ciAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIGLhuq10IMSRaeG7gXUga2hp4buDbiB0csOgbiBwaOG6p24gY+G7qW5nXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMgorbXNnaWQgIiAtSCwgLS1ob3N0IDxob3N0bmFtZT4gICAgICBzcGVjaWZ5IGxvZ2luIGhvc3RcbiIKK21zZ3N0ciAiIC1ILCAtLWhvc3QgPHTDqm4gbcOheT4gICAgICAgY2jhu4kgxJHhu4tuaCB0w6puIG3DoXkgY2jhu6cgxJHEg25nIG5o4bqtcFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjMKK21zZ2lkICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgZG8gbm90IGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAga2jDtG5nIGhp4buDbiB0aOG7iyB04bqtcCB0aW4gcGjDoXQgcmFcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI0Cittc2dpZCAiIC1JLCAtLWluaXQtc3RyaW5nIDxzdHJpbmc+IHNldCBpbml0IHN0cmluZ1xuIgorbXNnc3RyICIgLUksIC0taW5pdC1zdHJpbmcgPGNodeG7l2k+ICDEkeG6t3QgY2h14buXaSBraOG7n2kgdOG6oW9cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI1Cittc2dpZCAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIGRvIG5vdCBjbGVhciB0aGUgc2NyZWVuIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIGtow7RuZyB4w7NhIG3DoG4gaMOsbmggdHLGsOG7m2MgZOG6pXUgbmjhuq9jXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNgorbXNnaWQgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBzcGVjaWZ5IGxvZ2luIHByb2dyYW1cbiIKK21zZ3N0ciAiIC1sLCAtLWxvZ2luLXByb2dyYW0gPFQuVGluPiBjaOG7iSDEkeG7i25oIGNoxrDGoW5nIHRyw6xuaCDEkcSDbmcgbmjhuq1wXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNworbXNnaWQgIiAtTCwgLS1sb2NhbC1saW5lWz08bW9kZT5dICBjb250cm9sIHRoZSBsb2NhbCBsaW5lIGZsYWdcbiIKK21zZ3N0ciAiIC1MLCAtLWxvY2FsLWxpbmVbPTxjaOG6v8SR4buZPl0gxJFp4buBdSBraGnhu4NuIGPhu50gZMOieSBu4buZaSBi4buZXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyOAorbXNnaWQgIiAtbSwgLS1leHRyYWN0LWJhdWQgICAgICAgICBleHRyYWN0IGJhdWQgcmF0ZSBkdXJpbmcgY29ubmVjdFxuIgorbXNnc3RyICIgLW0sIC0tZXh0cmFjdC1iYXVkICAgICAgICAgdHLDrWNoIHThu5FjIMSR4buZIGJhdWQgdHJvbmcgcXXDoSB0csOsbmgga+G6v3QgbuG7kWlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI5Cittc2dpZCAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGRvIG5vdCBwcm9tcHQgZm9yIGxvZ2luXG4iCittc2dzdHIgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBraMO0bmcgbmjhuq9jIMSRxINuZyBuaOG6rXBcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMwCittc2dpZCAiIC1OICAtLW5vbmV3bGluZSAgICAgICAgICAgIGRvIG5vdCBwcmludCBhIG5ld2xpbmUgYmVmb3JlIGlzc3VlXG4iCittc2dzdHIgIiAtTiAgLS1ub25ld2xpbmUgICAgICAgICAgICBraMO0bmcgaW4gbeG7mXQga8O9IGhp4buHdSBkw7JuZyBt4bubaSB0csaw4bubYyBwaMOhdCBow6BuaFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzEKK21zZ2lkICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8b3B0cz4gb3B0aW9ucyB0aGF0IGFyZSBwYXNzZWQgdG8gbG9naW5cbiIKK21zZ3N0ciAiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPG9wdHM+IGPDoWMgdMO5eSBjaOG7jW4gY2h1eeG7g24gcXVhIGNobyBsb2dpblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzIKK21zZ2lkICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICBjaOG7nSBi4bqlbSBwaMOtbSBi4bqldCBr4buzIHRyxrDhu5tjIGtoaSDEkcSDbmcgbmjhuq1wXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMworbXNnaWQgIiAtciwgLS1jaHJvb3QgPGRpcj4gICAgICAgICBjaGFuZ2Ugcm9vdCB0byB0aGUgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtciwgLS1jaHJvb3QgPHQubeG7pWM+ICAgICAgIHRoYXkgxJHhu5VpIHRoxrAgbeG7pWMgZ+G7kWMgc2FuZyB0aMawIG3hu6VjXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNAorbXNnaWQgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICBkbyB2aXJ0dWFsbHkgaGFuZ3VwIG9uIHRoZSB0dHlcbiIKK21zZ3N0ciAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgIHRo4buxYyBoaeG7h24gdmnhu4djIHRyZW8g4bqjbyB0csOqbiB0dHlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM1Cittc2dpZCAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIHRyeSB0byBrZWVwIGJhdWQgcmF0ZSBhZnRlciBicmVha1xuIgorbXNnc3RyICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgdGjhu60gZ2nhu68gdOG7kWMgxJHhu5kgYmF1ZCBzYXUgbmfhuq90XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNgorbXNnaWQgIiAtdCwgLS10aW1lb3V0IDxudW1iZXI+ICAgICBsb2dpbiBwcm9jZXNzIHRpbWVvdXRcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWVvdXQgPHPhu5E+ICAgICAgICAgdGjhu51pIGjhuqFuIGNo4budIHRp4bq/biB0csOsbmggdOG7kWkgxJFhXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNworbXNnaWQgIiAtVSwgLS1kZXRlY3QtY2FzZSAgICAgICAgICBkZXRlY3QgdXBwZXJjYXNlIHRlcm1pbmFsXG4iCittc2dzdHIgIiAtVSwgLS1kZXRlY3QtY2FzZSAgICAgICAgICBwaMOibiBiaeG7h3QgSE9BL3RoxrDhu51uZyB0aGnhur90IGLhu4sgY3Xhu5FpXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzOAorbXNnaWQgIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICB3YWl0IGNhcnJpYWdlLXJldHVyblxuIgorbXNnc3RyICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgxJHhu6NpIGvDvSBoaeG7h3UgduG7gSDEkeG6p3UgZMOybmdcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM5Cittc2dpZCAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIGRvIG5vdCBwcmludCBoaW50c1xuIgorbXNnc3RyICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAgS2jDtG5nIGfhu6NpIMO9XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MAorbXNnaWQgIiAgICAgLS1ub2hvc3RuYW1lICAgICAgICAgICBubyBob3N0bmFtZSBhdCBhbGwgd2lsbCBiZSBzaG93blxuIgorbXNnc3RyICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAga2jDtG5nIGhp4buDbiB0aOG7iyB0w6puIG3DoXlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQxCittc2dpZCAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIHNob3cgZnVsbCBxdWFsaWZpZWQgaG9zdG5hbWVcbiIKK21zZ3N0ciAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIGhp4buDbiB0aOG7iyB0w6puIG3DoXkgxJHhu6cgxJFp4buBdSBraeG7h24gZOG6oW5nIMSR4bqneSDEkeG7p1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDIKK21zZ2lkICIgICAgIC0tZXJhc2UtY2hhcnMgPHN0cmluZz4gYWRkaXRpb25hbCBiYWNrc3BhY2UgY2hhcnNcbiIKK21zZ3N0ciAiICAgICAtLWVyYXNlLWNoYXJzIDxjaHXhu5dpPiAgY8OhYyBrw70gdOG7sSB4w7NhIGzDuWkgcGjhu6UgdGjDqm1cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQzCittc2dpZCAiICAgICAtLWtpbGwtY2hhcnMgPHN0cmluZz4gIGFkZGl0aW9uYWwga2lsbCBjaGFyc1xuIgorbXNnc3RyICIgICAgIC0ta2lsbC1jaGFycyA8Y2h14buXaT4gICBjw6FjIGvDvSB04buxIGdp4bq/dCBi4buVIHh1bmdcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ0Cittc2dpZCAiICAgICAtLWNoZGlyIDxkaXJlY3Rvcnk+ICAgIGNoZGlyIGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiICAgICAtLWNoZGlyIDx0aMawLW3hu6VjPiAgICAgIMSR4buVaSB0aMawIG3hu6VjIHRyxrDhu5tjIGtoaSDEkcSDbmcgbmjhuq1wXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NQorbXNnaWQgIiAgICAgLS1kZWxheSA8bnVtYmVyPiAgICAgICBzbGVlcCBzZWNvbmRzIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiICAgICAtLWRlbGF5IDxz4buRPiAgICAgICAgICAgbmdo4buJIHRyxrDhu5tjIGtoaSBuaOG6r2NcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ2Cittc2dpZCAiICAgICAtLW5pY2UgPG51bWJlcj4gICAgICAgIHJ1biBsb2dpbiB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiICAgICAtLW5pY2UgPHPhu5E+ICAgICAgICAgICAgY2jhuqF5IMSRxINuZyBuaOG6rXAgduG7m2kgbeG7qWMgxrB1IHRpw6puIG7DoHlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ3Cittc2dpZCAiICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgIHJlbG9hZCBwcm9tcHRzIG9uIHJ1bm5pbmcgYWdldHR5IGluc3RhbmNlc1xuIgorbXNnc3RyICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgbOG6pXkgbOG6oWkgZOG6pXUgbmjhuq9jIHRyw6puIG1pbmggZOG7pSBhZ2V0dHkgxJFhbmcgY2jhuqF5XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0OAorbXNnaWQgIiAgICAgLS1oZWxwICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHkgcuG7k2kgdGhvw6F0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0OQorbXNnaWQgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI0ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgdXNlciIKK21zZ2lkX3BsdXJhbCAiJWQgdXNlcnMiCittc2dzdHJbMF0gIiVkIHTDoGkga2hv4bqjbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjA5CisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNrbmFtZSBmYWlsZWQ6ICVtIgorbXNnc3RyICJjaGVja25hbWUgZ+G6t3AgbOG7l2k6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHRvdWNoIGZpbGUgJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyBjaOG6oW0gdOG6rXAgdGluICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MjUKK21zZ2lkICItLXJlbG9hZCBpcyB1bnN1cHBvcnRlZCBvbiB5b3VyIHN5c3RlbSIKK21zZ3N0ciAiaOG7hyB0aOG7kW5nIGPhu6dhIGLhuqFuIGtow7RuZyBo4buXIHRy4bujIC0tcmVsb2FkIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFt5IHwgbl1cbiIKK21zZ3N0ciAiICVzIFtjw6FjIHTDuXkgY2jhu41uXSBbYyB8IGtdXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc4Cittc2dpZCAiQ29udHJvbCB3cml0ZSBhY2Nlc3Mgb2Ygb3RoZXIgdXNlcnMgdG8geW91ciB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAixJBp4buBdSBraGnhu4NuIHRydXkgY+G6rXAgZ2hpIGPhu6dhIGPDoWMgbmfGsOG7nWkgZMO5bmcga2jDoWMgxJHhur9uIHRoaeG6v3QgYuG7iyBjdeG7kWkgY+G7p2EgYuG6oW4uXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjgxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICBnaeG6o2kgdGjDrWNoIMSRYW5nIGzDoG0gbmjhu69uZyBnw6xcbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTI1Cittc2dpZCAidHR5bmFtZSBmYWlsZWQiCittc2dzdHIgInR0eW5hbWUgYuG7iyBs4buXaSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM0Cittc2dpZCAiaXMgeSIKK21zZ3N0ciAibMOgIGMiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNworbXNnaWQgImlzIG4iCittc2dzdHIgImzDoCBrIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNDggdGVybS11dGlscy9tZXNnLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZSAlcyBtb2RlIGZhaWxlZCIKK21zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIMSR4buVaSBjaOG6vyDEkeG7mSAlcyIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTUwCittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgYWxsb3dlZCIKK21zZ3N0ciAicXV54buBbiB0cnV5IGPhuq1wIGdoaSB04bubaSB0aGnhur90IGLhu4sgY3Xhu5FpIGPhu6dhIGLhuqFuIGzDoCDEkcaw4bujYyBwaMOpcCIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTU3Cittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgZGVuaWVkIgorbXNnc3RyICJxdXnhu4FuIHRydXkgY+G6rXAgZ2hpIHThu5tpIHRoaeG6v3QgYuG7iyBjdeG7kWkgY+G7p2EgYuG6oW4gYuG7iyB04burIGNo4buRaSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICLEkeG7kWkgc+G7kSBraMO0bmcgaOG7o3AgbOG7hzogJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVdXG4iCittc2dzdHIgIiVzIFtUVeG7sl9DSOG7jE5dIFtU4bqsUF9USU5dXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTYyCittc2dpZCAiTWFrZSBhIHR5cGVzY3JpcHQgb2YgYSB0ZXJtaW5hbCBzZXNzaW9uLlxuIgorbXNnc3RyICJU4bqhbyB2xINuIGtp4buHbiBj4bunYSBwaGnDqm4gdGhp4bq/dCBi4buLIGN14buRaS5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjUKK21zZ2lkICIiCisiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgIGFwcGVuZCB0aGUgb3V0cHV0XG4iCisiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+IHJ1biBjb21tYW5kIHJhdGhlciB0aGFuIGludGVyYWN0aXZlIHNoZWxsXG4iCisiIC1lLCAtLXJldHVybiAgICAgICAgICAgIHJldHVybiBleGl0IGNvZGUgb2YgdGhlIGNoaWxkIHByb2Nlc3NcbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAgcnVuIGZsdXNoIGFmdGVyIGVhY2ggd3JpdGVcbiIKKyIgICAgIC0tZm9yY2UgICAgICAgICAgICAgdXNlIG91dHB1dCBmaWxlIGV2ZW4gd2hlbiBpdCBpcyBhIGxpbmtcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgYmUgcXVpZXRcbiIKKyIgLXQsIC0tdGltaW5nWz08ZmlsZT5dICAgb3V0cHV0IHRpbWluZyBkYXRhIHRvIHN0ZGVyciAob3IgdG8gRklMRSlcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICBu4buRaSB0aMOqbSB2w6BvIGvhur90IHh14bqldFxuIgorIiAtYywgLS1jb21tYW5kIDxs4buHbmg+ICAgIGNo4bqheSBs4buHbmggdGhheSB2w6wgaOG7hyB24buPIHTGsMahbmcgdMOhY1xuIgorIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICB0cuG6oyB24buBIG3DoyBj4bunYSBxdcOhIHRyw6xuaCBjb25cbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAgY2jhuqF5IGzhu4duaCBmbHVzaCBzYXUgbeG7l2kgbOG6p24gZ2hpXG4iCisiICAgICAtLWZvcmNlICAgICAgICAgICAgIHPhu60gZOG7pW5nIHThuq1wIHRpbiBr4bq/dCB4deG6pXQgbmdheSBj4bqjIGtoaSBuw7MgbMOgIG3hu5l0IGxpw6puIGvhur90XG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIGltIGzhurduZ1xuIgorIiAtdCwgLS10aW1pbmdbPTxU4bqsUC1USU4+XSBr4bq/dCB4deG6pXQgZOG7ryBsaeG7h3UgdGjhu51pIGdpYW4gdOG7m2kgc3RkZXJyIChoYXkgdOG7m2kgVOG6rFAtVElOKVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB24buBIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHkgcuG7k2kgdGhvw6F0XG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJvdXRwdXQgZmlsZSBgJXMnIGlzIGEgbGlua1xuIgorIlVzZSAtLWZvcmNlIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuXG4iCisiUHJvZ3JhbSBub3Qgc3RhcnRlZC4iCittc2dzdHIgIiIKKyJ04bqtcCB0aW4ga+G6v3QgeHXhuqV0IOKAnCVz4oCdIGzDoCBt4buZdCBsacOqbiBr4bq/dC5cbiIKKyJIw6N5IGTDuW5nIOKAnC0tZm9yY2XigJ0gbuG6v3UgdGjhu7FjIHPhu7EgbXXhu5FuIHPhu60gZOG7pW5nIG7Dsy5cbiIKKyJDaMawxqFuZyB0csOsbmggY2jGsGEga2jhu59pIGNo4bqheS4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBkb25lLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIkhvw6BuIHThuqV0IGNo4bqheSB2xINuIGzhu4duaCwgdOG6rXAgdGluIGzDoCAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI2MgorbXNnaWQgImNhbm5vdCB3cml0ZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSB04bqtcCB0aW4gYsOzIGzhu4duaCIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzozOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQaGnDqm4gbMOgbSB2aeG7h2MgYuG7iyBjaOG6pW0gZOG7qXQsIMSRYW5nIGdp4bq/dCBzaGVsbOKApiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXMiCittc2dzdHIgIlbEg24gbOG7h25oIMSRw6Mga2jhu59pIGNo4bqheSB0csOqbiAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNjcmlwdCBkb25lIG9uICVzIgorbXNnc3RyICIiCisiXG4iCisiSG/DoG4gdOG6pXQgY2jhuqF5IHbEg24gbOG7h25oIHRyw6puICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYwNworbXNnaWQgImZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGzhuqV5IGPDoWMgdGh14buZYyB0w61uaCBj4bunYSB0aGnhur90IGLhu4sgY3Xhu5FpIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYxNAorbXNnaWQgIm9wZW5wdHkgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IGtow7RuZyB0aMOgbmggY8O0bmciCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjUyCittc2dpZCAib3V0IG9mIHB0eSdzIgorbXNnc3RyICJo4bq/dCBwdHnigJ0uIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc1MgorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgc3RhcnRlZCwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICJWxINuIGzhu4duaCDEkcOjIGto4bufaSBjaOG6oXksIHThuq1wIHRpbiBsw6AgJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy10XSB0aW1pbmdmaWxlIFt0eXBlc2NyaXB0XSBbZGl2aXNvcl1cbiIKK21zZ3N0ciAiICVzIFstdF0gdGltaW5nZmlsZSBbdHlwZXNjcmlwdF0gW2Rpdmlzb3JdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDcKK21zZ2lkICJQbGF5IGJhY2sgdGVybWluYWwgdHlwZXNjcmlwdHMsIHVzaW5nIHRpbWluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiVHLDrG5oIGRp4buFbiBs4bqhaSB2xINuIGtp4buHbiB0aGnhur90IGLhu4sgY3Xhu5FpLCBkw7luZyB0aMO0bmcgdGluIHRo4budaSBnaWFuLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjUwCittc2dpZCAiIgorIiAtdCwgLS10aW1pbmcgPGZpbGU+ICAgICBzY3JpcHQgdGltaW5nIG91dHB1dCBmaWxlXG4iCisiIC1zLCAtLXR5cGVzY3JpcHQgPGZpbGU+IHNjcmlwdCB0ZXJtaW5hbCBzZXNzaW9uIG91dHB1dCBmaWxlXG4iCisiIC1kLCAtLWRpdmlzb3IgPG51bT4gICAgIHNwZWVkIHVwIG9yIHNsb3cgZG93biBleGVjdXRpb24gd2l0aCB0aW1lIGRpdmlzb3JcbiIKKyIgLW0sIC0tbWF4ZGVsYXkgPG51bT4gICAgd2FpdCBhdCBtb3N0IHRoaXMgbWFueSBzZWNvbmRzIGJldHdlZW4gdXBkYXRlc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiIC10LCAtLXRpbWluZyA8dOG6rXAtdGluPiAgdOG6rXAgdGluIGvhur90IHh14bqldCB0w61uaCB0b8OhbiB0aOG7nWkgZ2lhbiBzY3JpcHRcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA8dOG6rXAtdGluPiB04bqtcCB0aW4ga+G6v3QgeHXhuqV0IHBoacOqbiB0aGnhur90IGLhu4sgY3Xhu5FpIHNjcmlwdFxuIgorIiAtZCwgLS1kaXZpc29yIDxz4buRPiAgICAgIHTEg25nIGhv4bq3YyBnaeG6o20gdOG7kWMgdGhpIGjDoG5oIHbhu5tpIHPhu5EgY2hpYVxuIgorIiAtbSwgLS1tYXhkZWxheSA8c+G7kT4gICAgIGNo4budIG5oaeG7gXUgbmjhuqV0IGzDoCBz4buRIGdpw6J5IG7DoHkgZ2nhu69hIGPDoWMgbOG6p24gY+G6rXAgbmjhuq10XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHbhu4EgcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKyJcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTIKK21zZ2lkICJ3cml0ZSB0byBzdGRvdXQgZmFpbGVkIgorbXNnc3RyICJs4buXaSBnaGkgdsOgbyDEkeG6p3UgcmEgdGnDqnUgY2h14bqpbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSBvbiAlcyIKK21zZ3N0ciAiZ+G6t3Aga+G6v3QgdGjDumMgdOG6rXAgdGluIGLhuqV0IHRoxrDhu51uZyB0csOqbiAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdHlwZXNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJs4buXaSDEkeG7jWMgdOG6rXAgdGluIGLhuqNuIMSRw6FuaCBtw6F5ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE4NAorbXNnaWQgIndyb25nIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgInPhu5EgxJHhu5FpIHPhu5Ega2jDtG5nIMSRw7puZyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGltaW5nIGZpbGUgJXMiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG7jWMgdOG6rXAgdGluIMSR4bq/bSB0aOG7nWkgZ2lhbiAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRpbWluZyBmaWxlICVzOiBsaW5lICVsdTogdW5leHBlY3RlZCBmb3JtYXQiCittc2dzdHIgInThuq1wIHRpbiDEkeG6v20gdGjhu51pIGdpYW4gJXM6ICVsdTogxJHhu4tuaCBk4bqhbmcgYuG6pXQgdGjGsOG7nW5nIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXJndW1lbnQgZXJyb3I6IGJyaWdodCAlcyBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJs4buXaSDEkeG7kWkgc+G7kTogbeG7qWMgc8OhbmcgJXMgbMOgIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjgKK21zZ2lkICJ0b28gbWFueSB0YWJzIgorbXNnc3RyICJxdcOhIG5oaeG7gXUgdGFiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODMKK21zZ2lkICJTZXQgdGhlIGF0dHJpYnV0ZXMgb2YgYSB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAixJDhurd0IGPDoWMgdGh14buZYyB0w61uaCB0aGnhur90IGLhu4sgY3Xhu5FpLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODYKK21zZ2lkICIgLS10ZXJtICAgICAgICAgIDx0ZXJtaW5hbF9uYW1lPiAgIG92ZXJyaWRlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIC0tdGVybSAgICAgICAgICA8dMOqbl90aGnhur90X2Lhu4tfY3Xhu5FpPiAgIGdoaSDEkcOoIGzDqm4gYmnhur9uIG3DtGkgdHLGsOG7nW5nIFRFUk1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg3Cittc2dpZCAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCB0byBwb3dlci1vbiBzdGF0ZVxuIgorbXNnc3RyICIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIMSR4bq3dCB0aGnhur90IGLhu4sgY3Xhu5FpIHRow6BuZyB0cuG6oW5nIHRow6FpIGLhuq10IMSRaeG7h25cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg4Cittc2dpZCAiIC0taW5pdGlhbGl6ZSAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGluaXQgc3RyaW5nLCBhbmQgdXNlIGRlZmF1bHQgc2V0dGluZ3NcbiIKK21zZ3N0ciAiIC0taW5pdGlhbGl6ZSAgICAgICAgICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgY2h14buXaSBraOG7n2kgdOG6oW8sIHbDoCBkw7luZyBjw6FjIGPDoGkgxJHhurd0IG3hurdjIMSR4buLbmhcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg5Cittc2dpZCAiIC0tZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgZGVmYXVsdCB0ZXJtaW5hbCBzZXR0aW5nc1xuIgorbXNnc3RyICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIGTDuW5nIGPDoWMgY8OgaSDEkeG6t3QgdGhp4bq/dCBi4buLIGN14buRaSBt4bq3YyDEkeG7i25oXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MAorbXNnaWQgIiAtLXN0b3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IHRlcm1pbmFsIHNldHRpbmdzIGFzIGRlZmF1bHRcbiIKK21zZ3N0ciAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBsxrB1IGPDoGkgxJHhurd0IHRoaeG6v3QgYuG7iyBjdeG7kWkgaGnhu4duIG5heSBsw6BtIG3hurdjIMSR4buLbmhcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkxCittc2dpZCAiIC0tY3Vyc29yICAgICAgICBbb258b2ZmXSAgICAgICAgICBkaXNwbGF5IGN1cnNvclxuIgorbXNnc3RyICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGhp4buDbiB0aOG7iyBjb24gdHLhu49cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkyCittc2dpZCAiIC0tcmVwZWF0ICAgICAgICBbb258b2ZmXSAgICAgICAgICBrZXlib2FyZCByZXBlYXRcbiIKK21zZ3N0ciAiIC0tcmVwZWF0ICAgICAgICBbb258b2ZmXSAgICAgICAgICBs4bq3cCBiw6BuIHBow61tXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MworbXNnaWQgIiAtLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gICAgICAgICAgY3Vyc29yIGtleSBhcHBsaWNhdGlvbiBtb2RlXG4iCittc2dzdHIgIiAtLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gICAgICAgICAgY2jhur8gxJHhu5kga2jDs2EgY29uIHRy4buPIOG7qW5nIGThu6VuZ1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTQKK21zZ2lkICIgLS1saW5ld3JhcCAgICAgIFtvbnxvZmZdICAgICAgICAgIGNvbnRpbnVlIG9uIGEgbmV3IGxpbmUgd2hlbiBhIGxpbmUgaXMgZnVsbFxuIgorbXNnc3RyICIgLS1saW5ld3JhcCAgICAgIFtvbnxvZmZdICAgICAgICAgIHRp4bq/cCB04bulYyB0csOqbiBkw7JuZyBt4bubaSBraGkgZMOybmcgxJHDoyDEkeG6p3lcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk1Cittc2dpZCAiIC0taW52ZXJzZXNjcmVlbiBbb258b2ZmXSAgICAgICAgICBzd2FwIGNvbG9ycyBmb3IgdGhlIHdob2xlIHNjcmVlblxuIgorbXNnc3RyICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIHRyw6FvIMSR4buVaSBtw6B1IGNobyB0b8OgbiBi4buZIG3DoG4gaMOsbmhcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk2Cittc2dpZCAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgZm9yZWdyb3VuZCBjb2xvclxuIgorbXNnc3RyICIgLS1mb3JlZ3JvdW5kICAgIGRlZmF1bHR8PG3DoHU+ICAgICDEkeG6t3QgbcOgdSB0aeG7gW4gY+G6o25oXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NworbXNnaWQgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGJhY2tncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIC0tYmFja2dyb3VuZCAgICBkZWZhdWx0fDxtw6B1PiAgICAgxJHhurd0IG3DoHUgaOG6rXUgY+G6o25oXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OAorbXNnaWQgIiAtLXVsY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IHVuZGVybGluZWQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIgLS11bGNvbG9yICAgICAgIFtzw6FuZ10gPG3DoHU+ICAgICAgxJHhurd0IG3DoHUgY2jhu68gZ+G6oWNoIGNow6JuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OQorbXNnaWQgIiAtLWhiY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IGJvbGQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIgLS1oYmNvbG9yICAgICAgIFtzw6FuZ10gPG3DoHU+ICAgICAgxJHhurd0IG3DoHUgY2jhu68gxJHhuq1tXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMAorbXNnaWQgIiAgICAgICAgICAgICAgICAgPGNvbG9yPjogYmxhY2sgYmx1ZSBjeWFuIGdyZWVuIGdyZXkgbWFnZW50YSByZWQgd2hpdGUgeWVsbG93XG4iCittc2dzdHIgIiIKKyIgICAgICAgICAgICAgICAgIDxtw6B1PiBsw6A6IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorIiAgICAgICAgICAgICAgICAgxJFlbiwgeGFuaCBkxrDGoW5nLCB4YW5oIG5n4buNYywgeGFuaCBsw6EsIHjDoW0sIMSR4buPIHRo4bqvbSwgxJHhu48sIHRy4bqvbmcsIHbDoG5nXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMQorbXNnaWQgIiAtLWJvbGQgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYm9sZFxuIgorbXNnc3RyICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIMSR4bqtbVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDIKK21zZ2lkICIgLS1oYWxmLWJyaWdodCAgIFtvbnxvZmZdICAgICAgICAgIGRpbVxuIgorbXNnc3RyICIgLS1oYWxmLWJyaWdodCAgIFtvbnxvZmZdICAgICAgICAgIGdp4bqjbSBzw6FuZ1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDMKK21zZ2lkICIgLS1ibGluayAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJsaW5rXG4iCittc2dzdHIgIiAtLWJsaW5rICAgICAgICAgW29ufG9mZl0gICAgICAgICAgbmjhuqVwIG5ow6F5XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNAorbXNnaWQgIiAtLXVuZGVybGluZSAgICAgW29ufG9mZl0gICAgICAgICAgdW5kZXJsaW5lXG4iCittc2dzdHIgIiAtLXVuZGVybGluZSAgICAgW29ufG9mZl0gICAgICAgICAgZ+G6oWNoIGNow6JuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNQorbXNnaWQgIiAtLXJldmVyc2UgICAgICAgW29ufG9mZl0gICAgICAgICAgc3dhcCBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9yc1xuIgorbXNnc3RyICIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgIHRyw6FvIMSR4buVaSBtw6B1IHRp4buBbiBj4bqjbmggdsOgIGjhuq11IGPhuqNuaFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDYKK21zZ2lkICIgLS1jbGVhciAgICAgICAgIFthbGx8cmVzdF0gICAgICAgIGNsZWFyIHNjcmVlbiBhbmQgc2V0IGN1cnNvciBwb3NpdGlvblxuIgorbXNnc3RyICIgLS1jbGVhciAgICAgICAgIFthbGx8cmVzdF0gICAgICAgIHjDs2EgbcOgbiBow6xuaCB2w6AgxJHhurd0IHbhu4sgdHLDrSBjb24gdHLhu49cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA3Cittc2dpZCAiIC0tdGFicyAgICAgICAgICBbPG51bWJlcj4uLi5dICAgICBzZXQgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBzaG93IHRoZW1cbiIKK21zZ3N0ciAiIC0tdGFicyAgICAgICAgICBbPHPhu5E+4oCmXSAgICAgICAgICAgxJHhurd0IGPDoWMgduG7iyB0csOtIGThu6tuZyB0YWIgaGnhu4NuIHRo4buLIGNow7puZ1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDgKK21zZ2lkICIgLS1jbHJ0YWJzICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIGNsZWFyIHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3IgYWxsXG4iCittc2dzdHIgIiAtLWNscnRhYnMgICAgICAgWzxz4buRPuKApl0gICAgICAgICAgIHjDs2EgY8OhYyDEkWnhu4NtIGThu6tuZyB0YWIsIGhv4bq3YyB04bqldCBj4bqjXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOQorbXNnaWQgIiAtLXJlZ3RhYnMgICAgICAgWzEtMTYwXSAgICAgICAgICAgc2V0IGEgcmVndWxhciB0YWIgc3RvcCBpbnRlcnZhbFxuIgorbXNnc3RyICIgLS1yZWd0YWJzICAgICAgIFsxLTE2MF0gICAgICAgICAgIMSR4bq3dCBt4buZdCBuaOG7i3AgZOG7q25nIHRhYiB0aMO0bmcgdGjGsOG7nW5nXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMAorbXNnaWQgIiAtLWJsYW5rICAgICAgICAgWzAtNjB8Zm9yY2V8cG9rZV0gc2V0IHRpbWUgb2YgaW5hY3Rpdml0eSBiZWZvcmUgc2NyZWVuIGJsYW5rc1xuIgorbXNnc3RyICIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIMSR4bq3dCB0aOG7nWkgZ2lhbiBraMO0bmcgZMO5bmcgdHLGsOG7m2Mga2hpIHjDs2EgdHLhuq9uZyBtw6BuIGjDrG5oXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMQorbXNnaWQgIiAtLWR1bXAgICAgICAgICAgWzxudW1iZXI+XSAgICAgICAgd3JpdGUgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiAtLWR1bXAgICAgICAgICAgWzxz4buRPl0gICAgICAgICAgICBnaGkgxJHhu5UgdGhp4bq/dCBi4buLIGN14buRaSB2Y3NhPHPhu5E+IHJhIHThuq1wIHRpblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTIKK21zZ2lkICIgLS1hcHBlbmQgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIGFwcGVuZCB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIC0tYXBwZW5kICAgICAgICBbPHPhu5E+XSAgICAgICAgICAgIG7hu5FpIHRow6ptIMSR4buVIHRoaeG6v3QgYuG7iyBjdeG7kWkgdmNzYTxz4buRPiByYSB04bqtcCB0aW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEzCittc2dpZCAiIC0tZmlsZSAgICAgICAgICA8ZmlsZW5hbWU+ICAgICAgICBuYW1lIG9mIHRoZSBkdW1wIGZpbGVcbiIKK21zZ3N0ciAiIC0tZmlsZSAgICAgICAgICA8dMOqbl904bqtcF90aW4+ICAgICB0w6puIHThuq1wIHRpbiBj4bqnbiDEkeG7lVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTQKK21zZ2lkICIgLS1tc2cgICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHNlbmQga2VybmVsIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBn4butaSBs4budaSBuaOG6r24gaOG6oXQgbmjDom4gcmEgdGhp4bq/dCBi4buLIMSRaeG7gXUga2hp4buDblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTUKK21zZ2lkICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIGtlcm5lbCBjb25zb2xlIGxvZyBsZXZlbFxuIgorbXNnc3RyICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIG3hu6ljIGdoaSBuaOG6rXQga8O9IG5ow6JuIHRoaeG6v3QgYuG7iyDEkWnhu4F1IGtoaeG7g25cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE2Cittc2dpZCAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKK21zZ3N0ciAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE3Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQgdmVzYSBwb3dlcnNhdmluZyBmZWF0dXJlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIMSR4bq3dCB0w61uaCBuxINuZyB0aeG6v3Qga2nhu4dtIMSRaeG7h24gdmVzYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTgKK21zZ2lkICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIHNldCB2ZXNhIHBvd2VyZG93biBpbnRlcnZhbCBpbiBtaW51dGVzXG4iCittc2dzdHIgIiAtLXBvd2VyZG93biAgICAgWzAtNjBdICAgICAgICAgICAgxJHhurd0IGtob+G6o25nIG5o4buLcCB04bqvdCBuZ3Xhu5NuIHZlc2EgdMOtbmggdGhlbyBwaMO6dFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTkKK21zZ2lkICIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIGR1cmF0aW9uIG9mIHRoZSBiZWxsIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIMSR4buZIGTDoGkgY2h1w7RuZyB0w61uaCB0aGVvIG1pLWxpLWdpw6J5XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMAorbXNnaWQgIiAtLWJmcmVxICAgICAgICAgPG51bWJlcj4gICAgICAgICAgYmVsbCBmcmVxdWVuY3kgaW4gSGVydHpcbiIKK21zZ3N0ciAiIC0tYmZyZXEgICAgICAgICA8c+G7kT4gICAgICAgICAgICAgIHThuqduIHPhu5EgY2h1w7RuZyB0w61uaCBi4bqxbmcgSGVydHpcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIxCittc2dpZCAiIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICBzaG93IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMgorbXNnaWQgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDMwCittc2dpZCAiZHVwbGljYXRlIHVzZSBvZiBhbiBvcHRpb24iCittc2dzdHIgInRyw7luZyB0w7l5IGNo4buNbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzM0Cittc2dpZCAiY2Fubm90IGZvcmNlIGJsYW5rIgorbXNnc3RyICJraMO0bmcgdGjhu4Mgw6FwIGJ14buZYyDEkeG7gyB0cuG7kW5nIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MzkKK21zZ2lkICJjYW5ub3QgZm9yY2UgdW5ibGFuayIKK21zZ3N0ciAia2jDtG5nIHRo4buDIMOhcCBideG7mWMga2jDtG5nIMSR4buDIHRy4buRbmciCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0NQorbXNnaWQgImNhbm5vdCBnZXQgYmxhbmsgc3RhdHVzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkgdHLhuqFuZyB0aMOhaSB04burIGTDsm5nIHRy4buRbmciCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4gbm90IG9wZW4gZHVtcCBmaWxlICVzIGZvciBvdXRwdXQiCittc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIHThuq1wIHRpbiBkdW1wICVzIMSR4buDIHh14bqldCByYSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODEzCisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsICVzIGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgInRoaeG6v3QgYuG7iyBjdeG7kWkgJXMga2jDtG5nIGjhu5cgdHLhu6MgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjk4OAorbXNnaWQgImNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlIgorbXNnc3RyICJraMO0bmcgIMSR4bq3dCAoYuG7jykgxJHGsOG7o2MgY2jhur8gxJHhu5kgdGnhur90IGtp4buHbSDEkWnhu4duIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDA3IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwMTYKK21zZ2lkICJrbG9nY3RsIGVycm9yIgorbXNnc3RyICJs4buXaSBrbG9nY3RsIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDM3Cittc2dpZCAiJFRFUk0gaXMgbm90IGRlZmluZWQuIgorbXNnc3RyICIkVEVSTSBjaMawYSDEkcaw4bujYyDEkeG7i25oIG5naMSpYS4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDQKK21zZ2lkICJ0ZXJtaW5mbyBkYXRhYmFzZSBjYW5ub3QgYmUgZm91bmQiCittc2dzdHIgImPGoSBz4bufIGThu68gbGnhu4d1IHRlcm1pbmZvIGtow7RuZyB0aOG7gyB0w6xtIHRo4bqleSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biB0ZXJtaW5hbCB0eXBlIgorbXNnc3RyICIlczoga2jDtG5nIGhp4buDdSBraeG7g3UgdGhp4bq/dCBi4buLIGN14buRaSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0OAorbXNnaWQgInRlcm1pbmFsIGlzIGhhcmRjb3B5IgorbXNnc3RyICJ0aGnhur90IGLhu4sgY3Xhu5FpIGzDoCBtw6F5IGluIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB0b28gbWFueSBpb3YncyIKK21zZ3N0ciAibOG7l2kgbuG7mWkgYuG7mTogcXXDoSBuaGnhu4F1IGlvduKAnS4iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhjZXNzaXZlbHkgbG9uZyBsaW5lIGFyZyIKK21zZ3N0ciAiZMOybmcgxJHhu5FpIHPhu5EgcXXDoSBkw6BpIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVuIGZhaWxlZCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIG3hu58iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcms6ICVtIgorbXNnc3RyICJy4bq9IG5ow6FuaCB0aeG6v24gdHLDrG5oOiAlbSIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZvcmsiCittc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiBuaMOhbmgiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCQUQgRVJST1IsIG1lc3NhZ2UgaXMgZmFyIHRvbyBsb25nIgorbXNnc3RyICIlczogTOG7lkkgWOG6pFUsIHRow7RuZyDEkWnhu4dwIHF1w6EgZMOgaSIKKworIzogdGVybS11dGlscy93YWxsLmM6ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IHwgPG1lc3NhZ2U+XVxuIgorbXNnc3RyICIgJXMgW2PDoWMgdMO5eSBjaOG7jW5dIFs8dOG6rXAtdGluPiB8IDxtZXNzYWdlPl1cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODYKK21zZ2lkICJXcml0ZSBhIG1lc3NhZ2UgdG8gYWxsIHVzZXJzLlxuIgorbXNnc3RyICJWaeG6v3QgbOG7nWkgbmjhuq9uIGNobyBt4buNaSBuZ8aw4budaSBkw7luZy5cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODkKK21zZ2lkICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAgZG8gbm90IHByaW50IGJhbm5lciwgd29ya3Mgb25seSBmb3Igcm9vdFxuIgorbXNnc3RyICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAga2jDtG5nIGluIGzhu51pIGNow6BvLCBjaOG7iSBsw6BtIHZp4buHYyB24bubaSByb290XG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjkwCittc2dpZCAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZW91dCA8Z2nDonk+ICAgIHRo4budaSBnaWFuIGNo4budIHThu5FpIMSRYSBraGkgZ2hpIHTDrW5oIGLhurFuZyBnacOieVxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMzIKK21zZ2lkICItLW5vYmFubmVyIGlzIGF2YWlsYWJsZSBvbmx5IGZvciByb290IgorbXNnc3RyICItLW5vYmFubmVyIGNo4buJIGTDoG5oIGNobyByb290IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAixJHhu5FpIHPhu5EgxJHhurd0IGNobyBxdcOhIGdp4budIGtow7RuZyBo4bujcCBs4buHOiAlcyIKKworIzogdGVybS11dGlscy93YWxsLmM6MjY5Cittc2dpZCAiY2Fubm90IGdldCBwYXNzd2QgdWlkIgorbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkgdWlkIG3huq10IGto4bqpdSIKKworIzogdGVybS11dGlscy93YWxsLmM6Mjc0Cittc2dpZCAiY2Fubm90IGdldCB0dHkgbmFtZSIKK21zZ3N0ciAia2jDtG5nIGzhuqV5IMSRxrDhu6NjIHTDqm4gdHR5IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnJvYWRjYXN0IG1lc3NhZ2UgZnJvbSAlc0AlcyAoJXMpICglcyk6IgorbXNnc3RyICJUaW4gbmjhuq9uIHF14bqjbmcgYsOhIHThu6sgJXNAJXMgKCVzKSAoJXMpOiIKKworIzogdGVybS11dGlscy93YWxsLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IHJlYWQgJXMgLSB1c2Ugc3RkaW4uIgorbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jICVzIC0gc+G7rSBk4bulbmcgxJHhuqd1IHbDoG8gY2h14bqpbiBzdGRpbi4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1c2VyPiBbPHR0eW5hbWU+XVxuIgorbXNnc3RyICIgJXMgW2PDoWMgdMO5eSBjaOG7jW5dIDx0w6BpIGtob+G6o24gbmfGsOG7nWkgZMO5bmc+IFs8dMOqbiB0dHk+XVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6OTAKK21zZ2lkICJTZW5kIGEgbWVzc2FnZSB0byBhbm90aGVyIHVzZXIuXG4iCittc2dzdHIgIkfhu61pIGzhu51pIG5o4bqvbiDEkeG6v24gbmfGsOG7nWkga2jDoWMuXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoxMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZWZmZWN0aXZlIGdpZCBkb2VzIG5vdCBtYXRjaCBncm91cCBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4iCittc2dzdHIgIiVzIGNoxrBhIMSRxINuZyBuaOG6rXAiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDcKK21zZ2lkICJjYW4ndCBmaW5kIHlvdXIgdHR5J3MgbmFtZSIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHTDrG0gdMOqbiB0dHkgY+G7p2EgYuG6oW4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIgorbXNnc3RyICIlcyBjw7MgY8OhYyB0aMO0bmcgxJFp4buHcCBi4buLIHThuq90IgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGxvZ2dlZCBpbiBtb3JlIHRoYW4gb25jZTsgd3JpdGluZyB0byAlcyIKK21zZ3N0ciAiJXMgxJHEg25nIG5o4bqtcCBuaGnhu4F1IGjGoW4gbeG7mXQgbOG6p24sIMSRYW5nIGdoaSB2w6BvICVzIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjM4Cittc2dpZCAiY2FyZWZ1bHB1dGMgZmFpbGVkIgorbXNnc3RyICJjYXJlZnVscHV0YyBn4bq3cCBs4buXaSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIChhcyAlcykgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiVGluIG5o4bqvbiB04burICVzQCVzIChuaMawICVzKSB0csOqbiAlcyBsw7pjICVzIOKApiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIlRpbiBuaOG6r24gJXNAJXMgdMOqbiAlcyBsw7pjICVzIOKApiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjMzMQorbXNnaWQgInlvdSBoYXZlIHdyaXRlIHBlcm1pc3Npb24gdHVybmVkIG9mZiIKK21zZ3N0ciAicXV54buBbiBnaGkgY+G7p2EgYuG6oW4gxJHDoyBi4buLIHThuq90IgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4gb24gJXMiCittc2dzdHIgIiVzIGtow7RuZyDEkcaw4bujYyDEkcSDbmcgbmjhuq1wIHRyw6puICVzIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCBvbiAlcyIKK21zZ3N0ciAiJXMgY8OzIGPDoWMgdGjDtG5nIMSRaeG7h3AgYuG7iyB04bqvdCB0csOqbiAlcyIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzQKK21zZ2lkICJGaWx0ZXIgb3V0IHJldmVyc2UgbGluZSBmZWVkcy5cbiIKK21zZ3N0ciAiTOG7jWMgcmEgbmfGsOG7o2MgdGjhu6kgdOG7sSBkw7JuZyDEkeG6p3UgdsOgby5cbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAgZG8gbm90IG91dHB1dCBiYWNrc3BhY2VzXG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAgcGVybWl0IGZvcndhcmQgaGFsZiBsaW5lIGZlZWRzXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAgcGFzcyB1bmtub3duIGNvbnRyb2wgc2VxdWVuY2VzXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgY29udmVydCBzcGFjZXMgdG8gdGFic1xuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIGNvbnZlcnQgdGFicyB0byBzcGFjZXNcbiIKKyIgLWwsIC0tbGluZXMgTlVNICAgICAgICBidWZmZXIgYXQgbGVhc3QgTlVNIGxpbmVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLUgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiQ8OhYyB0w7l5IGNo4buNbjpcbiIKKyIgLWIsIC0tbm8tYmFja3NwYWNlcyAgICBraMO0bmcga+G6v3QgeHXhuqV0IGJhY2tzcGFjZXNcbiIKKyIgLWYsIC0tZmluZSAgICAgICAgICAgICBjaG8gcGjDqXAgY2h1eeG7g24gdGnhur9wIG7hu61hIGTDsm5nXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAgY2h1eeG7g24gZMOjeSDEkWnhu4F1IGtoaeG7g24gY2jGsGEgaGnhu4N1XG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgY2h1eeG7g24gxJHhu5VpIGtob+G6o25nIHRy4bqvbmcgdGjDoG5oIHRhYlxuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIGNodXnhu4NuIMSR4buVaSB0YWIgdGjDoG5oIGtob+G6o25nIHRy4bqvbmdcbiIKKyIgLWwsIC0tbGluZXMgU+G7kCAgICAgICAgIMSR4buHbSDDrXQgbmjhuqV0IGzDoCBT4buQIGTDsm5nXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gduG7gSBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisiIC1ILCAtLWhlbHAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHkgcuG7k2kgdGhvw6F0XG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTQ4IHRleHQtdXRpbHMvY29scm0uYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXMgcmVhZHMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dFxuIgorIlxuIgorbXNnc3RyICIiCisiJXMgxJHhu41jIHThu6sgxJHhuqd1IHbDoG8gdGnDqnUgY2h14bqpbiB2w6AgZ2hpIHJhIMSR4bqndSByYSB0acOqdSBjaHXhuqluXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MjEyCittc2dpZCAiYmFkIC1sIGFyZ3VtZW50IgorbXNnc3RyICLEkeG7kWkgc+G7kSAtbCBzYWkiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbid0IGJhY2sgdXAgJXMuIgorbXNnc3RyICJj4bqjbmggYsOhbzoga2jDtG5nIHNhbyBsxrB1IMSRxrDhu6NjICVzLiIKKworIzogdGV4dC11dGlscy9jb2wuYzozMzcKK21zZ2lkICJwYXN0IGZpcnN0IGxpbmUiCittc2dzdHIgIsSRaSBxdWEgZMOybmcgY3Xhu5FpIGPDuW5nIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjMzNworbXNnaWQgIi0tIGxpbmUgYWxyZWFkeSBmbHVzaGVkIgorbXNnc3RyICItLSBkw7JuZyDEkcOjIMSRxrDhu6NjIMSR4bqpeSB2w6BvIMSRxKlhIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjgxIHRleHQtdXRpbHMvY29sdW1uLmM6MTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiICVzIFtUVeG7sl9DSOG7jE5dIFs8VOG6rFBfVElOPiDigKZdXG4iCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODQKK21zZ2lkICJGaWx0ZXIgbnJvZmYgb3V0cHV0IGZvciBDUlQgcHJldmlld2luZy5cbiIKK21zZ3N0ciAiTOG7jWMga+G6v3QgeHXhuqV0IG5yb2ZmIGNobyB4ZW0gdHLGsOG7m2MgQ1JULlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg3Cittc2dpZCAiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIHN1cHByZXNzIGFsbCB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgICAgdGh1IGjhu5NpIGfhuqFjaCBjaMOiblxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg4Cittc2dpZCAiIC0yLCAtLWhhbGYtbGluZXMgICAgICAgIHByaW50IGFsbCBoYWxmLWxpbmVzXG4iCittc2dzdHIgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBpbiBt4buNaSBu4butYS1kw7JuZ1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbc3RhcnRjb2wgW2VuZGNvbF1dXG4iCittc2dzdHIgIiIKKyJcbiIKKyJDw6FjaCBkw7luZzpcbiIKKyIlcyBbY+G7mXQgxJHhuqd1IFtj4buZdCBjdeG7kWldXVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjQKK21zZ2lkICJGaWx0ZXIgb3V0IHRoZSBzcGVjaWZpZWQgY29sdW1ucy5cbiIKK21zZ3N0ciAiTOG7jWMgcmEgY8OhYyBj4buZdCDEkcOjIGNoby5cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NQorbXNnaWQgImZpcnN0IGFyZ3VtZW50IgorbXNnc3RyICLEkeG7kWkgc+G7kSDEkeG6p3UgdGnDqm4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODcKK21zZ2lkICJzZWNvbmQgYXJndW1lbnQiCittc2dzdHIgIsSR4buRaSBz4buRIHRo4bupIGhhaSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjAKK21zZ2lkICJDb2x1bW5hdGUgbGlzdHMuXG4iCittc2dzdHIgIlThuqFvIGPDoWMgZGFuaCBzw6FjaCBjw6FjIGPhu5l0LlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyMworbXNnaWQgIiAtYywgLS1jb2x1bW5zIDx3aWR0aD4gICAgd2lkdGggb2Ygb3V0cHV0IGluIG51bWJlciBvZiBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAtYywgLS1jb2x1bW5zIDxy4buZbmc+ICAgICDEkeG7mSBy4buZbmcga8O9IHThu7Ega+G6v3QgeHXhuqV0XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI0Cittc2dpZCAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICBjcmVhdGUgYSB0YWJsZVxuIgorbXNnc3RyICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgIHThuqFvIG3hu5l0IGLhuqNuZ1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyNQorbXNnaWQgIiAtcywgLS1zZXBhcmF0b3IgPHN0cmluZz4gcG9zc2libGUgdGFibGUgZGVsaW1pdGVyc1xuIgorbXNnc3RyICIgLXMsIC0tc2VwYXJhdG9yIDxjaHXhu5dpPiAgZOG6pXUgZ2nhu5tpIGjhuqFuIGLhuqNuZyBjw7MgdGjhu4NcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjYKK21zZ2lkICIiCisiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0cmluZz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnMgc2VwYXJhdG9yIGZvciB0YWJsZSBvdXRwdXQ7IGRlZmF1bHQgaXMgdHdvIHNwYWNlc1xuIgorbXNnc3RyICIiCisiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPGNodeG7l2k+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBjaHXhu5dpIGTDuW5nIMSR4buDIG5nxINuIGPDoWNoIGPhu5l0IGvhur90IHh14bqldCBi4bqjbmcsIG3hurdjIMSR4buLbmggbMOgIGhhaSBk4bqldSBjw6FjaFxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyOAorbXNnaWQgIiAteCwgLS1maWxscm93cyAgICAgICAgICAgZmlsbCByb3dzIGJlZm9yZSBjb2x1bW5zXG4iCittc2dzdHIgIiAteCwgLS1maWxscm93cyAgICAgICAgICAgxJFp4buBbiDEkeG6p3kgY8OhYyBow6BuZyB0csaw4bubYyBjw6FjIGPhu5l0XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTgyCittc2dpZCAiaW52YWxpZCBjb2x1bW5zIGFyZ3VtZW50IgorbXNnc3RyICLEkeG7kWkgc+G7kSBj4buZdCBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlZCBpcyB0b28gbG9uZywgb3V0cHV0IHdpbGwgYmUgdHJ1bmNhdGVkIgorbXNnc3RyICJkw7JuZyAlZCBxdcOhIGTDoGksIGvhur90IHh14bqldCBz4bq9IGLhu4sgY+G6r3Qgbmfhuq9uIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTUgdGV4dC11dGlscy9tb3JlLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+Li4uXG4iCittc2dzdHIgIiAlcyBbVFXhu7JfQ0jhu4xOXSA8VOG6rFBfVElOPuKAplxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTgKK21zZ2lkICJEaXNwbGF5IGZpbGUgY29udGVudHMgaW4gaGV4YWRlY2ltYWwsIGRlY2ltYWwsIG9jdGFsLCBvciBhc2NpaS5cbiIKK21zZ3N0ciAiSGnhu4NuIHRo4buLIG7hu5lpIGR1bmcgY+G7p2EgdOG6rXAgdGluIOG7nyBk4bqhbmcgdGjhuq1wIGzhu6VjIHBow6JuLCB0aOG6rXAgcGjDom4sIGLDoXQgcGjDom4gaGF5IGFzY2lpLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjEKK21zZ2lkICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiAtYiwgLS1vbmUtYnl0ZS1vY3RhbCAgICAgIGhp4buDbiB0aOG7iyBk4bqhbmcgYsOhdCBwaMOibiBt4buZdC1ieXRlXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MgorbXNnaWQgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgIG9uZS1ieXRlIGNoYXJhY3RlciBkaXNwbGF5XG4iCittc2dzdHIgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgIGhp4buDbiB0aOG7iyBk4bqhbmcga8O9IHThu7EgbeG7mXQtYnl0ZVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjMKK21zZ2lkICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1DLCAtLWNhbm9uaWNhbCAgICAgICAgICAgaGnhu4NuIHRo4buLIGNhbm9uaWNhbCBk4bqhbmcgaGV4K0FTQ0lJXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NAorbXNnaWQgIiAtZCwgLS10d28tYnl0ZXMtZGVjaW1hbCAgIHR3by1ieXRlIGRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICBoaeG7g24gdGjhu4sgZOG6oW5nIHRo4bqtcCBwaMOibiBoYWktYnl0ZVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjUKK21zZ2lkICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICB0d28tYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIGhp4buDbiB0aOG7iyBk4bqhbmcgYsOhdCBwaMOibiBoYWktYnl0ZVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjYKK21zZ2lkICIgLXgsIC0tdHdvLWJ5dGVzLWhleCAgICAgICB0d28tYnl0ZSBoZXhhZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgIGhp4buDbiB0aOG7iyBk4bqhbmcgdGjhuq1wIGzhu6VjIHBow6JuIGhhaS1ieXRlXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NworbXNnaWQgIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHJldCBjb2xvciBmb3JtYXR0aW5nIHNwZWNpZmllcnNcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08bcOgdT5dICAgICAgIHBoacOqbiBk4buLY2ggxJHhurdjIHThuqMgxJHhu4tuaCBk4bqhbmcgbcOgdVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzAKK21zZ2lkICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIgorbXNnc3RyICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBjaHXhu5dpIMSR4buLbmggZOG6oW5nIGTDuW5nIMSR4buDIGhp4buDbiB0aOG7iyBk4buvIGxp4buHdVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzEKK21zZ2lkICIgLWYsIC0tZm9ybWF0LWZpbGUgPGZpbGU+ICBmaWxlIHRoYXQgY29udGFpbnMgZm9ybWF0IHN0cmluZ3NcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcm1hdC1maWxlIDx04bqtcC10aW4+IHThuq1wIHRpbiBtw6AgY2jhu6lhIGNodeG7l2kgxJHhu4tuaCBk4bqhbmdcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcyCittc2dpZCAiIC1uLCAtLWxlbmd0aCA8bGVuZ3RoPiAgICAgaW50ZXJwcmV0IG9ubHkgbGVuZ3RoIGJ5dGVzIG9mIGlucHV0XG4iCittc2dzdHIgIiAtbiwgLS1sZW5ndGggPGxlbmd0aD4gICAgIGNo4buJIGTDuW5nIHPhu5EgYnl0ZSBuw6B5IHThu6sgxJHhuqd1IHbDoG9cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTczCittc2dpZCAiIC1zLCAtLXNraXAgPG9mZnNldD4gICAgICAgc2tpcCBvZmZzZXQgYnl0ZXMgZnJvbSB0aGUgYmVnaW5uaW5nXG4iCittc2dzdHIgIiAtcywgLS1za2lwIDxvZmZzZXQ+ICAgICAgIGLhu48gcXVhIGPDoWMgYnl0ZSB0w61uaCB04burIMSR4bqndVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzQKK21zZ2lkICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICBvdXRwdXQgaWRlbnRpY2FsIGxpbmVzXG4iCittc2dzdHIgIiAtdiwgLS1uby1zcXVlZXppbmcgICAgICAgIHh14bqldCBjw6FjIGTDonkgdHLDuW5nIG5oYXVcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLWRpc3BsYXkuYzozNjUKK21zZ2lkICJhbGwgaW5wdXQgZmlsZSBhcmd1bWVudHMgZmFpbGVkIgorbXNnc3RyICJ0b8OgbiBi4buZIMSR4buRaSBz4buRIHThuq1wIHRpbiBr4bq/dCB4deG6pXQgc2FpIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgYnl0ZSBjb3VudCBmb3IgY29udmVyc2lvbiBjaGFyYWN0ZXIgJXMiCittc2dzdHIgInPhu5EgbMaw4bujbmcgYnl0ZSBzYWkgY2hvIGvDvSB04buxIGNodXnhu4NuIMSR4buVaSAlcyIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJSVzIHJlcXVpcmVzIGEgcHJlY2lzaW9uIG9yIGEgYnl0ZSBjb3VudCIKK21zZ3N0ciAiJSVzIHnDqnUgY+G6p3UgxJHhu5kgY2jDrW5oIHjDoWMgaG/hurdjIG3hu5l0IHPhu5EgxJHhur9tIGJ5dGUiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjY1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBmb3JtYXQgeyVzfSIKK21zZ3N0ciAixJHhu4tuaCBk4bqhbmcgc2FpIHslc30iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjcwCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb252ZXJzaW9uIGNoYXJhY3RlciAlJSVzIgorbXNnc3RyICJrw70gdOG7sSBjaHV54buDbiDEkeG7lWkgc2FpICUlJXMiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjQzNgorbXNnaWQgImJ5dGUgY291bnQgd2l0aCBtdWx0aXBsZSBjb252ZXJzaW9uIGNoYXJhY3RlcnMiCittc2dzdHIgInPhu5EgbMaw4bujbmcgYnl0ZSB24bubaSBjw6FjIGvDvSB04buxIMSRYSBjaHV54buDbiDEkeG7lWkiCisKKyM6IHRleHQtdXRpbHMvbGluZS5jOjMzCittc2dpZCAiUmVhZCBvbmUgbGluZS5cbiIKK21zZ3N0ciAixJDhu41jIG3hu5l0IGTDsm5nLlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMjgKK21zZ2lkICJBIGZpbGUgcGVydXNhbCBmaWx0ZXIgZm9yIENSVCB2aWV3aW5nLlxuIgorbXNnc3RyICJN4buZdCB04bqtcCB0aW4gcGVydXNhbCBs4buNYyBjaG8geGVtIENSVC5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjMxCittc2dpZCAiIC1kICAgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmdpbmcgYmVsbFxuIgorbXNnc3RyICIgLWQgICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHkgdGhheSB2w6wgcnVuZyBjaHXDtG5nXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMgorbXNnaWQgIiAtZiAgICAgICAgICBjb3VudCBsb2dpY2FsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgxJHhur9tIGzDtC1nw61jIHRoYXkgY2hvIGPDoWMgZMOybmcgbcOgbiBow6xuaFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzMKK21zZ2lkICIgLWwgICAgICAgICAgc3VwcHJlc3MgcGF1c2UgYWZ0ZXIgZm9ybSBmZWVkXG4iCittc2dzdHIgIiAtbCAgICAgICAgICBraMO0bmcgdOG6oW0gZOG7q25nIHNhdSBraGkgcXVheSB24buBIHThu6sg4oCcZm9ybeKAnVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzQKK21zZ2lkICIgLWMgICAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIKK21zZ3N0ciAiIC1jICAgICAgICAgIMSR4burbmcgY3Xhu5luLCBoaeG7g24gdGjhu4sgY2jhu68gdsOgIHjDs2EgxJHhur9uIGN14buRaSBkw7JuZ1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzUKK21zZ2lkICIgLXAgICAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIKK21zZ3N0ciAiIC1wICAgICAgICAgIMSR4burbmcgY3Xhu5luLCB4w7NhIG3DoG4gaMOsbmggdsOgIGhp4buDbiB0aOG7iyBjaOG7r1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzYKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIgLXMgICAgICAgICAgbsOpbiBuaGnDqnUgZMOybmcgdHLhu5FuZyB0aMOgbmggbeG7mXRcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM3Cittc2dpZCAiIC11ICAgICAgICAgIHN1cHByZXNzIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiAtdSAgICAgICAgICB0aHUgaOG7k2kgZ+G6oWNoIGNow6JuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOAorbXNnaWQgIiAtPG51bWJlcj4gICB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKK21zZ3N0ciAiIC08c+G7kT4gICAgICAgc+G7kSBsxrDhu6NuZyBkw7JuZyB0csOqbiB0b8OgbiBtw6BuIGjDrG5oXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOQorbXNnaWQgIiArPG51bWJlcj4gICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gbGluZSBudW1iZXJcbiIKK21zZ3N0ciAiICs8c+G7kT4gICAgICBoaeG7g24gdGjhu4sgdOG6rXAgdGluIGLhuq90IMSR4bqndSB04burIGTDsm5nIDxz4buRPlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDAKK21zZ2lkICIgKy88c3RyaW5nPiAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIHNlYXJjaCBzdHJpbmcgbWF0Y2hcbiIKK21zZ3N0ciAiICsvPGNodeG7l2k+ICAgaGnhu4NuIHRo4buLIHThuq1wIHRpbiBi4bqvdCDEkeG6p3UgdOG7qyBjaOG7lyB0w6xtIHRo4bqleSBjaHXhu5dpIG7DoHlcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQxCittc2dpZCAiIC1WICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgLVYgICAgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcHRpb24gLSVzIgorbXNnc3RyICJraMO0bmcgYmnhur90IHTDuXkgY2jhu41uIC0lcyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKiogJXM6IGRpcmVjdG9yeSAqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKiAlczogdGjGsCBt4bulYyAqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKioqKioqKiAlczogTm90IGEgdGV4dCBmaWxlICoqKioqKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKioqKioqKiAlczogS2jDtG5nIHBo4bqjaSB04bqtcCB0aW4gdsSDbiBi4bqjbiAqKioqKioqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1VzZSBxIG9yIFEgdG8gcXVpdF0iCittc2dzdHIgIltT4butIGThu6VuZyBxIGhv4bq3YyBRIMSR4buDIHRob8OhdF0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjcyNAorIywgYy1mb3JtYXQKK21zZ2lkICItLU1vcmUtLSIKK21zZ3N0ciAiLS1Dw7JuIG7hu69hLS0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjcyNgorIywgYy1mb3JtYXQKK21zZ2lkICIoTmV4dCBmaWxlOiAlcykiCittc2dzdHIgIihU4bqtcCB0aW4gdGnhur9wIHRoZW86ICVzKSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyBzcGFjZSB0byBjb250aW51ZSwgJ3EnIHRvIHF1aXQuXSIKK21zZ3N0ciAiW05o4bqlbiBwaMOtbSB0cuG6r25nIMSR4buDIHRp4bq/cCB04bulYywg4oCcceKAnSDEkeG7gyB0aG/DoXRdIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmJhY2sgJWQgcGFnZSIKK21zZ2lkX3BsdXJhbCAiLi4uYmFjayAlZCBwYWdlcyIKK21zZ3N0clswXSAi4oCmcXVheSBs4bqhaSAlZCB0cmFuZyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTIxMAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5za2lwcGluZyAlZCBsaW5lIgorbXNnaWRfcGx1cmFsICIuLi5za2lwcGluZyAlZCBsaW5lcyIKK21zZ3N0clswXSAi4oCmYuG7jyBxdWEgJWQgZMOybmciCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNDgKK21zZ2lkICIiCisiXG4iCisiKioqQmFjayoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqUXVheSBs4bqhaSoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjYzCittc2dpZCAiTm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICJLaMO0bmcgY8OzIGJp4buDdSB0aOG7qWMgY2jDrW5oIHF1eSDEkWkgdHLGsOG7m2MiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyOTMKK21zZ2lkICIiCisiXG4iCisiTW9zdCBjb21tYW5kcyBvcHRpb25hbGx5IHByZWNlZGVkIGJ5IGludGVnZXIgYXJndW1lbnQgay4gIERlZmF1bHRzIGluIGJyYWNrZXRzLlxuIgorIlN0YXIgKCopIGluZGljYXRlcyBhcmd1bWVudCBiZWNvbWVzIG5ldyBkZWZhdWx0LlxuIgorbXNnc3RyICIiCisiXG4iCisiQ8OzIHRo4buDIHRow6ptIG3hu5l0IHRoYW0gc+G7kSBz4buRIG5ndXnDqm4gdsOgbyB0csaw4bubYyBo4bqndSBo4bq/dCBjw6FjIGPDonUgbOG7h25oLiAgTeG6t2MgxJHhu4tuaCDEkeG6t3R0cm9uZyBk4bqldSBuZ2/hurdjIMSRxqFuLlxuIgorIkThuqV1IHNhbyAoKikgY2hvIGJp4bq/dCB0aGFtIHPhu5Egc+G6vSB0aMOgbmggbeG6t2MgxJHhu4tuaCBt4bubaS5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTMwMAorbXNnaWQgIiIKKyI8c3BhY2U+ICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXVxuIgorInogICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdKlxuIgorIjxyZXR1cm4+ICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgWzFdKlxuIgorImQgb3IgY3RybC1EICAgICAgICAgICAgIFNjcm9sbCBrIGxpbmVzIFtjdXJyZW50IHNjcm9sbCBzaXplLCBpbml0aWFsbHkgMTFdKlxuIgorInEgb3IgUSBvciA8aW50ZXJydXB0PiAgIEV4aXQgZnJvbSBtb3JlXG4iCisicyAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgbGluZXMgb2YgdGV4dCBbMV1cbiIKKyJmICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBzY3JlZW5mdWxzIG9mIHRleHQgWzFdXG4iCisiYiBvciBjdHJsLUIgICAgICAgICAgICAgU2tpcCBiYWNrd2FyZHMgayBzY3JlZW5mdWxzIG9mIHRleHQgWzFdXG4iCisiJyAgICAgICAgICAgICAgICAgICAgICAgR28gdG8gcGxhY2Ugd2hlcmUgcHJldmlvdXMgc2VhcmNoIHN0YXJ0ZWRcbiIKKyI9ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgbGluZSBudW1iZXJcbiIKKyIvPHJlZ3VsYXIgZXhwcmVzc2lvbj4gICBTZWFyY2ggZm9yIGt0aCBvY2N1cnJlbmNlIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbiBbMV1cbiIKKyJuICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggZm9yIGt0aCBvY2N1cnJlbmNlIG9mIGxhc3Qgci5lIFsxXVxuIgorIiE8Y21kPiBvciA6ITxjbWQ+ICAgICAgIEV4ZWN1dGUgPGNtZD4gaW4gYSBzdWJzaGVsbFxuIgorInYgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0IHVwIC91c3IvYmluL3ZpIGF0IGN1cnJlbnQgbGluZVxuIgorImN0cmwtTCAgICAgICAgICAgICAgICAgIFJlZHJhdyBzY3JlZW5cbiIKKyI6biAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggbmV4dCBmaWxlIFsxXVxuIgorIjpwICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBwcmV2aW91cyBmaWxlIFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBmaWxlIG5hbWUgYW5kIGxpbmUgbnVtYmVyXG4iCisiLiAgICAgICAgICAgICAgICAgICAgICAgUmVwZWF0IHByZXZpb3VzIGNvbW1hbmRcbiIKK21zZ3N0ciAiIgorIjxzcGFjZT4gICAgICAgICAgICAgICAgIEhp4buHbiBrIGTDsm5nIHbEg24gYuG6o24gdGnhur9wIHRoZW8gW2vDrWNoIGPhu6EgbcOgbiBow6xuaCBoaeG7h24gdGjhu51pXVxuIgorInogICAgICAgICAgICAgICAgICAgICAgIEhp4buDbiB0aOG7iyBrIGTDsm5nIHbEg24gYuG6o24gdGnhur9wIHRoZW8gW2vDrWNoIGPhu6EgbcOgbiBow6xuaCBoaeG7h24gdOG6oWldKlxuIgorIjxyZXR1cm4+ICAgICAgICAgICAgICAgIEhp4buDbiB0aOG7iyBrIGTDsm5nIHbEg24gYuG6o24gdGnhur9wIHRoZW8gWzFdKlxuIgorImQgaG/hurdjIGN0cmwtRCAgICAgICAgICAgQ3Xhu5luIGsgZMOybmcgW2vDrWNoIGPhu6EgY3Xhu5luIGhp4buHbiB04bqhaSwgYmFuIMSR4bqndSBsw6AgMTFdKlxuIgorInEgaG/hurdjIFEgaGF5IDxpbnRlcnJ1cHQ+ICAgVGhvw6F0IGto4buPaSBtb3JlXG4iCisicyAgICAgICAgICAgICAgICAgICAgICAgQuG7jyBxdWEgayBkw7JuZyB2xINuIGLhuqNuIFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIELhu48gcXVhIGsgbcOgbiBow6xuaCB2xINuIGLhuqNuIFsxXVxuIgorImIgaG/hurdjIGN0cmwtQiAgICAgICAgICAgTmjhuqN5IG5nxrDhu6NjIGzhuqFpIGsgbcOgbiBow6xuaCB2xINuIGLhuqNuIFsxXVxuIgorIuKAnCAgICAgICAgICAgICAgICAgICAgICAgxJBpIHThu5tpIG7GoWkgdHLGsOG7m2Mga2hpIGLhuq90IMSR4bqndSB0w6xtIGtp4bq/bVxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIEhp4buDbiB0aOG7iyBz4buRIHRo4bupIHThu7EgZMOybmcgaGnhu4duIHThuqFpXG4iCisiLzxiaeG7g3UgdGjhu6ljIGNow61uaCBxdXk+ICBUw6xtIGtp4bq/bSBs4bqnbiB4deG6pXQgaGnhu4duIHRo4bupIGsgY+G7p2EgYmnhu4N1IHRo4bupYyBbMV1cbiIKKyJuICAgICAgICAgICAgICAgICAgICAgICBUw6xtIGtp4bq/bSBs4bqnbiB4deG6pXQgaGnhu4duIHRo4bupIGsgY+G7p2EgYmnhu4N1IHRo4bupYyBjdeG7kWkgY8O5bmcgWzFdXG4iCisiITxs4buHbmg+IGhv4bq3YyA6ITxs4buHbmg+ICAgVGjhu7FjIGhp4buHbiA8bOG7h25oPiB0cm9uZyBt4buZdCBo4buHIHbhu48gY29uXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgQ2jhuqF5IC91c3IvYmluL3ZpIHThuqFpIGTDsm5nIGhp4buHbiB04bqhaVxuIgorImN0cmwtTCAgICAgICAgICAgICAgICAgIFbhur0gbOG6oWkgbcOgbiBow6xuaFxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIMSQaSB04bubaSB04bqtcCB0aW4gdGjhu6kgayB0aeG6v3AgdGhlbyBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgICAgICDEkGkgdOG7m2kgdOG6rXAgdGluIHRo4bupIGsgcGjDrWEgdHLGsOG7m2MgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgSGnhu4NuIHRo4buLIHTDqm4gdOG6rXAgdGluIGhp4buHbiB04bqhaSB2w6Agc+G7kSB0aOG7qSB04buxIGTDsm5nXG4iCisiLiAgICAgICAgICAgICAgICAgICAgICAgTOG6t3AgbOG6oWkgY8OidSBs4buHbmggduG7q2EgdGjhu7FjIGhp4buHblxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzczIHRleHQtdXRpbHMvbW9yZS5jOjEzNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzICdoJyBmb3IgaW5zdHJ1Y3Rpb25zLl0iCittc2dzdHIgIltIw6N5IG5o4bqlbiDigJxo4oCdIMSR4buDIHhlbSBjaOG7iSBk4bqrbi5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBsaW5lICVkIgorbXNnc3RyICJcIiVzXCIgZMOybmcgJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiW05vdCBhIGZpbGVdIGxpbmUgJWQiCittc2dzdHIgIltLaMO0bmcgcGjhuqNpIHThuq1wIHRpbl0gZMOybmcgJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0OTQKK21zZ2lkICIgIE92ZXJmbG93XG4iCittc2dzdHIgIiAgQuG7iyB0csOgblxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTQzCittc2dpZCAiLi4uc2tpcHBpbmdcbiIKK21zZ3N0ciAi4oCmYuG7jyBxdWFcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU3NworbXNnaWQgIiIKKyJcbiIKKyJQYXR0ZXJuIG5vdCBmb3VuZFxuIgorbXNnc3RyICIiCisiXG4iCisiS2jDtG5nIHTDrG0gdGjhuqV5IG3huqt1IHTDrG0ga2nhur9tXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1ODMgdGV4dC11dGlscy9wZy5jOjEwMjcgdGV4dC11dGlscy9wZy5jOjExNzMKK21zZ2lkICJQYXR0ZXJuIG5vdCBmb3VuZCIKK21zZ3N0ciAiS2jDtG5nIHTDrG0gdGjhuqV5IG3huqt1IHTDrG0ga2nhur9tIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjI5Cittc2dpZCAiZXhlYyBmYWlsZWRcbiIKK21zZ3N0ciAidGjhu7FjIGhp4buHbiAoZXhlYykga2jDtG5nIHRow6BuaCBjw7RuZ1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjQzCittc2dpZCAiY2FuJ3QgZm9ya1xuIgorbXNnc3RyICJraMO0bmcgdGjhu4MgcuG6vSBuaMOhbmggdGnhur9uIHRyw6xuaFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjc3Cittc2dpZCAiIgorIlxuIgorIi4uLlNraXBwaW5nICIKK21zZ3N0ciAiIgorIlxuIgorIuKApkLhu48gcXVhICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY4MQorbXNnaWQgIi4uLlNraXBwaW5nIHRvIGZpbGUgIgorbXNnc3RyICLigKZOaOG6o3kgdOG7m2kgdOG6rXAgdGluICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY4MworbXNnaWQgIi4uLlNraXBwaW5nIGJhY2sgdG8gZmlsZSAiCittc2dzdHIgIuKApk5o4bqjeSBxdWF5IGzhuqFpIHThuq1wIHRpbiAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE5NzMKK21zZ2lkICJMaW5lIHRvbyBsb25nIgorbXNnc3RyICJEw7JuZyBxdcOhIGTDoGkiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIwMTAKK21zZ2lkICJObyBwcmV2aW91cyBjb21tYW5kIHRvIHN1YnN0aXR1dGUgZm9yIgorbXNnc3RyICJLaMO0bmcgY8OzIGPDonUgbOG7h25oIG5nYXkgdHLGsOG7m2MgxJHhu4MgdGhheSB0aOG6vyBjaG8iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNDQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBzY3JlZW5cbiIKKyIgIHEgb3IgUSAgICAgICAgICAgICAgICAgIHF1aXQgcHJvZ3JhbVxuIgorIiAgPG5ld2xpbmU+ICAgICAgICAgICAgICAgbmV4dCBwYWdlXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBza2lwIGEgcGFnZSBmb3J3YXJkXG4iCisiICBkIG9yIF5EICAgICAgICAgICAgICAgICBuZXh0IGhhbGZwYWdlXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBuZXh0IGxpbmVcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIGxhc3QgcGFnZVxuIgorIiAgL3JlZ2V4LyAgICAgICAgICAgICAgICAgc2VhcmNoIGZvcndhcmQgZm9yIHJlZ2V4XG4iCisiICA/cmVnZXg/IG9yIF5yZWdleF4gICAgICBzZWFyY2ggYmFja3dhcmQgZm9yIHJlZ2V4XG4iCisiICAuIG9yIF5MICAgICAgICAgICAgICAgICByZWRyYXcgc2NyZWVuXG4iCisiICB3IG9yIHogICAgICAgICAgICAgICAgICBzZXQgcGFnZSBzaXplIGFuZCBnbyB0byBuZXh0IHBhZ2VcbiIKKyIgIHMgZmlsZW5hbWUgICAgICAgICAgICAgIHNhdmUgY3VycmVudCBmaWxlIHRvIGZpbGVuYW1lXG4iCisiICAhY29tbWFuZCAgICAgICAgICAgICAgICBzaGVsbCBlc2NhcGVcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIHByZXZpb3VzIGZpbGVcbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIG5leHQgZmlsZVxuIgorIlxuIgorIk1hbnkgY29tbWFuZHMgYWNjZXB0IHByZWNlZGluZyBudW1iZXJzLCBmb3IgZXhhbXBsZTpcbiIKKyIrMTxuZXdsaW5lPiAobmV4dCBwYWdlKTsgLTE8bmV3bGluZT4gKHByZXZpb3VzIHBhZ2UpOyAxPG5ld2xpbmU+IChmaXJzdCBwYWdlKS5cbiIKKyJcbiIKKyJTZWUgcGcoMSkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgdHLhu6MgZ2nDunAgbsOgeVxuIgorIiAgcSBoYXkgUSAgICAgICAgICAgICAgICAgdGhvw6F0IGto4buPaSBjaMawxqFuZyB0csOsbmhcbiIKKyIgIDxkw7JuZ19t4bubaT4gICAgICAgICAgICAgIHRyYW5nIGvhur8gdGnhur9wXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBuaOG6o3kgdOG7m2kgbeG7mXQgdHJhbmdcbiIKKyIgIGQgaGF5IF5EICAgICAgICAgICAgICAgIG7hu61hIHRyYW5nIGvhur8gdGnhur9wXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBkw7JuZyBr4bq/IHRp4bq/cFxuIgorIiAgJCAgICAgICAgICAgICAgICAgICAgICAgdHJhbmcgY3Xhu5FpIGPDuW5nXG4iCisiICAvYmnhu4N1IHRo4bupYyBjaMOtbmggcXV5LyAgIHF1w6l0IHThu5tpIHTDrG0gY2h14buXaSBuw6B5XG4iCisiICA/Ymnhu4N1IHRo4bupYyBjaMOtbmggcXV5PyBoYXkgXmJp4buDdSB0aOG7qWMgY2jDrW5oIHF1eV4gICAgcXXDqXQgbmfGsOG7o2MgdMOsbSBjaHXhu5dpIG7DoHlcbiIKKyIgIC4gaGF5IF5MICAgICAgICAgICAgICAgIHbhur0gbOG6oWkgbcOgbiBow6xuaFxuIgorIiAgdyBoYXkgeiAgICAgICAgICAgICAgICAgxJHhurd0IGvDrWNoIGPhu6EgdHJhbmcgdsOgIMSRaSB04bubaSB0cmFuZyBr4bq/IHRp4bq/cFxuIgorIiAgcyB0w6puX3Thuq1wX3RpbiAgICAgICAgICAgbMawdSB04bqtcCB0aW4gaGnhu4duIHThuqFpIHbDoG8gdMOqbiB04bqtcCB0aW4gbsOgeVxuIgorIiAgIWPDonVfbOG7h25oICAgICAgICAgICAgICAgdGhvw6F0IHbDoG8gc2hlbGwgKGjhu4cgduG7jylcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIMSRaSB24buBIHThuq1wIHRpbiB0csaw4bubY1xuIgorIiAgbiAgICAgICAgICAgICAgICAgICAgICAgxJFpIHThu5tpIHThuq1wIHRpbiBr4bq/IHRp4bq/cFxuIgorIlxuIgorIk5oaeG7gXUgY8OidSBs4buHbmggY8WpbmcgY2jhuqVwIG5o4bqtbiBz4buRIMSRaSB0csaw4bubYywgdi5kLlxuIgorIisxPGTDsm5nX23hu5tpPiAodHJhbmcga+G6vyB0aeG6v3ApOyAtMTxkw7JuZ19t4bubaT4gKHRyYW5nIHRyxrDhu5tjKTsgMTxkw7JuZ19t4bubaT4gKHRyYW5nIMSR4bqndSkuXG4iCisiXG4iCisiWGVtIHBnKDEpIMSR4buDIHTDrG0gdGjDqm0gdGjDtG5nIHRpbi5cbiIKKyJUaMO0bmcgYsOhbyBs4buXaSBk4buLY2ggY2hvIDxodHRwOi8vdHJhbnNsYXRpb25wcm9qZWN0Lm9yZy90ZWFtL3ZpLmh0bWw+XG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIgorbXNnc3RyICIgJXMgW2PDoWMtdMO5eS1jaOG7jW5dIFsrZMOybmddIFsrL23huqt1L10gW3Thuq1wLXRpbl1cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyNgorbXNnaWQgIkJyb3dzZSBwYWdld2lzZSB0aHJvdWdoIHRleHQgZmlsZXMuXG4iCittc2dzdHIgIkR1eeG7h3QgbmfGsOG7o2MgdHJhbmcgdG/DoG4gYuG7mSB04bqtcCB0aW4gdsSDbiBi4bqjbi5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyOQorbXNnaWQgIiAtbnVtYmVyICAgICAgbGluZXMgcGVyIHBhZ2VcbiIKK21zZ3N0ciAiIC1udW1iZXIgICAgICBz4buRIGTDsm5nIG3hu5dpIHRyYW5nXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzAKK21zZ2lkICIgLWMgICAgICAgICAgIGNsZWFyIHNjcmVlbiBiZWZvcmUgZGlzcGxheWluZ1xuIgorbXNnc3RyICIgLWMgICAgICAgICAgIHjDs2Egc+G6oWNoIG3DoG4gaMOsbmggc2F1IGtoaSBoaeG7g24gdGjhu4tcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMQorbXNnaWQgIiAtZSAgICAgICAgICAgZG8gbm90IHBhdXNlIGF0IGVuZCBvZiBhIGZpbGVcbiIKK21zZ3N0ciAiIC1lICAgICAgICAgICBraMO0bmcgdOG6oW0gZOG7q25nIHThuqFpIGN14buRaSB04bqtcCB0aW5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMgorbXNnaWQgIiAtZiAgICAgICAgICAgZG8gbm90IHNwbGl0IGxvbmcgbGluZXNcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICBraMO0bmcgY+G6r3QgeHXhu5FuZyBkw7JuZyBraGkgZ+G6t3AgZMOybmcgZMOgaVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMzCittc2dpZCAiIC1uICAgICAgICAgICB0ZXJtaW5hdGUgY29tbWFuZCB3aXRoIG5ldyBsaW5lXG4iCittc2dzdHIgIiAtbiAgICAgICAgICAgY2jhuqVtIGThu6l0IGzhu4duaCB24bubaSBt4buZdCBkw7JuZyBt4bubaVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM0Cittc2dpZCAiIC1wIDxwcm9tcHQ+ICBzcGVjaWZ5IHByb21wdFxuIgorbXNnc3RyICIgLXAgPGThuqV1LW5o4bqvYz4gY2jhu4kgcmEgZOG6pXUgbmjhuq9jXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzUKK21zZ2lkICIgLXIgICAgICAgICAgIGRpc2FsbG93IHNoZWxsIGVzY2FwZVxuIgorbXNnc3RyICIgLXIgICAgICAgICAgIGtow7RuZyBjaG8gcGjDqXAgdGhvw6F0IGto4buPaSBo4buHIHbhu49cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNgorbXNnaWQgIiAtcyAgICAgICAgICAgcHJpbnQgbWVzc2FnZXMgdG8gc3Rkb3V0XG4iCittc2dzdHIgIiAtcyAgICAgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyDEkWnhu4dwIHJhIMSR4bqndSByYSB0acOqdSBjaHXhuqluXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzcKK21zZ2lkICIgK251bWJlciAgICAgIHN0YXJ0IGF0IHRoZSBnaXZlbiBsaW5lXG4iCittc2dzdHIgIiArc+G7kSAgICAgICAgICBi4bqvdCDEkeG6p3UgdOG6oWkgZMOybmcgxJHGsOG7o2MgY2jhu4kgcmFcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzOAorbXNnaWQgIiArL3BhdHRlcm4vICAgc3RhcnQgYXQgdGhlIGxpbmUgY29udGFpbmluZyBwYXR0ZXJuXG4iCittc2dzdHIgIiArL23huqt1LyAgIGLhuq90IMSR4bqndSB04bqhaSBkw7JuZyBjw7MgY2jhu6lhIG3huqt1XG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICVzIgorbXNnc3RyICJ0w7l5IGNo4buNbiB5w6p1IGPhuqd1IG3hu5l0IHRoYW0gc+G7kSAtLSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIG9wdGlvbiAtLSAlcyIKK21zZ3N0ciAidMO5eSBjaOG7jW4ga2jDtG5nIGjhu6NwIGzhu4cgLS0gJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNTkKK21zZ2lkICIuLi5za2lwcGluZyBmb3J3YXJkXG4iCittc2dzdHIgIuKApm5o4bqjeSB24buBIHRyxrDhu5tjXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjEKK21zZ2lkICIuLi5za2lwcGluZyBiYWNrd2FyZFxuIgorbXNnc3RyICLigKZuaOG6o3kgcXVheSBs4bqhaVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzc3Cittc2dpZCAiTm8gbmV4dCBmaWxlIgorbXNnc3RyICJLaMO0bmcgY8OzIHThuq1wIHRpbiB0aeG6v3AgdGhlbyIKKworIzogdGV4dC11dGlscy9wZy5jOjM4MQorbXNnaWQgIk5vIHByZXZpb3VzIGZpbGUiCittc2dzdHIgIktow7RuZyBjw7MgdOG6rXAgdGluIHRyxrDhu5tjIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3IgZnJvbSAlcyBmaWxlIgorbXNnc3RyICJM4buXaSDEkeG7jWMgdOG7qyB04bqtcCB0aW4gJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCBFT0YgaW4gJXMgZmlsZSIKK21zZ3N0ciAiR+G6t3AgRU9GIChL4bq/dCB0aMO6YykgYuG6pXQgbmfhu50gdHJvbmcgdOG6rXAgdGluICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODg4CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gZXJyb3IgaW4gJXMgZmlsZSIKK21zZ3N0ciAiR+G6t3AgbOG7l2kga2jDtG5nIGhp4buDdSB0cm9uZyB04bqtcCB0aW4gJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NDEKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIHThuqFvIHThuq1wIHRpbiB04bqhbSB0aOG7nWkiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NTAgdGV4dC11dGlscy9wZy5jOjExMTQgdGV4dC11dGlscy9wZy5jOjExNDAKK21zZ2lkICJSRSBlcnJvcjogIgorbXNnc3RyICJM4buXaSBSRTogIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTA5NworbXNnaWQgIihFT0YpIgorbXNnc3RyICIoS+G6v3QgdGjDumMgdOG6rXAgdGluKSIKKworIzogdGV4dC11dGlscy9wZy5jOjExMjIgdGV4dC11dGlscy9wZy5jOjExNDgKK21zZ2lkICJObyByZW1lbWJlcmVkIHNlYXJjaCBzdHJpbmciCittc2dzdHIgIktow7RuZyBuaOG7myBjaHXhu5dpIHTDrG0ga2nhur9tIG7DoG8iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjAzCittc2dpZCAiY2Fubm90IG9wZW4gIgorbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjU1Cittc2dpZCAic2F2ZWQiCittc2dzdHIgIsSRw6MgZ2hpIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM0NQorbXNnaWQgIjogIWNvbW1hbmQgbm90IGFsbG93ZWQgaW4gcmZsYWcgbW9kZS5cbiIKK21zZ3N0ciAiOiAhY8OidWzhu4duaCBraMO0bmcgY2hvIHBow6lwIHRyb25nIGNo4bq/IMSR4buZIHJmbGFnLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM4MAorbXNnaWQgImZvcmsoKSBmYWlsZWQsIHRyeSBhZ2FpbiBsYXRlclxuIgorbXNnc3RyICJmb3JrKCkga2jDtG5nIHRow6BuaCBjw7RuZywgaMOjeSB0aOG7rSBs4bqhaSBzYXVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjE0NjgKK21zZ2lkICIoTmV4dCBmaWxlOiAiCittc2dzdHIgIihU4bqtcCB0aW4gdGnhur9wIHRoZW86ICIKKworIzogdGV4dC11dGlscy9wZy5jOjE1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXMgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiIKK21zZ3N0ciAiJXMgJXMgVMOhYyBxdXnhu4FuIChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gR2nhu68gdG/DoG4gYuG7mSBi4bqjbiBxdXnhu4FuLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU4NyB0ZXh0LXV0aWxzL3BnLmM6MTY2MAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMgcGVyIHBhZ2UiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBz4buRIGTDsm5nIG3hu5dpIHRyYW5nIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorbXNnc3RyICJDw6FjaCBkw7luZzogJXMgW1TDmVlfQ0jhu4xOXSBbVOG6rFBfVElO4oCmXVxuIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjgwCittc2dpZCAiUmV2ZXJzZSBsaW5lcyBjaGFyYWN0ZXJ3aXNlLlxuIgorbXNnc3RyICLEkOG6o28gbmfGsOG7o2MgY8OhYyBrw70gdOG7sSB0csOqbiBjw6FjIGTDsm5nLlxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgImluY29tcGxldGUgd3JpdGUgdG8gXCIlc1wiICh3cml0dGVuICV6ZCwgZXhwZWN0ZWQgJXpkKVxuIgorbXNnc3RyICJnaGkga2jDtG5nIGhvw6BuIHRvw6BuIHbDoG8gXCIlc1wiICjEkcOjIGdoaSAlemQsIGPhuqduICV6ZClcbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoIChsaW1pdCBvZiBpbm90aWZ5IHdhdGNoZXMgd2FzIHJlYWNoZWQpLiIKK21zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyB0aMOqbSBz4buxIHRoZW8gZMO1aSBpbm90aWZ5ICjEkcOjIHThu5tpIGdp4bubaSBo4bqhbiBjw6FjIHPhu7EgZ2nhu5tpIGjhuqFuIGlub3RpZnkpLiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbl0gPGZpbGU+XG4iCittc2dzdHIgIiAlcyBbVFXhu7JfQ0jhu4xOXSA8VOG6rFBfVElOPlxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjAwCittc2dpZCAiRm9sbG93IHRoZSBncm93dGggb2YgYSBsb2cgZmlsZS5cbiIKK21zZ3N0ciAixJBpIHRoZW8gc+G7sSBs4bubbiBt4bqhbmggY+G7p2EgdOG6rXAgdGluIG5o4bqtdCBrw70uXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMDMKK21zZ2lkICIgLW4sIC0tbGluZXMgPG51bWJlcj4gICBvdXRwdXQgdGhlIGxhc3QgPG51bWJlcj4gbGluZXNcbiIKK21zZ3N0ciAiIC1uLCAtLWxpbmVzIDxz4buRPiAgICAgIHh14bqldCByYSA8c+G7kT4gZMOybmcgY3Xhu5FpXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMDQKK21zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgICBzYW1lIGFzICctbiA8bnVtYmVyPidcbiIKK21zZ3N0ciAiIC08c+G7kT4gICAgICAgICAgICAgICAgICBnaeG7kW5nIHbhu5tpIOKAnC1uIDxz4buRPuKAnVxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjEwCittc2dpZCAiV2FybmluZzogdXNlIG9mICd0YWlsZicgaXMgZGVwcmVjYXRlZCwgdXNlICd0YWlsIC1mJyBpbnN0ZWFkLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMjMgdGV4dC11dGlscy90YWlsZi5jOjI2MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBz4buRIGTDsm5nIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6Mjc1Cittc2dpZCAibm8gaW5wdXQgZmlsZSBzcGVjaWZpZWQiCittc2dzdHIgImNoxrBhIGdoaSByw7UgdOG6rXAgdGluIMSR4bqndSB2w6BvIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGEgZmlsZSIKK21zZ3N0ciAiJXM6IGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHRoxrAgbeG7pWMiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFtUVeG7sl9DSOG7jE5dIFs8VOG6rFBfVElOPiDigKZdXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxMzkKK21zZ2lkICJEbyB1bmRlcmxpbmluZy5cbiIKK21zZ3N0ciAiVGjhu7FjIGhp4buHbiBn4bqhY2ggY2jDom4uXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDIKK21zZ2lkICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIiCisiIC10LCAtVCwgLS10ZXJtaW5hbCBUSEnhur5ULULhu4otQ1Xhu5BJXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaGkgxJHDqCBsw6puIGJp4bq/biBtw7RpIHRyxrDhu51uZyBURVJNXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDMKK21zZ2lkICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIgorbXNnc3RyICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICBn4bqhY2ggY2jDom4gYmnhu4N1IHRo4buLIHRow7RuZyBxdWEgZMOybmcgbmfEg24gY8OhY2hcbiIKKworIzogdGV4dC11dGlscy91bC5jOjIwNAorbXNnaWQgInRyb3VibGUgcmVhZGluZyB0ZXJtaW5mbyIKK21zZ3N0ciAiY8OzIHbhuqVuIMSR4buBIGtoaSDEkeG7jWMgdGVybWluZm8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgYCVzJyBpcyBub3Qga25vd24sIGRlZmF1bHRpbmcgdG8gYGR1bWInIgorbXNnc3RyICJ0aGnhur90IGLhu4sgY3Xhu5FpIOKAnCVz4oCdIGtow7RuZyBoaeG7g3UsIG3hurdjIMSR4buLbmggbMOgIOKAnGR1bWLigJ0iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBlc2NhcGUgc2VxdWVuY2UgaW4gaW5wdXQ6ICVvLCAlbyIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSBkw6N5IHRob8OhdCB0cm9uZyBk4buvIGxp4buHdSDEkeG6p3UgdsOgbzogJW8sICVvIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6NjI0Cittc2dpZCAiSW5wdXQgbGluZSB0b28gbG9uZy4iCittc2dzdHIgIkTDsm5nIMSR4bqndSB2w6BvIHF1w6EgZMOgaS4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gdXNlIHRoZSBIYXJkd2FyZSBDbG9jay4iCisjfiBtc2dzdHIgIlLhuqV0IHRp4bq/YywgbmjGsG5nIGNo4buJIG5nxrDhu51pIGTDuW5nIHJvb3QgbeG7m2kgY8OzIHRo4buDIHRoYXkgxJHhu5VpIMSQ4buTbmcgaOG7kyBQaOG6p24gY+G7qW5nLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzZWNjb21wIGNvbnRleHQiCisjfiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBraOG7n2kgdOG6oW8gbG9vcGN4dCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gYWRkIHNlY2NvbXAgcnVsZSIKKyN+IG1zZ3N0ciAixJHhu41jIHThu5FjIMSR4buZIGfhurdwIGzhu5dpIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBsb2FkIHNlY2NvbXAgcnVsZSIKKyN+IG1zZ3N0ciAixJHhu41jIHThu5FjIMSR4buZIGfhurdwIGzhu5dpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZpbGVzeXN0ZW0gbGFiZWw6IgorI34gbXNnc3RyICJuaMOjbiBo4buHIHRo4buRbmcgdOG6rXAgdGluIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHNldCBQQVRIIgorI34gbXNnc3RyICJH4bq3cCBs4buXaSBraGkgxJHhurd0IGJp4bq/biBQQVRIICjEkMav4bucTkctROG6qk4pIgorCisjfiBtc2dpZCAiJWQiCisjfiBtc2dzdHIgIiVkIgorCisjfiBtc2dpZCAidXNlIG9mICdraWxsIC0tcGlkJyBvcHRpb24gYXMgY29tbWFuZCBuYW1lIGlzIGRlcHJlY2F0ZWQiCisjfiBtc2dzdHIgInZp4buHYyBkw7luZyB0w7l5IGNo4buNbiDigJxraWxsIC0tcGlk4oCdIG5oxrAgbMOgIGzhu4duaCBi4buLIHBo4bqjbiDEkeG7kWkiCisKKyN+IG1zZ2lkICJleHBlY3RlZCBhIG51bWJlciwgYnV0IGdvdCAnJXMnIgorI34gbXNnc3RyICJj4bqnbiBjb24gc+G7kSwgbmjGsG5nIGzhuqFpIG5o4bqtbiDEkcaw4bujYyDigJwlc+KAnSIKKworI34gbXNnaWQgImRpdmlzb3IgJyVzJyIKKyN+IG1zZ3N0ciAic+G7kSBjaGlhIOKAnCVz4oCdIgorCisjfiBtc2dpZCAiYXJndW1lbnQgZXJyb3I6ICVzIgorI34gbXNnc3RyICJzYWkgxJHhu5FpIHPhu5E6ICVzIgorCisjfiBtc2dpZCAidHR5IHBhdGggJXMgdG9vIGxvbmciCisjfiBtc2dzdHIgIsSRxrDhu51uZyBk4bqrbiB0dHkgJXMgcXXDoSBkw6BpIgorCisjfiBtc2dpZCAiYmFkIHRpbWVvdXQgdmFsdWU6ICVzIgorI34gbXNnc3RyICJnacOhIHRy4buLIHRo4budaSBnaWFuIGNo4budIHThu5FpIMSRYSBi4buLIHNhaTogJXMiCisKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCIKKyN+IG1zZ3N0ciAiJXM6IGzhu5dpIHBow6JuIHTDrWNoIHThuqFpIGTDsm5nICVkIgorCisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yOiBpZ25vcmUgZW50cnkgYXQgbGluZSAlZC4iCisjfiBtc2dzdHIgIiVzOiBs4buXaSBwaMOibiB0w61jaCBjw7ogcGjDoXA6IGLhu48gcXVhIG3hu6VjIHThuqFpIGTDsm5nICVkLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgbm90IHNldHVwIHRpbWVyIgorI34gbXNnc3RyICJraMO0bmcgxJHhurd0IMSRxrDhu6NjIG3DoyBz4buRIG5ow7NtIChHSUQpIgorCisjfiBtc2dpZCAiZGlmZmVyZW50IgorI34gbXNnc3RyICJraMOhYyIKKworI34gbXNnaWQgInNhbWUiCisjfiBtc2dzdHIgImdp4buRbmcgbmhhdSIKKworI34gbXNnaWQgImNhbm5vdCBhY2Nlc3MgZmlsZSAlcyIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIHRydXkgY+G6rXAgdOG6rXAgdGluICVzIgorCisjfiBtc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgc3BlY2lhbCBkZXZpY2UiCisjfiBtc2dzdHIgIiVzIGtow7RuZyBwaOG6o2kgbMOgIHRoaeG6v3QgYuG7iyBraOG7kWkgxJHhurdjIGJp4buHdCIKKworI34gbXNnaWQgIiVzOiBkZXZpY2UgaXMgbWlzYWxpZ25lZCIKKyN+IG1zZ3N0ciAiJXMgdGhp4bq/dCBi4buLIGtow7RuZyDEkcaw4bujYyDEkeG7k25nIGNo4buJbmgiCisKKyN+IG1zZ2lkICJPUy8yIGhpZGRlbiBDOiBkcml2ZSIKKyN+IG1zZ3N0ciAiT1MvMiDhu5UgxJHEqWEgQzog4bqpbiIKKworI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRldmljZSBwYXRoIgorI34gbXNnc3RyICIlczogbOG7l2kga2hpIGzhuqV5IMSRxrDhu51uZyBk4bqrbiB0aGnhur90IGLhu4siCisKKyN+IG1zZ2lkICIlczogdW5rbm93biBkZXZpY2UgbmFtZSIKKyN+IG1zZ3N0ciAiJXM6IGtow7RuZyBoaeG7g3UgdMOqbiB0aGnhur90IGLhu4siCisKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGdldCBkbSBuYW1lIgorI34gbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIGzhuqV5IHTDqm4gZG0iCisKKyN+IG1zZ2lkICJ0aGUgc29ydCBjb2x1bW4gaGFzIHRvIGJlIGFtb25nIHRoZSBvdXRwdXQgY29sdW1ucyIKKyN+IG1zZ3N0ciAiY+G7mXQgc+G6r3AgeOG6v3AgcGjhuqNpIGzDoCB0cm9uZyBz4buRIGPDoWMgY+G7mXQgeHXhuqV0IgorCisjfiBtc2dpZCAiIgorI34gIiAtcCwgLS1waWQgPHBhdGg+ICAgICAgICBwYXRoIHRvIHBpZCBmaWxlXG4iCisjfiAiIC1zLCAtLXNvY2tldCA8cGF0aD4gICAgIHBhdGggdG8gc29ja2V0XG4iCisjfiAiIC1ULCAtLXRpbWVvdXQgPHNlYz4gICAgIHNwZWNpZnkgaW5hY3Rpdml0eSB0aW1lb3V0XG4iCisjfiAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGtpbGwgcnVubmluZyBkYWVtb25cbiIKKyN+ICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdCByYW5kb20tYmFzZWQgZ2VuZXJhdGlvblxuIgorI34gIiAtdCwgLS10aW1lICAgICAgICAgICAgICB0ZXN0IHRpbWUtYmFzZWQgZ2VuZXJhdGlvblxuIgorI34gIiAtbiwgLS11dWlkcyA8bnVtPiAgICAgICByZXF1ZXN0IG51bWJlciBvZiB1dWlkc1xuIgorI34gIiAtUCwgLS1uby1waWQgICAgICAgICAgICBkbyBub3QgY3JlYXRlIHBpZCBmaWxlXG4iCisjfiAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIGRvIG5vdCBkYWVtb25pemUgdXNpbmcgZG91YmxlLWZvcmtcbiIKKyN+ICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iCisjfiAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHJ1biBpbiBkZWJ1Z2dpbmcgbW9kZVxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0dXJuIG9uIHF1aWV0IG1vZGVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtcCwgLS1waWQgPHBhdGg+ICAgICAgICDEkcaw4budbmcgZOG6q24gdOG7m2kgdOG6rXAgdGluIHBpZFxuIgorI34gIiAtcywgLS1zb2NrZXQgPHBhdGg+ICAgICDEkcaw4budbmcgZOG6q24gdOG7m2kgc29ja2V0XG4iCisjfiAiIC1ULCAtLXRpbWVvdXQgPHNlYz4gICAgIGNo4buJIMSR4buLbmggdGjhu51pIGdpYW4gaG/huqF0IMSR4buZbmcgdOG7kWkgxJFhXG4iCisjfiAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGRp4buHdCBk4buLY2ggduG7pSAoZGFlbW9uKSDEkWFuZyBjaOG6oXlcbiIKKyN+ICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAga2nhu4NtIHRyYSB04bqhbyBz4buRIG5n4bqrdSBuaGnDqm5cbiIKKyN+ICIgLXQsIC0tdGltZSAgICAgICAgICAgICAga2nhu4NtIHRyYSB04bqhbyB0aOG7nWkgZ2lhbiBjxqEgc+G7n1xuIgorI34gIiAtbiwgLS11dWlkcyA8bnVtPiAgICAgICB5w6p1IGPhuqd1IHPhu5EgY+G7p2EgdXVpZHNcbiIKKyN+ICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAga2jDtG5nIHLhur0gbmjDoW5oIHR1eeG6v24gdHLDrG5oIHPhu60gZOG7pW5nIGZvcmsta8OpcFxuIgorI34gIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBraMO0bmcgdOG6oW8g4buVIGPhuq9tIChzb2NrZXQpIGzhuq9uZyBuZ2hlXG4iCisjfiAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIGNo4bqheSB0cm9uZyBjaOG6vyDEkeG7mSBn4buhIGzhu5dpXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIGLhuq10IGNo4bq/IMSR4buZIGltIGzhurduZ1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB24buBIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHkgcuG7k2kgdGhvw6F0XG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIHNjaGVkdWxpbmcgcG9saWN5IgorI34gbXNnc3RyICJraMO0bmcgaGnhu4N1IGNow61uaCBzw6FjaCB0aOG7nWkga2jDs2EgYmnhu4N1IgorCisjfiBtc2dpZCAiIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKKyN+ICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKKyN+ICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgYWxpZ25lZCBsZW5ndGggYW5kIG9mZnNldFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1vLCAtLW9mZnNldCA8c+G7kT4gICBraG/huqNuZyBiw7kgKG9mZnNldCkgdMOtbmggdGhlbyBieXRlcyDEkeG7gyBtw6AgYuG7jyBxdWEgdOG7qyDEkcOzXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8c+G7kT4gICDEkeG7mSBkw6BpIGJ5dGUgxJHhu4MgYuG7jyBxdWEgdMOtbmggdOG7qyBraG/huqNuZyBiw7kgKG9mZnNldClcbiIKKyN+ICIgLXAsIC0tc3RlcCA8c+G7kT4gICAgIGPhu6EgY+G7p2EgYsaw4bubYyBs4bq3cCBsb+G6oWkgYuG7jyBiw6puIHRyb25nIGtob+G6o25nIGLDuSBcbiIKKyN+ICIgLXMsIC0tc2VjdXJlICAgICAgICB0aOG7sWMgaGnhu4duIGxv4bqhaSBi4buPIGFuIHRvw6BuXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgaGnhu4NuIHRo4buLIMSR4buZIGTDoGkgdsOgIGtob+G6o25nIGLDuSBjxINuIGNo4buJbmhcbiIKKworI34gbXNnaWQgIiVzICAuJTA2ZCBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVzICAlMDZkIGdpw6J5XG4iCisKKyN+IG1zZ2lkICJwYWdlcyIKKyN+IG1zZ3N0ciAidHJhbmciCisKKyN+IG1zZ2lkICJEZXZpY2Ugb3BlbiBpbiByZWFkLW9ubHkgbW9kZS4iCisjfiBtc2dzdHIgIlRoaeG6v3QgYuG7iyBt4bufIHRyb25nIGNo4bq/IMSR4buZIGNo4buJIGNobyDEkeG7jWMuIgorCisjfiBtc2dpZCAiIgorI34gIlZlcnkgbG9uZyAoJXp1IGJ5dGVzKSBmaWxlbmFtZSBgJXMnIGZvdW5kLlxuIgorI34gIiBQbGVhc2UgaW5jcmVhc2UgTUFYX0lOUFVUX05BTUVMRU4gaW4gbWtjcmFtZnMuYyBhbmQgcmVjb21waWxlLiAgRXhpdGluZy4iCisjfiBtc2dzdHIgIiIKKyN+ICJUw6xtIHRo4bqleSB04bqtcCB0aW4gcuG6pXQgZMOgaSAoJXp1IGJ5dGVzKSBsw6Ag4oCcJXPigJ0uXG4iCisjfiAiIFhpbiBow6N5IHTEg25nIGdpw6EgdHLhu4sg4oCcTUFYX0lOUFVUX05BTUVMRU7igJ0gdHJvbmcgdOG6rXAgdGluIOKAnG1rY3JhbWZzLmPigJ0gcuG7k2kgYmnDqm4gZOG7i2NoIGzhuqFpLiAgxJBhbmcgdGhvw6F0LiIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorI34gbXNnc3RyICIlczoga2jDtG5nIHRo4buDIGPhuqVwIHBow6F0IHbDuW5nIMSR4buHbSBjaG8gc2nDqnUga2jhu5FpIgorCisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzIGZvciBtYXBzIgorI34gbXNnc3RyICIlczoga2jDtG5nIHRo4buDIHBow6JuIHBo4buRaSBjw6FjIGLhu5kgxJHhu4dtIGNobyDDoW5oIHjhuqEiCisKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorI34gbXNnc3RyICIlczogS2jDtG5nIHRo4buDIHBow6JuIHBo4buRaSBi4buZIMSR4buHbSBjaG8gY8OhYyBpbm9kZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorI34gIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHByb2Nlc3MgaWRcbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCisjfiAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICBtw6Mgc+G7kSBj4bunYSB0aeG6v24gdHLDrG5oXG4iCisjfiAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgxJHhu4tuaCBuZ2jEqWEgY+G7mXQga+G6v3QgeHXhuqV0IG7DoG8gc+G6vSDEkcaw4bujYyBz4butIGThu6VuZ1xuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGtow7RuZyBoaeG7g24gdGjhu4sgxJHhuqd1IMSR4buBXG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgc+G7rSBk4bulbmcgxJHhu4tuaCBk4bqhbmcgaGnhu4NuIHRo4buLIHRow7RcbiIKKyN+ICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBraMO0bmcgY+G6r3QgY+G7pXQgY2jhu68gdHJvbmcgY8OhYyBj4buZdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IHLhu5NpIHRob8OhdFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHbhu4EgcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk51bWJlciBvZiBTZW1hcGhvcmUgSURzIgorI34gbXNnc3RyICJT4buRIGN1bmcgdOG7qyIKKworI34gbXNnaWQgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSBtb3VudC48dHlwZT4gaGVscGVyc1xuIgorI34gIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBsaXN0cyBhbGwgbW91bnRzIHdpdGggTEFCRUxzXG4iCisjfiAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIGRvbid0IHdyaXRlIHRvIC9ldGMvbXRhYlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IHLhu5NpIHRob8OhdFxuIgorI34gIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBraMO0bmcgZ+G7jWkgbOG7h25oIHRp4bq/cCBo4bujcCBtb3VudC48a2nhu4N1PlxuIgorI34gIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBsaeG7h3Qga8OqIGPDoWMgZ+G6r24gduG7m2kgTkjDg05cbiIKKyN+ICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAga2jDtG5nIGdoaSB2w6BvIHThuq1wIHRpbiAvZXRjL210YWJcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC13cml0ZSAoZGVmYXVsdClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBoaeG7g24gdGjhu4sgY8OhaSBnw6wgxJFhbmcgxJHGsOG7o2MgdGjhu7FjIGhp4buHblxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB24buBIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKyN+ICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgZ+G6r24gaOG7hyB0aOG7kW5nIHThuq1wIHRpbiDhu58gY2jhur8gxJHhu5kgxJHhu41jLWdoaSAobeG6t2MgxJHhu4tuaClcbiIKKworI34gbXNnaWQgIiAtdiAgYmUgdmVyYm9zZVxuIgorI34gbXNnc3RyICIgLXYgIHh14bqldCBjaGkgdGnhur90XG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1jIHwgLWwgZmlsZW5hbWVdIFstblhYXSBbLWlYWF0gL2Rldi9uYW1lIFtibG9ja3NdIgorI34gbXNnc3RyICJDw6FjaCBkw7luZzogJXMgWy1jIHwgLWwgdMOqbl904bqtcF90aW5dIFstblhYXSBbLWlYWF0gL2Rldi90w6puIFtraOG7kWldIgorCisjfiBtc2dpZCAiJXM6IGJhZCBpbm9kZSBzaXplIgorI34gbXNnc3RyICIlczoga8OtY2ggY+G7oSBuw7p0IHNhaSIKKworI34gbXNnaWQgIndpbGwgbm90IHRyeSB0byBtYWtlIGZpbGVzeXN0ZW0gb24gJyVzJyIKKyN+IG1zZ3N0ciAic+G6vSBraMO0bmcgdGjhu60gdOG6oW8gaOG7hyB0aOG7kW5nIHThuq1wIHRpbiB0csOqbiDigJwlc+KAnSIKKworI34gbXNnaWQgInR5cGU6ICVkIgorI34gbXNnc3RyICJraeG7g3U6ICVkIgorCisjfiBtc2dpZCAiZGlzazogJS4qcyIKKyN+IG1zZ3N0ciAixJHEqWE6ICUuKnMiCisKKyN+IG1zZ2lkICJsYWJlbDogJS4qcyIKKyN+IG1zZ3N0ciAibmjDo246ICUuKnMiCisKKyN+IG1zZ2lkICJmbGFnczogJXMiCisjfiBtc2dzdHIgImPhu506ICVzIgorCisjfiBtc2dpZCAiYnl0ZXMvc2VjdG9yOiAlbGQiCisjfiBtc2dzdHIgImJ5dGUvY3VuZyB04burOiAlbGQiCisKKyN+IG1zZ2lkICJzZWN0b3JzL3RyYWNrOiAlbGQiCisjfiBtc2dzdHIgImN1bmcvcsOjbmggdOG7qzogJWxkIgorCisjfiBtc2dpZCAidHJhY2tzL2N5bGluZGVyOiAlbGQiCisjfiBtc2dzdHIgInLDo25oL3Ry4bulIHThu6s6ICVsZCIKKworI34gbXNnaWQgInNlY3RvcnMvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAiY3VuZy90cuG7pSB04burOiAlbGQiCisKKyN+IG1zZ2lkICJjeWxpbmRlcnM6ICVsZCIKKyN+IG1zZ3N0ciAidHLhu6U6ICVsZCIKKworI34gbXNnaWQgInJwbTogJWQiCisjfiBtc2dzdHIgInbDsm5nIG3hu5dpIHBow7p0OiAlZCIKKworI34gbXNnaWQgImludGVybGVhdmU6ICVkIgorI34gbXNnc3RyICJ4ZW4ga+G6vTogJWQiCisKKyN+IG1zZ2lkICJ0cmFja3NrZXc6ICVkIgorI34gbXNnc3RyICLEkeG7mSBs4buHY2ggcsOjbmg6ICVkIgorCisjfiBtc2dpZCAiY3lsaW5kZXJza2V3OiAlZCIKKyN+IG1zZ3N0ciAixJDhu5kgbOG7h2NoIHRy4bulOiAlZCIKKworI34gbXNnaWQgImhlYWRzd2l0Y2g6ICVsZCAobWlsbGlzZWNvbmRzKSIKKyN+IG1zZ3N0ciAiY2h1eeG7g24gxJHhuqd1IMSR4buNYzogJWxkIChtaWxsaSBnacOieSkiCisKKyN+IG1zZ2lkICJ0cmFjay10by10cmFjayBzZWVrOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgImRpIGNodXnhu4NuIHbhu4sgdHLDrSDEkeG7jWMgdOG7q25nIHLDo25oIG3hu5l0OiAlbGQgKG1pbGxpIGdpw6J5KSIKKworI34gbXNnaWQgInBhcnRpdGlvbnM6ICVkIgorI34gbXNnc3RyICJwaMOibiB2w7luZzogJWQiCisKKyN+IG1zZ2lkICJZb3UgY2Fubm90IGNoYW5nZSBhIHBhcnRpdGlvbiBpbnRvIGFuIGV4dGVuZGVkIG9uZSBvciB2aWNlIHZlcnNhLiBEZWxldGUgaXQgZmlyc3QuIgorI34gbXNnc3RyICJC4bqhbiBraMO0bmcgdGjhu4MgdGhheSDEkeG7lWkgbeG7mXQgcGjDom4gdsO5bmcgdGjDoG5oIG3hu58gcuG7mW5nIGhheSBuZ8aw4bujYyBs4bqhaS4gSMOjeSB4w7NhIG7DsyB0csaw4bubYy4iCisKKyN+IG1zZ2lkICIiCisjfiAiTGFiZWwgZ2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnNcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWxsdSBjeWxpbmRlcnMsICVkIHBoeXNpY2FsIGN5bGluZGVyc1xuIgorI34gIiAgICAgICAgICAgICAgICAlZCBleHRyYSBzZWN0cy9jeWwsIGludGVybGVhdmUgJWQ6MVxuIgorI34gbXNnc3RyICIiCisjfiAiSMOsbmggaOG7jWMgY+G7p2EgbmjDo246ICVkIMSR4bqndSB04burLCAlbGx1IGN1bmcgdOG7q1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAlbGx1IHRy4bulLCAlZCB0cuG7pSB24bqtdCBsw71cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgJWQgY3VuZy90cuG7pSB04burIG3hu58gcuG7mW5nLCB4ZW4ga+G6vSAlZDoxXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiTGFiZWwgZ2VvbWV0cnk6ICVkIHJwbSwgJWQgYWx0ZXJuYXRlIGFuZCAlZCBwaHlzaWNhbCBjeWxpbmRlcnMsXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxIgorI34gbXNnc3RyICIiCisjfiAiSMOsbmggaOG7jWMgbmjDo246ICVkIHJwbSwgJWQgbHXDom4gcGhpw6puIHbDoCAlZCB0cuG7pSB24bqtdCBsw70sXG4iCisjfiAiICAgICAgICAgICAgICAgJWQgY3VuZy90cuG7pSB04burIG3hu58gcuG7mW5nLCB4ZW4ga+G6vSAlZDoxIgorCisjfiBtc2dpZCAiPG5vbmU+IgorI34gbXNnc3RyICI8a2jDtG5nPiIKKworI34gbXNnaWQgImdldHRpbWVvZmRheSBmYWlsZWQiCisjfiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBnZXR0aW1lb2ZkYXkgKGzhuqV5IGdp4budKSIKKworI34gbXNnaWQgInN5c2luZm8gZmFpbGVkIgorI34gbXNnc3RyICJs4bqleSB0aMO0bmcgdGluIGjhu4cgdGjhu5FuZyAoc3lzaW5mbykgZ+G6t3AgbOG7l2kiCisKKyN+IG1zZ2lkICJ1c2FnZTogbGFzdCBbLSNdIFstZiBmaWxlXSBbLXQgdHR5XSBbLWggaG9zdG5hbWVdIFt1c2VyIC4uLl1cbiIKKyN+IG1zZ3N0ciAiY8OhY2ggZMO5bmc6IGxhc3QgWy0jXSBbLWYgdOG6rXBfdGluXSBbLXQgdHR5XSBbLWggdMOqbl9tw6F5XSBbbmfGsOG7nWlfZMO5bmcg4oCmXVxuIgorCisjfiBtc2dpZCAiJXM6IG1tYXAgZmFpbGVkIgorI34gbXNnc3RyICIlczogbOG7l2kgbW1hcCIKKworI34gbXNnaWQgIiAgc3RpbGwgbG9nZ2VkIGluIgorI34gbXNnc3RyICIgIHbhuqtuIGPDsm4gxJHEg25nIG5o4bqtcCIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJ3dG1wIGJlZ2lucyAlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gInd0bXAgYuG6r3QgxJHhuqd1ICVzIgorCisjfiBtc2dpZCAiZ2V0aG9zdG5hbWUgZmFpbGVkIgorI34gbXNnc3RyICJM4buXaSBnZXRob3N0bmFtZSAobOG6pXkgdMOqbiBtw6F5KSIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJpbnRlcnJ1cHRlZCAlMTAuMTBzICU1LjVzIFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAixJHDoyBuZ+G6r3QgJTEwLjEwcyAlNS41cyBcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJTY2hlZHVsaW5nIHBvbGljaWVzOlxuIgorI34gIiAgLWIgfCAtLWJhdGNoICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorI34gIiAgLWYgfCAtLWZpZm8gICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9GSUZPXG4iCisjfiAiICAtaSB8IC0taWRsZSAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKKyN+ICIgIC1vIHwgLS1vdGhlciAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIKKyN+ICIgIC1yIHwgLS1yciAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLEkOG7i25oIHRo4budaSBjaMOtbmggc8OhY2hcbiIKKyN+ICIgIC1iIHwgLS1iYXRjaCAgICAgICAgIMSR4bq3dCBjaMOtbmggc8OhY2ggdGjDoG5oIFNDSEVEX0JBVENIXG4iCisjfiAiICAtZiB8IC0tZmlmbyAgICAgICAgICDEkeG6t3QgY2jDrW5oIHPDoWNoIHRow6BuaCBTQ0hFRF9GSUZPXG4iCisjfiAiICAtaSB8IC0taWRsZSAgICAgICAgICDEkeG6t3QgY2jDrW5oIHPDoWNoIHRow6BuaCBTQ0hFRF9JRExFXG4iCisjfiAiICAtbyB8IC0tb3RoZXIgICAgICAgICDEkeG6t3QgY2jDrW5oIHPDoWNoIHRow6BuaCBTQ0hFRF9PVEhFUlxuIgorI34gIiAgLXIgfCAtLXJyICAgICAgICAgICAgxJHhurd0IGNow61uaCBzw6FjaCB0aMOgbmggU0NIRURfUlIgKG3hurdjIMSR4buLbmgpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgIC1hIHwgLS1hbGwtdGFza3MgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscFxuIgorI34gIiAgLW0gfCAtLW1heCAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCisjfiAiICAtcCB8IC0tcGlkICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorI34gIiAgLXYgfCAtLXZlcmJvc2UgICAgICAgZGlzcGxheSBzdGF0dXMgaW5mb3JtYXRpb25cbiIKKyN+ICIgIC1WIHwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJUw7l5IGNo4buNbjpcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5XG4iCisjfiAiICAtYSB8IC0tYWxsLXRhc2tzICAgICB0w6FjIMSR4buZbmcgbMOqbiB0b8OgbiBi4buZIGPDoWMgdMOhYyB24bulICh0dXnhu4NuKSBjaG8gcGlkIMSRw6MgY2jhu4kgcmFcbiIKKyN+ICIgIC1tIHwgLS1tYXggICAgICAgICAgIGhp4buDbiB0aOG7iyBt4bupYyDGsHUgdGnDqm4gaOG7o3AgbOG7hyBj4bqjIGhhaSB04buRaSDEkWEgdsOgIHThu5FpIHRoaeG7g3VcbiIKKyN+ICIgIC1wIHwgLS1waWQgICAgICAgICAgIHRoYW8gdMOhYyBt4buZdCBQSUQgaOG7o3AgbOG7hyDEkcOjIGPDs1xuIgorI34gIiAgLXYgfCAtLXZlcmJvc2UgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gduG7gSB0cuG6oW5nIHRow6FpXG4iCisjfiAiICAtViB8IC0tdmVyc2lvbiAgICAgICB4deG6pXQgdGjDtG5nIHRpbiB24buBIHBoacOqbiBi4bqjblxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWF1dG8vLWEgb3B0aW9uIgorI34gbXNnc3RyICLEkeG7kWkgc+G7kSBraMO0bmcgaOG7o3AgbOG7hyDEkeG7kWkgduG7m2kgdMO5eSBjaOG7jW4gLS1hdXRvLy1hIgorCisjfiBtc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLW1hbnVhbGVqZWN0Ly1pIG9wdGlvbiIKKyN+IG1zZ3N0ciAixJHhu5FpIHPhu5Ega2jDtG5nIGjhu6NwIGzhu4cgxJHhu5FpIHbhu5tpIHTDuXkgY2jhu41uIC0tbWFudWFsZWplY3QvLWkiCisKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiBjaGFuZ2UgdGhlIFN5c3RlbSBDbG9jay4iCisjfiBtc2dzdHIgIlLhuqV0IHRp4bq/YywgbmjGsG5nIGNo4buJIG5nxrDhu51pIGTDuW5nIHJvb3QgbeG7m2kgY8OzIHRo4buDIHRoYXkgxJHhu5VpIMSQ4buTbmcgaOG7kyBI4buHIHRo4buRbmcuIgorCisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gY2hhbmdlIHRoZSBIYXJkd2FyZSBDbG9jayBlcG9jaCBpbiB0aGUga2VybmVsLiIKKyN+IG1zZ3N0ciAiUuG6pXQgdGnhur9jLCBuaMawbmcgY2jhu4kgbmfGsOG7nWkgZMO5bmcgcm9vdCBt4bubaSBjw7MgdGjhu4MgdGhheSDEkeG7lWkga2jhu59pIMSR4bqndSBj4bunYcSQ4buTbmcgaOG7kyBQaOG6p24gY+G7qW5nIHRyb25nIG5ow6JuLiIKKworI34gbXNnaWQgInJlYWQoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKKyN+IG1zZ3N0ciAicmVhZCgpIHThu5tpICVzIMSR4buDIGNo4budIHRp4bq/bmcgdMOtYyB04bqvYyBraMO0bmcgdGjDoG5oIGPDtG5nIgorCisjfiBtc2dpZCAic2V0IHJ0YyBhbGFybSBmYWlsZWQiCisjfiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG6t3QgY2h1w7RuZyBydGMiCisKKyN+IG1zZ2lkICJlbmFibGUgcnRjIGFsYXJtIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGNobyBwaMOpcCDEkeG6t3QgY2h1w7RuZyBydGMiCisKKyN+IG1zZ2lkICJzdXNwZW5kIHRvIFwiJXNcIiB1bmF2YWlsYWJsZSIKKyN+IG1zZ3N0ciAidHJlbyBcIiVzXCIga2jDtG5nIHPhurVuIHPDoG5nIgorCisjfiBtc2dpZCAiYmFkIHZhbHVlIgorI34gbXNnc3RyICJnacOhIHRy4buLIHNhaSIKKworI34gbXNnaWQgIiAtbSwgLS1tb3VudCAgICAgICAgICAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgLW0sIC0tbW91bnQgICAgICAgICAgICAgICBraMO0bmcgY2hpYSBz4bq7IGtow7RuZyBnaWFuIHTDqm4gxJFp4buDbSBn4bqvblxuIgorCisjfiBtc2dpZCAiIC11LCAtLXV0cyAgICAgICAgICAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCisjfiBtc2dzdHIgIiAtdSwgLS11dHMgICAgICAgICAgICAgICAgIGtow7RuZyBjaGlhIHPhursga2jDtG5nIGdpYW4gdMOqbiBVVFMgKHTDqm4gbcOheSB2LnYuLilcbiIKKworI34gbXNnaWQgIiAtaSwgLS1pcGMgICAgICAgICAgICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgLWksIC0taXBjICAgICAgICAgICAgICAgICBraMO0bmcgY2hpYSBz4bq7IGtow7RuZyBnaWFuIHTDqm4g4oCcU3lzdGVtIFYgSVBD4oCdXG4iCisKKyN+IG1zZ2lkICIgLW4sIC0tbmV0ICAgICAgICAgICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtbiwgLS1uZXQgICAgICAgICAgICAgICAgIGtow7RuZyBjaGlhIHPhursga2jDtG5nIGdpYW4gdMOqbiBt4bqhbmdcbiIKKworI34gbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICAgICAgIHVuc2hhcmUgcGlkIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAgICAgICAgICBraMO0bmcgY2hpYSBz4bq7IGtow7RuZyBnaWFuIHTDqm4gcGlkXG4iCisKKyN+IG1zZ2lkICIgLVUsIC0tdXNlciAgICAgICAgICAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtVSwgLS11c2VyICAgICAgICAgICAgICAgIGtow7RuZyBjaGlhIHPhursga2jDtG5nIGdpYW4gdMOqbiBuZ8aw4budaSBkw7luZ1xuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVtIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyAlczogJW0iCisKKyN+IG1zZ2lkICJmcmVhZCBmYWlsZWQiCisjfiBtc2dzdHIgImZyZWFkIGfhurdwIGzhu5dpIgorCisjfiBtc2dpZCAiTWluaW1hbCBzaXplIGlzICVqdSIKKyN+IG1zZ3N0ciAiQ+G7oSB04buRaSB0aGnhu4N1IGzDoCAlanUiCisKKyN+IG1zZ2lkICJIZWxwIFNjcmVlbiBmb3IgY2ZkaXNrIgorI34gbXNnc3RyICJUcuG7oyBnacO6cCBj4bunYSBjZmRpc2siCisKKyN+IG1zZ2lkICJkaXNrIGRyaXZlLiIKKyN+IG1zZ3N0ciAi4buVIMSRxKlhLiIKKworI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4gIgorI34gbXNnc3RyICJC4bqjbiBxdXnhu4FuIChDKSAyMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPiAiCisKKyN+IG1zZ2lkICJCYXNlZCBvbiB0aGUgb3JpZ2luYWwgY2ZkaXNrIGZyb20gS2V2aW4gRS4gTWFydGluICYgYWViLiIKKyN+IG1zZ3N0ciAiROG7sWEgdHLDqm4gY2ZkaXNrIHThu6sgS2V2aW4gRS4gTWFydGluICYgYWViLiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBgbm8nIgorI34gbXNnc3RyICIgICAgICAgICAgICAg4oCca2jDtG5n4oCdIgorCisjfiBtc2dpZCAiVG9vIHNtYWxsIHBhcnRpdGlvbiBzaXplIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIkPhu6EgcGjDom4gdsO5bmcgxJHDoyBjaG8gbMOgIHF1w6Egbmjhu48uIgorCisjfiBtc2dpZCAiRGV2aWNlIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUiCisjfiBtc2dzdHIgIlRoaeG6v3QgYuG7iyBt4bufIHRyb25nIGNo4bq/IMSR4buZIGNo4buJIGNobyDEkeG7jWMiCisKKyN+IG1zZ2lkICJzdGF0IGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGzhuqV5IHRo4buRbmcga8OqICVzIgorCisjfiBtc2dpZCAiZmFpbGQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCisjfiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBj4bqlcCBwaMOhdCBpdGVyYXRvciAoYmnhur9uIGzhurdwKSIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuOiAlcyIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIG3hu586ICVzIgorCisjfiBtc2dpZCAiJXM6IHN0YXQgZmFpbGVkIgorI34gbXNnc3RyICIlczogbOG7l2kgbOG6pXkgdHLhuqFuZyB0aMOhaSIKKworI34gbXNnaWQgIiAgICAgLS1yZmM1NDI0Wz08bm90aW1lLG5vdHEsbm9ob3N0Pl1cbiIKKyN+IG1zZ3N0ciAiICAgICAtLXJmYzU0MjRbPTxub3RpbWUsbm90cSxub2hvc3Q+XVxuIgorCisjfiBtc2dpZCAiJXM6IGxzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IGxzdGF0IGfhurdwIGzhu5dpIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlNldHMgb3IgZ2V0cyB0aGUgSU8gc2NoZWR1bGluZyBjbGFzcyBhbmQgcHJpb3JpdHkgb2YgcHJvY2Vzc2VzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAixJDhurd0IGhheSBs4bqleSBs4bubcCB0w6FjIHbhu6UgVlIgdsOgIG3hu6ljIMawdSB0acOqbiBj4bunYSB0aeG6v24gdHLDrG5oLlxuIgorCisjfiBtc2dpZCAiUGxlYXNlLCBzZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBkaXNrIGxhYmVsLiIKKyN+IG1zZ3N0ciAiVnVpIGzDsm5nIGNo4buNbiBraeG7g3UgxJHhu4MgdOG6oW8gbmjDo24gxJHEqWEgbeG7m2kuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiQ8OhY2ggZMO5bmc6ICVzIFtjw6FjLXTDuXktY2jhu41uXSB0aGnhur90LWLhu4tcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtbiwgLS1uby12ZXJpZnkgIGRpc2FibGUgdGhlIHZlcmlmaWNhdGlvbiBhZnRlciB0aGUgZm9ybWF0XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVMO5eSBjaOG7jW46XG4iCisjfiAiIC1uLCAtLW5vLXZlcmlmeSAga2jDtG5nIHRo4bqpbSDEkeG7i25oIHNhdSDEkeG7i25oIGThuqFuZ1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiBuw6B5IHLhu5NpIHRob8OhdFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6XG4iCisjfiBtc2dzdHIgIkPDoWNoIGTDuW5nOlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBta2ZzKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAixJDhu4MgdMOsbSB0aMOqbSB0aMO0bmcgdGluLCB4ZW0gbWtmcyg4KS5cbiIKKyN+ICJUaMO0bmcgYsOhbyBs4buXaSBk4buLY2ggY2hvIDxodHRwOi8vdHJhbnNsYXRpb25wcm9qZWN0Lm9yZy90ZWFtL3ZpLmh0bWw+XG4iCisKKyN+IG1zZ2lkICIlcyAoJXMpXG4iCisjfiBtc2dzdHIgIiVzICglcylcbiIKKworI34gbXNnaWQgIkJhZCBzd2FwIGhlYWRlciBzaXplLCBubyBsYWJlbCB3cml0dGVuLiIKKyN+IG1zZ3N0ciAiS8OtY2ggY+G7oSBwaOG6p24gxJHhuqd1IHNhaSBjaG8gYuG7mSBuaOG7myB0cmFvIMSR4buVaSwga2jDtG5nIGdoaSBuaMOjbiBuw6BvLiIKKworI34gbXNnaWQgInNlZWsgZXJyb3Igb24gJXMgLSBjYW5ub3Qgc2VlayB0byAlbHUiCisjfiBtc2dzdHIgImzhu5dpIGRpIGNodXnhu4NuIHbhu4sgdHLDrSDEkeG7jWMgJXMgLSBraMO0bmcgdGjhu4MgZGkgY2h1eeG7g24gdOG7m2kgJWx1IgorCisjfiBtc2dpZCAic2VlayBlcnJvcjogd2FudGVkIDB4JTA4eCUwOHgsIGdvdCAweCUwOHglMDh4IgorI34gbXNnc3RyICJs4buXaSBkaSBjaHV54buDbiB24buLIHRyw60gxJHhu41jOiBj4bqnbiAweCUwOHglMDh4LCBuaOG6rW4gxJHGsOG7o2MgMHglMDh4JTA4eCIKKworI34gbXNnaWQgInJlYWQgZXJyb3Igb24gJXMgLSBjYW5ub3QgcmVhZCBzZWN0b3IgJWxsdSIKKyN+IG1zZ3N0ciAibOG7l2kgxJHhu41jIHRyw6puICVzIC0ga2jDtG5nIHRo4buDIMSR4buNYyBjdW5nIHThu6sgJWxsdSIKKworI34gbXNnaWQgIndyaXRlIGVycm9yIG9uICVzIC0gY2Fubm90IHdyaXRlIHNlY3RvciAlbGx1IgorI34gbXNnc3RyICJs4buXaSBnaGkgdHLDqm4gJXMgLSBraMO0bmcgdGjhu4MgZ2hpIGN1bmcgdOG7qyAlbGx1IgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHNlY3RvciBzYXZlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gdOG6rXAgdGluIGzGsHUgY3VuZyB04burIHBow6JuIHbDuW5nICglcykiCisKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyIKKyN+IG1zZ3N0ciAibOG7l2kgZ2hpIHRyw6puICVzIgorCisjfiBtc2dpZCAiY2Fubm90IHN0YXQgcGFydGl0aW9uIHJlc3RvcmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkgdGjhu5FuZyBrw6ogdOG6rXAgdGluIHBo4bulYyBo4buTaSBwaMOibiB2w7luZyAoJXMpIgorCisjfiBtc2dpZCAicGFydGl0aW9uIHJlc3RvcmUgZmlsZSBoYXMgd3Jvbmcgc2l6ZSAtIG5vdCByZXN0b3JpbmciCisjfiBtc2dzdHIgInThuq1wIHRpbiBwaOG7pWMgaOG7k2kgcGjDom4gdsO5bmcgY8OzIGvDrWNoIGPhu6Egc2FpIC0ga2jDtG5nIHBo4bulYyBo4buTaSIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIHBhcnRpdGlvbiByZXN0b3JlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gdOG6rXAgdGluIHBo4bulYyBo4buTaSBwaMOibiB2w7luZyAoJXMpIgorCisjfiBtc2dpZCAiZXJyb3IgcmVhZGluZyAlcyIKKyN+IG1zZ3N0ciAibOG7l2kgxJHhu41jICVzIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gZGV2aWNlICVzIGZvciB3cml0aW5nIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyB0aGnhur90IGLhu4sgJXMgxJHhu4MgZ2hpIgorCisjfiBtc2dpZCAiZXJyb3Igd3JpdGluZyBzZWN0b3IgJWx1IG9uICVzIgorI34gbXNnc3RyICJs4buXaSBnaGkgY3VuZyB04burICVsdSB0csOqbiAlcyIKKworI34gbXNnaWQgIkRpc2sgJXM6IGNhbm5vdCBnZXQgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIsSQxKlhICVzOiBraMO0bmcgdGjhu4MgbOG6pXkgY+G6pXUgdHLDumMiCisKKyN+IG1zZ2lkICJEaXNrICVzOiBjYW5ub3QgZ2V0IHNpemUiCisjfiBtc2dzdHIgIsSQxKlhICVzOiBraMO0bmcgdGjhu4MgbOG6pXkga8OtY2ggY+G7oSIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzdGFydD0lbHUgLSB0aGlzIGxvb2tzIGxpa2UgYSBwYXJ0aXRpb24gcmF0aGVyIHRoYW5cbiIKKyN+ICJ0aGUgZW50aXJlIGRpc2suIFVzaW5nIGZkaXNrIG9uIGl0IGlzIHByb2JhYmx5IG1lYW5pbmdsZXNzLlxuIgorI34gIltVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIGlmIHlvdSByZWFsbHkgd2FudCB0aGlzXSIKKyN+IG1zZ3N0ciAiIgorI34gIkPhuqNuaCBiw6FvOiDEkeG6p3U9JWx1IC0gZ2nhu5FuZyBt4buZdCBwaMOibiB2w7luZyBoxqFuIGzDoCBj4bqjIG3hu5l0IMSRxKlhLlxuIgorI34gIlPhu60gZOG7pW5nIGZkaXNrIGPDsyB0aOG7gyBraMO0bmcgY8OzIMO9IG5naMSpYSBnw6wuXG4iCisjfiAiW1Phu60gZOG7pW5nIHTDuXkgY2jhu41uIC0tZm9yY2UgbuG6v3UgYuG6oW4gdGjhu7FjIHPhu7EgbXXhu5FuXSIKKworI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGhlYWRzIgorI34gbXNnc3RyICJD4bqjbmggYsOhbzogSERJT19HRVRHRU8gbsOzaSBjw7MgJWx1IMSR4bqndSDEkeG7jWMiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBIRElPX0dFVEdFTyBzYXlzIHRoYXQgdGhlcmUgYXJlICVsdSBzZWN0b3JzIgorI34gbXNnc3RyICJD4bqjbmggYsOhbzogSERJT19HRVRHRU8gbsOzaSBjw7MgJWx1IGN1bmcgdOG7qyIKKworI34gbXNnaWQgIldhcm5pbmc6IEJMS0dFVFNJWkUvSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgY3lsaW5kZXJzIgorI34gbXNnc3RyICJD4bqjbmggYsOhbzogQkxLR0VUU0laRS9IRElPX0dFVEdFTyBuw7NpIGPDsyAlbHUgdHLhu6UiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogdW5saWtlbHkgbnVtYmVyIG9mIHNlY3RvcnMgKCVsdSkgLSB1c3VhbGx5IGF0IG1vc3QgNjNcbiIKKyN+ICJUaGlzIHdpbGwgZ2l2ZSBwcm9ibGVtcyB3aXRoIGFsbCBzb2Z0d2FyZSB0aGF0IHVzZXMgQy9IL1MgYWRkcmVzc2luZy4iCisjfiBtc2dzdHIgIiIKKyN+ICJD4bqjbmggYsOhbzoga2jDtG5nIGdp4buRbmcgc+G7kSBjdW5nIHThu6sgKCVsdSkgLSB0aMaw4budbmcgbmhp4buBdSBuaOG6pXQgbMOgIDYzXG4iCisjfiAiU+G6vSBu4bqjeSBzaW5oIHbhuqVuIMSR4buBIHbhu5tpIHThuqV0IGPhuqMgcGjhuqduIG3hu4FtIHPhu60gZOG7pW5nIGPDoWNoIMSRw6FuaCDEkeG7i2EgY2jhu4kgQy9IL1MuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsdSBjeWxpbmRlcnMsICVsdSBoZWFkcywgJWx1IHNlY3RvcnMvdHJhY2tcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIsSQxKlhICVzOiAlbHUgdHLhu6UsICVsdSDEkeG6p3UgxJHhu41jLCAlbHUgY3VuZyB04burL3LDo25oXG4iCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIGhlYWQ6ICVsdSAoc2hvdWxkIGJlIGluIDAtJWx1KSIKKyN+IG1zZ3N0ciAiJXMgY+G7p2EgcGjDom4gdsO5bmcgJXMgY8OzIHPhu5EgxJHhuqd1IMSR4buNYyBraMO0bmcgdGjhu4MgY8OzOiAlbHUgKHBo4bqjaSB0cm9uZyBraG/huqNuZyAwLSVsdSkiCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIHNlY3RvcjogJWx1IChzaG91bGQgYmUgaW4gMS0lbHUpIgorI34gbXNnc3RyICIlcyBj4bunYSBwaMOibiB2w7luZyAlcyBjw7Mgc+G7kSBjdW5nIHThu6sga2jDtG5nIHRo4buDIGPDszogJWx1IChwaOG6o2kgdHJvbmcga2hv4bqjbmcgMS0lbHUpIgorCisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBjeWxpbmRlcnM6ICVsdSAoc2hvdWxkIGJlIGluIDAtJWx1KSIKKyN+IG1zZ3N0ciAiJXMgY+G7p2EgcGjDom4gdsO5bmcgJXMgY8OzIHPhu5EgdHLhu6Uga2jDtG5nIHRo4buDIGPDszogJWx1IChwaOG6o2kgdHJvbmcga2hv4bqjbmcgMS0lbHUpIgorCisjfiBtc2dpZCAiUmUtcmVhZGluZyB0aGUgcGFydGl0aW9uIHRhYmxlIC4uLlxuIgorI34gbXNnc3RyICLEkGFuZyDEkeG7jWMgbOG6oWkgYuG6o25nIHBow6JuIHbDuW5nIOKAplxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBjb21tYW5kIHRvIHJlLXJlYWQgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuXG4iCisjfiAiUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB5b3VyIHN5c3RlbSBub3csXG4iCisjfiAiYmVmb3JlIHVzaW5nIG1rZnMiCisjfiBtc2dzdHIgIiIKKyN+ICJH4bq3cCBs4buXaSBraGkgY2jhuqF5IGPDonUgbOG7h25oIMSR4buNYyBs4bqhaSBi4bqjbmcgcGjDom4gdsO5bmcuXG4iCisjfiAiSMOjeSBjaOG6oXkgY8O0bmcgY+G7pSBwYXJ0cHJvYmUoOCkgaGF5IGtwYXJ0eCg4KSxcbiIKKyN+ICJob+G6t2Mga2jhu59pIMSR4buZbmcgbOG6oWkgaOG7hyB0aOG7kW5nIG5nYXkgYsOieSBnaeG7nSxcbiIKKyN+ICJ0csaw4bubYyBraGkgZMO5bmcgbWtmcy4iCisKKyN+IG1zZ2lkICJFcnJvciBjbG9zaW5nICVzIgorI34gbXNnc3RyICJH4bq3cCBs4buXaSBraGkgxJHDs25nICVzIgorCisjfiBtc2dpZCAiJXM6IG5vIHN1Y2ggcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiVzOiBraMO0bmcgY8OzIHBow6JuIHbDuW5nIG5oxrAgduG6rXlcbiIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBmb3JtYXQgLSB1c2luZyBzZWN0b3JzIgorI34gbXNnc3RyICLEkeG7i25oIGThuqFuZyBraMO0bmcgbmjhuq1uIHJhIC0gc+G7rSBk4bulbmcgY3VuZyB04burIgorCisjfiBtc2dpZCAidW5pbXBsZW1lbnRlZCBmb3JtYXQgLSB1c2luZyAlcyIKKyN+IG1zZ3N0ciAixJHhu4tuaCBk4bqhbmcgY2jGsGEgxJHGsOG7o2Mgdmnhur90IG3DoyAtIHPhu60gZOG7pW5nICVzIgorCisjfiBtc2dpZCAic2VjdG9ycyIKKyN+IG1zZ3N0ciAiY3VuZyB04burIgorCisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiBjeWxpbmRlcnMgb2YgJWx1IGJ5dGVzLCBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAixJDGoW4gduG7izogdHLhu6UgJWx1IGJ5dGUsIGto4buRaSAxMDI0IGJ5dGUsIMSR4bq/bSB04burICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCBTdGFydCAgICAgRW5kICAgI2N5bHMgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAgVGIuS2jhu59pIMSR4buZbmcgxJDhuqd1ICAgICAgQ3Xhu5FpICAjdHLhu6UgICAgICNraOG7kWkgICAgIElkICBI4buHIHRo4buRbmdcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVbml0czogc2VjdG9ycyBvZiA1MTIgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIsSQxqFuIHbhu4s6IHNlY3RvciA1MTIgYnl0ZSwgxJHhur9tIHThu6sgJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290ICAgIFN0YXJ0ICAgICAgIEVuZCAgICNzZWN0b3JzICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiBUYi5LaOG7n2kgxJHhu5luZyAgICAgxJDhuqd1ICAgICAgICAgQ3Xhu5FpICAjY3VuZyB04burIElkICBI4buHIHRo4buRbmdcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVbml0czogYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIsSQxqFuIHbhu4s6IGto4buRaSAxMDI0IGJ5dGUsIMSR4bq/bSB04burICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgIFN0YXJ0ICAgICAgIEVuZCAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBULmLhu4sgIEsuxJHhu5luZyAgxJDhuqd1ICAgICAgICAgQ3Xhu5FpICAgI0to4buRaSAgICAgSWQgIEjhu4cgdGjhu5FuZ1xuIgorCisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiAxTWlCID0gMTAyNCoxMDI0IGJ5dGVzLCBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAixJDGoW4gduG7izogMU1pQiA9IDEwMjQqMTAyNCBieXRlcywga2jhu5FpIGPDoWMgMTAyNCBieXRlLCDEkeG6v20gdOG7qyAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgU3RhcnQgICBFbmQgICAgTWlCICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiAgIFQuYuG7iyAgIEsuxJHhu5luZyDEkOG6p3UgICBDdeG7kWkgICBNaUIgICAgI0to4buRaSAgICAgSWQgIEjhu4cgdGjhu5FuZ1xuIgorCisjfiBtc2dpZCAiXHRcdHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICJcdFx0xJHhuqd1OiAoYyxoLHMpIGPhuqduICglbGQsJWxkLCVsZCkgdMOsbSB0aOG6pXkgKCVsZCwlbGQsJWxkKVxuIgorCisjfiBtc2dpZCAiXHRcdGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiXHRcdGN14buRaTogKGMsaCxzKSBj4bqnbiAoJWxkLCVsZCwlbGQpIHTDrG0gdGjhuqV5ICglbGQsJWxkLCVsZClcbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiBlbmRzIG9uIGN5bGluZGVyICVsZCwgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGRpc2tcbiIKKyN+IG1zZ3N0ciAicGjDom4gdsO5bmcga+G6v3QgdGjDumMgdHLDqm4gdHLhu6UgJWxkLCB2xrDhu6N0IHF1w6EgxJFp4buDbSBjdeG7kWkgY+G7p2EgxJHEqWFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBUaGUgcGFydGl0aW9uIHRhYmxlIGxvb2tzIGxpa2UgaXQgd2FzIG1hZGVcbiIKKyN+ICIgIGZvciBDL0gvUz0qLyVsZC8lbGQgKGluc3RlYWQgb2YgJWxkLyVsZC8lbGQpLlxuIgorI34gIkZvciB0aGlzIGxpc3RpbmcgSSdsbCBhc3N1bWUgdGhhdCBnZW9tZXRyeS4iCisjfiBtc2dzdHIgIiIKKyN+ICJD4bqjbmggYsOhbzogQuG6o25nIHBow6JuIHbDuW5nIGPDsyB24bq7IG5oxrAgxJHGsOG7o2MgdOG6oW8gcmFcbiIKKyN+ICJ24bubaSBDL0gvUz0qLyVsZC8lbGQgKHRoYXkgdsOsICVsZC8lbGQvJWxkKS5cbiIKKyN+ICJUw7RpIHPhur0gdGjhu6thIG5o4bqtbiBj4bqldSB0csO6YyDEkcOzIGNobyBkYW5oIHPDoWNoIG7DoHkuIgorCisjfiBtc2dpZCAibm8gcGFydGl0aW9uIHRhYmxlIHByZXNlbnQiCisjfiBtc2dzdHIgImtow7RuZyBjw7MgYuG6o25nIHBow6JuIHbDuW5nIG7DoG8gaGnhu4duIGRp4buHbiIKKworI34gbXNnaWQgInN0cmFuZ2UsIG9ubHkgJWQgcGFydGl0aW9uIGRlZmluZWQiCisjfiBtc2dpZF9wbHVyYWwgInN0cmFuZ2UsIG9ubHkgJWQgcGFydGl0aW9ucyBkZWZpbmVkIgorI34gbXNnc3RyWzBdICJr4buzIGzhuqEsIGNo4buJIGPDsyAlZCBwaMOibiB2w7luZyDEkcaw4bujYyDEkeG7i25oIG5naMSpYSIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGJ1dCBpcyBub3QgbWFya2VkIEVtcHR5IgorI34gbXNnc3RyICJD4bqjbmggYsOhbzogcGjDom4gdsO5bmcgJXMgY8OzIGvDrWNoIGPhu6EgMCBuaMawbmcga2jDtG5nIMSRxrDhu6NjIMSRw6FuaCBk4bqldSBy4buXbmciCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBhbmQgaXMgYm9vdGFibGUiCisjfiBtc2dzdHIgIkPhuqNuaCBiw6FvOiBwaMOibiB2w7luZyAlcyBjw7Mga8OtY2ggY+G7oSAwIHbDoCBjw7MgdGjhu4Mga2jhu59pIMSR4buZbmciCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBhbmQgbm9uemVybyBzdGFydCIKKyN+IG1zZ3N0ciAiQ+G6o25oIGLDoW86IHBow6JuIHbDuW5nICVzIGPDsyBrw61jaCBj4buhIDAgdsOgIMSRaeG7g20gxJHhuqd1IGtow6FjIDAiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaXMgbm90IGNvbnRhaW5lZCBpbiBwYXJ0aXRpb24gJXMiCisjfiBtc2dzdHIgIkPhuqNuaCBiw6FvOiBwaMOibiB2w7luZyDigJwlc+KAnSBraMO0bmcgxJHGsOG7o2MgY2jhu6lhIHRyb25nIHBow6JuIHbDuW5nICVzIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9ucyAlcyBhbmQgJXMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAiQ+G6o25oIGLDoW86IHBow6JuIHbDuW5nICVzIHbDoCAlcyBjaOG7k25nIGzDqm4gbmhhdSIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgY29udGFpbnMgcGFydCBvZiB0aGUgcGFydGl0aW9uIHRhYmxlIChzZWN0b3IgJWxsdSksXG4iCisjfiAiYW5kIHdpbGwgZGVzdHJveSBpdCB3aGVuIGZpbGxlZCIKKyN+IG1zZ3N0ciAiIgorI34gIkPhuqNuaCBiw6FvOiBwaMOibiB2w7luZyAlcyBjaOG7qWEgbeG7mXQgcGjhuqduIGPhu6dhIGLhuqNuZyBwaMOibiB2w7luZyAoY3VuZyB04burICVsbHUpLFxuIgorI34gInbDoCBz4bq9IHBow6EgaOG7p3kgbsOzIGtoaSDEkcaw4bujYyDEkWnhu4FuIMSR4bqneSIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yIDAiCisjfiBtc2dzdHIgIkPhuqNuaCBiw6FvOiBwaMOibiB2w7luZyAlcyBi4bqvdCDEkeG6p3UgdOG6oWkgY3VuZyB04burIDAiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZXh0ZW5kcyBwYXN0IGVuZCBvZiBkaXNrIgorI34gbXNnc3RyICJD4bqjbmggYsOhbzogcGjDom4gdsO5bmcgJXMga8OpbyBkw6BpIHF1w6EgxJFp4buDbSBjdeG7kWkgxJHEqWEiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplICVkLiVkIFRCICglbGx1IGJ5dGVzKSxcbiIKKyN+ICJ3aGljaCBpcyBsYXJnZXIgdGhhbiB0aGUgJWxsdSBieXRlcyBsaW1pdCBpbXBvc2VkXG4iCisjfiAiYnkgdGhlIERPUyBwYXJ0aXRpb24gdGFibGUgZm9yICVkLWJ5dGUgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiIgorI34gIkPhuqNuaCBiw6FvOiBwaMOibiB2w7luZyAlcyBjw7Mga8OtY2ggdGjGsOG7m2MgJWQuJWQgVEIgKCVsbHUgYnl0ZXMpLFxuIgorI34gIm3DoCBuw7MgbOG7m24gaMahbiBnaeG7m2kgaOG6oW4gJWxsdSBieXRlcyBi4buLIGLhuq90IGJ14buZY1xuIgorI34gImLhu59pIGLhuqNuZyBwaMOibiB2w7luZyBraeG7g3UgRE9TIGNobyAlZC1ieXRlIHLDo25oIChzZWN0b3JzKSIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgc3RhcnRzIGF0IHNlY3RvciAlbGx1ICglZC4lZCBUQiBmb3IgJWQtYnl0ZSBzZWN0b3JzKSxcbiIKKyN+ICJ3aGljaCBleGNlZWRzIHRoZSBET1MgcGFydGl0aW9uIHRhYmxlIGxpbWl0IG9mICVsbHUgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiIgorI34gIkPhuqNuaCBiw6FvOiBwaMOibiB2w7luZyAlcyBi4bqvdCDEkeG6p3UgdOG6oWkgY3VuZyB04burIChzZWN0b3IpICVsbHUgKCVkLiVkIFRCIGNobyBjdW5nIHThu6sgJWQtYnl0ZSksXG4iCisjfiAibcOgIG7DsyDEkcOjIHbGsOG7o3QgZ2nhu5tpIGjhuqFuIGLhuqNuZyBwaMOibiB2w7luZyBraeG7g3UgRE9TIGPhu6dhICVsbHUgY3VuZyB04burIgorCisjfiBtc2dpZCAiIgorI34gIkFtb25nIHRoZSBwcmltYXJ5IHBhcnRpdGlvbnMsIGF0IG1vc3Qgb25lIGNhbiBiZSBleHRlbmRlZFxuIgorI34gIiAoYWx0aG91Z2ggdGhpcyBpcyBub3QgYSBwcm9ibGVtIHVuZGVyIExpbnV4KSIKKyN+IG1zZ3N0ciAiIgorI34gIlRyb25nIHPhu5EgY8OhYyBwaMOibiB2w7luZyBjaMOtbmgsIG5oaeG7gXUgbmjhuqV0IGNo4buJIGPDsyBt4buZdCBsw6AgbeG7nyBy4buZbmdcbiIKKyN+ICIgKG3hurdjIGTDuSDEkcOieSBraMO0bmcgcGjhuqNpIGzDoCB24bqlbiDEkeG7gSBkxrDhu5tpIExpbnV4KSIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5IgorI34gbXNnc3RyICJD4bqjbmggYsOhbzogcGjDom4gdsO5bmcgJXMga2jDtG5nIGLhuq90IMSR4bqndSB0csOqbiByYW5oIGdp4bubaSB0cuG7pSIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBlbmQgYXQgYSBjeWxpbmRlciBib3VuZGFyeSIKKyN+IG1zZ3N0ciAiQ+G6o25oIGLDoW86IHBow6JuIHbDuW5nICVzIGtow7RuZyBr4bq/dCB0aMO6YyB0csOqbiByYW5oIGdp4bubaSB0cuG7pSIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBtb3JlIHRoYW4gb25lIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZSAoYWN0aXZlKVxuIgorI34gIlRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLCBidXQgdGhlIERPUyBNQlIgd2lsbCBub3QgYm9vdCB0aGlzIGRpc2suIgorI34gbXNnc3RyICIiCisjfiAiQ+G6o25oIGLDoW86IGPDsyBuaGnhu4F1IGjGoW4gbeG7mXQgcGjDom4gdsO5bmcgY2jDrW5oIMSRxrDhu6NjIMSRw6FuaCBk4bqldSBjw7MgdGjhu4Mga2jhu59pXG4iCisjfiAixJHhu5luZy4gxJDDonkga2jDtG5nIHBo4bqjaSBsw6AgduG6pW4gxJHhu4EgxJHhu5FpIHbhu5tpIExJTE8sIG5oxrBuZyBNQlIgY+G7p2EgRE9TIHPhur0ga2jDtG5nXG4iCisjfiAia2jhu59pIMSR4buZbmcgxJHEqWEgbsOgeS4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogdXN1YWxseSBvbmUgY2FuIGJvb3QgZnJvbSBwcmltYXJ5IHBhcnRpdGlvbnMgb25seVxuIgorI34gIkxJTE8gZGlzcmVnYXJkcyB0aGUgYGJvb3RhYmxlJyBmbGFnLiIKKyN+IG1zZ3N0ciAiIgorI34gIkPhuqNuaCBiw6FvOiB0aMO0bmcgdGjGsOG7nW5nIG5nxrDhu51pIGTDuW5nIGNo4buJIGPDsyB0aOG7gyBraOG7n2kgxJHhu5luZyB04burIHBow6JuIHbDuW5nXG4iCisjfiAiY2jDrW5oLiBMSUxPIGtow7RuZyBxdWFuIHTDom0gxJHhur9uIGPhu50g4oCcY8OzIHRo4buDIGto4bufaSDEkeG7mW5n4oCdLiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBubyBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLiIKKyN+IG1zZ3N0ciAiIgorI34gIkPhuqNuaCBiw6FvOiBraMO0bmcgY8OzIHBow6JuIHbDuW5nIGNow61uaCBuw6BvIMSRxrDhu6NjIMSRw6FuaCBk4bqldSBjw7MgdGjhu4Mga2jhu59pXG4iCisjfiAixJHhu5luZy4gxJDDonkga2jDtG5nIHBo4bqjaSBsw6AgduG6pW4gxJHhu4EgxJHhu5FpIHbhu5tpIExJTE8sIG5oxrBuZyBNQlIgY+G7p2EgRE9TIHPhur0ga2jDtG5nXG4iCisjfiAia2jhu59pIMSR4buZbmcgxJHEqWEgbsOgeS4iCisKKyN+IG1zZ2lkICJzdGFydCIKKyN+IG1zZ3N0ciAixJHhuqd1IgorCisjfiBtc2dpZCAicGFydGl0aW9uICVzOiBzdGFydDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgInBow6JuIHbDuW5nICVzOiDEkeG6p3U6IChjLGgscykgY+G6p24gKCVsZCwlbGQsJWxkKSB0w6xtIHRo4bqleSAoJWxkLCVsZCwlbGQpIgorCisjfiBtc2dpZCAiZW5kIgorI34gbXNnc3RyICJjdeG7kWkiCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgInBow6JuIHbDuW5nICVzOiBjdeG7kWk6IChjLGgscykgY+G6p24gKCVsZCwlbGQsJWxkKSB0w6xtIHRo4bqleSAoJWxkLCVsZCwlbGQpIgorCisjfiBtc2dpZCAicGFydGl0aW9uICVzIGVuZHMgb24gY3lsaW5kZXIgJWxkLCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZGlzayIKKyN+IG1zZ3N0ciAicGjDom4gdsO5bmcgJXMga+G6v3QgdGjDumMgdHLDqm4gdHLhu6UgJWxkLCB2xrDhu6N0IHF1w6EgxJFp4buDbSBjdeG7kWkgY+G7p2EgxJHEqWEiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogc2hpZnRlZCBzdGFydCBvZiB0aGUgZXh0ZCBwYXJ0aXRpb24gZnJvbSAlbGxkIHRvICVsbGRcbiIKKyN+ICIoRm9yIGxpc3RpbmcgcHVycG9zZXMgb25seS4gRG8gbm90IGNoYW5nZSBpdHMgY29udGVudHMuKSIKKyN+IG1zZ3N0ciAiIgorI34gIkPhuqNuaCBiw6FvOiBk4buLY2ggY2h1eeG7g24gxJHhuqd1IGPhu6dhIHBow6JuIHbDuW5nIG3hu58gcuG7mW5nIHThu6sgJWxsZCB04bubaSAlbGxkXG4iCisjfiAiIChDaOG7iSB24bubaSBt4bulYyDEkcOtY2ggbGnhu4d0IGvDqi4gS2jDtG5nIHRoYXkgxJHhu5VpIG7hu5lpIGR1bmcuKSIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBleHRlbmRlZCBwYXJ0aXRpb24gZG9lcyBub3Qgc3RhcnQgYXQgYSBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+ICJET1MgYW5kIExpbnV4IHdpbGwgaW50ZXJwcmV0IHRoZSBjb250ZW50cyBkaWZmZXJlbnRseS4iCisjfiBtc2dzdHIgIiIKKyN+ICJD4bqjbmggYsOhbzogcGjDom4gdsO5bmcgbeG7nyBy4buZbmcga2jDtG5nIGLhuq90IMSR4bqndSB0csOqbiByYW5oIGdp4bubaSB0cuG7pS5cbiIKKyN+ICJET1MgdsOgIExpbnV4IHPhur0gYmnDqm4gZOG7i2NoIG7hu5lpIGR1bmcgbeG7mXQgY8OhY2gga2jDoWMgbmhhdS4iCisKKyN+IG1zZ2lkICJFUlJPUjogc2VjdG9yICVsbHUgZG9lcyBub3QgaGF2ZSBhbiBtc2RvcyBzaWduYXR1cmUiCisjfiBtc2dzdHIgIkzhu5ZJOiBjdW5nIHThu6sgJWxsdSBraMO0bmcgY8OzIGvDvSBoaeG7h3UgY+G7p2EgbXNkb3MiCisKKyN+IG1zZ2lkICJ0b28gbWFueSBwYXJ0aXRpb25zIC0gaWdub3JpbmcgdGhvc2UgcGFzdCBuciAoJXp1KSIKKyN+IG1zZ3N0ciAicXXDoSBuaGnhu4F1IHBow6JuIHbDuW5nIC0gYuG7jyBxdWEgbmjhu69uZyBwaMOibiB2w7luZyBzYXUgbnIgKCV6dSkiCisKKyN+IG1zZ2lkICJ0cmVlIG9mIHBhcnRpdGlvbnM/IgorI34gbXNnc3RyICJjw6J5IHBow6JuIHbDuW5nPyIKKworI34gbXNnaWQgImRldGVjdGVkIERpc2sgTWFuYWdlciAtIHVuYWJsZSB0byBoYW5kbGUgdGhhdCIKKyN+IG1zZ3N0ciAidMOsbSB0aOG6pXkgVHLDrG5oIFF14bqjbiBMw70gxJDEqWEgLSBuaMawbmcga2jDtG5nIHRo4buDIMSRaeG7gXUga2hp4buDbiBuw7MiCisKKyN+IG1zZ2lkICJETTYgc2lnbmF0dXJlIGZvdW5kIC0gZ2l2aW5nIHVwIgorI34gbXNnc3RyICJLaMO0bmcgdMOsbSB0aOG6pXkgZOG6pXUgaGnhu4d1IERNNiAtIGLDsyB0YXkiCisKKyN+IG1zZ2lkICJzdHJhbmdlLi4uLCBhbiBleHRlbmRlZCBwYXJ0aXRpb24gb2Ygc2l6ZSAwPyIKKyN+IG1zZ3N0ciAia+G7syBs4bqh4oCmLCBt4buZdCBwaMOibiB2w7luZyBt4bufIHLhu5luZyB24bubaSBrw61jaCBj4buhIDA/IgorCisjfiBtc2dpZCAic3RyYW5nZS4uLiwgYSBCU0QgcGFydGl0aW9uIG9mIHNpemUgMD8iCisjfiBtc2dzdHIgImvhu7MgbOG6oWnigKYsIG3hu5l0IHBow6JuIHbDuW5nIEJTRCB24bubaSBrw61jaCBj4buhIDA/IgorCisjfiBtc2dpZCAiLW4gZmxhZyB3YXMgZ2l2ZW46IE5vdGhpbmcgY2hhbmdlZCIKKyN+IG1zZ3N0ciAixJHDoyDEkcawYSByYSBj4budIC1uOiBLaMO0bmcgY8OzIGfDrCB0aGF5IMSR4buVaSIKKworI34gbXNnaWQgIkZhaWxlZCBzYXZpbmcgdGhlIG9sZCBzZWN0b3JzIC0gYWJvcnRpbmdcbiIKKyN+IG1zZ3N0ciAiTOG7l2kgZ2hpIGN1bmcgdOG7qyBjxakgLSDEkWFuZyBk4burbmcgbOG6oWlcbiIKKworI34gbXNnaWQgIkZhaWxlZCB3cml0aW5nIHRoZSBwYXJ0aXRpb24gb24gJXMiCisjfiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBnaGkgcGjDom4gdsO5bmcgdHLDqm4gJXMiCisKKyN+IG1zZ2lkICJsb25nIG9yIGluY29tcGxldGUgaW5wdXQgbGluZSAtIHF1aXR0aW5nIgorI34gbXNnc3RyICJkw7JuZyBuaOG6rXAgdsOgbyBkw6BpIGhheSBraMO0bmcgxJHhuqd5IMSR4bunIC0gxJFhbmcgdGhvw6F0IgorCisjfiBtc2dpZCAiaW5wdXQgZXJyb3I6IGA9JyBleHBlY3RlZCBhZnRlciAlcyBmaWVsZCIKKyN+IG1zZ3N0ciAibOG7l2kgbmjhuq1wOiBj4bqnbiDigJw94oCdIHNhdSB0csaw4budbmcgJXMiCisKKyN+IG1zZ2lkICJpbnB1dCBlcnJvcjogdW5leHBlY3RlZCBjaGFyYWN0ZXIgJWMgYWZ0ZXIgJXMgZmllbGQiCisjfiBtc2dzdHIgImzhu5dpIG5o4bqtcDogY+G6p24ga8O9IHThu7EgJWMgc2F1IHbDuW5nICVzIgorCisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGlucHV0OiAlcyIKKyN+IG1zZ3N0ciAiZOG7ryBsaeG7h3UgdsOgbyBraMO0bmcgbmjhuq1uIHJhOiAlcyIKKworI34gbXNnaWQgIm51bWJlciB0b28gYmlnIgorI34gbXNnc3RyICJz4buRIHF1w6EgbOG7m24iCisKKyN+IG1zZ2lkICJ0cmFpbGluZyBqdW5rIGFmdGVyIG51bWJlciIKKyN+IG1zZ3N0ciAiZ+G6t3AgcsOhYyBzYXUgY29uIHPhu5EiCisKKyN+IG1zZ2lkICJubyByb29tIGZvciBwYXJ0aXRpb24gZGVzY3JpcHRvciIKKyN+IG1zZ3N0ciAia2jDtG5nIGPDsyBjaOG7lyBjaG8gbcO0IHThuqMgcGjDom4gdsO5bmciCisKKyN+IG1zZ2lkICJjYW5ub3QgYnVpbGQgc3Vycm91bmRpbmcgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8gcGjDom4gdsO5bmcgbeG7nyBy4buZbmcgYmFvIHF1YW5oIgorCisjfiBtc2dpZCAidG9vIG1hbnkgaW5wdXQgZmllbGRzIgorI34gbXNnc3RyICJxdcOhIG5oaeG7gXUgdHLGsOG7nW5nIG5o4bqtcCB2w6BvIgorCisjfiBtc2dpZCAiTm8gcm9vbSBmb3IgbW9yZSIKKyN+IG1zZ3N0ciAiS2jDtG5nIGPDsm4gY2jhu5cgdHLhu5FuZyIKKworI34gbXNnaWQgIklsbGVnYWwgdHlwZSIKKyN+IG1zZ3N0ciAiS2nhu4N1IGtow7RuZyBo4bujcCBs4buHIgorCisjfiBtc2dpZCAiV2FybmluZzogZ2l2ZW4gc2l6ZSAoJWxsdSkgZXhjZWVkcyBtYXggYWxsb3dhYmxlIHNpemUgKCVsbHUpIgorI34gbXNnc3RyICJD4bqjbmggYsOhbzoga8OtY2ggY+G7oSDEkcawYSByYSAoJWxsdSkgdsaw4bujdCBxdcOhIGvDrWNoIGPhu6EgdOG7kWkgxJFhIGNobyBwaMOpcCAoJWxsdSkiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIkPhuqNuaCBiw6FvOiBwaMOibiB2w7luZyBy4buXbmciCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBiYWQgcGFydGl0aW9uIHN0YXJ0IChlYXJsaWVzdCAlbGx1KSIKKyN+IG1zZ3N0ciAiQ+G6o25oIGLDoW86IMSRaeG7g20gxJHhuqd1IHBow6JuIHbDuW5nIHNhaSAodHLGsOG7m2MgJWxsdSkiCisKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgYm9vdGFibGUgZmxhZyAtIGNob29zZSAtIG9yICoiCisjfiBtc2dzdHIgImtow7RuZyBuaOG6rW4gcmEgY+G7nSBjw7MgdGjhu4Mga2jhu59pIMSR4buZbmcgLSBjaOG7jW4gLSBoYXkgKiIKKworI34gbXNnaWQgInBhcnRpYWwgYyxoLHMgc3BlY2lmaWNhdGlvbj8iCisjfiBtc2dzdHIgIsSR4bq3YyB04bqjIHJpw6puZyBwaMOibiB2w7luZyBjLGgscz8iCisKKyN+IG1zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gbm90IHdoZXJlIGV4cGVjdGVkIgorI34gbXNnc3RyICJQaMOibiB2w7luZyBt4bufIHLhu5luZyBraMO0bmcg4bufIGNo4buXIG1vbmcgxJHhu6NpIgorCisjfiBtc2dpZCAiYmFkIGlucHV0IgorI34gbXNnc3RyICJk4buvIGxp4buHdSB2w6BvIHNhaSIKKworI34gbXNnaWQgInRvbyBtYW55IHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgInF1w6Egbmhp4buBdSBwaMOibiB2w7luZyIKKworI34gbXNnaWQgIiIKKyN+ICJJbnB1dCBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDsgYWJzZW50IGZpZWxkcyBnZXQgYSBkZWZhdWx0IHZhbHVlLlxuIgorI34gIjxzdGFydD4gPHNpemU+IDx0eXBlIFtFLFMsTCxYLGhleF0+IDxib290YWJsZSBbLSwqXT4gPGMsaCxzPiA8YyxoLHM+XG4iCisjfiAiVXN1YWxseSB5b3Ugb25seSBuZWVkIHRvIHNwZWNpZnkgPHN0YXJ0PiBhbmQgPHNpemU+IChhbmQgcGVyaGFwcyA8dHlwZT4pLiIKKyN+IG1zZ3N0ciAiIgorI34gIkThu68gbGnhu4d1IHbDoG8gdHJvbmcgxJHhu4tuaCBk4bqhbmcgc2F1OyBkw7luZyBnacOhIHRy4buLIG3hurdjIMSR4buLbmggY2hvIGNo4buXIHRoaeG6v3UuXG4iCisjfiAiPMSR4bqndT4gPGvDrWNodGjGsOG7m2M+IDxsb+G6oWkgW0UsUyxMLFgsaGV4XT4gPGto4bufacSR4buZbmcgWy0sKl0+IDxjLGgscz4gPGMsaCxzPlxuIgorI34gIlRow7RuZyB0aMaw4budbmcgYuG6oW4gY2jhu4kgY+G6p24gY2jhu4kgcsO1IDzEkeG6p3U+IHbDoCA8a8OtY2h0aMaw4bubYz4gKHbDoCBjw7MgdGjhu4MgPGxv4bqhaT4pLiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT4uLi5cbiIKKyN+IG1zZ3N0ciAiICVzIFtjw6FjIHTDuXkgY2jhu41uXSA8dGhp4bq/dCBi4buLPuKAplxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtcywgLS1zaG93LXNpemUgICAgICAgICAgIGxpc3Qgc2l6ZSBvZiBhIHBhcnRpdGlvblxuIgorI34gIiAtYywgLS1pZCAgICAgICAgICAgICAgICAgIGNoYW5nZSBvciBwcmludCBwYXJ0aXRpb24gSWRcbiIKKyN+ICIgICAgIC0tY2hhbmdlLWlkICAgICAgICAgICBjaGFuZ2UgSWRcbiIKKyN+ICIgICAgIC0tcHJpbnQtaWQgICAgICAgICAgICBwcmludCBJZFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1zLCAtLXNob3ctc2l6ZSAgICAgICAgICAgbGnhu4d0IGvDqiBrw61jaCB0aMaw4bubYyBj4bunYSBt4buZdCBwaMOibiB2w7luZ1xuIgorI34gIiAtYywgLS1pZCAgICAgICAgICAgICAgICAgIHRoYXkgxJHhu5VpIGhheSBoaeG7g24gdGjhu4sgSWQgcGjDom4gdsO5bmdcbiIKKyN+ICIgICAgIC0tY2hhbmdlLWlkICAgICAgICAgICB0aGF5IMSR4buVaSBJZFxuIgorI34gIiAgICAgLS1wcmludC1pZCAgICAgICAgICAgIGhp4buDbiB0aOG7iyBJZFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgIGxpc3QgcGFydGl0aW9ucyBvZiBlYWNoIGRldmljZVxuIgorI34gIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgIGlkZW0sIGJ1dCBpbiBhIGZvcm1hdCBzdWl0YWJsZSBmb3IgbGF0ZXIgaW5wdXRcbiIKKyN+ICIgLWksIC0taW5jcmVtZW50ICAgICAgICAgICBudW1iZXIgY3lsaW5kZXJzIGV0Yy4gZnJvbSAxIGluc3RlYWQgb2YgZnJvbSAwXG4iCisjfiAiIC11LCAtLXVuaXQgPGxldHRlcj4gICAgICAgdW5pdHMgdG8gYmUgdXNlZDsgPGxldHRlcj4gY2FuIGJlIG9uZSBvZlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUyAoc2VjdG9ycyksIEMgKGN5bGluZGVycyksIEIgKGJsb2NrcyksIG9yIE0gKE1CKVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgbGnhu4d0IGvDqiBjw6FjIHBow6JuIHbDuW5nIGPhu6dhIHThu6tuZyB0aGnhur90IGLhu4tcbiIKKyN+ICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgICBuaMawIHRyw6puLCBuaMawbmcg4bufIMSR4buLbmggZOG6oW5nIHBow7kgaOG7o3AgbMOgbSDEkeG6p3UgdsOgbyBzYXUgbsOgeVxuIgorI34gIiAtaSwgLS1pbmNyZW1lbnQgICAgICAgICAgIHPhu5EgdHLhu6UgdsOtIGThu6UgdOG7qyAxIHRoYXkgdsOsIHThu6sgMFxuIgorI34gIiAtdSwgLS11bml0IDzEkcahbiB24buLPiAgICAgICBraeG7g3UgxJHGoW4gduG7iyBz4bq9IMSRxrDhu6NjIHPhu60gZOG7pW5nOyA8xJHGoW4gduG7iz4gY8OzIHRo4buDIGzDoCBt4buZdCB0cm9uZ1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUyAoc2VjdG9ycyksIEMgKGN5bGluZGVycyksIEIgKGJsb2NrcyksIGhheSBNIChNQilcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLTEsIC0tb25lLW9ubHkgICAgICAgICAgICByZXNlcnZlZCBvcHRpb24gdGhhdCBkb2VzIG5vdGhpbmcgY3VycmVudGx5XG4iCisjfiAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgbGlzdCB0aGUga25vd24gcGFydGl0aW9uIHR5cGVzXG4iCisjfiAiIC1ELCAtLURPUyAgICAgICAgICAgICAgICAgZm9yIERPUy1jb21wYXRpYmlsaXR5OiB3YXN0ZSBhIGxpdHRsZSBzcGFjZVxuIgorI34gIiAtRSwgLS1ET1MtZXh0ZW5kZWQgICAgICAgIERPUyBleHRlbmRlZCBwYXJ0aXRpb24gY29tcGF0aWJpbGl0eVxuIgorI34gIiAtUiwgLS1yZS1yZWFkICAgICAgICAgICAgIG1ha2UgdGhlIGtlcm5lbCByZXJlYWQgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC0xLCAtLW9uZS1vbmx5ICAgICAgICAgICAgdMO5eSBjaOG7jW4gZOG7sSB0cuG7ryBuw6B5IGhp4buHbiB04bqhaSBraMO0bmcgbMOgbSBnw6wgY+G6o1xuIgorI34gIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgIGxp4buHdCBrw6ogY8OhYyBraeG7g3UgcGjDom4gdsO5bmdcbiIKKyN+ICIgLUQsIC0tRE9TICAgICAgICAgICAgICAgICBkw6BuaCDEkeG7gyB0xrDGoW5nIHRow61jaCB24bubaSBET1M6IGjGoWkgdOG7kW4ga2jDtG5nIGdpYW4gbeG7mXQgY2jDunRcbiIKKyN+ICIgLUUsIC0tRE9TLWV4dGVuZGVkICAgICAgICB0xrDGoW5nIHRow61jaCB24bubaSBwaMOibiB2w7luZyBt4bufIHLhu5luZyBET1NcbiIKKyN+ICIgLVIsIC0tcmUtcmVhZCAgICAgICAgICAgICBsw6BtIGNobyBuaMOibiBjw7MgdGjhu4MgxJHhu41jIGLhuqNuZyBwaMOibiB2w7luZ1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAtTiA8bnVtYmVyPiAgICAgICAgICAgICAgIGNoYW5nZSBvbmx5IHRoZSBwYXJ0aXRpb24gd2l0aCB0aGlzIDxudW1iZXI+XG4iCisjfiAiIC1uICAgICAgICAgICAgICAgICAgICAgICAgZG8gbm90IGFjdHVhbGx5IHdyaXRlIHRvIGRpc2tcbiIKKyN+ICIgLU8gPGZpbGU+ICAgICAgICAgICAgICAgICBzYXZlIHRoZSBzZWN0b3JzIHRoYXQgd2lsbCBiZSBvdmVyd3JpdHRlbiB0byA8ZmlsZT5cbiIKKyN+ICIgLUkgPGZpbGU+ICAgICAgICAgICAgICAgICByZXN0b3JlIHNlY3RvcnMgZnJvbSA8ZmlsZT5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtTiA8c+G7kT4gICAgICAgICAgICAgICAgICAgdGhheSDEkeG7lWkgY2jhu4kgduG7m2kgcGjDom4gdsO5bmcgduG7m2kgPHPhu5E+IG7DoHlcbiIKKyN+ICIgLW4gICAgICAgICAgICAgICAgICAgICAgICBraMO0bmcgdGjhu7FjIHPhu7EgZ2hpIHbDoG8gxJHEqWFcbiIKKyN+ICIgLU8gPHThuq1wLXRpbj4gICAgICAgICAgICAgIGdoaSBjw6FjIGxpw6puIGN1bmcgbcOgIG7DsyBz4bq9IGLhu4sgZ2hpIMSRw6ggdsOgbyA8dOG6rXAtdGluPlxuIgorI34gIiAtSSA8dOG6rXAtdGluPiAgICAgICAgICAgICAgcGjhu6VjIGjhu5NpIGPDoWMgbGnDqm4gY3VuZyB04burIDx04bqtcC10aW4+XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1WLCAtLXZlcmlmeSAgICAgICAgICAgICAgY2hlY2sgdGhhdCB0aGUgbGlzdGVkIHBhcnRpdGlvbnMgYXJlIHJlYXNvbmFibGVcbiIKKyN+ICIgLXYsIC0tdmVyc2lvbiAgICAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLVYsIC0tdmVyaWZ5ICAgICAgICAgICAgICBraeG7g20gdHJhIHhlbSBi4bqjbmcgcGjDom4gdsO5bmcgxJHDoyBsaeG7h3Qga8OqIGPDsyBo4bujcCBsw70ga2jDtG5nXG4iCisjfiAiIC12LCAtLXZlcnNpb24gICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gcGhpw6puIGLhuqNuIHbDoCB0aG/DoXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEYW5nZXJvdXMgb3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkPDoWMgdMO5eSBjaOG7jW4gbmd1eSBoaeG7g206XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIKKyN+ICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgcGFydGl0aW9uIGlzIGluIHVzZVxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIHdhcm5pbmcgbWVzc2FnZXNcbiIKKyN+ICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkbyBub3QgY29tcGxhaW4gYWJvdXQgdGhpbmdzIGlycmVsZXZhbnQgZm9yIExpbnV4XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICB04bqvdCB04bqldCBj4bqjIHZp4buHYyBraeG7g20gdHJhIG5o4bqldCBxdcOhblxuIgorI34gIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGtow7RuZyBraeG7g20gdHJhIGTDuSBwaMOibiB2w7luZyDEkWFuZyBz4butIGThu6VuZ1xuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIGPhuqVtIGPDoWMgdGjDtG5nIHRpbiBj4bqjbmggYsOhb1xuIgorI34gIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGtow7RuZyBwaMOgbiBuw6BuIHbhu4EgY8OhYyB0aOG7qSBraMO0bmcgdGjDrWNoIGjhu6NwIHbhu5tpIEhESCBMaW51eFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZywgLS1zaG93LWdlb21ldHJ5ICAgICAgIHByaW50IHRoZSBrZXJuZWwncyBpZGVhIG9mIHRoZSBnZW9tZXRyeVxuIgorI34gIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIHByaW50IGdlb21ldHJ5IGd1ZXNzZWQgZnJvbSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWcsIC0tc2hvdy1nZW9tZXRyeSAgICAgICBoaeG7g24gdGjhu4sgw70ga2nhur9uIGPhu6dhIG5ow6JuIHbhu4EgaMOsbmggaOG7jWMgY+G7p2EgxJHEqWFcbiIKKyN+ICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBoaeG7g24gdGjhu4sgaMOsbmggaOG7jWMgxrDhu5tjIMSRb8OhbiB04burIGLhuqNuZyBwaMOibiB2w7luZ1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAtQSwgLS1hY3RpdmF0ZVs9PGRldmljZT5dIGFjdGl2YXRlIHRoZSBib290YWJsZSBmbGFnXG4iCisjfiAiIC1VLCAtLXVuaGlkZVs9PGRldmljZT5dICAgc2V0IHBhcnRpdGlvbiBhcyB1bmhpZGRlblxuIgorI34gIiAteCwgLS1zaG93LWV4dGVuZGVkICAgICAgIGFsc28gbGlzdCBleHRlbmRlZCBwYXJ0aXRpb25zIGluIHRoZSBvdXRwdXQsXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBleHBlY3QgZGVzY3JpcHRvcnMgZm9yIHRoZW0gaW4gdGhlIGlucHV0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLUEsIC0tYWN0aXZhdGVbPTx0aGnhur90LWLhu4s+XSBrw61jaCBob+G6oXQgY+G7nSBraOG7n2kgxJHhu5luZ1xuIgorI34gIiAtVSwgLS11bmhpZGVbPTx0aGnhur90LWLhu4s+XSAgIMSR4bq3dCBwaMOibiB2w7luZyB0aMOgbmgga2jDtG5nIOG6qW5cbiIKKyN+ICIgLXgsIC0tc2hvdy1leHRlbmRlZCAgICAgICDEkeG7k25nIHRo4budaSBsaeG7h3Qga8OqIGPDoWMgcGjDom4gdsO5bmcgbeG7nyBy4buZbmcgdHJvbmdcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICBr4bq/dCB4deG6pXQgaGF5IGPDoWMgbcO0IHThuqMgY+G6p24gY2hvIGNow7puZyB0cm9uZyDEkeG6p3UgdsOgb1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS1sZWF2ZS1sYXN0ICAgICAgICAgIGRvIG5vdCBhbGxvY2F0ZSB0aGUgbGFzdCBjeWxpbmRlclxuIgorI34gIiAgICAgLS1JQk0gICAgICAgICAgICAgICAgIHNhbWUgYXMgLS1sZWF2ZS1sYXN0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tbGVhdmUtbGFzdCAgICAgICAgICBraMO0bmcgY+G6pXAgcGjDoXQgdHLhu6UgY3Xhu5FpIGPDuW5nXG4iCisjfiAiICAgICAtLUlCTSAgICAgICAgICAgICAgICAgZ2nhu5FuZyBuaMawIC0tbGVhdmUtbGFzdFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS1pbi1vcmRlciAgICAgICAgICAgIHBhcnRpdGlvbnMgYXJlIGluIG9yZGVyXG4iCisjfiAiICAgICAtLW5vdC1pbi1vcmRlciAgICAgICAgcGFydGl0aW9ucyBhcmUgbm90IGluIG9yZGVyXG4iCisjfiAiICAgICAtLWluc2lkZS1vdXRlciAgICAgICAgYWxsIGxvZ2ljYWxzIGluc2lkZSBvdXRlcm1vc3QgZXh0ZW5kZWRcbiIKKyN+ICIgICAgIC0tbm90LWluc2lkZS1vdXRlciAgICBub3QgYWxsIGxvZ2ljYWxzIGluc2lkZSBvdXRlcm1vc3QgZXh0ZW5kZWRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1pbi1vcmRlciAgICAgICAgICAgIGPDoWMgcGjDom4gdsO5bmcgdGhlbyB0aOG7qSB04buxXG4iCisjfiAiICAgICAtLW5vdC1pbi1vcmRlciAgICAgICAgY8OhYyBwaMOibiB2w7luZyBraMO0bmcgdGhlbyB0aOG7qSB04buxXG4iCisjfiAiICAgICAtLWluc2lkZS1vdXRlciAgICAgICAgdOG6pXQgY+G6oyBjw6FjIHBow6JuIHbDuW5nIGzDtGfDrWMg4bufIHRyb25nIHBo4bqnbiBt4bufIHLhu5luZyBuZ2/DoGkgY8O5bmdcbiIKKyN+ICIgICAgIC0tbm90LWluc2lkZS1vdXRlciAgICBuZ8aw4bujYyB24bubaSAtLWluc2lkZS1vdXRlclxuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS1uZXN0ZWQgICAgICAgICAgICAgIGV2ZXJ5IHBhcnRpdGlvbiBpcyBkaXNqb2ludCBmcm9tIGFsbCBvdGhlcnNcbiIKKyN+ICIgICAgIC0tY2hhaW5lZCAgICAgICAgICAgICBsaWtlIG5lc3RlZCwgYnV0IGV4dGVuZGVkIHBhcnRpdGlvbnMgbWF5IGxpZSBvdXRzaWRlXG4iCisjfiAiICAgICAtLW9uZXNlY3RvciAgICAgICAgICAgcGFydGl0aW9ucyBhcmUgbXV0dWFsbHkgZGlzam9pbnRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1uZXN0ZWQgICAgICAgICAgICAgIG3hu41pIHBow6JuIHbDuW5nIHLhu51pIHbhu5tpIGPDoWMgY8OhaSBraMOhY1xuIgorI34gIiAgICAgLS1jaGFpbmVkICAgICAgICAgICAgIGdp4buRbmcgduG7m2kgbmVzdGVkLCBuaMawbmcgcGjDom4gdsO5bmcgbeG7nyBy4buZbmcgY8OzIHRo4buDIOG7nyBiw6puIG5nb8OgaVxuIgorI34gIiAgICAgLS1vbmVzZWN0b3IgICAgICAgICAgIGPDoWMgcGjDom4gdsO5bmcgcuG7nWkgbOG6q24gbmhhdVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk92ZXJyaWRlIHRoZSBkZXRlY3RlZCBnZW9tZXRyeSB1c2luZzpcbiIKKyN+ICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICBzZXQgdGhlIG51bWJlciBvZiBjeWxpbmRlcnMgdG8gdXNlXG4iCisjfiAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgc2V0IHRoZSBudW1iZXIgb2YgaGVhZHMgdG8gdXNlXG4iCisjfiAiIC1TLCAtLXNlY3RvcnMgPG51bWJlcj4gICAgc2V0IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyB0byB1c2VcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkdoaSDEkcOoIGjDrG5oIGjhu41jIMSRw6MgZMOyIHTDrG0gdGjhuqV5IHPhu60gZOG7pW5nOlxuIgorI34gIiAtQywgLS1jeWxpbmRlcnMgPHPhu5E+ICAgICDEkeG6t3Qgc+G7kSB0cuG7pSDEkeG7gyBz4butIGThu6VuZ1xuIgorI34gIiAtSCwgLS1oZWFkcyA8c+G7kT4gICAgICAgICDEkeG6t3Qgc+G7kSDEkeG6p3UgdOG7qyDEkeG7gyBz4butIGThu6VuZ1xuIgorI34gIiAtUywgLS1zZWN0b3JzIDxz4buRPiAgICAgICDEkeG6t3Qgc+G7kSBjdW5nIHThu6sgxJHhu4Mgc+G7rSBk4bulbmdcbiIKKworI34gbXNnaWQgIiAlcyVzZGV2aWNlICAgICAgICAgICAgbGlzdCBhY3RpdmUgcGFydGl0aW9ucyBvbiBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiICVzJXN0aGnhur90IGLhu4sgICAgICAgICAgbGnhu4d0IGvDqiBwaMOibiB2w7luZyBrw61jaCBob+G6oXQgdHLDqm4gdGhp4bq/dCBi4buLXG4iCisKKyN+IG1zZ2lkICIgJXMlc2RldmljZSBuMSBuMiAuLi4gIGFjdGl2YXRlIHBhcnRpdGlvbnMgbjEgLi4uLCBpbmFjdGl2YXRlIHRoZSByZXN0XG4iCisjfiBtc2dzdHIgIiAlcyVzIHRoaeG6v3QgYuG7iyBuMSBuMiDigKYga8OtY2ggaG/huqF0IHBow6JuIHbDuW5nIG4xIOKApiwgYuG7jyBrw61jaCBob+G6oXQgcGjhuqduIGPDsm4gbOG6oWlcbiIKKworI34gbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHBhcnRpdGlvbnMgYXJndW1lbnQiCisjfiBtc2dzdHIgInRoYW0gc+G7kSBz4buRIGzGsOG7o25nIHBow6JuIHbDuW5nIGtow7RuZyBo4bujcCBs4buHIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gJXNcbiIKKworI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1wcmludC1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciIKKyN+IG1zZ3N0ciAiY8OhY2ggZMO5bmc6IHNmZGlzayAtLXByaW50LWlkIHRoaeG6v3QtYuG7iyBz4buRLXBow6JuLXbDuW5nIgorCisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLWNoYW5nZS1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciBJZCIKKyN+IG1zZ3N0ciAiY8OhY2ggZMO5bmc6IHNmZGlzayAtLWNoYW5nZS1pZCB0aGnhur90LWLhu4sgc+G7kS1waMOibi12w7luZyBJZCIKKworI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciBbSWRdIgorI34gbXNnc3RyICJjw6FjaCBkw7luZzogc2ZkaXNrIC0taWQgdGhp4bq/dC1i4buLIHPhu5EtcGjDom4tdsO5bmcgW0lkXSIKKworI34gbXNnaWQgImNhbiBzcGVjaWZ5IG9ubHkgb25lIGRldmljZSAoZXhjZXB0IHdpdGggLWwgb3IgLXMpIgorI34gbXNnc3RyICJjaOG7iSBjw7MgdGjhu4MgY2jhu4kgcmEgbeG7mXQgdGhp4bq/dCBi4buLIChuZ2/huqFpIHRy4burIHbhu5tpIC1sIGhheSAtcykiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyByZWFkLXdyaXRlIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyAlcyDEkeG7gyDEkeG7jWMtdmnhur90IgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgZm9yIHJlYWRpbmciCisjfiBtc2dzdHIgImtow7RuZyBt4bufIMSRxrDhu6NjICVzIMSR4buDIMSR4buNYyIKKworI34gbXNnaWQgIiVzOiBPSyIKKyN+IG1zZ3N0ciAiJXM6IE9LIgorCisjfiBtc2dpZCAiJXM6ICVsZCBjeWxpbmRlcnMsICVsZCBoZWFkcywgJWxkIHNlY3RvcnMvdHJhY2tcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCB0cuG7pSwgJWxkIMSR4bqndSDEkeG7jWMsICVsZCBjdW5nIHThu6svcsOjbmhcbiIKKworI34gbXNnaWQgImJhZCBhY3RpdmUgYnl0ZTogMHgleCBpbnN0ZWFkIG9mIDB4ODAiCisjfiBtc2dzdHIgImJ5dGUga8OtY2ggaG/huqF0IHNhaTogMHgleCB0aGF5IGNobyAweDgwIgorCisjfiBtc2dpZCAiRG9uZSIKKyN+IG1zZ3N0ciAiSG/DoG4gdOG6pXQiCisKKyN+IG1zZ2lkICIiCisjfiAiWW91IGhhdmUgJWQgYWN0aXZlIHByaW1hcnkgcGFydGl0aW9ucy4gVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sXG4iCisjfiAiYnV0IHRoZSBET1MgTUJSIHdpbGwgb25seSBib290IGEgZGlzayB3aXRoIDEgYWN0aXZlIHBhcnRpdGlvbi4iCisjfiBtc2dzdHIgIiIKKyN+ICJC4bqhbiBjw7MgJWQgcGjDom4gdsO5bmcgY2jDrW5oIGvDrWNoIGhv4bqhdC4gxJDDonkga2jDtG5nIHBo4bqjaSBsw6AgduG6pW4gxJHhu4EgduG7m2kgTElMTyxcbiIKKyN+ICJuaMawbmcgTUJSIGPhu6dhIERPUyBz4bq9IGNo4buJIGto4bufaSDEkeG7mW5nIMSRxKlhIGPDsyAxIHBow6JuIHbDuW5nIGvDrWNoIGhv4bqhdC4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgaGFzIGlkICV4IGFuZCBpcyBub3QgaGlkZGVuIgorI34gbXNnc3RyICJwaMOibiB2w7luZyAlcyBjw7MgaWQgJXggdsOgIGtow7RuZyBwaOG6o2kgbMOgIOG6qW4iCisKKyN+IG1zZ2lkICJCYWQgSWQgJWx4IgorI34gbXNnc3RyICJJZCBzYWkgJWx4IgorCisjfiBtc2dpZCAiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UuIgorI34gbXNnc3RyICLEkMSpYSBuw6B5IGhp4buHbiDEkWFuZyDEkcaw4bujYyBz4butIGThu6VuZy4iCisKKyN+IG1zZ2lkICJGYXRhbCBlcnJvcjogY2Fubm90IGZpbmQgJXMiCisjfiBtc2dzdHIgIkzhu5dpIG5naGnDqm0gdHLhu41uZzoga2jDtG5nIHRo4buDIHTDrG0gJXMiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIkPhuqNuaCBiw6FvOiAlcyBraMO0bmcgcGjhuqNpIGzDoCB0aGnhur90IGLhu4sga2jhu5FpIgorCisjfiBtc2dpZCAiT0siCisjfiBtc2dzdHIgIk9LIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGRvZXMgbm90IGV4aXN0LCBjYW5ub3QgY2hhbmdlIGl0IgorI34gbXNnc3RyICJQaMOibiB2w7luZyAlZCBraMO0bmcgdOG7k24gdOG6oWksIGtow7RuZyB0aOG7gyB0aGF5IMSR4buVaSBuw7MiCisKKyN+IG1zZ2lkICIiCisjfiAiSSBkb24ndCBsaWtlIHRoZXNlIHBhcnRpdGlvbnMgLSBub3RoaW5nIGNoYW5nZWQuXG4iCisjfiAiKElmIHlvdSByZWFsbHkgd2FudCB0aGlzLCB1c2UgdGhlIC0tZm9yY2Ugb3B0aW9uLikiCisjfiBtc2dzdHIgIiIKKyN+ICJUw7RpIGtow7RuZyB0aMOtY2ggbmjhu69uZyBwaMOibiB2w7luZyBuw6B5IC0ga2jDtG5nIGPDsyBnw6wgdGhheSDEkeG7lWkuXG4iCisjfiAiKE7hur91IGLhuqFuIHRo4buxYyBz4buxIG114buRbiDEkWnhu4F1IG7DoHksIHPhu60gZOG7pW5nIHTDuXkgY2jhu41uIC0tZm9yY2UuKSIKKworI34gbXNnaWQgIkkgZG9uJ3QgbGlrZSB0aGlzIC0gcHJvYmFibHkgeW91IHNob3VsZCBhbnN3ZXIgTm8iCisjfiBtc2dzdHIgIlTDtGkga2jDtG5nIHRow61jaCDEkWnhu4F1IG7DoHkgLSBi4bqhbiBuw6puIHRy4bqjIGzhu51pIE5vIgorCisjfiBtc2dpZCAiQXJlIHlvdSBzYXRpc2ZpZWQgd2l0aCB0aGlzPyBbeW5xXSAiCisjfiBtc2dzdHIgIkLhuqFuIGPDsyBow6BpIGzDsm5nIHbhu5tpIMSRaeG7gXUgbsOgeT8gW3lucV0gIgorCisjfiBtc2dpZCAiUXVpdHRpbmcgLSBub3RoaW5nIGNoYW5nZWQiCisjfiBtc2dzdHIgIsSQYW5nIHRob8OhdCAtIGtow7RuZyBjw7MgZ8OsIHRoYXkgxJHhu5VpIgorCisjfiBtc2dpZCAiUGxlYXNlIGFuc3dlciBvbmUgb2YgeSxuLHFcbiIKKyN+IG1zZ3N0ciAiWGluIGjDo3kgdHLhuqMgbOG7nWkgbeG7mXQgdHJvbmcgeSxuLHFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJTdWNjZXNzZnVsbHkgd3JvdGUgdGhlIG5ldyBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlZp4bq/dCB0aMOgbmggY8O0bmcgYuG6o25nIHBow6JuIHbDuW5nIG3hu5tpXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiSWYgeW91IGNyZWF0ZWQgb3IgY2hhbmdlZCBhIERPUyBwYXJ0aXRpb24sIC9kZXYvZm9vNywgc2F5LCB0aGVuIHVzZSBkZCgxKVxuIgorI34gInRvIHplcm8gdGhlIGZpcnN0IDUxMiBieXRlczogIGRkIGlmPS9kZXYvemVybyBvZj0vZGV2L2ZvbzcgYnM9NTEyIGNvdW50PTFcbiIKKyN+ICIoU2VlIGZkaXNrKDgpLikiCisjfiBtc2dzdHIgIiIKKyN+ICJO4bq/dSBi4bqhbiB04bqhbyBoYXkgdGhheSDEkeG7lWkgbeG7mXQgcGjDom4gdsO5bmcgRE9TLCB2w60gZOG7pSAvZGV2L2ZvbzcsIHRow6wgaMOjeSBkw7luZyBkZCgxKVxuIgorI34gIsSR4buDIGzDoG0gcuG7l25nIDUxMiBieXRlIMSR4bqndTogZGQgaWY9L2Rldi96ZXJvIG9mPS9kZXYvZm9vNyBicz01MTIgY291bnQ9MVxuIgorI34gIihYZW0gZmRpc2soOCkuKSIKKworI34gbXNnaWQgIklmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55IERPUyA2LnggcGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgZmRpc2sgZG9jdW1lbnRhdGlvbiBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi4iCisjfiBtc2dzdHIgIk7hur91IGLhuqFuIHBo4bqjaSB04bqhbyBoYXkgc+G7rWEgxJHhu5VpIGLhuqV0IGvhu7MgcGjDom4gdsO5bmcgRE9TIDYueCBuw6BvLCB4aW4gaMOjeSB4ZW0gaMaw4bubbmcgZOG6q24gbmfGsOG7nWkgZMO5bmcgZmRpc2sgxJHhu4MgYmnhur90IHRow6ptIHRow7RuZyB0aW4uIgorCisjfiBtc2dpZCAiZmllbGQgaXMgdG9vIGxvbmciCisjfiBtc2dzdHIgInRyxrDhu51uZyBxdcOhIGTDoGkiCisKKyN+IG1zZ2lkICIlczogJyVjJyBpcyBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJXM6IGtow7RuZyBjaG8gcGjDqXAg4oCcJWPigJ0iCisKKyN+IG1zZ2lkICInJWMnIGlzIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICJraMO0bmcgY2hvIHBow6lwIOKAnCVj4oCdIgorCisjfiBtc2dpZCAiJXM6IGNvbnRyb2wgY2hhcmFjdGVycyBhcmUgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIiVzOiBraMO0bmcgY2hvIHBow6lwIGTDuW5nIGvDvSB04buxIMSRaeG7gXUga2hp4buDbiIKKworI34gbXNnaWQgImNvbnRyb2wgY2hhcmFjdGVycyBhcmUgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgImtow7RuZyBjaG8gcGjDqXAgZMO5bmcga8O9IHThu7EgxJFp4buBdSBraGnhu4NuIgorCisjfiBtc2dpZCAiIC1tLCAtLXN1cHAtZ3JvdXBzICAgICAgICBkaXNwbGF5IHN1cHBsZW1lbnRhcnkgZ3JvdXBzIGFzIHdlbGxcbiIKKyN+IG1zZ3N0ciAiIC1tLCAtLXN1cHAtZ3JvdXBzICAgICAgICBjxaluZyBoaeG7g24gdGjhu4sgY+G6oyBuaMOzbSBwaOG7pVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGRldGFpbHMgc2VlIGxzbG9naW5zKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAixJDhu4MgdMOsbSB0aMOqbSB0aMO0bmcgdGluLCB4ZW0gbHNsb2dpbigxKS5cbiIKKyN+ICJUaMO0bmcgYsOhbyBs4buXaSBk4buLY2ggY2hvIDxodHRwOi8vdHJhbnNsYXRpb25wcm9qZWN0Lm9yZy90ZWFtL3ZpLmh0bWw+XG4iCisKKyN+IG1zZ2lkICJjcnlwdCgpIGZhaWxlZCIKKyN+IG1zZ3N0ciAiY3J5cHQoKSBn4bq3cCBs4buXaSIKKworI34gbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFRoaXMgc21hbGwgdXNhZ2UgZ3VpZGVcbiIKKyN+IG1zZ3N0ciAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSMaw4bubbmcgZOG6q24gc+G7rSBk4bulbmcgbmfhuq9uIG7DoHlcbiIKKworI34gbXNnaWQgIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisjfiBtc2dzdHIgIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEvhur90IHh14bqldCB0aMO0bmcgdGluIHBoacOqbiBi4bqjblxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgIHVzZSBhbHRlcm5hdGl2ZSBkaWN0aW9uYXJ5XG4iCisjfiAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgY29tcGFyZSBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzXG4iCisjfiAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIKKyN+ICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiBkZWZpbmUgc3RyaW5nIHRlcm1pbmF0aW9uIGNoYXJhY3RlclxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgIHPhu60gZOG7pW5nIHThu6sgxJFp4buDbiB0aGF5IHRo4bq/XG4iCisjfiAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgY2jhu4kgc28gc8OhbmggY2jhu68gY8OhaSB2w6AgY2jhu68gc+G7kVxuIgorI34gIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgIGtow7RuZyBwaMOibiBiaeG7h3QgSE9BL3RoxrDhu51uZyBraGkgc28gc8OhbmhcbiIKKyN+ICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiDEkeG7i25oIG5naMSpYSBrw70gdOG7sSBjaOG6pW0gZOG7qXQgY2h14buXaVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbmFtZWkoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLEkOG7gyB0w6xtIHRow6ptIHRow7RuZyB0aW4sIHhlbSBuYW1laSgxKS5cbiIKKyN+ICJUaMO0bmcgYsOhbyBs4buXaSBk4buLY2ggY2hvIDxodHRwOi8vdHJhbnNsYXRpb25wcm9qZWN0Lm9yZy90ZWFtL3ZpLmh0bWw+XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHdpcGVmcyg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIsSQ4buDIHTDrG0gdGjDqm0gdGjDtG5nIHRpbiwgeGVtIHdpcGVmcyg4KS5cbiIKKyN+ICJUaMO0bmcgYsOhbyBs4buXaSBk4buLY2ggY2hvIDxodHRwOi8vdHJhbnNsYXRpb25wcm9qZWN0Lm9yZy90ZWFtL3ZpLmh0bWw+XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHRhc2tzZXQoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLEkOG7gyB0w6xtIHRow6ptIHRow7RuZyB0aW4sIHhlbSB0YXNrc2V0KDEpLlxuIgorI34gIlRow7RuZyBiw6FvIGzhu5dpIGThu4tjaCBjaG8gPGh0dHA6Ly90cmFuc2xhdGlvbnByb2plY3Qub3JnL3RlYW0vdmkuaHRtbD5cbiIKKworI34gbXNnaWQgIiVzOiBpcyByZW1vdmFibGUgZGV2aWNlIgorI34gbXNnc3RyICIlczogbMOgIHRoaeG6v3QgYuG7iyB0aMOhbyBs4bqvcCDEkcaw4bujYyIKKworI34gbXNnaWQgIiVzOiBjb25uZWN0ZWQgYnkgaG90cGx1ZyBzdWJzeXN0ZW06ICVzIgorI34gbXNnc3RyICIlczogxJHGsOG7o2Mga+G6v3QgbuG7kWkgYuG7n2kgaOG7hyB0aOG7kW5nIGNvbiBj4bqvbS1uw7NuZzogJXMiCisKKyN+IG1zZ2lkICJ0aW1lb3V0IGNhbm5vdCBiZSB6ZXJvIgorI34gbXNnc3RyICJ0aOG7nWkgZ2lhbiBxdcOhIGdp4budIGtow7RuZyB0aOG7gyBsw6Agc+G7kSBraMO0bmciCisKKyN+IG1zZ2lkICJOZWVkIHRvIGluc2VydCAlZCBzZWNvbmQgYW5kIHJlZmVyIHRpbWUgYmFjayAlLjZmIHNlY29uZHMgYWdvXG4iCisjfiBtc2dpZF9wbHVyYWwgIk5lZWQgdG8gaW5zZXJ0ICVkIHNlY29uZHMgYW5kIHJlZmVyIHRpbWUgYmFjayAlLjZmIHNlY29uZHMgYWdvXG4iCisjfiBtc2dzdHJbMF0gIkPhuqduIHRow6ptICVkIGdpw6J5IHbDoCBjaHV54buDbiB0aOG7nWkgZ2lhbiBuZ8aw4bujYyBs4bqhaSAlLjZmIGdpw6J5IHRyxrDhu5tjXG4iCisKKyN+IG1zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSBLREdIV0NMSyB0byBjaGFuZ2VcbiIKKyN+IG1zZ3N0ciAixJBhbmcgY2jhu50gKHbDsm5nIGzhurdwKSB0aOG7nWkgZ2lhbiB04burIEtER0hXQ0xLIHRoYXkgxJHhu5VpXG4iCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCB0byByZWFkIHRpbWUgZmFpbGVkIgorI34gbXNnc3RyICJLREdIV0NMSyBpb2N0bCDEkeG7jWMgdGjhu51pIGdpYW4ga2jDtG5nIHRow6BuaCBjw7RuZyIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIHRvIHJlYWQgdGltZSBmYWlsZWQgaW4gbG9vcCIKKyN+IG1zZ3N0ciAiS0RHSFdDTEsgaW9jdGwgxJHhu41jIHRo4budaSBnaWFuIGtow7RuZyB0aMOgbmggY8O0bmcgdHJvbmcgdsOybmcgbOG6t3AiCisKKyN+IG1zZ2lkICJpb2N0bCgpIGZhaWxlZCB0byByZWFkIHRpbWUgZnJvbSAlcyIKKyN+IG1zZ3N0ciAiaW9jdGwoKSDEkeG7jWMgdGjhu51pIGdpYW4ga2jDtG5nIHRow6BuaCBjw7RuZyB04burICVzIgorCisjfiBtc2dpZCAiaW9jdGwgS0RTSFdDTEsgZmFpbGVkIgorI34gbXNnc3RyICJpb2N0bCBLRFNIV0NMSyBraMO0bmcgdGjDoG5oIGPDtG5nIgorCisjfiBtc2dpZCAiVXNpbmcgdGhlIEtER0hXQ0xLIGludGVyZmFjZSB0byBtNjhrIGNsb2NrLiIKKyN+IG1zZ3N0ciAixJBhbmcgZMO5bmcgZ2lhbyBkaeG7h24gS0RHSFdDTEsgY2hvIMSR4buTbmcgaOG7kyBtNjhrLiIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gL2Rldi90dHkxIG9yIC9kZXYvdmMvMSIKKyN+IG1zZ3N0ciAiS2jDtG5nIHRo4buDIG3hu58g4oCcL2Rldi90dHkx4oCdIGhheSDigJwvZGV2L3ZjLzHigJ0iCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgIktER0hXQ0xLIGlvY3RsIGtow7RuZyB0aMOgbmggY8O0bmciCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgZGV0YWlscyBzZWUgbHNjcHUoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLEkOG7gyB0w6xtIHRow6ptIHRow7RuZyB0aW4sIHhlbSBsc2NwdSgxKS5cbiIKKyN+ICJUaMO0bmcgYsOhbyBs4buXaSBk4buLY2ggY2hvIDxodHRwOi8vdHJhbnNsYXRpb25wcm9qZWN0Lm9yZy90ZWFtL3ZpLmh0bWw+XG4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJncy4uLl1cbiIKKyN+IG1zZ3N0ciAiICVzIFtjw6FjIHTDuXkgY2jhu41uXSA8Y2jGsMahbmcgdHLDrG5oPiBbY8OhYyDEkeG7kWkgc+G7keKApl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWcsIC0tcGdycCA8aWQ+ICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBncm91cCBJRFxuIgorI34gIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIHNwZWNpZnkgdGhlIG5pY2UgaW5jcmVtZW50IHZhbHVlXG4iCisjfiAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgSUQgKGRlZmF1bHQpXG4iCisjfiAiIC11LCAtLXVzZXIgPG5hbWV8aWQ+ICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHVzZXJuYW1lIG9yIHVzZXIgSURcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaGnhu4N1IGzDoCBJRCBuaMOzbSB0aeG6v24gdHLDrG5oXG4iCisjfiAiIC1uLCAtLXByaW9yaXR5IDxudW0+ICAgY2jhu4kgxJHhu4tuaCBt4bupYyDGsHUgdGnDqm5cbiIKKyN+ICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBoaeG7g3UgxJHDonkgbMOgIElEIHRp4bq/biB0csOsbmhcbiIKKyN+ICIgLXUsIC0tdXNlciA8bmFtZXxpZD4gICBoaeG7g3UgbMOgIHTDqm4gdMOgaSBraG/huqNuIGhheSBJRCBuZ8aw4budaSBkw7luZ1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBy4buTaSB0aG/DoXRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBoaeG7g24gdGjhu4sgcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSByZW5pY2UoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLEkOG7gyB0w6xtIHRow6ptIHRow7RuZyB0aW4sIHhlbSByZW5pY2UoMSkuXG4iCisjfiAiVGjDtG5nIGLDoW8gbOG7l2kgZOG7i2NoIGNobyA8aHR0cDovL3RyYW5zbGF0aW9ucHJvamVjdC5vcmcvdGVhbS92aS5odG1sPlxuIgorCisjfiBtc2dpZCAiICVzJXMgW29wdGlvbnNdIFtwcm9ncmFtIFtwcm9ncmFtIGFyZ3VtZW50c11dXG4iCisjfiBtc2dzdHIgIiAlcyVzIFtjw6FjIHTDuXkgY2jhu41uXSBbY2jGsMahbmdfdHLDrG5oIFtjw6FjIHRoYW0gc+G7kSBj4bunYSBjaMawxqFuZyB0csOsbmhdXVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgZW5hYmxlIGFsbCBzd2FwcyBmcm9tIC9ldGMvZnN0YWJcbiIKKyN+ICIgLWQsIC0tZGlzY2FyZFs9PHBvbGljeT5dIGVuYWJsZSBzd2FwIGRpc2NhcmRzLCBpZiBzdXBwb3J0ZWQgYnkgZGV2aWNlXG4iCisjfiAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBzaWxlbnRseSBza2lwIGRldmljZXMgdGhhdCBkbyBub3QgZXhpc3RcbiIKKyN+ICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHJlaW5pdGlhbGl6ZSB0aGUgc3dhcCBzcGFjZSBpZiBuZWNlc3NhcnlcbiIKKyN+ICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorI34gIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgZGlzcGxheSBzdW1tYXJ5IGFib3V0IHVzZWQgc3dhcCBkZXZpY2VzIChERVBSRUNBVEVEKVxuIgorI34gIiAgICAgLS1zaG93Wz08Y29sdW1ucz5dICAgZGlzcGxheSBzdW1tYXJ5IGluIGRlZmluYWJsZSB0YWJsZVxuIgorI34gIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MsIHVzZSB3aXRoIC0tc2hvd1xuIgorI34gIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCwgdXNlIHdpdGggLS1zaG93XG4iCisjfiAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgc2l6ZSBpbiBieXRlcyBpbiAtLXNob3cgb3V0cHV0XG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgYuG6rXQgdOG6pXQgY+G6oyBjw6FjIHbDuW5nIGLhu5kgbmjhu5sgdHJhbyDEkeG7lWkgdHJvbmcgdOG6rXAgdGluIC9ldGMvZnN0YWJcbiIKKyN+ICIgLWQsIC0tZGlzY2FyZFs9PGNow61uaF9zw6FjaD5dIGLhuq10IGPDoWMgdsO5bmcgdHJhbyDEkeG7lWkgxJHDoyBi4buLIGxv4bqhaSBi4buPLCBu4bq/dSDEkcaw4bujYyBo4buXIHRy4bujIGLhu59pIHRoaeG6v3QtYuG7i1xuIgorI34gIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgw6JtIHRo4bqnbSBi4buPIHF1YSBjw6FjIHRoaeG6v3QgYuG7iyBtw6AgbsOzIGtow7RuZyB04buTbiB04bqhaVxuIgorI34gIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAga2jhu59pIHThuqFvIGzhuqFpIGtow7RuZyBnaWFuIGLhu5kgbmjhu5sgdHJhbyDEkeG7lWkgbuG6v3UgdGjhuqV5IGPhuqduXG4iCisjfiAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBjaOG7iSDEkeG7i25oIG3hu6ljIMawdSB0acOqbiBj4bunYSB0aGnhur90IGLhu4sgYuG7mSBuaOG7myB0cmFvIMSR4buVaS5cbiIKKyN+ICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHThu5VuZyBxdcOhdCB24buBIHRoaeG6v3QgYuG7iyBi4buZIG5o4bubXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgdHLDoW8gxJHhu5VpIMSRw6Mgc+G7rSBk4bulbmcgcuG7k2kgdGhvw6F0XG4iCisjfiAiICAgICAtLXNob3dbPTxj4buZdD5dICAgICAgIGhp4buDbiB0aOG7iyBk4bqhbmcgdOG7lW5nIHF1w6F0IHRyb25nIGLhuqNuZyDEkeG7i25oIG5naMSpYVxuIgorI34gIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAga2jDtG5nIGhp4buDbiB0aOG7iyDEkeG6p3UgxJHhu4EsIHPhu60gZOG7pW5nIHbhu5tpIC0tc2hvd1xuIgorI34gIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgc+G7rSBk4bulbmcga+G6v3QgeHXhuqV0IGThuqFuZyB0aMO0LCBz4butIGThu6VuZyB24bubaSAtLXNob3dcbiIKKyN+ICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB2w7luZyBob8OhbiDEkeG7lWkgdMOtbmggYuG6sW5nIGJ5dGVzIHRyb25nIGvhur90XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgeHXhuqV0IGtoaSBkw7luZyAtLXNob3dcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGNo4bq/IMSR4buZIHRyw6xuaCBiw6B5IMSR4bqneSDEkeG7pyB0aMO0bmcgdGluXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1WLCAtLXZlcnNpb24gICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1WLCAtLXZlcnNpb24gICAgWHXhuqV0IHRow7RuZyB0aW4gcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdC5cbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBIaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXQuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDw6FjaCBkw7luZzpcbiIKKyN+ICIlcyBbdMO5eV9jaOG7jW5dIFt0w6puX3Thu4dwX3RpbuKApl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgIHN1cHByZXNzIGFsbCB1bmRlcmxpbmluZ1xuIgorI34gIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgcHJpbnQgYWxsIGhhbGYtbGluZXNcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC0sICAtLW5vLXVuZGVybGluaW5nICBjaOG6t24gbeG7jWkgZMOybmcgZ+G6oWNoIGTGsOG7m2lcbiIKKyN+ICIgLTIsIC0taGFsZi1saW5lcyAgICAgIGhp4buDbiB0aOG7iyB04bqldCBj4bqjIG7hu61hIGTDsm5nXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB24buBIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IHLhu5NpIHRob8OhdFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkPDoWMgdMO5eSBjaOG7jW46XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImNhbGxpbmcgaGV4ZHVtcCBhcyBvZCBoYXMgYmVlbiBkZXByZWNhdGVkIGluIGZhdm9yIG9mIEdOVSBjb3JldXRpbHMgb2QiCisjfiBtc2dzdHIgInZp4buHYyBn4buNaSDigJxoZXhkdW1w4oCdIGdp4buRbmcgbmjGsCBsw6AgbOG7h25oIOKAnG9k4oCdIMSRw6MgYuG7iyBwaOG6o24gxJHhu5FpIHRyb25nIHPhu7EgdGhp4buHbiDDvSBj4bunYSBs4buHbmgg4oCcb2TigJ0gY+G7p2EgZ8OzaSDigJxHTlUgY29yZXV0aWxz4oCdIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkPDoWMgdMO5eSBjaOG7jW46XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcmV2KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAixJDhu4MgdMOsbSB0aMOqbSB0aMO0bmcgdGluLCB4ZW0gcmV2KDEpLlxuIgorI34gIlRow7RuZyBiw6FvIGzhu5dpIGThu4tjaCBjaG8gPGh0dHA6Ly90cmFuc2xhdGlvbnByb2plY3Qub3JnL3RlYW0vdmkuaHRtbD5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbl0gZmlsZVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQ8OhY2ggZMO5bmc6XG4iCisjfiAiICVzIFt0w7l5X2No4buNbl0gdOG6rXBfdGluXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLW4sIC0tbGluZXMgTlVNQkVSICBvdXRwdXQgdGhlIGxhc3QgTlVNQkVSIGxpbmVzXG4iCisjfiAiIC1OVU1CRVIgICAgICAgICAgICAgc2FtZSBhcyBgLW4gTlVNQkVSJ1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkPDoWMgdMO5eSBjaOG7jW46XG4iCisjfiAiIC1uLCAtLWxpbmVzIE5VTUJFUiAgaGnhu4NuIHRo4buLIE5VTUJFUiBkw7JuZyBjdeG7kWlcbiIKKyN+ICIgLU5VTUJFUiAgICAgICAgICAgICBnaeG7kW5nIG5oxrAg4oCcLW4gTlVNQkVS4oCdXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gduG7gSBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHkgcuG7k2kgdGhvw6F0XG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJUeXBlIG9mIHRoZSBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCisjfiBtc2dzdHIgIktp4buDdSBj4bunYSBwaMOibiB2w7luZyAlenUgY2jGsGEgdGhheSDEkeG7lWkuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBmaWxlXG4iCisjfiBtc2dzdHIgIiVzIFtUVeG7sl9DSOG7jE5dIFtU4bqsUF9USU5dXG4iCisKKyN+IG1zZ2lkICJhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKKyN+IG1zZ3N0ciAibMOgIGxv4bqhaSB04burIGzhuqtuIG5oYXUuIgorCisjfiBtc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMuIgorI34gbXNnc3RyICJjaOG7iSBjw7MgdGjhu4MgdGhheSDEkeG7lWkgY8OhYyBt4bulYyBu4buZaSBi4buZLiIKKworI34gbXNnaWQgIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lIHN0YW1wIHVzaW5nIGZvcm1hdDpcbiIKKyN+IG1zZ3N0ciAiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBoaeG7g24gdGjhu4sgZOG6pXUgdGjhu51pIGdpYW4gZMO5bmcgxJHhu4tuaCBk4bqhbmc6XG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vdGltZXxzaG9ydHxmdWxsfGlzb11cbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub3RpbWV8c2hvcnR8ZnVsbHxpc29dXG4iCisKKyN+IG1zZ2lkICJDT01NQU5EIG5vdCBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJDaMawYSBjw7MgTOG7hk5ILiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gcGF0aG5hbWUgW3BhdGhuYW1lIC4uLl1cbiIKKyN+IG1zZ3N0ciAiJXMgW2PDoWNfdHXhu7NfY2jhu41uXSB0w6puX8SRxrDhu51uZ19k4bqrbiBbdMOqbl/Ekcaw4budbmdfZOG6q24g4oCmXVxuIgorCisjfiBtc2dpZCAibm8gZmlsZW5hbWUgc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAiY2jGsGEgeMOhYyDEkeG7i25oIHTDqm4gdOG6rXAgdGluLiIKKworI34gbXNnaWQgIi4uLmJhY2sgMSBwYWdlIgorI34gbXNnc3RyICLigKZxdWF5IGzhuqFpIDEgdHJhbmciCisKKyN+IG1zZ2lkICIuLi5za2lwcGluZyBvbmUgbGluZSIKKyN+IG1zZ3N0ciAi4oCmYuG7jyBxdWEgbeG7mXQgZMOybmciCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKKyN+IG1zZ3N0ciAiICVzIFtUVeG7sl9DSOG7jE5dIFtU4bqsUF9USU7igKZdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1uLCAtLW5vLWFyZ3VtZW50ICAgICAgIG9wdGlvbiBkb2VzIG5vdCB1c2UgYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGtow7RuZyDEkeG6t3QgbOG6oWkgY2jhur8gxJHhu5kgxJFp4buBdSBraGnhu4NuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yLCAtLXJlcXVpcmVkIDxhcmc+ICAgIG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudFxuIgorI34gbXNnc3RyICJ0w7l5IGNo4buNbiB5w6p1IGPhuqd1IG3hu5l0IHRoYW0gc+G7kSAtLSAlcyIKKworI34gbXNnaWQgIiAgICAgLS14eXp6eSAgICAgICAgICAgICBhIGxvbmcgb3B0aW9uIG9ubHlcbiIKKyN+IG1zZ3N0ciAiICAgICAtLXh5enp5ICAgICAgICAgICAgIGNo4buJIGTDuW5nIHTDuXkgY2jhu41uIGThuqFuZyBkw6BpXG4iCisKKyN+IG1zZ2lkICIgLWUsIC0tZXh0cmVtZWx5LWxvbmctbG9uZy1vcHRpb25cbiIKKyN+IG1zZ3N0ciAiIC1lLCAtLWV4dHJlbWVseS1sb25nLWxvbmctb3B0aW9uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gb24gdHdvLCBvciBtdWx0aXBsZSBsaW5lcywgd2hlcmUgdGhlXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtow7RuZyB04bqhbyBwaGnDqm4gbeG7m2lcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zZWN1dGl2ZSBsaW5lcyBhcmUgaW50ZW5kZWQgYnkgdHdvIHNwYWNlc1xuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBraMO0bmcgdOG6oW8gcGhpw6puIG3hu5tpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1mLCAtLWZvb2JhciAgICAgICAgICAgIG5leHQgb3B0aW9uIGRlc2NyaXB0aW9uIHJlc2V0cyBpbmRlbnRcbiIKKyN+IG1zZ3N0ciAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGtow7RuZyDEkeG6t3QgbOG6oWkgY2jhur8gxJHhu5kgxJFp4buBdSBraGnhu4NuXG4iCisKKyN+IG1zZ2lkICJ3YWlkcGlkIGZhaWxlZCIKKyN+IG1zZ3N0ciAid2FpZHBpZCBn4bq3cCBs4buXaSIKKworI34gbXNnaWQgIiAteCwgLS1kZXN0aW5hdGlvbiA8ZGlyPiAgZXh0cmFjdCBpbnRvIGRpcmVjdG9yeVxuIgorI34gbXNnc3RyICIgLXgsIC0tZGVzdGluYXRpb24gPHRt4bulYz4gcsO6dCB0csOtY2ggcmEgdGjGsCBt4bulY1xuIgorCisjfiBtc2dpZCAiY29tcGlsZWQgd2l0aG91dCAteCBzdXBwb3J0IgorI34gbXNnc3RyICJiacOqbiBk4buLY2ggbcOgIGtow7RuZyBo4buXIHRy4bujIC14IgorCisjfiBtc2dpZCAiJXM6IE91dCBvZiBtZW1vcnkhXG4iCisjfiBtc2dzdHIgIiVzOiBLaMO0bmcgxJHhu6cgYuG7mSBuaOG7myFcbiIKKworI34gbXNnaWQgIlVudXNhYmxlIgorI34gbXNnc3RyICJLaMO0bmcgZMO5bmcgxJHGsOG7o2MiCisKKyN+IG1zZ2lkICJ3cml0ZSBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGdoaVxuIgorCisjfiBtc2dpZCAiRGlzayBoYXMgYmVlbiBjaGFuZ2VkLlxuIgorI34gbXNnc3RyICLEkMSpYSDEkcOjIMSRxrDhu6NjIHRoYXkgxJHhu5VpLlxuIgorCisjfiBtc2dpZCAiUmVib290IHRoZSBzeXN0ZW0gdG8gZW5zdXJlIHRoZSBwYXJ0aXRpb24gdGFibGUgaXMgY29ycmVjdGx5IHVwZGF0ZWQuXG4iCisjfiBtc2dzdHIgIkto4bufaSDEkeG7mW5nIGzhuqFpIGjhu4cgdGjhu5FuZyDEkeG7gyDEkeG6o20gYuG6o28gbMOgIGLhuqNuZyBwaMOibiB2w7luZyDEkcaw4bujYyBj4bqtcCBuaOG6rXQgxJHDum5nLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IElmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55XG4iCisjfiAiRE9TIDYueCBwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBjZmRpc2sgbWFudWFsXG4iCisjfiAicGFnZSBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkPhuqJOSCBCw4FPOiBO4bq/dSBi4bqhbiBwaOG6o2kgdOG6oW8gaGF5IHPhu61hIMSR4buVaSBi4bqldCBr4buzXG4iCisjfiAicGjDom4gdsO5bmcgRE9TIDYueCBuw6BvLCB4aW4gaMOjeSB4ZW0gaMaw4bubbmcgZOG6q24gbmfGsOG7nWlcbiIKKyN+ICJkw7luZyBjZmRpc2sgxJHhu4MgYmnhur90IHRow6ptIHRow7RuZyB0aW4uXG4iCisKKyN+IG1zZ2lkICJGQVRBTCBFUlJPUiIKKyN+IG1zZ3N0ciAiTOG7lkkgTkdIScOKTSBUUuG7jE5HIgorCisjfiBtc2dpZCAiUHJlc3MgYW55IGtleSB0byBleGl0IGNmZGlzayIKKyN+IG1zZ3N0ciAiSMOjeSBuaOG6pW4gcGjDrW0gYuG6pXQga+G7syDEkeG7gyB0aG/DoXQga2jhu49pIGNmZGlzayIKKworI34gbXNnaWQgIkNhbm5vdCBzZWVrIG9uIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIktow7RuZyB0aOG7gyBkaSBjaHV54buDbiB24buLIHRyw60gxJHhu41jIHRyw6puIOG7lSDEkcSpYSIKKworI34gbXNnaWQgIkNhbm5vdCByZWFkIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIktow7RuZyB0aOG7gyDEkeG7jWMg4buVIMSRxKlhIgorCisjfiBtc2dpZCAiQ2Fubm90IHdyaXRlIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIktow7RuZyB0aOG7gyBnaGkgdsOgbyDhu5UgxJHEqWEiCisKKyN+IG1zZ2lkICJUb28gbWFueSBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJRdcOhIG5oaeG7gXUgcGjDom4gdsO5bmciCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gYmVnaW5zIGJlZm9yZSBzZWN0b3IgMCIKKyN+IG1zZ3N0ciAiUGjDom4gdsO5bmcgYuG6r3QgxJHhuqd1IHRyxrDhu5tjIGN1bmcgdOG7qyAwIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGVuZHMgYmVmb3JlIHNlY3RvciAwIgorI34gbXNnc3RyICJQaMOibiB2w7luZyBr4bq/dCB0aMO6YyB0csaw4bubYyBjdW5nIHThu6sgMCIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBiZWdpbnMgYWZ0ZXIgZW5kLW9mLWRpc2siCisjfiBtc2dzdHIgIlBow6JuIHbDuW5nIGLhuq90IMSR4bqndSB0csaw4bubYyBr4bq/dC10aMO6Yy1j4bunYS3EkcSpYSIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICJQaMOibiB2w7luZyBr4bq/dCB0aMO6YyBzYXUga+G6v3QtdGjDumMtY+G7p2EtxJHEqWEiCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgbm90IGluIGRpc2sgb3JkZXIiCisjfiBtc2dzdHIgIlBow6JuIHbDuW5nIGzDtGfDrWMga2jDtG5nIHRoZW8gdGjhu6kgdOG7sSDEkcSpYSIKKworI34gbXNnaWQgImxvZ2ljYWwgcGFydGl0aW9ucyBvdmVybGFwIgorI34gbXNnc3RyICJwaMOibiB2w7luZyBsw7Rnw61jIGNo4buTbmcgbMOqbiBuaGF1IgorCisjfiBtc2dpZCAiZW5sYXJnZWQgbG9naWNhbCBwYXJ0aXRpb25zIG92ZXJsYXAiCisjfiBtc2dzdHIgInBow6JuIHbDuW5nIGzDtGfDrWMgbeG7nyBy4buZbmcgY2jhu5NuZyBsw6puIG5oYXUiCisKKyN+IG1zZ2lkICIhISEhIEludGVybmFsIGVycm9yIGNyZWF0aW5nIGxvZ2ljYWwgZHJpdmUgd2l0aCBubyBleHRlbmRlZCBwYXJ0aXRpb24gISEhISIKKyN+IG1zZ3N0ciAiISEhISBM4buXaSBu4buZaSBi4buZIGtoaSB04bqhbyBjw6FjIOG7lSBsw7Rnw61jIG3DoCBraMO0bmcgY8OzIHBow6JuIHbDuW5nIG3hu58gcuG7mW5nICEhISEiCisKKyN+IG1zZ2lkICJDYW5ub3QgY3JlYXRlIGxvZ2ljYWwgZHJpdmUgaGVyZSAtLSB3b3VsZCBjcmVhdGUgdHdvIGV4dGVuZGVkIHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIktow7RuZyB0aOG7gyB04bqhbyDhu5UgbMO0Z8OtYyDhu58gxJHDonkgLS0gdsOsIG5oxrAgdGjhur8gc+G6vSB04bqhbyBoYWkgcGjDom4gdsO5bmcgbeG7nyBy4buZbmciCisKKyN+IG1zZ2lkICJNZW51IGl0ZW0gdG9vIGxvbmcuIE1lbnUgbWF5IGxvb2sgb2RkLiIKKyN+IG1zZ3N0ciAiTeG7pWMgdHLDrG5oIMSRxqFuIHF1w6EgZMOgaS4gVHLDrG5oIMSRxqFuIGPDsyB0aOG7gyB0csO0bmcgbOG6oWMgbMO1bmcuIgorCisjfiBtc2dpZCAiSWxsZWdhbCBrZXkiCisjfiBtc2dzdHIgIlBow61tIGPhuqVtIgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICJU4bqhbyBt4buZdCBwaMOibiB2w7luZyBjaMOtbmggbeG7m2kiCisKKyN+IG1zZ2lkICJDcmVhdGUgYSBuZXcgbG9naWNhbCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlThuqFvIG3hu5l0IHBow6JuIHbDuW5nIGzDtGfDrWMgbeG7m2kiCisKKyN+IG1zZ2lkICJDYW5jZWwiCisjfiBtc2dzdHIgIkjhu6d5IGLhu48iCisKKyN+IG1zZ2lkICJEb24ndCBjcmVhdGUgYSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIsSQ4burbmcgdOG6oW8gbeG7mXQgcGjDom4gdsO5bmciCisKKyN+IG1zZ2lkICIhISEgSW50ZXJuYWwgZXJyb3IgISEhIgorI34gbXNnc3RyICIhISEgTOG7l2kgbuG7mWkgYuG7mSAhISEiCisKKyN+IG1zZ2lkICJTaXplIChpbiBNQik6ICIKKyN+IG1zZ3N0ciAiS8OtY2ggY+G7oSAodGhlbyBNQik6ICIKKworI34gbXNnaWQgIkJlZ2lubmluZyIKKyN+IG1zZ3N0ciAixJDhuqd1IgorCisjfiBtc2dpZCAiQWRkIHBhcnRpdGlvbiBhdCBiZWdpbm5pbmcgb2YgZnJlZSBzcGFjZSIKKyN+IG1zZ3N0ciAiVGjDqm0gbeG7mXQgcGjDom4gdsO5bmcgdOG6oWkgxJHhuqd1IHbDuW5nIMSRxKlhIHRy4buRbmciCisKKyN+IG1zZ2lkICJBZGQgcGFydGl0aW9uIGF0IGVuZCBvZiBmcmVlIHNwYWNlIgorI34gbXNnc3RyICJUaMOqbSBt4buZdCBwaMOibiB2w7luZyB04bqhaSBjdeG7kWkgdsO5bmcgxJHEqWEgdHLhu5FuZyIKKworI34gbXNnaWQgIk5vIHJvb20gdG8gY3JlYXRlIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIktow7RuZyBjw7JuIGNo4buXIMSR4buDIHThuqFvIHBow6JuIHbDuW5nIG3hu58gcuG7mW5nIgorCisjfiBtc2dpZCAiTm8gcGFydGl0aW9uIHRhYmxlLiBTdGFydGluZyB3aXRoIHplcm8gdGFibGUuIgorI34gbXNnc3RyICJLaMO0bmcgY8OzIGLhuqNuZyBwaMOibiB2w7luZy4gS2jhu59pIMSR4buZbmcgduG7m2kgbeG7mXQgYuG6o25nIHRy4bqvbmcuIgorCisjfiBtc2dpZCAiQmFkIHNpZ25hdHVyZSBvbiBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIkNo4buvIGvDvSBzYWkgdHJvbmcgYuG6o25nIHBow6JuIHbDuW5nIgorCisjfiBtc2dpZCAiVW5rbm93biBwYXJ0aXRpb24gdGFibGUgdHlwZSIKKyN+IG1zZ3N0ciAiS2jDtG5nIGhp4buDdSBraeG7g3UgYuG6o25nIHBow6JuIHbDuW5nIgorCisjfiBtc2dpZCAiRG8geW91IHdpc2ggdG8gc3RhcnQgd2l0aCBhIHplcm8gdGFibGUgW3kvTl0gPyIKKyN+IG1zZ3N0ciAiQuG6oW4gY8OzIG114buRbiBraOG7n2kgxJHhu5luZyB24bubaSBt4buZdCBi4bqjbmcgdHLhu5FuZyBbYy9LXSA/IgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiS2jDtG5nIHRo4buDIG3hu58g4buVIMSRxKlhIgorCisjfiBtc2dpZCAiT3BlbmVkIGRpc2sgcmVhZC1vbmx5IC0geW91IGhhdmUgbm8gcGVybWlzc2lvbiB0byB3cml0ZSIKKyN+IG1zZ3N0ciAiTeG7nyDEkcSpYSBjaOG7iS3EkeG7jWMgLSBi4bqhbiBraMO0bmcgY8OzIHF1eeG7gW4gZ2hpIgorCisjfiBtc2dpZCAiQ2Fubm90IGdldCBkaXNrIHNpemUiCisjfiBtc2dzdHIgIktow7RuZyB0aOG7gyBs4bqleSBrw61jaCBj4buhIMSRxKlhIgorCisjfiBtc2dpZCAiQmFkIHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICJQaMOibiB2w7luZyBjaMOtbmggc2FpIgorCisjfiBtc2dpZCAiV2FybmluZyEhICBUaGlzIG1heSBkZXN0cm95IGRhdGEgb24geW91ciBkaXNrISIKKyN+IG1zZ3N0ciAiQ+G6o25oIGLDoW8hISBDw7MgdGjhu4Mgc+G6vSB4w7NhIGjhur90IGThu68gbGnhu4d1IHRyw6puIMSRxKlhIGPhu6dhIGLhuqFuLiIKKworI34gbXNnaWQgIlBsZWFzZSBlbnRlciBgeWVzJyBvciBgbm8nIgorI34gbXNnc3RyICJYaW4gaMOjeSBuaOG6rXAg4oCcY8Oz4oCdIGhheSDigJxraMO0bmfigJ0iCisKKyN+IG1zZ2lkICJXcml0aW5nIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrLi4uIgorI34gbXNnc3RyICLEkGFuZyBnaGkgYuG6o25nIHBow6JuIHbDuW5nIGzDqm4gxJHEqWHigKYiCisKKyN+IG1zZ2lkICJXcm90ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayIKKyN+IG1zZ3N0ciAixJDDoyBnaGkgYuG6o25nIHBow6JuIHbDuW5nIGzDqm4gxJHEqWEiCisKKyN+IG1zZ2lkICJXcm90ZSBwYXJ0aXRpb24gdGFibGUsIGJ1dCByZS1yZWFkIHRhYmxlIGZhaWxlZC4gIFJ1biBwYXJ0cHJvYmUoOCksIGtwYXJ0eCg4KSBvciByZWJvb3QgdG8gdXBkYXRlIHRhYmxlLiIKKyN+IG1zZ3N0ciAixJDDoyBnaGkgYuG6o25nIHBow6JuIHbDuW5nLCBuaMawbmcga2jDtG5nIMSR4buNYyBs4bqhaSDEkcaw4bujYyBi4bqjbmcuICBIw6N5IGNo4bqheSBjw7RuZyBj4bulIHBhcnRwcm9iZSg4KSBoYXkga3BhcnR4KDgpLCBob+G6t2Mga2jhu59pIMSR4buZbmcgbOG6oWkgxJHhu4MgY+G6rXAgbmjhuq10IGLhuqNuZy4iCisKKyN+IG1zZ2lkICJObyBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIG1hcmtlZCBib290YWJsZS4gRE9TIE1CUiBjYW5ub3QgYm9vdCB0aGlzLiIKKyN+IG1zZ3N0ciAiS2jDtG5nIGPDsyBwaMOibiB2w7luZyBjaMOtbmggbsOgbyDEkcaw4bujYyDEkcOhbmggZOG6pXUgY8OzIHRo4buDIGto4bufaSDEkeG7mW5nLiBNQlIgKG3hu6VjIGdoaSBraOG7n2kgxJHhu5luZyBjaOG7pykgY+G7p2EgRE9TIGtow7RuZyB0aOG7gyBraOG7n2kgxJHhu5luZyB0cm9uZyB0csaw4budbmcgaOG7o3AgbsOgeS4iCisKKyN+IG1zZ2lkICJNb3JlIHRoYW4gb25lIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZS4gRE9TIE1CUiBjYW5ub3QgYm9vdCB0aGlzLiIKKyN+IG1zZ3N0ciAiQ8OzIHbDoGkgcGjDom4gdsO5bmcgY2jDrW5oIMSRxrDhu6NjIMSRw6FuaCBk4bqldSBsw6AgY8OzIHRo4buDIGto4bufaSDEkeG7mW5nLiBNQlIgKG3hu6VjIGdoaSBraOG7n2kgxJHhu5luZyBjaOG7pykgY+G7p2EgRE9TIGtow7RuZyB0aOG7gyBraOG7n2kgxJHhu5luZyB0cm9uZyB0csaw4budbmcgaOG7o3AgbsOgeS4iCisKKyN+IG1zZ2lkICJFbnRlciBmaWxlbmFtZSBvciBwcmVzcyBSRVRVUk4gdG8gZGlzcGxheSBvbiBzY3JlZW46ICIKKyN+IG1zZ3N0ciAiTmjhuq1wIHTDqm4gdOG6rXAgdGluIGhv4bq3YyBuaOG6pW4gcGjDrW0gUkVUVVJOIMSR4buDIGhp4buDbiB0aOG7iyB0csOqbiBtw6BuIGjDrG5oOiAiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlc1xuIgorI34gbXNnc3RyICLhu5QgxJHEqWE6ICVzXG4iCisKKyN+IG1zZ2lkICJTZWN0b3IgMDpcbiIKKyN+IG1zZ3N0ciAiQ3VuZyB04burIDA6XG4iCisKKyN+IG1zZ2lkICJTZWN0b3IgJWQ6XG4iCisjfiBtc2dzdHIgIkN1bmcgdOG7qyAlZDpcbiIKKworI34gbXNnaWQgIiAgIE5vbmUgICAiCisjfiBtc2dzdHIgIiAgIEtow7RuZyAgICIKKworI34gbXNnaWQgIiAgIFByaS9Mb2ciCisjfiBtc2dzdHIgIkNow61uaC9Mw7Rnw61jIgorCisjfiBtc2dpZCAiICAgUHJpbWFyeSIKKyN+IG1zZ3N0ciAiICAgICBDaMOtbmgiCisKKyN+IG1zZ2lkICIgICBMb2dpY2FsIgorI34gbXNnc3RyICIgICAgIEzDtGfDrWMiCisKKyN+IG1zZ2lkICIoJTAyWCkiCisjfiBtc2dzdHIgIiglMDJYKSIKKworI34gbXNnaWQgIk5vbmUiCisjfiBtc2dzdHIgIktow7RuZyIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBUYWJsZSBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAiQuG6o25nIFBow6JuIFbDuW5nIGNobyAlc1xuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgRmlyc3QgICAgICAgTGFzdFxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICDEkOG6p3UgICAgICAgICBDdeG7kWlcbiIKKworI34gbXNnaWQgIiAjIFR5cGUgICAgICAgU2VjdG9yICAgICAgU2VjdG9yICAgT2Zmc2V0ICAgIExlbmd0aCAgIEZpbGVzeXN0ZW0gVHlwZSAoSUQpIEZsYWdcbiIKKyN+IG1zZ3N0ciAiICMgS2nhu4N1ICAgICAgIEN1bmcgdOG7qyAgICAgQ3VuZyB04burICBIaeG7h3UgICAgICDEkOG7mSBkw6BpICAgIEtp4buDdSBo4buHIHRo4buRbmcgdOG6rXAgdGluIChJRCkgQ+G7nVxuIgorCisjfiBtc2dpZCAiLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLVxuIgorI34gbXNnc3RyICItLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tXG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAtLS1TdGFydGluZy0tLS0gICAgICAtLS0tRW5kaW5nLS0tLS0gICAgU3RhcnQgICAgIE51bWJlciBvZlxuIgorI34gbXNnc3RyICIgICAgICAgICAtLS1C4bqvdCDEkeG6p3UtLS0gICAgICAgIC0tLS1L4bq/dCB0aMO6Yy0tLS0gICAgxJDhuqd1ICAgICAgU+G7kVxuIgorCisjfiBtc2dpZCAiICMgRmxhZ3MgSGVhZCBTZWN0ICBDeWwgICBJRCAgSGVhZCBTZWN0ICBDeWwgICAgIFNlY3RvciAgICBTZWN0b3JzXG4iCisjfiBtc2dzdHIgIiAjIEPhu50gICAgxJDhuqd1ICBSw6NuaCAgVHLhu6UgICBJRCAgxJDhuqd1ICBSw6NuaCAgVHLhu6UgICAgIEN1bmcgdOG7qyAgIEN1bmcgdOG7q1xuIgorCisjfiBtc2dpZCAiLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tXG4iCisjfiBtc2dzdHIgIi0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLVxuIgorCisjfiBtc2dpZCAiUmF3IgorI34gbXNnc3RyICJUaMO0IgorCisjfiBtc2dpZCAiUHJpbnQgdGhlIHRhYmxlIHVzaW5nIHJhdyBkYXRhIGZvcm1hdCIKKyN+IG1zZ3N0ciAiSW4gYuG6o25nIHJhIHPhu60gZOG7pW5nIMSR4buLbmggZOG6oW5nIGThu68gbGnhu4d1IHRow7QiCisKKyN+IG1zZ2lkICJQcmludCB0aGUgdGFibGUgb3JkZXJlZCBieSBzZWN0b3JzIgorI34gbXNnc3RyICJJbiBi4bqjbmcgdGhlbyB0aOG7qSB04buxIGN1bmcgdOG7qyIKKworI34gbXNnaWQgIlRhYmxlIgorI34gbXNnc3RyICJC4bqjbmciCisKKyN+IG1zZ2lkICJKdXN0IHByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIkNo4buJIGluIGLhuqNuZyBwaMOibiB2w7luZyIKKworI34gbXNnaWQgIkRvbid0IHByaW50IHRoZSB0YWJsZSIKKyN+IG1zZ3N0ciAixJDhu6tuZyBpbiBi4bqjbmcgcGjDom4gdsO5bmciCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMTk5OSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIiCisjfiBtc2dzdHIgIlTDoWMgcXV54buBbiDCqSBuxINtIDE5OTQtMTk5OSBj4bunYSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIiCisKKyN+IG1zZ2lkICIgIGcgICAgICAgICAgQ2hhbmdlIGN5bGluZGVycywgaGVhZHMsIHNlY3RvcnMtcGVyLXRyYWNrIHBhcmFtZXRlcnMiCisjfiBtc2dzdHIgIiAgZyAgICAgICAgICBUaGF5IMSR4buVaSBjw6FjIHRoYW0gc+G7kTogY3lsaW5kZXJzIChow6xuaCB0cuG7pSksIGhlYWRzICjEkeG6p3UgxJHhu41jKSwgc2VjdG9ycy1wZXItdHJhY2sgKHPhu5EgY3VuZyB04burIHRyw6puIG3hu5dpIHLDo25oKSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBXQVJOSU5HOiBUaGlzIG9wdGlvbiBzaG91bGQgb25seSBiZSB1c2VkIGJ5IHBlb3BsZSB3aG8iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBD4bqiTkggQsOBTzogVMO5eSBjaOG7jW4gbsOgeSBjaOG7iSBkw6BuaCBjaG8gbmjhu69uZyBuZ8aw4budaSBkw7luZyIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBrbm93IHdoYXQgdGhleSBhcmUgZG9pbmcuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgxJHDoyBjw7Mga2luaCBuZ2hp4buHbS4iCisKKyN+IG1zZ2lkICIgIG0gICAgICAgICAgTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgbSAgICAgICAgICDEkOG6t3QgcGjDom4gdsO5bmcgaGnhu4duIHThuqFpIGTDuW5nIHbDuW5nIMSRxKlhIGzhu5tuIG5o4bqldCBjw7MgdGjhu4MiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgTm90ZTogVGhpcyBtYXkgbWFrZSB0aGUgcGFydGl0aW9uIGluY29tcGF0aWJsZSB3aXRoIgorI34gbXNnc3RyICIgICAgICAgICAgICAgQ2jDuiDDvTogY8OzIHRo4buDIGzDoG0gY2hvIHBow6JuIHbDuW5nIGtow7RuZyB0xrDGoW5nIHRow61jaCB24bubaSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBET1MsIE9TLzIsIC4uLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIERPUywgT1MvMiwg4oCmIgorCisjfiBtc2dpZCAiICBwICAgICAgICAgIFByaW50IHBhcnRpdGlvbiB0YWJsZSB0byB0aGUgc2NyZWVuIG9yIHRvIGEgZmlsZSIKKyN+IG1zZ3N0ciAiICBwICAgICAgICAgIEluIHJhIG3DoG4gaMOsbmggaGF5IGdoaSB2w6BvIHThuq1wIHRpbiBi4bqjbmcgcGjDom4gdsO5bmciCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgVGhlcmUgYXJlIHNldmVyYWwgZGlmZmVyZW50IGZvcm1hdHMgZm9yIHRoZSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBDw7MgdsOgaSDEkeG7i25oIGThuqFuZyBraMOhYyBuaGF1IGNobyBwaMOibiB2w7luZyIKKworI34gbXNnaWQgIiAgICAgICAgICAgICB0aGF0IHlvdSBjYW4gY2hvb3NlIGZyb206IgorI34gbXNnc3RyICIgICAgICAgICAgICAgbcOgIGLhuqFuIGPDsyB0aOG7gyBjaOG7jW46IgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHIgLSBSYXcgZGF0YSAoZXhhY3RseSB3aGF0IHdvdWxkIGJlIHdyaXR0ZW4gdG8gZGlzaykiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICByIC0gROG7ryBsaeG7h3UgdGjDtCAobMOgIGPDoWkgY2jDrW5oIHjDoWMgc+G6vSDEkcaw4bujYyBnaGkgbMOqbiDEkcSpYSkiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgcyAtIFRhYmxlIG9yZGVyZWQgYnkgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBC4bqjbmcgeOG6v3AgdGhlbyB0aOG7qSB04buxIGN1bmcgdOG7qyIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICB0IC0gVGFibGUgaW4gcmF3IGZvcm1hdCIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHQgLSBC4bqjbmcgdGhlbyDEkeG7i25oIGThuqFuZyB0aMO0IgorCisjfiBtc2dpZCAiICB1ICAgICAgICAgIENoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSIKKyN+IG1zZ3N0ciAiICB1ICAgICAgICAgIFRoYXkgxJHhu5VpIMSRxqFuIHbhu4sgaGnhu4NuIHRo4buLIGvDrWNoIGPhu6EgcGjDom4gdsO5bmciCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgUm90YXRlcyB0aHJvdWdoIE1CLCBzZWN0b3JzIGFuZCBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBMdcOibiBwaGnDqm4gTUIsIGPDoWMgY3VuZyB04burIHbDoCBow6xuaCB0cuG7pSIKKworI34gbXNnaWQgIkNUUkwtTCAgICAgICBSZWRyYXdzIHRoZSBzY3JlZW4iCisjfiBtc2dzdHIgIkNUUkwtTCAgICAgICBD4bqtcCBuaOG6rXQgbcOgbiBow6xuaCIKKworI34gbXNnaWQgIiAgPyAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKKyN+IG1zZ3N0ciAiICA/ICAgICAgICAgIEhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IgorCisjfiBtc2dpZCAiQ2hhbmdlIGN5bGluZGVyIGdlb21ldHJ5IgorI34gbXNnc3RyICJUaGF5IMSR4buVaSBj4bqldSB0csO6YyB0cuG7pSIKKworI34gbXNnaWQgIkNoYW5nZSBoZWFkIGdlb21ldHJ5IgorI34gbXNnc3RyICJUaGF5IMSR4buVaSBj4bqldSB0csO6YyDEkeG6p3UgdOG7qyIKKworI34gbXNnaWQgIkNoYW5nZSBzZWN0b3IgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIlRoYXkgxJHhu5VpIGPhuqV1IHRyw7pjIGN1bmcgdOG7qyIKKworI34gbXNnaWQgIkRvbmUgd2l0aCBjaGFuZ2luZyBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiSG/DoG4gdGjDoG5oIHZp4buHYyB0aGF5IMSR4buVaSBj4bqldSB0csO6YyIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzOiAiCisjfiBtc2dzdHIgIk5o4bqtcCBz4buRIGjDrG5oIHRy4bulOiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGN5bGluZGVycyB2YWx1ZSIKKyN+IG1zZ3N0ciAiR2nDoSB0cuG7iyBjaG8gc+G7kSBsxrDhu6NuZyB0cuG7pSBraMO0bmcgaOG7o3AgbOG7hyIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2YgaGVhZHM6ICIKKyN+IG1zZ3N0ciAiTmjhuq1wIHPhu5EgxJHhuqd1IMSR4buNYzogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBoZWFkcyB2YWx1ZSIKKyN+IG1zZ3N0ciAiR2nDoSB0cuG7iyBz4buRIMSR4bqndSDEkeG7jWMga2jDtG5nIGjhu6NwIGzhu4ciCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrOiAiCisjfiBtc2dzdHIgIk5o4bqtcCBz4buRIGN1bmcgdOG7qyB0csOqbiBt4buXaSByw6NuaDogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBzZWN0b3JzIHZhbHVlIgorI34gbXNnc3RyICJHacOhIHRy4buLIGN1bmcgdOG7qyBraMO0bmcgaOG7o3AgbOG7hyIKKworI34gbXNnaWQgIkVudGVyIGZpbGVzeXN0ZW0gdHlwZTogIgorI34gbXNnc3RyICJOaOG6rXAga2nhu4N1IGjhu4cgdGjhu5FuZyB04bqtcCB0aW46ICIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgRlMgVHlwZSB0byBlbXB0eSIKKyN+IG1zZ3N0ciAiS2jDtG5nIHRo4buDIHRoYXkgxJHhu5VpIGtp4buDdSBo4buHIHRo4buRbmcgdOG6rXAgdGluIHRow6BuaCBy4buXbmciCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIEZTIFR5cGUgdG8gZXh0ZW5kZWQiCisjfiBtc2dzdHIgIktow7RuZyB0aOG7gyB0aGF5IMSR4buVaSBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiB0aMOgbmggbeG7nyBy4buZbmciCisKKyN+IG1zZ2lkICJVbmsoJTAyWCkiCisjfiBtc2dzdHIgIktow7RuZ19yw7UoJTAyWCkiCisKKyN+IG1zZ2lkICIsIE5DIgorI34gbXNnc3RyICIsIE5DIgorCisjfiBtc2dpZCAiTkMiCisjfiBtc2dzdHIgIk5DIgorCisjfiBtc2dpZCAiUHJpL0xvZyIKKyN+IG1zZ3N0ciAiQ2jDrW5oL0zDtGfDrWMiCisKKyN+IG1zZ2lkICJVbmtub3duICglMDJYKSIKKyN+IG1zZ3N0ciAiS2jDtG5nIGhp4buDdSAoJTAyWCkiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlcyIKKyN+IG1zZ3N0ciAi4buUIMSRxKlhOiAlcyIKKworI34gbXNnaWQgIlNpemU6ICVsbGQgYnl0ZXMsICVsbGQgTUIiCisjfiBtc2dzdHIgIkvDrWNoIGPhu6E6ICVsbGQgYnl0ZSwgJWxsZCBNQiIKKworI34gbXNnaWQgIlNpemU6ICVsbGQgYnl0ZXMsICVsbGQuJWxsZCBHQiIKKyN+IG1zZ3N0ciAiS8OtY2ggY+G7oTogJWxsZCBieXRlLCAlbGxkLiVsbGQgR0IiCisKKyN+IG1zZ2lkICJIZWFkczogJWQgICBTZWN0b3JzIHBlciBUcmFjazogJWQgICBDeWxpbmRlcnM6ICVsbGQiCisjfiBtc2dzdHIgIsSQ4bqndSDEkeG7jWM6ICVkICBDdW5nIHThu6sgbeG7l2kgcsOjbmg6ICVkICAgICAgICAgVHLhu6U6ICVsbGQiCisKKyN+IG1zZ2lkICJQYXJ0IFR5cGUiCisjfiBtc2dzdHIgIktp4buDdSBwaMOibiB2w7luZyIKKworI34gbXNnaWQgIkZTIFR5cGUiCisjfiBtc2dzdHIgIktp4buDdSBo4buHIHRo4buRbmciCisKKyN+IG1zZ2lkICJbTGFiZWxdIgorI34gbXNnc3RyICJbTmjDo25dIgorCisjfiBtc2dpZCAiICAgIFNlY3RvcnMiCisjfiBtc2dzdHIgIiAgICBDdW5nIHThu6siCisKKyN+IG1zZ2lkICIgIEN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICBUcuG7pSIKKworI34gbXNnaWQgIiAgU2l6ZSAoTUIpIgorI34gbXNnc3RyICIgIEvDrWNoIGPhu6EgKE1CKSIKKworI34gbXNnaWQgIiAgU2l6ZSAoR0IpIgorI34gbXNnc3RyICIgIEvDrWNoIGPhu6EgKEdCKSIKKworI34gbXNnaWQgIk5vIG1vcmUgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiS2jDtG5nIGPDsyB0aMOqbSBwaMOibiB2w7luZyBuw6BvIG7hu69hIgorCisjfiBtc2dpZCAiQ2hhbmdlIGRpc2sgZ2VvbWV0cnkgKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIlRoYXkgxJHhu5VpIGPhuqV1IHRyw7pjIMSRxKlhIChjaOG7iSBkw6BuaCBjaG8gbmfGsOG7nWkgY8OzIGtpbmggbmdoaeG7h20pIgorCisjfiBtc2dpZCAiTWF4aW1pemUiCisjfiBtc2dzdHIgIkzhu5tuIG5o4bqldCIKKworI34gbXNnaWQgIk1heGltaXplIGRpc2sgdXNhZ2Ugb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIChleHBlcnRzIG9ubHkpIgorI34gbXNnc3RyICLEkOG6t3QgcGjDom4gdsO5bmcgaGnhu4duIHThuqFpIGTDuW5nIHbDuW5nIGzhu5tuIG5o4bqldCBjw7MgdGjhu4MgdHLDqm4gxJHEqWEgKGNo4buJIGTDoG5oIGNobyBuZ8aw4budaSBjw7Mga2luaCBuZ2hp4buHbSkiCisKKyN+IG1zZ2lkICJQcmludCIKKyN+IG1zZ3N0ciAiSW4iCisKKyN+IG1zZ2lkICJDaGFuZ2UgdGhlIGZpbGVzeXN0ZW0gdHlwZSAoRE9TLCBMaW51eCwgT1MvMiBhbmQgc28gb24pIgorI34gbXNnc3RyICJUaGF5IMSR4buVaSBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiAoRE9TLCBMaW51eCwgT1MvMiB2LnbigKYpIgorCisjfiBtc2dpZCAiVW5pdHMiCisjfiBtc2dzdHIgIsSQxqFuIHbhu4siCisKKyN+IG1zZ2lkICJDaGFuZ2UgdW5pdHMgb2YgdGhlIHBhcnRpdGlvbiBzaXplIGRpc3BsYXkgKE1CLCBzZWN0LCBjeWwpIgorI34gbXNnc3RyICJUaGF5IMSR4buVaSDEkcahbiB24buLIGhp4buHbiB0aOG7iyBrw61jaCBj4buhIHBow6JuIHbDuW5nIChNQiwgY3VuZyB04burLCB0cuG7pSkiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWFrZSB0aGlzIHBhcnRpdGlvbiBib290YWJsZSIKKyN+IG1zZ3N0ciAiS2jDtG5nIHRo4buDIGzDoG0gY2hvIHBow6JuIHbDuW5nIGPDsyB0aOG7gyBraOG7n2kgxJHhu5luZyIKKworI34gbXNnaWQgIkNhbm5vdCBkZWxldGUgYW4gZW1wdHkgcGFydGl0aW9uIgorI34gbXNnc3RyICJLaMO0bmcgdGjhu4MgeMOzYSBt4buZdCBwaMOibiB2w7luZyBy4buXbmciCisKKyN+IG1zZ2lkICJDYW5ub3QgbWF4aW1pemUgdGhpcyBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIktow7RuZyB0aOG7gyB0xINuZyBrw61jaCBj4buhIGzDqm4gbOG7m24gbmjhuqV0IHBow6JuIHbDuW5nIG7DoHkiCisKKyN+IG1zZ2lkICJUaGlzIHBhcnRpdGlvbiBpcyB1bnVzYWJsZSIKKyN+IG1zZ3N0ciAiUGjDom4gdsO5bmcgbsOgeSBraMO0bmcgdGjhu4Mgc+G7rSBk4bulbmciCisKKyN+IG1zZ2lkICJUaGlzIHBhcnRpdGlvbiBpcyBhbHJlYWR5IGluIHVzZSIKKyN+IG1zZ3N0ciAiUGjDom4gdsO5bmcgbsOgeSDEkcOjIMSRxrDhu6NjIHPhu60gZOG7pW5nIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSB0aGUgdHlwZSBvZiBhbiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIktow7RuZyB0aOG7gyB0aGF5IMSR4buVaSBraeG7g3UgY+G7p2EgbeG7mXQgcGjDom4gdsO5bmcgcuG7l25nIgorCisjfiBtc2dpZCAiQ29weXJpZ2h0IChDKSAxOTk0LTIwMDIgS2V2aW4gRS4gTWFydGluICYgYWViXG4iCisjfiBtc2dzdHIgIlTDoWMgcXV54buBbiDCqSBuxINtIDE5OTQtMjAwMiBj4bunYSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWJcbiIKKworI34gbXNnaWQgIiAtaCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgIHNldCB0aGUgbnVtYmVyIG9mIGhlYWRzIHRvIHVzZVxuIgorI34gbXNnc3RyICIgLWgsIC0taGVhZHMgPHPhu5E+ICAgICAgICAgIMSR4bq3dCBz4buRIMSR4bqndSB04burIHPhu60gZOG7pW5nXG4iCisKKyN+IG1zZ2lkICIgLWcsIC0tZ3Vlc3MgICAgICAgICAgICAgICBndWVzcyBhIGdlb21ldHJ5IGZyb20gcGFydGl0aW9uIHRhYmxlXG4iCisjfiBtc2dzdHIgIiAtZywgLS1ndWVzcyAgICAgICAgICAgICAgIGfhu6NpIMO9IGjDrG5oIGjhu41jIGPhu6dhIGLhuqNuZyBwaMOibiB2w7luZ1xuIgorCisjfiBtc2dpZCAiIC1QLCAtLXByaW50IDxyfHN8dD4gICAgICAgcHJpbnQgcGFydGl0aW9uIHRhYmxlIGluIHNwZWNpZmllZCBmb3JtYXRcbiIKKyN+IG1zZ3N0ciAiIC1QLCAtLXByaW50IDxyfHN8dD4gICAgICAgaW4gcmEgYuG6o25nIHBow6JuIHbDuW5nIHRoZW8gxJHhu4tuaCBk4bqhbmcgxJHDoyBjaG9cbiIKKworI34gbXNnaWQgIiAtYSwgLS1hcnJvdyAgICAgICAgICAgICAgIHVzZSBhcnJvdyBmb3IgaGlnaGxpZ2h0aW5nIHRoZSBjdXJyZW50IHBhcnRpdGlvblxuIgorI34gbXNnc3RyICIgLWEsIC0tYXJyb3cgICAgICAgICAgICAgICBkw7luZyBtxalpIHTDqm4gxJHhu4MgdMO0IHPDoW5nIHBow6JuIHbDuW5nIGhp4buHbiB04bqhaVxuIgorCisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBjeWxpbmRlcnMiCisjfiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBz4buRIHRy4bulIgorCisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBoZWFkcyIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIHPhu5EgxJHhuqd1IHThu6siCisKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgbnVtYmVyIG9mIHNlY3RvcnMiCisjfiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCBz4buRIHLDo25oIgorCisjfiBtc2dpZCAiOiAiCisjfiBtc2dzdHIgIjogIgorCisjfiBtc2dpZCAiIC1iIDxzaXplPiAgICAgICAgIHNlY3RvciBzaXplICg1MTIsIDEwMjQsIDIwNDggb3IgNDA5NilcbiIKKyN+IG1zZ3N0ciAiIC1iIDxj4buhPiAgICAgICAgICAga8OtY2ggdGjGsOG7m2MgY3VuZyB04burICg1MTIsIDEwMjQsIDIwNDggaGF5IDQwOTYpXG4iCisKKyN+IG1zZ2lkICIgLWggICAgICAgICAgICAgICAgcHJpbnQgdGhpcyBoZWxwIHRleHRcbiIKKyN+IG1zZ3N0ciAiIC1oICAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IHLhu5NpIHRob8OhdFxuIgorCisjfiBtc2dpZCAiXG4iCisjfiBtc2dzdHIgIlxuIgorCisjfiBtc2dpZCAiIyIKKyN+IG1zZ3N0ciAiIyIKKworI34gbXNnaWQgImZzaXplIgorI34gbXNnc3RyICJmc2l6ZSIKKworI34gbXNnaWQgImJzaXplIgorI34gbXNnc3RyICJic2l6ZSIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCisjfiBtc2dzdHIgIlBow6JuIHbDuW5nICVkIMSRw6MgxJHGsOG7o2MgxJHhu4tuaCBuZ2jEqWEuICBIw6N5IHjDs2EgbsOzIHRyxrDhu5tjIGtoaSB0aMOqbSBs4bqhaSBs4bqnbiBu4buvYS4iCisKKyN+IG1zZ2lkICIiCisjfiAiUGFydGl0aW9uIHR5cGU6XG4iCisjfiAiICAgcCAgIHByaW1hcnkgKCV6ZCBwcmltYXJ5LCAlZCBleHRlbmRlZCwgJXpkIGZyZWUpXG4iCisjfiAiJXNcbiIKKyN+ICJTZWxlY3QgKGRlZmF1bHQgJWMpIgorI34gbXNnc3RyICIiCisjfiAiS2nhu4N1IHBow6JuIHbDuW5nOlxuIgorI34gIiAgIHAgICBjaMOtbmggKCV6ZCBjaMOtbmgsICVkIG3hu58gcuG7mW5nLCAlemQgdHLhu5FuZylcbiIKKyN+ICIlc1xuIgorI34gIkNo4buNbiAobeG6t2MgxJHhu4tuaCBsw6AgJWMpIgorCisjfiBtc2dpZCAiICAgZSAgIGV4dGVuZGVkIgorI34gbXNnc3RyICIgICBlICAgbeG7nyBy4buZbmciCisKKyN+IG1zZ2lkICJOciIKKyN+IG1zZ3N0ciAiTnIiCisKKyN+IG1zZ2lkICJBRiIKKyN+IG1zZ3N0ciAiQUYiCisKKyN+IG1zZ2lkICJIZCIKKyN+IG1zZ3N0ciAixJB0IgorCisjfiBtc2dpZCAiU2VjIgorI34gbXNnc3RyICJHacOieSIKKworI34gbXNnaWQgIkN5bCIKKyN+IG1zZ3N0ciAiVHLhu6UiCisKKyN+IG1zZ2lkICJUaGlzIGRvZXNuJ3QgbG9vayBsaWtlIGEgcGFydGl0aW9uIHRhYmxlLiBQcm9iYWJseSB5b3Ugc2VsZWN0ZWQgdGhlIHdyb25nIGRldmljZS4iCisjfiBtc2dzdHIgIkPDsyB24bq7IG5oxrAgxJHDonkga2jDtG5nIHBo4bqjaSBsw6AgYuG6o25nIHBow6JuIHbDuW5nLiBH4bqnbiBuaMawIGNo4bqvYyBjaOG6r24gbMOgIGLhuqFuIMSRw6MgY2jhu41uIG5o4bqnbSB0aGnhur90IGLhu4suIgorCisjfiBtc2dpZCAiQmxvY2tzICIKKyN+IG1zZ3N0ciAiS2jhu5FpIgorCisjfiBtc2dpZCAiU3lzdGVtIgorI34gbXNnc3RyICJI4buHIHRo4buRbmciCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJXpkIGlzIGFscmVhZHkgZGVmaW5lZC4gRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorI34gbXNnc3RyICJQaMOibiB2w7luZyAlemQgxJHDoyDEkcaw4bujYyDEkeG7i25oIG5naMSpYS4gIEjDo3kgeMOzYSBuw7MgdHLGsOG7m2Mga2hpIHRow6ptIGzhuqFpIGzhuqduIG7hu69hIgorCisjfiBtc2dpZCAiUHQjIgorI34gbXNnc3RyICJQdCMiCisKKyN+IG1zZ2lkICJJbmZvIgorI34gbXNnc3RyICJUaHRpbiIKKworI34gbXNnaWQgIlNlY3RvciIKKyN+IG1zZ3N0ciAiQ3VuZyB04burIgorCisjfiBtc2dpZCAiWW91IHdpbGwgZ2V0IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCEiCisjfiBtc2dzdHIgIkLhuqFuIHPhur0gY8OzIG3hu5l0IHBow6JuIHbDuW5nIMSRw6ggbMOqbiBuaGF1IHRyw6puIOG7lSDEkcSpYS4gSMOjeSBz4butYSDEkWkhIgorCisjfiBtc2dpZCAiV2FybmluZzogIEJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LiBUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLiIKKyN+IG1zZ3N0ciAiQ+G6o25oIGLDoW86IEJMS0dFVFNJWkUgaW9jdGwgZ+G6t3AgbOG7l2kgdHLDqm4gJXMuIMSQYW5nIGTDuW5nIGdpw6EgdHLhu4sgdHLhu6UgaMOsbmggaOG7jWMgY+G7p2EgJWxsdS4gR2nDoSB0cuG7iyBuw6B5IGPDsyB0aOG7gyBi4buLIGPhuq90IG5n4bqvbiBjaG8gdGhp4bq/dCBi4buLID4gMzMuOCBHQi4iCisKKyN+IG1zZ2lkICJGbGFnIgorI34gbXNnc3RyICJD4budIgorCisjfiBtc2dpZCAiIgorI34gIiAlMSRzIFtvcHRpb25zXSBMQUJFTD08bGFiZWw+XG4iCisjfiAiICUxJHMgW29wdGlvbnNdIFVVSUQ9PHV1aWQ+XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlMSRzIFt0w7l5IGNo4buNbl0gTEFCRUw9PG5ow6NuPlxuIgorI34gIiUxJHMgW3TDuXkgY2jhu41uXSBVVUlEPTx1dWlkPlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGJ1aWx0LWluIGZpbHRlcnMsIHByaW50IGFsbCBmaWxlc3lzdGVtc1xuIgorI34gIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBBU0NJSSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCisjfiAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKKyN+ICIgLUQsIC0tZGYgICAgICAgICAgICAgICBpbWl0YXRlIHRoZSBvdXRwdXQgb2YgZGYoMSlcbiIKKyN+ICIgLWQsIC0tZGlyZWN0aW9uIDx3b3JkPiBkaXJlY3Rpb24gb2Ygc2VhcmNoLCAnZm9yd2FyZCcgb3IgJ2JhY2t3YXJkJ1xuIgorI34gIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iCisjfiAiIC1GLCAtLXRhYi1maWxlIDxwYXRoPiAgYWx0ZXJuYXRpdmUgZmlsZSBmb3IgLS1mc3RhYiwgLS1tdGFiIG9yIC0ta2VybmVsIG9wdGlvbnNcbiIKKyN+ICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBwcmludCB0aGUgZmlyc3QgZm91bmQgZmlsZXN5c3RlbSBvbmx5XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLUEsIC0tYWxsICAgICAgICAgICAgICB04bqvdCB04bqldCBj4bqjIGLhu5kgbOG7jWMgZOG7sW5nIHPhurVuLCBoaeG7g24gdGjhu4sgdG/DoG4gYuG7mSBo4buHIHRo4buRbmcgdOG6rXAgdGluXG4iCisjfiAiIC1hLCAtLWFzY2lpICAgICAgICAgICAgc+G7rSBk4bulbmcga8O9IHThu7EgQVNDSUkgxJHhu4MgxJHhu4tuaCBk4bqhbmcgY8OieVxuIgorI34gIiAtYywgLS1jYW5vbmljYWxpemUgICAgIMSRxrDhu51uZyBk4bqrbiBpbiDEkcaw4bujYyBk4bqhbmcgY2Fub25pY2FsaXplXG4iCisjfiAiIC1ELCAtLWRmICAgICAgICAgICAgICAga2jhu59pIHThuqFvIGvhur90IHh14bqldCBj4bunYSBkZigxKVxuIgorI34gIiAtZCwgLS1kaXJlY3Rpb24gPHdvcmQ+IGjGsOG7m25nIHTDrG0ga2nhur9tLCDigJxmb3J3YXJk4oCdIGhheSDigJxiYWNrd2FyZOKAnVxuIgorI34gIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGPhu50gY2h1eeG7g24gxJHhu5VpIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgY2hvIHTDqm4gdGhp4bq/dCBi4buLXG4iCisjfiAiIC1GLCAtLXRhYi1maWxlIDxwYXRoPiAgdOG6rXAgdGluIHRoYXkgdGjhur8gY2hvIC0tZnN0YWIsIC0tbXRhYiBoYXkgY8OhYyB0w7l5IGNo4buNbiAtLWtlcm5lbFxuIgorI34gIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIGNo4buJIGhp4buDbiB0aOG7iyBo4buHIHRo4buRbmcgdOG6rXAgdGluIMSR4bqndSB0acOqbiB0w6xtIHRo4bqleVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVydCB0aGUgc2Vuc2Ugb2YgbWF0Y2hpbmdcbiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCisjfiAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNlIGFsdGVybmF0aXZlIG5hbWVzcGFjZSAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIGZpbGUpXG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgY29sdW1uIGhlYWRpbmdzXG4iCisjfiAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWksIC0taW52ZXJ0ICAgICAgICAgICDEkeG6o28gbmfGsOG7o2Mgw70gc28ga2jhu5twXG4iCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgZMO5bmcga2jDtG5nIGdpYW4gdMOqbiB0aGF5IHRo4bq/XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgKHThuq1wIHRpbiAvcHJvYy88dGlkPi9tb3VudGluZm8pXG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAga2jDtG5nIGhp4buDbiB0aOG7iyDEkeG6p3UgY+G7mXRcbiIKKyN+ICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBraMO0bmcgY+G6r3Qgbmfhuq9uIGNo4buvIHRyb25nIGPDoWMgY+G7mXRcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iCisjfiAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgcHJpbnQgYWxsIHN1Ym1vdW50cyBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iCisjfiAiIC1TLCAtLXNvdXJjZSA8c3RyaW5nPiAgdGhlIGRldmljZSB0byBtb3VudCAoYnkgbmFtZSwgbWFqOm1pbiwgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCisjfiAiIC1ULCAtLXRhcmdldCA8c3RyaW5nPiAgdGhlIG1vdW50cG9pbnQgdG8gdXNlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBraMO0bmcgaW4gcmEgWy9kaXJdIGtoaSBn4bqvbiBkw7luZyB0w7l5IGNo4buNbiBiaW5kIGhheSBidHJmc1xuIgorI34gIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIGluIHJhIHRvw6BuIGLhu5kgY8OhYyBn4bqvbiBjb24gY2hvIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gdMawxqFuZyDhu6luZ1xuIgorI34gIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoaeG6v3QgYuG7iyDEkeG7gyBn4bqvbiAodGhlbyB0w6puLCBtYWo6bWluLCBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKKyN+ICIgLVQsIC0tdGFyZ2V0IDxzdHJpbmc+ICDEkWnhu4NtIGfhuq9uIHPhur0gc+G7rSBk4bulbmdcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWYsIC0tZmlsZSA8ZmlsZT4gdXNlIGZpbGUgYXMgYSBjb29raWUgc2VlZFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1mLCAtLWZpbGUgPGZpbGU+IHPhu60gZOG7pW5nIHThuq1wIHRpbiBuaMawIGzDoCBo4bqhdCBnaeG7kW5nIGNobyBjb29raWVcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgZ2nhuqNpIHRow61jaCBuaOG7r25nIGfDrCDEkWFuZyDEkcaw4bujYyB0aOG7sWMgaGnhu4duXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHbhu4EgcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIkJvdGggLS1waWQgYW5kIC0tbm8tcGlkIHNwZWNpZmllZC4gSWdub3JpbmcgLS1uby1waWQuIgorI34gbXNnc3RyICJD4bqjIGhhaSB0w7l5IGNo4buNbiAtLXBpZCB2w6AgLS1uby1waWQgxJHGsOG7o2MgY2jhu4kgcmEuIMSQYW5nIGzhu50gxJFpIC0tbm8tcGlkLiIKKworI34gbXNnaWQgIndhcm5pbmc6IGVycm9yIHJlYWRpbmcgJXM6ICVzIgorI34gbXNnc3RyICJj4bqjbmggYsOhbzogbOG7l2kgxJHhu41jICVzOiAlcyIKKworI34gbXNnaWQgIndhcm5pbmc6IGNhbid0IG9wZW4gJXM6ICVzIgorI34gbXNnc3RyICJj4bqjbmggYsOhbzoga2jDtG5nIG3hu58gxJHGsOG7o2MgJXM6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNvdWxkIG5vdCBvcGVuICVzIC0gdXNpbmcgJXMgaW5zdGVhZFxuIgorI34gbXNnc3RyICJtb3VudDoga2jDtG5nIG3hu58gxJHGsOG7o2MgJXMgLSBz4butIGThu6VuZyAlcyDEkeG7gyB0aGF5IHRo4bq/XG4iCisKKyN+IG1zZ2lkICJjYW4ndCBjcmVhdGUgbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICJraMO0bmcgdOG6oW8gxJHGsOG7o2MgdOG6rXAgdGluIGtow7NhICVzOiAlcyAoaMOjeSBkw7luZyBj4budIC1uIMSR4buDIGdoaSDEkcOoIGzDqm4pIgorCisjfiBtc2dpZCAiY2FuJ3QgbGluayBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgImtow7RuZyBsacOqbiBr4bq/dCDEkcaw4bujYyB04bqtcCB0aW4ga2jDs2EgJXM6ICVzIChow6N5IGTDuW5nIGPhu50gLW4gxJHhu4MgZ2hpIMSRw6ggbMOqbikiCisKKyN+IG1zZ2lkICJjYW4ndCBvcGVuIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAia2jDtG5nIG3hu58gxJHGsOG7o2MgdOG6rXAgdGluIGtow7NhICVzOiAlcyAoaMOjeSBkw7luZyBj4budIC1uIMSR4buDIGdoaSDEkcOoIGzDqm4pIgorCisjfiBtc2dpZCAiQ2FuJ3QgbG9jayBsb2NrIGZpbGUgJXM6ICVzXG4iCisjfiBtc2dzdHIgIktow7RuZyBraMOzYSDEkcaw4bujYyB04bqtcCB0aW4ga2jDs2EgKGxvY2sgZmlsZSkgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXMiCisjfiBtc2dzdHIgImtow7RuZyBraMOzYSDEkcaw4bujYyB04bqtcCB0aW4ga2jDs2EgKGxvY2sgZmlsZSkgJXM6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIkNhbm5vdCBjcmVhdGUgbGluayAlc1xuIgorI34gIlBlcmhhcHMgdGhlcmUgaXMgYSBzdGFsZSBsb2NrIGZpbGU/XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJLaMO0bmcgdOG6oW8gxJHGsOG7o2MgbGnDqm4ga+G6v3QgJXNcbiIKKyN+ICJDw7MgdGjhu4MgxJHDonkgbMOgIHThuq1wIHRpbiBraMOzYSBi4buBbiB24buvbmc/XG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyAoJXMpIC0gbXRhYiBub3QgdXBkYXRlZCIKKyN+IG1zZ3N0ciAia2jDtG5nIG3hu58gxJHGsOG7o2MgJXMgKCVzKSAtIG10YWIgY2jGsGEgY+G6rXAgbmjhuq10IgorCisjfiBtc2dpZCAiZXJyb3Igd3JpdGluZyAlczogJXMiCisjfiBtc2dzdHIgImzhu5dpIGdoaSBuaOG7myAlczogJXMiCisKKyN+IG1zZ2lkICIlczogY2Fubm90IGZmbHVzaCBjaGFuZ2VzOiAlcyIKKyN+IG1zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBmZmx1c2ggY8OhYyB0aGF5IMSR4buVaTogJXMiCisKKyN+IG1zZ2lkICJlcnJvciBjaGFuZ2luZyBtb2RlIG9mICVzOiAlc1xuIgorI34gbXNnc3RyICJs4buXaSB0aGF5IMSR4buVaSBjaOG6vyDEkeG7mSBj4bunYSAlczogJXNcbiIKKworI34gbXNnaWQgImVycm9yIGNoYW5naW5nIG93bmVyIG9mICVzOiAlc1xuIgorI34gbXNnc3RyICJs4buXaSB0aGF5IMSR4buVaSBjaOG7pyBz4bufIGjhu691IGPhu6dhICVzOiAlc1xuIgorCisjfiBtc2dpZCAiY2FuJ3QgcmVuYW1lICVzIHRvICVzOiAlc1xuIgorI34gbXNnc3RyICJraMO0bmcgxJHhu5VpIHTDqm4gxJHGsOG7o2MgJXMgdGjDoG5oICVzOiAlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIm1vdW50OiB3YXJuaW5nOiAvZXRjL210YWIgaXMgbm90IHdyaXRhYmxlIChlLmcuIHJlYWQtb25seSBmaWxlc3lzdGVtKS5cbiIKKyN+ICIgICAgICAgSXQncyBwb3NzaWJsZSB0aGF0IGluZm9ybWF0aW9uIHJlcG9ydGVkIGJ5IG1vdW50KDgpIGlzIG5vdFxuIgorI34gIiAgICAgICB1cCB0byBkYXRlLiBGb3IgYWN0dWFsIGluZm9ybWF0aW9uIGFib3V0IHN5c3RlbSBtb3VudCBwb2ludHNcbiIKKyN+ICIgICAgICAgY2hlY2sgdGhlIC9wcm9jL21vdW50cyBmaWxlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAibW91bnQ6IGPhuqNuaCBiw6FvOiDigJwvZXRjL210YWLigJ0ga2jDtG5nIGNobyBnaGkgKHThu6ljIGzDoCBo4buHIHRo4buRbmcgdOG6rXAgdGluXG4iCisjfiAiICAgICAgIGNo4buJLcSR4buNYykuIEPDsyB0aOG7gyBsw6AgbW91bnQoOCkgxJHDoyBjdW5nIGPhuqVwIHRow7RuZyB0aW4gcXXDoSBjxakuIMSQ4buDIHTDrG1cbiIKKyN+ICIgICAgICAgdGjDtG5nIHRpbiB0aOG6rXQgduG7gSBjw6FjIMSRaeG7g20gbOG6r3AgaOG7hyB0aOG7kW5nLCB4ZW0gdOG6rXAgdGluIOKAnC9wcm9jLyBtb3VudHPigJ0uXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJtb3VudDogaW1wcm9wZXJseSBxdW90ZWQgb3B0aW9uIHN0cmluZyAnJXMnIgorI34gbXNnc3RyICJtb3VudDogY2h14buXaSB0w7l5IGNo4buNbiDigJwlc+KAnSBzYWkgdHLDrWNoIGThuqtuIgorCisjfiBtc2dpZCAibW91bnQ6IHRyYW5zbGF0ZWQgJXMgJyVzJyB0byAnJXMnXG4iCisjfiBtc2dzdHIgIm1vdW50OiDEkcOjIGThu4tjaCAlcyDigJwlc+KAnSBzYW5nIOKAnCVz4oCdXG4iCisKKyN+IG1zZ2lkICJtb3VudDogU0VMaW51eCAqY29udGV4dD0gb3B0aW9ucyBhcmUgaWdub3JlIG9uIHJlbW91bnQuXG4iCisjfiBtc2dzdHIgImfhuq9uOiBTRUxpbnV4ICpjb250ZXh0PSB0w7l5IGNo4buNbiBi4buLIGLhu48gcXVhIGtoaSBn4bqvbiBs4bqhaS5cbiIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogdGhlbyBuaMawIG10YWIgdGjDrCAlcyDEkcOjIGfhuq9uIHbDoG8gJXMiCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIG1vdW50ZWQgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiB0aGVvIG5oxrAgbXRhYiB0aMOsICVzIMSRw6MgZ+G6r24gdsOgbyAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBvcGVuICVzIGZvciB3cml0aW5nOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGtow7RuZyBt4bufIMSRxrDhu6NjICVzIMSR4buDIGdoaSBuaOG7mzogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogZXJyb3Igd3JpdGluZyAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBs4buXaSBnaGkgbmjhu5sgJXM6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIGNoYW5naW5nIG1vZGUgb2YgJXM6ICVzIgorI34gbXNnc3RyICJtb3VudDogbOG7l2kgdGhheSDEkeG7lWkgY2jhur8gxJHhu5kgY+G7p2EgJXM6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDoga2jDtG5nIMSR4bq3dCDEkcaw4bujYyBpZCBuaMOzbTogJW0iCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCB1c2VyIGlkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IGtow7RuZyDEkeG6t3QgxJHGsOG7o2MgaWQgbmfGsOG7nWkgZMO5bmc6ICVtIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBmb3JrOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGtow7RuZyB0aOG7gyBwaMOibiBuaMOhbmggJXMiCisKKyN+IG1zZ2lkICJUcnlpbmcgJXNcbiIKKyN+IG1zZ3N0ciAixJBhbmcgdGjhu60gJXMuXG4iCisKKyN+IG1zZ2lkICJtb3VudDogeW91IGRpZG4ndCBzcGVjaWZ5IGEgZmlsZXN5c3RlbSB0eXBlIGZvciAlc1xuIgorI34gbXNnc3RyICJtb3VudDogYuG6oW4gY2jGsGEgY2jhu4kgcmEga2nhu4N1IGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gY2hvICVzXG4iCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSBhbGwgdHlwZXMgbWVudGlvbmVkIGluICVzIG9yICVzXG4iCisjfiBtc2dzdHIgIiAgICAgICBT4bq9IHRo4butIHThuqV0IGPhuqMgbeG7jWkga2nhu4N1IMSR4buBIGPhuq1wIMSR4bq/biB0cm9uZyAlcyBoYXkgJXNcbiIKKworI34gbXNnaWQgIiAgICAgICBhbmQgaXQgbG9va3MgbGlrZSB0aGlzIGlzIHN3YXBzcGFjZVxuIgorI34gbXNnc3RyICIgICAgICAgdsOgIMSRw6J5IGPDsyB24bq7IGzDoCB2w7luZyB0cmFvIMSR4buVaVxuIgorCisjfiBtc2dpZCAiICAgICAgIEkgd2lsbCB0cnkgdHlwZSAlc1xuIgorI34gbXNnc3RyICIgICAgICAgU+G6vSB0aOG7rSBraeG7g3UgJXNcbiIKKworI34gbXNnaWQgIiVzIGxvb2tzIGxpa2Ugc3dhcHNwYWNlIC0gbm90IG1vdW50ZWQiCisjfiBtc2dzdHIgIiVzIGPDsyB24bq7IGzDoCB2w7luZyB0cmFvIMSR4buVaSAtIGtow7RuZyBn4bqvbiIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogJXM6IG1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQuIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sXG4iCisjfiAiICAgICAgIHVzZSAtdCA8dHlwZT4gdG8gZXhwbGljaXRseSBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUgb3JcbiIKKyN+ICIgICAgICAgdXNlIHdpcGVmcyg4KSB0byBjbGVhbiB1cCB0aGUgZGV2aWNlLlxuIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6ICVzOiBwaMOhdCBoaeG7h24gxJHGsOG7o2Mgbmhp4buBdSBo4buHIHRo4buRbmcgdOG6rXAgdGluIGjGoW4uXG4iCisjfiAiICAgICAgICBUcsaw4budbmcgaOG7o3AgbsOgeSBraMO0bmcgbsOqbiB44bqjeSByYS5cbiIKKyN+ICIgICAgICAgIEjDo3kgZMO5bmcg4oCcLXQgPGtp4buDdT7igJ0gxJHhu4MgY2jhu4kgxJHhu4tuaCByw7UgcsOgbmcga2nhu4N1IGjhu4cgdGjhu5FuZyB04bqtcCB0aW5cbiIKKyN+ICIgICAgICAgIGhv4bq3YyBkw7luZyB3aXBlZnMoOCkgxJHhu4MgbMOgbSBz4bqhY2ggdGhp4bq/dCBi4buLLlxuIgorCisjfiBtc2dpZCAibW91bnQgZmFpbGVkIgorI34gbXNnc3RyICJtb3VudCAoZ+G6r24pIGtow7RuZyB0aMOgbmggY8O0bmciCisKKyN+IG1zZ2lkICJtb3VudDogb25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGNo4buJIHNpw6p1IG5nxrDhu51pIGTDuW5nIG3hu5tpIGPDsyBxdXnhu4FuIGfhuq9uICVzIHbDoG8gJXMiCisKKyN+IG1zZ2lkICJtb3VudDogbG9vcCBkZXZpY2Ugc3BlY2lmaWVkIHR3aWNlIgorI34gbXNnc3RyICJtb3VudDogY2jhu4kgcmEgaGFpIGzhuqduIHRoaeG6v3QgYuG7iyB2w7JuZyBs4bq3cCIKKworI34gbXNnaWQgIm1vdW50OiB0eXBlIHNwZWNpZmllZCB0d2ljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IGNo4buJIHJhIGhhaSBs4bqnbiBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiIKKworI34gbXNnaWQgIm1vdW50OiBza2lwcGluZyB0aGUgc2V0dXAgb2YgYSBsb29wIGRldmljZVxuIgorI34gbXNnc3RyICJtb3VudDogYuG7jyBxdWEgdmnhu4djIGPhuqV1IGjDrG5oIHRoaeG6v3QgYuG7iyB2w7JuZyBs4bq3cFxuIgorCisjfiBtc2dpZCAibW91bnQ6IGVuYWJsaW5nIGF1dG9jbGVhciBsb29wZGV2IGZsYWdcbiIKKyN+IG1zZ3N0ciAiZ+G6r246IGNobyBwaMOpcCB04buxIMSR4buZbmcgeMOzYSBj4budIHRoaeG6v3QgYuG7iyB2w7JuZyBs4bq3cCAobG9vcGRldilcbiIKKworI34gbXNnaWQgIm1vdW50OiBpbnZhbGlkIG9mZnNldCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibW91bnQ6IHNhaSB4w6FjIMSR4buLbmggZ2nDoSB0cuG7iyBjaMOqbmgg4oCcJXPigJ0iCisKKyN+IG1zZ2lkICJtb3VudDogaW52YWxpZCBzaXplbGltaXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW50OiBzYWkgeMOhYyDEkeG7i25oIGdp4bubaSBo4bqhbiBrw61jaCBj4buhIOKAnCVz4oCdIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlcyBhcyBsb29wIgorI34gbXNnc3RyICJtb3VudDogdGhlbyBuaMawIG10YWIgdGjDrCAlcyDEkcOjIGfhuq9uIHbDoG8gJXMgbMOgbSB2w7JuZyBs4bq3cCIKKworI34gbXNnaWQgImVuY3J5cHRpb24gbm90IHN1cHBvcnRlZCwgdXNlIGNyeXB0c2V0dXAoOCkgaW5zdGVhZCIKKyN+IG1zZ3N0ciAibcOjIGjDs2Ega2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MsIGjDo3kgZMO5bmcgY3J5cHRzZXR1cCg4KSDEkeG7gyB0aGF5IHRo4bq/IgorCisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BkZXYgY29udGV4dCIKKyN+IG1zZ3N0ciAibW91bnQ6IGfhurdwIGzhu5dpIGtoaSBraOG7n2kgdOG6oW8gbmfhu68gY+G6o25oIGxvb3BkZXYgKHRoaeG6v3QgYuG7iyB2w7JuZyBs4bq3cD8pIgorCisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byB1c2UgJXMgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudDogZ+G6t3AgbOG7l2kga2hpIGTDuW5nIHRoaeG6v3QgYuG7iyAlcyIKKworI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gZm91bmQgZnJlZSBsb29wIGRldmljZSIKKyN+IG1zZ3N0ciAiZ+G6r246IHTDrG0gY8OgaSDEkeG6t3QgdGhp4bq/dCBi4buLIHbDsm5nIGzhurdwIHLhuqNuaCBy4buXaSBraMO0bmcgdGjDoG5oIGPDtG5nIgorCisjfiBtc2dpZCAibW91bnQ6IGdvaW5nIHRvIHVzZSB0aGUgbG9vcCBkZXZpY2UgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHPhur0gc+G7rSBk4bulbmcgdGhp4bq/dCBi4buLIHbDsm5nIGzhurdwICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogJXM6IGZhaWxlZCB0byBzZXQgbG9vcGRldiBhdHRyaWJ1dGVzIgorI34gbXNnc3RyICJn4bqvbjogJXM6IMSR4bq3dCBjw6FjIHRodeG7mWMgdMOtbmggduG7gSAgdGhp4bq/dCBi4buLIHbDsm5nIGzhurdwIChsb29wZGV2KSBn4bq3cCBs4buXaSIKKworI34gbXNnaWQgIm1vdW50OiAlczogZmFpbGVkIHNldHRpbmcgdXAgbG9vcCBkZXZpY2U6ICVtIgorI34gbXNnc3RyICJtb3VudDogJXM6IGPDoGkgxJHhurd0IHRoaeG6v3QgYuG7iyB2w7JuZyBs4bq3cCBraMO0bmcgdGjDoG5oIGPDtG5nICVtIgorCisjfiBtc2dpZCAibW91bnQ6IHN0b2xlbiBsb29wPSVzIC4uLnRyeWluZyBhZ2FpblxuIgorI34gbXNnc3RyICJtb3VudDogc3RvbGVuIGxvb3A9JXMgKHbDsm5nIGzhurdwIGLhu4sgxINuIGPhuq9wKSBuw6puIHRo4butIGzhuqFpXG4iCisKKyN+IG1zZ2lkICJtb3VudDogc3RvbGVuIGxvb3A9JXMiCisjfiBtc2dzdHIgIm1vdW50OiBzdG9sZW4gbG9vcD0lcyAodsOybmcgbOG6t3AgYuG7iyDEg24gY+G6r3ApIgorCisjfiBtc2dpZCAibW91bnQ6IHNldHVwIGxvb3AgZGV2aWNlIHN1Y2Nlc3NmdWxseVxuIgorI34gbXNnc3RyICJtb3VudDogY8OgaSDEkeG6t3QgdGhp4bq/dCBi4buLIHbDsm5nIGzhurdwIHRow6BuaCBjw7RuZ1xuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vICVzIGZvdW5kIC0gY3JlYXRpbmcgaXQuLlxuIgorI34gbXNnc3RyICJtb3VudDoga2jDtG5nIHTDrG0gdGjhuqV5ICVzIC0gxJFhbmcgdOG6oW8uLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBvcGVuICVzIGZvciBzZXR0aW5nIHNwZWVkIgorI34gbXNnc3RyICJtb3VudDoga2jDtG5nIG3hu58gxJHGsOG7o2MgJXMgxJHhu4MgxJHhurd0IHThu5FjIMSR4buZIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgc3BlZWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDoga2jDtG5nIMSR4bq3dCDEkcaw4bujYyB04buRYyDEkeG7mTogJW0iCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorI34gbXNnc3RyICJtb3VudDogdGhlbyBuaMawIG10YWIgdGjDrCAlcyDEkcOjIGfhuq9uIHbDoG8gJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtd3JpdGUuXG4iCisjfiBtc2dzdHIgIm1vdW50OiBj4bqjbmggYsOhbzogY8OzIHbhursgbMOgICVzIMSRxrDhu6NjIGzhuq9wIMSR4buNYy1naGkuXG4iCisKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogJXMgc2VlbXMgdG8gYmUgbW91bnRlZCByZWFkLW9ubHkuXG4iCisjfiBtc2dzdHIgIm1vdW50OiBj4bqjbmggYsOhbzogY8OzIHbhursgbMOgICVzIMSRxrDhu6NjIGzhuq9wIGNo4buJLcSR4buNYy5cbiIKKworI34gbXNnaWQgIm1vdW50OiBJIGNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGZpbGVzeXN0ZW0gdHlwZSwgYW5kIG5vbmUgd2FzIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGtow7RuZyB0aOG7gyBuaOG6rW4gcmEga2nhu4N1IGjhu4cgdGjhu5FuZyB04bqtcCB0aW4sIHbDoCBuZ8aw4budaSBkw7luZyBraMO0bmcgY2jhu4kgcmEga2nhu4N1IG7DoG8iCisKKyN+IG1zZ2lkICJtb3VudDogeW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorI34gbXNnc3RyICJtb3VudDogY+G6p24gY2jhu4kgcsO1IGtp4buDdSBo4buHIHRo4buRbmcgdOG6rXAgdGluIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGfhuq9uIGtow7RuZyB0aMOgbmggY8O0bmciCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgaXMgbm90IGEgZGlyZWN0b3J5IgorI34gbXNnc3RyICJtb3VudDogxJFp4buDbSBn4bqvbiAlcyBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCB0aMawIG3hu6VjIgorCisjfiBtc2dpZCAibW91bnQ6IHBlcm1pc3Npb24gZGVuaWVkIgorI34gbXNnc3RyICJtb3VudDoga2jDtG5nIMSR4bunIHF1eeG7gW4gaOG6oW4iCisKKyN+IG1zZ2lkICJtb3VudDogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorI34gbXNnc3RyICJtb3VudDogY+G6p24gcGjhuqNpIGzDoCBzacOqdSBuZ8aw4budaSBkw7luZyAocm9vdCkgxJHhu4Mgc+G7rSBk4bulbmcgaMOgbSBtb3VudCIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBidXN5IgorI34gbXNnc3RyICJtb3VudDogJXMgxJFhbmcgYuG6rW4iCisKKyN+IG1zZ2lkICJtb3VudDogcHJvYyBhbHJlYWR5IG1vdW50ZWQiCisjfiBtc2dzdHIgIm1vdW50OiDEkcOjIGfhuq9uIHByb2MiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgYWxyZWFkeSBtb3VudGVkIG9yICVzIGJ1c3kiCisjfiBtc2dzdHIgIm1vdW50OiDEkcOjIGfhuq9uICVzIGhv4bq3YyAlcyDEkWFuZyBi4bqtbiIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBwb2ludCAlcyBkb2VzIG5vdCBleGlzdCIKKyN+IG1zZ3N0ciAibW91bnQ6IMSRaeG7g20gZ+G6r24gJXMga2jDtG5nIHThu5NuIHThuqFpIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIgorI34gbXNnc3RyICJtb3VudDogxJFp4buDbSBn4bqvbiAlcyBsw6AgbeG7mXQgbGnDqm4ga+G6v3QgbeG7gW0ga2jDtG5nIGNo4buJIHThu5tpIMSRw6J1IgorCisjfiBtc2dpZCAibW91bnQ6IHNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorI34gbXNnc3RyICJtb3VudDogdGhp4bq/dCBi4buLIMSR4bq3YyBiaeG7h3QgJXMga2jDtG5nIHThu5NuIHThuqFpIgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiBzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdFxuIgorI34gIiAgICAgICAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogdGhp4bq/dCBi4buLIMSR4bq3YyBiaeG7h3QgJXMga2jDtG5nIHThu5NuIHThuqFpXG4iCisjfiAiICAgICAgICh0aeG7gW4gdOG7kSBj4bunYSDEkcaw4budbmcgZOG6q24ga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgdGjGsCBt4bulYylcbiIKKworI34gbXNnaWQgIm1vdW50OiAlcyBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorI34gbXNnc3RyICJtb3VudDogJXMgY2jGsGEgZ+G6r24sIGhv4bq3YyB0w7l5IGNo4buNbiBzYWkiCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHdyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLFxuIgorI34gIiAgICAgICBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiBzYWkga2nhu4N1IGjhu4cgdGjhu5FuZyB04bqtcCB0aW4sIHTDuXkgY2jhu41uIHNhaSwgc2nDqnUga2jhu5FpIHNhaSB0csOqbiAlcyxcbiIKKyN+ICIgICAgICAgdGhp4bq/dSB0cmFuZyBtw6MgaGF5IGNoxrDGoW5nIHRyw6xuaCBi4buVIHRy4bujLCBob+G6t2MgbOG7l2kga2jDoWMiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIChmb3Igc2V2ZXJhbCBmaWxlc3lzdGVtcyAoZS5nLiBuZnMsIGNpZnMpIHlvdSBtaWdodFxuIgorI34gIiAgICAgICBuZWVkIGEgL3NiaW4vbW91bnQuPHR5cGU+IGhlbHBlciBwcm9ncmFtKSIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAoxJHhu5FpIHbhu5tpIHbDoGkgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiwgdi5kLiBuZnMsIGNpZnMsIGPDsyBs4bq9XG4iCisjfiAiICAgICAgIGLhuqFuIGPhuqduIGTDuW5nIOG7qW5nIGThu6VuZyBi4buVIHRy4bujIOKAnC9zYmluL21vdW50LjxraeG7g3U+4oCdLiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgKGNvdWxkIHRoaXMgYmUgdGhlIElERSBkZXZpY2Ugd2hlcmUgeW91IGluIGZhY3QgdXNlXG4iCisjfiAiICAgICAgIGlkZS1zY3NpIHNvIHRoYXQgc3IwIG9yIHNkYSBvciBzbyBpcyBuZWVkZWQ/KSIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAoY8OzIHRo4buDIMSRw6J5IGzDoCB0aGnhur90IGLhu4sgSURFIG3DoCB0csOqbiB0aOG7sWMgdOG6vyBz4butIGThu6VuZ1xuIgorI34gIiAgICAgICBpZGUtc2NzaSB2w6wgdGjhur8gY+G6p24gc3IwIGhv4bq3YyBzZGEgaG/hurdjIHTGsMahbmcgdOG7sT8pIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoYXJlbid0IHlvdSB0cnlpbmcgdG8gbW91bnQgYW4gZXh0ZW5kZWQgcGFydGl0aW9uLFxuIgorI34gIiAgICAgICBpbnN0ZWFkIG9mIHNvbWUgbG9naWNhbCBwYXJ0aXRpb24gaW5zaWRlPykiCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAgKGPDsyBwaOG6o2kgYuG6oW4gxJFhbmcgY+G7kSBn4bqvbiBt4buZdCBwaMOibiB2w7luZyBt4bufIHLhu5luZyxcbiIKKyN+ICIgICAgICAgY2jhu6kga2jDtG5nIHBo4bqjaSBt4buZdCBwaMOibiB2w7luZyBsw7Rnw61jIGLDqm4gdHJvbmcgbsOzPykiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gaXMgZm91bmQgaW4gc3lzbG9nIC0gdHJ5XG4iCisjfiAiICAgICAgIGRtZXNnIHwgdGFpbCAgb3Igc29cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICBUcm9uZyBt4buZdCBz4buRIHRyxrDhu51uZyBo4bujcCBjw7MgdGjhu4MgdMOsbSB0aOG6pXkgdGjDtG5nIHRpbiBjw7NcbiIKKyN+ICIgICAgICAgw61jaCB0cm9uZyBzeXNsb2cgLSBow6N5IHRo4butIGRtZXNnIHwgdGFpbCBob+G6t2MgdMawxqFuZyB04buxXG4iCisKKyN+IG1zZ2lkICJtb3VudDogJXM6IGNhbid0IHJlYWQgc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGtow7RuZyDEkeG7jWMgxJHGsOG7o2Mgc2nDqnUga2jhu5FpIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiB1bmtub3duIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzOiBraMO0bmcgaGnhu4N1IHRoaeG6v3QgYuG7iyIKKworI34gbXNnaWQgIm1vdW50OiB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSAnJXMnIgorI34gbXNnc3RyICJtb3VudDoga2jDtG5nIGhp4buDdSBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiDigJwlc+KAnSIKKworI34gbXNnaWQgIm1vdW50OiBwcm9iYWJseSB5b3UgbWVhbnQgJXMiCisjfiBtc2dzdHIgIm1vdW50OiBjw7MgdGjhu4MgbXXhu5FuIMSR4bq3dCAlcyIKKworI34gbXNnaWQgIm1vdW50OiBtYXliZSB5b3UgbWVhbnQgJ2lzbzk2NjAnPyIKKyN+IG1zZ3N0ciAibW91bnQ6IGPDsyB0aOG7gyBtdeG7kW4gxJHhurd0IOKAnGlzbzk2NjDigJ0uIgorCisjfiBtc2dpZCAibW91bnQ6IG1heWJlIHlvdSBtZWFudCAndmZhdCc/IgorI34gbXNnc3RyICJtb3VudDogY8OzIHBo4bqjaSDDvSBi4bqhbiBsw6Ag4oCcdmZhdOKAnT8iCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaGFzIHdyb25nIGRldmljZSBudW1iZXIgb3IgZnMgdHlwZSAlcyBub3Qgc3VwcG9ydGVkIgorI34gbXNnc3RyICJtb3VudDogJXMgY8OzIHPhu5EgaGnhu4d1IHRoaeG6v3QgYuG7iyBzYWkgaG/hurdjIGNoxrBhIGjhu5cgdHLhu6Mga2nhu4N1IGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gJXMiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCBmYWlscz8iCisjfiBtc2dzdHIgIm1vdW50OiAlcyBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCB0aGnhur90IGLhu4sga2jhu5FpLCB2w6Agc3RhdCAobOG6pXkgdHLhuqFuZyB0aMOhaSkga2jDtG5nIHRow6BuaCBjw7RuZz8iCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHRoZSBrZXJuZWwgZG9lcyBub3QgcmVjb2duaXplICVzIGFzIGEgYmxvY2sgZGV2aWNlXG4iCisjfiAiICAgICAgIChtYXliZSBgbW9kcHJvYmUgZHJpdmVyJz8pIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IGjhuqF0IG5ow6JuIGtow7RuZyBuaOG6rW4gcmEgJXMgbmjGsCBsw6AgdGhp4bq/dCBi4buLIGto4buRaVxuIgorI34gIiAgICAgICAoY8OzIHRo4buDIHRo4butIOKAnG1vZHByb2JlIGRyaXZlcuKAnS4pIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSAobWF5YmUgdHJ5IGAtbyBsb29wJz8pIgorI34gbXNnc3RyICJtb3VudDogJXMga2jDtG5nIHBo4bqjaSBsw6AgdGhp4bq/dCBi4buLIGto4buRaSAoY8OzIHRo4buDIGjDo3kgdGjhu60g4oCcLW8gbG9vcOKAnS4pIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGtow7RuZyBwaOG6o2kgbMOgIHRoaeG6v3QgYuG7iyBraOG7kWkiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgdmFsaWQgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudDogJXMga2jDtG5nIHBo4bqjaSBsw6AgdGhp4bq/dCBi4buLIGto4buRaSB0aMOtY2ggaOG7o3AiCisKKyN+IG1zZ2lkICJibG9jayBkZXZpY2UgIgorI34gbXNnc3RyICJ0aGnhur90IGLhu4sga2jhu5FpICIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgbW91bnQgJXMlcyByZWFkLW9ubHkiCisjfiBtc2dzdHIgIm1vdW50OiBraMO0bmcgZ+G6r24gxJHGsOG7o2MgJXMlcyB24bubaSBjaOG6vyDEkeG7mSBjaOG7iS3EkeG7jWMiCisKKyN+IG1zZ2lkICJtb3VudDogJXMlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IGAtdycgZmxhZyBnaXZlbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzJXMgxJHGsOG7o2MgYuG6o28gduG7hyBraOG7j2kgZ2hpIG5oxrBuZyDEkcawYSByYSBj4budIOKAnC134oCdICh3cml0ZSwgZ2hpKSIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgcmVtb3VudCAlcyVzIHJlYWQtd3JpdGUsIGlzIHdyaXRlLXByb3RlY3RlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGtow7RuZyB0aOG7gyBs4bqvcCBs4bqhaSAlcyVzIMSR4buNYy1naGkgdsOsIG7DsyBj4bqlbSBnaGkiCisKKyN+IG1zZ2lkICJtb3VudDogJXMlcyBpcyB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50aW5nIHJlYWQtb25seSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzJXMgxJHGsOG7o2MgYuG6o28gduG7hyBraOG7j2kgZ2hpLCDEkWFuZyBn4bqvbiBjaOG7iS3EkeG7jWMiCisKKyN+IG1zZ2lkICJtb3VudDogbm8gbWVkaXVtIGZvdW5kIG9uICVzIgorI34gbXNnc3RyICJtb3VudDoga2jDtG5nIHTDrG0gdGjhuqV5IHbhuq10IGNo4bupYSB0csOqbiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBubyB0eXBlIHdhcyBnaXZlbiAtIEknbGwgYXNzdW1lIG5mcyBiZWNhdXNlIG9mIHRoZSBjb2xvblxuIgorI34gbXNnc3RyICJtb3VudDoga2jDtG5nIMSRxrBhIHJhIGtp4buDdSBo4buHIHRo4buRbmcgdOG6rXAgdGluIG7Dqm4gY29pIG5oxrAgbmZzIHbDrCBjw7MgZOG6pXUgaGFpIGNo4bqlbVxuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHR5cGUgd2FzIGdpdmVuIC0gSSdsbCBhc3N1bWUgY2lmcyBiZWNhdXNlIG9mIHRoZSAvLyBwcmVmaXhcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGtow7RuZyDEkcawYSByYSBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBuw6puIGdp4bqjIHPhu60gc21iZnMgdsOsIGPDsyAvLyDEkeG6sW5nIHRyxrDhu5tjXG4iCisKKyN+IG1zZ2lkICJtb3VudDogaWdub3JlICVzICh1bnBhcnNhYmxlIG9mZnNldD0gb3B0aW9uKVxuIgorI34gbXNnc3RyICJn4bqvbjogbOG7nSDEkWkgJXMgKGtow7RuZyB0aOG7gyBwaMOibiB0w61jaCDEkcaw4bujYyBvZmZzZXQ9IHTDuXkgY2jhu41uKVxuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorI34gbXNnc3RyICJtb3VudDogxJHDoyBn4bqvbiAlcyB0csOqbiAlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiBtb3VudCAtViAgICAgICAgICAgICAgICAgOiBwcmludCB2ZXJzaW9uXG4iCisjfiAiICAgICAgIG1vdW50IC1oICAgICAgICAgICAgICAgICA6IHByaW50IHRoaXMgaGVscFxuIgorI34gIiAgICAgICBtb3VudCAgICAgICAgICAgICAgICAgICAgOiBsaXN0IG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKKyN+ICIgICAgICAgbW91bnQgLWwgICAgICAgICAgICAgICAgIDogaWRlbSwgaW5jbHVkaW5nIHZvbHVtZSBsYWJlbHNcbiIKKyN+ICJTbyBmYXIgdGhlIGluZm9ybWF0aW9uYWwgcGFydC4gTmV4dCB0aGUgbW91bnRpbmcuXG4iCisjfiAiVGhlIGNvbW1hbmQgaXMgYG1vdW50IFstdCBmc3R5cGVdIHNvbWV0aGluZyBzb21ld2hlcmUnLlxuIgorI34gIkRldGFpbHMgZm91bmQgaW4gL2V0Yy9mc3RhYiBtYXkgYmUgb21pdHRlZC5cbiIKKyN+ICIgICAgICAgbW91bnQgLWEgWy10fC1PXSAuLi4gICAgIDogbW91bnQgYWxsIHN0dWZmIGZyb20gL2V0Yy9mc3RhYlxuIgorI34gIiAgICAgICBtb3VudCBkZXZpY2UgICAgICAgICAgICAgOiBtb3VudCBkZXZpY2UgYXQgdGhlIGtub3duIHBsYWNlXG4iCisjfiAiICAgICAgIG1vdW50IGRpcmVjdG9yeSAgICAgICAgICA6IG1vdW50IGtub3duIGRldmljZSBoZXJlXG4iCisjfiAiICAgICAgIG1vdW50IC10IHR5cGUgZGV2IGRpciAgICA6IG9yZGluYXJ5IG1vdW50IGNvbW1hbmRcbiIKKyN+ICJOb3RlIHRoYXQgb25lIGRvZXMgbm90IHJlYWxseSBtb3VudCBhIGRldmljZSwgb25lIG1vdW50c1xuIgorI34gImEgZmlsZXN5c3RlbSAob2YgdGhlIGdpdmVuIHR5cGUpIGZvdW5kIG9uIHRoZSBkZXZpY2UuXG4iCisjfiAiT25lIGNhbiBhbHNvIG1vdW50IGFuIGFscmVhZHkgdmlzaWJsZSBkaXJlY3RvcnkgdHJlZSBlbHNld2hlcmU6XG4iCisjfiAiICAgICAgIG1vdW50IC0tYmluZCBvbGRkaXIgbmV3ZGlyXG4iCisjfiAib3IgbW92ZSBhIHN1YnRyZWU6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbW92ZSBvbGRkaXIgbmV3ZGlyXG4iCisjfiAiT25lIGNhbiBjaGFuZ2UgdGhlIHR5cGUgb2YgbW91bnQgY29udGFpbmluZyB0aGUgZGlyZWN0b3J5IGRpcjpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNsYXZlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcHJpdmF0ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXVuYmluZGFibGUgZGlyXG4iCisjfiAiT25lIGNhbiBjaGFuZ2UgdGhlIHR5cGUgb2YgYWxsIHRoZSBtb3VudHMgaW4gYSBtb3VudCBzdWJ0cmVlXG4iCisjfiAiY29udGFpbmluZyB0aGUgZGlyZWN0b3J5IGRpcjpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzaGFyZWQgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1yc2xhdmUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ycHJpdmF0ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJ1bmJpbmRhYmxlIGRpclxuIgorI34gIkEgZGV2aWNlIGNhbiBiZSBnaXZlbiBieSBuYW1lLCBzYXkgL2Rldi9oZGExIG9yIC9kZXYvY2Ryb20sXG4iCisjfiAib3IgYnkgbGFiZWwsIHVzaW5nICAtTCBsYWJlbCAgb3IgYnkgdXVpZCwgdXNpbmcgIC1VIHV1aWQgLlxuIgorI34gIk90aGVyIG9wdGlvbnM6IFstbmZGcnN2d10gWy1vIG9wdGlvbnNdIFstcCBwYXNzd2RmZF0uXG4iCisjfiAiRm9yIG1hbnkgbW9yZSBkZXRhaWxzLCBzYXkgIG1hbiA4IG1vdW50IC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkPDoWNoIGTDuW5nOiBtb3VudCAtViAgICAgICAgICAgICA6IGluIHJhIHBoacOqbiBi4bqjblxuIgorI34gIiAgICAgICAgICAgbW91bnQgLWggICAgICAgICAgICAgOiBpbiByYSB0cuG7oyBnacO6cCBuw6B5XG4iCisjfiAiICAgICAgICAgICBtb3VudCAgICAgICAgICAgICAgICA6IGxp4buHdCBrw6ogY8OhYyBo4buHIHRo4buRbmcgdOG6rXAgdGluIMSRw6MgZ+G6r25cbiIKKyN+ICIgICAgICAgICAgIG1vdW50IC1sICAgICAgICAgICAgIDogbmjGsCB0csOqbiwgYmFvIGfhu5NtIGPhuqMgbmjDo24ga2jhu5FpIHRpblxuIgorI34gIlxuIgorI34gIlBo4bqnbiB0csaw4bubYyBsw6AgcGjhuqduIHRow7RuZyB0aW4uIFRp4bq/cCB0aGVvIGfhuq9uLlxuIgorI34gIkPDonUgbOG7h25oIGzDoDpcbiIKKyN+ICJcdG1vdW50IFstdCBraeG7g3VfaOG7h190aOG7kW5nX3Thuq1wX3Rpbl0gbeG7pWMgduG7i190csOtLlxuIgorI34gIlxuIgorI34gIkNoaSB0aeG6v3QgdMOsbSB0aOG6pXkgdHJvbmcg4oCcL2V0Yy9mc3RhYuKAnSBjw7MgdGjhu4MgYuG7iyBi4buPIMSRaS5cbiIKKyN+ICIgICAgICAgbW91bnQgLWEgWy10fC1PXSDigKYgICAgICAgOiBn4bqvbiBt4buNaSB0aOG7qSB04burIOKAnC9ldGMvZnN0YWLigJ1cbiIKKyN+ICIgICAgICAgbW91bnQgdGhp4bq/dF9i4buLICAgICAgICAgICA6IGfhuq9uIHRoaeG6v3QgYuG7iyBuw6B5IHbDoG8gbsahaSDEkcOjIGJp4bq/dFxuIgorI34gIiAgICAgICBtb3VudCB0aMawX23hu6VjICAgICAgICAgICAgOiBn4bqvbiB0aGnhur90IGLhu4sgxJHDoyBiaeG6v3QgdsOgbyB0aMawIG3hu6VjIG7DoHlcbiIKKyN+ICIgICAgICAgbW91bnQgLXQga2nhu4N1IHRoaeG6v3RfYuG7iyB0aMawX23hu6VjOiBjw6J1IGzhu4duaCBn4bqvbiBjaHXhuqluXG4iCisjfiAiXG4iCisjfiAiQ2jDuiDDvSBy4bqxbmcgbmfGsOG7nWkgZMO5bmcga2jDtG5nIHRo4buxYyBz4buxIGfhuq9uIG3hu5l0IHRoaeG6v3QgYuG7iywgbcOgIGfhuq9uIGjhu4cgdGjhu5FuZ1xuIgorI34gInThuq1wIHRpbiAoduG7m2kga2nhu4N1IMSRxrBhIHJhKSB0w6xtIHRo4bqleSB0csOqbiB0aGnhur90IGLhu4suXG4iCisjfiAiTmfGsOG7nWkgZMO5bmcgY8WpbmcgY8OzIHRo4buDIGfhuq9uIGPDonkgdGjGsCBt4bulYyDEkcOjIGfhuq9uIHbDoG8gbsahaSBraMOhYzpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1iaW5kIHRoxrBfbeG7pWNfY8WpIHRoxrBfbeG7pWNfbeG7m2lcbiIKKyN+ICJob+G6t2MgZGkgY2h1eeG7g24gbeG7mXQgY8OieSB0aMawIG3hu6VjIGNvbjpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tb3ZlIHRoxrBfbeG7pWNfY8WpIHRoxrBfbeG7pWNfbeG7m2lcbiIKKyN+ICJcbiIKKyN+ICJDxaluZyBjw7MgdGjhu4MgdGhheSDEkeG7lWkga2nhu4N1IMSR4buTIGfhuq9uIGNo4bupYSB0aMawIG3hu5l0IG3hu6VjIG7DoG8gxJHDszpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNoYXJlZCB0aMawX23hu6VjXHRraGnhur9uIMSR4buTIGfhuq9uIGTDuW5nIGNodW5nXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1zbGF2ZSB0aMawX23hu6VjXHRraGnhur9uIMSR4buTIGfhuq9uIHBo4bulXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1wcml2YXRlIHRoxrBfbeG7pWNcdGtoaeG6v24gxJHhu5MgZ+G6r24gcmnDqm5nXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS11bmJpbmRhYmxlIHRoxrBfbeG7pWMgICAga2hp4bq/biB0aMawIG3hu6VjIGtow7RuZyB0aOG7gyDEkcOzbmcga+G6v3RcbiIKKyN+ICJcbiIKKyN+ICJDxaluZyBjw7MgdGjhu4MgdGhheSDEkeG7lWkga2nhu4N1IGPhu6dhIG3hu41pIMSR4buTIGfDoW4gdHJvbmcgY8O5bmcgbeG7mXQgY8OieSBjb24gZ+G6r25cbiIKKyN+ICJjaOG7qWEgbeG7mXQgdGjGsCBt4bulYyBuw6BvIMSRw7M6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1yc2hhcmVkIHRoxrBfbeG7pWNcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzbGF2ZSB0aMawX23hu6VjXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ycHJpdmF0ZSB0aMawX23hu6VjXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ydW5iaW5kYWJsZSB0aMawX23hu6VjXG4iCisjfiAiXG4iCisjfiAiQ8OzIHRo4buDIHjDoWMgxJHhu4tuaCB0aGnhur90IGLhu4sgdGhlbyB0w6puICh2LmQuIOKAnC9kZXYvaGRhMeKAnSBoYXkg4oCcL2Rldi9jZHJvbeKAnSxcbiIKKyN+ICJob+G6t2MgdGhlbyBuaMOjbiwgZMO5bmcgdMO5eSBjaOG7jW4g4oCcLUwgbmjDo27igJ0sXG4iCisjfiAiaG/hurdjIHRoZW8gVVVJRCwgZMO5bmcgdMO5eSBjaOG7jW4g4oCcLVUgVVVJROKAnSAuXG4iCisjfiAiXG4iCisjfiAiVMO5eSBjaOG7jW4ga2jDoWM6IFstbmZGcnN2d10gWy1vIHTDuXlfY2jhu41uXSBbLXAgdGjGsF9t4bulY19jaOG7qWFfdOG6rXBfdGluX23huq10X2to4bqpdV0uXG4iCisjfiAixJDhu4MgeGVtIHLhuqV0IG5oaeG7gXUgY2hpIHRp4bq/dCwgZMO5bmcgbOG7h25oIOKAnG1hbiA4IG1vdW504oCdLlxuIgorCisjfiBtc2dpZCAiLS1wYXNzLWZkIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQiCisjfiBtc2dzdHIgIlTDuXkgY2jhu41uIC0tcGFzcy1mZCBraMO0bmcgY8OybiDEkcaw4bujYyBo4buXIHRy4bujIG7hu69hLiIKKworI34gbXNnaWQgIm1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorI34gbXNnc3RyICJtb3VudDogY2jhu4kgbmfGsOG7nWkgY2jhu6cgKHJvb3QpIGPDsyBxdXnhu4FuIGzDoG0gxJHDsyAoVUlEIGPDsyBr4bq/dCBxdeG6oyBsw6AgJXUpIgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKKyN+IG1zZ3N0ciAibW91bnQ6IGNo4buJIHNpw6p1IG5nxrDhu51pIGTDuW5nIChyb290KSBt4bubaSBjw7MgcXV54buBbiB0aOG7sWMgaGnhu4duIgorCisjfiBtc2dpZCAibm90aGluZyB3YXMgbW91bnRlZCIKKyN+IG1zZ3N0ciAia2jDtG5nIGfhuq9uIGfDrCBj4bqjIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHN1Y2ggcGFydGl0aW9uIGZvdW5kIgorI34gbXNnc3RyICJtb3VudDoga2jDtG5nIHTDrG0gdGjhuqV5IHBow6JuIHbDuW5nIG5oxrAgduG6rXkiCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3QgZmluZCAlcyBpbiAlcyBvciAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGtow7RuZyB0w6xtIHRo4bqleSAlcyB0cm9uZyAlcyBob+G6t2MgJXMiCisKKyN+IG1zZ2lkICJbbW50ZW50XTogd2FybmluZzogbm8gZmluYWwgbmV3bGluZSBhdCB0aGUgZW5kIG9mICVzXG4iCisjfiBtc2dzdHIgIlttbnRlbnRdOiBj4bqjbmggYsOhbzoga2jDtG5nIGPDsyBkw7JuZyBt4bubaSDEkeG6t3Qg4bufIGN14buRaSAlc1xuIgorCisjfiBtc2dpZCAiW21udGVudF06IGxpbmUgJWQgaW4gJXMgaXMgYmFkJXNcbiIKKyN+IG1zZ3N0ciAiW21udGVudF06IGTDsm5nICVkIHRyb25nICVzIHNhaSAlc1xuIgorCisjfiBtc2dpZCAiOyByZXN0IG9mIGZpbGUgaWdub3JlZCIKKyN+IG1zZ3N0ciAiOyBi4buPIHF1YSBwaOG6p24gY8OybiBs4bqhaSBj4bunYSB04bqtcCB0aW4iCisKKyN+IG1zZ2lkICJub3QgZW5vdWdoIG1lbW9yeSIKKyN+IG1zZ3N0ciAia2jDtG5nIMSR4bunIGLhu5kgbmjhu5siCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNvbXBpbGVkIHdpdGhvdXQgc3VwcG9ydCBmb3IgLWZcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiBraMO0bmcgYmnDqm4gZOG7i2NoIGjhu5cgdHLhu6MgLWZcbiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IHNldCBncm91cCBpZDogJW0iCisjfiBtc2dzdHIgInVtb3VudDoga2jDtG5nIMSR4bq3dCDEkcaw4bujYyBpZCBuaMOzbTogJW0iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBzZXQgdXNlciBpZDogJW0iCisjfiBtc2dzdHIgInVtb3VudDoga2jDtG5nIMSR4bq3dCDEkcaw4bujYyBpZCBuZ8aw4budaSBkw7luZzogJW0iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBmb3JrOiAlcyIKKyN+IG1zZ3N0ciAidW1vdW50OiBraMO0bmcgdGjhu4MgcGjDom4gbmjDoW5oICVzIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogaW52YWxpZCBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IHRoaeG6v3QgYuG7iyBraOG7kWkga2jDtG5nIGjhu6NwIGzhu4ciCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBub3QgbW91bnRlZCIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogY2jGsGEgZ+G6r24iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBraMO0bmcgdGjhu4MgZ2hpIHNpw6p1IGto4buRaSIKKworI34gbXNnaWQgIiIKKyN+ICJ1bW91bnQ6ICVzOiBkZXZpY2UgaXMgYnVzeS5cbiIKKyN+ICIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0IHVzZVxuIgorI34gIiAgICAgICAgIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKSkiCisjfiBtc2dzdHIgIiIKKyN+ICJ1bW91bnQ6ICVzOiB0aGnhur90IGLhu4sgxJFhbmcgYuG6rW4uXG4iCisjfiAiXHQoVHJvbmcgbeG7mXQgc+G7kSB0csaw4budbmcgaOG7o3AgbsOgbyDEkcOzLFxuIgorI34gIlx0aMOgbSBsc29mKDgpIGhv4bq3YyBmdXNlcigxKSBjw7MgdGjhu4MgdMOsbVxuIgorI34gIlx0dGjDtG5nIHRpbiBjw7Mgw61jaCB24buBIGPDoWMgdGnhur9uIHRyw6xuaCDEkWFuZyBkw7luZyB0aGnhur90IGLhu4suIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogbm90IGZvdW5kIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBraMO0bmcgdMOsbSB0aOG6pXkiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBtdXN0IGJlIHN1cGVydXNlciB0byB1bW91bnQiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IHBo4bqjaSBsw6Agc2nDqnUgbmfGsOG7nWkgZMO5bmcgKHJvb3QpIMSR4buDIGLhu48gZ+G6r24iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBibG9jayBkZXZpY2VzIG5vdCBwZXJtaXR0ZWQgb24gZnMiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IHRoaeG6v3QgYuG7iyBraOG7kWkga2jDtG5nIGNobyBwaMOpcCB0csOqbiBo4buHIHRo4buRbmcgdOG6rXAgdGluIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogJXMiCisjfiBtc2dzdHIgInVtb3VudDogJXM6ICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBpbnRlcm5hbCBlcnJvcjogaW52YWxpZCBhYnMgcGF0aDogJXMiCisjfiBtc2dzdHIgImfhuq9uOiBs4buXaSBu4buZaSBi4buZOiDEkcaw4budbmcgZOG6q24gdHV54buHdCDEkeG7kWkga2jDtG5nIGjhu6NwIGzhu4c6ICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gY2hkaXIgdG8gJXM6ICVtIgorI34gbXNnc3RyICJraMO0bmcgY2h1eeG7g24gdGjGsCBt4bulYyDEkeG6v24gJXM6ICVtIgorCisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gb2J0YWluIGN1cnJlbnQgZGlyZWN0b3J5OiAlbSIKKyN+IG1zZ3N0ciAidW1vdW50OiBn4bq3cCBs4buXaSBraGkgbOG6pXkgdGjGsCBt4bulYyBoaeG7h24gaMOgbmg6ICVtIgorCisjfiBtc2dpZCAidW1vdW50OiBtb3VudHBvaW50IG1vdmVkICglcyAtPiAlcykiCisjfiBtc2dzdHIgInVtb3VudDogxJFp4buDbSBn4bqvbiDEkcOjIGLhu4sgZGkgY2h1eeG7g24gKCVzIC0+ICVzKSIKKworI34gbXNnaWQgImN1cnJlbnQgZGlyZWN0b3J5IG1vdmVkIHRvICVzXG4iCisjfiBtc2dzdHIgInRoxrAgbeG7pWMgaGnhu4duIGjDoG5oIMSRxrDhu6NjIGRpIGNodXnhu4NuIMSR4bq/biAlc1xuIgorCisjfiBtc2dpZCAibm8gdW1vdW50MiwgdHJ5aW5nIHVtb3VudC4uLlxuIgorI34gbXNnc3RyICJraMO0bmcgY8OzIHVtb3VudDIsIMSRYW5nIHRo4butIHVtb3VudC4uXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGJ1c3kgLSByZW1vdW50ZWQgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgYuG6rW4gLSBn4bqvbiBs4bqhaSBjaOG7iS3EkeG7jWNcbiIKKworI34gbXNnaWQgInVtb3VudDogY291bGQgbm90IHJlbW91bnQgJXMgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDoga2jDtG5nIHRo4buDIGfhuq9uIGzhuqFpICVzIGNo4buJLcSR4buNY1xuIgorCisjfiBtc2dpZCAiJXMgaGFzIGJlZW4gdW5tb3VudGVkXG4iCisjfiBtc2dzdHIgIiVzIMSRw6MgYuG7jyBn4bqvblxuIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgZmluZCBsaXN0IG9mIGZpbGVzeXN0ZW1zIHRvIHVubW91bnQiCisjfiBtc2dzdHIgInVtb3VudDoga2jDtG5nIHTDrG0gdGjhuqV5IGRhbmggc8OhY2ggaOG7hyB0aOG7kW5nIHThuq1wIHRpbiDEkeG7gyBi4buPIGfhuq9uIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiB1bW91bnQgLWggfCAtVlxuIgorI34gIiAgICAgICB1bW91bnQgLWEgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIFstdCB2ZnN0eXBlc10gWy1PIG9wdHNdXG4iCisjfiAiICAgICAgIHVtb3VudCBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gc3BlY2lhbCB8IG5vZGUuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkPDoWNoIGTDuW5nOnVtb3VudCAtaCB8IC1WXG4iCisjfiAiICAgICAgICAgIHVtb3VudCAtYSBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gWy10IGtp4buDdV9WRlMg4oCmXSBbLU8gdHXhu7NfY2jhu41uIOKApl1cbiIKKyN+ICIgICAgICAgICAgdW1vdW50IFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBzcGVjaWFsIHwgbm9kZeKAplxuIgorI34gIlxuIgorI34gInNwZWNpYWxcdMSR4bq3YyBiaeG7h3RcbiIKKyN+ICJub2RlXHRuw7p0XG4iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJ29mZnNldD0lcycgb3B0aW9uc1xuIgorI34gbXNnc3RyICJwaMOibiB0w61jaCB0w7l5IGNo4buNbiDigJxvZmZzZXQ9JXPigJ0gZ+G6t3AgbOG7l2lcbiIKKworI34gbXNnaWQgImRldmljZSAlcyBpcyBhc3NvY2lhdGVkIHdpdGggJXNcbiIKKyN+IG1zZ3N0ciAidGhp4bq/dCBi4buLICVzIHTGsMahbmcg4bupbmcgduG7m2kgJXNcbiIKKworI34gbXNnaWQgImRldmljZSAlcyBpcyBub3QgYXNzb2NpYXRlZCB3aXRoICVzXG4iCisjfiBtc2dzdHIgInRoaeG6v3QgYuG7iyAlcyBraMO0bmcgdMawxqFuZyDhu6luZyB24bubaSAlc1xuIgorCisjfiBtc2dpZCAiQ2Fubm90IHVubW91bnQgXCJcIlxuIgorI34gbXNnc3RyICJLaMO0bmcgYuG7jyBn4bqvbiDEkcaw4bujYyBcIlwiXG4iCisKKyN+IG1zZ2lkICJUcnlpbmcgdG8gdW5tb3VudCAlc1xuIgorI34gbXNnc3RyICLEkGFuZyB0aOG7rSBi4buPIGfhuq9uICVzXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNvbmZ1c2VkIHdoZW4gYW5hbHl6aW5nIG10YWIiCisjfiBtc2dzdHIgInVtb3VudDogYmnMoyBsw6LMg24gbMO0zKNuIGtoaSBwaMOibiB0w61jaCBtdGFiIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgdW5tb3VudCAlcyAtLSAlcyBpcyBtb3VudGVkIG92ZXIgaXQgb24gdGhlIHNhbWUgcG9pbnQiCisjfiBtc2dzdHIgInVtb3VudDoga2jDtG5nIHRo4buDIHRow6FvIGfhuq9uIGvhur90ICVzIOKAlCAlcyDEkcaw4bujYyBn4bqvbiBr4bq/dCDhu58gdHLDqm4gbsOzIOG7nyBjw7luZyBt4buZdCDEkWnhu4NtLiIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBmaW5kICVzIGluIG10YWJcbiIKKyN+IG1zZ3N0ciAiS2jDtG5nIHTDrG0gdGjhuqV5ICVzIHRyb25nIG10YWJcbiIKKworI34gbXNnaWQgInVtb3VudDogd2FybmluZzogJXMgaXMgYXNzb2NpYXRlZCB3aXRoIG1vcmUgdGhhbiBvbmUgbG9vcCBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiYuG7jyBn4bqvbjogY+G6o25oIGLDoW86ICVzIMSRxrDhu6NjIHRp4bq/cCBo4bujcCB24bubaSBuaGnhu4F1IGjGoW4gbeG7mXQgdGhp4bq/dCBi4buLIHbDsm5nIGzhurdwXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGlzIG5vdCBtb3VudGVkIChhY2NvcmRpbmcgdG8gbXRhYikiCisjfiBtc2dzdHIgInVtb3VudDogJXMgY2jGsGEgZ+G6r24gKHRoZW8gbXRhYikiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGl0IHNlZW1zICVzIGlzIG1vdW50ZWQgbXVsdGlwbGUgdGltZXMiCisjfiBtc2dzdHIgInVtb3VudDogY8OzIHbhursgbMOgICVzIMSRxrDhu6NjIGfhuq9uIG5oaeG7gXUgbOG6p24iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGlzIG5vdCBpbiB0aGUgZnN0YWIgKGFuZCB5b3UgYXJlIG5vdCByb290KSIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBraMO0bmcgY8OzIHRyb25nIGZzdGFiICh2w6AgbmfGsOG7nWkgZMO5bmcga2jDtG5nIHBo4bqjaSBsw6Agcm9vdCkiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIG1vdW50IGRpc2FncmVlcyB3aXRoIHRoZSBmc3RhYiIKKyN+IG1zZ3N0ciAidW1vdW50OiBn4bqvbiAlcyBraMO0bmcgdMawxqFuZyDhu6luZyBmc3RhYiIKKworI34gbXNnaWQgInVtb3VudDogb25seSAlcyBjYW4gdW5tb3VudCAlcyBmcm9tICVzIgorI34gbXNnc3RyICJ1bW91bnQ6IGNo4buJIGPDsyAlcyBjw7MgdGjhu4MgYuG7jyBn4bqvbiAlcyB04burICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCisjfiBtc2dzdHIgInVtb3VudDogY2jhu4kgbmfGsOG7nWkgY2jhu6cgKHJvb3QpIGPDsyBxdXnhu4FuIHRo4buxYyBoaeG7h24iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiJTEkcyAtIHNldHMgb3IgZ2V0cyBwcm9jZXNzIGlvIHNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5LlxuIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAgJTEkcyBbT1BUSU9OXSAtcCBQSUQgW1BJRC4uLl1cbiIKKyN+ICIgICUxJHMgW09QVElPTl0gQ09NTUFORFxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiICAtYywgLS1jbGFzcyA8Y2xhc3M+ICAgc2NoZWR1bGluZyBjbGFzcyBuYW1lIG9yIG51bWJlclxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IG5vbmUsIDE6IHJlYWx0aW1lLCAyOiBiZXN0LWVmZm9ydCwgMzogaWRsZVxuIgorI34gIiAgLW4sIC0tY2xhc3NkYXRhIDxudW0+IHNjaGVkdWxpbmcgY2xhc3MgZGF0YVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDAtNyBmb3IgcmVhbHRpbWUgYW5kIGJlc3QtZWZmb3J0IGNsYXNzZXNcbiIKKyN+ICIgIC1wLCAtLXBpZD1QSUQgICAgICAgICB2aWV3IG9yIG1vZGlmeSBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc1xuIgorI34gIiAgLXQsIC0taWdub3JlICAgICAgICAgIGlnbm9yZSBmYWlsdXJlc1xuIgorI34gIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiICAtaCwgLS1oZWxwICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIiUxJHMgLSDEkeG6t3QgaGF5IGzhuqV5IHRp4bq/biB0csOsbmggbOG7m3AgbOG6rXAgbOG7i25oIHbDoG8gcmEgdsOgIG3hu6ljIMawdSB0acOqbi5cbiIKKyN+ICJcbiIKKyN+ICJDw6FjaCBkw7luZzpcbiIKKyN+ICIgICUxJHMgW1RV4buyX0NI4buMTl0gLXAgUElEIFtQSUTigKZdXG4iCisjfiAiICAlMSRzIFtUVeG7sl9DSOG7jE5dIEzhu4ZOSFxuIgorI34gIlxuIgorI34gIkPDoWMgdMO5eSBjaOG7jW46XG4iCisjfiAiICAtYywgLS1jbGFzcyA8Y2xhc3M+ICAgdMOqbiBoYXkgc+G7kSBj4bunYSBs4bubcCBs4buLY2ggYmnhu4N1XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgMDoga2jDtG5nLCAxOiB0aOG7nWkgZ2lhbiB0aOG7sWMsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCisjfiAiICAtbiwgLS1jbGFzc2RhdGEgPG51bT4gZOG7ryBsaeG7h3UgY+G7p2EgbOG7m3AgbOG7i2NoIGJp4buDdVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDAtNyBjaG8gbOG7m3AgaOG7hyB0aOG7kW5nIHRo4budaSBnaWFuIHRo4buxYyB2w6AgYmVzdC1lZmZvcnRcbiIKKyN+ICIgIC1wLCAtLXBpZD1QSUQgICAgICAgICBoaeG7g24gdGjhu4sgaGF5IGNo4buJbmggc+G7rWEgdGnhur9uIHRyw6xuaCDEkcOjIGNo4bqheSBz4bq1biBy4buTaVxuIgorI34gIiAgLXQsIC0taWdub3JlICAgICAgICAgIGzhu50gxJFpIGPDoWMgdGjhuqV0IGLhuqFpXG4iCisjfiAiICAtViwgLS12ZXJzaW9uICAgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorI34gIiAgLWgsIC0taGVscCAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IHLhu5NpIHRob8OhdFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8dHR5PiBbLi4uXVxuIgorI34gbXNnc3RyICIgJXMgW3TDuXkgY2jhu41uXSA8dHR5PiBb4oCmXVxuIgorCisjfiBtc2dpZCAiIC1zLCAtLXNldC10aHJlc2hvbGQgPG51bT4gICAgICAgICAgc2V0IGludGVycnVwdGlvbiB0aHJlc2hvbGQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAiIC1zLCAtLXNldC10aHJlc2hvbGQgPHPhu5E+ICAgICAgICAgICDEkeG6t3QgZ2nDoSB0cuG7iyBuZ8aw4buhbmcgbmfhuq90XG4iCisKKyN+IG1zZ2lkICIgLVMsIC0tc2V0LWRlZmF1bHQtdGhyZXNob2xkIDxudW0+ICBzZXQgZGVmYXVsdCB0aHJlc2hvbGQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAiIC1TLCAtLXNldC1kZWZhdWx0LXRocmVzaG9sZCA8c+G7kT4gICDEkeG6t3QgZ2nDoSB0cuG7iyBuZ8aw4buhbmcgbeG6t2MgxJHhu4tuaFxuIgorCisjfiBtc2dpZCAiIC10LCAtLXNldC1mbHVzaCA8bnVtPiAgICAgICAgICAgICAgc2V0IGZsdXNoIHRpbWVvdXQgdG8gdmFsdWVcbiIKKyN+IG1zZ3N0ciAiIC10LCAtLXNldC1mbHVzaCA8c+G7kT4gICAgICAgICAgICAgICDEkeG6t3QgdGjhu51pIGdpYW4gcXXDoSBnaeG7nSBjaG8gZmx1c2hcbiIKKworI34gbXNnaWQgIiAtVCwgLS1zZXQtZGVmYXVsdC1mbHVzaCA8bnVtPiAgICAgIHNldCB0aGUgZGVmYXVsdCBmbHVzaCB0aW1lb3V0IHRvIHZhbHVlXG4iCisjfiBtc2dzdHIgIiAtVCwgLS1zZXQtZGVmYXVsdC1mbHVzaCA8c+G7kT4gICAgICAgxJHhurd0IGdpw6EgdHLhu4sgcXXDoSBnaeG7nSBt4bq3YyDEkeG7i25oIGNobyBmbHVzaFxuIgorCisjfiBtc2dpZCAiIC1pLCAtLWludGVydmFsIDxzZWNvbmRzPiAgICAgICAgICAgZ2F0aGVyIHN0YXRpc3RpY3MgZXZlcnkgPHNlY29uZHM+IGludGVydmFsXG4iCisjfiBtc2dzdHIgIiAtaSwgLS1pbnRlcnZhbCA8Z2nDonk+ICAgICAgICAgICAgICB0aHUgdGjhuq1wIHRo4buRbmcga8OqIHNhdSBt4buXaSA8Z2nDonk+XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRmlsZSAlcywgRm9yIHRocmVzaG9sZCB2YWx1ZSAlbHUsIE1heGltdW0gY2hhcmFjdGVycyBpbiBmaWZvIHdlcmUgJWQsXG4iCisjfiAiYW5kIHRoZSBtYXhpbXVtIHRyYW5zZmVyIHJhdGUgaW4gY2hhcmFjdGVycy9zZWNvbmQgd2FzICVmIgorI34gbXNnc3RyICIiCisjfiAiVOG6rXAgdGluICVzLCBDaG8gZ2nDoSB0cuG7iyBuZ8aw4buhbmcgJWx1LCBT4buRIGvDvSB04buxIGzhu5tuIG5o4bqldCB0cm9uZyBmaWZvIGzDoCAlZCxcbiIKKyN+ICJ2w6AgdOG7kWMgxJHhu5kgdHJ1eeG7gW4gdOG6o2kgbOG7m24gbmjhuqV0IHTDrW5oIHRoZW8ga8O9IHThu7EvZ2nDonkgbMOgICVmIgorCisjfiBtc2dpZCAiIgorI34gIkZpbGUgJXMsIEZvciB0aHJlc2hvbGQgdmFsdWUgJWx1IGFuZCB0aW1lb3V0IHZhbHVlICVsdSwgTWF4aW11bSBjaGFyYWN0ZXJzIGluIGZpZm8gd2VyZSAlZCxcbiIKKyN+ICJhbmQgdGhlIG1heGltdW0gdHJhbnNmZXIgcmF0ZSBpbiBjaGFyYWN0ZXJzL3NlY29uZCB3YXMgJWYiCisjfiBtc2dzdHIgIiIKKyN+ICJU4bqtcCB0aW4gJXMsIENobyBnacOhIHRy4buLIG5nxrDhu6FuZyAlbHUsIHbDoCBnacOhIHRy4buLIHRo4budaSBnaWFuIGNo4budICVsdSwgU+G7kSBrw70gdOG7sSBs4bubbiBuaOG6pXQgdHJvbmcgZmlmbyBsw6AgJWQsXG4iCisjfiAidsOgIHThu5FjIMSR4buZIHRydXnhu4FuIHThuqNpIGzhu5tuIG5o4bqldCB0w61uaCB0aGVvIGvDvSB04buxL2dpw6J5IGzDoCAlZiIKKworI34gbXNnaWQgImNhbm5vdCBpc3N1ZSBDWUdFVE1PTiBvbiAlcyIKKyN+IG1zZ3N0ciAia2jDtG5nIHBow6F0IGjDoG5oIENZR0VUTU9OIMSRxrDhu6NjIHRyw6puICVzIgorCisjfiBtc2dpZCAiY2Fubm90IGdldCB0aHJlc2hvbGQgZm9yICVzIgorI34gbXNnc3RyICJLaMO0bmcgbOG6pXkgxJHGsOG7o2MgbmfGsOG7oW5nIGNobyAlcyIKKworI34gbXNnaWQgImNhbm5vdCBnZXQgdGltZW91dCBmb3IgJXMiCisjfiBtc2dzdHIgImtow7RuZyBs4bqleSDEkcaw4bujYyB0aOG7nWkgZ2lhbiBjaOG7nSBjaG8gJXMiCisKKyN+IG1zZ2lkICIlczogJWx1IGludHMsICVsdS8lbHUgY2hhcnM7IGZpZm86ICVsdSB0aHJlc2gsICVsdSB0bW91dCwgJWx1IG1heCwgJWx1IG5vd1xuIgorI34gbXNnc3RyICIlczogJWx1IG5n4bqvdCwgJWx1LyVsdSBrw70gdOG7sTsgZmlmbzogJWx1IG5nxrDhu6FuZywgJWx1IHRo4budaSBo4bqhbiwgJWx1IHThu5FpIMSRYSwgJWx1IGLDonkgZ2nhu51cbiIKKworI34gbXNnaWQgIiAgICVmIGludC9zZWM7ICVmIHJlYywgJWYgc2VuZCAoY2hhci9zZWMpXG4iCisjfiBtc2dzdHIgIiAgICVmIGludC9nacOieTsgJWYgcmVjLCAlZiBn4butaSAoa8O9dOG7sS9nacOieSlcbiIKKworI34gbXNnaWQgIiVzOiAlbHUgaW50cywgJWx1IGNoYXJzOyBmaWZvOiAlbHUgdGhyZXNoLCAlbHUgdG1vdXQsICVsdSBtYXgsICVsdSBub3dcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsdSBuZ+G6r3QsICVsdSBrw70gdOG7sTsgZmlmbzogJWx1IG5nxrDhu6FuZywgJWx1IHRo4budaSBo4bqhbiwgJWx1IHThu5FpIMSRYSwgJWx1IGLDonkgZ2nhu51cbiIKKworI34gbXNnaWQgIiAgICVmIGludC9zZWM7ICVmIHJlYyAoY2hhci9zZWMpXG4iCisjfiBtc2dzdHIgIiAgICVmIGludC9nacOieTsgJWYgcmVjIChrw7104buxL2dpw6J5KVxuIgorCisjfiBtc2dpZCAiSW52YWxpZCBpbnRlcnZhbCB2YWx1ZSIKKyN+IG1zZ3N0ciAiR2nDoSB0cuG7iyBuaOG7i3AgdGjhu51pIGdpYW4ga2jDtG5nIMSRw7puZyIKKworI34gbXNnaWQgIkludmFsaWQgaW50ZXJ2YWwgdmFsdWU6ICVkIgorI34gbXNnc3RyICJHacOhIHRy4buLIGtob+G6o25nIHRo4budaSBnaWFuIGtow7RuZyDEkcO6bmc6ICVkIgorCisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdmFsdWUiCisjfiBtc2dzdHIgIkdpw6EgdHLhu4sgxJHhurd0IGtow7RuZyDEkcO6bmciCisKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIkdpw6EgdHLhu4sgxJHhurd0IGtow7RuZyDEkcO6bmc6ICVkIgorCisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHZhbHVlIgorI34gbXNnc3RyICJHacOhIHRy4buLIG3hurdjIMSR4buLbmgga2jDtG5nIMSRw7puZyIKKworI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIkdpw6EgdHLhu4sgbeG6t2MgxJHhu4tuaCBraMO0bmcgxJHDum5nOiAlZCIKKworI34gbXNnaWQgIkludmFsaWQgc2V0IHRpbWUgdmFsdWUiCisjfiBtc2dzdHIgIkdpw6EgdHLhu4sgxJHhurd0IHRo4budaSBnaWFuIGtow7RuZyDEkcO6bmciCisKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiR2nDoSB0cuG7iyDEkeG6t3QgdGjhu51pIGdpYW4ga2jDtG5nIMSRw7puZzogJWQiCisKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdGltZSB2YWx1ZSIKKyN+IG1zZ3N0ciAiR2nDoSB0cuG7iyB0aOG7nWkgZ2lhbiBt4bq3YyDEkeG7i25oIGtow7RuZyDEkcO6bmciCisKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdGltZSB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIkdpw6EgdHLhu4sgdGjhu51pIGdpYW4gbeG6t2MgxJHhu4tuaCBraMO0bmcgxJHDum5nOiAlZCIKKworI34gbXNnaWQgImNhbm5vdCBzZXQgJXMgdG8gdGhyZXNob2xkICVkIgorI34gbXNnc3RyICJLaMO0bmcgxJHhurd0IMSRxrDhu6NjICVzIGNobyBuZ8aw4buhbmcgJWQiCisKKyN+IG1zZ2lkICJjYW5ub3Qgc2V0ICVzIHRvIHRpbWUgdGhyZXNob2xkICVkIgorI34gbXNnc3RyICJLaMO0bmcgxJHhurd0IMSRxrDhu6NjICVzIGNobyBuZ8aw4buhbmcgdGjhu51pIGdpYW4gJWQiCisKKyN+IG1zZ2lkICIlczogJWxkIGN1cnJlbnQgdGhyZXNob2xkIGFuZCAlbGQgY3VycmVudCB0aW1lb3V0XG4iCisjfiBtc2dzdHIgIiVzOiAlbGQgbmfGsOG7oW5nIGhp4buHbiB04bqhaSB2w6AgJWxkIHRo4budaSBnaWFuIGNo4budIGhp4buHbiB04bqhaVxuIgorCisjfiBtc2dpZCAiJXM6ICVsZCBkZWZhdWx0IHRocmVzaG9sZCBhbmQgJWxkIGRlZmF1bHQgdGltZW91dFxuIgorI34gbXNnc3RyICIlczogJWxkIG5nxrDhu6FuZyBt4bq3YyDEkeG7i25oIHbDoCAlbGQgdGjhu51pIGdpYW4gY2jhu50gbeG6t2MgxJHhu4tuaFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbiwgLS1rZWVwLXNpemUgICAgIGRvbid0IG1vZGlmeSB0aGUgbGVuZ3RoIG9mIHRoZSBmaWxlXG4iCisjfiAiIC1wLCAtLXB1bmNoLWhvbGUgICAgcHVuY2ggaG9sZXMgaW4gdGhlIGZpbGVcbiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgb2YgdGhlIGFsbG9jYXRpb24sIGluIGJ5dGVzXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIHRoZSBhbGxvY2F0aW9uLCBpbiBieXRlc1xuIgorI34gbXNnc3RyICIiCisjfiAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgxJHhu6tuZyBz4butYSDEkeG7lWkgY2hp4buBdSBkw6BpIGPhu6dhIHThuq1wIHRpblxuIgorI34gIiAtcCwgLS1wdW5jaC1ob2xlICAgIGLhuqVtIGzhu5cgdHJvbmcgdOG6rXAgdGluXG4iCisjfiAiIC1vLCAtLW9mZnNldCA8U+G7kD4gICBraG/huqNuZyBiw7kgY+G6pXAgcGjDoXQsIHRoZW8gYnl0ZVxuIgorI34gIiAtbCwgLS1sZW5ndGggPFPhu5A+ICAgY2hp4buBdSBkw6BpIGPhuqVwIHBow6F0LCB0aGVvIGJ5dGVcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCisjfiAiIC1tLCAtLW1pbmltdW0gPG51bT4gbWluaW11bSBleHRlbnQgbGVuZ3RoIHRvIGRpc2NhcmRcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBudW1iZXIgb2YgZGlzY2FyZGVkIGJ5dGVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxz4buRPiAgIGtob+G6o25nIGLDuSAob2Zmc2V0KSB0w61uaCB0aGVvIGJ5dGVzIMSR4buDIG3DoCBi4buPIHF1YSB04burIMSRw7NcbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxz4buRPiAgIMSR4buZIGTDoGkgYnl0ZSDEkeG7gyBi4buPIHF1YSB0w61uaCB04burIGtob+G6o25nIGLDuSAob2Zmc2V0KVxuIgorI34gIiAtbSwgLS1taW5pbXVtIDxz4buRPiAgxJHhu5kgZMOgaSBt4bufIHLhu5luZyB04buRaSB0aGnhu4N1IMSR4buDIGLhu48gcXVhXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgaGnhu4NuIHRo4buLIHPhu5EgYnl0ZSDEkcOjIGLhu4sgYuG7jyBxdWFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaW1lIGVsYXBzZWQgc2luY2UgcmVmZXJlbmNlIHRpbWUgaGFzIGJlZW4gJS42ZiBzZWNvbmRzLlxuIgorI34gIkRlbGF5aW5nIGZ1cnRoZXIgdG8gcmVhY2ggdGhlIG5ldyB0aW1lLlxuIgorI34gbXNnc3RyICIiCisjfiAiVGjhu51pIGdpYW4gdHLDtGkgcXVhIGvhu4MgdOG7qyB0aOG7nWkgZ2lhbiB0aGFtIGNoaeG6v3UgbMOgICUuNmYgZ2nDonkuXG4iCisjfiAiVHLDrCBob8OjbiB0aMOqbSDEkeG7gyDEkWkgdOG7m2kgdGjhu51pIGdpYW4gbeG7m2kuXG4iCisKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGRldGVybWluZSBzb3VyY2UiCisjfiBtc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgeMOhYyDEkeG7i25oIG5ndeG7k24iCisKKyN+IG1zZ2lkICIgLXRlcm0gPHRlcm1pbmFsX25hbWU+XG4iCisjfiBtc2dzdHIgIiAtdGVybSA8dMOqbl90aGnhur90X2Lhu4tfY3Xhu5FpPlxuIgorCisjfiBtc2dpZCAiIC1yZXNldFxuIgorI34gbXNnc3RyICIgLXJlc2V0XG4iCisKKyN+IG1zZ2lkICIgLWluaXRpYWxpemVcbiIKKyN+IG1zZ3N0ciAiIC1pbml0aWFsaXplXG4iCisKKyN+IG1zZ2lkICIgLWN1cnNvciA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLWN1cnNvciA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1yZXBlYXQgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1yZXBlYXQgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtYXBwY3Vyc29ya2V5cyA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLWFwcGN1cnNvcmtleXMgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtbGluZXdyYXAgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1saW5ld3JhcCA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1kZWZhdWx0XG4iCisjfiBtc2dzdHIgIiAtZGVmYXVsdFxuIgorCisjfiBtc2dpZCAiIC1mb3JlZ3JvdW5kIDxkZWZhdWx0fGJsYWNrfGJsdWV8Y3lhbnxncmVlbnxtYWdlbnRhfHJlZHx3aGl0ZXx5ZWxsb3c+XG4iCisjfiBtc2dzdHIgIiAtZm9yZWdyb3VuZCA8ZGVmYXVsdHxibGFja3xibHVlfGN5YW58Z3JlZW58bWFnZW50YXxyZWR8d2hpdGV8eWVsbG93PlxuIgorCisjfiBtc2dpZCAiIC1iYWNrZ3JvdW5kIDxkZWZhdWx0fGJsYWNrfGJsdWV8Y3lhbnxncmVlbnxtYWdlbnRhfHJlZHx3aGl0ZXx5ZWxsb3c+XG4iCisjfiBtc2dzdHIgIiAtYmFja2dyb3VuZCA8ZGVmYXVsdHxibGFja3xibHVlfGN5YW58Z3JlZW58bWFnZW50YXxyZWR8d2hpdGV8eWVsbG93PlxuIgorCisjfiBtc2dpZCAiIC1oYmNvbG9yIDxibGFja3xibHVlfGJyaWdodHxjeWFufGdyZWVufGdyZXl8bWFnZW50YXxyZWR8d2hpdGV8eWVsbG93PlxuIgorI34gbXNnc3RyICIgLWhiY29sb3IgPGJsYWNrfGJsdWV8YnJpZ2h0fGN5YW58Z3JlZW58Z3JleXxtYWdlbnRhfHJlZHx3aGl0ZXx5ZWxsb3c+XG4iCisKKyN+IG1zZ2lkICIgLWludmVyc2VzY3JlZW4gPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1pbnZlcnNlc2NyZWVuIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLWJvbGQgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1ib2xkIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLWJsaW5rIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtYmxpbmsgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtcmV2ZXJzZSA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLXJldmVyc2UgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtdW5kZXJsaW5lIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtdW5kZXJsaW5lIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLXN0b3JlXG4iCisjfiBtc2dzdHIgIiAtc3RvcmVcbiIKKworI34gbXNnaWQgIiAtY2xlYXIgPGFsbHxyZXN0PlxuIgorI34gbXNnc3RyICIgLWNsZWFyIDxhbGx8cmVzdD5cbiIKKworI34gbXNnaWQgIiAtdGFicyA8dGFiMSB0YWIyIHRhYjMgLi4uPiAgICAgICh0YWJuID0gMS0xNjApXG4iCisjfiBtc2dzdHIgIiAtdGFicyA8dGFiMSB0YWIyIHRhYjMg4oCmPiAgICAgICAgKHRhYm4gPSAxLTE2MClcbiIKKworI34gbXNnaWQgIiAtY2xydGFicyA8dGFiMSB0YWIyIHRhYjMgLi4uPiAgICh0YWJuID0gMS0xNjApXG4iCisjfiBtc2dzdHIgIiAtY2xydGFicyA8dGFiMSB0YWIyIHRhYjMg4oCmPiAgICAodGFibiA9IDEtMTYwKVxuIgorCisjfiBtc2dpZCAiIC1yZWd0YWJzIDwxLTE2MD5cbiIKKyN+IG1zZ3N0ciAiIC1yZWd0YWJzIDwxLTE2MD5cbiIKKworI34gbXNnaWQgIiAtYmxhbmsgPDAtNjB8Zm9yY2V8cG9rZT5cbiIKKyN+IG1zZ3N0ciAiIC1ibGFuayA8MC02MHxmb3JjZXxwb2tlPlxuIgorCisjfiBtc2dpZCAiIC1kdW1wICAgPDEtTlJfQ09OU09MRVM+XG4iCisjfiBtc2dzdHIgIiAtZHVtcCAgIDwxLU5SX0NPTlNPTEVTPlxuIgorCisjfiBtc2dpZCAiIC1hcHBlbmQgPDEtTlJfQ09OU09MRVM+XG4iCisjfiBtc2dzdHIgIiAtYXBwZW5kIDwxLU5SX0NPTlNPTEVTPlxuIgorCisjfiBtc2dpZCAiIC1maWxlIGR1bXBmaWxlbmFtZVxuIgorI34gbXNnc3RyICIgLWZpbGUgdMOqbiB04bqtcCB0aW5cbiIKKworI34gbXNnaWQgIiAtbXNnIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtbXNnIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLW1zZ2xldmVsIDwwLTg+XG4iCisjfiBtc2dzdHIgIiAtbXNnbGV2ZWwgPDAtOD5cbiIKKworI34gbXNnaWQgIiAtcG93ZXJkb3duIDwwLTYwPlxuIgorI34gbXNnc3RyICIgLXBvd2VyZG93biA8MC02MD5cbiIKKworI34gbXNnaWQgIiAtYmxlbmd0aCA8MC0yMDAwPlxuIgorI34gbXNnc3RyICIgLWJsZW5ndGggPDAtMjAwMD5cbiIKKworI34gbXNnaWQgIiAtYmZyZXEgZnJlcW51bWJlclxuIgorI34gbXNnc3RyICIgLWJmcmVxIGZyZXFudW1iZXJcbiIKKworI34gbXNnaWQgIiAtdmVyc2lvblxuIgorI34gbXNnc3RyICIgLXZlcnNpb25cbiIKKworI34gbXNnaWQgIiAtaGVscFxuIgorI34gbXNnc3RyICIgLWhlbHBcbiIKKworI34gbXNnaWQgIkVycm9yIHdyaXRpbmcgc2NyZWVuZHVtcCIKKyN+IG1zZ3N0ciAiTOG7l2kgZ2hpIGR1bXAgbcOgbiBow6xuaCIKKworI34gbXNnaWQgIkNvdWxkbid0IHJlYWQgbmVpdGhlciAvZGV2L3Zjc2EwIG5vciAvZGV2L3Zjc2EiCisjfiBtc2dzdHIgIktow7RuZyB0aOG7gyDEkeG7jWMgL2Rldi92Y3NhMCBjxaluZyBuaMawIC9kZXYvdmNzYSIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkPDoWNoIGTDuW5nOiAlcyBbVMOZWV9DSOG7jE5dIFThuqxQX1RJTuKAplxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIk9wdGlvbnM6XG4iCisjfiAiICAtZCAgICAgICAgZGlzcGxheSBoZWxwIGluc3RlYWQgb2YgcmluZyBiZWxsXG4iCisjfiAiICAtZiAgICAgICAgY291bnQgbG9naWNhbCwgcmF0aGVyIHRoYW4gc2NyZWVuIGxpbmVzXG4iCisjfiAiICAtbCAgICAgICAgc3VwcHJlc3MgcGF1c2UgYWZ0ZXIgZm9ybSBmZWVkXG4iCisjfiAiICAtcCAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIKKyN+ICIgIC1jICAgICAgICBkbyBub3Qgc2Nyb2xsLCBkaXNwbGF5IHRleHQgYW5kIGNsZWFuIGxpbmUgZW5kc1xuIgorI34gIiAgLXUgICAgICAgIHN1cHByZXNzIHVuZGVybGluaW5nXG4iCisjfiAiICAtcyAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorI34gIiAgLU5VTSAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBsaW5lcyBwZXIgc2NyZWVuZnVsXG4iCisjfiAiICArTlVNICAgICAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIGxpbmUgbnVtYmVyIE5VTVxuIgorI34gIiAgKy9TVFJJTkcgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBzZWFyY2ggc3RyaW5nIG1hdGNoXG4iCisjfiAiICAtViAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkPDoWMgdMO5eSBjaOG7jW46XG4iCisjfiAiICAtZCAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIHRoYXkgdsOsIGLDoW8gY2h1w7RuZ1xuIgorI34gIiAgLWYgICAgICAgIMSR4bq/bSBsw7Rnw61jLCB0aGF5IHbDrCBjw6FjIGTDsm5nIG3DoG4gaMOsbmhcbiIKKyN+ICIgIC1sICAgICAgICBraMO0bmcgY2hvIHThuqFtIGThu6tuZyBzYXUgZm9ybSBmZWVkXG4iCisjfiAiICAtcCAgICAgICAga2jDtG5nIGNobyBjdeG7mW4sIHjDs2EgbcOgbiBow6xuaCB2w6AgdHLDrG5oIGLDoHkgY2jhu69cbiIKKyN+ICIgIC1jICAgICAgICBraMO0bmcgY2hvIGN14buZbiwgdHLDrG5oIGLDoHkgY2jhu68gdsOgIHjDs2EgY3Xhu5FpIGTDsm5nXG4iCisjfiAiICAtdSAgICAgICAga2jDtG5nIGNobyBn4bqhY2ggY2jDom5cbiIKKyN+ICIgIC1zICAgICAgICBuw6luIG5oaeG7gXUgZMOybmcgdHLhu5FuZyBs4bqhaSB0aMOgbmggbeG7mXRcbiIKKyN+ICIgIC1OVU0gICAgICBjaOG7iSDEkeG7i25oIHPhu5EgZMOybmcgdHLDqm4gbcOgbiBow6xuaCDEkeG6p3lcbiIKKyN+ICIgICtOVU0gICAgICBoaeG7g24gdGjhu4sgdOG6rXAgdGluIGLhuq90IMSR4bqndSB04burIGTDsm5nIHPhu5EgTlVNXG4iCisjfiAiICArL1NUUklORyAgaGnhu4NuIHRo4buLIHThuq1wIHRpbiBi4bqvdCDEkeG6p3UgdOG7qyBjaHXhu5dpIGto4bubcCB24bubaSB04burIGPhuqduIHTDrG1cbiIKKyN+ICIgIC1WICAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB24buBIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKworI34gbXNnaWQgImxpbmUgdG9vIGxvbmciCisjfiBtc2dzdHIgImTDsm5nIHF1w6EgZMOgaSIKKworI34gbXNnaWQgInNldCBibG9ja3NpemUiCisjfiBtc2dzdHIgIsSR4bq3dCBrw61jaCBj4buhIGto4buRaSIKKworI34gbXNnaWQgIm9uZSBiYWQgYmxvY2tcbiIKKyN+IG1zZ3N0ciAibeG7mXQga2jhu5FpIHNhaVxuIgorCisjfiBtc2dpZCAicGFydGl0aW9uIHR5cGUgaGV4IG9yIHV1aWQiCisjfiBtc2dzdHIgImtp4buDdSBj4bunYSBwaMOibiB2w7luZyBk4bqhbmcgdGjhuq1wIGzhu6VjIHBow6JuIGhheSB1dWlkIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiICVzIFtjw6FjIHTDuXkgY2jhu41uXSB0aGnhur90X2Lhu4s+XG4iCisKKyN+IG1zZ2lkICJyZWFkIGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSR4buNYyAlcyIKKworI34gbXNnaWQgInNlZWsgZmFpbGVkICVzIgorI34gbXNnc3RyICJzZWVrIGfhurdwIGzhu5dpICVzIgorCisjfiBtc2dpZCAic2VlayBmYWlsZWQ6ICVkIgorI34gbXNnc3RyICJzZWVrIGfhurdwIGzhu5dpOiAlZCIKKworI34gbXNnaWQgIndyaXRlIGZhaWxlZDogJWQiCisjfiBtc2dzdHIgImzhu5dpIGdoaTogJWQiCisKKyN+IG1zZ2lkICJEZXRlY3RlZCAlZCBlcnJvcihzKS4iCisjfiBtc2dzdHIgIlRo4bqleSAlZCBs4buXaS4iCisKKyN+IG1zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQiCisjfiBtc2dzdHIgIktow7RuZyBjw7MgcGjDom4gdsO5bmcgbsOgbyDEkcaw4bujYyDEkeG7i25oIG5naMSpYSIKKworI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgbGlzdCBhbGwgdXNlZCBkZXZpY2VzXG4iCisjfiAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4gWy4uLl0gIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCisjfiAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIGRldGFjaCBhbGwgdXNlZCBkZXZpY2VzXG4iCisjfiAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorI34gIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICByZXNpemUgZGV2aWNlXG4iCisjfiAiIC1qLCAtLWFzc29jaWF0ZWQgPGZpbGU+ICAgICAgIGxpc3QgYWxsIGRldmljZXMgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxp4buHdCBrw6ogdOG6pXQgY+G6oyBjw6FjIHRoaeG6v3QgYuG7iyDEkcOjIGTDuW5nXG4iCisjfiAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4gW+KApl0gICAgdMOhY2ggcmEgbeG7mXQgaGF5IGjGoW4gbeG7mXQgdGhp4bq/dCBi4buLXG4iCisjfiAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIHTDoWNoIHJhIHThuqV0IGPhuqMgY8OhYyB0aGnhur90IGLhu4sgxJHDoyBkw7luZ1xuIgorI34gIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICB0w6xtIGtp4bq/bSB0aGnhur90IGLhu4sgY2jGsGEgZMO5bmcgxJHhuqd1IHRpw6puXG4iCisjfiAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcGRldj4gIHRoYXkgxJHhu5VpIGvDrWNoIHRoxrDhu5tjIHRoaeG6v3QgYuG7i1xuIgorI34gIiAtaiwgLS1hc3NvY2lhdGVkIDx04bqtcC10aW4+ICAgIGxp4buHdCBrw6ogdOG6pXQgY+G6oyBjw6FjIHRoaeG6v3QgYuG7iyBsacOqbiBxdWFuIMSR4bq/biA8dOG6rXAtdGluPlxuIgorCisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UsIG9mZnNldCBpcyBub3QgNTEyLWJ5dGUgYWxpZ25lZC4iCisjfiBtc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgY8OgaSDEkeG6t3QgdGhp4bq/dCBi4buLIGxvb3AsIG9mZnNldCBraMO0bmcgxJHGsOG7o2MgY8SDbiBjaOG7iW5oIDUxMi1ieXRlIgorCisjfiBtc2dpZCAidXNhZ2U6XG4iCisjfiBtc2dzdHIgImPDoWNoIGTDuW5nOlxuIgorCisjfiBtc2dpZCAiXHROT1RFOiBlbHZ0dW5lIG9ubHkgd29ya3Mgd2l0aCAyLjQga2VybmVsc1xuIgorI34gbXNnc3RyICJcdEdISSBDSMOaOiBlbHZ0dW5lIGNo4buJIGhv4bqhdCDEkeG7mW5nIHbhu5tpIG5ow6JuIGxpbnV4IHBoacOqbiBi4bqjbiAyLjRcbiIKKworI34gbXNnaWQgIm1pc3NpbmcgYmxvY2tkZXZpY2UsIHVzZSAtaCBmb3IgaGVscFxuIgorI34gbXNnc3RyICJ0aGnhur91IHRoaeG6v3QgYuG7iyBraOG7kWksIGTDuW5nIGzhu4duaCDigJwtaOKAnSDEkeG7gyBjw7MgdHLhu6MgZ2nDunBcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJlbHZ0dW5lIGlzIG9ubHkgdXNlZnVsIG9uIG9sZGVyIGtlcm5lbHM7XG4iCisjfiAiZm9yIDIuNiB1c2UgSU8gc2NoZWR1bGVyIHN5c2ZzIHR1bmFibGVzIGluc3RlYWQuLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiZWx2dHVuZSBjaOG7iSBo4buvdSDDrWNoIGtoaSBz4butIGThu6VuZyB24bubaSBuaMOibiBsaW51eCBjxak7XG4iCisjfiAixJHhu5FpIHbhu5tpIHBoacOqbiBi4bqjbiAyLjYsIGjDo3kgdGhheSB0aOG6vyBi4bqxbmdcbiIKKyN+ICJwaOG6p24gbeG7gW0gxJHhu4tuaCB0aOG7nWkgVi9SIHN5c2ZzIHR1bmFibGVzLlxuIgorCisjfiBtc2dpZCAiZWRpdGlvbiBudW1iZXIgYXJndW1lbnQgZmFpbGVkIgorI34gbXNnc3RyICJ4deG6pXQgYuG6o24gdGhhbSBz4buRIHPhu5EgZ+G6t3AgbOG7l2kiCisKKyN+IG1zZ2lkICJmc3luYyBmYWlsZWQiCisjfiBtc2dzdHIgImZzeW5jIGLhu4sgbOG7l2kiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiUHJpbnQgdmVyc2lvbjpcbiIKKyN+ICIgICAgICAgICVzIC12XG4iCisjfiAiUHJpbnQgcGFydGl0aW9uIHRhYmxlOlxuIgorI34gIiAgICAgICAgJXMgLVAge3J8c3x0fSBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiAiSW50ZXJhY3RpdmUgdXNlOlxuIgorI34gIiAgICAgICAgJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiLWE6IFVzZSBhcnJvdyBpbnN0ZWFkIG9mIGhpZ2hsaWdodGluZztcbiIKKyN+ICItejogU3RhcnQgd2l0aCBhIHplcm8gcGFydGl0aW9uIHRhYmxlLCBpbnN0ZWFkIG9mIHJlYWRpbmcgdGhlIHB0IGZyb20gZGlzaztcbiIKKyN+ICItYyBDIC1oIEggLXMgUzogT3ZlcnJpZGUgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIG51bWJlciBvZiBjeWxpbmRlcnMsXG4iCisjfiAiICAgICAgICAgICAgICAgIHRoZSBudW1iZXIgb2YgaGVhZHMgYW5kIHRoZSBudW1iZXIgb2Ygc2VjdG9ycy90cmFjay5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkPDoWNoIGTDuW5nOlxuIgorI34gIkhp4buHbiBz4buRIHBoacOqbiBi4bqjbjpcbiIKKyN+ICIgICAgICAgICVzIC12XG4iCisjfiAiSGnhu4duIGLhuqNuZyBwaMOibiB2w7luZzpcbiIKKyN+ICIgICAgICAgICVzIC1QIHtyfHN8dH0gW3TDuXkgY2jhu41uXSB0aGnhur90IGLhu4tcbiIKKyN+ICJEw7luZyB0xrDGoW5nIHTDoWM6XG4iCisjfiAiICAgICAgICAlcyBbY8OhYyB0w7l5IGNo4buNbl0gdGhp4bq/dCBi4buLXG4iCisjfiAiXG4iCisjfiAiVMO5eSBjaOG7jW46XG4iCisjfiAiLWE6IHPhu60gZOG7pW5nIG3FqWkgdMOqbiB0aGF5IGNobyB0w7Qgc8Ohbmc7XG4iCisjfiAiLXo6IELhuq90IMSR4bqndSB24bubaSBi4bqjbmcgcGjDom4gdsO5bmcgdHLhu5FuZyBy4buXbmcgdGhheSB2w6wgxJHhu41jIG7DsyB04burIMSRxKlhO1xuIgorI34gIi1jIEMgLWggSCAtcyBTOiBWaeG6v3QgY2jDqG4gbMOqbiBz4buRIHRy4bulLCBz4buRIMSR4bqndSDEkeG7jWMgdsOgIHPhu5FcbiIKKyN+ICIgICAgICAgICAgICAgICAgY3VuZyB04burL3LDo25oIHRoZW8gcXVhbiBuaeG7h20gY+G7p2EgbmjDom4gTGludXguXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJXcml0aW5nIGRpc2tsYWJlbCB0byAlcy5cbiIKKyN+IG1zZ3N0ciAiVmnhur90IG5ow6NuIMSRxKlhIHbDoG8gJXMuXG4iCisKKyN+IG1zZ2lkICJMYXN0ICVzIG9yICtzaXplIG9yICtzaXplTSBvciArc2l6ZUsiCisjfiBtc2dzdHIgIiVzIGN14buRaSBoYXkgK3NpemUgaGF5ICtzaXplTSBoYXkgK3NpemVLIgorCisjfiBtc2dpZCAiUmVhZGluZyBkaXNrbGFiZWwgb2YgJXMgYXQgc2VjdG9yICVkLlxuIgorI34gbXNnc3RyICLEkOG7jWMgbmjDo24gxJHEqWEgY+G7p2EgJXMgdOG6oWkgY3VuZyB04burICVkLlxuIgorCisjfiBtc2dpZCAiQlNEIGRpc2tsYWJlbCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorI34gbXNnc3RyICJDw6J1IGzhu4duaCBuaMOjbiDEkcSpYSBCU0QgKG0gxJHhu4MgeGVtIHRy4bujIGdpw7pwKTogIgorCisjfiBtc2dpZCAiZHJpdmVkYXRhOiAiCisjfiBtc2dzdHIgImThu68gbGnhu4d1IOG7lSDEkcSpYTogIgorCisjfiBtc2dpZCAiIyAgICAgICBzdGFydCAgICAgICBlbmQgICAgICBzaXplICAgICBmc3R5cGUgICBbZnNpemUgYnNpemUgICBjcGddXG4iCisjfiBtc2dzdHIgIiMgICAgICAgxJHhuqd1ICAgICAgICAgY3Xhu5FpICAgICBrw61jaCBj4buhICBraeG7g3UuaHR0dCBbY+G7oV904buHcCBj4buhX2to4buRaSBjcGddXG4iCisKKyN+IG1zZ2lkICJNdXN0IGJlIDw9IHNlY3RvcnMvdHJhY2sgKiB0cmFja3MvY3lsaW5kZXIgKGRlZmF1bHQpLlxuIgorI34gbXNnc3RyICJQaOG6o2kg4omkIHPhu5EgY3VuZyB04burL3LDo25oICogc+G7kSByw6NuaC90cuG7pSAobeG6t2MgxJHhu4tuaCkuXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gKGEtJWMpOiAiCisjfiBtc2dzdHIgIlBow6JuIHbDuW5nIChhLSVjKTogIgorCisjfiBtc2dpZCAiV2FybmluZzogdG9vIG1hbnkgcGFydGl0aW9ucyAoJWQsIG1heGltdW0gaXMgJWQpLlxuIgorI34gbXNnc3RyICJD4bqjbmggYsOhbzogY8OzIHF1w6Egbmhp4buBdSBwaMOibiB2w7luZyAoJWQsIHThu5FpIMSRYSBsw6AgJWQpLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlN5bmNpbmcgZGlza3MuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLEkOG7k25nIGLhu5kgY8OhYyDEkcSpYS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJTEkcyBbb3B0aW9uc10gPGRpc2s+ICAgIGNoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICIgJTEkcyBbb3B0aW9uc10gLWwgPGRpc2s+IGxpc3QgcGFydGl0aW9uIHRhYmxlKHMpXG4iCisjfiAiICUxJHMgLXMgPHBhcnRpdGlvbj4gICAgICBnaXZlIHBhcnRpdGlvbiBzaXplKHMpIGluIGJsb2Nrc1xuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1iIDxzaXplPiAgICAgICAgICAgICBzZWN0b3Igc2l6ZSAoNTEyLCAxMDI0LCAyMDQ4IG9yIDQwOTYpXG4iCisjfiAiIC1jWz08bW9kZT5dICAgICAgICAgICBjb21wYXRpYmxlIG1vZGU6ICdkb3MnIG9yICdub25kb3MnIChkZWZhdWx0KVxuIgorI34gIiAtaCAgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhpcyBoZWxwIHRleHRcbiIKKyN+ICIgLXVbPTx1bml0Pl0gICAgICAgICAgIGRpc3BsYXkgdW5pdHM6ICdjeWxpbmRlcnMnIG9yICdzZWN0b3JzJyAoZGVmYXVsdClcbiIKKyN+ICIgLXYgICAgICAgICAgICAgICAgICAgIHByaW50IHByb2dyYW0gdmVyc2lvblxuIgorI34gIiAtQyA8bnVtYmVyPiAgICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorI34gIiAtSCA8bnVtYmVyPiAgICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGhlYWRzXG4iCisjfiAiIC1TIDxudW1iZXI+ICAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkPDoWNoIGTDuW5nOlxuIgorI34gIiAlMSRzIFt0deG7s19jaOG7jW5dIDzEkcSpYT4gICAgdGhheSDEkeG7lWkgYuG6o25nIHBow6JuIHbDuW5nXG4iCisjfiAiICUxJHMgW3R14buzX2No4buNbl0gLWwgPMSRxKlhPiBsaeG7h3Qga8OqIChjw6FjKSBi4bqjbmcgcGjDom4gdsO5bmdcbiIKKyN+ICIgJTEkcyAtcyA8cGjDom5fdsO5bmc+ICAgICAgxJHGsGEgcmEgKGPDoWMpIGvDrWNoIGPhu6EgcGjDom4gdsO5bmcgdGhlbyBraOG7kWlcbiIKKyN+ICJcbiIKKyN+ICJUw7l5IGNo4buNbjpcbiIKKyN+ICIgLWIgPGvDrWNoX2Phu6E+ICAgICAgICAgIGvDrWNoIGPhu6EgY3VuZyB04burICg1MTIsIDEwMjQsIDIwNDggaGF5IDQwOTYpXG4iCisjfiAiIC1jWz08Y2jhur9fxJHhu5k+XSAgICAgICAgIGNo4bq/IMSR4buZIHTGsMahbmcgdGjDrWNoOiDigJxkb3PigJ0gaGF5IOKAnG5vbmRvc+KAnSAobeG6t2MgxJHhu4tuaClcbiIKKyN+ICIgLWggICAgICAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cFxuIgorI34gIiAtdVs9PMSRxqFuX3bhu4s+XSAgICAgICAgIGhp4buDbiB0aOG7iyB0aGVvIMSRxqFuIHbhu4s6IOKAnGN5bG5kZXJz4oCdICh0cuG7pSkgaGF5XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICDigJxzZWN0b3Jz4oCdIChjdW5nIHThu6s6IG3hurdjIMSR4buLbmgpXG4iCisjfiAiIC12ICAgICAgICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgc+G7kSB0aOG7qSB04buxIHBoacOqbiBi4bqjblxuIgorI34gIiAtQyA8c+G7kT4gICAgICAgICAgICAgICBnaGkgcsO1IHPhu5EgY8OhYyB0cuG7pVxuIgorI34gIiAtSCA8c+G7kT4gICAgICAgICAgICAgICBnaGkgcsO1IHPhu5EgY8OhYyDEkeG6p3UgdOG7q1xuIgorI34gIiAtUyA8c+G7kT4gICAgICAgICAgICAgICBnaGkgcsO1IHPhu5EgY8OhYyBjdW5nIHThu6sgdHLDqm4gbeG7l2kgcsOjbmhcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgInVuYWJsZSB0byBzZWVrIG9uICVzIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4MgZGkgY2h1eeG7g24gduG7iyB0csOtIMSR4buNYyB0csOqbiAlcyIKKworI34gbXNnaWQgInVuYWJsZSB0byB3cml0ZSAlcyIKKyN+IG1zZ3N0ciAia2jDtG5nIGdoaSDEkcaw4bujYyAlcyIKKworI34gbXNnaWQgImZhdGFsIGVycm9yIgorI34gbXNnc3RyICJs4buXaSBuZ2hpw6ptIHRy4buNbmciCisKKyN+IG1zZ2lkICJDb21tYW5kIGFjdGlvbiIKKyN+IG1zZ3N0ciAiVMOhYyBk4bulbmcgY+G7p2EgY8OidSBs4buHbmgiCisKKyN+IG1zZ2lkICJZb3UgbXVzdCBzZXQiCisjfiBtc2dzdHIgIkLhuqFuIHBo4bqjaSDEkeG6t3QiCisKKyN+IG1zZ2lkICJoZWFkcyIKKyN+IG1zZ3N0ciAixJHhuqd1IMSR4buNYyIKKworI34gbXNnaWQgIiBhbmQgIgorI34gbXNnc3RyICIgdsOgICIKKworI34gbXNnaWQgIlVuc3VwcG9ydGVkIHN1ZmZpeDogJyVzJy5cbiIKKyN+IG1zZ3N0ciAiSOG6rXUgdOG7kSBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7ozog4oCcJXPigJ0uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiU3VwcG9ydGVkOiAxMF5OOiBLQiAoS2lsb0J5dGUpLCBNQiAoTWVnYUJ5dGUpLCBHQiAoR2lnYUJ5dGUpXG4iCisjfiAiICAgICAgICAgICAgMl5OOiBLICAoS2liaUJ5dGUpLCBNICAoTWViaUJ5dGUpLCBHICAoR2liaUJ5dGUpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJI4buXIHRy4bujOlxuIgorI34gIiAqIDEwXk5cbiIKKyN+ICIgICBLQiAgIGtpbMO0LWJ5dGVcbiIKKyN+ICIgICBNQiAgIG1lZ2EtYnl0ZVxuIgorI34gIiAgIEdCICAgZ2lnYS1ieXRlXG4iCisjfiAiICogMl5OXG4iCisjfiAiICAgSyAgICBraWJpLWJ5dGVcbiIKKyN+ICIgICBNICAgIG1lYmktYnl0ZVxuIgorI34gIiAgIEcgICAgZ2liaS1ieXRlXG4iCisKKyN+IG1zZ2lkICJVc2luZyBkZWZhdWx0IHZhbHVlICV1XG4iCisjfiBtc2dzdHIgIlPhu60gZOG7pW5nIGdpw6EgdHLhu4sgbeG6t2MgxJHhu4tuaCAldVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZCBNQiwgJWxsZCBieXRlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIsSQxKlhICVzOiAlbGQgTUIsICVsbGQgYnl0ZSIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbGQuJWxkIEdCLCAlbGx1IGJ5dGVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAixJDEqWEgJXM6ICVsZC4lbGQgR0IsICVsbHUgYnl0ZXMiCisKKyN+IG1zZ2lkICIsICVsbHUgc2VjdG9yc1xuIgorI34gbXNnc3RyICIsICVsbHUgY3VuZyB04burXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgd3JpdGUgZGlzayBsYWJlbCIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSBuaMOjbiDEkcSpYSIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJFcnJvciBjbG9zaW5nIGZpbGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkzhu5dpIMSRw7NuZyB04bqtcCB0aW5cbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHNldHRpbmcgc2VjdG9yIG9mZnNldCBmb3IgRE9TIGNvbXBhdGliaWxpdHlcbiIKKyN+IG1zZ3N0ciAiQ+G6o25oIGLDoW86IGPDoGkgxJHhurd0IGtob+G6o25nIGLDuSBjdW5nIHThu6sgY2hvIHTGsMahbmcgdGjDrWNoIERPU1xuIgorCisjfiBtc2dpZCAiRGV0ZWN0ZWQgYW4gT1NGLzEgZGlza2xhYmVsIG9uICVzLCBlbnRlcmluZyBkaXNrbGFiZWwgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiVMOsbSB0aOG6pXkgbeG7mXQgbmjDo24gxJHEqWEgT1NGLzEgdHLDqm4gJXMsIG5o4bqtcCBjaOG6vyDEkeG7mSBuaMOjbiDEkcSpYS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIEl0J3Mgc3Ryb25nbHkgcmVjb21tZW5kZWQgdG9cbiIKKyN+ICIgICAgICAgICBzd2l0Y2ggb2ZmIHRoZSBtb2RlICh3aXRoIGNvbW1hbmQgJ2MnKS4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJD4bqiTkggQsOBTzogY2jhur8gxJHhu5kgdMawxqFuZyB0aMOtY2ggduG7m2kgRE9TIGLhu4sgcGjhuqNuIMSR4buRaS5cbiIKKyN+ICIgICAgICAgICAgS2h1ecOqbiBi4bqhbiB04bqvdCBjaOG6vyDEkeG7mSBuw6B5IChkw7luZyBs4buHbmgg4oCcY+KAnS4uIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IGN5bGluZGVycyBhcyBkaXNwbGF5IHVuaXRzIGFyZSBkZXByZWNhdGVkLiBVc2UgY29tbWFuZCAndScgdG9cbiIKKyN+ICIgICAgICAgICBjaGFuZ2UgdW5pdHMgdG8gc2VjdG9ycy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkPhuqJOSCBCw4FPOiBoaeG7g24gdGjhu4sgxJHGoW4gduG7iyB0cuG7pSBnaeG7nSBi4buLIHBo4bqjbiDEkeG7kWkuIEjDo3kgZMO5bmcgbOG7h25oIOKAnHXigJ1cbiIKKyN+ICIgICAgICAgICAgxJHhu4MgY2h1eeG7g24gxJHhu5VpIMSRxqFuIHbhu4sgc2FuZyBjdW5nIHThu6suXG4iCisKKyN+IG1zZ2lkICJOZXcgZGlzayBpZGVudGlmaWVyIChjdXJyZW50IDB4JTA4eCk6ICIKKyN+IG1zZ3N0ciAixJDhu5Mgbmjhuq1uIGRp4buHbiDEkcSpYSBt4bubaSAoaGnhu4duIHThuqFpIDB4JTA4eCk6ICIKKworI34gbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGVcbiIKKyN+IG1zZ3N0ciAiS2jDtG5nIGPDsm4gY3VuZyB04burIG7DoG8gdHLhu5FuZ1xuIgorCisjfiBtc2dpZCAiTGFzdCAlMSRzLCArJTIkcyBvciArc2l6ZXtLLE0sR30iCisjfiBtc2dzdHIgIkN14buRaSAlMSRzLCArJTIkcyBoYXkgK2vDrWNoX2Phu6F7SyxNLEd9IgorCisjfiBtc2dpZCAiICAgICBwaHlzPSglZCwgJWQsICVkKSAiCisjfiBtc2dzdHIgIiAgIHbhuq10IGzDvT0oJWQsICVkLCAlZCkgIgorCisjfiBtc2dpZCAibG9naWNhbD0oJWQsICVkLCAlZClcbiIKKyN+IG1zZ3N0ciAibMO0Z8OtYz0oJWQsICVkLCAlZClcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IGJhZCBzdGFydC1vZi1kYXRhIGluIHBhcnRpdGlvbiAlemRcbiIKKyN+IG1zZ3N0ciAiQ+G6o25oIGLDoW86IGto4bufaS3EkeG6p3UtZOG7ry1saeG7h3Uga2jDtG5nIGjhu6NwIGzhu4cgdHJvbmcgcGjDom4gdsO5bmcgJXpkXG4iCisKKyN+IG1zZ2lkICJBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvblxuIgorI34gbXNnc3RyICJUaMOqbSBwaMOibiB2w7luZyBjaMOtbmhcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueSBET1MgNi54cGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgZmRpc2sgbWFudWFsIHBhZ2UgZm9yIGFkZGl0aW9uYWxpbmZvcm1hdGlvbi5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkPhuqJOSCBCw4FPOiBO4bq/dSBi4bqhbiDEkcOjIHThuqFvIGhv4bq3YyBz4butYSDEkeG7lWkgYuG6pXQga+G7syBwaMOibiB2w7luZyBET1MgNi54IG7DoG8sIHhpbiBow6N5IHhlbSB0cmFuZyBoxrDhu5tuZyBk4bqrbiBz4butIGThu6VuZyBtYW4gZmRpc2sgxJHhu4MgYmnhur90IHRow6ptIGNoaSB0aeG6v3QuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIlKnMgQm9vdCAgICAgIFN0YXJ0ICAgICAgICAgRW5kICAgICAgQmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIlKnMgS2jhu59pX8SR4buZbmcgIMSQ4bqndSAgICAgICAgICBDdeG7kWkgICAgICBLaOG7kWkgICAgSWQgIEjhu4dfdGjhu5FuZ1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMsICVsbHUgY3lsaW5kZXJzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLEkMSpYSAlczogJWQgxJHhuqd1IMSR4buNYywgJWxsdSBjdW5nIHThu6ssICVsbHUgdHLhu6VcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIk5yIEFGICBIZCBTZWMgIEN5bCAgSGQgU2VjICBDeWwgICAgIFN0YXJ0ICAgICAgU2l6ZSBJRFxuIgorI34gbXNnc3RyICJOciBBRiAgxJDhuqd1IFLDo25oIFRy4bulIMSQ4bqndSBSw6NuaCBUcuG7pSAgICBC4bqvdF/EkeG6p3UgICAgQ+G7oSAgIElEXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRUaGVyZSBpcyBhIHZhbGlkIE1hYyBsYWJlbCBvbiB0aGlzIGRpc2suXG4iCisjfiAiXHRVbmZvcnR1bmF0ZWx5IGZkaXNrKDEpIGNhbm5vdCBoYW5kbGUgdGhlc2UgZGlza3MuXG4iCisjfiAiXHRVc2UgZWl0aGVyIHBkaXNrIG9yIHBhcnRlZCB0byBtb2RpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZS5cbiIKKyN+ICJcdE5ldmVydGhlbGVzcyBzb21lIGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0Q8OzIG3hu5l0IG5ow6NuIE1hYyBo4bujcCBs4buHIHRyw6puIMSRxKlhIG7DoHkuXG4iCisjfiAiXHRLaMO0bmcgbWF5IGzDoCBoaeG7h24gdOG6oWkgZmRpc2soMSkga2jDtG5nIHRo4buDIMSRaeG7gXUga2hp4buDblxuIgorI34gIlx0bmjhu69uZyDEkcSpYSBuw6B5LiBEw7luZyBob+G6t2MgcGRpc2sgaG/hurdjIHBhcnRlZFxuIgorI34gIsSR4buDIHPhu61hIMSR4buVaSBi4bqjbmcgcGjDom4gdsO5bmcuXG4iCisjfiAiXG4iCisjfiAiVHV5IG5oacOqbiBt4buZdCB2w6BpIGzhu51pIGtodXnDqm46XG4iCisjfiAiXHQxLiBmZGlzayBz4bq9IGjhu6d5IGjhur90IG7hu5lpIGR1bmcgxJHEqWEga2hpIGdoaS5cbiIKKyN+ICJcdDIuIEPhuqduIMSR4bqjbSBi4bqjbyBsw6AgxJHEqWEgbsOgeSBLSMOUTkcgcGjhuqNpIGzDoCBwaOG6p25cbiIKKyN+ICJcdCAgIHF1YW4gdHLhu41uZyBj4bunYSBt4buZdCBuaMOzbSDEkcSpYS4gKE7Ds2kgY8OhY2gga2jDoWMgYuG6oW4gY8OzXG4iCisjfiAiXHQgICB0aOG7gyB4w7NhIGPDoWMgxJHEqWEga2jDoWMsIG7hur91IGtow7RuZyB04bqhbyBnxrDGoW5nLilcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdFNvcnJ5IC0gdGhpcyBmZGlzayBjYW5ub3QgaGFuZGxlIE1hYyBkaXNrIGxhYmVscy5cbiIKKyN+ICJcdElmIHlvdSB3YW50IHRvIGFkZCBET1MtdHlwZSBwYXJ0aXRpb25zLCBjcmVhdGVcbiIKKyN+ICJcdGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUgZmlyc3QuIChVc2Ugby4pXG4iCisjfiAiXHRXQVJOSU5HOiBUaGlzIHdpbGwgZGVzdHJveSB0aGUgcHJlc2VudCBkaXNrIGNvbnRlbnRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXHRYaW4gbOG7l2kgLSBmZGlzayBuw6B5IGtow7RuZyB0aOG7gyBxdeG6o24gbMO9IG5ow6NuIMSRxKlhIE1hYy5cbiIKKyN+ICJcdE7hur91IGLhuqFuIG114buRbiB0aMOqbSBjw6FjIHBow6JuIHbDuW5nIGThuqFuZyBET1MsIGjDo3kgdOG6oW9cbiIKKyN+ICJcdG3hu5l0IGLhuqNuZyBwaMOibiB2w7luZyBET1MgcuG7l25nIHRyxrDhu5tjLiAoU+G7rSBk4bulbmcg4oCcb+KAnS4pXG4iCisjfiAiXHRD4bqiTkggQsOBTzogTuG7mWkgZHVuZyBoaeG7h24gdOG6oWkgY+G7p2EgxJHEqWEgc+G6vSBi4buLIGjhu6d5LlxuIgorCisjfiBtc2dpZCAiQWNjb3JkaW5nIHRvIE1JUFMgQ29tcHV0ZXIgU3lzdGVtcywgSW5jIHRoZSBMYWJlbCBtdXN0IG5vdCBjb250YWluIG1vcmUgdGhhbiA1MTIgYnl0ZXNcbiIKKyN+IG1zZ3N0ciAiVMO5eSB0aGVvIE1JUFMgQ29tcHV0ZXIgU3lzdGVtcywgSW5jLiB0aMOsIE5ow6NuIGtow7RuZyDEkcaw4bujYyBjaOG7qWEgbmhp4buBdSBoxqFuIDUxMiBieXRlXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU0dJIGRpc2sgbGFiZWwpOiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiAlbGQgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIsSQxKlhICVzIChuaMOjbiDEkcSpYSBTR0kgKTogJWQgxJHhuqd1IMSR4buNYywgJWxsdSBjdW5nIHThu6ssICVsbHUgdHLhu6VcbiIKKyN+ICLEkMahbiB24buLID0gJXMgdHLDqm4gJWQgKiAlbGQgYnl0ZVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIi0tLS0tIHBhcnRpdGlvbnMgLS0tLS1cbiIKKyN+ICJQdCMgJSpzICBJbmZvICAgICBTdGFydCAgICAgICBFbmQgICBTZWN0b3JzICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLS0tLSBjw6FjIHBow6JuIHbDuW5nIC0tLS0tXG4iCisjfiAiUHYjICUqcyAgVGhUaW4gICAgxJDhuqd1ICAgICAgICAgQ3Xhu5FpICBDdW5nIHThu6sgIElkICBI4buHIHRo4buRbmdcbiIKKworI34gbXNnaWQgIiIKKyN+ICItLS0tLSBCb290aW5mbyAtLS0tLVxuIgorI34gIkJvb3RmaWxlOiAlc1xuIgorI34gIi0tLS0tIERpcmVjdG9yeSBFbnRyaWVzIC0tLS0tXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLS0tLSBUaMO0bmcgdGluIGto4bufaSDEkeG7mW5nIC0tLS0tXG4iCisjfiAiVOG6rXAgdGluIGto4bufaSDEkeG7mW5nOiAlc1xuIgorI34gIi0tLS0tIFRoxrAgbeG7pWMgLS0tLS1cbiIKKworI34gbXNnaWQgIiUyemQ6ICUtMTBzIHNlY3RvciU1dSBzaXplJTh1XG4iCisjfiBtc2dzdHIgIiUyemQ6ICUtMTBzIGN1bmcgdOG7qyU1dSBj4buhJTh1XG4iCisKKyN+IG1zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWRcbiIKKyN+IG1zZ3N0ciAiS2jDtG5nIGPDsyBwaMOibiB2w7luZyBuw6BvIMSRxrDhu6NjIMSR4buLbmggbmdoxKlhXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGVudGlyZSBkaXNrIHBhcnRpdGlvbiBpcyBvbmx5ICVkIGRpc2tibG9jayBsYXJnZSxcbiIKKyN+ICJidXQgdGhlIGRpc2sgaXMgJWQgZGlza2Jsb2NrcyBsb25nLlxuIgorI34gbXNnc3RyICIiCisjfiAiUGjDom4gdsO5bmcgY2jhu6lhIGPhuqMgbeG7mXQgxJHEqWEgY2jhu4kgZ+G7k20gJWQga2jhu5FpLFxuIgorI34gInRyb25nIGtoaSDEkcSpYSBjaOG7qWEgJWQga2jhu5FpLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGRvZXMgbm90IHN0YXJ0IG9uIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gbXNnc3RyICJQaMOibiB2w7luZyAlZCBraMO0bmcgYuG6r3QgxJHhuqd1IHRyw6puIHJhbmggZ2nhu5tpIHRy4bulLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiUGjDom4gdsO5bmcgJWQga2jDtG5nIGvhur90IHRow7pjIHRyw6puIHJhbmcgZ2nhu5tpIHRy4bulLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICV6ZCBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC5cbiIKKyN+IG1zZ3N0ciAiUGjDom4gdsO5bmcgJXpkIMSRw6MgxJHGsOG7o2MgxJHhu4tuaCBuZ2jEqWEgcuG7k2kuICBIw6N5IHjDs2EgbsOzIHRyxrDhu5tjIGtoaSB0aMOqbSBs4bqhaSBs4bqnbiBu4buvYS5cbiIKKworI34gbXNnaWQgIiBMYXN0ICVzIgorI34gbXNnc3RyICIgJXMgY3Xhu5FpIgorCisjfiBtc2dpZCAiQnVpbGRpbmcgYSBuZXcgU0dJIGRpc2tsYWJlbC5cbiIKKyN+IG1zZ3N0ciAixJBhbmcgdOG6oW8gbeG7mXQgbmjDo24gxJHEqWEgU0dJIG3hu5tpLlxuIgorCisjfiBtc2dpZCAiSERJT19HRVRHRU8gaW9jdGwgZmFpbGVkIG9uICVzIgorI34gbXNnc3RyICJIRElPX0dFVEdFTyBpb2N0bCBn4bq3cCBs4buXaSB0csOqbiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiAgQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuICBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LlxuIgorI34gIlRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJD4bqjbmggYsOhbzogQkxLR0VUU0laRSBpb2N0bCBn4bq3cCBs4buXaSB0csOqbiAlcy4gU+G7rSBk4bulbmcgZ2nDoSB0cuG7iyBj4bqldSB0csO6YyB0cuG7pSBsw6AgJWxsdS5cbiIKKyN+ICJHacOhIHRy4buLIG7DoHkgY8OzIGzhur0gYuG7iyBj4bqvdCBj4buldCBjaG8gdGhp4bq/dCBi4buLID4gMzMuOCBHQi5cbiIKKworI34gbXNnaWQgIklEPSUwMnhcdFNUQVJUPSVkXHRMRU5HVEg9JWRcbiIKKyN+IG1zZ3N0ciAiSUQ9JTAyeFx0xJDhuqZVPSVkXHTEkOG7mCBEw4BJPSVkXG4iCisKKyN+IG1zZ2lkICJUcnlpbmcgdG8ga2VlcCBwYXJhbWV0ZXJzIG9mIHBhcnRpdGlvbnMgYWxyZWFkeSBzZXQuXG4iCisjfiBtc2dzdHIgIsSQYW5nIGPhu5EgZ2nhu68gbOG6oWkgY8OhYyB0aGFtIHPhu5EgY+G7p2EgcGjDom4gdsO5bmcgxJHDoyDEkcaw4bujYyDEkeG6t3Qgc+G6tW4uXG4iCisKKyN+IG1zZ2lkICJZRVNcbiIKKyN+IG1zZ3N0ciAiWUVTXG4iCisKKyN+IG1zZ2lkICJCdWlsZGluZyBhIG5ldyBTdW4gZGlza2xhYmVsLiIKKyN+IG1zZ3N0ciAixJBhbmcgeMOieSBk4buxbmcgU3VuIGRpc2tsYWJlbCBt4bubaS4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgbGFiZWwpOiAldSBoZWFkcywgJWxsdSBzZWN0b3JzLCAlZCBycG1cbiIKKyN+ICIlbGx1IGN5bGluZGVycywgJWQgYWx0ZXJuYXRlIGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiJWQgZXh0cmEgc2VjdHMvY3lsLCBpbnRlcmxlYXZlICVkOjFcbiIKKyN+ICJMYWJlbCBJRDogJXNcbiIKKyN+ICJWb2x1bWUgSUQ6ICVzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqIDUxMiBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAixJDEqWEgJXMgKG5ow6NuIMSRxKlhIFN1bik6ICV1IMSR4bqndSDEkeG7jWMsICVsbHUgY3VuZyB04burLCAlZCB2w7JuZy9waMO6dFxuIgorI34gIiVsbHUgdHLhu6UsICVkIHRy4bulIHhlbiBr4bq9LCAlZCB0cuG7pSB24bqtdCBsw71cbiIKKyN+ICIlZCBjdW5nIHThu6svdHLhu6UgdGjDqm0sIMSR4buZIHhlbiBr4bq9ICVkOjFcbiIKKyN+ICJJRCBuaMOjbjogJXNcbiIKKyN+ICJJRCB2w7luZzogJXNcbiIKKyN+ICLEkMahbiB24buLID0gJXMgdHLDqm4gJWQgKiA1MTIgYnl0ZVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFN1biBkaXNrIGxhYmVsKTogJXUgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogNTEyIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLEkMSpYSAlcyAobmjDo24gxJHEqWEgU3VuKTogJXUgxJHhuqd1IMSR4buNYywgJWxsdSBjdW5nIHThu6ssICVsbHUgdHLhu6VcbiIKKyN+ICLEkMahbiB24buLID0gJXMgdHLDqm4gJWQgKiA1MTIgYnl0ZVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiJSpzIEZsYWcgICAgU3RhcnQgICAgICAgRW5kICAgIEJsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiJSpzIEPhu50gICAgICDEkOG6p3UgICAgICAgIEN14buRaSAgICBLaOG7kWkgICAgIElkICBI4buHIHRo4buRbmdcbiIKKworI34gbXNnaWQgIiVzIC1BbiBkZXZpY2VcdCBhY3RpdmF0ZSBwYXJ0aXRpb24gbiwgaW5hY3RpdmF0ZSB0aGUgb3RoZXIgb25lc1xuIgorI34gbXNnc3RyICIlcyAtQW4gdGhp4bq/dCBi4buLXHQga8OtY2ggaG/huqF0IHBow6JuIHbDuW5nIG4sIGLhu48ga8OtY2ggaG/huqF0IG5o4buvbmcgY8OhaSBraMOhY1xuIgorCisjfiBtc2dpZCAiIgorI34gIkRvbmVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkhvw6BuIHRow6BuaFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiV0FSTklORzogZmRpc2sgR1BUIHN1cHBvcnQgaXMgY3VycmVudGx5IG5ldywgYW5kIHRoZXJlZm9yZSBpbiBhbiBleHBlcmltZW50YWwgcGhhc2UuIFVzZSBhdCB5b3VyIG93biBkaXNjcmV0aW9uLiIKKyN+IG1zZ3N0ciAiQ+G6ok5IIELDgU86IGjhu5cgdHLhu6MgZmRpc2sgR1BUIGhp4buHbiBsw6AgdMOtbmggbsSDbmcgbeG7m2ksIHbDoCBkbyDEkcOzIG7DsyBt4bubaSBjaOG7iSBsw6AgdGjhu60gbmdoaeG7h20uIELhuqFuIHBo4bqjaSBjaOG7i3UgcuG7p2kgcm8gbuG6v3Ugc+G7rSBk4bulbmcgbsOzLiIKKworI34gbXNnaWQgIkNyZWF0ZWQgcGFydGl0aW9uICV6ZFxuIgorI34gbXNnc3RyICJQaMOibiB2w7luZyDEkcOjIHThuqFvICV6ZFxuIgorCisjfiBtc2dpZCAiQnVpbGRpbmcgYSBuZXcgR1BUIGRpc2tsYWJlbCAoR1VJRDogJTA4WC0lMDRYLSUwNFgtJTAyWCUwMlgtJTAyWCUwMlglMDJYJTAyWCUwMlglMDJYKVxuIgorI34gbXNnc3RyICLEkGFuZyB4w6J5IGThu7FuZyBHUFQgZGlza2xhYmVsIG3hu5tpIChHVUlEOiAlMDhYLSUwNFgtJTA0WC0lMDJYJTAyWC0lMDJYJTAyWCUwMlglMDJYJTAyWCUwMlgpXG4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIC11IDxVU0VSPiBDT01NQU5EXG4iCisjfiBtc2dzdHIgIiAlcyBbY8OhYyB0w7l5IGNo4buNbl0gLXUgPFTDgElfS0hP4bqiTj4gTOG7hk5IXG4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbVVNFUiBbYXJnXS4uLl1cbiIKKyN+IG1zZ3N0ciAiICVzIFtjw6FjLXTDuXktY2jhu41uXSBbLV0gW05HVeG7nEktRMOZTkcgW3Rz4buRXeKApl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLTEsIC0tb25lICAgICAgICBzaG93IG9ubHkgY3VycmVudCBtb250aCAoZGVmYXVsdClcbiIKKyN+ICIgLTMsIC0tdGhyZWUgICAgICBzaG93IHByZXZpb3VzLCBjdXJyZW50IGFuZCBuZXh0IG1vbnRoXG4iCisjfiAiIC1zLCAtLXN1bmRheSAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCisjfiAiIC1tLCAtLW1vbmRheSAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCisjfiAiIC1qLCAtLWp1bGlhbiAgICAgb3V0cHV0IEp1bGlhbiBkYXRlc1xuIgorI34gIiAteSwgLS15ZWFyICAgICAgIHNob3cgd2hvbGUgY3VycmVudCB5ZWFyXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC0xLCAtLW9uZSAgICAgICAgaGnhu4NuIHRo4buLIGNo4buJIHRow6FuZyBoaeG7h24gaMOgbmggKG3hurdjIMSR4buLbmgpXG4iCisjfiAiIC0zLCAtLXRocmVlICAgICAgaGnhu4NuIHRo4buLIHRow6FuZyB0csaw4bubYywgaGnhu4duIGjDoG5oIHbDoCBr4bq/IHRp4bq/cFxuIgorI34gIiAtcywgLS1zdW5kYXkgICAgIENo4bunIG5o4bqtdCBsw6AgbmfDoHkgxJHhuqd1IHRpw6puIGPhu6dhIHR14bqnblxuIgorI34gIiAtbSwgLS1tb25kYXkgICAgIFRo4bupIGhhaSBsw6AgbmfDoHkgxJHhuqd1IHRpw6puIGPhu6dhIHR14bqnblxuIgorI34gIiAtaiwgLS1qdWxpYW4gICAgIGvhur90IHh14bqldCDEkeG7i25oIGThuqFuZyBKdWxpYW5cbiIKKyN+ICIgLXksIC0teWVhciAgICAgICBoaeG7g24gdGjhu4sgdG/DoG4gYuG7mSBuxINtIGhp4buHbiB04bqhaVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImdldGFkZHJpbmZvICVzOiVzOiAlcyIKKyN+IG1zZ3N0ciAiZ2V0YWRkcmluZm8gJXM6JXM6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIiAtZCwgLS11ZHAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCisjfiAiIC1pLCAtLWlkICAgICAgICAgICAgICBsb2cgdGhlIHByb2Nlc3MgSUQgdG9vXG4iCisjfiAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICBsb2cgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1kLCAtLXVkcCAgICAgICAgICAgICBjaOG7iSBkw7luZyBVRFBcbiIKKyN+ICIgLWksIC0taWQgICAgICAgICAgICAgIGdoaSBj4bqjIG5o4bqtdCBrw70gSUQgdGnhur9uIHRyw6xuaFxuIgorI34gIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgZ2hpIG5o4bqtdCBrw70gbuG7mWkgZHVuZyBj4bunYSB04bqtcCB0aW4gbsOgeVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHkgcuG7k2kgdGhvw6F0XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1uLCAtLXNlcnZlciA8bmFtZT4gICB3cml0ZSB0byB0aGlzIHJlbW90ZSBzeXNsb2cgc2VydmVyXG4iCisjfiAiIC1QLCAtLXBvcnQgPG51bWJlcj4gICB1c2UgdGhpcyBVRFAgcG9ydFxuIgorI34gIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gbWFyayBnaXZlbiBtZXNzYWdlIHdpdGggdGhpcyBwcmlvcml0eVxuIgorI34gIiAtcywgLS1zdGRlcnIgICAgICAgICAgb3V0cHV0IG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IgYXMgd2VsbFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1uLCAtLXNlcnZlciA8bmFtZT4gICBnaGkgdOG7m2kgbcOheSBjaOG7pyBnaGkgbmjhuq10IGvDvSBo4buHIHRo4buRbmcgdHLDqm4gbeG6oW5nIG7DoHlcbiIKKyN+ICIgLVAsIC0tcG9ydCA8bnVtYmVyPiAgIHPhu60gZOG7pW5nIGPhu5VuZyBVRFAgbsOgeVxuIgorI34gIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gxJHDoW5oIGThuqV1IHRow7RuZyDEkWnhu4dwIMSRw6MgY2jhu4kgcmEgduG7m2kgbeG7qWMgxrB1IHRpw6puIG7DoHlcbiIKKyN+ICIgLXMsIC0tc3RkZXJyICAgICAgICAgIGvhur90IHh14bqldCB0aMO0bmcgxJFp4buHcCByYSDEkeG6p3UgbOG7l2kgY2h14bqpbiBjxaluZyB04buRdFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtdCwgLS10YWcgPHRhZz4gICAgICAgbWFyayBldmVyeSBsaW5lIHdpdGggdGhpcyB0YWdcbiIKKyN+ICIgLXUsIC0tc29ja2V0IDxzb2NrZXQ+IHdyaXRlIHRvIHRoaXMgVW5peCBzb2NrZXRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXQsIC0tdGFnIDx0YWc+ICAgICAgIMSRw6FuaCBk4bqldSBt4buNaSBkw7JuZyB24bubaSBj4budIG7DoHlcbiIKKyN+ICIgLXUsIC0tc29ja2V0IDxzb2NrZXQ+IGdoaSB2w6BvIMSR4bqndSBu4buRaSAoc29ja2V0KSBVbml4IG7DoHlcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIkZhaWxlZCB0byBvcGVuL2NyZWF0ZSAlczogJW1cbiIKKyN+IG1zZ3N0ciAiTOG7l2kgdOG6oW8gaG/hurdjIG3hu58vdOG6oW8gICVzOiAlbVxuIgorCisjfiBtc2dpZCAiRmFpbGVkIHRvIGxvY2sgJXM6ICVtXG4iCisjfiBtc2dzdHIgIkzhu5dpIGtoaSBraMOzYSAlczogJW1cbiIKKworI34gbXNnaWQgIkJhZCBudW1iZXI6ICVzXG4iCisjfiBtc2dzdHIgIlPhu5Egc2FpOiAlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbiByZWFkYWJsZSB0aW1lc3RhbXAgKGNvdWxkIGJlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmFjY3VyYXRlIGlmIHlvdSBoYXZlIHVzZWQgU1VTUEVORC9SRVNVTUUpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyBk4bqldSB24bq/dCB0aOG7nWkgZ2lhbiDhu58gZOG6oW5nIGNvbiBuZ8aw4budaSDEkeG7jWMgxJHGsOG7o2MgKGPDsyB0aOG7g1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBraMO0bmcgY2jDrW5oIHjDoWMgbuG6v3UgYuG6oW4gxJHDoyBkw7luZyBTVVNQRU5EL1JFU1VNRSlcbiIKKworI34gbXNnaWQgIi0tbm90aW1lIGNhbid0IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWN0aW1lIG9yIC0tcmVsdGltZSIKKyN+IG1zZ3N0ciAiLS1ub3RpbWUga2jDtG5nIHRo4buDIHPhu60gZOG7pW5nIGPDuW5nIHbhu5tpIC0tY3RpbWUgaGF5IC0tcmVsdGltZSIKKworI34gbXNnaWQgImZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIGZhaWxlZCIKKyN+IG1zZ3N0ciAidMOsbSB0aGnhur90IGLhu4sgbG9vcCBjaMawYSBz4butIGThu6VuZyBn4bq3cCBs4buXaSIKKworI34gbXNnaWQgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgb3V0cHV0IGhlbHAgc2NyZWVuIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgIGdp4bqjaSB0aMOtY2ggbmjhu69uZyBnw6wgxJFhbmcgxJHGsOG7o2MgbMOgbVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgeHXhuqV0IHRow7RuZyB0aW4gcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgaGnhu4NuIHRo4buLIG3DoG4gaMOsbmggdHLhu6MgZ2nDunAgcuG7k2kgdGhvw6F0XG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIGRvIG5vdCBwcmludCBiYW5uZXIsIHdvcmtzIG9ubHkgZm9yIHJvb3RcbiIKKyN+ICIgLXQsIC0tdGltZW91dCA8dGltZW91dD4gd3JpdGUgdGltZW91dCBpbiBzZWNvbmRzXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAga2jDtG5nIGluIHJhIHRpw6p1IMSR4buBIChiYW5uZXIpLCBjaOG7iSBsw6BtIHZp4buHYyB24bubaSByb290XG4iCisjfiAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IGdoaSB0aOG7nWkgZ2lhbiBxdcOhIGdp4budIHTDrW5oIGLhurFuZyBnacOieVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IHLhu5NpIHRob8OhdFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0cmluZz5cbiIKKyN+IG1zZ3N0ciAiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPGNodeG7l2k+XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDw6FjaCBkw7luZzpcbiIKKyN+ICIlcyBbdMO5eV9jaOG7jW5dIHTDqm5fdOG7h3BfdGlu4oCmXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLWIgICAgICAgICAgICAgIG9uZS1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKKyN+ICIgLWMgICAgICAgICAgICAgIG9uZS1ieXRlIGNoYXJhY3RlciBkaXNwbGF5XG4iCisjfiAiIC1DICAgICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKKyN+ICIgLWQgICAgICAgICAgICAgIHR3by1ieXRlIGRlY2ltYWwgZGlzcGxheVxuIgorI34gIiAtbyAgICAgICAgICAgICAgdHdvLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorI34gIiAteCAgICAgICAgICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorI34gIiAtZSBmb3JtYXQgICAgICAgZm9ybWF0IHN0cmluZyB0byBiZSB1c2VkIGZvciBkaXNwbGF5aW5nIGRhdGFcbiIKKyN+ICIgLWYgZm9ybWF0X2ZpbGUgIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorI34gIiAtbiBsZW5ndGggICAgICAgaW50ZXJwcmV0IG9ubHkgbGVuZ3RoIGJ5dGVzIG9mIGlucHV0XG4iCisjfiAiIC1zIG9mZnNldCAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKKyN+ICIgLXYgICAgICAgICAgICAgIGRpc3BsYXkgd2l0aG91dCBzcXVlZXppbmcgc2ltaWxhciBsaW5lc1xuIgorI34gIiAtViAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkPDoWMgdMO5eSBjaOG7jW46XG4iCisjfiAiIC1iICAgICAgICAgICAgICBoaeG7g24gdGjhu4sga2nhu4N1IG3hu5l0LWJ5dGUgYsOhdCBwaMOiblxuIgorI34gIiAtYyAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIGtp4buDdSBt4buZdC1ieXRlIGvDvSB04buxXG4iCisjfiAiIC1DICAgICAgICAgICAgICBoaeG7g24gdGjhu4sga2nhu4N1IHRo4bqtcCBs4bulYyBwaMOibiAgK0FTQ0lJIGNhbm9uaWNhbFxuIgorI34gIiAtZCAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIGtp4buDdSBoYWktYnl0ZSB0aOG6rXAgcGjDom5cbiIKKyN+ICIgLW8gICAgICAgICAgICAgIGhp4buDbiB0aOG7iyBraeG7g3UgaGFpLWJ5dGUgYsOhdCBwaMOiblxuIgorI34gIiAteCAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIGtp4buDdSBoYWktYnl0ZSB0aOG6rXAgbOG7pWMgcGjDom5cbiIKKyN+ICIgLWUgZm9ybWF0ICAgICAgIGNodeG7l2kgxJHDoyDEkeG7i25oIGThuqFuZyDEkcaw4bujYyBz4butIGThu6VuZyDEkeG7gyBoaeG7g24gdGjhu4sgZOG7ryBsaeG7h3VcbiIKKyN+ICIgLWYgZm9ybWF0X2ZpbGUgIHThuq1wIHRpbiBtw6AgbsOzIGNo4bupYSBjaOG7l2kgxJHDoyDEkeG7i25oIGThuqFuZ1xuIgorI34gIiAtbiBsZW5ndGggICAgICAgY2jhu4kgdGjhu4MgaGnhu4duIGNoaeG7gXUgZMOgaSBj4bunYSBr4bq/dCB4deG6pXQgdMOtbmggdGhlbyBieXRlXG4iCisjfiAiIC1zIG9mZnNldCAgICAgICBi4buPIHF1YSBt4buZdCBraG/huqNuZyAobeG7mXQgc+G7kSkgIGJ5dGVzIHTDrW5oIHThu6sgxJFp4buDbSBi4bqvdCDEkeG6p3VcbiIKKyN+ICIgLXYgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyBtw6Aga2jDtG5nIGThu5NuIG7DqW4gY8OhYyBkw7JuZyBnaeG7kW5nIG5oYXVcbiIKKyN+ICIgLVYgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImNyeXB0IGZhaWxlZDogJW1cbiIKKyN+IG1zZ3N0ciAiY3J5cHQgZ+G6t3AgbOG7l2k6ICVtXG4iCisKKyN+IG1zZ2lkICJDYW4gbm90IGZvcms6ICVtXG4iCisjfiBtc2dzdHIgIktow7RuZyB0aOG7gyBwaMOibiBuaMOhbmg6ICVtXG4iCisKKyN+IG1zZ2lkICJidWcgaW4geHN0cm5kdXAgY2FsbCIKKyN+IG1zZ3N0ciAibOG7l2kgKGJ1ZykgdHJvbmcgbOG7nWkgZ+G7jWkgeHN0cm5kdXAiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLUEgICAgICAgICBjaGVjayBhbGwgZmlsZXN5c3RlbXNcbiIKKyN+ICIgLVIgICAgICAgICBza2lwIHJvb3QgZmlsZXN5c3RlbTsgdXNlZnVsIG9ubHkgd2l0aCBgLUEnXG4iCisjfiAiIC1NICAgICAgICAgZG8gbm90IGNoZWNrIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKKyN+ICIgLXQgPHR5cGU+ICBzcGVjaWZ5IGZpbGVzeXN0ZW0gdHlwZXMgdG8gYmUgY2hlY2tlZDtcbiIKKyN+ICIgICAgICAgICAgICAgIHR5cGUgaXMgYWxsb3dlZCB0byBiZSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuIgorI34gIiAtUCAgICAgICAgIGNoZWNrIGZpbGVzeXN0ZW1zIGluIHBhcmFsbGVsLCBpbmNsdWRpbmcgcm9vdFxuIgorI34gIiAtciAgICAgICAgIHJlcG9ydCBzdGF0aXN0aWNzIGZvciBlYWNoIGRldmljZSBmc2NrXG4iCisjfiAiIC1zICAgICAgICAgc2VyaWFsaXplIGZzY2sgb3BlcmF0aW9uc1xuIgorI34gIiAtbCAgICAgICAgIGxvY2sgdGhlIGRldmljZSB1c2luZyBmbG9jaygpXG4iCisjfiAiIC1OICAgICAgICAgZG8gbm90IGV4ZWN1dGUsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGJlIGRvbmVcbiIKKyN+ICIgLVQgICAgICAgICBkbyBub3Qgc2hvdyB0aGUgdGl0bGUgb24gc3RhcnR1cFxuIgorI34gIiAtQyA8ZmQ+ICAgIGRpc3BsYXkgcHJvZ3Jlc3MgYmFyOyBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKKyN+ICIgLVYgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorI34gIiAtPyAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiAiU2VlIGZzY2suKiBjb21tYW5kcyBmb3IgZnMtb3B0aW9ucy4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJUw7l5IGNo4buNbjpcbiIKKyN+ICIgLUEgICAgICAgICBraeG7g20gdHJhIHRvw6BuIGLhu5kgaOG7hyB0aOG7kW5nXG4iCisjfiAiIC1SICAgICAgICAgYuG7jyBxdWEgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBn4buRYyAocm9vdCk7IGNo4buJIGPDsyDDrWNoIHbhu5tpIHTDuXkgY2jhu41uIOKAnC1B4oCdXG4iCisjfiAiIC1NICAgICAgICAga2jDtG5nIGtp4buDbSB0cmEgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiDEkcOjIGfhuq9uXG4iCisjfiAiIC10IDxraeG7g3U+ICBjaOG7iSDEkeG7i25oIGtp4buDdSBjaG8gaOG7hyB0aMO0bmcgdOG6rXAgdGluIHPhur0gxJHGsOG7o2Mga2nhu4NtIHRyYTtcbiIKKyN+ICIgICAgICAgICAgICBraeG7g3UgxJHGsOG7o2MgY2hvIHBow6lwIGzDoCBkYW5oIHPDoWNoIG5nxINuIGPDoWNoIGLhurFuZyBk4bqldSBwaOG6qXlcbiIKKyN+ICIgLVAgICAgICAgICBraeG7g20gdHJhIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gc29uZyBzb25nLCBiYW8gZ+G7k20gY+G6oyByb290XG4iCisjfiAiIC1yICAgICAgICAgYsOhbyBjw6FvIHRo4buRbmcga8OqIGNobyBt4buXaSBmc2NrIHRoaeG6v3QgYuG7i1xuIgorI34gIiAtcyAgICAgICAgIGhv4bqhdCDEkeG7mW5nIGtp4buDdSBmc2NrIG7hu5FpIHRp4bq/cCBuaGF1XG4iCisjfiAiIC1sICAgICAgICAga2jDs2EgdGhp4bq/dCBi4buLIHPhu60gZOG7pW5nIGZsb2NrKClcbiIKKyN+ICIgLU4gICAgICAgICBraMO0bmcgdGjhu7FjIGhp4buHbiwgY2jhu4kgaGnhu4NuIHRo4buLIGPDoWkgZ8OsIHPhur0gbMOgbVxuIgorI34gIiAtVCAgICAgICAgIGtow7RuZyBoaeG7g24gdGjhu4sgdGnDqnUgxJHhu4Ega2hpIGto4bufaSDEkeG7mW5nXG4iCisjfiAiIC1DIDxmZD4gICAgaGnhu4NuIHRo4buLIHRoYW5oIGRp4buFbiB0aeG6v247IGLhu5kgbcO0IHThuqMgdOG6rXAgdGluIGNobyBHVUlzXG4iCisjfiAiIC1WICAgICAgICAgZ2nhuqNuZyBnaeG6o2kgY8OhaSBnw6wgxJFhbmcgxJHGsOG7o2MgbMOgbVxuIgorI34gIiAtPyAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IHLhu5NpIHRob8OhdFxuIgorI34gIlxuIgorI34gIlhlbSBs4buHbmggZnNjay4qIMSR4buDIGJp4bq/dCBjw6FjLXTDuXktY2jhu41uLWZzLiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtZCwgLS1kaXZpc29yPU5VTSAgICAgIGRpdmlkZSBieXRlcyBOVU1cbiIKKyN+ICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICBzaG93IHNlY3RvciBjb3VudCBhbmQgc2l6ZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1ILCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlTDuXkgY2jhu41uOlxuIgorI34gIiAtZCwgLS1kaXZpc29yPVPhu5AgICAgICAgU+G7kCBieXRlIGNoaWFcbiIKKyN+ICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICBoaeG7g24gdGjhu4sgc+G7kSByw6NuaCB2w6Aga8OtY2ggdGjGsOG7m2NcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB24buBIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKyN+ICIgLUgsIC0taGVscCAgICAgICAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtdCwgLS10eXBlPVRZUEUgIGZpbGUgc3lzdGVtIHR5cGUsIHdoZW4gdW5kZWZpbmVkIGV4dDIgaXMgdXNlZFxuIgorI34gIiAgICAgZnMtb3B0aW9ucyAgIHBhcmFtZXRlcnMgdG8gcmVhbCBmaWxlIHN5c3RlbSBidWlsZGVyXG4iCisjfiAiICAgICBkZXZpY2UgICAgICAgcGF0aCB0byBhIGRldmljZVxuIgorI34gIiAgICAgc2l6ZSAgICAgICAgIG51bWJlciBvZiBibG9ja3Mgb24gdGhlIGRldmljZVxuIgorI34gIiAtViwgLS12ZXJib3NlICAgIGV4cGxhaW4gd2hhdCBpcyBkb25lXG4iCisjfiAiICAgICAgICAgICAgICAgICAgZGVmaW5pbmcgLVYgbW9yZSB0aGFuIG9uY2Ugd2lsbCBjYXVzZSBhIGRyeS1ydW5cbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAgICAgICAgICAgICAgICAgIC1WIGFzIHZlcnNpb24gbXVzdCBiZSBvbmx5IG9wdGlvblxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtdCwgLS10eXBlPVRZUEUgIGtp4buDdSBo4buHIHRo4buRbmcgdOG6rXAgdGluLCBraGkgZXh0MiBjaMawYSByw7UgxJHGsOG7o2Mgc+G7rSBk4bulbmdcbiIKKyN+ICIgICAgIGZzLW9wdGlvbnMgICBjw6FjIHRoYW0gc+G7kSBjaG8gYuG7mSB4w6J5IGThu7FuZyBo4buHIHRo4buRbmcgdOG6rXAgdGluIHRo4buxYyB04bq/XG4iCisjfiAiICAgICBkZXZpY2UgICAgICAgxJHGsOG7nW5nIGThuqtuIHThu5tpIHRoaeG6v3QgYuG7i1xuIgorI34gIiAgICAgc2l6ZSAgICAgICAgIHPhu5EgbMaw4bujbmcga2jhu5FpIHRyw6puIHRoaeG6v3QgYuG7i1xuIgorI34gIiAtViwgLS12ZXJib3NlICAgIGdp4bqjaSB0aMOtY2ggxJHDoyBsw6BtIG5o4buvbmcgZ8OsXG4iCisjfiAiICAgICAgICAgICAgICAgICAgdGjDqm0gLVYgbmhp4buBdSBoxqFuIG3hu5l0IMSR4buDIGPDsyBuaGnhu4F1IHRow7RuZyB0aW4gaMahbiBu4buvYVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHbhu4EgcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorI34gIiAgICAgICAgICAgICAgICAgIC1WIGNo4buJIGzDoCB0w7l5IGNo4buNblxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IHLhu5NpIHRob8OhdFxuIgorCisjfiBtc2dpZCAibWtmcyAoJXMpXG4iCisjfiBtc2dzdHIgIm1rZnMgKCVzKVxuIgorCisjfiBtc2dpZCAic3RydG9sIGVycm9yOiBudW1iZXIgb2YgYmxvY2tzIG5vdCBzcGVjaWZpZWQiCisjfiBtc2dzdHIgImzhu5dpIHN0cnRvbDoga2jDtG5nIGNo4buJIHJhIHPhu5Ega2jhu5FpIgorCisjfiBtc2dpZCAib25lIGJhZCBwYWdlXG4iCisjfiBtc2dzdHIgIm3hu5l0IHRyYW5nIHNhaVxuIgorCisjfiBtc2dpZCAiICAgICAgICBvbiB3aG9sZSBkaXNrLiAiCisjfiBtc2dzdHIgIiAgICAgICAgdHLDqm4gdG/DoG4gxJHEqWEuICIKKworI34gbXNnaWQgImRvZXMgbm90IHN1cHBvcnQgc3dhcHNwYWNlIHZlcnNpb24gJWQuIgorI34gbXNnc3RyICJraMO0bmcgaOG7lyB0cuG7oyBzd2Fwc3BhY2UgcGhpw6puIGLhuqNuICVkLiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWRkICAgICAgICAgICAgYWRkIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCisjfiAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIGRlbGV0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgKERFUFJFQ0FURUQpXG4iCisjfiAiIC1zLCAtLXNob3cgICAgICAgICAgIGxpc3QgcGFydGl0aW9uc1xuIgorI34gIlxuIgorI34gIiAtYiwgLS1ieXRlcyAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorI34gIiAtZywgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1zaG93XG4iCisjfiAiIC1uLCAtLW5yIDxuOm0+ICAgICAgIHNwZWNpZnkgdGhlIHJhbmdlIG9mIHBhcnRpdGlvbnMgKGUuZy4gLS1uciAyOjQpXG4iCisjfiAiIC1vLCAtLW91dHB1dCA8dHlwZT4gIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyN+ICIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyN+ICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgc3BlY2lmeSB0aGUgcGFydGl0aW9uIHR5cGUgKGRvcywgYnNkLCBzb2xhcmlzLCBldGMuKVxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICB2ZXJib3NlIG1vZGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hZGQgICAgICAgICAgICB0aMOqbSBjw6FjIHBow6JuIHbDuW5nIMSRw6MgY2jhu4kgxJHhu4tuaCBoYXkgdOG6pXQgY+G6oyBjaMO6bmdcbiIKKyN+ICIgLWQsIC0tZGVsZXRlICAgICAgICAgeMOzYSBjw6FjIHBow6JuIHbDuW5nIMSRw6MgY2jhu4kgxJHhu4tuaCBoYXkgdOG6pXQgY+G6oyBjaMO6bmdcbiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgbGnhu4d0IGvDqiBjw6FjIHBow6JuIHbDuW5nIChLSMOUTkcgTsOKTiBEw5lORyBO4buuQSlcbiIKKyN+ICIgLXMsIC0tc2hvdyAgICAgICAgICAgbGnhu4d0IGvDqiBjw6FjIHBow6JuIHbDuW5nXG4iCisjfiAiXG4iCisjfiAiIC1iLCAtLWJ5dGVzICAgICAgICAgIGhp4buDbiB0aOG7iyBTSVpFIHTDrW5oIHRoZW8gYnl0ZSB0aGF5IHbDrCDEkeG7i25oIGThuqFuZ1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICDEkeG7gyBjaG8gY29uIG5nxrDhu51pIMSR4buNY1xuIgorI34gIiAtZywgLS1ub2hlYWRpbmdzICAgICBraMO0bmcgaGnhu4NuIHRo4buLIHRpw6p1IMSR4buBIGNobyB0w7l5IGNo4buNbiAtLXNob3dcbiIKKyN+ICIgLW4sIC0tbnIgPG46bT4gICAgICAgY2jhu4kgxJHhu4tuaCBt4buZdCB2w7luZyBjw6FjIHBow6JuIHbDuW5nICh2LmQgLS1uciAyOjQpXG4iCisjfiAiIC1vLCAtLW91dHB1dCA8dHlwZT4gIMSR4buLbmggbmdoxKlhIGPhu5l0IG7DoG8gc+G6vSDEkcaw4bujYyBkw7luZ1xuIgorI34gIiAtUCwgLS1wYWlycyAgICAgICAgICBz4butIGThu6VuZyBraMOzYT1cImdpw6EgdHLhu4tcIiBsw6BtIMSR4buLbmggZOG6oW5nIGvhur90IHh14bqldFxuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICBz4butIGThu6VuZyBr4bq/dCB4deG6pXQgZOG6oW5nIHRow7RcbiIKKyN+ICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgY2jhu4kgxJHhu4tuaCBraeG7g3UgcGjDom4gdsO5bmcgKGRvcywgYnNkLCBzb2xhcmlzLCB2LnYuLilcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgY2jhur8gxJHhu5kgaGnhu4NuIHRo4buLIMSR4bqneSDEkeG7p1xuIgorCisjfiBtc2dpZCAiV2FybmluZyEhICBVbnN1cHBvcnRlZCBHUFQgKEdVSUQgUGFydGl0aW9uIFRhYmxlKSBkZXRlY3RlZC4gVXNlIEdOVSBQYXJ0ZWQuIgorI34gbXNnc3RyICJD4bqjbmggYsOhbyEhICBQaMOhdCBoaeG7h24gR1BUIChi4bqjbmcgcGjDom4gdsO5bmcgR1VJRCkga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MuIEjDo3kgZMO5bmcgY2jGsMahbmcgdHLDrG5oIEdOVSBQYXJ0ZWQuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0VGhlcmUgaXMgYSB2YWxpZCBBSVggbGFiZWwgb24gdGhpcyBkaXNrLlxuIgorI34gIlx0VW5mb3J0dW5hdGVseSBMaW51eCBjYW5ub3QgaGFuZGxlIHRoZXNlXG4iCisjfiAiXHRkaXNrcyBhdCB0aGUgbW9tZW50LiAgTmV2ZXJ0aGVsZXNzIHNvbWVcbiIKKyN+ICJcdGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+ICJcdDMuIEJlZm9yZSBkZWxldGluZyB0aGlzIHBoeXNpY2FsIHZvbHVtZSBiZSBzdXJlXG4iCisjfiAiXHQgICB0byByZW1vdmUgdGhlIGRpc2sgbG9naWNhbGx5IGZyb20geW91ciBBSVhcbiIKKyN+ICJcdCAgIG1hY2hpbmUuICAoT3RoZXJ3aXNlIHlvdSBiZWNvbWUgYW4gQUlYcGVydCkuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHRDw7MgbeG7mXQgbmjDo24gQUlYIGjhu6NwIGzhu4cgdHLDqm4gxJHEqWEgbsOgeS5cbiIKKyN+ICJcdEtow7RuZyBtYXkgbMOgIGhp4buHbiB04bqhaSBMaW51eCBraMO0bmcgdGjhu4MgxJFp4buBdSBraGnhu4NuXG4iCisjfiAiXHRuaOG7r25nIMSRxKlhIG7DoHkuICBUdXkgbmhpw6puIG3hu5l0IHbDoGlcbiIKKyN+ICJcdGzhu51pIGtodXnDqm46XG4iCisjfiAiXHQxLiBmZGlzayBz4bq9IGjhu6d5IGjhur90IG7hu5lpIGR1bmcgxJHEqWEga2hpIGdoaS5cbiIKKyN+ICJcdDIuIEPhuqduIMSR4bqjbSBi4bqjbyBsw6AgxJHEqWEgbsOgeSBLSMOUTkcgcGjhuqNpIGzDoCBwaOG6p25cbiIKKyN+ICJcdCAgIHF1YW4gdHLhu41uZyBj4bunYSBt4buZdCBuaMOzbSDEkcSpYS4gKE7Ds2kgY8OhY2gga2jDoWMgYuG6oW4gY8OzXG4iCisjfiAiXHQgICB0aOG7gyB4w7NhIGPDoWMgxJHEqWEga2jDoWMsIG7hur91IGtow7RuZyB04bqhbyBnxrDGoW5nLilcbiIKKyN+ICJcdDMuIFRyxrDhu5tjIGtoaSB4w7NhIGLhu5kgxJHEqWEgduG6rXQgbMO9IG7DoHksIGPhuqduIHBo4bqjaVxuIgorI34gIlx0ICAgeMOzYSDEkcSpYSBt4buZdCBjw6FjaCBsw7Rnw61jIHThu6sgbcOheSBBSVguXG4iCisjfiAiXHQgICAoTsOzaSBjw6FjaCBraMOhYyBi4bqhbiB0cuG7nyB0aMOgbmggQUlYcGVydFxuIgorI34gIlx0XHRbY2jGoWkgY2jhu68gduG7m2kg4oCcZXhwZXJ04oCdIDspIF0pLiIKKworI34gbXNnaWQgIiIKKyN+ICJcdFNvcnJ5IC0gdGhpcyBmZGlzayBjYW5ub3QgaGFuZGxlIEFJWCBkaXNrIGxhYmVscy5cbiIKKyN+ICJcdElmIHlvdSB3YW50IHRvIGFkZCBET1MtdHlwZSBwYXJ0aXRpb25zLCBjcmVhdGVcbiIKKyN+ICJcdGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUgZmlyc3QuIChVc2Ugby4pXG4iCisjfiAiXHRXQVJOSU5HOiBUaGlzIHdpbGwgZGVzdHJveSB0aGUgcHJlc2VudCBkaXNrIGNvbnRlbnRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXHRYaW4gbOG7l2kgLSBmZGlzayBuw6B5IGtow7RuZyB0aOG7gyBxdeG6o24gbMO9IG5ow6NuIMSRxKlhIEFJWC5cbiIKKyN+ICJcdE7hur91IGLhuqFuIG114buRbiB0aMOqbSBjw6FjIHBow6JuIHbDuW5nIGThuqFuZyBET1MsIGjDo3kgdOG6oW9cbiIKKyN+ICJcdG3hu5l0IGLhuqNuZyBwaMOibiB2w7luZyBET1MgcuG7l25nIHRyxrDhu5tjLiAoU+G7rSBk4bulbmcgby4pXG4iCisjfiAiXHRD4bqiTkggQsOBTzogTuG7mWkgZHVuZyBoaeG7h24gdOG6oWkgY+G7p2EgxJHEqWEgc+G6vSBi4buLIGjhu6d5LlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkJTRCBsYWJlbCBmb3IgZGV2aWNlOiAlc1xuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTmjDo24gQlNEIGNobyB0aGnhur90IGLhu4s6ICVzXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJWQgaGFzIGVtcHR5IHR5cGVcbiIKKyN+IG1zZ3N0ciAiQ+G6o25oIGLDoW86IHBow6JuIHbDuW5nICVkIGNoxrBhIHBow6JuIGxv4bqhaVxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVpIGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiUGjDom4gdsO5bmcgJWkga2jDtG5nIGvhur90IHRow7pjIHRyw6puIHJhbmggZ2nhu5tpIHRy4bulOlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IEdQVCAoR1VJRCBQYXJ0aXRpb24gVGFibGUpIGRldGVjdGVkIG9uICclcychIFRoZSB1dGlsIGZkaXNrIGRvZXNuJ3Qgc3VwcG9ydCBHUFQuIFVzZSBHTlUgUGFydGVkLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQ+G6ok5IIELDgU86IHBow6F0IGhp4buHbiBHUFQgKGLhuqNuZyBwaMOibiB2w7luZyBHVUlEKSB0csOqbiDigJwlc+KAnS4gVGnhu4duIMOtY2ggZmRpc2sga2jDtG5nIGjhu5cgdHLhu6MgR1BULiBIw6N5IGTDuW5nIGNoxrDGoW5nIHRyw6xuaCBHTlUgUGFydGVkLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiTm90ZTogc2VjdG9yIHNpemUgaXMgJWxkIChub3QgJWQpXG4iCisjfiBtc2dzdHIgIkNow7ogw706IGvDrWNoIHRoxrDhu5tjIGN1bmcgdOG7qyBsw6AgJWxkIChraMO0bmcgcGjhuqNpIGzDoCAlZClcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBHUFQgKEdVSUQgUGFydGl0aW9uIFRhYmxlKSBkZXRlY3RlZCBvbiAnJXMnISBUaGUgdXRpbCBzZmRpc2sgZG9lc24ndCBzdXBwb3J0IEdQVC4gVXNlIEdOVSBQYXJ0ZWQuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJD4bqiTkggQsOBTzogcGjDoXQgaGnhu4duIEdQVCAoYuG6o25nIHBow6JuIHbDuW5nIEdVSUQpIHRyw6puIOKAnCVz4oCdLiBUaeG7h24gw61jaCBzZmRpc2sga2jDtG5nIGjhu5cgdHLhu6MgR1BULiBIw6N5IGTDuW5nIGNoxrDGoW5nIHRyw6xuaCBHTlUgUGFydGVkLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiVXNlIHRoZSAtLWZvcmNlIGZsYWcgdG8gb3ZlcnJ1bGUgdGhpcyBjaGVjay5cbiIKKyN+IG1zZ3N0ciAiU+G7rSBk4bulbmcgY+G7nSDigJwtLWZvcmNl4oCdIChi4bqvdCBideG7mWMpIMSR4buDIGLDo2kgYuG7jyBz4buxIGtp4buDbSB0cmEgbsOgeS5cbiIKKworI34gbXNnaWQgImV4ZWMgJXMgZmFpbGVkIgorI34gbXNnc3RyICJleGVjICVzIGLhu4sgbOG7l2kiCisKKyN+IG1zZ2lkICIiCisjfiAiIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgbWFrZSB0aGUgc2hlbGwgYSBsb2dpbiBzaGVsbFxuIgorI34gIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorI34gIiAtLXNlc3Npb24tY29tbWFuZCA8Y29tbWFuZD4gIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkbyBub3QgY3JlYXRlIGEgbmV3IHNlc3Npb25cbiIKKyN+ICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICBwYXNzIC1mIHRvIHRoZSBzaGVsbCAoZm9yIGNzaCBvciB0Y3NoKVxuIgorI34gIiAtbSwgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCAgIGRvIG5vdCByZXNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXNcbiIKKyN+ICIgLXAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1lIGFzIC1tXG4iCisjfiAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgcnVuIHNoZWxsIGlmIC9ldGMvc2hlbGxzIGFsbG93cyBpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgbMOgbSBjaG8gc2hlbGwgKGjhu4cgduG7jykgbMOgIMSRxrDhu6NjIMSRxINuZyBuaOG6rXBcbiIKKyN+ICIgLWMsIC0tY29tbWFuZCA8bOG7h25oPiAgICAgICAgIGNodXnhu4NuIG3hu5l0IGPDonUgbOG7h25oIMSRxqFuIGNobyBzaGVsbCAoaOG7hyB24buPKSBi4bqxbmcgLWNcbiIKKyN+ICIgLS1zZXNzaW9uLWNvbW1hbmQgPGzhu4duaD4gICAgIGNodXnhu4NuIG3hu5l0IGPDonUgbOG7h25oIMSRxqFuIGNobyBzaGVsbCAoaOG7hyB24buPKSBi4bqxbmcgLWNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2w6Aga2jDtG5nIHThuqFvIG3hu5l0IHBoacOqbiBt4bubaVxuIgorI34gIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgIGNodXnhu4NuIC1mIGNobyBzaGVsbCAoaOG7hyB24buPKSAoY2hvIGNzaCBoYXkgdGNzaClcbiIKKyN+ICIgLW0sIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgICBraMO0bmcgxJHhurd0IGzhuqFpIGJp4bq/biBtw7RpIHRyxrDhu51uZ1xuIgorI34gIiAtcCAgICAgICAgICAgICAgICAgICAgICAgICAgIGdp4buRbmcgduG7m2kgLW1cbiIKKyN+ICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICBjaOG6oXkgc2hlbGwgKGjhu4cgduG7jykgbuG6v3UgL2V0Yy9zaGVsbHMgY2hvIHBow6lwXG4iCisKKyN+IG1zZ2lkICIlczogZXhlYyBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiBleGVjIGfhurdwIGzhu5dpIgorCisjfiBtc2dpZCAiVElPQ1NDVFRZOiBpb2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgIlRJT0NTQ1RUWTogaW9jdGwgZ+G6t3AgbOG7l2kiCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWytmb3JtYXRdIFtkYXkgbW9udGggeWVhcl1cbiIKKyN+IG1zZ3N0ciAiY8OhY2ggZMO5bmc6ICVzIFsrxJHhu4tuaF9k4bqhbmddIFtuZ8OgeSB0aMOhbmcgbsSDbV1cbiIKKworI34gbXNnaWQgIlN0LiBUaWIncyBEYXkiCisjfiBtc2dzdHIgIk5nw6B5IFRow6FuaCBUaWIiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1PLCAtLW9wdGlvbnMgPGxpc3Q+ICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBtb3VudCBvcHRpb25zXG4iCisjfiAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgdGhlIG91dHB1dCBjb2x1bW5zIHRvIGJlIHNob3duXG4iCisjfiAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorI34gIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgRlMgdHlwZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGdp4bubaSBo4bqhbnThuq1wIGjhu6NwIGPhu6dhICBo4buHIHRo4buRbmcgdOG6rXAgdGluIGLhu59pIGPDoWMgdMO5eSBjaOG7jW4gZ+G6r25cbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBjw6FjIGPhu5l0IHPhur0gxJHGsOG7o2MgaGnhu4NuIHRo4buLIHJhXG4iCisjfiAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgc+G7rSBk4bulbmcga2jDs2E9XCJ2YWx1ZVwiIMSR4buDIMSR4buLbmggZOG6oW5nIGvhur90IHh14bqldFxuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICAgIHPhu60gZOG7pW5nIGvhur90IHh14bqldCBk4bqhbmcgdGjDtFxuIgorI34gIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgIGdp4bubaSBo4bqhbiB04bqtcCBo4bujcCBo4buHIHRo4buRbmcgdOG6rXAgdGluIGLhu59pIGtp4buDdSBGU1xuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLXMgc2lnbmFsIHwgLXAgXSBbIC1hIF0gcGlkIC4uLlxuIgorI34gbXNnc3RyICJjw6FjaCBkw7luZzogJXMgWyAtcyB0w61uX2hp4buHdSB8IC1wIF0gWyAtYSBdIHBpZCDigKZcbiIKKworI34gbXNnaWQgIiAgICAgICAlcyAtbCBbIHNpZ25hbCBdXG4iCisjfiBtc2dzdHIgIiAgICAgICAlcyAtbCBbIHTDrW5faGnhu4d1IF1cbiIKKworI34gbXNnaWQgImNvbm5lY3QgJXMiCisjfiBtc2dzdHIgImvhur90IG7hu5FpICVzIgorCisjfiBtc2dpZCAiaW52YWxpZCBwb3J0IG51bWJlciBhcmd1bWVudCIKKyN+IG1zZ3N0ciAidGhhbSBz4buRIHPhu5EgaGnhu4d1IGPhu5VuZyBraMO0bmcgaOG7o3AgbOG7hyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDw6FjaCBkw7luZzpcbiIKKyN+ICIlcyBbdMO5eSBjaOG7jW5dIFs8dGhp4bq/dCBi4buLPiDigKZdXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgcHJpbnQgYWxsIGRldmljZXNcbiIKKyN+ICIgLWIsIC0tYnl0ZXMgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKKyN+ICIgLWQsIC0tbm9kZXBzICAgICAgICAgZG9uJ3QgcHJpbnQgc2xhdmVzIG9yIGhvbGRlcnNcbiIKKyN+ICIgLUQsIC0tZGlzY2FyZCAgICAgICAgcHJpbnQgZGlzY2FyZCBjYXBhYmlsaXRpZXNcbiIKKyN+ICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorI34gIiAtSSwgLS1pbmNsdWRlIDxsaXN0PiBzaG93IG9ubHkgZGV2aWNlcyB3aXRoIHNwZWNpZmllZCBtYWpvciBudW1iZXJzXG4iCisjfiAiIC1mLCAtLWZzICAgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IGZpbGVzeXN0ZW1zXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgIHVzYWdlIGluZm9ybWF0aW9uICh0aGlzKVxuIgorI34gIiAtaSwgLS1hc2NpaSAgICAgICAgICB1c2UgYXNjaWkgY2hhcmFjdGVycyBvbmx5XG4iCisjfiAiIC1tLCAtLXBlcm1zICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHBlcm1pc3Npb25zXG4iCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXB1dFxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorI34gIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBvdXRwdXQgY29sdW1uc1xuIgorI34gIiAtUCwgLS1wYWlycyAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorI34gIiAtcywgLS1pbnZlcnNlICAgICAgICBpbnZlcnNlIGRlcGVuZGVuY2llc1xuIgorI34gIiAtdCwgLS10b3BvbG9neSAgICAgICBvdXRwdXQgaW5mbyBhYm91dCB0b3BvbG9neVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQ8OhYyB0w7l5IGNo4buNbjpcbiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgaGnhu4NuIHRo4buLIHThuqV0IGPhuqMgY8OhYyB0aGnhur90IGLhu4tcbiIKKyN+ICIgLWIsIC0tYnl0ZXMgICAgICAgICAgaGnhu4NuIHRo4buLIFNJWkUgdMOtbmggYuG6sW5nIGJ5dGUgdGhheSB2w6wg4bufIMSR4buLbmggZOG6oW5nIGRhbmggY2hvIG5nxrDhu51pIMSR4buNY1xuIgorI34gIiAtZCwgLS1ub2RlcHMgICAgICAgICBraMO0bmcgaGnhu4NuIHRo4buLIHRoaeG6v3QgYuG7iyBzbGF2ZXMgaGF5IGhvbGRlcnNcbiIKKyN+ICIgLUQsIC0tZGlzY2FyZCAgICAgICAgaGnhu4NuIHRo4buLIGPDoWMga2jhuqMgbsSDbmcgYuG7iyBo4buneSBi4buPXG4iCisjfiAiIC1lLCAtLWV4Y2x1ZGUgPGxpc3Q+IGxv4bqhaSB0cuG7qyBjw6FjIHRoaeG6v3QgYuG7iyB0aGVvIHPhu5EgbOG7m24gKG1ham9yKSAobeG6t2MgxJHhu4tuaDogY8OhYyDEkcSpYSBSQU0pXG4iCisjfiAiIC1JLCAtLWluY2x1ZGUgPGxpc3Q+IGNo4buJIGhp4buDbiB0aOG7iyBuaOG7r25nIHRoaeG6v3QgYuG7iyB24bubaSBz4buRIG1ham9yIMSRxrDhu6NjIGNo4buJIHJhXG4iCisjfiAiIC1mLCAtLWZzICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHbhu4EgaOG7hyB0aOG7kW5nIHThuq1wIHRpblxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICBjw6FjIHPhu60gZOG7pW5nIChjaMOtbmggY8OhaSBuw6B5KVxuIgorI34gIiAtaSwgLS1hc2NpaSAgICAgICAgICBjaOG7iSBz4butIGThu6VuZyBjw6FjIGvDvSB04buxIMSR4buLbmggZOG6oW5nIGFzY2lpXG4iCisjfiAiIC1tLCAtLXBlcm1zICAgICAgICAgIGhp4buDbiB0aOG7iyBjw6FjIHRow7RuZyB0aW4gduG7gSBxdXnhu4FuIGjhuqFuXG4iCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgIHPhu60gZOG7pW5nIGvhur90IHh14bqldCDEkeG7i25oIGThuqFuZyBraeG7g3UgZGFuaCBzw6FjaFxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICBraMO0bmcgaGnhu4NuIHRo4buLIHRpw6p1IMSR4buBXG4iCisjfiAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIGPDoWMgY+G7mXQgc+G6vSDEkcaw4bujYyBr4bq/dCB4deG6pXRcbiIKKyN+ICIgLVAsIC0tcGFpcnMgICAgICAgICAgc+G7rSBk4bulbmcga2jDs2EgPVwidmFsdWVcIiBsw6BtIMSR4buLbmggZOG6oW5nIGvhur90IHh14bqldFxuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICBz4butIGThu6VuZyBr4bq/dCB4deG6pXQgdGhlbyDEkeG7i25oIGThuqFuZyB0aMO0XG4iCisjfiAiIC1zLCAtLWludmVyc2UgICAgICAgIMSR4bqjbyBuZ8aw4bujYyBwaOG6p24gcGjhu6UgdGh14buZY1xuIgorI34gIiAtdCwgLS10b3BvbG9neSAgICAgICB4deG6pXQgdGjDtG5nIHRpbiB24buBIGjDrG5oIHRow6FpIGjhu41jXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHbhu4EgcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC12LCAtLXZlcmJvc2UgICAgZ2nhuqNpIHRow61jaCBuaOG7r25nIGfDrCDEkWFuZyDEkcaw4bujYyB0aOG7sWMgaGnhu4duXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gduG7gSBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHkgcuG7k2kgdGhvw6F0XG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1mIDxmaWxlPiAgZGVmaW5lIHNlYXJjaCBzY29wZVxuIgorI34gIiAtYiAgICAgICAgIHNlYXJjaCBvbmx5IGJpbmFyaWVzXG4iCisjfiAiIC1CIDxkaXJzPiAgZGVmaW5lIGJpbmFyaWVzIGxvb2t1cCBwYXRoXG4iCisjfiAiIC1tICAgICAgICAgc2VhcmNoIG9ubHkgbWFudWFsIHBhdGhzXG4iCisjfiAiIC1NIDxkaXJzPiAgZGVmaW5lIG1hbiBsb29rdXAgcGF0aFxuIgorI34gIiAtcyAgICAgICAgIHNlYXJjaCBvbmx5IHNvdXJjZXMgcGF0aFxuIgorI34gIiAtUyA8ZGlycz4gIGRlZmluZSBzb3VyY2VzIGxvb2t1cCBwYXRoXG4iCisjfiAiIC11ICAgICAgICAgc2VhcmNoIGZyb20gdW51c3VhbCBlbnRpdGllc1xuIgorI34gIiAtViAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZiA8ZmlsZT4gIMSR4buLbmggbmdoxKlhIHBo4bqhbSB2aSB0w6xtIGtp4bq/bVxuIgorI34gIiAtYiAgICAgICAgIGNo4buJIHTDrG0ga2nhu4N1IG5o4buLIHBow6JuXG4iCisjfiAiIC1CIDxkaXJzPiAgxJHhu4tuaCBuZ2jEqWEgxJHGsOG7nW5nIGThuqtuIHTDrG0ga2nhur9tIG5o4buLIHBow6JuXG4iCisjfiAiIC1tICAgICAgICAgY2jhu4kgdMOsbSBraeG6v20gY8OhYyB0aMawIG3hu6VjIMSRxrDhu6NjIGNo4buJIMSR4buLbmggdGjhu6cgY8O0bmdcbiIKKyN+ICIgLU0gPGRpcnM+ICDEkeG7i25oIG5naMSpYSDEkcaw4budbmcgZOG6q24gdMOsbSBraeG6v20gY2hvIG1hblxuIgorI34gIiAtcyAgICAgICAgIGNo4buJIHTDrG0gdHLDqm4gxJHGsOG7nW5nIGThuqtuIG5ndeG7k25cbiIKKyN+ICIgLVMgPGRpcnM+ICDEkeG7i25oIG5naMSpYSDEkcaw4budbmcgZOG6q24gdMOsbSBraeG6v21cbiIKKyN+ICIgLXUgICAgICAgICB0w6xtIGtp4bq/bSB04burIGPDoWMgbeG7pWMgYuG6pXQgdGjGsOG7nW5nXG4iCisjfiAiIC1WICAgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gduG7gSBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisjfiAiIC1oICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHkgcuG7k2kgdGhvw6F0XG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJTZWUgaG93IHRvIHVzZSBmaWxlIGFuZCBkaXJzIGFyZ3VtZW50cyBmcm9tIHdoZXJlaXMoMSkgbWFudWFsLlxuIgorI34gbXNnc3RyICJYZW0gdGjDqm0gY8OhY2ggc+G7rSBk4bulbmcgxJHhu5FpIHPhu5EgdOG6rXAgdGluIHbDoCB0aMawIG3hu6VjIHThu6sgcGjhuqduIGjGsOG7m25nIGThuqtuIGPhu6dhIHdoZXJlaXMoMSkuXG4iCisKKyN+IG1zZ2lkICJtb3VudDogY291bGRuJ3QgbG9jayBpbnRvIG1lbW9yeSIKKyN+IG1zZ3N0ciAibW91bnQ6IGtow7RuZyB0aOG7gyBraMOzYSB2w6BvIGLhu5kgbmjhu5siCisKKyN+IG1zZ2lkICJtb3VudDogYXJndW1lbnQgdG8gLXAgb3IgLS1wYXNzLWZkIG11c3QgYmUgYSBudW1iZXIiCisjfiBtc2dzdHIgIm1vdW50OiB0aGFtIHPhu5EgY2hvIC1wIGhv4bq3YyAtLXBhc3MtZmQgcGjhuqNpIGzDoCBt4buZdCBz4buRIgorCisjfiBtc2dpZCAiZXhlY3V0aW5nICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buxYyBoaeG7h24gxJHGsOG7o2MgJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICBjbGVhciB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCisjfiAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICByZWFkIGFuZCBjbGVhciBhbGwgbWVzc2FnZXNcbiIKKyN+ICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIGRpc2FibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorI34gIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgc2hvdyB0aW1lIGRlbHRhIGJldHdlZW4gcHJpbnRlZCBtZXNzYWdlc1xuIgorI34gIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgc2hvdyBsb2NhbCB0aW1lIGFuZCB0aW1lIGRlbHRhIGluIHJlYWRhYmxlIGZvcm1hdFxuIgorI34gIiAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAgZW5hYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKKyN+ICIgLUYsIC0tZmlsZSA8ZmlsZT4gICAgICAgICAgIHVzZSB0aGUgZmlsZSBpbnN0ZWFkIG9mIHRoZSBrZXJuZWwgbG9nIGJ1ZmZlclxuIgorI34gIiAtZiwgLS1mYWNpbGl0eSA8bGlzdD4gICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgZmFjaWxpdGllc1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIGRpc3BsYXkga2VybmVsIG1lc3NhZ2VzXG4iCisjfiAiIC1sLCAtLWxldmVsIDxsaXN0PiAgICAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBsZXZlbHNcbiIKKyN+ICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bGV2ZWw+IHNldCBsZXZlbCBvZiBtZXNzYWdlcyBwcmludGVkIHRvIGNvbnNvbGVcbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByYXcgbWVzc2FnZSBidWZmZXJcbiIKKyN+ICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIGZvcmNlIHRvIHVzZSBzeXNsb2coMikgcmF0aGVyIHRoYW4gL2Rldi9rbXNnXG4iCisjfiAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCisjfiAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICBzaG93IGh1bWFuIHJlYWRhYmxlIHRpbWVzdGFtcCAoY291bGQgYmUgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmFjY3VyYXRlIGlmIHlvdSBoYXZlIHVzZWQgU1VTUEVORC9SRVNVTUUpXG4iCisjfiAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBkb24ndCBwcmludCBtZXNzYWdlcyB0aW1lc3RhbXBcbiIKKyN+ICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIGRpc3BsYXkgdXNlcnNwYWNlIG1lc3NhZ2VzXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtdywgLS1mb2xsb3cgICAgICAgICAgICAgICAgd2FpdCBmb3IgbmV3IG1lc3NhZ2VzXG4iCisjfiAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBkZWNvZGUgZmFjaWxpdHkgYW5kIGxldmVsIHRvIHJlYWRhYmxlIHN0cmluZ1xuIgorI34gbXNnc3RyICIiCisjfiAiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICB4w7NhIHPhuqFjaCBi4buZIMSR4buHbSB2w7JuZyBuaMOibiAoa2VybmVsKVxuIgorI34gIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgxJHhu41jIHbDoCB4w7NhIHPhuqFjaCB04bqldCBj4bqjIGPDoWMgdGjDtG5nIMSRaeG7h3BcbiIKKyN+ICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIHThuq90IGhp4buDbiB0aOG7iyB0aMO0bmcgxJFp4buHcCB04bubaSB0aGnhur90IGLhu4sgY29uc29sZVxuIgorI34gIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRo4budaSBnaWFuIGRlbHRhIGdp4buvYSBjw6FjIHRow7RuZyDEkWnhu4dwIMSRxrDhu6NjIGhp4buDbiB0aOG7i1xuIgorI34gIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRo4budaSBnaWFuIMSR4buLYSBwaMawxqFuZyB2w6AgZGVsdGEg4bufIMSR4buLbmggZOG6oW5nIGPDsyB0aOG7gyDEkeG7jWMgxJHGsOG7o2NcbiIKKyN+ICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIGNobyBwaMOpcCBoaeG7g24gdGjhu4sgdGjDtG5nIMSRaeG7h3AgdOG7m2kgdGhp4bq/dCBi4buLIGNvbnNvbGVcbiIKKyN+ICIgLUYsIC0tZmlsZSA8ZmlsZT4gICAgICAgICAgIHPhu60gZOG7pW5nIHThuq1wIHRpbiB0aGF5IHbDrCBi4buZIMSR4buHbSBuaOG6rXQga8O9IG5ow6JuXG4iCisjfiAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0PiAgICAgICBo4bqhbiBjaOG6vyBr4bq/dCB4deG6pXQgxJHhur9uIGPDoWMgcGjGsMahbmcgdGnhu4duIMSRw6MgxJHhu4tuaCBuZ2jEqWFcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IHLhu5NpIHRob8OhdFxuIgorI34gIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyDEkWnhu4dwIG5ow6JuXG4iCisjfiAiIC1sLCAtLWxldmVsIDxsaXN0PiAgICAgICAgICBo4bqhbiBjaOG6vyBr4bq/dCB4deG6pXQgxJHhur9uIGPDoWMgbeG7qWMgxJHDoyDEkeG7i25oIG5naMSpYVxuIgorI34gIiAtbiwgLS1jb25zb2xlLWxldmVsIDxsZXZlbD4gxJHhurd0IG3hu6ljIGPhu6dhIHRow7RuZyDEkWnhu4dwIMSRxrDhu6NjIGhp4buDbiB0aOG7iyDhu58gdGhp4bq/dCBi4buLIGNvbnNvbGVcbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyByYSBi4buZIMSR4buHbSB0aMO0bmcgxJFp4buHcCBk4bqhbmcgdGjDtFxuIgorI34gIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgw6lwIGJ14buZYyBz4butIGThu6VuZyBzeXNsb2coMikgdGhheSB2w6wgL2Rldi9rbXNnXG4iCisjfiAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBrw61jaCB0aMaw4bubYyBi4buZIMSR4buDIMSR4buDIHRydXkgduG6pW4gYuG7mSDEkeG7h20gdsOybmcgbmjDom5cbiIKKyN+ICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyBk4bqldSB24bq/dCB0aOG7nWkgZ2lhbiBk4bqhbmcgY2hvIGNvbiBuZ8aw4budaSDEkeG7jWMgKGPDsyBs4bq9IFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FpIG7hur91IGLhuqFuIHPhu60gZOG7pW5nIFNVU1BFTkQvUkVTVU1FKVxuIgorI34gIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAga2jDtG5nIGhp4buDbiB0aOG7iyBk4bqldSB24bq/dCB0aOG7nWkgZ2lhblxuIgorI34gIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyDEkWnhu4dwIG3hu6ljIG5nxrDhu51pIGTDuW5nXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisjfiAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICB3YWl0IGZvciBuZXcgbWVzc2FnZXNcbiIKKyN+ICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIGdp4bqjaSBtw6MgcGjGsMahbmcgdGnDqm4gdsOgIG3hu6ljIHRow6BuaCBjaOG7l2kgY8OzIHRo4buDIMSR4buNYyDEkcaw4bujY1xuIgorCisjfiBtc2dpZCAiZWplY3Q6IGNhbm5vdCBzZXQgdXNlciBpZCIKKyN+IG1zZ3N0ciAiZWplY3Q6IGtow7RuZyDEkeG6t3QgxJHGsOG7o2MgaWQgbmfGsOG7nWkgZMO5bmciCisKKyN+IG1zZ2lkICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgIHRoaXMgaGVscFxuIgorI34gIiAtZiwgLS1mcmVlemUgICAgICBmcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKKyN+ICIgLXUsIC0tdW5mcmVlemUgICAgdW5mcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICB0cuG7oyBnacO6cCBuw6B5XG4iCisjfiAiIC1mLCAtLWZyZWV6ZSAgICAgIGzDoG0gxJHDtG5nIMSR4bq3YyBo4buHIHRo4buRbmcgdOG6rXAgdGluXG4iCisjfiAiIC11LCAtLXVuZnJlZXplICAgIGLhu48gxJHDtG5nIMSR4bq3YyBo4buHIHRo4buRbmcgdOG6rXAgdGluXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZzZnJlZXplKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAixJDhu4MgdMOsbSB0aMOqbSB0aMO0bmcgdGluLCB4ZW0gZnNmcmVlemUoOCkuXG4iCisKKyN+IG1zZ2lkICJtYXggc2VnIHNpemUgKGtieXRlcykgPSAlbHVcbiIKKyN+IG1zZ3N0ciAia8OtY2ggY+G7oSDEkW/huqFuIGzhu5tuIG5o4bqldCAoa2J5dGUpID0gJWx1XG4iCisKKyN+IG1zZ2lkICJtaW4gc2VnIHNpemUgKGJ5dGVzKSA9ICVsdVxuIgorI34gbXNnc3RyICJrw61jaCBj4buhIMSRb+G6oW4gbmjhu48gbmjhuqV0IChieXRlKSA9ICVsdVxuIgorCisjfiBtc2dpZCAic2htY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAic2htY3RsIGLhu4sgbOG7l2kiCisKKyN+IG1zZ2lkICJtc2djdGwgZmFpbGVkIgorI34gbXNnc3RyICJtc2djdGwgYuG7iyBs4buXaSIKKworI34gbXNnaWQgImNieXRlcz0lbGRcdHFieXRlcz0lbGRcdHFudW09JWxkXHRsc3BpZD0lZFx0bHJwaWQ9JWRcbiIKKyN+IG1zZ3N0ciAiY2J5dGVzPSVsZFx0cWJ5dGVzPSVsZFx0cW51bT0lbGRcdGxzcGlkPSVkXHRscnBpZD0lZFxuIgorCisjfiBtc2dpZCAic2VtY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAic2VtY3RsIGLhu4sgbOG7l2kiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1lLCAtLWVuY3J5cHRpb24gPHR5cGU+ICAgICAgIGVuYWJsZSBlbmNyeXB0aW9uIHdpdGggc3BlY2lmaWVkIDxuYW1lL251bT5cbiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorI34gIiAgICAgLS1zaXplbGltaXQgPG51bT4gICAgICAgICBkZXZpY2UgbGltaXRlZCB0byA8bnVtPiBieXRlcyBvZiB0aGUgZmlsZVxuIgorI34gIiAtcCwgLS1wYXNzLWZkIDxudW0+ICAgICAgICAgICByZWFkIHBhc3NwaHJhc2UgZnJvbSBmaWxlIGRlc2NyaXB0b3IgPG51bT5cbiIKKyN+ICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgY3JlYXRlIHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlXG4iCisjfiAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgICAgIHNldHVwIHJlYWQtb25seSBsb29wIGRldmljZVxuIgorI34gIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSBhZnRlciBzZXR1cCAod2l0aCAtZilcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWUsIC0tZW5jcnlwdGlvbiA8a2nhu4N1PiAgICAgICBi4bqtdCBtw6MgaMOzYSBk4buvIGxp4buHdSB24bubaSA8dMOqbi9z4buRPiDEkcOjIGdoaSByw7VcbiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxz4buRPiAgICAgICAgICAgICBi4bqvdCDEkeG6p3Ug4bufIGtob+G6o25nIGLDuSBz4buRIG7DoHkgdHJvbmcgdOG6rXAgdGluXG4iCisjfiAiICAgICAgLS1zaXplbGltaXQgPHPhu5E+ICAgICAgICAgaOG6oW4gY2jhur8gdGhp4bq/dCBi4buLIGNo4buJIDxz4buRPiBieXRlIGPhu6dhIHThuq1wIHRpblxuIgorI34gIiAtcCwgLS1wYXNzLWZkIDxz4buRPiAgICAgICAgICAgIMSR4buNYyBj4bulbSB04burIG3huq10IGto4bqpdSB04burIGLhu5kgbcO0IHThuqMgdOG6rXAgdGluIDxz4buRPlxuIgorI34gIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICB04bqhbyBwaMOibiB2w7luZyBjaG8gdGhp4bq/dCBi4buLIHbDsm5nIGzhurdwXG4iCisjfiAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgICAgIGPDoGkgxJHhurd0IHRoaeG6v3QgYuG7iyB2w7JuZyBs4bq3cCBjaOG7iS3EkeG7jWNcbiIKKyN+ICIgICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgaW4gcmEgdMOqbiB0aGnhur90IGLhu4sgc2F1IGtoaSBjw6BpIMSR4bq3dCAoduG7m2kg4oCcLWbigJ0uXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIGNo4bq/IMSR4buZIGNoaSB0aeG6v3RcbiIKKworI34gbXNnaWQgImludmFsaWQgcGFzc3BocmFzZSBmaWxlIGRlc2NyaXB0b3IiCisjfiBtc2dzdHIgInNhaSBt4bqtdCBraOG6qXUgYuG7mSBtw7QgdOG6oyB04bqtcCB0aW4iCisKKyN+IG1zZ2lkICIlcyBmYWlsZWQgdG8gdXNlIGRldmljZSIKKyN+IG1zZ3N0ciAiJXMgZ+G6t3AgbOG7l2kga2hpIHPhu60gZOG7pW5nIHRoaeG6v3QgYuG7iyIKKworI34gbXNnaWQgImNvdWxkbid0IGxvY2sgaW50byBtZW1vcnkiCisjfiBtc2dzdHIgImtow7RuZyB0aOG7gyBraMOzYSB2w6BvIGLhu5kgbmjhu5siCisKKyN+IG1zZ2lkICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IG9ubGluZSBhbmQgb2ZmbGluZSBDUFVzIChkZWZhdWx0IGZvciAtZSlcbiIKKyN+ICIgLWIsIC0tb25saW5lICAgICAgICAgICAgcHJpbnQgb25saW5lIENQVXMgb25seSAoZGVmYXVsdCBmb3IgLXApXG4iCisjfiAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iCisjfiAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgcHJpbnQgdGhpcyBoZWxwXG4iCisjfiAiIC1wLCAtLXBhcnNlWz08bGlzdD5dICAgIHByaW50IG91dCBhIHBhcnNhYmxlIGZvcm1hdFxuIgorI34gIiAtcywgLS1zeXNyb290IDxkaXI+ICAgICB1c2UgZGlyZWN0b3J5IERJUiBhcyBzeXN0ZW0gcm9vdFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBwcmludCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHByaW50IGhleGFkZWNpbWFsIG1hc2tzIHJhdGhlciB0aGFuIGxpc3RzIG9mIENQVXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgY8OhYyBDUFUgdHLhu7FjIHR1eeG6v24gdsOgIG5nb+G6oWkgdHV54bq/biAobeG6t2MgxJHhu4tuaCBjaG8gLWUpXG4iCisjfiAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIGNo4buJIGhp4buDbiB0aOG7iyBjw6FjIENQVSB0cuG7sWMgdHV54bq/biAobeG6t2MgxJHhu4tuaCBjaG8gLXApXG4iCisjfiAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIGNo4buJIGhp4buDbiB0aOG7iyBjw6FjIENQVSBuZ2/huqFpIHR1eeG6v25cbiIKKyN+ICIgLWUsIC0tZXh0ZW5kZWRbPTxsaXN0Pl0gaGnhu4NuIHRo4buLIHJhIG3hu5l0IMSR4buLbmggZOG6oW5nIMSR4buNYyDEkcaw4bujYyBt4bufIHLhu5luZ1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeVxuIgorI34gIiAtcCwgLS1wYXJzZVs9PGxpc3Q+XSAgICBoaeG7g24gdGjhu4sgcmEgbeG7mXQgxJHhu4tuaCBk4bqhbmcgcGjDom4gdMOtY2ggxJHGsOG7o2NcbiIKKyN+ICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAgc+G7rSBk4bulbmcgdGjGsCBt4bulYyBESVIgbmjGsCBsw6Agcm9vdCBj4bunYSBo4buHIHRo4buRbmdcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gduG7gSBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisjfiAiIC14LCAtLWhleCAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyByYSBt4bq3dCBt4bqhIGThuqFuZyB0aOG6rXAgbOG7pWMgcGjDom4gdGhheSB2w6wga2nhu4N1IGxp4buHdCBrw6ogQ1BVc1xuIgorCisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSAocHJvYmFibHkgdW5rbm93biBlbmNyeXB0aW9uIHR5cGUpIgorI34gbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIGPDoGkgxJHhurd0IHRoaeG6v3QgYuG7iyBsb29wICho4bqndSBuaMawIGNo4bqvYyBjaOG6r24gbMOgIGtow7RuZyBoaeG7g3Uga2nhu4N1IG3DoyBow7NhKSIKKworI34gbXNnaWQgInJlbmljZSBmcm9tICVzXG4iCisjfiBtc2dzdHIgInRoYXkgxJHhu5VpIMawdSB0acOqbiB04burICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1kLCAtLWRldmljZSA8ZGV2aWNlPiAgICBzZWxlY3QgcnRjIGRldmljZSAocnRjMHxydGMxfC4uLilcbiIKKyN+ICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGRvZXMgZXZlcnl0aGluZywgYnV0IHN1c3BlbmRcbiIKKyN+ICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCisjfiAiIC1tLCAtLW1vZGUgPG1vZGU+ICAgICAgICBzdGFuZGJ5fG1lbXwuLi4gc2xlZXAgbW9kZVxuIgorI34gIiAtcywgLS1zZWNvbmRzIDxzZWNvbmRzPiAgc2Vjb25kcyB0byBzbGVlcFxuIgorI34gIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCisjfiAiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBSVEMgdXNlcyBVVENcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbWVzc2FnZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZCwgLS1kZXZpY2UgPHRoaeG6v3RfYuG7iz4gIGNo4buNbiB0aGnhur90IGLhu4sgcnRjIChydGMwfHJ0YzF84oCmKVxuIgorI34gIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgbMOgbSBt4buNaSB2aeG7h2MsIG5oxrBuZyBtw6AgdHJlb1xuIgorI34gIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIGTDuW5nIG3DumkgZ2nhu50gY+G7pWMgYuG7mVxuIgorI34gIiAtbSwgLS1tb2RlIDxjaOG6vyDEkeG7mT4gICAgICBjaOG6vyDEkeG7mSBuZ+G7pyBzdGFuZGJ5fG1lbXzigKYgXG4iCisjfiAiIC1zLCAtLXNlY29uZHMgPGdpw6J5PiBz4buRICBnacOieSDEkeG7o2kgdHLGsOG7m2Mga2hpIG5n4bunXG4iCisjfiAiIC10LCAtLXRpbWUgPHRpbWVfdD4gICAgICB0aOG7nWkgZ2lhbiB0csaw4bubYyBraGkga8OtY2ggaG/huqF0IGzhuqFpXG4iCisjfiAiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBSVEMgZMO5bmcgdGjhu51pIGdpYW4gdGjhur8gZ2nhu5tpIChVVEMpXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBpbiByYSBjaGkgdGnhur90XG4iCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZXhlY3V0ZSAlcyIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIHRo4buxYyB0aGkgJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBzYXlzIHdoYXQgb3B0aW9ucyBhcmUgYmVpbmcgc3dpdGNoZWQgb25cbiIKKyN+ICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIGRpc2FibGVzIHJhbmRvbWl6YXRpb24gb2YgdGhlIHZpcnR1YWwgYWRkcmVzcyBzcGFjZVxuIgorI34gIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAgbWFrZXMgZnVuY3Rpb24gcG9pbnRlcnMgcG9pbnQgdG8gZGVzY3JpcHRvcnNcbiIKKyN+ICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHR1cm5zIG9uIE1NQVBfUEFHRV9aRVJPXG4iCisjfiAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCBjaGFuZ2VzIHRoZSB3YXkgdmlydHVhbCBtZW1vcnkgaXMgYWxsb2NhdGVkXG4iCisjfiAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICB0dXJucyBvbiBSRUFEX0lNUExJRVNfRVhFQ1xuIgorI34gIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgdHVybnMgb24gQUREUl9MSU1JVF8zMkJJVFxuIgorI34gIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgdHVybnMgb24gU0hPUlRfSU5PREVcbiIKKyN+ICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHR1cm5zIG9uIFdIT0xFX1NFQ09ORFNcbiIKKyN+ICIgLVQsIC0tc3RpY2t5LXRpbWVvdXRzICAgIHR1cm5zIG9uIFNUSUNLWV9USU1FT1VUU1xuIgorI34gIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgbGltaXRzIHRoZSB1c2VkIGFkZHJlc3Mgc3BhY2UgdG8gYSBtYXhpbXVtIG9mIDMgR0JcbiIKKyN+ICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGlnbm9yZWQgKGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IG9ubHkpXG4iCisjfiAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICB0dXJucyBvbiBVTkFNRTI2XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGxp4buHdCBrw6ogbmjhu69uZyB0w7l5IGNo4buNbiDEkcOjIGLhuq10XG4iCisjfiAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICB04bqvdCBjaOG7qWMgbsSDbmcgbmfhuqt1IG5oacOqbiBow7NhIGtow7RuZyBnaWFuIMSR4buLYSBjaOG7iSDhuqNvXG4iCisjfiAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBsw6BtIGNobyBjb24gdHLhu48gaMOgbSB0aMOsIGNo4buJIHThu5tpIGLhu5kgbcO0IHThuqNcbiIKKyN+ICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIGLhuq10IE1NQVBfUEFHRV9aRVJPXG4iCisjfiAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCB0aGF5IMSR4buVaSBjw6FjaCBj4bqlcCBwaMOhdCBi4buZIG5o4bubIOG6o29cbiIKKyN+ICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIGLhuq10IFJFQURfSU1QTElFU19FWEVDICjEkeG7jWMgbmfhu6Ugw70gdGjhu7FjIGhp4buHbilcbiIKKyN+ICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIGLhuq10IEFERFJfTElNSVRfMzJCSVQgKGdp4bubaSBo4bqhbiDEkeG7i2EgY2jhu4kgMzItYml0KVxuIgorI34gIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgYuG6rXQgU0hPUlRfSU5PREUgKG7DunQgdGjDtG5nIHRpbiBuZ+G6r24pXG4iCisjfiAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICBi4bqtdCBXSE9MRV9TRUNPTkRTIChuZ3V5w6puIGdpw6J5KVxuIgorI34gIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgYuG6rXQgU1RJQ0tZX1RJTUVPVVRTICh0aOG7nWkgaOG6oW4gZMOtbmgpXG4iCisjfiAiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICDEkeG6t3Qga2jDtG5nIGdpYW4gxJHhu4thIGNo4buJIHRpw6p1IHRo4bulIHThu5FpIMSRYSAzIEdCXG4iCisjfiAiICAgICAtLTRnYiAgICAgICAgICAgICAgICBi4buLIGLhu48gcXVhIChjaOG7iSDEkeG7gyB0xrDGoW5nIHRow61jaCBuZ8aw4bujYylcbiIKKyN+ICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIGLhuq10IFVOQU1FMjZcbiIKKworI34gbXNnaWQgImV4ZWN2cCBmYWlsZWQiCisjfiBtc2dzdHIgImV4ZWN2cCBi4buLIGzhu5dpIgorCisjfiBtc2dpZCAiZXhlY3YgZmFpbGVkIgorI34gbXNnc3RyICJleGVjdiBi4buLIGzhu5dpIgorCisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICB1bW91bnQgYWxsIGZpbGVzeXN0ZW1zXG4iCisjfiAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorI34gIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICBpZiBtb3VudGVkIGxvb3AgZGV2aWNlLCBhbHNvIGZyZWUgdGhpcyBsb29wIGRldmljZVxuIgorI34gIiAgICAgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSB1bW91bnQoMikgc3lzY2FsbFxuIgorI34gIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBmb3JjZSB1bm1vdW50IChpbiBjYXNlIG9mIGFuIHVucmVhY2hhYmxlIE5GUyBzeXN0ZW0pXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgYuG7jyBn4bqvbiB0b8OgbiBi4buZIGjhu4cgdGjhu5FuZyB04bqtcCB0aW5cbiIKKyN+ICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAga2jDtG5nIGNhbm9uaWNhbGl6ZSDEkcaw4budbmcgZOG6q25cbiIKKyN+ICIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAgbuG6v3UgxJHDoyBn4bqvbiB0aGnhur90IGLhu4sgdsOybmcgbOG6t3AsIMSR4buTbmcgdGjhu51pIGdp4bqjaSBwaMOzbmdcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgbHXDtG4gY+G6oyB0aGnhur90IGLhu4sgdsOybmcgbOG6t3BcbiIKKyN+ICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgY2jhuqF5IHRo4butOyBi4buPIGfhu41pIGjDoG0gaOG7hyB0aOG7kW5nIHVtb3VudCgyKVxuIgorI34gIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICDDqXAgYnXhu5ljIGLhu48gZ+G6r24gKHRyb25nIHRyxrDhu51uZyBo4bujcCBt4buZdCBo4buHIHRo4buRbmcgTkZTXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgIGtow7RuZyB0aOG7gyBr4bq/dCBu4buRaSlcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgdW1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCisjfiAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIGRvbid0IHdyaXRlIHRvIC9ldGMvbXRhYlxuIgorI34gIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICBkZXRhY2ggdGhlIGZpbGVzeXN0ZW0gbm93LCBhbmQgY2xlYW51cCBhbGwgbGF0ZXJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBraMO0bmcgZ+G7jWkgbOG7h25oIGLhu48gZ+G6r24uIHRyw6xuaCBo4buXIHRy4bujIDx0eXBlPlxuIgorI34gIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBraMO0bmcgZ2hpIHbDoG8gdOG6rXAgdGluIC9ldGMvbXRhYlxuIgorI34gIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICB0aMOhbyBraOG7j2kgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBuZ2F5LCB2w6AgZOG7jW4gc+G6oWNoIHThuqV0IGPhuqMgc2F1IMSRw7NcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCisjfiAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIEluIGNhc2UgdW5tb3VudGluZyBmYWlscywgdHJ5IHRvIHJlbW91bnQgcmVhZC1vbmx5XG4iCisjfiAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBzYXkgd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgZ2nhu5tpIGjhuqFuIHThuq1wIGjhu6NwIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gKHPhu60gZOG7pW5nIHbhu5tpIC1hKVxuIgorI34gIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBUcm9uZyB0csaw4budbmcgaOG7o3AgYuG7jyBn4bqvbiBn4bq3cCBs4buXaSxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgdGjhu60gZ+G6r24gbOG6oWkgduG7m2kgY2jhu4ktxJHhu41jXG4iCisjfiAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGdp4bubaSBo4bqhbiB04bqtcCBo4bujcCBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpblxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBoaeG7g24gdGjhu4sgbmjhu69uZyBnw6wgxJFhbmcgxJHGsOG7o2MgbMOgbVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbSwgLS1tb3VudCAgICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKKyN+ICIgLXUsIC0tdXRzICAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCisjfiAiIC1pLCAtLWlwYyAgICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorI34gIiAtbiwgLS1uZXQgICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIC1tLCAtLW1vdW50ICAgICAgYuG7jyBjaGlhIHPhursgbWnhu4FuIHTDqm4gbW91bnRzXG4iCisjfiAiICAtdSwgLS11dHMgICAgICAgIGLhu48gY2hpYSBz4bq7IG1p4buBbiB0w6puIFVUUyAodMOqbiBtw6F5IHYudi4pXG4iCisjfiAiICAtaSwgLS1pcGMgICAgICAgIGLhu48gY2hpYSBz4bq7IG1p4buBbiB0w6puIFN5c3RlbSBWIElQQ1xuIgorI34gIiAgLW4sIC0tbmV0ICAgICAgICBi4buPIGNoaWEgc+G6uyBtaeG7gW4gdMOqbiBuZXR3b3JrXG4iCisKKyN+IG1zZ2lkICIlLTE1cyVzIFt2ZXJzaW9uICV4XVxuIgorI34gbXNnc3RyICIlLTE1cyVzIFtwaGnDqm4gYuG6o24gJXhdXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLTgsIC0tOGJpdHMgICAgICAgICAgICAgICAgYXNzdW1lIDgtYml0IHR0eVxuIgorI34gIiAtYSwgLS1hdXRvbG9naW4gPHVzZXI+ICAgICBsb2dpbiB0aGUgc3BlY2lmaWVkIHVzZXIgYXV0b21hdGljYWxseVxuIgorI34gIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICBkbyBub3QgcmVzZXQgY29udHJvbCBtb2RlXG4iCisjfiAiIC1mLCAtLWlzc3VlLWZpbGUgPGZpbGU+ICAgIGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorI34gIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBlbmFibGUgaGFyZHdhcmUgZmxvdyBjb250cm9sXG4iCisjfiAiIC1ILCAtLWhvc3QgPGhvc3RuYW1lPiAgICAgIHNwZWNpZnkgbG9naW4gaG9zdFxuIgorI34gIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICBkbyBub3QgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCisjfiAiIC1JLCAtLWluaXQtc3RyaW5nIDxzdHJpbmc+IHNldCBpbml0IHN0cmluZ1xuIgorI34gIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBzcGVjaWZ5IGxvZ2luIHByb2dyYW1cbiIKKyN+ICIgLUwsIC0tbG9jYWwtbGluZSAgICAgICAgICAgZm9yY2UgbG9jYWwgbGluZVxuIgorI34gIiAtbSwgLS1leHRyYWN0LWJhdWQgICAgICAgICBleHRyYWN0IGJhdWQgcmF0ZSBkdXJpbmcgY29ubmVjdFxuIgorI34gIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBkbyBub3QgcHJvbXB0IGZvciBsb2dpblxuIgorI34gIiAtbywgLS1sb2dpbi1vcHRpb25zIDxvcHRzPiBvcHRpb25zIHRoYXQgYXJlIHBhc3NlZCB0byBsb2dpblxuIgorI34gIiAtcCwgLS1sb2dpbnBhdXNlICAgICAgICAgICB3YWl0IGZvciBhbnkga2V5IGJlZm9yZSB0aGUgbG9naW5cbiIKKyN+ICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgZG8gdmlydHVhbGx5IGhhbmd1cCBvbiB0aGUgdHR5XG4iCisjfiAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIHRyeSB0byBrZWVwIGJhdWQgcmF0ZSBhZnRlciBicmVha1xuIgorI34gIiAtdCwgLS10aW1lb3V0IDxudW1iZXI+ICAgICBsb2dpbiBwcm9jZXNzIHRpbWVvdXRcbiIKKyN+ICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgZGV0ZWN0IHVwcGVyY2FzZSB0ZXJtaW5hbFxuIgorI34gIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICB3YWl0IGNhcnJpYWdlLXJldHVyblxuIgorI34gIiAgICAgLS1ub2NsZWFyICAgICAgICAgICAgICBkbyBub3QgY2xlYXIgdGhlIHNjcmVlbiBiZWZvcmUgcHJvbXB0XG4iCisjfiAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIGRvIG5vdCBwcmludCBoaW50c1xuIgorI34gIiAgICAgLS1ub25ld2xpbmUgICAgICAgICAgICBkbyBub3QgcHJpbnQgYSBuZXdsaW5lIGJlZm9yZSBpc3N1ZVxuIgorI34gIiAgICAgLS1uby1ob3N0bmFtZSAgICAgICAgICBubyBob3N0bmFtZSBhdCBhbGwgd2lsbCBiZSBzaG93blxuIgorI34gIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICBzaG93IGZ1bGwgcXVhbGlmaWVkIGhvc3RuYW1lXG4iCisjfiAiICAgICAtLXZlcnNpb24gICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiICAgICAtLWhlbHAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDw6FjIHTDuXkgY2jhu41uOlxuIgorI34gIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBnaeG6oyDEkeG7i25oIHR0eSA4LWJpdFxuIgorI34gIiAtYSwgLS1hdXRvbG9naW4gPHVzZXI+ICAgICDEkcSDbmcgbmjhuq1wIHThu7EgxJHhu5luZyB24bubaSB0w6puIHTDoGkga2hv4bqjbiDEkcOjIGNo4buJIMSR4buLbmhcbiIKKyN+ICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAga2jDtG5nIMSR4bq3dCBs4bqhaSBjaOG6vyDEkeG7mSDEkWnhu4F1IGtoaeG7g25cbiIKKyN+ICIgLWYsIC0taXNzdWUtZmlsZSA8ZmlsZT4gICAgaGnhu4NuIHRo4buLIHThuq1wIHRpbiBwaMOhdCBow6BuaFxuIgorI34gIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBjaG8gcGjDqXAgcGjhuqduIGPhu6luZyDEkWnhu4F1IGtoaeG7g24gbHXhu5NuZyBjaOG6o3lcbiIKKyN+ICIgLUgsIC0taG9zdCA8aG9zdG5hbWU+ICAgICAgY2jhu4kgxJHhu4tuaCB0w6puIG3DoXkgY2jhu6cgxJHEg25nIG5o4bqtcFxuIgorI34gIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICBraMO0bmcgaGnhu4NuIHRo4buLIHThuq1wIHRpbiBwaMOhdCBow6BuaFxuIgorI34gIiAtSSwgLS1pbml0LXN0cmluZyA8c3RyaW5nPiBjaHXhu5dpIGto4bufaSB04bqhb1xuIgorI34gIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBjaOG7iSDEkeG7i25oIGNoxrDGoW5nIHRyw6xuaCDEkcSDbmcgbmjhuq1wXG4iCisjfiAiIC1MLCAtLWxvY2FsLWxpbmUgICAgICAgICAgIMOpcCBideG7mWMgZMOybmcgY+G7pWMgYuG7mVxuIgorI34gIiAtbSwgLS1leHRyYWN0LWJhdWQgICAgICAgICB0csOtY2ggdOG7kWMgxJHhu5kgYmF1ZCB0cm9uZyBzdeG7kXQgcXXDoSB0csOsbmgga+G6v3QgbuG7kWlcbiIKKyN+ICIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAga2jDtG5nIGjhu49pIGNobyDEkcSDbmcgbmjhuq1wXG4iCisjfiAiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPG9wdHM+IGPDoWMgdMO5eSBjaOG7jW4ga2jDtG5nIGNodXnhu4NuIHF1YSBjaG8gxJHEg25nIG5o4bqtcFxuIgorI34gIiAtcCwgLS1sb2dpbnBhdXNlICAgICAgICAgICBjaOG7nSBt4buZdCBwaMOtbSBi4bqldCBr4buzIHRyxrDhu5tjIGtoaSDEkcSDbmcgbmjhuq1wXG4iCisjfiAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgIGfhuqduIG5oxrAgdHJlbyBsw6puIHRyw6puIHR0eVxuIgorI34gIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICB0aOG7rSBnaeG7ryB04buRYyDEkeG7mSBiYXVkIHNhdSBraGkgbmfhuq90XG4iCisjfiAiIC10LCAtLXRpbWVvdXQgPG51bWJlcj4gICAgIHRo4budaSBnaWFuIHThu5FpIMSRYSBjaG8gcXXDoSB0csOsbmggxJHEg25nIG5o4bqtcFxuIgorI34gIiAtVSwgLS1kZXRlY3QtY2FzZSAgICAgICAgICBkw7IgdMOsbSB0aGnhur90IGLhu4sgY3Xhu5FpIGNo4buvIGhvYVxuIgorI34gIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICBjaOG7nSBrw70gaGnhu4d1IHbhu4EgxJHhuqd1IGTDsm5nIChjcilcbiIKKyN+ICIgICAgIC0tbm9jbGVhciAgICAgICAgICAgICAga2jDtG5nIHjDs2EgbcOgbiBow6xuaCB0csaw4bubYyBraGkgaOG7j2lcbiIKKyN+ICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAga2jDtG5nIGhp4buDbiB0aOG7iyBn4bujaSDDvVxuIgorI34gIiAgICAgLS1ub25ld2xpbmUgICAgICAgICAgICBraMO0bmcgaGnhu4NuIHRo4buLIG3hu5l0IGTDsm5nIG3hu5tpIHRyxrDhu5tjIGtoaSBwaMOhdCBow6BuaFxuIgorI34gIiAgICAgLS1uby1ob3N0bmFtZSAgICAgICAgICBraMO0bmcgY8OzIHTDqm4gbcOheSBjaOG7pyBjxaluZyDEkcaw4bujYyBoaeG7g24gdGjhu4tcbiIKKyN+ICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgaGnhu4NuIHRo4buLIMSR4bqneSDEkeG7pyB0w6puIG3DoXkgY2jhu6dcbiIKKyN+ICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gduG7gSBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisjfiAiICAgICAtLWhlbHAgICAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IHLhu5NpIHRob8OhdFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAidXNlcnMiCisjfiBtc2dzdHIgIm5nxrDhu51pIGTDuW5nIgorCisjfiBtc2dpZCAiIgorI34gIiAtdGVybSA8dGVybWluYWxfbmFtZT5cbiIKKyN+ICIgLXJlc2V0XG4iCisjfiAiIC1pbml0aWFsaXplXG4iCisjfiAiIC1jdXJzb3IgPG9ufG9mZj5cbiIKKyN+ICIgLXJlcGVhdCA8b258b2ZmPlxuIgorI34gIiAtYXBwY3Vyc29ya2V5cyA8b258b2ZmPlxuIgorI34gIiAtbGluZXdyYXAgPG9ufG9mZj5cbiIKKyN+ICIgLWRlZmF1bHRcbiIKKyN+ICIgLWZvcmVncm91bmQgPGJsYWNrfGJsdWV8Z3JlZW58Y3lhbnxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdD5cbiIKKyN+ICIgLWJhY2tncm91bmQgPGJsYWNrfGJsdWV8Z3JlZW58Y3lhbnxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdD5cbiIKKyN+ICIgLXVsY29sb3IgPGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFufHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZT5cbiIKKyN+ICIgLXVsY29sb3IgPGJyaWdodCBibHVlfGdyZWVufGN5YW58cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlPlxuIgorI34gIiAtaGJjb2xvciA8YmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW58cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlPlxuIgorI34gIiAtaGJjb2xvciA8YnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbnxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGU+XG4iCisjfiAiIC1pbnZlcnNlc2NyZWVuIDxvbnxvZmY+XG4iCisjfiAiIC1ib2xkIDxvbnxvZmY+XG4iCisjfiAiIC1oYWxmLWJyaWdodCA8b258b2ZmPlxuIgorI34gIiAtYmxpbmsgPG9ufG9mZj5cbiIKKyN+ICIgLXJldmVyc2UgPG9ufG9mZj5cbiIKKyN+ICIgLXVuZGVybGluZSA8b258b2ZmPlxuIgorI34gIiAtc3RvcmUgPlxuIgorI34gIiAtY2xlYXIgPGFsbHxyZXN0PlxuIgorI34gIiAtdGFicyA8IHRhYjEgdGFiMiB0YWIzIC4uLiA+ICAgICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+ICIgLWNscnRhYnMgPCB0YWIxIHRhYjIgdGFiMyAuLi4gPiAgICh0YWJuID0gMS0xNjApXG4iCisjfiAiIC1yZWd0YWJzIDwxLTE2MD5cbiIKKyN+ICIgLWJsYW5rIDwwLTYwfGZvcmNlfHBva2U+XG4iCisjfiAiIC1kdW1wICAgPDEtTlJfQ09OU09MRVM+XG4iCisjfiAiIC1hcHBlbmQgPDEtTlJfQ09OU09MRVM+XG4iCisjfiAiIC1maWxlIGR1bXBmaWxlbmFtZVxuIgorI34gIiAtbXNnIDxvbnxvZmY+XG4iCisjfiAiIC1tc2dsZXZlbCA8MC04PlxuIgorI34gIiAtcG93ZXJzYXZlIDxvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmPlxuIgorI34gIiAtcG93ZXJkb3duIDwwLTYwPlxuIgorI34gIiAtYmxlbmd0aCA8MC0yMDAwPlxuIgorI34gIiAtYmZyZXEgZnJlcW51bWJlclxuIgorI34gIiAtdmVyc2lvblxuIgorI34gIiAtaGVscFxuIgorI34gbXNnc3RyICIiCisjfiAiIC10ZXJtIDx0w6puIHRo4bq/dCBi4buLIGN14buRaT5cbiIKKyN+ICIgLXJlc2V0XG4iCisjfiAiIC1pbml0aWFsaXplXG4iCisjfiAiIC1jdXJzb3IgPG9ufG9mZj4gOiBjb24gdHLhu49cbiIKKyN+ICIgLXJlcGVhdCA8b258b2ZmPlxuIgorI34gIiAtYXBwY3Vyc29ya2V5cyA8b258b2ZmPlxuIgorI34gIiAtbGluZXdyYXAgPG9ufG9mZj5cbiIKKyN+ICIgLWRlZmF1bHQgOiBt4bq3YyDEkeG7i25oXG4iCisjfiAiIC1mb3JlZ3JvdW5kIDxibGFja3xibHVlfGdyZWVufGN5YW58cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQ+IDogbcOgdSB0aeG7gW4gY+G6o25oXG4iCisjfiAiIC1iYWNrZ3JvdW5kIDxibGFja3xibHVlfGdyZWVufGN5YW58cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQ+IDogbcOgdSBo4bqtdSBj4bqjbmhcbiIKKyN+ICIgLXVsY29sb3IgPGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFufHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZT5cbiIKKyN+ICIgLXVsY29sb3IgPGJyaWdodCBibHVlfGdyZWVufGN5YW58cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlPlxuIgorI34gIiAtaGJjb2xvciA8YmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW58cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlPlxuIgorI34gIiAtaGJjb2xvciA8YnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbnxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGU+XG4iCisjfiAiIC1pbnZlcnNlc2NyZWVuIDxvbnxvZmY+XG4iCisjfiAiIC1ib2xkIDxvbnxvZmY+IDogxJHhuq1tXG4iCisjfiAiIC1oYWxmLWJyaWdodCA8b258b2ZmPlxuIgorI34gIiAtYmxpbmsgPG9ufG9mZj4gOm5o4bqlcCBuaMOheVxuIgorI34gIiAtcmV2ZXJzZSA8b258b2ZmPlxuIgorI34gIiAtdW5kZXJsaW5lIDxvbnxvZmY+XG4iCisjfiAiIC1zdG9yZSA+XG4iCisjfiAiIC1jbGVhciA8YWxsfHJlc3Q+XG4iCisjfiAiIC10YWJzIDwgdGFiMSB0YWIyIHRhYjMg4oCmID4gICAgICAodGFibiA9IDEtMTYwKVxuIgorI34gIiAtY2xydGFicyA8IHRhYjEgdGFiMiB0YWIzIOKApiA+ICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+ICIgLXJlZ3RhYnMgPDEtMTYwPlxuIgorI34gIiAtYmxhbmsgPDAtNjB8Zm9yY2V8cG9rZT5cbiIKKyN+ICIgLWR1bXAgICA8MS1OUl9DT05TT0xFUz5cbiIKKyN+ICIgLWFwcGVuZCA8MS1OUl9DT05TT0xFUz5cbiIKKyN+ICIgLWZpbGUgZHVtcGZpbGVuYW1lXG4iCisjfiAiIC1tc2cgPG9ufG9mZj5cbiIKKyN+ICIgLW1zZ2xldmVsIDwwLTg+XG4iCisjfiAiIC1wb3dlcnNhdmUgPG9ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmY+XG4iCisjfiAiIC1wb3dlcmRvd24gPDAtNjA+XG4iCisjfiAiIC1ibGVuZ3RoIDwwLTIwMDA+XG4iCisjfiAiIC1iZnJlcSBmcmVxbnVtYmVyXG4iCisjfiAiIC12ZXJzaW9uIDogcGhpw6puIGLhuqNuXG4iCisjfiAiIC1oZWxwIDogdHLhu6MgZ2nDunBcbiIKKworI34gbXNnaWQgInRvbyBtYW55IGlvdidzIChjaGFuZ2UgY29kZSBpbiB3YWxsL3R0eW1zZy5jKSIKKyN+IG1zZ3N0ciAicXXDoSBuaGnhu4F1IGlvdiAodGhheSDEkeG7lWkgbcOjIHRyb25nIHdhbGwvdHR5bXNnLmMpIgorCisjfiBtc2dpZCAid3JpdGUgZXJyb3IuIgorI34gbXNnc3RyICJs4buXaSBnaGkiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDw6FjaCBkw7luZzogJXMgW3TDuXlfY2jhu41uXSBbdMOqbl904buHcF90aW7igKZdXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICBkaXNwbGF5cyB0aGlzIGhlbHAgdGV4dFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWMsIC0tY29sdW1ucyA8d2lkdGg+ICAgIHdpZHRoIG9mIG91dHB1dCBpbiBudW1iZXIgb2YgY2hhcmFjdGVyc1xuIgorI34gIiAtdCwgLS10YWJsZSAgICAgICAgICAgICAgY3JlYXRlIGEgdGFibGVcbiIKKyN+ICIgLXMsIC0tc2VwYXJhdG9yIDxzdHJpbmc+IHRhYmxlIGRlbGltZXRlclxuIgorI34gIiAteCwgLS1maWxscm93cyAgICAgICAgICAgZmlsbCByb3dzIGJlZm9yZSBjb2x1bW5zXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisjfiAiIC1jLCAtLWNvbHVtbnMgPHdpZHRoPiAgICDEkeG7mSBy4buZbmcgY+G7p2Ega+G6v3QgeHXhuqV0IHTDrW5oIGLhurFuZyBz4buRIGvDvSB04buxXG4iCisjfiAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICB04bqhbyBt4buZdCBi4bqjbmdcbiIKKyN+ICIgLXMsIC0tc2VwYXJhdG9yIDxzdHJpbmc+IGvDvSB04buxIG5nxINuIGPDoWNoIGLhuqNuZ1xuIgorI34gIiAteCwgLS1maWxscm93cyAgICAgICAgICAgxJFp4buBbiDEkeG6p3kgaMOgbmcgdHLGsOG7m2MgY8OhYyBj4buZdFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBjb2x1bW4oMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLEkOG7gyB0w6xtIHRow6ptIHRow7RuZyB0aW4sIHhlbSBjb2x1bW4oMSkuXG4iCisKKyN+IG1zZ2lkICJtb3JlICglcylcbiIKKyN+IG1zZ3N0ciAibW9yZSAoJXMpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbZmlsZS4uLl1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkPDoWNoIGTDuW5nOlxuIgorI34gIiVzIFt0w7l5X2No4buNbl0gW3TDqm5fdOG7h3BfdGlu4oCmXVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC10LCAtLXRlcm1pbmFsIFRFUk1JTkFMICAgIG92ZXJyaWRlIHRoZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCisjfiAiIC1pLCAtLWluZGljYXRlZCAgICAgICAgICAgIHVuZGVybGluaW5nIGlzIGluZGljYXRlZCB2aWEgYSBzZXBhcmF0ZSBsaW5lXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDw6FjIHTDuXkgY2jhu41uOlxuIgorI34gIiAtdCwgLS10ZXJtaW5hbCBURVJNSU5BTCAgICBnaGkgxJHDqCBsw6puIGJp4bq/biBtw7RpIHRyxrDhu51uZyBURVJNXG4iCisjfiAiIC1pLCAtLWluZGljYXRlZCAgICAgICAgICAgIMSRxrDhu51uZyBn4bqhY2ggZMaw4bubaSDEkcaw4bujYyBjaOG7iSByYSB0aMO0bmcgcXVhIG3hu5l0IGTDsm5nIG5nxINuIGPDoWNoXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHbhu4EgcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgInVzZXIgYCVzJyBkb2VzIG5vdCBleGlzdC4iCisjfiBtc2dzdHIgIm5nxrDhu51pIGTDuW5nIOKAnCVz4oCdIGtow7RuZyB04buTbiB04bqhaS4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBmaWxlICVzIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4Mgc3RhdCAobOG6pXkgdHLhuqFuZyB0aMOhaSkgdOG6rXAgdGluICVzIgorCisjfiBtc2dpZCAiIgorI34gInVzYWdlOiAlcyBbLWh2XSBbLXggZGlyXSBmaWxlXG4iCisjfiAiIC1oICAgICAgICAgcHJpbnQgdGhpcyBoZWxwXG4iCisjfiAiIC14IGRpciAgICAgZXh0cmFjdCBpbnRvIGRpclxuIgorI34gIiAtdiAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIgorI34gIiBmaWxlICAgICAgIGZpbGUgdG8gdGVzdFxuIgorI34gbXNnc3RyICIiCisjfiAiY8OhY2ggZMO5bmc6ICVzIFstaHZdIFsteCB0aMawIG3hu6VjXSB04bqtcCB0aW5cbiIKKyN+ICIgLWhcdFx0IGluIHJhIGjGsOG7m25nIGThuqtuIG7DoHlcbiIKKyN+ICIgLXggdGjGsCBt4bulY1x0IGdoaSB0aMO0bmcgdGluIHbDoG8gdGjGsCBt4bulYyBuw6B5XG4iCisjfiAiIC12XHRcdCBoaeG7h24gdGjhu4sgbmhp4buBdSB0aMO0bmcgYsOhbyBraGkgdGjhu7FjIGhp4buHblxuIgorI34gIiB04bqtcCB0aW5cdFx0IHThuq1wIHRpbiDEkeG7gyB0aOG7rSBuZ2hp4buHbVxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstbGFydnNtZl0gL2Rldi9uYW1lXG4iCisjfiBtc2dzdHIgIkPDoWNoIGTDuW5nOiAlcyBbLWxhcnZzbWZdIC9kZXYvVMOKTlxuIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIG9wZW4gJXMiCisjfiBtc2dzdHIgImzhu5dpIG3hu58gJXMiCisKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBkZXZpY2UgJXMiCisjfiBtc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSB0cuG6oW5nIHRow6FpIHbhu4EgdGhp4bq/dCBi4buLICVzIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGJsb2Nrc2l6ZSBhcmd1bWVudCIKKyN+IG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIMSR4buRaSBz4buRIGvDrWNoX3RoxrDhu5tjX3Thu4dwX3RpbiIKKworI34gbXNnaWQgImVycm9yOiB3aWxsIG5vdCB0cnkgdG8gbWFrZSBzd2FwZGV2aWNlIG9uICclcyciCisjfiBtc2dzdHIgImzhu5dpOiBz4bq9IGtow7RuZyB0aOG7rSB04bqhbyB0aGnhur90IGLhu4sgdHJhbyDEkeG7lWkgdHLDqm4g4oCcJXPigJ0iCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnICglcylcbiIKKyN+IG1zZ3N0ciAiS2jDtG5nIHRo4buDIG3hu58gdGhp4bq/dCBi4buLIGNo4bunIHRow7Qg4oCcJXPigJ0gKCVzKVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gbXNnc3RyICIiCisjfiAiQ8OhY2ggZMO5bmc6ICVzIFt0w7l5X2No4buNbiDigKZdIDx0aGnhur90X2Lhu4s+XG4iCisjfiAiXG4iCisjfiAiVMO5eSBjaOG7jW46XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHN3YXBsYWJlbCg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIsSQ4buDIHTDrG0gdGjDqm0gdGjDtG5nIHRpbiwgeGVtIHN3YXBsYWJlbCg4KS5cbiIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIGZpbGUgJyVzJyIKKyN+IG1zZ3N0ciAiS2jDtG5nIHRo4buDIG3hu58gdOG6rXAgdGluIOKAnCVz4oCdIgorCisjfiBtc2dpZCAiIgorI34gIlRoaXMgZGlzayBoYXMgYm90aCBET1MgYW5kIEJTRCBtYWdpYy5cbiIKKyN+ICJHaXZlIHRoZSAnYicgY29tbWFuZCB0byBnbyB0byBCU0QgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIsSQxKlhIG7DoHkgY8OzIG1hZ2ljIGtp4buDdSBj4bqjIERPUyB2w6AgQlNELlxuIgorI34gIk5o4bqtcCBs4buHbmgg4oCcYuKAnSDEkeG7gyB2w6BvIGNo4bq/IMSR4buZIEJTRC5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlaSBkb2VzIG5vdCBzdGFydCBvbiBjeWxpbmRlciBib3VuZGFyeTpcbiIKKyN+IG1zZ3N0ciAiUGjDom4gdsO5bmcgJWkga2jDtG5nIGLhuq90IMSR4bqndSB0csOqbiByYW5oIGdp4bubaSB0cuG7pTpcbiIKKworI34gbXNnaWQgInNob3VsZCBiZSAoJWQsICVkLCAxKVxuIgorI34gbXNnc3RyICJwaOG6o2kgbMOgICglZCwgJWQsIDEpXG4iCisKKyN+IG1zZ2lkICJzaG91bGQgYmUgKCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgInBo4bqjaSBsw6AgKCVkLCAlZCwgJWQpXG4iCisKKyN+IG1zZ2lkICJUaGlzIGtlcm5lbCBmaW5kcyB0aGUgc2VjdG9yIHNpemUgaXRzZWxmIC0gLWIgb3B0aW9uIGlnbm9yZWRcbiIKKyN+IG1zZ3N0ciAiTmjDom4gbsOgeSB04buxIHTDrG0ga8OtY2ggY+G7oSBjdW5nIHThu6sgLSB0w7l5IGNo4buNbiAtYiBi4buLIGLhu48gcXVhXG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5P1xuIgorI34gbXNnc3RyICJ0csOgbiBi4buZIG5o4bubP1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gInNmZGlzazogcHJlbWF0dXJlIGVuZCBvZiBpbnB1dFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAic2ZkaXNrOiBk4buvIGxp4buHdSB2w6BvIGvhur90IHRow7pjIHPhu5ttXG4iCisKKyN+IG1zZ2lkICJXQVJOSU5HOiBjb3VsZG4ndCBvcGVuICVzIgorI34gbXNnc3RyICJD4bqiTkggQsOBTzoga2jDtG5nIHRo4buDIG3hu58gJXMiCisKKyN+IG1zZ2lkICJXQVJOSU5HOiBiYWQgZm9ybWF0IG9uIGxpbmUgJWQgb2YgJXMiCisjfiBtc2dzdHIgIkPhuqJOSCBCw4FPOiBn4bq3cCDEkeG7i25oIGThuqFuZyBzYWkgdHLDqm4gZMOybmcgJWQgY+G7p2EgJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiV0FSTklORzogWW91ciAvZXRjL2ZzdGFiIGRvZXMgbm90IGNvbnRhaW4gdGhlIGZzY2sgcGFzc25vXG4iCisjfiAiXHRmaWVsZC4gIEkgd2lsbCBrbHVkZ2UgYXJvdW5kIHRoaW5ncyBmb3IgeW91LCBidXQgeW91XG4iCisjfiAiXHRzaG91bGQgZml4IHlvdXIgL2V0Yy9mc3RhYiBmaWxlIGFzIHNvb24gYXMgeW91IGNhbi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkPhuqJOSCBCw4FPOiAvZXRjL2ZzdGFiIGPhu6dhIGLhuqFuIGtow7RuZyBjaOG7qWEgdHLGsOG7nW5nIGZzY2sgcGFzc25vLlxuIgorI34gIlx0VMO0aSBz4bq9IMSRaeG7gXUgY2jhu4luaCB04bqhbSB0aOG7nWksIG5oxrBuZyBi4bqhbiBuw6puIHPhu61hIGNo4buvYVxuIgorI34gIlx0dOG6rXAgdGluIC9ldGMvZnN0YWIgY8Ogbmcgc+G7m20gY8OgbmcgdOG7kXQuXG4iCisKKyN+IG1zZ2lkICJjb3VsZG4ndCBvcGVuICVzIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyAlcyIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIC9kZXYvcG9ydCIKKyN+IG1zZ3N0ciAiS2jDtG5nIG3hu58gxJHGsOG7o2MgL2Rldi9wb3J0IgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVwb2NoIgorI34gbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggZXBvY2giCisKKyN+IG1zZ2lkICIiCisjfiAiWW91IGhhdmUgc3BlY2lmaWVkIG11bHRpcGxlIGZ1bmN0aW9ucy5cbiIKKyN+ICJZb3UgY2FuIG9ubHkgcGVyZm9ybSBvbmUgZnVuY3Rpb24gYXQgYSB0aW1lLiIKKyN+IG1zZ3N0ciAiIgorI34gIkLhuqFuIHBo4bqjaSBjaOG7iSByYSBuaGnhu4F1IGjDoG0uXG4iCisjfiAiQuG6oW4gY2jhu4kgY8OzIHRo4buDIHRo4buxYyBoaeG7h24gbeG7mXQgaMOgbSBt4buXaSBs4bqnbi4iCisKKyN+IG1zZ2lkICJUaGUgLS11dGMgYW5kIC0tbG9jYWx0aW1lIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC4iCisjfiBtc2dzdHIgIkPDoWMgdMO5eSBjaOG7jW4g4oCcLS11dGPigJ0gdsOgIOKAnC0tbG9jYWx0aW1l4oCdIGxv4bqhaSB0cuG7qyBs4bqrbiBuaGF1LiAgQuG6oW4gbOG6oWkgxJHGsGEgcmEgY+G6oyBoYWkuIgorCisjfiBtc2dpZCAiVGhlIC0tYWRqdXN0IGFuZCAtLW5vYWRqZmlsZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuICBZb3Ugc3BlY2lmaWVkIGJvdGguIgorI34gbXNnc3RyICJDw6FjIHTDuXkgY2jhu41uIOKAnC0tYWRqdXN04oCdIHbDoCDigJwtLW5vYWRqdXN04oCdIGxv4bqhaSB0cuG7qyBs4bqrbiBuaGF1LiAgQuG6oW4gbOG6oWkgxJHGsGEgcmEgY+G6oyBoYWkuIgorCisjfiBtc2dpZCAiVGhlIC0tYWRqZmlsZSBhbmQgLS1ub2FkamZpbGUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiAgWW91IHNwZWNpZmllZCBib3RoLiIKKyN+IG1zZ3N0ciAiQ8OhYyB0w7l5IGNo4buNbiDigJwtLWFkamZpbGXigJ0gdsOgIOKAnC0tbm9hZGpmaWxl4oCdIGxv4bqhaSB0cuG7qyBs4bqrbiBuaGF1LiAgQuG6oW4gbOG6oWkgxJHGsGEgcmEgY+G6oyBoYWkuIgorCisjfiBtc2dpZCAib3BlbigpIG9mICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAib3BlbigpIGNobyAlcyBraMO0bmcgdGjDoG5oIGPDtG5nIgorCisjfiBtc2dpZCAiT3BlbiBvZiAlcyBmYWlsZWQiCisjfiBtc2dzdHIgIk3hu58gJXMga2jDtG5nIHRow6BuaCBjw7RuZyIKKworI34gbXNnaWQgIlVuYWJsZSB0byBvcGVuICVzIgorI34gbXNnc3RyICJLaMO0bmcgbeG7nyDEkcaw4bujYyAlcyIKKworI34gbXNnaWQgImVycm9yOiBjYW5ub3Qgb3BlbiAlcyIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gJXMiCisKKyN+IG1zZ2lkICJGYWlsZWQgdG8gb3BlbiAlcyBmb3IgcmVhZGluZywgZXhpdGluZy4iCisjfiBtc2dzdHIgIktow7RuZyBt4bufIMSRxrDhu6NjICVzIMSR4buDIMSR4buNYyBuw6puIHRob8OhdC4iCisKKyN+IG1zZ2lkICJjYW5ub3QgbG9jayBncm91cCBmaWxlIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4Mga2jDs2EgdOG6rXAgdGluIG5ow7NtIgorCisjfiBtc2dpZCAidGhlICVzIGZpbGUgaXMgYnVzeSAoJXMgcHJlc2VudCkiCisjfiBtc2dzdHIgInThuq1wIHRpbiAlcyDEkWFuZyBi4bqtbiAoJXMgaGnhu4duIGRp4buHbikiCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgTEFCRUw9PGxhYmVsPnxVVUlEPTx1dWlkPlxuIgorI34gbXNnc3RyICJDw6FjaCBkw7luZzogJXMgTEFCRUw9PG5ow6NuPnxVVUlEPTx1dWlkPlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmaW5kbW50KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAixJDhu4MgdMOsbSB0aMOqbSB0aMO0bmcgdGluLCB4ZW0gZmluZG1udCgxKS5cbiIKKworI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaWd2YWwiCisjfiBtc2dzdHIgImzhu5dpIHBow6JuIHTDrWNoIHNpZ3ZhbCIKKworI34gbXNnaWQgInBvcnQgYCVsZCcgb3V0IG9mIHJhbmdlIgorI34gbXNnc3RyICJj4buVbmcg4oCcJWxk4oCdIG7hurFtIG5nb8OgaSBwaOG6oW0gdmkiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGxzYmxrKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAixJDhu4MgdMOsbSB0aMOqbSB0aMO0bmcgdGluLCB4ZW0gbHNibGsoOCkuXG4iCisKKyN+IG1zZ2lkICJpbnZhbGlkIG9mZnNldCB2YWx1ZSAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAic2FpIHjDoWMgxJHhu4tuaCBnacOhIHRy4buLIGNow6puaCDigJwlc+KAnSIKKworI34gbXNnaWQgIndhcm5pbmc6IGZhaWxlZCB0byByZWFkIG10YWIiCisjfiBtc2dzdHIgImPhuqNuaCBiw6FvOiB2aeG7h2MgxJHhu41jIHThuq1wIHRpbiBtdGFiIGfhurdwIGzhu5dpIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNsYXNzIGRhdGEiCisjfiBtc2dzdHIgImzhu5dpIHNhbyBwaMOibiB0w61jaCBk4buvIGxp4buHdSBs4bubcCIKKworI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjbGFzcyIKKyN+IG1zZ3N0ciAibOG7l2kgcGjDom4gdMOtY2ggbOG7m3AiCisKKyN+IG1zZ2lkICJjb25maWd1cmUsIGRlY29uZmlndXJlLCBkaXNhYmxlLCBkaXNwYXRjaCwgZW5hYmxlIGFuZCByZXNjYW4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKKyN+IG1zZ3N0ciAiY+G6pXUgaMOsbmgsIGLhu48gY+G6pXUgaMOsbmgsIGLhuqV0IGhv4bqhdCwgcGjDom4gcGjhu5FpLCBi4bqtdCB2w6AgcXXDqXQgdMOsbSBs4bqhaSBsw6AgbG/huqFpIHRy4burIGzhuqtuIG5oYXUiCisKKyN+IG1zZ2lkICJjbGVhciwgcmVhZC1jbGVhciwgY29uc29sZS1sZXZlbCwgY29uc29sZS1vbiwgYW5kIGNvbnNvbGUtb2ZmIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKKyN+IG1zZ3N0ciAiY2xlYXIsIHJlYWQtY2xlYXIsIGNvbnNvbGUtbGV2ZWwsIGNvbnNvbGUtb24sIHbDoCBjb25zb2xlLW9mZiBsw6AgY8OhYyB0w7l5IGNo4buNbiBsb+G6oWkgdHLhu6sgbOG6q24gbmhhdSIKKworI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBidWZmZXIgc2l6ZSIKKyN+IG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIGvDrWNoIHRoxrDhu5tjIGLhu5kgxJHhu4dtIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmYWxsb2NhdGUoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLEkOG7gyB0w6xtIHRow6ptIHRow7RuZyB0aW4sIHhlbSBmYWxsb2NhdGUoMSkuXG4iCisKKyN+IG1zZ2lkICIlczogZnN0YXQgZmFpbGVkIgorI34gbXNnc3RyICIlczogZnN0YXQgYuG7iyBs4buXaSIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgZnN0cmltKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAixJDhu4MgdMOsbSB0aMOqbSB0aMO0bmcgdGluLCB4ZW0gIGZzdHJpbSg4KS5cbiIKKworI34gbXNnaWQgImludmFsaWQgc3BlZWQiCisjfiBtc2dzdHIgInThu5FjIMSR4buZIGtow7RuZyBo4bujcCBs4buHIgorCisjfiBtc2dpZCAiaW52YWxpZCBvZmZzZXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgInNhaSB4w6FjIMSR4buLbmggZ2nDoSB0cuG7iyBjaMOqbmgg4oCcJXPigJ0iCisKKyN+IG1zZ2lkICJpbnZhbGlkIHNpemUgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgImNo4buJIMSR4buLbmgga8OtY2ggY+G7oSDigJwlc+KAnSBraMO0bmcgaOG7o3AgbOG7hyIKKworI34gbXNnaWQgImV4dGVuZGVkIGFuZCBwYXJzYWJsZSBmb3JtYXRzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCisjfiBtc2dzdHIgIsSR4buLbmggZOG6oW5nIHBow6JuIHTDrWNoIMSRxrDhu6NjIHbDoCBt4bufIHLhu5luZyBsb+G6oWkgdOG7qyBs4bqrbiBuaGF1IgorCisjfiBtc2dpZCAiLS1hbGwsIC0tb25saW5lIGFuZCAtLW9mZmxpbmUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorI34gbXNnc3RyICItLWFsbCwgLS1vbmxpbmUgdsOgIC0tb2ZmbGluZSBsb+G6oWkgdOG7qyBs4bqrbiBuaGF1IgorCisjfiBtc2dpZCAib25seSBvbmUgPHNvdXJjZT4gbWF5IGJlIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiY2jhu4kgY8OzIHRo4buDIMSRxrBhIHJhIG3hu5l0IDx0aGnhur90IGLhu4s+IgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHNvdXJjZSBidWZmZXIiCisjfiBtc2dzdHIgImzhu5dpIGPhuqVwIHBow6F0IG3hu5l0IHbDuW5nIMSR4buHbSA8bmd14buTbj4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG1vdW50cG9pbnQoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLEkOG7gyB0w6xtIHRow6ptIHRow7RuZyB0aW4sIHhlbSBtb3VudHBvaW50KDEpLlxuIgorCisjfiBtc2dpZCAib25seSB1c2Ugb25lIFBJRCBhdCBhIHRpbWUiCisjfiBtc2dzdHIgImNo4buJIHPhu60gZOG7pW5nIG3hu5l0IFBJRCB04bqhaSBt4buZdCB0aOG7nWkgxJFp4buDbSIKKworI34gbXNnaWQgImNhbm5vdCBwYXJzZSBQSUQiCisjfiBtc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiB0w61jaCAgUElEIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNlY29uZHMgdmFsdWUiCisjfiBtc2dzdHIgInBow6JuIHTDrWNoIGdpw6EgdHLhu4sgZ2nDonkgZ+G6t3AgbOG7l2kiCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZV90IHZhbHVlIgorI34gbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggZ2nDoSB0cuG7iyB0aW1lX3QiCisKKyN+IG1zZ2lkICInJXMnIGlzIHVuc3VwcG9ydGVkIHByb2dyYW0gbmFtZSAobXVzdCBiZSAnc3dhcG9uJyBvciAnc3dhcG9mZicpLiIKKyN+IG1zZ3N0ciAi4oCcJXPigJ0gbMOgIG3hu5l0IHTDqm4gY2jGsMahbmcgdHLDrG5oIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujIChwaOG6o2kgbMOgIOKAnHN3YXBvbuKAnSBoYXkg4oCcc3dhcG9mZuKAnS4uIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgZGlyZWN0b3J5IgorI34gbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkgdGjhu5FuZyBrw6ogc3RhdCB0aMawIG3hu6VjIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgZGlyZWN0b3J5ICVzIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkgdGjhu5FuZyBrw6ogc3RhdCB0aMawIG3hu6VjICVzIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gdGltaW5nIGZpbGUgJXMiCisjfiBtc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIHThuq1wIHRpbiDEkeG6v20gdGjhu51pIGdpYW4gJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGxzYmxrKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAixJDhu4MgdMOsbSB0aMOqbSB0aMO0bmcgdGluLCB4ZW0gbHNibGsoMSkuXG4iCisKKyN+IG1zZ2lkICJhcmd1bWVudCAlbHUgaXMgdG9vIGxhcmdlIgorI34gbXNnc3RyICJ0aGFtIHPhu5EgJWx1IHF1w6EgbOG7m24iCisKKyN+IG1zZ2lkICJ0ZXJtaW5hbCBlbnZpcm9ubWVudCBDT0xVTU5TIGZhaWxlZCIKKyN+IG1zZ3N0ciAixJHhurd0IGJp4bq/biBtw7RpIHRyxrDhu51uZyBDT0xVTU5TIGNobyB0aGnhur90IGLhu4sgY3Xhu5FpICh0ZXJtaW5hbCkgZ+G6t3AgbOG7l2kiCisKKyN+IG1zZ2lkICJiYWQgY29sdW1ucyB3aWR0aCB2YWx1ZSIKKyN+IG1zZ3N0ciAiZ2nDoSB0cuG7iyDEkeG7mSBy4buZbmcgY+G7mXQgc2FpIgorCisjfiBtc2dpZCAiLSVjIHBvc2l0aXZlIGludGVnZXIgZXhwZWN0ZWQgYXMgYW4gYXJndW1lbnQiCisjfiBtc2dzdHIgIi0lYyBz4buRIG5ndXnDqm4gZMawxqFuZyDEkcaw4bujYyBj4bqnbiBsw6AgbeG7mXQgxJHhu5FpIHPhu5EiCisKKyN+IG1zZ2lkICJiYWQgbGVuZ3RoIHZhbHVlIgorI34gbXNnc3RyICJnacOhIHRy4buLIGNoaeG7gXUgZMOgaSBzYWkuIgorCisjfiBtc2dpZCAiYmFkIHNraXAgdmFsdWUiCisjfiBtc2dzdHIgImLhu48gcXVhIGdpw6EgdHLhu4sgc2FpIgorCisjfiBtc2dpZCAiJXM6IFVzYWdlOiAlcyBbLW51bWJlcl0gWy1wIHN0cmluZ10gWy1jZWZucnNdIFsrbGluZV0gWysvcGF0dGVybi9dIFtmaWxlc11cbiIKKyN+IG1zZ3N0ciAiJXM6IEPDoWNoIGTDuW5nOiAlcyBbLXPhu5FdIFstcCBjaHXhu5dpXSBbLWNlZm5yc10gWytkw7JuZ10gWysvcGF0dGVybi9dIFtjw6FjX3Thuq1wdGluXVxuIgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gIgorI34gbXNnc3RyICJLaMO0bmcgbeG7nyDEkcaw4bujYyAiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBgJXMnIGZvciByZWFkIgorI34gbXNnc3RyICJraMO0bmcgbeG7nyDEkcaw4bujYyDigJwlc+KAnSDEkeG7gyDEkeG7jWMiCisKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBgJXMnIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkgdHLhuqFuZyB0aMOhaSB24buBIOKAnCVz4oCdIgorCisjfiBtc2dpZCAiICAlcyAtVlxuIgorI34gbXNnc3RyICIgICVzIC1WXG4iCisKKyN+IG1zZ2lkICIgICVzIC0tcmVwb3J0IFtkZXZpY2VzXVxuIgorI34gbXNnc3RyICIgICVzIC0tcmVwb3J0IFt0aGnhur90IGLhu4tdXG4iCisKKyN+IG1zZ2lkICIgICVzIFstdnwtcV0gY29tbWFuZHMgZGV2aWNlc1xuIgorI34gbXNnc3RyICIgICVzIFstdnwtcV0gY8OidV9s4buHbmggdGhp4bq/dF9i4buLXG4iCisKKyN+IG1zZ2lkICIlczogY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBt4bufICVzXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtbiBdIGRldmljZVxuIgorI34gbXNnc3RyICJjw6FjaCBkw7luZzogJXMgWyAtbiBdIHRoaeG6v3QgYuG7i1xuIgorCisjfiBtc2dpZCAibWFsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAibWFsbG9jIGtow7RuZyB0aMOgbmggY8O0bmciCisKKyN+IG1zZ2lkICIlczogb3B0aW9uIHBhcnNlIGVycm9yXG4iCisjfiBtc2dzdHIgIiVzOiBs4buXaSBwaMOibiB0w61jaCB0w7l5IGNo4buNblxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsteF0gWy1kIDxudW0+XSBpc285NjYwLWltYWdlXG4iCisjfiBtc2dzdHIgIkPDoWNoIGTDuW5nOiAlcyBbLXhdIFstZCA8c+G7kT5dIHThuq1wLXRpbi3huqNuaC1pc285NjYwXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFstdl0gWy1OIG5yLW9mLWlub2Rlc10gWy1WIHZvbHVtZS1uYW1lXVxuIgorI34gIiAgICAgICBbLUYgZnNuYW1lXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorI34gbXNnc3RyICIiCisjfiAiQ8OhY2ggZMO5bmc6ICVzIFstdl0gWy1OIHPhu5FfaW5vZGVdIFstViB0w6puX2to4buRaV90aW5dXG4iCisjfiAiICAgICAgIFstRiB0w6puX2jhu4dfdGjhu5FuZ1904bqtcF90aW5dIHRoaeG6v3RfYuG7iyBbxJHhur9tX2to4buRaV1cbiIKKworI34gbXNnaWQgInVuYWJsZSB0byBzdGF0ICVzIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkgdHLhuqFuZyB0aMOhaSB24buBICVzIgorCisjfiBtc2dpZCAiY2Fubm90IGRldGVybWluZSBzZWN0b3Igc2l6ZSBmb3IgJXMiCisjfiBtc2dzdHIgImtow7RuZyB0aOG7gyBxdXnhur90IMSR4buLbmgga8OtY2ggY+G7oSBjdW5nIHThu6sgY2hvICVzIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstY10gWy1wUEFHRVNaXSBbLUwgbGFiZWxdIFstVSBVVUlEXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKKyN+IG1zZ3N0ciAiQ8OhY2ggZMO5bmc6ICVzIFstY10gWy1wS8ONQ0hfQ+G7oF9UUkFOR10gWy1MIG5ow6NuXSBbLVUgVVVJRF0gL2Rldi90w6puIFtjw6FjX2to4buRaV1cbiIKKworI34gbXNnaWQgIk91dCBvZiBtZW1vcnkiCisjfiBtc2dzdHIgIktow7RuZyDEkeG7pyBi4buZIG5o4bubIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOlxuIgorI34gIiAgJXMgIgorI34gbXNnc3RyICIiCisjfiAiQ8OhY2ggZMO5bmc6XG4iCisjfiAiICAlcyAiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBpbiB0aGUgZmluYWwgcGFydGlhbCBjeWxpbmRlciIKKyN+IG1zZ3N0ciAiUGjDom4gdsO5bmcga+G6v3QgdGjDumMgdHJvbmcgaMOsbmggdHLhu6UgYsOhbiBwaOG6p24gY3Xhu5FpIGPDuW5nIgorCisjfiBtc2dpZCAiTWVudSB3aXRob3V0IGRpcmVjdGlvbi4gRGVmYXVsdGluZyB0byBob3Jpem9udGFsLiIKKyN+IG1zZ3N0ciAiVHLDrG5oIMSRxqFuIGtow7RuZyBjw7MgcGjGsMahbmcgaMaw4bubbmcgbsOqbiBkw7luZyBjw6BpIMSR4bq3dCBt4bq3YyDEkeG7i25oIChu4bqxbSBuZ2FuZykuIgorCisjfiBtc2dpZCAiICAgZCAgIGRlbGV0ZSBhIEJTRCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgIGQgICB4w7NhIG3hu5l0IHBow6JuIHbDuW5nIEJTRCIKKworI34gbXNnaWQgIiAgIG4gICBhZGQgYSBuZXcgQlNEIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgbiAgIHRow6ptIG3hu5l0IHBow6JuIHbDuW5nIEJTRCBt4bubaSIKKworI34gbXNnaWQgIiAgIHQgICBjaGFuZ2UgYSBwYXJ0aXRpb24ncyBmaWxlc3lzdGVtIGlkIgorI34gbXNnc3RyICIgICB0ICAgdGhheSDEkeG7lWkgbcOjIGhp4buHdSBo4buHIHRo4buRbmcgdOG6rXAgdGluIGPhu6dhIG3hu5l0IHBow6JuIHbDuW5nIgorCisjfiBtc2dpZCAiICAgdSAgIGNoYW5nZSB1bml0cyAoY3lsaW5kZXJzL3NlY3RvcnMpIgorI34gbXNnc3RyICIgICB1ICAgdGhheSDEkeG7lWkgxJHGoW4gduG7iyAodHLhu6UvY3VuZyB04burKSIKKworI34gbXNnaWQgIlVuYWJsZSB0byBvcGVuICVzXG4iCisjfiBtc2dzdHIgIktow7RuZyB0aOG7gyBt4bufICVzXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYW55IG1vcmUgbWVtb3J5XG4iCisjfiBtc2dzdHIgIktow7RuZyB0aOG7gyBwaMOibiBwaOG7kWkgdGjDqm0gYuG7mSBuaOG7m1xuIgorCisjfiBtc2dpZCAiICAgcCAgIHByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIiAgIHAgICBpbiByYSBi4bqjbmcgcGjDom4gdsO5bmciCisKKyN+IG1zZ2lkICIiCisjfiAiQnVpbGRpbmcgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguXG4iCisjfiAiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorI34gIkFmdGVyIHRoYXQsIG9mIGNvdXJzZSwgdGhlIHByZXZpb3VzIGNvbnRlbnQgd29uJ3QgYmUgcmVjb3ZlcmFibGUuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJU4bqhbyBt4buZdCBuaMOjbiDEkcSpYSBET1MgbeG7m2kgY8OzIMSR4buTIG5o4bqtbiBkaeG7h24gxJHEqWEgMHglMDh4LlxuIgorI34gIlRoYXkgxJHhu5dpIGNo4buJIG7hurFtIHThuqFtIHRyb25nIGLhu5kgbmjhu5ssIGNobyDEkeG6v24ga2hpIGLhuqFuXG4iCisjfiAicXV54bq/dCDEkeG7i25oIGdoaSBjaMO6bmcuIFNhdSDEkcOzLCB04bqldCBuaGnDqm4sIG7hu5lpIGR1bmdcbiIKKyN+ICJ0csaw4bubYyDEkcOzIHPhur0ga2jDtG5nIHRo4buDIMSRxrDhu6NjIHBo4bulYyBo4buTaS5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIkRldmljZSBjb250YWlucyBuZWl0aGVyIGEgdmFsaWQgRE9TIHBhcnRpdGlvbiB0YWJsZSwgbm9yIFN1biwgU0dJIG9yIE9TRiBkaXNrbGFiZWxcbiIKKyN+IG1zZ3N0ciAiVGhp4bq/dCBi4buLIGNo4bupYSBt4buZdCBi4bqjbmcgcGjDom4gdsO5bmcgRE9TLCBoYXkgU3VuLCBTR0kgaGF5IE9TRiBi4buLIGzhu5dpXG4iCisKKyN+IG1zZ2lkICJJbnRlcm5hbCBlcnJvclxuIgorI34gbXNnc3RyICJM4buXaSBu4buZaSBi4buZXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiZ290IEVPRiB0aHJpY2UgLSBleGl0aW5nLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIm5o4bqtbiDEkcaw4bujYyBFT0YgYmEgbOG6p24gLSDEkWFuZyB0aG/DoXQuLlxuIgorCisjfiBtc2dpZCAiWW91IG11c3QgZGVsZXRlIHNvbWUgcGFydGl0aW9uIGFuZCBhZGQgYW4gZXh0ZW5kZWQgcGFydGl0aW9uIGZpcnN0XG4iCisjfiBtc2dzdHIgIkLhuqFuIHBo4bqjaSB4w7NhIHbDoGkgcGjDom4gdsO5bmcgdsOgIHRow6ptIG3hu5l0IHBow6JuIHbDuW5nIG3hu58gcuG7mW5nIHRyxrDhu5tjXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiQ29tbWFuZCBhY3Rpb25cbiIKKyN+ICIgICAlc1xuIgorI34gIiAgIHAgICBwcmltYXJ5IHBhcnRpdGlvbiAoMS00KVxuIgorI34gbXNnc3RyICIiCisjfiAiVMOhYyBk4bulbmcgY+G7p2EgY8OidSBs4buHbmhcbiIKKyN+ICIgICAlc1xuIgorI34gIiAgIHAgICBwaMOibiB2w7luZyBjaMOtbmggKDEtNClcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJcdFNvcnJ5LCBubyBleHBlcnRzIG1lbnUgZm9yIFNHSSBwYXJ0aXRpb24gdGFibGVzIGF2YWlsYWJsZS5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0WGluIGzhu5dpLCBraMO0bmcgY8OzIHRyw6xuaCDEkcahbiBuw6JuZyBjYW8gY2hvIGLhuqNuZyBwaMOibiB2w7luZyBTR0kuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJTb3JyeSBZb3UgbWF5IGNoYW5nZSB0aGUgVGFnIG9mIG5vbi1lbXB0eSBwYXJ0aXRpb25zLlxuIgorI34gbXNnc3RyICJYaW4gbOG7l2kgY8OzIHRo4buDIELhuqFuIHRoYXkgxJHhu5VpIFRhZyBj4bunYSBwaMOibiB2w7luZyBraMO0bmcgcuG7l25nLlxuIgorCisjfiBtc2dpZCAiRG8gWW91IGtub3csIFlvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzaz9cbiIKKyN+IG1zZ3N0ciAiQuG6oW4gQ8OzIGJp4bq/dCwgcuG6sW5nIGLhuqFuIGPDsyBt4buZdCBwaMOibiB2w7luZyDEkcOoIGzDqm4gbmhhdSB0csOqbiDEkcSpYT9cbiIKKworI34gbXNnaWQgIiIKKyN+ICJCdWlsZGluZyBhIG5ldyBTR0kgZGlza2xhYmVsLiBDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LFxuIgorI34gInVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS4gQWZ0ZXIgdGhhdCwgb2YgY291cnNlLCB0aGUgcHJldmlvdXNcbiIKKyN+ICJjb250ZW50IHdpbGwgYmUgdW5yZWNvdmVyYWJseSBsb3N0LlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiWMOieSBk4buxbmcgbeG7mXQgbmjDo24gxJHEqWEgU0dJIG3hu5tpLiBUaGF5IMSR4buVaSBz4bq9IGNo4buJIGdoaSB0cm9uZyBi4buZIG5o4bubLFxuIgorI34gImNobyDEkeG6v24ga2hpIGLhuqFuIHF1eeG6v3QgxJHhu4tuaCBnaGkgY2jDum5nLiBTYXUgxJHDsywgdOG6pXQgbmhpw6puLCBu4buZaSBkdW5nIGPFqVxuIgorI34gInPhur0gbeG6pXQgdsOgIGtow7RuZyB0aOG7gyBwaOG7pWMgaOG7k2kuXG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5IC0gZ2l2aW5nIHVwXG4iCisjfiBtc2dzdHIgInRyw6BuIGLhu5kgbmjhu5sgLSBraMO0bmcgdGjhu4MgdGnhur9wIHThu6VjXG4iCisKKyN+IG1zZ2lkICJhbmQgJXMgb3ZlcmxhcFxuIgorI34gbXNnc3RyICJ2w6AgJXMgxJHDqCBsw6puIG5oYXVcbiIKKworI34gbXNnaWQgImRldmljZTogc29tZXRoaW5nIGxpa2UgL2Rldi9oZGEgb3IgL2Rldi9zZGEiCisjfiBtc2dzdHIgInRoaeG6v3QgYuG7izogY8OzIGThuqFuZyAvZGV2L2hkYSBoYXkgL2Rldi9zZGEiCisKKyN+IG1zZ2lkICIgICAgLXMgW29yIC0tc2hvdy1zaXplXTogbGlzdCBzaXplIG9mIGEgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICAgLXMgW2hheSAtLXNob3ctc2l6ZV06IGxp4buHdCBrw6oga8OtY2ggY+G7oSBwaMOibiB2w7luZyIKKworI34gbXNnaWQgIiAgICAtZCBbb3IgLS1kdW1wXTogICAgICBpZGVtLCBidXQgaW4gYSBmb3JtYXQgc3VpdGFibGUgZm9yIGxhdGVyIGlucHV0IgorI34gbXNnc3RyICIgICAgLWQgW2hheSAtLWR1bXBdOiAgICAgIGPFqW5nIG5oxrAgdHLDqm4gbmjGsG5nIOG7nyBk4bqhbmcgY8OzIHRo4buDIGTDuW5nIGNobyBuaOG6rXAgdsOgbyIKKworI34gbXNnaWQgIiAgICAtaSBbb3IgLS1pbmNyZW1lbnRdOiBudW1iZXIgY3lsaW5kZXJzIGV0Yy4gZnJvbSAxIGluc3RlYWQgb2YgZnJvbSAwIgorI34gbXNnc3RyICIgICAgLWkgW2hheSAtLWluY3JlbWVudF06IHPhu5EgdHLhu6Ugdi524oCmIHThu6sgMSB0aGF5IHbDrCB04burIDAiCisKKyN+IG1zZ2lkICIgICAgLXVTLCAtdUIsIC11QywgLXVNOiAgYWNjZXB0L3JlcG9ydCBpbiB1bml0cyBvZiBzZWN0b3JzL2Jsb2Nrcy9jeWxpbmRlcnMvTUIiCisjfiBtc2dzdHIgIiAgICAtdVMsIC11QiwgLXVDLCAtdU06ICBjaOG6pXAgbmjhuq1uL2LDoW8gY8OhbyB24bubaSDEkcahbiB24buLIGN1bmcgdOG7qy9raOG7kWkvdHLhu6UvTUIiCisKKyN+IG1zZ2lkICIgICAgLVQgW29yIC0tbGlzdC10eXBlc106bGlzdCB0aGUga25vd24gcGFydGl0aW9uIHR5cGVzIgorI34gbXNnc3RyICIgICAgLVQgW2hheSAtLWxpc3QtdHlwZXNdOlx0XHRsaeG7h3Qga8OqIGPDoWMga2nhu4N1IHBow6JuIHbDuW5nIMSRw6MgYmnhur90IgorCisjfiBtc2dpZCAiICAgIC1EIFtvciAtLURPU106ICAgICAgIGZvciBET1MtY29tcGF0aWJpbGl0eTogd2FzdGUgYSBsaXR0bGUgc3BhY2UiCisjfiBtc2dzdHIgIiAgICAtRCBbaGF5IC0tRE9TXTogICAgICAgxJHhu4MgdMawxqFuZyB0aMOtY2ggduG7m2kgRE9TOiBsw6NuZyBwaMOtIG3hu5l0IGNow7p0IGtob+G6o25nIHRy4buRbmciCisKKyN+IG1zZ2lkICIgICAgLVIgW29yIC0tcmUtcmVhZF06ICAgbWFrZSBrZXJuZWwgcmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiICAgIC1SIFtoYXkgLS1yZS1yZWFkXTogICBraGnhur9uIG5ow6JuIMSR4buNYyBs4bqhaSBi4bqjbmcgcGjDom4gdsO5bmciCisKKyN+IG1zZ2lkICIgICAgLU8gZmlsZSA6ICAgICAgICAgICAgc2F2ZSB0aGUgc2VjdG9ycyB0aGF0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gdG8gZmlsZSIKKyN+IG1zZ3N0ciAiICAgIC1PIHThuq1wIHRpbiA6ICAgICAgICAgICAgZ2hpIGPDoWMgY3VuZyB04burIHPhur0gYuG7iyBnaGkgY2jDqG4gdsOgbyB04bqtcCB0aW4iCisKKyN+IG1zZ2lkICIgICAgLUkgZmlsZSA6ICAgICAgICAgICAgcmVzdG9yZSB0aGVzZSBzZWN0b3JzIGFnYWluIgorI34gbXNnc3RyICIgICAgLUkgdOG6rXAgdGluIDogICAgICAgICAgICBwaOG7pWMgaOG7k2kgbOG6oWkgbmjhu69uZyBjdW5nIHThu6sgbsOgeSIKKworI34gbXNnaWQgIiAgICAtdiBbb3IgLS12ZXJzaW9uXTogICBwcmludCB2ZXJzaW9uIgorI34gbXNnc3RyICIgICAgLXYgW2hheSAtLXZlcnNpb25dOiAgIGluIHJhIHPhu5EgaGnhu4d1IHBoacOqbiBi4bqjbiIKKworI34gbXNnaWQgIiAgICAtPyBbb3IgLS1oZWxwXTogICAgICBwcmludCB0aGlzIG1lc3NhZ2UiCisjfiBtc2dzdHIgIiAgICAtPyBbaGF5IC0taGVscF06ICAgICAgaW4gdHLhu6MgZ2nDunAgbsOgeSIKKworI34gbXNnaWQgIiAgICAtZyBbb3IgLS1zaG93LWdlb21ldHJ5XTogcHJpbnQgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIGdlb21ldHJ5IgorI34gbXNnc3RyICIgICAgLWcgW2hheSAtLXNob3ctZ2VvbWV0cnldOiBpbiByYSBj4bqldSB0csO6YyDEkcSpYSB0aGVvIHF1YW4gbmnhu4dtIGPhu6dhIG5ow6JuIgorCisjfiBtc2dpZCAiICAgIC1MICBbb3IgLS1MaW51eF06ICAgICAgZG8gbm90IGNvbXBsYWluIGFib3V0IHRoaW5ncyBpcnJlbGV2YW50IGZvciBMaW51eCIKKyN+IG1zZ3N0ciAiICAgIC1MICBbaGF5IC0tTGludXhdOiAgICAga2jDtG5nIHRoYW4gcGhp4buBbiB24buBIG5o4buvbmcgZ8OsIGtow7RuZyB0aMOtY2ggaOG7o3AgduG7m2kgTGludXgiCisKKyN+IG1zZ2lkICIgICAgWW91IGNhbiBvdmVycmlkZSB0aGUgZGV0ZWN0ZWQgZ2VvbWV0cnkgdXNpbmc6IgorI34gbXNnc3RyICIgICAgQuG6oW4gY8OzIHRo4buDIHZp4bq/dCDEkcOoIGzDqm4gY+G6pXUgdHLDumMgbmjhuq1uIHJhIHPhu60gZOG7pW5nOiIKKworI34gbXNnaWQgIiAgICAtZiAgW29yIC0tZm9yY2VdOiAgICAgIGRvIHdoYXQgSSBzYXksIGV2ZW4gaWYgaXQgaXMgc3R1cGlkIgorI34gbXNnc3RyICIgICAgLWYgIFtoYXkgLS1mb3JjZV06ICAgICAgbMOgbSBi4bqldCB0aGVvIGzhu51pIGLhuqFuLCB0aOG6rW0gY2jDrSBsw6Agbmd1IG5n4buRYyIKKworI34gbXNnaWQgIkNvdWxkbid0IGFsbG9jYXRlIG1lbW9yeSBmb3IgZmlsZXN5c3RlbSB0eXBlc1xuIgorI34gbXNnc3RyICJLaMO0bmcgdGjhu4MgcGjDom4gY+G6pXAgYuG7mSBuaOG7myBjaG8ga2nhu4N1IGjhu4cgdGjhu5FuZyB04bqtcCB0aW5cbiIKKworI34gbXNnaWQgIlVzYWdlOiBmc2NrIFstQU1OUFJUVl0gWyAtQyBbIGZkIF0gXSBbLXQgZnN0eXBlXSBbZnMtb3B0aW9uc10gW2ZpbGVzeXMgLi4uXVxuIgorI34gbXNnc3RyICIiCisjfiAiQ8OhY2ggZMO5bmc6IGZzY2sgWy1BTU5QUlRWXSBbIC1DIFsgZmQgXSBdIFstdCBraeG7g3VfSFRUVF0gW2PDoWNfdMO5eV9jaOG7jW5fSFRUVF0gW0hUVFQg4oCmXVxuIgorI34gIlxuIgorI34gIkhUVFQ6IGjhu4cgdGjhu5FuZyB04bqtcCB0aW5cbiIKKworI34gbXNnaWQgIkNvdWxkbid0IG9wZW4gJXM6ICVzXG4iCisjfiBtc2dzdHIgIktow7RuZyBt4bufIMSRxrDhu6NjICVzOiAlc1xuIgorCisjfiBtc2dpZCAiZnNjayBmcm9tICVzXG4iCisjfiBtc2dzdHIgImZzY2sgdOG7qyAlc1xuIgorCisjfiBtc2dpZCAiJXM6IFVuYWJsZSB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yIGZzY2tfcGF0aFxuIgorI34gbXNnc3RyICIlczogS2jDtG5nIHRo4buDIHBow6JuIHBo4buRaSBi4buZIG5o4bubIGNobyBmc2NrX3BhdGhcbiIKKworI34gbXNnaWQgIlRyeSBgZ2V0b3B0IC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIkjDo3kgdGjhu60g4oCcZ2V0b3B0IC0taGVscOKAnSDEkeG7gyBiaeG6v3QgdGjDqm0gdGjDtG5nIHRpbi5cbiIKKworI34gbXNnaWQgIlVzYWdlOiBnZXRvcHQgb3B0c3RyaW5nIHBhcmFtZXRlcnNcbiIKKyN+IG1zZ3N0ciAiQ8OhY2ggZMO5bmc6IGdldG9wdCBjaHXhu5dpX3TDuXlfY2jhu41uIHRoYW1fc+G7kVxuIgorCisjfiBtc2dpZCAiICAgICAgIGdldG9wdCBbb3B0aW9uc10gWy0tXSBvcHRzdHJpbmcgcGFyYW1ldGVyc1xuIgorI34gbXNnc3RyICIgICAgICAgZ2V0b3B0IFt0w7l5Y2jhu41uXSBbLS1dIGNodeG7l2lfdMO5eV9jaOG7jW4gdGhhbV9z4buRXG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgIHBhcmFtZXRlcnNcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICB0aGFtIHPhu5FcbiIKKworI34gbXNnaWQgImdldG9wdCAoZW5oYW5jZWQpIDEuMS40XG4iCisjfiBtc2dzdHIgImdldG9wdCAoxJHDoyBuw6JuZyBjYW8pIDEuMS40XG4iCisKKyN+IG1zZ2lkICIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pXG4iCisjfiBtc2dzdHIgIihNb25nIMSR4bujaTog4oCcVVRD4oCdIGhheSDigJxMT0NBTOKAnSBoYXkga2jDtG5nIGfDrCBj4bqjLilcbiIKKworI34gbXNnaWQgIiIKKyN+ICJod2Nsb2NrIC0gcXVlcnkgYW5kIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgKFJUQylcbiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogaHdjbG9jayBbZnVuY3Rpb25dIFtvcHRpb25zLi4uXVxuIgorI34gIlxuIgorI34gIkZ1bmN0aW9uczpcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgc2hvdyB0aGlzIGhlbHBcbiIKKyN+ICIgIC1yIHwgLS1zaG93ICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisjfiAiICAgICAgIC0tc2V0ICAgICAgICAgIHNldCB0aGUgcnRjIHRvIHRoZSB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiICAtcyB8IC0taGN0b3N5cyAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgIC13IHwgLS1zeXN0b2hjICAgICAgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayB0byB0aGUgY3VycmVudCBzeXN0ZW0gdGltZVxuIgorI34gIiAgICAgICAtLXN5c3R6ICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRpbWV6b25lXG4iCisjfiAiICAgICAgIC0tYWRqdXN0ICAgICAgIGFkanVzdCB0aGUgcnRjIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgc2luY2VcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgdGhlIGNsb2NrIHdhcyBsYXN0IHNldCBvciBhZGp1c3RlZFxuIgorI34gIiAgICAgICAtLWdldGVwb2NoICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisjfiAiICAgICAgIC0tc2V0ZXBvY2ggICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBnaXZlbiB3aXRoIC0tZXBvY2hcbiIKKyN+ICIgICAgICAgLS1wcmVkaWN0ICAgICAgcHJlZGljdCBydGMgcmVhZGluZyBhdCB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiICAtdiB8IC0tdmVyc2lvbiAgICAgIHByaW50IG91dCB0aGUgdmVyc2lvbiBvZiBod2Nsb2NrIHRvIHN0ZG91dFxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6IFxuIgorI34gIiAgLXUgfCAtLXV0YyAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyN+ICIgICAgICAgLS1sb2NhbHRpbWUgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorI34gIiAgLWYgfCAtLXJ0Yz1wYXRoICAgICBzcGVjaWFsIC9kZXYvLi4uIGZpbGUgdG8gdXNlIGluc3RlYWQgb2YgZGVmYXVsdFxuIgorI34gIiAgICAgICAtLWRpcmVjdGlzYSAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorI34gIiAgICAgICAtLWJhZHllYXIgICAgICBpZ25vcmUgcnRjJ3MgeWVhciBiZWNhdXNlIHRoZSBiaW9zIGlzIGJyb2tlblxuIgorI34gIiAgICAgICAtLWRhdGUgICAgICAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAgICAgICAtLWVwb2NoPXllYXIgICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGUgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIGNsb2NrJ3MgZXBvY2ggdmFsdWVcbiIKKyN+ICIgICAgICAgLS1ub2FkamZpbGUgICAgZG8gbm90IGFjY2VzcyAvZXRjL2FkanRpbWUuIFJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lXG4iCisjfiAiICAgICAgIC0tYWRqZmlsZT1wYXRoIHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGUgKGRlZmF1bHQgaXNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgL2V0Yy9hZGp0aW1lKVxuIgorI34gIiAgICAgICAtLXRlc3QgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCBhY3R1YWxseSB1cGRhdGluZyB0aGUgaGFyZHdhcmVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgY2xvY2sgb3IgYW55dGhpbmcgZWxzZVxuIgorI34gIiAgLUQgfCAtLWRlYnVnICAgICAgICBkZWJ1ZyBtb2RlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJod2Nsb2NrIOKAlCBo4buPaSBnaeG7nSB2w6AgxJHhurd0IMSR4buTbmcgaOG7kyBwaOG6p24gY+G7qW5nIChSVEMpXG4iCisjfiAiXG4iCisjfiAiQ8OhY2ggZMO5bmc6IGh3Y2xvY2sgW2jDoG1dIFt0w7l5IGNo4buNbuKApl1cbiIKKyN+ICJcbiIKKyN+ICJIw6BtOlxuIgorI34gIiAgLWggfCAtLWhlbHAgICAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeVxuIgorI34gIiAgLXIgfCAtLXNob3cgICAgICAgICDEkeG7jWMgxJHhu5NuZyBo4buTIHBo4bqnbiBj4bupbmcgdsOgIGluIHJhIGvhur90IHF14bqjXG4iCisjfiAiICAgICAgIC0tc2V0ICAgICAgICAgIMSR4bq3dCBydGMgdGjDoG5oIHRo4budaSBnaWFuIMSRxrBhIHJhLCBkw7luZyDigJwtLWRhdGXigJ1cbiIKKyN+ICIgIC1zIHwgLS1oY3Rvc3lzICAgICAgxJHhurd0IHRo4budaSBnaWFuIGjhu4cgdGjhu5FuZyB04burIMSR4buTbmcgaOG7kyBwaOG6p24gY+G7qW5nXG4iCisjfiAiICAtdyB8IC0tc3lzdG9oYyAgICAgIMSR4bq3dCDEkeG7k25nIGjhu5MgcGjhuqduIGPhu6luZyB0aMOgbmggdGjhu51pIGdpYW4gaOG7hyB0aOG7kW5nIGhp4buHbiB0aOG7nWlcbiIKKyN+ICIgICAgICAgLS1zeXN0eiAgICAgICAgxJHhurd0IHRo4budaSBnaWFuIGjhu4cgdGjhu5FuZyBk4buxYSB2w6BvIG3DumkgZ2nhu50gaGnhu4duIHThuqFpXG4iCisjfiAiICAgICAgIC0tYWRqdXN0ICAgICAgIMSRaeG7gXUgY2jhu4luaCBydGMgxJHhu4MgdMOtbmggxJHhur9uIMSR4buZIGzhu4djaCBjw7MgaOG7hyB0aOG7kW5nXG4iCisjfiAiXHRcdFx0XHRr4bq/IHThu6sgbOG6p24gY3Xhu5FpIGPDuW5nIMSR4bq3dCBoYXkgY2jhu4luaCDEkeG7k25nIGjhu5NcbiIKKyN+ICIgICAgICAgLS1nZXRlcG9jaCAgICAgaW4gcmEgZ2nDoSB0cuG7iyB0aOG7nWkgxJFp4buDbSDEkeG7k25nIGjhu5MgcGjhuqduIGPhu6luZyBj4bunYSBo4bqhdCBuaMOiblxuIgorI34gIiAgICAgICAtLXNldGVwb2NoICAgICDEkeG6t3QgZ2nDoSB0cuG7iyB0aOG7nWkgxJFp4buDbSDEkeG7k25nIGjhu5MgcGjhuqduIGPhu6luZyBj4bunYSBo4bqhdCBuaMOiblxuIgorI34gIlx0XHRcdFx0dGjDoG5oIGdpw6EgdHLhu4sgxJHGsGEgcmEgZMO5bmcg4oCcLS1lcG9jaOKAnVxuIgorI34gIiAgICAgIC0tcHJlZGljdCAgICAgZOG7sSDEkW/DoW4gxJHhu41jIFJUQyBuw6BvIHbDoG8gZ2nhu50gxJHGsGEgcmEgKGTDuW5nIC0tZGF0ZSApXG4iCisjfiAiICAtdiB8IC0tdmVyc2lvbiAgICAgIGluIHJhIMSR4bqndSByYSB0acOqdSBjaHXhuqluIHBoacOqbiBi4bqjbiBj4bunYSBod2Nsb2NrXG4iCisjfiAiXG4iCisjfiAiVMO5eSBjaOG7jW46IFxuIgorI34gIiAgLXUgfCAtLXV0YyAgICAgICAgICDEkeG7k25nIGjhu5MgcGjhuqduIGPhu6luZyB0w61uaCB0aGVvIFVUQ1xuIgorI34gIiAgICAgICAtLWxvY2FsdGltZSAgICDEkeG7k25nIGjhu5MgcGjhuqduIGPhu6luZyB0w61uaCB0aGVvIHRo4budaSBnaWFuIGPhu6VjIGLhu5lcbiIKKyN+ICIgIC1mIHwgLS1ydGM9xJHGsOG7nW5nX2ThuqtuICAgICB04bqtcCB0aW4g4oCcL2Rldi/igKbigJ0gxJHhurdjIGJp4buHdCBj4bqnbiBkw7luZyB0aGF5IGNobyBt4bq3YyDEkeG7i25oXG4iCisjfiAiICAgICAgIC0tZGlyZWN0aXNhICAgIHRydXkgY+G6rXAgdHLhu7FjIHRp4bq/cCBt4bqhY2ggbuG7kWkgSVNBIHRoYXkgY2hvICVzXG4iCisjfiAiICAgICAgIC0tYmFkeWVhciAgICAgIGzhu50gxJFpIG7Eg20gY+G7p2EgcnRjIHbDrCBCSU9TIGLhu4sgaOG7j25nXG4iCisjfiAiICAgICAgIC0tZGF0ZSAgICAgICAgIGdoaSByw7UgdGjhu51pIGdpYW4gY+G6p24gxJHhurd0IHRyb25nIMSR4buTbmcgaOG7kyBwaOG6p24gY+G7qW5nXG4iCisjfiAiICAgICAgIC0tZXBvY2g9bsSDbSAgIGdoaSByw7UgbsSDbSBsw6AgxJHhuqd1IGPhu6dhIGdpw6EgdHLhu4sgdGjhu51pIMSRaeG7g20gxJHhu5NuZyBo4buTIHBo4bqnbiBj4bupbmdcbiIKKyN+ICIgICAgICAgLS1ub2FkamZpbGUgICAgxJHhu6tuZyB0cnV5IGPhuq1wIMSR4bq/biDigJwvZXRjL2FkanRpbWXigJ0uXG4iCisjfiAiXHRcdFx0XHRD4bqnbiBkw7luZyBob+G6t2Mg4oCcLS11dGPigJ0gaG/hurdjIOKAnC0tbG9jYWx0aW1l4oCdXG4iCisjfiAiICAgICAgIC0tYWRqZmlsZT3Ekcaw4budbmdfZOG6q25cdGdoaSByw7UgxJHGsOG7nW5nIGThuqtuIMSR4bq/biB04bqtcCB0aW4gxJFp4buBdSBjaOG7iW5oXG4iCisjfiAiXHRcdFx0XHQobeG6t2MgxJHhu4tuaCBsw6Ag4oCcL2V0Yy9hZGp0aW1l4oCdLlxuIgorI34gIiAgICAgICAtLXRlc3QgICAgICAgICBsw6BtIHThuqV0IGPhuqMgdHLhu6sgdGjhu7FjIHPhu7EgY+G6rXAgbmjhuq10IMSR4buTbmcgaOG7kyBwaOG6p24gY+G7qW5nXG4iCisjfiAiXHRcdFx0XHRob+G6t2MgY8OhaSBnw6wga2jDoWNcbiIKKyN+ICIgIC1EIHwgLS1kZWJ1ZyAgICAgICAgY2jhur8gxJHhu5kgZ+G7oSBs4buXaVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiY2FuJ3QgbWFsbG9jIGluaXRzdHJpbmciCisjfiBtc2dzdHIgImtow7RuZyBtYWlsbG9jIMSRxrDhu6NjIGNodeG7l2kga2jhu59pIMSR4bqndSAoaW5pdCkiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFstOGhpTG1Vd10gWy1sIGxvZ2luX3Byb2dyYW1dIFstdCB0aW1lb3V0XSBbLUkgaW5pdHN0cmluZ10gWy1IIGxvZ2luX2hvc3RdIGJhdWRfcmF0ZSwuLi4gbGluZSBbdGVybXR5cGVdXG4iCisjfiAib3JcdFstaGlMbXddIFstbCBsb2dpbl9wcm9ncmFtXSBbLXQgdGltZW91dF0gWy1JIGluaXRzdHJpbmddIFstSCBsb2dpbl9ob3N0XSBsaW5lIGJhdWRfcmF0ZSwuLi4gW3Rlcm10eXBlXVxuIgorI34gbXNnc3RyICIiCisjfiAiQ8OhY2ggZMO5bmc6XG4iCisjfiAiJXMgWy04aGlMbVV3XSBbLWwgdHLDrG5oX8SRxINuZ19uaOG6rXBdIFstdCB0aOG7nWlfaOG6oW5dIFstSSBjaHXhu5dpX2to4bufaV904bqhb10gWy1IIG3DoXlfxJHEg25nX25o4bqtcF0gdOG7kWNfxJHhu5lfYuG7kXQs4oCmIGTDsm5nIFtraeG7g3VfdGhp4bq/dF9i4buLX2N14buRaV1cbiIKKyN+ICJob+G6t2NcbiIKKyN+ICJbLWhpTG13XSBbLWwgdHLDrG5oX8SRxINuZ19uaOG6rXBdIFstdCB0aOG7nWlfaOG6oW5dIFstSSBjaHXhu5dpX2to4bufaV904bqhb10gWy1IIG3DoXlfxJHEg25nX25o4bqtcF0gZMOybmcgdOG7kWNfxJHhu5lfYuG7kXQs4oCmIFtraeG7g3VfdGhp4bq/dF9i4buLX2N14buRaV1cbiIKKworI34gbXNnaWQgImxvZ2luOiBtZW1vcnkgbG93LCBsb2dpbiBtYXkgZmFpbFxuIgorI34gbXNnc3RyICJsb2dpbjogw610IGLhu5kgbmjhu5ssIGPDsyB0aOG7gyBraMO0bmcgxJHEg25nIG5o4bqtcCB0aMOgbmggY8O0bmdcbiIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBmb3IgdHR5Y2xhc3MiCisjfiBtc2dzdHIgImtow7RuZyBtYWxsb2MgxJHGsOG7o2MgY2hvIHR0eWNsYXNzIChs4bubcCB0dHkpIgorCisjfiBtc2dpZCAiY2FuJ3QgbWFsbG9jIGZvciBncnBsaXN0IgorI34gbXNnc3RyICJraMO0bmcgbWFsbG9jIMSRxrDhu6NjIGNobyBncnBsaXN0IChkYW5oIHPDoWNoIG5ow7NtKSIKKworI34gbXNnaWQgIkxvZ2luIG9uICVzIGZyb20gJXMgZGVuaWVkLlxuIgorI34gbXNnc3RyICLEkMSDbmcgbmjhuq1wIHRyw6puICVzIHThu6sgJXMgYuG7iyBj4bqlbS5cbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbIC1mIGZ1bGwtbmFtZSBdIFsgLW8gb2ZmaWNlIF0gIgorI34gbXNnc3RyICJDw6FjaCBkw7luZzogJXMgWyAtZiB0w6puLcSR4bqneS3EkeG7pyBdIFsgLW8gdsSDbi1waMOybmcgXSAiCisKKyN+IG1zZ2lkICJbIC0taGVscCBdIFsgLS12ZXJzaW9uIF1cbiIKKyN+IG1zZ3N0ciAiWyAtLWhlbHAgXSBbIC0tdmVyc2lvbiBdXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFsgLXMgc2hlbGwgXSBbIC0tbGlzdC1zaGVsbHMgXSBbIC0taGVscCBdIFsgLS12ZXJzaW9uIF1cbiIKKyN+ICIgICAgICAgWyB1c2VybmFtZSBdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJDw6FjaCBkw7luZzogJXMgWyAtcyB0csOsbmhfYmFvIF0gWyAtLWxpc3Qtc2hlbGxzIF0gWyAtLWhlbHAgXSBbIC0tdmVyc2lvbiBdXG4iCisjfiAiICAgICAgIFsgdMOqbl9uZ8aw4budaV9kw7luZyBdXG4iCisKKyN+IG1zZ2lkICIlczogVXNlIC1sIG9wdGlvbiB0byBzZWUgbGlzdC5cbiIKKyN+IG1zZ3N0ciAiJXM6IETDuW5nIHTDuXkgY2jhu41uIOKAnC1s4oCdIMSR4buDIHhlbSBkYW5oIHPDoWNoLlxuIgorCisjfiBtc2dpZCAiVXNlICVzIC1sIHRvIHNlZSBsaXN0LlxuIgorI34gbXNnc3RyICJIw6N5IGTDuW5nICVzIOKAnC1s4oCdIMSR4buDIHhlbSBkYW5oIHPDoWNoLlxuIgorCisjfiBtc2dpZCAibGFzdDogbWFsbG9jIGZhaWx1cmUuXG4iCisjfiBtc2dzdHIgImxhc3Q6IG1hbGxvYyB0aOG6pXQgYuG6oWkuXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogT3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICJsb2dpbjogS2jDtG5nIMSR4bunIGLhu5kgbmjhu5tcbiIKKworI34gbXNnaWQgIiVzIGxvZ2luIHJlZnVzZWQgb24gdGhpcyB0ZXJtaW5hbC5cbiIKKyN+IG1zZ3N0ciAiJXMgxJHEg25nIG5o4bqtcCBi4buLIHThu6sgY2jhu5FpIHRyw6puIHRoaeG6v3QgYuG7iyBjdeG7kWkgbsOgeS5cbiIKKworI34gbXNnaWQgIkxPR0lOICVzIFJFRlVTRUQgRlJPTSAlcyBPTiBUVFkgJXMiCisjfiBtc2dzdHIgIsSQxIJORyBOSOG6rFAgJXMgQuG7iiBU4buqIENI4buQSSBU4buqICVzIFRSw4pOIFRUWSAlcyIKKworI34gbXNnaWQgIkxPR0lOICVzIFJFRlVTRUQgT04gVFRZICVzIgorI34gbXNnc3RyICLEkMSCTkcgTkjhuqxQICVzIELhu4ogVOG7qiBDSOG7kEkgVFLDik4gVFRZICVzIgorCisjfiBtc2dpZCAiTG9naW4gaW5jb3JyZWN0XG4iCisjfiBtc2dzdHIgIlNhaSB0w6puIG5nxrDhu51pIGTDuW5nIGhv4bq3YyBt4bqtdCBraOG6qXVcbiIKKworI34gbXNnaWQgImxvZ2luOiBmYWlsdXJlIGZvcmtpbmc6ICVzIgorI34gbXNnc3RyICJsb2dpbjogbOG7l2kgcGjDom4gbmjDoW5oIChmb3JrKTogJXMiCisKKyN+IG1zZ2lkICJsb2dpbjogbm8gc2hlbGw6ICVzLlxuIgorI34gbXNnc3RyICJsb2dpbjoga2jDtG5nIGPDsyB0csOsbmggYmFvOiAlcy5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICIlcyBsb2dpbjogIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiJXMgxJHEg25nIG5o4bqtcDogIgorCisjfiBtc2dpZCAibG9naW4gbmFtZSBtdWNoIHRvbyBsb25nLlxuIgorI34gbXNnc3RyICJ0w6puIMSRxINuZyBuaOG6rXAgcXXDoSBkw6BpLlxuIgorCisjfiBtc2dpZCAiTkFNRSB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiVMOKTiBxdcOhIGTDoGkiCisKKyN+IG1zZ2lkICJsb2dpbiBuYW1lcyBtYXkgbm90IHN0YXJ0IHdpdGggJy0nLlxuIgorI34gbXNnc3RyICJ0w6puIMSRxINuZyBuaOG6rXAga2jDtG5nIMSRxrDhu6NjIGLhuq90IMSR4bqndSB24bubaSDigJwt4oCdLlxuIgorCisjfiBtc2dpZCAiRVhDRVNTSVZFIGxpbmVmZWVkcyIKKyN+IG1zZ3N0ciAiZMOybmcgbmjhuq1wIHbDoG8gVEjhu6pBIgorCisjfiBtc2dpZCAiTE9HSU4gRkFJTFVSRSBGUk9NICVzLCAlcyIKKyN+IG1zZ3N0ciAiTOG7lkkgxJDEgk5HIE5I4bqsUCBU4buqICVzLCAlcyIKKworI34gbXNnaWQgIkxPR0lOIEZBSUxVUkUgT04gJXMsICVzIgorI34gbXNnc3RyICJM4buWSSDEkMSCTkcgTkjhuqxQIFRSw4pOICVzLCAlcyIKKworI34gbXNnaWQgIiVkIExPR0lOIEZBSUxVUkVTIEZST00gJXMsICVzIgorI34gbXNnc3RyICIlZCBM4bqmTiBLSMOUTkcgxJDEgk5HIE5I4bqsUCDEkMav4buiQyBU4buqICVzLCAlcyIKKworI34gbXNnaWQgIiVkIExPR0lOIEZBSUxVUkVTIE9OICVzLCAlcyIKKyN+IG1zZ3N0ciAiJWQgTOG6pk4gS0jDlE5HIMSQxIJORyBOSOG6rFAgxJDGr+G7okMgVFLDik4gJXMsICVzIgorCisjfiBtc2dpZCAidXNhZ2U6IG1lc2cgW3kgfCBuXVxuIgorI34gbXNnc3RyICJjw6FjaCBkw7luZzogbWVzZyBbeSB8IG5dXG4iCisKKyN+IG1zZ2lkICJuZXdncnA6IHNldGdpZCIKKyN+IG1zZ3N0ciAibmV3Z3JwOiBzZXRnaWQiCisKKyN+IG1zZ2lkICJuZXdncnA6IFBlcm1pc3Npb24gZGVuaWVkIgorI34gbXNnc3RyICJuZXdncnA6IEtow7RuZyDEkeG7pyBxdXnhu4FuIGjhuqFuIgorCisjfiBtc2dpZCAibmV3Z3JwOiBzZXR1aWQiCisjfiBtc2dzdHIgIm5ld2dycDogc2V0dWlkIgorCisjfiBtc2dpZCAiVXNhZ2U6IHNodXRkb3duIFstaHwtcl0gWy1mcXNdIFtub3d8aGg6c3N8K21pbnNdXG4iCisjfiBtc2dzdHIgIkPDoWNoIGTDuW5nOiBzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fGhoOnNzfCtwaMO6dF1cbiIKKworI34gbXNnaWQgIlNodXRkb3duIHByb2Nlc3MgYWJvcnRlZCIKKyN+IG1zZ3N0ciAiROG7q25nIHZp4buHYyB04bqvdCBtw6F5IgorCisjfiBtc2dpZCAiJXM6IE9ubHkgcm9vdCBjYW4gc2h1dCBhIHN5c3RlbSBkb3duLlxuIgorI34gbXNnc3RyICIlczogQ2jhu4kgbmfGsOG7nWkgY2jhu6cgKHJvb3QpIGPDsyB0aOG7gyB04bqvdCBtw6F5LlxuIgorCisjfiBtc2dpZCAiVGhhdCBtdXN0IGJlIHRvbW9ycm93LCBjYW4ndCB5b3Ugd2FpdCB0aWxsIHRoZW4/XG4iCisjfiBtc2dzdHIgIkzDoCBuZ8OgeSBtYWksIGPDsyB0aOG7gyBjaOG7nSDEkeG6v24gbMO6YyDEkcOzP1xuIgorCisjfiBtc2dpZCAiZm9yIG1haW50ZW5hbmNlOyBib3VuY2UsIGJvdW5jZSIKKyN+IG1zZ3N0ciAiY2hvIGLhuqNvIGTGsOG7oW5nOyIKKworI34gbXNnaWQgIlRoZSBzeXN0ZW0gaXMgYmVpbmcgc2h1dCBkb3duIHdpdGhpbiA1IG1pbnV0ZXMiCisjfiBtc2dzdHIgIlPhur0gdOG6r3QgbcOheSBzYXUgNSBwaMO6dCIKKworI34gbXNnaWQgIkxvZ2luIGlzIHRoZXJlZm9yZSBwcm9oaWJpdGVkLiIKKyN+IG1zZ3N0ciAiRG8gxJHDsyDEkcSDbmcgbmjhuq1wIGzDoCBraMO0bmcgdGjhu4MuIgorCisjfiBtc2dpZCAicmVib290ZWQgYnkgJXM6ICVzIgorI34gbXNnc3RyICJraOG7n2kgxJHhu5luZyBs4bqhaSBi4bufaSAlczogJXMiCisKKyN+IG1zZ2lkICJoYWx0ZWQgYnkgJXM6ICVzIgorI34gbXNnc3RyICJk4burbmcgYuG7n2kgJXM6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldoeSBhbSBJIHN0aWxsIGFsaXZlIGFmdGVyIHJlYm9vdD8iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJU4bqhaSBzYW8gdMO0aSB24bqrbiBjw7JuIHPhu5FuZyBzYXUga2hpIGto4bufaSDEkeG7mW5nIGzhuqFpPyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJOb3cgeW91IGNhbiB0dXJuIG9mZiB0aGUgcG93ZXIuLi4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJCw6J5IGdp4budIGPDsyB0aOG7gyB04bqvdCBuZ3Xhu5NuIMSRaeG7h27igKYiCisKKyN+IG1zZ2lkICJDYWxsaW5nIGtlcm5lbCBwb3dlci1vZmYgZmFjaWxpdHkuLi5cbiIKKyN+IG1zZ3N0ciAixJBhbmcgZ+G7jWkgcGjGsMahbmcgdGnhu4duIHThuq90IG3DoXkgY+G7p2EgbmjDom7igKZcbiIKKworI34gbXNnaWQgIkVycm9yIHBvd2VyaW5nIG9mZlx0JXNcbiIKKyN+IG1zZ3N0ciAiTOG7l2kgdOG6r3QgbcOheSBcdCVzXG4iCisKKyN+IG1zZ2lkICJVUkdFTlQ6IGJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXM6IgorI34gbXNnc3RyICJVUkdFTlQ6IHRow7RuZyBiw6FvIHRvw6BuIHRo4buDIHThu6sgJXM6IgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gJWQgaG91cnMgJWQgbWludXRlcyIKKyN+IG1zZ3N0ciAiSOG7hyB0aOG7kW5nIHPhur0gdOG6r3Qgc2F1ICVkIGdp4budICVkIHBow7p0IgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gMSBob3VyICVkIG1pbnV0ZXMiCisjfiBtc2dzdHIgIkjhu4cgdGjhu5FuZyBz4bq9IHThuq90IHNhdSAxIGdp4budICVkIHBow7p0IgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gJWQgbWludXRlc1xuIgorI34gbXNnc3RyICJI4buHIHRo4buRbmcgc+G6vSB04bqvdCBzYXUgJWQgcGjDunRcbiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluIDEgbWludXRlXG4iCisjfiBtc2dzdHIgIkjhu4cgdGjhu5FuZyBz4bq9IHThuq90IHNhdSAxIHBow7p0XG4iCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBJTU1FRElBVEVMWSFcbiIKKyN+IG1zZ3N0ciAiSOG7hyB0aOG7kW5nIHPhur0gdOG6r3Qgc2F1IE5HQVkgTOG6rFAgVOG7qEMhXG4iCisKKyN+IG1zZ2lkICJcdC4uLiAlcyAuLi5cbiIKKyN+IG1zZ3N0ciAiXHTigKYgJXMg4oCmXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZm9yayBmb3Igc3dhcG9mZi4gU2hydWchIgorI34gbXNnc3RyICJLaMO0bmcgdGjhu4MgcGjDom4gbmjDoW5oIGNobyBzd2Fwb2ZmICh04bqvdCBi4buZIG5o4bubIHRyYW8gxJHhu5VpKS4gQuG7jyDEkWkhIgorCisjfiBtc2dpZCAiQ2Fubm90IGV4ZWMgc3dhcG9mZiwgaG9waW5nIHVtb3VudCB3aWxsIGRvIHRoZSB0cmljay4iCisjfiBtc2dzdHIgIktow7RuZyB0aOG7sWMgaGnhu4duIMSRxrDhu6NjIHN3YXBvZmYsIGh5IHbhu41uZyB1bW91bnQgc+G6vSBsw6BtIHRoYXkuIgorCisjfiBtc2dpZCAiQ2Fubm90IGZvcmsgZm9yIHVtb3VudCwgdHJ5aW5nIG1hbnVhbGx5LiIKKyN+IG1zZ3N0ciAiS2jDtG5nIHBow6JuIG5ow6FuaCDEkcaw4bujYyBjaG8gdW1vdW50LCDEkWFuZyB0aOG7rSBt4buZdCBjw6FjaCB0aOG7pyBjw7RuZy4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyAlcywgdHJ5aW5nIHVtb3VudC5cbiIKKyN+IG1zZ3N0ciAiS2jDtG5nIGNo4bqheSDEkcaw4bujYyAlcywgxJFhbmcgdGjhu60gdW1vdW50LlxuIgorCisjfiBtc2dpZCAiQ2Fubm90IGV4ZWMgdW1vdW50LCBnaXZpbmcgdXAgb24gdW1vdW50LiIKKyN+IG1zZ3N0ciAiS2jDtG5nIGNo4bqheSDEkcaw4bujYyB1bW91bnQsIGLhu48gdHLDqm4gdW1vdW50LiIKKworI34gbXNnaWQgIlVubW91bnRpbmcgYW55IHJlbWFpbmluZyBmaWxlc3lzdGVtcy4uLiIKKyN+IG1zZ3N0ciAixJBhbmcgYuG7jyBn4bqvbiBt4buNaSBo4buHIHRo4buRbmcgdOG6rXAgdGluIG7Ds2kgxJHhur9u4oCmIgorCisjfiBtc2dpZCAic2h1dGRvd246IENvdWxkbid0IHVtb3VudCAlczogJXNcbiIKKyN+IG1zZ3N0ciAic2h1dGRvd246IEtow7RuZyB1bW91bnQgxJHGsOG7o2MgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJCb290aW5nIHRvIHNpbmdsZSB1c2VyIG1vZGUuXG4iCisjfiBtc2dzdHIgIkto4bufaSDEkeG7mW5nIHbDoG8gY2jhur8gxJHhu5kgbeG7mXQgbmfGsOG7nWkgZMO5bmcuXG4iCisKKyN+IG1zZ2lkICJleGVjIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICJraMO0bmcgY2jhuqF5IHRow6BuaCBjw7RuZyB0csOsbmggYmFvIGNobyBuZ8aw4budaSBkw7luZyDEkcahblxuIgorCisjfiBtc2dpZCAiZm9yayBvZiBzaW5nbGUgdXNlciBzaGVsbCBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAia2jDtG5nIHBow6JuIG5ow6FuaCB0aMOgbmggY8O0bmcgdHLDrG5oIGJhbyBjaG8gbmfGsOG7nWkgZMO5bmcgxJHGoW5cbiIKKworI34gbXNnaWQgImVycm9yIG9wZW5pbmcgZmlmb1xuIgorI34gbXNnc3RyICJs4buXaSBt4bufIGvDqm5oIGZpZm9cbiIKKworI34gbXNnaWQgImVycm9yIHNldHRpbmcgY2xvc2Utb24tZXhlYyBvbiAvZGV2L2luaXRjdGwiCisjfiBtc2dzdHIgImzhu5dpIGPDoGkgxJHhurd0IGNsb3NlLW9uLWV4ZWMgdHLDqm4gL2Rldi9pbml0Y3RsIgorCisjfiBtc2dpZCAiZXJyb3IgcnVubmluZyBmaW5hbHByb2dcbiIKKyN+IG1zZ3N0ciAibOG7l2kgY2jhuqF5IGZpbmFscHJvZyAoY2jGsMahbmcgdHLDrG5oIGN14buRaSBjw7luZylcbiIKKworI34gbXNnaWQgImVycm9yIGZvcmtpbmcgZmluYWxwcm9nXG4iCisjfiBtc2dzdHIgImzhu5dpIHBow6JuIG5ow6FuaCBmaW5hbHByb2cgKGNoxrDGoW5nIHRyw6xuaCBjdeG7kWkgY8O5bmcpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV3JvbmcgcGFzc3dvcmQuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJN4bqtdCBraOG6qXUga2jDtG5nIMSRw7puZy5cbiIKKworI34gbXNnaWQgInJlc3Bhd25pbmc6IGAlcycgdG9vIGZhc3Q6IHF1ZW5jaGluZyBlbnRyeVxuIgorI34gbXNnc3RyICLEkWFuZyB04bqhbyB2w6AgdGjhu7FjIGhp4buHbiBs4bqhaSDigJwlc+KAnSBxdcOhIG5oYW5oOiDEkWFuZyBk4bqtcCB04bqvdCBt4bulYyBuaOG6rXBcbiIKKworI34gbXNnaWQgImZvcmsgZmFpbGVkXG4iCisjfiBtc2dzdHIgInBow6JuIG5ow6FuaCBraMO0bmcgdGjDoG5oIGPDtG5nXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBpbml0dGFiXG4iCisjfiBtc2dzdHIgImtow7RuZyBt4bufIMSRxrDhu6NjIGluaXR0YWJcbiIKKworI34gbXNnaWQgIm5vIFRFUk0gb3IgY2Fubm90IHN0YXQgdHR5XG4iCisjfiBtc2dzdHIgImtow7RuZyBjw7MgVEVSTSBob+G6t2Mga2jDtG5nIHRo4buDIHN0YXQgKGzhuqV5IHRy4bqhbmcgdGjDoWkgduG7gSkgdHR5XG4iCisKKyN+IG1zZ2lkICJlcnJvciBhdCBzdG9wcGluZyBzZXJ2aWNlIGAlcydcbiIKKyN+IG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGThu6tuZyBjaOG6oXkgZOG7i2NoIHbhu6U6IOKAnCVz4oCdXG4iCisKKyN+IG1zZ2lkICJTdG9wcGVkIHNlcnZpY2U6ICVzXG4iCisjfiBtc2dzdHIgIkThu4tjaCB24bulIGLhu4sgZOG7q25nOiAlc1xuIgorCisjfiBtc2dpZCAiZXJyb3IgYXQgc3RhcnRpbmcgc2VydmljZSBgJXMnXG4iCisjfiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBraOG7n2kgY2jhuqF5IGThu4tjaCB24bulOiDigJwlc+KAnVxuIgorCisjfiBtc2dpZCAiJXM6IEJBRCBFUlJPUiIKKyN+IG1zZ3N0ciAiJXM6IEzhu5ZJIFjhuqRVIgorCisjfiBtc2dpZCAiJXM6IHRoZSBncm91cCBmaWxlIGlzIGJ1c3kuXG4iCisjfiBtc2dzdHIgIiVzOiB04bqtcCB0aW4gbmjDs20gxJFhbmcgYuG6rW4uXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3QgdW5sb2NrICVzOiAlcyAoeW91ciBjaGFuZ2VzIGFyZSBzdGlsbCBpbiAlcylcbiIKKyN+IG1zZ3N0ciAiJXM6IGtow7RuZyBt4bufIGtow7NhIMSRxrDhu6NjICVzOiAlcyAobeG7jWkgdGhheSDEkeG7lWkgduG6q24gY8OybiB0cm9uZyAlcylcbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAiY8OhY2ggZMO5bmc6ICVzIFsgdOG6rXAgdGluIF1cbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCByZWFkICVzLlxuIgorI34gbXNnc3RyICIlczoga2jDtG5nIMSR4buNYyDEkcaw4bujYyAlcy5cbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCBzdGF0IHRlbXBvcmFyeSBmaWxlLlxuIgorI34gbXNnc3RyICIlczoga2jDtG5nIGzhuqV5IMSRxrDhu6NjIHRy4bqhbmcgdGjDoWkgKHN0YXQpIHThuq1wIHRpbiB04bqhbSB0aOG7nWkuXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3QgcmVhZCB0ZW1wb3JhcnkgZmlsZS5cbiIKKyN+IG1zZ3N0ciAiJXM6IGtow7RuZyDEkeG7jWMgxJHGsOG7o2MgdOG6rXAgdGluIHThuqFtIHRo4budaS5cbiIKKworI34gbXNnaWQgInVzYWdlOiBjYWwgWy0xM3NtanlWXSBbW1tkYXldIG1vbnRoXSB5ZWFyXVxuIgorI34gbXNnc3RyICJjw6FjaCBkw7luZzogY2FsIFstMTNzbWp5Vl0gW1tbbmfDoHldIHRow6FuZ10gbsSDbV1cbiIKKworI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvcjogJXMiCisjfiBtc2dzdHIgIiVzOiBs4buXaSBwaMOibiB0w61jaCBjw7ogcGjDoXA6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1zLCAtLWZzdGFiICAgICAgICAgICAgc2VhcmNoIGluIHN0YXRpYyB0YWJsZSBvZiBmaWxlc3lzdGVtc1xuIgorI34gIiAtbSwgLS1tdGFiICAgICAgICAgICAgIHNlYXJjaCBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisjfiAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgc2VhcmNoIGluIGtlcm5lbCB0YWJsZSBvZiBtb3VudGVkIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzeXN0ZW1zIChkZWZhdWx0KVxuIgorI34gIlxuIgorI34gIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaWNhbGl6ZSBwcmludGVkIHBhdGhzXG4iCisjfiAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gc2VhcmNoIGRpcmVjdGlvbiAtICdmb3J3YXJkJyBvciAnYmFja3dhcmQnXG4iCisjfiAiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgcHJpbnQgYWxsIFRBR3MgKExBQkVML1VVSUQpIGV2YWx1YXRlZFxuIgorI34gIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIHByaW50IHRoZSBmaXJzdCBmb3VuZCBmaWxlc3lzdGVtIG9ubHlcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyN+ICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnQgc2Vuc2Ugb2YgbWF0Y2hpbmdcbiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3VwdXRcbiIKKyN+ICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorI34gIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGRvbid0IHRydW5jYXRlIHRleHQgaW4gY29sdW1uc1xuIgorI34gIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIgorI34gIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zXG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBmb3JtYXQgb3V0cHV0XG4iCisjfiAiIC1hLCAtLWFzY2lpICAgICAgICAgICAgdXNlIGFzY2lpIGNoYXJzIGZvciB0cmVlIGZvcm1hdHRpbmdcbiIKKyN+ICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gYnkgRlMgdHlwZXNcbiIKKyN+ICIgLVMsIC0tc291cmNlIDxzdHJpbmc+ICBkZXZpY2UsIExBQkVMPSBvciBVVUlEPWRldmljZVxuIgorI34gIiAtVCwgLS10YXJnZXQgPHN0cmluZz4gIG1vdW50cG9pbnRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlTDuXkgY2jhu41uOlxuIgorI34gIiAtcywgLS1mc3RhYiAgICAgICAgICAgIHTDrG0ga2nhur9tIHRyb25nIGLhuqNuZyB0xKluaCBj4bunYSBo4buHIHRo4buRbmcgdOG6rXAgdGluXG4iCisjfiAiIC1tLCAtLW10YWIgICAgICAgICAgdMOsbSBraeG6v20gdHJvbmcgYuG6o25nIGPhu6dhIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gxJHDoyBs4bqvcFxuIgorI34gIiAtaywgLS1rZXJuZWwgICAgIHTDrG0ga2nhur9tIHRyb25nIGLhuqNuZyBo4bqhdCBuaMOibiBj4bunYSBo4buHIHRo4buRbmcgdOG6rXAgdGluIMSRw6MgbOG6r3AgKG3hurdjIMSR4buLbmgpXG4iCisjfiAiXG4iCisjfiAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgbMOgbSBjaG8gaOG7o3Agbmd1ecOqbiB04bqvYyBjw6FjIMSRxrDhu51uZyBk4bqrbiDEkcaw4bujYyBpbiByYVxuIgorI34gIiAtZCwgLS1kaXJlY3Rpb24gPHThu6s+ICAgIGjGsOG7m25nIHTDrG0ga2nhur9tOiDigJxmb3J3YXJk4oCdICh0aeG6v3ApIGhheSDigJxiYWNrd2FyZOKAnSAobMO5aSlcbiIKKyN+ICIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBpbiByYSBt4buNaSBUSOG6uiAoTkjDg04vVVVJRCkgxJHGsOG7o2MgdMOtbmhcbiIKKyN+ICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBjaOG7iSBpbiByYSBo4buHIHRo4buRbmcgdOG6rXAgdGluIMSRxrDhu6NjIHTDrG0gxJHhuqd1IHRpw6puXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgaW4gcmEgdHLhu6MgZ2nDunAgbsOgeVxuIgorI34gIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIMSR4bqjbyBuZ8aw4bujYyBjw6FjaCBraOG7m3BcbiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICB4deG6pXQgdGhlbyDEkeG7i25oIGThuqFuZyBkYW5oIHPDoWNoXG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgxJHhu6tuZyBpbiByYSBwaOG6p24gxJHhuqd1XG4iCisjfiAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgICDEkeG7q25nIGPhuq90IG5n4bqvbiBjaHXhu5dpIHRyb25nIGPhu5l0XG4iCisjfiAiIC1PLCAtLW9wdGlvbnMgPGRhbmhfc8OhY2g+ICAgaOG6oW4gY2jhur8gdOG6rXAgaOG7o3AgY8OhYyBo4buHIHRo4buRbmcgdOG6rXAgdGluIHRoZW8gdMO5eSBjaOG7jW4gbOG6r3BcbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDxkYW5oX3PDoWNoPiAgICB4deG6pXQgY+G7mXRcbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB4deG6pXQgdGhlbyDEkeG7i25oIGThuqFuZyB0aMO0XG4iCisjfiAiIC1hLCAtLWFzY2lpICAgICAgICAgICAgxJHhu4tuaCBk4bqhbmcgY8OieSBi4bqxbmcga8O9IHThu7EgQVNDSUlcbiIKKyN+ICIgLXQsIC0tdHlwZXMgPGRhbmhfc8OhY2g+ICAgICBo4bqhbiBjaOG6vyB04bqtcCBo4bujcCBjw6FjIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gdGhlbyBraeG7g3UgSFRUVFxuIgorI34gIiAtUywgLS1zb3VyY2UgPGNodeG7l2k+ICB0aGnhur90IGLhu4ssIExBQkVMPSAobmjDo24gbMOgKSBoYXkgVVVJRD10aGnhur90X2Lhu4tcbiIKKyN+ICIgLVQsIC0tdGFyZ2V0IDxjaHXhu5dpPiAgICDEkWnhu4NtIGzhuq9wXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJsb2dnZXI6ICVzOiAlcy5cbiIKKyN+IG1zZ3N0ciAibG9nZ2VyOiAlczogJXMuXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogbG9nZ2VyIFstaXNdIFstZiBmaWxlXSBbLXAgcHJpXSBbLXQgdGFnXSBbLXUgc29ja2V0XSBbIG1lc3NhZ2UgLi4uIF1cbiIKKyN+IG1zZ3N0ciAiQ8OhY2ggZMO5bmc6IGxvZ2dlciBbLWlzXSBbLWYgdOG6rXBfdGluXSBbLXAgxrB1X3Rpw6puXSBbLXQgdGjhurtdIFstdSDhu5VfY+G6r21dIFsgdGjDtG5nX2LDoW8g4oCmIF1cbiIKKworI34gbXNnaWQgInVzYWdlOiBsb29rIFstZGZhXSBbLXQgY2hhcl0gc3RyaW5nIFtmaWxlXVxuIgorI34gbXNnc3RyICJjw6FjaCBkw7luZzogbG9vayBbLWRmYV0gWy10IGvDvV904buxXSBjaHXhu5dpIFt04bqtcF90aW5dXG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5PyIKKyN+IG1zZ3N0ciAia2jDtG5nIMSR4bunIGLhu5kgbmjhu5sgPyIKKworI34gbXNnaWQgIiVzOiBvdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgIiVzOiBraMO0bmcgxJHhu6cgYuG7mSBuaOG7m1xuIgorCisjfiBtc2dpZCAiY2FsbDogJXMgZnJvbSB0byBmaWxlcy4uLlxuIgorI34gbXNnc3RyICJjYWxsOiAlcyBzYW5nIGPDoWMgdOG6rXAgdGlu4oCmXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogc2NyaXB0IFstYV0gWy1lXSBbLWZdIFstcV0gWy10XSBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAiY8OhY2ggZMO5bmc6IHNjcmlwdCBbLWFdIFstZV0gWy1mXSBbLXFdIFstdF0gW3Thu4dwXVxuIgorCisjfiBtc2dpZCAiJXM6IHdyaXRlIGVycm9yICVkOiAlc1xuIgorI34gbXNnc3RyICIlczogbOG7l2kgZ2hpICVkOiAlc1xuIgorCisjfiBtc2dpZCAiJXM6IHdyaXRlIGVycm9yOiAlc1xuIgorI34gbXNnc3RyICIlczogbOG7l2kgZ2hpOiAlc1xuIgorCisjfiBtc2dpZCAiICBbIC1zbm93IFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1zbm93IFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtc29mdHNjcm9sbCBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtc29mdHNjcm9sbCBbb258b2ZmXSBdXHRcdGN14buZbiBt4buBbSBbYuG6rXR8dOG6r3RdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWZvcmVncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIiCisjfiAiICBbIC1mb3JlZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhblxuIgorI34gIlxuIgorI34gIm3DoHUgdsSDbiBi4bqjbjogxJFlbnx4YW5ofGzhu6VjfHhhbmggbMOhIG3huqEiCisKKyN+IG1zZ2lkICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQgXVxuIgorI34gbXNnc3RyICIiCisjfiAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZXxkZWZhdWx0IF1cbiIKKyN+ICJcbiIKKyN+ICJ8xJHhu498xJHhu48gdMawxqFpfHbDoG5nfHRy4bqvbmd8beG6t2MgxJHhu4tuaFxuIgorCisjfiBtc2dpZCAiICBbIC1iYWNrZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgWyAtYmFja2dyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW5cbiIKKyN+ICJcbiIKKyN+ICJtw6B1IG7hu4FuOiDEkWVufHhhbmh8bOG7pWN8eGFuaCBsw6EgbeG6oSIKKworI34gbXNnaWQgIiAgWyAtdWxjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgWyAtdWxjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhblxuIgorI34gIlxuIgorI34gIm3DoHUgZ+G6oWNoIGTGsOG7m2k6IMSRZW58eMOhbXx4YW5ofGzhu6VjfHhhbmggbMOhIG3huqEiCisKKyN+IG1zZ2lkICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlIF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGUgXVxuIgorI34gIlxuIgorI34gInzEkeG7j3zEkeG7jyB0xrDGoWl8dsOgbmd8dHLhuq9uZ1xuIgorCisjfiBtc2dpZCAiICBbIC11bGNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIFsgLXVsY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhblxuIgorI34gIlxuIgorI34gIm3DoHUgZ+G6oWNoIGTGsOG7m2k6IHhhbmh8bOG7pWN8eGFuaCBsw6EgbeG6oSBraeG7g3Ugc8OhbmciCisKKyN+IG1zZ2lkICIgIFsgLWhiY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtaGJjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtaGJjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWhiY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtc3RhbmRvdXQgWyBhdHRyIF0gXVxuIgorI34gbXNnc3RyICIgIFsgLXN0YW5kb3V0IFsgdGh14buZY190w61uaCBdIF1cdFx0bMOgbSBu4buVaVxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstZF0gWy1wIHBpZGZpbGVdIFstcyBzb2NrZXRwYXRoXSBbLVQgdGltZW91dF1cbiIKKyN+IG1zZ3N0ciAiQ8OhY2ggZMO5bmc6ICVzIFstZF0gWy1wIHThuq1wX3Rpbl9QSURdIFstcyDEkcaw4budbmdfZOG6q25f4buVX2Phuq9tXSBbLVQgdGjhu51pX2jhuqFuXVxuIgorCisjfiBtc2dpZCAiICAgICAgICVzIFstcnx0XSBbLW4gbnVtXSBbLXMgc29ja2V0cGF0aF1cbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIFstcnx0XSBbLW4gc+G7kV0gWy1zIMSRxrDhu51uZ19k4bqrbl/hu5VfY+G6r21dXG4iCisKKyN+IG1zZ2lkICIgICAgICAgJXMgLWtcbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIC1rXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1yXSBbLXRdXG4iCisjfiBtc2dzdHIgIkPDoWNoIGTDuW5nOiAlcyBbLXJdIFstdF1cbiIKKworI34gbXNnaWQgIndoZXJlaXMgWyAtc2JtdSBdIFsgLVNCTSBkaXIgLi4uIC1mIF0gbmFtZS4uLlxuIgorI34gbXNnc3RyICJ3aGVyZWlzIFsgLXNibXUgXSBbIC1TQk0gdGjGsF9t4bulYyDigKYgLWYgXSB0w6pu4oCmXG4iCisKKyN+IG1zZ2lkICJXQVJOSU5HOiAlczogYXBwZWFycyB0byBjb250YWluICclcycgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJD4bqiTkggQsOBTzogJXM6IGjDrG5oIG5oxrAgY2jhu6lhIGLhuqNuZyBwaMOibiB2w7luZyDigJwlc+KAnSIKKworI34gbXNnaWQgIm5vIG1hZ2ljIHN0cmluZyBmb3VuZCBhdCBvZmZzZXQgMHglanggLS0gaWdub3JlZCIKKyN+IG1zZ3N0ciAia2jDtG5nIHTDrG0gdGjhuqV5IGNodeG7l2kgbWEgdGh14bqtdCDhu58ga2hv4bqjbmcgY2jDqm5oIDB4JWp4IG7Dqm4gYuG7jyBxdWEiCisKKyN+IG1zZ2lkICJ1c2FnZTogd3JpdGUgdXNlciBbdHR5XVxuIgorI34gbXNnc3RyICJjw6FjaCBkw7luZzogd3JpdGUgbmfGsOG7nWlfZMO5bmcgW3R0eV1cbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IHNldCBjYXBhY2l0eSBvbiBkZXZpY2UgJXM6ICVzXG4iCisjfiBtc2dzdHIgImxvb3A6IGtow7RuZyB0aOG7gyDEkeG6t3Qga2jhuqMgbsSDbmcgdHLDqm4gdGhp4bq/dCBi4buLICVzOiAlc1xuIgorCisjfiBtc2dpZCAiLCBvZmZzZXQgJTxQUkl1NjQ+IgorI34gbXNnc3RyICIsIGLDuSAlPFBSSXU2ND4iCisKKyN+IG1zZ2lkICIsIGVuY3J5cHRpb24gdHlwZSAlZFxuIgorI34gbXNnc3RyICIsIGThuqFuZyBtw6MgaMOzYSAlZFxuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3QgZ2V0IGluZm8gb24gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBraMO0bmcgbOG6pXkgxJHGsOG7o2MgdGjDtG5nIHRpbiB0csOqbiB0aGnhur90IGLhu4sgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBvcGVuIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDoga2jDtG5nIG3hu58gxJHGsOG7o2MgdGhp4bq/dCBi4buLICVzOiAlc1xuIgorCisjfiBtc2dpZCAiJXM6IC9kZXYgZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0LiIKKyN+IG1zZ3N0ciAiJXM6IHRoxrAgbeG7pWMg4oCcL2RlduKAnSBraMO0bmcgdOG7k24gdOG6oWkuIgorCisjfiBtc2dpZCAiJXM6IG5vIHBlcm1pc3Npb24gdG8gbG9vayBhdCAvZGV2L2xvb3AlczxOPiIKKyN+IG1zZ3N0ciAiJXM6IGtow7RuZyBjw7MgcXV54buBbiB4ZW0gL2Rldi9sb29wJXM8Tj4iCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IENvdWxkIG5vdCBmaW5kIGFueSBsb29wIGRldmljZS4gTWF5YmUgdGhpcyBrZXJuZWwgZG9lcyBub3Qga25vd1xuIgorI34gIiAgICAgICBhYm91dCB0aGUgbG9vcCBkZXZpY2U/IChJZiBzbywgcmVjb21waWxlIG9yIGBtb2Rwcm9iZSBsb29wJy4pIgorI34gbXNnc3RyICIiCisjfiAiJXM6IEtow7RuZyB0w6xtIHRo4bqleSBi4bqldCBr4buzIHRoaeG6v3QgYuG7iyB2w7JuZyBs4bq3cCBuw6BvLiBDw7MgdGjhu4MgbmjDom4gbsOgeSBraMO0bmcgYmnhur90XG4iCisjfiAiICAgICAgIHbhu4EgdGhp4bq/dCBi4buLIHbDsm5nIGzhurdwPyAoTuG6v3UgduG6rXksIGjDo3kgYmnDqm4gZOG7i2NoIGzhuqFpIGhv4bq3YyB0aOG7rSDigJxtb2Rwcm9iZSBsb29w4oCdLikiCisKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5IHdoaWxlIHJlYWRpbmcgcGFzc3BocmFzZSIKKyN+IG1zZ3N0ciAiS2jDtG5nIMSR4bunIGLhu5kgbmjhu5sga2hpIMSR4buNYyBj4bulbSB04burIG3huq10IGto4bqpdSIKKworI34gbXNnaWQgIndhcm5pbmc6ICVzIGlzIGFscmVhZHkgYXNzb2NpYXRlZCB3aXRoICVzXG4iCisjfiBtc2dzdHIgImPhuqNuaCBiw6FvOiAlcyDEkcOjIGxpw6puIHF1YW4gxJHhur9uICVzXG4iCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiAlczogaXMgd3JpdGUtcHJvdGVjdGVkLCB1c2luZyByZWFkLW9ubHkuXG4iCisjfiBtc2dzdHIgImPhuqNuaCBiw6FvOiAlczogxJHGsOG7o2MgYuG6o28gduG7hyBjaOG7kW5nIGdoaSBuw6puIMSR4bq3dCBjaOG7iS3EkeG7jWMuXG4iCisKKyN+IG1zZ2lkICJpb2N0bCBMT09QX1NFVF9GRCBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgImlvY3RsIExPT1BfU0VUX0ZEIGLhu4sgbOG7l2k6ICVzXG4iCisKKyN+IG1zZ2lkICJzZXRfbG9vcCglcywlcywlbGx1LCVsbHUpOiBzdWNjZXNzXG4iCisjfiBtc2dzdHIgInNldF9sb29wKCVzLCVzLCVsbHUsJWxsdSk6IHRow6BuaCBjw7RuZ1xuIgorCisjfiBtc2dpZCAiZGVsX2xvb3AoJXMpOiBzdWNjZXNzXG4iCisjfiBtc2dzdHIgImRlbF9sb29wKCVzKTogdGjDoG5oIGPDtG5nXG4iCisKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBkZWxldGUgZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBraMO0bmcgeMOzYSDEkcaw4bujYyB0aGnhur90IGLhu4sgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJUaGlzIG1vdW50IHdhcyBjb21waWxlZCB3aXRob3V0IGxvb3Agc3VwcG9ydC4gUGxlYXNlIHJlY29tcGlsZS5cbiIKKyN+IG1zZ3N0ciAiUGhpw6puIGLhuqNuIG1vdW50IG7DoHkgxJHGsOG7o2MgYmnDqm4gZOG7i2NoIGtow7RuZyBo4buXIHRy4bujIHbDsm5nIGzhurdwLiBYaW4gaMOjeSBiacOqbiBk4buLY2ggbOG6oWkuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICUxJHMgbG9vcF9kZXZpY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdpdmUgaW5mb1xuIgorI34gIiAlMSRzIC1hIHwgLS1hbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkXG4iCisjfiAiICUxJHMgLWQgfCAtLWRldGFjaCA8bG9vcGRldj4gWzxsb29wZGV2PiAuLi5dIGRlbGV0ZVxuIgorI34gIiAlMSRzIC1mIHwgLS1maW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaW5kIHVudXNlZFxuIgorI34gIiAlMSRzIC1jIHwgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICAgICAgICAgICByZXNpemVcbiIKKyN+ICIgJTEkcyAtaiB8IC0tYXNzb2NpYXRlZCA8ZmlsZT4gWy1vIDxudW0+XSAgICAgbGlzdCBhbGwgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorI34gIiAlMSRzIFsgb3B0aW9ucyBdIHstZnwtLWZpbmR8bG9vcGRldn0gPGZpbGU+ICBzZXR1cFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQ8OhY2ggZMO5bmc6XG4iCisjfiAiICUxJHMgdGhp4bq/dF9i4buLX3bDsm5nX2zhurdwICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdW5nIGPhuqVwIHRow7RuZyB0aW5cbiIKKyN+ICIgJTEkcyAtYSB8IC0tYWxsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGnhu4d0IGvDqiB04bqldCBj4bqjIMSRxrDhu6NjIGTDuW5nXG4iCisjfiAiICUxJHMgLWQgfCAtLWRldGFjaCA8VEJfdsOybmdfbOG6t3A+IFs8VEJfdsOybmdfbOG6t3A+IOKApl0gICAgICAgIHjDs2FcbiIKKyN+ICIgJTEkcyAtZiB8IC0tZmluZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdMOsbSBjw6FpIGNoxrBhIGTDuW5nXG4iCisjfiAiICUxJHMgLWMgfCAtLXNldC1jYXBhY2l0eSA8VEJfdsOybmdfbOG6t3A+ICAgICAgICAgICB0aGF5IMSR4buVaSBrw61jaCBj4buhXG4iCisjfiAiICUxJHMgLWogfCAtLWFzc29jaWF0ZWQgPHThuq1wX3Rpbj4gWy1vIDxz4buRPl0gICAgIGxp4buHdCBrw6ogdOG6pXQgY+G6oyB0xrDGoW5nIOG7qW5nIHbhu5tpIHThuq1wIHRpbiBuw6B5XG4iCisjfiAiICUxJHMgWyB0deG7s19jaOG7jW4g4oCmIF0gey1mfC0tZmluZHxUQl92w7JuZ19s4bq3cH0gPHThuq1wX3Rpbj4gICAgICAgIHRoaeG6v3QgbOG6rXBcbiIKKworI34gbXNnaWQgInN0b2xlbiBsb29wPSVzLi4udHJ5aW5nIGFnYWluXG4iCisjfiBtc2dzdHIgInbDsm5nIGzhurdwIGLhu4sgxINuIGPhuq9wPSVz4oCmIG7Dqm4gdGjhu60gbOG6oWlcbiIKKworI34gbXNnaWQgIk5vIGxvb3Agc3VwcG9ydCB3YXMgYXZhaWxhYmxlIGF0IGNvbXBpbGUgdGltZS4gUGxlYXNlIHJlY29tcGlsZS5cbiIKKyN+IG1zZ3N0ciAiQmnDqm4gZOG7i2NoIGtow7RuZyBo4buXIHRy4bujIHbDsm5nIGzhurdwLiBYaW4gaMOjeSBiacOqbiBk4buLY2ggbOG6oWkuXG4iCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3Qgb3BlbiAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBraMO0bmcgbeG7nyDEkcaw4bujYyAlczogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICUxJHMgLWEgWy1lXSBbLXZdIFstZl0gICAgICAgICAgICAgZW5hYmxlIGFsbCBzd2FwcyBmcm9tIC9ldGMvZnN0YWJcbiIKKyN+ICIgJTEkcyBbLXAgcHJpb3JpdHldIFstdl0gWy1mXSA8c3BlY2lhbD4gIGVuYWJsZSBnaXZlbiBzd2FwXG4iCisjfiAiICUxJHMgLXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHVzYWdlIHN1bW1hcnlcbiIKKyN+ICIgJTEkcyAtaCAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGhlbHBcbiIKKyN+ICIgJTEkcyAtViAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHZlcnNpb25cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkPDoWNoIGTDuW5nOlxuIgorI34gIiAlMSRzIC1hIFstZV0gWy12XSBbLWZdICAgICAgICAgYuG6rXQgdOG6pXQgY+G6oyBjw6FjIHbDuW5nIHRyYW8gxJHhu5VpIHThu6sgL2V0Yy9mc3RhYlxuIgorI34gIiAlMSRzIFstcCDGsHVfdGnDqm5dIFstdl0gWy1mXSA8xJHhurdjX2Jp4buHdD4gIGLhuq10IHbDuW5nIHRyYW8gxJHhu5VpIMSRxrBhIHJhXG4iCisjfiAiICUxJHMgLXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIGzGsOG7o2Mgc+G7rSB24buBIGPDoWNoIHPhu60gZOG7pW5nIHbDuW5nIHRyYW8gxJHhu5VpXG4iCisjfiAiICUxJHMgLWggICAgICAgICAgICAgICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwXG4iCisjfiAiICUxJHMgLVYgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHBoacOqbiBi4bqjblxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlMSRzIC1hIFstdl0gICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgc3dhcHNcbiIKKyN+ICIgJTEkcyBbLXZdIDxzcGVjaWFsPiAgICAgICAgICAgICAgIGRpc2FibGUgZ2l2ZW4gc3dhcFxuIgorI34gIiAlMSRzIC1oICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBoZWxwXG4iCisjfiAiICUxJHMgLVYgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHZlcnNpb25cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkPDoWNoIGTDuW5nOlxuIgorI34gIiAlMSRzIC1hIFstdl0gICAgICAgICAgICAgICAgICAgICAgdOG6r3QgbeG7jWkgdHJhbyDEkeG7lWlcbiIKKyN+ICIgJTEkcyBbLXZdIDzEkeG6t2NfYmnhu4d0PiAgICAgICAgICAgICAgdOG6r3QgdHJhbyDEkeG7lWkgxJHDoyBjaG9cbiIKKyN+ICIgJTEkcyAtaCAgICAgICAgICAgICAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cFxuIgorI34gIiAlMSRzIC1WICAgICAgICAgICAgICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHBoacOqbiBi4bqjblxuIgorI34gIlxuIgorCisjfiBtc2dpZCAidW5rbm93blxuIgorI34gbXNnc3RyICJraMO0bmcgcsO1XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiaW9uaWNlIC0gc2V0cyBvciBnZXRzIHByb2Nlc3MgaW8gc2NoZWR1bGluZyBjbGFzcyBhbmQgcHJpb3JpdHkuXG4iCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICBpb25pY2UgWyBvcHRpb25zIF0gLXAgPHBpZD4gWzxwaWQ+IC4uLl1cbiIKKyN+ICIgIGlvbmljZSBbIG9wdGlvbnMgXSA8Y29tbWFuZD4gWzxhcmc+IC4uLl1cbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAgLW4gPGNsYXNzZGF0YT4gICAgICBjbGFzcyBkYXRhICgwLTcsIGxvd2VyIGJlaW5nIGhpZ2hlciBwcmlvKVxuIgorI34gIiAgLWMgPGNsYXNzPiAgICAgICAgICBzY2hlZHVsaW5nIGNsYXNzXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIDA6IG5vbmUsIDE6IHJlYWx0aW1lLCAyOiBiZXN0LWVmZm9ydCwgMzogaWRsZVxuIgorI34gIiAgLXQgICAgICAgICAgICAgICAgICBpZ25vcmUgZmFpbHVyZXNcbiIKKyN+ICIgIC1oICAgICAgICAgICAgICAgICAgdGhpcyBoZWxwXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJpb25pY2Ug4oCUIMSR4bq3dCBoYXkgbOG6pXkgaOG6oW5nIHbDoCBt4bupYyDGsHUgdGnDqm4gxJHhu4tuaCB0aOG7nWkgVi9SIGPhu6dhIHRp4bq/biB0csOsbmguXG4iCisjfiAiXG4iCisjfiAiQ8OhY2ggZMO5bmc6XG4iCisjfiAiICBpb25pY2UgWyBjw6FjX3TDuXlfY2jhu41uIF0gLXAgPHBpZD4gWzxwaWQ+IOKApl1cbiIKKyN+ICIgIGlvbm9jZSBbIGPDoWNfdMO5eV9jaOG7jW4gXSA8bOG7h25oPiBbPMSR4buRaV9z4buRPiDigKZdXG4iCisjfiAiXG4iCisjfiAiVMO5eSBjaOG7jW46XG4iCisjfiAiICAtbiA8ZOG7r19saeG7h3VfaOG6oW5nPiAgICAgIGThu68gbGnhu4d1IGjhuqFuZyAoMC03LCBuaOG7jyBoxqFuIHRow6wgbeG7qWMgxrB1IHRpw6puIGNhbyBoxqFuKVxuIgorI34gIiAgLWMgPGjhuqFuZz4gICAgICAgICAgaOG6oW5nIMSR4buLbmggdGjhu51pXG4iCisjfiAiXHQqIDBcdGtow7RuZyBjw7NcbiIKKyN+ICJcdCogMVx0dGjhu51pIGdpYW4gdGjhuq10XG4iCisjfiAiXHQqIDJcdGPhu5EgZ+G6r25nIHThu5F0IG5o4bqldFxuIgorI34gIlx0KiAzXHRuZ2jhu4lcbiIKKyN+ICIgIC10ICAgICAgICAgICAgICAgICAgYuG7jyBxdWEgbOG7l2lcbiIKKyN+ICIgIC1oICAgICAgICAgICAgICAgICAgdHLhu6MgZ2nDunAgbsOgeVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiQ1BVIG1hc2siCisjfiBtc2dzdHIgIkLhu5kgbOG7jWMgQ1BVIgorCisjfiBtc2dpZCAicGFyc2UgZXJyb3IgYXQgbGluZXM6ICIKKyN+IG1zZ3N0ciAibOG7l2kgcGjDom4gdMOtY2ggY8O6IHBow6FwIOG7nyBkw7JuZzogIgorCisjfiBtc2dpZCAiIGFuZCAlZC4iCisjfiBtc2dzdHIgIiB2w6AgJWQuIgorCisjfiBtc2dpZCAiVXNhZ2U6IGN0cmxhbHRkZWwgaGFyZHxzb2Z0XG4iCisjfiBtc2dzdHIgIkPDoWNoIGTDuW5nOiBjdHJsYWx0ZGVsIGhhcmR8c29mdFx0XHRj4bupbmd8beG7gW1cbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLXEgWy1pIGludGVydmFsXV0gKFstcyB2YWx1ZV18Wy1TIHZhbHVlXSkgKFstdCB2YWx1ZV18Wy1UIHZhbHVlXSkgWy1nfC1HXSBmaWxlIFtmaWxlLi4uXVxuIgorI34gbXNnc3RyICJDw6FjaCBkw7luZzogJXMgWy1xIFstaSBraG/huqNuZ3Ro4budaWdpYW5dXSAoWy1zIGdpw6F0cuG7i118Wy1TIGdpw6F0cuG7i10pIChbLXQgZ2nDoXRy4buLXXxbLVQgZ2nDoXRy4buLXSkgWy1nfC1HXSB04bqtcHRpbiBbdOG6rXB0aW7igKZdXG4iCisKKyN+IG1zZ2lkICJDYW4ndCBvcGVuICVzOiAlc1xuIgorI34gbXNnc3RyICJLaMO0bmcgbeG7nyDEkcaw4bujYyAlczogJXNcbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWNdIFstbiBsZXZlbF0gWy1yXSBbLXMgYnVmc2l6ZV1cbiIKKyN+IG1zZ3N0ciAiQ8OhY2ggZMO5bmc6ICVzIFstY10gWy1uIGLhuq1jXSBbLXJdIFsgLXMgY+G7oV9i4buZX8SR4buHbV1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJTEkcyBbLXN4dW5dWy13ICNdIGZkI1xuIgorI34gIiAgICAgICAlMSRzIFstc3hvbl1bLXcgI10gZmlsZSBbLWNdIGNvbW1hbmQuLi5cbiIKKyN+ICIgICAgICAgJTEkcyBbLXN4b25dWy13ICNdIGRpcmVjdG9yeSBbLWNdIGNvbW1hbmQuLi5cbiIKKyN+ICIgIC1zICAtLXNoYXJlZCAgICAgR2V0IGEgc2hhcmVkIGxvY2tcbiIKKyN+ICIgIC14ICAtLWV4Y2x1c2l2ZSAgR2V0IGFuIGV4Y2x1c2l2ZSBsb2NrXG4iCisjfiAiICAtdSAgLS11bmxvY2sgICAgIFJlbW92ZSBhIGxvY2tcbiIKKyN+ICIgIC1uICAtLW5vbmJsb2NrICAgRmFpbCByYXRoZXIgdGhhbiB3YWl0XG4iCisjfiAiICAtdyAgLS10aW1lb3V0ICAgIFdhaXQgZm9yIGEgbGltaXRlZCBhbW91bnQgb2YgdGltZVxuIgorI34gIiAgLW8gIC0tY2xvc2UgICAgICBDbG9zZSBmaWxlIGRlc2NyaXB0b3IgYmVmb3JlIHJ1bm5pbmcgY29tbWFuZFxuIgorI34gIiAgLWMgIC0tY29tbWFuZCAgICBSdW4gYSBzaW5nbGUgY29tbWFuZCBzdHJpbmcgdGhyb3VnaCB0aGUgc2hlbGxcbiIKKyN+ICIgIC1oICAtLWhlbHAgICAgICAgRGlzcGxheSB0aGlzIHRleHRcbiIKKyN+ICIgIC1WICAtLXZlcnNpb24gICAgRGlzcGxheSB2ZXJzaW9uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJDw6FjaCBkw7luZzogJTEkcyBbLXN4dW5dWy13ICNdIGZkI1xuIgorI34gIiAgICAgICAlMSRzIFstc3hvbl1bLXcgI10gdOG6rXBfdGluIFstY10gbOG7h25o4oCmXG4iCisjfiAiICAgICAgICUxJHMgWy1zeG9uXVstdyAjXSB0aMawX23hu6VjIFstY10gbOG7h25o4oCmXG4iCisjfiAiXG4iCisjfiAiICAtcyAgLS1zaGFyZWQgICAgIEzhuqV5IG3hu5l0IHPhu7Ega2jDs2EgZMO5bmcgY2h1bmdcbiIKKyN+ICIgIC14ICAtLWV4Y2x1c2l2ZSAgTOG6pXkgbeG7mXQgc+G7sSBraMOzYSByacOqbmdcbiIKKyN+ICIgIC11ICAtLXVubG9jayAgICAgR+G7oSBi4buPIG3hu5l0IHPhu7Ega2jDs2FcbiIKKyN+ICIgIC1uICAtLW5vbmJsb2NrICAgVGjhuqV0IGLhuqFpIGjGoW4gbMOgIMSR4bujaVxuIgorI34gIiAgLXcgIC0tdGltZW91dCAgICDEkOG7o2kgbeG7mXQga2hv4bqjbmcgdGjhu51pIGdpYW5cbiIKKyN+ICIgIC1vICAtLWNsb3NlICAgICAgxJDDs25nIGLhu5kgbcO0IHThuqMgdOG6rXAgdGluIHRyxrDhu5tjIGtoaSBjaOG6oXkgY8OidSBs4buHbmhcbiIKKyN+ICIgIC1jICAtLWNvbW1hbmQgICAgQ2jhuqF5IHRyb25nIHRyw6xuaCBiYW8gbeG7mXQgY2h14buXaSBs4buHbmggcmnDqm5nIGzhurtcbiIKKyN+ICIgIC1oICAtLWhlbHAgICAgICAgSGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHlcbiIKKyN+ICIgIC1WICAtLXZlcnNpb24gICAgSGnhu4NuIHRo4buLIHBoacOqbiBi4bqjblxuIgorCisjfiBtc2dpZCAiJXM6IGJhZCBudW1iZXI6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBz4buRIHNhaTogJXNcbiIKKworI34gbXNnaWQgIiVzOiBmb3JrIGZhaWxlZDogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGzhu5dpIHBow6JuIG5ow6FuaDogJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgIC1NIDxzaXplPiAgICAgY3JlYXRlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBvZiBzaXplIDxzaXplPlxuIgorI34gIiAgLVMgPG5zZW1zPiAgICBjcmVhdGUgc2VtYXBob3JlIGFycmF5IHdpdGggPG5zZW1zPiBlbGVtZW50c1xuIgorI34gIiAgLVEgICAgICAgICAgICBjcmVhdGUgbWVzc2FnZSBxdWV1ZVxuIgorI34gIiAgLXAgPG1vZGU+ICAgICBwZXJtaXNzaW9uIGZvciB0aGUgcmVzb3VyY2UgKGRlZmF1bHQgaXMgMDY0NClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLU0gPGvDrWNoX2Phu6E+ICAgICB04bqhbyDEkW/huqFuIG5o4bubIGTDuW5nIGNodW5nIGPDsyBrw61jaCBj4buhIG7DoHlcbiIKKyN+ICIgIC1TIDxz4buRPiAgICB04bqhbyBt4bqjbmcgY+G7nSBoaeG7h3UgY8OzIHPhu5EgbeG7pWMgbsOgeVxuIgorI34gIiAgLVEgICAgICAgICAgICB04bqhbyBow6BuZyDEkeG7o2kgdGjDtG5nIMSRaeG7h3BcbiIKKyN+ICIgIC1wIDxjaOG6v1/EkeG7mT4gICAgIHF1eeG7gW4gaOG6oW4gY+G7p2EgdMOgaSBuZ3V5w6puICht4bq3YyDEkeG7i25oIDA2NDQpXG4iCisKKyN+IG1zZ2lkICJjYW5ub3QgcmVtb3ZlIGlkICVzICglcylcbiIKKyN+IG1zZ3N0ciAia2jDtG5nIHjDs2EgYuG7jyDEkcaw4bujYyBpZCAlcyAoJXMpXG4iCisKKyN+IG1zZ2lkICJkZXByZWNhdGVkIHVzYWdlOiAlcyB7c2htIHwgbXNnIHwgc2VtfSBpZCAuLi5cbiIKKyN+IG1zZ3N0ciAia2jDtG5nIG7Dqm4gc+G7rSBk4bulbmc6ICVzIHtzaG0gfCBtc2cgfCBzZW19IGlkIOKAplxuIgorCisjfiBtc2dpZCAiIgorI34gInVzYWdlOiAlcyBbIFstcSBtc3FpZF0gWy1tIHNobWlkXSBbLXMgc2VtaWRdXG4iCisjfiAiICAgICAgICAgIFstUSBtc2drZXldIFstTSBzaG1rZXldIFstUyBzZW1rZXldIC4uLiBdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJDw6FjaCBkw7luZzogJXMgWyBbLXEgbXNxaWRdIFstbSBzaG1pZF0gWy1zIHNlbWlkXVxuIgorI34gIiAgICAgICAgICBbLVEgbXNna2V5XSBbLU0gc2hta2V5XSBbLVMgc2Vta2V5XSDigKYgXVxuIgorCisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgb3B0aW9uIC0tICVjXG4iCisjfiBtc2dzdHIgIiVzOiB0w7l5IGNo4buNbiBraMO0bmcgY2hvIHBow6lwIOKAnC0tICVj4oCdXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIGVycm9yIGluIGtleSIKKyN+IG1zZ3N0ciAibOG7l2kga2jDtG5nIHLDtSB0cm9uZyBjaMOsYSBraMOzYSIKKworI34gbXNnaWQgInVua25vd24gZXJyb3IgaW4gaWQiCisjfiBtc2dzdHIgImzhu5dpIGtow7RuZyByw7UgdHJvbmcgaWQiCisKKyN+IG1zZ2lkICIlczogJXMgKCVzKVxuIgorI34gbXNnc3RyICIlczogJXMgKCVzKVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlMSRzIFstYXNtcV0gWy10fC1jfC1sfC11fC1wXVxuIgorI34gIiAgICAgICAlMSRzIFstc3wtbXwtcV0gLWkgaWRcbiIKKyN+ICIgICAgICAgJTEkcyAtaCBmb3IgaGVscFxuIgorI34gbXNnc3RyICIiCisjfiAiQ8OhY2ggZMO5bmc6ICUxJHMgWy1hc21xXSBbLXR8LWN8LWx8LXV8LXBdXG4iCisjfiAiICAgICAgICUxJHMgWy1zfC1tfC1xXSAtaSBpZFxuIgorI34gIiAgICAgICAlMSRzIC1oIMSR4buDIHhlbSB0cuG7oyBnacO6cFxuIgorCisjfiBtc2dpZCAiIgorI34gIlJlc291cmNlIG9wdGlvbnM6XG4iCisjfiAiICAgIC1tICAgICAgc2hhcmVkIG1lbW9yeSBzZWdtZW50c1xuIgorI34gIiAgICAtcSAgICAgIG1lc3NhZ2UgcXVldWVzXG4iCisjfiAiICAgIC1zICAgICAgc2VtYXBob3Jlc1xuIgorI34gIiAgICAtYSAgICAgIGFsbCAoZGVmYXVsdClcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlTDuXkgY2jhu41uIHTDoGkgbmd1ecOqbjpcbiIKKyN+ICIgICAgLW0gICAgICDEkW/huqFuIHbDuW5nIG5o4bubIGNoaWEgc+G6u1xuIgorI34gIiAgICAtcSAgICAgICBow6BuZyDEkeG7o2kgdGjDtG5nIMSRaeG7h3BcbiIKKyN+ICIgICAgLXMgICAgICAgY+G7nSBoaeG7h3VcbiIKKyN+ICIgICAgLWEgICAgICB04bqldCBj4bqjICht4bq3YyDEkeG7i25oKVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIk91dHB1dCBmb3JtYXQ6XG4iCisjfiAiICAgIC10ICAgICAgdGltZVxuIgorI34gIiAgICAtcCAgICAgIHBpZFxuIgorI34gIiAgICAtYyAgICAgIGNyZWF0b3JcbiIKKyN+ICIgICAgLWwgICAgICBsaW1pdHNcbiIKKyN+ICIgICAgLXUgICAgICBzdW1tYXJ5XG4iCisjfiBtc2dzdHIgIiIKKyN+ICLEkOG7i25oIGThuqFuZyBr4bq/dCB4deG6pXQ6XG4iCisjfiAiICAgIC10ICAgICAgIHRo4budaSBnaWFuXG4iCisjfiAiICAgIC1wICAgICAgUElEXG4iCisjfiAiICAgIC1jICAgICAgdHLDrG5oIHThuqFvXG4iCisjfiAiICAgIC1sICAgICAgIGdp4bubaSBo4bqhblxuIgorI34gIiAgICAtdSAgICAgIGLhuqNuIHTDs20gdOG6r3RcbiIKKworI34gbXNnaWQgInNlZ21lbnRzIGFsbG9jYXRlZCAlZFxuIgorI34gbXNnc3RyICIlZCDEkW/huqFuIMSRw6MgcGjDom4gcGjhu5FpXG4iCisKKyN+IG1zZ2lkICJwYWdlcyBhbGxvY2F0ZWQgJWxkXG4iCisjfiBtc2dzdHIgIiVsZCB0cmFuZyDEkcOjIHBow6JuIHBo4buRaVxuIgorCisjfiBtc2dpZCAicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorI34gbXNnc3RyICIlbGQgdHJhbmcgbuG7mWkgdHLDulxuIgorCisjfiBtc2dpZCAicGFnZXMgc3dhcHBlZCAgICVsZFxuIgorI34gbXNnc3RyICIlbGQgdHJhbmcgxJHDoyDEkcawYSB2w6BvIHN3YXBcbiIKKworI34gbXNnaWQgIlN3YXAgcGVyZm9ybWFuY2U6ICVsZCBhdHRlbXB0c1x0ICVsZCBzdWNjZXNzZXNcbiIKKyN+IG1zZ3N0ciAiSGnhu4d1IHN14bqldCBzd2FwOiAlbGQgbOG6p24gdGjhu61cdCAlbGQgbOG6p24gdGjDoG5oIGPDtG5nXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6ICVzIFsgLWRoVjc4bmVvMTIgXSBbIC1zIDxzcGVlZD4gXSBbIC1pIFstXTxpZmxhZz4gXSA8bGRpc2M+IDxkZXZpY2U+XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDw6FjaCBkw7luZzogJXMgWyAtZGhWNzhuZW8xMiBdIFsgLXMgPHThu5FjX8SR4buZPiBdIFsgLWkgWy1dPGlmbGFnPiBdIDxsZGlzYz4gPHRoaeG6v3RfYuG7iz5cbiIKKworI34gbXNnaWQgImxkYXR0YWNoIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAibGRhdHRhY2ggdOG7qyAlc1xuIgorCisjfiBtc2dpZCAiZXJyb3I6IHN0cmR1cCBmYWlsZWQiCisjfiBtc2dzdHIgImzhu5dpOiBzdHJkdXAga2jDtG5nIHRow6BuaCBjw7RuZyIKKworI34gbXNnaWQgImVycm9yOiBjYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJs4buXaTogY2FsbG9jIGtow7RuZyB0aMOgbmggY8O0bmciCisKKyN+IG1zZ2lkICIiCisjfiAiQ1BVIGFyY2hpdGVjdHVyZSBpbmZvcm1hdGlvbiBoZWxwZXJcbiIKKyN+ICJcbiIKKyN+ICIgIC1oLCAtLWhlbHAgICAgIHVzYWdlIGluZm9ybWF0aW9uXG4iCisjfiAiICAtcCwgLS1wYXJzZSAgICBwcmludCBvdXQgaW4gcGFyc2FibGUgaW5zdGVhZCBvZiBwcmludGFibGUgZm9ybWF0LlxuIgorI34gIiAgLXMsIC0tc3lzcm9vdCAgdXNlIHRoZSBkaXJlY3RvcnkgYXMgYSBuZXcgc3lzdGVtIHJvb3QuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJUcsOsbmggYuG7lSB0cuG7oyB0aMO0bmcgdGluIGtp4bq/biB0csO6YyBDUFVcbiIKKyN+ICJcbiIKKyN+ICIgIC1oLCAtLWhlbHAgICAgIHRy4bujIGdpw7pwXG4iCisjfiAiICAtcCwgLS1wYXJzZSAgICBpbiByYSB0aGVvIMSR4buLbmggZOG6oW5nIGPDsyB0aOG7gyBwaMOibiB0w61jaCB0aGF5IGNobyDEkeG7i25oIGThuqFuZyBpbiDEkcaw4bujY1xuIgorI34gIiAgLXMsIC0tc3lzcm9vdCAgZMO5bmcgdGjGsCBt4bulYyBsw6BtIGfhu5FjIGjhu4cgdGjhu5FuZyBt4bubaVxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeSIKKyN+IG1zZ3N0ciAia2jDtG5nIMSR4bunIGLhu5kgbmjhu5siCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IFVzYWdlOiBgJXMgW29wdGlvbnNdXG4iCisjfiAiXHQgLW0gPG1hcGZpbGU+ICAoZGVmYXVsdHM6IGAlcycgYW5kXG4iCisjfiAiXHRcdFx0XHQgIGAlcycpXG4iCisjfiAiXHQgLXAgPHByby1maWxlPiAoZGVmYXVsdDogYCVzJylcbiIKKyN+ICJcdCAtTSA8bXVsdD4gICAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iCisjfiAiXHQgLWkgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIKKyN+ICJcdCAtdiAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorI34gIlx0IC1hICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorI34gIlx0IC1iICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorI34gIlx0IC1zICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCisjfiAiXHQgLXIgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCisjfiAiXHQgLW4gICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIKKyN+ICJcdCAtViAgICAgICAgICAgIHByaW50IHZlcnNpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBDw6FjaCBkw7luZzog4oCcJXMgW3TDuXkgY2jhu41uXVxuIgorI34gIlx0IC1tIDx04bqtcCB0aW4gc8ahIMSR4buTPiAgKG3hurdjIMSR4buLbmg6IOKAnCVz4oCdIHbDoFxuIgorI34gIlx0XHRcdFx0ICDigJwlc+KAnS5cbiIKKyN+ICJcdCAtcCA8cHJvLWZpbGU+ICht4bq3YyDEkeG7i25oOiDigJwlc+KAnS5cbiIKKyN+ICJcdCAtTSA8bXVsdD4gICAgIMSR4bq3dCB0csOsbmggc+G7kSBuaMOibiBj4bunYSB4w6FjIGzhuq1wIHRow6BuaCA8bXVsdD5cbiIKKyN+ICJcdCAtaSAgICAgICAgICAgIGNo4buJIGluIHJhIHRow7RuZyB0aW4gduG7gSBixrDhu5tjIHRo4butXG4iCisjfiAiXHQgLXYgICAgICAgICAgICBpbiBk4buvIGxp4buHdSBjaGkgdGnhur90XG4iCisjfiAiXHQgLWEgICAgICAgICAgICBpbiBt4buNaSBrw70gdOG7sSwga+G7gyBj4bqjIG7hur91IHPhu5EgxJHhur9tIGzDoCAwXG4iCisjfiAiXHQgLWIgICAgICAgICAgICBpbiByYSBz4buRIMSR4bq/bSBoaXN0b2dyYW0tYmluIHJpw6puZ1xuIgorI34gIlx0IC1zICAgICAgICAgICAgaW4gcmEgc+G7kSDEkeG6v20gcmnDqm5nIHRyb25nIGjDoG1cbiIKKyN+ICJcdCAtciAgICAgICAgICAgIMSR4bq3dCBs4bqhaSB04bqldCBj4bqjIHPhu5EgxJHhur9tIChjaOG7iSByb290KVxuIgorI34gIlx0IC1uICAgICAgICAgICAgdOG6r3QgYuG7jyB2aeG7h2MgdOG7sSDEkeG7mW5nIHTDrG0gcmEgdGjhu6kgdOG7sSBieXRlXG4iCisjfiAiXHQgLVYgICAgICAgICAgICBpbiByYSBwaGnDqm4gYuG6o24gdsOgIHRob8OhdFxuIgorCisjfiBtc2dpZCAicmVhZHByb2ZpbGU6IGVycm9yIHdyaXRpbmcgJXM6ICVzXG4iCisjfiBtc2dzdHIgInJlYWRwcm9maWxlOiBs4buXaSBnaGkgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJyZW5pY2U6ICVzOiB1bmtub3duIHVzZXJcbiIKKyN+IG1zZ3N0ciAicmVuaWNlOiAlczogbmfGsOG7nWkgZMO5bmcgbOG6oVxuIgorCisjfiBtc2dpZCAicmVuaWNlOiAlczogYmFkIHZhbHVlXG4iCisjfiBtc2dzdHIgInJlbmljZTogJXM6IGdpw6EgdHLhu4sgc2FpXG4iCisKKyN+IG1zZ2lkICIlczogaWxsZWdhbCBpbnRlcnZhbCAlcyBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVzOiBraG/huqNuZyBj4bqlbSAlcyBnacOieVxuIgorCisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgdGltZV90IHZhbHVlICVzXG4iCisjfiBtc2dzdHIgIiVzOiBnacOhIHRy4buLIOKAnHRpbWVfdOKAnSBj4bqlbSAlc1xuIgorCisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBleGVjdXRlICVzOiAlc1xuIgorI34gbXNnc3RyICIlczoga2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h24gJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJydGMgcmVhZCIKKyN+IG1zZ3N0ciAixJHhu41jIFJUQyIKKworI34gbXNnaWQgInVzYWdlOiAlcyBwcm9ncmFtIFthcmcgLi4uXVxuIgorI34gbXNnc3RyICJDw6FjaCBkw7luZzogJXMgY2jGsMahbmcgdHLDrG5oIFvEkeG7kWlfc+G7kSDigKZdXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIDxkZXZpY2U+IFsgLWkgPElSUT4gfCAtdCA8VElNRT4gfCAtYyA8Q0hBUlM+IHwgLXcgPFdBSVQ+IHwgXG4iCisjfiAiICAgICAgICAgIC1hIFtvbnxvZmZdIHwgLW8gW29ufG9mZl0gfCAtQyBbb258b2ZmXSB8IC1xIFtvbnxvZmZdIHwgLXMgfCBcbiIKKyN+ICIgICAgICAgICAgLVQgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIiCisjfiAiQ8OhY2ggZMO5bmc6ICVzIDx0aGnhur90IGLhu4s+IFsgLWkgPElSUT4gfCAtdCA8R0nhu5w+IHwgLWMgPEvDnV9U4buwPiB8IC13IDzEkOG7okk+IHwgXG4iCisjfiAiICAgICAgICAgIC1hIFtvbnxvZmZdIHwgLW8gW29ufG9mZl0gfCAtQyBbb258b2ZmXSB8IC1xIFtvbnxvZmZdIHwgLXMgfCBcbiIKKyN+ICIgICAgICAgICAgLVQgW29ufG9mZl0gXSBcdFx0KGLhuq10fHThuq90KVxuIgorCisjfiBtc2dpZCAibWFsbG9jIGVycm9yIgorI34gbXNnc3RyICJs4buXaSBtYWxsb2MiCisKKyN+IG1zZ2lkICJjb2w6IGJhZCAtbCBhcmd1bWVudCAlcy5cbiIKKyN+IG1zZ3N0ciAiY29sOiB0aGFtIHPhu5EgLWwgc2FpICVzLlxuIgorCisjfiBtc2dpZCAidXNhZ2U6IGNvbCBbLWJmcHhdIFstbCBubGluZV1cbiIKKyN+IG1zZ3N0ciAiQ8OhY2ggZMO5bmc6IGNvbCBbLWJmcHhdIFstbCBubGluZV1cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC0gXSBbIC0yIF0gWyBmaWxlIC4uLiBdXG4iCisjfiBtc2dzdHIgIkPDoWNoIGTDuW5nOiAlcyBbIC0gXSBbIC0yIF0gWyB04bqtcCB0aW4g4oCmIF1cbiIKKworI34gbXNnaWQgInVzYWdlOiBjb2x1bW4gWy10eF0gWy1jIGNvbHVtbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiQ8OhY2ggZMO5bmc6IGNvbHVtbiBbLXR4XSBbLWMgY8OhYy1j4buZdF0gW3Thuq1wLXRpbiDigKZdXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBbLWJjQ2RvdnhdIFstZSBmbXRdIFstZiBmbXRfZmlsZV0gWy1uIGxlbmd0aF0gWy1zIHNraXBdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogWy1iY0Nkb3Z4XSBbLWUgZm10XSBbLWYgdOG6rXB0aW5fZm10XSBbLW4gY2hp4buBdWTDoGldIFstcyBuaOG6o3lxdWFdIFt04bqtcHRpbiDigKZdXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWy1kZmxwY3N1XSBbK2xpbmVudW0gfCArL3BhdHRlcm5dIG5hbWUxIG5hbWUyIC4uLlxuIgorI34gbXNnc3RyICJDw6FjaCBkw7luZzogJXMgWy1kZmxwY3N1XSBbK3Phu5Fkw7JuZyB8ICsvcGF0dGVybl0gdMOqbjEgdMOqbjIg4oCmXG4iCisKKyN+IG1zZ2lkICJvZDogb2QoMSkgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgaGV4ZHVtcCgxKS5cbiIKKyN+IG1zZ3N0ciAib2Q6IG9kKDEpIGtow7RuZyB0xrDGoW5nIHRow61jaCBjaG8gaGV4ZHVtcCgxKS5cbiIKKworI34gbXNnaWQgIm9kOiBoZXhkdW1wKDEpIGNvbXBhdGliaWxpdHkgZG9lc24ndCBzdXBwb3J0IHRoZSAtJWMgb3B0aW9uJXNcbiIKKyN+IG1zZ3N0ciAib2Q6IHTDrW5oIHTGsMahbmcgdGjDrWNoIHbhu5tpIGhleGR1bXAoMSkga2jDtG5nIGjhu5cgdHLhu6MgdMO5eSBjaOG7jW4gLSVjICVzXG4iCisKKyN+IG1zZ2lkICI7IHNlZSBzdHJpbmdzKDEpLiIKKyN+IG1zZ3N0ciAiOyBow6N5IHhlbSBzdHJpbmdzKDEpLiIKKworI34gbXNnaWQgImhleGR1bXA6IGNhbid0IHJlYWQgJXMuXG4iCisjfiBtc2dzdHIgImhleGR1bXA6IGtow7RuZyDEkeG7jWMgxJHGsOG7o2MgJXMuXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBsaW5lIHRvbyBsb25nLlxuIgorI34gbXNnc3RyICJoZXhkdW1wOiBkw7JuZyBxdcOhIGTDoGkuXG4iCisKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgIktow7RuZyDEkeG7pyBi4buZIG5o4bubXG4iCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyc3BhY2UiCisjfiBtc2dzdHIgImtow7RuZyB0aOG7gyBj4bqlcCBwaMOhdCBraMO0bmcgZ2lhbiDEkeG7h20iCisKKyN+IG1zZ2lkICJ1c2FnZTogcmV2IFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiQ8OhY2ggZMO5bmc6IHJldiBbdOG6rXB0aW4g4oCmXVxuIgorCisjfiBtc2dpZCAidXNhZ2U6IHRhaWxmIFstbiBOIHwgLU5dIGxvZ2ZpbGUiCisjfiBtc2dzdHIgIkPDoWNoIGTDuW5nOiB0YWlsZiBbLW4gTiB8IC1OXSB04bqtcF90aW5fZ2hpX2zGsHUiCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtaSBdIFsgLXRUZXJtIF0gZmlsZS4uLlxuIgorI34gbXNnc3RyICJDw6FjaCBkw7luZzogJXMgWyAtaSBdIFsgLXRUZXJtIF0gdOG6rXBfdGlu4oCmXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyLlxuIgorI34gbXNnc3RyICJLaMO0bmcgcGjDom4gcGjhu5FpIMSRxrDhu6NjIGLhu5kgxJHhu4dtLlxuIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSB3aGVuIGdyb3dpbmcgYnVmZmVyLlxuIgorI34gbXNnc3RyICJLaMO0bmcgxJHhu6cgYuG7mSBuaOG7myBraGkgdMSDbmcgdsO5bmcgxJHhu4dtLlxuIgorCisjfiBtc2dpZCAiTGludXggZXh0MyIKKyN+IG1zZ3N0ciAiTGludXggZXh0MyIKKworI34gbXNnaWQgIkxpbnV4IFhGUyIKKyN+IG1zZ3N0ciAiTGludXggWEZTIgorCisjfiBtc2dpZCAiTGludXggSkZTIgorI34gbXNnc3RyICJMaW51eCBKRlMiCisKKyN+IG1zZ2lkICJMaW51eCBSZWlzZXJGUyIKKyN+IG1zZ3N0ciAiTGludXggUmVpc2VyRlMiCisKKyN+IG1zZ2lkICJPUy8yIEhQRlMiCisjfiBtc2dzdHIgIk9TLzIgSFBGUyIKKworI34gbXNnaWQgIk9TLzIgSUZTIgorI34gbXNnc3RyICJPUy8yIElGUyIKKworI34gbXNnaWQgIk5URlMiCisjfiBtc2dzdHIgIk5URlMiCisKKyN+IG1zZ2lkICIiCisjfiAiIGFuZCBjaGFuZ2UgZGlzcGxheSB1bml0cyB0b1xuIgorI34gIiAgICAgICAgIHNlY3RvcnMgKGNvbW1hbmQgJ3UnKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiB2w6AgdGhheSDEkeG7lWkgxJHGoW4gduG7iyBoaeG7g24gdGjhu4tcbiIKKyN+ICJcdHNhbmcgY3VuZyB04burIChs4buHbmgg4oCcdeKAnS4uXG4iCisKKyN+IG1zZ2lkICJlcnJvciBydW5uaW5nIHByb2dyYW1tZTogYCVzJ1xuIgorI34gbXNnc3RyICJs4buXaSBjaOG6oXkgY2jGsMahbmcgdHLDrG5oOiDigJwlc+KAnVxuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIG1lZGl1bSBmb3VuZCBvbiAlcyAuLi50cnlpbmcgYWdhaW5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGtow7RuZyB0w6xtIHRo4bqleSB24bqtdCBjaOG7qWEgdHLDqm4gJXPigKYgbsOqbiB0aOG7rSBs4bqhaVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImNocnQgLSBtYW5pcHVsYXRlIHJlYWwtdGltZSBhdHRyaWJ1dGVzIG9mIGEgcHJvY2Vzcy5cbiIKKyN+ICJcbiIKKyN+ICJTZXQgcG9saWN5OlxuIgorI34gIiAgY2hydCBbb3B0aW9uc10gPHBvbGljeT4gPHByaW9yaXR5PiB7PHBpZD4gfCA8Y29tbWFuZD4gWzxhcmc+IC4uLl19XG4iCisjfiAiXG4iCisjfiAiR2V0IHBvbGljeTpcbiIKKyN+ICIgIGNocnQgW29wdGlvbnNdIHs8cGlkPiB8IDxjb21tYW5kPiBbPGFyZz4gLi4uXX1cbiIKKyN+ICJcbiIKKyN+ICJcbiIKKyN+ICJTY2hlZHVsaW5nIHBvbGljaWVzOlxuIgorI34gIiAgLWIgfCAtLWJhdGNoICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorI34gIiAgLWYgfCAtLWZpZm8gICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9GSUZPXG4iCisjfiAiICAtaSB8IC0taWRsZSAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKKyN+ICIgIC1vIHwgLS1vdGhlciAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIKKyN+ICIgIC1yIHwgLS1yciAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwXG4iCisjfiAiICAtcCB8IC0tcGlkICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorI34gIiAgLW0gfCAtLW1heCAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCisjfiAiICAtdiB8IC0tdmVyYm9zZSAgICAgICBkaXNwbGF5IHN0YXR1cyBpbmZvcm1hdGlvblxuIgorI34gIiAgLVYgfCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gImNocnQg4oCUIHRoYW8gdMOhYyBjw6FjIHRodeG7mWMgdMOtbmggdGjhu51pIGdpYW4gdGjhuq10IGPhu6dhIG3hu5l0IHRp4bq/biB0csOsbmguXG4iCisjfiAiXG4iCisjfiAixJDhurd0IGNow61uaCBzw6FjaDpcbiIKKyN+ICIgIGNocnQgW2PDoWNfdMO5eV9jaOG7jW5dIDxjaMOtbmhfc8OhY2g+IDzGsHVfdGnDqm4+IHs8cGlkPiB8IDxs4buHbmg+IFs8xJHhu5FpX3Phu5E+IOKApl19XG4iCisjfiAiXG4iCisjfiAiTOG6pXkgY2jDrW5oIHPDoWNoOlxuIgorI34gIiAgY2hydCBbY8OhY190w7l5X2No4buNbl0gezxwaWQ+IHwgPGzhu4duaD4gWzzEkeG7kWlfc+G7kT4g4oCmXX1cbiIKKyN+ICJcbiIKKyN+ICJcbiIKKyN+ICJDaMOtbmggc8OhY2ggxJHhu4tuaCB0aOG7nWk6XG4iCisjfiAiICAtYiB8IC0tYmF0Y2ggICAgICAgICDEkeG6t3QgY2jDrW5oIHPDoWNoIHRow6BuaCBTQ0hFRF9CQVRDSFxuIgorI34gIiAgLWYgfCAtLWZpZm8gICAgICAgICAgxJHhurd0IGNow61uaCBzw6FjaCB0aMOgbmggU0NIRURfRklGT1xuIgorI34gIiAgLWkgfCAtLWlkbGUgICAgICAgICAgxJHhurd0IGNow61uaCBzw6FjaCB0aMOgbmggU0NIRURfSURMRVxuIgorI34gIiAgLW8gfCAtLW90aGVyICAgICAgICAgxJHhurd0IGNow61uaCBzw6FjaCB0aMOgbmggU0NIRURfT1RIRVJcbiIKKyN+ICIgIC1yIHwgLS1yciAgICAgICAgICAgIMSR4bq3dCBjaMOtbmggc8OhY2ggdGjDoG5oIFNDSEVEX1JSICht4bq3YyDEkeG7i25oKVxuIgorI34gIlxuIgorI34gIlTDuXkgY2jhu41uOlxuIgorI34gIiAgLWggfCAtLWhlbHAgICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHlcbiIKKyN+ICIgIC1wIHwgLS1waWQgICAgICAgICAgIHRoYW8gdMOhYyB0csOqbiBtw6Mgc+G7kSB0aeG6v24gdHLDrG5oIChQSUQpIMSRw6MgxJHGsGEgcmFcbiIKKyN+ICIgIC1tIHwgLS1tYXggICAgICAgICAgIGhp4buDbiB0aOG7iyBt4bupYyDGsHUgdGnDqm4gaOG7o3AgbOG7hyB04buRaSDEkWEgdsOgIHThu5FpIHRoaeG7g3VcbiIKKyN+ICIgIC12IHwgLS12ZXJib3NlICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHRy4bqhbmcgdGjDoWlcbiIKKyN+ICIgIC1WIHwgLS12ZXJzaW9uICAgICAgIHh14bqldCB0aMO0bmcgdGluIHBoacOqbiBi4bqjblxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiY3VycmVudCIKKyN+IG1zZ3N0ciAiaGnhu4duIHThuqFpIgorCisjfiBtc2dpZCAibmV3IgorI34gbXNnc3RyICJt4bubaSIKKworI34gbXNnaWQgInVzYWdlIDogJXMgLWFzbXEgLXRjbHVwIFxuIgorI34gbXNnc3RyICJDw6FjaCBkw7luZzogJXMgLWFzbXEgLXRjbHVwIFxuIgorCisjfiBtc2dpZCAiXHQlcyBbLXMgLW0gLXFdIC1pIGlkXG4iCisjfiBtc2dzdHIgIlx0JXMgWy1zIC1tIC1xXSAtaSBpZFxuIgorCisjfiBtc2dpZCAiXHQlcyAtaCBmb3IgaGVscC5cbiIKKyN+IG1zZ3N0ciAiXHQlcyAtaCDEkeG7gyB4ZW0gdHLhu6MgZ2nDunAuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiUmVzb3VyY2UgU3BlY2lmaWNhdGlvbjpcbiIKKyN+ICJcdC1tIDogc2hhcmVkX21lbVxuIgorI34gIlx0LXEgOiBtZXNzYWdlc1xuIgorI34gbXNnc3RyICIiCisjfiAixJDhurdjIMSRaeG7g20gbmd14buTbjpcbiIKKyN+ICJcdC1tIDogbmd14buTbl9jaGlhc+G6u1xuIgorI34gIlx0LXEgOiB0aW5uaOG6r25cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdC1zIDogc2VtYXBob3Jlc1xuIgorI34gIlx0LWEgOiBhbGwgKGRlZmF1bHQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcdC1zIDogY+G7mXQgxJHDqG4gaGnhu4d1XG4iCisjfiAiXHQtYSA6IHThuqV0IGPhuqMgKG3hurdjIMSR4buLbmgpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiT3V0cHV0IEZvcm1hdDpcbiIKKyN+ICJcdC10IDogdGltZVxuIgorI34gIlx0LXAgOiBwaWRcbiIKKyN+ICJcdC1jIDogY3JlYXRvclxuIgorI34gbXNnc3RyICIiCisjfiAixJDhu4tuaCBk4bqhbmcga+G6v3QgcXXhuqMgxJHGsGEgcmE6XG4iCisjfiAiXHQtdCA6IHRo4budaSBnaWFuXG4iCisjfiAiXHQtcCA6IHBpZFxuIgorI34gIlx0LWMgOiBuZ8aw4budaSB04bqhb1xuIgorCisjfiBtc2dpZCAiIgorI34gIlx0LWwgOiBsaW1pdHNcbiIKKyN+ICJcdC11IDogc3VtbWFyeVxuIgorI34gbXNnc3RyICIiCisjfiAiXHQtbCA6IGdp4bubaSBo4bqhblxuIgorI34gIlx0LXUgOiB04buVbmcga+G6v3RcbiIKKworI34gbXNnaWQgImVycm9yOiAlcyIKKyN+IG1zZ3N0ciAibOG7l2k6ICVzIgorCisjfiBtc2dpZCAiZXJyb3IgcGFyc2U6ICVzIgorI34gbXNnc3RyICJwaMOibiB0w61jaCBs4buXaTogJXMiCisKKyN+IG1zZ2lkICJlcnJvcjogL3N5cyBmaWxlc3lzdGVtIGlzIG5vdCBhY2Nlc3NhYmxlLiIKKyN+IG1zZ3N0ciAibOG7l2k6IGjhu4cgdGjhu5FuZyB04bqtcCB0aW4g4oCcL3N5c+KAnSBraMO0bmcgdGjhu4MgdHJ1eSBj4bqtcCDEkcaw4bujYyIKKworI34gbXNnaWQgInVzYWdlOiByZGV2IFsgLXJ2IF0gWyAtbyBPRkZTRVQgXSBbIElNQUdFIFsgVkFMVUUgWyBPRkZTRVQgXSBdIF0iCisjfiBtc2dzdHIgIkPDoWNoIGTDuW5nOiByZGV2IFsgLXJ2IF0gWyAtbyBCw5kgXSBbIOG6ok5IIFsgR0nDgV9UUuG7iiBbIELDmSBdIF0gXSIKKworI34gbXNnaWQgIiAgcmRldiAvZGV2L2ZkMCAgKG9yIHJkZXYgL2xpbnV4LCBldGMuKSBkaXNwbGF5cyB0aGUgY3VycmVudCBST09UIGRldmljZSIKKyN+IG1zZ3N0ciAiICByZGV2IC9kZXYvZmQwICAoaG/hurdjIHJkZXYgL2xpbnV4LCB2LnbigKYpIGhp4buDbiB0aOG7iyB0aGnhur90IGLhu4sgUk9PVCAoZ+G7kWMpIGhp4buHbiB04bqhaSIKKworI34gbXNnaWQgIiAgcmRldiAvZGV2L2ZkMCAvZGV2L2hkYTIgICAgICAgICBzZXRzIFJPT1QgdG8gL2Rldi9oZGEyIgorI34gbXNnc3RyICIgIHJkZXYgL2Rldi9mZDAgL2Rldi9oZGEyICAgICAgICAgxJHhurd0IFJPT1QgKGfhu5FjKSB0aMOgbmggL2Rldi9oZGEyIgorCisjfiBtc2dpZCAiICByZGV2IC1SIC9kZXYvZmQwIDEgICAgICAgICAgICAgIHNldCB0aGUgUk9PVEZMQUdTIChyZWFkb25seSBzdGF0dXMpIgorI34gbXNnc3RyICIgIHJkZXYgLVIgL2Rldi9mZDAgMSAgICAgICAgICAgICAgxJHhurd0IFJPT1RGTEFHUyBbY8OhYyBj4budIGfhu5FjXSAodHLhuqFuZyB0aMOhaSBjaOG7iS3EkeG7jWMpIgorCisjfiBtc2dpZCAiICByZGV2IC1yIC9kZXYvZmQwIDYyNyAgICAgICAgICAgIHNldCB0aGUgUkFNRElTSyBzaXplIgorI34gbXNnc3RyICIgIHJkZXYgLXIgL2Rldi9mZDAgNjI3ICAgICAgICAgICAgxJHhurd0IGvDrWNoIGPhu6EgUkFNRElTSyAoxJHEqWEgUkFNKSIKKworI34gbXNnaWQgIiAgcmRldiAtdiAvZGV2L2ZkMCAxICAgICAgICAgICAgICBzZXQgdGhlIGJvb3R1cCBWSURFT01PREUiCisjfiBtc2dzdHIgIiAgcmRldiAtdiAvZGV2L2ZkMCAxICAgICAgICAgICAgICDEkeG6t3QgY2jhur8gxJHhu5kgVklERU9NT0RFIChjaOG6vyDEkeG7mSDhuqNuaCDEkeG7mW5nKSBraOG7n2kgxJHhu5luZyIKKworI34gbXNnaWQgIiAgcm9vdGZsYWdzIC4uLiAgICAgICAgICAgICAgICAgICBzYW1lIGFzIHJkZXYgLVIiCisjfiBtc2dzdHIgIiAgcm9vdGZsYWdzIOKApiAgICAgICAgICAgICAgICAgICAgIGdp4buRbmcgbmjGsCByZGV2IC1SIgorCisjfiBtc2dpZCAiICByYW1zaXplIC4uLiAgICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgcmRldiAtciIKKyN+IG1zZ3N0ciAiICByYW1zaXplIOKApiAgICAgICAgICAgICAgICAgICAgICAgZ2nhu5FuZyBuaMawIHJkZXYgLXIiCisKKyN+IG1zZ2lkICIgIHZpZG1vZGUgLi4uICAgICAgICAgICAgICAgICAgICAgc2FtZSBhcyByZGV2IC12IgorI34gbXNnc3RyICIgIHZpZG1vZGUg4oCmICAgICAgICAgICAgICAgICAgICAgICBnaeG7kW5nIG5oxrAgcmRldiAtdiIKKworI34gbXNnaWQgIk5vdGU6IHZpZGVvIG1vZGVzIGFyZTogLTM9QXNrLCAtMj1FeHRlbmRlZCwgLTE9Tm9ybWFsVmdhLCAxPWtleTEsIDI9a2V5MiwuLi4iCisjfiBtc2dzdHIgIkNow7ogw706IGNo4bq/IMSR4buZIOG6o25oIMSR4buZbmcgbMOgOiAtMz1I4buPaSwgLTI9TeG7nyBy4buZbmcsIC0xPVZHQSBjaHXhuqluLCAxPXBow61tMSwgMj1waMOtbTIs4oCmIgorCisjfiBtc2dpZCAiICAgICAgdXNlIC1SIDEgdG8gbW91bnQgcm9vdCByZWFkb25seSwgLVIgMCBmb3IgcmVhZC93cml0ZS4iCisjfiBtc2dzdHIgIiAgICAgIGjDo3kgZMO5bmcg4oCcLVIgMeKAnSDEkeG7gyBn4bqvbiBn4buRYyBjaOG7iS3EkeG7jWMsIOKAnC1SIDDigJ0gxJHhu4MgxJHhu41jL2doaS4iCisKKyN+IG1zZ2lkICJtaXNzaW5nIGNvbW1hIgorI34gbXNnc3RyICJ0aGnhur91IGThuqV1IHBo4bqpeSIKZGlmZiAtLWdpdCBhL3BvL3poX0NOLnBvIGIvcG8vemhfQ04ucG8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzM0NzZhOQotLS0gL2Rldi9udWxsCisrKyBiL3BvL3poX0NOLnBvCkBAIC0wLDAgKzEsMjE3NjEgQEAKKyMgQ2hpbmVzZSBzaW1wbGlmaWVkIHRyYW5zbGF0aW9uIG9mIHV0aWwtbGludXguCisjIENvcHlyaWdodCAoQykgMjAwOC0yMDE2LCB1dGlsLWxpbnV4J3MgYXV0aG9ycy4KKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIHV0aWwtbGludXggcGFja2FnZS4KKyMgUmF5IFdhbmcgPHdhbmdsZWkxMTIzQGdtYWlsLmNvbT4sIDIwMDguCisjIFd5bG1lciBXYW5nIDx3YW50aW5naGFyZEBnbWFpbC5jb20+LCAyMDEyLCAyMDEzLCAyMDE0LCAyMDE1LCAyMDE2LgorbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdXRpbC1saW51eC0yLjI5LXJjMlxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiB1dGlsLWxpbnV4QHZnZXIua2VybmVsLm9yZ1xuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE3LTAyLTIyIDEyOjMyKzAxMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE2LTExLTA3IDA1OjI1LTA1MDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IFd5bG1lciBXYW5nIDx3YW50aW5naGFyZEBnbWFpbC5jb20+XG4iCisiTGFuZ3VhZ2UtVGVhbTogQ2hpbmVzZSAoc2ltcGxpZmllZCkgPGkxOG4temhAZ29vZ2xlZ3JvdXBzLmNvbT5cbiIKKyJMYW5ndWFnZTogemhfQ05cbiIKKyJNSU1FLVZlcnNpb246IDEuMFxuIgorIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgorIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKyJYLUJ1Z3M6IFJlcG9ydCB0cmFuc2xhdGlvbiBlcnJvcnMgdG8gdGhlIExhbmd1YWdlLVRlYW0gYWRkcmVzcy5cbiIKKyJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTE7IHBsdXJhbD0wO1xuIgorIlgtR2VuZXJhdG9yOiBjcm93ZGluLmNvbVxuIgorIlgtQ3Jvd2Rpbi1Qcm9qZWN0OiB1dGlsLWxpbnV4XG4iCisiWC1Dcm93ZGluLUxhbmd1YWdlOiB6aC1DTlxuIgorIlgtQ3Jvd2Rpbi1GaWxlOiB1dGlsLWxpbnV4LTIuMjktcmMyLnpoX0NOLnBvXG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8c3RhcnQ+IDxsZW5ndGg+XG4iCittc2dzdHIgIiAlcyA856OB55uY6K6+5aSHPiA85YiG5Yy65Y+3PiA86LW354K5PiA86ZW/5bqmPlxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxOAorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgZXhpc3RlbmNlIG9mIGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAi6YCa55+l5YaF5qC477yM5a2Y5Zyo5p+Q5Liq5oyH5a6a5YiG5Yy644CCXG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjU2IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyNzYgZGlzay11dGlscy9ibG9ja2Rldi5jOjQyMAorIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ0NiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzQgZGlzay11dGlscy9kZWxwYXJ0LmM6NTcKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjcgZGlzay11dGlscy9mZGlzay5jOjcxOCBkaXNrLXV0aWxzL2ZkaXNrLmM6OTk0CisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozMDEgZGlzay11dGlscy9mZGlzay1saXN0LmM6MzQxCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNjAgZGlzay11dGlscy9mc2NrLmM6MTQ0OAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1NSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTEwCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMzQgZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4OQorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE3MyBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjYxCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzg4IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxOQorIzogZGlzay11dGlscy9ta3N3YXAuYzoyMTUgZGlzay11dGlscy9ta3N3YXAuYzoyNDQgZGlzay11dGlscy9wYXJ0eC5jOjk5NAorIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6NjQ3IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzAzCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc1NyBkaXNrLXV0aWxzL3NmZGlzay5jOjgxNiBkaXNrLXV0aWxzL3NmZGlzay5jOjg4MAorIzogZGlzay11dGlscy9zZmRpc2suYzo5MjEgZGlzay11dGlscy9zZmRpc2suYzo5NTEgZGlzay11dGlscy9zZmRpc2suYzo5ODgKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUzNyBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjYwIGxpYmZkaXNrL3NyYy9ic2QuYzo2NDEKKyM6IGxpYi9wYXRoLmM6NzAgbGliL3BhdGguYzo4MiBsb2dpbi11dGlscy9pc2xvY2FsLmM6ODcgbG9naW4tdXRpbHMvbGFzdC5jOjY3MgorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ0NiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDgzCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM1OQorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODEgbG9naW4tdXRpbHMvdmlwdy5jOjI1OCBsb2dpbi11dGlscy92aXB3LmM6Mjc2CisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDk3IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE4OCBtaXNjLXV0aWxzL21jb29raWUuYzoxMTUKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMDcgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODMgc3lzLXV0aWxzL2RtZXNnLmM6NTIyCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MDAgc3lzLXV0aWxzL2VqZWN0LmM6NzAwIHN5cy11dGlscy9mYWxsb2NhdGUuYzozNzQKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyOCBzeXMtdXRpbHMvZnN0cmltLmM6NzIgc3lzLXV0aWxzL2h3Y2xvY2suYzoyODIKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2Mzggc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTYyCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNTYgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDAxCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MjIgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDY5CisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozODggc3lzLXV0aWxzL25zZW50ZXIuYzoxMjggc3lzLXV0aWxzL3J0Y3dha2UuYzoxMzYKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MjcwIHN5cy11dGlscy9zZXRwcml2LmM6MjMwIHN5cy11dGlscy9zZXRwcml2LmM6NTI5CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1MiBzeXMtdXRpbHMvc3dhcG9uLmM6MzcxIHN5cy11dGlscy9zd2Fwb24uYzo1MTQKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2MyBzeXMtdXRpbHMvdW5zaGFyZS5jOjEwNiBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyMQorIzogc3lzLXV0aWxzL3dkY3RsLmM6MzIxIHN5cy11dGlscy93ZGN0bC5jOjM3NyB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MTgKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEyNyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQyNSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQzMQorIzogdGVybS11dGlscy9zY3JpcHQuYzo0MzMgdGVybS11dGlscy9zY3JpcHQuYzo1MjIKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTk3IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjAwCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozMzEgdGV4dC11dGlscy9jb2xjcnQuYzoyODIgdGV4dC11dGlscy9tb3JlLmM6NTEzCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjE0MSB0ZXh0LXV0aWxzL3RhaWxmLmM6NjggdGV4dC11dGlscy90YWlsZi5jOjEwMAorIzogdGV4dC11dGlscy91bC5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAi5omT5LiN5byAICVzIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1OSBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MCBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzo5OAorbXNnaWQgImludmFsaWQgcGFydGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAi5peg5pWI55qE5YiG5Yy65Y+35Y+C5pWwIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MAorbXNnaWQgImludmFsaWQgc3RhcnQgYXJndW1lbnQiCittc2dzdHIgIuaXoOaViOeahCDotbfngrkg5Y+C5pWwIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MSBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDgKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIKK21zZ3N0ciAi5peg5pWI55qE6ZW/5bqm5Y+C5pWwIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MgorbXNnaWQgImZhaWxlZCB0byBhZGQgcGFydGl0aW9uIgorbXNnc3RyICLmt7vliqDliIbljLrlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo2MworbXNnaWQgInNldCByZWFkLW9ubHkiCittc2dzdHIgIuiuvue9ruWPquivuyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjcwCittc2dpZCAic2V0IHJlYWQtd3JpdGUiCittc2dzdHIgIuiuvue9ruivu+WGmSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjc2Cittc2dpZCAiZ2V0IHJlYWQtb25seSIKK21zZ3N0ciAi6I635b6X5Y+q6K+7IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODIKK21zZ2lkICJnZXQgZGlzY2FyZCB6ZXJvZXMgc3VwcG9ydCBzdGF0dXMiCittc2dzdHIgIuiOt+WPliDlv73nlaXpm7bmlbDmja4g5pSv5oyB54q25oCBIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODgKK21zZ2lkICJnZXQgbG9naWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICLojrflvpfpgLvovpHlnZco5omH5Yy6KeWkp+WwjyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjk0Cittc2dpZCAiZ2V0IHBoeXNpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgIuiOt+W+l+eJqeeQhuWdlyjmiYfljLop5aSn5bCPIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTAwCittc2dpZCAiZ2V0IG1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgIuiOt+W+l+acgOWwjyBJL08g5aSn5bCPIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTA2Cittc2dpZCAiZ2V0IG9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgIuiOt+W+l+acgOS8mCBJL08g5aSn5bCPIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTEyCittc2dpZCAiZ2V0IGFsaWdubWVudCBvZmZzZXQgaW4gYnl0ZXMiCittc2dzdHIgIuiOt+W+l+Wvuem9kOWBj+enu+Wtl+iKguaVsCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExOAorbXNnaWQgImdldCBtYXggc2VjdG9ycyBwZXIgcmVxdWVzdCIKK21zZ3N0ciAi6I635b6X5q+P5qyh6K+35rGC55qE5pyA5aSn5omH5Yy65pWwIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTI0Cittc2dpZCAiZ2V0IGJsb2Nrc2l6ZSIKK21zZ3N0ciAi6I635b6X5Z2X5aSn5bCPIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTMxCittc2dpZCAic2V0IGJsb2Nrc2l6ZSBvbiBmaWxlIGRlc2NyaXB0b3Igb3BlbmluZyB0aGUgYmxvY2sgZGV2aWNlIgorbXNnc3RyICLorr7nva7miZPlvIDor6XlnZforr7lpIfnmoTmlofku7bmj4/ov7DnrKbnmoTlnZflpKflsI8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzcKK21zZ2lkICJnZXQgMzItYml0IHNlY3RvciBjb3VudCAoZGVwcmVjYXRlZCwgdXNlIC0tZ2V0c3opIgorbXNnc3RyICLojrflvpcgMzItYml0IOaJh+WMuuaVsOmHjyjlt7Llup/lvIPvvIzor7fkvb/nlKggLS1nZXRzeikiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNDMKK21zZ2lkICJnZXQgc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAi6I635b6X5a2X6IqC5aSn5bCPIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTUwCittc2dpZCAic2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAi6K6+572uIHJlYWRhaGVhZCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1NgorbXNnaWQgImdldCByZWFkYWhlYWQiCittc2dzdHIgIuiOt+WPliByZWFkYWhlYWQiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjMKK21zZ2lkICJzZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgIuiuvue9riDmlofku7bns7vnu58gcmVhZGFoZWFkIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTY5Cittc2dpZCAiZ2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICLojrflj5Yg5paH5Lu257O757ufIHJlYWRhaGVhZCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3MworbXNnaWQgImZsdXNoIGJ1ZmZlcnMiCittc2dzdHIgIuWIt+aWsOe8k+WtmCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3NworbXNnaWQgInJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIumHjeaWsOivu+WPluWIhuWMuuihqCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICUxJHMgLVZcbiIKKyIgJTEkcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyIgJTEkcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyJcbiIKKyJBdmFpbGFibGUgY29tbWFuZHM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLnlKjms5XvvJpcbiIKKyIgJTEkcyAtVlxuIgorIiAlMSRzIC0tcmVwb3J0IFvorr7lpIddXG4iCisiICUxJHMgWy12fC1xXSDlkb3ku6Qg6K6+5aSHXG4iCisiXG4iCisi5Y+v55So5ZG95Luk5pyJ77yaXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICUtMjVzIGdldCBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnNcbiIKK21zZ3N0ciAiICUtMjVzIOiOt+W+lyA1MTIt5a2X6IqC5omH5Yy655qE5aSn5bCPXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMTEKK21zZ2lkICJjb3VsZCBub3QgZ2V0IGRldmljZSBzaXplIgorbXNnc3RyICLml6Dms5XlpJrlvpforr7lpIflpKflsI8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjb21tYW5kOiAlcyIKK21zZ3N0ciAi5pyq55+l5ZG95LukOiAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXMg6ZyA6KaB5LiA5Liq5Y+C5pWwIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzY4IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZXJyb3Igb24gJXMiCittc2dzdHIgIiVzIGlvY3RsIOWHuumUmSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQuXG4iCittc2dzdHIgIiVzIOWksei0pS5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIiVzIOaIkOWKny5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgc3lzZnMgaGFuZGxlciIKK21zZ3N0ciAiJXPvvJrliJ3lp4vljJYgc3lzZnMg5aSE55CG5Ye95pWw5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gc3RhcnQgZnJvbSBzeXNmcyIKK21zZ3N0ciAiJXPvvJror7vlj5bku44gc3lzZnMg6LW35aeL55qE5YiG5Yy65aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU3RhcnRTZWMgICAgICAgICAgICBTaXplICAgRGV2aWNlXG4iCittc2dzdHIgIlJPICAgIFJBICAgU1NaICAgQlNaICAg5byA5aeL5q61ICAgICAgICAgICAgICDlpKflsI8gICDorr7lpIdcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzkKK21zZ2lkICJCb290YWJsZSIKK21zZ3N0ciAi5Y+v5ZCv5YqoIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3OQorbXNnaWQgIlRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAi5byA5YWz5b2T5YmN5YiG5Yy655qEIOWPr+WQr+WKqCDmoIflv5ciCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgwCittc2dpZCAiRGVsZXRlIgorbXNnc3RyICLliKDpmaQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgwCittc2dpZCAiRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAi5Yig6Zmk5b2T5YmN5YiG5Yy6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MQorbXNnaWQgIk5ldyIKK21zZ3N0ciAi5paw5bu6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MQorbXNnaWQgIkNyZWF0ZSBuZXcgcGFydGl0aW9uIGZyb20gZnJlZSBzcGFjZSIKK21zZ3N0ciAi5Zyo5Ymp5L2Z56m66Ze05LiK5Yib5bu65paw5YiG5Yy6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MgorbXNnaWQgIlF1aXQiCittc2dzdHIgIumAgOWHuiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODIKK21zZ2lkICJRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIGNoYW5nZXMiCittc2dzdHIgIumAgOWHuueoi+W6j+iAjOS4jeWGmeWFpeabtOaUuSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODMgbGliZmRpc2svc3JjL2JzZC5jOjQzOSBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMAorIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDYgbGliZmRpc2svc3JjL2dwdC5jOjI5MTYgbGliZmRpc2svc3JjL3NnaS5jOjExNjAKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE2Cittc2dpZCAiVHlwZSIKK21zZ3N0ciAi57G75Z6LIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MworbXNnaWQgIkNoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIuabtOaUueWIhuWMuuexu+WeiyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQKK21zZ2lkICJIZWxwIgorbXNnc3RyICLluK7liqkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0Cittc2dpZCAiUHJpbnQgaGVscCBzY3JlZW4iCittc2dzdHIgIuaJk+WNsOW4ruWKqeeVjOmdoiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODUKK21zZ2lkICJTb3J0IgorbXNnc3RyICLmjpLluo8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1Cittc2dpZCAiRml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIuS/ruWkjeWIhuWMuumhuuW6jyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJXcml0ZSIKK21zZ3N0ciAi5YaZ5YWlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIldyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSkiCittc2dzdHIgIuWwhuWIhuWMuuihqOWGmeWFpeejgeebmCjlj6/og73mjZ/lnY/mlbDmja4pIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworbXNnaWQgIkR1bXAiCittc2dzdHIgIui9rOWCqCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEdW1wIHBhcnRpdGlvbiB0YWJsZSB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAi5bCG5YiG5Yy66KGo6L2s5YKo5Yiw5LiOIHNmZGlzayDlhbzlrrnnmoTohJrmnKzmlofku7YiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6NjIwIGRpc2stdXRpbHMvZmRpc2suYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVuc3VwcG9ydGVkIGRpYWxvZyB0eXBlICVkIgorbXNnc3RyICLlhoXpg6jplJnor6/vvJrkuI3mlK/mjIHnmoTlr7nor53nsbvlnosgJWQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAobW91bnRlZCkiCittc2dzdHIgIiVzICjlt7LmjILovb0pIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyNzQKK21zZ2lkICJQYXJ0aXRpb24gbmFtZToiCittc2dzdHIgIuWIhuWMuuWQje+8miIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjgxCittc2dpZCAiUGFydGl0aW9uIFVVSUQ6IgorbXNnc3RyICLliIbljLogVVVJRO+8miIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjkzCittc2dpZCAiUGFydGl0aW9uIHR5cGU6IgorbXNnc3RyICLliIbljLrnsbvlnovvvJoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMwMAorbXNnaWQgIkF0dHJpYnV0ZXM6IgorbXNnc3RyICLlsZ7mgKfvvJoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMyNAorbXNnaWQgIkZpbGVzeXN0ZW0gVVVJRDoiCittc2dzdHIgIuaWh+S7tuezu+e7nyBVVUlE77yaIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMzEKK21zZ2lkICJGaWxlc3lzdGVtIExBQkVMOiIKK21zZ3N0ciAi5paH5Lu257O757uf5qCH562+77yaIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMzcKK21zZ2lkICJGaWxlc3lzdGVtOiIKK21zZ3N0ciAi5paH5Lu257O757uf77yaIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNDIKK21zZ2lkICJNb3VudHBvaW50OiIKK21zZ3N0ciAi5oyC6L2954K577yaIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzazogJXMiCittc2dzdHIgIuejgeebmO+8miVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2l6ZTogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIuWwuuWvuO+8miVz77yMJWp1IOWtl+iKgu+8jCVqdSDkuKrmiYfljLoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY5MAorIywgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMsIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICLmoIfnrb7vvJolc++8jOagh+ivhuespu+8miVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE2OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzIgorbXNnc3RyICLmoIfnrb7vvJolcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQ2Cittc2dpZCAiTWF5IGJlIGZvbGxvd2VkIGJ5IE0gZm9yIE1pQiwgRyBmb3IgR2lCLCBUIGZvciBUaUIsIG9yIFMgZm9yIHNlY3RvcnMuIgorbXNnc3RyICLlkI7pnaLlj6/ku6XliqAgTShNaUIpLCBHKEdpQiksIFQoVGlCKSDmiJYgUyjmiYfljLop44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NTIKK21zZ2lkICJQbGVhc2UsIHNwZWNpZnkgc2l6ZS4iCittc2dzdHIgIuivt+aMh+WumuaWh+S7tuWkp+Wwj+OAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODc0CisjLCBjLWZvcm1hdAorbXNnaWQgIk1pbmltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICLmnIDlsI/lsLrlr7jkuLogJWp1IOWtl+iKguOAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgzCisjLCBjLWZvcm1hdAorbXNnaWQgIk1heGltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICLmnIDlpKflsLrlr7jkuLogJWp1IOWtl+iKguOAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODkwCittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNpemUuIgorbXNnc3RyICLop6PmnpDlpKflsI/lpLHotKXjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0OAorbXNnaWQgIlNlbGVjdCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAi6YCJ5oup5YiG5Yy657G75Z6LIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5OTQgZGlzay11dGlscy9jZmRpc2suYzoyMDI0Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZTogIgorbXNnc3RyICLovpPlhaXohJrmnKzmlofku7blkI3vvJoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk5NQorbXNnaWQgIlRoZSBzY3JpcHQgZmlsZSB3aWxsIGJlIGFwcGxpZWQgdG8gaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIuivpeiEmuacrOaWh+S7tuWwhuW6lOeUqOS6juWGheWtmOS4reeahOWIhuWMuuihqOOAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDA0IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA0NgorIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDY1IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAi5omT5LiN5byAICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMDYgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAi6Kej5p6Q6ISa5pys5paH5Lu2ICVzIOWksei0pSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDA4IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2OQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0ICVzIgorbXNnc3RyICLlupTnlKjohJrmnKzmlofku7YgJXMg5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjUKK21zZ2lkICJUaGUgY3VycmVudCBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlIHdpbGwgYmUgZHVtcGVkIHRvIHRoZSBmaWxlLiIKK21zZ3N0ciAi5b2T5YmN55qE5YaF5a2Y5Lit5YiG5Yy66KGo5bCG6L2s5YKo5Yiw6K+l5paH5Lu25Lit44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzMgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDkxCittc2dpZCAiRmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICLliIbphY3ohJrmnKzlpITnkIbnqIvluo/lpLHotKUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzOQorbXNnaWQgIkZhaWxlZCB0byByZWFkIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0LiIKK21zZ3N0ciAi5bCG56OB55uY5biD5bGA6K+75YWl6ISa5pys5Ye66ZSZ44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNTMKK21zZ2lkICJEaXNrIGxheW91dCBzdWNjZXNzZnVsbHkgZHVtcGVkLiIKK21zZ3N0ciAi5oiQ5Yqf6L2s5YKo5LqG56OB55uY5biD5bGA44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNTYgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBzY3JpcHQgJXMiCittc2dzdHIgIuWGmeiEmuacrOaWh+S7tiAlcyDlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA5MgorbXNnaWQgIlNlbGVjdCBsYWJlbCB0eXBlIgorbXNnc3RyICLpgInmi6nmoIfnrb7nsbvlnosiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA5NSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxNworbXNnaWQgIkRldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICLorr7lpIfkuI3ljIXlkKvlj6/or4bliKvnmoTliIbljLrooajjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjEwMQorbXNnaWQgIlNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGxhYmVsIG9yIHByZXNzICdMJyB0byBsb2FkIHNjcmlwdCBmaWxlLiIKK21zZ3N0ciAi6YCJ5oup5LiA56eN57G75Z6L5p2l5Yib5bu65paw5qCH562+77yM5oiW5oyJ4oCcTOKAneWKoOi9veiEmuacrOaWh+S7tuOAgiIKKworIyDku6XkuIvkuInlj6Xov57otK/vvIzkuIDotbfnv7vor5EKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE0NgorbXNnaWQgIlRoaXMgaXMgY2ZkaXNrLCBhIGN1cnNlcy1iYXNlZCBkaXNrIHBhcnRpdGlvbmluZyBwcm9ncmFtLiIKK21zZ3N0ciAi6L+Z5pivIGNmZGlza++8jOS4gOasvuWfuuS6jiBjdXJzZXMg55qE56OB55uY5YiG5Yy656iL5bqP77yMIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDcKK21zZ2lkICJJdCBsZXRzIHlvdSBjcmVhdGUsIGRlbGV0ZSwgYW5kIG1vZGlmeSBwYXJ0aXRpb25zIG9uIGEgYmxvY2sgZGV2aWNlLiIKK21zZ3N0ciAi5Y+v5Lul5Yib5bu644CB5Yig6Zmk5ZKM5L+u5pS55Z2X6K6+5aSH5LiK55qE5YiG5Yy644CCIgorCisjIOS7peS4i+S4pOadoeazqOaEj+Wvuem9kAorIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ5Cittc2dpZCAiQ29tbWFuZCAgICAgIE1lYW5pbmciCittc2dzdHIgIuWRveS7pCAgICAgICAgIOaEj+S5iSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTUwCittc2dpZCAiLS0tLS0tLSAgICAgIC0tLS0tLS0iCittc2dzdHIgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTEKK21zZ2lkICIgIGIgICAgICAgICAgVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGIgICAgICAgICAg5YiH5o2i5b2T5YmN5YiG5Yy655qEIOWPr+WQr+WKqCDmoIflv5ciCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MgorbXNnaWQgIiAgZCAgICAgICAgICBEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGQgICAgICAgICAg5Yig6Zmk5b2T5YmN5YiG5Yy6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTMKK21zZ2lkICIgIGggICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCittc2dzdHIgIiAgaCAgICAgICAgICDmiZPljbDmraTlsY/luZUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NAorbXNnaWQgIiAgbiAgICAgICAgICBDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIiAgbiAgICAgICAgICDku47nqbrpl7Lnqbrpl7TliJvlu7rmlrDliIbljLoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NQorbXNnaWQgIiAgcSAgICAgICAgICBRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICBxICAgICAgICAgIOmAgOWHuueoi+W6j+S9huS4jeWGmeWFpeWIhuWMuuihqCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU2Cittc2dpZCAiICBzICAgICAgICAgIEZpeCBwYXJ0aXRpb25zIG9yZGVyIChvbmx5IHdoZW4gaW4gZGlzYXJyYXkpIgorbXNnc3RyICIgIHMgICAgICAgICAg5L+u5aSN5YiG5Yy66aG65bqPKOS7heejgeebmOmYteWIlykiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NworbXNnaWQgIiAgdCAgICAgICAgICBDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgIHQgICAgICAgICAg5pu05pS55YiG5Yy657G75Z6LIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTgKK21zZ2lkICIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiICB1ICAgICAgICAgIOWwhuejgeebmOW4g+WxgOi9rOWCqOWIsOWFvOWuuSBzZmRpc2sg55qE6ISa5pys5paH5Lu2IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTkKK21zZ2lkICIgIFcgICAgICAgICAgV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHlvdSBtdXN0IGVudGVyIHVwcGVyY2FzZSBXKTsiCittc2dzdHIgIiAgVyAgICAgICAgICDlsIbliIbljLrooajlhpnlhaXno4Hnm5go5b+F6aG76L6T5YWl5aSn5YaZIFcp77ybIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjAKK21zZ2lkICIgICAgICAgICAgICAgICBzaW5jZSB0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSBvbiB0aGUgZGlzaywgeW91IG11c3QgZWl0aGVyIgorbXNnc3RyICIgICAgICAgICAgICAg55Sx5LqO6L+Z5Y+v6IO956C05Z2P56OB55uY5LiK55qE5pWw5o2u77yM5oKo5b+F6aG7IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjEKK21zZ2lkICIgICAgICAgICAgICAgICBjb25maXJtIG9yIGRlbnkgdGhlIHdyaXRlIGJ5IGVudGVyaW5nICd5ZXMnIG9yICdubyciCittc2dzdHIgIiAgICAgICAgICAgICDpgJrov4fovpPlhaXigJx5ZXPigJ3miJbigJxub+KAneadpeehruiupOaIluaLkue7nSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYyCittc2dpZCAiICB4ICAgICAgICAgIERpc3BsYXkvaGlkZSBleHRyYSBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICB4ICAgICAgICAgIOaYvuekui/pmpDol4/liIbljLrnmoTpop3lpJbkv6Hmga8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MworbXNnaWQgIlVwIEFycm93ICAgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgcGFydGl0aW9uIgorbXNnc3RyICLkuIrnrq3lpLQgICAgICAg5YWJ5qCH56e75Yiw5LiK5LiA5YiG5Yy6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjQKK21zZ2lkICJEb3duIEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgcGFydGl0aW9uIgorbXNnc3RyICLkuIvnrq3lpLQgICAgICAg5YWJ5qCH56e75Yiw5LiL5LiA5YiG5Yy6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjUKK21zZ2lkICJMZWZ0IEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIG1lbnUgaXRlbSIKK21zZ3N0ciAi5LiK566t5aS0ICAgICAgIOWFieagh+enu+WIsOS4iuS4gOiPnOWNlemhuSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY2Cittc2dpZCAiUmlnaHQgQXJyb3cgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IG1lbnUgaXRlbSIKK21zZ3N0ciAi5LiL566t5aS0ICAgICAgIOWFieagh+enu+WIsOS4i+S4gOiPnOWNlemhuSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY4Cittc2dpZCAiTm90ZTogQWxsIG9mIHRoZSBjb21tYW5kcyBjYW4gYmUgZW50ZXJlZCB3aXRoIGVpdGhlciB1cHBlciBvciBsb3dlciIKK21zZ3N0ciAi5rOo77ya5omA5pyJ5ZG95Luk5Z2H5Y+v5Lul5aSn5YaZ5oiW5bCP5YaZIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjkKK21zZ2lkICJjYXNlIGxldHRlcnMgKGV4Y2VwdCBmb3IgV3JpdGUpLiIKK21zZ3N0ciAi5a2X5q+N6L6T5YWlKOmZpOS6hiDlhpnlhaUp44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzEKK21zZ2lkICJVc2UgbHNibGsoOCkgb3IgcGFydHgoOCkgdG8gc2VlIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgZGV2aWNlLiIKK21zZ3N0ciAi5L2/55SoIGxzYmxrKDgpIOaIliBwYXJ0eCg4KSDkuobop6PmnInlhbPno4Hnm5jnmoTmm7TlpJrnu4boioLjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3OCBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzcKK21zZ2lkICJQcmVzcyBhIGtleSB0byBjb250aW51ZS4iCittc2dzdHIgIuaMieS4i+S4gOS4qumUrue7p+e7reOAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjYwCittc2dpZCAiQ291bGQgbm90IHRvZ2dsZSB0aGUgZmxhZy4iCittc2dzdHIgIuaXoOazleWIh+aNouagh+W/l+OAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIuaXoOazleWIoOmZpOWIhuWMuiAlenXjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI3MiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBoYXMgYmVlbiBkZWxldGVkLiIKK21zZ3N0ciAi5YiG5Yy6ICV6dSDlt7LliKDpmaTjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI5MworbXNnaWQgIlBhcnRpdGlvbiBzaXplOiAiCittc2dzdHIgIuWIhuWMuuWkp+Wwj++8miIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAi5bey5pu05pS55YiG5Yy6ICV6dSDnmoTnsbvlnovjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgdHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIuWIhuWMuiAlenUg55qE57G75Z6L5pyq5pu05pS544CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNTMgZGlzay11dGlscy9jZmRpc2suYzoyNDY2IGRpc2stdXRpbHMvZmRpc2suYzo5OTEKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU3MAorbXNnaWQgIkRldmljZSBpcyBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIKK21zZ3N0ciAi6K6+5aSH5Lul5Y+q6K+75pa55byP5omT5byA44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNTgKK21zZ2lkICJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gd3JpdGUgdGhlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrPyAiCittc2dzdHIgIuaCqOehruWumuaDs+WwhuWIhuWMuuihqOWGmeWFpeejgeebmOWQl++8nyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzYwCittc2dpZCAiVHlwZSBcInllc1wiIG9yIFwibm9cIiwgb3IgcHJlc3MgRVNDIHRvIGxlYXZlIHRoaXMgZGlhbG9nLiIKK21zZ3N0ciAi6L6T5YWl4oCceWVz4oCd5oiW4oCcbm/igJ3miJbmjIkgRVNDIOWPlua2iOWvueivneahhuOAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzY1IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE1NDAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1NTAKK21zZ2lkICJ5ZXMiCittc2dzdHIgIuaYryIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzY2Cittc2dpZCAiRGlkIG5vdCB3cml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4iCittc2dzdHIgIuacquWwhuWIhuWMuuihqOWGmeWFpeejgeebmOOAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzcxCittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbC4iCittc2dzdHIgIuWGmeejgeebmOagh+etvuWksei0peOAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzc0IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU3OAorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIuWIhuWMuuihqOW3suiwg+aVtOOAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzk3IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ2OAorbXNnaWQgIk5vdGUgdGhhdCBwYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIgbm93LiIKK21zZ3N0ciAi5rOo5oSP77yM546w5Zyo5YiG5Yy66KGo6K6w5b2V5rKh5pyJ5oyJ56OB55uY6aG65bqP44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmU7IGl0IHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICLorr7lpIflt7LljIXlkKvkuIDkuKogJXMg562+5ZCN77yb5YaZ5YWl5ZG95Luk5Lya5bCG5YW256e76Zmk44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDUKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGRpc2tsYWJlbCIKK21zZ3N0ciAi5Yib5bu65paw56OB55uY5qCH562+5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NTMKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb25zIgorbXNnc3RyICLor7vliIbljLrlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJTEkcyBbb3B0aW9uc10gPGRpc2s+XG4iCittc2dzdHIgIiAlMSRzIFvpgInpobldIDzno4Hnm5g+XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0OSBkaXNrLXV0aWxzL2ZkaXNrLmM6NzM2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMAorbXNnaWQgIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSBhIGRpc2sgcGFydGl0aW9uIHRhYmxlLlxuIgorbXNnc3RyICLmmL7npLrmiJbmk43kvZzno4Hnm5jliIbljLrooajjgIJcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTUyCittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz085L2V5pe2Pl0gICAgIOW9qeiJsui+k+WHuihhdXRv6Ieq5Yqo77yMYWx3YXlz5oC75piv5oiWbmV2ZXLku47kuI0pXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU1NQorbXNnaWQgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgc3RhcnQgd2l0aCB6ZXJvZWQgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAteiwgLS16ZXJvICAgICAgICAgICAgICDku6XnqbrliIbljLrooajlvIDlp4tcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTk0IGRpc2stdXRpbHMvZmRpc2suYzo4ODIgZGlzay11dGlscy9zZmRpc2suYzoyMDc3CisjOiBtaXNjLXV0aWxzL2NhbC5jOjM5MCBzeXMtdXRpbHMvZG1lc2cuYzoxMzMzIHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNAorbXNnaWQgInVuc3VwcG9ydGVkIGNvbG9yIG1vZGUiCittc2dzdHIgIuS4jeaUr+aMgeeahOminOiJsuaooeW8jyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjEyIGRpc2stdXRpbHMvZmRpc2suYzo4MTggZGlzay11dGlscy9zZmRpc2suYzoyMjMKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAi5YiG6YWNIGxpYmZkaXNrIOeOr+Wigyhjb250ZXh0KeWksei0pSIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+XG4iCittc2dzdHIgIiAlcyA856OB55uY6K6+5aSHPiA85YiG5Yy65Y+3PlxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxOAorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCB0byBmb3JnZXQgYWJvdXQgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICLpgJrnn6XlhoXmoLjlv5jorrDmn5DkuKrnibnlrprnmoTliIbljLrjgIJcbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6NjEKK21zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlIHBhcnRpdGlvbiIKK21zZ3N0ciAi56e76Zmk5YiG5Yy65aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9ybWF0dGluZyAuLi4gIgorbXNnc3RyICLmraPlnKjmoLzlvI/ljJYgLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjY4IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG9uZVxuIgorbXNnc3RyICLlrozmiJBcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlZlcmlmeWluZyAuLi4gIgorbXNnc3RyICLmraPlnKjpqozor4EgLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEwOAorbXNnaWQgIlJlYWQ6ICIKK21zZ3N0ciAi6K+7OiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJvYmxlbSByZWFkaW5nIHRyYWNrL2hlYWQgJXUvJXUsIGV4cGVjdGVkICVkLCByZWFkICVkXG4iCittc2dzdHIgIuivu+ejgemBky/no4HlpLQgJXUvJXUg5pe25Ye66Zeu6aKYLCDmnJ/mnJsgJWQsIOivu+WPliAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJiYWQgZGF0YSBpbiB0cmFjay9oZWFkICV1LyV1XG4iCisiQ29udGludWluZyAuLi4gIgorbXNnc3RyICIiCisi56OB6YGTL+ejgeWktCAldS8ldSDmnInlnY/mlbDmja5cbiIKKyLlsIbnu6fnu60gLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODIKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTE3IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU2IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODQKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSA86K6+5aSHPlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ4Cittc2dpZCAiRG8gYSBsb3ctbGV2ZWwgZm9ybWF0dGluZyBvZiBhIGZsb3BweSBkaXNrLlxuIgorbXNnc3RyICLlr7nova/nm5jov5vooYzkvY7nuqfmoLzlvI/ljJbjgIJcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MQorbXNnaWQgIiAtZiwgLS1mcm9tIDxOPiAgICBzdGFydCBhdCB0aGUgdHJhY2sgTiAoZGVmYXVsdCAwKVxuIgorbXNnc3RyICIgLWYsIC0tZnJvbSA8Tj4gICAg5LuO56OB6YGTIE4g5byA5aeLKOm7mOiupCAwKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUyCittc2dpZCAiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgYXQgdGhlIHRyYWNrIE5cbiIKK21zZ3N0ciAiIC10LCAtLXRvIDxOPiAgICAgIOWcqOejgemBkyBOIOWBnOatolxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUzCittc2dpZCAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICB0cnkgdG8gcmVwYWlyIHRyYWNrcyBmYWlsZWQgZHVyaW5nXG4iCisiICAgICAgICAgICAgICAgICAgICAgdGhlIHZlcmlmaWNhdGlvbiAobWF4IE4gcmV0cmllcylcbiIKK21zZ3N0ciAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICDlsJ3or5Xkv67lpI3lnKjpqozor4Hml7blpLHotKXnmoTno4HpgZNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAo5pyA5aSa5bCd6K+VIE4g5qyhKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU1Cittc2dpZCAiIC1uLCAtLW5vLXZlcmlmeSAgIGRpc2FibGUgdGhlIHZlcmlmaWNhdGlvbiBhZnRlciB0aGUgZm9ybWF0XG4iCittc2dzdHIgIiAtbiwgLS1uby12ZXJpZnkgICDnpoHmraLmoLzlvI/ljJblkI7nmoTpqozor4FcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5NAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSBmcm9tIgorbXNnc3RyICLml6DmlYjlj4LmlbAgLSBmcm9tIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk4Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHRvIgorbXNnc3RyICLml6DmlYjlj4LmlbAgLSB0byIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIwMQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSByZXBhaXIiCittc2dzdHIgIuaXoOaViOWPguaVsCAtIHJlcGFpciIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyMSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTUxCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg1IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMzgKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4NQorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE2IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQxIGRpc2stdXRpbHMvcGFydHguYzo5MzMKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo2ODYgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzkgbWlzYy11dGlscy9uYW1laS5jOjEzNQorIzogbWlzYy11dGlscy9yZW5hbWUuYzo2MyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4NiBzeXMtdXRpbHMvZG1lc2cuYzo1MjQKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxOTggc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTMxIHN5cy11dGlscy9mc3RyaW0uYzo3NworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjUxOSBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo5MworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTMzIHRlcm0tdXRpbHMvbWVzZy5jOjEyOSB0ZXh0LXV0aWxzL21vcmUuYzo1MDQKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxMDMgdGV4dC11dGlscy90YWlsZi5jOjI4MAorIywgYy1mb3JtYXQKK21zZ2lkICJzdGF0IG9mICVzIGZhaWxlZCIKK21zZ3N0ciAi5a+5ICVzIHN0YXQg5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI0IGRpc2stdXRpbHMvcGFydHguYzo5OTEgbWlzYy11dGlscy9sc2Jsay5jOjE0ODUKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg4IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVz77ya5LiN5piv5LiA5Liq5Z2X6K6+5aSHIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI5Cittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICLkuI3og73noa7lrprlvZPliY3moLzlvI/nsbvlnosiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMtc2lkZWQsICVkIHRyYWNrcywgJWQgc2VjL3RyYWNrLiBUb3RhbCBjYXBhY2l0eSAlZCBrQi5cbiIKK21zZ3N0ciAiJXMt6Z2iLCAlZCDno4HpgZMsICVkIOenki/no4HpgZMuIOaAu+WuuemHjyAlZCBrQi5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMgorbXNnaWQgIkRvdWJsZSIKK21zZ3N0ciAi5Y+M6Z2iIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMyCittc2dpZCAiU2luZ2xlIgorbXNnc3RyICLljZXpnaIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzkKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIueUqOaIt+WumuS5ieeahOi1t+Wni+ejgemBk+i2heWHuuS6huWqkuS9k+eahOacgOWkp+aMh+WumuWAvCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MQorbXNnaWQgInVzZXIgZGVmaW5lZCBlbmQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIueUqOaIt+WumuS5ieeahOe7k+adn+ejgemBk+i2heWHuuS6huWqkuS9k+eahOacgOWkp+aMh+WumuWAvCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MworbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSB1c2VyIGRlZmluZWQgZW5kIHRyYWNrIgorbXNnc3RyICLnlKjmiLflrprkuYnnmoTotbflp4vno4HpgZPotoXov4fkuoblrprkuYnnmoTnu4jmraLno4HpgZMiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNTEgbWlzYy11dGlscy9sb2dnZXIuYzo5ODcKK21zZ2lkICJjbG9zZSBmYWlsZWQiCittc2dzdHIgIuWFs+mXreWksei0pSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk1IGRpc2stdXRpbHMvZmRpc2suYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkRvIHlvdSByZWFsbHkgd2FudCB0byBxdWl0PyAiCittc2dzdHIgIiIKKyJcbiIKKyLmgqjnoa7lrp7opoHpgIDlh7rlkJfvvJ8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0IChkZWZhdWx0ICVjKTogIgorbXNnc3RyICLpgInmi6kgKOm7mOiupCAlYynvvJoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgZGVmYXVsdCByZXNwb25zZSAlYy4iCittc2dzdHIgIuWwhuS9v+eUqOm7mOiupOWbnuW6lCAlY+OAgiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjE3NiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjUwIGRpc2stdXRpbHMvZmRpc2suYzozMjUKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTg5IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjc3Cittc2dpZCAiVmFsdWUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAi5YC86LaF5Ye66IyD5Zu044CCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCVz77yM6buY6K6kICVjKe+8miIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwOCBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglcywg6buY6K6kICAlPFBSSXU2ND4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJWMtJWPvvIzpu5jorqTkuLogJWMp77yaIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjE3IGRpc2stdXRpbHMvZmRpc2suYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Piwg6buY6K6kICU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMpOiAiCittc2dzdHIgIiVzICglYy0lYynvvJoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMjMgZGlzay11dGlscy9mZGlzay5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzozOTIgZGlzay11dGlscy9zZmRpc2suYzoxOTcKK21zZ2lkICIgW1ldZXMvW05dbzogIgorbXNnc3RyICLmmK9bWV0v5ZCmW05d77yaIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDMzCittc2dpZCAiUGFydGl0aW9uIHR5cGUgKHR5cGUgTCB0byBsaXN0IGFsbCB0eXBlcyk6ICIKK21zZ3N0ciAi5YiG5Yy657G75Z6LKOi+k+WFpSBMIOWIl+WHuuaJgOacieexu+WeiynvvJoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0MzQKK21zZ2lkICJIZXggY29kZSAodHlwZSBMIHRvIGxpc3QgYWxsIGNvZGVzKTogIgorbXNnc3RyICJIZXgg5Luj56CBKOi+k+WFpSBMIOWIl+WHuuaJgOacieS7o+eggSnvvJoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1MzYKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIHNldCAoREVQUkVDQVRFRCEpIgorbXNnc3RyICLlt7Lorr7nva4gRE9TIOWFvOWuueaAp+agh+W/lyjlt7Llup/lvIPvvIEpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTM3Cittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBub3Qgc2V0IgorbXNnc3RyICJET1Mg5YW85a655oCn5qCH5b+X5pyq6K6+572uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTU4IGRpc2stdXRpbHMvZmRpc2suYzo1OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBleGlzdCB5ZXQhIgorbXNnc3RyICLliIbljLogJXp1IOi/mOS4jeWtmOWcqO+8gSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU2MyBkaXNrLXV0aWxzL2ZkaXNrLmM6NTcyIGxpYmZkaXNrL3NyYy9hc2suYzo5OTUKK21zZ2lkICJVbmtub3duIgorbXNnc3RyICLmnKrnn6UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAnJXMnIHRvICclcycuIgorbXNnc3RyICLlt7LlsIbliIbljLrigJwlc+KAneeahOexu+Wei+abtOaUueS4uuKAnCVz4oCd44CCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIlR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQ6ICVzLiIKK21zZ3N0ciAi5YiG5Yy6ICV6dSDnmoTnsbvlnovmnKrmm7TmlLnvvJolc+OAgiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlMTVzOiAlcyIKK21zZ3N0ciAiJTE1czogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzOiBvZmZzZXQgPSAlPFBSSXU2ND4sIHNpemUgPSAlenUgYnl0ZXMuIgorbXNnc3RyICIiCisiXG4iCisiJXM6IOWBj+enuyA9ICU8UFJJdTY0Piwg5aSn5bCPID0gJXp1IOWtl+iKguOAgiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY3NworbXNnaWQgImNhbm5vdCBzZWVrIgorbXNnc3RyICLml6Dms5XlrprkvY0iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2ODIKK21zZ2lkICJjYW5ub3QgcmVhZCIKK21zZ3N0ciAi5LiN6IO96K+7IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Njk1IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTkgbGliZmRpc2svc3JjL2Rvcy5jOjkzMworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMTAKK21zZ2lkICJGaXJzdCBzZWN0b3IiCittc2dzdHIgIuesrOS4gOS4quaJh+WMuiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjcyMgorIywgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcyIKK21zZ3N0ciAi5a+5ICVzIOi/m+ihjCBCTEtHRVRTSVpFIGlvY3RsIOWksei0pSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICAgIGNoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyIgJTEkcyBbb3B0aW9uc10gLWwgWzxkaXNrPl0gbGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvpgInpobldIDzno4Hnm5g+ICAgICAgICAg5pu05pS55YiG5Yy66KGoXG4iCisiICUxJHMgW+mAiemhuV0gLWwgWzzno4Hnm5g+XSAgICAg5YiX5Ye65YiG5Yy66KGoXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MzkKK21zZ2lkICIgLWIsIC0tc2VjdG9yLXNpemUgPHNpemU+ICAgICAgcGh5c2ljYWwgYW5kIGxvZ2ljYWwgc2VjdG9yIHNpemVcbiIKK21zZ3N0ciAiIC1iLCAtLXNlY3RvcnMtc2l6ZSA85aSn5bCPPiAgICAg5pi+56S65omH5Yy66K6h5pWw5ZKM5aSn5bCPXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDAKK21zZ2lkICIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAgZG9uJ3QgZXJhc2UgYm9vdGJpdHMgd2hlbiBjcmVhdGluZyBhIG5ldyBsYWJlbFxuIgorbXNnc3RyICIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAg5Yib5bu65paw5qCH562+5pe25LiN6KaB5pOm6ZmkIGJvb3RiaXRzIFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQxCittc2dpZCAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2RlPl0gIG1vZGUgaXMgJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYywgLS1jb21wYXRpYmlsaXR5Wz085qih5byPPl0gIOaooeW8j++8jOS4uuKAnGRvc+KAneaIluKAnG5vbmRvc+KAnSjpu5jorqQpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDIKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9POaXtuacuj5dICAgICAgICAgIOW9qeiJsui+k+WHuihhdXRvLCBhbHdheXMg5oiWIG5ldmVyKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ1Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgcGFydGl0aW9ucyBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAg5pi+56S65YiG5Yy65bm26YCA5Ye6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDYKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA85YiX6KGoPiAgICAgICAgICAg6L6T5Ye65YiXXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDcKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgICAgICAgICAgcmVjb2duaXplIHNwZWNpZmllZCBwYXJ0aXRpb24gdGFibGUgdHlwZSBvbmx5XG4iCittc2dzdHIgIiAtdCwgLS10eXBlIDznsbvlnos+ICAgICAgICAgICAgIOWPquivhuWIq+aMh+WumueahOWIhuWMuuihqOexu+Wei1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ4Cittc2dpZCAiIC11LCAtLXVuaXRzWz08dW5pdD5dICAgICAgICAgIGRpc3BsYXkgdW5pdHM6ICdjeWxpbmRlcnMnIG9yICdzZWN0b3JzJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC11LCAtLXVuaXRzWz085Y2V5L2NPl0gICAgICAgICAg5pi+56S65Y2V5L2N77yM4oCcY3lsaW5kZXJz4oCd5p+x6Z2i5oiW4oCcc2VjdG9yc+KAneaJh+WMuijpu5jorqQpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDkKK21zZ2lkICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgZGlzcGxheSBkZXZpY2Ugc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzIFtERVBSRUNBVEVEXVxuIgorbXNnc3RyICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAg5LulIDUxMi3lrZfoioLmiYfljLrmmL7npLrorr7lpIflpKflsI9b5bey5bqf5byDXVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzUwCittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgICAgICAg5Lul5a2X6IqC5Li65Y2V5L2N6ICM6Z2e5piT6K+755qE5qC85byP5p2l5omT5Y2wIFNJWkVcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1MQorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC13LCAtLXdpcGUgPOaooeW8jz4gICAgICAgICAgICAg5pOm6Zmk562+5ZCNKGF1dG8sIGFsd2F5cyDmiJYgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTIgZGlzay11dGlscy9zZmRpc2suYzoxODUzCittc2dpZCAiIC1XLCAtLXdpcGUtcGFydGl0aW9ucyA8bW9kZT4gIHdpcGUgc2lnbmF0dXJlcyBmcm9tIG5ldyBwYXJ0aXRpb25zIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtVywgLS13aXBlLXBhcnRpdGlvbnMgPOaooeW8jz4gIOaTpumZpOaWsOWIhuWMuueahOetvuWQjShhdXRvLCBhbHdheXMg5oiWIG5ldmVyKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU1Cittc2dpZCAiIC1DLCAtLWN5bGluZGVycyA8bnVtYmVyPiAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBjeWxpbmRlcnNcbiIKK21zZ3N0ciAiIC1DLCAtLWN5bGluZGVycyA85pWw5a2XPiAgICAgICAg5oyH5a6a5p+x6Z2i5pWwXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTYKK21zZ2lkICIgLUgsIC0taGVhZHMgPG51bWJlcj4gICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGhlYWRzXG4iCittc2dzdHIgIiAtSCwgLS1oZWFkcyA85pWw5a2XPiAgICAgICAgICAgIOaMh+WumuejgeWktOaVsFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU3Cittc2dpZCAiIC1TLCAtLXNlY3RvcnMgPG51bWJlcj4gICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFja1xuIgorbXNnc3RyICIgLVMsIC0tc2VjdG9ycyA85pWw5a2XPiAgICAgICAgICDmjIflrprmr4/mnaHno4HpgZPnmoTmiYfljLrmlbBcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOAorbXNnaWQgImludmFsaWQgc2VjdG9yIHNpemUgYXJndW1lbnQiCittc2dzdHIgIuaXoOaViOeahCDmiYfljLrlpKflsI8g5Y+C5pWwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODQwCittc2dpZCAiaW52YWxpZCBjeWxpbmRlcnMgYXJndW1lbnQiCittc2dzdHIgIuaXoOaViOeahCDmn7HpnaLmlbAg5Y+C5pWwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODUyCittc2dpZCAibm90IGZvdW5kIERPUyBsYWJlbCBkcml2ZXIiCittc2dzdHIgIuacquaJvuWIsCBET1Mg5qCH562+6amx5YqoIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODU4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29tcGF0aWJpbGl0eSBtb2RlICclcyciCittc2dzdHIgIuacquefpeWFvOWuueaooeW8j+KAnCVz4oCdIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODY3Cittc2dpZCAiaW52YWxpZCBoZWFkcyBhcmd1bWVudCIKK21zZ3N0ciAi5peg5pWI55qEIOejgeWktOaVsCDlj4LmlbAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NzMKK21zZ2lkICJpbnZhbGlkIHNlY3RvcnMgYXJndW1lbnQiCittc2dzdHIgIuaXoOaViOeahCDmiYfljLrmlbAg5Y+C5pWwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODk5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2tsYWJlbDogJXMiCittc2dzdHIgIuS4jeaUr+aMgeeahOejgeebmOagh+etvu+8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTE2IGRpc2stdXRpbHMvZmRpc2suYzo5MjEgZGlzay11dGlscy9zZmRpc2suYzoyMDQxCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDYKK21zZ2lkICJ1bnN1cHBvcnRlZCB3aXBlIG1vZGUiCittc2dzdHIgIuS4jeaUr+aMgeeahOaTpumZpOaooeW8jyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkzNAorbXNnaWQgIlRoZSBkZXZpY2UgcHJvcGVydGllcyAoc2VjdG9yIHNpemUgYW5kIGdlb21ldHJ5KSBzaG91bGQgYmUgdXNlZCB3aXRoIG9uZSBzcGVjaWZpZWQgZGV2aWNlIG9ubHkuIgorbXNnc3RyICLorr7lpIflsZ7mgKco5omH5Yy65aSn5bCP5ZKM5Yeg5L2V5bGe5oCnKeWPquiDveeUqOS6juafkOS4quaMh+WumueahOiuvuWkh+OAgiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk4MgorIywgYy1mb3JtYXQKK21zZ2lkICJXZWxjb21lIHRvIGZkaXNrICglcykuIgorbXNnc3RyICLmrKLov47kvb/nlKggZmRpc2sgKCVzKeOAgiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk4NCBkaXNrLXV0aWxzL3NmZGlzay5jOjE1ODgKK21zZ2lkICIiCisiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorIkJlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLlxuIgorbXNnc3RyICIiCisi5pu05pS55bCG5YGc55WZ5Zyo5YaF5a2Y5Lit77yM55u05Yiw5oKo5Yaz5a6a5bCG5pu05pS55YaZ5YWl56OB55uY44CCXG4iCisi5L2/55So5YaZ5YWl5ZG95Luk5YmN6K+35LiJ5oCd44CCXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYxMworIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJXMgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIuiuvuWkhyAlcyDlt7LljIXlkKvkuIDkuKogJXMg562+5ZCN44CCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxMCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NDIgZGlzay11dGlscy9zZmRpc2suYzoxNDg0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjIKK21zZ2lkICJUaGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICLlhpnlhaXlkb3ku6TlsIbnp7vpmaTor6Xnrb7lkI3jgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDEzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyNQorbXNnaWQgIkl0IGlzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSwgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4iCittc2dzdHIgIuW8uueDiOW7uuiuruaCqOS9v+eUqCB3aXBlZnMoOCnmnaXmk6bpmaTor6Xorr7lpIfvvIzku6Xpgb/lhY3mvZzlnKjnmoTlhrLnqoHjgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDIyCittc2dpZCAiQSBoeWJyaWQgR1BUIHdhcyBkZXRlY3RlZC4gWW91IGhhdmUgdG8gc3luYyB0aGUgaHlicmlkIE1CUiBtYW51YWxseSAoZXhwZXJ0IGNvbW1hbmQgJ00nKS4iCittc2dzdHIgIuajgOa1i+WIsOa3t+WQiCBHUFTjgILmgqjpnIDopoHmiYvliqjlkIzmraXmt7flkIggTUJSICjnlKjkuJPlrrblkb3ku6TigJxN4oCdKSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIkRpc2sgJXPvvJolc++8jCVqdSDlrZfoioLvvIwlanUg5Liq5omH5Yy6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo1NAorIywgYy1mb3JtYXQKK21zZ2lkICJHZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycy90cmFjaywgJWxsdSBjeWxpbmRlcnMiCittc2dzdHIgIuWHoOS9leWxnuaAp++8miVkIOS4quejgeWktCwgJWxsdSDkuKrmiYfljLov56OB6YGTLCAlbGx1IOS4quafsemdoiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NTkgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuaXRzOiAlcyBvZiAlZCAqICVsZCA9ICVsZCBieXRlcyIKK21zZ3N0ciAi5Y2V5YWD77yaJXMgLyAlZCAqICVsZCA9ICVsZCDlrZfoioIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY1IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAi5omH5Yy65aSn5bCPKOmAu+i+kS/niannkIYp77yaJWx1IOWtl+iKgiAvICVsdSDlrZfoioIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkkvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIkkvTyDlpKflsI8o5pyA5bCPL+acgOS9synvvJolbHUg5a2X6IqCIC8gJWx1IOWtl+iKgiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25tZW50IG9mZnNldDogJWx1IGJ5dGVzIgorbXNnc3RyICLlr7npvZDlgY/np7vph4/vvJolbHUg5a2X6IqCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgdHlwZTogJXMiCittc2dzdHIgIuejgeebmOagh+etvuexu+Wei++8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICLno4Hnm5jmoIfor4bnrKbvvJolcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTA5IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxOQorIzogZGlzay11dGlscy9mc2NrLmM6MTI0NAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBpdGVyYXRvciIKK21zZ3N0ciAi5YiG6YWN6L+t5Luj5Zmo5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMTUgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI1Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAi5YiG6YWN6L6T5Ye66KGo5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxNTYgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjQ5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBsaW5lIgorbXNnc3RyICLliIbphY3ovpPlh7rooYzlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE4MworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4iCittc2dzdHIgIuWIhuWMuiAlenUg5pyq6LW35aeL5LqO54mp55CG5omH5Yy66L6555WM44CCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxOTIKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuIgorbXNnc3RyICLliIbljLrooajorrDlvZXmsqHmnInmjInno4Hnm5jpobrluo/jgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNSBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMAorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTIgbGliZmRpc2svc3JjL3NnaS5jOjExNTQgbGliZmRpc2svc3JjL3N1bi5jOjExMTAKK21zZ2lkICJTdGFydCIKK21zZ3N0ciAi6LW354K5IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTYgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDEKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTEzIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU1IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTExCittc2dpZCAiRW5kIgorbXNnc3RyICLmnKvlsL4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNyBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMgorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTQgbGliZmRpc2svc3JjL3NnaS5jOjExNTYgbGliZmRpc2svc3JjL3N1bi5jOjExMTIKK21zZ2lkICJTZWN0b3JzIgorbXNnc3RyICLmiYfljLoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOSBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNAorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTUgbGliZmRpc2svc3JjL3NnaS5jOjExNTggbGliZmRpc2svc3JjL3N1bi5jOjExMTQKK21zZ2lkICJTaXplIgorbXNnc3RyICLlpKflsI8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI2NworIywgYy1mb3JtYXQKK21zZ2lkICJVbnBhcnRpdGlvbmVkIHNwYWNlICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAi5pyq5YiG5Yy655qE56m66Ze0ICVz77yaJXPvvIwlanUg5Liq5a2X6IqC77yMJWp1IOS4quaJh+WMuiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC1vKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIuWPr+eUqOWIlyjnlKjkuo4gLW8p77yaXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQ1MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgIiVzIOacquefpeWIlzogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk1Cittc2dpZCAiR2VuZXJpYyIKK21zZ3N0ciAi5bi46KeEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NgorbXNnaWQgImRlbGV0ZSBhIHBhcnRpdGlvbiIKK21zZ3N0ciAi5Yig6Zmk5YiG5Yy6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NworbXNnaWQgImxpc3QgZnJlZSB1bnBhcnRpdGlvbmVkIHNwYWNlIgorbXNnc3RyICLliJflh7rmnKrliIbljLrnmoTnqbrpl7LljLoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk4Cittc2dpZCAibGlzdCBrbm93biBwYXJ0aXRpb24gdHlwZXMiCittc2dzdHIgIuWIl+WHuuW3suefpeWIhuWMuuexu+WeiyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTkKK21zZ2lkICJhZGQgYSBuZXcgcGFydGl0aW9uIgorbXNnc3RyICLmt7vliqDmlrDliIbljLoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMAorbXNnaWQgInByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIuaJk+WNsOWIhuWMuuihqCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAxCittc2dpZCAiY2hhbmdlIGEgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIuabtOaUueWIhuWMuuexu+WeiyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAyCittc2dpZCAidmVyaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIuajgOafpeWIhuWMuuihqCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzCittc2dpZCAicHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIuaJk+WNsOafkOS4quWIhuWMuueahOebuOWFs+S/oeaBryIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICLmiZPljbDorr7lpIfnrKwx5Liq5omH5Yy655qE5Y6f5aeL5pWw5o2uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDYKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGRpc2tsYWJlbCBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgIuaJk+WNsOiuvuWkh+ejgeebmOagh+etvueahOWOn+Wni+aVsOaNriIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA3Cittc2dpZCAiZml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIuS/ruWkjeWIhuWMuumhuuW6jyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA5Cittc2dpZCAiTWlzYyIKK21zZ3N0ciAi5p2C6aG5IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTAKK21zZ2lkICJwcmludCB0aGlzIG1lbnUiCittc2dzdHIgIuaJk+WNsOatpOiPnOWNlSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTExCittc2dpZCAiY2hhbmdlIGRpc3BsYXkvZW50cnkgdW5pdHMiCittc2dzdHIgIuabtOaUuSDmmL7npLov6K6w5b2VIOWNleS9jSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEyCittc2dpZCAiZXh0cmEgZnVuY3Rpb25hbGl0eSAoZXhwZXJ0cyBvbmx5KSIKK21zZ3N0ciAi5pu05aSa5Yqf6IO9KOS7hemZkOS4k+S4muS6uuWRmCkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNAorbXNnaWQgIlNjcmlwdCIKK21zZ3N0ciAi6ISa5pysIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTUKK21zZ2lkICJsb2FkIGRpc2sgbGF5b3V0IGZyb20gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICLku44gc2ZkaXNrIOiEmuacrOaWh+S7tuWKoOi9veejgeebmOW4g+WxgCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE2Cittc2dpZCAiZHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgIuWwhuejgeebmOW4g+WxgOi9rOWCqOS4uiBzZmRpc2sg6ISa5pys5paH5Lu2IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTgKK21zZ2lkICJTYXZlICYgRXhpdCIKK21zZ3N0ciAi5L+d5a2Y5bm26YCA5Ye6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTkKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0IgorbXNnc3RyICLlsIbliIbljLrooajlhpnlhaXno4Hnm5jlubbpgIDlh7oiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMAorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2siCittc2dzdHIgIuWwhuWIhuWMuuihqOWGmeWFpeejgeebmCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIxCittc2dpZCAicXVpdCB3aXRob3V0IHNhdmluZyBjaGFuZ2VzIgorbXNnc3RyICLpgIDlh7rogIzkuI3kv53lrZjmm7TmlLkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMgorbXNnaWQgInJldHVybiB0byBtYWluIG1lbnUiCittc2dzdHIgIui/lOWbnuS4u+iPnOWNlSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTI0Cittc2dpZCAicmV0dXJuIGZyb20gQlNEIHRvIERPUyIKK21zZ3N0ciAi5LuOIEJTRCDlm57liLAgRE9TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzUKK21zZ2lkICJDcmVhdGUgYSBuZXcgbGFiZWwiCittc2dzdHIgIuaWsOW7uuepuuejgeebmOagh+etviIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM2Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IEdQVCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIuaWsOW7uuS4gOS7vSBHUFQg5YiG5Yy66KGoIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzcKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU0dJIChJUklYKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIuaWsOW7uuS4gOS7veepuiBHUFQgKElSSVgpIOWIhuWMuuihqCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM4Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIuaWsOW7uuS4gOS7veeahOepuiBET1Mg5YiG5Yy66KGoIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU3VuIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi5paw5bu65LiA5Lu956m6IFN1biDliIbljLrooagiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0MworbXNnaWQgImNyZWF0ZSBhbiBJUklYIChTR0kpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi5Yib5bu65LiA5Lu9IElSSVgoU0dJKSDliIbljLrooagiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1MgorbXNnaWQgIkdlb21ldHJ5IgorbXNnc3RyICLlh6DkvZXlsZ7mgKciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1MworbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICLmm7TmlLnmn7HpnaLmlbAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NAorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgaGVhZHMiCittc2dzdHIgIuabtOaUueejgeWktOaVsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU1Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrIgorbXNnc3RyICLmm7TmlLnmiYfljLov56OB6YGT5pWwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjQgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTUKK21zZ2lkICJHUFQiCittc2dzdHIgIkdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY1Cittc2dpZCAiY2hhbmdlIGRpc2sgR1VJRCIKK21zZ3N0ciAi5pu05pS556OB55uYIEdVSUQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NgorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAi5pu05pS55YiG5Yy65ZCNIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjcKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIuabtOaUueWIhuWMuiBVVUlEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjgKK21zZ2lkICJjaGFuZ2UgdGFibGUgbGVuZ3RoIgorbXNnc3RyICLmm7TmlLnooajplb/luqYiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OQorbXNnaWQgImVudGVyIHByb3RlY3RpdmUvaHlicmlkIE1CUiIKK21zZ3N0ciAi6L+b5YWlIOS/neaKpC/mt7flkIggTUJSIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzIKK21zZ2lkICJ0b2dnbGUgdGhlIGxlZ2FjeSBCSU9TIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIuW8gOWFs+aXpyBCSU9TIOeahCDlj6/lkK/liqgg5qCH5b+XIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzMKK21zZ2lkICJ0b2dnbGUgdGhlIG5vIGJsb2NrIElPIHByb3RvY29sIGZsYWciCittc2dzdHIgIuW8gOWFsyDkuI3pmLvloZ4gSU8g5Y2P6K6uIOagh+W/lyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc0Cittc2dpZCAidG9nZ2xlIHRoZSByZXF1aXJlZCBwYXJ0aXRpb24gZmxhZyIKK21zZ3N0ciAi5byA5YWzIOW/hemcgOWIhuWMuiDmoIflv5ciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NQorbXNnaWQgInRvZ2dsZSB0aGUgR1VJRCBzcGVjaWZpYyBiaXRzIgorbXNnc3RyICLlvIAv5YWzIEdVSUQg54m55a6a5L2NIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODUKK21zZ2lkICJTdW4iCittc2dzdHIgIlN1biIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg2Cittc2dpZCAidG9nZ2xlIHRoZSByZWFkLW9ubHkgZmxhZyIKK21zZ3N0ciAi5byA5YWzIOWPquivuyDmoIflv5ciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NworbXNnaWQgInRvZ2dsZSB0aGUgbW91bnRhYmxlIGZsYWciCittc2dzdHIgIuW8gOWFsyDlj6/mjILoh7cg5qCH5b+XIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIuabtOaUueWkh+mAieafsemdouaVsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkwCittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBleHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAi5pu05pS55q+P5p+x6Z2i55qE6aKd5aSW5omH5Yy65pWwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTEKK21zZ2lkICJjaGFuZ2UgaW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIuabtOaUueS6pOmUmeezu+aVsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkyCittc2dpZCAiY2hhbmdlIHJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICLmm7TmlLnovazpgJ8o6L2sL+WIhikiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MworbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICLmm7TmlLnniannkIbmn7HpnaLmlbAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwMgorbXNnaWQgIlNHSSIKK21zZ3N0ciAiU0dJIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDMKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICLpgInmi6nlj6/lkK/liqjliIbljLoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNAorbXNnaWQgImVkaXQgYm9vdGZpbGUgZW50cnkiCittc2dzdHIgIue8lui+keWQr+WKqOaWh+S7tuiusOW9lSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA1Cittc2dpZCAic2VsZWN0IHNnaSBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAi6YCJ5oupIHNnaSDkuqTmjaLliIbljLoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNgorbXNnaWQgImNyZWF0ZSBTR0kgaW5mbyIKK21zZ3N0ciAi5Yib5bu6IFNHSSDkv6Hmga8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNQorbXNnaWQgIkRPUyAoTUJSKSIKK21zZ3N0ciAiRE9TIChNQlIpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTYKK21zZ2lkICJ0b2dnbGUgYSBib290YWJsZSBmbGFnIgorbXNnc3RyICLlvIDlhbMg5Y+v5ZCv5YqoIOagh+W/lyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE3Cittc2dpZCAiZWRpdCBuZXN0ZWQgQlNEIGRpc2tsYWJlbCIKK21zZ3N0ciAi57yW6L6R5bWM5aWX55qEIEJTRCDno4Hnm5jmoIfnrb4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxOAorbXNnaWQgInRvZ2dsZSB0aGUgZG9zIGNvbXBhdGliaWxpdHkgZmxhZyIKK21zZ3N0ciAi5byA5YWzIGRvcyDlhbzlrrnmgKfmoIflv5ciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMAorbXNnaWQgIm1vdmUgYmVnaW5uaW5nIG9mIGRhdGEgaW4gYSBwYXJ0aXRpb24iCittc2dzdHIgIuenu+WKqOWIhuWMuuaVsOaNrueahOi1t+Wni+eCuSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIxCittc2dpZCAiY2hhbmdlIHRoZSBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIuabtOaUueejgeebmOagh+ivhuespiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIzCittc2dpZCAicmV0dXJuIGZyb20gcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIHRvIEdQVCIKK21zZ3N0ciAi5LuOIOS/neaKpC/mt7flkIggTUJSIOWbnuWIsCBHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzMworbXNnaWQgIkJTRCIKK21zZ3N0ciAiQlNEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzQKK21zZ2lkICJlZGl0IGRyaXZlIGRhdGEiCittc2dzdHIgIue8lui+kempseWKqOaVsOaNriIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM1Cittc2dpZCAiaW5zdGFsbCBib290c3RyYXAiCittc2dzdHIgIuWuieijheW8leWvvOeoi+W6jyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM2Cittc2dpZCAic2hvdyBjb21wbGV0ZSBkaXNrbGFiZWwiCittc2dzdHIgIuaYvuekuuWujOaVtOejgeebmOagh+etviIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM3Cittc2dpZCAibGluayBCU0QgcGFydGl0aW9uIHRvIG5vbi1CU0QgcGFydGl0aW9uIgorbXNnc3RyICLlsIYgQlNEIOWIhuWMuumTvuaOpeWIsOmdniBCU0Qg5YiG5Yy6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHAgKGV4cGVydCBjb21tYW5kcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLluK7liqkgKOS4k+S4muWRveS7pCnvvJpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzcxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI2NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscDpcbiIKK21zZ3N0ciAiIgorIlxuIgorIuW4ruWKqe+8mlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91J3JlIGVkaXRpbmcgbmVzdGVkICclcycgcGFydGl0aW9uIHRhYmxlLCBwcmltYXJ5IHBhcnRpdGlvbiB0YWJsZSBpcyAnJXMnLiIKK21zZ3N0ciAi5oKo5q2j5Zyo57yW6L6R5bWM5aWX55qE4oCcJXPigJ3liIbljLrooajvvIzkuLvliIbljLrooajkuLrigJwlc+KAneOAgiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDIxCittc2dpZCAiRXhwZXJ0IGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIuS4k+WutuWRveS7pCjovpPlhaUgbSDmmL7npLrluK7liqkp77yaIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjMKK21zZ2lkICJDb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICLlkb3ku6Qo6L6T5YWlIG0g6I635Y+W5biu5YqpKe+8miIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVjOiB1bmtub3duIGNvbW1hbmQiCittc2dzdHIgIiVj77ya5pyq55+l5ZG95LukIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NTggZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg1Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZSIKK21zZ3N0ciAi6L6T5YWl6ISa5pys5paH5Lu25ZCNIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NzEKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IGFwcGxpZWQuIgorbXNnc3RyICLmiJDlip/lupTnlKjkuobohJrmnKzjgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ5NworbXNnaWQgIkZhaWxlZCB0byB0cmFuc2Zvcm0gZGlzayBsYXlvdXQgaW50byBzY3JpcHQiCittc2dzdHIgIuWwhuejgeebmOW4g+WxgOi9rOaNouaIkOiEmuacrOWksei0pSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTExCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBzYXZlZC4iCittc2dzdHIgIuaIkOacrOS/neWtmOS6huiEmuacrOOAgiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTM0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ3NgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIuWIhuWMuiAjJXp1IOWMheWQq+S4gOS4qiAlcyDnrb7lkI3jgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzNyBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlIHNpZ25hdHVyZT8iCittc2dzdHIgIuaCqOaDs+enu+mZpOivpeetvuWQjeWQl++8nyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTc1Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAi5YaZ56OB55uY5qCH562+5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MTMKK21zZ2lkICJGYWlsZWQgdG8gZml4IHBhcnRpdGlvbnMgb3JkZXIuIgorbXNnc3RyICLkv67lpI3liIbljLrpobrluo/lpLHotKXjgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYxNQorbXNnaWQgIlBhcnRpdGlvbnMgb3JkZXIgZml4ZWQuIgorbXNnc3RyICLlt7Lkv67lpI3liIbljLrpobrluo/jgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIuaXoOazleWIoOmZpOWIhuWMuiAlenUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY2MAorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gY3lsaW5kZXJzIChERVBSRUNBVEVEISkuIgorbXNnc3RyICLlsIbmmL7npLov6K6w5b2V5Y2V5L2N5pu05pS55Li65p+x6Z2iKOW3suW6n+W8g++8gSnjgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY2MgorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gc2VjdG9ycy4iCittc2dzdHIgIuWwhuaYvuekui/orrDlvZXljZXkvY3mm7TmlLnkuLrnm7LljLrjgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY3MiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4NDIKK21zZ2lkICJMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuIgorbXNnc3RyICLnprvlvIDltYzlpZfnmoTno4Hnm5jmoIfnrb7jgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjcwOQorbXNnaWQgIk5ldyBtYXhpbXVtIGVudHJpZXMiCittc2dzdHIgIuaWsOeahOacgOWkp+iusOW9leaVsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzE5Cittc2dpZCAiRW50ZXJpbmcgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIGRpc2tsYWJlbC4iCittc2dzdHIgIui/m+WFpSDkv53miqQv5re35ZCIIE1CUiDno4Hnm5jmoIfnrb7jgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjczNQorbXNnaWQgIk5ldyBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIuaWsCBVVUlEICjku6UgOC00LTQtNC0xMiDmoLzlvI8pIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NTAKK21zZ2lkICJOZXcgbmFtZSIKK21zZ3N0ciAi5paw5ZCN56ewIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4MTMKK21zZ2lkICJFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIui/m+WFpeW1jOWll+eahCBCU0Qg56OB55uY5qCH562+44CCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OTgKK21zZ2lkICJOdW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICLmn7HpnaLmlbAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMDIKK21zZ2lkICJOdW1iZXIgb2YgaGVhZHMiCittc2dzdHIgIuejgeWktOaVsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAwNgorbXNnaWQgIk51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICLmiYfljLrmlbAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkXG4iCittc2dzdHIgIiVzIOW3sue7j+aMgui9vVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMg5pyq5oyC6L29XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc0CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTgxIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzUKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNTMgZGlzay11dGlscy9zZmRpc2suYzoyOTcgbGliZmRpc2svc3JjL2JzZC5jOjY0NgorIzogbGliL3BhdGguYzoxMTAgbGliL3BhdGguYzoxMzEgbGliL3BhdGguYzoxNTIgbGliL3BhdGguYzoyMDAKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMTMgbG9naW4tdXRpbHMvbGFzdC5jOjI1MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NjY0CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzOSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MTcgdGVybS11dGlscy9zZXR0ZXJtLmM6Nzc0CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzggdGVybS11dGlscy9zZXR0ZXJtLmM6Nzg1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkICVzIgorbXNnc3RyICLkuI3og73or7sgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMyBsaWIvcGF0aC5jOjEzMyBsaWIvcGF0aC5jOjE1NAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJzZSBlcnJvcjogJXMiCittc2dzdHIgIuino+aekOmUmeivr++8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgJXMiCittc2dzdHIgIuaXoOazleWIm+W7uiAlcyDnm67lvZUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM3MworIywgYy1mb3JtYXQKK21zZ2lkICJMb2NraW5nIGRpc2sgYnkgJXMgLi4uICIKK21zZ3N0ciAi5q2j55SxICVzIOmUgeWumuejgeebmC4uLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgIih3YWl0aW5nKSAiCittc2dzdHIgIijnrYnlvoXkuK0pICIKKworIy4gVFJBTlNMQVRPUlM6IFRoZXNlIGFyZSBmb2xsb3d1cHMgdG8gIkxvY2tpbmcgZGlzay4uLiIuCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTQKK21zZ2lkICJzdWNjZWVkZWQiCittc2dzdHIgIuaIkOWKnyIKKworIzogZGlzay11dGlscy9mc2NrLmM6Mzk0Cittc2dpZCAiZmFpbGVkIgorbXNnc3RyICLlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQxMgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmxvY2tpbmcgJXMuXG4iCittc2dzdHIgIuato+WcqOino+mUgSAlc+OAglxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGRlc2NyaXB0aW9uIGZvciAlcyIKK21zZ3N0ciAi6K6+572uICVzIOaPj+i/sCDlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ3NCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3ODIgbWlzYy11dGlscy9sc2Jsay5jOjQzMworIzogc3lzLXV0aWxzL21vdW50LmM6MTAyIHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6MTkgc3lzLXV0aWxzL3Vtb3VudC5jOjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIC0tIGlnbm9yZWQiCittc2dzdHIgIiVz77ya56ysICVkIOihjOino+aekOWHuumUmSAtLSDlt7Llv73nlaUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjUwNiBkaXNrLXV0aWxzL2ZzY2suYzo1MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSBmc3RhYiIKK21zZ3N0ciAiJXPvvJrop6PmnpAgZnN0YWIg5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2NzkgbG9naW4tdXRpbHMvbG9naW4uYzo5NjggbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMzQKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMDQgc3lzLXV0aWxzL2Zsb2NrLmM6MzQ1IHN5cy11dGlscy9uc2VudGVyLmM6MTUzCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzE2IHN5cy11dGlscy91bnNoYXJlLmM6MjE5IHN5cy11dGlscy91bnNoYXJlLmM6NDIwCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc4MAorbXNnaWQgImZvcmsgZmFpbGVkIgorbXNnc3RyICJmb3JrIOWksei0pSIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRlIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJrmiafooYzlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc3NAorbXNnaWQgIndhaXQ6IG5vIG1vcmUgY2hpbGQgcHJvY2Vzcz8hPyIKK21zZ3N0ciAi562J5b6F77ya5rKh5pyJ5Ymp5L2Z5a2Q6L+b56iL5LqG77yf77yB77yfIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3Nzcgc3lzLXV0aWxzL2Zsb2NrLmM6MzYzIHN5cy11dGlscy9zd2Fwb24uYzozNDgKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDA0IHN5cy11dGlscy91bnNoYXJlLmM6NDI1Cittc2dpZCAid2FpdHBpZCBmYWlsZWQiCittc2dzdHIgIndhaXRwaWQg5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZy4uLiAlcyBmb3IgZGV2aWNlICVzIGV4aXRlZCB3aXRoIHNpZ25hbCAlZC4iCittc2dzdHIgIuitpuWRii4uLiDlr7norr7lpIcgJTIkcyDnmoQgJTEkcyDku6Xkv6Hlj7cgJTMkZCDpgIDlh7rjgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjgwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlczogc3RhdHVzIGlzICV4LCBzaG91bGQgbmV2ZXIgaGFwcGVuLiIKK21zZ3N0ciAiJXMgJXPvvJrnirbmgIHkuLogJXjvvIzov5nkuI3lupTor6Xlj5HnlJ/jgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjg0NworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5pc2hlZCB3aXRoICVzIChleGl0IHN0YXR1cyAlZClcbiIKK21zZ3N0ciAi5LulICVzIOe7k+adnyjpgIDlh7rnirbmgIHkuLogJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjkyNQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciAlZCAoJW0pIHdoaWxlIGV4ZWN1dGluZyBmc2NrLiVzIGZvciAlcyIKK21zZ3N0ciAi5a+5ICUzJHMg5omn6KGMIGZzY2suJTIkcyDml7blh7rnjrDplJnor68gJTEkZCAoJW0pIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5OTEKK21zZ2lkICIiCisiRWl0aGVyIGFsbCBvciBub25lIG9mIHRoZSBmaWxlc3lzdGVtIHR5cGVzIHBhc3NlZCB0byAtdCBtdXN0IGJlIHByZWZpeGVkXG4iCisid2l0aCAnbm8nIG9yICchJy4iCittc2dzdHIgIuS8oOmAkue7mSAtdCDpgInpobnnmoTmlofku7bns7vnu5/nsbvlnovlv4Xpobvlhajpg6gv5YWo5LiN5Lul4oCcbm/igJ3miJbigJwh4oCd5Li65YmN57yA44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBiYWQgbGluZSBpbiAvZXRjL2ZzdGFiOiBiaW5kIG1vdW50IHdpdGggbm9uemVybyBmc2NrIHBhc3MgbnVtYmVyIgorbXNnc3RyICIlc++8muWwhui3s+i/hyAvZXRjL2ZzdGFiIOS4reeahOmUmeivr+ihjO+8mmZzY2sg6YCa6L+H5qyh5pWw6Z2e6Zu255qE57uR5a6a5byP5oyC6L29IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBub25leGlzdGVudCBkZXZpY2VcbiIKK21zZ3N0ciAiJXPvvJrlsIbot7Pov4fkuI3lrZjlnKjnmoTorr7lpIdcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9uZXhpc3RlbnQgZGV2aWNlIChcIm5vZmFpbFwiIGZzdGFiIG9wdGlvbiBtYXkgYmUgdXNlZCB0byBza2lwIHRoaXMgZGV2aWNlKVxuIgorbXNnc3RyICIlc++8muiuvuWkh+S4jeWtmOWcqCjlj6/ku6Xkvb/nlKhmc3RhYiDpgInpobnigJxub2ZhaWzigJ3mnaXot7Pov4fmraTorr7lpIcpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIHVua25vd24gZmlsZXN5c3RlbSB0eXBlXG4iCittc2dzdHIgIiVz77ya6Lez6L+H5pyq55+l55qE5paH5Lu257O757uf57G75Z6LXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoZWNrICVzOiBmc2NrLiVzIG5vdCBmb3VuZCIKK21zZ3N0ciAi5peg5rOV5qOA5p+lICVz77ya5om+5LiN5YiwIGZzY2suJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNTkKK21zZ2lkICJDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLlxuIgorbXNnc3RyICLmraPlnKjmo4Dmn6XmiYDmnInmlofku7bns7vnu5/jgIJcbiIKKworIyBwYXNzIG51bWJlciDmmK9mc3RhYuS4reWumuS5ieeahO+8jOS4jeS4ujDliJnmr4/mrKHmo4DmtYsKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS13YWl0aW5nLS0gKHBhc3MgJWQpXG4iCittc2dzdHIgIi0t562J5b6F5LitLS0gKOesrCAlZCDpgY0pXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAtLSBbZnMtb3B0aW9uc10gWzxmaWxlc3lzdGVtPiAuLi5dXG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSAtLSBb5paH5Lu257O757uf6YCJ6aG5XSBbPOaWh+S7tuezu+e7nz4gLi4uXVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzc5Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIuajgOafpeW5tuS/ruWkjSBMaW51eCDmlofku7bns7vnu5/jgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4MgorbXNnaWQgIiAtQSAgICAgICAgIGNoZWNrIGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLUEgICAgICAgICDmo4Dmn6XmiYDmnInmlofku7bns7vnu59cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4MworbXNnaWQgIiAtQyBbPGZkPl0gIGRpc3BsYXkgcHJvZ3Jlc3MgYmFyOyBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiIC1DIFs8ZmQ+XSAg5pi+56S66L+b5bqm5p2h77yb5paH5Lu25o+P6L+w56ymIGZkIOeUqOS6juWbvuW9oueUqOaIt+eVjOmdolxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg0Cittc2dpZCAiIC1sICAgICAgICAgbG9jayB0aGUgZGV2aWNlIHRvIGd1YXJhbnRlZSBleGNsdXNpdmUgYWNjZXNzXG4iCittc2dzdHIgIiAtbCAgICAgICAgIOmUgeWumuiuvuWkh+S7peehruS/neeLrOWNoOiuv+mXrlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg1Cittc2dpZCAiIC1NICAgICAgICAgZG8gbm90IGNoZWNrIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1NICAgICAgICAg5LiN5qOA5p+l5bey5oyC6Ie355qE5paH5Lu257O757ufXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODYKK21zZ2lkICIgLU4gICAgICAgICBkbyBub3QgZXhlY3V0ZSwganVzdCBzaG93IHdoYXQgd291bGQgYmUgZG9uZVxuIgorbXNnc3RyICIgLU4gICAgICAgICDkuI3miafooYzvvIzlj6rmmL7npLrlsIbmiafooYznmoTmk43kvZxcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NworbXNnaWQgIiAtUCAgICAgICAgIGNoZWNrIGZpbGVzeXN0ZW1zIGluIHBhcmFsbGVsLCBpbmNsdWRpbmcgcm9vdFxuIgorbXNnc3RyICIgLVAgICAgICAgICDlubbooYzmo4Dmn6Xmlofku7bns7vnu5/vvIzljIXmi6wgcm9vdFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg4Cittc2dpZCAiIC1SICAgICAgICAgc2tpcCByb290IGZpbGVzeXN0ZW07IHVzZWZ1bCBvbmx5IHdpdGggJy1BJ1xuIgorbXNnc3RyICIgLVIgICAgICAgICDot7Pov4fmoLnmlofku7bns7vnu5/vvJvlj6rlnKjmjIflrpogJy1BJyDml7bmnInnlKhcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4OQorbXNnaWQgIiIKKyIgLXIgWzxmZD5dICByZXBvcnQgc3RhdGlzdGljcyBmb3IgZWFjaCBkZXZpY2UgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiIgorIiAtciBbPGZkPl0gIOaKpeWRiuWvueavj+S4quW3suajgOafpeiuvuWkh+eahOe7n+iuoe+8m1xuIgorIiAgICAgICAgICAgIOaWh+S7tuaPj+i/sOespueUqOS6jiBHVUlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MQorbXNnaWQgIiAtcyAgICAgICAgIHNlcmlhbGl6ZSB0aGUgY2hlY2tpbmcgb3BlcmF0aW9uc1xuIgorbXNnc3RyICIgLXMgICAgICAgICDkuLLooYzljJbmo4Dmn6Xmk43kvZxcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MgorbXNnaWQgIiAtVCAgICAgICAgIGRvIG5vdCBzaG93IHRoZSB0aXRsZSBvbiBzdGFydHVwXG4iCittc2dzdHIgIiAtVCAgICAgICAgIOWQr+WKqOaXtuS4jeaYvuekuuagh+mimFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkzCittc2dpZCAiIgorIiAtdCA8dHlwZT4gIHNwZWNpZnkgZmlsZXN5c3RlbSB0eXBlcyB0byBiZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIDx0eXBlPiBpcyBhbGxvd2VkIHRvIGJlIGEgY29tbWEtc2VwYXJhdGVkIGxpc3RcbiIKK21zZ3N0ciAiIgorIiAtdCA857G75Z6LPiAg5oyH5a6a6KaB5qOA5p+l55qE5paH5Lu257O757uf57G75Z6L77ybXG4iCisiICAgICAgICAgICAgIDznsbvlnos+IOWPr+S7peaYr+S7peiLseaWh+mAl+WPt+WIhumalOeahOWIl+ihqFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk1Cittc2dpZCAiIC1WICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC1WICAgICAgICAg6Kej6YeK5q2j5Zyo6L+b6KGM55qE5pON5L2cXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTYKK21zZ2lkICIgLT8gICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLT8gICAgICAgICDmmL7npLrmraTluK7liqnlubbpgIDlh7pcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OQorbXNnaWQgIlNlZSB0aGUgc3BlY2lmaWMgZnNjay4qIGNvbW1hbmRzIGZvciBhdmFpbGFibGUgZnMtb3B0aW9ucy4iCittc2dzdHIgIuWPguingeeJueWumueahCBmc2NrLiog5ZG95Luk5LqG6Kej5Y+v55So55qE5paH5Lu257O757uf6YCJ6aG544CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDM4Cittc2dpZCAidG9vIG1hbnkgZGV2aWNlcyIKK21zZ3N0ciAi6K6+5aSH6L+H5aSaIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDUwCittc2dpZCAiSXMgL3Byb2MgbW91bnRlZD8iCittc2dzdHIgIi9wcm9jIOaMgui9veS6huWQl++8nyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ1OAorIywgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHJvb3QgdG8gc2NhbiBmb3IgbWF0Y2hpbmcgZmlsZXN5c3RlbXM6ICVzIgorbXNnc3RyICLlv4Xpobvku6Ugcm9vdCDnlKjmiLfov5vooYzljLnphY3mlofku7bns7vnu5/miavmj4/vvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBmaW5kIG1hdGNoaW5nIGZpbGVzeXN0ZW06ICVzIgorbXNnc3RyICLmib7kuI3liLDljLnphY3nmoTmlofku7bns7vnu5/vvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ3MCBkaXNrLXV0aWxzL2ZzY2suYzoxNTY1IG1pc2MtdXRpbHMva2lsbC5jOjM2MworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mjc5Cittc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgorbXNnc3RyICLlj4LmlbDov4flpJoiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1MjUgZGlzay11dGlscy9mc2NrLmM6MTUyOAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXIiCittc2dzdHIgIi1yIOeahOWPguaVsOaXoOaViCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU3NgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yOiAlZCIKK21zZ3N0ciAiLXIg55qE5Y+C5pWw5peg5pWI77yaJWQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2MTgKK21zZ2lkICJ0aGUgLWwgb3B0aW9uIGNhbiBiZSB1c2VkIHdpdGggb25lIGRldmljZSBvbmx5IC0tIGlnbm9yZSIKK21zZ3N0ciAiLWwg6YCJ6aG55Y+q6IO955So5LqO5LiA5Liq6K6+5aSHIC0tIOW/veeVpSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPlxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gPOaWh+S7tj5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExNgorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBjb21wcmVzc2VkIFJPTSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLmo4Dmn6Xlubbkv67lpI3ljovnvKnnmoQgUk9NIOaWh+S7tuezu+e7n+OAglxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE5Cittc2dpZCAiIC1hICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAg57qv5YW85a655oCn6YCJ6aG577yM5b+955WlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjAKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIOabtOivpuWwvVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIxCittc2dpZCAiIC15ICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiAteSAgICAgICAgICAgICAgICAgICAgICAg57qv5YW85a655oCn6YCJ6aG577yM5b+955WlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjIKK21zZ2lkICIgLWIsIC0tYmxvY2tzaXplIDxzaXplPiAgIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgZGVmYXVsdHMgdG8gcGFnZSBzaXplXG4iCittc2dzdHIgIiAtYiwgLS1ibG9ja3NpemUgPOWkp+Wwjz4gICDkvb/nlKjmjIflrprnmoTlnZflpKflsI/vvIzpu5jorqTkuLrpobXnmoTlpKflsI9cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMworbXNnaWQgIiAgICAgLS1leHRyYWN0Wz08ZGlyPl0gICAgdGVzdCB1bmNvbXByZXNzaW9uLCBvcHRpb25hbGx5IGV4dHJhY3QgaW50byA8ZGlyPlxuIgorbXNnc3RyICIgICAgIC0tZXh0cmFjdFs9POebruW9lT5dICAgIOa1i+ivleino+WOi++8jOWPr+aMh+Wumuino+WOi+WIsDznm67lvZU+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZmFpbGVkOiB1bmFibGUgdG8gZGV0ZXJtaW5lIGRldmljZSBzaXplOiAlcyIKK21zZ3N0ciAiaW9jdGwg5aSx6LSl77ya5peg5rOV56Gu5a6a6K6+5aSH5aSn5bCP77yaJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGEgYmxvY2sgZGV2aWNlIG9yIGZpbGU6ICVzIgorbXNnc3RyICLkuI3mmK/kuIDkuKrlnZforr7lpIfmiJbmlofku7bvvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3MCBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA2Cittc2dpZCAiZmlsZSBsZW5ndGggdG9vIHNob3J0IgorbXNnc3RyICLmlofku7bplb/luqbov4fnn60iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzkgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzMworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI0OSBsaWJmZGlzay9zcmMvYnNkLmM6NzE4IGxpYmZkaXNrL3NyYy9ic2QuYzo4OTAKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMDggbG9naW4tdXRpbHMvbGFzdC5jOjI0MiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgInNlZWsgb24gJXMgZmFpbGVkIgorbXNnc3RyICLlnKggJXMg5LiK5a6a5L2N5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODcKK21zZ2lkICJzdXBlcmJsb2NrIG1hZ2ljIG5vdCBmb3VuZCIKK21zZ3N0ciAi6LaF57qn5Z2X6a2U5pWwKG1hZ2ljKeacquaJvuWIsCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJjcmFtZnMgZW5kaWFubmVzcyBpcyAlc1xuIgorbXNnc3RyICJjcmFtZnMg5aSn5bCP56uv5Li6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTEKK21zZ2lkICJiaWciCittc2dzdHIgIuWkp+erryIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MQorbXNnaWQgImxpdHRsZSIKK21zZ3N0ciAi5bCP56uvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTk1Cittc2dpZCAidW5zdXBwb3J0ZWQgZmlsZXN5c3RlbSBmZWF0dXJlcyIKK21zZ3N0ciAi5LiN5pSv5oyB55qE5paH5Lu257O757uf54m55oCnIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgInN1cGVyYmxvY2sgc2l6ZSAoJWQpIHRvbyBzbWFsbCIKK21zZ3N0ciAi6LaF57qn5Z2X5bC65a+4KCVkKei/h+WwjyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNAorbXNnaWQgInplcm8gZmlsZSBjb3VudCIKK21zZ3N0ciAi6Zu25paH5Lu26K6h5pWwIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA4Cittc2dpZCAiZmlsZSBleHRlbmRzIHBhc3QgZW5kIG9mIGZpbGVzeXN0ZW0iCittc2dzdHIgIuitpuWRiu+8muaWh+S7tui2hei/h+S6huaWh+S7tuezu+e7n+e7iOeCuSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxMAorbXNnaWQgIm9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICLml6fnmoQgY3JhbWZzIOagvOW8jyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxOQorbXNnaWQgInVuYWJsZSB0byB0ZXN0IENSQzogb2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgIuaXoOazleajgOa1iyBDUkPvvJrml6fnmoQgY3JhbWZzIOagvOW8jyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI3MgorbXNnaWQgImNyYyBlcnJvciIKK21zZ3N0ciAiY3JjIOmUmeivryIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NTQKK21zZ2lkICJzZWVrIGZhaWxlZCIKK21zZ3N0ciAi5a6a5L2N5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzA2Cittc2dpZCAicmVhZCByb21mcyBmYWlsZWQiCittc2dzdHIgIuivu+WPliByb21mcyDlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMzgKK21zZ2lkICJyb290IGlub2RlIGlzIG5vdCBkaXJlY3RvcnkiCittc2dzdHIgIuaguSBpbm9kZSDkuI3mmK/kuIDkuKrnm67lvZUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHJvb3Qgb2Zmc2V0ICglbHUpIgorbXNnc3RyICLplJnor6/nmoTmoLnlgY/np7soJWx1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2MAorbXNnaWQgImRhdGEgYmxvY2sgdG9vIGxhcmdlIgorbXNnc3RyICLmlbDmja7lnZfov4flpKciCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVjb21wcmVzc2lvbiBlcnJvcjogJXMiCittc2dzdHIgIuino+WOi+WHuumUme+8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgaG9sZSBhdCAlbHUgKCV6dSlcbiIKK21zZ3N0ciAiICDkvY3kuo4gJWx1IOeahOepuua0niglenUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTcgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICIgIHVuY29tcHJlc3NpbmcgYmxvY2sgYXQgJWx1IHRvICVsdSAoJWx1KVxuIgorbXNnc3RyICIgIOato+WcqOWwhiAlbHUg5aSE55qE5Z2X6Kej5Y6L5YiwICVsdSAoJWx1KVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1ibG9jayAoJWxkKSBieXRlcyIKK21zZ3N0ciAi6Z2e5Z2XKCVsZCnlrZfoioIgIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1zaXplICglbGQgdnMgJWxkKSBieXRlcyIKK21zZ3N0ciAi5peg5aSn5bCPKCVsZCDvvJogJWxkKeWtl+iKgiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxMyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE2CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwNCBtaXNjLXV0aWxzL3V1aWRkLmM6Mzc1IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODIKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM1IHN5cy11dGlscy9zZXRwcml2LmM6NTU4IHN5cy11dGlscy9zd2Fwb24uYzozODkKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZDogJXMiCittc2dzdHIgIuWGmeWksei0pe+8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI0CisjLCBjLWZvcm1hdAorbXNnaWQgImxjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJsY2hvd24g5aSx6LSl77yaJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAiY2hvd24g5aSx6LSl77yaJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidXRpbWUgZmFpbGVkOiAlcyIKK21zZ3N0ciAidXRpbWUg5aSx6LSl77yaJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgIuebruW9lSBpbm9kZSDlgY/np7vkuLogMO+8jOWkp+Wwj+S4jeS4uiAw77yaJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtkaXIgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWtkaXIg5aSx6LSl77yaJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NzYKK21zZ2lkICJmaWxlbmFtZSBsZW5ndGggaXMgemVybyIKK21zZ3N0ciAi5paH5Lu25ZCN6ZW/5bqm5Li6IDAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NzgKK21zZ2lkICJiYWQgZmlsZW5hbWUgbGVuZ3RoIgorbXNnc3RyICLmlofku7blkI3plb/luqbmnInor68iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0ODQKK21zZ2lkICJiYWQgaW5vZGUgb2Zmc2V0IgorbXNnc3RyICJpbm9kZSDlgY/np7vmnInor68iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0OTkKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZSIKK21zZ3N0ciAi5paH5Lu2IGlub2RlIOWBj+enu+S4uiAw77yM5aSn5bCP5LiN5Li6IDAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MDIKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIHNpemUgYW5kIG5vbi16ZXJvIG9mZnNldCIKK21zZ3N0ciAi5paH5Lu2IGlub2RlIOWkp+Wwj+S4uiAw77yM5YGP56e75LiN5Li6IDAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzEKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIG9mZnNldCIKK21zZ3N0ciAi56ym5Y+36ZO+5o6l5YGP56e75Li6IDAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzMKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIHNpemUiCittc2dzdHIgIuespuWPt+mTvuaOpeWkp+Wwj+S4uiAwIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTQyCisjLCBjLWZvcm1hdAorbXNnaWQgInNpemUgZXJyb3IgaW4gc3ltbGluazogJXMiCittc2dzdHIgIuespuWPt+mTvuaOpeWkp+Wwj+WHuumUme+8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTU2CisjLCBjLWZvcm1hdAorbXNnaWQgInN5bWxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAic3ltbGluayDlpLHotKXvvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU2OQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGZpbGUgaGFzIG5vbi16ZXJvIG9mZnNldDogJXMiCittc2dzdHIgIueJueauiuaWh+S7tueahOWBj+enu+S4jeS4uiAw77yaJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlmbyBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgIkZJRk8g55qE5aSn5bCP5LiN5Li6IDDvvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU4NQorIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICLlpZfmjqXlrZfnmoTlpKflsI/kuI3kuLogMO+8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg4CisjLCBjLWZvcm1hdAorbXNnaWQgImJvZ3VzIG1vZGU6ICVzICglbykiCittc2dzdHIgIuS8qihib2d1cynmqKHlvI/vvJolcyAoJW8pIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1rbm9kIGZhaWxlZDogJXMiCittc2dzdHIgIm1rbm9kIOWksei0pe+8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjI5CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIHN0YXJ0ICglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQgKCV6dSkiCittc2dzdHIgIuebruW9leaVsOaNrui1t+eCuSglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsg6LW354K5ICglenUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIGVuZCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCittc2dzdHIgIuebruW9leaVsOaNrue7iOeCuSAoJWx1KSAhPSDmlofku7bmlbDmja7otbfngrkgKCVsdSkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzcKK21zZ2lkICJpbnZhbGlkIGZpbGUgZGF0YSBvZmZzZXQiCittc2dzdHIgIuaXoOaViOeahOaWh+S7tuaVsOaNruWBj+enuyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY4NCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzI2Cittc2dpZCAiaW52YWxpZCBibG9ja3NpemUgYXJndW1lbnQiCittc2dzdHIgIuaXoOaViOeahCDlnZflpKflsI8g5Y+C5pWwIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBPS1xuIgorbXNnc3RyICIlc++8mk9LXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NAorbXNnaWQgIkNoZWNrIHRoZSBjb25zaXN0ZW5jeSBvZiBhIE1pbml4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIuajgOafpSBNaW5peCDmlofku7bns7vnu5/nmoTkuIDoh7TmgKfjgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg2Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgbGlzdCBhbGwgZmlsZW5hbWVzXG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgIOWIl+WHuuaJgOacieaWh+S7tuWQjVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODcKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICBhdXRvbWF0aWMgcmVwYWlyXG4iCittc2dzdHIgIiAtYSwgLS1hdXRvICAgICAg6Ieq5Yqo5L+u5aSNXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OAorbXNnaWQgIiAtciwgLS1yZXBhaXIgICAgIGludGVyYWN0aXZlIHJlcGFpclxuIgorbXNnc3RyICIgLXIsIC0tcmVwYWlyICAgICDkuqTkupLkv67lpI1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgYmUgdmVyYm9zZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICDor6blsL3mlrnlvI9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkwCittc2dpZCAiIC1zLCAtLXN1cGVyICAgICAgb3V0cHV0IHN1cGVyLWJsb2NrIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAtcywgLS1zdXBlciAgICAgIOi+k+WHuui2hee6p+Wdl+S/oeaBr1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTEKK21zZ2lkICIgLW0sIC0tdW5jbGVhcmVkICBhY3RpdmF0ZSBtb2RlIG5vdCBjbGVhcmVkIHdhcm5pbmdzXG4iCittc2dzdHIgIiAtbSwgLS11bmNsZWFyZWQgIOa/gOa0uyDmqKHlvI/mnKrmuIXpmaQg6K2m5ZGKXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MgorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgIGZvcmNlIGNoZWNrXG4iCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgIOW8uuWItuajgOafpVxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhlc2UgeWVzIG5vIHF1ZXN0aW9ucyB1c2VzIHJwbWF0Y2goKSwgYW5kIHNob3VsZCBiZQorIy4gKiB0cmFuc2xhdGVkLgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICh5L24pPyAiCittc2dzdHIgIiVzICjmmK8v5ZCmKT8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG4veSk/ICIKK21zZ3N0ciAiJXMgKOWQpi/mmK8pPyAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ5XG4iCittc2dzdHIgIuaYr1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiblxuIgorbXNnc3RyICLlkKZcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQuXHQgIgorbXNnc3RyICIlcyDlt7Lnu4/mjILovb0uXHQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4OQorbXNnaWQgIkRvIHlvdSByZWFsbHkgd2FudCB0byBjb250aW51ZSIKK21zZ3N0ciAi5L2g56Gu6K6k6KaB57un57utIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2sgYWJvcnRlZC5cbiIKK21zZ3N0ciAi5qOA5p+l5aSx6LSlLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPCBGSVJTVFpPTkUgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAibnIg5Yy6IDwg5paH5Lu24oCcJXPigJ3kuK3nmoQgRklSU1RaT05F44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPj0gWk9ORVMgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAibnIg5Yy6ID49IOaWh+S7tuKAnCVz4oCd5Lit55qEIEZJUlNUWk9OReOAgiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzI2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0NworbXNnaWQgIlJlbW92ZSBibG9jayIKK21zZ3N0ciAi5Yig6Zmk5Z2XIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogdW5hYmxlIHRvIHNlZWsgdG8gYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIuivu+WPlumUmeivrzog5LiN6IO95Zyo5paH5Lu2ICclcycg5Lit5a6a5L2N5Yiw6K+l5Z2XXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIuivu+WPlumUmeivrzog5paH5Lu2ICclcycg5Lit5pyJ5Z2P5Z2XXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSW50ZXJuYWwgZXJyb3I6IHRyeWluZyB0byB3cml0ZSBiYWQgYmxvY2tcbiIKKyJXcml0ZSByZXF1ZXN0IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorIuWGhemDqOmUmeivrzog6K+V5Zu+5YaZ5Z2P5Z2XXG4iCisi5YaZ6K+35rGC5b+955WlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4NworbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICLlnKggd3JpdGVfYmxvY2sg5Lit5a6a5L2N5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGUgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAi5YaZ5YWl6ZSZ6K+vOiDmlofku7YgJyVzJyDkuK3mnInlnY/lnZdcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTA1Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfc3VwZXJfYmxvY2siCittc2dzdHIgIuWcqCB3cml0ZV9zdXBlcl9ibG9jayDkuK3lrprkvY3lpLHotKUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUwNworbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAi5LiN6IO95YaZ6LaF57qn5Z2XIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjAKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICLkuI3og73lhpkgaW5vZGUgbWFwIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjMKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgem9uZSBtYXAiCittc2dzdHIgIuS4jeiDveWGmSB6b25lIG1hcCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTI2Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAi5LiN6IO95YaZIGlub2RlcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTU4Cittc2dpZCAidW5hYmxlIHRvIGFsbG9jIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKK21zZ3N0ciAi5peg5rOV5Li66LaF57qn5Z2X5YiG6YWN57yT5Yay5Yy6IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjEKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBzdXBlciBibG9jayIKK21zZ3N0ciAi5LiN6IO96K+76LaF57qn5Z2XIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODMKK21zZ2lkICJiYWQgbWFnaWMgbnVtYmVyIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICLotoXnuqflnZfkuK3nmoTprZTmlbDmlbDlrZfmjZ/lnY8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4NQorbXNnaWQgIk9ubHkgMWsgYmxvY2tzL3pvbmVzIHN1cHBvcnRlZCIKK21zZ3N0ciAi5Y+q5pSv5oyBIDFrIOWdly/ljLoiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4NworbXNnaWQgImJhZCBzX25pbm9kZXMgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIui2hee6p+Wdl+S4reacieS4jeato+ehrueahCBzX25pbm9kZXMg5a2X5q61IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODkKK21zZ2lkICJiYWQgc19pbWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAi5LiN5q2j56Gu55qEIHNfaW1hcF9ibG9ja3Mg5Z+f5Zyo6LaF57qn5Z2X5LitIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTEKK21zZ2lkICJiYWQgc19maXJzdGRhdGF6b25lIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICLotoXnuqflnZfkuK3mnInkuI3mraPnoa7nmoQgc19maXJzdGRhdGF6b25lIOWtl+autSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk0Cittc2dpZCAiYmFkIHNfem1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIuS4jeato+ehrueahCBzX3ptYXBfYmxvY2tzIOWfn+WcqOi2hee6p+Wdl+S4rSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjEwCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgbWFwIgorbXNnc3RyICLkuI3og73kuLogaW5vZGUgbWFwIOWIhumFjee8k+WGsuWMuiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjEzCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBtYXAiCittc2dzdHIgIuS4jeiDveS4uiB6b25lIG1hcCDliIbphY3nvJPlhrLljLoiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxNgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKK21zZ3N0ciAi5LiN6IO95Li6IGlub2RlcyDliIbphY3nvJPlhrLljLoiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxOQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIGNvdW50IgorbXNnc3RyICLkuI3og73kuLogaW5vZGUgY291bnQg5YiG6YWN57yT5Yay5Yy6IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjIKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIGNvdW50IgorbXNnc3RyICLkuI3og73kuLogem9uZSBjb3VudCDliIbphY3nvJPlhrLljLoiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyNgorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlIG1hcCIKK21zZ3N0ciAi5LiN6IO96K+7IGlub2RlIG1hcCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjMwCittc2dpZCAiVW5hYmxlIHRvIHJlYWQgem9uZSBtYXAiCittc2dzdHIgIuS4jeiDveivuyB6b25lIG1hcCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM0Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGVzIgorbXNnc3RyICLkuI3og73or7sgaW5vZGVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCittc2dzdHIgIuitpuWRijogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgaW5vZGVzXG4iCittc2dzdHIgIiVsZCDkuKppbm9kZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGJsb2Nrc1xuIgorbXNnc3RyICIlbGQg5Z2XXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3RkYXRhem9uZT0lamQgKCVqZClcbiIKK21zZ3N0ciAi6aaW5Liq5pWw5o2u5Yy6PSVqZCAoJWpkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JWRcbiIKK21zZ3N0ciAi5Yy65aSn5bCPPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0NgorIywgYy1mb3JtYXQKK21zZ2lkICJNYXhzaXplPSV6dVxuIgorbXNnc3RyICLmnIDlpKflsLrlr7g9JXp1XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIHN0YXRlPSVkXG4iCittc2dzdHIgIuaWh+S7tuezu+e7n+eKtuaAgT0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm5hbWVsZW49JXpkXG4iCisiXG4iCittc2dzdHIgIiIKKyLlkI3np7Dplb/luqY9JXpkXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY2NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWQgbWFya2VkIHVudXNlZCwgYnV0IHVzZWQgZm9yIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJJbm9kZSAlZCDmoIforrDkuLrmnKrkvb/nlKgsIOS9hueUqOS6juaWh+S7tiAnJXMnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY2NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MTcKK21zZ2lkICJNYXJrIGluIHVzZSIKK21zZ3N0ciAi5qCH6K6w5Li65bey5L2/55SoIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2ODkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaWxlIGAlcycgaGFzIG1vZGUgJTA1b1xuIgorbXNnc3RyICLmlofku7YgYCVzJyDnmoTmqKHlvI8gJTA1b1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2OTYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IGlub2RlIGNvdW50IHRvbyBiaWcuXG4iCittc2dzdHIgIuitpuWRijogaW5vZGUg6K6h5pWw5aSq5aSnLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NTUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzYzCittc2dpZCAicm9vdCBpbm9kZSBpc24ndCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAi5qC5IGlub2RlIOS4jeaYr+S4gOS4quebruW9lSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzc1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayBoYXMgYmVlbiB1c2VkIGJlZm9yZS4gTm93IGluIGZpbGUgYCVzJy4iCittc2dzdHIgIuWdl+W3sue7j+iiq+S9v+eUqCwg546w5Zyo5Zyo5paH5Lu2IGAlcycg5LitLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzc3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgwOAorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTUyCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTk5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDgKK21zZ2lkICJDbGVhciIKK21zZ3N0ciAi5riF6ZmkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrICVkIGluIGZpbGUgYCVzJyBpcyBtYXJrZWQgbm90IGluIHVzZS4iCittc2dzdHIgIuaWh+S7tuS4reWdlyAlZCBgJXMnIOagh+iusOS4uuayoeacieS9v+eUqC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MjAKK21zZ2lkICJDb3JyZWN0IgorbXNnc3RyICLmraPnoa4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk1OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkaXJlY3RvcnkgJyVzJyBjb250YWlucyBhIGJhZCBpbm9kZSBudW1iZXIgZm9yIGZpbGUgJyUuKnMnLiIKK21zZ3N0ciAi55uu5b2VICclcycg5YyF5ZCr5LqG5LiA5Liq5LiN5q2j56Gu55qEIGlub2RlIG51bWJlciDmlofku7YgJyUuKnMnLiAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk2MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDM1Cittc2dpZCAiIFJlbW92ZSIKK21zZ3N0ciAiIOWIoOmZpCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTc3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdFxuIgorbXNnc3RyICIlczog5LiN5q2j56Gu55qE55uu5b2VOiAnLicg5LiN5piv56ys5LiA5LiqXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk4NiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIgorbXNnc3RyICIlczog5LiN5q2j56Gu55qE55uu5b2VOiAnLicg5LiN5piv56ys5LqM5LiqXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwOTQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTExNworbXNnaWQgImludGVybmFsIGVycm9yIgorbXNnc3RyICLlhoXpg6jplJnor68iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwOTcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogc2l6ZSA8IDMyIgorbXNnc3RyICIlczog5LiN5q2j56Gu55qE55uu5b2VOiDlpKflsI8gPCAzMiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogaW52YWxpZCBpX3pvbmUsIHVzZSAtLXJlcGFpciB0byBmaXhcbiIKK21zZ3N0ciAiJXM6IOebruW9lemUmeivrzogaV96b25lIOaXoOaViO+8jOivt+eUqCAtLXJlcGFpciDkv67lpI1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEzMgorbXNnaWQgInNlZWsgZmFpbGVkIGluIGJhZF96b25lIgorbXNnc3RyICJiYWRfem9uZSDkuK3lrprkvY3lpLHotKUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5OAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbW9kZSBub3QgY2xlYXJlZC4iCittc2dzdHIgIklub2RlICVsdSDmqKHlvI/mnKrmuIXpmaTjgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbm90IHVzZWQsIG1hcmtlZCB1c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICJJbm9kZSAlbHUg5pyq5L2/55So77yM5L2G5Zyo5L2N5Zu+KGJpdG1hcCnkuK3moIforrDkuLrlt7Lkvb/nlKjjgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxMworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgdXNlZCwgbWFya2VkIHVudXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiSW5vZGUgJWx1IOW3suS9v+eUqO+8jOS9huWcqOS9jeWbvihiaXRtYXAp5Lit5qCH6K6w5Li65pyq5L2/55So44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTQKK21zZ2lkICJTZXQiCittc2dzdHIgIuiuvue9riIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE4CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSAobW9kZSA9ICUwN28pLCBpX25saW5rcz0lZCwgY291bnRlZD0lZC4iCittc2dzdHIgIklub2RlICVsdSAo5qih5byPID0gJTA3byksIGlfbmxpbmtzPSVkLCDlt7LorqHmlbA9JWTjgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyMQorbXNnaWQgIlNldCBpX25saW5rcyB0byBjb3VudCIKK21zZ3N0ciAi5bCGIGlfbmxpbmtzIOiuvuS4uuiuoeaVsCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBtYXJrZWQgaW4gdXNlLCBubyBmaWxlIHVzZXMgaXQuIgorbXNnc3RyICIlbHUg5Yy677ya5qCH6K6w5Li65L2/55So77yM5L2G5rKh5pyJ5paH5Lu25L2/55So5a6D44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTc5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzUKK21zZ2lkICJVbm1hcmsiCittc2dzdHIgIua4heagh+iusCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAi5Yy6ICVsde+8muS9v+eUqOS4re+8jOW3suiuoeaVsD0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTg3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAi5Yy6ICVsde+8muacquS9v+eUqO+8jOW3suiuoeaVsD0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjkxCittc2dpZCAiYmFkIGlub2RlIHNpemUiCittc2dzdHIgImlub2RlIOWkp+Wwj+acieivryIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5MworbXNnaWQgImJhZCB2MiBpbm9kZSBzaXplIgorbXNnc3RyICJ2MiBpbm9kZSDlpKflsI/mnInor68iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzMzcKK21zZ2lkICJuZWVkIHRlcm1pbmFsIGZvciBpbnRlcmFjdGl2ZSByZXBhaXJzIgorbXNnc3RyICLpnIDopoHnu4jnq6/mnaXov5vooYzkuqTkupLlvI/kv67lpI0iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICLml6Dms5XmiZPlvIAgJXPvvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBjbGVhbiwgbm8gY2hlY2suXG4iCittc2dzdHIgIiVzIOaYr+W5suWHgOeahO+8jOS4jeajgOafpeOAglxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiAlcy5cbiIKK21zZ3N0ciAi5by65Yi25ZyoICVzIOS4iui/m+ihjOaWh+S7tuezu+e7n+ajgOafpeOAglxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzU3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gb24gJXMgaXMgZGlydHksIG5lZWRzIGNoZWNraW5nLlxuIgorbXNnc3RyICIlcyDkuIrnmoTmlofku7bns7vnu5/mnInpl67popjvvIzpnIDopoHmo4Dmn6XjgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZsZCBpbm9kZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiIKKyJcbiIKKyLlt7Lkvb/nlKggJTZsZCBpbm9kZXMoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTZsZCB6b25lcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAi5bey5L2/55SoICU2bGQg5Yy6KCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmQgcmVndWxhciBmaWxlc1xuIgorIiU2ZCBkaXJlY3Rvcmllc1xuIgorIiU2ZCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGJsb2NrIGRldmljZSBmaWxlc1xuIgorIiU2ZCBsaW5rc1xuIgorIiU2ZCBzeW1ib2xpYyBsaW5rc1xuIgorIi0tLS0tLVxuIgorIiU2ZCBmaWxlc1xuIgorbXNnc3RyICIiCisiXG4iCisiJTZkIOS4quW4uOinhOaWh+S7tlxuIgorIiU2ZCDkuKrnm67lvZVcbiIKKyIlNmQg5Liq5a2X56ym6K6+5aSH5paH5Lu2XG4iCisiJTZkIOS4quWdl+iuvuWkh+aWh+S7tlxuIgorIiU2ZCDkuKrpk77mjqVcbiIKKyIlNmQg5Liq56ym5Y+36ZO+5o6lXG4iCisiLS0tLS0tXG4iCisiJTZkIOS4quaWh+S7tlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDExCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiRklMRSBTWVNURU0gSEFTIEJFRU4gQ0hBTkdFRFxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIi0tLS0tLS0tLS0tLS0tLS1cbiIKKyLmlofku7bns7vnu5/lt7Lnu4/mm7TmlLlcbiIKKyItLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MjMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODMzCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUzOSBkaXNrLXV0aWxzL3BhcnR4LmM6MTAzNSBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTIKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzk4IHN5cy11dGlscy9kbWVzZy5jOjY1OSBzeXMtdXRpbHMvd2RjdGwuYzozNDYKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQxMSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI3MiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjM0OQorIzogdGV4dC11dGlscy9wZy5jOjEyNDgKK21zZ2lkICJ3cml0ZSBmYWlsZWQiCittc2dzdHIgIuWGmeWksei0pSIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtaWdodCBub3QgYmUgYW4gSVNPIGZpbGVzeXN0ZW0iCittc2dzdHIgIiVz77ya5Y+v6IO95LiN5pivIElTTyDmlofku7bns7vnu58iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEzOQorIywgYy1mb3JtYXQKK21zZ2lkICJzZWVrIGVycm9yIG9uICVzIgorbXNnc3RyICIlcyDlrprkvY3lh7rplJkiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE0MgorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkIGVycm9yIG9uICVzIgorbXNnc3RyICIlcyDor7vlh7rplJkiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZWN0b3IgY291bnQ6ICVkLCBzZWN0b3Igc2l6ZTogJWRcbiIKK21zZ3N0ciAi5omH5Yy66K6h5pWw77yaJWTvvIzmiYfljLrlpKflsI/vvJolZFxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8aXNvOTY2MF9pbWFnZV9maWxlPlxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gPGlzbzk2NjDplZzlg4/mlofku7Y+XG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3NAorbXNnaWQgIlNob3cgdGhlIGxlbmd0aCBvZiBhbiBJU08tOTY2MCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLmmL7npLogSVNPLTk2NjAg5paH5Lu257O757uf55qE6ZW/5bqm44CCXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3NworbXNnaWQgIiAtZCwgLS1kaXZpc29yPTxudW1iZXI+ICBkaXZpZGUgdGhlIGFtb3VudCBvZiBieXRlcyBieSA8bnVtYmVyPlxuIgorbXNnc3RyICIgLWQsIC0tZGl2aXNvcj085pWw5a2XPiAgICDlsIblrZfoioLmlbDpmaTku6UgPOaVsOWtlz5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTc4Cittc2dpZCAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHNob3cgc2VjdG9yIGNvdW50IGFuZCBzaXplXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICDmmL7npLrmiYfljLrorqHmlbDlkozlpKflsI9cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MjEwCittc2dpZCAiaW52YWxpZCBkaXZpc29yIGFyZ3VtZW50IgorbXNnc3RyICLml6DmlYjnmoQgZGl2aXNvcijpmaTmlbApIOWPguaVsCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKK21zZ3N0ciAiVXNhZ2U6ICVzIFvpgInpobldIOiuvuWkhyBb5Z2X5pWwXVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzcKK21zZ2lkICJNYWtlIGFuIFNDTyBiZnMgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAi5Yi25L2cIFNDTyBiZnMg5paH5Lu257O757uf44CCXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLU4sIC0taW5vZGVzPU5VTSAgICBzcGVjaWZ5IGRlc2lyZWQgbnVtYmVyIG9mIGlub2Rlc1xuIgorIiAtViwgLS12bmFtZT1OQU1FICAgIHNwZWNpZnkgdm9sdW1lIG5hbWVcbiIKKyIgLUYsIC0tZm5hbWU9TkFNRSAgICBzcGVjaWZ5IGZpbGUgc3lzdGVtIG5hbWVcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorIiAtYyAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKKyIgLWwgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAtViBhcyB2ZXJzaW9uIG11c3QgYmUgb25seSBvcHRpb25cbiIKKyIgLWgsIC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisi6YCJ6aG55pyJ77yaXG4iCisiIC1OLCAtLWlub2Rlcz1OVU0gICAg5oyH5a6a5biM5pyb55qEIGlub2RlcyDmlbDnm65cbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICDmjIflrprljbflkI1cbiIKKyIgLUYsIC0tZm5hbWU9TkFNRSAgICDmjIflrprmlofku7bns7vnu5/lkI1cbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICDop6Pph4rmraPlnKjov5vooYznmoTmk43kvZxcbiIKKyIgLWMgICAgICAgICAgICAgICAgICDmraTpgInpobnlsIbooqvlv73nlaXvvIzkuI3lgZrmj5DnpLpcbiIKKyIgLWwgICAgICAgICAgICAgICAgICDmraTpgInpobnlsIbooqvlv73nlaXvvIzkuI3lgZrmj5DnpLpcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICDovpPlh7rniYjmnKzkv6Hmga/lubbpgIDlh7pcbiIKKyIgICAgICAgICAgICAgICAgICAgICAtViDlpKflhpnku6XnpLrkuI3og73kuI7lhbbku5bpgInpobnlkIjnlKhcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICDmmL7npLrmraTluK7liqnlubbpgIDlh7pcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE0NAorbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAi5peg5pWI55qEIGlub2RlcyDmlbDnm64iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTAKK21zZ2lkICJ2b2x1bWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAi5Y235ZCN6L+H6ZW/IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU3Cittc2dpZCAiZnNuYW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgImZzbmFtZSDlkI3ov4fplb8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTMKK21zZ2lkICJpbnZhbGlkIGJsb2NrLWNvdW50IgorbXNnc3RyICLml6DmlYjnmoTlnZforqHmlbAiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICLml6Dms5XojrflvpcgJXMg55qE5aSn5bCPIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrcyBhcmd1bWVudCB0b28gbGFyZ2UsIG1heCBpcyAlbGx1IgorbXNnc3RyICLlnZflj4LmlbDov4flpKfvvIzmnIDlpKflgLzmmK8gJWxsdSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIxOQorbXNnaWQgInRvbyBtYW55IGlub2RlcyAtIG1heCBpcyA1MTIiCittc2dzdHIgImlub2RlcyDov4flpJogLSDmnIDlpJogNTEyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UsIG5lZWQgYXQgbGVhc3QgJWxsdSBibG9ja3MiCittc2dzdHIgIuepuumXtOS4jei2s++8jOiHs+WwkemcgOimgSAlbGx1IOS4quWdlyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2U6ICVzXG4iCittc2dzdHIgIuiuvuWkh++8miVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVm9sdW1lOiA8JS02cz5cbiIKK21zZ3N0ciAi5Y2377yaPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlNuYW1lOiA8JS02cz5cbiIKK21zZ3N0ciAi5paH5Lu257O757uf5ZCN77yaPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tTaXplOiAlZFxuIgorbXNnc3RyICLlnZflpKflsI/vvJolZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAxIGJsb2NrKVxuIgorbXNnc3RyICJJbm9kZXPvvJolbGQgKOWcqCAxIOS4quWdl+S4rSlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0OQorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gJWxsdSBibG9ja3MpXG4iCittc2dzdHIgIklub2Rlc++8miVsZCAo5ZyoICVsbHUg5Liq5Z2X5LitKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrczogJWxsdVxuIgorbXNnc3RyICLlnZfvvJolbGx1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgZW5kOiAlZCwgRGF0YSBlbmQ6ICVkXG4iCittc2dzdHIgIklub2RlIOe7iOeCue+8miVk77yM5pWw5o2u57uI54K577yaJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NworbXNnaWQgImVycm9yIHdyaXRpbmcgc3VwZXJibG9jayIKK21zZ3N0ciAi5YaZ6LaF57qn5Z2X5Ye66ZSZIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjc4Cittc2dpZCAiZXJyb3Igd3JpdGluZyByb290IGlub2RlIgorbXNnc3RyICLlhpkg5qC5IGlub2RlIOWHuumUmSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4MworbXNnaWQgImVycm9yIHdyaXRpbmcgaW5vZGUiCittc2dzdHIgIuWGmSBpbm9kZSDlh7rplJkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODYKK21zZ2lkICJzZWVrIGVycm9yIgorbXNnc3RyICLlrprkvY3lh7rplJkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTIKK21zZ2lkICJlcnJvciB3cml0aW5nIC4gZW50cnkiCittc2dzdHIgIuWGmSAuIOiusOW9leWHuumUmSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5NgorbXNnaWQgImVycm9yIHdyaXRpbmcgLi4gZW50cnkiCittc2dzdHIgIuWGmSAuLiDorrDlvZXlh7rplJkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2xvc2luZyAlcyIKK21zZ3N0ciAi5YWz6ZetICVzIOWHuumUmSIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXQgPHR5cGU+XSBbZnMtb3B0aW9uc10gPGRldmljZT4gWzxzaXplPl1cbiIKK21zZ3N0ciAiICVzIFvpgInpobldIFstdCA857G75Z6LPl0gW+aWh+S7tuezu+e7n+mAiemhuV0gPOiuvuWkhz4gWzzlpKflsI8+XVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0OAorbXNnaWQgIk1ha2UgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLliJvlu7rkuIDkuKpMaW51eCDmlofku7bns7vnu5/jgIJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC10LCAtLXR5cGU9PHR5cGU+ICBmaWxlc3lzdGVtIHR5cGU7IHdoZW4gdW5zcGVjaWZpZWQsIGV4dDIgaXMgdXNlZFxuIgorbXNnc3RyICIgLXQsIC0tdHlwZT0857G75Z6LPiAg5paH5Lu257O757uf57G75Z6L77yb6Iul5LiN5oyH5a6a77yM5bCG5L2/55SoIGV4dDJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICBmcy1vcHRpb25zICAgICBwYXJhbWV0ZXJzIGZvciB0aGUgcmVhbCBmaWxlc3lzdGVtIGJ1aWxkZXJcbiIKK21zZ3N0ciAiICAgICBmcy1vcHRpb25zICAgICDlrp7pmYXmlofku7bns7vnu5/mnoTlu7rnqIvluo/nmoTlj4LmlbBcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8ZGV2aWNlPiAgICAgICBwYXRoIHRvIHRoZSBkZXZpY2UgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIgICAgIDzorr7lpIc+ICAgICAgICAg6KaB5L2/55So6K6+5aSH55qE6Lev5b6EXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPHNpemU+ICAgICAgICAgbnVtYmVyIG9mIGJsb2NrcyB0byBiZSB1c2VkIG9uIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiICAgICA85aSn5bCPPiAgICAgICAgIOimgeS9v+eUqOiuvuWkh+S4iueahOWdl+aVsFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeWluZyAtViBtb3JlIHRoYW4gb25jZSB3aWxsIGNhdXNlIGEgZHJ5LXJ1blxuIgorbXNnc3RyICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICDop6Pph4rmraPlnKjov5vooYznmoTmk43kvZzvvJtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAg5aSa5qyh5oyH5a6aIC1WIOWwhuWvvOiHtOepuui/kOihjChkcnktcnVuKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcnNpb24gICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQ7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIC1WIGFzIC0tdmVyc2lvbiBtdXN0IGJlIHRoZSBvbmx5IG9wdGlvblxuIgorbXNnc3RyICIiCisiIC1WLCAtLXZlcnNpb24gICAgICDmmL7npLrniYjmnKzkv6Hmga/lubbpgIDlh7pcbiIKKyIgICAgICAgICAgICAgICAgICAgICAg5bCGIC1WIOS9nOS4uiAtLXZlcnNpb24g6YCJ6aG55pe25b+F6aG75piv5oOf5LiA6YCJ6aG5XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAgICAgIOaYvuekuuatpOW4ruWKqeW5tumAgOWHulxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzoxMzkgbGliL2V4ZWNfc2hlbGwuYzo0OSBsb2dpbi11dGlscy9uZXdncnAuYzoyMzMKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY1NyBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5OTIKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwNCBzY2hlZHV0aWxzL2NocnQuYzo1NTgKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjYwIHNjaGVkdXRpbHMvdGFza3NldC5jOjIzOSBzeXMtdXRpbHMvZmxvY2suYzoxMjIKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDMwIHN5cy11dGlscy9wcmxpbWl0LmM6NjQ0IHN5cy11dGlscy9ydGN3YWtlLmM6NTc3CisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjMyNCBzeXMtdXRpbHMvc2V0YXJjaC5jOjQwMyBzeXMtdXRpbHMvc2V0c2lkLmM6MTE1CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzQwIHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI0MiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ2MQorIzogdGVybS11dGlscy9zY3JpcHQuYzo1ODEgdGV4dC11dGlscy9wZy5jOjEzNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGV4ZWN1dGUgJXMiCittc2dzdHIgIuaJp+ihjCAlcyDlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVzYWdlOiAlcyBbLWhdIFstdl0gWy1iIGJsa3NpemVdIFstZSBlZGl0aW9uXSBbLU4gZW5kaWFuXSBbLWkgZmlsZV0gWy1uIG5hbWVdIGRpcm5hbWUgb3V0ZmlsZVxuIgorIiAtaCAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorIiAtdiAgICAgICAgIGJlIHZlcmJvc2VcbiIKKyIgLUUgICAgICAgICBtYWtlIGFsbCB3YXJuaW5ncyBlcnJvcnMgKG5vbi16ZXJvIGV4aXQgc3RhdHVzKVxuIgorIiAtYiBibGtzaXplIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgbXVzdCBlcXVhbCBwYWdlIHNpemVcbiIKKyIgLWUgZWRpdGlvbiBzZXQgZWRpdGlvbiBudW1iZXIgKHBhcnQgb2YgZnNpZClcbiIKKyIgLU4gZW5kaWFuICBzZXQgY3JhbWZzIGVuZGlhbm5lc3MgKGJpZ3xsaXR0bGV8aG9zdCksIGRlZmF1bHQgaG9zdFxuIgorIiAtaSBmaWxlICAgIGluc2VydCBhIGZpbGUgaW1hZ2UgaW50byB0aGUgZmlsZXN5c3RlbSAocmVxdWlyZXMgPj0gMi40LjApXG4iCisiIC1uIG5hbWUgICAgc2V0IG5hbWUgb2YgY3JhbWZzIGZpbGVzeXN0ZW1cbiIKKyIgLXAgICAgICAgICBwYWQgYnkgJWQgYnl0ZXMgZm9yIGJvb3QgY29kZVxuIgorIiAtcyAgICAgICAgIHNvcnQgZGlyZWN0b3J5IGVudHJpZXMgKG9sZCBvcHRpb24sIGlnbm9yZWQpXG4iCisiIC16ICAgICAgICAgbWFrZSBleHBsaWNpdCBob2xlcyAocmVxdWlyZXMgPj0gMi4zLjM5KVxuIgorIiBkaXJuYW1lICAgIHJvb3Qgb2YgdGhlIGZpbGVzeXN0ZW0gdG8gYmUgY29tcHJlc3NlZFxuIgorIiBvdXRmaWxlICAgIG91dHB1dCBmaWxlXG4iCittc2dzdHIgIiIKKyLnlKjms5XvvJolcyBbLWhdIFstdl0gWy1iIOWdl+Wkp+Wwj10gWy1lIOeJiOacrF0gWy1OIOWkp+Wwj+err10gWy1pIOaWh+S7tl0gWy1uIOWQjeensF0g55uu5b2V5ZCNIOi+k+WHuuaWh+S7tlxuIgorIiAtaCAgICAgICAgIOaJk+WNsOatpOW4ruWKqVxuIgorIiAtdiAgICAgICAgIOivpuWwveaooeW8j1xuIgorIiAtRSAgICAgICAgIOWwhuaJgOacieitpuWRiuinhuS4uumUmeivryjpgIDlh7rnirbmgIHnoIHpnZ4gMClcbiIKKyIgLWIg5Z2X5aSn5bCPICDkvb/nlKjmraQg5Z2X5aSn5bCP77yM5b+F6aG75LiO6aG15aSn5bCP55u45ZCMXG4iCisiIC1lIOeJiOacrCAgICDorr7nva7kv67orqLniYjmnKzlj7coZnNpZCDnmoTkuIDpg6jliIYpXG4iCisiIC1OIOWkp+Wwj+erryAg6K6+572uIGNyYW1mcyDlpKflsI/nq68oYmlnfGxpdHRsZXxob3N0Ke+8jOm7mOiupOS4uiBob3N0XG4iCisiIC1pIOaWh+S7tiAgICDlsIbmlofku7bplZzlg4/mj5LlhaXmlofku7bns7vnu58o6KaB5rGCID49IDIuNC4wKVxuIgorIiAtbiDlkI3np7AgICAg6K6+572uY3JhbWZzIOaWh+S7tuezu+e7n+WQjeensFxuIgorIiAtcCAgICAgICAgIOeUqOS6juWQr+WKqOS7o+eggeeahCAlZCDlrZfoioLnmoQgcGFkIOWMulxuIgorIiAtcyAgICAgICAgIOWvueebruW9leiusOW9lei/m+ihjOaOkuW6jyjml6fpgInpobnvvIzkvJrooqvlv73nlaUpXG4iCisiIC16ICAgICAgICAg5Lqn55Sf5pi+5byP56m65rSeICjopoHmsYIgPj0gMi4zLjM5KVxuIgorIiDnm67lvZXlkI0gICAgIOimgeWOi+e8qeeahOaWh+S7tuezu+e7n+eahOagueebruW9lVxuIgorIiDovpPlh7rmlofku7YgICDovpPlh7rmlofku7ZcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICJyZWFkbGluayDlpLHotKXvvJolcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMwOAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBkaXJlY3RvcnkgJXMiCittc2dzdHIgIuaXoOazleivu+ebruW9lSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjQ0MworbXNnaWQgImZpbGVzeXN0ZW0gdG9vIGJpZy4gIEV4aXRpbmcuIgorbXNnc3RyICLmlofku7bns7vnu5/ov4flpKfjgILlsIbpgIDlh7rjgIIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQUlFRUU6IGJsb2NrIFwiY29tcHJlc3NlZFwiIHRvID4gMipibG9ja2xlbmd0aCAoJWxkKVxuIgorbXNnc3RyICJBSUVFRe+8muWdl+W3suKAnOWOi+e8qeKAneWIsCA+IDIq5Z2X6ZW/5bqmKCVsZClcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZCDlrZfoioIpXHQlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjbG9zZSBmaWxlICVzIgorbXNnc3RyICLml6Dms5XlhbPpl63mlofku7YgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MzIKK21zZ2lkICJpbnZhbGlkIGVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICLml6DmlYjnmoTkv67orqLniYjmnKzlj7flj4LmlbAiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgIue7meWumueahOWkp+Wwj+err+aXoOaViOOAguW/hemhu+S4uuKAnGJpZ+KAneOAgeKAnGxpdHRsZeKAneaIluKAnGhvc3TigJ0iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ3Vlc3RpbWF0ZSBvZiByZXF1aXJlZCBzaXplICh1cHBlciBib3VuZCkgaXMgJWxsZE1CLCBidXQgbWF4aW11bSBpbWFnZSBzaXplIGlzICV1TUIuICBXZSBtaWdodCBkaWUgcHJlbWF0dXJlbHkuIgorbXNnc3RyICLorablkYrvvJrkvLDorqHpnIDopoHnmoTlpKflsI8o5LiK6ZmQKeS4uiAlbGxkTULvvIzkvYbmnIDlpKfplZzlg4/lpKflsI/kuLogJXVNQuOAgueoi+W6j+WPr+iDveaPkOWJjee7iOatoihkaWUp44CCIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODMwCittc2dpZCAiUk9NIGltYWdlIG1hcCIKK21zZ3N0ciAiUk9NIOmVnOWDj+aYoOWwhCIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg0MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbmNsdWRpbmc6ICVzXG4iCittc2dzdHIgIuWMheWQq++8miVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlyZWN0b3J5IGRhdGE6ICV6ZCBieXRlc1xuIgorbXNnc3RyICLnm67lvZXmlbDmja7vvJolemQg5a2X6IqCXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXZlcnl0aGluZzogJXpkIGtpbG9ieXRlc1xuIgorbXNnc3RyICLlhajpg6jvvJolemQgS0JcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2MQorIywgYy1mb3JtYXQKK21zZ2lkICJTdXBlciBibG9jazogJXpkIGJ5dGVzXG4iCittc2dzdHIgIui2hee6p+Wdl++8miV6ZCDlrZfoioJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICJDUkM6ICV4XG4iCittc2dzdHIgIkNSQ++8miV4XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSBhbGxvY2F0ZWQgZm9yIFJPTSBpbWFnZSAoJWxsZCBhbGxvY2F0ZWQsICV6dSB1c2VkKSIKK21zZ3N0ciAi5Li6IFJPTSDplZzlg4/liIbphY3nmoTnqbrpl7TkuI3otrMo5bey5YiG6YWNICVsbGTvvIzlt7Lkvb/nlKggJXp1KSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3OQorIywgYy1mb3JtYXQKK21zZ2lkICJST00gaW1hZ2Ugd3JpdGUgZmFpbGVkICglemQgJXpkKSIKK21zZ3N0ciAi5YaZIFJPTSDplZzlg4/lpLHotKUoJXpkICV6ZCkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODIKK21zZ2lkICJST00gaW1hZ2UiCittc2dzdHIgIlJPTSDplZzlg48iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZW5hbWVzIHRydW5jYXRlZCB0byAldSBieXRlcy4iCittc2dzdHIgIuitpuWRiu+8muaWh+S7tuWQjeiiq+aIquefreS4uiAldSDkuKrlrZfoioLjgIIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTMKK21zZ2lkICJ3YXJuaW5nOiBmaWxlcyB3ZXJlIHNraXBwZWQgZHVlIHRvIGVycm9ycy4iCittc2dzdHIgIuitpuWRiu+8mueUseS6jumUmeivr++8jOaWh+S7tuiiq+i3s+i/h+OAgiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlIHNpemVzIHRydW5jYXRlZCB0byAlbHVNQiAobWludXMgMSBieXRlKS4iCittc2dzdHIgIuitpuWRiu+8muaWh+S7tuWkp+Wwj+iiq+aIquefreS4uiAlbHVNQijlh48gMSDlrZfoioIp44CCIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODk5CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHVpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgIuitpuWRiu+8mnVpZCDooqvmiKrnn63kuLogJXUg5L2N44CCKOWPr+iDveacieWuieWFqOmakOaCo+OAgikiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ2lkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAi6K2m5ZGK77yaZ2lkIOiiq+aIquefreS4uiAldSDkvY3jgIIo5Y+v6IO95pyJ5a6J5YWo6ZqQ5oKj44CCKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogZGV2aWNlIG51bWJlcnMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICBUaGlzIGFsbW9zdCBjZXJ0YWlubHkgbWVhbnNcbiIKKyJ0aGF0IHNvbWUgZGV2aWNlIGZpbGVzIHdpbGwgYmUgd3JvbmcuIgorbXNnc3RyICLorablkYrvvJrorr7lpIflj7fooqvmiKrnn63kuLogJXUg5L2N44CC5Yeg5LmO5Y+v5Lul6IKv5a6a5p+Q5Lqb6K6+5aSH5paH5Lu25bCG5Ye66ZSZ44CCIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKK21zZ3N0ciAiICVzIFvpgInpobldIC9kZXYvbmFtZSBb5Z2X5pWwXVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzcKK21zZ2lkICIgLTEgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMVxuIgorbXNnc3RyICIgLTEgICAgICAgICAgICAgICAgICAgICAg5L2/55SoIE1pbml4IOesrCAxIOeJiFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzgKK21zZ2lkICIgLTIsIC12ICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMlxuIgorbXNnc3RyICIgLTIsIC12ICAgICAgICAgICAgICAgICAg5L2/55SoIE1pbml4IOesrCAyIOeJiFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzkKK21zZ2lkICIgLTMgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gM1xuIgorbXNnc3RyICIgLTMgICAgICAgICAgICAgICAgICAgICAg5L2/55SoIE1pbml4IOesrCAzIOeJiFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDAKK21zZ2lkICIgLW4sIC0tbmFtZWxlbmd0aCA8bnVtPiAgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzXG4iCittc2dzdHIgIiAtbiwgLS1uYW1lbGVuZ3RoIDzmlbDlrZc+IOaWh+S7tuWQjeeahOacgOWkp+mVv+W6plxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDEKK21zZ2lkICIgLWksIC0taW5vZGVzIDxudW0+ICAgICAgbnVtYmVyIG9mIGlub2RlcyBmb3IgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC1pLCAtLWlub2RlcyA85pWw5a2XPiAgICAg5paH5Lu257O757uf55qEIGlub2RlIOaVsFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDIKK21zZ2lkICIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgY2hlY2sgdGhlIGRldmljZSBmb3IgYmFkIGJsb2Nrc1xuIgorbXNnc3RyICIgLWMsIC0tY2hlY2sgICAgICAgICAgICAg5qOA5p+l6K6+5aSH5Z2P5Z2XXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MworbXNnaWQgIiAtbCwgLS1iYWRibG9ja3MgPGZpbGU+ICBsaXN0IG9mIGJhZCBibG9ja3MgZnJvbSBmaWxlXG4iCittc2dzdHIgIiAtbCwgLS1iYWRibG9ja3MgPOaWh+S7tj4gIOWIl+WHuuaWh+S7tuS4reeahOWdj+Wdl1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgdG8gYm9vdCBibG9jayBmYWlsZWQgIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAiJXPvvJrlnKggd3JpdGVfdGFibGVzIOS4reWumuS9jeWIsOWQr+WKqOWdl+Wksei0pSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gY2xlYXIgYm9vdCBzZWN0b3IiCittc2dzdHIgIiVz77ya5peg5rOV5riF6Zmk5ZCv5Yqo5omH5Yy6IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAiJXPvvJrlnKggd3JpdGVfdGFibGVzIOS4reWumuS9jeWksei0pSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgIiVz77ya5peg5rOV5YaZ6LaF57qn5Z2XIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIiVz77ya5peg5rOV5YaZIGlub2RlIG1hcCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgem9uZSBtYXAiCittc2dzdHIgIiVz77ya5peg5rOV5YaZIHpvbmUgbWFwIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgIiVz77ya5peg5rOV5YaZIGlub2RlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXPvvJrlnKggd3JpdGVfYmxvY2sg5Lit5a6a5L2N5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXPvvJrlnKggd3JpdGVfYmxvY2sg5Lit5YaZ5YWl5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMjEgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Mjk2CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzozNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBtYW55IGJhZCBibG9ja3MiCittc2dzdHIgIiVz77ya5Z2P5Z2X5aSq5aSaIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBlbm91Z2ggZ29vZCBibG9ja3MiCittc2dzdHIgIiVz77ya5aW95Z2X5LiN5aSfIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkZpcnN0IGRhdGEgYmxvY2sgYXQgJWpkLCB3aGljaCBpcyB0b28gZmFyIChtYXggJWQpLlxuIgorIlRyeSBzcGVjaWZ5aW5nIGZld2VyIGlub2RlcyBieSBwYXNzaW5nIC0taW5vZGVzIDxudW0+IgorbXNnc3RyICIiCisi56ys5LiA5Liq5pWw5o2u5Z2X5L2N5LqOICVqZO+8jOi/h+i/nCjmnIDlpKfkuLogJWQp44CCXG4iCisi6K+35bCd6K+V6YCa6L+H5Lyg6YCSIC0taW5vZGVzIDzmlbDlgLw+IOadpeaMh+WumuabtOWwkeeahCBpbm9kZSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIiVsdSDkuKogaW5vZGVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlbHUgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVsdSDkuKrlnZdcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSV6dVxuIgorbXNnc3RyICLljLrlpKflsI89JXp1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTWF4c2l6ZT0lenVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIuacgOWkp+WwuuWvuD0lenVcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBkdXJpbmcgdGVzdGluZyBvZiBibG9ja3MiCittc2dzdHIgIiVz77ya5Zyo5rWL6K+V5Z2X5pe25a6a5L2N5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VpcmQgdmFsdWVzIGluIGRvX2NoZWNrOiBwcm9iYWJseSBidWdzXG4iCittc2dzdHIgImRvX2NoZWNrIOS4reeahOWAvOW8guW4uO+8muWPr+iDveaciSBidWdcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgIiVz77ya5ZyoIGNoZWNrX2Jsb2NrcyDkuK3lrprkvY3lpLHotKUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGJsb2NrcyBiZWZvcmUgZGF0YS1hcmVhOiBjYW5ub3QgbWFrZSBmcyIKK21zZ3N0ciAiJXPvvJrmlbDmja7ljLrliY3mnInlnY/lnZfvvJrml6Dms5XliJvlu7rmlofku7bns7vnu58iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzOSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgYmFkIGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVkIGJhZCBibG9ja3NcbiIKK21zZ3N0clswXSAiJWQg5Liq5Z2P5Z2XXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgb3BlbiBmaWxlIG9mIGJhZCBibG9ja3MiCittc2dzdHIgIiVzOiDmiZPkuI3lvIDlnY/lnZfmlofku7YiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1MworIywgYy1mb3JtYXQKK21zZ2lkICJiYWRibG9jayBudW1iZXIgaW5wdXQgZXJyb3Igb24gbGluZSAlZFxuIgorbXNnc3RyICLnrKwgJWQg6KGM5Z2P5Z2X5pWw6L6T5YWl6ZSZ6K+vXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgYmFkYmxvY2tzIGZpbGUiCittc2dzdHIgIiVzOiDmiZPkuI3lvIAgYmFkYmxvY2tzIOaWh+S7tiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk0CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIHNpemUgc21hbGxlciB0aGFuIHBoeXNpY2FsIHNlY3RvciBzaXplIG9mICVzIgorbXNnc3RyICLlnZflsLrlr7jmr5QgJXMg55qE54mp55CG5omH5Yy65bC65a+45bCPIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBzaXplIG9mICVzIgorbXNnc3RyICLml6Dms5Xnoa7lrpogJXMg55qE5aSn5bCPIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlcXVlc3RlZCBibG9ja3MgKCVsbHUpIGV4Y2VlZHMgYXZhaWxhYmxlICglbGx1KSBibG9ja3NcbiIKK21zZ3N0ciAiJXPvvJrph43lpI3nmoTlnZcgKCVsbHUpIOi2heWHuuWPr+eUqOeahCAoJWxsdSkg5Z2XXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbnVtYmVyIG9mIGJsb2NrcyB0b28gc21hbGwiCittc2dzdHIgIiVz77ya5Z2X5pWw5aSq5bCPIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MjMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzI5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG5hbWUgbGVuZ3RoOiAlZCIKK21zZ3N0ciAi5LiN5pSv5oyB55qE5ZCN5a2X6ZW/5bqm77yaJWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBtaW5peCBmaWxlIHN5c3RlbSB2ZXJzaW9uOiAlZCIKK21zZ3N0ciAiIOS4jeaUr+aMgeeahCBtaW5peCDmlofku7bns7vnu5/niYjmnKzvvJolZCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzY3Cittc2dpZCAiLXYgaXMgYW1iaWd1b3VzLCB1c2UgJy0yJyBpbnN0ZWFkIgorbXNnc3RyICItdiDlkKvkuYnkuI3muIXvvIzor7fovaznlKjigJwtMuKAnSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Nzc4Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lcyIKK21zZ3N0ciAi6Kej5p6Q5paH5Lu25ZCN5pyA5aSn6ZW/5bqm5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAi6Kej5p6QIGlub2RlIOaVsCDlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgwNgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgYmxvY2tzIgorbXNnc3RyICLop6PmnpDlnZfmlbDlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIGEgZmlsZXN5c3RlbSBoZXJlISIKK21zZ3N0ciAiJXMg5bey5oyC6L2977yb5bCG5LiN5Lya5Zyo5q2k5Yib5bu65paH5Lu257O757uf77yBIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJXUiCittc2dzdHIgIueUqOaIt+aMh+WumueahOmhteWkp+WwjyAldSDmnInor68iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICVkLCBpbnN0ZWFkIG9mIHRoZSBzeXN0ZW0gdmFsdWUgJWQiCittc2dzdHIgIuWwhuS9v+eUqOeUqOaIt+aMh+WumueahOmhteWkp+WwjyAlZCDmnaXlj5bku6Pns7vnu5/lgLwgJWQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTI0Cittc2dpZCAiTGFiZWwgd2FzIHRydW5jYXRlZC4iCittc2dzdHIgIuagh+etvuW3suaIquefreOAgiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbGFiZWwsICIKK21zZ3N0ciAi5peg5qCH562+77yMIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyB1dWlkXG4iCittc2dzdHIgIuaXoCB1dWlkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdIGRldmljZSBbc2l6ZV1cbiIKK21zZ3N0ciAiIgorIlxuIgorIueUqOazlVxuIgorIiAlcyBb6YCJ6aG5XSDorr7lpIcgW+Wkp+Wwj11cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTIKK21zZ2lkICJTZXQgdXAgYSBMaW51eCBzd2FwIGFyZWEuXG4iCittc2dzdHIgIuiuvue9riBMaW51eCDkuqTmjaLljLrjgIJcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1jLCAtLWNoZWNrICAgICAgICAgICAgICAgY2hlY2sgYmFkIGJsb2NrcyBiZWZvcmUgY3JlYXRpbmcgdGhlIHN3YXAgYXJlYVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGFsbG93IHN3YXAgc2l6ZSBhcmVhIGJlIGxhcmdlciB0aGFuIGRldmljZVxuIgorIiAtcCwgLS1wYWdlc2l6ZSBTSVpFICAgICAgIHNwZWNpZnkgcGFnZSBzaXplIGluIGJ5dGVzXG4iCisiIC1MLCAtLWxhYmVsIExBQkVMICAgICAgICAgc3BlY2lmeSBsYWJlbFxuIgorIiAtdiwgLS1zd2FwdmVyc2lvbiBOVU0gICAgIHNwZWNpZnkgc3dhcC1zcGFjZSB2ZXJzaW9uIG51bWJlclxuIgorIiAtVSwgLS11dWlkIFVVSUQgICAgICAgICAgIHNwZWNpZnkgdGhlIHV1aWQgdG8gdXNlXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisi6YCJ6aG577yaXG4iCisiIC1jLCAtLWNoZWNrICAgICAgICAgICAgICAg5Yib5bu65Lqk5o2i5Yy65YmN5qOA5p+l5Z2P5Z2XXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAg5YWB6K645Lqk5o2i5Yy65aSn5LqO6K6+5aSH5aSn5bCPXG4iCisiIC1wLCAtLXBhZ2VzaXplIFNJWkUgICAgICAg5oyH5a6a6aG15aSn5bCP5Li6IFNJWkUg5a2X6IqCXG4iCisiIC1MLCAtLWxhYmVsIExBQkVMICAgICAgICAg5oyH5a6a5qCH562+5Li6IExBQkVMXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAg5oyH5a6a5Lqk5o2i56m66Ze054mI5pys5Y+35Li6IE5VTVxuIgorIiAtVSwgLS11dWlkIFVVSUQgICAgICAgICAgIOaMh+WumuimgeS9v+eUqOeahCBVVUlEXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAg6L6T5Ye654mI5pys5L+h5oGv5bm26YCA5Ye6XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAg5pi+56S65q2k5biu5Yqp5bm26YCA5Ye6XG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGJhZCBwYWdlczogJWx1IgorbXNnc3RyICLlnY/pobXov4flpJrvvJolbHUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTk1Cittc2dpZCAic2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIgorbXNnc3RyICJjaGVja19ibG9ja3MgKOajgOafpeWdlynml7blrprkvY3lpLHotKUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBiYWQgcGFnZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgYmFkIHBhZ2VzXG4iCittc2dzdHJbMF0gIiVsdSDkuKrlnY/pobVcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMjgKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgbmV3IGxpYmJsa2lkIHByb2JlIgorbXNnc3RyICLml6Dms5XliIbphY3mlrDnmoQgbGliYmxraWQg5o6i6ZKIIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIzMAorbXNnaWQgInVuYWJsZSB0byBhc3NpZ24gZGV2aWNlIHRvIGxpYmJsa2lkIHByb2JlIgorbXNnc3RyICLml6Dms5XlsIborr7lpIfliIbphY3nu5kgbGliYmxraWQg5o6i6ZKIIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjaGVja2luZyBiYWQgYmxvY2tzIGZyb20gc3dhcCBmaWxlIGlzIG5vdCBzdXBwb3J0ZWQ6ICVzIgorbXNnc3RyICLorablkYrvvJrkuI3mlK/mjIHmo4Dmn6XkuqTmjaLljLrnmoTlnY/lnZfvvJolcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNjEgZGlzay11dGlscy9ta3N3YXAuYzoyODcgZGlzay11dGlscy9ta3N3YXAuYzozMzQKK21zZ2lkICJ1bmFibGUgdG8gcmV3aW5kIHN3YXAtZGV2aWNlIgorbXNnc3RyICLml6Dms5XlgJLlm54ocmV3aW5kKeS6pOaNouiuvuWkhyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyOTAKK21zZ2lkICJ1bmFibGUgdG8gZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAi5LiN6IO95pOm6ZmkIGJvb3RiaXRzIOaJh+WMuiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IHdpcGluZyBvbGQgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiJXPvvJrorablkYrvvIzlsIbmk6bpmaTml6fnmoQgJXMg562+5ZCN44CCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogZG9uJ3QgZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAiJXPvvJrorablkYrvvIzkuI3opoHmk6bpmaQgYm9vdGJpdHMg5omH5Yy6IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICglcyBwYXJ0aXRpb24gdGFibGUgZGV0ZWN0ZWQpLiAiCittc2dzdHIgIiAgICAgICAgKOajgOa1i+WIsCAlcyDliIbljLrooagp44CCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgIChjb21waWxlZCB3aXRob3V0IGxpYmJsa2lkKS4gIgorbXNnc3RyICIgICAgICAgICjnvJbor5Hml7bmnKrpk77mjqUgbGliYmxraWQp44CCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICJVc2UgLWYgdG8gZm9yY2UuXG4iCittc2dzdHIgIuS9v+eUqCAtZiDpgInpobnlvLrliLbmiafooYzjgIJcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzaWduYXR1cmUgcGFnZSIKK21zZ3N0ciAiJXPvvJrml6Dms5Xlhpnnrb7lkI3pobUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzgwCittc2dpZCAicGFyc2luZyBwYWdlIHNpemUgZmFpbGVkIgorbXNnc3RyICLop6PmnpDpobXlpKflsI/lpLHotKUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg2Cittc2dpZCAicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiCittc2dzdHIgIuino+aekOeJiOacrOWPt+Wksei0pSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcHNwYWNlIHZlcnNpb24gJWQgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAi5LiN5pSv5oyBIHN3YXBzcGFjZSDniYjmnKwgJWQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGlnbm9yaW5nIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQgYnkgJXMpIgorbXNnc3RyICLorablkYrvvJrlsIblv73nlaUgLVUg6YCJ6aG5KCVzIOS4jeaUr+aMgSBVVUlEKSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MTQKK21zZ2lkICJvbmx5IG9uZSBkZXZpY2UgYXJndW1lbnQgaXMgY3VycmVudGx5IHN1cHBvcnRlZCIKK21zZ3N0ciAi5b2T5YmN5Y+q5pSv5oyB5LiA5Liq6K6+5aSH5Y+C5pWwIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQyMQorbXNnaWQgImVycm9yOiBwYXJzaW5nIFVVSUQgZmFpbGVkIgorbXNnc3RyICLplJnor6/vvJrop6PmnpAgVVVJRCDlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDMwCittc2dpZCAiZXJyb3I6IE5vd2hlcmUgdG8gc2V0IHVwIHN3YXAgb24/IgorbXNnc3RyICLplJnor6/vvJrmsqHmnInorr7nva7kuqTmjaLnqbrpl7TnmoTlnLDmlrnvvJ8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDM2Cittc2dpZCAiaW52YWxpZCBibG9jayBjb3VudCBhcmd1bWVudCIKK21zZ3N0ciAi5peg5pWI55qEIOWdl+iuoeaVsCDlj4LmlbAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzaXplICVsbHUgS2lCIGlzIGxhcmdlciB0aGFuIGRldmljZSBzaXplICU8UFJJdTY0PiBLaUIiCittc2dzdHIgIumUmeivr++8muWwuuWvuCAlbGx1IEtpQiDlpKfkuo7orr7lpIflsLrlr7ggJTxQUkl1NjQ+IEtpQiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHN3YXAgYXJlYSBuZWVkcyB0byBiZSBhdCBsZWFzdCAlbGQgS2lCIgorbXNnc3RyICLplJnor6/vvJrkuqTmjaLljLroh7PlsJHpnIDopoEgJWxkIEtpQiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdHJ1bmNhdGluZyBzd2FwIGFyZWEgdG8gJWxsdSBLaUIiCittc2dzdHIgIuitpuWRiu+8muWwhuaKiuS6pOaNouWMuuaIquefreS4uiAlbGx1IEtpQiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2Ugc3dhcHNwYWNlIgorbXNnc3RyICLplJnor6/vvJolcyDlt7LmjILovb3vvJvlsIbkuI3kvJrliJvlu7rkuqTmjaLnqbrpl7QiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDY4IHN5cy11dGlscy9zd2Fwb24uYzo1MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIHBlcm1pc3Npb25zICUwNG8sICUwNG8gc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXPvvJrkuI3lronlhajnmoTmnYPpmZAgJTA0b++8jOW7uuiuruS9v+eUqCAlMDRv44CCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ3MiBzeXMtdXRpbHMvc3dhcG9uLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBmaWxlIG93bmVyICVkLCAwIChyb290KSBzdWdnZXN0ZWQuIgorbXNnc3RyICIlc++8muS4jeWuieWFqOeahOaWh+S7tuaLpeacieiAhSAlZO+8jOW7uuiuruS9v+eUqCAwKHJvb3Qp44CCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ4NworbXNnaWQgIlVuYWJsZSB0byBzZXQgdXAgc3dhcC1zcGFjZTogdW5yZWFkYWJsZSIKK21zZ3N0ciAi5peg5rOV6K6+572u5Lqk5o2i56m66Ze077ya5LiN5Y+v6K+7IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIHVwIHN3YXBzcGFjZSB2ZXJzaW9uICVkLCBzaXplID0gJXMgKCU8UFJJdTY0PiBieXRlcylcbiIKK21zZ3N0ciAi5q2j5Zyo6K6+572u5Lqk5o2i56m66Ze054mI5pysICVk77yM5aSn5bCPID0gJXMgKCU8UFJJdTY0PiAg5Liq5a2X6IqCKVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIG9idGFpbiBzZWxpbnV4IGZpbGUgbGFiZWwiCittc2dzdHIgIiVz77ya5peg5rOV6I635b6XIHNlbGludXgg5paH5Lu25qCH562+IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxNQorbXNnaWQgInVuYWJsZSB0byBtYXRjaHBhdGhjb24oKSIKK21zZ3N0ciAi5peg5rOV5omn6KGMIG1hdGNocGF0aGNvbigpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxOAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbmV3IHNlbGludXggY29udGV4dCIKK21zZ3N0ciAi5peg5rOV5Yib5bu65paw55qEIHNlbGludXgg546v5aKDKGNvbnRleHQpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMAorbXNnaWQgImNvdWxkbid0IGNvbXB1dGUgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICLml6Dms5XorqHnrpcgc2VsaW51eCDnjq/looMoY29udGV4dCkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZWxhYmVsICVzIHRvICVzIgorbXNnc3RyICLml6Dms5XlsIYgJXMg5qCH562+5pS55Li6ICVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODYKK21zZ2lkICJwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICLliIbljLrlj7ciCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NworbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIKK21zZ3N0ciAi5YiG5Yy66LW354K5KOaJh+WMuuaVsCkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OAorbXNnaWQgImVuZCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgIuWIhuWMuue7iOeCuSjmiYfljLrmlbApIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODkKK21zZ2lkICJudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAi5omH5Yy65pWwIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTAKK21zZ2lkICJodW1hbiByZWFkYWJsZSBzaXplIgorbXNnc3RyICLmmJPor7vlvaLlvI/nmoTlpKflsI8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MQorbXNnaWQgInBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICLliIbljLrlkI0iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDggbWlzYy11dGlscy9sc2Jsay5jOjE2OAorbXNnaWQgInBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICLliIbljLogVVVJRCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkzCittc2dpZCAicGFydGl0aW9uIHRhYmxlIHR5cGUgKGRvcywgZ3B0LCAuLi4pIgorbXNnc3RyICLliIbljLrooajnsbvlnosoZG9z44CBZ3B044CBLi4uKSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk0IG1pc2MtdXRpbHMvbHNibGsuYzoxNjkKK21zZ2lkICJwYXJ0aXRpb24gZmxhZ3MiCittc2dzdHIgIuWIhuWMuuagh+W/lyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1Cittc2dpZCAicGFydGl0aW9uIHR5cGUgKGEgc3RyaW5nLCBhIFVVSUQsIG9yIGhleCkiCittc2dzdHIgIuWIhuWMuuexu+WeiyjlrZfnrKbkuLLvvIxVVUlEIOaIluWNgeWFrei/m+WItuaVsCkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDggc3lzLXV0aWxzL2xvc2V0dXAuYzo2MTYKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wY3h0IgorbXNnc3RyICLliJ3lp4vljJYgbG9vcGN4dCDlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXPvvJrmn6Xmib7mnKrkvb/nlKjnmoTlm57njq/orr7lpIflpLHotKUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvIHVzZSAnJXMnIGZvciB0aGUgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAi5bCd6K+V5bCG4oCcJXPigJ3nlKjkvZzlm57njq/orr7lpIdcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBiYWNraW5nIGZpbGUiCittc2dzdHIgIiVz77ya6K6+572u5ZCO5aSH5paH5Lu25aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTMxIHN5cy11dGlscy9sb3NldHVwLmM6NTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlc++8muiuvue9ruWbnueOr+iuvuWkh+Wksei0pSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjE2MSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjMwNyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozNzYKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzozNTQgbWlzYy11dGlscy9sc2xvY2tzLmM6MzQyIHN5cy11dGlscy9sb3NldHVwLmM6MTA3CisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNzIgc3lzLXV0aWxzL2xzaXBjLmM6MjMyIHN5cy11dGlscy9sc25zLmM6MTg5CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI3NyBzeXMtdXRpbHMvc3dhcG9uLmM6MTQ3IHN5cy11dGlscy93ZGN0bC5jOjE1MQorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzoxNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICLmnKrnn6XliJc6ICVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIiVz77ya6I635Y+W5YiG5Yy65Y+35aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjg2IGRpc2stdXRpbHMvcGFydHguYzozMjQgZGlzay11dGlscy9wYXJ0eC5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZpZWQgcmFuZ2UgPCVkOiVkPiBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICLmjIflrprnmoTojIPlm7QgPCVkOiVkPiDml6DmlYgiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmFuZ2UgcmVjb3VudDogbWF4IHBhcnRubz0lZCwgbG93ZXI9JWQsIHVwcGVyPSVkXG4iCittc2dzdHIgIumHjeaWsOiuoeeul+iMg+WbtO+8muacgOWkp+WIhuWMuuWPtz0lZO+8jOS4i+mZkD0lZO+8jOS4iumZkD0lZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVz77ya5Yig6Zmk5YiG5Yy6ICVkIOWHuumUmSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXPvvJrliKDpmaTliIbljLogJWQtJWQg5Ye66ZSZIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlbW92ZWRcbiIKK21zZ3N0ciAiJXPvvJrliIbljLogIyVkIOW3suenu+mZpFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGRvZXNuJ3QgZXhpc3RcbiIKK21zZ3N0ciAiJXPvvJrliIbljLogIyVkIOS4jeWtmOWcqFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZWxldGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJrliKDpmaTliIbljLogIyVkIOWksei0pSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXPvvJrmt7vliqDliIbljLogJWQg5Ye66ZSZIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXPvvJrmt7vliqDliIbljLogJWQtJWQg5Ye66ZSZIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDA1IGRpc2stdXRpbHMvcGFydHguYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIKK21zZ3N0ciAiJXPvvJrliIbljLogIyVkIOW3sua3u+WKoFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVz77ya5re75Yqg5YiG5Yy6ICMlZCDlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXPvvJrmm7TmlrDliIbljLogJWQg5Ye66ZSZIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlc++8muabtOaWsOWIhuWMuiAlZC0lZCDlh7rplJkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiAjJWQiCittc2dzdHIgIiVz77ya5peg5YiG5Yy6ICMlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZXNpemVkXG4iCittc2dzdHIgIiVz77ya5bey6LCD5pW05YiG5Yy6ICMlZCDnmoTlpKflsI9cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdXBkYXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVz77ya5pu05paw5YiG5Yy6ICMlZCDlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvciwgJTZqdSBNQilcbiIKK21zZ2lkX3BsdXJhbCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvcnMsICU2anUgTUIpXG4iCittc2dzdHJbMF0gIiMlMmTvvJolOWp1LSU5anUgKCU5anUg5omH5Yy6JTZqdSBNQilcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU4MSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2ODggbWlzYy11dGlscy9maW5kbW50LmM6NzA1CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozOTEgc3lzLXV0aWxzL2xzbnMuYzo0NTYKK21zZ2lkICJmYWlsZWQgdG8gYWRkIGxpbmUgdG8gb3V0cHV0IgorbXNnc3RyICLlkJHovpPlh7rmt7vliqDooYzlh7rplJkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NDQKK21zZ2lkICJmYWlsZWQgdG8gYWRkIGRhdGEgdG8gb3V0cHV0IHRhYmxlIgorbXNnc3RyICLlkJHovpPlh7rooajmt7vliqDmlbDmja7lh7rplJkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NjcgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo5MjIgbWlzYy11dGlscy9maW5kbW50LmM6MTU4NQorIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NzQgbWlzYy11dGlscy9sc2xvY2tzLmM6NDUxIHN5cy11dGlscy9sb3NldHVwLmM6MzEwCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzEzIHN5cy11dGlscy9sc2lwYy5jOjMzOCBzeXMtdXRpbHMvbHNucy5jOjUxMQorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyOTcgc3lzLXV0aWxzL3N3YXBvbi5jOjI4MCBzeXMtdXRpbHMvd2RjdGwuYzoyNTkKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NDg0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICLliJ3lp4vljJbovpPlh7rooajlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NzggbWlzYy11dGlscy9maW5kbW50LmM6MTYxMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5NgorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDY1IHN5cy11dGlscy9sb3NldHVwLmM6MzIyIHN5cy11dGlscy9sb3NldHVwLmM6MzU4CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzE4IHN5cy11dGlscy9sc25zLmM6NTMyIHN5cy11dGlscy9wcmxpbWl0LmM6MzA2CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjg5IHN5cy11dGlscy93ZGN0bC5jOjI3MCBzeXMtdXRpbHMvenJhbWN0bC5jOjQ5MworbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iCittc2dzdHIgIuWIneWni+WMlui+k+WHuuWIl+Wksei0pSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjcyMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBibGtpZCBmaWx0ZXIgZm9yICclcyciCittc2dzdHIgIuWIneWni+WMluKAnCVz4oCd55qEIGJsa2lkIOi/h+a7pOWZqOWksei0pSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIlc++8muivu+WPluWIhuWMuuihqOWksei0pSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHR5cGUgJyVzJyBkZXRlY3RlZFxuIgorbXNnc3RyICIlc++8muajgOa1i+WIsOWIhuWMuuihqOexu+Wei+KAnCVz4oCdXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB3aXRoIG5vIHBhcnRpdGlvbnMiCittc2dzdHIgIiVz77ya5YiG5Yy66KGo5Lit5peg5YiG5Yy6IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLWF8LWR8LXN8LXVdIFstLW5yIDxuOm0+IHwgPHBhcnRpdGlvbj5dIDxkaXNrPlxuIgorbXNnc3RyICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDzliIbljLo+XSA856OB55uYPlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzU2Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBwcmVzZW5jZSBhbmQgbnVtYmVyaW5nIG9mIHBhcnRpdGlvbnMuXG4iCittc2dzdHIgIuWRiuefpeWGheaguOWIhuWMuueahOWtmOWcqOWSjOaOkuWIl+aDheWGteOAglxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzU5Cittc2dpZCAiIC1hLCAtLWFkZCAgICAgICAgICAgIGFkZCBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLWEsIC0tYWRkICAgICAgICAgICAg5re75Yqg5oyH5a6a55qE5YiG5Yy65oiW5omA5pyJ5YiG5Yy6XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjAKK21zZ2lkICIgLWQsIC0tZGVsZXRlICAgICAgICAgZGVsZXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtZCwgLS1kZWxldGUgICAgICAgICDliKDpmaTmjIflrprnmoTliIbljLrmiJbmiYDmnInliIbljLpcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MQorbXNnaWQgIiAtdSwgLS11cGRhdGUgICAgICAgICB1cGRhdGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIC11LCAtLXVwZGF0ZSAgICAgICAgIOabtOaWsOaMh+WumueahOWIhuWMuuaIluaJgOacieWIhuWMulxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYyCittc2dpZCAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnNcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICDliJflh7rliIbljLpcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MyBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyMworbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAgICAg5Lul5a2X6IqC5Li65Y2V5L2N6ICM6Z2e5piT6K+755qE5qC85byP5p2l5omT5Y2wIFNJWkVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NAorbXNnaWQgIiAtZywgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1zaG93XG4iCittc2dzdHIgIiAtZywgLS1ub2hlYWRpbmdzICAgICAtLXNob3cg5pe25LiN5omT5Y2w5qCH6aKYXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjUKK21zZ2lkICIgLW4sIC0tbnIgPG46bT4gICAgICAgc3BlY2lmeSB0aGUgcmFuZ2Ugb2YgcGFydGl0aW9ucyAoZS5nLiAtLW5yIDI6NClcbiIKK21zZ3N0ciAiIC1uLCAtLW5yIDxuOm0+ICAgICAgIOaMh+WumuWIhuWMuuiMg+WbtCjkvovlpoLvvJotLW5yIDI6NClcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NgorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPOWIl+ihqD4gIOWumuS5ieS9v+eUqOWTquS4qui+k+WHuuWIl1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY3IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM3Cittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1QLCAtLXBhaXJzICAgICAgICAgIOS9v+eUqCBrZXk94oCcdmFsdWXigJ0g6L6T5Ye65qC85byPXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjggbWlzYy11dGlscy9sc2Jsay5jOjE2MzgKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICDkvb/nlKjljp/nlJ/ovpPlh7rmoLzlvI9cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICBzcGVjaWZ5IHRoZSBwYXJ0aXRpb24gdHlwZSAoZG9zLCBic2QsIHNvbGFyaXMsIGV0Yy4pXG4iCittc2dzdHIgIiAtdCwgLS10eXBlIDznsbvlnos+ICAgIOaMh+WumuWIhuWMuuexu+Weiyhkb3PjgIFic2TjgIFzb2xhcmlzIOetiSlcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICDor6blsL3mqKHlvI9cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3NgorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdywgLS1yYXcgb3IgLS1wYWlycyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLlj6/nlKjnmoTliJco6ZKI5a+5IC0tc2hvd+OAgS0tcmF3IOaIliAtLXBhaXJzKe+8mlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODQ5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tbnIgPE0tTj4gcmFuZ2UiCittc2dzdHIgIuino+aekCAtLW5yIDxNLU4+IOiMg+WbtOWksei0pSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkyNAorbXNnaWQgInBhcnRpdGlvbiBhbmQgZGlzayBuYW1lIGRvIG5vdCBtYXRjaCIKK21zZ3N0ciAi5YiG5Yy65ZKM56OB55uY5ZCN5LiN56ymIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTUyCittc2dpZCAiLS1uciBhbmQgPHBhcnRpdGlvbj4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLS1uciDlkowgPOWIhuWMuj4g55u45LqS5o6S5palIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTcxCisjLCBjLWZvcm1hdAorbXNnaWQgInBhcnRpdGlvbjogJXMsIGRpc2s6ICVzLCBsb3dlcjogJWQsIHVwcGVyOiAlZFxuIgorbXNnc3RyICLliIbljLrvvJolc++8jOejgeebmO+8miVz77yM5LuO5YiG5Yy677yaJWQs5Yiw5YiG5Yy677yaJWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRlbGV0ZSBwYXJ0aXRpb25zIgorbXNnc3RyICIlc++8muS4jeiDveWIoOmZpOWIhuWMuiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIlc++8muS4jeaUr+aMgeW3suWIhuWMuueahOWbnueOr+iuvuWkhyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIHByb2JlciIKK21zZ3N0ciAiJXPvvJrliJ3lp4vljJYgYmxraWQg5o6i6ZKI5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyAlMiRzcmF3TiA8bWFqb3I+IDxtaW5vcj5cbiIKKyIgJTEkcyAlMiRzcmF3TiAvZGV2LzxibG9ja2RldmljZT5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorbXNnc3RyICIiCisiICUxJHMgJTIkc3Jhd04gPOS4u+iuvuWkh+WPtz4gPOasoeiuvuWkh+WPtz5cbiIKKyIgJTEkcyAlMiRzcmF3TiAvZGV2LzzlnZforr7lpIc+XG4iCisiICUxJHMgLXEgJTIkc3Jhd05cbiIKKyIgJTEkcyAtcWFcbiIKKworIzogZGlzay11dGlscy9yYXcuYzo1OAorbXNnaWQgIkJpbmQgYSByYXcgY2hhcmFjdGVyIGRldmljZSB0byBhIGJsb2NrIGRldmljZS5cbiIKK21zZ3N0ciAi5bCG5Y6f55Sf5a2X56ym6K6+5aSH57uR5a6a5Yiw5Z2X6K6+5aSH44CCXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjEKK21zZ2lkICIgLXEsIC0tcXVlcnkgICAgc2V0IHF1ZXJ5IG1vZGVcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXJ5ICAgIOiuvue9ruafpeivouaooeW8j1xuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYyCittc2dpZCAiIC1hLCAtLWFsbCAgICAgIHF1ZXJ5IGFsbCByYXcgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAg5p+l6K+i5omA5pyJIHJhdyDorr7lpIdcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgdGhlIGNvbnRyb2wgcmF3IGRldmljZSAodXNlIHJhdzxOPiB3aGVyZSA8Tj4gaXMgZ3JlYXRlciB0aGFuIHplcm8pIgorbXNnc3RyICLorr7lpIfigJwlc+KAneaYr+aOp+WItuWOn+eUn+iuvuWkhyjor7fkvb/nlKggcmF3PE4+77yM5YW25LitIDxOPiDlpKfkuo4gMCkiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgYmxvY2sgZGV2aWNlICclcyciCittc2dzdHIgIuaXoOazleWumuS9jeWdl+iuvuWkh+KAnCVz4oCdIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIuiuvuWkh+KAnCVz4oCd5LiN5piv5Z2X6K6+5aSHIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE5MyBkaXNrLXV0aWxzL3Jhdy5jOjE5NiBzeXMtdXRpbHMvaXBjcm0uYzozNTEKKyM6IHN5cy11dGlscy9pcGNybS5jOjM2NCBzeXMtdXRpbHMvaXBjcm0uYzozNzcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiCittc2dzdHIgIuino+aekOWPguaVsOWksei0pSIKKworIzogZGlzay11dGlscy9yYXcuYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAi5peg5rOV5omT5byA5Li7IFJhdyDorr7lpIfigJwlc+KAnSIKKworIzogZGlzay11dGlscy9yYXcuYzoyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSByYXcgZGV2aWNlICclcyciCittc2dzdHIgIuaXoOazleWumuS9jSByYXcg6K6+5aSH4oCcJXPigJ0iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJhdyBkZXZpY2UgJyVzJyBpcyBub3QgYSBjaGFyYWN0ZXIgZGV2IgorbXNnc3RyICLorr7lpIfigJwlc+KAneS4jeaYr+Wtl+espuiuvuWkhyIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgcmF3IGRldiIKK21zZ3N0ciAi6K6+5aSH4oCcJXPigJ3kuI3mmK8gcmF3IOiuvuWkhyIKKworIzogZGlzay11dGlscy9yYXcuYzoyNDUKK21zZ2lkICJFcnJvciBxdWVyeWluZyByYXcgZGV2aWNlIgorbXNnc3RyICLmn6Xor6Lljp/nlJ8ocmF3KeiuvuWkh+Wksei0pSIKKworIzogZGlzay11dGlscy9yYXcuYzoyNTQgZGlzay11dGlscy9yYXcuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNyYXclZDogIGJvdW5kIHRvIG1ham9yICVkLCBtaW5vciAlZFxuIgorbXNnc3RyICIlc3JhdyVk77ya57uR5a6a5Yiw5Li76K6+5aSH5Y+3ICVkLCDmrKHorr7lpIflj7cgJWRcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNjgKK21zZ2lkICJFcnJvciBzZXR0aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIuiuvue9ruWOn+eUnyhyYXcp6K6+5aSH5Ye66ZSZIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxOQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiICVzIDzno4Hnm5jorr7lpIc+IDzliIbljLrlj7c+IDzplb/luqY+XG4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjIzCittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBuZXcgc2l6ZSBvZiBhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAi5ZGK6K+J5YaF5qC45YiG5Yy655qE5paw5bC65a+444CCXG4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgcGFydGl0aW9uIG51bWJlciAlcyIKK21zZ3N0ciAiJXPvvJrojrflj5bliIbljLrlj7cgJXMg55qE6LW354K55aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDkKK21zZ2lkICJmYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiIKK21zZ3N0ciAi6LCD5pW05YiG5Yy65aSn5bCP5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIzMQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBuZXN0ZWQgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAi5YiG6YWN5bWM5aWXIGxpYmZkaXNrIOeOr+Wigyhjb250ZXh0KeWksei0pSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNlZWsgJXMiCittc2dzdHIgIuaXoOazleWumuS9jSAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDIgbGliZmRpc2svc3JjL2JzZC5jOjcyMyBsaWJmZGlzay9zcmMvYnNkLmM6ODk0CisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE2MyBzeXMtdXRpbHMvaHdjbG9jay5jOjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgJXMiCittc2dzdHIgIuaXoOazleWGmSAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTEycyAob2Zmc2V0ICU1anUsIHNpemUgJTVqdSk6ICVzIgorbXNnc3RyICIlMTJzICjlgY/np7sgICU1anUsIOWkp+WwjyAlNWp1KTogJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIgorbXNnc3RyICIlc++8muWIm+W7uuWkh+S7veWksei0pSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMjgKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIGZpbGUsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAi5Yib5bu65aSH5Lu95aSx6LSl77yM5pyq5a6a5LmJICRIT01FIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM1NAorbXNnaWQgIkJhY2t1cCBmaWxlczoiCittc2dzdHIgIuWkh+S7veaWh+S7tu+8miIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozNzkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBuZXcgcGFydGl0aW9uIGZyb20gZGV2aWNlOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAi5LuO6K6+5aSH6K+75Y+W5paw5YiG5Yy65aSx6LSl77yb5bCG5b+955WlIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIuiOt+WPluaWsOWIhuWMuuWkp+Wwj+Wksei0pe+8jOWwhuW/veeVpSAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODMKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAi6I635Y+W5paw5YiG5Yy66LW354K55aSx6LSl77yM5bCG5b+955WlIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIuiOt+WPluaWsOWIhuWMuuWkp+Wwj+Wksei0pe+8jOWwhuW/veeVpSAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODcKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAi6I635Y+W5pen5YiG5Yy66LW354K55aSx6LSl77yM5bCG5b+955WlIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4OQorbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaGFzIG5vdCBiZWVuIG1vdmVkOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAi5YiG5Yy66LW354K55pyq56e75Yqo77yb5bCG5b+955WlIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM5MQorbXNnaWQgIm5ldyBwYXJ0aXRpb24gaXMgc21hbGxlciB0aGFuIG9yaWdpbmFsOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAi5paw5YiG5Yy65bCP5LqO5Y6f5YiG5Yy677yb5bCG5b+955WlIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0MQorbXNnaWQgIkRhdGEgbW92ZToiCittc2dzdHIgIuaVsOaNruenu+WKqO+4sCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIHR5cGVzY3JpcHQgZmlsZTogJXMiCittc2dzdHIgInR5cGVzY3JpcHQg5paH5Lu277yaJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiBvbGQgc3RhcnQ6ICVqdSwgbmV3IHN0YXJ0OiAlanUgKG1vdmUgJWp1IHNlY3RvcnMpXG4iCittc2dzdHIgIiDljp/otbfngrnvvJolanXvvIzmlrDotbfngrnvvJolanUgKOenu+WKqCAlanUg5Liq5omH5Yy6KVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1MQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIG1vdmUgcGFydGl0aW9uIGRhdGE/IgorbXNnc3RyICLmgqjmg7Pnp7vliqjliIbljLrmlbDmja7lkJfvvJ8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc4MworbXNnaWQgIkxlYXZpbmcuIgorbXNnc3RyICLnprvlvIDkuK3jgIIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gbW92ZSBkYXRhIgorbXNnc3RyICIlc++8muenu+WKqOaVsOaNruWksei0pSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDEKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGlzIHVuY2hhbmdlZCAoLS1uby1hY3QpLiIKK21zZ3N0ciAi5YiG5Yy66KGo5pyq5pu05pS5KC0tbm8tYWN0KeOAgiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDcKK21zZ2lkICIiCisiXG4iCisiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiIgorIlxuIgorIuWIhuWMuuihqOW3suiwg+aVtOOAgiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbGFiZWwgJyVzJyIKK21zZ3N0ciAi5LiN5pSv5oyB55qE5qCH562+77ya4oCcJXPigJ0iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjI2Cittc2dpZCAiIgorIklkICBOYW1lXG4iCisiXG4iCittc2dzdHIgIiIKKyJJZCDlkI3np7BcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2NTYKK21zZ2lkICJ1bnJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUiCittc2dzdHIgIuacquivhuWIq+eahOWIhuWMuuihqOexu+WeiyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICLml6Dms5XojrflvpcgJXMg55qE5aSn5bCPIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ0b3RhbDogJWp1IGJsb2Nrc1xuIgorbXNnc3RyICLlhbHorqHvvJolanUg5Liq5Z2XXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODA4IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODc2IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk0NyBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTQgZGlzay11dGlscy9zZmRpc2suYzoxMDc4CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzMgZGlzay11dGlscy9zZmRpc2suYzoxMTg5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUzMworbXNnaWQgIm5vIGRpc2sgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAi5pyq5oyH5a6a56OB55uY6K6+5aSHIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgxOQorbXNnaWQgInRvZ2dsZSBib290IGZsYWdzIGlzIHN1cHBvcnRlZCBmb3IgTUJSIG9ubHkiCittc2dzdHIgIuW8gC/lhbPlkK/liqjmoIflv5cg5Y+q5pSv5oyBIE1CUiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NTAgZGlzay11dGlscy9zZmRpc2suYzo4OTYgZGlzay11dGlscy9zZmRpc2suYzoxMDE5CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODMgZGlzay11dGlscy9zZmRpc2suYzoxMTM4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5NAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTMxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxMworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICLop6PmnpDliIbljLrlj7flpLHotKUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJWQ6IGZhaWxlZCB0byB0b2dnbGUgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiJXPvvJrliIbljLogJWTvvJrlvIAv5YWz5ZCv5Yqo5qCH5b+X5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg5MSBkaXNrLXV0aWxzL3NmZGlzay5jOjg5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGRlbGV0ZSIKK21zZ3N0ciAiJXPvvJrliIbljLogJXp177ya5Yig6Zmk5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi6K6+5aSH5LiN5YyF5ZCr5Y+v6K+G5Yir55qE5YiG5Yy66KGo44CCIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk1OAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBkdW1wIHN0cnVjdCIKK21zZ3N0ciAi5YiG6YWN6L2s5YKo57uT5p6E5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkdW1wIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi6L2s5YKo5YiG5Yy66KGo5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uIHRhYmxlIGZvdW5kIgorbXNnc3RyICIlc++8muaJvuS4jeWIsOWIhuWMuuihqCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlc++8muWIhuWMuiAlenXvvJrliIbljLrooajkuK3lj6rljIXlkKsgJXp1IOS4quWIhuWMuiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiBpcyB1bnVzZWQiCittc2dzdHIgIiVzOiDliIbljLogJXp1OiDliIbljLrmnKrkvb/nlKgiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxOCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODIgZGlzay11dGlscy9zZmRpc2suYzoxMTM3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTMKK21zZ2lkICJubyBwYXJ0aXRpb24gbnVtYmVyIHNwZWNpZmllZCIKK21zZ3N0ciAi5pyq5oyH5a6a5YiG5Yy65Y+3IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMjQgZGlzay11dGlscy9zZmRpc2suYzoxMDg4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE0MworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTk5Cittc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudHMiCittc2dzdHIgIuWPguaVsOW8guW4uCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlczog5YiG5Yy6ICV6dTrojrflj5bliIbljLrnsbvlnovlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA1OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgcGFydGl0aW9uIHR5cGUgJyVzJyIKK21zZ3N0ciAi6Kej5p6QICVzIOeahOWIhuWMuuexu+Wei+KAnCVz4oCd5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiVzOiDliIbljLogJXp1OiDorr7nva7liIbljLrnsbvlnovlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiJXM6IOWIhuWMuiAlenU6IOiOt+WPluWIhuWMuiBVVUlEIOWksei0pSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTEzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE2OCBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMjIKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG9iamVjdCIKK21zZ3N0ciAi5YiG6YWN5YiG5Yy65a+56LGh5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiVzOiDliIbljLogJXp1OiDorr7nva7liIbljLogVVVJRCDlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiJXM6IOWIhuWMuiAlenU6IOiOt+WPluWIhuWMuuWQjeWksei0pSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlczog5YiG5Yy6ICV6dTog6K6+572u5YiG5Yy65ZCN5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIGF0dHJpYnV0ZXMiCittc2dzdHIgIiVzOiDliIbljLogJXp1OiDorr7nva7liIbljLrlsZ7mgKflpLHotKUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI2OQorbXNnaWQgIiBDb21tYW5kczpcbiIKK21zZ3N0ciAiIOWRveS7pO+8mlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzEKK21zZ2lkICIgICB3cml0ZSAgICB3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0XG4iCittc2dzdHIgIiAgIHdyaXRlICAgIOWwhuWIhuWMuuihqOWGmeWFpeejgeebmOW5tumAgOWHulxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzIKK21zZ2lkICIgICBxdWl0ICAgICBzaG93IG5ldyBzaXR1YXRpb24gYW5kIHdhaXQgZm9yIHVzZXIncyBmZWVkYmFjayBiZWZvcmUgd3JpdGVcbiIKK21zZ3N0ciAiICAgcXVpdCAgICAg5pi+56S65paw54q25Ya15bm2562J5b6F55So5oi35Y+N6aaI5ZCO5YaN5YaZ5YWlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3MworbXNnaWQgIiAgIGFib3J0ICAgIGV4aXQgc2ZkaXNrIHNoZWxsXG4iCittc2dzdHIgIiAgIGFib3J0ICAgIOmAgOWHuiBzZmRpc2sgc2hlbGxcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjc0Cittc2dpZCAiICAgcHJpbnQgICAgZGlzcGxheSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgIHByaW50ICAgIOaYvuekuuWIhuWMuuihqFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzUKK21zZ2lkICIgICBoZWxwICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCittc2dzdHIgIiAgIGhlbHAgICAgIOaYvuekuuW4ruWKqeW5tumAgOWHulxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzcKK21zZ2lkICIgICBDdHJsLUQgICB0aGUgc2FtZSBhcyAncXVpdCdcbiIKK21zZ3N0ciAiICAgQ3RybC1EICAg5ZCM4oCccXVpdOKAnVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODEKK21zZ2lkICIgSW5wdXQgZm9ybWF0OlxuIgorbXNnc3RyICIg6L6T5YWl5qC85byP77yaXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MworbXNnaWQgIiAgIDxzdGFydD4sIDxzaXplPiwgPHR5cGU+LCA8Ym9vdGFibGU+XG4iCittc2dzdHIgIiAgIDzotbfngrk+LCA85aSn5bCPPiwgPOexu+Weiz4sIDzlj6/lkK/liqg+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4NgorbXNnaWQgIiIKKyIgICA8c3RhcnQ+ICBCZWdpbm5pbmcgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgdGhlIGZpcnN0IGZyZWUgc3BhY2UuXG4iCittc2dzdHIgIiIKKyIgICA86LW354K5PiAgIOWIhuWMuueahOi1t+Wni+aJh+WMuuaVsOaIluWtl+iKguaVsO+8jOWmguaenOS7pVxuIgorIiAgICAgICAgICAgIDzmlbDlgLw+e0ssTSxHLFQsUCxFLFosWX0g5qC85byP5oyH5a6a44CCXG4iCisiICAgICAgICAgICAg6buY6K6k5Li656ys5LiA5aSE5Y+v55So56m66Ze044CCXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MQorbXNnaWQgIiIKKyIgICA8c2l6ZT4gICBTaXplIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIGFsbCBhdmFpbGFibGUgc3BhY2UuXG4iCittc2dzdHIgIiIKKyIgICA85aSn5bCPPiAgIOWIhuWMuueahOWkp+WwjyjmiYfljLrmiJblrZfoioLmlbAp77yM5aaC5p6c5LulXG4iCisiICAgICAgICAgICAgPOaVsOWAvD57SyxNLEcsVCxQLEUsWixZfSDmoLzlvI/mjIflrprjgIJcbiIKKyIgICAgICAgICAgICDpu5jorqTkuLrmiYDmnInlj6/nlKjnqbrpl7TjgIJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk2Cittc2dpZCAiICAgPHR5cGU+ICAgVGhlIHBhcnRpdGlvbiB0eXBlLiAgRGVmYXVsdCBpcyBhIExpbnV4IGRhdGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIgICA857G75Z6LPiAgIOWIhuWMuuexu+Wei+OAgum7mOiupOS4uiBMaW51eCDmlbDmja7liIbljLrjgIJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk3Cittc2dpZCAiICAgICAgICAgICAgTUJSOiBoZXggb3IgTCxTLEUsWCBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiAgICAgICAgICAgIE1CUu+8mmhleCDmiJYgTCxTLEUsWCDlv6vmjbfmlrnlvI/jgIJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk4Cittc2dpZCAiICAgICAgICAgICAgR1BUOiBVVUlEIG9yIEwsUyxIIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiICAgICAgICAgICAgR1BU77yaVVVJRCDmiJYgTCxTLEgg5b+r5o235pa55byP44CCXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwMQorbXNnaWQgIiAgIDxib290YWJsZT4gIFVzZSAnKicgdG8gbWFyayBhbiBNQlIgcGFydGl0aW9uIGFzIGJvb3RhYmxlLlxuIgorbXNnc3RyICIgICA85Y+v5ZCv5YqoPiAgICDkvb/nlKjigJwq4oCd5bCGIE1CUiDliIbljLrmoIforrDkuLog5Y+v5ZCv5Yqo44CCXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNQorbXNnaWQgIiBFeGFtcGxlOlxuIgorbXNnc3RyICLnpLrkvovvvJpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzA3Cittc2dpZCAiICAgLCA0RyAgICAgQ3JlYXRlcyBhIDRHaUIgcGFydGl0aW9uIGF0IGRlZmF1bHQgc3RhcnQgb2Zmc2V0LlxuIgorbXNnc3RyICIgICAsIDRHICAgICDlnKjpu5jorqTotbflp4vlgY/np7vkvY3nva7liJvlu7rkuIDkuKogNEdpQiDliIbljLrjgIJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzM5IHN5cy11dGlscy9kbWVzZy5jOjE0NTUKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICLkuI3mlK/mjIHnmoTlkb3ku6QiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICLnrKwgJWQg6KGM77ya5LiN5pSv5oyB55qE5ZG95LukIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MDAKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIuWIhumFjeWIhuWMuuWQjeWksei0pSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTQxCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICLliIbphY3ohJrmnKzlpITnkIbnqIvluo/lpLHotKUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IG5vIHBhcnRpdGlvbiB0YWJsZSB3YXMgZm91bmQiCittc2dzdHIgIiVz77ya5peg5rOV5L+u5pS55YiG5Yy6ICVk77ya5pyq5om+5Yiw5YiG5Yy66KGoIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6IOaXoOazleS/ruaUueWIhuWMuiAlZDog5YiG5Yy66KGo5Y+q5YyF5ZCrICV6dSDkuKrliIbljLoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlczogcGFydGl0aW9uICVkIGlzIG5vdCBkZWZpbmVkIHlldCIKK21zZ3N0ciAi6K2m5ZGK77yaJXM6IOWIhuWMuiAlZCDlsJrmnKrlrprkuYkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiV2VsY29tZSB0byBzZmRpc2sgKCVzKS4iCittc2dzdHIgIiIKKyJcbiIKKyLmrKLov47kvb/nlKggc2ZkaXNrICglcynjgIIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NAorbXNnaWQgIkNoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIgorbXNnc3RyICLor7fmo4Dmn6XnjrDlnKjmmK/kuI3mmK/mnInkurrlnKjkvb/nlKjmraTno4Hnm5guLi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NworbXNnaWQgIiIKKyIgRkFJTEVEXG4iCisiXG4iCittc2dzdHIgIiIKKyIg5aSx6LSlXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYwMAorbXNnaWQgIiIKKyJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZSAtIHJlcGFydGl0aW9uaW5nIGlzIHByb2JhYmx5IGEgYmFkIGlkZWEuXG4iCisiVW1vdW50IGFsbCBmaWxlIHN5c3RlbXMsIGFuZCBzd2Fwb2ZmIGFsbCBzd2FwIHBhcnRpdGlvbnMgb24gdGhpcyBkaXNrLlxuIgorIlVzZSB0aGUgLS1uby1yZXJlYWQgZmxhZyB0byBzdXBwcmVzcyB0aGlzIGNoZWNrLlxuIgorbXNnc3RyICIiCisi6K+l56OB55uY55uu5YmN5q2j5Zyo5L2/55SoIC0g5LiN5bu66K6u5oKo6YeN5paw5YiG5Yy644CCXG4iCisi6K+35Y246L295q2k56OB55uY5LiK5omA5pyJ55qE5paH5Lu257O757uf77yM5bm25YWz6ZetKHN3YXBvZmYp5LiK6Z2i55qE5Lqk5o2i5YiG5Yy644CCXG4iCisi5Y+v5L2/55SoIC0tbm8tcmVyZWFkIOagh+W/l+mYu+atouatpOajgOafpeOAglxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MDUKK21zZ2lkICJVc2UgdGhlIC0tZm9yY2UgZmxhZyB0byBvdmVycnVsZSBhbGwgY2hlY2tzLiIKK21zZ3N0ciAi5L2/55SoIC0tZm9yY2Ug5qCH5b+X5ZCm5Yaz5omA5pyJ5qOA5p+l44CCIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MDcKK21zZ2lkICIiCisiIE9LXG4iCisiXG4iCittc2dzdHIgIiIKKyIg5aW955qEXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYzNgorbXNnaWQgIiIKKyJcbiIKKyJPbGQgc2l0dWF0aW9uOiIKK21zZ3N0ciAiIgorIlxuIgorIuaXp+eKtuWGte+8miIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKyJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIgorbXNnc3RyICIiCisiXG4iCisic2ZkaXNrIOWNs+WwhuWIm+W7uuS4gOS4quaWsOeahOejgeebmOagh+etvuKAnCVz4oCd44CCXG4iCisi5Zyo5a6a5LmJ56ys5LiA5Liq5YiG5Yy65LmL5YmN5L2/55So4oCcbGFiZWw6IDzlkI3lrZc+4oCd5Y+v6KaG55uW6buY6K6k5YC844CCIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NTcKK21zZ2lkICIiCisiXG4iCisiVHlwZSAnaGVscCcgdG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKyJcbiIKKyLor7fmiafooYzigJwlcyAtLWhlbHDigJ3kuobop6Pmm7TlpJrkv6Hmga/jgIJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjc1Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgdXNlZC4iCittc2dzdHIgIuaJgOacieWIhuWMuuWdh+W3suS9v+eUqOOAgiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzAzCittc2dpZCAiRG9uZS5cbiIKK21zZ3N0ciAi5a6M5oiQ44CCXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcxNQorbXNnaWQgIklnbm9yaW5nIHBhcnRpdGlvbi4iCittc2dzdHIgIuW/veeVpeWIhuWMuuOAgiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzI0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCBoZWFkZXJzLCBkaXNrIGxhYmVsIG5vdCBjcmVhdGVkLiIKK21zZ3N0ciAi5peg5rOV5bqU55So6ISa5pys5qCH5aS0KGhlYWRlcinvvIzmnKrliJvlu7rno4Hnm5jmoIfnrb7jgIIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCAjJWQgcGFydGl0aW9uIgorbXNnc3RyICLmt7vliqDliIbljLrlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc2MworbXNnaWQgIlNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuIgorbXNnc3RyICLlt7LmjqXlj5fohJrmnKzmoIflpLQoaGVhZGVyKeOAgiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzcyCittc2dpZCAiIgorIlxuIgorIk5ldyBzaXR1YXRpb246IgorbXNnc3RyICIiCisiXG4iCisi5paw54q25Ya177yaIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3ODEKK21zZ2lkICJEbyB5b3Ugd2FudCB0byB3cml0ZSB0aGlzIHRvIGRpc2s/IgorbXNnc3RyICLmgqjmg7PlhpnlhaXor6Xno4Hnm5jlkJfvvJ8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc5MworbXNnaWQgIkxlYXZpbmcuXG4iCittc2dzdHIgIuemu+W8gOS4reOAglxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2PiBbWy1OXSA8cGFydD5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisiICUxJHMgW+mAiemhuV0gPOiuvuWkhz4gW1stTl0gPOWIhuWMuj5dXG4iCisiICUxJHMgW+mAiemhuV0gPOWRveS7pD5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEyCittc2dpZCAiIgorIlxuIgorIkNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisiXG4iCisi5ZG95Luk77yaXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMworbXNnaWQgIiAtQSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gbGlzdCBvciBzZXQgYm9vdGFibGUgTUJSIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIC1BLCAtLWFjdGl2YXRlIDzorr7lpIc+IFs85YiG5Yy6PiAuLi5dIOWIl+WHuuaIluiuvue9ruWPr+WQr+WKqOeahCBNQlIg5YiG5Yy6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNAorbXNnaWQgIiAtZCwgLS1kdW1wIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgKHVzYWJsZSBmb3IgbGF0ZXIgaW5wdXQpXG4iCittc2dzdHIgIiAtZCwgLS1kdW1wIDzorr7lpIc+ICAgICAgICAgICAgICAgICDovazlgqjliIbljLrooago55So5LqO5ZCO57ut6L6T5YWlKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTUKK21zZ2lkICIgLUosIC0tanNvbiA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlIGluIEpTT04gZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uIDzorr7lpIc+ICAgICAgICAgICAgICAgICDku6UgSlNPTiDmoLzlvI/ovazlgqjliIbljLrooahcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE2Cittc2dpZCAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxkZXY+IC4uLl0gICBsaXN0IGdlb21ldHJ5IG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLWcsIC0tc2hvdy1nZW9tZXRyeSBbPOiuvuWkhz4gLi4uXSAg5YiX5Ye65omA5pyJ5oiW5oyH5a6a6K6+5aSH55qE5Yeg5L2V5bGe5oCnXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNworbXNnaWQgIiAtbCwgLS1saXN0IFs8ZGV2PiAuLi5dICAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAtbCwgLS1saXN0IFs86K6+5aSHPiAuLi5dICAgICAgICAgICDliJflh7rmr4/lj7Dorr7lpIfkuIrnmoTliIbljLpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE4Cittc2dpZCAiIC1GLCAtLWxpc3QtZnJlZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHVucGFydGl0aW9uZWQgZnJlZSBhcmVhcyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgLUYsIC0tbGlzdC1mcmVlIFs86K6+5aSHPiAuLi5dICAgICAg5YiX5Ye65q+P5Y+w6K6+5aSH5LiK55qE5pyq5YiG5Yy656m66Ze0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxOQorbXNnaWQgIiAtciwgLS1yZW9yZGVyIDxkZXY+ICAgICAgICAgICAgICAgZml4IHBhcnRpdGlvbnMgb3JkZXIgKGJ5IHN0YXJ0IG9mZnNldClcbiIKK21zZ3N0ciAiIC1yLCAtLXJlb3JkZXIgPOiuvuWkhz4gICAgICAgICAgICAgICjpgJrov4fotbflp4vlgY/np7vph48p5L+u5aSN5YiG5Yy66aG65bqPXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMAorbXNnaWQgIiAtcywgLS1zaG93LXNpemUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCBzaXplcyBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1zLCAtLXNob3ctc2l6ZSBbPOiuvuWkhz4gLi4uXSAgICAgICDliJflh7rmiYDmnInmiJbmjIflrprorr7lpIfnmoTlpKflsI9cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIxCittc2dpZCAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmVjb2duaXplZCB0eXBlcyAoc2VlIC1YKVxuIgorbXNnc3RyICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIOaJk+WNsOivhuWIq+eahOexu+Weiyjop4EgLVgpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMgorbXNnaWQgIiAtViwgLS12ZXJpZnkgWzxkZXY+IC4uLl0gICAgICAgICAgdGVzdCB3aGV0aGVyIHBhcnRpdGlvbnMgc2VlbSBjb3JyZWN0XG4iCittc2dzdHIgIiAtViwgLS12ZXJpZnkgWzzorr7lpIc+IC4uLl0gICAgICAgICDmtYvor5XliIbljLrmmK/lkKbmraPnoa5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIzCittc2dpZCAiICAgICAtLWRlbGV0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gICBkZWxldGUgYWxsIG9yIHNwZWNpZmllZCBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiAgICAgLS1kZWxldGUgPOiuvuWkhz4gWzzliIbljLo+IC4uLl0gIOWIoOmZpOaJgOacieaIluaMh+WumuWIhuWMulxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjYKK21zZ2lkICIgLS1wYXJ0LWxhYmVsIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gbGFiZWxcbiIKK21zZ3N0ciAiIC0tcGFydC1sYWJlbCA86K6+5aSHPiA85YiG5Yy6PiBbPOWtl+espuS4sj5dIOaJk+WNsOaIluabtOaUueWIhuWMuuagh+etvlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjcKK21zZ2lkICIgLS1wYXJ0LXR5cGUgPGRldj4gPHBhcnQ+IFs8dHlwZT5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdHlwZVxuIgorbXNnc3RyICIgLS1wYXJ0LXR5cGUgPOiuvuWkhz4gPOWIhuWMuj4gWzznsbvlnos+XSAgICDmiZPljbDmiJbmm7TmlLnliIbljLrnsbvlnotcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI4Cittc2dpZCAiIC0tcGFydC11dWlkIDxkZXY+IDxwYXJ0PiBbPHV1aWQ+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHV1aWRcbiIKK21zZ3N0ciAiIC0tcGFydC11dWlkIDzorr7lpIc+IDzliIbljLo+IFs8dXVpZD5dICAgIOaJk+WNsOaIluabtOaUueWIhuWMuiB1dWlkXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyOQorbXNnaWQgIiAtLXBhcnQtYXR0cnMgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBhdHRyaWJ1dGVzXG4iCittc2dzdHIgIiAtLXBhcnQtYXR0cnMgPOiuvuWkhz4gPOWIhuWMuj4gWzzlrZfnrKbkuLI+XSDmiZPljbDmiJbmm7TmlLnliIbljLrlsZ7mgKdcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODMyCittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgZGV2aWNlICh1c3VhbGx5IGRpc2spIHBhdGhcbiIKK21zZ3N0ciAiIDzorr7lpIc+ICAgICAgICAgICAgICAgICAgICDorr7lpIco6YCa5bi45piv56OB55uYKeeahOi3r+W+hFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzMKK21zZ2lkICIgPHBhcnQ+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiA85YiG5Yy6PiAgICAgICAgICAgICAgICAgICDliIbljLrlj7dcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM0Cittc2dpZCAiIDx0eXBlPiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIHR5cGUsIEdVSUQgZm9yIEdQVCwgaGV4IGZvciBNQlJcbiIKK21zZ3N0ciAiIDznsbvlnos+ICAgICAgICAgICAgICAgICAgICDliIbljLrnsbvlnovvvIxHVUlEIOWvueW6lCBHUFTvvIxoZXgg5a+55bqUIE1CUlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzcKK21zZ2lkICIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICBhcHBlbmQgcGFydGl0aW9ucyB0byBleGlzdGluZyBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAg5bCG5YiG5Yy66ZmE5Yqg5Yiw5bey5pyJ5YiG5Yy66KGoXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzOAorbXNnaWQgIiAtYiwgLS1iYWNrdXAgICAgICAgICAgICAgIGJhY2t1cCBwYXJ0aXRpb24gdGFibGUgc2VjdG9ycyAoc2VlIC1PKVxuIgorbXNnc3RyICIgLWIsIC0tYmFja3VwICAgICAgICAgICAgICDlpIfku73liIbljLrooajmiYfljLoo6KeBIC1PKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICAg5Lul5a2X6IqC5Li65Y2V5L2N6ICM6Z2e5piT6K+755qE5qC85byP5p2l5omT5Y2wIFNJWkVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQwCittc2dpZCAiICAgICAtLW1vdmUtZGF0YVs9PHR5cGVzY3JpcHQ+XSBtb3ZlIHBhcnRpdGlvbiBkYXRhIGFmdGVyIHJlbG9jYXRpb24gKHJlcXVpcmVzIC1OKVxuIgorbXNnc3RyICIgICAgIC0tbW92ZS1kYXRhWz08dHlwZXNjcmlwdD5dIOmHjeaWsOWumuS9jeWQjuenu+WKqOWIhuWMuuaVsOaNrijpnIDopoEgLU4pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MQorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGNvbnNpc3RlbmN5IGNoZWNraW5nXG4iCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIOemgeeUqOaJgOacieeahOS4gOiHtOaAp+ajgOafpVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDIKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAgICAtLWNvbG9yWz085L2V5pe2Pl0gICAgIOW9qeiJsui+k+WHuihhdXRv77yMYWx3YXlzIOaIliBuZXZlcilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ1Cittc2dpZCAiIC1OLCAtLXBhcnRubyA8bnVtPiAgICAgICAgc3BlY2lmeSBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiAtTiwgLS1wYXJ0bm8gPOaVsOWtlz4gICAgICAg5oyH5a6a5YiG5Yy65Y+3XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NgorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHdyaXRlIHRvIGRldmljZVxuIgorbXNnc3RyICIgLW4sIC0tbm8tYWN0ICAgICAgICAgICAgICDkuI3nnJ/mraPmiafooYzlhpnlhaXorr7lpIdcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ3Cittc2dpZCAiICAgICAtLW5vLXJlcmVhZCAgICAgICAgICAgZG8gbm90IGNoZWNrIHdoZXRoZXIgdGhlIGRldmljZSBpcyBpbiB1c2VcbiIKK21zZ3N0ciAiICAgICAtLW5vLXJlcmVhZCAgICAgICAgICAg5LiN5qOA5p+l6K6+5aSH5piv5ZCm5q2j5Zyo5L2/55SoXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OAorbXNnaWQgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIGRvIG5vdCB0ZWxsIGtlcm5lbCBhYm91dCBjaGFuZ2VzXG4iCittc2dzdHIgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIOabtOaUueiAjOS4jeWRiuivieWGheaguFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDkKK21zZ2lkICIgLU8sIC0tYmFja3VwLWZpbGUgPHBhdGg+ICBvdmVycmlkZSBkZWZhdWx0IGJhY2t1cCBmaWxlIG5hbWVcbiIKK21zZ3N0ciAiIC1PLCAtLWJhY2t1cC1maWxlIDzot6/lvoQ+ICDopobnm5bpu5jorqTnmoTlpIfku73mlofku7blkI1cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUwCittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA85YiX6KGoPiAgICAgICDovpPlh7rliJdcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUxCittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcHJlc3MgZXh0cmEgaW5mbyBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICDnpoHmraLovpPlh7rpop3lpJbkv6Hmga9cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUyCittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtdywgLS13aXBlIDzmqKHlvI8+ICAgICAgICAg5pOm6Zmk562+5ZCNKGF1dG8sIGFsd2F5cyDmiJYgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NAorbXNnaWQgIiAtWCwgLS1sYWJlbCA8bmFtZT4gICAgICAgIHNwZWNpZnkgbGFiZWwgdHlwZSAoZG9zLCBncHQsIC4uLilcbiIKK21zZ3N0ciAiIC1YLCAtLWxhYmVsIDzlkI3np7A+ICAgICAgICDmjIflrprmoIfnrb7nsbvlnosoZG9zLCBncHQsIC4uLilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU1Cittc2dpZCAiIC1ZLCAtLWxhYmVsLW5lc3RlZCA8bmFtZT4gc3BlY2lmeSBuZXN0ZWQgbGFiZWwgdHlwZSAoZG9zLCBic2QpXG4iCittc2dzdHIgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPOWQjeensD4g5oyH5a6a5bWM5aWX5qCH562+57G75Z6LKGRvcywgYnNkKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTcKK21zZ2lkICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBkZXByZWNhdGVkLCBhbGlhcyB0byAtLXNob3ctZ2VvbWV0cnlcbiIKK21zZ3N0ciAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAg5bey5bqf5byD77yM5ZCMIC0tc2hvdy1nZW9tZXRyeVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTgKK21zZ2lkICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4iCittc2dzdHIgIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIOW3suW6n+W8g++8jOS7heS4uuWQkeWQjuWFvOWuuVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTkKK21zZ2lkICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IHNlY3RvciB1bml0IGlzIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICDlt7Llup/lvIPvvIzlj6rmlK/mjIHmiYfljLrljZXkvY1cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYzIGxvZ2luLXV0aWxzL2NoZm4uYzoxMDIgbG9naW4tdXRpbHMvY2hzaC5jOjc5Cittc2dpZCAiIC12LCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAtdiwgLS12ZXJzaW9uICDovpPlh7rniYjmnKzkv6Hmga/lubbpgIDlh7pcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxOTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIlcyDlt7Llup/lvIPvvIzor7fmlLnnlKggLS1wYXJ0LXR5cGUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk3MworbXNnaWQgIi0taWQgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIi0taWQg5bey5bqf5byD77yM6K+35pS555SoIC0tcGFydC10eXBlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5ODkKK21zZ2lkICItLXNob3ctcHQtZ2VvbWV0cnkgaXMgbm8gbW9yZSBpbXBsZW1lbnRlZC4gVXNpbmcgLS1zaG93LWdlb21ldHJ5LiIKK21zZ3N0ciAiLS1zaG93LXB0LWdlb21ldHJ5IOS4jeWGjeWunueOsOOAguivt+S9v+eUqCAtLXNob3ctZ2VvbWV0cnnjgIIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAwMAorbXNnaWQgIi0tTGludXggb3B0aW9uIGlzIHVubmVjZXNzYXJ5IGFuZCBkZXByZWNhdGVkIgorbXNnc3RyICItLUxpbnV4IOmAiemhueayoeW/heimge+8jOW5tuS4lOW3suW6n+W8gyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDI5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHVuaXQgJyVjJyIKK21zZ3N0ciAi5LiN5pSv5oyB55qE5Y2V5L2N4oCcJWPigJ0iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAzMiBpbmNsdWRlL2MuaDozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlc1xuIgorbXNnc3RyICIlc++8jOadpeiHqiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIxMDkKK21zZ2lkICItLW1vdmVkYXRhIHJlcXVpcmVzIC1OIgorbXNnc3RyICItLW1vdmVkYXRhICDpnIDopoEgLU4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIFVVSUQ6ICVzIgorbXNnc3RyICLop6PmnpAgVVVJRCDlpLHotKXvvJolcyIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBVVUlEIgorbXNnc3RyICIlc++8muWumuS9jeWIsOS6pOaNouWMuiBVVUlEIOWksei0pSIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIFVVSUQiCittc2dzdHIgIiVz77ya5YaZIFVVSUQg5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIGxhYmVsICIKK21zZ3N0ciAiJXPvvJrml6Dms5XlrprkvY3liLDkuqTmjaLljLrmoIfnrb4gIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgImxhYmVsIGlzIHRvbyBsb25nLiBUcnVuY2F0aW5nIGl0IHRvICclcyciCittc2dzdHIgIuagh+etvui/h+mVv+OAguWwhuaIquefreWIsOKAnCVz4oCdIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgbGFiZWwiCittc2dzdHIgIiVz77ya5YaZ5qCH562+5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyMQorbXNnaWQgIkRpc3BsYXkgb3IgY2hhbmdlIHRoZSBsYWJlbCBvciBVVUlEIG9mIGEgc3dhcCBhcmVhLlxuIgorbXNnc3RyICLmmL7npLrmiJbmm7TmlLnkuqTmjaLljLrnmoTmoIfnrb7miJYgVVVJROOAglxuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyNAorbXNnaWQgIiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiBzcGVjaWZ5IGEgbmV3IGxhYmVsXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgc3BlY2lmeSBhIG5ldyB1dWlkXG4iCittc2dzdHIgIiIKKyIgLUwsIC0tbGFiZWwgPOagh+etvj4gIOaMh+WumuS4gOS4quaWsOagh+etvlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgIOaMh+WumuS4gOS4quaWsCB1dWlkXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTY3Cittc2dpZCAiaWdub3JlIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQpIgorbXNnc3RyICLlv73nlaUgLVUgKOS4jeaUr+aMgSBVVUlEKSIKKworIzogaW5jbHVkZS9jLmg6Mjk5Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorbXNnc3RyICIiCisiXG4iCisi55So5rOV77yaXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwMAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisi6YCJ6aG577yaXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwMgorbXNnaWQgIiAtaCwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAg5pi+56S65q2k5biu5Yqp5bm26YCA5Ye6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwMworbXNnaWQgIiAtViwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAg6L6T5Ye654mI5pys5L+h5oGv5bm26YCA5Ye6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRm9yIG1vcmUgZGV0YWlscyBzZWUgJXMuXG4iCittc2dzdHIgIiIKKyJcbiIKKyLmm7TlpJrkv6Hmga/or7flj4LpmIUgJXPjgIJcbiIKKworIzogaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ2IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0OCBsb2dpbi11dGlscy92aXB3LmM6MjczCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjkyIHN5cy11dGlscy9ydGN3YWtlLmM6MjgwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjgwNQorIzogdGV4dC11dGlscy9jb2wuYzoxNTcKK21zZ2lkICJ3cml0ZSBlcnJvciIKK21zZ3N0ciAi5YaZ5Ye66ZSZIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI3Cittc2dpZCAiY29sb3JzIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgIum7mOiupOWQr+eUqOminOiJsiIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyOQorbXNnaWQgImNvbG9ycyBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAi6buY6K6k56aB55So6aKc6ImyIgorCisjOiBpbmNsdWRlL2Vudi5oOjE4IGxpYi9wYWdlci5jOjE1MSBsb2dpbi11dGlscy9sb2dpbi5jOjEwNTIKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTA1NiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MjkKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTE2MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyBlbnZpcm9ubWVudCB2YXJpYWJsZSIKK21zZ3N0ciAi6K6+572u546v5aKD5Y+Y6YePICVzIOWksei0pSIKKworIzogaW5jbHVkZS9vcHR1dGlscy5oOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGVzZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmU6IgorbXNnc3RyICIlc++8muS7peS4i+mAiemhueebuOS6kuaOkuaWpe+8miIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MQorbXNnaWQgIkVtcHR5IgorbXNnc3RyICLnqboiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIKK21zZ2lkICJGQVQxMiIKK21zZ3N0ciAiRkFUMTIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMKK21zZ2lkICJYRU5JWCByb290IgorbXNnc3RyICJYRU5JWCByb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0Cittc2dpZCAiWEVOSVggdXNyIgorbXNnc3RyICJYRU5JWCB1c3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUKK21zZ2lkICJGQVQxNiA8MzJNIgorbXNnc3RyICJGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2Cittc2dpZCAiRXh0ZW5kZWQiCittc2dzdHIgIuaJqeWxlSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NworbXNnaWQgIkZBVDE2IgorbXNnc3RyICJGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OAorbXNnaWQgIkhQRlMvTlRGUy9leEZBVCIKK21zZ3N0ciAiSFBGUy9OVEZTL2V4RkFUIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5Cittc2dpZCAiQUlYIgorbXNnc3RyICJBSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwCittc2dpZCAiQUlYIGJvb3RhYmxlIgorbXNnc3RyICJBSVgg5Y+v5ZCv5YqoIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMQorbXNnaWQgIk9TLzIgQm9vdCBNYW5hZ2VyIgorbXNnc3RyICJPUy8yIOWQr+WKqOeuoeeQhuWZqCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTIKK21zZ2lkICJXOTUgRkFUMzIiCittc2dzdHIgIlc5NSBGQVQzMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTMKK21zZ2lkICJXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIlc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTQKK21zZ2lkICJXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIlc5NSBGQVQxNiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTUKK21zZ2lkICJXOTUgRXh0J2QgKExCQSkiCittc2dzdHIgIlc5NSDmianlsZUgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE2Cittc2dpZCAiT1BVUyIKK21zZ3N0ciAiT1BVUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTcKK21zZ2lkICJIaWRkZW4gRkFUMTIiCittc2dzdHIgIumakOiXj+eahCBGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTgKK21zZ2lkICJDb21wYXEgZGlhZ25vc3RpY3MiCittc2dzdHIgIkNvbXBhcSDor4rmlq0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE5Cittc2dpZCAiSGlkZGVuIEZBVDE2IDwzMk0iCittc2dzdHIgIumakOiXj+eahCBGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMAorbXNnaWQgIkhpZGRlbiBGQVQxNiIKK21zZ3N0ciAi6ZqQ6JeP55qEIEZBVDE2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMQorbXNnaWQgIkhpZGRlbiBIUEZTL05URlMiCittc2dzdHIgIumakOiXj+eahCBIUEZTL05URlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIyCittc2dpZCAiQVNUIFNtYXJ0U2xlZXAiCittc2dzdHIgIkFTVCDmmbrog73nnaHnnKAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIzCittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiIKK21zZ3N0ciAi6ZqQ6JeP55qEIFc5NSBGQVQzMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjQKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICLpmpDol4/nmoQgVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNQorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIumakOiXj+eahCBXOTUgRkFUMTYgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI2Cittc2dpZCAiTkVDIERPUyIKK21zZ3N0ciAiTkVDIERPUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjcKK21zZ2lkICJIaWRkZW4gTlRGUyBXaW5SRSIKK21zZ3N0ciAi6ZqQ6JeP55qEIE5URlMgV2luUkUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI4Cittc2dpZCAiUGxhbiA5IgorbXNnc3RyICJQbGFuIDkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI5Cittc2dpZCAiUGFydGl0aW9uTWFnaWMgcmVjb3ZlcnkiCittc2dzdHIgIlBhcnRpdGlvbk1hZ2ljIOaBouWkjSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzAKK21zZ2lkICJWZW5peCA4MDI4NiIKK21zZ3N0ciAiVmVuaXggODAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMxCittc2dpZCAiUFBDIFBSZVAgQm9vdCIKK21zZ3N0ciAiUFBDIFBSZVAgQm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzIKK21zZ2lkICJTRlMiCittc2dzdHIgIlNGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzMKK21zZ2lkICJRTlg0LngiCittc2dzdHIgIlFOWDQueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzQKK21zZ2lkICJRTlg0LnggMm5kIHBhcnQiCittc2dzdHIgIlFOWDQueCDnrKwy6YOo5YiGIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNQorbXNnaWQgIlFOWDQueCAzcmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IOesrDPpg6jliIYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM2Cittc2dpZCAiT25UcmFjayBETSIKK21zZ3N0ciAiT25UcmFjayBETSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzcKK21zZ2lkICJPblRyYWNrIERNNiBBdXgxIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgxIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOAorbXNnaWQgIkNQL00iCittc2dzdHIgIkNQL00iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM5Cittc2dpZCAiT25UcmFjayBETTYgQXV4MyIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDAKK21zZ2lkICJPblRyYWNrRE02IgorbXNnc3RyICJPblRyYWNrRE02IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MQorbXNnaWQgIkVaLURyaXZlIgorbXNnc3RyICJFWi1Ecml2ZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDIKK21zZ2lkICJHb2xkZW4gQm93IgorbXNnc3RyICJHb2xkZW4gQm93IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MworbXNnaWQgIlByaWFtIEVkaXNrIgorbXNnc3RyICJQcmlhbSBFZGlzayIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDQgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTEKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk5Cittc2dpZCAiU3BlZWRTdG9yIgorbXNnc3RyICJTcGVlZFN0b3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ1Cittc2dpZCAiR05VIEhVUkQgb3IgU3lzViIKK21zZ3N0ciAiR05VIEhVUkQg5oiWIFN5c1YiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ2Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMjg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ3Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMzg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAzODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ4Cittc2dpZCAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorbXNnc3RyICJEaXNrU2VjdXJlIOWkmuWQr+WKqCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDkKK21zZ2lkICJQQy9JWCIKK21zZ3N0ciAiUEMvSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUwCittc2dpZCAiT2xkIE1pbml4IgorbXNnc3RyICLml6cgTWluaXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUxCittc2dpZCAiTWluaXggLyBvbGQgTGludXgiCittc2dzdHIgIk1pbml4IC8g5penIExpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MgorbXNnaWQgIkxpbnV4IHN3YXAgLyBTb2xhcmlzIgorbXNnc3RyICJMaW51eCBzd2FwIC8gU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTMKK21zZ2lkICJMaW51eCIKK21zZ3N0ciAiTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU0Cittc2dpZCAiT1MvMiBoaWRkZW4gb3IgSW50ZWwgaGliZXJuYXRpb24iCittc2dzdHIgIk9TLzIg6ZqQ6JePIOaIliBJbnRlbCDkvJHnnKAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU3Cittc2dpZCAiTGludXggZXh0ZW5kZWQiCittc2dzdHIgIkxpbnV4IOaJqeWxlSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTkKK21zZ2lkICJOVEZTIHZvbHVtZSBzZXQiCittc2dzdHIgIk5URlMg5Y236ZuGIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MAorbXNnaWQgIkxpbnV4IHBsYWludGV4dCIKK21zZ3N0ciAiTGludXgg57qv5paH5pysIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjA1IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MworIzogbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggTFZNIgorbXNnc3RyICJMaW51eCBMVk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYyCittc2dpZCAiQW1vZWJhIgorbXNnc3RyICJBbW9lYmEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYzCittc2dpZCAiQW1vZWJhIEJCVCIKK21zZ3N0ciAiQW1vZWJhIEJCVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjQKK21zZ2lkICJCU0QvT1MiCittc2dzdHIgIkJTRC9PUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjUKK21zZ2lkICJJQk0gVGhpbmtwYWQgaGliZXJuYXRpb24iCittc2dzdHIgIklCTSBUaGlua3BhZCDkvJHnnKAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY2Cittc2dpZCAiRnJlZUJTRCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjcKK21zZ2lkICJPcGVuQlNEIgorbXNnc3RyICJPcGVuQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OAorbXNnaWQgIk5lWFRTVEVQIgorbXNnc3RyICJOZVhUU1RFUCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjkKK21zZ2lkICJEYXJ3aW4gVUZTIgorbXNnc3RyICJEYXJ3aW4gVUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MAorbXNnaWQgIk5ldEJTRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MQorbXNnaWQgIkRhcndpbiBib290IgorbXNnc3RyICJEYXJ3aW4g5ZCv5YqoIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MgorbXNnaWQgIkhGUyAvIEhGUysiCittc2dzdHIgIkhGUyAvIEhGUysiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjczCittc2dpZCAiQlNESSBmcyIKK21zZ3N0ciAiQlNESSBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzQKK21zZ2lkICJCU0RJIHN3YXAiCittc2dzdHIgIkJTREkgc3dhcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzUKK21zZ2lkICJCb290IFdpemFyZCBoaWRkZW4iCittc2dzdHIgIkJvb3QgV2l6YXJkIOmakOiXjyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzYKK21zZ2lkICJBY3JvbmlzIEZBVDMyIExCQSIKK21zZ3N0ciAiQWNyb25pcyBGQVQzMiBMQkEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc3IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzAKK21zZ2lkICJTb2xhcmlzIGJvb3QiCittc2dzdHIgIlNvbGFyaXMg5ZCv5YqoIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OAorbXNnaWQgIlNvbGFyaXMiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc5Cittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTIpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xMikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgwCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgxCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgyCittc2dpZCAiU3lyaW54IgorbXNnc3RyICJTeXJpbngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgzCittc2dpZCAiTm9uLUZTIGRhdGEiCittc2dzdHIgIumdnuaWh+S7tuezu+e7n+aVsOaNriIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiQ1AvTSAvIENUT1MgLyAuLi4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg2Cittc2dpZCAiRGVsbCBVdGlsaXR5IgorbXNnc3RyICJEZWxsIOW3peWFtyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODcKK21zZ2lkICJCb290SXQiCittc2dzdHIgIkJvb3RJdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODgKK21zZ2lkICJET1MgYWNjZXNzIgorbXNnc3RyICJET1Mg6K6/6ZeuIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MAorbXNnaWQgIkRPUyBSL08iCittc2dzdHIgIkRPUyBSL08iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkzCittc2dpZCAiUnVmdXMgYWxpZ25tZW50IgorbXNnc3RyICJSdWZ1cyDlr7npvZAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk0Cittc2dpZCAiQmVPUyBmcyIKK21zZ3N0ciAiQmVPUyBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTYKK21zZ2lkICJFRkkgKEZBVC0xMi8xNi8zMikiCittc2dzdHIgIkVGSSAoRkFULTEyLzE2LzMyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTcKK21zZ2lkICJMaW51eC9QQS1SSVNDIGJvb3QiCittc2dzdHIgIkxpbnV4L1BBLVJJU0Mg5ZCv5YqoIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDAKK21zZ2lkICJET1Mgc2Vjb25kYXJ5IgorbXNnc3RyICJET1Mg5qyh6KaBIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDEKK21zZ2lkICJWTXdhcmUgVk1GUyIKK21zZ3N0ciAiVk13YXJlIFZNRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMgorbXNnaWQgIlZNd2FyZSBWTUtDT1JFIgorbXNnc3RyICJWTXdhcmUgVk1LQ09SRSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAzIGxpYmZkaXNrL3NyYy9zdW4uYzo1NQorbXNnaWQgIkxpbnV4IHJhaWQgYXV0b2RldGVjdCIKK21zZ3N0ciAiTGludXggcmFpZCDoh6rliqjmo4DmtYsiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwNgorbXNnaWQgIkxBTnN0ZXAiCittc2dzdHIgIkxBTnN0ZXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwNworbXNnaWQgIkJCVCIKK21zZ3N0ciAiQkJUIgorCisjOiBsaWIvYmxrZGV2LmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzIGlzIG1pc2FsaWduZWQiCittc2dzdHIgIuitpuWRiu+8miVzIOacquato+ehruWvuem9kCIKKworIzogbGliZmRpc2svc3JjL2FsaWdubWVudC5jOjY3MgorbXNnaWQgIkNhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIuWwhuiwg+eUqCBpb2N0bCgpIOadpemHjeaWsOivu+WIhuWMuuihqOOAgiIKKworIzogbGliZmRpc2svc3JjL2FsaWdubWVudC5jOjY4MQorbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuIgorbXNnc3RyICLph43mlrDor7vlj5bliIbljLrooajlpLHotKXjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2ODMKK21zZ2lkICJUaGUga2VybmVsIHN0aWxsIHVzZXMgdGhlIG9sZCB0YWJsZS4gVGhlIG5ldyB0YWJsZSB3aWxsIGJlIHVzZWQgYXQgdGhlIG5leHQgcmVib290IG9yIGFmdGVyIHlvdSBydW4gcGFydHByb2JlKDgpIG9yIGtwYXJ0eCg4KS4iCittc2dzdHIgIuWGheaguOS7jeWcqOS9v+eUqOaXp+WIhuWMuuihqOOAguaWsOWIhuWMuuihqOWwhuWcqOS4i+asoemHjeWQr+aIlui/kOihjCBwYXJ0cHJvYmUoOCkg5oiWIGtwYXJ0eCg4KSDlkI7nlJ/mlYjjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0NzIgbGliZmRpc2svc3JjL2Fzay5jOjQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3RlZCBwYXJ0aXRpb24gJWp1IgorbXNnc3RyICLlt7LpgInmi6nliIbljLogJWp1IgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDc1Cittc2dpZCAiTm8gcGFydGl0aW9uIGlzIGRlZmluZWQgeWV0ISIKK21zZ3N0ciAi6L+Y5rKh5pyJ5a6a5LmJ5YiG5Yy677yBIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDg3Cittc2dpZCAiTm8gZnJlZSBwYXJ0aXRpb24gYXZhaWxhYmxlISIKK21zZ3N0ciAi5peg56m66Zey5YiG5Yy65Y+v55So77yBIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDk3Cittc2dpZCAiUGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAi5YiG5Yy65Y+3IgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6OTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgcGFydGl0aW9uICVkIG9mIHR5cGUgJyVzJyBhbmQgb2Ygc2l6ZSAlcy4iCittc2dzdHIgIuWIm+W7uuS6huS4gOS4quaWsOWIhuWMuiAlZO+8jOexu+Wei+S4uuKAnCVz4oCd77yM5aSn5bCP5Li6ICVz44CCIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlemQ6IGhhcyBpbnZhbGlkIHN0YXJ0aW5nIHNlY3RvciAwLiIKK21zZ3N0ciAi5YiG5Yy6ICV6ZO+8muaXoOaViOeahOi1t+Wni+aJh+WMuiAw44CCIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZXJlIGlzIG5vICpCU0QgcGFydGl0aW9uIG9uICVzLiIKK21zZ3N0ciAiJXMg5LiK5rKh5pyJICpCU0Qg5YiG5Yy644CCIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MjU5IGxpYmZkaXNrL3NyYy9kb3MuYzo5MzMKK21zZ2lkICJGaXJzdCBjeWxpbmRlciIKK21zZ3N0ciAi56ys5LiA5Liq5p+x6Z2iIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MjkyIGxpYmZkaXNrL3NyYy9kb3MuYzoxMTYxCittc2dpZCAiTGFzdCBjeWxpbmRlciwgK2N5bGluZGVycyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICLmnIDlkI7kuIDkuKrmn7HpnaIsICtjeWxpbmRlcnMg5oiWICtzaXple0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTcgbGliZmRpc2svc3JjL2Rvcy5jOjExNjYgbGliZmRpc2svc3JjL2dwdC5jOjIyNTUKK21zZ2lkICJMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAi5LiK5Liq5omH5Yy677yMK3NlY3RvcnMg5oiWICtzaXple0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRldmljZSAlcyBkb2VzIG5vdCBjb250YWluIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICLorr7lpIcgJXMg5LiN5YyF5ZCrQlNEIOejgeebmOagh+etvuOAgiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MworbXNnaWQgIkRvIHlvdSB3YW50IHRvIGNyZWF0ZSBhIEJTRCBkaXNrbGFiZWw/IgorbXNnc3RyICLmgqjmg7PliJvlu7rkuIDkuKogQlNEIOejgeebmOagh+etvuWQl++8nyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ0OQorbXNnaWQgIkRpc2siCittc2dzdHIgIuejgeebmCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ1NgorbXNnaWQgIlBhY2tuYW1lIgorbXNnc3RyICLljIXlkI0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjMgbGliZmRpc2svc3JjL3N1bi5jOjExMTcKK21zZ2lkICJGbGFncyIKK21zZ3N0ciAi5qCH5b+XIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY2Cittc2dpZCAiIHJlbW92YWJsZSIKK21zZ3N0ciAiIOWPr+enu+WKqCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NworbXNnaWQgIiBlY2MiCittc2dzdHIgIiBlY2MiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjgKK21zZ2lkICIgYmFkc2VjdCIKK21zZ3N0ciAiIOWdj+aJh+WMuiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ3NgorbXNnaWQgIkJ5dGVzL1NlY3RvciIKK21zZ3N0ciAi5a2X6IqCL+aJh+WMuiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4MQorbXNnaWQgIlRyYWNrcy9DeWxpbmRlciIKK21zZ3N0ciAi56OB6YGTL+afsemdoiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4NgorbXNnaWQgIlNlY3RvcnMvQ3lsaW5kZXIiCittc2dzdHIgIuaJh+WMui/mn7HpnaIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTggbGliZmRpc2svc3JjL2Rvcy5jOjIzMDMKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU3IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTYgbGliZmRpc2svc3JjL3N1bi5jOjExMTMKK21zZ2lkICJDeWxpbmRlcnMiCittc2dzdHIgIuafsemdoiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5NiBsaWJmZGlzay9zcmMvc3VuLmM6NzYwCittc2dpZCAiUnBtIgorbXNnc3RyICLovazmr4/liIYiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDEgbGliZmRpc2svc3JjL3NnaS5jOjI5MiBsaWJmZGlzay9zcmMvc3VuLmM6NzgwCittc2dpZCAiSW50ZXJsZWF2ZSIKK21zZ3N0ciAi5Lqk6ZSZIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTA2Cittc2dpZCAiVHJhY2tza2V3IgorbXNnc3RyICLno4HpgZPonrrot50iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTEKK21zZ2lkICJDeWxpbmRlcnNrZXciCittc2dzdHIgIuafseWktOieuui3nSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxNgorbXNnaWQgIkhlYWRzd2l0Y2giCittc2dzdHIgIuejgeWktOWIh+aNoiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUyMQorbXNnaWQgIlRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgIui3qOejgemBk+WumuS9jSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMQorbXNnaWQgImJ5dGVzL3NlY3RvciIKK21zZ3N0ciAi5a2X6IqCL+aJh+WMuiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNAorbXNnaWQgInNlY3RvcnMvdHJhY2siCittc2dzdHIgIuaJh+WMui/no4HpgZMiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTUKK21zZ2lkICJ0cmFja3MvY3lsaW5kZXIiCittc2dzdHIgIuejgemBky/mn7HpnaIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTYKK21zZ2lkICJjeWxpbmRlcnMiCittc2dzdHIgIuafsemdoiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMAorbXNnaWQgInNlY3RvcnMvY3lsaW5kZXIiCittc2dzdHIgIuaJh+WMui/mn7HpnaIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjMKK21zZ2lkICJycG0iCittc2dzdHIgInJwbSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNAorbXNnaWQgImludGVybGVhdmUiCittc2dzdHIgIuS6pOmUmSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNQorbXNnaWQgInRyYWNrc2tldyIKK21zZ3N0ciAi56OB6YGT6J666LedIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI2Cittc2dpZCAiY3lsaW5kZXJza2V3IgorbXNnc3RyICLmn7HlpLTonrrot50iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjgKK21zZ2lkICJoZWFkc3dpdGNoIgorbXNnc3RyICLno4HlpLTliIfmjaIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjkKK21zZ2lkICJ0cmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICLot6jno4HpgZPlrprkvY0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RzdHJhcCBmaWxlICVzIHN1Y2Nlc3NmdWxseSBsb2FkZWQuIgorbXNnc3RyICLmiJDlip/liqDovb3kuoblvJXlr7znqIvluo/mlofku7YgJXPjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwOiAlMSRzYm9vdCAtPiBib290JTEkcyAoZGVmYXVsdCAlMSRzKSIKK21zZ3N0ciAi5byV5a+877yaJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKOm7mOiupCAlMSRzKSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcwNAorbXNnaWQgIkJvb3RzdHJhcCBvdmVybGFwcyB3aXRoIGRpc2tsYWJlbCEiCittc2dzdHIgIuW8leWvvOeoi+W6j+S4juejgeebmOagh+etvumHjeWPoO+8gSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcyOAorIywgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXAgaW5zdGFsbGVkIG9uICVzLiIKK21zZ3N0ciAi5bey5ZyoICVzIOS4iuWuieijheW8leWvvOeoi+W6j+OAgiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwMAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4gIChEb24ndCBmb3JnZXQgdG8gd3JpdGUgdGhlICVzIGRpc2tsYWJlbCB0b28uKSIKK21zZ3N0ciAi56OB55uY5qCH562+5bey5YaZ5YWlICVz44CCKOS4jeimgeW/mOS6huS5n+WGmeWFpSAlcyDno4Hnm5jmoIfnrb7jgIIpIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiIKK21zZ3N0ciAi56OB55uY5qCH562+5bey5YaZ5YWlICVz44CCIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTA5IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjY2Cittc2dpZCAiU3luY2luZyBkaXNrcy4iCittc2dzdHIgIuato+WcqOWQjOatpeejgeebmOOAgiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk1MAorbXNnaWQgIkJTRCBsYWJlbCBpcyBub3QgbmVzdGVkIHdpdGhpbiBhIERPUyBwYXJ0aXRpb24uIgorbXNnc3RyICJCU0Qg5qCH562+5pyq5bWM5aWX5ZyoIERPUyDliIbljLrkuK3jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQlNEIHBhcnRpdGlvbiAnJWMnIGxpbmtlZCB0byBET1MgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIkJTRCDliIbljLrigJwlY+KAneW3sumTvuaOpeWIsCBET1Mg5YiG5Yy6ICV6deOAgiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMTQKK21zZ2lkICJTbGljZSIKK21zZ3N0ciAi54mHIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMQorbXNnaWQgIkZzaXplIgorbXNnc3RyICJGc2l6ZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjIKK21zZ2lkICJCc2l6ZSIKK21zZ3N0ciAiQnNpemUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIzCittc2dpZCAiQ3BnIgorbXNnc3RyICJDcGciCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zZSBkZXZpY2UgZmFpbGVkIgorbXNnc3RyICIlc++8muWFs+mXreiuvuWkh+Wksei0pSIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4MjcKK21zZ2lkICJjeWxpbmRlciIKK21zZ2lkX3BsdXJhbCAiY3lsaW5kZXJzIgorbXNnc3RyWzBdICLmn7HpnaIiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODI4Cittc2dpZCAic2VjdG9yIgorbXNnaWRfcGx1cmFsICJzZWN0b3JzIgorbXNnc3RyWzBdICLmiYfljLoiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6MTEzMQorbXNnaWQgIkluY29tcGxldGUgZ2VvbWV0cnkgc2V0dGluZy4iCittc2dzdHIgIuS4jeWujOaVtOeahOWHoOS9leWxnuaAp+iuvue9ruOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxNAorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgaGF2ZSBiZWVuIGRlZmluZWQgYWxyZWFkeS4iCittc2dzdHIgIuW3sue7j+WumuS5ieS6huaJgOacieS4u+WIhuWMuuOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBleHRlbmRlZCBwYXJ0aXRpb24gdGFibGUgKG9mZnNldD0lanUpIgorbXNnc3RyICLor7vlj5bmianlsZXliIbljLrooajlpLHotKUo5YGP56e7PSVqdSkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozMjgKK21zZ2lkICJZb3UgY2FuIHNldCBnZW9tZXRyeSBmcm9tIHRoZSBleHRyYSBmdW5jdGlvbnMgbWVudS4iCittc2dzdHIgIuaCqOWPr+S7peS7jiDmm7TlpJrlip/og70g6I+c5Y2V6I635Y+W5Yeg5L2V5bGe5oCn44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzMxCittc2dpZCAiRE9TLWNvbXBhdGlibGUgbW9kZSBpcyBkZXByZWNhdGVkLiIKK21zZ3N0ciAiRE9TIOWFvOWuueaooeW8j+W3suW6n+W8g+OAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjMzNQorbXNnaWQgIlRoZSBkZXZpY2UgcHJlc2VudHMgYSBsb2dpY2FsIHNlY3RvciBzaXplIHRoYXQgaXMgc21hbGxlciB0aGFuIHRoZSBwaHlzaWNhbCBzZWN0b3Igc2l6ZS4gQWxpZ25pbmcgdG8gYSBwaHlzaWNhbCBzZWN0b3IgKG9yIG9wdGltYWwgSS9PKSBzaXplIGJvdW5kYXJ5IGlzIHJlY29tbWVuZGVkLCBvciBwZXJmb3JtYW5jZSBtYXkgYmUgaW1wYWN0ZWQuIgorbXNnc3RyICLorr7lpIfkuIrlrZjlnKjkuIDkuKrlsI/kuo7niannkIbmiYfljLrlsLrlr7jnmoTpgLvovpHmiYfljLrlsLrlr7jjgILlu7rorq7mgqjlr7npvZDliLDniannkIbmiYfljLoo5oiW5pyA5L2zIEkvTynlsLrlr7jovrnnlYzvvIzlkKbliJnmgKfog73lj6/og73lj5flvbHlk43jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDEKK21zZ2lkICJDeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4iCittc2dzdHIgIuS7peafsemdouS4uuaYvuekuuWNleS9jeeahOaWueW8j+W3suW6n+W8g+OAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0OAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgc2l6ZSBvZiB0aGlzIGRpc2sgaXMgJXMgKCVqdSBieXRlcykuIERPUyBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IGNhbiBub3QgYmUgdXNlZCBvbiBkcml2ZXMgZm9yIHZvbHVtZXMgbGFyZ2VyIHRoYW4gJWx1IGJ5dGVzIGZvciAlbHUtYnl0ZSBzZWN0b3JzLiBVc2UgR1VJRCBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IChHUFQpLiIKK21zZ3N0ciAi6K+l56OB55uY55qE5aSn5bCP5Li6ICVzICglanUg5Liq5a2X6IqCKeOAgkRPUyDliIbljLrooajkuI3og73nlKjkuo7ljbflrrnph4/lpKfkuo4gJWx1IOWtl+iKgu+8jCVsdSDlrZfoioLmiYfljLrnmoTpqbHliqjlmajjgILor7fkvb/nlKggR1VJRCDliIbljLrooajmoLzlvI8oR1BUKeOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjUwMworbXNnaWQgIkJhZCBvZmZzZXQgaW4gcHJpbWFyeSBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICLkuLvmianlsZXliIbljLrkuK3nmoTlgY/np7vplJnor6/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiT21pdHRpbmcgcGFydGl0aW9ucyBhZnRlciAjJXp1LiBUaGV5IHdpbGwgYmUgZGVsZXRlZCBpZiB5b3Ugc2F2ZSB0aGlzIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIuitpuWRiu+8muWwhuW/veeVpSAjJXp1IOWQjueahOaJh+WMuuOAguWmguaenOaCqOS/neWtmOatpOWIhuWMuuihqO+8jOWug+S7rOS8muiiq+WIoOmZpOOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJFeHRyYSBsaW5rIHBvaW50ZXIgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIuWcqOWIhuWMuuihqCAlenUg5Lit5pyJ6aKd5aSW6ZO+5o6l5oyH6ZKI44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGRhdGEgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIuWwhuW/veeVpeWIhuWMuuihqCAlenUg5Lit55qE6aKd5aSW5pWw5o2u44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9taXR0aW5nIGVtcHR5IHBhcnRpdGlvbiAoJXp1KSIKK21zZ3N0ciAi5bCG5b+955Wl56m65YiG5Yy6KCV6dSkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC4iCittc2dzdHIgIuWIm+W7uuS6huS4gOS4quejgeebmOagh+ivhuespuS4uiAweCUwOHgg55qE5pawIERPUyDno4Hnm5jmoIfnrb7jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2ODUKK21zZ2lkICJFbnRlciB0aGUgbmV3IGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAi6L6T5YWl5paw56OB55uY5qCH6K+G56ymIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjkyCittc2dpZCAiSW5jb3JyZWN0IHZhbHVlLiIKK21zZ3N0ciAi5peg5pWI55qE5YC844CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gMHglMDh4IHRvIDB4JTA4eC4iCittc2dzdHIgIuejgeebmOagh+ivhuS7jiAweCUwOHgg5pS55Li6IDB4JTA4eOOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjc5MworIywgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBleHRlbmRlZCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICLlsIblv73nlaXpop3lpJbnmoTmianlsZXliIbljLogJXp1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6ODA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgZmxhZyAweCUwMnglMDJ4IG9mIEVCUiAoZm9yIHBhcnRpdGlvbiAlenUpIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkuIgorbXNnc3RyICLliIbljLrooaggJTMkenUg55qE5peg5pWI5qCH5b+XIDB4JTEkMDJ4JTIkMDJ4IOWwhumAmui/h+WGmeWFpeadpeabtOatoyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjkyMAorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFydCBzZWN0b3IgJWp1IG91dCBvZiByYW5nZS4iCittc2dzdHIgIui1t+Wni+aJh+WMuiAlanUg6LaF5Ye66IyD5Zu044CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTAyNiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzNiBsaWJmZGlzay9zcmMvc2dpLmM6ODM5CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorbXNnc3RyICLliIbljLogJXp1IOW3sue7j+WumuS5iei/h+OAguivt+WIoOmZpOWQjuWGjemHjeaWsOa3u+WKoOWug+OAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVsbHUgaXMgYWxyZWFkeSBhbGxvY2F0ZWQuIgorbXNnc3RyICLmiYfljLogJWxsdSDlt7Lnu4/liIbphY0uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTEzMyBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0NgorbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGUuIgorbXNnc3RyICLml6Dnqbrpl7LmiYfljLrlj6/nlKjjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIkFkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIua3u+WKoOmAu+i+keWIhuWMuiAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGNvbnRhaW5zIHNlY3RvciAwIgorbXNnc3RyICLliIbljLogJXp177ya5YyF5ZCr5omH5Yy6IDAiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGhlYWQgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWQiCittc2dzdHIgIuWIhuWMuiAlenXvvJrno4HlpLQgJWQg5aSn5LqO5pyA5aSn5YC8ICVkIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMyMQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBzZWN0b3IgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAi5YiG5Yy6ICV6de+8muaJh+WMuiAlZCDlpKfkuo7mnIDlpKflgLwgJWxsdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY3lsaW5kZXIgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAi5YiG5Yy6ICV6de+8muafsemdoiAlZCDlpKfkuo7mnIDlpKflgLwgJWxsdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogcHJldmlvdXMgc2VjdG9ycyAldSBkaXNhZ3JlZXMgd2l0aCB0b3RhbCAldSIKK21zZ3N0ciAi5YiG5Yy6ICV6de+8muS5i+WJjeeahOaJh+WMuuaVsCAldSDkuI7mgLvmlbAgJXUg5LiN56ymIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM4MworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBiZWdpbm5pbmdzIChub24tTGludXg/KTogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICLliIbljLogJXp1IOeahOeJqeeQhi/pgLvovpHotbfngrnkuI3lkIwo6Z2eIExpbnV4IOWIhuWMuu+8nynvvJrniannkIY9KCVkLCAlZCwgJWQpLCDpgLvovpE9KCVkLCAlZCwgJWQpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM5NAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBlbmRpbmdzOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIuWIhuWMuiAlenUg55qE54mp55CGL+mAu+i+kee7iOeCueS4jeWQjO+8mueJqeeQhj0oJWQsICVkLCAlZCksIOmAu+i+kT0oJWQsICVkLCAlZCkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIuWIhuWMuiAlenUg5pyq57uT5p2f5Zyo5p+x6Z2i6L6555WM5LiK44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQyOQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBiYWQgc3RhcnQtb2YtZGF0YS4iCittc2dzdHIgIuWIhuWMuiAlenXvvJrmlbDmja7otbfngrnplJnor6/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDQyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG92ZXJsYXBzIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICLliIbljLogJXp177ya5LiOIOWIhuWMuiAlenUg6YeN5Y+g44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ2OAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBlbXB0eS4iCittc2dzdHIgIuWIhuWMuiAlenXvvJrnqbrliIbljLrjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDczCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2ljYWwgcGFydGl0aW9uICV6dTogbm90IGVudGlyZWx5IGluIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICLpgLvovpHliIbljLogJXp177ya5rKh5pyJ5a6M5YWo5Zyo5YiG5Yy6ICV6dSDkuK3jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDgxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRvdGFsIGFsbG9jYXRlZCBzZWN0b3JzICVsbHUgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtICVsbHUuIgorbXNnc3RyICLliIbphY3nmoTmgLvmiYfljLrmlbAgJWxsdSDlpKfkuo7mnIDlpKflgLwgJWxsdeOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVtYWluaW5nICVsbGQgdW5hbGxvY2F0ZWQgJWxkLWJ5dGUgc2VjdG9ycy4iCittc2dzdHIgIuWJqeS9mSAlbGxkIOacquWIhumFjeeahCAlbGTlrZfoioIg5omH5Yy644CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUzMiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1NAorbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgIuaJqeWxleWIhuWMuuW3suWtmOWcqOOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1NzUKK21zZ2lkICJUaGUgbWF4aW11bSBudW1iZXIgb2YgcGFydGl0aW9ucyBoYXMgYmVlbiBjcmVhdGVkLiIKK21zZ3N0ciAi5bey5Yib5bu65YiG5Yy66L6+5Yiw5pyA5aSn5pWw6YeP44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU4NworbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4iCittc2dzdHIgIuaJgOacieS4u+WIhuWMuumDveWcqOS9v+eUqOS4reOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1ODkgbGliZmRpc2svc3JjL2Rvcy5jOjE2MDAKK21zZ2lkICJBbGwgc3BhY2UgZm9yIHByaW1hcnkgcGFydGl0aW9ucyBpcyBpbiB1c2UuIgorbXNnc3RyICLmiYDmnInkuLvliIbljLrnmoTnqbrpl7Tpg73lnKjkvb/nlKjkuK3jgIIiCisKKyMuIFRSQU5TTEFUT1JTOiBUcnkgdG8ga2VlcCB0aGlzIHdpdGhpbiA4MCBjaGFyYWN0ZXJzLgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDMKK21zZ2lkICJUbyBjcmVhdGUgbW9yZSBwYXJ0aXRpb25zLCBmaXJzdCByZXBsYWNlIGEgcHJpbWFyeSB3aXRoIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIuimgeWIm+W7uuabtOWkmuWIhuWMuu+8jOivt+WFiOWwhuS4gOS4quS4u+WIhuWMuuabv+aNouS4uuaJqeWxleWIhuWMuuOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDgKK21zZ2lkICJBbGwgbG9naWNhbCBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIEFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uLiIKK21zZ3N0ciAi5omA5pyJ6YC76L6R5YiG5Yy66YO95Zyo5L2/55So5Lit44CC5bCG5re75Yqg5LiA5Liq5Li75YiG5Yy644CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzMAorbXNnaWQgIlBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICLliIbljLrnsbvlnosiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiV6dSBwcmltYXJ5LCAlZCBleHRlbmRlZCwgJXp1IGZyZWUiCittc2dzdHIgIiV6deS4quS4u+WIhuWMuu+8jCVk5Liq5omp5bGV5YiG5Yy677yMJXp156m66ZeyIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzOQorbXNnaWQgInByaW1hcnkiCittc2dzdHIgIuS4u+WIhuWMuiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDEKK21zZ2lkICJleHRlbmRlZCIKK21zZ3N0ciAi5omp5bGV5YiG5Yy6IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MQorbXNnaWQgImNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zIgorbXNnc3RyICLpgLvovpHliIbljLrlrrnlmagiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjQzCittc2dpZCAibG9naWNhbCIKK21zZ3N0ciAi6YC76L6R5YiG5Yy6IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MworbXNnaWQgIm51bWJlcmVkIGZyb20gNSIKK21zZ3N0ciAi5LuOIDUg5byA5aeL57yW5Y+3IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY4MQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiB0eXBlIGAlYycuIgorbXNnc3RyICLml6DmlYjnmoTliIbljLrnsbvlnovigJwlY+KAneOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlIHNlY3RvciAlamQ6IHNlZWsgZmFpbGVkIgorbXNnc3RyICLlhpnmiYfljLogJWpkIOWksei0pe+8muWumuS9jeWksei0pSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE4NTIgbGliZmRpc2svc3JjL2dwdC5jOjEwOTYKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIuejgeebmOagh+ivhuespiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE5NTkKK21zZ2lkICJUeXBlIDAgbWVhbnMgZnJlZSBzcGFjZSB0byBtYW55IHN5c3RlbXMuIEhhdmluZyBwYXJ0aXRpb25zIG9mIHR5cGUgMCBpcyBwcm9iYWJseSB1bndpc2UuIgorbXNnc3RyICLlvojlpJrns7vnu5/lsIbnsbvlnosgMCDop4bkuLrnqbrpl7Lnqbrpl7TjgILkuI3lu7rorq7orr7nva7nsbvlnovkuLogMCDnmoTliIbljLrjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxOTY0Cittc2dpZCAiQ2Fubm90IGNoYW5nZSB0eXBlIG9mIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24gd2hpY2ggaXMgYWxyZWFkeSB1c2VkIGJ5IGxvZ2ljYWwgcGFydGl0aW9ucy4gRGVsZXRlIGxvZ2ljYWwgcGFydGl0aW9ucyBmaXJzdC4iCittc2dzdHIgIuaXoOazleabtOaUueW3suiiq+mAu+i+keWIhuWMuuS9v+eUqOeahOaJqeWxleWIhuWMuueahOexu+Wei+OAguivt+WFiOWIoOmZpOmAu+i+keWIhuWMuuOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxNDMgbGliZmRpc2svc3JjL2dwdC5jOjI4MjEKK21zZ2lkICJOb3RoaW5nIHRvIGRvLiBPcmRlcmluZyBpcyBjb3JyZWN0IGFscmVhZHkuIgorbXNnc3RyICLml6Dpobvmk43kvZzjgILpobrluo/lt7Lnu4/mmK/mraPnoa7nmoTkuobjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG5vIGRhdGEgYXJlYS4iCittc2dzdHIgIuWIhuWMuiAlenXvvJrml6DmlbDmja7ljLrjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjIyCittc2dpZCAiTmV3IGJlZ2lubmluZyBvZiBkYXRhIgorbXNnc3RyICLmlrDmlbDmja7otbfngrkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGlzIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIuWIhuWMuiAlenXvvJrmmK/kuIDkuKrmianlsZXliIbljLrjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICLliIbljLogJXp1IOeahCDlj6/lkK/liqgg5qCH5b+X5bey5ZCv55So44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIuWIhuWMuiAlenUg55qEIOWPr+WQr+WKqCDmoIflv5flt7LnpoHnlKjjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjk4IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTExIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTUzCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTEwOQorbXNnaWQgIkRldmljZSIKK21zZ3N0ciAi6K6+5aSHIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI5OSBsaWJmZGlzay9zcmMvc3VuLmM6NDEKK21zZ2lkICJCb290IgorbXNnc3RyICLlkK/liqgiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzA1IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU5IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE1Cittc2dpZCAiSWQiCittc2dzdHIgIklkIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwOQorbXNnaWQgIlN0YXJ0LUMvSC9TIgorbXNnc3RyICLotbflp4stQy9IL1MiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzEwCittc2dpZCAiRW5kLUMvSC9TIgorbXNnc3RyICLnu4gtQy9IL1MiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzExIGxpYmZkaXNrL3NyYy9ncHQuYzoyOTIxIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTYxCittc2dpZCAiQXR0cnMiCittc2dzdHIgIuWxnuaApyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MAorbXNnaWQgIkVGSSBTeXN0ZW0iCittc2dzdHIgIkVGSSDns7vnu58iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjIKK21zZ2lkICJNQlIgcGFydGl0aW9uIHNjaGVtZSIKK21zZ3N0ciAiTUJSIOWIhuWMuuaWueahiCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MworbXNnaWQgIkludGVsIEZhc3QgRmxhc2giCittc2dzdHIgIkludGVsIEZhc3QgRmxhc2giCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjYKK21zZ2lkICJCSU9TIGJvb3QiCittc2dzdHIgIkJJT1Mg5ZCv5YqoIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY5Cittc2dpZCAiU29ueSBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiU29ueSDlkK/liqjliIbljLoiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzAKK21zZ2lkICJMZW5vdm8gYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIkxlbm92byDlkK/liqjliIbljLoiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzMKK21zZ2lkICJQb3dlclBDIFBSZVAgYm9vdCIKK21zZ3N0ciAiUG93ZXJQQyBQUmVQIGJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzYKK21zZ2lkICJPTklFIGJvb3QiCittc2dzdHIgIk9OSUUgYm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NworbXNnaWQgIk9OSUUgY29uZmlnIgorbXNnc3RyICJPTklFIOmFjee9riIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MAorbXNnaWQgIk1pY3Jvc29mdCByZXNlcnZlZCIKK21zZ3N0ciAiTWljcm9zb2Z0IOS/neeVmSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MQorbXNnaWQgIk1pY3Jvc29mdCBiYXNpYyBkYXRhIgorbXNnc3RyICJNaWNyb3NvZnQg5Z+65pys5pWw5o2uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgyCittc2dpZCAiTWljcm9zb2Z0IExETSBtZXRhZGF0YSIKK21zZ3N0ciAiTWljcm9zb2Z0IExETSDlhYPmlbDmja4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODMKK21zZ2lkICJNaWNyb3NvZnQgTERNIGRhdGEiCittc2dzdHIgIk1pY3Jvc29mdCBMRE0g5pWw5o2uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg0Cittc2dpZCAiV2luZG93cyByZWNvdmVyeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiV2luZG93cyDmgaLlpI3njq/looMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODUKK21zZ2lkICJJQk0gR2VuZXJhbCBQYXJhbGxlbCBGcyIKK21zZ3N0ciAiSUJNIOmAmueUqOW5tuihjOaWh+S7tuezu+e7nyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NgorbXNnaWQgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKK21zZ3N0ciAiTWljcm9zb2Z0IOWtmOWCqOepuumXtCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4OQorbXNnaWQgIkhQLVVYIGRhdGEiCittc2dzdHIgIkhQLVVYIOaVsOaNriIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MAorbXNnaWQgIkhQLVVYIHNlcnZpY2UiCittc2dzdHIgIkhQLVVYIOacjeWKoSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MyBsaWJmZGlzay9zcmMvc2dpLmM6NjEgbGliZmRpc2svc3JjL3N1bi5jOjUyCittc2dpZCAiTGludXggc3dhcCIKK21zZ3N0ciAiTGludXggc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NAorbXNnaWQgIkxpbnV4IGZpbGVzeXN0ZW0iCittc2dzdHIgIkxpbnV4IOaWh+S7tuezu+e7nyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NQorbXNnaWQgIkxpbnV4IHNlcnZlciBkYXRhIgorbXNnc3RyICJMaW51eCDkv53nlZnmlbDmja4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTYKK21zZ2lkICJMaW51eCByb290ICh4ODYpIgorbXNnc3RyICJMaW51eCByb290ICh4ODYpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3Cittc2dpZCAiTGludXggcm9vdCAoQVJNKSIKK21zZ3N0ciAiTGludXggcm9vdCAoQVJNKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OAorbXNnaWQgIkxpbnV4IHJvb3QgKHg4Ni02NCkiCittc2dzdHIgIkxpbnV4IHJvb3QgKHg4Ni02NCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTkKK21zZ2lkICJMaW51eCByb290IChBUk0tNjQpIgorbXNnc3RyICJMaW51eCByb290IChBUk0tNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwCittc2dpZCAiTGludXggcm9vdFx0KElBLTY0KSIKK21zZ3N0ciAiTGludXggcm9vdFx0KElBLTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMQorbXNnaWQgIkxpbnV4IHJlc2VydmVkIgorbXNnc3RyICJMaW51eCDkv53nlZkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDIKK21zZ2lkICJMaW51eCBob21lIgorbXNnc3RyICJMaW51eCBob21lIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2NAorbXNnaWQgIkxpbnV4IFJBSUQiCittc2dzdHIgIkxpbnV4IFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQKK21zZ2lkICJMaW51eCBleHRlbmRlZCBib290IgorbXNnc3RyICJMaW51eCDmianlsZXlkK/liqgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTIKK21zZ2lkICJGcmVlQlNEIGRhdGEiCittc2dzdHIgIkZyZWVCU0Qg5pWw5o2uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzCittc2dpZCAiRnJlZUJTRCBib290IgorbXNnc3RyICJGcmVlQlNEIOWQr+WKqCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNAorbXNnaWQgIkZyZWVCU0Qgc3dhcCIKK21zZ3N0ciAiRnJlZUJTRCDkuqTmjaIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUKK21zZ2lkICJGcmVlQlNEIFVGUyIKK21zZ3N0ciAiRnJlZUJTRCBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTYKK21zZ2lkICJGcmVlQlNEIFpGUyIKK21zZ3N0ciAiRnJlZUJTRCBaRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTcKK21zZ2lkICJGcmVlQlNEIFZpbnVtIgorbXNnc3RyICJGcmVlQlNEIFZpbnVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIwCittc2dpZCAiQXBwbGUgSEZTL0hGUysiCittc2dzdHIgIkFwcGxlIEhGUy9IRlMrIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxCittc2dpZCAiQXBwbGUgVUZTIgorbXNnc3RyICJBcHBsZSBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjIKK21zZ2lkICJBcHBsZSBSQUlEIgorbXNnc3RyICJBcHBsZSBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzCittc2dpZCAiQXBwbGUgUkFJRCBvZmZsaW5lIgorbXNnc3RyICJBcHBsZSBSQUlEIOemu+e6vyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNAorbXNnaWQgIkFwcGxlIGJvb3QiCittc2dzdHIgIkFwcGxlIOWQr+WKqCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNQorbXNnaWQgIkFwcGxlIGxhYmVsIgorbXNnc3RyICJBcHBsZSDmoIfnrb4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjYKK21zZ2lkICJBcHBsZSBUViByZWNvdmVyeSIKK21zZ3N0ciAiQXBwbGUgVFYg5oGi5aSNIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI3Cittc2dpZCAiQXBwbGUgQ29yZSBzdG9yYWdlIgorbXNnc3RyICJBcHBsZSBDb3JlIOWtmOWCqCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMQorbXNnaWQgIlNvbGFyaXMgcm9vdCIKK21zZ3N0ciAiU29sYXJpcyByb290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMzCittc2dpZCAiU29sYXJpcyAvdXNyICYgQXBwbGUgWkZTIgorbXNnc3RyICJTb2xhcmlzIC91c3IgJiBBcHBsZSBaRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzQKK21zZ2lkICJTb2xhcmlzIHN3YXAiCittc2dzdHIgIlNvbGFyaXMg5Lqk5o2iIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM1Cittc2dpZCAiU29sYXJpcyBiYWNrdXAiCittc2dzdHIgIlNvbGFyaXMg5aSH5Lu9IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM2Cittc2dpZCAiU29sYXJpcyAvdmFyIgorbXNnc3RyICJTb2xhcmlzIC92YXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzcKK21zZ2lkICJTb2xhcmlzIC9ob21lIgorbXNnc3RyICJTb2xhcmlzIC9ob21lIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM4Cittc2dpZCAiU29sYXJpcyBhbHRlcm5hdGUgc2VjdG9yIgorbXNnc3RyICJTb2xhcmlzIOWkh+mAieaJh+WMuiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMSIKK21zZ3N0ciAiU29sYXJpcyDkv53nlZkgMSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MAorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMiIKK21zZ3N0ciAiU29sYXJpcyDkv53nlZkgMiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMyIKK21zZ3N0ciAiU29sYXJpcyDkv53nlZkgMyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MgorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNCIKK21zZ3N0ciAiU29sYXJpcyDkv53nlZkgNCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MworbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNSIKK21zZ3N0ciAiU29sYXJpcyDkv53nlZkgNSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NgorbXNnaWQgIk5ldEJTRCBzd2FwIgorbXNnc3RyICJOZXRCU0Qg5Lqk5o2iIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ3Cittc2dpZCAiTmV0QlNEIEZGUyIKK21zZ3N0ciAiTmV0QlNEIEZGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OAorbXNnaWQgIk5ldEJTRCBMRlMiCittc2dzdHIgIk5ldEJTRCBMRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDkKK21zZ2lkICJOZXRCU0QgY29uY2F0ZW5hdGVkIgorbXNnc3RyICJOZXRCU0QgY29uY2F0ZW5hdGVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwCittc2dpZCAiTmV0QlNEIGVuY3J5cHRlZCIKK21zZ3N0ciAiTmV0QlNEIOWKoOWvhiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MQorbXNnaWQgIk5ldEJTRCBSQUlEIgorbXNnc3RyICJOZXRCU0QgUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NAorbXNnaWQgIkNocm9tZU9TIGtlcm5lbCIKK21zZ3N0ciAiQ2hyb21lT1Mg5YaF5qC4IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU1Cittc2dpZCAiQ2hyb21lT1Mgcm9vdCBmcyIKK21zZ3N0ciAiQ2hyb21lT1Mg5qC55paH5Lu257O757ufIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU2Cittc2dpZCAiQ2hyb21lT1MgcmVzZXJ2ZWQiCittc2dzdHIgIkNocm9tZU9TIOS/neeVmSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OQorbXNnaWQgIk1pZG5pZ2h0QlNEIGRhdGEiCittc2dzdHIgIk1pZG5pZ2h0QlNEIOaVsOaNriIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MAorbXNnaWQgIk1pZG5pZ2h0QlNEIGJvb3QiCittc2dzdHIgIk1pZG5pZ2h0QlNEIOWQr+WKqCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MQorbXNnaWQgIk1pZG5pZ2h0QlNEIHN3YXAiCittc2dzdHIgIk1pZG5pZ2h0QlNEIOS6pOaNoiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MgorbXNnaWQgIk1pZG5pZ2h0QlNEIFVGUyIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgVUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYzCittc2dpZCAiTWlkbmlnaHRCU0QgWkZTIgorbXNnc3RyICJNaWRuaWdodEJTRCBaRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjQKK21zZ2lkICJNaWRuaWdodEJTRCBWaW51bSIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgVmludW0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjcKK21zZ2lkICJDZXBoIEpvdXJuYWwiCittc2dzdHIgIkNlcGgg5pel5b+XIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4Cittc2dpZCAiQ2VwaCBFbmNyeXB0ZWQgSm91cm5hbCIKK21zZ3N0ciAiQ2VwaCDliqDlr4bml6Xlv5ciCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjkKK21zZ2lkICJDZXBoIE9TRCIKK21zZ3N0ciAiQ2VwaCBPU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAKK21zZ2lkICJDZXBoIGNyeXB0IE9TRCIKK21zZ3N0ciAiQ2VwaCDliqDlr4YgT1NEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcxCittc2dpZCAiQ2VwaCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICLliJvlu7rkuK3nmoQgQ2VwaCDno4Hnm5giCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzIKK21zZ2lkICJDZXBoIGNyeXB0IGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIuWIm+W7uuS4reeahOWKoOWvhiBDZXBoIOejgeebmCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NQorbXNnaWQgIk9wZW5CU0QgZGF0YSIKK21zZ3N0ciAiT3BlbkJTRCDmlbDmja4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzgKK21zZ2lkICJRTlg2IGZpbGUgc3lzdGVtIgorbXNnc3RyICJRTlg2IOaWh+S7tuezu+e7nyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4MQorbXNnaWQgIlBsYW4gOSBwYXJ0aXRpb24iCittc2dzdHIgIlBsYW4gOSDliIbljLoiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo1NDcKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR1BUIGhlYWRlciIKK21zZ3N0ciAi5YiG6YWNIEdQVCDlpLTlpLHotKUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo2MzAKK21zZ2lkICJGaXJzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICLohJrmnKzmjIflrprnmoTnrKzkuIDkuKogTEJBIOi2heWHuuiMg+WbtOOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjY0MgorbXNnaWQgIkxhc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAi6ISa5pys5oyH5a6a55qE5pyA5ZCO5LiA5LiqIExCQSDotoXlh7rojIPlm7TjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR1BUIFBNQlIgc2l6ZSBtaXNtYXRjaCAoJTxQUkl1NjQ+ICE9ICU8UFJJdTY0Pikgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIkdQVCBQTUJSIOWkp+Wwj+S4jeespiglPFBSSXU2ND4gIT0gJTxQUkl1NjQ+Ke+8jOWwhueUqCB3KOWGmSkg5LqI5Lul5pu05q2j44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NzkyCittc2dpZCAiZ3B0OiBzdGF0KCkgZmFpbGVkIgorbXNnc3RyICJncHTvvJpzdGF0KCkg5aSx6LSlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6ODAyCisjLCBjLWZvcm1hdAorbXNnaWQgImdwdDogY2Fubm90IGhhbmRsZSBmaWxlcyB3aXRoIG1vZGUgJW8iCittc2dzdHIgImdwdO+8muaXoOazleaTjeS9nOaooeW8j+S4uiAlbyDnmoTmlofku7YiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMDY0Cittc2dpZCAiR1BUIEhlYWRlciIKK21zZ3N0ciAiR1BUIOWktCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEwNjkKK21zZ2lkICJHUFQgRW50cmllcyIKK21zZ3N0ciAiR1BUIOiusOW9lemhuSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExMDMKK21zZ2lkICJGaXJzdCBMQkEiCittc2dzdHIgIuesrOS4gOS4qiBMQkEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTA4Cittc2dpZCAiTGFzdCBMQkEiCittc2dzdHIgIuacgOWQjuS4gOS4qiBMQkEiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgTEJBIChMb2dpY2FsIEJsb2NrIEFkZHJlc3MpIG9mIHRoZSBiYWNrdXAgR1BUIGhlYWRlci4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTE0Cittc2dpZCAiQWx0ZXJuYXRpdmUgTEJBIgorbXNnc3RyICLmm7/ku6MgTEJBIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YXJ0IG9mIHRoZSBhcnJheSBvZiBwYXJ0aXRpb24gZW50cmllcy4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTIwCittc2dpZCAiUGFydGl0aW9uIGVudHJpZXMgTEJBIgorbXNnc3RyICLliIbljLrorrDlvZXpobkgTEJBIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTEyNQorbXNnaWQgIkFsbG9jYXRlZCBwYXJ0aXRpb24gZW50cmllcyIKK21zZ3N0ciAi5bey5YiG6YWN55qE5YiG5Yy66aG5IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTQ0MAorbXNnaWQgIlRoZSBiYWNrdXAgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgcHJpbWFyeSBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIuWkh+S7vSBHUFQg6KGo5o2f5Z2P77yM5L2G5Li76KGo5Ly85LmO5q2j5bi477yM5bCG5L2/55So5a6D44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTQ0OQorbXNnaWQgIlRoZSBwcmltYXJ5IEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIGJhY2t1cCBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIuS4uyBHUFQg6KGo5o2f5Z2P77yM5L2G5aSH5Lu95Ly85LmO5q2j5bi477yM5bCG5L2/55So5a6D44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBHUFQgYXR0cmlidXRlIGJpdCAnJXMnIgorbXNnc3RyICLkuI3mlK/mjIHnmoQgR1BUIOWxnuaAp+S9jeKAnCVz4oCdIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIEdQVCBhdHRyaWJ1dGUgc3RyaW5nICclcyciCittc2dzdHIgIuino+aekOWIl+ihqOKAnCVz4oCd5aSx6LSlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczMQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gVVVJRCBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICLliIbljLogVVVJRCDlt7Lku44gJXMg5pu05pS55Li6ICVz44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczOQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gbmFtZSBjaGFuZ2VkIGZyb20gJyVzJyB0byAnJS4qcycuIgorbXNnc3RyICLliIbljLrlkI3lt7LnlLHigJwlc+KAneaUueS4uuKAnCUuKnPigJ3jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzY4Cittc2dpZCAiVGhlIHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gdW5kZXJzdGVwcyBGaXJzdFVzYWJsZUxCQS4iCittc2dzdHIgIuWIhuWMuui1t+eCueacquWIsOmmluS4quWPr+eUqCBMQkHjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzc1Cittc2dpZCAiVGhlIGVuZCBvZiB0aGUgcGFydGl0aW9uIG92ZXJzdGVwcyBMYXN0VXNhYmxlTEJBLiIKK21zZ3N0ciAi5YiG5Yy657uI54K56LaF6L+H5LqG5pyA5ZCO5Y+v55SoIExCQeOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MzQKK21zZ2lkICJUaGUgZGV2aWNlIGNvbnRhaW5zIGh5YnJpZCBNQlIgLS0gd3JpdGluZyBHUFQgb25seS4gWW91IGhhdmUgdG8gc3luYyB0aGUgTUJSIG1hbnVhbGx5LiIKK21zZ3N0ciAi6K+l6K6+5aSH5YyF5ZCr5re35ZCIIE1CUiAtLSDlsIblj6rlhpnlhaUgR1BU44CC5oKo6ZyA6KaB5omL5Yqo5ZCM5q2lIE1CUuOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NzEKK21zZ2lkICJEaXNrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAi56OB55uY5LiN5ZCr5pyJ5pWI55qE5aSH55So56OB5aS044CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3NgorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAi5peg5pWI55qE5Li756OB5aS0IENSQyDmoKHpqozlkozjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTgwCittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIuaXoOaViOeahOWkh+S7veejgeWktCBDUkMg5qCh6aqM5ZKM44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4NQorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIGVudHJ5IGNoZWNrc3VtLiIKK21zZ3N0ciAi5peg5pWI55qE5YiG5Yy66K6w5b2V5qCh6aqM5ZKM44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5MAorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICLml6DmlYjnmoTkuLvno4HlpLQgTEJBIOWujOaVtOaAp+ajgOafpeOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OTQKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICLml6DmlYjnmoTlpIfnlKjno4HlpLQgTEJBIOWujOaVtOaAp+ajgOafpeOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OTkKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgcHJpbWFyeSBoZWFkZXIuIgorbXNnc3RyICJNeUxCQSDkuI3ljLnphY3vvIznnJ/mraPkvY3nva7lnKjkuLvno4HlpLTjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAzCittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICJNeUxCQSDkuI3ljLnphY3vvIznnJ/mraPkvY3nva7lnKjlpIfku73no4HlpLTjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDA4Cittc2dpZCAiRGlzayBpcyB0b28gc21hbGwgdG8gaG9sZCBhbGwgZGF0YS4iCittc2dzdHIgIuejgeebmOWkquWwj++8jOaUvuS4jeS4i+aJgOacieaVsOaNruOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMTgKK21zZ2lkICJQcmltYXJ5IGFuZCBiYWNrdXAgaGVhZGVyIG1pc21hdGNoLiIKK21zZ3N0ciAi5Li756OB5aS05ZKM5aSH5Lu956OB5aS05LiN5Yy56YWN44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAyNAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBwYXJ0aXRpb24gJXUuIgorbXNnc3RyICLliIbljLogJXUg5LiOICV1IOmHjeWPoOOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGlzIHRvbyBiaWcgZm9yIHRoZSBkaXNrLiIKK21zZ3N0ciAi5YiG5Yy6ICV1IOWvueS6juivpeejgeebmOiAjOiogOi/h+Wkp+OAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGVuZHMgYmVmb3JlIGl0IHN0YXJ0cy4iCittc2dzdHIgIuWIhuWMuiAldSDnu5PmnZ/kuo7otbfngrnkuYvliY3jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQ3Cittc2dpZCAiTm8gZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0ciAi5pyq5qOA5rWL5Yiw6ZSZ6K+v44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0OAorIywgYy1mb3JtYXQKK21zZ2lkICJIZWFkZXIgdmVyc2lvbjogJXMiCittc2dzdHIgIuejgeWktOeJiOacrO+8miVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0OQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyAldSBvdXQgb2YgJWQgcGFydGl0aW9ucy4iCittc2dzdHIgIuS9v+eUqOedgCAlMiRkIOS4quWIhuWMuuS4reeahCAlMSR1IOS4quOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50LiIKK21zZ2lkX3BsdXJhbCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50cyAodGhlIGxhcmdlc3QgaXMgJXMpLiIKK21zZ3N0clswXSAiJTIkdSDkuKrniYfmrrXkuK3lhbHmnIkgJTEkanUg5Liq56m66Zey5omH5Yy6KOacgOWkp+eahOaYryAlMyRzKeOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgZXJyb3IgZGV0ZWN0ZWQuIgorbXNnaWRfcGx1cmFsICIlZCBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyWzBdICLmo4DmtYvliLAgJWQg5Liq6ZSZ6K+v44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0MgorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIGFyZSBhbHJlYWR5IGluIHVzZS4iCittc2dzdHIgIuaJgOacieWIhuWMuuWdh+W3suWNoOeUqOOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOTcgbGliZmRpc2svc3JjL2dwdC5jOjIyMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVqdSBhbHJlYWR5IHVzZWQuIgorbXNnc3RyICLmiYfljLogJWp1IOW3suS9v+eUqOOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICLml6Dms5XliJvlu7rliIbljLogJXp1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgbGFzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAi5pyA5ZCO5LiA5Liq5Y+v55So55qEIEdQVCDmiYfljLrmmK8gJWp177yM5L2G6K+35rGC5LqGICVqdeOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpcnN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICLnrKzkuIDkuKrlj6/nlKjnmoQgR1BUIOaJh+WMuuaYryAlanXvvIzkvYbor7fmsYLkuoYgJWp144CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyOQorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IEdQVCBkaXNrbGFiZWwgKEdVSUQ6ICVzKS4iCittc2dzdHIgIuW3suWIm+W7uuaWsOeahCBHUFQg56OB55uY5qCH562+KEdVSUQ6ICVzKeOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NDcKK21zZ2lkICJFbnRlciBuZXcgZGlzayBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIui+k+WFpeaWsOejgeebmCBVVUlEKOS7pSA4LTQtNC00LTEyIOagvOW8jykiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDU0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHlvdXIgVVVJRC4iCittc2dzdHIgIuino+aekOaCqOeahCBVVUlEIOWksei0peOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIuWwhuejgeebmOagh+ivhuS7jiAlcyDmm7TmlLnkuLogJXMg5aSx6LSl44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4OAorbXNnaWQgIk5vdCBlbm91Z2ggc3BhY2UgZm9yIG5ldyBwYXJ0aXRpb24gdGFibGUhIgorbXNnc3RyICLliJvlu7rmlrDliIbljLrooajnmoTnqbrpl7Lnqbrpl7TkuI3lpJ/vvIEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXUgb3V0IG9mIHJhbmdlIChtaW5pbWFsIHN0YXJ0IGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAi5YiG5Yy6ICMldSDotoXlh7rojIPlm7Qo5pyA5bCP6LW354K55pivICU8UFJJdTY0PiDmiYfljLopIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwMgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV1IG91dCBvZiByYW5nZSAobWF4aW1hbCBlbmQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICLliIbljLogIyV1IOi2heWHuuiMg+WbtCjmnIDlsI/nu4jngrnmmK8gJTxQUkl1NjQ+IOaJh+WMuikiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgbnVtYmVyIG9mIHRoZSBwYXJ0aXRpb24gaGFzIGJlIHNtYWxsZXIgdGhhbiAlenUuIgorbXNnc3RyICLlt7LliJvlu7rliIbljLrovr7liLDmnIDlpKfmlbDph4/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTYzCittc2dpZCAiQ2Fubm90IGFsbG9jYXRlIG1lbW9yeSEiCittc2dzdHIgIuaXoOazleWIhumFjeWGheWtmO+8gSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGxlbmd0aCBjaGFuZ2VkIGZyb20gJTxQUkl1MzI+IHRvICU8UFJJdTY0Pi4iCittc2dzdHIgIuWIhuWMuuihqOmVv+W6puW3suS7jiAlPFBSSXUzMj4g5pS55Li6ICU8UFJJdTY0PuOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGF0dHJpYnV0ZXMgb24gcGFydGl0aW9uICV6dSBjaGFuZ2VkIHRvIDB4JTAxNjxQUkl4NjQ+LiIKK21zZ3N0ciAi5YiG5Yy6ICV6dSDnmoTlsZ7mgKflt7LmlLnkuLogMHglMDE2PFBSSXg2ND7jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzQyCittc2dpZCAiRW50ZXIgR1VJRCBzcGVjaWZpYyBiaXQiCittc2dzdHIgIui+k+WFpSBHVUlEIOeJueWumuS9jSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHRvZ2dsZSB1bnN1cHBvcnRlZCBiaXQgJWx1IgorbXNnc3RyICLlvIAv5YWz5LiN5pSv5oyB55qE5L2NICVsdSDlpLHotKUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAi5YiG5Yy6ICUyJHp1IOS4iueahCBHVUlEIOeJueWumuS9jSAlMSRkIOeOsOW3suWQr+eUqOOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAi5YiG5Yy6ICUyJHp1IOS4iueahCBHVUlEIOeJueWumuS9jSAlMSRkIOeOsOW3suemgeeUqOOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIuWIhuWMuiAlMiR6dSDkuIrnmoTmoIflv5cgJTEkcyDnjrDlt7LlkK/nlKjjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAi5YiG5Yy6ICUyJHp1IOS4iueahOagh+W/lyAlMSRzIOeOsOW3suemgeeUqOOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTgKK21zZ2lkICJUeXBlLVVVSUQiCittc2dzdHIgIuexu+Weiy1VVUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxOQorbXNnaWQgIlVVSUQiCittc2dzdHIgIlVVSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTIwIGxvZ2luLXV0aWxzL2NoZm4uYzoxNTAgbG9naW4tdXRpbHMvY2hmbi5jOjE1MgorIzogbG9naW4tdXRpbHMvY2hmbi5jOjMwNworbXNnaWQgIk5hbWUiCittc2dzdHIgIuWQjeensCIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjg0MAorbXNnaWQgIkZyZWUgc3BhY2UiCittc2dzdHIgIuWJqeS9meepuumXtCIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjEyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24gIyV6dS4iCittc2dzdHIgIuiwg+aVtOWIhuWMuiAjJXp1IOeahOWkp+Wwj+Wksei0peOAgiIKKworIzogbGliZmRpc2svc3JjL3BhcnR0eXBlLmM6MjU5IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1NSBzY2hlZHV0aWxzL2NocnQuYzoyMDYKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6Nzkgc3lzLXV0aWxzL2h3Y2xvY2suYzozMzQKK21zZ2lkICJ1bmtub3duIgorbXNnc3RyICLmnKrnn6UiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NworbXNnaWQgIlNHSSB2b2xoZHIiCittc2dzdHIgIlNHSSB2b2xoZHIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OAorbXNnaWQgIlNHSSB0cmtyZXBsIgorbXNnc3RyICJTR0kgdHJrcmVwbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ5Cittc2dpZCAiU0dJIHNlY3JlcGwiCittc2dzdHIgIlNHSSBzZWNyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTAKK21zZ2lkICJTR0kgcmF3IgorbXNnc3RyICJTR0kgcmF3IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTEKK21zZ2lkICJTR0kgYnNkIgorbXNnc3RyICJTR0kgYnNkIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTIKK21zZ2lkICJTR0kgc3lzdiIKK21zZ3N0ciAiU0dJIHN5c3YiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MworbXNnaWQgIlNHSSB2b2x1bWUiCittc2dzdHIgIlNHSSB2b2x1bWUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NAorbXNnaWQgIlNHSSBlZnMiCittc2dzdHIgIlNHSSBlZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NQorbXNnaWQgIlNHSSBsdm9sIgorbXNnc3RyICJTR0kgbHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU2Cittc2dpZCAiU0dJIHJsdm9sIgorbXNnc3RyICJTR0kgcmx2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NworbXNnaWQgIlNHSSB4ZnMiCittc2dzdHIgIlNHSSB4ZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OAorbXNnaWQgIlNHSSB4ZnNsb2ciCittc2dzdHIgIlNHSSB4ZnNsb2ciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OQorbXNnaWQgIlNHSSB4bHYiCittc2dzdHIgIlNHSSB4bHYiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MAorbXNnaWQgIlNHSSB4dm0iCittc2dzdHIgIlNHSSB4dm0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MiBsaWJmZGlzay9zcmMvc3VuLmM6NTMKK21zZ2lkICJMaW51eCBuYXRpdmUiCittc2dzdHIgIkxpbnV4IG5hdGl2ZSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjE1OQorbXNnaWQgIlNHSSBpbmZvIGNyZWF0ZWQgb24gc2Vjb25kIHNlY3Rvci4iCittc2dzdHIgIuWcqOesrOS6jOaJh+WMuuWIm+W7uuS6hiBTR0kg5L+h5oGv44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjU5Cittc2dpZCAiRGV0ZWN0ZWQgYW4gU0dJIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiIKK21zZ3N0ciAi5qOA5rWL5Yiw5qCh6aqM5ZKM6ZSZ6K+v55qEIHNnaSDno4Hnm5jmoIfnrb7jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODIgbGliZmRpc2svc3JjL3N1bi5jOjc3MAorbXNnaWQgIlBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAi54mp55CG5p+x6Z2i5pWwIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjg3IGxpYmZkaXNrL3NyYy9zdW4uYzo3NzUKK21zZ2lkICJFeHRyYSBzZWN0cy9jeWwiCittc2dzdHIgIumineWkluaJh+WMui/mn7HpnaIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyOTcKK21zZ2lkICJCb290ZmlsZSIKK21zZ3N0ciAi5ZCv5Yqo5paH5Lu2IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mzk1Cittc2dpZCAiSW52YWxpZCBib290ZmlsZSEgIFRoZSBib290ZmlsZSBtdXN0IGJlIGFuIGFic29sdXRlIG5vbi16ZXJvIHBhdGhuYW1lLCBlLmcuIFwiL3VuaXhcIiBvciBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIuaXoOaViOeahOWQr+WKqOaWh+S7tu+8geWQr+WKqOaWh+S7tuW/hemhu+S4uue7neWvuemdnumbtui3r+W+hOWQje+8jOS+i+WmguKAnC91bml44oCd5oiW4oCcL3VuaXguc2F2ZeKAneOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwMQorIywgYy1mb3JtYXQKK21zZ2lkICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZSBtYXhpbXVtLiIKK21zZ2lkX3BsdXJhbCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGVzIG1heGltdW0uIgorbXNnc3RyWzBdICLlkK/liqjmlofku7blkI3ov4fplb/vvJrmnIDlpJogJXp1IOS4quWtl+iKguOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwOAorbXNnaWQgIkJvb3RmaWxlIG11c3QgaGF2ZSBhIGZ1bGx5IHF1YWxpZmllZCBwYXRobmFtZS4iCittc2dzdHIgIuWQr+WKqOaWh+S7tuW/hemhu+eUqOWujOWFqOmZkOWumui3r+W+hOWQjeOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQxNAorbXNnaWQgIkJlIGF3YXJlIHRoYXQgdGhlIGJvb3RmaWxlIGlzIG5vdCBjaGVja2VkIGZvciBleGlzdGVuY2UuICBTR0kncyBkZWZhdWx0IGlzIFwiL3VuaXhcIiwgYW5kIGZvciBiYWNrdXAgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICLms6jmhI/vvIzkuI3kvJrmo4Dmn6XlkK/liqjmlofku7bmmK/lkKblrZjlnKjjgIJTR0kg6buY6K6k5YC85Li64oCcL3VuaXjigJ3vvIzlpIfku73kuLrigJwvdW5peC5zYXZl4oCd44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBjdXJyZW50IGJvb3QgZmlsZSBpczogJXMiCittc2dzdHIgIuW9k+WJjeWQr+WKqOaWh+S7tuS4uu+8miVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQxCittc2dpZCAiRW50ZXIgb2YgdGhlIG5ldyBib290IGZpbGUiCittc2dzdHIgIui+k+WFpeaWsOWQr+WKqOaWh+S7tueahOi3r+W+hCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0NgorbXNnaWQgIkJvb3QgZmlsZSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICLlkK/liqjmlofku7bmnKrmlLnlj5jjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdGZpbGUgaGFzIGJlZW4gY2hhbmdlZCB0byBcIiVzXCIuIgorbXNnc3RyICLlkK/liqjmlofku7blt7Lmm7TmlLnkuLrigJwlc+KAneOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5NgorbXNnaWQgIk1vcmUgdGhhbiBvbmUgZW50aXJlIGRpc2sgZW50cnkgcHJlc2VudC4iCittc2dzdHIgIuWtmOWcqOi2hei/h+S4gOS4quaVtOejgeebmOiusOW9leOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYwMyBsaWJmZGlzay9zcmMvc3VuLmM6NDU4Cittc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkLiIKK21zZ3N0ciAi5pyq5a6a5LmJ5YiG5Yy644CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEzCittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiSVJJWCDlgY/lkJHkuo7orqnliIbljLogMTEg6KaG55uW5pW05Liq56OB55uY44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gc2hvdWxkIHN0YXJ0IGF0IGJsb2NrIDAsIG5vdCBhdCBibG9jayAlZC4iCittc2dzdHIgIuaVtOejgeebmOWIhuWMuuW6lOW8gOWni+S6juWdlyAw77yM6ICM6Z2e5Z2XICVk44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjI4Cittc2dpZCAiUGFydGl0aW9uIDExIHNob3VsZCBjb3ZlciB0aGUgZW50aXJlIGRpc2suIgorbXNnc3RyICLliIbljLogMTEg5bqU6KaG55uW5pW05Liq56OB55uY44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9yLiIKK21zZ2lkX3BsdXJhbCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3JzLiIKK21zZ3N0clswXSAi5YiG5Yy6ICVkIOS4jiAlZCDph43lj6DkuoYgJWQg5Liq5omH5Yy644CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjYzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yOiBzZWN0b3IgJTh1IgorbXNnaWRfcGx1cmFsICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3JzOiBzZWN0b3JzICU4dS0ldSIKK21zZ3N0clswXSAi5pyJ5pyq5L2/55So55qEICU4dSDkuKrmiYfljLrnmoTpl7TpmpnvvJrmiYfljLogJTh1LSV1IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Njk4Cittc2dpZCAiVGhlIGJvb3QgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAi5ZCv5Yqo5YiG5Yy65LiN5a2Y5Zyo44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzAyCittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAi5Lqk5o2i5YiG5Yy65LiN5a2Y5Zyo44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA2Cittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGhhcyBubyBzd2FwIHR5cGUuIgorbXNnc3RyICLkuqTmjaLliIbljLrkuI3mmK/kuqTmjaLnsbvlnovjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDkKK21zZ2lkICJZb3UgaGF2ZSBjaG9zZW4gYW4gdW51c3VhbCBib290ZmlsZSBuYW1lLiIKK21zZ3N0ciAi5oKo6YCJ5oup5LqG5LiA5Liq5LiN5bi455So55qE5ZCv5Yqo5paH5Lu25ZCN44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzU5Cittc2dpZCAiUGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIgorbXNnc3RyICLno4Hnm5jkuIrnmoTliIbljLrph43lj6DjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDQKK21zZ2lkICJBdHRlbXB0aW5nIHRvIGdlbmVyYXRlIGVudGlyZSBkaXNrIGVudHJ5IGF1dG9tYXRpY2FsbHkuIgorbXNnc3RyICLlsJ3or5Xoh6rliqjnlJ/miJDmlbTno4Hnm5jorrDlvZXjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDkKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgaXMgYWxyZWFkeSBjb3ZlcmVkIHdpdGggcGFydGl0aW9ucy4iCittc2dzdHIgIuaVtOS4quejgeebmOW3sue7j+iiq+WIhuWMuuimhuebluOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg1MworbXNnaWQgIllvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKK21zZ3N0ciAi56OB55uY5LiK5pyJ6YeN5Y+g5YiG5Yy644CC6K+35YWI5L+u5aSN5a6D77yBIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODc1IGxpYmZkaXNrL3NyYy9zdW4uYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3QgJXMiCittc2dzdHIgIui1t+WniyAlcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg5OSBsaWJmZGlzay9zcmMvc2dpLmM6OTQ5Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIGVsZXZlbnRoIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrIGFuZCBpcyBvZiB0eXBlICdTR0kgdm9sdW1lJy4iCittc2dzdHIgIuW8uueDiOW7uuiuruesrOWNgeS4gOWIhuWMuuimhuebluaVtOS4quejgeebmO+8jOW5tuS9v+eUqOKAnFNHSSB2b2x1bWXigJ3nsbvlnovjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5MTQgbGliZmRpc2svc3JjL3N1bi5jOjYzOQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0ICVzIG9yICslcyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICLmnIDlkI4gJXMg5oiWKyVzIOaIliAr5aSn5bCPe0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5ODUgbGliZmRpc2svc3JjL3N1bi5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi4iCittc2dzdHIgIuWvuSAlcyDmiafooYwgQkxLR0VUU0laRSBpb2N0bCDlpLHotKXjgILlsIbkvb/nlKjlh6DkvZUg5p+x6Z2iIOWxnuaAp+WAvCAlbGx144CC5a+55LqO5aSn5LqOIDMzLjggR0Ig55qE6K6+5aSH77yM6L+Z5Liq5YC85Y+v6IO96KKr5oiq55+t44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA1MQorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU0dJIGRpc2tsYWJlbC4iCittc2dzdHIgIuWIm+W7uuaWsOeahFNHSSDno4Hnm5jmoIfnrb7jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDcwCittc2dpZCAiU29ycnksIG9ubHkgZm9yIG5vbi1lbXB0eSBwYXJ0aXRpb25zIHlvdSBjYW4gY2hhbmdlIHRoZSB0YWcuIgorbXNnc3RyICLmirHmrYnvvIzlj6rmnInpnZ7nqbrliIbljLrmiY3og73mm7TmlLnmoIflv5codGFnKeOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNzYKK21zZ2lkICJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiA5IGFzIHZvbHVtZSBoZWFkZXIgKDApLCBhbmQgcGFydGl0aW9uIDExIGFzIGVudGlyZSB2b2x1bWUgKDYpLCBhcyBJUklYIGV4cGVjdHMgaXQuIgorbXNnc3RyICLogIPomZHlsIbliIbljLogOSDnlZnkvZzljbflpLQodm9sdW1lIGhlYWRlcikgKDAp77yM5YiG5Yy6IDExIOS9nOS4uuaVtOWNtyg2Ke+8jOS7peespuWQiCBJUklYIOinhOWumuOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwODUKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwIGlzIG9mIHR5cGUgXCJTR0kgdm9saGRyXCIsIHRoZSBJUklYIHN5c3RlbSB3aWxsIHJlbHkgb24gaXQgdG8gcmV0cmlldmUgZnJvbSBpdHMgZGlyZWN0b3J5IHN0YW5kYWxvbmUgdG9vbHMgbGlrZSBzYXNoIGFuZCBmeC4gT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiBBcmUgeW91IHN1cmUgYWJvdXQgdGFnZ2luZyB0aGlzIHBhcnRpdGlvbiBkaWZmZXJlbnRseT8iCittc2dzdHIgIuW8uueDiOW7uuiuruWBj+enuyAwIOWkhOeahOWIhuWMuuiuvuS4uuKAnFNHSSB2b2xoZHLigJ3nsbvlnovvvIxJUklYIOS8muS+nemdoOWug+S7juWug+eahOebruW9leS4reiOt+WPlueLrOeri+eahOW3peWFt++8jOWmgiBzYXNoIOWSjCBmeOOAguWPquacieKAnFNHSSB2b2x1bWXigJ3mlbTno4Hnm5jpg6jliIYoZW50aXJlIGRpc2sgc2VjdGlvbinog73ov53lj43ov5nkuIDop4TlrprjgILmgqjnoa7lrpropoHlsIbov5nkuIDliIbljLrmoIforrDmiJDlhbbku5bnsbvlnovlkJfvvJ8iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MAorbXNnaWQgIlVuYXNzaWduZWQiCittc2dzdHIgIuacquWIhumFjSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQyCittc2dpZCAiU3VuT1Mgcm9vdCIKK21zZ3N0ciAiU3VuT1Mg5qC5IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDMKK21zZ2lkICJTdW5PUyBzd2FwIgorbXNnc3RyICJTdW5PUyDkuqTmjaIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NAorbXNnaWQgIlN1bk9TIHVzciIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDUKK21zZ2lkICJXaG9sZSBkaXNrIgorbXNnc3RyICLmlbTnm5giCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NgorbXNnaWQgIlN1bk9TIHN0YW5kIgorbXNnc3RyICJTdW5PUyBzdGFuZCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ3Cittc2dpZCAiU3VuT1MgdmFyIgorbXNnc3RyICJTdW5PUyB2YXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0OAorbXNnaWQgIlN1bk9TIGhvbWUiCittc2dzdHIgIlN1bk9TIGhvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0OQorbXNnaWQgIlN1bk9TIGFsdCBzZWN0b3JzIgorbXNnc3RyICJTdW5PUyBhbHQg5omH5Yy6IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTAKK21zZ2lkICJTdW5PUyBjYWNoZWZzIgorbXNnc3RyICJTdW5PUyBjYWNoZWZzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTEKK21zZ2lkICJTdW5PUyByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1Mg5L+d55WZIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTM3Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiBQcm9iYWJseSB5b3UnbGwgaGF2ZSB0byBzZXQgYWxsIHRoZSB2YWx1ZXMsIGUuZy4gaGVhZHMsIHNlY3RvcnMsIGN5bGluZGVycyBhbmQgcGFydGl0aW9ucyBvciBmb3JjZSBhIGZyZXNoIGxhYmVsIChzIGNvbW1hbmQgaW4gbWFpbiBtZW51KSIKK21zZ3N0ciAi5qOA5rWL5Yiw5qCh6aqM5ZKM6ZSZ6K+v55qEIHN1biDno4Hnm5jmoIfnrb7jgILmgqjlj6/og73opoHorr7nva7miYDmnInnmoTlgLwo5aaC56OB5aS044CB5omH5Yy644CB5p+x6Z2i5ZKM5YiG5Yy6KeaIluW8uuWItuS4gOS4quaWsOagh+etvijkuLvoj5zljZXkuK3nmoQgcyDlkb3ku6QpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2ZXJzaW9uIFslZF0uIgorbXNnc3RyICLmo4DmtYvliLDluKbplJnor6/niYjmnKwgWyVkXSDnmoQgc3VuIOejgeebmOagh+etviDjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2Muc2FuaXR5IFsweCUwOHhdLiIKK21zZ3N0ciAi5qOA5rWL5Yiw5bim6ZSZ6K+v55qEIHZ0b2Muc2FuaXR5IFsweCUwOHhdIOeahCBzdW4g56OB55uY5qCH562+44CCIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLm5wYXJ0cyBbJXVdLiIKK21zZ3N0ciAi5qOA5rWL5Yiw5bim6ZSZ6K+vIHZ0b2MubnBhcnRzIFsldV0g55qEIHN1biDno4Hnm5jmoIfnrb7jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNjUKK21zZ2lkICJXYXJuaW5nOiBXcm9uZyB2YWx1ZXMgbmVlZCB0byBiZSBmaXhlZCB1cCBhbmQgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKSIKK21zZ3N0ciAi6K2m5ZGK77ya6ZSZ6K+v5YC86ZyA6KaB5L+u5aSN77yM5bm25LiU5bCG6YCa6L+HIHco5YaZKSDmk43kvZzkv67mraPjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTIKK21zZ2lkICJIZWFkcyIKK21zZ3N0ciAi56OB5aS0IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTk0Cittc2dpZCAiU2VjdG9ycy90cmFjayIKK21zZ3N0ciAi5omH5Yy6L+ejgemBkyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjI5NworbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU3VuIGRpc2tsYWJlbC4iCittc2dzdHIgIuWIm+W7uuaWsOeahCBTdW4g56OB55uY5qCH562+44CCIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBkb2Vzbid0IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIuWIhuWMuiAldSDmnKrnu5PmnZ/lnKjmn7HpnaLovrnnlYzkuIrjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggb3RoZXJzIGluIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICLliIbljLogJXUg5Zyo5omH5Yy6ICV1LSV1IOS4juWFtuS7luWIhuWMuumHjeWPoOOAgiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAwLSV1LiIKK21zZ3N0ciAi5pyq5L2/55So55qE6Ze06ZqZIC0g5omH5Yy6IDAtJXXjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjUgbGliZmRpc2svc3JjL3N1bi5jOjQ3MQorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIuacquS9v+eUqOeahOmXtOmamSAtIOaJh+WMuiAldS0ldeOAgiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUyOAorbXNnaWQgIk90aGVyIHBhcnRpdGlvbnMgYWxyZWFkeSBjb3ZlciB0aGUgd2hvbGUgZGlzay4gRGVsZXRlIHNvbWUvc2hyaW5rIHRoZW0gYmVmb3JlIHJldHJ5LiIKK21zZ3N0ciAi5YW25LuW5YiG5Yy65bey6KaG55uW5LqG5pW05Liq56OB55uY44CC5Yig6Zmk5Yeg5Liq5YiG5Yy65oiW5Y6L57yp5a6D5Lus77yM54S25ZCO6YeN6K+V44CCIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlZCBpcyBhbHJlYWR5IGFsbG9jYXRlZCIKK21zZ3N0ciAi5omH5Yy6ICVkIOW3suWIhumFjSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYwMAorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSB0aGlyZCBwYXJ0aXRpb24gY292ZXJzIHRoZSB3aG9sZSBkaXNrIGFuZCBpcyBvZiB0eXBlIGBXaG9sZSBkaXNrJyIKK21zZ3N0ciAi5by654OI5bu66K6u6K6p56ys5LiJ5Liq5YiG5Yy66KaG55uW5pW05Liq56OB55uY77yM5bm26K6+5Li64oCc5pW055uY4oCd57G75Z6LIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NjEwCisjLCBjLWZvcm1hdAorbXNnaWQgIkFsaWduaW5nIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSAldSB0byAldSB0byBiZSBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIuWwhuaKiuS7jiAldSDliLAgJXUg55qE6aaW5Liq5omH5Yy65a+56b2Q5Yiw5p+x6Z2i6L6555WM44CCIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Njg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZW4ndCBjb3ZlcmVkIHRoZSB3aG9sZSBkaXNrIHdpdGggdGhlIDNyZCBwYXJ0aXRpb24sIGJ1dCB5b3VyIHZhbHVlXG4iCisiJWx1ICVzIGNvdmVycyBzb21lIG90aGVyIHBhcnRpdGlvbi4gWW91ciBlbnRyeSBoYXMgYmVlbiBjaGFuZ2VkXG4iCisidG8gJWx1ICVzIgorbXNnc3RyICIiCisi5oKo5rKh5pyJ5L2/56ys5LiJ5Liq5YiG5Yy66KaG55uW5pW05Liq56OB55uY77yM5L2G5piv5YC8ICVsdSAlcyDopobnm5bkuoblhbbku5bliIbljLrjgIJcbiIKKyLmgqjnmoTorrDlvZXlt7Lnu4/mm7TmlLnkuLogJWx1ICVzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzI2CisjLCBjLWZvcm1hdAorbXNnaWQgIklmIHlvdSB3YW50IHRvIG1haW50YWluIFN1bk9TL1NvbGFyaXMgY29tcGF0aWJpbGl0eSwgY29uc2lkZXIgbGVhdmluZyB0aGlzIHBhcnRpdGlvbiBhcyBXaG9sZSBkaXNrICg1KSwgc3RhcnRpbmcgYXQgMCwgd2l0aCAldSBzZWN0b3JzIgorbXNnc3RyICLlpoLmnpzmgqjmg7PkuI4gU3VuT1MvU29sYXJpcyDlhbzlrrnvvIzor7fkv53mjIHmraTliIbljLrkuLog5pW055uYICg1Ke+8jOS7pSAwIOW8gOWni++8jOWkp+Wwj+S4uiAldSDkuKrmiYfljLoiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NTAKK21zZ2lkICJMYWJlbCBJRCIKK21zZ3N0ciAi5qCH562+IElEIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzU1Cittc2dpZCAiVm9sdW1lIElEIgorbXNnc3RyICLljbcgSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjUKK21zZ2lkICJBbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICLlpIfnlKjmn7HpnaLmlbAiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo4NzEKK21zZ2lkICJOdW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAi5aSH55So5p+x6Z2i55qE5pWw6YePIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6ODk2Cittc2dpZCAiRXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgIuavj+S4quafsemdoueahOmineWkluaJh+WMuuaVsCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjkyMAorbXNnaWQgIkludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICLkuqTplJnns7vmlbAiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5NDQKK21zZ2lkICJSb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAi6L2s6YCfKOi9rC/liIYpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTY4Cittc2dpZCAiTnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAi54mp55CG5p+x6Z2i5pWwIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTAzNworbXNnaWQgIiIKKyJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiAzIGFzIFdob2xlIGRpc2sgKDUpLFxuIgorImFzIFN1bk9TL1NvbGFyaXMgZXhwZWN0cyBpdCBhbmQgZXZlbiBMaW51eCBsaWtlcyBpdC5cbiIKK21zZ3N0ciAiIgorIuiAg+iZkeS/neaMgeWIhuWMuiAzIOS4uiDmlbTnm5ggKDUp77yMXG4iCisi6L+Z5pivIFN1bk9TL1NvbGFyaXMg55qE6KeE5a6a77yMTGludXgg5Lmf5bu66K6u6L+Z5LmI5YGa44CCXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDQ4Cittc2dpZCAiIgorIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDBcbiIKKyJpcyBVRlMsIEVYVDJGUyBmaWxlc3lzdGVtIG9yIFN1bk9TIHN3YXAuIFB1dHRpbmcgTGludXggc3dhcFxuIgorInRoZXJlIG1heSBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlIGFuZCBib290YmxvY2suXG4iCisiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHRhZyB0aGUgcGFydGl0aW9uIGFzIExpbnV4IHN3YXA/IgorbXNnc3RyICIiCisi5by654OI5bu66K6u5YGP56e7IDAg5aSE55qE5YiG5Yy65Li6IFVGU+OAgUVYVDJGUyDmlofku7bns7vnu5/miJZcbiIKKyJTdW5PUyDkuqTmjaLliIbljLrjgILlsIYgTGludXgg5Lqk5o2i5YiG5Yy65pS+5Zyo6YKj6YeM5Y+v6IO95q+B5Z2P5YiG5Yy66KGoXG4iCisi5ZKM5ZCv5Yqo6ZSB44CCXG4iCisi5oKo56Gu5L+h6KaB5oqK6K+l5YiG5Yy65qCH6K6w5Li6IExpbnV4IOS6pOaNouWIhuWMuuWQl++8nyIKKworIzogbGliL3BhZ2VyLmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgIndhaXRwaWQgZmFpbGVkICglcykiCittc2dzdHIgIndhaXRwaWQg5aSx6LSlKCVzKSIKKworIzogbGliL3BhdGguYzoyMDkgc3lzLXV0aWxzL2xzY3B1LmM6MTgxOAorbXNnaWQgImZhaWxlZCB0byBjYWxsb2NhdGUgY3B1IHNldCIKK21zZ3N0ciAi5YiG6YWNKGNhbGxvY2F0ZSkgQ1BVIOe7hCDlpLHotKUiCisKKyM6IGxpYi9wYXRoLmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdCAlcyIKK21zZ3N0ciAi6Kej5p6QIENQVSDliJfooaggJXMg5aSx6LSlIgorCisjOiBsaWIvcGF0aC5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2sgJXMiCittc2dzdHIgIuino+aekCBDUFUg5o6p56CBICVzIOWksei0pSIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MgorbXNnaWQgImNhbiBub3Qgb3BlbiBVTklYIHNvY2tldCIKK21zZ3N0ciAi5omT5LiN5byAIFVOSVgg5aWX5o6l5a2XIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjc4Cittc2dpZCAiY2FuIG5vdCBzZXQgb3B0aW9uIGZvciBVTklYIHNvY2tldCIKK21zZ3N0ciAi5peg5rOV6K6+572uIFVOSVgg5aWX5o6l5a2X6YCJ6aG5IgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjkxCittc2dpZCAiY2FuIG5vdCBjb25uZWN0IG9uIFVOSVggc29ja2V0IgorbXNnc3RyICLml6Dms5Xov57mjqUgVU5JWCDlpZfmjqXlrZciCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBwbHltb3V0aCByZXF1ZXN0ICVjIGlzIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAicGx5bW91dGgg6K+35rGCICVjIOayoeacieWunueOsCIKKworIzogbGliL3JhbmR1dGlscy5jOjEzNgorbXNnaWQgImxpYmMgcHNldWRvLXJhbmRvbSBmdW5jdGlvbnMiCittc2dzdHIgImxpYmMg5Lyq6ZqP5py65Ye95pWwIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjE3IGxpYi9zd2FwcHJvYmVyLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBwcm9iZSBkZXZpY2UiCittc2dzdHIgIiVz77ya5peg5rOV5o6i5rWL6K6+5aSHIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcHJvYmluZyByZXN1bHQ7IHVzZSB3aXBlZnMoOCkiCittc2dzdHIgIiVz77ya5o6i5rWL57uT5p6c5pyJ5q2n5LmJ77yb6K+35L2/55SoIHdpcGVmcyg4KSIKKworIzogbGliL3N3YXBwcm9iZXIuYzozNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgdmFsaWQgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIiVz77ya5LiN5piv5pyJ5pWI55qE5Lqk5o2i5YiG5Yy6IgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bnN1cHBvcnRlZCBzd2FwIHZlcnNpb24gJyVzJyIKK21zZ3N0ciAiJXPvvJrkuI3mlK/mjIHnmoQgc3dhcCDniYjmnKzigJwlc+KAnSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjkwIGxvZ2luLXV0aWxzL2Noc2guYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+XVxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gWzznlKjmiLflkI0+XVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTMKK21zZ2lkICJDaGFuZ2UgeW91ciBmaW5nZXIgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIuabtOaUueaCqOeahOaJi+aMh+S/oeaBr+OAglxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTYKK21zZ2lkICIgLWYsIC0tZnVsbC1uYW1lIDxmdWxsLW5hbWU+ICByZWFsIG5hbWVcbiIKK21zZ3N0ciAiIC1mLCAtLWZ1bGwtbmFtZSA85YWo5ZCNPiAgICAgICDnnJ/lrp7lp5PlkI1cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk3Cittc2dpZCAiIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICAgb2ZmaWNlIG51bWJlclxuIgorbXNnc3RyICIgLW8sIC0tb2ZmaWNlIDzlip7lhaw+ICAgICAgICAgIOWKnuWFrOWPt+eggVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTgKK21zZ2lkICIgLXAsIC0tb2ZmaWNlLXBob25lIDxwaG9uZT4gICBvZmZpY2UgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiAtcCwgLS1vZmZpY2UtcGhvbmUgPOeUteivnT4gICAg5Yqe5YWs55S16K+dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OQorbXNnaWQgIiAtaCwgLS1ob21lLXBob25lIDxwaG9uZT4gICAgIGhvbWUgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiAtaCwgLS1ob21lLXBob25lIDznlLXor50+ICAgICAg5L2P5a6F55S16K+dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDEgbG9naW4tdXRpbHMvY2hzaC5jOjc4Cittc2dpZCAiIC11LCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAtdSwgLS1oZWxwICAgICDmmL7npLrmraTluK7liqnlubbpgIDlh7pcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICJmaWVsZCAlcyBpcyB0b28gbG9uZyIKK21zZ3N0ciAi5a2X5q61ICVzIOi/h+mVvyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyMSBsb2dpbi11dGlscy9jaHNoLmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBoYXMgaWxsZWdhbCBjaGFyYWN0ZXJzIgorbXNnc3RyICIlc++8muWQq+aciemdnuazleWtl+espiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1MCBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW4uZGVmcyBmb3JiaWRzIHNldHRpbmcgJXMiCittc2dzdHIgImxvZ2luLmRlZnMg56aB5q2i6K6+572uICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTggbG9naW4tdXRpbHMvY2hmbi5jOjMwOQorbXNnaWQgIk9mZmljZSIKK21zZ3N0ciAi5Yqe5YWsIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjQgbG9naW4tdXRpbHMvY2hmbi5jOjMxMQorbXNnaWQgIk9mZmljZSBQaG9uZSIKK21zZ3N0ciAi5Yqe5YWs55S16K+dIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTY4IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzAgbG9naW4tdXRpbHMvY2hmbi5jOjMxMworbXNnaWQgIkhvbWUgUGhvbmUiCittc2dzdHIgIuS9j+WuheeUteivnSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjIzMworbXNnaWQgIkFib3J0ZWQuIgorbXNnc3RyICLlt7LkuK3mraLjgIIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgaGFzIHVuZXhwZWN0ZWQgdmFsdWU6ICVzIgorbXNnc3RyICIlczogQ0hGTl9SRVNUUklDVCDnmoTlgLzlvILluLjvvJolcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjI5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBkb2VzIG5vdCBhbGxvdyBhbnkgY2hhbmdlcyIKK21zZ3N0ciAiJXM6IENIRk5fUkVTVFJJQ1Qg5LiN5YWB6K645pu05pS5IgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLlxuIgorbXNnc3RyICJGaW5nZXIg5L+h5oGvKuayoeaciSrmm7TmlLnjgILor7fnqI3lkI7ph43or5XjgIJcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gY2hhbmdlZC5cbiIKK21zZ3N0ciAiRmluZ2VyIOS/oeaBr+W3suabtOaUueOAglxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDA4IGxvZ2luLXV0aWxzL2Noc2guYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ICh1c2VyICVkKSBkb24ndCBleGlzdC4iCittc2dzdHIgIuaCqCjnlKjmiLcgJWQp5LiN5a2Y5Zyo44CCIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDE0IGxvZ2luLXV0aWxzL2Noc2guYzoyNDggbG9naW4tdXRpbHMvbGlidXNlci5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgXCIlc1wiIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAi55So5oi34oCcJXPigJ3kuI3lrZjlnKjjgIIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MjAgbG9naW4tdXRpbHMvY2hzaC5jOjI1NAorbXNnaWQgImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzIgorbXNnc3RyICLlj6rog73mm7TmlLnmnKzlnLDorrDlvZUiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBmaW5nZXIgaW5mbyBvZiAlcyIKK21zZ3N0ciAiJXMg5pyq5b6X5Yiw5o6I5p2D5pu05pS5ICVzIOeahCBmaW5nZXIg5L+h5oGvIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDM1IGxvZ2luLXV0aWxzL2Noc2guYzoyNzAKK21zZ2lkICJVbmtub3duIHVzZXIgY29udGV4dCIKK21zZ3N0ciAi5pyq55+l55So5oi3546v5aKDKGNvbnRleHQpIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDQxIGxvZ2luLXV0aWxzL2Noc2guYzoyNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgc2V0IGRlZmF1bHQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIuaXoOazleiuvue9riAlcyDpu5jorqTnjq/looMoY29udGV4dCkiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTIKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICLov5DooYzkuK3nmoQgVUlEIOS4juimgeaUueWPmOeahOeUqOaIt+eahCBVSUQg5LiN5Yy56YWN77yM5pu05pS56KKr5ouS57udIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIGZpbmdlciBpbmZvcm1hdGlvbiBmb3IgJXMuXG4iCittc2dzdHIgIuato+WcqOabtOaUuSAlcyDnmoQgZmluZ2VyIOS/oeaBr+OAglxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBub3QgY2hhbmdlZC5cbiIKK21zZ3N0ciAiRmluZ2VyIOS/oeaBr+acquabtOaUueOAglxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6NzIKK21zZ2lkICJDaGFuZ2UgeW91ciBsb2dpbiBzaGVsbC5cbiIKK21zZ3N0ciAi5pu05pS55oKo55qE55m75b2VIHNoZWxs44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBzcGVjaWZ5IGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICDmjIflrprnmbvlvZUgc2hlbGxcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc2Cittc2dpZCAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIHByaW50IGxpc3Qgb2Ygc2hlbGxzIGFuZCBleGl0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0LXNoZWxscyAgICDmiZPljbAgc2hlbGwg5YiX6KGo5bm26YCA5Ye6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoxMDAKK21zZ2lkICJObyBrbm93biBzaGVsbHMuIgorbXNnc3RyICLml6Dlt7Lnn6Ugc2hlbGzjgIIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDAKK21zZ2lkICJzaGVsbCBtdXN0IGJlIGEgZnVsbCBwYXRoIG5hbWUiCittc2dzdHIgInNoZWxsIOW/hemhu+S4uuWujOaVtOi3r+W+hOWQjeensCIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIuKAnCVz4oCd5LiN5a2Y5ZyoIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBpcyBub3QgZXhlY3V0YWJsZSIKK21zZ3N0ciAi4oCcJXPigJ3kuI3lj6/miafooYwiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuIgorbXNnc3RyICLorablkYrvvJrigJwlc+KAneacquWcqCAlcyDkuK3liJflh7rjgIIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMTQgbG9naW4tdXRpbHMvY2hzaC5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuXG4iCisiVXNlICVzIC1sIHRvIHNlZSBsaXN0LiIKK21zZ3N0ciAiIgorIuKAnCVz4oCd5pyq5YiX5ZyoICVzIOS4reOAglxuIgorIuivt+S9v+eUqCAlcyAtbCDmn6XnnIvliJfooajjgIIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBzaGVsbCBvZiAlcyIKK21zZ3N0ciAiJXMg5peg5p2D5pu05pS5ICVzIOeahCBzaGVsbCIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI5NQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIui/kOihjCBVSUQg5LiO6KaB5pu05pS555qE55So5oi355qEIFVJRCDkuI3ljLnphY3vvIzmm7TmlLkgc2hlbGwg6KKr5ouS57udIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzAwCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdXIgc2hlbGwgaXMgbm90IGluICVzLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICLmgqjnmoQgc2hlbGwg5LiN5ZyoICVzIOS4re+8jOabtOaUuSBzaGVsbCDooqvmi5Lnu50iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgc2hlbGwgZm9yICVzLlxuIgorbXNnc3RyICLmraPlnKjmm7TmlLkgJXMg55qEIHNoZWxs44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMTIKK21zZ2lkICJOZXcgc2hlbGwiCittc2dzdHIgIuaWsCBzaGVsbCIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyMAorbXNnaWQgIlNoZWxsIG5vdCBjaGFuZ2VkLiIKK21zZ3N0ciAic2hlbGwg5pyq5pu05pS544CCIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzI1Cittc2dpZCAiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIlNoZWxsICrmnKoqIOabtOaUueOAguivt+eojeWQjumHjeivleOAgiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyOQorbXNnaWQgIiIKKyJzZXRwd25hbSBmYWlsZWRcbiIKKyJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiIgorInNldHB3bmFtIOWksei0pVxuIgorIlNoZWxsICrmnKoqIOabtOaUueOAguivt+eojeWQjumHjeivleOAgiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICJTaGVsbCBjaGFuZ2VkLlxuIgorbXNnc3RyICJzaGVsbCDlt7Lmm7TmlLnjgIJcbiIKKworIzogbG9naW4tdXRpbHMvaXNsb2NhbC5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyA8cGFzc3dvcmRmaWxlPiA8dXNlcm5hbWU+Li4uXG4iCittc2dzdHIgIueUqOazle+8miVzIDzlr4bnoIHmlofku7Y+IDznlKjmiLflkI0+Li4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoxNzQgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjIwIHN5cy11dGlscy9kbWVzZy5jOjExOTMKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHRpbWUgZm9ybWF0OiAlcyIKK21zZ3N0ciAi5pyq55+l5pe26Ze05qC85byPOiAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjI4MSBsb2dpbi11dGlscy9sYXN0LmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIkludGVycnVwdGVkICVzIgorbXNnc3RyICLkuK3mlq3nmoQgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo0MzkgbG9naW4tdXRpbHMvbGFzdC5jOjQ1MAorbXNnaWQgInByZWFsbG9jYXRpb24gc2l6ZSBleGNlZWRlZCIKK21zZ3N0ciAi6LaF6L+H5LqG6aKE5YiG6YWN5aSn5bCPIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT4uLi5dIFs8dHR5Pi4uLl1cbiIKK21zZ3N0ciAiICVzIFvpgInpobldIFs855So5oi35ZCNPi4uLl0gWzx0dHk+Li4uXVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTcyCittc2dpZCAiU2hvdyBhIGxpc3Rpbmcgb2YgbGFzdCBsb2dnZWQgaW4gdXNlcnMuXG4iCittc2dzdHIgIuaYvuekuuS4iuasoeeZu+W9leeUqOaIt+eahOWIl+ihqOOAglxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc1Cittc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgIGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIC085pWw5a2XPiAgICAgICAgICAgICAg5pi+56S66KGM5pWwXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzYKK21zZ2lkICIgLWEsIC0taG9zdGxhc3QgICAgICAgZGlzcGxheSBob3N0bmFtZXMgaW4gdGhlIGxhc3QgY29sdW1uXG4iCittc2dzdHIgIiAtYSwgLS1ob3N0bGFzdCAgICAgICDmnIDlkI7kuIDliJfmmL7npLrkuLvmnLrlkI1cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NworbXNnaWQgIiAtZCwgLS1kbnMgICAgICAgICAgICB0cmFuc2xhdGUgdGhlIElQIG51bWJlciBiYWNrIGludG8gYSBob3N0bmFtZVxuIgorbXNnc3RyICIgLWQsIC0tZG5zICAgICAgICAgICAg5bCGIElQIOWPt+i9rOaNouWbnuS4u+acuuWQjVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICB1c2UgYSBzcGVjaWZpYyBmaWxlIGluc3RlYWQgb2YgJXNcbiIKK21zZ3N0ciAiIC1GLCAtLWZpbGUgPOaWh+S7tj4gICAg55So5oyH5a6a5paH5Lu25Luj5pu/ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODAKK21zZ2lkICIgLUYsIC0tZnVsbHRpbWVzICAgICAgcHJpbnQgZnVsbCBsb2dpbiBhbmQgbG9nb3V0IHRpbWVzIGFuZCBkYXRlc1xuIgorbXNnc3RyICIgLUYsIC0tZnVsbHRpbWVzICAgICAg5omT5Y2w5a6M5pW055qE55m75b2V5ZKM5rOo6ZSA5pe26Ze05ZKM5pel5pyfXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODEKK21zZ2lkICIgLWksIC0taXAgICAgICAgICAgICAgZGlzcGxheSBJUCBudW1iZXJzIGluIG51bWJlcnMtYW5kLWRvdHMgbm90YXRpb25cbiIKK21zZ3N0ciAiIC1pLCAtLWlwICAgICAgICAgICAgIOS7peaVsOWtl+WSjOeCueeahOW9ouW8j+aYvuekuiBJUCDlj7dcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MgorbXNnaWQgIiAtbiwgLS1saW1pdCA8bnVtYmVyPiBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiAtbiwgLS1saW1pdCA85pWw5a2XPiAgIOimgeaYvuekuueahOihjOaVsFxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgzCittc2dpZCAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIGRvbid0IGRpc3BsYXkgdGhlIGhvc3RuYW1lIGZpZWxkXG4iCittc2dzdHIgIiAtUiwgLS1ub2hvc3RuYW1lICAgICDkuI3mmL7npLrkuLvmnLrlkI3lrZfmrrVcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NAorbXNnaWQgIiAtcywgLS1zaW5jZSA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyBzaW5jZSB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIC1zLCAtLXNpbmNlIDzml7bpl7Q+ICAg5pi+56S65LuO5oyH5a6a5pe26Ze06LW355qE6KGMXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODUKK21zZ2lkICIgLXQsIC0tdW50aWwgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgdW50aWwgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtdCwgLS11bnRpbCA85pe26Ze0PiAgIOaYvuekuuWIsOaMh+WumuaXtumXtOS4uuatoueahOihjFxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg2Cittc2dpZCAiIC1wLCAtLXByZXNlbnQgPHRpbWU+IGRpc3BsYXkgd2hvIHdlcmUgcHJlc2VudCBhdCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIC1wLCAtLXByZXNlbnQgPOaXtumXtD4g5pi+56S65Zyo5oyH5a6a5pe26Ze06LCB5Zyo5Zy6KHByZXNlbnQpXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODcKK21zZ2lkICIgLXcsIC0tZnVsbG5hbWVzICAgICAgZGlzcGxheSBmdWxsIHVzZXIgYW5kIGRvbWFpbiBuYW1lc1xuIgorbXNnc3RyICIgLXcsIC0tZnVsbG5hbWVzICAgICAg5pi+56S65a6M5pW055qE55So5oi35ZCN5ZKM5Z+f5ZCNXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODgKK21zZ2lkICIgLXgsIC0tc3lzdGVtICAgICAgICAgZGlzcGxheSBzeXN0ZW0gc2h1dGRvd24gZW50cmllcyBhbmQgcnVuIGxldmVsIGNoYW5nZXNcbiIKK21zZ3N0ciAiIC14LCAtLXN5c3RlbSAgICAgICAgIOaYvuekuuezu+e7n+WFs+acuumhueWSjOi/kOihjOe6p+WIq+abtOaUuVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg5Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXBzIGluIHRoZSBzcGVjaWZpZWQgPGZvcm1hdD46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGltZXxzaG9ydHxmdWxsfGlzb1xuIgorbXNnc3RyICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDzmoLzlvI8+ICAgIOS7peaMh+WumjzmoLzlvI8+5pi+56S65pe26Ze05oiz77yaXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGltZXxzaG9ydHxmdWxsfGlzb1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6ODgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlcyBiZWdpbnMgJXMiCittc2dzdHIgIiIKKyJcbiIKKyIlcyDlvIDlp4sgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NTYgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2NAorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2OAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIiCittc2dzdHIgIuino+aekOaVsOWtl+Wksei0pSIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk3NyBsb2dpbi11dGlscy9sYXN0LmM6OTgyIGxvZ2luLXV0aWxzL2xhc3QuYzo5ODcKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZSB2YWx1ZSBcIiVzXCIiCittc2dzdHIgIuaXoOaViOeahOaXtumXtOWAvFwiJXNcIiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjI5IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzozMQorbXNnaWQgIkNvdWxkbid0IGRyb3AgZ3JvdXAgcHJpdmlsZWdlcyIKK21zZ3N0ciAi5peg5rOV5Lii5byDKGRyb3Ap57uE5LyY5YWI57qnIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibGlidXNlciBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVzLiIKK21zZ3N0ciAibGlidXNlciDliJ3lp4vljJblpLHotKXvvJolc+OAgiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjUyCittc2dpZCAiY2hhbmdpbmcgdXNlciBhdHRyaWJ1dGUgZmFpbGVkIgorbXNnc3RyICLmm7TmlLnnlKjmiLflsZ7mgKflpLHotKUiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo2NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIGF0dHJpYnV0ZSBub3QgY2hhbmdlZDogJXMiCittc2dzdHIgIueUqOaIt+WxnuaAp+acquabtOaUue+8miVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAldSBpcyA2MC4KKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTgwCisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWVkIG91dCBhZnRlciAldSBzZWNvbmRzIgorbXNnc3RyICIldSDnp5LlkI7otoXml7YiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiBjYW4ndCByZW9wZW4gdHR5OiAlbSIKK21zZ3N0ciAi6Ie05ZG977ya5peg5rOV6YeN5paw5omT5byAIHR0ee+8miVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXMgaXMgbm90IGEgdGVybWluYWwiCittc2dzdHIgIuiHtOWRve+8miVzIOS4jeaYr+e7iOerryIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gKCVzLCAlbHUsICVsdSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2hvd24gKCVzLCAlbHUsICVsdSkg5aSx6LSl77yaJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzE0CisjLCBjLWZvcm1hdAorbXNnaWQgImNobW9kICglcywgJXUpIGZhaWxlZDogJW0iCittc2dzdHIgImNobW9kICglcywgJXUpIOWksei0pe+8miVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM3NQorbXNnaWQgIkZBVEFMOiBiYWQgdHR5IgorbXNnc3RyICLoh7Tlkb3vvJrlnY/nmoQgdHR5IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXM6IGNoYW5nZSBwZXJtaXNzaW9ucyBmYWlsZWQ6ICVtIgorbXNnc3RyICLoh7Tlkb3vvJolc++8muabtOaUueadg+mZkOWksei0pe+8miVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGxvZ2luOiAlLipzICIKK21zZ3N0ciAi5LiK5qyh55m75b2V77yaJS4qcyAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTMxCisjLCBjLWZvcm1hdAorbXNnaWQgImZyb20gJS4qc1xuIgorbXNnc3RyICLmnaXoh6ogJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUzNAorIywgYy1mb3JtYXQKK21zZ2lkICJvbiAlLipzXG4iCittc2dzdHIgIuS6jiAlLipzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTUyCittc2dpZCAid3JpdGUgbGFzdGxvZyBmYWlsZWQiCittc2dzdHIgIuWGmSBsYXN0bG9nIOWksei0pSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRElBTFVQIEFUICVzIEJZICVzIgorbXNnc3RyICJESUFMVVAgQVQgJXMgQlkgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMgRlJPTSAlcyIKK21zZ3N0ciAiUk9PVCBMT0dJTiBPTiAlcyBGUk9NICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2MAorIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIgorbXNnc3RyICJST09UIExPR0lOIE9OICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorbXNnc3RyICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyIKK21zZ3N0ciAiTE9HSU4gT04gJXMgQlkgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE5Cittc2dpZCAibG9naW46ICIKK21zZ3N0ciAi55m75b2V77yaIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc0NQorIywgYy1mb3JtYXQKK21zZ2lkICJQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorbXNnc3RyICJQQU0g5aSx6LSl77yM5bCG5Lit5q2i77yaJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkbid0IGluaXRpYWxpemUgUEFNOiAlcyIKK21zZ3N0ciAi5peg5rOV5Yid5aeL5YyWIFBBTe+8miVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxNworIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gJXUgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJGQUlMRUQgTE9HSU4gJXUgRlJPTSAlcyBGT1IgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgyNSBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTG9naW4gaW5jb3JyZWN0XG4iCisiXG4iCittc2dzdHIgIiIKKyLnmbvlvZXkuI3mraPnoa5cbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVE9PIE1BTlkgTE9HSU4gVFJJRVMgKCV1KSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIlRPTyBNQU5ZIExPR0lOIFRSSUVTICgldSkgRlJPTSAlcyBGT1IgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg0NgorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gU0VTU0lPTiBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIkZBSUxFRCBMT0dJTiBTRVNTSU9OIEZST00gJXMgRk9SICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxvZ2luIGluY29ycmVjdFxuIgorbXNnc3RyICIiCisiXG4iCisi55m75b2V5LiN5q2j56GuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODgyIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTIzMiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNTUKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiBzZXR1cCBwcm9ibGVtLCBhYm9ydC4iCittc2dzdHIgIiIKKyJcbiIKKyLkvJror53orr7nva7pl67popjvvIzkuK3mraLjgIIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODgzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTEwgdXNlciBuYW1lIGluICVzOiVkLiBBYm9ydC4iCittc2dzdHIgIiVzOiVkIOS4reaYr+epuihOVUxMKeeUqOaIt+WQjeOAguS4reatouOAgiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMDIwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRJT0NTQ1RUWSBmYWlsZWQ6ICVtIgorbXNnc3RyICJUSU9DU0NUVFkg5aSx6LSl77yaJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbjogLWggaXMgZm9yIHN1cGVydXNlciBvbmx5XG4iCittc2dzdHIgImxvZ2lu77yaLWgg5piv6LaF57qn55So5oi35LiT55So6YCJ6aG5XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE4OQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogbG9naW4gWy1wXSBbLWggPGhvc3Q+XSBbLUhdIFtbLWZdIDx1c2VybmFtZT5dXG4iCittc2dzdHIgIueUqOazle+8mmxvZ2luIFstcF0gWy1oIDzkuLvmnLo+XSBbLUhdIFtbLWZdIDznlKjmiLflkI0+XVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExOTEKK21zZ2lkICJCZWdpbiBhIHNlc3Npb24gb24gdGhlIHN5c3RlbS5cbiIKK21zZ3N0ciAi5Zyo5q2k57O757uf5LiK5byA5aeL5LiA5qyh5Lya6K+d44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTIzMworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHVzZXIgbmFtZSBcIiVzXCIgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiJTIkczolMyRkIOS4reaYr+aXoOaViOeUqOaIt+WQjeKAnCUxJHPigJ3jgILkuK3mraLjgIIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJncm91cHMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAi57uE5Yid5aeL5YyW5aSx6LSl77yaJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI3OQorbXNnaWQgInNldGdpZCgpIGZhaWxlZCIKK21zZ3N0ciAic2V0Z2lkKCkg5aSx6LSlIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbmV3IG1haWwuXG4iCittc2dzdHIgIuacieaCqOeahOaWsOmCruS7tuOAglxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbWFpbC5cbiIKK21zZ3N0ciAi5pyJ5oKo55qE6YKu5Lu244CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMyNQorbXNnaWQgInNldHVpZCgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkg5aSx6LSlIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzEgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2hhbmdlIGRpcmVjdG9yeSBmYWlsZWQiCittc2dzdHIgIiVz77ya5pu05pS555uu5b2V5aSx6LSlIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzggbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczOQorIywgYy1mb3JtYXQKK21zZ2lkICJMb2dnaW5nIGluIHdpdGggaG9tZSA9IFwiL1wiLlxuIgorbXNnc3RyICLku6UgaG9tZSA9IOKAnC/igJ0g55m75b2V44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM2NworbXNnaWQgImNvdWxkbid0IGV4ZWMgc2hlbGwgc2NyaXB0IgorbXNnc3RyICLml6Dms5XmiafooYwoZXhlYykgc2hlbGwg6ISa5pysIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNjkKK21zZ2lkICJubyBzaGVsbCIKK21zZ3N0ciAi5pegIHNoZWxsIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGNvbnRhaW5zIGludmFsaWQgbnVtZXJpY2FsIHZhbHVlOiAlcyIKK21zZ3N0ciAiJXPvvJolcyDljIXlkKvml6DmlYjnmoTmlbDlrZflgLzvvJolcyIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6Mzc1Cittc2dpZCAiaHVzaCBsb2dpbiBzdGF0dXM6IHJlc3RvcmUgb3JpZ2luYWwgSURzIGZhaWxlZCIKK21zZ3N0ciAi6Z2Z6buYKGh1c2gp55m75b2V54q25oCB77ya5oGi5aSN5Y6fIElEIOWksei0pSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDggc3lzLXV0aWxzL2xzY3B1LmM6MTU0MCBzeXMtdXRpbHMvbHNjcHUuYzoxNTUwCittc2dpZCAibm8iCittc2dzdHIgIuWQpiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcgbWlzYy11dGlscy9sc2Jsay5jOjE4MQorbXNnaWQgInVzZXIgbmFtZSIKK21zZ3N0ciAi55So5oi35ZCNIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNworbXNnaWQgIlVzZXJuYW1lIgorbXNnc3RyICLnlKjmiLflkI0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE4IHN5cy11dGlscy9yZW5pY2UuYzo1NAorbXNnaWQgInVzZXIgSUQiCittc2dzdHIgIueUqOaItyBJRCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJwYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIuaXoOmcgOWvhueggSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJQYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIuaXoOmcgOWvhueggSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKK21zZ2lkICJsb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAi5bey56aB5q2i5L2/55So5a+G56CB55m75b2VIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorbXNnaWQgIkxvZ2luIGJ5IHBhc3N3b3JkIGRpc2FibGVkIgorbXNnc3RyICLlt7LnpoHmraLkvb/nlKjlr4bnoIHnmbvlvZUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCittc2dpZCAicGFzc3dvcmQgZGVmaW5lZCwgYnV0IGxvY2tlZCIKK21zZ3N0ciAi5a6a5LmJ5LqG5a+G56CB77yM5L2G5bey6ZSB5a6aIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgIlBhc3N3b3JkIGlzIGxvY2tlZCIKK21zZ3N0ciAi5a+G56CB5bey6ZSB5a6aIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorbXNnaWQgImxvZyBpbiBkaXNhYmxlZCBieSBub2xvZ2luKDgpIG9yIHBhbV9ub2xvZ2luKDgpIgorbXNnc3RyICJub2xvZ2luKDgpIOaIliBwYW1fbm9sb2dpbig4KSDnpoHmraLkuobnmbvlvZUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAiTm8gbG9naW4iCittc2dzdHIgIuS4jeiDveeZu+W9lSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJwcmltYXJ5IGdyb3VwIG5hbWUiCittc2dzdHIgIuS4u+e7hOWQjSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJQcmltYXJ5IGdyb3VwIgorbXNnc3RyICLkuLvnu4QiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI0Cittc2dpZCAicHJpbWFyeSBncm91cCBJRCIKK21zZ3N0ciAiIOS4u+e7hCBJRCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIG5hbWVzIgorbXNnc3RyICLpmYTlsZ7nu4TlkI0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgIumZhOWxnue7hCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAi6ZmE5bGe57uEIElEIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICLpmYTlsZ7nu4QgSUQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3Cittc2dpZCAiaG9tZSBkaXJlY3RvcnkiCittc2dzdHIgIuS4u+ebruW9lSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKK21zZ2lkICJIb21lIGRpcmVjdG9yeSIKK21zZ3N0ciAi5Li755uu5b2VIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorbXNnaWQgImxvZ2luIHNoZWxsIgorbXNnc3RyICLnmbvlvZUgc2hlbGwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4Cittc2dpZCAiU2hlbGwiCittc2dzdHIgInNoZWxsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgImZ1bGwgdXNlciBuYW1lIgorbXNnc3RyICLlrozmlbTnlKjmiLflkI0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiR2Vjb3MgZmllbGQiCittc2dzdHIgIkdlY29zIOWtl+autSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKK21zZ2lkICJkYXRlIG9mIGxhc3QgbG9naW4iCittc2dzdHIgIuS4iuasoeeZu+W9leaXpeacnyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKK21zZ2lkICJMYXN0IGxvZ2luIgorbXNnc3RyICLkuIrmrKHnmbvlvZUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCittc2dpZCAibGFzdCB0dHkgdXNlZCIKK21zZ3N0ciAi5LiK5qyh5L2/55So55qE57uI56uvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgIkxhc3QgdGVybWluYWwiCittc2dzdHIgIuS4iuasoeeahOe7iOerryIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJob3N0bmFtZSBkdXJpbmcgdGhlIGxhc3Qgc2Vzc2lvbiIKK21zZ3N0ciAi5LiK5qyh5Lya6K+d5pe255qE5Li75py65ZCNKGhvc3RuYW1lKSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJMYXN0IGhvc3RuYW1lIgorbXNnc3RyICLkuIrmrKHnmoTkuLvmnLrlkI0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiZGF0ZSBvZiBsYXN0IGZhaWxlZCBsb2dpbiIKK21zZ3N0ciAi5LiK5qyh55m75b2V5aSx6LSl55qE5pel5pyfIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworbXNnaWQgIkZhaWxlZCBsb2dpbiIKK21zZ3N0ciAi5aSx6LSl55qE55m75b2VIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorbXNnaWQgIndoZXJlIGRpZCB0aGUgbG9naW4gZmFpbD8iCittc2dzdHIgIueZu+W9leWcqOWTqumHjOWksei0peeahO+8nyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKK21zZ2lkICJGYWlsZWQgbG9naW4gdGVybWluYWwiCittc2dzdHIgIueZu+W9lee7iOerr+Wksei0pSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJ1c2VyJ3MgaHVzaCBzZXR0aW5ncyIKK21zZ3N0ciAi55So5oi355qE6Z2Z6buYKGh1c2gp6K6+572uIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgIkh1c2hlZCIKK21zZ3N0ciAi5bey6Z2Z6buYIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgImRheXMgdXNlciBpcyB3YXJuZWQgb2YgcGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAi6K2m5ZGK55So5oi35a+G56CB6L+H5pyf55qE5aSp5pWwIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24gd2FybiBpbnRlcnZhbCIKK21zZ3N0ciAi5a+G56CB6L+H5pyf6K2m5ZGK55qE6Ze06ZqUIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgInBhc3N3b3JkIGV4cGlyYXRpb24gZGF0ZSIKK21zZ3N0ciAi5a+G56CB6L+H5pyf5pelIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIuWvhueggei/h+acnyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJkYXRlIG9mIGxhc3QgcGFzc3dvcmQgY2hhbmdlIgorbXNnc3RyICLkuIrmrKHmm7TmlLnlr4bnoIHnmoTml6XmnJ8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4Cittc2dpZCAiUGFzc3dvcmQgY2hhbmdlZCIKK21zZ3N0ciAi5a+G56CB5bey5pu05pS5IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIm51bWJlciBvZiBkYXlzIHJlcXVpcmVkIGJldHdlZW4gY2hhbmdlcyIKK21zZ3N0ciAi5pu05pS55a+G56CB55qE6ZmQ5pyfKOWkqSkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAiTWluaW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAi5pyA5bCP5pu05pS55pe26Ze0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZGF5cyBhIHBhc3N3b3JkIG1heSByZW1haW4gdW5jaGFuZ2VkIgorbXNnc3RyICLlr4bnoIHlj6/ku6XlpJrkuYXkuI3mm7TmlLko5aSp5pWwKSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKK21zZ2lkICJNYXhpbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICLmnIDlpKfmm7TmlLnml7bpl7QiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCittc2dpZCAidGhlIHVzZXIncyBzZWN1cml0eSBjb250ZXh0IgorbXNnc3RyICLnlKjmiLfnmoTlronlhajnjq/looMoY29udGV4dCkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCittc2dpZCAiU2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJTZWxpbnV4IOeOr+WigyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIHJ1biBieSB0aGUgdXNlciIKK21zZ3N0ciAi55So5oi36L+Q6KGM55qE6L+b56iL5pWwIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorbXNnaWQgIlJ1bm5pbmcgcHJvY2Vzc2VzIgorbXNnc3RyICLov5DooYzkuK3nmoTov5vnqIsiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6Mjg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNiBtaXNjLXV0aWxzL2xzYmxrLmM6MjMxCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgY29sdW1ucyBzcGVjaWZpZWQsIHRoZSBsaW1pdCBpcyAlenUgY29sdW1ucyIKK21zZ3N0ciAi5oyH5a6a5LqG6L+H5aSa55qE5YiX77yM6ZmQ5Yi25pivICV6dSDliJciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQzIHN5cy11dGlscy9sc2lwYy5jOjQ1NgorbXNnaWQgInVuc3VwcG9ydGVkIHRpbWUgdHlwZSIKK21zZ3N0ciAi5LiN5pSv5oyB55qE5pe26Ze057G75Z6LIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0NworbXNnaWQgImZhaWxlZCB0byBjb21wb3NlIHRpbWUgc3RyaW5nIgorbXNnc3RyICLnlJ/miJDml7bpl7TlrZfnrKbkuLLlpLHotKUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6NjQ4Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAi6I635b6X6ZmE5bGe57uE5aSx6LSlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzEKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5rbm93biBjb2x1bW4iCittc2dzdHIgIuWGhemDqOmUmeivr++8muacquefpeeahOWIlyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDc1IHN5cy11dGlscy9sc2lwYy5jOjUwMyBzeXMtdXRpbHMvbHNpcGMuYzo2MjUKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY4MCBzeXMtdXRpbHMvbHNpcGMuYzo4Mzggc3lzLXV0aWxzL2xzaXBjLmM6MTAzNgorbXNnaWQgImZhaWxlZCB0byBzZXQgZGF0YSIKK21zZ3N0ciAi6K6+572u5pWw5o2u5aSx6LSlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjExNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxhc3QgbG9nczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIuS4iuasoeeahOaXpeW/l++8mlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjggbG9naW4tdXRpbHMvbm9sb2dpbi5jOjI2CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDEgbWlzYy11dGlscy9tY29va2llLmM6ODIgbWlzYy11dGlscy91dWlkZC5jOjcwCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyNSBzeXMtdXRpbHMvZG1lc2cuYzoyNjQgc3lzLXV0aWxzL2lwY21rLmM6NjYKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjAgc3lzLXV0aWxzL2xzaXBjLmM6Mjc3IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNAorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo5NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODAgdGV4dC11dGlscy9saW5lLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIgJXMgW+mAiemhuV1cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMxCittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBrbm93biB1c2VycyBpbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICLmmL7npLrns7vnu5/kuK3lt7Lnn6XnlKjmiLfnmoTkv6Hmga/jgIJcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM0Cittc2dpZCAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBkaXNwbGF5IGluZm8gYWJvdXQgcGFzc3dvcmRzIGV4cGlyYXRpb25cbiIKK21zZ3N0ciAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICDmmL7npLrlhbPkuo7lr4bnoIHov4fmnJ/nmoTkv6Hmga9cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM1Cittc2dpZCAiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICBkaXNwbGF5IGRhdGEgaW4gYSBmb3JtYXQgc2ltaWxhciB0byAvZXRjL3Bhc3N3ZFxuIgorbXNnc3RyICIgLWMsIC0tY29sb24tc2VwYXJhdGUgICAgIOS7peS4jiAvZXRjL3Bhc3N3ZCDnm7jkvLznmoTmoLzlvI/mmL7npLrml6XmnJ9cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM2IHN5cy11dGlscy9sc2lwYy5jOjI5NgorbXNnaWQgIiAtZSwgLS1leHBvcnQgICAgICAgICAgICAgZGlzcGxheSBpbiBhbiBleHBvcnQtYWJsZSBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtZSwgLS1leHBvcnQgICAgICAgICAgICAg5Lul5Y+v5a+85Ye655qE5qC85byP5pi+56S6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNworbXNnaWQgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAgZGlzcGxheSBkYXRhIGFib3V0IHRoZSB1c2VycycgbGFzdCBmYWlsZWQgbG9naW5zXG4iCittc2dzdHIgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAg5pi+56S65pyJ5YWz6K+l55So5oi35LiK5qyh55m75b2V5aSx6LSl55qE5pWw5o2uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOAorbXNnaWQgIiAtRywgLS1zdXBwLWdyb3VwcyAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBncm91cHNcbiIKK21zZ3N0ciAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICDmmL7npLrkuI7nu4Tnm7jlhbPnmoTkv6Hmga9cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM5Cittc2dpZCAiIC1nLCAtLWdyb3Vwcz08Z3JvdXBzPiAgICBkaXNwbGF5IHVzZXJzIGJlbG9uZ2luZyB0byBhIGdyb3VwIGluIDxncm91cHM+XG4iCittc2dzdHIgIiAtZywgLS1ncm91cHM9PGdyb3Vwcz4gICAg5pi+56S65bGe5LqOPGdyb3Vwcz7kuK3nmoTnu4TnmoTnlKjmiLdcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQwCittc2dpZCAiIC1MLCAtLWxhc3QgICAgICAgICAgICAgICBzaG93IGluZm8gYWJvdXQgdGhlIHVzZXJzJyBsYXN0IGxvZ2luIHNlc3Npb25zXG4iCittc2dzdHIgIiAtTCwgLS1sYXN0ICAgICAgICAgICAgICAg5pi+56S65YWz5LqO6K+l55So5oi35LiK5qyh55m75b2V5Lya6K+d55qE5L+h5oGvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MQorbXNnaWQgIiAtbCwgLS1sb2dpbnM9PGxvZ2lucz4gICAgZGlzcGxheSBvbmx5IHVzZXJzIGZyb20gPGxvZ2lucz5cbiIKK21zZ3N0ciAiIC1sLCAtLWxvZ2lucz0855m75b2V5pa55byPPiAg5Y+q5pi+56S65Lul5oyH5a6aPOeZu+W9leaWueW8jz7nmbvlvZXnmoTnlKjmiLdcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQyIHN5cy11dGlscy9sc2lwYy5jOjI5OAorbXNnaWQgIiAtbiwgLS1uZXdsaW5lICAgICAgICAgICAgZGlzcGxheSBlYWNoIHBpZWNlIG9mIGluZm9ybWF0aW9uIG9uIGEgbmV3IGxpbmVcbiIKK21zZ3N0ciAiIC1uLCAtLW5ld2xpbmUgICAgICAgICAgICDpgJDooYzmmL7npLrmr4/kuIDpg6jliIbkv6Hmga9cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQzIHN5cy11dGlscy9sc2lwYy5jOjI5MQorbXNnaWQgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAgICAgLS1ub2hlYWRpbmdzICAgICDkuI3miZPljbDmoIfpophcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ0IHN5cy11dGlscy9sc2lwYy5jOjI5MgorbXNnaWQgIiAgICAgLS1ub3RydW5jYXRlICAgICAgICAgZG9uJ3QgdHJ1bmNhdGUgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgLS1ub3RydW5jYXRlICAgICAgICAg5LiN5oiq5pat6L6T5Ye6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NSBzeXMtdXRpbHMvbHNpcGMuYzozMDAKK21zZ2lkICIgLW8sIC0tb3V0cHV0Wz08bGlzdD5dICAgIGRlZmluZSB0aGUgY29sdW1ucyB0byBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dFs9POWIl+ihqD5dICAgIOWumuS5ieimgei+k+WHuueahOWIl1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDYKK21zZ2lkICIgLXAsIC0tcHdkICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBsb2dpbiBieSBwYXNzd29yZC5cbiIKK21zZ3N0ciAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICDmmL7npLrkuI4g55So5a+G56CB55m75b2VIOebuOWFs+eahOS/oeaBr+OAglxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDcgc3lzLXV0aWxzL2xzaXBjLmM6MzAyCittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICBkaXNwbGF5IGluIHJhdyBtb2RlXG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAg5Lul5Y6f5aeL5pa55byP5pi+56S6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OAorbXNnaWQgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAgZGlzcGxheSBzeXN0ZW0gYWNjb3VudHNcbiIKK21zZ3N0ciAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICDmmL7npLrns7vnu5/luJDmiLdcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ5IHN5cy11dGlscy9sc2lwYy5jOjI5MworbXNnaWQgIiAgICAgLS10aW1lLWZvcm1hdD08dHlwZT4gZGlzcGxheSBkYXRlcyBpbiBzaG9ydCwgZnVsbCBvciBpc28gZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS10aW1lLWZvcm1hdD085qC85byPPiAg5Lul55+t44CB6ZW/5oiWIGlzbyDmoLzlvI/mmL7npLrml6XmnJ9cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUwCittc2dpZCAiIC11LCAtLXVzZXItYWNjcyAgICAgICAgICBkaXNwbGF5IHVzZXIgYWNjb3VudHNcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXItYWNjcyAgICAgICAgICDmmL7npLrnlKjmiLfluJDmiLdcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUxCittc2dpZCAiIC1aLCAtLWNvbnRleHQgICAgICAgICAgICBkaXNwbGF5IFNFTGludXggY29udGV4dHNcbiIKK21zZ3N0ciAiIC1aLCAtLWNvbnRleHQgICAgICAgICAgICDmmL7npLogU0VMaW51eCDnjq/looNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUyCittc2dpZCAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0IHVzZXIgZW50cmllcyB3aXRoIGEgbnVsIGNoYXJhY3RlclxuIgorbXNnc3RyICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgIOeUqOepuuWtl+espihudWwp5YiG6ZqU55So5oi36K6w5b2V6aG5XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MworbXNnaWQgIiAgICAgLS13dG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciB3dG1wXG4iCittc2dzdHIgIiAgICAgLS13dG1wLWZpbGUgPOi3r+W+hD4gICDorr7nva4gd3RtcCDnmoTlj6/pgInot6/lvoRcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjU0Cittc2dpZCAiICAgICAtLWJ0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIGJ0bXBcbiIKK21zZ3N0ciAiICAgICAtLWJ0bXAtZmlsZSA86Lev5b6EPiAgIOiuvue9riBidG1wIOeahOWPr+mAiei3r+W+hFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTkgbWlzYy11dGlscy9maW5kbW50LmM6MTI0NyBzeXMtdXRpbHMvbHNjcHUuYzoxOTc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIuWPr+eUqOeahOWIl++8mlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NDIKK21zZ2lkICJmYWlsZWQgdG8gcmVxdWVzdCBzZWxpbnV4IHN0YXRlIgorbXNnc3RyICLor7fmsYIgc2VsaW51eCDnirbmgIHlpLHotKUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ1NiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NjAKK21zZ2lkICJPbmx5IG9uZSB1c2VyIG1heSBiZSBzcGVjaWZpZWQuIFVzZSAtbCBmb3IgbXVsdGlwbGUgdXNlcnMuIgorbXNnc3RyICLlj6rog73mjIflrprkuIDkuKrnlKjmiLfjgILlpJrnlKjmiLfor7fkvb/nlKggLWzjgIIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjU1Cittc2dpZCAiY291bGQgbm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICLml6Dms5Xorr7nva7nu4jnq6/lsZ7mgKciCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjU3Cittc2dpZCAiZ2V0bGluZSgpIGZhaWxlZCIKK21zZ3N0ciAiZ2V0bGluZSgpIOWksei0pSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTQ4Cittc2dpZCAiUGFzc3dvcmQ6ICIKK21zZ3N0ciAi5a+G56CB77yaIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNTQgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMDUKK21zZ2lkICJjcnlwdCBmYWlsZWQiCittc2dzdHIgImNyeXB0IOWksei0pSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Z3JvdXA+XG4iCittc2dzdHIgIiAlcyA857uEPlxuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjkKK21zZ2lkICJMb2cgaW4gdG8gYSBuZXcgZ3JvdXAuXG4iCittc2dzdHIgIuS7peaWsOeahOe7hOeZu+W9leOAglxuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMDcKK21zZ2lkICJ3aG8gYXJlIHlvdT8iCittc2dzdHIgIuaCqOaYr+WTquS9je+8nyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjExIGxvZ2luLXV0aWxzL25ld2dycC5jOjIyMyBzeXMtdXRpbHMvbnNlbnRlci5jOjQyMworbXNnaWQgInNldGdpZCBmYWlsZWQiCittc2dzdHIgInNldGdpZCDlpLHotKUiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxNiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTgKK21zZ2lkICJubyBzdWNoIGdyb3VwIgorbXNnc3RyICLml6DmraTnu4QiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyMSBzeXMtdXRpbHMvbW91bnQuYzo0OTEKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCIKK21zZ3N0ciAi5p2D6ZmQ5LiN6LazIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjcgc3lzLXV0aWxzL25zZW50ZXIuYzo0MjUKK21zZ2lkICJzZXR1aWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQg5aSx6LSlIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjkKK21zZ2lkICJQb2xpdGVseSByZWZ1c2UgYSBsb2dpbi5cbiIKK21zZ3N0ciAi5a6i5rCU55qE5ouS57ud55m75b2V44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGlzIGFjY291bnQgaXMgY3VycmVudGx5IG5vdCBhdmFpbGFibGUuXG4iCittc2dzdHIgIuatpOW4kOaIt+ebruWJjeS4jeWPr+eUqOOAglxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gc2Vzc2lvbjogJXMiCittc2dzdHIgIuaXoOazleaJk+W8gOS8muivne+8miVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMDQKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGNoaWxkIHByb2Nlc3MiCittc2dzdHIgIuaXoOazleWIm+W7uuWtkOi/m+eoiyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICLml6Dms5Xmm7TmlLnliLAgJXMg55uu5b2VIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMjEKK21zZ2lkICJjYW5ub3QgYmxvY2sgc2lnbmFscyIKK21zZ3N0ciAi5peg5rOV6Zi75aGe5L+h5Y+3IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMzUgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzQzCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNDkgbWlzYy11dGlscy91dWlkZC5jOjQwNyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc3MQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgIuaXoOazleiuvue9ruS/oeWPt+WkhOeQhuWHveaVsCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Mzc0Cittc2dpZCAiIChjb3JlIGR1bXBlZCkiCittc2dzdHIgIiAo5qC45b+D5bey6L2s5YKoKSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQsIGtpbGxpbmcgc2hlbGwuLi4iCittc2dzdHIgIiIKKyJcbiIKKyLkvJror53lt7Lnu4jmraLvvIzmraPlnKjmnYDmrbsgc2hlbGwuLi4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICIgLi4ua2lsbGVkLlxuIgorbXNnc3RyICIgLi4u5bey5p2A5q2744CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQ4NgorbXNnaWQgIm1heSBub3QgYmUgdXNlZCBieSBub24tcm9vdCB1c2VycyIKK21zZ3N0ciAi6Z2eIHJvb3Qg55So5oi35LiN6IO95L2/55SoIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MTQKK21zZ2lkICJpbmNvcnJlY3QgcGFzc3dvcmQiCittc2dzdHIgIuWvhueggemUmeivryIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTk4Cittc2dpZCAiY2Fubm90IHNldCBncm91cHMiCittc2dzdHIgIuaXoOazleiuvue9riDnu4QiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjYxMyBzeXMtdXRpbHMvZWplY3QuYzo2NjUKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwIGlkIgorbXNnc3RyICLml6Dms5Xorr7nva4g57uEIGlkIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2MTUgc3lzLXV0aWxzL2VqZWN0LmM6NjY4Cittc2dpZCAiY2Fubm90IHNldCB1c2VyIGlkIgorbXNnc3RyICLml6Dms5Xorr7nva4g55So5oi3IGlkIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKK21zZ3N0ciAiICVzIFvpgInpobldIC11IDznlKjmiLc+IDzlkb3ku6Q+XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY4OSBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLV0gWzx1c2VyPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSBbLV0gWzznlKjmiLc+IFs85Y+C5pWwPi4uLl1dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY5MAorbXNnaWQgIiIKKyJcbiIKKyJSdW4gPGNvbW1hbmQ+IHdpdGggdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCBvZiA8dXNlcj4uICBJZiAtdSBpc1xuIgorIm5vdCBnaXZlbiwgZmFsbCBiYWNrIHRvIHN1KDEpLWNvbXBhdGlibGUgc2VtYW50aWNzIGFuZCBleGVjdXRlIHN0YW5kYXJkIHNoZWxsLlxuIgorIlRoZSBvcHRpb25zIC1jLCAtZiwgLWwsIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLXUuXG4iCittc2dzdHIgIiIKKyJcbiIKKyLku6U855So5oi3PueahOacieaViOeUqOaItyBpZCDlkoznu4QgaWQg6L+Q6KGMPOWRveS7pD7jgILlpoLmnpzmnKrnu5nlh7ogLXXvvIxcbiIKKyLlsIbpgIDogIzkvb/nlKjkuI4gc3UoMSkg5YW85a6555qE6K+t5rOV5bm25omn6KGM5qCH5YeGIHNoZWxs44CCXG4iCisi6YCJ6aG5IC1j44CBLWbjgIEtbCDlj4ogLXMg5LiOIC11IOebuOS6kuaOkuaWpeOAglxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2OTcKK21zZ2lkICIgLXUsIC0tdXNlciA8dXNlcj4gICAgICAgICAgICAgdXNlcm5hbWVcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXIgPOeUqOaItz4gICAgICAgICAgICAg55So5oi35ZCNXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwMgorbXNnaWQgIiIKKyJcbiIKKyJDaGFuZ2UgdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCB0byB0aGF0IG9mIDx1c2VyPi5cbiIKKyJBIG1lcmUgLSBpbXBsaWVzIC1sLiAgSWYgPHVzZXI+IGlzIG5vdCBnaXZlbiwgcm9vdCBpcyBhc3N1bWVkLlxuIgorbXNnc3RyICIiCisiXG4iCisi5bCG5pyJ5pWI55So5oi3IGlkIOWSjOe7hCBpZCDmm7TmlLnkuLo855So5oi3PueahCBpZOOAglxuIgorIuWNleS4qiAtIOinhuS4uiAtbOOAguWmguaenOacquaMh+WumjznlKjmiLc+77yM5bCG5YGH5a6a5Li6IHJvb3TjgIJcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzA5Cittc2dpZCAiIC1tLCAtcCwgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCAgZG8gbm90IHJlc2V0IGVudmlyb25tZW50IHZhcmlhYmxlc1xuIgorbXNnc3RyICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICDkuI3ph43nva7njq/looPlj5jph49cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzEwCittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgICAgICAgICAgc3BlY2lmeSB0aGUgcHJpbWFyeSBncm91cFxuIgorbXNnc3RyICIgLWcsIC0tZ3JvdXAgPOe7hD4gICAgICAgICAgICAgICAg5oyH5a6a5Li757uEXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMQorbXNnaWQgIiIKKyIgLUcsIC0tc3VwcC1ncm91cCA8Z3JvdXA+ICAgICAgICBzcGVjaWZ5IGEgc3VwcGxlbWVudGFsIGdyb3VwXG4iCisiXG4iCittc2dzdHIgIiIKKyIgLUcsIC0tc3VwcC1ncm91cCA857uEPiAgICAgICAg5oyH5a6a5LiA5Liq6L6F5Yqp57uEXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMworbXNnaWQgIiAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgICAgIG1ha2UgdGhlIHNoZWxsIGEgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgICAg5L2/IHNoZWxsIOaIkOS4uueZu+W9lSBzaGVsbFxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTQKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbW1hbmQgPOWRveS7pD4gICAgICAgICAgICDkvb/nlKggLWMg5ZCRIHNoZWxsIOS8oOmAkuS4gOadoeWRveS7pFxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTUKK21zZ2lkICIiCisiIC0tc2Vzc2lvbi1jb21tYW5kIDxjb21tYW5kPiAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZG8gbm90IGNyZWF0ZSBhIG5ldyBzZXNzaW9uXG4iCittc2dzdHIgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPOWRveS7pD4gICAgICAgIOS9v+eUqCAtYyDlkJEgc2hlbGwg5Lyg6YCS5LiA5p2h5ZG95LukXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDogIzkuI3liJvlu7rmlrDkvJror51cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE3Cittc2dpZCAiIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgICAgcGFzcyAtZiB0byB0aGUgc2hlbGwgKGZvciBjc2ggb3IgdGNzaClcbiIKK21zZ3N0ciAiIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgICAg5ZCRc2hlbGwg5Lyg6YCSIC1mIOmAiemhuShjc2gg5oiWIHRjc2gpXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxOAorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHJ1biA8c2hlbGw+IGlmIC9ldGMvc2hlbGxzIGFsbG93cyBpdFxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgICDoi6UgL2V0Yy9zaGVsbHMg5YWB6K6477yM6L+Q6KGMPHNoZWxsPlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwIGlzIG5vdCBwb3NzaWJsZSIKK21zZ2lkX3BsdXJhbCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwcyBpcyBub3QgcG9zc2libGUiCittc2dzdHJbMF0gIuS4jeiDveaMh+WumuWkmuS6jiAlZCDkuKrooaXlhYXnu4QiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc2OAorIywgYy1mb3JtYXQKK21zZ2lkICJncm91cCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi57uEICVzIOS4jeWtmOWcqCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODg2Cittc2dpZCAiaWdub3JpbmcgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWxvZ2luIgorbXNnc3RyICLlsIblv73nlaUgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudO+8jOWug+S4jiAtLWxvZ2luIOS6kuaWpeOAgiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODk3Cittc2dpZCAib3B0aW9ucyAtLXtzaGVsbCxmYXN0LGNvbW1hbmQsc2Vzc2lvbi1jb21tYW5kLGxvZ2lufSBhbmQgLS11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIumAiemhuSAtLXtzaGVsbCxmYXN0LGNvbW1hbmQsc2Vzc2lvbi1jb21tYW5kLGxvZ2lufSDlkowgLS11c2VyIOS6kuaWpSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTAxCittc2dpZCAibm8gY29tbWFuZCB3YXMgc3BlY2lmaWVkIgorbXNnc3RyICLmsqHmnInmjIflrprlkb3ku6QiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkxNQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gc3BlY2lmeSBhbHRlcm5hdGl2ZSBncm91cHMiCittc2dzdHIgIuWPquaciSByb290IOeUqOaIt+iDveaMh+Wumuabv+S7o+e7hCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTIyCisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIueUqOaItyAlcyDkuI3lrZjlnKgiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyByZXN0cmljdGVkIHNoZWxsICVzIgorbXNnc3RyICLlsIbkvb/nlKjlj5fpmZAgc2hlbGwgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk4NgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAi6K2m5ZGK77ya5peg5rOV5pu05pS55YiwICVzIOebruW9lSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEzMAorbXNnaWQgInRjZ2V0YXR0ciBmYWlsZWQiCittc2dzdHIgInRjZ2V0YXR0ciDlpLHotKUiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoyMDcKK21zZ2lkICJ0Y3NldGF0dHIgZmFpbGVkIgorbXNnc3RyICJ0Y3NldGF0dHIg5aSx6LSlIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdFxuIgorbXNnc3RyICIlc++8muaXoCByb290IOeahOiusOW9lVxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdCIKK21zZ3N0ciAiJXPvvJrml6Agcm9vdCDnmoTorrDlvZUiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJvb3QgcGFzc3dvcmQgZ2FyYmxlZCIKK21zZ3N0ciAiJXPvvJpyb290IOWvhueggeacieivryIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQ2Fubm90IG9wZW4gYWNjZXNzIHRvIGNvbnNvbGUsIHRoZSByb290IGFjY291bnQgaXMgbG9ja2VkLlxuIgorIlNlZSBzdWxvZ2luKDgpIG1hbiBwYWdlIGZvciBtb3JlIGRldGFpbHMuXG4iCisiXG4iCisiUHJlc3MgRW50ZXIgdG8gY29udGludWUuXG4iCittc2dzdHIgIiIKKyJcbiIKKyLml6Dms5Xorr/pl67nu4jnq6/vvIxyb290IOi0puWPt+iiq+mUgeOAgiBcbiIKKyLlj4LpmIUgc3Vsb2dpbig4KSDluK7liqnpobXpnaLkuobop6Pmm7TlpJrkv6Hmga/jgIJcbiIKKyJcbiIKKyLmjIkgRW50ZXIg57un57ut44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBsb2dpbjogIgorbXNnc3RyICLmjIflrpogcm9vdCDnmoTnmbvlvZXlr4bnoIHvvJoiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIGxvZ2luOiAiCittc2dzdHIgIuaMiSBFbnRlciDplK7nmbvlvZXvvJoiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICLmjIflrpogcm9vdCDnmoTnu7TmiqTlr4bnoIFcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0NQorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAi5oyJIEVudGVyIOmUrui/m+ihjOe7tOaKpFxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIihvciBwcmVzcyBDb250cm9sLUQgdG8gY29udGludWUpOiAiCittc2dzdHIgIijmiJbmjIkgQ29udHJvbC1EIOmUrue7p+e7rSnvvJoiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3NDIKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IHRvIHN5c3RlbSByb290IGZhaWxlZCIKK21zZ3N0ciAi5pu05pS55Yiw57O757uf5qC555uu5b2V5aSx6LSlIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzkxCittc2dpZCAic2V0ZXhlY2NvbiBmYWlsZWQiCittc2dzdHIgInNldGV4ZWNjb24g5aSx6LSlIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3R0eSBkZXZpY2VdXG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSBbdHR5IOiuvuWkh11cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxNAorbXNnaWQgIlNpbmdsZS11c2VyIGxvZ2luLlxuIgorbXNnc3RyICLljZXnlKjmiLfnmbvlvZXjgIJcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxNworbXNnaWQgIiIKKyIgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgIHN0YXJ0IGEgbG9naW4gc2hlbGxcbiIKKyIgLXQsIC0tdGltZW91dCA8c2Vjb25kcz4gIG1heCB0aW1lIHRvIHdhaXQgZm9yIGEgcGFzc3dvcmQgKGRlZmF1bHQ6IG5vIGxpbWl0KVxuIgorIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAgZXhhbWluZSBwYXNzd29yZCBmaWxlcyBkaXJlY3RseSBpZiBnZXRwd25hbSgzKSBmYWlsc1xuIgorbXNnc3RyICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICDlkK/liqjnmbvlvZUgc2hlbGxcbiIKKyIgLXQsIC0tdGltZW91dCA856eS5pWwPiAgICAg562J5b6F5a+G56CB55qE5pyA5aSn5pe26Ze0KOm7mOiupO+8muaXoOmZkOWItilcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIOWmguaenCBnZXRwd25hbSgzKSDlpLHotKXvvIznm7TmjqXmo4Dmn6Xlr4bnoIHmlofku7ZcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg3MSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDYzIHN5cy11dGlscy93ZGN0bC5jOjUyMworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3NTAgdGVybS11dGlscy93YWxsLmM6MTM1Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50IgorbXNnc3RyICLml6DmlYjnmoQgdGltZW91dCDotoXml7blj4LmlbAiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4OTMKK21zZ2lkICJvbmx5IHN1cGVydXNlciBjYW4gcnVuIHRoaXMgcHJvZ3JhbSIKK21zZ3N0ciAi5Y+q5pyJ6LaF57qn55So5oi36IO96L+Q6KGM5q2k56iL5bqPIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTM2Cittc2dpZCAiY2Fubm90IG9wZW4gY29uc29sZSIKK21zZ3N0ciAi5omT5LiN5byA57uI56uvIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTQzCittc2dpZCAiY2Fubm90IG9wZW4gcGFzc3dvcmQgZGF0YWJhc2UiCittc2dzdHIgIuaXoOazleaJk+W8gOWvhueggeaVsOaNruW6kyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNhbiBub3QgZXhlY3V0ZSBzdSBzaGVsbFxuIgorIlxuIgorbXNnc3RyICIiCisi5peg5rOV5omn6KGMIHN1IHNoZWxsXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDI3Cittc2dpZCAiIgorIlRpbWVkIG91dFxuIgorIlxuIgorbXNnc3RyICIiCisi6LaF5pe2XG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDU5Cittc2dpZCAiIgorIkNhbiBub3Qgd2FpdCBvbiBzdSBzaGVsbFxuIgorIlxuIgorbXNnc3RyICIiCisi5peg5rOV562J5b6FIHN1IHNoZWxsXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTc2IHRleHQtdXRpbHMvdGFpbGYuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaC4iCittc2dzdHIgIiVz77ya5peg5rOV5re75YqgIGlub3RpZnkg6KeC5a+f44CCIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE4NSB0ZXh0LXV0aWxzL3RhaWxmLmM6MTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBpbm90aWZ5IGV2ZW50cyIKK21zZ3N0ciAiJXPvvJrml6Dms5Xor7sgaW5vdGlmeSDkuovku7YiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjQ2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjUxCittc2dpZCAiRXh0cmFuZW91cyBuZXdsaW5lIGluIGZpbGUuIEV4aXRpbmcuIgorbXNnc3RyICLmlofku7bkuK3mnInml6DlhbPnmoTmjaLooYznrKbjgILlsIbpgIDlh7rjgIIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVuYW1lXVxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gW+aWh+S7tuWQjV1cbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTIKK21zZ2lkICJEdW1wIFVUTVAgYW5kIFdUTVAgZmlsZXMgaW4gcmF3IGZvcm1hdC5cbiIKK21zZ3N0ciAi5Lul5Y6f5aeL5qC85byP6L2s5YKoIFVUTVAg5ZKMIFdUTVAg5paH5Lu244CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE1Cittc2dpZCAiIC1mLCAtLWZvbGxvdyAgICAgICAgIG91dHB1dCBhcHBlbmRlZCBkYXRhIGFzIHRoZSBmaWxlIGdyb3dzXG4iCittc2dzdHIgIiAtZiwgLS1mb2xsb3cgICAgICAgICDpmo/mlofku7blop7plb/ovpPlh7rov73liqDnmoTmlbDmja5cbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTYKK21zZ2lkICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgd3JpdGUgYmFjayBkdW1wZWQgZGF0YSBpbnRvIHV0bXAgZmlsZVxuIgorbXNnc3RyICIgLXIsIC0tcmV2ZXJzZSAgICAgICAg5bCG6L2s5YKo55qE5pWw5o2u5YaZ5ZueIHV0bXAg5paH5Lu2XG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzE3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8ZmlsZT4gIHdyaXRlIHRvIGZpbGUgaW5zdGVhZCBvZiBzdGFuZGFyZCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA85paH5Lu2PiAg5YaZ5YWl5paH5Lu26ICM6Z2e5qCH5YeG6L6T5Ye6XG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzg0Cittc2dpZCAiZm9sbG93aW5nIHN0YW5kYXJkIGlucHV0IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICLkuI3mlK/mjIHot5/pmo8oZm9sbG93Keagh+WHhui+k+WFpSIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCB1bmR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiJXMg55qEIFV0bXAgdW5kdW1wXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgZHVtcCBvZiAlc1xuIgorbXNnc3RyICIlcyDnmoQgVXRtcCBkdW1wXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNDEKK21zZ2lkICJjYW4ndCBvcGVuIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICLml6Dms5XmiZPlvIDkuLTml7bmlofku7YiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNyZWF0ZSBhIGxpbmsgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlc++8muWIm+W7uuaMh+WQkSAlcyDnmoTpk77mjqXlpLHotKUiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3QgZ2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICLml6Dms5Xojrflj5YgJXMg55qE546v5aKDIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IHNldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAi5peg5rOV6K6+572uICVzIOeahOeOr+WigyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmNoYW5nZWQiCittc2dzdHIgIiVzIOacquaUueWPmCIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI1NAorbXNnaWQgImNhbm5vdCBnZXQgbG9jayIKK21zZ3N0ciAi5peg5rOV6I635b6X6ZSBIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjgxCittc2dpZCAibm8gY2hhbmdlcyBtYWRlIgorbXNnc3RyICLml6DmlLnlj5giCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTAKK21zZ2lkICJjYW5ub3QgY2htb2QgZmlsZSIKK21zZ3N0ciAi5peg5rOV5a+55paH5Lu2IGNobW9kIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzA0Cittc2dpZCAiRWRpdCB0aGUgcGFzc3dvcmQgb3IgZ3JvdXAgZmlsZS5cbiIKK21zZ3N0ciAi57yW6L6R5a+G56CB5oiW57uE5paH5Lu244CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTAKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBncm91cHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIuaCqOato+WcqOS9v+eUqOatpOezu+e7n+S4iueahOmBruiUvShzaGFkb3cp57uE44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNTEKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBwYXNzd29yZHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIuaCqOato+WcqOS9v+eUqOatpOezu+e7n+S4iueahOmBruiUvShzaGFkb3cp5a+G56CB44CCXG4iCisKKyMuIFRSQU5TTEFUT1JTOiB0aGlzIHByb2dyYW0gdXNlcyBmb3IgeSBhbmQgbiBycG1hdGNoKDMpLAorIy4gKiB3aGljaCBtZWFucyB0aGV5IGNhbiBiZSB0cmFuc2xhdGVkLgorIzogbG9naW4tdXRpbHMvdmlwdy5jOjM1NQorIywgYy1mb3JtYXQKK21zZ2lkICJXb3VsZCB5b3UgbGlrZSB0byBlZGl0ICVzIG5vdyBbeS9uXT8gIgorbXNnc3RyICLmgqjmg7PnjrDlnKjnvJbovpEgJXMg5ZCXW3kvbl3vvJ8iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzcyCittc2dpZCAiaW52YWxpZCBtb250aCBhcmd1bWVudCIKK21zZ3N0ciAi5peg5pWI55qE5pyI5Lu95Y+C5pWwIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjM4MAorbXNnaWQgImludmFsaWQgd2VlayBhcmd1bWVudCIKK21zZ3N0ciAi5peg5pWI55qEIOWRqCDlj4LmlbAiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzgyCittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB1c2UgMS01NCIKK21zZ3N0ciAi6Z2e5rOV55qEIOWRqCDlgLzvvJror7fkvb/nlKggMS01NCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHRpbWVzdGFtcCBvciB1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICIg6Kej5p6Q5pe26Ze05oiz5aSx6LSl5oiW5pyI5Lu95ZCN5pyq55+l77yaJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDMxCittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWUiCittc2dzdHIgIuaXpSDlgLzkuI3lkIjms5UiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDMzIG1pc2MtdXRpbHMvY2FsLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlOiB1c2UgMS0lZCIKK21zZ3N0ciAi5pelIOWAvOS4jeWQiOazle+8muivt+S9v+eUqCAxLSVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQzNyBtaXNjLXV0aWxzL2NhbC5jOjQ0NQorbXNnaWQgImlsbGVnYWwgbW9udGggdmFsdWU6IHVzZSAxLTEyIgorbXNnc3RyICLmnIjku73lgLzkuI3lkIjms5XvvJror7fkvb/nlKggMS0xMiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAi5pyI5Lu95ZCN5pyq55+l77yaJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDQ4IG1pc2MtdXRpbHMvY2FsLmM6NDUyCittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlIgorbXNnc3RyICLlubTku73lgLzkuI3lkIjms5UiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDUwCittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlOiB1c2UgcG9zaXRpdmUgaW50ZWdlciIKK21zZ3N0ciAi5bm05Lu95YC85LiN5ZCI5rOV77ya6K+35L2/55So5q2j5pW05pWwIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4MiBtaXNjLXV0aWxzL2NhbC5jOjQ5NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHllYXIgJWQgZG9lc24ndCBoYXZlIHdlZWsgJWQiCittc2dzdHIgIumdnuazleeahCDlkagg5YC877yaJWQg5bm05rKh5pyJ56ysICVkIOWRqCIKKworIzogbWlzYy11dGlscy9jYWwuYzo2NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMiCittc2dzdHIgIiVzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlMDRkIgorbXNnc3RyICIlMDRkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY5MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlMDRkIgorbXNnc3RyICIlcyAlMDRkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtbW2RheV0gbW9udGhdIHllYXJdXG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSBbW1vml6VdIOaciF0g5bm0XVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx0aW1lc3RhbXB8bW9udGhuYW1lPlxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gPOaXtumXtOaIs3zmnIjku73lkI0+XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTk3Cittc2dpZCAiRGlzcGxheSBhIGNhbGVuZGFyLCBvciBzb21lIHBhcnQgb2YgaXQuXG4iCittc2dzdHIgIuaYvuekuuaXpeWOhuaIlumDqOWIhuaXpeWOhuOAglxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5OAorbXNnaWQgIldpdGhvdXQgYW55IGFyZ3VtZW50cywgZGlzcGxheSB0aGUgY3VycmVudCBtb250aC5cbiIKK21zZ3N0ciAi5LiN5bim5Y+C5pWw5pe277yM5pi+56S65b2T5pyI5pel5Y6G44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMQorbXNnaWQgIiAtMSwgLS1vbmUgICAgICAgICAgICAgc2hvdyBvbmx5IGEgc2luZ2xlIG1vbnRoIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLTEsIC0tb25lICAgICAgICAgICAgIOWPquaYvuekuuS4gOS4quaciCjpu5jorqQpXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMgorbXNnaWQgIiAtMywgLS10aHJlZSAgICAgICAgICAgc2hvdyB0aHJlZSBtb250aHMgc3Bhbm5pbmcgdGhlIGRhdGVcbiIKK21zZ3N0ciAiIC0zLCAtLXRocmVlICAgICAgICAgICDmmL7npLror6Xml6XmnJ/liY3lkI7kuInkuKrmnIhcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDAzCittc2dpZCAiIC1uLCAtLW1vbnRocyA8bnVtPiAgICBzaG93IG51bSBtb250aHMgc3RhcnRpbmcgd2l0aCBkYXRlJ3MgbW9udGhcbiIKK21zZ3N0ciAiIC1uLCAtLW1vbnRocyA8IOaVsOWtlz4gICDmmL7npLrku6Xml6XmnJ/miYDlnKjmnIjku73lvIDlp4vnmoToi6XlubLkuKrmnIhcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA0Cittc2dpZCAiIC1TLCAtLXNwYW4gICAgICAgICAgICBzcGFuIHRoZSBkYXRlIHdoZW4gZGlzcGxheWluZyBtdWx0aXBsZSBtb250aHNcbiIKK21zZ3N0ciAiIC1TLCAtLXNwYW4gICAgICAgICAgICDmmL7npLrlpJrkuKrmnIjku73ml7bnmoTml6XmnJ/ojIPlm7RcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA1Cittc2dpZCAiIC1zLCAtLXN1bmRheSAgICAgICAgICBTdW5kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIC1zLCAtLXN1bmRheSAgICAgICAgICDlkajml6XkvZzkuLrkuIDlkajnmoTnrKzkuIDlpKlcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA2Cittc2dpZCAiIC1tLCAtLW1vbmRheSAgICAgICAgICBNb25kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIC1tLCAtLW1vbmRheSAgICAgICAgICDlkajkuIDkvZzkuLrkuIDlkajnmoTnrKzkuIDlpKlcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA3Cittc2dpZCAiIC1qLCAtLWp1bGlhbiAgICAgICAgICBvdXRwdXQgSnVsaWFuIGRhdGVzXG4iCittc2dzdHIgIiAtaiwgLS1qdWxpYW4gICAgICAgICAg6L6T5Ye65YSS55Wl5pel5pyfXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwOAorbXNnaWQgIiAteSwgLS15ZWFyICAgICAgICAgICAgc2hvdyB0aGUgd2hvbGUgeWVhclxuIgorbXNnc3RyICIgLXksIC0teWVhciAgICAgICAgICAgIOaYvuekuuWFqOW5tFxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDkKK21zZ2lkICIgLVksIC0tdHdlbHZlICAgICAgICAgIHNob3cgdGhlIG5leHQgdHdlbHZlIG1vbnRoc1xuIgorbXNnc3RyICIgLVksIC0tdHdlbHZlICAgICAgICAgIOaYvuekuuS5i+WQjueahCAxMiDkuKrmnIhcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDEwCittc2dpZCAiIC13LCAtLXdlZWtbPTxudW0+XSAgICBzaG93IFVTIG9yIElTTy04NjAxIHdlZWsgbnVtYmVyc1xuIgorbXNnc3RyICIgLXcsIC0td2Vla1s9POaVsOWtlz5dICAg5pi+56S6576O5Zu95oiWIElTTy04NjAxIOWRqOaVsFxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMTEKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAgLS1jb2xvcls9POaXtuacuj5dICDmtojmga/lvanoibLmmL7npLooYXV0bywgYWx3YXlzIOaIliBuZXZlcilcbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbHVlPlxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0ge0xBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMfT085YC8PlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjMyCittc2dpZCAiRmluZCBhIGZpbGVzeXN0ZW0gYnkgbGFiZWwgb3IgVVVJRC5cbiIKK21zZ3N0ciAi5oyJ5qCH562+5oiWIFVVSUQg5p+l5om+5paH5Lu257O757uf44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgJyVzJyIKK21zZ3N0ciAi5LiN6IO96Kej5p6Q4oCcJXPigJ0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjk5Cittc2dpZCAic291cmNlIGRldmljZSIKK21zZ3N0ciAi5rqQ6K6+5aSHIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDAKK21zZ2lkICJtb3VudHBvaW50IgorbXNnc3RyICLmjILovb3ngrkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxCittc2dpZCAiZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICLmlofku7bns7vnu5/nsbvlnosiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMgorbXNnaWQgImFsbCBtb3VudCBvcHRpb25zIgorbXNnc3RyICLlhajpg6jmjILoh7fpgInpobkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMworbXNnaWQgIlZGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICJWRlMg55qE54m55a6a5oyC6L296YCJ6aG5IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDQKK21zZ2lkICJGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICJGUyDnmoTnibnlrprmjILovb3pgInpobkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNQorbXNnaWQgImZpbGVzeXN0ZW0gbGFiZWwiCittc2dzdHIgIuaWh+S7tuezu+e7n+agh+etviIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA2IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQKK21zZ2lkICJmaWxlc3lzdGVtIFVVSUQiCittc2dzdHIgIuaWh+S7tuezu+e7nyBVVUlEIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDcKK21zZ2lkICJwYXJ0aXRpb24gbGFiZWwiCittc2dzdHIgIuWIhuWMuuagh+etviIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5IG1pc2MtdXRpbHMvbHNibGsuYzoxNjAKK21zZ2lkICJtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICLkuLs65qyhIOiuvuWkh+WPtyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEwCittc2dpZCAiYWN0aW9uIGRldGVjdGVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiLS1wb2xsIOajgOa1i+WIsOeahOaTjeS9nCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExCittc2dpZCAib2xkIG1vdW50IG9wdGlvbnMgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICItLXBvbGwg5L+d5a2Y55qE5pen5oyC6L296YCJ6aG5IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTIKK21zZ2lkICJvbGQgbW91bnRwb2ludCBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgIi0tcG9sbCDkv53lrZjnmoTml6fmjILovb3ngrkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMworbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSIKK21zZ3N0ciAi5paH5Lu257O757uf5aSn5bCPIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTQKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgYXZhaWxhYmxlIgorbXNnc3RyICLmlofku7bns7vnu5/lj6/nlKjlpKflsI8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSB1c2VkIgorbXNnc3RyICLmlofku7bns7vnu5/lt7LnlKjlpKflsI8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNgorbXNnaWQgImZpbGVzeXN0ZW0gdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIuaWh+S7tuezu+e7n+S9v+eUqOeZvuWIhuavlCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE3Cittc2dpZCAiZmlsZXN5c3RlbSByb290IgorbXNnc3RyICLmlofku7bns7vnu58gcm9vdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE4Cittc2dpZCAidGFzayBJRCIKK21zZ3N0ciAi5Lu75YqhIElEIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkKK21zZ2lkICJtb3VudCBJRCIKK21zZ3N0ciAi5oyC6L29IElEIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAKK21zZ2lkICJvcHRpb25hbCBtb3VudCBmaWVsZHMiCittc2dzdHIgIuWPr+mAieeahOaMgui9veWtl+autSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxCittc2dpZCAiVkZTIHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICJWRlMg5Lyg5pKt5qCH5b+XIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIKK21zZ2lkICJkdW1wKDgpIHBlcmlvZCBpbiBkYXlzIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiZHVtcCg4KSDlkajmnJ8o5aSp5pWwKSBb5LuFIGZzdGFiXSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzCittc2dpZCAicGFzcyBudW1iZXIgb24gcGFyYWxsZWwgZnNjayg4KSBbZnN0YWIgb25seV0iCittc2dzdHIgIuW5tuihjCBmc2NrKDgpIOeahOmBjeaVsChwYXNzIG51bWJlcikgW+S7hSBmc3RhYl0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFjdGlvbjogJXMiCittc2dzdHIgIuacquefpeaTjeS9nDogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0MworbXNnaWQgIm1vdW50IgorbXNnc3RyICLmjILovb0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0NgorbXNnaWQgInVtb3VudCIKK21zZ3N0ciAi5Y246L29IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDkKK21zZ2lkICJyZW1vdW50IgorbXNnc3RyICLph43mlrDmjILovb0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1MgorbXNnaWQgIm1vdmUiCittc2dzdHIgIuenu+WKqCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODEyIG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNzUgc3lzLXV0aWxzL2VqZWN0LmM6NzE5CisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NjkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJsZSIKK21zZ3N0ciAi5Yid5aeL5YyWIGxpYm1vdW50IHRhYmxlIOWksei0pSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODM5IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgJXMiCittc2dzdHIgIuS4jeiDveivuyAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxNSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDgxCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6OTQgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ4MgorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE4NyBzeXMtdXRpbHMvbW91bnQuYzoxMzQgc3lzLXV0aWxzL21vdW50LmM6MTgyCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjU2IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTU1IHN5cy11dGlscy9zd2Fwb24uYzoyNDQKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNzQgc3lzLXV0aWxzL3N3YXBvbi5jOjczMyBzeXMtdXRpbHMvdW1vdW50LmM6Mjc0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgaXRlcmF0b3IiCittc2dzdHIgIuaXoOazleWIneWni+WMliBsaWJtb3VudCDov63ku6PlmagiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODcKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJkaWZmIgorbXNnc3RyICLliJ3lp4vljJYgbGlibW91bnQgdGFiZGlmZiDlpLHotKUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMTUKK21zZ2lkICJwb2xsKCkgZmFpbGVkIgorbXNnc3RyICJwb2xsKCkg5aSx6LSlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gfCA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZSA8ZGV2aWNlPl0gWy0tdGFyZ2V0IDxwYXRoPiB8IC0tbW91bnRwb2ludCA8ZGlyPl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvpgInpobldXG4iCisiICUxJHMgW+mAiemhuV0gPOiuvuWkhz4gfCA85oyC6Ie354K5PlxuIgorIiAlMSRzIFvpgInpobldIDzorr7lpIc+IDzmjILoh7fngrk+XG4iCisiICUxJHMgW+mAiemhuV0gWy0tc291cmNlIDzorr7lpIc+XSBbLS10YXJnZXQgPOaMguiHt+eCuT5dXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTYKK21zZ2lkICJGaW5kIGEgKG1vdW50ZWQpIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIuafpeaJvijmjILovb3nmoQp5paH5Lu257O757uf44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTkKK21zZ2lkICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtcywgLS1mc3RhYiAgICAgICAgICAgIOWcqOaWh+S7tuezu+e7n+ihqOaAgeihqOS4reaQnOe0olxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAwCittc2dpZCAiIC1tLCAtLW10YWIgICAgICAgICAgICAgc2VhcmNoIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1tLCAtLW10YWIgICAgICAgICAgICAg5Zyo5bey5oyC6L295paH5Lu257O757uf6KGo5Lit5pCc57SiXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDEKK21zZ2lkICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgc2VhcmNoIGluIGtlcm5lbCB0YWJsZSBvZiBtb3VudGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlc3lzdGVtcyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIOWcqOW3suaMgui9veaWh+S7tuezu+e7n+eahOWGheaguOihqOS4reaQnOe0olxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgKOm7mOiupClcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNAorbXNnaWQgIiAtcCwgLS1wb2xsWz08bGlzdD5dICAgIG1vbml0b3IgY2hhbmdlcyBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtcCwgLS1wb2xsWz085YiX6KGoPl0gICAg55uR5rWL5bey5oyC6Ie35paH5Lu257O757uf6KGo55qE5pS55Y+YXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDUKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8bnVtPiAgICB1cHBlciBsaW1pdCBpbiBtaWxsaXNlY29uZHMgdGhhdCAtLXBvbGwgd2lsbCBibG9ja1xuIgorbXNnc3RyICIgLXcsIC0tdGltZW91dCA85pWw5a2XPiAgIC0tcG9sbCDpmLvloZ7nmoTml7bpl7TkuIrpmZAo5q+r56eSKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA4Cittc2dpZCAiIC1BLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgYnVpbHQtaW4gZmlsdGVycywgcHJpbnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtQSwgLS1hbGwgICAgICAgICAgICAgIOemgeeUqOaJgOacieWGhee9rui/h+a7pOWZqO+8jOaJk+WNsOaJgOacieaWh+S7tuezu+e7n1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA5Cittc2dpZCAiIC1hLCAtLWFzY2lpICAgICAgICAgICAgdXNlIEFTQ0lJIGNoYXJzIGZvciB0cmVlIGZvcm1hdHRpbmdcbiIKK21zZ3N0ciAiIC1hLCAtLWFzY2lpICAgICAgICAgICAg55SoIEFTQ0lJIOWtl+espuagvOW8j+WMluagkVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEwCittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAg5Lul5a2X6IqC5Li65Y2V5L2N6ICM6Z2e5piT6K+755qE5qC85byP5p2l5omT5Y2w5aSn5bCPXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTEKK21zZ2lkICIgLUMsIC0tbm9jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgd2hlbiBjb21wYXJpbmcgcGF0aHNcbiIKK21zZ3N0ciAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAg5Zyo5q+U6L6D6Lev5b6E5pe25LiN5a+56Lev5b6E6KeE6IyD5YyWXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTIKK21zZ2lkICIgLWMsIC0tY2Fub25pY2FsaXplICAgICBjYW5vbmljYWxpemUgcHJpbnRlZCBwYXRoc1xuIgorbXNnc3RyICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICDlr7nmiZPljbDnmoTot6/lvoTop4TojIPljJZcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMworbXNnaWQgIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRhdGUgdGhlIG91dHB1dCBvZiBkZigxKVxuIgorbXNnc3RyICIgLUQsIC0tZGYgICAgICAgICAgICAgICDku7/nhacgZGYoMSkg6L6T5Ye6XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTQKK21zZ2lkICIgLWQsIC0tZGlyZWN0aW9uIDx3b3JkPiBkaXJlY3Rpb24gb2Ygc2VhcmNoLCAnZm9yd2FyZCcgb3IgJ2JhY2t3YXJkJ1xuIgorbXNnc3RyICIgLWQsIC0tZGlyZWN0aW9uIDzljZXor40+IOaQnOe0ouaWueWQke+8jOKAnGZvcndhcmTigJ0o5b6A5YmNKeaIluKAnGJhY2t3YXJk4oCdKOW+gOWbnilcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNQorbXNnaWQgIiIKKyIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBjb252ZXJ0IHRhZ3MgKExBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMKSBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGRldmljZSBuYW1lc1xuIgorbXNnc3RyICIiCisiIC1lLCAtLWV2YWx1YXRlICAgICAgICAg5bCG5qCH562+KExBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMKSDovazmjaLkuLpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIOiuvuWkh+WQjVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE3Cittc2dpZCAiIC1GLCAtLXRhYi1maWxlIDxwYXRoPiAgYWx0ZXJuYXRpdmUgZmlsZSBmb3IgLXMsIC1tIG9yIC1rIG9wdGlvbnNcbiIKK21zZ3N0ciAiIC1GLCAtLXRhYi1maWxlIDzot6/lvoQ+ICAtcywgLW0g5oiWIC1rIOmAiemhueeahOabv+S7o+aWh+S7tlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE4Cittc2dpZCAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIgorbXNnc3RyICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICDlj6rmiZPljbDmib7liLDnmoTnrKzkuIDkuKrmlofku7bns7vnu59cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOQorbXNnaWQgIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVydCB0aGUgc2Vuc2Ugb2YgbWF0Y2hpbmdcbiIKK21zZ3N0ciAiIC1pLCAtLWludmVydCAgICAgICAgICAg5Y+N6L2s5pCc57Si55qE5Yy56YWNXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjAgbWlzYy11dGlscy9sc2xvY2tzLmM6NTA3IHN5cy11dGlscy9sc25zLmM6NjE5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICAg5L2/55SoIEpTT04g6L6T5Ye65qC85byPXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjEgc3lzLXV0aWxzL2xzbnMuYzo2MjAKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIOS9v+eUqOWIl+ihqOagvOW8j+eahOi+k+WHulxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIyCittc2dpZCAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNlIGFsdGVybmF0aXZlIG5hbWVzcGFjZSAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIGZpbGUpXG4iCittc2dzdHIgIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIOS9v+eUqOabv+S7o+eahOWQjeWtl+epuumXtCgvcHJvYy88dGlkPi9tb3VudGluZm8g5paH5Lu2KVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIzCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgY29sdW1uIGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIOS4jeaJk+WNsOWIl+agh+mimFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI0Cittc2dpZCAiIC1PLCAtLW9wdGlvbnMgPGxpc3Q+ICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBtb3VudCBvcHRpb25zXG4iCittc2dzdHIgIiAtTywgLS1vcHRpb25zIDzliJfooag+ICAg5qC55o2u5oyC6Ie36YCJ6aG56ZmQ5Yi25paH5Lu257O757uf6ZuG5ZCIXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjUKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICB0aGUgb3V0cHV0IGNvbHVtbnMgdG8gYmUgc2hvd25cbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA85YiX6KGoPiAgICDopoHmmL7npLrnmoTliJdcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNgorbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1QLCAtLXBhaXJzICAgICAgICAgICAg5L2/55SoIOmUrj3igJzlgLzigJ3nmoTovpPlh7rmoLzlvI9cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNworbXNnaWQgIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIHByaW50IGFsbCBzdWJtb3VudHMgZm9yIHRoZSBtYXRjaGluZyBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLVIsIC0tc3VibW91bnRzICAgICAgICDmiZPljbDljLnphY3mlofku7bns7vnu5/nmoTmiYDmnInlrZDmjILovb0oc3VibW91bnQpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjgKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAg5L2/55So5Y6f55Sf6L6T5Ye65qC85byPXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjkKK21zZ2lkICIiCisiIC1TLCAtLXNvdXJjZSA8c3RyaW5nPiAgdGhlIGRldmljZSB0byBtb3VudCAoYnkgbmFtZSwgbWFqOm1pbiwgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCittc2dzdHIgIiIKKyIgLVMsIC0tc291cmNlIDzlrZfnrKbkuLI+ICDopoHmjILovb3nmoTorr7lpIco5oyJIOWQjeensCwg5Li7OuasoeiuvuWkh+WPtywgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzEKK21zZ2lkICIgLVQsIC0tdGFyZ2V0IDxwYXRoPiAgICB0aGUgcGF0aCB0byB0aGUgZmlsZXN5c3RlbSB0byB1c2VcbiIKK21zZ3N0ciAiIC1ULCAtLXRhcmdldCA86Lev5b6EPiAgICDopoHkvb/nlKjnmoTmlofku7bns7vnu5/nmoTot6/lvoRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMgorbXNnaWQgIiAtTSwgLS1tb3VudHBvaW50IDxkaXI+IHRoZSBtb3VudHBvaW50IGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLU0sIC0tbW91bnRwb2ludCA855uu5b2VPiDmjILovb3ngrnnm67lvZVcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMworbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgRlMgdHlwZXNcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGVzIDzliJfooag+ICAgICDmoLnmja7mlofku7bns7vnu5/nsbvlnovpmZDliLbmlofku7bns7vnu5/pm4blkIhcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNAorbXNnaWQgIiAtVSwgLS11bmlxICAgICAgICAgICAgIGlnbm9yZSBmaWxlc3lzdGVtcyB3aXRoIGR1cGxpY2F0ZSB0YXJnZXRcbiIKK21zZ3N0ciAiIC1VLCAtLXVuaXEgICAgICAgICAgICAg5b+955Wl55uu5qCH6YeN5aSN55qE5paH5Lu257O757ufXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzUgbWlzYy11dGlscy9sc2xvY2tzLmM6NTEzIHN5cy11dGlscy9sc25zLmM6NjI1Cittc2dpZCAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCittc2dzdHIgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIOS4jeaIquaWreWIl+S4reeahOaWh+acrFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM2Cittc2dpZCAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorbXNnc3RyICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICDlr7nnu5HlrprlvI/miJYgYnRyZnMg5oyC6L295LiN5omT5Y2wWy9kaXJdXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzkKK21zZ2lkICIgLXgsIC0tdmVyaWZ5ICAgICAgICAgICB2ZXJpZnkgbW91bnQgdGFibGUgY29udGVudCAoZGVmYXVsdCBpcyBmc3RhYilcbiIKK21zZ3N0ciAiIC14LCAtLXZlcmlmeSAgICAgICAgICAg6aqM6K+B5oyC6L296KGo5YaF5a65KOm7mOiupOS4uiBmc3RhYilcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0MAorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IG1vcmUgZGV0YWlsc1xuIgorbXNnc3RyICIgICAgIC0tdmVyYm9zZSAgICAgICAgICDmiZPljbDmm7TlpJrnu4boioJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTM2OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGRpcmVjdGlvbiAnJXMnIgorbXNnc3RyICLmnKrnn6XmlrnlkJHigJwlc+KAnSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTQ0MAorbXNnaWQgImludmFsaWQgVElEIGFyZ3VtZW50IgorbXNnc3RyICLml6DmlYjnmoQgVElEIOWPguaVsCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUwOQorbXNnaWQgIi0tcG9sbCBhY2NlcHRzIG9ubHkgb25lIGZpbGUsIGJ1dCBtb3JlIHNwZWNpZmllZCBieSAtLXRhYi1maWxlIgorbXNnc3RyICItLXBvbGwg5Y+q5o6l5Y+X5LiA5Liq5paH5Lu277yM5L2G55SoIC0tdGFiLWZpbGUg5oyH5a6a5LqG5aSa5LiqIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTEzCittc2dpZCAib3B0aW9ucyAtLXRhcmdldCBhbmQgLS1zb3VyY2UgY2FuJ3QgYmUgdXNlZCB0b2dldGhlciB3aXRoIGNvbW1hbmQgbGluZSBlbGVtZW50IHRoYXQgaXMgbm90IGFuIG9wdGlvbiIKK21zZ3N0ciAiLS10YXJnZXQg5ZKMIC0tc291cmNlIOmAiemhueS4jeiDveS4jumdnumAiemhueeahOWRveS7pOihjOWFg+e0oOS4gOi1t+S9v+eUqCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU2MgorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGNhY2hlIgorbXNnc3RyICLliJ3lp4vljJYgbGlibW91bnQg57yT5a2Y5aSx6LSlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNvbHVtbiBpcyByZXF1ZXN0ZWQsIGJ1dCAtLXBvbGwgaXMgbm90IGVuYWJsZWQiCittc2dzdHIgIuivt+ekuuS6hiAlcyDliJfvvIzkvYbmnKrlkK/nlKggLS1wb2xsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE2Cittc2dpZCAidGFyZ2V0IHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAi5LiN5q2i5LiA5qyh5oyH5a6a55uu5qCHIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIG9yZGVyOiAlcyBzcGVjaWZpZWQgYmVmb3JlICVzIgorbXNnc3RyICLpobrluo/plJnor6/vvJolcyDlnKggJXMg5LmL5YmN5oyH5a6aIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTMzCittc2dpZCAidW5kZWZpbmVkIHRhcmdldCAoZnNfZmlsZSkiCittc2dzdHIgIuacquWumuS5ieebruaghyAoZnNfZmlsZSkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWNhbm9uaWNhbCB0YXJnZXQgcGF0aCAocmVhbDogJXMpIgorbXNnc3RyICLnm67moIfot6/lvoTkuI3op4TojIMo5a6e5Li677yaJXMpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgdGFyZ2V0OiAlbSIKK21zZ3N0ciAi5ZCv5Yqo5omA6ZyA55uu5qCH5peg5rOV6K6/6Zeu77yaJW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgdGFyZ2V0OiAlbSIKK21zZ3N0ciAi5LiN5Y+v5Y+K55qE55uu5qCHOiAlbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MQorbXNnaWQgInRhcmdldCBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIuebruagh+S4jeaYr+S4gOS4quebruW9lSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MworbXNnaWQgInRhcmdldCBleGlzdHMiCittc2dzdHIgIuebruagh+WtmOWcqCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHNvdXJjZTogJXM9JXMiCittc2dzdHIgIuWQr+WKqOaJgOmcgOeahOa6kOaXoOazleiuv+mXru+8miVzPSVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlOiAlcz0lcyIKK21zZ3N0ciAi5LiN5Y+v5Y+KOiAlcz0lcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcz0lcyB0cmFuc2xhdGVkIHRvICVzIgorbXNnc3RyICIlcz0lcyDovazmjaLkuLogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxOTAKK21zZ2lkICJ1bmRlZmluZWQgc291cmNlIChmc19zcGVjKSIKK21zZ3N0ciAi5rqQ5pyq5a6a5LmJKGZzX3NwZWMpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHNvdXJjZSB0YWc6ICVzIgorbXNnc3RyICLkuI3lj5fmlK/mjIHnmoTmupDmoIforrDvuLAgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIHNvdXJjZSAocHNldWRvL25ldCkiCittc2dzdHIgIuS4jeajgOafpSAlcyDmupAocHNldWRvL25ldCkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgc291cmNlOiAlczogJW0iCittc2dzdHIgIuaXoOazleiuv+mXrua6kO+4sCAlczogJW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJpbmQgbW91bnQgc291cmNlICVzIGlzIGEgZGlyZWN0b3J5IG9yIHJlZ3VsYXIgZmlsZSIKK21zZ3N0ciAi6Z2e57uR5a6a5oyC6L295rqQICVzIOaYr+S4gOS4quebruW9leaIluW4uOinhOaWh+S7tiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICLmupAgJXMg5LiN5piv5LiA5Liq5Z2X6K6+5aSHIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBleGlzdHMiCittc2dzdHIgIua6kCAlcyDlt7LlrZjlnKgiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICJWRlMg6YCJ6aG577iwICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICJGUyDpgInpobnvuLAgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlcnNwYWNlIG9wdGlvbnM6ICVzIgorbXNnc3RyICLnlKjmiLfnqbrpl7TpgInpobnvuLAgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc3dhcGFyZWEgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICLkuI3mlK/mjIHnmoQgc3dhcGFyZWEg5pS+5byD562W55Wl77iwICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjYwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN3YXBhcmVhIHByaW9yaXR5IG9wdGlvbiIKK21zZ3N0ciAi6Kej5p6QIHN3YXBhcmVhIOS8mOWFiOe6p+mAiemhueWksei0pSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgRlMgdHlwZSAocHNldWRvL25ldCkiCittc2dzdHIgIuS4jeajgOafpSAlcyDmlofku7bns7vnu5/nsbvlnosgKHBzZXVkby9uZXQpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDA2Cittc2dpZCAiXCJub25lXCIgRlMgdHlwZSBpcyByZWNvbW1lbmRlZCBmb3IgYmluZCBvciBtb3ZlIG9wcmF0aW9ucyBvbmx5IgorbXNnc3RyICJcIm5vbmVcIiDov5nnp43mlofku7bns7vnu5/nsbvlnovlj6rlu7rorq7nlKjkuo7nu5HlrprmiJbnp7vliqjmk43kvZwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAi5b2T5YmN5YaF5qC45Ly85LmO5LiN5pSv5oyBICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIwIG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjEKK21zZ2lkICJjYW5ub3QgZGV0ZWN0IG9uLWRpc2sgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICLml6Dms5Xmo4DmtYvno4Hnm5jkuIoob24tZGlzaynnmoTmlofku7bns7vnu5/nsbvlnosiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgbWF0Y2ggd2l0aCBvbi1kaXNrICVzIgorbXNnc3RyICIlcyDkuI7no4Hnm5jkuIrnmoQgJXMg5LiN5Yy56YWNIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbi1kaXNrICVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAi5b2T5YmN5YaF5qC45Ly85LmO5LiN5pSv5oyB56OB55uY5LiK55qEICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZTIHR5cGUgaXMgJXMiCittc2dzdHIgIuaWh+S7tuezu+e7n+exu+Wei+aYryAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWNvbW1lbmRlZCByb290IEZTIHBhc3NubyBpcyAxIChjdXJyZW50IGlzICVkKSIKK21zZ3N0ciAiIOagueaWh+S7tuezu+e7n+eahCBwYXNzbm8g5o6o6I2Q5YC85Li6IDEgKOW9k+WJjeaYryAlZCkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgcGFyc2UgZXJyb3IiCittc2dpZF9wbHVyYWwgIiVkIHBhcnNlIGVycm9ycyIKK21zZ3N0clswXSAiJWQg5Liq6Kej5p6Q6ZSZ6K+vIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgZXJyb3IiCittc2dpZF9wbHVyYWwgIiwgJWQgZXJyb3JzIgorbXNnc3RyWzBdICLvvIwlZCDkuKrplJnor68iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCAlZCB3YXJuaW5nIgorbXNnaWRfcGx1cmFsICIsICVkIHdhcm5pbmdzIgorbXNnc3RyWzBdICLvvIwlZCDkuKrorablkYoiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzcywgbm8gZXJyb3JzIG9yIHdhcm5pbmdzIGRldGVjdGVkXG4iCittc2dzdHIgIuaIkOWKn++8jOacquajgOa1i+WIsOmUmeivr+aIluitpuWRilxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIuivt+WwneivleaJp+ihjOKAnCVzIC0taGVscOKAneS6huino+abtOWkmuS/oeaBr+OAglxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMwNAorbXNnaWQgImVtcHR5IGxvbmcgb3B0aW9uIGFmdGVyIC1sIG9yIC0tbG9uZyBhcmd1bWVudCIKK21zZ3N0ciAiLWwg5oiWIC0tbG9uZyDlj4LmlbDlkI7nmoTplb/pgInpobnkuLrnqboiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzI1Cittc2dpZCAidW5rbm93biBzaGVsbCBhZnRlciAtcyBvciAtLXNoZWxsIGFyZ3VtZW50IgorbXNnc3RyICItcyDmiJYgLS1zaGVsbCDlj4LmlbDlkI7mmK/mnKrnn6XnmoQgc2hlbGwiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tXSA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLW98LS1vcHRpb25zIDxvcHRzdHJpbmc+IFtvcHRpb25zXSBbLS1dIDxwYXJhbWV0ZXJzPlxuIgorbXNnc3RyICIiCisiICUxJHMg6YCJ6aG55a2X56ym5LiyIOWPguaVsFxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1dIOmAiemhueWtl+espuS4siDlj4LmlbBcbiIKKyIgJTEkcyBbb3B0aW9uc10gLW98LS1vcHRpb25zIOmAiemhueWtl+espuS4siBb6YCJ6aG5XSBbLS1dIOWPguaVsFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzOAorbXNnaWQgIlBhcnNlIGNvbW1hbmQgb3B0aW9ucy5cbiIKK21zZ3N0ciAi6Kej5p6Q5ZG95Luk6YCJ6aG544CCIFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MQorbXNnaWQgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgICBhbGxvdyBsb25nIG9wdGlvbnMgc3RhcnRpbmcgd2l0aCBzaW5nbGUgLVxuIgorbXNnc3RyICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAg5YWB6K646ZW/6YCJ6aG55Lul5Y2V5LiqIC0g5byA5aS0XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQyCittc2dpZCAiIC1sLCAtLWxvbmdvcHRpb25zIDxsb25nb3B0cz4gIHRoZSBsb25nIG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiAg6KaB6K+G5Yir55qE6ZW/6YCJ6aG5XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQzCittc2dpZCAiIC1uLCAtLW5hbWUgPHByb2duYW1lPiAgICAgICAgIHRoZSBuYW1lIHVuZGVyIHdoaWNoIGVycm9ycyBhcmUgcmVwb3J0ZWRcbiIKK21zZ3N0ciAiIC1uLCAtLW5hbWUgPHByb2duYW1lPiAgICAgICAgIOimgeaKpeWRiuWFtumUmeivr+eahOeoi+W6j+WQjeensFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NAorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgICB0aGUgc2hvcnQgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgICDopoHor4bliKvnmoTnn63pgInpobnlkI3np7BcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDUKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBlcnJvciByZXBvcnRpbmcgYnkgZ2V0b3B0KDMpXG4iCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICDnpoHmraIgZ2V0b3B0KDMpIOeahOmUmeivr+aKpeWRilxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NgorbXNnaWQgIiAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICBubyBub3JtYWwgb3V0cHV0XG4iCittc2dzdHIgIiAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICDml6DluLjop4TovpPlh7pcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDcKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgc2V0IHF1b3RpbmcgY29udmVudGlvbnMgdG8gdGhvc2Ugb2YgPHNoZWxsPlxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAg6K6+572uIDxzaGVsbD4g55qE5byV55So5Lmg5oOvXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ4Cittc2dpZCAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIHRlc3QgZm9yIGdldG9wdCgxKSB2ZXJzaW9uXG4iCittc2dzdHIgIiAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgIGdldG9wdCgxKSDniYjmnKzmtYvor5VcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDkKK21zZ2lkICIgLXUsIC0tdW5xdW90ZWQgICAgICAgICAgICAgICAgZG8gbm90IHF1b3RlIHRoZSBvdXRwdXRcbiIKK21zZ3N0ciAiIC11LCAtLXVucXVvdGVkICAgICAgICAgICAgICAgIOS4jeW8leeUqOi+k+WHulxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM5OSBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1OQorbXNnaWQgIm1pc3Npbmcgb3B0c3RyaW5nIGFyZ3VtZW50IgorbXNnc3RyICLnvLrlsJEgb3B0c3RyaW5nIOWPguaVsCIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzo0NTQKK21zZ2lkICJpbnRlcm5hbCBlcnJvciwgY29udGFjdCB0aGUgYXV0aG9yLiIKK21zZ3N0ciAi5YaF6YOo6ZSZ6K+v77yM6K+36IGU57O75L2c6ICF44CCIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWwgJXM7IHZhbGlkIHNpZ25hbHM6IgorbXNnc3RyICLmnKrnn6Xkv6Hlj7cgJXPvvJvmnInmlYjkv6Hlj7fkuLrvvJoiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwMgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwaWQ+fDxuYW1lPi4uLlxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gPHBpZD58POWQjeensD4gLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwNQorbXNnaWQgIkZvcmNpYmx5IHRlcm1pbmF0ZSBhIHByb2Nlc3MuXG4iCittc2dzdHIgIuW8uuWItue7k+adn+afkOS4qui/m+eoi+OAglxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDgKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IHRoZSBuYW1lLXRvLXBpZCBjb252ZXJzaW9uIHRvIHByb2Nlc3Nlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgc2FtZSB1aWQgYXMgdGhlIHByZXNlbnQgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAg5LiN6ZmQ5LqO5Y+q5a+55ZKM5b2T5YmN6L+b56iL55qEIHVpZCDnm7jlkIznmoTov5vnqIvov5vooYxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIOWQjeensC1waWQg6L2s5o2iXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMAorbXNnaWQgIiAtcywgLS1zaWduYWwgPHNpZ25hbD4gIHNlbmQgdGhpcyA8c2lnbmFsPiBpbnN0ZWFkIG9mIFNJR1RFUk1cbiIKK21zZ3N0ciAiIC1zLCAtLXNpZ25hbCA85L+h5Y+3PiAgICDlj5HpgIHmjIflrprnmoQ85L+h5Y+3PuiAjOmdniBTSUdURVJNXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMgorbXNnaWQgIiAtcSwgLS1xdWV1ZSA8dmFsdWU+ICAgIHVzZSBzaWdxdWV1ZSgyKSwgbm90IGtpbGwoMiksIGFuZCBwYXNzIDx2YWx1ZT4gYXMgZGF0YVxuIgorbXNnc3RyICIgLXEsIC0tcXVldWUgPOWAvD4gICAgICAg5L2/55SoIHNpZ3F1ZXVlKDIpIOS7o+abvyBraWxsKDIp77yM5bm25Lyg6YCSPOWAvD7mlbDmja5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE0Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgcHJpbnQgcGlkcyB3aXRob3V0IHNpZ25hbGluZyB0aGVtXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICAgICAgIOaJk+WNsCBwaWQg6ICM5LiN5ZCR5a6D5Lus5Y+R6YCB5L+h5Y+3XG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNQorbXNnaWQgIiAtbCwgLS1saXN0Wz08c2lnbmFsPl0gIGxpc3Qgc2lnbmFsIG5hbWVzLCBvciBjb252ZXJ0IGEgc2lnbmFsIG51bWJlciB0byBhIG5hbWVcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgWz085L+h5Y+3Pl0gICDliJflh7rkv6Hlj7flkI3vvIzmiJblsIbkuIDkuKrkv6Hlj7fmlbDlgLzovazmjaLkuLrlkI3np7BcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzE2Cittc2dpZCAiIC1MLCAtLXRhYmxlICAgICAgICAgICAgbGlzdCBzaWduYWwgbmFtZXMgYW5kIG51bWJlcnNcbiIKK21zZ3N0ciAiIC1MLCAtLXRhYmxlICAgICAgICAgICAg5YiX5Ye65L+h5Y+35ZCN5ZKM5pWw5YC8XG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNworbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IHBpZHMgdGhhdCB3aWxsIGJlIHNpZ25hbGVkXG4iCittc2dzdHIgIiAgICAgLS12ZXJib3NlICAgICAgICAgIOaJk+WNsOWwhuaUtuWIsOS/oeWPt+eahCBwaWRcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzY3IG1pc2MtdXRpbHMva2lsbC5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbDogJXMiCittc2dzdHIgIuacquefpeS/oeWPt++8miVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozODcgbWlzYy11dGlscy9raWxsLmM6MzkwIG1pc2MtdXRpbHMva2lsbC5jOjM5OQorIzogbWlzYy11dGlscy9raWxsLmM6NDExIG1pc2MtdXRpbHMva2lsbC5jOjQzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiJXMg5ZKMICVzIOebuOS6kuaOkuaWpSIKKworIzogbWlzYy11dGlscy9raWxsLmM6Mzk2IG1pc2MtdXRpbHMva2lsbC5jOjQzOCBtaXNjLXV0aWxzL3JlbmFtZS5jOjE3NAorIzogc3lzLXV0aWxzL2lwY3JtLmM6MTYwIHRlcm0tdXRpbHMvYWdldHR5LmM6Nzg5IHRlcm0tdXRpbHMvYWdldHR5LmM6Nzk4Cittc2dpZCAibm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIuWPguaVsOS4jeWknyIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDA5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICLigJwlc+KAnemAiemhuemcgOimgeS4gOS4quWPguaVsCIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDE0IHN5cy11dGlscy9lamVjdC5jOjIwNSBzeXMtdXRpbHMvZWplY3QuYzoyMzAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Njg5IHN5cy11dGlscy90dW5lbHAuYzoxNjEgc3lzLXV0aWxzL3R1bmVscC5jOjE2OAorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE3NSBzeXMtdXRpbHMvdHVuZWxwLmM6MTgyIHN5cy11dGlscy90dW5lbHAuYzoxODkKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxOTUgc3lzLXV0aWxzL3R1bmVscC5jOjE5OSBzeXMtdXRpbHMvdHVuZWxwLmM6MjA2CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjMxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxMyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzcgdGVybS11dGlscy9zZXR0ZXJtLmM6MjcyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzQgdGVybS11dGlscy9zZXR0ZXJtLmM6MjkxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5OAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzAwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxMiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTQKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyMyB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMzEgdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ2CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDggdGVybS11dGlscy9zZXR0ZXJtLmM6MzYwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjM2MgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzczIHRlcm0tdXRpbHMvc2V0dGVybS5jOjUzNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDAKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NTAgdGVybS11dGlscy9zZXR0ZXJtLmM6NTc0CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NzkgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4OQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTk0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MDcKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjY0MAorbXNnaWQgImFyZ3VtZW50IGVycm9yIgorbXNnc3RyICLlj4LmlbDlh7rplJkiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNpZ25hbCBuYW1lIG9yIG51bWJlcjogJXMiCittc2dzdHIgIuaXoOaViOeahOS/oeWPt+WQjeaIluaVsOWtl++8miVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgJWQgdG8gcGlkICVkXG4iCittc2dzdHIgIuWwhuS/oeWPtyAlZCDlj5HpgIHnu5kgcGlkICVkXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQ2MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCB0byAlcyBmYWlsZWQiCittc2dzdHIgIuWQkSAlcyDlj5HpgIHkv6Hlj7flpLHotKUiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjUwNworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCBwcm9jZXNzIFwiJXNcIiIKK21zZ3N0ciAi5om+5LiN5Yiw6L+b56iL4oCcJXPigJ0iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjIyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgbmFtZTogJXMiCittc2dzdHIgIuacquefpeiuvuaWveWQjeensO+8miVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHByaW9yaXR5IG5hbWU6ICVzIgorbXNnc3RyICLmnKrnn6XkvJjlhYjnuqflkI3np7DvvJolcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlbmxvZyAlczogcGF0aG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm9wZW5sb2cgJXPvvJrot6/lvoTlkI3ov4fplb8iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjY3CisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCAlcyIKK21zZ3N0ciAi5aWX5o6l5a2XICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBuYW1lICVzIHBvcnQgJXM6ICVzIgorbXNnc3RyICLop6PmnpDlkI3np7AgJXMg56uv5Y+jICVzIOWksei0pe+8miVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMyMworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY29ubmVjdCB0byAlcyBwb3J0ICVzIgorbXNnc3RyICLov57mjqUgJXMg56uv5Y+jICVzIOWksei0pSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4aW11bSBpbnB1dCBsaW5lcyAoJWQpIGV4Y2VlZGVkIgorbXNnc3RyICLotoXov4fkuobmnIDlpKfovpPlhaXooYzmlbAoJWQpIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjQ4NworbXNnaWQgInNlbmQgbWVzc2FnZSBmYWlsZWQiCittc2dzdHIgIuWPkemAgea2iOaBr+Wksei0pSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RydWN0dXJlZCBkYXRhIElEICclcycgaXMgbm90IHVuaXF1ZSIKK21zZ3N0ciAi57uT5p6E5YyW5pWw5o2u55qEIElEIOKAnCVz4oCdIOS4jeWUr+S4gCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1zZC1pZCB3YXMgbm90IHNwZWNpZmllZCBmb3IgLS1zZC1wYXJhbSAlcyIKK21zZ3N0ciAi5rKh5pyJ5Li6IC0tc2QtcGFyYW0gJXMg5oyH5a6aIC0tc2QtaWQiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzU0Cittc2dpZCAibG9jYWx0aW1lKCkgZmFpbGVkIgorbXNnc3RyICJsb2NhbHRpbWUoKSDlpLHotKUiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzY0CisjLCBjLWZvcm1hdAorbXNnaWQgImhvc3RuYW1lICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgIuS4u+acuuWQjeKAnCclc+KAneWkqumVvyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGFnICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgIuagh+etvuKAnCVz4oCd5aSq6ZW/IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjgzMworIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyB1bmtub3duIG9wdGlvbiBhcmd1bWVudDogJXMiCittc2dzdHIgIuWwhuW/veeVpeacquefpeeahOmAiemhueWPguaVsO+8miVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjg0NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlczogdXNpbmcgYXV0b21hdGljIGVycm9ycyIKK21zZ3N0ciAi5peg5pWI5Y+C5pWw77iwICVz77iwIOWwhuS9v+eUqOiHquWKqOmUmeivryIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG1lc3NhZ2U+XVxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gWzzmtojmga8+XVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjk5NworbXNnaWQgIkVudGVyIG1lc3NhZ2VzIGludG8gdGhlIHN5c3RlbSBsb2cuXG4iCittc2dzdHIgIuWwhua2iOaBr+i+k+WFpeezu+e7n+aXpeW/l+OAglxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDAKK21zZ2lkICIgLWkgICAgICAgICAgICAgICAgICAgICAgIGxvZyB0aGUgbG9nZ2VyIGNvbW1hbmQncyBQSURcbiIKK21zZ3N0ciAiIC1pICAgICAgICAgICAgICAgICAgICAgICDorrDlvZXml6Xlv5fnqIvluo/nmoQgUElEXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMQorbXNnaWQgIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgbG9nIHRoZSBnaXZlbiA8aWQ+LCBvciBvdGhlcndpc2UgdGhlIFBJRFxuIgorbXNnc3RyICIgICAgIC0taWRbPTxpZD5dICAgICAgICAgIOiusOW9leaMh+WumueahCA8aWQ+77yM5ZCm5YiZ6K6w5b2VIFBJRFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDIKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgICAgIGxvZyB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlXG4iCittc2dzdHIgIiAtZiwgLS1maWxlIDzmlofku7Y+ICAgICAgIOiusOW9leaMh+WumuaWh+S7tueahOWGheWuuVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDMKK21zZ2lkICIgLWUsIC0tc2tpcC1lbXB0eSAgICAgICAgIGRvIG5vdCBsb2cgZW1wdHkgbGluZXMgd2hlbiBwcm9jZXNzaW5nIGZpbGVzXG4iCittc2dzdHIgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAg5aSE55CG5paH5Lu25pe25LiN6K6w5b2V56m66KGMXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNAorbXNnaWQgIiAgICAgLS1uby1hY3QgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIHdyaXRlIHRoZSBsb2dcbiIKK21zZ3N0ciAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICDmk43kvZzkvYbkuI3lrp7pmYXlhpnlhaXml6Xlv5dcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA1Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBtYXJrIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAg5bCG5oyH5a6a5raI5oGv5qCH6K6w5Li65q2k5LyY5YWI57qnXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNgorbXNnaWQgIiAgICAgLS1vY3RldC1jb3VudCAgICAgICAgdXNlIHJmYzY1ODcgb2N0ZXQgY291bnRpbmdcbiIKK21zZ3N0ciAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICDkvb/nlKggcmZjNjU4NyDlhavkvY3lhYPnu4Qob2N0ZXQpIOiuoeaVsFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDcKK21zZ2lkICIgICAgIC0tcHJpby1wcmVmaXggICAgICAgIGxvb2sgZm9yIGEgcHJlZml4IG9uIGV2ZXJ5IGxpbmUgcmVhZCBmcm9tIHN0ZGluXG4iCittc2dzdHIgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAg5LuOIHN0ZGluIOi+k+WFpeeahOavj+S4gOihjOafpeaJvuWJjee8gFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDgKK21zZ2lkICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIG91dHB1dCBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yIGFzIHdlbGxcbiIKK21zZ3N0ciAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICDkuZ/lkJHmoIflh4bplJnor6/ovpPlh7rmtojmga9cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA5Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICBtYXhpbXVtIHNpemUgZm9yIGEgc2luZ2xlIG1lc3NhZ2VcbiIKK21zZ3N0ciAiIC1TLCAtLXNpemUgPOWkp+Wwjz4gICAgICAgIOWNleadoea2iOaBr+eahOacgOWkp+WwuuWvuFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTAKK21zZ2lkICIgLXQsIC0tdGFnIDx0YWc+ICAgICAgICAgIG1hcmsgZXZlcnkgbGluZSB3aXRoIHRoaXMgdGFnXG4iCittc2dzdHIgIiAtdCwgLS10YWcgPHRhZz4gICAgICAgICAg5ZCR5q+P5LiA6KGM5re75Yqg5oyH5a6a5qCH6K6wXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMQorbXNnaWQgIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorbXNnc3RyICIgLW4sIC0tc2VydmVyIDzlkI3np7A+ICAgICAg5YaZ5YWl5oyH5a6a55qE6L+c56iLIHN5c2xvZyDmnI3liqHlmahcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEyCittc2dpZCAiIC1QLCAtLXBvcnQgPHBvcnQ+ICAgICAgICB1c2UgdGhpcyBwb3J0IGZvciBVRFAgb3IgVENQIGNvbm5lY3Rpb25cbiIKK21zZ3N0ciAiIC1QLCAtLXBvcnQgPOerr+WPoz4gICAgICAgIOS9v+eUqOaMh+Wumuerr+WPo+i/m+ihjCBVRFAg5oiWIFRDUCDov57mjqVcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEzCittc2dpZCAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICB1c2UgVENQIG9ubHlcbiIKK21zZ3N0ciAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICDlj6rnlKggVENQXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNAorbXNnaWQgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCittc2dzdHIgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAg5Y+q55SoIFVEUFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTUKK21zZ2lkICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIHVzZSB0aGUgb2Jzb2xldGUgQlNEIHN5c2xvZyBwcm90b2NvbFxuIgorbXNnc3RyICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIOS9v+eUqOi/h+aXtueahCBCU0Qgc3lzbG9nIOWNj+iurlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTYKK21zZ2lkICIiCisiICAgICAtLXJmYzU0MjRbPTxzbmlwPl0gICB1c2UgdGhlIHN5c2xvZyBwcm90b2NvbCAodGhlIGRlZmF1bHQgZm9yIHJlbW90ZSk7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiBjYW4gYmUgbm90aW1lLCBvciBub3RxLCBhbmQvb3Igbm9ob3N0XG4iCittc2dzdHIgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIOS9v+eUqCBzeXNsb2cg5Y2P6K6uKOi/nOeoi+aXtum7mOiupCk7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiDlj6/ku6XmmK8gbm90aW1lLCDmiJYgbm90cSwg5ZKML+aIliBub2hvc3RcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE4Cittc2dpZCAiICAgICAtLXNkLWlkIDxpZD4gICAgICAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBJRFxuIgorbXNnc3RyICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIHJmYzU0MjQg57uT5p6E5YyW5pWw5o2uIElEXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxOQorbXNnaWQgIiAgICAgLS1zZC1wYXJhbSA8ZGF0YT4gICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgbmFtZT12YWx1ZVxuIgorbXNnc3RyICIgICAgIC0tc2QtcGFyYW0gPOaVsOaNrj4gICAgcmZjNTQyNCDnu5PmnoTljJbmlbDmja7lkI3np7A95YC8XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMAorbXNnaWQgIiAgICAgLS1tc2dpZCA8bXNnaWQ+ICAgICAgc2V0IHJmYzU0MjQgbWVzc2FnZSBpZCBmaWVsZFxuIgorbXNnc3RyICIgICAgIC0tbXNnaWQgPG1zZ2lkPiAgICAgIOiuvue9riByZmM1NDI0IOa2iOaBryBpZCDlrZfmrrVcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDIxCittc2dpZCAiIC11LCAtLXNvY2tldCA8c29ja2V0PiAgICB3cml0ZSB0byB0aGlzIFVuaXggc29ja2V0XG4iCittc2dzdHIgIiAtdSwgLS1zb2NrZXQgPOWll+aOpeWtlz4gICAg5YaZ5YWl5q2kIFVuaXgg5aWX5o6l5a2XXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMgorbXNnaWQgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50IGNvbm5lY3Rpb24gZXJyb3JzIHdoZW4gdXNpbmcgVW5peCBzb2NrZXRzXG4iCittc2dzdHIgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIOS9v+eUqCBVbml4IOWll+aOpeWtl+aXtuaJk+WNsOi/nuaOpemUmeivr1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjUKK21zZ2lkICIgICAgIC0tam91cm5hbGRbPTxmaWxlPl0gIHdyaXRlIGpvdXJuYWxkIGVudHJ5XG4iCittc2dzdHIgIiAgICAgLS1qb3VybmFsZFs9POaWh+S7tj5dICDlhpkgam91cm5hbGQg6K6w5b2VXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTExMgorIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlICVzIgorbXNnc3RyICLmlofku7YgJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTEyNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBpZCIKK21zZ3N0ciAi6Kej5p6QIGlkIOWksei0pSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTQ1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1lc3NhZ2Ugc2l6ZSIKK21zZ3N0ciAi6Kej5p6Q5raI5oGv5aSn5bCP5aSx6LSlIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODAKK21zZ2lkICItLW1zZ2lkIGNhbm5vdCBjb250YWluIHNwYWNlIgorbXNnc3RyICItLW1zZ2lkIOS4jeiDveWMheWQq+epuuagvCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjAyCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc3RydWN0dXJlZCBkYXRhIElEOiAnJXMnIgorbXNnc3RyICLml6DmlYjnmoTnu5PmnoTljJbmlbDmja4gSUQ6IOKAnCVz4oCdIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICLml6DmlYjnmoTnu5PmnoTljJbmlbDmja7lj4LmlbA6IOKAnCVz4oCdIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMTgKK21zZ2lkICItLWZpbGUgPGZpbGU+IGFuZCA8bWVzc2FnZT4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSwgbWVzc2FnZSBpcyBpZ25vcmVkIgorbXNnc3RyICItLWZpbGUgPOaWh+S7tj4g5ZKMIDzmtojmga8+IOS6kuaWpe+8jOa2iOaBr+W3suW/veeVpSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjI1Cittc2dpZCAiam91cm5hbGQgZW50cnkgY291bGQgbm90IGJlIHdyaXR0ZW4iCittc2dzdHIgIuaXoOazleWGmeWFpSBqb3VybmFsZCDpobkiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM1NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxzdHJpbmc+IFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSA85a2X56ym5LiyPiBbPOaWh+S7tj4uLi5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM1OAorbXNnaWQgIkRpc3BsYXkgbGluZXMgYmVnaW5uaW5nIHdpdGggYSBzcGVjaWZpZWQgc3RyaW5nLlxuIgorbXNnc3RyICLmmL7npLrku6XmjIflrprlrZfnrKbkuLLlvIDlpLTnmoTooYzjgIJcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYxCittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICB1c2UgdGhlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICDkvb/nlKjmm7/ku6PlrZflhbhcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYyCittc2dpZCAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBjb21wYXJlIG9ubHkgYmxhbmtzIGFuZCBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLWQsIC0tYWxwaGFudW0gICAgICAgICAgIOWPquavlOi+g+epuueZveWSjOWtl+avjeaVsOWtl+Wtl+esplxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjMKK21zZ2lkICIgLWYsIC0taWdub3JlLWNhc2UgICAgICAgIGlnbm9yZSBjYXNlIGRpZmZlcmVuY2VzIHdoZW4gY29tcGFyaW5nXG4iCittc2dzdHIgIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAg5q+U6L6D5pe25b+955Wl5aSn5bCP5YaZXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2NAorbXNnaWQgIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgZGVmaW5lIHRoZSBzdHJpbmctdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCittc2dzdHIgIiAtdCwgLS10ZXJtaW5hdGUgPOWtl+espj4gICDlrprkuYnlrZfnrKbkuLLnu4jmraLlrZfnrKZcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NworbXNnaWQgImRldmljZSBuYW1lIgorbXNnc3RyICLorr7lpIflkI0iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTgKK21zZ2lkICJpbnRlcm5hbCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIuWGhemDqOWGheaguOiuvuWkh+WQjeensCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OQorbXNnaWQgImludGVybmFsIHBhcmVudCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIuWGhemDqOS4iue6p+WGheaguOiuvuWkh+WQjeensCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MiBzeXMtdXRpbHMvenJhbWN0bC5jOjg0Cittc2dpZCAid2hlcmUgdGhlIGRldmljZSBpcyBtb3VudGVkIgorbXNnc3RyICLorr7lpIfmjILovb3kvY3nva4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMKK21zZ2lkICJmaWxlc3lzdGVtIExBQkVMIgorbXNnc3RyICLmlofku7bns7vnu5/moIfnrb4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSBVVUlEIgorbXNnc3RyICLliIbljLrnsbvlnosgVVVJRCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NworbXNnaWQgInBhcnRpdGlvbiBMQUJFTCIKK21zZ3N0ciAi5YiG5Yy6IExBQkVMIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcxCittc2dpZCAicmVhZC1haGVhZCBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICLor6Xorr7lpIfnmoTpooTor7socmVhZC1haGVhZCkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzIgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NQorbXNnaWQgInJlYWQtb25seSBkZXZpY2UiCittc2dzdHIgIuWPquivu+iuvuWkhyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MworbXNnaWQgInJlbW92YWJsZSBkZXZpY2UiCittc2dzdHIgIuWPr+enu+WKqOiuvuWkhyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NAorbXNnaWQgInJlbW92YWJsZSBvciBob3RwbHVnIGRldmljZSAodXNiLCBwY21jaWEsIC4uLikiCittc2dzdHIgIuWPr+enu+WKqOaIlueDreaPkuaLlOiuvuWkhyh1c2IsIHBjbWNpYSwgLi4uKSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NQorbXNnaWQgInJvdGF0aW9uYWwgZGV2aWNlIgorbXNnc3RyICLovazliqjorr7lpIciCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzYKK21zZ2lkICJhZGRzIHJhbmRvbW5lc3MiCittc2dzdHIgIua3u+WKoOmaj+acuuaApyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NworbXNnaWQgImRldmljZSBpZGVudGlmaWVyIgorbXNnc3RyICLorr7lpIfmoIfor4bnrKYiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzgKK21zZ2lkICJkaXNrIHNlcmlhbCBudW1iZXIiCittc2dzdHIgIuejgeebmOW6j+WIl+WPtyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OQorbXNnaWQgInNpemUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAi56OB55uY5a656YePIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgwCittc2dpZCAic3RhdGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAi6K6+5aSH55qE54q25oCBIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgyCittc2dpZCAiZ3JvdXAgbmFtZSIKK21zZ3N0ciAi57uE5ZCNIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgzCittc2dpZCAiZGV2aWNlIG5vZGUgcGVybWlzc2lvbnMiCittc2dzdHIgIuiuvuWkh+iKgueCueadg+mZkCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NAorbXNnaWQgImFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgIuWvuem9kOWBj+enu+mHjyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NQorbXNnaWQgIm1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgIuacgOWwjyBJL08g5aSn5bCPIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg2Cittc2dpZCAib3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAi5pyA5LyYIEkvTyDlpKflsI8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODcKK21zZ2lkICJwaHlzaWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAi54mp55CG5omH5Yy65aSn5bCPIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg4Cittc2dpZCAibG9naWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAi6YC76L6R5omH5Yy65aSn5bCPIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5Cittc2dpZCAiSS9PIHNjaGVkdWxlciBuYW1lIgorbXNnc3RyICJJL08g6LCD5bqm5Zmo5ZCN56ewIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwCittc2dpZCAicmVxdWVzdCBxdWV1ZSBzaXplIgorbXNnc3RyICLor7fmsYLpmJ/liJflpKflsI8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTEKK21zZ2lkICJkZXZpY2UgdHlwZSIKK21zZ3N0ciAi6K6+5aSH57G75Z6LIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkyCittc2dpZCAiZGlzY2FyZCBhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICLlv73nlaXlr7npvZDlgY/np7vph48iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMKK21zZ2lkICJkaXNjYXJkIGdyYW51bGFyaXR5IgorbXNnc3RyICLlv73nlaXnspLluqYiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTQKK21zZ2lkICJkaXNjYXJkIG1heCBieXRlcyIKK21zZ3N0ciAi5b+955Wl5pyA5aSn5a2X6IqC5pWwIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk1Cittc2dpZCAiZGlzY2FyZCB6ZXJvZXMgZGF0YSIKK21zZ3N0ciAi5b+955Wl6Zu25pWw5o2uIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk2Cittc2dpZCAid3JpdGUgc2FtZSBtYXggYnl0ZXMiCittc2dzdHIgIuWGmeebuOWQjOeahOacgOWkp+Wtl+iKguaVsCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NworbXNnaWQgInVuaXF1ZSBzdG9yYWdlIGlkZW50aWZpZXIiCittc2dzdHIgIuaDn+S4gOWtmOWCqOagh+ivhuespiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OAorbXNnaWQgIkhvc3Q6Q2hhbm5lbDpUYXJnZXQ6THVuIGZvciBTQ1NJIgorbXNnc3RyICJTQ1NJIOeahCBIb3N0OkNoYW5uZWw6VGFyZ2V0Okx1biIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OQorbXNnaWQgImRldmljZSB0cmFuc3BvcnQgdHlwZSIKK21zZ3N0ciAi6K6+5aSH5Lyg6L6T57G75Z6LIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAwCittc2dpZCAiZGUtZHVwbGljYXRlZCBjaGFpbiBvZiBzdWJzeXN0ZW1zIgorbXNnc3RyICLlr7nmiJDpk77nmoTlrZDns7vnu5/ljrvph40iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDEKK21zZ2lkICJkZXZpY2UgcmV2aXNpb24iCittc2dzdHIgIuiuvuWkh+S/ruiuoueJiOacrCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMgorbXNnaWQgImRldmljZSB2ZW5kb3IiCittc2dzdHIgIuiuvuWkh+WItumAoOWVhiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjEyNzYKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkZXZpY2UgZGlyZWN0b3J5IGluIHN5c2ZzIgorbXNnc3RyICLmiZPlvIAgc3lzZnMg5Lit55qE6K6+5aSH55uu5b2V5aSx6LSlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNvbXBvc2Ugc3lzZnMgcGF0aCIKK21zZ3N0ciAiJXPvvJrnu4TmiJAgc3lzZnMg6Lev5b6E5aSx6LSlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgbGluayIKK21zZ3N0ciAiJXPvvJror7vpk77mjqXlpLHotKUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN5c2ZzIG5hbWUiCittc2dzdHIgIiVz77ya6I635Y+WIHN5c2ZzIOWQjeensOWksei0pSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgd2hvbGUtZGlzayBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIlc++8muiOt+WPliDmlbTnm5gg6K6+5aSH5Y+35aSx6LSlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1MSBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1MyBtaXNjLXV0aWxzL2xzYmxrLmM6MTU3OAorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxpc3QgJyVzJyIKK21zZ3N0ciAi6Kej5p6Q5YiX6KGo4oCcJXPigJ3lpLHotKUiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTU4CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGV4Y2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAi5o6S6Zmk6K6+5aSH5YiX6KGo6L+H5aSnKOmZkOWItuS4uiAlZCDlj7Dorr7lpIcpIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBpbmNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgIuWMheWQq+iuvuWkh+WIl+ihqOi/h+WkpyjpmZDliLbkuLogJWQg5Y+w6K6+5aSHKSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MTYgc3lzLXV0aWxzL3dkY3RsLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFvpgInpobldIFs86K6+5aSHPiAuLi5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjE5Cittc2dpZCAiTGlzdCBpbmZvcm1hdGlvbiBhYm91dCBibG9jayBkZXZpY2VzLlxuIgorbXNnc3RyICLliJflh7rlnZforr7lpIfnmoTkv6Hmga/jgIJcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjIKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgcHJpbnQgYWxsIGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgIOaJk+WNsOaJgOacieiuvuWkh1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNAorbXNnaWQgIiAtZCwgLS1ub2RlcHMgICAgICAgICBkb24ndCBwcmludCBzbGF2ZXMgb3IgaG9sZGVyc1xuIgorbXNnc3RyICIgLWQsIC0tbm9kZXBzICAgICAgICAg5LiN5omT5Y2w5LuO5bGe6K6+5aSHKHNsYXZlKeaIluWNoOS9jeiuvuWkhyhob2xkZXIpXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI1Cittc2dpZCAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHByaW50IGRpc2NhcmQgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiAtRCwgLS1kaXNjYXJkICAgICAgICDmiZPljbDml7bkuKLlvIPog73liptcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjYKK21zZ2lkICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorbXNnc3RyICIgLWUsIC0tZXhjbHVkZSA85YiX6KGoPiDmoLnmja7kuLvorr7lpIflj7fmjpLpmaTorr7lpIco6buY6K6k77ya5YaF5a2Y55uYKVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNworbXNnaWQgIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLWYsIC0tZnMgICAgICAgICAgICAg6L6T5Ye65paH5Lu257O757uf5L+h5oGvXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI4Cittc2dpZCAiIC1pLCAtLWFzY2lpICAgICAgICAgIHVzZSBhc2NpaSBjaGFyYWN0ZXJzIG9ubHlcbiIKK21zZ3N0ciAiIC1pLCAtLWFzY2lpICAgICAgICAgIOWPquS9v+eUqCBhc2NpaSDlrZfnrKZcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjkKK21zZ2lkICIgLUksIC0taW5jbHVkZSA8bGlzdD4gc2hvdyBvbmx5IGRldmljZXMgd2l0aCBzcGVjaWZpZWQgbWFqb3IgbnVtYmVyc1xuIgorbXNnc3RyICIgLUksIC0taW5jbHVkZSA85YiX6KGoPiDlj6rmmL7npLrmnInmjIflrprkuLvorr7lpIflj7fnmoTorr7lpIdcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzAKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAg5L2/55SoIEpTT04g6L6T5Ye65qC85byPXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMxCittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgIOS9v+eUqOWIl+ihqOagvOW8j+eahOi+k+WHulxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMgorbXNnaWQgIiAtbSwgLS1wZXJtcyAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIgLW0sIC0tcGVybXMgICAgICAgICAg6L6T5Ye65p2D6ZmQ5L+h5oGvXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMzCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICDkuI3miZPljbDmoIfpophcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzQKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA85YiX6KGoPiAg6L6T5Ye65YiXXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM1Cittc2dpZCAiIC1PLCAtLW91dHB1dC1hbGwgICAgIG91dHB1dCBhbGwgY29sdW1uc1xuIgorbXNnc3RyICIgLU8sIC0tb3V0cHV0LWFsbCAgICAg6L6T5Ye65omA5pyJ5YiXXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM2Cittc2dpZCAiIC1wLCAtLXBhdGhzICAgICAgICAgIHByaW50IGNvbXBsZXRlIGRldmljZSBwYXRoXG4iCittc2dzdHIgIiAtcCwgLS1wYXRocyAgICAgICAgICDmiZPljbDlrozmlbTorr7lpIfot6/lvoRcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzkKK21zZ2lkICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKK21zZ3N0ciAiIC1zLCAtLWludmVyc2UgICAgICAgIOWPjeWQkeS+nei1llxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MAorbXNnaWQgIiAtUywgLS1zY3NpICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBTQ1NJIGRldmljZXNcbiIKK21zZ3N0ciAiIC1TLCAtLXNjc2kgICAgICAgICAgIOi+k+WHuuacieWFsyBTQ1NJIOiuvuWkh+eahOS/oeaBr1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MQorbXNnaWQgIiAtdCwgLS10b3BvbG9neSAgICAgICBvdXRwdXQgaW5mbyBhYm91dCB0b3BvbG9neVxuIgorbXNnc3RyICIgLXQsIC0tdG9wb2xvZ3kgICAgICAg6L6T5Ye65ouT5omR5L+h5oGvXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQyCittc2dpZCAiIC14LCAtLXNvcnQgPGNvbHVtbj4gIHNvcnQgb3V0cHV0IGJ5IDxjb2x1bW4+XG4iCittc2dzdHIgIiAteCwgLS1zb3J0IDzliJc+ICAgICAg5oyJPOWIlz7lr7novpPlh7rmjpLluo9cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDcgbWlzYy11dGlscy9sc2xvY2tzLmM6NTE5IHN5cy11dGlscy9sc25zLmM6NjMyCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE5NiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLW91dHB1dCk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLlj6/nlKjliJco55So5LqOIC0tb3V0cHV0Ke+8mlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWNjZXNzIHN5c2ZzIGRpcmVjdG9yeTogJXMiCittc2dzdHIgIuaXoOazleiuv+mXriBzeXNmcyDnm67lvZXvvJolcyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzMKK21zZ2lkICJjb21tYW5kIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIuaMgeaciemUgeeahOi/m+eoi+WRveS7pCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzQKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAi5oyB5pyJ6ZSB55qE6L+b56iLIFBJRCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzUKK21zZ2lkICJraW5kIG9mIGxvY2s6IEZMX0ZMT0NLIG9yIEZMX1BPU0lYLiIKK21zZ3N0ciAi6ZSB57G75Z6L77yaRkxfRkxPQ0sg5oiWIEZMX1BPU0lY44CCIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NgorbXNnaWQgInNpemUgb2YgdGhlIGxvY2siCittc2dzdHIgIumUgeeahOWkp+WwjyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzcKK21zZ2lkICJsb2NrIGFjY2VzcyBtb2RlIgorbXNnc3RyICLplIHorr/pl67mqKHlvI8iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc4Cittc2dpZCAibWFuZGF0b3J5IHN0YXRlIG9mIHRoZSBsb2NrOiAwIChub25lKSwgMSAoc2V0KSIKK21zZ3N0ciAi6ZSB55qE5by65Yi2KG1hbmRhdG9yeSnnirbmgIHvvJowKOacquiuvue9rinvvIwxKOiuvue9rikiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc5Cittc2dpZCAicmVsYXRpdmUgYnl0ZSBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgIumUgeeahOebuOWvueWtl+iKguWBj+enu+mHjyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODAKK21zZ2lkICJlbmRpbmcgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICLplIHnmoTmnKvlsL7lgY/np7vph48iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgxCittc2dpZCAicGF0aCBvZiB0aGUgbG9ja2VkIGZpbGUiCittc2dzdHIgIumUgeWumuaWh+S7tueahOi3r+W+hCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODIKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgYmxvY2tpbmcgdGhlIGxvY2siCittc2dzdHIgIumYu+WhnumUgeeahOi/m+eoi+eahCBQSUQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI1OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJRCIKK21zZ3N0ciAi6Kej5p6QIElEIOWksei0pSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjgxIHN5cy11dGlscy9uc2VudGVyLmM6MjMyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBpZCIKK21zZ3N0ciAi6Kej5p6QIHBpZCDlpLHotKUiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4NAorbXNnaWQgIih1bmtub3duKSIKK21zZ3N0ciAiKOacquefpSkiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI5MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGFydCIKK21zZ3N0ciAi6Kej5p6QIOi1t+eCuSDlpLHotKUiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjMwMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbmQiCittc2dzdHIgIuino+aekCDnu4jngrkg5aSx6LSlIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDQKK21zZ2lkICJMaXN0IGxvY2FsIHN5c3RlbSBsb2Nrcy5cbiIKK21zZ3N0ciAi5YiX5Ye65pys5Zyw57O757uf6ZSB44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwOAorbXNnaWQgIiAtaSwgLS1ub2luYWNjZXNzaWJsZSAgIGlnbm9yZSBsb2NrcyB3aXRob3V0IHJlYWQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIC1pLCAtLW5vaW5hY2Nlc3NpYmxlICAg5b+955Wl5rKh5pyJ6K+75p2D6ZmQ55qE6ZSBXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwOSBzeXMtdXRpbHMvbHNucy5jOjYyMQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIOS4jeaJk+WNsOagh+mimFxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTAgc3lzLXV0aWxzL2xzbnMuYzo2MjIKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIOWumuS5ieS9v+eUqOWTquS4qui+k+WHuuWIl1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTEKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBkaXNwbGF5IG9ubHkgbG9ja3MgaGVsZCBieSB0aGlzIHByb2Nlc3NcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAg5Y+q5pi+56S655Sx5oyH5a6a6L+b56iL5oyB5pyJ55qE6ZSBXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMiBzeXMtdXRpbHMvbHNucy5jOjYyNAorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAg5L2/55So5Y6f55Sf6L6T5Ye65qC85byPXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjU3MCBzY2hlZHV0aWxzL2NocnQuYzo0Nzggc2NoZWR1dGlscy9pb25pY2UuYzoxNzcKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE2MyBzeXMtdXRpbHMvbHNucy5jOjY5OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NgorbXNnaWQgImludmFsaWQgUElEIGFyZ3VtZW50IgorbXNnc3RyICLml6DmlYjnmoQgUElEIOWPguaVsCIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODUKK21zZ2lkICJHZW5lcmF0ZSBtYWdpYyBjb29raWVzIGZvciB4YXV0aC5cbiIKK21zZ3N0ciAi5Li6IHhhdXRoIOeUn+aIkCBtYWdpYyBjb29raWVz44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg4Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICB1c2UgZmlsZSBhcyBhIGNvb2tpZSBzZWVkXG4iCittc2dzdHIgIiAtZiwgLS1maWxlIDzmlofku7Y+ICAgICDnlKjmjIflrprmlofku7bkvZzkuLogY29va2llIOenjeWtkFxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OQorbXNnaWQgIiAtbSwgLS1tYXgtc2l6ZSA8bnVtPiAgbGltaXQgaG93IG11Y2ggaXMgcmVhZCBmcm9tIHNlZWQgZmlsZXNcbiIKK21zZ3N0ciAiIC1tLCAtLW1heC1zaXplIDzmlbDlrZc+IOmZkOWItuS7juenjeWtkOaWh+S7tuivu+WPlueahOWkp+Wwj1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo5MAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICDop6Pph4rmraPlnKjov5vooYznmoTmk43kvZxcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlenUgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlenUgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICLku44gJTIkcyDojrflvpcgJTEkenUg5a2X6IqCXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9zaW5nICVzIGZhaWxlZCIKK21zZ3N0ciAi5YWz6ZetICVzIOWksei0pSIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTY0IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTQ2IHN5cy11dGlscy9mc3RyaW0uYzozMDgKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZW5ndGgiCittc2dzdHIgIuino+aekOmVv+W6puWksei0pSIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTc3Cittc2dpZCAiLS1tYXgtc2l6ZSBpZ25vcmVkIHdoZW4gdXNlZCB3aXRob3V0IC0tZmlsZSIKK21zZ3N0ciAi5LiN5bimIC0tZmlsZSDml7blv73nlaUgLS1tYXgtc2l6ZSIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTg1CisjLCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlZCBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICVkIGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAi5LuOICUyJHMg6I635Y+W5YiwICUxJGQg5a2X6IqCXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzeW1saW5rOiAlcyIKK21zZ3N0ciAi6K+756ym5Y+36ZO+5o6l5aSx6LSl77yaJXMiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgLSBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5XG4iCittc2dzdHIgIiVzIC0g5peg5q2k5paH5Lu25oiW55uu5b2VXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGF0aG5hbWU+Li4uXG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSA86Lev5b6E5ZCNPiAuLi5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzNgorbXNnaWQgIkZvbGxvdyBhIHBhdGhuYW1lIHVudGlsIGEgdGVybWluYWwgcG9pbnQgaXMgZm91bmQuXG4iCittc2dzdHIgIuayv+i3r+W+hOWvu+aJvu+8jOebtOWIsOafkOS4que7iOatoueCueS4uuatouOAglxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzM5Cittc2dpZCAiIgorIiAtaCwgLS1oZWxwICAgICAgICAgIGRpc3BsYXlzIHRoaXMgaGVscCB0ZXh0XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICBzaG93IG1vdW50IHBvaW50IGRpcmVjdG9yaWVzIHdpdGggYSAnRCdcbiIKKyIgLW0sIC0tbW9kZXMgICAgICAgICBzaG93IHRoZSBtb2RlIGJpdHMgb2YgZWFjaCBmaWxlXG4iCisiIC1vLCAtLW93bmVycyAgICAgICAgc2hvdyBvd25lciBhbmQgZ3JvdXAgbmFtZSBvZiBlYWNoIGZpbGVcbiIKKyIgLWwsIC0tbG9uZyAgICAgICAgICB1c2UgYSBsb25nIGxpc3RpbmcgZm9ybWF0ICgtbSAtbyAtdikgXG4iCisiIC1uLCAtLW5vc3ltbGlua3MgICAgZG9uJ3QgZm9sbG93IHN5bWxpbmtzXG4iCisiIC12LCAtLXZlcnRpY2FsICAgICAgdmVydGljYWwgYWxpZ24gb2YgbW9kZXMgYW5kIG93bmVyc1xuIgorbXNnc3RyICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAg5pi+56S65q2k5biu5Yqp5paH5a2XXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAg6L6T5Ye654mI5pys5L+h5oGv5bm26YCA5Ye6XG4iCisiIC14LCAtLW1vdW50cG9pbnRzICAg55So4oCcROKAneaYvuekuuaMgui9veeCueebruW9lVxuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIOaYvuekuuavj+S4quaWh+S7tueahOaooeW8j+S9jVxuIgorIiAtbywgLS1vd25lcnMgICAgICAgIOaYvuekuuavj+S4quaWh+S7tueahOaLpeacieiAheWSjOe7hOWQjVxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIOS9v+eUqOmVv+WIl+ihqOagvOW8jyAoLW0gLW8gLXYpIFxuIgorIiAtbiwgLS1ub3N5bWxpbmtzICAgIOS4jeaYvuekuuespuWPt+mTvuaOpVxuIgorIiAtdiwgLS12ZXJ0aWNhbCAgICAgIOerluebtOWvuem9kCDmqKHlvI8g5ZKMIOaLpeacieiAhVxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDA4Cittc2dpZCAicGF0aG5hbWUgYXJndW1lbnQgaXMgbWlzc2luZyIKK21zZ3N0ciAi57y65bCRIOi3r+W+hOWQjSDlj4LmlbAiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTQgc3lzLXV0aWxzL2xzbnMuYzo3NjQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgVUlEIGNhY2hlIgorbXNnc3RyICLliIbphY0gVUlEIOe8k+WtmOWksei0pSIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNworbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHSUQgY2FjaGUiCittc2dzdHIgIuWIhumFjSBHSUQg57yT5a2Y5aSx6LSlIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGNlZWRlZCBsaW1pdCBvZiBzeW1saW5rcyIKK21zZ3N0ciAiJXPvvJrotoXov4fkuobnrKblj7fpk77mjqXpmZDliLYiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHN5bWJvbGljIGxpbmsiCittc2dzdHIgIiVz77ya5LiN5piv56ym5Y+36ZO+5o6lIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkbGluayBmYWlsZWQiCittc2dzdHIgIiVz77yacmVhZGxpbmsg5aSx6LSlIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmxpbmsgZmFpbGVkIgorbXNnc3RyICIlc++8mnVubGluayDlpLHotKUiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN5bWxpbmtpbmcgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlc++8muespuWPt+mTvuaOpeWIsCAlcyDlpLHotKUiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZW5hbWUgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlc++8mumHjeWRveWQjeS4uiAlcyDlpLHotKUiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGV4cHJlc3Npb24+IDxyZXBsYWNlbWVudD4gPGZpbGU+Li4uXG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSA86KGo6L6+5byPPiA85pu/5o2iPiA85paH5Lu2Pi4uLlxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyMgorbXNnaWQgIlJlbmFtZSBmaWxlcy5cbiIKK21zZ3N0ciAi6YeN5ZG95ZCN5paH5Lu244CCXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTI1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAg6Kej6YeK5q2j5Zyo6L+b6KGM55qE5pON5L2cXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTI2Cittc2dpZCAiIC1zLCAtLXN5bWxpbmsgICAgYWN0IG9uIHRoZSB0YXJnZXQgb2Ygc3ltbGlua3NcbiIKK21zZ3N0ciAiIC1zLCAtLXN5bWxpbmsgICAg5Zyo56ym5Y+36ZO+5o6l55qE55uu5qCH5LiK5omn6KGMXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MgorbXNnaWQgIkEgZGFlbW9uIGZvciBnZW5lcmF0aW5nIFVVSURzLlxuIgorbXNnc3RyICLkuIDkuKrnlKjkuo7nlJ/miJAgVVVJRCDnmoTlrojmiqTov5vnqIvjgIJcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc0Cittc2dpZCAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA86Lev5b6EPiAgICAgICAgcGlkIOaWh+S7tui3r+W+hFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzUKK21zZ2lkICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKK21zZ3N0ciAiIC1zLCAtLXNvY2tldCA86Lev5b6EPiAgICAg5aWX5o6l5a2X6Lev5b6EXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NgorbXNnaWQgIiAtVCwgLS10aW1lb3V0IDxzZWM+ICAgICBzcGVjaWZ5IGluYWN0aXZpdHkgdGltZW91dFxuIgorbXNnc3RyICIgLVQsIC0tdGltZW91dCA856eSPiAgICDmjIflrprml6DmtLvliqjotoXml7ZcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc3Cittc2dpZCAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGtpbGwgcnVubmluZyBkYWVtb25cbiIKK21zZ3N0ciAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIOadgOatu+i/kOihjOS4reeahOWuiOaKpOi/m+eoi1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzgKK21zZ2lkICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdCByYW5kb20tYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAg5rWL6K+V5Z+65LqO6ZqP5py65pWw55qE55Sf5oiQ5pa55byPXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3OQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICB0ZXN0IHRpbWUtYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAgICAgICAg5rWL6K+V5Z+65LqO5pe26Ze055qE55Sf5oiQ5pa55byPXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MAorbXNnaWQgIiAtbiwgLS11dWlkcyA8bnVtPiAgICAgICByZXF1ZXN0IG51bWJlciBvZiB1dWlkc1xuIgorbXNnc3RyICIgLW4sIC0tdXVpZHMgPOaVsOWAvD4gICAgICAg6K+35rGC5oyH5a6a5pWw6YeP55qEIHV1aWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgxCittc2dpZCAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKK21zZ3N0ciAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIOS4jeWIm+W7uiBwaWQg5paH5Lu2XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4MgorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkbyBub3QgZGFlbW9uaXplIHVzaW5nIGRvdWJsZS1mb3JrXG4iCittc2dzdHIgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICDkuI3kvb/nlKjlj4wgZm9yayDlj5jmiJDlrojmiqTov5vnqItcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgzCittc2dpZCAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIGRvIG5vdCBjcmVhdGUgbGlzdGVuaW5nIHNvY2tldFxuIgorbXNnc3RyICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24g5LiN5Yib5bu65L6m5ZCs5aWX5o6l5a2XXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4NAorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBydW4gaW4gZGVidWdnaW5nIG1vZGVcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIOS7peiwg+ivleaooeW8j+i/kOihjFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODUKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgdHVybiBvbiBxdWlldCBtb2RlXG4iCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICDlvIDlkK/lronpnZnmqKHlvI9cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjExOAorbXNnaWQgImJhZCBhcmd1bWVudHMiCittc2dzdHIgIuWPguaVsOmUmeivryIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEyNQorbXNnaWQgInNvY2tldCIKK21zZ3N0ciAi5aWX5o6l5a2XIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTM2Cittc2dpZCAiY29ubmVjdCIKK21zZ3N0ciAi6L+e5o6lIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTU2Cittc2dpZCAid3JpdGUiCittc2dzdHIgIuWGmSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE2NAorbXNnaWQgInJlYWQgY291bnQiCittc2dzdHIgIuivu+iuoeaVsCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE3MAorbXNnaWQgImJhZCByZXNwb25zZSBsZW5ndGgiCittc2dzdHIgIuWTjeW6lOmVv+W6pumUmeivryIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIyMQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbG9jayAlcyIKK21zZ3N0ciAi5peg5rOV6ZSB5a6aICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjQ2Cittc2dpZCAiY291bGRuJ3QgY3JlYXRlIHVuaXggc3RyZWFtIHNvY2tldCIKK21zZ3N0ciAi5peg5rOV5Yib5bu6IHVuaXgg5rWB5aWX5o6l5a2XIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGJpbmQgdW5peCBzb2NrZXQgJXMiCittc2dzdHIgIuaXoOazlee7keWumiB1bml4IOWll+aOpeWtlyAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI5OAorbXNnaWQgInJlY2VpdmluZyBzaWduYWwgZmFpbGVkIgorbXNnc3RyICLmjqXmlLbkv6Hlj7flpLHotKUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozMTEKK21zZ2lkICJ0aW1lZCBvdXQiCittc2dzdHIgIuW3sui2heaXtiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM0NSBzeXMtdXRpbHMvZmxvY2suYzoyNzEKK21zZ2lkICJjYW5ub3Qgc2V0IHVwIHRpbWVyIgorbXNnc3RyICLml6Dms5Xorr7nva7lrprml7blmagiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidXVpZGQgZGFlbW9uIGlzIGFscmVhZHkgcnVubmluZyBhdCBwaWQgJXMiCittc2dzdHIgInV1aWRkIOWuiOaKpOi/m+eoi+W3sui/kOihjO+8jHBpZCDkuLogJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgbGlzdGVuIG9uIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICLml6Dms5XkvqblkKwgdW5peCDlpZfmjqXlrZcgJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHRydW5jYXRlIGZpbGU6ICVzIgorbXNnc3RyICLml6Dms5XmiKrnn63mlofku7bvvJolcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4NgorbXNnaWQgInNkX2xpc3Rlbl9mZHMoKSBmYWlsZWQiCittc2dzdHIgInNkX2xpc3Rlbl9mZHMoKSDlpLHotKUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODkKK21zZ2lkICJubyBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayBzeXN0ZW1jdGwgc3RhdHVzIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAi5rKh5pyJ5pS25Yiw5paH5Lu25o+P6L+w56ym77yM6K+35qOA5p+lIHN5c3RlbWN0bCDnirbmgIEgdXVpZGQuc29ja2V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzkyCittc2dpZCAidG9vIG1hbnkgZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgdXVpZGQuc29ja2V0IgorbXNnc3RyICLmlLbliLDlpKrlpJrmlofku7bmj4/ov7DnrKbvvIzor7fmo4Dmn6UgdXVpZGQuc29ja2V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDIwIHRlcm0tdXRpbHMvc2NyaXB0LmM6NDU1Cittc2dpZCAicG9sbCBmYWlsZWQiCittc2dzdHIgIui9ruivouWksei0pSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lb3V0IFslZCBzZWNdXG4iCittc2dzdHIgIui2heaXtiBbJWQg56eSXVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQzIHRleHQtdXRpbHMvY29sdW1uLmM6NDE0Cittc2dpZCAicmVhZCBmYWlsZWQiCittc2dzdHIgInJlYWQg5aSx6LSlIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHJlYWRpbmcgZnJvbSBjbGllbnQsIGxlbiA9ICVkIgorbXNnc3RyICLku47lrqLmiLfnq6/or7vlj5blh7rplJnvvIzplb/luqYgPSAlZCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ1NAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWQsIGluY29taW5nIG51bSA9ICVkXG4iCittc2dzdHIgIuaTjeS9nCAlZO+8jOaOpeaUtuaVsCA9ICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkXG4iCittc2dzdHIgIuaTjeS9nCAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQ6ICVzXG4iCittc2dzdHIgIuW3sueUn+aIkOaXtumXtCBVVUlE77yaJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgcmFuZG9tIFVVSUQ6ICVzXG4iCittc2dzdHIgIuW3sueUn+aIkOmaj+acuiBVVUlE77yaJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dzdHJbMF0gIuW3sueUn+aIkOaXtumXtCBVVUlEICVzIOWSjOWQjue7rSAlZCDkuKpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgJWQgVVVJRDpcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkICVkIFVVSURzOlxuIgorbXNnc3RyWzBdICLlt7LnlJ/miJAgJWQg5LiqIFVVSUTvvJpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIG9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICLml6DmlYjmk43kvZwgJWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUzOQorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIHJlcGx5IGxlbmd0aCBmcm9tIHNlcnZlciAlZCIKK21zZ3N0ciAi5pyN5Yqh5ZmoICVkIOWTjeW6lOmVv+W6puW8guW4uCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYwMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXV1aWRzIgorbXNnc3RyICLop6PmnpAgLS11dWlkcyDlpLHotKUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MTcKK21zZ2lkICJ1dWlkZCBoYXMgYmVlbiBidWlsdCB3aXRob3V0IHN1cHBvcnQgZm9yIHNvY2tldCBhY3RpdmF0aW9uIgorbXNnc3RyICJ1dWlkZCDmnoTlu7rml7bmsqHmnInmt7vliqDlpZfmjqXlrZfmv4DmtLvmlK/mjIEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MzYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10aW1lb3V0IgorbXNnc3RyICLop6PmnpAgLS10aW1lb3V0IOWksei0pSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1MworbXNnaWQgIkJvdGggLS1zb2NrZXQtYWN0aXZhdGlvbiBhbmQgLS1zb2NrZXQgc3BlY2lmaWVkLiBJZ25vcmluZyAtLXNvY2tldC4iCittc2dzdHIgIuWQjOaXtuaMh+WumuS6hiAtLXNvY2tldC1hY3RpdmF0aW9uIOWSjCAtLXNvY2tldOOAguWwhuW/veeVpSAtLXNvY2tldCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2MCBtaXNjLXV0aWxzL3V1aWRkLmM6Njg4CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNhbGxpbmcgdXVpZGQgZGFlbW9uICglcykiCittc2dzdHIgIuiwg+eUqCB1dWlkZCDlrojmiqTov5vnqIsoJXMp5Ye66ZSZIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYxIG1pc2MtdXRpbHMvdXVpZGQuYzo2ODkKK21zZ2lkICJ1bmV4cGVjdGVkIGVycm9yIgorbXNnc3RyICLmhI/lpJbplJnor68iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRFxuIgorbXNnaWRfcGx1cmFsICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEc1xuIgorbXNnc3RyWzBdICIlcyDlkowgJWQg5Liq5ZCO57utIFVVSURcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY3MworIywgYy1mb3JtYXQKK21zZ2lkICJMaXN0IG9mIFVVSURzOlxuIgorbXNnc3RyICJVVUlEIOWIl+ihqO+8mlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGtpbGwgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQiCittc2dzdHIgIuaXoOazlei/kOihjCBwaWQg5Li6ICVkIOeahCB1dWlkZCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcxMAorIywgYy1mb3JtYXQKK21zZ2lkICJLaWxsZWQgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQuXG4iCittc2dzdHIgIuW3suadgOatu+i/kOihjCBwaWQg5Li6ICVkIOeahCB1dWlkZOOAglxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyOAorbXNnaWQgIkNyZWF0ZSBhIG5ldyBVVUlEIHZhbHVlLlxuIgorbXNnc3RyICLliJvlu7rmlrDnmoQgVVVJRCDlgLzjgIJcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzEKK21zZ2lkICIiCisiIC1yLCAtLXJhbmRvbSAgICAgZ2VuZXJhdGUgcmFuZG9tLWJhc2VkIHV1aWRcbiIKKyIgLXQsIC0tdGltZSAgICAgICBnZW5lcmF0ZSB0aW1lLWJhc2VkIHV1aWRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyIgLXIsIC0tcmFuZG9tICAgICDnlJ/miJDln7rkuo7pmo/mnLrmlbDnmoQgdXVpZFxuIgorIiAtdCwgLS10aW1lICAgICAgIOeUn+aIkOWfuuS6juaXtumXtOeahCB1dWlkXG4iCisiIC1WLCAtLXZlcnNpb24gICAg6L6T5Ye654mI5pys5L+h5oGv5bm26YCA5Ye6XG4iCisiIC1oLCAtLWhlbHAgICAgICAg5pi+56S65q2k5biu5Yqp5bm26YCA5Ye6XG4iCisiXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstQk1TIDxkaXI+Li4uIC1mXSA8bmFtZT5cbiIKK21zZ3N0ciAiICVzIFvpgInpobldIFstQk1TIDxkaXI+Li4uIC1mXSA85ZCN56ewPlxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTIKK21zZ2lkICJMb2NhdGUgdGhlIGJpbmFyeSwgc291cmNlLCBhbmQgbWFudWFsLXBhZ2UgZmlsZXMgZm9yIGEgY29tbWFuZC5cbiIKK21zZ3N0ciAi5a6a5L2N5p+Q5Liq5ZG95Luk55qE5LqM6L+b5Yi25paH5Lu244CB5rqQ56CB5ZKM5biu5Yqp6aG15paH5Lu244CCXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5NQorbXNnaWQgIiAtYiAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBiaW5hcmllc1xuIgorbXNnc3RyICIgLWIgICAgICAgICDlj6rmkJzntKLkuozov5vliLbmlofku7ZcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk2Cittc2dpZCAiIC1CIDxkaXJzPiAgZGVmaW5lIGJpbmFyaWVzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiAtQiA855uu5b2VPiAg5a6a5LmJ5LqM6L+b5Yi25paH5Lu25p+l5om+6Lev5b6EXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5NworbXNnaWQgIiAtbSAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBtYW51YWxzIGFuZCBpbmZvc1xuIgorbXNnc3RyICIgLW0gICAgICAgICDlj6rmkJzntKLmiYvlhozlkozkv6Hmga9cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk4Cittc2dpZCAiIC1NIDxkaXJzPiAgZGVmaW5lIG1hbiBhbmQgaW5mbyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLU0gPOebruW9lT4gIOWumuS5iSBtYW4g5ZKMIGluZm8g5p+l5om+6Lev5b6EXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5OQorbXNnaWQgIiAtcyAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBzb3VyY2VzXG4iCittc2dzdHIgIiAtcyAgICAgICAgIOWPquaQnOe0oua6kOS7o+eggVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDAKK21zZ2lkICIgLVMgPGRpcnM+ICBkZWZpbmUgc291cmNlcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLVMgPOebruW9lT4gIOWumuS5iea6kOS7o+eggeafpeaJvui3r+W+hFxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDEKK21zZ2lkICIgLWYgICAgICAgICB0ZXJtaW5hdGUgPGRpcnM+IGFyZ3VtZW50IGxpc3RcbiIKK21zZ3N0ciAiIC1mICAgICAgICAg57uI5q2iIDznm67lvZU+IOWPguaVsOWIl+ihqFxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDIKK21zZ2lkICIgLXUgICAgICAgICBzZWFyY2ggZm9yIHVudXN1YWwgZW50cmllc1xuIgorbXNnc3RyICIgLXUgICAgICAgICDmkJzntKLkuI3luLjop4HorrDlvZVcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAzCittc2dpZCAiIC1sICAgICAgICAgb3V0cHV0IGVmZmVjdGl2ZSBsb29rdXAgcGF0aHNcbiIKK21zZ3N0ciAiIC1sICAgICAgICAg6L6T5Ye65pyJ5pWI5p+l5om+6Lev5b6EXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjYxOQorbXNnaWQgIm9wdGlvbiAtZiBpcyBtaXNzaW5nIgorbXNnc3RyICLnvLrlsJEgLWYg6YCJ6aG5IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjE5NgorbXNnaWQgInBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi5YiG5Yy66KGoIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IHByb2JpbmcgaW5pdGlhbGl6YXRpb24gZmFpbGVkIgorbXNnc3RyICLplJnor6/vvJolc++8muaOoua1i+WIneWni+WMluWksei0pSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBlcmFzZSAlcyBtYWdpYyBzdHJpbmcgYXQgb2Zmc2V0IDB4JTA4angiCittc2dzdHIgIiUxJHPvvJrmk6bpmaTkvY3kuo7lgY/np7sgMHglMyQwOGp4IOWkhOeahOmtlOaVsOWtl+espuS4siAlMiRzIOWksei0pSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICV6ZCBieXRlIHdhcyBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnaWRfcGx1cmFsICIlczogJXpkIGJ5dGVzIHdlcmUgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIKK21zZ3N0clswXSAiJXPvvJolemQg5Liq5a2X6IqC5bey5pOm6Zmk77yM5L2N572u5YGP56e75Li6IDB4JTA4anggKCVzKe+8miIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIgorbXNnc3RyICIlc++8muWIm+W7uuetvuWQjeWkh+S7veWksei0pSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbGxpbmcgaW9jdGwgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGU6ICVtXG4iCittc2dzdHIgIiVz77ya5bCG6LCD55SoIGlvY3RsIOadpemHjeaWsOivu+WIhuWMuuihqO+8miVtXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6Mzg1Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAi5Yib5bu6562+5ZCN5aSH5Lu95aSx6LSl77yM5pyq5a6a5LmJICRIT01FIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaWdub3JpbmcgbmVzdGVkIFwiJXNcIiBwYXJ0aXRpb24gdGFibGUgb24gbm9uLXdob2xlIGRpc2sgZGV2aWNlIgorbXNnc3RyICIlc++8muW/veeVpSDpnZ7mlbTnm5gg6K6+5aSH5LiK55qE5bWM5aWX5YiG5Yy66KGo4oCcJXPigJ0iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgMHglanggbm90IGZvdW5kIgorbXNnc3RyICIlc++8muaJvuS4jeWIsOWBj+enuyAweCVqeCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MzUKK21zZ2lkICJVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIHRvIGZvcmNlIGVyYXNlLiIKK21zZ3N0ciAi5L2/55SoIC0tZm9yY2Ug6YCJ6aG55by65Yi25pOm6Zmk44CCIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1OQorbXNnaWQgIldpcGUgc2lnbmF0dXJlcyBmcm9tIGEgZGV2aWNlLlxuIgorbXNnc3RyICLku47orr7lpIfmk6bpmaTnrb7lkI3jgIJcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0NjIKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpXG4iCisiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgIGZvcmNlIGVyYXN1cmVcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCisiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGxcbiIKKyIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgdG8gZXJhc2UsIGluIGJ5dGVzXG4iCisiIC1wLCAtLXBhcnNhYmxlICAgICAgcHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdFxuIgorIiAtcSwgLS1xdWlldCAgICAgICAgIHN1cHByZXNzIG91dHB1dCBtZXNzYWdlc1xuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSwgUkFJRHMgb3IgcGFydGl0aW9uIHRhYmxlc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICDmk6bpmaTmiYDmnInprZTmlbDlrZfnrKbkuLIo5oWO6YeN77yBKVxuIgorIiAtYiwgLS1iYWNrdXAgICAgICAgIOWcqCAkSE9NRSDkuK3liJvlu7rnrb7lkI3lpIfku71cbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICDlvLrliLbmk6bpmaRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICDmmL7npLrmraTluK7liqnmloflrZdcbiIKKyIgLW4sIC0tbm8tYWN0ICAgICAgICDnhafluLjmk43kvZzkvYbkuI3miafooYzlrp7pmYXnmoQgd3JpdGUoKSDosIPnlKhcbiIKKyIgLW8sIC0tb2Zmc2V0IDzmlbDlrZc+IOimgeaTpumZpOeahOWBj+enu+Wtl+iKguaVsFxuIgorIiAtcCwgLS1wYXJzYWJsZSAgICAgIOS7peWPr+ino+aekOeahOagvOW8j+aJk+WNsOi+k+WHuu+8jOiAjOmdnuS7peWPr+aJk+WNsOeahOagvOW8j1xuIgorIiAtdCwgLS10eXBlcyA85YiX6KGoPiAg6ZmQ5Yi25paH5Lu257O757uf44CBUkFJRCDmiJbliIbljLrooajnmoTpm4blkIhcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICDovpPlh7rniYjmnKzkv6Hmga/lubbpgIDlh7pcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MzMKK21zZ2lkICJpbnZhbGlkIG9mZnNldCBhcmd1bWVudCIKK21zZ3N0ciAi5peg5pWI55qEIOWBj+enuyDlj4LmlbAiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTU4Cittc2dpZCAiVGhlIC0tYmFja3VwIG9wdGlvbiBpcyBtZWFuaW5nbGVzcyBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIi0tYmFja3VwIOWcqOatpOeOr+Wig+S4reaXoOaEj+S5iSIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM1Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlYWwtdGltZSBzY2hlZHVsaW5nIGF0dHJpYnV0ZXMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICLmmL7npLrmiJbmm7TmlLnmn5DkuKrov5vnqIvnmoTlrp7ml7bosIPluqblsZ7mgKfjgIJcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM3Cittc2dpZCAiIgorIlNldCBwb2xpY3k6XG4iCisiIGNocnQgW29wdGlvbnNdIDxwcmlvcml0eT4gPGNvbW1hbmQ+IFs8YXJnPi4uLl1cbiIKKyIgY2hydCBbb3B0aW9uc10gLS1waWQgPHByaW9yaXR5PiA8cGlkPlxuIgorbXNnc3RyICIiCisi6K6+572u562W55Wl77yaXG4iCisiIGNocnQgW+mAiemhuV0gPOS8mOWFiOe6pz4gPOWRveS7pD4gWzzlj4LmlbA+Li4uXVxuIgorIiBjaHJ0IFvpgInpobldIC0tcGlkIDzkvJjlhYjnuqc+IDxwaWQ+XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0MQorbXNnaWQgIiIKKyJHZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSAtcCA8cGlkPlxuIgorbXNnc3RyICIiCisi6I635Y+W562W55WlXG4iCisiIGNocnQgW+mAiemhuV0gLXAgPHBpZD5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ1Cittc2dpZCAiUG9saWN5IG9wdGlvbnM6XG4iCittc2dzdHIgIuetlueVpemAiemhue+8mlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDYKK21zZ2lkICIgLWIsIC0tYmF0Y2ggICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorbXNnc3RyICIgLWIsIC0tYmF0Y2ggICAgICAgICAg5bCG562W55Wl6K6+572u5Li6IFNDSEVEX0JBVENIXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NworbXNnaWQgIiAtZCwgLS1kZWFkbGluZSAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0RFQURMSU5FXG4iCittc2dzdHIgIiAtZCwgLS1kZWFkbGluZSAgICAgICDlsIbnrZbnlaXorr7nva7kuLogU0NIRURfREVBRExJTkVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ4Cittc2dpZCAiIC1mLCAtLWZpZm8gICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfRklGT1xuIgorbXNnc3RyICIgLWYsIC0tZmlmbyAgICAgICAgICAg5bCG562W55Wl6K6+572u5Li6IFNDSEVEX0ZJRk9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ5Cittc2dpZCAiIC1pLCAtLWlkbGUgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfSURMRVxuIgorbXNnc3RyICIgLWksIC0taWRsZSAgICAgICAgICAg5bCG562W55Wl6K6+572u5Li6IFNDSEVEX0lETEVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUwCittc2dpZCAiIC1vLCAtLW90aGVyICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIKK21zZ3N0ciAiIC1vLCAtLW90aGVyICAgICAgICAgIOWwhuetlueVpeiuvue9ruS4uiBTQ0hFRF9PVEhFUlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTEKK21zZ2lkICIgLXIsIC0tcnIgICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1yLCAtLXJyICAgICAgICAgICAgIOWwhuetlueVpeiuvue9ruS4uiBTQ0hFRF9SUiAo6buY6K6kKVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTQKK21zZ2lkICJTY2hlZHVsaW5nIG9wdGlvbnM6XG4iCittc2dzdHIgIuiwg+W6pumAiemhue+8mlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTUKK21zZ2lkICIgLVIsIC0tcmVzZXQtb24tZm9yayAgICAgICBzZXQgU0NIRURfUkVTRVRfT05fRk9SSyBmb3IgRklGTyBvciBSUlxuIgorbXNnc3RyICIgLVIsIC0tcmVzZXQtb24tZm9yayAgICAgICDkuLogRklGTyDmiJYgUlIg6K6+572uIFNDSEVEX1JFU0VUX09OX0ZPUktcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU2Cittc2dpZCAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAgcnVudGltZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiAtVCwgLS1zY2hlZC1ydW50aW1lIDxucz4gIERFQURMSU5FIOeahOi/kOihjOaXtuWPguaVsFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTcKK21zZ2lkICIgLVAsIC0tc2NoZWQtcGVyaW9kIDxucz4gICBwZXJpb2QgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIgLVAsIC0tc2NoZWQtcGVyaW9kIDxucz4gIERFQURMSU5FIOeahOWRqOacn+WPguaVsFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTgKK21zZ2lkICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IERFQURMSU5FIOeahOaIquatouaXtumXtOWPguaVsFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjEKK21zZ2lkICJPdGhlciBvcHRpb25zOlxuIgorbXNnc3RyICLlhbbku5bpgInpobnvvJpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYyCittc2dpZCAiIC1hLCAtLWFsbC10YXNrcyAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiAtYSwgLS1hbGwtdGFza3MgICAgICDlr7nmjIflrpogcGlkIOeahOaJgOacieS7u+WKoSjnur/nqIspIOaTjeS9nFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjMKK21zZ2lkICIgLW0sIC0tbWF4ICAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCittc2dzdHIgIiAtbSwgLS1tYXggICAgICAgICAgICDmmL7npLrmnIDlsI/lkozmnIDlpKfmnInmlYjkvJjlhYjnuqdcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY0Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICAgICDlr7nmjIflrprkuJTlrZjlnKjnmoQgcGlkIOaTjeS9nFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgZGlzcGxheSBzdGF0dXMgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgIOaYvuekuueKtuaAgeS/oeaBr1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyMzIgc2NoZWR1dGlscy9jaHJ0LmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICLml6Dms5XojrflvpcgcGlkICVkIOeahOetlueVpSIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYXR0cmlidXRlcyIKK21zZ3N0ciAi6I635Y+WIHBpZCAlZCDnmoTlsZ7mgKflpLHotKUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2NworIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICJwaWQg4oCcJWTigJ0g55qE5paw6LCD5bqm562W55Wl77yaJXMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAicGlkICVkIOW9k+WJjeeahOiwg+W6puetlueVpe+4sCAlcyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICJwaWQgJWQg55qE5paw6LCD5bqm562W55Wl77yaJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAicGlkICVkIOeahOW9k+WJjeiwg+W6puS8mOWFiOe6p++8miVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAicGlkICVkIOaWsOeahOi/kOihjOaXti/miKrmraLml7bpl7Qv5ZGo5pyf5Y+C5pWw77iwICVqdS8lanUvJWp1XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgInBpZCAlZCDlvZPliY3nmoTov5DooYzml7Yv5oiq5q2i5pe26Ze0L+WRqOacn+WPguaVsO+4sCAlanUvJWp1LyVqdVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMDAgc2NoZWR1dGlscy9jaHJ0LmM6Mzk2Cittc2dpZCAiY2Fubm90IG9idGFpbiB0aGUgbGlzdCBvZiB0YXNrcyIKK21zZ3N0ciAi5peg5rOV6I635Y+W5Lu75Yqh5YiX6KGoIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbWluL21heCBwcmlvcml0eVx0OiAlZC8lZFxuIgorbXNnc3RyICIlcyDmnIDlsI8v5pyA5aSn5LyY5YWI57qnXHQ6ICVkLyVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3Qgc3VwcG9ydGVkP1xuIgorbXNnc3RyICIlcyDkuI3mlK/mjIHvvJ8gXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAi6K6+572uIHRpZCAlZCDnrZbnlaXlpLHotKUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAi6K6+572uIHBpZCAlZCDnmoTnrZbnlaXlpLHotKUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NworbXNnaWQgImludmFsaWQgcnVudGltZSBhcmd1bWVudCIKK21zZ3N0ciAi5peg5pWI55qE6L+Q6KGM5pe25Y+C5pWwIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTAKK21zZ2lkICJpbnZhbGlkIHBlcmlvZCBhcmd1bWVudCIKK21zZ3N0ciAi5peg5pWI55qE5ZGo5pyf5Y+C5pWwIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTMKK21zZ2lkICJpbnZhbGlkIGRlYWRsaW5lIGFyZ3VtZW50IgorbXNnc3RyICLml6DmlYjnmoTmiKrmraLml7bpl7Tlj4LmlbAiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUxNworbXNnaWQgImludmFsaWQgcHJpb3JpdHkgYXJndW1lbnQiCittc2dzdHIgIuaXoOaViOeahCDkvJjlhYjnuqcg5Y+C5pWwIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MjEKK21zZ2lkICItLXJlc2V0LW9uLWZvcmsgb3B0aW9uIGlzIHN1cHBvcnRlZCBmb3IgU0NIRURfRklGTyBhbmQgU0NIRURfUlIgcG9saWNpZXMgb25seSIKK21zZ3N0ciAiLS1yZXNldC1vbi1mb3JrIOmAiemhueWPquaUr+aMgSBTQ0hFRF9GSUZPIGFuZCBTQ0hFRF9SUiDnrZbnlaUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyNgorbXNnaWQgIi0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgZm9yIFNDSEVEX0RFQURMSU5FIG9ubHkiCittc2dzdHIgIi0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSDpgInpobnlj6rmlK/mjIEgU0NIRURfREVBRExJTkUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0MQorbXNnaWQgIlNDSEVEX0RFQURMSU5FIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICLkuI3mlK/mjIEgU0NIRURfREVBRExJTkUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcmlvcml0eSB2YWx1ZSBmb3IgdGhlIHBvbGljeTogJWQ6IHNlZSAtLW1heCBmb3IgdmFsaWQgcmFuZ2UiCittc2dzdHIgIuS4jeaUr+aMgeatpOetlueVpeeahOS8mOWFiOe6p+WAvO+8miVk77ya5p+l55yLIC0tbWF4IOS6huino+acieaViOiMg+WbtCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo3NgorbXNnaWQgImlvcHJpb19nZXQgZmFpbGVkIgorbXNnc3RyICJpb3ByaW9fZ2V0IOWksei0pSIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcHJpbyAlbHVcbiIKK21zZ3N0ciAiJXPvvJrkvJjlhYjnuqcgJWx1XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6OTgKK21zZ2lkICJpb3ByaW9fc2V0IGZhaWxlZCIKK21zZ3N0ciAiaW9wcmlvX3NldCDlpLHotKUiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXAgPHBpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC11IDx1aWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisiICUxJHMgW+mAiemhuV0gLXAgPHBpZD4uLi5cbiIKKyIgJTEkcyBb6YCJ6aG5XSAtUCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBb6YCJ6aG5XSAtdSA8dWlkPi4uLlxuIgorIiAlMSRzIFvpgInpobldIDzlkb3ku6Q+XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTEwCittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIEkvTy1zY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIuiuvue9ruaIluabtOaUuei/m+eoi+eahCBJTyDosIPluqbnsbvliKvlkozkvJjlhYjnuqfjgIJcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTMKK21zZ2lkICIiCisiIC1jLCAtLWNsYXNzIDxjbGFzcz4gICAgbmFtZSBvciBudW1iZXIgb2Ygc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IG5vbmUsIDE6IHJlYWx0aW1lLCAyOiBiZXN0LWVmZm9ydCwgMzogaWRsZVxuIgorbXNnc3RyICIiCisiIC1jLCAtLWNsYXNzIDznsbvliKs+ICAgIOiwg+W6puexu+WIq+eahOWQjeensOaIluaVsOWAvFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMDog5pegLCAxOiDlrp7ml7YsIDI6IOWwveWKmywgMzog56m66ZeyXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE1Cittc2dpZCAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPG51bT4gIHByaW9yaXR5ICgwLi43KSBpbiB0aGUgc3BlY2lmaWVkIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IGZvciB0aGUgcmVhbHRpbWUgYW5kIGJlc3QtZWZmb3J0IGNsYXNzZXNcbiIKK21zZ3N0ciAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPOaVsOWtlz4g5oyH5a6a6LCD5bqm57G75Yir55qE5LyY5YWI57qnKDAuLjcp77yM5Y+q6ZKI5a+5XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICDigJzlrp7ml7bigJ3lkozigJzlsL3lipvigJ3nsbvliKtcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTcKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+Li4uICAgICBhY3Qgb24gdGhlc2UgYWxyZWFkeSBydW5uaW5nIHByb2Nlc3Nlc1xuIgorbXNnc3RyICIgLXAsIC0tcGlkIDxwaWQ+Li4uICAgICDlr7nov5nkupvlt7Lov5DooYznmoTov5vnqIvmk43kvZxcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTgKK21zZ2lkICIgLVAsIC0tcGdpZCA8cGdycD4uLi4gICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBpbiB0aGVzZSBncm91cHNcbiIKK21zZ3N0ciAiIC1QLCAtLXBnaWQgPHBncnA+Li4uICAg5a+56L+Z5Lqb57uE5Lit5bey6L+Q6KGM55qE6L+b56iL5pON5L2cXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE5Cittc2dpZCAiIC10LCAtLWlnbm9yZSAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCittc2dzdHIgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIOW/veeVpeWksei0pVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMAorbXNnaWQgIiAtdSwgLS11aWQgPHVpZD4uLi4gICAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIG93bmVkIGJ5IHRoZXNlIHVzZXJzXG4iCittc2dzdHIgIiAtdSwgLS11aWQgPHVpZD4uLi4gICAgIOWvueWxnuS6jui/meS6m+eUqOaIt+eahOW3sui/kOihjOi/m+eoi+aTjeS9nFxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE1NworbXNnaWQgImludmFsaWQgY2xhc3MgZGF0YSBhcmd1bWVudCIKK21zZ3N0ciAi5peg5pWI55qE57G75Yir5pWw5o2u5Y+C5pWwIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2MworbXNnaWQgImludmFsaWQgY2xhc3MgYXJndW1lbnQiCittc2dzdHIgIuaXoOaViOeahOexu+WIq+WPguaVsCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzY2hlZHVsaW5nIGNsYXNzOiAnJXMnIgorbXNnc3RyICLmnKrnn6XnmoTosIPluqbnsbvliKvvvJrigJwlc+KAnSIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNzYgc2NoZWR1dGlscy9pb25pY2UuYzoxODQgc2NoZWR1dGlscy9pb25pY2UuYzoxOTIKK21zZ2lkICJjYW4gaGFuZGxlIG9ubHkgb25lIG9mIHBpZCwgcGdpZCBvciB1aWQgYXQgb25jZSIKK21zZ3N0ciAi5peg5rOV5LiA5qyh5Y+q5aSE55CG5LiA5LiqIHBpZOOAgXBnaWQg5oiWIHVpZCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxODUKK21zZ2lkICJpbnZhbGlkIFBHSUQgYXJndW1lbnQiCittc2dzdHIgIuaXoOaViOeahCBQR0lEIOWPguaVsCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxOTMKK21zZ2lkICJpbnZhbGlkIFVJRCBhcmd1bWVudCIKK21zZ3N0ciAi5peg5pWI55qEIFVJRCDlj4LmlbAiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjEyCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3Igbm9uZSBjbGFzcyIKK21zZ3N0ciAi5bCG5b+955Wl5Li64oCc5peg4oCd57G75Yir5oyH5a6a55qE57G75Yir5pWw5o2uIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyMAorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIGlkbGUgY2xhc3MiCittc2dzdHIgIuWwhuW/veeVpeS4uuKAnOepuumXsuKAneexu+WIq+aMh+WumueahOexu+WIq+aVsOaNriIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvIGNsYXNzICVkIgorbXNnc3RyICLmnKrnn6XnmoTkvJjlhYjnuqfnsbvliKsgJWQiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJVc2FnZTogJXMgW29wdGlvbnNdIFttYXNrIHwgY3B1LWxpc3RdIFtwaWR8Y21kIFthcmdzLi4uXV1cbiIKKyJcbiIKK21zZ3N0ciAiIgorIueUqOazle+8miVzIFvpgInpobldIFvmjqnnoIEgfCBjcHXliJfooahdIFtwaWR85ZG95LukIFvlj4LmlbAuLi5dXVxuIgorIlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1NQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBDUFUgYWZmaW5pdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICLmmL7npLrmiJbmm7TmlLnmn5DkuKrov5vnqIvnmoQgQ1BVIOS6suWSjOWKm+OAglxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiT3B0aW9uczpcbiIKKyIgLWEsIC0tYWxsLXRhc2tzICAgICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKKyIgLXAsIC0tcGlkICAgICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKKyIgLWMsIC0tY3B1LWxpc3QgICAgICAgICAgZGlzcGxheSBhbmQgc3BlY2lmeSBjcHVzIGluIGxpc3QgZm9ybWF0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisiXG4iCittc2dzdHIgIiIKKyLpgInpobnvvJpcbiIKKyIgLWEsIC0tYWxsLXRhc2tzICAgICAgICAg5Zyo57uZ5a6aIHBpZCDnmoTmiYDmnInku7vliqEo57q/56iLKeS4iuaTjeS9nFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICDlnKjlrZjlnKjnmoTnu5nlrpogcGlkIOS4iuaTjeS9nFxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICDku6XliJfooajmoLzlvI/mmL7npLrlkozmjIflrpogQ1BVXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIOaYvuekuuatpOW4ruWKqVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICDovpPlh7rniYjmnKzkv6Hmga9cbiIKKyJcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIHJ1biBhIG5ldyBjb21tYW5kOlxuIgorIiAgICAlMSRzIDAzIHNzaGQgLWIgMTAyNFxuIgorIllvdSBjYW4gcmV0cmlldmUgdGhlIG1hc2sgb2YgYW4gZXhpc3RpbmcgdGFzazpcbiIKKyIgICAgJTEkcyAtcCA3MDBcbiIKKyJPciBzZXQgaXQ6XG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisiTGlzdCBmb3JtYXQgdXNlcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IGluc3RlYWQgb2YgYSBtYXNrOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJSYW5nZXMgaW4gbGlzdCBmb3JtYXQgY2FuIHRha2UgYSBzdHJpZGUgYXJndW1lbnQ6XG4iCisiICAgIGUuZy4gMC0zMToyIGlzIGVxdWl2YWxlbnQgdG8gbWFzayAweDU1NTU1NTU1XG4iCittc2dzdHIgIiIKKyLpu5jorqTooYzkuLrmmK/ov5DooYzkuIDmnaHmlrDlkb3ku6TvvJpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyLmgqjlj6/ku6Xojrflj5bnjrDmnInku7vliqHnmoTmjqnnoIHvvJpcbiIKKyIgICAgJTEkcyAtcCA3MDBcbiIKKyLmiJborr7nva7mjqnnoIHvvJpcbiIKKyIgICAgJTEkcyAtcCAwMyA3MDBcbiIKKyLkvb/nlKjpgJflj7fliIbpmpTnmoTliJfooajmoLzlvI/ogIzkuI3mmK/mjqnnoIHvvJpcbiIKKyIgICAgJTEkcyAtcGMgMCwzLDctMTEgNzAwXG4iCisi5YiX6KGo5qC85byP5Lit55qE6IyD5Zu05Y+v5Lul5bim5LiA5Liq6Leo5bqm5Y+C5pWw77yaXG4iCisiICAgIOS+i+WmgiAwLTMxOjIg5LiO5o6p56CBIDB4NTU1NTU1NTUg562J5pWIXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkwCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICJwaWQgJWQg55qE5paw5Lqy5ZKM5Yqb5YiX6KGo77yaJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICJwaWQgJWQg55qE5b2T5YmN5Lqy5ZKM5Yqb5YiX6KGo77yaJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgInBpZCAlZCDnmoTmlrDkurLlkozlipvmjqnnoIHvvJolc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgInBpZCAlZCDnmoTlvZPliY3kurLlkozlipvmjqnnoIHvvJolc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5OQorbXNnaWQgImludGVybmFsIGVycm9yOiBjb252ZXJzaW9uIGZyb20gY3B1c2V0IHRvIHN0cmluZyBmYWlsZWQiCittc2dzdHIgIuWGhemDqOmUmeivr++8muS7jiBjcHVzZXQg6L2s5o2i5Yiw5a2X56ym5Liy5aSx6LSlIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMDkgc2NoZWR1dGlscy90YXNrc2V0LmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgIuiOt+WPliBwaWQgJWQg55qE5Lqy5ZKM5Yqb5aSx6LSlIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAi6K6+572uIHBpZCAlZCDnmoTkurLlkozlipvlpLHotKUiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE4NiBzeXMtdXRpbHMvY2hjcHUuYzoyODkKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIE5SX0NQVVM7IGFib3J0aW5nIgorbXNnc3RyICLml6Dms5Xnoa7lrpogTlJfQ1BVU++8m+WwhuS4reatoiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTk1IHNjaGVkdXRpbHMvdGFza3NldC5jOjIwOCBzeXMtdXRpbHMvY2hjcHUuYzoyOTUKK21zZ2lkICJjcHVzZXRfYWxsb2MgZmFpbGVkIgorbXNnc3RyICJjcHVzZXRfYWxsb2Mg5aSx6LSlIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMTUgc3lzLXV0aWxzL2NoY3B1LmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdDogJXMiCittc2dzdHIgIuino+aekCBDUFUg5YiX6KGo5aSx6LSl77yaJXMiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2s6ICVzIgorbXNnc3RyICLop6PmnpAgQ1BVIOaOqeeggeWksei0pe+8miVzIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBaZXJvLWZpbGxlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIlczog55So6Zu25aGr5YWF55qEICU8UFJJdTY0PiDkuKrlrZfoioLvvIzlp4vkuo7lgY/np7vph48gJTxQUkl1NjQ+XG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IERpc2NhcmRlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIlMSRz77ya5bey5b+955Wl5LuO5YGP56e7ICUzJDxQUkl1NjQ+IOS9jee9ruW8gOWni+eahCAlMiQ8UFJJdTY0PiDkuKrlrZfoioJcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4NworbXNnaWQgIkRpc2NhcmQgdGhlIGNvbnRlbnQgb2Ygc2VjdG9ycyBvbiBhIGRldmljZS5cbiIKK21zZ3N0ciAi5Lii5byD5LiA5Liq6K6+5aSH5LiK55qE5omH5Yy65YaF5a6544CCXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTAKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPOaVsOWAvD4g6KaB5Lii5byD55qE6LW35aeL5L2N572uKOWtl+iKgilcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDzmlbDlgLw+IOS7jui1t+Wni+WkhOi1t+imgeS4ouW8g+eahOmVv+W6pijlrZfoioLmlbApXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTIKK21zZ2lkICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiIC1wLCAtLXN0ZXAgPOaVsOWAvD4gICDlnKjlgY/np7vojIPlm7TlhoXkuKLlvIPov63ku6PnmoTlsLrlr7hcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MworbXNnaWQgIiAtcywgLS1zZWN1cmUgICAgICAgIHBlcmZvcm0gc2VjdXJlIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC1zLCAtLXNlY3VyZSAgICAgICAg5omn6KGM5a6J5YWo5Lii5byDXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTQKK21zZ2lkICIgLXosIC0temVyb291dCAgICAgICB6ZXJvLWZpbGwgcmF0aGVyIHRoYW4gZGlzY2FyZFxuIgorbXNnc3RyICIgLXosIC0temVyb291dCAgICAgICDnlKgg6Zu25aGr5YWF6ICM6Z2e5Lii5byDXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgIOaJk+WNsOWvuem9kOeahOmVv+W6puWSjOWBj+enu1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1MCBzeXMtdXRpbHMvZnN0cmltLmM6MzEyIHN5cy11dGlscy9sb3NldHVwLmM6NjczCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMjQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IgorbXNnc3RyICLop6PmnpDlgY/np7vlpLHotKUiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTU0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0ZXAiCittc2dzdHIgIuino+aekOatpemVv+Wksei0pSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzIgc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODIgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDgKK21zZ2lkICJubyBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICLmnKrmjIflrprorr7lpIciCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTc3IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTEKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyMiBzeXMtdXRpbHMvZnN0cmltLmM6MzM0Cittc2dpZCAidW5leHBlY3RlZCBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICLlj4LmlbDmlbDph4/lvILluLgiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlc++8mkJMS0dFVFNJWkU2NCBpb2N0bCDlpLHotKUiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTU1pHRVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlc++8mkJMS1NTWkdFVCBpb2N0bCDlpLHotKUiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIlczog5YGP56e76YePICU8UFJJdTY0PiDmnKrkuI7miYfljLrlpKflsI8gJWkg5a+56b2QIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0IGlzIGdyZWF0ZXIgdGhhbiBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAiJXPvvJrlgY/np7vph4/otoXov4forr7lpIflpKflsI8iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsZW5ndGggJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIlczog6ZW/5bqmICU8UFJJdTY0PiDmnKrkuI7miYfljLrlpKflsI8gJWkg5a+56b2QIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLWkVST09VVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBCTEtaRVJPT1VUIGlvY3RsIOWksei0pSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NFQ0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlc++8mkJMS1NFQ0RJU0NBUkQgaW9jdGwg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVz77yaQkxLRElTQ0FSRCBpb2N0bCDlpLHotKUiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjg3IHN5cy11dGlscy9jaGNwdS5jOjE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIkNQVSAldSDkuI3lrZjlnKgiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgaG90IHBsdWdnYWJsZSIKK21zZ3N0ciAiQ1BVICV1IOS4jeiDvei/m+ihjOeDreaPkuaLlCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZW5hYmxlZFxuIgorbXNnc3RyICJDUFUgJXUg5bey57uP5ZCv55SoXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEwMgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBkaXNhYmxlZFxuIgorbXNnc3RyICJDUFUgJXUg5bey57uP56aB55SoXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCAoQ1BVIGlzIGRlY29uZmlndXJlZCkiCittc2dzdHIgIkNQVSAldSDlkK/nlKjlpLHotKUoQ1BVIOW3suWPlua2iOmFjee9rikiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCIKK21zZ3N0ciAiQ1BVICV1IOWQr+eUqOWksei0pSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGVkXG4iCittc2dzdHIgIkNQVSAldSDlt7LlkK/nlKhcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCAobGFzdCBlbmFibGVkIENQVSkiCittc2dzdHIgIkNQVSAldSDnpoHnlKjlpLHotKUgKOacgOWQjuWQr+eUqOeahCBDUFUpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICJDUFUgJXUg56aB55So5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAldSDlt7LnpoHnlKhcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCByZXNjYW5uaW5nIG9mIENQVXMiCittc2dzdHIgIuivpeezu+e7n+S4jeaUr+aMgemHjeaWsOaJq+aPjyBDUFUiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MworbXNnaWQgIkZhaWxlZCB0byB0cmlnZ2VyIHJlc2NhbiBvZiBDUFVzIgorbXNnc3RyICLop6blj5EgQ1BVIOmHjeaWsOaJq+aPj+Wksei0pSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyaWdnZXJlZCByZXNjYW4gb2YgQ1BVc1xuIgorbXNnc3RyICLlt7Lop6blj5EgQ1BVIOmHjeaWsOaJq+aPj1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHNldHRpbmcgdGhlIGRpc3BhdGNoaW5nIG1vZGUgb2YgQ1BVcyIKK21zZ3N0ciAi5q2k57O757uf5LiN5pSv5oyB6K6+572uIENQVSDliIbmtL7mqKHlvI8oZGlzcGF0Y2hpbmcgbW9kZSkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NQorbXNnaWQgIkZhaWxlZCB0byBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICLorr7nva7msLTlubPliIbmtL7mqKHlvI/lpLHotKUiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IGhvcml6b250YWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICLmiJDlip/orr7nva7kuobmsLTlubPliIbmtL7mqKHlvI9cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU5Cittc2dpZCAiRmFpbGVkIHRvIHNldCB2ZXJ0aWNhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICLorr7nva7nq5bnm7TliIbmtL7mqKHlvI/lpLHotKUiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IHZlcnRpY2FsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAi5oiQ5Yqf6K6+572u5LqG56uW55u05YiG5rS+5qih5byPXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGNvbmZpZ3VyYWJsZSIKK21zZ3N0ciAiQ1BVICV1IOaYr+S4jeWPr+mFjee9rueahCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICV1IOaYr+W3sue7j+mFjee9rui/h+eahFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAldSDmmK/lt7Lnu4/lj5bmtojphY3nva7nmoRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiQ1BVICV1IOWPlua2iOmFjee9ruWksei0pShDUFUg5bey5ZCv55SoKSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICJDUFUgJXUg6YWN572u5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICV1IOW3sumFjee9rlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiQ1BVICV1IOWPlua2iOmFjee9ruWksei0pSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICV1IOW3suWPlua2iOmFjee9rlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBDUFUgbnVtYmVyIGluIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAiQ1BVIOWIl+ihqOS4reeahCBDUFUg5pWw6YeP5peg5pWI77yaJXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzOCB0ZXh0LXV0aWxzL2NvbC5jOjEzMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIiCisiXG4iCisi55So5rOV77yaXG4iCisiICVzIFvpgInpobldXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0MgorbXNnaWQgIkNvbmZpZ3VyZSBDUFVzIGluIGEgbXVsdGktcHJvY2Vzc29yIHN5c3RlbS5cbiIKK21zZ3N0ciAi6YWN572u5aSa5aSE55CG5Zmo57O757uf5Lit55qEIENQVeOAglxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorIiAgLWUsIC0tZW5hYmxlIDxjcHUtbGlzdD4gICAgICAgZW5hYmxlIGNwdXNcbiIKKyIgIC1kLCAtLWRpc2FibGUgPGNwdS1saXN0PiAgICAgIGRpc2FibGUgY3B1c1xuIgorIiAgLWMsIC0tY29uZmlndXJlIDxjcHUtbGlzdD4gICAgY29uZmlndXJlIGNwdXNcbiIKKyIgIC1nLCAtLWRlY29uZmlndXJlIDxjcHUtbGlzdD4gIGRlY29uZmlndXJlIGNwdXNcbiIKKyIgIC1wLCAtLWRpc3BhdGNoIDxtb2RlPiAgICAgICAgIHNldCBkaXNwYXRjaGluZyBtb2RlXG4iCisiICAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICB0cmlnZ2VyIHJlc2NhbiBvZiBjcHVzXG4iCisiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisiXG4iCisi6YCJ6aG577yaXG4iCisiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICDmiZPljbDmraTluK7liqlcbiIKKyIgIC1lLCAtLWVuYWJsZSA8Y3B15YiX6KGoPiAgICAgICAg5ZCv55SoIGNwdVxuIgorIiAgLWQsIC0tZGlzYWJsZSA8Y3B15YiX6KGoPiAgICAgICDnpoHnlKggY3B1XG4iCisiICAtYywgLS1jb25maWd1cmUgPGNwdeWIl+ihqD4gICAgIOmFjee9riBjcHVcbiIKKyIgIC1nLCAtLWRlY29uZmlndXJlIDxjcHXliJfooag+ICAg5Y+W5raI6YWN572uIGNwdVxuIgorIiAgLXAsIC0tZGlzcGF0Y2ggPOaooeW8jz4gICAgICAgICDorr7nva7liIbmtL7mqKHlvI9cbiIKKyIgIC1yLCAtLXJlc2NhbiAgICAgICAgICAgICAgICAgIOinpuWPkemHjeaWsOaJq+aPjyBjcHVcbiIKKyIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIOi+k+WHuueJiOacrOS/oeaBr+W5tumAgOWHulxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzozMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICLkuI3mlK/mjIHnmoTlj4LmlbDvvJolcyIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzoyNworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgaGFyZHxzb2Z0XG4iCittc2dzdHIgIiAlcyBoYXJkfHNvZnRcbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICJTZXQgdGhlIGZ1bmN0aW9uIG9mIHRoZSBDdHJsLUFsdC1EZWwgY29tYmluYXRpb24uXG4iCittc2dzdHIgIuiuvue9riBDdHJsLUFsdC1EZWwg57uE5ZCI6ZSu55qE5Yqf6IO944CCXG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTEKK21zZ2lkICJpbXBsaWNpdCIKK21zZ3N0ciAi6ZqQ5ZCrIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdmFsdWUgaW4gJXM6ICVqdSIKK21zZ3N0ciAiJXMg5pyJ5byC5bi45YC877yaJWp1IgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjYzCittc2dpZCAiWW91IG11c3QgYmUgcm9vdCB0byBzZXQgdGhlIEN0cmwtQWx0LURlbCBiZWhhdmlvciIKK21zZ3N0ciAi5Y+q5pyJIHJvb3Qg55So5oi35omN6IO96K6+572uIEN0cmwtQWx0LURlbCDooYzkuLoiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NzEgc3lzLXV0aWxzL2lwY3JtLmM6MzkyIHN5cy11dGlscy9pcGNybS5jOjQxNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi5pyq55+l5Y+C5pWw77yaJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMAorbXNnaWQgInN5c3RlbSBpcyB1bnVzYWJsZSIKK21zZ3N0ciAi57O757uf5peg5rOV5L2/55SoIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTEKK21zZ2lkICJhY3Rpb24gbXVzdCBiZSB0YWtlbiBpbW1lZGlhdGVseSIKK21zZ3N0ciAi5pON5L2c5b+F6aG756uL5Y2z5omn6KGMIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTIKK21zZ2lkICJjcml0aWNhbCBjb25kaXRpb25zIgorbXNnc3RyICLntKfmgKXmnaHku7YiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMworbXNnaWQgImVycm9yIGNvbmRpdGlvbnMiCittc2dzdHIgIumUmeivr+adoeS7tiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE0Cittc2dpZCAid2FybmluZyBjb25kaXRpb25zIgorbXNnc3RyICLorablkYrmnaHku7YiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNQorbXNnaWQgIm5vcm1hbCBidXQgc2lnbmlmaWNhbnQgY29uZGl0aW9uIgorbXNnc3RyICLmraPluLjkvYbph43opoHnmoTmnaHku7YiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNgorbXNnaWQgImluZm9ybWF0aW9uYWwiCittc2dzdHIgIuS/oeaBryIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE3Cittc2dpZCAiZGVidWctbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgIuiwg+ivlee6p+WIq+eahOa2iOaBryIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMxCittc2dpZCAia2VybmVsIG1lc3NhZ2VzIgorbXNnc3RyICLlhoXmoLjmtojmga8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMgorbXNnaWQgInJhbmRvbSB1c2VyLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICLpmo/mnLrnmoTnlKjmiLfnuqfmtojmga8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMworbXNnaWQgIm1haWwgc3lzdGVtIgorbXNnc3RyICLpgq7ku7bns7vnu58iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNAorbXNnaWQgInN5c3RlbSBkYWVtb25zIgorbXNnc3RyICLns7vnu5/lrojmiqTov5vnqIsiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNQorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMiCittc2dzdHIgIuWuieWFqC/orqTor4Hmtojmga8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNgorbXNnaWQgIm1lc3NhZ2VzIGdlbmVyYXRlZCBpbnRlcm5hbGx5IGJ5IHN5c2xvZ2QiCittc2dzdHIgInN5c2xvZ2Qg5YaF6YOo55Sf5oiQ55qE5raI5oGvIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzcKK21zZ2lkICJsaW5lIHByaW50ZXIgc3Vic3lzdGVtIgorbXNnc3RyICLooYzmiZPljbDmnLrlrZDns7vnu58iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOAorbXNnaWQgIm5ldHdvcmsgbmV3cyBzdWJzeXN0ZW0iCittc2dzdHIgIue9kee7nOaWsOmXu+WtkOezu+e7nyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM5Cittc2dpZCAiVVVDUCBzdWJzeXN0ZW0iCittc2dzdHIgIlVVQ1Ag5a2Q57O757ufIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDAKK21zZ2lkICJjbG9jayBkYWVtb24iCittc2dzdHIgIuaXtumSn+WuiOaKpOi/m+eoiyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQxCittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyAocHJpdmF0ZSkiCittc2dzdHIgIuWuieWFqC/orqTor4Hmtojmga8o56eB5pyJKSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQyCittc2dpZCAiRlRQIGRhZW1vbiIKK21zZ3N0ciAiZnRwIOWuiOaKpOi/m+eoiyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjY3Cittc2dpZCAiRGlzcGxheSBvciBjb250cm9sIHRoZSBrZXJuZWwgcmluZyBidWZmZXIuXG4iCittc2dzdHIgIuaYvuekuuaIluaOp+WItuWGheaguOeOr+W9oue8k+WGsuWMuuOAglxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzAKK21zZ2lkICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGNsZWFyIHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICDmuIXpmaTlhoXmoLjnjq/lvaLnvJPlhrLljLoocmluZyBidXR0ZXIpXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MQorbXNnaWQgIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgcmVhZCBhbmQgY2xlYXIgYWxsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAg6K+75Y+W5bm25riF6Zmk5omA5pyJ5raI5oGvXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MgorbXNnaWQgIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAgZGlzYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAg56aB5q2i5ZCR57uI56uv5omT5Y2w5raI5oGvXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MworbXNnaWQgIiAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAgZW5hYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICDlkK/nlKjlkJHnu4jnq6/miZPljbDmtojmga9cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc0Cittc2dpZCAiIC1GLCAtLWZpbGUgPGZpbGU+ICAgICAgICAgICB1c2UgdGhlIGZpbGUgaW5zdGVhZCBvZiB0aGUga2VybmVsIGxvZyBidWZmZXJcbiIKK21zZ3N0ciAiIC1GLCAtLWZpbGUgPOaWh+S7tj4gICAgICAgICAgIOeUqCDmlofku7Yg5Luj5pu/5YaF5qC45pel5b+X57yT5Yay5Yy6XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NQorbXNnaWQgIiAtZiwgLS1mYWNpbGl0eSA8bGlzdD4gICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgZmFjaWxpdGllc1xuIgorbXNnc3RyICIgLWYsIC0tZmFjaWxpdHkgPOWIl+ihqD4gICAgICAg5bCG6L6T5Ye66ZmQ5Yi25Li65a6a5LmJ55qE6K6+5pa9XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NgorbXNnaWQgIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAgaHVtYW4gcmVhZGFibGUgb3V0cHV0XG4iCittc2dzdHIgIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAg5piT6K+75qC85byP6L6T5Ye6XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NworbXNnaWQgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgZGlzcGxheSBrZXJuZWwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICDmmL7npLrlhoXmoLjmtojmga9cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc4Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTzml7bmnLo+XSAgICAgICAg5b2p6Imy5pi+56S65raI5oGvKGF1dG8sIGFsd2F5cyDmiJYgbmV2ZXIpXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MQorbXNnaWQgIiAtbCwgLS1sZXZlbCA8bGlzdD4gICAgICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgbGV2ZWxzXG4iCittc2dzdHIgIiAtbCwgLS1sZXZlbCA85YiX6KGoPiAgICAgICAgICDpmZDliLbovpPlh7rnuqfliKtcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgyCittc2dpZCAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPGxldmVsPiBzZXQgbGV2ZWwgb2YgbWVzc2FnZXMgcHJpbnRlZCB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtbiwgLS1jb25zb2xlLWxldmVsIDznuqfliKs+ICDorr7nva7miZPljbDliLDnu4jnq6/nmoTmtojmga/nuqfliKtcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgzCittc2dpZCAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICBkbyBub3QgcGlwZSBvdXRwdXQgaW50byBhIHBhZ2VyXG4iCittc2dzdHIgIiAtUCwgLS1ub3BhZ2VyICAgICAgICAgICAgICAg5LiN5bCG6L6T5Ye66YCa6L+H566h6YGT5Lyg6YCS57uZ5YiG6aG156iL5bqPXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NAorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJhdyBtZXNzYWdlIGJ1ZmZlclxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIOaJk+WNsOWOn+eUn+a2iOaBr+e8k+WGsuWMulxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODUKK21zZ2lkICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIGZvcmNlIHRvIHVzZSBzeXNsb2coMikgcmF0aGVyIHRoYW4gL2Rldi9rbXNnXG4iCittc2dzdHIgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAg5by65Yi25L2/55SoIHN5c2xvZygyKSDogIzpnZ4gL2Rldi9rbXNnXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NgorbXNnaWQgIiAtcywgLS1idWZmZXItc2l6ZSA8c2l6ZT4gICAgYnVmZmVyIHNpemUgdG8gcXVlcnkgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIgLXMsIC0tYnVmZmVyLXNpemUgPOWkp+Wwjz4gICAg5p+l6K+i5YaF5qC4546v5b2i57yT5Yay5Yy65omA55So55qE57yT5Yay5Yy65aSn5bCPXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NworbXNnaWQgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgZGlzcGxheSB1c2Vyc3BhY2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICDmmL7npLrnlKjmiLfnqbrpl7Tmtojmga9cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg4Cittc2dpZCAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICB3YWl0IGZvciBuZXcgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICDnrYnlvoXmlrDmtojmga9cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg5Cittc2dpZCAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBkZWNvZGUgZmFjaWxpdHkgYW5kIGxldmVsIHRvIHJlYWRhYmxlIHN0cmluZ1xuIgorbXNnc3RyICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIOWwhuiuvuaWveWSjOe6p+WIq+ino+eggeS4uuWPr+ivu+eahOWtl+espuS4slxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTAKK21zZ2lkICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIHNob3cgdGltZSBkZWx0YSBiZXR3ZWVuIHByaW50ZWQgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICDmmL7npLrmiZPljbDmtojmga/kuYvpl7TnmoTml7bpl7Tlt65cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkxCittc2dpZCAiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBzaG93IGxvY2FsIHRpbWUgYW5kIHRpbWUgZGVsdGEgaW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAg5Lul5piT6K+75qC85byP5pi+56S65pys5Zyw5pe26Ze05ZKM5pe26Ze05beuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MgorbXNnaWQgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbi1yZWFkYWJsZSB0aW1lc3RhbXAgKG1heSBiZSBpbmFjY3VyYXRlISlcbiIKK21zZ3N0ciAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICDmmL7npLrmmJPor7vnmoTml7bpl7TmiLMo5Y+v6IO95LiN5YeG56Gu77yBKVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTMKK21zZ2lkICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIGRvbid0IHNob3cgYW55IHRpbWVzdGFtcCB3aXRoIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAg5LiN5pi+56S65Lu75L2V5raI5oGv55qE5pe26Ze05oizXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NAorbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wIHVzaW5nIHRoZSBnaXZlbiBmb3JtYXQ6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisiU3VzcGVuZGluZy9yZXN1bWUgd2lsbCBtYWtlIGN0aW1lIGFuZCBpc28gdGltZXN0YW1wcyBpbmFjY3VyYXRlLlxuIgorbXNnc3RyICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDzmoLzlvI8+ICAgIOS7peaMh+WumuagvOW8j+aYvuekuuaXtumXtOaIs++8mlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsdGF8cmVsdGltZXxjdGltZXxub3RpbWV8aXNvXVxuIgorIuaMgui1ty/mgaLlpI3kvJrkvb8gY3RpbWUg5ZKMIGlzbyDml7bpl7TmiLPkuI3nsr7noa7jgIJcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzAwCittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgZmFjaWxpdGllczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIuaUr+aMgeeahOaXpeW/l+iuvuaWve+8mlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDYKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBsZXZlbHMgKHByaW9yaXRpZXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisi5pSv5oyB55qE5pel5b+X57qn5YirKOS8mOWFiOe6pynvvJpcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZXZlbCAnJXMnIgorbXNnc3RyICLop6PmnpDnuqfliKvigJwlc+KAneWksei0pSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbGV2ZWwgJyVzJyIKK21zZ3N0ciAi5pyq55+l57qn5Yir4oCcJXPigJ0iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAi6Kej5p6Q6K6+5pa94oCcJXPigJ3lpLHotKUiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5ICclcyciCittc2dzdHIgIuacquefpeiuvuaWveKAnCVz4oCdIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1tYXA6ICVzIgorbXNnc3RyICLml6Dms5UgbW1hcO+8miVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzU2Cittc2dpZCAiaW52YWxpZCBidWZmZXIgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAi5peg5pWI55qEIOe8k+WGsuWMuuWkp+WwjyDlj4LmlbAiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MDkKK21zZ2lkICItLXNob3ctZGVsdGEgaXMgaWdub3JlZCB3aGVuIHVzZWQgdG9nZXRoZXIgd2l0aCBpc284NjAxIHRpbWUgZm9ybWF0IgorbXNnc3RyICItLXNob3ctZGVsdGEg5LiOIGlzbzg2MDEg5pe26Ze05qC85byP5YWx55So5pe25bCG5b+955WlIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDMyCittc2dpZCAiLS1yYXcgY2FuIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWxldmVsIG9yIC0tZmFjaWxpdHkgb25seSB3aGVuIHJlYWRpbmcgbWVzc2FnZXMgZnJvbSAvZGV2L2ttc2ciCittc2dzdHIgIuWPquacieS7jiAvZGV2L2ttc2cg6K+75raI5oGv5pe277yMLS1yYXcg5omN5Y+v5LiOIC0tbGV2ZWwg5oiWIC0tZmFjaWxpdHkg5YWx55SoIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDQyCittc2dpZCAicmVhZCBrZXJuZWwgYnVmZmVyIGZhaWxlZCIKK21zZ3N0ciAi6K+75Y+W5YaF5qC457yT5Yay5Yy65aSx6LSlIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDYxCittc2dpZCAia2xvZ2N0bCBmYWlsZWQiCittc2dzdHIgImtsb2djdGwg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT58PG1vdW50cG9pbnQ+XVxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gWzzorr7lpIc+fDzmjILoh7fngrk+XVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzcKK21zZ2lkICJFamVjdCByZW1vdmFibGUgbWVkaWEuXG4iCittc2dzdHIgIuW8ueWHuuWPr+enu+WKqOWqkuS9kyBcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTQwCittc2dpZCAiIgorIiAtYSwgLS1hdXRvIDxvbnxvZmY+ICAgICAgICAgdHVybiBhdXRvLWVqZWN0IGZlYXR1cmUgb24gb3Igb2ZmXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxzbG90PiAgICBzd2l0Y2ggZGlzY3Mgb24gYSBDRC1ST00gY2hhbmdlclxuIgorIiAtZCwgLS1kZWZhdWx0ICAgICAgICAgICAgICAgZGlzcGxheSBkZWZhdWx0IGRldmljZVxuIgorIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAgZWplY3QgZmxvcHB5XG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBkb24ndCBjYXJlIGFib3V0IGRldmljZSB0eXBlXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICB0b2dnbGUgbWFudWFsIGVqZWN0IHByb3RlY3Rpb24gb24vb2ZmXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBkbyBub3QgdW5tb3VudCBkZXZpY2UgZXZlbiBpZiBpdCBpcyBtb3VudGVkXG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBkbyBub3QgdW5tb3VudCBhbm90aGVyIHBhcnRpdGlvbnNcbiIKKyIgLW4sIC0tbm9vcCAgICAgICAgICAgICAgICAgIGRvbid0IGVqZWN0LCBqdXN0IHNob3cgZGV2aWNlIGZvdW5kXG4iCisiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICB1c2UgL3Byb2MvbW91bnRzIGluc3RlYWQgb2YgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICBlamVjdCB0YXBlXG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICBlamVjdCBDRC1ST01cbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIGVqZWN0IFNDU0kgZGV2aWNlXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICBjbG9zZSB0cmF5XG4iCisiIC1ULCAtLXRyYXl0b2dnbGUgICAgICAgICAgICB0b2dnbGUgdHJheVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgZW5hYmxlIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC14LCAtLWNkc3BlZWQgPHNwZWVkPiAgICAgICBzZXQgQ0QtUk9NIG1heCBzcGVlZFxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAgbGlzdCBDRC1ST00gYXZhaWxhYmxlIHNwZWVkc1xuIgorbXNnc3RyICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICDmiZPlvIAv5YWz6Zet6Ieq5Yqo5by55Ye65Yqf6IO9XG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDzmj5Lmp70+ICAgIOWcqOaMh+WumiBDRC1ST00g5pu05o2i5Zmo5LiK5o2i55uYXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICDmmL7npLrpu5jorqTorr7lpIdcbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIOW8ueWHuui9r+ebmFxuIgorIiAtRiwgLS1mb3JjZSAgICAgICAgICAgICAgICAg5peg6KeG6K6+5aSH57G75Z6LXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICDliIfmjaLmiYvliqjlvLnlh7rkv53miqTlvIAv5YWzXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICDkuI3ljbjovb3orr7lpIfvvIzljbPkvb/lroPlt7LmjILoh7dcbiIKKyIgLU0sIC0tbm8tcGFydGl0aW9ucy11bm1vdW50IOS4jeWNuOi9veWPpuWklueahOWIhuWMulxuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAg5LiN5by55Ye677yM5Y+q5pi+56S65om+5Yiw55qE6K6+5aSHXG4iCisiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICDkvb/nlKggL3Byb2MvbW91bnRzIOS7o+abvyAvZXRjL210YWJcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIOW8ueWHuuejgeW4plxuIgorIiAtciwgLS1jZHJvbSAgICAgICAgICAgICAgICAg5by55Ye6IENELVJPTVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAg5by55Ye6IFNDU0kg6K6+5aSHXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICDlhbPpl63miZjnm5hcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIOW8gOWFs+aJmOebmFxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAg5ZCv55So6K+m5bC96L6T5Ye6XG4iCisiIC14LCAtLWNkc3BlZWQgPOmAn+W6pj4gICAgICAgIOiuvue9riBDRC1ST00g5pyA6auY6YCf5bqmXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICDliJflh7ogQ0QtUk9NIOWPr+eUqOmAn+W6plxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNjQKK21zZ2lkICIiCisiXG4iCisiQnkgZGVmYXVsdCB0cmllcyAtciwgLXMsIC1mLCBhbmQgLXEgaW4gb3JkZXIgdW50aWwgc3VjY2Vzcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIum7mOiupOWwhuS+neasoeWwneivlSAtcuOAgS1z44CBLWYg5ZKMIC1xIOebtOWIsOaIkOWKn+OAglxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTAKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2hhbmdlcnNsb3QvLWMgb3B0aW9uIgorbXNnc3RyICItLWNoYW5nZXJzbG90Ly1jIOmAiemhueeahOWPguaVsOaXoOaViCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjE0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNkc3BlZWQvLXggb3B0aW9uIgorbXNnc3RyICItLWNkc3BlZWQvLXgg6YCJ6aG555qE5Y+C5pWw5peg5pWIIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMjYKK21zZ2lkICJDRC1ST00gYXV0by1lamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ0QtUk9NIOiHquWKqOW8ueWHuuWRveS7pOWksei0pSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQwCittc2dpZCAiQ0QtUk9NIGRvb3IgbG9jayBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICLkuI3mlK/mjIHlhYnnm5jku5Ppl6jplIEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MgorbXNnaWQgIm90aGVyIHVzZXJzIGhhdmUgdGhlIGRyaXZlIG9wZW4gYW5kIG5vdCBDQVBfU1lTX0FETUlOIgorbXNnc3RyICLlhbbku5bnlKjmiLflvIDlkK/kuobpqbHliqjlmajku5Ppl6jvvIzlubbkuJTpnZ4gQ0FQX1NZU19BRE1JTiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQ0Cittc2dpZCAiQ0QtUk9NIGxvY2sgZG9vciBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ0QtUk9NIOmUgeS7k+mXqOWRveS7pOWksei0pSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQ5Cittc2dpZCAiQ0QtRHJpdmUgbWF5IE5PVCBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiQ0Qg6amx5Yqo5Zmo5LiN6IO96YCa6L+H6K6+5aSH5LiK55qE5oyJ6ZKu5by55Ye6IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNTEKK21zZ2lkICJDRC1Ecml2ZSBtYXkgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIkNEIOmpseWKqOWZqOWPr+S7pemAmui/h+iuvuWkh+S4iueahOaMiemSruW8ueWHuiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzYyCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBkaXNjIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJDRC1ST00g6YCJ5oup5YWJ55uY5ZG95Luk5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjYKK21zZ2lkICJDRC1ST00gbG9hZCBmcm9tIHNsb3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkNELVJPTSDku47mp73liqDovb3lkb3ku6TlpLHotKUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2OAorbXNnaWQgIklERS9BVEFQSSBDRC1ST00gY2hhbmdlciBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIuatpOWGheaguOS4jeaUr+aMgSBJREUvQVRBUEkgQ0QtUk9NXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NgorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJDRC1ST00g5YWz6Zet5LuT6Zeo5ZG95Luk5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODgKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAi5q2k5YaF5qC45LiN5pSv5oyBIENELVJPTSDlhbPpl63ku5Ppl6jlkb3ku6RcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDA1Cittc2dpZCAiQ0QtUk9NIGVqZWN0IHVuc3VwcG9ydGVkIgorbXNnc3RyICLkuI3mlK/mjIEgQ0QtUk9NIOW8ueWHuiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDMzIHN5cy11dGlscy9lamVjdC5jOjQ1NiBzeXMtdXRpbHMvZWplY3QuYzoxMDExCittc2dpZCAiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJDRC1ST00g5by55Ye65ZG95Luk5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzYKK21zZ2lkICJubyBDRC1ST00gaW5mb3JtYXRpb24gYXZhaWxhYmxlIgorbXNnc3RyICLmsqHmnInlj6/nlKjnmoQgQ0QtUk9NIOS/oeaBryIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM5Cittc2dpZCAiQ0QtUk9NIGRyaXZlIGlzIG5vdCByZWFkeSIKK21zZ3N0ciAiQ0QtUk9NIOmpseWKqOWZqOacquWwsee7qiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgyCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ0QtUk9NIOmAieaLqemAn+W6puWRveS7pOWksei0pSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDg0IHN5cy11dGlscy9lamVjdC5jOjU3MAorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsIgorbXNnc3RyICLmraTlhoXmoLjkuI3mlK/mjIEgQ0QtUk9NIOmAieaLqemAn+W6puWRveS7pCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZGluZyBDRC1ST00gbmFtZSIKK21zZ3N0ciAiJXPvvJrojrflj5YgQ0QtUk9NIOWQjeensOWksei0pSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiJXPvvJror7sg6YCf5bqmIOWksei0pSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTQ0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgIuivuyDpgJ/luqYg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1ODgKK21zZ2lkICJub3QgYW4gc2cgZGV2aWNlLCBvciBvbGQgc2cgZHJpdmVyIgorbXNnc3RyICLkuI3mmK8gc2cg6K6+5aSH77yM5oiW5Li65penIHNnIOmpseWKqCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bm1vdW50aW5nIgorbXNnc3RyICIlc++8muato+WcqOWNuOi9vSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njc1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBleGVjIC9iaW4vdW1vdW50IG9mIGAlcyciCittc2dzdHIgIuaXoOazleWvueKAnCVz4oCd5omn6KGMIC9iaW4vdW1vdW50IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzgKK21zZ2lkICJ1bmFibGUgdG8gZm9yayIKK21zZ3N0ciAi5peg5rOVIGZvcmsiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICLljbjovb3igJwlc+KAneacquato+W4uOmAgOWHuiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njg4CisjLCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBmYWlsZWRcbiIKK21zZ3N0ciAi5oyC6Ie34oCcJXPigJ3lpLHotKVcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzMwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IHRhYmxlIgorbXNnc3RyICLop6PmnpDmjILoh7fooajlpLHotKUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjc5MSBzeXMtdXRpbHMvZWplY3QuYzo4OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50ZWQgb24gJXMiCittc2dzdHIgIiVz77ya5bey5oyC6Ie35LqOICVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MzMKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byBhdXRvIgorbXNnc3RyICLmraPlnKjlsIYgQ0QtUk9NIOmAn+W6puiuvue9ruS4uuiHquWKqCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODM1CisjLCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvICVsZFgiCittc2dzdHIgIuato+WcqOWwhiBDRC1ST00g6YCf5bqm6K6+572u5Li6ICVsZFgiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg2MQorIywgYy1mb3JtYXQKK21zZ2lkICJkZWZhdWx0IGRldmljZTogYCVzJyIKK21zZ3N0ciAi6buY6K6k6K6+5aSH77ya4oCcJXPigJ0iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg2NworIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyBkZWZhdWx0IGRldmljZSBgJXMnIgorbXNnc3RyICLkvb/nlKjpu5jorqTorr7lpIfigJwlc+KAnSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg2IHN5cy11dGlscy9ydGN3YWtlLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gZmluZCBkZXZpY2UiCittc2dzdHIgIiVz77ya5om+5LiN5Yiw6K6+5aSHIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIG5hbWUgaXMgYCVzJyIKK21zZ3N0ciAi6K6+5aSH5ZCN56ew5Li64oCcJXPigJ0iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg5NCBzeXMtdXRpbHMvdW1vdW50LmM6MjA2IHN5cy11dGlscy91bW91bnQuYzoyMzUKKyM6IHN5cy11dGlscy91bW91bnQuYzo0MDkgc3lzLXV0aWxzL3Vtb3VudC5jOjQzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG1vdW50ZWQiCittc2dzdHIgIiVz77ya5pyq5oyC6L29IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2MgZGV2aWNlOiAlcyAoZGlzayBkZXZpY2Ugd2lsbCBiZSB1c2VkIGZvciBlamVjdCkiCittc2dzdHIgIiVz77ya55uY6K6+5aSH77yaJXMo55uY6K6+5aSH5bCG55So5LqO5by55Ye6KSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQgbW91bnRwb2ludCBvciBkZXZpY2Ugd2l0aCB0aGUgZ2l2ZW4gbmFtZSIKK21zZ3N0ciAiJXPvvJrmnKrmib7liLDmjIflrprlkI3np7DnmoTmjILovb3ngrnmiJborr7lpIciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgd2hvbGUtZGlzayBkZXZpY2UiCittc2dzdHIgIiVz77ya5pivIOaVtOebmCDorr7lpIciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGhvdC1wbHVnZ2FibGUgZGV2aWNlIgorbXNnc3RyICIlc++8muS4jeaYr+eDreaPkuaLlOiuvuWkhyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTE3CisjLCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBpcyBgJXMnIgorbXNnc3RyICLorr7lpIfmmK/igJwlc+KAnSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTE4Cittc2dpZCAiZXhpdGluZyBkdWUgdG8gLW4vLS1ub29wIG9wdGlvbiIKK21zZ3N0ciAi5bCG5ZugIC1uLy0tbm9vcCDpgInpobnpgIDlh7oiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZW5hYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIlc++8muato+WcqOWQr+eUqOiHquWKqOW8ueWHuuaooeW8jyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNhYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIlc++8muato+WcqOemgeeUqOiHquWKqOW8ueWHuuaooeW8jyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zaW5nIHRyYXkiCittc2dzdHIgIiVz77ya5q2j5Zyo5YWz6Zet5LuT6ZeoIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiVz77ya5byA5YWz5LuT6ZeoIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxpc3RpbmcgQ0QtUk9NIHNwZWVkIgorbXNnc3RyICIlc++8muato+WcqOWIl+WHuiBDRC1ST00g6YCf5bqmIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBkZXZpY2UgaW4gdXNlIgorbXNnc3RyICLplJnor6/vvJolc++8muiuvuWkh+ato+WcqOS9v+eUqCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWxlY3RpbmcgQ0QtUk9NIGRpc2MgIyVsZCIKK21zZ3N0ciAiJXPvvJrmraPlnKjpgInmi6kgQ0QtUk9NIOebmCAjJWxkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgQ0QtUk9NIGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiVz77ya5q2j5Zyo5bCd6K+V5L2/55SoIENELVJPTSDlvLnlh7rlkb3ku6TlvLnlh7oiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTAKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIkNELVJPTSDlvLnlh7rlkb3ku6TmiJDlip8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBTQ1NJIGNvbW1hbmRzIgorbXNnc3RyICIlc++8muato+WcqOWwneivleS9v+eUqCBTQ1NJIOWRveS7pOW8ueWHuiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxNworbXNnaWQgIlNDU0kgZWplY3Qgc3VjY2VlZGVkIgorbXNnc3RyICJTQ1NJIOW8ueWHuuaIkOWKnyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxOAorbXNnaWQgIlNDU0kgZWplY3QgZmFpbGVkIgorbXNnc3RyICJTQ1NJIOW8ueWHuuWksei0pSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIGZsb3BweSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIlc++8muato+WcqOWwneivleS9v+eUqOi9r+ebmOW8ueWHuuWRveS7pOW8ueWHuiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNAorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAi6L2v55uY5by55Ye65ZG95Luk5oiQ5YqfIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI1Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICLova/nm5jlvLnlh7rlkb3ku6TlpLHotKUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyB0YXBlIG9mZmxpbmUgY29tbWFuZCIKK21zZ3N0ciAiJXPvvJrmraPlnKjlsJ3or5Xkvb/nlKjno4HluKbnprvnur/lkb3ku6TlvLnlh7oiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzEKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIuejgeW4puemu+e6v+WRveS7pOaIkOWKnyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMgorbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAi56OB5bim56a757q/5ZG95Luk5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDM2Cittc2dpZCAidW5hYmxlIHRvIGVqZWN0IgorbXNnc3RyICLml6Dms5XlvLnlh7oiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo3OAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlbmFtZT5cbiIKK21zZ3N0ciAiICVzIFvpgInpobldIDzmlofku7blkI0+XG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4MQorbXNnaWQgIlByZWFsbG9jYXRlIHNwYWNlIHRvLCBvciBkZWFsbG9jYXRlIHNwYWNlIGZyb20gYSBmaWxlLlxuIgorbXNnc3RyICLkuLrmlofku7bpooTliIbphY3nqbrpl7TmiJbku47mlofku7blm57mlLbnqbrpl7TjgIJcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg0Cittc2dpZCAiIC1jLCAtLWNvbGxhcHNlLXJhbmdlIHJlbW92ZSBhIHJhbmdlIGZyb20gdGhlIGZpbGVcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbGxhcHNlLXJhbmdlIOenu+mZpOaWh+S7tuS4reeahOafkOS4quiMg+WbtFxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODUKK21zZ2lkICIgLWQsIC0tZGlnLWhvbGVzICAgICAgZGV0ZWN0IHplcm9lcyBhbmQgcmVwbGFjZSB3aXRoIGhvbGVzXG4iCittc2dzdHIgIiAtZCwgLS1kaWctaG9sZXMgICAgICDmo4DmtYvpm7blubbmm7/mjaLkuLrnqbrmtJ5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg2Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgIGxlbmd0aCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1sLCAtLWxlbmd0aCA85pWw5a2XPiAg6IyD5Zu05pON5L2c55qE6ZW/5bqmKOWtl+iKguaVsClcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg3Cittc2dpZCAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgIG1haW50YWluIHRoZSBhcHBhcmVudCBzaXplIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiAtbiwgLS1rZWVwLXNpemUgICAgICDkv53mjIHmlofku7bnmoTmmL7npLrlpKflsI9cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg4Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgIG9mZnNldCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA85pWw5a2XPiAg6IyD5Zu05pON5L2c55qE5YGP56e76YePKOWtl+iKguaVsClcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg5Cittc2dpZCAiIC1wLCAtLXB1bmNoLWhvbGUgICAgIHJlcGxhY2UgYSByYW5nZSB3aXRoIGEgaG9sZSAoaW1wbGllcyAtbilcbiIKK21zZ3N0ciAiIC1wLCAtLXB1bmNoLWhvbGUgICAgIOWwhuafkOS4quiMg+WbtOabv+aNouS4uuepuua0nijov57luKbmiZPlvIAgLW4pXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MAorbXNnaWQgIiAteiwgLS16ZXJvLXJhbmdlICAgICB6ZXJvIGFuZCBlbnN1cmUgYWxsb2NhdGlvbiBvZiBhIHJhbmdlXG4iCittc2dzdHIgIiAteiwgLS16ZXJvLXJhbmdlICAgICDmuIXpm7blubbkv53or4HliIbphY3mn5DkuKrojIPlm7RcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEyNgorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQ6IGtlZXAgc2l6ZSBtb2RlIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJmYWxsb2NhdGUg5aSx6LSl77yb5LiN5pSv5oyB5L+d5oyB5aSn5bCPKGtlZXAgc2l6ZSkg5qih5byPIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTI3Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZCIKK21zZ3N0ciAiZmFsbG9jYXRlIOWksei0pSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBmYWlsZWQiCittc2dzdHIgIiVz77yacmVhZCDlpLHotKUiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglanUgYnl0ZXMpIGNvbnZlcnRlZCB0byBzcGFyc2UgaG9sZXMuXG4iCittc2dzdHIgIiVz77ya5bey5bCGICVzKCVqdSDlrZfoioIpIOi9rOaNouS4uueogOeWj+epuua0nuOAglxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzQ2IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExOAorbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZCIKK21zZ3N0ciAi5pyq5oyH5a6a5paH5Lu25ZCNIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzU4IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjQKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgIuaMh+WumueahOmVv+W6puWAvOaXoOaViCIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2MgorbXNnaWQgIm5vIGxlbmd0aCBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgIuayoeacieaMh+WumumVv+W6puWPguaVsCIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2NworbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAi5oyH5a6a55qE5YGP56e75YC85peg5pWIIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxmaWxlPnw8ZGlyZWN0b3J5PiA8Y29tbWFuZD4gWzxhcmd1bWVudD4uLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlPnw8ZGlyZWN0b3J5PiAtYyA8Y29tbWFuZD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGUgZGVzY3JpcHRvciBudW1iZXI+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBb6YCJ6aG5XSA85paH5Lu2fOebruW9lT4gPOWRveS7pD4gWzzlj4LmlbA+Li4uXVxuIgorIiAlMSRzIFvpgInpobldIDzmlofku7Z855uu5b2VPiAtYyA85ZG95LukPlxuIgorIiAlMSRzIFvpgInpobldIDzmlofku7bmj4/ov7DnrKblj7fnoIE+XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjU5Cittc2dpZCAiTWFuYWdlIGZpbGUgbG9ja3MgZnJvbSBzaGVsbCBzY3JpcHRzLlxuIgorbXNnc3RyICLpgJrov4cgc2hlbGwg6ISa5pys566h55CG5paH5Lu26ZSB44CCXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYyCittc2dpZCAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBnZXQgYSBzaGFyZWQgbG9ja1xuIgorbXNnc3RyICIgLXMsIC0tc2hhcmVkICAgICAgICAgICAgIOiOt+WPluWFseS6q+mUgVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MworbXNnaWQgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAgZ2V0IGFuIGV4Y2x1c2l2ZSBsb2NrIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIOiOt+WPluaOkuS7lumUgSjpu5jorqQpXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY0Cittc2dpZCAiIC11LCAtLXVubG9jayAgICAgICAgICAgICByZW1vdmUgYSBsb2NrXG4iCittc2dzdHIgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAg56e76Zmk6ZSBXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY1Cittc2dpZCAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICBmYWlsIHJhdGhlciB0aGFuIHdhaXRcbiIKK21zZ3N0ciAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICDlpLHotKXogIzpnZ7nrYnlvoVcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjYKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8c2Vjcz4gICAgIHdhaXQgZm9yIGEgbGltaXRlZCBhbW91bnQgb2YgdGltZVxuIgorbXNnc3RyICIgLXcsIC0tdGltZW91dCA856eSPiAgICAgICDnrYnlvoXpmZDlrprnmoTml7bpl7RcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjcKK21zZ2lkICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxudW1iZXI+ICBleGl0IGNvZGUgYWZ0ZXIgY29uZmxpY3Qgb3IgdGltZW91dFxuIgorbXNnc3RyICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDzmlbDlrZc+ICAgICDlhrLnqoHmiJbotoXml7blkI7nmoTpgIDlh7rku6PnoIFcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjgKK21zZ2lkICIgLW8sIC0tY2xvc2UgICAgICAgICAgICAgIGNsb3NlIGZpbGUgZGVzY3JpcHRvciBiZWZvcmUgcnVubmluZyBjb21tYW5kXG4iCittc2dzdHIgIiAtbywgLS1jbG9zZSAgICAgICAgICAgICAg6L+Q6KGM5ZG95Luk5YmN5YWz6Zet5paH5Lu25o+P6L+w56ymXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY5Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICBydW4gYSBzaW5nbGUgY29tbWFuZCBzdHJpbmcgdGhyb3VnaCB0aGUgc2hlbGxcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbW1hbmQgPOWRveS7pD4gICAgICDpgJrov4cgc2hlbGwg6L+Q6KGM5Y2V5Liq5ZG95Luk5a2X56ym5LiyXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcwCittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgICBleGVjdXRlIGNvbW1hbmQgd2l0aG91dCBmb3JraW5nXG4iCittc2dzdHIgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAg5omn6KGM5ZG95Luk5pe25LiNIGZvcmtcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzEKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICAgIGluY3JlYXNlIHZlcmJvc2l0eVxuIgorbXNnc3RyICIgICAgIC0tdmVyYm9zZSAgICAgICAgICAgIOWinuWKoOivpuWwveeoi+W6plxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gbG9jayBmaWxlICVzIgorbXNnc3RyICLkuI3og73miZPlvIDplIHmlofku7YgJXMiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIwNQorbXNnaWQgImludmFsaWQgdGltZW91dCB2YWx1ZSIKK21zZ3N0ciAi5peg5pWI55qEIOi2heaXtuWAvCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjA5Cittc2dpZCAiaW52YWxpZCBleGl0IGNvZGUiCittc2dzdHIgIuaXoOaViOmAgOWHuuS7o+eggSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjI4Cittc2dpZCAidGhlIC0tbm8tZm9yayBhbmQgLS1jbG9zZSBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIi0tbm8tZm9yayDlkowgLS1jbG9zZSDpgInpobnkuI3lhbzlrrkiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBleGFjdGx5IG9uZSBjb21tYW5kIGFyZ3VtZW50IgorbXNnc3RyICIlcyDpnIDopoHmg5/kuIDnmoTlkb3ku6TooYzlj4LmlbAiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NAorbXNnaWQgImJhZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIumUmeivr+eahOaWh+S7tuaPj+i/sOespiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjU3Cittc2dpZCAicmVxdWlyZXMgZmlsZSBkZXNjcmlwdG9yLCBmaWxlIG9yIGRpcmVjdG9yeSIKK21zZ3N0ciAi6ZyA6KaB5paH5Lu25o+P6L+w56ym44CB5paH5Lu25oiW55uu5b2VIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODEKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGxvY2siCittc2dzdHIgIuiOt+WPlumUgeWksei0pSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6Mjg4Cittc2dpZCAidGltZW91dCB3aGlsZSB3YWl0aW5nIHRvIGdldCBsb2NrIgorbXNnc3RyICLnrYnlvoXojrflvpfplIHotoXml7YiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0dGluZyBsb2NrIHRvb2sgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXPvvJrnrYnlvoXojrflvpfplIHoirHkuoYgJWxkLiUwNmxkIOenklxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICIlczog5q2j5Zyo5omn6KGMICVzXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50cG9pbnQ+XG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSA85oyC6Ie354K5PlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1MworbXNnaWQgIlN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbSAoZXh0My80LCBSZWlzZXJGUywgSkZTLCBYRlMpLlxuIgorbXNnc3RyICLmmoLlgZzlr7nmlofku7bns7vnu5/nmoTorr/pl64oZXh0My80LCBSZWlzZXJGUywgSkZTLCBYRlMp44CCXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjU2Cittc2dpZCAiIC1mLCAtLWZyZWV6ZSAgICAgIGZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLWYsIC0tZnJlZXplICAgICAg5Ya757uT5paH5Lu257O757ufXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjU3Cittc2dpZCAiIC11LCAtLXVuZnJlZXplICAgIHVuZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAtdSwgLS11bmZyZWV6ZSAgICDop6Plhrvmlofku7bns7vnu59cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTE2Cittc2dpZCAibmVpdGhlciAtLWZyZWV6ZSBvciAtLXVuZnJlZXplIHNwZWNpZmllZCIKK21zZ3N0ciAi5pei5pyq5oyH5a6aIC0tZnJlZXplIOS5n+acquaMh+WumiAtLXVuZnJlZXplIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXPvvJrkuI3mmK/nm67lvZUiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjE0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJrlhrvnu5PlpLHotKUiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5mcmVlemUgZmFpbGVkIgorbXNnc3RyICIlc++8muino+WGu+Wksei0pSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVz77ya5LiN5piv5LiA5Liq55uu5b2VIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEZJVFJJTSBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVz77yaRklUUklNIGlvY3RsIOWksei0pSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBoZXJlIGlzIGEgdmVyeSBsYXJnZSBudW1iZXIuCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJTxQUkl1NjQ+IGJ5dGVzKSB0cmltbWVkXG4iCittc2dzdHIgIiVz77yaJXMgKCU8UFJJdTY0PiDlrZfoioIpIOW3suS/ruWJqlxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTkxIHN5cy11dGlscy9zd2Fwb24uYzo3Mjkgc3lzLXV0aWxzL3Vtb3VudC5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMiCittc2dzdHIgIuino+aekCAlcyDlpLHotKUiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnQgcG9pbnQ+XG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSA85oyC6Ie354K5PlxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU0Cittc2dpZCAiRGlzY2FyZCB1bnVzZWQgYmxvY2tzIG9uIGEgbW91bnRlZCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLlv73nlaXlt7LmjILovb3mlofku7bns7vnu5/kuIrnmoTmnKrnlKjplIHjgIJcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NworbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgIHRyaW0gYWxsIG1vdW50ZWQgZmlsZXN5c3RlbXMgdGhhdCBhcmUgc3VwcG9ydGVkXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgIOS/ruWJquS4jeaUr+aMgeeahOaJgOacieW3suaMgui9veaWh+S7tuezu+e7n1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU4Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgdGhlIG9mZnNldCBpbiBieXRlcyB0byBzdGFydCBkaXNjYXJkaW5nIGZyb21cbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA85pWw5a2XPiDlvIDlp4vkuKLlvIPnmoTlgY/np7vph48o5a2X6IqCKVxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgdGhlIG51bWJlciBvZiBieXRlcyB0byBkaXNjYXJkXG4iCittc2dzdHIgIiAtbCwgLS1sZW5ndGggPOaVsOWtlz4g6KaB5Lii5byD55qE5a2X56ym5pWwXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjAKK21zZ2lkICIgLW0sIC0tbWluaW11bSA8bnVtPiB0aGUgbWluaW11bSBleHRlbnQgbGVuZ3RoIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC1tLCAtLW1pbmltdW0gPOaVsOWtlz4g6KaB5Lii5byD55qE5pyA5bCP6ZmQ5Yi26ZW/5bqmXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBudW1iZXIgb2YgZGlzY2FyZGVkIGJ5dGVzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgIOaJk+WNsOS4ouW8g+eahOWtl+iKguaVsFxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzE2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCIKK21zZ3N0ciAi6Kej5p6QIOacgOWwj+iMg+WbtOmVv+W6piDlpLHotKUiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMjkKK21zZ2lkICJubyBtb3VudHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAi5pyq5oyH5a6a5oyC6L2954K5IgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGUgZGlzY2FyZCBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiJXPvvJrkuI3mlK/mjIHkuKLlvIPmk43kvZwiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkFzc3VtaW5nIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gJXMgdGltZS5cbiIKK21zZ3N0ciAi5bCG5YGH6K6+56Gs5Lu25pe26ZKf5L+d5oyB5Li6ICVzIOaXtumXtOOAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI0NyBzeXMtdXRpbHMvaHdjbG9jay5jOjMzNAorbXNnaWQgIlVUQyIKK21zZ3N0ciAiVVRDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI0NyBzeXMtdXRpbHMvaHdjbG9jay5jOjMzMworbXNnaWQgImxvY2FsIgorbXNnc3RyICLlvZPlnLAiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzE4Cittc2dpZCAiIgorIldhcm5pbmc6IHVucmVjb2duaXplZCB0aGlyZCBsaW5lIGluIGFkanRpbWUgZmlsZVxuIgorIihFeHBlY3RlZDogYFVUQycgb3IgYExPQ0FMJyBvciBub3RoaW5nLikiCittc2dzdHIgIiIKKyLorablkYrvvJphZGp0aW1lIOaWh+S7tuesrOS4ieihjOaXoOazleivhuWIq1xuIgorIijlupTkuLrvvJrigJxVVEPigJ3miJbigJxMT0NBTOKAneaIluepuikiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgZHJpZnQgYWRqdXN0bWVudCBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAi5LiK5qyh5ryC56e76LCD5pW05a6M5oiQ5LqOMTk2OSjlubQp5ZCOICVsZCDnp5JcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBjYWxpYnJhdGlvbiBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAi5LiK5qyh5qCh5YeG5a6M5oiQ5LqOMTk2OSjlubQp5ZCOICVsZCDnp5JcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGFyZHdhcmUgY2xvY2sgaXMgb24gJXMgdGltZVxuIgorbXNnc3RyICLnoazku7bml7bpkp/kuLogJXMg5pe26Ze0XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzU4CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgZm9yIGNsb2NrIHRpY2suLi5cbiIKK21zZ3N0ciAi5q2j5Zyo562J562J5pe26ZKf5ru0562ULi4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnN5bmNocm9uaXphdGlvbiBmYWlsZWRcbiIKK21zZ3N0ciAiLi4u5ZCM5q2l5aSx6LSlXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmdvdCBjbG9jayB0aWNrXG4iCittc2dzdHIgIi4uLuW3suiOt+WPluaXtumSn+a7tOetlFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQyMgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHZhbHVlcyBpbiBoYXJkd2FyZSBjbG9jazogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorbXNnc3RyICLnoazku7bml7bpkp/lgLzml6DmlYjvvJolNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkh3IGNsb2NrIHRpbWUgOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICLnoazku7bml7bpkp/ml7bpl7TvvJolNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gMTk2OSjlubQp5ZCOICVsZCDnp5JcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZSByZWFkIGZyb20gSGFyZHdhcmUgQ2xvY2s6ICU0ZC8lLjJkLyUuMmQgJTAyZDolMDJkOiUwMmRcbiIKK21zZ3N0ciAi5LuO56Gs5Lu25pe26ZKf6K+75Y+W55qE5pe26Ze077yaJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIEhhcmR3YXJlIENsb2NrIHRvICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICLmraPlnKjlsIbnoazku7bml7bpkp/orr7nva7kuLogJS4yZDolLjJkOiUuMmQgPSAxOTY5KOW5tCnlkI4gJWxkIOenklxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICJDbG9jayBub3QgY2hhbmdlZCAtIHRlc3Rpbmcgb25seS5cbiIKK21zZ3N0ciAi5pe26ZKf5pyq5pu05pS5IC0g57qv5rWL6K+V44CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjAzCisjLCBjLWZvcm1hdAorbXNnaWQgInNsZWVwaW5nIH4lZCB1c2VjXG4iCittc2dzdHIgIuWwhuedoeecoCB+JWQg5b6u56eSXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjE0CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUganVtcGVkIGJhY2t3YXJkICUuNmYgc2Vjb25kcyB0byAlbGQuJTA2bGQgLSByZXRhcmdldGluZ1xuIgorbXNnc3RyICLml7bpl7TlgJLpgIDkuoYgJS42ZiDnp5LliLAgJWxkLiUwNmxkIC0g5q2j5Zyo6YeN5paw5a6a5L2NXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZC4lMDZsZCA8ICVsZC4lMDZsZCAoJS42ZilcbiIKK21zZ3N0ciAiJWxkLiUwNmxkIDwgJWxkLiUwNmxkICglLjZmKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciBwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCittc2dzdHIgIumUmei/h+S6hi0gJWxkLiUwNmxkIOWcqCAlbGQuJTA2bGQg5LmL5ZCO5aSq6ZW/5pe26Ze05LqGKCUuNmYgPiAlLjZmKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiVsZC4lMDZsZCBpcyBjbG9zZSBlbm91Z2ggdG8gJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyJTZXQgUlRDIHRvICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2bGQpXG4iCittc2dzdHIgIiIKKyIlbGQuJTA2ZCDot50gJWxkLiUwNmQg5aSq6L+RKCUuNmYgPCAlLjZmKVxuIgorIuivt+WwhiBSVEMg6K6+5Li6ICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2ZClcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODgKK21zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgcmVnaXN0ZXJzIGNvbnRhaW4gdmFsdWVzIHRoYXQgYXJlIGVpdGhlciBpbnZhbGlkIChlLmcuIDUwdGggZGF5IG9mIG1vbnRoKSBvciBiZXlvbmQgdGhlIHJhbmdlIHdlIGNhbiBoYW5kbGUgKGUuZy4gWWVhciAyMDk1KS4iCittc2dzdHIgIuehrOS7tuaXtumSn+WvhOWtmOWZqOWMheWQq+eahOWAvOaXoOaViCjlpoLkuIDkuKrmnIjnmoTnrKwgNTAg5aSpKeaIlui2heWHuuS6hueoi+W6j+iDveWkhOeQhueahOiMg+WbtCjlpoIyMDk15bm0KeOAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MjgKK21zZ2lkICJObyAtLWRhdGUgb3B0aW9uIHNwZWNpZmllZC4iCittc2dzdHIgIuacquaMh+WumiAgLS1kYXRlIOmAiemhueOAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MzQKK21zZ2lkICItLWRhdGUgYXJndW1lbnQgdG9vIGxvbmciCittc2dzdHIgIi0tZGF0ZSDnmoTlj4LmlbDov4fplb8iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzQxCittc2dpZCAiIgorIlRoZSB2YWx1ZSBvZiB0aGUgLS1kYXRlIG9wdGlvbiBpcyBub3QgYSB2YWxpZCBkYXRlLlxuIgorIkluIHBhcnRpY3VsYXIsIGl0IGNvbnRhaW5zIHF1b3RhdGlvbiBtYXJrcy4iCittc2dzdHIgIiIKKyItLWRhdGUg6YCJ6aG555qE5Y+C5pWw5LiN5piv5pyJ5pWI55qE5pel5pyf44CCXG4iCisi5YW35L2T6K+077yM5a6D5YyF5ZCr5LqG5byV5Y+344CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJJc3N1aW5nIGRhdGUgY29tbWFuZDogJXNcbiIKK21zZ3N0ciAi5q2j5Zyo5Y+R5Ye6IGRhdGUg5ZG95Luk77yaJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NTMKK21zZ2lkICJVbmFibGUgdG8gcnVuICdkYXRlJyBwcm9ncmFtIGluIC9iaW4vc2ggc2hlbGwuIHBvcGVuKCkgZmFpbGVkIgorbXNnc3RyICLml6Dms5XlnKggL2Jpbi9zaCBzaGVsbCDkuK3ov5DooYzigJxkYXRl4oCd56iL5bqP44CCcG9wZW4oKSDlpLHotKUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzYxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlc3BvbnNlIGZyb20gZGF0ZSBjb21tYW5kID0gJXNcbiIKK21zZ3N0ciAiZGF0ZSDlkb3ku6TnmoTlk43lupTkuLogJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkYXRlIGNvbW1hbmQgaXNzdWVkIGJ5ICVzIHJldHVybmVkIHVuZXhwZWN0ZWQgcmVzdWx0cy5cbiIKKyJUaGUgY29tbWFuZCB3YXM6XG4iCisiICAlc1xuIgorIlRoZSByZXNwb25zZSB3YXM6XG4iCisiICAlcyIKK21zZ3N0ciAiIgorIiVzIOWPkeWHuueahCBkYXRlIOWRveS7pOi/lOWbnuS6huW8guW4uOe7k+aenOOAglxuIgorIuWRveS7pOS4uu+8mlxuIgorIiAgJXNcbiIKKyLlk43lupTkuLrvvJpcbiIKKyIgICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc3NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgc29tZXRoaW5nIG90aGVyIHRoYW4gYW4gaW50ZWdlciB3aGVyZSB0aGUgY29udmVydGVkIHRpbWUgdmFsdWUgd2FzIGV4cGVjdGVkLlxuIgorIlRoZSBjb21tYW5kIHdhczpcbiIKKyIgICVzXG4iCisiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyIgJXNcbiIKK21zZ3N0ciAiIgorIiVzIOWPkeWHuueahCBkYXRlIOWRveS7pOi/lOWbnuS6huaEj+Wklue7k+aenO+8jOacrOW6lOi/lOWbnuWMheWQq+W3sui9rOaNouaXtumXtOWAvOeahOS4gOS4quaVtOaVsOOAglxuIgorIuWRveS7pOS4uu+8mlxuIgorIiAgJXNcbiIKKyLlk43lupTkuLrvvJpcbiIKKyIgJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGF0ZSBzdHJpbmcgJXMgZXF1YXRlcyB0byAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5LlxuIgorbXNnc3RyICLmlbDmja7lrZfnrKbkuLIgJXMg562J5Lu35LqOIDE5NjnlubTlkI4gJWxkIOenkuOAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgyNAorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IHNldCB0aGUgU3lzdGVtIFRpbWUgZnJvbSBpdC4iCittc2dzdHIgIuehrOS7tuaXtumSn+S4jeWMheWQq+acieaViOaXtumXtO+8jOWboOatpOaXoOazleS7juWug+adpeiuvue9ruezu+e7n+aXtumXtOOAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NDMgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXk6XG4iCittc2dzdHIgIuato+WcqOiwg+eUqCBzZXR0aW1lb2ZkYXnvvJpcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NDQgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHR0di50dl9zZWMgPSAlbGQsIHR2LnR2X3VzZWMgPSAlbGRcbiIKK21zZ3N0ciAiXHR0di50dl9zZWMgPSAlbGQsIHR2LnR2X3VzZWMgPSAlbGRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NDYgc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCittc2dzdHIgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1MCBzeXMtdXRpbHMvaHdjbG9jay5jOjkzOAorIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBzeXN0ZW0gY2xvY2sgYmVjYXVzZSBydW5uaW5nIGluIHRlc3QgbW9kZS5cbiIKK21zZ3N0ciAi5bCG5LiN6K6+572u57O757uf5pe26ZKf77yM5Zug5Li65q2j5Lul5rWL6K+V5pa55byP6L+Q6KGM44CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODY2IHN5cy11dGlscy9od2Nsb2NrLmM6OTYyCittc2dpZCAiTXVzdCBiZSBzdXBlcnVzZXIgdG8gc2V0IHN5c3RlbSBjbG9jay4iCittc2dzdHIgIuWPquiDveS7pei2hee6p+eUqOaIt+i6q+S7veadpeiuvue9ruezu+e7n+aXtumSn+OAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4Njkgc3lzLXV0aWxzL2h3Y2xvY2suYzo5NjUKK21zZ2lkICJzZXR0aW1lb2ZkYXkoKSBmYWlsZWQiCittc2dzdHIgInNldHRpbWVvZmRheSgpIOWksei0pSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3VycmVudCBzeXN0ZW0gdGltZTogJWxkID0gJXNcbiIKK21zZ3N0ciAi5b2T5YmN57O757uf5pe26Ze077yaJWxkID0gJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHRVVEM6ICVzXG4iCittc2dzdHIgIlx0VVRD77yaJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgLS11cGRhdGUtZHJpZnQgb3B0aW9uIHdhcyBub3QgdXNlZC5cbiIKK21zZ3N0ciAi5bCG5LiN6LCD5pW05ryC56e757O75pWw77yM5Zug5Li65rKh5pyJ5L2/55SoIC0tdXBkYXRlLWRyaWZ0IOmAiemhueOAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgSGFyZHdhcmUgQ2xvY2sgcHJldmlvdXNseSBjb250YWluZWQgZ2FyYmFnZS5cbiIKK21zZ3N0ciAi5bCG5LiN6LCD5pW05ryC56e757O75pWw77yM5Zug5Li65LmL5YmN56Gs5Lu25pe26ZKf5YyF5ZCr5Z6D5Zy+5YaF5a6544CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAwNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBsYXN0IGNhbGlicmF0aW9uIHRpbWUgaXMgemVybyxcbiIKKyJzbyBoaXN0b3J5IGlzIGJhZCBhbmQgY2FsaWJyYXRpb24gc3RhcnRvdmVyIGlzIG5lY2Vzc2FyeS5cbiIKK21zZ3N0ciAiIgorIuWwhuS4jeiwg+aVtOa8guenu+ezu+aVsO+8jOWboOS4uuS4iuasoeagoeWHhuaXtumXtOS4uumbtu+8jFxuIgorIuWOhuWPsuaciemXrumimO+8m+mcgOimgeWQr+WKqOagoeWHhuOAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBpdCBoYXMgYmVlbiBsZXNzIHRoYW4gZm91ciBob3VycyBzaW5jZSB0aGUgbGFzdCBjYWxpYnJhdGlvbi5cbiIKK21zZ3N0ciAi5bCG5LiN6LCD5pW05ryC56e757O75pWw77yM5Zug5Li66Led5LiK5qyh5qCh5q2j5LiN5Yiw5Zub5Liq5bCP5pe244CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnQgZmFjdG9yIHdhcyBjYWxjdWxhdGVkIGFzICVmIHNlY29uZHMvZGF5LlxuIgorIkl0IGlzIGZhciB0b28gbXVjaC4gUmVzZXR0aW5nIHRvIHplcm8uXG4iCittc2dzdHIgIiIKKyLml7bpkp/mvILnp7vns7vmlbDkvJrmjIkgJWYg56eSL+Wkqeiuoeeul+OAglxuIgorIuezu+aVsOi/h+Wkp++8jOWwhumHjee9ruS4uiAw44CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0ZWQgJWYgc2Vjb25kcyBpbiB0aGUgcGFzdCAlZiBzZWNvbmRzXG4iCisiaW4gc3BpdGUgb2YgYSBkcmlmdCBmYWN0b3Igb2YgJWYgc2Vjb25kcy9kYXkuXG4iCisiQWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBieSAlZiBzZWNvbmRzL2RheVxuIgorbXNnc3RyICLlnKjov4fljrvnmoQgJTIkZCDnp5LlhoXvvIzml7bpkp/mvILnp7vkuoYgJTEkLjFmIOenku+8jOiAjOa8guenu+ezu+aVsOS4uiAlMyRmIOenki/lpKnjgILkvJrlsIbmvILnp7vns7vmlbDosIPmlbQgJTQkZiDnp5Iv5aSpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5OQorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlZCBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWQgc2Vjb25kc1xuIgorbXNnc3RyWzBdICLot53kuIrmrKHosIPmlbTnmoTml7bpl7TkuLogJWQg56eSXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEwMworIywgYy1mb3JtYXQKK21zZ2lkICJDYWxjdWxhdGVkIEhhcmR3YXJlIENsb2NrIGRyaWZ0IGlzICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIuiuoeeul+WHuueahOehrOS7tumUgeWBj+W3ruS4uiAlbGQuJTA2bGQg56eSXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEzMworIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgdXBkYXRpbmcgYWRqdGltZSBmaWxlIGJlY2F1c2Ugb2YgdGVzdGluZyBtb2RlLlxuIgorbXNnc3RyICLlsIbkuI3mm7TmlrAgYWRqdGltZSDmlofku7bvvIzlm6DkuLrmraPku6XmtYvor5XmlrnlvI/ov5DooYzjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXb3VsZCBoYXZlIHdyaXR0ZW4gdGhlIGZvbGxvd2luZyB0byAlczpcbiIKKyIlcyIKK21zZ3N0ciAiIgorIuiLpeaJp+ihjO+8jOWwhuWQkSAlcyDlhpnlhaXku6XkuIvlhoXlrrnvvJpcbiIKKyIlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIGluIGl0ICglcykgZm9yIHdyaXRpbmciCittc2dzdHIgIuaXoOazleaJk+W8gOWMheWQq+aXtumSn+iwg+aVtOWPguaVsCglcynnmoTmlofku7bmnaXlhpnlhaUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE0OSBzeXMtdXRpbHMvaHdjbG9jay5jOjExNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IHVwZGF0ZSBmaWxlIHdpdGggdGhlIGNsb2NrIGFkanVzdG1lbnQgcGFyYW1ldGVycyAoJXMpIGluIGl0IgorbXNnc3RyICLml6Dms5Xmm7TmlrDljIXlkKvml7bpkp/osIPmlbTlj4LmlbAoJXMp55qE5paH5Lu2IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNjQKK21zZ2lkICJEcmlmdCBhZGp1c3RtZW50IHBhcmFtZXRlcnMgbm90IHVwZGF0ZWQuIgorbXNnc3RyICLmvILnp7vosIPmlbTlj4LmlbDmnKrmm7TmlrDjgIIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIwMAorbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IGFkanVzdCBpdC4iCittc2dzdHIgIuehrOS7tuaXtumXtOS4jeWMheWQq+acieaViOaXtumXtO+8jOeoi+W6j+aXoOazleiwg+aVtOWug+OAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgbGFzdCBhZGp1c3RtZW50IHRpbWUgaXMgemVybywgc28gaGlzdG9yeSBpcyBiYWQuXG4iCittc2dzdHIgIuWwhuS4jeiuvue9ruaXtumSn++8jOWboOS4uuS4iuasoeiwg+aVtOaXtumXtOS4uumbtu+8jOWOhuWPsuacieivr+OAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBkcmlmdCBmYWN0b3IgJWYgaXMgZmFyIHRvbyBoaWdoLlxuIgorbXNnc3RyICLlsIbkuI3orr7nva7ml7bpkp/vvIzlm6DkuLrkuIrmrKHmvILnp7vns7vmlbAgJWYg6L+H6auY44CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTI0MQorIywgYy1mb3JtYXQKK21zZ2lkICJObyB1c2FibGUgY2xvY2sgaW50ZXJmYWNlIGZvdW5kLlxuIgorbXNnc3RyICLmnKrmib7liLDlj6/nlKjnmoTml7bpkp/mjqXlj6PjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5lZWRlZCBhZGp1c3RtZW50IGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kLCBzbyBub3Qgc2V0dGluZyBjbG9jay5cbiIKK21zZ3N0ciAi6ZyA6KaB55qE6LCD5pW05LiN5Yiw5LiA56eS77yM5bCG5LiN6K6+572u5pe26ZKf44CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM4OCBzeXMtdXRpbHMvaHdjbG9jay5jOjEzOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5hYmxlIHRvIHNldCBzeXN0ZW0gY2xvY2suXG4iCittc2dzdHIgIuaXoOazleiuvue9ruezu+e7n+aXtumSn+OAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OSwgUlRDIGlzIHByZWRpY3RlZCB0byByZWFkICVsZCBzZWNvbmRzIGFmdGVyIDE5NjkuXG4iCittc2dzdHIgIuS9jeS6jjE5Njko5bm0KeWQjiAlbGQg56eS77yMUlRDIOW6lOivu+WPluWIsOeahOaYrzE5Njko5bm0KeWQjiAlbGQg56eS44CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQzMQorbXNnaWQgIiIKKyJUaGUga2VybmVsIGtlZXBzIGFuIGVwb2NoIHZhbHVlIGZvciB0aGUgSGFyZHdhcmUgQ2xvY2sgb25seSBvbiBhbiBBbHBoYSBtYWNoaW5lLlxuIgorIlRoaXMgY29weSBvZiBod2Nsb2NrIHdhcyBidWlsdCBmb3IgYSBtYWNoaW5lIG90aGVyIHRoYW4gQWxwaGFcbiIKKyIoYW5kIHRodXMgaXMgcHJlc3VtYWJseSBub3QgcnVubmluZyBvbiBhbiBBbHBoYSBub3cpLiAgTm8gYWN0aW9uIHRha2VuLiIKK21zZ3N0ciAiIgorIuWPquacieWcqCBBbHBoYSDorqHnrpfmnLrkuIrlhoXmoLjmiY3kvJrkuLrnoazku7bml7bpkp/kv53mjIHkuIDkuKrnuqrlhYMoZXBvY2gp5YC844CCXG4iCisi6L+Z54mIIGh3Y2xvY2sg56iL5bqP5LiN5piv5Li6IEFscGhhIOiuoeeul+acuue8luivkeeahCjlm6DmraTnm67liY3kuZ/kuI3miZPnrpflnKggQWxwaGFcbiIKKyIg6K6h566X5py65LiK6L+Q6KGMKeOAguacquaJp+ihjOS7u+S9leaTjeS9nOOAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDQ4Cittc2dpZCAiVW5hYmxlIHRvIGdldCB0aGUgZXBvY2ggdmFsdWUgZnJvbSB0aGUga2VybmVsLiIKK21zZ3N0ciAi5peg5rOV5LuO5YaF5qC46I635Y+W57qq5YWDKGVwb2NoKeWAvOOAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIktlcm5lbCBpcyBhc3N1bWluZyBhbiBlcG9jaCB2YWx1ZSBvZiAlbHVcbiIKK21zZ3N0ciAi5YaF5qC45YGH6K6+57qq5YWDKGVwb2NoKeWAvOS4uiAlbHVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDU1Cittc2dpZCAiVG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSwgeW91IG11c3QgdXNlIHRoZSAnZXBvY2gnIG9wdGlvbiB0byB0ZWxsIHRvIHdoYXQgdmFsdWUgdG8gc2V0IGl0LiIKK21zZ3N0ciAi6KaB6K6+572u57qq5YWDKGVwb2NoKeWAvO+8jOaCqOW/hemhu+S9v+eUqOKAnGVwb2No4oCd6YCJ6aG55p2l5oyH5a6a6K6+572u55qE5YC844CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgdGhlIGVwb2NoIHRvICVsdSAtIHRlc3Rpbmcgb25seS5cbiIKK21zZ3N0ciAi5LiN5Lya5bCG57qq5YWDKGVwb2NoKeiuvue9ruS4uiAlbHUgLSDku4XnlKjkuo7mtYvor5XjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBzZXQgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwuXG4iCittc2dzdHIgIuaXoOazleiuvue9ruWGheaguOS4reeahOe6quWFgyhlcG9jaCnlgLzjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTU2Cittc2dpZCAiIGh3Y2xvY2sgW2Z1bmN0aW9uXSBbb3B0aW9uLi4uXVxuIgorbXNnc3RyICIgaHdjbG9jayBb5Yqf6IO9XSBb6YCJ6aG5Li4uXVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NTkKK21zZ2lkICJRdWVyeSBvciBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrLlxuIgorbXNnc3RyICLmn6Xor6LmiJborr7nva7noazku7bplIHjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTYxCittc2dpZCAiIgorIlxuIgorIkZ1bmN0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIuWKn+iDve+8mlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjIKK21zZ2lkICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgIHNob3cgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyIgLXIsIC0tc2hvdyAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisiICAgICAtLWdldCAgICAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IGRyaWZ0IGNvcnJlY3RlZCByZXN1bHRcbiIKKyIgICAgIC0tc2V0ICAgICAgICAgICAgc2V0IHRoZSBSVEMgdG8gdGhlIHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKK21zZ3N0ciAiIgorIiAtaCwgLS1oZWxwICAgICAgICAgICDmmL7npLrmraTluK7liqnlubbpgIDlh7pcbiIKKyIgLXIsIC0tc2hvdyAgICAgICAgICAg6K+75Y+W56Gs5Lu25pe26ZKf5bm25omT5Y2w57uT5p6cXG4iCisiICAgICAtLXNldCAgICAgICAgICAgIOWwhiBSVEMg6K6+572u5Li6IC0tZGF0ZSDmjIflrprnmoTml7bpl7RcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTY2Cittc2dpZCAiIgorIiAtcywgLS1oY3Rvc3lzICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisiIC13LCAtLXN5c3RvaGMgICAgICAgIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgZnJvbSB0aGUgY3VycmVudCBzeXN0ZW0gdGltZVxuIgorIiAgICAgLS1zeXN0eiAgICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRpbWV6b25lXG4iCisiICAgICAtLWFkanVzdCAgICAgICAgIGFkanVzdCB0aGUgUlRDIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgc2luY2VcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY2xvY2sgd2FzIGxhc3Qgc2V0IG9yIGFkanVzdGVkXG4iCittc2dzdHIgIiIKKyIgLXMsIC0taGN0b3N5cyAgICAgICAg5LuO56Gs5Lu25pe26ZKf6K6+572u57O757uf5pe26Ze0XG4iCisiIC13LCAtLXN5c3RvaGMgICAgICAgIOS7juW9k+WJjeezu+e7n+aXtumXtOiuvue9ruehrOS7tuaXtumSn1xuIgorIiAgICAgLS1zeXN0eiAgICAgICAgICDln7rkuo7lvZPliY3ml7bljLrorr7nva7ns7vnu5/ml7bpl7RcbiIKKyIgICAgIC0tYWRqdXN0ICAgICAgICAg5qC55o2u6Ieq5LiK5qyh5pe26ZKf6K6+572u5oiW6LCD5pW05ZCO55qE57O757uf5ryC56e7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAg5p2l6LCD5pW0IFJUQ1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NzEKK21zZ2lkICIgLWMsIC0tY29tcGFyZSAgICAgICAgcGVyaW9kaWNhbGx5IGNvbXBhcmUgdGhlIHN5c3RlbSBjbG9jayB3aXRoIHRoZSBDTU9TIGNsb2NrXG4iCittc2dzdHIgIiAtYywgLS1jb21wYXJlICAgICAgICDlrprmnJ/lsIbns7vnu5/ml7bpkp/kuI4gQ01PUyDml7bpkp/nm7jmr5TovoNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTczCittc2dpZCAiIgorIiAgICAgLS1nZXRlcG9jaCAgICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisiICAgICAtLXNldGVwb2NoICAgICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGdpdmVuIHdpdGggLS1lcG9jaFxuIgorbXNnc3RyICIiCisiICAgICAtLWdldGVwb2NoICAgICAgIOaJk+WNsOWGheaguOeahOehrOS7tuaXtumSn+e6quWFgyhlcG9jaCnlgLxcbiIKKyIgICAgIC0tc2V0ZXBvY2ggICAgICAg5bCG5YaF5qC455qE56Gs5Lu25pe26ZKf57qq5YWDKGVwb2NoKeWAvOiuvue9ruS4ulxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIC0tZXBvY2gg6YCJ6aG55oyH5a6a55qE5YC8XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU3NworbXNnaWQgIiIKKyIgICAgIC0tcHJlZGljdCAgICAgICAgcHJlZGljdCBSVEMgcmVhZGluZyBhdCB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisiICAgICAtLXByZWRpY3QgICAgICAgIOmihOa1iyAtLWRhdGUg6YCJ6aG55omA5oyH5a6a5pe25Yi76K+75Y+W5Yiw55qEIFJUQyDlgLxcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAg5pi+56S654mI5pys5L+h5oGv5bm26YCA5Ye6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4MQorbXNnaWQgIiIKKyIgLXUsIC0tdXRjICAgICAgICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gVVRDXG4iCisiICAgICAtLWxvY2FsdGltZSAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIGxvY2FsIHRpbWVcbiIKK21zZ3N0ciAiIgorIiAtdSwgLS11dGMgICAgICAgICAgICDnoazku7bml7bpkp/kv53mjIHkuLogVVRDIOaXtumXtFxuIgorIiAgICAgLS1sb2NhbHRpbWUgICAgICDnoazku7bml7bpkp/kv53mjIHkuLrmnKzlnLDml7bpl7RcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTg0Cittc2dpZCAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIHNwZWNpYWwgL2Rldi8uLi4gZmlsZSB0byB1c2UgaW5zdGVhZCBvZiBkZWZhdWx0XG4iCittc2dzdHIgIiAtZiwgLS1ydGMgPOaWh+S7tj4gICAgIOS7o+abv+m7mOiupOaWh+S7tueahOeJueauiiAvZGV2Ly4uLiDmlofku7ZcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tZGlyZWN0aXNhICAgICAgYWNjZXNzIHRoZSBJU0EgYnVzIGRpcmVjdGx5IGluc3RlYWQgb2YgJXNcbiIKKyIgICAgIC0tYmFkeWVhciAgICAgICAgaWdub3JlIFJUQydzIHllYXIgYmVjYXVzZSB0aGUgQklPUyBpcyBicm9rZW5cbiIKKyIgICAgIC0tZGF0ZSA8dGltZT4gICAgc3BlY2lmaWVzIHRoZSB0aW1lIHRvIHdoaWNoIHRvIHNldCB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyIgICAgIC0tZXBvY2ggPHllYXI+ICAgc3BlY2lmaWVzIHRoZSB5ZWFyIHdoaWNoIGlzIHRoZSBiZWdpbm5pbmcgb2YgdGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgaGFyZHdhcmUgY2xvY2sncyBlcG9jaCB2YWx1ZVxuIgorbXNnc3RyICIiCisiICAgICAtLWRpcmVjdGlzYSAgICAgIOebtOaOpeiuv+mXriBJU0Eg5oC757q/77yM6ICM6Z2eICVzXG4iCisiICAgICAtLWJhZHllYXIgICAgICAgIOW/veeVpSAgUlRDIOW5tOS7vSjnlLHkuo4gQklPUyDmjZ/lnY8pXG4iCisiICAgICAtLWRhdGUgPOaXtumXtD4gICAg5oyH5a6a6KaB6K6+572u55qE56Gs5Lu25pe26ZKf5pe26Ze0XG4iCisiICAgICAtLWVwb2NoIDzlubQ+ICAgICDmjIflrprkvZzkuLrnoazku7bnuqrlhYMoZXBvY2gp5YC86LW35aeL55qE5bm05Lu9XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS11cGRhdGUtZHJpZnQgICB1cGRhdGUgZHJpZnQgZmFjdG9yIGluICUxJHMgKHJlcXVpcmVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgLS1zZXQgb3IgLS1zeXN0b2hjKVxuIgorIiAgICAgLS1ub2FkamZpbGUgICAgICBkbyBub3QgYWNjZXNzICUxJHM7IHRoaXMgcmVxdWlyZXMgdGhlIHVzZSBvZlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZVxuIgorIiAgICAgLS1hZGpmaWxlIDxmaWxlPiBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICUxJHNcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1ub2FkamZpbGUgICAgICDkuI3orr/pl64gJXPvvJvpnIDopoHkvb/nlKggLS11dGMg5oiWIC0tbG9jYWx0aW1lIOmAiemhuVxuIgorIiAgICAgLS1hZGpmaWxlIDzmlofku7Y+IOaMh+Wumuiwg+aVtOaWh+S7tueahOi3r+W+hO+8m1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIOm7mOiupOS4uiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1OTkKK21zZ2lkICIiCisiICAgICAtLXRlc3QgICAgICAgICAgIGRvIG5vdCB1cGRhdGUgYW55dGhpbmcsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGhhcHBlblxuIgorIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBkZWJ1Z2dpbmcgbW9kZVxuIgorIlxuIgorbXNnc3RyICIiCisiICAgICAtLXRlc3QgICAgICAgICAgIOS4jeabtOaWsO+8jOWPquaYvuekuuWwhui/m+ihjOS7gOS5iOaTjeS9nFxuIgorIiAtRCwgLS1kZWJ1ZyAgICAgICAgICDosIPor5XmqKHlvI9cbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNjAyCittc2dpZCAiIgorIiAtSnwtLWplbnNlbiwgLUF8LS1hcmMsIC1TfC0tc3JtLCAtRnwtLWZ1bmt5LXRveVxuIgorIiAgICAgIHRlbGwgaHdjbG9jayB0aGUgdHlwZSBvZiBBbHBoYSB5b3UgaGF2ZSAoc2VlIGh3Y2xvY2soOCkpXG4iCisiXG4iCittc2dzdHIgIiIKKyIgLUp8LS1qZW5zZW4sIC1BfC0tYXJjLCAtU3wtLXNybSwgLUZ8LS1mdW5reS10b3lcbiIKKyIgICAgICDlkYrnn6UgaHdjbG9jayDmgqjkvb/nlKjnmoQgQWxwaGEg57G75Z6LKOWPgumYhSBod2Nsb2NrKDgpKVxuIgorIlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE3MjgKK21zZ2lkICJVbmFibGUgdG8gY29ubmVjdCB0byBhdWRpdCBzeXN0ZW0iCittc2dzdHIgIuaXoOazlei/nuaOpeWIsOWuoeiuoeezu+e7nyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODI2Cittc2dpZCAiaW52YWxpZCBlcG9jaCBhcmd1bWVudCIKK21zZ3N0ciAi5peg5pWI55qE57qq5YWDKGVwb2NoKeWPguaVsCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHRha2VzIG5vIG5vbi1vcHRpb24gYXJndW1lbnRzLiAgWW91IHN1cHBsaWVkICVkLlxuIgorbXNnc3RyICIlcyDkuI3mjqXlj5fml6DpgInpobnnmoTlj4LmlbDjgILmgqjmj5DkvpvkuoYgJWTjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODgwCittc2dpZCAiV2l0aCAtLW5vYWRqZmlsZSwgeW91IG11c3Qgc3BlY2lmeSBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWUiCittc2dzdHIgIuaMh+WumiAtLW5vYWRqZmlsZSDml7bvvIzmgqjlv4XpobvmjIflrpogLS11dGMg5oiWIC0tbG9jYWx0aW1lIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4OTMKK21zZ2lkICJObyB1c2FibGUgc2V0LXRvIHRpbWUuICBDYW5ub3Qgc2V0IGNsb2NrLiIKK21zZ3N0ciAi5peg5Y+v55So55qE5b6F6K6+572u5pe26Ze044CC5peg5rOV6K6+572u5pe26ZKf44CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE5MTcKK21zZ2lkICJDYW5ub3QgYWNjZXNzIHRoZSBIYXJkd2FyZSBDbG9jayB2aWEgYW55IGtub3duIG1ldGhvZC4iCittc2dzdHIgIuaXoOazlemAmui/h+W3suefpeeahOS7u+S9leaWueW8j+iuv+mXruehrOS7tuaXtumSn+OAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxOTIwCittc2dpZCAiVXNlIHRoZSAtLWRlYnVnIG9wdGlvbiB0byBzZWUgdGhlIGRldGFpbHMgb2Ygb3VyIHNlYXJjaCBmb3IgYW4gYWNjZXNzIG1ldGhvZC4iCittc2dzdHIgIuivt+S9v+eUqCAtLWRlYnVnIOmAiemhueadpeinguWvn+eoi+W6j+aQnOe0ouiuv+mXruaWueazleeahOivpuaDheOAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjIyMworIywgYy1mb3JtYXQKK21zZ2lkICJib290ZWQgZnJvbSBNSUxPXG4iCittc2dzdHIgIuS7jiBNSUxPIOWQr+WKqFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIlJ1ZmZpYW4gQkNEIGNsb2NrXG4iCittc2dzdHIgIlJ1ZmZpYW4gQkNEIOaXtumSn1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb2NrcG9ydCBhZGp1c3RlZCB0byAweCV4XG4iCittc2dzdHIgIuaXtumSn+err+WPo+W3suiwg+aVtOS4uiAweCV4XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnVua3kgVE9ZIVxuIgorbXNnc3RyICLng6bkurrnmoQgVE9Z77yBXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXRvbWljICVzIGZhaWxlZCBmb3IgMTAwMCBpdGVyYXRpb25zISIKK21zZ3N0ciAi5Y6f5a2Q5pON5L2cICVzIDEwMDAg5qyh6L+t5Luj6YO95aSx6LSl5LqG77yBIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3NfcmVhZCgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICJjbW9zX3JlYWQoKe+8muWGmeaOp+WItuWcsOWdgCAlWCDlpLHotKUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc19yZWFkKCk6IHJlYWQgZnJvbSBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICJjbW9zX3JlYWQoKe+8muS7juaVsOaNruWcsOWdgCAlWCDor7vlj5blpLHotKUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICJjbW9zX3dyaXRlKCnvvJrlhpnmjqfliLblnLDlnYAgJVgg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgImNtb3Nfd3JpdGUoKTogd3JpdGUgdG8gZGF0YSBhZGRyZXNzICVYIGZhaWxlZCIKK21zZ3N0ciAiY21vc193cml0ZSgpOiDor7vmlbDmja7lnLDlnYAgJVgg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjQ1Cittc2dpZCAiSSBmYWlsZWQgdG8gZ2V0IHBlcm1pc3Npb24gYmVjYXVzZSBJIGRpZG4ndCB0cnkuIgorbXNnc3RyICLnqIvluo/mnKrojrflvpfmnYPpmZDvvIzlm6DkuLrmnKrlsJ3or5Xojrflj5bjgIIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NDgKK21zZ2lkICJ1bmFibGUgdG8gZ2V0IEkvTyBwb3J0IGFjY2VzczogIHRoZSBpb3BsKDMpIGNhbGwgZmFpbGVkLiIKK21zZ3N0ciAi5peg5rOV6K6/6ZeuIEkvTyDnq6/lj6PvvJppb3BsKDMpIOiwg+eUqOWksei0peOAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY1MQorbXNnaWQgIlByb2JhYmx5IHlvdSBuZWVkIHJvb3QgcHJpdmlsZWdlcy5cbiIKK21zZ3N0ciAi5oKo5Y+v6IO96ZyA6KaBIHJvb3Qg55So5oi35p2D6ZmQ44CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzo2NTgKK21zZ2lkICJVc2luZyBkaXJlY3QgSS9PIGluc3RydWN0aW9ucyB0byBJU0EgY2xvY2suIgorbXNnc3RyICLlsIblr7kgSVNBIOaXtumSn+S9v+eUqOebtOaOpSBJL08g5oyH5Luk44CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHJlYWQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICLlr7kgJTIkcyDnmoTor7vlj5bml7bpl7QgaW9jdGwoJTEkcykg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gJXMgdG8gY2hhbmdlXG4iCittc2dzdHIgIuato+WcqOW+queOr+etieW+headpeiHqiAlcyDnmoTml7bpl7Tmm7TmlLlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjM2Cittc2dpZCAiVGltZWQgb3V0IHdhaXRpbmcgZm9yIHRpbWUgY2hhbmdlLiIKK21zZ3N0ciAi562J5b6F5pe26Ze05pu05pS56LaF5pe244CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgaGF2ZSBpbnRlcnJ1cHQgZnVuY3Rpb25zLiAiCittc2dzdHIgIiVzIOayoeacieS4reaWreWHveaVsOOAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzAyCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgZmFpbGVkIgorbXNnc3RyICLlr7kgJXMgc2VsZWN0KCkg5Lul562J5b6F5pe26ZKf5ZiA5ZeS5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayB0aW1lZCBvdXQiCittc2dzdHIgIuWvuSAlcyBzZWxlY3QoKSDku6XnrYnlvoXml7bpkp/lmIDll5LotoXml7YiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb2ZmIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCIKK21zZ3N0ciAi5a+5ICVzIGlvY3RsKCkg5Lul5YWz6Zet5pu05paw5Lit5pat5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9uIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCB1bmV4cGVjdGVkbHkiCittc2dzdHIgIuWvuSAlcyBpb2N0bCgpIOS7peaJk+W8gOabtOaWsOS4reaWreaEj+WkluWksei0pSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byBzZXQgdGhlIHRpbWUgZmFpbGVkLiIKK21zZ3N0ciAi5a+5ICUyJHMgaW9jdGwoJTEkcykg5Lul6K6+572u5pe26Ze05aSx6LSl44CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHdhcyBzdWNjZXNzZnVsLlxuIgorbXNnc3RyICJpb2N0bCglcykg5oiQ5Yqf44CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM4NworbXNnaWQgIlVzaW5nIHRoZSAvZGV2IGludGVyZmFjZSB0byB0aGUgY2xvY2suIgorbXNnc3RyICLlsIblr7nml7bpkp/kvb/nlKggL2RldiDmjqXlj6PjgIIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQxNyBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVG8gbWFuaXB1bGF0ZSB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbCwgd2UgbXVzdCBhY2Nlc3MgdGhlIExpbnV4ICdydGMnIGRldmljZSBkcml2ZXIgdmlhIHRoZSBkZXZpY2Ugc3BlY2lhbCBmaWxlICVzLiAgVGhpcyBmaWxlIGRvZXMgbm90IGV4aXN0IG9uIHRoaXMgc3lzdGVtLiIKK21zZ3N0ciAi6KaB5pON5L2c5YaF5qC45Lit55qE57qq5YWDKGVwb2NoKeWAvO+8jOW/hemhu+mAmui/h+iuvuWkh+eJueauiuaWh+S7tiAlcyDorr/pl64gTGludXgg4oCccnRj4oCd6K6+5aSH6amx5Yqo44CC5q2k57O757uf5LiK5LiN5a2Y5Zyo6K+l5paH5Lu244CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoUlRDX0VQT0NIX1JFQUQpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAi5a+5ICVzIOi/m+ihjCBpb2N0bChSVENfRVBPQ0hfUkVBRCkg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAid2UgaGF2ZSByZWFkIGVwb2NoICVsdSBmcm9tICVzIHdpdGggUlRDX0VQT0NIX1JFQUQgaW9jdGwuXG4iCittc2dzdHIgIuaIkeS7rOS9v+eUqFJUQ19FUE9DSF9SRUFEIGlvY3RsIOS7jiAlMiRzIOivu+WPluS6hue6quWFgyhlcG9jaCkgJTEkbHXjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlcG9jaCB2YWx1ZSBtYXkgbm90IGJlIGxlc3MgdGhhbiAxOTAwLiAgWW91IHJlcXVlc3RlZCAlbGQiCittc2dzdHIgIue6quWFgyhlcG9jaCnlgLzkuI3og73lsI/kuo4gMTkwMOOAguaCqOimgeaxguS6hiAlbGQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIGVwb2NoIHRvICVsdSB3aXRoIFJUQ19FUE9DSF9TRVQgaW9jdGwgdG8gJXMuXG4iCittc2dzdHIgIuato+mAmui/hyBSVENfRVBPQ0hfU0VUIGlvY3RsIOWQkSAlMiRzIOiuvue9rue6quWFgyhlcG9jaCkgJTEkbHXjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBrZXJuZWwgZGV2aWNlIGRyaXZlciBmb3IgJXMgZG9lcyBub3QgaGF2ZSB0aGUgUlRDX0VQT0NIX1NFVCBpb2N0bC4iCittc2dzdHIgIiVzIOeahOWGheaguOiuvuWkh+mpseWKqOayoeaciSBSVENfRVBPQ0hfU0VUIGlvY3RsICjmlrnms5Up44CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoUlRDX0VQT0NIX1NFVCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICLlr7kgJXMg6L+b6KGMIGlvY3RsKFJUQ19FUE9DSF9TRVQpIOWksei0pSIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NjkKK21zZ2lkICJDcmVhdGUgdmFyaW91cyBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICLliJvlu7rlkITnp40gSVBDIOi1hOa6kOOAglxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MgorbXNnaWQgIiAtTSwgLS1zaG1lbSA8c2l6ZT4gICAgICAgY3JlYXRlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBvZiBzaXplIDxzaXplPlxuIgorbXNnc3RyICIgLU0sIC0tc2htZW0gPOWwuuWvuD4gICAgICAg5Yib5bu65aSn5bCP5Li65oyH5a6aPOWwuuWvuD7nmoTlhbHkuqvlhoXlrZjmrrXjgIJcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzMKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlIDxudW1iZXI+IGNyZWF0ZSBzZW1hcGhvcmUgYXJyYXkgd2l0aCA8bnVtYmVyPiBlbGVtZW50c1xuIgorbXNnc3RyICIgLVMsIC0tc2VtYXBob3JlIDzmlbDlrZc+ICAg5Yib5bu65YyF5ZCrIDzmlbDlrZc+IOS4quWFg+e0oOeahOS/oeWPt+mHj1xuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NAorbXNnaWQgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgY3JlYXRlIG1lc3NhZ2UgcXVldWVcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICDliJvlu7rmtojmga/pmJ/liJdcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzUKK21zZ2lkICIgLXAsIC0tbW9kZSA8bW9kZT4gICAgICAgIHBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZSAoZGVmYXVsdCBpcyAwNjQ0KVxuIgorbXNnc3RyICIgLXAsIC0tbW9kZSA85qih5byPPiAgICAgICAg6LWE5rqQ55qE5p2D6ZmQ5qih5byP5o6p56CBKOm7mOiupOS4uiAwNjQ0KVxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTAgc3lzLXV0aWxzL2xvc2V0dXAuYzo2OTcgc3lzLXV0aWxzL3pyYW1jdGwuYzo2MjIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAi6Kej5p6Q5aSn5bCP5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWxlbWVudHMiCittc2dzdHIgIuino+aekOWFg+e0oOWksei0pSIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQxCittc2dpZCAiY3JlYXRlIHNoYXJlIG1lbW9yeSBmYWlsZWQiCittc2dzdHIgIuWIm+W7uuWFseS6q+WGheWtmOWksei0pSIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoYXJlZCBtZW1vcnkgaWQ6ICVkXG4iCittc2dzdHIgIuWFseS6q+WGheWtmCBpZO+8miVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0OQorbXNnaWQgImNyZWF0ZSBtZXNzYWdlIHF1ZXVlIGZhaWxlZCIKK21zZ3N0ciAi5Yib5bu65raI5oGv6Zif5YiX5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBxdWV1ZSBpZDogJWRcbiIKK21zZ3N0ciAi5raI5oGv6Zif5YiXIGlk77yaJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU3Cittc2dpZCAiY3JlYXRlIHNlbWFwaG9yZSBmYWlsZWQiCittc2dzdHIgIuWIm+W7uuS/oeWPt+mHj+Wksei0pSIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbWFwaG9yZSBpZDogJWRcbiIKK21zZ3N0ciAi5L+h5Y+36YePIGlk77yaJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIHNobXxtc2d8c2VtIDxpZD4uLi5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvpgInpobldXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPGlkPi4uLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1NAorbXNnaWQgIlJlbW92ZSBjZXJ0YWluIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIuenu+mZpOafkOS4qiBJUEMg6LWE5rqQ44CCXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU3Cittc2dpZCAiIC1tLCAtLXNobWVtLWlkIDxpZD4gICAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkgaWRcbiIKK21zZ3N0ciAiIC1tLCAtLXNobWVtLWlkIDxpZD4gICAgICAgIOaMiSBpZCDlj7fnp7vpmaTlhbHkuqvlhoXlrZjmrrVcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTgKK21zZ2lkICIgLU0sIC0tc2htZW0ta2V5IDxrZXk+ICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBrZXlcbiIKK21zZ3N0ciAiIC1NLCAtLXNobWVtLWtleSA86ZSuPiAgICAgICDmjInplK7lgLznp7vpmaTlhbHkuqvlhoXlrZjmrrVcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTkKK21zZ2lkICIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkgaWRcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlLWlkIDxpZD4gICAgICAgIOaMiSBpZCDlj7fnp7vpmaTmtojmga/pmJ/liJdcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjAKK21zZ2lkICIgLVEsIC0tcXVldWUta2V5IDxrZXk+ICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkga2V5XG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZS1rZXkgPOmUrj4gICAgICAg5oyJ6ZSu5YC856e76Zmk5raI5oGv6Zif5YiXXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYxCittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8aWQ+ICAgIHJlbW92ZSBzZW1hcGhvcmUgYnkgaWRcbiIKK21zZ3N0ciAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8aWQ+ICAgIOaMiSBpZCDlj7fnp7vpmaTkv6Hlj7fph49cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjIKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlLWtleSA8a2V5PiAgcmVtb3ZlIHNlbWFwaG9yZSBieSBrZXlcbiIKK21zZ3N0ciAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPOmUrj4gIOaMiemUruWAvOenu+mZpOS/oeWPt+mHj1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MworbXNnaWQgIiAtYSwgLS1hbGxbPXNobXxtc2d8c2VtXSAgICByZW1vdmUgYWxsIChpbiB0aGUgc3BlY2lmaWVkIGNhdGVnb3J5KVxuIgorbXNnc3RyICIgLWEsIC0tYWxsWz08c2htfG1zZ3xzZW0+XSAgKOWwhuaMh+Wumuexu+WIq+S4reeahCnlhajpg6jnp7vpmaRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIOino+mHiuato+WcqOi/m+ihjOeahOaTjeS9nFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgaWQgYCVkJ1xuIgorbXNnc3RyICLmraPlnKjnp7vpmaTlhbHkuqvlhoXlrZjmrrUgaWQg4oCcJWTigJ1cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3ZpbmcgbWVzc2FnZSBxdWV1ZSBpZCBgJWQnXG4iCittc2dzdHIgIuato+WcqOenu+mZpOa2iOaBr+mYn+WIlyBpZCDigJwlZOKAnVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzZW1hcGhvcmUgaWQgYCVkJ1xuIgorbXNnc3RyICLmraPlnKjnp7vpmaTkv6Hlj7fph48gaWQg4oCcJWTigJ1cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4IHN5cy11dGlscy9pcGNybS5jOjIyMgorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBrZXkiCittc2dzdHIgIuWvuSDplK4g55qE5p2D6ZmQ5LiN6LazIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDgKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3IgaWQiCittc2dzdHIgIuWvuSBpZCDnmoTmnYPpmZDkuI3otrMiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMSBzeXMtdXRpbHMvaXBjcm0uYzoyMjgKK21zZ2lkICJpbnZhbGlkIGtleSIKK21zZ3N0ciAi5peg5pWI6ZSuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEKK21zZ2lkICJpbnZhbGlkIGlkIgorbXNnc3RyICLml6DmlYggaWQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNCBzeXMtdXRpbHMvaXBjcm0uYzoyMjUKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQga2V5IgorbXNnc3RyICLlt7Lnp7vpmaTnmoTplK4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNAorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBpZCIKK21zZ3N0ciAi5bey56e76Zmk55qEIGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcgc3lzLXV0aWxzL2lwY3JtLmM6MjMxCittc2dpZCAia2V5IGZhaWxlZCIKK21zZ3N0ciAi6ZSu5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcKK21zZ2lkICJpZCBmYWlsZWQiCittc2dzdHIgIklEIOWksei0pSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWQ6ICVzIgorbXNnc3RyICLml6DmlYggSUTvvJolcyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgInJlc291cmNlKHMpIGRlbGV0ZWRcbiIKK21zZ3N0ciAi6LWE5rqQ5bey5Yig6ZmkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjIwMAorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGtleSAoJXMpIgorbXNnc3RyICLpnZ7ms5XnmoTplK4oJXMpIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNTYKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgIuWGheaguOacquWBmuWFseS6q+WGheWtmOeahOebuOWFs+mFjee9riIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjY5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzIgorbXNnc3RyICLlhoXmoLjmnKrlgZrkv6Hlj7fph4/nmoTnm7jlhbPphY3nva4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI5MAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgIuWGheaguOacquWBmua2iOaBr+eahOebuOWFs+mFjee9riIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW3Jlc291cmNlLW9wdGlvbi4uLl0gW291dHB1dC1vcHRpb25dXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorbXNnc3RyICIiCisiICUxJHMgW+i1hOa6kOmAiemhuS4uLl0gW+i+k+WHuumAiemhuV1cbiIKKyIgJTEkcyAtbXwtcXwtcyAtaSA8aWQ+XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTYgc3lzLXV0aWxzL2xzaXBjLmM6MjgwCittc2dpZCAiU2hvdyBpbmZvcm1hdGlvbiBvbiBJUEMgZmFjaWxpdGllcy5cbiIKK21zZ3N0ciAi5pi+56S6IElQQyDorr7mlr3nmoTkv6Hmga/jgIJcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OQorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIgLWksIC0taWQgPGlkPiAg5omT5Y2w55SxPGlkPuagh+ivhueahOi1hOa6kOeahOivpue7huS/oeaBr1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0IHN5cy11dGlscy9sc2lwYy5jOjI4MworbXNnaWQgIlJlc291cmNlIG9wdGlvbnM6XG4iCittc2dzdHIgIui1hOa6kOmAiemhue+8mlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1IHN5cy11dGlscy9sc2lwYy5jOjI4NAorbXNnaWQgIiAtbSwgLS1zaG1lbXMgICAgICBzaGFyZWQgbWVtb3J5IHNlZ21lbnRzXG4iCittc2dzdHIgIiAtbSwgLS1zaG1lbXMgICAgICDlhbHkuqvlhoXlrZjmrrVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NiBzeXMtdXRpbHMvbHNpcGMuYzoyODUKK21zZ2lkICIgLXEsIC0tcXVldWVzICAgICAgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlcyAgICAgIOa2iOaBr+mYn+WIl1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY3IHN5cy11dGlscy9sc2lwYy5jOjI4NgorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hcGhvcmVzXG4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmVzICDkv6Hlj7fph49cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2OAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICBhbGwgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICDlhajpg6go6buY6K6kKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcxCittc2dpZCAiT3V0cHV0IG9wdGlvbnM6XG4iCittc2dzdHIgIui+k+WHuumAiemhue+8mlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcyCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAg5pi+56S66ZmE5Yqg44CB6ISx56a75ZKM5pu05pS55pe26Ze0XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzMKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgc2hvdyBQSURzIG9mIGNyZWF0b3IgYW5kIGxhc3Qgb3BlcmF0b3JcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgIOaYvuekuuWIm+W7uuiAheWSjOacgOWQjuaTjeS9nOiAheeahCBQSURcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NAorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiAtYywgLS1jcmVhdG9yICAgICDmmL7npLrliJvlu7rogIXlkozmi6XmnInogIVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NQorbXNnaWQgIiAtbCwgLS1saW1pdHMgICAgICBzaG93IHJlc291cmNlIGxpbWl0c1xuIgorbXNnc3RyICIgLWwsIC0tbGltaXRzICAgICAg5pi+56S66LWE5rqQ6ZmQ5Yi2XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKK21zZ2lkICIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIgorbXNnc3RyICIgLXUsIC0tc3VtbWFyeSAgICAg5pi+56S654q25oCB5pGY6KaBXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzcKK21zZ2lkICIgICAgIC0taHVtYW4gICAgICAgc2hvdyBzaXplcyBpbiBodW1hbi1yZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLWh1bWFuICAgICAgIOS7peaYk+ivu+agvOW8j+aYvuekuuWkp+Wwj1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc4Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgIHNob3cgc2l6ZXMgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgIOS7peWtl+iKguaVsOaYvuekuuWkp+Wwj1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjE2NAorbXNnaWQgIndoZW4gdXNpbmcgYW4gSUQsIGEgc2luZ2xlIHJlc291cmNlIG11c3QgYmUgc3BlY2lmaWVkIgorbXNnc3RyICLkvb/nlKggSUQg5pe277yM5b+F6aG75oyH5a6a5LiA5Liq6LWE5rqQIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2hhcmVkIG1lbW9yeSBsaW1pdHNcbiIKK21zZ3N0ciAi5peg5rOV6I635Y+W5YWx5Lqr5YaF5a2Y6ZmQ5Yi2XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tLS0tIOWQjOS6q+WGheWtmOmZkOWItiAtLS0tLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBzZWdtZW50cyA9ICVqdVxuIgorbXNnc3RyICLmnIDlpKfmrrXmlbAgPSAlanVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDkKK21zZ2lkICJtYXggc2VnIHNpemUiCittc2dzdHIgIuacgOWkp+auteWkp+WwjyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTEKK21zZ2lkICJtYXggdG90YWwgc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAi5pyA5aSn5oC75YWx5Lqr5YaF5a2YIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxNAorbXNnaWQgIm1pbiBzZWcgc2l6ZSIKK21zZ3N0ciAi5pyA5bCP5q615aSn5bCPIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIyNgorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnlcbiIKK21zZ3N0ciAi5YaF5qC45pyq5YGa5YWx5Lqr5YaF5a2Y55qE55u45YWz6YWN572uXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tLS0tIOWFseS6q+WGheWtmOeKtuaAgSAtLS0tLS0tLS0tLS1cbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoaXMgb3V0cHV0IGZvcm1hdCBpcyBtYWludGFpbmVkIGZvciBiYWNrd2FyZAorIy4gY29tcGF0aWJpbGl0eSBhcyBpcGNzIGlzIHVzZWQgaW4gc2NyaXB0cy4gRm9yIGNvbnNpc3RlbmN5CisjLiB3aXRoIHRoZSByZXN0LCB0aGUgdHJhbnNsYXRlZCBmb3JtIGNhbiBmb2xsb3cgdGhpcyBtb2RlbDoKKyMuICoKKyMuICJzZWdtZW50cyBhbGxvY2F0ZWQgPSAlZFxuIgorIy4gInBhZ2VzIGFsbG9jYXRlZCA9ICVsZFxuIgorIy4gInBhZ2VzIHJlc2lkZW50ID0gJWxkXG4iCisjLiAicGFnZXMgc3dhcHBlZCA9ICVsZFxuIgorIy4gInN3YXAgcGVyZm9ybWFuY2UgPSAlbGQgYXR0ZW1wdHMsICVsZCBzdWNjZXNzZXNcbiIKKyMuCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisic2VnbWVudHMgYWxsb2NhdGVkICVkXG4iCisicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorInBhZ2VzIHJlc2lkZW50ICAlbGRcbiIKKyJwYWdlcyBzd2FwcGVkICAgJWxkXG4iCisiU3dhcCBwZXJmb3JtYW5jZTogJWxkIGF0dGVtcHRzXHQgJWxkIHN1Y2Nlc3Nlc1xuIgorbXNnc3RyICIiCisi5q615bey5YiG6YWNICVkXG4iCisi6aG15bey5YiG6YWNICVsZFxuIgorIumhtempu+eVmSAgJWxkXG4iCisi6aG15Lqk5o2iICAlbGRcbiIKKyLkuqTmjaLmgKfog73vvJolbGQg5qyh5bCd6K+VXHQgJWxkIOasoeaIkOWKn1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI1OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50IENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tLS0tLS0tIOWFseS6q+WGheWtmOauteWIm+W7uuiAhS/mi6XmnInogIUgLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjc0CisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgInNobWlkIgorbXNnc3RyICJzaG1pZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzozODYKKyM6IHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NDg5IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAicGVybXMiCittc2dzdHIgIuadg+mZkCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJjdWlkIgorbXNnc3RyICJjdWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgImNnaWQiCittc2dzdHIgImNnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAidWlkIgorbXNnc3RyICJ1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiZ2lkIgorbXNnc3RyICJnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IEF0dGFjaC9EZXRhY2gvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0tLS0tLSDlhbHkuqvlhoXlrZgg6ZmE5YqgL+iEseemuy/mm7TmlLkg5pe26Ze0IC0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjc0IHN5cy11dGlscy9pcGNzLmM6MjgwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQwMSBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEgc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJvd25lciIKK21zZ3N0ciAi5oul5pyJ6ICFIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NworbXNnaWQgImF0dGFjaGVkIgorbXNnc3RyICLlt7LpmYTliqAiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3Cittc2dpZCAiZGV0YWNoZWQiCittc2dzdHIgIuW3suaWreW8gCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjgKK21zZ2lkICJjaGFuZ2VkIgorbXNnc3RyICLlt7Lmm7TmlLkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IENyZWF0b3IvTGFzdC1vcCBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0tIOWFseS6q+WGheWtmCDliJvlu7rogIUv5LiK5qyh5L+u5pS56ICFIFBJRCAtLS0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc0Cittc2dpZCAiY3BpZCIKK21zZ3N0ciAiY3BpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzQKK21zZ2lkICJscGlkIgorbXNnc3RyICJscGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tLS0tLS0g5YWx5Lqr5YaF5a2Y5q61IC0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwIHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAia2V5IgorbXNnc3RyICLplK4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgxIHN5cy11dGlscy9pcGNzLmM6NTA4Cittc2dpZCAic2l6ZSIKK21zZ3N0ciAi5aSn5bCPIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MSBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Nzggc3lzLXV0aWxzL3BybGltaXQuYzo3OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyIHN5cy11dGlscy9wcmxpbWl0LmM6ODYgc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgImJ5dGVzIgorbXNnc3RyICLlrZfoioIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgyCittc2dpZCAibmF0dGNoIgorbXNnc3RyICLov57mjqXmlbAiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgyCittc2dpZCAic3RhdHVzIgorbXNnc3RyICLnirbmgIEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzA2IHN5cy11dGlscy9pcGNzLmM6MzA4IHN5cy11dGlscy9pcGNzLmM6MzEwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQyNCBzeXMtdXRpbHMvaXBjcy5jOjQyNiBzeXMtdXRpbHMvaXBjcy5jOjUzMgorIzogc3lzLXV0aWxzL2lwY3MuYzo1MzQgc3lzLXV0aWxzL2lwY3MuYzo1MzYgc3lzLXV0aWxzL2lwY3MuYzo1OTAKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkyIHN5cy11dGlscy9pcGNzLmM6NjIxIHN5cy11dGlscy9pcGNzLmM6NjIzCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyNSBzeXMtdXRpbHMvaXBjcy5jOjY0OQorbXNnaWQgIk5vdCBzZXQiCittc2dzdHIgIuacquiuvue9riIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMzYgc3lzLXV0aWxzL2xzaXBjLmM6OTc2IHN5cy11dGlscy9sc2lwYy5jOjk4MgorbXNnaWQgImRlc3QiCittc2dzdHIgIuebruaghyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMzcgc3lzLXV0aWxzL2xzaXBjLmM6OTc3IHN5cy11dGlscy9sc2lwYy5jOjk5MAorbXNnaWQgImxvY2tlZCIKK21zZ3N0ciAi5bey6ZSB5a6aIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM1NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2VtYXBob3JlIGxpbWl0c1xuIgorbXNnc3RyICLml6Dms5Xojrflj5bkv6Hlj7fph4/pmZDliLZcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tLS0tIOS/oeWPt+mHj+mZkOWItiAtLS0tLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MQorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIGFycmF5cyA9ICVkXG4iCittc2dzdHIgIuacgOWkp+aVsOe7hOaVsOmHjyA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHBlciBhcnJheSA9ICVkXG4iCittc2dzdHIgIuavj+S4quaVsOe7hOeahOacgOWkp+S/oeWPt+mHj+aVsOebriA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAi57O757uf5pyA5aSn5L+h5Y+36YeP5pWwID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG9wcyBwZXIgc2Vtb3AgY2FsbCA9ICVkXG4iCittc2dzdHIgIuavj+asoeS/oeWPt+mHj+iwg+eUqOacgOWkp+aTjeS9nOaVsCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY1CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbWFwaG9yZSBtYXggdmFsdWUgPSAldVxuIgorbXNnc3RyICLkv6Hlj7fph4/mnIDlpKflgLw9JXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzXG4iCittc2dzdHIgIuWGheaguOacquWBmuS/oeWPt+mHj+eahOebuOWFs+mFjee9rlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tLS0g5L+h5Y+36YeP54q25oCBIC0tLS0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc4CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAi5bey5L2/55So5pWw57uEID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHNlbWFwaG9yZXMgPSAlZFxuIgorbXNnc3RyICLlt7LliIbphY3kv6Hlj7fph4/mlbAgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tLS0tLS0g5L+h5Y+36YeP5pWw57uE5Yib5bu66ICFL+aLpeacieiAhSAtLS0tLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0MDEKK21zZ2lkICJzZW1pZCIKK21zZ3N0ciAic2VtaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgT3BlcmF0aW9uL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tLS0tLS0g5L+h5Y+36YePIOaTjeS9nC/mm7TmlLkg5pe26Ze0IC0tLS0tLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIKK21zZ2lkICJsYXN0LW9wIgorbXNnc3RyICLkuIrkuIDmk43kvZwiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyCittc2dpZCAibGFzdC1jaGFuZ2VkIgorbXNnc3RyICLkuIrmrKHmm7TmlLkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0tLSDkv6Hlj7fph4/mlbDnu4QgLS0tLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0MDEKK21zZ2lkICJuc2VtcyIKK21zZ3N0ciAibnNlbXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDU5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBtZXNzYWdlIGxpbWl0c1xuIgorbXNnc3RyICLml6Dms5Xojrflj5bmtojmga/pmZDliLZcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tLS0tIOa2iOaBr+mZkOWItiAtLS0tLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggcXVldWVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAi57O757uf5pyA5aSn6Zif5YiX5pWw6YePID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjUKK21zZ2lkICJtYXggc2l6ZSBvZiBtZXNzYWdlIgorbXNnc3RyICLmnIDlpKfmtojmga/lsLrlr7giCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY3Cittc2dpZCAiZGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSIKK21zZ3N0ciAi6buY6K6k55qE6Zif5YiX5pyA5aSn5bC65a+4IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzXG4iCittc2dzdHIgIuWGheaguOacquWBmua2iOaBr+eahOebuOWFs+mFjee9rlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0tLS0g5raI5oGv54q25oCBIC0tLS0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDc5CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBxdWV1ZXMgPSAlZFxuIgorbXNnc3RyICLlt7LliIbphY3pmJ/liJfmlbAgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGhlYWRlcnMgPSAlZFxuIgorbXNnc3RyICLlt7LnlKjmtojmga/lpLQoaGVhZGVyKeaVsCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgyCittc2dpZCAidXNlZCBzcGFjZSIKK21zZ3N0ciAi5bey55So56m66Ze0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MworbXNnaWQgIiBieXRlc1xuIgorbXNnc3RyICIg5a2X6IqCXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tLS0tLSDmtojmga/pmJ/liJcg5Yib5bu66ICFL+aLpeacieiAhSAtLS0tLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODkgc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MDEKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibXNxaWQiCittc2dzdHIgIm1zcWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgU2VuZC9SZWN2L0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tLS0tLSDmtojmga/pmJ/liJcg5Y+R6YCBL+aOpeaUti/mm7TmlLkg5pe26Ze0IC0tLS0tLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgInNlbmQiCittc2dzdHIgIuWPkemAgSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJyZWN2IgorbXNnc3RyICLmjqXmlLYiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiY2hhbmdlIgorbXNnc3RyICLmm7TmlLkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0tLSDmtojmga/pmJ/liJcgUElEIC0tLS0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAibHNwaWQiCittc2dzdHIgImxzcGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImxycGlkIgorbXNnc3RyICJscnBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0tLSDmtojmga/pmJ/liJcgLS0tLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDgKK21zZ2lkICJ1c2VkLWJ5dGVzIgorbXNnc3RyICLlt7LnlKjlrZfoioLmlbAiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA5Cittc2dpZCAibWVzc2FnZXMiCittc2dzdHIgIua2iOaBryIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzQgc3lzLXV0aWxzL2lwY3MuYzo2MDQgc3lzLXV0aWxzL2lwY3MuYzo2MzcKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUzNiBzeXMtdXRpbHMvbHNpcGMuYzo3MjIgc3lzLXV0aWxzL2xzaXBjLmM6ODc5CisjLCBjLWZvcm1hdAorbXNnaWQgImlkICVkIG5vdCBmb3VuZCIKK21zZ3N0ciAi5om+5LiN5YiwIGlkICVkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU3OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkIG1lbW9yeSBTZWdtZW50IHNobWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyLlhbHkuqvlhoXlrZjmrrUgc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI29cdGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAi5qih5byPPSUjb1x06K6/6Zeu5p2D6ZmQPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorbXNnaWQgInNpemU9IgorbXNnc3RyICLlpKflsI89IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorbXNnaWQgImJ5dGVzPSIKK21zZ3N0ciAi5a2X6IqC5pWwPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAibHBpZD0ldVx0Y3BpZD0ldVx0bmF0dGNoPSVqZFxuIgorbXNnc3RyICJscGlkPSV1XHRjcGlkPSV1XHRuYXR0Y2g9JWpkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgImF0dF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIumZhOWKoOaXtumXtD0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MQorIywgYy1mb3JtYXQKK21zZ2lkICJkZXRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICLohLHnprvml7bpl7Q9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTMgc3lzLXV0aWxzL2lwY3MuYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAi5pu05pS55pe26Ze0PSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlIFF1ZXVlIG1zcWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyLmtojmga/pmJ/liJcgbXNxaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG1vZGU9JSNvXG4iCittc2dzdHIgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHTmqKHlvI89JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjEzCittc2dpZCAiY3NpemU9IgorbXNnc3RyICJjc2l6ZT0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjEzCittc2dpZCAiY2J5dGVzPSIKK21zZ3N0ciAiY2J5dGVzPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKK21zZ2lkICJxc2l6ZT0iCittc2dzdHIgInFzaXplPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKK21zZ2lkICJxYnl0ZXM9IgorbXNnc3RyICJxYnl0ZXM9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAi5Y+R6YCB5pe26Ze0PSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgInJjdl90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIuaOpeaUtuaXtumXtD0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIEFycmF5IHNlbWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyLkv6Hlj7fph4/mlbDnu4Qgc2VtaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAi5qih5byPPSUjb++8jOiuv+mXruadg+mZkD0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibnNlbXMgPSAlanVcbiIKK21zZ3N0ciAibnNlbXMgPSAlanVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAib3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICJvdGltZSA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgImN0aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAiY3RpbWUgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInNlbW51bSIKK21zZ3N0ciAic2VtbnVtIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInZhbHVlIgorbXNnc3RyICLlgLwiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAibmNvdW50IgorbXNnc3RyICJuY291bnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAiemNvdW50IgorbXNnc3RyICJ6Y291bnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCittc2dpZCAicGlkIgorbXNnc3RyICJwaWQiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjIzMCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzQgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM4CisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkIgorbXNnc3RyICIlcyDlpLHotKUiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoYnl0ZXMpID0gIgorbXNnc3RyICIlcyAo5a2X6IqCKSA9ICIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChrYnl0ZXMpID0gIgorbXNnc3RyICIlcyAo5Y2D5a2X6IqCKSA9ICIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTgwCittc2dpZCAiaW52YWxpZCBpZmxhZyIKK21zZ3N0ciAi5peg5pWI55qEIGlmbGFnIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bGRpc2M+IDxkZXZpY2U+XG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSA857q/6Lev6KeE5YiZPiA86K6+5aSHPlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxOTkKK21zZ2lkICJBdHRhY2ggYSBsaW5lIGRpc2NpcGxpbmUgdG8gYSBzZXJpYWwgbGluZS5cbiIKK21zZ3N0ciAi5ZCR5Liy5Y+j57q/6ZmE5Yqg5LiA5p2h57q/6Lev6KeE5YiZ44CCXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAg5ZCR5qCH5YeG6ZSZ6K+v5omT5Y2w6K+m5bC95raI5oGvXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMworbXNnaWQgIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICBzZXQgc2VyaWFsIGxpbmUgc3BlZWRcbiIKK21zZ3N0ciAiIC1zLCAtLXNwZWVkIDzlgLw+ICAgICAgICDorr7nva7kuLLlj6Pnur/pgJ/luqZcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA0Cittc2dpZCAiIC1jLCAtLWludHJvLWNvbW1hbmQgPHN0cmluZz4gaW50cm8gc2VudCBiZWZvcmUgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIC1jLCAtLWludHJvLWNvbW1hbmQgPOWtl+espuS4sj4g5YWI5Y+R6YCBIGludHJvIOWQjuWPkemAgSBsZGF0dGFjaFxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDUKK21zZ2lkICIgLXAsIC0tcGF1c2UgPHNlY29uZHM+ICAgcGF1c2UgYmV0d2VlbiBpbnRybyBhbmQgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIC1wLCAtLXBhdXNlIDznp5LmlbA+ICAg5ZyoIGludHJvIOWSjCBsZGF0dGFjaCDkuYvpl7TmmoLlgZxcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA2Cittc2dpZCAiIC03LCAtLXNldmVuYml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA3IGJpdHNcbiIKK21zZ3N0ciAiIC03LCAtLXNldmVuYml0cyAgICAgICAgIOWtl+iKguWkp+Wwj+iuvuS4uiA3IOS9jVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDcKK21zZ2lkICIgLTgsIC0tZWlnaHRiaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDggYml0c1xuIgorbXNnc3RyICIgLTgsIC0tZWlnaHRiaXRzICAgICAgICAg5a2X6IqC5aSn5bCP6K6+5Li6IDgg5L2NXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOAorbXNnaWQgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICBzZXQgcGFyaXR5IHRvIG5vbmVcbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIOiuvuS4uuaXoOagoemqjOS9jVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDkKK21zZ2lkICIgLWUsIC0tZXZlbnBhcml0eSAgICAgICAgc2V0IHBhcml0eSB0byBldmVuXG4iCittc2dzdHIgIiAtZSwgLS1ldmVucGFyaXR5ICAgICAgICDorr7kuLrlpYfmo4DpqoxcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEwCittc2dpZCAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIHNldCBwYXJpdHkgdG8gb2RkXG4iCittc2dzdHIgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICDorr7kuLrlgbbmo4DpqoxcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjExCittc2dpZCAiIC0xLCAtLW9uZXN0b3BiaXQgICAgICAgIHNldCBzdG9wIGJpdHMgdG8gb25lXG4iCittc2dzdHIgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICDlgZzmraLkvY3orr7kuLogMVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTIKK21zZ2lkICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAgc2V0IHN0b3AgYml0cyB0byB0d29cbiIKK21zZ3N0ciAiIC0yLCAtLXR3b3N0b3BiaXRzICAgICAgIOWBnOatouS9jeiuvuS4uiAyXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMworbXNnaWQgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBzZXQgaW5wdXQgbW9kZSBmbGFnXG4iCittc2dzdHIgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICDorr7nva7ovpPlhaXmqKHlvI/moIflv5dcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE5Cittc2dpZCAiIgorIlxuIgorIktub3duIDxsZGlzYz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLlt7Lnn6U857q/6Lev6KeE5YiZPuWQjeensO+8mlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMjMKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGlmbGFnPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIuW3suefpTxpZmxhZz7lkI3np7DvvJpcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQwCittc2dpZCAiaW52YWxpZCBzcGVlZCBhcmd1bWVudCIKK21zZ3N0ciAi5peg5pWI55qEIOmAn+W6piDlj4LmlbAiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0MworbXNnaWQgImludmFsaWQgcGF1c2UgYXJndW1lbnQiCittc2dzdHIgIuaXoOaViOeahOaaguWBnOWPguaVsCIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzU5Cittc2dpZCAiaW52YWxpZCBvcHRpb24iCittc2dzdHIgIuaXoOaViOmAiemhuSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzcwCittc2dpZCAiaW52YWxpZCBsaW5lIGRpc2NpcGxpbmUgYXJndW1lbnQiCittc2dzdHIgIuaXoOaViOeahCDnur/ot6/op4TliJkg5Y+C5pWwIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgc2VyaWFsIGxpbmUiCittc2dzdHIgIiVzIOS4jeaYr+S4suihjOe6vyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzk3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgIuaXoOazleiOt+WPliAlcyDnmoTnu4jnq6/lsZ7mgKciCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVlZCAlZCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAi5LiN5pSv5oyB6YCf5bqmICVkIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAi5peg5rOV6K6+572uICVzIOeahOe7iOerr+WxnuaApyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDU5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSBpbnRybyBjb21tYW5kIHRvICVzIgorbXNnc3RyICLml6Dms5XlkJEgJXMg5YaZ5YWlIGludHJvIOWRveS7pCIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDY5Cittc2dpZCAiY2Fubm90IHNldCBsaW5lIGRpc2NpcGxpbmUiCittc2dzdHIgIuaXoOazleiuvue9ruihjOinhOWImSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDc5Cittc2dpZCAiY2Fubm90IGRhZW1vbml6ZSIKK21zZ3N0ciAi5peg5rOV6L2s5Li65a6I5oqk6L+b56iLIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY4Cittc2dpZCAiYXV0b2NsZWFyIGZsYWcgc2V0IgorbXNnc3RyICLlt7Lorr7nva4g6Ieq5Yqo5riF6ZmkIOagh+W/lyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2OQorbXNnaWQgImRldmljZSBiYWNraW5nIGZpbGUiCittc2dzdHIgIuiuvuWkh+WQjuWkh+aWh+S7tiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MAorbXNnaWQgImJhY2tpbmcgZmlsZSBpbm9kZSBudW1iZXIiCittc2dzdHIgIuWQjuWkh+aWh+S7tiBpbm9kZSDlj7ciCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzEKK21zZ2lkICJiYWNraW5nIGZpbGUgbWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAi5ZCO5aSH5paH5Lu2IOS4uzrmrKEg6K6+5aSH5Y+3IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcyCittc2dpZCAibG9vcCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAi5Zue546v6K6+5aSH5ZCNIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjczCittc2dpZCAib2Zmc2V0IGZyb20gdGhlIGJlZ2lubmluZyIKK21zZ3N0ciAi6LW35aeL5L2N572u5YGP56e7IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc0Cittc2dpZCAicGFydHNjYW4gZmxhZyBzZXQiCittc2dzdHIgIuW3suiuvue9riBwYXJ0c2NhbiDmoIflv5ciCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzYKK21zZ2lkICJzaXplIGxpbWl0IG9mIHRoZSBmaWxlIGluIGJ5dGVzIgorbXNnc3RyICLmlofku7bnmoTlpKflsI/pmZDliLYo5a2X6IqC5pWwKSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NworbXNnaWQgImxvb3AgZGV2aWNlIG1ham9yOm1pbm9yIG51bWJlciIKK21zZ3N0ciAi5Zue546v6K6+5aSHIOS4uzrmrKEg6K6+5aSH5Y+3IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4Cittc2dpZCAiYWNjZXNzIGJhY2tpbmcgZmlsZSB3aXRoIGRpcmVjdC1pbyIKK21zZ3N0ciAi6YCa6L+H55u05o6lIElPIOiuv+mXruWQjuWkh+aWh+S7tiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxMzUgc3lzLXV0aWxzL2xvc2V0dXAuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvZmZzZXQgJWp1IgorbXNnc3RyICLvvIzlgY/np7sgJWp1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1MAorIywgYy1mb3JtYXQKK21zZ2lkICIsIHNpemVsaW1pdCAlanUiCittc2dzdHIgIu+8jOWkp+Wwj+mZkOWItiAlanUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTU4CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZW5jcnlwdGlvbiAlcyAodHlwZSAldSkiCittc2dzdHIgIu+8jOWKoOWvhiAlcyjnsbvlnosgJXUpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGV0YWNoIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJrmlq3lvIDlpLHotKUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzI5IHN5cy11dGlscy9sc2NwdS5jOjE3MzUgc3lzLXV0aWxzL3BybGltaXQuYzoyMjkKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxNzYgc3lzLXV0aWxzL3dkY3RsLmM6MjE1IHN5cy11dGlscy96cmFtY3RsLmM6NDA1Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGxpbmUiCittc2dzdHIgIuWIneWni+WMlui+k+WHuuihjOWksei0pSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSBbPGxvb3BkZXY+XVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxsb29wZGV2PiA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvpgInpobldIFs85Zue546v6K6+5aSHPl1cbiIKKyIgJTEkcyBb6YCJ6aG5XSAtZiB8IDzlm57njq/orr7lpIc+IDzmlofku7Y+XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzg2Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIGxvb3AgZGV2aWNlcy5cbiIKK21zZ3N0ciAi6K6+572u5ZKM5o6n5Yi25Zue546v6K6+5aSH44CCXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzg5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAg5YiX5Ye65omA5pyJ5L2/55So55qE6K6+5aSHXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkwCittc2dpZCAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4uLi4gICAgIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCittc2dzdHIgIiAtZCwgLS1kZXRhY2ggPOWbnueOr+iuvuWkhz4uLi4gICAg5pat5byA5LiA5Y+w5oiW5aSa5Y+w6K6+5aSHXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkxCittc2dpZCAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIGRldGFjaCBhbGwgdXNlZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICDmlq3lvIDmiYDmnInkvb/nlKjnmoTorr7lpIdcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTIKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZmluZCBmaXJzdCB1bnVzZWQgZGV2aWNlXG4iCittc2dzdHIgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICDmn6Xmib7nrKzkuIDkuKrmnKrkvb/nlKjnmoTorr7lpIdcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTMKK21zZ2lkICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIC1jLCAtLXNldC1jYXBhY2l0eSA85Zue546v6K6+5aSHPiDmlLnlj5jorr7lpIflrrnph49cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTQKK21zZ2lkICIgLWosIC0tYXNzb2NpYXRlZCA8ZmlsZT4gICAgICAgbGlzdCBhbGwgZGV2aWNlcyBhc3NvY2lhdGVkIHdpdGggPGZpbGU+XG4iCittc2dzdHIgIiAtaiwgLS1hc3NvY2lhdGVkIDzmlofku7Y+ICAgICAgIOWIl+WHuuaJgOacieS4jiA85paH5Lu2PiDnm7jlhbPnmoTorr7lpIdcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTUKK21zZ2lkICIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICAgICAgYXZvaWQgcG9zc2libGUgY29uZmxpY3QgYmV0d2VlbiBkZXZpY2VzXG4iCittc2dzdHIgIiAtTCwgLS1ub292ZXJsYXAgICAgICAgICAgICAgICDpgb/lhY3orr7lpIfpl7TnmoTmvZzlnKjlhrLnqoFcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDzmlbDlrZc+ICAgICAgICAgICDlnKjmlofku7blgY/np7vph48gPOaVsOWtlz4g5aSE5byA5aeLXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAwCittc2dpZCAiICAgICAtLXNpemVsaW1pdCA8bnVtPiAgICAgICAgIGRldmljZSBpcyBsaW1pdGVkIHRvIDxudW0+IGJ5dGVzIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiAgICAgLS1zaXplbGltaXQgPOaVsOWtlz4gICAgICAgIOiuvuWkh+mZkOWItuS4uuS6huaWh+S7tueahDzmlbDlrZc+5Liq5a2X6IqCXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAxCittc2dpZCAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICDliJvlu7rluKbliIbljLrnmoTlm57njq/orr7lpIdcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDIKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0IHVwIGEgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICDliJvlu7rlj6ror7vnmoTlm57njq/orr7lpIdcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDMKK21zZ2lkICIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAgb3BlbiBiYWNraW5nIGZpbGUgd2l0aCBPX0RJUkVDVFxuIgorbXNnc3RyICIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAg6YCa6L+HIE9fRElSRUNUIOaJk+W8gOWQjuWkh+aWh+S7tlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNAorbXNnaWQgIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSBhZnRlciBzZXR1cCAod2l0aCAtZilcbiIKK21zZ3N0ciAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIOiuvue9ruWQjuaJk+WNsOiuvuWkh+WQjSjliqAgLWYg6YCJ6aG5KVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIOivpuWwveaooeW8j1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwOQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBsaXN0IGluZm8gYWJvdXQgYWxsIG9yIHNwZWNpZmllZCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIOWIl+WHuuaJgOacieaIluaMh+WumueahOS/oeaBryjpu5jorqQpXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEwCittc2dpZCAiIC1PLCAtLW91dHB1dCA8Y29scz4gICAgICAgICAgIHNwZWNpZnkgY29sdW1ucyB0byBvdXRwdXQgZm9yIC0tbGlzdFxuIgorbXNnc3RyICIgLU8sIC0tb3V0cHV0IDzliJc+ICAgICAgICAgICDmjIflrpogLS1saXN0IOmAiemhueimgei+k+WHuueahOWIl1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1saXN0IG91dHB1dFxuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgLS1saXN0IOi+k+WHuuaXtuS4jeaJk+WNsOagh+mimFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMgorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1c2UgcmF3IC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICDkvb/nlKjljp/nlJ8gLS1saXN0IOi+k+WHuuagvOW8j1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMworbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAg5L2/55SoIEpTT04gLS1saXN0IOi+k+WHuuagvOW8j1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOQorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgLS1saXN0IGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLlj6/nlKjnmoQgLS1saXN0IOWIl++8mlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBpcyBzbWFsbGVyIHRoYW4gNTEyIGJ5dGVzOyB0aGUgbG9vcCBkZXZpY2UgbWF5IGJlIHVzZWxlc3Mgb3IgaW52aXNpYmxlIGZvciBzeXN0ZW0gdG9vbHMuIgorbXNnc3RyICIlc++8muitpuWRiu+8jOaWh+S7tuWwj+S6jiA1MTIg5Liq5a2X6IqC77yM5Zue546v6K6+5aSH5Y+v6IO95peg55So5oiW5Zyo57O757uf5bel5YW35Lit55yL5LiN5Yiw44CCIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBkb2VzIG5vdCBmaXQgaW50byBhIDUxMi1ieXRlIHNlY3RvcjsgdGhlIGVuZCBvZiB0aGUgZmlsZSB3aWxsIGJlIGlnbm9yZWQuIgorbXNnc3RyICIlc++8muitpuWRiu+8jOaWh+S7tuacquWvuem9kCA1MTIg5a2X6IqC5omH5Yy677yM5YW25pyr5bC+5bCG6KKr5b+955Wl44CCIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ2NCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUxNiBzeXMtdXRpbHMvbW91bnQuYzo0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiJXM6IOmHjeWPoOeahOWbnueOr+iuvuWkh+W3suWtmOWcqCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIHJlYWQtb25seSBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzOiDlrZjlnKjph43lj6DnmoTlj6ror7vlm57njq/orr7lpIciCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBlbmNyeXB0ZWQgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlc++8muWtmOWcqOmHjeWPoOeahOWKoOWvhuWbnueOr+iuvuWkhyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZS11c2UgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVz77iwIOacquiDvemHjeaWsOS9v+eUqOWbnueOr+iuvuWkhyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0OTQKK21zZ2lkICJmYWlsZWQgdG8gaW5zcGVjdCBsb29wIGRldmljZXMiCittc2dzdHIgIuWuoeafpeWbnueOr+iuvuWkh+Wksei0pSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjaGVjayBmb3IgY29uZmxpY3RpbmcgbG9vcCBkZXZpY2VzIgorbXNnc3RyICIlc++4sCDmo4Dmn6XlhrLnqoHnmoTlvqrnjq/orr7lpIflpLHotKUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTI5IHN5cy11dGlscy9sb3NldHVwLmM6ODI2Cittc2dpZCAiY2Fubm90IGZpbmQgYW4gdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICLmib7kuI3liLDmnKrkvb/nlKjnmoTlm57njq/orr7lpIciCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXPvvJrkvb/nlKjlkI7lpIfmlofku7blpLHotKUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjMxIHN5cy11dGlscy9sb3NldHVwLmM6NjQxIHN5cy11dGlscy9sb3NldHVwLmM6NzUzCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBkZXZpY2UiCittc2dzdHIgIiVz77ya5L2/55So6K6+5aSH5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2NAorbXNnaWQgIm5vIGxvb3AgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAi5pyq5oyH5a6a5Zue546v6K6+5aSHIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3MgorbXNnaWQgIm5vIGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICLmnKrmjIflrprmlofku7YiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzc5CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBvcHRpb25zICVzIGFyZSBhbGxvd2VkIGR1cmluZyBsb29wIGRldmljZSBzZXR1cCBvbmx5IgorbXNnc3RyICLpgInpobkgJXMg5Y+q5YWB6K645Zyo6K6+572u5Zue546v6K6+5aSH5pe25L2/55SoIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4NAorbXNnaWQgInRoZSBvcHRpb24gLS1vZmZzZXQgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICLmraTnjq/looPkuIvkuI3lhYHorrjkvb/nlKggLS1vZmZzZXQg6YCJ6aG5IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGNhcGFjaXR5IGZhaWxlZCIKK21zZ3N0ciAiJXPvvJrorr7nva7lrrnph4/lpLHotKUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgZGlyZWN0IGlvIGZhaWxlZCIKK21zZ3N0ciAiJXPvuLAg6K6+572u55u05o6lIGlvIOWksei0pSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTA4Cittc2dpZCAibm9uZSIKK21zZ3N0ciAi5pegIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMDkKK21zZ2lkICJwYXJhIgorbXNnc3RyICLljYoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjExMAorbXNnaWQgImZ1bGwiCittc2dzdHIgIuWujOWFqCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTExCittc2dpZCAiY29udGFpbmVyIgorbXNnc3RyICLlrrnlmagiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MworbXNnaWQgImhvcml6b250YWwiCittc2dzdHIgIuawtOW5syIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0Cittc2dpZCAidmVydGljYWwiCittc2dzdHIgIuerluebtCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ2Cittc2dpZCAibG9naWNhbCBDUFUgbnVtYmVyIgorbXNnc3RyICLpgLvovpEgQ1BVIOaVsOmHjyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzQ3Cittc2dpZCAibG9naWNhbCBjb3JlIG51bWJlciIKK21zZ3N0ciAi6YC76L6R5qC45b+D5pWw6YePIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDgKK21zZ2lkICJsb2dpY2FsIHNvY2tldCBudW1iZXIiCittc2dzdHIgIumAu+i+kShDUFUp5bqn5pWw6YePIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDkKK21zZ2lkICJsb2dpY2FsIE5VTUEgbm9kZSBudW1iZXIiCittc2dzdHIgIumAu+i+kSBOVU1BIOiKgueCueaVsOmHjyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUwCittc2dpZCAibG9naWNhbCBib29rIG51bWJlciIKK21zZ3N0ciAi6YC76L6RIGJvb2sg5pWwIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTEKK21zZ2lkICJsb2dpY2FsIGRyYXdlciBudW1iZXIiCittc2dzdHIgIumAu+i+keaKveWxieWPtyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUyCittc2dpZCAic2hvd3MgaG93IGNhY2hlcyBhcmUgc2hhcmVkIGJldHdlZW4gQ1BVcyIKK21zZ3N0ciAi5pi+56S6IENQVSDpl7TmmK/lpoLkvZXlhbHkuqvnvJPlrZjnmoQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1MworbXNnaWQgIkNQVSBkaXNwYXRjaGluZyBtb2RlIG9uIHZpcnR1YWwgaGFyZHdhcmUiCittc2dzdHIgIuiZmuaLn+ehrOS7tuS4iueahCBDUFUg6LCD5bqm5qih5byPIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTQKK21zZ2lkICJwaHlzaWNhbCBhZGRyZXNzIG9mIGEgQ1BVIgorbXNnc3RyICJDUFUg55qE54mp55CG5Zyw5Z2AIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTUKK21zZ2lkICJzaG93cyBpZiB0aGUgaHlwZXJ2aXNvciBoYXMgYWxsb2NhdGVkIHRoZSBDUFUiCittc2dzdHIgIuaYvuekuui2hee6p+ebkeedoyhoeXBlcnZpc29yKeaYr+WQpuWIhumFjeS6hiBDUFUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NgorbXNnaWQgInNob3dzIGlmIExpbnV4IGN1cnJlbnRseSBtYWtlcyB1c2Ugb2YgdGhlIENQVSIKK21zZ3N0ciAi5pi+56S6IExpbnV4IOW9k+WJjeaYr+WQpuWcqOS9v+eUqOivpSBDUFUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NworbXNnaWQgInNob3dzIHRoZSBtYXhpbXVtIE1IeiBvZiB0aGUgQ1BVIgorbXNnc3RyICLmmL7npLogQ1BVIOeahOacgOWkpyBNSHoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1OAorbXNnaWQgInNob3dzIHRoZSBtaW5pbXVtIE1IeiBvZiB0aGUgQ1BVIgorbXNnc3RyICLmmL7npLogQ1BVIOeahOacgOWwjyBNSHoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjU1MAorbXNnaWQgImVycm9yOiB1bmFtZSBmYWlsZWQiCittc2dzdHIgIumUmeivr++8mnVuYW1lIOWksei0pSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZXRlcm1pbmUgbnVtYmVyIG9mIENQVXM6ICVzIgorbXNnc3RyICLnoa7lrpogQ1BVIOaVsCDlpLHotKXvvJolcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6ODkxCittc2dpZCAiZXJyb3I6IGNhbiBub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICLplJnor6/vvJrml6Dms5Xorr7nva7kv6Hlj7flpITnkIblh73mlbAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjg5NgorbXNnaWQgImVycm9yOiBjYW4gbm90IHJlc3RvcmUgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgIumUmeivr++8muaXoOazleaBouWkjeS/oeWPt+WkhOeQhuWHveaVsCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIGZyb206ICVzIgorbXNnc3RyICLor7vlj5blpLHotKXvuLAgJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MTAKK21zZ2lkICJGYWlsZWQgdG8gZXh0cmFjdCB0aGUgbm9kZSBudW1iZXIiCittc2dzdHIgIuaPkOWPluiKgueCueWPt+Wksei0pSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTUzNyBzeXMtdXRpbHMvbHNjcHUuYzoxNTQ3Cittc2dpZCAiWSIKK21zZ3N0ciAiWSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTUzNyBzeXMtdXRpbHMvbHNjcHUuYzoxNTQ3Cittc2dpZCAiTiIKK21zZ3N0ciAiTiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTYzMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXJcbiIKKyIjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElEXG4iCisiIyBzdGFydGluZyBmcm9tIHplcm8uXG4iCittc2dzdHIgIiIKKyIjIOS7peS4i+aYr+WPr+ino+aekOagvOW8j++8jOWPr+S7pei+k+e7meWFtuS7lueoi+W6j+OAguavj+WIl+S4reeahOWQhOS4quS4jeWQjOmhueacieS4gOS4quaDn+S4gFxuIgorIiMg55qE5LuOIDAg5byA5aeL55qEIElE44CCXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3ODEKK21zZ2lkICJBcmNoaXRlY3R1cmU6IgorbXNnc3RyICLmnrbmnoTvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3OTUKK21zZ2lkICJDUFUgb3AtbW9kZShzKToiCittc2dzdHIgIkNQVSDov5DooYzmqKHlvI/vvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3OTggc3lzLXV0aWxzL2xzY3B1LmM6MTgwMAorbXNnaWQgIkJ5dGUgT3JkZXI6IgorbXNnc3RyICLlrZfoioLluo/vvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDIKK21zZ2lkICJDUFUocyk6IgorbXNnc3RyICJDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA1Cittc2dpZCAiT24tbGluZSBDUFUocykgbWFzazoiCittc2dzdHIgIuWcqOe6vyBDUFUg5o6p56CB77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA2Cittc2dpZCAiT24tbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIuWcqOe6vyBDUFUg5YiX6KGo77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI1Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICLnprvnur8gQ1BVIOaOqeegge+8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNgorbXNnaWQgIk9mZi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAi56a757q/IENQVSDliJfooajvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjIKK21zZ2lkICJUaHJlYWQocykgcGVyIGNvcmU6IgorbXNnc3RyICLmr4/kuKrmoLjnmoTnur/nqIvmlbDvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjQKK21zZ2lkICJDb3JlKHMpIHBlciBzb2NrZXQ6IgorbXNnc3RyICLmr4/kuKrluqfnmoTmoLjmlbDvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjcKK21zZ2lkICJTb2NrZXQocykgcGVyIGJvb2s6IgorbXNnc3RyICLmr4/kuKogYm9vayDnmoTluqfmlbDvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzAKK21zZ2lkICJCb29rKHMpIHBlciBkcmF3ZXI6IgorbXNnc3RyICLmr4/kuKrmir3lsYnph4znmoQgQm9vayDmlbDvuLAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzIKK21zZ2lkICJEcmF3ZXIocyk6IgorbXNnc3RyICLmir3lsYnvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzQKK21zZ2lkICJCb29rKHMpOiIKK21zZ3N0ciAiQm9va++8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3NworbXNnaWQgIlNvY2tldChzKToiCittc2dzdHIgIuW6p++8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MQorbXNnaWQgIk5VTUEgbm9kZShzKToiCittc2dzdHIgIk5VTUEg6IqC54K577yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgzCittc2dpZCAiVmVuZG9yIElEOiIKK21zZ3N0ciAi5Y6C5ZWGIElE77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg1Cittc2dpZCAiTWFjaGluZSB0eXBlOiIKK21zZ3N0ciAi5py65Zmo57G75Z6L77iwIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg3Cittc2dpZCAiQ1BVIGZhbWlseToiCittc2dzdHIgIkNQVSDns7vliJfvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODkKK21zZ2lkICJNb2RlbDoiCittc2dzdHIgIuWei+WPt++8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5MQorbXNnaWQgIk1vZGVsIG5hbWU6IgorbXNnc3RyICLlnovlj7flkI3np7DvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTMKK21zZ2lkICJTdGVwcGluZzoiCittc2dzdHIgIuatpei/m++8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5NQorbXNnaWQgIkNQVSBNSHo6IgorbXNnc3RyICJDUFUgTUh677yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk3Cittc2dpZCAiQ1BVIGR5bmFtaWMgTUh6OiIKK21zZ3N0ciAiQ1BVIOWKqOaAgSBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk5Cittc2dpZCAiQ1BVIHN0YXRpYyBNSHo6IgorbXNnc3RyICJDUFUg6Z2Z5oCBIE1IejoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDEKK21zZ2lkICJDUFUgbWF4IE1IejoiCittc2dzdHIgIkNQVSDmnIDlpKcgTUh677yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAzCittc2dpZCAiQ1BVIG1pbiBNSHo6IgorbXNnc3RyICJDUFUg5pyA5bCPIE1Ieu+8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNQorbXNnaWQgIkJvZ29NSVBTOiIKK21zZ3N0ciAiQm9nb01JUFPvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDggc3lzLXV0aWxzL2xzY3B1LmM6MTkxMAorbXNnaWQgIlZpcnR1YWxpemF0aW9uOiIKK21zZ3N0ciAi6Jma5ouf5YyW77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEzCittc2dpZCAiSHlwZXJ2aXNvcjoiCittc2dzdHIgIui2heeuoeeQhuWZqO+8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxNQorbXNnaWQgIkh5cGVydmlzb3IgdmVuZG9yOiIKK21zZ3N0ciAi6LaF566h55CG5Zmo5Y6C5ZWG77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE2Cittc2dpZCAiVmlydHVhbGl6YXRpb24gdHlwZToiCittc2dzdHIgIuiZmuaLn+WMluexu+Wei++8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxOQorbXNnaWQgIkRpc3BhdGNoaW5nIG1vZGU6IgorbXNnc3RyICLliIbmtL7mqKHlvI/vvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MjUgc3lzLXV0aWxzL2xzY3B1LmM6MTkzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjYWNoZToiCittc2dzdHIgIiVzIOe8k+WtmO+8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0MQorIywgYy1mb3JtYXQKK21zZ2lkICJOVU1BIG5vZGUlZCBDUFUocyk6IgorbXNnc3RyICJOVU1BIOiKgueCuSVkIENQVe+8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0NgorbXNnaWQgIkZsYWdzOiIKK21zZ3N0ciAi5qCH6K6w77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQ5Cittc2dpZCAiUGh5c2ljYWwgc29ja2V0czoiCittc2dzdHIgIueJqeeQhuWll+aOpeWtl++4sCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk1MAorbXNnaWQgIlBoeXNpY2FsIGNoaXBzOiIKK21zZ3N0ciAi54mp55CG6Iqv54mH77iwIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTUxCittc2dpZCAiUGh5c2ljYWwgY29yZXMvY2hpcDoiCittc2dzdHIgIueJqeeQhuaguOW/gy/oiq/niYfvuLAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjMKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBDUFUgYXJjaGl0ZWN0dXJlLlxuIgorbXNnc3RyICLmmL7npLogQ1BVIOaetuaehOS/oeaBr+OAglxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY2Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IGJvdGggb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAg5ZCM5pe25omT5Y2w5Zyo57q/5ZKM56a757q/IENQVSAoLWUg6YCJ6aG56buY6K6k5YC8KVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY3Cittc2dpZCAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIHByaW50IG9ubGluZSBDUFVzIG9ubHkgKGRlZmF1bHQgZm9yIC1wKVxuIgorbXNnc3RyICIgLWIsIC0tb25saW5lICAgICAgICAgICAg5Y+q5omT5Y2w5Zyo57q/IENQVSAoLXAg6YCJ6aG56buY6K6k5YC8KVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY4Cittc2dpZCAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iCittc2dzdHIgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICDlj6rmiZPljbDnprvnur8gQ1BVXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjkKK21zZ2lkICIgLWUsIC0tZXh0ZW5kZWRbPTxsaXN0Pl0gcHJpbnQgb3V0IGFuIGV4dGVuZGVkIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tZXh0ZW5kZWRbPTzliJfooag+XSDmiZPljbDmianlsZXnmoTlj6/or7vmoLzlvI9cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MAorbXNnaWQgIiAtcCwgLS1wYXJzZVs9PGxpc3Q+XSAgICBwcmludCBvdXQgYSBwYXJzYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1wLCAtLXBhcnNlWz085YiX6KGoPl0gICAg5omT5Y2w5Y+v6Kej5p6Q5qC85byPXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzEKK21zZ2lkICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAgdXNlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIC1zLCAtLXN5c3Jvb3QgPOebruW9lT4gICAg5Lul5oyH5a6a55uu5b2V5L2c5Li657O757uf5qC555uu5b2VXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzIKK21zZ2lkICIgLXgsIC0taGV4ICAgICAgICAgICAgICAgcHJpbnQgaGV4YWRlY2ltYWwgbWFza3MgcmF0aGVyIHRoYW4gbGlzdHMgb2YgQ1BVc1xuIgorbXNnc3RyICIgLXgsIC0taGV4ICAgICAgICAgICAgICAg5omT5Y2w5Y2B5YWt6L+b5Yi25o6p56CB6ICM6Z2eIENQVSDliJfooahcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MworbXNnaWQgIiAteSwgLS1waHlzaWNhbCAgICAgICAgICBwcmludCBwaHlzaWNhbCBpbnN0ZWFkIG9mIGxvZ2ljYWwgSURzXG4iCittc2dzdHIgIiAteSwgLS1waHlzaWNhbCAgICAgICAgICDmiZPljbDniannkIYgSUQg6ICM6Z2e6YC76L6RIElEXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9wdGlvbnMgLS1hbGwsIC0tb25saW5lIGFuZCAtLW9mZmxpbmUgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIG9wdGlvbnMgLS1leHRlbmRlZCBvciAtLXBhcnNlLlxuIgorbXNnc3RyICIlc++8mi0tYWxs44CBLS1vbmxpbmUg5ZKMIC0tb2ZmbGluZSDpgInpobnlj6rog73kuI4gLS1leHRlbmRlZCDmiJYgLS1wYXJzZSDpgInpobnkuIDotbfkvb/nlKjjgIJcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5Cittc2dpZCAiUmVzb3VyY2Uga2V5IgorbXNnc3RyICLotYTmupDplK4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorbXNnaWQgIktleSIKK21zZ3N0ciAi6ZSuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJSZXNvdXJjZSBJRCIKK21zZ3N0ciAi6LWE5rqQIElEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJJRCIKK21zZ3N0ciAiSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyJ3MgdXNlcm5hbWUgb3IgVUlEIgorbXNnc3RyICLmi6XmnInogIXnmoTnlKjmiLflkI3miJYgVUlEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKK21zZ2lkICJPd25lciIKK21zZ3N0ciAi5oul5pyJ6ICFIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTIKK21zZ2lkICJQZXJtaXNzaW9ucyIKK21zZ3N0ciAi5p2D6ZmQIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTMKK21zZ2lkICJDcmVhdG9yIFVJRCIKK21zZ3N0ciAiIOWIm+W7uuiAhSBVSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NAorbXNnaWQgIkNyZWF0b3IgdXNlciIKK21zZ3N0ciAiIOWIm+W7uuiAhSDnlKjmiLciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NQorbXNnaWQgIkNyZWF0b3IgR0lEIgorbXNnc3RyICLliJvlu7rogIUgR0lEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTYKK21zZ2lkICJDcmVhdG9yIGdyb3VwIgorbXNnc3RyICLliJvlu7rogIXnu4QiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworbXNnaWQgIlVzZXIgSUQiCittc2dzdHIgIueUqOaItyBJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3Cittc2dpZCAiVUlEIgorbXNnc3RyICJVSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OAorbXNnaWQgIlVzZXIgbmFtZSIKK21zZ3N0ciAi55So5oi35ZCNIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTkKK21zZ2lkICJHcm91cCBJRCIKK21zZ3N0ciAiIOe7hCBJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR0lEIgorbXNnc3RyICJHSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MAorbXNnaWQgIkdyb3VwIG5hbWUiCittc2dzdHIgIue7hOWQjSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBjaGFuZ2UiCittc2dzdHIgIuS4iuasoeabtOaUueaXtumXtCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCittc2dpZCAiTGFzdCBjaGFuZ2UiCittc2dzdHIgIuS4iuasoeabtOaUuSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY0Cittc2dpZCAiQnl0ZXMgdXNlZCIKK21zZ3N0ciAi5bey55So5a2X6IqC5pWwIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZXMiCittc2dzdHIgIua2iOaBr+aVsCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1Cittc2dpZCAiTWVzc2FnZXMiCittc2dzdHIgIua2iOaBryIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyBzZW50IgorbXNnc3RyICLkuIrmrKHlj5Hmtojmga/nmoTml7bpl7QiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIk1zZyBzZW50IgorbXNnc3RyICIg5raI5oGv5bey5Y+R6YCBIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHJlY2VpdmVkIgorbXNnc3RyICLmlLbliLDkuIrmnaHmtojmga/nmoTml7bpl7QiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIk1zZyByZWNlaXZlZCIKK21zZ3N0ciAi5raI5oGv5bey5pS25YiwIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjgKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHNlbmRlciIKK21zZ3N0ciAi5LiK5p2h5raI5oGv5Y+R6YCB6ICF55qEIFBJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiTXNnIHNlbmRlciIKK21zZ3N0ciAiIOa2iOaBr+WPkemAgeiAhSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyByZWNlaXZlciIKK21zZ3N0ciAi5LiK5p2h5raI5oGv5o6l5pS26ICF55qEIFBJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiTXNnIHJlY2VpdmVyIgorbXNnc3RyICLmtojmga/mjqXmlLbogIUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MgorbXNnaWQgIlNlZ21lbnQgc2l6ZSIKK21zZ3N0ciAi54mH5q615aSn5bCPIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJOdW1iZXIgb2YgYXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICLpmYTliqDnmoTov5vnqIvmlbAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MworbXNnaWQgIkF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAi6ZmE5Yqg55qE6L+b56iLIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzQKK21zZ2lkICJTdGF0dXMiCittc2dzdHIgIueKtuaAgSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc1Cittc2dpZCAiQXR0YWNoIHRpbWUiCittc2dzdHIgIumZhOWKoOaXtumXtCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc2Cittc2dpZCAiRGV0YWNoIHRpbWUiCittc2dzdHIgIuWIhuemu+aXtumXtCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3Cittc2dpZCAiQ3JlYXRvciBjb21tYW5kIGxpbmUiCittc2dzdHIgIuWIm+W7uuiAheWRveS7pOihjCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3Cittc2dpZCAiQ3JlYXRvciBjb21tYW5kIgorbXNnc3RyICLliJvlu7rogIXlkb3ku6QiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIlBJRCBvZiB0aGUgY3JlYXRvciIKK21zZ3N0ciAi5Yib5bu66ICF55qEIFBJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiQ3JlYXRvciBQSUQiCittc2dzdHIgIiDliJvlu7rogIUgUElEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJQSUQgb2YgbGFzdCB1c2VyIgorbXNnc3RyICIg5LiK5Liq55So5oi355qEIFBJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiTGFzdCB1c2VyIFBJRCIKK21zZ3N0ciAi5LiK5LiA55So5oi3IFBJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgyCittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgIuS/oeWPt+mHj+S4quaVsCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgyCittc2dpZCAiU2VtYXBob3JlcyIKK21zZ3N0ciAi5L+h5Y+36YePIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODMKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAiIOS4iuasoeaTjeS9nOeahOaXtumXtCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCittc2dpZCAiTGFzdCBvcGVyYXRpb24iCittc2dzdHIgIuS4iuasoeaTjeS9nCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2Cittc2dpZCAiUmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAi6LWE5rqQ5ZCN56ewIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKK21zZ2lkICJSZXNvdXJjZSIKK21zZ3N0ciAi6LWE5rqQIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJSZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAi6LWE5rqQ5o+P6L+wIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJEZXNjcmlwdGlvbiIKK21zZ3N0ciAi5o+P6L+wIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJDdXJyZW50bHkgdXNlZCIKK21zZ3N0ciAi5b2T5YmN5bey5L2/55SoIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJVc2VkIgorbXNnc3RyICLlt7Lkvb/nlKgiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorbXNnaWQgIkN1cnJlbnRseSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAi5b2T5YmN5L2/55So5q+U5L6LIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKK21zZ2lkICJVc2UiCittc2dzdHIgIuS9v+eUqCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiU3lzdGVtLXdpZGUgbGltaXQiCittc2dzdHIgIuezu+e7n+e6p+mZkOWItiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiTGltaXQiCittc2dzdHIgIumZkOWItiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbHVtbiAlcyBkb2VzIG5vdCBhcHBseSB0byB0aGUgc3BlY2lmaWVkIElQQyIKK21zZ3N0ciAi5YiXICVzIOS4jemAgueUqOS6juaMh+WumueahCBJUEMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4NworbXNnaWQgIiAtZywgLS1nbG9iYWwgICAgICBpbmZvIGFib3V0IHN5c3RlbS13aWRlIHVzYWdlIChtYXkgYmUgdXNlZCB3aXRoIC1tLCAtcSBhbmQgLXMpXG4iCittc2dzdHIgIiAtZywgLS1nbG9iYWwgICAgICDmnInlhbPns7vnu5/ojIPlm7Tkvb/nlKjph4/nmoTkv6Hmga8o5Y+v5LiOIC1tLCAtcSDlkowgLXMg5YWx55SoKVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODgKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgICAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiIC1pLCAtLWlkIDxpZD4gICAgIOaJk+WNsOeUsTxpZD7moIfor4bnmoTotYTmupDnmoTor6bnu4bkv6Hmga9cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk0Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgIOS7peWtl+iKguS4uuaJk+WNsCBTSVpF77yM6ICM6Z2e5piT6K+75qC85byPXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NQorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICAgICAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIOaYvuekuuWIm+W7uuiAheWSjOaLpeacieiAhVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTcKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIHVzZSB0aGUgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAg5L2/55SoIEpTT04g6L6T5Ye65qC85byPXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5OQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yY2UgbGlzdCBvdXRwdXQgZm9ybWF0IChmb3IgZXhhbXBsZSB3aXRoIC0taWQpXG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAg5by65Yi25Lul5YiX6KGo5qC85byP6L6T5Ye6KOWmguS4jiAtLWlkIOWFseeUqClcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAxCittc2dpZCAiIC1QLCAtLW51bWVyaWMtcGVybXMgICAgICBwcmludCBudW1lcmljIHBlcm1pc3Npb25zIChQRVJNUyBjb2x1bW4pXG4iCittc2dzdHIgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAg5omT5Y2w5p2D6ZmQ5pWw5YC8KFBFUk1TIOWIlylcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAzCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgICAgICAgICAgICAgICDmmL7npLrpmYTliqDjgIHohLHnprvlkozmm7TmlLnml7bpl7RcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmljIGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLluLjop4TpgInpobnvvJpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkLW1lbW9yeSBjb2x1bW5zICgtLXNobWVtcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLlhbHkuqvlhoXlrZjmrrUgc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlLXF1ZXVlIGNvbHVtbnMgKC0tcXVldWVzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIua2iOaBr+mYn+WIlyDliJcocXVldWVzKe+8mlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBjb2x1bW5zICgtLXNlbWFwaG9yZXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisi5L+h5Y+36YePIOWIlygtLXNlbWFwaG9yZXMp77yaXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU3VtbWFyeSBjb2x1bW5zICgtLWdsb2JhbCk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLmkZjopoEg5YiXKC0tZ2xvYmFsKe+8mlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkVsZW1lbnRzOlxuIgorIlxuIgorbXNnc3RyICIiCisi5YWD57Sg77yaXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwNQorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmUgaWRlbnRpZmllcnMiCittc2dzdHIgIuS/oeWPt+mHj+agh+ivhuespueahOaVsOmHjyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA2Cittc2dpZCAiVG90YWwgbnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgIuS/oeWPt+mHj+eahOaAu+aVsCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzA3Cittc2dpZCAiTWF4IHNlbWFwaG9yZXMgcGVyIHNlbWFwaG9yZSBzZXQuIgorbXNnc3RyICLmr4/kuKrkv6Hlj7fph4/pm4bnmoTmnIDlpKfkv6Hlj7fph4/mlbDjgIIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwOAorbXNnaWQgIk1heCBudW1iZXIgb2Ygb3BlcmF0aW9ucyBwZXIgc2Vtb3AoMikiCittc2dzdHIgIuavj+S4qiBzZW1vcCgyKSDnmoTmnIDlpKfmk43kvZzmlbAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwOQorbXNnaWQgIlNlbWFwaG9yZSBtYXggdmFsdWUiCittc2dzdHIgIuS/oeWPt+mHj+eahOacgOWkp+WAvCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODYzCittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICLmtojmga/pmJ/liJfnmoTmlbDnm64iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg2NAorbXNnaWQgIk1heCBzaXplIG9mIG1lc3NhZ2UgKGJ5dGVzKSIKK21zZ3N0ciAi5raI5oGv55qE5pyA5aSn5bC65a+4KOWtl+iKgikiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg2NQorbXNnaWQgIkRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUgKGJ5dGVzKSIKK21zZ3N0ciAi6Zif5YiX55qE6buY6K6k5pyA5aSn5bC65a+4KOWtl+iKgikiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk3OCBzeXMtdXRpbHMvbHNpcGMuYzo5OTcKK21zZ2lkICJodWdldGxiIgorbXNnc3RyICJodWdldGxiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5Nzkgc3lzLXV0aWxzL2xzaXBjLmM6MTAwNAorbXNnaWQgIm5vcmVzZXJ2ZSIKK21zZ3N0ciAibm9yZXNlcnZlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDYxCittc2dpZCAiU2hhcmVkIG1lbW9yeSBzZWdtZW50cyIKK21zZ3N0ciAi5YWx5Lqr5YaF5a2Y5q61IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDYyCittc2dpZCAiU2hhcmVkIG1lbW9yeSBwYWdlcyIKK21zZ3N0ciAi5YWx5Lqr5YaF5a2Y6aG1IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDYzCittc2dpZCAiTWF4IHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIuWFseS6q+WGheWtmOauteeahOacgOWkp+WwuuWvuCjlrZfoioIpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDY0Cittc2dpZCAiTWluIHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIuWFseS6q+WGheWtmOauteeahOacgOWwj+WwuuWvuCjlrZfoioIpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMTM1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElQQyBpZGVudGlmaWVyIgorbXNnc3RyICLop6PmnpAgSVBDIOagh+ivhuespuWksei0pSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTIyOQorbXNnaWQgIi0tZ2xvYmFsIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tY3JlYXRvciwgLS1pZCBhbmQgLS10aW1lIgorbXNnc3RyICItLWdsb2JhbCDkuI4gLS1jcmVhdG9yLCAtLWlkIOWSjCAtLXRpbWUg5LqS5palIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjgzCittc2dpZCAibmFtZXNwYWNlIGlkZW50aWZpZXIgKGlub2RlIG51bWJlcikiCittc2dzdHIgIuWQjeWtl+epuumXtOagh+ivhuespiAoaW5vZGUg5Y+3KSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NAorbXNnaWQgImtpbmQgb2YgbmFtZXNwYWNlIgorbXNnc3RyICLlkI3lrZfnqbrpl7TnsbvlnosiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODUKK21zZ2lkICJwYXRoIHRvIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgIuWQjeWtl+epuumXtOi3r+W+hCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NgorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAi5ZCN5a2X56m66Ze05Lit55qE6L+b56iL5pWwIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg3Cittc2dpZCAibG93ZXN0IFBJRCBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICLlkI3lrZfnqbrpl7TkuK3nmoTmnIDkvY4gUElEIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg4Cittc2dpZCAiUFBJRCBvZiB0aGUgUElEIgorbXNnc3RyICJQSUQg55qEIFBQSUQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODkKK21zZ2lkICJjb21tYW5kIGxpbmUgb2YgdGhlIFBJRCIKK21zZ3N0ciAiUElEIOeahOWRveS7pOihjCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MAorbXNnaWQgIlVJRCBvZiB0aGUgUElEIgorbXNnc3RyICJQSUQg55qEIFVJRCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MQorbXNnaWQgInVzZXJuYW1lIG9mIHRoZSBQSUQiCittc2dzdHIgIlBJRCDnmoTnlKjmiLflkI0iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxuYW1lc3BhY2U+XVxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gWzzlkI3lrZfnqbrpl7Q+XVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYxNgorbXNnaWQgIkxpc3Qgc3lzdGVtIG5hbWVzcGFjZXMuXG4iCittc2dzdHIgIuWIl+WHuuezu+e7n+WQjeWtl+epuumXtOOAglxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYyMworbXNnaWQgIiAtcCwgLS10YXNrIDxwaWQ+ICAgICAgIHByaW50IHByb2Nlc3MgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgLXAsIC0tdGFzayA8cGlkPiAgICAgICDmiZPljbDov5vnqIvlkI3lrZfnqbrpl7RcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo2MjYKK21zZ2lkICIgLXQsIC0tdHlwZSA8bmFtZT4gICAgICBuYW1lc3BhY2UgdHlwZSAobW50LCBuZXQsIGlwYywgdXNlciwgcGlkLCB1dHMsIGNncm91cClcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGUgPG5hbWU+ICAgICAg5ZCN5a2X56m66Ze057G75Z6LKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzLCBjZ3JvdXApXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzE2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbmFtZXNwYWNlIHR5cGU6ICVzIgorbXNnc3RyICLmnKrnn6XnmoTlkI3lrZfnqbrpl7TnsbvlnovvuLAgJXMiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzM1Cittc2dpZCAiLS10YXNrIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxuYW1lc3BhY2U+IgorbXNnc3RyICItLXRhc2sg5LiOIDzlkI3lrZfnqbrpl7Q+IOS6kuaWpSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MzYKK21zZ2lkICJpbnZhbGlkIG5hbWVzcGFjZSBhcmd1bWVudCIKK21zZ3N0ciAi5peg5pWI55qE5ZCN5a2X56m66Ze05Y+C5pWwIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjc3NAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZm91bmQgbmFtZXNwYWNlOiAlanUiCittc2dzdHIgIuaJvuS4jeWIsOWQjeWtl+epuumXtO+4sCAlanUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY2IHN5cy11dGlscy91bW91bnQuYzoxMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAi5Y+q5pyJIHJvb3Qg55So5oi36IO95L2/55So4oCcLS0lc+KAnemAiemhuSjmnInmlYggVUlEIOaYryAldSkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY5IHN5cy11dGlscy91bW91bnQuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiBkbyB0aGF0IChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAi5Y+q5pyJIHJvb3Qg55So5oi36IO95omn6KGM6K+l5pON5L2cKOacieaViCBVSUQg5Li6ICV1KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzMgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24iCittc2dzdHIgIuWPquaciSByb290IOeUqOaIt+iDveS9v+eUqOKAnC0tJXPigJ3pgInpobkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0IHN5cy11dGlscy91bW91bnQuYzoxMjUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCittc2dzdHIgIuWPquaciSByb290IOiDveaJp+ihjOivpeaTjeS9nCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6ODUgc3lzLXV0aWxzL3Vtb3VudC5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgKGxpYm1vdW50ICVzIgorbXNnc3RyICIlc++8jOadpeiHqiAlcyhsaWJtb3VudCAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTMwCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbXRhYiIKK21zZ3N0ciAi6K+75Y+WIG10YWIg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTIgc3lzLXV0aWxzL3Vtb3VudC5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogaWdub3JlZFxuIgorbXNnc3RyICIlLTI1c++8muW3suW/veeVpVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGFscmVhZHkgbW91bnRlZFxuIgorbXNnc3RyICIlLTI1c++8muW3sue7j+aMgui9vVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdmVkIHRvICVzLlxuIgorbXNnc3RyICIlc++8miVzIOW3suenu+WIsCAlc+OAglxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGJvdW5kIG9uICVzLlxuIgorbXNnc3RyICIlc++8miVzIOW3sue7keWumuWIsCAlcyDjgIJcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjU0IHN5cy11dGlscy9tb3VudC5jOjI1OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW91bnRlZCBvbiAlcy5cbiIKK21zZ3N0ciAiJXPvvJolcyDlt7LmjILoh7fliLAgJXPjgIJcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBwcm9wYWdhdGlvbiBmbGFncyBjaGFuZ2VkLlxuIgorbXNnc3RyICIlc++8miVzIOS8oOaSreagh+W/l+W3suabtOaUueOAglxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm1vdW50OiAlcyBkb2VzIG5vdCBjb250YWluIFNFTGludXggbGFiZWxzLlxuIgorIiAgICAgICBZb3UganVzdCBtb3VudGVkIGFuIGZpbGUgc3lzdGVtIHRoYXQgc3VwcG9ydHMgbGFiZWxzIHdoaWNoIGRvZXMgbm90XG4iCisiICAgICAgIGNvbnRhaW4gbGFiZWxzLCBvbnRvIGFuIFNFTGludXggYm94LiBJdCBpcyBsaWtlbHkgdGhhdCBjb25maW5lZFxuIgorIiAgICAgICBhcHBsaWNhdGlvbnMgd2lsbCBnZW5lcmF0ZSBBVkMgbWVzc2FnZXMgYW5kIG5vdCBiZSBhbGxvd2VkIGFjY2VzcyB0b1xuIgorIiAgICAgICB0aGlzIGZpbGUgc3lzdGVtLiAgRm9yIG1vcmUgZGV0YWlscyBzZWUgcmVzdG9yZWNvbig4KSBhbmQgbW91bnQoOCkuXG4iCittc2dzdHIgIiIKKyJtb3VudO+8miVzIOS4jeWMheWQqyBTRUxpbnV4IOagh+W/l1xuIgorIiAgICAgICDmgqjliJrlsIbkuIDkuKrmlK/mjIHmoIfnrb7kvYbmnKrljIXlkKvmoIfnrb7nmoTmlofku7bns7vnu5/mjILovb3liLDkuoYgU0VMaW51eCDmnLrlmajkuIrjgIJcbiIKKyIgICAgICAg5Y+X6ZmQ5Yi255qE5bqU55So56iL5bqP5Y+v6IO95Lya55Sf5oiQIEFWQyDmtojmga/vvIzlubbooqvpmLvmraLorr/pl67or6Xmlofku7bns7vnu5/jgIJcbiIKKyIgICAgICAg5pu05aSa6K+m57uG5L+h5oGv6K+35Y+C6ZiFIHJlc3RvcmVjb24oOCkg5ZKMIG1vdW50KDgp44CCXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3OAorbXNnaWQgIldBUk5JTkc6IGZhaWxlZCB0byBhcHBseSBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAi6K2m5ZGK77ya5bqU55So5Lyg5pKt5qCH5b+X5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKK21zZ3N0ciAi5Y+q5pyJIHJvb3Qg6IO95bCGICVzIOaMgui9veWIsCAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCIKK21zZ3N0ciAiJXMg5bey57uP5oyC6L29IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgdXNlZCBhcyByZWFkIG9ubHkgbG9vcCwgbW91bnRpbmcgcmVhZC1vbmx5IgorbXNnc3RyICIlcyDmraPnlKjkuo7lj6ror7vlm57njq/vvIzlsIbku6Xlj6ror7vmlrnlvI/mjILovb0iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kICVzIGluICVzIgorbXNnc3RyICLlnKggJTIkcyDkuK3mib7kuI3liLAgJTEkcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDIzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnRwb2ludCAlcyBpbiAlcyIKK21zZ3N0ciAi5ZyoICUyJHMg5Lit5om+5LiN5Yiw5oyC6L2954K5ICUxJHMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50IHNvdXJjZSAlcyBpbiAlcyIKK21zZ3N0ciAi5ZyoICUyJHMg5Lit5om+5LiN5Yiw5oyC6L295rqQICUxJHMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXM6IG1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQuIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sXG4iCisiICAgICAgIHVzZSAtdCA8dHlwZT4gdG8gZXhwbGljaXRseSBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUgb3JcbiIKKyIgICAgICAgdXNlIHdpcGVmcyg4KSB0byBjbGVhbiB1cCB0aGUgZGV2aWNlLiIKK21zZ3N0ciAiIgorIiVz77ya5qOA5rWL5Yiw5pu05aSa5paH5Lu257O757uf44CC6L+Z5LiN5bqU6K+l5Ye6546w77yMXG4iCisiICAgICAgIOivt+S9v+eUqCAtdCA857G75Z6LPiDmjIfmmI7mlofku7bns7vnu5/nsbvlnovmiJZcbiIKKyIgICAgICAg5L2/55SoIHdpcGVmcyg4KSDmuIXnkIbor6Xorr7lpIfjgIIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzNgorbXNnaWQgIkkgY291bGQgbm90IGRldGVybWluZSB0aGUgZmlsZXN5c3RlbSB0eXBlLCBhbmQgbm9uZSB3YXMgc3BlY2lmaWVkIgorbXNnc3RyICLnqIvluo/ml6Dms5Xmo4DmtYvmlofku7bns7vnu5/nsbvlnovvvIzlubbkuJTmgqjmnKrmjIflrprnsbvlnosiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzOQorbXNnaWQgInlvdSBtdXN0IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAi5oKo5b+F6aG75oyH5piO5paH5Lu257O757uf57G75Z6LIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCAlcyIKK21zZ3N0ciAi5om+5LiN5YiwICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDcKK21zZ2lkICJtb3VudCBzb3VyY2Ugbm90IGRlZmluZWQiCittc2dzdHIgIuacquWumuS5ieaMguiHt+a6kCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDUxIHN5cy11dGlscy9tb3VudC5jOjQ1MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zIgorbXNnc3RyICLop6PmnpDmjILoh7fpgInpobnlpLHotKUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlc++8muiuvue9ruWbnueOr+iuvuWkh+Wksei0pSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudCBmYWlsZWQiCittc2dzdHIgIiVz77ya5oyC6L295aSx6LSlIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZpbGVzeXN0ZW0gbW91bnRlZCwgYnV0IG1vdW50KDgpIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJrmlofku7bns7vnu5/lt7LmjILovb3vvIzkvYYgbW91bnQoOCkg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0ODkgc3lzLXV0aWxzL21vdW50LmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50ICVzIGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAi5oyC6L2954K5ICVzIOS4jeaYr+ebruW9lSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDkzCittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorbXNnc3RyICLlv4Xpobvku6XotoXnuqfnlKjmiLfouqvku73kvb/nlKggbW91bnQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBidXN5IgorbXNnc3RyICIlcyDlv5kiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb3IgJXMgYnVzeSIKK21zZ3N0ciAiJXMg5bey57uP5oyC6L295oiWICVzIOW/mSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKK21zZ3N0ciAiICAgICAgICVzIOW3sue7j+aMgui9veWIsCAlcyDkuIpcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50ICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICLmjILovb3ngrkgJXMg5LiN5a2Y5ZyoIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgJXMgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCittc2dzdHIgIuaMgui9veeCuSAlcyDmmK/kuIDkuKrmsqHmnInnm67moIfnmoTnrKblj7fpk77mjqUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi54m55q6K6K6+5aSHICVzIOS4jeWtmOWcqCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTM2IHN5cy11dGlscy9tb3VudC5jOjUzOCBzeXMtdXRpbHMvbW91bnQuYzo1NDAKKyM6IHN5cy11dGlscy9tb3VudC5jOjU1NQorbXNnaWQgIm1vdW50KDIpIGZhaWxlZCIKK21zZ3N0ciAibW91bnQoMikg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KSIKK21zZ3N0ciAi54m55q6K6K6+5aSHICVzIOS4jeWtmOWcqCjot6/lvoTliY3nvIDkuI3mmK/nm67lvZUpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IG1vdW50ZWQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAiJXMg5pyq5oyC6L295oiW6YCJ6aG55pyJ6K+vIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50cG9pbnQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAiJXMg5LiN5piv5LiA5Liq5oyC6L2954K55oiW6YCJ6aG55pyJ6K+vIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjUKK21zZ2lkICIiCisiYmFkIG9wdGlvbi4gTm90ZSB0aGF0IG1vdmluZyBhIG1vdW50IHJlc2lkaW5nIHVuZGVyIGEgc2hhcmVkXG4iCisiICAgICAgIG1vdW50IGlzIHVuc3VwcG9ydGVkLiIKK21zZ3N0ciAi6YCJ6aG56ZSZ6K+v44CC5rOo5oSP77yM5LiN5pSv5oyB56e75Yqo5L2N5LqO5YWx5Lqr5oyC6L295YaF55qE5oyC6L2944CCIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIndyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLFxuIgorIiAgICAgICBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKK21zZ3N0ciAiIgorIuaWh+S7tuezu+e7n+exu+Wei+mUmeivr+OAgemAiemhuemUmeivr+OAgSVzIOS4iuacieWdj+i2hee6p+Wdl+OAgVxuIgorIiAgICAgICDnvLrlsJHku6PnoIHpobXmiJbliqnmiYvnqIvluo/vvIzmiJblhbbku5bplJnor68iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU3NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAgIChmb3Igc2V2ZXJhbCBmaWxlc3lzdGVtcyAoZS5nLiBuZnMsIGNpZnMpIHlvdSBtaWdodFxuIgorIiAgICAgICBuZWVkIGEgL3NiaW4vbW91bnQuPHR5cGU+IGhlbHBlciBwcm9ncmFtKVxuIgorbXNnc3RyICIiCisiICAgICAgICjlr7nmn5Dkupvmlofku7bns7vnu58o5aaCIG5mc+OAgWNpZnMpIOaCqOWPr+iDvemcgOimgVxuIgorIiAgICAgICDkuIDmrL4gL3NiaW4vbW91bnQuPOexu+Weiz4g5Yqp5omL56iL5bqPKVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiAgICAgICBJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGlzIGZvdW5kIGluIHN5c2xvZyAtIHRyeVxuIgorIiAgICAgICBkbWVzZyB8IHRhaWwgb3Igc28uXG4iCittc2dzdHIgIiIKKyJcbiIKKyIgICAgICAg5pyJ5Lqb5oOF5Ya15LiL5ZyoIHN5c2xvZyDkuK3lj6/ku6Xmib7liLDkuIDkupvmnInnlKjkv6Hmga8tIOivt+WwneivlVxuIgorIiAgICAgICBkbWVzZyB8IHRhaWwgIOi/meagt+eahOWRveS7pOeci+eci+OAglxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1ODMKK21zZ2lkICJtb3VudCB0YWJsZSBmdWxsIgorbXNnc3RyICLmjILovb3ooajmu6EiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIgorbXNnc3RyICIlc++8muS4jeiDveivu+i2hee6p+WdlyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTkyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlICclcyciCittc2dzdHIgIuacquefpeeahOaWh+S7tuezu+e7n+exu+Wei+KAnCVz4oCdIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1OTQKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAi5pyq55+l55qE5paH5Lu257O757uf57G75Z6LIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCgyKSBmYWlscz8iCittc2dzdHIgIiVzIOS4jeaYr+Wdl+iuvuWkh++8jOiAjOS4lCBzdGF0KDIpIOWksei0pe+8nyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ0aGUga2VybmVsIGRvZXMgbm90IHJlY29nbml6ZSAlcyBhcyBhIGJsb2NrIGRldmljZVxuIgorIiAgICAgICAobWF5YmUgYG1vZHByb2JlIGRyaXZlcic/KSIKK21zZ3N0ciAiIgorIuWGheaguOaXoOazleWwhiAlcyDor4bliKvkuLrlnZforr7lpIdcbiIKKyIgICAgICAgKOivleivleKAnG1vZHByb2JlIGRyaXZlcuKAne+8nykiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UgKG1heWJlIHRyeSBgLW8gbG9vcCc/KSIKK21zZ3N0ciAiJXMg5LiN5piv5Z2X6K6+5aSHKOeUqCBgLW8gbG9vcCcg6K+V6K+V77yfKSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzIOS4jeaYr+S4gOS4quWdl+iuvuWkhyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXMg5LiN5piv5LiA5Liq5pyJ5pWI55qE5Z2X6K6+5aSHIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50ICVzIHJlYWQtb25seSIKK21zZ3N0ciAi5peg5rOV5Lul5Y+q6K+75pa55byP5oyC6L29ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCBgLXcnIGZsYWcgZ2l2ZW4iCittc2dzdHIgIiVzIOaYr+WGmeS/neaKpOeahO+8jOS9huaMh+aYjuS6huKAnC134oCd5qCH5b+XIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlbW91bnQgJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorbXNnc3RyICLml6Dms5Xku6Xor7vlhpnmlrnlvI/ph43mlrDmjILovb0gJXPvvIzlroPmmK/lhpnkv53miqTnmoQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYzMSBzeXMtdXRpbHMvbW91bnQuYzo2NTQgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxODgKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgb24gJXMgZmFpbGVkIgorbXNnc3RyICLlsIYgJXMg5oyC6L295YiwICVzIOWksei0pSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHdyaXRlLXByb3RlY3RlZCwgbW91bnRpbmcgcmVhZC1vbmx5IgorbXNnc3RyICIlcyDlhpnkv53miqTvvIzlsIbku6Xlj6ror7vmlrnlvI/mjILovb0iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBtZWRpdW0gZm91bmQgb24gJXMiCittc2dzdHIgIuWcqCAlcyDkuIrmib7kuI3liLDlqpLkvZMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIgorbXNnc3RyICIlc++8muino+aekOWksei0pSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG9wdGlvbiBmb3JtYXQ6ICVzIgorbXNnc3RyICLkuI3mlK/mjIHnmoTlj4LmlbDmoLzlvI/vvJolcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzE5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhcHBlbmQgb3B0aW9uICclcyciCittc2dzdHIgIui/veWKoOmAiemhueKAnCVz4oCd5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbGhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2VdIDxzb3VyY2U+IHwgWy0tdGFyZ2V0XSA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIDxvcGVyYXRpb24+IDxtb3VudHBvaW50PiBbPHRhcmdldD5dXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLWxoVl1cbiIKKyIgJTEkcyAtYSBb6YCJ6aG5XVxuIgorIiAlMSRzIFvpgInpobldIFstLXNvdXJjZV0gPOa6kD4gfCBbLS10YXJnZXRdIDznm67lvZU+XG4iCisiICUxJHMgW+mAiemhuV0gPOa6kD4gPOebruW9lT5cbiIKKyIgJTEkcyA85pON5L2cPiA85oyC6L2954K5PiBbPOebruaghz5dXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0NAorbXNnaWQgIk1vdW50IGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAi5oyC6L295paH5Lu257O757uf44CCXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIG1vdW50IGFsbCBmaWxlc3lzdGVtcyBtZW50aW9uZWQgaW4gZnN0YWJcbiIKKyIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCisiIC1mLCAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIG1vdW50KDIpIHN5c2NhbGxcbiIKKyIgLUYsIC0tZm9yayAgICAgICAgICAgICAgZm9yayBvZmYgZm9yIGVhY2ggZGV2aWNlICh1c2Ugd2l0aCAtYSlcbiIKKyIgLVQsIC0tZnN0YWIgPHBhdGg+ICAgICAgYWx0ZXJuYXRpdmUgZmlsZSB0byAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAg5oyC6L29IGZzdGFiIOS4reeahOaJgOacieaWh+S7tuezu+e7n1xuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICDkuI3lr7not6/lvoTop4TojIPljJZcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAg56m66L+Q6KGM77yb6Lez6L+HIG1vdW50KDIpIOezu+e7n+iwg+eUqFxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICDlr7nmr4/kuKrorr7lpIfnpoHnlKggZm9yayjlkowgLWEg6YCJ6aG55LiA6LW35L2/55SoKVxuIgorIiAtVCwgLS1mc3RhYiA86Lev5b6EPiAgICAgIC9ldGMvZnN0YWIg55qE5pu/5Luj5paH5Lu2XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgbW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIOS4jeiwg+eUqCBtb3VudC48dHlwZT4g6L6F5Yqp56iL5bqPXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NgorIywgYy1mb3JtYXQKK21zZ2lkICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgc2hvdyBhbHNvIGZpbGVzeXN0ZW0gbGFiZWxzXG4iCittc2dzdHIgIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICDkuZ/mmL7npLrmlofku7bns7vnu5/moIfnrb5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU4IHN5cy11dGlscy91bW91bnQuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCittc2dzdHIgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICDkuI3lhpkgL2V0Yy9tdGFiXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc2MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIG1vdW50IG9wdGlvbnNcbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtb25seSAoc2FtZSBhcyAtbyBybylcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb3B0aW9ucyA85YiX6KGoPiAgICDmjILovb3pgInpobnliJfooajvvIzku6Xoi7HmlofpgJflj7fliIbpmpRcbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDzliJfooag+ICDpmZDliLbmlofku7bns7vnu5/pm4blkIgo5ZKMIC1hIOmAiemhueS4gOi1t+S9v+eUqClcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAg5Lul5Y+q6K+75pa55byP5oyC6L295paH5Lu257O757ufKOWQjCAtbyBybylcbiIKKyIgLXQsIC0tdHlwZXMgPOWIl+ihqD4gICAgICDpmZDliLbmlofku7bns7vnu5/nsbvlnovpm4blkIhcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tc291cmNlIDxzcmM+ICAgICAgZXhwbGljaXRseSBzcGVjaWZpZXMgc291cmNlIChwYXRoLCBsYWJlbCwgdXVpZClcbiIKKyIgICAgIC0tdGFyZ2V0IDx0YXJnZXQ+ICAgZXhwbGljaXRseSBzcGVjaWZpZXMgbW91bnRwb2ludFxuIgorbXNnc3RyICIiCisiICAgICAtLXNvdXJjZSA85rqQPiAgICAgICDmjIfmmI7mupAo6Lev5b6E44CB5qCH562+44CBdXVpZClcbiIKKyIgICAgIC0tdGFyZ2V0IDznm67moIc+ICAgICDmjIfmmI7mjILovb3ngrlcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzY4IHN5cy11dGlscy91bW91bnQuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAg5omT5Y2w5b2T5YmN6L+b6KGM55qE5pON5L2cXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc3MAorIywgYy1mb3JtYXQKK21zZ2lkICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC13cml0ZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIOS7peivu+WGmeaWueW8j+aMgui9veaWh+S7tuezu+e7nyjpu5jorqQpXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU291cmNlOlxuIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCittc2dzdHIgIiIKKyJcbiIKKyLmupDvvJpcbiIKKyIgLUwsIC0tbGFiZWwgPOagh+etvj4gICAgICDlkIwgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICDlkIwgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9POagh+etvj4gICAgICAgICAgICDmjInmlofku7bns7vnu5/moIfnrb7mjIflrprorr7lpIdcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICAg5oyJ5paH5Lu257O757ufIFVVSUQg5oyH5a6a6K6+5aSHXG4iCisiIFBBUlRMQUJFTD085qCH562+PiAgICAgICAg5oyJ5YiG5Yy65qCH562+5oyH5a6a6K6+5aSHXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIOaMieWIhuWMuiBVVUlEIOaMh+WumuiuvuWkh1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorbXNnc3RyICIiCisiIDzorr7lpIc+ICAgICAgICAgICAgICAgICAg5oyJ6Lev5b6E5oyH5a6a6K6+5aSHXG4iCisiIDznm67lvZU+ICAgICAgICAgICAgICAgICAg57uR5a6a5byP5oyC6L2955qE5oyC6L2954K5KOWPgumYhSAtLWJpbmQvcmJpbmQpXG4iCisiIDzmlofku7Y+ICAgICAgICAgICAgICAgICAg55So5LqO6K6+572u5Zue546v6K6+5aSH55qE5bi46KeE5paH5Lu2XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc5MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3BlcmF0aW9uczpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIHNvbWV3aGVyZSBlbHNlIChzYW1lIGFzIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG1vdmUgYSBzdWJ0cmVlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlXG4iCittc2dzdHIgIiIKKyJcbiIKKyLmk43kvZzvvJpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAg5oyC6L295YW25LuW5L2N572u55qE5a2Q5qCRKOWQjCAtbyBiaW5kKVxuIgorIiAtTSwgLS1tb3ZlICAgICAgICAgICAgICDlsIblrZDmoJHnp7vliqjliLDlhbbku5bkvY3nva5cbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAg5oyC6L295YW25LuW5L2N572u55qE5a2Q5qCR5Y+K5YW25YyF5ZCr55qE5omA5pyJ5a2Q5oyC6L29KHN1Ym1vdW50KVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXNsYXZlICAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXByaXZhdGUgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICBtYXJrIGEgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAg5bCG5a2Q5qCR5qCH6K6w5Li6IOWFseS6q1xuIgorIiAtLW1ha2Utc2xhdmUgICAgICAgICAgICDlsIblrZDmoJHmoIforrDkuLog5LuO5bGeXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIOWwhuWtkOagkeagh+iusOS4uiDnp4HmnIlcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAg5bCG5a2Q5qCR5qCH6K6w5Li6IOS4jeWPr+e7keWumlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2UtcnNoYXJlZCAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXJzbGF2ZSAgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXJwcml2YXRlICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtcnVuYmluZGFibGUgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKyIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAg6YCS5b2S5Zyw5bCG5pW05Liq5a2Q5qCR5qCH6K6w5Li6IOWFseS6q1xuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICDpgJLlvZLlnLDlsIbmlbTkuKrlrZDmoJHmoIforrDkuLog5LuO5bGeXG4iCisiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIOmAkuW9kuWcsOWwhuaVtOS4quWtkOagkeagh+iusOS4uiDnp4HmnIlcbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAg6YCS5b2S5Zyw5bCG5pW05Liq5a2Q5qCR5qCH6K6w5Li6IOS4jeWPr+e7keWumlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4ODcgc3lzLXV0aWxzL3Vtb3VudC5jOjU0OAorbXNnaWQgImxpYm1vdW50IGNvbnRleHQgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgImxpYm1vdW50IOeOr+Wigyhjb250ZXh0KeWIhumFjeWksei0pSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6OTQ0IHN5cy11dGlscy91bW91bnQuYzo2MDEKK21zZ2lkICJmYWlsZWQgdG8gc2V0IG9wdGlvbnMgcGF0dGVybiIKK21zZ3N0ciAi6K6+572u6YCJ6aG55qih5byP5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMDk3Cittc2dpZCAic291cmNlIHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAi5rqQ5oyH5a6a5LqG5aSa5qyhIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1xZF0gL3BhdGgvdG8vZGlyZWN0b3J5XG4iCisiICUxJHMgLXggL2Rldi9kZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstcWRdIC/nm67lvZUv55qEL+i3r+W+hFxuIgorIiAlMSRzIC14IC9kZXYv6K6+5aSHXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTIyCittc2dpZCAiQ2hlY2sgd2hldGhlciBhIGRpcmVjdG9yeSBvciBmaWxlIGlzIGEgbW91bnRwb2ludC5cbiIKK21zZ3N0ciAi5qOA5p+l55uu5b2V5oiW5paH5Lu25piv5ZCm5Li65oyC6L2954K544CCXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTI1Cittc2dpZCAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgcXVpZXQgbW9kZSAtIGRvbid0IHByaW50IGFueXRoaW5nXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgYmxvY2sgZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgLXEsIC0tcXVpZXQgICAgICAgIOWuiemdmeaooeW8jyAtIOS4jeaJk+WNsOS7u+S9leS/oeaBr1xuIgorIiAtZCwgLS1mcy1kZXZubyAgICAg5omT5Y2w5paH5Lu257O757uf55qEIOS4u++8muasoSDorr7lpIflj7dcbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIOaJk+WNsOWdl+iuvuWkh+eahOS4u++8muasoeiuvuWkh+WPt1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjE5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzIOS4jeaYr+S4gOS4quaMgui9veeCuVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjIwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiJXMg5piv5LiA5Liq5oyC6L2954K5XG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzIgc3lzLXV0aWxzL3NldHByaXYuYzo5MyBzeXMtdXRpbHMvdW5zaGFyZS5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1cbiIKK21zZ3N0ciAiICVzIFvpgInpobldIDznqIvluo8+IFs85Y+C5pWwPi4uLl1cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3NgorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBuYW1lc3BhY2VzIG9mIG90aGVyIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAi5Lul5YW25LuW56iL5bqP55qE5ZCN5a2X56m66Ze06L+Q6KGM5p+Q5Liq56iL5bqP44CCXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzkKK21zZ2lkICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICB0YXJnZXQgcHJvY2VzcyB0byBnZXQgbmFtZXNwYWNlcyBmcm9tXG4iCittc2dzdHIgIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgIOimgeiOt+WPluWQjeWtl+epuumXtOeahOebruagh+i/m+eoi1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgwCittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgZW50ZXIgbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbSwgLS1tb3VudFs9POaWh+S7tj5dICAg6L+b5YWlIG1vdW50IOWQjeWtl+epuumXtFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgxCittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgZW50ZXIgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIgLXUsIC0tdXRzWz085paH5Lu2Pl0gICAgIOi/m+WFpSBVVFMg5ZCN5a2X56m66Ze0KOS4u+acuuWQjeetiSlcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MgorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgIGVudGVyIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1pLCAtLWlwY1s9POaWh+S7tj5dICAgICDov5vlhaUgU3lzdGVtIFYgSVBDIOWQjeWtl+epuumXtFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgzCittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgZW50ZXIgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1uLCAtLW5ldFs9POaWh+S7tj5dICAgICDov5vlhaXnvZHnu5zlkI3lrZfnqbrpl7RcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NAorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgIGVudGVyIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZFs9POaWh+S7tj5dICAgICDov5vlhaUgcGlkIOWQjeWtl+epuumXtFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg1Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgZW50ZXIgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLUMsIC0tY2dyb3VwWz085paH5Lu2Pl0gIOi/m+WFpSBjZ3JvdXAg5ZCN5a2X56m66Ze0XG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODYKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICBlbnRlciB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLVUsIC0tdXNlcls9POaWh+S7tj5dICAgIOi/m+WFpeeUqOaIt+WQjeWtl+epuumXtFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg3Cittc2dpZCAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgc2V0IHVpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLVMsIC0tc2V0dWlkIDx1aWQ+ICAgICDorr7nva7ov5vlhaXnqbrpl7TkuK3nmoQgdWlkXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODgKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtRywgLS1zZXRnaWQgPGdpZD4gICAgIOiuvue9rui/m+WFpeWQjeWtl+epuumXtOS4reeahCBnaWRcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OQorbXNnaWQgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyBkbyBub3QgdG91Y2ggdWlkcyBvciBnaWRzXG4iCittc2dzdHIgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyDkuI3lubLmtokgdWlkIOaIliBnaWRcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MAorbXNnaWQgIiAtciwgLS1yb290Wz08ZGlyPl0gICAgIHNldCB0aGUgcm9vdCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1yLCAtLXJvb3RbPTznm67lvZU+XSAgICAg6K6+572u5qC555uu5b2VXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTEKK21zZ2lkICIgLXcsIC0td2RbPTxkaXI+XSAgICAgICBzZXQgdGhlIHdvcmtpbmcgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtdywgLS13ZFs9PGRpcj5dICAgICAgIOiuvue9ruW3peS9nOebruW9lVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkyCittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgZG8gbm90IGZvcmsgYmVmb3JlIGV4ZWMnaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgLUYsIC0tbm8tZm9yayAgICAgICAgICDmiafooYwgPOeoi+W6jz4g5YmN5LiNIGZvcmtcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NAorbXNnaWQgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgIHNldCBTRUxpbnV4IGNvbnRleHQgYWNjb3JkaW5nIHRvIC0tdGFyZ2V0IFBJRFxuIgorbXNnc3RyICIgLVosIC0tZm9sbG93LWNvbnRleHQgIOagueaNriAtLXRhcmdldCBQSUQg6K6+572uIFNFTGludXgg546v5aKDXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5laXRoZXIgZmlsZW5hbWUgbm9yIHRhcmdldCBwaWQgc3VwcGxpZWQgZm9yICVzIgorbXNnc3RyICLmsqHmnInkuLogJXMg5o+Q5L6b5paH5Lu25ZCN5oiW55uu5qCHIHBpZCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoyNzcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdWlkIgorbXNnc3RyICLop6PmnpAgdWlkIOWksei0pSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoyODEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZ2lkIgorbXNnc3RyICLop6PmnpAgZ2lkIOWksei0pSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMTcKK21zZ2lkICJubyB0YXJnZXQgUElEIHNwZWNpZmllZCBmb3IgLS1mb2xsb3ctY29udGV4dCIKK21zZ3N0ciAi5rKh5pyJ5Li6IC0tZm9sbG93LWNvbnRleHQg6K6+572u55uu5qCHIFBJRCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCAlZCBTRUxpbnV4IGNvbnRleHQiCittc2dzdHIgIuacquiDveiOt+WPliAlZCBTRUxpbnV4IOeOr+WigyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBleGVjIGNvbnRleHQgdG8gJyVzJyIKK21zZ3N0ciAi5ZCR4oCcJXPigJ3orr7nva4gZXhlYyDnjq/looPlpLHotKUiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mzc0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYXNzb2NpYXRlIHRvIG5hbWVzcGFjZSAnJXMnIGZhaWxlZCIKK21zZ3N0ciAi6YeN5paw5YWz6IGU5Yiw5ZCN5a2X56m66Ze04oCcJXPigJ3lpLHotKUiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzkwCittc2dpZCAiY2Fubm90IG9wZW4gY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAi5omT5LiN5byA5b2T5YmN5bel5L2c55uu5b2VIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM5NworbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgcm9vdCBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICLmoLnmja4gcm9vdCDmlofku7bmj4/ov7DnrKYg5pu05pS555uu5b2V5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQwMAorbXNnaWQgImNocm9vdCBmYWlsZWQiCittc2dzdHIgImNocm9vdCDlpLHotKUiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDEwCittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSB3b3JraW5nIGRpcmVjdG9yeSBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICLmjInlt6XkvZznm67lvZXmlofku7bmj4/ov7DnrKbmm7TmlLnnm67lvZXlpLHotKUiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDIxIHN5cy11dGlscy9zZXRwcml2LmM6ODE1IHN5cy11dGlscy9zZXRwcml2LmM6ODE5Cittc2dpZCAic2V0Z3JvdXBzIGZhaWxlZCIKK21zZ3N0ciAic2V0Z3JvdXBzIOWksei0pSIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIG5ld19yb290IHB1dF9vbGRcbiIKK21zZ3N0ciAiICVzIFvpgInpobldIOaWsOagueebruW9lSDml6fmoLnnm67lvZXmm7TlkI1cbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozNworbXNnaWQgIkNoYW5nZSB0aGUgcm9vdCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLmm7TmlLnmoLnmlofku7bns7vnu5/jgIJcbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QgZnJvbSBgJXMnIHRvIGAlcyciCittc2dzdHIgIuWwhuagueebruW9leS7juKAnCVz4oCd5pu05pS55Li64oCcJXPigJ3lpLHotKUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzUKK21zZ2lkICJhZGRyZXNzIHNwYWNlIGxpbWl0IgorbXNnc3RyICLlnLDlnYDnqbrpl7TpmZDliLYiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKK21zZ2lkICJtYXggY29yZSBmaWxlIHNpemUiCittc2dzdHIgIuacgOWkp+aguOW/g+aWh+S7tuWwuuWvuCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworbXNnaWQgIkNQVSB0aW1lIgorbXNnc3RyICJDUFUg5pe26Ze0IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAic2Vjb25kcyIKK21zZ3N0ciAi56eS5pWwIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4Cittc2dpZCAibWF4IGRhdGEgc2l6ZSIKK21zZ3N0ciAi5pyA5aSn5pWw5o2u5bC65a+4IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5Cittc2dpZCAibWF4IGZpbGUgc2l6ZSIKK21zZ3N0ciAi5pyA5aSn5paH5Lu25bC65a+4IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCittc2dpZCAibWF4IG51bWJlciBvZiBmaWxlIGxvY2tzIGhlbGQiCittc2dzdHIgIuacgOWkp+aWh+S7tumUgeS/neaMgeaVsOmHjyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorbXNnaWQgImxvY2tzIgorbXNnc3RyICLplIEiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKK21zZ2lkICJtYXggbG9ja2VkLWluLW1lbW9yeSBhZGRyZXNzIHNwYWNlIgorbXNnc3RyICLmnIDlpKflhoXlrZjplIHlrpoobG9ja2VkLWluLW1lbW9yeSnlnLDlnYDnqbrpl7QiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIKK21zZ2lkICJtYXggYnl0ZXMgaW4gUE9TSVggbXF1ZXVlcyIKK21zZ3N0ciAiUE9TSVgg5raI5oGv6Zif5YiX5Lit55qE5pyA5aSn5a2X6IqC5pWwIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgzCittc2dpZCAibWF4IG5pY2UgcHJpbyBhbGxvd2VkIHRvIHJhaXNlIgorbXNnc3RyICLlhYHorrjmj5DljYfnmoTmnIDlpKcgbmljZSDkvJjlhYjnuqciCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKK21zZ2lkICJtYXggbnVtYmVyIG9mIG9wZW4gZmlsZXMiCittc2dzdHIgIuaJk+W8gOaWh+S7tueahOacgOWkp+aVsOmHjyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorbXNnaWQgImZpbGVzIgorbXNnc3RyICLmlofku7YiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKK21zZ2lkICJtYXggbnVtYmVyIG9mIHByb2Nlc3NlcyIKK21zZ3N0ciAi5pyA5aSn6L+b56iL5pWwIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1Cittc2dpZCAicHJvY2Vzc2VzIgorbXNnc3RyICLov5vnqIsiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODYKK21zZ2lkICJtYXggcmVzaWRlbnQgc2V0IHNpemUiCittc2dzdHIgIuacgOWkp+mpu+eVmembhuWwuuWvuCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NworbXNnaWQgIm1heCByZWFsLXRpbWUgcHJpb3JpdHkiCittc2dzdHIgIuacgOWkp+WunuaXtuS8mOWFiOe6pyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgInRpbWVvdXQgZm9yIHJlYWwtdGltZSB0YXNrcyIKK21zZ3N0ciAi5a6e5pe25Lu75Yqh6LaF5pe2IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAibWljcm9zZWNzIgorbXNnc3RyICLmr6vnp5LmlbAiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJtYXggbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscyIKK21zZ3N0ciAi5oyC6LW3KHBlbmRpbmcp5L+h5Y+355qE5pyA5aSn5pWw6YePIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAic2lnbmFscyIKK21zZ3N0ciAi5L+h5Y+3IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAibWF4IHN0YWNrIHNpemUiCittc2dzdHIgIuacgOWkp+agiChzdGFjaynlsLrlr7giCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTIzCittc2dpZCAicmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAi6LWE5rqQ5ZCN56ewIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNAorbXNnaWQgInJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICLotYTmupDmj4/ov7AiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI1Cittc2dpZCAic29mdCBsaW1pdCIKK21zZ3N0ciAi6L2v6ZmQ5Yi2IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNgorbXNnaWQgImhhcmQgbGltaXQgKGNlaWxpbmcpIgorbXNnc3RyICLnoazpmZDliLYo6Kem6aG2KSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjcKK21zZ2lkICJ1bml0cyIKK21zZ3N0ciAi5Y2V5L2NIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstcCBQSURdXG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSBbLXAgUElEXVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIENPTU1BTkRcbiIKK21zZ3N0ciAiICVzIFvpgInpobldIOWRveS7pFxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2NgorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZXNvdXJjZSBsaW1pdHMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICLmmL7npLrmiJbmm7TmlLnov5vnqIvnmoTotYTmupDpmZDliLbjgIIgXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY4Cittc2dpZCAiIgorIlxuIgorIkdlbmVyYWwgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIuW4uOinhOmAiemhue+8mlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OQorbXNnaWQgIiIKKyIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBwcm9jZXNzIGlkXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorIiAgICAgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCisiICAgICAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorIiAgICAgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAg6L+b56iLIGlkXG4iCisiIC1vLCAtLW91dHB1dCA85YiX6KGoPiAgICDlrprkuYnopoHkvb/nlKjnmoTovpPlh7rliJdcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICDkuI3miZPljbDmoIfpophcbiIKKyIgICAgIC0tcmF3ICAgICAgICAgICAgICDkvb/nlKjljp/nlJ/ovpPlh7rmoLzlvI9cbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICDor6blsL3ovpPlh7pcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICDmmL7npLrmraTluK7liqnlubbpgIDlh7pcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICDovpPlh7rniYjmnKzkv6Hmga/lubbpgIDlh7pcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzcKK21zZ2lkICIiCisiXG4iCisiUmVzb3VyY2VzIE9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLotYTmupDpgInpobnvvJpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzgKK21zZ2lkICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGNvcmUgZmlsZXMgY3JlYXRlZFxuIgorIiAtZCwgLS1kYXRhICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBhIHByb2Nlc3MncyBkYXRhIHNlZ21lbnRcbiIKKyIgLWUsIC0tbmljZSAgICAgICAgICAgICBtYXhpbXVtIG5pY2UgcHJpb3JpdHkgYWxsb3dlZCB0byByYWlzZVxuIgorIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBmaWxlcyB3cml0dGVuIGJ5IHRoZSBwcm9jZXNzXG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAgbWF4aW11bSBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAgbWF4aW11bSBzaXplIGEgcHJvY2VzcyBtYXkgbG9jayBpbnRvIG1lbW9yeVxuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgIG1heGltdW0gcmVzaWRlbnQgc2V0IHNpemVcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBvcGVuIGZpbGVzXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgbWF4aW11bSBieXRlcyBpbiBQT1NJWCBtZXNzYWdlIHF1ZXVlc1xuIgorIiAtciwgLS1ydHByaW8gICAgICAgICAgIG1heGltdW0gcmVhbC10aW1lIHNjaGVkdWxpbmcgcHJpb3JpdHlcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICBtYXhpbXVtIHN0YWNrIHNpemVcbiIKKyIgLXQsIC0tY3B1ICAgICAgICAgICAgICBtYXhpbXVtIGFtb3VudCBvZiBDUFUgdGltZSBpbiBzZWNvbmRzXG4iCisiIC11LCAtLW5wcm9jICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgdXNlciBwcm9jZXNzZXNcbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICBzaXplIG9mIHZpcnR1YWwgbWVtb3J5XG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgZmlsZSBsb2Nrc1xuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgIENQVSB0aW1lIGluIG1pY3Jvc2Vjb25kcyBhIHByb2Nlc3Mgc2NoZWR1bGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXIgcmVhbC10aW1lIHNjaGVkdWxpbmdcbiIKK21zZ3N0ciAiIgorIiAtYywgLS1jb3JlICAgICAgICAgICAgIOWIm+W7uuaguOW/g+aWh+S7tueahOacgOWkp+WwuuWvuFxuIgorIiAtZCwgLS1kYXRhICAgICAgICAgICAgIOi/m+eoi+aVsOaNruauteeahOacgOWkp+WwuuWvuFxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIOWFgeiuuOaPkOWNh+eahOacgOWkpyBuaWNlIOS8mOWFiOe6p1xuIgorIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgIOi/m+eoi+WGmeaWh+S7tueahOacgOWkp+WwuuWvuFxuIgorIiAtaSwgLS1zaWdwZW5kaW5nICAgICAgIOaMgui1tyhwZW5kaW5nKeS/oeWPt+eahOacgOWkp+aVsOmHj1xuIgorIiAtbCwgLS1tZW1sb2NrICAgICAgICAgIOWGheWtmOS4rei/m+eoi+mUgeeahOacgOWkp+aVsOmHj1xuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgICjlhoXlrZjomZrmi5/pobUp6am755WZ6ZuG55qE5pyA5aSn5pWw6YePXG4iCisiIC1uLCAtLW5vZmlsZSAgICAgICAgICAg5omT5byA5paH5Lu255qE5pyA5aSn5pWw6YePXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgUE9TSVgg5raI5oGv6Zif5YiX55qE5pyA5aSn5a2X6IqC5pWwXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAg5pyA5aSn5a6e5pe26LCD5bqm5LyY5YWI57qnXG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAg5pyA5aSn5qCIKHN0YWNrKeWwuuWvuFxuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIOacgOmVvyBDUFUg5pe26Ze0KOenkilcbiIKKyIgLXUsIC0tbnByb2MgICAgICAgICAgICDmnIDlpJrnlKjmiLfov5vnqIvmlbDph49cbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICDomZrmi5/lhoXlrZjlpKflsI9cbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICDmlofku7bplIHnmoTmnIDlpKfmlbDph49cbiIKKyIgLXksIC0tcnR0aW1lICAgICAgICAgICDlrp7ml7bosIPluqbml7bov5vnqIvosIPluqbnmoQgQ1BVXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgKOmXtOmalCnml7bpl7Qo5q+r56eSKVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0MyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzEKK21zZ2lkICJ1bmxpbWl0ZWQiCittc2dzdHIgIuaXoOmZkOWItiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBvbGQgJXMgbGltaXQiCittc2dzdHIgIuiOt+WPluaXp+eahCAlcyDpmZDliLblpLHotKUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzU2CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBzb2Z0IGxpbWl0ICVzIGNhbm5vdCBleGNlZWQgdGhlIGhhcmQgbGltaXQiCittc2dzdHIgIui9r+mZkOWItiAlcyDkuI3og73otoXov4fnoazpmZDliLYiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5ldyAlcyBsaW1pdCBmb3IgcGlkICVkOiAiCittc2dzdHIgInBpZCAlMiRkIOeahOaWsCAlMSRzIOmZkOWItu+8miIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgIuiuvue9riAlcyDotYTmupDpmZDliLblpLHotKUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mzc5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICLojrflj5YgJXMg6LWE5rqQ6ZmQ5Yi25aSx6LSlIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgbGltaXQiCittc2dzdHIgIuino+aekCAlcyDpmZDliLblpLHotKUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NTg1Cittc2dpZCAib3B0aW9uIC0tcGlkIG1heSBiZSBzcGVjaWZpZWQgb25seSBvbmNlIgorbXNnc3RyICItLXBpZCDpgInpobnlj6rog73mjIflrprkuIDmrKEiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NjE2Cittc2dpZCAib3B0aW9ucyAtLXBpZCBhbmQgQ09NTUFORCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItLXBpZCDlkowg5ZG95LukIOS6kuebuOaOkuaWpSIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA3Cittc2dpZCAiRGlzcGxheSBrZXJuZWwgcHJvZmlsaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICLmmL7npLrlhoXmoLjliIbmnpDkv6Hmga/jgIJcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbSwgLS1tYXBmaWxlIDxtYXBmaWxlPiAgIChkZWZhdWx0czogXCIlc1wiIGFuZFxuIgorbXNnc3RyICIgLW0sIC0tbWFwZmlsZSA85pig5bCE5paH5Lu2PiAgKOm7mOiupO+8muKAnCVz4oCd5ZKMXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJXNcIilcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDigJwlc+KAnSlcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtcCwgLS1wcm9maWxlIDxwcm8tZmlsZT4gIChkZWZhdWx0OiAgXCIlc1wiKVxuIgorbXNnc3RyICIgLXAsIC0tcHJvZmlsZSA8cHJvLWZpbGU+ICAo6buY6K6k77ya4oCcJXPigJ0pXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNgorbXNnaWQgIiAtTSwgLS1tdWx0aXBsaWVyIDxtdWx0PiAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iCittc2dzdHIgIiAtTSwgLS1tdWx0aXBsaWVyIDzkuZjmlbA+ICAg5bCG5oCn6IO95rWL6K+V5LmY5pWw6K6+572u5Li6POS5mOaVsD5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE3Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgcHJpbnQgb25seSBpbmZvIGFib3V0IHRoZSBzYW1wbGluZyBzdGVwXG4iCittc2dzdHIgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIOWPquaJk+WNsOacieWFs+mHh+agt+atpemqpChzYW1wbGluZyBzdGVwKeeahOS/oeaBr1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTgKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBwcmludCB2ZXJib3NlIGRhdGFcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAg5omT5Y2w6K+m57uG5L+h5oGvXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIHByaW50IGFsbCBzeW1ib2xzLCBldmVuIGlmIGNvdW50IGlzIDBcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAg5omT5Y2w5omA5pyJ56ym5Y+377yM5Y2z5L2/6K6h5pWw5Li6IDBcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIwCittc2dpZCAiIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorbXNnc3RyICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICDmiZPljbDlkITkuKrnm7Tmlrnlm77ljLrpl7TnmoTorqHmlbBcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIxCittc2dpZCAiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCittc2dzdHIgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIOaJk+WNsOWHveaVsOWGheeahOeLrOeri+iuoeaVsFxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjIKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIOmHjee9ruaJgOacieiuoeaVsCjpmZAgcm9vdCDnlKjmiLcpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMworbXNnaWQgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorbXNnc3RyICIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICDnpoHnlKjlrZfoioLpobrluo/oh6rliqjmo4DmtYtcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjQwCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHdyaXRpbmcgJXMiCittc2dzdHIgIuWGmSAlcyDlh7rplJkiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI3MQorbXNnaWQgIkFzc3VtaW5nIHJldmVyc2VkIGJ5dGUgb3JkZXIuIFVzZSAtbiB0byBmb3JjZSBuYXRpdmUgYnl0ZSBvcmRlci4iCittc2dzdHIgIuWwhuWBh+iuvuS4uuWPjeWQkeWtl+iKgumhuuW6j+OAguWPr+S9v+eUqCAtbiDlvLrliLbkuLrljp/nlJ/lrZfoioLpobrluo/jgIIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI4NgorIywgYy1mb3JtYXQKK21zZ2lkICJTYW1wbGluZ19zdGVwOiAldVxuIgorbXNnc3RyICLph4fmoLfmraXplb/vvJoldVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMDIgc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzKCVpKTogd3JvbmcgbWFwIGxpbmUiCittc2dzdHIgIiVzKCVpKe+8mumUmeivr+eahCBtYXAg6KGMIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBcIl9zdGV4dFwiIGluICVzIgorbXNnc3RyICLlnKggJXMg5Lit5om+5LiN5Yiw4oCcX3N0ZXh04oCdIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozNDYKK21zZ2lkICJwcm9maWxlIGFkZHJlc3Mgb3V0IG9mIHJhbmdlLiBXcm9uZyBtYXAgZmlsZT8iCittc2dzdHIgIumFjee9rihwcm9maWxlKeWcsOWdgOi2heWHuuiMg+WbtOOAgm1hcCDmlofku7bplJnor6/vvJ8iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjQwNAorbXNnaWQgInRvdGFsIgorbXNnc3RyICLmgLvorqEiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MgorbXNnaWQgInByb2Nlc3MgSUQiCittc2dzdHIgIui/m+eoiyBJRCIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUzCittc2dpZCAicHJvY2VzcyBncm91cCBJRCIKK21zZ3N0ciAi6L+b56iL57uEIElEIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiBbLXB8LS1waWRdIDxwaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtZ3wtLXBncnAgPHBnaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtdXwtLXVzZXIgPHVzZXI+Li4uXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLW5dIDzkvJjlhYjnuqc+IFstcHwtLXBpZF0gPHBpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDzkvJjlhYjnuqc+ICAtZ3wtLXBncnAgPHBnaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA85LyY5YWI57qnPiAgLXV8LS11c2VyIDznlKjmiLc+Li4uXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2NworbXNnaWQgIkFsdGVyIHRoZSBwcmlvcml0eSBvZiBydW5uaW5nIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAi5pS55Y+Y6L+Q6KGM6L+b56iL55qE5LyY5YWI57qn44CCIFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzAKK21zZ2lkICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorbXNnc3RyICIgLW4sIC0tcHJpb3JpdHkgPOaVsOWtlz4gIOaMh+WumiBuaWNlIOWinumHj1xuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzEKK21zZ2lkICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBJRCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAg5bCG5Y+C5pWw6Kej6YeK5Li66L+b56iLIElEICjpu5jorqQpXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MgorbXNnaWQgIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIGdyb3VwIElEXG4iCittc2dzdHIgIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIOWwhuWPguaVsOino+mHiuS4uui/m+eoi+e7hCBJRFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzMKK21zZ2lkICIgLXUsIC0tdXNlciA8bmFtZT58PGlkPiBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIgorbXNnc3RyICIgLXUsIC0tdXNlciA8bmFtZT58PGlkPiDlsIblj4LmlbDop6Pph4rkuLog55So5oi35ZCNIOaIliDnlKjmiLcgSURcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgIuiOt+WPliAlZCAoJXMpIOeahOS8mOWFiOe6p+Wksei0pSIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjk5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgIuiuvue9riAlZCDnmoTkvJjlhYjnuqflpLHotKUoJXMpIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkICglcykgb2xkIHByaW9yaXR5ICVkLCBuZXcgcHJpb3JpdHkgJWRcbiIKK21zZ3N0ciAiJWQgKCVzKSDml6fkvJjlhYjnuqfkuLogJWTvvIzmlrDkvJjlhYjnuqfkuLogJWRcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjE3NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHVzZXIgJXMiCittc2dzdHIgIuacquefpeeUqOaItyAlcyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyBvbmUgb2YgdGhlIGFib3ZlCisjLiAqIHRocmVlIElEIG5hbWVzLiBSZWFkOiAiYmFkIHZhbHVlIGZvciAlczogJXMiCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTg1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCAlcyB2YWx1ZTogJXMiCittc2dzdHIgIumUmeivr+eahCAlcyDlgLzvvJolcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo5OAorbXNnaWQgIkVudGVyIGEgc3lzdGVtIHNsZWVwIHN0YXRlIHVudGlsIGEgc3BlY2lmaWVkIHdha2V1cCB0aW1lLlxuIgorbXNnc3RyICLov5vlhaXns7vnu5/nnaHnnKDnirbmgIHvvIznm7TliLDmjIflrprnmoTllKTphpLml7bpl7TjgIJcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDEKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICAgICAgICAgIHJlYWRzIHRoZSBjbG9jayBtb2RlIGZyb20gYWRqdXN0IGZpbGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAg5LuOIGFkanVzdCDmlofku7bor7vlj5bml7bpkp/mqKHlvI8o6buY6K6kKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWRqZmlsZSA85paH5Lu2PiAgICAg5oyH5a6aIGFkanVzdCDmlofku7bnmoTot6/lvoRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAg6buY6K6k5Li6ICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA1Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICBkYXRlIHRpbWUgb2YgdGltZXN0YW1wIHRvIHdha2VcbiIKK21zZ3N0ciAiICAgICAtLWRhdGUgPOaXtumXtOaIsz4gICAgICDllKTphpLml7bpl7TmiLPnmoTml6XmnJ/ml7bpl7RcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDYKK21zZ2lkICIgLWQsIC0tZGV2aWNlIDxkZXZpY2U+ICAgIHNlbGVjdCBydGMgZGV2aWNlIChydGMwfHJ0YzF8Li4uKVxuIgorbXNnc3RyICIgLWQsIC0tZGV2aWNlIDzorr7lpIc+ICAgICAg6YCJ5oupIHJ0YyDorr7lpIcocnRjMHxydGMxfC4uLilcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDcKK21zZ2lkICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGRvZXMgZXZlcnl0aGluZywgYnV0IHN1c3BlbmRcbiIKK21zZ3N0ciAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICDmvJTnpLrmk43kvZzkvYbkuI3miafooYwoc3VzcGVuZClcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDgKK21zZ2lkICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCittc2dzdHIgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIOS9v+eUqOacrOWcsOaXtuWMulxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOQorbXNnaWQgIiAgICAgLS1saXN0LW1vZGVzICAgICAgICAgbGlzdCBhdmFpbGFibGUgbW9kZXNcbiIKK21zZ3N0ciAiICAgICAtLWxpc3QtbW9kZXMgICAgICAgICDliJflh7rlj6/nlKjmqKHlvI9cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTAKK21zZ2lkICIgLW0sIC0tbW9kZSA8bW9kZT4gICAgICAgIHN0YW5kYnl8bWVtfC4uLiBzbGVlcCBtb2RlXG4iCittc2dzdHIgIiAtbSwgLS1tb2RlIDzmqKHlvI8+ICAgICAgICDmjIflrpogc3RhbmRieXxtZW18Li4uIOetieedoeecoOaooeW8j1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMQorbXNnaWQgIiAtcywgLS1zZWNvbmRzIDxzZWNvbmRzPiAgc2Vjb25kcyB0byBzbGVlcFxuIgorbXNnc3RyICIgLXMsIC0tc2Vjb25kcyA856eS5pWwPiAgICAg5oyH5a6a552h55yg55qE56eS5pWwXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEyCittc2dpZCAiIC10LCAtLXRpbWUgPHRpbWVfdD4gICAgICB0aW1lIHRvIHdha2VcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgPHRpbWVfdD4gICAgICDmjIflrprllKTphpLml7bliLtcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTMKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2VzIFVUQ1xuIgorbXNnc3RyICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyDkvb/nlKggVVRDXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAg6L6T5Ye66K+m5bC95raI5oGvXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTY3Cittc2dpZCAicmVhZCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgIuivu+WPliBydGMg5pe26Ze05aSx6LSlIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE3MworbXNnaWQgInJlYWQgc3lzdGVtIHRpbWUgZmFpbGVkIgorbXNnc3RyICLor7vlj5bns7vnu5/ml7bpl7TlpLHotKUiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTg5Cittc2dpZCAiY29udmVydCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgIui9rOaNoiBydGMg5pe26Ze05aSx6LSlIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjIzNworbXNnaWQgInNldCBydGMgd2FrZSBhbGFybSBmYWlsZWQiCittc2dzdHIgIuiuvue9riBydGMg5ZSk6YaS6Ze56ZKf5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHRoaXJkIGxpbmUgaW46ICVzOiAlcyIKK21zZ3N0ciAi56ysIDMg6KGM5byC5bi477yaJXPvvJolcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjAgc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjQKK21zZ2lkICJyZWFkIHJ0YyBhbGFybSBmYWlsZWQiCittc2dzdHIgIuivu+WPliBydGMg6Ze56ZKf5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb2ZmXG4iCittc2dzdHIgIumXuemSn++8muWFs1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMzOAorbXNnaWQgImNvbnZlcnQgdGltZSBmYWlsZWQiCittc2dzdHIgIui9rOaNouaXtumXtOWksei0pSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9uICAlcyIKK21zZ3N0ciAi6Ze56ZKf77ya5LqOICAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQ6ICVzIgorbXNnc3RyICLml6Dms5Xor7vlj5bvuLAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHN1c3BlbmQgc3RhdGUgJyVzJyIKK21zZ3N0ciAi5LiN5pSv5oyB55qE5oyC6LW354q25oCB4oCcJXPigJ0iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDc1Cittc2dpZCAiaW52YWxpZCBzZWNvbmRzIGFyZ3VtZW50IgorbXNnc3RyICLml6DmlYjnmoQg56eS5pWwIOWPguaVsCIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0NzkKK21zZ2lkICJpbnZhbGlkIHRpbWUgYXJndW1lbnQiCittc2dzdHIgIuaXoOaViOeahCDml7bpl7Qg5Y+C5pWwIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYXNzdW1pbmcgUlRDIHVzZXMgVVRDIC4uLlxuIgorbXNnc3RyICIlc++8muWwhuWBh+iuviBSVEMg5L2/55SoIFVUQy4uLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxMQorbXNnaWQgIlVzaW5nIFVUQyB0aW1lLlxuIgorbXNnc3RyICLkvb/nlKggVVRDIOaXtumXtOOAglxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxMgorbXNnaWQgIlVzaW5nIGxvY2FsIHRpbWUuXG4iCittc2dzdHIgIuS9v+eUqOW9k+WcsOaXtumXtOOAglxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUxNQorbXNnaWQgIm11c3QgcHJvdmlkZSB3YWtlIHRpbWUgKHNlZSAtLXNlY29uZHMsIC0tdGltZSBhbmQgLS1kYXRlIG9wdGlvbnMpIgorbXNnc3RyICLlv4Xpobvmj5DkvpvllKTphpLml7bpl7Qo6KeBIC0tc2Vjb25kcywgLS10aW1lIOWSjCAtLWRhdGUg6YCJ6aG5KSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGVuYWJsZWQgZm9yIHdha2V1cCBldmVudHMiCittc2dzdHIgIiVzIOayoeacieS4uuWUpOmGkuS6i+S7tuWQr+eUqCIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm0gJWxkLCBzeXNfdGltZSAlbGQsIHJ0Y190aW1lICVsZCwgc2Vjb25kcyAldVxuIgorbXNnc3RyICLpl7npkp8gJWxk77yMc3lzIOaXtumXtCAlbGTvvIxydGMg5pe26Ze0ICVsZO+8jOenkuaVsCAldVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzNQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGRvZXNuJ3QgZ28gYmFja3dhcmQgdG8gJXMiCittc2dzdHIgIuaXtumXtOS4jeiDvei/lOWbnuWIsCAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiJTEkc++8mueUqCAlMyRzIOeahCAlMiRzIOWUpOmGkiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCBmcm9tIFwiJXNcIiB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiJXPvvJrku47igJwlc+KAneWUpOmGku+8jOS9v+eUqCAlc++8jOaXtumXtCAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBubzsgbGVhdmluZ1xuIgorbXNnc3RyICLmjILotbfmqKHlvI/vvJrml6DvvJvlsIbnprvlvIBcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvZmY7IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICLmjILotbfmqKHlvI/vvJrlhbPvvJvmraPlnKjmiafooYwgJXNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvbjsgcmVhZGluZyBydGNcbiIKK21zZ3N0ciAi5oyC6LW35qih5byP77ya5byA77yb5q2j5Zyo6K+7IHJ0Y1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU5MgorbXNnaWQgInJ0YyByZWFkIGZhaWxlZCIKK21zZ3N0ciAi6K+7IHJ0YyDlpLHotKUiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjA0CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogZGlzYWJsZTsgZGlzYWJsaW5nIGFsYXJtXG4iCittc2dzdHIgIuaMgui1t+aooeW8j++8muemgeeUqO+8m+ato+WcqOemgeeUqOmXuemSn1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIKK21zZ3N0ciAi5oyC6LW35qih5byP77ya5pi+56S677yb5q2j5Zyo5omT5Y2w6Ze56ZKf5L+h5oGvXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjE1CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogJXM7IHN1c3BlbmRpbmcgc3lzdGVtXG4iCittc2dzdHIgIuaMgui1t+aooeW8j++8miVz77yb5q2j5Zyo5oyC6LW357O757ufXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjI5Cittc2dpZCAiZGlzYWJsZSBydGMgYWxhcm0gaW50ZXJydXB0IGZhaWxlZCIKK21zZ3N0ciAi56aB55SoIHJ0YyDpl7npkp/kuK3mlq3lpLHotKUiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3dpdGNoaW5nIG9uICVzLlxuIgorbXNnc3RyICLmraPlnKjmiZPlvIAgJXPjgIJcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGFyY2g+IFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIDzmnrbmnoQ+IFvpgInpobldIFs856iL5bqPPiBbPOWPguaVsD4uLi5dXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSBbPOeoi+W6jz4gWzzlj4LmlbA+Li4uXV1cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5NgorbXNnaWQgIkNoYW5nZSB0aGUgcmVwb3J0ZWQgYXJjaGl0ZWN0dXJlIGFuZCBzZXQgcGVyc29uYWxpdHkgZmxhZ3MuXG4iCittc2dzdHIgIuabtOaUueaKpeWRiueahOaetuaehOW5tuiuvue9ruS6uuagvOagh+W/lyhwZXJzb25hbGl0eSBmbGFnKSDjgIJcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5OQorbXNnaWQgIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgdHVybnMgb24gQUREUl9MSU1JVF8zMkJJVFxuIgorbXNnc3RyICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIOW8gOWQryBBRERSX0xJTUlUXzMyQklUXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAwCittc2dpZCAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorbXNnc3RyICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIOWwhueoi+W6j+aMh+mSiOaMh+WQkeaPj+i/sOesplxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMQorbXNnaWQgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgdHVybnMgb24gU0hPUlRfSU5PREVcbiIKK21zZ3N0ciAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICDlvIDlkK8gU0hPUlRfSU5PREVcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDIKK21zZ2lkICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKK21zZ3N0ciAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCDmm7TmlLnomZrmi5/lhoXlrZjliIbphY3nmoTmlrnlvI9cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDMKK21zZ2lkICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIGRpc2FibGVzIHJhbmRvbWl6YXRpb24gb2YgdGhlIHZpcnR1YWwgYWRkcmVzcyBzcGFjZVxuIgorbXNnc3RyICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIOemgeatoumaj+acuuWMluiZmuaLn+WcsOWdgOepuumXtFxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNAorbXNnaWQgIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgdHVybnMgb24gV0hPTEVfU0VDT05EU1xuIgorbXNnc3RyICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIOW8gOWQryBXSE9MRV9TRUNPTkRTXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA1Cittc2dpZCAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0dXJucyBvbiBTVElDS1lfVElNRU9VVFNcbiIKK21zZ3N0ciAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICDlvIDlkK8gU1RJQ0tZX1RJTUVPVVRTXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA2Cittc2dpZCAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICB0dXJucyBvbiBSRUFEX0lNUExJRVNfRVhFQ1xuIgorbXNnc3RyICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIOW8gOWQryBSRUFEX0lNUExJRVNfRVhFQ1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNworbXNnaWQgIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgdHVybnMgb24gTU1BUF9QQUdFX1pFUk9cbiIKK21zZ3N0ciAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICDlvIDlkK8gTU1BUF9QQUdFX1pFUk9cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDgKK21zZ2lkICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCittc2dzdHIgIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAg5bCG55So5oi35Zyw5Z2A56m66Ze06ZmQ5Yi25Li65pyA5aSaIDMgR0JcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDkKK21zZ2lkICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGlnbm9yZWQgKGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IG9ubHkpXG4iCittc2dzdHIgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAg5b+955WlKOe6r+S4uuWFvOWuuSlcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTAKK21zZ2lkICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHR1cm5zIG9uIFVOQU1FMjZcbiIKK21zZ3N0ciAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICDlvIDlkK8gVU5BTUUyNlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgc2F5IHdoYXQgb3B0aW9ucyBhcmUgYmVpbmcgc3dpdGNoZWQgb25cbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICDlkYrnn6XmiZPlvIDkuoblk6rkupvpgInpoblcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTQKK21zZ2lkICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3Qgc2V0dGFibGUgYXJjaGl0ZWN0dXJlcywgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAtLWxpc3QgICAgICAgICAgICAgICDliJflh7rlj6/orr7nva7nmoTmnrbmnoTlubbpgIDlh7pcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzXG4iCisiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKK21zZ3N0ciAiIgorIiVzXG4iCisi6K+35L2/55So4oCcJXMgLS1oZWxw4oCd5LqG6Kej5pu05aSa5L+h5oGv44CCIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorbXNnc3RyICLor7fkvb/nlKjigJwlcyAtLWhlbHDigJ3kuobop6Pmm7TlpJrkv6Hmga/jgIIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBVbnJlY29nbml6ZWQgYXJjaGl0ZWN0dXJlIgorbXNnc3RyICIlc++8muacquivhuWIq+eahOaetuaehCIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiS2VybmVsIGNhbm5vdCBzZXQgYXJjaGl0ZWN0dXJlIHRvICVzIgorbXNnc3RyICLlhoXmoLjkuI3og73orr7nva7kuLogJXMg55qE5p625p6EIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjMwNQorbXNnaWQgIk5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICLlj4LmlbDkuI3lpJ8iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzIyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIuaXoOazleWwhuS6uuagvChwZXJzb25hbGl0eSnorr7nva7kuLogJXMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc5Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnLS1saXN0JyIKK21zZ3N0ciAi5peg5rOV6K+G5Yir55qE4oCcLS1saXN04oCd6YCJ6aG5IgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM4NworbXNnaWQgIm5vIGFyY2hpdGVjdHVyZSBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgIuacquaMh+WumuaetuaehOWPguaVsCIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAi5peg5rOV5bCG5Lq65qC8KHBlcnNvbmFsaXR5Keiuvue9ruS4uiAlcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXhlY3V0ZSBjb21tYW5kIGAlcycuXG4iCittc2dzdHIgIuaJp+ihjOWRveS7pOKAnCVz4oCd44CCXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggZGlmZmVyZW50IHByaXZpbGVnZSBzZXR0aW5ncy5cbiIKK21zZ3N0ciAi5Lul5LiN5ZCM55qE5p2D6ZmQ6K6+572u6L+Q6KGM56iL5bqP44CCXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTAwCittc2dpZCAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICBzaG93IGN1cnJlbnQgc3RhdGUgKGFuZCBkbyBub3QgZXhlYyBhbnl0aGluZylcbiIKK21zZ3N0ciAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICDmmL7npLrlvZPliY3nirbmgIEo5LiN5omn6KGM5Lu75L2V5pON5L2cKVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMQorbXNnaWQgIiAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAgZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXNcbiIKK21zZ3N0ciAiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICDnpoHmraLotYvkuojmlrDmnYPpmZBcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDIKK21zZ2lkICIgLS1pbmgtY2FwcyA8Y2FwcywuLi4+ICAgIHNldCBpbmhlcml0YWJsZSBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIC0taW5oLWNhcHMgPGNhcHMsLi4uPiAgICDorr7nva7lj6/nu6fmib/nmoTmnYPog71cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDMKK21zZ2lkICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgIHNldCBjYXBhYmlsaXR5IGJvdW5kaW5nIHNldFxuIgorbXNnc3RyICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgIOiuvue9ruadg+iDvee7keWumumbhlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNAorbXNnaWQgIiAtLXJ1aWQgPHVpZD4gICAgICAgICAgICAgc2V0IHJlYWwgdWlkXG4iCittc2dzdHIgIiAtLXJ1aWQgPHVpZD4gICAgICAgICAgICAg6K6+572u5a6e6ZmFIHVpZFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNQorbXNnaWQgIiAtLWV1aWQgPHVpZD4gICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICDorr7nva7mnInmlYggdWlkXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA2Cittc2dpZCAiIC0tcmdpZCA8Z2lkPiAgICAgICAgICAgICBzZXQgcmVhbCBnaWRcbiIKK21zZ3N0ciAiIC0tcmdpZCA8Z2lkPiAgICAgICAgICAgICDorr7nva7lrp7pmYUgZ2lkXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA3Cittc2dpZCAiIC0tZWdpZCA8Z2lkPiAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIgLS1lZ2lkIDxnaWQ+ICAgICAgICAgICAgIOiuvue9ruacieaViCBnaWRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDgKK21zZ2lkICIgLS1yZXVpZCA8dWlkPiAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiAtLXJldWlkIDx1aWQ+ICAgICAgICAgICAg6K6+572u5a6e6ZmF5ZKM5pyJ5pWIIHVpZFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwOQorbXNnaWQgIiAtLXJlZ2lkIDxnaWQ+ICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiIC0tcmVnaWQgPGdpZD4gICAgICAgICAgICDorr7nva7lrp7pmYXlkozmnInmlYggZ2lkXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEwCittc2dpZCAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICBjbGVhciBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLS1jbGVhci1ncm91cHMgICAgICAgICAgIOa4hemZpOmZhOWxnue7hFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMQorbXNnaWQgIiAtLWtlZXAtZ3JvdXBzICAgICAgICAgICAga2VlcCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgIOS/neeVmemZhOWxnue7hFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMgorbXNnaWQgIiAtLWdyb3VwcyA8Z3JvdXAsLi4uPiAgICAgc2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiAtLWdyb3VwcyA857uELC4uLj4gICAgICAgIOiuvue9rumZhOWxnue7hFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExMworbXNnaWQgIiAtLXNlY3VyZWJpdHMgPGJpdHM+ICAgICAgc2V0IHNlY3VyZWJpdHNcbiIKK21zZ3N0ciAiIC0tc2VjdXJlYml0cyA85L2NPiAgICAgICAg6K6+572u5a6J5YWo5L2NXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE0Cittc2dpZCAiIC0tc2VsaW51eC1sYWJlbCA8bGFiZWw+ICBzZXQgU0VMaW51eCBsYWJlbFxuIgorbXNnc3RyICIgLS1zZWxpbnV4LWxhYmVsIDzmoIfnrb4+ICDorr7nva4gU0VMaW51eCDmoIfnrb5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTUKK21zZ2lkICIgLS1hcHBhcm1vci1wcm9maWxlIDxwcj4gIHNldCBBcHBBcm1vciBwcm9maWxlXG4iCittc2dzdHIgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAg6K6+572uIEFwcEFybW9yIOmFjee9ruaWh+S7tlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyMQorbXNnaWQgIiBUaGlzIHRvb2wgY2FuIGJlIGRhbmdlcm91cy4gIFJlYWQgdGhlIG1hbnBhZ2UsIGFuZCBiZSBjYXJlZnVsLlxuIgorbXNnc3RyICLov5DooYzmraTlt6XlhbfmnInpo47pmanjgILor7fpmIXor7sgbWFuIOaJi+WGjO+8jOiwqOaFjuaTjeS9nOOAglxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE5MyBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2NworbXNnaWQgImdldHRpbmcgcHJvY2VzcyBzZWN1cmUgYml0cyBmYWlsZWQiCittc2dzdHIgIuiOt+WPlui/m+eoi+WuieWFqOS9jeWksei0pSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdXJlYml0czogIgorbXNnc3RyICLlronlhajkvY3vvJoiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIltub25lXVxuIgorbXNnc3RyICJb5pegXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIGxvbmciCittc2dzdHIgIiVz77ya6L+H6ZW/IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwczogIgorbXNnc3RyICLpmYTlsZ7nu4TvvJoiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjczIHN5cy11dGlscy9zZXRwcml2LmM6MzIxIHN5cy11dGlscy9zZXRwcml2LmM6MzI2CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzMiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV0iCittc2dzdHIgIlvml6BdIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ6ICV1XG4iCittc2dzdHIgInVpZO+8miV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImV1aWQ6ICV1XG4iCittc2dzdHIgImV1aWTvvJoldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJzdWlkOiAldVxuIgorbXNnc3RyICJzdWlk77yaJXVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTkgc3lzLXV0aWxzL3NldHByaXYuYzozOTEKK21zZ2lkICJnZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJnZXRyZXN1aWQg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMwOCBzeXMtdXRpbHMvc2V0cHJpdi5jOjQwNgorbXNnaWQgImdldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgImdldHJlc2dpZCDlpLHotKUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIkVmZmVjdGl2ZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAi5pyJ5pWI5p2D6IO977yaIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyNAorIywgYy1mb3JtYXQKK21zZ2lkICJQZXJtaXR0ZWQgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIuWFgeiuuOeahOadg+iDve+8miIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIuWPr+e7p+aJv+eahOadg+iDve+8miIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FwYWJpbGl0eSBib3VuZGluZyBzZXQ6ICIKK21zZ3N0ciAi5p2D6IO957uR5a6a6ZuG77yaIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MworbXNnaWQgIlNFTGludXggbGFiZWwiCittc2dzdHIgIlNFTGludXgg5qCH562+IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0NgorbXNnaWQgIkFwcEFybW9yIHByb2ZpbGUiCittc2dzdHIgIkFwcEFybW9yIOmFjee9ruaWh+S7tiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FwICVkOiBsaWJjYXAtbmcgaXMgYnJva2VuIgorbXNnc3RyICLmnYPog70gJWTvvJpsaWJjYXAtbmcg5o2f5Z2PIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4MgorbXNnaWQgIkludmFsaWQgc3VwcGxlbWVudGFyeSBncm91cCBpZCIKK21zZ3N0ciAi5peg5pWI55qE6ZmE5bGe57uEIGlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5OQorbXNnaWQgInNldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgInNldHJlc3VpZCDlpLHotKUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDE0Cittc2dpZCAic2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0cmVzZ2lkIOWksei0pSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MzUKK21zZ2lkICJiYWQgY2FwYWJpbGl0eSBzdHJpbmciCittc2dzdHIgIumUmeivr+eahOadg+iDveWtl+espuS4siIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NDMKK21zZ2lkICJsaWJjYXAtbmcgaXMgdG9vIG9sZCBmb3IgXCJhbGxcIiBjYXBzIgorbXNnc3RyICLlr7nkuo7igJxhbGzigJ3mnYPog73vvIxsaWJjYXAtbmcg5aSq5penIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ1MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNhcGFiaWxpdHkgXCIlc1wiIgorbXNnc3RyICLmnKrnn6XmnYPog73igJwlc+KAnSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NzYKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IHNldCAtLSByZWZ1c2luZyB0byBhZGp1c3QiCittc2dzdHIgIuaXoOazleivhuWIq+eahOWuieWFqOS9jembhiAtLSDmi5Lnu53osIPmlbQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDgwCittc2dpZCAiYmFkIHNlY3VyZWJpdHMgc3RyaW5nIgorbXNnc3RyICLlronlhajkvY3lrZfnrKbkuLLmnInor68iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDg3Cittc2dpZCAiK2FsbCBzZWN1cmViaXRzIGlzIG5vdCBhbGxvd2VkIgorbXNnc3RyICIrYWxsIOWuieWFqOS9jeaYr+S4jeWFgeiuuOeahCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDAKK21zZ2lkICJhZGp1c3Rpbmcga2VlcF9jYXBzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIuiwg+aVtCBrZWVwX2NhcHMo5L+d5oyB5p2D6IO9KSDmsqHmnInmhI/kuYkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTA0Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAi5peg5rOV6K+G5Yir55qE5a6J5YWo5L2NIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUyNAorbXNnaWQgIlNFTGludXggaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIlNFTGludXgg5rKh5pyJ6L+Q6KGMIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUzOQorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9zZSBmYWlsZWQ6ICVzIgorbXNnc3RyICLlhbPpl63lpLHotKXvvJolcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NDcKK21zZ2lkICJBcHBBcm1vciBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiQXBwQXJtb3Ig5rKh5pyJ6L+Q6KGMIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY1OAorbXNnaWQgImR1cGxpY2F0ZSAtLW5vLW5ldy1wcml2cyBvcHRpb24iCittc2dzdHIgIuWkjeWItiAtLW5vLW5ldy1wcml2cyDpgInpobkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjYzCittc2dpZCAiZHVwbGljYXRlIHJ1aWQiCittc2dzdHIgIuWkjeWItiBydWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY2NQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBydWlkIgorbXNnc3RyICLop6PmnpAgcnVpZCDlpLHotKUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjY5Cittc2dpZCAiZHVwbGljYXRlIGV1aWQiCittc2dzdHIgIuWkjeWItiBldWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY3MQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBldWlkIgorbXNnc3RyICLop6PmnpAgZXVpZCDlpLHotKUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njc1Cittc2dpZCAiZHVwbGljYXRlIHJ1aWQgb3IgZXVpZCIKK21zZ3N0ciAi5aSN5Yi2IHJ1aWQg5oiWIGV1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njc3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJldWlkIgorbXNnc3RyICLop6PmnpAgcmV1aWQg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4MQorbXNnaWQgImR1cGxpY2F0ZSByZ2lkIgorbXNnc3RyICLlpI3liLYgcmdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmdpZCIKK21zZ3N0ciAi6Kej5p6QIHJnaWQg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4NworbXNnaWQgImR1cGxpY2F0ZSBlZ2lkIgorbXNnc3RyICLlpI3liLYgZWdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWdpZCIKK21zZ3N0ciAi6Kej5p6QIGVnaWQg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY5MworbXNnaWQgImR1cGxpY2F0ZSByZ2lkIG9yIGVnaWQiCittc2dzdHIgIuWkjeWItiByZ2lkIOaIliBlZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY5NQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZWdpZCIKK21zZ3N0ciAi6Kej5p6QIHJlZ2lkIOWksei0pSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MDAKK21zZ2lkICJkdXBsaWNhdGUgLS1jbGVhci1ncm91cHMgb3B0aW9uIgorbXNnc3RyICLlpI3liLYgIC0tY2xlYXItZ3JvdXBzIOmAiemhuSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MDYKK21zZ2lkICJkdXBsaWNhdGUgLS1rZWVwLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIuWkjeWItiAtLWtlZXAtZ3JvdXBzIOmAiemhuSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MTIKK21zZ2lkICJkdXBsaWNhdGUgLS1ncm91cHMgb3B0aW9uIgorbXNnc3RyICLlpI3liLYgLS1ncm91cHMg6YCJ6aG5IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcyMQorbXNnaWQgImR1cGxpY2F0ZSAtLWluaC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAi5aSN5Yi2IC0taW5oLWNhcHMg6YCJ6aG5IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcyNworbXNnaWQgImR1cGxpY2F0ZSAtLWJvdW5kaW5nLXNldCBvcHRpb24iCittc2dzdHIgIuWkjeWItiAtLWJvdW5kaW5nLXNldCDpgInpobkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzMzCittc2dpZCAiZHVwbGljYXRlIC0tc2VjdXJlYml0cyBvcHRpb24iCittc2dzdHIgIuWkjeWItiAtLXNlY3VyZWJpdHMg6YCJ6aG5IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjczOQorbXNnaWQgImR1cGxpY2F0ZSAtLXNlbGludXgtbGFiZWwgb3B0aW9uIgorbXNnc3RyICLlpI3liLYgLS1zZWxpbnV4LWxhYmVsIOmAiemhuSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NDUKK21zZ2lkICJkdXBsaWNhdGUgLS1hcHBhcm1vci1wcm9maWxlIG9wdGlvbiIKK21zZ3N0ciAi5aSN5Yi2IC0tYXBwYXJtb3ItcHJvZmlsZSDpgInpobkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzU2CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJyVjJyIKK21zZ3N0ciAi5LiN6K+G5Yir55qE6YCJ6aG54oCcJWPigJ0iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzYzCittc2dpZCAiLS1kdW1wIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBvcHRpb25zIgorbXNnc3RyICItLWR1bXAg5LiO5YW25LuW5omA5pyJ6YCJ6aG55LiN5YW85a65IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3MQorbXNnaWQgIi0tbGlzdC1jYXBzIG11c3QgYmUgc3BlY2lmaWVkIGFsb25lIgorbXNnc3RyICItLWxpc3QtY2FwcyDlv4XpobvkvZzkuLrljZXni6zpgInpobnmjIflrpoiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzc3Cittc2dpZCAiTm8gcHJvZ3JhbSBzcGVjaWZpZWQiCittc2dzdHIgIuacquaMh+Wumueoi+W6jyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODIKK21zZ2lkICItLVtyZV1naWQgcmVxdWlyZXMgLS1rZWVwLWdyb3VwcywgLS1jbGVhci1ncm91cHMsIG9yIC0tZ3JvdXBzIgorbXNnc3RyICItLVtyZV1naWQg6ZyA6KaBIC0ta2VlcC1ncm91cHPjgIEtLWNsZWFyLWdyb3VwcyDmiJYgLS1ncm91cHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzg1Cittc2dpZCAiZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXMgZmFpbGVkIgorbXNnc3RyICLnpoHmraLotYvkuojmlrDmnYPpmZDlpLHotKUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzkzCittc2dpZCAia2VlcCBwcm9jZXNzIGNhcGFiaWxpdGllcyBmYWlsZWQiCittc2dzdHIgIuS/neaMgei/m+eoi+adg+iDveWksei0pSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDEKK21zZ2lkICJhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIua/gOa0u+adg+iDvSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDcKK21zZ2lkICJyZWFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAi6YeN5paw5r+A5rS75p2D6IO9IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyMworbXNnaWQgInNldCBwcm9jZXNzIHNlY3VyZWJpdHMgZmFpbGVkIgorbXNnc3RyICLorr7nva7ov5vnqIvlronlhajkvY3lpLHotKUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODI5Cittc2dpZCAiYXBwbHkgYm91bmRpbmcgc2V0IgorbXNnc3RyICLlupTnlKjnu5Hlrprpm4YiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODM1Cittc2dpZCAiYXBwbHkgY2FwYWJpbGl0aWVzIgorbXNnc3RyICLlupTnlKjmnYPog70iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODQwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBleGVjdXRlOiAlcyIKK21zZ3N0ciAi5peg5rOV5omn6KGM77yaJXMiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozMgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJndW1lbnRzIC4uLl1cbiIKK21zZ3N0ciAiICVzIFvpgInpobldIDznqIvluo8+IFvlj4LmlbAgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzYKK21zZ2lkICJSdW4gYSBwcm9ncmFtIGluIGEgbmV3IHNlc3Npb24uXG4iCittc2dzdHIgIuWcqOaWsOS8muivneS4rei/kOihjOeoi+W6j+OAglxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzkKK21zZ2lkICIgLWMsIC0tY3R0eSAgICAgc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCB0byB0aGUgY3VycmVudCBvbmVcbiIKK21zZ3N0ciAiIC1jLCAtLWN0dHkgICAgIOWwhuaOp+WItue7iOerr+iuvue9ruS4uuW9k+WJjee7iOerr1xuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDAKK21zZ2lkICIgLXcsIC0td2FpdCAgICAgd2FpdCBwcm9ncmFtIHRvIGV4aXQsIGFuZCB1c2UgdGhlIHNhbWUgcmV0dXJuXG4iCittc2dzdHIgIiAtdywgLS13YWl0ICAgICDnrYnlvoXnqIvluo/pgIDlh7rvvIzlubbkvb/nlKjlroPnmoTov5Tlm57lgLxcbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjkzCittc2dpZCAiZm9yayIKK21zZ3N0ciAiZm9yayIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjEwNQorIywgYy1mb3JtYXQKK21zZ2lkICJjaGlsZCAlZCBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgIuWtkCAlZCDmnKrmraPluLjpgIDlh7oiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTAKK21zZ2lkICJzZXRzaWQgZmFpbGVkIgorbXNnc3RyICJzZXRzaWQg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEzCittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwiCittc2dzdHIgIuiuvue9ruaOp+WItue7iOerr+Wksei0pSIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb2ZmICVzXG4iCittc2dzdHIgInN3YXBvZmYgJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDUKK21zZ2lkICJOb3Qgc3VwZXJ1c2VyLiIKK21zZ3N0ciAi6Z2e6LaF57qn55So5oi344CCIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9mZiBmYWlsZWQiCittc2dzdHIgIiVz77yac3dhcG9mZiDlpLHotKUiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTIyIHN5cy11dGlscy9zd2Fwb24uYzo3ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHNwZWM+XVxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gWzzmjIflrpo+XVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyNQorbXNnaWQgIkRpc2FibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIuemgeatouWwhuiuvuWkh+WSjOaWh+S7tueUqOS6juWIhumhteWSjOS6pOaNouOAglxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyOAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBzd2FwcyBmcm9tIC9wcm9jL3N3YXBzXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICDnpoHnlKggL3Byb2Mvc3dhcHMg5Lit55qE5omA5pyJ5Lqk5o2i5Yy6XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTM1Cittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisiXG4iCisiIDzmjIflrpo+5Y+C5pWw5YyF5ous77yaXG4iCisiIC1MIDzmoIfnrb4+ICAgICAgICAgICAgICDopoHkvb/nlKjorr7lpIfnmoTmoIfnrb5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICDopoHkvb/nlKjorr7lpIfnmoQgVVVJRFxuIgorIiBMQUJFTD085qCH562+PiAgICAgICAgICAg6KaB5L2/55So6K6+5aSH55qE5qCH562+XG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAg6KaB5L2/55So6K6+5aSH55qEIFVVSURcbiIKKyIgPOiuvuWkhz4gICAgICAgICAgICAgICAgIOimgeS9v+eUqOiuvuWkh+eahOWQjeensFxuIgorIiA85paH5Lu2PiAgICAgICAgICAgICAgICAg6KaB5L2/55So5paH5Lu255qE5ZCN56ewXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MworbXNnaWQgImRldmljZSBmaWxlIG9yIHBhcnRpdGlvbiBwYXRoIgorbXNnc3RyICLorr7lpIfmlofku7bmiJbliIbljLrot6/lvoQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NAorbXNnaWQgInR5cGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAi6K6+5aSH55qE57G75Z6LIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTUKK21zZ2lkICJzaXplIG9mIHRoZSBzd2FwIGFyZWEiCittc2dzdHIgIuS6pOaNouWMuuWkp+WwjyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk2Cittc2dpZCAiYnl0ZXMgaW4gdXNlIgorbXNnc3RyICLlt7Lkvb/nlKjlrZfoioLmlbAiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NworbXNnaWQgInN3YXAgcHJpb3JpdHkiCittc2dzdHIgIuS6pOaNouS8mOWFiOe6pyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk4Cittc2dpZCAic3dhcCB1dWlkIgorbXNnc3RyICJzd2FwIHV1aWQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OQorbXNnaWQgInN3YXAgbGFiZWwiCittc2dzdHIgInN3YXAg5qCH562+IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzXHRcdFx0XHRUeXBlXHRcdFNpemVcdFVzZWRcdFByaW9yaXR5XG4iCittc2dzdHIgIiVzXHRcdFx0XHTnsbvlnotcdFx05aSn5bCPXHTlt7LnlKhcdOadg+mZkFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ2Cittc2dpZCAiRmlsZW5hbWUiCittc2dzdHIgIuaWh+S7tuWQjSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVpbml0aWFsaXppbmcgdGhlIHN3YXAuIgorbXNnc3RyICIlc++8muato+WcqOmHjeaWsOWIneWni+WMluS6pOaNouWMuuOAgiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbHNlZWsgZmFpbGVkIgorbXNnc3RyICIlc++8mmxzZWVrIOWksei0pSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgc2lnbmF0dXJlIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJrlhpnnrb7lkI3lpLHotKUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIC0gaXQgYXBwZWFycyB0byBoYXZlIGhvbGVzLiIKK21zZ3N0ciAiJXPvvJrlsIbot7Pov4cgLSDlroPkvLzkuY7mnInnqbrmtJ7jgIIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldCBzaXplIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJrojrflj5blpKflsI/lpLHotKUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgc3dhcCBoZWFkZXIgZmFpbGVkIgorbXNnc3RyICIlc++8muivu+S6pOaNouWMuuWktOWksei0pSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZm91bmQgc2lnbmF0dXJlIFtwYWdlc2l6ZT0lZCwgc2lnbmF0dXJlPSVzXSIKK21zZ3N0ciAiJXPvvJrmib7liLDnrb7lkI1b6aG15bC65a+4PSVkLCDnrb7lkI09JXNdIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYWdlc2l6ZT0lZCwgc3dhcHNpemU9JWxsdSwgZGV2c2l6ZT0lbGx1IgorbXNnc3RyICIlc++8mumhteWkp+Wwjz0lZO+8jOS6pOaNouWMuuWkp+Wwjz0lbGx177yM6K6+5aSH5aSn5bCPPSVsbHUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxhc3RfcGFnZSAweCUwOGxseCBpcyBsYXJnZXIgdGhhbiBhY3R1YWwgc2l6ZSBvZiBzd2Fwc3BhY2UiCittc2dzdHIgIiVz77ya5pyr6aG1IDB4JTA4bGx4IOWkp+S6juS6pOaNouepuumXtOeahOWunumZheWkp+WwjyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIgorbXNnc3RyICIlc++8muS6pOaNouagvOW8jyDpobXlpKflsI8g5LiN5Yy56YWN44CCIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4gKFVzZSAtLWZpeHBnc3ogdG8gcmVpbml0aWFsaXplIGl0LikiCittc2dzdHIgIiVz77ya5Lqk5o2i5qC85byPIOmhteWkp+WwjyDkuI3ljLnphY3jgIIo5L2/55SoIC0tZml4cGdzeiDmnaXph43mlrDlr7nlroPliJ3lp4vljJbjgIIpIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzb2Z0d2FyZSBzdXNwZW5kIGRhdGEgZGV0ZWN0ZWQuIFJld3JpdGluZyB0aGUgc3dhcCBzaWduYXR1cmUuIgorbXNnc3RyICIlc++8muajgOa1i+WIsOi9r+S7tuaMgui1t+aVsOaNruOAguWwhumHjeaWsOWGmeS6pOaNouetvuWQjeOAgiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb24gJXNcbiIKK21zZ3N0ciAic3dhcG9uICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvbiBmYWlsZWQiCittc2dzdHIgIiVz77yac3dhcG9uIOWksei0pSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9hdXRvIG9wdGlvbiAtLSBpZ25vcmVkIgorbXNnc3RyICIlc++8muaXoOiHquWKqOmAiemhuSAtLSDlt7Llv73nlaUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgYWN0aXZlIC0tIGlnbm9yZWQiCittc2dzdHIgIiVz77ya5bey5r+A5rS7IC0tIOW3suW/veeVpSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5hY2Nlc3NpYmxlIC0tIGlnbm9yZWQiCittc2dzdHIgIiVz77ya5peg5rOV6K6/6ZeuIC0tIOW3suW/veeVpSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5MQorbXNnaWQgIkVuYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAi5YWB6K645bCG6K6+5aSH5ZKM5paH5Lu255So5LqO5YiG6aG15ZKM5Lqk5o2i44CCXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTQKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAg5ZCv55SoIC9ldGMvZnN0YWIg5Lit55qE5omA5pyJ5Lqk5o2i5Yy6XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTUKK21zZ2lkICIgLWQsIC0tZGlzY2FyZFs9PHBvbGljeT5dIGVuYWJsZSBzd2FwIGRpc2NhcmRzLCBpZiBzdXBwb3J0ZWQgYnkgZGV2aWNlXG4iCittc2dzdHIgIiAtZCwgLS1kaXNjYXJkWz08cG9saWN5Pl0g5aaC5p6c6K6+5aSH5pSv5oyB77yM5ZCv55SoIHN3YXAg5Lii5byDXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTYKK21zZ2lkICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHNpbGVudGx5IHNraXAgZGV2aWNlcyB0aGF0IGRvIG5vdCBleGlzdFxuIgorbXNnc3RyICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIOiHquWKqOi3s+i/h+S4jeWtmOWcqOeahOiuvuWkh+iAjOS4jeaPkOekulxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk3Cittc2dpZCAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICByZWluaXRpYWxpemUgdGhlIHN3YXAgc3BhY2UgaWYgbmVjZXNzYXJ5XG4iCittc2dzdHIgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAg5b+F6KaB5pe26YeN5paw5Yid5aeL5YyW5Lqk5o2i5Yy6XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTgKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHN3YXAgb3B0aW9uc1xuIgorbXNnc3RyICIgLW8sIC0tb3B0aW9ucyA85YiX6KGoPiAgICAg5Lul6Iux5paH6YCX5Y+35YiG6ZqU55qEIHN3YXAg6YCJ6aG5XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTkKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorbXNnc3RyICIgLXAsIC0tcHJpb3JpdHkgPOS8mOWFiOe6pz4gIOaMh+WumuS6pOaNouiuvuWkh+eahOS8mOWFiOe6p1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAwCittc2dpZCAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBkaXNwbGF5IHN1bW1hcnkgYWJvdXQgdXNlZCBzd2FwIGRldmljZXMgKERFUFJFQ0FURUQpXG4iCittc2dzdHIgIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAg5pi+56S65bey5L2/55So5Lqk5o2i6K6+5aSH55qE5pGY6KaBKOW3suW6n+W8gylcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMQorbXNnaWQgIiAgICAgLS1zaG93Wz08Y29sdW1ucz5dICAgZGlzcGxheSBzdW1tYXJ5IGluIGRlZmluYWJsZSB0YWJsZVxuIgorbXNnc3RyICIgICAgIC0tc2hvd1s9POWIlz5dICAgICAgICDku6Xlj6/oh6rlrprkuYnnmoTooajmoLzlvaLlvI/miZPljbDmkZjopoFcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMgorbXNnaWQgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgdGFibGUgaGVhZGluZyAod2l0aCAtLXNob3cpXG4iCittc2dzdHIgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAg5LiN5omT5Y2w6KGo5aS0KOS4jiAtLXNob3cg5ZCI55SoKVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAzCittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0ICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAgICAtLXJhdyAgICAgICAgICAgICAgICDkvb/nlKjljp/nlJ/ovpPlh7rmoLzlvI8o5LiOIC0tc2hvdyDlkIjnlKgpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDQKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIGRpc3BsYXkgc3dhcCBzaXplIGluIGJ5dGVzIGluIC0tc2hvdyBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICDlnKggLS1zaG93IOi+k+WHuuS4reS7peWtl+iKguaVsOaYvuekuuS6pOaNouWMuuWkp+Wwj1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIOivpuWwveaooeW8j1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODExCittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisiXG4iCisiPHNwZWM+IOWPguaVsO+8mlxuIgorIiAtTCA85qCH562+PiAgICAgICAgICAgICAg5ZCMIExBQkVMPTzmoIfnrb4+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAg5ZCMIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTzmoIfnrb4+ICAgICAgICAgICDmjInkuqTmjaLljLrmoIfnrb7mjIflrprorr7lpIdcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICDmjInkuqTmjaLljLogVVVJRCDmjIflrprorr7lpIdcbiIKKyIgUEFSVExBQkVMPTzmoIfnrb4+ICAgICAgIOaMieWIhuWMuuagh+etvuaMh+WumuiuvuWkh1xuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIOaMieWIhuWMuiBVVUlEIOaMh+WumuiuvuWkh1xuIgorIiA86K6+5aSHPiAgICAgICAgICAgICAgICAg6KaB5L2/55So6K6+5aSH55qE5ZCN56ewXG4iCisiIDzmlofku7Y+ICAgICAgICAgICAgICAgICDopoHkvb/nlKjmlofku7bnmoTlkI3np7BcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgyMQorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgZGlzY2FyZCBwb2xpY3kgdHlwZXMgKGZvciAtLWRpc2NhcmQpOlxuIgorIiBvbmNlICAgIDogb25seSBzaW5nbGUtdGltZSBhcmVhIGRpc2NhcmRzIGFyZSBpc3N1ZWRcbiIKKyIgcGFnZXMgICA6IGZyZWVkIHBhZ2VzIGFyZSBkaXNjYXJkZWQgYmVmb3JlIHRoZXkgYXJlIHJldXNlZFxuIgorIklmIG5vIHBvbGljeSBpcyBzZWxlY3RlZCwgYm90aCBkaXNjYXJkIHR5cGVzIGFyZSBlbmFibGVkIChkZWZhdWx0KS5cbiIKK21zZ3N0ciAiIgorIlxuIgorIuWPr+eUqOeahOS4ouW8g+etlueVpeexu+Weiyjpkojlr7kgLS1kaXNjYXJkKe+8mlxuIgorIiBvbmNlXHQgIO+8muWPqui/m+ihjOWNleasoeWMuuWfn+S4ouW8gyhzd2Fwb24pXG4iCisiIHBhZ2VzXHQgIO+8muWvuemHiuaUvueahOmhteWcqOmHjeaWsOS9v+eUqOWJjeS4ouW8g1xuIgorIiAqIOWmguaenOacqumAieaLqeetlueVpe+8jOWImeS4pOiAhemDveWwhuWQr+eUqOOAgijpu5jorqQpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MjYKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3cpOlxuIgorbXNnc3RyICIiCisiXG4iCisi5Y+v55So5YiXKOeUqOS6jiAtLXNob3cp77yaXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MDQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcHJpb3JpdHkiCittc2dzdHIgIuino+aekOS8mOWFiOe6p+Wksei0pSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkyMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIuS4jeaUr+aMgeeahOS4ouW8g+etlueVpe+8miVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHRoZSBkZXZpY2UgZm9yICVzIgorbXNnc3RyICLmib7kuI3liLDlr7nlupQgJXMg55qE6K6+5aSHIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo1OQorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRpcmVjdG9yeSIKK21zZ3N0ciAi5omT5byA55uu5b2V5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2NworbXNnaWQgInN0YXQgZmFpbGVkIgorbXNnc3RyICJzdGF0IOWksei0pSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NzgKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBkaXJlY3RvcnkiCittc2dzdHIgIuivu+ebruW9leWksei0pSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJXMiCittc2dzdHIgInVubGluayAlcyDlpLHotKUiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvICVzIgorbXNnc3RyICLlsIYgJXMg5oyC6L2956e75Yqo5YiwICVzIOWksei0pSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgImZvcmNpbmcgdW5tb3VudCBvZiAlcyIKK21zZ3N0ciAi5q2j5Zyo5by65Yi25Y246L29ICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIuWwhuebruW9leabtOaUueWIsCAlcyDlpLHotKUiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvIC8iCittc2dzdHIgIuWwhiAlcyDmjILovb3np7vliqjliLAgLyDlpLHotKUiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3NQorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCIKK21zZ3N0ciAi5pu05pS5IHJvb3Qg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxODgKK21zZ2lkICJvbGQgcm9vdCBmaWxlc3lzdGVtIGlzIG5vdCBhbiBpbml0cmFtZnMiCittc2dzdHIgIuaXp+agueaWh+S7tuezu+e7n+S4jeaYryBpbml0cmFtZnMg5qC85byPIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bmV3cm9vdGRpcj4gPGluaXQ+IDxhcmdzIHRvIGluaXQ+XG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSA85paw5qC555uu5b2VPiA8aW5pdCDnqIvluo8+IDxpbml0IOeoi+W6j+WPguaVsD5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA0Cittc2dpZCAiU3dpdGNoIHRvIGFub3RoZXIgZmlsZXN5c3RlbSBhcyB0aGUgcm9vdCBvZiB0aGUgbW91bnQgdHJlZS5cbiIKK21zZ3N0ciAi5YiH5o2i5Yiw5Y+m5LiA5Liq5paH5Lu257O757uf5L2c5Li65oyC6L295qCR55qE5qC555uu5b2V44CCXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIzNgorbXNnaWQgImZhaWxlZC4gU29ycnkuIgorbXNnc3RyICLlpLHotKXkuobjgILmirHmrYnjgIIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgYWNjZXNzICVzIgorbXNnc3RyICLml6Dms5Xorr/pl64gJXMiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5NAorbXNnaWQgIlNldCB2YXJpb3VzIHBhcmFtZXRlcnMgZm9yIHRoZSBsaW5lIHByaW50ZXIuXG4iCittc2dzdHIgIuiuvue9ruihjOW8j+aJk+WNsOacuueahOWQhOenjeWPguaVsOOAglxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTcKK21zZ2lkICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICBzcGVjaWZ5IHBhcmFsbGVsIHBvcnQgaXJxXG4iCittc2dzdHIgIiAtaSwgLS1pcnEgPOaVsOWtlz4gICAgICAgICAgICAg5oyH5a6a5bm25Y+j5Lit5pat5Y+3XG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5OAorbXNnaWQgIiAtdCwgLS10aW1lIDxtcz4gICAgICAgICAgICAgIGRyaXZlciB3YWl0IHRpbWUgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lIDzmr6vnp5LmlbA+ICAgICAgICAgIOmpseWKqOetieW+heaXtumXtCjmr6vnp5IpXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5OQorbXNnaWQgIiAtYywgLS1jaGFycyA8bnVtPiAgICAgICAgICAgIG51bWJlciBvZiBvdXRwdXQgY2hhcmFjdGVycyBiZWZvcmUgc2xlZXBcbiIKK21zZ3N0ciAiIC1jLCAtLWNoYXJzIDzmlbDlrZc+ICAgICDnnaHnnKDliY3ovpPlh7rnmoTlrZfnrKbmlbBcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMAorbXNnaWQgIiAtdywgLS13YWl0IDx1cz4gICAgICAgICAgICAgIHN0cm9iZSB3YWl0IGluIG1pY3JvIHNlY29uZHNcbiIKK21zZ3N0ciAiIC13LCAtLXdhaXQgPOW+ruenkuaVsD4gICAgICAgICAg6YCJ6YCaKHN0cm9iZSnkv6Hlj7fnrYnlvoXml7bpl7Qo5b6u56eSKVxuIgorCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSA8b258b2ZmPiBhcmd1bWVudHMuIFRoZQorIy4gYXJndW1lbnQgcmVhZGVyIGRvZXMgbm90IHJlY29nbml6ZSBsb2NhbGUsIHVubGVzcyBgb24nIGlzCisjLiBleGFjdGx5IHRoYXQgdmVyeSBzYW1lIHN0cmluZy4KKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDQKK21zZ2lkICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhYm9ydCBvbiBlcnJvclxuIgorbXNnc3RyICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICDlh7rplJnml7bkuK3mraJcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNQorbXNnaWQgIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gIGNoZWNrIHByaW50ZXIgc3RhdHVzIGJlZm9yZSBwcmludGluZ1xuIgorbXNnc3RyICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICDmiZPljbDliY3mo4Dmn6XmiZPljbDmnLrnirbmgIFcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNgorbXNnaWQgIiAtQywgLS1jYXJlZnVsIDxvbnxvZmY+ICAgICAgIGV4dHJhIGNoZWNraW5nIHRvIHN0YXR1cyBjaGVja1xuIgorbXNnc3RyICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICDov5vooYznirbmgIHmo4Dmn6XlpJbnmoTlhbbku5bmo4Dmn6VcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNworbXNnaWQgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIHF1ZXJ5IHByaW50ZXIgc3RhdHVzXG4iCittc2dzdHIgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIOafpeivouaJk+WNsOacuueKtuaAgVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA4Cittc2dpZCAiIC1ULCAtLXRydXN0LWlycSA8b258b2ZmPiAgICAgbWFrZSBkcml2ZXIgdG8gdHJ1c3QgaXJxXG4iCittc2dzdHIgIiAtVCwgLS10cnVzdC1pcnEgPG9ufG9mZj4gICAgIOWwhumpseWKqOiuvue9ruS4uuS/oeS7u+eahOS4reaWrVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcmVzZXQgdGhlIHBvcnRcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAg6YeN572u56uv5Y+jXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTAKK21zZ2lkICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICBkaXNwbGF5IGN1cnJlbnQgaXJxIHNldHRpbmdcbiIKK21zZ3N0ciAiIC1xLCAtLXByaW50LWlycSA8b258b2ZmPiAgICAg5pi+56S65b2T5YmN55qE5Lit5pat6K6+572uXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGFuIGxwIGRldmljZSIKK21zZ3N0ciAiJXMg5LiN5piv5b6q546v6K6+5aSHIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjgwCittc2dpZCAiTFBHRVRTVEFUVVMgZXJyb3IiCittc2dzdHIgIkxQR0VUU1RBVFVTIOWHuumUmSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdGF0dXMgaXMgJWQiCittc2dzdHIgIiVzIOeKtuaAgeS4uiAlZCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIsIGJ1c3kiCittc2dzdHIgIu+8jOW/meeijCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICIsIHJlYWR5IgorbXNnc3RyICLvvIzlsLHnu6oiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvdXQgb2YgcGFwZXIiCittc2dzdHIgIu+8jOe8uumhtSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICIsIG9uLWxpbmUiCittc2dzdHIgIu+8jOWcqOe6vyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5NQorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVycm9yIgorbXNnc3RyICLvvIzplJnor68iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMDAKK21zZ2lkICJpb2N0bCBmYWlsZWQiCittc2dzdHIgImlvY3RsIOWksei0pSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxMAorbXNnaWQgIkxQR0VUSVJRIGVycm9yIgorbXNnc3RyICJMUEdFVElSUSDlh7rplJkiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgSVJRICVkXG4iCittc2dzdHIgIiVzIOS9v+eUqOS4reaWreivt+axgiAlZFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIHBvbGxpbmdcbiIKK21zZ3N0ciAiJXMg5L2/55So6L2u6K+iXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gfCA8ZGlyZWN0b3J5PlxuIgorbXNnc3RyICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBb6YCJ6aG5XVxuIgorIiAlMSRzIFvpgInpobldIDzmupA+IHwgPOebruW9lT5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjgxCittc2dpZCAiVW5tb3VudCBmaWxlc3lzdGVtcy5cbiIKK21zZ3N0ciAi5Y246L295paH5Lu257O757uf44CCXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICB1bm1vdW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAg5Y246L295omA5pyJ5paH5Lu257O757ufXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NQorbXNnaWQgIiIKKyIgLUEsIC0tYWxsLXRhcmdldHMgICAgICAgdW5tb3VudCBhbGwgbW91bnRwb2ludHMgZm9yIHRoZSBnaXZlbiBkZXZpY2UgaW4gdGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICDljbjovb3lvZPliY3lkI3lrZfnqbrpl7TlhoXmjIflrprorr7lpIdcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAg5a+55bqU55qE5omA5pyJ5oyC6Ie354K5XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NworbXNnaWQgIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKK21zZ3N0ciAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIOS4jeWvuei3r+W+hOinhOiMg+WMllxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODgKK21zZ2lkICIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAgaWYgbW91bnRlZCBsb29wIGRldmljZSwgYWxzbyBmcmVlIHRoaXMgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIOiLpeaMguiHt+S6huWbnueOr+iuvuWkh++8jOS5n+mHiuaUvuivpeWbnueOr+iuvuWkh1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODkKK21zZ2lkICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgdW1vdW50KDIpIHN5c2NhbGxcbiIKK21zZ3N0ciAiICAgICAtLWZha2UgICAgICAgICAgICAgIOepuui/kOihjO+8m+i3s+i/hyB1bW91bnQoMikg57O757uf6LCD55SoXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MAorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBmb3JjZSB1bm1vdW50IChpbiBjYXNlIG9mIGFuIHVucmVhY2hhYmxlIE5GUyBzeXN0ZW0pXG4iCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICDlvLrliLbljbjovb0o6YGH5Yiw5LiN5ZON5bqU55qEIE5GUyDns7vnu5/ml7YpXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MQorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSB1bW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIOS4jeiwg+eUqCB1bW91bnQuPOexu+Weiz4g6L6F5Yqp56iL5bqPXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MworbXNnaWQgIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICBkZXRhY2ggdGhlIGZpbGVzeXN0ZW0gbm93LCBjbGVhbiB1cCB0aGluZ3MgbGF0ZXJcbiIKK21zZ3N0ciAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIOeri+WNs+aWreW8gOaWh+S7tuezu+e7n++8jOa4heeQhuS7peWQjuaJp+ihjFxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTQKK21zZ2lkICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCittc2dzdHIgIiAtTywgLS10ZXN0LW9wdHMgPOWIl+ihqD4gIOmZkOWItuaWh+S7tuezu+e7n+mbhuWQiCjlkowgLWEg6YCJ6aG55LiA6LW35L2/55SoKVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTUKK21zZ2lkICIgLVIsIC0tcmVjdXJzaXZlICAgICAgICAgcmVjdXJzaXZlbHkgdW5tb3VudCBhIHRhcmdldCB3aXRoIGFsbCBpdHMgY2hpbGRyZW5cbiIKK21zZ3N0ciAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIOmAkuW9kuWNuOi9veebruW9leWPiuWFtuWtkOWvueixoVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTYKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgaW4gY2FzZSB1bm1vdW50aW5nIGZhaWxzLCB0cnkgdG8gcmVtb3VudCByZWFkLW9ubHlcbiIKK21zZ3N0ciAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIOiLpeWNuOi9veWksei0pe+8jOWwneivleS7peWPquivu+aWueW8j+mHjeaWsOaMguiHt1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTcKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiAtdCwgLS10eXBlcyA85YiX6KGoPiAgICAgIOmZkOWItuaWh+S7tuezu+e7n+mbhuWQiFxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcykgdW5tb3VudGVkIgorbXNnc3RyICIlcyAoJXMpIOW3suWNuOi9vSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bm1vdW50ZWQiCittc2dzdHIgIiVzIOacquaMgui9vSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW1vdW50IGZhaWxlZCIKK21zZ3N0ciAiJXPvvJp1bW91bnQg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCittc2dzdHIgIiVz77ya5paH5Lu257O757uf5bey5Y246L2977yM5L2GIG1vdW50KDgpIOWksei0pSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIiVz77ya5peg5pWI55qE5Z2X6K6+5aSHIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorbXNnc3RyICIlc++8muaXoOazleWGmei2hee6p+WdlyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXM6IHRhcmdldCBpcyBidXN5XG4iCisiICAgICAgICAoSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBhYm91dCBwcm9jZXNzZXMgdGhhdFxuIgorIiAgICAgICAgIHVzZSB0aGUgZGV2aWNlIGlzIGZvdW5kIGJ5IGxzb2YoOCkgb3IgZnVzZXIoMSkuKSIKK21zZ3N0ciAiIgorIiVz77ya55uu5qCH5b+Z44CCXG4iCisiICAgICAgICAo5pyJ5Lqb5oOF5Ya15LiL6YCa6L+HIGxzb2YoOCkg5oiWIGZ1c2VyKDEpIOWPr+S7pVxuIgorIiAgICAgICAgIOaJvuWIsOacieWFs+S9v+eUqOivpeiuvuWkh+eahOi/m+eoi+eahOacieeUqOS/oeaBr+OAgikiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50cG9pbnQgbm90IGZvdW5kIgorbXNnc3RyICIlc++8muaJvuS4jeWIsOaMguiHt+eCuSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1MAorbXNnaWQgInVuZGVmaW5lZCBtb3VudHBvaW50IgorbXNnc3RyICLmnKrlrprkuYnnmoTmjILovb3ngrkiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVubW91bnQiCittc2dzdHIgIiVz77ya5b+F6aG75Lul6LaF57qn55So5oi36Lqr5Lu95Y246L29IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBibG9jayBkZXZpY2VzIGFyZSBub3QgcGVybWl0dGVkIG9uIGZpbGVzeXN0ZW0iCittc2dzdHIgIiVz77ya5paH5Lu257O757uf5LiN5YWB6K645Z2X6K6+5aSHIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzA3Cittc2dpZCAiZmFpbGVkIHRvIHNldCB1bW91bnQgdGFyZ2V0IgorbXNnc3RyICLorr7nva7ljbjovb3nm67moIflpLHotKUiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozMjMKK21zZ2lkICJsaWJtb3VudCB0YWJsZSBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibGlibW91bnQg6KGo5YiG6YWN5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzY2IHN5cy11dGlscy91bW91bnQuYzo0NDYKK21zZ2lkICJsaWJtb3VudCBpdGVyYXRvciBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAi5YiG6YWNIGxpYm1vdW50IOi/reS7o+WZqOWksei0pe+8gSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGNoaWxkIGZzIG9mICVzIgorbXNnc3RyICLojrflj5YgJXMg55qE5a2Q5paH5Lu257O757uf5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NDEwIHN5cy11dGlscy91bW91bnQuYzo0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBmb3VuZCIKK21zZ3N0ciAiJXPvvJrmib7kuI3liLAiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo0NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlICgtLWFsbC10YXJnZXRzIGlzIHVuc3VwcG9ydGVkIG9uIHN5c3RlbXMgd2l0aCByZWd1bGFyIG10YWIgZmlsZSkuIgorbXNnc3RyICIlc++8muehruWumua6kOWksei0pSjmnInluLjop4QgbXRhYiDmlofku7bnmoTns7vnu5/kuI3mlK/mjIEgLS1hbGwtdGFyZ2V0cykiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zZXRncm91cHMgYXJndW1lbnQgJyVzJyIKK21zZ3N0ciAi5LiN5pSv5oyB55qEIC0tc2V0Z3JvdXBzIOWPguaVsOKAnCVz4oCdIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjExMCBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQgJXMiCittc2dzdHIgIuWGmeWksei0pe+8miVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcm9wYWdhdGlvbiBtb2RlOiAlcyIKK21zZ3N0ciAi5LiN5Y+X5pSv5oyB55qE5Lyg5pKt5qih5byP77iwJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTU3Cittc2dpZCAiY2Fubm90IGNoYW5nZSByb290IGZpbGVzeXN0ZW0gcHJvcGFnYXRpb24iCittc2dzdHIgIuaXoOazleabtOaUueagueaWh+S7tuezu+e7n+S8oOaSrSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHN0YXQgJXMiCittc2dzdHIgIuaXoOazlSBzdGF0ICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIxMworbXNnaWQgInBpcGUgZmFpbGVkIgorbXNnc3RyICJwaXBlIOWksei0pSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjcKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwaXBlIgorbXNnc3RyICLor7vlj5bnrqHpgZPlpLHotKUiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUwCittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIHNvbWUgbmFtZXNwYWNlcyB1bnNoYXJlZCBmcm9tIHRoZSBwYXJlbnQuXG4iCittc2dzdHIgIuS7peafkOS6m+acquS4jueItijov5vnqIsp5YWx5Lqr55qE5ZCN5a2X56m66Ze06L+Q6KGM5p+Q5Liq56iL5bqP44CCXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUzCittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbSwgLS1tb3VudFs9POaWh+S7tj5dICAgICAg5Y+W5raI5YWx5LqrIG1vdW50cyDlkI3lrZfnqbrpl7RcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTQKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiIC11LCAtLXV0c1s9POaWh+S7tj5dICAgICAgICDlj5bmtojlhbHkuqsgVVRTIOWQjeWtl+epuumXtCjkuLvmnLrlkI3nrYkpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU1Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtaSwgLS1pcGNbPTzmlofku7Y+XSAgICAgICAg5Y+W5raI5YWx5LqrIFN5c3RlbSBWIElQQyDlkI3lrZfnqbrpl7RcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTYKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgICAgIOWPlua2iOWFseS6q+e9kee7nOWQjeWtl+epuumXtFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NworbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLXAsIC0tcGlkWz085paH5Lu2Pl0gICAgICAgIOWPlua2iOWFseS6qyBwaWQg5ZCN5a2X56m66Ze0XG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU4Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLVUsIC0tdXNlcls9POaWh+S7tj5dICAgICAgIOWPlua2iOWFseS6q+eUqOaIt+WQjeWtl+epuumXtFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OQorbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gICAgIHVuc2hhcmUgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLUMsIC0tY2dyb3VwWz085paH5Lu2Pl0gICAgIOWPlua2iOWFseS6qyBjZ3JvdXAg5ZCN5a2X56m66Ze0XG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYwCittc2dpZCAiIC1mLCAtLWZvcmsgICAgICAgICAgICAgICAgZm9yayBiZWZvcmUgbGF1bmNoaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICDlnKjlkK/liqg856iL5bqPPuWJjSBmb3JrXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYxCittc2dpZCAiICAgICAtLW1vdW50LXByb2NbPTxkaXI+XSAgbW91bnQgcHJvYyBmaWxlc3lzdGVtIGZpcnN0IChpbXBsaWVzIC0tbW91bnQpXG4iCittc2dzdHIgIiAgICAgLS1tb3VudC1wcm9jWz0855uu5b2VPl0g5YWI5oyC6L29IHByb2Mg5paH5Lu257O757ufKOi/nuW4puaJk+W8gCAtLW1vdW50KVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MgorbXNnaWQgIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIG1hcCBjdXJyZW50IHVzZXIgdG8gcm9vdCAoaW1wbGllcyAtLXVzZXIpXG4iCittc2dzdHIgIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIOWwhuW9k+WJjeeUqOaIt+aYoOWwhOS4uiByb290ICjov57luKbmiZPlvIAgLS11c2VyKVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MworbXNnaWQgIiIKKyIgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZ5IG1vdW50IHByb3BhZ2F0aW9uIGluIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisiICAgICAtLXByb3BhZ2F0aW9uIHNsYXZlfHNoYXJlZHxwcml2YXRlfHVuY2hhbmdlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIOS/ruaUuSBtb3VudCDlkI3lrZfnqbrpl7TkuK3nmoQgbW91bnQg5Lyg5pKtXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY1Cittc2dpZCAiIC1zLCAtLXNldGdyb3VwcyBhbGxvd3xkZW55ICBjb250cm9sIHRoZSBzZXRncm91cHMgc3lzY2FsbCBpbiB1c2VyIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIC1zLCAtLXNldGdyb3VwcyBhbGxvd3xkZW55ICDmjqfliLbnlKjmiLflkI3lrZfnqbrpl7TkuK3nmoQgc2V0Z3JvdXBzIOezu+e7n+iwg+eUqFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjM4NgorbXNnaWQgInVuc2hhcmUgZmFpbGVkIgorbXNnc3RyICJ1bnNoYXJlIOWksei0pSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzAKK21zZ2lkICJjaGlsZCBleGl0IGZhaWxlZCIKK21zZ3N0ciAi5a2Q6L+b56iL6YCA5Ye65aSx6LSlIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzNworbXNnaWQgIm9wdGlvbnMgLS1zZXRncm91cHM9YWxsb3cgYW5kIC0tbWFwLXJvb3QtdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItLXNldGdyb3Vwcz1hbGxvdyDlkowgLS1tYXAtcm9vdC11c2VyIOmAiemhueaYr+S6kuaWpeeahCIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgZmFpbGVkIgorbXNnc3RyICLmjILovb0gJXMg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3MworbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICLljaHmm77nu4/ph43nva4gQ1BVIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NAorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDEiCittc2dzdHIgIuWklumDqOS4ree7pyAxIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NQorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDIiCittc2dzdHIgIuWklumDqOS4ree7pyAyIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NgorbXNnaWQgIkZhbiBmYWlsZWQiCittc2dzdHIgIumjjuaJh+Wksei0pSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzcKK21zZ2lkICJLZWVwIGFsaXZlIHBpbmcgcmVwbHkiCittc2dzdHIgIuS/neaMgea0u+WKqCBwaW5nIOWbnuW6lCIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzgKK21zZ2lkICJTdXBwb3J0cyBtYWdpYyBjbG9zZSBjaGFyIgorbXNnc3RyICLmlK/mjIEgbWFnaWMgY2xvc2Ug5a2X56ymIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OQorbXNnaWQgIlJlc2V0IGR1ZSB0byBDUFUgb3ZlcmhlYXQiCittc2dzdHIgIuWboCBDUFUg6L+H54Ot6YeN572uIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MAorbXNnaWQgIlBvd2VyIG92ZXIgdm9sdGFnZSIKK21zZ3N0ciAi5L6b55S155S15Y6L6L+H6auYIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MQorbXNnaWQgIlBvd2VyIGJhZC9wb3dlciBmYXVsdCIKK21zZ3N0ciAi5L6b55S16Zeu6aKYL+S+m+eUteaVhemanCIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODIKK21zZ2lkICJQcmV0aW1lb3V0IChpbiBzZWNvbmRzKSIKK21zZ3N0ciAi6aKE6LaF5pe2KOenkikiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgzCittc2dpZCAiU2V0IHRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICLorr7nva7otoXml7Yo56eSKSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODQKK21zZ2lkICJOb3QgdHJpZ2dlciByZWJvb3QiCittc2dzdHIgIuS4jeinpuWPkemHjeWQryIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAwCittc2dpZCAiZmxhZyBuYW1lIgorbXNnc3RyICLmoIflv5flkI3np7AiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMQorbXNnaWQgImZsYWcgZGVzY3JpcHRpb24iCittc2dzdHIgIuagh+W/l+aPj+i/sCIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAyCittc2dpZCAiZmxhZyBzdGF0dXMiCittc2dzdHIgIuagh+W/l+eKtuaAgSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAzCittc2dpZCAiZmxhZyBib290IHN0YXR1cyIKK21zZ3N0ciAi5qCH5b+X5ZCv5Yqo54q25oCBIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDQKK21zZ2lkICJ3YXRjaGRvZyBkZXZpY2UgbmFtZSIKK21zZ3N0ciAi55yL6Zeo54uX6K6+5aSH5ZCN56ewIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmbGFnOiAlcyIKK21zZ3N0ciAi5pyq55+l5qCH5b+X77yaJXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE3NworbXNnaWQgIlNob3cgdGhlIHN0YXR1cyBvZiB0aGUgaGFyZHdhcmUgd2F0Y2hkb2cuXG4iCittc2dzdHIgIuaYvuekuuehrOS7tueci+mXqOeLl+eahOeKtuaAgeOAglxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxODAKK21zZ2lkICIiCisiIC1mLCAtLWZsYWdzIDxsaXN0PiAgICAgcHJpbnQgc2VsZWN0ZWQgZmxhZ3Mgb25seVxuIgorIiAtRiwgLS1ub2ZsYWdzICAgICAgICAgIGRvbid0IHByaW50IGluZm9ybWF0aW9uIGFib3V0IGZsYWdzXG4iCisiIC1JLCAtLW5vaWRlbnQgICAgICAgICAgZG9uJ3QgcHJpbnQgd2F0Y2hkb2cgaWRlbnRpdHkgaW5mb3JtYXRpb25cbiIKKyIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLU8sIC0tb25lbGluZSAgICAgICAgICBwcmludCBhbGwgaW5mb3JtYXRpb24gb24gb25lIGxpbmVcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBvdXRwdXQgY29sdW1ucyBvZiB0aGUgZmxhZ3NcbiIKKyIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXQgZm9yIGZsYWdzIHRhYmxlXG4iCisiIC1ULCAtLW5vdGltZW91dHMgICAgICAgZG9uJ3QgcHJpbnQgd2F0Y2hkb2cgdGltZW91dHNcbiIKKyIgLXMsIC0tc2V0dGltZW91dCA8c2VjPiBzZXQgd2F0Y2hkb2cgdGltZW91dFxuIgorIiAteCwgLS1mbGFncy1vbmx5ICAgICAgIHByaW50IG9ubHkgZmxhZ3MgdGFibGUgKHNhbWUgYXMgLUkgLVQpXG4iCittc2dzdHIgIiIKKyIgLWYsIC0tZmxhZ3MgPOWIl+ihqD4gICAgIOWPquaJk+WNsOmAieaLqeeahOagh+W/l1xuIgorIiAtRiwgLS1ub2ZsYWdzICAgICAgICAgIOS4jeaJk+WNsOagh+W/l+eahOebuOWFs+S/oeaBr1xuIgorIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIOS4jeaJk+WNsCB3YXRjaGRvZyDmoIfor4bkv6Hmga9cbiIKKyIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICDkuI3miZPljbDmoIflv5fooajmoLznmoTooajlpLRcbiIKKyIgLU8sIC0tb25lbGluZSAgICAgICAgICDlsIbmiYDmnInkv6Hmga/miZPljbDkuLrkuIDooYxcbiIKKyIgLW8sIC0tb3V0cHV0IDzliJfooag+ICAgIOagh+W/l+imgei+k+WHuueahOWIl1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIOagh+W/l+ihqOagvOS9v+eUqOWOn+eUn+i+k+WHuuagvOW8j1xuIgorIiAtVCwgLS1ub3RpbWVvdXRzICAgICAgIOS4jeaJk+WNsOeci+mXqOeLl+i2heaXtlxuIgorIiAtcywgLS1zZXR0aW1lb3V0IDznp5I+ICDorr7nva7nnIvpl6jni5fotoXml7ZcbiIKKyIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICDlj6rmiZPljbDmoIflv5fooajmoLwo5ZCMIC1JIC1UKVxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRlZmF1bHQgZGV2aWNlIGlzICVzLlxuIgorbXNnc3RyICLpu5jorqTorr7lpIfkuLogJXPjgIJcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk5Cittc2dpZCAiQXZhaWxhYmxlIGNvbHVtbnM6XG4iCittc2dzdHIgIuWPr+eUqOeahOWIl++8mlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZmxhZ3MgMHgleFxuIgorbXNnc3RyICIlc++8muacquefpeagh+W/lyAweCV4XG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMxOSBzeXMtdXRpbHMvd2RjdGwuYzozNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhdGNoZG9nIGFscmVhZHkgaW4gdXNlLCB0ZXJtaW5hdGluZy4iCittc2dzdHIgIiVz77ya55yL6Zeo54uX5q2j5Zyo5L2/55So77yM5bCG57uI5q2i44CCIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMzMgc3lzLXV0aWxzL3dkY3RsLmM6NDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGlzYXJtIHdhdGNoZG9nIgorbXNnc3RyICIlc++8muWWgueci+mXqOeLl+Wksei0pSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGltZW91dCBmb3IgJXMiCittc2dzdHIgIuaXoOazleiuvue9riAlcyDnmoTotoXml7YiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0OAorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmQuXG4iCittc2dpZF9wbHVyYWwgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZHMuXG4iCittc2dzdHJbMF0gIui2heaXtuW3suiwg+aVtOS4uiAlZCDnp5JcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGluZm9ybWF0aW9uIGFib3V0IHdhdGNoZG9nIgorbXNnc3RyICIlc++8muiOt+WPlueci+mXqOeLl+S/oeaBr+Wksei0pSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY0IHN5cy11dGlscy93ZGN0bC5jOjQ2NyBzeXMtdXRpbHMvd2RjdGwuYzo0NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0xNHMgJTJpIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICIlLTE0cyAlMmkgc2Vjb25kc1xuIgorbXNnc3RyWzBdICIlLTE0cyAlMmkg56eSXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NQorbXNnaWQgIlRpbWVvdXQ6IgorbXNnc3RyICLotoXml7bvvJoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2OAorbXNnaWQgIlByZS10aW1lb3V0OiIKK21zZ3N0ciAi6aKE6LaF5pe277yaIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NzEKK21zZ2lkICJUaW1lbGVmdDoiCittc2dzdHIgIuWJqeS9meaXtumXtO+8miIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA1Cittc2dpZCAiRGV2aWNlOiIKK21zZ3N0ciAi6K6+5aSH77yaIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDcKK21zZ2lkICJJZGVudGl0eToiCittc2dzdHIgIuagh+ivhu+8miIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA5Cittc2dpZCAidmVyc2lvbiIKK21zZ3N0ciAi54mI5pys77yaIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjczCittc2dpZCAienJhbSBkZXZpY2UgbmFtZSIKK21zZ3N0ciAienJhbSDorr7lpIflkI3np7AiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzQKK21zZ2lkICJsaW1pdCBvbiB0aGUgdW5jb21wcmVzc2VkIGFtb3VudCBvZiBkYXRhIgorbXNnc3RyICLlr7nmnKrljovnvKnmlbDmja7ph4/nmoTpmZDliLYiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzUKK21zZ2lkICJ1bmNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAi5a2Y5YKo5pWw5o2u55qE5pyq5Y6L57yp5aSn5bCPIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc2Cittc2dpZCAiY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICLlrZjlgqjmlbDmja7nmoTljovnvKnlkI7lpKflsI8iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzcKK21zZ2lkICJ0aGUgc2VsZWN0ZWQgY29tcHJlc3Npb24gYWxnb3JpdGhtIgorbXNnc3RyICLmiYDpgInnmoTljovnvKnnrpfms5UiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzgKK21zZ2lkICJudW1iZXIgb2YgY29uY3VycmVudCBjb21wcmVzcyBvcGVyYXRpb25zIgorbXNnc3RyICLlubblj5HnmoTljovnvKnmk43kvZznmoTmlbDph48iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzkKK21zZ2lkICJlbXB0eSBwYWdlcyB3aXRoIG5vIGFsbG9jYXRlZCBtZW1vcnkiCittc2dzdHIgIuacquWIhumFjeWGheWtmOeahOepuumhtSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MAorbXNnaWQgImFsbCBtZW1vcnkgaW5jbHVkaW5nIGFsbG9jYXRvciBmcmFnbWVudGF0aW9uIGFuZCBtZXRhZGF0YSBvdmVyaGVhZCIKK21zZ3N0ciAi5YyF5ous5YiG6YWN5Zmo56KO54mH5ZKM5YWD5pWw5o2u5byA6ZSA5Zyo5YaF55qE5omA5pyJ5YaF5a2YIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgxCittc2dpZCAibWVtb3J5IGxpbWl0IHVzZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICLnlKjkuo7lrZjlgqjljovnvKnlkI7mlbDmja7nmoTlhoXlrZjpmZDliLYiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODIKK21zZ2lkICJtZW1vcnkgenJhbSBoYXZlIGJlZW4gY29uc3VtZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICLlt7LmtojogJflhoXlrZggenJhbSDmnaXlrZjlgqjljovnvKnnmoTmlbDmja4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODMKK21zZ2lkICJudW1iZXIgb2Ygb2JqZWN0cyBtaWdyYXRlZCBieSBjb21wYWN0aW9uIgorbXNnc3RyICLpgJrov4fljovlrp7ov4Hnp7vnmoTlr7nosaHmlbAiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6MzYzIHN5cy11dGlscy96cmFtY3RsLmM6Mzc0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIG1tX3N0YXQiCittc2dzdHIgIuino+aekCBtbV9zdGF0IOWksei0pSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorIiAlMSRzIC1yIDxkZXZpY2U+IFsuLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGRldmljZT4gLXMgPHNpemU+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBb6YCJ6aG5XSBbPOWbnueOr+iuvuWkhz5dXG4iCisiICUxJHMgW+mAiemhuV0gLWYgfCA85Zue546v6K6+5aSHPiA85paH5Lu2PlxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUyNworbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCB6cmFtIGRldmljZXMuXG4iCittc2dzdHIgIuiuvue9ruWSjOaOp+WItiB6cmFtIOiuvuWkh+OAglxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMAorbXNnaWQgIiAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NCAgIGNvbXByZXNzaW9uIGFsZ29yaXRobSB0byB1c2VcbiIKK21zZ3N0ciAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0ICAg6KaB5L2/55So55qE5Y6L57yp566X5rOVXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMxCittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIOS7peWtl+iKguS4uuaJk+WNsOWwuuWvuO+8jOiAjOmdnuaYk+ivu+agvOW8j1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMgorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIGZpbmQgYSBmcmVlIGRldmljZVxuIgorbXNnc3RyICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICDmn6Xmib7nqbrpl7Lorr7lpIdcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICDkuI3miZPljbDmoIfpophcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzQKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICBjb2x1bW5zIHRvIHVzZSBmb3Igc3RhdHVzIG91dHB1dFxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICDnlKjkuo7nirbmgIHovpPlh7rnmoTliJdcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzUKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICB1c2UgcmF3IHN0YXR1cyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIOS9v+eUqOWOn+eUn+eKtuaAgei+k+WHuuagvOW8j1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzNgorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICDph43nva7miYDmnInmjIflrprnmoTorr7lpIdcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzcKK21zZ2lkICIgLXMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgLXMsIC0tc2l6ZSA85bC65a+4PiAgICAgICAgIOiuvuWkh+WwuuWvuFxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzOAorbXNnaWQgIiAtdCwgLS1zdHJlYW1zIDxudW1iZXI+ICAgIG51bWJlciBvZiBjb21wcmVzc2lvbiBzdHJlYW1zXG4iCittc2dzdHIgIiAtdCwgLS1zdHJlYW1zIDzmlbDlrZc+ICAgICAg5Y6L57yp5rWB5pWw6YePXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjA0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGFsZ29yaXRobTogJXMiCittc2dzdHIgIuS4jeaUr+aMgeeahOeul+azle+4sCVzIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYyNgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdHJlYW1zIgorbXNnc3RyICLop6PmnpDmtYHlpLHotKUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjQ4Cittc2dpZCAib3B0aW9uIC0tZmluZCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8ZGV2aWNlPiIKK21zZ3N0ciAiLS1maW5kIOmAiemhueS4jjzorr7lpIc+5LqS5palIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NAorbXNnaWQgIm9ubHkgb25lIDxkZXZpY2U+IGF0IGEgdGltZSBpcyBhbGxvd2VkIgorbXNnc3RyICLkuIDmrKHlj6rlhYHorrjkuIDkuKogPOiuvuWkhz4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjU3Cittc2dpZCAib3B0aW9ucyAtLWFsZ29yaXRobSBhbmQgLS1zdHJlYW1zIG11c3QgYmUgY29tYmluZWQgd2l0aCAtLXNpemUiCittc2dzdHIgIi0tYWxnb3JpdGhtIOWSjCAtLXN0cmVhbXMg5b+F6aG75LiOIC0tc2l6ZSDlkIjnlKgiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njg3IHN5cy11dGlscy96cmFtY3RsLmM6NzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVzZXQiCittc2dzdHIgIiVz77iw6YeN572u5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY5OCBzeXMtdXRpbHMvenJhbWN0bC5jOjcwNgorbXNnaWQgIm5vIGZyZWUgenJhbSBkZXZpY2UgZm91bmQiCittc2dzdHIgIuacquaJvuWIsOepuumXsueahCB6cmFtIOiuvuWkhyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgbnVtYmVyIG9mIHN0cmVhbXMiCittc2dzdHIgIiVz77iw6K6+572u5rWB5pWw6YeP5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBhbGdvcml0aG0iCittc2dzdHIgIiVz77iw6K6+572u566X5rOV5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBkaXNrc2l6ZSAoJWp1IGJ5dGVzKSIKK21zZ3N0ciAiJXPvvJrorr7nva7no4Hnm5jlpKflsI/lpLHotKUoJWp1IOS4quWtl+iKgikiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzJXMgKGF1dG9tYXRpYyBsb2dpbilcbiIKK21zZ3N0ciAiJXMlcyAo6Ieq5Yqo55m75b2VKVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHJvb3QgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiJXPvvJrml6Dms5Xmm7TmlLnmoLnnm67lvZUgJXPvvJolbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSB3b3JraW5nIGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVz77ya5peg5rOV5pu05pS55bel5L2c55uu5b2VICVz77yaJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2UgcHJvY2VzcyBwcmlvcml0eTogJW0iCittc2dzdHIgIiVz77ya5peg5rOV5pu05pS56L+b56iL5LyY5YWI57qn77yaJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBleGVjICVzOiAlbSIKK21zZ3N0ciAiJXPvvJrml6Dms5XmiafooYwgJXPvvJolbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1NTUgdGVybS11dGlscy9hZ2V0dHkuYzo4NDEgdGVybS11dGlscy9hZ2V0dHkuYzo4NTMKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODcwIHRlcm0tdXRpbHMvYWdldHR5LmM6MTQxNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MzMKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ2OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NzkgdGVybS11dGlscy9hZ2V0dHkuYzoxNTE2CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NzggdGVybS11dGlscy9hZ2V0dHkuYzoyNTIxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnk6ICVtIgorbXNnc3RyICLliIbphY3lhoXlrZjlpLHotKXvvJolbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo2ODAKK21zZ2lkICJpbnZhbGlkIGRlbGF5IGFyZ3VtZW50IgorbXNnc3RyICLml6DmlYjnmoTlu7bov5/lj4LmlbAiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzE5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtLWxvY2FsLWxpbmUiCittc2dzdHIgIi0tbG9jYWwtbGluZSDpgInpobnlj4LmlbDml6DmlYgiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzM4Cittc2dpZCAiaW52YWxpZCBuaWNlIGFyZ3VtZW50IgorbXNnc3RyICLml6DmlYjnmoQgbmljZSDlj4LmlbAiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODc1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzcGVlZDogJXMiCittc2dzdHIgIumAn+W6puacieivr++8miVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg3NworbXNnaWQgInRvbyBtYW55IGFsdGVybmF0ZSBzcGVlZHMiCittc2dzdHIgIuWkh+mAiemAn+W6pui/h+WkmiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDA2IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAxMCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IG9wZW4gYXMgc3RhbmRhcmQgaW5wdXQ6ICVtIgorbXNnc3RyICIvZGV2LyVz77ya5peg5rOV5Lul5qCH5YeG6L6T5YWl5omT5byA77yaJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAyOQorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSBjaGFyYWN0ZXIgZGV2aWNlIgorbXNnc3RyICIvZGV2LyVz77ya5LiN5piv5a2X56ym6K6+5aSHIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgdHR5IgorbXNnc3RyICIvZGV2LyVz77ya5LiN5piv57uI56uvIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzUgdGVybS11dGlscy9hZ2V0dHkuYzoxMDY3CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBnZXQgY29udHJvbGxpbmcgdHR5OiAlbSIKK21zZ3N0ciAiL2Rldi8lc++8muaXoOazleiOt+WPluaOp+WItiB0dHnvvJolbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IHZoYW5ndXAoKSBmYWlsZWQ6ICVtIgorbXNnc3RyICIvZGV2LyVz77yadmhhbmd1cCgpIOWksei0pe+8miVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBvcGVuIGZvciByZWFkL3dyaXRlIgorbXNnc3RyICIlc++8muacquaJk+W8gCjlsLEp6K+7L+WGmSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBzZXQgcHJvY2VzcyBncm91cDogJW0iCittc2dzdHIgIi9kZXYvJXPvvJrml6Dms5Xorr7nva7ov5vnqIvnu4TvvJolbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkdXAgcHJvYmxlbTogJW0iCittc2dzdHIgIiVz77yaZHVwIOmXrumimO+8miVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIiVz77ya6I635Y+W57uI56uv5bGe5oCn5aSx6LSl77yaJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTMyMSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZhaWxlZDogJW0iCittc2dzdHIgIuiuvue9rue7iOerr+WxnuaAp+Wksei0pe+8miVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NTkKK21zZ2lkICJjYW5ub3Qgb3BlbiBvcy1yZWxlYXNlIGZpbGUiCittc2dzdHIgIuaXoOazleaJk+W8gCBvcy1yZWxlYXNlIOaWh+S7tiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNjM3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcmVsb2FkIGZpbGU6ICVzOiAlbSIKK21zZ3N0ciAi5pyq6IO95Yib5bu6IHJlbG9hZCDmlofku7bvuLAlc++8miVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3MzYKK21zZ2lkICJbcHJlc3MgRU5URVIgdG8gbG9naW5dIgorbXNnc3RyICJb5oyJIEVOVEVSIOmUrueZu+W9lV0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2MAorbXNnaWQgIk51bSBMb2NrIG9mZiIKK21zZ3N0ciAiTnVtIExvY2sg5YWzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjMKK21zZ2lkICJOdW0gTG9jayBvbiIKK21zZ3N0ciAiTnVtIExvY2sg5byAIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjYKK21zZ2lkICJDYXBzIExvY2sgb24iCittc2dzdHIgIkNhcHMgTG9jayDlvIAiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2OQorbXNnaWQgIlNjcm9sbCBMb2NrIG9uIgorbXNnc3RyICJTY3JvbGwgTG9jayDlvIAiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc3MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSGludDogJXNcbiIKKyJcbiIKK21zZ3N0ciAiIgorIuaPkOekuu+8miVzXG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZDogJW0iCittc2dzdHIgIiVz77yacmVhZO+8miVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlucHV0IG92ZXJydW4iCittc2dzdHIgIiVz77ya6L6T5YWl6L+H6L29IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NzQgdGVybS11dGlscy9hZ2V0dHkuYzoxOTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciBjb252ZXJzaW9uIGZvciBsb2dpbiBuYW1lIgorbXNnc3RyICIlc++8mueZu+W9leWQjeWtl+espui9rOaNouaXoOaViCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxOTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciAweCV4IGluIGxvZ2luIG5hbWUiCittc2dzdHIgIiVz77ya55m75b2V5ZCN5Lit55qE5a2X56ymIDB4JXgg5peg5pWIIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIiVz77ya6K6+572u57uI56uv5bGe5oCn5aSx6LSl77yaJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEwOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxsaW5lPiBbPGJhdWRfcmF0ZT4sLi4uXSBbPHRlcm10eXBlPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGJhdWRfcmF0ZT4sLi4uIDxsaW5lPiBbPHRlcm10eXBlPl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvpgInpobldIDznur/ot68+IFs85rOi54m5546HPiwuLi5dIFs857uI56uv57G75Z6LPl1cbiIKKyIgJTEkcyBb6YCJ6aG5XSA85rOi54m5546HPiwuLi4gPOe6v+i3rz4gWzznu4jnq6/nsbvlnos+XVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTMKK21zZ2lkICJPcGVuIGEgdGVybWluYWwgYW5kIHNldCBpdHMgbW9kZS5cbiIKK21zZ3N0ciAi5omT5byA5LiA5Liq57uI56uv5bm26K6+572u5YW25qih5byP44CCXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExNgorbXNnaWQgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBhc3N1bWUgOC1iaXQgdHR5XG4iCittc2dzdHIgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICDph4fnlKggOCDkvY0gdHR5XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExNworbXNnaWQgIiAtYSwgLS1hdXRvbG9naW4gPHVzZXI+ICAgICBsb2dpbiB0aGUgc3BlY2lmaWVkIHVzZXIgYXV0b21hdGljYWxseVxuIgorbXNnc3RyICIgLWEsIC0tYXV0b2xvZ2luIDznlKjmiLc+ICAgICDku6XmjIflrprnlKjmiLfoh6rliqjnmbvlvZVcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE4Cittc2dpZCAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGRvIG5vdCByZXNldCBjb250cm9sIG1vZGVcbiIKK21zZ3N0ciAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIOS4jemHjee9ruaOp+WItuaooeW8j1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTkKK21zZ2lkICIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAgdXNlIC1yIDxob3N0bmFtZT4gZm9yIGxvZ2luKDEpXG4iCittc2dzdHIgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICDkvb/nlKggLXIgPOS4u+acuuWQjT4g6YCJ6aG56LCD55SoIGxvZ2luKDEpXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMAorbXNnaWQgIiAtZiwgLS1pc3N1ZS1maWxlIDxmaWxlPiAgICBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIC1mLCAtLWlzc3VlLWZpbGUgPOaWh+S7tj4gICAg5oyH5a6a6KaB5pi+56S655qE6aKE55m75b2V5raI5oGvKGlzc3VlKeaWh+S7tlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjEKK21zZ2lkICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgZW5hYmxlIGhhcmR3YXJlIGZsb3cgY29udHJvbFxuIgorbXNnc3RyICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAg5ZCv55So56Gs5Lu25rWB5o6n5Yi2XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMgorbXNnaWQgIiAtSCwgLS1ob3N0IDxob3N0bmFtZT4gICAgICBzcGVjaWZ5IGxvZ2luIGhvc3RcbiIKK21zZ3N0ciAiIC1ILCAtLWhvc3QgPOS4u+acuuWQjT4gICAgICAgIOaMh+WumueZu+W9leS4u+aculxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjMKK21zZ2lkICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgZG8gbm90IGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAg5LiN5pi+56S66aKE55m75b2V5raI5oGvKGlzc3VlKeaWh+S7tlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjQKK21zZ2lkICIgLUksIC0taW5pdC1zdHJpbmcgPHN0cmluZz4gc2V0IGluaXQgc3RyaW5nXG4iCittc2dzdHIgIiAtSSwgLS1pbml0LXN0cmluZyA85a2X56ym5LiyPiDorr7nva7liJ3lp4vlrZfnrKbkuLJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI1Cittc2dpZCAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIGRvIG5vdCBjbGVhciB0aGUgc2NyZWVuIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIOaPkOekuuS5i+WJjeS4jea4heWxj1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjYKK21zZ2lkICIgLWwsIC0tbG9naW4tcHJvZ3JhbSA8ZmlsZT4gc3BlY2lmeSBsb2dpbiBwcm9ncmFtXG4iCittc2dzdHIgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDzmlofku7Y+IOaMh+WumueZu+W9leeoi+W6j1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjcKK21zZ2lkICIgLUwsIC0tbG9jYWwtbGluZVs9PG1vZGU+XSAgY29udHJvbCB0aGUgbG9jYWwgbGluZSBmbGFnXG4iCittc2dzdHIgIiAtTCwgLS1sb2NhbC1saW5lWz085qih5byPPl0gIOaOp+WItuacrOWcsOe6v+i3r+agh+W/l1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjgKK21zZ2lkICIgLW0sIC0tZXh0cmFjdC1iYXVkICAgICAgICAgZXh0cmFjdCBiYXVkIHJhdGUgZHVyaW5nIGNvbm5lY3RcbiIKK21zZ3N0ciAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIOi/nuaOpei/h+eoi+S4reaPkOWPluazoueJueeOh1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjkKK21zZ2lkICIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAgZG8gbm90IHByb21wdCBmb3IgbG9naW5cbiIKK21zZ3N0ciAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIOS4jeaPkOekuueZu+W9lVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzAKK21zZ2lkICIgLU4gIC0tbm9uZXdsaW5lICAgICAgICAgICAgZG8gbm90IHByaW50IGEgbmV3bGluZSBiZWZvcmUgaXNzdWVcbiIKK21zZ3N0ciAiIC1OICAtLW5vbmV3bGluZSAgICAgICAgICAgIOmihOeZu+W9lea2iOaBryhpc3N1ZSnliY3kuI3miZPljbDmjaLooYwobmV3bGluZSlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMxCittc2dpZCAiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPG9wdHM+IG9wdGlvbnMgdGhhdCBhcmUgcGFzc2VkIHRvIGxvZ2luXG4iCittc2dzdHIgIiAtbywgLS1sb2dpbi1vcHRpb25zIDzpgInpobk+IOS8oOmAkue7meeZu+W9leeoi+W6j+eahOmAiemhuVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzIKK21zZ2lkICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICDnmbvlvZXliY3nrYnlvoXmjInkuIvku7vmhI/plK7mnaXnu6fnu61cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMzCittc2dpZCAiIC1yLCAtLWNocm9vdCA8ZGlyPiAgICAgICAgIGNoYW5nZSByb290IHRvIHRoZSBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1yLCAtLWNocm9vdCA855uu5b2VPiAgICAgICAg5bCG5qC555uu5b2V5pu05pS55Li65oyH5a6a55uu5b2VXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNAorbXNnaWQgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICBkbyB2aXJ0dWFsbHkgaGFuZ3VwIG9uIHRoZSB0dHlcbiIKK21zZ3N0ciAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgIOWvuSB0dHkg5omn6KGM6Jma5ouf5oyC6LW3KHZpcnR1YWwgaGFuZ3VwKVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzUKK21zZ2lkICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgdHJ5IHRvIGtlZXAgYmF1ZCByYXRlIGFmdGVyIGJyZWFrXG4iCittc2dzdHIgIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICDkuK3mlq0oYnJlYWsp5ZCO5bCd6K+V5L+d5oyB5rOi54m5546HXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzNgorbXNnaWQgIiAtdCwgLS10aW1lb3V0IDxudW1iZXI+ICAgICBsb2dpbiBwcm9jZXNzIHRpbWVvdXRcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWVvdXQgPOaVsOWtlz4gICAgICAg55m75b2V6L+b56iL6LaF5pe2KOenkilcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM3Cittc2dpZCAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKK21zZ3N0ciAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIOajgOa1i+e6r+Wkp+WGmee7iOerr1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzgKK21zZ2lkICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgd2FpdCBjYXJyaWFnZS1yZXR1cm5cbiIKK21zZ3N0ciAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIOetieW+heWbnui9plxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzkKK21zZ2lkICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAgZG8gbm90IHByaW50IGhpbnRzXG4iCittc2dzdHIgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICDkuI3miZPljbDmj5DnpLrkv6Hmga9cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQwCittc2dpZCAiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgIG5vIGhvc3RuYW1lIGF0IGFsbCB3aWxsIGJlIHNob3duXG4iCittc2dzdHIgIiAgICAgLS1ub2hvc3RuYW1lICAgICAgICAgICDlsIblrozlhajkuI3mmL7npLrkuLvmnLrlkI1cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQxCittc2dpZCAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIHNob3cgZnVsbCBxdWFsaWZpZWQgaG9zdG5hbWVcbiIKK21zZ3N0ciAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIOaYvuekuuWujOWFqOmZkOWumuS4u+acuuWQjVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDIKK21zZ2lkICIgICAgIC0tZXJhc2UtY2hhcnMgPHN0cmluZz4gYWRkaXRpb25hbCBiYWNrc3BhY2UgY2hhcnNcbiIKK21zZ3N0ciAiICAgICAtLWVyYXNlLWNoYXJzIDzlrZfnrKbkuLI+IOmZhOWKoOeahOmAgOagvOWtl+esplxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDMKK21zZ2lkICIgICAgIC0ta2lsbC1jaGFycyA8c3RyaW5nPiAgYWRkaXRpb25hbCBraWxsIGNoYXJzXG4iCittc2dzdHIgIiAgICAgLS1raWxsLWNoYXJzIDzlrZfnrKbkuLI+ICDpmYTliqDnmoTmnYDmrbsoa2lsbCnlrZfnrKZcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ0Cittc2dpZCAiICAgICAtLWNoZGlyIDxkaXJlY3Rvcnk+ICAgIGNoZGlyIGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiICAgICAtLWNoZGlyIDznm67lvZU+ICAgICAgICAg55m75b2V5YmN5YiH5o2i55uu5b2VKGNoZGlyKVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDUKK21zZ2lkICIgICAgIC0tZGVsYXkgPG51bWJlcj4gICAgICAgc2xlZXAgc2Vjb25kcyBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAgICAgLS1kZWxheSA85pWw5a2XPiAgICAgICAgIOaPkOekuuWJjeedoeecoOeahOenkuaVsFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDYKK21zZ2lkICIgICAgIC0tbmljZSA8bnVtYmVyPiAgICAgICAgcnVuIGxvZ2luIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIgICAgIC0tbmljZSA85pWw5a2XPiAgICAgICAgICDku6XmjIflrprkvJjlhYjnuqfov5DooYwgbG9naW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ3Cittc2dpZCAiICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgIHJlbG9hZCBwcm9tcHRzIG9uIHJ1bm5pbmcgYWdldHR5IGluc3RhbmNlc1xuIgorbXNnc3RyICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAg5Zyo6L+Q6KGMIGFnZXR0eSDlrp7kvovml7bph43mlrDovb3lhaXmj5DnpLpcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ4Cittc2dpZCAiICAgICAtLWhlbHAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgLS1oZWxwICAgICAgICAgICAgICAgICDmmL7npLrmraTluK7liqnlubbpgIDlh7pcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ5Cittc2dpZCAiICAgICAtLXZlcnNpb24gICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICDovpPlh7rniYjmnKzkv6Hmga/lubbpgIDlh7pcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNDgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIHVzZXIiCittc2dpZF9wbHVyYWwgIiVkIHVzZXJzIgorbXNnc3RyWzBdICIlZCDkvY3nlKjmiLciCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYwOQorIywgYy1mb3JtYXQKK21zZ2lkICJjaGVja25hbWUgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2hlY2tuYW1lIOWksei0pe+8miVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHRvdWNoIGZpbGUgJXMiCittc2dzdHIgIuaXoOazlSB0b3VjaCDmlofku7YgJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYyNQorbXNnaWQgIi0tcmVsb2FkIGlzIHVuc3VwcG9ydGVkIG9uIHlvdXIgc3lzdGVtIgorbXNnc3RyICLmgqjnmoTns7vnu5/kuI3mlK/mjIEgLS1yZWxvYWQiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3kgfCBuXVxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gW3kgfCBuXVxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3OAorbXNnaWQgIkNvbnRyb2wgd3JpdGUgYWNjZXNzIG9mIG90aGVyIHVzZXJzIHRvIHlvdXIgdGVybWluYWwuXG4iCittc2dzdHIgIuaOp+WItuWFtuS7lueUqOaIt+WvueaCqOe7iOerr+eahOWGmeadg+mZkOOAglxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo4MQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAg6Kej6YeK5q2j5Zyo6L+b6KGM55qE5pON5L2cXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEyNQorbXNnaWQgInR0eW5hbWUgZmFpbGVkIgorbXNnc3RyICJ0dHluYW1lIOWksei0pSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM0Cittc2dpZCAiaXMgeSIKK21zZ3N0ciAi5pivIHkiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNworbXNnaWQgImlzIG4iCittc2dzdHIgIuaYryBuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNDggdGVybS11dGlscy9tZXNnLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZSAlcyBtb2RlIGZhaWxlZCIKK21zZ3N0ciAi5pu05pS5ICVzIOaooeW8j+Wksei0pSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTUwCittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgYWxsb3dlZCIKK21zZ3N0ciAi5YWB6K645LqG5YaZ5oKo55qE57uI56uvIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNTcKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBkZW5pZWQiCittc2dzdHIgIuaLkue7neS6huWGmeaCqOeahOe7iOerryIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICLml6DmlYjlj4LmlbDvvJolcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZV1cbiIKK21zZ3N0ciAiICVzIFvpgInpobldIFvmlofku7ZdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTYyCittc2dpZCAiTWFrZSBhIHR5cGVzY3JpcHQgb2YgYSB0ZXJtaW5hbCBzZXNzaW9uLlxuIgorbXNnc3RyICLliJvlu7rnu4jnq6/kvJror53nmoQgdHlwZXNjcmlwdOOAglxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NQorbXNnaWQgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgYXBwZW5kIHRoZSBvdXRwdXRcbiIKKyIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gcnVuIGNvbW1hbmQgcmF0aGVyIHRoYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgcmV0dXJuIGV4aXQgY29kZSBvZiB0aGUgY2hpbGQgcHJvY2Vzc1xuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICBydW4gZmx1c2ggYWZ0ZXIgZWFjaCB3cml0ZVxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICB1c2Ugb3V0cHV0IGZpbGUgZXZlbiB3aGVuIGl0IGlzIGEgbGlua1xuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICBiZSBxdWlldFxuIgorIiAtdCwgLS10aW1pbmdbPTxmaWxlPl0gICBvdXRwdXQgdGltaW5nIGRhdGEgdG8gc3RkZXJyIChvciB0byBGSUxFKVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgIOi/veWKoOi+k+WHulxuIgorIiAtYywgLS1jb21tYW5kIDzlkb3ku6Q+ICAgIOi/kOihjOWRveS7pOiAjOS4jeaYr+S6pOS6kuW8jyBzaGVsbFxuIgorIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICDov5Tlm57lrZDov5vnqIvnmoTpgIDlh7rku6PnoIFcbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAg5q+P5qyhIHdyaXRlKOWGmSkg5ZCO6L+Q6KGMIGZsdXNoKOWGsuWItylcbiIKKyIgICAgIC0tZm9yY2UgICAgICAgICAgICAg5Y2z5L2/6L6T5Ye65paH5Lu25piv6ZO+5o6l5Lmf5L6d54S25L2/55SoXG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIOWuiemdmeaooeW8j1xuIgorIiAtdCwgLS10aW1pbmdbPTzmlofku7Y+XSAgIOWwhuaXtumXtOaVsOaNrui+k+WHuuWIsOagh+WHhumUmeivryjmiJbmlofku7YpXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIOi+k+WHuueJiOacrOS/oeaBr+W5tumAgOWHulxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICDmmL7npLrmraTluK7liqnlubbpgIDlh7pcbiIKKyJcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm91dHB1dCBmaWxlIGAlcycgaXMgYSBsaW5rXG4iCisiVXNlIC0tZm9yY2UgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC5cbiIKKyJQcm9ncmFtIG5vdCBzdGFydGVkLiIKK21zZ3N0ciAiIgorIui+k+WHuuaWh+S7tuKAnCVz4oCd5piv6ZO+5o6lXG4iCisi5aaC5p6c55yf5oOz55So5a6D77yM5L2/55SoIC0tZm9yY2Ug6YCJ6aG544CCXG4iCisi56iL5bqP5rKh5pyJ5ZCv5Yqo44CCIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgZG9uZSwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICLohJrmnKzlrozmiJDvvIzmlofku7bkuLogICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MjYyCittc2dpZCAiY2Fubm90IHdyaXRlIHNjcmlwdCBmaWxlIgorbXNnc3RyICLml6Dms5XlhpnohJrmnKzmlofku7YiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyLkvJror53lt7Lnu4jmraLjgIJcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXMiCittc2dzdHIgIuiEmuacrOW3suS6jiAlcyDlkK/liqgiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTY3JpcHQgZG9uZSBvbiAlcyIKK21zZ3N0ciAiIgorIlxuIgorIuiEmuacrOWujOaIkO+8jOS6jiAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2MDcKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiCittc2dzdHIgIuWPlue7iOerr+WxnuaAp+Wksei0pSIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2MTQKK21zZ2lkICJvcGVucHR5IGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSDlpLHotKUiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjUyCittc2dpZCAib3V0IG9mIHB0eSdzIgorbXNnc3RyICJwdHkg55qE6L6T5Ye6IgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc1MgorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgc3RhcnRlZCwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICLohJrmnKzlt7LlkK/liqjvvIzmlofku7bkuLogJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy10XSB0aW1pbmdmaWxlIFt0eXBlc2NyaXB0XSBbZGl2aXNvcl1cbiIKK21zZ3N0ciAiICVzIFstdF0gdGltaW5nZmlsZSBbdHlwZXNjcmlwdF0gW2Rpdmlzb3JdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDcKK21zZ2lkICJQbGF5IGJhY2sgdGVybWluYWwgdHlwZXNjcmlwdHMsIHVzaW5nIHRpbWluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAi5L2/55So5a6a5pe25L+h5oGv5Zue6K+d57uI56uvIHR5cGVzY3JpcHTjgIJcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo1MAorbXNnaWQgIiIKKyIgLXQsIC0tdGltaW5nIDxmaWxlPiAgICAgc2NyaXB0IHRpbWluZyBvdXRwdXQgZmlsZVxuIgorIiAtcywgLS10eXBlc2NyaXB0IDxmaWxlPiBzY3JpcHQgdGVybWluYWwgc2Vzc2lvbiBvdXRwdXQgZmlsZVxuIgorIiAtZCwgLS1kaXZpc29yIDxudW0+ICAgICBzcGVlZCB1cCBvciBzbG93IGRvd24gZXhlY3V0aW9uIHdpdGggdGltZSBkaXZpc29yXG4iCisiIC1tLCAtLW1heGRlbGF5IDxudW0+ICAgIHdhaXQgYXQgbW9zdCB0aGlzIG1hbnkgc2Vjb25kcyBiZXR3ZWVuIHVwZGF0ZXNcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtdCwgLS10aW1pbmcgPOaWh+S7tj4gICAgIOiEmuacrOaXtuW6j+i+k+WHuuaWh+S7tlxuIgorIiAtcywgLS10eXBlc2NyaXB0IDzmlofku7Y+IOiEmuacrOe7iOerr+S8muivnei+k+WHuuaWh+S7tlxuIgorIiAtZCwgLS1kaXZpc29yIDzmlbDlrZc+ICAgIOeUqOaXtumXtOmZpOaVsOWKoOmAn+aIluWHj+mAn+aJp+ihjFxuIgorIiAtbSwgLS1tYXhkZWxheSA85pWw5a2XPiAgIOWcqOabtOaWsOS5i+mXtOacgOWkmuetieW+hei/meS5iOWkmuenklxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICDovpPlh7rniYjmnKzkv6Hmga/lubbpgIDlh7pcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAg5pi+56S65q2k5biu5Yqp5bm26YCA5Ye6XG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTEyCittc2dpZCAid3JpdGUgdG8gc3Rkb3V0IGZhaWxlZCIKK21zZ3N0ciAi5YaZIHN0ZG91dCDlpLHotKUiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUgb24gJXMiCittc2dzdHIgIiVzIOS4iueahOaWh+S7tue7k+WwvuW8guW4uCIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdHlwZXNjcmlwdCBmaWxlICVzIgorbXNnc3RyICLor7sgdHlwZXNjcmlwdCDmlofku7YgJXMg5aSx6LSlIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE4NAorbXNnaWQgIndyb25nIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgIuWPguaVsOS4quaVsOS4jeato+ehriIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGltaW5nIGZpbGUgJXMiCittc2dzdHIgIuivu+aXtuW6j+aWh+S7tiAlcyDlpLHotKUiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWluZyBmaWxlICVzOiBsaW5lICVsdTogdW5leHBlY3RlZCBmb3JtYXQiCittc2dzdHIgIuWumuaXtuaWh+S7tiAlc++8muesrCAlbHUg6KGM77ya5qC85byP5byC5bi444CCIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXJndW1lbnQgZXJyb3I6IGJyaWdodCAlcyBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICLlj4LmlbDplJnor6/vvJrkuI3mlK/mjIHkuq7luqYgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyOAorbXNnaWQgInRvbyBtYW55IHRhYnMiCittc2dzdHIgIuagh+etvui/h+WkmiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzgzCittc2dpZCAiU2V0IHRoZSBhdHRyaWJ1dGVzIG9mIGEgdGVybWluYWwuXG4iCittc2dzdHIgIuiuvue9rue7iOerr+WxnuaAp+OAglxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODYKK21zZ2lkICIgLS10ZXJtICAgICAgICAgIDx0ZXJtaW5hbF9uYW1lPiAgIG92ZXJyaWRlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIC0tdGVybSAgICAgICAgICA857uI56uv5ZCNPiAgICAgICAgICDmm7/mjaIgVEVSTSDnjq/looPlj5jph49cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg3Cittc2dpZCAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCB0byBwb3dlci1vbiBzdGF0ZVxuIgorbXNnc3RyICIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIOmHjee9ruerr+WPo+WIsOS4iueUteaXtueahOeKtuaAgVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODgKK21zZ2lkICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5pdCBzdHJpbmcsIGFuZCB1c2UgZGVmYXVsdCBzZXR0aW5nc1xuIgorbXNnc3RyICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIOaYvuekuuWIneWni+WMluWtl+espuS4su+8jOW5tuS9v+eUqOm7mOiupOiuvue9rlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODkKK21zZ2lkICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBkZWZhdWx0IHRlcm1pbmFsIHNldHRpbmdzXG4iCittc2dzdHIgIiAtLWRlZmF1bHQgICAgICAgICAgICAgICAgICAgICAgICAg5L2/55So6buY6K6k57uI56uv6K6+572uXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MAorbXNnaWQgIiAtLXN0b3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IHRlcm1pbmFsIHNldHRpbmdzIGFzIGRlZmF1bHRcbiIKK21zZ3N0ciAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICDlsIblvZPliY3nu4jnq6/orr7nva7kv53lrZjkuLrpu5jorqTlgLxcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkxCittc2dpZCAiIC0tY3Vyc29yICAgICAgICBbb258b2ZmXSAgICAgICAgICBkaXNwbGF5IGN1cnNvclxuIgorbXNnc3RyICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIOaYvuekuuWFieagh1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTIKK21zZ2lkICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGtleWJvYXJkIHJlcGVhdFxuIgorbXNnc3RyICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIOmUruebmOmHjeWkjVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTMKK21zZ2lkICIgLS1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdICAgICAgICAgIGN1cnNvciBrZXkgYXBwbGljYXRpb24gbW9kZVxuIgorbXNnc3RyICIgLS1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdICAgICAgICAgIOWFieagh+mUruW6lOeUqOeoi+W6j+aooeW8j1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTQKK21zZ2lkICIgLS1saW5ld3JhcCAgICAgIFtvbnxvZmZdICAgICAgICAgIGNvbnRpbnVlIG9uIGEgbmV3IGxpbmUgd2hlbiBhIGxpbmUgaXMgZnVsbFxuIgorbXNnc3RyICIgLS1saW5ld3JhcCAgICAgIFtvbnxvZmZdICAgICAgICAgIOS4gOihjOa7oeaXtuWcqOaWsOihjOS4ree7p+e7rVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTUKK21zZ2lkICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIHN3YXAgY29sb3JzIGZvciB0aGUgd2hvbGUgc2NyZWVuXG4iCittc2dzdHIgIiAtLWludmVyc2VzY3JlZW4gW29ufG9mZl0gICAgICAgICAg5Lqk5o2i5pW05Liq5bGP5bmV55qE6aKc6ImyXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NgorbXNnaWQgIiAtLWZvcmVncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGZvcmVncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDzpopzoibI+ICAgIOiuvue9ruWJjeaZr+iJslxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTcKK21zZ2lkICIgLS1iYWNrZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBiYWNrZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw86aKc6ImyPiAgICDorr7nva7og4zmma/oibJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk4Cittc2dpZCAiIC0tdWxjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgdW5kZXJsaW5lZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiAtLXVsY29sb3IgICAgICAgW2JyaWdodF0gPOminOiJsj4gICDorr7nva7kuIvliJLnur/popzoibJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk5Cittc2dpZCAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgYm9sZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiAtLWhiY29sb3IgICAgICAgW2JyaWdodF0gPOminOiJsj4gICDorr7nva7nspfkvZPlrZfpopzoibJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAwCittc2dpZCAiICAgICAgICAgICAgICAgICA8Y29sb3I+OiBibGFjayBibHVlIGN5YW4gZ3JlZW4gZ3JleSBtYWdlbnRhIHJlZCB3aGl0ZSB5ZWxsb3dcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICA86aKc6ImyPu+8mmJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDEKK21zZ2lkICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJvbGRcbiIKK21zZ3N0ciAiIC0tYm9sZCAgICAgICAgICBbb258b2ZmXSAgICAgICAgICDnspfkvZNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAyCittc2dpZCAiIC0taGFsZi1icmlnaHQgICBbb258b2ZmXSAgICAgICAgICBkaW1cbiIKK21zZ3N0ciAiIC1oYWxmLWJyaWdodCAgICBbb258b2ZmXSAgICAgICAgICDlj5jmmpdcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAzCittc2dpZCAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlua1xuIgorbXNnc3RyICIgLS1ibGluayAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIOmXqueDgVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDQKK21zZ2lkICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHVuZGVybGluZVxuIgorbXNnc3RyICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIOS4i+WIkue6v1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDUKK21zZ2lkICIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgIHN3YXAgZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBjb2xvcnNcbiIKK21zZ3N0ciAiIC0tcmV2ZXJzZSAgICAgICBbb258b2ZmXSAgICAgICAgICDkuqTmjaLliY3mma/oibLlkozog4zmma/oibJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA2Cittc2dpZCAiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICBjbGVhciBzY3JlZW4gYW5kIHNldCBjdXJzb3IgcG9zaXRpb25cbiIKK21zZ3N0ciAiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICDmuIXlsY/lubborr7nva7lhYnmoIfkvY3nva5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA3Cittc2dpZCAiIC0tdGFicyAgICAgICAgICBbPG51bWJlcj4uLi5dICAgICBzZXQgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBzaG93IHRoZW1cbiIKK21zZ3N0ciAiIC0tdGFicyAgICAgICAgICBbPOaVsOWtlz4uLi5dICAgICAgIOiuvue9rui/meS6m+WItuihqOS9jee9ru+8jOaIluaYvuekuuWItuihqOS9jVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDgKK21zZ2lkICIgLS1jbHJ0YWJzICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIGNsZWFyIHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3IgYWxsXG4iCittc2dzdHIgIiAtLWNscnRhYnMgICAgICAgWzzmlbDlrZc+Li4uXSAgICAgICDmuIXpmaTov5nkupvmiJbmiYDmnInliLbooajkvY1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA5Cittc2dpZCAiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICBzZXQgYSByZWd1bGFyIHRhYiBzdG9wIGludGVydmFsXG4iCittc2dzdHIgIiAtLXJlZ3RhYnMgICAgICAgWzEtMTYwXSAgICAgICAgICAg6K6+572u5bi46KeE55qE5Yi26KGo5L2N6Ze06ZqUXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMAorbXNnaWQgIiAtLWJsYW5rICAgICAgICAgWzAtNjB8Zm9yY2V8cG9rZV0gc2V0IHRpbWUgb2YgaW5hY3Rpdml0eSBiZWZvcmUgc2NyZWVuIGJsYW5rc1xuIgorbXNnc3RyICIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIOiuvue9ruWkmuS5heS4jea0u+WKqOWQjuWxj+W5leWPmOepuueZvVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTEKK21zZ2lkICIgLS1kdW1wICAgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIHdyaXRlIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIgLS1kdW1wICAgICAgICAgIFs85pWw5a2XPl0gICAgICAgICAg5bCGIHZjc2E85pWw5a2XPiDnu4jnq6/ovazlgqjliLDmlofku7ZcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEyCittc2dpZCAiIC0tYXBwZW5kICAgICAgICBbPG51bWJlcj5dICAgICAgICBhcHBlbmQgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiAtLWFwcGVuZCAgICAgICAgWzzmlbDlrZc+XSAgICAgICAgICDlsIYgdmNzYTzmlbDlrZc+IOe7iOerr+i9rOWCqOi/veWKoOWIsOaWh+S7tlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTMKK21zZ2lkICIgLS1maWxlICAgICAgICAgIDxmaWxlbmFtZT4gICAgICAgIG5hbWUgb2YgdGhlIGR1bXAgZmlsZVxuIgorbXNnc3RyICIgLWYsIC0tZmlsZSAgICAgIDzmlofku7blkI0+ICAgICAgICAgIOi9rOWCqOaWh+S7tueahOWQjeWtl1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTQKK21zZ2lkICIgLS1tc2cgICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHNlbmQga2VybmVsIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICDlsIblhoXmoLjmtojmga/lj5HpgIHliLDnu4jnq69cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE1Cittc2dpZCAiIC0tbXNnbGV2ZWwgICAgICAwLTggICAgICAgICAgICAgICBrZXJuZWwgY29uc29sZSBsb2cgbGV2ZWxcbiIKK21zZ3N0ciAiIC0tbXNnbGV2ZWwgICAgICAwLTggICAgICAgICAgICAgICDlhoXmoLjnu4jnq6/ml6Xlv5forrDlvZXnuqfliKtcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE2Cittc2dpZCAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKK21zZ3N0ciAiIC1wb3dlcnNhdmUgICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE3Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQgdmVzYSBwb3dlcnNhdmluZyBmZWF0dXJlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOiuvue9riB2ZXNhIOiKguiDveWKn+iDvVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTgKK21zZ2lkICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIHNldCB2ZXNhIHBvd2VyZG93biBpbnRlcnZhbCBpbiBtaW51dGVzXG4iCittc2dzdHIgIiAtLXBvd2VyZG93biAgICAgWzAtNjBdICAgICAgICAgICAg6K6+572uIHZlc2Eg5YWz6Zet55S15rqQ6Ze06ZqUKOWIhumSnylcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE5Cittc2dpZCAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICBkdXJhdGlvbiBvZiB0aGUgYmVsbCBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICDlk43pk4PmjIHnu63ml7bpl7Qo5q+r56eSKVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjAKK21zZ2lkICIgLS1iZnJlcSAgICAgICAgIDxudW1iZXI+ICAgICAgICAgIGJlbGwgZnJlcXVlbmN5IGluIEhlcnR6XG4iCittc2dzdHIgIiAtLWJmcmVxICAgICAgICAgPOaVsOWtlz4gICAgICAgICAgICDlk43pk4PpopHnjofvvIzljZXkvY3kuLogSHpcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIxCittc2dpZCAiIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICBzaG93IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICDovpPlh7rniYjmnKzkv6Hmga/lubbpgIDlh7pcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIyCittc2dpZCAiIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaYvuekuuatpOW4ruWKqeW5tumAgOWHulxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MzAKK21zZ2lkICJkdXBsaWNhdGUgdXNlIG9mIGFuIG9wdGlvbiIKK21zZ3N0ciAi6YeN5aSN5L2/55So5p+Q6YCJ6aG5IgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MzQKK21zZ2lkICJjYW5ub3QgZm9yY2UgYmxhbmsiCittc2dzdHIgIuaXoOazleW8uuWItua4heepuihibGFuaykiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjczOQorbXNnaWQgImNhbm5vdCBmb3JjZSB1bmJsYW5rIgorbXNnc3RyICLml6Dms5XlvLrliLblj43muIXnqboodW5ibGFuaykiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0NQorbXNnaWQgImNhbm5vdCBnZXQgYmxhbmsgc3RhdHVzIgorbXNnc3RyICLml6Dms5Xojrflj5bnqbrnmb3nirbmgIEiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4gbm90IG9wZW4gZHVtcCBmaWxlICVzIGZvciBvdXRwdXQiCittc2dzdHIgIuaXoOazleaJk+W8gOi9rOWCqOaWh+S7tiAlcyDov5vooYzovpPlh7oiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjgxMworIywgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCAlcyBkb2VzIG5vdCBzdXBwb3J0ICVzIgorbXNnc3RyICLnu4jnq68gJXMg5LiN5pSv5oyBICVzIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo5ODgKK21zZ2lkICJjYW5ub3QgKHVuKXNldCBwb3dlcnNhdmUgbW9kZSIKK21zZ3N0ciAi5peg5rOV6K6+572uKOWPlua2iCnoioLog73mqKHlvI8iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwMDcgdGVybS11dGlscy9zZXR0ZXJtLmM6MTAxNgorbXNnaWQgImtsb2djdGwgZXJyb3IiCittc2dzdHIgImtsb2djdGwg5Ye66ZSZIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDM3Cittc2dpZCAiJFRFUk0gaXMgbm90IGRlZmluZWQuIgorbXNnc3RyICIkVEVSTSDmnKrlrprkuYnjgIIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDQKK21zZ2lkICJ0ZXJtaW5mbyBkYXRhYmFzZSBjYW5ub3QgYmUgZm91bmQiCittc2dzdHIgIuaJvuS4jeWIsCB0ZXJtaW5mbyDmlbDmja7lupMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gdGVybWluYWwgdHlwZSIKK21zZ3N0ciAiJXPvvJrmnKrnn6Xnu4jnq6/nsbvlnosiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwNDgKK21zZ2lkICJ0ZXJtaW5hbCBpcyBoYXJkY29weSIKK21zZ3N0ciAi57uI56uv5Li656Gs5ou36LSdKGhhcmRjb3B5KSIKKworIzogdGVybS11dGlscy90dHltc2cuYzo4MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdG9vIG1hbnkgaW92J3MiCittc2dzdHIgIuWGhemDqOmUmeivr++8mmlvdiDov4flpJoiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhjZXNzaXZlbHkgbG9uZyBsaW5lIGFyZyIKK21zZ3N0ciAi5Y+C5pWw6KGM6LaF6ZW/IgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVuIGZhaWxlZCIKK21zZ3N0ciAi5omT5byA5aSx6LSlIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJmb3JrOiAlbSIKK21zZ3N0ciAiZm9ya++8miVtIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZm9yayIKK21zZ3N0ciAi5peg5rOVIGZvcmsiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCQUQgRVJST1IsIG1lc3NhZ2UgaXMgZmFyIHRvbyBsb25nIgorbXNnc3RyICIlc++8muS4pemHjemUmeivr++8jOa2iOaBr+WkqumVv+WkqumVv+S6hiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IHwgPG1lc3NhZ2U+XVxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gWzzmlofku7Y+IHwgPOa2iOaBrz5dXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg2Cittc2dpZCAiV3JpdGUgYSBtZXNzYWdlIHRvIGFsbCB1c2Vycy5cbiIKK21zZ3N0ciAi5ZCR5omA5pyJ55So5oi35Y+R5raI5oGv44CCXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg5Cittc2dpZCAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIGRvIG5vdCBwcmludCBiYW5uZXIsIHdvcmtzIG9ubHkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIOS4jeaJk+WNsOasoui/jua2iOaBr++8jOWPquWvuSByb290IOeUqOaIt+eUn+aViFxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5MAorbXNnaWQgIiAtdCwgLS10aW1lb3V0IDx0aW1lb3V0PiB3cml0ZSB0aW1lb3V0IGluIHNlY29uZHNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWVvdXQgPOi2heaXtj4gICAg5YaZ6LaF5pe2KOenkilcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6MTMyCittc2dpZCAiLS1ub2Jhbm5lciBpcyBhdmFpbGFibGUgb25seSBmb3Igcm9vdCIKK21zZ3N0ciAiLS1ub2Jhbm5lciDlj6rmnIkgcm9vdCDog73nlKgiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEzNworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICLml6DmlYjnmoTotoXml7blj4LmlbDvvJolcyIKKworIzogdGVybS11dGlscy93YWxsLmM6MjY5Cittc2dpZCAiY2Fubm90IGdldCBwYXNzd2QgdWlkIgorbXNnc3RyICLml6Dms5Xojrflj5YgcGFzc3dkIHVpZCIKKworIzogdGVybS11dGlscy93YWxsLmM6Mjc0Cittc2dpZCAiY2Fubm90IGdldCB0dHkgbmFtZSIKK21zZ3N0ciAi5peg5rOV6I635b6XIHR0eSDlkI3np7AiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjI5NAorIywgYy1mb3JtYXQKK21zZ2lkICJCcm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzQCVzICglcykgKCVzKToiCittc2dzdHIgIuadpeiHqiAlc0AlcyAoJXMpICglcykg55qE5bm/5pKt5raI5oGv77yaIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgcmVhZCAlcyAtIHVzZSBzdGRpbi4iCittc2dzdHIgIuWwhuS4jeivuyAlcyAtIOS9v+eUqCBzdGRpbuOAgiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHVzZXI+IFs8dHR5bmFtZT5dXG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSA855So5oi3PiBbPHR0eeWQjeensD5dXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo5MAorbXNnaWQgIlNlbmQgYSBtZXNzYWdlIHRvIGFub3RoZXIgdXNlci5cbiIKK21zZ3N0ciAi5ZCR5Y+m5LiA5Liq55So5oi35Y+R6YCB5raI5oGv44CCXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoxMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZWZmZWN0aXZlIGdpZCBkb2VzIG5vdCBtYXRjaCBncm91cCBvZiAlcyIKK21zZ3N0ciAi5pyJ5pWIIGdpZCDkuI7nu4QgJXMg5LiN5Yy56YWNIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4iCittc2dzdHIgIiVzIOacqueZu+W9lSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwNworbXNnaWQgImNhbid0IGZpbmQgeW91ciB0dHkncyBuYW1lIgorbXNnc3RyICLmib7kuI3liLDmgqjnmoQgdHR5IOWQjeensCIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQiCittc2dzdHIgIiVzIOemgeeUqOS6hua2iOaBryIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBsb2dnZWQgaW4gbW9yZSB0aGFuIG9uY2U7IHdyaXRpbmcgdG8gJXMiCittc2dzdHIgIiVzIOeZu+W9leS6huWkmuasoe+8m+WwhuiusOWFpSAlcyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIzOAorbXNnaWQgImNhcmVmdWxwdXRjIGZhaWxlZCIKK21zZ3N0ciAiY2FyZWZ1bHB1dGMg5aSx6LSlIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyAoYXMgJXMpIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIiVzQCVzICjkvZzkuLogJXMpIOS6jiAlcyDlnKggJTAyZDolMDJkIOWPkeeahOa2iOaBry4uLiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiJXNAJXMg5LqOICVzIOWcqCAlMDJkOiUwMmQg5Y+R55qE5raI5oGvLi4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzMxCittc2dpZCAieW91IGhhdmUgd3JpdGUgcGVybWlzc2lvbiB0dXJuZWQgb2ZmIgorbXNnc3RyICLmgqjlhbPpl63kuoblhpnmnYPpmZAiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiBvbiAlcyIKK21zZ3N0ciAiJXMg5pyq5ZyoICVzIOS4iueZu+W9lSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQgb24gJXMiCittc2dzdHIgIiVzIOWcqCAlcyDkuIrnpoHnlKjkuobmtojmga8iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM0Cittc2dpZCAiRmlsdGVyIG91dCByZXZlcnNlIGxpbmUgZmVlZHMuXG4iCittc2dzdHIgIui/h+a7pOWPjeaNouihjOOAglxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWIsIC0tbm8tYmFja3NwYWNlcyAgICBkbyBub3Qgb3V0cHV0IGJhY2tzcGFjZXNcbiIKKyIgLWYsIC0tZmluZSAgICAgICAgICAgICBwZXJtaXQgZm9yd2FyZCBoYWxmIGxpbmUgZmVlZHNcbiIKKyIgLXAsIC0tcGFzcyAgICAgICAgICAgICBwYXNzIHVua25vd24gY29udHJvbCBzZXF1ZW5jZXNcbiIKKyIgLWgsIC0tdGFicyAgICAgICAgICAgICBjb252ZXJ0IHNwYWNlcyB0byB0YWJzXG4iCisiIC14LCAtLXNwYWNlcyAgICAgICAgICAgY29udmVydCB0YWJzIHRvIHNwYWNlc1xuIgorIiAtbCwgLS1saW5lcyBOVU0gICAgICAgIGJ1ZmZlciBhdCBsZWFzdCBOVU0gbGluZXNcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtSCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyLpgInpobnvvJpcbiIKKyIgLWIsIC0tbm8tYmFja3NwYWNlcyAgICDkuI3ovpPlh7rpgIDmoLzplK4oYmFja3NwYWNlKVxuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIOWFgeiuuOWJjei/m+WNiuihjChmb3J3YXJkIGhhbGYgbGluZSBmZWVkKVxuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIOS8oOmAkuacquefpeeahOaOp+WItuW6j+WIl1xuIgorIiAtaCwgLS10YWJzICAgICAgICAgICAgIOWwhuepuuagvOi9rOaNouS4uuWItuihqOesplxuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIOWwhuWItuihqOespui9rOaNouS4uuepuuagvFxuIgorIiAtbCwgLS1saW5lcyBOVU0gICAgICAgIOe8k+WGsuiHs+WwkSBOVU0g6KGMXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAg6L6T5Ye654mI5pys5L+h5oGv5bm26YCA5Ye6XG4iCisiIC1ILCAtLWhlbHAgICAgICAgICAgICAg5pi+56S65q2k5biu5Yqp5bm26YCA5Ye6XG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTQ4IHRleHQtdXRpbHMvY29scm0uYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXMgcmVhZHMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dFxuIgorIlxuIgorbXNnc3RyICIiCisiJXMg6K+75Y+W5qCH5YeG6L6T5YWl5bm25YaZ5YWl5qCH5YeG6L6T5Ye6XG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MjEyCittc2dpZCAiYmFkIC1sIGFyZ3VtZW50IgorbXNnc3RyICItbCDlj4LmlbDmnInor68iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbid0IGJhY2sgdXAgJXMuIgorbXNnc3RyICLorablkYrvvJrml6Dms5XlpIfku70gJXPjgIIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM3Cittc2dpZCAicGFzdCBmaXJzdCBsaW5lIgorbXNnc3RyICLotorov4fnrKzkuIDooYwiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM3Cittc2dpZCAiLS0gbGluZSBhbHJlYWR5IGZsdXNoZWQiCittc2dzdHIgIi0tIOihjOW3sue7j+iiq+WGsua0lyhmbHVzaGVkKSIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4MSB0ZXh0LXV0aWxzL2NvbHVtbi5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSBbPOaWh+S7tj4uLi5dXG4iCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODQKK21zZ2lkICJGaWx0ZXIgbnJvZmYgb3V0cHV0IGZvciBDUlQgcHJldmlld2luZy5cbiIKK21zZ3N0ciAi6L+H5rukIG5yb2ZmIOi+k+WHuuS7peS+vyBDUlQg6aKE6KeI44CCXG4iCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODcKK21zZ2lkICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgICAgc3VwcHJlc3MgYWxsIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiAtLCAgLS1uby11bmRlcmxpbmluZyAgICDnpoHmraLmiYDmnInkuIvliJLnur9cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OAorbXNnaWQgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBwcmludCBhbGwgaGFsZi1saW5lc1xuIgorbXNnc3RyICIgLTIsIC0taGFsZi1saW5lcyAgICAgICAg5omT5Y2w5omA5pyJ5Y2K6KGMXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtzdGFydGNvbCBbZW5kY29sXV1cbiIKK21zZ3N0ciAiIgorIlxuIgorIueUqOazle+8mlxuIgorIiAlcyBb6LW35aeL5YiXIFvnu4jmraLliJddXVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjQKK21zZ2lkICJGaWx0ZXIgb3V0IHRoZSBzcGVjaWZpZWQgY29sdW1ucy5cbiIKK21zZ3N0ciAi6L+H5ruk5oyH5a6a5YiX44CCXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODUKK21zZ2lkICJmaXJzdCBhcmd1bWVudCIKK21zZ3N0ciAi56ys5LiA5Liq5Y+C5pWwIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg3Cittc2dpZCAic2Vjb25kIGFyZ3VtZW50IgorbXNnc3RyICLnrKzkuozkuKrlj4LmlbAiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTIwCittc2dpZCAiQ29sdW1uYXRlIGxpc3RzLlxuIgorbXNnc3RyICLmiJDliJfovpPlh7rlhoXlrrnjgIJcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjMKK21zZ2lkICIgLWMsIC0tY29sdW1ucyA8d2lkdGg+ICAgIHdpZHRoIG9mIG91dHB1dCBpbiBudW1iZXIgb2YgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLWMsIC0tY29sdW1ucyA85a695bqmPiAgICAg6L6T5Ye65a695bqmKOWtl+espuaVsClcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjQKK21zZ2lkICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgIGNyZWF0ZSBhIHRhYmxlXG4iCittc2dzdHIgIiAtdCwgLS10YWJsZSAgICAgICAgICAgICAg5Yib5bu66KGo5qC8XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI1Cittc2dpZCAiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiBwb3NzaWJsZSB0YWJsZSBkZWxpbWl0ZXJzXG4iCittc2dzdHIgIiAtcywgLS1zZXBhcmF0b3IgPOWtl+espuS4sj4g5Y+v55So55qE6KGo5qC85YiG6ZqU56ymXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI2Cittc2dpZCAiIgorIiAtbywgLS1vdXRwdXQtc2VwYXJhdG9yIDxzdHJpbmc+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zIHNlcGFyYXRvciBmb3IgdGFibGUgb3V0cHV0OyBkZWZhdWx0IGlzIHR3byBzcGFjZXNcbiIKK21zZ3N0ciAiIgorIiAtbywgLS1vdXRwdXQtc2VwYXJhdG9yIDzlrZfnrKbkuLI+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICDooajmoLzovpPlh7rliJfliIbpmpTnrKbvvIzpu5jorqTkuLrkuKTkuKrnqbrmoLxcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjgKK21zZ2lkICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgIGZpbGwgcm93cyBiZWZvcmUgY29sdW1uc1xuIgorbXNnc3RyICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgIOWFiOWhq+WFheihjO+8jOWGjeWhq+WFheWIl1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjE4MgorbXNnaWQgImludmFsaWQgY29sdW1ucyBhcmd1bWVudCIKK21zZ3N0ciAi5peg5pWI55qEIOWIl+aVsCDlj4LmlbAiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDIyCisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQgaXMgdG9vIGxvbmcsIG91dHB1dCB3aWxsIGJlIHRydW5jYXRlZCIKK21zZ3N0ciAi56ysICVkIOihjOi/h+mVv++8jOi+k+WHuuWwhuaIquefrSIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU1IHRleHQtdXRpbHMvbW9yZS5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPi4uLlxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gPOaWh+S7tj4uLi5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU4Cittc2dpZCAiRGlzcGxheSBmaWxlIGNvbnRlbnRzIGluIGhleGFkZWNpbWFsLCBkZWNpbWFsLCBvY3RhbCwgb3IgYXNjaWkuXG4iCittc2dzdHIgIuS7peWNgeWFrei/m+WItuOAgeWNgei/m+WItuOAgeWFq+i/m+WItuOAgeS6jOi/m+WItuaIliBhc2NpaSDmmL7npLrmlofku7blhoXlrrnjgIJcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYxCittc2dpZCAiIC1iLCAtLW9uZS1ieXRlLW9jdGFsICAgICAgb25lLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICDljZXlrZfoioLlhavov5vliLbmmL7npLpcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYyCittc2dpZCAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgb25lLWJ5dGUgY2hhcmFjdGVyIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAg5Y2V5a2X6IqC5a2X56ym5pi+56S6XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MworbXNnaWQgIiAtQywgLS1jYW5vbmljYWwgICAgICAgICAgIGNhbm9uaWNhbCBoZXgrQVNDSUkgZGlzcGxheVxuIgorbXNnc3RyICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICDop4TojIPljJYgaGV4K0FTQ0lJIOaYvuekulxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjQKK21zZ2lkICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1kLCAtLXR3by1ieXRlcy1kZWNpbWFsICAg5Y+M5a2X6IqC5Y2B6L+b5Yi25pi+56S6XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NQorbXNnaWQgIiAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIHR3by1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1vLCAtLXR3by1ieXRlcy1vY3RhbCAgICAg5Y+M5a2X6IqC5YWr6L+b5Yi25pi+56S6XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NgorbXNnaWQgIiAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAg5Y+M5a2X6IqC5Y2B5YWt6L+b5Yi25pi+56S6XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NworbXNnaWQgIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHJldCBjb2xvciBmb3JtYXR0aW5nIHNwZWNpZmllcnNcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz085qih5byPPl0gICAgICDop6Pph4rpopzoibLmoLzlvI/ljJbpmZDlrprnrKZcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcwCittc2dpZCAiIC1lLCAtLWZvcm1hdCA8Zm9ybWF0PiAgICAgZm9ybWF0IHN0cmluZyB0byBiZSB1c2VkIGZvciBkaXNwbGF5aW5nIGRhdGFcbiIKK21zZ3N0ciAiIC1lLCAtLWZvcm1hdCA85qC85byPPiAgICAgICDnlKjkuo7mmL7npLrmlbDmja7nmoTmoLzlvI/ljJblrZfnrKbkuLJcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcxCittc2dpZCAiIC1mLCAtLWZvcm1hdC1maWxlIDxmaWxlPiAgZmlsZSB0aGF0IGNvbnRhaW5zIGZvcm1hdCBzdHJpbmdzXG4iCittc2dzdHIgIiAtZiwgLS1mb3JtYXQtZmlsZSA85paH5Lu2PiAg5YyF5ZCr5qC85byP5a2X56ym5Liy55qE5paH5Lu2XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MgorbXNnaWQgIiAtbiwgLS1sZW5ndGggPGxlbmd0aD4gICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorbXNnc3RyICIgLW4sIC0tbGVuZ3RoIDzplb/luqY+ICAgICAgIOWPquino+mHiuinhOWumuWtl+iKgumVv+W6pueahOi+k+WFpVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzMKK21zZ2lkICIgLXMsIC0tc2tpcCA8b2Zmc2V0PiAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKK21zZ3N0ciAiIC1zLCAtLXNraXAgPOWBj+enuz4gICAgICAgICDot7Pov4flvIDlpLTnmoTmjIflrprlrZfoioLlgY/np7tcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTc0Cittc2dpZCAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgb3V0cHV0IGlkZW50aWNhbCBsaW5lc1xuIgorbXNnc3RyICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICDovpPlh7rnm7jlkIznmoTooYxcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLWRpc3BsYXkuYzozNjUKK21zZ2lkICJhbGwgaW5wdXQgZmlsZSBhcmd1bWVudHMgZmFpbGVkIgorbXNnc3RyICLmiYDmnInovpPlhaXmlofku7blj4LmlbDlpLHotKUiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBieXRlIGNvdW50IGZvciBjb252ZXJzaW9uIGNoYXJhY3RlciAlcyIKK21zZ3N0ciAi6L2s5o2i5a2X56ymICVzIOeahOi9rOaNouWtl+espuiuoeaVsOmUmeivryIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJSVzIHJlcXVpcmVzIGEgcHJlY2lzaW9uIG9yIGEgYnl0ZSBjb3VudCIKK21zZ3N0ciAiJSVzIOmcgOimgeaMh+WumueyvuW6puaIluWtl+espuiuoeaVsCIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGZvcm1hdCB7JXN9IgorbXNnc3RyICLmoLzlvI/mjZ/lnY8geyVzfSIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbnZlcnNpb24gY2hhcmFjdGVyICUlJXMiCittc2dzdHIgIui9rOaNouWtl+espiAlJSVzIOacieivryIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NDM2Cittc2dpZCAiYnl0ZSBjb3VudCB3aXRoIG11bHRpcGxlIGNvbnZlcnNpb24gY2hhcmFjdGVycyIKK21zZ3N0ciAi5a+55a2X56ym6K6h5pWw5L2/55So5LqG5aSa5Liq6L2s5o2i5a2X56ymIgorCisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozMworbXNnaWQgIlJlYWQgb25lIGxpbmUuXG4iCittc2dzdHIgIuivu+S4gOihjOWGheWuueOAglxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMjgKK21zZ2lkICJBIGZpbGUgcGVydXNhbCBmaWx0ZXIgZm9yIENSVCB2aWV3aW5nLlxuIgorbXNnc3RyICLpgILlkIjlsY/luZXmn6XnnIvnmoTmlofku7bpmIXor7vovpPlh7rlt6XlhbfjgIJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjMxCittc2dpZCAiIC1kICAgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmdpbmcgYmVsbFxuIgorbXNnc3RyICIgLWQgICAgICAgICAg5pi+56S65biu5Yqp6ICM6Z2e5ZON6ZODXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMgorbXNnaWQgIiAtZiAgICAgICAgICBjb3VudCBsb2dpY2FsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAg6K6h566X6YC76L6R6KGM5pWw77yM6ICM6Z2e5bGP5bmV6KGM5pWwXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMworbXNnaWQgIiAtbCAgICAgICAgICBzdXBwcmVzcyBwYXVzZSBhZnRlciBmb3JtIGZlZWRcbiIKK21zZ3N0ciAiIC1sICAgICAgICAgIOWxj+iUveaNoumhtShmb3JtIGZlZWQp5ZCO55qE5pqC5YGcXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNAorbXNnaWQgIiAtYyAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBkaXNwbGF5IHRleHQgYW5kIGNsZWFuIGxpbmUgZW5kc1xuIgorbXNnc3RyICIgLWMgICAgICAgICAg5LiN5rua5Yqo77yM5pi+56S65paH5pys5bm25riF55CG6KGM5pyrXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNQorbXNnaWQgIiAtcCAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBjbGVhbiBzY3JlZW4gYW5kIGRpc3BsYXkgdGV4dFxuIgorbXNnc3RyICIgLXAgICAgICAgICAg5LiN5rua5Yqo77yM5riF6Zmk5bGP5bmV5bm25pi+56S65paH5pysXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNgorbXNnaWQgIiAtcyAgICAgICAgICBzcXVlZXplIG11bHRpcGxlIGJsYW5rIGxpbmVzIGludG8gb25lXG4iCittc2dzdHIgIiAtcyAgICAgICAgICDlsIblpJrooYznqbrooYzljovnvKnkuLrkuIDooYxcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM3Cittc2dpZCAiIC11ICAgICAgICAgIHN1cHByZXNzIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiAtdSAgICAgICAgICDlsY/olL3kuIvliJLnur9cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM4Cittc2dpZCAiIC08bnVtYmVyPiAgIHRoZSBudW1iZXIgb2YgbGluZXMgcGVyIHNjcmVlbmZ1bFxuIgorbXNnc3RyICIgLTzmlbDlrZc+ICAgICDmr4/lsY/nmoTooYzmlbBcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM5Cittc2dpZCAiICs8bnVtYmVyPiAgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBsaW5lIG51bWJlclxuIgorbXNnc3RyICIgKzzmlbDlrZc+ICAgICDku47mjIflrprooYzlvIDlp4vmmL7npLrmlofku7ZcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQwCittc2dpZCAiICsvPHN0cmluZz4gIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBzZWFyY2ggc3RyaW5nIG1hdGNoXG4iCittc2dzdHIgIiArLzzlrZfnrKbkuLI+ICDku47ljLnphY3mkJzntKLlrZfnrKbkuLLnmoTkvY3nva7lvIDlp4vmmL7npLrmlofku7ZcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQxCittc2dpZCAiIC1WICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgLVYgICAgICAgICAg5pi+56S654mI5pys5L+h5oGv5bm26YCA5Ye6XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbiAtJXMiCittc2dzdHIgIuacquefpemAiemhuSAtJXMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjUwOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqICVzOiBkaXJlY3RvcnkgKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKiogJXPvvJrnm67lvZUgKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjU1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqKioqKiogJXM6IE5vdCBhIHRleHQgZmlsZSAqKioqKioqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqKioqKiogJXPvvJrkuI3mmK/mlofku7bmlofku7YgKioqKioqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIltVc2UgcSBvciBRIHRvIHF1aXRdIgorbXNnc3RyICJb5L2/55SoIHEg5oiWIFEg6YCA5Ye6XSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tTW9yZS0tIgorbXNnc3RyICItLeabtOWkmi0tIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiKE5leHQgZmlsZTogJXMpIgorbXNnc3RyICIo5LiL5Liq5paH5Lu277yaJXMpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzIHNwYWNlIHRvIGNvbnRpbnVlLCAncScgdG8gcXVpdC5dIgorbXNnc3RyICJb5oyJ56m65qC86ZSu57un57ut77yM4oCcceKAnemUrumAgOWHuuOAgl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjExNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uYmFjayAlZCBwYWdlIgorbXNnaWRfcGx1cmFsICIuLi5iYWNrICVkIHBhZ2VzIgorbXNnc3RyWzBdICIuLi7lkI7pgIAgJWQg6aG1IgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjEwCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnNraXBwaW5nICVkIGxpbmUiCittc2dpZF9wbHVyYWwgIi4uLnNraXBwaW5nICVkIGxpbmVzIgorbXNnc3RyWzBdICIuLi7ot7Pov4cgJWQg6KGMIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjQ4Cittc2dpZCAiIgorIlxuIgorIioqKkJhY2sqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKuWQjumAgCoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjYzCittc2dpZCAiTm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICLml6DkuIrkuIDkuKrmraPliJnooajovr7lvI8iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyOTMKK21zZ2lkICIiCisiXG4iCisiTW9zdCBjb21tYW5kcyBvcHRpb25hbGx5IHByZWNlZGVkIGJ5IGludGVnZXIgYXJndW1lbnQgay4gIERlZmF1bHRzIGluIGJyYWNrZXRzLlxuIgorIlN0YXIgKCopIGluZGljYXRlcyBhcmd1bWVudCBiZWNvbWVzIG5ldyBkZWZhdWx0LlxuIgorbXNnc3RyICIiCisiXG4iCisi5aSa5pWw5ZG95Luk5Y+v5Zyo5YmN6Z2i5Yqg5pW05pWw5Y+C5pWwIGvjgILmlrnmi6zlj7fkuK3kuLrlj4LmlbDnmoTpu5jorqTlgLxcbiIKKyLmmJ/lj7coKinooajnpLrlj4LmlbDlsIbmiJDkuLrmlrDnmoTpu5jorqTlgLzjgIJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTMwMAorbXNnaWQgIiIKKyI8c3BhY2U+ICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXVxuIgorInogICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdKlxuIgorIjxyZXR1cm4+ICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgWzFdKlxuIgorImQgb3IgY3RybC1EICAgICAgICAgICAgIFNjcm9sbCBrIGxpbmVzIFtjdXJyZW50IHNjcm9sbCBzaXplLCBpbml0aWFsbHkgMTFdKlxuIgorInEgb3IgUSBvciA8aW50ZXJydXB0PiAgIEV4aXQgZnJvbSBtb3JlXG4iCisicyAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgbGluZXMgb2YgdGV4dCBbMV1cbiIKKyJmICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBzY3JlZW5mdWxzIG9mIHRleHQgWzFdXG4iCisiYiBvciBjdHJsLUIgICAgICAgICAgICAgU2tpcCBiYWNrd2FyZHMgayBzY3JlZW5mdWxzIG9mIHRleHQgWzFdXG4iCisiJyAgICAgICAgICAgICAgICAgICAgICAgR28gdG8gcGxhY2Ugd2hlcmUgcHJldmlvdXMgc2VhcmNoIHN0YXJ0ZWRcbiIKKyI9ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgbGluZSBudW1iZXJcbiIKKyIvPHJlZ3VsYXIgZXhwcmVzc2lvbj4gICBTZWFyY2ggZm9yIGt0aCBvY2N1cnJlbmNlIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbiBbMV1cbiIKKyJuICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggZm9yIGt0aCBvY2N1cnJlbmNlIG9mIGxhc3Qgci5lIFsxXVxuIgorIiE8Y21kPiBvciA6ITxjbWQ+ICAgICAgIEV4ZWN1dGUgPGNtZD4gaW4gYSBzdWJzaGVsbFxuIgorInYgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0IHVwIC91c3IvYmluL3ZpIGF0IGN1cnJlbnQgbGluZVxuIgorImN0cmwtTCAgICAgICAgICAgICAgICAgIFJlZHJhdyBzY3JlZW5cbiIKKyI6biAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggbmV4dCBmaWxlIFsxXVxuIgorIjpwICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBwcmV2aW91cyBmaWxlIFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBmaWxlIG5hbWUgYW5kIGxpbmUgbnVtYmVyXG4iCisiLiAgICAgICAgICAgICAgICAgICAgICAgUmVwZWF0IHByZXZpb3VzIGNvbW1hbmRcbiIKK21zZ3N0ciAiIgorIjznqbrmoLzplK4+ICAgICAgICAgICAgICAgIOaYvuekuuS4iyBrIOihjOaWh+acrFvlvZPliY3lsY/luZXlsLrlr7hdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAg5pi+56S65LiLIGsg6KGM5paH5pysW+W9k+WJjeWxj+W5leWwuuWvuF0qXG4iCisiPOWbnui9pumUrj4gICAgICAgICAgICAgICAg5pi+56S65LiLIGsg6KGM5paH5pysWzFdKlxuIgorImQg5oiWIGN0cmwtRCAgICAgICAgICAgICDmu5rliqggayDooYxb5b2T5YmN5rua5Yqo5bC65a+477yM5Yid5aeL5YC85Li6IDExXSpcbiIKKyJxIOaIliBRIOaIliA8aW50ZXJydXB0PiAgIOmAgOWHuiBtb3JlXG4iCisicyAgICAgICAgICAgICAgICAgICAgICAg6Lez6L+H5LiL6Z2iIGsg6KGM5paH5pysWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAg6Lez6L+H5LiL6Z2iIGsg5bGP5paH5pysWzFdXG4iCisiYiDmiJYgY3RybC1CICAgICAgICAgICAgIOi3s+i/h+S4iumdoiBrIOWxj+aWh+acrCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICDovazliLDkuIrmrKHmkJzntKLlvIDlp4vlpIRcbiIKKyI9ICAgICAgICAgICAgICAgICAgICAgICDmmL7npLrlvZPliY3ooYzlj7dcbiIKKyIvPOato+WImeihqOi+vuW8jz4gICAgICAgICAgIOaQnOe0ouato+WImeihqOi+vuW8j+esrCBrIOasoeWHuueOsOWkhFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIOaQnOe0ouWJjeS4gOato+WImeihqOi+vuW8j+esrCBrIOasoeWHuueOsOWkhFsxXVxuIgorIiE8Y21kPiDmiJYgOiE8Y21kPiAgICAgICDlnKjlrZAgc2hlbGwg5Lit5omn6KGMIDxjbWQ+IOWRveS7pFxuIgorInYgICAgICAgICAgICAgICAgICAgICAgIOWcqOW9k+WJjeihjOWQr+WKqCAvdXNyL2Jpbi92aVxuIgorImN0cmwtTCAgICAgICAgICAgICAgICAgIOmHjee7mOWxj+W5lVxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIOi9rOWIsOWQjumdouesrCBrIOS4quaWh+S7tlsxXVxuIgorIjpwICAgICAgICAgICAgICAgICAgICAgIOi9rOWIsOWJjemdouesrCBrIOS4quaWh+S7tiBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICDmmL7npLrlvZPliY3mlofku7blkI3lkozooYzlj7dcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICDph43lpI3liY3kuIDlkb3ku6RcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTM3MyB0ZXh0LXV0aWxzL21vcmUuYzoxMzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyAnaCcgZm9yIGluc3RydWN0aW9ucy5dIgorbXNnc3RyICJb5oyJ4oCcaOKAnemUruiOt+WPluivtOaYjuOAgl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGxpbmUgJWQiCittc2dzdHIgIuKAnCVz4oCd56ysICVkIOihjCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQxMgorIywgYy1mb3JtYXQKK21zZ2lkICJbTm90IGEgZmlsZV0gbGluZSAlZCIKK21zZ3N0ciAiW+S4jeaYr+aWh+S7tl0g56ysICVkIOihjCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQ5NAorbXNnaWQgIiAgT3ZlcmZsb3dcbiIKK21zZ3N0ciAiICDkuIrmuqJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU0MworbXNnaWQgIi4uLnNraXBwaW5nXG4iCittc2dzdHIgIi4uLui3s+i/h1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTc3Cittc2dpZCAiIgorIlxuIgorIlBhdHRlcm4gbm90IGZvdW5kXG4iCittc2dzdHIgIiIKKyJcbiIKKyLmnKrmib7liLDmqKHlvI9cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU4MyB0ZXh0LXV0aWxzL3BnLmM6MTAyNyB0ZXh0LXV0aWxzL3BnLmM6MTE3MworbXNnaWQgIlBhdHRlcm4gbm90IGZvdW5kIgorbXNnc3RyICLmib7kuI3liLDmqKHlvI8iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2MjkKK21zZ2lkICJleGVjIGZhaWxlZFxuIgorbXNnc3RyICJleGVjIOWksei0pVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjQzCittc2dpZCAiY2FuJ3QgZm9ya1xuIgorbXNnc3RyICLml6Dms5UgZm9ya1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjc3Cittc2dpZCAiIgorIlxuIgorIi4uLlNraXBwaW5nICIKK21zZ3N0ciAiIgorIlxuIgorIi4uLui3s+i/hyAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2ODEKK21zZ2lkICIuLi5Ta2lwcGluZyB0byBmaWxlICIKK21zZ3N0ciAiLi4u6Lez5Yiw5paH5Lu2ICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY4MworbXNnaWQgIi4uLlNraXBwaW5nIGJhY2sgdG8gZmlsZSAiCittc2dzdHIgIi4uLuWwhui3s+WbnuaWh+S7tiAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE5NzMKK21zZ2lkICJMaW5lIHRvbyBsb25nIgorbXNnc3RyICLooYzov4fplb8iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIwMTAKK21zZ2lkICJObyBwcmV2aW91cyBjb21tYW5kIHRvIHN1YnN0aXR1dGUgZm9yIgorbXNnc3RyICLmsqHmnInopoHmm7/mjaLnmoTliY3kuIDlkb3ku6QiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNDQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBzY3JlZW5cbiIKKyIgIHEgb3IgUSAgICAgICAgICAgICAgICAgIHF1aXQgcHJvZ3JhbVxuIgorIiAgPG5ld2xpbmU+ICAgICAgICAgICAgICAgbmV4dCBwYWdlXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBza2lwIGEgcGFnZSBmb3J3YXJkXG4iCisiICBkIG9yIF5EICAgICAgICAgICAgICAgICBuZXh0IGhhbGZwYWdlXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBuZXh0IGxpbmVcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIGxhc3QgcGFnZVxuIgorIiAgL3JlZ2V4LyAgICAgICAgICAgICAgICAgc2VhcmNoIGZvcndhcmQgZm9yIHJlZ2V4XG4iCisiICA/cmVnZXg/IG9yIF5yZWdleF4gICAgICBzZWFyY2ggYmFja3dhcmQgZm9yIHJlZ2V4XG4iCisiICAuIG9yIF5MICAgICAgICAgICAgICAgICByZWRyYXcgc2NyZWVuXG4iCisiICB3IG9yIHogICAgICAgICAgICAgICAgICBzZXQgcGFnZSBzaXplIGFuZCBnbyB0byBuZXh0IHBhZ2VcbiIKKyIgIHMgZmlsZW5hbWUgICAgICAgICAgICAgIHNhdmUgY3VycmVudCBmaWxlIHRvIGZpbGVuYW1lXG4iCisiICAhY29tbWFuZCAgICAgICAgICAgICAgICBzaGVsbCBlc2NhcGVcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIHByZXZpb3VzIGZpbGVcbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIG5leHQgZmlsZVxuIgorIlxuIgorIk1hbnkgY29tbWFuZHMgYWNjZXB0IHByZWNlZGluZyBudW1iZXJzLCBmb3IgZXhhbXBsZTpcbiIKKyIrMTxuZXdsaW5lPiAobmV4dCBwYWdlKTsgLTE8bmV3bGluZT4gKHByZXZpb3VzIHBhZ2UpOyAxPG5ld2xpbmU+IChmaXJzdCBwYWdlKS5cbiIKKyJcbiIKKyJTZWUgcGcoMSkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAg5q2k5bGP5bmVXG4iCisiICBxIOaIliBRICAgICAgICAgICAgICAgICAg6YCA5Ye656iL5bqPXG4iCisiICA85o2i6KGMPiAgICAgICAgICAgICAgICAgIOS4i+S4gOmhtVxuIgorIiAgZiAgICAgICAgICAgICAgICAgICAgICAg6Lez6L+H5LiL5LiA6aG1XG4iCisiICBkIOaIliBeRCAgICAgICAgICAgICAgICAg5LiL5Y2K6aG1XG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICDkuIvkuIDooYxcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIOS4iuS4gOmhtVxuIgorIiAgL+ihqOi+vuW8jy8gICAgICAgICAgICAgICAg5b6A5YmN5pCc57Si5q2j5YiZ6KGo6L6+5byPXG4iCisiICA/6KGo6L6+5byPPyDmiJYgXuihqOi+vuW8j14gICAg5b6A5Zue5pCc57Si5q2j5YiZ6KGo6L6+5byPXG4iCisiICAuIOaIliBeTCAgICAgICAgICAgICAgICAg6YeN57uY5bGP5bmVXG4iCisiICB3IOaIliB6ICAgICAgICAgICAgICAgICAg6K6+572u6aG15bC65a+45bm26L2s5Yiw5LiL5LiA6aG1XG4iCisiICBzIGZpbGVuYW1lICAgICAgICAgICAgICDku6UgZmlsZW5hbWUg5Li65ZCN5a2X5L+d5a2Y5b2T5YmN5paH5Lu2XG4iCisiICAhY29tbWFuZCAgICAgICAgICAgICAgICBzaGVsbCDovazkuYlcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIOi9rOWIsOWJjeS4gOaWh+S7tlxuIgorIiAgbiAgICAgICAgICAgICAgICAgICAgICAg6L2s5Yiw5LiL5LiA5paH5Lu2XG4iCisiXG4iCisi5b6I5aSa5ZG95Luk5YmN5o6l5Y+X5pWw5a2X5Y+C5pWw77yM5aaC77yaXG4iCisiKzE85o2i6KGMPiAo5LiL5LiA6aG1KTsgLTE85o2i6KGMPiAo5LiK5LiA6aG1KTsgMTzmjaLooYw+ICjnrKzkuIDpobUp44CCXG4iCisiXG4iCisi5pu05aSa5L+h5oGv6K+35Y+C6ZiFIHBnKDEp44CCXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gWyvooYxdIFsrL+aooeW8jy9dIFvmlofku7ZdXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMjYKK21zZ2lkICJCcm93c2UgcGFnZXdpc2UgdGhyb3VnaCB0ZXh0IGZpbGVzLlxuIgorbXNnc3RyICLpgJDpobXmn6XnnIvmlofmnKzmlofku7bjgIJcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyOQorbXNnaWQgIiAtbnVtYmVyICAgICAgbGluZXMgcGVyIHBhZ2VcbiIKK21zZ3N0ciAiIC1udW1iZXIgICAgICDmr4/pobXnmoTooYzmlbBcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMAorbXNnaWQgIiAtYyAgICAgICAgICAgY2xlYXIgc2NyZWVuIGJlZm9yZSBkaXNwbGF5aW5nXG4iCittc2dzdHIgIiAtYyAgICAgICAgICAg5pi+56S65YmN5riF5bGPXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzEKK21zZ2lkICIgLWUgICAgICAgICAgIGRvIG5vdCBwYXVzZSBhdCBlbmQgb2YgYSBmaWxlXG4iCittc2dzdHIgIiAtZSAgICAgICAgICAg5LiN5Zyo5paH5Lu25pyr5bC+5pqC5YGcXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzIKK21zZ2lkICIgLWYgICAgICAgICAgIGRvIG5vdCBzcGxpdCBsb25nIGxpbmVzXG4iCittc2dzdHIgIiAtZiAgICAgICAgICAg5LiN5YiG5Ymy6ZW/6KGMXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzMKK21zZ2lkICIgLW4gICAgICAgICAgIHRlcm1pbmF0ZSBjb21tYW5kIHdpdGggbmV3IGxpbmVcbiIKK21zZ3N0ciAiIC1uICAgICAgICAgICDnlKjmjaLooYznrKYobmV3IGxpbmUp57uI5q2i5ZG95LukXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzQKK21zZ2lkICIgLXAgPHByb21wdD4gIHNwZWNpZnkgcHJvbXB0XG4iCittc2dzdHIgIiAtcCA85o+Q56S6PiAgICDmjIflrprmj5DnpLror61cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNQorbXNnaWQgIiAtciAgICAgICAgICAgZGlzYWxsb3cgc2hlbGwgZXNjYXBlXG4iCittc2dzdHIgIiAtciAgICAgICAgICAg56aB5q2iIHNoZWxsIOi9rOS5iVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM2Cittc2dpZCAiIC1zICAgICAgICAgICBwcmludCBtZXNzYWdlcyB0byBzdGRvdXRcbiIKK21zZ3N0ciAiIC1zICAgICAgICAgICDlkJHmoIflh4bovpPlh7rmiZPljbDmtojmga9cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNworbXNnaWQgIiArbnVtYmVyICAgICAgc3RhcnQgYXQgdGhlIGdpdmVuIGxpbmVcbiIKK21zZ3N0ciAiICvmlbDlrZcgICAgICAgIOS7juaMh+WumuihjOW8gOWni1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM4Cittc2dpZCAiICsvcGF0dGVybi8gICBzdGFydCBhdCB0aGUgbGluZSBjb250YWluaW5nIHBhdHRlcm5cbiIKK21zZ3N0ciAiICsv5qih5byPLyAgICAgIOS7juWMheWQqyDmqKHlvI8g55qE6KGM5byA5aeLXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICVzIgorbXNnc3RyICLpgInpobnpnIDopoHkuIDkuKrlj4LmlbAgLS0gJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBvcHRpb24gLS0gJXMiCittc2dzdHIgIumdnuazleeahOWPguaVsCAtLSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjM1OQorbXNnaWQgIi4uLnNraXBwaW5nIGZvcndhcmRcbiIKK21zZ3N0ciAiLi4u5YmN6L+bXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjEKK21zZ2lkICIuLi5za2lwcGluZyBiYWNrd2FyZFxuIgorbXNnc3RyICIuLi7lkI7pgIBcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM3NworbXNnaWQgIk5vIG5leHQgZmlsZSIKK21zZ3N0ciAi5peg5LiL5LiA5Liq5paH5Lu2IgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzgxCittc2dpZCAiTm8gcHJldmlvdXMgZmlsZSIKK21zZ3N0ciAi5peg5LiK5LiA5Liq5paH5Lu2IgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3IgZnJvbSAlcyBmaWxlIgorbXNnc3RyICLku44gJXMg5paH5Lu26K+75Ye66ZSZIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgRU9GIGluICVzIGZpbGUiCittc2dzdHIgIuWcqCAlcyDmlofku7bkuK3pgYfliLDlvILluLggRU9GIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODg4CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gZXJyb3IgaW4gJXMgZmlsZSIKK21zZ3N0ciAi5ZyoICVzIOaWh+S7tuS4remBh+WIsOacquefpemUmeivryIKKworIzogdGV4dC11dGlscy9wZy5jOjk0MQorbXNnaWQgIkNhbm5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIuaXoOazleWIm+W7uuS4tOaXtuaWh+S7tiIKKworIzogdGV4dC11dGlscy9wZy5jOjk1MCB0ZXh0LXV0aWxzL3BnLmM6MTExNCB0ZXh0LXV0aWxzL3BnLmM6MTE0MAorbXNnaWQgIlJFIGVycm9yOiAiCittc2dzdHIgIuihqOi+vuW8j+mUmeivr++8miIKKworIzogdGV4dC11dGlscy9wZy5jOjEwOTcKK21zZ2lkICIoRU9GKSIKK21zZ3N0ciAiKOaWh+S7tuacq+WwvikiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTIyIHRleHQtdXRpbHMvcGcuYzoxMTQ4Cittc2dpZCAiTm8gcmVtZW1iZXJlZCBzZWFyY2ggc3RyaW5nIgorbXNnc3RyICLmsqHmnInorrDlv4bnmoTmkJzntKLlrZfnrKbkuLIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjAzCittc2dpZCAiY2Fubm90IG9wZW4gIgorbXNnc3RyICLmiZPkuI3lvIAgIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI1NQorbXNnaWQgInNhdmVkIgorbXNnc3RyICLlt7Lkv53lrZgiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzQ1Cittc2dpZCAiOiAhY29tbWFuZCBub3QgYWxsb3dlZCBpbiByZmxhZyBtb2RlLlxuIgorbXNnc3RyICI6ICHlkb3ku6Qg5ZyoIHJmbGFnIOaooeW8j+S4i+S4jeiuuOS9v+eUqOOAglxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM4MAorbXNnaWQgImZvcmsoKSBmYWlsZWQsIHRyeSBhZ2FpbiBsYXRlclxuIgorbXNnc3RyICJmb3JrKCkg5aSx6LSl77yM6K+356iN5ZCO6YeN6K+VXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNDY4Cittc2dpZCAiKE5leHQgZmlsZTogIgorbXNnc3RyICIo5LiL5Liq5paH5Lu277yaIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTUzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlcyBDb3B5cmlnaHQgKGMpIDIwMDAtMjAwMSBHdW5uYXIgUml0dGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuIgorbXNnc3RyICIlcyAlcyBDb3B5cmlnaHQgKGMpIDIwMDAtMjAwMSBHdW5uYXIgUml0dGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU4NyB0ZXh0LXV0aWxzL3BnLmM6MTY2MAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMgcGVyIHBhZ2UiCittc2dzdHIgIuino+aekOavj+mhteeahOihjOaVsOWksei0pSIKKworIzogdGV4dC11dGlscy9yZXYuYzo3NgorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKK21zZ3N0ciAi55So5rOV77yaJXMgW+mAiemhuV0gW+aWh+S7tiAuLi5dXG4iCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6ODAKK21zZ2lkICJSZXZlcnNlIGxpbmVzIGNoYXJhY3Rlcndpc2UuXG4iCittc2dzdHIgIuWvueaIkOihjOeahOWGheWuuemAkOWtl+e/u+i9rOOAglxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgImluY29tcGxldGUgd3JpdGUgdG8gXCIlc1wiICh3cml0dGVuICV6ZCwgZXhwZWN0ZWQgJXpkKVxuIgorbXNnc3RyICLkuI3lrozmlbTlhpnlhaXigJwlc+KAnSjlhpnlhaUgJXpk77yM5bqU5Li6ICV6ZClcbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoIChsaW1pdCBvZiBpbm90aWZ5IHdhdGNoZXMgd2FzIHJlYWNoZWQpLiIKK21zZ3N0ciAiJXPvvJrml6Dms5Xmt7vliqAgaW5vdGlmeSDop4Llr58o6L6+5Yiw5LqGIGlub3RpZnkg6KeC5a+f5pWw6ZmQ5Yi2KeOAgiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbl0gPGZpbGU+XG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSA85paH5Lu2PlxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjAwCittc2dpZCAiRm9sbG93IHRoZSBncm93dGggb2YgYSBsb2cgZmlsZS5cbiIKK21zZ3N0ciAi6L+96Liq5pel5b+X5paH5Lu25aKe6ZW/44CCXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMDMKK21zZ2lkICIgLW4sIC0tbGluZXMgPG51bWJlcj4gICBvdXRwdXQgdGhlIGxhc3QgPG51bWJlcj4gbGluZXNcbiIKK21zZ3N0ciAiIC1uLCAtLWxpbmVzIDzmlbDlrZc+ICAgICDovpPlh7rmnIDlkI7oi6XlubLooYxcbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwNAorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICAgIHNhbWUgYXMgJy1uIDxudW1iZXI+J1xuIgorbXNnc3RyICIgLTzmlbDlrZc+ICAgICAgICAgICAgICAgIOWQjOKAnC1uIDzmlbDlrZc+4oCdXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyMTAKK21zZ2lkICJXYXJuaW5nOiB1c2Ugb2YgJ3RhaWxmJyBpcyBkZXByZWNhdGVkLCB1c2UgJ3RhaWwgLWYnIGluc3RlYWQuXG4iCittc2dzdHIgIuitpuWRiu+8muKAnHRhaWxm4oCd5bey5bqf5byD77yM6K+36L2s55So4oCcdGFpbCAtZuKAneOAglxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjIzIHRleHQtdXRpbHMvdGFpbGYuYzoyNjMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGxpbmVzIgorbXNnc3RyICLop6PmnpDooYzmlbDlpLHotKUiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyNzUKK21zZ2lkICJubyBpbnB1dCBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAi5pyq5oyH5a6a6L6T5YWl5paH5Lu2IgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBmaWxlIgorbXNnc3RyICIlc++4sCDkuI3mmK/kuIDkuKrmlofku7YiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFvpgInpobldIFs85paH5Lu2PiAuLi5dXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxMzkKK21zZ2lkICJEbyB1bmRlcmxpbmluZy5cbiIKK21zZ3N0ciAi5Yqg5LiL5YiS57q/44CCXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDIKK21zZ2lkICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICDnlKggVEVSTUlOQUwg6KaG55uWIFRFUk0g546v5aKD5Y+Y6YeP55qE5YC8XG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDMKK21zZ2lkICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIgorbXNnc3RyICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICDpgJrov4fljZXni6zkuIDooYzooajnpLrkuIvliJLnur9cbiIKKworIzogdGV4dC11dGlscy91bC5jOjIwNAorbXNnaWQgInRyb3VibGUgcmVhZGluZyB0ZXJtaW5mbyIKK21zZ3N0ciAi6K+75Y+W57uI56uv5L+h5oGv5Ye66ZSZIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsIGAlcycgaXMgbm90IGtub3duLCBkZWZhdWx0aW5nIHRvIGBkdW1iJyIKK21zZ3N0ciAi57uI56uv4oCcJXPigJ3mnKrnn6XvvIzlsIbkvb/nlKjpu5jorqTlgLzigJxkdW1i4oCdIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZXNjYXBlIHNlcXVlbmNlIGluIGlucHV0OiAlbywgJW8iCittc2dzdHIgIui+k+WFpeS4reacieacquefpei9rOS5ieW6j+WIl++8miVv77yMJW8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzo2MjQKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAi6L6T5YWl6KGM6L+H6ZW/44CCIgorCisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gdXNlIHRoZSBIYXJkd2FyZSBDbG9jay4iCisjfiBtc2dzdHIgIuWvueS4jei1t++8jOWPquaciei2hee6p+eUqOaIt+WPr+S7peS9v+eUqOehrOS7tuaXtumSn+OAgiIKKworIywgZnV6enkKKyN+fCBtc2dpZCAiZmlsZXN5c3RlbSBsYWJlbCIKKyN+IG1zZ2lkICJGaWxlc3lzdGVtIGxhYmVsOiIKKyN+IG1zZ3N0ciAi5paH5Lu257O757uf5qCH562+IgorCisjfiBtc2dpZCAiY2Fubm90IGFjY2VzcyBmaWxlICVzIgorI34gbXNnc3RyICLml6Dms5Xorr/pl67mlofku7YgJXMiCisKKyN+IG1zZ2lkICIlcyBpcyBub3QgYSBibG9jayBzcGVjaWFsIGRldmljZSIKKyN+IG1zZ3N0ciAiJXMg5LiN5piv5LiA5Liq5Z2X54m55q6K6K6+5aSHIgorCisjfiBtc2dpZCAiJXM6IGRldmljZSBpcyBtaXNhbGlnbmVkIgorI34gbXNnc3RyICIlc++8muiuvuWkh+acquato+ehruWvuem9kCIKKworI34gbXNnaWQgIk9TLzIgaGlkZGVuIEM6IGRyaXZlIgorI34gbXNnc3RyICJPUy8yIOmakOiXj+eahCBDOiDnm5giCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc2V0IFBBVEgiCisjfiBtc2dzdHIgIuiuvue9riBQQVRIIOWksei0pSIKKworI34gbXNnaWQgIiVkIgorI34gbXNnc3RyICIlZCIKKworI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIgorI34gbXNnc3RyICIlc++8muesrCAlZCDooYzop6PmnpDlh7rplJkiCisKKyN+IG1zZ2lkICJ1c2Ugb2YgJ2tpbGwgLS1waWQnIG9wdGlvbiBhcyBjb21tYW5kIG5hbWUgaXMgZGVwcmVjYXRlZCIKKyN+IG1zZ3N0ciAi5bCG4oCca2lsbCAtLXBpZOKAnemAiemhueW9k+S9nOWRveS7pOeahOWBmuazleW3sue7j+W6n+W8gyIKKworI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRldmljZSBwYXRoIgorI34gbXNnc3RyICIlc++8muiOt+WPluiuvuWkh+i3r+W+hOWksei0pSIKKworI34gbXNnaWQgIiVzOiB1bmtub3duIGRldmljZSBuYW1lIgorI34gbXNnc3RyICIlc++8muacquefpeiuvuWkh+WQjeensCIKKworI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRtIG5hbWUiCisjfiBtc2dzdHIgIiVz77ya6I635Y+WIGRtIOWQjeensOWksei0pSIKKworI34gbXNnaWQgInRoZSBzb3J0IGNvbHVtbiBoYXMgdG8gYmUgYW1vbmcgdGhlIG91dHB1dCBjb2x1bW5zIgorI34gbXNnc3RyICLmjpLluo/liJflv4XpobvmmK/ovpPlh7rnmoTliJciCisKKyN+IG1zZ2lkICIiCisjfiAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKKyN+ICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKKyN+ICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKKyN+ICIgLWssIC0ta2lsbCAgICAgICAgICAgICAga2lsbCBydW5uaW5nIGRhZW1vblxuIgorI34gIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCisjfiAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCisjfiAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKKyN+ICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorI34gIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBkbyBub3QgY3JlYXRlIGxpc3RlbmluZyBzb2NrZXRcbiIKKyN+ICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHR1cm4gb24gcXVpZXQgbW9kZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1wLCAtLXBpZCA86Lev5b6EPiAgICAgICAgcGlkIOaWh+S7tui3r+W+hFxuIgorI34gIiAtcywgLS1zb2NrZXQgPOi3r+W+hD4gICAgIOWll+aOpeWtl+i3r+W+hFxuIgorI34gIiAtVCwgLS10aW1lb3V0IDznp5LmlbA+ICAgIOaMh+WumuS4jea0u+WKqOi2heaXtlxuIgorI34gIiAtaywgLS1raWxsICAgICAgICAgICAgICDmnYDmrbvov5DooYzov5vnqItcbiIKKyN+ICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAg5rWL6K+V5Z+65LqO6ZqP5py65pWw55qE55Sf5oiQ5pa55rOVXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIOa1i+ivleWfuuS6juaXtumXtOeahOeUn+aIkOaWueazlVxuIgorI34gIiAtbiwgLS11dWlkcyA85pWw5a2XPiAgICAgIOaMh+WumiB1dWlkIOWPt1xuIgorI34gIiAtUCwgLS1uby1waWQgICAgICAgICAgICDkuI3liJvlu7ogcGlkIOaWh+S7tlxuIgorI34gIiAtRiwgLS1uby1mb3JrICAgICAgICAgICDkuI3kvb/nlKjlj4wgZm9yayDlj5jmiJDlrojmiqTov5vnqItcbiIKKyN+ICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24g5LiN5Yib5bu65L6m5ZCs5aWX5o6l5a2XXG4iCisjfiAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIOS7peiwg+ivleaooeW8j+i/kOihjFxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICDmiZPlvIDlronpnZnmqKHlvI9cbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAg6L6T5Ye654mI5pys5L+h5oGv5bm26YCA5Ye6XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIOaYvuekuuatpOW4ruWKqeW5tumAgOWHulxuIgorI34gIlxuIgorCisjfiBtc2dpZCAidW5rbm93biBzY2hlZHVsaW5nIHBvbGljeSIKKyN+IG1zZ3N0ciAi5pyq55+l55qE6LCD5bqm562W55WlIgorCisjLCBmdXp6eQorI358IG1zZ2lkICIiCisjfnwgIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKKyN+fCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCisjfnwgIiAtcywgLS1zZWN1cmUgICAgICAgIHBlcmZvcm0gc2VjdXJlIGRpc2NhcmRcbiIKKyN+fCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgYWxpZ25lZCBsZW5ndGggYW5kIG9mZnNldFxuIgorI34gbXNnaWQgIiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCisjfiAiIC1wLCAtLXN0ZXAgPG51bT4gICAgc2l6ZSBvZiB0aGUgZGlzY2FyZCBpdGVyYXRpb25zIHdpdGhpbiB0aGUgb2Zmc2V0XG4iCisjfiAiIC1zLCAtLXNlY3VyZSAgICAgICAgcGVyZm9ybSBzZWN1cmUgZGlzY2FyZFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IGFsaWduZWQgbGVuZ3RoIGFuZCBvZmZzZXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtbywgLS1vZmZzZXQgPOaVsOWtlz4g6KaB5b+955Wl6YOo5YiG55qE5a2X6IqC5YGP56e76YePXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA85pWw5a2XPiDku47lgY/np7vkvY3nva7lvIDlp4vopoHlv73nlaXnmoTlrZfoioLplb/luqZcbiIKKyN+ICIgLXMsIC0tc2VjdXJlICAgICAgICDmiafooYzlronlhajlv73nlaVcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICDmiZPljbDlr7npvZDnmoTplb/luqblkozlgY/np7tcbiIKKworIywgZnV6enkKKyN+fCBtc2dpZCAiJXMgICUuNmYgc2Vjb25kc1xuIgorI34gbXNnaWQgIiVzICAuJTA2ZCBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVzICAlLjZmIOenklxuIgorCisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yOiBpZ25vcmUgZW50cnkgYXQgbGluZSAlZC4iCisjfiBtc2dzdHIgIiVz77ya6Kej5p6Q5Ye66ZSZ77ya5b+955Wl56ysICVkIOihjOeahOiusOW9leOAgiIKKworI34gbXNnaWQgInBhZ2VzIgorI34gbXNnc3RyICLpobXmlbAiCisKKyN+IG1zZ2lkICJkaWZmZXJlbnQiCisjfiBtc2dzdHIgIuS4jeWQjCIKKworI34gbXNnaWQgInNhbWUiCisjfiBtc2dzdHIgIuebuOWQjCIKKworI34gbXNnaWQgImJhZCB0aW1lb3V0IHZhbHVlOiAlcyIKKyN+IG1zZ3N0ciAi6LaF5pe25YC85pyJ6K+v77yaJXMiCisKKyN+IG1zZ2lkICJleHBlY3RlZCBhIG51bWJlciwgYnV0IGdvdCAnJXMnIgorI34gbXNnc3RyICLlupTkuLrmlbDlrZfvvIzkvYbmlLbliLDkuobigJwlc+KAnSIKKworI34gbXNnaWQgImRpdmlzb3IgJyVzJyIKKyN+IG1zZ3N0ciAi6Zmk5pWw4oCcJXPigJ0iCisKKyN+IG1zZ2lkICJhcmd1bWVudCBlcnJvcjogJXMiCisjfiBtc2dzdHIgIuWPguaVsOWHuumUme+8miVzIgorCisjfiBtc2dpZCAidHR5IHBhdGggJXMgdG9vIGxvbmciCisjfiBtc2dzdHIgInR0eSDot6/lvoQgJXMg6L+H6ZW/IgorCisjfiBtc2dpZCAiTWluaW1hbCBzaXplIGlzICVqdSIKKyN+IG1zZ3N0ciAi5pyA5bCP5Li6ICVqdSIKKworI34gbXNnaWQgIlBsZWFzZSwgc2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgZGlzayBsYWJlbC4iCisjfiBtc2dzdHIgIuivt+mAieaLqeWIm+W7uuaWsOejgeebmOagh+etvueahOexu+Wei+OAgiIKKworI34gbXNnaWQgIkhlbHAgU2NyZWVuIGZvciBjZmRpc2siCisjfiBtc2dzdHIgImNmZGlzayDluK7liqnpobXpnaIiCisKKyN+IG1zZ2lkICJkaXNrIGRyaXZlLiIKKyN+IG1zZ3N0ciAi5YiG5Yy644CCIgorCisjfiBtc2dpZCAiQ29weXJpZ2h0IChDKSAyMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPiAiCisjfiBtc2dzdHIgIkNvcHlyaWdodCAoQykgMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4gIgorCisjfiBtc2dpZCAiQmFzZWQgb24gdGhlIG9yaWdpbmFsIGNmZGlzayBmcm9tIEtldmluIEUuIE1hcnRpbiAmIGFlYi4iCisjfiBtc2dzdHIgIuWfuuS6jueUsSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIg57yW5YaZ55qE5Y6fIGNmZGlza+OAgiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBgbm8nIgorI34gbXNnc3RyICIgICAgICAgICAgICAg5YaZ5YWlIgorCisjfiBtc2dpZCAiRGV2aWNlIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUiCisjfiBtc2dzdHIgIuiuvuWkh+S7peWPquivu+aWueW8j+aJk+W8gCIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiBtc2dzdHIgIueUqOazle+8miVzIFvpgInpobldIOiuvuWkh1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1uLCAtLW5vLXZlcmlmeSAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLpgInpobnvvJpcbiIKKyN+ICIgLW4sIC0tbm8tdmVyaWZ5ICDnpoHmraLmoLzlvI/ljJblkI7nmoTmoKHpqoxcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICDovpPlh7rniYjmnKzkv6Hmga/lubbpgIDlh7pcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICDmmL7npLrmraTluK7liqnlubbpgIDlh7pcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgInN0YXQgZmFpbGVkICVzIgorI34gbXNnc3RyICJzdGF0IOWksei0pe+8miVzIgorCisjfiBtc2dpZCAiIC12ICBiZSB2ZXJib3NlXG4iCisjfiBtc2dzdHIgIiAtdiAg6K+m5bC96L6T5Ye6XG4iCisKKyN+IG1zZ2lkICJVc2FnZTpcbiIKKyN+IG1zZ3N0ciAi55So5rOV77yaXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG1rZnMoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLmm7TlpJrkv6Hmga/or7flj4LpmIUgbWtmcyg4KeOAglxuIgorCisjfiBtc2dpZCAiIgorI34gIlZlcnkgbG9uZyAoJXp1IGJ5dGVzKSBmaWxlbmFtZSBgJXMnIGZvdW5kLlxuIgorI34gIiBQbGVhc2UgaW5jcmVhc2UgTUFYX0lOUFVUX05BTUVMRU4gaW4gbWtjcmFtZnMuYyBhbmQgcmVjb21waWxlLiAgRXhpdGluZy4iCisjfiBtc2dzdHIgIiIKKyN+ICLlj5HnjrDotoXplb/nmoQoJXp1IOWtl+iKginmlofku7blkI3igJwlc+KAneOAglxuIgorI34gIiDor7flop7liqAgbWtjcmFtZnMuYyDkuK0gTUFYX0lOUFVUX05BTUVMRU4g55qE5YC85bm26YeN5paw57yW6K+R44CC5bCG6YCA5Ye644CCIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstYyB8IC1sIGZpbGVuYW1lXSBbLW5YWF0gWy1pWFhdIC9kZXYvbmFtZSBbYmxvY2tzXSIKKyN+IG1zZ3N0ciAi55So5rOV77yaJXMgWy1jIHwgLWwg5paH5Lu25ZCNXSBbLW5YWF0gWy1pWFhdIC9kZXYvbmFtZSBb5Z2X5pWwXSIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorI34gbXNnc3RyICIlc++8muS4jeiDveS4uui2hee6p+Wdl+WIhumFjee8k+WGsuWMuiIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVycyBmb3IgbWFwcyIKKyN+IG1zZ3N0ciAiJXPvvJrkuI3og73kuLogbWFwcyDliIbphY3nvJPlhrLljLoiCisKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorI34gbXNnc3RyICIlc++8muS4jeiDveS4uiBpbm9kZXMg5YiG6YWN57yT5Yay5Yy6IgorCisjfiBtc2dpZCAiJXMgKCVzKVxuIgorI34gbXNnc3RyICIlcyAoJXMpXG4iCisKKyN+IG1zZ2lkICIlczogYmFkIGlub2RlIHNpemUiCisjfiBtc2dzdHIgIiVz77ya5LiN5q2j56Gu55qEIGlub2RlIOWkp+WwjyIKKworI34gbXNnaWQgIndpbGwgbm90IHRyeSB0byBtYWtlIGZpbGVzeXN0ZW0gb24gJyVzJyIKKyN+IG1zZ3N0ciAi5bCG5LiN5Lya5bCd6K+V5Zyo4oCcJXPigJ3kuIrliJvlu7rmlofku7bns7vnu58iCisKKyN+IG1zZ2lkICJCYWQgc3dhcCBoZWFkZXIgc2l6ZSwgbm8gbGFiZWwgd3JpdHRlbi4iCisjfiBtc2dzdHIgIuS6pOaNouWktChoZWFkZXIp5aSn5bCP5pyJ6K+v77yM5pyq5YaZ5YWl5qCH562+44CCIgorCisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyAtIGNhbm5vdCBzZWVrIHRvICVsdSIKKyN+IG1zZ3N0ciAi5ZyoICVzIOS4iuWumuS9jeWHuumUmSAtIOaXoOazleWumuS9jeWIsCAlbHUiCisKKyN+IG1zZ2lkICJzZWVrIGVycm9yOiB3YW50ZWQgMHglMDh4JTA4eCwgZ290IDB4JTA4eCUwOHgiCisjfiBtc2dzdHIgIuWumuS9jeWHuumUme+8muaDs+imgSAweCUwOHglMDh477yM5b6X5Yiw5LqGIDB4JTA4eCUwOHgiCisKKyN+IG1zZ2lkICJyZWFkIGVycm9yIG9uICVzIC0gY2Fubm90IHJlYWQgc2VjdG9yICVsbHUiCisjfiBtc2dzdHIgIuWcqCAlcyDkuIrlrprkvY3lh7rplJkgLSDml6Dms5XlrprkvY3liLAgJWxsdSIKKworI34gbXNnaWQgIndyaXRlIGVycm9yIG9uICVzIC0gY2Fubm90IHdyaXRlIHNlY3RvciAlbGx1IgorI34gbXNnc3RyICLlnKggJXMg5LiK5a6a5L2N5Ye66ZSZIC0g5peg5rOV5a6a5L2N5YiwICVsbHUiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBwYXJ0aXRpb24gc2VjdG9yIHNhdmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICLmiZPkuI3lvIDliIbljLrmiYfljLrkv53lrZjmlofku7YoJXMpIgorCisjfiBtc2dpZCAid3JpdGUgZXJyb3Igb24gJXMiCisjfiBtc2dzdHIgIiVzIOWGmeWHuumUmSIKKworI34gbXNnaWQgImNhbm5vdCBzdGF0IHBhcnRpdGlvbiByZXN0b3JlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAi5peg5rOVIHN0YXQg5YiG5Yy65oGi5aSN5paH5Lu2KCVzKSIKKworI34gbXNnaWQgInBhcnRpdGlvbiByZXN0b3JlIGZpbGUgaGFzIHdyb25nIHNpemUgLSBub3QgcmVzdG9yaW5nIgorI34gbXNnc3RyICLliIbljLrmgaLlpI3mlofku7blpKflsI/mnInor68gLSDlsIbkuI3mgaLlpI0iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcykiCisjfiBtc2dzdHIgIuaXoOazleaJk+W8gOWIhuWMuuaBouWkjeaWh+S7tiglcykiCisKKyN+IG1zZ2lkICJlcnJvciByZWFkaW5nICVzIgorI34gbXNnc3RyICLor7sgJXMg5Ye66ZSZIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gZGV2aWNlICVzIGZvciB3cml0aW5nIgorI34gbXNnc3RyICLkuI3og73miZPlvIAgJXMg5Lul5YaZ5YWlIgorCisjfiBtc2dpZCAiZXJyb3Igd3JpdGluZyBzZWN0b3IgJWx1IG9uICVzIgorI34gbXNnc3RyICLlhpkgJTIkcyDkuIrnmoQgJTEkbHUg5omH5Yy65Ye66ZSZIgorCisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAi56OB55uYICVz77ya5peg5rOV6I635Y+W5Yeg5L2V5bGe5oCnIgorCisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBzaXplIgorI34gbXNnc3RyICLno4Hnm5ggJXPvvJrml6Dms5Xojrflj5blsLrlr7giCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogc3RhcnQ9JWx1IC0gdGhpcyBsb29rcyBsaWtlIGEgcGFydGl0aW9uIHJhdGhlciB0aGFuXG4iCisjfiAidGhlIGVudGlyZSBkaXNrLiBVc2luZyBmZGlzayBvbiBpdCBpcyBwcm9iYWJseSBtZWFuaW5nbGVzcy5cbiIKKyN+ICJbVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiBpZiB5b3UgcmVhbGx5IHdhbnQgdGhpc10iCisjfiBtc2dzdHIgIiIKKyN+ICLorablkYrvvJrotbfngrnkuLolbHUgLSDov5nkvLzkuY7mmK/kuIDkuKrliIbljLrvvIzogIzkuI3mmK/mlbTkuKrnm5jjgILlr7nlroPmiafooYxcbiIKKyN+ICJmZGlzayDlj6/og73msqHmnInmhI/kuYnjgIJb5aaC5p6c5oKo55yf5oOz6L+Z5LmI5YGa77yM6K+35L2/55SoIC0tZm9yY2Ug6YCJ6aG5XSIKKworI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGhlYWRzIgorI34gbXNnc3RyICLorablkYrvvJpIRElPX0dFVEdFTyDooajmmI7mnIkgJWx1IOS4quejgeWktCIKKworI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IHNlY3RvcnMiCisjfiBtc2dzdHIgIuitpuWRiu+8mkhESU9fR0VUR0VPIOihqOaYjuaciSAlbHUg5Liq5omH5Yy6IgorCisjfiBtc2dpZCAiV2FybmluZzogQkxLR0VUU0laRS9IRElPX0dFVEdFTyBzYXlzIHRoYXQgdGhlcmUgYXJlICVsdSBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIuitpuWRiu+8mkJMS0dFVFNJWkUvSERJT19HRVRHRU8g6KGo5piO5pyJICVsdSDkuKrmn7HpnaIiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogdW5saWtlbHkgbnVtYmVyIG9mIHNlY3RvcnMgKCVsdSkgLSB1c3VhbGx5IGF0IG1vc3QgNjNcbiIKKyN+ICJUaGlzIHdpbGwgZ2l2ZSBwcm9ibGVtcyB3aXRoIGFsbCBzb2Z0d2FyZSB0aGF0IHVzZXMgQy9IL1MgYWRkcmVzc2luZy4iCisjfiBtc2dzdHIgIiIKKyN+ICLorablkYrvvJrmiYfljLrmlbDlvILluLgoJWx1KSAtIOmAmuW4uOacgOWkmuaYryA2M1xuIgorI34gIui/meS8mue7meaJgOacieS9v+eUqCBDL0gvUyDlnLDlnYDnmoTova/ku7bluKbmnaXpl67popjjgIIiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWx1IGN5bGluZGVycywgJWx1IGhlYWRzLCAlbHUgc2VjdG9ycy90cmFja1xuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi56OB55uYICVz77yaJWx1IOS4quafsemdou+8jCVsdSDkuKrno4HlpLTvvIwlbHUg5Liq5omH5Yy6L+ejgemBk1xuIgorCisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBoZWFkOiAlbHUgKHNob3VsZCBiZSBpbiAwLSVsdSkiCisjfiBtc2dzdHIgIuWIhuWMuiAlMiRzIOeahCAlMSRzIOeahOejgeWktOaVsOacieivr++8miUzJGx1ICjlupTlnKggMC0lNCRsdSDojIPlm7QpIgorCisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBzZWN0b3I6ICVsdSAoc2hvdWxkIGJlIGluIDEtJWx1KSIKKyN+IG1zZ3N0ciAi5YiG5Yy6ICUyJHMg55qEICUxJHMg55qE5omH5Yy65pWw5pyJ6K+v77yaJTMkbHUgKOW6lOWcqCAxLSU0JGx1IOiMg+WbtCkiCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIGN5bGluZGVyczogJWx1IChzaG91bGQgYmUgaW4gMC0lbHUpIgorI34gbXNnc3RyICLliIbljLogJTIkcyDnmoQgJTEkcyDnmoTmn7HpnaLmlbDmnInor6/vvJolMyRsdSAo5bqU5ZyoIDAtJTQkbHUg6IyD5Zu0KSIKKworI34gbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSAuLi5cbiIKKyN+IG1zZ3N0ciAi5q2j5Zyo6YeN5paw6K+75Y+W5YiG5Yy66KGoLi4uO1xuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBjb21tYW5kIHRvIHJlLXJlYWQgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuXG4iCisjfiAiUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB5b3VyIHN5c3RlbSBub3csXG4iCisjfiAiYmVmb3JlIHVzaW5nIG1rZnMiCisjfiBtc2dzdHIgIiIKKyN+ICLph43mlrDor7vlj5bliIbljLrooajnmoTlkb3ku6TlpLHotKXjgIJcbiIKKyN+ICLlnKjkvb/nlKggbWtmcyDliY3vvIzor7flhYjov5DooYwgcGFydHByb2JlKDgp44CBa3BhcnR4KDgpIOaIllxuIgorI34gIumHjeWQr+ezu+e7n+OAgiIKKworI34gbXNnaWQgIkVycm9yIGNsb3NpbmcgJXMiCisjfiBtc2dzdHIgIuWFs+mXrSAlcyDlh7rplJkiCisKKyN+IG1zZ2lkICIlczogbm8gc3VjaCBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiJXPvvJrmsqHmnInmraTliIbljLpcbiIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBmb3JtYXQgLSB1c2luZyBzZWN0b3JzIgorI34gbXNnc3RyICLml6Dms5Xor4bliKvnmoTmoLzlvI8gLSDlsIbkvb/nlKjmiYfljLoiCisKKyN+IG1zZ2lkICJ1bmltcGxlbWVudGVkIGZvcm1hdCAtIHVzaW5nICVzIgorI34gbXNnc3RyICLmnKrlrp7njrDnmoTmoLzlvI8gLSDlsIbkvb/nlKggJXMiCisKKyN+IG1zZ2lkICJzZWN0b3JzIgorI34gbXNnc3RyICLmiYfljLoiCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IGN5bGluZGVycyBvZiAlbHUgYnl0ZXMsIGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLljZXkvY3vvJolbHUg55qE5p+x6Z2i77yMMTAyNOWtl+iKgueahOWdl++8jOS7jiAlZCDlvIDlp4vorqHnrpdcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290IFN0YXJ0ICAgICBFbmQgICAjY3lscyAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICDorr7lpIcgICDlkK/liqgg5byA5aS0ICAgICAg57uT5p2fICAj5p+x6Z2iICAgICPlnZcgICAgICAgSWQgIOezu+e7n1xuIgorCisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiBzZWN0b3JzIG9mIDUxMiBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAi5Y2V5L2N77yaNTEy5a2X6IqC55qE5omH5Yy677yM5LuOICVkIOW8gOWni+iuoeeul1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgICAgU3RhcnQgICAgICAgRW5kICAgI3NlY3RvcnMgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAg6K6+5aSHICAg5ZCv5YqoICAgIOW8gOWktCAgICAgICAg57uT5p2fICAj5omH5Yy6ICAgICBJZCAg57O757ufXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLljZXkvY3vvJoxMDI05a2X6IqC55qE5Z2X77yM5LuOICVkIOW8gOWni+iuoeeul1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgICBTdGFydCAgICAgICBFbmQgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAg6K6+5aSHICAg5ZCv5YqoICAg5byA5aS0ICAgICAgICDnu5PmnZ8gICAj5Z2XICAgICAgIElkICDns7vnu59cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVbml0czogMU1pQiA9IDEwMjQqMTAyNCBieXRlcywgYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIuWNleS9je+8mjFNaUIgPSAxMDI0KjEwMjQg5a2X6IqC77yMMTAyNOWtl+iKgueahOWdl++8jOS7jiAlZCDlvIDlp4vorqHnrpdcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290IFN0YXJ0ICAgRW5kICAgIE1pQiAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICDorr7lpIcgICDlkK/liqgg5byA5aS0ICAgIOe7k+adnyAgIE1pQiAgICAj5Z2XICAgICAgIElkICDns7vnu59cbiIKKworI34gbXNnaWQgIlx0XHRzdGFydDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiXHRcdOW8gOWktO+8mihjLGgscykg5bqU5Li6ICglbGQsJWxkLCVsZCkg5om+5Yiw55qE5Li6ICglbGQsJWxkLCVsZClcbiIKKworI34gbXNnaWQgIlx0XHRlbmQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpXG4iCisjfiBtc2dzdHIgIlx0XHTnu5PmnZ/vvJooYyxoLHMpIOW6lOS4uiAoJWxkLCVsZCwlbGQpIOaJvuWIsOeahOS4uiAoJWxkLCVsZCwlbGQpXG4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gZW5kcyBvbiBjeWxpbmRlciAlbGQsIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBkaXNrXG4iCisjfiBtc2dzdHIgIuWIhuWMuue7k+adn+WcqOafsemdoiAlbGTvvIzotoXov4fkuobno4Hnm5jnmoTmnKvlsL5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBUaGUgcGFydGl0aW9uIHRhYmxlIGxvb2tzIGxpa2UgaXQgd2FzIG1hZGVcbiIKKyN+ICIgIGZvciBDL0gvUz0qLyVsZC8lbGQgKGluc3RlYWQgb2YgJWxkLyVsZC8lbGQpLlxuIgorI34gIkZvciB0aGlzIGxpc3RpbmcgSSdsbCBhc3N1bWUgdGhhdCBnZW9tZXRyeS4iCisjfiBtc2dzdHIgIiIKKyN+ICLorablkYrvvJrliIbljLrooajkvLzkuY7mmK/kuLogQy9IL1M9Ki8lbGQvJWxkIOWItuS9nOeahFxuIgorI34gIijogIzpnZ4gJWxkLyVsZC8lbGQp44CCXG4iCisjfiAi5a+56L+Z5qyh5YiX6KGo56iL5bqP5bCG5L2/55So6K+l5Yeg5L2V5bGe5oCn44CCIgorCisjfiBtc2dpZCAibm8gcGFydGl0aW9uIHRhYmxlIHByZXNlbnQiCisjfiBtc2dzdHIgIuS4jeWtmOWcqOWIhuWMuuihqCIKKworI34gbXNnaWQgInN0cmFuZ2UsIG9ubHkgJWQgcGFydGl0aW9uIGRlZmluZWQiCisjfiBtc2dpZF9wbHVyYWwgInN0cmFuZ2UsIG9ubHkgJWQgcGFydGl0aW9ucyBkZWZpbmVkIgorI34gbXNnc3RyWzBdICLlvILluLjvvIzlj6rlrprkuYnkuoYgJWQg5Liq5YiG5Yy6IgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYnV0IGlzIG5vdCBtYXJrZWQgRW1wdHkiCisjfiBtc2dzdHIgIuitpuWRiu+8muWIhuWMuiAlcyDlpKflsI/kuLogMCDkvYbmnKrmoIforrDkuLog56m6IgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIGlzIGJvb3RhYmxlIgorI34gbXNnc3RyICLorablkYrvvJrliIbljLogJXMg5aSn5bCP5Li6IDAg5bm25LiU5qCH6K6w5LqGIOWPr+WQr+WKqCIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGFuZCBub256ZXJvIHN0YXJ0IgorI34gbXNnc3RyICLorablkYrvvJrliIbljLogJXMg5aSn5bCP5Li6IDAg5LiU6LW35aeL5L2N572u5LiN5Li6IDAiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb25zICVzIGFuZCAlcyBvdmVybGFwIgorI34gbXNnc3RyICLorablkYrvvJrliIbljLogJXMg5ZKMICVzIOaciemHjeWPoCIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgY29udGFpbnMgcGFydCBvZiB0aGUgcGFydGl0aW9uIHRhYmxlIChzZWN0b3IgJWxsdSksXG4iCisjfiAiYW5kIHdpbGwgZGVzdHJveSBpdCB3aGVuIGZpbGxlZCIKKyN+IG1zZ3N0ciAi6K2m5ZGK77ya5YiG5Yy6ICVzIOWMheWQq+mDqOWIhuWIhuWMuuihqCglbGx1Ke+8jOWhq+WFheS8muegtOWdj+Wug+OAgiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yIDAiCisjfiBtc2dzdHIgIuitpuWRiu+8muWIhuWMuiAlcyDotbflp4vkuo7miYfljLogMCIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBleHRlbmRzIHBhc3QgZW5kIG9mIGRpc2siCisjfiBtc2dzdHIgIuitpuWRiu+8muWIhuWMuiAlcyDotoXlh7rkuobno4Hnm5jnu4jngrkiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplICVkLiVkIFRCICglbGx1IGJ5dGVzKSxcbiIKKyN+ICJ3aGljaCBpcyBsYXJnZXIgdGhhbiB0aGUgJWxsdSBieXRlcyBsaW1pdCBpbXBvc2VkXG4iCisjfiAiYnkgdGhlIERPUyBwYXJ0aXRpb24gdGFibGUgZm9yICVkLWJ5dGUgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiIgorI34gIuitpuWRiu+8muWIhuWMuiAlcyDlpKflsI/kuLogJWQuJWQgVEIgKCVsbHUg5a2X6IqCKe+8jOWkp+S6jlxuIgorI34gIiVsbHUg5a2X6IqCKERPUyDliIbljLrooajlr7kgJWQt5a2X6IqC5omH5Yy655qE5by65Yi26ZmQ5a6a5YC8KSIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgc3RhcnRzIGF0IHNlY3RvciAlbGx1ICglZC4lZCBUQiBmb3IgJWQtYnl0ZSBzZWN0b3JzKSxcbiIKKyN+ICJ3aGljaCBleGNlZWRzIHRoZSBET1MgcGFydGl0aW9uIHRhYmxlIGxpbWl0IG9mICVsbHUgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiIgorI34gIuitpuWRiu+8muWIhuWMuiAlcyDotbfngrnkuLrnrKwgJWxsdSDmiYfljLogKCVkLiVkIFRC77yM5a+55LqOICVkLeWtl+iKguaJh+WMuinvvIxcbiIKKyN+ICLov5notoXov4fkuoYgRE9TIOWIhuWMuuihqCAlbGx1IOS4quaJh+WMuueahOmZkOWItiIKKworI34gbXNnaWQgIiIKKyN+ICJBbW9uZyB0aGUgcHJpbWFyeSBwYXJ0aXRpb25zLCBhdCBtb3N0IG9uZSBjYW4gYmUgZXh0ZW5kZWRcbiIKKyN+ICIgKGFsdGhvdWdoIHRoaXMgaXMgbm90IGEgcHJvYmxlbSB1bmRlciBMaW51eCkiCisjfiBtc2dzdHIgIiIKKyN+ICLkuLvliIbljLrkuK3lj6rmnInkuIDkuKrlj6/orr7kuLrmianlsZXliIbljLpcbiIKKyN+ICIo5bC9566hIExpbnV4IOS4i+S4jeWtmOWcqOi/meS4qumXrumimCkiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZG9lcyBub3Qgc3RhcnQgYXQgYSBjeWxpbmRlciBib3VuZGFyeSIKKyN+IG1zZ3N0ciAi6K2m5ZGK77ya5YiG5Yy6ICVzIOacqui1t+Wni+S6juafsemdoui+ueeVjOOAgiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBlbmQgYXQgYSBjeWxpbmRlciBib3VuZGFyeSIKKyN+IG1zZ3N0ciAi6K2m5ZGK77ya5YiG5Yy6ICVzIOacque7k+adn+S6juafsemdoui+ueeVjOOAgiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBtb3JlIHRoYW4gb25lIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZSAoYWN0aXZlKVxuIgorI34gIlRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLCBidXQgdGhlIERPUyBNQlIgd2lsbCBub3QgYm9vdCB0aGlzIGRpc2suIgorI34gbXNnc3RyICIiCisjfiAi6LaF6L+H5LiA5Liq5Li75YiG5Yy66KKr5qCH6K6w5Li6IOWPr+WQr+WKqCjmtLvliqgp44CC6L+Z5a+5IExJTE8g5rKh5pyJ5b2x5ZON77yM5L2GIFxuIgorI34gIkRPUyBNQlIg5bCG5peg5rOV5ZCv5Yqo6K+l56OB55uY44CCIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHVzdWFsbHkgb25lIGNhbiBib290IGZyb20gcHJpbWFyeSBwYXJ0aXRpb25zIG9ubHlcbiIKKyN+ICJMSUxPIGRpc3JlZ2FyZHMgdGhlIGBib290YWJsZScgZmxhZy4iCisjfiBtc2dzdHIgIiIKKyN+ICLorablkYrvvJrpgJrluLjlj6rog73ku47kuLvliIbljLrlkK/liqhcbiIKKyN+ICJMSUxPIOS8muW/veeVpeKAnOWPr+WQr+WKqOKAneagh+W/l+OAgiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBubyBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLiIKKyN+IG1zZ3N0ciAiIgorI34gIuitpuWRiu+8muayoeacieS4gOS4quS4u+WIhuWMuuiiq+agh+iusOS4uiDlj6/lkK/liqgo5rS75YqoKeOAgui/meWvuSBMSUxPIOayoeacieW9seWTje+8jOS9hiBcbiIKKyN+ICJET1MgTUJSIOWwhuaXoOazleWQr+WKqOivpeejgeebmOOAgiIKKworI34gbXNnaWQgInN0YXJ0IgorI34gbXNnc3RyICLotbfngrkiCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKSIKKyN+IG1zZ3N0ciAi5YiG5Yy6ICVz77ya6LW354K577yaKGMsaCxzKSDlupTkuLogKCVsZCwlbGQsJWxkKSDmib7liLDnmoTkuLogKCVsZCwlbGQsJWxkKSIKKworI34gbXNnaWQgImVuZCIKKyN+IG1zZ3N0ciAi5pyr5bC+IgorCisjfiBtc2dpZCAicGFydGl0aW9uICVzOiBlbmQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpIgorI34gbXNnc3RyICLliIbljLogJXPvvJrnu4jngrnvvJooYyxoLHMpIOW6lOS4uiAoJWxkLCVsZCwlbGQpIOaJvuWIsOeahOS4uiAoJWxkLCVsZCwlbGQpIgorCisjfiBtc2dpZCAicGFydGl0aW9uICVzIGVuZHMgb24gY3lsaW5kZXIgJWxkLCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZGlzayIKKyN+IG1zZ3N0ciAi5YiG5Yy6ICVzIOe7k+adn+S6jiAlbGTvvIzotoXlh7rkuobno4Hnm5jnmoTmnKvlsL4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogc2hpZnRlZCBzdGFydCBvZiB0aGUgZXh0ZCBwYXJ0aXRpb24gZnJvbSAlbGxkIHRvICVsbGRcbiIKKyN+ICIoRm9yIGxpc3RpbmcgcHVycG9zZXMgb25seS4gRG8gbm90IGNoYW5nZSBpdHMgY29udGVudHMuKSIKKyN+IG1zZ3N0ciAiIgorI34gIuitpuWRiu+8muaJqeWxleWIhuWMuueahOi1t+eCueS7jiAlbGxkIOenu+WIsOS6hiAlbGxkXG4iCisjfiAiKOS7heeUqOS6juWIl+ihqOOAguS4jeaUueWPmOWFtuWGheWuueOAgikiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogZXh0ZW5kZWQgcGFydGl0aW9uIGRvZXMgbm90IHN0YXJ0IGF0IGEgY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiAiRE9TIGFuZCBMaW51eCB3aWxsIGludGVycHJldCB0aGUgY29udGVudHMgZGlmZmVyZW50bHkuIgorI34gbXNnc3RyICIiCisjfiAi6K2m5ZGK77ya5omp5bGV5YiG5Yy65pyq5byA5aeL5LqO5p+x6Z2i6L6555WM5aSE44CCXG4iCisjfiAiRE9TIOWSjCBMaW51eCDlr7nlhbblhoXlrrnnmoTop6Pph4rkvJrmnInliIbmrafjgIIiCisKKyN+IG1zZ2lkICJFUlJPUjogc2VjdG9yICVsbHUgZG9lcyBub3QgaGF2ZSBhbiBtc2RvcyBzaWduYXR1cmUiCisjfiBtc2dzdHIgIumUmeivr++8muaJh+WMuiAlbGx1IOayoeaciSBtc2RvcyDnrb7lkI0iCisKKyN+IG1zZ2lkICJ0b28gbWFueSBwYXJ0aXRpb25zIC0gaWdub3JpbmcgdGhvc2UgcGFzdCBuciAoJXp1KSIKKyN+IG1zZ3N0ciAi5YiG5Yy66L+H5aSaIC0g5bCG5b+955Wl6LaF6L+HIG5yICglenUpIOeahOmCo+S6m+WIhuWMuiIKKworI34gbXNnaWQgInRyZWUgb2YgcGFydGl0aW9ucz8iCisjfiBtc2dzdHIgIuWIhuWMuuagke+8nyIKKworI34gbXNnaWQgImRldGVjdGVkIERpc2sgTWFuYWdlciAtIHVuYWJsZSB0byBoYW5kbGUgdGhhdCIKKyN+IG1zZ3N0ciAi5qOA5rWL5Yiw56OB55uY566h55CG5ZmoIC0g5peg5rOV5aSE55CG5a6DIgorCisjfiBtc2dpZCAiRE02IHNpZ25hdHVyZSBmb3VuZCAtIGdpdmluZyB1cCIKKyN+IG1zZ3N0ciAi5om+5YiwIERNNiDnrb7lkI0gLSDlsIbmlL7lvIMiCisKKyN+IG1zZ2lkICJzdHJhbmdlLi4uLCBhbiBleHRlbmRlZCBwYXJ0aXRpb24gb2Ygc2l6ZSAwPyIKKyN+IG1zZ3N0ciAi5LiN5a+55ZGALi4u77yM5LiA5Liq5aSn5bCP5Li6IDAg55qE5omp5bGV5YiG5Yy6PyIKKworI34gbXNnaWQgInN0cmFuZ2UuLi4sIGEgQlNEIHBhcnRpdGlvbiBvZiBzaXplIDA/IgorI34gbXNnc3RyICLkuI3lr7nlkYAuLi7vvIzkuIDkuKrlpKflsI/kuLogMCDnmoQgQlNEIOWIhuWMuj8iCisKKyN+IG1zZ2lkICItbiBmbGFnIHdhcyBnaXZlbjogTm90aGluZyBjaGFuZ2VkIgorI34gbXNnc3RyICLmjIflrprkuoYgLW4g5qCH5b+X77ya5pyq5YGa5pu05pS5IgorCisjfiBtc2dpZCAiRmFpbGVkIHNhdmluZyB0aGUgb2xkIHNlY3RvcnMgLSBhYm9ydGluZ1xuIgorI34gbXNnc3RyICLkv53lrZjml6fmiYfljLrlpLHotKUgLSDlsIbkuK3mraJcbiIKKworI34gbXNnaWQgIkZhaWxlZCB3cml0aW5nIHRoZSBwYXJ0aXRpb24gb24gJXMiCisjfiBtc2dzdHIgIuWGmSAlcyDkuIrnmoTliIbljLrlpLHotKUiCisKKyN+IG1zZ2lkICJsb25nIG9yIGluY29tcGxldGUgaW5wdXQgbGluZSAtIHF1aXR0aW5nIgorI34gbXNnc3RyICLovpPlhaXooYzlpKrplb/miJbkuI3lrozmlbQgLSDlsIbpgIDlh7oiCisKKyN+IG1zZ2lkICJpbnB1dCBlcnJvcjogYD0nIGV4cGVjdGVkIGFmdGVyICVzIGZpZWxkIgorI34gbXNnc3RyICLovpPlhaXplJnor6/vvJolcyDlrZfmrrXlkI7lupTkuLrigJw94oCdIgorCisjfiBtc2dpZCAiaW5wdXQgZXJyb3I6IHVuZXhwZWN0ZWQgY2hhcmFjdGVyICVjIGFmdGVyICVzIGZpZWxkIgorI34gbXNnc3RyICLovpPlhaXplJnor6/vvJolMiRzIOWtl+auteWQjuWHuueOsOW8guW4uOWtl+espiAlMSRjIgorCisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGlucHV0OiAlcyIKKyN+IG1zZ3N0ciAi5peg5rOV6K+G5Yir55qE6L6T5YWl77yaJXMiCisKKyN+IG1zZ2lkICJudW1iZXIgdG9vIGJpZyIKKyN+IG1zZ3N0ciAi5pWw5a2X6L+H5aSnIgorCisjfiBtc2dpZCAidHJhaWxpbmcganVuayBhZnRlciBudW1iZXIiCisjfiBtc2dzdHIgIuaVsOWtl+WQjuacieWeg+WcvuWGheWuuSIKKworI34gbXNnaWQgIm5vIHJvb20gZm9yIHBhcnRpdGlvbiBkZXNjcmlwdG9yIgorI34gbXNnc3RyICLmsqHmnInnqbrpl7TmlL7nva7liIbljLrmj4/ov7DnrKYiCisKKyN+IG1zZ2lkICJjYW5ub3QgYnVpbGQgc3Vycm91bmRpbmcgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICLml6Dms5XliJvlu7rnjq/nu5XmianlsZXliIbljLoiCisKKyN+IG1zZ2lkICJ0b28gbWFueSBpbnB1dCBmaWVsZHMiCisjfiBtc2dzdHIgIui+k+WFpeWtl+autei/h+WkmiIKKworI34gbXNnaWQgIk5vIHJvb20gZm9yIG1vcmUiCisjfiBtc2dzdHIgIuepuumXtOS4jei2syIKKworI34gbXNnaWQgIklsbGVnYWwgdHlwZSIKKyN+IG1zZ3N0ciAi6Z2e5rOV57G75Z6LIgorCisjfiBtc2dpZCAiV2FybmluZzogZ2l2ZW4gc2l6ZSAoJWxsdSkgZXhjZWVkcyBtYXggYWxsb3dhYmxlIHNpemUgKCVsbHUpIgorI34gbXNnc3RyICLorablkYrvvJrmjIflrprlpKflsI8oJWxsdSnotoXov4fkuobmnIDlpKflhYHorrjlpKflsI8oJWxsdSkiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBiYWQgcGFydGl0aW9uIHN0YXJ0IChlYXJsaWVzdCAlbGx1KSIKKyN+IG1zZ3N0ciAi6K2m5ZGK77ya5YiG5Yy66LW354K55pyJ6K+vKOacgOaXqSAlbGx1KSIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBib290YWJsZSBmbGFnIC0gY2hvb3NlIC0gb3IgKiIKKyN+IG1zZ3N0ciAi5peg5rOV6K+G5Yir55qE5Y+v5ZCv5Yqo5qCH5b+XIC0g6YCJ5oupIC0g5oiWICoiCisKKyN+IG1zZ2lkICJwYXJ0aWFsIGMsaCxzIHNwZWNpZmljYXRpb24/IgorI34gbXNnc3RyICLkuI3lrozmlbTnmoQgYyxoLHMg6K+05piO77yfIgorCisjfiBtc2dpZCAiYmFkIGlucHV0IgorI34gbXNnc3RyICLovpPlhaXplJnor68iCisKKyN+IG1zZ2lkICJ0b28gbWFueSBwYXJ0aXRpb25zIgorI34gbXNnc3RyICLliIbljLrov4flpJoiCisKKyN+IG1zZ2lkICIiCisjfiAiSW5wdXQgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ7IGFic2VudCBmaWVsZHMgZ2V0IGEgZGVmYXVsdCB2YWx1ZS5cbiIKKyN+ICI8c3RhcnQ+IDxzaXplPiA8dHlwZSBbRSxTLEwsWCxoZXhdPiA8Ym9vdGFibGUgWy0sKl0+IDxjLGgscz4gPGMsaCxzPlxuIgorI34gIlVzdWFsbHkgeW91IG9ubHkgbmVlZCB0byBzcGVjaWZ5IDxzdGFydD4gYW5kIDxzaXplPiAoYW5kIHBlcmhhcHMgPHR5cGU+KS4iCisjfiBtc2dzdHIgIiIKKyN+ICLmjInku6XkuIvmoLzlvI/ovpPlhaXvvIzmnKrmjIflrprnmoTlrZfmrrXlsIbku6Xpu5jorqTlgLzloavlhYXjgIJcbiIKKyN+ICI86LW35aeLPiA85aSn5bCPPiA857G75Z6LIFtFLFMsTCxYLGhleF0+IDzlj6/lkK/liqggWy0sKl0+IDxjLGgscz4gPGMsaCxzPlxuIgorI34gIumAmuW4uOaCqOWPqumhu+aMh+WumiA86LW35aeLPiDlkowgPOWkp+Wwjz4gKOWPr+iDvei/mOimgeaMh+WumiA857G75Z6LPinjgIIiCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+Li4uXG4iCisjfiBtc2dzdHIgIiAlcyBb6YCJ6aG5XSA86K6+5aSHPi4uLlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtcywgLS1zaG93LXNpemUgICAgICAgICAgIGxpc3Qgc2l6ZSBvZiBhIHBhcnRpdGlvblxuIgorI34gIiAtYywgLS1pZCAgICAgICAgICAgICAgICAgIGNoYW5nZSBvciBwcmludCBwYXJ0aXRpb24gSWRcbiIKKyN+ICIgICAgIC0tY2hhbmdlLWlkICAgICAgICAgICBjaGFuZ2UgSWRcbiIKKyN+ICIgICAgIC0tcHJpbnQtaWQgICAgICAgICAgICBwcmludCBJZFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1zLCAtLXNob3ctc2l6ZSAgICAgICAgICAg5YiX5Ye65q+P5Liq5YiG5Yy655qE5aSn5bCPXG4iCisjfiAiIC1jLCAtLWlkICAgICAgICAgICAgICAgICAg5pu05pS55oiW5omT5Y2w5YiG5Yy6IElkXG4iCisjfiAiICAgICAtLWNoYW5nZS1pZCAgICAgICAgICAg5pu05pS5IElkXG4iCisjfiAiICAgICAtLXByaW50LWlkICAgICAgICAgICAg5omT5Y2wIElkXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zIG9mIGVhY2ggZGV2aWNlXG4iCisjfiAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICAgaWRlbSwgYnV0IGluIGEgZm9ybWF0IHN1aXRhYmxlIGZvciBsYXRlciBpbnB1dFxuIgorI34gIiAtaSwgLS1pbmNyZW1lbnQgICAgICAgICAgIG51bWJlciBjeWxpbmRlcnMgZXRjLiBmcm9tIDEgaW5zdGVhZCBvZiBmcm9tIDBcbiIKKyN+ICIgLXUsIC0tdW5pdCA8bGV0dGVyPiAgICAgICB1bml0cyB0byBiZSB1c2VkOyA8bGV0dGVyPiBjYW4gYmUgb25lIG9mXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTIChzZWN0b3JzKSwgQyAoY3lsaW5kZXJzKSwgQiAoYmxvY2tzKSwgb3IgTSAoTUIpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICDliJflh7rmr4/kuKrorr7lpIfnmoTliIbljLpcbiIKKyN+ICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgICDlkIzkuIrvvIzkvYbku6XpgILlkIjnqI3lkI7ovpPlhaXnmoTmoLzlvI/liJflh7pcbiIKKyN+ICIgLWksIC0taW5jcmVtZW50ICAgICAgICAgICDnu5nmn7HpnaLnrYnorqHmlbDml7bku44gMSDogIzpnZ7ku44gMCDlvIDlp4tcbiIKKyN+ICIgLXUsIC0tdW5pdCA85a2X5q+NPiAgICAgICAgIOimgeS9v+eUqOeahOWNleS9je+8mzzlrZfmr40+IOWPr+S7peaYr+S7peS4i+S5i+S4gFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUyjmiYfljLop77yMQyjmn7HpnaIp77yMQijlnZcp5oiWIE0oTUIpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC0xLCAtLW9uZS1vbmx5ICAgICAgICAgICAgcmVzZXJ2ZWQgb3B0aW9uIHRoYXQgZG9lcyBub3RoaW5nIGN1cnJlbnRseVxuIgorI34gIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgIGxpc3QgdGhlIGtub3duIHBhcnRpdGlvbiB0eXBlc1xuIgorI34gIiAtRCwgLS1ET1MgICAgICAgICAgICAgICAgIGZvciBET1MtY29tcGF0aWJpbGl0eTogd2FzdGUgYSBsaXR0bGUgc3BhY2VcbiIKKyN+ICIgLUUsIC0tRE9TLWV4dGVuZGVkICAgICAgICBET1MgZXh0ZW5kZWQgcGFydGl0aW9uIGNvbXBhdGliaWxpdHlcbiIKKyN+ICIgLVIsIC0tcmUtcmVhZCAgICAgICAgICAgICBtYWtlIHRoZSBrZXJuZWwgcmVyZWFkIHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtMSwgLS1vbmUtb25seSAgICAgICAgICAgIOmihOeVmemAiemhue+8jOebruWJjeayoeacieS9nOeUqFxuIgorI34gIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgIOWIl+WHuuW3suefpeeahOWIhuWMuuexu+Wei1xuIgorI34gIiAtRCwgLS1ET1MgICAgICAgICAgICAgICAgIOS4jiBET1Mg5YW85a6577yb5Lya5rWq6LS55LiA54K556m66Ze0XG4iCisjfiAiIC1FLCAtLURPUy1leHRlbmRlZCAgICAgICAg5LiOIERPUyDmianlsZXliIbljLrlhbzlrrlcbiIKKyN+ICIgLVIsIC0tcmUtcmVhZCAgICAgICAgICAgICDorqnlhoXmoLjph43mlrDor7vlj5bliIbljLrooahcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLU4gPG51bWJlcj4gICAgICAgICAgICAgICBjaGFuZ2Ugb25seSB0aGUgcGFydGl0aW9uIHdpdGggdGhpcyA8bnVtYmVyPlxuIgorI34gIiAtbiAgICAgICAgICAgICAgICAgICAgICAgIGRvIG5vdCBhY3R1YWxseSB3cml0ZSB0byBkaXNrXG4iCisjfiAiIC1PIDxmaWxlPiAgICAgICAgICAgICAgICAgc2F2ZSB0aGUgc2VjdG9ycyB0aGF0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gdG8gPGZpbGU+XG4iCisjfiAiIC1JIDxmaWxlPiAgICAgICAgICAgICAgICAgcmVzdG9yZSBzZWN0b3JzIGZyb20gPGZpbGU+XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLU4gPOaVsOWtlz4gICAgICAgICAgICAgICAgIOWPquabtOaUueWIhuWMuuWPt+S4uiA85pWw5a2XPiDnmoTliIbljLpcbiIKKyN+ICIgLW4gICAgICAgICAgICAgICAgICAgICAgICDlubbkuI3nnJ/nmoTlhpnlhaXno4Hnm5hcbiIKKyN+ICIgLU8gPOaWh+S7tj4gICAgICAgICAgICAgICAgIOWwhuimgeimhueblueahOWIhuWMuuS/neWtmOWIsCA85paH5Lu2PiDkuK1cbiIKKyN+ICIgLUkgPOaWh+S7tj4gICAgICAgICAgICAgICAgIOS7jiA85paH5Lu2PiDmgaLlpI3miYfljLpcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLVYsIC0tdmVyaWZ5ICAgICAgICAgICAgICBjaGVjayB0aGF0IHRoZSBsaXN0ZWQgcGFydGl0aW9ucyBhcmUgcmVhc29uYWJsZVxuIgorI34gIiAtdiwgLS12ZXJzaW9uICAgICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtViwgLS12ZXJpZnkgICAgICAgICAgICAgIOajgOafpeWIl+WHuuaJh+WMuueahOacieaViOaAp1xuIgorI34gIiAtdiwgLS12ZXJzaW9uICAgICAgICAgICAgIOaYvuekuueJiOacrOS/oeaBr+W5tumAgOWHulxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIOaYvuekuuatpOW4ruWKqeW5tumAgOWHulxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRhbmdlcm91cyBvcHRpb25zOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi5Y2x6Zmp6YCJ6aG577yaXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIKKyN+ICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgcGFydGl0aW9uIGlzIGluIHVzZVxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIHdhcm5pbmcgbWVzc2FnZXNcbiIKKyN+ICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkbyBub3QgY29tcGxhaW4gYWJvdXQgdGhpbmdzIGlycmVsZXZhbnQgZm9yIExpbnV4XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICDnpoHmraLmiYDmnInkuIDoh7TmgKfmo4Dmn6VcbiIKKyN+ICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICDkuI3mo4Dmn6XliIbljLrmmK/lkKbmraPlnKjkvb/nlKhcbiIKKyN+ICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICDmipHliLborablkYrmtojmga/ovpPlh7pcbiIKKyN+ICIgLUwsIC0tTGludXggICAgICAgICAgICAgICDkuI3miqXlkYrkuI4gTGludXgg5peg5YWz55qE5LqL5oOFXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgICAgICAgcHJpbnQgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIGdlb21ldHJ5XG4iCisjfiAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgcHJpbnQgZ2VvbWV0cnkgZ3Vlc3NlZCBmcm9tIHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZywgLS1zaG93LWdlb21ldHJ5ICAgICAgIOaJk+WNsOWGheaguOajgOa1i+WIsOeahOWHoOS9leWxnuaAp1xuIgorI34gIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIOaJk+WNsOS7juWIhuWMuuihqOaOqOa1i+WHuueahOWHoOS9leWxnuaAp1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAtQSwgLS1hY3RpdmF0ZVs9PGRldmljZT5dIGFjdGl2YXRlIHRoZSBib290YWJsZSBmbGFnXG4iCisjfiAiIC1VLCAtLXVuaGlkZVs9PGRldmljZT5dICAgc2V0IHBhcnRpdGlvbiBhcyB1bmhpZGRlblxuIgorI34gIiAteCwgLS1zaG93LWV4dGVuZGVkICAgICAgIGFsc28gbGlzdCBleHRlbmRlZCBwYXJ0aXRpb25zIGluIHRoZSBvdXRwdXQsXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBleHBlY3QgZGVzY3JpcHRvcnMgZm9yIHRoZW0gaW4gdGhlIGlucHV0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLUEsIC0tYWN0aXZhdGVbPTzorr7lpIc+XSAgIOa/gOa0uyDlj6/lkK/liqgg5qCH5b+XXG4iCisjfiAiIC1VLCAtLXVuaGlkZVs9POiuvuWkhz5dICAgICDlj5bmtojliIbljLrpmpDol49cbiIKKyN+ICIgLXgsIC0tc2hvdy1leHRlbmRlZCAgICAgICDovpPlh7rml7bkuZ/liJflh7rmianlsZXliIbljLrvvIxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaIlui+k+WFpeaXtuivt+axguaPkOS+m+Wug+S7rOeahOaPj+i/sOesplxuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS1sZWF2ZS1sYXN0ICAgICAgICAgIGRvIG5vdCBhbGxvY2F0ZSB0aGUgbGFzdCBjeWxpbmRlclxuIgorI34gIiAgICAgLS1JQk0gICAgICAgICAgICAgICAgIHNhbWUgYXMgLS1sZWF2ZS1sYXN0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tbGVhdmUtbGFzdCAgICAgICAgICDkuI3liIbphY3mnIDlkI7kuIDkuKrmn7HpnaJcbiIKKyN+ICIgICAgIC0tSUJNICAgICAgICAgICAgICAgICDlkIwgLS1sZWF2ZS1sYXN0XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLWluLW9yZGVyICAgICAgICAgICAgcGFydGl0aW9ucyBhcmUgaW4gb3JkZXJcbiIKKyN+ICIgICAgIC0tbm90LWluLW9yZGVyICAgICAgICBwYXJ0aXRpb25zIGFyZSBub3QgaW4gb3JkZXJcbiIKKyN+ICIgICAgIC0taW5zaWRlLW91dGVyICAgICAgICBhbGwgbG9naWNhbHMgaW5zaWRlIG91dGVybW9zdCBleHRlbmRlZFxuIgorI34gIiAgICAgLS1ub3QtaW5zaWRlLW91dGVyICAgIG5vdCBhbGwgbG9naWNhbHMgaW5zaWRlIG91dGVybW9zdCBleHRlbmRlZFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLWluLW9yZGVyICAgICAgICAgICAg5YiG5Yy65oyJ6aG65bqPXG4iCisjfiAiICAgICAtLW5vdC1pbi1vcmRlciAgICAgICAg5YiG5Yy65LiN5oyJ6aG65bqPXG4iCisjfiAiICAgICAtLWluc2lkZS1vdXRlciAgICAgICAg5omA5pyJ6YC76L6R5YiG5Yy65L2N5LqO5pyA5aSW55qE5omp5bGV5YiG5Yy65YaFXG4iCisjfiAiICAgICAtLW5vdC1pbnNpZGUtb3V0ZXIgICAg5LiN6KaB5rGC5omA5pyJ6YC76L6R5YiG5Yy65L2N5LqO5pyA5aSW55qE5omp5bGV5YiG5Yy65YaFXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLW5lc3RlZCAgICAgICAgICAgICAgZXZlcnkgcGFydGl0aW9uIGlzIGRpc2pvaW50IGZyb20gYWxsIG90aGVyc1xuIgorI34gIiAgICAgLS1jaGFpbmVkICAgICAgICAgICAgIGxpa2UgbmVzdGVkLCBidXQgZXh0ZW5kZWQgcGFydGl0aW9ucyBtYXkgbGllIG91dHNpZGVcbiIKKyN+ICIgICAgIC0tb25lc2VjdG9yICAgICAgICAgICBwYXJ0aXRpb25zIGFyZSBtdXR1YWxseSBkaXNqb2ludFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLW5lc3RlZCAgICAgICAgICAgICAg5q+P5Liq5YiG5Yy65LiO5omA5pyJ5YW25LuW5YiG5Yy65LiN55u45LqkXG4iCisjfiAiICAgICAtLWNoYWluZWQgICAgICAgICAgICAg5LiOIG5lc3RlZCDnm7jkvLzvvIzkvYbmianlsZXliIbljLrlj6/ku6XotoXnlYxcbiIKKyN+ICIgICAgIC0tb25lc2VjdG9yICAgICAgICAgICDlkITliIbljLrkupLkuI3nm7jkuqRcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPdmVycmlkZSB0aGUgZGV0ZWN0ZWQgZ2VvbWV0cnkgdXNpbmc6XG4iCisjfiAiIC1DLCAtLWN5bGluZGVycyA8bnVtYmVyPiAgc2V0IHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzIHRvIHVzZVxuIgorI34gIiAtSCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgIHNldCB0aGUgbnVtYmVyIG9mIGhlYWRzIHRvIHVzZVxuIgorI34gIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgIHNldCB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgdG8gdXNlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLnlKjku6XkuIvpgInpobnopobnm5bmo4DmtYvliLDnmoTlh6DkvZXlsZ7mgKfvvJpcbiIKKyN+ICIgLUMsIC0tY3lsaW5kZXJzIDzmlbDlrZc+ICAgIOiuvue9ruimgeS9v+eUqOeahOafsemdouaVsFxuIgorI34gIiAtSCwgLS1oZWFkcyA85pWw5a2XPiAgICAgICAg6K6+572u6KaB5L2/55So55qE56OB5aS05pWwXG4iCisjfiAiIC1TLCAtLXNlY3RvcnMgPOaVsOWtlz4gICAgICDorr7nva7opoHkvb/nlKjnmoTmiYfljLrmlbBuXG4iCisKKyN+IG1zZ2lkICIgJXMlc2RldmljZSAgICAgICAgICAgIGxpc3QgYWN0aXZlIHBhcnRpdGlvbnMgb24gZGV2aWNlXG4iCisjfiBtc2dzdHIgIiAlcyVzZGV2aWNlICAgICAgICAgICAg5YiX5Ye66K6+5aSH5LiK55qE5rS75Yqo5YiG5Yy6XG4iCisKKyN+IG1zZ2lkICIgJXMlc2RldmljZSBuMSBuMiAuLi4gIGFjdGl2YXRlIHBhcnRpdGlvbnMgbjEgLi4uLCBpbmFjdGl2YXRlIHRoZSByZXN0XG4iCisjfiBtc2dzdHIgIiAlcyVz6K6+5aSHIG4xIG4yIC4uLiAg5r+A5rS75YiG5Yy6IG4xIC4uLiwg5Y+W5raI5r+A5rS75YW25LuW5YiG5Yy6XG4iCisKKyN+IG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiBwYXJ0aXRpb25zIGFyZ3VtZW50IgorI34gbXNnc3RyICLml6DmlYjnmoQg5YiG5Yy65pWwIOWPguaVsCIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzXG4iCisjfiBtc2dzdHIgIuaJk+S4jeW8gCAlc1xuIgorCisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLXByaW50LWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyIgorI34gbXNnc3RyICLnlKjms5XvvJpzZmRpc2sgLS1wcmludC1pZCDorr7lpIcg5YiG5Yy65Y+3IgorCisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLWNoYW5nZS1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciBJZCIKKyN+IG1zZ3N0ciAi55So5rOV77yac2ZkaXNrIC0tY2hhbmdlLWlkIOiuvuWkhyDliIbljLrlj7cgSWQiCisKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0taWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIgW0lkXSIKKyN+IG1zZ3N0ciAi55So5rOV77yac2ZkaXNrIC0taWQg6K6+5aSHIOWIhuWMuuWPtyBbSWRdIgorCisjfiBtc2dpZCAiY2FuIHNwZWNpZnkgb25seSBvbmUgZGV2aWNlIChleGNlcHQgd2l0aCAtbCBvciAtcykiCisjfiBtc2dzdHIgIuWPquiDveaMh+WumuS4gOWPsOiuvuWkhyjpmaTpnZ7mjIflrpogLWwg5oiWIC1zKSIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzIHJlYWQtd3JpdGUiCisjfiBtc2dzdHIgIuS4jeiDveS7peivu+WGmeaWueW8j+aJk+W8gCAlcyIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzIGZvciByZWFkaW5nIgorI34gbXNnc3RyICLkuI3og73ku6Xor7vmlrnlvI/miZPlvIAgJXMiCisKKyN+IG1zZ2lkICIlczogT0siCisjfiBtc2dzdHIgIiVz77yaT0siCisKKyN+IG1zZ2lkICIlczogJWxkIGN5bGluZGVycywgJWxkIGhlYWRzLCAlbGQgc2VjdG9ycy90cmFja1xuIgorI34gbXNnc3RyICIlc++8miVsZCDkuKrmn7HpnaLvvIwlbGQg5Liq56OB5aS077yMJWxkIOS4quaJh+WMui/no4HpgZNcbiIKKworI34gbXNnaWQgImJhZCBhY3RpdmUgYnl0ZTogMHgleCBpbnN0ZWFkIG9mIDB4ODAiCisjfiBtc2dzdHIgIumUmeivr+eahCDmtLvliqgg5a2X6IqC77yaMHgleCDogIzpnZ4gMHg4MCIKKworI34gbXNnaWQgIkRvbmUiCisjfiBtc2dzdHIgIuWujOaIkCIKKworI34gbXNnaWQgIiIKKyN+ICJZb3UgaGF2ZSAlZCBhY3RpdmUgcHJpbWFyeSBwYXJ0aXRpb25zLiBUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTyxcbiIKKyN+ICJidXQgdGhlIERPUyBNQlIgd2lsbCBvbmx5IGJvb3QgYSBkaXNrIHdpdGggMSBhY3RpdmUgcGFydGl0aW9uLiIKKyN+IG1zZ3N0ciAiIgorI34gIuaCqOaciSAlZCDkuKrmtLvliqjnmoTkuLvliIbljLrjgILov5nlr7kgTElMTyDmsqHmnInlvbHlk43vvIzkvYYgRE9TIE1CUiDlj6rog73lkK/liqjluKbkuIDkuKrmtLvliqjliIbljLpcbiIKKyN+ICLnmoTno4Hnm5jjgIIiCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgaGFzIGlkICV4IGFuZCBpcyBub3QgaGlkZGVuIgorI34gbXNnc3RyICLliIbljLogJXMg5qCH6K+G5Li6ICV477yM5LiN5piv6ZqQ6JeP55qEIgorCisjfiBtc2dpZCAiQmFkIElkICVseCIKKyN+IG1zZ3N0ciAi6ZSZ6K+v55qEIElkICVseCIKKworI34gbXNnaWQgIlRoaXMgZGlzayBpcyBjdXJyZW50bHkgaW4gdXNlLiIKKyN+IG1zZ3N0ciAi5q2k5YiG5Yy65q2j5Zyo5L2/55So5Lit44CCIgorCisjfiBtc2dpZCAiRmF0YWwgZXJyb3I6IGNhbm5vdCBmaW5kICVzIgorI34gbXNnc3RyICLoh7Tlkb3plJnor6/vvJrmib7kuI3liLAgJXMiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIuitpuWRiu+8miVzIOS4jeaYr+S4gOS4quWdl+iuvuWkhyIKKworI34gbXNnaWQgIk9LIgorI34gbXNnc3RyICLmraPluLgiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3QgZXhpc3QsIGNhbm5vdCBjaGFuZ2UgaXQiCisjfiBtc2dzdHIgIuWIhuWMuiAlZCDkuI3lrZjlnKjvvIzml6Dms5Xmm7TmlLnlroMiCisKKyN+IG1zZ2lkICIiCisjfiAiSSBkb24ndCBsaWtlIHRoZXNlIHBhcnRpdGlvbnMgLSBub3RoaW5nIGNoYW5nZWQuXG4iCisjfiAiKElmIHlvdSByZWFsbHkgd2FudCB0aGlzLCB1c2UgdGhlIC0tZm9yY2Ugb3B0aW9uLikiCisjfiBtc2dzdHIgIiIKKyN+ICLmiJHkuI3mhL/ov5nmoLfliIbljLogLSDmnKrlgZrmm7TmlLnjgIJcbiIKKyN+ICIo5aaC5p6c5oKo55yf55qE5oOz6L+Z5qC35YGa77yM5Y+v5L2/55SoIC0tZm9yY2Ug6YCJ6aG544CCKSIKKworI34gbXNnaWQgIkkgZG9uJ3QgbGlrZSB0aGlzIC0gcHJvYmFibHkgeW91IHNob3VsZCBhbnN3ZXIgTm8iCisjfiBtc2dzdHIgIuaIkeS4jeaEv+i/meagt+WBmiAtIOW7uuiuruaCqOWPlua2iCIKKworI34gbXNnaWQgIkFyZSB5b3Ugc2F0aXNmaWVkIHdpdGggdGhpcz8gW3lucV0gIgorI34gbXNnc3RyICLov5nmoLfmgqjmu6HmhI/lkJfvvJ9beW5xXSAiCisKKyN+IG1zZ2lkICJRdWl0dGluZyAtIG5vdGhpbmcgY2hhbmdlZCIKKyN+IG1zZ3N0ciAi5bCG6YCA5Ye6IC0g5pyq5YGa5pu05pS5IgorCisjfiBtc2dpZCAiUGxlYXNlIGFuc3dlciBvbmUgb2YgeSxuLHFcbiIKKyN+IG1zZ3N0ciAi6K+35Zue562UIHksIG4g5oiWIHFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJTdWNjZXNzZnVsbHkgd3JvdGUgdGhlIG5ldyBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIuaIkOWKn+WGmeWFpeS6huaWsOWIhuWMuuihqFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIklmIHlvdSBjcmVhdGVkIG9yIGNoYW5nZWQgYSBET1MgcGFydGl0aW9uLCAvZGV2L2ZvbzcsIHNheSwgdGhlbiB1c2UgZGQoMSlcbiIKKyN+ICJ0byB6ZXJvIHRoZSBmaXJzdCA1MTIgYnl0ZXM6ICBkZCBpZj0vZGV2L3plcm8gb2Y9L2Rldi9mb283IGJzPTUxMiBjb3VudD0xXG4iCisjfiAiKFNlZSBmZGlzayg4KS4pIgorI34gbXNnc3RyICIiCisjfiAi5aaC5p6c5oKo5Yib5bu65oiW5pu05pS55LqGIERPUyDliIbljLrvvIzlpoIgL2Rldi9mb28377yM6K+35L2/55SoIGRkKDEpXG4iCisjfiAi5bCG5YmNIDUxMiDkuKrlrZfoioLmuIXpm7bvvJpkZCBpZj0vZGV2L3plcm8gb2Y9L2Rldi9mb283IGJzPTUxMiBjb3VudD0xXG4iCisjfiAiKOWPgumYhSBmZGlzayg4KeOAgikiCisKKyN+IG1zZ2lkICJnZXR0aW1lb2ZkYXkgZmFpbGVkIgorI34gbXNnc3RyICJnZXR0aW1lb2ZkYXkg5aSx6LSlIgorCisjfiBtc2dpZCAic3lzaW5mbyBmYWlsZWQiCisjfiBtc2dzdHIgInN5c2luZm8g5aSx6LSlIgorCisjfiBtc2dpZCAidHlwZTogJWQiCisjfiBtc2dzdHIgIuexu+Wei++8miVkIgorCisjfiBtc2dpZCAiZGlzazogJS4qcyIKKyN+IG1zZ3N0ciAi56OB55uY77yaJS4qcyIKKworI34gbXNnaWQgImxhYmVsOiAlLipzIgorI34gbXNnc3RyICLmoIfnrb7vvJolLipzIgorCisjfiBtc2dpZCAiZmxhZ3M6ICVzIgorI34gbXNnc3RyICLmoIflv5fvvJolcyIKKworI34gbXNnaWQgImJ5dGVzL3NlY3RvcjogJWxkIgorI34gbXNnc3RyICLlrZfoioIv5omH5Yy677yaJWxkIgorCisjfiBtc2dpZCAic2VjdG9ycy90cmFjazogJWxkIgorI34gbXNnc3RyICLmiYfljLov56OB6YGT77yaJWxkIgorCisjfiBtc2dpZCAidHJhY2tzL2N5bGluZGVyOiAlbGQiCisjfiBtc2dzdHIgIuejgemBky/mn7HpnaLvvJolbGQiCisKKyN+IG1zZ2lkICJzZWN0b3JzL2N5bGluZGVyOiAlbGQiCisjfiBtc2dzdHIgIuaJh+WMui/mn7HpnaLvvJolbGQiCisKKyN+IG1zZ2lkICJjeWxpbmRlcnM6ICVsZCIKKyN+IG1zZ3N0ciAi5p+x6Z2i77yaJWxkIgorCisjfiBtc2dpZCAicnBtOiAlZCIKKyN+IG1zZ3N0ciAi6L2sL+WIhu+8miVkIgorCisjfiBtc2dpZCAiaW50ZXJsZWF2ZTogJWQiCisjfiBtc2dzdHIgIuS6pOmUme+8miVkIgorCisjfiBtc2dpZCAidHJhY2tza2V3OiAlZCIKKyN+IG1zZ3N0ciAi56OB6YGT6J666Led77yaJWQiCisKKyN+IG1zZ2lkICJjeWxpbmRlcnNrZXc6ICVkIgorI34gbXNnc3RyICLmn7HpnaLonrrot53vvJolZCIKKworI34gbXNnaWQgImhlYWRzd2l0Y2g6ICVsZCAobWlsbGlzZWNvbmRzKSIKKyN+IG1zZ3N0ciAi56OB5aS05YiH5o2i77yaJWxkICjmr6vnp5IpIgorCisjfiBtc2dpZCAidHJhY2stdG8tdHJhY2sgc2VlazogJWxkIChtaWxsaXNlY29uZHMpIgorI34gbXNnc3RyICLot6jno4HpgZPlrprkvY3vvJolbGQgKOavq+enkikiCisKKyN+IG1zZ2lkICJwYXJ0aXRpb25zOiAlZCIKKyN+IG1zZ3N0ciAi5YiG5Yy65pWw77yaJWQiCisKKyN+IG1zZ2lkICJZb3UgY2Fubm90IGNoYW5nZSBhIHBhcnRpdGlvbiBpbnRvIGFuIGV4dGVuZGVkIG9uZSBvciB2aWNlIHZlcnNhLiBEZWxldGUgaXQgZmlyc3QuIgorI34gbXNnc3RyICLmgqjkuI3og73lsIbliIbljLrmm7TmlLnkuLrmianlsZXliIbljLrmiJbku47mianlsZXliIbljLrmlLnlm57jgILor7flhYjliKDpmaTor6XliIbljLrjgIIiCisKKyN+IG1zZ2lkICJJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueSBET1MgNi54IHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGZkaXNrIGRvY3VtZW50YXRpb24gZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICLlpoLmnpzmgqjliJvlu7rmiJbkv67mlLnkuoYgRE9TIDYueCDliIbljLrvvIzor7fmn6XpmIUgY2ZkaXNrIOaJi+WGjOmhtemdouS6huino+WFtuS7luS/oeaBr+OAgiIKKworI34gbXNnaWQgIiIKKyN+ICJMYWJlbCBnZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9yc1xuIgorI34gIiAgICAgICAgICAgICAgICAlbGx1IGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLmoIfnrb7lh6DkvZXlsZ7mgKfvvJogICVkIOS4quejgeWktO+8jCVsbHUg5Liq5omH5Yy6XG4iCisjfiAiICAgICAgICAgICAgICAgICVsbHUg5Liq5p+x6Z2i77yMJWQg5Liq54mp55CG5p+x6Z2iXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIOS4qumineWkluaJh+WMui/mn7HpnaLvvIzkuqTplJkgJWQ6MVxuIgorCisjfiBtc2dpZCAiIgorI34gIkxhYmVsIGdlb21ldHJ5OiAlZCBycG0sICVkIGFsdGVybmF0ZSBhbmQgJWQgcGh5c2ljYWwgY3lsaW5kZXJzLFxuIgorI34gIiAgICAgICAgICAgICAgICAlZCBleHRyYSBzZWN0cy9jeWwsIGludGVybGVhdmUgJWQ6MSIKKyN+IG1zZ3N0ciAiIgorI34gIuagh+etvuS7u+S9leWxnuaAp++8miVkIHJwbSwgJWQg5Liq5aSH55So5p+x6Z2i5ZKMICVkIOS4queJqeeQhuafsemdou+8jFxuIgorI34gIiAgICAgICAgICAgICAgICAlZCDkuKrpop3lpJbmiYfljLov5p+x6Z2i77yM5Lqk6ZSZICVkOjEiCisKKyN+IG1zZ2lkICI8bm9uZT4iCisjfiBtc2dzdHIgIjzml6A+IgorCisjfiBtc2dpZCAiZmllbGQgaXMgdG9vIGxvbmciCisjfiBtc2dzdHIgIuWtl+autei/h+mVvyIKKworI34gbXNnaWQgIiVzOiAnJWMnIGlzIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICIlc++8muS4jeWFgeiuuOKAnCVj4oCdIgorCisjfiBtc2dpZCAiJyVjJyBpcyBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJyVjJyDkuI3lhYHorrjkvb/nlKgiCisKKyN+IG1zZ2lkICIlczogY29udHJvbCBjaGFyYWN0ZXJzIGFyZSBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJXPvvJrkuI3lhYHorrjkvb/nlKjmjqfliLblrZfnrKYiCisKKyN+IG1zZ2lkICJjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICLkuI3lhYHorrjkvb/nlKjmjqfliLblrZfnrKYiCisKKyN+IG1zZ2lkICJ1c2FnZTogbGFzdCBbLSNdIFstZiBmaWxlXSBbLXQgdHR5XSBbLWggaG9zdG5hbWVdIFt1c2VyIC4uLl1cbiIKKyN+IG1zZ3N0ciAi55So5rOV77yabGFzdCBbLSNdIFstZiDmlofku7ZdIFstdCB0dHldIFstaCDkuLvmnLrlkI1dIFvnlKjmiLcgLi4uXVxuIgorCisjfiBtc2dpZCAiJXM6IG1tYXAgZmFpbGVkIgorI34gbXNnc3RyICIlc++8mm1tYXAg5aSx6LSlIgorCisjfiBtc2dpZCAiICBzdGlsbCBsb2dnZWQgaW4iCisjfiBtc2dzdHIgIiAg5LuN54S255m75b2VIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gInd0bXAgYmVnaW5zICVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAid3RtcCDlvIDlp4sgJXMiCisKKyN+IG1zZ2lkICJnZXRob3N0bmFtZSBmYWlsZWQiCisjfiBtc2dzdHIgImdldGhvc3RuYW1lIOWksei0pSIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJpbnRlcnJ1cHRlZCAlMTAuMTBzICU1LjVzIFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi5Lit5pat5LqGICUxMC4xMHMgJTUuNXMgXG4iCisKKyN+IG1zZ2lkICIgLW0sIC0tc3VwcC1ncm91cHMgICAgICAgIGRpc3BsYXkgc3VwcGxlbWVudGFyeSBncm91cHMgYXMgd2VsbFxuIgorI34gbXNnc3RyICIgLW0sIC0tc3VwcC1ncm91cHMgICAgICAgIOS5n+aYvuekuumZhOWxnue7hFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGRldGFpbHMgc2VlIGxzbG9naW5zKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi5pu05aSa57uG6IqC5Y+C6KeBIGxzbG9naW5zKDEp44CCXG4iCisKKyN+IG1zZ2lkICJjcnlwdCgpIGZhaWxlZCIKKyN+IG1zZ3N0ciAiY3J5cHQoKSDlpLHotKUiCisKKyN+IG1zZ2lkICIlczogc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgIiVz77yac3RhdCDlpLHotKUiCisKKyN+IG1zZ2lkICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUaGlzIHNtYWxsIHVzYWdlIGd1aWRlXG4iCisjfiBtc2dzdHIgIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIOi/meS4queugOefreeahOeUqOazleaMh+WNl1xuIgorCisjfiBtc2dpZCAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgT3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKKyN+IG1zZ3N0ciAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg6L6T5Ye654mI5pys5L+h5oGvXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgdXNlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIKKyN+ICIgLWQsIC0tYWxwaGFudW0gICAgICAgICBjb21wYXJlIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcbiIKKyN+ICIgLWYsIC0taWdub3JlLWNhc2UgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorI34gIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+IGRlZmluZSBzdHJpbmcgdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAg5L2/55So5pu/5Luj6K+N5YW4XG4iCisjfiAiIC1kLCAtLWFscGhhbnVtICAgICAgICAg5Y+q5q+U6L6D5a2X5q+N5ZKM5pWw5a2XXG4iCisjfiAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAg5q+U6L6D5pe25b+955Wl5aSn5bCP5YaZXG4iCisjfiAiIC10LCAtLXRlcm1pbmF0ZSA85a2X56ymPiDlrprkuYnlrZfnrKbkuLLnu4jmraLlrZfnrKZcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICDovpPlh7rniYjmnKzkv6Hmga/lubbpgIDlh7pcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICDmmL7npLrmraTluK7liqnlubbpgIDlh7pcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBwcm9jZXNzIGlkXG4iCisjfiAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorI34gIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGRvbid0IHRydW5jYXRlIHRleHQgaW4gY29sdW1uc1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIOi/m+eoi+agh+ivhiBJRFxuIgorI34gIiAtbywgLS1vdXRwdXQgPOWIl+ihqD4gICAg5a6a5LmJ6KaB5L2/55So5ZOq5Lqb6L6T5Ye65YiXXG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAg5LiN5omT5Y2w5qCH6aKYXG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgICAg5L2/55So5Y6f55Sf6L6T5Ye65qC85byPXG4iCisjfiAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAg5LiN5oiq5pat5YiX5Lit55qE5paH5pysXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAg5pi+56S65q2k5biu5Yqp5bm26YCA5Ye6XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAg6L6T5Ye654mI5pys5L+h5oGv5bm26YCA5Ye6XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG5hbWVpKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi5pu05aSa5L+h5oGv5Y+C6KeBIG5hbWVpKDEp44CCXG4iCisKKyN+IG1zZ2lkICIlczogbHN0YXQgZmFpbGVkIgorI34gbXNnc3RyICIlc++8mmxzdGF0IOWksei0pSIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgd2lwZWZzKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi5pu05aSa5L+h5oGv6K+35Y+C6ZiFIHdpcGVmcyg4KeOAglxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlNjaGVkdWxpbmcgcG9saWNpZXM6XG4iCisjfiAiICAtYiB8IC0tYmF0Y2ggICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0JBVENIXG4iCisjfiAiICAtZiB8IC0tZmlmbyAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKKyN+ICIgIC1pIHwgLS1pZGxlICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfSURMRVxuIgorI34gIiAgLW8gfCAtLW90aGVyICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorI34gIiAgLXIgfCAtLXJyICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuiwg+W6puetlueVpe+8mlxuIgorI34gIiAgLWIgfCAtLWJhdGNoICAgICAgICAg6K6+572u5Li6IFNDSEVEX0JBVENIIOetlueVpVxuIgorI34gIiAgLWYgfCAtLWZpZm8gICAgICAgICAg6K6+572u5Li6IFNDSEVEX0ZJRk8g562W55WlXG4iCisjfiAiICAtaSB8IC0taWRsZSAgICAgICAgICDorr7nva7kuLogU0NIRURfSURMRSDnrZbnlaVcbiIKKyN+ICIgIC1vIHwgLS1vdGhlciAgICAgICAgIOiuvue9ruS4uiBTQ0hFRF9PVEhFUiDnrZbnlaVcbiIKKyN+ICIgIC1yIHwgLS1yciAgICAgICAgICAgIOiuvue9ruS4uiBTQ0hFRF9SUiDnrZbnlaUo6buY6K6kKVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiICAtYSB8IC0tYWxsLXRhc2tzICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorI34gIiAgLWggfCAtLWhlbHAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHBcbiIKKyN+ICIgIC1tIHwgLS1tYXggICAgICAgICAgIHNob3cgbWluIGFuZCBtYXggdmFsaWQgcHJpb3JpdGllc1xuIgorI34gIiAgLXAgfCAtLXBpZCAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKKyN+ICIgIC12IHwgLS12ZXJib3NlICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCisjfiAiICAtViB8IC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvblxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6YCJ6aG577yaXG4iCisjfiAiICAtYSB8IC0tYWxsLXRhc2tzICAgICDlnKjnu5nlrpogcGlkIOeahOaJgOacieS7u+WKoSjnur/nqIsp5LiK5pON5L2cXG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgICDmmL7npLrmraTluK7liqlcbiIKKyN+ICIgIC1tIHwgLS1tYXggICAgICAgICAgIOaYvuekuuacgOWwj+WSjOacgOWkp+acieaViOS8mOWFiOe6p1xuIgorI34gIiAgLXAgfCAtLXBpZCAgICAgICAgICAg5Zyo5a2Y5Zyo55qE5oyH5a6aIHBpZCDkuIrmk43kvZxcbiIKKyN+ICIgIC12IHwgLS12ZXJib3NlICAgICAgIOaYvuekuueKtuaAgeS/oeaBr1xuIgorI34gIiAgLVYgfCAtLXZlcnNpb24gICAgICAg6L6T5Ye654mI5pys5L+h5oGvXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHRhc2tzZXQoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLmm7TlpJrkv6Hmga/or7flj4LpmIUgdGFza3NldCgxKeOAglxuIgorCisjfiBtc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLW1hbnVhbGVqZWN0Ly1pIG9wdGlvbiIKKyN+IG1zZ3N0ciAiLS1tYW51YWxlamVjdC8taSDpgInpobnnmoTlj4LmlbDml6DmlYgiCisKKyN+IG1zZ2lkICIlczogaXMgcmVtb3ZhYmxlIGRldmljZSIKKyN+IG1zZ3N0ciAiJXMg5LiN5piv5Y+v56e75Yqo6K6+5aSHIgorCisjfiBtc2dpZCAiJXM6IGNvbm5lY3RlZCBieSBob3RwbHVnIHN1YnN5c3RlbTogJXMiCisjfiBtc2dzdHIgIiVz77ya5bey6YCa6L+H54Ot5o+S5ouU5a2Q57O757uf6L+e5o6l77yaJXMiCisKKyN+IG1zZ2lkICJ0aW1lb3V0IGNhbm5vdCBiZSB6ZXJvIgorI34gbXNnc3RyICLotoXml7bkuI3og73kuLrpm7YiCisKKyN+IG1zZ2lkICJOZWVkIHRvIGluc2VydCAlZCBzZWNvbmQgYW5kIHJlZmVyIHRpbWUgYmFjayAlLjZmIHNlY29uZHMgYWdvXG4iCisjfiBtc2dpZF9wbHVyYWwgIk5lZWQgdG8gaW5zZXJ0ICVkIHNlY29uZHMgYW5kIHJlZmVyIHRpbWUgYmFjayAlLjZmIHNlY29uZHMgYWdvXG4iCisjfiBtc2dzdHJbMF0gIumcgOimgeaPkuWFpSAlZCDnp5LlubblsIbml7bpl7TlvoDlm57mjIcgJS42ZiDnp5JcbiIKKworI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIGNoYW5nZSB0aGUgU3lzdGVtIENsb2NrLiIKKyN+IG1zZ3N0ciAi5oqx5q2J77yM5Y+q5pyJ6LaF57qn55So5oi35omN6IO96K6+572u57O757uf5pe26ZKf44CCIgorCisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gY2hhbmdlIHRoZSBIYXJkd2FyZSBDbG9jayBlcG9jaCBpbiB0aGUga2VybmVsLiIKKyN+IG1zZ3N0ciAi5oqx5q2J77yM5Y+q5pyJ6LaF57qn55So5oi35omN6IO95pu05pS55YaF5qC45Lit55qE56Gs5Lu25pe26ZKf57qq5YWDKGVwb2NoKeOAgiIKKworI34gbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tIEtER0hXQ0xLIHRvIGNoYW5nZVxuIgorI34gbXNnc3RyICLmraPlnKjlvqrnjq/nrYnlvoXmnaXoh6ogS0RHSFdDTEsg55qE5pe26Ze05pu05pS5XG4iCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCB0byByZWFkIHRpbWUgZmFpbGVkIgorI34gbXNnc3RyICLnlKjmnaXor7vlj5bml7bpl7TnmoQgS0RHSFdDTEsgaW9jdGwg5aSx6LSlIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgdG8gcmVhZCB0aW1lIGZhaWxlZCBpbiBsb29wIgorI34gbXNnc3RyICLlnKjlvqrnjq/kuK3nlKjmnaXor7vlj5bml7bpl7TnmoQgS0RHSFdDTEsgaW9jdGwg5aSx6LSlIgorCisjfiBtc2dpZCAiaW9jdGwoKSBmYWlsZWQgdG8gcmVhZCB0aW1lIGZyb20gJXMiCisjfiBtc2dzdHIgImlvY3RsKCkg5LuOICVzIOivu+WPluaXtumXtOWksei0pSIKKworI34gbXNnaWQgImlvY3RsIEtEU0hXQ0xLIGZhaWxlZCIKKyN+IG1zZ3N0ciAiaW9jdGwgS0RTSFdDTEsg5aSx6LSlIgorCisjfiBtc2dpZCAiVXNpbmcgdGhlIEtER0hXQ0xLIGludGVyZmFjZSB0byBtNjhrIGNsb2NrLiIKKyN+IG1zZ3N0ciAi5bCG5a+5IG02OGsg5pe26ZKf5L2/55SoIEtER0hXQ0xLIOaOpeWPo+OAgiIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gL2Rldi90dHkxIG9yIC9kZXYvdmMvMSIKKyN+IG1zZ3N0ciAi5omT5LiN5byAIC9kZXYvdHR5MSDmiJYgL2Rldi92Yy8xIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgZmFpbGVkIgorI34gbXNnc3RyICJLREdIV0NMSyBpb2N0bCDlpLHotKUiCisKKyN+IG1zZ2lkICJyZWFkKCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCisjfiBtc2dzdHIgIuWvuSAlcyByZWFkKCkg5Lul562J5b6F5pe26ZKf5ZiA5ZeS5aSx6LSlIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGRldGFpbHMgc2VlIGxzY3B1KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi5pu05aSa5L+h5oGv6K+35Y+C6ZiFIGxzY3B1KDEp44CCXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+ICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgbW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKKyN+ICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgbGlzdHMgYWxsIG1vdW50cyB3aXRoIExBQkVMc1xuIgorI34gIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICDmmL7npLrmraTluK7liqnlubbpgIDlh7pcbiIKKyN+ICIgLWksIC0taW50ZXJuYWwtb25seSAgICAg5LiN6LCD55SoIG1vdW50Ljznsbvlnos+IOWKqeaJi+eoi+W6j1xuIgorI34gIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICDliJflh7rmiYDmnInluKbmnInmjIflrprmoIfnrb7nmoTmjILovb1cbiIKKyN+ICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAg5LiN5YaZIC9ldGMvbXRhYlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBzYXkgd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlIChkZWZhdWx0KVxuIgorI34gbXNnc3RyICIiCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIOaJk+WNsOW9k+WJjei/m+ihjOeahOaTjeS9nFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICDmmL7npLrniYjmnKzkv6Hmga/lubbpgIDlh7pcbiIKKyN+ICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAg5Lul6K+75YaZ5pa55byP5oyC6L295paH5Lu257O757ufKOm7mOiupClcbiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFthcmdzLi4uXVxuIgorI34gbXNnc3RyICIgJXMgW+mAiemhuV0gPOeoi+W6jz4gW+WPguaVsC4uLl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWcsIC0tcGdycCA8aWQ+ICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBncm91cCBJRFxuIgorI34gIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIHNwZWNpZnkgdGhlIG5pY2UgaW5jcmVtZW50IHZhbHVlXG4iCisjfiAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgSUQgKGRlZmF1bHQpXG4iCisjfiAiIC11LCAtLXVzZXIgPG5hbWV8aWQ+ICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHVzZXJuYW1lIG9yIHVzZXIgSURcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAg5bCG5Y+C5pWw6Kej6YeK5Li66L+b56iL57uEIElEXG4iCisjfiAiIC1uLCAtLXByaW9yaXR5IDzmlbDlrZc+ICDmjIflrpogbmljZSDlop7liqDlgLxcbiIKKyN+ICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICDlsIblj4LmlbDop6Pph4rkuLrov5vnqIsgSUQgKOm7mOiupClcbiIKKyN+ICIgLXUsIC0tdXNlciA85ZCN5a2XfGlkPiAgIOWwhuWPguaVsOino+mHiuS4uueUqOaIt+WQjeaIlueUqOaItyBJRFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIOaYvuekuuW4ruWKqeaWh+acrOW5tumAgOWHulxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIOaYvuekuueJiOacrOS/oeaBr+W5tumAgOWHulxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSByZW5pY2UoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLmm7TlpJrkv6Hmga/or7flj4LpmIUgcmVuaWNlKDEp44CCXG4iCisKKyN+IG1zZ2lkICJzZXQgcnRjIGFsYXJtIGZhaWxlZCIKKyN+IG1zZ3N0ciAi6K6+572uIHJ0YyDpl7npkp/lpLHotKUiCisKKyN+IG1zZ2lkICJlbmFibGUgcnRjIGFsYXJtIGZhaWxlZCIKKyN+IG1zZ3N0ciAi5ZCv55SoIHJ0YyDpl7npkp/lpLHotKUiCisKKyN+IG1zZ2lkICJzdXNwZW5kIHRvIFwiJXNcIiB1bmF2YWlsYWJsZSIKKyN+IG1zZ3N0ciAi5oyC6LW35Yiw4oCcJXPigJ3kuI3lj6/nlKgiCisKKyN+IG1zZ2lkICIgJXMlcyBbb3B0aW9uc10gW3Byb2dyYW0gW3Byb2dyYW0gYXJndW1lbnRzXV1cbiIKKyN+IG1zZ3N0ciAiICVzJXMgW+mAiemhuV0gW+eoi+W6jyBb56iL5bqP5Y+C5pWwXV1cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorI34gIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgc2lsZW50bHkgc2tpcCBkZXZpY2VzIHRoYXQgZG8gbm90IGV4aXN0XG4iCisjfiAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICByZWluaXRpYWxpemUgdGhlIHN3YXAgc3BhY2UgaWYgbmVjZXNzYXJ5XG4iCisjfiAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBzcGVjaWZ5IHRoZSBwcmlvcml0eSBvZiB0aGUgc3dhcCBkZXZpY2VcbiIKKyN+ICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIGRpc3BsYXkgc3VtbWFyeSBhYm91dCB1c2VkIHN3YXAgZGV2aWNlcyAoREVQUkVDQVRFRClcbiIKKyN+ICIgICAgIC0tc2hvd1s9PGNvbHVtbnM+XSAgIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKKyN+ICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzLCB1c2Ugd2l0aCAtLXNob3dcbiIKKyN+ICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQsIHVzZSB3aXRoIC0tc2hvd1xuIgorI34gIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHNpemUgaW4gYnl0ZXMgaW4gLS1zaG93IG91dHB1dFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICDlkK/nlKggL2V0Yy9mc3RhYiDkuK3nmoTmiYDmnInkuqTmjaLljLpcbiIKKyN+ICIgLWIsIC0tZGlzY2FyZFs9POetlueVpT5dIOWQr+eUqOS6pOaNouS4ouW8g++8jOWmguaenOiuvuWkh+aUr+aMgVxuIgorI34gIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgIOebtOaOpei3s+i/h+S4jeWtmOWcqOeahOiuvuWkh1xuIgorI34gIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgIOmcgOimgeaXtumHjeaWsOWIneWni+WMluS6pOaNouepuumXtFxuIgorI34gIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gIOaMh+WumuS6pOaNouiuvuWkh+eahOS8mOWFiOe6p+S4uiA8cHJpbz5cbiIKKyN+ICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICDmmL7npLrlt7Lkvb/nlKjkuqTmjaLorr7lpIfnmoTmkZjopoEo5bey5bqf5byDKVxuIgorI34gIiAgICAgLS1zaG93Wz085YiXPl0gICAgICDmmL7npLrlj6/kuqTmjaLooajmoLznmoTmkZjopoFcbiIKKyN+ICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICDkuI3miZPljbDmoIfpopjvvIzkuI4gLS1zaG93IOS4gOi1t+S9v+eUqFxuIgorI34gIiAgICAgLS1yYXcgICAgICAgICAgICAgIOS9v+eUqOWOn+eUn+i+k+WHuuagvOW8j++8jOS4jiAtLXNob3cg5LiA6LW35L2/55SoXG4iCisjfiAiICAgICAtLWJ5dGVzICAgICAgICAgICAg5ZyoIC0tc2hvdyDpgInpobnovpPlh7rkuK3ku6XlrZfoioLmmL7npLrkuqTmjaLljLrlpKflsI9cbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICDor6blsL3mqKHlvI9cbiIKKworI34gbXNnaWQgImJhZCB2YWx1ZSIKKyN+IG1zZ3N0ciAi6ZSZ6K+v5YC8IgorCisjfiBtc2dpZCAiIC1tLCAtLW1vdW50ICAgICAgICAgICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtbSwgLS1tb3VudCAgICAgICAgICAgICAgIOWPlua2iOWFseS6q+aMgui9veWQjeWtl+epuumXtFxuIgorCisjfiBtc2dpZCAiIC11LCAtLXV0cyAgICAgICAgICAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCisjfiBtc2dzdHIgIiAtdSwgLS11dHMgICAgICAgICAgICAgICAgIOWPlua2iOWFseS6qyBVVFMg5ZCN5a2X56m66Ze0KOS4u+acuuWQjeetiSlcbiIKKworI34gbXNnaWQgIiAtaSwgLS1pcGMgICAgICAgICAgICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgLWksIC0taXBjICAgICAgICAgICAgICAgICDlj5bmtojlhbHkuqsgU3lzdGVtIFYgSVBDIOWQjeWtl+epuumXtFxuIgorCisjfiBtc2dpZCAiIC1uLCAtLW5ldCAgICAgICAgICAgICAgICAgdW5zaGFyZSBuZXR3b3JrIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgLW4sIC0tbmV0ICAgICAgICAgICAgICAgICDlj5bmtojlhbHkuqvnvZHnu5zlkI3lrZfnqbrpl7RcbiIKKworI34gbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICAgICAgIHVuc2hhcmUgcGlkIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAgICAgICAgICDlj5bmtojlhbHkuqsgcGlkIOWQjeWtl+epuumXtFxuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW46ICVzOiAlbSIKKyN+IG1zZ3N0ciAi5peg5rOV5omT5byAICVz77yaJW0iCisKKyN+IG1zZ2lkICJmcmVhZCBmYWlsZWQiCisjfiBtc2dzdHIgImZyZWFkIOWksei0pSIKKworI34gbXNnaWQgIiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICDovpPlh7rniYjmnKzkv6Hmga/lubbpgIDlh7pcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICDmmL7npLrmraTluK7liqnlubbpgIDlh7pcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIueUqOazle+8mlxuIgorI34gIiAlcyBb6YCJ6aG5XSBb5paH5Lu2IC4uLl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgIHN1cHByZXNzIGFsbCB1bmRlcmxpbmluZ1xuIgorI34gIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgcHJpbnQgYWxsIGhhbGYtbGluZXNcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC0sICAtLW5vLXVuZGVybGluaW5nICDmipHliLbmiYDmnInkuIvliJLnur9cbiIKKyN+ICIgLTIsIC0taGFsZi1saW5lcyAgICAgIOaJk+WNsOaJgOacieWNiue6vyhoYWxmLWxpbmUpXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICDovpPlh7rniYjmnKzkv6Hmga/lubbpgIDlh7pcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgIOaYvuekuuatpOW4ruWKqeW5tumAgOWHulxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIumAiemhue+8mlxuIgorI34gIiAtViwgLS12ZXJzaW9uICAg6L6T5Ye654mI5pys5L+h5oGv5bm26YCA5Ye6XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICDmmL7npLrmraTluK7liqnlubbpgIDlh7pcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImNhbGxpbmcgaGV4ZHVtcCBhcyBvZCBoYXMgYmVlbiBkZXByZWNhdGVkIGluIGZhdm9yIG9mIEdOVSBjb3JldXRpbHMgb2QiCisjfiBtc2dzdHIgIuWwhiBoZXhkdW1wIOS9nOS4uiBvZCDosIPnlKjnmoTmlrnlvI/lt7Llup/lvIPvvIzor7fovaznlKggR05VIGNvcmV1dGlscyDnmoQgb2QiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6YCJ6aG577yaXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICDovpPlh7rniYjmnKzkv6Hmga/lubbpgIDlh7pcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgIOaYvuekuuatpOW4ruWKqeW5tumAgOWHulxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSByZXYoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLmm7TlpJrkv6Hmga/or7flj4LpmIUgcmV2KDEp44CCXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25dIGZpbGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIueUqOazle+8mlxuIgorI34gIiAlcyBb6YCJ6aG5XSDmlofku7ZcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtbiwgLS1saW5lcyBOVU1CRVIgIG91dHB1dCB0aGUgbGFzdCBOVU1CRVIgbGluZXNcbiIKKyN+ICIgLU5VTUJFUiAgICAgICAgICAgICBzYW1lIGFzIGAtbiBOVU1CRVInXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6YCJ6aG577yaXG4iCisjfiAiIC1uLCAtLWxpbmVzIE5VTUJFUiAg6L6T5Ye65pyA5ZCOIE5VTUJFUiDooYxcbiIKKyN+ICIgLU5VTUJFUiAgICAgICAgICAgICDlkIzigJwtbiBOVU1CRVLigJ1cbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICDovpPlh7rniYjmnKzkv6Hmga/lubbpgIDlh7pcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICDmmL7npLrmraTluK7liqnlubbpgIDlh7pcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZmlsZVxuIgorI34gbXNnc3RyICIgJXMgW+mAiemhuV0g5paH5Lu2XG4iCisKKyN+IG1zZ2lkICJhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiIKKyN+IG1zZ3N0ciAi55u45LqS5o6S5pal44CCIgorCisjfiBtc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMuIgorI34gbXNnc3RyICLlj6rog73mm7TmlLnmnKzlnLDorrDlvZXjgIIiCisKKyN+IG1zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZSBzdGFtcCB1c2luZyBmb3JtYXQ6XG4iCisjfiBtc2dzdHIgIiAgICAgLS10aW1lLWZvcm1hdCA85qC85byPPiAgICDku6XmjIflrprmoLzlvI/mmL7npLrml7bpl7TmiLPvvJpcbiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm90aW1lfHNob3J0fGZ1bGx8aXNvXVxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vdGltZXxzaG9ydHxmdWxsfGlzb11cbiIKKworI34gbXNnaWQgIkNPTU1BTkQgbm90IHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIuayoeacieaMh+WumuWRveS7pCIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gcGF0aG5hbWUgW3BhdGhuYW1lIC4uLl1cbiIKKyN+IG1zZ3N0ciAiICVzIFvpgInpobldIOi3r+W+hOWQjSBb6Lev5b6E5ZCNIC4uLl1cbiIKKworI34gbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIuacquaMh+WumuaWh+S7tuWQjeOAgiIKKworI34gbXNnaWQgIi4uLmJhY2sgMSBwYWdlIgorI34gbXNnc3RyICIuLi7lkI7pgIAgMSDpobUiCisKKyN+IG1zZ2lkICIuLi5za2lwcGluZyBvbmUgbGluZSIKKyN+IG1zZ3N0ciAiLi4u6Lez6L+H5LiA6KGMIgorCisjfiBtc2dpZCAid2FpZHBpZCBmYWlsZWQiCisjfiBtc2dzdHIgIndhaWRwaWQg5aSx6LSlIgorCisjfiBtc2dpZCAiIC14LCAtLWRlc3RpbmF0aW9uIDxkaXI+ICBleHRyYWN0IGludG8gZGlyZWN0b3J5XG4iCisjfiBtc2dzdHIgIiAteCwgLS1kZXN0aW5hdGlvbiA855uu5b2VPiDmj5Dlj5bliLDnm67lvZVcbiIKKworI34gbXNnaWQgImNvbXBpbGVkIHdpdGhvdXQgLXggc3VwcG9ydCIKKyN+IG1zZ3N0ciAi57yW6K+R5pe25pyq5bim5pyJIC14IOaUr+aMgSIKKworI34gbXNnaWQgIiVzOiBPdXQgb2YgbWVtb3J5IVxuIgorI34gbXNnc3RyICIlc++8muWGheWtmOS4jei2s++8gVxuIgorCisjfiBtc2dpZCAiVW51c2FibGUiCisjfiBtc2dzdHIgIuS4jeWPr+eUqCIKKworI34gbXNnaWQgIndyaXRlIGZhaWxlZFxuIgorI34gbXNnc3RyICLlhpnlpLHotKVcbiIKKworI34gbXNnaWQgIkRpc2sgaGFzIGJlZW4gY2hhbmdlZC5cbiIKKyN+IG1zZ3N0ciAi56OB55uY5bey57uP5pu05pS544CCXG4iCisKKyN+IG1zZ2lkICJSZWJvb3QgdGhlIHN5c3RlbSB0byBlbnN1cmUgdGhlIHBhcnRpdGlvbiB0YWJsZSBpcyBjb3JyZWN0bHkgdXBkYXRlZC5cbiIKKyN+IG1zZ3N0ciAi6K+36YeN5ZCv57O757uf5p2l56Gu5L+d5YiG5Yy66KGo5q2j56Gu5pu05paw44CCXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnlcbiIKKyN+ICJET1MgNi54IHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGNmZGlzayBtYW51YWxcbiIKKyN+ICJwYWdlIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6K2m5ZGK77ya5aaC5p6c5oKo5Yib5bu65oiW5L+u5pS55LqGIERPUyA2Lngg5YiG5Yy677yM6K+3XG4iCisjfiAi5p+l6ZiFIGNmZGlzayDmiYvlhozpobXpnaLkuobop6Plhbbku5bkv6Hmga/jgIJcbiIKKworI34gbXNnaWQgIkZBVEFMIEVSUk9SIgorI34gbXNnc3RyICLoh7Tkvb/plJnor68iCisKKyN+IG1zZ2lkICJQcmVzcyBhbnkga2V5IHRvIGV4aXQgY2ZkaXNrIgorI34gbXNnc3RyICLmjInku7vmhI/plK7pgIDlh7ogY2ZkaXNrIgorCisjfiBtc2dpZCAiQ2Fubm90IHNlZWsgb24gZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAi5Zyo56OB55uY6K6+5aSH5LiK5peg5rOV5a6a5L2NIgorCisjfiBtc2dpZCAiQ2Fubm90IHJlYWQgZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAi5peg5rOV6K+756OB55uY6amx5Yqo5ZmoIgorCisjfiBtc2dpZCAiQ2Fubm90IHdyaXRlIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIuaXoOazleWGmeejgeebmOmpseWKqOWZqCIKKworI34gbXNnaWQgIlRvbyBtYW55IHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIuWIhuWMuui/h+WkmiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBiZWdpbnMgYmVmb3JlIHNlY3RvciAwIgorI34gbXNnc3RyICLliIbljLrotbflp4vkuo7miYfljLogMCDkuYvliY0iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIuWIhuWMuue7iOatouS6juaJh+WMuiAwIOS5i+WJjSIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBiZWdpbnMgYWZ0ZXIgZW5kLW9mLWRpc2siCisjfiBtc2dzdHIgIuWIhuWMuui1t+Wni+S6juejgeebmOe7iOeCueS5i+WQjiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICLliIbljLrnu4jmraLkuo7no4Hnm5jnu4jngrnkuYvlkI4iCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgbm90IGluIGRpc2sgb3JkZXIiCisjfiBtc2dzdHIgIumAu+i+keWIhuWMuuayoeacieaMieejgeebmOmhuuW6jyIKKworI34gbXNnaWQgImxvZ2ljYWwgcGFydGl0aW9ucyBvdmVybGFwIgorI34gbXNnc3RyICLpgLvovpHliIbljLrph43lj6AiCisKKyN+IG1zZ2lkICJlbmxhcmdlZCBsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAi5omp5aSn55qEKGVubGFyZ2VkKemAu+i+keWIhuWMuumHjeWPoCIKKworI34gbXNnaWQgIiEhISEgSW50ZXJuYWwgZXJyb3IgY3JlYXRpbmcgbG9naWNhbCBkcml2ZSB3aXRoIG5vIGV4dGVuZGVkIHBhcnRpdGlvbiAhISEhIgorI34gbXNnc3RyICIhISEg5YaF6YOo6ZSZ6K+v77yM5Zyo5rKh5pyJ5omp5bGV5YiG5Yy655qE5oOF5Ya15LiL5Yib5bu66YC76L6R5YiG5Yy6ICEhISIKKworI34gbXNnaWQgIkNhbm5vdCBjcmVhdGUgbG9naWNhbCBkcml2ZSBoZXJlIC0tIHdvdWxkIGNyZWF0ZSB0d28gZXh0ZW5kZWQgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAi5peg5rOV5Zyo5q2k5Yib5bu66YC76L6R5YiG5Yy6IC0tIOWwhuWIm+W7uuS4pOS4quaJqeWxleWIhuWMuiIKKworI34gbXNnaWQgIk1lbnUgaXRlbSB0b28gbG9uZy4gTWVudSBtYXkgbG9vayBvZGQuIgorI34gbXNnc3RyICLoj5zljZXpobnov4fplb/jgILoj5zljZXlj6/og73mmL7npLrlvILluLjjgIIiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGtleSIKKyN+IG1zZ3N0ciAi6Z2e5rOV55qE6ZSuIgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICLliJvlu7rmlrDnmoTkuLvliIbljLoiCisKKyN+IG1zZ2lkICJDcmVhdGUgYSBuZXcgbG9naWNhbCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIuWIm+W7uuaWsOeahOmAu+i+keWIhuWMuiIKKworI34gbXNnaWQgIkNhbmNlbCIKKyN+IG1zZ3N0ciAi5Y+W5raIIgorCisjfiBtc2dpZCAiRG9uJ3QgY3JlYXRlIGEgcGFydGl0aW9uIgorI34gbXNnc3RyICLkuI3liJvlu7rliIbljLoiCisKKyN+IG1zZ2lkICIhISEgSW50ZXJuYWwgZXJyb3IgISEhIgorI34gbXNnc3RyICIhISEg5YaF6YOo6ZSZ6K+vICEhISIKKworI34gbXNnaWQgIlNpemUgKGluIE1CKTogIgorI34gbXNnc3RyICLlpKflsI8oTUIp77yaIgorCisjfiBtc2dpZCAiQmVnaW5uaW5nIgorI34gbXNnc3RyICLlvIDlpLQiCisKKyN+IG1zZ2lkICJBZGQgcGFydGl0aW9uIGF0IGJlZ2lubmluZyBvZiBmcmVlIHNwYWNlIgorI34gbXNnc3RyICLlnKjliankvZnnqbrpl7TnmoTlvIDlpLTmt7vliqDliIbljLoiCisKKyN+IG1zZ2lkICJBZGQgcGFydGl0aW9uIGF0IGVuZCBvZiBmcmVlIHNwYWNlIgorI34gbXNnc3RyICLlnKjliankvZnnqbrpl7TnmoTmnKvlsL7mt7vliqDliIbljLoiCisKKyN+IG1zZ2lkICJObyByb29tIHRvIGNyZWF0ZSB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICLmsqHmnInnqbrpl7TmnaXliJvlu7rmianlsZXliIbljLoiCisKKyN+IG1zZ2lkICJObyBwYXJ0aXRpb24gdGFibGUuXG4iCisjfiBtc2dzdHIgIuaXoOWIhuWMuuihqOOAglxuIgorCisjfiBtc2dpZCAiTm8gcGFydGl0aW9uIHRhYmxlLiBTdGFydGluZyB3aXRoIHplcm8gdGFibGUuIgorI34gbXNnc3RyICLml6DliIbljLrooajjgILlsIbku6XnqbrooajlkK/liqjjgIIiCisKKyN+IG1zZ2lkICJCYWQgc2lnbmF0dXJlIG9uIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAi5YiG5Yy66KGo562+5ZCN5pyJ6K+vIgorCisjfiBtc2dpZCAiVW5rbm93biBwYXJ0aXRpb24gdGFibGUgdHlwZSIKKyN+IG1zZ3N0ciAi5pyq55+l55qE5YiG5Yy66KGo57G75Z6LIgorCisjfiBtc2dpZCAiRG8geW91IHdpc2ggdG8gc3RhcnQgd2l0aCBhIHplcm8gdGFibGUgW3kvTl0gPyIKKyN+IG1zZ3N0ciAi5oKo5oOz5Lul56m66KGo5byA5aeL5ZCXW3kvTl3vvJ8iCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiBkaXNrIGRyaXZlIgorI34gbXNnc3RyICLml6Dms5XmiZPlvIDno4Hnm5jpqbHliqjlmagiCisKKyN+IG1zZ2lkICJPcGVuZWQgZGlzayByZWFkLW9ubHkgLSB5b3UgaGF2ZSBubyBwZXJtaXNzaW9uIHRvIHdyaXRlIgorI34gbXNnc3RyICLlt7LnlKjlj6ror7vmlrnlvI/miZPlvIDno4Hnm5ggLSDmgqjmsqHmnInlhpnmnYPpmZAiCisKKyN+IG1zZ2lkICJDYW5ub3QgZ2V0IGRpc2sgc2l6ZSIKKyN+IG1zZ3N0ciAi5peg5rOV6I635b6X56OB55uY5aSn5bCPIgorCisjfiBtc2dpZCAiQmFkIHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICLkuLvliIbljLrmjZ/lnY8iCisKKyN+IG1zZ2lkICJXYXJuaW5nISEgIFRoaXMgbWF5IGRlc3Ryb3kgZGF0YSBvbiB5b3VyIGRpc2shIgorI34gbXNnc3RyICLorablkYrvvIHov5nlj6/og73mr4HlnY/mgqjno4Hnm5jkuIrnmoTmlbDmja7vvIEiCisKKyN+IG1zZ2lkICJQbGVhc2UgZW50ZXIgYHllcycgb3IgYG5vJyIKKyN+IG1zZ3N0ciAi6K+36L6T5YWl4oCc5piv4oCd5oiW4oCc5ZCm4oCdIgorCisjfiBtc2dpZCAiV3JpdGluZyBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4uLiIKKyN+IG1zZ3N0ciAi5q2j5Zyo5bCG5YiG5Yy66KGo5YaZ5YWl56OB55uYLi4uIgorCisjfiBtc2dpZCAiV3JvdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2siCisjfiBtc2dzdHIgIuW3suWwhuWIhuWMuuihqOWGmeWFpeejgeebmCIKKworI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSwgYnV0IHJlLXJlYWQgdGFibGUgZmFpbGVkLiAgUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB0byB1cGRhdGUgdGFibGUuIgorI34gbXNnc3RyICLlt7LlhpnlhaXliIbljLrooajvvIzkvYbph43mlrDor7vliIbljLrooajlpLHotKXjgILor7fov5DooYwgcGFydHByb2JlKDgp44CBa3BhcnR4KDgpIOaIlumHjeWQr+adpeabtOaWsOWIhuWMuuihqOOAgiIKKworI34gbXNnaWQgIk5vIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgbWFya2VkIGJvb3RhYmxlLiBET1MgTUJSIGNhbm5vdCBib290IHRoaXMuIgorI34gbXNnc3RyICLmsqHmnInmoIforrDkuLog5Y+v5ZCv5YqoIOeahOS4u+WIhuWMuuOAgkRPUyBNQlIg5peg5rOV5ZCv5Yqo5a6D44CCIgorCisjfiBtc2dpZCAiTW9yZSB0aGFuIG9uZSBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUuIERPUyBNQlIgY2Fubm90IGJvb3QgdGhpcy4iCisjfiBtc2dzdHIgIui2hei/h+S4gOS4quS4u+WIhuWMuuiiq+agh+iusOS4uiDlj6/lkK/liqjjgIJET1MgTUJSIOaXoOazleWQr+WKqOWug+OAgiIKKworI34gbXNnaWQgIkVudGVyIGZpbGVuYW1lIG9yIHByZXNzIFJFVFVSTiB0byBkaXNwbGF5IG9uIHNjcmVlbjogIgorI34gbXNnc3RyICLovpPlhaXmlofku7blkI3miJbmjIkg5Zue6L2mIOadpeaYvuekuuWcqOWxj+W5leS4iu+8miIKKworI34gbXNnaWQgIkRpc2sgRHJpdmU6ICVzXG4iCisjfiBtc2dzdHIgIuejgeebmOmpseWKqOWZqO+8miVzXG4iCisKKyN+IG1zZ2lkICJTZWN0b3IgMDpcbiIKKyN+IG1zZ3N0ciAi5omH5Yy6IDDvvJpcbiIKKworI34gbXNnaWQgIlNlY3RvciAlZDpcbiIKKyN+IG1zZ3N0ciAi5omH5Yy6ICVk77yaXG4iCisKKyN+IG1zZ2lkICIgICBOb25lICAgIgorI34gbXNnc3RyICIgICDml6AgICAiCisKKyN+IG1zZ2lkICIgICBQcmkvTG9nIgorI34gbXNnc3RyICIgICDkuLsv6YC76L6RIgorCisjfiBtc2dpZCAiICAgUHJpbWFyeSIKKyN+IG1zZ3N0ciAiICAg5Li75YiG5Yy6IgorCisjfiBtc2dpZCAiICAgTG9naWNhbCIKKyN+IG1zZ3N0ciAiICAg6YC76L6R5YiG5Yy6IgorCisjfiBtc2dpZCAiKCUwMlgpIgorI34gbXNnc3RyICIoJTAyWCkiCisKKyN+IG1zZ2lkICJOb25lIgorI34gbXNnc3RyICLml6AiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gVGFibGUgZm9yICVzXG4iCisjfiBtc2dzdHIgIiVzIOWIhuWMuuihqFxuIgorCisjIOS7peS4i+S4ieadoeaJk+WNsOihqOagvOeahOagh+mimOihjO+8jOazqOaEj+Wvuem9kAorI34gbXNnaWQgIiAgICAgICAgICAgICAgIEZpcnN0ICAgICAgIExhc3RcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAg6LW35aeLICAgICAgICDnu4jmraJcbiIKKworI34gbXNnaWQgIiAjIFR5cGUgICAgICAgU2VjdG9yICAgICAgU2VjdG9yICAgT2Zmc2V0ICAgIExlbmd0aCAgIEZpbGVzeXN0ZW0gVHlwZSAoSUQpIEZsYWdcbiIKKyN+IG1zZ3N0ciAiICMg57G75Z6LICAgICAgIOaJh+WMuiAgICAgICAg5omH5Yy6ICAgICDlgY/np7sgICAgICDplb/luqYgICAgIOaWh+S7tuezu+e7n+exu+WeiyAoSUQpICAgIOagh+W/l1xuIgorCisjfiBtc2dpZCAiLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLVxuIgorI34gbXNnc3RyICItLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tXG4iCisKKyMg5Lul5LiL5LiJ5p2h5omT5Y2w6KGo5qC855qE5qCH6aKY6KGM77yM5rOo5oSP5a+56b2QCisjfiBtc2dpZCAiICAgICAgICAgLS0tU3RhcnRpbmctLS0tICAgICAgLS0tLUVuZGluZy0tLS0tICAgIFN0YXJ0ICAgICBOdW1iZXIgb2ZcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgLS0tLS3lvIDlp4stLS0tLS0gICAgICAtLS0tLee7k+adny0tLS0tLSAgICDotbfngrkgICAgICDmiYfljLpcbiIKKworI34gbXNnaWQgIiAjIEZsYWdzIEhlYWQgU2VjdCAgQ3lsICAgSUQgIEhlYWQgU2VjdCAgQ3lsICAgICBTZWN0b3IgICAgU2VjdG9yc1xuIgorI34gbXNnc3RyICIgIyDmoIflv5cgIOejgeWktCDmiYfljLogIOafsemdoiAgSUQgIOejgeWktCDmiYfljLogIOafsemdoiAgICDmiYfljLogICAgICDmlbDph49cbiIKKworI34gbXNnaWQgIi0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLVxuIgorI34gbXNnc3RyICItLSAtLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS1cbiIKKworI34gbXNnaWQgIlJhdyIKKyN+IG1zZ3N0ciAi5Y6f55SfIgorCisjfiBtc2dpZCAiUHJpbnQgdGhlIHRhYmxlIHVzaW5nIHJhdyBkYXRhIGZvcm1hdCIKKyN+IG1zZ3N0ciAi5Lul5Y6f55Sf5pWw5o2u5qC85byP5omT5Y2w6K+l6KGoIgorCisjfiBtc2dpZCAiUHJpbnQgdGhlIHRhYmxlIG9yZGVyZWQgYnkgc2VjdG9ycyIKKyN+IG1zZ3N0ciAi5oyJ5omH5Yy66aG65bqP5omT5Y2w6KGoIgorCisjfiBtc2dpZCAiVGFibGUiCisjfiBtc2dzdHIgIuihqCIKKworI34gbXNnaWQgIkp1c3QgcHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAi55u05o6l5omT5Y2w5YiG5Yy66KGoIgorCisjfiBtc2dpZCAiRG9uJ3QgcHJpbnQgdGhlIHRhYmxlIgorI34gbXNnc3RyICLkuI3miZPljbDooagiCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMTk5OSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIiCisjfiBtc2dzdHIgIueJiOadg+aJgOaciSAoQykgMTk5NC0xOTk5IEtldmluIEUuIE1hcnRpbiAmIGFlYiIKKworI34gbXNnaWQgIiAgZyAgICAgICAgICBDaGFuZ2UgY3lsaW5kZXJzLCBoZWFkcywgc2VjdG9ycy1wZXItdHJhY2sgcGFyYW1ldGVycyIKKyN+IG1zZ3N0ciAiICBnICAgICAgICAgIOabtOaUueafsemdouOAgeejgeWktOOAgeavj+S4quejgemBk+aJh+WMuuaVsOetieWPguaVsCIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBXQVJOSU5HOiBUaGlzIG9wdGlvbiBzaG91bGQgb25seSBiZSB1c2VkIGJ5IHBlb3BsZSB3aG8iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICDorablkYrvvJrkuI3opoHkvb/nlKjmraTpgInpobnvvIzpmaTpnZ7mgqgiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAga25vdyB3aGF0IHRoZXkgYXJlIGRvaW5nLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIOa4healmui/meagt+WBmueahOWQjuaenOOAgiIKKworI34gbXNnaWQgIiAgbSAgICAgICAgICBNYXhpbWl6ZSBkaXNrIHVzYWdlIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICBtICAgICAgICAgIOS9v+W9k+WJjeWIhuWMuueahOejgeebmOS9v+eUqOacgOWkp+WMliIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBOb3RlOiBUaGlzIG1heSBtYWtlIHRoZSBwYXJ0aXRpb24gaW5jb21wYXRpYmxlIHdpdGgiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICDms6jvvJrov5nlj6/og73kvb/or6XliIbljLrkuI7ku6XkuIvns7vnu5/kuI3lhbzlrrkiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgRE9TLCBPUy8yLCAuLi4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBET1MsIE9TLzIsIC4uLiIKKworI34gbXNnaWQgIiAgcCAgICAgICAgICBQcmludCBwYXJ0aXRpb24gdGFibGUgdG8gdGhlIHNjcmVlbiBvciB0byBhIGZpbGUiCisjfiBtc2dzdHIgIiAgcCAgICAgICAgICDmiZPljbDliIbljLrooajliLDlsY/luZXmiJbmlofku7YiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgVGhlcmUgYXJlIHNldmVyYWwgZGlmZmVyZW50IGZvcm1hdHMgZm9yIHRoZSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICDmnInlh6Dnp43kuI3lkIznmoTliIbljLrmoLzlvI8iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgdGhhdCB5b3UgY2FuIGNob29zZSBmcm9tOiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIOS+m+aCqOmAieaLqe+8miIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICByIC0gUmF3IGRhdGEgKGV4YWN0bHkgd2hhdCB3b3VsZCBiZSB3cml0dGVuIHRvIGRpc2spIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgciAtIOWOn+eUnyhyYXcp5pWw5o2uKOaVsOaNruS8muWOn+agt+WGmeWFpeejgeebmCkiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgcyAtIFRhYmxlIG9yZGVyZWQgYnkgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSDmjInmiYfljLrmjpLluo/nmoTooagiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgdCAtIFRhYmxlIGluIHJhdyBmb3JtYXQiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICB0IC0g5Y6f55Sf5qC85byP55qE6KGoIgorCisjfiBtc2dpZCAiICB1ICAgICAgICAgIENoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSIKKyN+IG1zZ3N0ciAiICB1ICAgICAgICAgIOabtOaUueWIhuWMuuWkp+Wwj+eahOaYvuekuuWNleS9jSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBSb3RhdGVzIHRocm91Z2ggTUIsIHNlY3RvcnMgYW5kIGN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIOWcqCBNQuOAgeaJh+WMuuaVsOOAgeafsemdouaVsOS5i+mXtOW+queOryIKKworI34gbXNnaWQgIkNUUkwtTCAgICAgICBSZWRyYXdzIHRoZSBzY3JlZW4iCisjfiBtc2dzdHIgIkNUUkwtTCAgICAgICDph43nu5jlsY/luZUiCisKKyN+IG1zZ2lkICIgID8gICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCisjfiBtc2dzdHIgIiAgPyAgICAgICAgICDmiZPljbDmraTlsY/luZUiCisKKyN+IG1zZ2lkICJDaGFuZ2UgY3lsaW5kZXIgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIuabtOaUueafsemdouWHoOS9leWxnuaApyIKKworI34gbXNnaWQgIkNoYW5nZSBoZWFkIGdlb21ldHJ5IgorI34gbXNnc3RyICLmm7TmlLnno4HlpLTlh6DkvZXlsZ7mgKciCisKKyN+IG1zZ2lkICJDaGFuZ2Ugc2VjdG9yIGdlb21ldHJ5IgorI34gbXNnc3RyICLmm7TmlLnmiYfljLrlh6DkvZXlsZ7mgKciCisKKyN+IG1zZ2lkICJEb25lIHdpdGggY2hhbmdpbmcgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIuabtOaUueWHoOS9leWxnuaAp+WujOaIkCIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzOiAiCisjfiBtc2dzdHIgIuivt+i+k+WFpeafsemdouaVsO+8miIKKworI34gbXNnaWQgIklsbGVnYWwgY3lsaW5kZXJzIHZhbHVlIgorI34gbXNnc3RyICLmn7HpnaLmlbDlgLzkuI3lkIjms5UiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIGhlYWRzOiAiCisjfiBtc2dzdHIgIuivt+i+k+WFpeejgeWktOaVsO+8miIKKworI34gbXNnaWQgIklsbGVnYWwgaGVhZHMgdmFsdWUiCisjfiBtc2dzdHIgIuejgeWktOaVsOWAvOS4jeWQiOazlSIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2s6ICIKKyN+IG1zZ3N0ciAi6K+36L6T5YWl5q+P5Liq56OB6YGT55qE5omH5Yy65pWw77yaIgorCisjfiBtc2dpZCAiSWxsZWdhbCBzZWN0b3JzIHZhbHVlIgorI34gbXNnc3RyICLmiYfljLrmlbDlgLzkuI3lkIjms5UiCisKKyN+IG1zZ2lkICJFbnRlciBmaWxlc3lzdGVtIHR5cGU6ICIKKyN+IG1zZ3N0ciAi6K+36L6T5YWl5paH5Lu257O757uf57G75Z6L77yaIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSBGUyBUeXBlIHRvIGVtcHR5IgorI34gbXNnc3RyICLml6Dms5XlsIbmlofku7bns7vnu5/nsbvlnovmm7TmlLnkuLrnqbrlgLwiCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIEZTIFR5cGUgdG8gZXh0ZW5kZWQiCisjfiBtc2dzdHIgIuaXoOazleWwhuaWh+S7tuezu+e7n+exu+Wei+abtOaUueS4uuaJqeWxlSIKKworI34gbXNnaWQgIlVuayglMDJYKSIKKyN+IG1zZ3N0ciAi5pyq55+lKCUwMlgpIgorCisjfiBtc2dpZCAiLCBOQyIKKyN+IG1zZ3N0ciAi77yM5LiN5Y+v55SoIgorCisjfiBtc2dpZCAiTkMiCisjfiBtc2dzdHIgIuS4jeWPr+eUqCIKKworI34gbXNnaWQgIlByaS9Mb2ciCisjfiBtc2dzdHIgIuS4uy/pgLvovpEiCisKKyN+IG1zZ2lkICJVbmtub3duICglMDJYKSIKKyN+IG1zZ3N0ciAi5pyq55+lICglMDJYKSIKKworI34gbXNnaWQgIkRpc2sgRHJpdmU6ICVzIgorI34gbXNnc3RyICLno4Hnm5jpqbHliqjlmajvvJolcyIKKworI34gbXNnaWQgIlNpemU6ICVsbGQgYnl0ZXMsICVsbGQgTUIiCisjfiBtc2dzdHIgIuWkp+Wwj++8miVsbGQg5a2X6IqC77yMJWxsZCBNQiIKKworI34gbXNnaWQgIlNpemU6ICVsbGQgYnl0ZXMsICVsbGQuJWxsZCBHQiIKKyN+IG1zZ3N0ciAi5aSn5bCP77yaJWxsZCDlrZfoioLvvIwlbGxkLiVsbGQgR0IiCisKKyN+IG1zZ2lkICJIZWFkczogJWQgICBTZWN0b3JzIHBlciBUcmFjazogJWQgICBDeWxpbmRlcnM6ICVsbGQiCisjfiBtc2dzdHIgIuejgeWktOaVsO+8miVkICDmr4/no4HpgZPmiYfljLrmlbDvvJolZCAgICAgICAg5p+x6Z2i5pWw77yaJWxsZCIKKworI34gbXNnaWQgIlBhcnQgVHlwZSIKKyN+IG1zZ3N0ciAi5YiG5Yy657G75Z6LIgorCisjfiBtc2dpZCAiRlMgVHlwZSIKKyN+IG1zZ3N0ciAi5paH5Lu257O757ufIgorCisjfiBtc2dpZCAiW0xhYmVsXSIKKyN+IG1zZ3N0ciAiW+agh+etvl0iCisKKyN+IG1zZ2lkICIgICAgU2VjdG9ycyIKKyN+IG1zZ3N0ciAiICAgIOaJh+WMuiIKKworI34gbXNnaWQgIiAgQ3lsaW5kZXJzIgorI34gbXNnc3RyICIgIOafsemdoiIKKworI34gbXNnaWQgIiAgU2l6ZSAoTUIpIgorI34gbXNnc3RyICIgIOWkp+WwjyAoTUIpIgorCisjfiBtc2dpZCAiICBTaXplIChHQikiCisjfiBtc2dzdHIgIiAg5aSn5bCPIChHQikiCisKKyN+IG1zZ2lkICJObyBtb3JlIHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIuayoeacieabtOWkmuWIhuWMuiIKKworI34gbXNnaWQgIkNoYW5nZSBkaXNrIGdlb21ldHJ5IChleHBlcnRzIG9ubHkpIgorI34gbXNnc3RyICLmm7TmlLnno4Hnm5jnmoTlh6DkvZXlsZ7mgKco5LuF6ZmQ5LiT5Lia5Lq65ZGYKSIKKworI34gbXNnaWQgIk1heGltaXplIgorI34gbXNnc3RyICLmnIDlpKfljJYiCisKKyN+IG1zZ2lkICJNYXhpbWl6ZSBkaXNrIHVzYWdlIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiAoZXhwZXJ0cyBvbmx5KSIKKyN+IG1zZ3N0ciAi5b2T5YmN5YiG5Yy655qE5pyA5aSn56OB55uY5L2/55So6YePKOS7hemZkOS4k+S4muS6uuWRmCkiCisKKyN+IG1zZ2lkICJQcmludCIKKyN+IG1zZ3N0ciAi5omT5Y2wIgorCisjfiBtc2dpZCAiQ2hhbmdlIHRoZSBmaWxlc3lzdGVtIHR5cGUgKERPUywgTGludXgsIE9TLzIgYW5kIHNvIG9uKSIKKyN+IG1zZ3N0ciAi5pu05pS55paH5Lu257O757uf57G75Z6LKERPUywgTGludXgsIE9TLzIg562JKSIKKworI34gbXNnaWQgIlVuaXRzIgorI34gbXNnc3RyICLljZXkvY0iCisKKyN+IG1zZ2lkICJDaGFuZ2UgdW5pdHMgb2YgdGhlIHBhcnRpdGlvbiBzaXplIGRpc3BsYXkgKE1CLCBzZWN0LCBjeWwpIgorI34gbXNnc3RyICLmm7TmlLnliIbljLrlpKflsI/nmoTljZXkvY0oTULjgIHmiYfljLrvvIzmn7HpnaIpIgorCisjfiBtc2dpZCAiQ2Fubm90IG1ha2UgdGhpcyBwYXJ0aXRpb24gYm9vdGFibGUiCisjfiBtc2dzdHIgIuaXoOazleWwhuatpOWIhuWMuuagh+iusOS4uiDlj6/lkK/liqgiCisKKyN+IG1zZ2lkICJDYW5ub3QgZGVsZXRlIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAi5peg5rOV5Yig6Zmk56m65YiG5Yy6IgorCisjfiBtc2dpZCAiQ2Fubm90IG1heGltaXplIHRoaXMgcGFydGl0aW9uIgorI34gbXNnc3RyICLml6Dms5XmnIDlpKfljJbmraTliIbljLoiCisKKyN+IG1zZ2lkICJUaGlzIHBhcnRpdGlvbiBpcyB1bnVzYWJsZSIKKyN+IG1zZ3N0ciAi5q2k5YiG5Yy65peg5rOV5L2/55SoIgorCisjfiBtc2dpZCAiVGhpcyBwYXJ0aXRpb24gaXMgYWxyZWFkeSBpbiB1c2UiCisjfiBtc2dzdHIgIuatpOWIhuWMuuW3suWcqOS9v+eUqOS4rSIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdGhlIHR5cGUgb2YgYW4gZW1wdHkgcGFydGl0aW9uIgorI34gbXNnc3RyICLml6Dms5Xmm7TmlLnnqbrliIbljLrnmoTnsbvlnosiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGNvbW1hbmQiCisjfiBtc2dzdHIgIumdnuazleWRveS7pCIKKworI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMTk5NC0yMDAyIEtldmluIEUuIE1hcnRpbiAmIGFlYlxuIgorI34gbXNnc3RyICLniYjmnYPmiYDmnIkgKEMpIDE5OTQtMjAwMiBLZXZpbiBFLiBNYXJ0aW4gJiBhZWJcbiIKKworI34gbXNnaWQgIiAtaCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgIHNldCB0aGUgbnVtYmVyIG9mIGhlYWRzIHRvIHVzZVxuIgorI34gbXNnc3RyICIgLWgsIC0taGVhZHMgPOaVsOWtlz4gICAgICAgIOiuvue9ruimgeS9v+eUqOeahOejgeWktOaVsFxuIgorCisjfiBtc2dpZCAiIC1nLCAtLWd1ZXNzICAgICAgICAgICAgICAgZ3Vlc3MgYSBnZW9tZXRyeSBmcm9tIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIgLWcsIC0tZ3Vlc3MgICAgICAgICAgICAgICDmoLnmja7liIbljLrooajmjqjnrpflh6DkvZXlsZ7mgKdcbiIKKworI34gbXNnaWQgIiAtUCwgLS1wcmludCA8cnxzfHQ+ICAgICAgIHByaW50IHBhcnRpdGlvbiB0YWJsZSBpbiBzcGVjaWZpZWQgZm9ybWF0XG4iCisjfiBtc2dzdHIgIiAtUCwgLS1wcmludCA8cnxzfHQ+ICAgICAgIOS7peaMh+WumueahOagvOW8j+aJk+WNsOWIhuWMuuihqFxuIgorCisjfiBtc2dpZCAiIC1hLCAtLWFycm93ICAgICAgICAgICAgICAgdXNlIGFycm93IGZvciBoaWdobGlnaHRpbmcgdGhlIGN1cnJlbnQgcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiAtYSwgLS1hcnJvdyAgICAgICAgICAgICAgIOeUqOeureWktOeqgeWHuuaYvuekuuW9k+WJjeWIhuWMulxuIgorCisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIuaXoOazleino+aekOafsemdouaVsCIKKworI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2YgaGVhZHMiCisjfiBtc2dzdHIgIuaXoOazleino+aekOejgeWktOaVsCIKKworI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2Ygc2VjdG9ycyIKKyN+IG1zZ3N0ciAi5peg5rOV6Kej5p6Q5omH5Yy65pWwIgorCisjfiBtc2dpZCAiOiAiCisjfiBtc2dzdHIgIu+8miIKKworI34gbXNnaWQgIiAtYiA8c2l6ZT4gICAgICAgICBzZWN0b3Igc2l6ZSAoNTEyLCAxMDI0LCAyMDQ4IG9yIDQwOTYpXG4iCisjfiBtc2dzdHIgIiAtYiA8c2l6ZT4gICAgICAgICDmiYfljLrlpKflsI8oNTEyLCAxMDI0LCAyMDQ4IOaIliA0MDk2KVxuIgorCisjfiBtc2dpZCAiIC1oICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscCB0ZXh0XG4iCisjfiBtc2dzdHIgIiAtaCAgICAgICAgICAgICAgICDmmL7npLrmraTluK7liqnlubbpgIDlh7pcbiIKKworI34gbXNnaWQgIlxuIgorI34gbXNnc3RyICJcbiIKKworI34gbXNnaWQgIiMiCisjfiBtc2dzdHIgIiMiCisKKyN+IG1zZ2lkICJmc2l6ZSIKKyN+IG1zZ3N0ciAiZnNpemUiCisKKyN+IG1zZ2lkICJic2l6ZSIKKyN+IG1zZ3N0ciAiYnNpemUiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorI34gbXNnc3RyICLliIbljLogJWQg5bey57uP5a6a5LmJ44CC6K+35Yig6Zmk5a6D5YaN6YeN5paw5re75Yqg44CCIgorCisjfiBtc2dpZCAiIgorI34gIlBhcnRpdGlvbiB0eXBlOlxuIgorI34gIiAgIHAgICBwcmltYXJ5ICglemQgcHJpbWFyeSwgJWQgZXh0ZW5kZWQsICV6ZCBmcmVlKVxuIgorI34gIiVzXG4iCisjfiAiU2VsZWN0IChkZWZhdWx0ICVjKSIKKyN+IG1zZ3N0ciAiIgorI34gIuWIhuWMuuexu+Wei++8mlxuIgorI34gIiAgIHAgICDkuLvliIbljLooJXpkIOS4quS4u+WIhuWMuu+8jCVkIOS4quaJqeWxleWIhuWMuu+8jCV6ZCDnqbrpl7IpXG4iCisjfiAiJXNcbiIKKyN+ICLor7fpgInmi6ko6buY6K6k5Li6ICVjKe+8miIKKworI34gbXNnaWQgIiAgIGUgICBleHRlbmRlZCIKKyN+IG1zZ3N0ciAiICAgZSAgIOaJqeWxleWIhuWMuiIKKworI34gbXNnaWQgIk5yIgorI34gbXNnc3RyICJOciIKKworI34gbXNnaWQgIkFGIgorI34gbXNnc3RyICJBRiIKKworI34gbXNnaWQgIkhkIgorI34gbXNnc3RyICJIZCIKKworI34gbXNnaWQgIlNlYyIKKyN+IG1zZ3N0ciAiU2VjIgorCisjfiBtc2dpZCAiQ3lsIgorI34gbXNnc3RyICJDeWwiCisKKyN+IG1zZ2lkICJUaGlzIGRvZXNuJ3QgbG9vayBsaWtlIGEgcGFydGl0aW9uIHRhYmxlLiBQcm9iYWJseSB5b3Ugc2VsZWN0ZWQgdGhlIHdyb25nIGRldmljZS4iCisjfiBtc2dzdHIgIui/meS8vOS5juS4jeaYr+WIhuWMuuihqOOAguaCqOWPr+iDvemAiemUmeS6huiuvuWkh+OAgiIKKworI34gbXNnaWQgIkJsb2NrcyAiCisjfiBtc2dzdHIgIuWdlyAiCisKKyN+IG1zZ2lkICJTeXN0ZW0iCisjfiBtc2dzdHIgIuezu+e7nyIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlemQgaXMgYWxyZWFkeSBkZWZpbmVkLiBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCisjfiBtc2dzdHIgIuWIhuWMuiAlemQg5bey5a6a5LmJ44CC6K+35Yig6Zmk5a6D5YaN6YeN5paw5re75Yqg44CCIgorCisjfiBtc2dpZCAiUHQjIgorI34gbXNnc3RyICJQdCMiCisKKyN+IG1zZ2lkICJJbmZvIgorI34gbXNnc3RyICLkv6Hmga8iCisKKyN+IG1zZ2lkICJTZWN0b3IiCisjfiBtc2dzdHIgIuaJh+WMuiIKKworI34gbXNnaWQgIllvdSB3aWxsIGdldCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiBGaXggaXQgZmlyc3QhIgorI34gbXNnc3RyICLno4Hnm5jkuIrlsIbkuqfnlJ/ph43lj6DliIbljLrjgILor7flhYjkv67lpI3lroPvvIEiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiAgQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuIFRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuIgorI34gbXNnc3RyICLorablkYrvvJrlr7kgJXMg5omn6KGMIEJMS0dFVFNJWkUgaW9jdGwg5aSx6LSl44CC5bCG5L2/55So5p+x6Z2i5YC8ICVsbHXjgILlr7nlpKfkuo4gMzMuOEdCIOeahOiuvuWkh+i/meS4quWAvOWPr+iDveS8muaIquefreOAgiIKKworI34gbXNnaWQgIkZsYWciCisjfiBtc2dzdHIgIuagh+W/lyIKKworI34gbXNnaWQgIiIKKyN+ICIgJTEkcyBbb3B0aW9uc10gTEFCRUw9PGxhYmVsPlxuIgorI34gIiAlMSRzIFtvcHRpb25zXSBVVUlEPTx1dWlkPlxuIgorI34gbXNnc3RyICIiCisjfiAiICUxJHMgW+mAiemhuV0gTEFCRUw9PGxhYmVsPlxuIgorI34gIiAlMSRzIFvpgInpobldIFVVSUQ9PHV1aWQ+XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1BLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgYnVpbHQtaW4gZmlsdGVycywgcHJpbnQgYWxsIGZpbGVzeXN0ZW1zXG4iCisjfiAiIC1hLCAtLWFzY2lpICAgICAgICAgICAgdXNlIEFTQ0lJIGNoYXJzIGZvciB0cmVlIGZvcm1hdHRpbmdcbiIKKyN+ICIgLWMsIC0tY2Fub25pY2FsaXplICAgICBjYW5vbmljYWxpemUgcHJpbnRlZCBwYXRoc1xuIgorI34gIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRhdGUgdGhlIG91dHB1dCBvZiBkZigxKVxuIgorI34gIiAtZCwgLS1kaXJlY3Rpb24gPHdvcmQ+IGRpcmVjdGlvbiBvZiBzZWFyY2gsICdmb3J3YXJkJyBvciAnYmFja3dhcmQnXG4iCisjfiAiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgY29udmVydCB0YWdzIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkZXZpY2UgbmFtZXNcbiIKKyN+ICIgLUYsIC0tdGFiLWZpbGUgPHBhdGg+ICBhbHRlcm5hdGl2ZSBmaWxlIGZvciAtLWZzdGFiLCAtLW10YWIgb3IgLS1rZXJuZWwgb3B0aW9uc1xuIgorI34gIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIHByaW50IHRoZSBmaXJzdCBmb3VuZCBmaWxlc3lzdGVtIG9ubHlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtQSwgLS1hbGwgICAgICAgICAgICAgIOemgeeUqOaJgOacieWGheW7uui/h+a7pOWZqO+8jOaJk+WNsOaJgOacieaWh+S7tuezu+e7n1xuIgorI34gIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIOS9v+eUqCBBU0NJSSDov5vooYzmoJHmoLzlvI/ljJZcbiIKKyN+ICIgLWMsIC0tY2Fub25pY2FsaXplICAgICDop4TojIPovpPlh7rot6/lvoRcbiIKKyN+ICIgLUQsIC0tZGYgICAgICAgICAgICAgICDku7/nhacgZGYoMSkg5b2i5byP6L6T5Ye6XG4iCisjfiAiIC1kLCAtLWRpcmVjdGlvbiA86K+NPiAgIOaQnOe0ouaWueWQke+8jOKAnGZvcndhcmTigJ3miJbigJxiYWNrd2FyZOKAnVxuIgorI34gIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIOWwhuagh+W/lyhMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTClcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgIOi9rOaNouS4uuiuvuWkh+WQjVxuIgorI34gIiAtRiwgLS10YWItZmlsZSA86Lev5b6EPiAgLS1mc3RhYuOAgS0tbXRhYiDmiJYgLS1rZXJuZWwg6YCJ6aG555qE5aSH6YCJ5paH5Lu2XG4iCisjfiAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAg5Y+q5omT5Y2w5om+5Yiw55qE56ys5LiA5Liq5paH5Lu257O757ufXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJ0IHRoZSBzZW5zZSBvZiBtYXRjaGluZ1xuIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKKyN+ICIgLU4sIC0tdGFzayA8dGlkPiAgICAgICB1c2UgYWx0ZXJuYXRpdmUgbmFtZXNwYWNlICgvcHJvYy88dGlkPi9tb3VudGluZm8gZmlsZSlcbiIKKyN+ICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBjb2x1bW4gaGVhZGluZ3NcbiIKKyN+ICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIOWPjei9rOWMuemFjeinhOWImVxuIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICAgIOS9v+eUqOWIl+ihqOagvOW8j+eahOi+k+WHulxuIgorI34gIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIOS9v+eUqOWkh+mAieWQjeWtl+epuumXtCgvcHJvYy88dGlkPi9tb3VudGluZm8g5paH5Lu2KVxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIOS4jeaJk+WNsOWIl+agh+mimFxuIgorI34gIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIOS4jeaIquefreWIl+S4reeahOaWh+acrFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIGRvbid0IHByaW50IFsvZGlyXSBmb3IgYmluZCBvciBidHJmcyBtb3VudHNcbiIKKyN+ICIgLVIsIC0tc3VibW91bnRzICAgICAgICBwcmludCBhbGwgc3VibW91bnRzIGZvciB0aGUgbWF0Y2hpbmcgZmlsZXN5c3RlbXNcbiIKKyN+ICIgLVMsIC0tc291cmNlIDxzdHJpbmc+ICB0aGUgZGV2aWNlIHRvIG1vdW50IChieSBuYW1lLCBtYWo6bWluLCBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKKyN+ICIgLVQsIC0tdGFyZ2V0IDxzdHJpbmc+ICB0aGUgbW91bnRwb2ludCB0byB1c2VcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIGJpbmQg5oiWIGJ0cmZzIOaMguiHt+aXtuS4jeaJk+WNsCBbL2Rpcl1cbiIKKyN+ICIgLVIsIC0tc3VibW91bnRzICAgICAgICDmiZPljbDljLnphY3mlofku7bns7vnu5/nmoTmiYDmnInlrZDmjILoh7dcbiIKKyN+ICIgLVMsIC0tc291cmNlIDzlrZfnrKbkuLI+ICDopoHmjILoh7fnmoTorr7lpIco5oyJ5ZCN56ew44CB5Li76K6+5aSH5Y+377ya5qyh6K6+5aSH5Y+344CBXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD3jgIFVVUlEPeOAgUFSVFVVSUQ944CBQVJUTEFCRUw9KVxuIgorI34gIiAtVCwgLS10YXJnZXQgPOWtl+espuS4sj4gIOimgeS9v+eUqOeahOaMguiHt+eCuVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZiwgLS1maWxlIDxmaWxlPiB1c2UgZmlsZSBhcyBhIGNvb2tpZSBzZWVkXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWYsIC0tZmlsZSA85paH5Lu2PiDkvb/nlKjmjIflrprmlofku7bkvZzkuLogY29va2llIHNlZWRcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAg6Kej6YeK5q2j5Zyo6L+b6KGM55qE5pON5L2cXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgIOi+k+WHuueJiOacrOS/oeaBr+W5tumAgOWHulxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICDmmL7npLrmraTluK7liqnlubbpgIDlh7pcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIkJvdGggLS1waWQgYW5kIC0tbm8tcGlkIHNwZWNpZmllZC4gSWdub3JpbmcgLS1uby1waWQuIgorI34gbXNnc3RyICLlkIzml7bmjIflrprkuoYgLS1waWQg5ZKMIC0tbm8tcGlk44CC5bCG5b+955WlIC0tbm8tcGlk44CCIgorCisjfiBtc2dpZCAid2FybmluZzogZXJyb3IgcmVhZGluZyAlczogJXMiCisjfiBtc2dzdHIgIuitpuWRiu+8muivu+WPliAlcyDlh7rplJnvvJolcyIKKworI34gbXNnaWQgIndhcm5pbmc6IGNhbid0IG9wZW4gJXM6ICVzIgorI34gbXNnc3RyICLorablkYrvvJrmiZPkuI3lvIAgJXPvvJolcyIKKworI34gbXNnaWQgIm1vdW50OiBjb3VsZCBub3Qgb3BlbiAlcyAtIHVzaW5nICVzIGluc3RlYWRcbiIKKyN+IG1zZ3N0ciAi5oyC6L2977ya5omT5LiN5byAICVzIC0g5bCG6L2s55SoICVzXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBjcmVhdGUgbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICLml6Dms5XliJvlu7rplIHmlofku7YgJXPvvJolcyAo5Y+v5L2/55SoIC1uIOagh+W/l+imhueblikiCisKKyN+IG1zZ2lkICJjYW4ndCBsaW5rIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAi5peg5rOV6ZO+5o6l6ZSB5paH5Lu2ICVz77yaJXMgKOWPr+S9v+eUqCAtbiDmoIflv5fopobnm5YpIgorCisjfiBtc2dpZCAiY2FuJ3Qgb3BlbiBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgIuaJk+S4jeW8gOmUgeaWh+S7tiAlc++8miVzICjlj6/kvb/nlKggLW4g5qCH5b+X6KaG55uWKSIKKworI34gbXNnaWQgIkNhbid0IGxvY2sgbG9jayBmaWxlICVzOiAlc1xuIgorI34gbXNnc3RyICLml6Dms5XplIHlrprplIHmlofku7YgJXPvvJolc1xuIgorCisjfiBtc2dpZCAiY2FuJ3QgbG9jayBsb2NrIGZpbGUgJXM6ICVzIgorI34gbXNnc3RyICLml6Dms5XplIHlrprplIHmlofku7YgJXPvvJolcyIKKworI34gbXNnaWQgIiIKKyN+ICJDYW5ub3QgY3JlYXRlIGxpbmsgJXNcbiIKKyN+ICJQZXJoYXBzIHRoZXJlIGlzIGEgc3RhbGUgbG9jayBmaWxlP1xuIgorI34gbXNnc3RyICIiCisjfiAi5peg5rOV5Yib5bu66ZO+5o6lICVzXG4iCisjfiAi5pyJ5LiA5Liq6L+H5pyf55qE6ZSB5paH5Lu25ZCX77yfXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyAoJXMpIC0gbXRhYiBub3QgdXBkYXRlZCIKKyN+IG1zZ3N0ciAi5peg5rOV5omT5byAICVzICglcykgLSBtdGFiIOacquabtOaWsCIKKworI34gbXNnaWQgImVycm9yIHdyaXRpbmcgJXM6ICVzIgorI34gbXNnc3RyICLlhpkgJXMg5Ye66ZSZ77yaJXMiCisKKyN+IG1zZ2lkICIlczogY2Fubm90IGZmbHVzaCBjaGFuZ2VzOiAlcyIKKyN+IG1zZ3N0ciAiJXPvvJrml6Dms5UgZmZsdXNoIOabtOaUue+8miVzIgorCisjfiBtc2dpZCAiZXJyb3IgY2hhbmdpbmcgbW9kZSBvZiAlczogJXNcbiIKKyN+IG1zZ3N0ciAi5pu05pS5ICVzIOeahOaooeW8j+WHuumUme+8miVzXG4iCisKKyN+IG1zZ2lkICJlcnJvciBjaGFuZ2luZyBvd25lciBvZiAlczogJXNcbiIKKyN+IG1zZ3N0ciAi5pu05pS5ICVzIOeahOaJgOacieiAheWksei0pe+8miVzXG4iCisKKyN+IG1zZ2lkICJjYW4ndCByZW5hbWUgJXMgdG8gJXM6ICVzXG4iCisjfiBtc2dzdHIgIuaXoOazleWwhiAlcyDmlLnlkI3kuLogJXPvvJolc1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIm1vdW50OiB3YXJuaW5nOiAvZXRjL210YWIgaXMgbm90IHdyaXRhYmxlIChlLmcuIHJlYWQtb25seSBmaWxlc3lzdGVtKS5cbiIKKyN+ICIgICAgICAgSXQncyBwb3NzaWJsZSB0aGF0IGluZm9ybWF0aW9uIHJlcG9ydGVkIGJ5IG1vdW50KDgpIGlzIG5vdFxuIgorI34gIiAgICAgICB1cCB0byBkYXRlLiBGb3IgYWN0dWFsIGluZm9ybWF0aW9uIGFib3V0IHN5c3RlbSBtb3VudCBwb2ludHNcbiIKKyN+ICIgICAgICAgY2hlY2sgdGhlIC9wcm9jL21vdW50cyBmaWxlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAibW91bnTvvJovZXRjL210YWIg5LiN5Y+v5YaZKOavlOWmguaYr+WPquivu+aWh+S7tuezu+e7nynjgIJcbiIKKyN+ICIgICAgICAgbW91bnQoOCkg5oql5ZGK55qE5L+h5oGv5Y+v6IO95LiN5piv5pyA5paw55qE44CCXG4iCisjfiAiICAgICAgIOacieWFs+ezu+e7n+aMgui9veeCueeahOWunumZheS/oeaBr+ivt+ajgOafpVxuIgorI34gIiAgICAgICAvcHJvYy9tb3VudHMg6I635Y+W44CCXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJtb3VudDogaW1wcm9wZXJseSBxdW90ZWQgb3B0aW9uIHN0cmluZyAnJXMnIgorI34gbXNnc3RyICJtb3VudO+8mumAiemhueWtl+espuS4suKAnCVz4oCd5byV5Y+35rKh5pyJ5q2j56Gu6Zet5ZCIIgorCisjfiBtc2dpZCAibW91bnQ6IHRyYW5zbGF0ZWQgJXMgJyVzJyB0byAnJXMnXG4iCisjfiBtc2dzdHIgIm1vdW5077ya5bey5bCGICVzIOKAnCVz4oCd6L2s5o2i5Li64oCcJXPigJ1cbiIKKworI34gbXNnaWQgIm1vdW50OiBTRUxpbnV4ICpjb250ZXh0PSBvcHRpb25zIGFyZSBpZ25vcmUgb24gcmVtb3VudC5cbiIKKyN+IG1zZ3N0ciAibW91bnTvvJpTRUxpbnV4ICpjb250ZXh0PSDpgInpobnph43mlrDmjILovb3kvJrml7blv73nlaXjgIJcbiIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIgorI34gbXNnc3RyICJtb3VudO+8muagueaNriBtdGFi77yMJXMg5bey5oyC6L295LqOICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBtb3VudGVkIG9uICVzIgorI34gbXNnc3RyICJtb3VudO+8muagueaNriBtdGFi77yMJXMg5oyC6L295LqOICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IG9wZW4gJXMgZm9yIHdyaXRpbmc6ICVzIgorI34gbXNnc3RyICJtb3VudO+8muaXoOazleaJk+W8gCAlcyDov5vooYzlhpnlhaXvvJolcyIKKworI34gbXNnaWQgIm1vdW50OiBlcnJvciB3cml0aW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnTvvJrlhpkgJXMg5Ye66ZSZ77yaJXMiCisKKyN+IG1zZ2lkICJtb3VudDogZXJyb3IgY2hhbmdpbmcgbW9kZSBvZiAlczogJXMiCisjfiBtc2dzdHIgIm1vdW5077ya5pu05pS5ICVzIOeahOaooeW8j+WHuumUme+8miVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVtIgorI34gbXNnc3RyICJtb3VudO+8muaXoOazleiuvue9rue7hCBpZO+8miVtIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgdXNlciBpZDogJW0iCisjfiBtc2dzdHIgIm1vdW5077ya5peg5rOV6K6+572u55So5oi3IGlk77yaJW0iCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IGZvcms6ICVzIgorI34gbXNnc3RyICJtb3VudO+8muaXoOazlSBmb3Jr77yaJXMiCisKKyN+IG1zZ2lkICJUcnlpbmcgJXNcbiIKKyN+IG1zZ3N0ciAi5q2j5Zyo5bCd6K+VICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogeW91IGRpZG4ndCBzcGVjaWZ5IGEgZmlsZXN5c3RlbSB0eXBlIGZvciAlc1xuIgorI34gbXNnc3RyICJtb3VudO+8muaCqOayoeacieaMh+WumiAlcyDnmoTmlofku7bns7vnu5/nsbvlnotcbiIKKworI34gbXNnaWQgIiAgICAgICBJIHdpbGwgdHJ5IGFsbCB0eXBlcyBtZW50aW9uZWQgaW4gJXMgb3IgJXNcbiIKKyN+IG1zZ3N0ciAiICAgICAgIOeoi+W6j+WwhuWwneivlSAlcyDmiJYgJXMg5Lit5o+Q5Yiw55qE5omA5pyJ57G75Z6LXG4iCisKKyN+IG1zZ2lkICIgICAgICAgYW5kIGl0IGxvb2tzIGxpa2UgdGhpcyBpcyBzd2Fwc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAgICAgIOi/meS8vOS5juaYr+S6pOaNouepuumXtFxuIgorCisjfiBtc2dpZCAiICAgICAgIEkgd2lsbCB0cnkgdHlwZSAlc1xuIgorI34gbXNnc3RyICIgICAgICAg56iL5bqP5bCG5bCd6K+VICVzIOexu+Wei1xuIgorCisjfiBtc2dpZCAiJXMgbG9va3MgbGlrZSBzd2Fwc3BhY2UgLSBub3QgbW91bnRlZCIKKyN+IG1zZ3N0ciAiJXMg5Ly85LmO5piv5Lqk5o2i56m66Ze0IC0g5pyq5oyC6L29IgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiAlczogbW9yZSBmaWxlc3lzdGVtcyBkZXRlY3RlZC4gVGhpcyBzaG91bGQgbm90IGhhcHBlbixcbiIKKyN+ICIgICAgICAgdXNlIC10IDx0eXBlPiB0byBleHBsaWNpdGx5IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSBvclxuIgorI34gIiAgICAgICB1c2Ugd2lwZWZzKDgpIHRvIGNsZWFuIHVwIHRoZSBkZXZpY2UuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudO+8miVz77ya5qOA5rWL5Yiw5LqG5pu05aSa5paH5Lu257O757uf44CC6L+Z5LiN5bqU6K+l5Y+R55Sf77yMIFxuIgorI34gIiAgICAgICDor7fkvb/nlKggLXQgPOexu+Weiz4g5p2l5piO56Gu5oyH5a6a5paH5Lu257O757uf57G75Z6L5oiWXG4iCisjfiAiICAgICAgIOS9v+eUqCB3aXBlZnMoOCkg5p2l5riF55CG6K6+5aSH44CCXG4iCisKKyN+IG1zZ2lkICJtb3VudCBmYWlsZWQiCisjfiBtc2dzdHIgIuaMgui9veWksei0pSIKKworI34gbXNnaWQgIm1vdW50OiBvbmx5IHJvb3QgY2FuIG1vdW50ICVzIG9uICVzIgorI34gbXNnc3RyICJtb3VudO+8muWPquaciSByb290IOaJjeiDveWwhiAlcyDmjILovb3kuo4gJXMiCisKKyN+IG1zZ2lkICJtb3VudDogbG9vcCBkZXZpY2Ugc3BlY2lmaWVkIHR3aWNlIgorI34gbXNnc3RyICJtb3VudO+8muWbnueOr+iuvuWkh+aMh+WumuS6huS4pOasoSIKKworI34gbXNnaWQgIm1vdW50OiB0eXBlIHNwZWNpZmllZCB0d2ljZSIKKyN+IG1zZ3N0ciAibW91bnTvvJrnsbvlnovmjIflrprkuobkuKTmrKEiCisKKyN+IG1zZ2lkICJtb3VudDogc2tpcHBpbmcgdGhlIHNldHVwIG9mIGEgbG9vcCBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAibW91bnTvvJrlsIbot7Pov4flm57njq/orr7lpIfnmoTorr7nva5cbiIKKworI34gbXNnaWQgIm1vdW50OiBlbmFibGluZyBhdXRvY2xlYXIgbG9vcGRldiBmbGFnXG4iCisjfiBtc2dzdHIgIm1vdW5077ya5bCG5ZCv55SoIOiHquWKqOa4hemZpCDnjq/lm57orr7lpIfmoIflv5dcbiIKKworI34gbXNnaWQgIm1vdW50OiBpbnZhbGlkIG9mZnNldCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibW91bnTvvJrmjIflrprkuobml6DmlYjnmoTlgY/np7vigJwlc+KAnSIKKworI34gbXNnaWQgIm1vdW50OiBpbnZhbGlkIHNpemVsaW1pdCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibW91bnTvvJrmjIflrprkuobml6DmlYjnmoTlpKflsI/pmZDliLbigJwlc+KAnSIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXMgYXMgbG9vcCIKKyN+IG1zZ3N0ciAibW91bnTvvJrmoLnmja4gbXRhYu+8jCVzIOW3suS9nOS4uuWbnueOr+iuvuWkh+aMgui9veS6jiAlcyIKKworI34gbXNnaWQgImVuY3J5cHRpb24gbm90IHN1cHBvcnRlZCwgdXNlIGNyeXB0c2V0dXAoOCkgaW5zdGVhZCIKKyN+IG1zZ3N0ciAi5LiN5pSv5oyB5Yqg5a+G77yM6K+35pS555SoIGNyeXB0c2V0dXAoOCkiCisKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGRldiBjb250ZXh0IgorI34gbXNnc3RyICJtb3VudO+8muWIneWni+WMliBsb29wZGV2IOeOr+Wig+Wksei0pSIKKworI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gdXNlICVzIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnTvvJrkvb/nlKggJXMg6K6+5aSH5aSx6LSlIgorCisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byBmb3VuZCBmcmVlIGxvb3AgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudO+8muafpeaJvuepuumXsueahOWbnueOr+iuvuWkh+Wksei0pSIKKworI34gbXNnaWQgIm1vdW50OiBnb2luZyB0byB1c2UgdGhlIGxvb3AgZGV2aWNlICVzXG4iCisjfiBtc2dzdHIgIm1vdW5077ya5bCG5L2/55So5Zue546v6K6+5aSHICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogJXM6IGZhaWxlZCB0byBzZXQgbG9vcGRldiBhdHRyaWJ1dGVzIgorI34gbXNnc3RyICJtb3VudO+8miVz77ya6K6+572u5Zue546v6K6+5aSH5bGe5oCn5aSx6LSlIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgc2V0dGluZyB1cCBsb29wIGRldmljZTogJW0iCisjfiBtc2dzdHIgIuaMguiHt++8miVz77ya6K6+572u5Zue546v6K6+5aSH5aSx6LSl77yaJW0iCisKKyN+IG1zZ2lkICJtb3VudDogc3RvbGVuIGxvb3A9JXMgLi4udHJ5aW5nIGFnYWluXG4iCisjfiBtc2dzdHIgIm1vdW5077ya6KKr5oyq55So5Zue546vPSVzIC4uLuWwhumHjeivlVxuIgorCisjfiBtc2dpZCAibW91bnQ6IHN0b2xlbiBsb29wPSVzIgorI34gbXNnc3RyICLmjILovb3vvJrooqvmjKrnlKjlm57njq89JXMiCisKKyN+IG1zZ2lkICJtb3VudDogc2V0dXAgbG9vcCBkZXZpY2Ugc3VjY2Vzc2Z1bGx5XG4iCisjfiBtc2dzdHIgIm1vdW5077ya6K6+572u5Zue546v6K6+5aSH5oiQ5YqfXG4iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gJXMgZm91bmQgLSBjcmVhdGluZyBpdC4uXG4iCisjfiBtc2dzdHIgIm1vdW5077ya5pyq5om+5YiwICVzIC0g5bCG5Yib5bu65a6DLi4uXG4iCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IG9wZW4gJXMgZm9yIHNldHRpbmcgc3BlZWQiCisjfiBtc2dzdHIgIm1vdW5077ya5peg5rOV5omT5byAICVzIOadpeiuvue9rumAn+W6piIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHNwZWVkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnTvvJrml6Dms5Xorr7nva7pgJ/luqbvvJolbSIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzXG4iCisjfiBtc2dzdHIgIm1vdW5077ya5qC55o2uIG10YWLvvIwlcyDlt7LmjILovb3kuo4gJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtd3JpdGUuXG4iCisjfiBtc2dzdHIgIm1vdW50ZWTvvJrorablkYrvvJolcyDkvLzkuY7mmK/ku6Xor7vlhpnmlrnlvI/mjILovb3nmoTjgIJcbiIKKworI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtb25seS5cbiIKKyN+IG1zZ3N0ciAi5oyC6L2977ya6K2m5ZGK77yaJXMg5Ly85LmO5piv5Lul5Y+q6K+75pa55byP5oyC6L2955qE44CCXG4iCisKKyN+IG1zZ2lkICJtb3VudDogSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW5077ya56iL5bqP5peg5rOV56Gu5a6a5paH5Lu257O757uf57G75Z6L77yM5bm25LiU5rKh5pyJ5oyH5a6aIgorCisjfiBtc2dpZCAibW91bnQ6IHlvdSBtdXN0IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSIKKyN+IG1zZ3N0ciAibW91bnTvvJrmgqjlv4XpobvmjIflrprmlofku7bns7vnu5/nsbvlnosiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgZmFpbGVkIgorI34gbXNnc3RyICJtb3VudO+8muaMgui9veWksei0pSIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBwb2ludCAlcyBpcyBub3QgYSBkaXJlY3RvcnkiCisjfiBtc2dzdHIgIm1vdW5077ya5oyC6L2954K5ICVzIOS4jeaYr+S4gOS4quebruW9lSIKKworI34gbXNnaWQgIm1vdW50OiBwZXJtaXNzaW9uIGRlbmllZCIKKyN+IG1zZ3N0ciAibW91bnTvvJrmnYPpmZDkuI3otrMiCisKKyN+IG1zZ2lkICJtb3VudDogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorI34gbXNnc3RyICJtb3VudO+8muW/hemhu+aYr+i2hee6p+eUqOaIt+aJjeiDveS9v+eUqCBtb3VudCIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBidXN5IgorI34gbXNnc3RyICJtb3VudO+8miVzIOW/mSIKKworI34gbXNnaWQgIm1vdW50OiBwcm9jIGFscmVhZHkgbW91bnRlZCIKKyN+IG1zZ3N0ciAibW91bnTvvJpwcm9jIOW3suaMgui9vSIKKworI34gbXNnaWQgIm1vdW50OiAlcyBhbHJlYWR5IG1vdW50ZWQgb3IgJXMgYnVzeSIKKyN+IG1zZ3N0ciAibW91bnTvvJolcyDlt7LmjILovb3miJYgJXMg5b+ZIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGRvZXMgbm90IGV4aXN0IgorI34gbXNnc3RyICJtb3VudO+8muaMgui9veeCuSAlcyDkuI3lrZjlnKgiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCisjfiBtc2dzdHIgIm1vdW5077ya5oyC6L2954K5ICVzIOaYr+S4gOS4quayoeacieebruagh+S9jee9rueahOespuWPt+mTvuaOpSIKKworI34gbXNnaWQgIm1vdW50OiBzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKKyN+IG1zZ3N0ciAibW91bnTvvJrnibnmrororr7lpIcgJXMg5LiN5a2Y5ZyoIgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiBzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdFxuIgorI34gIiAgICAgICAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudO+8mueJueauiuiuvuWkhyAlcyDkuI3lrZjlnKhcbiIKKyN+ICIgICAgICAgKOi3r+W+hOWJjee8gOS4jeaYr+ebruW9lSlcbiIKKworI34gbXNnaWQgIm1vdW50OiAlcyBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorI34gbXNnc3RyICJtb3VudO+8miVzIOacquaMgui9veaIlumAiemhuemUmeivryIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogd3JvbmcgZnMgdHlwZSwgYmFkIG9wdGlvbiwgYmFkIHN1cGVyYmxvY2sgb24gJXMsXG4iCisjfiAiICAgICAgIG1pc3NpbmcgY29kZXBhZ2Ugb3IgaGVscGVyIHByb2dyYW0sIG9yIG90aGVyIGVycm9yIgorI34gbXNnc3RyICIiCisjfiAibW91bnTvvJrmlofku7bns7vnu5/nsbvlnovplJnor6/jgIHpgInpobnplJnor6/jgIElcyDmnInlnY/otoXnuqflnZfvvIxcbiIKKyN+ICIgICAgICAg57y65bCR5Luj56CB6aG15oiW5Yqp5omL56iL5bqP77yM5oiW5YW25LuW6ZSZ6K+vIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoZm9yIHNldmVyYWwgZmlsZXN5c3RlbXMgKGUuZy4gbmZzLCBjaWZzKSB5b3UgbWlnaHRcbiIKKyN+ICIgICAgICAgbmVlZCBhIC9zYmluL21vdW50Ljx0eXBlPiBoZWxwZXIgcHJvZ3JhbSkiCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAgKOWvueafkOS6m+aWh+S7tuezu+e7nyjlpoIgbmZz44CBY2lmcykg5oKo5Y+v6IO96ZyA6KaBXG4iCisjfiAiICAgICAgIOS4gOasviAvc2Jpbi9tb3VudC4857G75Z6LPiDliqnmiYvnqIvluo8pIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoY291bGQgdGhpcyBiZSB0aGUgSURFIGRldmljZSB3aGVyZSB5b3UgaW4gZmFjdCB1c2VcbiIKKyN+ICIgICAgICAgaWRlLXNjc2kgc28gdGhhdCBzcjAgb3Igc2RhIG9yIHNvIGlzIG5lZWRlZD8pIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgICjov5nmmK/kuI3mmK/kuIDlj7DpgJrov4cgaWRlLXNjc2kg5pa55byP5L2/55So55qEIElERSDorr7lpIfvvIxcbiIKKyN+ICIgICAgICAg5Zug6ICM6ZyA6KaBIHNyMCDmiJYgc2RhIOaIliBzb++8nykiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIChhcmVuJ3QgeW91IHRyeWluZyB0byBtb3VudCBhbiBleHRlbmRlZCBwYXJ0aXRpb24sXG4iCisjfiAiICAgICAgIGluc3RlYWQgb2Ygc29tZSBsb2dpY2FsIHBhcnRpdGlvbiBpbnNpZGU/KSIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAo5oKo5LiN5piv6KaB6K+V5Zu+5oyC6L295LiA5Liq5omp5bGV5YiG5Yy677yM6ICM6Z2e5omp5bGV5YiG5Yy65Lit55qEXG4iCisjfiAiICAgICAgIOS4gOS6m+mAu+i+keWIhuWMuuWQp++8nykiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gaXMgZm91bmQgaW4gc3lzbG9nIC0gdHJ5XG4iCisjfiAiICAgICAgIGRtZXNnIHwgdGFpbCAgb3Igc29cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICDmnInkupvmg4XlhrXkuIvlnKggc3lzbG9nIOS4reWPr+S7peaJvuWIsOS4gOS6m+acieeUqOS/oeaBry0g6K+35bCd6K+VXG4iCisjfiAiICAgICAgIGRtZXNnIHwgdGFpbCAg6L+Z5qC355qE5ZG95Luk55yL55yL44CCXG4iCisKKyN+IG1zZ2lkICJtb3VudDogJXM6IGNhbid0IHJlYWQgc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAibW91bnTvvJolc++8muaXoOazleivu+WPlui2hee6p+WdlyIKKworI34gbXNnaWQgIm1vdW50OiAlczogdW5rbm93biBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW5077yaJXPvvJrmnKrnn6Xorr7lpIciCisKKyN+IG1zZ2lkICJtb3VudDogdW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKKyN+IG1zZ3N0ciAibW91bnTvvJrmnKrnn6Xmlofku7bns7vnu5/nsbvlnovigJwlc+KAnSIKKworI34gbXNnaWQgIm1vdW50OiBwcm9iYWJseSB5b3UgbWVhbnQgJXMiCisjfiBtc2dzdHIgIm1vdW5077ya5oKo5Y+v6IO95oyH55qE5pivICVzIgorCisjfiBtc2dpZCAibW91bnQ6IG1heWJlIHlvdSBtZWFudCAnaXNvOTY2MCc/IgorI34gbXNnc3RyICJtb3VudO+8muWPr+iDveaCqOaMh+eahOaYr+KAnGlzbzk2NjDigJ3vvJ8iCisKKyN+IG1zZ2lkICJtb3VudDogbWF5YmUgeW91IG1lYW50ICd2ZmF0Jz8iCisjfiBtc2dzdHIgIm1vdW5077ya5Y+v6IO95oKo5oyH55qE5piv4oCcdmZhdOKAne+8nyIKKworI34gbXNnaWQgIm1vdW50OiAlcyBoYXMgd3JvbmcgZGV2aWNlIG51bWJlciBvciBmcyB0eXBlICVzIG5vdCBzdXBwb3J0ZWQiCisjfiBtc2dzdHIgIm1vdW5077yaJXMg6K6+5aSH5Y+36ZSZ6K+v5oiW5LiN5pSv5oyB5paH5Lu257O757ufICVzIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQgZmFpbHM/IgorI34gbXNnc3RyICJtb3VudO+8miVzIOS4jeaYr+Wdl+iuvuWkh++8jOS4lCBzdGF0IOWRveS7pOWksei0pe+8nyIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogdGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2VcbiIKKyN+ICIgICAgICAgKG1heWJlIGBtb2Rwcm9iZSBkcml2ZXInPykiCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudO+8muWGheaguOaXoOazleWwhiAlcyDor4bliKvkuLrlnZforr7lpIdcbiIKKyN+ICIgICAgICAgKOivleivleKAnG1vZHByb2JlIGRyaXZlcuKAne+8nykiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIChtYXliZSB0cnkgYC1vIGxvb3AnPykiCisjfiBtc2dzdHIgIm1vdW5077yaJXMg5LiN5piv5Z2X6K6+5aSHKOimgeS4jeivleivleKAnC1vIGxvb3DigJ3vvJ8pIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnTvvJolcyDkuI3mmK/lnZforr7lpIciCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgdmFsaWQgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudO+8miVzIOS4jeaYr+acieaViOeahOWdl+iuvuWkhyIKKworI34gbXNnaWQgImJsb2NrIGRldmljZSAiCisjfiBtc2dzdHIgIuWdl+iuvuWkhyAiCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IG1vdW50ICVzJXMgcmVhZC1vbmx5IgorI34gbXNnc3RyICJtb3VudO+8muaXoOazleS7peWPquivu+aWueW8j+aMgui9vSAlcyVzIgorCisjfiBtc2dpZCAibW91bnQ6ICVzJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCBgLXcnIGZsYWcgZ2l2ZW4iCisjfiBtc2dzdHIgIm1vdW5077yaJXMlcyDmmK/lhpnkv53miqTnmoTvvIzkvYbmjIfmmI7kuobigJwtd+KAneagh+W/lyIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgcmVtb3VudCAlcyVzIHJlYWQtd3JpdGUsIGlzIHdyaXRlLXByb3RlY3RlZCIKKyN+IG1zZ3N0ciAibW91bnTvvJrml6Dms5Xku6Xor7vlhpnmlrnlvI/ph43mlrDmjILovb0gJXMlc++8jOWug+aYr+WGmeS/neaKpOeahCIKKworI34gbXNnaWQgIm1vdW50OiAlcyVzIGlzIHdyaXRlLXByb3RlY3RlZCwgbW91bnRpbmcgcmVhZC1vbmx5IgorI34gbXNnc3RyICJtb3VudO+8miVzJXMg5YaZ5L+d5oqk77yM5bCG5Lul5Y+q6K+75pa55byP5oyC6L29IgorCisjfiBtc2dpZCAibW91bnQ6IG5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnTvvJrlnKggJXMg5LiK5om+5LiN5Yiw5aqS5L2TIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHR5cGUgd2FzIGdpdmVuIC0gSSdsbCBhc3N1bWUgbmZzIGJlY2F1c2Ugb2YgdGhlIGNvbG9uXG4iCisjfiBtc2dzdHIgIm1vdW5077ya5rKh5pyJ5oyH5a6a57G75Z6LIC0g56iL5bqP5bCG5qC55o2u5YaS5Y+35YGH5a6a5Li6IG5mc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHR5cGUgd2FzIGdpdmVuIC0gSSdsbCBhc3N1bWUgY2lmcyBiZWNhdXNlIG9mIHRoZSAvLyBwcmVmaXhcbiIKKyN+IG1zZ3N0ciAibW91bnTvvJrmsqHmnInmjIflrprnsbvlnosgLSDnqIvluo/lsIbmoLnmja4gLy8g5YmN57yA5YGH5a6a5Li6IGNpZnNcbiIKKworI34gbXNnaWQgIm1vdW50OiBpZ25vcmUgJXMgKHVucGFyc2FibGUgb2Zmc2V0PSBvcHRpb24pXG4iCisjfiBtc2dzdHIgIm1vdW5077ya5b+955WlICVzKOaXoOazleino+aekOeahCBvZmZzZXQ9IOmAiemhuSlcbiIKKworI34gbXNnaWQgIm1vdW50OiAlcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKKyN+IG1zZ3N0ciAibW91bnTvvJolcyDlt7LmjILovb3kuo4gJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogbW91bnQgLVYgICAgICAgICAgICAgICAgIDogcHJpbnQgdmVyc2lvblxuIgorI34gIiAgICAgICBtb3VudCAtaCAgICAgICAgICAgICAgICAgOiBwcmludCB0aGlzIGhlbHBcbiIKKyN+ICIgICAgICAgbW91bnQgICAgICAgICAgICAgICAgICAgIDogbGlzdCBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisjfiAiICAgICAgIG1vdW50IC1sICAgICAgICAgICAgICAgICA6IGlkZW0sIGluY2x1ZGluZyB2b2x1bWUgbGFiZWxzXG4iCisjfiAiU28gZmFyIHRoZSBpbmZvcm1hdGlvbmFsIHBhcnQuIE5leHQgdGhlIG1vdW50aW5nLlxuIgorI34gIlRoZSBjb21tYW5kIGlzIGBtb3VudCBbLXQgZnN0eXBlXSBzb21ldGhpbmcgc29tZXdoZXJlJy5cbiIKKyN+ICJEZXRhaWxzIGZvdW5kIGluIC9ldGMvZnN0YWIgbWF5IGJlIG9taXR0ZWQuXG4iCisjfiAiICAgICAgIG1vdW50IC1hIFstdHwtT10gLi4uICAgICA6IG1vdW50IGFsbCBzdHVmZiBmcm9tIC9ldGMvZnN0YWJcbiIKKyN+ICIgICAgICAgbW91bnQgZGV2aWNlICAgICAgICAgICAgIDogbW91bnQgZGV2aWNlIGF0IHRoZSBrbm93biBwbGFjZVxuIgorI34gIiAgICAgICBtb3VudCBkaXJlY3RvcnkgICAgICAgICAgOiBtb3VudCBrbm93biBkZXZpY2UgaGVyZVxuIgorI34gIiAgICAgICBtb3VudCAtdCB0eXBlIGRldiBkaXIgICAgOiBvcmRpbmFyeSBtb3VudCBjb21tYW5kXG4iCisjfiAiTm90ZSB0aGF0IG9uZSBkb2VzIG5vdCByZWFsbHkgbW91bnQgYSBkZXZpY2UsIG9uZSBtb3VudHNcbiIKKyN+ICJhIGZpbGVzeXN0ZW0gKG9mIHRoZSBnaXZlbiB0eXBlKSBmb3VuZCBvbiB0aGUgZGV2aWNlLlxuIgorI34gIk9uZSBjYW4gYWxzbyBtb3VudCBhbiBhbHJlYWR5IHZpc2libGUgZGlyZWN0b3J5IHRyZWUgZWxzZXdoZXJlOlxuIgorI34gIiAgICAgICBtb3VudCAtLWJpbmQgb2xkZGlyIG5ld2RpclxuIgorI34gIm9yIG1vdmUgYSBzdWJ0cmVlOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1vdmUgb2xkZGlyIG5ld2RpclxuIgorI34gIk9uZSBjYW4gY2hhbmdlIHRoZSB0eXBlIG9mIG1vdW50IGNvbnRhaW5pbmcgdGhlIGRpcmVjdG9yeSBkaXI6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1zaGFyZWQgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1zbGF2ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXByaXZhdGUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS11bmJpbmRhYmxlIGRpclxuIgorI34gIk9uZSBjYW4gY2hhbmdlIHRoZSB0eXBlIG9mIGFsbCB0aGUgbW91bnRzIGluIGEgbW91bnQgc3VidHJlZVxuIgorI34gImNvbnRhaW5pbmcgdGhlIGRpcmVjdG9yeSBkaXI6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1yc2hhcmVkIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNsYXZlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnByaXZhdGUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ydW5iaW5kYWJsZSBkaXJcbiIKKyN+ICJBIGRldmljZSBjYW4gYmUgZ2l2ZW4gYnkgbmFtZSwgc2F5IC9kZXYvaGRhMSBvciAvZGV2L2Nkcm9tLFxuIgorI34gIm9yIGJ5IGxhYmVsLCB1c2luZyAgLUwgbGFiZWwgIG9yIGJ5IHV1aWQsIHVzaW5nICAtVSB1dWlkIC5cbiIKKyN+ICJPdGhlciBvcHRpb25zOiBbLW5mRnJzdnddIFstbyBvcHRpb25zXSBbLXAgcGFzc3dkZmRdLlxuIgorI34gIkZvciBtYW55IG1vcmUgZGV0YWlscywgc2F5ICBtYW4gOCBtb3VudCAuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLnlKjms5XvvJogbW91bnQgLVYgICAgICAgICAgICAgICAgIDog5omT5Y2w54mI5pysXG4iCisjfiAiICAgICAgIG1vdW50IC1oICAgICAgICAgICAgICAgICA6IOaJk+WNsOatpOW4ruWKqVxuIgorI34gIiAgICAgICBtb3VudCAgICAgICAgICAgICAgICAgICAgOiDliJflh7rlt7LmjILoh7fnmoTmlofku7bns7vnu59cbiIKKyN+ICIgICAgICAgbW91bnQgLWwgICAgICAgICAgICAgICAgIDog5ZCM5LiK77yM5YyF5ZCr5Y235qCHXG4iCisjfiAi5Lul5LiK5Li65L+h5oGv6YOo5YiG44CC5Lul5LiL5piv5oyC6Ie344CCXG4iCisjfiAi5oyC6Ie35ZG95Luk5Li64oCcbW91bnQgWy10IOaWh+S7tuezu+e7n+exu+Wei10g5b6F5oyC6Ie36aG5IOaMguiHt+S9jee9ruKAneOAglxuIgorI34gIuWcqCAvZXRjL2ZzdGFiIOS4reWIl+WHuueahOe7huiKguWPr+S7peW/veeVpeOAglxuIgorI34gIiAgICAgICBtb3VudCAtYSBbLXR8LU9dIC4uLiAgICAgOiDmjILoh7cgL2V0Yy9mc3RhYiDkuK3nmoTmiYDmnInpoblcbiIKKyN+ICIgICAgICAgbW91bnQg6K6+5aSHICAgICAgICAgICAgICAgOiDmjILoh7fmnKrnn6XkvY3nva7nmoTorr7lpIdcbiIKKyN+ICIgICAgICAgbW91bnQg55uu5b2VICAgICAgICAgICAgICAgOiDlsIblt7Lnn6Xorr7lpIfmjILoh7fliLDmraTlpIRcbiIKKyN+ICIgICAgICAgbW91bnQgLXQg57G75Z6LIOiuvuWkhyDnm67lvZUgIDog5q2j5bi45oyC6Ie35ZG95LukXG4iCisjfiAi5rOo5oSP77yM5oyC6Ie36K6+5aSH5YW25a6e5pivKOS7peaMh+Wumuexu+WeiynmjILoh7forr7lpIfkuIrnmoTmlofku7bns7vnu5/jgIJcbiIKKyN+ICJcbiIKKyN+ICLkuZ/lj6/ku6XlsIblt7Lnu4/lj6/op4HnmoTnm67lvZXmoJHmjILoh7fliLDliKvlpITvvJpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1iaW5kIOaXp+ebruW9lSDmlrDnm67lvZVcbiIKKyN+ICLmiJbnp7vliqjlrZDmoJHvvJpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tb3ZlIOaXp+ebruW9lSDmlrDnm67lvZVcbiIKKyN+ICLlj6/ku6XmlLnlj5jljIXlkKsgZGlyIOebruW9leeahOaMguiHt+eahOexu+Wei++8mlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2hhcmVkIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2xhdmUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1wcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtdW5iaW5kYWJsZSBkaXJcbiIKKyN+ICLlj6/ku6XmjIflrprljIXlkKsgZGlyIOebruW9leeahOW3suaMguiHt+WtkOagkeS4rVxuIgorI34gIuaJgOacieaMguiHt+eahOexu+Wei++8mlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzbGF2ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJwcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnVuYmluZGFibGUgZGlyXG4iCisjfiAi5Y+v5Lul6YCa6L+H5ZCN56ew5oyH5a6a6K6+5aSH77yM5aaCIC9kZXYvaGRhMSDmiJYgL2Rldi9jZHJvbe+8jFxuIgorI34gIuaIluS9v+eUqCAtTCDmoIfnrb4g5oyJ5qCH562+5oyH5a6a6K6+5aSH77yM5oiW6ICF5L2/55SoIC1VIHV1aWQg5oyJIHV1aWQg5oyH5a6a44CCXG4iCisjfiAi5YW25LuW6YCJ6aG577yaWy1uZkZyc3Z3XSBbLW8g6YCJ6aG5XSBbLXAg5a+G56CB5paH5Lu25o+P6L+w56ymXS5cbiIKKyN+ICLmm7TlpJrnu4boioLvvIzor7fovpPlhaUgbWFuIDggbW91bnQg5LqG6Kej44CCXG4iCisKKyN+IG1zZ2lkICItLXBhc3MtZmQgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCIKKyN+IG1zZ3N0ciAiLS1wYXNzLWZkIOW3suS4jeWGjeaUr+aMgSIKKworI34gbXNnaWQgIm1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorI34gbXNnc3RyICLmjILoh7fvvJrlj6rmnIkgcm9vdCDnlKjmiLfmiY3og73miafooYwo5pyJ5pWIIFVJRCDkuLogJXUpIgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKKyN+IG1zZ3N0ciAi5oyC6Ie377ya5Y+q5pyJIHJvb3Qg55So5oi35omN6IO95omn6KGMIgorCisjfiBtc2dpZCAibm90aGluZyB3YXMgbW91bnRlZCIKKyN+IG1zZ3N0ciAi5pyq5oyC6Ie35Lu75L2V6aG555uuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHN1Y2ggcGFydGl0aW9uIGZvdW5kIgorI34gbXNnc3RyICLmjILoh7fvvJrmsqHmnInmib7liLDor6XliIbljLoiCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3QgZmluZCAlcyBpbiAlcyBvciAlcyIKKyN+IG1zZ3N0ciAibW91bnTvvJrlnKggJTIkcyDmiJYgJTMkcyDkuK3mib7kuI3liLAgJTEkcyIKKworI34gbXNnaWQgIlttbnRlbnRdOiB3YXJuaW5nOiBubyBmaW5hbCBuZXdsaW5lIGF0IHRoZSBlbmQgb2YgJXNcbiIKKyN+IG1zZ3N0ciAiW21udGVudF3vvJrorablkYrvvJolcyDmnKvlsL7msqHmnInku6XnqbrooYznu5PmnZ9cbiIKKworI34gbXNnaWQgIlttbnRlbnRdOiBsaW5lICVkIGluICVzIGlzIGJhZCVzXG4iCisjfiBtc2dzdHIgIlttbnRlbnRd77yaJTIkcyDkuK3nmoTnrKwgJTEkZCDooYzmnInor68lMyRzXG4iCisKKyN+IG1zZ2lkICI7IHJlc3Qgb2YgZmlsZSBpZ25vcmVkIgorI34gbXNnc3RyICLvvJvmlofku7bnmoTlhbbkvZnpg6jliIbooqvlv73nlaUiCisKKyN+IG1zZ2lkICJub3QgZW5vdWdoIG1lbW9yeSIKKyN+IG1zZ3N0ciAi5YaF5a2Y5LiN6LazIgorCisjfiBtc2dpZCAidW1vdW50OiBjb21waWxlZCB3aXRob3V0IHN1cHBvcnQgZm9yIC1mXG4iCisjfiBtc2dzdHIgInVtb3VudO+8mue8luivkeaXtuacqua3u+WKoCAtZiDmlK/mjIFcbiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IHNldCBncm91cCBpZDogJW0iCisjfiBtc2dzdHIgInVtb3VudO+8muaXoOazleiuvue9rue7hCBpZO+8miVtIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3Qgc2V0IHVzZXIgaWQ6ICVtIgorI34gbXNnc3RyICJ1bW91bnTvvJrml6Dms5Xorr7nva7nlKjmiLcgaWTvvJolbSIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IGZvcms6ICVzIgorI34gbXNnc3RyICJ1bW91bnTvvJrml6Dms5UgZm9ya++8miVzIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogaW52YWxpZCBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgInVtb3VudO+8miVz77ya5peg5pWI55qE5Z2X6K6+5aSHIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogbm90IG1vdW50ZWQiCisjfiBtc2dzdHIgInVtb3VudO+8miVz77ya5pyq5oyC6L29IgorCisjfiBtc2dpZCAidW1vdW50OiAlczogY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAidW1vdW5077yaJXPvvJrml6Dms5XlhpnotoXnuqflnZciCisKKyN+IG1zZ2lkICIiCisjfiAidW1vdW50OiAlczogZGV2aWNlIGlzIGJ1c3kuXG4iCisjfiAiICAgICAgICAoSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBhYm91dCBwcm9jZXNzZXMgdGhhdCB1c2VcbiIKKyN+ICIgICAgICAgICB0aGUgZGV2aWNlIGlzIGZvdW5kIGJ5IGxzb2YoOCkgb3IgZnVzZXIoMSkpIgorI34gbXNnc3RyICIiCisjfiAidW1vdW5077yaJXPvvJrorr7lpIflv5njgIJcbiIKKyN+ICIgICAgICAgICjmnInkupvmg4XlhrXkuIvlnKggbHNvZig4KSDmiJYgZnVzZXIoMSkpIOS4reWPr+S7peaJvuWIsFxuIgorI34gIiAgICAgICAgIOacieWFs+S9v+eUqOivpeiuvuWkh+eahOi/m+eoi+eahOacieeUqOS/oeaBryIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG5vdCBmb3VuZCIKKyN+IG1zZ3N0ciAidW1vdW5077yaJXPvvJrmnKrmib7liLAiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBtdXN0IGJlIHN1cGVydXNlciB0byB1bW91bnQiCisjfiBtc2dzdHIgInVtb3VudO+8miVz77ya5Y+q5pyJ6LaF57qn55So5oi35omN6IO95Y246L29IgorCisjfiBtc2dpZCAidW1vdW50OiAlczogYmxvY2sgZGV2aWNlcyBub3QgcGVybWl0dGVkIG9uIGZzIgorI34gbXNnc3RyICJ1bW91bnTvvJolc++8muaWh+S7tuezu+e7n+S4iuS4jeWFgeiuuOWdl+iuvuWkhyIKKworI34gbXNnaWQgInVtb3VudDogJXM6ICVzIgorI34gbXNnc3RyICJ1bW91bnTvvJolc++8miVzIgorCisjfiBtc2dpZCAidW1vdW50OiBpbnRlcm5hbCBlcnJvcjogaW52YWxpZCBhYnMgcGF0aDogJXMiCisjfiBtc2dzdHIgInVtb3VudO+8muWGhemDqOmUmeivr++8muaXoOaViOeahOe7neWvuei3r+W+hO+8miVzIgorCisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gY2hkaXIgdG8gJXM6ICVtIgorI34gbXNnc3RyICJ1bW91bnTvvJrmm7TmlLnnm67lvZXliLAgJXMg5aSx6LSl77yaJW0iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGZhaWxlZCB0byBvYnRhaW4gY3VycmVudCBkaXJlY3Rvcnk6ICVtIgorI34gbXNnc3RyICJ1bW91bnTvvJrojrflj5blvZPliY3nm67lvZXlpLHotKXvvJolbSIKKworI34gbXNnaWQgInVtb3VudDogbW91bnRwb2ludCBtb3ZlZCAoJXMgLT4gJXMpIgorI34gbXNnc3RyICJ1bW91bnTvvJrmjILovb3ngrnlt7Lnp7vliqgoJXMgLT4gJXMpIgorCisjfiBtc2dpZCAiY3VycmVudCBkaXJlY3RvcnkgbW92ZWQgdG8gJXNcbiIKKyN+IG1zZ3N0ciAi5b2T5YmN55uu5b2V5bey56e75Yqo5YiwICVzXG4iCisKKyN+IG1zZ2lkICJubyB1bW91bnQyLCB0cnlpbmcgdW1vdW50Li4uXG4iCisjfiBtc2dzdHIgIuaXoCB1bW91bnQy77yM5bCG5bCd6K+VIHVtb3VudC4uLlxuIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBidXN5IC0gcmVtb3VudGVkIHJlYWQtb25seVxuIgorI34gbXNnc3RyICJ1bW91bnTvvJolcyDlv5kgLSDlt7Lph43mlrDmjILovb3kuLrlj6ror7tcbiIKKworI34gbXNnaWQgInVtb3VudDogY291bGQgbm90IHJlbW91bnQgJXMgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudO+8muaXoOazleS7peWPquivu+aWueW8j+mHjeaWsOaMgui9vSAlc1xuIgorCisjfiBtc2dpZCAiJXMgaGFzIGJlZW4gdW5tb3VudGVkXG4iCisjfiBtc2dzdHIgIiVzIOW3sue7j+WNuOi9vVxuIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgZmluZCBsaXN0IG9mIGZpbGVzeXN0ZW1zIHRvIHVubW91bnQiCisjfiBtc2dzdHIgInVtb3VudO+8muaJvuS4jeWIsOimgeWNuOi9veeahOaWh+S7tuezu+e7n+WIl+ihqCIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogdW1vdW50IC1oIHwgLVZcbiIKKyN+ICIgICAgICAgdW1vdW50IC1hIFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBbLXQgdmZzdHlwZXNdIFstTyBvcHRzXVxuIgorI34gIiAgICAgICB1bW91bnQgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIHNwZWNpYWwgfCBub2RlLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLnlKjms5XvvJp1bW91bnQgLWggfCAtVlxuIgorI34gIiAgICAgICB1bW91bnQgLWEgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIFstdCDmlofku7bns7vnu5/nsbvlnotdIFstTyDpgInpobldXG4iCisjfiAiICAgICAgIHVtb3VudCBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0g54m55q6KIHwg6IqC54K5Li4uXG4iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJ29mZnNldD0lcycgb3B0aW9uc1xuIgorI34gbXNnc3RyICLop6PmnpAgJ29mZnNldD0lcycg6YCJ6aG55aSx6LSlXG4iCisKKyN+IG1zZ2lkICJkZXZpY2UgJXMgaXMgYXNzb2NpYXRlZCB3aXRoICVzXG4iCisjfiBtc2dzdHIgIuiuvuWkhyAlcyDkuI4gJXMg5YWz6IGUXG4iCisKKyN+IG1zZ2lkICJkZXZpY2UgJXMgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICLorr7lpIcgJXMg5pyq5LiOICVzIOWFs+iBlFxuIgorCisjfiBtc2dpZCAiQ2Fubm90IHVubW91bnQgXCJcIlxuIgorI34gbXNnc3RyICLml6Dms5Xljbjovb0gXCJcIlxuIgorCisjfiBtc2dpZCAiVHJ5aW5nIHRvIHVubW91bnQgJXNcbiIKKyN+IG1zZ3N0ciAi5q2j5Zyo5bCd6K+V5Y246L29ICVzXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNvbmZ1c2VkIHdoZW4gYW5hbHl6aW5nIG10YWIiCisjfiBtc2dzdHIgInVtb3VudO+8muWIhuaekCBtdGFiIOaXtuWHuueOsOa3t+S5sSIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IHVubW91bnQgJXMgLS0gJXMgaXMgbW91bnRlZCBvdmVyIGl0IG9uIHRoZSBzYW1lIHBvaW50IgorI34gbXNnc3RyICJ1bW91bnTvvJrml6Dms5Xljbjovb0gJXMgLS0gJXMg5bey5Zyo5ZCM5LiA5oyC6L2954K55LiK5oyC6L295pu/5o2i5LqG5a6DIgorCisjfiBtc2dpZCAiQ291bGQgbm90IGZpbmQgJXMgaW4gbXRhYlxuIgorI34gbXNnc3RyICLlnKggbXRhYiDkuK3mib7kuI3liLAgJXNcbiIKKworI34gbXNnaWQgInVtb3VudDogd2FybmluZzogJXMgaXMgYXNzb2NpYXRlZCB3aXRoIG1vcmUgdGhhbiBvbmUgbG9vcCBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAidW1vdW5077ya6K2m5ZGK77yaJXMg5LiO6LaF6L+H5LiA5Liq5Zue546v6K6+5aSH5YWz6IGUXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGlzIG5vdCBtb3VudGVkIChhY2NvcmRpbmcgdG8gbXRhYikiCisjfiBtc2dzdHIgInVtb3VudO+8miVzIOacquaMgui9vSjku44gbXRhYiDlvpfnn6UpIgorCisjfiBtc2dpZCAidW1vdW50OiBpdCBzZWVtcyAlcyBpcyBtb3VudGVkIG11bHRpcGxlIHRpbWVzIgorI34gbXNnc3RyICJ1bW91bnTvvJrkvLzkuY4gJXMg5oyC6L295LqG5aSa5qyhIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBpcyBub3QgaW4gdGhlIGZzdGFiIChhbmQgeW91IGFyZSBub3Qgcm9vdCkiCisjfiBtc2dzdHIgInVtb3VudO+8miVzIOS4jeWcqCBmc3RhYiDkuK0o5bm25LiU5oKo5LiN5pivIHJvb3Qg55So5oi3KSIKKworI34gbXNnaWQgInVtb3VudDogJXMgbW91bnQgZGlzYWdyZWVzIHdpdGggdGhlIGZzdGFiIgorI34gbXNnc3RyICJ1bW91bnTvvJolcyDmjILovb3kuI4gZnN0YWIg5LiN5LiA6Ie0IgorCisjfiBtc2dpZCAidW1vdW50OiBvbmx5ICVzIGNhbiB1bm1vdW50ICVzIGZyb20gJXMiCisjfiBtc2dzdHIgInVtb3VudO+8muWPquaciSAlcyDlj6/ku6Xku44gJXMg5LiK5Y246L29ICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCisjfiBtc2dzdHIgInVtb3VudO+8muWPquaciSByb290IOiDveaJp+ihjOivpeaTjeS9nCIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICIlMSRzIC0gc2V0cyBvciBnZXRzIHByb2Nlc3MgaW8gc2NoZWR1bGluZyBjbGFzcyBhbmQgcHJpb3JpdHkuXG4iCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICAlMSRzIFtPUFRJT05dIC1wIFBJRCBbUElELi4uXVxuIgorI34gIiAgJTEkcyBbT1BUSU9OXSBDT01NQU5EXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgIC1jLCAtLWNsYXNzIDxjbGFzcz4gICBzY2hlZHVsaW5nIGNsYXNzIG5hbWUgb3IgbnVtYmVyXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCisjfiAiICAtbiwgLS1jbGFzc2RhdGEgPG51bT4gc2NoZWR1bGluZyBjbGFzcyBkYXRhXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgMC03IGZvciByZWFsdGltZSBhbmQgYmVzdC1lZmZvcnQgY2xhc3Nlc1xuIgorI34gIiAgLXAsIC0tcGlkPVBJRCAgICAgICAgIHZpZXcgb3IgbW9kaWZ5IGFscmVhZHkgcnVubmluZyBwcm9jZXNzXG4iCisjfiAiICAtdCwgLS1pZ25vcmUgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCisjfiAiICAtViwgLS12ZXJzaW9uICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgIC1oLCAtLWhlbHAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiJTEkcyAtIOiuvue9ruaIluiOt+WPlui/m+eoiyBpbyDosIPluqbnsbvliKvlkozkvJjlhYjnuqfjgIJcbiIKKyN+ICJcbiIKKyN+ICLnlKjms5XvvJpcbiIKKyN+ICIgICUxJHMgW+mAiemhuV0gLXAgUElEIFtQSUQuLi5dXG4iCisjfiAiICAlMSRzIFvpgInpobldIOWRveS7pFxuIgorI34gIlxuIgorI34gIumAiemhue+8mlxuIgorI34gIiAgLWMsIC0tY2xhc3MgPOexuz4gICAgICDosIPluqbnsbvliKvlkI3miJbmlbDlrZdcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAw77ya5peg77yMMe+8muWunuaXtu+8jDLvvJrlsL3ph48oYmVzdC1lZmZvcnQp77yMM++8muepuumXslxuIgorI34gIiAgLW4sIC0tY2xhc3NkYXRhIDzmlbDlrZc+IOiwg+W6puexu+WIq+aVsOaNrlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDAtN++8jOmSiOWvuSDlrp7ml7Yg5ZKMIOWwvemHjyDosIPluqbnsbvliKtcbiIKKyN+ICIgIC1wLCAtLXBpZD1QSUQgICAgICAgICDmn6XnnIvmiJbkv67mlLnlt7Lov5DooYznmoTov5vnqItcbiIKKyN+ICIgIC10LCAtLWlnbm9yZSAgICAgICAgICDlv73nlaXlpLHotKVcbiIKKyN+ICIgIC1WLCAtLXZlcnNpb24gICAgICAgICDovpPlh7rniYjmnKzkv6Hmga/lubbpgIDlh7pcbiIKKyN+ICIgIC1oLCAtLWhlbHAgICAgICAgICAgICDmmL7npLrmraTluK7liqnlubbpgIDlh7pcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPHR0eT4gWy4uLl1cbiIKKyN+IG1zZ3N0ciAiICVzIFvpgInpobldIDx0dHk+IFsuLi5dXG4iCisKKyN+IG1zZ2lkICIgLXMsIC0tc2V0LXRocmVzaG9sZCA8bnVtPiAgICAgICAgICBzZXQgaW50ZXJydXB0aW9uIHRocmVzaG9sZCB2YWx1ZVxuIgorI34gbXNnc3RyICIgLXMsIC0tc2V0LXRocmVzaG9sZCA85pWw5a2XPiAgICAgICAgIOiuvue9ruS4reaWremYiOWAvFxuIgorCisjfiBtc2dpZCAiIC1TLCAtLXNldC1kZWZhdWx0LXRocmVzaG9sZCA8bnVtPiAgc2V0IGRlZmF1bHQgdGhyZXNob2xkIHZhbHVlXG4iCisjfiBtc2dzdHIgIiAtUywgLS1zZXQtZGVmYXVsdC10aHJlc2hvbGQgPOaVsOWtlz4g6K6+572u6buY6K6k6ZiI5YC8XG4iCisKKyN+IG1zZ2lkICIgLXQsIC0tc2V0LWZsdXNoIDxudW0+ICAgICAgICAgICAgICBzZXQgZmx1c2ggdGltZW91dCB0byB2YWx1ZVxuIgorI34gbXNnc3RyICIgLXQsIC0tc2V0LWZsdXNoIDzmlbDlrZc+ICAgICAgICAgICAgIOiuvue9ruWGsuWItyhmbHVzaCnotoXml7blgLxcbiIKKworI34gbXNnaWQgIiAtVCwgLS1zZXQtZGVmYXVsdC1mbHVzaCA8bnVtPiAgICAgIHNldCB0aGUgZGVmYXVsdCBmbHVzaCB0aW1lb3V0IHRvIHZhbHVlXG4iCisjfiBtc2dzdHIgIiAtVCwgLS1zZXQtZGVmYXVsdC1mbHVzaCA85pWw5a2XPiAgICAg6K6+572u6buY6K6k5Yay5Yi36LaF5pe2XG4iCisKKyN+IG1zZ2lkICIgLWksIC0taW50ZXJ2YWwgPHNlY29uZHM+ICAgICAgICAgICBnYXRoZXIgc3RhdGlzdGljcyBldmVyeSA8c2Vjb25kcz4gaW50ZXJ2YWxcbiIKKyN+IG1zZ3N0ciAiIC1pLCAtLWludGVydmFsIDznp5LmlbA+ICAgICAgICAgICAgICDmr4/pmpTov5nkupsgPOenkuaVsD4g5pS26ZuG5LiA5qyh57uf6K6hXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRmlsZSAlcywgRm9yIHRocmVzaG9sZCB2YWx1ZSAlbHUsIE1heGltdW0gY2hhcmFjdGVycyBpbiBmaWZvIHdlcmUgJWQsXG4iCisjfiAiYW5kIHRoZSBtYXhpbXVtIHRyYW5zZmVyIHJhdGUgaW4gY2hhcmFjdGVycy9zZWNvbmQgd2FzICVmIgorI34gbXNnc3RyICIiCisjfiAi5paH5Lu2ICVz77yM5a+55bqU6ZiI5YC8ICVsde+8jGZpZm8g5Lit55qE5pyA5aSn5a2X56ym5pWw5Li6ICVk77yMXG4iCisjfiAi5pyA5aSn5Lyg6L6T6YCf5bqmKOWtl+iKgi/np5Ip5Li6ICVmIgorCisjfiBtc2dpZCAiIgorI34gIkZpbGUgJXMsIEZvciB0aHJlc2hvbGQgdmFsdWUgJWx1IGFuZCB0aW1lb3V0IHZhbHVlICVsdSwgTWF4aW11bSBjaGFyYWN0ZXJzIGluIGZpZm8gd2VyZSAlZCxcbiIKKyN+ICJhbmQgdGhlIG1heGltdW0gdHJhbnNmZXIgcmF0ZSBpbiBjaGFyYWN0ZXJzL3NlY29uZCB3YXMgJWYiCisjfiBtc2dzdHIgIiIKKyN+ICLmlofku7YgJXPvvIzlr7nlupTpmIjlgLwgJWx1IOWSjOi2heaXtiAlbHXvvIxmaWZvIOS4reeahOacgOWkp+Wtl+espuaVsOS4uiAlZO+8jFxuIgorI34gIuacgOWkp+S8oOi+k+mAn+W6pijlrZfoioIv56eSKeS4uiAlZiIKKworI34gbXNnaWQgImNhbm5vdCBpc3N1ZSBDWUdFVE1PTiBvbiAlcyIKKyN+IG1zZ3N0ciAi5peg5rOV5a+5ICVzIOWunuaWvSBDWUdFVE1PTiDlkb3ku6QiCisKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRocmVzaG9sZCBmb3IgJXMiCisjfiBtc2dzdHIgIuaXoOazleiOt+WPliAlcyDnmoTpmIjlgLwiCisKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRpbWVvdXQgZm9yICVzIgorI34gbXNnc3RyICLml6Dms5Xojrflj5YgJXMg55qE6LaF5pe2IgorCisjfiBtc2dpZCAiJXM6ICVsdSBpbnRzLCAlbHUvJWx1IGNoYXJzOyBmaWZvOiAlbHUgdGhyZXNoLCAlbHUgdG1vdXQsICVsdSBtYXgsICVsdSBub3dcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsdSBpbnRzLCAlbHUvJWx1IGNoYXJzOyBmaWZvOiAlbHUgdGhyZXNoLCAlbHUgdG1vdXQsICVsdSBtYXgsICVsdSBub3dcbiIKKworI34gbXNnaWQgIiAgICVmIGludC9zZWM7ICVmIHJlYywgJWYgc2VuZCAoY2hhci9zZWMpXG4iCisjfiBtc2dzdHIgIiAgICVmIGludC/np5I7ICVmIHJlYywgJWYg5Y+R6YCBIChjaGFyL+enkilcbiIKKworI34gbXNnaWQgIiVzOiAlbHUgaW50cywgJWx1IGNoYXJzOyBmaWZvOiAlbHUgdGhyZXNoLCAlbHUgdG1vdXQsICVsdSBtYXgsICVsdSBub3dcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsdSBpbnRzLCAlbHUgY2hhcnM7IGZpZm86ICVsdSB0aHJlc2gsICVsdSB0bW91dCwgJWx1IG1heCwgJWx1IG5vd1xuIgorCisjfiBtc2dpZCAiICAgJWYgaW50L3NlYzsgJWYgcmVjIChjaGFyL3NlYylcbiIKKyN+IG1zZ3N0ciAiICAgJWYgaW50L+enkjsgJWYgcmVjIChjaGFyL+enkilcbiIKKworI34gbXNnaWQgIkludmFsaWQgaW50ZXJ2YWwgdmFsdWUiCisjfiBtc2dzdHIgIuaXoOaViOeahOmXtOmalOWAvCIKKworI34gbXNnaWQgIkludmFsaWQgaW50ZXJ2YWwgdmFsdWU6ICVkIgorI34gbXNnc3RyICLml6DmlYjnmoTpl7TpmpTlgLzvvJolZCIKKworI34gbXNnaWQgIkludmFsaWQgc2V0IHZhbHVlIgorI34gbXNnc3RyICLml6DmlYjnmoTorr7nva7lgLwiCisKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIuaXoOaViOeahOiuvue9ruWAvO+8miVkIgorCisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHZhbHVlIgorI34gbXNnc3RyICLml6DmlYjnmoTpu5jorqTlgLwiCisKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdmFsdWU6ICVkIgorI34gbXNnc3RyICLml6DmlYjnmoTpu5jorqTlgLzvvJolZCIKKworI34gbXNnaWQgIkludmFsaWQgc2V0IHRpbWUgdmFsdWUiCisjfiBtc2dzdHIgIuaXoOaViOeahOiuvue9ruaXtumXtOWAvCIKKworI34gbXNnaWQgIkludmFsaWQgc2V0IHRpbWUgdmFsdWU6ICVkIgorI34gbXNnc3RyICLml6DmlYjnmoTorr7nva7ml7bpl7TlgLzvvJolZCIKKworI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICLml6DmlYjnmoTpu5jorqTml7bpl7TlgLwiCisKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdGltZSB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIuaXoOaViOeahOm7mOiupOaXtumXtOWAvO+8miVkIgorCisjfiBtc2dpZCAiY2Fubm90IHNldCAlcyB0byB0aHJlc2hvbGQgJWQiCisjfiBtc2dzdHIgIuaXoOazleWwhiAlcyDorr7nva7kuLrpmIjlgLwgJWQiCisKKyN+IG1zZ2lkICJjYW5ub3Qgc2V0ICVzIHRvIHRpbWUgdGhyZXNob2xkICVkIgorI34gbXNnc3RyICLml6Dms5XlsIYgJXMg6K6+572u5Li65pe26Ze06ZiI5YC8ICVkIgorCisjfiBtc2dpZCAiJXM6ICVsZCBjdXJyZW50IHRocmVzaG9sZCBhbmQgJWxkIGN1cnJlbnQgdGltZW91dFxuIgorI34gbXNnc3RyICIlc++8miVsZCDnmoTlvZPliY3pmIjlgLzlkowgJWxkIOeahOW9k+WJjei2heaXtlxuIgorCisjfiBtc2dpZCAiJXM6ICVsZCBkZWZhdWx0IHRocmVzaG9sZCBhbmQgJWxkIGRlZmF1bHQgdGltZW91dFxuIgorI34gbXNnc3RyICIlc++8miVsZCDnmoTpu5jorqTpmIjlgLzlkowgJWxkIOeahOm7mOiupOi2heaXtlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbiwgLS1rZWVwLXNpemUgICAgIGRvbid0IG1vZGlmeSB0aGUgbGVuZ3RoIG9mIHRoZSBmaWxlXG4iCisjfiAiIC1wLCAtLXB1bmNoLWhvbGUgICAgcHVuY2ggaG9sZXMgaW4gdGhlIGZpbGVcbiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgb2YgdGhlIGFsbG9jYXRpb24sIGluIGJ5dGVzXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIHRoZSBhbGxvY2F0aW9uLCBpbiBieXRlc1xuIgorI34gbXNnc3RyICIiCisjfiAiIC1uLCAtLWtlZXAtc2l6ZSAgICAg5LiN5L+u5pS55paH5Lu26ZW/5bqmXG4iCisjfiAiIC1wLCAtLXB1bmNoLWhvbGUgICAg5Zyo5paH5Lu25Lit55WZ5Ye656m65rSeXG4iCisjfiAiIC1vLCAtLW9mZnNldCA85pWw5a2XPiAg5YiG6YWN55qE5YGP56e7KOWtl+iKguaVsClcbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDzmlbDlrZc+ICDliIbphY3nmoTplb/luqYo5a2X6IqC5pWwKVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKKyN+ICIgLW0sIC0tbWluaW11bSA8bnVtPiBtaW5pbXVtIGV4dGVudCBsZW5ndGggdG8gZGlzY2FyZFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IG51bWJlciBvZiBkaXNjYXJkZWQgYnl0ZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtbywgLS1vZmZzZXQgPOaVsOWtlz4gIOimgeS4ouW8g+WGheWuueeahOi1t+Wni+WBj+enu+mHj1xuIgorI34gIiAtbCwgLS1sZW5ndGggPOaVsOWtlz4gIOS7juWBj+enu+mHj+W8gOWni+eahOS4ouW8g+mVv+W6plxuIgorI34gIiAtbSwgLS1taW5pbXVtIDzmlbDlrZc+IOimgeS4ouW8g+eahOacgOWwj+iMg+WbtOmVv+W6plxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICDmiZPljbDkuKLlvIPlrZfoioLnmoTplb/luqZcbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaW1lIGVsYXBzZWQgc2luY2UgcmVmZXJlbmNlIHRpbWUgaGFzIGJlZW4gJS42ZiBzZWNvbmRzLlxuIgorI34gIkRlbGF5aW5nIGZ1cnRoZXIgdG8gcmVhY2ggdGhlIG5ldyB0aW1lLlxuIgorI34gbXNnc3RyICIiCisjfiAi5pe26Ze05LuO5Y+C6ICD5pe25Yi76LW35bey5rWB6YCdICUuNmYg56eS44CCXG4iCisjfiAi5bCG5bu26L+f5pu06ZW/5pe26Ze05p2l5Yiw6L6+5paw5pe26Ze044CCXG4iCisKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGRldGVybWluZSBzb3VyY2UiCisjfiBtc2dzdHIgIiVz77ya56Gu5a6a5rqQ5aSx6LSlIgorCisjfiBtc2dpZCAiIC10ZXJtIDx0ZXJtaW5hbF9uYW1lPlxuIgorI34gbXNnc3RyICIgLXRlcm0gPOe7iOerr+WQjT5cbiIKKworI34gbXNnaWQgIiAtcmVzZXRcbiIKKyN+IG1zZ3N0ciAiIC1yZXNldFxuIgorCisjfiBtc2dpZCAiIC1pbml0aWFsaXplXG4iCisjfiBtc2dzdHIgIiAtaW5pdGlhbGl6ZVxuIgorCisjfiBtc2dpZCAiIC1jdXJzb3IgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1jdXJzb3IgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtcmVwZWF0IDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtcmVwZWF0IDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLWFwcGN1cnNvcmtleXMgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1hcHBjdXJzb3JrZXlzIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLWxpbmV3cmFwIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtbGluZXdyYXAgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtZGVmYXVsdFxuIgorI34gbXNnc3RyICIgLWRlZmF1bHRcbiIKKworI34gbXNnaWQgIiAtZm9yZWdyb3VuZCA8ZGVmYXVsdHxibGFja3xibHVlfGN5YW58Z3JlZW58bWFnZW50YXxyZWR8d2hpdGV8eWVsbG93PlxuIgorI34gbXNnc3RyICIgLWZvcmVncm91bmQgPGRlZmF1bHR8YmxhY2t8Ymx1ZXxjeWFufGdyZWVufG1hZ2VudGF8cmVkfHdoaXRlfHllbGxvdz5cbiIKKworI34gbXNnaWQgIiAtYmFja2dyb3VuZCA8ZGVmYXVsdHxibGFja3xibHVlfGN5YW58Z3JlZW58bWFnZW50YXxyZWR8d2hpdGV8eWVsbG93PlxuIgorI34gbXNnc3RyICIgLWJhY2tncm91bmQgPGRlZmF1bHR8YmxhY2t8Ymx1ZXxjeWFufGdyZWVufG1hZ2VudGF8cmVkfHdoaXRlfHllbGxvdz5cbiIKKworI34gbXNnaWQgIiAtaGJjb2xvciA8YmxhY2t8Ymx1ZXxicmlnaHR8Y3lhbnxncmVlbnxncmV5fG1hZ2VudGF8cmVkfHdoaXRlfHllbGxvdz5cbiIKKyN+IG1zZ3N0ciAiIC1oYmNvbG9yIDxibGFja3xibHVlfGJyaWdodHxjeWFufGdyZWVufGdyZXl8bWFnZW50YXxyZWR8d2hpdGV8eWVsbG93PlxuIgorCisjfiBtc2dpZCAiIC1pbnZlcnNlc2NyZWVuIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtaW52ZXJzZXNjcmVlbiA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1ib2xkIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtYm9sZCA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1ibGluayA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLWJsaW5rIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLXJldmVyc2UgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1yZXZlcnNlIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLXVuZGVybGluZSA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLXVuZGVybGluZSA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1zdG9yZVxuIgorI34gbXNnc3RyICIgLXN0b3JlXG4iCisKKyN+IG1zZ2lkICIgLWNsZWFyIDxhbGx8cmVzdD5cbiIKKyN+IG1zZ3N0ciAiIC1jbGVhciA8YWxsfHJlc3Q+XG4iCisKKyN+IG1zZ2lkICIgLXRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICAgICAodGFibiA9IDEtMTYwKVxuIgorI34gbXNnc3RyICIgLXRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICAgICAodGFibiA9IDEtMTYwKVxuIgorCisjfiBtc2dpZCAiIC1jbHJ0YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+IG1zZ3N0ciAiIC1jbHJ0YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgKHRhYm4gPSAxLTE2MClcbiIKKworI34gbXNnaWQgIiAtcmVndGFicyA8MS0xNjA+XG4iCisjfiBtc2dzdHIgIiAtcmVndGFicyA8MS0xNjA+XG4iCisKKyN+IG1zZ2lkICIgLWJsYW5rIDwwLTYwfGZvcmNlfHBva2U+XG4iCisjfiBtc2dzdHIgIiAtYmxhbmsgPDAtNjB8Zm9yY2V8cG9rZT5cbiIKKworI34gbXNnaWQgIiAtZHVtcCAgIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gbXNnc3RyICIgLWR1bXAgICA8MS1OUl9DT05TT0xFUz5cbiIKKworI34gbXNnaWQgIiAtYXBwZW5kIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gbXNnc3RyICIgLWFwcGVuZCA8MS1OUl9DT05TT0xFUz5cbiIKKworI34gbXNnaWQgIiAtZmlsZSBkdW1wZmlsZW5hbWVcbiIKKyN+IG1zZ3N0ciAiIC1maWxlIGR1bXBmaWxlbmFtZVxuIgorCisjfiBtc2dpZCAiIC1tc2cgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1tc2cgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtbXNnbGV2ZWwgPDAtOD5cbiIKKyN+IG1zZ3N0ciAiIC1tc2dsZXZlbCA8MC04PlxuIgorCisjfiBtc2dpZCAiIC1wb3dlcmRvd24gPDAtNjA+XG4iCisjfiBtc2dzdHIgIiAtcG93ZXJkb3duIDwwLTYwPlxuIgorCisjfiBtc2dpZCAiIC1ibGVuZ3RoIDwwLTIwMDA+XG4iCisjfiBtc2dzdHIgIiAtYmxlbmd0aCA8MC0yMDAwPlxuIgorCisjfiBtc2dpZCAiIC1iZnJlcSBmcmVxbnVtYmVyXG4iCisjfiBtc2dzdHIgIiAtYmZyZXEgZnJlcW51bWJlclxuIgorCisjfiBtc2dpZCAiIC12ZXJzaW9uXG4iCisjfiBtc2dzdHIgIiAtdmVyc2lvblxuIgorCisjfiBtc2dpZCAiIC1oZWxwXG4iCisjfiBtc2dzdHIgIiAtaGVscFxuIgorCisjfiBtc2dpZCAiRXJyb3Igd3JpdGluZyBzY3JlZW5kdW1wIgorI34gbXNnc3RyICLlhpnlsY/luZXovazlgqjlpLHotKUiCisKKyN+IG1zZ2lkICJDb3VsZG4ndCByZWFkIG5laXRoZXIgL2Rldi92Y3NhMCBub3IgL2Rldi92Y3NhIgorI34gbXNnc3RyICLml6Dms5Xor7sgL2Rldi92Y3NhMCDmiJYgL2Rldi92Y3NhIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAi55So5rOV77yaJXMgW+mAiemhuV0g5paH5Lu2Li4uXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgIC1kICAgICAgICBkaXNwbGF5IGhlbHAgaW5zdGVhZCBvZiByaW5nIGJlbGxcbiIKKyN+ICIgIC1mICAgICAgICBjb3VudCBsb2dpY2FsLCByYXRoZXIgdGhhbiBzY3JlZW4gbGluZXNcbiIKKyN+ICIgIC1sICAgICAgICBzdXBwcmVzcyBwYXVzZSBhZnRlciBmb3JtIGZlZWRcbiIKKyN+ICIgIC1wICAgICAgICBkbyBub3Qgc2Nyb2xsLCBjbGVhbiBzY3JlZW4gYW5kIGRpc3BsYXkgdGV4dFxuIgorI34gIiAgLWMgICAgICAgIGRvIG5vdCBzY3JvbGwsIGRpc3BsYXkgdGV4dCBhbmQgY2xlYW4gbGluZSBlbmRzXG4iCisjfiAiICAtdSAgICAgICAgc3VwcHJlc3MgdW5kZXJsaW5pbmdcbiIKKyN+ICIgIC1zICAgICAgICBzcXVlZXplIG11bHRpcGxlIGJsYW5rIGxpbmVzIGludG8gb25lXG4iCisjfiAiICAtTlVNICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKKyN+ICIgICtOVU0gICAgICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gbGluZSBudW1iZXIgTlVNXG4iCisjfiAiICArL1NUUklORyAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIHNlYXJjaCBzdHJpbmcgbWF0Y2hcbiIKKyN+ICIgIC1WICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAi6YCJ6aG577yaXG4iCisjfiAiICAtZCAgICAgICAg5pi+56S65biu5Yqp77yM6ICM5LiN5piv5ZON6ZODXG4iCisjfiAiICAtZiAgICAgICAg57uf6K6h6YC76L6R6KGM5pWw6ICM5LiN5piv5bGP5bmV6KGM5pWwXG4iCisjfiAiICAtbCAgICAgICAg5oqR5Yi25o2i6aG1KGZvcm0gZmVlZCnlkI7nmoTmmoLlgZxcbiIKKyN+ICIgIC1wICAgICAgICDkuI3mu5rlsY/vvIzmuIXlsY/lubbmmL7npLrmlofmnKxcbiIKKyN+ICIgIC1jICAgICAgICDkuI3mu5rlsY/vvIzmmL7npLrmlofmnKzlubbmuIXnkIbooYzlsL5cbiIKKyN+ICIgIC11ICAgICAgICDmipHliLbkuIvliJLnur9cbiIKKyN+ICIgIC1zICAgICAgICDlsIblpJrkuKrnqbrooYzljovnvKnkuLrkuIDooYxcbiIKKyN+ICIgIC1OVU0gICAgICDmjIflrprmr4/lsY/mmL7npLrnmoTooYzmlbDkuLogTlVNXG4iCisjfiAiICArTlVNICAgICAg5LuO5paH5Lu256ysIE5VTSDooYzlvIDlp4vmmL7npLpcbiIKKyN+ICIgICsvU1RSSU5HICDku47ljLnphY3mkJzntKLlrZfnrKbkuLIgU1RSSU5HIOeahOaWh+S7tuS9jee9ruW8gOWni+aYvuekulxuIgorI34gIiAgLVYgICAgICAgIOi+k+WHuueJiOacrOS/oeaBr+W5tumAgOWHulxuIgorCisjfiBtc2dpZCAibGluZSB0b28gbG9uZyIKKyN+IG1zZ3N0ciAi6KGM6L+H6ZW/IgorCisjfiBtc2dpZCAic2V0IGJsb2Nrc2l6ZSIKKyN+IG1zZ3N0ciAi6K6+572u5Z2X5aSn5bCPIgorCisjfiBtc2dpZCAib25lIGJhZCBibG9ja1xuIgorI34gbXNnc3RyICLkuIDkuKrlnY/lnZdcbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiB0eXBlIGhleCBvciB1dWlkIgorI34gbXNnc3RyICLliIbljLrnsbvlnosg5Y2B5YWt6L+b5Yi2IOaIliB1dWlkIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiICVzIFvpgInpobldIOiuvuWkh1xuIgorCisjfiBtc2dpZCAicmVhZCBmYWlsZWQgJXMiCisjfiBtc2dzdHIgIuivu+Wksei0pe+8miVzIgorCisjfiBtc2dpZCAic2VlayBmYWlsZWQgJXMiCisjfiBtc2dzdHIgIuWumuS9jeWksei0pe+8miVzIgorCisjfiBtc2dpZCAic2VlayBmYWlsZWQ6ICVkIgorI34gbXNnc3RyICLlrprkvY3lpLHotKXvvJolZCIKKworI34gbXNnaWQgIndyaXRlIGZhaWxlZDogJWQiCisjfiBtc2dzdHIgIuWGmeWksei0pe+8miVkIgorCisjfiBtc2dpZCAiRGV0ZWN0ZWQgJWQgZXJyb3IocykuIgorI34gbXNnc3RyICLmo4DmtYvliLAgJWQg5Liq6ZSZ6K+v44CCIgorCisjfiBtc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkIgorI34gbXNnc3RyICLmnKrlrprkuYnliIbljLoiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorI34gIiAtZCwgLS1kZXRhY2ggPGxvb3BkZXY+IFsuLi5dICBkZXRhY2ggb25lIG9yIG1vcmUgZGV2aWNlc1xuIgorI34gIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorI34gIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICBmaW5kIGZpcnN0IHVudXNlZCBkZXZpY2VcbiIKKyN+ICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIGRldmljZVxuIgorI34gIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICDliJflh7rmiYDmnInkvb/nlKjnmoTorr7lpIdcbiIKKyN+ICIgLWQsIC0tZGV0YWNoIDzlm57njq/orr7lpIc+IFsuLi5dIOaWreW8gOS4gOS4quaIluWkmuS4quiuvuWkh1xuIgorI34gIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICDmlq3lvIDmiYDmnInkvb/nlKjnmoTorr7lpIdcbiIKKyN+ICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAg5p+l5om+56ys5LiA5Liq5pyq5L2/55So55qE6K6+5aSHXG4iCisjfiAiIC1jLCAtLXNldC1jYXBhY2l0eSA85Zue546v6K6+5aSHPiDosIPmlbTorr7lpIflpKflsI9cbiIKKyN+ICIgLWosIC0tYXNzb2NpYXRlZCA85paH5Lu2PiAgICAgICDliJflh7rmiYDmnInkuI4gPOaWh+S7tj4g5YWz6IGU55qE6K6+5aSHXG4iCisKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIHNldCB1cCBsb29wIGRldmljZSwgb2Zmc2V0IGlzIG5vdCA1MTItYnl0ZSBhbGlnbmVkLiIKKyN+IG1zZ3N0ciAiJXPvvJrorr7nva7lm57njq/orr7lpIflpLHotKXvvIzlgY/np7vmsqHmnInlr7npvZAgNTEyIOWtl+iKguOAgiIKKworI34gbXNnaWQgInVuc3N1cG9ydGVkIC0tbG9jYWwtbGluZSBtb2RlIGFyZ3VtZW50IgorI34gbXNnc3RyICLkuI3mlK/mjIHnmoQgLS1sb2NhbC1saW5lIOaooeW8j+WPguaVsCIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gbXNnc3RyICIgJXMgW+mAiemhuV0g5paH5Lu2Li4uXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTpcbiIKKyN+IG1zZ3N0ciAi55So5rOVOlxuIgorCisjfiBtc2dpZCAiXHROT1RFOiBlbHZ0dW5lIG9ubHkgd29ya3Mgd2l0aCAyLjQga2VybmVsc1xuIgorI34gbXNnc3RyICJcdOazqO+8mmVsdnR1bmUg5Y+q6IO95LiOIDIuNCDlhoXmoLjphY3lkIjkvb/nlKhcbiIKKworI34gbXNnaWQgIm1pc3NpbmcgYmxvY2tkZXZpY2UsIHVzZSAtaCBmb3IgaGVscFxuIgorI34gbXNnc3RyICLnvLrlsJHlnZforr7lpIfvvIzor7fkvb/nlKggLWgg6I635Y+W5biu5YqpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiZWx2dHVuZSBpcyBvbmx5IHVzZWZ1bCBvbiBvbGRlciBrZXJuZWxzO1xuIgorI34gImZvciAyLjYgdXNlIElPIHNjaGVkdWxlciBzeXNmcyB0dW5hYmxlcyBpbnN0ZWFkLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gImVsdnR1bmUg5Y+q55So5Zyo5pen5YaF5qC45LiK77ybXG4iCisjfiAi5a+55LqOIDIuNiDlhoXmoLjvvIzor7fovaznlKggSU8g6LCD5bqm5ZmoIHN5c2ZzIHR1bmFibGVzLi5cbiIKKworI34gbXNnaWQgImVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAi5L+u6K6i54mI5pys5Y+3IOWPguaVsOWksei0pSIKKworI34gbXNnaWQgImZzeW5jIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZnN5bmMg5aSx6LSlIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIlByaW50IHZlcnNpb246XG4iCisjfiAiICAgICAgICAlcyAtdlxuIgorI34gIlByaW50IHBhcnRpdGlvbiB0YWJsZTpcbiIKKyN+ICIgICAgICAgICVzIC1QIHtyfHN8dH0gW29wdGlvbnNdIGRldmljZVxuIgorI34gIkludGVyYWN0aXZlIHVzZTpcbiIKKyN+ICIgICAgICAgICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIi1hOiBVc2UgYXJyb3cgaW5zdGVhZCBvZiBoaWdobGlnaHRpbmc7XG4iCisjfiAiLXo6IFN0YXJ0IHdpdGggYSB6ZXJvIHBhcnRpdGlvbiB0YWJsZSwgaW5zdGVhZCBvZiByZWFkaW5nIHRoZSBwdCBmcm9tIGRpc2s7XG4iCisjfiAiLWMgQyAtaCBIIC1zIFM6IE92ZXJyaWRlIHRoZSBrZXJuZWwncyBpZGVhIG9mIHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzLFxuIgorI34gIiAgICAgICAgICAgICAgICB0aGUgbnVtYmVyIG9mIGhlYWRzIGFuZCB0aGUgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2suXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLnlKjms5XvvJpcbiIKKyN+ICLmiZPljbDniYjmnKzvvJpcbiIKKyN+ICIgICAgICAgICVzIC12XG4iCisjfiAi5omT5Y2w5YiG5Yy66KGo77yaXG4iCisjfiAiICAgICAgICAlcyAtUCB7cnxzfHR9IFvpgInpobldIOiuvuWkh1xuIgorI34gIuS6pOS6kuW8j+S9v+eUqO+8mlxuIgorI34gIiAgICAgICAgJXMgW+mAiemhuV0g6K6+5aSHXG4iCisjfiAiXG4iCisjfiAi6YCJ6aG577yaXG4iCisjfiAiLWHvvJrkvb/nlKjnrq3lpLTku6Pmm7/pq5jkuq7vvJtcbiIKKyN+ICIteu+8muS7peepuuWIhuWMuuihqOWQr+WKqO+8jOiAjOmdnuS7juejgeebmOivu+WPluWIhuWMuuihqO+8m1xuIgorI34gIi1jIEMgLWggSCAtcyBT77ya6KaG55uW5YaF5qC45qOA5rWL5Yiw55qE5p+x6Z2i5pWw44CB56OB5aS05pWwXG4iCisjfiAiICAgICAgICAgICAgICAgIOWSjOaJh+WMui/no4HpgZPmlbDjgIJcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIldyaXRpbmcgZGlza2xhYmVsIHRvICVzLlxuIgorI34gbXNnc3RyICLmraPlnKjlsIbno4Hnm5jmoIfnrb7lhpnlhaUgJXPjgIJcbiIKKworI34gbXNnaWQgIkxhc3QgJXMgb3IgK3NpemUgb3IgK3NpemVNIG9yICtzaXplSyIKKyN+IG1zZ3N0ciAi57uI5q2iICVzIOaIliArc2l6ZSDmiJYgK3NpemVNIOaIliArc2l6ZUsiCisKKyN+IG1zZ2lkICJSZWFkaW5nIGRpc2tsYWJlbCBvZiAlcyBhdCBzZWN0b3IgJWQuXG4iCisjfiBtc2dzdHIgIuS7juaJh+WMuiAlMiRkIOS9jee9ruivu+WPliAlMSRzIOeahOagh+etvuOAglxuIgorCisjfiBtc2dpZCAiQlNEIGRpc2tsYWJlbCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorI34gbXNnc3RyICJCU0Qg56OB55uY5qCH562+5ZG95LukKOi+k+WFpSBtIOiOt+WPluW4ruWKqSnvvJoiCisKKyN+IG1zZ2lkICJkcml2ZWRhdGE6ICIKKyN+IG1zZ3N0ciAi6amx5Yqo5pWw5o2u77yaIgorCisjfiBtc2dpZCAiIyAgICAgICBzdGFydCAgICAgICBlbmQgICAgICBzaXplICAgICBmc3R5cGUgICBbZnNpemUgYnNpemUgICBjcGddXG4iCisjfiBtc2dzdHIgIiMgICAgICAg6LW354K5ICAgICAgICDnu4jngrkgICAgIOWkp+WwjyAgICAg5paH5Lu257O757ufIFtmc2l6ZSBic2l6ZSAgIGNwZ11cbiIKKworI34gbXNnaWQgIk11c3QgYmUgPD0gc2VjdG9ycy90cmFjayAqIHRyYWNrcy9jeWxpbmRlciAoZGVmYXVsdCkuXG4iCisjfiBtc2dzdHIgIuW/hemhuyA8PSDmiYfljLov56OB6YGTICog56OB6YGTL+afsemdoiAo6buY6K6kKeOAglxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIChhLSVjKTogIgorI34gbXNnc3RyICLliIbljLogKGEtJWMp77yaIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlN5bmNpbmcgZGlza3MuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLmraPlnKjlkIzmraXno4Hnm5hcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJTEkcyBbb3B0aW9uc10gPGRpc2s+ICAgIGNoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICIgJTEkcyBbb3B0aW9uc10gLWwgPGRpc2s+IGxpc3QgcGFydGl0aW9uIHRhYmxlKHMpXG4iCisjfiAiICUxJHMgLXMgPHBhcnRpdGlvbj4gICAgICBnaXZlIHBhcnRpdGlvbiBzaXplKHMpIGluIGJsb2Nrc1xuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1iIDxzaXplPiAgICAgICAgICAgICBzZWN0b3Igc2l6ZSAoNTEyLCAxMDI0LCAyMDQ4IG9yIDQwOTYpXG4iCisjfiAiIC1jWz08bW9kZT5dICAgICAgICAgICBjb21wYXRpYmxlIG1vZGU6ICdkb3MnIG9yICdub25kb3MnIChkZWZhdWx0KVxuIgorI34gIiAtaCAgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhpcyBoZWxwIHRleHRcbiIKKyN+ICIgLXVbPTx1bml0Pl0gICAgICAgICAgIGRpc3BsYXkgdW5pdHM6ICdjeWxpbmRlcnMnIG9yICdzZWN0b3JzJyAoZGVmYXVsdClcbiIKKyN+ICIgLXYgICAgICAgICAgICAgICAgICAgIHByaW50IHByb2dyYW0gdmVyc2lvblxuIgorI34gIiAtQyA8bnVtYmVyPiAgICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorI34gIiAtSCA8bnVtYmVyPiAgICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGhlYWRzXG4iCisjfiAiIC1TIDxudW1iZXI+ICAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIueUqOazle+8mlxuIgorI34gIiAlMSRzIFvpgInpobldIDzno4Hnm5g+ICAgIOabtOaUueWIhuWMuuihqFxuIgorI34gIiAlMSRzIFvpgInpobldIC1sIDzno4Hnm5g+IOWIl+WHuuWIhuWMuuihqFxuIgorI34gIiAlMSRzIC1zIDzliIbljLo+ICAgICAgICDnu5nlh7rliIbljLrlpKflsI8o5Z2X5pWwKVxuIgorI34gIlxuIgorI34gIumAiemhue+8mlxuIgorI34gIiAtYiA85aSn5bCPPiAgICAgICAgICAgICDmiYfljLrlpKflsI8oNTEy44CBMTAyNOOAgTIwNDjmiJY0MDk2KVxuIgorI34gIiAtY1s9POaooeW8jz5dICAgICAgICAgICDlhbzlrrnmqKHlvI/vvJrigJxkb3PigJ3miJbigJxub25kb3PigJ0o6buY6K6kKVxuIgorI34gIiAtaCAgICAgICAgICAgICAgICAgICAg5omT5Y2w5q2k5biu5Yqp5paH5pysXG4iCisjfiAiIC11Wz085Y2V5L2NPl0gICAgICAgICAgIOaYvuekuuWNleS9je+8muKAnGN5bGluZGVyc+KAnSjmn7HpnaIp5oiW4oCcc2VjdG9yc+KAnSjmiYfljLrvvIzpu5jorqQpXG4iCisjfiAiIC12ICAgICAgICAgICAgICAgICAgICDmiZPljbDnqIvluo/niYjmnKxcbiIKKyN+ICIgLUMgPOaVsOWtlz4gICAgICAgICAgICAg5oyH5a6a5p+x6Z2i5pWwXG4iCisjfiAiIC1IIDzmlbDlrZc+ICAgICAgICAgICAgIOaMh+WumuejgeWktOaVsFxuIgorI34gIiAtUyA85pWw5a2XPiAgICAgICAgICAgICDmjIflrprmr4/kuKrno4HpgZPnmoTmiYfljLrmlbBcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgInVuYWJsZSB0byBzZWVrIG9uICVzIgorI34gbXNnc3RyICLml6Dms5XlnKggJXMg5LiK5a6a5L2NIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgorI34gbXNnc3RyICLkuI3og73lhpkgJXMiCisKKyN+IG1zZ2lkICJmYXRhbCBlcnJvciIKKyN+IG1zZ3N0ciAi6Ie05ZG96ZSZ6K+vIgorCisjfiBtc2dpZCAiQ29tbWFuZCBhY3Rpb24iCisjfiBtc2dzdHIgIuWRveS7pOaTjeS9nCIKKworI34gbXNnaWQgIllvdSBtdXN0IHNldCIKKyN+IG1zZ3N0ciAi5oKo5b+F6aG76K6+572uIgorCisjfiBtc2dpZCAiaGVhZHMiCisjfiBtc2dzdHIgIuejgeWktCIKKworI34gbXNnaWQgIiBhbmQgIgorI34gbXNnc3RyICIg5ZKMICIKKworI34gbXNnaWQgIlVuc3VwcG9ydGVkIHN1ZmZpeDogJyVzJy5cbiIKKyN+IG1zZ3N0ciAi5LiN5pSv5oyB55qE5ZCO57yA77ya4oCcJXPigJ3jgIJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJTdXBwb3J0ZWQ6IDEwXk46IEtCIChLaWxvQnl0ZSksIE1CIChNZWdhQnl0ZSksIEdCIChHaWdhQnl0ZSlcbiIKKyN+ICIgICAgICAgICAgICAyXk46IEsgIChLaWJpQnl0ZSksIE0gIChNZWJpQnl0ZSksIEcgIChHaWJpQnl0ZSlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIuaUr+aMge+8mjEwXk46IEtCICjljYPlrZfoioIpLCBNQiAo5YWG5a2X6IqCKSwgR0IgKOWQieWtl+iKgilcbiIKKyN+ICIgICAgICAgICAgICAyXk46IEsgICjnuqbljYPlrZfoioIpLCBNICAo57qm5YWG5a2X6IqCKSwgRyAgKOe6puWQieWtl+iKgilcbiIKKworI34gbXNnaWQgIlVzaW5nIGRlZmF1bHQgdmFsdWUgJXVcbiIKKyN+IG1zZ3N0ciAi5bCG5L2/55So6buY6K6k5YC8ICV1XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkIE1CLCAlbGxkIGJ5dGVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi56OB55uYICVz77yaJWxkIE1CLCAlbGxkIOWtl+iKgiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbGQuJWxkIEdCLCAlbGx1IGJ5dGVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi56OB55uYICVz77yaJWxkLiVsZCBHQiwgJWxsdSDlrZfoioIiCisKKyN+IG1zZ2lkICIsICVsbHUgc2VjdG9yc1xuIgorI34gbXNnc3RyICLvvIwlbGx1IOS4quaJh+WMulxuIgorCisjfiBtc2dpZCAiY2Fubm90IHdyaXRlIGRpc2sgbGFiZWwiCisjfiBtc2dzdHIgIuaXoOazleWGmeejgeebmOagh+etviIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJFcnJvciBjbG9zaW5nIGZpbGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuWFs+mXreaWh+S7tuWHuumUmVxuIgorCisjfiBtc2dpZCAiV2FybmluZzogc2V0dGluZyBzZWN0b3Igb2Zmc2V0IGZvciBET1MgY29tcGF0aWJpbGl0eVxuIgorI34gbXNnc3RyICLorablkYrvvJrkvJrorr7nva7miYfljLrlgY/np7vph4/ku6XkuI4gRE9TIOWFvOWuuVxuIgorCisjfiBtc2dpZCAiRGV0ZWN0ZWQgYW4gT1NGLzEgZGlza2xhYmVsIG9uICVzLCBlbnRlcmluZyBkaXNrbGFiZWwgbW9kZS5cbiIKKyN+IG1zZ3N0ciAi5ZyoICVzIOS4iuajgOa1i+WIsCBPU0YvMSDno4Hnm5jmoIfnrb7vvIzlsIbov5vlhaXno4Hnm5jmoIfnrb7mqKHlvI/jgIJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIEl0J3Mgc3Ryb25nbHkgcmVjb21tZW5kZWQgdG9cbiIKKyN+ICIgICAgICAgICBzd2l0Y2ggb2ZmIHRoZSBtb2RlICh3aXRoIGNvbW1hbmQgJ2MnKS4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLorablkYrvvJpET1Mg5YW85a655qih5byP5bey5bqf5byD44CC5by654OI5bu66K6u5oKo5YWz6Zet6K+l5qih5byPKOeUqOKAnGPigJ3lkb3ku6Qp44CCIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IGN5bGluZGVycyBhcyBkaXNwbGF5IHVuaXRzIGFyZSBkZXByZWNhdGVkLiBVc2UgY29tbWFuZCAndScgdG9cbiIKKyN+ICIgICAgICAgICBjaGFuZ2UgdW5pdHMgdG8gc2VjdG9ycy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuitpuWRiu+8muS7peafsemdouS9nOS4uuaYvuekuuWNleS9jeW3suW6n+W8g+OAguivt+S9v+eUqOKAnHXigJ3lkb3ku6TmnaXlsIbljZXkvY3mlLnkuLrmiYfljLrjgIJcbiIKKworI34gbXNnaWQgIk5ldyBkaXNrIGlkZW50aWZpZXIgKGN1cnJlbnQgMHglMDh4KTogIgorI34gbXNnc3RyICLmlrDno4Hnm5jmoIfor4bnrKYo5b2T5YmN5Li6IDB4JTA4eCnvvJoiCisKKyN+IG1zZ2lkICJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlXG4iCisjfiBtc2dzdHIgIuayoeacieepuumXsuaJh+WMuuWPr+eUqFxuIgorCisjfiBtc2dpZCAiICAgICBwaHlzPSglZCwgJWQsICVkKSAiCisjfiBtc2dzdHIgIiAgICAg54mp55CGPSglZCwgJWQsICVkKSAiCisKKyN+IG1zZ2lkICJsb2dpY2FsPSglZCwgJWQsICVkKVxuIgorI34gbXNnc3RyICLpgLvovpE9KCVkLCAlZCwgJWQpXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBiYWQgc3RhcnQtb2YtZGF0YSBpbiBwYXJ0aXRpb24gJXpkXG4iCisjfiBtc2dzdHIgIuitpuWRiu+8muWIhuWMuiAlemQg5pWw5o2u6LW354K55pyJ6K+vXG4iCisKKyN+IG1zZ2lkICJBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvblxuIgorI34gbXNnc3RyICLmt7vliqDkuLvliIbljLpcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueSBET1MgNi54cGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgZmRpc2sgbWFudWFsIHBhZ2UgZm9yIGFkZGl0aW9uYWxpbmZvcm1hdGlvbi5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuitpuWRiu+8muWmguaenOaCqOWIm+W7uuaIluS/ruaUueS6hiBET1MgNi54IOWIhuWMuu+8jOivt+afpeeciyBmZGlzayDmiYvlhozpobXpnaLkuobop6Plhbbku5bkv6Hmga/jgIJcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiUqcyBCb290ICAgICAgU3RhcnQgICAgICAgICBFbmQgICAgICBCbG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiUqcyDlkK/liqggICAgICDotbfngrkgICAgICAgICAg57uI54K5ICAgICDlnZfmlbAgICBJZCAg57O757ufXG4iCisKKyN+IG1zZ2lkICJOciBBRiAgSGQgU2VjICBDeWwgIEhkIFNlYyAgQ3lsICAgICBTdGFydCAgICAgIFNpemUgSURcbiIKKyN+IG1zZ3N0ciAiIgorI34gIuW6jyDlkK8gIOejgSDmiYfljLog5p+x6Z2iIOejgSDmiYfljLog5p+x6Z2iICAgIOi1t+WniyAgICAgICDlpKflsI8gSURcbiIKKyN+ICLlj7cg5YqoICDlpLQgICAgICAgICAgIOWktFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0VGhlcmUgaXMgYSB2YWxpZCBNYWMgbGFiZWwgb24gdGhpcyBkaXNrLlxuIgorI34gIlx0VW5mb3J0dW5hdGVseSBmZGlzaygxKSBjYW5ub3QgaGFuZGxlIHRoZXNlIGRpc2tzLlxuIgorI34gIlx0VXNlIGVpdGhlciBwZGlzayBvciBwYXJ0ZWQgdG8gbW9kaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUuXG4iCisjfiAiXHROZXZlcnRoZWxlc3Mgc29tZSBhZHZpY2U6XG4iCisjfiAiXHQxLiBmZGlzayB3aWxsIGRlc3Ryb3kgaXRzIGNvbnRlbnRzIG9uIHdyaXRlLlxuIgorI34gIlx0Mi4gQmUgc3VyZSB0aGF0IHRoaXMgZGlzayBpcyBOT1QgYSBzdGlsbCB2aXRhbFxuIgorI34gIlx0ICAgcGFydCBvZiBhIHZvbHVtZSBncm91cC4gKE90aGVyd2lzZSB5b3UgbWF5XG4iCisjfiAiXHQgICBlcmFzZSB0aGUgb3RoZXIgZGlza3MgYXMgd2VsbCwgaWYgdW5taXJyb3JlZC4pXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJcdOivpeejgeebmOS4iuacieS4gOS4quacieaViOeahCBNYWMg5qCH562+44CCXG4iCisjfiAiXHTlvojkuI3lubjvvIxmZGlzaygxKSDml6Dms5Xmk43kvZzov5nnsbvno4Hnm5jjgIJcbiIKKyN+ICJcdOivt+S9v+eUqCBwZGlzayDmiJYgcGFydGVkIOadpeS/ruaUueivpeWIhuWMuuihqOOAglxuIgorI34gIlx05LuN54S25o+Q6YaS5oKo77yaXG4iCisjfiAiXHQxLiBmZGlzayDlnKjlhpnlhaXml7bkvJrnoLTlnY/no4Hnm5jkuIrnmoTlhoXlrrnjgIJcbiIKKyN+ICJcdDIuIOivt+ehruS/neivpeejgeebmOW9k+WJjeKAnOS4jeaYr+KAneafkOS4quWNt+e7hCh2b2x1bWUgZ3JvdXApXG4iCisjfiAiXHQgICDnmoTlhbPplK7pg6jliIYo5ZCm5YiZ5oKo5Y+v6IO95ZCM5pe25pOm6Zmk57uE6YeM55qE5YW25LuW56OB55uY77yMXG4iCisjfiAiXHQgICDlpoLmnpzmsqHmnInplZzlg4/lpIfku73nmoTor53jgIIpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXHRTb3JyeSAtIHRoaXMgZmRpc2sgY2Fubm90IGhhbmRsZSBNYWMgZGlzayBsYWJlbHMuXG4iCisjfiAiXHRJZiB5b3Ugd2FudCB0byBhZGQgRE9TLXR5cGUgcGFydGl0aW9ucywgY3JlYXRlXG4iCisjfiAiXHRhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIGZpcnN0LiAoVXNlIG8uKVxuIgorI34gIlx0V0FSTklORzogVGhpcyB3aWxsIGRlc3Ryb3kgdGhlIHByZXNlbnQgZGlzayBjb250ZW50cy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlx05oqx5q2J77yM6K+l54mI5pys55qEIGZkaXNrIOaXoOazleaTjeS9nCBNYWMg56OB55uY5qCH562+44CCXG4iCisjfiAiXHTlpoLmnpzmgqjmg7Pmt7vliqAgRE9TIOexu+Wei+eahOWIhuWMuu+8jOivt+WFiOWIm+W7uuS4gOS4quepuueahFxuIgorI34gIlx0RE9TIOWIhuWMuuihqCjkvb/nlKggbyDpgInpobnjgIIpXG4iCisjfiAiXHTorablkYrvvJrmraTmk43kvZzkvJrnoLTlnY/lvZPliY3no4Hnm5jlhoXlrrnjgIJcbiIKKworI34gbXNnaWQgIkFjY29yZGluZyB0byBNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYyB0aGUgTGFiZWwgbXVzdCBub3QgY29udGFpbiBtb3JlIHRoYW4gNTEyIGJ5dGVzXG4iCisjfiBtc2dzdHIgIuagueaNriBNSVBTIOiuoeeul+acuuezu+e7n+inhOWumu+8jOWinuWKoOagh+etvumVv+W6puWQjuS4jeiDvei2hei/hyA1MTIg5Liq5a2X6IqCXG4iCisKKyN+IG1zZ2lkICJJRD0lMDJ4XHRTVEFSVD0lZFx0TEVOR1RIPSVkXG4iCisjfiBtc2dzdHIgIklEPSUwMnhcdOi1t+Wniz0lZFx06ZW/5bqmPSVkXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRG9uZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAi5a6M5oiQXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJDcmVhdGVkIHBhcnRpdGlvbiAlemRcbiIKKyN+IG1zZ3N0ciAi5bey5Yib5bu65YiG5Yy6ICV6ZFxuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSAtdSA8VVNFUj4gQ09NTUFORFxuIgorI34gbXNnc3RyICIgJXMgW+mAiemhuV0gLXUgPFVTRVI+IENPTU1BTkRcbiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFtVU0VSIFthcmddLi4uXVxuIgorI34gbXNnc3RyICIgJXMgW+mAiemhuV0gWy1dIFtVU0VSIFvlj4LmlbBdLi4uXVxuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvblxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDogIzkuI3liJvlu7rmlrDkvJror51cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLTEsIC0tb25lICAgICAgICBzaG93IG9ubHkgY3VycmVudCBtb250aCAoZGVmYXVsdClcbiIKKyN+ICIgLTMsIC0tdGhyZWUgICAgICBzaG93IHByZXZpb3VzLCBjdXJyZW50IGFuZCBuZXh0IG1vbnRoXG4iCisjfiAiIC1zLCAtLXN1bmRheSAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCisjfiAiIC1tLCAtLW1vbmRheSAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCisjfiAiIC1qLCAtLWp1bGlhbiAgICAgb3V0cHV0IEp1bGlhbiBkYXRlc1xuIgorI34gIiAteSwgLS15ZWFyICAgICAgIHNob3cgd2hvbGUgY3VycmVudCB5ZWFyXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC0xLCAtLW9uZSAgICAgICAg5Y+q5pi+56S65b2T5YmN5pyI5Lu9KOm7mOiupClcbiIKKyN+ICIgLTMsIC0tdGhyZWUgICAgICDmmL7npLrkuIrkuKrmnIjjgIHlvZPmnIjlkozkuIvkuKrmnIhcbiIKKyN+ICIgLXMsIC0tc3VuZGF5ICAgICDlkajml6XkvZzkuLrkuIDlkajnrKzkuIDlpKlcbiIKKyN+ICIgLW0sIC0tbW9uZGF5ICAgICDlkajkuIDnlKjkuLrkuIDlkajnrKzkuIDlpKlcbiIKKyN+ICIgLWosIC0tanVsaWFuICAgICDovpPlh7rlhJLnlaXml6VcbiIKKyN+ICIgLXksIC0teWVhciAgICAgICDovpPlh7rmlbTlubRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICDmmL7npLrniYjmnKzkv6Hmga/lubbpgIDlh7pcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICDmmL7npLrmraTluK7liqnlubbpgIDlh7pcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWQsIC0tdWRwICAgICAgICAgICAgIHVzZSBVRFAgb25seVxuIgorI34gIiAtaSwgLS1pZCAgICAgICAgICAgICAgbG9nIHRoZSBwcm9jZXNzIElEIHRvb1xuIgorI34gIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgbG9nIHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGVcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZCwgLS11ZHAgICAgICAgICAgICAg5Y+q5L2/55SoIFVEUFxuIgorI34gIiAtaSwgLS1pZCAgICAgICAgICAgICAg5ZCM5pe26K6w5b2V6L+b56iLIElEXG4iCisjfiAiIC1mLCAtLWZpbGUgPOaWh+S7tj4gICAgIOiusOW9leatpOaWh+S7tueahOWGheWuuVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAg5pi+56S65q2k5biu5Yqp5bm26YCA5Ye6XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1uLCAtLXNlcnZlciA8bmFtZT4gICB3cml0ZSB0byB0aGlzIHJlbW90ZSBzeXNsb2cgc2VydmVyXG4iCisjfiAiIC1QLCAtLXBvcnQgPG51bWJlcj4gICB1c2UgdGhpcyBVRFAgcG9ydFxuIgorI34gIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gbWFyayBnaXZlbiBtZXNzYWdlIHdpdGggdGhpcyBwcmlvcml0eVxuIgorI34gIiAtcywgLS1zdGRlcnIgICAgICAgICAgb3V0cHV0IG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IgYXMgd2VsbFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1uLCAtLXNlcnZlciA85ZCN56ewPiAgIOWGmeWFpeatpOi/nOeoiyBzeXNsb2cg5pyN5Yqh5ZmoXG4iCisjfiAiIC1QLCAtLXBvcnQgPOaVsOWtlz4gICAgIOS9v+eUqOatpCBVRFAg56uv5Y+jXG4iCisjfiAiIC1wLCAtLXByaW9yaXR5IDzkvJjlhYjnuqc+IOeUqOatpOS8mOWFiOe6p+agh+iusOe7meWumueahOa2iOaBr1xuIgorI34gIiAtcywgLS1zdGRlcnIgICAgICAgICAg5Lmf5bCG5raI5oGv6L6T5Ye65Yiw5qCH5YeG6ZSZ6K+vXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC10LCAtLXRhZyA8dGFnPiAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorI34gIiAtdSwgLS1zb2NrZXQgPHNvY2tldD4gd3JpdGUgdG8gdGhpcyBVbml4IHNvY2tldFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdCwgLS10YWcgPOagh+W/lz4gICAgICDnlKjmraTmoIflv5fmoIforrDmr4/kuIDooYxcbiIKKyN+ICIgLXUsIC0tc29ja2V0IDzlpZfmjqXlrZc+IOWGmeWFpeatpCBVbml4IOWll+aOpeWtl1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAg6L6T5Ye654mI5pys5L+h5oGv5bm26YCA5Ye6XG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJGYWlsZWQgdG8gb3Blbi9jcmVhdGUgJXM6ICVtXG4iCisjfiBtc2dzdHIgIuaJk+W8gC/liJvlu7ogJXMg5aSx6LSl77yaJW1cbiIKKworI34gbXNnaWQgIkZhaWxlZCB0byBsb2NrICVzOiAlbVxuIgorI34gbXNnc3RyICLplIHlrpogJXMg5aSx6LSl77yaJW1cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHNob3cgaHVtYW4gcmVhZGFibGUgdGltZXN0YW1wIChjb3VsZCBiZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5hY2N1cmF0ZSBpZiB5b3UgaGF2ZSB1c2VkIFNVU1BFTkQvUkVTVU1FKVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICDmmL7npLrmmJPor7vnmoTml7bpl7TmiLMo5aaC5p6c5oKo5L2/55So5LqGXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVVNQRU5EL1JFU1VNRSDliJnlj6/og73kuI3lh4YpXG4iCisKKyN+IG1zZ2lkICItLW5vdGltZSBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1jdGltZSBvciAtLXJlbHRpbWUiCisjfiBtc2dzdHIgIi0tbm90aW1lIOS4jeiDveS4ji0tY3RpbWUg5oiWIC0tcmVsdGltZSDlkIzml7bkvb/nlKgiCisKKyN+IG1zZ2lkICJmaW5kIHVudXNlZCBsb29wIGRldmljZSBmYWlsZWQiCisjfiBtc2dzdHIgIuafpeaJvuacquS9v+eUqOWbnueOr+iuvuWkh+Wksei0pSIKKworI34gbXNnaWQgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgb3V0cHV0IGhlbHAgc2NyZWVuIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgIOino+mHiuato+WcqOi/m+ihjOeahOaTjeS9nFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAg6L6T5Ye654mI5pys5L+h5oGv5bm26YCA5Ye6XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICDovpPlh7rluK7liqnlsY/luZXlubbpgIDlh7pcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAgZG8gbm90IHByaW50IGJhbm5lciwgd29ya3Mgb25seSBmb3Igcm9vdFxuIgorI34gIiAtdCwgLS10aW1lb3V0IDx0aW1lb3V0PiB3cml0ZSB0aW1lb3V0IGluIHNlY29uZHNcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICDkuI3miZPljbDmoIfor60oYmFubmVyKe+8jOWPquWvuSByb290IOacieaViFxuIgorI34gIiAtdCwgLS10aW1lb3V0IDzotoXml7Y+ICAgIOWGmei2heaXtijnp5LmlbApXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIOi+k+WHuueJiOacrOS/oeaBr+W5tumAgOWHulxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICDmmL7npLrmraTluK7liqnlubbpgIDlh7pcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAtbywgLS1vdXRwdXQtc2VwYXJhdG9yIDxzdHJpbmc+XG4iCisjfiBtc2dzdHIgIiAtbywgLS1vdXRwdXQtc2VwYXJhdG9yIDzlrZfnrKbkuLI+XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLnlKjms5XvvJpcbiIKKyN+ICIgJXMgW+mAiemhuV0g5paH5Lu2IC4uLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1iICAgICAgICAgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCisjfiAiIC1jICAgICAgICAgICAgICBvbmUtYnl0ZSBjaGFyYWN0ZXIgZGlzcGxheVxuIgorI34gIiAtQyAgICAgICAgICAgICAgY2Fub25pY2FsIGhleCtBU0NJSSBkaXNwbGF5XG4iCisjfiAiIC1kICAgICAgICAgICAgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKKyN+ICIgLW8gICAgICAgICAgICAgIHR3by1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKKyN+ICIgLXggICAgICAgICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIKKyN+ICIgLWUgZm9ybWF0ICAgICAgIGZvcm1hdCBzdHJpbmcgdG8gYmUgdXNlZCBmb3IgZGlzcGxheWluZyBkYXRhXG4iCisjfiAiIC1mIGZvcm1hdF9maWxlICBmaWxlIHRoYXQgY29udGFpbnMgZm9ybWF0IHN0cmluZ3NcbiIKKyN+ICIgLW4gbGVuZ3RoICAgICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorI34gIiAtcyBvZmZzZXQgICAgICAgc2tpcCBvZmZzZXQgYnl0ZXMgZnJvbSB0aGUgYmVnaW5uaW5nXG4iCisjfiAiIC12ICAgICAgICAgICAgICBkaXNwbGF5IHdpdGhvdXQgc3F1ZWV6aW5nIHNpbWlsYXIgbGluZXNcbiIKKyN+ICIgLVYgICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLpgInpobnvvJpcbiIKKyN+ICIgLWIgICAgICAgICAgICAgIOWNleWtl+iKguWFq+i/m+WItuaYvuekulxuIgorI34gIiAtYyAgICAgICAgICAgICAg5Y2V5a2X6IqC5a2X56ym5pi+56S6XG4iCisjfiAiIC1DICAgICAgICAgICAgICDop4TojIPljJYg5Y2B5YWt6L+b5Yi2K0FTQ0lJIOaYvuekulxuIgorI34gIiAtZCAgICAgICAgICAgICAg5Lik5a2X6IqC5Y2B6L+b5Yi25pi+56S6XG4iCisjfiAiIC1vICAgICAgICAgICAgICDkuKTlrZfoioLlhavov5vliLbmmL7npLpcbiIKKyN+ICIgLXggICAgICAgICAgICAgIOS4pOWtl+iKguWNgeWFrei/m+WItuaYvuekulxuIgorI34gIiAtZSDmoLzlvI8gICAgICAgICDnlKjkuo7mmL7npLrmlbDmja7nmoTmoLzlvI/lrZfnrKbkuLJcbiIKKyN+ICIgLWYg5qC85byP5paH5Lu2ICAgICDljIXlkKvmoLzlvI/lrZfnrKbkuLLnmoTmlofku7ZcbiIKKyN+ICIgLW4g6ZW/5bqmICAgICAgICAg5Y+q6Kej6YeK6L6T5YWl55qE5oyH5a6a6ZW/5bqm5Liq5a2X6IqCXG4iCisjfiAiIC1zIOWBj+enuyAgICAgICAgIOi3s+i/h+W8gOWktOaMh+WumumVv+W6puS4quWtl+iKglxuIgorI34gIiAtdiAgICAgICAgICAgICAg5pi+56S65pe25LiN5Y6L57yp55u45Ly855qE6KGMXG4iCisjfiAiIC1WICAgICAgICAgICAgICDmmL7npLrmraTluK7liqnlubbpgIDlh7pcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImNyeXB0IGZhaWxlZDogJW1cbiIKKyN+IG1zZ3N0ciAi5Yqg5a+G5aSx6LSl77yaJW1cbiIKKworI34gbXNnaWQgIkNhbiBub3QgZm9yazogJW1cbiIKKyN+IG1zZ3N0ciAi5peg5rOVIGZvcmvvvJolbVxuIgorCisjfiBtc2dpZCAiYnVnIGluIHhzdHJuZHVwIGNhbGwiCisjfiBtc2dzdHIgInhzdHJuZHVwIOiwg+eUqOS4reaciemXrumimCIKZGlmZiAtLWdpdCBhL3BvL3poX1RXLnBvIGIvcG8vemhfVFcucG8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzQzNmRkYwotLS0gL2Rldi9udWxsCisrKyBiL3BvL3poX1RXLnBvCkBAIC0wLDAgKzEsMjU2ODUgQEAKKyMgVHJhZGl0aW9uYWwgQ2hpbmVzZSBNZXNzYWdlcyBmb3IgdXRpbC1saW51eC4KKyMgQ29weXJpZ2h0IChDKSAyMDA1IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgdXRpbC1saW51eCBwYWNrYWdlLgorIyBXZWktTHVuIENoYW8gPGJsdWViYXRAbWVtYmVyLmZzZi5vcmc+LCAyMDEwLgorIworbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdXRpbC1saW51eCAyLjIzLjFcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogdXRpbC1saW51eEB2Z2VyLmtlcm5lbC5vcmdcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxNy0wMi0yMiAxMjozMiswMTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxMy0wNi0wNyAyMzoyOSswODAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBXZWktTHVuIENoYW8gPGJsdWViYXRAbWVtYmVyLmZzZi5vcmc+XG4iCisiTGFuZ3VhZ2UtVGVhbTogQ2hpbmVzZSAodHJhZGl0aW9uYWwpIDx6aC1sMTBuQGxpbnV4Lm9yZy50dz5cbiIKKyJMYW5ndWFnZTogemhfVFdcbiIKKyJNSU1FLVZlcnNpb246IDEuMFxuIgorIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgorIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKyJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTE7IHBsdXJhbD0wO1xuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxzdGFydD4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiICVzIDxkaXNrIGRldmljZT485YiG5Ymy5Y2A57eo6JmfPjzplovlp4s+POmVt+W6pj5cbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTgKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIGV4aXN0ZW5jZSBvZiBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTYgZGlzay11dGlscy9ibG9ja2Rldi5jOjI3NiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDIwCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDQ2IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzNCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1NworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNyBkaXNrLXV0aWxzL2ZkaXNrLmM6NzE4IGRpc2stdXRpbHMvZmRpc2suYzo5OTQKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjMwMSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNDEKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM2MCBkaXNrLXV0aWxzL2ZzY2suYzoxNDQ4CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTU1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTAKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEzNCBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg5CisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTczIGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjEKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODggZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE5CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIxNSBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NCBkaXNrLXV0aWxzL3BhcnR4LmM6OTk0CisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDEgZGlzay11dGlscy9zZmRpc2suYzo2NDcgZGlzay11dGlscy9zZmRpc2suYzo3MDMKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzU3IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODE2IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODgwCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkyMSBkaXNrLXV0aWxzL3NmZGlzay5jOjk1MSBkaXNrLXV0aWxzL3NmZGlzay5jOjk4OAorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTM3IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjAgbGliZmRpc2svc3JjL2JzZC5jOjY0MQorIzogbGliL3BhdGguYzo3MCBsaWIvcGF0aC5jOjgyIGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo4NyBsb2dpbi11dGlscy9sYXN0LmM6NjcyCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDQ2IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0ODMKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzU5CisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4MSBsb2dpbi11dGlscy92aXB3LmM6MjU4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzYKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOTcgbWlzYy11dGlscy9sb2dnZXIuYzoxMTg4IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjExNQorIzogbWlzYy11dGlscy91dWlkZC5jOjIwNyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4MyBzeXMtdXRpbHMvZG1lc2cuYzo1MjIKKyM6IHN5cy11dGlscy9lamVjdC5jOjUwMCBzeXMtdXRpbHMvZWplY3QuYzo3MDAgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM3NAorIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTI4IHN5cy11dGlscy9mc3RyaW0uYzo3MiBzeXMtdXRpbHMvaHdjbG9jay5jOjI4MgorIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjYzOCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxNjIKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI1NiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDEKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQyMiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NjkKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM4OCBzeXMtdXRpbHMvbnNlbnRlci5jOjEyOCBzeXMtdXRpbHMvcnRjd2FrZS5jOjEzNgorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyNzAgc3lzLXV0aWxzL3NldHByaXYuYzoyMzAgc3lzLXV0aWxzL3NldHByaXYuYzo1MjkKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTUyIHN5cy11dGlscy9zd2Fwb24uYzozNzEgc3lzLXV0aWxzL3N3YXBvbi5jOjUxNAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTYzIHN5cy11dGlscy91bnNoYXJlLmM6MTA2IHN5cy11dGlscy91bnNoYXJlLmM6MTIxCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjEgc3lzLXV0aWxzL3dkY3RsLmM6Mzc3IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYxOAorIzogdGVybS11dGlscy9tZXNnLmM6MTI3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDI1IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDMxCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQzMyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjUyMgorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxOTcgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMDAKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjMzMSB0ZXh0LXV0aWxzL2NvbGNydC5jOjI4MiB0ZXh0LXV0aWxzL21vcmUuYzo1MTMKKyM6IHRleHQtdXRpbHMvcmV2LmM6MTQxIHRleHQtdXRpbHMvdGFpbGYuYzo2OCB0ZXh0LXV0aWxzL3RhaWxmLmM6MTAwCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzIgorbXNnc3RyICLnhKHms5XplovllZ8gJXMiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjU5IGRpc2stdXRpbHMvZGVscGFydC5jOjYwIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjk4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcGFydGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAi54Sh5pWI55qE5YiG5Ymy5Y2A57eo6Jmf5byV5pW4IgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHN0YXJ0IGFyZ3VtZW50IgorbXNnc3RyICLnhKHmlYjnmoTplovlp4vlvJXmlbgiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYxIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIKK21zZ3N0ciAi54Sh5pWI55qE6ZW35bqm5byV5pW4IgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWRkIHBhcnRpdGlvbiIKK21zZ3N0ciAi5Yqg5YWl5YiG5Ymy5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NjMKK21zZ2lkICJzZXQgcmVhZC1vbmx5IgorbXNnc3RyICLoqK3lrprllK/oroAiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3MAorbXNnaWQgInNldCByZWFkLXdyaXRlIgorbXNnc3RyICLoqK3lrprlj6/oroDlr6siCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3NgorbXNnaWQgImdldCByZWFkLW9ubHkiCittc2dzdHIgIuWPluW+l+WUr+iugCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjgyCisjLCBmdXp6eQorbXNnaWQgImdldCBkaXNjYXJkIHplcm9lcyBzdXBwb3J0IHN0YXR1cyIKK21zZ3N0ciAi5o+Q5Y+W5o2o5qOE6Zu25pSv5o+054uA5oWLIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODgKK21zZ2lkICJnZXQgbG9naWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICLlj5blvpfpgo/ovK/ljYDloYogKOejgeWNgCkg5aSn5bCPIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6OTQKK21zZ2lkICJnZXQgcGh5c2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAi5Y+W5b6X5a+m6Zqb5Y2A5aGKICjno4HljYApIOWkp+WwjyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwMAorbXNnaWQgImdldCBtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICLlj5blvpfmnIDlsI8gSS9PIOWkp+WwjyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwNgorbXNnaWQgImdldCBvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICLlj5blvpfmnIDkvbPljJYgSS9PIOWkp+WwjyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExMgorIywgZnV6enkKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAi5o+Q5Y+W5bCN6b2K5YGP56e75Zyo5Lit5L2N5YWD57WEIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTE4Cittc2dpZCAiZ2V0IG1heCBzZWN0b3JzIHBlciByZXF1ZXN0IgorbXNnc3RyICLlj5blvpfllq7kuIDopoHmsYLmnIDlpKfno4HljYAiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMjQKK21zZ2lkICJnZXQgYmxvY2tzaXplIgorbXNnc3RyICLlj5blvpfljYDloYrlpKflsI8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzEKK21zZ2lkICJzZXQgYmxvY2tzaXplIG9uIGZpbGUgZGVzY3JpcHRvciBvcGVuaW5nIHRoZSBibG9jayBkZXZpY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzNworIywgZnV6enkKK21zZ2lkICJnZXQgMzItYml0IHNlY3RvciBjb3VudCAoZGVwcmVjYXRlZCwgdXNlIC0tZ2V0c3opIgorbXNnc3RyICLmj5Dlj5YgMzItYml0IOejgeWNgOioiOaVuCAo5LiN5a6c55So77yM5L2/55SoIC0tZ2V0c3opIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTQzCittc2dpZCAiZ2V0IHNpemUgaW4gYnl0ZXMiCittc2dzdHIgIuS7peS9jeWFg+e1hOeCuuWWruS9jeWPluW+l+Wkp+WwjyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1MAorbXNnaWQgInNldCByZWFkYWhlYWQiCittc2dzdHIgIuioreWumumgkOWFiOiugOWPliIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1NgorbXNnaWQgImdldCByZWFkYWhlYWQiCittc2dzdHIgIuWPluW+l+mgkOWFiOiugOWPliIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2MworbXNnaWQgInNldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAi6Kit5a6a5qqU5qGI57O757Wx6aCQ5YWI6K6A5Y+WIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTY5Cittc2dpZCAiZ2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICLlj5blvpfmqpTmoYjns7vntbHpoJDlhYjoroDlj5YiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzMKK21zZ2lkICJmbHVzaCBidWZmZXJzIgorbXNnc3RyICLmuIXnkIbnt6nooZ3ljYAiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzcKK21zZ2lkICJyZXJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICLph43mlrDoroDlj5bliIblibLooagiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJTEkcyAtVlxuIgorIiAlMSRzIC0tcmVwb3J0IFtkZXZpY2VzXVxuIgorIiAlMSRzIFstdnwtcV0gY29tbWFuZHMgZGV2aWNlc1xuIgorIlxuIgorIkF2YWlsYWJsZSBjb21tYW5kczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIueUqOazle+8mlxuIgorIiAlMSRzIC1WXG4iCisiICUxJHMgLS1yZXBvcnQgW+ijnee9rl1cbiIKKyIgJTEkcyBbLXZ8LXFdIOWRveS7pOijnee9rlxuIgorIlxuIgorIuWPr+eUqOWRveS7pO+8mlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJS0yNXMgZ2V0IHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9yc1xuIgorbXNnc3RyICIgJS0yNXMg5o+Q5Y+W5aSn5bCP5Zyo5LitIDUxMi1ieXRlIOejgeWNgFxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzExCisjLCBmdXp6eQorbXNnaWQgImNvdWxkIG5vdCBnZXQgZGV2aWNlIHNpemUiCittc2dzdHIgIueEoeazleaPkOWPluijnee9ruWkp+WwjyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjb21tYW5kOiAlcyIKK21zZ3N0ciAi5LiN5piO5ZG95Luk77yaJXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICIlcyDpnIDopoHkuIDlgIvlvJXmlbgiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNjggZGlzay11dGlscy9ibG9ja2Rldi5jOjQ3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZXJyb3Igb24gJXMiCittc2dzdHIgImlvY3RsIOmMr+iqpOaWvCAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQuXG4iCittc2dzdHIgIiVzIOWkseaVl+OAglxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiJXMg5oiQ5Yqf44CCXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzeXNmcyBoYW5kbGVyIgorbXNnc3RyICIlc++8mueEoeazleWIneWni+WMliBzeXNmcyDomZXnkIbluLjlvI8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gc3RhcnQgZnJvbSBzeXNmcyIKK21zZ3N0ciAiJXPvvJrnhKHms5XoroDlj5bliIblibLooagiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk8gICAgUkEgICBTU1ogICBCU1ogICBTdGFydFNlYyAgICAgICAgICAgIFNpemUgICBEZXZpY2VcbiIKK21zZ3N0ciAiUk8gICAgUkEgICBTU1ogICBCU1ogICDotbflp4vno4HljYAgICAgICAgICAgICDlpKflsI8gICDoo53nva5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzkKK21zZ2lkICJCb290YWJsZSIKK21zZ3N0ciAi5Y+v6ZaL5qmfIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3OQorbXNnaWQgIlRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAi5YiH5o+b55uu5YmN5YiG5Ymy5Y2A55qE5bGs5oCn5peX5qiZIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MAorbXNnaWQgIkRlbGV0ZSIKK21zZ3N0ciAi5Yiq6ZmkIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MAorbXNnaWQgIkRlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIuWIqumZpOebruWJjeeahOWIhuWJsuWNgCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODEKK21zZ2lkICJOZXciCittc2dzdHIgIuaWsOWiniIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODEKK21zZ2lkICJDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIuW+nuWJqemkmOepuumWk+aWsOWinuS4gOWAi+aWsOeahOWIhuWJsuWNgCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODIKK21zZ2lkICJRdWl0IgorbXNnc3RyICLpm6LplosiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgyCisjLCBmdXp6eQorbXNnaWQgIlF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgY2hhbmdlcyIKK21zZ3N0ciAi6Zui6ZaL5pys56iL5byP5LiU5LiN5a+r5YWl5YiG5Ymy6KGoIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4MyBsaWJmZGlzay9zcmMvYnNkLmM6NDM5IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIwCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxNiBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MAorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMTYKK21zZ2lkICJUeXBlIgorbXNnc3RyICLpoZ7lnosiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTgzCisjLCBmdXp6eQorbXNnaWQgIkNoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIuWIl+WNsOWIhuWJsuihqCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODQKK21zZ2lkICJIZWxwIgorbXNnc3RyICLmsYLliqkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0Cittc2dpZCAiUHJpbnQgaGVscCBzY3JlZW4iCittc2dzdHIgIumhr+ekuuiqquaYjueVq+mdoiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODUKK21zZ2lkICJTb3J0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg1CisjLCBmdXp6eQorbXNnaWQgIkZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICLkv67mraPliIblibLmjpLluo8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiV3JpdGUiCittc2dzdHIgIuWvq+WFpSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAodGhpcyBtaWdodCBkZXN0cm95IGRhdGEpIgorbXNnc3RyICLlr6vlhaXliIblibLooajoh7Pnoaznop/kuK0gKOWPr+iDveS9v+ipsuWIhuWJsuWNgOS4reeahOizh+aWmea2iOWksSEpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworbXNnaWQgIkR1bXAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiRHVtcCBwYXJ0aXRpb24gdGFibGUgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIuWNsOWHuuWIhuWJsuihqOiHs+ieouW5leaIluaqlOahiCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzo2MjAgZGlzay11dGlscy9mZGlzay5jOjQxNQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlhbG9nIHR5cGUgJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAobW91bnRlZCkiCittc2dzdHIgIiVz77ya54Sh5rOV5o6b6LyJIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyNzQKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIG5hbWU6IgorbXNnc3RyICLliIblibLlkI3nqLEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI4MQorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gVVVJRDoiCittc2dzdHIgIuWIhuWJsiBVVUlEIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyOTMKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHR5cGU6IgorbXNnc3RyICLliIblibLljYDnt6jomZ8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMwMAorbXNnaWQgIkF0dHJpYnV0ZXM6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMyNAorIywgZnV6enkKK21zZ2lkICJGaWxlc3lzdGVtIFVVSUQ6IgorbXNnc3RyICLmqpTmoYjns7vntbEgVVVJRCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzMxCisjLCBmdXp6eQorbXNnaWQgIkZpbGVzeXN0ZW0gTEFCRUw6IgorbXNnc3RyICLmqpTmoYjns7vntbHmqJnosrwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMzNworIywgZnV6enkKK21zZ2lkICJGaWxlc3lzdGVtOiIKK21zZ3N0ciAi6YO15Lu257O757WxIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNDIKKyMsIGZ1enp5Cittc2dpZCAiTW91bnRwb2ludDoiCittc2dzdHIgIm1vdW50cG9pbnQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzazogJXMiCittc2dzdHIgIuejgeein++8miUuKnNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlNpemU6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzLCBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAi56OB56Kf6K2Y5Yil56K877yaMHglMDh4XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTY5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzIgorbXNnc3RyICLmqJnnsaTvvJolLipzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg0NgorbXNnaWQgIk1heSBiZSBmb2xsb3dlZCBieSBNIGZvciBNaUIsIEcgZm9yIEdpQiwgVCBmb3IgVGlCLCBvciBTIGZvciBzZWN0b3JzLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NTIKKyMsIGZ1enp5Cittc2dpZCAiUGxlYXNlLCBzcGVjaWZ5IHNpemUuIgorbXNnc3RyICLmnKrmjIflrprku7vkvZXmqpTlkI3jgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWluaW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIuS7peS9jeWFg+e1hOeCuuWWruS9jeWPluW+l+Wkp+WwjyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNYXhpbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAi5Lul5L2N5YWD57WE54K65Zau5L2N5Y+W5b6X5aSn5bCPIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OTAKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNpemUuIgorbXNnc3RyICLliZbmnpDlpKflsI/mmYLlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0OAorIywgZnV6enkKK21zZ2lkICJTZWxlY3QgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIuW3sumBuOWIhuWJsuWNgCAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5OTQgZGlzay11dGlscy9jZmRpc2suYzoyMDI0CisjLCBmdXp6eQorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWU6ICIKK21zZ3N0ciAi54Sh5rOV5a+r5YWl5oyH5Luk56i/5qqU5qGIIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5OTUKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHNjcmlwdCBmaWxlIHdpbGwgYmUgYXBwbGllZCB0byBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAi5oKo5bCH5LiN6IO95a+r5YWl5YiG5Ymy6KGo44CCXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAwNCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNDYKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2NSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuICVzIgorbXNnc3RyICLnhKHms5XplovllZ8gJXNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDA2IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNjcmlwdCBmaWxlICVzIgorbXNnc3RyICLoroDlj5YgdHlwZXNjcmlwdCDmqpTmoYggJXMg5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMDggZGlzay11dGlscy9mZGlzay1tZW51LmM6NDY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0ICVzIgorbXNnc3RyICLoroDlj5YgdHlwZXNjcmlwdCDmqpTmoYggJXMg5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjUKK21zZ2lkICJUaGUgY3VycmVudCBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlIHdpbGwgYmUgZHVtcGVkIHRvIHRoZSBmaWxlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzMgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDkxCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAi6YWN572u6L+t5Luj5Zmo5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzkKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZGlzayBsYXlvdXQgaW50byBzY3JpcHQuIgorbXNnc3RyICLliqDlhaXovLjlh7rliJfmmYLlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA1MworbXNnaWQgIkRpc2sgbGF5b3V0IHN1Y2Nlc3NmdWxseSBkdW1wZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA1NiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBzY3JpcHQgJXMiCittc2dzdHIgIuiugOWPliB0eXBlc2NyaXB0IOaqlOahiCAlcyDmmYLlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA5MgorIywgZnV6enkKK21zZ2lkICJTZWxlY3QgbGFiZWwgdHlwZSIKK21zZ3N0ciAi5LiN5ZCI5rOV55qE6aGe5Z6LXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA5NSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAxNworIywgZnV6enkKK21zZ2lkICJEZXZpY2UgZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAi6KOd572u5LiN5YyF5ZCr6L6o6K2Y55qE5YiG5Ymy6KGoXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjEwMQorbXNnaWQgIlNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGxhYmVsIG9yIHByZXNzICdMJyB0byBsb2FkIHNjcmlwdCBmaWxlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDYKKyMsIGZ1enp5Cittc2dpZCAiVGhpcyBpcyBjZmRpc2ssIGEgY3Vyc2VzLWJhc2VkIGRpc2sgcGFydGl0aW9uaW5nIHByb2dyYW0uIgorbXNnc3RyICLmnKznqIvlvI8gY2ZkaXNr77yM5piv5LiA5YCL5Lul5ri45qiZ5pON5L2c54K65Z+656SO55qE56Gs56Kf5YiG5Ymy56iL5byP77yMIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNDcKKyMsIGZ1enp5Cittc2dpZCAiSXQgbGV0cyB5b3UgY3JlYXRlLCBkZWxldGUsIGFuZCBtb2RpZnkgcGFydGl0aW9ucyBvbiBhIGJsb2NrIGRldmljZS4iCittc2dzdHIgIuWPr+S+m+aCqOaWsOWinuOAgeWIqumZpOWSjOS/ruaUueehrOein+S4reeahOWIhuWJsuWNgCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTQ5Cittc2dpZCAiQ29tbWFuZCAgICAgIE1lYW5pbmciCittc2dzdHIgIuaMiemNteWRveS7pCAgICAg5oSP576pIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTAKK21zZ2lkICItLS0tLS0tICAgICAgLS0tLS0tLSIKK21zZ3N0ciAiLS0tLS0tLSAgICAgIC0tLS0tLS0iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MQorbXNnaWQgIiAgYiAgICAgICAgICBUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgYiAgICAgICAgICDliIfmj5vnm67liY3liIblibLljYDnmoTplovmqZ/lsazmgKfml5fmqJkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1MgorbXNnaWQgIiAgZCAgICAgICAgICBEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGQgICAgICAgICAg5Yiq6Zmk55uu5YmN55qE5YiG5Ymy5Y2AIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNTMKK21zZ2lkICIgIGggICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCittc2dzdHIgIiAgaCAgICAgICAgICDpoa/npLrmnKzoqqrmmI7nlavpnaIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NAorbXNnaWQgIiAgbiAgICAgICAgICBDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIiAgbiAgICAgICAgICDnlLHlianppJjnqbrplpPkuK3mlrDlop7kuIDloYrliIblibLljYAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NQorbXNnaWQgIiAgcSAgICAgICAgICBRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICBxICAgICAgICAgIOmboumWi+acrOeoi+W8j+S4puS4lOS4jeWvq+WFpeWIhuWJsuihqCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU2Cittc2dpZCAiICBzICAgICAgICAgIEZpeCBwYXJ0aXRpb25zIG9yZGVyIChvbmx5IHdoZW4gaW4gZGlzYXJyYXkpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE1NworIywgZnV6enkKK21zZ2lkICIgIHQgICAgICAgICAgQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiICB0ICAgICAgICAgIOiuiuabtOaqlOahiOezu+e1seeahOmhnuWeiyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU4Cittc2dpZCAiICB1ICAgICAgICAgIER1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTU5CisjLCBmdXp6eQorbXNnaWQgIiAgVyAgICAgICAgICBXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAoeW91IG11c3QgZW50ZXIgdXBwZXJjYXNlIFcpOyIKK21zZ3N0ciAiICBXICAgICAgICAgIOWvq+WFpeWIhuWJsuihqCAo5a+r5YWl5LiA5a6a6KaB55So5aSn5a+rIFcpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAgICAgICAgICAgc2luY2UgdGhpcyBtaWdodCBkZXN0cm95IGRhdGEgb24gdGhlIGRpc2ssIHlvdSBtdXN0IGVpdGhlciIKK21zZ3N0ciAiICAgICAgICAgICAgIOWboOeCuumAmeWwh+acg+S9v+aCqOeahOehrOein+S4reeahOizh+aWmea2iOWkse+8jOaCqOW/hemgiCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTYxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgICAgIGNvbmZpcm0gb3IgZGVueSB0aGUgd3JpdGUgYnkgZW50ZXJpbmcgJ3llcycgb3IgJ25vJyIKK21zZ3N0ciAiICAgICAgICAgICAgIOaYjueiuuWcsOWbnuetlCAneWVzJyDku6Pooajlr6vlhaXvvIzoi6XkuI3opoHlr6vlhaXoq4vlm57nrZQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2MgorIywgZnV6enkKK21zZ2lkICIgIHggICAgICAgICAgRGlzcGxheS9oaWRlIGV4dHJhIGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICIgLVYgICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjMKK21zZ2lkICJVcCBBcnJvdyAgICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIHBhcnRpdGlvbiIKK21zZ3N0ciAi5ZCR5LiK6Y21ICAgICAgIOenu+WLleW+gOS4iumNteWPr+enu+iHs+S4iuS4gOWAi+WIhuWJsuWNgCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY0Cittc2dpZCAiRG93biBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IHBhcnRpdGlvbiIKK21zZ3N0ciAi5ZCR5LiL6Y21ICAgICAgIOenu+WLleW+gOS4i+mNteWPr+enu+iHs+S4i+S4gOWAi+WIhuWJsuWNgCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY1CisjLCBmdXp6eQorbXNnaWQgIkxlZnQgQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgbWVudSBpdGVtIgorbXNnc3RyICLlkJHkuIrpjbUgICAgICAg56e75YuV5b6A5LiK6Y215Y+v56e76Iez5LiK5LiA5YCL5YiG5Ymy5Y2AIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNjYKKyMsIGZ1enp5Cittc2dpZCAiUmlnaHQgQXJyb3cgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IG1lbnUgaXRlbSIKK21zZ3N0ciAi5ZCR5LiL6Y21ICAgICAgIOenu+WLleW+gOS4i+mNteWPr+enu+iHs+S4i+S4gOWAi+WIhuWJsuWNgCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTY4Cittc2dpZCAiTm90ZTogQWxsIG9mIHRoZSBjb21tYW5kcyBjYW4gYmUgZW50ZXJlZCB3aXRoIGVpdGhlciB1cHBlciBvciBsb3dlciIKK21zZ3N0ciAi5rOo5oSPOiDku6XkuIrmiYDmnInnmoTmjInpjbXlkb3ku6TlnYfkuI3ljYDliIblpKflsI/lr6siCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE2OQorIywgZnV6enkKK21zZ2lkICJjYXNlIGxldHRlcnMgKGV4Y2VwdCBmb3IgV3JpdGUpLiIKK21zZ3N0ciAiKOmZpOS6hiAn5a+r5YWlJyDkuYvlpJYp44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzEKK21zZ2lkICJVc2UgbHNibGsoOCkgb3IgcGFydHgoOCkgdG8gc2VlIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgZGV2aWNlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzggZGlzay11dGlscy9jZmRpc2suYzoyNDM3CisjLCBmdXp6eQorbXNnaWQgIlByZXNzIGEga2V5IHRvIGNvbnRpbnVlLiIKK21zZ3N0ciAi5oyJ5Lu75L2V6Y2157m857qMIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNjAKK21zZ2lkICJDb3VsZCBub3QgdG9nZ2xlIHRoZSBmbGFnLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIuW3sumBuOWIhuWJsuWNgCAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyNzIgZGlzay11dGlscy9mZGlzay1tZW51LmM6NjMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGhhcyBiZWVuIGRlbGV0ZWQuIgorbXNnc3RyICLliIblibIgJWQg6KKr5Yiq6ZmkXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI5MworIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gc2l6ZTogIgorbXNnc3RyICLliIblibLljYAgKGEtJWMp77yaIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAi5YiG5Ymy5Y2AICVkIOeahOezu+e1semhnuWei+W3suiuiuabtOeCuiAleCAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIHR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICLliIblibLljYAgJWQg55qE57O757Wx6aGe5Z6L5pyq6KKr6K6K5pu077yaJXggKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNTMgZGlzay11dGlscy9jZmRpc2suYzoyNDY2IGRpc2stdXRpbHMvZmRpc2suYzo5OTEKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU3MAorbXNnaWQgIkRldmljZSBpcyBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNTgKKyMsIGZ1enp5Cittc2dpZCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHdyaXRlIHRoZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzaz8gIgorbXNnc3RyICLmgqjnorrlrpropoHlsIfliIblibLooajlr6vlhaXnoaznop/kuK3ll44/ICh5ZXMg5oiWIG5vKToiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM2MAorbXNnaWQgIlR5cGUgXCJ5ZXNcIiBvciBcIm5vXCIsIG9yIHByZXNzIEVTQyB0byBsZWF2ZSB0aGlzIGRpYWxvZy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzY1IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE1NDAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1NTAKK21zZ2lkICJ5ZXMiCittc2dzdHIgIuaYryIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzY2CisjLCBmdXp6eQorbXNnaWQgIkRpZCBub3Qgd3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2suIgorbXNnc3RyICLkuI3opoHlsIfliIblibLooajlr6vlhaXnoaznop8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3MQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsLiIKK21zZ3N0ciAiJXPvvJrnhKHms5Xlr6vlhaXmqJnnsaQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3NCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzgKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiIgorIuWIhuWJsuihqOW3suiuiuabtO+8gVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzOTcgZGlzay11dGlscy9jZmRpc2suYzoyNDY4CisjLCBmdXp6eQorbXNnaWQgIk5vdGUgdGhhdCBwYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIgbm93LiIKK21zZ3N0ciAiIgorIlxuIgorIuWIhuWJsuihqOmgheebruacquaMieejgeein+aOkuW6j1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmU7IGl0IHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGRpc2tsYWJlbCIKK21zZ3N0ciAi5bu656uL5paw55qE5riF56m6IFN1biBkaXNrbGFiZWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ1MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb25zIgorbXNnc3RyICLliqDlhaXliIblibLmmYLlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICUxJHMgW29wdGlvbnNdIDxkaXNrPlxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gPGRldmljZT5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTQ5IGRpc2stdXRpbHMvZmRpc2suYzo3MzYgZGlzay11dGlscy9zZmRpc2suYzoxODEwCisjLCBmdXp6eQorbXNnaWQgIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSBhIGRpc2sgcGFydGl0aW9uIHRhYmxlLlxuIgorbXNnc3RyICIlc++8mueEoeazleiugOWPluWIhuWJsuihqCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTUyCisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAg5bu656uL6KiK5oGv5L2H5YiXXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU1NQorIywgZnV6enkKK21zZ2lkICIgLXosIC0temVybyAgICAgICAgICAgICAgIHN0YXJ0IHdpdGggemVyb2VkIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIOW7uueri+ioiuaBr+S9h+WIl1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1OTQgZGlzay11dGlscy9mZGlzay5jOjg4MiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzcKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzkwIHN5cy11dGlscy9kbWVzZy5jOjEzMzMgdGV4dC11dGlscy9oZXhkdW1wLmM6MTE0CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIGNvbG9yIG1vZGUiCittc2dzdHIgIuS4jeWPl+aUr+aPtOeahOWRveS7pCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjEyIGRpc2stdXRpbHMvZmRpc2suYzo4MTggZGlzay11dGlscy9zZmRpc2suYzoyMjMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgIumFjee9rui/reS7o+WZqOaZguWkseaVlyIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPlxuIgorbXNnc3RyICIgJXMgPGRpc2sgZGV2aWNlPjzliIblibLljYDnt6jomZ8+XG4iCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjE4Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIHRvIGZvcmdldCBhYm91dCBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6NjEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24iCittc2dzdHIgIuenu+mZpOWIhuWJsuaZguWkseaVlyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcm1hdHRpbmcgLi4uICIKK21zZ3N0ciAi5qC85byP5YyW5Lit4oCmIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NjggZGlzay11dGlscy9mZGZvcm1hdC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJkb25lXG4iCittc2dzdHIgIuW3suWujOaIkFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmVyaWZ5aW5nIC4uLiAiCittc2dzdHIgIumpl+itieS4reKApiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEwOAorbXNnaWQgIlJlYWQ6ICIKK21zZ3N0ciAi6K6A5Y+W77yaIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQcm9ibGVtIHJlYWRpbmcgdHJhY2svaGVhZCAldS8ldSwgZXhwZWN0ZWQgJWQsIHJlYWQgJWRcbiIKK21zZ3N0ciAi5ZWP6aGM55m855Sf5Zyo6K6A5Y+W56ysICVkIOWAi+ejgeafseaZgu+8jOmgkOioiOizh+aWmeeCuiAlZO+8jOWvpumam+iugOWPluizh+aWmeeCuiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiYmFkIGRhdGEgaW4gdHJhY2svaGVhZCAldS8ldVxuIgorIkNvbnRpbnVpbmcgLi4uICIKK21zZ3N0ciAiIgorIuesrCAlZCDlgIvno4Hmn7HmnInlo57os4fmlpnjgIJcbiIKKyLnubznuozpgLLooYwuLi4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTgyCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjExNyBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1NiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg0CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIDxkZXZpY2U+XG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDgKK21zZ2lkICJEbyBhIGxvdy1sZXZlbCBmb3JtYXR0aW5nIG9mIGEgZmxvcHB5IGRpc2suXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZnJvbSA8Tj4gICAgc3RhcnQgYXQgdGhlIHRyYWNrIE4gKGRlZmF1bHQgMClcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgIOaJgOaciSAo6aCQ6KitKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUyCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10byA8Tj4gICAgICBzdG9wIGF0IHRoZSB0cmFjayBOXG4iCittc2dzdHIgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICDoqK3lrprlgZzmraLkvY3lhYPliLDlhalcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MworbXNnaWQgIiIKKyIgLXIsIC0tcmVwYWlyIDxOPiAgdHJ5IHRvIHJlcGFpciB0cmFja3MgZmFpbGVkIGR1cmluZ1xuIgorIiAgICAgICAgICAgICAgICAgICAgIHRoZSB2ZXJpZmljYXRpb24gKG1heCBOIHJldHJpZXMpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1NQorbXNnaWQgIiAtbiwgLS1uby12ZXJpZnkgICBkaXNhYmxlIHRoZSB2ZXJpZmljYXRpb24gYWZ0ZXIgdGhlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIGZyb20iCittc2dzdHIgIueEoeaViOeahOW8leaVuO+8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSB0byIKK21zZ3N0ciAi54Sh5pWI55qE5byV5pW477yaJXMiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMDEKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHJlcGFpciIKK21zZ3N0ciAi54Sh5pWI55qE5byV5pW477yaJXMiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjEgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1MQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4NSBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzM4CisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzQ4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODUKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxNiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0MSBkaXNrLXV0aWxzL3BhcnR4LmM6OTMzCisjOiBsb2dpbi11dGlscy9sYXN0LmM6Njg2IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM5IG1pc2MtdXRpbHMvbmFtZWkuYzoxMzUKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjMgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODYgc3lzLXV0aWxzL2RtZXNnLmM6NTI0CisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTk4IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzMSBzeXMtdXRpbHMvZnN0cmltLmM6NzcKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1MTkgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6OTMKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjEzMyB0ZXJtLXV0aWxzL21lc2cuYzoxMjkgdGV4dC11dGlscy9tb3JlLmM6NTA0CisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTAzIHRleHQtdXRpbHMvdGFpbGYuYzoyODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInN0YXQgb2YgJXMgZmFpbGVkIgorbXNnc3RyICJzdGF0IOWkseaVlyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNCBkaXNrLXV0aWxzL3BhcnR4LmM6OTkxIG1pc2MtdXRpbHMvbHNibGsuYzoxNDg1CisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4OCBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXPvvJrkuI3mmK/ljYDloYroo53nva4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjkKKyMsIGZ1enp5Cittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICLnhKHms5Xmsbrlrprnm67liY3nmoTmoLzlvI/poZ7lnosiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMtc2lkZWQsICVkIHRyYWNrcywgJWQgc2VjL3RyYWNrLiBUb3RhbCBjYXBhY2l0eSAlZCBrQi5cbiIKK21zZ3N0ciAiJXPpnaLjgIElZCDno4Hou4zjgIElZCDno4HljYAv56OB6LuM44CC57i95a656YePICVkIGtC44CCXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzIKK21zZ2lkICJEb3VibGUiCittc2dzdHIgIumbmSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMgorbXNnaWQgIlNpbmdsZSIKK21zZ3N0ciAi5ZauIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM5Cittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDEKK21zZ2lkICJ1c2VyIGRlZmluZWQgZW5kIHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDMKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgdXNlciBkZWZpbmVkIGVuZCB0cmFjayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjUxIG1pc2MtdXRpbHMvbG9nZ2VyLmM6OTg3CisjLCBmdXp6eQorbXNnaWQgImNsb3NlIGZhaWxlZCIKK21zZ3N0ciAi5pCc5bCL5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTUgZGlzay11dGlscy9mZGlzay5jOjExMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkRvIHlvdSByZWFsbHkgd2FudCB0byBxdWl0PyAiCittc2dzdHIgIuaCqOecn+eahOimgemboumWi+WXju+8nyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjE1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0IChkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJXUtJXUsIOmgkOiorSAldSnvvJoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIGRlZmF1bHQgcmVzcG9uc2UgJWMuIgorbXNnc3RyICLkvb/nlKjpoJDoqK3lm57mh4kgJWNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjE3NiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjUwIGRpc2stdXRpbHMvZmRpc2suYzozMjUKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTg5IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjc3CisjLCBmdXp6eQorbXNnaWQgIlZhbHVlIG91dCBvZiByYW5nZS4iCittc2dzdHIgIuaVuOWAvOi2heWHuuevhOWcjeOAglxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICgldS0ldSwg6aCQ6KitICV1Ke+8miIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwOCBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJXUtJXUsIOmgkOiorSAldSnvvJoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCV1LSV1LCDpoJDoqK0gJXUp77yaIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjE3IGRpc2stdXRpbHMvZmRpc2suYzoyNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+LCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCV1LSV1LCDpoJDoqK0gJXUp77yaIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMpOiAiCittc2dzdHIgIiVzICglcylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMyBkaXNrLXV0aWxzL2ZkaXNrLmM6MjgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCV1LSV1LCDpoJDoqK0gJXUp77yaIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MzkyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk3Cittc2dpZCAiIFtZXWVzL1tOXW86ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDMzCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0eXBlICh0eXBlIEwgdG8gbGlzdCBhbGwgdHlwZXMpOiAiCittc2dzdHIgIuWNgeWFremAsuS9jee3qOeivCAo6Ly45YWlIEwg5Lul5YiX5Ye657eo56K8Ke+8miIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQzNAorIywgZnV6enkKK21zZ2lkICJIZXggY29kZSAodHlwZSBMIHRvIGxpc3QgYWxsIGNvZGVzKTogIgorbXNnc3RyICLljYHlha3pgLLkvY3nt6jnorwgKOi8uOWFpSBMIOS7peWIl+WHuue3qOeivCnvvJoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1MzYKKyMsIGZ1enp5Cittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBzZXQgKERFUFJFQ0FURUQhKSIKK21zZ3N0ciAiRE9TIOebuOWuueaAp+aXl+aomeW3suioreWumiAo5LiN5a6c5YaN55So77yBKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTM3CisjLCBmdXp6eQorbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgbm90IHNldCIKK21zZ3N0ciAiRE9TIOebuOWuueaAp+aXl+aomeacquioreWumlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTU4IGRpc2stdXRpbHMvZmRpc2suYzo1OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3QgZXhpc3QgeWV0ISIKK21zZ3N0ciAi5YiG5Ymy5Y2AICVkIOWwmuS4jeWtmOWcqO+8gVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTYzIGRpc2stdXRpbHMvZmRpc2suYzo1NzIgbGliZmRpc2svc3JjL2Fzay5jOjk5NQorbXNnaWQgIlVua25vd24iCittc2dzdHIgIuacquefpSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAnJXMnIHRvICclcycuIgorbXNnc3RyICLliIblibLljYAgJWQg55qE57O757Wx6aGe5Z6L5bey6K6K5pu054K6ICV4ICglcylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZDogJXMuIgorbXNnc3RyICLliIblibLljYAgJWQg55qE57O757Wx6aGe5Z6L5pyq6KKr6K6K5pu077yaJXggKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlMTVzOiAlcyIKK21zZ3N0ciAi56OB56Kf77yaJS4qc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlczogb2Zmc2V0ID0gJTxQUkl1NjQ+LCBzaXplID0gJXp1IGJ5dGVzLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Njc3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZWVrIgorbXNnc3RyICLnhKHms5XooY3nlJ/ln7fooYwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2ODIKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgIueEoeazleiugOWPliAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY5NSBsaWJmZGlzay9zcmMvYnNkLmM6MjU5IGxpYmZkaXNrL3NyYy9kb3MuYzo5MzMKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEwCisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IHNlY3RvciIKK21zZ3N0ciAi6LW35YidICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcyIKK21zZ3N0ciAiQkxLR0VUU0laRSBpb2N0bCDlpLHmlZfnmoTmlrwgJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz4gICAgICBjaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisiICUxJHMgW29wdGlvbnNdIC1sIFs8ZGlzaz5dIGxpc3QgcGFydGl0aW9uIHRhYmxlKHMpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjczOQorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tc2VjdG9yLXNpemUgPHNpemU+ICAgICAgcGh5c2ljYWwgYW5kIGxvZ2ljYWwgc2VjdG9yIHNpemVcbiIKK21zZ3N0ciAiIC1jLCAtLWNyZWF0b3IgICAgIOmhr+ekuuW7uueri+iAheWSjOaTgeacieiAhVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQwCittc2dpZCAiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIGRvbid0IGVyYXNlIGJvb3RiaXRzIHdoZW4gY3JlYXRpbmcgYSBuZXcgbGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQxCittc2dpZCAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2RlPl0gIG1vZGUgaXMgJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MgorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQ1CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHBhcnRpdGlvbnMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1oICAgICAgICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0NgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAg55+t6YG46aCF54K66L6o6K2Y55qEXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDcKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgICAgICAgICAgIHJlY29nbml6ZSBzcGVjaWZpZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUgb25seVxuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAg6Kit5a6a5ZCM5L2N5Yiw54ShXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDgKK21zZ2lkICIgLXUsIC0tdW5pdHNbPTx1bml0Pl0gICAgICAgICAgZGlzcGxheSB1bml0czogJ2N5bGluZGVycycgb3IgJ3NlY3RvcnMnIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDkKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLWdldHN6ICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgZGV2aWNlIHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9ycyBbREVQUkVDQVRFRF1cbiIKK21zZ3N0ciAiIC1HLCAtLWdldC1nbHVzaCAgICAgICAgICAgICAgICAgICAg6aGv56S66aCQ6Kit5riF55CG6YC+5pmC5YC8XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICDliJfljbDoqbPntLDnmoToqIrmga/liLDmqJnmupbli5joqqRcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1MQorIywgZnV6enkKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAg5bu656uL6KiK5oGv5L2H5YiXXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NTIgZGlzay11dGlscy9zZmRpc2suYzoxODUzCisjLCBmdXp6eQorbXNnaWQgIiAtVywgLS13aXBlLXBhcnRpdGlvbnMgPG1vZGU+ICB3aXBlIHNpZ25hdHVyZXMgZnJvbSBuZXcgcGFydGl0aW9ucyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIOW7uueri+ioiuaBr+S9h+WIl1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU1CisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jeWxpbmRlcnMgPG51bWJlcj4gICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzXG4iCittc2dzdHIgIiAgICAtQyMgW+aIliAtLWN5bGluZGVycyAjXe+8muioreWumuimgeeUqOeahOejgeafseaVuOmHjyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc1NgorIywgZnV6enkKK21zZ2lkICIgLUgsIC0taGVhZHMgPG51bWJlcj4gICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGhlYWRzXG4iCittc2dzdHIgIiAgICAtSCMgW+aIliAtLWhlYWRzICNd77yaICAg6Kit5a6a6KaB55So55qE56OB6aCt5pW46YePIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzU3CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKK21zZ3N0ciAiICAgIC1TIyBb5oiWIC0tc2VjdG9ycyAjXe+8miDoqK3lrpropoHnlKjnmoTno4HljYDmlbjph48iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzZWN0b3Igc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAi54Sh5pWI55qE56OB5Y2A5aSn5bCP5byV5pW4IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODQwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY3lsaW5kZXJzIGFyZ3VtZW50IgorbXNnc3RyICLnhKHmlYjnmoTno4Hmn7HlvJXmlbgiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NTIKKyMsIGZ1enp5Cittc2dpZCAibm90IGZvdW5kIERPUyBsYWJlbCBkcml2ZXIiCittc2dzdHIgIuaJvuS4jeWIsOacquS9v+eUqOeahOijnee9riIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb21wYXRpYmlsaXR5IG1vZGUgJyVzJyIKK21zZ3N0ciAi5LiN5piO5qmf6IO944COJXPjgI8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4NjcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBoZWFkcyBhcmd1bWVudCIKK21zZ3N0ciAi54Sh5pWI55qE5YmN56uv5byV5pW4IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODczCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc2VjdG9ycyBhcmd1bWVudCIKK21zZ3N0ciAi54Sh5pWI55qE56OB5Y2A5byV5pW4IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNrbGFiZWw6ICVzIgorbXNnc3RyICLkuI3lj5fmlK/mj7TnmoTlvJXmlbjvvJolcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkxNiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTIxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0MQorIzogZGlzay11dGlscy9zZmRpc2suYzoyMDQ2CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIHdpcGUgbW9kZSIKK21zZ3N0ciAi5LiN5Y+X5pSv5o+055qE5ZG95LukIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTM0CisjLCBmdXp6eQorbXNnaWQgIlRoZSBkZXZpY2UgcHJvcGVydGllcyAoc2VjdG9yIHNpemUgYW5kIGdlb21ldHJ5KSBzaG91bGQgYmUgdXNlZCB3aXRoIG9uZSBzcGVjaWZpZWQgZGV2aWNlIG9ubHkuIgorbXNnc3RyICLorablkYrvvJotYiAo6Kit5a6a56OB5Y2A5aSn5bCPKSDpgbjpoIXmh4noqbLoiIfkuIDlgIvmjIflrproo53nva7lhbHlkIzkvb/nlKhcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk4MgorIywgYy1mb3JtYXQKK21zZ2lkICJXZWxjb21lIHRvIGZkaXNrICglcykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5ODQgZGlzay11dGlscy9zZmRpc2suYzoxNTg4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisiQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKyLmraHov47kvb/nlKggZmRpc2sgKCVzKeOAglxuIgorIlxuIgorIuiuiuabtOWwh+WJqeS4i+WcqOS4reiomOaGtumrlOWPquacie+8jOebtOWIsOaCqOaxuuWumuWIsOWvq+WFpeWug+WAkeOAglxuIgorIuiri+Wwj+W/g+S5i+WJjeS9v+eUqOWvq+WFpeWRveS7pOOAglxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAwMSBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICVzIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDEwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU0MiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0ODQKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyMgorbXNnaWQgIlRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMTMgZGlzay11dGlscy9zZmRpc2suYzoxNjI1Cittc2dpZCAiSXQgaXMgc3Ryb25nbHkgcmVjb21tZW5kZWQgdG8gd2lwZSB0aGUgZGV2aWNlIHdpdGggd2lwZWZzKDgpLCBpbiBvcmRlciB0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAyMgorbXNnaWQgIkEgaHlicmlkIEdQVCB3YXMgZGV0ZWN0ZWQuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIGh5YnJpZCBNQlIgbWFudWFsbHkgKGV4cGVydCBjb21tYW5kICdNJykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiIgorIlxuIgorIuejgeeinyAlczogJWx1IOejgeafse+8jCVsdSDno4HpoK3vvIwlbHUg56OB5Y2AL+ejgei7jFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMvdHJhY2ssICVsbHUgY3lsaW5kZXJzIgorbXNnc3RyICIlZCDliY3nq6/vvIwlbGx1IOejgeWNgC/ou4zmrrXvvIwlbGx1IOejgeafsVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo1OSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVuaXRzOiAlcyBvZiAlZCAqICVsZCA9ICVsZCBieXRlcyIKK21zZ3N0ciAi5Zau5L2NPSVzIOeahCAlZCAqICVsZD0lbGQg5L2N5YWD57WEXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY1IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIuejgeWNgOWkp+WwjyAo6YKP6Lyv55qEL+WvpumrlCnvvJolbHUg5L2N5YWD57WELyVsdSDkvY3lhYPntYRcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkkvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIkkvTyDlpKflsI8gKOacgOWwjy/mnIDkvbPljJYp77yaJWx1IOS9jeWFg+e1hCAvICVsdSDkvY3lhYPntYRcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkFsaWdubWVudCBvZmZzZXQ6ICVsdSBieXRlcyIKK21zZ3N0ciAi5bCN6b2K5YGP56e75YC877yaJWx1IOS9jeWFg+e1hFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHR5cGU6ICVzIgorbXNnc3RyICLnoaznop86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICLno4Hnop/orZjliKXnorzvvJoweCUwOHhcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTA5IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxOQorIzogZGlzay11dGlscy9mc2NrLmM6MTI0NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCittc2dzdHIgIumFjee9rui/reS7o+WZqOaZguWkseaVlyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTE1IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICLliJ3lp4vljJbovLjlh7rooajmoLzmmYLlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE1NiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNDkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBsaW5lIgorbXNnc3RyICJjYWxsb2NhdGUgY3B1IOmbhuWQiOaZguWkseaVlyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4iCittc2dzdHIgIuWIhuWJsuWNgCAlaSDkuKbpnZ7plovlp4vmlrzno4Hmn7HpgornlYzjgIJcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTkyCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4iCittc2dzdHIgIiIKKyJcbiIKKyLliIblibLooajpoIXnm67mnKrmjInno4Hnop/mjpLluo9cbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjExIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE1IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAwCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkxMiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NCBsaWJmZGlzay9zcmMvc3VuLmM6MTExMAorIywgZnV6enkKK21zZ2lkICJTdGFydCIKK21zZ3N0ciAi5ZWf5aeLIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMTEgbGliZmRpc2svc3JjL2JzZC5jOjEwMTYgbGliZmRpc2svc3JjL2Rvcy5jOjIzMDEKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTEzIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU1IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTExCittc2dpZCAiRW5kIgorbXNnc3RyICLntZDmnZ8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNyBsaWJmZGlzay9zcmMvZG9zLmM6MjMwMgorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTQgbGliZmRpc2svc3JjL3NnaS5jOjExNTYgbGliZmRpc2svc3JjL3N1bi5jOjExMTIKK21zZ2lkICJTZWN0b3JzIgorbXNnc3RyICLno4HljYAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIxMSBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOSBsaWJmZGlzay9zcmMvZG9zLmM6MjMwNAorIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTUgbGliZmRpc2svc3JjL3NnaS5jOjExNTggbGliZmRpc2svc3JjL3N1bi5jOjExMTQKK21zZ2lkICJTaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5wYXJ0aXRpb25lZCBzcGFjZSAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIiIKKyJcbiIKKyLno4Hnop8gJXM6ICVsdSDno4Hmn7HvvIwlbHUg56OB6aCt77yMJWx1IOejgeWNgC/no4Hou4xcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtbyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLlj6/nlKjmrITkvY0gKOeUqOaWvCAtLXNob3cp77yaXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQ1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICLkuI3mmI7nm7TmrITvvJolcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTUKK21zZ2lkICJHZW5lcmljIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk2CisjLCBmdXp6eQorbXNnaWQgImRlbGV0ZSBhIHBhcnRpdGlvbiIKK21zZ3N0ciAi5Yiq6Zmk5YiG5YmyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NworIywgZnV6enkKK21zZ2lkICJsaXN0IGZyZWUgdW5wYXJ0aXRpb25lZCBzcGFjZSIKK21zZ3N0ciAi5riF5Zau6YCy6ZqO5YiG5Ymy5Y2AIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OAorIywgZnV6enkKK21zZ2lkICJsaXN0IGtub3duIHBhcnRpdGlvbiB0eXBlcyIKK21zZ3N0ciAi5riF5Zau5bey55+l5YiG5Ymy5Y2A6aGe5Z6LIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OQorIywgZnV6enkKK21zZ2lkICJhZGQgYSBuZXcgcGFydGl0aW9uIgorbXNnc3RyICLliqDlhaXmlrDnmoTliIblibIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMAorIywgZnV6enkKK21zZ2lkICJwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICLliJfljbDliIblibLooagiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgYSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAi6K6K5pu05YiG5Ymy57O757Wx6K2Y5Yil6JmfIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAidmVyaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIumpl+itieWIhuWJsuihqCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzCisjLCBmdXp6eQorbXNnaWQgInByaW50IGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICIlc++8muS4jeaYr+WNgOWhiuijnee9riIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1CisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAi5YiX5Y2w5pyq57aT6JmV55CG6LOH5paZ5Zyo5Lit5YiG5Ymy6KGoIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDYKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBkaXNrbGFiZWwgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICLliJfljbDmnKrntpPomZXnkIbos4fmlpnlnKjkuK3liIblibLooagiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNworIywgZnV6enkKK21zZ2lkICJmaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAi5L+u5q2j5YiG5Ymy5o6S5bqPIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDkKK21zZ2lkICJNaXNjIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMAorIywgZnV6enkKK21zZ2lkICJwcmludCB0aGlzIG1lbnUiCittc2dzdHIgIuWNsOWHuumAmeS7vemBuOWWriIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTExCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXNwbGF5L2VudHJ5IHVuaXRzIgorbXNnc3RyICLorormm7Tpoa/npLov5qKd55uu5Zau5L2NIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTIKKyMsIGZ1enp5Cittc2dpZCAiZXh0cmEgZnVuY3Rpb25hbGl0eSAoZXhwZXJ0cyBvbmx5KSIKK21zZ3N0ciAi6aGN5aSW5Yqf6IO95oCnICjlsIjlrrbpmZDnlKgpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTQKK21zZ2lkICJTY3JpcHQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE1Cittc2dpZCAibG9hZCBkaXNrIGxheW91dCBmcm9tIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTYKK21zZ2lkICJkdW1wIGRpc2sgbGF5b3V0IHRvIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTgKK21zZ2lkICJTYXZlICYgRXhpdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTkKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdCIKK21zZ3N0ciAi5a+r5YWl6KGo5qC85Yiw56OB56Kf54S25b6M6Zui6ZaLIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjAKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayIKK21zZ3N0ciAi5a+r5YWlIGRpc2tsYWJlbCDliLDno4Hnop8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMQorIywgZnV6enkKK21zZ2lkICJxdWl0IHdpdGhvdXQgc2F2aW5nIGNoYW5nZXMiCittc2dzdHIgIumboumWi+S9huS4jeWEsuWtmOiuiuabtCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIyCisjLCBmdXp6eQorbXNnaWQgInJldHVybiB0byBtYWluIG1lbnUiCittc2dzdHIgIuWbnuWCs+WIsOS4u+mBuOWWriIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTI0Cittc2dpZCAicmV0dXJuIGZyb20gQlNEIHRvIERPUyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzUKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlIGEgbmV3IGxhYmVsIgorbXNnc3RyICLlu7rnq4vmlrDnmoTmuIXnqbogU3VuIGRpc2tsYWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM2CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBHUFQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICLlu7rnq4vmlrDnmoTmuIXnqbogRE9TIOWIhuWJsuihqCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTR0kgKElSSVgpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi5bu656uL5paw55qE5riF56m6IERPUyDliIblibLooagiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOAorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi5bu656uL5paw55qE5riF56m6IERPUyDliIblibLooagiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOQorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU3VuIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi5bu656uL5paw55qE5riF56m6IERPUyDliIblibLooagiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0MworIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYW4gSVJJWCAoU0dJKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIuW7uueriyBJUklYIChTR0kpIOWIhuWJsuihqCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTUyCittc2dpZCAiR2VvbWV0cnkiCittc2dzdHIgIue1kOaniyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTUzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICLorormm7Tno4Hmn7Hmlbjph48iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICLorormm7TliY3nq6/mlbjph48iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2siCittc2dzdHIgIuiuiuabtOejgeWNgOaVuOmHjy/ou4zmrrUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NQorbXNnaWQgIkdQVCIKK21zZ3N0ciAiR1BUIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpc2sgR1VJRCIKK21zZ3N0ciAi5bey6K6K5pu0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjYKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICLliIblibLlkI3nqLEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIuWIhuWJsiBVVUlEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjgKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHRhYmxlIGxlbmd0aCIKK21zZ3N0ciAi5YmW5p6Q6ZW35bqm5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjkKK21zZ2lkICJlbnRlciBwcm90ZWN0aXZlL2h5YnJpZCBNQlIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTcyCisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgbGVnYWN5IEJJT1MgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAi5YiH5o+b5Y+v6ZaL5qmf55qE5peX5qiZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSBubyBibG9jayBJTyBwcm90b2NvbCBmbGFnIgorbXNnc3RyICLliIfmj5sgRE9TIOebuOWuueaAp+aXl+aomSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc0CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgcmVxdWlyZWQgcGFydGl0aW9uIGZsYWciCittc2dzdHIgIuWIh+aPmyBET1Mg55u45a655oCn5peX5qiZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzUKK21zZ2lkICJ0b2dnbGUgdGhlIEdVSUQgc3BlY2lmaWMgYml0cyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODUKK21zZ2lkICJTdW4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg2CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgcmVhZC1vbmx5IGZsYWciCittc2dzdHIgIuWIh+aPm+WUr+iugOaXl+aomSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg3CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgbW91bnRhYmxlIGZsYWciCittc2dzdHIgIuWIh+aPmyBtb3VudGFibGUg5peX5qiZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICLorormm7TkuqTmm7/no4Hmn7Hmlbjph48iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICLorormm7TpoY3lpJbno4HljYDmlbjph4/lkITno4Hmn7EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgaW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIuiuiuabtOS6pOaPkuWboOWtkCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkyCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSByb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAi6K6K5pu06L2J6YCfIChycG0pIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIuiuiuabtOWvpumrlOejgeafseaVuOmHjyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjAyCisjLCBmdXp6eQorbXNnaWQgIlNHSSIKK21zZ3N0ciAiU0dJIHJhdyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjAzCisjLCBmdXp6eQorbXNnaWQgInNlbGVjdCBib290YWJsZSBwYXJ0aXRpb24iCittc2dzdHIgIumBuOWPluWPr+mWi+apn+eahOWIhuWJsiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA0CisjLCBmdXp6eQorbXNnaWQgImVkaXQgYm9vdGZpbGUgZW50cnkiCittc2dzdHIgIue3qOi8ryBib290ZmlsZSDmop3nm64iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNQorIywgZnV6enkKK21zZ2lkICJzZWxlY3Qgc2dpIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICLpgbjlj5Ygc2dpIOS6pOaPm+WIhuWJsuWNgCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA2Cittc2dpZCAiY3JlYXRlIFNHSSBpbmZvIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNQorIywgZnV6enkKK21zZ2lkICJET1MgKE1CUikiCittc2dzdHIgIkRPUyBSL08iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNgorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgYSBib290YWJsZSBmbGFnIgorbXNnc3RyICLliIfmj5vlj6/plovmqZ/nmoTml5fmqJkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNworIywgZnV6enkKK21zZ2lkICJlZGl0IG5lc3RlZCBCU0QgZGlza2xhYmVsIgorbXNnc3RyICLnt6jovK8gYnNkIGRpc2tsYWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE4CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgZG9zIGNvbXBhdGliaWxpdHkgZmxhZyIKK21zZ3N0ciAi5YiH5o+bIERPUyDnm7jlrrnmgKfml5fmqJkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMAorIywgZnV6enkKK21zZ2lkICJtb3ZlIGJlZ2lubmluZyBvZiBkYXRhIGluIGEgcGFydGl0aW9uIgorbXNnc3RyICLnp7vli5Xotbflp4vpg6jliIbnmoTos4fmlpnlnKjkuK3liIblibIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgdGhlIGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAi6K6K5pu056OB56Kf6K2Y5Yil56K8IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjMKK21zZ2lkICJyZXR1cm4gZnJvbSBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgdG8gR1BUIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzMworIywgZnV6enkKK21zZ2lkICJCU0QiCittc2dzdHIgIkJTRC9PUyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM0CisjLCBmdXp6eQorbXNnaWQgImVkaXQgZHJpdmUgZGF0YSIKK21zZ3N0ciAi57eo6Lyv5o6o5YuV6LOH5paZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzUKKyMsIGZ1enp5Cittc2dpZCAiaW5zdGFsbCBib290c3RyYXAiCittc2dzdHIgIuWuieijneWVn+WLleeoi+W8jyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM2CisjLCBmdXp6eQorbXNnaWQgInNob3cgY29tcGxldGUgZGlza2xhYmVsIgorbXNnc3RyICLpoa/npLrlrozmiJAgZGlza2xhYmVsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAibGluayBCU0QgcGFydGl0aW9uIHRvIG5vbi1CU0QgcGFydGl0aW9uIgorbXNnc3RyICLpj4jntZAgQlNEIOWIhuWJsuWIsCBub24tQlNEIOWIhuWJsiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwIChleHBlcnQgY29tbWFuZHMpOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM3MSBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwOlxuIgorbXNnc3RyICLmsYLliqkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UncmUgZWRpdGluZyBuZXN0ZWQgJyVzJyBwYXJ0aXRpb24gdGFibGUsIHByaW1hcnkgcGFydGl0aW9uIHRhYmxlIGlzICclcycuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMQorbXNnaWQgIkV4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICLlsIjlrrblkb3ku6QgKG0g5Lul542y5b6X6Kqq5piOKe+8miIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDIzCittc2dpZCAiQ29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAi5ZG95LukIChtIOS7peeNsuW+l+iqquaYjinvvJoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWM6IHVua25vd24gY29tbWFuZCIKK21zZ3N0ciAiJWM6IOS4jeaYjueahOWRveS7pFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NTggZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg1CisjLCBmdXp6eQorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWUiCittc2dzdHIgIueEoeazleWvq+WFpeaMh+S7pOeov+aqlOahiCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDcxCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBhcHBsaWVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0OTcKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHRyYW5zZm9ybSBkaXNrIGxheW91dCBpbnRvIHNjcmlwdCIKK21zZ3N0ciAi5Yqg5YWl6Ly45Ye65YiX5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTEKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IHNhdmVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzQgZGlzay11dGlscy9zZmRpc2suYzoxNDc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIuitpuWRiu+8muWIhuWJsuWNgCAlZCDlkKvmnInno4HljYAgMFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzcgZGlzay11dGlscy9zZmRpc2suYzoxNDc5CisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgc2lnbmF0dXJlPyIKK21zZ3N0ciAi5oKo6KaB5bCH6YCZ5YCL5a+r5YWl56OB56Kf5ZeO77yfW3lucV0gIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NzUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAiJXPvvJrnhKHms5Xlr6vlhaXmqJnnsaQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYxMworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gZml4IHBhcnRpdGlvbnMgb3JkZXIuIgorbXNnc3RyICLkv67mraPliIblibLmjpLluo8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYxNQorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb25zIG9yZGVyIGZpeGVkLiIKK21zZ3N0ciAi54Sh5bey5a6a576p5YiG5Ymy5Y2AXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICLlt7LpgbjliIblibLljYAgJWRcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjYwCisjLCBmdXp6eQorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gY3lsaW5kZXJzIChERVBSRUNBVEVEISkuIgorbXNnc3RyICLorormm7Tpoa/npLov6Ly45YWl5Zau5L2N54K656OB5p+xICjkuI3lrpzlho3nlKjvvIEpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY2MgorIywgZnV6enkKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIHNlY3RvcnMuIgorbXNnc3RyICLorormm7Tpoa/npLov6Ly45YWl5Zau5L2N54K656OB5Y2AXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY3MiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4NDIKKyMsIGZ1enp5Cittc2dpZCAiTGVhdmluZyBuZXN0ZWQgZGlza2xhYmVsLiIKK21zZ3N0ciAi57eo6LyvIGJzZCBkaXNrbGFiZWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjcwOQorbXNnaWQgIk5ldyBtYXhpbXVtIGVudHJpZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzE5Cittc2dpZCAiRW50ZXJpbmcgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIGRpc2tsYWJlbC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzM1Cittc2dpZCAiTmV3IFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NTAKKyMsIGZ1enp5Cittc2dpZCAiTmV3IG5hbWUiCittc2dzdHIgIuS9v+eUqOiAheWQjeeosSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6ODEzCisjLCBmdXp6eQorbXNnaWQgIkVudGVyaW5nIG5lc3RlZCBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAi5bu656uL5paw55qEIFN1biBkaXNrbGFiZWzjgIJcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTk4Cittc2dpZCAiTnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAi56OB5p+x5pW46YePIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAyCittc2dpZCAiTnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICLno4HpoK3mlbjph48iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMDYKK21zZ2lkICJOdW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAi56OB5Y2A5pW46YePIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMg6KKr5o6b6LyJXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMg5pyq6KKr5o6b6LyJXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc0CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTgxIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzUKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNTMgZGlzay11dGlscy9zZmRpc2suYzoyOTcgbGliZmRpc2svc3JjL2JzZC5jOjY0NgorIzogbGliL3BhdGguYzoxMTAgbGliL3BhdGguYzoxMzEgbGliL3BhdGguYzoxNTIgbGliL3BhdGguYzoyMDAKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMTMgbG9naW4tdXRpbHMvbGFzdC5jOjI1MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NjY0CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzOSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MTcgdGVybS11dGlscy9zZXR0ZXJtLmM6Nzc0CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzggdGVybS11dGlscy9zZXR0ZXJtLmM6Nzg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCAlcyIKK21zZ3N0ciAi54Sh5rOV6K6A5Y+WICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMzMgbGliL3BhdGguYzoxMzMgbGliL3BhdGguYzoxNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFyc2UgZXJyb3I6ICVzIgorbXNnc3RyICLliZbmnpDpjK/oqqTvvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAi54Sh5rOV6K6K5pu055uu6YyE5YiwICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxvY2tpbmcgZGlzayBieSAlcyAuLi4gIgorbXNnc3RyICLpjpblrprno4Hnop8gJXPigKYiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiKHdhaXRpbmcpICIKK21zZ3N0ciAiKOetieW+hSkgIgorCisjLiBUUkFOU0xBVE9SUzogVGhlc2UgYXJlIGZvbGxvd3VwcyB0byAiTG9ja2luZyBkaXNrLi4uIi4KKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5NAorIywgZnV6enkKK21zZ2lkICJzdWNjZWVkZWQiCittc2dzdHIgIuaIkOWKnyIKKworIzogZGlzay11dGlscy9mc2NrLmM6Mzk0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCIKK21zZ3N0ciAi5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVubG9ja2luZyAlcy5cbiIKK21zZ3N0ciAi5q2j5Zyo5L2/55SoICVz44CCXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGRlc2NyaXB0aW9uIGZvciAlcyIKK21zZ3N0ciAi6Kit5a6a5o+P6L+w55So5pa8ICVzIOaZguWkseaVlyIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDc0IG1pc2MtdXRpbHMvZmluZG1udC5jOjc4MiBtaXNjLXV0aWxzL2xzYmxrLmM6NDMzCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMDIgc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzoxOSBzeXMtdXRpbHMvdW1vdW50LmM6NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIC0tIGlnbm9yZWQiCittc2dzdHIgIiVz77ya5YmW5p6Q6Yyv6Kqk5pa85YiXICVkIC0tIOW/veeVpSIKKworIzogZGlzay11dGlscy9mc2NrLmM6NTA2IGRpc2stdXRpbHMvZnNjay5jOjUwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSBmc3RhYiIKK21zZ3N0ciAiJXPvvJrnhKHms5XliZbmnpAgZnN0YWIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY3OSBsb2dpbi11dGlscy9sb2dpbi5jOjk2OCBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAzNAorIzogbG9naW4tdXRpbHMvdmlwdy5jOjIwNCBzeXMtdXRpbHMvZmxvY2suYzozNDUgc3lzLXV0aWxzL25zZW50ZXIuYzoxNTMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTYgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTkgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MjAKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzgwCittc2dpZCAiZm9yayBmYWlsZWQiCittc2dzdHIgIuihjeeUn+Wft+ihjOaZguWkseaVlyIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0ZSBmYWlsZWQiCittc2dzdHIgIiVz77ya5Z+36KGM5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3NzQKKyMsIGZ1enp5Cittc2dpZCAid2FpdDogbm8gbW9yZSBjaGlsZCBwcm9jZXNzPyE/IgorbXNnc3RyICLnrYnlvoXvvJrlt7LnhKHmm7TlpJrlrZDooYznqIsgPyE/IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3Nzcgc3lzLXV0aWxzL2Zsb2NrLmM6MzYzIHN5cy11dGlscy9zd2Fwb24uYzozNDgKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDA0IHN5cy11dGlscy91bnNoYXJlLmM6NDI1Cittc2dpZCAid2FpdHBpZCBmYWlsZWQiCittc2dzdHIgIndhaXRwaWQg5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3OTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmcuLi4gJXMgZm9yIGRldmljZSAlcyBleGl0ZWQgd2l0aCBzaWduYWwgJWQuIgorbXNnc3RyICLorablkYrigKYlcyDnlKjmlrzoo53nva4gJXMg6Zui6ZaL55qE6IiH5L+h6JmfICVk44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICVzOiBzdGF0dXMgaXMgJXgsIHNob3VsZCBuZXZlciBoYXBwZW4uIgorbXNnc3RyICIlcyAlc++8mueLgOaFi+aYryAleO+8jOaHieipsuawuOS4jeeZvOeUn+OAgiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmlzaGVkIHdpdGggJXMgKGV4aXQgc3RhdHVzICVkKVxuIgorbXNnc3RyICLku6UgJXMg5a6M5oiQICjpm6Lplovni4DmhYsgJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjkyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgJWQgKCVtKSB3aGlsZSBleGVjdXRpbmcgZnNjay4lcyBmb3IgJXMiCittc2dzdHIgIiVkIOeVtuWft+ihjCBmc2NrIOaZgueZvOeUn+mMr+iqpC4lcyDnlKjmlrwgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjk5MQorIywgZnV6enkKK21zZ2lkICIiCisiRWl0aGVyIGFsbCBvciBub25lIG9mIHRoZSBmaWxlc3lzdGVtIHR5cGVzIHBhc3NlZCB0byAtdCBtdXN0IGJlIHByZWZpeGVkXG4iCisid2l0aCAnbm8nIG9yICchJy4iCittc2dzdHIgIiIKKyLpgoTmmK/miYDmnInmiJbmspLmnInku7vkvZXmqpTmoYjns7vntbHpoZ7lnovlgrPpgZ7liLAgLXQg5b+F6aCI6KKr5YmN57a0XG4iCisi6IiH44CO5rKS5pyJ44CP5oiW44CO77yB44CP44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgYmFkIGxpbmUgaW4gL2V0Yy9mc3RhYjogYmluZCBtb3VudCB3aXRoIG5vbnplcm8gZnNjayBwYXNzIG51bWJlciIKK21zZ3N0ciAiJXPvvJrot7PpgY7kuI3nlbbnmoTliJflnKjkuK0vZXRjL2ZzdGFi77ya57mr57WQ5o6b6LyJ6IiH6Z2e6Zu25YC8IGZzY2sg5YKz6YCB6Jmf56K8IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBub25leGlzdGVudCBkZXZpY2VcbiIKK21zZ3N0ciAiJXPvvJrot7PpgY7kuI3lrZjlnKjnmoToo53nva5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vbmV4aXN0ZW50IGRldmljZSAoXCJub2ZhaWxcIiBmc3RhYiBvcHRpb24gbWF5IGJlIHVzZWQgdG8gc2tpcCB0aGlzIGRldmljZSlcbiIKK21zZ3N0ciAiJXPvvJrkuI3lrZjlnKjnmoToo53nva4gKOOAjG5vZmFpbOOAjWZzdGFiIOmBuOmgheS5n+ioseacg+iiq+eUqOS+hui3s+mBjumAmeWAi+ijnee9rilcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIHVua25vd24gZmlsZXN5c3RlbSB0eXBlXG4iCittc2dzdHIgIiVz77ya6Lez6YGO5LiN5piO5qqU5qGI57O757Wx5Z6L5oWLXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGVjayAlczogZnNjay4lcyBub3QgZm91bmQiCittc2dzdHIgIueEoeazleaqouafpSAlc++8mmZzY2subm90IOaJvuWIsCAlcyAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNTkKK21zZ2lkICJDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLlxuIgorbXNnc3RyICLmqqLmn6XmiYDmnInmqpTmoYjns7vntbHjgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM1MAorIywgYy1mb3JtYXQKK21zZ2lkICItLXdhaXRpbmctLSAocGFzcyAlZClcbiIKK21zZ3N0ciAiLS3nrYnlvoUtLSAo6YCa6YGOICVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC0tIFtmcy1vcHRpb25zXSBbPGZpbGVzeXN0ZW0+IC4uLl1cbiIKK21zZ3N0ciAiIgorIlxuIgorIueUqOazle+8mlxuIgorIiAlcyBbZnNjay1vcHRpb25zXSBbZnMtb3B0aW9uc10gW2ZpbGVzeXMuLi5dXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNzkKKyMsIGZ1enp5Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIuaqouafpeaJgOacieaqlOahiOezu+e1seOAglxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzgyCisjLCBmdXp6eQorbXNnaWQgIiAtQSAgICAgICAgIGNoZWNrIGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICLmqqLmn6XmiYDmnInmqpTmoYjns7vntbHjgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4MworbXNnaWQgIiAtQyBbPGZkPl0gIGRpc3BsYXkgcHJvZ3Jlc3MgYmFyOyBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg0Cittc2dpZCAiIC1sICAgICAgICAgbG9jayB0aGUgZGV2aWNlIHRvIGd1YXJhbnRlZSBleGNsdXNpdmUgYWNjZXNzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NQorIywgZnV6enkKK21zZ2lkICIgLU0gICAgICAgICBkbyBub3QgY2hlY2sgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIHQgICAgICAgICAg6K6K5pu05qqU5qGI57O757Wx55qE6aGe5Z6LIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg2Cittc2dpZCAiIC1OICAgICAgICAgZG8gbm90IGV4ZWN1dGUsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGJlIGRvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg3Cittc2dpZCAiIC1QICAgICAgICAgY2hlY2sgZmlsZXN5c3RlbXMgaW4gcGFyYWxsZWwsIGluY2x1ZGluZyByb290XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4OAorbXNnaWQgIiAtUiAgICAgICAgIHNraXAgcm9vdCBmaWxlc3lzdGVtOyB1c2VmdWwgb25seSB3aXRoICctQSdcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg5CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLXIgWzxmZD5dICByZXBvcnQgc3RhdGlzdGljcyBmb3IgZWFjaCBkZXZpY2UgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiICAgIC1sIFvmiJYgLS1saXN0Xe+8miAgICAg5YiX5Ye65q+P5YCL6KOd572u55qE5YiG5Ymy5Y2AIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkxCisjLCBmdXp6eQorbXNnaWQgIiAtcyAgICAgICAgIHNlcmlhbGl6ZSB0aGUgY2hlY2tpbmcgb3BlcmF0aW9uc1xuIgorbXNnc3RyICIgIGQgICAgICAgICAg5Yiq6Zmk55uu5YmN55qE5YiG5Ymy5Y2AIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkyCisjLCBmdXp6eQorbXNnaWQgIiAtVCAgICAgICAgIGRvIG5vdCBzaG93IHRoZSB0aXRsZSBvbiBzdGFydHVwXG4iCittc2dzdHIgIiAtZiAgICAgICAgICAg5LiN5YiG5Ymy6ZW35YiXXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTMKK21zZ2lkICIiCisiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgPHR5cGU+IGlzIGFsbG93ZWQgdG8gYmUgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTUKKyMsIGZ1enp5Cittc2dpZCAiIC1WICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIOino+mHi+S7gOm6vOato+WcqOaYr+W3suWujOaIkFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk2CisjLCBmdXp6eQorbXNnaWQgIiAtPyAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAtaCAgICAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piO54S25b6M6Zui6ZaLXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTkKK21zZ2lkICJTZWUgdGhlIHNwZWNpZmljIGZzY2suKiBjb21tYW5kcyBmb3IgYXZhaWxhYmxlIGZzLW9wdGlvbnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MzgKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgZGV2aWNlcyIKK21zZ3N0ciAi5aSq5aSa6KOd572uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDUwCisjLCBmdXp6eQorbXNnaWQgIklzIC9wcm9jIG1vdW50ZWQ/IgorbXNnc3RyICLmmK8vcHJvYyDmjpvovInvvJ8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm11c3QgYmUgcm9vdCB0byBzY2FuIGZvciBtYXRjaGluZyBmaWxlc3lzdGVtczogJXMiCittc2dzdHIgIuW/hemgiOaYr+agueWIsOaOg+aPj+eUqOaWvOWMuemFjeaqlOahiOezu+e1se+8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBmaW5kIG1hdGNoaW5nIGZpbGVzeXN0ZW06ICVzIgorbXNnc3RyICLmib7kuI3liLDljLnphY3mqpTmoYjns7vntbHvvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ3MCBkaXNrLXV0aWxzL2ZzY2suYzoxNTY1IG1pc2MtdXRpbHMva2lsbC5jOjM2MworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mjc5CisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKK21zZ3N0ciAi5aSq5aSa5byV5pW4IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTI1IGRpc2stdXRpbHMvZnNjay5jOjE1MjgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtciIKK21zZ3N0ciAi54Sh5pWI55qE5byV5pW477yaJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXI6ICVkIgorbXNnc3RyICLnhKHmlYjnmoTlvJXmlbjvvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTYxOAorIywgZnV6enkKK21zZ2lkICJ0aGUgLWwgb3B0aW9uIGNhbiBiZSB1c2VkIHdpdGggb25lIGRldmljZSBvbmx5IC0tIGlnbm9yZSIKK21zZ3N0ciAiLWwg6YG46aCF5Y+v5Lul6KKr5L2/55So6IiH5LiA5YCL6KOd572u5Y+q5pyJIC0tIOW/veeVpSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT5cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIFs8ZmlsZT5dXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTYKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgY29tcHJlc3NlZCBST00gZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE5Cittc2dpZCAiIC1hICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIOaYr+abtOWkmuips+e0sOeahFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIxCittc2dpZCAiIC15ICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMgorbXNnaWQgIiAtYiwgLS1ibG9ja3NpemUgPHNpemU+ICAgdXNlIHRoaXMgYmxvY2tzaXplLCBkZWZhdWx0cyB0byBwYWdlIHNpemVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIzCittc2dpZCAiICAgICAtLWV4dHJhY3RbPTxkaXI+XSAgICB0ZXN0IHVuY29tcHJlc3Npb24sIG9wdGlvbmFsbHkgZXh0cmFjdCBpbnRvIDxkaXI+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBmYWlsZWQ6IHVuYWJsZSB0byBkZXRlcm1pbmUgZGV2aWNlIHNpemU6ICVzIgorbXNnc3RyICJpb2N0bCDlpLHmlZfvvJrnhKHms5Xmsbrlrproo53nva7lpKflsI/vvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSBibG9jayBkZXZpY2Ugb3IgZmlsZTogJXMiCittc2dzdHIgIuS4jeaYr+WNgOWhiuijnee9ruaIluaqlOahiO+8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTcwIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDYKK21zZ2lkICJmaWxlIGxlbmd0aCB0b28gc2hvcnQiCittc2dzdHIgIuaqlOahiOmVt+W6puWkquefrSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3OSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjMzCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjQ5IGxpYmZkaXNrL3NyYy9ic2QuYzo3MTggbGliZmRpc2svc3JjL2JzZC5jOjg5MAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwOCBsb2dpbi11dGlscy9sYXN0LmM6MjQyIHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlZWsgb24gJXMgZmFpbGVkIgorbXNnc3RyICLmkJzlsIvlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODUgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NworbXNnaWQgInN1cGVyYmxvY2sgbWFnaWMgbm90IGZvdW5kIgorbXNnc3RyICLmib7kuI3liLDotoXljYDloYrnmoTprZTooZPmqJnoqJgiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNyYW1mcyBlbmRpYW5uZXNzIGlzICVzXG4iCittc2dzdHIgImNyYW1mcyDlsL7luo/mmK8gJXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MQorIywgZnV6enkKK21zZ2lkICJiaWciCittc2dzdHIgIuWkpyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MQorIywgZnV6enkKK21zZ2lkICJsaXR0bGUiCittc2dzdHIgIuWwj+WeiyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5NQorbXNnaWQgInVuc3VwcG9ydGVkIGZpbGVzeXN0ZW0gZmVhdHVyZXMiCittc2dzdHIgIuS4jeWPl+aUr+aPtOeahOaqlOahiOezu+e1seeJueW+tSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXBlcmJsb2NrIHNpemUgKCVkKSB0b28gc21hbGwiCittc2dzdHIgIui2heWNgOWhiuWkp+WwjyAoJWQpIOWkquWwjyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNAorbXNnaWQgInplcm8gZmlsZSBjb3VudCIKK21zZ3N0ciAi6Zu25YCL5qqU5qGI6KiI5pW4IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA4CisjLCBmdXp6eQorbXNnaWQgImZpbGUgZXh0ZW5kcyBwYXN0IGVuZCBvZiBmaWxlc3lzdGVtIgorbXNnc3RyICLorablkYrvvJrmqpTmoYjlu7bkvLjotoXpgY7mqpTmoYjns7vntbHmnKvnq69cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxMAorIywgZnV6enkKK21zZ2lkICJvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAi6K2m5ZGK77ya6IiK55qEIGNyYW1mcyDmoLzlvI9cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxOQorbXNnaWQgInVuYWJsZSB0byB0ZXN0IENSQzogb2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgIueEoeazlea4rOippuW+queSsOWGl+mkmOaqouafpe+8muiIiueahCBjcmFtZnMg5qC85byPIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjcyCittc2dpZCAiY3JjIGVycm9yIgorbXNnc3RyICLlvqrnkrDlhpfppJjmqqLmn6XpjK/oqqQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTU0Cittc2dpZCAic2VlayBmYWlsZWQiCittc2dzdHIgIuaQnOWwi+WkseaVlyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwNgorIywgZnV6enkKK21zZ2lkICJyZWFkIHJvbWZzIGZhaWxlZCIKK21zZ3N0ciAiZnJlYWQg5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzM4Cittc2dpZCAicm9vdCBpbm9kZSBpcyBub3QgZGlyZWN0b3J5IgorbXNnc3RyICLmoLkgaW5vZGUg5Lim6Z2e55uu6YyEIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByb290IG9mZnNldCAoJWx1KSIKK21zZ3N0ciAi5LiN55W255qE5qC55YGP56e7ICglbHUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzYwCittc2dpZCAiZGF0YSBibG9jayB0b28gbGFyZ2UiCittc2dzdHIgIuizh+aWmeWNgOWhiuWkquWkpyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGVjb21wcmVzc2lvbiBlcnJvcjogJXMiCittc2dzdHIgIuino+Wjk+e4rumMr+iqpCAlcCglZCnvvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICBob2xlIGF0ICVsdSAoJXp1KVxuIgorbXNnc3RyICIgIOa8j+a0nuS9jeaWvCAlbGQgKCV6ZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5NyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgIHVuY29tcHJlc3NpbmcgYmxvY2sgYXQgJWx1IHRvICVsdSAoJWx1KVxuIgorbXNnc3RyICIgIOino+Wjk+e4ruWNgOWhiuS9jeaWvCAlbGQg5YiwICVsZCAoJWxkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1ibG9jayAoJWxkKSBieXRlcyIKK21zZ3N0ciAi6Z2e5Y2A5aGKICglbGQpIOS9jeWFg+e1hCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwOAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tc2l6ZSAoJWxkIHZzICVsZCkgYnl0ZXMiCittc2dzdHIgIumdnuWkp+WwjyAoJWxkIHZzICVsZCkg5L2N5YWD57WEIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDEzIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTYKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTA0IG1pc2MtdXRpbHMvdXVpZGQuYzozNzUgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4MgorIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzUgc3lzLXV0aWxzL3NldHByaXYuYzo1NTggc3lzLXV0aWxzL3N3YXBvbi5jOjM4OQorIzogdGVybS11dGlscy90dHltc2cuYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkOiAlcyIKK21zZ3N0ciAi5a+r5YWl5aSx5pWX77yaJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAibGNob3duIGZhaWxlZDogJXMiCittc2dzdHIgImxjaG93biDlpLHmlZfvvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyOAorIywgYy1mb3JtYXQKK21zZ2lkICJjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJjaG93biDlpLHmlZfvvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQzMworIywgYy1mb3JtYXQKK21zZ2lkICJ1dGltZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJ1dGltZSDlpLHmlZfvvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAi55uu6YyEIGlub2RlIOaciembtuWBj+enu+WAvOWSjOmdnumbtuWkp+Wwj++8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDYwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1rZGlyIGZhaWxlZDogJXMiCittc2dzdHIgIm1rZGlyIOWkseaVl++8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc2Cittc2dpZCAiZmlsZW5hbWUgbGVuZ3RoIGlzIHplcm8iCittc2dzdHIgIuaqlOWQjemVt+W6pueCuumbtiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3OAorbXNnaWQgImJhZCBmaWxlbmFtZSBsZW5ndGgiCittc2dzdHIgIuS4jeeVtueahOaqlOWQjemVt+W6piIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4NAorbXNnaWQgImJhZCBpbm9kZSBvZmZzZXQiCittc2dzdHIgIuS4jeeVtueahCBpbm9kZSDlgY/np7vlgLwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0OTkKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZSIKK21zZ3N0ciAi5qqU5qGIIGlub2RlIOaciembtuWBj+enu+WAvOWSjOmdnumbtuWkp+WwjyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUwMgorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gc2l6ZSBhbmQgbm9uLXplcm8gb2Zmc2V0IgorbXNnc3RyICLmqpTmoYggaW5vZGUg5pyJ6Zu25aSn5bCP5ZKM6Z2e6Zu25YGP56e75YC8IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTMxCittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBvZmZzZXQiCittc2dzdHIgIuespuiZn+mAo+e1kOaciembtuWBj+enu+WAvCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMworbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gc2l6ZSIKK21zZ3N0ciAi56ym6Jmf6YCj57WQ5pyJ6Zu25aSn5bCPIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTQyCisjLCBjLWZvcm1hdAorbXNnaWQgInNpemUgZXJyb3IgaW4gc3ltbGluazogJXMiCittc2dzdHIgIuWkp+Wwj+mMr+iqpOeZvOeUn+aWvOespuiZn+mAo+e1kO+8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTU2CisjLCBjLWZvcm1hdAorbXNnaWQgInN5bWxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAi56ym6Jmf6YCj57WQ5aSx5pWX77yaJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBmaWxlIGhhcyBub24temVybyBvZmZzZXQ6ICVzIgorbXNnc3RyICLnibnmrormqpTmoYjmnInpnZ7pm7blgY/np7vlgLzvvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU3OQorIywgYy1mb3JtYXQKK21zZ2lkICJmaWZvIGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiZmlmbyDmnInpnZ7pm7blpKflsI/vvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU4NQorIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICLpgJroqIrnq6/mnInpnZ7pm7blpKflsI/vvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU4OAorIywgYy1mb3JtYXQKK21zZ2lkICJib2d1cyBtb2RlOiAlcyAoJW8pIgorbXNnc3RyICLlgYfpgKDmqKHlvI/vvJolcyAoJW8pIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1rbm9kIGZhaWxlZDogJXMiCittc2dzdHIgIm1rbm9kIOWkseaVl++8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBzdGFydCAoJWx1KSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIHN0YXJ0ICglenUpIgorbXNnc3RyICLnm67pjITos4fmlpnotbflp4sgKCVsZCkgPCBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikgKyDotbflp4sgKCVsZCkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIGVuZCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCittc2dzdHIgIuebrumMhOizh+aWmee1kOadnyAoJWxkKSAhPSDmqpTmoYjos4fmlpnotbflp4sgKCVsZCkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzcKK21zZ2lkICJpbnZhbGlkIGZpbGUgZGF0YSBvZmZzZXQiCittc2dzdHIgIueEoeaViOeahOaqlOahiOizh+aWmeWBj+enu+WAvCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY4NCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzI2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYmxvY2tzaXplIGFyZ3VtZW50IgorbXNnc3RyICLnhKHmlYjnmoTljYDloYrlpKflsI/lvJXmlbgiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo3MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IE9LXG4iCittc2dzdHIgIiVz77ya56K65a6aXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NAorIywgZnV6enkKK21zZ2lkICJDaGVjayB0aGUgY29uc2lzdGVuY3kgb2YgYSBNaW5peCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLmqqLmn6XmiYDmnInmqpTmoYjns7vntbHjgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg2CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgIGxpc3QgYWxsIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgLWwgIOWIl+WHuuaJgOacieaqlOWQjVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgYXV0b21hdGljIHJlcGFpclxuIgorbXNnc3RyICIgLWEgIOiHquWLleS/ruW+qVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODgKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlcGFpciAgICAgaW50ZXJhY3RpdmUgcmVwYWlyXG4iCittc2dzdHIgIiAtciAg5LqS5YuV5byP5L+u5b6pXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBiZSB2ZXJib3NlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIOWIl+WNsOips+e0sOeahOizh+aWmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTAKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN1cGVyICAgICAgb3V0cHV0IHN1cGVyLWJsb2NrIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAtcyAg6Ly45Ye66LaF5Y2A5aGK6LOH6KiKXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MQorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tdW5jbGVhcmVkICBhY3RpdmF0ZSBtb2RlIG5vdCBjbGVhcmVkIHdhcm5pbmdzXG4iCittc2dzdHIgIiAtbSAg5ZWf55So5qih5byP54Sh5rOV5riF56m655qE6K2m5ZGKXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICBmb3JjZSBjaGVja1xuIgorbXNnc3RyICIgLWYgIOW8t+WItuaqouafpVxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhlc2UgeWVzIG5vIHF1ZXN0aW9ucyB1c2VzIHJwbWF0Y2goKSwgYW5kIHNob3VsZCBiZQorIy4gKiB0cmFuc2xhdGVkLgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoeS9uKT8gIgorbXNnc3RyICIlcyAoeS9uKe+8nyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAobi95KT8gIgorbXNnc3RyICIlcyAobi95Ke+8nyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ5XG4iCittc2dzdHIgInlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJuXG4iCittc2dzdHIgIm5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQuXHQgIgorbXNnc3RyICIlcyDlt7LmjpvovInjgIJcdCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg5Cittc2dpZCAiRG8geW91IHJlYWxseSB3YW50IHRvIGNvbnRpbnVlIgorbXNnc3RyICLmgqjnnJ/nmoTopoHnubznuozll47vvJ8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJjaGVjayBhYm9ydGVkLlxuIgorbXNnc3RyICLlt7LmlL7mo4TmqqLmn6XjgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzE5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yIDwgRklSU1RaT05FIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIuWNgOWfnyBuciA8IOaqlOahiOOAjCVz44CN5Lit55qEIEZJUlNUWk9OReOAgiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzIyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yID49IFpPTkVTIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIuWNgOWfnyBuciA+PSDmqpTmoYjjgIwlc+OAjeS4reeahCBaT05FU+OAgiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzI2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0NworbXNnaWQgIlJlbW92ZSBibG9jayIKK21zZ3N0ciAi56e76Zmk5Y2A5aGKIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogdW5hYmxlIHRvIHNlZWsgdG8gYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIuiugOWPlumMr+iqpO+8mueEoeazleWcqOaqlOahiOOAjCVz44CN5Lit5pCc5bCL5Yiw5Y2A5aGKXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIuiugOWPlumMr+iqpO+8muWcqOaqlOahiOOAjCVz44CN5Lit5pyJ5LiN6Imv5Y2A5aGKXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSW50ZXJuYWwgZXJyb3I6IHRyeWluZyB0byB3cml0ZSBiYWQgYmxvY2tcbiIKKyJXcml0ZSByZXF1ZXN0IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorIuWFp+mDqOmMr+iqpO+8muWYl+ippuWvq+WFpeS4jeiJr+WNgOWhilxuIgorIuWvq+WFpeimgeaxguW3suW/veeVpVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAid3JpdGVfYmxvY2sg5pmC5pCc5bCL5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGUgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAi5a+r5YWl6Yyv6Kqk77ya5Zyo5qqU5qGI44CMJXPjgI3kuK3mnInkuI3oia/ljYDloYpcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTA1Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfc3VwZXJfYmxvY2siCittc2dzdHIgIndyaXRlX3N1cGVyX2Jsb2NrIOaZguaQnOWwi+WkseaVlyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTA3Cittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICLnhKHms5Xlr6vlhaUgc3VwZXItYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyMAorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIueEoeazleWvq+WFpSBpbm9kZSDlsI3mmKAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyMworbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAi54Sh5rOV5a+r5YWl5Y2A5Z+f5bCN5pigIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjYKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICLnhKHms5Xlr6vlhaUgaW5vZGVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NTgKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorbXNnc3RyICLnhKHms5XphY3nva7nt6nooZ3ljYDntabotoXljYDloYoiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2MQorbXNnaWQgInVuYWJsZSB0byByZWFkIHN1cGVyIGJsb2NrIgorbXNnc3RyICLnhKHms5XoroDlj5botoXljYDloYoiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4MworbXNnaWQgImJhZCBtYWdpYyBudW1iZXIgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIui2heWNgOWhiuS4reacieS4jeeVtueahOmtlOihk+aVuOWtlyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg1Cittc2dpZCAiT25seSAxayBibG9ja3Mvem9uZXMgc3VwcG9ydGVkIgorbXNnc3RyICLlj6rmnInmlK/mj7QgMWsg5Y2A5aGKL+WNgOWfnyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg3CisjLCBmdXp6eQorbXNnaWQgImJhZCBzX25pbm9kZXMgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIui2heWNgOWhiuS4reacieS4jeeVtueahCBzX2ltYXBfYmxvY2tzIOashOS9jSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg5Cittc2dpZCAiYmFkIHNfaW1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIui2heWNgOWhiuS4reacieS4jeeVtueahCBzX2ltYXBfYmxvY2tzIOashOS9jSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkxCisjLCBmdXp6eQorbXNnaWQgImJhZCBzX2ZpcnN0ZGF0YXpvbmUgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIui2heWNgOWhiuS4reacieS4jeeVtueahCBzX2ltYXBfYmxvY2tzIOashOS9jSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk0Cittc2dpZCAiYmFkIHNfem1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIui2heWNgOWhiuS4reacieS4jeeVtueahCBzX3ptYXBfYmxvY2tzIOashOS9jSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjEwCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgbWFwIgorbXNnc3RyICLnhKHms5XphY3nva4gaW5vZGUg5bCN5pig57ep6KGd5Y2AIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTMKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIG1hcCIKK21zZ3N0ciAi54Sh5rOV6YWN572u5Y2A5Z+f5bCN5pig57ep6KGd5Y2AIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTYKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCittc2dzdHIgIueEoeazlemFjee9riBpbm9kZXMg57ep6KGd5Y2AIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTkKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBjb3VudCIKK21zZ3N0ciAi54Sh5rOV6YWN572uIGlub2RlIOioiOaVuOe3qeihneWNgCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjIyCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBjb3VudCIKK21zZ3N0ciAi54Sh5rOV6YWN572u5Y2A5Z+f6KiI5pW457ep6KGd5Y2AIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjYKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZSBtYXAiCittc2dzdHIgIueEoeazleiugOWPliBpbm9kZSDlsI3mmKAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzMAorbXNnaWQgIlVuYWJsZSB0byByZWFkIHpvbmUgbWFwIgorbXNnc3RyICLnhKHms5XoroDlj5bljYDln5/lsI3mmKAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzNAorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlcyIKK21zZ3N0ciAi54Sh5rOV6K6A5Y+WIGlub2RlcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorbXNnc3RyICLorablkYrvvJpGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBpbm9kZXNcbiIKK21zZ3N0ciAiJWxkIGlub2Rlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGJsb2Nrc1xuIgorbXNnc3RyICIlbGQg5Y2A5aGKXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ZGF0YXpvbmU9JWpkICglamQpXG4iCittc2dzdHIgIuesrOS4gOizh+aWmeWNgD0lbGQgKCVsZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSVkXG4iCittc2dzdHIgIuWNgOWfn+Wkp+Wwjz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1heHNpemU9JXp1XG4iCittc2dzdHIgIuacgOWkp+Wkp+Wwjz0lbGRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gc3RhdGU9JWRcbiIKK21zZ3N0ciAi5qqU5qGI57O757Wx54uA5oWLPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIm5hbWVsZW49JXpkXG4iCisiXG4iCittc2dzdHIgIiIKKyJuYW1lbGVuPSV6ZFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NjQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVkIG1hcmtlZCB1bnVzZWQsIGJ1dCB1c2VkIGZvciBmaWxlICclcydcbiIKK21zZ3N0ciAiSW5vZGUgJWQg5qiZ6KiY54K65pyq5L2/55So77yM5L2G5piv5Y2755So5pa85qqU5qGI44CMJXPjgI1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjY3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcxNworbXNnaWQgIk1hcmsgaW4gdXNlIgorbXNnc3RyICLmqJnoqJjngrrkvb/nlKjkuK0iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY4OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpbGUgYCVzJyBoYXMgbW9kZSAlMDVvXG4iCittc2dzdHIgIuaqlOahiOOAjCVz44CN5YW35pyJ5qih5byPICUwNW9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Njk2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBpbm9kZSBjb3VudCB0b28gYmlnLlxuIgorbXNnc3RyICLorablkYrvvJppbm9kZSDmlbjph4/lpKrlpKfjgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzU1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2MworbXNnaWQgInJvb3QgaW5vZGUgaXNuJ3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIuaguSBpbm9kZSDkuKbpnZ7nm67pjIQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc3NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgaGFzIGJlZW4gdXNlZCBiZWZvcmUuIE5vdyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICLljYDloYrmlrzkuYvliY3lt7Lkvb/nlKjjgILnj77lnKjlsazmlrzmqpTmoYjjgIwlc+OAjeOAgiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzc3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgwOAorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTUyCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTk5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDgKK21zZ2lkICJDbGVhciIKK21zZ3N0ciAi5riF6ZmkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrICVkIGluIGZpbGUgYCVzJyBpcyBtYXJrZWQgbm90IGluIHVzZS4iCittc2dzdHIgIuaqlOahiOOAjCUyJHPjgI3kuK3nmoQg5Y2A5aGKICUxJGQg5bey5qiZ6KiY54K65pyq6KKr5L2/55So44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODIwCittc2dpZCAiQ29ycmVjdCIKK21zZ3N0ciAi5L+u5q2jIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzMworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGlyZWN0b3J5ICclcycgY29udGFpbnMgYSBiYWQgaW5vZGUgbnVtYmVyIGZvciBmaWxlICclLipzJy4iCittc2dzdHIgIuebrumMhOOAjCVz44CN5ZCr5pyJ5LiN55W255qEIGlub2RlIOe3qOiZn+aWvOaqlOahiOOAjCUuKnPjgI3jgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk2MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDM1Cittc2dpZCAiIFJlbW92ZSIKK21zZ3N0ciAiIOenu+mZpCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTc3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdFxuIgorbXNnc3RyICIlc++8muS4jeeVtueahOebrumMhO+8muOAjC7jgI3kuI3mmK/nrKzkuIDlgItcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTg2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuLicgaXNuJ3Qgc2Vjb25kXG4iCittc2dzdHIgIiVz77ya5LiN55W255qE55uu6YyE77ya44CMLi7jgI3kuI3mmK/nrKzkuozlgItcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA5NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTE3Cittc2dpZCAiaW50ZXJuYWwgZXJyb3IiCittc2dzdHIgIuWFp+mDqOmMr+iqpCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA5NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBzaXplIDwgMzIiCittc2dzdHIgIiVz77ya5LiN55W255qE55uu6YyE77ya5aSn5bCPIDwgMzIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBpbnZhbGlkIGlfem9uZSwgdXNlIC0tcmVwYWlyIHRvIGZpeFxuIgorbXNnc3RyICIlc++8muS4jeeVtueahOebrumMhO+8muOAjC7jgI3kuI3mmK/nrKzkuIDlgItcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEzMgorbXNnaWQgInNlZWsgZmFpbGVkIGluIGJhZF96b25lIgorbXNnc3RyICLlnKjmkI3mr4DljYDln5/kuK3mkJzlsIvlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG1vZGUgbm90IGNsZWFyZWQuIgorbXNnc3RyICJJbm9kZSAlbHUg5qih5byP54Sh5rOV5riF56m644CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTUxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBub3QgdXNlZCwgbWFya2VkIHVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIklub2RlICVsdSDmnKrkvb/nlKjvvIzmqJnoqJjnmoTlt7LnlKjmlrzkvY3lhYPlnJbjgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IHVzZWQsIG1hcmtlZCB1bnVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIklub2RlICVsdSDkvb/nlKjvvIzmqJnoqJjnmoTmnKrkvb/nlKjnmoTlnKjkuK3kvY3lhYPlnJbjgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTggZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxNAorbXNnaWQgIlNldCIKK21zZ3N0ciAi6Kit5a6aIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTYyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSAobW9kZSA9ICUwN28pLCBpX25saW5rcz0lZCwgY291bnRlZD0lZC4iCittc2dzdHIgIklub2RlICVsdSAo5qih5byPPSUwN28p77yMaW5saW5rcz0lZChfTinvvIzoqIjmlbg9JWTjgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyMQorbXNnaWQgIlNldCBpX25saW5rcyB0byBjb3VudCIKK21zZ3N0ciAi6Kit5a6aIGluX2xpbmtzIOWKoOWFpeioiOaVuCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE3NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbWFya2VkIGluIHVzZSwgbm8gZmlsZSB1c2VzIGl0LiIKK21zZ3N0ciAi5Y2AICVsde+8muaomeiomOeahOWcqOS4reS9v+eUqO+8jOaykuacieaqlOahiOS9v+eUqOWug+OAgiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE3OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjM1Cittc2dpZCAiVW5tYXJrIgorbXNnc3RyICLlj5bmtojmqJnoqJgiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICLljYAgJWx177ya5Zyo5Lit5L2/55So77yM6KiI5pW4PSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAi5Y2AICVsde+8muS4jeWcqOS9v+eUqOS4re+8jOioiOaVuD0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjkxCittc2dpZCAiYmFkIGlub2RlIHNpemUiCittc2dzdHIgIuS4jeeVtueahCBpbm9kZSDlpKflsI8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyOTMKK21zZ2lkICJiYWQgdjIgaW5vZGUgc2l6ZSIKK21zZ3N0ciAi5LiN55W255qEIHYyIGlub2RlIOWkp+WwjyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTMzNworbXNnaWQgIm5lZWQgdGVybWluYWwgZm9yIGludGVyYWN0aXZlIHJlcGFpcnMiCittc2dzdHIgIumcgOimgee1guerr+apn+S7pemAsuihjOS6kuWLleW8j+S/ruW+qSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICLnhKHms5XplovllZ8gJXPvvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBjbGVhbiwgbm8gY2hlY2suXG4iCittc2dzdHIgIiVzIOW3sua4hemZpO+8jOS4jeWBmuaqouafpeOAglxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiAlcy5cbiIKK21zZ3N0ciAi5by35Yi25qqi5p+lICVzIOaqlOahiOezu+e1seOAglxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzU3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gb24gJXMgaXMgZGlydHksIG5lZWRzIGNoZWNraW5nLlxuIgorbXNnc3RyICIlcyDmqpTmoYjns7vntbHkuI3kub7mt6jvvIzpnIDopoHmqqLmn6XjgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZsZCBpbm9kZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlNmxkIGlub2RlcyDlt7Lkvb/nlKggKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiU2bGQgem9uZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiU2bGQg5Y2A5Z+f5bey5L2/55SoICglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM5NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZkIHJlZ3VsYXIgZmlsZXNcbiIKKyIlNmQgZGlyZWN0b3JpZXNcbiIKKyIlNmQgY2hhcmFjdGVyIGRldmljZSBmaWxlc1xuIgorIiU2ZCBibG9jayBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgbGlua3NcbiIKKyIlNmQgc3ltYm9saWMgbGlua3NcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmlsZXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2ZCDmqJnmupbmqpTmoYhcbiIKKyIlNmQg55uu6YyEXG4iCisiJTZkIOWtl+WFg+ijnee9ruaqlOahiFxuIgorIiU2ZCDljYDloYroo53nva7mqpTmoYhcbiIKKyIlNmQg6Y+I57WQXG4iCisiJTZkIOespuiZn+mAo+e1kFxuIgorIi0tLS0tLVxuIgorIiU2ZCDmqpTmoYhcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQxMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIkZJTEUgU1lTVEVNIEhBUyBCRUVOIENIQU5HRURcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisi5qqU5qGI57O757Wx5bey6K6K5pu0XG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDIzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgzMworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MzkgZGlzay11dGlscy9wYXJ0eC5jOjEwMzUgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTEyCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5OCBzeXMtdXRpbHMvZG1lc2cuYzo2NTkgc3lzLXV0aWxzL3dkY3RsLmM6MzQ2CisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0MTEgdGVybS11dGlscy9zY3JpcHQuYzoyNzIgdGVybS11dGlscy9zY3JpcHQuYzozNDkKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjQ4CisjLCBmdXp6eQorbXNnaWQgIndyaXRlIGZhaWxlZCIKK21zZ3N0ciAi5a+r5YWl5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1pZ2h0IG5vdCBiZSBhbiBJU08gZmlsZXN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlZWsgZXJyb3Igb24gJXMiCittc2dzdHIgIuWwi+aMh+mMr+iqpOaWvCAlcyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZWFkIGVycm9yIG9uICVzIgorbXNnc3RyICLoroDlj5bpjK/oqqTmlrwgJXMiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZWN0b3IgY291bnQ6ICVkLCBzZWN0b3Igc2l6ZTogJWRcbiIKK21zZ3N0ciAi56OB5Y2A5pW46YeP77yaJWQsIOejgeWNgOWkp+Wwj++8miVkXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8aXNvOTY2MF9pbWFnZV9maWxlPlxuIgorbXNnc3RyICIiCisiXG4iCisi55So5rOV77yaXG4iCisiICVzIFvpgbjpoIVdIGlzbzk2NjBfaW1hZ2VfZmlsZVxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzQKK21zZ2lkICJTaG93IHRoZSBsZW5ndGggb2YgYW4gSVNPLTk2NjAgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzcKK21zZ2lkICIgLWQsIC0tZGl2aXNvcj08bnVtYmVyPiAgZGl2aWRlIHRoZSBhbW91bnQgb2YgYnl0ZXMgYnkgPG51bWJlcj5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNzgKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHNob3cgc2VjdG9yIGNvdW50IGFuZCBzaXplXG4iCittc2dzdHIgIiAtYywgLS1jcmVhdG9yICAgICDpoa/npLrlu7rnq4vogIXlkozmk4HmnInogIVcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MjEwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZGl2aXNvciBhcmd1bWVudCIKK21zZ3N0ciAi54Sh5pWI55qE6Zmk5pW45byV5pW4IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKK21zZ3N0ciAi55So5rOV77yaJXMgW+mBuOmghV0g6KOd572uIFtibG9jay1jb3VudF1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc3Cittc2dpZCAiTWFrZSBhbiBTQ08gYmZzIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLU4sIC0taW5vZGVzPU5VTSAgICBzcGVjaWZ5IGRlc2lyZWQgbnVtYmVyIG9mIGlub2Rlc1xuIgorIiAtViwgLS12bmFtZT1OQU1FICAgIHNwZWNpZnkgdm9sdW1lIG5hbWVcbiIKKyIgLUYsIC0tZm5hbWU9TkFNRSAgICBzcGVjaWZ5IGZpbGUgc3lzdGVtIG5hbWVcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorIiAtYyAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKKyIgLWwgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAtViBhcyB2ZXJzaW9uIG11c3QgYmUgb25seSBvcHRpb25cbiIKKyIgLWgsIC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisi6YG46aCF77yaXG4iCisiIC1OLCAtLWlub2Rlcz1OVU0gICAg5oyH5a6a6Kit5oOz55qEIGlub2RlcyDmlbjph49cbiIKKyIgLVYsIC0tdm5hbWU95ZCN56ixICAgIOaMh+WumuWNt+WGiuWQjeeosVxuIgorIiAtRiwgLS1mbmFtZT3lkI3nqLEgICAg5oyH5a6a5qqU5qGI57O757Wx5ZCN56ixXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAg6Kej6YeL5LuA6bq85q2j5Zyo5piv5bey5a6M5oiQXG4iCisiIC1jICAgICAgICAgICAgICAgICAg6YCZ5YCL6YG46aCF5piv5a+C6Z2c55qE5b+955WlXG4iCisiIC1sICAgICAgICAgICAgICAgICAg6YCZ5YCL6YG46aCF5piv5a+C6Z2c55qE5b+955WlXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAg6Ly45Ye654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisiICAgICAgICAgICAgICAgICAgICAgLVYg5YGa54K654mI5pys5b+F6aCI5piv5Y+q5pyJ6YG46aCFXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piO54S25b6M6Zui6ZaLXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNDQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICLnhKHmlYjnmoQgaW5vZGVzIOaVuOmHjyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1MAorbXNnaWQgInZvbHVtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICLljbflhorlkI3nqLHlpKrplbciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTcKK21zZ2lkICJmc25hbWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAi5qqU5qGI57O757Wx5ZCN56ix5aSq6ZW3IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTkzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYmxvY2stY291bnQiCittc2dzdHIgIueEoeaViOeahCBibG9jay1jb3VudCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgIueEoeazleWPluW+lyAlcyDnmoTlpKflsI8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2tzIGFyZ3VtZW50IHRvbyBsYXJnZSwgbWF4IGlzICVsbHUiCittc2dzdHIgIuWNgOWhiuW8leaVuOWkquWkp++8jOacgOWkp+aYryAlbGx1IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjE5Cittc2dpZCAidG9vIG1hbnkgaW5vZGVzIC0gbWF4IGlzIDUxMiIKK21zZ3N0ciAi5aSq5aSaIGlub2RlcyAtIOacgOWkp+eCuiA1MTIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSwgbmVlZCBhdCBsZWFzdCAlbGx1IGJsb2NrcyIKK21zZ3N0ciAi5rKS5pyJ6Laz5aSg55qE56m66ZaT77yM6ZyA6KaB6Iez5bCRICVsbHUg5Y2A5aGKIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZTogJXNcbiIKK21zZ3N0ciAi6KOd572u77yaJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJWb2x1bWU6IDwlLTZzPlxuIgorbXNnc3RyICLljbflhorvvJo8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJGU25hbWU6IDwlLTZzPlxuIgorbXNnc3RyICLmqpTmoYjns7vntbHlkI3nqLHvvJo8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NAorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9ja1NpemU6ICVkXG4iCittc2dzdHIgIuWNgOWhiuWkp+Wwj++8miVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAxIGJsb2NrKVxuIgorbXNnc3RyICJJbm9kZXPvvJolbHUgKOWcqOS4rSAxIOWNgOWhiilcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluICVsbHUgYmxvY2tzKVxuIgorbXNnc3RyICJJbm9kZXPvvJolbHUgKOWcqOS4rSAlbGx1IOWNgOWhiilcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tzOiAlbGx1XG4iCittc2dzdHIgIuWNgOWhiu+8miVsbGRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSBlbmQ6ICVkLCBEYXRhIGVuZDogJWRcbiIKK21zZ3N0ciAiSW5vZGUg57WQ5p2f77yaJWQsIOizh+aWmee1kOadn++8miVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTcKK21zZ2lkICJlcnJvciB3cml0aW5nIHN1cGVyYmxvY2siCittc2dzdHIgIuWvq+WFpei2heWNgOWhiuaZgueZvOeUn+mMr+iqpCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI3OAorbXNnaWQgImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIKK21zZ3N0ciAi5a+r5YWl5qC5IGlub2RlIOaZgueZvOeUn+mMr+iqpCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4MworbXNnaWQgImVycm9yIHdyaXRpbmcgaW5vZGUiCittc2dzdHIgIuWvq+WFpSBpbm9kZSDmmYLnmbznlJ/pjK/oqqQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODYKK21zZ2lkICJzZWVrIGVycm9yIgorbXNnc3RyICLlsIvmib7pjK/oqqQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTIKK21zZ2lkICJlcnJvciB3cml0aW5nIC4gZW50cnkiCittc2dzdHIgIuWvq+WFpSAuIOmgheebruaZgueZvOeUn+mMr+iqpCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5NgorbXNnaWQgImVycm9yIHdyaXRpbmcgLi4gZW50cnkiCittc2dzdHIgIuWvq+WFpSAuLiDpoIXnm67mmYLnmbznlJ/pjK/oqqQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2xvc2luZyAlcyIKK21zZ3N0ciAi6Zec6ZaJICVzIOaZgueZvOeUn+mMr+iqpCIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy10IDx0eXBlPl0gW2ZzLW9wdGlvbnNdIDxkZXZpY2U+IFs8c2l6ZT5dXG4iCittc2dzdHIgIueUqOazle+8miVzIFvpgbjpoIVdIFstdCDlnovmhYsgZnMtb3B0aW9uc10g6KOd572uIFvlpKflsI9dXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ4CisjLCBmdXp6eQorbXNnaWQgIk1ha2UgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLmqpTmoYjns7vntbHlnovmhYsiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdCwgLS10eXBlPTx0eXBlPiAgZmlsZXN5c3RlbSB0eXBlOyB3aGVuIHVuc3BlY2lmaWVkLCBleHQyIGlzIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIGZzLW9wdGlvbnMgICAgIHBhcmFtZXRlcnMgZm9yIHRoZSByZWFsIGZpbGVzeXN0ZW0gYnVpbGRlclxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxzaXplPiAgICAgICAgIG51bWJlciBvZiBibG9ja3MgdG8gYmUgdXNlZCBvbiB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJib3NlICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmU7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnlpbmcgLVYgbW9yZSB0aGFuIG9uY2Ugd2lsbCBjYXVzZSBhIGRyeS1ydW5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJzaW9uICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0O1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAtViBhcyAtLXZlcnNpb24gbXVzdCBiZSB0aGUgb25seSBvcHRpb25cbiIKK21zZ3N0ciAiIgorIiAtViwgLS12ZXJzaW9uICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorIiAtaCwgLS1oZWxwICAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1oLCAtLWhlbHAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCittc2dzdHIgIiAtaCwgLS1oZWxwICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6MTM5IGxpYi9leGVjX3NoZWxsLmM6NDkgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjMzCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2NTcgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTkyCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODAwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDQgc2NoZWR1dGlscy9jaHJ0LmM6NTU4CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjI2MCBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMzkgc3lzLXV0aWxzL2Zsb2NrLmM6MTIyCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQzMCBzeXMtdXRpbHMvcHJsaW1pdC5jOjY0NCBzeXMtdXRpbHMvcnRjd2FrZS5jOjU3NworIzogc3lzLXV0aWxzL3NldGFyY2guYzozMjQgc3lzLXV0aWxzL3NldGFyY2guYzo0MDMgc3lzLXV0aWxzL3NldHNpZC5jOjExNQorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM0MCBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNDIgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NjEKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTgxIHRleHQtdXRpbHMvcGcuYzoxMzc1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBleGVjdXRlICVzIgorbXNnc3RyICLln7fooYwgJXMg5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1c2FnZTogJXMgWy1oXSBbLXZdIFstYiBibGtzaXplXSBbLWUgZWRpdGlvbl0gWy1OIGVuZGlhbl0gWy1pIGZpbGVdIFstbiBuYW1lXSBkaXJuYW1lIG91dGZpbGVcbiIKKyIgLWggICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyIgLXYgICAgICAgICBiZSB2ZXJib3NlXG4iCisiIC1FICAgICAgICAgbWFrZSBhbGwgd2FybmluZ3MgZXJyb3JzIChub24temVybyBleGl0IHN0YXR1cylcbiIKKyIgLWIgYmxrc2l6ZSB1c2UgdGhpcyBibG9ja3NpemUsIG11c3QgZXF1YWwgcGFnZSBzaXplXG4iCisiIC1lIGVkaXRpb24gc2V0IGVkaXRpb24gbnVtYmVyIChwYXJ0IG9mIGZzaWQpXG4iCisiIC1OIGVuZGlhbiAgc2V0IGNyYW1mcyBlbmRpYW5uZXNzIChiaWd8bGl0dGxlfGhvc3QpLCBkZWZhdWx0IGhvc3RcbiIKKyIgLWkgZmlsZSAgICBpbnNlcnQgYSBmaWxlIGltYWdlIGludG8gdGhlIGZpbGVzeXN0ZW0gKHJlcXVpcmVzID49IDIuNC4wKVxuIgorIiAtbiBuYW1lICAgIHNldCBuYW1lIG9mIGNyYW1mcyBmaWxlc3lzdGVtXG4iCisiIC1wICAgICAgICAgcGFkIGJ5ICVkIGJ5dGVzIGZvciBib290IGNvZGVcbiIKKyIgLXMgICAgICAgICBzb3J0IGRpcmVjdG9yeSBlbnRyaWVzIChvbGQgb3B0aW9uLCBpZ25vcmVkKVxuIgorIiAteiAgICAgICAgIG1ha2UgZXhwbGljaXQgaG9sZXMgKHJlcXVpcmVzID49IDIuMy4zOSlcbiIKKyIgZGlybmFtZSAgICByb290IG9mIHRoZSBmaWxlc3lzdGVtIHRvIGJlIGNvbXByZXNzZWRcbiIKKyIgb3V0ZmlsZSAgICBvdXRwdXQgZmlsZVxuIgorbXNnc3RyICIiCisi55So5rOV77yaJXMgWy1oXSBbLXZdIFstYiDljYDloYrlpKflsI9dIFstZSDnt6jmrKFdIFstTiDlsL7luo9dIFstaSDmqpTmoYhdIFstbiDlkI3nqLFdIGRpcm5hbWUgb3V0ZmlsZVxuIgorIiAtaCAgICAgICAgICDljbDlh7rpgJnlgIvoqqrmmI5cbiIKKyIgLXYgICAgICAgICAg6Kmz57Sw6KiK5oGvXG4iCisiIC1FICAgICAgICAgIOaJgOacieitpuWRiuimlueCuumMr+iqpCAo6Z2e6Zu257WQ5p2f54uA5oWLKVxuIgorIiAtYiDljYDloYrlpKflsI8g5L2/55So6YCZ5YCL5Y2A5aGK5aSn5bCP77yM5b+F6aCI562J5pa86aCB6Z2i5aSn5bCPXG4iCisiIC1lIOe3qOasoSAgICAg6Kit5a6a57eo5qyh5pW45a2XICjpg6jliIbnmoQgZnNpZClcbiIKKyIgLU4g5bC+5bqPICAgICDoqK3lrpogY3JhbWZzIOWwvuW6jyAo5aSnfOWwj3zkuLvmqZ8p77yM6aCQ6Kit5L6d5Li75qmfXG4iCisiIC1pIOaqlOahiCAgICAg5o+S5YWl5qqU5qGI5b2x5YOP5Yiw5qqU5qGI57O757WxICjpnIDmsYIgPj0gMi40LjApXG4iCisiIC1uIOWQjeeosSAgICAg6Kit5a6aIGNyYW1mcyDmqpTmoYjns7vntbHnmoTlkI3nqLFcbiIKKyIgLXAgICAgICAgICAg5aGr5YWFICVkIOS9jeWFg+e1hOaWvOmWi+apn+eivFxuIgorIiAtcyAgICAgICAgICDmjpLluo/nm67pjITpoIXnm64gKOiIiumBuOmghe+8jOW/veeVpSlcbiIKKyIgLXogICAgICAgICAg6KO95L2c5piO56K655qE56m65rSeICjpnIDmsYIgPj0gMi4zLjM5KVxuIgorIiBkaXJuYW1lICAgICDlo5PnuK7nmoTmqpTmoYjns7vntbHmoLnnm67pjIRcbiIKKyIgb3V0ZmlsZSAgICAg6Ly45Ye65qqU5qGIXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlYWRsaW5rIGZhaWxlZDogJXMiCittc2dzdHIgIuiugOWPluWkseaVl++8miVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBkaXJlY3RvcnkgJXMiCittc2dzdHIgIueEoeazleiugOWPluebrumMhCAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjQ0MworIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHRvbyBiaWcuICBFeGl0aW5nLiIKK21zZ3N0ciAi5qqU5qGI57O757Wx5aSq5aSn44CCIOmboumWi+OAgiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYwMgorIywgYy1mb3JtYXQKK21zZ2lkICJBSUVFRTogYmxvY2sgXCJjb21wcmVzc2VkXCIgdG8gPiAyKmJsb2NrbGVuZ3RoICglbGQpXG4iCittc2dzdHIgIkFJRUVF77ya5Y2A5aGK44CM6KKr5aOT57iu44CN5YiwID4gMirljYDloYrplbfluqYgKCVsZClcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZCDkvY3lhYPntYQpXHQlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2xvc2UgZmlsZSAlcyIKK21zZ3N0ciAi54Sh5rOV6Zec6ZaJ5qqU5qGIICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzMyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZWRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahOWIhuWJsuWNgOe3qOiZn+W8leaVuCIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc0MgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgIueEoeaViOeahOWwvuW6j+e1puWumueahOOAguW/hemgiOaYr+OAjuWkp+OAj++8jOOAjuWwj+Wei+OAj++8jOaIluOAjuS4u+apn+OAjyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ3Vlc3RpbWF0ZSBvZiByZXF1aXJlZCBzaXplICh1cHBlciBib3VuZCkgaXMgJWxsZE1CLCBidXQgbWF4aW11bSBpbWFnZSBzaXplIGlzICV1TUIuICBXZSBtaWdodCBkaWUgcHJlbWF0dXJlbHkuIgorbXNnc3RyICLorablkYrvvJpndWVzdGltYXRlIOeahOW/heimgemgheWkp+WwjyAo5LiK6ZmQKSDmmK8gJWxsZE1C77yM5L2G5piv5pyA5aSn5YC85b2x5YOP5aSn5bCP5pivICV1TULjgIIg5oiR5YCR5Lmf6Kix5raI5ruF6YGO5pep44CCIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODMwCittc2dpZCAiUk9NIGltYWdlIG1hcCIKK21zZ3N0ciAi5ZSv6K6A6KiY5oa26auU5ZyW5YOP5pig5bCEIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkluY2x1ZGluZzogJXNcbiIKK21zZ3N0ciAi5YyF5ZCr77yaJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg0OAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgZGF0YTogJXpkIGJ5dGVzXG4iCittc2dzdHIgIuebrumMhOizh+aWme+8miV6ZCDkvY3lhYPntYRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg1NgorIywgYy1mb3JtYXQKK21zZ2lkICJFdmVyeXRoaW5nOiAlemQga2lsb2J5dGVzXG4iCittc2dzdHIgIuaJgOacieadseilv++8miV6ZCDljYPkvY3lhYPntYRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2MQorIywgYy1mb3JtYXQKK21zZ2lkICJTdXBlciBibG9jazogJXpkIGJ5dGVzXG4iCittc2dzdHIgIui2heWNgOWhiu+8miV6ZCDkvY3lhYPntYRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICJDUkM6ICV4XG4iCittc2dzdHIgIkNSQ++8miV4XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UgYWxsb2NhdGVkIGZvciBST00gaW1hZ2UgKCVsbGQgYWxsb2NhdGVkLCAlenUgdXNlZCkiCittc2dzdHIgIuS4jei2s+epuuagvOmFjee9rueahOeUqOaWvOWUr+iugOiomOaGtumrlOW9seWDjyAoJWxsZCDphY3nva7vvIwlenUg5L2/55SoKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUk9NIGltYWdlIHdyaXRlIGZhaWxlZCAoJXpkICV6ZCkiCittc2dzdHIgIuWUr+iugOiomOaGtumrlOW9seWDj+Wvq+WFpeWkseaVlyAoJXpkICV6ZCkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODIKK21zZ2lkICJST00gaW1hZ2UiCittc2dzdHIgIuWUr+iugOiomOaGtumrlOaYoOWDjyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZW5hbWVzIHRydW5jYXRlZCB0byAldSBieXRlcy4iCittc2dzdHIgIuitpuWRiu+8muaqlOWQjeaIquefreiHsyAyNTUg5L2N5YWD57WE44CCIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODkzCisjLCBmdXp6eQorbXNnaWQgIndhcm5pbmc6IGZpbGVzIHdlcmUgc2tpcHBlZCBkdWUgdG8gZXJyb3JzLiIKK21zZ3N0ciAi6K2m5ZGK77ya5qqU5qGI6KKr55Wl6YGO55Sx5pa86Yyv6Kqk44CCIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlIHNpemVzIHRydW5jYXRlZCB0byAlbHVNQiAobWludXMgMSBieXRlKS4iCittc2dzdHIgIuitpuWRiu+8muaqlOahiOWkp+Wwj+aIquefreiHsyAlbHVNQiAobWludXMgMSDkvY3lhYPntYQp44CCIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICLorablkYrvvJp1aWRzIOaIquefreiHsyAldSDkvY3lhYPjgIIgKOmAmeS5n+ioseacg+aYr+WuieWFqOS4iueahOiAg+mHjy4pIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBnaWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICLorablkYrvvJpnaWRzIOaIquefreiHsyAldSDkvY3lhYPjgIIgKOmAmeS5n+ioseacg+aYr+WuieWFqOS4iueahOiAg+mHjy4pIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogZGV2aWNlIG51bWJlcnMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICBUaGlzIGFsbW9zdCBjZXJ0YWlubHkgbWVhbnNcbiIKKyJ0aGF0IHNvbWUgZGV2aWNlIGZpbGVzIHdpbGwgYmUgd3JvbmcuIgorbXNnc3RyICIiCisi6K2m5ZGK77ya6KOd572u57eo6Jmf5oiq55+t6IezICV1IOS9jeWFg+OAgiDpgJnlgIvlub7kuY7mn5DkupvooajnpLpcbiIKKyLoqbLmn5Dkupvoo53nva7mqpTmoYjlsIfmmK/pjK/oqqTnmoTjgIIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKK21zZ3N0ciAi55So5rOV77yaJXMgW+mBuOmghV0g6KOd572uIFtibG9jay1jb3VudF1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgIiAtMSAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAxXG4iCittc2dzdHIgIiAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgIOa4rOippueUqOaWvCBnZXRvcHQgKDEpIOeJiOacrFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiIC0yLCAtdiAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDJcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAg6YeN572u6YCa6KiK5Z+gXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOQorIywgZnV6enkKK21zZ2lkICIgLTMgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gM1xuIgorbXNnc3RyICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICDmuKzoqabnlKjmlrwgZ2V0b3B0ICgxKSDniYjmnKxcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQwCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uYW1lbGVuZ3RoIDxudW0+ICBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXNcbiIKK21zZ3N0ciAi5YmW5p6Q5YiX6Jmf55qE5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlub2RlcyA8bnVtPiAgICAgIG51bWJlciBvZiBpbm9kZXMgZm9yIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAgICAtQyMgW+aIliAtLWN5bGluZGVycyAjXe+8muioreWumuimgeeUqOeahOejgeafseaVuOmHjyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQyCisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jaGVjayAgICAgICAgICAgICBjaGVjayB0aGUgZGV2aWNlIGZvciBiYWQgYmxvY2tzXG4iCittc2dzdHIgIiAtdSAgLS11bmxvY2sgICAgICAgICAgICAg56e76Zmk6Y6W5a6aXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MworbXNnaWQgIiAtbCwgLS1iYWRibG9ja3MgPGZpbGU+ICBsaXN0IG9mIGJhZCBibG9ja3MgZnJvbSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayB0byBib290IGJsb2NrIGZhaWxlZCAgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIlc++8muWwi+aMh+WIsOWVn+WLleWNgOauteWkseaVlyAg5Zyo5LitIHdyaXRldGFibGVzKF9UKSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGNsZWFyIGJvb3Qgc2VjdG9yIgorbXNnc3RyICIlc++8mueEoeazlea4heepuumWi+apn+ejgeWNgCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIlc++8muWwi+aMh+WkseaVl+eahOWcqOS4rSB3cml0ZXRhYmxlcyhfVCkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAiJXPvvJrnhKHms5Xlr6vlhaXotoXljYDloYoiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIiVz77ya54Sh5rOV5a+r5YWlIGlub2RlIOaYoOWwhCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICIlc++8mueEoeazleWvq+WFpeWNgOaYoOWwhCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiJXPvvJrnhKHms5Xlr6vlhaUgaW5vZGVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXPvvJrlsIvmjIflpLHmlZfnmoTlnKjkuK0gd3JpdGVibG9jayhfQikiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXPvvJrlr6vlhaXlpLHmlZfnmoTlnKjkuK0gd3JpdGVibG9jayhfQikiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyMSBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyOTYKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjM0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBtYW55IGJhZCBibG9ja3MiCittc2dzdHIgIiVz77ya5aSq5aSa5LiN55W255qE5Y2A5aGKIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZW5vdWdoIGdvb2QgYmxvY2tzIgorbXNnc3RyICIlc++8muS4jei2s+iJr+WlveWNgOWhiiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJGaXJzdCBkYXRhIGJsb2NrIGF0ICVqZCwgd2hpY2ggaXMgdG9vIGZhciAobWF4ICVkKS5cbiIKKyJUcnkgc3BlY2lmeWluZyBmZXdlciBpbm9kZXMgYnkgcGFzc2luZyAtLWlub2RlcyA8bnVtPiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIiVsdSBpbm9kZXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlbHUg5Y2A5aGKXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JXp1XG4iCittc2dzdHIgIuWNgOWfn+Wkp+Wwjz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJNYXhzaXplPSV6dVxuIgorIlxuIgorbXNnc3RyICIiCisi5pyA5aSn5a656YePPSVsZFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBkdXJpbmcgdGVzdGluZyBvZiBibG9ja3MiCittc2dzdHIgIiVz77ya5bCL5oyH5aSx5pWX55qE5Zyo55qE5pyf6ZaT5ris6Kmm55qE5Y2A5aGKIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VpcmQgdmFsdWVzIGluIGRvX2NoZWNrOiBwcm9iYWJseSBidWdzXG4iCittc2dzdHIgImRvX2NoZWNrIOS4reWHuuePvueVsOW4uOWAvO+8muWPr+iDvemMr+iqpFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgIiVz77ya5bCL5oyH5aSx5pWX55qE5Zyo5LitIGNoZWNrYmxvY2tzKF9CKSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGJsb2NrcyBiZWZvcmUgZGF0YS1hcmVhOiBjYW5ub3QgbWFrZSBmcyIKK21zZ3N0ciAiJXPvvJrkuI3nlbbnmoTljYDloYrkuYvliY0gZGF0YS1hcmVh77ya54Sh5rOV6KO95L2cIGZzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MzkgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCBiYWQgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWQgYmFkIGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlZCDlgIvkuI3oia/ljYDloYpcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgb3BlbiBmaWxlIG9mIGJhZCBibG9ja3MiCittc2dzdHIgIiVz77ya54Sh5rOV6ZaL5ZWf5qqU5qGI55qE5LiN55W255qE5Y2A5aGKIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkYmxvY2sgbnVtYmVyIGlucHV0IGVycm9yIG9uIGxpbmUgJWRcbiIKK21zZ3N0ciAi5pCN5aOe5Y2A5aGK57eo6Jmf6Ly45YWl6Yyv6Kqk5pa856ysICVkIOWIl1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBiYWRibG9ja3MgZmlsZSIKK21zZ3N0ciAiJXPvvJrnhKHms5XoroDlj5YgYmFkYmxvY2tzIOaqlOahiCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk0CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIHNpemUgc21hbGxlciB0aGFuIHBoeXNpY2FsIHNlY3RvciBzaXplIG9mICVzIgorbXNnc3RyICLljYDmrrXlpKflsI/lsI/mlrwgJXMg55qE5a+m6auU56OB5Y2A5aSn5bCPIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBzaXplIG9mICVzIgorbXNnc3RyICLnhKHms5XmsbrlrpogJXMg55qE5aSn5bCPIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlcXVlc3RlZCBibG9ja3MgKCVsbHUpIGV4Y2VlZHMgYXZhaWxhYmxlICglbGx1KSBibG9ja3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiJXPvvJrljYDloYrmlbjph4/lpKrlsI8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG5hbWUgbGVuZ3RoOiAlZCIKK21zZ3N0ciAi5LiN5Y+X5pSv5o+055qE5byV5pW477yaJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbWluaXggZmlsZSBzeXN0ZW0gdmVyc2lvbjogJWQiCittc2dzdHIgIuS4jeWPl+aUr+aPtOeahOaqlOahiOezu+e1seeJueW+tSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzY3Cittc2dpZCAiLXYgaXMgYW1iaWd1b3VzLCB1c2UgJy0yJyBpbnN0ZWFkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc3OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzIgorbXNnc3RyICLliZbmnpDliJfomZ/nmoTmmYLlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc4MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAi5YmW5p6Q5YiX6Jmf55qE5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MDYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBibG9ja3MiCittc2dzdHIgIuWJluaekOWIl+iZn+eahOaZguWkseaVlyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2UgYSBmaWxlc3lzdGVtIGhlcmUhIgorbXNnc3RyICIlcyDlt7LmjpvovInvvJvlnKjmraTlsIfnhKHms5Xoo73kvZzmqpTmoYjns7vntbHvvIEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJhZCB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJXUiCittc2dzdHIgIuS4jeeVtueahOS9v+eUqOiAheaMh+WumueahOmggemdouWkp+WwjyAldSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICVkLCBpbnN0ZWFkIG9mIHRoZSBzeXN0ZW0gdmFsdWUgJWQiCittc2dzdHIgIuS9v+eUqOS9v+eUqOiAheaMh+WumueahOmggemdouWkp+WwjyAlZO+8jOS7peS7o+abv+ezu+e1seWAvCAlZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAiTGFiZWwgd2FzIHRydW5jYXRlZC4iCittc2dzdHIgIuaomeiyvOiiq+aIquaWt+OAgiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbGFiZWwsICIKK21zZ3N0ciAi54Sh5qiZ57Gk77yMIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyB1dWlkXG4iCittc2dzdHIgIuaykuaciSB1dWlkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXSBkZXZpY2UgW3NpemVdXG4iCittc2dzdHIgIiIKKyJcbiIKKyLnlKjms5XvvJpcbiIKKyIgJXMgW+mBuOmghV0g6KOd572uIFvlpKflsI9dXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTUyCittc2dpZCAiU2V0IHVwIGEgTGludXggc3dhcCBhcmVhLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICBjaGVjayBiYWQgYmxvY2tzIGJlZm9yZSBjcmVhdGluZyB0aGUgc3dhcCBhcmVhXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgYWxsb3cgc3dhcCBzaXplIGFyZWEgYmUgbGFyZ2VyIHRoYW4gZGV2aWNlXG4iCisiIC1wLCAtLXBhZ2VzaXplIFNJWkUgICAgICAgc3BlY2lmeSBwYWdlIHNpemUgaW4gYnl0ZXNcbiIKKyIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICBzcGVjaWZ5IGxhYmVsXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAgc3BlY2lmeSBzd2FwLXNwYWNlIHZlcnNpb24gbnVtYmVyXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgc3BlY2lmeSB0aGUgdXVpZCB0byB1c2VcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyLpgbjpoIXvvJpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICDmqqLmn6XkuI3nlbbnmoTljYDloYrkuYvliY3lu7rnq4vkuqTmj5vljYDln59cbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICDlhYHoqLHkuqTmj5vlpKflsI/ljYDln5/mmK/lpKfmlrzoo53nva5cbiIKKyIgLXAsIC0tcGFnZXNpemUg5aSn5bCPICAgICAgIOaMh+WumumggemdouWkp+Wwj+WcqOS4reS9jeWFg+e1hFxuIgorIiAtTCwgLS1sYWJlbCDmqJnosrwgICAgICAgICDmjIflrprmqJnosrxcbiIKKyIgLXYsIC0tc3dhcHZlcnNpb24gTlVNICAgICDmjIflrprkuqTmj5vnqbrplpPniYjmnKznt6jomZ9cbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICDmjIflrpogdXVpZCDku6Xkvb/nlKhcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGJhZCBwYWdlczogJWx1IgorbXNnc3RyICLlpKrlpJrkuI3oia/poIHpnaIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTk1Cittc2dpZCAic2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIgorbXNnc3RyICLlnKggY2hlY2tfYmxvY2tzIOS4reeahOWwi+aJvuWkseaVlyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVsdSBiYWQgcGFnZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgYmFkIHBhZ2VzXG4iCittc2dzdHJbMF0gIiVsdSDlgIvkuI3oia/poIHpnaJcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMjgKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgbmV3IGxpYmJsa2lkIHByb2JlIgorbXNnc3RyICLnhKHms5XphY3nva7mlrDnmoQgbGliYmxraWQg5o6i6YedIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIzMAorbXNnaWQgInVuYWJsZSB0byBhc3NpZ24gZGV2aWNlIHRvIGxpYmJsa2lkIHByb2JlIgorbXNnc3RyICLnhKHms5XmjIfmtL7oo53nva7ntaYgbGliYmxraWQg5o6i6YedIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjaGVja2luZyBiYWQgYmxvY2tzIGZyb20gc3dhcCBmaWxlIGlzIG5vdCBzdXBwb3J0ZWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjYxIGRpc2stdXRpbHMvbWtzd2FwLmM6Mjg3IGRpc2stdXRpbHMvbWtzd2FwLmM6MzM0Cittc2dpZCAidW5hYmxlIHRvIHJld2luZCBzd2FwLWRldmljZSIKK21zZ3N0ciAi54Sh5rOV5YCS6L2J5Lqk5o+b6KOd572uIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI5MAorbXNnaWQgInVuYWJsZSB0byBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICLnhKHms5XmuIXpmaTplovmqZ/no4HljYAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiB3aXBpbmcgb2xkICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiBkb24ndCBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICIlc++8muitpuWRiu+8muS4jea4hemZpCBib290Yml0cyDno4HljYAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKCVzIHBhcnRpdGlvbiB0YWJsZSBkZXRlY3RlZCkuICIKK21zZ3N0ciAiICAgICAgICAo5YG15ris5YiwICVzIOWIhuWJsuihqCnjgIIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKGNvbXBpbGVkIHdpdGhvdXQgbGliYmxraWQpLiAiCittc2dzdHIgIiAgICAgICAgKOe3qOitr+aZguacquaUr+aPtCBsaWJibGtpZCnjgIIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2UgLWYgdG8gZm9yY2UuXG4iCittc2dzdHIgIiAtZiAg5by35Yi25qqi5p+lXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHNpZ25hdHVyZSBwYWdlIgorbXNnc3RyICIlc++8mueEoeazleWvq+WFpeewveWQjemggemdoiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODAKKyMsIGZ1enp5Cittc2dpZCAicGFyc2luZyBwYWdlIHNpemUgZmFpbGVkIgorbXNnc3RyICLliZbmnpDpoIHpnaLlpKflsI/lpLHmlZciCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg2CisjLCBmdXp6eQorbXNnaWQgInBhcnNpbmcgdmVyc2lvbiBudW1iZXIgZmFpbGVkIgorbXNnc3RyICLliZbmnpDniYjmnKznt6jomZ/lpLHmlZciCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzd2Fwc3BhY2UgdmVyc2lvbiAlZCBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICLpgJ/luqYgJWQg5LiN5Y+X5pSv5o+0IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogaWdub3JpbmcgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCBieSAlcykiCittc2dzdHIgIuitpuWRiu+8muW/veeVpSAtVSAoVVVJRHMg6KKr5LiN5Y+X5pSv5o+055qE55SxICVzKSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MTQKK21zZ2lkICJvbmx5IG9uZSBkZXZpY2UgYXJndW1lbnQgaXMgY3VycmVudGx5IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQyMQorIywgZnV6enkKK21zZ2lkICJlcnJvcjogcGFyc2luZyBVVUlEIGZhaWxlZCIKK21zZ3N0ciAi6Yyv6Kqk77yaVVVJRCDliZbmnpDlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDMwCisjLCBmdXp6eQorbXNnaWQgImVycm9yOiBOb3doZXJlIHRvIHNldCB1cCBzd2FwIG9uPyIKK21zZ3N0ciAi6Yyv6Kqk77ya54Sh6JmV5Y+v6Kit572u5Lqk5o+b5pa877yfIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzNgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGJsb2NrIGNvdW50IGFyZ3VtZW50IgorbXNnc3RyICLnhKHmlYjnmoTljYDloYroqIjmlbjlvJXmlbgiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc2l6ZSAlbGx1IEtpQiBpcyBsYXJnZXIgdGhhbiBkZXZpY2Ugc2l6ZSAlPFBSSXU2ND4gS2lCIgorbXNnc3RyICLpjK/oqqTvvJrlpKflsI8gJWxsdSBLaUIg5piv5aSn5pa86KOd572u5aSn5bCPICVsbHUgS2lCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHN3YXAgYXJlYSBuZWVkcyB0byBiZSBhdCBsZWFzdCAlbGQgS2lCIgorbXNnc3RyICLpjK/oqqTvvJrkuqTmj5vljYDln5/pnIDopoHmmK/oh7PlsJEgJWxkIEtpQiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHRydW5jYXRpbmcgc3dhcCBhcmVhIHRvICVsbHUgS2lCIgorbXNnc3RyICLorablkYrvvJrmiKrmlrfkuqTmj5vljYDln5/liLAgJWxsdSBLaUIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBzd2Fwc3BhY2UiCittc2dzdHIgIumMr+iqpO+8miVzIOiiq+aOm+i8ie+8m+Wwh+eEoeazleijveS9nCBzd2Fwc3BhY2XjgIIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDY4IHN5cy11dGlscy9zd2Fwb24uYzo1MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIHBlcm1pc3Npb25zICUwNG8sICUwNG8gc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXPvvJrkuI3lronlhajnmoTmrIrpmZAgJTA0bywg5bu66K2w5L2/55SoICUwNG/jgIIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDcyIHN5cy11dGlscy9zd2Fwb24uYzo1MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBmaWxlIG93bmVyICVkLCAwIChyb290KSBzdWdnZXN0ZWQuIgorbXNnc3RyICIlc++8muS4jeWuieWFqOaqlOahiOaTgeacieiAhSAlZO+8jDAgKOaguSkg5bu66K2w44CCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ4NworbXNnaWQgIlVuYWJsZSB0byBzZXQgdXAgc3dhcC1zcGFjZTogdW5yZWFkYWJsZSIKK21zZ3N0ciAi54Sh5rOV6Kit572u5Lqk5o+b56m66ZaT77ya54Sh5rOV6K6A5Y+WIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyB1cCBzd2Fwc3BhY2UgdmVyc2lvbiAlZCwgc2l6ZSA9ICVzICglPFBSSXU2ND4gYnl0ZXMpXG4iCittc2dzdHIgIuioreWumiBzd2Fwc3BhY2Ug54mI5pysIDEsIOWkp+WwjyA9ICVsbHUgS2lCXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIG9idGFpbiBzZWxpbnV4IGZpbGUgbGFiZWwiCittc2dzdHIgIiVz77ya54Sh5rOV5b6X5YiwIHNlbGludXgg5qqU5qGI5qiZ6LK8IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxNQorbXNnaWQgInVuYWJsZSB0byBtYXRjaHBhdGhjb24oKSIKK21zZ3N0ciAi54Sh5rOVIG1hdGNocGF0aGNvbigpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxOAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbmV3IHNlbGludXggY29udGV4dCIKK21zZ3N0ciAi54Sh5rOV5bu656uL5paw55qEIHNlbGludXgg55u46Zec6aCF55uuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMAorbXNnaWQgImNvdWxkbid0IGNvbXB1dGUgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICLnhKHms5XoqIjnrpcgc2VsaW51eCDnm7jpl5zpoIXnm64iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVsYWJlbCAlcyB0byAlcyIKK21zZ3N0ciAi54Sh5rOVIHJlbGFiZWwgJXMg5YiwICVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODYKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAi5YiG5Ymy5Y2A57eo6JmfIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODcKKyMsIGZ1enp5Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICLplovlp4vnmoTliIblibLlnKjkuK3no4HljYAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OAorIywgZnV6enkKK21zZ2lkICJlbmQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICLntZDmnZ/nmoTliIblibLlnKjkuK3no4HljYAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OQorIywgZnV6enkKK21zZ2lkICJudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAi56OB5Y2A5pW46YePIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTAKKyMsIGZ1enp5Cittc2dpZCAiaHVtYW4gcmVhZGFibGUgc2l6ZSIKK21zZ3N0ciAi5Lq66aGeIHJlYWRhYmxlIOWkp+WwjyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkxCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICLliIblibLlkI3nqLEiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDggbWlzYy11dGlscy9sc2Jsay5jOjE2OAorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAi5YiG5YmyIFVVSUQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MworIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUgdHlwZSAoZG9zLCBncHQsIC4uLikiCittc2dzdHIgIuWIhuWJsuihqOWei+aFiyAoRE9T44CBZ3B077yMLi4uKSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk0IG1pc2MtdXRpbHMvbHNibGsuYzoxNjkKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIGZsYWdzIgorbXNnc3RyICLliIblibLml5fmqJkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIChhIHN0cmluZywgYSBVVUlELCBvciBoZXgpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDggc3lzLXV0aWxzL2xvc2V0dXAuYzo2MTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGN4dCIKK21zZ3N0ciAi5Yid5aeL5YyWIGxvb3BjeHQg5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlc++8mueEoeazleWwi+aJvuacquS9v+eUqOeahOi/tOWciOijnee9riIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvIHVzZSAnJXMnIGZvciB0aGUgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAi5ZiX6Kmm5L2/55So44COJXPjgI/nlKjmlrzov7TlnIjoo53nva5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYmFja2luZyBmaWxlIgorbXNnc3RyICIlc++8mueEoeazleioreWumuS4iuS4gOatpeaqlOahiCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEzMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjU1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVz77ya54Sh5rOV6Kit5a6a6L+05ZyI6KOd572uIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTYxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzA3IG1pc2MtdXRpbHMvZmluZG1udC5jOjM3NgorIzogbWlzYy11dGlscy9sc2Jsay5jOjM1NCBtaXNjLXV0aWxzL2xzbG9ja3MuYzozNDIgc3lzLXV0aWxzL2xvc2V0dXAuYzoxMDcKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM3MiBzeXMtdXRpbHMvbHNpcGMuYzoyMzIgc3lzLXV0aWxzL2xzbnMuYzoxODkKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjc3IHN5cy11dGlscy9zd2Fwb24uYzoxNDcgc3lzLXV0aWxzL3dkY3RsLmM6MTUxCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjE0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgIuS4jeaYjuebtOashO+8miVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICIlc++8mueEoeazleaPkOWPluWIhuWJsuWNgOe3qOiZnyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI4NiBkaXNrLXV0aWxzL3BhcnR4LmM6MzI0IGRpc2stdXRpbHMvcGFydHguYzo0NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZmllZCByYW5nZSA8JWQ6JWQ+IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIuaMh+WumueahOevhOWcjTwlZDolZD7kuI3lhbfku7vkvZXmhI/nvqkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmFuZ2UgcmVjb3VudDogbWF4IHBhcnRubz0lZCwgbG93ZXI9JWQsIHVwcGVyPSVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXPvvJrpjK/oqqTliKrpmaTliIblibIgJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlc++8mumMr+iqpOWIqumZpOWIhuWJsuWNgCAlZC0lZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVtb3ZlZFxuIgorbXNnc3RyICIlc++8muWIhuWJsiAjJWQg56e76ZmkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGRvZXNuJ3QgZXhpc3RcbiIKK21zZ3N0ciAiJXPvvJrliIblibIgIyVkIOW3sue2k+S4jeWtmOWcqFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZGVsZXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVz77ya5Yiq6Zmk5YiG5YmyICMlZCDlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIlc++8mumMr+iqpOWKoOWFpeWIhuWJsiAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlc++8mumMr+iqpOWKoOWFpeWIhuWJsuWNgCAlZC0lZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQwNSBkaXNrLXV0aWxzL3BhcnR4LmM6NTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBhZGRlZFxuIgorbXNnc3RyICIlc++8muWIhuWJsiAjJWQg5bey5Yqg5YWlXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVz77ya5Yqg5YWl5YiG5YmyICMlZCDlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVz77ya6Yyv6Kqk5Yiq6Zmk5YiG5YmyICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXPvvJrpjK/oqqTliKrpmaTliIblibLljYAgJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBwYXJ0aXRpb24gIyVkIgorbXNnc3RyICIlc++8muWIhuWJsiAjJWQg5bey5Yqg5YWlXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlc2l6ZWRcbiIKK21zZ3N0ciAiJXPvvJrliIblibIgIyVkIOenu+mZpFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdXBkYXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVz77ya5Yiq6Zmk5YiG5YmyICMlZCDlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWN0b3IsICU2anUgTUIpXG4iCittc2dpZF9wbHVyYWwgIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWN0b3JzLCAlNmp1IE1CKVxuIgorbXNnc3RyWzBdICIjJTJk77yaJTkganUtJTkganUgKCU5IGp1IOejgeWNgO+8jCU2IGp1IE1CKVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTgxIG1pc2MtdXRpbHMvZmluZG1udC5jOjY4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MDUKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM5MSBzeXMtdXRpbHMvbHNucy5jOjQ1NgorbXNnaWQgImZhaWxlZCB0byBhZGQgbGluZSB0byBvdXRwdXQiCittc2dzdHIgIuWKoOWFpei8uOWHuuWIl+aZguWkseaVlyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY0NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWRkIGRhdGEgdG8gb3V0cHV0IHRhYmxlIgorbXNnc3RyICLliqDlhaXovLjlh7rliJfmmYLlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NjcgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo5MjIgbWlzYy11dGlscy9maW5kbW50LmM6MTU4NQorIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NzQgbWlzYy11dGlscy9sc2xvY2tzLmM6NDUxIHN5cy11dGlscy9sb3NldHVwLmM6MzEwCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzEzIHN5cy11dGlscy9sc2lwYy5jOjMzOCBzeXMtdXRpbHMvbHNucy5jOjUxMQorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyOTcgc3lzLXV0aWxzL3N3YXBvbi5jOjI4MCBzeXMtdXRpbHMvd2RjdGwuYzoyNTkKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NDg0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICLliJ3lp4vljJbovLjlh7rooajmoLzmmYLlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NzggbWlzYy11dGlscy9maW5kbW50LmM6MTYxMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5NgorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDY1IHN5cy11dGlscy9sb3NldHVwLmM6MzIyIHN5cy11dGlscy9sb3NldHVwLmM6MzU4CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzE4IHN5cy11dGlscy9sc25zLmM6NTMyIHN5cy11dGlscy9wcmxpbWl0LmM6MzA2CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjg5IHN5cy11dGlscy93ZGN0bC5jOjI3MCBzeXMtdXRpbHMvenJhbWN0bC5jOjQ5MworbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iCittc2dzdHIgIuWIneWni+WMlui8uOWHuuashOaZguWkseaVlyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjcyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgZmlsdGVyIGZvciAnJXMnIgorbXNnc3RyICLliJ3lp4vljJYgYmxraWQg56+p6YG45Zmo55So5pa844COJXMg5pmC5aSx5pWX44CPIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIlc++8mueEoeazleiugOWPluWIhuWJsuihqCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB0eXBlICclcycgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiJXPvvJrliIblibLooajlnovmhYvjgI4lc+OAj+WBtea4rOWIsFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHdpdGggbm8gcGFydGl0aW9ucyIKK21zZ3N0ciAiJXPvvJrliIblibLooajkuI3lhbfku7vkvZXliIblibLljYAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLWF8LWR8LXN8LXVdIFstLW5yIDxuOm0+IHwgPHBhcnRpdGlvbj5dIDxkaXNrPlxuIgorbXNnc3RyICIgJXMgWy1hfC1kfC1zXSBbLS1uciA8bjptPnw85YiG5YmyPl0856OB56KfPlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzU2Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBwcmVzZW5jZSBhbmQgbnVtYmVyaW5nIG9mIHBhcnRpdGlvbnMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1OQorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWRkICAgICAgICAgICAgYWRkIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIOaMh+WumuS4puWIl+WfoCBpcnFcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MAorbXNnaWQgIiAtZCwgLS1kZWxldGUgICAgICAgICBkZWxldGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYxCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11cGRhdGUgICAgICAgICB1cGRhdGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIOioreWumuWQjOS9jeWIsOeEoVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYyCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLXMsIC0tc2hvdyAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zXG4iCisiXG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICDoqK3lrprlkIzkvY3liLDnhKFcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MyBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyMworbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjQKK21zZ2lkICIgLWcsIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tc2hvd1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjUKK21zZ2lkICIgLW4sIC0tbnIgPG46bT4gICAgICAgc3BlY2lmeSB0aGUgcmFuZ2Ugb2YgcGFydGl0aW9ucyAoZS5nLiAtLW5yIDI6NClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY2CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgIOefremBuOmgheeCuui+qOitmOeahFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY3IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM3CisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioilxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY4IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM4CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiKXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjkKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgc3BlY2lmeSB0aGUgcGFydGl0aW9uIHR5cGUgKGRvcywgYnNkLCBzb2xhcmlzLCBldGMuKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzAgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAg5YiX5Y2w6Kmz57Sw55qE6LOH5paZXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzYKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93LCAtLXJhdyBvciAtLXBhaXJzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIuWPr+eUqOashOS9jSAo55So5pa8IC0tc2hvd++8jC0tcmF3IOaIliAtLXBhaXJzKe+8mlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODQ5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLW5yIDxNLU4+IHJhbmdlIgorbXNnc3RyICLliZbmnpAgLS1uciDmmYLlpLHmlZcgPE0tTj4g56+E5ZyNIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTI0CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBhbmQgZGlzayBuYW1lIGRvIG5vdCBtYXRjaCIKK21zZ3N0ciAiIgorIuWIhuWJsuihqOW3suiuiuabtO+8gVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTUyCisjLCBmdXp6eQorbXNnaWQgIi0tbnIgYW5kIDxwYXJ0aXRpb24+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIi0tbnIg5ZKMIDxwYXJ0aXRpb24+IOW9vOatpOS6kuaWpSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicGFydGl0aW9uOiAlcywgZGlzazogJXMsIGxvd2VyOiAlZCwgdXBwZXI6ICVkXG4iCittc2dzdHIgIuWIhuWJsu+8miVz77yM56OB56Kf77yaJXPvvIzpmY3kvY7vvJolZO+8jOWkp+Wvq++8miVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlIHBhcnRpdGlvbnMiCittc2dzdHIgIiVz77ya54Sh5rOV5Yiq6Zmk5YiG5Ymy5Y2AIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIlc++8muWIhuWJsueahOi/tOWciOijnee9ruS4jeWPl+aUr+aPtOeahCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBibGtpZCBwcm9iZXIiCittc2dzdHIgIiVz77ya54Sh5rOV5Yid5aeL5YyWIGJsa2lkIHByb2JlciIKKworIzogZGlzay11dGlscy9yYXcuYzo1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzICUyJHNyYXdOIDxtYWpvcj4gPG1pbm9yPlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPGJsb2NrZGV2aWNlPlxuIgorIiAlMSRzIC1xICUyJHNyYXdOXG4iCisiICUxJHMgLXFhXG4iCittc2dzdHIgIiIKKyIgJTEkcyAlMiRzcmF3TiA8bWFqb3I+POasoeimgT5cbiIKKyIgJTEkcyAlMiRzcmF3Ti9kZXYvPGJsb2NrZGV2aWNlPlxuIgorIiAlMSRzIC1xICUyJHNyYXdOXG4iCisiICUxJHMgLXFhXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTgKK21zZ2lkICJCaW5kIGEgcmF3IGNoYXJhY3RlciBkZXZpY2UgdG8gYSBibG9jayBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MQorIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVlcnkgICAgc2V0IHF1ZXJ5IG1vZGVcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXJ5ICAgIOioreWumuafpeipouaooeW8j1xuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYyCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICBxdWVyeSBhbGwgcmF3IGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgIOafpeipouaJgOacieWOn+Wni+ijnee9rlxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgdGhlIGNvbnRyb2wgcmF3IGRldmljZSAodXNlIHJhdzxOPiB3aGVyZSA8Tj4gaXMgZ3JlYXRlciB0aGFuIHplcm8pIgorbXNnc3RyICLoo53nva7jgI4lc+OAj+aYr+aOp+WItuWOn+Wni+ijnee9riAo5L2/55So5Y6f5aeLPE4+IOS9jee9rjxOPuaYr+Wkp+aWvOmbtikiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIGJsb2NrIGRldmljZSAnJXMnIgorbXNnc3RyICLnhKHms5XlsIvmib7kvY3nva7ljYDloYroo53nva7jgI4lc+OAjyIKKworIzogZGlzay11dGlscy9yYXcuYzoxODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAi6KOd572u44COJXPjgI/kuKbpnZ7ljYDloYroo53nva4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTkzIGRpc2stdXRpbHMvcmF3LmM6MTk2IHN5cy11dGlscy9pcGNybS5jOjM1MQorIzogc3lzLXV0aWxzL2lwY3JtLmM6MzY0IHN5cy11dGlscy9pcGNybS5jOjM3NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiCittc2dzdHIgIuWJluaekOW8leaVuOaZguWkseaVlyIKKworIzogZGlzay11dGlscy9yYXcuYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuIG1hc3RlciByYXcgZGV2aWNlICclcyciCittc2dzdHIgIueEoeazlemWi+WVn+S4u+WOn+Wni+ijnee9ruOAjiVz44CPIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSByYXcgZGV2aWNlICclcyciCittc2dzdHIgIueEoeazleWwi+aJvuS9jee9ruWOn+Wni+ijnee9ruOAjiVz44CPIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUmF3IGRldmljZSAnJXMnIGlzIG5vdCBhIGNoYXJhY3RlciBkZXYiCittc2dzdHIgIuWOn+Wni+ijnee9ruOAjiVz44CP5Lim6Z2e5a2X5YWDIGRldiIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIHJhdyBkZXYiCittc2dzdHIgIuijnee9ruOAjiVz44CP5Lim6Z2e5Y6f5aeLIGRldiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNDUKKyMsIGZ1enp5Cittc2dpZCAiRXJyb3IgcXVlcnlpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAi5p+l6Kmi5Y6f5aeL6KOd572u5pmC55m855Sf6Yyv6KqkIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI1NCBkaXNrLXV0aWxzL3Jhdy5jOjI2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXNyYXclZDogIGJvdW5kIHRvIG1ham9yICVkLCBtaW5vciAlZFxuIgorbXNnc3RyICIlc3JhdyVk77yaIOe0hOadn+WIsOS4u+imgeeahCAlZO+8jOasoeimgSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI2OAorIywgZnV6enkKK21zZ2lkICJFcnJvciBzZXR0aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIuioreWumuWOn+Wni+ijnee9ruaZgueZvOeUn+mMr+iqpCIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8bGVuZ3RoPlxuIgorbXNnc3RyICIgJXMgPGRpc2sgZGV2aWNlPjzliIblibLljYDnt6jomZ8+POmVt+W6pj5cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjMKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBudW1iZXIgJXMiCittc2dzdHIgIiVz77ya54Sh5rOV5o+Q5Y+W6ZaL5aeL55qE5YiG5Ymy5Y2A57eo6JmfICVzIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24iCittc2dzdHIgIuiqv+aVtOWkp+Wwj+WIhuWJsuaZguWkseaVlyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG5lc3RlZCBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICLphY3nva7ov63ku6PlmajmmYLlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2VlayAlcyIKK21zZ3N0ciAi54Sh5rOV6ZaL5ZWfICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMwMiBsaWJmZGlzay9zcmMvYnNkLmM6NzIzIGxpYmZkaXNrL3NyYy9ic2QuYzo4OTQKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTYzIHN5cy11dGlscy9od2Nsb2NrLmM6MTY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgJXMiCittc2dzdHIgIueEoeazleWvq+WFpSAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTEycyAob2Zmc2V0ICU1anUsIHNpemUgJTVqdSk6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCIKK21zZ3N0ciAiJXPvvJrnhKHms5Xlr6vlhaXmqJnnsaQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzI4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAgZmlsZSwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICIlc++8mueEoeazleWvq+WFpeaomeexpCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozNTQKK21zZ2lkICJCYWNrdXAgZmlsZXM6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzc5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIG5ldyBwYXJ0aXRpb24gZnJvbSBkZXZpY2U7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIlc++8mueEoeazleiugOWPluWIhuWJsuihqCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiJXPvvJrnhKHms5Xmj5Dlj5bplovlp4vnmoTliIblibLljYDnt6jomZ8gJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIlc++8mueEoeazleaPkOWPlumWi+Wni+eahOWIhuWJsuWNgOe3qOiZnyAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiJXPvvJrnhKHms5Xmj5Dlj5bplovlp4vnmoTliIblibLljYDnt6jomZ8gJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIlc++8mueEoeazleaPkOWPlumWi+Wni+eahOWIhuWJsuWNgOe3qOiZnyAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODkKKyMsIGZ1enp5Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBoYXMgbm90IGJlZW4gbW92ZWQ7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIlc++8mueEoeazleaPkOWPlumWi+Wni+eahOWIhuWJsuWNgOe3qOiZnyAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTEKK21zZ2lkICJuZXcgcGFydGl0aW9uIGlzIHNtYWxsZXIgdGhhbiBvcmlnaW5hbDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDEKK21zZ2lkICJEYXRhIG1vdmU6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgdHlwZXNjcmlwdCBmaWxlOiAlcyIKK21zZ3N0ciAi54Sh5rOV6ZaL5ZWfIHR5cGVzY3JpcHQg5qqU5qGIICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICIgb2xkIHN0YXJ0OiAlanUsIG5ldyBzdGFydDogJWp1IChtb3ZlICVqdSBzZWN0b3JzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUxCisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIG1vdmUgcGFydGl0aW9uIGRhdGE/IgorbXNnc3RyICLmgqjopoHlsIfpgJnlgIvlr6vlhaXno4Hnop/ll47vvJ9beW5xXSAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc4MworbXNnaWQgIkxlYXZpbmcuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIG1vdmUgZGF0YSIKK21zZ3N0ciAi6Kit5a6a6Lev5b6R5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0MQorIywgZnV6enkKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGlzIHVuY2hhbmdlZCAoLS1uby1hY3QpLiIKK21zZ3N0ciAiIgorIuWIhuWJsuihqOW3suiuiuabtO+8gVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0NworIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiIgorIuWIhuWJsuihqOW3suiuiuabtO+8gVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbGFiZWwgJyVzJyIKK21zZ3N0ciAi5LiN5Y+X5pSv5o+055qE5byV5pW477yaJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjI2Cittc2dpZCAiIgorIklkICBOYW1lXG4iCisiXG4iCittc2dzdHIgIiIKKyLorZjliKXomZ8gIOWQjeeosVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjY1NgorIywgZnV6enkKK21zZ2lkICJ1bnJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUiCittc2dzdHIgIiAlczog54Sh5rOV6L6o6K2Y55qE5YiG5Ymy6KGo6aGe5Z6LXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgIueEoeazleaPkOWPluWkp+Wwj+eahCAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRvdGFsOiAlanUgYmxvY2tzXG4iCittc2dzdHIgIue4veioiO+8miVsbHUg5Y2A5aGKXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODA4IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODc2IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk0NyBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTQgZGlzay11dGlscy9zZmRpc2suYzoxMDc4CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzMgZGlzay11dGlscy9zZmRpc2suYzoxMTg5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUzMworIywgZnV6enkKK21zZ2lkICJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIuaykuaciei/tOWciOijnee9ruaMh+WumueahCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MTkKK21zZ2lkICJ0b2dnbGUgYm9vdCBmbGFncyBpcyBzdXBwb3J0ZWQgZm9yIE1CUiBvbmx5IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODUwIGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxOQorIzogZGlzay11dGlscy9zZmRpc2suYzoxMDgzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzOCBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTQKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUzMSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIiVz77ya54Sh5rOV5o+Q5Y+W5YiG5Ymy5Y2A57eo6JmfIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICVkOiBmYWlsZWQgdG8gdG9nZ2xlIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4OTEgZGlzay11dGlscy9zZmRpc2suYzo4OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZGVsZXRlIgorbXNnc3RyICIlc++8mueEoeazleaPkOWPluWIhuWJsuWNgOe3qOiZnyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIuijnee9ruS4jeWMheWQq+i+qOitmOeahOWIhuWJsuihqFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk1OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgZHVtcCBzdHJ1Y3QiCittc2dzdHIgImNhbGxvY2F0ZSBjcHUg6ZuG5ZCI5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkdW1wIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiJXPvvJrnhKHms5XoroDlj5bliIblibLooagiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uIHRhYmxlIGZvdW5kIgorbXNnc3RyICLnhKHliIblibLooajjgIJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXPvvJrliIblibLooajkuI3lhbfku7vkvZXliIblibLljYAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIGlzIHVudXNlZCIKK21zZ3N0ciAiJXPvvJrliIblibLooajkuI3lhbfku7vkvZXliIblibLljYAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxOCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODIgZGlzay11dGlscy9zZmRpc2suYzoxMTM3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTMKKyMsIGZ1enp5Cittc2dpZCAibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiCittc2dzdHIgIuacquaMh+WumuS7u+S9leWLleS9nCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4OCBkaXNrLXV0aWxzL3NmZGlzay5jOjExNDMKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5OQorIywgZnV6enkKK21zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50cyIKK21zZ3N0ciAi5pyq6aCQ5pyf55qE5byV5pW45pW46YePIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlc++8mueEoeazleaPkOWPluWIhuWJsuWNgOe3qOiZnyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgcGFydGl0aW9uIHR5cGUgJyVzJyIKK21zZ3N0ciAi5YmW5p6Q5qmf6IO944COJXMg5pmC5aSx5pWX44CPIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlc++8muWIhuWJsuihqOS4jeWFt+S7u+S9leWIhuWJsuWNgCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiJXPvvJrliIblibLooajkuI3lhbfku7vkvZXliIblibLljYAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTExMyBkaXNrLXV0aWxzL3NmZGlzay5jOjExNjggZGlzay11dGlscy9zZmRpc2suYzoxMjIyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gb2JqZWN0IgorbXNnc3RyICLphY3nva7ov63ku6PlmajmmYLlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTExNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiVz77ya5YiG5Ymy6KGo5LiN5YW35Lu75L2V5YiG5Ymy5Y2AIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlc++8mueEoeazleaPkOWPluWIhuWJsuWNgOe3qOiZnyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiJXPvvJrnhKHms5Xmj5Dlj5bliIblibLljYDnt6jomZ8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIGF0dHJpYnV0ZXMiCittc2dzdHIgIiVz77ya5YiG5Ymy6KGo5LiN5YW35Lu75L2V5YiG5Ymy5Y2AIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNjkKKyMsIGZ1enp5Cittc2dpZCAiIENvbW1hbmRzOlxuIgorbXNnc3RyICLmspLmnInlkb3ku6TvvJ8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI3MQorIywgZnV6enkKK21zZ2lkICIgICB3cml0ZSAgICB3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0XG4iCittc2dzdHIgIuWvq+WFpeihqOagvOWIsOejgeein+eEtuW+jOmboumWiyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjcyCittc2dpZCAiICAgcXVpdCAgICAgc2hvdyBuZXcgc2l0dWF0aW9uIGFuZCB3YWl0IGZvciB1c2VyJ3MgZmVlZGJhY2sgYmVmb3JlIHdyaXRlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjczCittc2dpZCAiICAgYWJvcnQgICAgZXhpdCBzZmRpc2sgc2hlbGxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzQKKyMsIGZ1enp5Cittc2dpZCAiICAgcHJpbnQgICAgZGlzcGxheSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgIHAgICDljbDlh7ogQlNEIOWIhuWJsuihqCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjc1CisjLCBmdXp6eQorbXNnaWQgIiAgIGhlbHAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKK21zZ3N0ciAiIC1oLCAtLWhlbHAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNzcKK21zZ2lkICIgICBDdHJsLUQgICB0aGUgc2FtZSBhcyAncXVpdCdcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODEKKyMsIGZ1enp5Cittc2dpZCAiIElucHV0IGZvcm1hdDpcbiIKK21zZ3N0ciAi6Ly45Ye65qC85byP77yaXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MworbXNnaWQgIiAgIDxzdGFydD4sIDxzaXplPiwgPHR5cGU+LCA8Ym9vdGFibGU+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjg2Cittc2dpZCAiIgorIiAgIDxzdGFydD4gIEJlZ2lubmluZyBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyB0aGUgZmlyc3QgZnJlZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTEKK21zZ2lkICIiCisiICAgPHNpemU+ICAgU2l6ZSBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyBhbGwgYXZhaWxhYmxlIHNwYWNlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NgorbXNnaWQgIiAgIDx0eXBlPiAgIFRoZSBwYXJ0aXRpb24gdHlwZS4gIERlZmF1bHQgaXMgYSBMaW51eCBkYXRhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTcKK21zZ2lkICIgICAgICAgICAgICBNQlI6IGhleCBvciBMLFMsRSxYIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTgKK21zZ2lkICIgICAgICAgICAgICBHUFQ6IFVVSUQgb3IgTCxTLEggc2hvcnRjdXRzLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwMQorIywgZnV6enkKK21zZ2lkICIgICA8Ym9vdGFibGU+ICBVc2UgJyonIHRvIG1hcmsgYW4gTUJSIHBhcnRpdGlvbiBhcyBib290YWJsZS5cbiIKK21zZ3N0ciAi5oKo5bCH5LiN6IO95a+r5YWl5YiG5Ymy6KGo44CCXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNQorbXNnaWQgIiBFeGFtcGxlOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNworIywgZnV6enkKK21zZ2lkICIgICAsIDRHICAgICBDcmVhdGVzIGEgNEdpQiBwYXJ0aXRpb24gYXQgZGVmYXVsdCBzdGFydCBvZmZzZXQuXG4iCittc2dzdHIgIiAgbiAgICAgICAgICDnlLHlianppJjnqbrplpPkuK3mlrDlop7kuIDloYrliIblibLljYAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMzOSBzeXMtdXRpbHMvZG1lc2cuYzoxNDU1CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgIuS4jeWPl+aUr+aPtOeahOWRveS7pCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICLkuI3lj5fmlK/mj7TnmoTlkb3ku6QiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUwMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIuWKoOWFpeWIhuWJsuaZguWkseaVlyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTQxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAi6YWN572u6L+t5Luj5Zmo5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogbm8gcGFydGl0aW9uIHRhYmxlIHdhcyBmb3VuZCIKK21zZ3N0ciAiJXPvvJrnhKHms5XoroDlj5bliIblibLooagiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXPvvJrliIblibLooajkuI3lhbfku7vkvZXliIblibLljYAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXM6IHBhcnRpdGlvbiAlZCBpcyBub3QgZGVmaW5lZCB5ZXQiCittc2dzdHIgIuWwmueEoeWIhuWJsuWNgOiiq+Wumue+qe+8gVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIldlbGNvbWUgdG8gc2ZkaXNrICglcykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NAorIywgZnV6enkKK21zZ2lkICJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIKK21zZ3N0ciAi5qqi5p+l5piv5ZCm5rKS5pyJ5Lq654++5Zyo5q2j5L2/55So6YCZ5YCL56OB56Kf4oCmXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NworbXNnaWQgIiIKKyIgRkFJTEVEXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjAwCisjLCBmdXp6eQorbXNnaWQgIiIKKyJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZSAtIHJlcGFydGl0aW9uaW5nIGlzIHByb2JhYmx5IGEgYmFkIGlkZWEuXG4iCisiVW1vdW50IGFsbCBmaWxlIHN5c3RlbXMsIGFuZCBzd2Fwb2ZmIGFsbCBzd2FwIHBhcnRpdGlvbnMgb24gdGhpcyBkaXNrLlxuIgorIlVzZSB0aGUgLS1uby1yZXJlYWQgZmxhZyB0byBzdXBwcmVzcyB0aGlzIGNoZWNrLlxuIgorbXNnc3RyICIiCisiXG4iCisi6YCZ5YCL56OB56Kf55uu5YmN5Zyo5L2/55So5LitIC0g6YeN5paw6Kit5a6a5YiG5Ymy5Y2A5Y+v6IO95LiN5piv5YCL5aW95Li75oSP44CCXG4iCisi5Y246LyJ5omA5pyJ5qqU5qGI57O757Wx77yM5Lim6Zec6ZaJ6YCZ5YCL56OB56Kf5LiK55qE5omA5pyJ5Lqk5o+b5YiG5Ymy5Y2A44CCXG4iCisi5L2/55SoIC0tbm8tcmVyZWFkIOaXl+aomeS7peaKkeWItumAmeWAi+aqouafpeOAglxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MDUKKyMsIGZ1enp5Cittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIGZsYWcgdG8gb3ZlcnJ1bGUgYWxsIGNoZWNrcy4iCittc2dzdHIgIuS9v+eUqCAtLWZvcmNlIOaXl+aomeS7pemngeWbnuaJgOacieaqouafpeOAglxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MDcKKyMsIGZ1enp5Cittc2dpZCAiIgorIiBPS1xuIgorIlxuIgorbXNnc3RyICIlc++8mueiuuWumlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzYKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIk9sZCBzaXR1YXRpb246IgorbXNnc3RyICLoiIrnmoTmg4Xms4HvvJpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKyJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY1NworIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiVHlwZSAnaGVscCcgdG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIuWYl+ippuOAjiVzIC0taGVscOOAj+S7peeNsuW+l+abtOWkmuizh+ioiuOAglxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NzUKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgdXNlZC4iCittc2dzdHIgIumAmeWAi+WIhuWJsuWNgOW3suWcqOS9v+eUqOS4rSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzAzCisjLCBmdXp6eQorbXNnaWQgIkRvbmUuXG4iCittc2dzdHIgIuWujOaIkOOAglxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MTUKKyMsIGZ1enp5Cittc2dpZCAiSWdub3JpbmcgcGFydGl0aW9uLiIKK21zZ3N0ciAi5bey6YG45YiG5Ymy5Y2AICVkXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcyNAorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgaGVhZGVycywgZGlzayBsYWJlbCBub3QgY3JlYXRlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkICMlZCBwYXJ0aXRpb24iCittc2dzdHIgIuWKoOWFpeWIhuWJsuaZguWkseaVlyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzYzCittc2dpZCAiU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzcyCisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJOZXcgc2l0dWF0aW9uOiIKK21zZ3N0ciAi5paw55qE5oOF5rOB77yaXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc4MQorIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byB3cml0ZSB0aGlzIHRvIGRpc2s/IgorbXNnc3RyICLmgqjopoHlsIfpgJnlgIvlr6vlhaXno4Hnop/ll47vvJ9beW5xXSAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc5MworbXNnaWQgIkxlYXZpbmcuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXY+IFtbLU5dIDxwYXJ0Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBb6YG46aCFXSBbPGxvb3BkZXY+XVxuIgorIiAlMSRzIFvpgbjpoIVdIC1mfDxsb29wZGV2PjzmqpTmoYg+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMgorbXNnaWQgIiIKKyJcbiIKKyJDb21tYW5kczpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTMKK21zZ2lkICIgLUEsIC0tYWN0aXZhdGUgPGRldj4gWzxwYXJ0PiAuLi5dIGxpc3Qgb3Igc2V0IGJvb3RhYmxlIE1CUiBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE0CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kdW1wIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgKHVzYWJsZSBmb3IgbGF0ZXIgaW5wdXQpXG4iCittc2dzdHIgIiAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIOS4jeW8leiogOi8uOWHulxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTUKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSBpbiBKU09OIGZvcm1hdFxuIgorbXNnc3RyICIgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICDkuI3lvJXoqIDovLjlh7pcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE2Cittc2dpZCAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxkZXY+IC4uLl0gICBsaXN0IGdlb21ldHJ5IG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCBbPGRldj4gLi4uXSAgICAgICAgICAgIGxpc3QgcGFydGl0aW9ucyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAg6Kit5a6a5ZCM5L2N5Yiw54ShXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxOAorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbGlzdC1mcmVlIFs8ZGV2PiAuLi5dICAgICAgIGxpc3QgdW5wYXJ0aXRpb25lZCBmcmVlIGFyZWFzIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICDoqK3lrprlkIzkvY3liLDnhKFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODE5CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZW9yZGVyIDxkZXY+ICAgICAgICAgICAgICAgZml4IHBhcnRpdGlvbnMgb3JkZXIgKGJ5IHN0YXJ0IG9mZnNldClcbiIKK21zZ3N0ciAiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAg5oyH5a6a5Lim5YiX5Z+gIGlycVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjAKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNob3ctc2l6ZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHNpemVzIG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICDmuKzoqabnlKjmlrwgZ2V0b3B0ICgxKSDniYjmnKxcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIxCisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJlY29nbml6ZWQgdHlwZXMgKHNlZSAtWClcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAg6YeN572u6YCa6KiK5Z+gXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyMgorIywgZnV6enkKK21zZ2lkICIgLVYsIC0tdmVyaWZ5IFs8ZGV2PiAuLi5dICAgICAgICAgIHRlc3Qgd2hldGhlciBwYXJ0aXRpb25zIHNlZW0gY29ycmVjdFxuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICDph43nva7pgJroqIrln6BcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODIzCittc2dpZCAiICAgICAtLWRlbGV0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gICBkZWxldGUgYWxsIG9yIHNwZWNpZmllZCBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI2Cittc2dpZCAiIC0tcGFydC1sYWJlbCA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGxhYmVsXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI3Cittc2dpZCAiIC0tcGFydC10eXBlIDxkZXY+IDxwYXJ0PiBbPHR5cGU+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjgKKyMsIGZ1enp5Cittc2dpZCAiIC0tcGFydC11dWlkIDxkZXY+IDxwYXJ0PiBbPHV1aWQ+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHV1aWRcbiIKK21zZ3N0ciAiICAgIC1jIFvmiJYgLS1pZF3vvJogICAgICAg5Y2w5Ye65oiW6K6K5pu05YiG5Ymy5Y2A6K2Y5Yil6JmfIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjkKK21zZ2lkICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gYXR0cmlidXRlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzMgorIywgZnV6enkKK21zZ2lkICIgPGRldj4gICAgICAgICAgICAgICAgICAgICBkZXZpY2UgKHVzdWFsbHkgZGlzaykgcGF0aFxuIgorbXNnc3RyICIgLWggICAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzMKKyMsIGZ1enp5Cittc2dpZCAiIDxwYXJ0PiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgICAgLU4jIO+8miAgICAgICAgICAgICAgIOWPquiuiuabtOe3qOiZn+eCuiAjIOeahOWIhuWJsuWNgCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM0Cittc2dpZCAiIDx0eXBlPiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIHR5cGUsIEdVSUQgZm9yIEdQVCwgaGV4IGZvciBNQlJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzcKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgYXBwZW5kIHBhcnRpdGlvbnMgdG8gZXhpc3RpbmcgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIOaMh+WumuS4puWIl+WfoCBpcnFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM4CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1iYWNrdXAgICAgICAgICAgICAgIGJhY2t1cCBwYXJ0aXRpb24gdGFibGUgc2VjdG9ycyAoc2VlIC1PKVxuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAg6Kit5a6a5ZCM5L2N5Yiw54ShXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzOQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAg5YiX5Y2w6Kmz57Sw55qE6KiK5oGv5Yiw5qiZ5rqW5YuY6KqkXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MAorbXNnaWQgIiAgICAgLS1tb3ZlLWRhdGFbPTx0eXBlc2NyaXB0Pl0gbW92ZSBwYXJ0aXRpb24gZGF0YSBhZnRlciByZWxvY2F0aW9uIChyZXF1aXJlcyAtTilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDEKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIKK21zZ3N0ciAi5oKo5Y+v5Lul5YGc55So5omA5pyJ55qE5LiA6Ie05oCn5qqi5p+l6JeJ55Sx77yaIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAg5bu656uL6KiK5oGv5L2H5YiXXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NQorIywgZnV6enkKK21zZ2lkICIgLU4sIC0tcGFydG5vIDxudW0+ICAgICAgICBzcGVjaWZ5IHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAg5oyH5a6a5Lim5YiX5Z+gIGlycVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDYKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgd3JpdGUgdG8gZGV2aWNlXG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICDoqK3lrprlkIzkvY3liLDnhKFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBkZXZpY2UgaXMgaW4gdXNlXG4iCittc2dzdHIgIiAtYyAgICAgICAgICAg5riF56m66J6i5bmV5LmL5YmN6aGv56S6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm8tdGVsbC1rZXJuZWwgICAgICBkbyBub3QgdGVsbCBrZXJuZWwgYWJvdXQgY2hhbmdlc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgIOS4jeWIhuWJsumVt+WIl1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDkKK21zZ2lkICIgLU8sIC0tYmFja3VwLWZpbGUgPHBhdGg+ICBvdmVycmlkZSBkZWZhdWx0IGJhY2t1cCBmaWxlIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTAKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAg55+t6YG46aCF54K66L6o6K2Y55qEXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MQorIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBzdXBwcmVzcyBleHRyYSBpbmZvIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgICAtcSAgW+aIliAtLXF1aWV0Xe+8miAgICAg5oqR5Yi26K2m5ZGK6KiK5oGvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTIKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAg5bu656uL6KiK5oGv5L2H5YiXXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NAorIywgZnV6enkKK21zZ2lkICIgLVgsIC0tbGFiZWwgPG5hbWU+ICAgICAgICBzcGVjaWZ5IGxhYmVsIHR5cGUgKGRvcywgZ3B0LCAuLi4pXG4iCittc2dzdHIgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIOaMh+WumuS4puWIl+WfoCBpcnFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU1Cittc2dpZCAiIC1ZLCAtLWxhYmVsLW5lc3RlZCA8bmFtZT4gc3BlY2lmeSBuZXN0ZWQgbGFiZWwgdHlwZSAoZG9zLCBic2QpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU3Cittc2dpZCAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgZGVwcmVjYXRlZCwgYWxpYXMgdG8gLS1zaG93LWdlb21ldHJ5XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU4CisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiIKK21zZ3N0ciAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAg5YiX5Y2w5Y+q5pyJ6LOH6KiK6Zec5pa85Y+W5qij5q2l6amfXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OQorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IHNlY3RvciB1bml0IGlzIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICDliJfljbDlj6rmnInos4foqIrpl5zmlrzlj5bmqKPmraXpqZ9cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYzIGxvZ2luLXV0aWxzL2NoZm4uYzoxMDIgbG9naW4tdXRpbHMvY2hzaC5jOjc5CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgLXYsIC0tdmVyc2lvbiAg6Ly45Ye654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE5NzMKK21zZ2lkICItLWlkIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk4OQorbXNnaWQgIi0tc2hvdy1wdC1nZW9tZXRyeSBpcyBubyBtb3JlIGltcGxlbWVudGVkLiBVc2luZyAtLXNob3ctZ2VvbWV0cnkuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAwMAorbXNnaWQgIi0tTGludXggb3B0aW9uIGlzIHVubmVjZXNzYXJ5IGFuZCBkZXByZWNhdGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgdW5pdCAnJWMnIgorbXNnc3RyICLkuI3lj5fmlK/mj7TnmoTlvJXmlbjvvJolcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDMyIGluY2x1ZGUvYy5oOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzXG4iCittc2dzdHIgIiVzIOS+huiHqiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIxMDkKK21zZ2lkICItLW1vdmVkYXRhIHJlcXVpcmVzIC1OIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIFVVSUQ6ICVzIgorbXNnc3RyICLliZbmnpAgVVVJRCDmmYLlpLHmlZfvvJolcyIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBVVUlEIgorbXNnc3RyICIlc++8mueEoeazleWwi+aMh+WIsOS6pOaPmyBVVUlEIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgVVVJRCIKK21zZ3N0ciAiJXPvvJrnhKHms5Xlr6vlhaUgVVVJRCIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBsYWJlbCAiCittc2dzdHIgIiVz77ya54Sh5rOV5bCL5oyH5Yiw5Lqk5o+b5qiZ57GkICIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICJsYWJlbCBpcyB0b28gbG9uZy4gVHJ1bmNhdGluZyBpdCB0byAnJXMnIgorbXNnc3RyICLmqJnnsaTlpKrplbfjgILlsIflroPmiKrmlrfngrrjgIwlc+OAjSIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIGxhYmVsIgorbXNnc3RyICIlc++8mueEoeazleWvq+WFpeaomeexpCIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjEKK21zZ2lkICJEaXNwbGF5IG9yIGNoYW5nZSB0aGUgbGFiZWwgb3IgVVVJRCBvZiBhIHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyNAorIywgZnV6enkKK21zZ2lkICIiCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gc3BlY2lmeSBhIG5ldyBsYWJlbFxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgIHNwZWNpZnkgYSBuZXcgdXVpZFxuIgorbXNnc3RyICIiCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4g5oyH5a6a5paw55qE5qiZ6LK8XG4iCisiIC1VLCAtLXV1aWQ8dXVpZD4gIOaMh+WumuaWsOeahCB1dWlkXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTY3Cittc2dpZCAiaWdub3JlIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQpIgorbXNnc3RyICLlv73nlaUgLVUgKFVVSURzIOS4jeWPl+aUr+aPtCkiCisKKyM6IGluY2x1ZGUvYy5oOjI5OQorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLnlKjms5XvvJpcbiIKKworIzogaW5jbHVkZS9jLmg6MzAwCittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLpgbjpoIXvvJpcbiIKKworIzogaW5jbHVkZS9jLmg6MzAyCisjLCBmdXp6eQorbXNnaWQgIiAtaCwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAg6aGv56S66YCZ5Lu96Kqq5piO54S25b6M6Zui6ZaLXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMwMworIywgZnV6enkKK21zZ2lkICIgLVYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1WLCAtLXZlcnNpb24gIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorCisjOiBpbmNsdWRlL2MuaDozMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJGb3IgbW9yZSBkZXRhaWxzIHNlZSAlcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIuS7peeNsuW+l+abtOWkmue0sOevgOWPg+eciyAlc+OAglxuIgorCisjOiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDYgaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzMKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTIgc3lzLXV0aWxzL3J0Y3dha2UuYzoyODAgdGVybS11dGlscy9zZXR0ZXJtLmM6ODA1CisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE1NworIywgZnV6enkKK21zZ2lkICJ3cml0ZSBlcnJvciIKK21zZ3N0ciAi5a+r5YWl6Yyv6KqkIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI3CisjLCBmdXp6eQorbXNnaWQgImNvbG9ycyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICLpoJDoqK3mnIPmi5LntZXlvp4gJTIkcyDnmbvlhaXliLAgJTEkc+OAglxuIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI5CisjLCBmdXp6eQorbXNnaWQgImNvbG9ycyBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAi6aCQ6Kit5pyD5ouS57WV5b6eICUyJHMg55m75YWl5YiwICUxJHPjgIJcbiIKKworIzogaW5jbHVkZS9lbnYuaDoxOCBsaWIvcGFnZXIuYzoxNTEgbG9naW4tdXRpbHMvbG9naW4uYzoxMDUyCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwNTYgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTI5CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICLoqK3lrpogJXMg6LOH5rqQ6ZmQ5Yi25pmC5aSx5pWXIgorCisjOiBpbmNsdWRlL29wdHV0aWxzLmg6ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGVzZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmU6IgorbXNnc3RyICItLW5yIOWSjCA8cGFydGl0aW9uPiDlvbzmraTkupLmlqUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEKK21zZ2lkICJFbXB0eSIKK21zZ3N0ciAi56m6IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyCittc2dpZCAiRkFUMTIiCittc2dzdHIgIkZBVDEyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozCittc2dpZCAiWEVOSVggcm9vdCIKK21zZ3N0ciAiWEVOSVggcm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NAorbXNnaWQgIlhFTklYIHVzciIKK21zZ3N0ciAiWEVOSVggdXNyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1Cittc2dpZCAiRkFUMTYgPDMyTSIKK21zZ3N0ciAiRkFUMTYgPDMyTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NgorbXNnaWQgIkV4dGVuZGVkIgorbXNnc3RyICLlu7bkvLgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcKK21zZ2lkICJGQVQxNiIKK21zZ3N0ciAiRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgKKyMsIGZ1enp5Cittc2dpZCAiSFBGUy9OVEZTL2V4RkFUIgorbXNnc3RyICJIUEZTL05URlMvZXhGQVQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkKK21zZ2lkICJBSVgiCittc2dzdHIgIkFJWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAKK21zZ2lkICJBSVggYm9vdGFibGUiCittc2dzdHIgIkFJWCDlj6/plovmqZ8iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjExCittc2dpZCAiT1MvMiBCb290IE1hbmFnZXIiCittc2dzdHIgIk9TLzIg6ZaL5qmf566h55CG5ZOhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMgorbXNnaWQgIlc5NSBGQVQzMiIKK21zZ3N0ciAiVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMworbXNnaWQgIlc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNAorbXNnaWQgIlc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNQorbXNnaWQgIlc5NSBFeHQnZCAoTEJBKSIKK21zZ3N0ciAiVzk1IEV4dCdkIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNgorbXNnaWQgIk9QVVMiCittc2dzdHIgIk9QVVMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE3Cittc2dpZCAiSGlkZGVuIEZBVDEyIgorbXNnc3RyICLpmrHol48gRkFUMTIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE4Cittc2dpZCAiQ29tcGFxIGRpYWdub3N0aWNzIgorbXNnc3RyICJDb21wYXEg6Ki65pa3IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOQorbXNnaWQgIkhpZGRlbiBGQVQxNiA8MzJNIgorbXNnc3RyICLpmrHol48gRkFUMTYgPDMyTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjAKK21zZ2lkICJIaWRkZW4gRkFUMTYiCittc2dzdHIgIumaseiXjyBGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjEKK21zZ2lkICJIaWRkZW4gSFBGUy9OVEZTIgorbXNnc3RyICLpmrHol48gSFBGUy9OVEZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMgorbXNnaWQgIkFTVCBTbWFydFNsZWVwIgorbXNnc3RyICJBU1Qg5pm65oWn5LyR55ygIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMworbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIiCittc2dzdHIgIumaseiXjyBXOTUgRkFUMzIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI0Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAi6Zqx6JePIFc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjUKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICLpmrHol48gVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNgorbXNnaWQgIk5FQyBET1MiCittc2dzdHIgIk5FQyBET1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI3CisjLCBmdXp6eQorbXNnaWQgIkhpZGRlbiBOVEZTIFdpblJFIgorbXNnc3RyICLpmrHol48gTlRGUyBXaW5SRSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjgKK21zZ2lkICJQbGFuIDkiCittc2dzdHIgIlBsYW4gOSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjkKK21zZ2lkICJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIKK21zZ3N0ciAiUGFydGl0aW9uTWFnaWMg5b6p5Y6fIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMAorbXNnaWQgIlZlbml4IDgwMjg2IgorbXNnc3RyICJWZW5peCA4MDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzEKK21zZ2lkICJQUEMgUFJlUCBCb290IgorbXNnc3RyICJQUEMgUFJlUCDplovmqZ8iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMyCittc2dpZCAiU0ZTIgorbXNnc3RyICJTRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMzCittc2dpZCAiUU5YNC54IgorbXNnc3RyICJRTlg0LngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM0Cittc2dpZCAiUU5YNC54IDJuZCBwYXJ0IgorbXNnc3RyICJRTlg0Lngg56ys5LqM6YOo5YiGIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNQorbXNnaWQgIlFOWDQueCAzcmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IOesrOS4iemDqOWIhiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzYKK21zZ2lkICJPblRyYWNrIERNIgorbXNnc3RyICJPblRyYWNrIERNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNworbXNnaWQgIk9uVHJhY2sgRE02IEF1eDEiCittc2dzdHIgIk9uVHJhY2sgRE02IEF1eDEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM4Cittc2dpZCAiQ1AvTSIKK21zZ3N0ciAiQ1AvTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzkKK21zZ2lkICJPblRyYWNrIERNNiBBdXgzIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MAorbXNnaWQgIk9uVHJhY2tETTYiCittc2dzdHIgIk9uVHJhY2tETTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQxCittc2dpZCAiRVotRHJpdmUiCittc2dzdHIgIkVaLURyaXZlIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MgorbXNnaWQgIkdvbGRlbiBCb3ciCittc2dzdHIgIkdvbGRlbiBCb3ciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQzCittc2dpZCAiUHJpYW0gRWRpc2siCittc2dzdHIgIlByaWFtIEVkaXNrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MQorIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTkKK21zZ2lkICJTcGVlZFN0b3IiCittc2dzdHIgIlNwZWVkU3RvciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDUKK21zZ2lkICJHTlUgSFVSRCBvciBTeXNWIgorbXNnc3RyICJHTlUgSFVSRCDmiJYgU3lzViIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDYKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAyODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDcKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAzODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDM4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDgKK21zZ2lkICJEaXNrU2VjdXJlIE11bHRpLUJvb3QiCittc2dzdHIgIkRpc2tTZWN1cmUg5aSa56iu6ZaL5qmfIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OQorbXNnaWQgIlBDL0lYIgorbXNnc3RyICJQQy9JWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTAKK21zZ2lkICJPbGQgTWluaXgiCittc2dzdHIgIuiIiueJiCBNaW5peCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTEKK21zZ2lkICJNaW5peCAvIG9sZCBMaW51eCIKK21zZ3N0ciAiTWluaXggLyDoiIrniYggTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUyCittc2dpZCAiTGludXggc3dhcCAvIFNvbGFyaXMiCittc2dzdHIgIkxpbnV4IOS6pOaPm+WNgC8gU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTMKK21zZ2lkICJMaW51eCIKK21zZ3N0ciAiTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU0Cittc2dpZCAiT1MvMiBoaWRkZW4gb3IgSW50ZWwgaGliZXJuYXRpb24iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTcKK21zZ2lkICJMaW51eCBleHRlbmRlZCIKK21zZ3N0ciAiTGludXgg5pO05bGVIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OQorbXNnaWQgIk5URlMgdm9sdW1lIHNldCIKK21zZ3N0ciAiTlRGUyDljbflhorpm4YiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYwCittc2dpZCAiTGludXggcGxhaW50ZXh0IgorbXNnc3RyICJMaW51eCDntJTmloflrZciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYxIGxpYmZkaXNrL3NyYy9ncHQuYzoyMDUgbGliZmRpc2svc3JjL3NnaS5jOjYzCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTQKK21zZ2lkICJMaW51eCBMVk0iCittc2dzdHIgIkxpbnV4IExWTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjIKK21zZ2lkICJBbW9lYmEiCittc2dzdHIgIkFtb2ViYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjMKK21zZ2lkICJBbW9lYmEgQkJUIgorbXNnc3RyICJBbW9lYmEgQkJUIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NAorbXNnaWQgIkJTRC9PUyIKK21zZ3N0ciAiQlNEL09TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NQorbXNnaWQgIklCTSBUaGlua3BhZCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiSUJNIFRoaW5rcGFkIGhpYmVybmF0aW9uIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NgorbXNnaWQgIkZyZWVCU0QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY3Cittc2dpZCAiT3BlbkJTRCIKK21zZ3N0ciAiT3BlbkJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjgKK21zZ2lkICJOZVhUU1RFUCIKK21zZ3N0ciAiTmVYVFNURVAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY5Cittc2dpZCAiRGFyd2luIFVGUyIKK21zZ3N0ciAiRGFyd2luIFVGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzAKK21zZ2lkICJOZXRCU0QiCittc2dzdHIgIk5ldEJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzEKK21zZ2lkICJEYXJ3aW4gYm9vdCIKK21zZ3N0ciAiRGFyd2luIOmWi+apnyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzIKK21zZ2lkICJIRlMgLyBIRlMrIgorbXNnc3RyICJIRlMgLyBIRlMrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MworbXNnaWQgIkJTREkgZnMiCittc2dzdHIgIkJTREkgZnMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc0Cittc2dpZCAiQlNESSBzd2FwIgorbXNnc3RyICJCU0RJIOS6pOaPm+WNgCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzUKK21zZ2lkICJCb290IFdpemFyZCBoaWRkZW4iCittc2dzdHIgIumWi+apn+eyvumdiOmaseiXjyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzYKKyMsIGZ1enp5Cittc2dpZCAiQWNyb25pcyBGQVQzMiBMQkEiCittc2dzdHIgIlc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzcgbGliZmRpc2svc3JjL2dwdC5jOjIzMAorbXNnaWQgIlNvbGFyaXMgYm9vdCIKK21zZ3N0ciAiU29sYXJpcyDplovmqZ8iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc4Cittc2dpZCAiU29sYXJpcyIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzkKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xMikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTEyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODAKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODEKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTE2KSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODIKK21zZ2lkICJTeXJpbngiCittc2dzdHIgIlN5cmlueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODMKK21zZ2lkICJOb24tRlMgZGF0YSIKK21zZ3N0ciAiTm9uLUZTIOizh+aWmSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiQ1AvTSAvIENUT1MgL+KApiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODYKK21zZ2lkICJEZWxsIFV0aWxpdHkiCittc2dzdHIgIkRlbGwg5YWs55So56iL5byPIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NworbXNnaWQgIkJvb3RJdCIKK21zZ3N0ciAiQm9vdEl0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4OAorbXNnaWQgIkRPUyBhY2Nlc3MiCittc2dzdHIgIkRPUyDlrZjlj5YiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkwCittc2dpZCAiRE9TIFIvTyIKK21zZ3N0ciAiRE9TIFIvTyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTMKKyMsIGZ1enp5Cittc2dpZCAiUnVmdXMgYWxpZ25tZW50IgorbXNnc3RyICLnrKzkuIDlgIvlvJXmlbgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk0Cittc2dpZCAiQmVPUyBmcyIKK21zZ3N0ciAiQmVPUyBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTYKK21zZ2lkICJFRkkgKEZBVC0xMi8xNi8zMikiCittc2dzdHIgIkVGSSAoRkFULTEyLzE2LzMyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTcKK21zZ2lkICJMaW51eC9QQS1SSVNDIGJvb3QiCittc2dzdHIgIkxpbnV4L1BBLVJJU0Mg6ZaL5qmfIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDAKK21zZ2lkICJET1Mgc2Vjb25kYXJ5IgorbXNnc3RyICJET1Mg5qyh57SaIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDEKK21zZ2lkICJWTXdhcmUgVk1GUyIKK21zZ3N0ciAiVk13YXJlIFZNRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMgorbXNnaWQgIlZNd2FyZSBWTUtDT1JFIgorbXNnc3RyICJWTXdhcmUgVk1LQ09SRSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAzIGxpYmZkaXNrL3NyYy9zdW4uYzo1NQorbXNnaWQgIkxpbnV4IHJhaWQgYXV0b2RldGVjdCIKK21zZ3N0ciAiTGludXggcmFpZCDoh6rli5XlgbXmuKwiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwNgorbXNnaWQgIkxBTnN0ZXAiCittc2dzdHIgIkxBTnN0ZXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwNworbXNnaWQgIkJCVCIKK21zZ3N0ciAiQkJUIgorCisjOiBsaWIvYmxrZGV2LmM6MjgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlcyBpcyBtaXNhbGlnbmVkIgorbXNnc3RyICLorablkYrvvJolcyDooqsgbWlzYWxpZ25lZCIKKworIzogbGliZmRpc2svc3JjL2FsaWdubWVudC5jOjY3MgorIywgZnV6enkKK21zZ2lkICJDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICLlkbzlj6sgaW9jdGwoKSDku6Xph43mlrDoroDlj5bliIblibLooajjgIJcbiIKKworIzogbGliZmRpc2svc3JjL2FsaWdubWVudC5jOjY4MQorIywgZnV6enkKK21zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLiIKK21zZ3N0ciAi6YeN5paw6K6A5Y+W5YiG5Ymy6KGo4oCmXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYzo2ODMKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgdGFibGUuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdCBvciBhZnRlciB5b3UgcnVuIHBhcnRwcm9iZSg4KSBvciBrcGFydHgoOCkuIgorbXNnc3RyICIiCisiXG4iCisi6K2m5ZGK77yaUmUtcmVhZGluZyDliIblibLooajlpLHmlZfnmoToiIfpjK/oqqQgJWTvvJolbeOAglxuIgorIuWFp+aguOS7jeeEtuS9v+eUqOiIiueahOihqOagvOOAguaWsOeahOihqOagvOWwh+iiq+S9v+eUqOaWvFxuIgorIuS4i+S4gOWAi+mHjeaWsOmWi+apn+aIluS5i+W+jOaCqOmBi+ihjCBwYXJ0cHJvYmUgKDgpIOaIliBrcGFydHggKDgpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0NzIgbGliZmRpc2svc3JjL2Fzay5jOjQ4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0ZWQgcGFydGl0aW9uICVqdSIKK21zZ3N0ciAi5bey6YG45YiG5Ymy5Y2AICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0NzUKKyMsIGZ1enp5Cittc2dpZCAiTm8gcGFydGl0aW9uIGlzIGRlZmluZWQgeWV0ISIKK21zZ3N0ciAi5bCa54Sh5YiG5Ymy5Y2A6KKr5a6a576p77yBXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAiTm8gZnJlZSBwYXJ0aXRpb24gYXZhaWxhYmxlISIKK21zZ3N0ciAi5rKS5pyJ5Y+v55So55qE56OB5Y2A5a2Y5ZyoXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0OTcKK21zZ2lkICJQYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICLliIblibLljYDnt6jomZ8iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo5OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgcGFydGl0aW9uICVkIG9mIHR5cGUgJyVzJyBhbmQgb2Ygc2l6ZSAlcy4iCittc2dzdHIgIuWIhuWJsiAlZCDnmoTlnovmhYsgJXMg5ZKM55qE5aSn5bCPICVzIOaYr+ioreWumlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXpkOiBoYXMgaW52YWxpZCBzdGFydGluZyBzZWN0b3IgMC4iCittc2dzdHIgIuWIhuWJsuWNgCAlcyDlhbfmnInnhKHmlYjnmoTplovlp4vno4HljYAgMOOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGVyZSBpcyBubyAqQlNEIHBhcnRpdGlvbiBvbiAlcy4iCittc2dzdHIgIuaykuacieS7u+S9lSAqQlNEIOWIhuWJsuS9jeaWvCAlc+OAglxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MjU5IGxpYmZkaXNrL3NyYy9kb3MuYzo5MzMKKyMsIGZ1enp5Cittc2dpZCAiRmlyc3QgY3lsaW5kZXIiCittc2dzdHIgIuejgeafsSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5MiBsaWJmZGlzay9zcmMvZG9zLmM6MTE2MQorIywgZnV6enkKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIuacgOW+jCAlMSRzLCArJTIkcyDmiJYgK+Wkp+Wwj3tLLE0sR30iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTcgbGliZmRpc2svc3JjL2Rvcy5jOjExNjYgbGliZmRpc2svc3JjL2dwdC5jOjIyNTUKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIuacgOW+jCAlMSRzLCArJTIkcyDmiJYgK+Wkp+Wwj3tLLE0sR30iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZXZpY2UgJXMgZG9lcyBub3QgY29udGFpbiBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAiJXMg5LiN5ZCr5Lu75L2V56OB56Kf5qiZ57Gk44CCXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODMKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gY3JlYXRlIGEgQlNEIGRpc2tsYWJlbD8iCittc2dzdHIgIuaCqOimgeW7uueri+ejgeein+aomeexpOWXju+8nyh5L24pICIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ0OQorIywgZnV6enkKK21zZ2lkICJEaXNrIgorbXNnc3RyICLno4Hnop/vvJolLipzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NTYKK21zZ2lkICJQYWNrbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDYzIGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE3Cittc2dpZCAiRmxhZ3MiCittc2dzdHIgIuWxrOaAp+aXl+aomSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NgorbXNnaWQgIiByZW1vdmFibGUiCittc2dzdHIgIiDlj6/np7vpmaTnmoQiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjcKK21zZ2lkICIgZWNjIgorbXNnc3RyICIgZWNjIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY4Cittc2dpZCAiIGJhZHNlY3QiCittc2dzdHIgIiDkuI3oia/no4HljYAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NzYKKyMsIGZ1enp5Cittc2dpZCAiQnl0ZXMvU2VjdG9yIgorbXNnc3RyICLkvY3lhYPntYQv56OB5Y2AIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDgxCisjLCBmdXp6eQorbXNnaWQgIlRyYWNrcy9DeWxpbmRlciIKK21zZ3N0ciAi56OB6LuML+ejgeafsSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4NgorIywgZnV6enkKK21zZ2lkICJTZWN0b3JzL0N5bGluZGVyIgorbXNnc3RyICLno4HljYAv56OB5p+xIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDkxIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE4IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzAzCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NyBsaWJmZGlzay9zcmMvc3VuLmM6MTk2IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTEzCittc2dpZCAiQ3lsaW5kZXJzIgorbXNnc3RyICLno4Hmn7EiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTYgbGliZmRpc2svc3JjL3N1bi5jOjc2MAorIywgZnV6enkKK21zZ2lkICJScG0iCittc2dzdHIgInJwbSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMSBsaWJmZGlzay9zcmMvc2dpLmM6MjkyIGxpYmZkaXNrL3NyYy9zdW4uYzo3ODAKKyMsIGZ1enp5Cittc2dpZCAiSW50ZXJsZWF2ZSIKK21zZ3N0ciAi5Lqk6YyvIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTA2CisjLCBmdXp6eQorbXNnaWQgIlRyYWNrc2tldyIKK21zZ3N0ciAidHJhY2tza2V3IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTExCisjLCBmdXp6eQorbXNnaWQgIkN5bGluZGVyc2tldyIKK21zZ3N0ciAiY3lsaW5kZXJza2V3IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTE2CisjLCBmdXp6eQorbXNnaWQgIkhlYWRzd2l0Y2giCittc2dzdHIgImhlYWRzd2l0Y2giCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MjEKKyMsIGZ1enp5Cittc2dpZCAiVHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAi6LuM5bCN6LuM5pCc5bCLIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjExCittc2dpZCAiYnl0ZXMvc2VjdG9yIgorbXNnc3RyICLkvY3lhYPntYQv56OB5Y2AIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE0Cittc2dpZCAic2VjdG9ycy90cmFjayIKK21zZ3N0ciAi56OB5Y2AL+ejgei7jCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNQorbXNnaWQgInRyYWNrcy9jeWxpbmRlciIKK21zZ3N0ciAi56OB6LuML+ejgeafsSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNgorbXNnaWQgImN5bGluZGVycyIKK21zZ3N0ciAi56OB5p+xIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIwCittc2dpZCAic2VjdG9ycy9jeWxpbmRlciIKK21zZ3N0ciAi56OB5Y2AL+ejgeafsSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMworbXNnaWQgInJwbSIKK21zZ3N0ciAicnBtIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI0Cittc2dpZCAiaW50ZXJsZWF2ZSIKK21zZ3N0ciAi5Lqk6YyvIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI1Cittc2dpZCAidHJhY2tza2V3IgorbXNnc3RyICJ0cmFja3NrZXciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjYKK21zZ2lkICJjeWxpbmRlcnNrZXciCittc2dzdHIgImN5bGluZGVyc2tldyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOAorbXNnaWQgImhlYWRzd2l0Y2giCittc2dzdHIgImhlYWRzd2l0Y2giCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjkKK21zZ2lkICJ0cmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICLou4zlsI3ou4zmkJzlsIsiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RzdHJhcCBmaWxlICVzIHN1Y2Nlc3NmdWxseSBsb2FkZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcDogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKGRlZmF1bHQgJTEkcykiCittc2dzdHIgIuWVn+WLleeoi+W8j++8miVzYm9vdCAtPiBib290JXMgKCVzKe+8miIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcwNAorIywgZnV6enkKK21zZ2lkICJCb290c3RyYXAgb3ZlcmxhcHMgd2l0aCBkaXNrbGFiZWwhIgorbXNnc3RyICLllZ/li5XnqIvlvI/oiIfno4Hnop/mqJnnsaTph43nlorvvIFcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwIGluc3RhbGxlZCBvbiAlcy4iCittc2dzdHIgIuWVn+WLleeoi+W8j+W3suWuieijneaWvCAlc+OAglxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiAgKERvbid0IGZvcmdldCB0byB3cml0ZSB0aGUgJXMgZGlza2xhYmVsIHRvby4pIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiIKK21zZ3N0ciAi56Gs56KfOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTA5IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjY2CisjLCBmdXp6eQorbXNnaWQgIlN5bmNpbmcgZGlza3MuIgorbXNnc3RyICLlkIzmraXno4Hnop/jgIJcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk1MAorbXNnaWQgIkJTRCBsYWJlbCBpcyBub3QgbmVzdGVkIHdpdGhpbiBhIERPUyBwYXJ0aXRpb24uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJTRCBwYXJ0aXRpb24gJyVjJyBsaW5rZWQgdG8gRE9TIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICLpj4jntZAgQlNEIOWIhuWJsuWIsCBub24tQlNEIOWIhuWJsiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMTQKK21zZ2lkICJTbGljZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMQorbXNnaWQgIkZzaXplIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIyCittc2dpZCAiQnNpemUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjMKK21zZ2lkICJDcGciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo2NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zZSBkZXZpY2UgZmFpbGVkIgorbXNnc3RyICIlc++8mmxzZWVrIOWkseaVlyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4MjcKKyMsIGZ1enp5Cittc2dpZCAiY3lsaW5kZXIiCittc2dpZF9wbHVyYWwgImN5bGluZGVycyIKK21zZ3N0clswXSAi56OB5p+xIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjgyOAorIywgZnV6enkKK21zZ2lkICJzZWN0b3IiCittc2dpZF9wbHVyYWwgInNlY3RvcnMiCittc2dzdHJbMF0gIuejgeWNgCIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMTMxCittc2dpZCAiSW5jb21wbGV0ZSBnZW9tZXRyeSBzZXR0aW5nLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE0CisjLCBmdXp6eQorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgaGF2ZSBiZWVuIGRlZmluZWQgYWxyZWFkeS4iCittc2dzdHIgIuaJgOacieS4u+imgeWIhuWJsuWNgOW3suiiq+Wumue+qe+8gVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBleHRlbmRlZCBwYXJ0aXRpb24gdGFibGUgKG9mZnNldD0lanUpIgorbXNnc3RyICIlc++8mueEoeazleiugOWPluWIhuWJsuihqCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjMyOAorIywgZnV6enkKK21zZ2lkICJZb3UgY2FuIHNldCBnZW9tZXRyeSBmcm9tIHRoZSBleHRyYSBmdW5jdGlvbnMgbWVudS4iCittc2dzdHIgIiIKKyIlcyVzLlxuIgorIuaCqOWPr+S7peW+numhjeWkluWHveW8j+mBuOWWruS+huWBmumAmeWAi+OAglxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzMxCittc2dpZCAiRE9TLWNvbXBhdGlibGUgbW9kZSBpcyBkZXByZWNhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzM1CisjLCBmdXp6eQorbXNnaWQgIlRoZSBkZXZpY2UgcHJlc2VudHMgYSBsb2dpY2FsIHNlY3RvciBzaXplIHRoYXQgaXMgc21hbGxlciB0aGFuIHRoZSBwaHlzaWNhbCBzZWN0b3Igc2l6ZS4gQWxpZ25pbmcgdG8gYSBwaHlzaWNhbCBzZWN0b3IgKG9yIG9wdGltYWwgSS9PKSBzaXplIGJvdW5kYXJ5IGlzIHJlY29tbWVuZGVkLCBvciBwZXJmb3JtYW5jZSBtYXkgYmUgaW1wYWN0ZWQuIgorbXNnc3RyICIiCisiXG4iCisi6KOd572u5ZGI54++55qE6YKP6Lyv5Y2A5aSn5bCP5bCP5pa8XG4iCisi5a+m6auU56OB5Y2A5aSn5bCP44CC5bu66K2w5bCN6b2K5Yiw5a+m6auU56OB5Y2AICjmiJbmnIDkvbPljJZcbiIKKyJJL08pIOWkp+Wwj+mCiueVjO+8jOWQpuWJh+aViOiDveS5n+ioseacg+iiq+W9semfv+OAglxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQxCittc2dpZCAiQ3lsaW5kZXJzIGFzIGRpc3BsYXkgdW5pdHMgYXJlIGRlcHJlY2F0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBzaXplIG9mIHRoaXMgZGlzayBpcyAlcyAoJWp1IGJ5dGVzKS4gRE9TIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgY2FuIG5vdCBiZSB1c2VkIG9uIGRyaXZlcyBmb3Igdm9sdW1lcyBsYXJnZXIgdGhhbiAlbHUgYnl0ZXMgZm9yICVsdS1ieXRlIHNlY3RvcnMuIFVzZSBHVUlEIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgKEdQVCkuIgorbXNnc3RyICIiCisiXG4iCisi6K2m5ZGK77ya5aSn5bCP55qE6YCZ5YCL56OB56Kf5pivICVkLiVkIFRCICglbGx1IOS9jeWFg+e1hCnjgIJcbiIKKyJET1Mg5YiG5Ymy6KGo5qC85byP54Sh5rOV5L2/55So55qE5pa856OB56Kf55So5pa86Z+z6YePXG4iCisi5aSn5pa8ICglbGx1IOS9jeWFg+e1hCkg55So5pa8ICVsZC1ieXRlIOejgeWNgOOAguS9v+eUqOmAgOWHuuS6hiAoMSkg5ZKMIEdVSURcbiIKKyLliIblibLooajmoLzlvI8gKEdQVCnjgIJcbiIKKyJcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjUwMworIywgZnV6enkKK21zZ2lkICJCYWQgb2Zmc2V0IGluIHByaW1hcnkgZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAi5Zyo5Li76KaB5pO05YWF5YiG5Ymy5Y2A5Lit55qE5LiN55W25YGP56e75YC8XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk9taXR0aW5nIHBhcnRpdGlvbnMgYWZ0ZXIgIyV6dS4gVGhleSB3aWxsIGJlIGRlbGV0ZWQgaWYgeW91IHNhdmUgdGhpcyBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICIiCisi6K2m5ZGK77ya5b+955WlICMlZCDkuYvlvoznmoTliIblibLljYDjgIJcbiIKKyLlpoLmnpzmgqjlhLLlrZjpgJnlgIvliIblibLooajlsLHmnIPliKrpmaTlroPlgJHjgIJcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRXh0cmEgbGluayBwb2ludGVyIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICLorablkYrvvJrlnKjliIblibLooajkuK3mnInpoY3lpJbnmoTpj4jntZDmjIfmqJkgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZGF0YSBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAi6K2m5ZGK77ya5b+955Wl5YiG5Ymy6KGoICVkIOS4reeahOmhjeWkluizh+aWmVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbWl0dGluZyBlbXB0eSBwYXJ0aXRpb24gKCV6dSkiCittc2dzdHIgIuW/veeVpeepuueahOWIhuWJsiAoJWQpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguIgorbXNnc3RyICLlu7rnq4vmlrDnmoQgRE9TIGRpc2tsYWJlbCDoiIfno4Hnop/orZjliKXnorwgMHglMDh444CCXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2ODUKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXIgdGhlIG5ldyBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIuiuiuabtOejgeein+itmOWIpeeivCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY5MgorIywgZnV6enkKK21zZ2lkICJJbmNvcnJlY3QgdmFsdWUuIgorbXNnc3RyICLnhKHmlYjnmoToqK3lrprlgLwiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gMHglMDh4IHRvIDB4JTA4eC4iCittc2dzdHIgIuejgeein+itmOWIpeeivO+8mjB4JTA4eFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBleHRlbmRlZCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICLlv73nlaXpoY3lpJbnmoTmk7TlhYXliIblibLljYAgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjgwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBmbGFnIDB4JTAyeCUwMnggb2YgRUJSIChmb3IgcGFydGl0aW9uICV6dSkgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIuitpuWRiu+8muWIhuWJsuihqCAlMiRkIOeahOeEoeaViOaXl+aomSAweCUxJDA0eCDlsIfnlLEgdyhyaXRlKSDmiYDkv67mraNcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjkyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgc2VjdG9yICVqdSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICLmlbjlgLzotoXlh7rnr4TlnI3jgIJcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwMjYgbGliZmRpc2svc3JjL2dwdC5jOjIxMzYgbGliZmRpc2svc3JjL3NnaS5jOjgzOQorIzogbGliZmRpc2svc3JjL3N1bi5jOjUxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCittc2dzdHIgIuWIhuWJsuWNgCAlZCDlt7LntpPlrprnvqnjgIIg5Zyo6YeN5paw5Yqg5YWl5LmL5YmN5Yiq6Zmk5a6D44CCXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMDk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWxsdSBpcyBhbHJlYWR5IGFsbG9jYXRlZC4iCittc2dzdHIgIuejgeWNgCAlbGx1IOW3sue2k+mFjee9rlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTEzMyBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0NgorIywgZnV6enkKK21zZ2lkICJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlLiIKK21zZ3N0ciAi5rKS5pyJ5Y+v55So55qE56OB5Y2A5a2Y5ZyoXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICLliqDlhaXpgo/ovK/liIblibLljYAgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGNvbnRhaW5zIHNlY3RvciAwIgorbXNnc3RyICLorablkYrvvJrliIblibLljYAgJWQg5ZCr5pyJ56OB5Y2AIDBcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGhlYWQgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWQiCittc2dzdHIgIuWIhuWJsuWNgCAlZDog56OB6aCtICVkIOWkp+aWvOacgOWkp+WAvCAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTMyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogc2VjdG9yICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIuWIhuWJsuWNgCAlZDog56OB5Y2AICVkIOWkp+aWvOacgOWkp+WAvCAlbGx1XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjeWxpbmRlciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICLliIblibLljYAgJWTvvJrno4Hmn7EgJWQg5aSn5pa85pyA5aSn5YC8ICVsbHVcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHByZXZpb3VzIHNlY3RvcnMgJXUgZGlzYWdyZWVzIHdpdGggdG90YWwgJXUiCittc2dzdHIgIuWIhuWJsuWNgCAlZDog5LmL5YmN56OB5Y2AICVkIOiIh+e4veioiOS4jeS4gOiHtCAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgYmVnaW5uaW5ncyAobm9uLUxpbnV4Pyk6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAi5YiG5Ymy5Y2AICVkIOacieS4jeWQjOeahOWvpumrlC/pgo/ovK/plovlp4vkvY3nva4gKOmdniBMaW51eO+8nynvvJpcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGVuZGluZ3M6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAi5YiG5Ymy5Y2AICVkIOacieS4jeWQjOeahOWvpumrlC/pgo/ovK/ntZDmnZ/kvY3nva7vvJpcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIuWIhuWJsuWNgCAlZCDkuKbpnZ7ntYLmlrzno4Hmn7HpgornlYzjgIJcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGJhZCBzdGFydC1vZi1kYXRhLiIKK21zZ3N0ciAi5YiG5Ymy5Y2A57WQ5bC+5bCP5pa856OB5Y2AIDAiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBvdmVybGFwcyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAi6K2m5ZGK77ya5YiG5Ymy5Y2AICVkIOiIh+WIhuWJsuWNgCAlZCDph43nlorjgIJcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGVtcHR5LiIKK21zZ3N0ciAi5YiG5Ymy5Y2AIChhLSVjKe+8miIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxvZ2ljYWwgcGFydGl0aW9uICV6dTogbm90IGVudGlyZWx5IGluIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICLpgo/ovK/liIblibLljYAgJWQg5Lim6Z2e5a6M5pW06JmV5pa85YiG5Ymy5Y2AICVkIOS4rVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVG90YWwgYWxsb2NhdGVkIHNlY3RvcnMgJWxsdSBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gJWxsdS4iCittc2dzdHIgIumFjee9rueahOejgeWNgOe4veioiCAlbGx1IOWkp+aWvOacgOWkp+WAvCAlbGx1XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJSZW1haW5pbmcgJWxsZCB1bmFsbG9jYXRlZCAlbGQtYnl0ZSBzZWN0b3JzLiIKK21zZ3N0ciAi5YW26aSYICVsbGQgdW5hbGxvY2F0ZWQgJWxkLWJ5dGUg56OB5Y2AXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTMyIGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU0CisjLCBmdXp6eQorbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgIumAmeWAi+WIhuWJsuWNgOW3sue2k+WtmOWcqOOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU3NQorIywgZnV6enkKK21zZ2lkICJUaGUgbWF4aW11bSBudW1iZXIgb2YgcGFydGl0aW9ucyBoYXMgYmVlbiBjcmVhdGVkLiIKK21zZ3N0ciAi5bey5bu656uL5YiG5Ymy5Y2A55qE5pyA5aSn5pW46YePXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTg3CisjLCBmdXp6eQorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4iCittc2dzdHIgIuaJgOacieS4u+imgeWIhuWJsuWNgOaYr+WcqOS4reS9v+eUqFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU4OSBsaWJmZGlzay9zcmMvZG9zLmM6MTYwMAorIywgZnV6enkKK21zZ2lkICJBbGwgc3BhY2UgZm9yIHByaW1hcnkgcGFydGl0aW9ucyBpcyBpbiB1c2UuIgorbXNnc3RyICLmiYDmnInkuLvopoHliIblibLljYDmmK/lnKjkuK3kvb/nlKhcbiIKKworIy4gVFJBTlNMQVRPUlM6IFRyeSB0byBrZWVwIHRoaXMgd2l0aGluIDgwIGNoYXJhY3RlcnMuCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYwMworIywgZnV6enkKK21zZ2lkICJUbyBjcmVhdGUgbW9yZSBwYXJ0aXRpb25zLCBmaXJzdCByZXBsYWNlIGEgcHJpbWFyeSB3aXRoIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIiIKKyLlpoLmnpzmgqjopoHlu7rnq4votoXpgY7lm5vliIblibLljYDvvIzmgqjlv4XpoIjnva7mj5tcbiIKKyLkuLvopoHliIblibLoiIfpgLLpmo7liIblibLlhYjjgIJcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDgKKyMsIGZ1enp5Cittc2dpZCAiQWxsIGxvZ2ljYWwgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiBBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvbi4iCittc2dzdHIgIuaJgOaciemCj+i8r+WIhuWJsuWNgOmDveWcqOS9v+eUqOS4rVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzMAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAi5YiG5Ymy5Y2A57eo6JmfIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlenUgcHJpbWFyeSwgJWQgZXh0ZW5kZWQsICV6dSBmcmVlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjM5CisjLCBmdXp6eQorbXNnaWQgInByaW1hcnkiCittc2dzdHIgIuS4u+imgeeahCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDEKKyMsIGZ1enp5Cittc2dpZCAiZXh0ZW5kZWQiCittc2dzdHIgIuW7tuS8uCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDEKKyMsIGZ1enp5Cittc2dpZCAiY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMiCittc2dzdHIgIuWjnueahOmCj+i8r+WIhuWJsuWNgCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NDMKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCIKK21zZ3N0ciAi6YKP6Lyv55qEIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY0MworIywgZnV6enkKK21zZ2lkICJudW1iZXJlZCBmcm9tIDUiCittc2dzdHIgIiAgIGwgICDpgo/ovK/nmoQgKOW3sue3qOiZn+W+niA1KSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIHR5cGUgYCVjJy4iCittc2dzdHIgIueEoeaViOeahOWIhuWJsuWNgOmhnuWei+OAjiVj44CPXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgd3JpdGUgc2VjdG9yICVqZDogc2VlayBmYWlsZWQiCittc2dzdHIgIueEoeazleWvq+WFpeaMh+S7pOeov+aqlOahiCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE4NTIgbGliZmRpc2svc3JjL2dwdC5jOjEwOTYKKyMsIGZ1enp5Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIgorbXNnc3RyICLno4Hnop/orZjliKXnorzvvJoweCUwOHhcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE5NTkKKyMsIGZ1enp5Cittc2dpZCAiVHlwZSAwIG1lYW5zIGZyZWUgc3BhY2UgdG8gbWFueSBzeXN0ZW1zLiBIYXZpbmcgcGFydGl0aW9ucyBvZiB0eXBlIDAgaXMgcHJvYmFibHkgdW53aXNlLiIKK21zZ3N0ciAiIgorIumhnuWeiyAwIOWwjeaWvOioseWkmuezu+e1seiAjOiogOihqOekuuWJqemkmOepuumWk1xuIgorIijkuKbkuI3ljIXmi6wgTGludXgp44CC5YW35pyJXG4iCisi6aGe5Z6L54K6IDAg55qE5YiG5Ymy5Y2A5Y+v6IO95LiN5aSq5piO5pm644CC5oKo5Y+v5LulXG4iCisi5L2/55So44CMZOOAjeWRveS7pOS+huWIqumZpOWIhuWJsuWNgOOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk2NAorbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdHlwZSBvZiB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIHdoaWNoIGlzIGFscmVhZHkgdXNlZCBieSBsb2dpY2FsIHBhcnRpdGlvbnMuIERlbGV0ZSBsb2dpY2FsIHBhcnRpdGlvbnMgZmlyc3QuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTQzIGxpYmZkaXNrL3NyYy9ncHQuYzoyODIxCisjLCBmdXp6eQorbXNnaWQgIk5vdGhpbmcgdG8gZG8uIE9yZGVyaW5nIGlzIGNvcnJlY3QgYWxyZWFkeS4iCittc2dzdHIgIiIKKyLnhKHkuovlj6/lgZrjgILpoIbluo/lt7LntpPmmK/mraPnorrnmoTjgIJcbiIKKyJcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG5vIGRhdGEgYXJlYS4iCittc2dzdHIgIuWIhuWJsuWNgCAlZCDmspLmnInos4fmlpnljYDln59cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyMjIKK21zZ2lkICJOZXcgYmVnaW5uaW5nIG9mIGRhdGEiCittc2dzdHIgIuaWsOeahOizh+aWmemWi+Wni+mDqOWIhiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyNzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGlzIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIuitpuWRiu+8muWIhuWJsuWNgCAlZCDmmK/mk7TlhYXliIblibLljYBcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICLliIblibLljYAgJWQg55qE57O757Wx6aGe5Z6L5pyq6KKr6K6K5pu077yaJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICLliIfmj5vnm67liY3liIblibLljYDnmoTlsazmgKfml5fmqJkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjk4IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTExIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTUzCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTEwOQorbXNnaWQgIkRldmljZSIKK21zZ3N0ciAi5omA55So6KOd572uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI5OSBsaWJmZGlzay9zcmMvc3VuLmM6NDEKK21zZ2lkICJCb290IgorbXNnc3RyICLlj6/plovmqZ8iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzA1IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU5IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE1Cittc2dpZCAiSWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMDkKK21zZ2lkICJTdGFydC1DL0gvUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMxMAorbXNnaWQgIkVuZC1DL0gvUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMxMSBsaWJmZGlzay9zcmMvZ3B0LmM6MjkyMSBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MQorbXNnaWQgIkF0dHJzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjAKK21zZ2lkICJFRkkgU3lzdGVtIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjIKKyMsIGZ1enp5Cittc2dpZCAiTUJSIHBhcnRpdGlvbiBzY2hlbWUiCittc2dzdHIgIuWIhuWJsuWQjeeosSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MworbXNnaWQgIkludGVsIEZhc3QgRmxhc2giCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2NgorIywgZnV6enkKK21zZ2lkICJCSU9TIGJvb3QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjkKKyMsIGZ1enp5Cittc2dpZCAiU29ueSBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAi6YG45Y+W5Y+v6ZaL5qmf55qE5YiG5YmyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTcwCisjLCBmdXp6eQorbXNnaWQgIkxlbm92byBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAi6YG45Y+W5Y+v6ZaL5qmf55qE5YiG5YmyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczCisjLCBmdXp6eQorbXNnaWQgIlBvd2VyUEMgUFJlUCBib290IgorbXNnc3RyICJQUEMgUFJlUCDplovmqZ8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzYKKyMsIGZ1enp5Cittc2dpZCAiT05JRSBib290IgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc3Cittc2dpZCAiT05JRSBjb25maWciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MAorbXNnaWQgIk1pY3Jvc29mdCByZXNlcnZlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgxCittc2dpZCAiTWljcm9zb2Z0IGJhc2ljIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MgorbXNnaWQgIk1pY3Jvc29mdCBMRE0gbWV0YWRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MworbXNnaWQgIk1pY3Jvc29mdCBMRE0gZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg0Cittc2dpZCAiV2luZG93cyByZWNvdmVyeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg1Cittc2dpZCAiSUJNIEdlbmVyYWwgUGFyYWxsZWwgRnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NgorbXNnaWQgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIkhQLVVYIGRhdGEiCittc2dzdHIgIuWIqumZpOWIhuWJsiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MAorIywgZnV6enkKK21zZ2lkICJIUC1VWCBzZXJ2aWNlIgorbXNnc3RyICLlt7LnhKHlpJrppJjnmoTliIblibLljYAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTMgbGliZmRpc2svc3JjL3NnaS5jOjYxIGxpYmZkaXNrL3NyYy9zdW4uYzo1MgorbXNnaWQgIkxpbnV4IHN3YXAiCittc2dzdHIgIkxpbnV4IHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTQKKyMsIGZ1enp5Cittc2dpZCAiTGludXggZmlsZXN5c3RlbSIKK21zZ3N0ciAi5qqU5qGI57O757Wx5Z6L5oWLIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk1CisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IHNlcnZlciBkYXRhIgorbXNnc3RyICJTdW5PUyDkv53nlZnljYAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTYKK21zZ2lkICJMaW51eCByb290ICh4ODYpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcKK21zZ2lkICJMaW51eCByb290IChBUk0pIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTgKK21zZ2lkICJMaW51eCByb290ICh4ODYtNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTkKK21zZ2lkICJMaW51eCByb290IChBUk0tNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAKK21zZ2lkICJMaW51eCByb290XHQoSUEtNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDEKKyMsIGZ1enp5Cittc2dpZCAiTGludXggcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIOS/neeVmeWNgCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMgorIywgZnV6enkKK21zZ2lkICJMaW51eCBob21lIgorbXNnc3RyICJMaW51eCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMyBsaWJmZGlzay9zcmMvc2dpLmM6NjQKK21zZ2lkICJMaW51eCBSQUlEIgorbXNnc3RyICJMaW51eCBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0CisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IGV4dGVuZGVkIGJvb3QiCittc2dzdHIgIkxpbnV4IOaTtOWxlSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMgorIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIGRhdGEiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTMKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBib290IgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0Qgc3dhcCIKK21zZ3N0ciAiQlNESSDkuqTmj5vljYAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBVRlMiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTYKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBaRlMiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTcKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBWaW51bSIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMAorIywgZnV6enkKK21zZ2lkICJBcHBsZSBIRlMvSEZTKyIKK21zZ3N0ciAiSEZTIC8gSEZTKyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMQorbXNnaWQgIkFwcGxlIFVGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyCittc2dpZCAiQXBwbGUgUkFJRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzCittc2dpZCAiQXBwbGUgUkFJRCBvZmZsaW5lIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjQKK21zZ2lkICJBcHBsZSBib290IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjUKK21zZ2lkICJBcHBsZSBsYWJlbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI2Cittc2dpZCAiQXBwbGUgVFYgcmVjb3ZlcnkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNworbXNnaWQgIkFwcGxlIENvcmUgc3RvcmFnZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMxCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcm9vdCIKK21zZ3N0ciAiU29sYXJpcyDplovmqZ8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMKK21zZ2lkICJTb2xhcmlzIC91c3IgJiBBcHBsZSBaRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNAorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHN3YXAiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzUKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyBiYWNrdXAiCittc2dzdHIgIlNvbGFyaXMg6ZaL5qmfIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM2CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgL3ZhciIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNworIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIC9ob21lIgorbXNnc3RyICJTb2xhcmlzIOmWi+apnyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOAorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIGFsdGVybmF0ZSBzZWN0b3IiCittc2dzdHIgIuWkquWkmuS6pOabv+mAn+W6piIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOQorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDEiCittc2dzdHIgIlN1bk9TIOS/neeVmeWNgCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MAorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDIiCittc2dzdHIgIlN1bk9TIOS/neeVmeWNgCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MQorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDMiCittc2dzdHIgIlN1bk9TIOS/neeVmeWNgCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MgorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDQiCittc2dzdHIgIlN1bk9TIOS/neeVmeWNgCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MworIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDUiCittc2dzdHIgIlN1bk9TIOS/neeVmeWNgCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NgorIywgZnV6enkKK21zZ2lkICJOZXRCU0Qgc3dhcCIKK21zZ3N0ciAiQlNESSDkuqTmj5vljYAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDcKKyMsIGZ1enp5Cittc2dpZCAiTmV0QlNEIEZGUyIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4CisjLCBmdXp6eQorbXNnaWQgIk5ldEJTRCBMRlMiCittc2dzdHIgIk5ldEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OQorbXNnaWQgIk5ldEJTRCBjb25jYXRlbmF0ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MAorbXNnaWQgIk5ldEJTRCBlbmNyeXB0ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MQorIywgZnV6enkKK21zZ2lkICJOZXRCU0QgUkFJRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0Cittc2dpZCAiQ2hyb21lT1Mga2VybmVsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTUKK21zZ2lkICJDaHJvbWVPUyByb290IGZzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTYKKyMsIGZ1enp5Cittc2dpZCAiQ2hyb21lT1MgcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIOS/neeVmeWNgCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OQorbXNnaWQgIk1pZG5pZ2h0QlNEIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MAorbXNnaWQgIk1pZG5pZ2h0QlNEIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MQorIywgZnV6enkKK21zZ2lkICJNaWRuaWdodEJTRCBzd2FwIgorbXNnc3RyICJCU0RJIOS6pOaPm+WNgCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MgorbXNnaWQgIk1pZG5pZ2h0QlNEIFVGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYzCittc2dpZCAiTWlkbmlnaHRCU0QgWkZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjQKK21zZ2lkICJNaWRuaWdodEJTRCBWaW51bSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY3Cittc2dpZCAiQ2VwaCBKb3VybmFsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjgKK21zZ2lkICJDZXBoIEVuY3J5cHRlZCBKb3VybmFsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjkKK21zZ2lkICJDZXBoIE9TRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcwCittc2dpZCAiQ2VwaCBjcnlwdCBPU0QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MQorbXNnaWQgIkNlcGggZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcyCittc2dpZCAiQ2VwaCBjcnlwdCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzUKKyMsIGZ1enp5Cittc2dpZCAiT3BlbkJTRCBkYXRhIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc4CisjLCBmdXp6eQorbXNnaWQgIlFOWDYgZmlsZSBzeXN0ZW0iCittc2dzdHIgIuaqlOahiOezu+e1seWei+aFiyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4MQorIywgZnV6enkKK21zZ2lkICJQbGFuIDkgcGFydGl0aW9uIgorbXNnc3RyICLliKrpmaTliIblibIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo1NDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdQVCBoZWFkZXIiCittc2dzdHIgIumFjee9rui/reS7o+WZqOaZguWkseaVlyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjYzMAorbXNnaWQgIkZpcnN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjY0MgorbXNnaWQgIkxhc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Nzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIkdQVCBQTUJSIHNpemUgbWlzbWF0Y2ggKCU8UFJJdTY0PiAhPSAlPFBSSXU2ND4pIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3OTIKKyMsIGZ1enp5Cittc2dpZCAiZ3B0OiBzdGF0KCkgZmFpbGVkIgorbXNnc3RyICIlc++8mnN0YXQg5aSx5pWXIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6ODAyCisjLCBjLWZvcm1hdAorbXNnaWQgImdwdDogY2Fubm90IGhhbmRsZSBmaWxlcyB3aXRoIG1vZGUgJW8iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEwNjQKK21zZ2lkICJHUFQgSGVhZGVyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMDY5Cittc2dpZCAiR1BUIEVudHJpZXMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExMDMKKyMsIGZ1enp5Cittc2dpZCAiRmlyc3QgTEJBIgorbXNnc3RyICLotbfliJ0gJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTA4CisjLCBmdXp6eQorbXNnaWQgIkxhc3QgTEJBIgorbXNnc3RyICIg5pyA5b6M5LiA562GICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIExCQSAoTG9naWNhbCBCbG9jayBBZGRyZXNzKSBvZiB0aGUgYmFja3VwIEdQVCBoZWFkZXIuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTExNAorbXNnaWQgIkFsdGVybmF0aXZlIExCQSIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YXJ0IG9mIHRoZSBhcnJheSBvZiBwYXJ0aXRpb24gZW50cmllcy4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTIwCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBlbnRyaWVzIExCQSIKK21zZ3N0ciAi5YiG5Ymy5Y2AIChhLSVjKe+8miIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExMjUKKyMsIGZ1enp5Cittc2dpZCAiQWxsb2NhdGVkIHBhcnRpdGlvbiBlbnRyaWVzIgorbXNnc3RyICLlt7LpgbjliIblibLljYAgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE0NDAKK21zZ2lkICJUaGUgYmFja3VwIEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIHByaW1hcnkgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNDQ5Cittc2dpZCAiVGhlIHByaW1hcnkgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgYmFja3VwIGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgR1BUIGF0dHJpYnV0ZSBiaXQgJyVzJyIKK21zZ3N0ciAi5LiN5Y+X5pSv5o+055qE5byV5pW477yaJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgR1BUIGF0dHJpYnV0ZSBzdHJpbmcgJyVzJyIKK21zZ3N0ciAi5YmW5p6Q5riF5Zau44COJXMg5pmC5aSx5pWX44CPIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTczMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAi6K6K5pu05qC55b6e44COJXPjgI/liLDjgI4lcyDmmYLlpLHmlZfjgI8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gbmFtZSBjaGFuZ2VkIGZyb20gJyVzJyB0byAnJS4qcycuIgorbXNnc3RyICLorormm7TmoLnlvp7jgI4lc+OAj+WIsOOAjiVzIOaZguWkseaVl+OAjyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NjgKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gdW5kZXJzdGVwcyBGaXJzdFVzYWJsZUxCQS4iCittc2dzdHIgIiIKKyJcbiIKKyLplovmqZ/liIblibLljYDkuI3lrZjlnKjjgIJcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NzUKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGVuZCBvZiB0aGUgcGFydGl0aW9uIG92ZXJzdGVwcyBMYXN0VXNhYmxlTEJBLiIKK21zZ3N0ciAi57WQ5p2f55qE5YiG5Ymy5Zyo5Lit56OB5Y2AIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzNAorbXNnaWQgIlRoZSBkZXZpY2UgY29udGFpbnMgaHlicmlkIE1CUiAtLSB3cml0aW5nIEdQVCBvbmx5LiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBNQlIgbWFudWFsbHkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcxCittc2dpZCAiRGlzayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NzYKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5ODAKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4NQorIywgZnV6enkKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiBlbnRyeSBjaGVja3N1bS4iCittc2dzdHIgIueEoeaViOeahOWIhuWJsuWNgOmhnuWei+OAjiVj44CPXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTkwCittc2dpZCAiSW52YWxpZCBwcmltYXJ5IGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OTQKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTk5Cittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IHByaW1hcnkgaGVhZGVyLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwMworbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwOAorbXNnaWQgIkRpc2sgaXMgdG9vIHNtYWxsIHRvIGhvbGQgYWxsIGRhdGEuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDE4Cittc2dpZCAiUHJpbWFyeSBhbmQgYmFja3VwIGhlYWRlciBtaXNtYXRjaC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIHBhcnRpdGlvbiAldS4iCittc2dzdHIgIuitpuWRiu+8muWIhuWJsuWNgCAlZCDoiIfliIblibLljYAgJWQg6YeN55aK44CCXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgaXMgdG9vIGJpZyBmb3IgdGhlIGRpc2suIgorbXNnc3RyICLliIblibLph43nlorlnKjkuYvkuIrno4Hnop/jgIJcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBlbmRzIGJlZm9yZSBpdCBzdGFydHMuIgorbXNnc3RyICLliIblibLljYDntZDlsL7lsI/mlrzno4HljYAgMCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwNDcKK21zZ2lkICJObyBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJIZWFkZXIgdmVyc2lvbjogJXMiCittc2dzdHIgIuWJluaekOmMr+iqpO+8miVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgJXUgb3V0IG9mICVkIHBhcnRpdGlvbnMuIgorbXNnc3RyICLmgKrnlbDnmoTvvIzlj6rmnIkgJWQg5YiG5Ymy5Y2A5a6a576p44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjA2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50LiIKK21zZ2lkX3BsdXJhbCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50cyAodGhlIGxhcmdlc3QgaXMgJXMpLiIKK21zZ3N0clswXSAi5rKS5pyJ5Y+v55So55qE56OB5Y2A5a2Y5ZyoXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGVycm9yIGRldGVjdGVkLiIKK21zZ2lkX3BsdXJhbCAiJWQgZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0clswXSAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0MgorIywgZnV6enkKK21zZ2lkICJBbGwgcGFydGl0aW9ucyBhcmUgYWxyZWFkeSBpbiB1c2UuIgorbXNnc3RyICLpgJnlgIvliIblibLljYDlt7LlnKjkvb/nlKjkuK0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTk3IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWp1IGFscmVhZHkgdXNlZC4iCittc2dzdHIgIuejgeWNgCAlbGx1IOW3sue2k+mFjee9rlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICLkuI3opoHmlrDlop7kuIDlgIvliIblibLljYAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBsYXN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaXJzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBHUFQgZGlza2xhYmVsIChHVUlEOiAlcykuIgorbXNnc3RyICLlu7rnq4vmlrDnmoTmuIXnqbogU3VuIGRpc2tsYWJlbCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NDcKK21zZ2lkICJFbnRlciBuZXcgZGlzayBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NTQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHlvdXIgVVVJRC4iCittc2dzdHIgIuWJluaekCAlcyDmmYLlpLHmlZciCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAi6K6K5pu05qC55b6e44COJXPjgI/liLDjgI4lcyDmmYLlpLHmlZfjgI8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDg4CisjLCBmdXp6eQorbXNnaWQgIk5vdCBlbm91Z2ggc3BhY2UgZm9yIG5ldyBwYXJ0aXRpb24gdGFibGUhIgorbXNnc3RyICLmspLmnInlj6/nlKjnmoTno4HljYDlrZjlnKhcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMldSBvdXQgb2YgcmFuZ2UgKG1pbmltYWwgc3RhcnQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXUgb3V0IG9mIHJhbmdlIChtYXhpbWFsIGVuZCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBudW1iZXIgb2YgdGhlIHBhcnRpdGlvbiBoYXMgYmUgc21hbGxlciB0aGFuICV6dS4iCittc2dzdHIgIuW3suW7uueri+WIhuWJsuWNgOeahOacgOWkp+aVuOmHj1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU2MworIywgZnV6enkKK21zZ2lkICJDYW5ub3QgYWxsb2NhdGUgbWVtb3J5ISIKK21zZ3N0ciAi6YWN572u6KiY5oa26auU5pmC5aSx5pWX77yaJW0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgbGVuZ3RoIGNoYW5nZWQgZnJvbSAlPFBSSXUzMj4gdG8gJTxQUkl1NjQ+LiIKK21zZ3N0ciAi6K6K5pu05qC55b6e44COJXPjgI/liLDjgI4lcyDmmYLlpLHmlZfjgI8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgYXR0cmlidXRlcyBvbiBwYXJ0aXRpb24gJXp1IGNoYW5nZWQgdG8gMHglMDE2PFBSSXg2ND4uIgorbXNnc3RyICLliIblibLljYAgJWQg55qE57O757Wx6aGe5Z6L5pyq6KKr6K6K5pu077yaJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc0MgorbXNnaWQgIkVudGVyIEdVSUQgc3BlY2lmaWMgYml0IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdG9nZ2xlIHVuc3VwcG9ydGVkIGJpdCAlbHUiCittc2dzdHIgIuaOm+i8ieenu+WLlSAlcyDliLAgJXMg5pmC5aSx5pWXIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIuWIhuWJsuWNgCAlZCDnmoTns7vntbHpoZ7lnovmnKrooqvorormm7TvvJoleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIumAmeWAi+WIhuWJsuWNgOeEoeazleS9v+eUqCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MTgKKyMsIGZ1enp5Cittc2dpZCAiVHlwZS1VVUlEIgorbXNnc3RyICLpoZ7lnosiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTE5Cittc2dpZCAiVVVJRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkyMCBsb2dpbi11dGlscy9jaGZuLmM6MTUwIGxvZ2luLXV0aWxzL2NoZm4uYzoxNTIKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMDcKK21zZ2lkICJOYW1lIgorbXNnc3RyICLlkI3nqLEiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzo4NDAKKyMsIGZ1enp5Cittc2dpZCAiRnJlZSBzcGFjZSIKK21zZ3N0ciAi5Ymp6aSY56m66ZaTIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6MTIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24gIyV6dS4iCittc2dzdHIgIuiqv+aVtOWkp+Wwj+WIhuWJsuaZguWkseaVlyIKKworIzogbGliZmRpc2svc3JjL3BhcnR0eXBlLmM6MjU5IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1NSBzY2hlZHV0aWxzL2NocnQuYzoyMDYKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6Nzkgc3lzLXV0aWxzL2h3Y2xvY2suYzozMzQKK21zZ2lkICJ1bmtub3duIgorbXNnc3RyICLkuI3mmI7nmoQiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NworbXNnaWQgIlNHSSB2b2xoZHIiCittc2dzdHIgIlNHSSB2b2xoZHIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OAorbXNnaWQgIlNHSSB0cmtyZXBsIgorbXNnc3RyICJTR0kgdHJrcmVwbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ5Cittc2dpZCAiU0dJIHNlY3JlcGwiCittc2dzdHIgIlNHSSBzZWNyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTAKK21zZ2lkICJTR0kgcmF3IgorbXNnc3RyICJTR0kgcmF3IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTEKK21zZ2lkICJTR0kgYnNkIgorbXNnc3RyICJTR0kgYnNkIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTIKK21zZ2lkICJTR0kgc3lzdiIKK21zZ3N0ciAiU0dJIHN5c3YiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MworbXNnaWQgIlNHSSB2b2x1bWUiCittc2dzdHIgIlNHSSB2b2x1bWUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NAorbXNnaWQgIlNHSSBlZnMiCittc2dzdHIgIlNHSSBlZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NQorbXNnaWQgIlNHSSBsdm9sIgorbXNnc3RyICJTR0kgbHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU2Cittc2dpZCAiU0dJIHJsdm9sIgorbXNnc3RyICJTR0kgcmx2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NworbXNnaWQgIlNHSSB4ZnMiCittc2dzdHIgIlNHSSB4ZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OAorbXNnaWQgIlNHSSB4ZnNsb2ciCittc2dzdHIgIlNHSSB4ZnNsb2ciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OQorbXNnaWQgIlNHSSB4bHYiCittc2dzdHIgIlNHSSB4bHYiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MAorbXNnaWQgIlNHSSB4dm0iCittc2dzdHIgIlNHSSB4dm0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MiBsaWJmZGlzay9zcmMvc3VuLmM6NTMKK21zZ2lkICJMaW51eCBuYXRpdmUiCittc2dzdHIgIkxpbnV4IG5hdGl2ZSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjE1OQorbXNnaWQgIlNHSSBpbmZvIGNyZWF0ZWQgb24gc2Vjb25kIHNlY3Rvci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI1OQorIywgZnV6enkKK21zZ2lkICJEZXRlY3RlZCBhbiBTR0kgZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIgorbXNnc3RyICLlgbXmuKzliLAgc2dpIOejgeein+aomeexpOiIh+mMr+iqpOeahOe4veWSjOaqouafpeeivOOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjgyIGxpYmZkaXNrL3NyYy9zdW4uYzo3NzAKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICLlr6bpq5Tno4Hmn7Hmlbjph48iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODcgbGliZmRpc2svc3JjL3N1bi5jOjc3NQorIywgZnV6enkKK21zZ2lkICJFeHRyYSBzZWN0cy9jeWwiCittc2dzdHIgIuavj+ejgeafseeahOmhjeWkluejgeWNgCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI5NworIywgZnV6enkKK21zZ2lkICJCb290ZmlsZSIKK21zZ3N0ciAi5qqU5qGIICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mzk1CisjLCBmdXp6eQorbXNnaWQgIkludmFsaWQgYm9vdGZpbGUhICBUaGUgYm9vdGZpbGUgbXVzdCBiZSBhbiBhYnNvbHV0ZSBub24temVybyBwYXRobmFtZSwgZS5nLiBcIi91bml4XCIgb3IgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICIiCisiXG4iCisi54Sh5pWI55qE6ZaL5qmf5qqU5qGI77yBXG4iCisiXHTplovmqZ/mqpTmoYjlkI3nqLHlv4XpoIjmmK/ntZXlsI3kuJTpnZ7pm7bot6/lvpHvvIxcbiIKKyJcdOS+i+WmguOAjC91bml444CN5oiW44CML3VuaXguc2F2ZeOAjeOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZSBtYXhpbXVtLiIKK21zZ2lkX3BsdXJhbCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGVzIG1heGltdW0uIgorbXNnc3RyWzBdICIiCisiXG4iCisiXHTplovmqZ/mqpTmoYjnmoTlkI3nqLHlpKrplbfvvJrmnIDlpKfngrogMTYg5L2N5YWD57WE44CCXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDgKKyMsIGZ1enp5Cittc2dpZCAiQm9vdGZpbGUgbXVzdCBoYXZlIGEgZnVsbHkgcXVhbGlmaWVkIHBhdGhuYW1lLiIKK21zZ3N0ciAiIgorIlxuIgorIlx06ZaL5qmf5qqU5qGI5b+F6aCI5pyJ5a6M5YWo5ZCI5rOV55qE6Lev5b6R5ZCN56ix44CCXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAiQmUgYXdhcmUgdGhhdCB0aGUgYm9vdGZpbGUgaXMgbm90IGNoZWNrZWQgZm9yIGV4aXN0ZW5jZS4gIFNHSSdzIGRlZmF1bHQgaXMgXCIvdW5peFwiLCBhbmQgZm9yIGJhY2t1cCBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIiIKKyJcbiIKKyJcdOimgeefpemBk++8jOmWi+apn+aqlOahiOS4puacquaqouafpeaYr+WQpuWtmOWcqOOAglxuIgorIlx0U0dJIOmgkOioreeCuuOAjC91bml444CN5ZKM55So5pa85YKZ5Lu955qE44CML3VuaXguc2F2ZeOAjeOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgY3VycmVudCBib290IGZpbGUgaXM6ICVzIgorbXNnc3RyICIiCisiXG4iCisi55uu5YmN55qE5ZWf5YuV5qqU5qGI54K677yaJXNcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0MQorIywgZnV6enkKK21zZ2lkICJFbnRlciBvZiB0aGUgbmV3IGJvb3QgZmlsZSIKK21zZ3N0ciAi6KuL6Ly45YWl5paw55qE5ZWf5YuV5qqU5qGI5ZCN56ix77yaIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQ2CisjLCBmdXp6eQorbXNnaWQgIkJvb3QgZmlsZSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICLllZ/li5XmqpTmoYjmnKrorormm7RcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQm9vdGZpbGUgaGFzIGJlZW4gY2hhbmdlZCB0byBcIiVzXCIuIgorbXNnc3RyICIiCisiXG4iCisiXHTplovmqZ/mqpTmoYjlt7Lorormm7TngrrjgIwlc+OAjeOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTk2CisjLCBmdXp6eQorbXNnaWQgIk1vcmUgdGhhbiBvbmUgZW50aXJlIGRpc2sgZW50cnkgcHJlc2VudC4iCittc2dzdHIgIuWtmOWcqOWkmuaWvOS4gOWAi+WujOaVtOejgeein+mgheebruOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAzIGxpYmZkaXNrL3NyYy9zdW4uYzo0NTgKKyMsIGZ1enp5Cittc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkLiIKK21zZ3N0ciAi54Sh5bey5a6a576p5YiG5Ymy5Y2AXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTMKKyMsIGZ1enp5Cittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiSVJJWCDlgY/lpb3liIblibLljYAgMTEg5ra16JOL5pW05YCL56OB56Kf44CCXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gc2hvdWxkIHN0YXJ0IGF0IGJsb2NrIDAsIG5vdCBhdCBibG9jayAlZC4iCittc2dzdHIgIiIKKyLmlbTlgIvno4Hnop/liIblibLljYDmh4noqbLlp4vmlrzljYDloYogMO+8jFxuIgorIuiAjOmdnuejgeein+WNgOWhiiAlZOOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjI4CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiAxMSBzaG91bGQgY292ZXIgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAi5YiG5YmyIDExIOaHieipsuWwgeWll+aVtOWAi+ejgeein+OAglxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3Rvci4iCittc2dpZF9wbHVyYWwgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9ycy4iCittc2dzdHJbMF0gIuWIhuWJsuWNgCAlZCDoiIcgJWQg5pyJICVkIOWhiuejgeWNgOebuOS6kumHjeeWiuOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjYzIGxpYmZkaXNrL3NyYy9zZ2kuYzo2ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3Rvcjogc2VjdG9yICU4dSIKK21zZ2lkX3BsdXJhbCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yczogc2VjdG9ycyAlOHUtJXUiCittc2dzdHJbMF0gIiU4dSDloYrno4HljYDnmoTmnKrkvb/nlKjplpPpmpkgLSDno4HljYAgJTh1LSV1XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2OTgKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGJvb3QgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiIgorIlxuIgorIumWi+apn+WIhuWJsuWNgOS4jeWtmOWcqOOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzAyCisjLCBmdXp6eQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIiIKKyJcbiIKKyLkuqTmj5vliIblibLljYDkuI3lrZjlnKjjgIJcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwNgorIywgZnV6enkKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gaGFzIG5vIHN3YXAgdHlwZS4iCittc2dzdHIgIiIKKyJcbiIKKyLkuqTmj5vliIblibLljYDkuI3lhbfmnInkuqTmj5vpoZ7lnovjgIJcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwOQorIywgZnV6enkKK21zZ2lkICJZb3UgaGF2ZSBjaG9zZW4gYW4gdW51c3VhbCBib290ZmlsZSBuYW1lLiIKK21zZ3N0ciAiXHTmgqjpgbjmk4fkuobkuIDlgIvkuI3lsIvluLjnmoTllZ/li5XmqpTmoYjlkI3nqLHjgIJcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjc1OQorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4iCittc2dzdHIgIuWIhuWJsumHjeeWiuWcqOS5i+S4iuejgeein+OAglxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQ0CisjLCBmdXp6eQorbXNnaWQgIkF0dGVtcHRpbmcgdG8gZ2VuZXJhdGUgZW50aXJlIGRpc2sgZW50cnkgYXV0b21hdGljYWxseS4iCittc2dzdHIgIuippuWcluiHquWLleeUoueUn+aVtOWAi+ejgeein+mgheebruOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQ5CisjLCBmdXp6eQorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBpcyBhbHJlYWR5IGNvdmVyZWQgd2l0aCBwYXJ0aXRpb25zLiIKK21zZ3N0ciAi5pW05YCL56OB56Kf5bey57aT6KKr5YiG5Ymy5Y2A5omA6KaG6JOL44CCXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NTMKKyMsIGZ1enp5Cittc2dpZCAiWW91IGdvdCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiBGaXggaXQgZmlyc3QhIgorbXNnc3RyICLmgqjnmoTno4Hnop/kuIrmnInph43nlornmoTliIblibLljYDvvIzoq4vlhYjkv67mraPlroPvvIFcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg3NSBsaWJmZGlzay9zcmMvc3VuLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ICVzIgorbXNnc3RyICLotbfliJ0gJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4OTkgbGliZmRpc2svc3JjL3NnaS5jOjk0OQorIywgZnV6enkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgZWxldmVudGggcGFydGl0aW9uIGNvdmVycyB0aGUgZW50aXJlIGRpc2sgYW5kIGlzIG9mIHR5cGUgJ1NHSSB2b2x1bWUnLiIKK21zZ3N0ciAiIgorIuW8t+eDiOW7uuitsOesrOWNgeS4gOWhiuWIhuWJsuWNgFxuIgorIuimhuiTi+aVtOWAi+ejgeein+S4puS4lOeCuuOAjFNHSSDljbflhorjgI3poZ7lnotcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjkxNCBsaWJmZGlzay9zcmMvc3VuLmM6NjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMYXN0ICVzIG9yICslcyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICLmnIDlvowgJTEkcywgKyUyJHMg5oiWICvlpKflsI97SyxNLEd9IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTg1IGxpYmZkaXNrL3NyYy9zdW4uYzoyNDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LiBUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLiIKK21zZ3N0ciAiIgorIuitpuWRiu+8miBCTEtHRVRTSVpFIGlvY3RsIOWkseaVl+eahOaWvCAlc+OAgiDkvb/nlKjlub7kvZXkvY3nva7no4Hmn7HlgLznmoQgJWxsdeOAglxuIgorIumAmeWAi+WAvOS5n+ioseacg+iiq+aIquaWt+eUqOaWvOijnee9rj4zMy44IEdC44CCXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDUxCisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU0dJIGRpc2tsYWJlbC4iCittc2dzdHIgIuW7uueri+aWsOeahOa4heepuiBTdW4gZGlza2xhYmVsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3MAorIywgZnV6enkKK21zZ2lkICJTb3JyeSwgb25seSBmb3Igbm9uLWVtcHR5IHBhcnRpdGlvbnMgeW91IGNhbiBjaGFuZ2UgdGhlIHRhZy4iCittc2dzdHIgIuaKseatie+8jOWPquacieeUqOaWvOmdnuepuuWIhuWJsuWNgOaCqOWPr+S7peiuiuabtOaomeexpOOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3NgorIywgZnV6enkKK21zZ2lkICJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiA5IGFzIHZvbHVtZSBoZWFkZXIgKDApLCBhbmQgcGFydGl0aW9uIDExIGFzIGVudGlyZSB2b2x1bWUgKDYpLCBhcyBJUklYIGV4cGVjdHMgaXQuIgorbXNnc3RyICIiCisi6ICD5oWu5L+d55WZ5YiG5Ymy5Y2AIDkg54K65Y235YaK5qiZ6aCtICgwKe+8jFxuIgorIuS7peWPiuWIhuWJsuWNgCAxMSDngrrmlbTlgIvljbflhoogKDYp77yM5aaC5ZCMIElSSVgg5omA6aCQ5pyf44CCXG4iCisiXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDg1CisjLCBmdXp6eQorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDAgaXMgb2YgdHlwZSBcIlNHSSB2b2xoZHJcIiwgdGhlIElSSVggc3lzdGVtIHdpbGwgcmVseSBvbiBpdCB0byByZXRyaWV2ZSBmcm9tIGl0cyBkaXJlY3Rvcnkgc3RhbmRhbG9uZSB0b29scyBsaWtlIHNhc2ggYW5kIGZ4LiBPbmx5IHRoZSBcIlNHSSB2b2x1bWVcIiBlbnRpcmUgZGlzayBzZWN0aW9uIG1heSB2aW9sYXRlIHRoaXMuIEFyZSB5b3Ugc3VyZSBhYm91dCB0YWdnaW5nIHRoaXMgcGFydGl0aW9uIGRpZmZlcmVudGx5PyIKK21zZ3N0ciAiIgorIuW8t+eDiOW7uuitsOS9jeaWvOWBj+enuyAwIOeahOWIhuWJsuWNgFxuIgorIumhnuWei+eCuuOAjFNHSSB2b2xoZHLjgI3vvIxJUklYIOezu+e1seWwh+acg+S+nemdoOWug+S7pVxuIgorIuWPluWbnuWug+eahOebrumMhOeNqOeri+W3peWFt++8jOiruOWmgiBzYXNoIOWSjCBmeOOAglxuIgorIuWPquacieOAjFNHSSDljbflhorjgI3mlbTlgIvno4Hnop/ljYDmrrXnmoToqbHvvIzkuZ/oqLHmnIPlsI3mraTmnInmiYDlpqjlrrPjgIJcbiIKKyLlpoLmnpzmgqjnorrlrprlsIfpgJnlgIvliIblibLljYDosrzkuIrkuI3lkIznmoTmqJnnsaTvvIzlsLHovLjlhaUgWUVT44CCXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MAorbXNnaWQgIlVuYXNzaWduZWQiCittc2dzdHIgIuacquaMh+WumiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQyCittc2dpZCAiU3VuT1Mgcm9vdCIKK21zZ3N0ciAiU3VuT1Mg5qC55YiG5Ymy5Y2AIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDMKK21zZ2lkICJTdW5PUyBzd2FwIgorbXNnc3RyICJTdW5PUyDkuqTmj5vliIblibLljYAiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NAorbXNnaWQgIlN1bk9TIHVzciIKK21zZ3N0ciAiU3VuT1MgdXNyIOWIhuWJsuWNgCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ1Cittc2dpZCAiV2hvbGUgZGlzayIKK21zZ3N0ciAi5pW06aGG56OB56KfIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDYKK21zZ2lkICJTdW5PUyBzdGFuZCIKK21zZ3N0ciAiU3VuT1Mgc3RhbmQg5YiG5Ymy5Y2AIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyB2YXIiCittc2dzdHIgIlN1bk9TIHZhciDliIblibLljYAiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0OAorbXNnaWQgIlN1bk9TIGhvbWUiCittc2dzdHIgIlN1bk9TIGhvbWUg5YiG5Ymy5Y2AIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDkKK21zZ2lkICJTdW5PUyBhbHQgc2VjdG9ycyIKK21zZ3N0ciAiU3VuT1MgYWx0IOejgeWNgCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUwCittc2dpZCAiU3VuT1MgY2FjaGVmcyIKK21zZ3N0ciAiU3VuT1Mg5b+r5Y+W5qqU5qGI57O757WxIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTEKK21zZ2lkICJTdW5PUyByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1Mg5L+d55WZ5Y2AIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTM3CisjLCBmdXp6eQorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4gUHJvYmFibHkgeW91J2xsIGhhdmUgdG8gc2V0IGFsbCB0aGUgdmFsdWVzLCBlLmcuIGhlYWRzLCBzZWN0b3JzLCBjeWxpbmRlcnMgYW5kIHBhcnRpdGlvbnMgb3IgZm9yY2UgYSBmcmVzaCBsYWJlbCAocyBjb21tYW5kIGluIG1haW4gbWVudSkiCittc2dzdHIgIiIKKyLlgbXmuKzliLDlhbfmnInpjK/oqqTnuL3lkozmqqLmn6XnorznmoQgc3VuIOejgeein+aomeexpOOAglxuIgorIuS5n+ioseaCqOW/hemgiOioreWumuaJgOacieeahOWAvO+8jFxuIgorIuS+i+Wmgu+8muejgemgreOAgeejgeWNgOOAgeejgeafseWSjOWIhuWJsuWNgO+8jFxuIgorIuaIluaYr+W8t+WItuioreWumuaWsOeahOaomeexpCAo5L2/55So5Li76YG45Zau55qEIHMg5ZG95LukKVxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdmVyc2lvbiBbJWRdLiIKK21zZ3N0ciAi5YG15ris5Yiw5YW35pyJ6Yyv6Kqk54mI5pysIFsweCUwOHhdIOeahCBzdW4g56OB56Kf5qiZ57Gk44CCXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLnNhbml0eSBbMHglMDh4XS4iCittc2dzdHIgIuWBtea4rOWIsOWFt+acieS4jeWujOaVtOaApyBbMHglMDh4XSDnmoQgc3VuIOejgeein+aomeexpOOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5ucGFydHMgWyV1XS4iCittc2dzdHIgIuWBtea4rOWIsOWFt+aciemMr+iqpOWIhuWJsuWNgOaVuCBbJXVdIOeahCBzdW4g56OB56Kf5qiZ57Gk44CCXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiV2FybmluZzogV3JvbmcgdmFsdWVzIG5lZWQgdG8gYmUgZml4ZWQgdXAgYW5kIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkiCittc2dzdHIgIuitpuWRiu+8mumMr+iqpOWAvOmcgOimgee2k+eUsSB3KHJpdGUpIOiAjOS/ruato1xuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTkyCittc2dpZCAiSGVhZHMiCittc2dzdHIgIuejgemgrSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE5NAorbXNnaWQgIlNlY3RvcnMvdHJhY2siCittc2dzdHIgIuejgeWNgC/no4Hou4wiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoyOTcKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTdW4gZGlza2xhYmVsLiIKK21zZ3N0ciAi5bu656uL5paw55qE5riF56m6IFN1biBkaXNrbGFiZWwiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBkb2Vzbid0IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIuWIhuWJsuWNgCAlZCDkuKbpnZ7ntZDmnZ/mlrzno4Hmn7HpgornlYxcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggb3RoZXJzIGluIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICLliIblibLljYAgJWQg6IiHICVkLSVkIOS4reeahOWFtuS7luejgeWNgOmHjeeWilxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAwLSV1LiIKK21zZ3N0ciAi5pyq5L2/55So55qE6ZaT6ZqZIC0g56OB5Y2AIDAtJWRcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NSBsaWJmZGlzay9zcmMvc3VuLmM6NDcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIuacquS9v+eUqOeahOmWk+mamSAtIOejgeWNgCAlZC0lZFxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTI4CisjLCBmdXp6eQorbXNnaWQgIk90aGVyIHBhcnRpdGlvbnMgYWxyZWFkeSBjb3ZlciB0aGUgd2hvbGUgZGlzay4gRGVsZXRlIHNvbWUvc2hyaW5rIHRoZW0gYmVmb3JlIHJldHJ5LiIKK21zZ3N0ciAiIgorIuWFtuS7luWIhuWJsuWNgOW3sue2k+a2teiTi+aVtOWAi+ejgeein+OAglxuIgorIuiri+aWvOmHjeippuS5i+WJjeWIqumZpOmDqOWIhuaIlue4rua4m+Wug+WAkeOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWQgaXMgYWxyZWFkeSBhbGxvY2F0ZWQiCittc2dzdHIgIuejgeWNgCAlZCDlt7LntpPooqvphY3nva5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYwMAorIywgZnV6enkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgdGhpcmQgcGFydGl0aW9uIGNvdmVycyB0aGUgd2hvbGUgZGlzayBhbmQgaXMgb2YgdHlwZSBgV2hvbGUgZGlzayciCittc2dzdHIgIiIKKyLlvLfng4jlu7rorbDnrKzkuInliIblibLljYDljIXmi6xcbiIKKyLmlbTlgIvno4Hnop/kuKbkuJTngrrjgIzmlbTpoYbno4Hnop/jgI3poZ7lnotcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYxMAorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbmluZyB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gJXUgdG8gJXUgdG8gYmUgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZW4ndCBjb3ZlcmVkIHRoZSB3aG9sZSBkaXNrIHdpdGggdGhlIDNyZCBwYXJ0aXRpb24sIGJ1dCB5b3VyIHZhbHVlXG4iCisiJWx1ICVzIGNvdmVycyBzb21lIG90aGVyIHBhcnRpdGlvbi4gWW91ciBlbnRyeSBoYXMgYmVlbiBjaGFuZ2VkXG4iCisidG8gJWx1ICVzIgorbXNnc3RyICIiCisi5oKo5pyq5Lul56ys5LiJ5YiG5Ymy5Y2A5ra16JOL5pW05YCL56OB56Kf77yM5L2G5piv5oKo6Kit5a6a55qE5YC8XG4iCisiJWQgJXMg5ra16JOL5p+Q5Lqb5YW25LuW55qE5YiG5Ymy5Y2A44CC5oKo55qE6Ly45YWl5YC85bey6K6K5pu0XG4iCisi54K6ICVkICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3MjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklmIHlvdSB3YW50IHRvIG1haW50YWluIFN1bk9TL1NvbGFyaXMgY29tcGF0aWJpbGl0eSwgY29uc2lkZXIgbGVhdmluZyB0aGlzIHBhcnRpdGlvbiBhcyBXaG9sZSBkaXNrICg1KSwgc3RhcnRpbmcgYXQgMCwgd2l0aCAldSBzZWN0b3JzIgorbXNnc3RyICIiCisi5aaC5p6c5oKo6KaB57at5oyBIFN1bk9TL1NvbGFyaXMg55qE55u45a655oCn77yM6KuL6ICD5oWu5L+d5oyB6YCZ5YCLXG4iCisi5YiG5Ymy5Y2A54K65pW05YCL56OB56KfICg1Ke+8jOmWi+Wni+aWvCAwLCDlhbflgpkgJXUg56OB5Y2AXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NTAKKyMsIGZ1enp5Cittc2dpZCAiTGFiZWwgSUQiCittc2dzdHIgIuaomeexpO+8miUuKnNcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc1NQorIywgZnV6enkKK21zZ2lkICJWb2x1bWUgSUQiCittc2dzdHIgIuWNt+WGiu+8mjwlLTZzPlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzY1CisjLCBmdXp6eQorbXNnaWQgIkFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIuabv+S7o+ejgeafseaVuOmHjyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg3MQorbXNnaWQgIk51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICLmm7/ku6Pno4Hmn7Hmlbjph48iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo4OTYKK21zZ2lkICJFeHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAi5q+P56OB5p+x55qE6aGN5aSW56OB5Y2AIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTIwCittc2dpZCAiSW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIuS6pOmMr+WboOWtkCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk0NAorbXNnaWQgIlJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICLml4vovYnpgJ/luqYgKHJwbSkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5NjgKK21zZ2lkICJOdW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICLlr6bpq5Tno4Hmn7Hmlbjph48iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDM3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiAzIGFzIFdob2xlIGRpc2sgKDUpLFxuIgorImFzIFN1bk9TL1NvbGFyaXMgZXhwZWN0cyBpdCBhbmQgZXZlbiBMaW51eCBsaWtlcyBpdC5cbiIKK21zZ3N0ciAiIgorIuiAg+aFruS/neeVmeWIhuWJsuWNgCAzIOeCuuaVtOWAi+ejgeeinyAoNSnvvIxcbiIKKyJTdW5PUy9Tb2xhcmlzIOaYr+WmguatpOmgkOacn++8jueUmuiHsyBMaW51eCDkuZ/llpzmraHlroPjgIJcbiIKKyJcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNDgKKyMsIGZ1enp5Cittc2dpZCAiIgorIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDBcbiIKKyJpcyBVRlMsIEVYVDJGUyBmaWxlc3lzdGVtIG9yIFN1bk9TIHN3YXAuIFB1dHRpbmcgTGludXggc3dhcFxuIgorInRoZXJlIG1heSBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlIGFuZCBib290YmxvY2suXG4iCisiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHRhZyB0aGUgcGFydGl0aW9uIGFzIExpbnV4IHN3YXA/IgorbXNnc3RyICIiCisi5by354OI5bu66K2w5L2N5pa85YGP56e75YC8IDAg55qE5YiG5Ymy5Y2AXG4iCisi54K6IFVGU+OAgUVYVDJGUyDmqpTmoYjns7vntbHmiJYgU3VuT1Mg5Lqk5o+b5Y2A44CC5bCHIExpbnV4IOS6pOaPm+WNgOaUvuWcqFxuIgorIumCo+ijoeS5n+ioseacg+mKt+avgOaCqOeahOWIhuWJsuihqOWSjOWVn+WLleWNgOWhiuOAglxuIgorIuWmguaenOaCqOW+iOeiuuWumuaDs+imgeipsuWIhuWJsuWNgOiiq1xuIgorIuaomeekuueCuiA4MiAoTGludXgg5Lqk5o+b5Y2AKSDlsLHovLjlhaUgWUVT77yaIgorCisjOiBsaWIvcGFnZXIuYzoxMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhaXRwaWQgZmFpbGVkICglcykiCittc2dzdHIgIndhaXRwaWQg5aSx5pWXICglcykiCisKKyM6IGxpYi9wYXRoLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE4MTgKK21zZ2lkICJmYWlsZWQgdG8gY2FsbG9jYXRlIGNwdSBzZXQiCittc2dzdHIgImNhbGxvY2F0ZSBjcHUg6ZuG5ZCI5pmC5aSx5pWXIgorCisjOiBsaWIvcGF0aC5jOjIxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0ICVzIgorbXNnc3RyICLliZbmnpAgQ1BVIOa4heWWriAlcyDmmYLlpLHmlZciCisKKyM6IGxpYi9wYXRoLmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzayAlcyIKK21zZ3N0ciAi5YmW5p6QIENQVSDpga7nvakgJXMg5pmC5aSx5pWXIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjcyCisjLCBmdXp6eQorbXNnaWQgImNhbiBub3Qgb3BlbiBVTklYIHNvY2tldCIKK21zZ3N0ciAi54Sh5rOV6ZaL5ZWfICVzIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjc4CisjLCBmdXp6eQorbXNnaWQgImNhbiBub3Qgc2V0IG9wdGlvbiBmb3IgVU5JWCBzb2NrZXQiCittc2dzdHIgIueEoeazleioreWumumAvuaZgueUqOaWvCAlcyIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo5MQorIywgZnV6enkKK21zZ2lkICJjYW4gbm90IGNvbm5lY3Qgb24gVU5JWCBzb2NrZXQiCittc2dzdHIgIueEoeazlemWi+WVnyAlcyIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHBseW1vdXRoIHJlcXVlc3QgJWMgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICIiCisKKyM6IGxpYi9yYW5kdXRpbHMuYzoxMzYKK21zZ2lkICJsaWJjIHBzZXVkby1yYW5kb20gZnVuY3Rpb25zIgorbXNnc3RyICIiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MTcgbGliL3N3YXBwcm9iZXIuYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHByb2JlIGRldmljZSIKK21zZ3N0ciAiJXPvvJrnhKHms5XmjqLmn6Xoo53nva4iCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcHJvYmluZyByZXN1bHQ7IHVzZSB3aXBlZnMoOCkiCittc2dzdHIgIiVz77ya5o6i5p+l57WQ5p6c55Si55Sf55+b55u+77yM5L2/55SoIHdpcGVmcyg4KSIKKworIzogbGliL3N3YXBwcm9iZXIuYzozNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgdmFsaWQgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIiVz77ya5LiN5piv5pyJ5pWI55qE5Lqk5o+b5YiG5Ymy5Y2AIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bnN1cHBvcnRlZCBzd2FwIHZlcnNpb24gJyVzJyIKK21zZ3N0ciAiJXPvvJrkuI3lj5fmlK/mj7TnmoTkuqTmj5vniYjmnKzjgIwlc+OAjSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjkwIGxvZ2luLXV0aWxzL2Noc2guYzo2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIFvkvb/nlKjogIXlkI3nqLFdXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5MworIywgZnV6enkKK21zZ2lkICJDaGFuZ2UgeW91ciBmaW5nZXIgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIuS/ruaUuSAlcyDnmoQgZmluZ2VyIOizh+ioiuOAglxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTYKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZ1bGwtbmFtZSA8ZnVsbC1uYW1lPiAgcmVhbCBuYW1lXG4iCittc2dzdHIgIiAtZiwgLS1mdWxsLW5hbWUgPGZ1bGwtbmFtZT4gIOecn+WvpuWQjeeosVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTcKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICAgb2ZmaWNlIG51bWJlclxuIgorbXNnc3RyICIgLW8sIC0tb2ZmaWNlIDxvZmZpY2U+ICAgICAgICDovqblhazlrqTmlbjlrZdcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk4CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1vZmZpY2UtcGhvbmUgPHBob25lPiAgIG9mZmljZSBwaG9uZSBudW1iZXJcbiIKK21zZ3N0ciAiIC1wLCAtLW9mZmljZS1waG9uZSA8cGhvbmU+ICAg6L6m5YWs5a6k6Zu76Kmx6Jmf56K8XG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OQorIywgZnV6enkKK21zZ2lkICIgLWgsIC0taG9tZS1waG9uZSA8cGhvbmU+ICAgICBob21lIHBob25lIG51bWJlclxuIgorbXNnc3RyICIgLWgsIC0taG9tZS1waG9uZSA8cGhvbmU+ICAgICDlgIvkurros4fmlpnlpL7pm7voqbHomZ/norxcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwMSBsb2dpbi11dGlscy9jaHNoLmM6NzgKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCittc2dzdHIgIiAtdSwgLS1oZWxwICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjExNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmllbGQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgIuashOS9jSAlcyDlpKrplbciCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMjEgbG9naW4tdXRpbHMvY2hzaC5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaGFzIGlsbGVnYWwgY2hhcmFjdGVycyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTUwIGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE2MgorIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbi5kZWZzIGZvcmJpZHMgc2V0dGluZyAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTggbG9naW4tdXRpbHMvY2hmbi5jOjMwOQorbXNnaWQgIk9mZmljZSIKK21zZ3N0ciAi6L6m5YWs5a6kIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjQgbG9naW4tdXRpbHMvY2hmbi5jOjMxMQorbXNnaWQgIk9mZmljZSBQaG9uZSIKK21zZ3N0ciAi6L6m5YWs5a6k6Zu76KmxIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTY4IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzAgbG9naW4tdXRpbHMvY2hmbi5jOjMxMworbXNnaWQgIkhvbWUgUGhvbmUiCittc2dzdHIgIuS9j+Wutumbu+ipsSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjIzMworIywgZnV6enkKK21zZ2lkICJBYm9ydGVkLiIKK21zZ3N0ciAi5pS+5qOE44CCIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mjk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGhhcyB1bmV4cGVjdGVkIHZhbHVlOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGRvZXMgbm90IGFsbG93IGFueSBjaGFuZ2VzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuXG4iCittc2dzdHIgIkZpbmdlciDos4foqIogKuacquiiqyog6K6K5pu044CC6KuL56iN5b6M5YaN5ZiX6Kmm44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIGNoYW5nZWQuXG4iCittc2dzdHIgIkZpbmdlciDos4foqIrlt7Lorormm7TjgIJcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQwOCBsb2dpbi11dGlscy9jaHNoLmM6MjQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ5b3UgKHVzZXIgJWQpIGRvbid0IGV4aXN0LiIKK21zZ3N0ciAi5oKoICjkvb/nlKjogIUgJWQpIOS4jeWtmOWcqOOAgiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQxNCBsb2dpbi11dGlscy9jaHNoLmM6MjQ4IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXNlciBcIiVzXCIgZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICLkvb/nlKjogIXjgIwlc+OAjeS4jeWtmOWcqOOAgiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQyMCBsb2dpbi11dGlscy9jaHNoLmM6MjU0CisjLCBmdXp6eQorbXNnaWQgImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzIgorbXNnc3RyICLlj6rog73orormm7TmnKzlnLDmop3nm64iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgZmluZ2VyIGluZm8gb2YgJXMiCittc2dzdHIgIiVzIOacquiiq+aOiOasiuWIsOiuiuabtOaJi+aMh+izh+ioiueahCAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzNSBsb2dpbi11dGlscy9jaHNoLmM6MjcwCittc2dpZCAiVW5rbm93biB1c2VyIGNvbnRleHQiCittc2dzdHIgIuS4jeaYjueahOS9v+eUqOiAheebuOmXnOeSsOWigyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ0MSBsb2dpbi11dGlscy9jaHNoLmM6Mjc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAi54Sh5rOV6Kit5a6a6aCQ6Kit6Kqe5aKD55So5pa8ICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDUyCisjLCBmdXp6eQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIuWft+ihjOS4rSBVSUQg5LiN5Yy56YWNIFVJRCDnmoTkvb/nlKjogIXmiJHlgJHmraPlnKjmlLnororvvIzlkb3ku6Tmrrzorormm7Tmi5LntZUiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgZmluZ2VyIGluZm9ybWF0aW9uIGZvciAlcy5cbiIKK21zZ3N0ciAi5L+u5pS5ICVzIOeahCBmaW5nZXIg6LOH6KiK44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIG5vdCBjaGFuZ2VkLlxuIgorbXNnc3RyICJGaW5nZXIg6LOH6KiK5rKS5pyJ6K6K5pu044CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3MgorIywgZnV6enkKK21zZ2lkICJDaGFuZ2UgeW91ciBsb2dpbiBzaGVsbC5cbiIKK21zZ3N0ciAi6K6K5pu0ICVzIOeahCBzaGVsbOOAglxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gIHNwZWNpZnkgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gIOaMh+WumueZu+WFpeWRveS7pOauvFxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIHByaW50IGxpc3Qgb2Ygc2hlbGxzIGFuZCBleGl0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0LXNoZWxscyAgICDliJfljbDlkb3ku6TmrrzmuIXllq7nmoTnhLblvozpm6LplotcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjEwMAorIywgZnV6enkKK21zZ2lkICJObyBrbm93biBzaGVsbHMuIgorbXNnc3RyICLmspLmnInlt7Lnn6Xlkb3ku6TmrrzjgIIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDAKKyMsIGZ1enp5Cittc2dpZCAic2hlbGwgbXVzdCBiZSBhIGZ1bGwgcGF0aCBuYW1lIgorbXNnc3RyICLlkb3ku6Tmrrzlv4XpoIjmmK/lrozmlbTot6/lvpHlkI3nqLEiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi44CMJXPjgI3kuI3lrZjlnKgiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBpcyBub3QgZXhlY3V0YWJsZSIKK21zZ3N0ciAi44CMJXPjgI3kuI3mmK/lj6/ln7fooYzmqpTmoYgiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IFwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLiIKK21zZ3N0ciAi6K2m5ZGK77ya44CMJXPjgI3mnKrooqvmuIXllq7lnKjkuK0gJXPjgIIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMTQgbG9naW4tdXRpbHMvY2hzaC5jOjIxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLlxuIgorIlVzZSAlcyAtbCB0byBzZWUgbGlzdC4iCittc2dzdHIgIiIKKyLjgIwlc+OAjeacquiiq+a4heWWruWcqOS4rSAlc+OAglxuIgorIuS9v+eUqCAlcyAtbCDliLDlj4PnnIvmuIXllq7jgIIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgc2hlbGwgb2YgJXMiCittc2dzdHIgIiVzIOacquiiq+aOiOasiuWIsOiuiuabtOWRveS7pOauvOeahCAlcyIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI5NQorIywgZnV6enkKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICLln7fooYzkuK0gVUlEIOS4jeWMuemFjSBVSUQg55qE5L2/55So6ICF5oiR5YCR5q2j5Zyo5pS56K6K77yM5ZG95Luk5q686K6K5pu05ouS57WVIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIHNoZWxsIGlzIG5vdCBpbiAlcywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAi5oKo55qE5ZG95Luk5q685LiN5piv5Zyo5LitICVz77yM5ZG95Luk5q686K6K5pu05ouS57WVIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIHNoZWxsIGZvciAlcy5cbiIKK21zZ3N0ciAi6K6K5pu0ICVzIOeahCBzaGVsbOOAglxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzEyCittc2dpZCAiTmV3IHNoZWxsIgorbXNnc3RyICLmlrDlkb3ku6TmrrwiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjAKKyMsIGZ1enp5Cittc2dpZCAiU2hlbGwgbm90IGNoYW5nZWQuIgorbXNnc3RyICLlkb3ku6TmrrznhKHms5Xorormm7TjgIIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjUKKyMsIGZ1enp5Cittc2dpZCAiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIiIKKyJzZXRwd25hbSDlpLHmlZdcbiIKKyLlkb3ku6TmrrwgKiDnhKHms5UgKiDorormm7TjgIIg56iN5b6M5YaN6Kmm5LiA5qyh44CCIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzI5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJzZXRwd25hbSBmYWlsZWRcbiIKKyJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiIgorInNldHB3bmFtIOWkseaVl1xuIgorIuWRveS7pOauvCAqIOeEoeazlSAqIOiuiuabtOOAgiDnqI3lvozlho3oqabkuIDmrKHjgIIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hlbGwgY2hhbmdlZC5cbiIKK21zZ3N0ciAic2hlbGwg5bey6K6K5pu044CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIDxwYXNzd29yZGZpbGU+IDx1c2VybmFtZT4uLi5cbiIKK21zZ3N0ciAi55So5rOV77yaJXMgW+mBuOmghV0gW+aqlOahiC4uLl1cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjE3NCBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjAgc3lzLXV0aWxzL2RtZXNnLmM6MTE5MworIzogc3lzLXV0aWxzL2xzaXBjLmM6MjY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHRpbWUgZm9ybWF0OiAlcyIKK21zZ3N0ciAi5LiN5piO5YuV5L2c77yaJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyODEgbG9naW4tdXRpbHMvbGFzdC5jOjI4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW50ZXJydXB0ZWQgJXMiCittc2dzdHIgIiIKKyJcbiIKKyLnmbznlJ/mj5LmlrcgJTEwLjEwcyAlNS41c1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NDM5IGxvZ2luLXV0aWxzL2xhc3QuYzo0NTAKK21zZ2lkICJwcmVhbGxvY2F0aW9uIHNpemUgZXhjZWVkZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPi4uLl0gWzx0dHk+Li4uXVxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gPHVzZXI+IFs8dHR5bmFtZT5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzIKK21zZ2lkICJTaG93IGEgbGlzdGluZyBvZiBsYXN0IGxvZ2dlZCBpbiB1c2Vycy5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc1Cittc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgIGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc2Cittc2dpZCAiIC1hLCAtLWhvc3RsYXN0ICAgICAgIGRpc3BsYXkgaG9zdG5hbWVzIGluIHRoZSBsYXN0IGNvbHVtblxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzcKK21zZ2lkICIgLWQsIC0tZG5zICAgICAgICAgICAgdHJhbnNsYXRlIHRoZSBJUCBudW1iZXIgYmFjayBpbnRvIGEgaG9zdG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgdXNlIGEgc3BlY2lmaWMgZmlsZSBpbnN0ZWFkIG9mICVzXG4iCittc2dzdHIgIiAtZiwgLS1ydGMgPGZpbGU+ICAgICDnibnmroovZGV2Ly4uLuaqlOahiOS7peS9v+eUqOS7peS7o+abv+mgkOiorVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgwCittc2dpZCAiIC1GLCAtLWZ1bGx0aW1lcyAgICAgIHByaW50IGZ1bGwgbG9naW4gYW5kIGxvZ291dCB0aW1lcyBhbmQgZGF0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgxCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pcCAgICAgICAgICAgICBkaXNwbGF5IElQIG51bWJlcnMgaW4gbnVtYmVycy1hbmQtZG90cyBub3RhdGlvblxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIOW7uueri+ioiuaBr+S9h+WIl1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgyCittc2dpZCAiIC1uLCAtLWxpbWl0IDxudW1iZXI+IGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgzCisjLCBmdXp6eQorbXNnaWQgIiAtUiwgLS1ub2hvc3RuYW1lICAgICBkb24ndCBkaXNwbGF5IHRoZSBob3N0bmFtZSBmaWVsZFxuIgorbXNnc3RyICIgLXEsIC0tc3RhdHMgICAgICAgICAgICAgICAgICAgICAgICDpoa/npLrntbHoqIjpl5zmlrwgdHR5XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODQKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNpbmNlIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHNpbmNlIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAg6aGv56S66YCZ5Lu96Kqq5piO54S25b6M6Zui6ZaLXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODUKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXVudGlsIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHVudGlsIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAg6aGv56S66YCZ5Lu96Kqq5piO54S25b6M6Zui6ZaLXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODYKK21zZ2lkICIgLXAsIC0tcHJlc2VudCA8dGltZT4gZGlzcGxheSB3aG8gd2VyZSBwcmVzZW50IGF0IHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODcKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLWZ1bGxuYW1lcyAgICAgIGRpc3BsYXkgZnVsbCB1c2VyIGFuZCBkb21haW4gbmFtZXNcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICDlu7rnq4voqIrmga/kvYfliJdcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OAorbXNnaWQgIiAteCwgLS1zeXN0ZW0gICAgICAgICBkaXNwbGF5IHN5c3RlbSBzaHV0ZG93biBlbnRyaWVzIGFuZCBydW4gbGV2ZWwgY2hhbmdlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODkKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcHMgaW4gdGhlIHNwZWNpZmllZCA8Zm9ybWF0PjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjg4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzIGJlZ2lucyAlcyIKK21zZ3N0ciAiIgorIlxuIgorInd0bXAg6ZaL5aeLICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTU2IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjQKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciIKK21zZ3N0ciAi5YmW5p6Q5YiX6Jmf55qE5pmC5aSx5pWXIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTc3IGxvZ2luLXV0aWxzL2xhc3QuYzo5ODIgbG9naW4tdXRpbHMvbGFzdC5jOjk4NworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZSB2YWx1ZSBcIiVzXCIiCittc2dzdHIgIueEoeaViOeahOmAvuaZguW8leaVuCIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjI5IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzozMQorbXNnaWQgIkNvdWxkbid0IGRyb3AgZ3JvdXAgcHJpdmlsZWdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxpYnVzZXIgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlcy4iCittc2dzdHIgIue+pOe1hOWIneWni+WMluWkseaVl++8miVtIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTIKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdpbmcgdXNlciBhdHRyaWJ1dGUgZmFpbGVkIgorbXNnc3RyICLorormm7QgJXMg5qih5byP5aSx5pWXIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICV1IGlzIDYwLgorIzogbG9naW4tdXRpbHMvbG9naW4uYzoxODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRpbWVkIG91dCBhZnRlciAldSBzZWNvbmRzIgorbXNnc3RyICLlt7LpgL7mmYLkuYvlvowgJXUg56eSIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6IGNhbid0IHJlb3BlbiB0dHk6ICVtIgorbXNnc3RyICLlmrTph43vvJrnhKHms5Xph43mlrDplovllZ8gdHR577yaJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlcyBpcyBub3QgYSB0ZXJtaW5hbCIKK21zZ3N0ciAi5Zq06YeN77yaJXMg5Lim6Z2e57WC56uv5qmfIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gKCVzLCAlbHUsICVsdSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2hvd24gKCVz77yMJWx177yMJWx1KSDlpLHmlZfvvJolbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNobW9kICglcywgJXUpIGZhaWxlZDogJW0iCittc2dzdHIgImNobW9kICglc++8jCV1KSDlpLHmlZfvvJolbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozNzUKK21zZ2lkICJGQVRBTDogYmFkIHR0eSIKK21zZ3N0ciAi5Zq06YeN77ya5LiN55W255qEIHR0eSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozOTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlczogY2hhbmdlIHBlcm1pc3Npb25zIGZhaWxlZDogJW0iCittc2dzdHIgIuWatOmHje+8miVz77ya6K6K5pu05qyK6ZmQ5aSx5pWX77yaJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgbG9naW46ICUuKnMgIgorbXNnc3RyICLkuIrmrKHnmbvlhaXvvJolLipzICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnJvbSAlLipzXG4iCittc2dzdHIgIuW+niAlLipzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIm9uICUuKnNcbiIKK21zZ3N0ciAi5pa8ICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1NTIKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgbGFzdGxvZyBmYWlsZWQiCittc2dzdHIgIuWvq+WFpSBsYXN0bG9nIOWkseaVlyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRElBTFVQIEFUICVzIEJZICVzIgorbXNnc3RyICLnlLEgJTIkcyDmlrwgJTEkcyDmkqXomZ/pgLLlhaUiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMgRlJPTSAlcyIKK21zZ3N0ciAi5b6eICUyJHMg5pa8ICUxJHMg55m75YWl54K657O757Wx566h55CG5ZOhIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2MAorIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIgorbXNnc3RyICLns7vntbHnrqHnkIblk6HmlrwgJXMg55m75YWlIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorbXNnc3RyICLnlLEgJTIkcyDlvp4gJTMkcyDmlrwgJTEkcyDnmbvlhaUiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIgorbXNnc3RyICLnlLEgJTIkcyDmlrwgJTEkcyDnmbvlhaUiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE5Cittc2dpZCAibG9naW46ICIKK21zZ3N0ciAi55m75YWl77yaIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUEFNIGZhaWx1cmUsIGFib3J0aW5nOiAlcyIKK21zZ3N0ciAiUEFNIOWkseaVl++8jOaUvuajhO+8miVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc0NgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZG4ndCBpbml0aWFsaXplIFBBTTogJXMiCittc2dzdHIgIueEoeazleWIneWni+WMliBQQU3vvJolcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiAldSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIuWkseaVl+eahOeZu+WFpSAldSDlvp4gJXMg55So5pa8ICVz77yMJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODI1IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKKyJcbiIKK21zZ3N0ciAiIgorIueZu+WFpeS4jeato+eiulxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVE9PIE1BTlkgTE9HSU4gVFJJRVMgKCV1KSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIuWkquWkmueZu+WFpeWYl+ippiAoJXUpIOW+niAlcyDnlKjmlrwgJXPvvIwlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOIFNFU1NJT04gRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICLlpLHmlZfnmoTnmbvlhaXln7fooYzpmo7mrrXoh6ogJXMg55So5pa8ICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxvZ2luIGluY29ycmVjdFxuIgorbXNnc3RyICIiCisiXG4iCisi55m75YWl6Yyv6KqkXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODgyIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTIzMiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNTUKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gc2V0dXAgcHJvYmxlbSwgYWJvcnQuIgorbXNnc3RyICIiCisiXG4iCisi5L2c5qWt6ZqO5q616Kit5a6a5ZWP6aGM77yM5pS+5qOE44CCIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICJOVUxMIHVzZXIgbmFtZSBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICLlnKggJXM6JWQg5Lit5YyF5ZCr56m65L2/55So6ICF5ZCN56ix77yM5pS+5qOE44CCIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVElPQ1NDVFRZIGZhaWxlZDogJW0iCittc2dzdHIgIlRJT0NTQ1RUWSDlpLHmlZfvvJolbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJsb2dpbjogLWggaXMgZm9yIHN1cGVydXNlciBvbmx5XG4iCittc2dzdHIgImxvZ2lu77yaLWgg5Y+q5o+Q5L6b57O757Wx566h55CG6ICF5L2/55So44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6IGxvZ2luIFstcF0gWy1oIDxob3N0Pl0gWy1IXSBbWy1mXSA8dXNlcm5hbWU+XVxuIgorbXNnc3RyICLnlKjms5XvvJrnmbvlhaUgWy1wXSBbLWgg5Li75qmfXSBbLUhdIFstZiDkvb/nlKjogIXlkI3nqLF85L2/55So6ICF5ZCN56ixXVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExOTEKKyMsIGZ1enp5Cittc2dpZCAiQmVnaW4gYSBzZXNzaW9uIG9uIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIuaCqOato+WcqOmAmeWAi+ezu+e1seS4reS9v+eUqOmZsOW9seWvhueivOOAglxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB1c2VyIG5hbWUgXCIlc1wiIGluICVzOiVkLiBBYm9ydC4iCittc2dzdHIgIueEoeaViOeahOS9v+eUqOiAheWQjeeoseOAjCVz44CN5pa8ICVzOiVk77yM5pS+5qOE44CCIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImdyb3VwcyBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICLnvqTntYTliJ3lp4vljJblpLHmlZfvvJolbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjc5CisjLCBmdXp6eQorbXNnaWQgInNldGdpZCgpIGZhaWxlZCIKK21zZ3N0ciAic2V0Z2lkKCkg5aSx5pWXIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbmV3IG1haWwuXG4iCittc2dzdHIgIuaCqOacieaWsOmDteS7tuOAglxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbWFpbC5cbiIKK21zZ3N0ciAi5oKo5pyJ6YO15Lu244CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMyNQorbXNnaWQgInNldHVpZCgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkg5aSx5pWXIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzEgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNoYW5nZSBkaXJlY3RvcnkgZmFpbGVkIgorbXNnc3RyICIlc++8muiuiuabtOebrumMhOWkseaVlyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzM4IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9nZ2luZyBpbiB3aXRoIGhvbWUgPSBcIi9cIi5cbiIKK21zZ3N0ciAi55m75YWl5pmC5YCL5Lq66LOH5paZ5aS+PeOAjC/jgI3jgIJcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzY3CisjLCBmdXp6eQorbXNnaWQgImNvdWxkbid0IGV4ZWMgc2hlbGwgc2NyaXB0IgorbXNnc3RyICLnhKHms5UgZXhlYyDlkb3ku6TnqL8iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM2OQorIywgZnV6enkKK21zZ2lkICJubyBzaGVsbCIKK21zZ3N0ciAi5rKS5pyJ5ZG95Luk5q68IgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzoyMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBjb250YWlucyBpbnZhbGlkIG51bWVyaWNhbCB2YWx1ZTogJXMiCittc2dzdHIgIiVz77yaJXMg5ZCr5pyJ54Sh5pWI55qE5pW45YC877yaJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjM3NQorbXNnaWQgImh1c2ggbG9naW4gc3RhdHVzOiByZXN0b3JlIG9yaWdpbmFsIElEcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDggc3lzLXV0aWxzL2xzY3B1LmM6MTU0MCBzeXMtdXRpbHMvbHNjcHUuYzoxNTUwCittc2dpZCAibm8iCittc2dzdHIgIuWQpiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcgbWlzYy11dGlscy9sc2Jsay5jOjE4MQorIywgZnV6enkKK21zZ2lkICJ1c2VyIG5hbWUiCittc2dzdHIgIuS9v+eUqOiAheWQjeeosSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcKKyMsIGZ1enp5Cittc2dpZCAiVXNlcm5hbWUiCittc2dzdHIgIuS9v+eUqOiAheWQjeeosSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTggc3lzLXV0aWxzL3JlbmljZS5jOjU0CisjLCBmdXp6eQorbXNnaWQgInVzZXIgSUQiCittc2dzdHIgIuS9v+eUqOiAheitmOWIpeiZnyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJwYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJQYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAibG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIiVz77yaUm9vdCDlr4bnorzpjK/kuoIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCisjLCBmdXp6eQorbXNnaWQgIkxvZ2luIGJ5IHBhc3N3b3JkIGRpc2FibGVkIgorbXNnc3RyICIlc++8mlJvb3Qg5a+G56K86Yyv5LqCIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgInBhc3N3b3JkIGRlZmluZWQsIGJ1dCBsb2NrZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKKyMsIGZ1enp5Cittc2dpZCAiUGFzc3dvcmQgaXMgbG9ja2VkIgorbXNnc3RyICLlr4bnorzvvJoiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAibG9nIGluIGRpc2FibGVkIGJ5IG5vbG9naW4oOCkgb3IgcGFtX25vbG9naW4oOCkiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKKyMsIGZ1enp5Cittc2dpZCAiTm8gbG9naW4iCittc2dzdHIgIueZu+WFpe+8miIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKKyMsIGZ1enp5Cittc2dpZCAicHJpbWFyeSBncm91cCBuYW1lIgorbXNnc3RyICLnvqTntYTlkI3nqLEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCisjLCBmdXp6eQorbXNnaWQgIlByaW1hcnkgZ3JvdXAiCittc2dzdHIgIuS4u+imgeeahCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjQKKyMsIGZ1enp5Cittc2dpZCAicHJpbWFyeSBncm91cCBJRCIKK21zZ3N0ciAi6JmV55CG576k57WE6K2Y5Yil6JmfIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgbmFtZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKKyMsIGZ1enp5Cittc2dpZCAiaG9tZSBkaXJlY3RvcnkiCittc2dzdHIgIuebrumMhCAlcyDkuI3lrZjlnKjvvIFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKKyMsIGZ1enp5Cittc2dpZCAiSG9tZSBkaXJlY3RvcnkiCittc2dzdHIgIuebrumMhCAlcyDkuI3lrZjlnKjvvIFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKKyMsIGZ1enp5Cittc2dpZCAibG9naW4gc2hlbGwiCittc2dzdHIgIuaykuacieWRveS7pOauvCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKKyMsIGZ1enp5Cittc2dpZCAiU2hlbGwiCittc2dzdHIgIuaykuacieWRveS7pOauvCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKKyMsIGZ1enp5Cittc2dpZCAiZnVsbCB1c2VyIG5hbWUiCittc2dzdHIgIuS9v+eUqOiAheWQjeeosSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJHZWNvcyBmaWVsZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorIywgZnV6enkKK21zZ2lkICJkYXRlIG9mIGxhc3QgbG9naW4iCittc2dzdHIgIueVpemBjuesrOS4gOWIlyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBsb2dpbiIKK21zZ3N0ciAi5LiK5qyh55m75YWl77yaJS4qcyAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCittc2dpZCAibGFzdCB0dHkgdXNlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorIywgZnV6enkKK21zZ2lkICJMYXN0IHRlcm1pbmFsIgorbXNnc3RyICLlmrTph43vvJolcyDkuKbpnZ7ntYLnq6/mqZ8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiaG9zdG5hbWUgZHVyaW5nIHRoZSBsYXN0IHNlc3Npb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBob3N0bmFtZSIKK21zZ3N0ciAibGFzdO+8mmdldGhvc3RuYW1lIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworIywgZnV6enkKK21zZ2lkICJkYXRlIG9mIGxhc3QgZmFpbGVkIGxvZ2luIgorbXNnc3RyICLot6/lvpEgbHN0YXQg5pmC5aSx5pWXXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiRmFpbGVkIGxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIndoZXJlIGRpZCB0aGUgbG9naW4gZmFpbD8iCittc2dzdHIgIuWvq+WFpSBsYXN0bG9nIOWkseaVlyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIGxvZ2luIHRlcm1pbmFsIgorbXNnc3RyICLoqK3lrprmjqfliLbntYLnq6/mqZ/mmYLlpLHmlZciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAidXNlcidzIGh1c2ggc2V0dGluZ3MiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJIdXNoZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzYKK21zZ2lkICJkYXlzIHVzZXIgaXMgd2FybmVkIG9mIHBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzYKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIHdhcm4gaW50ZXJ2YWwiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzcKK21zZ2lkICJwYXNzd29yZCBleHBpcmF0aW9uIGRhdGUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAi5a+G56K877yaIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorbXNnaWQgImRhdGUgb2YgbGFzdCBwYXNzd29yZCBjaGFuZ2UiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiUGFzc3dvcmQgY2hhbmdlZCIKK21zZ3N0ciAi5a+G56K877yaIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIm51bWJlciBvZiBkYXlzIHJlcXVpcmVkIGJldHdlZW4gY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorIywgZnV6enkKK21zZ2lkICJNaW5pbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICLmspLmnInorormm7TmiYDlgZoiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAibWF4IG51bWJlciBvZiBkYXlzIGEgcGFzc3dvcmQgbWF5IHJlbWFpbiB1bmNoYW5nZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKK21zZ2lkICJNYXhpbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCittc2dpZCAidGhlIHVzZXIncyBzZWN1cml0eSBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCisjLCBmdXp6eQorbXNnaWQgIlNlbGludXggY29udGV4dCIKK21zZ3N0ciAiTGludXgg57SU5paH5a2XIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorIywgZnV6enkKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIHJ1biBieSB0aGUgdXNlciIKK21zZ3N0ciAi5pyA5aSn6KGM56iL5pW46YePIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorIywgZnV6enkKK21zZ2lkICJSdW5uaW5nIHByb2Nlc3NlcyIKK21zZ3N0ciAiJXPvvJrmib7kuI3liLDooYznqIvjgIwlc+OAjVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzYgbWlzYy11dGlscy9sc2Jsay5jOjIzMQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGNvbHVtbnMgc3BlY2lmaWVkLCB0aGUgbGltaXQgaXMgJXp1IGNvbHVtbnMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDMgc3lzLXV0aWxzL2xzaXBjLmM6NDU2CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIHRpbWUgdHlwZSIKK21zZ3N0ciAi5LiN5Y+X5pSv5o+055qE5byV5pW477yaJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjb21wb3NlIHRpbWUgc3RyaW5nIgorbXNnc3RyICLliZbmnpDlpKflsI/mmYLlpLHmlZciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6NjQ4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgIuioreWumiB1bW91bnQg55uu5qiZ5pmC5aSx5pWXIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzEKKyMsIGZ1enp5Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVua25vd24gY29sdW1uIgorbXNnc3RyICLlhafpg6jpjK/oqqQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA3NSBzeXMtdXRpbHMvbHNpcGMuYzo1MDMgc3lzLXV0aWxzL2xzaXBjLmM6NjI1CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo2ODAgc3lzLXV0aWxzL2xzaXBjLmM6ODM4IHN5cy11dGlscy9sc2lwYy5jOjEwMzYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCBkYXRhIgorbXNnc3RyICLoqK3lrprot6/lvpHmmYLlpLHmlZciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTE2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxhc3QgbG9nczpcbiIKK21zZ3N0ciAi5LiK5qyh55m75YWl77yaJS4qcyAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyOCBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMSBtaXNjLXV0aWxzL21jb29raWUuYzo4MiBtaXNjLXV0aWxzL3V1aWRkLmM6NzAKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI1IHN5cy11dGlscy9kbWVzZy5jOjI2NCBzeXMtdXRpbHMvaXBjbWsuYzo2NgorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2MCBzeXMtdXRpbHMvbHNpcGMuYzoyNzcgc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA0CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjk1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MCB0ZXh0LXV0aWxzL2xpbmUuYzozMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIgJXMgW+mBuOmghV1cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMxCittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBrbm93biB1c2VycyBpbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNAorbXNnaWQgIiAtYSwgLS1hY2MtZXhwaXJhdGlvbiAgICAgZGlzcGxheSBpbmZvIGFib3V0IHBhc3N3b3JkcyBleHBpcmF0aW9uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM1Cittc2dpZCAiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICBkaXNwbGF5IGRhdGEgaW4gYSBmb3JtYXQgc2ltaWxhciB0byAvZXRjL3Bhc3N3ZFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNiBzeXMtdXRpbHMvbHNpcGMuYzoyOTYKKyMsIGZ1enp5Cittc2dpZCAiIC1lLCAtLWV4cG9ydCAgICAgICAgICAgICBkaXNwbGF5IGluIGFuIGV4cG9ydC1hYmxlIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiKXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNworIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIGRpc3BsYXkgZGF0YSBhYm91dCB0aGUgdXNlcnMnIGxhc3QgZmFpbGVkIGxvZ2luc1xuIgorbXNnc3RyICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIOW7uueri+ioiuaBr+S9h+WIl1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzgKKyMsIGZ1enp5Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGdyb3Vwc1xuIgorbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIpcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM5Cittc2dpZCAiIC1nLCAtLWdyb3Vwcz08Z3JvdXBzPiAgICBkaXNwbGF5IHVzZXJzIGJlbG9uZ2luZyB0byBhIGdyb3VwIGluIDxncm91cHM+XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQwCisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1sYXN0ICAgICAgICAgICAgICAgc2hvdyBpbmZvIGFib3V0IHRoZSB1c2VycycgbGFzdCBsb2dpbiBzZXNzaW9uc1xuIgorbXNnc3RyICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICDliJfljbDlj6rmnInos4foqIrpl5zmlrzlj5bmqKPmraXpqZ9cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQxCittc2dpZCAiIC1sLCAtLWxvZ2lucz08bG9naW5zPiAgICBkaXNwbGF5IG9ubHkgdXNlcnMgZnJvbSA8bG9naW5zPlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MiBzeXMtdXRpbHMvbHNpcGMuYzoyOTgKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ld2xpbmUgICAgICAgICAgICBkaXNwbGF5IGVhY2ggcGllY2Ugb2YgaW5mb3JtYXRpb24gb24gYSBuZXcgbGluZVxuIgorbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIpcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQzIHN5cy11dGlscy9sc2lwYy5jOjI5MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtZiAgICAgICAgICAg5LiN5YiG5Ymy6ZW35YiXXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NCBzeXMtdXRpbHMvbHNpcGMuYzoyOTIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBkb24ndCB0cnVuY2F0ZSBvdXRwdXRcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICDkuI3liIblibLplbfliJdcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0Wz08bGlzdD5dICAgIGRlZmluZSB0aGUgY29sdW1ucyB0byBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAg55+t6YG46aCF54K66L6o6K2Y55qEXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcHdkICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBsb2dpbiBieSBwYXNzd29yZC5cbiIKK21zZ3N0ciAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiKXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NyBzeXMtdXRpbHMvbHNpcGMuYzozMDIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICBkaXNwbGF5IGluIHJhdyBtb2RlXG4iCittc2dzdHIgIiAtZywgLS1nZXQtdGhyZXNob2xkICAgICAgICAgICAgICAgIOmhr+ekuuebruWJjeeahOiHqOeVjOWAvFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDgKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICBkaXNwbGF5IHN5c3RlbSBhY2NvdW50c1xuIgorbXNnc3RyICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIOW7uueri+ioiuaBr+S9h+WIl1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDkgc3lzLXV0aWxzL2xzaXBjLmM6MjkzCittc2dpZCAiICAgICAtLXRpbWUtZm9ybWF0PTx0eXBlPiBkaXNwbGF5IGRhdGVzIGluIHNob3J0LCBmdWxsIG9yIGlzbyBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTAKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzZXItYWNjcyAgICAgICAgICBkaXNwbGF5IHVzZXIgYWNjb3VudHNcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICDlu7rnq4voqIrmga/kvYfliJdcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUxCisjLCBmdXp6eQorbXNnaWQgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgZGlzcGxheSBTRUxpbnV4IGNvbnRleHRzXG4iCittc2dzdHIgIiAtZywgLS1nZXQtdGhyZXNob2xkICAgICAgICAgICAgICAgIOmhr+ekuuebruWJjeeahOiHqOeVjOWAvFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTIKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0IHVzZXIgZW50cmllcyB3aXRoIGEgbnVsIGNoYXJhY3RlclxuIgorbXNnc3RyICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICDliJfljbDlj6rmnInos4foqIrpl5zmlrzlj5bmqKPmraXpqZ9cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUzCittc2dpZCAiICAgICAtLXd0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIHd0bXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTQKK21zZ2lkICIgICAgIC0tYnRtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3IgYnRtcFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1OSBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ3IHN5cy11dGlscy9sc2NwdS5jOjE5NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIuWPr+eUqOashOS9je+8mlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NDIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlcXVlc3Qgc2VsaW51eCBzdGF0ZSIKK21zZ3N0ciAi5YmW5p6Q6ZaL5aeL5pmC5aSx5pWXIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NTYgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDYwCittc2dpZCAiT25seSBvbmUgdXNlciBtYXkgYmUgc3BlY2lmaWVkLiBVc2UgLWwgZm9yIG11bHRpcGxlIHVzZXJzLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo0OSBsb2dpbi11dGlscy9uZXdncnAuYzo1NQorIywgZnV6enkKK21zZ2lkICJjb3VsZCBub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiCittc2dzdHIgIueEoeazleioreWumue1guerr+apn+WxrOaAp+eUqOaWvCAlcyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTcKKyMsIGZ1enp5Cittc2dpZCAiZ2V0bGluZSgpIGZhaWxlZCIKK21zZ3N0ciAic2V0Z2lkKCkg5aSx5pWXIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNDgKK21zZ2lkICJQYXNzd29yZDogIgorbXNnc3RyICLlr4bnorzvvJoiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE1NCBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAwNQorIywgZnV6enkKK21zZ2lkICJjcnlwdCBmYWlsZWQiCittc2dzdHIgIuWvq+WFpeWkseaVlyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGdyb3VwPlxuIgorbXNnc3RyICIgJXMgPGdyb3VwPlxuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjkKK21zZ2lkICJMb2cgaW4gdG8gYSBuZXcgZ3JvdXAuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjA3CisjLCBmdXp6eQorbXNnaWQgIndobyBhcmUgeW91PyIKK21zZ3N0ciAi6Kqw5piv5oKo77yfIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTEgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjIzIHN5cy11dGlscy9uc2VudGVyLmM6NDIzCisjLCBmdXp6eQorbXNnaWQgInNldGdpZCBmYWlsZWQiCittc2dzdHIgInNldGdpZCDlpLHmlZciCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxNiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTgKKyMsIGZ1enp5Cittc2dpZCAibm8gc3VjaCBncm91cCIKK21zZ3N0ciAi5rKS5pyJ5q2k6aGe576k57WEIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjEgc3lzLXV0aWxzL21vdW50LmM6NDkxCisjLCBmdXp6eQorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIgorbXNnc3RyICLmrIrpmZDooqvmi5IiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyNyBzeXMtdXRpbHMvbnNlbnRlci5jOjQyNQorIywgZnV6enkKK21zZ2lkICJzZXR1aWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQg5aSx5pWXIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjkKK21zZ2lkICJQb2xpdGVseSByZWZ1c2UgYSBsb2dpbi5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoaXMgYWNjb3VudCBpcyBjdXJyZW50bHkgbm90IGF2YWlsYWJsZS5cbiIKK21zZ3N0ciAi6YCZ5YCL56OB56Kf54K655uu5YmN5Zyo5L2/55So5Lit44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjI5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gc2Vzc2lvbjogJXMiCittc2dzdHIgIueEoeazleeEoeazlemWi+WVn+S9nOalremajuaute+8miVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMDQKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBjaGlsZCBwcm9jZXNzIgorbXNnc3RyICLnhKHms5Xlu7rnq4vlrZDooYznqIsiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIueEoeazleiuiuabtOebrumMhOWIsCAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzIxCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBibG9jayBzaWduYWxzIgorbXNnc3RyICLnhKHms5XljYDloYrkv6HomZ8iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMzNSBsb2dpbi11dGlscy9zdS1jb21tb24uYzozNDMKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjM0OSBtaXNjLXV0aWxzL3V1aWRkLmM6NDA3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NzcxCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgIueEoeazleioreWumuS/oeiZn+iZleeQhueoi+W8jyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Mzc0Cittc2dpZCAiIChjb3JlIGR1bXBlZCkiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLCBraWxsaW5nIHNoZWxsLi4uIgorbXNnc3RyICIiCisiXG4iCisi5L2c5qWt6ZqO5q6157WC5q2i77yMa2lsbGluZyDlkb3ku6TmrrzigKYiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC4uLmtpbGxlZC5cbiIKK21zZ3N0ciAiLi4ua2lsbGVk44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQ4NgorbXNnaWQgIm1heSBub3QgYmUgdXNlZCBieSBub24tcm9vdCB1c2VycyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MTQKKyMsIGZ1enp5Cittc2dpZCAiaW5jb3JyZWN0IHBhc3N3b3JkIgorbXNnc3RyICLkuI3mraPnorrlr4bnorwiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjU5OAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwcyIKK21zZ3N0ciAi54Sh5rOV6Kit5a6a576k57WEIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2MTMgc3lzLXV0aWxzL2VqZWN0LmM6NjY1Cittc2dpZCAiY2Fubm90IHNldCBncm91cCBpZCIKK21zZ3N0ciAi54Sh5rOV6Kit5a6a576k57WE6K2Y5Yil6JmfIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2MTUgc3lzLXV0aWxzL2VqZWN0LmM6NjY4Cittc2dpZCAiY2Fubm90IHNldCB1c2VyIGlkIgorbXNnc3RyICLnhKHms5XoqK3lrprkvb/nlKjogIXorZjliKXomZ8iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAtdSA8dXNlcj4gW1stLV0gPGNvbW1hbmQ+XVxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gPHVzZXI+IFs8dHR5bmFtZT5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY4OSBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gPHByb2dyYW0+IFvlvJXmlbguLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY5MAorbXNnaWQgIiIKKyJcbiIKKyJSdW4gPGNvbW1hbmQ+IHdpdGggdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCBvZiA8dXNlcj4uICBJZiAtdSBpc1xuIgorIm5vdCBnaXZlbiwgZmFsbCBiYWNrIHRvIHN1KDEpLWNvbXBhdGlibGUgc2VtYW50aWNzIGFuZCBleGVjdXRlIHN0YW5kYXJkIHNoZWxsLlxuIgorIlRoZSBvcHRpb25zIC1jLCAtZiwgLWwsIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLXUuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Njk3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2VyIDx1c2VyPiAgICAgICAgICAgICB1c2VybmFtZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIOaYr+abtOWkmuips+e0sOeahFxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDIKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkNoYW5nZSB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIHRvIHRoYXQgb2YgPHVzZXI+LlxuIgorIkEgbWVyZSAtIGltcGxpZXMgLWwuICBJZiA8dXNlcj4gaXMgbm90IGdpdmVuLCByb290IGlzIGFzc3VtZWQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyIg6K6K5pu05pyJ5pWI5L2/55So6ICF6K2Y5Yil6Jmf5ZKM576k57WE6K2Y5Yil6Jmf5Yiw6Kmy55qE5L2/55So6ICF44CCXG4iCisiIG1lcmUgLSDmhI/lkbPokZcgLWwuICAg5aaC5p6c5L2/55So6ICF54Sh5rOV57Wm5a6a55qE77yM5YGH6Kit5qC544CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwOQorbXNnaWQgIiAtbSwgLXAsIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgIGRvIG5vdCByZXNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTAKKyMsIGZ1enp5Cittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgICAgICAgICAgc3BlY2lmeSB0aGUgcHJpbWFyeSBncm91cFxuIgorbXNnc3RyICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICDmjIflrprkuKbliJfln6AgaXJxXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxMQorbXNnaWQgIiIKKyIgLUcsIC0tc3VwcC1ncm91cCA8Z3JvdXA+ICAgICAgICBzcGVjaWZ5IGEgc3VwcGxlbWVudGFsIGdyb3VwXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzEzCisjLCBmdXp6eQorbXNnaWQgIiAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgICAgIG1ha2UgdGhlIHNoZWxsIGEgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAg6YCZ5YCL5bCP55So5rOV5oyH5bCOXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcxNAorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKK21zZ3N0ciAiIC1jICAtLWNvbW1hbmQgPGNvbW1hbmQ+ICDpgYvooYzllq7kuIDlkb3ku6TlrZfkuLLpgI/pgY7lkb3ku6TmrrxcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE1CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkbyBub3QgY3JlYXRlIGEgbmV3IHNlc3Npb25cbiIKK21zZ3N0ciAiIC1jICAtLWNvbW1hbmQgPGNvbW1hbmQ+ICDpgYvooYzllq7kuIDlkb3ku6TlrZfkuLLpgI/pgY7lkb3ku6TmrrxcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzE3CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgIHBhc3MgLWYgdG8gdGhlIHNoZWxsIChmb3IgY3NoIG9yIHRjc2gpXG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIOmHjee9rumAmuioiuWfoFxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MTgKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgICAgcnVuIDxzaGVsbD4gaWYgL2V0Yy9zaGVsbHMgYWxsb3dzIGl0XG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgIOioreWumuWRveS7pOauvOW8leiogOaFo+S+i1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwIGlzIG5vdCBwb3NzaWJsZSIKK21zZ2lkX3BsdXJhbCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwcyBpcyBub3QgcG9zc2libGUiCittc2dzdHJbMF0gIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJncm91cCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi5L2/55So6ICFICVzIOS4jeWtmOWcqCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODg2Cittc2dpZCAiaWdub3JpbmcgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg5NworbXNnaWQgIm9wdGlvbnMgLS17c2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbn0gYW5kIC0tdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjkwMQorIywgZnV6enkKK21zZ2lkICJubyBjb21tYW5kIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgIuacquaMh+WumuS7u+S9leWLleS9nCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTE1Cittc2dpZCAib25seSByb290IGNhbiBzcGVjaWZ5IGFsdGVybmF0aXZlIGdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5MjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzZXIgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIuS9v+eUqOiAhSAlcyDkuI3lrZjlnKgiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgcmVzdHJpY3RlZCBzaGVsbCAlcyIKK21zZ3N0ciAi5L2/55So6ZmQ5Yi255qE5ZG95Luk5q68ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICLorablkYrvvJrnhKHms5Xorormm7Tnm67pjITliLAgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMzAKKyMsIGZ1enp5Cittc2dpZCAidGNnZXRhdHRyIGZhaWxlZCIKK21zZ3N0ciAidGNnZXRhdHRyIOWkseaVlyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjIwNworIywgZnV6enkKK21zZ2lkICJ0Y3NldGF0dHIgZmFpbGVkIgorbXNnc3RyICJ0Y3NldGF0dHIg5aSx5pWXIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiJXPvvJrmspLmnInmop3nm67nlKjmlrzmoLlcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290IgorbXNnc3RyICIlc++8muaykuacieaineebrueUqOaWvOaguSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJvb3QgcGFzc3dvcmQgZ2FyYmxlZCIKK21zZ3N0ciAiJXPvvJpSb290IOWvhueivOmMr+S6giIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQ2Fubm90IG9wZW4gYWNjZXNzIHRvIGNvbnNvbGUsIHRoZSByb290IGFjY291bnQgaXMgbG9ja2VkLlxuIgorIlNlZSBzdWxvZ2luKDgpIG1hbiBwYWdlIGZvciBtb3JlIGRldGFpbHMuXG4iCisiXG4iCisiUHJlc3MgRW50ZXIgdG8gY29udGludWUuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBsb2dpbjogIgorbXNnc3RyICLntablh7ogUm9vdCDlr4bnorznlKjmlrzntq3orbdcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIGxvZ2luOiAiCittc2dzdHIgIuaMieS4i+i8uOWFpeeUqOaWvOe2reittyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICLntablh7ogUm9vdCDlr4bnorznlKjmlrzntq3orbdcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIuaMieS4i+i8uOWFpeeUqOaWvOe2reittyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiKG9yIHByZXNzIENvbnRyb2wtRCB0byBjb250aW51ZSk6ICIKK21zZ3N0ciAiKOaIluWei+aFiyBDb250cm9sLUQg5Yiw57m857qMKe+8miIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc0MgorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IHRvIHN5c3RlbSByb290IGZhaWxlZCIKK21zZ3N0ciAi6K6K5pu055uu6YyE5Yiw57O757Wx5qC55aSx5pWXIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzkxCisjLCBmdXp6eQorbXNnaWQgInNldGV4ZWNjb24gZmFpbGVkIgorbXNnc3RyICJzZXRleGVjY29uIOWkseaVlyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbdHR5IGRldmljZV1cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIFt0dHkg6KOd572uXVxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODE0Cittc2dpZCAiU2luZ2xlLXVzZXIgbG9naW4uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgxNworIywgZnV6enkKK21zZ2lkICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICBzdGFydCBhIGxvZ2luIHNoZWxsXG4iCisiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICBtYXggdGltZSB0byB3YWl0IGZvciBhIHBhc3N3b3JkIChkZWZhdWx0OiBubyBsaW1pdClcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGV4YW1pbmUgcGFzc3dvcmQgZmlsZXMgZGlyZWN0bHkgaWYgZ2V0cHduYW0oMykgZmFpbHNcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1sb2dpbi1zaGVsbCAgICAgICAg6ZaL5aeL55m75YWl5ZG95Luk5q68XG4iCisiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICDmnIDlpKfmmYLplpPliLDnrYnlvoXlr4bnorwgKOmgkOiore+8muaykuaciemZkOWItilcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIOaqouafpeWvhueivOaqlOahiOebtOaOpeWmguaenCBnZXRwd25hbSAoMykg5aSx5pWXXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4NzEgbWlzYy11dGlscy9maW5kbW50LmM6MTQ2MyBzeXMtdXRpbHMvd2RjdGwuYzo1MjMKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzUwIHRlcm0tdXRpbHMvd2FsbC5jOjEzNQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahOmAvuaZguW8leaVuCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg5MworIywgZnV6enkKK21zZ2lkICJvbmx5IHN1cGVydXNlciBjYW4gcnVuIHRoaXMgcHJvZ3JhbSIKK21zZ3N0ciAi5Y+q5pyJ5qC55Y+v5Lul6YGL6KGM6YCZ5YCL56iL5byP44CCIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTM2CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIGNvbnNvbGUiCittc2dzdHIgIueEoeazlemWi+WVnyAlcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjk0MworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYXNzd29yZCBkYXRhYmFzZSIKK21zZ3N0ciAi54Sh5rOV6ZaL5ZWf5a+G56K86LOH5paZ5bqr44CCIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIkNhbiBub3QgZXhlY3V0ZSBzdSBzaGVsbFxuIgorIlxuIgorbXNnc3RyICLnhKHms5Xlj5blvpfno4Hnop/lpKflsI8iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDI3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJUaW1lZCBvdXRcbiIKKyJcbiIKK21zZ3N0ciAi5bey6YC+5pmCIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTA1OQorIywgZnV6enkKK21zZ2lkICIiCisiQ2FuIG5vdCB3YWl0IG9uIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIueEoeazleWPluW+l+ejgeein+Wkp+WwjyIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxNzYgdGV4dC11dGlscy90YWlsZi5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoLiIKK21zZ3N0ciAiJXPvvJrnhKHms5XliqDlhaUgaW5vdGlmeSDnm6PnnIvjgIIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTg1IHRleHQtdXRpbHMvdGFpbGYuYzoxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGlub3RpZnkgZXZlbnRzIgorbXNnc3RyICIlc++8mueEoeazleiugOWPliBpbm90aWZ5IOS6i+S7tiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDYgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNTEKKyMsIGZ1enp5Cittc2dpZCAiRXh0cmFuZW91cyBuZXdsaW5lIGluIGZpbGUuIEV4aXRpbmcuIgorbXNnc3RyICLlpJbkvobmlrDliJflrZflhYPlnKjkuK3mqpTmoYjjgILpm6LplovjgIIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlbmFtZV1cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIFvmqpTlkI1dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzEyCittc2dpZCAiRHVtcCBVVE1QIGFuZCBXVE1QIGZpbGVzIGluIHJhdyBmb3JtYXQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTUKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvbGxvdyAgICAgICAgIG91dHB1dCBhcHBlbmRlZCBkYXRhIGFzIHRoZSBmaWxlIGdyb3dzXG4iCittc2dzdHIgIiIKKyIgLWYsIC0tZm9sbG93ICAg6Ly45Ye66ZmE5Yqg55qE6LOH5paZ5YGa54K65qqU5qGIIGdyb3dzXG4iCisiIC1yLCAtLXJldmVyc2UgIOWvq+WFpeS4iuS4gOatpeWCvuWNsOeahOizh+aWmemAsuWFpSB1dG1wIOaqlOahiFxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxNgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgd3JpdGUgYmFjayBkdW1wZWQgZGF0YSBpbnRvIHV0bXAgZmlsZVxuIgorbXNnc3RyICIiCisiIC1mLCAtLWZvbGxvdyAgIOi8uOWHuumZhOWKoOeahOizh+aWmeWBmueCuuaqlOahiCBncm93c1xuIgorIiAtciwgLS1yZXZlcnNlICDlr6vlhaXkuIrkuIDmraXlgr7ljbDnmoTos4fmlpnpgLLlhaUgdXRtcCDmqpTmoYhcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTcKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8ZmlsZT4gIHdyaXRlIHRvIGZpbGUgaW5zdGVhZCBvZiBzdGFuZGFyZCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIOeJueauii9kZXYvLi4u5qqU5qGI5Lul5L2/55So5Lul5Luj5pu/6aCQ6KitXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzg0CisjLCBmdXp6eQorbXNnaWQgImZvbGxvd2luZyBzdGFuZGFyZCBpbnB1dCBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAi5LiL5YiX5qiZ5rqW6Ly45YWl6KKr5LiN5Y+X5pSv5o+055qEIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXRtcCB1bmR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiVXRtcCB1bmR1bXAg55qEICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVdG1wIGR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiVXRtcCDlgr7ljbDnmoQgJXNcbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE0MQorIywgZnV6enkKK21zZ2lkICJjYW4ndCBvcGVuIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICLnhKHms5XplovllZ/mmqvlrZjmqpQiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjcmVhdGUgYSBsaW5rIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJrlu7rnq4vpgKPntZDliLAgJXMg5aSx5pWXIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBnZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIueEoeazleaPkOWPluiqnuWig+eUqOaWvCAlcyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3Qgc2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICLnhKHms5XoqK3lrproqp7looPnlKjmlrwgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHVuY2hhbmdlZCIKK21zZ3N0ciAiJXMg5pyq6K6K5pu0IgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjU0CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgbG9jayIKK21zZ3N0ciAi54Sh5rOV5o+Q5Y+W6Y6W5a6aIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjgxCisjLCBmdXp6eQorbXNnaWQgIm5vIGNoYW5nZXMgbWFkZSIKK21zZ3N0ciAi5rKS5pyJ6K6K5pu05omA5YGaIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjkwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjaG1vZCBmaWxlIgorbXNnc3RyICLnhKHms5UgY2htb2Qg5qqU5qGIIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzA0Cittc2dpZCAiRWRpdCB0aGUgcGFzc3dvcmQgb3IgZ3JvdXAgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzUwCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgZ3JvdXBzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICLmgqjmraPlnKjpgJnlgIvns7vntbHkuK3kvb/nlKjpmbDlvbHnvqTntYTjgIJcbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM1MQorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IHBhc3N3b3JkcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAi5oKo5q2j5Zyo6YCZ5YCL57O757Wx5Lit5L2/55So6Zmw5b2x5a+G56K844CCXG4iCisKKyMuIFRSQU5TTEFUT1JTOiB0aGlzIHByb2dyYW0gdXNlcyBmb3IgeSBhbmQgbiBycG1hdGNoKDMpLAorIy4gKiB3aGljaCBtZWFucyB0aGV5IGNhbiBiZSB0cmFuc2xhdGVkLgorIzogbG9naW4tdXRpbHMvdmlwdy5jOjM1NQorIywgYy1mb3JtYXQKK21zZ2lkICJXb3VsZCB5b3UgbGlrZSB0byBlZGl0ICVzIG5vdyBbeS9uXT8gIgorbXNnc3RyICLmgqjnj77lnKjmg7PopoHnt6jovK8gJXMg5ZeOW3kvbl3vvJ8iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzcyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbW9udGggYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahOmVt+W6puW8leaVuCIKKworIzogbWlzYy11dGlscy9jYWwuYzozODAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB3ZWVrIGFyZ3VtZW50IgorbXNnc3RyICLnhKHmlYjnmoTpgJ/luqblvJXmlbgiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MzgyCisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogdXNlIDEtNTQiCittc2dzdHIgIuS4jeWQiOazleeahOaXpeiZn++8muS9v+eUqCAxLSVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHRpbWVzdGFtcCBvciB1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICLliZbmnpDlpKflsI/mmYLlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDMxCisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlIgorbXNnc3RyICLkuI3lkIjms5XnmoTlpKnlgLwiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDMzIG1pc2MtdXRpbHMvY2FsLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlOiB1c2UgMS0lZCIKK21zZ3N0ciAi5LiN5ZCI5rOV55qE5pel6Jmf77ya5L2/55SoIDEtJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDM3IG1pc2MtdXRpbHMvY2FsLmM6NDQ1Cittc2dpZCAiaWxsZWdhbCBtb250aCB2YWx1ZTogdXNlIDEtMTIiCittc2dzdHIgIuS4jeWQiOazleeahOaciOWIhu+8muS9v+eUqCAxLTEyIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAi5LiN5piO5YSq5YWI5qyK5ZCN56ix77yaJXPjgIIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDQ4IG1pc2MtdXRpbHMvY2FsLmM6NDUyCisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZSIKK21zZ3N0ciAi5LiN5ZCI5rOV55qE5aSp5YC8IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ1MAorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWU6IHVzZSBwb3NpdGl2ZSBpbnRlZ2VyIgorbXNnc3RyICLkuI3lkIjms5XnmoTlubTliIbvvJrkvb/nlKggMS05OTk5IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4MiBtaXNjLXV0aWxzL2NhbC5jOjQ5NQorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHllYXIgJWQgZG9lc24ndCBoYXZlIHdlZWsgJWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo2NzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIgorbXNnc3RyICIlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo2ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTA0ZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjY5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgJTA0ZCIKK21zZ3N0ciAiJXMgJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6OTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtbW2RheV0gbW9udGhdIHllYXJdXG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSBbW1vlpKldIOaciF0g5bm0XVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vbnRobmFtZT5cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIDxmaWxlbmFtZT5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo5OTcKK21zZ2lkICJEaXNwbGF5IGEgY2FsZW5kYXIsIG9yIHNvbWUgcGFydCBvZiBpdC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjk5OAorbXNnaWQgIldpdGhvdXQgYW55IGFyZ3VtZW50cywgZGlzcGxheSB0aGUgY3VycmVudCBtb250aC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDEKKyMsIGZ1enp5Cittc2dpZCAiIC0xLCAtLW9uZSAgICAgICAgICAgICBzaG93IG9ubHkgYSBzaW5nbGUgbW9udGggKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIOWIl+WNsOWPquacieizh+ioiumXnOaWvOWPluaoo+atpempn1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDIKKyMsIGZ1enp5Cittc2dpZCAiIC0zLCAtLXRocmVlICAgICAgICAgICBzaG93IHRocmVlIG1vbnRocyBzcGFubmluZyB0aGUgZGF0ZVxuIgorbXNnc3RyICIgLWMsIC0tY3JlYXRvciAgICAg6aGv56S65bu656uL6ICF5ZKM5pOB5pyJ6ICFXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbW9udGhzIDxudW0+ICAgIHNob3cgbnVtIG1vbnRocyBzdGFydGluZyB3aXRoIGRhdGUncyBtb250aFxuIgorbXNnc3RyICIgLWMsIC0tY3JlYXRvciAgICAg6aGv56S65bu656uL6ICF5ZKM5pOB5pyJ6ICFXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwNAorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc3BhbiAgICAgICAgICAgIHNwYW4gdGhlIGRhdGUgd2hlbiBkaXNwbGF5aW5nIG11bHRpcGxlIG1vbnRoc1xuIgorbXNnc3RyICIgLWcsIC0tZ2V0LXRocmVzaG9sZCAgICAgICAgICAgICAgICDpoa/npLrnm67liY3nmoToh6jnlYzlgLxcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA1CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zdW5kYXkgICAgICAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICDoqK3lrprlkIzkvY3liLDnhKFcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA2CisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tb25kYXkgICAgICAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICDoqK3lrprlkIzkvY3liLDnhKFcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDA3CisjLCBmdXp6eQorbXNnaWQgIiAtaiwgLS1qdWxpYW4gICAgICAgICAgb3V0cHV0IEp1bGlhbiBkYXRlc1xuIgorbXNnc3RyICIgLVYgICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMDgKKyMsIGZ1enp5Cittc2dpZCAiIC15LCAtLXllYXIgICAgICAgICAgICBzaG93IHRoZSB3aG9sZSB5ZWFyXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAg5piv5pu05aSa6Kmz57Sw55qEXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTAwOQorIywgZnV6enkKK21zZ2lkICIgLVksIC0tdHdlbHZlICAgICAgICAgIHNob3cgdGhlIG5leHQgdHdlbHZlIG1vbnRoc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIOaYr+abtOWkmuips+e0sOeahFxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwMTAKK21zZ2lkICIgLXcsIC0td2Vla1s9PG51bT5dICAgIHNob3cgVVMgb3IgSVNPLTg2MDEgd2VlayBudW1iZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDExCittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSB7TEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUx9PTx2YWx1ZT5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjMyCisjLCBmdXp6eQorbXNnaWQgIkZpbmQgYSBmaWxlc3lzdGVtIGJ5IGxhYmVsIG9yIFVVSUQuXG4iCittc2dzdHIgIuW8t+WItuaqouafpSAlcyDmqpTmoYjns7vntbHjgIJcbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICLnhKHms5Xop6PmsbrjgIwlc+OAjSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6OTkKKyMsIGZ1enp5Cittc2dpZCAic291cmNlIGRldmljZSIKK21zZ3N0ciAi5L6G5rqQ6KOd572uIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAibW91bnRwb2ludCIKK21zZ3N0ciAibW91bnRwb2ludCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxIG1pc2MtdXRpbHMvbHNibGsuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICLmqpTmoYjns7vntbHlnovmhYsiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMgorIywgZnV6enkKK21zZ2lkICJhbGwgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAi5omA5pyJ5o6b6LyJ6YG46aCFIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiVkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIlZGUyDnibnlrprnmoTmjpvovInpgbjpoIUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNAorIywgZnV6enkKK21zZ2lkICJGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICJGUyDnibnlrprnmoTmjpvovInpgbjpoIUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNQorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIGxhYmVsIgorbXNnc3RyICLmqpTmoYjns7vntbHmqJnosrwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gVVVJRCIKK21zZ3N0ciAi5qqU5qGI57O757WxIFVVSUQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNworIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gbGFiZWwiCittc2dzdHIgIuWIhuWJsuaomeiyvCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5IG1pc2MtdXRpbHMvbHNibGsuYzoxNjAKKyMsIGZ1enp5Cittc2dpZCAibWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAi5Li76KaB55qE77ya5qyh57Sa6KOd572u5pW45a2XIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTAKKyMsIGZ1enp5Cittc2dpZCAiYWN0aW9uIGRldGVjdGVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAi5YuV5L2c5YG15ris5Yiw55SxIC0tcG9sbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExCisjLCBmdXp6eQorbXNnaWQgIm9sZCBtb3VudCBvcHRpb25zIHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAi6IiK55qE5o6b6LyJ6YG46aCF5YSy5a2Y55qE55SxIC0tcG9sbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEyCisjLCBmdXp6eQorbXNnaWQgIm9sZCBtb3VudHBvaW50IHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAi6IiK55qEIG1vdW50cG9pbnQg5YSy5a2Y55qE55SxIC0tcG9sbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEzCisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSIKK21zZ3N0ciAi5qqU5qGI57O757Wx5aSn5bCPIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIGF2YWlsYWJsZSIKK21zZ3N0ciAi5qqU5qGI57O757Wx5aSn5bCP5Y+v55SoIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTUKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIHVzZWQiCittc2dzdHIgIuaqlOahiOezu+e1seWkp+Wwj+S9v+eUqCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE2CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIuaqlOahiOezu+e1seS9v+eUqOeZvuWIhuavlCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE3CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gcm9vdCIKK21zZ3N0ciAi5qqU5qGI57O757Wx5qC5IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTgKKyMsIGZ1enp5Cittc2dpZCAidGFzayBJRCIKK21zZ3N0ciAi5Lu75YuZ6K2Y5Yil6JmfIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkKKyMsIGZ1enp5Cittc2dpZCAibW91bnQgSUQiCittc2dzdHIgIuaOm+i8iSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwCisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbmFsIG1vdW50IGZpZWxkcyIKK21zZ3N0ciAibW91bnTvvJrmjpvovInmmYLlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMQorIywgZnV6enkKK21zZ2lkICJWRlMgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgIuWIhuWJsuaXl+aomSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyCittc2dpZCAiZHVtcCg4KSBwZXJpb2QgaW4gZGF5cyBbZnN0YWIgb25seV0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzCittc2dpZCAicGFzcyBudW1iZXIgb24gcGFyYWxsZWwgZnNjayg4KSBbZnN0YWIgb25seV0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFjdGlvbjogJXMiCittc2dzdHIgIuS4jeaYjuWLleS9nO+8miVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDMKKyMsIGZ1enp5Cittc2dpZCAibW91bnQiCittc2dzdHIgIuaOm+i8iSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ2CisjLCBmdXp6eQorbXNnaWQgInVtb3VudCIKK21zZ3N0ciAidW1vdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDkKKyMsIGZ1enp5Cittc2dpZCAicmVtb3VudCIKK21zZ3N0ciAicmVtb3VudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjUyCisjLCBmdXp6eQorbXNnaWQgIm1vdmUiCittc2dzdHIgIuenu+WLlSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODEyIG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNzUgc3lzLXV0aWxzL2VqZWN0LmM6NzE5CisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NjkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFibGUiCittc2dzdHIgIuWIneWni+WMliBsaWJtb3VudCDooajmoLzmmYLlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjgzOSB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCAlcyIKK21zZ3N0ciAi54Sh5rOV6K6A5Y+WICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDE1IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODEKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo5NCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDgyCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTg3IHN5cy11dGlscy9tb3VudC5jOjEzNCBzeXMtdXRpbHMvbW91bnQuYzoxODIKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6NTYgc3lzLXV0aWxzL3N3YXBvZmYuYzoxNTUgc3lzLXV0aWxzL3N3YXBvbi5jOjI0NAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI3NCBzeXMtdXRpbHMvc3dhcG9uLmM6NzMzIHN5cy11dGlscy91bW91bnQuYzoyNzQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIKK21zZ3N0ciAi5Yid5aeL5YyWIGxpYm1vdW50IOi/reS7o+WZqOaZguWkseaVlyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA4NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJkaWZmIgorbXNnc3RyICLliJ3lp4vljJYgbGlibW91bnQgdGFiZGlmZiDmmYLlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMTUKKyMsIGZ1enp5Cittc2dpZCAicG9sbCgpIGZhaWxlZCIKK21zZ3N0ciAi5oSP6KaL6Kq/5p+lKCkg5aSx5pWXIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IHwgPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2UgPGRldmljZT5dIFstLXRhcmdldCA8cGF0aD4gfCAtLW1vdW50cG9pbnQgPGRpcj5dXG4iCittc2dzdHIgIiIKKyIgJTEkcyBb6YG46aCFXVxuIgorIiAlMSRzIFvpgbjpoIVdIDxkZXZpY2U+fDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFvpgbjpoIVdPOijnee9rj48bW91bnRwb2ludD5cbiIKKyIgJTEkcyBb6YG46aCFXSBbLS1zb3VyY2U86KOd572uPl0gWy0tdGFyZ2V0PG1vdW50cG9pbnQ+XVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk2CisjLCBmdXp6eQorbXNnaWQgIkZpbmQgYSAobW91bnRlZCkgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAi5qqU5qGI57O757Wx5Z6L5oWLIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk5CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1mc3RhYiAgICAgICAgICAgIHNlYXJjaCBpbiBzdGF0aWMgdGFibGUgb2YgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAg5YiX5Y2w5Y+q5pyJ6LOH6KiK6Zec5pa85Y+W5qij5q2l6amfXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW10YWIgICAgICAgICAgICAgc2VhcmNoIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAg5YiX5Y2w5omA5pyJ56ym6Jmf77yM5Y2z5L2/6KiI5pW45pivIDBcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMQorIywgZnV6enkKK21zZ2lkICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgc2VhcmNoIGluIGtlcm5lbCB0YWJsZSBvZiBtb3VudGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlc3lzdGVtcyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorIlxuIgorIumBuOmghe+8mlxuIgorIiAtcywgLS1mc3RhYiAgICAgICAgICAgIOaQnOWwi+WcqOS4remdnOaFi+ihqOagvOeahOaqlOahiOezu+e1sVxuIgorIiAtbSwgLS1tdGFiICAgICAgICAgICAgIOaQnOWwi+WcqOS4reihqOagvOeahOaOm+i8ieeahOaqlOahiOezu+e1sVxuIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIOaQnOWwi+WcqOS4reWFp+aguOihqOagvOeahOaOm+i8iVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAg5qqU5qGI57O757WxICjpoJDoqK0pXG4iCisiXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBvbGxbPTxsaXN0Pl0gICAgbW9uaXRvciBjaGFuZ2VzIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1wb2xsIFs9PGxpc3Q+XSAgICDnm6Poppblmajorormm7TlnKjkuK3ooajmoLznmoTmjpvovInnmoTmqpTmoYjns7vntbFcbiIKKyIgLXcsIC0tdGltZW91dDxudW0+ICAg5LiK6ZmQ5Zyo5Lit5q+r56eS6KmyIC0tcG9sbCDlsIfljYDloYpcbiIKKyJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNQorIywgZnV6enkKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8bnVtPiAgICB1cHBlciBsaW1pdCBpbiBtaWxsaXNlY29uZHMgdGhhdCAtLXBvbGwgd2lsbCBibG9ja1xuIgorbXNnc3RyICIiCisiIC1wLCAtLXBvbGwgWz08bGlzdD5dICAgIOebo+imluWZqOiuiuabtOWcqOS4reihqOagvOeahOaOm+i8ieeahOaqlOahiOezu+e1sVxuIgorIiAtdywgLS10aW1lb3V0PG51bT4gICDkuIrpmZDlnKjkuK3mr6vnp5LoqbIgLS1wb2xsIOWwh+WNgOWhilxuIgorIlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA4CisjLCBmdXp6eQorbXNnaWQgIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGJ1aWx0LWluIGZpbHRlcnMsIHByaW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICDliJfljbDmiYDmnInnrKbomZ/vvIzljbPkvb/oqIjmlbjmmK8gMFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA5CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBBU0NJSSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCittc2dzdHIgIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioilxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEwCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICDkuI3lvJXoqIDovLjlh7pcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMQorbXNnaWQgIiAtQywgLS1ub2Nhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSB3aGVuIGNvbXBhcmluZyBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTIKK21zZ2lkICIgLWMsIC0tY2Fub25pY2FsaXplICAgICBjYW5vbmljYWxpemUgcHJpbnRlZCBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTMKKyMsIGZ1enp5Cittc2dpZCAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGF0ZSB0aGUgb3V0cHV0IG9mIGRmKDEpXG4iCittc2dzdHIgIiAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIOS4jeW8leiogOi8uOWHulxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE0Cittc2dpZCAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE1Cittc2dpZCAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNworbXNnaWQgIiAtRiwgLS10YWItZmlsZSA8cGF0aD4gIGFsdGVybmF0aXZlIGZpbGUgZm9yIC1zLCAtbSBvciAtayBvcHRpb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBwcmludCB0aGUgZmlyc3QgZm91bmQgZmlsZXN5c3RlbSBvbmx5XG4iCittc2dzdHIgIiAgIGwgICDliJflh7rlt7Lnn6XmqpTmoYjns7vntbHpoZ7lnosiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTkKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJ0IHRoZSBzZW5zZSBvZiBtYXRjaGluZ1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICDliJfljbDoqbPntLDnmoTos4fmlplcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDcgc3lzLXV0aWxzL2xzbnMuYzo2MTkKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIpcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMSBzeXMtdXRpbHMvbHNucy5jOjYyMAorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIOaykuacieS4gOiIrOi8uOWHulxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIyCittc2dpZCAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNlIGFsdGVybmF0aXZlIG5hbWVzcGFjZSAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIGZpbGUpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBjb2x1bW4gaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIOWIl+WNsOips+e0sOeahOioiuaBr+WIsOaomea6luWLmOiqpFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI0Cittc2dpZCAiIC1PLCAtLW9wdGlvbnMgPGxpc3Q+ICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBtb3VudCBvcHRpb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNQorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICB0aGUgb3V0cHV0IGNvbHVtbnMgdG8gYmUgc2hvd25cbiIKK21zZ3N0ciAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAg55+t6YG46aCF54K66L6o6K2Y55qEXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjYKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIpcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNworIywgZnV6enkKK21zZ2lkICIgLVIsIC0tc3VibW91bnRzICAgICAgICBwcmludCBhbGwgc3VibW91bnRzIGZvciB0aGUgbWF0Y2hpbmcgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAg5YiX5Y2w5Y+q5pyJ6LOH6KiK6Zec5pa85Y+W5qij5q2l6amfXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjgKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioilxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5Cittc2dpZCAiIgorIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzEKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRhcmdldCA8cGF0aD4gICAgdGhlIHBhdGggdG8gdGhlIGZpbGVzeXN0ZW0gdG8gdXNlXG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgIOefremBuOmgheeCuui+qOitmOeahFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMyCisjLCBmdXp6eQorbXNnaWQgIiAtTSwgLS1tb3VudHBvaW50IDxkaXI+IHRoZSBtb3VudHBvaW50IGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXgsIC0tZGVzdGluYXRpb24gPGRpcj4gIOaKveWHuumAsuWFpeebrumMhFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMzCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgRlMgdHlwZXNcbiIKK21zZ3N0ciAiICAgbCAgIOWIl+WHuuW3suefpeaqlOahiOezu+e1semhnuWeiyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNAorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdW5pcSAgICAgICAgICAgICBpZ25vcmUgZmlsZXN5c3RlbXMgd2l0aCBkdXBsaWNhdGUgdGFyZ2V0XG4iCittc2dzdHIgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIOWIl+WNsOWPquacieizh+ioiumXnOaWvOWPluaoo+atpempn1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM1IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMyBzeXMtdXRpbHMvbHNucy5jOjYyNQorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIOioreWumuWQjOS9jeWIsOeEoVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM2CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIGRvbid0IHByaW50IFsvZGlyXSBmb3IgYmluZCBvciBidHJmcyBtb3VudHNcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIOWIl+WNsOips+e0sOeahOioiuaBr+WIsOaomea6luWLmOiqpFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM5CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS12ZXJpZnkgICAgICAgICAgIHZlcmlmeSBtb3VudCB0YWJsZSBjb250ZW50IChkZWZhdWx0IGlzIGZzdGFiKVxuIgorbXNnc3RyICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICDliJfljbDlj6rmnInos4foqIrpl5zmlrzlj5bmqKPmraXpqZ9cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0MAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAg5YiX5Y2w6Kmz57Sw55qE6LOH5paZXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBkaXJlY3Rpb24gJyVzJyIKK21zZ3N0ciAi5LiN5piO5pa55ZCR44CMJXPjgI0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NDAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBUSUQgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahCBUSUQg5byV5pW4IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTA5CisjLCBmdXp6eQorbXNnaWQgIi0tcG9sbCBhY2NlcHRzIG9ubHkgb25lIGZpbGUsIGJ1dCBtb3JlIHNwZWNpZmllZCBieSAtLXRhYi1maWxlIgorbXNnc3RyICItLXBvbGwg5o6l5Y+X5Y+q5pyJ5LiA5YCL5qqU5qGI77yM5L2G5piv5pu05aSa5oyH5a6a55qE55SxIC0tdGFiLWZpbGUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MTMKK21zZ2lkICJvcHRpb25zIC0tdGFyZ2V0IGFuZCAtLXNvdXJjZSBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggY29tbWFuZCBsaW5lIGVsZW1lbnQgdGhhdCBpcyBub3QgYW4gb3B0aW9uIgorbXNnc3RyICLpgbjpoIUgLS10YXJnZXQg5ZKMIC0tc291cmNlIOeEoeazleiIh+S4jeaYr+mBuOmgheeahOWRveS7pOWIl+WFg+e0oOS4gOi1t+S9v+eUqCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU2MgorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGNhY2hlIgorbXNnc3RyICLliJ3lp4vljJYgbGlibW91bnQg5b+r5Y+W5pmC5aSx5pWXIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBjb2x1bW4gaXMgcmVxdWVzdGVkLCBidXQgLS1wb2xsIGlzIG5vdCBlbmFibGVkIgorbXNnc3RyICIlcyDmrITooqvopoHmsYLnmoTvvIzkvYbmmK8gLS1wb2xsIOacquiiq+W3suWVn+eUqCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExNgorIywgZnV6enkKK21zZ2lkICJ0YXJnZXQgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICLmgqjmjIflrprkuobmr5Tno4Hnop/kuIrpgoTlpJrnmoTno4Hmn7HmlbgiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgb3JkZXI6ICVzIHNwZWNpZmllZCBiZWZvcmUgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzMworbXNnaWQgInVuZGVmaW5lZCB0YXJnZXQgKGZzX2ZpbGUpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWNhbm9uaWNhbCB0YXJnZXQgcGF0aCAocmVhbDogJXMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCB0YXJnZXQ6ICVtIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHRhcmdldDogJW0iCittc2dzdHIgIueEoeazleiugOWPliAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MQorIywgZnV6enkKK21zZ2lkICJ0YXJnZXQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIlc++8muS4pumdnuebrumMhCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MworbXNnaWQgInRhcmdldCBleGlzdHMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHNvdXJjZTogJXM9JXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGU6ICVzPSVzIgorbXNnc3RyICLoroDlj5blpLHmlZfvvJolcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM9JXMgdHJhbnNsYXRlZCB0byAlcyIKK21zZ3N0ciAiJXMg6KKr6Zec6IGv55qE6IiHICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxOTAKK21zZ2lkICJ1bmRlZmluZWQgc291cmNlIChmc19zcGVjKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzb3VyY2UgdGFnOiAlcyIKK21zZ3N0ciAi5LiN5Y+X5pSv5o+055qE5byV5pW477yaJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIHNvdXJjZSAocHNldWRvL25ldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgc291cmNlOiAlczogJW0iCittc2dzdHIgIueEoeazlemWi+WVn+OAjCVz44CN77yaJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJpbmQgbW91bnQgc291cmNlICVzIGlzIGEgZGlyZWN0b3J5IG9yIHJlZ3VsYXIgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIgJXMg5Lim6Z2e5Y2A5aGK6KOd572uIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgZXhpc3RzIgorbXNnc3RyICLkvobmupDoo53nva4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlZGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiJXPvvJrpgbjpoIUgIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiJXPvvJrpgbjpoIUgIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2Vyc3BhY2Ugb3B0aW9uczogJXMiCittc2dzdHIgIuizh+a6kOmBuOmghe+8mlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzd2FwYXJlYSBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIuS4jeWPl+aUr+aPtOeahOW8leaVuO+8miVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjYwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzd2FwYXJlYSBwcmlvcml0eSBvcHRpb24iCittc2dzdHIgIuWJluaekCBwaWQg5pmC5aSx5pWXIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBGUyB0eXBlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDA2Cittc2dpZCAiXCJub25lXCIgRlMgdHlwZSBpcyByZWNvbW1lbmRlZCBmb3IgYmluZCBvciBtb3ZlIG9wcmF0aW9ucyBvbmx5IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAi5ZSv6K6A5YWJ56Kf5qmf6YG45Y+W6YCf5bqm5ZG95Luk5LiN5pSv5o+055Sx6YCZ5YCL5YWn5qC4IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIwIG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGRldGVjdCBvbi1kaXNrIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAi5LiN5piO5qqU5qGI57O757Wx5Z6L5oWL44COJXPjgI8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgbWF0Y2ggd2l0aCBvbi1kaXNrICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9uLWRpc2sgJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICLllK/oroDlhYnnop/mqZ/pgbjlj5bpgJ/luqblkb3ku6TkuI3mlK/mj7TnlLHpgJnlgIvlhafmoLgiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZTIHR5cGUgaXMgJXMiCittc2dzdHIgIumhnuWei++8miVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjb21tZW5kZWQgcm9vdCBGUyBwYXNzbm8gaXMgMSAoY3VycmVudCBpcyAlZCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgcGFyc2UgZXJyb3IiCittc2dpZF9wbHVyYWwgIiVkIHBhcnNlIGVycm9ycyIKK21zZ3N0clswXSAi5YmW5p6Q6Yyv6KqkXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgZXJyb3IiCittc2dpZF9wbHVyYWwgIiwgJWQgZXJyb3JzIgorbXNnc3RyWzBdICLvvIzpjK/oqqQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCAlZCB3YXJuaW5nIgorbXNnaWRfcGx1cmFsICIsICVkIHdhcm5pbmdzIgorbXNnc3RyWzBdICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzcywgbm8gZXJyb3JzIG9yIHdhcm5pbmdzIGRldGVjdGVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzoyNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAi5ZiX6Kmm44COJXMgLS1oZWxw44CP5Lul542y5b6X5pu05aSa6LOH6KiK44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzA0Cittc2dpZCAiZW1wdHkgbG9uZyBvcHRpb24gYWZ0ZXIgLWwgb3IgLS1sb25nIGFyZ3VtZW50IgorbXNnc3RyICItbCDmiJYgLS1sb25nIOW8leaVuOS5i+W+jOWHuuePvuepuueahOmVt+mBuOmghSIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMjUKK21zZ2lkICJ1bmtub3duIHNoZWxsIGFmdGVyIC1zIG9yIC0tc2hlbGwgYXJndW1lbnQiCittc2dzdHIgIi1zIOaIliAtLXNoZWxsIOW8leaVuOS5i+W+jOWHuuePvuS4jeaYjueahOWRveS7pOauvOWQjeeosSIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tXSA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLW98LS1vcHRpb25zIDxvcHRzdHJpbmc+IFtvcHRpb25zXSBbLS1dIDxwYXJhbWV0ZXJzPlxuIgorbXNnc3RyICIiCisiICUxJHMgb3B0c3RyaW5nIOWPg+aVuFxuIgorIiAlMSRzIFvpgbjpoIVdIFstLV0gb3B0c3RyaW5nIOWPg+aVuFxuIgorIiAlMSRzIFvpgbjpoIVdIC1vfC0tb3B0aW9ucyBvcHRzdHJpbmcgW+mBuOmghV0gWy0tXSDlj4PmlbhcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzgKKyMsIGZ1enp5Cittc2dpZCAiUGFyc2UgY29tbWFuZCBvcHRpb25zLlxuIgorbXNnc3RyICLmiYDmnInmjpvovInpgbjpoIUiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQxCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgICBhbGxvdyBsb25nIG9wdGlvbnMgc3RhcnRpbmcgd2l0aCBzaW5nbGUgLVxuIgorbXNnc3RyICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICDlhYHoqLHplbfpgbjpoIXplovlp4voiIfllq7kuIAgLVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiAgdGhlIGxvbmcgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAtbCwgLS1sb25nb3B0aW9ucyA8bG9uZ29wdHM+IOmVt+mBuOmgheeCuui+qOitmOeahFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICAgdGhlIG5hbWUgdW5kZXIgd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZFxuIgorbXNnc3RyICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICDlkI3nqLHkuYvkuIvoqbLpoIXpjK/oqqTooqvloLHlkYpcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDQKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAgIHRoZSBzaG9ydCBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIKK21zZ3N0ciAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAg55+t6YG46aCF54K66L6o6K2Y55qEXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ1CisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBkaXNhYmxlIGVycm9yIHJlcG9ydGluZyBieSBnZXRvcHQoMylcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAg5YGc55So6Yyv6Kqk5aCx5ZGK55SxIGdldG9wdCAoMylcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDYKKyMsIGZ1enp5Cittc2dpZCAiIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgIG5vIG5vcm1hbCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAg5rKS5pyJ5LiA6Iis6Ly45Ye6XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICBzZXQgcXVvdGluZyBjb252ZW50aW9ucyB0byB0aG9zZSBvZiA8c2hlbGw+XG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgIOioreWumuWRveS7pOauvOW8leiogOaFo+S+i1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0OAorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgdGVzdCBmb3IgZ2V0b3B0KDEpIHZlcnNpb25cbiIKK21zZ3N0ciAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAg5ris6Kmm55So5pa8IGdldG9wdCAoMSkg54mI5pysXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ5CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICBkbyBub3QgcXVvdGUgdGhlIG91dHB1dFxuIgorbXNnc3RyICIgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICDkuI3lvJXoqIDovLjlh7pcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozOTkgbWlzYy11dGlscy9nZXRvcHQuYzo0NTkKK21zZ2lkICJtaXNzaW5nIG9wdHN0cmluZyBhcmd1bWVudCIKK21zZ3N0ciAi57y65bCR6YG46aCF5a2X5Liy5byV5pW4IgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1NAorbXNnaWQgImludGVybmFsIGVycm9yLCBjb250YWN0IHRoZSBhdXRob3IuIgorbXNnc3RyICLlhafpg6jpjK/oqqTvvIzoq4voiIfkvZzogIXpgKPntaHjgIIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjIzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWwgJXM7IHZhbGlkIHNpZ25hbHM6IgorbXNnc3RyICIlc++8muS4jeaYjuS/oeiZnyAlczsg5pyJ5pWI5L+h6Jmf77yaXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGlkPnw8bmFtZT4uLi5cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIDxkZXZpY2U+IFsuLi5dXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwNQorbXNnaWQgIkZvcmNpYmx5IHRlcm1pbmF0ZSBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzA4Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRvIG5vdCByZXN0cmljdCB0aGUgbmFtZS10by1waWQgY29udmVyc2lvbiB0byBwcm9jZXNzZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggdGhlIHNhbWUgdWlkIGFzIHRoZSBwcmVzZW50IHByb2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTAKK21zZ2lkICIgLXMsIC0tc2lnbmFsIDxzaWduYWw+ICBzZW5kIHRoaXMgPHNpZ25hbD4gaW5zdGVhZCBvZiBTSUdURVJNXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzEyCisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWV1ZSA8dmFsdWU+ICAgIHVzZSBzaWdxdWV1ZSgyKSwgbm90IGtpbGwoMiksIGFuZCBwYXNzIDx2YWx1ZT4gYXMgZGF0YVxuIgorbXNnc3RyICIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAg56e76Zmk6KiK5oGv5L2H5YiX55Sx6K2Y5Yil6JmfXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgICBwcmludCBwaWRzIHdpdGhvdXQgc2lnbmFsaW5nIHRoZW1cbiIKK21zZ3N0ciAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAg5YiX5Y2w5Y+q5pyJ6LOH6KiK6Zec5pa85Y+W5qij5q2l6amfXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNQorbXNnaWQgIiAtbCwgLS1saXN0Wz08c2lnbmFsPl0gIGxpc3Qgc2lnbmFsIG5hbWVzLCBvciBjb252ZXJ0IGEgc2lnbmFsIG51bWJlciB0byBhIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTYKK21zZ2lkICIgLUwsIC0tdGFibGUgICAgICAgICAgICBsaXN0IHNpZ25hbCBuYW1lcyBhbmQgbnVtYmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxNworIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBwaWRzIHRoYXQgd2lsbCBiZSBzaWduYWxlZFxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAg6Kej6YeL5LuA6bq85q2j5Zyo5piv5bey5a6M5oiQXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM2NyBtaXNjLXV0aWxzL2tpbGwuYzozNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsOiAlcyIKK21zZ3N0ciAiJXPvvJrkuI3mmI7kv6HomZ8gJXNcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6Mzg3IG1pc2MtdXRpbHMva2lsbC5jOjM5MCBtaXNjLXV0aWxzL2tpbGwuYzozOTkKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQxMSBtaXNjLXV0aWxzL2tpbGwuYzo0MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICLlvbzmraTkupLmlqXjgIIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM5NiBtaXNjLXV0aWxzL2tpbGwuYzo0MzggbWlzYy11dGlscy9yZW5hbWUuYzoxNzQKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc4OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc5OAorIywgZnV6enkKK21zZ2lkICJub3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAi5LiN6Laz5byV5pW4IgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICIlcyDpnIDopoHkuIDlgIvlvJXmlbgiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjQxNCBzeXMtdXRpbHMvZWplY3QuYzoyMDUgc3lzLXV0aWxzL2VqZWN0LmM6MjMwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY4OSBzeXMtdXRpbHMvdHVuZWxwLmM6MTYxIHN5cy11dGlscy90dW5lbHAuYzoxNjgKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxNzUgc3lzLXV0aWxzL3R1bmVscC5jOjE4MiBzeXMtdXRpbHMvdHVuZWxwLmM6MTg5CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTk1IHN5cy11dGlscy90dW5lbHAuYzoxOTkgc3lzLXV0aWxzL3R1bmVscC5jOjIwNgorIzogc3lzLXV0aWxzL3R1bmVscC5jOjIzMSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTMgdGVybS11dGlscy9zZXR0ZXJtLmM6MjE2CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzUgdGVybS11dGlscy9zZXR0ZXJtLmM6MjM3IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3MgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mjc0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5MSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTgKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMwMCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTIgdGVybS11dGlscy9zZXR0ZXJtLmM6MzE0CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjMgdGVybS11dGlscy9zZXR0ZXJtLmM6MzMxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0NgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM2MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM3MyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1MzUgdGVybS11dGlscy9zZXR0ZXJtLmM6NTQwCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDUgdGVybS11dGlscy9zZXR0ZXJtLmM6NTUwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU3NAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTc5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODkKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTkgdGVybS11dGlscy9zZXR0ZXJtLmM6NjA3CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2NDAKKyMsIGZ1enp5Cittc2dpZCAiYXJndW1lbnQgZXJyb3IiCittc2dzdHIgIuW8leaVuOmMr+iqpOOAgiIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNpZ25hbCBuYW1lIG9yIG51bWJlcjogJXMiCittc2dzdHIgIueEoeaViOeahCBzaWd2YWwg5byV5pW4IgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo0NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsICVkIHRvIHBpZCAlZFxuIgorbXNnc3RyICLph43mlrDlkb3lkI0gJXMg5YiwICVzIOWkseaVlyIKKworIzogbWlzYy11dGlscy9raWxsLmM6NDYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCB0byAlcyBmYWlsZWQiCittc2dzdHIgIumHjeaWsOWRveWQjSAlcyDliLAgJXMg5aSx5pWXIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzo1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHByb2Nlc3MgXCIlc1wiIgorbXNnc3RyICIlc++8muaJvuS4jeWIsOihjOeoi+OAjCVz44CNXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5IG5hbWU6ICVzIgorbXNnc3RyICLkuI3mmI7mqZ/og73lkI3nqLHvvJolc+OAgiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpb3JpdHkgbmFtZTogJXMiCittc2dzdHIgIuS4jeaYjuWEquWFiOasiuWQjeeose+8miVz44CCIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3BlbmxvZyAlczogcGF0aG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm9wZW5sb2cgJXPvvJrot6/lvpHlkI3nqLHlpKrplbciCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgJXMiCittc2dzdHIgIumAmuioiuerryAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIG5hbWUgJXMgcG9ydCAlczogJXMiCittc2dzdHIgIuaOm+i8ieenu+WLlSAlcyDliLAgJXMg5pmC5aSx5pWXIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNvbm5lY3QgdG8gJXMgcG9ydCAlcyIKK21zZ3N0ciAi5o6b6LyJ56e75YuVICVzIOWIsCAlcyDmmYLlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heGltdW0gaW5wdXQgbGluZXMgKCVkKSBleGNlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjQ4NworIywgZnV6enkKK21zZ2lkICJzZW5kIG1lc3NhZ2UgZmFpbGVkIgorbXNnc3RyICLlu7rnq4voqIrmga/kvYfliJfmmYLlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTU4CisjLCBjLWZvcm1hdAorbXNnaWQgInN0cnVjdHVyZWQgZGF0YSBJRCAnJXMnIGlzIG5vdCB1bmlxdWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1zZC1pZCB3YXMgbm90IHNwZWNpZmllZCBmb3IgLS1zZC1wYXJhbSAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc1NAorIywgZnV6enkKK21zZ2lkICJsb2NhbHRpbWUoKSBmYWlsZWQiCittc2dzdHIgIuaEj+imi+iqv+afpSgpIOWkseaVlyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImhvc3RuYW1lICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgIuashOS9jSAlcyDlpKrplbciCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0YWcgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAi5qyE5L2NICVzIOWkqumVtyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIHVua25vd24gb3B0aW9uIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi5LiN5piO5byV5pW477yaJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlczogdXNpbmcgYXV0b21hdGljIGVycm9ycyIKK21zZ3N0ciAi54Sh5pWI55qE5byV5pW45YiwIC0tYXV0byAvLWEg6YG46aCFIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjk5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG1lc3NhZ2U+XVxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gW+ioiuaBr11cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo5OTcKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXIgbWVzc2FnZXMgaW50byB0aGUgc3lzdGVtIGxvZy5cbiIKK21zZ3N0ciAi54Sh5rOV6Kit5a6a57O757Wx5pmC6ZCY44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMAorIywgZnV6enkKK21zZ2lkICIgLWkgICAgICAgICAgICAgICAgICAgICAgIGxvZyB0aGUgbG9nZ2VyIGNvbW1hbmQncyBQSURcbiIKK21zZ3N0ciAiIC1oICAgICAgICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgbG9nIHRoZSBnaXZlbiA8aWQ+LCBvciBvdGhlcndpc2UgdGhlIFBJRFxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAg5omA5pyJICjpoJDoqK0pXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwMgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgICAgIGxvZyB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlXG4iCittc2dzdHIgIiAtaCwgLS1oZWxwICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDAzCisjLCBmdXp6eQorbXNnaWQgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgZG8gbm90IGxvZyBlbXB0eSBsaW5lcyB3aGVuIHByb2Nlc3NpbmcgZmlsZXNcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICDkuI3liIblibLplbfliJdcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA0CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby1hY3QgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIHdyaXRlIHRoZSBsb2dcbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIOioreWumuWQjOS9jeWIsOeEoVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDUKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBtYXJrIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIOaMh+WumuS4puWIl+WfoCBpcnFcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDA2Cittc2dpZCAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICB1c2UgcmZjNjU4NyBvY3RldCBjb3VudGluZ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwNworbXNnaWQgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAgbG9vayBmb3IgYSBwcmVmaXggb24gZXZlcnkgbGluZSByZWFkIGZyb20gc3RkaW5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMDgKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICBvdXRwdXQgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvciBhcyB3ZWxsXG4iCittc2dzdHIgIiAtcyAgICAgICAgICAg5YiX5Y2w6KiK5oGv5Yiw5qiZ5rqW6Ly45Ye6XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAwOQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgIG1heGltdW0gc2l6ZSBmb3IgYSBzaW5nbGUgbWVzc2FnZVxuIgorbXNnc3RyICIgLW8sIC0tb2ZmaWNlIDxvZmZpY2U+ICAgICAgICDovqblhazlrqTmlbjlrZdcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDEwCittc2dpZCAiIC10LCAtLXRhZyA8dGFnPiAgICAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMQorbXNnaWQgIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMgorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcG9ydCA8cG9ydD4gICAgICAgIHVzZSB0aGlzIHBvcnQgZm9yIFVEUCBvciBUQ1AgY29ubmVjdGlvblxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAg5oyH5a6a55m75YWl5ZG95Luk5q68XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxMworIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGNwICAgICAgICAgICAgICAgIHVzZSBUQ1Agb25seVxuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICDph43nva7pgJroqIrln6BcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDE0CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIOmHjee9rumAmuioiuWfoFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICB1c2UgdGhlIG9ic29sZXRlIEJTRCBzeXNsb2cgcHJvdG9jb2xcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLWF1dG8gICAgICAgICAgICAg5YGc55So5L2N5YWD57WE5qyh5bqPIGF1dG8tZGV0ZWN0aW9uXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxNgorbXNnaWQgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIHVzZSB0aGUgc3lzbG9nIHByb3RvY29sICh0aGUgZGVmYXVsdCBmb3IgcmVtb3RlKTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNuaXA+IGNhbiBiZSBub3RpbWUsIG9yIG5vdHEsIGFuZC9vciBub2hvc3RcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMTgKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXNkLWlkIDxpZD4gICAgICAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBJRFxuIgorbXNnc3RyICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICDmjIflrprkuKbliJfln6AgaXJxXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAxOQorbXNnaWQgIiAgICAgLS1zZC1wYXJhbSA8ZGF0YT4gICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgbmFtZT12YWx1ZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbXNnaWQgPG1zZ2lkPiAgICAgIHNldCByZmM1NDI0IG1lc3NhZ2UgaWQgZmllbGRcbiIKK21zZ3N0ciAiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAg5oyH5a6a5Lim5YiX5Z+gIGlycVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjEKK21zZ2lkICIgLXUsIC0tc29ja2V0IDxzb2NrZXQ+ICAgIHdyaXRlIHRvIHRoaXMgVW5peCBzb2NrZXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjIKK21zZ2lkICIiCisiICAgICAtLXNvY2tldC1lcnJvcnNbPTxvbnxvZmZ8YXV0bz5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludCBjb25uZWN0aW9uIGVycm9ycyB3aGVuIHVzaW5nIFVuaXggc29ja2V0c1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyNQorbXNnaWQgIiAgICAgLS1qb3VybmFsZFs9PGZpbGU+XSAgd3JpdGUgam91cm5hbGQgZW50cnlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpbGUgJXMiCittc2dzdHIgIuaqlOahiCAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTI3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBpZCIKK21zZ3N0ciAi5YmW5p6QIHBpZCDmmYLlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE0NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWVzc2FnZSBzaXplIgorbXNnc3RyICLliZbmnpDlpKflsI/mmYLlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE4MAorbXNnaWQgIi0tbXNnaWQgY2Fubm90IGNvbnRhaW4gc3BhY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBJRDogJyVzJyIKK21zZ3N0ciAi54Sh5pWI55qE5byV5pW477yaJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICLnhKHmlYjnmoTpgL7mmYLlvJXmlbjvvJolcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjE4CisjLCBmdXp6eQorbXNnaWQgIi0tZmlsZSA8ZmlsZT4gYW5kIDxtZXNzYWdlPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLCBtZXNzYWdlIGlzIGlnbm9yZWQiCittc2dzdHIgIi0tb2Zmc2V0IOWSjCAtLWFsbCDlvbzmraTkupLmlqUiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIyNQorbXNnaWQgImpvdXJuYWxkIGVudHJ5IGNvdWxkIG5vdCBiZSB3cml0dGVuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8c3RyaW5nPiBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0g5a2X5LiyIFvmqpTmoYhdXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM1OAorbXNnaWQgIkRpc3BsYXkgbGluZXMgYmVnaW5uaW5nIHdpdGggYSBzcGVjaWZpZWQgc3RyaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MQorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgIHVzZSB0aGUgYWx0ZXJuYXRpdmUgZGljdGlvbmFyeVxuIgorbXNnc3RyICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICDlhYHoqLHplbfpgbjpoIXplovlp4voiIfllq7kuIAgLVxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjIKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBjb21wYXJlIG9ubHkgYmxhbmtzIGFuZCBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLWMsIC0tY2hhcnMgPG51bT4gICAgICAgICAgICDovLjlh7rlrZflhYPmlbjnmoTkuYvliY3mmqvlgZxcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYzCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAg5YiX5Y2w6Kmz57Sw55qE6LOH5paZXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2NAorbXNnaWQgIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgZGVmaW5lIHRoZSBzdHJpbmctdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NworIywgZnV6enkKK21zZ2lkICJkZXZpY2UgbmFtZSIKK21zZ3N0ciAi6KOd572u5ZCN56ixIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU4CisjLCBmdXp6eQorbXNnaWQgImludGVybmFsIGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAi5YWn6YOo5YWn5qC46KOd572u5ZCN56ixIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU5CisjLCBmdXp6eQorbXNnaWQgImludGVybmFsIHBhcmVudCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIuWFp+mDqOWFp+aguOijnee9ruWQjeeosSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MiBzeXMtdXRpbHMvenJhbWN0bC5jOjg0CisjLCBmdXp6eQorbXNnaWQgIndoZXJlIHRoZSBkZXZpY2UgaXMgbW91bnRlZCIKK21zZ3N0ciAi5L2N572u6KOd572u6KKr5o6b6LyJIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzCisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gTEFCRUwiCittc2dzdHIgIuaqlOahiOezu+e1seaomeiyvCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NgorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSBVVUlEIgorbXNnc3RyICLliIblibIgVVVJRCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NworIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gTEFCRUwiCittc2dzdHIgIuWIhuWJsuaomeiyvCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MQorIywgZnV6enkKK21zZ2lkICJyZWFkLWFoZWFkIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgIumgkOWFiOiugOWPlueahOeahOijnee9riIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1CisjLCBmdXp6eQorbXNnaWQgInJlYWQtb25seSBkZXZpY2UiCittc2dzdHIgIuWUr+iugOijnee9riIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MworIywgZnV6enkKK21zZ2lkICJyZW1vdmFibGUgZGV2aWNlIgorbXNnc3RyICLlj6/np7vpmaTnmoToo53nva4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzQKK21zZ2lkICJyZW1vdmFibGUgb3IgaG90cGx1ZyBkZXZpY2UgKHVzYiwgcGNtY2lhLCAuLi4pIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzUKKyMsIGZ1enp5Cittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgInJvdGF0aW9uYWwg6KOd572uIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc2Cittc2dpZCAiYWRkcyByYW5kb21uZXNzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzcKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIiCittc2dzdHIgIuijnee9ruitmOWIpeeivCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OAorbXNnaWQgImRpc2sgc2VyaWFsIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc5CisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAi5aSn5bCP55qE6KOd572uIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgwCisjLCBmdXp6eQorbXNnaWQgInN0YXRlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgIueLgOaFi+eahOijnee9riIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MgorIywgZnV6enkKK21zZ2lkICJncm91cCBuYW1lIgorbXNnc3RyICLnvqTntYTlkI3nqLEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODMKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIG5vZGUgcGVybWlzc2lvbnMiCittc2dzdHIgIuijnee9ruevgOm7nuasiumZkCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NAorIywgZnV6enkKK21zZ2lkICJhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICLlsI3pvYrlgY/np7siCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODUKKyMsIGZ1enp5Cittc2dpZCAibWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAi5pyA5bCPIEkvTyDlpKflsI8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAib3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAi5pyA5L2z5YyWIEkvTyDlpKflsI8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAicGh5c2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgIuWvpumrlOejgeWNgOWkp+WwjyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OAorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICLpgo/ovK/ljYDlpKflsI8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiSS9PIHNjaGVkdWxlciBuYW1lIgorbXNnc3RyICJJL08g5o6S56iL56iL5byP5ZCN56ixIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwCisjLCBmdXp6eQorbXNnaWQgInJlcXVlc3QgcXVldWUgc2l6ZSIKK21zZ3N0ciAi6KaB5rGC5L2H5YiX5aSn5bCPIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkxCisjLCBmdXp6eQorbXNnaWQgImRldmljZSB0eXBlIgorbXNnc3RyICLoo53nva7poZ7lnosiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTIKKyMsIGZ1enp5Cittc2dpZCAiZGlzY2FyZCBhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICLmjajmo4TlsI3pvYrlgY/np7siCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiZGlzY2FyZCBncmFudWxhcml0eSIKK21zZ3N0ciAi5o2o5qOE6aGG57KS5oCnIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk0CisjLCBmdXp6eQorbXNnaWQgImRpc2NhcmQgbWF4IGJ5dGVzIgorbXNnc3RyICLmjajmo4TmnIDlpKfkvY3lhYPntYQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTUKKyMsIGZ1enp5Cittc2dpZCAiZGlzY2FyZCB6ZXJvZXMgZGF0YSIKK21zZ3N0ciAi5o2o5qOE6Zu26LOH5paZIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk2CisjLCBmdXp6eQorbXNnaWQgIndyaXRlIHNhbWUgbWF4IGJ5dGVzIgorbXNnc3RyICLmjajmo4TmnIDlpKfkvY3lhYPntYQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTcKKyMsIGZ1enp5Cittc2dpZCAidW5pcXVlIHN0b3JhZ2UgaWRlbnRpZmllciIKK21zZ3N0ciAi5ZSv5LiA6LKv6JeP6auU6K2Y5Yil56K8IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk4Cittc2dpZCAiSG9zdDpDaGFubmVsOlRhcmdldDpMdW4gZm9yIFNDU0kiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OQorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgdHJhbnNwb3J0IHR5cGUiCittc2dzdHIgIuijnee9rumhnuWeiyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMAorbXNnaWQgImRlLWR1cGxpY2F0ZWQgY2hhaW4gb2Ygc3Vic3lzdGVtcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAxCisjLCBmdXp6eQorbXNnaWQgImRldmljZSByZXZpc2lvbiIKK21zZ3N0ciAi6KOd572u56+A6bue5qyK6ZmQIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAyCisjLCBmdXp6eQorbXNnaWQgImRldmljZSB2ZW5kb3IiCittc2dzdHIgIuijnee9ruWQjeeosSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjEyNzYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGV2aWNlIGRpcmVjdG9yeSBpbiBzeXNmcyIKK21zZ3N0ciAi6ZaL5ZWf6KOd572u55uu6YyE5Zyo5LitIHN5c2ZzIOaZguWkseaVlyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY29tcG9zZSBzeXNmcyBwYXRoIgorbXNnc3RyICLmkrDlr6sgc3lzZnMg6Lev5b6R55So5pa8ICVzIOaZguWkseaVlyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBsaW5rIgorbXNnc3RyICIlc++8mueEoeazleiugOWPlumPiOe1kCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN5c2ZzIG5hbWUiCittc2dzdHIgIiVz77ya54Sh5rOV5o+Q5Y+WIGRtIOWQjeeosSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHdob2xlLWRpc2sgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiJXPvvJrnhKHms5Xmj5Dlj5Ygd2hvbGUtZGlzayDoo53nva7nt6jomZ8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTUxIG1pc2MtdXRpbHMvbHNibGsuYzoxNTUzIG1pc2MtdXRpbHMvbHNibGsuYzoxNTc4CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxpc3QgJyVzJyIKK21zZ3N0ciAi5YmW5p6Q5riF5Zau44COJXMg5pmC5aSx5pWX44CPIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgZXhjbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICLmjpLpmaTnmoToo53nva7muIXllq7nmoTlpKrlpKcgKOmZkOWItuaYryAlZCDoo53nva4pIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgaW5jbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICLljIXlkKvnmoToo53nva7muIXllq7nmoTlpKrlpKcgKOmZkOWItuaYryAlZCDoo53nva4pIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYxNiBzeXMtdXRpbHMvd2RjdGwuYzoxNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIFs8ZGV2aWNlPi4uLl1cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MTkKKyMsIGZ1enp5Cittc2dpZCAiTGlzdCBpbmZvcm1hdGlvbiBhYm91dCBibG9jayBkZXZpY2VzLlxuIgorbXNnc3RyICIlc++8muS4jeaYr+WNgOWhiuijnee9riIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjIKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICDmn6XoqaLmiYDmnInljp/lp4voo53nva5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjQKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLW5vZGVwcyAgICAgICAgIGRvbid0IHByaW50IHNsYXZlcyBvciBob2xkZXJzXG4iCittc2dzdHIgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICDliJfljbDoqbPntLDnmoToqIrmga/liLDmqJnmupbli5joqqRcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjUKK21zZ2lkICIgLUQsIC0tZGlzY2FyZCAgICAgICAgcHJpbnQgZGlzY2FyZCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyNgorbXNnaWQgIiAtZSwgLS1leGNsdWRlIDxsaXN0PiBleGNsdWRlIGRldmljZXMgYnkgbWFqb3IgbnVtYmVyIChkZWZhdWx0OiBSQU0gZGlza3MpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MjcKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZzICAgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIOWIl+WNsOWPquacieizh+ioiumXnOaWvOWPluaoo+atpempn1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyOAorIywgZnV6enkKK21zZ2lkICIgLWksIC0tYXNjaWkgICAgICAgICAgdXNlIGFzY2lpIGNoYXJhY3RlcnMgb25seVxuIgorbXNnc3RyICIgLTcsIC0tc2V2ZW5iaXRzICAgICAgICAg6Kit5a6a5a2X5YWD5aSn5bCP5YiwIDcg5L2N5YWDXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjI5Cittc2dpZCAiIC1JLCAtLWluY2x1ZGUgPGxpc3Q+IHNob3cgb25seSBkZXZpY2VzIHdpdGggc3BlY2lmaWVkIG1ham9yIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMAorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIpcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzEKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAg5rKS5pyJ5LiA6Iis6Ly45Ye6XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMyCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1wZXJtcyAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIpcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNAorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM1CisjLCBmdXp6eQorbXNnaWQgIiAtTywgLS1vdXRwdXQtYWxsICAgICBvdXRwdXQgYWxsIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAg55+t6YG46aCF54K66L6o6K2Y55qEXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM2CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wYXRocyAgICAgICAgICBwcmludCBjb21wbGV0ZSBkZXZpY2UgcGF0aFxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICDliJfljbDoqbPntLDnmoTos4fmlplcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzkKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLWludmVyc2UgICAgICAgIGludmVyc2UgZGVwZW5kZW5jaWVzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIOWIl+WNsOips+e0sOeahOizh+aWmVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MAorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2NzaSAgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgU0NTSSBkZXZpY2VzXG4iCittc2dzdHIgIiAtViAgICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQxCittc2dpZCAiIC10LCAtLXRvcG9sb2d5ICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHRvcG9sb2d5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDIKK21zZ2lkICIgLXgsIC0tc29ydCA8Y29sdW1uPiAgc29ydCBvdXRwdXQgYnkgPGNvbHVtbj5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NyBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MTkgc3lzLXV0aWxzL2xzbnMuYzo2MzIKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTk2IHN5cy11dGlscy96cmFtY3RsLmM6NTQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLW91dHB1dCk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLlj6/nlKjmrITkvY0gKOeUqOaWvCAtLW91dHB1dCnvvJpcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhY2Nlc3Mgc3lzZnMgZGlyZWN0b3J5OiAlcyIKK21zZ3N0ciAi5a2Y5Y+WIHN5c2ZzIOebrumMhOaZguWkseaVl++8miVzIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3MworIywgZnV6enkKK21zZ2lkICJjb21tYW5kIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIuWRveS7pOeahOiZleeQhuS/neaciemOluWumiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzQKKyMsIGZ1enp5Cittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIlBJRCDnmoTomZXnkIbkv53mnInpjpblrpoiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc1CisjLCBmdXp6eQorbXNnaWQgImtpbmQgb2YgbG9jazogRkxfRkxPQ0sgb3IgRkxfUE9TSVguIgorbXNnc3RyICJraW5kIOeahOmOluWumu+8mkZMX0ZMT0NLIOaIliBGTF9QT1NJWOOAgiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBvZiB0aGUgbG9jayIKK21zZ3N0ciAi5aSn5bCP55qE6Y6W5a6aIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NworIywgZnV6enkKK21zZ2lkICJsb2NrIGFjY2VzcyBtb2RlIgorbXNnc3RyICLpjpblrprlrZjlj5bmqKHlvI8iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc4CisjLCBmdXp6eQorbXNnaWQgIm1hbmRhdG9yeSBzdGF0ZSBvZiB0aGUgbG9jazogMCAobm9uZSksIDEgKHNldCkiCittc2dzdHIgIuW/heimgeeLgOaFi+eahOmOluWumu+8mjAgKOeEoSnvvIwxICjoqK3lrpopIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OQorIywgZnV6enkKK21zZ2lkICJyZWxhdGl2ZSBieXRlIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAi55u45bCN55qE5L2N5YWD57WE5YGP56e755qE6Y6W5a6aIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MAorIywgZnV6enkKK21zZ2lkICJlbmRpbmcgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICLntZDmnZ/pg6jliIblgY/np7vnmoTpjpblrpoiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgxCisjLCBmdXp6eQorbXNnaWQgInBhdGggb2YgdGhlIGxvY2tlZCBmaWxlIgorbXNnc3RyICLot6/lvpHnmoTpjpblrprnmoTmqpTmoYgiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgyCisjLCBmdXp6eQorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBibG9ja2luZyB0aGUgbG9jayIKK21zZ3N0ciAiUElEIOeahOiZleeQhuS/neaciemOluWumiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjU5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJRCIKK21zZ3N0ciAi5YmW5p6QICVzIOaZguWkseaVlyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjgxIHN5cy11dGlscy9uc2VudGVyLmM6MjMyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBpZCIKK21zZ3N0ciAi5YmW5p6QIHBpZCDmmYLlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4NAorIywgZnV6enkKK21zZ2lkICIodW5rbm93bikiCittc2dzdHIgIijkuI3mmI4pIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICLliZbmnpDplovlp4vmmYLlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjMwMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICLliZbmnpDntZDmnZ/mmYLlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNAorIywgZnV6enkKK21zZ2lkICJMaXN0IGxvY2FsIHN5c3RlbSBsb2Nrcy5cbiIKK21zZ3N0ciAi54Sh5rOV6Kit5a6a57O757Wx5pmC6ZCY44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwOAorbXNnaWQgIiAtaSwgLS1ub2luYWNjZXNzaWJsZSAgIGlnbm9yZSBsb2NrcyB3aXRob3V0IHJlYWQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDkgc3lzLXV0aWxzL2xzbnMuYzo2MjEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICDkuI3liIblibLplbfliJdcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTEwIHN5cy11dGlscy9sc25zLmM6NjIyCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAg55+t6YG46aCF54K66L6o6K2Y55qEXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMQorbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIGRpc3BsYXkgb25seSBsb2NrcyBoZWxkIGJ5IHRoaXMgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUxMiBzeXMtdXRpbHMvbHNucy5jOjYyNAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioilxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1NzAgc2NoZWR1dGlscy9jaHJ0LmM6NDc4IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc3CisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxNjMgc3lzLXV0aWxzL2xzbnMuYzo2OTkgc3lzLXV0aWxzL3BybGltaXQuYzo1ODYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBQSUQgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahCBQSUQg5byV5pW4IgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4NQorbXNnaWQgIkdlbmVyYXRlIG1hZ2ljIGNvb2tpZXMgZm9yIHhhdXRoLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg4CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgdXNlIGZpbGUgYXMgYSBjb29raWUgc2VlZFxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAg6aGv56S66YCZ5Lu96Kqq5piO54S25b6M6Zui6ZaLXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg5Cittc2dpZCAiIC1tLCAtLW1heC1zaXplIDxudW0+ICBsaW1pdCBob3cgbXVjaCBpcyByZWFkIGZyb20gc2VlZCBmaWxlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkwCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIOino+mHi+S7gOm6vOato+WcqOaYr+W3suWujOaIkFxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlenUgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlenUgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICLlvp4gJTIkcyDlj5blvpcgJTEkZCDkvY3lhYPntYRcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjbG9zaW5nICVzIGZhaWxlZCIKK21zZ3N0ciAi6Zec6ZaJICVzIOWkseaVlyIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTY0IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTQ2IHN5cy11dGlscy9mc3RyaW0uYzozMDgKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGVuZ3RoIgorbXNnc3RyICLliZbmnpDplbfluqbmmYLlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE3NworbXNnaWQgIi0tbWF4LXNpemUgaWdub3JlZCB3aGVuIHVzZWQgd2l0aG91dCAtLWZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHb3QgJWQgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlZCBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIuW+niAlMiRzIOWPluW+lyAlMSRkIOS9jeWFg+e1hFxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3ltbGluazogJXMiCittc2dzdHIgIuiugOWPluespuiZn+mAo+e1kOaZguWkseaVl++8miVzIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAtIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiJXMgLSDmspLmnInmraTpoZ7mqpTmoYjmiJbnm67pjIRcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGF0aG5hbWU+Li4uXG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSA8ZGV2aWNlPiBbLi4uXVxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzM2Cittc2dpZCAiRm9sbG93IGEgcGF0aG5hbWUgdW50aWwgYSB0ZXJtaW5hbCBwb2ludCBpcyBmb3VuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzM5CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICBkaXNwbGF5cyB0aGlzIGhlbHAgdGV4dFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC14LCAtLW1vdW50cG9pbnRzICAgc2hvdyBtb3VudCBwb2ludCBkaXJlY3RvcmllcyB3aXRoIGEgJ0QnXG4iCisiIC1tLCAtLW1vZGVzICAgICAgICAgc2hvdyB0aGUgbW9kZSBiaXRzIG9mIGVhY2ggZmlsZVxuIgorIiAtbywgLS1vd25lcnMgICAgICAgIHNob3cgb3duZXIgYW5kIGdyb3VwIG5hbWUgb2YgZWFjaCBmaWxlXG4iCisiIC1sLCAtLWxvbmcgICAgICAgICAgdXNlIGEgbG9uZyBsaXN0aW5nIGZvcm1hdCAoLW0gLW8gLXYpIFxuIgorIiAtbiwgLS1ub3N5bWxpbmtzICAgIGRvbid0IGZvbGxvdyBzeW1saW5rc1xuIgorIiAtdiwgLS12ZXJ0aWNhbCAgICAgIHZlcnRpY2FsIGFsaWduIG9mIG1vZGVzIGFuZCBvd25lcnNcbiIKK21zZ3N0ciAiIgorIiAtaCwgLS1oZWxwICAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjuaWh+Wtl1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorIiAteCwgLS1tb3VudHBvaW50cyAgIOmhr+ekuuaOm+i8iem7nuebrumMhOiIh+OAjkTjgI9cbiIKKyIgLW0sIC0tbW9kZXMgICAgICAgICDpoa/npLrmqKHlvI/kvY3lhYPnmoTmr4/lgIvmqpTmoYhcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICDpoa/npLrmk4HmnInogIXlkoznvqTntYTlkI3nqLHnmoTmr4/lgIvmqpTmoYhcbiIKKyIgLWwsIC0tbG9uZyAgICAgICAgICDkvb/nlKjplbfliJfooajmoLzlvI8gKC1tIC1vIC12KVxuIgorIiAtbiwgLS1ub3N5bWxpbmtzICAgIOS4jei/vemaqOespuiZn+mAo+e1kFxuIgorIiAtdiwgLS12ZXJ0aWNhbCAgICAgIOWeguebtOWwjem9iueahOaooeW8j+WSjOaTgeacieiAhVxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDA4CisjLCBmdXp6eQorbXNnaWQgInBhdGhuYW1lIGFyZ3VtZW50IGlzIG1pc3NpbmciCittc2dzdHIgIui3r+W+keWQjeeoseW8leaVuOe8uuWwkSIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNCBzeXMtdXRpbHMvbHNucy5jOjc2NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgVUlEIGNhY2hlIgorbXNnc3RyICLphY3nva7ov63ku6PlmajmmYLlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdJRCBjYWNoZSIKK21zZ3N0ciAi6YWN572u6L+t5Luj5Zmo5pmC5aSx5pWXIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGNlZWRlZCBsaW1pdCBvZiBzeW1saW5rcyIKK21zZ3N0ciAiJXPvvJrotoXlh7rnrKbomZ/pgKPntZDnmoTpmZDliLYiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICIlc++8muS4jeaYr+WNgOWhiuijnee9riIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWRsaW5rIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJrplovllZ/lpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmxpbmsgZmFpbGVkIgorbXNnc3RyICIlc++8mmxzZWVrIOWkseaVlyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN5bWxpbmtpbmcgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlc++8muW7uueri+mAo+e1kOWIsCAlcyDlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVuYW1lIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJrlu7rnq4vpgKPntZDliLAgJXMg5aSx5pWXIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjExOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZXhwcmVzc2lvbj4gPHJlcGxhY2VtZW50PiA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIOmBi+eul+W8j+e9ruaPm+aqlOahiOKAplxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyMgorIywgZnV6enkKK21zZ2lkICJSZW5hbWUgZmlsZXMuXG4iCittc2dzdHIgInVuYW1lIOWkseaVlyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIOino+mHi+S7gOm6vOato+WcqOaYr+W3suWujOaIkFxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyNgorbXNnaWQgIiAtcywgLS1zeW1saW5rICAgIGFjdCBvbiB0aGUgdGFyZ2V0IG9mIHN5bWxpbmtzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcyCittc2dpZCAiQSBkYWVtb24gZm9yIGdlbmVyYXRpbmcgVVVJRHMuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgPHBhdGg+ICAgICAgICBwYXRoIHRvIHBpZCBmaWxlXG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgIOefremBuOmgheeCuui+qOitmOeahFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNvY2tldCA8cGF0aD4gICAgIHBhdGggdG8gc29ja2V0XG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgIOefremBuOmgheeCuui+qOitmOeahFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRpbWVvdXQgPHNlYz4gICAgIHNwZWNpZnkgaW5hY3Rpdml0eSB0aW1lb3V0XG4iCittc2dzdHIgIiAtdyAgLS10aW1lb3V0IDxzZWNzPiAgICAg562J5b6F6ZmQ5Yi255qE5pW455uu55qE5pmC6ZaTXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NworIywgZnV6enkKK21zZ2lkICIgLWssIC0ta2lsbCAgICAgICAgICAgICAga2lsbCBydW5uaW5nIGRhZW1vblxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICDliJfljbDmiYDmnInnrKbomZ/vvIzljbPkvb/oqIjmlbjmmK8gMFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzgKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhbmRvbSAgICAgICAgICAgIHRlc3QgcmFuZG9tLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiIC1jLCAtLWNyZWF0b3IgICAgIOmhr+ekuuW7uueri+iAheWSjOaTgeacieiAhVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAtdCwgLS10aW1lIDxtcz4gICAgICAgICAgICAgIOmpheWLleeoi+W8j+etieW+heaZgumWk+WcqOS4reavq+enklxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODAKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCittc2dzdHIgIiAgICAtSCMgW+aIliAtLWhlYWRzICNd77yaICAg6Kit5a6a6KaB55So55qE56OB6aCt5pW46YePIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKK21zZ3N0ciAiIC1xLCAtLXN0YXRzICAgICAgICAgICAgICAgICAgICAgICAg6aGv56S657Wx6KiI6Zec5pa8IHR0eVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODIKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIGRvIG5vdCBkYWVtb25pemUgdXNpbmcgZG91YmxlLWZvcmtcbiIKK21zZ3N0ciAiIC11ICAtLXVubG9jayAgICAgICAgICAgICDnp7vpmaTpjpblrppcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjgzCisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBkbyBub3QgY3JlYXRlIGxpc3RlbmluZyBzb2NrZXRcbiIKK21zZ3N0ciAi5YWp6ICFIC0tc29ja2V0LWFjdGl2YXRpb24g5ZKMIC0tc29ja2V0IOaMh+WumueahOOAguW/veeVpSAtLXNvY2tldFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6ODQKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHJ1biBpbiBkZWJ1Z2dpbmcgbW9kZVxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAg5YiX5Y2w6Kmz57Sw55qE6KiK5oGv5Yiw5qiZ5rqW5YuY6KqkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo4NQorIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgdHVybiBvbiBxdWlldCBtb2RlXG4iCittc2dzdHIgIiAgICAtcSAgW+aIliAtLXF1aWV0Xe+8miAgICAg5oqR5Yi26K2m5ZGK6KiK5oGvIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTE4Cittc2dpZCAiYmFkIGFyZ3VtZW50cyIKK21zZ3N0ciAi5LiN55W255qE5byV5pW4IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTI1Cittc2dpZCAic29ja2V0IgorbXNnc3RyICLpgJroqIrnq68iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMzYKK21zZ2lkICJjb25uZWN0IgorbXNnc3RyICLpgKPmjqUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNTYKK21zZ2lkICJ3cml0ZSIKK21zZ3N0ciAi5a+r5YWlIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTY0Cittc2dpZCAicmVhZCBjb3VudCIKK21zZ3N0ciAi6K6A5Y+W6KiI5pW4IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTcwCittc2dpZCAiYmFkIHJlc3BvbnNlIGxlbmd0aCIKK21zZ3N0ciAi5LiN55W255qE5Zue5oeJ6ZW35bqmIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbG9jayAlcyIKK21zZ3N0ciAi54Sh5rOV6ZaL5ZWfICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjQ2CisjLCBmdXp6eQorbXNnaWQgImNvdWxkbid0IGNyZWF0ZSB1bml4IHN0cmVhbSBzb2NrZXQiCittc2dzdHIgIueEoeazleW7uueriyB1bml4IOS4sua1gemAmuioiuerr++8miVtIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBiaW5kIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICLnhKHms5XnuavntZAgdW5peCDpgJroqIrnq68gJXPvvJolbVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mjk4CisjLCBmdXp6eQorbXNnaWQgInJlY2VpdmluZyBzaWduYWwgZmFpbGVkIgorbXNnc3RyICLph43mlrDlkb3lkI0gJXMg5YiwICVzIOWkseaVlyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjMxMQorbXNnaWQgInRpbWVkIG91dCIKK21zZ3N0ciAi5bey6YC+5pmCIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzQ1IHN5cy11dGlscy9mbG9jay5jOjI3MQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHVwIHRpbWVyIgorbXNnc3RyICLnhKHms5XoqK3lrprnvqTntYTorZjliKXomZ8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInV1aWRkIGRhZW1vbiBpcyBhbHJlYWR5IHJ1bm5pbmcgYXQgcGlkICVzIgorbXNnc3RyICJ1dWlkZCDlrojorbfnqIvlvI/lt7LntpPku6UgcGlkICVzIOmBi+ihjOS4rVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBsaXN0ZW4gb24gdW5peCBzb2NrZXQgJXMiCittc2dzdHIgIueEoeazleiBveWPluaWvCB1bml4IOmAmuioiuerryAlc++8miVtXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB0cnVuY2F0ZSBmaWxlOiAlcyIKK21zZ3N0ciAi54Sh5rOV6aGv56S654uA5oWL44CMJXPjgI0iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODYKKyMsIGZ1enp5Cittc2dpZCAic2RfbGlzdGVuX2ZkcygpIGZhaWxlZCIKK21zZ3N0ciAic2V0dGltZW9mZGF5KCkg5aSx5pWXIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzg5Cittc2dpZCAibm8gZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgc3lzdGVtY3RsIHN0YXR1cyB1dWlkZC5zb2NrZXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM5MgorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayB1dWlkZC5zb2NrZXQiCittc2dzdHIgIuaykuacieaIluWkquWkmuaqlOahiOaPj+i/sOespuiZn+aOpeaUtuOAglxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDIwIHRlcm0tdXRpbHMvc2NyaXB0LmM6NDU1CisjLCBmdXp6eQorbXNnaWQgInBvbGwgZmFpbGVkIgorbXNnc3RyICLmhI/opovoqr/mn6UoKSDlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRpbWVvdXQgWyVkIHNlY11cbiIKK21zZ3N0ciAi5bey6YC+5pmC5LmL5b6MICV1IOenkiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0MyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQxNAorIywgZnV6enkKK21zZ2lkICJyZWFkIGZhaWxlZCIKK21zZ3N0ciAiZnJlYWQg5aSx5pWXIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvciByZWFkaW5nIGZyb20gY2xpZW50LCBsZW4gPSAlZCIKK21zZ3N0ciAi5b6e5a6i5oi256uv6K6A5Y+W5pmC55m855Sf6Yyv6Kqk77yM6ZW35bqmID0gJWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ1NAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWQsIGluY29taW5nIG51bSA9ICVkXG4iCittc2dzdHIgIuaTjeS9nCAlZO+8jOWNs+Wwh+S+huWIsOeahOaVuOWtlyA9ICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkXG4iCittc2dzdHIgIuaTjeS9nCAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQ6ICVzXG4iCittc2dzdHIgIueUoueUn+eahOaZgumWkyBVVUlE77yaJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgcmFuZG9tIFVVSUQ6ICVzXG4iCittc2dzdHIgIueUoueUn+eahOmaqOapnyBVVUlE77yaJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgYW5kICVkIGZvbGxvd2luZ1xuIgorbXNnc3RyWzBdICLnlKLnlJ/nmoTmmYLplpMgVVVJRCAlcyDlkowgJWQg5LiL5YiXXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCAlZCBVVUlEOlxuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgJWQgVVVJRHM6XG4iCittc2dzdHJbMF0gIueUoueUnyAlZCBVVUlE77yaXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAi54Sh5pWI55qE5pON5L2cICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgcmVwbHkgbGVuZ3RoIGZyb20gc2VydmVyICVkIgorbXNnc3RyICLmnKrpoJDmnJ/nmoTlm57opobplbfluqblvp7kvLrmnI3lmaggJWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MDAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdXVpZHMiCittc2dzdHIgIuWJluaekCBwaWQg5pmC5aSx5pWXIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjE3CisjLCBmdXp6eQorbXNnaWQgInV1aWRkIGhhcyBiZWVuIGJ1aWx0IHdpdGhvdXQgc3VwcG9ydCBmb3Igc29ja2V0IGFjdGl2YXRpb24iCittc2dzdHIgInV1aWRkIOW3suiiqyBidWlsdCDogIznhKHpnIDmlK/mj7TnlKjmlrzpgJroqIrnq6/mtLvljJbjgIJcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYzNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10aW1lb3V0IgorbXNnc3RyICLliZbmnpDlpKflsI/mmYLlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NTMKKyMsIGZ1enp5Cittc2dpZCAiQm90aCAtLXNvY2tldC1hY3RpdmF0aW9uIGFuZCAtLXNvY2tldCBzcGVjaWZpZWQuIElnbm9yaW5nIC0tc29ja2V0LiIKK21zZ3N0ciAi5YWp6ICFIC0tc29ja2V0LWFjdGl2YXRpb24g5ZKMIC0tc29ja2V0IOaMh+WumueahOOAguW/veeVpSAtLXNvY2tldFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYwIG1pc2MtdXRpbHMvdXVpZGQuYzo2ODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNhbGxpbmcgdXVpZGQgZGFlbW9uICglcykiCittc2dzdHIgIuWRvOWPqyB1dWlkZCDlrojorbfnqIvlvI8gKCVzKSDmmYLnmbznlJ/pjK/oqqTvvJolbVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYxIG1pc2MtdXRpbHMvdXVpZGQuYzo2ODkKKyMsIGZ1enp5Cittc2dpZCAidW5leHBlY3RlZCBlcnJvciIKK21zZ3N0ciAiJXPvvJrmnKrpoJDmnJ/nmoTmqpTmoYjmoLzlvI8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURcbiIKK21zZ2lkX3BsdXJhbCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRHNcbiIKK21zZ3N0clswXSAiJXMg5ZKMICVkIOW+jOe6jCBVVUlEXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGlzdCBvZiBVVUlEczpcbiIKK21zZ3N0ciAiVVVJRHMg5YiX6KGo77yaXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGtpbGwgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQiCittc2dzdHIgIueEoeazleegjemZpCB1dWlkZCDln7fooYzkuK3mlrwgcGlkICVk77yaJW1cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiS2lsbGVkIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkLlxuIgorbXNnc3RyICLlt7LnoI3pmaTln7fooYzmlrwgcGlkICVkIOeahCB1dWlkZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyOAorbXNnaWQgIkNyZWF0ZSBhIG5ldyBVVUlEIHZhbHVlLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjMxCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLXIsIC0tcmFuZG9tICAgICBnZW5lcmF0ZSByYW5kb20tYmFzZWQgdXVpZFxuIgorIiAtdCwgLS10aW1lICAgICAgIGdlbmVyYXRlIHRpbWUtYmFzZWQgdXVpZFxuIgorIiAtViwgLS12ZXJzaW9uICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtciwgLS1yYW5kb20gICAgIOeUoueUnyByYW5kb20tYmFzZWQgdXVpZFxuIgorIiAtdCwgLS10aW1lICAgICAgIOeUoueUnyB0aW1lLWJhc2VkIHV1aWRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICDovLjlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKyIgLWgsIC0taGVscCAgICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKyJcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstQk1TIDxkaXI+Li4uIC1mXSA8bmFtZT5cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIFs8ZmlsZT5dXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5MgorbXNnaWQgIkxvY2F0ZSB0aGUgYmluYXJ5LCBzb3VyY2UsIGFuZCBtYW51YWwtcGFnZSBmaWxlcyBmb3IgYSBjb21tYW5kLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5NQorIywgZnV6enkKK21zZ2lkICIgLWIgICAgICAgICBzZWFyY2ggb25seSBmb3IgYmluYXJpZXNcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICDkuI3liIblibLplbfliJdcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk2Cittc2dpZCAiIC1CIDxkaXJzPiAgZGVmaW5lIGJpbmFyaWVzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk3CisjLCBmdXp6eQorbXNnaWQgIiAtbSAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBtYW51YWxzIGFuZCBpbmZvc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgIOS4jeWIhuWJsumVt+WIl1xuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTgKK21zZ2lkICIgLU0gPGRpcnM+ICBkZWZpbmUgbWFuIGFuZCBpbmZvIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk5Cittc2dpZCAiIC1zICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIHNvdXJjZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDAKK21zZ2lkICIgLVMgPGRpcnM+ICBkZWZpbmUgc291cmNlcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMQorIywgZnV6enkKK21zZ2lkICIgLWYgICAgICAgICB0ZXJtaW5hdGUgPGRpcnM+IGFyZ3VtZW50IGxpc3RcbiIKK21zZ3N0ciAiIC1uICAgICAgICAgICDntYLmraLlkb3ku6ToiIfmj5vliJdcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAyCittc2dpZCAiIC11ICAgICAgICAgc2VhcmNoIGZvciB1bnVzdWFsIGVudHJpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDMKK21zZ2lkICIgLWwgICAgICAgICBvdXRwdXQgZWZmZWN0aXZlIGxvb2t1cCBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjYxOQorIywgZnV6enkKK21zZ2lkICJvcHRpb24gLWYgaXMgbWlzc2luZyIKK21zZ3N0ciAi6Lev5b6R5ZCN56ix5byV5pW457y65bCRIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjE5NgorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIuWIhuWJsuaomeiyvCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBwcm9iaW5nIGluaXRpYWxpemF0aW9uIGZhaWxlZCIKK21zZ3N0ciAi6Yyv6Kqk77yaJXPvvJroqabmjqLliJ3lp4vljJbmmYLlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGVyYXNlICVzIG1hZ2ljIHN0cmluZyBhdCBvZmZzZXQgMHglMDhqeCIKK21zZ3N0ciAiJXPvvJrnhKHms5XmuIXpmaQgJXMg6a2U6KGT5a2X5Liy5pa85YGP56e7IDB4JTA4IGp4IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICV6ZCBieXRlIHdhcyBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnaWRfcGx1cmFsICIlczogJXpkIGJ5dGVzIHdlcmUgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIKK21zZ3N0clswXSAiJXPvvJolemQg5L2N5YWD57WE6KKr5riF6Zmk5pa85YGP56e7IDB4JTA4IGp4ICglcynvvJoiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAiCittc2dzdHIgIiVz77ya54Sh5rOV5a+r5YWl57C95ZCN6aCB6Z2iIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjM2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbGxpbmcgaW9jdGwgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGU6ICVtXG4iCittc2dzdHIgIuWRvOWPqyBpb2N0bCgpIOS7pemHjeaWsOiugOWPluWIhuWJsuihqOOAglxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjM4NQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlnbm9yaW5nIG5lc3RlZCBcIiVzXCIgcGFydGl0aW9uIHRhYmxlIG9uIG5vbi13aG9sZSBkaXNrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAweCVqeCBub3QgZm91bmQiCittc2dzdHIgIiVz77ya5om+5LiN5Yiw5YGP56e7IDB4JWp4ICIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MzUKKyMsIGZ1enp5Cittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiB0byBmb3JjZSBlcmFzZS4iCittc2dzdHIgIuS9v+eUqCAtLWZvcmNlIOaXl+aomeS7pemngeWbnuaJgOacieaqouafpeOAglxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1OQorbXNnaWQgIldpcGUgc2lnbmF0dXJlcyBmcm9tIGEgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDYyCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICB3aXBlIGFsbCBtYWdpYyBzdHJpbmdzIChCRSBDQVJFRlVMISlcbiIKKyIgLWIsIC0tYmFja3VwICAgICAgICBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIGluICRIT01FXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgZm9yY2UgZXJhc3VyZVxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKKyIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgYWN0dWFsIHdyaXRlKCkgY2FsbFxuIgorIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCB0byBlcmFzZSwgaW4gYnl0ZXNcbiIKKyIgLXAsIC0tcGFyc2FibGUgICAgICBwcmludCBvdXQgaW4gcGFyc2FibGUgaW5zdGVhZCBvZiBwcmludGFibGUgZm9ybWF0XG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcHJlc3Mgb3V0cHV0IG1lc3NhZ2VzXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtLCBSQUlEcyBvciBwYXJ0aXRpb24gdGFibGVzXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgIOaSpeaJgOaciemtlOihk+Wtl+S4siAo6KuL5bCP5b+DICEpXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piO5paH5a2XXG4iCisiIC1uLCAtLW5vLWFjdCAgICAgICAg5YGa5omA5pyJ5p2x6KW/6Zmk5LqG5a+m6Zqb55qE5a+r5YWlKCkg5ZG85Y+rXG4iCisiIC1vLCAtLW9mZnNldCA8bnVtPiAg5YGP56e75Yiw5riF6Zmk77yM5Zyo5Lit5L2N5YWD57WEXG4iCisiIC1wLCAtLXBhcnNhYmxlICAgICAg5Y2w5Ye65Zyo5LitIHBhcnNhYmxlIOS7peS7o+abv+WPr+WIl+WNsOagvOW8j1xuIgorIiAtcSwgLS1xdWlldCAgICAgICAgIOaKkeWItui8uOWHuuioiuaBr1xuIgorIiAtdCwgLS10eXBlczzmuIXllq4+IOmZkOWItumbhuWQiOaqlOahiOezu+e1se+8jFJBSURzIOaIluWIhuWJsuihqFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjUzMworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG9mZnNldCBhcmd1bWVudCIKK21zZ3N0ciAi54Sh5pWI55qE5YGP56e75byV5pW4IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU1OAorIywgZnV6enkKK21zZ2lkICJUaGUgLS1iYWNrdXAgb3B0aW9uIGlzIG1lYW5pbmdsZXNzIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAi6YG46aCFIC0tb2Zmc2V0IOacquiiq+WFgeioseWcqOS4remAmeWAi+iqnuWig+OAgiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM1Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlYWwtdGltZSBzY2hlZHVsaW5nIGF0dHJpYnV0ZXMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNworIywgZnV6enkKK21zZ2lkICIiCisiU2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gPHByaW9yaXR5PiA8Y29tbWFuZD4gWzxhcmc+Li4uXVxuIgorIiBjaHJ0IFtvcHRpb25zXSAtLXBpZCA8cHJpb3JpdHk+IDxwaWQ+XG4iCittc2dzdHIgIiIKKyJcbiIKKyIgY2hydCAtIOaTjeaOp+ihjOeoi+eahOWNs+aZguWxrOaAp1xuIgorIlxuIgorIuioreWumuetlueVpe+8mlxuIgorIiAgY2hydCBb6YG46aCFXSA8cG9saWN5PiA8cHJpb3JpdHk+IHs8cGlkPiB8PGNvbW1hbmQ+IFs8YXJnPi4uLl19XG4iCisiXG4iCisi5Y+W5b6X562W55Wl77yaXG4iCisiICBjaHJ0IFvpgbjpoIVdIHs8cGlkPiB8IDxjb21tYW5kPiBbPGFyZz4uLi5dfVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDEKK21zZ2lkICIiCisiR2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gLXAgPHBpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDUKKyMsIGZ1enp5Cittc2dpZCAiUG9saWN5IG9wdGlvbnM6XG4iCittc2dzdHIgIuizh+a6kOmBuOmghe+8mlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDYKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJhdGNoICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfQkFUQ0hcbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIOioreWumuWQjOS9jeWIsOeEoVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDcKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRlYWRsaW5lICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfREVBRExJTkVcbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIOioreWumuWQjOS9jeWIsOeEoVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDgKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpZm8gICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfRklGT1xuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAg6Kit5a6a5ZCM5L2N5Yiw54ShXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taWRsZSAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9JRExFXG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICDoqK3lrprlkIzkvY3liLDnhKFcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUwCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdGhlciAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX09USEVSXG4iCittc2dzdHIgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICDoqK3lrprlkIzkvY3liLDlpYfmlbhcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUxCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yciAgICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX1JSIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICDliJfljbDlj6rmnInos4foqIrpl5zmlrzlj5bmqKPmraXpqZ9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU0CisjLCBmdXp6eQorbXNnaWQgIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAi6Ly45Ye65qC85byP77yaXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NQorIywgZnV6enkKK21zZ2lkICIgLVIsIC0tcmVzZXQtb24tZm9yayAgICAgICBzZXQgU0NIRURfUkVTRVRfT05fRk9SSyBmb3IgRklGTyBvciBSUlxuIgorbXNnc3RyICIiCisiXG4iCisi5o6S56iL5peX5qiZ77yaXG4iCisiICAtUiB8IC0tcmVzZXQtb24tZm9yayDoqK3lrpogU0NIRURfUkVTRVRfT05fRk9SSyDnlKjmlrwgRklGTyDmiJYgUlJcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU2Cittc2dpZCAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAgcnVudGltZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU3Cittc2dpZCAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTgKK21zZ2lkICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYxCisjLCBmdXp6eQorbXNnaWQgIk90aGVyIG9wdGlvbnM6XG4iCittc2dzdHIgIui8uOWHuuagvOW8j++8mlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjIKK21zZ2lkICIgLWEsIC0tYWxsLXRhc2tzICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjMKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1heCAgICAgICAgICAgIHNob3cgbWluIGFuZCBtYXggdmFsaWQgcHJpb3JpdGllc1xuIgorbXNnc3RyICIgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICDkuI3lvJXoqIDovLjlh7pcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICDmjIflrprkuKbliJfln6AgaXJxXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgZGlzcGxheSBzdGF0dXMgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIOino+mHi+S7gOm6vOato+WcqOaYr+W3suWujOaIkFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyMzIgc2NoZWR1dGlscy9jaHJ0LmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICLlj5blvpcgcGlkICVkIOeahOetlueVpeaZguWkseaVlyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjU3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYXR0cmlidXRlcyIKK21zZ3N0ciAi5Y+W5b6XIHBpZCAlZCDnmoTlsazmgKfmmYLlpLHmlZciCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAicGlkICVkIOaWsOeahOaOkueoi+etlueVpe+8miIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAicGlkICVkIOebruWJjeeahOaOkueoi+etlueVpe+8miIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICJwaWQgJWQg5paw55qE5o6S56iL5YSq5YWI5qyK77yaJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAicGlkICVkIOebruWJjeeahOaOkueoi+WEquWFiOasiu+8miVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAicGlkICVkIOebruWJjeeahOaOkueoi+WEquWFiOasiu+8miVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMwMCBzY2hlZHV0aWxzL2NocnQuYzozOTYKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9idGFpbiB0aGUgbGlzdCBvZiB0YXNrcyIKK21zZ3N0ciAi54Sh5rOV5b6X5Yiw5LqL5YuZ5riF5Zau55qEIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG1pbi9tYXggcHJpb3JpdHlcdDogJWQvJWRcbiIKK21zZ3N0ciAiU0NIRURfJXMg5pyA5bCPL+acgOWkp+WEquWFiOasilx077yaJWQvJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3Qgc3VwcG9ydGVkP1xuIgorbXNnc3RyICJTQ0hFRF8lcyDkuI3ooqvmlK/mj7TvvJ9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAi6Kit5a6aIHRpZCAlZCdzIOetlueVpeaZguWkseaVlyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICLoqK3lrpogcGlkICVkIOeahOetlueVpeaZguWkseaVlyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDg3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcnVudGltZSBhcmd1bWVudCIKK21zZ3N0ciAi54Sh5pWI55qE5pmC6ZaT5byV5pW4IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwZXJpb2QgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahOmAn+W6puW8leaVuCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDkzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZGVhZGxpbmUgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahOWJjeerr+W8leaVuCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcHJpb3JpdHkgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahOWEquWFiOasiuW8leaVuCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTIxCisjLCBmdXp6eQorbXNnaWQgIi0tcmVzZXQtb24tZm9yayBvcHRpb24gaXMgc3VwcG9ydGVkIGZvciBTQ0hFRF9GSUZPIGFuZCBTQ0hFRF9SUiBwb2xpY2llcyBvbmx5IgorbXNnc3RyICJTQ0hFRF9SRVNFVF9PTl9GT1JLIOaXl+aomeWPquiiq+aUr+aPtOeUqOaWvCBTQ0hFRF9GSUZPIOWSjCBTQ0hFRF9SUiDnrZbnlaUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyNgorbXNnaWQgIi0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgZm9yIFNDSEVEX0RFQURMSU5FIG9ubHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQxCisjLCBmdXp6eQorbXNnaWQgIlNDSEVEX0RFQURMSU5FIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJTQ0hFRF8lcyDkuI3ooqvmlK/mj7TvvJ9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByaW9yaXR5IHZhbHVlIGZvciB0aGUgcG9saWN5OiAlZDogc2VlIC0tbWF4IGZvciB2YWxpZCByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc2Cittc2dpZCAiaW9wcmlvX2dldCBmYWlsZWQiCittc2dzdHIgImlvcHJpb19nZXQg5aSx5pWXIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcHJpbyAlbHVcbiIKK21zZ3N0ciAiJXPvvJrpgbjpoIUgIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjk4Cittc2dpZCAiaW9wcmlvX3NldCBmYWlsZWQiCittc2dzdHIgImlvcHJpb19zZXQg5aSx5pWXIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSAtcCA8cGlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtUCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBb6YG46aCFXVxuIgorIiAlMSRzIFvpgbjpoIVdIDxkZXZpY2U+fDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFvpgbjpoIVdPOijnee9rj48bW91bnRwb2ludD5cbiIKKyIgJTEkcyBb6YG46aCFXSBbLS1zb3VyY2U86KOd572uPl0gWy0tdGFyZ2V0PG1vdW50cG9pbnQ+XVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExMAorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBJL08tc2NoZWR1bGluZyBjbGFzcyBhbmQgcHJpb3JpdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTEzCittc2dpZCAiIgorIiAtYywgLS1jbGFzcyA8Y2xhc3M+ICAgIG5hbWUgb3IgbnVtYmVyIG9mIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNQorbXNnaWQgIiIKKyIgLW4sIC0tY2xhc3NkYXRhIDxudW0+ICBwcmlvcml0eSAoMC4uNykgaW4gdGhlIHNwZWNpZmllZCBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgb25seSBmb3IgdGhlIHJlYWx0aW1lIGFuZCBiZXN0LWVmZm9ydCBjbGFzc2VzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTcKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+Li4uICAgICBhY3Qgb24gdGhlc2UgYWxyZWFkeSBydW5uaW5nIHByb2Nlc3Nlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE4Cittc2dpZCAiIC1QLCAtLXBnaWQgPHBncnA+Li4uICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgaW4gdGhlc2UgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTkKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLWlnbm9yZSAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCittc2dzdHIgIiAtdSAgLS11bmxvY2sgICAgICAgICAgICAg56e76Zmk6Y6W5a6aXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTIwCittc2dpZCAiIC11LCAtLXVpZCA8dWlkPi4uLiAgICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgb3duZWQgYnkgdGhlc2UgdXNlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE1NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGNsYXNzIGRhdGEgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahOmhnuWIpeizh+aWmeW8leaVuCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjbGFzcyBhcmd1bWVudCIKK21zZ3N0ciAi54Sh5pWI55qE6aGe5Yil5byV5pW4IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzY2hlZHVsaW5nIGNsYXNzOiAnJXMnIgorbXNnc3RyICLkuI3mmI7mjpLnqIvpoZ7liKXvvJrjgI4lc+OAjyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNzYgc2NoZWR1dGlscy9pb25pY2UuYzoxODQgc2NoZWR1dGlscy9pb25pY2UuYzoxOTIKK21zZ2lkICJjYW4gaGFuZGxlIG9ubHkgb25lIG9mIHBpZCwgcGdpZCBvciB1aWQgYXQgb25jZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFBHSUQgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahCBQSUQg5byV5pW4IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFVJRCBhcmd1bWVudCIKK21zZ3N0ciAi54Sh5pWI55qEIFRJRCDlvJXmlbgiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjEyCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3Igbm9uZSBjbGFzcyIKK21zZ3N0ciAi5b+955Wl57Wm5a6a55qE54Sh6aGe5Yil6LOH5paZIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyMAorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIGlkbGUgY2xhc3MiCittc2dzdHIgIuW/veeVpee1puWumueahOmWkue9rumhnuWIpeizh+aWmSIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpbyBjbGFzcyAlZCIKK21zZ3N0ciAi5LiN5piOIHByaW8g6aGe5YilICVkIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVXNhZ2U6ICVzIFtvcHRpb25zXSBbbWFzayB8IGNwdS1saXN0XSBbcGlkfGNtZCBbYXJncy4uLl1dXG4iCisiXG4iCittc2dzdHIgIiIKKyLnlKjms5XvvJolcyBb6YG46aCFXSBb6YGu572pfCBjcHUtbGlzdF0gW3BpZHxjbWQgW+W8leaVuC4uLl1dXG4iCisiXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU1Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIENQVSBhZmZpbml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJPcHRpb25zOlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICBkaXNwbGF5IGFuZCBzcGVjaWZ5IGNwdXMgaW4gbGlzdCBmb3JtYXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHBcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKKyJcbiIKK21zZ3N0ciAiIgorIumBuOmghe+8mlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICDkvZznlKjmlrzmiYDmnInkuovli5kgKOWft+ihjOe3kikg55So5pa857Wm5a6a55qEIHBpZFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICDkvZznlKjmlrznj77mnInntablrprnmoQgcGlkXG4iCisiIC1jLCAtLWNwdS1saXN0ICAgICAgICAgIOmhr+ekuuWSjOaMh+WumiBjcHVzIOWcqOS4rea4heWWruagvOW8j1xuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICDpoa/npLrpgJnku73oqqrmmI5cbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiKXG4iCisiXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBydW4gYSBuZXcgY29tbWFuZDpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyJZb3UgY2FuIHJldHJpZXZlIHRoZSBtYXNrIG9mIGFuIGV4aXN0aW5nIHRhc2s6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiT3Igc2V0IGl0OlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorIkxpc3QgZm9ybWF0IHVzZXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBpbnN0ZWFkIG9mIGEgbWFzazpcbiIKKyIgICAgJTEkcyAtcGMgMCwzLDctMTEgNzAwXG4iCisiUmFuZ2VzIGluIGxpc3QgZm9ybWF0IGNhbiB0YWtlIGEgc3RyaWRlIGFyZ3VtZW50OlxuIgorIiAgICBlLmcuIDAtMzE6MiBpcyBlcXVpdmFsZW50IHRvIG1hc2sgMHg1NTU1NTU1NVxuIgorbXNnc3RyICIiCisi6aCQ6Kit6KGM54K65piv5Z+36KGM5paw55qE5ZG95Luk77yaXG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisi5oKo5Y+v5Lul5Y+W5Zue54++5pyJ5Lu75YuZ55qE6YGu572p77yaXG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisi5oiW6Kit5a6a5a6D77yaXG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisi5riF5Zau5qC85byP5L2/55So5Lul6YCX6Jmf5YiG6ZqU55qE5riF5Zau5Lul5Luj5pu/6YGu572p77yaXG4iCisiICAgICUxJHMgLXBjIDAsMyw3LTExIDcwMFxuIgorIua4heWWruagvOW8j+S4reeahOevhOWcjeWPr+S7peWKoOS4iuS4gOWAi+i3qOi2iuW8leaVuO+8mlxuIgorIiAgIOS+i+Wmgu+8mjAtMzE6MiDnm7jnlbbmlrzpga7nvakgMHg1NTU1NTU1NVxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAicGlkICVkIOaWsOeahOi/keS8vOiAhea4heWWru+8miVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAicGlkICVkIOebruWJjeeahOi/keS8vOiAhea4heWWru+8miVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICJwaWQgJWQg5paw55qE6L+R5Ly86ICF6YGu572p77yaJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICJwaWQgJWQg55uu5YmN55qE6L+R5Ly86ICF6YGu572p77yaJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IGNvbnZlcnNpb24gZnJvbSBjcHVzZXQgdG8gc3RyaW5nIGZhaWxlZCIKK21zZ3N0ciAi6L2J5o+b5b6eIGNwdXNldCDliLDlrZfkuLLlpLHmlZciCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwOSBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAi5Y+W5b6XIHBpZCAlZCDnmoTov5HkvLzogIXmmYLlpLHmlZciCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICLoqK3lrpogcGlkICVkIOeahOi/keS8vOiAheaZguWkseaVlyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTg2IHN5cy11dGlscy9jaGNwdS5jOjI4OQorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgTlJfQ1BVUzsgYWJvcnRpbmciCittc2dzdHIgIueEoeazleaxuuWumiBOUl9DUFVT77yb5pS+5qOEIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxOTUgc2NoZWR1dGlscy90YXNrc2V0LmM6MjA4IHN5cy11dGlscy9jaGNwdS5jOjI5NQorbXNnaWQgImNwdXNldF9hbGxvYyBmYWlsZWQiCittc2dzdHIgImNwdXNldF9hbGxvYyDlpLHmlZciCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxNSBzeXMtdXRpbHMvY2hjcHUuYzoyMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdDogJXMiCittc2dzdHIgIuWJluaekCBDUFUg5riF5Zau5pmC5aSx5pWX77yaJXMiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrOiAlcyIKK21zZ3N0ciAi5YmW5p6QIENQVSDpga7nvanmmYLlpLHmlZfvvJolcyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogWmVyby1maWxsZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBEaXNjYXJkZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg3Cittc2dpZCAiRGlzY2FyZCB0aGUgY29udGVudCBvZiBzZWN0b3JzIG9uIGEgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTAKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorbXNnc3RyICIgLXQsIC0tc2V0LWZsdXNoIDxudW0+ICAgICAgICAgICAgICDoqK3lrprmuIXnkIbpgL7mmYLliLDlgLxcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAi5YmW5p6Q5YiX6Jmf55qE5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkyCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1zdGVwIDxudW0+ICAgIHNpemUgb2YgdGhlIGRpc2NhcmQgaXRlcmF0aW9ucyB3aXRoaW4gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgLXQsIC0tc2V0LWZsdXNoIDxudW0+ICAgICAgICAgICAgICDoqK3lrprmuIXnkIbpgL7mmYLliLDlgLxcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCittc2dzdHIgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICDoqK3lrprlrZflhYPlpKflsI/liLAgNyDkvY3lhYNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NAorIywgZnV6enkKK21zZ2lkICIgLXosIC0temVyb291dCAgICAgICB6ZXJvLWZpbGwgcmF0aGVyIHRoYW4gZGlzY2FyZFxuIgorbXNnc3RyICIgLW4gIC0tbm9uYmxvY2sgICAgICAgICAgIOWkseaVl+iAjOmdnuetieW+hVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IGFsaWduZWQgbGVuZ3RoIGFuZCBvZmZzZXRcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIOino+mHi+S7gOm6vOato+WcqOaYr+W3suWujOaIkFxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1MCBzeXMtdXRpbHMvZnN0cmltLmM6MzEyIHN5cy11dGlscy9sb3NldHVwLmM6NjczCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG9mZnNldCIKK21zZ3N0ciAi5YmW5p6Q5YGP56e75pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RlcCIKK21zZ3N0ciAi5YmW5p6Q5aSn5bCP5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3MiBzeXMtdXRpbHMvenJhbWN0bC5jOjY4MiBzeXMtdXRpbHMvenJhbWN0bC5jOjcwOAorIywgZnV6enkKK21zZ2lkICJubyBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICLmspLmnInov7TlnIjoo53nva7mjIflrprnmoQiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTc3IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTEKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyMiBzeXMtdXRpbHMvZnN0cmltLmM6MzM0Cittc2dpZCAidW5leHBlY3RlZCBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICLmnKrpoJDmnJ/nmoTlvJXmlbjmlbjph48iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLR0VUU0laRTY0IGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiQkxLR0VUU0laRSBpb2N0bCDlpLHmlZfnmoTmlrwgJXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU1NaR0VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJpGSVRSSU0gaW9jdGwg5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0ICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCBpcyBncmVhdGVyIHRoYW4gZGV2aWNlIHNpemUiCittc2dzdHIgIueEoeazleaPkOWPluijnee9ruWkp+WwjyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxlbmd0aCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtaRVJPT1VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJpGSVRSSU0gaW9jdGwg5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NFQ0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlc++8mkZJVFJJTSBpb2N0bCDlpLHmlZciCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVz77yaRklUUklNIGlvY3RsIOWkseaVlyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6ODcgc3lzLXV0aWxzL2NoY3B1LmM6MTc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIkNQVSAlZCDkuI3lrZjlnKhcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgaG90IHBsdWdnYWJsZSIKK21zZ3N0ciAiQ1BVICVkIOS4jeaYr+eGsemWgCBwbHVnZ2FibGVcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGVuYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICVkIOW3sue2k+W3suWVn+eUqFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAlZCDlt7LntpPlt7LlgZznlKhcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCAoQ1BVIGlzIGRlY29uZmlndXJlZCkiCittc2dzdHIgIkNQVSAlZCDllZ/nlKjlpLHmlZcgKENQVSDooqsgZGVjb25maWd1cmVkKVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIgorbXNnc3RyICJDUFUgJWQg5ZWf55So5aSx5pWXICglbSlcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlZFxuIgorbXNnc3RyICJDUFUgJWQg5bey5ZWf55SoXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIChsYXN0IGVuYWJsZWQgQ1BVKSIKK21zZ3N0ciAiQ1BVICVkIOWBnOeUqOWkseaVlyAo5pyA5b6M5LiA562G5bey5ZWf55SoIENQVSlcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQiCittc2dzdHIgIkNQVSAlZCDlgZznlKjlpLHmlZcgKCVtKVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlZFxuIgorbXNnc3RyICJDUFUgJWQg5bey5YGc55SoXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MQorIywgZnV6enkKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHJlc2Nhbm5pbmcgb2YgQ1BVcyIKK21zZ3N0ciAi6YCZ5YCL57O757Wx5LiN5pSv5o+06YeN5paw5o6D5o+P55qEIENQVXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gdHJpZ2dlciByZXNjYW4gb2YgQ1BVcyIKK21zZ3N0ciAi6Ke455m86YeN5paw5o6D5o+P55qEIENQVXMg5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRyaWdnZXJlZCByZXNjYW4gb2YgQ1BVc1xuIgorbXNnc3RyICLop7jnmbznmoTph43mlrDmjoPmj4/nmoQgQ1BVc1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTEKKyMsIGZ1enp5Cittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBzZXR0aW5nIHRoZSBkaXNwYXRjaGluZyBtb2RlIG9mIENQVXMiCittc2dzdHIgIumAmeWAi+ezu+e1seS4jeaUr+aPtOioreWumua0vumAgeaooeW8j+eahCBDUFVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTUKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHNldCBob3Jpem9udGFsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgIuioreWumuawtOW5s+a0vumAgeaooeW8j+aZguWkseaVlyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IGhvcml6b250YWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICLmiJDlip/oqK3lrprmsLTlubPmtL7pgIHmqKHlvI9cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU5CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBzZXQgdmVydGljYWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAi6Kit5a6a5Z6C55u05rS+6YCB5qih5byP5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgdmVydGljYWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICLmiJDlip/oqK3lrprlnoLnm7TmtL7pgIHmqKHlvI9cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGNvbmZpZ3VyYWJsZSIKK21zZ3N0ciAiQ1BVICVkIOS4jeaYr+WPr+e1hOmFjeeahFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICVkIOW3sue2k+W3sue1hOmFjVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJDUFUgJWQg5bey57aTIGRlY29uZmlndXJlZFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiQ1BVICVkIGRlY29uZmlndXJlIOWkseaVlyAoQ1BVIOW3suWVn+eUqClcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiQ1BVICVkIOe1hOmFjeWkseaVlyAoJW0pXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICVkIOW3sue1hOmFjVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIkNQVSAlZCBkZWNvbmZpZ3VyZSDlpLHmlZcgKCVtKVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICVkIGRlY29uZmlndXJlZFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgQ1BVIG51bWJlciBpbiBDUFUgbGlzdDogJXMiCittc2dzdHIgIueEoeaViOeahCBDUFUg5pW45a2X5Zyo5LitIENQVSDmuIXllq7vvJolcyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjM4IHRleHQtdXRpbHMvY29sLmM6MTMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIiCisiXG4iCisi55So5rOV77yaXG4iCisiICVzIFvpgbjpoIVdXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0MgorbXNnaWQgIkNvbmZpZ3VyZSBDUFVzIGluIGEgbXVsdGktcHJvY2Vzc29yIHN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDQKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyIgIC1lLCAtLWVuYWJsZSA8Y3B1LWxpc3Q+ICAgICAgIGVuYWJsZSBjcHVzXG4iCisiICAtZCwgLS1kaXNhYmxlIDxjcHUtbGlzdD4gICAgICBkaXNhYmxlIGNwdXNcbiIKKyIgIC1jLCAtLWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICAgIGNvbmZpZ3VyZSBjcHVzXG4iCisiICAtZywgLS1kZWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICBkZWNvbmZpZ3VyZSBjcHVzXG4iCisiICAtcCwgLS1kaXNwYXRjaCA8bW9kZT4gICAgICAgICBzZXQgZGlzcGF0Y2hpbmcgbW9kZVxuIgorIiAgLXIsIC0tcmVzY2FuICAgICAgICAgICAgICAgICAgdHJpZ2dlciByZXNjYW4gb2YgY3B1c1xuIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorIlxuIgorIumBuOmghe+8mlxuIgorIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAg5Y2w5Ye66YCZ5Lu96Kqq5piOXG4iCisiICAtZSwgLS1lbmFibGUgPGNwdS1saXN0PiAgICAgICDllZ/nlKggY3B1c1xuIgorIiAgLWQsIC0tZGlzYWJsZTxjcHUtbGlzdD4gICAgIOWBnOeUqCBjcHVzXG4iCisiICAtYywgLS1jb25maWd1cmU8Y3B1LWxpc3Q+ICAg57WE6YWNIGNwdXNcbiIKKyIgIC1nLCAtLWRlY29uZmlndXJlPGNwdS1saXN0PiBkZWNvbmZpZ3VyZSBjcHVzXG4iCisiICAtcCwgLS1kaXNwYXRjaDzmqKHlvI8+ICAgICAgICDoqK3lrprmtL7pgIHmqKHlvI9cbiIKKyIgIC1yLCAtLXJlc2NhbiAgICAgICAgICAgICAgICAgIOinuOeZvOmHjeaWsOaOg+aPj+eahCBjcHVzXG4iCisiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MzI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBhcmd1bWVudDogJXMiCittc2dzdHIgIuS4jeWPl+aUr+aPtOeahOW8leaVuO+8miVzIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgaGFyZHxzb2Z0XG4iCittc2dzdHIgIiAlcyA8aGFyZHxzb2Z0PlxuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldCB0aGUgZnVuY3Rpb24gb2YgdGhlIEN0cmwtQWx0LURlbCBjb21iaW5hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUxCittc2dpZCAiaW1wbGljaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB2YWx1ZSBpbiAlczogJWp1IgorbXNnc3RyICLmnKrpoJDmnJ/nmoTmqpTmoYjntZDmnZ/mlrwgJXMiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NjMKKyMsIGZ1enp5Cittc2dpZCAiWW91IG11c3QgYmUgcm9vdCB0byBzZXQgdGhlIEN0cmwtQWx0LURlbCBiZWhhdmlvciIKK21zZ3N0ciAi5oKo5b+F6aCI5piv5qC55Yiw6Kit5a6aIEN0cmwtQWx0LURlbCDooYzngroiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NzEgc3lzLXV0aWxzL2lwY3JtLmM6MzkyIHN5cy11dGlscy9pcGNybS5jOjQxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhcmd1bWVudDogJXMiCittc2dzdHIgIuS4jeaYjuW8leaVuO+8miVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTAKKyMsIGZ1enp5Cittc2dpZCAic3lzdGVtIGlzIHVudXNhYmxlIgorbXNnc3RyICLns7vntbHmmK/nhKHms5Xkvb/nlKgiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMQorIywgZnV6enkKK21zZ2lkICJhY3Rpb24gbXVzdCBiZSB0YWtlbiBpbW1lZGlhdGVseSIKK21zZ3N0ciAi5YuV5L2c5b+F6aCI6KKr5L2U55So5Y2z5pmCIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTIKKyMsIGZ1enp5Cittc2dpZCAiY3JpdGljYWwgY29uZGl0aW9ucyIKK21zZ3N0ciAi6YeN6KaB5qKd5Lu2IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTMKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3IgY29uZGl0aW9ucyIKK21zZ3N0ciAi5qKd5Lu25pmC55m855Sf6Yyv6KqkIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAid2FybmluZyBjb25kaXRpb25zIgorbXNnc3RyICLorablkYrmop3ku7YiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNQorIywgZnV6enkKK21zZ2lkICJub3JtYWwgYnV0IHNpZ25pZmljYW50IGNvbmRpdGlvbiIKK21zZ3N0ciAi5LiA6Iis5L2G5piv6aGv6JGX55qE5qKd5Lu2IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTYKKyMsIGZ1enp5Cittc2dpZCAiaW5mb3JtYXRpb25hbCIKK21zZ3N0ciAi5Y+D6ICD5oCnIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiZGVidWctbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgImRlYnVnLWxldmVsIOioiuaBryIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMxCisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBtZXNzYWdlcyIKK21zZ3N0ciAi5YWn5qC46KiK5oGvIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzIKKyMsIGZ1enp5Cittc2dpZCAicmFuZG9tIHVzZXItbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgIumaqOapn+S9v+eUqOiAhee0muioiuaBryIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMzCisjLCBmdXp6eQorbXNnaWQgIm1haWwgc3lzdGVtIgorbXNnc3RyICLpg7Xku7bns7vntbEiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNAorIywgZnV6enkKK21zZ2lkICJzeXN0ZW0gZGFlbW9ucyIKK21zZ3N0ciAi57O757Wx5a6I6K2356iL5byPIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzUKKyMsIGZ1enp5Cittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyIKK21zZ3N0ciAi5a6J5YWoL+aOiOasiuioiuaBryIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM2CisjLCBmdXp6eQorbXNnaWQgIm1lc3NhZ2VzIGdlbmVyYXRlZCBpbnRlcm5hbGx5IGJ5IHN5c2xvZ2QiCittc2dzdHIgIuioiuaBr+eUoueUn+eahOWFp+mDqOeUsSBzeXNsb2dkIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAibGluZSBwcmludGVyIHN1YnN5c3RlbSIKK21zZ3N0ciAi5YiX5Y2w6KGo5qmf5a2Q57O757WxIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAibmV0d29yayBuZXdzIHN1YnN5c3RlbSIKK21zZ3N0ciAi57ay6Lev5paw6IGe5a2Q57O757WxIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzkKKyMsIGZ1enp5Cittc2dpZCAiVVVDUCBzdWJzeXN0ZW0iCittc2dzdHIgIlVVQ1Ag5a2Q57O757WxIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDAKKyMsIGZ1enp5Cittc2dpZCAiY2xvY2sgZGFlbW9uIgorbXNnc3RyICLmmYLpkJjlrojorbfnqIvlvI8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MQorIywgZnV6enkKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIChwcml2YXRlKSIKK21zZ3N0ciAi5a6J5YWoL+aOiOasiuioiuaBryAo56eB5Lq655qEKSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQyCisjLCBmdXp6eQorbXNnaWQgIkZUUCBkYWVtb24iCittc2dzdHIgIuaqlOahiOWCs+i8uOmAmuioiuWNlOWumuWuiOitt+eoi+W8jyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjY3Cittc2dpZCAiRGlzcGxheSBvciBjb250cm9sIHRoZSBrZXJuZWwgcmluZyBidWZmZXIuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjcwCisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgY2xlYXIgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIOW7uueri+ioiuaBr+S9h+WIl1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzEKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICByZWFkIGFuZCBjbGVhciBhbGwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICDlu7rnq4voqIrmga/kvYfliJdcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjcyCisjLCBmdXp6eQorbXNnaWQgIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAgZGlzYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtcyAgICAgICAgICAg5YiX5Y2w6KiK5oGv5Yiw5qiZ5rqW6Ly45Ye6XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MworIywgZnV6enkKK21zZ2lkICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIGVuYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtcyAgICAgICAgICAg5YiX5Y2w6KiK5oGv5Yiw5qiZ5rqW6Ly45Ye6XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NAorbXNnaWQgIiAtRiwgLS1maWxlIDxmaWxlPiAgICAgICAgICAgdXNlIHRoZSBmaWxlIGluc3RlYWQgb2YgdGhlIGtlcm5lbCBsb2cgYnVmZmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc1Cittc2dpZCAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0PiAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBmYWNpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc2CisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAgaHVtYW4gcmVhZGFibGUgb3V0cHV0XG4iCittc2dzdHIgIiAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIOS4jeW8leiogOi8uOWHulxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzcKKyMsIGZ1enp5Cittc2dpZCAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICBkaXNwbGF5IGtlcm5lbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLWcsIC0tZ2V0LXRocmVzaG9sZCAgICAgICAgICAgICAgICDpoa/npLrnm67liY3nmoToh6jnlYzlgLxcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc4CisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICDlu7rnq4voqIrmga/kvYfliJdcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgxCittc2dpZCAiIC1sLCAtLWxldmVsIDxsaXN0PiAgICAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBsZXZlbHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODIKK21zZ2lkICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bGV2ZWw+IHNldCBsZXZlbCBvZiBtZXNzYWdlcyBwcmludGVkIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODMKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICBkbyBub3QgcGlwZSBvdXRwdXQgaW50byBhIHBhZ2VyXG4iCittc2dzdHIgIiAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIOS4jeW8leiogOi8uOWHulxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODQKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIOmHjee9rumAmuioiuWfoFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODUKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICBmb3JjZSB0byB1c2Ugc3lzbG9nKDIpIHJhdGhlciB0aGFuIC9kZXYva21zZ1xuIgorbXNnc3RyICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICDmn6XoqaLljbDooajmqZ/ni4DmhYtcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg2Cittc2dpZCAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgZGlzcGxheSB1c2Vyc3BhY2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICDlu7rnq4voqIrmga/kvYfliJdcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg4CisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS1mb2xsb3cgICAgICAgICAgICAgICAgd2FpdCBmb3IgbmV3IG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdywgLS13YWl0IDx1cz4gICAgICAgICAgICAgIHN0cm9iZSDnrYnlvoXlnKjkuK0gbWljcm8g56eSXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OQorbXNnaWQgIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgZGVjb2RlIGZhY2lsaXR5IGFuZCBsZXZlbCB0byByZWFkYWJsZSBzdHJpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTAKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICBzaG93IHRpbWUgZGVsdGEgYmV0d2VlbiBwcmludGVkIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIOafpeipouWNsOihqOapn+eLgOaFi1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTEKK21zZ2lkICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIHNob3cgbG9jYWwgdGltZSBhbmQgdGltZSBkZWx0YSBpbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTIKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICBzaG93IGh1bWFuLXJlYWRhYmxlIHRpbWVzdGFtcCAobWF5IGJlIGluYWNjdXJhdGUhKVxuIgorbXNnc3RyICIgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICDkuI3lvJXoqIDovLjlh7pcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkzCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAgZG9uJ3Qgc2hvdyBhbnkgdGltZXN0YW1wIHdpdGggbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAg5LiN5byV6KiA6Ly45Ye6XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NAorbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wIHVzaW5nIHRoZSBnaXZlbiBmb3JtYXQ6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisiU3VzcGVuZGluZy9yZXN1bWUgd2lsbCBtYWtlIGN0aW1lIGFuZCBpc28gdGltZXN0YW1wcyBpbmFjY3VyYXRlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwMAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBmYWNpbGl0aWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisi5pSv5o+055qE6KiY6YyE5qqU5qmf6IO977yaXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwNgorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBsZXZlbHMgKHByaW9yaXRpZXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisi5pSv5o+055qE6KiY6YyE5qqU562J57SaICjlhKrlhYjnrYnntJop77yaXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxldmVsICclcyciCittc2dzdHIgIuWJluaekOetiee0muOAjiVzIOaZguWkseaVl+OAjyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGxldmVsICclcyciCittc2dzdHIgIuS4jeaYjuetiee0muOAjiVz44CPIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBmYWNpbGl0eSAnJXMnIgorbXNnc3RyICLliZbmnpDmqZ/og73jgI4lcyDmmYLlpLHmlZfjgI8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjQwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSAnJXMnIgorbXNnc3RyICLkuI3mmI7mqZ/og73jgI4lc+OAjyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW1hcDogJXMiCittc2dzdHIgIueEoeazlSBtbWFw77yaJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNTYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBidWZmZXIgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAi54Sh5pWI55qE57ep6KGd5Y2A5aSn5bCP5byV5pW4IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDA5CisjLCBmdXp6eQorbXNnaWQgIi0tc2hvdy1kZWx0YSBpcyBpZ25vcmVkIHdoZW4gdXNlZCB0b2dldGhlciB3aXRoIGlzbzg2MDEgdGltZSBmb3JtYXQiCittc2dzdHIgIi0tcmVsdGltZSDnhKHms5Xkvb/nlKjnmoTkuIDotbfoiIcgLS1jdGltZSAiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MzIKKyMsIGZ1enp5Cittc2dpZCAiLS1yYXcgY2FuIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWxldmVsIG9yIC0tZmFjaWxpdHkgb25seSB3aGVuIHJlYWRpbmcgbWVzc2FnZXMgZnJvbSAvZGV2L2ttc2ciCittc2dzdHIgIi0tcmF3IOeEoeazleS9v+eUqOeahOS4gOi1t+iIh+etiee0muOAgeapn+iDveOAgeino+eivOOAgWRlbHRh77yMY3RpbWUg5oiWIG5vdGltZSDpgbjpoIUiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0NDIKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBrZXJuZWwgYnVmZmVyIGZhaWxlZCIKK21zZ3N0ciAi6K6A5Y+W5YWn5qC457ep6KGd5Y2A5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDYxCisjLCBmdXp6eQorbXNnaWQgImtsb2djdGwgZmFpbGVkIgorbXNnc3RyICJrbG9nY3RsIOWkseaVlyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPnw8bW91bnRwb2ludD5dXG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSBbPGRldmljZT58PG1vdW50cG9pbnQ+XVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiRWplY3QgcmVtb3ZhYmxlIG1lZGlhLlxuIgorbXNnc3RyICLlj6/np7vpmaTnmoToo53nva4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjE0MAorIywgZnV6enkKK21zZ2lkICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICB0dXJuIGF1dG8tZWplY3QgZmVhdHVyZSBvbiBvciBvZmZcbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHNsb3Q+ICAgIHN3aXRjaCBkaXNjcyBvbiBhIENELVJPTSBjaGFuZ2VyXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBkaXNwbGF5IGRlZmF1bHQgZGV2aWNlXG4iCisiIC1mLCAtLWZsb3BweSAgICAgICAgICAgICAgICBlamVjdCBmbG9wcHlcbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIGRvbid0IGNhcmUgYWJvdXQgZGV2aWNlIHR5cGVcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIHRvZ2dsZSBtYW51YWwgZWplY3QgcHJvdGVjdGlvbiBvbi9vZmZcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIGRvIG5vdCB1bm1vdW50IGRldmljZSBldmVuIGlmIGl0IGlzIG1vdW50ZWRcbiIKKyIgLU0sIC0tbm8tcGFydGl0aW9ucy11bm1vdW50IGRvIG5vdCB1bm1vdW50IGFub3RoZXIgcGFydGl0aW9uc1xuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgZG9uJ3QgZWplY3QsIGp1c3Qgc2hvdyBkZXZpY2UgZm91bmRcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIHVzZSAvcHJvYy9tb3VudHMgaW5zdGVhZCBvZiAvZXRjL210YWJcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIGVqZWN0IHRhcGVcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIGVqZWN0IENELVJPTVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgZWplY3QgU0NTSSBkZXZpY2VcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIGNsb3NlIHRyYXlcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIHRvZ2dsZSB0cmF5XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICBlbmFibGUgdmVyYm9zZSBvdXRwdXRcbiIKKyIgLXgsIC0tY2RzcGVlZCA8c3BlZWQ+ICAgICAgIHNldCBDRC1ST00gbWF4IHNwZWVkXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICBsaXN0IENELVJPTSBhdmFpbGFibGUgc3BlZWRzXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYXV0byA8b258b2ZmPiAgICAgICAgIOi8quWAvCBhdXRvLWVqZWN0IOeJueW+temWi+aIlumXnFxuIgorIiAtYywgLS1jaGFuZ2Vyc2xvdDzmj5Lmp70+ICAg5YiH5o+b56Kf54mH5pa85ZSv6K6A5YWJ56Kf5qmfIGNoYW5nZXJcbiIKKyIgLWQsIC0tZGVmYXVsdCAgICAgICAgICAgICAgIOmhr+ekuumgkOioreijnee9rlxuIgorIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAg6YCA5Ye66Luf56KfXG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICDkuI3opoHljrvnrqHoo53nva7poZ7lnotcbiIKKyIgLWksIC0tbWFudWFsZWplY3Q85pa8fOmXnOmWiT4g5YiH5o+b5omL5YuV6YCA5Ye65L+d6K236ZaLL+mXnFxuIgorIiAtbSwgLS1uby11bm1vdW50ICAgICAgICAgICAg5LiN5Y246LyJ6KOd572u5Y2z5L2/5a6D6KKr5o6b6LyJXG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCDkuI3ljbjovInlj6blpJbnmoTliIblibLljYBcbiIKKyIgLW4sIC0tbm9vcCAgICAgICAgICAgICAgICAgIOS4jemAgOWHuu+8jOWDhemhr+ekuuijnee9ruaJvuWIsFxuIgorIiAtcCwgLS1wcm9jICAgICAgICAgICAgICAgICAg5L2/55SoL3Byb2Mv5o6b6LyJ5Lul5Luj5pu/L2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICDpgIDlh7rno4HluLZcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIOmAgOWHuuWUr+iugOWFieein+apn1xuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAg6YCA5Ye6IFNDU0kg6KOd572uXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICDpl5zplonmiZjnm6RcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIOWIh+aPm+aJmOebpFxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAg5ZWf55So6Kmz57Sw55qE6Ly45Ye6XG4iCisiIC14LCAtLWNkc3BlZWQ86YCf5bqmPiAgICAgIOioreWumuWUr+iugOWFieein+apn+acgOWkp+mAn+W6plxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAg5riF5Zau5ZSv6K6A5YWJ56Kf5qmf5Y+v55So6YCf5bqmXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjE2NAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiQnkgZGVmYXVsdCB0cmllcyAtciwgLXMsIC1mLCBhbmQgLXEgaW4gb3JkZXIgdW50aWwgc3VjY2Vzcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIuaMieeFp+mgkOioreWYl+ippiAtciwgLXMsIC1mLCDlkowgLXEg5Zyo5Lit5o6S5bqP55u05Yiw5oiQ5Yqf44CCXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxMAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2hhbmdlcnNsb3QvLWMgb3B0aW9uIgorbXNnc3RyICLnhKHmlYjnmoTlvJXmlbjliLAgLS1jaGFuZ2Vyc2xvdCAvLWMg6YG46aCFIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNkc3BlZWQvLXggb3B0aW9uIgorbXNnc3RyICLnhKHmlYjnmoTlvJXmlbjliLAgLS1jZHNwZWVkIC8teCDpgbjpoIUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjMyNgorIywgZnV6enkKK21zZ2lkICJDRC1ST00gYXV0by1lamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAi5ZSv6K6A5YWJ56Kf5qmfIGF1dG8tZWplY3Qg5ZG95Luk5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDAKKyMsIGZ1enp5Cittc2dpZCAiQ0QtUk9NIGRvb3IgbG9jayBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICLlhYnnop/mqZ/kuI3mmK/lsLHnt5IiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MgorbXNnaWQgIm90aGVyIHVzZXJzIGhhdmUgdGhlIGRyaXZlIG9wZW4gYW5kIG5vdCBDQVBfU1lTX0FETUlOIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0NAorIywgZnV6enkKK21zZ2lkICJDRC1ST00gbG9jayBkb29yIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICLllK/oroDlhYnnop/mqZ/pjpblrprljKPploDlkb3ku6TlpLHmlZciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0OQorIywgZnV6enkKK21zZ2lkICJDRC1Ecml2ZSBtYXkgTk9UIGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICJDRC1Ecml2ZSDlj6/og73nhKHms5XooqvpgIDlh7roiIfoo53nva7mjInpiJUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM1MQorIywgZnV6enkKK21zZ2lkICJDRC1Ecml2ZSBtYXkgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIkNELURyaXZlIOS5n+ioseacg+iiq+mAgOWHuuiIh+ijnee9ruaMiemIlSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzYyCisjLCBmdXp6eQorbXNnaWQgIkNELVJPTSBzZWxlY3QgZGlzYyBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAi5ZSv6K6A5YWJ56Kf5qmf6YG45Y+W56Kf54mH5ZG95Luk5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjYKKyMsIGZ1enp5Cittc2dpZCAiQ0QtUk9NIGxvYWQgZnJvbSBzbG90IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICLllK/oroDlhYnnop/mqZ/ovInlhaXlvp7mj5Lmp73lkb3ku6TlpLHmlZciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2OAorIywgZnV6enkKK21zZ2lkICJJREUvQVRBUEkgQ0QtUk9NIGNoYW5nZXIgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICLmlbTlkIjplovnmbznkrDlooMvQVRBUEkg5ZSv6K6A5YWJ56Kf5qmfIGNoYW5nZXIg5LiN5pSv5o+055Sx6YCZ5YCL5YWn5qC4XG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NgorIywgZnV6enkKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAi5ZSv6K6A5YWJ56Kf5qmf5omY55uk6Zec6ZaJ5ZG95Luk5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODgKKyMsIGZ1enp5Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIuWUr+iugOWFieein+apn+aJmOebpOmXnOmWieWRveS7pOS4jeaUr+aPtOeUsemAmeWAi+WFp+aguFxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MDUKKyMsIGZ1enp5Cittc2dpZCAiQ0QtUk9NIGVqZWN0IHVuc3VwcG9ydGVkIgorbXNnc3RyICLllK/oroDlhYnnop/mqZ/pgIDlh7rkuI3lj5fmlK/mj7TnmoQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzMyBzeXMtdXRpbHMvZWplY3QuYzo0NTYgc3lzLXV0aWxzL2VqZWN0LmM6MTAxMQorIywgZnV6enkKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIuWUr+iugOWFieein+apn+mAgOWHuuWRveS7pOWkseaVlyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM2CisjLCBmdXp6eQorbXNnaWQgIm5vIENELVJPTSBpbmZvcm1hdGlvbiBhdmFpbGFibGUiCittc2dzdHIgIuaykuacieWUr+iugOWFieein+apn+izh+ioiuWPr+eUqCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM5CisjLCBmdXp6eQorbXNnaWQgIkNELVJPTSBkcml2ZSBpcyBub3QgcmVhZHkiCittc2dzdHIgIuWFieein+apn+S4jeaYr+Wwsee3kiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgyCisjLCBmdXp6eQorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIuWUr+iugOWFieein+apn+mBuOWPlumAn+W6puWRveS7pOWkseaVlyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDg0IHN5cy11dGlscy9lamVjdC5jOjU3MAorIywgZnV6enkKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbCIKK21zZ3N0ciAi5ZSv6K6A5YWJ56Kf5qmf6YG45Y+W6YCf5bqm5ZG95Luk5LiN5pSv5o+055Sx6YCZ5YCL5YWn5qC4IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZGluZyBDRC1ST00gbmFtZSIKK21zZ3N0ciAiJXPvvJrnhKHms5XlsIvmib7llK/oroDlhYnnop/mqZ/lkI3nqLEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICIlc++8mueEoeazleiugOWPlumAn+W6piIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTQ0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICLoroDlj5bpgJ/luqbmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU4OAorIywgZnV6enkKK21zZ2lkICJub3QgYW4gc2cgZGV2aWNlLCBvciBvbGQgc2cgZHJpdmVyIgorbXNnc3RyICLkuI3mmK8gc2cg6KOd572u77yM5oiW6IiK55qEIHNnIOmpheWLleeoi+W8jyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5tb3VudGluZyIKK21zZ3N0ciAiJXPvvJrljbjovIkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGV4ZWMgL2Jpbi91bW91bnQgb2YgYCVzJyIKK21zZ3N0ciAi54Sh5rOVIGV4ZWMvYmluL3Vtb3VudCDnmoTjgI4lc+OAjyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Njc4CisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBmb3JrIgorbXNnc3RyICLnhKHms5XooY3nlJ8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAi5Y246LyJ55qE44COJXPjgI/kuKbmnKrmraPluLjpm6LplosiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGZhaWxlZFxuIgorbXNnc3RyICLljbjovInnmoTjgI4lc+OAj+WkseaVl1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3MzAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IHRhYmxlIgorbXNnc3RyICLliZbmnpDmjpvovInooajmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjc5MSBzeXMtdXRpbHMvZWplY3QuYzo4OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudGVkIG9uICVzIgorbXNnc3RyICIlc++8muaOm+i8ieeahOaWvCAlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODMzCisjLCBmdXp6eQorbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvIGF1dG8iCittc2dzdHIgIuioreWumuWUr+iugOWFieein+apn+mAn+W6puWIsOiHquWLlSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byAlbGRYIgorbXNnc3RyICLoqK3lrprllK/oroDlhYnnop/mqZ/pgJ/luqbliLAgJWxkWCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkZWZhdWx0IGRldmljZTogYCVzJyIKK21zZ3N0ciAi6aCQ6Kit6KOd572u77ya44COJXPjgI8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgZGVmYXVsdCBkZXZpY2UgYCVzJyIKK21zZ3N0ciAi5L2/55So6aCQ6Kit6KOd572u44COJXPjgI8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4NiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBmaW5kIGRldmljZSIKK21zZ3N0ciAiJXPvvJrnhKHms5Xmib7liLDoo53nva4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIG5hbWUgaXMgYCVzJyIKK21zZ3N0ciAi6KOd572u5ZCN56ix5piv44COJXPjgI8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg5NCBzeXMtdXRpbHMvdW1vdW50LmM6MjA2IHN5cy11dGlscy91bW91bnQuYzoyMzUKKyM6IHN5cy11dGlscy91bW91bnQuYzo0MDkgc3lzLXV0aWxzL3Vtb3VudC5jOjQzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBtb3VudGVkIgorbXNnc3RyICIlc++8mueEoeazleaOm+i8iSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYyBkZXZpY2U6ICVzIChkaXNrIGRldmljZSB3aWxsIGJlIHVzZWQgZm9yIGVqZWN0KSIKK21zZ3N0ciAiJXPvvJrnop/niYfoo53nva7vvJolcyAo56OB56Kf6KOd572u5bCH6KKr55So5pa86YCA5Ye6KSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIG1vdW50cG9pbnQgb3IgZGV2aWNlIHdpdGggdGhlIGdpdmVuIG5hbWUiCittc2dzdHIgIiVz77ya5om+5LiN5YiwIG1vdW50cG9pbnQg5oiW6KOd572u6IiH57Wm5a6a55qE5ZCN56ixIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyB3aG9sZS1kaXNrIGRldmljZSIKK21zZ3N0ciAiJXPvvJrmmK8gd2hvbGUtZGlzayDoo53nva4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBob3QtcGx1Z2dhYmxlIGRldmljZSIKK21zZ3N0ciAiJXPvvJrkuI3mmK/lj6/nhrHmj5LlvI/nmoToo53nva4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIGlzIGAlcyciCittc2dzdHIgIuijnee9ruaYr+OAjiVz44CPIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTgKKyMsIGZ1enp5Cittc2dpZCAiZXhpdGluZyBkdWUgdG8gLW4vLS1ub29wIG9wdGlvbiIKK21zZ3N0ciAi6Zui6ZaL55Sx5pa8IC1uLy0tbm9vcCDpgbjpoIUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVuYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiJXPvvJrllZ/nlKggYXV0by1lamVjdCDmqKHlvI8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2FibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiVz77ya5YGc55SoIGF1dG8tZWplY3Qg5qih5byPIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zaW5nIHRyYXkiCittc2dzdHIgIiVz77ya6Zec6ZaJ5omY55ukIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b2dnbGluZyB0cmF5IgorbXNnc3RyICIlc++8muWIh+aPm+aJmOebpCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbGlzdGluZyBDRC1ST00gc3BlZWQiCittc2dzdHIgIiVz77ya5YiX6KGo5ZSv6K6A5YWJ56Kf5qmf6YCf5bqmIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogZGV2aWNlIGluIHVzZSIKK21zZ3N0ciAi6Yyv6Kqk77yaJXPvvJroo53nva7lnKjkuK3kvb/nlKgiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlbGVjdGluZyBDRC1ST00gZGlzYyAjJWxkIgorbXNnc3RyICIlc++8mumBuOWPluWUr+iugOWFieein+apn+ein+eJhyAjJWxkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIENELVJPTSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIlc++8muWYl+ippumAgOWHuuS9v+eUqOWUr+iugOWFieein+apn+mAgOWHuuWRveS7pCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMAorIywgZnV6enkKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIuWUr+iugOWFieein+apn+mAgOWHuuWRveS7pOaIkOWKnyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBTQ1NJIGNvbW1hbmRzIgorbXNnc3RyICIlc++8muWYl+ippumAgOWHuuS9v+eUqCBTQ1NJIOWRveS7pCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxNworIywgZnV6enkKK21zZ2lkICJTQ1NJIGVqZWN0IHN1Y2NlZWRlZCIKK21zZ3N0ciAiU0NTSSDpgIDlh7rmiJDlip8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTgKKyMsIGZ1enp5Cittc2dpZCAiU0NTSSBlamVjdCBmYWlsZWQiCittc2dzdHIgIlNDU0kg6YCA5Ye65aSx5pWXIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIGZsb3BweSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIlc++8muWYl+ippumAgOWHuuS9v+eUqOi7n+ein+mAgOWHuuWRveS7pCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNAorIywgZnV6enkKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIui7n+ein+mAgOWHuuWRveS7pOaIkOWKnyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNQorIywgZnV6enkKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIui7n+ein+mAgOWHuuWRveS7pOWkseaVlyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyB0YXBlIG9mZmxpbmUgY29tbWFuZCIKK21zZ3N0ciAiJXPvvJrlmJfoqabpgIDlh7rkvb/nlKjno4HluLbpm6Lnt5rlkb3ku6QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzEKKyMsIGZ1enp5Cittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICLno4HluLbpm6Lnt5rlkb3ku6TmiJDlip8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzIKKyMsIGZ1enp5Cittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICLno4HluLbpm6Lnt5rlkb3ku6TlpLHmlZciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzYKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGVqZWN0IgorbXNnc3RyICLnhKHms5XpgIDlh7oiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZW5hbWU+XG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSA8ZmlsZW5hbWU+XG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4MQorbXNnaWQgIlByZWFsbG9jYXRlIHNwYWNlIHRvLCBvciBkZWFsbG9jYXRlIHNwYWNlIGZyb20gYSBmaWxlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NAorbXNnaWQgIiAtYywgLS1jb2xsYXBzZS1yYW5nZSByZW1vdmUgYSByYW5nZSBmcm9tIHRoZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg1Cittc2dpZCAiIC1kLCAtLWRpZy1ob2xlcyAgICAgIGRldGVjdCB6ZXJvZXMgYW5kIHJlcGxhY2Ugd2l0aCBob2xlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NgorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gICBsZW5ndGggZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg3Cittc2dpZCAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgIG1haW50YWluIHRoZSBhcHBhcmVudCBzaXplIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg4CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICBvZmZzZXQgZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iCittc2dzdHIgIiAtdCwgLS1zZXQtZmx1c2ggPG51bT4gICAgICAgICAgICAgIOioreWumua4heeQhumAvuaZguWIsOWAvFxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODkKK21zZ2lkICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVwbGFjZSBhIHJhbmdlIHdpdGggYSBob2xlIChpbXBsaWVzIC1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MAorbXNnaWQgIiAteiwgLS16ZXJvLXJhbmdlICAgICB6ZXJvIGFuZCBlbnN1cmUgYWxsb2NhdGlvbiBvZiBhIHJhbmdlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEyNgorIywgZnV6enkKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkOiBrZWVwIHNpemUgbW9kZSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAi5L+d5oyB5aSn5bCP5qih5byPICgtbiDpgbjpoIUpIOacquWPl+aUr+aPtCIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEyNworIywgZnV6enkKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkIgorbXNnc3RyICIlc++8mmZhbGxvY2F0ZSDlpLHmlZciCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIGZhaWxlZCIKK21zZ3N0ciAiZnJlYWQg5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJWp1IGJ5dGVzKSBjb252ZXJ0ZWQgdG8gc3BhcnNlIGhvbGVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNDYgc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTE4Cittc2dpZCAibm8gZmlsZW5hbWUgc3BlY2lmaWVkIgorbXNnc3RyICLmnKrmjIflrprku7vkvZXmqpTlkI0iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTggc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2NAorbXNnaWQgImludmFsaWQgbGVuZ3RoIHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAi5oyH5a6a5LqG54Sh5pWI55qE6ZW35bqm5YC8IgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzYyCittc2dpZCAibm8gbGVuZ3RoIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAi5pyq5oyH5a6a5Lu75L2V6ZW35bqm5byV5pW4IgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzY3Cittc2dpZCAiaW52YWxpZCBvZmZzZXQgdmFsdWUgc3BlY2lmaWVkIgorbXNnc3RyICLmjIflrprkuobnhKHmlYjnmoTlgY/np7vlgLwiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxmaWxlPnw8ZGlyZWN0b3J5PiA8Y29tbWFuZD4gWzxhcmd1bWVudD4uLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlPnw8ZGlyZWN0b3J5PiAtYyA8Y29tbWFuZD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGUgZGVzY3JpcHRvciBudW1iZXI+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBb6YG46aCFXSA8ZmlsZSBkZXNjcmlwdG9yIG51bWJlcj5cbiIKKyIgJTEkcyBb6YG46aCFXTzmqpTmoYg+LWM85ZG95LukPlxuIgorIiAlMSRzIFvpgbjpoIV9POebrumMhD4tYzzlkb3ku6Q+XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjU5CisjLCBmdXp6eQorbXNnaWQgIk1hbmFnZSBmaWxlIGxvY2tzIGZyb20gc2hlbGwgc2NyaXB0cy5cbiIKK21zZ3N0ciAibG9naW7vvJrnhKHoqJjmhrbpq5Tlj6/nlKjmlrzlkb3ku6TnqL/jgIJcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjIKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBnZXQgYSBzaGFyZWQgbG9ja1xuIgorbXNnc3RyICIgLXMgIC0tc2hhcmVkICAgICAgICAgICAgIOaPkOWPluWFseS6q+eahOmOluWumlxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MworIywgZnV6enkKK21zZ2lkICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIGdldCBhbiBleGNsdXNpdmUgbG9jayAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC14ICAtLWV4Y2x1c2l2ZSAgICAgICAgICDmj5Dlj5blsIjnlKjpjpblrpogKOmgkOiorSlcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjQKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVubG9jayAgICAgICAgICAgICByZW1vdmUgYSBsb2NrXG4iCittc2dzdHIgIiAtdSAgLS11bmxvY2sgICAgICAgICAgICAg56e76Zmk6Y6W5a6aXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY1CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub25ibG9jayAgICAgICAgICAgZmFpbCByYXRoZXIgdGhhbiB3YWl0XG4iCittc2dzdHIgIiAtbiAgLS1ub25ibG9jayAgICAgICAgICAg5aSx5pWX6ICM6Z2e562J5b6FXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY2CisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCittc2dzdHIgIiAtdyAgLS10aW1lb3V0IDxzZWNzPiAgICAg562J5b6F6ZmQ5Yi255qE5pW455uu55qE5pmC6ZaTXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY3CisjLCBmdXp6eQorbXNnaWQgIiAtRSwgLS1jb25mbGljdC1leGl0LWNvZGUgPG51bWJlcj4gIGV4aXQgY29kZSBhZnRlciBjb25mbGljdCBvciB0aW1lb3V0XG4iCittc2dzdHIgIiAtRSAgLS1jb25mbGljdC1leGl0LWNvZGUgPG51bWJlcj4gIOmboumWi+S7o+eivOS5i+W+jOihneeqgeaIlumAvuaZglxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tY2xvc2UgICAgICAgICAgICAgIGNsb3NlIGZpbGUgZGVzY3JpcHRvciBiZWZvcmUgcnVubmluZyBjb21tYW5kXG4iCittc2dzdHIgIiAtbyAgLS1jbG9zZSAgICAgICAgICAgICAg6Zec6ZaJ5qqU5qGI5o+P6L+w56ym6Jmf5LmL5YmN5Z+36KGM5Lit5ZG95LukXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY5CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgcnVuIGEgc2luZ2xlIGNvbW1hbmQgc3RyaW5nIHRocm91Z2ggdGhlIHNoZWxsXG4iCittc2dzdHIgIiAtYyAgLS1jb21tYW5kIDxjb21tYW5kPiAg6YGL6KGM5Zau5LiA5ZG95Luk5a2X5Liy6YCP6YGO5ZG95Luk5q68XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcwCisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAgZXhlY3V0ZSBjb21tYW5kIHdpdGhvdXQgZm9ya2luZ1xuIgorbXNnc3RyICIgLXUgIC0tdW5sb2NrICAgICAgICAgICAgIOenu+mZpOmOluWumlxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICAgIGluY3JlYXNlIHZlcmJvc2l0eVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIOaYr+abtOWkmuips+e0sOeahFxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoxMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlcyIKK21zZ3N0ciAi54Sh5rOV6ZaL5ZWf6Y6W5a6a5qqU5qGIICVzIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IHZhbHVlIgorbXNnc3RyICLnhKHmlYjnmoTpgL7mmYLlvJXmlbgiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIwOQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGV4aXQgY29kZSIKK21zZ3N0ciAi54Sh5pWI55qE6Zui6ZaL5Luj56K8IgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMjgKK21zZ2lkICJ0aGUgLS1uby1mb3JrIGFuZCAtLWNsb3NlIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGNvbW1hbmQgYXJndW1lbnQiCittc2dzdHIgIiVzIOmcgOaxgueyvueiuueahOS4gOWAi+aMh+S7pOW8leaVuCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjU0CisjLCBmdXp6eQorbXNnaWQgImJhZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIuaXl+aomeaPj+i/sCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjU3CisjLCBmdXp6eQorbXNnaWQgInJlcXVpcmVzIGZpbGUgZGVzY3JpcHRvciwgZmlsZSBvciBkaXJlY3RvcnkiCittc2dzdHIgIumcgOaxguaqlOahiOaPj+i/sOespuiZn++8jOaqlOahiOaIluebrumMhCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjgxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgbG9jayIKK21zZ3N0ciAi6Kit5a6a6Lev5b6R5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODgKK21zZ2lkICJ0aW1lb3V0IHdoaWxlIHdhaXRpbmcgdG8gZ2V0IGxvY2siCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0dGluZyBsb2NrIHRvb2sgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXMgICUuNmYg56eSXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjM0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICLnmbznlJ/pjK/oqqTmlrzln7fooYxcdCVzXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxtb3VudHBvaW50PlxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gPG1vdW50IHBvaW50PlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo1MworbXNnaWQgIlN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbSAoZXh0My80LCBSZWlzZXJGUywgSkZTLCBYRlMpLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjU2CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mcmVlemUgICAgICBmcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiICB0ICAgICAgICAgIOiuiuabtOaqlOahiOezu+e1seeahOmhnuWeiyIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NTcKK21zZ2lkICIgLXUsIC0tdW5mcmVlemUgICAgdW5mcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTYKK21zZ2lkICJuZWl0aGVyIC0tZnJlZXplIG9yIC0tdW5mcmVlemUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIlc++8muS4pumdnuebrumMhCIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmcmVlemUgZmFpbGVkIgorbXNnc3RyICIlc++8muWHjee1kOaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIiVz77ya6Kej6Zmk5YeN57WQ5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVz77ya5LiN5piv55uu6YyEIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBGSVRSSU0gaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlc++8mkZJVFJJTSBpb2N0bCDlpLHmlZciCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgaGVyZSBpcyBhIHZlcnkgbGFyZ2UgbnVtYmVyLgorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjEwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglPFBSSXU2ND4gYnl0ZXMpIHRyaW1tZWRcbiIKK21zZ3N0ciAiJXPvvJolPFBSSXU2ND4g5L2N5YWD57WE6KKr5bey5L+u5pW0XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxOTEgc3lzLXV0aWxzL3N3YXBvbi5jOjcyOSBzeXMtdXRpbHMvdW1vdW50LmM6MzI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMiCittc2dzdHIgIuWJluaekCAlcyDmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50IHBvaW50PlxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gPG1vdW50IHBvaW50PlxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU0Cittc2dpZCAiRGlzY2FyZCB1bnVzZWQgYmxvY2tzIG9uIGEgbW91bnRlZCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTcKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgdHJpbSBhbGwgbW91bnRlZCBmaWxlc3lzdGVtcyB0aGF0IGFyZSBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAg5YiX5Y2w5omA5pyJ56ym6Jmf77yM5Y2z5L2/6KiI5pW45pivIDBcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1OAorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIHRoZSBvZmZzZXQgaW4gYnl0ZXMgdG8gc3RhcnQgZGlzY2FyZGluZyBmcm9tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1OQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gZGlzY2FyZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjAKK21zZ2lkICIgLW0sIC0tbWluaW11bSA8bnVtPiB0aGUgbWluaW11bSBleHRlbnQgbGVuZ3RoIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IG51bWJlciBvZiBkaXNjYXJkZWQgYnl0ZXNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAg5YiX5Y2w6Kmz57Sw55qE6LOH5paZXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCIKK21zZ3N0ciAi5YmW5p6Q5pyA5bCP5bu25Ly46ZW35bqm5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzI5CisjLCBmdXp6eQorbXNnaWQgIm5vIG1vdW50cG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICLmspLmnIkgbW91bnRwb2ludCDmjIflrprnmoTjgIIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGUgZGlzY2FyZCBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAi6YCf5bqmICVkIOS4jeWPl+aUr+aPtCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXNzdW1pbmcgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiAlcyB0aW1lLlxuIgorbXNnc3RyICLlgYfoqK3noazpq5TmmYLpkJjooqvkv53mjIHlnKggJXMg5pmC6ZaT44CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ3IHN5cy11dGlscy9od2Nsb2NrLmM6MzM0Cittc2dpZCAiVVRDIgorbXNnc3RyICJVVEMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjQ3IHN5cy11dGlscy9od2Nsb2NrLmM6MzMzCittc2dpZCAibG9jYWwiCittc2dzdHIgIuacrOWcsCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMTgKKyMsIGZ1enp5Cittc2dpZCAiIgorIldhcm5pbmc6IHVucmVjb2duaXplZCB0aGlyZCBsaW5lIGluIGFkanRpbWUgZmlsZVxuIgorIihFeHBlY3RlZDogYFVUQycgb3IgYExPQ0FMJyBvciBub3RoaW5nLikiCittc2dzdHIgIiIKKyLorablkYrvvJrnhKHms5XovqjorZjnmoTnrKzkuInliJflnKjkuK0gYWRqdGltZSDmqpTmoYhcbiIKKyIo6aCQ5pyf77ya44COVVRD44CP5oiW44CO5pys5Zyw44CP5oiW5rKS5pyJ5Lu75L2V5p2x6KW/LikiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgZHJpZnQgYWRqdXN0bWVudCBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAi5pyA5b6M5LiA5qyh5YGP5beu6Kq/5pW05bey5pa8IDE5Njkg5bm05LmL5b6MICVsZCDnp5LlrozmiJBcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBjYWxpYnJhdGlvbiBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAi5pyA5b6M5LiA5qyh5qCh5ris5bey5pa8IDE5Njkg5bm05LmL5b6MICVsZCDnp5LlrozmiJBcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGFyZHdhcmUgY2xvY2sgaXMgb24gJXMgdGltZVxuIgorbXNnc3RyICLnoazpq5TmmYLpkJjkvY3mlrwgJXMg5pmC6ZaTXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzU4CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgZm9yIGNsb2NrIHRpY2suLi5cbiIKK21zZ3N0ciAi562J5YCZ5pmC6ZCY6YCx5pyf4oCmXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnN5bmNocm9uaXphdGlvbiBmYWlsZWRcbiIKK21zZ3N0ciAi4oCm5ZCM5q2l5YyW5aSx5pWXXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmdvdCBjbG9jayB0aWNrXG4iCittc2dzdHIgIuKApueNsuW+l+aZgumQmOmAseacn1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQyMgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHZhbHVlcyBpbiBoYXJkd2FyZSBjbG9jazogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorbXNnc3RyICLnoazpq5TmmYLpkJjnmoTnhKHmlYjlgLzvvJolNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkh3IGNsb2NrIHRpbWUgOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICLnoazpq5TmmYLpkJjmmYLplpPvvJolNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIOenkuiHqiAxOTY5IOW5tOi1t+eul1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQ2NQorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHJlYWQgZnJvbSBIYXJkd2FyZSBDbG9jazogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorbXNnc3RyICLlvp7noazpq5TmmYLpkJjoroDlj5bmmYLplpPvvJolNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgSGFyZHdhcmUgQ2xvY2sgdG8gJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIuioreWumuehrOmrlOaZgumQmOeCuiAlLjJkOiUuMmQ6JS4yZCA9ICVsZCDnp5Loh6ogMTk2OSDlubTotbfnrpdcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2xvY2sgbm90IGNoYW5nZWQgLSB0ZXN0aW5nIG9ubHkuXG4iCittc2dzdHIgIuaZgumQmOacquiuiuabtCAtIOWPquWBmueCuua4rOippuOAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYwMworIywgYy1mb3JtYXQKK21zZ2lkICJzbGVlcGluZyB+JWQgdXNlY1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjE0CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUganVtcGVkIGJhY2t3YXJkICUuNmYgc2Vjb25kcyB0byAlbGQuJTA2bGQgLSByZXRhcmdldGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZC4lMDZsZCA8ICVsZC4lMDZsZCAoJS42ZilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciBwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVsZC4lMDZsZCBpcyBjbG9zZSBlbm91Z2ggdG8gJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyJTZXQgUlRDIHRvICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2bGQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODgKKyMsIGZ1enp5Cittc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIHJlZ2lzdGVycyBjb250YWluIHZhbHVlcyB0aGF0IGFyZSBlaXRoZXIgaW52YWxpZCAoZS5nLiA1MHRoIGRheSBvZiBtb250aCkgb3IgYmV5b25kIHRoZSByYW5nZSB3ZSBjYW4gaGFuZGxlIChlLmcuIFllYXIgMjA5NSkuIgorbXNnc3RyICLnoazpq5TpkJjoqIrmmqvlrZjlmajljIXlkKvlgLzmiYDpgoTmmK/nhKHmlYjnmoQo5L6L5aaC77yaNTAgdGgg5pyI5Lit5p+Q5pelKSDmiJbkvY3mlrzkuYvlvoznr4TlnI3miJHlgJHlj6/ku6Xmjqfmn4Qo5L6L5aaC77ya5bm0IDIwOTUp44CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjcyOAorIywgZnV6enkKK21zZ2lkICJObyAtLWRhdGUgb3B0aW9uIHNwZWNpZmllZC4iCittc2dzdHIgIuaykuaciSAtLWRhdGUg6YG46aCF5oyH5a6a55qE44CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjczNAorIywgZnV6enkKK21zZ2lkICItLWRhdGUgYXJndW1lbnQgdG9vIGxvbmciCittc2dzdHIgIi0tZGF0ZSDlvJXmlbjlpKrplbciCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzQxCisjLCBmdXp6eQorbXNnaWQgIiIKKyJUaGUgdmFsdWUgb2YgdGhlIC0tZGF0ZSBvcHRpb24gaXMgbm90IGEgdmFsaWQgZGF0ZS5cbiIKKyJJbiBwYXJ0aWN1bGFyLCBpdCBjb250YWlucyBxdW90YXRpb24gbWFya3MuIgorbXNnc3RyICIiCisi5YC855qEIC0tZGF0ZSDpgbjpoIXkuKbpnZ7mnInmlYjml6XmnJ/jgIJcbiIKKyLlsKTlhbbvvIzlroPlkKvmnInlvJXomZ/jgIIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIklzc3VpbmcgZGF0ZSBjb21tYW5kOiAlc1xuIgorbXNnc3RyICLln7fooYzml6XmnJ/lkb3ku6TvvJolc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc1MworbXNnaWQgIlVuYWJsZSB0byBydW4gJ2RhdGUnIHByb2dyYW0gaW4gL2Jpbi9zaCBzaGVsbC4gcG9wZW4oKSBmYWlsZWQiCittc2dzdHIgIueEoeazleWcqCAvYmluL3NoIOWRveS7pOauvOS4remBi+ihjOOAjGRhdGXjgI3nqIvlvI/jgIJwb3BlbigpIOWkseaVlyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzcG9uc2UgZnJvbSBkYXRlIGNvbW1hbmQgPSAlc1xuIgorbXNnc3RyICLml6XmnJ/lkb3ku6TnmoTlm57mh4kgPSAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkYXRlIGNvbW1hbmQgaXNzdWVkIGJ5ICVzIHJldHVybmVkIHVuZXhwZWN0ZWQgcmVzdWx0cy5cbiIKKyJUaGUgY29tbWFuZCB3YXM6XG4iCisiICAlc1xuIgorIlRoZSByZXNwb25zZSB3YXM6XG4iCisiICAlcyIKK21zZ3N0ciAiIgorIuaXpeacn+WRveS7pOitsOmhjOeahOeUsSAlcyDlm57lgrPnmoTmnKrpoJDmnJ/nmoTntZDmnpzjgIJcbiIKKyLlkb3ku6TmmK/vvJpcbiIKKyIgICVzXG4iCisi5Zue5oeJ5piv77yaXG4iCisiICAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkYXRlIGNvbW1hbmQgaXNzdWVkIGJ5ICVzIHJldHVybmVkIHNvbWV0aGluZyBvdGhlciB0aGFuIGFuIGludGVnZXIgd2hlcmUgdGhlIGNvbnZlcnRlZCB0aW1lIHZhbHVlIHdhcyBleHBlY3RlZC5cbiIKKyJUaGUgY29tbWFuZCB3YXM6XG4iCisiICAlc1xuIgorIlRoZSByZXNwb25zZSB3YXM6XG4iCisiICVzXG4iCittc2dzdHIgIiIKKyLnlLEgJXMg5omA5Z+36KGM55qE5pel5pyf5ZG95Luk5Zue5YKz5LqG5LiA5Lqb6Z2e5pW05pW455qE5p2x6KW/77yM6ICM6Z2e6aCQ5pyf5bex6L2J5o+b55qE5pmC6ZaT5YC844CCXG4iCisi5ZG95Luk5piv77yaXG4iCisiICVzXG4iCisi5Zue5oeJ5piv77yaXG4iCisiJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGF0ZSBzdHJpbmcgJXMgZXF1YXRlcyB0byAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5LlxuIgorbXNnc3RyICLml6XmnJ/lrZfkuLIgJXMg6KGo56S66IeqIDE5Njkg5bm05Lul5L6G5bex6YGOICVsZCDnp5LjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4MjQKKyMsIGZ1enp5Cittc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3Qgc2V0IHRoZSBTeXN0ZW0gVGltZSBmcm9tIGl0LiIKK21zZ3N0ciAi56Gs6auU5pmC6ZCY5LiN5YyF5ZCr5pyJ5pWI5pmC6ZaT77yM5Zug6ICM5oiR5YCR54Sh5rOV6Kit5a6a57O757Wx5pmC6ZaT5b6e5a6D44CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg0MyBzeXMtdXRpbHMvaHdjbG9jay5jOjkzMAorIywgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheTpcbiIKK21zZ3N0ciAi5ZG85Y+rIHNldHRpbWVvZmRhee+8mlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg0NCBzeXMtdXRpbHMvaHdjbG9jay5jOjkzMgorIywgYy1mb3JtYXQKK21zZ2lkICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorbXNnc3RyICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg0NiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzNAorIywgYy1mb3JtYXQKK21zZ2lkICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKK21zZ3N0ciAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODUwIHN5cy11dGlscy9od2Nsb2NrLmM6OTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIHN5c3RlbSBjbG9jayBiZWNhdXNlIHJ1bm5pbmcgaW4gdGVzdCBtb2RlLlxuIgorbXNnc3RyICLmnKroqK3lrprns7vntbHmmYLpkJjvvIzlm6DngrrlnKjmuKzoqabmqKHlvI/kuK3ln7fooYzjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NjYgc3lzLXV0aWxzL2h3Y2xvY2suYzo5NjIKKyMsIGZ1enp5Cittc2dpZCAiTXVzdCBiZSBzdXBlcnVzZXIgdG8gc2V0IHN5c3RlbSBjbG9jay4iCittc2dzdHIgIuW/hemgiOaYr+ezu+e1seeuoeeQhuiAheWIsOioreWumuezu+e1seaZgumQmOOAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4Njkgc3lzLXV0aWxzL2h3Y2xvY2suYzo5NjUKK21zZ2lkICJzZXR0aW1lb2ZkYXkoKSBmYWlsZWQiCittc2dzdHIgInNldHRpbWVvZmRheSgpIOWkseaVlyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3VycmVudCBzeXN0ZW0gdGltZTogJWxkID0gJXNcbiIKK21zZ3N0ciAi55uu5YmN55qE57O757Wx5pmC6ZaT77yaJWxkID0gJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHRVVEM6ICVzXG4iCittc2dzdHIgIlx0VVRD77yaJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIC0tdXBkYXRlLWRyaWZ0IG9wdGlvbiB3YXMgbm90IHVzZWQuXG4iCittc2dzdHIgIueEoeazleiqv+aVtOWBj+W3ruS/guaVuO+8jOWboOeCuuS5i+WJjeeahOehrOmrlOaZgumQmOWMheWQq+S6hueEoeeUqOizh+aWmeOAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgSGFyZHdhcmUgQ2xvY2sgcHJldmlvdXNseSBjb250YWluZWQgZ2FyYmFnZS5cbiIKK21zZ3N0ciAi54Sh5rOV6Kq/5pW05YGP5beu5L+C5pW477yM5Zug54K65LmL5YmN55qE56Gs6auU5pmC6ZCY5YyF5ZCr5LqG54Sh55So6LOH5paZ44CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAwNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBsYXN0IGNhbGlicmF0aW9uIHRpbWUgaXMgemVybyxcbiIKKyJzbyBoaXN0b3J5IGlzIGJhZCBhbmQgY2FsaWJyYXRpb24gc3RhcnRvdmVyIGlzIG5lY2Vzc2FyeS5cbiIKK21zZ3N0ciAiIgorIueEoeazleiqv+aVtOWBj+W3ruS/guaVuO+8jOWboOeCuuacgOW+jOS4gOasoeagoea4rOaZgumWk+eCuumbtu+8jFxuIgorIuWboOiAjOS4jeeVtueahOatt+WPsuiomOmMhOS9v+W+l+WVn+Wni+agoea4rOeCuuW/heimgeeahOOAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgaXQgaGFzIGJlZW4gbGVzcyB0aGFuIGZvdXIgaG91cnMgc2luY2UgdGhlIGxhc3QgY2FsaWJyYXRpb24uXG4iCittc2dzdHIgIueEoeazleiqv+aVtOWBj+W3ruS/guaVuO+8jOWboOeCuuWug+W+nuacgOW+jOS4gOasoeagoea4rOi1t+W3sue2k+aFoumBjuaWvOS4gOWkqeOAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0IGZhY3RvciB3YXMgY2FsY3VsYXRlZCBhcyAlZiBzZWNvbmRzL2RheS5cbiIKKyJJdCBpcyBmYXIgdG9vIG11Y2guIFJlc2V0dGluZyB0byB6ZXJvLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0ZWQgJWYgc2Vjb25kcyBpbiB0aGUgcGFzdCAlZiBzZWNvbmRzXG4iCisiaW4gc3BpdGUgb2YgYSBkcmlmdCBmYWN0b3Igb2YgJWYgc2Vjb25kcy9kYXkuXG4iCisiQWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBieSAlZiBzZWNvbmRzL2RheVxuIgorbXNnc3RyICIiCisi5pmC6ZCY5YGP5beu54K6ICUuMWYg56eS55m855Sf5pa86YGO5Y67ICVkIOenkuWFp++8jOiAjOS4jeeuoSAlZiDnp5Iv5aSp55qE5YGP5beu5L+C5pW444CCXG4iCisi5LulICVmIOenki/lpKnkvoboqr/mlbTlgY/lt67kv4LmlbhcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlZCBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWQgc2Vjb25kc1xuIgorbXNnc3RyWzBdICLlvp7mnIDlvozkuIDmrKHoqr/mlbTlvozntpPpgY7nmoTmmYLplpPngrogJWQg56eSXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTEwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2FsY3VsYXRlZCBIYXJkd2FyZSBDbG9jayBkcmlmdCBpcyAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICIlcyAgJS42ZiDnp5JcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTMzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCB1cGRhdGluZyBhZGp0aW1lIGZpbGUgYmVjYXVzZSBvZiB0ZXN0aW5nIG1vZGUuXG4iCittc2dzdHIgIueEoeazleabtOaWsCBhZGp0aW1lIOaqlOahiO+8jOWboOeCuuiZleaWvOa4rOippuaooeW8j+OAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldvdWxkIGhhdmUgd3JpdHRlbiB0aGUgZm9sbG93aW5nIHRvICVzOlxuIgorIiVzIgorbXNnc3RyICIiCisi5bCH5pyD5a+r5YWl5LiL5YiX6LOH5paZ5YiwICVzOlxuIgorIiVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgaW4gaXQgKCVzKSBmb3Igd3JpdGluZyIKK21zZ3N0ciAi54Sh5rOV5Lul5YW25Lit55qE5pmC6ZCY6Kq/5pW05Y+D5pW4ICglcykg6ZaL5ZWf5qqU5qGI55So5pa85a+r5YWlIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNDkgc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCB1cGRhdGUgZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgKCVzKSBpbiBpdCIKK21zZ3N0ciAi54Sh5rOV5Lul5YW25Lit55qE5pmC6ZCY6Kq/5pW05Y+D5pW4ICglcykg5pu05paw5qqU5qGIIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExNjQKKyMsIGZ1enp5Cittc2dpZCAiRHJpZnQgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIG5vdCB1cGRhdGVkLiIKK21zZ3N0ciAi5ryC56e76Kq/5pW05Y+D5pW454Sh5rOV5pu05paw44CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMDAKKyMsIGZ1enp5Cittc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3QgYWRqdXN0IGl0LiIKK21zZ3N0ciAi56Gs6auU5pmC6ZCY5LiN5YyF5ZCr5pyJ5pWI5pmC6ZaT77yM5Zug6ICM5oiR5YCR54Sh5rOV6Kq/5pW05a6D44CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgbGFzdCBhZGp1c3RtZW50IHRpbWUgaXMgemVybywgc28gaGlzdG9yeSBpcyBiYWQuXG4iCittc2dzdHIgIueEoeazleioreWumuaZgumQmOWboOeCuuacgOW+jOS4gOasoeiqv+aVtOaZgumWk+eCuumbtu+8jOWboOiAjOatt+WPsuiomOmMhOaYr+S4jeeVtueahOOAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGRyaWZ0IGZhY3RvciAlZiBpcyBmYXIgdG9vIGhpZ2guXG4iCittc2dzdHIgIueEoeazleioreWumuaZgumQmOWboOeCuuacgOW+jOS4gOasoeiqv+aVtOaZgumWk+eCuumbtu+8jOWboOiAjOatt+WPsuiomOmMhOaYr+S4jeeVtueahOOAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHVzYWJsZSBjbG9jayBpbnRlcmZhY2UgZm91bmQuXG4iCittc2dzdHIgIuaJvuS4jeWIsOWPr+eUqOeahOaZgumQmOS7i+mdouOAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmVlZGVkIGFkanVzdG1lbnQgaXMgbGVzcyB0aGFuIG9uZSBzZWNvbmQsIHNvIG5vdCBzZXR0aW5nIGNsb2NrLlxuIgorbXNnc3RyICLmiYDpnIDnmoToqr/mlbTlsJHmlrzkuIDnp5LpkJjvvIzlm6DogIznhKHms5XoqK3lrprmmYLpkJjjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzg4IHN5cy11dGlscy9od2Nsb2NrLmM6MTM5NAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmFibGUgdG8gc2V0IHN5c3RlbSBjbG9jay5cbiIKK21zZ3N0ciAi54Sh5rOV6Kit5a6a57O757Wx5pmC6ZCY44CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQwMgorIywgYy1mb3JtYXQKK21zZ2lkICJBdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LCBSVEMgaXMgcHJlZGljdGVkIHRvIHJlYWQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OS5cbiIKK21zZ3N0ciAiMTk2OSDlubTkuYvlvowgJWxkIOenkiwgUlRDIOmgkOioiOacg+iugOWPliAxOTY5IOS5i+W+jCAlbGQg56eS44CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQzMQorIywgZnV6enkKK21zZ2lkICIiCisiVGhlIGtlcm5lbCBrZWVwcyBhbiBlcG9jaCB2YWx1ZSBmb3IgdGhlIEhhcmR3YXJlIENsb2NrIG9ubHkgb24gYW4gQWxwaGEgbWFjaGluZS5cbiIKKyJUaGlzIGNvcHkgb2YgaHdjbG9jayB3YXMgYnVpbHQgZm9yIGEgbWFjaGluZSBvdGhlciB0aGFuIEFscGhhXG4iCisiKGFuZCB0aHVzIGlzIHByZXN1bWFibHkgbm90IHJ1bm5pbmcgb24gYW4gQWxwaGEgbm93KS4gIE5vIGFjdGlvbiB0YWtlbi4iCittc2dzdHIgIiIKKyLlhafmoLjkv53mjIHmmYLmnJ/lgLznlKjmlrznoazpq5TmmYLpkJjlj6rmnInmlrwgQWxwaGEg5qmf5Zmo44CCXG4iCisi6YCZ5YCL6KSH6KO955qEIGh3Y2xvY2sg5pivIGJ1aWx0IOeUqOaWvOapn+WZqOS4jeWQjOaWvCBBbHBoYVxuIgorIijlkozlm6DogIzmmK/mk5rmjqjmuKznhKHms5Xln7fooYzkuK3mlrwgQWxwaGEg54++5ZyoKeOAgiDmnKrmjqHlj5bku7vkvZXooYzli5XjgIIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ0OAorIywgZnV6enkKK21zZ2lkICJVbmFibGUgdG8gZ2V0IHRoZSBlcG9jaCB2YWx1ZSBmcm9tIHRoZSBrZXJuZWwuIgorbXNnc3RyICLnhKHms5Xmj5Dlj5bmmYLmnJ/lgLzlvp7lhafmoLjjgIIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgaXMgYXNzdW1pbmcgYW4gZXBvY2ggdmFsdWUgb2YgJWx1XG4iCittc2dzdHIgIuWFp+aguOWBh+ioreaZguacn+WAvOeCuiAlbHVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDU1CisjLCBmdXp6eQorbXNnaWQgIlRvIHNldCB0aGUgZXBvY2ggdmFsdWUsIHlvdSBtdXN0IHVzZSB0aGUgJ2Vwb2NoJyBvcHRpb24gdG8gdGVsbCB0byB3aGF0IHZhbHVlIHRvIHNldCBpdC4iCittc2dzdHIgIuimgeioreWumuaZguacn+WAvO+8jOaCqOW/hemgiOS9v+eUqOOAjuaZguacn+OAj+mBuOmgheWIsOWRiuiotOWIsOS7gOm6vOWAvOWIsOioreWumuWug+OAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyB0aGUgZXBvY2ggdG8gJWx1IC0gdGVzdGluZyBvbmx5LlxuIgorbXNnc3RyICLkuI3lsIfmmYLmnJ/oqK3lrprngrogJWQgLSDlj6rpmZDmlrzmuKzoqabjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuYWJsZSB0byBzZXQgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwuXG4iCittc2dzdHIgIueEoeazleWcqOWFp+aguOS4reioreWumuaZguacn+WAvOOAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NTYKKyMsIGZ1enp5Cittc2dpZCAiIGh3Y2xvY2sgW2Z1bmN0aW9uXSBbb3B0aW9uLi4uXVxuIgorbXNnc3RyICIgaHdjbG9jayBb5Ye95byPXSBb6YG46aCFLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NTkKK21zZ2lkICJRdWVyeSBvciBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2MQorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiRnVuY3Rpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisi5Ye95byP77yaXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU2MgorIywgZnV6enkKK21zZ2lkICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgIHNob3cgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyIgLXIsIC0tc2hvdyAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisiICAgICAtLWdldCAgICAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IGRyaWZ0IGNvcnJlY3RlZCByZXN1bHRcbiIKKyIgICAgIC0tc2V0ICAgICAgICAgICAgc2V0IHRoZSBSVEMgdG8gdGhlIHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKK21zZ3N0ciAiIgorIiAtaCwgLS1oZWxwICAgICAgICAgICDpoa/npLrpgJnku73oqqrmmI7mloflrZfnhLblvozpm6LplotcbiIKKyIgLXIsIC0tc2hvdyAgICAgICAgICAg6K6A5Y+W56Gs6auU5pmC6ZCY5ZKM5YiX5Y2w57WQ5p6cXG4iCisiICAgICAtLXNldCAgICAgICAgICAgIOioreWumiBSVEMg5Yiw5pmC6ZaT57Wm5a6a55qE6IiHIC0tZGF0ZVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NjYKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtcywgLS1oY3Rvc3lzICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisiIC13LCAtLXN5c3RvaGMgICAgICAgIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgZnJvbSB0aGUgY3VycmVudCBzeXN0ZW0gdGltZVxuIgorIiAgICAgLS1zeXN0eiAgICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRpbWV6b25lXG4iCisiICAgICAtLWFkanVzdCAgICAgICAgIGFkanVzdCB0aGUgUlRDIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgc2luY2VcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY2xvY2sgd2FzIGxhc3Qgc2V0IG9yIGFkanVzdGVkXG4iCittc2dzdHIgIiIKKyIgLXMsIC0taGN0b3N5cyAgICAgICAg6Kit5a6a57O757Wx5pmC6ZaT5b6e56Gs6auU5pmC6ZCYXG4iCisiIC13LCAtLXN5c3RvaGMgICAgICAgIOioreWumuehrOmrlOaZgumQmOW+nuebruWJjeeahOezu+e1seaZgumWk1xuIgorIiAgICAgLS1zeXN0eiAgICAgICAgICDoqK3lrprns7vntbHmmYLplpPln7rmlrznm67liY3nmoTmmYLljYBcbiIKKyIgICAgIC0tYWRqdXN0ICAgICAgICAg6Kq/5pW0IFJUQyDliLDluLPomZ/nlKjmlrwgc3lzdGVtYXRpYyDmvILnp7voh6rlvp5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICDmmYLpkJjmmK/mnIDlvozkuIDnrYboqK3lrprmiJboqr/mlbRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNTcxCittc2dpZCAiIC1jLCAtLWNvbXBhcmUgICAgICAgIHBlcmlvZGljYWxseSBjb21wYXJlIHRoZSBzeXN0ZW0gY2xvY2sgd2l0aCB0aGUgQ01PUyBjbG9ja1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU3MworIywgZnV6enkKK21zZ2lkICIiCisiICAgICAtLWdldGVwb2NoICAgICAgIHByaW50IG91dCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWVcbiIKKyIgICAgIC0tc2V0ZXBvY2ggICAgICAgc2V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZSB0byB0aGUgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgZ2l2ZW4gd2l0aCAtLWVwb2NoXG4iCittc2dzdHIgIiIKKyIgICAgIC0tZ2V0ZXBvY2ggICAgICAg5Y2w5Ye65YWn5qC444COcyDnoazpq5TmmYLpkJjmmYLmnJ/lgLxcbiIKKyIgICAgIC0tc2V0ZXBvY2ggICAgICAg6Kit5a6a5YWn5qC444CPcyDnoazpq5TmmYLpkJjmmYLmnJ/lgLzliLBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICDlgLzntablrprnmoToiIcgLS1lcG9jaFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1NzcKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IFJUQyByZWFkaW5nIGF0IHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKyIgICAgIC0tcHJlZGljdCAgICAgICAg6aCQ5risIFJUQyDoroDlj5bmlrzmmYLplpPntablrprnmoToiIcgLS1kYXRlXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgIOmhr+ekuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1ODEKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyIgICAgIC0tbG9jYWx0aW1lICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorbXNnc3RyICIiCisiIC11LCAtLXV0YyAgICAgICAgICAgIOehrOmrlOaZgumQmOiiq+S/neaMgeWcqOS4rSBVVENcbiIKKyIgICAgIC0tbG9jYWx0aW1lICAgICAg56Gs6auU5pmC6ZCY6KKr5L+d5oyB5Zyo5Lit5pys5Zyw5pmC6ZaTXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4NAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tcnRjIDxmaWxlPiAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIKK21zZ3N0ciAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIOeJueauii9kZXYvLi4u5qqU5qGI5Lul5L2/55So5Lul5Luj5pu/6aCQ6KitXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1kaXJlY3Rpc2EgICAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorIiAgICAgLS1iYWR5ZWFyICAgICAgICBpZ25vcmUgUlRDJ3MgeWVhciBiZWNhdXNlIHRoZSBCSU9TIGlzIGJyb2tlblxuIgorIiAgICAgLS1kYXRlIDx0aW1lPiAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorIiAgICAgLS1lcG9jaCA8eWVhcj4gICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBoYXJkd2FyZSBjbG9jaydzIGVwb2NoIHZhbHVlXG4iCittc2dzdHIgIiIKKyIgICAgIC0tZGlyZWN0aXNhICAgICAg5a2Y5Y+WIElTQSDljK/mtYHmjpLnm7TmjqXku6Xku6Pmm78gJXNcbiIKKyIgICAgIC0tYmFkeWVhciAgICAgICAg5b+955WlIFJUQydzIOW5tOWboOeCuiBCSU9TIOiiq+S4jeWujOaVtOeahFxuIgorIiAgICAgLS1kYXRlIDx0aW1lPiAgICDmjIflrprmmYLplpPliLDoqbLpoIXliLDoqK3lrprnoazpq5TmmYLpkJhcbiIKKyIgICAgIC0tZXBvY2g85bm0PiAg5oyH5a6a5bm06Kmy6aCF5piv6LW35aeL6YOo5YiG55qEXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAg56Gs6auU5pmC6ZCY5pmC5pyf5YC8XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTU5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS11cGRhdGUtZHJpZnQgICB1cGRhdGUgZHJpZnQgZmFjdG9yIGluICUxJHMgKHJlcXVpcmVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgLS1zZXQgb3IgLS1zeXN0b2hjKVxuIgorIiAgICAgLS1ub2FkamZpbGUgICAgICBkbyBub3QgYWNjZXNzICUxJHM7IHRoaXMgcmVxdWlyZXMgdGhlIHVzZSBvZlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZVxuIgorIiAgICAgLS1hZGpmaWxlIDxmaWxlPiBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICUxJHNcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1ub2FkamZpbGUgICAgICDkuI3lrZjlj5YgJXPvvJvpgJnlgIvpnIDmsYLkvb/nlKjnmoRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICDpgoTmmK8gLS11dGMg5oiWIC0tbG9jYWx0aW1lXG4iCisiICAgICAtLWFkamZpbGUgPGZpbGU+IOaMh+Wumui3r+W+keWIsOiqv+aVtOaqlOahiO+8m1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIOmgkOioreaYryAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE1OTkKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAgICAgLS10ZXN0ICAgICAgICAgICBkbyBub3QgdXBkYXRlIGFueXRoaW5nLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBoYXBwZW5cbiIKKyIgLUQsIC0tZGVidWcgICAgICAgICAgZGVidWdnaW5nIG1vZGVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAgICAgLS10ZXN0ICAgICAgICAgICDkuI3mm7TmlrDku7vkvZXkuovvvIzlg4Xpoa/npLrku4DpurzmnIPnmbznlJ9cbiIKKyIgLUQsIC0tZGVidWcgICAgICAgICAg5YG16Yyv5qih5byPXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTYwMgorIywgZnV6enkKK21zZ2lkICIiCisiIC1KfC0tamVuc2VuLCAtQXwtLWFyYywgLVN8LS1zcm0sIC1GfC0tZnVua3ktdG95XG4iCisiICAgICAgdGVsbCBod2Nsb2NrIHRoZSB0eXBlIG9mIEFscGhhIHlvdSBoYXZlIChzZWUgaHdjbG9jayg4KSlcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtSnwtLWplbnNlbu+8jC1BfC0tYXJj77yMLVN8LS1zcm3vvIwtRnwtLWZ1bmt5LXRveVxuIgorIiAgICAgIOWRiuiotCBod2Nsb2NrIOWei+aFi+eahCBBbHBoYSDmgqjmnIkgKOWPg+eciyBod2Nsb2NrICg4KSlcbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxNzI4CisjLCBmdXp6eQorbXNnaWQgIlVuYWJsZSB0byBjb25uZWN0IHRvIGF1ZGl0IHN5c3RlbSIKK21zZ3N0ciAi54Sh5rOV6YCj57ea5Yiw56i95qC457O757WxIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4MjYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBlcG9jaCBhcmd1bWVudCIKK21zZ3N0ciAi54Sh5pWI55qE5pmC5pyf5byV5pW4IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdGFrZXMgbm8gbm9uLW9wdGlvbiBhcmd1bWVudHMuICBZb3Ugc3VwcGxpZWQgJWQuXG4iCittc2dzdHIgIiVzIOeEoemcgOmdnumBuOmgheW8leaVuOOAgiDmgqjljbvlt7LntablrpogJWTjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxODgwCisjLCBmdXp6eQorbXNnaWQgIldpdGggLS1ub2FkamZpbGUsIHlvdSBtdXN0IHNwZWNpZnkgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lIgorbXNnc3RyICLoiIcgLS1ub2FkamZpbGXvvIzmgqjlv4XpoIjmjIflrprpgoTmmK8gLS11dGMg5oiWIC0tbG9jYWx0aW1lIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE4OTMKKyMsIGZ1enp5Cittc2dpZCAiTm8gdXNhYmxlIHNldC10byB0aW1lLiAgQ2Fubm90IHNldCBjbG9jay4iCittc2dzdHIgIuaykuacieWPr+eUqCBzZXQtdG8g5pmC6ZaT44CCIOeEoeazleioreWumuaZgumQmOOAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxOTE3CisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBhY2Nlc3MgdGhlIEhhcmR3YXJlIENsb2NrIHZpYSBhbnkga25vd24gbWV0aG9kLiIKK21zZ3N0ciAi54Sh5rOV5a2Y5Y+W56Gs6auU5pmC6ZCY6YCP6YGO5Lu75L2V5bey55+l5pa55rOV44CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjE5MjAKKyMsIGZ1enp5Cittc2dpZCAiVXNlIHRoZSAtLWRlYnVnIG9wdGlvbiB0byBzZWUgdGhlIGRldGFpbHMgb2Ygb3VyIHNlYXJjaCBmb3IgYW4gYWNjZXNzIG1ldGhvZC4iCittc2dzdHIgIuS9v+eUqCAtLWRlYnVnIOmBuOmgheWIsOWPg+eci+e0sOevgOeahOaIkeWAkeeahOaQnOWwi+WtmOWPluaWueazleOAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjIyMworIywgYy1mb3JtYXQKK21zZ2lkICJib290ZWQgZnJvbSBNSUxPXG4iCittc2dzdHIgIuW+niBNSUxPIOmWi+apn1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIlJ1ZmZpYW4gQkNEIGNsb2NrXG4iCittc2dzdHIgIlJ1ZmZpYW4gQkNEIOaZgumQmFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb2NrcG9ydCBhZGp1c3RlZCB0byAweCV4XG4iCittc2dzdHIgIuaZgumQmOmAmuioiuWfoOiqv+aVtOWIsCAweCV4XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzoyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnVua3kgVE9ZIVxuIgorbXNnc3RyICLnlY/nuK7nmoTnjqnlhbfvvIFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjI5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYXRvbWljICVzIGZhaWxlZCBmb3IgMTAwMCBpdGVyYXRpb25zISIKK21zZ3N0ciAi5Z+65YWD55qEICVzIOWkseaVl+eahOeUqOaWvCAxMDAwIOWPjeimhumBi+eul++8gSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjMyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY21vc19yZWFkKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCittc2dzdHIgImNtb3NyZWFkKCkoX1Ip77ya5a+r5YWl5o6n5Yi25L2N5Z2AICVYIOWkseaVl++8miVtXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNtb3NfcmVhZCgpOiByZWFkIGZyb20gZGF0YSBhZGRyZXNzICVYIGZhaWxlZCIKK21zZ3N0ciAiY21vc3JlYWQoKShfUinvvJroroDlj5bos4fmlpnkvY3lnYAgJVgg5aSx5pWX77yaJW1cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICJjbW9zd3JpdGUoKShfVynvvJrlr6vlhaXmjqfliLbkvY3lnYAgJVgg5aSx5pWX77yaJW1cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorbXNnc3RyICJjbW9zd3JpdGUoKShfVynvvJrlr6vlhaXos4fmlpnkvY3lnYAgJVgg5aSx5pWX77yaJW1cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY0NQorIywgZnV6enkKK21zZ2lkICJJIGZhaWxlZCB0byBnZXQgcGVybWlzc2lvbiBiZWNhdXNlIEkgZGlkbid0IHRyeS4iCittc2dzdHIgIuaIkeeEoeazleaPkOWPluasiumZkOWboOeCuuaIkeS4puacquWYl+ippuOAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY0OAorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZ2V0IEkvTyBwb3J0IGFjY2VzczogIHRoZSBpb3BsKDMpIGNhbGwgZmFpbGVkLiIKK21zZ3N0ciAi54Sh5rOV5o+Q5Y+WIEkvTyDpgJroqIrln6DlrZjlj5bvvJogaW9wbCAoMykg5ZG85Y+r5aSx5pWX44CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6NjUxCittc2dpZCAiUHJvYmFibHkgeW91IG5lZWQgcm9vdCBwcml2aWxlZ2VzLlxuIgorbXNnc3RyICLmgqjlpKfmpoLpnIDopoHns7vntbHnrqHnkIbogIXmrIrpmZDjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjY1OAorbXNnaWQgIlVzaW5nIGRpcmVjdCBJL08gaW5zdHJ1Y3Rpb25zIHRvIElTQSBjbG9jay4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gcmVhZCB0aGUgdGltZSBmYWlsZWQiCittc2dzdHIgImlvY3RsICglcykg5YiwICVzIOWIsOiugOWPluaZgumWk+WkseaVlyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tICVzIHRvIGNoYW5nZVxuIgorbXNnc3RyICLlvqrnkrDnrYnlgJnoh6ogJXMg6K6K5pu06LW355qE5pmC6ZaTXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIzNgorIywgZnV6enkKK21zZ2lkICJUaW1lZCBvdXQgd2FpdGluZyBmb3IgdGltZSBjaGFuZ2UuIgorbXNnc3RyICLlt7LpgL7mmYLnrYnlvoXmmYLplpPorormm7TjgIIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBoYXZlIGludGVycnVwdCBmdW5jdGlvbnMuICIKK21zZ3N0ciAiJXMg5rKS5pyJ5o+S5pa35Ye95byP44CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCittc2dzdHIgIiVzIOeahCBzZWxlY3QoKSDnrYnlgJnmmYLpkJjpgLHmnJ/lpLHmlZciCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayB0aW1lZCBvdXQiCittc2dzdHIgIumBuOWPligpIOWIsCAlcyDliLDnrYnlvoXmmYLpkJjpgLHmnJ/lt7LpgL7mmYIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb2ZmIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCIKK21zZ3N0ciAiJXMg55qEIGlvY3RsKCkg6Zec6ZaJ5pu05paw5o+S5pa35aSx5pWXIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9uIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCB1bmV4cGVjdGVkbHkiCittc2dzdHIgIiVzIOeahCBpb2N0bCgpIOaJk+mWi+abtOaWsOaPkuaWt+aEj+WkluWcsOWkseaVlyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gc2V0IHRoZSB0aW1lIGZhaWxlZC4iCittc2dzdHIgImlvY3RsICglcykg5YiwICVzIOWIsOioreWumuaZgumWk+WkseaVl+OAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB3YXMgc3VjY2Vzc2Z1bC5cbiIKK21zZ3N0ciAiaW9jdGwoJXMpIOWOn+acrOaIkOWKn+OAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozODcKK21zZ2lkICJVc2luZyB0aGUgL2RldiBpbnRlcmZhY2UgdG8gdGhlIGNsb2NrLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MTcgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUbyBtYW5pcHVsYXRlIHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLCB3ZSBtdXN0IGFjY2VzcyB0aGUgTGludXggJ3J0YycgZGV2aWNlIGRyaXZlciB2aWEgdGhlIGRldmljZSBzcGVjaWFsIGZpbGUgJXMuICBUaGlzIGZpbGUgZG9lcyBub3QgZXhpc3Qgb24gdGhpcyBzeXN0ZW0uIgorbXNnc3RyICLopoHmk43mjqfmmYLmnJ/lgLzlnKjkuK3lhafmoLjvvIzmiJHlgJHlv4XpoIjlrZjlj5YgTGludXjjgI5ydGPjgI/oo53nva7pqYXli5XnqIvlvI/pgI/pgY7oo53nva7nibnmrormqpTmoYggJXPjgIIg6YCZ5YCL5qqU5qGI5LiN5a2Y5Zyo5pa86YCZ5YCL57O757Wx44CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoUlRDX0VQT0NIX1JFQUQpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXMg55qEIGlvY3RsKFJUQ19FUE9DSF9SRUFEKSDlpLHmlZciCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2UgaGF2ZSByZWFkIGVwb2NoICVsdSBmcm9tICVzIHdpdGggUlRDX0VQT0NIX1JFQUQgaW9jdGwuXG4iCittc2dzdHIgIuaIkeWAkeW3suW+nuWFt+WCmSBSVENfRVBPQ0hfUkVBRCBpb2N0bCDnmoQgJTIkcyDoroDlj5bkuobmmYLmnJ8gJTEkbGTjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgZXBvY2ggdmFsdWUgbWF5IG5vdCBiZSBsZXNzIHRoYW4gMTkwMC4gIFlvdSByZXF1ZXN0ZWQgJWxkIgorbXNnc3RyICLmmYLmnJ/lgLzlj6/og73nhKHms5XmmK/lsJHmlrwgMTkwMC4g5oKo6KaB5rGC55qEICVsZCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIGVwb2NoIHRvICVsdSB3aXRoIFJUQ19FUE9DSF9TRVQgaW9jdGwgdG8gJXMuXG4iCittc2dzdHIgIuioreWumiBlcG9jaCDliLAgJWxkIOS7peWPiiBSVENfRVBPQ0hfU0VUIGlvY3RsIOWIsCAlc+OAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBrZXJuZWwgZGV2aWNlIGRyaXZlciBmb3IgJXMgZG9lcyBub3QgaGF2ZSB0aGUgUlRDX0VQT0NIX1NFVCBpb2N0bC4iCittc2dzdHIgIuWFp+aguOijnee9rumpheWLleeoi+W8j+eUqOaWvCAlcyDmspLmnIkgUlRDX0VQT0NIX1NFVCBpb2N0bOOAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKFJUQ19FUE9DSF9TRVQpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoUlRDX0VQT0NIX1NFVCkg5YiwICVzIOaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NjkKK21zZ2lkICJDcmVhdGUgdmFyaW91cyBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjcyCisjLCBmdXp6eQorbXNnaWQgIiAtTSwgLS1zaG1lbSA8c2l6ZT4gICAgICAgY3JlYXRlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBvZiBzaXplIDxzaXplPlxuIgorbXNnc3RyICIgLU0sIC0tc2htZW0gPHNpemU+ICAgICAgIOW7uueri+WFseeUqOiomOaGtumrlOizh+aWmeauteeahOWkp+WwjzzlpKflsI8+XG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjczCisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUgPG51bWJlcj4gY3JlYXRlIHNlbWFwaG9yZSBhcnJheSB3aXRoIDxudW1iZXI+IGVsZW1lbnRzXG4iCittc2dzdHIgIiAtUywgLS1zZW1hcGhvcmUgPG5zZW1zPiAg5bu656uL6Jmf6KqM6Zmj5YiX6IiHPG5zZW1zPuWFg+S7tlxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NAorIywgZnV6enkKK21zZ2lkICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIGNyZWF0ZSBtZXNzYWdlIHF1ZXVlXG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAg5bu656uL6KiK5oGv5L2H5YiXXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc1CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1tb2RlIDxtb2RlPiAgICAgICAgcGVybWlzc2lvbiBmb3IgdGhlIHJlc291cmNlIChkZWZhdWx0IGlzIDA2NDQpXG4iCittc2dzdHIgIiAtcCwgLS1tb2RlIDxtb2RlPiAgICAgICAg5qyK6ZmQ55So5pa86LOH5rqQICjpoJDoqK3mmK8gMDY0NClcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTEwIHN5cy11dGlscy9sb3NldHVwLmM6Njk3IHN5cy11dGlscy96cmFtY3RsLmM6NjIyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICLliZbmnpDlpKflsI/mmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWxlbWVudHMiCittc2dzdHIgIuWJluaekOWFg+S7tuaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQxCittc2dpZCAiY3JlYXRlIHNoYXJlIG1lbW9yeSBmYWlsZWQiCittc2dzdHIgIuW7uueri+WFseS6q+iomOaGtumrlOaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoYXJlZCBtZW1vcnkgaWQ6ICVkXG4iCittc2dzdHIgIuWFseeUqOiomOaGtumrlOitmOWIpeiZn++8miVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0OQorbXNnaWQgImNyZWF0ZSBtZXNzYWdlIHF1ZXVlIGZhaWxlZCIKK21zZ3N0ciAi5bu656uL6KiK5oGv5L2H5YiX5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBxdWV1ZSBpZDogJWRcbiIKK21zZ3N0ciAi6KiK5oGv5L2H5YiX6K2Y5Yil6Jmf77yaJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU3Cittc2dpZCAiY3JlYXRlIHNlbWFwaG9yZSBmYWlsZWQiCittc2dzdHIgIuW7uueri+iZn+iqjOaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbWFwaG9yZSBpZDogJWRcbiIKK21zZ3N0ciAi6Jmf6KqM6K2Y5Yil6Jmf77yaJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBzaG18bXNnfHNlbSA8aWQ+Li4uXG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSBbPGZpbGU+XVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1NAorbXNnaWQgIlJlbW92ZSBjZXJ0YWluIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTcKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLXNobWVtLWlkIDxpZD4gICAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkgaWRcbiIKK21zZ3N0ciAiIC1tLCAtLXNobWVtLWlkIDxpZD4gICAgICAgIOenu+mZpOWFseeUqOiomOaGtumrlOizh+aWmeauteeUsSBzaG1pZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OAorIywgZnV6enkKK21zZ2lkICIgLU0sIC0tc2htZW0ta2V5IDxrZXk+ICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBrZXlcbiIKK21zZ3N0ciAiIC1NLCAtLXNobWVtLWtleSA8a2V5PiAgICAgIOenu+mZpOWFseeUqOiomOaGtumrlOizh+aWmeauteeUsemNtVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OQorIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkgaWRcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlLWlkIDxpZD4gICAgICAgIOenu+mZpOioiuaBr+S9h+WIl+eUseitmOWIpeiZn1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MAorIywgZnV6enkKK21zZ2lkICIgLVEsIC0tcXVldWUta2V5IDxrZXk+ICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkga2V5XG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZS1rZXkgPGtleT4gICAgICDnp7vpmaToqIrmga/kvYfliJfnlLHpjbVcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjEKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8aWQ+ICAgIHJlbW92ZSBzZW1hcGhvcmUgYnkgaWRcbiIKK21zZ3N0ciAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8aWQ+ICAgIOenu+mZpOiZn+iqjOeUseitmOWIpeiZn1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MgorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlLWtleSA8a2V5PiAgcmVtb3ZlIHNlbWFwaG9yZSBieSBrZXlcbiIKK21zZ3N0ciAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGtleT4gIOenu+mZpOiZn+iqjOeUsemNtVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MworIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsWz1zaG18bXNnfHNlbV0gICAgcmVtb3ZlIGFsbCAoaW4gdGhlIHNwZWNpZmllZCBjYXRlZ29yeSlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCBbPTxzaG18bXNnfHNlbT5dICDlhajpg6jnp7vpmaRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICDop6Pph4vku4DpurzmraPlnKjmmK/lt7LlrozmiJBcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBpZCBgJWQnXG4iCittc2dzdHIgIuenu+mZpOWFseeUqOiomOaGtumrlOizh+aWmeauteitmOWIpeiZn+OAjiVk44CPXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBtZXNzYWdlIHF1ZXVlIGlkIGAlZCdcbiIKK21zZ3N0ciAi56e76Zmk6KiK5oGv5L2H5YiX6K2Y5Yil6Jmf44COJWTjgI9cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNlbWFwaG9yZSBpZCBgJWQnXG4iCittc2dzdHIgIuenu+mZpOiZn+iqjOitmOWIpeiZn+OAjiVk44CPXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOCBzeXMtdXRpbHMvaXBjcm0uYzoyMjIKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3Iga2V5IgorbXNnc3RyICLmrIrpmZDooqvmi5LnlKjmlrzpjbXlgLwiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOAorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBpZCIKK21zZ3N0ciAi5qyK6ZmQ6KKr5ouS55So5pa86K2Y5Yil6JmfIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEgc3lzLXV0aWxzL2lwY3JtLmM6MjI4Cittc2dpZCAiaW52YWxpZCBrZXkiCittc2dzdHIgIueEoeaViOeahOmNteWAvCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExCittc2dpZCAiaW52YWxpZCBpZCIKK21zZ3N0ciAi54Sh5pWI55qE6K2Y5Yil6JmfIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQgc3lzLXV0aWxzL2lwY3JtLmM6MjI1Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGtleSIKK21zZ3N0ciAi5bey57aT56e76Zmk55qE6Y215YC8IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQgaWQiCittc2dzdHIgIuW3sue2k+enu+mZpOeahOitmOWIpeiZnyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE3IHN5cy11dGlscy9pcGNybS5jOjIzMQorIywgZnV6enkKK21zZ2lkICJrZXkgZmFpbGVkIgorbXNnc3RyICLpjbXlpLHmlZciCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNworIywgZnV6enkKK21zZ2lkICJpZCBmYWlsZWQiCittc2dzdHIgIuitmOWIpeiZn+WkseaVlyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkOiAlcyIKK21zZ3N0ciAi54Sh5pWI55qE6K2Y5Yil6Jmf77yaJXMiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJyZXNvdXJjZShzKSBkZWxldGVkXG4iCittc2dzdHIgIuizh+a6kOW3suWIqumZpFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwga2V5ICglcykiCittc2dzdHIgIuS4jeWQiOazleeahOmNtSAoJXMpIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNTYKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICLlhafmoLjnhKHms5Xlt7LntYTphY3nlKjmlrzlhbHnlKjoqJjmhrbpq5QiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI2OQorIywgZnV6enkKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXMiCittc2dzdHIgIuWFp+aguOeEoeazleW3sue1hOmFjeeUqOaWvOiZn+iqjCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjkwCisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgIuWFp+aguOeEoeazleW3sue1hOmFjeeUqOaWvOioiuaBr+S9h+WIlyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtyZXNvdXJjZS1vcHRpb24uLi5dIFtvdXRwdXQtb3B0aW9uXVxuIgorIiAlMSRzIC1tfC1xfC1zIC1pIDxpZD5cbiIKK21zZ3N0ciAiIgorIueUqOazle+8miUxJHMgW+izh+a6kF0uLi4gW+i8uOWHuuagvOW8j11cbiIKKyIgICAgICAlMSRzIFvos4fmupBdIC1pIOitmOWIpeiZn1xuIgorIlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU2IHN5cy11dGlscy9sc2lwYy5jOjI4MAorIywgZnV6enkKK21zZ2lkICJTaG93IGluZm9ybWF0aW9uIG9uIElQQyBmYWNpbGl0aWVzLlxuIgorbXNnc3RyICIiCisi5bCN5pa85oKo5pyJ6K6A5Y+W5qyK6ZmQ55qE6aCF55uu77yM5o+Q5L6bIGlwYyDmqZ/og73nmoTos4foqIrjgIJcbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiIC1pLCAtLWlkIDxpZD4gIOWIl+WNsOe0sOevgOaWvOizh+a6kOitmOWIpeeahOeUseitmOWIpeiZn1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0IHN5cy11dGlscy9sc2lwYy5jOjI4MworIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBvcHRpb25zOlxuIgorbXNnc3RyICLos4fmupDpgbjpoIXvvJpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NSBzeXMtdXRpbHMvbHNpcGMuYzoyODQKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLXNobWVtcyAgICAgIHNoYXJlZCBtZW1vcnkgc2VnbWVudHNcbiIKK21zZ3N0ciAiIC1tLCAtLXNobWVtcyAgICAgIOWFseeUqOiomOaGtumrlOizh+aWmeautVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY2IHN5cy11dGlscy9sc2lwYy5jOjI4NQorIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVldWVzICAgICAgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlcyAgICAgIOioiuaBr+S9h+WIl1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY3IHN5cy11dGlscy9sc2lwYy5jOjI4NgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlcyAgc2VtYXBob3Jlc1xuIgorbXNnc3RyICIgLXMsIC0tc2VtYXBob3JlcyAg6Jmf6KqMXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjgKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgIGFsbCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgIOaJgOaciSAo6aCQ6KitKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcxCisjLCBmdXp6eQorbXNnaWQgIk91dHB1dCBvcHRpb25zOlxuIgorbXNnc3RyICLovLjlh7rmoLzlvI/vvJpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MgorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICDpoa/npLrpmYTliqDjgIHljbjpm6Llkozorormm7TmrKFcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgc2hvdyBQSURzIG9mIGNyZWF0b3IgYW5kIGxhc3Qgb3BlcmF0b3JcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgIOmhr+ekuuW7uueri+iAheWSjOacgOW+jOS4gOethuioiOeulyBQSURzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzQKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiIC1jLCAtLWNyZWF0b3IgICAgIOmhr+ekuuW7uueri+iAheWSjOaTgeacieiAhVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc1CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saW1pdHMgICAgICBzaG93IHJlc291cmNlIGxpbWl0c1xuIgorbXNnc3RyICIgLWwsIC0tbGltaXRzICAgICAg6aGv56S66LOH5rqQ6ZmQ5bqmXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXN1bW1hcnkgICAgIHNob3cgc3RhdHVzIHN1bW1hcnlcbiIKK21zZ3N0ciAiIC11LCAtLXN1bW1hcnkgICAgIOmhr+ekuueLgOaFi+amguimgVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1odW1hbiAgICAgICBzaG93IHNpemVzIGluIGh1bWFuLXJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICDkuI3lvJXoqIDovLjlh7pcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3OAorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgc2hvdyBzaXplcyBpbiBieXRlc1xuIgorbXNnc3RyICIgLWwsIC0tbGltaXRzICAgICAg6aGv56S66LOH5rqQ6ZmQ5bqmXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MTY0Cittc2dpZCAid2hlbiB1c2luZyBhbiBJRCwgYSBzaW5nbGUgcmVzb3VyY2UgbXVzdCBiZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzaGFyZWQgbWVtb3J5IGxpbWl0c1xuIgorbXNnc3RyICLmnIDlpKflhbHnlKjoqJjmhrbpq5QgKOWNg+S9jeWFg+e1hCkgPSAlbGx1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g5YWx55So6KiY5oa26auU6ZmQ5bqmIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIHNlZ21lbnRzID0gJWp1XG4iCittc2dzdHIgIuacgOWkp+izh+aWmeauteaVuOmHjyA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwOQorIywgZnV6enkKK21zZ2lkICJtYXggc2VnIHNpemUiCittc2dzdHIgIuacgOWkp+aqlOahiOWkp+WwjyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTEKKyMsIGZ1enp5Cittc2dpZCAibWF4IHRvdGFsIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgIuacgOWkp+WFseeUqOiomOaGtumrlCAo5Y2D5L2N5YWD57WEKSA9ICVsbHVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTQKKyMsIGZ1enp5Cittc2dpZCAibWluIHNlZyBzaXplIgorbXNnc3RyICLmnIDlpKfluLjpp5DoqK3lrprlpKflsI8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjI2CisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeVxuIgorbXNnc3RyICLlhafmoLjmnKrntYTphY3mlK/mj7TlhbHnlKjoqJjmhrbpq5RcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDlhbHnlKjoqJjmhrbpq5Tni4DmhYsgLS0tLS0tLS1cbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoaXMgb3V0cHV0IGZvcm1hdCBpcyBtYWludGFpbmVkIGZvciBiYWNrd2FyZAorIy4gY29tcGF0aWJpbGl0eSBhcyBpcGNzIGlzIHVzZWQgaW4gc2NyaXB0cy4gRm9yIGNvbnNpc3RlbmN5CisjLiB3aXRoIHRoZSByZXN0LCB0aGUgdHJhbnNsYXRlZCBmb3JtIGNhbiBmb2xsb3cgdGhpcyBtb2RlbDoKKyMuICoKKyMuICJzZWdtZW50cyBhbGxvY2F0ZWQgPSAlZFxuIgorIy4gInBhZ2VzIGFsbG9jYXRlZCA9ICVsZFxuIgorIy4gInBhZ2VzIHJlc2lkZW50ID0gJWxkXG4iCisjLiAicGFnZXMgc3dhcHBlZCA9ICVsZFxuIgorIy4gInN3YXAgcGVyZm9ybWFuY2UgPSAlbGQgYXR0ZW1wdHMsICVsZCBzdWNjZXNzZXNcbiIKKyMuCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorInNlZ21lbnRzIGFsbG9jYXRlZCAlZFxuIgorInBhZ2VzIGFsbG9jYXRlZCAlbGRcbiIKKyJwYWdlcyByZXNpZGVudCAgJWxkXG4iCisicGFnZXMgc3dhcHBlZCAgICVsZFxuIgorIlN3YXAgcGVyZm9ybWFuY2U6ICVsZCBhdHRlbXB0c1x0ICVsZCBzdWNjZXNzZXNcbiIKK21zZ3N0ciAiIgorIuizh+aWmeautemFjee9riAlZFxuIgorIumggemdoumFjee9riAlbGRcbiIKKyLpoIHpnaLluLjpp5AgICVsZFxuIgorIumggemdouS6pOaPmyAgICVsZFxuIgorIuS6pOaPm+aViOiDve+8miVsZCDoqablnJZcdCAlbGQg5oiQ5YqfXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnQgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDlhbHnlKjoqJjmhrbpq5Tos4fmlpnmrrXlu7rnq4vogIUv5pOB5pyJ6ICFIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjc0CisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgInNobWlkIgorbXNnc3RyICJzaG1pZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzozODYKKyM6IHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NDg5IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAicGVybXMiCittc2dzdHIgInBlcm1zIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2MSBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgImN1aWQiCittc2dzdHIgImN1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjYxIHN5cy11dGlscy9pcGNzLmM6Mzg2IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiY2dpZCIKK21zZ3N0ciAiY2dpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJ1aWQiCittc2dzdHIgInVpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjEgc3lzLXV0aWxzL2lwY3MuYzozODYgc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICJnaWQiCittc2dzdHIgImdpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQXR0YWNoL0RldGFjaC9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIOWFseeUqOiomOaGtumrlOmZhOWKoC/ljbjpm6Iv6K6K5pu0IOasoeaVuCAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI3NCBzeXMtdXRpbHMvaXBjcy5jOjI4MAorIzogc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0MDEgc3lzLXV0aWxzL2lwY3MuYzo0OTUKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxIHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAib3duZXIiCittc2dzdHIgIuaTgeacieiAhSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcKK21zZ2lkICJhdHRhY2hlZCIKK21zZ3N0ciAi5bey6ZmE5YqgIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NworbXNnaWQgImRldGFjaGVkIgorbXNnc3RyICLlt7Lljbjpm6IiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY4Cittc2dpZCAiY2hhbmdlZCIKK21zZ3N0ciAi5bey6K6K5pu0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBDcmVhdG9yL0xhc3Qtb3AgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g5YWx55So6KiY5oa26auU5bu656uL6ICFL+acgOW+jOaTjeS9nCBQSURzIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc0Cittc2dpZCAiY3BpZCIKK21zZ3N0ciAiY3BpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzQKK21zZ2lkICJscGlkIgorbXNnc3RyICJscGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g5YWx55So6KiY5oa26auU6LOH5paZ5q61IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwIHN5cy11dGlscy9pcGNzLmM6NDAxIHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAia2V5IgorbXNnc3RyICLpjbXlgLwiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgxIHN5cy11dGlscy9pcGNzLmM6NTA4Cittc2dpZCAic2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MSBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Nzggc3lzLXV0aWxzL3BybGltaXQuYzo3OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyIHN5cy11dGlscy9wcmxpbWl0LmM6ODYgc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgImJ5dGVzIgorbXNnc3RyICLkvY3lhYPntYQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgyCittc2dpZCAibmF0dGNoIgorbXNnc3RyICLkvb/nlKjmlbgiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgyCittc2dpZCAic3RhdHVzIgorbXNnc3RyICLni4DmhYsiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzA2IHN5cy11dGlscy9pcGNzLmM6MzA4IHN5cy11dGlscy9pcGNzLmM6MzEwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQyNCBzeXMtdXRpbHMvaXBjcy5jOjQyNiBzeXMtdXRpbHMvaXBjcy5jOjUzMgorIzogc3lzLXV0aWxzL2lwY3MuYzo1MzQgc3lzLXV0aWxzL2lwY3MuYzo1MzYgc3lzLXV0aWxzL2lwY3MuYzo1OTAKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkyIHN5cy11dGlscy9pcGNzLmM6NjIxIHN5cy11dGlscy9pcGNzLmM6NjIzCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyNSBzeXMtdXRpbHMvaXBjcy5jOjY0OQorbXNnaWQgIk5vdCBzZXQiCittc2dzdHIgIuacquioreWumiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMzYgc3lzLXV0aWxzL2xzaXBjLmM6OTc2IHN5cy11dGlscy9sc2lwYy5jOjk4MgorbXNnaWQgImRlc3QiCittc2dzdHIgIuebruaomSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMzcgc3lzLXV0aWxzL2xzaXBjLmM6OTc3IHN5cy11dGlscy9sc2lwYy5jOjk5MAorbXNnaWQgImxvY2tlZCIKK21zZ3N0ciAi5bey6Y6W5a6aIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNlbWFwaG9yZSBsaW1pdHNcbiIKK21zZ3N0ciAi6Kit5a6aICVzIOizh+a6kOmZkOWItuaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIOiZn+iqjOmZkOW6piAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MQorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIGFycmF5cyA9ICVkXG4iCittc2dzdHIgIuacgOWkp+mZo+WIl+aVuOmHjyA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHBlciBhcnJheSA9ICVkXG4iCittc2dzdHIgIuWQhOmZo+WIl+acgOWkp+iZn+iqjCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAi57O757Wx5pW06auU5pyA5aSn6Jmf6KqMID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG9wcyBwZXIgc2Vtb3AgY2FsbCA9ICVkXG4iCittc2dzdHIgIuWQhCBzZW1vcCDlkbzlj6vmnIDlpKcgb3BzID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbWFwaG9yZSBtYXggdmFsdWUgPSAldVxuIgorbXNnc3RyICLomZ/oqozmnIDlpKflgLwgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAi5YWn5qC45pyq57WE6YWN55So5pa86Jmf6KqMXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDomZ/oqozni4DmhYsgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBhcnJheXMgPSAlZFxuIgorbXNnc3RyICLlt7LnlKjpmaPliJcgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3OQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgc2VtYXBob3JlcyA9ICVkXG4iCittc2dzdHIgIuW3sumFjee9ruiZn+iqjCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g6Jmf6KqM6Zmj5YiX5bu656uL6ICFL+aTgeacieiAhSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NiBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQwMQorbXNnaWQgInNlbWlkIgorbXNnc3RyICJzZW1pZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBPcGVyYXRpb24vQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDomZ/oqozkvZzmpa0v6K6K5pu0IOasoeaVuCAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorbXNnaWQgImxhc3Qtb3AiCittc2dzdHIgIuacgOW+jOaTjeS9nOiAhSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIKK21zZ2lkICJsYXN0LWNoYW5nZWQiCittc2dzdHIgIuacgOW+jOiuiuabtOiAhSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIOiZn+iqjOmZo+WIlyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwMQorbXNnaWQgIm5zZW1zIgorbXNnc3RyICJuc2VtcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBtZXNzYWdlIGxpbWl0c1xuIgorbXNnc3RyICLno4HpoK3mlbjph48iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIOioiuaBr+mZkOW6piAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggcXVldWVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAi57O757Wx5pW06auU5pyA5aSn5L2H5YiXID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjUKKyMsIGZ1enp5Cittc2dpZCAibWF4IHNpemUgb2YgbWVzc2FnZSIKK21zZ3N0ciAi6KiK5oGv5pyA5aSn5bC65a+4ICjkvY3lhYPntYQpPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY3CisjLCBmdXp6eQorbXNnaWQgImRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUiCittc2dzdHIgIumgkOioreS9h+WIl+acgOWkp+WwuuWvuCAo5L2N5YWD57WEKT0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzXG4iCittc2dzdHIgIuWFp+aguOacque1hOmFjeeUqOaWvOioiuaBr+S9h+WIl1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDoqIrmga/ni4DmhYsgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHF1ZXVlcyA9ICVkXG4iCittc2dzdHIgIuW3sumFjee9ruS9h+WIlyA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgaGVhZGVycyA9ICVkXG4iCittc2dzdHIgIuW3sueUqOaomemgrSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgyCisjLCBmdXp6eQorbXNnaWQgInVzZWQgc3BhY2UiCittc2dzdHIgIuW3sueUqOepuumWkyA9ICVkIOS9jeWFg+e1hFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MworIywgZnV6enkKK21zZ2lkICIgYnl0ZXNcbiIKK21zZ3N0ciAi5L2N5YWD57WEIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDoqIrmga/kvYfliJflu7rnq4vogIUv5pOB5pyJ6ICFIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg5IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTAxCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgIm1zcWlkIgorbXNnc3RyICJtc3FpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFNlbmQvUmVjdi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIOioiuaBr+S9h+WIl+eZvOmAgS/mjqXmlLYv6K6K5pu0IOasoeaVuCAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgInNlbmQiCittc2dzdHIgIueZvOmAgSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJyZWN2IgorbXNnc3RyICLmjqXmlLYiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiY2hhbmdlIgorbXNnc3RyICLorormm7QiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDoqIrmga/kvYfliJcgUElEcyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImxzcGlkIgorbXNnc3RyICJsc3BpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJscnBpZCIKK21zZ3N0ciAibHJwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g6KiK5oGv5L2H5YiXIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA4Cittc2dpZCAidXNlZC1ieXRlcyIKK21zZ3N0ciAi5bey55So5L2N5YWD57WEIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwOQorbXNnaWQgIm1lc3NhZ2VzIgorbXNnc3RyICLoqIrmga8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTc0IHN5cy11dGlscy9pcGNzLmM6NjA0IHN5cy11dGlscy9pcGNzLmM6NjM3CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo1MzYgc3lzLXV0aWxzL2xzaXBjLmM6NzIyIHN5cy11dGlscy9sc2lwYy5jOjg3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWQgJWQgbm90IGZvdW5kIgorbXNnc3RyICIlc++8muaJvuS4jeWIsCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZCBtZW1vcnkgU2VnbWVudCBzaG1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisi5YWx55So6KiY5oa26auU6LOH5paZ5q61IHNobWlkID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCittc2dzdHIgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvXHRhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgIm1vZGU9JSNvXHRhY2Nlc3NfcGVybXM9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg0Cittc2dpZCAic2l6ZT0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODQKKyMsIGZ1enp5Cittc2dpZCAiYnl0ZXM9IgorbXNnc3RyICLkvY3lhYPntYQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJscGlkPSV1XHRjcGlkPSV1XHRuYXR0Y2g9JWpkXG4iCittc2dzdHIgIuS9jeWFg+e1hD0lbHVcdGxwaWQ9JWRcdGNwaWQ9JWRcdG5hdHRjaD0lbGRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXR0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiYXR0X3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiZGV0X3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTMgc3lzLXV0aWxzL2lwY3MuYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UgUXVldWUgbXNxaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIuioiuaBr+S9h+WIlyBtc3FpZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG1vZGU9JSNvXG4iCittc2dzdHIgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHTmqKHlvI89JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjEzCittc2dpZCAiY3NpemU9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjEzCisjLCBmdXp6eQorbXNnaWQgImNieXRlcz0iCittc2dzdHIgIuS9jeWFg+e1hCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKK21zZ2lkICJxc2l6ZT0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKKyMsIGZ1enp5Cittc2dpZCAicWJ5dGVzPSIKK21zZ3N0ciAi5L2N5YWD57WEIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAic2VuZF90aW1lID0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJyY3ZfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJyY3ZfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIEFycmF5IHNlbWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyLomZ/oqozpmaPliJcgc2VtaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0IGdpZD0ldVx0IGN1aWQ9JXVcdCBjZ2lkPSV1XG4iCittc2dzdHIgInVpZD0ldVx0IGdpZD0ldVx0IGN1aWQ9JXVcdCBjZ2lkPSV1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvLCBhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgIuaooeW8jz0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5zZW1zID0gJWp1XG4iCittc2dzdHIgIm5zZW1zID0gJWxkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIm90aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAib3RpbWUgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJjdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgImN0aW1lID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJzZW1udW0iCittc2dzdHIgInNlbW51bSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKK21zZ2lkICJ2YWx1ZSIKK21zZ3N0ciAi5YC8IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgIm5jb3VudCIKK21zZ3N0ciAibmNvdW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInpjb3VudCIKK21zZ3N0ciAiemNvdW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworbXNnaWQgInBpZCIKK21zZ3N0ciAicGlkIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzAgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM0IHN5cy11dGlscy9pcGN1dGlscy5jOjIzOAorIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQiCittc2dzdHIgIiVzIOWkseaVl+OAglxuIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIChieXRlcykgPSAiCittc2dzdHIgIiV6ZCDkvY3lhYPntYQgWyIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoa2J5dGVzKSA9ICIKK21zZ3N0ciAiJXpkIOS9jeWFg+e1hCBbIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxODAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBpZmxhZyIKK21zZ3N0ciAi54Sh5pWI55qEIGlmbGFnIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGxkaXNjPiA8ZGV2aWNlPlxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gPGxkaXNjPjzoo53nva4+XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE5OQorbXNnaWQgIkF0dGFjaCBhIGxpbmUgZGlzY2lwbGluZSB0byBhIHNlcmlhbCBsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMgorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBtZXNzYWdlcyB0byBzdGRlcnJcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIOWIl+WNsOips+e0sOeahOioiuaBr+WIsOaomea6luWLmOiqpFxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIHNldCBzZXJpYWwgbGluZSBzcGVlZFxuIgorbXNnc3RyICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAg6Kit5a6a5bqP5YiX57ea6Lev6YCf5bqmXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNAorbXNnaWQgIiAtYywgLS1pbnRyby1jb21tYW5kIDxzdHJpbmc+IGludHJvIHNlbnQgYmVmb3JlIGxkYXR0YWNoXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA1Cittc2dpZCAiIC1wLCAtLXBhdXNlIDxzZWNvbmRzPiAgIHBhdXNlIGJldHdlZW4gaW50cm8gYW5kIGxkYXR0YWNoXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA2CisjLCBmdXp6eQorbXNnaWQgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gNyBiaXRzXG4iCittc2dzdHIgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICDoqK3lrprlrZflhYPlpKflsI/liLAgNyDkvY3lhYNcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA3CisjLCBmdXp6eQorbXNnaWQgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gOCBiaXRzXG4iCittc2dzdHIgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICDoqK3lrprlrZflhYPlpKflsI/liLAgOCDkvY3lhYNcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA4CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICBzZXQgcGFyaXR5IHRvIG5vbmVcbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIOioreWumuWQjOS9jeWIsOeEoVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDkKKyMsIGZ1enp5Cittc2dpZCAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIHNldCBwYXJpdHkgdG8gZXZlblxuIgorbXNnc3RyICIgLWUsIC0tZXZlbnBhcml0eSAgICAgICAg6Kit5a6a5ZCM5L2N5Yiw55Sa6IezXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAgc2V0IHBhcml0eSB0byBvZGRcbiIKK21zZ3N0ciAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIOioreWumuWQjOS9jeWIsOWlh+aVuFxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTEKKyMsIGZ1enp5Cittc2dpZCAiIC0xLCAtLW9uZXN0b3BiaXQgICAgICAgIHNldCBzdG9wIGJpdHMgdG8gb25lXG4iCittc2dzdHIgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICDoqK3lrprlgZzmraLkvY3lhYPliLDkuIDlgItcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEyCisjLCBmdXp6eQorbXNnaWQgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBzZXQgc3RvcCBiaXRzIHRvIHR3b1xuIgorbXNnc3RyICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAg6Kit5a6a5YGc5q2i5L2N5YWD5Yiw5YWpXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMworIywgZnV6enkKK21zZ2lkICIgLWksIC0taWZsYWcgWy1dPGlmbGFnPiAgc2V0IGlucHV0IG1vZGUgZmxhZ1xuIgorbXNnc3RyICIgLWksIC0taWZsYWcgWy1dPGlmbGFnPiAg6Kit5a6a6Ly45YWl5qih5byP5peX5qiZXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxOQorbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8bGRpc2M+IG5hbWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisi5bey55+lIDxsZGlzYz4g5ZCN56ix77yaXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIyMworbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8aWZsYWc+IG5hbWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisi5bey55+lIDxpZmxhZz4g5ZCN56ix77yaXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNwZWVkIGFyZ3VtZW50IgorbXNnc3RyICLnhKHmlYjnmoTpgJ/luqblvJXmlbgiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBhdXNlIGFyZ3VtZW50IgorbXNnc3RyICLnhKHmlYjnmoTliY3nq6/lvJXmlbgiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM1OQorbXNnaWQgImludmFsaWQgb3B0aW9uIgorbXNnc3RyICLnhKHmlYjnmoTpgbjpoIUiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM3MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGxpbmUgZGlzY2lwbGluZSBhcmd1bWVudCIKK21zZ3N0ciAi54Sh5pWI55qE5YiX6KaP5b6L5byV5pW4IgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgc2VyaWFsIGxpbmUiCittc2dzdHIgIiVzIOS4pumdnuW6j+WIl+e3mui3ryIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzk3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgIueEoeazleWPluW+l+e1guerr+apn+WxrOaAp+eUqOaWvCAlcyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWVkICVkIHVuc3VwcG9ydGVkIgorbXNnc3RyICLpgJ/luqYgJWQg5LiN5Y+X5pSv5o+0IgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAi54Sh5rOV6Kit5a6a57WC56uv5qmf5bGs5oCn55So5pa8ICVzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSBpbnRybyBjb21tYW5kIHRvICVzIgorbXNnc3RyICLnhKHms5Xlr6vlhaUgJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ2OQorbXNnaWQgImNhbm5vdCBzZXQgbGluZSBkaXNjaXBsaW5lIgorbXNnc3RyICLnhKHms5XoqK3lrprnt5rot6/opo/lvosiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ3OQorbXNnaWQgImNhbm5vdCBkYWVtb25pemUiCittc2dzdHIgIueEoeazleWuiOitt+eoi+W8j+WMliIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2OAorbXNnaWQgImF1dG9jbGVhciBmbGFnIHNldCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY5CisjLCBmdXp6eQorbXNnaWQgImRldmljZSBiYWNraW5nIGZpbGUiCittc2dzdHIgIuijnee9ruitmOWIpeeivCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MAorIywgZnV6enkKK21zZ2lkICJiYWNraW5nIGZpbGUgaW5vZGUgbnVtYmVyIgorbXNnc3RyICLpgo/ovK/nmoQgTlVNQSDnr4Dpu57mlbjlrZciCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiYmFja2luZyBmaWxlIG1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgIuS4u+imgeeahO+8muasoee0muijnee9ruaVuOWtlyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MgorIywgZnV6enkKK21zZ2lkICJsb29wIGRldmljZSBuYW1lIgorbXNnc3RyICLoo53nva7lkI3nqLEiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzMKK21zZ2lkICJvZmZzZXQgZnJvbSB0aGUgYmVnaW5uaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzQKKyMsIGZ1enp5Cittc2dpZCAicGFydHNjYW4gZmxhZyBzZXQiCittc2dzdHIgIuWIhuWJsuaXl+aomSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NgorIywgZnV6enkKK21zZ2lkICJzaXplIGxpbWl0IG9mIHRoZSBmaWxlIGluIGJ5dGVzIgorbXNnc3RyICLmj5Dlj5blsI3pvYrlgY/np7vlnKjkuK3kvY3lhYPntYQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAibG9vcCBkZXZpY2UgbWFqb3I6bWlub3IgbnVtYmVyIgorbXNnc3RyICLkuLvopoHnmoTvvJrmrKHntJroo53nva7mlbjlrZciCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzgKK21zZ2lkICJhY2Nlc3MgYmFja2luZyBmaWxlIHdpdGggZGlyZWN0LWlvIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM1IHN5cy11dGlscy9sb3NldHVwLmM6MTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsIG9mZnNldCAlanUiCittc2dzdHIgIu+8jOWBj+enuyAlanUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM4IHN5cy11dGlscy9sb3NldHVwLmM6MTUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsIHNpemVsaW1pdCAlanUiCittc2dzdHIgIu+8jHNpemVsaW1pdCAlanUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsIGVuY3J5cHRpb24gJXMgKHR5cGUgJXUpIgorbXNnc3RyICLvvIzliqDlr4YgJXMgKOWei+aFiyAldSkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZGV0YWNoIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJrljbjpm6LlpLHmlZciCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzI5IHN5cy11dGlscy9sc2NwdS5jOjE3MzUgc3lzLXV0aWxzL3BybGltaXQuYzoyMjkKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxNzYgc3lzLXV0aWxzL3dkY3RsLmM6MjE1IHN5cy11dGlscy96cmFtY3RsLmM6NDA1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBsaW5lIgorbXNnc3RyICLliJ3lp4vljJbovLjlh7rooajmoLzmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIFs8bG9vcGRldj5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGxvb3BkZXY+IDxmaWxlPlxuIgorbXNnc3RyICIiCisiICUxJHMgW+mBuOmghV0gWzxsb29wZGV2Pl1cbiIKKyIgJTEkcyBb6YG46aCFXSAtZnw8bG9vcGRldj485qqU5qGIPlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM4NgorbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCBsb29wIGRldmljZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozODkKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAg5p+l6Kmi5omA5pyJ5Y6f5aeL6KOd572uXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkwCittc2dpZCAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4uLi4gICAgIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTEKKyMsIGZ1enp5Cittc2dpZCAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIGRldGFjaCBhbGwgdXNlZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICDmn6XoqaLmiYDmnInljp/lp4voo53nva5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTIKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICDpgJnlgIvlsI/nlKjms5XmjIflsI5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTMKK21zZ2lkICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5NAorbXNnaWQgIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5NQorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICAgICAgYXZvaWQgcG9zc2libGUgY29uZmxpY3QgYmV0d2VlbiBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICDmn6XoqaLmiYDmnInljp/lp4voo53nva5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTkKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgICAgICAgICAgIHN0YXJ0IGF0IG9mZnNldCA8bnVtPiBpbnRvIGZpbGVcbiIKK21zZ3N0ciAiIC10LCAtLXNldC1mbHVzaCA8bnVtPiAgICAgICAgICAgICAg6Kit5a6a5riF55CG6YC+5pmC5Yiw5YC8XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1zaXplbGltaXQgPG51bT4gICAgICAgICBkZXZpY2UgaXMgbGltaXRlZCB0byA8bnVtPiBieXRlcyBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgLXQsIC0tc2V0LWZsdXNoIDxudW0+ICAgICAgICAgICAgICDoqK3lrprmuIXnkIbpgL7mmYLliLDlgLxcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDEKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICDoqK3lrprlkIzkvY3liLDnhKFcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgICAgIHNldCB1cCBhIHJlYWQtb25seSBsb29wIGRldmljZVxuIgorbXNnc3RyICIgLXMgIC0tc2hhcmVkICAgICAgICAgICAgIOaPkOWPluWFseS6q+eahOmOluWumlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMworbXNnaWQgIiAgICAgLS1kaXJlY3QtaW9bPTxvbnxvZmY+XSAgICBvcGVuIGJhY2tpbmcgZmlsZSB3aXRoIE9fRElSRUNUXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDQKK21zZ2lkICIgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICAgcHJpbnQgZGV2aWNlIG5hbWUgYWZ0ZXIgc2V0dXAgKHdpdGggLWYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICDliJfljbDoqbPntLDnmoTos4fmlplcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDkKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGxpc3QgaW5mbyBhYm91dCBhbGwgb3Igc3BlY2lmaWVkIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICDmuKzoqabnlKjmlrwgZ2V0b3B0ICgxKSDniYjmnKxcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTAKK21zZ2lkICIgLU8sIC0tb3V0cHV0IDxjb2xzPiAgICAgICAgICAgc3BlY2lmeSBjb2x1bW5zIHRvIG91dHB1dCBmb3IgLS1saXN0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLWxpc3Qgb3V0cHV0XG4iCittc2dzdHIgIiAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIOS4jeW8leiogOi8uOWHulxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgdXNlIHJhdyAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIpcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTMKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgIHVzZSBKU09OIC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioilxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOQorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIC0tbGlzdCBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisiXG4iCisi5Y+v55So5qyE5L2N77yaXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBpcyBzbWFsbGVyIHRoYW4gNTEyIGJ5dGVzOyB0aGUgbG9vcCBkZXZpY2UgbWF5IGJlIHVzZWxlc3Mgb3IgaW52aXNpYmxlIGZvciBzeXN0ZW0gdG9vbHMuIgorbXNnc3RyICIlc++8muitpuWRiu+8muaqlOahiOWwj+aWvCA1MTIg5L2N5YWD57WE77yM6L+05ZyI6KOd572u5Lmf6Kix5piv54Sh55So55qE5oiW6Zqx5b2i55qE55So5pa857O757Wx5bel5YW344CCIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IFdhcm5pbmc6IGZpbGUgZG9lcyBub3QgZml0IGludG8gYSA1MTItYnl0ZSBzZWN0b3I7IHRoZSBlbmQgb2YgdGhlIGZpbGUgd2lsbCBiZSBpZ25vcmVkLiIKK21zZ3N0ciAiJXPvvJrorablkYrvvJrmqpTmoYjkuI3nrKblkIjpgLLlhaUgNTEyLWJ5dGUg56OB5Y2A57WQ5p2f55qE5qqU5qGI5bCH6KKr5b+955Wl44CCIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ2NCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUxNiBzeXMtdXRpbHMvbW91bnQuYzo0NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzIOS4jeaYryBscCDoo53nva4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyByZWFkLW9ubHkgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBlbmNyeXB0ZWQgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlLXVzZSBsb29wIGRldmljZSIKK21zZ3N0ciAiJXPvvJrnhKHms5XoqK3lrprov7TlnIjoo53nva4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDk0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbnNwZWN0IGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAiJXPvvJrnhKHms5XoqK3lrprov7TlnIjoo53nva4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNoZWNrIGZvciBjb25mbGljdGluZyBsb29wIGRldmljZXMiCittc2dzdHIgIiVz77ya54Sh5rOV6Kit5a6a6L+05ZyI6KOd572uIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUyOSBzeXMtdXRpbHMvbG9zZXR1cC5jOjgyNgorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZmluZCBhbiB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgIuaJvuS4jeWIsOacquS9v+eUqOeahOijnee9riIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXPvvJrnhKHms5Xkvb/nlKjkuIrkuIDmraXmqpTmoYgiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjMxIHN5cy11dGlscy9sb3NldHVwLmM6NjQxIHN5cy11dGlscy9sb3NldHVwLmM6NzUzCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgZGV2aWNlIgorbXNnc3RyICIlc++8mueEoeazleS9v+eUqOijnee9riIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NjQKKyMsIGZ1enp5Cittc2dpZCAibm8gbG9vcCBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICLmspLmnInov7TlnIjoo53nva7mjIflrprnmoQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzcyCisjLCBmdXp6eQorbXNnaWQgIm5vIGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICLmspLmnInmqpTmoYjmjIflrprnmoQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aGUgb3B0aW9ucyAlcyBhcmUgYWxsb3dlZCBkdXJpbmcgbG9vcCBkZXZpY2Ugc2V0dXAgb25seSIKK21zZ3N0ciAi6YG46aCFICVzIOiiq+WFgeioseWIsOi/tOWciOijnee9ruioreWumuWPquaciSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3ODQKKyMsIGZ1enp5Cittc2dpZCAidGhlIG9wdGlvbiAtLW9mZnNldCBpcyBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIumBuOmghSAtLW9mZnNldCDmnKrooqvlhYHoqLHlnKjkuK3pgJnlgIvoqp7looPjgIIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGNhcGFjaXR5IGZhaWxlZCIKK21zZ3N0ciAiJXPvvJroqK3lrprlrrnph4/lpLHmlZciCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGRpcmVjdCBpbyBmYWlsZWQiCittc2dzdHIgIiVz77ya6K6K5pu055uu6YyE5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMDgKK21zZ2lkICJub25lIgorbXNnc3RyICLnhKEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjEwOQorbXNnaWQgInBhcmEiCittc2dzdHIgIumDqOWIhiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTEwCittc2dpZCAiZnVsbCIKK21zZ3N0ciAi5YWo6YOoIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMTEKK21zZ2lkICJjb250YWluZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTczCisjLCBmdXp6eQorbXNnaWQgImhvcml6b250YWwiCittc2dzdHIgIuawtOW5syIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0CisjLCBmdXp6eQorbXNnaWQgInZlcnRpY2FsIgorbXNnc3RyICLlnoLnm7QiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0NgorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIENQVSBudW1iZXIiCittc2dzdHIgIumCj+i8r+eahCBDUFUg5pW45a2XIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDcKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBjb3JlIG51bWJlciIKK21zZ3N0ciAi6YKP6Lyv55qE5qC45b+D5pW45a2XIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNDgKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBzb2NrZXQgbnVtYmVyIgorbXNnc3RyICLpgo/ovK/nmoTpgJroqIrnq6/mlbjlrZciCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM0OQorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIE5VTUEgbm9kZSBudW1iZXIiCittc2dzdHIgIumCj+i8r+eahCBOVU1BIOevgOm7nuaVuOWtlyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUwCisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgYm9vayBudW1iZXIiCittc2dzdHIgIumCj+i8r+eahOabuOexjeaVuOWtlyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUxCisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgZHJhd2VyIG51bWJlciIKK21zZ3N0ciAi6YKP6Lyv55qE5qC45b+D5pW45a2XIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTIKKyMsIGZ1enp5Cittc2dpZCAic2hvd3MgaG93IGNhY2hlcyBhcmUgc2hhcmVkIGJldHdlZW4gQ1BVcyIKK21zZ3N0ciAi6aGv56S65aaC5L2VIGNhY2hlcyDooqvlhbHkuqvku4vmlrwgQ1BVcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzUzCisjLCBmdXp6eQorbXNnaWQgIkNQVSBkaXNwYXRjaGluZyBtb2RlIG9uIHZpcnR1YWwgaGFyZHdhcmUiCittc2dzdHIgIkNQVSDmtL7pgIHmqKHlvI/mlrzomZvmk6znoazpq5QiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM1NAorIywgZnV6enkKK21zZ2lkICJwaHlzaWNhbCBhZGRyZXNzIG9mIGEgQ1BVIgorbXNnc3RyICLlr6bpq5TkvY3lnYDnmoQgQ1BVIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTUKKyMsIGZ1enp5Cittc2dpZCAic2hvd3MgaWYgdGhlIGh5cGVydmlzb3IgaGFzIGFsbG9jYXRlZCB0aGUgQ1BVIgorbXNnc3RyICLpoa/npLrlpoLmnpwgaHlwZXJ2aXNvciDlt7LphY3nva4gQ1BVIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozNTYKKyMsIGZ1enp5Cittc2dpZCAic2hvd3MgaWYgTGludXggY3VycmVudGx5IG1ha2VzIHVzZSBvZiB0aGUgQ1BVIgorbXNnc3RyICLpoa/npLrlpoLmnpwgTGludXgg55uu5YmN5Yip55SoIENQVSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU3Cittc2dpZCAic2hvd3MgdGhlIG1heGltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MzU4Cittc2dpZCAic2hvd3MgdGhlIG1pbmltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NTUwCittc2dpZCAiZXJyb3I6IHVuYW1lIGZhaWxlZCIKK21zZ3N0ciAi6Yyv6Kqk77yadW5hbWUg5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo2MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZXRlcm1pbmUgbnVtYmVyIG9mIENQVXM6ICVzIgorbXNnc3RyICLliZbmnpDliJfomZ/nmoTmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjg5MQorIywgZnV6enkKK21zZ2lkICJlcnJvcjogY2FuIG5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgIueEoeazleioreWumuS/oeiZn+iZleeQhueoi+W8jyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6ODk2CisjLCBmdXp6eQorbXNnaWQgImVycm9yOiBjYW4gbm90IHJlc3RvcmUgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgIueEoeazleioreWumuS/oeiZn+iZleeQhueoi+W8jyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBmcm9tOiAlcyIKK21zZ3N0ciAi6K6A5Y+W5pmC5aSx5pWX77yaJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MTAKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGV4dHJhY3QgdGhlIG5vZGUgbnVtYmVyIgorbXNnc3RyICIlc++8mueEoeazleaPkOWPluWIhuWJsuWNgOe3qOiZnyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTUzNyBzeXMtdXRpbHMvbHNjcHUuYzoxNTQ3CisjLCBmdXp6eQorbXNnaWQgIlkiCittc2dzdHIgIlkiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1Mzcgc3lzLXV0aWxzL2xzY3B1LmM6MTU0NworIywgZnV6enkKK21zZ2lkICJOIgorbXNnc3RyICJOIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXJcbiIKKyIjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElEXG4iCisiIyBzdGFydGluZyBmcm9tIHplcm8uXG4iCittc2dzdHIgIiIKKyIjIOS4i+WIl+aYryBwYXJzYWJsZSDmoLzlvI/vvIzoqbLpoIXlj6/ku6XooqsgZmVkIOWIsOWFtuS7llxuIgorIiMg56iL5byP44CC5q+P5YCL5LiN5ZCM55qE6aCF55uu5Zyo5Lit5q+P5qyE5pyJ5ZSv5LiA6K2Y5Yil6JmfXG4iCisiIyDplovlp4vlvp7pm7bjgIJcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc4MQorbXNnaWQgIkFyY2hpdGVjdHVyZToiCittc2dzdHIgIuaetuani++8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc5NQorbXNnaWQgIkNQVSBvcC1tb2RlKHMpOiIKK21zZ3N0ciAiQ1BVIOS9nOalreaooeW8j++8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc5OCBzeXMtdXRpbHMvbHNjcHUuYzoxODAwCisjLCBmdXp6eQorbXNnaWQgIkJ5dGUgT3JkZXI6IgorbXNnc3RyICLkvY3lhYPntYTmrKHluo/vvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDIKKyMsIGZ1enp5Cittc2dpZCAiQ1BVKHMpOiIKK21zZ3N0ciAiQ1BVIChzKe+8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwNQorIywgZnV6enkKK21zZ2lkICJPbi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAi57ea5LiKIENQVSAocykg6YGu572p77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA2CisjLCBmdXp6eQorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICLnt5rkuIogQ1BVIChzKSDmuIXllq7vvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjUKKyMsIGZ1enp5Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICLpm6Lnt5ogQ1BVIChzKSDpga7nvanvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjYKKyMsIGZ1enp5Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICLpm6Lnt5ogQ1BVIChzKSDmuIXllq7vvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjIKK21zZ2lkICJUaHJlYWQocykgcGVyIGNvcmU6IgorbXNnc3RyICLmr4/moLjlv4Pln7fooYznt5LmlbjvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjQKK21zZ2lkICJDb3JlKHMpIHBlciBzb2NrZXQ6IgorbXNnc3RyICLmr4/pgJroqIrnq6/moLjlv4PmlbjvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjcKKyMsIGZ1enp5Cittc2dpZCAiU29ja2V0KHMpIHBlciBib29rOiIKK21zZ3N0ciAi6YCa6KiK56uv5ZCE5pu457GN77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODcwCittc2dpZCAiQm9vayhzKSBwZXIgZHJhd2VyOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODcyCittc2dpZCAiRHJhd2VyKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODc0CisjLCBmdXp6eQorbXNnaWQgIkJvb2socyk6IgorbXNnc3RyICLmm7jnsY3vvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzcKKyMsIGZ1enp5Cittc2dpZCAiU29ja2V0KHMpOiIKK21zZ3N0ciAi6YCa6KiK56uv77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgxCittc2dpZCAiTlVNQSBub2RlKHMpOiIKK21zZ3N0ciAiTlVNQSDnr4Dpu57vvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODMKK21zZ2lkICJWZW5kb3IgSUQ6IgorbXNnc3RyICLkvpvmh4nllYborZjliKXomZ/vvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODUKKyMsIGZ1enp5Cittc2dpZCAiTWFjaGluZSB0eXBlOiIKK21zZ3N0ciAi5YiG5Ymy5Y2A57eo6JmfIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg3Cittc2dpZCAiQ1BVIGZhbWlseToiCittc2dzdHIgIkNQVSDlrrbml4/vvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODkKK21zZ2lkICJNb2RlbDoiCittc2dzdHIgIuWei+iZn++8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5MQorIywgZnV6enkKK21zZ2lkICJNb2RlbCBuYW1lOiIKK21zZ3N0ciAi5Z6L6Jmf77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODkzCittc2dpZCAiU3RlcHBpbmc6IgorbXNnc3RyICLoo73nqIvvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4OTUKK21zZ2lkICJDUFUgTUh6OiIKK21zZ3N0ciAiQ1BVIE1Ieu+8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg5NworIywgZnV6enkKK21zZ2lkICJDUFUgZHluYW1pYyBNSHo6IgorbXNnc3RyICJDUFUgTUh677yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODk5CisjLCBmdXp6eQorbXNnaWQgIkNQVSBzdGF0aWMgTUh6OiIKK21zZ3N0ciAiQ1BVIE1Ieu+8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMQorIywgZnV6enkKK21zZ2lkICJDUFUgbWF4IE1IejoiCittc2dzdHIgIkNQVSBNSHrvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDMKKyMsIGZ1enp5Cittc2dpZCAiQ1BVIG1pbiBNSHo6IgorbXNnc3RyICJDUFUgTUh677yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA1CisjLCBmdXp6eQorbXNnaWQgIkJvZ29NSVBTOiIKK21zZ3N0ciAiQm9nb01JUFPvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDggc3lzLXV0aWxzL2xzY3B1LmM6MTkxMAorbXNnaWQgIlZpcnR1YWxpemF0aW9uOiIKK21zZ3N0ciAi6Jmb5pOs77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEzCisjLCBmdXp6eQorbXNnaWQgIkh5cGVydmlzb3I6IgorbXNnc3RyICJIeXBlcnZpc29y77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE1Cittc2dpZCAiSHlwZXJ2aXNvciB2ZW5kb3I6IgorbXNnc3RyICJIeXBlcnZpc29yIOS+m+aHieWVhu+8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxNgorbXNnaWQgIlZpcnR1YWxpemF0aW9uIHR5cGU6IgorbXNnc3RyICLomZvmk6zlnovmhYvvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTkKKyMsIGZ1enp5Cittc2dpZCAiRGlzcGF0Y2hpbmcgbW9kZToiCittc2dzdHIgIua0vumAgeaooeW8j++8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkyNSBzeXMtdXRpbHMvbHNjcHUuYzoxOTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNhY2hlOiIKK21zZ3N0ciAiJXMg5b+r5Y+W77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTUEgbm9kZSVkIENQVShzKToiCittc2dzdHIgIk5VTUEgbm9kZSVkIENQVShzKe+8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0NgorIywgZnV6enkKK21zZ2lkICJGbGFnczoiCittc2dzdHIgIuWxrOaAp+aXl+aomSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0OQorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBzb2NrZXRzOiIKK21zZ3N0ciAi5a+m6auU56OB5p+x5pW46YePIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTUwCisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIGNoaXBzOiIKK21zZ3N0ciAi5a+m6auU56OB5p+x5pW46YePIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTUxCisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIGNvcmVzL2NoaXA6IgorbXNnc3RyICLlr6bpq5Tno4HljYDlpKflsI8iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjMKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBDUFUgYXJjaGl0ZWN0dXJlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjYKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IGJvdGggb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICDliJfljbDmiYDmnInnrKbomZ/vvIzljbPkvb/oqIjmlbjmmK8gMFxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTY3CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBwcmludCBvbmxpbmUgQ1BVcyBvbmx5IChkZWZhdWx0IGZvciAtcClcbiIKK21zZ3N0ciAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAg5YiX5Y2w5Y+q5pyJ6LOH6KiK6Zec5pa85Y+W5qij5q2l6amfXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NjgKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICDoqK3lrprlkIzkvY3liLDnhKFcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2OQorbXNnaWQgIiAtZSwgLS1leHRlbmRlZFs9PGxpc3Q+XSBwcmludCBvdXQgYW4gZXh0ZW5kZWQgcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MAorbXNnaWQgIiAtcCwgLS1wYXJzZVs9PGxpc3Q+XSAgICBwcmludCBvdXQgYSBwYXJzYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcxCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHVzZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3MgorIywgZnV6enkKK21zZ2lkICIgLXgsIC0taGV4ICAgICAgICAgICAgICAgcHJpbnQgaGV4YWRlY2ltYWwgbWFza3MgcmF0aGVyIHRoYW4gbGlzdHMgb2YgQ1BVc1xuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAg5YiX5Y2w6Kmz57Sw55qE6KiK5oGv5Yiw5qiZ5rqW5YuY6KqkXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NzMKKyMsIGZ1enp5Cittc2dpZCAiIC15LCAtLXBoeXNpY2FsICAgICAgICAgIHByaW50IHBoeXNpY2FsIGluc3RlYWQgb2YgbG9naWNhbCBJRHNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgIOafpeipouaJgOacieWOn+Wni+ijnee9rlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogb3B0aW9ucyAtLWFsbCwgLS1vbmxpbmUgYW5kIC0tb2ZmbGluZSBtYXkgb25seSBiZSB1c2VkIHdpdGggb3B0aW9ucyAtLWV4dGVuZGVkIG9yIC0tcGFyc2UuXG4iCittc2dzdHIgIiVz77ya6YG46aCFIC0tYWxs77yMLS1vbmxpbmUg5ZKMIC0tb2ZmbGluZSDkuZ/oqLHmnIPlj6rmnInooqvkvb/nlKjoiIfpgbjpoIUgLS1leHRlbmRlZCDmiJYgLS1wYXJzYWJsZeOAglxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNDkKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2Uga2V5IgorbXNnc3RyICLos4fmupDlkI3nqLEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorIywgZnV6enkKK21zZ2lkICJLZXkiCittc2dzdHIgIumNteWAvCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIElEIgorbXNnc3RyICLos4fmupDlkI3nqLEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorbXNnaWQgIklEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyJ3MgdXNlcm5hbWUgb3IgVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorIywgZnV6enkKK21zZ2lkICJPd25lciIKK21zZ3N0ciAi5pOB5pyJ6ICFIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTIKKyMsIGZ1enp5Cittc2dpZCAiUGVybWlzc2lvbnMiCittc2dzdHIgIuasiumZkOiiq+aLkiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUzCittc2dpZCAiQ3JlYXRvciBVSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU0Cittc2dpZCAiQ3JlYXRvciB1c2VyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NQorbXNnaWQgIkNyZWF0b3IgR0lEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NgorIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGdyb3VwIgorbXNnc3RyICLkuLvopoHnmoQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworIywgZnV6enkKK21zZ2lkICJVc2VyIElEIgorbXNnc3RyICLkvb/nlKjogIXorZjliKXomZ8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworbXNnaWQgIlVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTgKKyMsIGZ1enp5Cittc2dpZCAiVXNlciBuYW1lIgorbXNnc3RyICLkvb/nlKjogIXlkI3nqLEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorbXNnaWQgIkdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorIywgZnV6enkKK21zZ2lkICJHSUQiCittc2dzdHIgIlNHSSByYXciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MAorIywgZnV6enkKK21zZ2lkICJHcm91cCBuYW1lIgorbXNnc3RyICLnvqTntYTlkI3nqLEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorIywgZnV6enkKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIKK21zZ3N0ciAi5aSn5bCP55qE5Lqk5o+b5Y2A5Z+fIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBjaGFuZ2UiCittc2dzdHIgIuacgOW+jOiuiuabtOiAhSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY0CisjLCBmdXp6eQorbXNnaWQgIkJ5dGVzIHVzZWQiCittc2dzdHIgIuS9jeWFg+e1hOWcqOS4reS9v+eUqCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlcyIKK21zZ3N0ciAi56OB6aCt5pW46YePIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiTWVzc2FnZXMiCittc2dzdHIgIuioiuaBryIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2CisjLCBmdXp6eQorbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgc2VudCIKK21zZ3N0ciAi55Wl6YGO56ys5LiA5YiXIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKK21zZ2lkICJNc2cgc2VudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHJlY2VpdmVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIk1zZyByZWNlaXZlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjgKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHNlbmRlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjgKK21zZ2lkICJNc2cgc2VuZGVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgcmVjZWl2ZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiTXNnIHJlY2VpdmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MgorIywgZnV6enkKK21zZ2lkICJTZWdtZW50IHNpemUiCittc2dzdHIgIuWPluW+l+WNgOWhiuWkp+WwjyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBhdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIuacgOWkp+ihjOeoi+aVuOmHjyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCittc2dpZCAiQXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NAorIywgZnV6enkKK21zZ2lkICJTdGF0dXMiCittc2dzdHIgIueLgOaFiyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc1CisjLCBmdXp6eQorbXNnaWQgIkF0dGFjaCB0aW1lIgorbXNnc3RyICLlt7LpmYTliqAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NgorIywgZnV6enkKK21zZ2lkICJEZXRhY2ggdGltZSIKK21zZ3N0ciAi5bey5Y246ZuiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRvciBjb21tYW5kIGxpbmUiCittc2dzdHIgIuaJgOacieaOm+i8iemBuOmghSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgY29tbWFuZCIKK21zZ3N0ciAi54Sh5pWI55qE5ZG95LukIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJQSUQgb2YgdGhlIGNyZWF0b3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiQ3JlYXRvciBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiUElEIG9mIGxhc3QgdXNlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCB1c2VyIFBJRCIKK21zZ3N0ciAi5L2/55So6ICF6K2Y5Yil6JmfIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODIKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgIuejgeWNgOaVuOmHjyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgyCisjLCBmdXp6eQorbXNnaWQgIlNlbWFwaG9yZXMiCittc2dzdHIgIuiZn+iqjOitmOWIpeiZn++8miVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworIywgZnV6enkKK21zZ2lkICJMYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAi5pON5L2cICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NgorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBuYW1lIgorbXNnc3RyICLos4fmupDlkI3nqLEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NgorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSIKK21zZ3N0ciAi6LOH5rqQ5ZCN56ixIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgIuizh+a6kOaPj+i/sCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIkRlc2NyaXB0aW9uIgorbXNnc3RyICLml5fmqJnmj4/ov7AiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIkN1cnJlbnRseSB1c2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIlVzZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIkN1cnJlbnRseSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAi5qqU5qGI57O757Wx5L2/55So55m+5YiG5q+UIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiVXNlIgorbXNnc3RyICLnlKjms5XvvJoiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIlN5c3RlbS13aWRlIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIkxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb2x1bW4gJXMgZG9lcyBub3QgYXBwbHkgdG8gdGhlIHNwZWNpZmllZCBJUEMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg3Cittc2dpZCAiIC1nLCAtLWdsb2JhbCAgICAgIGluZm8gYWJvdXQgc3lzdGVtLXdpZGUgdXNhZ2UgKG1heSBiZSB1c2VkIHdpdGggLW0sIC1xIGFuZCAtcylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODgKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gICAgIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiAtaSwgLS1pZCA8aWQ+ICDliJfljbDntLDnr4Dmlrzos4fmupDorZjliKXnmoTnlLHorZjliKXomZ9cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk0CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIOWIl+WNsOips+e0sOeahOioiuaBr+WIsOaomea6luWLmOiqpFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTUKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgICAgICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiAtYywgLS1jcmVhdG9yICAgICDpoa/npLrlu7rnq4vogIXlkozmk4HmnInogIVcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk3CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgdXNlIHRoZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiKXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5OQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgIGZvcmNlIGxpc3Qgb3V0cHV0IGZvcm1hdCAoZm9yIGV4YW1wbGUgd2l0aCAtLWlkKVxuIgorbXNnc3RyICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICDmspLmnInkuIDoiKzovLjlh7pcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAxCittc2dpZCAiIC1QLCAtLW51bWVyaWMtcGVybXMgICAgICBwcmludCBudW1lcmljIHBlcm1pc3Npb25zIChQRVJNUyBjb2x1bW4pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAzCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICDpoa/npLrpmYTliqDjgIHljbjpm6Llkozorormm7TmrKFcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiR2VuZXJpYyBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisiXG4iCisi5LiA6Iis6YG46aCF77yaXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZC1tZW1vcnkgY29sdW1ucyAoLS1zaG1lbXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisi5YWx55So6KiY5oa26auU6LOH5paZ5q61IHNobWlkID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZS1xdWV1ZSBjb2x1bW5zICgtLXF1ZXVlcyk6XG4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmVzICDomZ/oqoxcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIGNvbHVtbnMgKC0tc2VtYXBob3Jlcyk6XG4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmVzICDomZ/oqoxcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTdW1tYXJ5IGNvbHVtbnMgKC0tZ2xvYmFsKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkVsZW1lbnRzOlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwNQorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlIGlkZW50aWZpZXJzIgorbXNnc3RyICLno4HljYDmlbjph48iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwNgorIywgZnV6enkKK21zZ2lkICJUb3RhbCBudW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAi56OB5Y2A5pW46YePIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MDcKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNlbWFwaG9yZXMgcGVyIHNlbWFwaG9yZSBzZXQuIgorbXNnc3RyICIgLXMsIC0tc2VtYXBob3JlcyAg6Jmf6KqMXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwOAorIywgZnV6enkKK21zZ2lkICJNYXggbnVtYmVyIG9mIG9wZXJhdGlvbnMgcGVyIHNlbW9wKDIpIgorbXNnc3RyICLmnIDlpKfplovllZ/mqpTmoYjmlbjph48iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcwOQorIywgZnV6enkKK21zZ2lkICJTZW1hcGhvcmUgbWF4IHZhbHVlIgorbXNnc3RyICLomZ/oqozmnIDlpKflgLwgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjMKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICLno4HpoK3mlbjph48iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg2NAorIywgZnV6enkKK21zZ2lkICJNYXggc2l6ZSBvZiBtZXNzYWdlIChieXRlcykiCittc2dzdHIgIuioiuaBr+acgOWkp+WwuuWvuCAo5L2N5YWD57WEKT0lZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NjUKKyMsIGZ1enp5Cittc2dpZCAiRGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSAoYnl0ZXMpIgorbXNnc3RyICLpoJDoqK3kvYfliJfmnIDlpKflsLrlr7ggKOS9jeWFg+e1hCk9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTc4IHN5cy11dGlscy9sc2lwYy5jOjk5NworbXNnaWQgImh1Z2V0bGIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTc5IHN5cy11dGlscy9sc2lwYy5jOjEwMDQKKyMsIGZ1enp5Cittc2dpZCAibm9yZXNlcnZlIgorbXNnc3RyICJTdW5PUyDkv53nlZnljYAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjEKKyMsIGZ1enp5Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBzZWdtZW50cyIKK21zZ3N0ciAiIgorIlxuIgorIuWFseeUqOiomOaGtumrlOizh+aWmeautSBzaG1pZCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjIKKyMsIGZ1enp5Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBwYWdlcyIKK21zZ3N0ciAi5YWx55So6KiY5oa26auU6K2Y5Yil6Jmf77yaJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA2MworIywgZnV6enkKK21zZ2lkICJNYXggc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAi6KiK5oGv5pyA5aSn5bC65a+4ICjkvY3lhYPntYQpPSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNjQKKyMsIGZ1enp5Cittc2dpZCAiTWluIHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIuioiuaBr+acgOWkp+WwuuWvuCAo5L2N5YWD57WEKT0lZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMTM1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJUEMgaWRlbnRpZmllciIKK21zZ3N0ciAi5YmW5p6QIHBpZCDmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEyMjkKKyMsIGZ1enp5Cittc2dpZCAiLS1nbG9iYWwgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1jcmVhdG9yLCAtLWlkIGFuZCAtLXRpbWUiCittc2dzdHIgIumBuOmghSAtLXBpZCDlkozlkb3ku6TlvbzmraTkupLmlqUiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAibmFtZXNwYWNlIGlkZW50aWZpZXIgKGlub2RlIG51bWJlcikiCittc2dzdHIgIumCj+i8r+eahCBOVU1BIOevgOm7nuaVuOWtlyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4NAorbXNnaWQgImtpbmQgb2YgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODUKKyMsIGZ1enp5Cittc2dpZCAicGF0aCB0byB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICLni4DmhYvnmoToo53nva4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODYKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICLmnIDlpKfooYznqIvmlbjph48iCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODcKK21zZ2lkICJsb3dlc3QgUElEIGluIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OAorbXNnaWQgIlBQSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5Cittc2dpZCAiY29tbWFuZCBsaW5lIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MAorbXNnaWQgIlVJRCBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTEKK21zZ2lkICJ1c2VybmFtZSBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bmFtZXNwYWNlPl1cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIFvoqIrmga9dXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjE2CisjLCBmdXp6eQorbXNnaWQgIkxpc3Qgc3lzdGVtIG5hbWVzcGFjZXMuXG4iCittc2dzdHIgIueEoeazleioreWumuezu+e1seaZgumQmOOAglxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjYyMworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tdGFzayA8cGlkPiAgICAgICBwcmludCBwcm9jZXNzIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgIOmhr+ekuuW7uueri+iAheWSjOacgOW+jOS4gOethuioiOeulyBQSURzXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6NjI2Cittc2dpZCAiIC10LCAtLXR5cGUgPG5hbWU+ICAgICAgbmFtZXNwYWNlIHR5cGUgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzLCBjZ3JvdXApXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbmFtZXNwYWNlIHR5cGU6ICVzIgorbXNnc3RyICLkuI3mmI7nmoTos4fmupDpoZ7lnovvvJolc1xuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjczNQorIywgZnV6enkKK21zZ2lkICItLXRhc2sgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPG5hbWVzcGFjZT4iCittc2dzdHIgIumBuOmghSAtLXBpZCDlkozlkb3ku6TlvbzmraTkupLmlqUiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzM2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbmFtZXNwYWNlIGFyZ3VtZW50IgorbXNnc3RyICLnhKHmlYjnmoTliY3nq6/lvJXmlbgiCisKKyM6IHN5cy11dGlscy9sc25zLmM6Nzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBmb3VuZCBuYW1lc3BhY2U6ICVqdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NiBzeXMtdXRpbHMvdW1vdW50LmM6MTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24gKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICLlj6rmnInmoLnlj6/ku6Xkvb/nlKjjgIwtLSVz44CN6YG46aCFICjmnInmlYggVUlEIOaYryAldSkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY5IHN5cy11dGlscy91bW91bnQuYzoxMjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIuWPquacieagueWPr+S7pemCo+aoo+WBmiAo5pyJ5pWIIFVJRCDmmK8gJXUpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MyBzeXMtdXRpbHMvdW1vdW50LmM6MTI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24iCittc2dzdHIgIuWPquacieagueWPr+S7peS9v+eUqOOAjC0tJXPjgI3pgbjpoIUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc0IHN5cy11dGlscy91bW91bnQuYzoxMjUKKyMsIGZ1enp5Cittc2dpZCAib25seSByb290IGNhbiBkbyB0aGF0IgorbXNnc3RyICLlj6rmnInmoLnlj6/ku6XpgqPmqKPlgZoiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjg1IHN5cy11dGlscy91bW91bnQuYzo1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAobGlibW91bnQgJXMiCittc2dzdHIgIiVzIOW+niAlcyAobGlibW91bnQgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEzMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBtdGFiIgorbXNnc3RyICLoroDlj5YgbXRhYiDmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MiBzeXMtdXRpbHMvdW1vdW50LmM6Mjg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogaWdub3JlZFxuIgorbXNnc3RyICIlLTI1czog5b+955WlXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGFscmVhZHkgbW91bnRlZFxuIgorbXNnc3RyICIlLTI1czog5bey57aT5o6b6LyJXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdmVkIHRvICVzLlxuIgorbXNnc3RyICIlc++8muaOm+i8ieeahOaWvCAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgYm91bmQgb24gJXMuXG4iCittc2dzdHIgIiVz77ya5o6b6LyJ55qE5pa8ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTQgc3lzLXV0aWxzL21vdW50LmM6MjU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW91bnRlZCBvbiAlcy5cbiIKK21zZ3N0ciAiJXPvvJrmjpvovInnmoTmlrwgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgcHJvcGFnYXRpb24gZmxhZ3MgY2hhbmdlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm1vdW50OiAlcyBkb2VzIG5vdCBjb250YWluIFNFTGludXggbGFiZWxzLlxuIgorIiAgICAgICBZb3UganVzdCBtb3VudGVkIGFuIGZpbGUgc3lzdGVtIHRoYXQgc3VwcG9ydHMgbGFiZWxzIHdoaWNoIGRvZXMgbm90XG4iCisiICAgICAgIGNvbnRhaW4gbGFiZWxzLCBvbnRvIGFuIFNFTGludXggYm94LiBJdCBpcyBsaWtlbHkgdGhhdCBjb25maW5lZFxuIgorIiAgICAgICBhcHBsaWNhdGlvbnMgd2lsbCBnZW5lcmF0ZSBBVkMgbWVzc2FnZXMgYW5kIG5vdCBiZSBhbGxvd2VkIGFjY2VzcyB0b1xuIgorIiAgICAgICB0aGlzIGZpbGUgc3lzdGVtLiAgRm9yIG1vcmUgZGV0YWlscyBzZWUgcmVzdG9yZWNvbig4KSBhbmQgbW91bnQoOCkuXG4iCittc2dzdHIgIiIKKyJtb3VudO+8miVzIOS4jeWMheWQqyBTRUxpbnV4IOaomeexpOOAglxuIgorIiAgICAgICDmgqjliZvmjpvovInkuobmlK/mj7TmqJnnsaTnmoTmqpTmoYjns7vntbHvvIzlroPljbvlnKggU0VMaW51eCDmoYbkuIpcbiIKKyIgICAgICAg5LiN5YyF5ZCr5qiZ57Gk44CC5Ly85LmO5Y+X6ZmQ55qE5oeJ55So56iL5byPXG4iCisiICAgICAgIOWwh+eUoueUnyBBVkMg6KiK5oGv77yM5Lim5LiU5LiN6KKr5YWB6Kix5Y675a2Y5Y+WXG4iCisiICAgICAgIOmAmeWAi+aqlOahiOezu+e1seOAguimgeeNsuW+l+abtOWkmue0sOevgOiri+WPg+eciyByZXN0b3JlY29uKDgpIOWSjCBtb3VudCg4KeOAglxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozNzgKKyMsIGZ1enp5Cittc2dpZCAiV0FSTklORzogZmFpbGVkIHRvIGFwcGx5IHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICLpmYTliqDpgbjpoIXmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKK21zZ3N0ciAi5Y+q5pyJ5qC55Y+v5Lul5o6b6LyJICVzIOaWvCAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQiCittc2dzdHIgIiVzIOW3sue2k+aOm+i8iSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB1c2VkIGFzIHJlYWQgb25seSBsb29wLCBtb3VudGluZyByZWFkLW9ubHkiCittc2dzdHIgIiVzIOiiq+mYsuatouWvq+WFpeeahO+8jOaOm+i8ieWUr+iugCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kICVzIGluICVzIgorbXNnc3RyICLmib7kuI3liLAgJXMg5Zyo5LitICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnRwb2ludCAlcyBpbiAlcyIKK21zZ3N0ciAi5om+5LiN5YiwIG1vdW50cG9pbnQgJXMg5Zyo5LitICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgc291cmNlICVzIGluICVzIgorbXNnc3RyICLmib7kuI3liLDmjpvovInkvobmupAgJXMg5Zyo5LitICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlczogbW9yZSBmaWxlc3lzdGVtcyBkZXRlY3RlZC4gVGhpcyBzaG91bGQgbm90IGhhcHBlbixcbiIKKyIgICAgICAgdXNlIC10IDx0eXBlPiB0byBleHBsaWNpdGx5IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSBvclxuIgorIiAgICAgICB1c2Ugd2lwZWZzKDgpIHRvIGNsZWFuIHVwIHRoZSBkZXZpY2UuIgorbXNnc3RyICIiCisi5o6b6LyJ77yaJXPvvJrlgbXmuKzliLDlpJrlgIvmqpTmoYjns7vntbHjgILpgJnkuI3mh4nnmbznlJ/vvIxcbiIKKyIgICAgICAg5L2/55SoIC10IDx0eXBlPiDku6XmmI7norrmjIflrprmqpTmoYjns7vntbHlnovmhYvmiJZcbiIKKyIgICAgICAg5L2/55SoIHdpcGVmcyg4KSDku6XmuIXnkIboo53nva7jgIJcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDM2CisjLCBmdXp6eQorbXNnaWQgIkkgY291bGQgbm90IGRldGVybWluZSB0aGUgZmlsZXN5c3RlbSB0eXBlLCBhbmQgbm9uZSB3YXMgc3BlY2lmaWVkIgorbXNnc3RyICLmiJHnhKHms5XmsbrlrprmqpTmoYjns7vntbHlnovmhYvvvIzogIznhKHooqvmjIflrprnmoQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzOQorIywgZnV6enkKK21zZ2lkICJ5b3UgbXVzdCBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIuaCqOW/hemgiOaMh+WumuaqlOahiOezu+e1seWei+aFiyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kICVzIgorbXNnc3RyICLmib7kuI3liLAgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0NworIywgZnV6enkKK21zZ2lkICJtb3VudCBzb3VyY2Ugbm90IGRlZmluZWQiCittc2dzdHIgIuaOm+i8ieS+hua6kOeEoeazleWumue+qSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDUxIHN5cy11dGlscy9tb3VudC5jOjQ1MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAi5YmW5p6Q5o6b6LyJ6YG46aCF5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0dXAgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVz77ya54Sh5rOV6Kit5a6a6L+05ZyI6KOd572uIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudCBmYWlsZWQiCittc2dzdHIgIiVz77ya5o6b6LyJ5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlc3lzdGVtIG1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCittc2dzdHIgIiVz77ya5qqU5qGI57O757Wx5o6b6LyJ77yM5L2G5piv5o6b6LyJICg4KSDlpLHmlZciCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ4OSBzeXMtdXRpbHMvbW91bnQuYzo1NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50ICVzIGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAi5o6b6LyJ6bueICVzIOS4pumdnuebrumMhCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDkzCisjLCBmdXp6eQorbXNnaWQgIm11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKK21zZ3N0ciAi5b+F6aCI5piv57O757Wx566h55CG6ICF5Lul5L2/55So5o6b6LyJIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGJ1c3kiCittc2dzdHIgIiVzIOW/meeijOS4rSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb3IgJXMgYnVzeSIKK21zZ3N0ciAiJXMg5bey57aT5o6b6LyJ55qE5oiWICVzIOW/meeijCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzXG4iCittc2dzdHIgIiAgICAgICAlcyDlt7LntpPmjpvovInnmoTmlrwgJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi5o6b6LyJ6bueICVzIOS4jeWtmOWcqCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCAlcyBpcyBhIHN5bWJvbGljIGxpbmsgdG8gbm93aGVyZSIKK21zZ3N0ciAi5o6b6LyJ6bueICVzIOaYr+espuiZn+mAo+e1kOWIsCBub3doZXJlIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICLnibnmroroo53nva4gJXMg5LiN5a2Y5ZyoIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1MzYgc3lzLXV0aWxzL21vdW50LmM6NTM4IHN5cy11dGlscy9tb3VudC5jOjU0MAorIzogc3lzLXV0aWxzL21vdW50LmM6NTU1CisjLCBmdXp6eQorbXNnaWQgIm1vdW50KDIpIGZhaWxlZCIKK21zZ3N0ciAi5o6b6LyJICgyKSDlpLHmlZciCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KSIKK21zZ3N0ciAi54m55q6K6KOd572uICVzIOS4jeWtmOWcqCAoYSDot6/lvpHliY3ntrTkuKbpnZ7nm67pjIQpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCittc2dzdHIgIiVzIOeEoeazleaOm+i8ieeahOaIluS4jeeVtueahOmBuOmghSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbW91bnRwb2ludCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICIlcyDkuI3mmK8gbW91bnRwb2ludCDmiJbkuI3nlbbnmoTpgbjpoIUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2NQorbXNnaWQgIiIKKyJiYWQgb3B0aW9uLiBOb3RlIHRoYXQgbW92aW5nIGEgbW91bnQgcmVzaWRpbmcgdW5kZXIgYSBzaGFyZWRcbiIKKyIgICAgICAgbW91bnQgaXMgdW5zdXBwb3J0ZWQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIndyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLFxuIgorIiAgICAgICBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKK21zZ3N0ciAiIgorIumMr+iqpOeahCBmcyDlnovmhYvvvIzkuI3nlbbnmoTpgbjpoIXvvIzkuI3nlbbnmoTotoXljYDloYrmlrwgJXPvvIxcbiIKKyIgICAgICAg57y65bCR55qE57eo56K86aCB5oiW6LyU5Yqp56iL5byP56iL5byP77yM5oiW5YW25LuW6Yyv6KqkIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgICAgKGZvciBzZXZlcmFsIGZpbGVzeXN0ZW1zIChlLmcuIG5mcywgY2lmcykgeW91IG1pZ2h0XG4iCisiICAgICAgIG5lZWQgYSAvc2Jpbi9tb3VudC48dHlwZT4gaGVscGVyIHByb2dyYW0pXG4iCittc2dzdHIgIiIKKyIgICAgICAgKOeUqOaWvOWkmuWAi+aqlOahiOezu+e1sSjkvovlpoLvvJpuZnPvvIxjaWZzKSDmgqjkuZ/oqLFcbiIKKyIgICAgICAg6ZyA6KaBL3NiaW4v5o6b6LyJ44CCPHR5cGU+IOi8lOWKqeeoi+W8j+eoi+W8jylcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiICAgICAgIEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gaXMgZm91bmQgaW4gc3lzbG9nIC0gdHJ5XG4iCisiICAgICAgIGRtZXNnIHwgdGFpbCBvciBzby5cbiIKK21zZ3N0ciAiIgorIiAgICAgICDlnKjmn5Dkupvmg4Xms4HkuIvmnInnlKjos4foqIrmmK/mib7liLDlnKjkuK0gc3lzbG9nIC0g5ZiX6KmmXG4iCisiICAgICAgIGRtZXNnfOWwvuerr+S5i+mhnlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1ODMKK21zZ2lkICJtb3VudCB0YWJsZSBmdWxsIgorbXNnc3RyICLmjpvovInooajlt7Lmu78iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IHJlYWQgc3VwZXJibG9jayIKK21zZ3N0ciAiJXPvvJrnhKHms5XoroDlj5botoXljYDloYoiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKK21zZ3N0ciAi5LiN5piO5qqU5qGI57O757Wx5Z6L5oWL44COJXPjgI8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU5NAorIywgZnV6enkKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAi5LiN5piO5qqU5qGI57O757Wx5Z6L5oWL44COJXPjgI8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCgyKSBmYWlscz8iCittc2dzdHIgIiVzIOS4pumdnuWNgOWhiuijnee9ru+8jOiAjHN0YXQgKDIpIOWkseaVl++8nyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisidGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2VcbiIKKyIgICAgICAgKG1heWJlIGBtb2Rwcm9iZSBkcml2ZXInPykiCittc2dzdHIgIiIKKyLlhafmoLjkuI3orZjliKUgJXMg5YGa54K65Y2A5aGK6KOd572uXG4iCisiICAgICAgICjkuZ/oqLHjgI5tb2Rwcm9iZSDpqYXli5XnqIvlvI/jgI8/KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UgKG1heWJlIHRyeSBgLW8gbG9vcCc/KSIKK21zZ3N0ciAiJXMg5Lim6Z2e5Y2A5aGK6KOd572uICjkuZ/oqLHlmJfoqabjgI4tbyDov7TlnIjjgI8/KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIgJXMg5Lim6Z2e5Y2A5aGK6KOd572uIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXMg5Lim6Z2e5pyJ5pWI5Y2A5aGK6KOd572uIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtb3VudCAlcyByZWFkLW9ubHkiCittc2dzdHIgIueEoeazleaOm+i8iSAlcyDllK/oroAiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCBgLXcnIGZsYWcgZ2l2ZW4iCittc2dzdHIgIiVzIOiiq+mYsuatouWvq+WFpeeahOS9huaYr+aYjueiuueahOOAji1344CP5peX5qiZ57Wm5a6a55qEIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZW1vdW50ICVzIHJlYWQtd3JpdGUsIGlzIHdyaXRlLXByb3RlY3RlZCIKK21zZ3N0ciAi54Sh5rOVIHJlbW91bnQgJXMg5Y+v6K6A5Y+v5a+r77yM6KKr6Ziy5q2i5a+r5YWl55qEIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MzEgc3lzLXV0aWxzL21vdW50LmM6NjU0IHN5cy11dGlscy91bnNoYXJlLmM6MTg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBvbiAlcyBmYWlsZWQiCittc2dzdHIgIuaOm+i8iSAlcyDmlrwgJXMg5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHdyaXRlLXByb3RlY3RlZCwgbW91bnRpbmcgcmVhZC1vbmx5IgorbXNnc3RyICIlcyDooqvpmLLmraLlr6vlhaXnmoTvvIzmjpvovInllK/oroAiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gbWVkaXVtIGZvdW5kIG9uICVzIgorbXNnc3RyICLmib7kuI3liLDku7vkvZXkuK3mlrwgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSIKK21zZ3N0ciAiJXPvvJrnhKHms5XliZbmnpAiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3B0aW9uIGZvcm1hdDogJXMiCittc2dzdHIgIuS4jeWPl+aUr+aPtOeahOW8leaVuO+8miVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhcHBlbmQgb3B0aW9uICclcyciCittc2dzdHIgIumZhOWKoOmBuOmgheaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZV0gPHNvdXJjZT4gfCBbLS10YXJnZXRdIDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgPG9wZXJhdGlvbj4gPG1vdW50cG9pbnQ+IFs8dGFyZ2V0Pl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstbGhWXVxuIgorIiAlMSRzIC1hIFvpgbjpoIVdXG4iCisiICUxJHMgW+mBuOmghV0gWy0tc291cmNlXSA8c291cmNlPnxbLS10YXJnZXRdPOebrumMhD5cbiIKKyIgJTEkcyBb6YG46aCFXTzkvobmupA+POebrumMhD5cbiIKKyIgJTEkczzkvZzmpa0+PG1vdW50cG9pbnQ+Wzznm67mqJk+XVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NDQKKyMsIGZ1enp5Cittc2dpZCAiTW91bnQgYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLmqqLmn6XmiYDmnInmqpTmoYjns7vntbHjgIJcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIG1vdW50IGFsbCBmaWxlc3lzdGVtcyBtZW50aW9uZWQgaW4gZnN0YWJcbiIKKyIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCisiIC1mLCAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIG1vdW50KDIpIHN5c2NhbGxcbiIKKyIgLUYsIC0tZm9yayAgICAgICAgICAgICAgZm9yayBvZmYgZm9yIGVhY2ggZGV2aWNlICh1c2Ugd2l0aCAtYSlcbiIKKyIgLVQsIC0tZnN0YWIgPHBhdGg+ICAgICAgYWx0ZXJuYXRpdmUgZmlsZSB0byAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAg5o6b6LyJ5omA5pyJ5qqU5qGI57O757Wx5o+Q5Y+K55qE5Zyo5LitIGZzdGFiXG4iCisiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIOS4jeato+WJh+WMlui3r+W+kVxuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICDmqKHmk6zmuKzoqabvvJvot7PpgY7mjpvovIkgKDIpIHN5c2NhbGxcbiIKKyIgLUYsIC0tZm9yayAgICAgICAgICAgICAg6KGN55Sf6Zec6ZaJ55So5pa85q+P5YCL6KOd572uICjkvb/nlKjoiIcgLWEpXG4iCisiIC1ULCAtLWZzdGFiIDxwYXRoPiAgICAgIOabv+S7o+aWueahiOaqlOahiOWIsC9ldGMvZnN0YWJcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSBtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIHNob3cgYWxzbyBmaWxlc3lzdGVtIGxhYmVsc1xuIgorbXNnc3RyICIgLWwsIC0tbGltaXRzICAgICAg6aGv56S66LOH5rqQ6ZmQ5bqmXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1OCBzeXMtdXRpbHMvdW1vdW50LmM6OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIOioreWumuWQjOS9jeWIsOeEoVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbW91bnQgb3B0aW9uc1xuIgorIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC1vbmx5IChzYW1lIGFzIC1vIHJvKVxuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiIgorIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICDku6XpgJfomZ/liIbpmpTnmoTmjpvovInpgbjpoIXmuIXllq7nmoRcbiIKKyIgLU8sIC0tdGVzdC1vcHRzPOa4heWWrj4g6ZmQ5Yi26ZuG5ZCI5qqU5qGI57O757WxICjkvb/nlKjoiIcgLWEpXG4iCisiIC1wLCAtLXBhc3MtZmQ8bnVtPiAgICDoroDlj5blr4boqp7lvp7mqpTmoYjmj4/ov7DnrKbomZ9cbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAg5o6b6LyJ5qqU5qGI57O757Wx5ZSv6K6AICjlpoLlkIwgLW8gcm8pXG4iCisiIC10LCAtLXR5cGVzPOa4heWWrj4gICAgIOmZkOWItumbhuWQiOaqlOahiOezu+e1semhnuWei1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tc291cmNlIDxzcmM+ICAgICAgZXhwbGljaXRseSBzcGVjaWZpZXMgc291cmNlIChwYXRoLCBsYWJlbCwgdXVpZClcbiIKKyIgICAgIC0tdGFyZ2V0IDx0YXJnZXQ+ICAgZXhwbGljaXRseSBzcGVjaWZpZXMgbW91bnRwb2ludFxuIgorbXNnc3RyICIiCisiICAgICAtLXNvdXJjZSA8c3JjPiAgICAgIOaYjueiuueahOaMh+WumuS+hua6kCAo6Lev5b6R44CB5qiZ6LK877yMdXVpZClcbiIKKyIgICAgIC0tdGFyZ2V0POebruaomT4gIOaYjueiuueahOaMh+WumiBtb3VudHBvaW50XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc2OCBzeXMtdXRpbHMvdW1vdW50LmM6OTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBzYXkgd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICDop6Pph4vku4DpurzmraPlnKjmmK/lt7LlrozmiJBcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNvdXJjZTpcbiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorbXNnc3RyICIiCisiXG4iCisi5L6G5rqQ77yaXG4iCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgIOWQjOe+qeWtl+eUqOaWvOaomeiyvD085qiZ6LK8PlxuIgorIiAtVSwgLS11dWlkPHV1aWQ+ICAgICAg5ZCM576p5a2X55So5pa8IFVVSUQ9PHV1aWQ+XG4iCisiIOaomeiyvD085qiZ6LK8PiAgICAgICAgICDmjIflrproo53nva7nlLHmqpTmoYjns7vntbHmqJnosrxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICDmjIflrproo53nva7nlLHmqpTmoYjns7vntbEgVVVJRFxuIgorIiBQQVJUTEFCRUw9POaomeiyvD4gICAgICDmjIflrproo53nva7nlLHliIblibLmqJnosrxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICDmjIflrproo53nva7nlLHliIblibIgVVVJRFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXRoXG4iCisiIDxkaXJlY3Rvcnk+ICAgICAgICAgICAgIG1vdW50cG9pbnQgZm9yIGJpbmQgbW91bnRzIChzZWUgLS1iaW5kL3JiaW5kKVxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgICByZWd1bGFyIGZpbGUgZm9yIGxvb3BkZXYgc2V0dXBcbiIKK21zZ3N0ciAiIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICDmjIflrproo53nva7nlLHot6/lvpFcbiIKKyI855uu6YyEPiAgICAgICAgICAgIG1vdW50cG9pbnQg55So5pa857mr57WQ5o6b6LyJICjlj4PnnIsgLS1iaW5kL3JiaW5kKVxuIgorIjzmqpTmoYg+ICAgICAgICAgICAgICAgICDmqJnmupbmqpTmoYjnlKjmlrwgbG9vcGRldiDoqK3lrppcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3BlcmF0aW9uczpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIHNvbWV3aGVyZSBlbHNlIChzYW1lIGFzIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG1vdmUgYSBzdWJ0cmVlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlXG4iCittc2dzdHIgIiIKKyJcbiIKKyLoqIjnrpfvvJpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAg5o6b6LyJ5a2Q5qi55YW25LuW5Zyw5pa5ICjlpoLlkIwgLW8g57mr57WQKVxuIgorIiAtTSwgLS1tb3ZlICAgICAgICAgICAgICDnp7vli5XlrZDmqLnliLDmn5Dkupvlhbbku5bnva7mlL5cbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAg5o6b6LyJ5a2Q5qi55ZKM5omA5pyJIHN1Ym1vdW50cyDlhbbku5blnLDmlrlcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Nzk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1zaGFyZWQgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2Utc2xhdmUgICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcHJpdmF0ZSAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS11bmJpbmRhYmxlICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICDmqJnoqJjlrZDmqLnlgZrngrrlhbHkuqtcbiIKKyIgLS1tYWtlLXNsYXZlICAgICAgICAgICAg5qiZ6KiY5a2Q5qi55YGa54K65b6e5bGsXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIOaomeiomOWtkOaoueWBmueCuuengeS6uueahFxuIgorIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICDmqJnoqJjlrZDmqLnlgZrngrogdW5iaW5kYWJsZVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1yc2xhdmUgICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIOmBnui/tOaomeiomOaVtOWAi+WtkOaoueWBmueCuuWFseS6q1xuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICDpgZ7ov7TmqJnoqJjmlbTlgIvlrZDmqLnlgZrngrrlvp7lsaxcbiIKKyIgLS1tYWtlLXJwcml2YXRlICAgICAgICAg6YGe6L+05qiZ6KiY5pW05YCL5a2Q5qi55YGa54K656eB5Lq655qEXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIOmBnui/tOaomeiomOaVtOWAi+WtkOaoueWBmueCuiB1bmJpbmRhYmxlXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjg4NyBzeXMtdXRpbHMvdW1vdW50LmM6NTQ4CisjLCBmdXp6eQorbXNnaWQgImxpYm1vdW50IGNvbnRleHQgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgImxpYm1vdW50IOiqnuWig+mFjemhjeWkseaVlyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6OTQ0IHN5cy11dGlscy91bW91bnQuYzo2MDEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCBvcHRpb25zIHBhdHRlcm4iCittc2dzdHIgIuioreWumumBuOmgheiDmumosOaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTA5NworIywgZnV6enkKK21zZ2lkICJzb3VyY2Ugc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICLmgqjmjIflrprkuobmr5Tno4Hnop/kuIrpgoTlpJrnmoTno4Hmn7HmlbgiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1xZF0gL3BhdGgvdG8vZGlyZWN0b3J5XG4iCisiICUxJHMgLXggL2Rldi9kZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstcWRdL+i3r+W+kS/liLAv55uu6YyEXG4iCisiICUxJHMgLXgvZGV2L+ijnee9rlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEyMgorbXNnaWQgIkNoZWNrIHdoZXRoZXIgYSBkaXJlY3Rvcnkgb3IgZmlsZSBpcyBhIG1vdW50cG9pbnQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjUKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgcXVpZXQgbW9kZSAtIGRvbid0IHByaW50IGFueXRoaW5nXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgYmxvY2sgZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgLXEsIC0tcXVpZXQgICAgICAgIOeEoeioiuaBr+aooeW8jyAtIOS4jeWIl+WNsOS7u+S9leS6i1xuIgorIiAtZCwgLS1mcy1kZXZubyAgICAg5YiX5Y2wIG1hau+8muacgOWwj+ijnee9rue3qOiZn+eahOaqlOahiOezu+e1sVxuIgorIiAteCwgLS1kZXZubyAgICAgICAg5YiX5Y2wIG1hau+8muacgOWwj+ijnee9rue3qOiZn+eahOWNgOWhiuijnee9rlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjE5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyDkuKbpnZ4gbW91bnRwb2ludFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjIwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzIOaYryBtb3VudHBvaW50XG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzIgc3lzLXV0aWxzL3NldHByaXYuYzo5MyBzeXMtdXRpbHMvdW5zaGFyZS5jOjI0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSA8cHJvZ3JhbT4gW+W8leaVuC4uLl1cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3NgorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBuYW1lc3BhY2VzIG9mIG90aGVyIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjc5Cittc2dpZCAiIC10LCAtLXRhcmdldCA8cGlkPiAgICAgdGFyZ2V0IHByb2Nlc3MgdG8gZ2V0IG5hbWVzcGFjZXMgZnJvbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODAKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgZW50ZXIgbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICDoqK3lrprluo/liJfnt5rot6/pgJ/luqZcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MQorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICBlbnRlciBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICDoqK3lrprluo/liJfnt5rot6/pgJ/luqZcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MgorIywgZnV6enkKK21zZ2lkICIgLWksIC0taXBjWz08ZmlsZT5dICAgICBlbnRlciBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICDoqK3lrprluo/liJfnt5rot6/pgJ/luqZcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICBlbnRlciBuZXR3b3JrIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAg6Kit5a6a5bqP5YiX57ea6Lev6YCf5bqmXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgZW50ZXIgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAg6Kit5a6a5bqP5YiX57ea6Lev6YCf5bqmXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODUKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgZW50ZXIgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAg6Kit5a6a5bqP5YiX57ea6Lev6YCf5bqmXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODYKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgZW50ZXIgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIOioreWumuW6j+WIl+e3mui3r+mAn+W6plxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg3CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZXR1aWQgPHVpZD4gICAgIHNldCB1aWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgIOmhr+ekuuW7uueri+iAheWSjOacgOW+jOS4gOethuioiOeulyBQSURzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODgKKyMsIGZ1enp5Cittc2dpZCAiIC1HLCAtLXNldGdpZCA8Z2lkPiAgICAgc2V0IGdpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAg6aGv56S65bu656uL6ICF5ZKM5pyA5b6M5LiA562G6KiI566XIFBJRHNcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OQorbXNnaWQgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyBkbyBub3QgdG91Y2ggdWlkcyBvciBnaWRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcm9vdFs9PGRpcj5dICAgICBzZXQgdGhlIHJvb3QgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAteCwgLS1kZXN0aW5hdGlvbiA8ZGlyPiAg5oq95Ye66YCy5YWl55uu6YyEXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXdkWz08ZGlyPl0gICAgICAgc2V0IHRoZSB3b3JraW5nIGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXgsIC0tZGVzdGluYXRpb24gPGRpcj4gIOaKveWHuumAsuWFpeebrumMhFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkyCittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgZG8gbm90IGZvcmsgYmVmb3JlIGV4ZWMnaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTQKK21zZ2lkICIgLVosIC0tZm9sbG93LWNvbnRleHQgICBzZXQgU0VMaW51eCBjb250ZXh0IGFjY29yZGluZyB0byAtLXRhcmdldCBQSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJuZWl0aGVyIGZpbGVuYW1lIG5vciB0YXJnZXQgcGlkIHN1cHBsaWVkIGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjI3NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdWlkIgorbXNnc3RyICLliZbmnpAgcGlkIOaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoyODEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGdpZCIKK21zZ3N0ciAi5YmW5p6QIHBpZCDmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzE3Cittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tZm9sbG93LWNvbnRleHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgJWQgU0VMaW51eCBjb250ZXh0IgorbXNnc3RyICLnhKHms5Xlu7rnq4vmlrDnmoQgc2VsaW51eCDnm7jpl5zpoIXnm64iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGV4ZWMgY29udGV4dCB0byAnJXMnIgorbXNnc3RyICLoqK3lrprouqvliIbngrogJXMg5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVhc3NvY2lhdGUgdG8gbmFtZXNwYWNlICclcycgZmFpbGVkIgorbXNnc3RyICLoroDlj5bns7vntbHmmYLplpPlpLHmlZciCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzkwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIiVz77ya54Sh5rOV6K6K5pu05bel5L2c55uu6YyEICVz77yaJW0iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6Mzk3CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgcm9vdCBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICLorormm7Tnm67pjITliLDns7vntbHmoLnlpLHmlZciCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDAwCisjLCBmdXp6eQorbXNnaWQgImNocm9vdCBmYWlsZWQiCittc2dzdHIgIuaOm+i8ieWkseaVlyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MTAKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSB3b3JraW5nIGRpcmVjdG9yeSBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICLorormm7Tnm67pjITliLDns7vntbHmoLnlpLHmlZciCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDIxIHN5cy11dGlscy9zZXRwcml2LmM6ODE1IHN5cy11dGlscy9zZXRwcml2LmM6ODE5CisjLCBmdXp6eQorbXNnaWQgInNldGdyb3VwcyBmYWlsZWQiCittc2dzdHIgInN0cmR1cCDlpLHmlZciCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gbmV3X3Jvb3QgcHV0X29sZFxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gbmV3X3Jvb3QgcHV0X29sZFxuIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjM3CisjLCBmdXp6eQorbXNnaWQgIkNoYW5nZSB0aGUgcm9vdCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLmqqLmn6XmiYDmnInmqpTmoYjns7vntbHjgIJcbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzo3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IGZyb20gYCVzJyB0byBgJXMnIgorbXNnc3RyICLorormm7TmoLnlvp7jgI4lc+OAj+WIsOOAjiVzIOaZguWkseaVl+OAjyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NQorIywgZnV6enkKK21zZ2lkICJhZGRyZXNzIHNwYWNlIGxpbWl0IgorbXNnc3RyICLkvY3lnYDnqbrplpPpmZDliLYiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKKyMsIGZ1enp5Cittc2dpZCAibWF4IGNvcmUgZmlsZSBzaXplIgorbXNnc3RyICLmnIDlpKfoqJjmhrbpq5TmqpTmoYjlpKflsI8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiQ1BVIHRpbWUiCittc2dzdHIgIkNQVSDmmYLplpMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKKyMsIGZ1enp5Cittc2dpZCAic2Vjb25kcyIKK21zZ3N0ciAi56eSIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4CisjLCBmdXp6eQorbXNnaWQgIm1heCBkYXRhIHNpemUiCittc2dzdHIgIuacgOWkp+izh+aWmeWkp+WwjyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OQorIywgZnV6enkKK21zZ2lkICJtYXggZmlsZSBzaXplIgorbXNnc3RyICLmnIDlpKfmqpTmoYjlpKflsI8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKKyMsIGZ1enp5Cittc2dpZCAibWF4IG51bWJlciBvZiBmaWxlIGxvY2tzIGhlbGQiCittc2dzdHIgIuacgOWkp+aqlOahiOmOluWumuaVuOmHj+W7tumBsiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorIywgZnV6enkKK21zZ2lkICJsb2NrcyIKK21zZ3N0ciAi5Y2A5aGKIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCisjLCBmdXp6eQorbXNnaWQgIm1heCBsb2NrZWQtaW4tbWVtb3J5IGFkZHJlc3Mgc3BhY2UiCittc2dzdHIgIuacgOWkpyBsb2NrZWQtaW4tbWVtb3J5IOS9jeWdgOepuumWkyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MgorIywgZnV6enkKK21zZ2lkICJtYXggYnl0ZXMgaW4gUE9TSVggbXF1ZXVlcyIKK21zZ3N0ciAi5pyA5aSn5L2N5YWD57WE5Zyo5LitIFBPU0lYIG1xdWV1ZXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODMKKyMsIGZ1enp5Cittc2dpZCAibWF4IG5pY2UgcHJpbyBhbGxvd2VkIHRvIHJhaXNlIgorbXNnc3RyICLmnIDlpKflpb0gcHJpbyDlhYHoqLHliLDlvJXnmbwiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKKyMsIGZ1enp5Cittc2dpZCAibWF4IG51bWJlciBvZiBvcGVuIGZpbGVzIgorbXNnc3RyICLmnIDlpKfplovllZ/mqpTmoYjmlbjph48iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXMiCittc2dzdHIgIuaqlOahiCAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIHByb2Nlc3NlcyIKK21zZ3N0ciAi5pyA5aSn6KGM56iL5pW46YePIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1CisjLCBmdXp6eQorbXNnaWQgInByb2Nlc3NlcyIKK21zZ3N0ciAi6JmV55CG6K2Y5Yil6JmfIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2CisjLCBmdXp6eQorbXNnaWQgIm1heCByZXNpZGVudCBzZXQgc2l6ZSIKK21zZ3N0ciAi5pyA5aSn5bi46aeQ6Kit5a6a5aSn5bCPIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg3CisjLCBmdXp6eQorbXNnaWQgIm1heCByZWFsLXRpbWUgcHJpb3JpdHkiCittc2dzdHIgIuacgOWkp+WNs+aZguWEquWFiOasiiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorIywgZnV6enkKK21zZ2lkICJ0aW1lb3V0IGZvciByZWFsLXRpbWUgdGFza3MiCittc2dzdHIgIumAvuaZgueUqOaWvOWNs+aZguS6i+WLmSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorIywgZnV6enkKK21zZ2lkICJtaWNyb3NlY3MiCittc2dzdHIgIm1pY3Jvc2VjcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscyIKK21zZ3N0ciAi5pyA5aSn5pOx572u5L+h6Jmf5pW46YePIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAic2lnbmFscyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCisjLCBmdXp6eQorbXNnaWQgIm1heCBzdGFjayBzaXplIgorbXNnc3RyICLmnIDlpKfloIbnlorlpKflsI8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTIzCisjLCBmdXp6eQorbXNnaWQgInJlc291cmNlIG5hbWUiCittc2dzdHIgIuizh+a6kOWQjeeosSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAicmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgIuizh+a6kOaPj+i/sCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjUKKyMsIGZ1enp5Cittc2dpZCAic29mdCBsaW1pdCIKK21zZ3N0ciAi6Luf5byP6ZmQ5Yi2IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNgorIywgZnV6enkKK21zZ2lkICJoYXJkIGxpbWl0IChjZWlsaW5nKSIKK21zZ3N0ciAi5by35Yi26ZmQ5Yi2ICjpoILnrKbomZ8pIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNworIywgZnV6enkKK21zZ2lkICJ1bml0cyIKK21zZ3N0ciAi5Zau5L2NIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXAgUElEXVxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gWy1wIFBJRF1cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gQ09NTUFORFxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0g5ZG95LukXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY2Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlc291cmNlIGxpbWl0cyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjgKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkdlbmVyYWwgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIuS4gOiIrOmBuOmghe+8mlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OQorIywgZnV6enkKK21zZ2lkICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG91dHB1dFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIOiZleeQhuitmOWIpeiZn1xuIgorIiAtbywgLS1vdXRwdXQ85riF5ZauPiAgIOWumue+qeipsumghei8uOWHuuashOS9jeS7peS9v+eUqFxuIgorIiAgICAgLS1ub2hlYWRpbmdzICAgICAgIOS4jeWIl+WNsOaomemgrVxuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIOS9v+eUqOWOn+Wni+i8uOWHuuagvOW8j1xuIgorIiAgICAgLS12ZXJib3NlICAgICAgICAgIOips+e0sOeahOi8uOWHulxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3NworIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiUmVzb3VyY2VzIE9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLos4fmupDpgbjpoIXvvJpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzgKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtYywgLS1jb3JlICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBjb3JlIGZpbGVzIGNyZWF0ZWRcbiIKKyIgLWQsIC0tZGF0YSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgYSBwcm9jZXNzJ3MgZGF0YSBzZWdtZW50XG4iCisiIC1lLCAtLW5pY2UgICAgICAgICAgICAgbWF4aW11bSBuaWNlIHByaW9yaXR5IGFsbG93ZWQgdG8gcmFpc2VcbiIKKyIgLWYsIC0tZnNpemUgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgZmlsZXMgd3JpdHRlbiBieSB0aGUgcHJvY2Vzc1xuIgorIiAtaSwgLS1zaWdwZW5kaW5nICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFsc1xuIgorIiAtbCwgLS1tZW1sb2NrICAgICAgICAgIG1heGltdW0gc2l6ZSBhIHByb2Nlc3MgbWF5IGxvY2sgaW50byBtZW1vcnlcbiIKKyIgLW0sIC0tcnNzICAgICAgICAgICAgICBtYXhpbXVtIHJlc2lkZW50IHNldCBzaXplXG4iCisiIC1uLCAtLW5vZmlsZSAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2Ygb3BlbiBmaWxlc1xuIgorIiAtcSwgLS1tc2dxdWV1ZSAgICAgICAgIG1heGltdW0gYnl0ZXMgaW4gUE9TSVggbWVzc2FnZSBxdWV1ZXNcbiIKKyIgLXIsIC0tcnRwcmlvICAgICAgICAgICBtYXhpbXVtIHJlYWwtdGltZSBzY2hlZHVsaW5nIHByaW9yaXR5XG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAgbWF4aW11bSBzdGFjayBzaXplXG4iCisiIC10LCAtLWNwdSAgICAgICAgICAgICAgbWF4aW11bSBhbW91bnQgb2YgQ1BVIHRpbWUgaW4gc2Vjb25kc1xuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHVzZXIgcHJvY2Vzc2VzXG4iCisiIC12LCAtLWFzICAgICAgICAgICAgICAgc2l6ZSBvZiB2aXJ0dWFsIG1lbW9yeVxuIgorIiAteCwgLS1sb2NrcyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIGZpbGUgbG9ja3NcbiIKKyIgLXksIC0tcnR0aW1lICAgICAgICAgICBDUFUgdGltZSBpbiBtaWNyb3NlY29uZHMgYSBwcm9jZXNzIHNjaGVkdWxlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVyIHJlYWwtdGltZSBzY2hlZHVsaW5nXG4iCittc2dzdHIgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICDmnIDlpKflrrnph4/nmoToqJjmhrbpq5TmqpTmoYjlu7rnq4tcbiIKKyIgLWQsIC0tZGF0YSAgICAgICAgICAgICDmnIDlpKflrrnph4/nmoTomZXnkIbos4fmlpnljYDmrrVcbiIKKyIgLWUsIC0tbmljZSAgICAgICAgICAgICDmnIDlpKflgLzlpb3lhKrlhYjmrIrlhYHoqLHliLDlvJXnmbxcbiIKKyIgLWYsIC0tZnNpemUgICAgICAgICAgICDmnIDlpKflrrnph4/nmoTmqpTmoYjkvZzogIXomZXnkIZcbiIKKyIgLWksIC0tc2lncGVuZGluZyAgICAgICDmnIDlpKflgLzmk7Hnva7kv6HomZ/mlbjph49cbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICDmnIDlpKflrrnph4/omZXnkIbkuZ/oqLHmnIPpjpblrprpgLLlhaXoqJjmhrbpq5RcbiIKKyIgLW0sIC0tcnNzICAgICAgICAgICAgICDmnIDlpKflgLzluLjpp5DoqK3lrprlpKflsI9cbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICDmnIDlpKflgLzplovllZ/mqpTmoYjmlbjph49cbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICDmnIDlpKflgLzkvY3lhYPntYTlnKjkuK0gUE9TSVgg6KiK5oGv5L2H5YiXXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAg5pyA5aSn5YC85Y2z5pmC5o6S56iL5YSq5YWI5qyKXG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAg5pyA5aSn5YC85aCG55aK5aSn5bCPXG4iCisiIC10LCAtLWNwdSAgICAgICAgICAgICAg5pyA5aSn5YC85pW455uu55qEIENQVSDmmYLplpPnmoTnp5LmlbhcbiIKKyIgLXUsIC0tbnByb2MgICAgICAgICAgICDmnIDlpKflgLzkvb/nlKjogIXooYznqIvmlbjph49cbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICDlpKflsI/nmoTomZvmk6zoqJjmhrbpq5RcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICDmnIDlpKflgLzmqpTmoYjpjpblrprmlbjph49cbiIKKyIgLXksIC0tcnR0aW1lICAgICAgICAgICBDUFUg5pmC6ZaT5Zyo5LitIG1pY3Jvc2Vjb25kcyDomZXnkIblt7LmjpLnqItcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICDkuYvkuIvljbPmmYLmjpLnqItcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoyNDMgc3lzLXV0aWxzL3BybGltaXQuYzoyNDkgc3lzLXV0aWxzL3BybGltaXQuYzozNjYKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzcxCisjLCBmdXp6eQorbXNnaWQgInVubGltaXRlZCIKK21zZ3N0ciAi54Sh6ZmQ5Yi255qEIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjMzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBvbGQgJXMgbGltaXQiCittc2dzdHIgIuaPkOWPluiIiueahCAlcyDpmZDliLbmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aGUgc29mdCBsaW1pdCAlcyBjYW5ub3QgZXhjZWVkIHRoZSBoYXJkIGxpbWl0IgorbXNnc3RyICLou5/lvI/pmZDliLYgJXMg54Sh5rOV6LaF5Ye65by35Yi26ZmQ5Yi2IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTmV3ICVzIGxpbWl0IGZvciBwaWQgJWQ6ICIKK21zZ3N0ciAi5pawICVzIOmZkOWItu+8miIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICLoqK3lrpogJXMg6LOH5rqQ6ZmQ5Yi25pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgIuaPkOWPliAlcyDos4fmupDpmZDliLbmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NDU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgbGltaXQiCittc2dzdHIgIuWJluaekCAlcyDpmZDliLbmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NTg1CisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbiAtLXBpZCBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAi6YG46aCFIC0tcGlkIOS5n+ioseacg+iiq+aMh+WumueahOWPquS4gOasoSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo2MTYKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9ucyAtLXBpZCBhbmQgQ09NTUFORCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICLpgbjpoIUgLS1waWQg5ZKM5ZG95Luk5b285q2k5LqS5palIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDcKK21zZ2lkICJEaXNwbGF5IGtlcm5lbCBwcm9maWxpbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLW0sIC0tbWFwZmlsZSA8bWFwZmlsZT4gICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIKK21zZ3N0ciAiIC1tLCAtLW1hcGZpbGUgPG1hcGZpbGU+ICAgKOmgkOioreWAvO+8muOAjCVz44CN5ZKMXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiVzXCIpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDjgIwlc+OAjSlcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLXAsIC0tcHJvZmlsZSA8cHJvLWZpbGU+ICAoZGVmYXVsdDogIFwiJXNcIilcbiIKK21zZ3N0ciAiIC1wLCAtLXByb2ZpbGUgPHByby1maWxlPiAgKOmgkOiore+8muOAjCVz44CNKVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTYKKyMsIGZ1enp5Cittc2dpZCAiIC1NLCAtLW11bHRpcGxpZXIgPG11bHQ+ICAgc2V0IHRoZSBwcm9maWxpbmcgbXVsdGlwbGllciB0byA8bXVsdD5cbiIKK21zZ3N0ciAiIC1NLCAtLW11bHRpcGxpZXIgPG11bHQ+ICAg6Kit5a6a5YG05a+r5qqU5YCN5pW45YiwPG11bHQ+XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNworIywgZnV6enkKK21zZ2lkICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIKK21zZ3N0ciAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAg5YiX5Y2w5Y+q5pyJ6LOH6KiK6Zec5pa85Y+W5qij5q2l6amfXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBwcmludCB2ZXJib3NlIGRhdGFcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAg5YiX5Y2w6Kmz57Sw55qE6LOH5paZXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOQorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICBwcmludCBhbGwgc3ltYm9scywgZXZlbiBpZiBjb3VudCBpcyAwXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIOWIl+WNsOaJgOacieespuiZn++8jOWNs+S9v+ioiOaVuOaYryAwXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMAorIywgZnV6enkKK21zZ2lkICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCittc2dzdHIgIiAtYiwgLS1oaXN0YmluICAgICAgICAgICAgIOWIl+WNsOWAi+WIpSBoaXN0b2dyYW0tYmluIOioiOaVuFxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjEKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCittc2dzdHIgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIOWIl+WNsOWAi+WIpeioiOaVuOWZqOWcqOS5i+WFp+WHveW8j1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICDph43nva7miYDmnInoqIjmlbjlmaggKOWPqumZkCByb290KVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWF1dG8gICAgICAgICAgICAgZGlzYWJsZSBieXRlIG9yZGVyIGF1dG8tZGV0ZWN0aW9uXG4iCittc2dzdHIgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIOWBnOeUqOS9jeWFg+e1hOasoeW6jyBhdXRvLWRldGVjdGlvblxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHdyaXRpbmcgJXMiCittc2dzdHIgIuWvq+WFpSAlcyDmmYLnmbznlJ/pjK/oqqQiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI3MQorIywgZnV6enkKK21zZ2lkICJBc3N1bWluZyByZXZlcnNlZCBieXRlIG9yZGVyLiBVc2UgLW4gdG8gZm9yY2UgbmF0aXZlIGJ5dGUgb3JkZXIuIgorbXNnc3RyICLlgYfoqK3lj43lkJHnmoTkvY3lhYPntYTmrKHluo/jgILkvb/nlKggLW4g5Yiw5by35Yi25Y6f55Sf5L2N5YWD57WE5qyh5bqP44CCIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNhbXBsaW5nX3N0ZXA6ICV1XG4iCittc2dzdHIgIuWPluaoo+eOh++8miVpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMwMiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzKCVpKTogd3JvbmcgbWFwIGxpbmUiCittc2dzdHIgIiVzKCVpKe+8mumMr+iqpOeahOaYoOWwhOWIlyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIFwiX3N0ZXh0XCIgaW4gJXMiCittc2dzdHIgIuaJvuS4jeWIsOOAjHN0ZXh044CN5Zyo5LitICVzKF9TKSIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzQ2CisjLCBmdXp6eQorbXNnaWQgInByb2ZpbGUgYWRkcmVzcyBvdXQgb2YgcmFuZ2UuIFdyb25nIG1hcCBmaWxlPyIKK21zZ3N0ciAi5YG05a+r5qqU5L2N5Z2A6LaF5Ye656+E5ZyN44CC6Yyv6Kqk55qE5pig5bCE5qqU5qGI77yfIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzo0MDQKK21zZ2lkICJ0b3RhbCIKK21zZ3N0ciAi57i96KiIIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTIKKyMsIGZ1enp5Cittc2dpZCAicHJvY2VzcyBJRCIKK21zZ3N0ciAi6JmV55CG6K2Y5Yil6JmfIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTMKKyMsIGZ1enp5Cittc2dpZCAicHJvY2VzcyBncm91cCBJRCIKK21zZ3N0ciAi6JmV55CG576k57WE6K2Y5Yil6JmfIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gWy1wfC0tcGlkXSA8cGlkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLWd8LS1wZ3JwIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLXV8LS11c2VyIDx1c2VyPi4uLlxuIgorbXNnc3RyICIiCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+IFstcF08cGlkPls8cGlkPi4uLl1cbiIKKyIgJTEkcyBbLW5dPOWEquWFiOasij4gLWc8cGdycD5bPHBncnA+Li4uXVxuIgorIiAlMSRzIFstbl085YSq5YWI5qyKPiAtdTzkvb/nlKjogIU+Wzzkvb/nlKjogIU+Li4uXVxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjcKK21zZ2lkICJBbHRlciB0aGUgcHJpb3JpdHkgb2YgcnVubmluZyBwcm9jZXNzZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcwCittc2dpZCAiIC1uLCAtLXByaW9yaXR5IDxudW0+ICAgc3BlY2lmeSB0aGUgbmljZSBpbmNyZW1lbnQgdmFsdWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgSUQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICDpoa/npLrlu7rnq4vogIXlkozmnIDlvozkuIDnrYboqIjnrpcgUElEc1xuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzIKK21zZ2lkICIgLWcsIC0tcGdycCA8aWQ+ICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBncm91cCBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MworbXNnaWQgIiAtdSwgLS11c2VyIDxuYW1lPnw8aWQ+IGludGVycHJldCBhcmd1bWVudCBhcyB1c2VybmFtZSBvciB1c2VyIElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICLmj5Dlj5blhKrlhYjmrIrnlKjmlrwgJWQgKCVzKSDmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAi6Kit5a6a5YSq5YWI5qyK55So5pa8ICVkICglcykg5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCAoJXMpIG9sZCBwcmlvcml0eSAlZCwgbmV3IHByaW9yaXR5ICVkXG4iCittc2dzdHIgIiVkICglcykg6IiK55qE5YSq5YWI5qyKICVk77yM5paw5YSq5YWI5qyKICVkXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdXNlciAlcyIKK21zZ3N0ciAi5LiN5piO5L2/55So6ICFICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIG9uZSBvZiB0aGUgYWJvdmUKKyMuICogdGhyZWUgSUQgbmFtZXMuIFJlYWQ6ICJiYWQgdmFsdWUgZm9yICVzOiAlcyIKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCAlcyB2YWx1ZTogJXMiCittc2dzdHIgIuS4jeeVtueahOWAvCAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo5OAorbXNnaWQgIkVudGVyIGEgc3lzdGVtIHNsZWVwIHN0YXRlIHVudGlsIGEgc3BlY2lmaWVkIHdha2V1cCB0aW1lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgcmVhZHMgdGhlIGNsb2NrIG1vZGUgZnJvbSBhZGp1c3QgZmlsZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLWF1dG8gICAgICAgICAgICAg5YGc55So5L2N5YWD57WE5qyh5bqPIGF1dG8tZGV0ZWN0aW9uXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKyIgICAgIC0tbm9hZGpmaWxlICAgICAg5LiN5a2Y5Y+WICVz77yb6YCZ5YCL6ZyA5rGC5L2/55So55qEXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAg6YKE5pivIC0tdXRjIOaIliAtLWxvY2FsdGltZVxuIgorIiAgICAgLS1hZGpmaWxlIDxmaWxlPiDmjIflrprot6/lvpHliLDoqr/mlbTmqpTmoYjvvJtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICDpoJDoqK3mmK8gJXNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDUKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZXN0YW1wPiAgIGRhdGUgdGltZSBvZiB0aW1lc3RhbXAgdG8gd2FrZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA2Cittc2dpZCAiIC1kLCAtLWRldmljZSA8ZGV2aWNlPiAgICBzZWxlY3QgcnRjIGRldmljZSAocnRjMHxydGMxfC4uLilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNworbXNnaWQgIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgZG9lcyBldmVyeXRoaW5nLCBidXQgc3VzcGVuZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA4CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIHVzZXMgbG9jYWwgdGltZXpvbmVcbiIKK21zZ3N0ciAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiKXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA5Cittc2dpZCAiICAgICAtLWxpc3QtbW9kZXMgICAgICAgICBsaXN0IGF2YWlsYWJsZSBtb2Rlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEwCittc2dpZCAiIC1tLCAtLW1vZGUgPG1vZGU+ICAgICAgICBzdGFuZGJ5fG1lbXwuLi4gc2xlZXAgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTExCittc2dpZCAiIC1zLCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTIKK21zZ2lkICIgLXQsIC0tdGltZSA8dGltZV90PiAgICAgIHRpbWUgdG8gd2FrZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEzCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIHVzZXMgVVRDXG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIOmHjee9rumAmuioiuWfoFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAg5YiX5Y2w6Kmz57Sw55qE6LOH5paZXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTY3CisjLCBmdXp6eQorbXNnaWQgInJlYWQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICLoroDlj5YgcnRjIOaZgumWk+WkseaVlyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBzeXN0ZW0gdGltZSBmYWlsZWQiCittc2dzdHIgIuiugOWPluezu+e1seaZgumWk+WkseaVlyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiY29udmVydCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgIui9ieaPmyBydGMg5pmC6ZaT5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjIzNworIywgZnV6enkKK21zZ2lkICJzZXQgcnRjIHdha2UgYWxhcm0gZmFpbGVkIgorbXNnc3RyICLoqK3lrpogcnRjIOWWmumGkuitpuekuuWkseaVlyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdGhpcmQgbGluZSBpbjogJXM6ICVzIgorbXNnc3RyICLmnKrpoJDmnJ/nmoTmqpTmoYjntZDmnZ/mlrwgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzIwIHN5cy11dGlscy9ydGN3YWtlLmM6NjI0CisjLCBmdXp6eQorbXNnaWQgInJlYWQgcnRjIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAi6K6A5Y+WIHJ0YyDorabnpLrlpLHmlZciCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb2ZmXG4iCittc2dzdHIgIuitpuekuu+8mumXnOmWiVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMzOAorIywgZnV6enkKK21zZ2lkICJjb252ZXJ0IHRpbWUgZmFpbGVkIgorbXNnc3RyICLovYnmj5vmmYLplpPlpLHmlZciCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb24gICVzIgorbXNnc3RyICLorabnpLrvvJrmlrwgICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQ6ICVzIgorbXNnc3RyICLnhKHms5XoroDlj5YgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgc3VzcGVuZCBzdGF0ZSAnJXMnIgorbXNnc3RyICLnhKHms5XovqjorZjnmoTmh7jnva7ni4DmhYvjgI4lc+OAjyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0NzUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzZWNvbmRzIGFyZ3VtZW50IgorbXNnc3RyICLnhKHmlYjnmoTnp5LlvJXmlbgiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDc5CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgdGltZSBhcmd1bWVudCIKK21zZ3N0ciAi54Sh5pWI55qE5pmC6ZaT5byV5pW4IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYXNzdW1pbmcgUlRDIHVzZXMgVVRDIC4uLlxuIgorbXNnc3RyICIlc++8muWBh+iorSBSVEMg5L2/55SoIFVUQyDigKZcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTEKK21zZ2lkICJVc2luZyBVVEMgdGltZS5cbiIKK21zZ3N0ciAi5L2/55SoIFVUQyDmmYLplpPjgIJcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTIKK21zZ2lkICJVc2luZyBsb2NhbCB0aW1lLlxuIgorbXNnc3RyICLkvb/nlKjnlbblnLDmmYLplpPjgIJcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MTUKKyMsIGZ1enp5Cittc2dpZCAibXVzdCBwcm92aWRlIHdha2UgdGltZSAoc2VlIC0tc2Vjb25kcywgLS10aW1lIGFuZCAtLWRhdGUgb3B0aW9ucykiCittc2dzdHIgIuW/hemgiOaPkOS+m+WWmumGkuaZgumWkyAo5Y+D55yLIC10IOWSjCAtcyDpgbjpoIUpIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGVuYWJsZWQgZm9yIHdha2V1cCBldmVudHMiCittc2dzdHIgIiVzIOacquWVn+eUqOeUqOaWvCB3YWtldXAg5LqL5Lu2IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyOAorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybSAlbGQsIHN5c190aW1lICVsZCwgcnRjX3RpbWUgJWxkLCBzZWNvbmRzICV1XG4iCittc2dzdHIgIuitpuekuiAlbGTvvIzns7vntbHmmYLplpMgJWxk77yMcnRjIOaZgumWkyAlbGTvvIznp5LmlbggJXVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRpbWUgZG9lc24ndCBnbyBiYWNrd2FyZCB0byAlcyIKK21zZ3N0ciAi5pmC6ZaT5LiN5YmN5b6A6YCA5LiA5q2l5YiwICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiJXPvvJp3YWtldXAg5L2/55SoICVzIOaWvCAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgZnJvbSBcIiVzXCIgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIiVz77yad2FrZXVwIOW+nuOAjCVz44CN5L2/55SoICVzIOaWvCAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBubzsgbGVhdmluZ1xuIgorbXNnc3RyICLmh7jnva7mqKHlvI/vvJrnhKHvvJvpm6LplotcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvZmY7IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICLmh7jnva7mqKHlvI/vvJrpl5zplonvvJvln7fooYwgJXNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvbjsgcmVhZGluZyBydGNcbiIKK21zZ3N0ciAi5oe4572u5qih5byP77ya6ZaL5ZWf77yb6K6A5Y+WIHJ0Y1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU5MgorIywgZnV6enkKK21zZ2lkICJydGMgcmVhZCBmYWlsZWQiCittc2dzdHIgInJ0YyDoroDlj5blpLHmlZciCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjA0CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogZGlzYWJsZTsgZGlzYWJsaW5nIGFsYXJtXG4iCittc2dzdHIgIuaHuOe9ruaooeW8j++8muWBnOeUqO+8m+WBnOeUqOitpuekulxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBzaG93OyBwcmludGluZyBhbGFybSBpbmZvXG4iCittc2dzdHIgIuaHuOe9ruaooeW8j++8mumhr+ekuu+8m+WIl+WNsOitpuekuuizh+ioilxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYxNQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6ICVzOyBzdXNwZW5kaW5nIHN5c3RlbVxuIgorbXNnc3RyICLmh7jnva7mqKHlvI/vvJolc++8m+aHuOe9ruezu+e1sVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyOQorIywgZnV6enkKK21zZ2lkICJkaXNhYmxlIHJ0YyBhbGFybSBpbnRlcnJ1cHQgZmFpbGVkIgorbXNnc3RyICLlgZznlKggcnRjIOitpuekuuaPkuaWt+WkseaVlyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo0OAorIywgYy1mb3JtYXQKK21zZ2lkICJTd2l0Y2hpbmcgb24gJXMuXG4iCittc2dzdHIgIuWIh+aPm+aWvCAlc+OAglxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGFyY2g+IFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIDxwcm9ncmFtPiBb5byV5pW4Li4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gPHByb2dyYW0+IFvlvJXmlbguLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTYKK21zZ2lkICJDaGFuZ2UgdGhlIHJlcG9ydGVkIGFyY2hpdGVjdHVyZSBhbmQgc2V0IHBlcnNvbmFsaXR5IGZsYWdzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTkKK21zZ2lkICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIHR1cm5zIG9uIEFERFJfTElNSVRfMzJCSVRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMAorbXNnaWQgIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAgbWFrZXMgZnVuY3Rpb24gcG9pbnRlcnMgcG9pbnQgdG8gZGVzY3JpcHRvcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMQorbXNnaWQgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgdHVybnMgb24gU0hPUlRfSU5PREVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMgorbXNnaWQgIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQgY2hhbmdlcyB0aGUgd2F5IHZpcnR1YWwgbWVtb3J5IGlzIGFsbG9jYXRlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAzCittc2dpZCAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBkaXNhYmxlcyByYW5kb21pemF0aW9uIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNAorbXNnaWQgIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgdHVybnMgb24gV0hPTEVfU0VDT05EU1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA1Cittc2dpZCAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0dXJucyBvbiBTVElDS1lfVElNRU9VVFNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNgorbXNnaWQgIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgdHVybnMgb24gUkVBRF9JTVBMSUVTX0VYRUNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNworbXNnaWQgIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgdHVybnMgb24gTU1BUF9QQUdFX1pFUk9cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOAorbXNnaWQgIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgbGltaXRzIHRoZSB1c2VkIGFkZHJlc3Mgc3BhY2UgdG8gYSBtYXhpbXVtIG9mIDMgR0JcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOQorbXNnaWQgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMAorbXNnaWQgIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgdHVybnMgb24gVU5BTUUyNlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTExCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgc2F5IHdoYXQgb3B0aW9ucyBhcmUgYmVpbmcgc3dpdGNoZWQgb25cbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIOino+mHi+S7gOm6vOato+WcqOaYr+W3suWujOaIkFxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExNAorbXNnaWQgIiAgICAgLS1saXN0ICAgICAgICAgICAgICAgbGlzdCBzZXR0YWJsZSBhcmNoaXRlY3R1cmVzLCBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiJXNcbiIKKyJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorbXNnc3RyICIiCisiJXNcbiIKKyLlmJfoqabjgI4lcyAtLWhlbHDjgI/ku6XnjbLlvpfmm7TlpJros4foqIrjgIIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorbXNnc3RyICLlmJfoqabjgI4lcyAtLWhlbHDjgI/ku6XnjbLlvpfmm7TlpJros4foqIrjgIIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBVbnJlY29nbml6ZWQgYXJjaGl0ZWN0dXJlIgorbXNnc3RyICIlc++8mueEoeazlei+qOitmOeahOaetuaniyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyNTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIktlcm5lbCBjYW5ub3Qgc2V0IGFyY2hpdGVjdHVyZSB0byAlcyIKK21zZ3N0ciAi54Sh5rOV6Kit5a6a6YC+5pmC55So5pa8ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjMwNQorbXNnaWQgIk5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICLlvJXmlbjkuI3otrMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzIyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIuioreWumui6q+WIhueCuiAlcyDmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc5CisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJy0tbGlzdCciCittc2dzdHIgIueEoeazlei+qOitmOeahOi8uOWFpe+8miVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM4NworIywgZnV6enkKK21zZ2lkICJubyBhcmNoaXRlY3R1cmUgYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICLmnKrmjIflrprku7vkvZXplbfluqblvJXmlbgiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICLoqK3lrprouqvliIbngrogJXMg5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRXhlY3V0ZSBjb21tYW5kIGAlcycuXG4iCittc2dzdHIgIuWft+ihjOaXpeacn+WRveS7pO+8miVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggZGlmZmVyZW50IHByaXZpbGVnZSBzZXR0aW5ncy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgIHNob3cgY3VycmVudCBzdGF0ZSAoYW5kIGRvIG5vdCBleGVjIGFueXRoaW5nKVxuIgorbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAg6aGv56S65bu656uL6ICF5ZKM5pyA5b6M5LiA562G6KiI566XIFBJRHNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDEKK21zZ2lkICIgLS1ubnAsIC0tbm8tbmV3LXByaXZzICAgIGRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDIKK21zZ2lkICIgLS1pbmgtY2FwcyA8Y2FwcywuLi4+ICAgIHNldCBpbmhlcml0YWJsZSBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwMworbXNnaWQgIiAtLWJvdW5kaW5nLXNldCA8Y2Fwcz4gICAgc2V0IGNhcGFiaWxpdHkgYm91bmRpbmcgc2V0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAiIC0tcnVpZCA8dWlkPiAgICAgICAgICAgICBzZXQgcmVhbCB1aWRcbiIKK21zZ3N0ciAiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAg5oyH5a6a5Lim5YiX5Z+gIGlycVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNQorIywgZnV6enkKK21zZ2lkICIgLS1ldWlkIDx1aWQ+ICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiAtdCwgLS1zZXQtZmx1c2ggPG51bT4gICAgICAgICAgICAgIOioreWumua4heeQhumAvuaZguWIsOWAvFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEwNgorIywgZnV6enkKK21zZ2lkICIgLS1yZ2lkIDxnaWQ+ICAgICAgICAgICAgIHNldCByZWFsIGdpZFxuIgorbXNnc3RyICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICDmjIflrprkuKbliJfln6AgaXJxXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA3Cittc2dpZCAiIC0tZWdpZCA8Z2lkPiAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA4Cittc2dpZCAiIC0tcmV1aWQgPHVpZD4gICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTA5Cittc2dpZCAiIC0tcmVnaWQgPGdpZD4gICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEwCittc2dpZCAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICBjbGVhciBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTExCittc2dpZCAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICBrZWVwIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTIKK21zZ2lkICIgLS1ncm91cHMgPGdyb3VwLC4uLj4gICAgIHNldCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTEzCisjLCBmdXp6eQorbXNnaWQgIiAtLXNlY3VyZWJpdHMgPGJpdHM+ICAgICAgc2V0IHNlY3VyZWJpdHNcbiIKK21zZ3N0ciAiIC03LCAtLXNldmVuYml0cyAgICAgICAgIOioreWumuWtl+WFg+Wkp+Wwj+WIsCA3IOS9jeWFg1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNAorbXNnaWQgIiAtLXNlbGludXgtbGFiZWwgPGxhYmVsPiAgc2V0IFNFTGludXggbGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNQorbXNnaWQgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgc2V0IEFwcEFybW9yIHByb2ZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyMQorbXNnaWQgIiBUaGlzIHRvb2wgY2FuIGJlIGRhbmdlcm91cy4gIFJlYWQgdGhlIG1hbnBhZ2UsIGFuZCBiZSBjYXJlZnVsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTkzIHN5cy11dGlscy9zZXRwcml2LmM6NDY3Cittc2dpZCAiZ2V0dGluZyBwcm9jZXNzIHNlY3VyZSBiaXRzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN1cmViaXRzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIltub25lXVxuIgorbXNnc3RyICLnhKEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIGxvbmciCittc2dzdHIgIuWIl+WkqumVtyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3MyBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyMSBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyNgorIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzIgc3lzLXV0aWxzL3NldHByaXYuYzozMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIltub25lXSIKK21zZ3N0ciAi54ShIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXVpZDogJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJzdWlkOiAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjk5IHN5cy11dGlscy9zZXRwcml2LmM6MzkxCisjLCBmdXp6eQorbXNnaWQgImdldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCDlpLHmlZciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzA4IHN5cy11dGlscy9zZXRwcml2LmM6NDA2CisjLCBmdXp6eQorbXNnaWQgImdldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgInNldGdpZCDlpLHmlZciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIkVmZmVjdGl2ZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMyNAorIywgYy1mb3JtYXQKK21zZ2lkICJQZXJtaXR0ZWQgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FwYWJpbGl0eSBib3VuZGluZyBzZXQ6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MworIywgZnV6enkKK21zZ2lkICJTRUxpbnV4IGxhYmVsIgorbXNnc3RyICJMaW51eCDntJTmloflrZciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQ2Cittc2dpZCAiQXBwQXJtb3IgcHJvZmlsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYXAgJWQ6IGxpYmNhcC1uZyBpcyBicm9rZW4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODIKK21zZ2lkICJJbnZhbGlkIHN1cHBsZW1lbnRhcnkgZ3JvdXAgaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozOTkKKyMsIGZ1enp5Cittc2dpZCAic2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkIOWkseaVlyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAic2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0Z2lkIOWkseaVlyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MzUKK21zZ2lkICJiYWQgY2FwYWJpbGl0eSBzdHJpbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NDMKK21zZ2lkICJsaWJjYXAtbmcgaXMgdG9vIG9sZCBmb3IgXCJhbGxcIiBjYXBzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNhcGFiaWxpdHkgXCIlc1wiIgorbXNnc3RyICLkuI3mmI7mqZ/og73jgI4lc+OAjyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NzYKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCBzZXQgLS0gcmVmdXNpbmcgdG8gYWRqdXN0IgorbXNnc3RyICLnhKHms5XovqjorZjnmoTmoLzlvI8gLSDkvb/nlKjno4HljYDmlbhcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0ODAKK21zZ2lkICJiYWQgc2VjdXJlYml0cyBzdHJpbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAiK2FsbCBzZWN1cmViaXRzIGlzIG5vdCBhbGxvd2VkIgorbXNnc3RyICLjgI4lY+OAj+acquiiq+WFgeiosSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDAKKyMsIGZ1enp5Cittc2dpZCAiYWRqdXN0aW5nIGtlZXBfY2FwcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICLmjIflrprnmoTnr4TlnI08JWQ6JWQ+5LiN5YW35Lu75L2V5oSP576pIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUwNAorIywgZnV6enkKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IgorbXNnc3RyICLnhKHms5XovqjorZjnmoTovLjlhaXvvJolcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MjQKK21zZ2lkICJTRUxpbnV4IGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjbG9zZSBmYWlsZWQ6ICVzIgorbXNnc3RyICLmkJzlsIvlpLHmlZciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTQ3Cittc2dpZCAiQXBwQXJtb3IgaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NTgKK21zZ2lkICJkdXBsaWNhdGUgLS1uby1uZXctcHJpdnMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjYzCittc2dpZCAiZHVwbGljYXRlIHJ1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2NjUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJ1aWQiCittc2dzdHIgIuWJluaekCBwaWQg5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY2OQorbXNnaWQgImR1cGxpY2F0ZSBldWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjcxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBldWlkIgorbXNnc3RyICLliZbmnpDntZDmnZ/mmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Njc1Cittc2dpZCAiZHVwbGljYXRlIHJ1aWQgb3IgZXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY3NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmV1aWQiCittc2dzdHIgIuWJluaekCBwaWQg5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4MQorbXNnaWQgImR1cGxpY2F0ZSByZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjgzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZ2lkIgorbXNnc3RyICLliZbmnpAgcGlkIOaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2ODcKK21zZ2lkICJkdXBsaWNhdGUgZWdpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY4OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWdpZCIKK21zZ3N0ciAi5YmW5p6Q57WQ5p2f5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjY5MworbXNnaWQgImR1cGxpY2F0ZSByZ2lkIG9yIGVnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2OTUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJlZ2lkIgorbXNnc3RyICLliZbmnpAgcGlkIOaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MDAKK21zZ2lkICJkdXBsaWNhdGUgLS1jbGVhci1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzA2Cittc2dpZCAiZHVwbGljYXRlIC0ta2VlcC1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzEyCittc2dpZCAiZHVwbGljYXRlIC0tZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcyMQorbXNnaWQgImR1cGxpY2F0ZSAtLWluaC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjcyNworbXNnaWQgImR1cGxpY2F0ZSAtLWJvdW5kaW5nLXNldCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3MzMKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWN1cmViaXRzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjczOQorbXNnaWQgImR1cGxpY2F0ZSAtLXNlbGludXgtbGFiZWwgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzQ1Cittc2dpZCAiZHVwbGljYXRlIC0tYXBwYXJtb3ItcHJvZmlsZSBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJyVjJyIKK21zZ3N0ciAi54Sh5rOV6L6o6K2Y55qE6Ly45YWl77yaJXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzYzCittc2dpZCAiLS1kdW1wIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzcxCisjLCBmdXp6eQorbXNnaWQgIi0tbGlzdC1jYXBzIG11c3QgYmUgc3BlY2lmaWVkIGFsb25lIgorbXNnc3RyICLpgbjpoIUgLS1waWQg5Lmf6Kix5pyD6KKr5oyH5a6a55qE5Y+q5LiA5qyhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3NworIywgZnV6enkKK21zZ2lkICJObyBwcm9ncmFtIHNwZWNpZmllZCIKK21zZ3N0ciAi5pyq5oyH5a6a5Lu75L2V5qqU5ZCNIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4MgorbXNnaWQgIi0tW3JlXWdpZCByZXF1aXJlcyAtLWtlZXAtZ3JvdXBzLCAtLWNsZWFyLWdyb3Vwcywgb3IgLS1ncm91cHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODUKK21zZ2lkICJkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTMKK21zZ2lkICJrZWVwIHByb2Nlc3MgY2FwYWJpbGl0aWVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwMQorbXNnaWQgImFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwNworbXNnaWQgInJlYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODIzCisjLCBmdXp6eQorbXNnaWQgInNldCBwcm9jZXNzIHNlY3VyZWJpdHMgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQg5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyOQorbXNnaWQgImFwcGx5IGJvdW5kaW5nIHNldCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgzNQorbXNnaWQgImFwcGx5IGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGV4ZWN1dGU6ICVzIgorbXNnc3RyICLnhKHms5Xlr6vlhaUgJXMiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3VtZW50cyAuLi5dXG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSA8cHJvZ3JhbT4gW+W8leaVuC4uLl1cbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjM2Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSBpbiBhIG5ldyBzZXNzaW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozOQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tY3R0eSAgICAgc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCB0byB0aGUgY3VycmVudCBvbmVcbiIKK21zZ3N0ciAiIC1jLCAtLWN0dHkgICAgIOioreWumuaOp+WItue1guerr+apn+WIsOebruWJjeeahOS4gOWAi1xuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDAKK21zZ2lkICIgLXcsIC0td2FpdCAgICAgd2FpdCBwcm9ncmFtIHRvIGV4aXQsIGFuZCB1c2UgdGhlIHNhbWUgcmV0dXJuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjkzCisjLCBmdXp6eQorbXNnaWQgImZvcmsiCittc2dzdHIgIuihjeeUnyIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjEwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hpbGQgJWQgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICLljbjovInnmoTjgI4lc+OAj+S4puacquato+W4uOmboumWiyIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExMAorIywgZnV6enkKK21zZ2lkICJzZXRzaWQgZmFpbGVkIgorbXNnc3RyICJzZXRzaWQg5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIgorbXNnc3RyICLoqK3lrprmjqfliLbntYLnq6/mqZ/mmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInN3YXBvZmYgJXNcbiIKK21zZ3N0ciAic3dhcG9mZiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNQorbXNnaWQgIk5vdCBzdXBlcnVzZXIuIgorbXNnc3RyICLkuKbpnZ7ns7vntbHnrqHnkIbogIXjgIIiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb2ZmIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJpzd2Fwb2ZmIOWkseaVlyIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjIgc3lzLXV0aWxzL3N3YXBvbi5jOjc4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHNwZWM+XVxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gWzxzcGVjPl1cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjUKK21zZ2lkICJEaXNhYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI4CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBzd2FwcyBmcm9tIC9wcm9jL3N3YXBzXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICDlhajpg6jlgZznlKjkuqTmj5vlvp4vcHJvYy/kuqTmj5tcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICDoqbPntLDmqKHlvI9cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMzUKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisiXG4iCisiPHNwZWM+IOWPg+aVuO+8mlxuIgorIiAtTDzmqJnosrw+ICAgICAgICAgICAg5qiZ6LK855qE6KOd572u54K65L2/55SoXG4iCisiIC1VPHV1aWQ+ICAgICAgICAgICAgIFVVSUQg55qE6KOd572u54K65L2/55SoXG4iCisiIOaomeiyvD085qiZ6LK8PiAgICAgICAgIOaomeiyvOeahOijnee9rueCuuS9v+eUqFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgVVVJRCDnmoToo53nva7ngrrkvb/nlKhcbiIKKyI86KOd572uPiAgICAgICAgICAgICAg5ZCN56ix55qE6KOd572u54K65L2/55SoXG4iCisiPOaqlOahiD4gICAgICAgICAgICAgICAg5ZCN56ix55qE5qqU5qGI54K65L2/55SoXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MworIywgZnV6enkKK21zZ2lkICJkZXZpY2UgZmlsZSBvciBwYXJ0aXRpb24gcGF0aCIKK21zZ3N0ciAi6KOd572u5qqU5qGI5oiW5YiG5Ymy6Lev5b6RIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTQKKyMsIGZ1enp5Cittc2dpZCAidHlwZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICLlnovmhYvnmoToo53nva4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NQorIywgZnV6enkKK21zZ2lkICJzaXplIG9mIHRoZSBzd2FwIGFyZWEiCittc2dzdHIgIuWkp+Wwj+eahOS6pOaPm+WNgOWfnyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk2CisjLCBmdXp6eQorbXNnaWQgImJ5dGVzIGluIHVzZSIKK21zZ3N0ciAi5L2N5YWD57WE5Zyo5Lit5L2/55SoIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTcKKyMsIGZ1enp5Cittc2dpZCAic3dhcCBwcmlvcml0eSIKK21zZ3N0ciAi5Lqk5o+b5YSq5YWI5qyKIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTgKK21zZ2lkICJzd2FwIHV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk5CisjLCBmdXp6eQorbXNnaWQgInN3YXAgbGFiZWwiCittc2dzdHIgIueEoeaomeexpO+8jCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXNcdFx0XHRcdFR5cGVcdFx0U2l6ZVx0VXNlZFx0UHJpb3JpdHlcbiIKK21zZ3N0ciAiJXNcdFx0XHRcdOWei+aFi1x0XHTlpKflsI9cdOS9v+eUqFx05YSq5YWI5qyKXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNDYKKyMsIGZ1enp5Cittc2dpZCAiRmlsZW5hbWUiCittc2dzdHIgIuaqlOWQjSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVpbml0aWFsaXppbmcgdGhlIHN3YXAuIgorbXNnc3RyICIlc++8mumHjeaWsOWIneWni+WMluS6pOaPm+WNgOOAgiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbHNlZWsgZmFpbGVkIgorbXNnc3RyICIlc++8mmxzZWVrIOWkseaVlyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgc2lnbmF0dXJlIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJrlr6vlhaXnsL3nq6DmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIC0gaXQgYXBwZWFycyB0byBoYXZlIGhvbGVzLiIKK21zZ3N0ciAiJXPvvJrot7PpgY4gLSDnnIvkvobkvLzkuY7mnInmvI/mtJ7jgIIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldCBzaXplIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJrlj5blvpflpKflsI/mmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgc3dhcCBoZWFkZXIgZmFpbGVkIgorbXNnc3RyICIlc++8muiugOWPluS6pOaPm+WNgOmggemmluWkseaVlyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZvdW5kIHNpZ25hdHVyZSBbcGFnZXNpemU9JWQsIHNpZ25hdHVyZT0lc10iCittc2dzdHIgIiVz77ya5om+5Yiw5Lqk5o+b5Y2A57C956ug77ya54mI5pysICVk77yM6aCB6Z2i5aSn5bCPICVk77yMJXMg5L2N5YWD57WE5bqPIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYWdlc2l6ZT0lZCwgc3dhcHNpemU9JWxsdSwgZGV2c2l6ZT0lbGx1IgorbXNnc3RyICIlc++8mnBhZ2VzaXplPSVk77yMc3dhcHNpemU9JWxsde+8jGRldnNpemU9JWxsdSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGFzdF9wYWdlIDB4JTA4bGx4IGlzIGxhcmdlciB0aGFuIGFjdHVhbCBzaXplIG9mIHN3YXBzcGFjZSIKK21zZ3N0ciAiJXPvvJpsYXN0X3BhZ2UgMHglMDhsbHgg5aSn5pa85a+m6Zqb55qE5Lqk5o+b5Y2A56m66ZaT5aSn5bCPIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4iCittc2dzdHIgIiVz77ya5Lqk5o+b5Y2A5qC85byP6aCB6Z2i5aSn5bCP5LiN5ZC75ZCI44CCIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4gKFVzZSAtLWZpeHBnc3ogdG8gcmVpbml0aWFsaXplIGl0LikiCittc2dzdHIgIiVz77ya5Lqk5o+b5Y2A5qC85byP6aCB6Z2i5aSn5bCP5LiN5ZC75ZCI44CCKOS9v+eUqCAtLWZpeHBnc3og5Lul6YeN5paw5Yid5aeL5a6D44CCKSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc29mdHdhcmUgc3VzcGVuZCBkYXRhIGRldGVjdGVkLiBSZXdyaXRpbmcgdGhlIHN3YXAgc2lnbmF0dXJlLiIKK21zZ3N0ciAiJXPvvJrlgbXmuKzliLDou5/pq5Tmh7jnva7os4fmlpnjgILph43mlrDlr6vlhaXkuqTmj5vljYDnsL3nq6DjgIIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInN3YXBvbiAlc1xuIgorbXNnc3RyICJzd2Fwb24gJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9uIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJpzd2Fwb24g5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm9hdXRvIG9wdGlvbiAtLSBpZ25vcmVkIgorbXNnc3RyICIlc++8muWJluaekOmMr+iqpOaWvOWIlyAlZCAtLSDlv73nlaUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbHJlYWR5IGFjdGl2ZSAtLSBpZ25vcmVkIgorbXNnc3RyICIlc++8muWJluaekOmMr+iqpOaWvOWIlyAlZCAtLSDlv73nlaUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbmFjY2Vzc2libGUgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXPvvJrnhKHms5Xlr6vlhaUgaW5vZGVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzkxCittc2dpZCAiRW5hYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTQKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICBlbmFibGUgYWxsIHN3YXBzIGZyb20gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICDliJfljbDmiYDmnInnrKbomZ/vvIzljbPkvb/oqIjmlbjmmK8gMFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk1Cittc2dpZCAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTYKK21zZ2lkICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHNpbGVudGx5IHNraXAgZGV2aWNlcyB0aGF0IGRvIG5vdCBleGlzdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTcKK21zZ2lkICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHJlaW5pdGlhbGl6ZSB0aGUgc3dhcCBzcGFjZSBpZiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk4Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBzd2FwIG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk5CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgc3BlY2lmeSB0aGUgcHJpb3JpdHkgb2YgdGhlIHN3YXAgZGV2aWNlXG4iCittc2dzdHIgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIOaMh+WumuS4puWIl+WfoCBpcnFcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMAorbXNnaWQgIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgZGlzcGxheSBzdW1tYXJ5IGFib3V0IHVzZWQgc3dhcCBkZXZpY2VzIChERVBSRUNBVEVEKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDEKK21zZ2lkICIgICAgIC0tc2hvd1s9PGNvbHVtbnM+XSAgIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgdGFibGUgaGVhZGluZyAod2l0aCAtLXNob3cpXG4iCittc2dzdHIgIiAtZiAgICAgICAgICAg5LiN5YiG5Ymy6ZW35YiXXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDMKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0ICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiKXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDQKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgc2l6ZSBpbiBieXRlcyBpbiAtLXNob3cgb3V0cHV0XG4iCittc2dzdHIgIiAtaCAgICAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piO54S25b6M6Zui6ZaLXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAg5YiX5Y2w6Kmz57Sw55qE6LOH5paZXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTEKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisiXG4iCisiPHNwZWM+IOWPg+aVuO+8mlxuIgorIiAtTDzmqJnosrw+ICAgICAgICAgICAg5ZCM576p5a2X55So5pa85qiZ6LK8PTzmqJnosrw+XG4iCisiIC1VPHV1aWQ+ICAgICAgICAgICAgIOWQjOe+qeWtl+eUqOaWvCBVVUlEPTx1dWlkPlxuIgorIiDmqJnosrw9POaomeiyvD4gICAgICAgICDmjIflrproo53nva7nlLHkuqTmj5vljYDln5/mqJnosrxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgIOaMh+Wumuijnee9rueUseS6pOaPm+WNgOWfnyBVVUlEXG4iCisiIFBBUlRMQUJFTD085qiZ6LK8PiAgICAg5oyH5a6a6KOd572u55Sx5YiG5Ymy5qiZ6LK8XG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICDmjIflrproo53nva7nlLHliIblibIgVVVJRFxuIgorIjzoo53nva4+ICAgICAgICAgICAgICDlkI3nqLHnmoToo53nva7ngrrkvb/nlKhcbiIKKyI85qqU5qGIPiAgICAgICAgICAgICAgICDlkI3nqLHnmoTmqpTmoYjngrrkvb/nlKhcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgyMQorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgZGlzY2FyZCBwb2xpY3kgdHlwZXMgKGZvciAtLWRpc2NhcmQpOlxuIgorIiBvbmNlICAgIDogb25seSBzaW5nbGUtdGltZSBhcmVhIGRpc2NhcmRzIGFyZSBpc3N1ZWRcbiIKKyIgcGFnZXMgICA6IGZyZWVkIHBhZ2VzIGFyZSBkaXNjYXJkZWQgYmVmb3JlIHRoZXkgYXJlIHJldXNlZFxuIgorIklmIG5vIHBvbGljeSBpcyBzZWxlY3RlZCwgYm90aCBkaXNjYXJkIHR5cGVzIGFyZSBlbmFibGVkIChkZWZhdWx0KS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODI2CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLlj6/nlKjmrITkvY0gKOeUqOaWvCAtLXNob3cp77yaXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MDQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHByaW9yaXR5IgorbXNnc3RyICLliZbmnpAgcGlkIOaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICLkuI3lj5fmlK/mj7TnmoTlvJXmlbjvvJolcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCB0aGUgZGV2aWNlIGZvciAlcyIKK21zZ3N0ciAi5om+5LiN5Yiw5YGa54K6ICVzIOeahOijnee9riIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NTkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGlyZWN0b3J5IgorbXNnc3RyICLplovllZ/nm67pjITmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjY3CisjLCBmdXp6eQorbXNnaWQgInN0YXQgZmFpbGVkIgorbXNnc3RyICJzdGF0IOWkseaVlyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NzgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgZGlyZWN0b3J5IgorbXNnc3RyICLoroDlj5bnm67pjITmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjExMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVubGluayAlcyIKK21zZ3N0ciAi5Y+W5raI6YCj57WQICVzIOaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvICVzIgorbXNnc3RyICLmjpvovInnp7vli5UgJXMg5YiwICVzIOaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmb3JjaW5nIHVubW91bnQgb2YgJXMiCittc2dzdHIgIuW8t+WItuWNuOi8ieeahCAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAi6K6K5pu055uu6YyE5YiwICVzIOaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvIC8iCittc2dzdHIgIuaOm+i8ieenu+WLlSAlcyDliLDmmYLlpLHmlZcvIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNzUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IgorbXNnc3RyICLorormm7TmoLnmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE4OAorbXNnaWQgIm9sZCByb290IGZpbGVzeXN0ZW0gaXMgbm90IGFuIGluaXRyYW1mcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG5ld3Jvb3RkaXI+IDxpbml0PiA8YXJncyB0byBpbml0PlxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gPG5ld3Jvb3RkaXI+PGluaXQ+POW8leaVuOWIsCBpbml0PlxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDQKK21zZ2lkICJTd2l0Y2ggdG8gYW5vdGhlciBmaWxlc3lzdGVtIGFzIHRoZSByb290IG9mIHRoZSBtb3VudCB0cmVlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIzNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQuIFNvcnJ5LiIKK21zZ3N0ciAi5aSx5pWX44CC5oqx5q2J44CCIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBhY2Nlc3MgJXMiCittc2dzdHIgIueEoeazleWtmOWPliAlcyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk0Cittc2dpZCAiU2V0IHZhcmlvdXMgcGFyYW1ldGVycyBmb3IgdGhlIGxpbmUgcHJpbnRlci5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTcKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAgc3BlY2lmeSBwYXJhbGxlbCBwb3J0IGlycVxuIgorbXNnc3RyICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICDmjIflrprkuKbliJfln6AgaXJxXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5OAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICBkcml2ZXIgd2FpdCB0aW1lIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICDpqYXli5XnqIvlvI/nrYnlvoXmmYLplpPlnKjkuK3mr6vnp5JcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk5CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jaGFycyA8bnVtPiAgICAgICAgICAgIG51bWJlciBvZiBvdXRwdXQgY2hhcmFjdGVycyBiZWZvcmUgc2xlZXBcbiIKK21zZ3N0ciAiIC1jLCAtLWNoYXJzIDxudW0+ICAgICAgICAgICAg6Ly45Ye65a2X5YWD5pW455qE5LmL5YmN5pqr5YGcXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgc3Ryb2JlIHdhaXQgaW4gbWljcm8gc2Vjb25kc1xuIgorbXNnc3RyICIgLXcsIC0td2FpdCA8dXM+ICAgICAgICAgICAgICBzdHJvYmUg562J5b6F5Zyo5LitIG1pY3JvIOenklxuIgorCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSA8b258b2ZmPiBhcmd1bWVudHMuIFRoZQorIy4gYXJndW1lbnQgcmVhZGVyIGRvZXMgbm90IHJlY29nbml6ZSBsb2NhbGUsIHVubGVzcyBgb24nIGlzCisjLiBleGFjdGx5IHRoYXQgdmVyeSBzYW1lIHN0cmluZy4KKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAgYWJvcnQgb24gZXJyb3JcbiIKK21zZ3N0ciAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAg5pS+5qOE5pa86Yyv6KqkXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDUKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLWNoZWNrLXN0YXR1cyA8b258b2ZmPiAgY2hlY2sgcHJpbnRlciBzdGF0dXMgYmVmb3JlIHByaW50aW5nXG4iCittc2dzdHIgIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gIOaqouafpeWNsOihqOapn+eLgOaFi+S5i+WJjeWIl+WNsFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA2CisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jYXJlZnVsIDxvbnxvZmY+ICAgICAgIGV4dHJhIGNoZWNraW5nIHRvIHN0YXR1cyBjaGVja1xuIgorbXNnc3RyICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICDpoY3lpJbmqqLmn6XliLDni4DmhYvmqqLmn6VcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICBxdWVyeSBwcmludGVyIHN0YXR1c1xuIgorbXNnc3RyICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICDmn6XoqaLljbDooajmqZ/ni4DmhYtcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOAorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdHJ1c3QtaXJxIDxvbnxvZmY+ICAgICBtYWtlIGRyaXZlciB0byB0cnVzdCBpcnFcbiIKK21zZ3N0ciAiIC1ULCAtLXRydXN0LWlycSA8b258b2ZmPiAgICAg6KO95L2c6amF5YuV56iL5byP5Yiw5L+h6LO0IGlycVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA5CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIHJlc2V0IHRoZSBwb3J0XG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIOmHjee9rumAmuioiuWfoFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEwCisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgIGRpc3BsYXkgY3VycmVudCBpcnEgc2V0dGluZ1xuIgorbXNnc3RyICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICDpoa/npLrnm67liY3nmoQgaXJxIOioreWumlxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgYW4gbHAgZGV2aWNlIgorbXNnc3RyICIlcyDkuI3mmK8gbHAg6KOd572uIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjgwCittc2dpZCAiTFBHRVRTVEFUVVMgZXJyb3IiCittc2dzdHIgIkxQR0VUU1RBVFVTIOmMr+iqpCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdGF0dXMgaXMgJWQiCittc2dzdHIgIiVzIOeLgOaFi+eCuiAlZCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIsIGJ1c3kiCittc2dzdHIgIu+8jOW/meeijOS4rSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICIsIHJlYWR5IgorbXNnc3RyICLvvIzlsLHnt5IiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvdXQgb2YgcGFwZXIiCittc2dzdHIgIu+8jOe0meW8teiAl+eboSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICIsIG9uLWxpbmUiCittc2dzdHIgIu+8jOS4iue3miIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5NQorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVycm9yIgorbXNnc3RyICLvvIzpjK/oqqQiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMDAKKyMsIGZ1enp5Cittc2dpZCAiaW9jdGwgZmFpbGVkIgorbXNnc3RyICJpb2N0bCDlpLHmlZciCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTAKK21zZ2lkICJMUEdFVElSUSBlcnJvciIKK21zZ3N0ciAiTFBHRVRJUlEg6Yyv6KqkIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIElSUSAlZFxuIgorbXNnc3RyICIlcyDmraPlnKjkvb/nlKggSVJRICVkXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgcG9sbGluZ1xuIgorbXNnc3RyICIlcyDmraPlnKjkvb/nlKjovKroqaJcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gfCA8ZGlyZWN0b3J5PlxuIgorbXNnc3RyICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBb6YG46aCFXVxuIgorIiAlMSRzIFvpgbjpoIVdIDxzb3VyY2U+fDznm67pjIQ+XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4MQorIywgZnV6enkKK21zZ2lkICJVbm1vdW50IGZpbGVzeXN0ZW1zLlxuIgorbXNnc3RyICLmqpTmoYjns7vntbHlnovmhYsiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgdW5tb3VudCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAg5YiX5Y2w5omA5pyJ56ym6Jmf77yM5Y2z5L2/6KiI5pW45pivIDBcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg1Cittc2dpZCAiIgorIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICB1bm1vdW50IGFsbCBtb3VudHBvaW50cyBmb3IgdGhlIGdpdmVuIGRldmljZSBpbiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NworbXNnaWQgIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODgKK21zZ2lkICIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAgaWYgbW91bnRlZCBsb29wIGRldmljZSwgYWxzbyBmcmVlIHRoaXMgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODkKK21zZ2lkICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgdW1vdW50KDIpIHN5c2NhbGxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTAKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgZm9yY2UgdW5tb3VudCAoaW4gY2FzZSBvZiBhbiB1bnJlYWNoYWJsZSBORlMgc3lzdGVtKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MQorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSB1bW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGRldGFjaCB0aGUgZmlsZXN5c3RlbSBub3csIGNsZWFuIHVwIHRoaW5ncyBsYXRlclxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIOW7uueri+ioiuaBr+S9h+WIl1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTQKK21zZ2lkICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk1Cittc2dpZCAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IHVubW91bnQgYSB0YXJnZXQgd2l0aCBhbGwgaXRzIGNoaWxkcmVuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk2CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBpbiBjYXNlIHVubW91bnRpbmcgZmFpbHMsIHRyeSB0byByZW1vdW50IHJlYWQtb25seVxuIgorbXNnc3RyICIgLXMgIC0tc2hhcmVkICAgICAgICAgICAgIOaPkOWPluWFseS6q+eahOmOluWumlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTcKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIgICBsICAg5YiX5Ye65bey55+l5qqU5qGI57O757Wx6aGe5Z6LIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMpIHVubW91bnRlZCIKK21zZ3N0ciAiJXMg6KKr5o6b6LyJXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHVubW91bnRlZCIKK21zZ3N0ciAiJXPvvJrnhKHms5XmjpvovIkiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bW91bnQgZmFpbGVkIgorbXNnc3RyICIlc++8mnVtb3VudCDlpLHmlZciCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCittc2dzdHIgIiVz77ya5qqU5qGI57O757WxIHVtb3VudGVk77yM5L2G5piv5o6b6LyJICg4KSDlpLHmlZciCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXPvvJrnhKHmlYjnmoTljYDloYroo53nva4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorbXNnc3RyICIlc++8mueEoeazleWvq+WFpei2heWNgOWhiiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzOiB0YXJnZXQgaXMgYnVzeVxuIgorIiAgICAgICAgKEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gYWJvdXQgcHJvY2Vzc2VzIHRoYXRcbiIKKyIgICAgICAgICB1c2UgdGhlIGRldmljZSBpcyBmb3VuZCBieSBsc29mKDgpIG9yIGZ1c2VyKDEpLikiCittc2dzdHIgIiIKKyIlc++8muebruaomeW/meeijOS4reOAglxuIgorIiAgICAgICAgKOWcqOafkOS6m+aDheazgeS4i+acieeUqOizh+ioiumXnOaWvOihjOeoi+ipsuS9v+eUqFxuIgorIiAgICAgICAgIOijnee9ruaYr+aJvuWIsOeUsSBsc29mICg4KSDmiJYgZnVzZXIgKDEpKSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50cG9pbnQgbm90IGZvdW5kIgorbXNnc3RyICIlc++8muaJvuS4jeWIsCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1MAorIywgZnV6enkKK21zZ2lkICJ1bmRlZmluZWQgbW91bnRwb2ludCIKK21zZ3N0ciAibW91bnRwb2ludCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVubW91bnQiCittc2dzdHIgIiVz77ya5b+F6aCI5piv57O757Wx566h55CG6ICF5YiwIHVtb3VudCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJsb2NrIGRldmljZXMgYXJlIG5vdCBwZXJtaXR0ZWQgb24gZmlsZXN5c3RlbSIKK21zZ3N0ciAiJXPvvJrljYDloYroo53nva7nhKHms5XlhYHoqLHnmoTmlrwgZnMiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozMDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCB1bW91bnQgdGFyZ2V0IgorbXNnc3RyICLoqK3lrpogdW1vdW50IOebruaomeaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMyMworIywgZnV6enkKK21zZ2lkICJsaWJtb3VudCB0YWJsZSBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibGlibW91bnQg6Kqe5aKD6YWN6aGN5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzY2IHN5cy11dGlscy91bW91bnQuYzo0NDYKKyMsIGZ1enp5Cittc2dpZCAibGlibW91bnQgaXRlcmF0b3IgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgImxpYm1vdW50IOiqnuWig+mFjemhjeWkseaVlyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjM3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBjaGlsZCBmcyBvZiAlcyIKK21zZ3N0ciAi5o+Q5Y+W6IiK55qEICVzIOmZkOWItuaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQxMCBzeXMtdXRpbHMvdW1vdW50LmM6NDMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIgorbXNnc3RyICIlc++8muaJvuS4jeWIsCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjQ0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRldGVybWluZSBzb3VyY2UgKC0tYWxsLXRhcmdldHMgaXMgdW5zdXBwb3J0ZWQgb24gc3lzdGVtcyB3aXRoIHJlZ3VsYXIgbXRhYiBmaWxlKS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zZXRncm91cHMgYXJndW1lbnQgJyVzJyIKK21zZ3N0ciAi5LiN5Y+X5pSv5o+055qE5byV5pW477yaJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTEwIHN5cy11dGlscy91bnNoYXJlLmM6MTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQgJXMiCittc2dzdHIgIuWvq+WFpeWkseaVl++8miVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJvcGFnYXRpb24gbW9kZTogJXMiCittc2dzdHIgIuS4jeWPl+aUr+aPtOeahOW8leaVuO+8miVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1NworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY2hhbmdlIHJvb3QgZmlsZXN5c3RlbSBwcm9wYWdhdGlvbiIKK21zZ3N0ciAi5qqi5p+l5omA5pyJ5qqU5qGI57O757Wx44CCXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCAlcyIKK21zZ3N0ciAi54Sh5rOV6K2Y5Yil44CMJXPjgI3ni4DmhYsiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjEzCisjLCBmdXp6eQorbXNnaWQgInBpcGUgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IOWkseaVlyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGlwZSIKK21zZ3N0ciAi6K6A5Y+W6YCf5bqm5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1MAorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBzb21lIG5hbWVzcGFjZXMgdW5zaGFyZWQgZnJvbSB0aGUgcGFyZW50LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUzCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAg6Kit5a6a5bqP5YiX57ea6Lev6YCf5bqmXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU0CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAg6Kit5a6a5bqP5YiX57ea6Lev6YCf5bqmXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU1CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAg6Kit5a6a5bqP5YiX57ea6Lev6YCf5bqmXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU2CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIOioreWumuW6j+WIl+e3mui3r+mAn+W6plxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIOioreWumuW6j+WIl+e3mui3r+mAn+W6plxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OAorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICDoqK3lrprluo/liJfnt5rot6/pgJ/luqZcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgICAgdW5zaGFyZSBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICDoqK3lrprluo/liJfnt5rot6/pgJ/luqZcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjAKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmsgICAgICAgICAgICAgICAgZm9yayBiZWZvcmUgbGF1bmNoaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICDph43nva7pgJroqIrln6BcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjEKK21zZ2lkICIgICAgIC0tbW91bnQtcHJvY1s9PGRpcj5dICBtb3VudCBwcm9jIGZpbGVzeXN0ZW0gZmlyc3QgKGltcGxpZXMgLS1tb3VudClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MgorbXNnaWQgIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIG1hcCBjdXJyZW50IHVzZXIgdG8gcm9vdCAoaW1wbGllcyAtLXVzZXIpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjMKK21zZ2lkICIiCisiICAgICAtLXByb3BhZ2F0aW9uIHNsYXZlfHNoYXJlZHxwcml2YXRlfHVuY2hhbmdlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmeSBtb3VudCBwcm9wYWdhdGlvbiBpbiBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NQorbXNnaWQgIiAtcywgLS1zZXRncm91cHMgYWxsb3d8ZGVueSAgY29udHJvbCB0aGUgc2V0Z3JvdXBzIHN5c2NhbGwgaW4gdXNlciBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzozODYKK21zZ2lkICJ1bnNoYXJlIGZhaWxlZCIKK21zZ3N0ciAidW5zaGFyZSDlpLHmlZciCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDMwCisjLCBmdXp6eQorbXNnaWQgImNoaWxkIGV4aXQgZmFpbGVkIgorbXNnc3RyICLorZjliKXomZ/lpLHmlZciCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDM3CisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbnMgLS1zZXRncm91cHM9YWxsb3cgYW5kIC0tbWFwLXJvb3QtdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICLpgbjpoIUgLS1waWQg5ZKM5ZG95Luk5b285q2k5LqS5palIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgZmFpbGVkIgorbXNnc3RyICLmjpvovInlpLHmlZciCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjczCisjLCBmdXp6eQorbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICLljaHlnKjkuYvliY3ph43nva4gQ1BVIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NAorIywgZnV6enkKK21zZ2lkICJFeHRlcm5hbCByZWxheSAxIgorbXNnc3RyICLlpJbpg6jkuK3nubwgMSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMiIKK21zZ3N0ciAi5aSW6YOo5Lit57m8IDIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc2CisjLCBmdXp6eQorbXNnaWQgIkZhbiBmYWlsZWQiCittc2dzdHIgIuW9sei/t+WkseaVlyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiS2VlcCBhbGl2ZSBwaW5nIHJlcGx5IgorbXNnc3RyICLkv53mjIHmtLvli5Xni4DmhYsgcGluZyDlm57opoYiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc4CisjLCBmdXp6eQorbXNnaWQgIlN1cHBvcnRzIG1hZ2ljIGNsb3NlIGNoYXIiCittc2dzdHIgIuaUr+aPtOmtlOihk+mXnOmWieWtl+WFgyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiUmVzZXQgZHVlIHRvIENQVSBvdmVyaGVhdCIKK21zZ3N0ciAi6YeN572u55Sx5pa8IENQVSBvdmVyaGVhdCIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODAKKyMsIGZ1enp5Cittc2dpZCAiUG93ZXIgb3ZlciB2b2x0YWdlIgorbXNnc3RyICLkuZjlhqrkuYvkuIogdm9sdGFnZSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAiUG93ZXIgYmFkL3Bvd2VyIGZhdWx0IgorbXNnc3RyICLkuZjlhqrkuI3nlbbnmoQv5LmY5Yaq5aSx6KqkIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MgorIywgZnV6enkKK21zZ2lkICJQcmV0aW1lb3V0IChpbiBzZWNvbmRzKSIKK21zZ3N0ciAiUHJldGltZW91dCAo55qE56eS5pW4KSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAiU2V0IHRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICLoqK3lrprpgL7mmYIgKOeahOenkuaVuCkiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjg0Cittc2dpZCAiTm90IHRyaWdnZXIgcmVib290IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMAorIywgZnV6enkKK21zZ2lkICJmbGFnIG5hbWUiCittc2dzdHIgIuaXl+aomeWQjeeosSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgImZsYWcgZGVzY3JpcHRpb24iCittc2dzdHIgIuaXl+aomeaPj+i/sCIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgImZsYWcgc3RhdHVzIgorbXNnc3RyICLml5fmqJnni4DmhYsiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMworIywgZnV6enkKK21zZ2lkICJmbGFnIGJvb3Qgc3RhdHVzIgorbXNnc3RyICLml5fmqJnplovmqZ/ni4DmhYsiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwNAorIywgZnV6enkKK21zZ2lkICJ3YXRjaGRvZyBkZXZpY2UgbmFtZSIKK21zZ3N0ciAi55uj6KaW56iL5byP6KOd572u5ZCN56ixIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmxhZzogJXMiCittc2dzdHIgIuS4jeaYjuaXl+aome+8miVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxNzcKK21zZ2lkICJTaG93IHRoZSBzdGF0dXMgb2YgdGhlIGhhcmR3YXJlIHdhdGNoZG9nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE4MAorIywgZnV6enkKK21zZ2lkICIiCisiIC1mLCAtLWZsYWdzIDxsaXN0PiAgICAgcHJpbnQgc2VsZWN0ZWQgZmxhZ3Mgb25seVxuIgorIiAtRiwgLS1ub2ZsYWdzICAgICAgICAgIGRvbid0IHByaW50IGluZm9ybWF0aW9uIGFib3V0IGZsYWdzXG4iCisiIC1JLCAtLW5vaWRlbnQgICAgICAgICAgZG9uJ3QgcHJpbnQgd2F0Y2hkb2cgaWRlbnRpdHkgaW5mb3JtYXRpb25cbiIKKyIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLU8sIC0tb25lbGluZSAgICAgICAgICBwcmludCBhbGwgaW5mb3JtYXRpb24gb24gb25lIGxpbmVcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBvdXRwdXQgY29sdW1ucyBvZiB0aGUgZmxhZ3NcbiIKKyIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXQgZm9yIGZsYWdzIHRhYmxlXG4iCisiIC1ULCAtLW5vdGltZW91dHMgICAgICAgZG9uJ3QgcHJpbnQgd2F0Y2hkb2cgdGltZW91dHNcbiIKKyIgLXMsIC0tc2V0dGltZW91dCA8c2VjPiBzZXQgd2F0Y2hkb2cgdGltZW91dFxuIgorIiAteCwgLS1mbGFncy1vbmx5ICAgICAgIHByaW50IG9ubHkgZmxhZ3MgdGFibGUgKHNhbWUgYXMgLUkgLVQpXG4iCittc2dzdHIgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICDliJfljbDlt7Lpgbjml5fmqJnlj6rmnIlcbiIKKyIgLUYsIC0tbm9mbGFncyAgICAgICAgICDkuI3liJfljbDnm7jpl5zos4foqIrml5fmqJlcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICDkuI3liJfljbDnm6PoppbnqIvlvI/ouqvliIbos4foqIpcbiIKKyIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICDkuI3liJfljbDmqJnpoK3nlKjmlrzml5fmqJnooajmoLxcbiIKKyIgLU8sIC0tb25lbGluZSAgICAgICAgICDliJfljbDmiYDmnInos4foqIrmlrzkuIDlgIvliJdcbiIKKyIgLW8sIC0tb3V0cHV0POa4heWWrj4gICDovLjlh7rmrITkvY3nmoTml5fmqJlcbiIKKyIgLXIsIC0tcmF3ICAgICAgICAgICAgICDkvb/nlKjljp/lp4vovLjlh7rmoLzlvI/nlKjmlrzml5fmqJnooajmoLxcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICDkuI3liJfljbDnm6PoppbnqIvlvI/pgL7mmYJcbiIKKyIgLXMsIC0tc2V0dGltZW91dDxzZWM+6Kit5a6a55uj6KaW56iL5byP6YC+5pmCXG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAg5YiX5Y2w5Y+q5pyJ5peX5qiZ6KGo5qC8ICjlpoLlkIwgLUkgLVQpXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRlZmF1bHQgZGV2aWNlIGlzICVzLlxuIgorbXNnc3RyICLpoJDoqK3oo53nva7mmK8gJXPjgIJcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk5CisjLCBmdXp6eQorbXNnaWQgIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorbXNnc3RyICLlj6/nlKjmrITkvY3vvJpcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6Mjg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biBmbGFncyAweCV4XG4iCittc2dzdHIgIiVz77ya5LiN5piO5peX5qiZIDB4JXhcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzE5IHN5cy11dGlscy93ZGN0bC5jOjM3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhdGNoZG9nIGFscmVhZHkgaW4gdXNlLCB0ZXJtaW5hdGluZy4iCittc2dzdHIgIiVz77ya55uj6KaW56iL5byP5bey5Zyo5L2/55So5Lit77yM57WC5q2i44CCIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMzMgc3lzLXV0aWxzL3dkY3RsLmM6NDAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRpc2FybSB3YXRjaGRvZyIKK21zZ3N0ciAiJXPvvJrnhKHms5UgZGlzYXJtIOebo+imlueoi+W8jyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRpbWVvdXQgZm9yICVzIgorbXNnc3RyICLnhKHms5XoqK3lrprpgL7mmYLnlKjmlrwgJXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kLlxuIgorbXNnaWRfcGx1cmFsICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmRzLlxuIgorbXNnc3RyWzBdICLlvp7mnIDlvozkuIDmrKHoqr/mlbTlvozntpPpgY7nmoTmmYLplpPngrogJWQg56eSXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgd2F0Y2hkb2ciCittc2dzdHIgIiVz77ya54Sh5rOV5o+Q5Y+W55u46Zec6LOH6KiK55uj6KaW56iL5byPIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjQgc3lzLXV0aWxzL3dkY3RsLmM6NDY3IHN5cy11dGlscy93ZGN0bC5jOjQ3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJS0xNHMgJTJpIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICIlLTE0cyAlMmkgc2Vjb25kc1xuIgorbXNnc3RyWzBdICIlLTE1cyUyaSDnp5JcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY1CisjLCBmdXp6eQorbXNnaWQgIlRpbWVvdXQ6IgorbXNnc3RyICLpgL7mmYLvvJoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2OAorIywgZnV6enkKK21zZ2lkICJQcmUtdGltZW91dDoiCittc2dzdHIgIlByZS10aW1lb3V077yaIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NzEKKyMsIGZ1enp5Cittc2dpZCAiVGltZWxlZnQ6IgorbXNnc3RyICJUaW1lbGVmdO+8miIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA1CisjLCBmdXp6eQorbXNnaWQgIkRldmljZToiCittc2dzdHIgIuijnee9ru+8miIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA3Cittc2dpZCAiSWRlbnRpdHk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwOQorbXNnaWQgInZlcnNpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MworIywgZnV6enkKK21zZ2lkICJ6cmFtIGRldmljZSBuYW1lIgorbXNnc3RyICLoo53nva7lkI3nqLEiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzQKK21zZ2lkICJsaW1pdCBvbiB0aGUgdW5jb21wcmVzc2VkIGFtb3VudCBvZiBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzUKK21zZ2lkICJ1bmNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc2Cittc2dpZCAiY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzcKK21zZ2lkICJ0aGUgc2VsZWN0ZWQgY29tcHJlc3Npb24gYWxnb3JpdGhtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzgKK21zZ2lkICJudW1iZXIgb2YgY29uY3VycmVudCBjb21wcmVzcyBvcGVyYXRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiZW1wdHkgcGFnZXMgd2l0aCBubyBhbGxvY2F0ZWQgbWVtb3J5IgorbXNnc3RyICLphY3nva7oqJjmhrbpq5TmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODAKK21zZ2lkICJhbGwgbWVtb3J5IGluY2x1ZGluZyBhbGxvY2F0b3IgZnJhZ21lbnRhdGlvbiBhbmQgbWV0YWRhdGEgb3ZlcmhlYWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MQorbXNnaWQgIm1lbW9yeSBsaW1pdCB1c2VkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgyCittc2dpZCAibWVtb3J5IHpyYW0gaGF2ZSBiZWVuIGNvbnN1bWVkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgzCittc2dpZCAibnVtYmVyIG9mIG9iamVjdHMgbWlncmF0ZWQgYnkgY29tcGFjdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjM2MyBzeXMtdXRpbHMvenJhbWN0bC5jOjM3NAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgbW1fc3RhdCIKK21zZ3N0ciAi5YmW5p6Q6ZaL5aeL5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorIiAlMSRzIC1yIDxkZXZpY2U+IFsuLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGRldmljZT4gLXMgPHNpemU+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBb6YG46aCFXSBbPGxvb3BkZXY+XVxuIgorIiAlMSRzIFvpgbjpoIVdIC1mfDxsb29wZGV2PjzmqpTmoYg+XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTI3Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIHpyYW0gZGV2aWNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMAorbXNnaWQgIiAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NCAgIGNvbXByZXNzaW9uIGFsZ29yaXRobSB0byB1c2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMQorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIOWIl+WNsOips+e0sOeahOioiuaBr+WIsOaomea6luWLmOiqpFxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICBmaW5kIGEgZnJlZSBkZXZpY2VcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgIOafpeipouaJgOacieWOn+Wni+ijnee9rlxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgIOS4jeWIhuWJsumVt+WIl1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzNAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICBjb2x1bW5zIHRvIHVzZSBmb3Igc3RhdHVzIG91dHB1dFxuIgorbXNnc3RyICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICDnn63pgbjpoIXngrrovqjorZjnmoRcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgdXNlIHJhdyBzdGF0dXMgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIpcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzYKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIOmHjee9ruaJgOacieioiOaVuOWZqCAo5Y+q6ZmQIHJvb3QpXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM3CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaXplIDxzaXplPiAgICAgICAgIGRldmljZSBzaXplXG4iCittc2dzdHIgIiAtbywgLS1vZmZpY2UgPG9mZmljZT4gICAgICAgIOi+puWFrOWupOaVuOWtl1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzOAorbXNnaWQgIiAtdCwgLS1zdHJlYW1zIDxudW1iZXI+ICAgIG51bWJlciBvZiBjb21wcmVzc2lvbiBzdHJlYW1zXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGFsZ29yaXRobTogJXMiCittc2dzdHIgIuS4jeWPl+aUr+aPtOeahOW8leaVuO+8miVzIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYyNgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RyZWFtcyIKK21zZ3N0ciAi5YmW5p6Q6ZaL5aeL5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY0OAorIywgZnV6enkKK21zZ2lkICJvcHRpb24gLS1maW5kIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxkZXZpY2U+IgorbXNnc3RyICLpgbjpoIUgLS1waWQg5ZKM5ZG95Luk5b285q2k5LqS5palIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NAorbXNnaWQgIm9ubHkgb25lIDxkZXZpY2U+IGF0IGEgdGltZSBpcyBhbGxvd2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjU3Cittc2dpZCAib3B0aW9ucyAtLWFsZ29yaXRobSBhbmQgLS1zdHJlYW1zIG11c3QgYmUgY29tYmluZWQgd2l0aCAtLXNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODcgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVzZXQiCittc2dzdHIgIiVz77ya54Sh5rOV5YmW5p6QIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY5OCBzeXMtdXRpbHMvenJhbWN0bC5jOjcwNgorbXNnaWQgIm5vIGZyZWUgenJhbSBkZXZpY2UgZm91bmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IG51bWJlciBvZiBzdHJlYW1zIgorbXNnc3RyICLliZbmnpDliJfomZ/nmoTmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBhbGdvcml0aG0iCittc2dzdHIgIiVz77ya54Sh5rOV6Kit5a6a5LiK5LiA5q2l5qqU5qGIIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgZGlza3NpemUgKCVqdSBieXRlcykiCittc2dzdHIgIiVz77ya54Sh5rOV5o+Q5Y+WIHdob2xlLWRpc2sg6KOd572u57eo6JmfIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjQ1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzIChhdXRvbWF0aWMgbG9naW4pXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugcm9vdCBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlc++8mueEoeazleiuiuabtOagueebrumMhCAlc++8miVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSB3b3JraW5nIGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVz77ya54Sh5rOV6K6K5pu05bel5L2c55uu6YyEICVz77yaJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHByb2Nlc3MgcHJpb3JpdHk6ICVtIgorbXNnc3RyICIlc++8mueEoeazleiuiuabtOiZleeQhuWEquWFiOasiu+8miVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgZXhlYyAlczogJW0iCittc2dzdHIgIiVz77ya54Sh5rOVIGV4ZWMgJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjU1NSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg0MSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg1MworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzAgdGVybS11dGlscy9hZ2V0dHkuYzoxNDE1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQzMworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDY5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ3OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE1MTYKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk3OCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI1MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnk6ICVtIgorbXNnc3RyICLphY3nva7oqJjmhrbpq5TmmYLlpLHmlZfvvJolbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo2ODAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBkZWxheSBhcmd1bWVudCIKK21zZ3N0ciAi54Sh5pWI55qE5YmN56uv5byV5pW4IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjcxOQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC0tbG9jYWwtbGluZSIKK21zZ3N0ciAi54Sh5pWI55qE5byV5pW45YiwIC0tYXV0byAvLWEg6YG46aCFIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjczOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG5pY2UgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahOaZgumWk+W8leaVuCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHNwZWVkOiAlcyIKK21zZ3N0ciAi5LiN55W255qE6YCf5bqm77yaJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODc3Cittc2dpZCAidG9vIG1hbnkgYWx0ZXJuYXRlIHNwZWVkcyIKK21zZ3N0ciAi5aSq5aSa5Lqk5pu/6YCf5bqmIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMDYgdGVybS11dGlscy9hZ2V0dHkuYzoxMDEwIHRlcm0tdXRpbHMvYWdldHR5LmM6MTA2MworIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgb3BlbiBhcyBzdGFuZGFyZCBpbnB1dDogJW0iCittc2dzdHIgIi9kZXYvJXM6IOeEoeazlemWi+WVn+eCuuaomea6lui8uOWFpe+8miVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgY2hhcmFjdGVyIGRldmljZSIKK21zZ3N0ciAiL2Rldi8lczog5LiN5piv5a2X5YWD6KOd572uIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIHR0eSIKK21zZ3N0ciAiJXPvvJrkuI3mmK8gdHR5IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzUgdGVybS11dGlscy9hZ2V0dHkuYzoxMDY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3QgZ2V0IGNvbnRyb2xsaW5nIHR0eTogJW0iCittc2dzdHIgIi9kZXYvJXM6IOeEoeazlemWi+WVn+eCuuaomea6lui8uOWFpe+8miVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IHZoYW5ndXAoKSBmYWlsZWQ6ICVtIgorbXNnc3RyICIlc++8mmNhbGxvYygpIOWkseaVl++8miVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG9wZW4gZm9yIHJlYWQvd3JpdGUiCittc2dzdHIgIiVz77ya54Sh5rOV6ZaL5ZWf55So5pa86K6A5Y+WL+Wvq+WFpSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgc2V0IHByb2Nlc3MgZ3JvdXA6ICVtIgorbXNnc3RyICIlc++8mueEoeazleiuiuabtOiZleeQhuWEquWFiOasiu+8miVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGR1cCBwcm9ibGVtOiAlbSIKK21zZ3N0ciAiJXPvvJpkdXAg5ZWP6aGM77yaJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTExNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIueEoeazleWPluW+l+e1guerr+apn+WxrOaAp+eUqOaWvCAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMzIxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZhaWxlZDogJW0iCittc2dzdHIgIueEoeazleioreWumue1guerr+apn+WxrOaAp+eUqOaWvCAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDU5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIG9zLXJlbGVhc2UgZmlsZSIKK21zZ3N0ciAi54Sh5rOV6ZaL5ZWf6Y6W5a6a5qqU5qGIICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE2MzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcmVsb2FkIGZpbGU6ICVzOiAlbSIKK21zZ3N0ciAi6K6A5Y+WIHR5cGVzY3JpcHQg5qqU5qGIICVzIOaZguWkseaVlyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzM2Cittc2dpZCAiW3ByZXNzIEVOVEVSIHRvIGxvZ2luXSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjAKKyMsIGZ1enp5Cittc2dpZCAiTnVtIExvY2sgb2ZmIgorbXNnc3RyICJOdW0g6Y6W5a6a6Zec6ZaJIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE3NjMKKyMsIGZ1enp5Cittc2dpZCAiTnVtIExvY2sgb24iCittc2dzdHIgIk51bSDpjpblrprplosiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc2NgorIywgZnV6enkKK21zZ2lkICJDYXBzIExvY2sgb24iCittc2dzdHIgIuWkp+Wvq+mNtemWiyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNzY5CisjLCBmdXp6eQorbXNnaWQgIlNjcm9sbCBMb2NrIG9uIgorbXNnc3RyICLmjbLli5XpjpblrprplosiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTc3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIkhpbnQ6ICVzXG4iCisiXG4iCittc2dzdHIgIiIKKyLmj5DnpLrvvJolc1xuIgorIlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQ6ICVtIgorbXNnc3RyICIlc++8muiugOWPlu+8miVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlucHV0IG92ZXJydW4iCittc2dzdHIgIiVz77ya6Ly45YWl6LaF5Ye6IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE5NzQgdGVybS11dGlscy9hZ2V0dHkuYzoxOTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciBjb252ZXJzaW9uIGZvciBsb2dpbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTk4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgMHgleCBpbiBsb2dpbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIueEoeazleioreWumue1guerr+apn+WxrOaAp+eUqOaWvCAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxsaW5lPiBbPGJhdWRfcmF0ZT4sLi4uXSBbPHRlcm10eXBlPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGJhdWRfcmF0ZT4sLi4uIDxsaW5lPiBbPHRlcm10eXBlPl1cbiIKK21zZ3N0ciAiIgorIlxuIgorIueUqOazle+8mlxuIgorIiAlMSRzIFvpgbjpoIVdIOWIlyBiYXVkX3JhdGUgLC4uLlt0ZXJtdHlwZV1cbiIKKyIgJTEkcyBb6YG46aCFXSBiYXVkX3JhdGUgLC4uLuWIlyBbdGVybXR5cGVdXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExMworbXNnaWQgIk9wZW4gYSB0ZXJtaW5hbCBhbmQgc2V0IGl0cyBtb2RlLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjExNgorIywgZnV6enkKK21zZ2lkICIgLTgsIC0tOGJpdHMgICAgICAgICAgICAgICAgYXNzdW1lIDgtYml0IHR0eVxuIgorbXNnc3RyICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICDmn6XoqaLljbDooajmqZ/ni4DmhYtcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE3Cittc2dpZCAiIC1hLCAtLWF1dG9sb2dpbiA8dXNlcj4gICAgIGxvZ2luIHRoZSBzcGVjaWZpZWQgdXNlciBhdXRvbWF0aWNhbGx5XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTE4CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICBkbyBub3QgcmVzZXQgY29udHJvbCBtb2RlXG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIOmHjee9rumAmuioiuWfoFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMTkKKyMsIGZ1enp5Cittc2dpZCAiIC1FLCAtLXJlbW90ZSAgICAgICAgICAgICAgIHVzZSAtciA8aG9zdG5hbWU+IGZvciBsb2dpbigxKVxuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICDph43nva7miYDmnInoqIjmlbjlmaggKOWPqumZkCByb290KVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjAKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWlzc3VlLWZpbGUgPGZpbGU+ICAgIGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAg6aGv56S66YCZ5Lu96Kqq5piO54S25b6M6Zui6ZaLXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyMQorbXNnaWQgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBlbmFibGUgaGFyZHdhcmUgZmxvdyBjb250cm9sXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTIyCisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS1ob3N0IDxob3N0bmFtZT4gICAgICBzcGVjaWZ5IGxvZ2luIGhvc3RcbiIKK21zZ3N0ciAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gIOaMh+WumueZu+WFpeWRveS7pOauvFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjMKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGRvIG5vdCBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIC1xLCAtLXN0YXRzICAgICAgICAgICAgICAgICAgICAgICAg6aGv56S657Wx6KiI6Zec5pa8IHR0eVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjQKK21zZ2lkICIgLUksIC0taW5pdC1zdHJpbmcgPHN0cmluZz4gc2V0IGluaXQgc3RyaW5nXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTI1CisjLCBmdXp6eQorbXNnaWQgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICBkbyBub3QgY2xlYXIgdGhlIHNjcmVlbiBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAtYyAgICAgICAgICAg5riF56m66J6i5bmV5LmL5YmN6aGv56S6XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEyNgorbXNnaWQgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBzcGVjaWZ5IGxvZ2luIHByb2dyYW1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjcKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWxvY2FsLWxpbmVbPTxtb2RlPl0gIGNvbnRyb2wgdGhlIGxvY2FsIGxpbmUgZmxhZ1xuIgorbXNnc3RyICIgLXUgIC0tdW5sb2NrICAgICAgICAgICAgIOenu+mZpOmOluWumlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjgKK21zZ2lkICIgLW0sIC0tZXh0cmFjdC1iYXVkICAgICAgICAgZXh0cmFjdCBiYXVkIHJhdGUgZHVyaW5nIGNvbm5lY3RcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMjkKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGRvIG5vdCBwcm9tcHQgZm9yIGxvZ2luXG4iCittc2dzdHIgIiAtZiAgICAgICAgICAg5LiN5YiG5Ymy6ZW35YiXXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzMAorIywgZnV6enkKK21zZ2lkICIgLU4gIC0tbm9uZXdsaW5lICAgICAgICAgICAgZG8gbm90IHByaW50IGEgbmV3bGluZSBiZWZvcmUgaXNzdWVcbiIKK21zZ3N0ciAiIC1lICAgICAgICAgICDkuI3mmqvlgZzmlrzntZDmnZ/nmoTmqpTmoYhcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMxCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1sb2dpbi1vcHRpb25zIDxvcHRzPiBvcHRpb25zIHRoYXQgYXJlIHBhc3NlZCB0byBsb2dpblxuIgorbXNnc3RyICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiDplbfpgbjpoIXngrrovqjorZjnmoRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMyCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICB3YWl0IGZvciBhbnkga2V5IGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICDkuI3liIblibLplbfliJdcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTMzCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1jaHJvb3QgPGRpcj4gICAgICAgICBjaGFuZ2Ugcm9vdCB0byB0aGUgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtYSwgLS1hYm9ydCA8b258b2ZmPiAgICAgICAgIOaUvuajhOaWvOmMr+iqpFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzQKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgIGRvIHZpcnR1YWxseSBoYW5ndXAgb24gdGhlIHR0eVxuIgorbXNnc3RyICIgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICDkuI3lvJXoqIDovLjlh7pcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM1CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICB0cnkgdG8ga2VlcCBiYXVkIHJhdGUgYWZ0ZXIgYnJlYWtcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIOWIl+WNsOips+e0sOeahOioiuaBr+WIsOaomea6luWLmOiqpFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzYKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8bnVtYmVyPiAgICAgbG9naW4gcHJvY2VzcyB0aW1lb3V0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTM3Cittc2dpZCAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMzgKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIHdhaXQgY2FycmlhZ2UtcmV0dXJuXG4iCittc2dzdHIgIiAtdywgLS13YWl0IDx1cz4gICAgICAgICAgICAgIHN0cm9iZSDnrYnlvoXlnKjkuK0gbWljcm8g56eSXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEzOQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAgZG8gbm90IHByaW50IGhpbnRzXG4iCittc2dzdHIgIiAtZiAgICAgICAgICAg5LiN5YiG5Ymy6ZW35YiXXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0MAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAgbm8gaG9zdG5hbWUgYXQgYWxsIHdpbGwgYmUgc2hvd25cbiIKK21zZ3N0ciAiIC1lICAgICAgICAgICDkuI3mmqvlgZzmlrzntZDmnZ/nmoTmqpTmoYhcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQxCittc2dpZCAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIHNob3cgZnVsbCBxdWFsaWZpZWQgaG9zdG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDIKK21zZ2lkICIgICAgIC0tZXJhc2UtY2hhcnMgPHN0cmluZz4gYWRkaXRpb25hbCBiYWNrc3BhY2UgY2hhcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDMKK21zZ2lkICIgICAgIC0ta2lsbC1jaGFycyA8c3RyaW5nPiAgYWRkaXRpb25hbCBraWxsIGNoYXJzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ0Cittc2dpZCAiICAgICAtLWNoZGlyIDxkaXJlY3Rvcnk+ICAgIGNoZGlyIGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWRlbGF5IDxudW1iZXI+ICAgICAgIHNsZWVwIHNlY29uZHMgYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIgLWMgICAgICAgICAgIOa4heepuuieouW5leS5i+WJjemhr+ekulxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxNDYKK21zZ2lkICIgICAgIC0tbmljZSA8bnVtYmVyPiAgICAgICAgcnVuIGxvZ2luIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0NworIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgcmVsb2FkIHByb21wdHMgb24gcnVubmluZyBhZ2V0dHkgaW5zdGFuY2VzXG4iCittc2dzdHIgIiAtZiAgICAgICAgICAg5LiN5YiG5Ymy6ZW35YiXXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE0OAorIywgZnV6enkKK21zZ2lkICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1oICAgICAgICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTQ5CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgLVYgICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI0ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIHVzZXIiCittc2dpZF9wbHVyYWwgIiVkIHVzZXJzIgorbXNnc3RyWzBdICLkvb/nlKjogIUiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hlY2tuYW1lIGZhaWxlZDogJW0iCittc2dzdHIgImNob3duIOWkseaVl++8miVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB0b3VjaCBmaWxlICVzIgorbXNnc3RyICLnhKHms5Xpl5zplonmqpTmoYggJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYyNQorbXNnaWQgIi0tcmVsb2FkIGlzIHVuc3VwcG9ydGVkIG9uIHlvdXIgc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFt5IHwgbl1cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIFt5fG5dXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc4CisjLCBmdXp6eQorbXNnaWQgIkNvbnRyb2wgd3JpdGUgYWNjZXNzIG9mIG90aGVyIHVzZXJzIHRvIHlvdXIgdGVybWluYWwuXG4iCittc2dzdHIgIuWvq+WFpeWtmOWPluWIsOaCqOeahOe1guerr+apn+iiq+aLkue1lSIKKworIzogdGVybS11dGlscy9tZXNnLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICDop6Pph4vku4DpurzmraPlnKjmmK/lt7LlrozmiJBcbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTI1CisjLCBmdXp6eQorbXNnaWQgInR0eW5hbWUgZmFpbGVkIgorbXNnc3RyICJ0dHluYW1lIOWkseaVlyIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM0CisjLCBmdXp6eQorbXNnaWQgImlzIHkiCittc2dzdHIgIuaYryB5IgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiaXMgbiIKK21zZ3N0ciAi5pivIG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE0OCB0ZXJtLXV0aWxzL21lc2cuYzoxNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZSAlcyBtb2RlIGZhaWxlZCIKK21zZ3N0ciAi6K6K5pu0ICVzIOaooeW8j+WkseaVlyIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTUwCisjLCBmdXp6eQorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgIuWvq+WFpeWtmOWPluWIsOaCqOeahOe1guerr+apn+iiq+WFgeiosSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGRlbmllZCIKK21zZ3N0ciAi5a+r5YWl5a2Y5Y+W5Yiw5oKo55qE57WC56uv5qmf6KKr5ouS57WVIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICLnhKHmlYjnmoTlvJXmlbjvvJolcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVdXG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSBb5qqU5qGIXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2MgorbXNnaWQgIk1ha2UgYSB0eXBlc2NyaXB0IG9mIGEgdGVybWluYWwgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NQorIywgZnV6enkKK21zZ2lkICIiCisiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgIGFwcGVuZCB0aGUgb3V0cHV0XG4iCisiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+IHJ1biBjb21tYW5kIHJhdGhlciB0aGFuIGludGVyYWN0aXZlIHNoZWxsXG4iCisiIC1lLCAtLXJldHVybiAgICAgICAgICAgIHJldHVybiBleGl0IGNvZGUgb2YgdGhlIGNoaWxkIHByb2Nlc3NcbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAgcnVuIGZsdXNoIGFmdGVyIGVhY2ggd3JpdGVcbiIKKyIgICAgIC0tZm9yY2UgICAgICAgICAgICAgdXNlIG91dHB1dCBmaWxlIGV2ZW4gd2hlbiBpdCBpcyBhIGxpbmtcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgYmUgcXVpZXRcbiIKKyIgLXQsIC0tdGltaW5nWz08ZmlsZT5dICAgb3V0cHV0IHRpbWluZyBkYXRhIHRvIHN0ZGVyciAob3IgdG8gRklMRSlcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICDpmYTliqDovLjlh7pcbiIKKyIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4g6YGL6KGM5ZG95Luk6ICM6Z2e5LqS5YuV5byP5ZG95Luk5q68XG4iCisiIC1lLCAtLXJldHVybiAgICAgICAgICAgIOWbnuWCs+mboumWi+S7o+eivOeahOWtkOihjOeoi1xuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICDpgYvooYzmuIXnkIbkuYvlvozmr4/lgIvlr6vlhaVcbiIKKyIgICAgIC0tZm9yY2UgICAgICAgICAgICAg5L2/55So6Ly45Ye65qqU5qGI55Sa6Iez5pmC5a6D5piv6Y+I57WQXG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIOaYr+WuiemdnOeahFxuIgorIiAtdCwgLS10aW1pbmcgWz085qqU5qGIPl0gICDovLjlh7rmmYLmqZ/os4fmlpnliLDmqJnmupbli5joqqQgKOaIluWIsOaqlOahiClcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorIlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIm91dHB1dCBmaWxlIGAlcycgaXMgYSBsaW5rXG4iCisiVXNlIC0tZm9yY2UgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC5cbiIKKyJQcm9ncmFtIG5vdCBzdGFydGVkLiIKK21zZ3N0ciAiIgorIui8uOWHuuaqlOahiOOAjiVz44CP5piv6Y+I57WQXG4iCisi5L2/55SoIC0tZm9yY2Ug5aaC5p6c5oKo55yf55qE6KaB5L2/55So5a6D44CCXG4iCisi56iL5byP54Sh5rOV6ZaL5aeL44CCIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgZG9uZSwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICLlkb3ku6TnqL/lt7LlrozmiJDvvIzmqpTmoYjmmK8gJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyNjIKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHdyaXRlIHNjcmlwdCBmaWxlIgorbXNnc3RyICLnhKHms5Xlr6vlhaXmjIfku6TnqL/mqpTmoYgiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Mzk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLlxuIgorbXNnc3RyICIiCisiXG4iCisi5L2c5qWt6ZqO5q6157WC5q2i77yMa2lsbGluZyDlkb3ku6TmrrzigKYiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDM4CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkIG9uICVzIgorbXNnc3RyICLlkb3ku6TnqL/llZ/li5XmlrwgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTY3JpcHQgZG9uZSBvbiAlcyIKK21zZ3N0ciAiIgorIlxuIgorIuWRveS7pOeov+W3suaWvCAlcyDlrozmiJAiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjA3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAi54Sh5rOV5Y+W5b6X57WC56uv5qmf5bGs5oCn55So5pa8ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYxNAorIywgZnV6enkKK21zZ2lkICJvcGVucHR5IGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSDlpLHmlZciCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjUyCisjLCBmdXp6eQorbXNnaWQgIm91dCBvZiBwdHkncyIKK21zZ3N0ciAi55m85L+h5Yyj55qEIHB0eSdzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc1MgorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgc3RhcnRlZCwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICLlkb3ku6TnqL/lt7LllZ/li5XvvIzmqpTmoYjmmK8gJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFstdF0gdGltaW5nZmlsZSBbdHlwZXNjcmlwdF0gW2Rpdmlzb3JdXG4iCittc2dzdHIgIiAlcyBbLXRdIHRpbWluZ2ZpbGUgW3R5cGVzY3JpcHRdIFvpmaTmlbhdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDcKK21zZ2lkICJQbGF5IGJhY2sgdGVybWluYWwgdHlwZXNjcmlwdHMsIHVzaW5nIHRpbWluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjUwCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLXQsIC0tdGltaW5nIDxmaWxlPiAgICAgc2NyaXB0IHRpbWluZyBvdXRwdXQgZmlsZVxuIgorIiAtcywgLS10eXBlc2NyaXB0IDxmaWxlPiBzY3JpcHQgdGVybWluYWwgc2Vzc2lvbiBvdXRwdXQgZmlsZVxuIgorIiAtZCwgLS1kaXZpc29yIDxudW0+ICAgICBzcGVlZCB1cCBvciBzbG93IGRvd24gZXhlY3V0aW9uIHdpdGggdGltZSBkaXZpc29yXG4iCisiIC1tLCAtLW1heGRlbGF5IDxudW0+ICAgIHdhaXQgYXQgbW9zdCB0aGlzIG1hbnkgc2Vjb25kcyBiZXR3ZWVuIHVwZGF0ZXNcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtdCwgLS10aW1pbmcgPGZpbGU+ICAgICDmjIfku6TnqL/mmYLmqZ/ovLjlh7rmqpTmoYhcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdDzmqpTmoYg+5oyH5Luk56i/57WC56uv5qmf5L2c5qWt6ZqO5q616Ly45Ye65qqU5qGIXG4iCisiIC1kLCAtLWRpdmlzb3I8bnVtPiAgICDliqDpgJ/miJbmi5bmhaLln7fooYzoiIfmmYLplpPpmaTmlbhcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorIlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExMgorbXNnaWQgIndyaXRlIHRvIHN0ZG91dCBmYWlsZWQiCittc2dzdHIgIuWvq+WFpeaomea6lui8uOWHuuaZguWkseaVlyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSBvbiAlcyIKK21zZ3N0ciAi5pyq6aCQ5pyf55qE5qqU5qGI57WQ5p2f5pa8ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0eXBlc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgIuiugOWPliB0eXBlc2NyaXB0IOaqlOahiCAlcyDmmYLlpLHmlZciCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTg0CisjLCBmdXp6eQorbXNnaWQgIndyb25nIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgIumMr+iqpOeahOW8leaVuOaVuOmHjyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGltaW5nIGZpbGUgJXMiCittc2dzdHIgIuiugOWPluaZguW6j+aqlOahiCAlcyDmmYLlpLHmlZciCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aW1pbmcgZmlsZSAlczogbGluZSAlbHU6IHVuZXhwZWN0ZWQgZm9ybWF0IgorbXNnc3RyICLmmYLluo/mqpTmoYggJXPvvJolbHXvvJrmnKrpoJDmnJ/nmoTmoLzlvI8iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYXJndW1lbnQgZXJyb3I6IGJyaWdodCAlcyBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICLpgJ/luqYgJWQg5LiN5Y+X5pSv5o+0IgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjgKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgdGFicyIKK21zZ3N0ciAi5aSq5aSa5byV5pW4IgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODMKK21zZ2lkICJTZXQgdGhlIGF0dHJpYnV0ZXMgb2YgYSB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODYKK21zZ2lkICIgLS10ZXJtICAgICAgICAgIDx0ZXJtaW5hbF9uYW1lPiAgIG92ZXJyaWRlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODcKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCB0byBwb3dlci1vbiBzdGF0ZVxuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICDph43nva7pgJroqIrln6BcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg4CisjLCBmdXp6eQorbXNnaWQgIiAtLWluaXRpYWxpemUgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBpbml0IHN0cmluZywgYW5kIHVzZSBkZWZhdWx0IHNldHRpbmdzXG4iCittc2dzdHIgIiAtcSwgLS1zdGF0cyAgICAgICAgICAgICAgICAgICAgICAgIOmhr+ekuue1seioiOmXnOaWvCB0dHlcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg5CisjLCBmdXp6eQorbXNnaWQgIiAtLWRlZmF1bHQgICAgICAgICAgICAgICAgICAgICAgICAgdXNlIGRlZmF1bHQgdGVybWluYWwgc2V0dGluZ3NcbiIKK21zZ3N0ciAiIC1xLCAtLXN0YXRzICAgICAgICAgICAgICAgICAgICAgICAg6aGv56S657Wx6KiI6Zec5pa8IHR0eVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTAKKyMsIGZ1enp5Cittc2dpZCAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgdGVybWluYWwgc2V0dGluZ3MgYXMgZGVmYXVsdFxuIgorbXNnc3RyICIgLXEsIC0tc3RhdHMgICAgICAgICAgICAgICAgICAgICAgICDpoa/npLrntbHoqIjpl5zmlrwgdHR5XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MQorIywgZnV6enkKK21zZ2lkICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGRpc3BsYXkgY3Vyc29yXG4iCittc2dzdHIgIiAtZywgLS1nZXQtdGhyZXNob2xkICAgICAgICAgICAgICAgIOmhr+ekuuebruWJjeeahOiHqOeVjOWAvFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTIKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVwZWF0ICAgICAgICBbb258b2ZmXSAgICAgICAgICBrZXlib2FyZCByZXBlYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAg6YeN572u6YCa6KiK5Z+gXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MworbXNnaWQgIiAtLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gICAgICAgICAgY3Vyc29yIGtleSBhcHBsaWNhdGlvbiBtb2RlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk0CisjLCBmdXp6eQorbXNnaWQgIiAtLWxpbmV3cmFwICAgICAgW29ufG9mZl0gICAgICAgICAgY29udGludWUgb24gYSBuZXcgbGluZSB3aGVuIGEgbGluZSBpcyBmdWxsXG4iCittc2dzdHIgIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIOmAmeWAi+Wwj+eUqOazleaMh+WwjlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTUKK21zZ2lkICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIHN3YXAgY29sb3JzIGZvciB0aGUgd2hvbGUgc2NyZWVuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk2Cittc2dpZCAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgZm9yZWdyb3VuZCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NworbXNnaWQgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGJhY2tncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTgKK21zZ2lkICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCB1bmRlcmxpbmVkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTkKK21zZ2lkICIgLS1oYmNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCBib2xkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDAKK21zZ2lkICIgICAgICAgICAgICAgICAgIDxjb2xvcj46IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMQorIywgZnV6enkKK21zZ2lkICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJvbGRcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAg5YiX5Y2w6Kmz57Sw55qE6LOH5paZXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMgorIywgZnV6enkKK21zZ2lkICIgLS1oYWxmLWJyaWdodCAgIFtvbnxvZmZdICAgICAgICAgIGRpbVxuIgorbXNnc3RyICIgIFsgLWhhbGYtYnJpZ2h0IFtvbnxvZmZdIF1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAzCittc2dpZCAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlua1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNAorIywgZnV6enkKK21zZ2lkICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHVuZGVybGluZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIOaYr+abtOWkmuips+e0sOeahFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDUKK21zZ2lkICIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgIHN3YXAgZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBjb2xvcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDYKKyMsIGZ1enp5Cittc2dpZCAiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICBjbGVhciBzY3JlZW4gYW5kIHNldCBjdXJzb3IgcG9zaXRpb25cbiIKK21zZ3N0ciAiIC1jICAgICAgICAgICDmuIXnqbronqLluZXkuYvliY3poa/npLpcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA3Cittc2dpZCAiIC0tdGFicyAgICAgICAgICBbPG51bWJlcj4uLi5dICAgICBzZXQgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBzaG93IHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDgKK21zZ2lkICIgLS1jbHJ0YWJzICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIGNsZWFyIHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3IgYWxsXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA5Cittc2dpZCAiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICBzZXQgYSByZWd1bGFyIHRhYiBzdG9wIGludGVydmFsXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEwCittc2dpZCAiIC0tYmxhbmsgICAgICAgICBbMC02MHxmb3JjZXxwb2tlXSBzZXQgdGltZSBvZiBpbmFjdGl2aXR5IGJlZm9yZSBzY3JlZW4gYmxhbmtzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDExCittc2dpZCAiIC0tZHVtcCAgICAgICAgICBbPG51bWJlcj5dICAgICAgICB3cml0ZSB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTIKK21zZ2lkICIgLS1hcHBlbmQgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIGFwcGVuZCB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTMKK21zZ2lkICIgLS1maWxlICAgICAgICAgIDxmaWxlbmFtZT4gICAgICAgIG5hbWUgb2YgdGhlIGR1bXAgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNAorIywgZnV6enkKK21zZ2lkICIgLS1tc2cgICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHNlbmQga2VybmVsIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1zICAgICAgICAgICDliJfljbDoqIrmga/liLDmqJnmupbovLjlh7pcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE1CisjLCBmdXp6eQorbXNnaWQgIiAtLW1zZ2xldmVsICAgICAgMC04ICAgICAgICAgICAgICAga2VybmVsIGNvbnNvbGUgbG9nIGxldmVsXG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAg5bu656uL6KiK5oGv5L2H5YiXXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNgorIywgZnV6enkKK21zZ2lkICIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorbXNnc3RyICIgIFsgLXBvd2Vyc2F2ZSBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl0gXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQgdmVzYSBwb3dlcnNhdmluZyBmZWF0dXJlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg44CMJXPjgI0pXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxOAorbXNnaWQgIiAtLXBvd2VyZG93biAgICAgWzAtNjBdICAgICAgICAgICAgc2V0IHZlc2EgcG93ZXJkb3duIGludGVydmFsIGluIG1pbnV0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTkKKyMsIGZ1enp5Cittc2dpZCAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICBkdXJhdGlvbiBvZiB0aGUgYmVsbCBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgPG1zPiAgICAgICAgICAgICAg6amF5YuV56iL5byP562J5b6F5pmC6ZaT5Zyo5Lit5q+r56eSXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMAorbXNnaWQgIiAtLWJmcmVxICAgICAgICAgPG51bWJlcj4gICAgICAgICAgYmVsbCBmcmVxdWVuY3kgaW4gSGVydHpcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjEKKyMsIGZ1enp5Cittc2dpZCAiIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICBzaG93IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1WICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIyCisjLCBmdXp6eQorbXNnaWQgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1oICAgICAgICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDMwCittc2dpZCAiZHVwbGljYXRlIHVzZSBvZiBhbiBvcHRpb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzM0CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmb3JjZSBibGFuayIKK21zZ3N0ciAi54Sh5rOV5by35Yi256m655m9IgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MzkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGZvcmNlIHVuYmxhbmsiCittc2dzdHIgIueEoeazleW8t+WItiB1bmJsYW5rIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NDUKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGdldCBibGFuayBzdGF0dXMiCittc2dzdHIgIueEoeazleaPkOWPluepuueZveeLgOaFiyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4gbm90IG9wZW4gZHVtcCBmaWxlICVzIGZvciBvdXRwdXQiCittc2dzdHIgIueEoeazlemWi+WVn+WCvuWNsOaqlOahiCAlcyDnlKjmlrzovLjlh7oiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjgxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgJXMgZG9lcyBub3Qgc3VwcG9ydCAlcyIKK21zZ3N0ciAi5L2/55So6ICFICVzIOS4jeWtmOWcqCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6OTg4CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlIgorbXNnc3RyICLnhKHms5UgKHVuKSDoqK3lrpogcG93ZXJzYXZlIOaooeW8jyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTAwNyB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDE2CisjLCBmdXp6eQorbXNnaWQgImtsb2djdGwgZXJyb3IiCittc2dzdHIgImtsb2djdGwg6Yyv6KqkIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDM3CisjLCBmdXp6eQorbXNnaWQgIiRURVJNIGlzIG5vdCBkZWZpbmVkLiIKK21zZ3N0ciAiJFRFUk0g5pyq6KKr5a6a576p44CCIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDQ0CisjLCBmdXp6eQorbXNnaWQgInRlcm1pbmZvIGRhdGFiYXNlIGNhbm5vdCBiZSBmb3VuZCIKK21zZ3N0ciAidGVybWluZm8g6LOH5paZ5bqr54Sh5rOV5om+5YiwIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biB0ZXJtaW5hbCB0eXBlIgorbXNnc3RyICIlc++8muS4jeaYjue1guerr+apn+mhnuWeiyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA0OAorIywgZnV6enkKK21zZ2lkICJ0ZXJtaW5hbCBpcyBoYXJkY29weSIKK21zZ3N0ciAi57WC56uv5qmf5pivIGhhcmRjb3B5IgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdG9vIG1hbnkgaW92J3MiCittc2dzdHIgIuWFp+mDqOmMr+iqpCIKKworIzogdGVybS11dGlscy90dHltc2cuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICJleGNlc3NpdmVseSBsb25nIGxpbmUgYXJnIgorbXNnc3RyICLpgY7plbfnmoTlkb3ku6TliJflvJXmlbgiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVuIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSDlpLHmlZciCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmb3JrOiAlbSIKK21zZ3N0ciAi6KGN55Sf77yaJXMiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmb3JrIgorbXNnc3RyICLnhKHms5XooY3nlJ/ln7fooYwiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkFEIEVSUk9SLCBtZXNzYWdlIGlzIGZhciB0b28gbG9uZyIKK21zZ3N0ciAiJXPvvJrkuI3nlbbnmoTpjK/oqqTvvIzoqIrmga/mmK8gZmFyIOWkqumVtyIKKworIzogdGVybS11dGlscy93YWxsLmM6ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiB8IDxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIFvoqIrmga9dXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg2Cittc2dpZCAiV3JpdGUgYSBtZXNzYWdlIHRvIGFsbCB1c2Vycy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4OQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAgZG8gbm90IHByaW50IGJhbm5lciwgd29ya3Mgb25seSBmb3Igcm9vdFxuIgorbXNnc3RyICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICDliJfljbDlj6rmnInos4foqIrpl5zmlrzlj5bmqKPmraXpqZ9cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTAKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICDpqYXli5XnqIvlvI/nrYnlvoXmmYLplpPlnKjkuK3mr6vnp5JcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6MTMyCisjLCBmdXp6eQorbXNnaWQgIi0tbm9iYW5uZXIgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIHJvb3QiCittc2dzdHIgIi0tbm9iYW5uZXIg5piv5Y+v55So5Y+q5pyJ55So5pa85qC5IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudDogJXMiCittc2dzdHIgIueEoeaViOeahOmAvuaZguW8leaVuO+8miVzIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyNjkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGdldCBwYXNzd2QgdWlkIgorbXNnc3RyICLnhKHms5Xmj5Dlj5YgcGFzc3dkIHVpZCIKKworIzogdGVybS11dGlscy93YWxsLmM6Mjc0CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgdHR5IG5hbWUiCittc2dzdHIgIueEoeazleaPkOWPliB0dHkg5ZCN56ixIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXNAJXMgKCVzKSAoJXMpOiIKK21zZ3N0ciAi5buj5pKt6KiK5oGv5L6G6IeqICVzQCVzIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozMjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IHJlYWQgJXMgLSB1c2Ugc3RkaW4uIgorbXNnc3RyICLlsIfnhKHms5XoroDlj5YgJXMgLSDkvb/nlKjmqJnmupbovLjlhaXjgIIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXNlcj4gWzx0dHluYW1lPl1cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIDx1c2VyPiBbPHR0eW5hbWU+XVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6OTAKK21zZ2lkICJTZW5kIGEgbWVzc2FnZSB0byBhbm90aGVyIHVzZXIuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjExNworIywgYy1mb3JtYXQKK21zZ2lkICJlZmZlY3RpdmUgZ2lkIGRvZXMgbm90IG1hdGNoIGdyb3VwIG9mICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4iCittc2dzdHIgIiVzIOacquiiq+eZu+WFpSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwNworIywgZnV6enkKK21zZ2lkICJjYW4ndCBmaW5kIHlvdXIgdHR5J3MgbmFtZSIKK21zZ3N0ciAi5om+5LiN5Yiw5oKo55qEIHR0eSdzIOWQjeeosSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIgorbXNnc3RyICIlcyDmnInoqIrmga/lt7LlgZznlKgiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGxvZ2dlZCBpbiBtb3JlIHRoYW4gb25jZTsgd3JpdGluZyB0byAlcyIKK21zZ3N0ciAiJXMg6KKr55m75YWl5LiA5qyh5Lul5LiK77yb5a+r5YWlICVzIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjM4CisjLCBmdXp6eQorbXNnaWQgImNhcmVmdWxwdXRjIGZhaWxlZCIKK21zZ3N0ciAiY2FyZWZ1bHB1dGMg5aSx5pWXIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgKGFzICVzKSBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICLoqIrmga/kvoboh6ogJXNAJXMgKOi6q+WIhueCuiAlcykg5pa8ICVzIOWcqCAlcyDigKYiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICLoqIrmga/kvoboh6ogJXNAJXMg5pa8ICVzIOWcqCAlcyDigKYiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozMzEKKyMsIGZ1enp5Cittc2dpZCAieW91IGhhdmUgd3JpdGUgcGVybWlzc2lvbiB0dXJuZWQgb2ZmIgorbXNnc3RyICLmgqjmnInlr6vlhaXmrIrpmZDooqvpl5zplokiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4gb24gJXMiCittc2dzdHIgIiVzIOacquiiq+eZu+WFpeaWvCAlcyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIG9uICVzIgorbXNnc3RyICIlcyDmnInoqIrmga/lt7LlgZznlKjmlrwgJXMiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM0CisjLCBmdXp6eQorbXNnaWQgIkZpbHRlciBvdXQgcmV2ZXJzZSBsaW5lIGZlZWRzLlxuIgorbXNnc3RyICLlpKrlpJrllq7ntJTmj5vliJflrZflhYPjgIJcbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYiwgLS1uby1iYWNrc3BhY2VzICAgIGRvIG5vdCBvdXRwdXQgYmFja3NwYWNlc1xuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIHBlcm1pdCBmb3J3YXJkIGhhbGYgbGluZSBmZWVkc1xuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIHBhc3MgdW5rbm93biBjb250cm9sIHNlcXVlbmNlc1xuIgorIiAtaCwgLS10YWJzICAgICAgICAgICAgIGNvbnZlcnQgc3BhY2VzIHRvIHRhYnNcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICBjb252ZXJ0IHRhYnMgdG8gc3BhY2VzXG4iCisiIC1sLCAtLWxpbmVzIE5VTSAgICAgICAgYnVmZmVyIGF0IGxlYXN0IE5VTSBsaW5lc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisiIC1ILCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIumBuOmghe+8mlxuIgorIiAtYiwgLS1uby1iYWNrc3BhY2VzICAgIOS4jei8uOWHuumAgOagvFxuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIOWFgeiosei9ieWvhOWNiumAgeWIl1xuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIOWbnuWQiOS4jeaYjuaOp+WItuW6j+WIl1xuIgorIiAtaCwgLS10YWJzICAgICAgICAgICAgIOi9ieaPm+epuuagvOi9ieeCuui3s+agvFxuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIOi9ieaPm+i3s+agvOi9ieeCuuepuuagvFxuIgorIiAtbCwgLS1saW5lcyBOVU0gICAgICAgIOe3qeihneWNgOiHs+WwkSBOVU0g5YiXXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisiIC1ILCAtLWhlbHAgICAgICAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piO54S25b6M6Zui6ZaLXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTQ4IHRleHQtdXRpbHMvY29scm0uYzo2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzIHJlYWRzIGZyb20gc3RhbmRhcmQgaW5wdXQgYW5kIHdyaXRlcyB0byBzdGFuZGFyZCBvdXRwdXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiVzIOiugOWPluW+nuaomea6lui8uOWFpeWSjOWvq+WFpeaomea6lui8uOWHulxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjIxMgorIywgZnV6enkKK21zZ2lkICJiYWQgLWwgYXJndW1lbnQiCittc2dzdHIgIuS4jeeVtueahCAtbCDlvJXmlbgiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW4ndCBiYWNrIHVwICVzLiIKK21zZ3N0ciAi6K2m5ZGK77ya54Sh5rOV5LiK5LiA5q2l5ZCR5LiKICVz44CCIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjMzNworbXNnaWQgInBhc3QgZmlyc3QgbGluZSIKK21zZ3N0ciAi55Wl6YGO56ys5LiA5YiXIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjMzNworbXNnaWQgIi0tIGxpbmUgYWxyZWFkeSBmbHVzaGVkIgorbXNnc3RyICItLSDliJflt7LntpPmuIXnkIYiCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODEgdGV4dC11dGlscy9jb2x1bW4uYzoxMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIFs8ZmlsZT5dXG4iCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODQKK21zZ2lkICJGaWx0ZXIgbnJvZmYgb3V0cHV0IGZvciBDUlQgcHJldmlld2luZy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg3Cittc2dpZCAiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIHN1cHByZXNzIGFsbCB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODgKKyMsIGZ1enp5Cittc2dpZCAiIC0yLCAtLWhhbGYtbGluZXMgICAgICAgIHByaW50IGFsbCBoYWxmLWxpbmVzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICDmn6XoqaLmiYDmnInljp/lp4voo53nva5cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtzdGFydGNvbCBbZW5kY29sXV1cbiIKK21zZ3N0ciAiIgorIlxuIgorIueUqOazle+8mlxuIgorIiAlcyBbc3RhcnRjb2wgW2VuZGNvbF1dXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo2NAorbXNnaWQgIkZpbHRlciBvdXQgdGhlIHNwZWNpZmllZCBjb2x1bW5zLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiZmlyc3QgYXJndW1lbnQiCittc2dzdHIgIuesrOS4gOWAi+W8leaVuCIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NworIywgZnV6enkKK21zZ2lkICJzZWNvbmQgYXJndW1lbnQiCittc2dzdHIgIuenkuW8leaVuCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjAKK21zZ2lkICJDb2x1bW5hdGUgbGlzdHMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjMKK21zZ2lkICIgLWMsIC0tY29sdW1ucyA8d2lkdGg+ICAgIHdpZHRoIG9mIG91dHB1dCBpbiBudW1iZXIgb2YgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MTI0CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10YWJsZSAgICAgICAgICAgICAgY3JlYXRlIGEgdGFibGVcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICDlu7rnq4voqIrmga/kvYfliJdcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjUKK21zZ2lkICIgLXMsIC0tc2VwYXJhdG9yIDxzdHJpbmc+IHBvc3NpYmxlIHRhYmxlIGRlbGltaXRlcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjEyNgorbXNnaWQgIiIKKyIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8c3RyaW5nPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucyBzZXBhcmF0b3IgZm9yIHRhYmxlIG91dHB1dDsgZGVmYXVsdCBpcyB0d28gc3BhY2VzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxMjgKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICBmaWxsIHJvd3MgYmVmb3JlIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICDmmK/mm7TlpJroqbPntLDnmoRcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoxODIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjb2x1bW5zIGFyZ3VtZW50IgorbXNnc3RyICLnhKHmlYjnmoTmrITkvY3lvJXmlbgiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkIGlzIHRvbyBsb25nLCBvdXRwdXQgd2lsbCBiZSB0cnVuY2F0ZWQiCittc2dzdHIgIuWIlyAlZCDlpKrplbfvvIzovLjlh7rlsIfooqvmiKrmlrciCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1NSB0ZXh0LXV0aWxzL21vcmUuYzoyMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+Li4uXG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSBbPGZpbGU+XVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTgKK21zZ2lkICJEaXNwbGF5IGZpbGUgY29udGVudHMgaW4gaGV4YWRlY2ltYWwsIGRlY2ltYWwsIG9jdGFsLCBvciBhc2NpaS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjEKK21zZ2lkICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYyCittc2dpZCAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgb25lLWJ5dGUgY2hhcmFjdGVyIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjMKK21zZ2lkICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjQKK21zZ2lkICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjUKK21zZ2lkICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICB0d28tYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY2Cittc2dpZCAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NworbXNnaWQgIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHJldCBjb2xvciBmb3JtYXR0aW5nIHNwZWNpZmllcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzAKK21zZ2lkICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MQorbXNnaWQgIiAtZiwgLS1mb3JtYXQtZmlsZSA8ZmlsZT4gIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MgorbXNnaWQgIiAtbiwgLS1sZW5ndGggPGxlbmd0aD4gICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MworbXNnaWQgIiAtcywgLS1za2lwIDxvZmZzZXQ+ICAgICAgIHNraXAgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICBvdXRwdXQgaWRlbnRpY2FsIGxpbmVzXG4iCittc2dzdHIgIiAtdSAgLS11bmxvY2sgICAgICAgICAgICAg56e76Zmk6Y6W5a6aXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1kaXNwbGF5LmM6MzY1CisjLCBmdXp6eQorbXNnaWQgImFsbCBpbnB1dCBmaWxlIGFyZ3VtZW50cyBmYWlsZWQiCittc2dzdHIgIuaJgOaciei8uOWFpeaqlOahiOW8leaVuOWkseaVlyIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCBieXRlIGNvdW50IGZvciBjb252ZXJzaW9uIGNoYXJhY3RlciAlcyIKK21zZ3N0ciAi5LiN55W255qE5L2N5YWD57WE6KiI5pW455So5pa86L2J5o+b5a2X5YWDICVzIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJSVzIHJlcXVpcmVzIGEgcHJlY2lzaW9uIG9yIGEgYnl0ZSBjb3VudCIKK21zZ3N0ciAiJSVzIOmcgOimgeeyvueiuuW6puaIluS9jeWFg+e1hOioiOaVuCIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCBmb3JtYXQgeyVzfSIKK21zZ3N0ciAi5LiN55W255qE5qC85byPIHslc30iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29udmVyc2lvbiBjaGFyYWN0ZXIgJSUlcyIKK21zZ3N0ciAi5LiN55W255qE6L2J5o+b5a2X5YWDICUlJXMiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjQzNgorIywgZnV6enkKK21zZ2lkICJieXRlIGNvdW50IHdpdGggbXVsdGlwbGUgY29udmVyc2lvbiBjaGFyYWN0ZXJzIgorbXNnc3RyICLkvY3lhYPntYToqIjmlbjoiIflpJrph43ovYnmj5vlrZflhYMiCisKKyM6IHRleHQtdXRpbHMvbGluZS5jOjMzCittc2dpZCAiUmVhZCBvbmUgbGluZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMjgKK21zZ2lkICJBIGZpbGUgcGVydXNhbCBmaWx0ZXIgZm9yIENSVCB2aWV3aW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMQorIywgZnV6enkKK21zZ2lkICIgLWQgICAgICAgICAgZGlzcGxheSBoZWxwIGluc3RlYWQgb2YgcmluZ2luZyBiZWxsXG4iCittc2dzdHIgIiAtaCAgICAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piO54S25b6M6Zui6ZaLXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzMgorIywgZnV6enkKK21zZ2lkICIgLWYgICAgICAgICAgY291bnQgbG9naWNhbCByYXRoZXIgdGhhbiBzY3JlZW4gbGluZXNcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICDkuI3liIblibLplbfliJdcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjMzCisjLCBmdXp6eQorbXNnaWQgIiAtbCAgICAgICAgICBzdXBwcmVzcyBwYXVzZSBhZnRlciBmb3JtIGZlZWRcbiIKK21zZ3N0ciAiIC1lICAgICAgICAgICDkuI3mmqvlgZzmlrzntZDmnZ/nmoTmqpTmoYhcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIiAtYyAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBkaXNwbGF5IHRleHQgYW5kIGNsZWFuIGxpbmUgZW5kc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgIOS4jeWIhuWJsumVt+WIl1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzUKKyMsIGZ1enp5Cittc2dpZCAiIC1wICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGNsZWFuIHNjcmVlbiBhbmQgZGlzcGxheSB0ZXh0XG4iCittc2dzdHIgIiAtYyAgICAgICAgICAg5riF56m66J6i5bmV5LmL5YmN6aGv56S6XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNgorIywgZnV6enkKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAg6Kej6YeL5LuA6bq85q2j5Zyo5piv5bey5a6M5oiQXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNworbXNnaWQgIiAtdSAgICAgICAgICBzdXBwcmVzcyB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOAorIywgZnV6enkKK21zZ2lkICIgLTxudW1iZXI+ICAgdGhlIG51bWJlciBvZiBsaW5lcyBwZXIgc2NyZWVuZnVsXG4iCittc2dzdHIgIiAtbnVtYmVyICAgICAg5YiX5ZCE6aCB6Z2iXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOQorbXNnaWQgIiArPG51bWJlcj4gICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gbGluZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDAKK21zZ2lkICIgKy88c3RyaW5nPiAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIHNlYXJjaCBzdHJpbmcgbWF0Y2hcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1WICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorbXNnc3RyICIgLVYgICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo0ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIC0lcyIKK21zZ3N0ciAi5LiN5piO6YG46aCFIC0lcyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKiogJXM6IGRpcmVjdG9yeSAqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKiAlczog55uu6YyEICoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKioqKioqICVzOiBOb3QgYSB0ZXh0IGZpbGUgKioqKioqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKioqKioqICVzOiDkuI3mmK/mloflrZfmqpQgKioqKioqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIltVc2UgcSBvciBRIHRvIHF1aXRdIgorbXNnc3RyICJb5L2/55SoIHEg5oiWIFEg5Lul6Zui6ZaLXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzI0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tTW9yZS0tIgorbXNnc3RyICItLeabtOWkmi0tIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiKE5leHQgZmlsZTogJXMpIgorbXNnc3RyICIo5LiL5LiA5YCL5qqU5qGI77yaJXMpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzIHNwYWNlIHRvIGNvbnRpbnVlLCAncScgdG8gcXVpdC5dIgorbXNnc3RyICJb5oyJ5LiL56m65qC85Lul57m857qM77yM44CMceOAjeihqOekuumboumWi+OAgl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjExNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi4uLmJhY2sgJWQgcGFnZSIKK21zZ2lkX3BsdXJhbCAiLi4uYmFjayAlZCBwYWdlcyIKK21zZ3N0clswXSAi4oCm5YCS6YCAICVkIOmggSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTIxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLi4uc2tpcHBpbmcgJWQgbGluZSIKK21zZ2lkX3BsdXJhbCAiLi4uc2tpcHBpbmcgJWQgbGluZXMiCittc2dzdHJbMF0gIuKApui3s+mBjiAlZCDliJciCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNDgKK21zZ2lkICIiCisiXG4iCisiKioqQmFjayoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioq5YCS6YCAKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNjMKKyMsIGZ1enp5Cittc2dpZCAiTm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICLmspLmnInliY3kuIDlgIvmraPopo/ooajnpLrlvI8iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyOTMKK21zZ2lkICIiCisiXG4iCisiTW9zdCBjb21tYW5kcyBvcHRpb25hbGx5IHByZWNlZGVkIGJ5IGludGVnZXIgYXJndW1lbnQgay4gIERlZmF1bHRzIGluIGJyYWNrZXRzLlxuIgorIlN0YXIgKCopIGluZGljYXRlcyBhcmd1bWVudCBiZWNvbWVzIG5ldyBkZWZhdWx0LlxuIgorbXNnc3RyICIiCisiXG4iCisi5aSn6YOo5YiG5ZG95Luk5Y+v6YG455So5YmN5bCO55qE5pW05pW45byV5pW4IGvjgILpoJDoqK3lgLzkvY3mlrzkuK3mi6zomZ/lhafjgIJcbiIKKyLmmJ/omZ8gKCopIOeUqOS+huaMh+WumuW8leaVuOaIkOeCuuaWsOeahOmgkOioreWAvOOAglxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzAwCittc2dpZCAiIgorIjxzcGFjZT4gICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbMV0qXG4iCisiZCBvciBjdHJsLUQgICAgICAgICAgICAgU2Nyb2xsIGsgbGluZXMgW2N1cnJlbnQgc2Nyb2xsIHNpemUsIGluaXRpYWxseSAxMV0qXG4iCisicSBvciBRIG9yIDxpbnRlcnJ1cHQ+ICAgRXhpdCBmcm9tIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBsaW5lcyBvZiB0ZXh0IFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyJiIG9yIGN0cmwtQiAgICAgICAgICAgICBTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBHbyB0byBwbGFjZSB3aGVyZSBwcmV2aW91cyBzZWFyY2ggc3RhcnRlZFxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBsaW5lIG51bWJlclxuIgorIi88cmVndWxhciBleHByZXNzaW9uPiAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgcmVndWxhciBleHByZXNzaW9uIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByLmUgWzFdXG4iCisiITxjbWQ+IG9yIDohPGNtZD4gICAgICAgRXhlY3V0ZSA8Y21kPiBpbiBhIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgdXAgL3Vzci9iaW4vdmkgYXQgY3VycmVudCBsaW5lXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkcmF3IHNjcmVlblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBuZXh0IGZpbGUgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIHByZXZpb3VzIGZpbGUgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXJcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBSZXBlYXQgcHJldmlvdXMgY29tbWFuZFxuIgorbXNnc3RyICIiCisiPHNwYWNlPiAgICAgICAgICAgICAgICDpoa/npLrkuIvkuIDntYQgayDliJfmloflrZcgW+ebruWJjeieouW5leWkp+Wwj11cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICDpoa/npLrkuIvkuIDntYQgayDliJfmloflrZcgW+ebruWJjeieouW5leWkp+Wwj10qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAg6aGv56S65LiL5LiA57WEIGsg5YiX5paH5a2XIFsxXSpcbiIKKyJkIOaIliBjdHJsLUQgICAgICAgICAgICAg5o2y5YuVIGsg5YiXIFvnm67liY3mjbLli5XlpKflsI/vvIzliJ3lp4vlgLwgMTFdKlxuIgorInEg5oiWIFEg5oiWIDxpbnRlcnJ1cHQ+ICAg6Zui6ZaLIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICDlkJHliY3ot7PpgY4gayDliJfmloflrZcgWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAg5ZCR5YmN6Lez6YGOIGsg5YWo6J6i5bmV55qE5paH5a2XIFsxXVxuIgorImIg5oiWIGN0cmwtQiAgICAgICAgICAgICDlkJHlvozot7PpgY4gayDlhajonqLluZXnmoTmloflrZcgWzFdXG4iCisiJyAgICAgICAgICAgICAgICAgICAgICAg5YmN5b6A5YmN5LiA5YCL5pCc5bCL6ZaL5aeL55qE5L2N572uXG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAg6aGv56S655uu5YmN5YiX6JmfXG4iCisiLzzmraPopo/ooajnpLrlvI8+ICAgICAgICAgICDmkJzlsIvnrKwgayDlgIvlh7rnj77nmoTmraPopo/ooajnpLrlvI8gWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAg5pCc5bCL56ysIGsg5YCL5Ye654++55qE5YCS5pW45q2j6KaP6KGo56S65byPIFsxXVxuIgorIiE8Y21kPiDmiJYgOiE8Y21kPiAgICAgICDlnKggc3Vic2hlbGwg5Lit5Z+36KGMIDxjbWQ+XG4iCisidiAgICAgICAgICAgICAgICAgICAgICAg5Zyo55W25YmN5YiX5LiK5ZWf5YuVIC91c3IvYmluL3ZpXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAg6YeN57mq6J6i5bmVXG4iCisiOm4gICAgICAgICAgICAgICAgICAgICAg5YmN5b6A5b6M6Z2i56ysIGsg5YCL5qqU5qGIIFsxXVxuIgorIjpwICAgICAgICAgICAgICAgICAgICAgIOWJjeW+gOWJjemdouesrCBrIOWAi+aqlOahiCBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICDpoa/npLrnm67liY3mqpTmoYjlkI3nqLHlkozliJfomZ9cbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICDph43opIfliY3kuIDlgIvlkb3ku6RcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTM3MyB0ZXh0LXV0aWxzL21vcmUuYzoxMzc5CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyAnaCcgZm9yIGluc3RydWN0aW9ucy5dIgorbXNnc3RyICJb5oyJ5LiL44CMaOOAjeWIl+WHuuaMh+S7pOOAgl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGxpbmUgJWQiCittc2dzdHIgIuOAjCVz44CN56ysICVkIOWIlyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQxMgorIywgYy1mb3JtYXQKK21zZ2lkICJbTm90IGEgZmlsZV0gbGluZSAlZCIKK21zZ3N0ciAiW+mdnuaqlOahiF0g56ysICVkIOWIlyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQ5NAorbXNnaWQgIiAgT3ZlcmZsb3dcbiIKK21zZ3N0ciAiICDmuqLkvY1cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU0MworbXNnaWQgIi4uLnNraXBwaW5nXG4iCittc2dzdHIgIuKApui3s+mBjlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTc3Cittc2dpZCAiIgorIlxuIgorIlBhdHRlcm4gbm90IGZvdW5kXG4iCittc2dzdHIgIiIKKyJcbiIKKyLmib7kuI3liLDnm7jnrKbnmoTlvI/mqKNcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU4MyB0ZXh0LXV0aWxzL3BnLmM6MTAyNyB0ZXh0LXV0aWxzL3BnLmM6MTE3MworbXNnaWQgIlBhdHRlcm4gbm90IGZvdW5kIgorbXNnc3RyICLmib7kuI3liLDnm7jnrKbnmoTlvI/mqKMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2MjkKK21zZ2lkICJleGVjIGZhaWxlZFxuIgorbXNnc3RyICLln7fooYzmmYLlpLHmlZdcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY0MworbXNnaWQgImNhbid0IGZvcmtcbiIKK21zZ3N0ciAi54Sh5rOV6KGN55Sf5Z+36KGMXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NzcKK21zZ2lkICIiCisiXG4iCisiLi4uU2tpcHBpbmcgIgorbXNnc3RyICIiCisiXG4iCisiLi4u6Lez6YGOICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY4MQorbXNnaWQgIi4uLlNraXBwaW5nIHRvIGZpbGUgIgorbXNnc3RyICLigKbot7PliLDmqpTmoYggIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjgzCittc2dpZCAiLi4uU2tpcHBpbmcgYmFjayB0byBmaWxlICIKK21zZ3N0ciAi4oCm6Lez5Zue5qqU5qGIICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTk3MworbXNnaWQgIkxpbmUgdG9vIGxvbmciCittc2dzdHIgIuWIl+WkqumVtyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjAxMAorbXNnaWQgIk5vIHByZXZpb3VzIGNvbW1hbmQgdG8gc3Vic3RpdHV0ZSBmb3IiCittc2dzdHIgIuaykuacieWJjeS4gOWAi+WRveS7pOWPr+eUqOaWvOabv+S7oyIKKworIzogdGV4dC11dGlscy9wZy5jOjE0NAorIywgZnV6enkKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBzY3JlZW5cbiIKKyIgIHEgb3IgUSAgICAgICAgICAgICAgICAgIHF1aXQgcHJvZ3JhbVxuIgorIiAgPG5ld2xpbmU+ICAgICAgICAgICAgICAgbmV4dCBwYWdlXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBza2lwIGEgcGFnZSBmb3J3YXJkXG4iCisiICBkIG9yIF5EICAgICAgICAgICAgICAgICBuZXh0IGhhbGZwYWdlXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBuZXh0IGxpbmVcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIGxhc3QgcGFnZVxuIgorIiAgL3JlZ2V4LyAgICAgICAgICAgICAgICAgc2VhcmNoIGZvcndhcmQgZm9yIHJlZ2V4XG4iCisiICA/cmVnZXg/IG9yIF5yZWdleF4gICAgICBzZWFyY2ggYmFja3dhcmQgZm9yIHJlZ2V4XG4iCisiICAuIG9yIF5MICAgICAgICAgICAgICAgICByZWRyYXcgc2NyZWVuXG4iCisiICB3IG9yIHogICAgICAgICAgICAgICAgICBzZXQgcGFnZSBzaXplIGFuZCBnbyB0byBuZXh0IHBhZ2VcbiIKKyIgIHMgZmlsZW5hbWUgICAgICAgICAgICAgIHNhdmUgY3VycmVudCBmaWxlIHRvIGZpbGVuYW1lXG4iCisiICAhY29tbWFuZCAgICAgICAgICAgICAgICBzaGVsbCBlc2NhcGVcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIHByZXZpb3VzIGZpbGVcbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIG5leHQgZmlsZVxuIgorIlxuIgorIk1hbnkgY29tbWFuZHMgYWNjZXB0IHByZWNlZGluZyBudW1iZXJzLCBmb3IgZXhhbXBsZTpcbiIKKyIrMTxuZXdsaW5lPiAobmV4dCBwYWdlKTsgLTE8bmV3bGluZT4gKHByZXZpb3VzIHBhZ2UpOyAxPG5ld2xpbmU+IChmaXJzdCBwYWdlKS5cbiIKKyJcbiIKKyJTZWUgcGcoMSkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAg6YCZ5YCL6J6i5bmVXG4iCisiICBxIOaIliBRICAgICAgICAgICAgICAgICAg6Zui6ZaL56iL5byPXG4iCisiICA8bmV3bGluZT4gICAgICAgICAgICAgICDkuIvkuIDpoIFcbiIKKyIgIGYgICAgICAgICAgICAgICAgICAgICAgIOi3s+mBjumggemdoui9ieWvhFxuIgorIiAgZCDmiJYgXkQgICAgICAgICAgICAgICAgIOS4i+S4gOWAiyBoYWxmcGFnZVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAg5LiL5LiA5YCL5YiXXG4iCisiICAkICAgICAgICAgICAgICAgICAgICAgICDmnIDlvozkuIDpoIFcbiIKKyIgL3JlZ2V4LyAgICAgICAgICAgICAgICDmkJzlsIvovYnlr4TnlKjmlrwgcmVnZXhcbiIKKyIg77yfcmVnZXjvvJ/miJYgXiByZWdleCBeICAgICAg5ZCR5b6M5pCc5bCL55So5pa8IHJlZ2V4XG4iCisiICAu5oiWIF5MICAgICAgICAgICAgICAgICDph43nuaronqLluZVcbiIKKyIgIHcg5oiWIHogICAgICAgICAgICAgICAgICDoqK3lrprpoIHpnaLlpKflsI/kuKbliY3lvoDkuIvkuIDpoIFcbiIKKyIgIHMg5qqU5ZCNICAgICAgICAgICAgICDlhLLlrZjnm67liY3nmoTmqpTmoYjliLDmqpTlkI1cbiIKKyIg77yB5ZG95LukICAgICAgICAgICAgICAgIOWRveS7pOauvOmAgOWHulxuIgorIiAgcCAgICAgICAgICAgICAgICAgICAgICAg5YmN5b6A5YmN5LiA5YCL5qqU5qGIXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICDliY3lvoDkuIvkuIDlgIvmqpTmoYhcbiIKKyJcbiIKKyLoqLHlpJrlkb3ku6TmjqXlj5fliY3nubzmlbjph4/vvIzoiInkvovkvoboqqrvvJpcbiIKKyIrMTzmlrDliJflrZflhYM+KOS4i+S4gOmggSnvvJstMTwg5paw5YiX5a2X5YWDPijkuIrkuIDpoIEp77ybMTzmlrDliJflrZflhYM+KOesrOS4gOmggSnjgIJcbiIKKyJcbiIKKyLlj4PnnIsgcGcgKDEpIOS7peeNsuW+l+abtOWkmuizh+ioiuOAglxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSBbK+WIl10gWysv6IOa6aiwL10gW+aqlOahiF1cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyNgorbXNnaWQgIkJyb3dzZSBwYWdld2lzZSB0aHJvdWdoIHRleHQgZmlsZXMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIyOQorIywgZnV6enkKK21zZ2lkICIgLW51bWJlciAgICAgIGxpbmVzIHBlciBwYWdlXG4iCittc2dzdHIgIiAtbnVtYmVyICAgICAg5YiX5ZCE6aCB6Z2iXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzAKKyMsIGZ1enp5Cittc2dpZCAiIC1jICAgICAgICAgICBjbGVhciBzY3JlZW4gYmVmb3JlIGRpc3BsYXlpbmdcbiIKK21zZ3N0ciAiIC1jICAgICAgICAgICDmuIXnqbronqLluZXkuYvliY3poa/npLpcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMQorIywgZnV6enkKK21zZ2lkICIgLWUgICAgICAgICAgIGRvIG5vdCBwYXVzZSBhdCBlbmQgb2YgYSBmaWxlXG4iCittc2dzdHIgIiAtZSAgICAgICAgICAg5LiN5pqr5YGc5pa857WQ5p2f55qE5qqU5qGIXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzIKKyMsIGZ1enp5Cittc2dpZCAiIC1mICAgICAgICAgICBkbyBub3Qgc3BsaXQgbG9uZyBsaW5lc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgIOS4jeWIhuWJsumVt+WIl1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMzCisjLCBmdXp6eQorbXNnaWQgIiAtbiAgICAgICAgICAgdGVybWluYXRlIGNvbW1hbmQgd2l0aCBuZXcgbGluZVxuIgorbXNnc3RyICIgLW4gICAgICAgICAgIOe1guatouWRveS7pOiIh+aPm+WIl1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIiAtcCA8cHJvbXB0PiAgc3BlY2lmeSBwcm9tcHRcbiIKK21zZ3N0ciAiIC1wIDxwcm9tcHQ+ICDmjIflrprmj5DnpLpcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNQorIywgZnV6enkKK21zZ2lkICIgLXIgICAgICAgICAgIGRpc2FsbG93IHNoZWxsIGVzY2FwZVxuIgorbXNnc3RyICIgLXIgICAgICAgICAgIGRpc2FsbG93IOWRveS7pOauvOmAgOWHulxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM2CisjLCBmdXp6eQorbXNnaWQgIiAtcyAgICAgICAgICAgcHJpbnQgbWVzc2FnZXMgdG8gc3Rkb3V0XG4iCittc2dzdHIgIiAtcyAgICAgICAgICAg5YiX5Y2w6KiK5oGv5Yiw5qiZ5rqW6Ly45Ye6XG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiICtudW1iZXIgICAgICBzdGFydCBhdCB0aGUgZ2l2ZW4gbGluZVxuIgorbXNnc3RyICIr5pW45a2XICAgICAg6ZaL5aeL5pa857Wm5a6a55qE5YiXXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiICsvcGF0dGVybi8gICBzdGFydCBhdCB0aGUgbGluZSBjb250YWluaW5nIHBhdHRlcm5cbiIKK21zZ3N0ciAiKy/og5rpqLAvICDplovlp4vmlrzliJfljIXlkKvog5rpqLBcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICVzIgorbXNnc3RyICIlc++8mumBuOmghemcgOimgeS4gOWAi+W8leaVuCAtLSAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIG9wdGlvbiAtLSAlcyIKK21zZ3N0ciAiJXPvvJrkuI3lkIjms5XnmoTpgbjpoIUgLS0gJXNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM1OQorbXNnaWQgIi4uLnNraXBwaW5nIGZvcndhcmRcbiIKK21zZ3N0ciAi4oCm5ZCR5YmN6Lez6YGOXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjEKK21zZ2lkICIuLi5za2lwcGluZyBiYWNrd2FyZFxuIgorbXNnc3RyICLigKblkJHlvozot7PpgY5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM3NworbXNnaWQgIk5vIG5leHQgZmlsZSIKK21zZ3N0ciAi5rKS5pyJ5LiL5YCL5qqU5qGIIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzgxCittc2dpZCAiTm8gcHJldmlvdXMgZmlsZSIKK21zZ3N0ciAi5rKS5pyJ5LiK5YCL5qqU5qGIIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yIGZyb20gJXMgZmlsZSIKK21zZ3N0ciAiJXPvvJrlvp4gJXMg5qqU5qGI6K6A5Y+W5pmC6Yyv6KqkXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgRU9GIGluICVzIGZpbGUiCittc2dzdHIgIiVz77ya5ZyoICVzIOaqlOahiOS4reWHuuePvuacqumgkOacn+eahOaqlOahiOe1kOadn1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGVycm9yIGluICVzIGZpbGUiCittc2dzdHIgIiVz77yaJXMg5qqU5qGI5Lit55m855Sf5LiN5piO6Yyv6KqkXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NDEKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiJXPvvJrnhKHms5Xlu7rnq4vmmqvlrZjmqpRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjk1MCB0ZXh0LXV0aWxzL3BnLmM6MTExNCB0ZXh0LXV0aWxzL3BnLmM6MTE0MAorbXNnaWQgIlJFIGVycm9yOiAiCittc2dzdHIgIuato+imj+ihqOekuuW8j+mMr+iqpO+8miIKKworIzogdGV4dC11dGlscy9wZy5jOjEwOTcKK21zZ2lkICIoRU9GKSIKK21zZ3N0ciAiKOaqlOahiOe1kOadnykiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTIyIHRleHQtdXRpbHMvcGcuYzoxMTQ4Cittc2dpZCAiTm8gcmVtZW1iZXJlZCBzZWFyY2ggc3RyaW5nIgorbXNnc3RyICLmspLmnInooqvoqJjkvY/nmoTmkJzlsIvlrZfkuLIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjAzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuICIKK21zZ3N0ciAi54Sh5rOV6ZaL5ZWfICIKKworIzogdGV4dC11dGlscy9wZy5jOjEyNTUKK21zZ2lkICJzYXZlZCIKK21zZ3N0ciAi5bey5YSy5a2YIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM0NQorbXNnaWQgIjogIWNvbW1hbmQgbm90IGFsbG93ZWQgaW4gcmZsYWcgbW9kZS5cbiIKK21zZ3N0ciAi77yaIeWRveS7pOWcqCByZmxhZyDmqKHlvI/kuI3lhYHoqLHjgIJcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzODAKK21zZ2lkICJmb3JrKCkgZmFpbGVkLCB0cnkgYWdhaW4gbGF0ZXJcbiIKK21zZ3N0ciAiZm9yaygpIOWkseaVl++8jOeojeW+jOWGjeipplxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTQ2OAorbXNnaWQgIihOZXh0IGZpbGU6ICIKK21zZ3N0ciAiKOS4i+WAi+aqlOahiO+8miIKKworIzogdGV4dC11dGlscy9wZy5jOjE1MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICVzIENvcHlyaWdodCAoYykgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4iCittc2dzdHIgIiVzICVzIOiRl+S9nOasisKpMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXLjgILniYjmrIrmiYDmnInjgIJcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjE1ODcgdGV4dC11dGlscy9wZy5jOjE2NjAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyBwZXIgcGFnZSIKK21zZ3N0ciAi5YmW5p6Q5YiX6Jmf55qE5pmC5aSx5pWXIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKK21zZ3N0ciAi55So5rOV77yaJXMgW+mBuOmghV0gW+aqlOahiC4uLl1cbiIKKworIzogdGV4dC11dGlscy9yZXYuYzo4MAorbXNnaWQgIlJldmVyc2UgbGluZXMgY2hhcmFjdGVyd2lzZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgImluY29tcGxldGUgd3JpdGUgdG8gXCIlc1wiICh3cml0dGVuICV6ZCwgZXhwZWN0ZWQgJXpkKVxuIgorbXNnc3RyICLlr6vlhaXjgIwlc+OAjeS4jeWujOaVtCAo5bey5a+r5YWlICV6ZO+8jOmgkOacn+WJh+eCuiAlemQpXG4iCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaCAobGltaXQgb2YgaW5vdGlmeSB3YXRjaGVzIHdhcyByZWFjaGVkKS4iCittc2dzdHIgIiVz77ya54Sh5rOV5Yqg5YWlIGlub3RpZnkg55uj55yLICjlt7LpgZTliLAgaW5vdGlmeSDnmoTnm6PnnIvpmZDliLYp44CCIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MTk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbl0gPGZpbGU+XG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSBbPGZpbGU+XVxuIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjAwCittc2dpZCAiRm9sbG93IHRoZSBncm93dGggb2YgYSBsb2cgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjAzCittc2dpZCAiIC1uLCAtLWxpbmVzIDxudW1iZXI+ICAgb3V0cHV0IHRoZSBsYXN0IDxudW1iZXI+IGxpbmVzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIwNAorIywgZnV6enkKK21zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgICBzYW1lIGFzICctbiA8bnVtYmVyPidcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICDmmK/mm7TlpJroqbPntLDnmoRcbiIKKworIzogdGV4dC11dGlscy90YWlsZi5jOjIxMAorbXNnaWQgIldhcm5pbmc6IHVzZSBvZiAndGFpbGYnIGlzIGRlcHJlY2F0ZWQsIHVzZSAndGFpbCAtZicgaW5zdGVhZC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6MjIzIHRleHQtdXRpbHMvdGFpbGYuYzoyNjMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyIKK21zZ3N0ciAi5YmW5p6Q5YiX6Jmf55qE5pmC5aSx5pWXIgorCisjOiB0ZXh0LXV0aWxzL3RhaWxmLmM6Mjc1CisjLCBmdXp6eQorbXNnaWQgIm5vIGlucHV0IGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICLmspLmnInovLjlhaXmqpTmoYjmjIflrprnmoQiCisKKyM6IHRleHQtdXRpbHMvdGFpbGYuYzoyODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBmaWxlIgorbXNnc3RyICIlc++8muS4pumdnuebrumMhCIKKworIzogdGV4dC11dGlscy91bC5jOjEzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIFs8ZmlsZT5dXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxMzkKK21zZ2lkICJEbyB1bmRlcmxpbmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQyCittc2dpZCAiIC10LCAtVCwgLS10ZXJtaW5hbCBURVJNSU5BTCAgb3ZlcnJpZGUgdGhlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQzCittc2dpZCAiIC1pLCAtLWluZGljYXRlZCAgICAgICAgICAgICAgdW5kZXJsaW5pbmcgaXMgaW5kaWNhdGVkIHZpYSBhIHNlcGFyYXRlIGxpbmVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA0Cittc2dpZCAidHJvdWJsZSByZWFkaW5nIHRlcm1pbmZvIgorbXNnc3RyICLoroDlj5YgdGVybWluZm8g5pmC5Ye654++5ZWP6aGMIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCBgJXMnIGlzIG5vdCBrbm93biwgZGVmYXVsdGluZyB0byBgZHVtYiciCittc2dzdHIgIue1guerr+apn+OAjiVz44CP5LiN5piv5bey55+l77yM6aCQ6Kit5Yiw44COZHVtYuOAjyIKKworIzogdGV4dC11dGlscy91bC5jOjI5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBlc2NhcGUgc2VxdWVuY2UgaW4gaW5wdXQ6ICVvLCAlbyIKK21zZ3N0ciAi5LiN5piO55qE6YCA5Ye65bqP5YiX5Zyo5Lit6Ly45YWl77yaJW/vvIwlbyIKKworIzogdGV4dC11dGlscy91bC5jOjYyNAorIywgZnV6enkKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAi6Ly45YWl5YiX5aSq6ZW344CCIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIHVzZSB0aGUgSGFyZHdhcmUgQ2xvY2suIgorI34gbXNnc3RyICLmirHmrYnvvIzlj6rmnInns7vntbHnrqHnkIbogIXlj6/ku6Xorormm7Tnoazpq5TmmYLpkJjjgIIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgc2VjY29tcCBjb250ZXh0IgorI34gbXNnc3RyICLliJ3lp4vljJYgbG9vcGN4dCDmmYLlpLHmlZciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGFkZCBzZWNjb21wIHJ1bGUiCisjfiBtc2dzdHIgIuiugOWPlumAn+W6puaZguWkseaVlyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gbG9hZCBzZWNjb21wIHJ1bGUiCisjfiBtc2dzdHIgIuiugOWPlumAn+W6puaZguWkseaVlyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGaWxlc3lzdGVtIGxhYmVsOiIKKyN+IG1zZ3N0ciAi5qqU5qGI57O757Wx5qiZ6LK8IgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBzZXQgUEFUSCIKKyN+IG1zZ3N0ciAi6Kit5a6a6Lev5b6R5pmC5aSx5pWXIgorCisjfiBtc2dpZCAiZXhwZWN0ZWQgYSBudW1iZXIsIGJ1dCBnb3QgJyVzJyIKKyN+IG1zZ3N0ciAi6aCQ5pyf5LiA5YCL5pW45a2X77yM5L2G5piv5Y275b6X5Yiw44CMJXPjgI0iCisKKyN+IG1zZ2lkICJkaXZpc29yICclcyciCisjfiBtc2dzdHIgIumZpOaVuOOAjCVz44CNIgorCisjLCBmdXp6eQorI34gbXNnaWQgImFyZ3VtZW50IGVycm9yOiAlcyIKKyN+IG1zZ3N0ciAi5byV5pW46Yyv6Kqk44CCIgorCisjLCBmdXp6eQorI34gbXNnaWQgInR0eSBwYXRoICVzIHRvbyBsb25nIgorI34gbXNnc3RyICJ0dHkg6Lev5b6RICVzIOWkqumVtyIKKworI34gbXNnaWQgImJhZCB0aW1lb3V0IHZhbHVlOiAlcyIKKyN+IG1zZ3N0ciAi5LiN55W255qE6YC+5pmC6Kit5a6a5YC877yaJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQiCisjfiBtc2dzdHIgIiVz77ya5YmW5p6Q6Yyv6Kqk5pa85YiXICVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvcjogaWdub3JlIGVudHJ5IGF0IGxpbmUgJWQuIgorI34gbXNnc3RyICIlc++8muWJluaekOmMr+iqpO+8muW/veeVpeaineebruaWvOWIlyAlZOOAgiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgbm90IHNldHVwIHRpbWVyIgorI34gbXNnc3RyICLnhKHms5XoqK3lrprnvqTntYTorZjliKXomZ8iCisKKyN+IG1zZ2lkICJkaWZmZXJlbnQiCisjfiBtc2dzdHIgIuS4jeWQjCIKKworI34gbXNnaWQgInNhbWUiCisjfiBtc2dzdHIgIuebuOWQjCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgYWNjZXNzIGZpbGUgJXMiCisjfiBtc2dzdHIgIueEoeazleWtmOWPluaqlOahiCAlcyIKKworI34gbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIHNwZWNpYWwgZGV2aWNlIgorI34gbXNnc3RyICIlcyDkuKbpnZ7ljYDloYrnibnmroroo53nva4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGRldmljZSBpcyBtaXNhbGlnbmVkIgorI34gbXNnc3RyICIlc++8muijnee9ruiiqyBtaXNhbGlnbmVkIgorCisjfiBtc2dpZCAiT1MvMiBoaWRkZW4gQzogZHJpdmUiCisjfiBtc2dzdHIgIk9TLzIg6Zqx6JePIEM6IOejgeeinyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGdldCBkZXZpY2UgcGF0aCIKKyN+IG1zZ3N0ciAiJXPvvJrnhKHms5Xmj5Dlj5boo53nva7ot6/lvpEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVua25vd24gZGV2aWNlIG5hbWUiCisjfiBtc2dzdHIgIiVz77ya5LiN5piO6KOd572u5ZCN56ixIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRtIG5hbWUiCisjfiBtc2dzdHIgIiVz77ya54Sh5rOV5o+Q5Y+WIGRtIOWQjeeosSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKKyN+ICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKKyN+ICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKKyN+ICIgLWssIC0ta2lsbCAgICAgICAgICAgICAga2lsbCBydW5uaW5nIGRhZW1vblxuIgorI34gIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCisjfiAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCisjfiAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKKyN+ICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorI34gIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBkbyBub3QgY3JlYXRlIGxpc3RlbmluZyBzb2NrZXRcbiIKKyN+ICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHR1cm4gb24gcXVpZXQgbW9kZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIOi3r+W+keWIsCBwaWQg5qqU5qGIXG4iCisjfiAiIC1zLCAtLXNvY2tldDzot6/lvpE+ICAgIOi3r+W+keWIsOmAmuioiuerr1xuIgorI34gIiAtVCwgLS10aW1lb3V0PHNlYz4gICAg5oyH5a6a5LiN5L2c55So6YC+5pmCXG4iCisjfiAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIOegjemZpOWft+ihjOS4reWuiOitt+eoi+W8j1xuIgorI34gIiAtciwgLS1yYW5kb20gICAgICAgICAgICDmuKzoqaYgcmFuZG9tLWJhc2VkIOeUoueUn1xuIgorI34gIiAtdCwgLS10aW1lICAgICAgICAgICAgICDmuKzoqaYgdGltZS1iYXNlZCDnlKLnlJ9cbiIKKyN+ICIgLW4sIC0tdXVpZHM8bnVtPiAgICAgIOimgeaxgiB1dWlkcyDmlbjph49cbiIKKyN+ICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAg5LiN5bu656uLIHBpZCDmqpTmoYhcbiIKKyN+ICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAg5LiNIGRhZW1vbml6ZSDkvb/nlKggZG91YmxlLWZvcmtcbiIKKyN+ICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24g5LiN5bu656uL5YK+6IG96YCa6KiK56uvXG4iCisjfiAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIOmBi+ihjOWcqOS4reWBtemMr+aooeW8j1xuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICDmiZPplovnhKHoqIrmga/mqKHlvI9cbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVua25vd24gc2NoZWR1bGluZyBwb2xpY3kiCisjfiBtc2dzdHIgIuS4jeaYjuaOkueoi+etlueVpSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorI34gIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorI34gIiAtcCwgLS1zdGVwIDxudW0+ICAgIHNpemUgb2YgdGhlIGRpc2NhcmQgaXRlcmF0aW9ucyB3aXRoaW4gdGhlIG9mZnNldFxuIgorI34gIiAtcywgLS1zZWN1cmUgICAgICAgIHBlcmZvcm0gc2VjdXJlIGRpc2NhcmRcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICDlgY/np7vlnKjkuK3kvY3lhYPntYTliLDmjajmo4Tlvp5cbiIKKyN+ICIgLWwsIC0tbGVuZ3RoPG51bT4g6ZW35bqm55qE5L2N5YWD57WE5Yiw5o2o5qOE5b6e5YGP56e7XG4iCisjfiAiIC1tLCAtLW1pbmltdW08bnVtPuacgOWwj+W7tuS8uOmVt+W6puWIsOaNqOajhFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgIOWIl+WNsOaNqOajhOeahOS9jeWFg+e1hOaVuOmHj1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzICAuJTA2ZCBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVzICAlLjZmIOenklxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhZ2VzIgorI34gbXNnc3RyICLpoIHpnaIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlZlcnkgbG9uZyAoJXp1IGJ5dGVzKSBmaWxlbmFtZSBgJXMnIGZvdW5kLlxuIgorI34gIiBQbGVhc2UgaW5jcmVhc2UgTUFYX0lOUFVUX05BTUVMRU4gaW4gbWtjcmFtZnMuYyBhbmQgcmVjb21waWxlLiAgRXhpdGluZy4iCisjfiBtc2dzdHIgIiIKKyN+ICLlvojplbcgKCV6dSDkvY3lhYPntYQpIOaqlOWQjeOAjiVz44CP5om+5Yiw44CCXG4iCisjfiAiIOiri+WinuWKoCBNQVhfSU5QVVRfTkFNRUxFTiDlnKjkuK0gbWtjcmFtZnMuYyDlkozph43mlrDnt6jora/jgIIg6Zui6ZaL44CCIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorI34gbXNnc3RyICIlc++8mueEoeazlSBhbGxvYyDnt6nooZ3ljYDnlKjmlrzotoXljYDloYoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzIGZvciBtYXBzIgorI34gbXNnc3RyICIlc++8mueEoeazlemFjee9rue3qeihneWNgOeUqOaWvOaYoOWwhCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorI34gbXNnc3RyICIlc++8mueEoeazlemFjee9rue3qeihneWNgOeUqOaWvCBpbm9kZXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtSiwgLS1qc29uICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKKyN+ICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBwcm9jZXNzIGlkXG4iCisjfiAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorI34gIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGRvbid0IHRydW5jYXRlIHRleHQgaW4gY29sdW1uc1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIOiZleeQhuitmOWIpeiZn1xuIgorI34gIiAtbywgLS1vdXRwdXQ85riF5ZauPiAgIOWumue+qeipsumghei8uOWHuuashOS9jeS7peS9v+eUqFxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIOS4jeWIl+WNsOaomemgrVxuIgorI34gIiAtciAgLS1yYXcgICAgICAgICAgICAgIOS9v+eUqOWOn+Wni+i8uOWHuuagvOW8j1xuIgorI34gIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIOS4jeaIquaWt+aWh+Wtl+WcqOS4reashOS9jVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk51bWJlciBvZiBTZW1hcGhvcmUgSURzIgorI34gbXNnc3RyICLno4HljYDmlbjph48iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCisjfiAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIGxpc3RzIGFsbCBtb3VudHMgd2l0aCBMQUJFTHNcbiIKKyN+ICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piO5paH5a2X54S25b6M6Zui6ZaLXG4iCisjfiAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIOS4jeWRvOWPq+aOm+i8ieOAgjx0eXBlPiDovJTliqnnqIvlvI9cbiIKKyN+ICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAg5YiX5Ye65omA5pyJ5o6b6LyJ6IiH5qiZ6LK8XG4iCisjfiAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIOS4jeWvq+WFpS9ldGMvbXRhYlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC13cml0ZSAoZGVmYXVsdClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICDooajnpLrku4DpurzmraPlnKjmmK/lt7LlrozmiJBcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAg6aGv56S654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisjfiAiIC13LCAtLXJlYWQtd3JpdGUgICAgICAgIOaOm+i8ieaqlOahiOezu+e1seWPr+iugOWPr+WvqyAo6aCQ6KitKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdiAgYmUgdmVyYm9zZVxuIgorI34gbXNnc3RyICIgLXYgIOaYr+ips+e0sOeahFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLWMgfCAtbCBmaWxlbmFtZV0gWy1uWFhdIFstaVhYXSAvZGV2L25hbWUgW2Jsb2Nrc10iCisjfiBtc2dzdHIgIueUqOazle+8miVzIFstY3wtbCDmqpTlkI1dIFstblhYXSBbLWlYWF0vZGV2L+WQjeeosSBb5Y2A5aGKXSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogYmFkIGlub2RlIHNpemUiCisjfiBtc2dzdHIgIiVz77ya5LiN55W255qEIGlub2RlIOWkp+WwjyIKKworI34gbXNnaWQgIndpbGwgbm90IHRyeSB0byBtYWtlIGZpbGVzeXN0ZW0gb24gJyVzJyIKKyN+IG1zZ3N0ciAi5bCH5LiN5pyD6Kmm6JGX5pa844CMJXPjgI3oo73kvZzmqpTmoYjns7vntbEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHlwZTogJWQiCisjfiBtc2dzdHIgIumhnuWei++8miVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZGlzazogJS4qcyIKKyN+IG1zZ3N0ciAi56OB56Kf77yaJS4qc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxhYmVsOiAlLipzIgorI34gbXNnc3RyICLmqJnnsaTvvJolLipzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmxhZ3M6ICVzIgorI34gbXNnc3RyICLml5fmqJnvvJoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYnl0ZXMvc2VjdG9yOiAlbGQiCisjfiBtc2dzdHIgIuS9jeWFg+e1hC/no4HljYDvvJolbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWN0b3JzL3RyYWNrOiAlbGQiCisjfiBtc2dzdHIgIuejgeWNgC/no4Hou4zvvJolbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmFja3MvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAi56OB6LuML+ejgeafse+8miVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlY3RvcnMvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAi56OB5Y2AL+ejgeafse+8miVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImN5bGluZGVyczogJWxkIgorI34gbXNnc3RyICLno4Hmn7HvvJolbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJycG06ICVkIgorI34gbXNnc3RyICJycG3vvJolZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludGVybGVhdmU6ICVkIgorI34gbXNnc3RyICLkuqTpjK/vvJolZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyYWNrc2tldzogJWQiCisjfiBtc2dzdHIgInRyYWNrc2tld++8miVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3lsaW5kZXJza2V3OiAlZCIKKyN+IG1zZ3N0ciAiY3lsaW5kZXJza2V377yaJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJoZWFkc3dpdGNoOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgImhlYWRzd2l0Y2jvvJolbGRcdFx0IyDmr6vnp5JcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmFjay10by10cmFjayBzZWVrOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgIui7jOWwjei7jOaQnOWwi++8miVsZFx0IyDmr6vnp5JcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb25zOiAlZCIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIiVkIOWIhuWJsuWNgO+8mlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIllvdSBjYW5ub3QgY2hhbmdlIGEgcGFydGl0aW9uIGludG8gYW4gZXh0ZW5kZWQgb25lIG9yIHZpY2UgdmVyc2EuIERlbGV0ZSBpdCBmaXJzdC4iCisjfiBtc2dzdHIgIiIKKyN+ICLmgqjnhKHms5Xorormm7TliIblibLljYDngrrkuIDlgIvmk7TlhYXliIblibLmiJblj43kuYtcbiIKKyN+ICLoq4vlhYjliKrpmaTlroPjgIJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiTGFiZWwgZ2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnNcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWxsdSBjeWxpbmRlcnMsICVkIHBoeXNpY2FsIGN5bGluZGVyc1xuIgorI34gIiAgICAgICAgICAgICAgICAlZCBleHRyYSBzZWN0cy9jeWwsIGludGVybGVhdmUgJWQ6MVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi56OB56KfICVzIChTR0kg56OB56Kf5qiZ6LK8Ke+8miVkIOWJjeerr++8jCVsbHUg56OB5Y2AXG4iCisjfiAiJWxsdSDno4Hmn7HvvIwlZCDlr6bpq5Tno4Hmn7FcbiIKKyN+ICIlZCDpoY3lpJYgc2VjdHMvY3ls77yM5Lqk5o+SICVkOjFcbiIKKyN+ICIlc1xuIgorI34gIuWWruS9jT0lcyDnmoQgJWQgKiAlbGQg5L2N5YWD57WEXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiPG5vbmU+IgorI34gbXNnc3RyICLnhKEiCisKKyN+IG1zZ2lkICJnZXR0aW1lb2ZkYXkgZmFpbGVkIgorI34gbXNnc3RyICJnZXR0aW1lb2ZkYXkg5aSx5pWXIgorCisjLCBmdXp6eQorI34gbXNnaWQgInN5c2luZm8gZmFpbGVkIgorI34gbXNnc3RyICJzeXNpbmZvIOWkseaVlyIKKworI34gbXNnaWQgInVzYWdlOiBsYXN0IFstI10gWy1mIGZpbGVdIFstdCB0dHldIFstaCBob3N0bmFtZV0gW3VzZXIgLi4uXVxuIgorI34gbXNnc3RyICLnlKjms5XvvJpsYXN0IFstI10gWy1mIGZpbGVdIFstdCB0dHldIFstaCBob3N0bmFtZV0gW3VzZXLigKZdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IG1tYXAgZmFpbGVkIgorI34gbXNnc3RyICIlc++8mm1tYXAg5aSx5pWXIgorCisjfiBtc2dpZCAiICBzdGlsbCBsb2dnZWQgaW4iCisjfiBtc2dzdHIgIiAg5LuN54S25Zyo55m75YWl54uA5oWLIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gInd0bXAgYmVnaW5zICVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAid3RtcCDplovlp4sgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZ2V0aG9zdG5hbWUgZmFpbGVkIgorI34gbXNnc3RyICJnZXRob3N0bmFtZSDlpLHmlZciCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiaW50ZXJydXB0ZWQgJTEwLjEwcyAlNS41cyBcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIueZvOeUn+aPkuaWtyAlMTAuMTBzICU1LjVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiU2NoZWR1bGluZyBwb2xpY2llczpcbiIKKyN+ICIgIC1iIHwgLS1iYXRjaCAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfQkFUQ0hcbiIKKyN+ICIgIC1mIHwgLS1maWZvICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfRklGT1xuIgorI34gIiAgLWkgfCAtLWlkbGUgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9JRExFXG4iCisjfiAiICAtbyB8IC0tb3RoZXIgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX09USEVSXG4iCisjfiAiICAtciB8IC0tcnIgICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX1JSIChkZWZhdWx0KVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi5o6S56iL562W55Wl77yaXG4iCisjfiAiICAtYiB8IC0tYmF0Y2ggICAgICAgICDoqK3lrprnrZbnlaXngrogU0NIRURfQkFUQ0hcbiIKKyN+ICIgIC1mIHwgLS1maWZvICAgICAgICAgIOioreWumuetlueVpeeCuiBTQ0hFRF9GSUZPXG4iCisjfiAiICAtaSB8IC0taWRsZSAgICAgICAgICDoqK3lrprnrZbnlaXngrogU0NIRURfSURMRVxuIgorI34gIiAgLW8gfCAtLW90aGVyICAgICAgICAg6Kit5a6a562W55Wl54K6IFNDSEVEX09USEVSXG4iCisjfiAiICAtciB8IC0tcnIgICAgICAgICAgICDoqK3lrprnrZbnlaXngrogU0NIRURfUlIgKOmgkOiorSlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgIC1hIHwgLS1hbGwtdGFza3MgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscFxuIgorI34gIiAgLW0gfCAtLW1heCAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCisjfiAiICAtcCB8IC0tcGlkICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorI34gIiAgLXYgfCAtLXZlcmJvc2UgICAgICAgZGlzcGxheSBzdGF0dXMgaW5mb3JtYXRpb25cbiIKKyN+ICIgIC1WIHwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLpgbjpoIXvvJpcbiIKKyN+ICIgIC1hfC0tYWxsLXRhc2tzICAgICDkvZznlKjmlrzmiYDmnInkuovli5kgKOWft+ihjOe3kikg55So5pa857Wm5a6a55qEIHBpZFxuIgorI34gIiAgLWh8LS1oZWxwICAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjlxuIgorI34gIiAgLW18LS1tYXggICAgICAgICAgIOmhr+ekuuacgOWwj+WSjOacgOWkp+acieaViOWEquWFiOetiee0mlxuIgorI34gIiAgLXB8LS1waWQgICAgICAgICAgIOS9nOeUqOaWvOePvuaciee1puWumueahCBwaWRcbiIKKyN+ICIgIC12fC0tdmVyYm9zZSAgICAgICDpoa/npLrni4DmhYvos4foqIpcbiIKKyN+ICIgIC1WfC0tdmVyc2lvbiAgICAgICDovLjlh7rniYjmnKzos4foqIpcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tYXV0by8tYSBvcHRpb24iCisjfiBtc2dzdHIgIueEoeaViOeahOW8leaVuOWIsCAtLWF1dG8gLy1hIOmBuOmghSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tbWFudWFsZWplY3QvLWkgb3B0aW9uIgorI34gbXNnc3RyICLnhKHmlYjnmoTlvJXmlbjliLAgLS1tYW51YWxlamVjdCAvLWkg6YG46aCFIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIGNoYW5nZSB0aGUgU3lzdGVtIENsb2NrLiIKKyN+IG1zZ3N0ciAi5oqx5q2J77yM5Y+q5pyJ57O757Wx566h55CG6ICF5Y+v5Lul6K6K5pu057O757Wx5pmC6ZCY44CCIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIGNoYW5nZSB0aGUgSGFyZHdhcmUgQ2xvY2sgZXBvY2ggaW4gdGhlIGtlcm5lbC4iCisjfiBtc2dzdHIgIuaKseatie+8jOWPquacieezu+e1seeuoeeQhuiAheWPr+S7peiuiuabtOehrOmrlOaZgumQmOaZguacn+WcqOS4reWFp+aguOOAgiIKKworI34gbXNnaWQgInJlYWQoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXMg55qEIHJlYWQoKSDnrYnlgJnmmYLpkJjpgLHmnJ/lpLHmlZciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2V0IHJ0YyBhbGFybSBmYWlsZWQiCisjfiBtc2dzdHIgIuioreWumiBydGMg6K2m56S65aSx5pWXIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVuYWJsZSBydGMgYWxhcm0gZmFpbGVkIgorI34gbXNnc3RyICLllZ/nlKggcnRjIOitpuekuuWkseaVlyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdXNwZW5kIHRvIFwiJXNcIiB1bmF2YWlsYWJsZSIKKyN+IG1zZ3N0ciAi5oe4572u5Yiw44CMJXPjgI3kuI3lvpfkvb/nlKgiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIHZhbHVlIgorI34gbXNnc3RyICLkuI3nlbbnmoTlgLwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1tLCAtLW1vdW50ICAgICAgICAgICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtbSwgLS1zaG1lbXMgICAgICDlhbHnlKjoqJjmhrbpq5Tos4fmlpnmrrVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXUsIC0tdXRzICAgICAgICAgICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKKyN+IG1zZ3N0ciAiIC1tLCAtLXNobWVtcyAgICAgIOWFseeUqOiomOaGtumrlOizh+aWmeautVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaSwgLS1pcGMgICAgICAgICAgICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAg6aGv56S65bu656uL6ICF5ZKM5pyA5b6M5LiA562G6KiI566XIFBJRHNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW4sIC0tbmV0ICAgICAgICAgICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICDoqK3lrprlkIzkvY3liLDnhKFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgICAgICB1bnNoYXJlIHBpZCBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgIOmhr+ekuuW7uueri+iAheWSjOacgOW+jOS4gOethuioiOeulyBQSURzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1VLCAtLXVzZXIgICAgICAgICAgICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgLW0sIC0tc2htZW1zICAgICAg5YWx55So6KiY5oa26auU6LOH5paZ5q61XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVtIgorI34gbXNnc3RyICLnhKHms5XplovllZ8gJXPvvJolcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmcmVhZCBmYWlsZWQiCisjfiBtc2dzdHIgImZyZWFkIOWkseaVlyIKKworI34gbXNnaWQgIkhlbHAgU2NyZWVuIGZvciBjZmRpc2siCisjfiBtc2dzdHIgImNmZGlzayDnmoToqqrmmI7nlavpnaIiCisKKyN+IG1zZ2lkICJkaXNrIGRyaXZlLiIKKyN+IG1zZ3N0ciAi44CCIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGBubyciCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBgbm8nIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRvbyBzbWFsbCBwYXJ0aXRpb24gc2l6ZSBzcGVjaWZpZWQuIgorI34gbXNnc3RyICLmspLmnIkgLS1kYXRlIOmBuOmgheaMh+WumueahOOAgiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdGF0IGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAic3RhdCDlpLHmlZcgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCisjfiBtc2dzdHIgIumFjee9rui/reS7o+WZqOaZguWkseaVlyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbjogJXMiCisjfiBtc2dzdHIgIueEoeazlemWi+WVnyAlcyIKKworI34gbXNnaWQgIiVzOiBzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXPvvJpzdGF0IOWkseaVlyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogbHN0YXQgZmFpbGVkIgorI34gbXNnc3RyICIlc++8mnN0YXQg5aSx5pWXIgorCisjfiBtc2dpZCAic2V0IGJsb2Nrc2l6ZSIKKyN+IG1zZ3N0ciAi6Kit5a6a5Y2A5aGK5aSn5bCPIgorCisjfiBtc2dpZCAidXNhZ2U6XG4iCisjfiBtc2dzdHIgIueUqOazle+8mlxuIgorCisjfiBtc2dpZCAiXHROT1RFOiBlbHZ0dW5lIG9ubHkgd29ya3Mgd2l0aCAyLjQga2VybmVsc1xuIgorI34gbXNnc3RyICJcdOiou+iomO+8mmVsdnR1bmUg5Y+q6YGp55So5pa8IDIuNCDlhafmoLhcbiIKKworI34gbXNnaWQgIm1pc3NpbmcgYmxvY2tkZXZpY2UsIHVzZSAtaCBmb3IgaGVscFxuIgorI34gbXNnc3RyICLnvLrlsJHljYDloYroo53nva7vvIzkvb/nlKggLWgg5Lul542y5b6X6Kqq5piOXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiZWx2dHVuZSBpcyBvbmx5IHVzZWZ1bCBvbiBvbGRlciBrZXJuZWxzO1xuIgorI34gImZvciAyLjYgdXNlIElPIHNjaGVkdWxlciBzeXNmcyB0dW5hYmxlcyBpbnN0ZWFkLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIiBlbHZ0dW5lIOWPqumBqeeUqOaWvOiIiueahOWFp+aguO+8m1xuIgorI34gIuaWvCAyLjYg6KuL5L2/55SoIElPIOaOkueoi+eoi+W8jyBzeXNmcyB0dW5hYmxlcyDlgZrngrrmm7/ku6PjgIJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gbXNnc3RyICLnlKjms5XvvJolcyBb6YG46aCFXSDoo53nva5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLW4sIC0tbm8tdmVyaWZ5ICBkaXNhYmxlIHRoZSB2ZXJpZmljYXRpb24gYWZ0ZXIgdGhlIGZvcm1hdFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIumBuOmghe+8mlxuIgorI34gIiAtbiwgLS1uby12ZXJpZnkgIOWBnOeUqOmpl+itieS5i+W+jOagvOW8j1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhaWRwaWQgZmFpbGVkIgorI34gbXNnc3RyICJ3YWlkcGlkIOWkseaVlyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGZpbGVcbiIKKyN+IG1zZ3N0ciAiICVzIFvpgbjpoIVdIOaqlOahiFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAteCwgLS1kZXN0aW5hdGlvbiA8ZGlyPiAgZXh0cmFjdCBpbnRvIGRpcmVjdG9yeVxuIgorI34gbXNnc3RyICIgLXgsIC0tZGVzdGluYXRpb24gPGRpcj4gIOaKveWHuumAsuWFpeebrumMhFxuIgorCisjfiBtc2dpZCAiY29tcGlsZWQgd2l0aG91dCAteCBzdXBwb3J0IgorI34gbXNnc3RyICLnt6jora/mmYLkuI3lhbcgLXgg5pSv5o+0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi55So5rOV77yaXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBta2ZzKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6KaB542y5b6X5pu05aSa6LOH6KiK6KuL5Y+D55yLIG1rZnMgKDgp44CCXG4iCisKKyN+IG1zZ2lkICJvcGVuIGZhaWxlZDogJXMiCisjfiBtc2dzdHIgIumWi+WVn+WkseaVl++8miVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAi57eo6Lyv5pW45a2X5byV5pW45aSx5pWXIgorCisjfiBtc2dpZCAib25lIGJhZCBibG9ja1xuIgorI34gbXNnc3RyICLkuIDlgIvkuI3oia/ljYDloYpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCYWQgc3dhcCBoZWFkZXIgc2l6ZSwgbm8gbGFiZWwgd3JpdHRlbi4iCisjfiBtc2dzdHIgIuS4jeeVtueahOS6pOaPm+mggemmluWkp+Wwj++8jOaykuacieaomeiyvOaJi+Wvq+eahOOAgiIKKworI34gbXNnaWQgImZzeW5jIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZnN5bmMg5aSx5pWXIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiB0eXBlIGhleCBvciB1dWlkIgorI34gbXNnc3RyICLliIblibLljYDpoZ7lnovljYHlha3pgLLkvY3miJYgdXVpZCIKKworI34gbXNnaWQgIiVzOiBPdXQgb2YgbWVtb3J5IVxuIgorI34gbXNnc3RyICIlc++8muiomOaGtumrlOS4jei2s++8gVxuIgorCisjICLnhKHms5Xlu7rnq4sgJXM6ICVzXG4iCisjfiBtc2dpZCAiVW51c2FibGUiCisjfiBtc2dzdHIgIueEoeazleS9v+eUqCIKKworI34gbXNnaWQgIkRpc2sgaGFzIGJlZW4gY2hhbmdlZC5cbiIKKyN+IG1zZ3N0ciAi56OB56Kf5bey6K6K5pu044CCXG4iCisKKyN+IG1zZ2lkICJSZWJvb3QgdGhlIHN5c3RlbSB0byBlbnN1cmUgdGhlIHBhcnRpdGlvbiB0YWJsZSBpcyBjb3JyZWN0bHkgdXBkYXRlZC5cbiIKKyN+IG1zZ3N0ciAi57O757Wx6YeN5paw6ZaL5qmf5Lul56K65L+d5YiG5Ymy6KGo5q2j56K65Zyw6KKr5pu05paw44CCXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnlcbiIKKyN+ICJET1MgNi54IHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGNmZGlzayBtYW51YWxcbiIKKyN+ICJwYWdlIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6K2m5ZGK77ya5aaC5p6c5oKo5bey5bu656uL5oiW5L+u5pS55Lu75L2VXG4iCisjfiAiRE9TIDYueCDliIblibLljYDvvIzoq4vlj4PnnIsgY2ZkaXNrIOaJi+WGilxuIgorI34gIuS7peeNsuW+l+mhjeWklueahOizh+ioiuOAglxuIgorCisjfiBtc2dpZCAiRkFUQUwgRVJST1IiCisjfiBtc2dzdHIgIuWatOmHjemMr+iqpCIKKworI34gbXNnaWQgIlByZXNzIGFueSBrZXkgdG8gZXhpdCBjZmRpc2siCisjfiBtc2dzdHIgIuaMieS7u+S9lemNteS7pemboumWiyBjZmRpc2siCisKKyN+IG1zZ2lkICJDYW5ub3Qgc2VlayBvbiBkaXNrIGRyaXZlIgorI34gbXNnc3RyICLnhKHms5XmkJzlsIvno4Hnop8iCisKKyN+IG1zZ2lkICJDYW5ub3QgcmVhZCBkaXNrIGRyaXZlIgorI34gbXNnc3RyICLnhKHms5XoroDlj5bno4Hnop8iCisKKyN+IG1zZ2lkICJDYW5ub3Qgd3JpdGUgZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAi54Sh5rOV5a+r5YWl56OB56KfIgorCisjfiBtc2dpZCAiVG9vIG1hbnkgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAi5YiG5Ymy5Y2A6YGO5aSaIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGJlZ2lucyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIuWIhuWJsuWNgOmWi+err+Wwj+aWvOejgeWNgCAwIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGVuZHMgYmVmb3JlIHNlY3RvciAwIgorI34gbXNnc3RyICLliIblibLljYDntZDlsL7lsI/mlrzno4HljYAgMCIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBiZWdpbnMgYWZ0ZXIgZW5kLW9mLWRpc2siCisjfiBtc2dzdHIgIuWIhuWJsuWNgOmWi+err+Wkp+aWvOejgeein+acq+erryIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICLliIblibLljYDntZDlsL7lpKfmlrzno4Hnop/mnKvnq68iCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgbm90IGluIGRpc2sgb3JkZXIiCisjfiBtc2dzdHIgIumCj+i8r+WIhuWJsuWNgOacquaMieejgeein+mghuW6jyIKKworI34gbXNnaWQgImxvZ2ljYWwgcGFydGl0aW9ucyBvdmVybGFwIgorI34gbXNnc3RyICLpgo/ovK/liIblibLljYDph43nlooiCisKKyN+IG1zZ2lkICJlbmxhcmdlZCBsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAi5pO05aSn55qE6YKP6Lyv5YiG5Ymy5Y2A6YeN55aKIgorCisjfiBtc2dpZCAiISEhISBJbnRlcm5hbCBlcnJvciBjcmVhdGluZyBsb2dpY2FsIGRyaXZlIHdpdGggbm8gZXh0ZW5kZWQgcGFydGl0aW9uICEhISEiCisjfiBtc2dzdHIgIiEhISEg5YWn6YOo6Yyv6KqkISDmlrDlop7pgo/ovK/no4Hnop/mspLmnInnlKjmlrzmk7TlsZXliIblibLljYAgISEhISIKKworI34gbXNnaWQgIkNhbm5vdCBjcmVhdGUgbG9naWNhbCBkcml2ZSBoZXJlIC0tIHdvdWxkIGNyZWF0ZSB0d28gZXh0ZW5kZWQgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAi54Sh5rOV5Zyo5q2k5paw5aKe6YKP6Lyv56OB56KfIC0tIOWmguatpOWwh+mAoOaIkOS6jOWAi+aTtOWxleWIhuWJsuWNgCIKKworI34gbXNnaWQgIk1lbnUgaXRlbSB0b28gbG9uZy4gTWVudSBtYXkgbG9vayBvZGQuIgorI34gbXNnc3RyICLpgbjllq7poIXnm67lpKrplbfvvIzpgbjllq7nnIvotbfkvobmnIPlvojlpYfmgKrjgIIiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGtleSIKKyN+IG1zZ3N0ciAi54Sh5pWI5oyJ6Y21IgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICLmlrDlop7kuIDlgIvkuLvopoHliIblibLljYAiCisKKyN+IG1zZ2lkICJDcmVhdGUgYSBuZXcgbG9naWNhbCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIuaWsOWinuS4gOWAi+mCj+i8r+WIhuWJsuWNgCIKKworI34gbXNnaWQgIkNhbmNlbCIKKyN+IG1zZ3N0ciAi5Y+W5raIIgorCisjfiBtc2dpZCAiRG9uJ3QgY3JlYXRlIGEgcGFydGl0aW9uIgorI34gbXNnc3RyICLkuI3opoHmlrDlop7kuIDlgIvliIblibLljYAiCisKKyN+IG1zZ2lkICIhISEgSW50ZXJuYWwgZXJyb3IgISEhIgorI34gbXNnc3RyICIhISEg5YWn6YOo6Yyv6KqkICEhISIKKworI34gbXNnaWQgIlNpemUgKGluIE1CKTogIgorI34gbXNnc3RyICLlpKflsI8gKOWWruS9jSBNQik6ICIKKworI34gbXNnaWQgIkJlZ2lubmluZyIKKyN+IG1zZ3N0ciAi6ZaL5aeLIgorCisjfiBtc2dpZCAiQWRkIHBhcnRpdGlvbiBhdCBiZWdpbm5pbmcgb2YgZnJlZSBzcGFjZSIKKyN+IG1zZ3N0ciAi5paw5aKe5YiG5Ymy5Y2A5pa85Ymp6aSY56m66ZaT6ZaL6aCt5L2N572uIgorCisjfiBtc2dpZCAiQWRkIHBhcnRpdGlvbiBhdCBlbmQgb2YgZnJlZSBzcGFjZSIKKyN+IG1zZ3N0ciAi5paw5aKe5YiG5Ymy5Y2A5pa85Ymp6aSY56m66ZaT5pyr56uvIgorCisjfiBtc2dpZCAiTm8gcm9vbSB0byBjcmVhdGUgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAi5bey54Sh5aSa6aSY55qE56OB56Kf56m66ZaT5Y+v6ZaL5ZWf5pO05YWF5YiG5Ymy5Y2AIgorCisjfiBtc2dpZCAiTm8gcGFydGl0aW9uIHRhYmxlLiBTdGFydGluZyB3aXRoIHplcm8gdGFibGUuIgorI34gbXNnc3RyICLnhKHliIblibLooajjgILku6XnqbrnmoTooajmoLzplovlp4vjgIIiCisKKyN+IG1zZ2lkICJCYWQgc2lnbmF0dXJlIG9uIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAi5YiG5Ymy6KGo5LiK5pyJ5LiN55W255qE57C956ugIgorCisjfiBtc2dpZCAiVW5rbm93biBwYXJ0aXRpb24gdGFibGUgdHlwZSIKKyN+IG1zZ3N0ciAi5LiN5piO55qE5YiG5Ymy6KGo6aGe5Z6LIgorCisjfiBtc2dpZCAiRG8geW91IHdpc2ggdG8gc3RhcnQgd2l0aCBhIHplcm8gdGFibGUgW3kvTl0gPyIKKyN+IG1zZ3N0ciAi5oKo5oOz6KaB5Lul5LiA5YCL56m655qE5YiG5Ymy6KGo6ZaL5aeL5ZeOIFt5L05dID8iCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiBkaXNrIGRyaXZlIgorI34gbXNnc3RyICLnhKHms5XplovllZ/no4Hnop8iCisKKyN+IG1zZ2lkICJPcGVuZWQgZGlzayByZWFkLW9ubHkgLSB5b3UgaGF2ZSBubyBwZXJtaXNzaW9uIHRvIHdyaXRlIgorI34gbXNnc3RyICLlt7LplovllZ/no4Hnop/ngrrllK/oroAgLSDmgqjnhKHmrIrpmZDlj6/lr6vlhaUiCisKKyN+IG1zZ2lkICJDYW5ub3QgZ2V0IGRpc2sgc2l6ZSIKKyN+IG1zZ3N0ciAi54Sh5rOV5Y+W5b6X56OB56Kf5aSn5bCPIgorCisjfiBtc2dpZCAiQmFkIHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICLlo57nmoTkuLvopoHliIblibLljYAiCisKKyN+IG1zZ2lkICJXYXJuaW5nISEgIFRoaXMgbWF5IGRlc3Ryb3kgZGF0YSBvbiB5b3VyIGRpc2shIgorI34gbXNnc3RyICLorablkYohISDpgJnpoIXmk43kvZzlj6/og73mnIPkvb/mgqjnoaznop/kuK3nmoTos4fmlpnmtojlpLEhIgorCisjfiBtc2dpZCAiUGxlYXNlIGVudGVyIGB5ZXMnIG9yIGBubyciCisjfiBtc2dzdHIgIuiri+mNteWFpSBgeWVzJyDmiJYgYG5vJyIKKworI34gbXNnaWQgIldyaXRpbmcgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2suLi4iCisjfiBtc2dzdHIgIuato+Wvq+WFpeWIhuWJsuihqOWIsOehrOein+KApiIKKworI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrIgorI34gbXNnc3RyICLlt7LlsIfliIblibLooajlr6vlhaXnoaznop8iCisKKyN+IG1zZ2lkICJXcm90ZSBwYXJ0aXRpb24gdGFibGUsIGJ1dCByZS1yZWFkIHRhYmxlIGZhaWxlZC4gIFJ1biBwYXJ0cHJvYmUoOCksIGtwYXJ0eCg4KSBvciByZWJvb3QgdG8gdXBkYXRlIHRhYmxlLiIKKyN+IG1zZ3N0ciAi5bey5a+r5YWl5YiG5Ymy6KGo77yM5L2G6YeN6K6A5aSx5pWX44CCIOiri+Wft+ihjCBwYXJ0cHJvYmUoOCnjgIFrcGFydHgoOCkg5oiW6YeN5paw6ZaL5qmf5Lul5pu05paw5YiG5Ymy6KGo44CCIgorCisjfiBtc2dpZCAiTm8gcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBtYXJrZWQgYm9vdGFibGUuIERPUyBNQlIgY2Fubm90IGJvb3QgdGhpcy4iCisjfiBtc2dzdHIgIuaykuacieS4u+imgeWIhuWJsuWNgOiiq+aomeiomOeCuuWPr+mWi+apny4gRE9TIE1CUiDnhKHms5XnlLHmraTplovmqZ8uIgorCisjfiBtc2dpZCAiTW9yZSB0aGFuIG9uZSBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUuIERPUyBNQlIgY2Fubm90IGJvb3QgdGhpcy4iCisjfiBtc2dzdHIgIui2hemBjuS4gOWAi+S4u+imgeWIhuWJsuWNgOaomeiomOeCuuWPr+mWi+apny4gRE9TIE1CUiDnhKHms5XnlLHmraTplovmqZ8uIgorCisjfiBtc2dpZCAiRW50ZXIgZmlsZW5hbWUgb3IgcHJlc3MgUkVUVVJOIHRvIGRpc3BsYXkgb24gc2NyZWVuOiAiCisjfiBtc2dzdHIgIumNteWFpeaqlOWQjeaIluaMiSBFbnRlciDpjbXku6Xpoa/npLrmlrzonqLluZXkuIo6ICIKKworI34gbXNnaWQgIkRpc2sgRHJpdmU6ICVzXG4iCisjfiBtc2dzdHIgIuehrOeinzogJXNcbiIKKworI34gbXNnaWQgIlNlY3RvciAwOlxuIgorI34gbXNnc3RyICLno4HljYAgMDpcbiIKKworI34gbXNnaWQgIlNlY3RvciAlZDpcbiIKKyN+IG1zZ3N0ciAi56OB5Y2AICVkOlxuIgorCisjfiBtc2dpZCAiICAgTm9uZSAgICIKKyN+IG1zZ3N0ciAiICAg54ShICAgIgorCisjfiBtc2dpZCAiICAgUHJpL0xvZyIKKyN+IG1zZ3N0ciAiIOS4u+imgS/pgo/ovK8iCisKKyN+IG1zZ2lkICIgICBQcmltYXJ5IgorI34gbXNnc3RyICIgICDkuLvopoHnmoQgIgorCisjfiBtc2dpZCAiICAgTG9naWNhbCIKKyN+IG1zZ3N0ciAiICAg6YKP6Lyv55qEIgorCisjfiBtc2dpZCAiKCUwMlgpIgorI34gbXNnc3RyICIoJTAyWCkiCisKKyN+IG1zZ2lkICJOb25lIgorI34gbXNnc3RyICLnhKEiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gVGFibGUgZm9yICVzXG4iCisjfiBtc2dzdHIgIiVzIOeahOWIhuWJsuihqFxuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgRmlyc3QgICAgICAgTGFzdFxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICDnrKzkuIDlgIsgICAgIOacgOW+jOeahFxuIgorCisjfiBtc2dpZCAiICMgVHlwZSAgICAgICBTZWN0b3IgICAgICBTZWN0b3IgICBPZmZzZXQgICAgTGVuZ3RoICAgRmlsZXN5c3RlbSBUeXBlIChJRCkgRmxhZ1xuIgorI34gbXNnc3RyICIgIyDpoZ7lnosgICAgICAgICAg56OB5Y2AICAgICAgIOejgeWNgOWBj+enu+WAvCAgICAgICAgICDplbfluqYgICDmqpTmoYjns7vntbHpoZ7lnosgKElEKSAgIOaXl+aomVxuIgorCisjfiBtc2dpZCAiLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLVxuIgorI34gbXNnc3RyICItLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tXG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAtLS1TdGFydGluZy0tLS0gICAgICAtLS0tRW5kaW5nLS0tLS0gICAgU3RhcnQgICAgIE51bWJlciBvZlxuIgorI34gbXNnc3RyICIgICAgICAgICAgLS0t6ZaL5aeLLS0tICAgICAgICAgICAtLS0t57WQ5p2fLS0tLS0gICAgIOmWi+WniyAgICAgICAgIOaVuOmHj1xuIgorCisjfiBtc2dpZCAiICMgRmxhZ3MgSGVhZCBTZWN0ICBDeWwgICBJRCAgSGVhZCBTZWN0ICBDeWwgICAgIFNlY3RvciAgICBTZWN0b3JzXG4iCisjfiBtc2dzdHIgIiAjIOaXl+aomSAg56OB6aCtIOejgeWNgCDno4Hmn7EgIElEICDno4HpoK0g56OB5Y2AIOejgeafsSAgICDno4HljYAgICAgICDno4HljYDmlbggIFxuIgorCisjfiBtc2dpZCAiLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tXG4iCisjfiBtc2dzdHIgIi0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLVxuIgorCisjfiBtc2dpZCAiUmF3IgorI34gbXNnc3RyICLljp/lp4siCisKKyN+IG1zZ2lkICJQcmludCB0aGUgdGFibGUgdXNpbmcgcmF3IGRhdGEgZm9ybWF0IgorI34gbXNnc3RyICLnlKjljp/lp4vos4fmlpnmoLzlvI/poa/npLrliIblibLooagiCisKKyN+IG1zZ2lkICJQcmludCB0aGUgdGFibGUgb3JkZXJlZCBieSBzZWN0b3JzIgorI34gbXNnc3RyICLnlKjno4HljYDmlbjlpKflsI/poa/npLrliIblibLooagiCisKKyN+IG1zZ2lkICJUYWJsZSIKKyN+IG1zZ3N0ciAi5YiG5Ymy6KGoIgorCisjfiBtc2dpZCAiSnVzdCBwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICLlj6rpoa/npLrmraTliIblibLooagiCisKKyN+IG1zZ2lkICJEb24ndCBwcmludCB0aGUgdGFibGUiCisjfiBtc2dzdHIgIuS4jemhr+ekuuatpOWIhuWJsuihqCIKKworI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMTk5NC0xOTk5IEtldmluIEUuIE1hcnRpbiAmIGFlYiIKKyN+IG1zZ3N0ciAi6JGX5L2c5qyKwqkxOTk0LTE5OTkgS2V2aW4gRS5NYXJ0aW4gJiBhZWIiCisKKyN+IG1zZ2lkICIgIGcgICAgICAgICAgQ2hhbmdlIGN5bGluZGVycywgaGVhZHMsIHNlY3RvcnMtcGVyLXRyYWNrIHBhcmFtZXRlcnMiCisjfiBtc2dzdHIgIiAgZyAgICAgICAgICDorormm7Tno4Hmn7HjgIHno4HpoK3jgIHmr4/kuIDno4Hou4zno4HljYDmlbjlkITpoIXlj4PmlbgiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgV0FSTklORzogVGhpcyBvcHRpb24gc2hvdWxkIG9ubHkgYmUgdXNlZCBieSBwZW9wbGUgd2hvIgorI34gbXNnc3RyICIgICAgICAgICAgICAg6K2m5ZGKOiDmraTpgbjpoIXlj6rpgannlKjmlrzpgqPkupsiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAga25vdyB3aGF0IHRoZXkgYXJlIGRvaW5nLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIOefpemBk+S7luiHquW3seWcqOWBmuS7gOm6vOeahOS6uuOAgiIKKworI34gbXNnaWQgIiAgbSAgICAgICAgICBNYXhpbWl6ZSBkaXNrIHVzYWdlIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICBtICAgICAgICAgIOWwh+WIhuWJsuWNgOeahOeUqOmHj+acgOWkp+WMliIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBOb3RlOiBUaGlzIG1heSBtYWtlIHRoZSBwYXJ0aXRpb24gaW5jb21wYXRpYmxlIHdpdGgiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICDms6jmhI86IOmAmeWwh+S9v+WIhuWJsuWNgOS4jeebuOWuueaWvCIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBET1MsIE9TLzIsIC4uLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIERPUywgT1MvMizigKYiCisKKyN+IG1zZ2lkICIgIHAgICAgICAgICAgUHJpbnQgcGFydGl0aW9uIHRhYmxlIHRvIHRoZSBzY3JlZW4gb3IgdG8gYSBmaWxlIgorI34gbXNnc3RyICIgIHAgICAgICAgICAg6aGv56S65YiG5Ymy6KGo5pa86J6i5bmV5oiW6Ly45Ye66Iez5qqU5qGIIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFRoZXJlIGFyZSBzZXZlcmFsIGRpZmZlcmVudCBmb3JtYXRzIGZvciB0aGUgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICAgICAgICAgICAg6YCZ6KOh5pyJ5LiN5ZCM55qE5YiG5Ymy5Y2A5qC85byPIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIHRoYXQgeW91IGNhbiBjaG9vc2UgZnJvbToiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICDku6XkuIvmgqjlj6/ku6Xpgbjmk4c6IgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHIgLSBSYXcgZGF0YSAoZXhhY3RseSB3aGF0IHdvdWxkIGJlIHdyaXR0ZW4gdG8gZGlzaykiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICByIC0g5Y6f5aeL6LOH5paZICjlkozmgqjlr6vlhaXnoaznop/kuK3nmoTkuIDmqKMpIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHMgLSBUYWJsZSBvcmRlcmVkIGJ5IHNlY3RvcnMiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0g5YiG5Ymy6KGo5Lul56OB5Y2A5pW45o6S5YiXIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHQgLSBUYWJsZSBpbiByYXcgZm9ybWF0IgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgdCAtIOWIhuWJsuihqOS7peWOn+Wni+agvOW8j+mhr+ekuiIKKworI34gbXNnaWQgIiAgdSAgICAgICAgICBDaGFuZ2UgdW5pdHMgb2YgdGhlIHBhcnRpdGlvbiBzaXplIGRpc3BsYXkiCisjfiBtc2dzdHIgIiAgdSAgICAgICAgICDorormm7TliIblibLljYDlpKflsI/nmoTpoa/npLrllq7kvY0iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgUm90YXRlcyB0aHJvdWdoIE1CLCBzZWN0b3JzIGFuZCBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICDlvqrnkrDpoa/npLogTULjgIHno4HljYDmlbjlkozno4Hmn7HmlbgiCisKKyN+IG1zZ2lkICJDVFJMLUwgICAgICAgUmVkcmF3cyB0aGUgc2NyZWVuIgorI34gbXNnc3RyICJDVFJMLUwgICAgICAg6YeN5paw5pW055CG55Wr6Z2iKOS7peWFjeacieaumOW9sSkiCisKKyN+IG1zZ2lkICIgID8gICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCisjfiBtc2dzdHIgIiAgPyAgICAgICAgICDpoa/npLrmraTnlavpnaIiCisKKyN+IG1zZ2lkICJDaGFuZ2UgY3lsaW5kZXIgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIuiuiuabtOejgeafsee1kOaniyIKKworI34gbXNnaWQgIkNoYW5nZSBoZWFkIGdlb21ldHJ5IgorI34gbXNnc3RyICLorormm7Tno4HpoK3ntZDmp4siCisKKyN+IG1zZ2lkICJDaGFuZ2Ugc2VjdG9yIGdlb21ldHJ5IgorI34gbXNnc3RyICLorormm7Tno4HljYDntZDmp4siCisKKyN+IG1zZ2lkICJEb25lIgorI34gbXNnc3RyICLlrozmiJAiCisKKyN+IG1zZ2lkICJEb25lIHdpdGggY2hhbmdpbmcgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIuiuiuabtOe1kOani+WujOaIkCIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzOiAiCisjfiBtc2dzdHIgIumNteWFpeejgeafseaVuDogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBjeWxpbmRlcnMgdmFsdWUiCisjfiBtc2dzdHIgIuejgeafseaVuOWAvOS4jeWQiOazlSIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2YgaGVhZHM6ICIKKyN+IG1zZ3N0ciAi6Y215YWl56OB6aCt5pW45a2XOiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGhlYWRzIHZhbHVlIgorI34gbXNnc3RyICLno4HpoK3mlbjlgLzkuI3lkIjms5UiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrOiAiCisjfiBtc2dzdHIgIumNteWFpeavj+S4gOejgei7jOeahOejgeWNgOaVuDogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBzZWN0b3JzIHZhbHVlIgorI34gbXNnc3RyICLno4HljYDmlbjkuI3lkIjms5UiCisKKyN+IG1zZ2lkICJFbnRlciBmaWxlc3lzdGVtIHR5cGU6ICIKKyN+IG1zZ3N0ciAi6KuL6KeA5a+f5LiK6KGoLOi8uOWFpeipsuaqlOahiOezu+e1seeahOmhnuWei+S7o+eivDogIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSBGUyBUeXBlIHRvIGVtcHR5IgorI34gbXNnc3RyICLnhKHms5Xorormm7TmqpTmoYjns7vntbHpoZ7lnovngrrnqboiCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIEZTIFR5cGUgdG8gZXh0ZW5kZWQiCisjfiBtc2dzdHIgIueEoeazleiuiuabtOaqlOahiOezu+e1semhnuWei+eCuuaTtOWxleeahCIKKworI34gbXNnaWQgIlVuayglMDJYKSIKKyN+IG1zZ3N0ciAiVW5rKCUwMlgpIgorCisjfiBtc2dpZCAiLCBOQyIKKyN+IG1zZ3N0ciAiLCBOQyIKKworI34gbXNnaWQgIk5DIgorI34gbXNnc3RyICJOQyIKKworI34gbXNnaWQgIlByaS9Mb2ciCisjfiBtc2dzdHIgIuS4u+imgS/pgo/ovK8iCisKKyN+IG1zZ2lkICJVbmtub3duICglMDJYKSIKKyN+IG1zZ3N0ciAi5pyq55+l55qEICglMDJYKSIKKworI34gbXNnaWQgIkRpc2sgRHJpdmU6ICVzIgorI34gbXNnc3RyICLnoaznop86ICVzIgorCisjfiBtc2dpZCAiU2l6ZTogJWxsZCBieXRlcywgJWxsZCBNQiIKKyN+IG1zZ3N0ciAi5aSn5bCPOiAlbGxkIOS9jeWFg+e1hCwgJWxsZCBNQiIKKworI34gbXNnaWQgIlNpemU6ICVsbGQgYnl0ZXMsICVsbGQuJWxsZCBHQiIKKyN+IG1zZ3N0ciAi5aSn5bCPOiAlbGxkIOS9jeWFg+e1hCwgJWxsZC4lbGxkIEdCIgorCisjfiBtc2dpZCAiSGVhZHM6ICVkICAgU2VjdG9ycyBwZXIgVHJhY2s6ICVkICAgQ3lsaW5kZXJzOiAlbGxkIgorI34gbXNnc3RyICLno4HpoK3mlbg6ICVkICAg5q+P5LiA56OB6LuM55qE56OB5Y2A5pW4OiAlZCAgIOejgeafseaVuDogJWxsZCIKKworI34gbXNnaWQgIlBhcnQgVHlwZSIKKyN+IG1zZ3N0ciAi5YiG5Ymy5Y2A6aGe5Z6LIgorCisjfiBtc2dpZCAiRlMgVHlwZSIKKyN+IG1zZ3N0ciAi5qqU5qGI57O757Wx6aGe5Z6LIgorCisjfiBtc2dpZCAiW0xhYmVsXSIKKyN+IG1zZ3N0ciAiW+aomeiomOWQjeeosV0iCisKKyN+IG1zZ2lkICIgICAgU2VjdG9ycyIKKyN+IG1zZ3N0ciAiICAg56OB5Y2AIgorCisjfiBtc2dpZCAiICBDeWxpbmRlcnMiCisjfiBtc2dzdHIgIiAg56OB5p+xIgorCisjfiBtc2dpZCAiICBTaXplIChNQikiCisjfiBtc2dzdHIgIiDlpKflsI8gKE1CKSIKKworI34gbXNnaWQgIiAgU2l6ZSAoR0IpIgorI34gbXNnc3RyICIg5aSn5bCPIChHQikiCisKKyN+IG1zZ2lkICJObyBtb3JlIHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIuW3sueEoeWkmumkmOeahOWIhuWJsuWNgCIKKworI34gbXNnaWQgIkNoYW5nZSBkaXNrIGdlb21ldHJ5IChleHBlcnRzIG9ubHkpIgorI34gbXNnc3RyICLorormm7Tno4Hnop/ntZDmp4sgKOiAgeaJi+mBqeeUqCkiCisKKyN+IG1zZ2lkICJNYXhpbWl6ZSIKKyN+IG1zZ3N0ciAi5pyA5aSn5YyWIgorCisjfiBtc2dpZCAiTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24gKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIuS9v+ebruWJjeeahOWIhuWJsuWNgOeahOejgeein+S9v+eUqOacgOWkp+WMliAo6ICB5omL6YGp55SoKSIKKworI34gbXNnaWQgIlByaW50IgorI34gbXNnc3RyICLljbDlh7oiCisKKyN+IG1zZ2lkICJDaGFuZ2UgdGhlIGZpbGVzeXN0ZW0gdHlwZSAoRE9TLCBMaW51eCwgT1MvMiBhbmQgc28gb24pIgorI34gbXNnc3RyICLorormm7TmqpTmoYjns7vntbHnmoTpoZ7lnosgKERPUywgTGludXgsIHN3YXAsIE9TLzIg562J562JKSIKKworI34gbXNnaWQgIlVuaXRzIgorI34gbXNnc3RyICLllq7kvY0iCisKKyN+IG1zZ2lkICJDaGFuZ2UgdW5pdHMgb2YgdGhlIHBhcnRpdGlvbiBzaXplIGRpc3BsYXkgKE1CLCBzZWN0LCBjeWwpIgorI34gbXNnc3RyICLorormm7TliIblibLljYDlpKflsI/nmoTpoa/npLrllq7kvY0gKOeUqCBNQuOAgeejgeWNgOaVuOaIluejgeafseaVuCkiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWFrZSB0aGlzIHBhcnRpdGlvbiBib290YWJsZSIKKyN+IG1zZ3N0ciAi54Sh5rOV6K6T6YCZ5YCL5YiG5Ymy5Y2A6K6K5oiQ5Y+v6ZaL5qmfIgorCisjfiBtc2dpZCAiQ2Fubm90IGRlbGV0ZSBhbiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIueEoeazleWIqumZpOS4gOWAi+epuueahOWIhuWJsuWNgCIKKworI34gbXNnaWQgIkNhbm5vdCBtYXhpbWl6ZSB0aGlzIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAi54Sh5rOV5bCH6YCZ5YCL5YiG5Ymy5Y2A5pyA5aSn5YyWIgorCisjfiBtc2dpZCAiVGhpcyBwYXJ0aXRpb24gaXMgYWxyZWFkeSBpbiB1c2UiCisjfiBtc2dzdHIgIumAmeWAi+WIhuWJsuWNgOW3suWcqOS9v+eUqOS4rSIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdGhlIHR5cGUgb2YgYW4gZW1wdHkgcGFydGl0aW9uIgorI34gbXNnc3RyICLnhKHms5Xorormm7TkuIDlgIvnqbrliIblibLljYDnmoTpoZ7lnosiCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMjAwMiBLZXZpbiBFLiBNYXJ0aW4gJiBhZWJcbiIKKyN+IG1zZ3N0ciAi54mI5qyKwqkxOTk0LTIwMDIgS2V2aW4gRS4gTWFydGluICYgYWViXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiUHJpbnQgdmVyc2lvbjpcbiIKKyN+ICIgICAgICAgICVzIC12XG4iCisjfiAiUHJpbnQgcGFydGl0aW9uIHRhYmxlOlxuIgorI34gIiAgICAgICAgJXMgLVAge3J8c3x0fSBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiAiSW50ZXJhY3RpdmUgdXNlOlxuIgorI34gIiAgICAgICAgJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiLWE6IFVzZSBhcnJvdyBpbnN0ZWFkIG9mIGhpZ2hsaWdodGluZztcbiIKKyN+ICItejogU3RhcnQgd2l0aCBhIHplcm8gcGFydGl0aW9uIHRhYmxlLCBpbnN0ZWFkIG9mIHJlYWRpbmcgdGhlIHB0IGZyb20gZGlzaztcbiIKKyN+ICItYyBDIC1oIEggLXMgUzogT3ZlcnJpZGUgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIG51bWJlciBvZiBjeWxpbmRlcnMsXG4iCisjfiAiICAgICAgICAgICAgICAgIHRoZSBudW1iZXIgb2YgaGVhZHMgYW5kIHRoZSBudW1iZXIgb2Ygc2VjdG9ycy90cmFjay5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIueUqOazle+8mlxuIgorI34gIuWNsOWHuueJiOacrO+8mlxuIgorI34gIiAgICAgICAlcyAtdlxuIgorI34gIuWNsOWHuuWIhuWJsuihqO+8mlxuIgorI34gIiAgICAgICAlcyAtUCB7cnxzfHR9IFvpgbjpoIVdIOijnee9rlxuIgorI34gIuS6kuWLleW8j+S9v+eUqO+8mlxuIgorI34gIiAgICAgICAlcyBb6YG46aCFXSDoo53nva5cbiIKKyN+ICJcbiIKKyN+ICLpgbjpoIXvvJpcbiIKKyN+ICItYTog5L2/55So566t6aCt5Lul5Luj5pu/6auY5Lqu5bqm6aGv56S677ybXG4iCisjfiAiLXo6IOS7pembtuWIhuWJsuihqOmWi+Wni++8jOS7peS7o+abv+W+nuejgeein+iugOWPluWIhuWJsuihqO+8m1xuIgorI34gIi1jIEMgLWggSCAtcyBTOuW8t+WItuiuiuabtOWFp+aguOiqjeeCuueahOejgeafseaVuOmHj+OAgVxuIgorI34gIiAgICAgICAgICAgICAgIOejgemgreaVuOmHj+WSjOavj+S4gOejgei7jOeahOejgeWNgOaVuOmHj+OAglxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorI34gbXNnc3RyICLnhKHms5XliZbmnpDno4Hmn7Hmlbjph48iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBoZWFkcyIKKyN+IG1zZ3N0ciAi54Sh5rOV5YmW5p6Q5YmN56uv5pW46YePIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2Ygc2VjdG9ycyIKKyN+IG1zZ3N0ciAi54Sh5rOV5YmW5p6Q56OB5Y2A5pW46YePIgorCisjfiBtc2dpZCAiV3JpdGluZyBkaXNrbGFiZWwgdG8gJXMuXG4iCisjfiBtc2dzdHIgIuWwh+ejgeein+aomeexpOWvq+WFpSAlc+OAglxuIgorCisjfiBtc2dpZCAiTGFzdCAlcyBvciArc2l6ZSBvciArc2l6ZU0gb3IgK3NpemVLIgorI34gbXNnc3RyICLmnIDlvowgJXMg5oiWICtzaXplIOaIliArc2l6ZU0g5oiWICtzaXplSyIKKworI34gbXNnaWQgIlJlYWRpbmcgZGlza2xhYmVsIG9mICVzIGF0IHNlY3RvciAlZC5cbiIKKyN+IG1zZ3N0ciAi5pa856OB5Y2AICUyJGQg6K6A5Y+WICUxJHMg55qE56OB56Kf5qiZ57Gk44CCXG4iCisKKyN+IG1zZ2lkICJCU0QgZGlza2xhYmVsIGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCisjfiBtc2dzdHIgIkJTRCDno4Hnop/mqJnnsaTlkb3ku6QgKG0g5Lul542y5b6X6Kqq5piOKe+8miIKKworI34gbXNnaWQgImRyaXZlZGF0YTogIgorI34gbXNnc3RyICLno4Hnop/os4fmlpnvvJoiCisKKyN+IG1zZ2lkICIjICAgICAgIHN0YXJ0ICAgICAgIGVuZCAgICAgIHNpemUgICAgIGZzdHlwZSAgIFtmc2l6ZSBic2l6ZSAgIGNwZ11cbiIKKyN+IG1zZ3N0ciAiIyAgICAgICDplovlp4sgICAgICAg57WQ5p2fICAgICAg5aSn5bCPIOaqlOahiOezu+e1semhnuWeiyBbZnNpemUgYnNpemUgICBjcGddXG4iCisKKyN+IG1zZ2lkICJNdXN0IGJlIDw9IHNlY3RvcnMvdHJhY2sgKiB0cmFja3MvY3lsaW5kZXIgKGRlZmF1bHQpLlxuIgorI34gbXNnc3RyICLlv4XpoIggPD0g56OB5Y2AL+ejgei7jCAqIOejgei7jC/no4Hmn7EgKOmgkOiorSnjgIJcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHRvbyBtYW55IHBhcnRpdGlvbnMgKCVkLCBtYXhpbXVtIGlzICVkKS5cbiIKKyN+IG1zZ3N0ciAi6K2m5ZGK77ya5aSq5aSa5YiG5Ymy5Y2AICglZCwg5pyA5aSn5YC854K6ICVkKeOAglxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlN5bmNpbmcgZGlza3MuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLlkIzmraXno4Hnop/jgIJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6XG4iCisjfiAiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICBjaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiICUxJHMgW29wdGlvbnNdIC1sIDxkaXNrPiBsaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorI34gIiAlMSRzIC1zIDxwYXJ0aXRpb24+ICAgICAgZ2l2ZSBwYXJ0aXRpb24gc2l6ZShzKSBpbiBibG9ja3NcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtYiA8c2l6ZT4gICAgICAgICAgICAgc2VjdG9yIHNpemUgKDUxMiwgMTAyNCwgMjA0OCBvciA0MDk2KVxuIgorI34gIiAtY1s9PG1vZGU+XSAgICAgICAgICAgY29tcGF0aWJsZSBtb2RlOiAnZG9zJyBvciAnbm9uZG9zJyAoZGVmYXVsdClcbiIKKyN+ICIgLWggICAgICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscCB0ZXh0XG4iCisjfiAiIC11Wz08dW5pdD5dICAgICAgICAgICBkaXNwbGF5IHVuaXRzOiAnY3lsaW5kZXJzJyBvciAnc2VjdG9ycycgKGRlZmF1bHQpXG4iCisjfiAiIC12ICAgICAgICAgICAgICAgICAgICBwcmludCBwcm9ncmFtIHZlcnNpb25cbiIKKyN+ICIgLUMgPG51bWJlcj4gICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBjeWxpbmRlcnNcbiIKKyN+ICIgLUggPG51bWJlcj4gICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBoZWFkc1xuIgorI34gIiAtUyA8bnVtYmVyPiAgICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLnlKjms5XvvJpcbiIKKyN+ICIgJTEkcyBb6YG46aCFXSA8ZGlzaz4gICAg6K6K5pu05YiG5Ymy6KGoXG4iCisjfiAiICUxJHMgW+mBuOmghV0gLWw856OB56KfPua4heWWruWIhuWJsuihqFxuIgorI34gIiAlMSRzIC1zPOWIhuWJsj4gICAgIOe1puWHuuWIhuWJsuWNgOWkp+Wwj+WcqOS4reWNgOWhilxuIgorI34gIlxuIgorI34gIumBuOmghe+8mlxuIgorI34gIiAtYjzlpKflsI8+ICAgICAgICAgICAg56OB5Y2A5aSn5bCPICg1MTIsLSAxMDI0LCAyMDQ4IOaIliA0MDk2KVxuIgorI34gIiAtY1s9PCDmqKHlvI8+XSAgICAgICAgICAg55u45a655qih5byP77yaJ2Rvcycg5oiWICdub25kb3MnICjpoJDoqK0pXG4iCisjfiAiIC1oICAgICAgICAgICAgICAgICAgICDljbDlh7rpgJnku73oqqrmmI7mloflrZdcbiIKKyN+ICIgLXVbPTwg5Zau5L2NPl0gICAgICAgICAgIOmhr+ekuuWWruS9je+8midjeWxpbmRlcnMnIOaIliAnc2VjdG9ycycgKOmgkOiorSlcbiIKKyN+ICIgLXYgICAgICAgICAgICAgICAgICAgIOWIl+WNsOeoi+W8j+eJiOacrFxuIgorI34gIiAtQzzmlbjlrZc+ICAgICAgICAgIOaMh+WumuejgeafseaVuOmHj1xuIgorI34gIiAtSDzmlbjlrZc+ICAgICAgICAgIOaMh+WumuWJjeerr+aVuOmHj1xuIgorI34gIiAtUzzmlbjlrZc+ICAgICAgICAgIOaMh+WumuejgeWNgOaVuOmHj+WQhOi7jOautVxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBzZWVrIG9uICVzIgorI34gbXNnc3RyICLnhKHms5XlsIvmjIfmlrwgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgorI34gbXNnc3RyICLnhKHms5Xlr6vlhaUgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmF0YWwgZXJyb3IiCisjfiBtc2dzdHIgIuWatOmHjemMr+iqpCIKKworI34gbXNnaWQgIkNvbW1hbmQgYWN0aW9uIgorI34gbXNnc3RyICLlkb3ku6Tli5XkvZwiCisKKyN+IG1zZ2lkICJZb3UgbXVzdCBzZXQiCisjfiBtc2dzdHIgIuaCqOW/hemgiOioreWumiIKKworI34gbXNnaWQgImhlYWRzIgorI34gbXNnc3RyICLno4HpoK0iCisKKyN+IG1zZ2lkICJzZWN0b3JzIgorI34gbXNnc3RyICLno4HljYAiCisKKyN+IG1zZ2lkICIgYW5kICIKKyN+IG1zZ3N0ciAiIOWSjCAiCisKKyN+IG1zZ2lkICJVbnN1cHBvcnRlZCBzdWZmaXg6ICclcycuXG4iCisjfiBtc2dzdHIgIuS4jeWPl+aUr+aPtOeahOWtl+Wwvu+8muOAjCVz44CN44CCXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiU3VwcG9ydGVkOiAxMF5OOiBLQiAoS2lsb0J5dGUpLCBNQiAoTWVnYUJ5dGUpLCBHQiAoR2lnYUJ5dGUpXG4iCisjfiAiICAgICAgICAgICAgMl5OOiBLICAoS2liaUJ5dGUpLCBNICAoTWViaUJ5dGUpLCBHICAoR2liaUJ5dGUpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLmlK/mj7TnmoTllq7kvY06IDEwXk46IEtCIChLaWxvQnl0ZSksIE1CIChNZWdhQnl0ZSksIEdCIChHaWdhQnl0ZSlcbiIKKyN+ICIgICAgICAgICAgICAgMl5OOiBLICAoS2liaUJ5dGUpLCBNICAoTWViaUJ5dGUpLCBHICAoR2liaUJ5dGUpXG4iCisKKyN+IG1zZ2lkICJVc2luZyBkZWZhdWx0IHZhbHVlICV1XG4iCisjfiBtc2dzdHIgIuS9v+eUqOmgkOioreWAvCAldVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbGQgTUIsICVsbGQgYnl0ZXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLno4Hnop8gJXPvvJolbGQgTULvvIwlbGxkIOS9jeWFg+e1hCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkLiVsZCBHQiwgJWxsdSBieXRlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuejgeeinyAlc++8miVsZC4lbGQgR0LvvIwlbGx1IOS9jeWFg+e1hCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIsICVsbHUgc2VjdG9yc1xuIgorI34gbXNnc3RyICLvvIwlbGx1IOejgeWNgFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCB3cml0ZSBkaXNrIGxhYmVsIgorI34gbXNnc3RyICLnhKHms5Xlr6vlhaXno4Hnop/mqJnosrwiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRXJyb3IgY2xvc2luZyBmaWxlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLpl5zplonmqpTmoYjnmbznlJ/pjK/oqqRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBzZXR0aW5nIHNlY3RvciBvZmZzZXQgZm9yIERPUyBjb21wYXRpYmlsaXR5XG4iCisjfiBtc2dzdHIgIuitpuWRiu+8muioreWumuejgeWNgOWBj+enu+eUqOaWvCBET1Mg55u45a655oCnXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlc1xuIgorI34gbXNnc3RyICLnhKHms5XplovllZ8gJXNcbiIKKworI34gbXNnaWQgIkRldGVjdGVkIGFuIE9TRi8xIGRpc2tsYWJlbCBvbiAlcywgZW50ZXJpbmcgZGlza2xhYmVsIG1vZGUuXG4iCisjfiBtc2dzdHIgIuaWvCAlcyDlgbXmuKzliLAgT1NGLzEg56OB56Kf5qiZ57Gk77yM6YCy5YWl56OB56Kf5qiZ57Gk5qih5byP44CCXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogRE9TLWNvbXBhdGlibGUgbW9kZSBpcyBkZXByZWNhdGVkLiBJdCdzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvXG4iCisjfiAiICAgICAgICAgc3dpdGNoIG9mZiB0aGUgbW9kZSAod2l0aCBjb21tYW5kICdjJykuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6K2m5ZGK77ya5LiN5a6c5YaN5L2/55SoIERPUyDnm7jlrrnmqKHlvI/jgILlvLfng4jlu7rorbBcbiIKKyN+ICIgICAgICDpl5zmjonmraTmqKHlvI8gKOWIqeeUqOWRveS7pOOAjGPjgI0p44CCIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IGN5bGluZGVycyBhcyBkaXNwbGF5IHVuaXRzIGFyZSBkZXByZWNhdGVkLiBVc2UgY29tbWFuZCAndScgdG9cbiIKKyN+ICIgICAgICAgICBjaGFuZ2UgdW5pdHMgdG8gc2VjdG9ycy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuitpuWRiu+8muS4jeWunOWGjeeUqOejgeafseWBmueCuumhr+ekuuWWruS9jeOAguS9v+eUqOWRveS7pOOAjHXjgI3ku6VcbiIKKyN+ICIgICAgICDorormm7Tllq7kvY3ngrrno4HljYDjgIJcbiIKKworI34gbXNnaWQgIk5ldyBkaXNrIGlkZW50aWZpZXIgKGN1cnJlbnQgMHglMDh4KTogIgorI34gbXNnc3RyICLmlrDno4Hnop/orZjliKXnorwgKOebruWJjeeCuiAweCUwOHgp77yaIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LlxuIgorI34gbXNnc3RyICLliIblibLljYAgJWQg5bey57aT5a6a576p44CCIOWcqOmHjeaWsOWKoOWFpeS5i+WJjeWIqumZpOWug+OAglxuIgorCisjfiBtc2dpZCAiTm8gZnJlZSBzZWN0b3JzIGF2YWlsYWJsZVxuIgorI34gbXNnc3RyICLmspLmnInlj6/nlKjnmoTno4HljYDlrZjlnKhcbiIKKworI34gbXNnaWQgIkxhc3QgJTEkcywgKyUyJHMgb3IgK3NpemV7SyxNLEd9IgorI34gbXNnc3RyICLmnIDlvowgJTEkcywgKyUyJHMg5oiWICvlpKflsI97SyxNLEd9IgorCisjfiBtc2dpZCAiICAgICBwaHlzPSglZCwgJWQsICVkKSAiCisjfiBtc2dzdHIgIiAgICAg5a+m6auUPSglZCwgJWQsICVkKSAiCisKKyN+IG1zZ2lkICJsb2dpY2FsPSglZCwgJWQsICVkKVxuIgorI34gbXNnc3RyICLpgo/ovK89KCVkLCAlZCwgJWQpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogYmFkIHN0YXJ0LW9mLWRhdGEgaW4gcGFydGl0aW9uICV6ZFxuIgorI34gbXNnc3RyICLorablkYrvvJrlnKjliIblibLljYAgJWQg5Lit5LiN55W255qE6LOH5paZ6LW35aeLXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICV6ZCBvdmVybGFwcyBwYXJ0aXRpb24gJXpkLlxuIgorI34gbXNnc3RyICLorablkYrvvJrliIblibLljYAgJWQg6IiH5YiG5Ymy5Y2AICVkIOmHjeeWiuOAglxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlemQgaXMgZW1wdHlcbiIKKyN+IG1zZ3N0ciAi6K2m5ZGK77ya5YiG5Ymy5Y2AICVkIOaYr+epuueahFxuIgorCisjfiBtc2dpZCAiQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAi5Yqg5YWl5LiA5YCL5Li76KaB5YiG5Ymy5Y2AXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlBhcnRpdGlvbiB0eXBlOlxuIgorI34gIiAgIHAgICBwcmltYXJ5ICglemQgcHJpbWFyeSwgJWQgZXh0ZW5kZWQsICV6ZCBmcmVlKVxuIgorI34gIiVzXG4iCisjfiAiU2VsZWN0IChkZWZhdWx0ICVjKTogIgorI34gbXNnc3RyICIiCisjfiAi5YiG5Ymy5Y2A6aGe5Z6L77yaXG4iCisjfiAiICAgcCAgIOS4u+imgSAoJWQg5Li76KaB77yMJWQg6YCy6ZqO77yMJWQg6Ieq55SxKVxuIgorI34gIiVzXG4iCisjfiAi6YG45Y+WICjpoJDoqK0gJWMp77yaIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgIGUgICBleHRlbmRlZCIKKyN+IG1zZ3N0ciAiICAgZSAgIOmAsumajiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnkgRE9TIDYueHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGZkaXNrIG1hbnVhbCBwYWdlIGZvciBhZGRpdGlvbmFsaW5mb3JtYXRpb24uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLorablkYrvvJrlpoLmnpzmgqjlt7Llu7rnq4vmiJbkv67mlLnku7vkvZUgRE9TIDYueFxuIgorI34gIuWIhuWJsuWNgO+8jOiri+WPg+eciyBmZGlzayDnt5rkuIrmiYvlhorku6XnjbLlvpfpoY3lpJZcbiIKKyN+ICLos4foqIrjgIJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaGlzIGRvZXNuJ3QgbG9vayBsaWtlIGEgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiUHJvYmFibHkgeW91IHNlbGVjdGVkIHRoZSB3cm9uZyBkZXZpY2UuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLpgJnnnIvotbfkvobkuI3lg4/mmK/kuIDlgIvliIblibLooahcbiIKKyN+ICLmgqjlpKfmpoLpgbjkuobpjK/oqqTnmoToo53nva7jgIJcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiUqcyBCb290ICAgICAgU3RhcnQgICAgICAgICBFbmQgICAgICBCbG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiUqcyDplovmqZ8gICAgICDplovlp4sgICAgICAgICDntZDmnZ8gICAgICDljYDloYogICDorZjliKXomZ8gIOezu+e1sVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi56OB56KfICVz77yaJWQg5YmN56uv77yMJWxsdSDno4HljYDvvIwlbGx1IOejgeafsVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiTnIgQUYgIEhkIFNlYyAgQ3lsICBIZCBTZWMgIEN5bCAgICAgU3RhcnQgICAgICBTaXplIElEXG4iCisjfiBtc2dzdHIgIk5yIEFGIOejgemgrSDno4HljYAg56OB5p+xIOejgemgrSDno4HljYAg56OB5p+xICAg6ZaL5aeLICAgICAgIOWkp+WwjyBJRFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0VGhlcmUgaXMgYSB2YWxpZCBNYWMgbGFiZWwgb24gdGhpcyBkaXNrLlxuIgorI34gIlx0VW5mb3J0dW5hdGVseSBmZGlzaygxKSBjYW5ub3QgaGFuZGxlIHRoZXNlIGRpc2tzLlxuIgorI34gIlx0VXNlIGVpdGhlciBwZGlzayBvciBwYXJ0ZWQgdG8gbW9kaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUuXG4iCisjfiAiXHROZXZlcnRoZWxlc3Mgc29tZSBhZHZpY2U6XG4iCisjfiAiXHQxLiBmZGlzayB3aWxsIGRlc3Ryb3kgaXRzIGNvbnRlbnRzIG9uIHdyaXRlLlxuIgorI34gIlx0Mi4gQmUgc3VyZSB0aGF0IHRoaXMgZGlzayBpcyBOT1QgYSBzdGlsbCB2aXRhbFxuIgorI34gIlx0ICAgcGFydCBvZiBhIHZvbHVtZSBncm91cC4gKE90aGVyd2lzZSB5b3UgbWF5XG4iCisjfiAiXHQgICBlcmFzZSB0aGUgb3RoZXIgZGlza3MgYXMgd2VsbCwgaWYgdW5taXJyb3JlZC4pXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJcdOacieaViOeahCBNYWMg5qiZ57Gk5L2N5pa86YCZ5YCL56OB56Kf44CCXG4iCisjfiAiXHTkuI3lubjlnLAgZmRpc2soMSkg54Sh5rOV6JmV55CG6YCZ5Lqb56OB56Kf44CCXG4iCisjfiAiXHTlv4XpoIjkvb/nlKggcGRpc2sg5oiWIHBhcnRlZCDku6Xkv67mlLnliIblibLooajjgIJcbiIKKyN+ICJcdOS4jeirluWmguS9lemChOaYr+acieS6m+W7uuiogO+8mlxuIgorI34gIlx0MS5mZGlzayDlsIfmlrzlr6vlhaXmmYLpirfmr4DlroPnmoTlhaflrrnjgIJcbiIKKyN+ICJcdDIu56K66KqN6YCZ5YCL56OB56Kf5Lim6Z2e5LuN5pivXG4iCisjfiAiXHQgIOWNt+WGiue+pOeahOePvueUqOmDqOWIhuOAgijlkKbliYflpoLmnpzmspLmnInpj6Hlg4/lgpnku73nmoToqbHvvIxcbiIKKyN+ICJcdCAg5oKo5Lmf6Kix5ZCM5qij5pyD5riF6Zmk5YW25LuW56OB56Kf44CCKVxuIgorCisjfiBtc2dpZCAiIgorI34gIlx0U29ycnkgLSB0aGlzIGZkaXNrIGNhbm5vdCBoYW5kbGUgTWFjIGRpc2sgbGFiZWxzLlxuIgorI34gIlx0SWYgeW91IHdhbnQgdG8gYWRkIERPUy10eXBlIHBhcnRpdGlvbnMsIGNyZWF0ZVxuIgorI34gIlx0YSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSBmaXJzdC4gKFVzZSBvLilcbiIKKyN+ICJcdFdBUk5JTkc6IFRoaXMgd2lsbCBkZXN0cm95IHRoZSBwcmVzZW50IGRpc2sgY29udGVudHMuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcdOaKseatiSAtIGZkaXNrIOeEoeazleiZleeQhiBNYWMg56OB56Kf5qiZ57Gk44CCXG4iCisjfiAiXHTlpoLmnpzmgqjopoHliqDlhaUgRE9TIOmhnuWei+WIhuWJsuWNgO+8jOiri+WFiOW7uueri1xuIgorI34gIlx05paw55qE56m6IERPUyDliIblibLooajjgIIo5L2/55SoIG8uKVxuIgorI34gIlx06K2m5ZGK77ya6YCZ5bCH6Yq35q+A54++5pyJ56OB56Kf5YWn5a6544CCXG4iCisKKyN+IG1zZ2lkICJBY2NvcmRpbmcgdG8gTUlQUyBDb21wdXRlciBTeXN0ZW1zLCBJbmMgdGhlIExhYmVsIG11c3Qgbm90IGNvbnRhaW4gbW9yZSB0aGFuIDUxMiBieXRlc1xuIgorI34gbXNnc3RyICLmoLnmk5ogTUlQUyDpm7vohabns7vntbHlhazlj7jvvIzmqJnnsaTlv4XpoIjljIXlkKvkuI3otoXpgY4gNTEyIOS9jeWFg+e1hFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTR0kgZGlzayBsYWJlbCk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMsICVsbHUgY3lsaW5kZXJzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqICVsZCBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi56OB56KfICVzIChTR0kg56OB56Kf5qiZ6LK8Ke+8miVkIOWJjeerr++8jCVsbHUg56OB5Y2A77yMJWxsdSDno4Hmn7FcbiIKKyN+ICLllq7kvY09JXMg55qEICVkICogJWxkIOS9jeWFg+e1hFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIi0tLS0tIHBhcnRpdGlvbnMgLS0tLS1cbiIKKyN+ICJQdCMgJSpzICBJbmZvICAgICBTdGFydCAgICAgICBFbmQgICBTZWN0b3JzICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLS0tLSDliIblibLljYAgLS0tLS1cbiIKKyN+ICJQdCMgJSpzICDos4foqIogICAgIOmWi+WniyAgICAgICDntZDmnZ8gICDno4HljYAgIOitmOWIpeiZnyAg57O757WxXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiLS0tLS0gQm9vdGluZm8gLS0tLS1cbiIKKyN+ICJCb290ZmlsZTogJXNcbiIKKyN+ICItLS0tLSBEaXJlY3RvcnkgRW50cmllcyAtLS0tLVxuIgorI34gbXNnc3RyICIiCisjfiAiLS0tLS0g6ZaL5qmf6LOH6KiKIC0tLS0tXG4iCisjfiAi6ZaL5qmf5qqU5qGI77yaJXNcbiIKKyN+ICItLS0tLSDnm67pjITpoIXnm64gLS0tLS1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlMnpkOiAlLTEwcyBzZWN0b3IlNXUgc2l6ZSU4dVxuIgorI34gbXNnc3RyICIlMmQ6ICUtMTBzIOejgeWNgCU1dSDlpKflsI8lOHVcbiIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZFxuIgorI34gbXNnc3RyICLnhKHlt7LlrprnvqnliIblibLljYBcbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIGlzIG9ubHkgJWQgZGlza2Jsb2NrIGxhcmdlLFxuIgorI34gImJ1dCB0aGUgZGlzayBpcyAlZCBkaXNrYmxvY2tzIGxvbmcuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLmlbTlgIvno4Hnop/liIblibLljYDlpKflsI/lj6rmnIkgJWQg56OB56Kf5Y2A5aGK77yMXG4iCisjfiAi5L2G5piv6YCZ5YCL56OB56Kf5aSn5bCP54K6ICVkIOejgeein+WNgOWhiuOAglxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGRvZXMgbm90IHN0YXJ0IG9uIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gbXNnc3RyICLliIblibLljYAgJWQg5Lim6Z2e5aeL5pa856OB5p+x6YKK55WM44CCXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gbXNnc3RyICLliIblibLljYAgJWQg5Lim6Z2e57WC5pa856OB5p+x6YKK55WM44CCXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGFydGl0aW9uICV6ZCBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC5cbiIKKyN+IG1zZ3N0ciAi5YiG5Ymy5Y2AICVkIOW3sue2k+Wumue+qeOAgiDlnKjph43mlrDliqDlhaXkuYvliY3liKrpmaTlroPjgIJcbiIKKworI34gbXNnaWQgIllvdSB3aWxsIGdldCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiBGaXggaXQgZmlyc3QhXG4iCisjfiBtc2dzdHIgIuaCqOeahOejgeein+S4iuWwh+acg+aciemHjeeWiueahOWIhuWJsuWNgO+8jOiri+WFiOS/ruato+Wug++8gVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJ1aWxkaW5nIGEgbmV3IFNHSSBkaXNrbGFiZWwuXG4iCisjfiBtc2dzdHIgIuW7uueri+aWsOeahCBTR0kgZGlza2xhYmVs44CCXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSERJT19HRVRHRU8gaW9jdGwgZmFpbGVkIG9uICVzIgorI34gbXNnc3RyICJIRElPX0dFVEdFTyBpb2N0bCDlpLHmlZfnmoTmlrwgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6ICBCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuXG4iCisjfiAiVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIuitpuWRiu+8miBCTEtHRVRTSVpFIGlvY3RsIOWkseaVl+eahOaWvCAlc+OAgiDkvb/nlKjlub7kvZXkvY3nva7no4Hmn7HlgLznmoQgJWxsdeOAglxuIgorI34gIumAmeWAi+WAvOS5n+ioseacg+iiq+aIquaWt+eUqOaWvOijnee9rj4zMy44IEdC44CCXG4iCisKKyN+IG1zZ2lkICJJRD0lMDJ4XHRTVEFSVD0lZFx0TEVOR1RIPSVkXG4iCisjfiBtc2dzdHIgIuitmOWIpeiZnz0lMDJ4XHTplovlp4s9JWRcdOmVt+W6pj0lZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRyeWluZyB0byBrZWVwIHBhcmFtZXRlcnMgb2YgcGFydGl0aW9ucyBhbHJlYWR5IHNldC5cbiIKKyN+IG1zZ3N0ciAi5ZiX6Kmm5L+d5oyB5Y+D5pW455qE5YiG5Ymy5Y2A5bey57aT6Kit5a6a44CCXG4iCisKKyN+IG1zZ2lkICJZRVNcbiIKKyN+IG1zZ3N0ciAiWUVTXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFN1biBkaXNrIGxhYmVsKTogJXUgaGVhZHMsICVsbHUgc2VjdG9ycywgJWQgcnBtXG4iCisjfiAiJWxsdSBjeWxpbmRlcnMsICVkIGFsdGVybmF0ZSBjeWxpbmRlcnMsICVkIHBoeXNpY2FsIGN5bGluZGVyc1xuIgorI34gIiVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiAiTGFiZWwgSUQ6ICVzXG4iCisjfiAiVm9sdW1lIElEOiAlc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiA1MTIgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuejgeeinyAlcyAoU3VuIOejgeein+aomeiyvCnvvJoldSDliY3nq6/vvIwlbGx1IOejgeWNgO+8jCVkIHJwbVxuIgorI34gIiVsbHUg56OB5p+x77yMJWQg5Lqk5pu/56OB5p+x77yMJWQg5a+m6auU56OB5p+xXG4iCisjfiAiJWQg6aGN5aSWIHNlY3RzL2N5bO+8jOS6pOaPkiAlZDoxXG4iCisjfiAi5qiZ6LK86K2Y5Yil6Jmf77yaJXNcbiIKKyN+ICLpn7Pph4/orZjliKXomZ/vvJolc1xuIgorI34gIuWWruS9jT0lcyDnmoQgJWQgKiA1MTIg5L2N5YWD57WEXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFN1biBkaXNrIGxhYmVsKTogJXUgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogNTEyIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLno4Hnop8gJXMgKFN1biDno4Hnop/mqJnosrwp77yaJXUg5YmN56uv77yMJWxsdSDno4HljYDvvIwlbGx1IOejgeafsVxuIgorI34gIuWWruS9jT0lcyDnmoQgJWQgKiA1MTIg5L2N5YWD57WEXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIlKnMgRmxhZyAgICBTdGFydCAgICAgICBFbmQgICAgQmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIlKnMg5peX5qiZICAgIOmWi+WniyAgICAgICDntZDmnZ8gICAg5Y2A5aGKICAg6K2Y5Yil6JmfICDns7vntbFcbiIKKworI34gbXNnaWQgInNlZWsgZXJyb3Igb24gJXMgLSBjYW5ub3Qgc2VlayB0byAlbHVcbiIKKyN+IG1zZ3N0ciAi5pa8ICVzIOaQnOWwi+mMr+iqpCAtIOeEoeazleaQnOWwi+iHsyAlbHVcbiIKKworI34gbXNnaWQgInNlZWsgZXJyb3I6IHdhbnRlZCAweCUwOHglMDh4LCBnb3QgMHglMDh4JTA4eFxuIgorI34gbXNnc3RyICLmkJzlsIvpjK/oqqTvvJrmg7PopoEgMHglMDh4JTA4eCwg5b6X5YiwIDB4JTA4eCUwOHhcbiIKKworI34gbXNnaWQgInJlYWQgZXJyb3Igb24gJXMgLSBjYW5ub3QgcmVhZCBzZWN0b3IgJWx1XG4iCisjfiBtc2dzdHIgIuaWvCAlcyDoroDlj5bpjK/oqqQgLSDnhKHms5XoroDlj5bno4HljYAgJWx1XG4iCisKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyAtIGNhbm5vdCB3cml0ZSBzZWN0b3IgJWx1XG4iCisjfiBtc2dzdHIgIuaWvCAlcyDlr6vlhaXpjK/oqqQgLSDnhKHms5Xlr6vlhaXno4HljYAgJWx1XG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBwYXJ0aXRpb24gc2VjdG9yIHNhdmUgZmlsZSAoJXMpXG4iCisjfiBtc2dzdHIgIueEoeazlemWi+WVn+WIhuWJsuejgeWNgOeahOWEsuWtmOaqlOahiCAoJXMpXG4iCisKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlc1xuIgorI34gbXNnc3RyICLmlrwgJXMg5a+r5YWl6Yyv6KqkXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcylcbiIKKyN+IG1zZ3N0ciAi54Sh5rOV6K2Y5Yil5YiG5Ymy5Y2A55qE6YKE5Y6f5qqU5qGI54uA5oWLICglcylcbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiByZXN0b3JlIGZpbGUgaGFzIHdyb25nIHNpemUgLSBub3QgcmVzdG9yaW5nXG4iCisjfiBtc2dzdHIgIuWIhuWJsuWNgOmChOWOn+aqlOahiOWkp+Wwj+acieiqpCAtIOeEoeazlemChOWOn1xuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHJlc3RvcmUgZmlsZSAoJXMpXG4iCisjfiBtc2dzdHIgIueEoeazlemWi+WVn+WIhuWJsuWNgOeahOmChOWOn+aqlOahiCAoJXMpXG4iCisKKyN+IG1zZ2lkICJlcnJvciByZWFkaW5nICVzXG4iCisjfiBtc2dzdHIgIuiugOWPliAlcyDmmYLnmbznlJ/pjK/oqqRcbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIGRldmljZSAlcyBmb3Igd3JpdGluZ1xuIgorI34gbXNnc3RyICLnhKHms5XplovllZ/oo53nva4gJXMg5Lul5L6b5a+r5YWlXG4iCisKKyN+IG1zZ2lkICJlcnJvciB3cml0aW5nIHNlY3RvciAlbHUgb24gJXNcbiIKKyN+IG1zZ3N0ciAi5pa8ICUyJHMg5a+r5YWl56OB5Y2AICUxJGx1IOaZgueZvOeUn+mMr+iqpFxuIgorCisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBnZW9tZXRyeVxuIgorI34gbXNnc3RyICLno4Hnop8gJXM6IOeEoeazleWPluW+l+e1kOani+WPg+aVuFxuIgorCisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBzaXplXG4iCisjfiBtc2dzdHIgIuejgeeinyAlczog54Sh5rOV5Y+W5b6X5aSn5bCPXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogc3RhcnQ9JWx1IC0gdGhpcyBsb29rcyBsaWtlIGEgcGFydGl0aW9uIHJhdGhlciB0aGFuXG4iCisjfiAidGhlIGVudGlyZSBkaXNrLiBVc2luZyBmZGlzayBvbiBpdCBpcyBwcm9iYWJseSBtZWFuaW5nbGVzcy5cbiIKKyN+ICJbVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiBpZiB5b3UgcmVhbGx5IHdhbnQgdGhpc11cbiIKKyN+IG1zZ3N0ciAiIgorI34gIuitpuWRiu+8mumWi+Wniz0lbHUgLSDpgJnnnIvkvoblg4/mmK/liIblibLljYDogIzpnZ5cbiIKKyN+ICLmlbTlgIvno4Hnop/jgILmlrzlhbbkuIrkvb/nlKggZmRpc2sg5Y+v6IO95LiN5YW35oSP576p55qE44CCXG4iCisjfiAiW+WmguaenOaCqOeiuuWvpuaDs+imgeWmguatpO+8jOWwseS9v+eUqCAtLWZvcmNlIOmBuOmghV1cbiIKKworI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGhlYWRzXG4iCisjfiBtc2dzdHIgIuitpuWRiu+8mkhESU9fR0VUR0VPIOihqOekuuWFt+aciSAlbHUg5YCL56OB6aCtXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBIRElPX0dFVEdFTyBzYXlzIHRoYXQgdGhlcmUgYXJlICVsdSBzZWN0b3JzXG4iCisjfiBtc2dzdHIgIuitpuWRiu+8mkhESU9fR0VUR0VPIOihqOekuuWFt+aciSAlbHUg5q6156OB5Y2AXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBCTEtHRVRTSVpFL0hESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGN5bGluZGVyc1xuIgorI34gbXNnc3RyICLorablkYrvvJpCTEtHRVRTSVpFL0hESU9fR0VUR0VPIOihqOekuuWFt+aciSAlbHUg5ZyI56OB5p+xXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogdW5saWtlbHkgbnVtYmVyIG9mIHNlY3RvcnMgKCVsdSkgLSB1c3VhbGx5IGF0IG1vc3QgNjNcbiIKKyN+ICJUaGlzIHdpbGwgZ2l2ZSBwcm9ibGVtcyB3aXRoIGFsbCBzb2Z0d2FyZSB0aGF0IHVzZXMgQy9IL1MgYWRkcmVzc2luZy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIuitpuWRiu+8muS4jeWkquWPr+iDveeahOejgeWNgOaVuOmHjyAoJWx1KSAtIOmAmuW4uOacgOWkmueCuiA2M1xuIgorI34gIumAmeWwh+WwjeaWvOS9v+eUqCBDL0gvUyDlrprlnYDnmoTou5/pq5TpgKDmiJDllY/poYzjgIJcbiIKKworI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3IgaGVhZDogJWx1IChzaG91bGQgYmUgaW4gMC0lbHUpXG4iCisjfiBtc2dzdHIgIuWIhuWJsuWNgCAlMiRzIOeahCAlMSRzIOacieS4jeWPr+iDveeahOejgemgreaVuOWAvO+8miUzJGx1ICjmh4noqbLku4vmlrwgMC0lNCRsdSlcbiIKKworI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3Igc2VjdG9yOiAlbHUgKHNob3VsZCBiZSBpbiAxLSVsdSlcbiIKKyN+IG1zZ3N0ciAi5YiG5Ymy5Y2AICUxJHMg55qEICUyJHMg5pyJ5LiN5Y+v6IO955qE56OB5Y2A5pW45YC877yaJTMkbHUgKOaHieipsuS7i+aWvCAxLSU0JGx1KVxuIgorCisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBjeWxpbmRlcnM6ICVsdSAoc2hvdWxkIGJlIGluIDAtJWx1KVxuIgorI34gbXNnc3RyICLliIblibLljYAgJTEkcyDnmoQgJTIkcyDmnInkuI3lj6/og73nmoTno4Hmn7HmlbjlgLzvvJolMyRsdSAo5oeJ6Kmy5LuL5pa8IDAtJTQkbHUpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGNvbW1hbmQgdG8gcmUtcmVhZCB0aGUgcGFydGl0aW9uIHRhYmxlIGZhaWxlZC5cbiIKKyN+ICJSdW4gcGFydHByb2JlKDgpLCBrcGFydHgoOCkgb3IgcmVib290IHlvdXIgc3lzdGVtIG5vdyxcbiIKKyN+ICJiZWZvcmUgdXNpbmcgbWtmc1xuIgorI34gbXNnc3RyICIiCisjfiAi6YeN5paw6K6A5Y+W5YiG5Ymy6KGo55qE5ZG95Luk5aSx5pWX44CCXG4iCisjfiAi5Zyo5L2/55SoIG1rZnMg5LmL5YmN77yM6KuL5Z+36KGMIHBhcnRwcm9iZSg4KSxrcGFydHgoOCkg5oiW5bCH5oKo55qE57O757Wx6YeN5paw6ZaL5qmfXG4iCisKKyN+IG1zZ2lkICJFcnJvciBjbG9zaW5nICVzXG4iCisjfiBtc2dzdHIgIumXnOmWiSAlcyDmmYLnmbznlJ/pjK/oqqRcbiIKKworI34gbXNnaWQgIiVzOiBubyBzdWNoIHBhcnRpdGlvblxuIgorI34gbXNnc3RyICIlc++8mueEoeatpOmhnuWIhuWJsuWNgFxuIgorCisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGZvcm1hdCAtIHVzaW5nIHNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAi54Sh5rOV6L6o6K2Y55qE5qC85byPIC0g5L2/55So56OB5Y2A5pW4XG4iCisKKyN+IG1zZ2lkICJ1bmltcGxlbWVudGVkIGZvcm1hdCAtIHVzaW5nICVzXG4iCisjfiBtc2dzdHIgIuWwmuacquWvpuS9nOeahOagvOW8jyAtIOS9v+eUqCAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVbml0czogY3lsaW5kZXJzIG9mICVsdSBieXRlcywgYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIuWWruS9je+8muejgeafseeahCAlbHUg5L2N5YWD57WE77yM5Y2A5aGK55qEIDEwMjQg5L2N5YWD57WE77yM6KiI5pW45b6eICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCBTdGFydCAgICAgRW5kICAgI2N5bHMgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAg6KOd572u6ZaL5qmf6LW35aeLICAgICDntZDmnZ8gICDno4Hmn7HmlbggICAg5Y2A5aGK5pW4ICAg6K2Y5Yil6JmfICDns7vntbFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IHNlY3RvcnMgb2YgNTEyIGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLllq7kvY3vvJrno4HljYDnmoQgNTEyIOS9jeWFg+e1hO+8jOioiOaVuOW+niAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgICAgU3RhcnQgICAgICAgRW5kICAgI3NlY3RvcnMgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAg6KOd572u6ZaL5qmfICAgIOi1t+WniyAgICAgICDntZDmnZ8gICDno4HljYDmlbggIOitmOWIpeiZnyAg57O757WxXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAi5Zau5L2N77ya5Y2A5aGK55qEIDEwMjQg5L2N5YWD57WE77yM6KiI5pW45b6eICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgIFN0YXJ0ICAgICAgIEVuZCAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICDoo53nva7plovmqZ8gICDotbflp4sgICAgICAg57WQ5p2fICAgIOWNgOWhiuaVuCAgIOitmOWIpeiZnyAg57O757WxXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiAxTWlCID0gMTAyNCoxMDI0IGJ5dGVzLCBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAi5Zau5L2N77yaMSBNaUI9MTAyNCoxMDI0IOS9jeWFg+e1hO+8jOWNgOWhiueahCAxMDI0IOS9jeWFg+e1hO+8jOioiOaVuOW+niAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgU3RhcnQgICBFbmQgICAgTWlCICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiAgIOijnee9rumWi+apn+i1t+WniyAgIOe1kOadnyAgICBNaUIgICAg5Y2A5aGK5pW4ICAg6K2Y5Yil6JmfICDns7vntbFcbiIKKworI34gbXNnaWQgIlx0XHRzdGFydDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiXHRcdOi1t+Wni++8mihjLGgscykg6aCQ5pyf54K6ICglbGQsJWxkLCVsZCkg6L6o6KqN54K6ICglbGQsJWxkLCVsZClcbiIKKworI34gbXNnaWQgIlx0XHRlbmQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpXG4iCisjfiBtc2dzdHIgIlx0XHTntZDmnZ/vvJooYyxoLHMpIOmgkOacn+eCuiAoJWxkLCVsZCwlbGQpIOi+qOiqjeeCuiAoJWxkLCVsZCwlbGQpXG4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gZW5kcyBvbiBjeWxpbmRlciAlbGQsIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBkaXNrXG4iCisjfiBtc2dzdHIgIuWIhuWJsuWNgOe1kOadn+aWvOejgeafsSAlbGTvvIzkvY3mlrzno4Hnop/mnKvnq6/kuYvlvoxcbiIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbnMgZm91bmRcbiIKKyN+IG1zZ3N0ciAi5om+5LiN5Yiw5YiG5Ymy5Y2AXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogVGhlIHBhcnRpdGlvbiB0YWJsZSBsb29rcyBsaWtlIGl0IHdhcyBtYWRlXG4iCisjfiAiICBmb3IgQy9IL1M9Ki8lbGQvJWxkIChpbnN0ZWFkIG9mICVsZC8lbGQvJWxkKS5cbiIKKyN+ICJGb3IgdGhpcyBsaXN0aW5nIEknbGwgYXNzdW1lIHRoYXQgZ2VvbWV0cnkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLorablkYrvvJrliIblibLooajnnIvotbfkvoblg4/mmK9cbiIKKyN+ICLnlKjmlrwgQy9IL1M9Ki8lbGQvJWxkICjogIzpnZ4gJWxkLyVsZC8lbGQp44CCXG4iCisjfiAi5oiR5bCH5pyD5YGH6Kit6Kmy57WQ5qeL5Y+D5pW45Lul55So5pa85q2k5YiX6KGo44CCXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibm8gcGFydGl0aW9uIHRhYmxlIHByZXNlbnQuIgorI34gbXNnc3RyICLmspLmnInliIblibLooajlkYjnj77jgIIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3RyYW5nZSwgb25seSAlZCBwYXJ0aXRpb25zIGRlZmluZWQuIgorI34gbXNnc3RyICLmgKrnlbDnmoTvvIzlj6rmnIkgJWQg5YiG5Ymy5Y2A5a6a576p44CCIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYnV0IGlzIG5vdCBtYXJrZWQgRW1wdHlcbiIKKyN+IG1zZ3N0ciAi6K2m5ZGK77ya5YiG5Ymy5Y2AICVzIOWkp+Wwj+eCuiAwIOS9huaYr+S4puacquaomeiomOeCuuepulxuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIGlzIGJvb3RhYmxlXG4iCisjfiBtc2dzdHIgIuitpuWRiu+8muWIhuWJsuWNgCAlcyDlpKflsI/ngrogMCDkuJTngrrlj6/plovmqZ9cbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGFuZCBub256ZXJvIHN0YXJ0XG4iCisjfiBtc2dzdHIgIuitpuWRiu+8muWIhuWJsuWNgCAlcyDlpKflsI/ngrogMCDkuJTku6XpnZ7pm7blgLzplovlp4tcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaXMgbm90IGNvbnRhaW5lZCBpbiBwYXJ0aXRpb24gJXNcbiIKKyN+IG1zZ3N0ciAi6K2m5ZGK77ya5YiG5YmyICVzIOacquiiq+WMheWQq+WcqOS4reWIhuWJsiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbnMgJXMgYW5kICVzIG92ZXJsYXBcbiIKKyN+IG1zZ3N0ciAi6K2m5ZGK77ya5YiG5Ymy5Y2AICVzIOWSjCAlcyDph43nlopcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogcGFydGl0aW9uICVzIGNvbnRhaW5zIHBhcnQgb2YgdGhlIHBhcnRpdGlvbiB0YWJsZSAoc2VjdG9yICVsbHUpLFxuIgorI34gImFuZCB3aWxsIGRlc3Ryb3kgaXQgd2hlbiBmaWxsZWRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIuitpuWRiu+8muWIhuWJsiAlcyDlkKvmnInpg6jliIbnmoTliIblibLooaggKOejgeWNgCAlbGx1Ke+8jFxuIgorI34gIuS4puWwh+mKt+avgOWug+aZgiBmaWxsZWRcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yIDBcbiIKKyN+IG1zZ3N0ciAi6K2m5ZGK77ya5YiG5Ymy5Y2AICVzIOmWi+Wni+aWvOejgeWNgCAwXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZXh0ZW5kcyBwYXN0IGVuZCBvZiBkaXNrXG4iCisjfiBtc2dzdHIgIuitpuWRiu+8muWIhuWJsuWNgCAlcyDlu7bkvLjotoXpgY7no4Hnop/mnKvnq69cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplICVkLiVkIFRCICglbGx1IGJ5dGVzKSxcbiIKKyN+ICJ3aGljaCBpcyBsYXJnZXIgdGhhbiB0aGUgJWxsdSBieXRlcyBsaW1pdCBpbXBvc2VkXG4iCisjfiAiYnkgdGhlIERPUyBwYXJ0aXRpb24gdGFibGUgZm9yICVkLWJ5dGUgc2VjdG9yc1xuIgorI34gbXNnc3RyICIiCisjfiAi6K2m5ZGK77ya5YiG5YmyICVzIOacieWkp+WwjyAlZC4lZCBUQiAoJWxsdSDkvY3lhYPntYQp77yMXG4iCisjfiAi6Kmy6aCF5piv5aSn5pa8ICVsbHUg5L2N5YWD57WE6ZmQ5Yi25pa95YqgXG4iCisjfiAi55SxIERPUyDliIblibLooajnlKjmlrwgJWQtYnl0ZSDno4HljYBcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogcGFydGl0aW9uICVzIHN0YXJ0cyBhdCBzZWN0b3IgJWxsdSAoJWQuJWQgVEIgZm9yICVkLWJ5dGUgc2VjdG9ycyksXG4iCisjfiAid2hpY2ggZXhjZWVkcyB0aGUgRE9TIHBhcnRpdGlvbiB0YWJsZSBsaW1pdCBvZiAlbGx1IHNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIuitpuWRiu+8muWIhuWJsiAlcyDplovlp4vmlrzno4HljYAgJWxsdSAoJWQuJWQgVEIg55So5pa8ICVkLWJ5dGUg56OB5Y2AKe+8jFxuIgorI34gIuipsumghei2heWHuiBET1Mg5YiG5Ymy6KGo6ZmQ5Yi255qEICVsbHUg56OB5Y2AXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiQW1vbmcgdGhlIHByaW1hcnkgcGFydGl0aW9ucywgYXQgbW9zdCBvbmUgY2FuIGJlIGV4dGVuZGVkXG4iCisjfiAiIChhbHRob3VnaCB0aGlzIGlzIG5vdCBhIHByb2JsZW0gdW5kZXIgTGludXgpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLlnKjkuLvopoHliIblibLljYDkuYvkuK3vvIzmnIDlpJrlj6rog73mnInkuIDlgIvmmK/mk7TlhYXliIblibLljYBcbiIKKyN+ICIo6ZuW54S26YCZ5ZyoIExpbnV4IOS5i+S4i+S4puS4jeaYr+WAi+WVj+mhjClcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5XG4iCisjfiBtc2dzdHIgIuitpuWRiu+8muWIhuWJsuWNgCAlcyDkuKbpnZ7llZ/lp4vmlrzno4Hmn7HpgornlYxcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBlbmQgYXQgYSBjeWxpbmRlciBib3VuZGFyeVxuIgorI34gbXNnc3RyICLorablkYrvvJrliIblibLljYAgJXMg5Lim6Z2e57WQ5p2f5pa856OB5p+x6YKK55WMXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogbW9yZSB0aGFuIG9uZSBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLlxuIgorI34gbXNnc3RyICIiCisjfiAi6K2m5ZGK77ya6LaF6YGO5LiA5YCL55qE5Li76KaB5YiG5Ymy5Y2A6KKr5qiZ6KiY54K65Y+v6ZaL5qmf55qEICjkvZznlKjkuK0pXG4iCisjfiAi6YCZ5YCL5bCNIExJTE8g6ICM6KiA5LiN5oiQ5ZWP6aGM77yM5L2G5pivIERPUyBNQlIg5bCH54Sh5rOV5Lul6YCZ5YCL56OB56Kf6ZaL5qmf44CCXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogdXN1YWxseSBvbmUgY2FuIGJvb3QgZnJvbSBwcmltYXJ5IHBhcnRpdGlvbnMgb25seVxuIgorI34gIkxJTE8gZGlzcmVnYXJkcyB0aGUgYGJvb3RhYmxlJyBmbGFnLlxuIgorI34gbXNnc3RyICIiCisjfiAi6K2m5ZGK77ya6YCa5bi45Y+q5Y+v5Lul5b6e5Li76KaB5YiG5Ymy5Y2A6ZaL5qmfXG4iCisjfiAiTElMTyDkuKbkuI3nkIbmnIPjgIzlj6/plovmqZ/nmoTjgI3ml5fmqJnjgIJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBubyBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLlxuIgorI34gbXNnc3RyICIiCisjfiAi6K2m5ZGK77ya5rKS5pyJ5Li76KaB5YiG5Ymy5Y2A6KKr5qiZ6KiY54K65Y+v6ZaL5qmf55qEICjkvZznlKjkuK0pXG4iCisjfiAi6YCZ5YCL5bCNIExJTE8g6ICM6KiA5LiN5oiQ5ZWP6aGM77yM5L2G5pivIERPUyBNQlIg5bCH54Sh5rOV5Lul6YCZ5YCL56OB56Kf6ZaL5qmf44CCXG4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICLliIblibLljYAgJXPvvJrllZ/lp4vvvJooYyxoLHMpIOmgkOacn+eCuiAoJWxkICwlbGQgLCVsZCkg5L2G5om+5YiwICglbGQgLCVsZCAsJWxkKVxuIgorCisjfiBtc2dpZCAiZW5kIgorI34gbXNnc3RyICLntZDmnZ8iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAi5YiG5Ymy5Y2AICVz77ya57WQ5p2f77yaKGMsaCxzKSDpoJDmnJ/ngrogKCVsZCAsJWxkICwlbGQpIOaJvuWIsCAoJWxkICwlbGQgLCVsZClcbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiAlcyBlbmRzIG9uIGN5bGluZGVyICVsZCwgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGRpc2tcbiIKKyN+IG1zZ3N0ciAi5YiG5Ymy5Y2AICVzIOe1kOadn+aWvOejgeafsSAlbGTvvIzkvY3mlrzno4Hnop/nmoTmnKvnq6/kuYvlvoxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogc2hpZnRlZCBzdGFydCBvZiB0aGUgZXh0ZCBwYXJ0aXRpb24gZnJvbSAlbGxkIHRvICVsbGRcbiIKKyN+ICIoRm9yIGxpc3RpbmcgcHVycG9zZXMgb25seS4gRG8gbm90IGNoYW5nZSBpdHMgY29udGVudHMuKVxuIgorI34gbXNnc3RyICIiCisjfiAi6K2m5ZGK77yaU2hpZnQg55qE6ZaL5aeL55qEIGV4dGQg5YiG5Ymy5b6eICVsbGQg5YiwICVsbGRcbiIKKyN+ICIo55So5pa85YiX6KGo5a6X5peo5Y+q5pyJ44CC5LiN6K6K5pu05a6D55qE5YWn5a65LilcbiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBleHRlbmRlZCBwYXJ0aXRpb24gZG9lcyBub3Qgc3RhcnQgYXQgYSBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+ICJET1MgYW5kIExpbnV4IHdpbGwgaW50ZXJwcmV0IHRoZSBjb250ZW50cyBkaWZmZXJlbnRseS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIuitpuWRiu+8muaTtOWFheWIhuWJsuWNgOmdnuWVn+Wni+aWvOejgeafsemCiueVjOOAglxuIgorI34gIkRPUyDlkowgTGludXgg5bCH5bCN5YWn5a655pyJ5LiN5ZCM6Kej6K2v44CCXG4iCisKKyN+IG1zZ2lkICJFUlJPUjogc2VjdG9yICVsdSBkb2VzIG5vdCBoYXZlIGFuIG1zZG9zIHNpZ25hdHVyZVxuIgorI34gbXNnc3RyICLpjK/oqqTvvJrno4HljYAgJWx1IOaykuaciSBtc2RvcyDnsL3nq6BcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0b28gbWFueSBwYXJ0aXRpb25zIC0gaWdub3JpbmcgdGhvc2UgcGFzdCBuciAoJXp1KVxuIgorI34gbXNnc3RyICLlpKrlpJrliIblibLljYAgLSDlv73nlaXpgqPkupvpgY7ljrsgbnIgKCVsZClcbiIKKworI34gbXNnaWQgInRyZWUgb2YgcGFydGl0aW9ucz9cbiIKKyN+IG1zZ3N0ciAi5YiG5Ymy5Y2A55qE5qi554uA5ZyW77yfXG4iCisKKyN+IG1zZ2lkICJkZXRlY3RlZCBEaXNrIE1hbmFnZXIgLSB1bmFibGUgdG8gaGFuZGxlIHRoYXRcbiIKKyN+IG1zZ3N0ciAi5YG15ris5Yiw56OB56Kf566h55CG5ZOhIC0g54Sh5rOV6JmV55CG5a6DXG4iCisKKyN+IG1zZ2lkICJETTYgc2lnbmF0dXJlIGZvdW5kIC0gZ2l2aW5nIHVwXG4iCisjfiBtc2dzdHIgIuaJvuWIsCBETTYg57C956ugIC0g5pS+5qOEXG4iCisKKyN+IG1zZ2lkICJzdHJhbmdlLi4uLCBhbiBleHRlbmRlZCBwYXJ0aXRpb24gb2Ygc2l6ZSAwP1xuIgorI34gbXNnc3RyICLlvojlpYfmgKrigKbvvIzlpKflsI/ngrogMCDnmoTmk7TlhYXliIblibLljYDvvJ9cbiIKKworI34gbXNnaWQgInN0cmFuZ2UuLi4sIGEgQlNEIHBhcnRpdGlvbiBvZiBzaXplIDA/XG4iCisjfiBtc2dzdHIgIuW+iOWlh+aAquKApu+8jOWkp+Wwj+eCuiAwIOeahCBCU0Qg5YiG5Ymy5Y2A77yfXG4iCisKKyN+IG1zZ2lkICItbiBmbGFnIHdhcyBnaXZlbjogTm90aGluZyBjaGFuZ2VkXG4iCisjfiBtc2dzdHIgIi1uIOaXl+aomeW3sue1puWumu+8muaykuacieaUueiuiuS7u+S9leadseilv1xuIgorCisjfiBtc2dpZCAiRmFpbGVkIHNhdmluZyB0aGUgb2xkIHNlY3RvcnMgLSBhYm9ydGluZ1xuIgorI34gbXNnc3RyICLlhLLlrZjoiIrnmoTno4HljYDmmYLlpLHmlZcgLSDmlL7mo4RcbiIKKworI34gbXNnaWQgIkZhaWxlZCB3cml0aW5nIHRoZSBwYXJ0aXRpb24gb24gJXNcbiIKKyN+IG1zZ3N0ciAi5a+r5YWl5YiG5Ymy5Y2A5pa8ICVzIOaZguWkseaVl1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxvbmcgb3IgaW5jb21wbGV0ZSBpbnB1dCBsaW5lIC0gcXVpdHRpbmciCisjfiBtc2dzdHIgIumVt+aIluS4jeWujOaVtOi8uOWFpeWIlyAtIOmboumWiyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnB1dCBlcnJvcjogYD0nIGV4cGVjdGVkIGFmdGVyICVzIGZpZWxkIgorI34gbXNnc3RyICLovLjlhaXpjK/oqqTvvJrjgI4944CP6aCQ5pyf55qE5LmL5b6MICVzIOashOS9jSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnB1dCBlcnJvcjogdW5leHBlY3RlZCBjaGFyYWN0ZXIgJWMgYWZ0ZXIgJXMgZmllbGQiCisjfiBtc2dzdHIgIui8uOWFpemMr+iqpO+8muacqumgkOacn+eahOWtl+WFgyAlYyDkuYvlvowgJXMg5qyE5L2NIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVucmVjb2duaXplZCBpbnB1dDogJXMiCisjfiBtc2dzdHIgIueEoeazlei+qOitmOeahOi8uOWFpe+8miVzIgorCisjfiBtc2dpZCAibnVtYmVyIHRvbyBiaWdcbiIKKyN+IG1zZ3N0ciAi5pW45a2X5aSq5aSnXG4iCisKKyN+IG1zZ2lkICJ0cmFpbGluZyBqdW5rIGFmdGVyIG51bWJlclxuIgorI34gbXNnc3RyICLmlbjlrZfkuYvlvozlsL7pmqjnhKHnlKjnialcbiIKKworI34gbXNnaWQgIm5vIHJvb20gZm9yIHBhcnRpdGlvbiBkZXNjcmlwdG9yXG4iCisjfiBtc2dzdHIgIuaykuacieepuumWk+WPr+eUqOaWvOWIhuWJsuWNgOaPj+i/sFxuIgorCisjfiBtc2dpZCAiY2Fubm90IGJ1aWxkIHN1cnJvdW5kaW5nIGV4dGVuZGVkIHBhcnRpdGlvblxuIgorI34gbXNnc3RyICLnhKHms5XlnI3nuZ7mk7TlhYXliIblibLljYDlu7rnq4tcbiIKKworI34gbXNnaWQgInRvbyBtYW55IGlucHV0IGZpZWxkc1xuIgorI34gbXNnc3RyICLlpKrlpJrovLjlhaXmrITkvY1cbiIKKworI34gbXNnaWQgIk5vIHJvb20gZm9yIG1vcmVcbiIKKyN+IG1zZ3N0ciAi5rKS5pyJ56m66ZaT5Y+v5a6557SN5pu05aSaXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBnaXZlbiBzaXplICglbHUpIGV4Y2VlZHMgbWF4IGFsbG93YWJsZSBzaXplICglbHUpXG4iCisjfiBtc2dzdHIgIuitpuWRiu+8mue1puWumueahOWkp+WwjyAoJWx1KSDotoXlh7rmiYDlhYHoqLHnmoTmnIDlpKflgLwgKCVsdSlcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IGVtcHR5IHBhcnRpdGlvblxuIgorI34gbXNnc3RyICLorablkYrvvJrnqbrnmoTliIblibLljYBcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IGJhZCBwYXJ0aXRpb24gc3RhcnQgKGVhcmxpZXN0ICVsdSlcbiIKKyN+IG1zZ3N0ciAi6K2m5ZGK77ya5LiN55W255qE5YiG5Ymy5Y2A5ZWf5aeLICjmnIDlhYggJWx1KVxuIgorCisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGJvb3RhYmxlIGZsYWcgLSBjaG9vc2UgLSBvciAqXG4iCisjfiBtc2dzdHIgIueEoeazlei+qOitmOeahOWPr+mWi+apn+aXl+aomSAtIOmBuOaThyAtIOaIliAqXG4iCisKKyN+IG1zZ2lkICJwYXJ0aWFsIGMsaCxzIHNwZWNpZmljYXRpb24/XG4iCisjfiBtc2dzdHIgIumDqOWIhiBjLGgscyDopo/moLzvvJ9cbiIKKworI34gbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBub3Qgd2hlcmUgZXhwZWN0ZWRcbiIKKyN+IG1zZ3N0ciAi5pO05YWF5YiG5Ymy5Y2A5LiN5Zyo6aCQ5pyf55qE5L2N572uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIGlucHV0IgorI34gbXNnc3RyICLkuI3nlbbnmoTovLjlhaUiCisKKyN+IG1zZ2lkICJ0b28gbWFueSBwYXJ0aXRpb25zXG4iCisjfiBtc2dzdHIgIuWkquWkmuWIhuWJsuWNgFxuIgorCisjfiBtc2dpZCAiIgorI34gIklucHV0IGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OyBhYnNlbnQgZmllbGRzIGdldCBhIGRlZmF1bHQgdmFsdWUuXG4iCisjfiAiPHN0YXJ0PiA8c2l6ZT4gPHR5cGUgW0UsUyxMLFgsaGV4XT4gPGJvb3RhYmxlIFstLCpdPiA8YyxoLHM+IDxjLGgscz5cbiIKKyN+ICJVc3VhbGx5IHlvdSBvbmx5IG5lZWQgdG8gc3BlY2lmeSA8c3RhcnQ+IGFuZCA8c2l6ZT4gKGFuZCBwZXJoYXBzIDx0eXBlPikuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLku6XkuIvliJfnmoTmoLzlvI/ovLjlhaXvvJvnvLrlgLzmrITkvY3lsIflj5blvpfpoJDoqK3lgLzjgIJcbiIKKyN+ICI85ZWf5aeLPiA85aSn5bCPPiA86aGe5Z6LIFtFLFMsTCxYLCDljYHlha3pgLLkvY1dPiA85Y+v6ZaL5qmfIFstLCpdPiA8YyxoLHM+IDxjLGgscz5cbiIKKyN+ICLluLjluLjmgqjlj6rmnInpnIDopoHmjIflrpogPOWVn+Wniz4g5ZKMIDzlpKflsI8+ICjkuZ/oqLHpgoTmnIkgPOmhnuWeiz4p44CCXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8ZGV2aWNlPiBbLi4uXVxuIgorI34gbXNnc3RyICIgJXMgW+mBuOmghV0gPGRldmljZT4gWy4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1zLCAtLXNob3ctc2l6ZSAgICAgICAgICAgbGlzdCBzaXplIG9mIGEgcGFydGl0aW9uXG4iCisjfiAiIC1jLCAtLWlkICAgICAgICAgICAgICAgICAgY2hhbmdlIG9yIHByaW50IHBhcnRpdGlvbiBJZFxuIgorI34gIiAgICAgLS1jaGFuZ2UtaWQgICAgICAgICAgIGNoYW5nZSBJZFxuIgorI34gIiAgICAgLS1wcmludC1pZCAgICAgICAgICAgIHByaW50IElkXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXMsIC0tc2hvdy1zaXplICAgICAgICAgICDmuIXllq7lpKflsI/nmoTliIblibJcbiIKKyN+ICIgLWMsIC0taWQgICAgICAgICAgICAgICAgICDorormm7TmiJbliJfljbDliIblibLorZjliKXomZ9cbiIKKyN+ICIgICAgIC0tY2hhbmdlLWlkICAgICAgICAgICDorormm7TorZjliKXomZ9cbiIKKyN+ICIgICAgIC0tcHJpbnQtaWQgICAgICAgICAgICDliJfljbDorZjliKXomZ9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zIG9mIGVhY2ggZGV2aWNlXG4iCisjfiAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICAgaWRlbSwgYnV0IGluIGEgZm9ybWF0IHN1aXRhYmxlIGZvciBsYXRlciBpbnB1dFxuIgorI34gIiAtaSwgLS1pbmNyZW1lbnQgICAgICAgICAgIG51bWJlciBjeWxpbmRlcnMgZXRjLiBmcm9tIDEgaW5zdGVhZCBvZiBmcm9tIDBcbiIKKyN+ICIgLXUsIC0tdW5pdCA8bGV0dGVyPiAgICAgICB1bml0cyB0byBiZSB1c2VkOyA8bGV0dGVyPiBjYW4gYmUgb25lIG9mXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTIChzZWN0b3JzKSwgQyAoY3lsaW5kZXJzKSwgQiAoYmxvY2tzKSwgb3IgTSAoTUIpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICDmuIXllq7liIblibLljYDnmoTmr4/lgIvoo53nva5cbiIKKyN+ICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgICBpZGVt77yM5L2G5piv5Zyo5Lit5qC85byP6YGp55So56iN5b6M6Ly45YWlXG4iCisjfiAiIC1pLCAtLWluY3JlbWVudCAgICAgICAgICAg5pW45a2X56OB5p+x562J6aCF5b6eIDEg5Lul5Luj5pu/5b6eIDBcbiIKKyN+ICIgLXUsIC0tdW5pdCA8bGV0dGVyPiAgICAgICDllq7kvY3ngrrkvb/nlKjvvJs85a2X5q+NPuWPr+S7peaYr+S5i+S4gFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUyAo56OB5Y2AKe+8jEMgKOejgeafsSnvvIxCICjljYDloYop77yM5oiW5YWs5bC6IChNQilcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC0xLCAtLW9uZS1vbmx5ICAgICAgICAgICAgcmVzZXJ2ZWQgb3B0aW9uIHRoYXQgZG9lcyBub3RoaW5nIGN1cnJlbnRseVxuIgorI34gIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgIGxpc3QgdGhlIGtub3duIHBhcnRpdGlvbiB0eXBlc1xuIgorI34gIiAtRCwgLS1ET1MgICAgICAgICAgICAgICAgIGZvciBET1MtY29tcGF0aWJpbGl0eTogd2FzdGUgYSBsaXR0bGUgc3BhY2VcbiIKKyN+ICIgLUUsIC0tRE9TLWV4dGVuZGVkICAgICAgICBET1MgZXh0ZW5kZWQgcGFydGl0aW9uIGNvbXBhdGliaWxpdHlcbiIKKyN+ICIgLVIsIC0tcmUtcmVhZCAgICAgICAgICAgICBtYWtlIHRoZSBrZXJuZWwgcmVyZWFkIHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtMSwgLS1vbmUtb25seSAgICAgICAgICAgIOS/neeVmeeahOmBuOmgheipsuaykuWBmuS7u+S9leS6i+ebruWJjVxuIgorI34gIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgIOa4heWWruW3suefpeWIhuWJsuWNgOmhnuWei1xuIgorI34gIiAtRCwgLS1ET1MgICAgICAgICAgICAgICAgIOeUqOaWvCBET1MtY29tcGF0aWJpbGl0ee+8mndhc3RlIOWwj+Wei+epuuagvFxuIgorI34gIiAtRSwgLS1ET1MtZXh0ZW5kZWQgICAgICAgIERPUyDpgLLpmo7liIblibLnm7jlrrnmgKdcbiIKKyN+ICIgLVIsIC0tcmUtcmVhZCAgICAgICAgICAgICDoo73kvZzlhafmoLjph43mlrDoroDlj5bliIblibLooahcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1OIDxudW1iZXI+ICAgICAgICAgICAgICAgY2hhbmdlIG9ubHkgdGhlIHBhcnRpdGlvbiB3aXRoIHRoaXMgPG51bWJlcj5cbiIKKyN+ICIgLW4gICAgICAgICAgICAgICAgICAgICAgICBkbyBub3QgYWN0dWFsbHkgd3JpdGUgdG8gZGlza1xuIgorI34gIiAtTyA8ZmlsZT4gICAgICAgICAgICAgICAgIHNhdmUgdGhlIHNlY3RvcnMgdGhhdCB3aWxsIGJlIG92ZXJ3cml0dGVuIHRvIDxmaWxlPlxuIgorI34gIiAtSSA8ZmlsZT4gICAgICAgICAgICAgICAgIHJlc3RvcmUgc2VjdG9ycyBmcm9tIDxmaWxlPlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1OIDxudW1iZXI+ICAgICAgICAgICAgICAg6K6K5pu05Y+q5pyJ5YiG5Ymy6IiH6YCZ5YCLPOaVuOWtlz5cbiIKKyN+ICIgLW4gICAgICAgICAgICAgICAgICAgICAgICDkuI3lr6bpmpvnmoTlr6vlhaXno4Hnop9cbiIKKyN+ICIgLU885qqU5qGIPiAgICAgICAgICAgICAgICDlhLLlrZjno4HljYDoqbLlsIfooqvopoblr6vliLA85qqU5qGIPlxuIgorI34gIiAtSTzmqpTmoYg+ICAgICAgICAgICAgICAgIOmChOWOn+ejgeWNgOW+njzmqpTmoYg+XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtViwgLS12ZXJpZnkgICAgICAgICAgICAgIGNoZWNrIHRoYXQgdGhlIGxpc3RlZCBwYXJ0aXRpb25zIGFyZSByZWFzb25hYmxlXG4iCisjfiAiIC12LCAtLXZlcnNpb24gICAgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1WLCAtLXZlcmlmeSAgICAgICAgICAgICAg5qqi5p+l6Kmy5riF5Zau55qE5YiG5Ymy5Y2A5pivIHJlYXNvbmFibGVcbiIKKyN+ICIgLXYsIC0tdmVyc2lvbiAgICAgICAgICAgICDpoa/npLrniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICDpoa/npLrpgJnku73oqqrmmI7mloflrZfnhLblvozpm6LplotcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGFuZ2Vyb3VzIG9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLljbHpmqrpgbjpoIXvvJpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIKKyN+ICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgcGFydGl0aW9uIGlzIGluIHVzZVxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIHdhcm5pbmcgbWVzc2FnZXNcbiIKKyN+ICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkbyBub3QgY29tcGxhaW4gYWJvdXQgdGhpbmdzIGlycmVsZXZhbnQgZm9yIExpbnV4XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICDlhajpg6jlgZznlKjkuIDoh7TmgKfmqqLmn6VcbiIKKyN+ICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICDkuI3mqqLmn6XmmK/lkKbliIblibLmmK/lnKjkuK3kvb/nlKhcbiIKKyN+ICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICDmipHliLborablkYroqIrmga9cbiIKKyN+ICIgLUwsIC0tTGludXggICAgICAgICAgICAgICDkuI3mirHmgKjpl5zmlrwgaXJyZWxldmFudCDnlKjmlrwgTGludXhcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgICAgICAgcHJpbnQgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIGdlb21ldHJ5XG4iCisjfiAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgcHJpbnQgZ2VvbWV0cnkgZ3Vlc3NlZCBmcm9tIHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZywgLS1zaG93LWdlb21ldHJ5ICAgICAgIOWIl+WNsOWFp+aguOS4u+aEj+eahOW5vuS9leS9jee9rlxuIgorI34gIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIOWIl+WNsOW5vuS9leS9jee9rueMnOa4rOeahOW+nuWIhuWJsuihqFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLUEsIC0tYWN0aXZhdGVbPTxkZXZpY2U+XSBhY3RpdmF0ZSBib290YWJsZSBmbGFnXG4iCisjfiAiIC1VLCAtLXVuaGlkZVs9PGRldj5dICAgICAgc2V0IHBhcnRpdGlvbiB1bmhpZGRlblxuIgorI34gIiAteCwgLS1zaG93LWV4dGVuZGVkICAgICAgIGFsc28gbGlzdCBleHRlbmRlZCBwYXJ0aXRpb25zIGluIHRoZSBvdXRwdXQsXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBleHBlY3QgZGVzY3JpcHRvcnMgZm9yIHRoZW0gaW4gdGhlIGlucHV0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLUEsIC0tYWN0aXZhdGUgWz08ZGV2aWNlPl0g5ZWf55So5Y+v6ZaL5qmf55qE5peX5qiZXG4iCisjfiAiIC1VLCAtLXVuaGlkZSBbPTxkZXY+XSAgICAgIOioreWumuWIhuWJsiB1bmhpZGRlblxuIgorI34gIiAteCwgLS1zaG93LWV4dGVuZGVkICAgICAgIOS5n+a4heWWrumAsumajuWIhuWJsuWNgOWcqOS4rei8uOWHuu+8jFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg5oiW6aCQ5pyf5o+P6L+w5YWD55So5pa85a6D5YCR5Zyo5Lit6Ly45YWlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAgICAgLS1sZWF2ZS1sYXN0ICAgICAgICAgIGRvIG5vdCBhbGxvY2F0ZSB0aGUgbGFzdCBjeWxpbmRlclxuIgorI34gIiAgICAgLS1JQk0gICAgICAgICAgICAgICAgIHNhbWUgYXMgLS1sZWF2ZS1sYXN0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tbGVhdmUtbGFzdCAgICAgICAgICDkuI3phY3nva7mnIDlvozkuIDnrYbno4Hmn7FcbiIKKyN+ICIgICAgIC0tSUJNICAgICAgICAgICAgICAgICDlpoLlkIwgLS1sZWF2ZS1sYXN0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAgICAgLS1pbi1vcmRlciAgICAgICAgICAgIHBhcnRpdGlvbnMgYXJlIGluIG9yZGVyXG4iCisjfiAiICAgICAtLW5vdC1pbi1vcmRlciAgICAgICAgcGFydGl0aW9ucyBhcmUgbm90IGluIG9yZGVyXG4iCisjfiAiICAgICAtLWluc2lkZS1vdXRlciAgICAgICAgYWxsIGxvZ2ljYWxzIGluc2lkZSBvdXRlcm1vc3QgZXh0ZW5kZWRcbiIKKyN+ICIgICAgIC0tbm90LWluc2lkZS1vdXRlciAgICBub3QgYWxsIGxvZ2ljYWxzIGluc2lkZSBvdXRlcm1vc3QgZXh0ZW5kZWRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1pbi1vcmRlciAgICAgICAgICAgIOWIhuWJsuWNgOaYr+WcqOS4reaOkuW6j1xuIgorI34gIiAgICAgLS1ub3QtaW4tb3JkZXIgICAgICAgIOWIhuWJsuWNgOS4jeaYr+WcqOS4reaOkuW6j1xuIgorI34gIiAgICAgLS1pbnNpZGUtb3V0ZXIgICAgICAgIOaJgOaciemCj+i8r+eahOWFp+mDqCBvdXRlcm1vc3Qg6YCy6ZqOXG4iCisjfiAiICAgICAtLW5vdC1pbnNpZGUtb3V0ZXIgICAg5Lim6Z2e5omA5pyJ6YKP6Lyv55qE5YWn6YOoIG91dGVybW9zdCDpgLLpmo5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLW5lc3RlZCAgICAgICAgICAgICAgZXZlcnkgcGFydGl0aW9uIGlzIGRpc2pvaW50IGZyb20gYWxsIG90aGVyc1xuIgorI34gIiAgICAgLS1jaGFpbmVkICAgICAgICAgICAgIGxpa2UgbmVzdGVkLCBidXQgZXh0ZW5kZWQgcGFydGl0aW9ucyBtYXkgbGllIG91dHNpZGVcbiIKKyN+ICIgICAgIC0tb25lc2VjdG9yICAgICAgICAgICBwYXJ0aXRpb25zIGFyZSBtdXR1YWxseSBkaXNqb2ludFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLW5lc3RlZCAgICAgICAgICAgICAg5q+P5YiG5Ymy5pivIGRpc2pvaW50IOW+nuaJgOacieWFtuS7luS6ulxuIgorI34gIiAgICAgLS1jaGFpbmVkICAgICAgICAgICAgIOWmguWQjOW3oueLgO+8jOS9huaYr+mAsumajuWIhuWJsuWNgOS5n+ioseacgyBsaWUg5aSW5YG0XG4iCisjfiAiICAgICAtLW9uZXNlY3RvciAgICAgICAgICAg5YiG5Ymy5Y2A5piv5Lqk5LqSIGRpc2pvaW50XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk92ZXJyaWRlIHRoZSBkZXRlY3RlZCBnZW9tZXRyeSB1c2luZzpcbiIKKyN+ICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICBzZXQgdGhlIG51bWJlciBvZiBjeWxpbmRlcnMgdG8gdXNlXG4iCisjfiAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgc2V0IHRoZSBudW1iZXIgb2YgaGVhZHMgdG8gdXNlXG4iCisjfiAiIC1TLCAtLXNlY3RvcnMgPG51bWJlcj4gICAgc2V0IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyB0byB1c2VcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuW8t+WItuiuiuabtOWBtea4rOWIsOW5vuS9leS9jee9ruS9v+eUqO+8mlxuIgorI34gIiAtQywgLS1jeWxpbmRlcnMgPG51bWJlcj4gIOioreWumuejgeafseaVuOmHj+S7peS9v+eUqFxuIgorI34gIiAtSCwgLS1oZWFkczzmlbjlrZc+ICAgICDoqK3lrprliY3nq6/mlbjph4/ku6Xkvb/nlKhcbiIKKyN+ICIgLVMsIC0tc2VjdG9yczzmlbjlrZc+ICAg6Kit5a6a56OB5Y2A5pW46YeP5Lul5L2/55SoXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIlcyBkZXZpY2VcdFx0IGxpc3QgYWN0aXZlIHBhcnRpdGlvbnMgb24gZGV2aWNlXG4iCisjfiBtc2dzdHIgIiVzIOijnee9rlx0XHQg5YiX5Ye66KOd572u5LiK55qE5L2c55So5Lit5YiG5Ymy5Y2AXG4iCisKKyN+IG1zZ2lkICIlcyBkZXZpY2UgbjEgbjIgLi4uIGFjdGl2YXRlIHBhcnRpdGlvbnMgbjEgLi4uLCBpbmFjdGl2YXRlIHRoZSByZXN0XG4iCisjfiBtc2dzdHIgIiVzIOijnee9riBuMSBuMuKApuWVn+eUqOWIhuWJsuWNgCBuMeKApiwg5YGc55So5YW26aSY55qEXG4iCisKKyN+IG1zZ2lkICIlcyAtQW4gZGV2aWNlXHQgYWN0aXZhdGUgcGFydGl0aW9uIG4sIGluYWN0aXZhdGUgdGhlIG90aGVyIG9uZXNcbiIKKyN+IG1zZ3N0ciAiJXMgLUFuIOijnee9rlx0IOWVn+eUqOWIhuWJsuWNgCBuLCDlgZznlKjlj6blpJbkuIDlgItcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiBwYXJ0aXRpb25zIGFyZ3VtZW50IgorI34gbXNnc3RyICLnhKHmlYjnmoTliIblibLljYDmlbjph4/lvJXmlbgiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLXByaW50LWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyIgorI34gbXNnc3RyICLnlKjms5XvvJpzZmRpc2sgLS1wcmludC1pZCDoo53nva7liIblibLljYDnt6jomZ8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLWNoYW5nZS1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciBJZCIKKyN+IG1zZ3N0ciAi55So5rOV77yac2ZkaXNrIC0tY2hhbmdlLWlkIOijnee9ruWIhuWJsuWNgOe3qOiZn+itmOWIpeiZnyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0taWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIgW0lkXSIKKyN+IG1zZ3N0ciAi55So5rOV77yac2ZkaXNrIC0taWQg6KOd572u5YiG5Ymy5Y2A57eo6JmfIFvorZjliKXomZ9dIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbiBzcGVjaWZ5IG9ubHkgb25lIGRldmljZSAoZXhjZXB0IHdpdGggLWwgb3IgLXMpIgorI34gbXNnc3RyICLlj6/ku6XmjIflrprlj6rmnInkuIDlgIvoo53nva4gKOmZpOS6huiIhyAtbCDmiJYgLXMpIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuICVzIHJlYWQtd3JpdGUiCisjfiBtc2dzdHIgIueEoeazlemWi+WVnyAlcyDlj6/oroDlj6/lr6siCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgZm9yIHJlYWRpbmciCisjfiBtc2dzdHIgIueEoeazlemWi+WVnyAlcyDnlKjmlrzoroDlj5YiCisKKyN+IG1zZ2lkICIlczogJWxkIGN5bGluZGVycywgJWxkIGhlYWRzLCAlbGQgc2VjdG9ycy90cmFja1xuIgorI34gbXNnc3RyICIlc++8miVsZCDno4Hmn7HvvIwlbGQg56OB6aCt77yMJWxkIOejgeWNgC/no4Hou4xcbiIKKworI34gbXNnaWQgImJhZCBhY3RpdmUgYnl0ZTogMHgleCBpbnN0ZWFkIG9mIDB4ODBcbiIKKyN+IG1zZ3N0ciAi5LiN55W255qE5L2c55So5Lit5L2N5YWD57WE77yaMHgleCDogIzpnZ4gMHg4MFxuIgorCisjfiBtc2dpZCAiIgorI34gIkRvbmVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIuWujOaIkFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIllvdSBoYXZlICVkIGFjdGl2ZSBwcmltYXJ5IHBhcnRpdGlvbnMuIFRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLFxuIgorI34gImJ1dCB0aGUgRE9TIE1CUiB3aWxsIG9ubHkgYm9vdCBhIGRpc2sgd2l0aCAxIGFjdGl2ZSBwYXJ0aXRpb24uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLmgqjmnIkgJWQg5aGK5L2c55So5Lit55qE5Li76KaB5YiG5Ymy5Y2A44CC6YCZ5YCL5LiN5pyD5b2x6Z+/5YiwIExJTE/vvIxcbiIKKyN+ICLkvYbmmK8gRE9TIE1CUiDlj6rog73lsIflhbfmnInkuIDloYrkvZznlKjkuK3liIblibLljYDnmoTno4Hnop/plovmqZ/jgIJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgaGFzIGlkICV4IGFuZCBpcyBub3QgaGlkZGVuIgorI34gbXNnc3RyICLliIblibIgJXMg5pyJ6K2Y5Yil6JmfICV4IOWSjOacquiiq+maseiXjyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCYWQgSWQgJWx4IgorI34gbXNnc3RyICLkuI3nlbbnmoTorZjliKXomZ8gJWx4IgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhdGFsIGVycm9yOiBjYW5ub3QgZmluZCAlcyIKKyN+IG1zZ3N0ciAi5Zq06YeN6Yyv6Kqk77ya5om+5LiN5YiwICVzIgorCisjfiBtc2dpZCAiV2FybmluZzogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlXG4iCisjfiBtc2dzdHIgIuitpuWRiu+8miVzIOS4pumdnuWNgOWhiuijnee9rlxuIgorCisjfiBtc2dpZCAiT0tcbiIKKyN+IG1zZ3N0ciAi56K65a6aXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGRvZXMgbm90IGV4aXN0LCBjYW5ub3QgY2hhbmdlIGl0IgorI34gbXNnc3RyICLliIblibIgJWQg5LiN5a2Y5Zyo77yM54Sh5rOV6K6K5pu05a6DIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJJIGRvbid0IGxpa2UgdGhlc2UgcGFydGl0aW9ucyAtIG5vdGhpbmcgY2hhbmdlZC5cbiIKKyN+ICIoSWYgeW91IHJlYWxseSB3YW50IHRoaXMsIHVzZSB0aGUgLS1mb3JjZSBvcHRpb24uKSIKKyN+IG1zZ3N0ciAiIgorI34gIuaIkeS4jeWmguWQjOmAmeS6m+WIhuWJsuWNgCAtIOaykuacieS7u+S9leadseilv+iuiuabtOOAglxuIgorI34gIijlpoLmnpzmgqjnnJ/nmoTopoHmg7PopoHpgJnlgIvvvIzkvb/nlKggLS1mb3JjZSDpgbjpoIUuKSIKKworI34gbXNnaWQgIkkgZG9uJ3QgbGlrZSB0aGlzIC0gcHJvYmFibHkgeW91IHNob3VsZCBhbnN3ZXIgTm9cbiIKKyN+IG1zZ3N0ciAi5oiR5LiN5Zac5q2h6YCZ5YCLIC0g5oKo5Lmf6Kix5oeJ6Kmy5Zue562UIE5vXG4iCisKKyN+IG1zZ2lkICJBcmUgeW91IHNhdGlzZmllZCB3aXRoIHRoaXM/IFt5bnFdICIKKyN+IG1zZ3N0ciAi5oKo5ru/5oSP6YCZ5YCL5ZeO77yfW3lucV0gIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlF1aXR0aW5nIC0gbm90aGluZyBjaGFuZ2VkIgorI34gbXNnc3RyICLpm6LplosgLSDmspLmnInku7vkvZXmnbHopb/orormm7QiCisKKyN+IG1zZ2lkICJQbGVhc2UgYW5zd2VyIG9uZSBvZiB5LG4scVxuIgorI34gbXNnc3RyICLoq4vku6UgeSxuLHEg5LmL5LiA5Zue562UXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiU3VjY2Vzc2Z1bGx5IHdyb3RlIHRoZSBuZXcgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLmiJDlip/lr6vlhaXmlrDnmoTliIblibLooahcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJJZiB5b3UgY3JlYXRlZCBvciBjaGFuZ2VkIGEgRE9TIHBhcnRpdGlvbiwgL2Rldi9mb283LCBzYXksIHRoZW4gdXNlIGRkKDEpXG4iCisjfiAidG8gemVybyB0aGUgZmlyc3QgNTEyIGJ5dGVzOiAgZGQgaWY9L2Rldi96ZXJvIG9mPS9kZXYvZm9vNyBicz01MTIgY291bnQ9MVxuIgorI34gIihTZWUgZmRpc2soOCkuKVxuIgorI34gbXNnc3RyICIiCisjfiAi5aaC5p6c5oKo5bu656uL5oiW6K6K5pu0IERPUyDliIblibLljYAo5YGH6Kit5pivIC9kZXYvZm9vNynvvIzlsLHlvpfkvb/nlKggZGQoMSlcbiIKKyN+ICLlsIfplovpoK3nmoQgNTEyIOS9jeWFg+e1hOatuOmbtu+8mmRkIGlmPS9kZXYvemVybyBvZj0vZGV2L2ZvbzcgYnM9NTEyIGNvdW50PTFcbiIKKyN+ICIo5Y+D55yLIGZkaXNrKDgpLilcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJcbiIKKyN+IG1zZ3N0ciAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGFydGl0aW9uICV6ZCBpcyBhbHJlYWR5IGRlZmluZWQuIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKKyN+IG1zZ3N0ciAi5YiG5Ymy5Y2AICVkIOW3sue2k+Wumue+qeOAgiDlnKjph43mlrDliqDlhaXkuYvliY3liKrpmaTlroPjgIJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmaWVsZCBpcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAi5qyE5L2N5aSq6ZW3IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiAnJWMnIGlzIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICIlc++8muOAjiVj44CP5pyq6KKr5YWB6KixIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiclYycgaXMgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIuOAjiVj44CP5pyq6KKr5YWB6KixIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICIlc++8muaOp+WItuWtl+WFg+acquiiq+WFgeiosSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICLmjqfliLblrZflhYPmnKrooqvlhYHoqLEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMuIgorI34gbXNnc3RyICLlj6rog73orormm7TmnKzlnLDmop3nm67jgIIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3J5cHQoKSBmYWlsZWQiCisjfiBtc2dzdHIgIuaEj+imi+iqv+afpSgpIOWkseaVlyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIC11IDxVU0VSPiBDT01NQU5EXG4iCisjfiBtc2dzdHIgIiAlcyBb6YG46aCFXSDlkb3ku6RcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbVVNFUiBbYXJnXS4uLl1cbiIKKyN+IG1zZ3N0ciAiICVzIFvpgbjpoIVdIFstXSBb5L2/55So6ICFIFthcmddLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkbyBub3QgY3JlYXRlIGEgbmV3IHNlc3Npb25cbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOOAjCVz44CNKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNPTU1BTkQgbm90IHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIuaykuaciSBtb3VudHBvaW50IOaMh+WumueahOOAgiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC0xLCAtLW9uZSAgICAgICAgc2hvdyBvbmx5IGN1cnJlbnQgbW9udGggKGRlZmF1bHQpXG4iCisjfiAiIC0zLCAtLXRocmVlICAgICAgc2hvdyBwcmV2aW91cywgY3VycmVudCBhbmQgbmV4dCBtb250aFxuIgorI34gIiAtcywgLS1zdW5kYXkgICAgIFN1bmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorI34gIiAtbSwgLS1tb25kYXkgICAgIE1vbmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorI34gIiAtaiwgLS1qdWxpYW4gICAgIG91dHB1dCBKdWxpYW4gZGF0ZXNcbiIKKyN+ICIgLXksIC0teWVhciAgICAgICBzaG93IHdob2xlIGN1cnJlbnQgeWVhclxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtMSwgLS1vbmUgICAgICAgIOWPqumhr+ekuueVtuaciCAo6aCQ6KitKVxuIgorI34gIiAtMywgLS10aHJlZSAgICAgIOmhr+ekuuWJjeS4gOWAi+OAgeebruWJjeeahOWSjOasoeaciFxuIgorI34gIiAtcywgLS1zdW5kYXkgICAgIOmAseaXpeWBmueCuuWFiOmAseS4reafkOaXpVxuIgorI34gIiAtbSwgLS1tb25kYXkgICAgIOmAseS4gOWBmueCuuWFiOmAseS4reafkOaXpVxuIgorI34gIiAtaiwgLS1qdWxpYW4gICAgIOi8uOWHuuWEkueVpeabhue0hOacg1xuIgorI34gIiAteSwgLS15ZWFyICAgICAgIOmhr+ekuuaVtOWAi+ebruWJjeeahOW5tFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIOmhr+ekuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIOmhr+ekuumAmeS7veiqquaYjuaWh+Wtl+eEtuW+jOmboumWi1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgJTEkcyBbb3B0aW9uc10gTEFCRUw9PGxhYmVsPlxuIgorI34gIiAlMSRzIFtvcHRpb25zXSBVVUlEPTx1dWlkPlxuIgorI34gbXNnc3RyICIiCisjfiAiICUxJHMgW+mBuOmghV0g5qiZ6LK8PTxsYWJlbD5cbiIKKyN+ICIgJTEkcyBb6YG46aCFXSBVVUlEPTx1dWlkPlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIKKyN+ICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgQVNDSUkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorI34gIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaWNhbGl6ZSBwcmludGVkIHBhdGhzXG4iCisjfiAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGF0ZSB0aGUgb3V0cHV0IG9mIGRmKDEpXG4iCisjfiAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKKyN+ICIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBjb252ZXJ0IHRhZ3MgKExBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMKSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGRldmljZSBuYW1lc1xuIgorI34gIiAtRiwgLS10YWItZmlsZSA8cGF0aD4gIGFsdGVybmF0aXZlIGZpbGUgZm9yIC0tZnN0YWIsIC0tbXRhYiBvciAtLWtlcm5lbCBvcHRpb25zXG4iCisjfiAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1BLCAtLWFsbCAgICAgICAgICAgICAg5YWo6YOo5YGc55So5YWn5bu656+p6YG45Zmo77yM5YiX5Y2w5omA5pyJ5qqU5qGI57O757WxXG4iCisjfiAiIC1hLCAtLWFzY2lpICAgICAgICAgICAg5L2/55SoIEFTQ0lJIOWtl+WFg+eUqOaWvOaoueagvOW8j+WMllxuIgorI34gIiAtYywgLS1jYW5vbmljYWxpemUgICAgIOato+WJh+WMluWIl+WNsOeahOi3r+W+kVxuIgorI34gIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRhdGUg6Ly45Ye655qEIGRmICgxKVxuIgorI34gIiAtZCwgLS1kaXJlY3Rpb24gPHdvcmQ+IOaWueWQkeeahOaQnOWwi++8jOOAjui9ieWvhOOAj+aIluOAjumAgOS4gOatpeOAj1xuIgorI34gIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIOi9ieaPm+aomeexpCAo5qiZ6LK877yMVVVJRO+8jFBBUlRVVUlE77yMUEFSVExBQkVMKVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAg5Yiw6KOd572u5ZCN56ixXG4iCisjfiAiIC1GLCAtLXRhYi1maWxlPOi3r+W+kT4g5pu/5Luj5pa55qGI5qqU5qGI55So5pa8IC0tZnN0YWLvvIwtLW10YWIg5oiWIC0ta2VybmVsIOmBuOmghVxuIgorI34gIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIOWIl+WNsOesrOS4gOWAi+aJvuWIsOaqlOahiOezu+e1seWPquaciVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnQgdGhlIHNlbnNlIG9mIG1hdGNoaW5nXG4iCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorI34gIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIHVzZSBhbHRlcm5hdGl2ZSBuYW1lc3BhY2UgKC9wcm9jLzx0aWQ+L21vdW50aW5mbyBmaWxlKVxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGNvbHVtbiBoZWFkaW5nc1xuIgorI34gIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGRvbid0IHRydW5jYXRlIHRleHQgaW4gY29sdW1uc1xuIgorI34gbXNnc3RyICIiCisjfiAiIC1pLCAtLWludmVydCAgICAgICAgICAg5Y+N5ZCRIHNlbnNlIOeahOWMuemFjVxuIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICAgIOS9v+eUqOa4heWWruagvOW8j+i8uOWHulxuIgorI34gIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIOS9v+eUqOabv+S7o+aWueahiOWRveWQjeepuumWkyAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIOaqlOahiClcbiIKKyN+ICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICDkuI3liJfljbDmrITmqJnpoK1cbiIKKyN+ICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICDkuI3miKrmlrfmloflrZflnKjkuK3mrITkvY1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorI34gIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIHByaW50IGFsbCBzdWJtb3VudHMgZm9yIHRoZSBtYXRjaGluZyBmaWxlc3lzdGVtc1xuIgorI34gIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorI34gIiAtVCwgLS10YXJnZXQgPHN0cmluZz4gIHRoZSBtb3VudHBvaW50IHRvIHVzZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC12LCAtLW5vZnNyb290ICAgICAgICAg5LiN5YiX5Y2wIFsvZGlyXSDnlKjmlrznuavntZDmiJYgYnRyZnMg5o6b6LyJXG4iCisjfiAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAg5YiX5Y2w5omA5pyJIHN1Ym1vdW50cyDnlKjmlrzljLnphY3mqpTmoYjns7vntbFcbiIKKyN+ICIgLVMsIC0tc291cmNlIDxzdHJpbmc+ICDoo53nva7liLDmjpvovIkgKOS+neWQjeeose+8jG1hau+8muacgOWwj++8jFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAg5qiZ6LK8PSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKKyN+ICIgLVQsIC0tdGFyZ2V0POWtl+S4sj4gbW91bnRwb2ludCDku6Xkvb/nlKhcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBPdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvblxuIgorI34gbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1kLCAtLXVkcCAgICAgICAgICAgICB1c2UgVURQIG9ubHlcbiIKKyN+ICIgLWksIC0taWQgICAgICAgICAgICAgIGxvZyB0aGUgcHJvY2VzcyBJRCB0b29cbiIKKyN+ICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgIGxvZyB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWQsIC0tdWRwICAgICAgICAgICAgIOS9v+eUqCBVRFAgKFRDUCDmmK/poJDoqK0pXG4iCisjfiAiIC1pLCAtLWlkICAgICAgICAgICAgICDoqJjpjITmqpTomZXnkIborZjliKXomZ/lpKpcbiIKKyN+ICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgIOiomOmMhOaqlOWFp+WuueeahOmAmeWAi+aqlOahiFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piO5paH5a2X54S25b6M6Zui6ZaLXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorI34gIiAtUCwgLS1wb3J0IDxudW1iZXI+ICAgdXNlIHRoaXMgVURQIHBvcnRcbiIKKyN+ICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+IG1hcmsgZ2l2ZW4gbWVzc2FnZSB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKKyN+ICIgLXMsIC0tc3RkZXJyICAgICAgICAgIG91dHB1dCBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yIGFzIHdlbGxcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAg5a+r5YWl6YCZ5YCL6YGg56uvIHN5c2xvZyDkvLrmnI3lmahcbiIKKyN+ICIgLVAsIC0tcG9ydDzmlbjlrZc+ICDkvb/nlKjpgJnlgIsgVURQIOmAmuioiuWfoFxuIgorI34gIiAtcCwgLS1wcmlvcml0eTxwcmlvPuaomeiomOe1puWumueahOioiuaBr+iIh+mAmeWAi+WEquWFiOasilxuIgorI34gIiAtcywgLS1zdGRlcnIgICAgICAgICAg6Ly45Ye66KiK5oGv5Yiw5qiZ5rqW6Yyv6Kqk5ZCM5qijXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtdCwgLS10YWcgPHRhZz4gICAgICAgbWFyayBldmVyeSBsaW5lIHdpdGggdGhpcyB0YWdcbiIKKyN+ICIgLXUsIC0tc29ja2V0IDxzb2NrZXQ+IHdyaXRlIHRvIHRoaXMgVW5peCBzb2NrZXRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXQsIC0tdGFnIDx0YWc+ICAgICAgIOaomeiomOavj+WIl+iIh+mAmeWAi+aomeexpFxuIgorI34gIiAtdSwgLS1zb2NrZXQ86YCa6KiK56uvPuWvq+WFpemAmeWAiyBVbml4IOmAmuioiuerr1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgIHVzZSBhbHRlcm5hdGl2ZSBkaWN0aW9uYXJ5XG4iCisjfiAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgY29tcGFyZSBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzXG4iCisjfiAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIKKyN+ICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiBkZWZpbmUgc3RyaW5nIHRlcm1pbmF0aW9uIGNoYXJhY3RlclxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgIOS9v+eUqOS6pOabv+Wtl+WFuFxuIgorI34gIiAtZCwgLS1hbHBoYW51bSAgICAgICAgIOavlOi8g+WPquaciSBhbHBoYSDmlbjlrZflrZflhYNcbiIKKyN+ICIgLWYsIC0taWdub3JlLWNhc2UgICAgICDlv73nlaXmmYLmr5TovINcbiIKKyN+ICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiDlrprnvqnlrZfkuLLntYLmraLlrZflhYNcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICDovLjlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1mLCAtLWZpbGUgPGZpbGU+IHVzZSBmaWxlIGFzIGEgY29va2llIHNlZWRcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZiwgLS1maWxlIDxmaWxlPiDkvb/nlKjmqpTmoYjlgZrngrrluqvlhYvnqK7lrZBcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAg6Kej6YeL5LuA6bq85q2j5Zyo5piv5bey5a6M5oiQXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIHBhdGhuYW1lIFtwYXRobmFtZSAuLi5dXG4iCisjfiBtc2dzdHIgIiAlcyBb6YG46aCFXSDot6/lvpHlkI3nqLEgW+i3r+W+keWQjeeosS4uLl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbmFtZWkoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLopoHnjbLlvpfmm7TlpJros4foqIroq4vlj4PnnIsgbmFtZWkoMSnjgIJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYWlsZWQgdG8gb3Blbi9jcmVhdGUgJXM6ICVtXG4iCisjfiBtc2dzdHIgIumWi+WVn+aZguWkseaVly/lu7rnq4sgJXPvvJolbVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB0byBsb2NrICVzOiAlbVxuIgorI34gbXNnc3RyICLpjpblrpogJXMg5pmC5aSx5pWX77yaJW1cbiIKKworI34gbXNnaWQgIkJhZCBudW1iZXI6ICVzXG4iCisjfiBtc2dzdHIgIuS4jeeVtueahOaVuOWtl++8miVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQm90aCAtLXBpZCBhbmQgLS1uby1waWQgc3BlY2lmaWVkLiBJZ25vcmluZyAtLW5vLXBpZC5cbiIKKyN+IG1zZ3N0ciAi5YWp6ICFIC0tcGlkIOWSjCAtLW5vLXBpZCDmjIflrprnmoTjgILlv73nlaUgLS1uby1waWTjgIJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgd2lwZWZzKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6KaB542y5b6X5pu05aSa6LOH6KiK6KuL5Y+D55yLIHdpcGVmcyg4KeOAglxuIgorCisjfiBtc2dpZCAid2FybmluZzogZXJyb3IgcmVhZGluZyAlczogJXMiCisjfiBtc2dzdHIgIuitpuWRiu+8muiugOWPluaZgueZvOeUn+mMr+iqpCAlczogJXMiCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiBjYW4ndCBvcGVuICVzOiAlcyIKKyN+IG1zZ3N0ciAi6K2m5ZGK77ya54Sh5rOV6ZaL5ZWfICVzOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjb3VsZCBub3Qgb3BlbiAlcyAtIHVzaW5nICVzIGluc3RlYWRcbiIKKyN+IG1zZ3N0ciAibW91bnTvvJrnhKHms5XplovllZ8gJXMgLSDkvb/nlKggJXMg5YGa54K65pu/5LujXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBjcmVhdGUgbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICLnhKHms5Xlu7rnq4vpjpblrprmqpTmoYggJXM6ICVzICjkvb/nlKggLW4g5peX5qiZ5Lul5by35Yi26K6K5pu0KSIKKworI34gbXNnaWQgImNhbid0IGxpbmsgbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICLnhKHms5Xpj4jntZDpjpblrprmqpTmoYggJXM6ICVzICjkvb/nlKggLW4g5peX5qiZ5Lul5by35Yi26K6K5pu0KSIKKworI34gbXNnaWQgImNhbid0IG9wZW4gbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICLnhKHms5XplovllZ/pjpblrprmqpTmoYggJXM6ICVzICjkvb/nlKggLW4g5peX5qiZ5Lul5by35Yi26K6K5pu0KSIKKworI34gbXNnaWQgIkNhbid0IGxvY2sgbG9jayBmaWxlICVzOiAlc1xuIgorI34gbXNnc3RyICLnhKHms5Xpjpblrprlt7LpjpblrprmqpTmoYggJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXMiCisjfiBtc2dzdHIgIueEoeazlemOluWumuW3sumOluWumuaqlOahiCAlczogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiQ2Fubm90IGNyZWF0ZSBsaW5rICVzXG4iCisjfiAiUGVyaGFwcyB0aGVyZSBpcyBhIHN0YWxlIGxvY2sgZmlsZT9cbiIKKyN+IG1zZ3N0ciAiIgorI34gIueEoeazleW7uueri+mPiOe1kCAlc1xuIgorI34gIuS5n+ioseacieWkseWOu+aZguaViOeahOmOluWumuaqlOahiO+8n1xuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgKCVzKSAtIG10YWIgbm90IHVwZGF0ZWQiCisjfiBtc2dzdHIgIueEoeazlemWi+WVnyAlcyAoJXMpIC0gbXRhYiDlsJrmnKrmm7TmlrAiCisKKyN+IG1zZ2lkICJlcnJvciB3cml0aW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAi5a+r5YWlICVzIOaZgueZvOeUn+mMr+iqpO+8miVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYW5ub3QgZmZsdXNoIGNoYW5nZXM6ICVzIgorI34gbXNnc3RyICIlc++8mueEoeazlSBmZmx1c2gg6K6K5pu077yaJXMiCisKKyN+IG1zZ2lkICJlcnJvciBjaGFuZ2luZyBtb2RlIG9mICVzOiAlc1xuIgorI34gbXNnc3RyICLorormm7QgJXMg5qih5byP5pmC55m855Sf6Yyv6Kqk77yaJXNcbiIKKworI34gbXNnaWQgImVycm9yIGNoYW5naW5nIG93bmVyIG9mICVzOiAlc1xuIgorI34gbXNnc3RyICLorormm7QgJXMg55qE5pOB5pyJ6ICF5pmC55m855Sf6Yyv6Kqk77yaJXNcbiIKKworI34gbXNnaWQgImNhbid0IHJlbmFtZSAlcyB0byAlczogJXNcbiIKKyN+IG1zZ3N0ciAi54Sh5rOV6YeN5paw5ZG95ZCNICVzIOeCuiAlczogJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJtb3VudDogd2FybmluZzogL2V0Yy9tdGFiIGlzIG5vdCB3cml0YWJsZSAoZS5nLiByZWFkLW9ubHkgZmlsZXN5c3RlbSkuXG4iCisjfiAiICAgICAgIEl0J3MgcG9zc2libGUgdGhhdCBpbmZvcm1hdGlvbiByZXBvcnRlZCBieSBtb3VudCg4KSBpcyBub3RcbiIKKyN+ICIgICAgICAgdXAgdG8gZGF0ZS4gRm9yIGFjdHVhbCBpbmZvcm1hdGlvbiBhYm91dCBzeXN0ZW0gbW91bnQgcG9pbnRzXG4iCisjfiAiICAgICAgIGNoZWNrIHRoZSAvcHJvYy9tb3VudHMgZmlsZS5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIm1vdW5077ya6K2m5ZGK77yaL2V0Yy9tdGFiIOS4jeWPr+Wvq+WFpSAo5L6L77ya5ZSv6K6A5qqU5qGI57O757WxKeOAglxuIgorI34gIiAgICAgICDnlLEgbW91bnQoOCkg5omA5aCx5ZGK55qE6LOH6KiK5pyJ5Y+v6IO95LiN5piv5pyA5paw54uA5rOB44CCXG4iCisjfiAiICAgICAgIOaDs+imgeeNsuW+l+aciemXnOezu+e1seaOm+i8iem7nueahOWvpumam+izh+ioiu+8jFxuIgorI34gIiAgICAgICDoq4vmqqLmn6UgL3Byb2MvbW91bnRzIOaqlOahiOOAglxuIgorI34gIlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGltcHJvcGVybHkgcXVvdGVkIG9wdGlvbiBzdHJpbmcgJyVzJyIKKyN+IG1zZ3N0ciAibW91bnTvvJrpgbjpoIXlrZfkuLLjgIwlc+OAjeWKoOWFpeS6huS4jemBqeeVtueahOW8leiZnyIKKworI34gbXNnaWQgIm1vdW50OiB0cmFuc2xhdGVkICVzICclcycgdG8gJyVzJ1xuIgorI34gbXNnc3RyICJtb3VudO+8muW3sue/u+itryAlc+OAjCVz44CN54K644CMJXPjgI1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogU0VMaW51eCAqY29udGV4dD0gb3B0aW9ucyBhcmUgaWdub3JlIG9uIHJlbW91bnQuXG4iCisjfiBtc2dzdHIgIuaOm+i8ie+8mlNFTGludXggKiDoqp7looM96YG46aCF5piv5b+955Wl5pa8IHJlbW91bnTjgIJcbiIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIgorI34gbXNnc3RyICJtb3VudO+8muagueaTmiBtdGFi77yMJXMg5bey57aT5o6b6LyJ5YiwICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBtb3VudGVkIG9uICVzIgorI34gbXNnc3RyICJtb3VudO+8muagueaTmiBtdGFi77yMJXMg5bey57aT5o6b6LyJ5YiwICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IG9wZW4gJXMgZm9yIHdyaXRpbmc6ICVzIgorI34gbXNnc3RyICJtb3VudO+8mueEoeazlemWi+WVnyAlcyDku6XnlKjmlrzlr6vlhaXvvJolcyIKKworI34gbXNnaWQgIm1vdW50OiBlcnJvciB3cml0aW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnTvvJrlr6vlhaXmmYLnmbznlJ/pjK/oqqQgJXM6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIGNoYW5naW5nIG1vZGUgb2YgJXM6ICVzIgorI34gbXNnc3RyICJtb3VudO+8muiuiuabtOaooeW8j+aZgueZvOeUn+mMr+iqpCAlczogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVtIgorI34gbXNnc3RyICLmjpvovInvvJrnhKHms5XoqK3lrprnvqTntYTorZjliKXomZ/vvJolbSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCB1c2VyIGlkOiAlbSIKKyN+IG1zZ3N0ciAi5o6b6LyJ77ya54Sh5rOV6Kit5a6a5L2/55So6ICF6K2Y5Yil6Jmf77yaJW0iCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IGZvcms6ICVzIgorI34gbXNnc3RyICJtb3VudO+8mueEoeazleihjeeUn+Wft+ihjO+8miVzIgorCisjfiBtc2dpZCAiVHJ5aW5nICVzXG4iCisjfiBtc2dzdHIgIuWYl+ippiAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IHlvdSBkaWRuJ3Qgc3BlY2lmeSBhIGZpbGVzeXN0ZW0gdHlwZSBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnTvvJrmgqjkuKbmnKrmjIflrpogJXMg55qE5qqU5qGI57O757Wx6aGe5Z6LXG4iCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSBhbGwgdHlwZXMgbWVudGlvbmVkIGluICVzIG9yICVzXG4iCisjfiBtc2dzdHIgIiAgICAgIOaIkeWwh+WYl+ippuaJgOacieWcqCAlcyDmiJYgJXMg5Lit5o+Q5Y+K55qE6aGe5Z6LXG4iCisKKyN+IG1zZ2lkICIgICAgICAgYW5kIGl0IGxvb2tzIGxpa2UgdGhpcyBpcyBzd2Fwc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAgICAgIOiAjOWug+eci+i1t+S+huWDj+aYr+WAi+e9ruaPm+epuumWk1xuIgorCisjfiBtc2dpZCAiICAgICAgIEkgd2lsbCB0cnkgdHlwZSAlc1xuIgorI34gbXNnc3RyICIgICAgICDmiJHlsIflmJfoqabpoZ7lnosgJXNcbiIKKworI34gbXNnaWQgIiVzIGxvb2tzIGxpa2Ugc3dhcHNwYWNlIC0gbm90IG1vdW50ZWQiCisjfiBtc2dzdHIgIiVzIOeci+i1t+S+huWDj+aYr+e9ruaPm+epuumWkyAtIOacquaOm+i8iSIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogJXM6IG1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQuIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sXG4iCisjfiAiICAgICAgIHVzZSAtdCA8dHlwZT4gdG8gZXhwbGljaXRseSBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUgb3JcbiIKKyN+ICIgICAgICAgdXNlIHdpcGVmcyg4KSB0byBjbGVhbiB1cCB0aGUgZGV2aWNlLlxuIgorI34gbXNnc3RyICIiCisjfiAi5o6b6LyJ77yaJXPvvJrlgbXmuKzliLDlpJrlgIvmqpTmoYjns7vntbHjgILpgJnkuI3mh4nnmbznlJ/vvIxcbiIKKyN+ICIgICAgICAg5L2/55SoIC10IDx0eXBlPiDku6XmmI7norrmjIflrprmqpTmoYjns7vntbHlnovmhYvmiJZcbiIKKyN+ICIgICAgICAg5L2/55SoIHdpcGVmcyg4KSDku6XmuIXnkIboo53nva7jgIJcbiIKKworI34gbXNnaWQgIm1vdW50OiBvbmx5IHJvb3QgY2FuIG1vdW50ICVzIG9uICVzIgorI34gbXNnc3RyICJtb3VudO+8muWPquaciSByb290IOWPr+S7peWwhyAlcyDmjpvovInliLAgJXMiCisKKyN+IG1zZ2lkICJtb3VudDogbG9vcCBkZXZpY2Ugc3BlY2lmaWVkIHR3aWNlIgorI34gbXNnc3RyICJtb3VudO+8mueSsOi3r+ijnee9ruiiq+aMh+WumuS6huWFqeasoSIKKworI34gbXNnaWQgIm1vdW50OiB0eXBlIHNwZWNpZmllZCB0d2ljZSIKKyN+IG1zZ3N0ciAibW91bnTvvJrpoZ7lnovooqvmjIflrprkuoblhanmrKEiCisKKyN+IG1zZ2lkICJtb3VudDogc2tpcHBpbmcgdGhlIHNldHVwIG9mIGEgbG9vcCBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAibW91bnTvvJrot7PpgY7nkrDot6/oo53nva7nmoToqK3lrppcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogZW5hYmxpbmcgYXV0b2NsZWFyIGxvb3BkZXYgZmxhZ1xuIgorI34gbXNnc3RyICLmjpvovInvvJrllZ/nlKggYXV0b2NsZWFyIGxvb3BkZXYg5peX5qiZXG4iCisKKyN+IG1zZ2lkICJtb3VudDogaW52YWxpZCBvZmZzZXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW5077ya5oyH5a6a5LqG54Sh5pWI55qE5YGP56e75YC844CMJXPjgI0iCisKKyN+IG1zZ2lkICJtb3VudDogaW52YWxpZCBzaXplbGltaXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW5077ya5oyH5a6a5LqG54Sh5pWI55qE5aSn5bCP6ZmQ5Yi244CMJXPjgI0iCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIGFzIGxvb3AiCisjfiBtc2dzdHIgIm1vdW5077ya5qC55pOaIG10YWIgJXMg5bey6KKr55W25YGa55Kw6Lev6ICM5o6b6LyJ5pa8ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiB0YWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wZGV2IGNvbnRleHQiCisjfiBtc2dzdHIgIuWIneWni+WMliBsb29wY3h0IOaZguWkseaVlyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIHVzZSAlcyBkZXZpY2UiCisjfiBtc2dzdHIgIiVz77ya54Sh5rOV5L2/55So6KOd572uIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gZm91bmQgZnJlZSBsb29wIGRldmljZSIKKyN+IG1zZ3N0ciAi5o6b6LyJ77ya54Sh5rOV5om+5Yiw6Ieq55Sx6L+05ZyI6KOd572uIgorCisjfiBtc2dpZCAibW91bnQ6IGdvaW5nIHRvIHVzZSB0aGUgbG9vcCBkZXZpY2UgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnTvvJrljbPlsIfkvb/nlKjnkrDot6/oo53nva4gJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogJXM6IGZhaWxlZCB0byBzZXQgbG9vcGRldiBhdHRyaWJ1dGVzIgorI34gbXNnc3RyICLmjpvovInvvJolc++8mueEoeazleioreWumiBsb29wZGV2IOWxrOaApyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogJXM6IGZhaWxlZCBzZXR0aW5nIHVwIGxvb3AgZGV2aWNlOiAlbSIKKyN+IG1zZ3N0ciAi5o6b6LyJ77yaJXPvvJrlpLHmlZfnmoToqK3lrprov7TlnIjoo53nva7vvJolbSIKKworI34gbXNnaWQgIm1vdW50OiBzdG9sZW4gbG9vcD0lcyAuLi50cnlpbmcgYWdhaW5cbiIKKyN+IG1zZ3N0ciAibW91bnTvvJrkuJ/lpLHnkrDot689JXMg4oCm5YaN6Kmm5LiA5qyhXG4iCisKKyN+IG1zZ2lkICJtb3VudDogc3RvbGVuIGxvb3A9JXMiCisjfiBtc2dzdHIgIm1vdW5077ya5Lif5aSx55Kw6LevPSVzIgorCisjfiBtc2dpZCAibW91bnQ6IHNldHVwIGxvb3AgZGV2aWNlIHN1Y2Nlc3NmdWxseVxuIgorI34gbXNnc3RyICJtb3VudO+8muaIkOWKn+ioreWumueSsOi3r+ijnee9rlxuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vICVzIGZvdW5kIC0gY3JlYXRpbmcgaXQuLlxuIgorI34gbXNnc3RyICJtb3VudO+8muaJvuS4jeWIsCAlcyAtIOW7uueri+Wug+KAplxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBvcGVuICVzIGZvciBzZXR0aW5nIHNwZWVkIgorI34gbXNnc3RyICJtb3VudO+8mueEoeazlemWi+WVnyAlcyDku6XnlKjmlrzoqK3lrprpgJ/luqYiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgc3BlZWQ6ICVtIgorI34gbXNnc3RyICLmjpvovInvvJrnhKHms5XoqK3lrprpgJ/luqbvvJolbSIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzXG4iCisjfiBtc2dzdHIgIm1vdW5077ya5qC55pOaIG10YWLvvIwlcyDlt7LntpPmjpvovInliLAgJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtd3JpdGUuXG4iCisjfiBtc2dzdHIgIm1vdW5077ya6K2m5ZGK77yaJXMg5Ly85LmO6KKr5o6b6LyJ54K65Y+v6K6A5Y+v5a+r44CCXG4iCisKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogJXMgc2VlbXMgdG8gYmUgbW91bnRlZCByZWFkLW9ubHkuXG4iCisjfiBtc2dzdHIgIm1vdW5077ya6K2m5ZGK77yaJXMg5Ly85LmO6KKr5o6b6LyJ54K65ZSv6K6A44CCXG4iCisKKyN+IG1zZ2lkICJtb3VudDogSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW5077ya5oiR54Sh5rOV5rG65a6a5qqU5qGI57O757Wx6aGe5Z6L77yM6ICM5a6D5Lim5pyq6KKr5oyH5a6aIgorCisjfiBtc2dpZCAibW91bnQ6IHlvdSBtdXN0IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSIKKyN+IG1zZ3N0ciAibW91bnTvvJrmgqjlv4XpoIjmjIflrprmqpTmoYjns7vntbHpoZ7lnosiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgZmFpbGVkIgorI34gbXNnc3RyICJtb3VudO+8muaOm+i8ieaZguWkseaVlyIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBwb2ludCAlcyBpcyBub3QgYSBkaXJlY3RvcnkiCisjfiBtc2dzdHIgIm1vdW5077ya5o6b6LyJ6bueICVzIOS4pumdnuebrumMhCIKKworI34gbXNnaWQgIm1vdW50OiBwZXJtaXNzaW9uIGRlbmllZCIKKyN+IG1zZ3N0ciAibW91bnTvvJrmrIrpmZDooqvmi5IiCisKKyN+IG1zZ2lkICJtb3VudDogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorI34gbXNnc3RyICJtb3VudO+8muW/hemgiOaYr+ezu+e1seeuoeeQhuiAheaJjeiDveS9v+eUqOaOm+i8iSIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBidXN5IgorI34gbXNnc3RyICJtb3VudO+8miVzIOW/meeijOS4rSIKKworI34gbXNnaWQgIm1vdW50OiBwcm9jIGFscmVhZHkgbW91bnRlZCIKKyN+IG1zZ3N0ciAibW91bnTvvJpwcm9jIOW3suiiq+aOm+i8iSIKKworI34gbXNnaWQgIm1vdW50OiAlcyBhbHJlYWR5IG1vdW50ZWQgb3IgJXMgYnVzeSIKKyN+IG1zZ3N0ciAibW91bnTvvJolcyDlt7LooqvmjpvovInmiJbogIUgJXMg5b+Z56KM5LitIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGRvZXMgbm90IGV4aXN0IgorI34gbXNnc3RyICJtb3VudO+8muaOm+i8iem7niAlcyDkuI3lrZjlnKgiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCisjfiBtc2dzdHIgIm1vdW5077ya5o6b6LyJ6bueICVzIOaYr+S4jeaYjuS9jee9rueahOespuiZn+mAo+e1kCIKKworI34gbXNnaWQgIm1vdW50OiBzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKKyN+IG1zZ3N0ciAibW91bnTvvJrnibnmroroo53nva4gJXMg5LiN5a2Y5ZyoIgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiBzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdFxuIgorI34gIiAgICAgICAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudO+8mueJueauiuijnee9riAlcyDkuI3lrZjlnKhcbiIKKyN+ICIgICAgICAo6Lev5b6R5YmN57a05Lim6Z2e55uu6YyEKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiAlcyBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorI34gbXNnc3RyICLmjpvovInvvJolcyDnhKHms5XmjpvovInnmoTmiJbkuI3nlbbnmoTpgbjpoIUiCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHdyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLFxuIgorI34gIiAgICAgICBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW5077ya6Yyv6Kqk5qqU5qGI57O757Wx6aGe5Z6L44CB5LiN55W255qE6YG46aCF44CB5LiN55W255qE6LaF5Y2A5aGK5pa8ICVzLFxuIgorI34gIiAgICAgIOe8uuWwkee3qOeivOmggeaIlui8lOWKqeeoi+W8j++8jOaIluWFtuS7lumMr+iqpCIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgKGZvciBzZXZlcmFsIGZpbGVzeXN0ZW1zIChlLmcuIG5mcywgY2lmcykgeW91IG1pZ2h0XG4iCisjfiAiICAgICAgIG5lZWQgYSAvc2Jpbi9tb3VudC48dHlwZT4gaGVscGVyIHByb2dyYW0pIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgICjlsI3mlrzoqLHlpJrmqpTmoYjns7vntbEgKOS+i+WmgiBuZnPvvIxjaWZzKSDmgqjkuZ/oqLFcbiIKKyN+ICIgICAgICAg6ZyA6KaBIC9zYmluL21vdW50Ljx0eXBlPiDovJTliqnnqIvlvI8pIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoY291bGQgdGhpcyBiZSB0aGUgSURFIGRldmljZSB3aGVyZSB5b3UgaW4gZmFjdCB1c2VcbiIKKyN+ICIgICAgICAgaWRlLXNjc2kgc28gdGhhdCBzcjAgb3Igc2RhIG9yIHNvIGlzIG5lZWRlZD8pIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgICjmmK/lkKblj6/og73mgqjkvb/nlKggSURFIOijnee9ruWFtuWvpuaYr1xuIgorI34gIiAgICAgIGlkZS1zY3NpIOWboOiAjOmcgOimgSBzcjAg5oiWIHNkYSDkuYvpoZ7oo53nva4/KSIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgKGFyZW4ndCB5b3UgdHJ5aW5nIHRvIG1vdW50IGFuIGV4dGVuZGVkIHBhcnRpdGlvbixcbiIKKyN+ICIgICAgICAgaW5zdGVhZCBvZiBzb21lIGxvZ2ljYWwgcGFydGl0aW9uIGluc2lkZT8pIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgICjmgqjmmK/lkKboqabokZfmjpvovInmk7TlhYXliIblibLljYDvvIxcbiIKKyN+ICIgICAgICDogIzpnZ7lhbbkuK3nmoTpgo/ovK/liIblibLljYAgPykiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gaXMgZm91bmQgaW4gc3lzbG9nIC0gdHJ5XG4iCisjfiAiICAgICAgIGRtZXNnIHwgdGFpbCAgb3Igc29cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICDlnKjmn5Dkupvni4Dms4HkuIvvvIxzeXNsb2cg5Lit5Y+v5Lul5om+5Yiw5pyJ55So55qE6LOH6KiKIC0g5ZiX6KmmXG4iCisjfiAiICAgICAgZG1lc2cgfCB0YWlsIOS5i+mhnuWRveS7pFxuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiBjYW4ndCByZWFkIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgIm1vdW5077yaJXM6IOeEoeazleiugOWPlui2heWNgOWhiiIKKworI34gbXNnaWQgIm1vdW50OiAlczogdW5rbm93biBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW5077yaJXM6IOS4jeaYjueahOijnee9riIKKworI34gbXNnaWQgIm1vdW50OiB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSAnJXMnIgorI34gbXNnc3RyICJtb3VudO+8muS4jeaYjueahOaqlOahiOezu+e1semhnuWei+OAjCVz44CNIgorCisjfiBtc2dpZCAibW91bnQ6IHByb2JhYmx5IHlvdSBtZWFudCAlcyIKKyN+IG1zZ3N0ciAibW91bnTvvJrmgqjnmoTmhI/mgJ3lpKfmpoLmmK8gJXMiCisKKyN+IG1zZ2lkICJtb3VudDogbWF5YmUgeW91IG1lYW50ICdpc285NjYwJz8iCisjfiBtc2dzdHIgIm1vdW5077ya5Lmf6Kix5oKo55qE5oSP5oCd5piv44CMaXNvOTY2MOOAje+8nyIKKworI34gbXNnaWQgIm1vdW50OiBtYXliZSB5b3UgbWVhbnQgJ3ZmYXQnPyIKKyN+IG1zZ3N0ciAibW91bnTvvJrkuZ/oqLHmgqjnmoTmhI/mgJ3mmK/jgIx2ZmF044CN77yfIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGhhcyB3cm9uZyBkZXZpY2UgbnVtYmVyIG9yIGZzIHR5cGUgJXMgbm90IHN1cHBvcnRlZCIKKyN+IG1zZ3N0ciAibW91bnTvvJolcyDmnInpjK/oqqTnmoToo53nva7nt6jomZ/vvIzmiJbmmK/kuI3mlK/mj7TmqpTmoYjns7vntbHpoZ7lnosgJXMiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCBmYWlscz8iCisjfiBtc2dzdHIgIm1vdW5077yaJXMg5Lim6Z2e5LiA5YCL5Y2A5aGK6KOd572u77yM6ICM5LiU5Y+W5b6X54uA5oWL5pmC5aSx5pWX77yfIgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiB0aGUga2VybmVsIGRvZXMgbm90IHJlY29nbml6ZSAlcyBhcyBhIGJsb2NrIGRldmljZVxuIgorI34gIiAgICAgICAobWF5YmUgYG1vZHByb2JlIGRyaXZlcic/KSIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW5077ya5YWn5qC454Sh5rOV6K2Y5YilICVzIOeCuuS4gOWAi+WNgOWhiuijnee9rlxuIgorI34gIiAgICAgICjkuZ/oqLHopoHnlKjjgIxtb2Rwcm9iZSBkcml2ZXLjgI0/KSIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UgKG1heWJlIHRyeSBgLW8gbG9vcCc/KSIKKyN+IG1zZ3N0ciAibW91bnTvvJolcyDkuKbpnZ7kuIDlgIvljYDloYroo53nva4gKOS5n+ioseippuippuOAjC1vIGxvb3DjgI0/KSIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW5077yaJXMg5Lim6Z2e5LiA5YCL5Y2A5aGK6KOd572uIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnTvvJolcyDkuKbpnZ7mnInmlYjnmoTljYDloYroo53nva4iCisKKyN+IG1zZ2lkICJibG9jayBkZXZpY2UgIgorI34gbXNnc3RyICLljYDloYroo53nva4gIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBtb3VudCAlcyVzIHJlYWQtb25seSIKKyN+IG1zZ3N0ciAibW91bnTvvJrnhKHms5Xku6XllK/oroDmlrnlvI/mjpvovIkgJXMlcyIKKworI34gbXNnaWQgIm1vdW50OiAlcyVzIGlzIHdyaXRlLXByb3RlY3RlZCBidXQgZXhwbGljaXQgYC13JyBmbGFnIGdpdmVuIgorI34gbXNnc3RyICJtb3VudO+8miVzJXMg54K66Ziy5a+r77yM5L2G5Y275piO56K657Wm5a6a5LqG44CMLXfjgI3ml5fmqJkiCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHJlbW91bnQgJXMlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCisjfiBtc2dzdHIgIm1vdW5077ya54Sh5rOV6YeN5paw5bCHICVzJXMg5o6b6LyJ5oiQ5Y+v6K6A5Y+v5a+r77yM5YW254K66Ziy5a+r55qEIgorCisjfiBtc2dpZCAibW91bnQ6ICVzJXMgaXMgd3JpdGUtcHJvdGVjdGVkLCBtb3VudGluZyByZWFkLW9ubHkiCisjfiBtc2dzdHIgIm1vdW5077yaJXMlcyDngrrpmLLlr6vvvIzljbPlsIfku6XllK/oroDmlrnlvI/mjpvovIkiCisKKyN+IG1zZ2lkICJtb3VudDogbm8gbWVkaXVtIGZvdW5kIG9uICVzIgorI34gbXNnc3RyICJtb3VudO+8miVzIOS4reaJvuS4jeWIsOS7u+S9leWqkumrlCIKKworI34gbXNnaWQgIm1vdW50OiBubyB0eXBlIHdhcyBnaXZlbiAtIEknbGwgYXNzdW1lIG5mcyBiZWNhdXNlIG9mIHRoZSBjb2xvblxuIgorI34gbXNnc3RyICJtb3VudO+8muaykuaciee1puWumuS7u+S9lemhnuWeiyAtIOaIkeWwh+WboOeCuuWGkuiZn+iAjOWBh+ioreaYryBuZnNcbiIKKworI34gbXNnaWQgIm1vdW50OiBubyB0eXBlIHdhcyBnaXZlbiAtIEknbGwgYXNzdW1lIGNpZnMgYmVjYXVzZSBvZiB0aGUgLy8gcHJlZml4XG4iCisjfiBtc2dzdHIgIm1vdW5077ya5rKS5pyJ57Wm5a6a5Lu75L2V6aGe5Z6LIC0g5oiR5bCH5Zug54K6IC8vIOWJjee2tOiAjOWBh+ioreaYryBjaWZzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGlnbm9yZSAlcyAodW5wYXJzYWJsZSBvZmZzZXQ9IG9wdGlvbilcbiIKKyN+IG1zZ3N0ciAi5o6b6LyJ77ya5b+955WlICVzICh1bnBhcnNhYmxlIOWBj+enuz3pgbjpoIUpXG4iCisKKyN+IG1zZ2lkICJtb3VudDogJXMgYWxyZWFkeSBtb3VudGVkIG9uICVzXG4iCisjfiBtc2dzdHIgIm1vdW5077yaJXMg5bey57aT5o6b6LyJ5YiwICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IG1vdW50IC1WICAgICAgICAgICAgICAgICA6IHByaW50IHZlcnNpb25cbiIKKyN+ICIgICAgICAgbW91bnQgLWggICAgICAgICAgICAgICAgIDogcHJpbnQgdGhpcyBoZWxwXG4iCisjfiAiICAgICAgIG1vdW50ICAgICAgICAgICAgICAgICAgICA6IGxpc3QgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorI34gIiAgICAgICBtb3VudCAtbCAgICAgICAgICAgICAgICAgOiBpZGVtLCBpbmNsdWRpbmcgdm9sdW1lIGxhYmVsc1xuIgorI34gIlNvIGZhciB0aGUgaW5mb3JtYXRpb25hbCBwYXJ0LiBOZXh0IHRoZSBtb3VudGluZy5cbiIKKyN+ICJUaGUgY29tbWFuZCBpcyBgbW91bnQgWy10IGZzdHlwZV0gc29tZXRoaW5nIHNvbWV3aGVyZScuXG4iCisjfiAiRGV0YWlscyBmb3VuZCBpbiAvZXRjL2ZzdGFiIG1heSBiZSBvbWl0dGVkLlxuIgorI34gIiAgICAgICBtb3VudCAtYSBbLXR8LU9dIC4uLiAgICAgOiBtb3VudCBhbGwgc3R1ZmYgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiICAgICAgIG1vdW50IGRldmljZSAgICAgICAgICAgICA6IG1vdW50IGRldmljZSBhdCB0aGUga25vd24gcGxhY2VcbiIKKyN+ICIgICAgICAgbW91bnQgZGlyZWN0b3J5ICAgICAgICAgIDogbW91bnQga25vd24gZGV2aWNlIGhlcmVcbiIKKyN+ICIgICAgICAgbW91bnQgLXQgdHlwZSBkZXYgZGlyICAgIDogb3JkaW5hcnkgbW91bnQgY29tbWFuZFxuIgorI34gIk5vdGUgdGhhdCBvbmUgZG9lcyBub3QgcmVhbGx5IG1vdW50IGEgZGV2aWNlLCBvbmUgbW91bnRzXG4iCisjfiAiYSBmaWxlc3lzdGVtIChvZiB0aGUgZ2l2ZW4gdHlwZSkgZm91bmQgb24gdGhlIGRldmljZS5cbiIKKyN+ICJPbmUgY2FuIGFsc28gbW91bnQgYW4gYWxyZWFkeSB2aXNpYmxlIGRpcmVjdG9yeSB0cmVlIGVsc2V3aGVyZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1iaW5kIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJvciBtb3ZlIGEgc3VidHJlZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tb3ZlIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBtb3VudCBjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2hhcmVkIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2xhdmUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1wcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtdW5iaW5kYWJsZSBkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBhbGwgdGhlIG1vdW50cyBpbiBhIG1vdW50IHN1YnRyZWVcbiIKKyN+ICJjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzbGF2ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJwcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnVuYmluZGFibGUgZGlyXG4iCisjfiAiQSBkZXZpY2UgY2FuIGJlIGdpdmVuIGJ5IG5hbWUsIHNheSAvZGV2L2hkYTEgb3IgL2Rldi9jZHJvbSxcbiIKKyN+ICJvciBieSBsYWJlbCwgdXNpbmcgIC1MIGxhYmVsICBvciBieSB1dWlkLCB1c2luZyAgLVUgdXVpZCAuXG4iCisjfiAiT3RoZXIgb3B0aW9uczogWy1uZkZyc3Z3XSBbLW8gb3B0aW9uc10gWy1wIHBhc3N3ZGZkXS5cbiIKKyN+ICJGb3IgbWFueSBtb3JlIGRldGFpbHMsIHNheSAgbWFuIDggbW91bnQgLlxuIgorI34gbXNnc3RyICIiCisjfiAi55So5rOV77yabW91bnQgLVYgICAgICAgICAgICAgICAg77ya5Y2w5Ye654mI5pysXG4iCisjfiAiICAgICAgbW91bnQgLWggICAgICAgICAgICAgICAg77ya5Y2w5Ye66YCZ5YCL6Kqq5piOXG4iCisjfiAiICAgICAgbW91bnQgICAgICAgICAgICAgICAgICAg77ya5YiX5Ye65o6b6LyJ55qE5qqU5qGI57O757WxXG4iCisjfiAiICAgICAgbW91bnQgLWwgICAgICAgICAgICAgICAg77yaaWRlbe+8jOWMheWQq+WNt+WGiuaomeexpFxuIgorI34gIuebruWJjeeCuuatouaYr+aciemXnOizh+ioiumDqOWIhuOAguS4i+WIl+aciemXnOaOm+i8ieOAglxuIgorI34gIuWRveS7pOeCuuOAjG1vdW50IFstdCBmc3R5cGVdIHNvbWV0aGluZyBzb21ld2hlcmXjgI3jgIJcbiIKKyN+ICLlnKggL2V0Yy9mc3RhYiDkuK3mib7liLDnmoTntLDnr4DkuZ/oqLHmnIPooqvnnIHnlaXjgIJcbiIKKyN+ICIgICAgICBtb3VudCAtYSBbLXR8LU9d4oCmICAg77ya5L6d5pOaIC9ldGMvZnN0YWIg5o6b6LyJ5omA5pyJ6aCF55uuXG4iCisjfiAiICAgICAgbW91bnQgZGV2aWNlICAgICAgICAgICAg77ya5pa85bey55+l5L2N572u5o6b6LyJ6KOd572uXG4iCisjfiAiICAgICAgbW91bnQgZGlyZWN0b3J5ICAgICAgICAg77ya5Zyo5q2k5o6b6LyJ5bey55+l6KOd572uXG4iCisjfiAiICAgICAgbW91bnQgLXQgdHlwZSBkZXYgZGlyICAg77ya5qiZ5rqW55qE5o6b6LyJ5ZG95LukXG4iCisjfiAi6KaB5rOo5oSP55qE5piv77yM5Lim6Z2e55yf5q2j5Zyw5o6b6LyJ6KOd572u77yM6ICM5piv5o6b6LyJ5LiA5YCLXG4iCisjfiAi5Zyo6KOd572u5Lit5om+5Yiw55qE5qqU5qGI57O757WxICjntablrprnmoTpoZ7lnosp44CCXG4iCisjfiAi5bey57aT5Y+v6KaL55qE55uu6YyE5qi55Lmf5Y+v5Lul6KKr5o6b6LyJ5Yiw5YW25LuW5Zyw5pa577yaXG4iCisjfiAiICAgICAgbW91bnQgLS1iaW5kIG9sZGRpciBuZXdkaXJcbiIKKyN+ICLmiJbmmK/np7vli5XlrZDmqLnvvJpcbiIKKyN+ICIgICAgICBtb3VudCAtLW1vdmUgb2xkZGlyIG5ld2RpclxuIgorI34gIuS5n+WPr+S7peiuiuabtOWMheWQq+ebrumMhCBkaXIg55qE5o6b6LyJ6aGe5Z6L77yaXG4iCisjfiAiICAgICAgbW91bnQgLS1tYWtlLXNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICBtb3VudCAtLW1ha2Utc2xhdmUgZGlyXG4iCisjfiAiICAgICAgbW91bnQgLS1tYWtlLXByaXZhdGUgZGlyXG4iCisjfiAiICAgICAgbW91bnQgLS1tYWtlLXVuYmluZGFibGUgZGlyXG4iCisjfiAi5YyF5ZCr55uu6YyEIGRpciDnmoTmjpvovInlrZDmqLnkuK3miYDmnInmjpvovInnmoTpoZ7lnotcbiIKKyN+ICLpg73lj6/ku6Xorormm7TvvJpcbiIKKyN+ICIgICAgICBtb3VudCAtLW1ha2UtcnNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICBtb3VudCAtLW1ha2UtcnNsYXZlIGRpclxuIgorI34gIiAgICAgIG1vdW50IC0tbWFrZS1ycHJpdmF0ZSBkaXJcbiIKKyN+ICIgICAgICBtb3VudCAtLW1ha2UtcnVuYmluZGFibGUgZGlyXG4iCisjfiAi6KOd572u5Y+v5Lul55Sx5ZCN56ix57Wm5a6a77yM5L6L5aaCIC9kZXYvaGRhMSDmiJYgL2Rldi9jZHJvbe+8jFxuIgorI34gIuaIluaYr+WIqeeUqCAtTCBsYWJlbCDntpPnlLHmqJnnsaTvvIzmiJbmmK/liKnnlKggLVUgdXVpZCDogIzntpPnlLEgdXVpZOOAglxuIgorI34gIuWFtuS7lumBuOmghe+8mlstbmZGcnN2d10gWy1vIG9wdGlvbnNdIFstcCBwYXNzd2RmZF3jgIJcbiIKKyN+ICLopoHnjbLlvpfmm7TlpJrntLDnr4DvvIzlsLHnlKggbWFuIDggbW91bnTjgIJcbiIKKworI34gbXNnaWQgIm1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorI34gbXNnc3RyICJtb3VudO+8muWPquaciSByb290IOWPr+S7pemCo+aoo+WBmiAo5pyJ5pWIIFVJRCDmmK8gJXUpIgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKKyN+IG1zZ3N0ciAibW91bnTvvJrlj6rmnIkgcm9vdCDlj6/ku6XpgqPmqKPlgZoiCisKKyN+IG1zZ2lkICJub3RoaW5nIHdhcyBtb3VudGVkIgorI34gbXNnc3RyICLmspLmnInmjpvovInku7vkvZXmnbHopb8iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gc3VjaCBwYXJ0aXRpb24gZm91bmQiCisjfiBtc2dzdHIgIm1vdW5077ya5om+5LiN5Yiw5q2k6aGe5YiG5YmyIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IGZpbmQgJXMgaW4gJXMgb3IgJXMiCisjfiBtc2dzdHIgIm1vdW5077ya54Sh5rOV5ZyoICUyJHMg5oiWICUzJHMg5Lit5om+5YiwICUxJHMiCisKKyN+IG1zZ2lkICJbbW50ZW50XTogd2FybmluZzogbm8gZmluYWwgbmV3bGluZSBhdCB0aGUgZW5kIG9mICVzXG4iCisjfiBtc2dzdHIgIlttbnRlbnRd77ya6K2m5ZGK77ya5ZyoICVzIOeahOe1kOWwvuaykuacieacgOW+jOeahOaPm+WIl+Wtl+WFg1xuIgorCisjfiBtc2dpZCAiW21udGVudF06IGxpbmUgJWQgaW4gJXMgaXMgYmFkJXNcbiIKKyN+IG1zZ3N0ciAiW21udGVudF3vvJrlnKggJTIkcyDkuK3nmoTnrKwgJTEkZCDliJfmmK/kuI3nlbbnmoQgJTMkc1xuIgorCisjfiBtc2dpZCAiOyByZXN0IG9mIGZpbGUgaWdub3JlZCIKKyN+IG1zZ3N0ciAi77yb5b+955Wl5qqU5qGI55qE5YW26aSY6YOo5YiGIgorCisjfiBtc2dpZCAibm90IGVub3VnaCBtZW1vcnkiCisjfiBtc2dzdHIgIuiomOaGtumrlOS4jei2syIKKworI34gbXNnaWQgInVtb3VudDogY29tcGlsZWQgd2l0aG91dCBzdXBwb3J0IGZvciAtZlxuIgorI34gbXNnc3RyICJ1bW91bnTvvJrnt6jora/mmYLmnKrmlK/mj7QgLWZcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVtIgorI34gbXNnc3RyICJ1bW91bnTvvJrnhKHms5XoqK3lrprnvqTntYTorZjliKXomZ/vvJolbSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBzZXQgdXNlciBpZDogJW0iCisjfiBtc2dzdHIgInVtb3VudO+8mueEoeazleioreWumuS9v+eUqOiAheitmOWIpeiZn++8miVtIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgZm9yazogJXMiCisjfiBtc2dzdHIgInVtb3VudO+8mueEoeazleihjeeUn+Wft+ihjO+8miVzIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogaW52YWxpZCBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgInVtb3VudO+8miVzOiDnhKHmlYjnmoTljYDloYroo53nva4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBub3QgbW91bnRlZCIKKyN+IG1zZ3N0ciAidW1vdW5077yaJXM6IOacquaOm+i8iSIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGNhbid0IHdyaXRlIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgInVtb3VudO+8miVzOiDnhKHms5Xlr6vlhaXotoXljYDloYoiCisKKyN+IG1zZ2lkICIiCisjfiAidW1vdW50OiAlczogZGV2aWNlIGlzIGJ1c3kuXG4iCisjfiAiICAgICAgICAoSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBhYm91dCBwcm9jZXNzZXMgdGhhdCB1c2VcbiIKKyN+ICIgICAgICAgICB0aGUgZGV2aWNlIGlzIGZvdW5kIGJ5IGxzb2YoOCkgb3IgZnVzZXIoMSkpIgorI34gbXNnc3RyICIiCisjfiAidW1vdW5077yaJXPvvJroo53nva7lv5nnoozkuK3jgIJcbiIKKyN+ICIgICAgICAgICjlnKjmn5Dkupvmg4Xms4HkuIvpl5zmlrzkvb/nlKjoqbLoo53nva7kuYvooYznqIvnmoRcbiIKKyN+ICIgICAgICAgICDmnInnlKjos4foqIrvvIzlj6/ku6Xol4nnlLEgbHNvZig4KSDmiJYgZnVzZXIoMSkg5om+5YiwKSIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG5vdCBmb3VuZCIKKyN+IG1zZ3N0ciAidW1vdW5077yaJXM6IOaJvuS4jeWIsCIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVtb3VudCIKKyN+IG1zZ3N0ciAidW1vdW5077yaJXM6IOW/hemgiOaYr+ezu+e1seeuoeeQhuiAheaJjeiDvSB1bW91bnQiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBibG9jayBkZXZpY2VzIG5vdCBwZXJtaXR0ZWQgb24gZnMiCisjfiBtc2dzdHIgInVtb3VudO+8miVzOiDljYDloYroo53nva7lnKjmqpTmoYjns7vntbHkuK3kuI3ooqvlhYHoqLEiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiAlcyIKKyN+IG1zZ3N0ciAidW1vdW5077yaJXM6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogaW50ZXJuYWwgZXJyb3I6IGludmFsaWQgYWJzIHBhdGg6ICVzIgorI34gbXNnc3RyICJ1bW91bnTvvJrlhafpg6jpjK/oqqTvvJrnhKHmlYjnmoQgYWJzIOi3r+W+ke+8miVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogZmFpbGVkIHRvIGNoZGlyIHRvICVzOiAlbSIKKyN+IG1zZ3N0ciAidW1vdW5077ya54Sh5rOVIGNoZGlyIOWIsCAlc++8miVtIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogZmFpbGVkIHRvIG9idGFpbiBjdXJyZW50IGRpcmVjdG9yeTogJW0iCisjfiBtc2dzdHIgInVtb3VudO+8mueEoeazleW+l+WIsOebruWJjeeahOebrumMhO+8miVtIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogbW91bnRwb2ludCBtb3ZlZCAoJXMgLT4gJXMpIgorI34gbXNnc3RyICJ1bW91bnTvvJptb3VudHBvaW50IOenu+WLlSAoJXMgLT4gJXMpIgorCisjLCBmdXp6eQorI34gbXNnaWQgImN1cnJlbnQgZGlyZWN0b3J5IG1vdmVkIHRvICVzXG4iCisjfiBtc2dzdHIgIuebruWJjeeahOebrumMhOenu+WLleWIsCAlc1xuIgorCisjfiBtc2dpZCAibm8gdW1vdW50MiwgdHJ5aW5nIHVtb3VudC4uLlxuIgorI34gbXNnc3RyICLmspLmnIkgdW1vdW50Miwg6Kmm6KmmIHVtb3VudOKAplxuIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBidXN5IC0gcmVtb3VudGVkIHJlYWQtb25seVxuIgorI34gbXNnc3RyICJ1bW91bnTvvJolcyDlv5nnoozkuK0gLSDlt7Lph43mlrDku6XllK/oroDmjpvovIlcbiIKKworI34gbXNnaWQgInVtb3VudDogY291bGQgbm90IHJlbW91bnQgJXMgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudO+8mueEoeazleS7peWUr+iugOmHjeaWsOaOm+i8iSAlc1xuIgorCisjfiBtc2dpZCAiJXMgaGFzIGJlZW4gdW5tb3VudGVkXG4iCisjfiBtc2dzdHIgIiVzIOW3suWNuOi8iVxuIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgZmluZCBsaXN0IG9mIGZpbGVzeXN0ZW1zIHRvIHVubW91bnQiCisjfiBtc2dzdHIgInVtb3VudO+8muaJvuS4jeWIsOWPr+WNuOi8ieaqlOahiOezu+e1seeahOWIl+ihqCIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogdW1vdW50IC1oIHwgLVZcbiIKKyN+ICIgICAgICAgdW1vdW50IC1hIFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBbLXQgdmZzdHlwZXNdIFstTyBvcHRzXVxuIgorI34gIiAgICAgICB1bW91bnQgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIHNwZWNpYWwgfCBub2RlLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLnlKjms5XvvJp1bW91bnQgLWggfCAtVlxuIgorI34gIiAgICAgIHVtb3VudCAtYSBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gWy10IHZmc3R5cGVzXSBbLU8gb3B0c11cbiIKKyN+ICIgICAgICB1bW91bnQgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIOeJueauiiB8IOevgOm7nuKAplxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSAnb2Zmc2V0PSVzJyBvcHRpb25zXG4iCisjfiBtc2dzdHIgIuWJluaekOOAjuWBj+enu+aZguWkseaVlz0lc+OAj+mBuOmghVxuIgorCisjfiBtc2dpZCAiZGV2aWNlICVzIGlzIGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICLoo53nva4gJXMg6IiHICVzIOacieaJgOmXnOiBr1xuIgorCisjfiBtc2dpZCAiZGV2aWNlICVzIGlzIG5vdCBhc3NvY2lhdGVkIHdpdGggJXNcbiIKKyN+IG1zZ3N0ciAi6KOd572uICVzIOacquiIhyAlcyDmnInmiYDpl5zoga9cbiIKKworI34gbXNnaWQgIkNhbm5vdCB1bm1vdW50IFwiXCJcbiIKKyN+IG1zZ3N0ciAi54Sh5rOV5Y246LyJ44CM44CNXG4iCisKKyN+IG1zZ2lkICJUcnlpbmcgdG8gdW5tb3VudCAlc1xuIgorI34gbXNnc3RyICLlmJfoqabljbjovIkgJXNcbiIKKworI34gbXNnaWQgInVtb3VudDogY29uZnVzZWQgd2hlbiBhbmFseXppbmcgbXRhYiIKKyN+IG1zZ3N0ciAidW1vdW5077ya5YiG5p6QIG10YWIg5pmC5oSf5Yiw5Zuw5oORIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgdW5tb3VudCAlcyAtLSAlcyBpcyBtb3VudGVkIG92ZXIgaXQgb24gdGhlIHNhbWUgcG9pbnQiCisjfiBtc2dzdHIgInVtb3VudO+8mueEoeazleWNuOi8iSAlcyAtLSAlcyDooqvmjpvovInmlrznm7jlkIzpu57kuYvkuIoiCisKKyN+IG1zZ2lkICJDb3VsZCBub3QgZmluZCAlcyBpbiBtdGFiXG4iCisjfiBtc2dzdHIgIuWcqCBtdGFiIOS4reaJvuS4jeWIsCAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogd2FybmluZzogJXMgaXMgYXNzb2NpYXRlZCB3aXRoIG1vcmUgdGhhbiBvbmUgbG9vcCBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAidW1vdW5077ya6K2m5ZGK77yaJXMg6KKr6Zec6IGv55qE6IiH6LaF6YGO5LiA5YCL6L+05ZyI6KOd572uXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGlzIG5vdCBtb3VudGVkIChhY2NvcmRpbmcgdG8gbXRhYikiCisjfiBtc2dzdHIgInVtb3VudO+8miVzIOacquaOm+i8iSAo5qC55pOaIG10YWIpIgorCisjfiBtc2dpZCAidW1vdW50OiBpdCBzZWVtcyAlcyBpcyBtb3VudGVkIG11bHRpcGxlIHRpbWVzIgorI34gbXNnc3RyICJ1bW91bnTvvJolcyDkvLzkuY7lt7LooqvlpJrmrKHmjpvovIkiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGlzIG5vdCBpbiB0aGUgZnN0YWIgKGFuZCB5b3UgYXJlIG5vdCByb290KSIKKyN+IG1zZ3N0ciAidW1vdW5077yaJXMg5Lim5LiN5ZyoIGZzdGFiIOS5i+S4rSjogIzkuJTmgqjkuI3mmK8gcm9vdCkiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIG1vdW50IGRpc2FncmVlcyB3aXRoIHRoZSBmc3RhYiIKKyN+IG1zZ3N0ciAidW1vdW5077yaJXMg5o6b6LyJ6IiHIGZzdGFiIOS4jeebuOespiIKKworI34gbXNnaWQgInVtb3VudDogb25seSAlcyBjYW4gdW5tb3VudCAlcyBmcm9tICVzIgorI34gbXNnc3RyICJ1bW91bnTvvJrlj6rmnIkgJTEkcyDlj6/ku6Xlvp4gJTMkcyDljbjovIkgJTIkcyIKKworI34gbXNnaWQgInVtb3VudDogb25seSByb290IGNhbiBkbyB0aGF0IgorI34gbXNnc3RyICJ1bW91bnTvvJrlj6rmnIkgcm9vdCDlj6/ku6XpgqPmqKPlgZoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIiUxJHMgLSBzZXRzIG9yIGdldHMgcHJvY2VzcyBpbyBzY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eS5cbiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgICUxJHMgW09QVElPTl0gLXAgUElEIFtQSUQuLi5dXG4iCisjfiAiICAlMSRzIFtPUFRJT05dIENPTU1BTkRcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAgLWMsIC0tY2xhc3MgPGNsYXNzPiAgIHNjaGVkdWxpbmcgY2xhc3MgbmFtZSBvciBudW1iZXJcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKKyN+ICIgIC1uLCAtLWNsYXNzZGF0YSA8bnVtPiBzY2hlZHVsaW5nIGNsYXNzIGRhdGFcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAwLTcgZm9yIHJlYWx0aW1lIGFuZCBiZXN0LWVmZm9ydCBjbGFzc2VzXG4iCisjfiAiICAtcCwgLS1waWQ9UElEICAgICAgICAgdmlldyBvciBtb2RpZnkgYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NcbiIKKyN+ICIgIC10LCAtLWlnbm9yZSAgICAgICAgICBpZ25vcmUgZmFpbHVyZXNcbiIKKyN+ICIgIC1WLCAtLXZlcnNpb24gICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAgLWgsIC0taGVscCAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlMSRzIC0g6ZuG5ZCI5oiW5o+Q5Y+W6JmV55CGIGlvIOaOkueoi+mhnuWIpeWSjOWEquWFiOasiuOAglxuIgorI34gIlxuIgorI34gIueUqOazle+8mlxuIgorI34gIiAgJTEkcyBb6YG46aCFXSAtcCBQSUQgW1BJRC4uLl1cbiIKKyN+ICIgICUxJHMgW+mBuOmghV0g5ZG95LukXG4iCisjfiAiXG4iCisjfiAi6YG46aCF77yaXG4iCisjfiAiICAtYywgLS1jbGFzcyA8Y2xhc3M+ICAg5o6S56iL6aGe5Yil5ZCN56ix5oiW5pW45a2XXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgMDrnhKHvvIwxOnJlYWx0aW1l77yMMjrnm6HlipvvvIwzOumWkue9rlxuIgorI34gIiAgLW4sIC0tY2xhc3NkYXRhPG51bT7mjpLnqIvpoZ7liKXos4fmlplcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAwLTcg55So5pa8IHJlYWx0aW1lIOWSjOeboeWKm+mhnuWIpVxuIgorI34gIiAgLXAsIC0tcGlkPVBJRCAgICAgICAgIOaqouimluaIluS/ruaUueW3sue2k+Wft+ihjOS4reiZleeQhlxuIgorI34gIiAgLXQsIC0taWdub3JlICAgICAgICAgIOW/veeVpeWkseaVl1xuIgorI34gIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorI34gIiAgLWgsIC0taGVscCAgICAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB0YXNrc2V0KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6KaB542y5b6X5pu05aSa6LOH6KiK6KuL5Y+D55yLIHRhc2tzZXQoMSnjgIJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDx0dHk+IFsuLi5dXG4iCisjfiBtc2dzdHIgIiAlcyBb6YG46aCFXSA8dHR5PiBbLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtcywgLS1zZXQtdGhyZXNob2xkIDxudW0+ICAgICAgICAgIHNldCBpbnRlcnJ1cHRpb24gdGhyZXNob2xkIHZhbHVlXG4iCisjfiBtc2dzdHIgIiAtcywgLS1zZXQtdGhyZXNob2xkIDxudW0+ICAgICAgICAgIOioreWumuaPkuaWt+iHqOeVjOWAvFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtUywgLS1zZXQtZGVmYXVsdC10aHJlc2hvbGQgPG51bT4gIHNldCBkZWZhdWx0IHRocmVzaG9sZCB2YWx1ZVxuIgorI34gbXNnc3RyICIgLVMsIC0tc2V0LWRlZmF1bHQtdGhyZXNob2xkIDxudW0+ICDoqK3lrprpoJDoqK3oh6jnlYzlgLxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXQsIC0tc2V0LWZsdXNoIDxudW0+ICAgICAgICAgICAgICBzZXQgZmx1c2ggdGltZW91dCB0byB2YWx1ZVxuIgorI34gbXNnc3RyICIgLXQsIC0tc2V0LWZsdXNoIDxudW0+ICAgICAgICAgICAgICDoqK3lrprmuIXnkIbpgL7mmYLliLDlgLxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVQsIC0tc2V0LWRlZmF1bHQtZmx1c2ggPG51bT4gICAgICBzZXQgdGhlIGRlZmF1bHQgZmx1c2ggdGltZW91dCB0byB2YWx1ZVxuIgorI34gbXNnc3RyICIgLVQsIC0tc2V0LWRlZmF1bHQtZmx1c2ggPG51bT4gICAgICDoqK3lrprpoJDoqK3muIXnkIbpgL7mmYLliLDlgLxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWksIC0taW50ZXJ2YWwgPHNlY29uZHM+ICAgICAgICAgICBnYXRoZXIgc3RhdGlzdGljcyBldmVyeSA8c2Vjb25kcz4gaW50ZXJ2YWxcbiIKKyN+IG1zZ3N0ciAiIC1pLCAtLWludGVydmFsIDxzZWNvbmRzPiAgICAgICAgICAg56mN6IGa57Wx6KiI5q+PPOenkj7plpPpmpRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiRmlsZSAlcywgRm9yIHRocmVzaG9sZCB2YWx1ZSAlbHUsIE1heGltdW0gY2hhcmFjdGVycyBpbiBmaWZvIHdlcmUgJWQsXG4iCisjfiAiYW5kIHRoZSBtYXhpbXVtIHRyYW5zZmVyIHJhdGUgaW4gY2hhcmFjdGVycy9zZWNvbmQgd2FzICVmIgorI34gbXNnc3RyICIiCisjfiAi5qqU5qGIICVz77yM55So5pa86Ieo55WM5YC8ICVsde+8jOacgOWkp+WAvOWtl+WFg+WcqOS4rSBmaWZvIOaYryAlZO+8jFxuIgorI34gIuWSjOacgOWkp+WAvOi9iemAgemAn+eOh+WcqOS4reWtl+WFgy/np5LmmK8gJWYiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkZpbGUgJXMsIEZvciB0aHJlc2hvbGQgdmFsdWUgJWx1IGFuZCB0aW1lb3V0IHZhbHVlICVsdSwgTWF4aW11bSBjaGFyYWN0ZXJzIGluIGZpZm8gd2VyZSAlZCxcbiIKKyN+ICJhbmQgdGhlIG1heGltdW0gdHJhbnNmZXIgcmF0ZSBpbiBjaGFyYWN0ZXJzL3NlY29uZCB3YXMgJWYiCisjfiBtc2dzdHIgIiIKKyN+ICLmqpTmoYggJXPvvIznlKjmlrzoh6jnlYzlgLwgJWx1IOWSjOmAvuaZguWAvCAlbHXvvIzmnIDlpKflgLzlrZflhYPlnKjkuK0gZmlmbyDmmK8gJWTvvIxcbiIKKyN+ICLlkozmnIDlpKflgLzovYnpgIHpgJ/njoflnKjkuK3lrZflhYMv56eS5pivICVmIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBpc3N1ZSBDWUdFVE1PTiBvbiAlcyIKKyN+IG1zZ3N0ciAi54Sh5rOV6K2w6aGMIENZR0VUTU9OIOaWvCAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRocmVzaG9sZCBmb3IgJXMiCisjfiBtc2dzdHIgIueEoeazleaPkOWPluiHqOeVjOWAvOeUqOaWvCAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRpbWVvdXQgZm9yICVzIgorI34gbXNnc3RyICLnhKHms5Xmj5Dlj5bpgL7mmYLnlKjmlrwgJXMiCisKKyN+IG1zZ2lkICIlczogJWx1IGludHMsICVsdS8lbHUgY2hhcnM7IGZpZm86ICVsdSB0aHJlc2gsICVsdSB0bW91dCwgJWx1IG1heCwgJWx1IG5vd1xuIgorI34gbXNnc3RyICIlc++8miVsdSDplpPpmpTlgLzvvIwlbHUvJWx1IOWtl+WFg+WAvO+8m2ZpZm/vvJolbHUg6Ieo55WM5YC877yMJWx1IOmAvuaZguWAvO+8jCVsdSDmnIDlpKflgLzvvIwlbHUg55W25YmN5YC8XG4iCisKKyN+IG1zZ2lkICIgICAlZiBpbnQvc2VjOyAlZiByZWMsICVmIHNlbmQgKGNoYXIvc2VjKVxuIgorI34gbXNnc3RyICIgICAlZiDplpPpmpQv56eS77ybJWYg6KiY6YyE77yMJWYg55m86YCBICjlrZflhYMv56eSKVxuIgorCisjfiBtc2dpZCAiJXM6ICVsdSBpbnRzLCAlbHUgY2hhcnM7IGZpZm86ICVsdSB0aHJlc2gsICVsdSB0bW91dCwgJWx1IG1heCwgJWx1IG5vd1xuIgorI34gbXNnc3RyICIlc++8miVsdSDplpPpmpTlgLzvvIwlbHUg5a2X5YWD5YC877ybZmlmb++8miVsdSDoh6jnlYzlgLzvvIwlbHUg6YC+5pmC5YC877yMJWx1IOacgOWkp+WAvO+8jCVsdSDnlbbliY3lgLxcbiIKKworI34gbXNnaWQgIiAgICVmIGludC9zZWM7ICVmIHJlYyAoY2hhci9zZWMpXG4iCisjfiBtc2dzdHIgIiAgICVmIOmWk+malC/np5LvvJslZiDoqJjpjIQgKOWtl+WFgy/np5IpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBpbnRlcnZhbCB2YWx1ZSIKKyN+IG1zZ3N0ciAi54Sh5pWI55qE6ZaT6ZqU5YC8IgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgaW50ZXJ2YWwgdmFsdWU6ICVkIgorI34gbXNnc3RyICLnhKHmlYjnmoTplpPpmpTlgLzvvJolZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIueEoeaViOeahOioreWumuWAvO+8miVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB2YWx1ZSIKKyN+IG1zZ3N0ciAi54Sh5pWI55qE6aCQ6Kit5YC8IgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIueEoeaViOeahOmgkOioreWAvO+8miVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgc2V0IHRpbWUgdmFsdWUiCisjfiBtc2dzdHIgIueEoeaViOeahOioreWumuaZgumWk+WAvCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAi54Sh5pWI55qE6Kit5a6a5pmC6ZaT5YC877yaJWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHRpbWUgdmFsdWUiCisjfiBtc2dzdHIgIueEoeaViOeahOmgkOioreaZgumWk+WAvCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdGltZSB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIueEoeaViOeahOmgkOioreaZgumWk+WAvO+8miVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzZXQgJXMgdG8gdGhyZXNob2xkICVkIgorI34gbXNnc3RyICLnhKHms5XoqK3lrpogJXMg5Yiw6Ieo55WM5YC8ICVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzZXQgJXMgdG8gdGltZSB0aHJlc2hvbGQgJWQiCisjfiBtc2dzdHIgIueEoeazleioreWumiAlcyDliLDmmYLplpPoh6jnlYzlgLwgJWQiCisKKyN+IG1zZ2lkICIlczogJWxkIGN1cnJlbnQgdGhyZXNob2xkIGFuZCAlbGQgY3VycmVudCB0aW1lb3V0XG4iCisjfiBtc2dzdHIgIiVz77yaJWxkIOeCuuebruWJjeiHqOeVjOWAvOS7peWPiiAlbGQg54K655uu5YmN6YC+5pmC5YC8XG4iCisKKyN+IG1zZ2lkICIlczogJWxkIGRlZmF1bHQgdGhyZXNob2xkIGFuZCAlbGQgZGVmYXVsdCB0aW1lb3V0XG4iCisjfiBtc2dzdHIgIiVz77yaJWxkIOeCuumgkOioreiHqOeVjOWAvOS7peWPiiAlbGQg54K66aCQ6Kit6YC+5pmC5YC8XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLS1ub3RpbWUgY2FuJ3QgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tY3RpbWUgb3IgLS1yZWx0aW1lIgorI34gbXNnc3RyICItLW5vdGltZSDnhKHms5Xkvb/nlKjnmoTkuIDotbfoiIcgLS1jdGltZSDmiJYgLS1yZWx0aW1lIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBpcyByZW1vdmFibGUgZGV2aWNlIgorI34gbXNnc3RyICIlc++8muaYr+WPr+enu+mZpOeahOijnee9riIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY29ubmVjdGVkIGJ5IGhvdHBsdWcgc3Vic3lzdGVtOiAlcyIKKyN+IG1zZ3N0ciAiJXPvvJrpgKPnt5rnlLEgaG90cGx1ZyDlrZDns7vntbHvvJolcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgZG9uJ3QgbW9kaWZ5IHRoZSBsZW5ndGggb2YgdGhlIGZpbGVcbiIKKyN+ICIgLXAsIC0tcHVuY2gtaG9sZSAgICBwdW5jaCBob2xlcyBpbiB0aGUgZmlsZVxuIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBvZiB0aGUgYWxsb2NhdGlvbiwgaW4gYnl0ZXNcbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgdGhlIGFsbG9jYXRpb24sIGluIGJ5dGVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLW4sIC0ta2VlcC1zaXplICAgICDkuI3kv67mlLnplbfluqbnmoTmqpTmoYhcbiIKKyN+ICIgLXAsIC0tcHVuY2gtaG9sZSAgICDmiZPlrZTmvI/mtJ7lnKjkuK3mqpTmoYhcbiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICDlgY/np7vnmoTphY3poY3vvIzlnKjkuK3kvY3lhYPntYRcbiIKKyN+ICIgLWwsIC0tbGVuZ3RoPG51bT4g6ZW35bqm55qE6YWN6aGN77yM5Zyo5Lit5L2N5YWD57WEXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidGltZW91dCBjYW5ub3QgYmUgemVybyIKKyN+IG1zZ3N0ciAi6YC+5pmC54Sh5rOV6Zu2IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCisjfiAiIC1tLCAtLW1pbmltdW0gPG51bT4gbWluaW11bSBleHRlbnQgbGVuZ3RoIHRvIGRpc2NhcmRcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBudW1iZXIgb2YgZGlzY2FyZGVkIGJ5dGVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICDlgY/np7vlnKjkuK3kvY3lhYPntYTliLDmjajmo4Tlvp5cbiIKKyN+ICIgLWwsIC0tbGVuZ3RoPG51bT4g6ZW35bqm55qE5L2N5YWD57WE5Yiw5o2o5qOE5b6e5YGP56e7XG4iCisjfiAiIC1tLCAtLW1pbmltdW08bnVtPuacgOWwj+W7tuS8uOmVt+W6puWIsOaNqOajhFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgIOWIl+WNsOaNqOajhOeahOS9jeWFg+e1hOaVuOmHj1xuIgorCisjfiBtc2dpZCAiIgorI34gIlRpbWUgZWxhcHNlZCBzaW5jZSByZWZlcmVuY2UgdGltZSBoYXMgYmVlbiAlLjZmIHNlY29uZHMuXG4iCisjfiAiRGVsYXlpbmcgZnVydGhlciB0byByZWFjaCB0aGUgbmV3IHRpbWUuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLlvp7lj4PogIPmmYLplpPotbfnrpflt7LntpPpgY4gJS42ZiDnp5LjgIJcbiIKKyN+ICLlpJrlu7bpgbLkuIDpu57ku6XpgZTliLDmlrDnmoTmmYLplpPjgIJcbiIKKworI34gbXNnaWQgIk5lZWQgdG8gaW5zZXJ0ICVkIHNlY29uZHMgYW5kIHJlZmVyIHRpbWUgYmFjayAlLjZmIHNlY29uZHMgYWdvXG4iCisjfiBtc2dzdHIgIumcgOimgeaPkuWFpSAlZCDnp5LkuKblm57muq/lj4PogIMgJS42ZiDnp5LkuYvliY3nmoTmmYLplpNcbiIKKworI34gbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tIEtER0hXQ0xLIHRvIGNoYW5nZVxuIgorI34gbXNnc3RyICLlvqrnkrDnrYnlvoXoh6ogS0RHSFdDTEsg6K6K5pu06LW355qE5pmC6ZaTXG4iCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCB0byByZWFkIHRpbWUgZmFpbGVkIgorI34gbXNnc3RyICJLREdIV0NMSyBpb2N0bCDoroDlj5bmmYLplpPlpLHmlZciCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCB0byByZWFkIHRpbWUgZmFpbGVkIGluIGxvb3AiCisjfiBtc2dzdHIgIktER0hXQ0xLIGlvY3RsIOiugOWPluaZgumWk+aWvOW+queSsOS4reWkseaVlyIKKworI34gbXNnaWQgImlvY3RsKCkgZmFpbGVkIHRvIHJlYWQgdGltZSBmcm9tICVzIgorI34gbXNnc3RyICJpb2N0bCgpIOW+niAlcyDoroDlj5bmmYLplpPlpLHmlZciCisKKyN+IG1zZ2lkICJpb2N0bCBLRFNIV0NMSyBmYWlsZWQiCisjfiBtc2dzdHIgImlvY3RsIEtEU0hXQ0xLIOWkseaVlyIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gL2Rldi90dHkxIG9yIC9kZXYvdmMvMSIKKyN+IG1zZ3N0ciAi54Sh5rOV6ZaL5ZWfIC9kZXYvdHR5MSDmiJYgL2Rldi92Yy8xIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgZmFpbGVkIgorI34gbXNnc3RyICJLREdIV0NMSyBpb2N0bCDlpLHmlZciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkIGRldmljZXNcbiIKKyN+ICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2PiBbLi4uXSAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKKyN+ICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKKyN+ICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZmluZCBmaXJzdCB1bnVzZWQgZGV2aWNlXG4iCisjfiAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcGRldj4gIHJlc2l6ZSBkZXZpY2VcbiIKKyN+ICIgLWosIC0tYXNzb2NpYXRlZCA8ZmlsZT4gICAgICAgbGlzdCBhbGwgZGV2aWNlcyBhc3NvY2lhdGVkIHdpdGggPGZpbGU+XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAg5YiX5Ye65omA5pyJ5L2/55So55qE6KOd572uXG4iCisjfiAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4gWy4uLl0gIOWNuOmbouS4gOaIluWkmuWAi+ijnee9rlxuIgorI34gIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICDljbjpm6LmiYDmnInkvb/nlKjnmoToo53nva5cbiIKKyN+ICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAg5bCL5om+5YWI5pyq5L2/55So55qE6KOd572uXG4iCisjfiAiIC1jLCAtLXNldC1jYXBhY2l0eTxsb29wZGV2PiDoqr/mlbTlpKflsI/oo53nva5cbiIKKyN+ICIgLWosIC0tYXNzb2NpYXRlZDzmqpTmoYg+ICAgICAg5YiX5Ye65omA5pyJ6KOd572u6Zec6IGv55qE6IiHPOaqlOahiD5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmaW5kIHVudXNlZCBsb29wIGRldmljZSBmYWlsZWQiCisjfiBtc2dzdHIgIuWwi+aJvuacquS9v+eUqOeahOi/tOWciOijnee9ruWkseaVlyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgZGV0YWlscyBzZWUgbHNjcHUoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLku6XnjbLlvpfmm7TlpJrntLDnr4Dlj4PnnIsgbHNjcHUgKDEp44CCXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3MuLi5dXG4iCisjfiBtc2dzdHIgIiAlcyBb6YG46aCFXSA8cHJvZ3JhbT4gW+W8leaVuC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKKyN+ICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorI34gIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorI34gIiAtdSwgLS11c2VyIDxuYW1lfGlkPiAgIGludGVycHJldCBhcmd1bWVudCBhcyB1c2VybmFtZSBvciB1c2VyIElEXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIOino+itr+WBmueCuuiZleeQhue+pOe1hOitmOWIpeiZn1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIOWIl+WNsOiqquaYjlxuIgorI34gIiAtbiwgLS1wcmlvcml0eTxudW0+ICDoqK3lrprlpb3pgZ7lop7lgLxcbiIKKyN+ICIgLXAsIC0tcGlkPOitmOWIpeiZnz4gICAgICAgIOW8t+WItueCuuino+itr+eahOWBmueCuuiZleeQhuitmOWIpeiZn1xuIgorI34gIiAtdSwgLS11c2VyPOWQjeeosXzorZjliKXomZ8+ICDop6Pora/lgZrngrrkvb/nlKjogIXlkI3nqLHmiJbkvb/nlKjogIXorZjliKXomZ9cbiIKKyN+ICIgLXYsIC0tdmVyc2lvbiAgICAgICAgICDljbDlh7rniYjmnKxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHJlbmljZSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuimgeeNsuW+l+abtOWkmuizh+ioiuiri+WPg+eciyByZW5pY2UgKDEp44CCXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzJXMgW29wdGlvbnNdIFtwcm9ncmFtIFtwcm9ncmFtIGFyZ3VtZW50c11dXG4iCisjfiBtc2dzdHIgIiAlcyVzIFvpgbjpoIVdIFvnqIvlvI8gW+eoi+W8j+W8leaVuF1dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiIC1kLCAtLWRpc2NhcmQgICAgICAgICAgZGlzY2FyZCBmcmVlZCBwYWdlcyBiZWZvcmUgdGhleSBhcmUgcmV1c2VkXG4iCisjfiAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgc2lsZW50bHkgc2tpcCBkZXZpY2VzIHRoYXQgZG8gbm90IGV4aXN0XG4iCisjfiAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIgorI34gIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorI34gIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgIGRpc3BsYXkgc3VtbWFyeSBhYm91dCB1c2VkIHN3YXAgZGV2aWNlc1xuIgorI34gIiAgICAgLS1zaG93Wz08Y29sdW1ucz5dIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKKyN+ICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncywgdXNlIHdpdGggLS1zaG93XG4iCisjfiAiICAgICAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCwgdXNlIHdpdGggLS1zaG93XG4iCisjfiAiICAgICAtLWJ5dGVzICAgICAgICAgICAgZGlzcGxheSBzd2FwIHNpemUgaW4gYnl0ZXMgaW4gLS1zaG93IG91dHB1dFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgICAg5YWo6YOo5ZWf55So5Lqk5o+b5b6eL2V0Yy9mc3RhYlxuIgorI34gIiAtZCwgLS1kaXNjYXJkICAgICAgICAgIOaNqOajhOiHqueUseeahOmggemdouS5i+WJjeWug+WAkeiiq+mHjeaWsOS9v+eUqFxuIgorI34gIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgIOWvgumdnOeahOi3s+mBjuijnee9ruipsuS4jeWtmOWcqFxuIgorI34gIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgIOmHjeaWsOWIneWni+WMluS6pOaPm+epuumWk+WmguaenOW/heimgeeahOipsVxuIgorI34gIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gIOaMh+WumuWEquWFiOasiueahOS6pOaPm+ijnee9rlxuIgorI34gIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgIOmhr+ekuuamguimgemXnOaWvOS9v+eUqOeahOS6pOaPm+ijnee9rlxuIgorI34gIiAgICAgLS1zaG93IFs9POashOS9jT5dIOmhr+ekuuamguimgeWcqOS4rSBkZWZpbmFibGUg6KGo5qC8XG4iCisjfiAiICAgICAtLW5vaGVhZGluZ3MgICAgICAg5LiN5YiX5Y2w5qiZ6aCt77yM5L2/55So6IiHIC0tc2hvd1xuIgorI34gIiAgICAgLS1yYXcgICAgICAgICAgICAgIOS9v+eUqOWOn+Wni+i8uOWHuuagvOW8j++8jOS9v+eUqOiIhyAtLXNob3dcbiIKKyN+ICIgICAgIC0tYnl0ZXMgICAgICAgICAgICDpoa/npLrkuqTmj5vlpKflsI/lnKjkuK3kvY3lhYPntYTlnKjkuK0gLS1zaG93IOi8uOWHulxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgIOips+e0sOaooeW8j1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGV0ZXJtaW5lIHNvdXJjZSIKKyN+IG1zZ3N0ciAiJXPvvJrnhKHms5XoroDlj5bpgJ/luqYiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICBvdXRwdXQgaGVscCBzY3JlZW4gYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAg6Kej6YeL5LuA6bq85q2j5Zyo5piv5bey5a6M5oiQXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICDovLjlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgIOi8uOWHuuiqquaYjueVq+mdoueEtuW+jOmboumWi1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdGVybSA8dGVybWluYWxfbmFtZT5cbiIKKyN+IG1zZ3N0ciAiICBbIC10ZXJtIHRlcm1pbmFsX25hbWVdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yZXNldFxuIgorI34gbXNnc3RyICIgIFsgLXJlc2V0IF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWluaXRpYWxpemVcbiIKKyN+IG1zZ3N0ciAiICBbIC1pbml0aWFsaXplIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWN1cnNvciA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWN1cnNvciBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yZXBlYXQgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1yZXBlYXQgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYXBwY3Vyc29ya2V5cyA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbGluZXdyYXAgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1saW5ld3JhcCBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1kZWZhdWx0XG4iCisjfiBtc2dzdHIgIiAgWyAtZGVmYXVsdCBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1pbnZlcnNlc2NyZWVuIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtaW52ZXJzZXNjcmVlbiBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1ib2xkIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtYm9sZCBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1ibGluayA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWJsaW5rIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXJldmVyc2UgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1yZXZlcnNlIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXVuZGVybGluZSA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLXVuZGVybGluZSBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1zdG9yZVxuIgorI34gbXNnc3RyICIgIFsgLXN0b3JlIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWNsZWFyIDxhbGx8cmVzdD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1jbGVhciBbYWxsfHJlc3RdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICAgICAodGFibiA9IDEtMTYwKVxuIgorI34gbXNnc3RyICIgIFsgLXRhYnMgWyB0YWIxIHRhYjIgdGFiMyDigKYgXSBdICAgICAgKHRhYm4gPSAxLTE2MClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWNscnRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICAodGFibiA9IDEtMTYwKVxuIgorI34gbXNnc3RyICIgIFsgLWNscnRhYnMgWyB0YWIxIHRhYjIgdGFiMyDigKYgXSBdICAgKHRhYm4gPSAxLTE2MClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXJlZ3RhYnMgPDEtMTYwPlxuIgorI34gbXNnc3RyICIgIFsgLXJlZ3RhYnMgWzEtMTYwXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1ibGFuayA8MC02MHxmb3JjZXxwb2tlPlxuIgorI34gbXNnc3RyICIgIFsgLWJsYW5rIFswLTYwfGZvcmNlfHBva2VdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWR1bXAgICA8MS1OUl9DT05TT0xFUz5cbiIKKyN+IG1zZ3N0ciAiICBbIC1kdW1wICAgWzEtTlJfQ09OU09MRVNdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWFwcGVuZCA8MS1OUl9DT05TT0xFUz5cbiIKKyN+IG1zZ3N0ciAiICBbIC1hcHBlbmQgWzEtTlJfQ09OU09MRVNdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWZpbGUgZHVtcGZpbGVuYW1lXG4iCisjfiBtc2dzdHIgIiAtbCAg5YiX5Ye65omA5pyJ5qqU5ZCNXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1tc2cgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1tc2cgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbXNnbGV2ZWwgPDAtOD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1tc2dsZXZlbCBbMC04XSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1wb3dlcmRvd24gPDAtNjA+XG4iCisjfiBtc2dzdHIgIiAgWyAtcG93ZXJkb3duIFswLTYwXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1ibGVuZ3RoIDwwLTIwMDA+XG4iCisjfiBtc2dzdHIgIiAgWyAtYmxlbmd0aCBbMC0yMDAwXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1iZnJlcSBmcmVxbnVtYmVyXG4iCisjfiBtc2dzdHIgIiAgWyAtYmZyZXEg6aC7546H5pW4IF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJFcnJvciB3cml0aW5nIHNjcmVlbmR1bXAiCisjfiBtc2dzdHIgIuWvq+WFpSBzY3JlZW5kdW1wIOaZgueZvOeUn+mMr+iqpCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDb3VsZG4ndCByZWFkIG5laXRoZXIgL2Rldi92Y3NhMCBub3IgL2Rldi92Y3NhIgorI34gbXNnc3RyICLnhKHms5XplovllZ8gL2Rldi90dHkxIOaIliAvZGV2L3ZjLzEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBkbyBub3QgcHJpbnQgYmFubmVyLCB3b3JrcyBvbmx5IGZvciByb290XG4iCisjfiAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIOS4jeWIl+WNsOapq+W5he+8jOS9nOeUqOWPquacieeUqOaWvOaguVxuIgorI34gIiAtdCwgLS10aW1lb3V0IDx0aW1lb3V0PiDlr6vlhaXpgL7mmYLnmoTnp5LmlbhcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICDovLjlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLnlKjms5XvvJpcbiIKKyN+ICIgJXMgW+mBuOmghV0gW+aqlOahiC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC0sICAtLW5vLXVuZGVybGluaW5nICBzdXBwcmVzcyBhbGwgdW5kZXJsaW5pbmdcbiIKKyN+ICIgLTIsIC0taGFsZi1saW5lcyAgICAgIHByaW50IGFsbCBoYWxmLWxpbmVzXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtLCAgLS1uby11bmRlcmxpbmluZyAg5oqR5Yi25omA5pyJ5bqV57eaXG4iCisjfiAiIC0yLCAtLWhhbGYtbGluZXMgICAgICDliJfljbDmiYDmnIkgaGFsZi1saW5lc1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6YG46aCF77yaXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICDovLjlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICIgJXMgW+mBuOmghV0gW+aqlOahiF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYWxsaW5nIGhleGR1bXAgYXMgb2QgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBmYXZvdXIgdG8gR05VIGNvcmV1dGlscyBvZC4iCisjfiBtc2dzdHIgIuWRvOWPqyBoZXhkdW1wIOWBmueCuiBvZCDlt7LooqvkuI3lrpznlKjlnKjkuK0gZmF2b3VyIOWIsCBHTlUgY29yZXV0aWxzIG9k44CCIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIueUqOazle+8mlxuIgorI34gIiAlcyBb6YG46aCFXSDmqpTmoYjigKZcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLWIgICAgICAgICAgICAgIG9uZS1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKKyN+ICIgLWMgICAgICAgICAgICAgIG9uZS1ieXRlIGNoYXJhY3RlciBkaXNwbGF5XG4iCisjfiAiIC1DICAgICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKKyN+ICIgLWQgICAgICAgICAgICAgIHR3by1ieXRlIGRlY2ltYWwgZGlzcGxheVxuIgorI34gIiAtbyAgICAgICAgICAgICAgdHdvLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorI34gIiAteCAgICAgICAgICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorI34gIiAtZSBmb3JtYXQgICAgICAgZm9ybWF0IHN0cmluZyB0byBiZSB1c2VkIGZvciBkaXNwbGF5aW5nIGRhdGFcbiIKKyN+ICIgLWYgZm9ybWF0X2ZpbGUgIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorI34gIiAtbiBsZW5ndGggICAgICAgaW50ZXJwcmV0IG9ubHkgbGVuZ3RoIGJ5dGVzIG9mIGlucHV0XG4iCisjfiAiIC1zIG9mZnNldCAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKKyN+ICIgLXYgICAgICAgICAgICAgIGRpc3BsYXkgd2l0aG91dCBzcXVlZXppbmcgc2ltaWxhciBsaW5lc1xuIgorI34gIiAtViAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIumBuOmghe+8mlxuIgorI34gIiAtYiAgICAgICAgICAgICAgb25lLWJ5dGUg5YWr6YCy5L2N6aGv56S6XG4iCisjfiAiIC1jICAgICAgICAgICAgICBvbmUtYnl0ZSDlrZflhYPpoa/npLpcbiIKKyN+ICIgLUMgICAgICAgICAgICAgIOasiuWogeeahOWNgeWFremAsuS9jStBU0NJSSDpoa/npLpcbiIKKyN+ICIgLWQgICAgICAgICAgICAgIHR3by1ieXRlIOWNgemAsuS9jemhr+ekulxuIgorI34gIiAtbyAgICAgICAgICAgICAgdHdvLWJ5dGUg5YWr6YCy5L2N6aGv56S6XG4iCisjfiAiIC14ICAgICAgICAgICAgICB0d28tYnl0ZSDljYHlha3pgLLkvY3poa/npLpcbiIKKyN+ICIgLWUg5qC85byPICAgICAgIOagvOW8j+Wtl+S4sueCuueUqOaWvOmhr+ekuuizh+aWmVxuIgorI34gIiAtZiBmb3JtYXRmaWxlICDmqpTmoYjoqbLlkKvmnInmoLzlvI/lrZfkuLIoX0YpXG4iCisjfiAiIC1uIOmVt+W6piAgICAgICDop6Pora/lj6rmnInplbfluqbkvY3lhYPntYTnmoTovLjlhaVcbiIKKyN+ICIgLXMg5YGP56e7ICAgICAgIOi3s+mBjuWBj+enu+S9jeWFg+e1hOW+nui1t+Wni+mDqOWIhlxuIgorI34gIiAtdiAgICAgICAgICAgICAg6aGv56S66ICM54Sh6ZyAIHNxdWVlemluZyDpoZ7kvLznmoTliJdcbiIKKyN+ICIgLVYgICAgICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIueUqOazle+8miVzIFvpgbjpoIVdIOaqlOahiOKAplxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAgLWQgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmcgYmVsbFxuIgorI34gIiAgLWYgICAgICAgIGNvdW50IGxvZ2ljYWwsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorI34gIiAgLWwgICAgICAgIHN1cHByZXNzIHBhdXNlIGFmdGVyIGZvcm0gZmVlZFxuIgorI34gIiAgLXAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGNsZWFuIHNjcmVlbiBhbmQgZGlzcGxheSB0ZXh0XG4iCisjfiAiICAtYyAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIKKyN+ICIgIC11ICAgICAgICBzdXBwcmVzcyB1bmRlcmxpbmluZ1xuIgorI34gIiAgLXMgICAgICAgIHNxdWVlemUgbXVsdGlwbGUgYmxhbmsgbGluZXMgaW50byBvbmVcbiIKKyN+ICIgIC1OVU0gICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgbGluZXMgcGVyIHNjcmVlbmZ1bFxuIgorI34gIiAgK05VTSAgICAgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBsaW5lIG51bWJlciBOVU1cbiIKKyN+ICIgICsvU1RSSU5HICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gc2VhcmNoIHN0cmluZyBtYXRjaFxuIgorI34gIiAgLVYgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICLpgbjpoIXvvJpcbiIKKyN+ICIgIC1kICAgICAgICDpoa/npLroqqrmmI7ku6Xku6Pmm7/nkrDpn7/piLRcbiIKKyN+ICIgIC1mICAgICAgICDoqIjmlbjpgo/ovK/nmoTvvIzogIzpnZ7onqLluZXliJdcbiIKKyN+ICIgIC1sICAgICAgICDmipHliLbmmqvlgZzkuYvlvozooajmoLzppYvpgIFcbiIKKyN+ICIgIC1wICAgICAgICDmipHliLbmjbLli5XvvIzmuIXpmaTonqLluZXlkozpoa/npLrmloflrZdcbiIKKyN+ICIgIC1jICAgICAgICDmipHliLbmjbLli5XvvIzpoa/npLrmloflrZflkozmuIXpmaTliJfntZDmnZ9cbiIKKyN+ICIgIC11ICAgICAgICDmipHliLblupXnt5pcbiIKKyN+ICIgIC1zICAgICAgICBzcXVlZXplIOWkmumHjeepuuWIl+mAsuWFpeS4gOWAi1xuIgorI34gIiAgLU5VTSAgICAgIOaMh+WumuWIl+iZn+eahOWQhOWFqOieouW5lVxuIgorI34gIiArTlVNICAgICAg6aGv56S65qqU5qGI6LW35aeL6YOo5YiG5b6e5YiX6JmfIE5VTVxuIgorI34gIiArL+Wtl+S4siAg6aGv56S65qqU5qGI6LW35aeL6YOo5YiG5b6e5pCc5bCL5a2X5Liy5Yy56YWNXG4iCisjfiAiICAtViAgICAgICAg6Ly45Ye654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisKKyN+IG1zZ2lkICIuLi5iYWNrIDEgcGFnZSIKKyN+IG1zZ3N0ciAi4oCm5YCS6YCAIDEg6aCBIgorCisjfiBtc2dpZCAiLi4uc2tpcHBpbmcgb25lIGxpbmUiCisjfiBtc2dzdHIgIuKApui3s+mBjiAxIOWIlyIKKworI34gbXNnaWQgImxpbmUgdG9vIGxvbmciCisjfiBtc2dzdHIgIuWIl+eahOmVt+W6pumBjumVtyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6YG46aCF77yaXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICDovLjlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcmV2KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6KaB542y5b6X5pu05aSa6LOH6KiK6KuL5Y+D55yLIHJldiAoMSnjgIJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25dIGZpbGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIueUqOazle+8mlxuIgorI34gIiAlcyBb6YG46aCFXSDmqpTmoYhcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLW4sIC0tbGluZXMgTlVNQkVSICBvdXRwdXQgdGhlIGxhc3QgTlVNQkVSIGxpbmVzXG4iCisjfiAiIC1OVU1CRVIgICAgICAgICAgICAgc2FtZSBhcyBgLW4gTlVNQkVSJ1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIumBuOmghe+8mlxuIgorI34gIiAtbiwgLS1saW5lcyDmlbjlrZcgIOi8uOWHuuacgOW+jOS4gOethuaVuOWtl+WIl1xuIgorI34gIiAtTlVNQkVSICAgICAgICAgICAgIOWmguWQjOOAji1uIOaVuOWtl+OAj1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtQSAgICAgICAgIGNoZWNrIGFsbCBmaWxlc3lzdGVtc1xuIgorI34gIiAtUiAgICAgICAgIHNraXAgcm9vdCBmaWxlc3lzdGVtOyB1c2VmdWwgb25seSB3aXRoIGAtQSdcbiIKKyN+ICIgLU0gICAgICAgICBkbyBub3QgY2hlY2sgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorI34gIiAtdCA8dHlwZT4gIHNwZWNpZnkgZmlsZXN5c3RlbSB0eXBlcyB0byBiZSBjaGVja2VkO1xuIgorI34gIiAgICAgICAgICAgICAgdHlwZSBpcyBhbGxvd2VkIHRvIGJlIGNvbW1hLXNlcGFyYXRlZCBsaXN0XG4iCisjfiAiIC1QICAgICAgICAgY2hlY2sgZmlsZXN5c3RlbXMgaW4gcGFyYWxsZWwsIGluY2x1ZGluZyByb290XG4iCisjfiAiIC1yICAgICAgICAgcmVwb3J0IHN0YXRpc3RpY3MgZm9yIGVhY2ggZGV2aWNlIGZzY2tcbiIKKyN+ICIgLXMgICAgICAgICBzZXJpYWxpemUgZnNjayBvcGVyYXRpb25zXG4iCisjfiAiIC1sICAgICAgICAgbG9jayB0aGUgZGV2aWNlIHVzaW5nIGZsb2NrKClcbiIKKyN+ICIgLU4gICAgICAgICBkbyBub3QgZXhlY3V0ZSwganVzdCBzaG93IHdoYXQgd291bGQgYmUgZG9uZVxuIgorI34gIiAtVCAgICAgICAgIGRvIG5vdCBzaG93IHRoZSB0aXRsZSBvbiBzdGFydHVwXG4iCisjfiAiIC1DIDxmZD4gICAgZGlzcGxheSBwcm9ncmVzcyBiYXI7IGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorI34gIiAtViAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiAiIC0/ICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+ICJTZWUgZnNjay4qIGNvbW1hbmRzIGZvciBmcy1vcHRpb25zLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIumBuOmghe+8mlxuIgorI34gIiAtQSAgICAgICAgIOaqouafpeaJgOacieaqlOahiOezu+e1sVxuIgorI34gIiAtUiAgICAgICAgIOi3s+mBjuagueaqlOahiOezu+e1se+8m+acieeUqOWPquacieiIh+OAji1B44CPXG4iCisjfiAiIC1NICAgICAgICAg5LiN5qqi5p+l5o6b6LyJ55qE5qqU5qGI57O757WxXG4iCisjfiAiIC10IDx0eXBlPiAg5oyH5a6a5qqU5qGI57O757Wx6aGe5Z6L54K65bey5Yu+6YG477ybXG4iCisjfiAiICAgICAgICAgICAgICDlnovmhYvooqvlhYHoqLHngrrku6XpgJfomZ/liIbpmpTnmoTmuIXllq5cbiIKKyN+ICIgLVAgICAgICAgICDmqqLmn6XmqpTmoYjns7vntbHlnKjkuK3lubPooYzvvIzljIXlkKvmoLlcbiIKKyN+ICIgLXIgICAgICAgICDloLHlkYrntbHoqIjnlKjmlrzmr4/lgIvoo53nva4gZnNja1xuIgorI34gIiAtcyAgICAgICAgIOW6j+WIl+WMliBmc2NrIOioiOeul1xuIgorI34gIiAtbCAgICAgICAgIOmOluWumuijnee9ruS9v+eUqCBmbG9jaygpXG4iCisjfiAiIC1OICAgICAgICAg5LiN5Z+36KGM77yM5YOF6aGv56S65LuA6bq85pyD5piv5bey5a6M5oiQXG4iCisjfiAiIC1UICAgICAgICAg5LiN6aGv56S65qiZ6aGM5pa85ZWf5YuVXG4iCisjfiAiIC1DPGZkPiAgIOmhr+ekuumAsuW6puahv++8m+aqlOahiOaPj+i/sOespuiZn+aYr+eUqOaWvOWcluW9ouS9v+eUqOiAheS7i+mdolxuIgorI34gIiAtViAgICAgICAgIOino+mHi+S7gOm6vOato+WcqOaYr+W3suWujOaIkFxuIgorI34gIiAtPyAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorI34gIlxuIgorI34gIuWPg+eciyBmc2NrLiog5ZG95Luk55So5pa8IGZzLW9wdGlvbnPjgIIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1kLCAtLWRpdmlzb3I9TlVNICAgICAgZGl2aWRlIGJ5dGVzIE5VTVxuIgorI34gIiAteCwgLS1zZWN0b3JzICAgICAgICAgIHNob3cgc2VjdG9yIGNvdW50IGFuZCBzaXplXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLUgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6YG46aCF77yaXG4iCisjfiAiIC1kLCAtLWRpdmlzb3I9TlVNICAgICAg6Zmk5L2N5YWD57WEIE5VTVxuIgorI34gIiAteCwgLS1zZWN0b3JzICAgICAgICAgIOmhr+ekuuejgeWNgOioiOaVuOWSjOWkp+Wwj1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorI34gIiAtSCwgLS1oZWxwICAgICAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtdCwgLS10eXBlPVRZUEUgIGZpbGUgc3lzdGVtIHR5cGUsIHdoZW4gdW5kZWZpbmVkIGV4dDIgaXMgdXNlZFxuIgorI34gIiAgICAgZnMtb3B0aW9ucyAgIHBhcmFtZXRlcnMgdG8gcmVhbCBmaWxlIHN5c3RlbSBidWlsZGVyXG4iCisjfiAiICAgICBkZXZpY2UgICAgICAgcGF0aCB0byBhIGRldmljZVxuIgorI34gIiAgICAgc2l6ZSAgICAgICAgIG51bWJlciBvZiBibG9ja3Mgb24gdGhlIGRldmljZVxuIgorI34gIiAtViwgLS12ZXJib3NlICAgIGV4cGxhaW4gd2hhdCBpcyBkb25lXG4iCisjfiAiICAgICAgICAgICAgICAgICAgZGVmaW5pbmcgLVYgbW9yZSB0aGFuIG9uY2Ugd2lsbCBjYXVzZSBhIGRyeS1ydW5cbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAgICAgICAgICAgICAgICAgIC1WIGFzIHZlcnNpb24gbXVzdCBiZSBvbmx5IG9wdGlvblxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLpgbjpoIXvvJpcbiIKKyN+ICIgLXQsIC0tdHlwZT3lnovmhYsgIOaqlOahiOezu+e1semhnuWei++8jOaZguacquWumue+qSBleHQyIOiiq+S9v+eUqFxuIgorI34gIiAgICAgZnMtb3B0aW9ucyAgIOWPg+aVuOWIsOecn+WvpuaqlOahiOezu+e1seeUoueUn+WZqFxuIgorI34gIiAgICAg6KOd572uICAgICAgIOi3r+W+keWIsOijnee9rlxuIgorI34gIiAgICAg5aSn5bCPICAgICAgICAg5Y2A5aGK5pW46YeP5Zyo5LmL5LiK6KOd572uXG4iCisjfiAiIC1WLCAtLXZlcmJvc2UgICAg6Kej6YeL5LuA6bq85piv5bey5a6M5oiQXG4iCisjfiAiICAgICAgICAgICAgICAgICAg5a6a576pIC1WIOS4gOasoeS7peS4iuWwh+mAoOaIkCBkcnktcnVuXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAg6Ly45Ye654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisjfiAiICAgICAgICAgICAgICAgICAgLVYg5YGa54K654mI5pys5b+F6aCI5piv5Y+q5pyJ6YG46aCFXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piO54S25b6M6Zui6ZaLXG4iCisKKyN+IG1zZ2lkICJta2ZzICglcylcbiIKKyN+IG1zZ3N0ciAibWtmcyAoJXMpXG4iCisKKyN+IG1zZ2lkICJzdHJ0b2wgZXJyb3I6IG51bWJlciBvZiBibG9ja3Mgbm90IHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAic3RydG9sIOmMr+iqpO+8muWNgOWhiuaVuOmHj+WwmuacquaMh+WumiIKKworI34gbXNnaWQgIm9uZSBiYWQgcGFnZVxuIgorI34gbXNnc3RyICLkuIDlgIvkuI3oia/poIHpnaJcbiIKKworI34gbXNnaWQgIiAgICAgICAgb24gd2hvbGUgZGlzay4gIgorI34gbXNnc3RyICIgICAgICAgIOaWvOaVtOWAi+ejgeein+OAgiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJkb2VzIG5vdCBzdXBwb3J0IHN3YXBzcGFjZSB2ZXJzaW9uICVkLiIKKyN+IG1zZ3N0ciAi5LiN5pSv5o+0IHN3YXBzcGFjZSDniYjmnKwgJWTjgIIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hZGQgICAgICAgICAgICBhZGQgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKKyN+ICIgLWQsIC0tZGVsZXRlICAgICAgICAgZGVsZXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgIGxpc3QgcGFydGl0aW9ucyAoREVQUkVDQVRFRClcbiIKKyN+ICIgLXMsIC0tc2hvdyAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zXG4iCisjfiAiXG4iCisjfiAiIC1iLCAtLWJ5dGVzICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCisjfiAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLXNob3dcbiIKKyN+ICIgLW4sIC0tbnIgPG46bT4gICAgICAgc3BlY2lmeSB0aGUgcmFuZ2Ugb2YgcGFydGl0aW9ucyAoZS5nLiAtLW5yIDI6NClcbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDx0eXBlPiAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorI34gIiAtUCwgLS1wYWlycyAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorI34gIiAtdCwgLS10eXBlIDx0eXBlPiAgICBzcGVjaWZ5IHRoZSBwYXJ0aXRpb24gdHlwZSAoZG9zLCBic2QsIHNvbGFyaXMsIGV0Yy4pXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1hLCAtLWFkZCAgICAgICAgICAgIOWKoOWFpeaMh+WumueahOWIhuWJsuWNgOaIluaJgOacieeahOWug+WAkVxuIgorI34gIiAtZCwgLS1kZWxldGUgICAgICAgICDliKrpmaTmjIflrprnmoTliIblibLljYDmiJbmiYDmnInnmoTlroPlgJFcbiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAg5riF5Zau5YiG5Ymy5Y2AICjkuI3lrpznlKgpXG4iCisjfiAiIC1zLCAtLXNob3cgICAgICAgICAgIOa4heWWruWIhuWJsuWNgFxuIgorI34gIlxuIgorI34gIiAtYiwgLS1ieXRlcyAgICAgICAgICDliJfljbDlpKflsI/lnKjkuK3kvY3lhYPntYTogIzpnZ7lnKjkuK3kurrpoZ4gcmVhZGFibGUg5qC85byPXG4iCisjfiAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIOS4jeWIl+WNsOaomemgreeUqOaWvCAtLXNob3dcbiIKKyN+ICIgLW4sIC0tbnIgPG46bT4gICAgICAg5oyH5a6a56+E5ZyN55qE5YiG5Ymy5Y2AKOS+i+Wmgu+8mi0tbnIgMjo0KVxuIgorI34gIiAtbywgLS1vdXRwdXQ85Z6L5oWLPiDlrprnvqnoqbLpoIXovLjlh7rmrITkvY3ku6Xkvb/nlKhcbiIKKyN+ICIgLVAsIC0tcGFpcnMgICAgICAgICAg5L2/55So6Y21PVwi5YC8XCLovLjlh7rmoLzlvI9cbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAg5L2/55So5Y6f5aeL6Ly45Ye65qC85byPXG4iCisjfiAiIC10LCAtLXR5cGU85Z6L5oWLPiAgIOaMh+WumuWIhuWJsuWNgOmhnuWeiyAoRE9T44CBYnNk44CBc29sYXJpc++8jGV0Yy4pXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgIOips+e0sOaooeW8j1xuIgorCisjfiBtc2dpZCAiV2FybmluZyEhICBVbnN1cHBvcnRlZCBHUFQgKEdVSUQgUGFydGl0aW9uIFRhYmxlKSBkZXRlY3RlZC4gVXNlIEdOVSBQYXJ0ZWQuIgorI34gbXNnc3RyICLorablkYogISEgIOWBtea4rOWIsOS4jeWPl+aUr+aPtOeahCBHUFQgKEdVSUQg5YiG5Ymy6KGoKeOAguS9v+eUqCBHTlUgUGFydGVk44CCIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0VGhlcmUgaXMgYSB2YWxpZCBBSVggbGFiZWwgb24gdGhpcyBkaXNrLlxuIgorI34gIlx0VW5mb3J0dW5hdGVseSBMaW51eCBjYW5ub3QgaGFuZGxlIHRoZXNlXG4iCisjfiAiXHRkaXNrcyBhdCB0aGUgbW9tZW50LiAgTmV2ZXJ0aGVsZXNzIHNvbWVcbiIKKyN+ICJcdGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+ICJcdDMuIEJlZm9yZSBkZWxldGluZyB0aGlzIHBoeXNpY2FsIHZvbHVtZSBiZSBzdXJlXG4iCisjfiAiXHQgICB0byByZW1vdmUgdGhlIGRpc2sgbG9naWNhbGx5IGZyb20geW91ciBBSVhcbiIKKyN+ICJcdCAgIG1hY2hpbmUuICAoT3RoZXJ3aXNlIHlvdSBiZWNvbWUgYW4gQUlYcGVydCkuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHTpgJnlgIvno4Hnop/lhbflgpnmnInmlYjnmoQgQUlYIOaomeexpOOAglxuIgorI34gIlx05LiN5bm45ZywIExpbnV4IOebruWJjeeEoeazleiZleeQhumAmeS6m1xuIgorI34gIlx056OB56Kf44CCIOWNs+S9v+WmguatpOmChOaYr+acieS4gOS6m1xuIgorI34gIlx05b+g5ZGK77yaXG4iCisjfiAiXHQxLmZkaXNrIOaWvOWvq+WFpeaZguWwh+mKt+avgOWug+eahOWFp+WuueOAglxuIgorI34gIlx0Mi7oq4vnorroqo3pgJnlgIvno4Hnop/kuKbpnZ7ku43nhLbmtLvouo1cbiIKKyN+ICJcdCAg55qE5Y235YaK576k5LmL5LiA6YOo5YiG44CCKOWQpuWJh+aCqOS5n+ioseacg1xuIgorI34gIlx0ICDlkIzmmYLmuIXpmaTkuoblhbbku5bno4Hnop/vvIzlpoLmnpzmnKrooqvpj6HlsITnmoToqbEpXG4iCisjfiAiXHQzLuWIqumZpOmAmeWAi+WvpumrlOWNt+WGiuS5i+WJjeiri+eiuuWumu+8jFxuIgorI34gIlx0ICDpgo/ovK/kuIrlvp7mgqjnmoQgQUlYIOapn+WZqFxuIgorI34gIlx0ICDnp7vpmaTno4Hnop/jgIIo6Zmk6Z2e5oKo5oiQ54K6IEFJWCDlsIjlrrYp44CCIgorCisjfiBtc2dpZCAiIgorI34gIlx0U29ycnkgLSB0aGlzIGZkaXNrIGNhbm5vdCBoYW5kbGUgQUlYIGRpc2sgbGFiZWxzLlxuIgorI34gIlx0SWYgeW91IHdhbnQgdG8gYWRkIERPUy10eXBlIHBhcnRpdGlvbnMsIGNyZWF0ZVxuIgorI34gIlx0YSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSBmaXJzdC4gKFVzZSBvLilcbiIKKyN+ICJcdFdBUk5JTkc6IFRoaXMgd2lsbCBkZXN0cm95IHRoZSBwcmVzZW50IGRpc2sgY29udGVudHMuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcdOaKseatiSAtIGZkaXNrIOeEoeazleiZleeQhiBBSVgg56OB56Kf5qiZ57Gk44CCXG4iCisjfiAiXHTlpoLmnpzmgqjopoHliqDlhaUgRE9TIOmhnuWei+WIhuWJsuWNgO+8jOiri+WFiOW7uueri1xuIgorI34gIlx05paw55qE56m6IERPUyDliIblibLooajjgIIo5L2/55SoIG8uKVxuIgorI34gIlx06K2m5ZGK77ya6YCZ5bCH6Yq35q+A54++5pyJ56OB56Kf5YWn5a6544CCXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQlNEIGxhYmVsIGZvciBkZXZpY2U6ICVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLoo53nva7nmoQgQlNEIOaomeexpO+8miVzXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJWQgaGFzIGVtcHR5IHR5cGVcbiIKKyN+IG1zZ3N0ciAi6K2m5ZGK77ya5YiG5Ymy5Y2AICVkIOacieepuueahOmhnuWei1xuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVpIGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAi5YiG5Ymy5Y2AICVpIOS4pumdnue1kOadn+aWvOejgeafsemCiueVjOOAglxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IEdQVCAoR1VJRCBQYXJ0aXRpb24gVGFibGUpIGRldGVjdGVkIG9uICclcychIFRoZSB1dGlsIGZkaXNrIGRvZXNuJ3Qgc3VwcG9ydCBHUFQuIFVzZSBHTlUgUGFydGVkLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6K2m5ZGK77ya5pa844CMJXPjgI3lgbXmuKzliLAgR1BUIChHVUlEIOWIhuWJsuihqCnvvIHlt6XlhbfnqIvlvI8gZmRpc2sg5LiN5pSv5o+0IEdQVOOAguiri+S9v+eUqCBHTlUgUGFydGVk44CCXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm90ZTogc2VjdG9yIHNpemUgaXMgJWxkIChub3QgJWQpXG4iCisjfiBtc2dzdHIgIuiou+iomO+8muejgeWNgOWkp+Wwj+aYryAlbGQgKOeEoeazlSAlZClcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBHUFQgKEdVSUQgUGFydGl0aW9uIFRhYmxlKSBkZXRlY3RlZCBvbiAnJXMnISBUaGUgdXRpbCBzZmRpc2sgZG9lc24ndCBzdXBwb3J0IEdQVC4gVXNlIEdOVSBQYXJ0ZWQuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLorablkYrvvJpHUFQgKEdVSUQg5YiG5Ymy6KGoKSDmlrzjgIwlc+OAjeWBtea4rOWIsO+8geW3peWFt+eoi+W8jyBzZmRpc2sg5LiN5pSv5o+0IEdQVOOAguS9v+eUqCBHTlUgUGFydGVk44CCXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJVc2UgdGhlIC0tZm9yY2UgZmxhZyB0byBvdmVycnVsZSB0aGlzIGNoZWNrLlxuIgorI34gbXNnc3RyICLkvb/nlKggLS1mb3JjZSDml5fmqJnku6Xpp4Hlm57pgJnlgIvmqqLmn6XjgIJcbiIKKworI34gbXNnaWQgImV4ZWMgJXMgZmFpbGVkIgorI34gbXNnc3RyICLln7fooYwgJXMg5pmC5aSx5pWXIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsXG4iCisjfiAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisjfiAiIC0tc2Vzc2lvbi1jb21tYW5kIDxjb21tYW5kPiAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvblxuIgorI34gIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgIHBhc3MgLWYgdG8gdGhlIHNoZWxsIChmb3IgY3NoIG9yIHRjc2gpXG4iCisjfiAiIC1tLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICAgZG8gbm90IHJlc2V0IGVudmlyb25tZW50IHZhcmlhYmxlc1xuIgorI34gIiAtcCAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgLW1cbiIKKyN+ICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICBydW4gc2hlbGwgaWYgL2V0Yy9zaGVsbHMgYWxsb3dzIGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICDoo73kvZzlkb3ku6TmrrznmbvlhaXlkb3ku6TmrrxcbiIKKyN+ICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICDlm57lkIjllq7kuIDlkb3ku6TliLDlkb3ku6TmrrzoiIcgLWNcbiIKKyN+ICIgLS1zZXNzaW9uLWNvbW1hbmQ85ZG95LukPiDlm57lkIjllq7kuIDlkb3ku6TliLDlkb3ku6TmrrzoiIcgLWNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDlkozkuI3lu7rnq4vmlrDnmoTkvZzmpa3pmo7mrrVcbiIKKyN+ICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICDlm57lkIggLWYg5Yiw5ZG95Luk5q68ICjnlKjmlrwgY3NoIOaIliB0Y3NoKVxuIgorI34gIiAtbSwgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCAgIOS4jemHjee9rueSsOWig+iuiuaVuFxuIgorI34gIiAtcCAgICAgICAgICAgICAgICAgICAgICAgICAgIOWmguWQjCAtbVxuIgorI34gIiAtcywgLS1zaGVsbDzlkb3ku6Tmrrw+ICAgICAgICAg6YGL6KGM5ZG95Luk5q685aaC5p6cL2V0Yy/lkb3ku6TmrrzlhYHoqLHlroNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZXhlYyBmYWlsZWQiCisjfiBtc2dzdHIgIiVz77yaZXhlYyDlpLHmlZciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVElPQ1NDVFRZOiBpb2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgIlRJT0NTQ1RUWe+8mmlvY3RsIOWkseaVlyIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbK2Zvcm1hdF0gW2RheSBtb250aCB5ZWFyXVxuIgorI34gbXNnc3RyICLnlKjms5XvvJolcyBbK2Zvcm1hdF0gW2RheSBtb250aCB5ZWFyXVxuIgorCisjfiBtc2dpZCAiU3QuIFRpYidzIERheSIKKyN+IG1zZ3N0ciAiU3QuIFRpYidzIOaXpSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1PLCAtLW9wdGlvbnMgPGxpc3Q+ICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBtb3VudCBvcHRpb25zXG4iCisjfiAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgdGhlIG91dHB1dCBjb2x1bW5zIHRvIGJlIHNob3duXG4iCisjfiAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorI34gIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgRlMgdHlwZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIOmZkOWItumbhuWQiOaqlOahiOezu+e1seeUseaOm+i8iemBuOmghVxuIgorI34gIiAtbywgLS1vdXRwdXQ85riF5ZauPiAgIOi8uOWHuuashOS9jeeCuumhr+ekulxuIgorI34gIiAtUCwgLS1wYWlycyAgICAgICAgICAgIOS9v+eUqOmNtT1cIuWAvFwi6Ly45Ye65qC85byPXG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgICAg5L2/55So5Y6f5aeL6Ly45Ye65qC85byPXG4iCisjfiAiIC10LCAtLXR5cGVzPOa4heWWrj4gICAg6ZmQ5Yi26ZuG5ZCI5qqU5qGI57O757Wx55SxIEZTIOmhnuWei1xuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLXMgc2lnbmFsIHwgLXAgXSBbIC1hIF0gcGlkIC4uLlxuIgorI34gbXNnc3RyICLnlKjms5XvvJolcyBbLXMgc2lnbmFsIHwgLXAgXSBbIC1hIF0gcGlk4oCmXG4iCisKKyN+IG1zZ2lkICIgICAgICAgJXMgLWwgWyBzaWduYWwgXVxuIgorI34gbXNnc3RyICIgICAgICAgJXMgLWwgWyBzaWduYWwgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvbm5lY3QgJXMiCisjfiBtc2dzdHIgIumAo+aOpSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIHBvcnQgbnVtYmVyIGFyZ3VtZW50IgorI34gbXNnc3RyICLnhKHmlYjnmoTln6DomZ/lvJXmlbgiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIueUqOazle+8mlxuIgorI34gIiAlcyBb6YG46aCFXSBbPGRldmljZT4uLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCisjfiAiIC1iLCAtLWJ5dGVzICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCisjfiAiIC1kLCAtLW5vZGVwcyAgICAgICAgIGRvbid0IHByaW50IHNsYXZlcyBvciBob2xkZXJzXG4iCisjfiAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHByaW50IGRpc2NhcmQgY2FwYWJpbGl0aWVzXG4iCisjfiAiIC1lLCAtLWV4Y2x1ZGUgPGxpc3Q+IGV4Y2x1ZGUgZGV2aWNlcyBieSBtYWpvciBudW1iZXIgKGRlZmF1bHQ6IFJBTSBkaXNrcylcbiIKKyN+ICIgLUksIC0taW5jbHVkZSA8bGlzdD4gc2hvdyBvbmx5IGRldmljZXMgd2l0aCBzcGVjaWZpZWQgbWFqb3IgbnVtYmVyc1xuIgorI34gIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICB1c2FnZSBpbmZvcm1hdGlvbiAodGhpcylcbiIKKyN+ICIgLWksIC0tYXNjaWkgICAgICAgICAgdXNlIGFzY2lpIGNoYXJhY3RlcnMgb25seVxuIgorI34gIiAtbSwgLS1wZXJtcyAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBwZXJtaXNzaW9uc1xuIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3VwdXRcbiIKKyN+ICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgb3V0cHV0IGNvbHVtbnNcbiIKKyN+ICIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyN+ICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKKyN+ICIgLXQsIC0tdG9wb2xvZ3kgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgdG9wb2xvZ3lcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIumBuOmghe+8mlxuIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICDliJfljbDmiYDmnInoo53nva5cbiIKKyN+ICIgLWIsIC0tYnl0ZXMgICAgICAgICAg5YiX5Y2w5aSn5bCP5Zyo5Lit5L2N5YWD57WE6ICM6Z2e5Zyo5Lit5Lq66aGeIHJlYWRhYmxlIOagvOW8j1xuIgorI34gIiAtZCwgLS1ub2RlcHMgICAgICAgICDkuI3liJfljbDlvp7lsazmiJbmiZjnm6RcbiIKKyN+ICIgLUQsIC0tZGlzY2FyZCAgICAgICAg5YiX5Y2w5o2o5qOE6IO95YqbXG4iCisjfiAiIC1lLCAtLWV4Y2x1ZGUgPGxpc3Q+IOaOkumZpOijnee9rueUseS4u+imgeeahOaVuOWtlyAo6aCQ6Kit77yaUkFNIOejgeeinylcbiIKKyN+ICIgLUksIC0taW5jbHVkZTzmuIXllq4+5Y+q6aGv56S66KOd572u6IiH5oyH5a6a55qE5Li76KaB55qE5pW46YePXG4iCisjfiAiIC1mLCAtLWZzICAgICAgICAgICAgIOi8uOWHuuizh+ioiumXnOaWvOaqlOahiOezu+e1sVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICDnlKjms5Xos4foqIogKOmAmeWAiylcbiIKKyN+ICIgLWksIC0tYXNjaWkgICAgICAgICAg5L2/55SoIGFzY2lpIOWtl+WFg+WPquaciVxuIgorI34gIiAtbSwgLS1wZXJtcyAgICAgICAgICDovLjlh7ros4foqIrpl5zmlrzmrIrpmZBcbiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAg5L2/55So5riF5Zau5qC85byPIG91cHV0XG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIOS4jeWIl+WNsOaomemgrVxuIgorI34gIiAtbywgLS1vdXRwdXQ85riF5ZauPiDovLjlh7rmrITkvY1cbiIKKyN+ICIgLVAsIC0tcGFpcnMgICAgICAgICAg5L2/55So6Y21PeOAjOWAvOOAjei8uOWHuuagvOW8j1xuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICDkvb/nlKjljp/lp4vovLjlh7rmoLzlvI9cbiIKKyN+ICIgLXMsIC0taW52ZXJzZSAgICAgICAg5Y+N5L6d5a2Y5oCnXG4iCisjfiAiIC10LCAtLXRvcG9sb2d5ICAgICAgIOi8uOWHuuizh+ioiumXnOaWvOaLk+aouFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICDovLjlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC12LCAtLXZlcmJvc2UgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICDop6Pph4vku4DpurzmraPlnKjmmK/lt7LlrozmiJBcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICDovLjlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1mIDxmaWxlPiAgZGVmaW5lIHNlYXJjaCBzY29wZVxuIgorI34gIiAtYiAgICAgICAgIHNlYXJjaCBvbmx5IGJpbmFyaWVzXG4iCisjfiAiIC1CIDxkaXJzPiAgZGVmaW5lIGJpbmFyaWVzIGxvb2t1cCBwYXRoXG4iCisjfiAiIC1tICAgICAgICAgc2VhcmNoIG9ubHkgbWFudWFsIHBhdGhzXG4iCisjfiAiIC1NIDxkaXJzPiAgZGVmaW5lIG1hbiBsb29rdXAgcGF0aFxuIgorI34gIiAtcyAgICAgICAgIHNlYXJjaCBvbmx5IHNvdXJjZXMgcGF0aFxuIgorI34gIiAtUyA8ZGlycz4gIGRlZmluZSBzb3VyY2VzIGxvb2t1cCBwYXRoXG4iCisjfiAiIC11ICAgICAgICAgc2VhcmNoIGZyb20gdW51c3VhbCBlbnRpdGllc1xuIgorI34gIiAtViAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZiA8ZmlsZT4gIOWumue+qeaQnOWwi+evhOWcjVxuIgorI34gIiAtYiAgICAgICAgIOaQnOWwi+WPquacieS6jOmAsuS9jVxuIgorI34gIiAtQjxkaXJzPiDlrprnvqnkuozpgLLkvY3mn6Xmib7ot6/lvpFcbiIKKyN+ICIgLW0gICAgICAgICDmkJzlsIvlj6rmnInmiYvli5Xot6/lvpFcbiIKKyN+ICIgLU08ZGlycz4g5a6a576pIG1hbiDmn6Xmib7ot6/lvpFcbiIKKyN+ICIgLXMgICAgICAgICDmkJzlsIvlj6rmnInljp/lp4vnorzot6/lvpFcbiIKKyN+ICIgLVM8ZGlycz4g5a6a576p5L6G5rqQ5p+l5om+6Lev5b6RXG4iCisjfiAiIC11ICAgICAgICAg5pCc5bCL5b6e5LiN5bCL5bi455qE5a+m6auUXG4iCisjfiAiIC1WICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisjfiAiIC1oICAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piO54S25b6M6Zui6ZaLXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU2VlIGhvdyB0byB1c2UgZmlsZSBhbmQgZGlycyBhcmd1bWVudHMgZnJvbSB3aGVyZWlzKDEpIG1hbnVhbC5cbiIKKyN+IG1zZ3N0ciAi5Y+D55yL5aaC5L2V5L2/55So5qqU5qGI5ZKMIGRpcnMg5byV5pW45b6e5L2N572uICgxKSDmiYvli5XjgIJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogY291bGRuJ3QgbG9jayBpbnRvIG1lbW9yeSIKKyN+IG1zZ3N0ciAi5o6b6LyJ77ya54Sh5rOV6Y6W5a6a6YCy5YWl6KiY5oa26auUIgorCisjfiBtc2dpZCAibW91bnQ6IGFyZ3VtZW50IHRvIC1wIG9yIC0tcGFzcy1mZCBtdXN0IGJlIGEgbnVtYmVyIgorI34gbXNnc3RyICJtb3VudO+8mi1wIOaIliAtLXBhc3MtZmQg55qE5byV5pW45b+F6aCI5piv5pW45a2XIgorCisjfiBtc2dpZCAiYnVnIGluIHhzdHJuZHVwIGNhbGwiCisjfiBtc2dzdHIgIuWcqCB4c3RybmR1cCDlkbzlj6vkuK3mnInnqIvlvI/pjK/oqqQiCisKKyN+IG1zZ2lkICJleGVjdXRpbmcgJXMgZmFpbGVkIgorI34gbXNnc3RyICLln7fooYwgJXMg5pmC5aSx5pWXIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGNsZWFyIHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKKyN+ICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIHJlYWQgYW5kIGNsZWFyIGFsbCBtZXNzYWdlc1xuIgorI34gIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAgZGlzYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCisjfiAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICBzaG93IHRpbWUgZGVsdGEgYmV0d2VlbiBwcmludGVkIG1lc3NhZ2VzXG4iCisjfiAiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBzaG93IGxvY2FsIHRpbWUgYW5kIHRpbWUgZGVsdGEgaW4gcmVhZGFibGUgZm9ybWF0XG4iCisjfiAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBlbmFibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorI34gIiAtRiwgLS1maWxlIDxmaWxlPiAgICAgICAgICAgdXNlIHRoZSBmaWxlIGluc3RlYWQgb2YgdGhlIGtlcm5lbCBsb2cgYnVmZmVyXG4iCisjfiAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0PiAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBmYWNpbGl0aWVzXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgZGlzcGxheSBrZXJuZWwgbWVzc2FnZXNcbiIKKyN+ICIgLWwsIC0tbGV2ZWwgPGxpc3Q+ICAgICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGxldmVsc1xuIgorI34gIiAtbiwgLS1jb25zb2xlLWxldmVsIDxsZXZlbD4gc2V0IGxldmVsIG9mIG1lc3NhZ2VzIHByaW50ZWQgdG8gY29uc29sZVxuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJhdyBtZXNzYWdlIGJ1ZmZlclxuIgorI34gIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgZm9yY2UgdG8gdXNlIHN5c2xvZygyKSByYXRoZXIgdGhhbiAvZGV2L2ttc2dcbiIKKyN+ICIgLXMsIC0tYnVmZmVyLXNpemUgPHNpemU+ICAgIGJ1ZmZlciBzaXplIHRvIHF1ZXJ5IHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKKyN+ICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHNob3cgaHVtYW4gcmVhZGFibGUgdGltZXN0YW1wIChjb3VsZCBiZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluYWNjdXJhdGUgaWYgeW91IGhhdmUgdXNlZCBTVVNQRU5EL1JFU1VNRSlcbiIKKyN+ICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIGRvbid0IHByaW50IG1lc3NhZ2VzIHRpbWVzdGFtcFxuIgorI34gIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgZGlzcGxheSB1c2Vyc3BhY2UgbWVzc2FnZXNcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICB3YWl0IGZvciBuZXcgbWVzc2FnZXNcbiIKKyN+ICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIGRlY29kZSBmYWNpbGl0eSBhbmQgbGV2ZWwgdG8gcmVhZGFibGUgc3RyaW5nXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIOa4heepuuWFp+aguOeSsOe3qeihneWNgFxuIgorI34gIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAg6K6A5Y+W5ZKM5YWo6YOo5riF6Zmk6KiK5oGvXG4iCisjfiAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICDlgZznlKjliJfljbDoqIrmga/liLDkuLvmjqfoh7pcbiIKKyN+ICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIOmhr+ekuuaZgumWkyBkZWx0YSDku4vmlrzliJfljbDnmoToqIrmga9cbiIKKyN+ICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIOmhr+ekuuacrOWcsOaZgumWk+WSjOaZgumWkyBkZWx0YSDlnKjkuK0gcmVhZGFibGUg5qC85byPXG4iCisjfiAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICDllZ/nlKjliJfljbDoqIrmga/liLDkuLvmjqfoh7pcbiIKKyN+ICIgLUYsIC0tZmlsZSA8ZmlsZT4gICAgICAgICAgIOS9v+eUqOaqlOahiOS7peS7o+abv+WFp+aguOiomOmMhOaqlOe3qeihneWNgFxuIgorI34gIiAtZiwgLS1mYWNpbGl0eTzmuIXllq4+ICAgICAg6ZmQ5Yi26Ly45Ye65Yiw5a6a576p55qE5qmf6IO9XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKyN+ICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIOmhr+ekuuWFp+aguOioiuaBr1xuIgorI34gIiAtbCwgLS1sZXZlbDzmuIXllq4+ICAgICAgICAg6ZmQ5Yi26Ly45Ye65Yiw5a6a576p55qE562J57SaXG4iCisjfiAiIC1uLCAtLWNvbnNvbGUtbGV2ZWw8562J57SaPuioreWumuetiee0mueahOioiuaBr+WIl+WNsOWIsOS4u+aOp+iHulxuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAg5YiX5Y2w5Y6f5aeL6KiK5oGv57ep6KGd5Y2AXG4iCisjfiAiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICDlvLfliLbku6Xkvb/nlKggc3lzbG9nICgyKSDogIzpnZ4vZGV2L2ttc2dcbiIKKyN+ICIgLXMsIC0tYnVmZmVyLXNpemU85aSn5bCPPiAgIOe3qeihneWNgOWkp+Wwj+WIsOafpeipouWFp+aguOeSsOe3qeihneWNgFxuIgorI34gIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAg6aGv56S65Lq66aGeIHJlYWRhYmxlIOaZgumWk+aIs+iomCAo5Y+v6IO95pivXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmFjY3VyYXRlIOWmguaenOaCqOW3suS9v+eUqOaHuOe9ri/lho3nuowpXG4iCisjfiAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICDkuI3liJfljbDoqIrmga/mmYLplpPmiLPoqJhcbiIKKyN+ICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIOmhr+ekuiB1c2Vyc3BhY2Ug6KiK5oGvXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKyN+ICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIOetieW+heaWsOioiuaBr1xuIgorI34gIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAg6Kej56K85qmf6IO95ZKM562J57Sa5YiwIHJlYWRhYmxlIOWtl+S4slxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVqZWN0OiBjYW5ub3Qgc2V0IHVzZXIgaWQiCisjfiBtc2dzdHIgIumAgOWHuu+8mueEoeazleioreWumuS9v+eUqOiAheitmOWIpeiZnyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgIHRoaXMgaGVscFxuIgorI34gIiAtZiwgLS1mcmVlemUgICAgICBmcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKKyN+ICIgLXUsIC0tdW5mcmVlemUgICAgdW5mcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICDpgJnku73oqqrmmI5cbiIKKyN+ICIgLWYsIC0tZnJlZXplICAgICAg5Zu65a6a5qqU5qGI57O757WxXG4iCisjfiAiIC11LCAtLXVuZnJlZXplICAgIHVuZnJlZXplIOaqlOahiOezu+e1sVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmc2ZyZWV6ZSg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuimgeeNsuW+l+abtOWkmuizh+ioiuiri+WPg+eciyBmc2ZyZWV6ZSg4KeOAglxuIgorCisjfiBtc2dpZCAibWF4IHNlZyBzaXplIChrYnl0ZXMpID0gJWx1XG4iCisjfiBtc2dzdHIgIuacgOWkp+izh+aWmeauteWkp+WwjyAo5Y2D5L2N5YWD57WEKSA9ICVsdVxuIgorCisjfiBtc2dpZCAibWluIHNlZyBzaXplIChieXRlcykgPSAlbHVcbiIKKyN+IG1zZ3N0ciAi5pyA5bCP6LOH5paZ5q615aSn5bCPICjkvY3lhYPntYQpID0gJWx1XG4iCisKKyN+IG1zZ2lkICJzaG1jdGwgZmFpbGVkIgorI34gbXNnc3RyICJzaG1jdGwg5aSx5pWXIgorCisjfiBtc2dpZCAibXNnY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAibXNnY3RsIOWkseaVlyIKKworI34gbXNnaWQgImNieXRlcz0lbGRcdHFieXRlcz0lbGRcdHFudW09JWxkXHRsc3BpZD0lZFx0bHJwaWQ9JWRcbiIKKyN+IG1zZ3N0ciAiY2J5dGVzPSVsZFx0cWJ5dGVzPSVsZFx0cW51bT0lbGRcdGxzcGlkPSVkXHRscnBpZD0lZFxuIgorCisjfiBtc2dpZCAic2VtY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAic2VtY3RsIOWkseaVlyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1lLCAtLWVuY3J5cHRpb24gPHR5cGU+ICAgICAgIGVuYWJsZSBlbmNyeXB0aW9uIHdpdGggc3BlY2lmaWVkIDxuYW1lL251bT5cbiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorI34gIiAgICAgLS1zaXplbGltaXQgPG51bT4gICAgICAgICBkZXZpY2UgbGltaXRlZCB0byA8bnVtPiBieXRlcyBvZiB0aGUgZmlsZVxuIgorI34gIiAtcCwgLS1wYXNzLWZkIDxudW0+ICAgICAgICAgICByZWFkIHBhc3NwaHJhc2UgZnJvbSBmaWxlIGRlc2NyaXB0b3IgPG51bT5cbiIKKyN+ICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgY3JlYXRlIHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlXG4iCisjfiAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgICAgIHNldHVwIHJlYWQtb25seSBsb29wIGRldmljZVxuIgorI34gIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSBhZnRlciBzZXR1cCAod2l0aCAtZilcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWUsIC0tZW5jcnlwdGlvbiA8dHlwZT4gICAgICAg5ZWf55So5Yqg5a+G6IiH5oyH5a6a55qEPOWQjeeosS9udW0+XG4iCisjfiAiIC1vLCAtLW9mZnNldDxudW0+ICAgICAgICAgICDplovlp4vmlrzlgY/np7s8bnVtPumAsuWFpeaqlOahiFxuIgorI34gIiAgICAgLS1zaXplbGltaXQ8bnVtPiAgICAgICAg6KOd572u6ZmQ5Yi25YiwPG51bT7kvY3lhYPntYTnmoTmqpTmoYhcbiIKKyN+ICIgLXAsIC0tcGFzcy1mZDxudW0+ICAgICAgICAgIOiugOWPluWvhuiqnuW+nuaqlOahiOaPj+i/sOespuiZnzxudW0+XG4iCisjfiAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIOW7uueri+WIhuWJsueahOi/tOWciOijnee9rlxuIgorI34gIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICDoqK3lrprllK/oroDov7TlnIjoo53nva5cbiIKKyN+ICIgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICAg5YiX5Y2w6KOd572u5ZCN56ix5LmL5b6M6Kit5a6aICjoiIcgLWYpXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIOips+e0sOaooeW8j1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgcGFzc3BocmFzZSBmaWxlIGRlc2NyaXB0b3IiCisjfiBtc2dzdHIgIueEoeaViOeahOWvhuiqnuaqlOahiOaPj+i/sOespuiZnyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyBmYWlsZWQgdG8gdXNlIGRldmljZSIKKyN+IG1zZ3N0ciAiJXMg54Sh5rOV5L2/55So6KOd572uIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvdWxkbid0IGxvY2sgaW50byBtZW1vcnkiCisjfiBtc2dzdHIgIueEoeazlemOluWumumAsuWFpeiomOaGtumrlCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IG9ubGluZSBhbmQgb2ZmbGluZSBDUFVzIChkZWZhdWx0IGZvciAtZSlcbiIKKyN+ICIgLWIsIC0tb25saW5lICAgICAgICAgICAgcHJpbnQgb25saW5lIENQVXMgb25seSAoZGVmYXVsdCBmb3IgLXApXG4iCisjfiAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iCisjfiAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgcHJpbnQgdGhpcyBoZWxwXG4iCisjfiAiIC1wLCAtLXBhcnNlWz08bGlzdD5dICAgIHByaW50IG91dCBhIHBhcnNhYmxlIGZvcm1hdFxuIgorI34gIiAtcywgLS1zeXNyb290IDxkaXI+ICAgICB1c2UgZGlyZWN0b3J5IERJUiBhcyBzeXN0ZW0gcm9vdFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBwcmludCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHByaW50IGhleGFkZWNpbWFsIG1hc2tzIHJhdGhlciB0aGFuIGxpc3RzIG9mIENQVXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICDliJfljbDnt5rkuIrlkozpm6Lnt5ogQ1BVcyAo6aCQ6Kit55So5pa8IC1lKVxuIgorI34gIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICDliJfljbDnt5rkuIogQ1BVcyDlj6rmnIkgKOmgkOioreeUqOaWvCAtcClcbiIKKyN+ICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAg5YiX5Y2w6Zui57eaIENQVXMg5Y+q5pyJXG4iCisjfiAiIC1lLCAtLWV4dGVuZGVkIFs9PGxpc3Q+XSDljbDlh7rpgLLpmo4gcmVhZGFibGUg5qC85byPXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIOWNsOWHuumAmeS7veiqquaYjlxuIgorI34gIiAtcCwgLS1wYXJzZSBbPTzmuIXllq4+XSAgICDljbDlh7ogcGFyc2FibGUg5qC85byPXG4iCisjfiAiIC1zLCAtLXN5c3Jvb3Q8ZGlyPiAgICDkvb/nlKjnm67pjIQgRElSIOWBmueCuuezu+e1seaguVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICDljbDlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKyN+ICIgLXgsIC0taGV4ICAgICAgICAgICAgICAg5YiX5Y2w5Y2B5YWt6YCy5L2N6YGu572p6ICM6Z2e5riF5Zau55qEIENQVXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIChwcm9iYWJseSB1bmtub3duIGVuY3J5cHRpb24gdHlwZSkiCisjfiBtc2dzdHIgIiVz77ya54Sh5rOV6Kit5a6a6L+05ZyI6KOd572uICjmiJboqLHkuI3mmI7liqDlr4blnovmhYspIgorCisjfiBtc2dpZCAicmVuaWNlIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAicmVuaWNlIOiHqiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLWQsIC0tZGV2aWNlIDxkZXZpY2U+ICAgIHNlbGVjdCBydGMgZGV2aWNlIChydGMwfHJ0YzF8Li4uKVxuIgorI34gIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgZG9lcyBldmVyeXRoaW5nLCBidXQgc3VzcGVuZFxuIgorI34gIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIHVzZXMgbG9jYWwgdGltZXpvbmVcbiIKKyN+ICIgLW0sIC0tbW9kZSA8bW9kZT4gICAgICAgIHN0YW5kYnl8bWVtfC4uLiBzbGVlcCBtb2RlXG4iCisjfiAiIC1zLCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iCisjfiAiIC10LCAtLXRpbWUgPHRpbWVfdD4gICAgICB0aW1lIHRvIHdha2VcbiIKKyN+ICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2VzIFVUQ1xuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtZXNzYWdlc1xuIgorI34gbXNnc3RyICIiCisjfiAiIC1kLCAtLWRldmljZSA8ZGV2aWNlPiAgICDpgbjlj5YgcnRjIOijnee9riAocnRjMHxydGMxfC4uLilcbiIKKyN+ICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIOWBmuaJgOacieadseilv++8jOS9huaYr+aHuOe9rlxuIgorI34gIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIOS9v+eUqOacrOWcsOaZguWNgFxuIgorI34gIiAtbSwgLS1tb2RlPOaooeW8jz4gICAgICAg5b6F5qmffG1lbXwuLi7mmqvlgZzmqKHlvI9cbiIKKyN+ICIgLXMsIC0tc2Vjb25kczznp5I+IOenkuWIsOaaq+WBnFxuIgorI34gIiAtdCwgLS10aW1lPHRpbWV0KF9UKT4gICAgIOaZgumWk+WIsOWWmumGklxuIgorI34gIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIOS9v+eUqCBVVENcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIOips+e0sOeahOioiuaBr1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBleGVjdXRlICVzIgorI34gbXNnc3RyICLnhKHms5Xln7fooYwgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgc2F5cyB3aGF0IG9wdGlvbnMgYXJlIGJlaW5nIHN3aXRjaGVkIG9uXG4iCisjfiAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBkaXNhYmxlcyByYW5kb21pemF0aW9uIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2VcbiIKKyN+ICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIG1ha2VzIGZ1bmN0aW9uIHBvaW50ZXJzIHBvaW50IHRvIGRlc2NyaXB0b3JzXG4iCisjfiAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICB0dXJucyBvbiBNTUFQX1BBR0VfWkVST1xuIgorI34gIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQgY2hhbmdlcyB0aGUgd2F5IHZpcnR1YWwgbWVtb3J5IGlzIGFsbG9jYXRlZFxuIgorI34gIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgdHVybnMgb24gUkVBRF9JTVBMSUVTX0VYRUNcbiIKKyN+ICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIHR1cm5zIG9uIEFERFJfTElNSVRfMzJCSVRcbiIKKyN+ICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIHR1cm5zIG9uIFNIT1JUX0lOT0RFXG4iCisjfiAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICB0dXJucyBvbiBXSE9MRV9TRUNPTkRTXG4iCisjfiAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0dXJucyBvbiBTVElDS1lfVElNRU9VVFNcbiIKKyN+ICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCisjfiAiICAgICAtLTRnYiAgICAgICAgICAgICAgICBpZ25vcmVkIChmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBvbmx5KVxuIgorI34gIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgdHVybnMgb24gVU5BTUUyNlxuIgorI34gbXNnc3RyICIiCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICDooajnpLrku4DpurzpgbjpoIXmraPlnKjooqvliIfmj5vmlrxcbiIKKyN+ICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIOWBnOeUqCByYW5kb21pemF0aW9uIOeahOiZm+aTrOS9jeWdgOepuumWk1xuIgorI34gIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAg6KO95L2c5Ye95byP5oyH5qiZ6bue5Yiw5o+P6L+w5YWDXG4iCisjfiAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICDmiZPplosgTU1BUF9QQUdFX1pFUk9cbiIKKyN+ICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IOiuiuabtOaWueW8j+iZm+aTrOiomOaGtumrlOiiq+mFjee9rlxuIgorI34gIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAg5omT6ZaLIFJFQURfSU1QTElFU19FWEVDXG4iCisjfiAiIC1CLCAtLTMyIOS9jeWFgyAgICAgICAgICAgICAg5omT6ZaLIEFERFJfTElNSVRfMzIg5L2N5YWDXG4iCisjfiAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICDmiZPplosgU0hPUlRfSU5PREVcbiIKKyN+ICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIOaJk+mWiyBXSE9MRV9TRUNPTkRTXG4iCisjfiAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICDmiZPplosgU1RJQ0tZX1RJTUVPVVRTXG4iCisjfiAiIC0zLCAtLTMgZ2IgICAgICAgICAgICAgICAg6ZmQ5bqm5L2/55So55qE5L2N5Z2A56m66ZaT5Yiw5pyA5aSn5YC855qEIDMgR0JcbiIKKyN+ICIgICAgIC0tNCBnYiAgICAgICAgICAgICAgICDlv73nlaUgKOeUqOaWvOWbnua6r+ebuOWuueaAp+WPquaciSlcbiIKKyN+ICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIOaJk+mWiyBVTkFNRTI2XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXhlY3ZwIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZXhlY3ZwIOWkseaVlyIKKworI34gbXNnaWQgImV4ZWN2IGZhaWxlZCIKKyN+IG1zZ3N0ciAiZXhlY3Yg5aSx5pWXIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgdW1vdW50IGFsbCBmaWxlc3lzdGVtc1xuIgorI34gIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKKyN+ICIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAgaWYgbW91bnRlZCBsb29wIGRldmljZSwgYWxzbyBmcmVlIHRoaXMgbG9vcCBkZXZpY2VcbiIKKyN+ICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgdW1vdW50KDIpIHN5c2NhbGxcbiIKKyN+ICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgZm9yY2UgdW5tb3VudCAoaW4gY2FzZSBvZiBhbiB1bnJlYWNoYWJsZSBORlMgc3lzdGVtKVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHVtb3VudCDmiYDmnInmqpTmoYjns7vntbFcbiIKKyN+ICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAg5LiN5q2j5YmH5YyW6Lev5b6RXG4iCisjfiAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIOWmguaenOaOm+i8ieeahOi/tOWciOijnee9ru+8jOS5n+iHqueUsemAmeWAi+i/tOWciOijnee9rlxuIgorI34gIiAgICAgLS1mYWtlICAgICAgICAgICAgICDmqKHmk6zmuKzoqabvvJvot7PpgY4gdW1vdW50ICgyKSBzeXNjYWxsXG4iCisjfiAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIOW8t+WItuWNuOi8iSAo6JCs5LiA54Sh5rOV6YCj57ea55qEIE5GUyDns7vntbEpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSB1bW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKKyN+ICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCisjfiAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGRldGFjaCB0aGUgZmlsZXN5c3RlbSBub3csIGFuZCBjbGVhbnVwIGFsbCBsYXRlclxuIgorI34gbXNnc3RyICIiCisjfiAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIOS4jeWRvOWPqyB1bW91bnTjgII8dHlwZT4g6LyU5Yqp56iL5byPXG4iCisjfiAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIOS4jeWvq+WFpS9ldGMvbXRhYlxuIgorI34gIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICDljbjpm6LmqpTmoYjns7vntbHnj77lnKjvvIzogIzmuIXnkIbmiYDmnInnqI3lvoxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorI34gIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBJbiBjYXNlIHVubW91bnRpbmcgZmFpbHMsIHRyeSB0byByZW1vdW50IHJlYWQtb25seVxuIgorI34gIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIOmZkOWItumbhuWQiOaqlOahiOezu+e1sSAo5L2/55So6IiHIC1hKVxuIgorI34gIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICDlnKjkuK3lpKflsI/lr6vljbjovInlpLHmlZfvvIzoqabokZcgcmVtb3VudCDllK/oroBcbiIKKyN+ICIgLXQsIC0tdHlwZXM85riF5ZauPiAgICAg6ZmQ5Yi26ZuG5ZCI5qqU5qGI57O757Wx6aGe5Z6LXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIOihqOekuuS7gOm6vOato+WcqOaYr+W3suWujOaIkFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLW0sIC0tbW91bnQgICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCisjfiAiIC11LCAtLXV0cyAgICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorI34gIiAtaSwgLS1pcGMgICAgICAgICB1bnNoYXJlIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKKyN+ICIgLW4sIC0tbmV0ICAgICAgICAgdW5zaGFyZSBuZXR3b3JrIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1tLCAtLW1vdW50ICAgICAgIHVuc2hhcmUg5o6b6LyJ5ZG95ZCN56m66ZaTXG4iCisjfiAiIC11LCAtLXV0cyAgICAgICAgIHVuc2hhcmUgVVRTIOWRveWQjeepuumWkyAo5Li75qmf5ZCN56ixIGV0YylcbiIKKyN+ICIgLWksIC0taXBjICAgICAgICAgdW5zaGFyZSDns7vntbEgViBJUEMg5ZG95ZCN56m66ZaTXG4iCisjfiAiIC1uLCAtLW5ldCAgICAgICAgIHVuc2hhcmUg57ay6Lev5ZG95ZCN56m66ZaTXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJS0xNXMlcyBbdmVyc2lvbiAleF1cbiIKKyN+IG1zZ3N0ciAiJS0xNXMlcyBb54mI5pysICV4XVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBhc3N1bWUgOC1iaXQgdHR5XG4iCisjfiAiIC1hLCAtLWF1dG9sb2dpbiA8dXNlcj4gICAgIGxvZ2luIHRoZSBzcGVjaWZpZWQgdXNlciBhdXRvbWF0aWNhbGx5XG4iCisjfiAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGRvIG5vdCByZXNldCBjb250cm9sIG1vZGVcbiIKKyN+ICIgLWYsIC0taXNzdWUtZmlsZSA8ZmlsZT4gICAgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCisjfiAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIGVuYWJsZSBoYXJkd2FyZSBmbG93IGNvbnRyb2xcbiIKKyN+ICIgLUgsIC0taG9zdCA8aG9zdG5hbWU+ICAgICAgc3BlY2lmeSBsb2dpbiBob3N0XG4iCisjfiAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGRvIG5vdCBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKKyN+ICIgLUksIC0taW5pdC1zdHJpbmcgPHN0cmluZz4gc2V0IGluaXQgc3RyaW5nXG4iCisjfiAiIC1sLCAtLWxvZ2luLXByb2dyYW0gPGZpbGU+IHNwZWNpZnkgbG9naW4gcHJvZ3JhbVxuIgorI34gIiAtTCwgLS1sb2NhbC1saW5lICAgICAgICAgICBmb3JjZSBsb2NhbCBsaW5lXG4iCisjfiAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCisjfiAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGRvIG5vdCBwcm9tcHQgZm9yIGxvZ2luXG4iCisjfiAiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPG9wdHM+IG9wdGlvbnMgdGhhdCBhcmUgcGFzc2VkIHRvIGxvZ2luXG4iCisjfiAiIC1wLCAtLWxvZ2lucGF1c2UgICAgICAgICAgIHdhaXQgZm9yIGFueSBrZXkgYmVmb3JlIHRoZSBsb2dpblxuIgorI34gIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICBkbyB2aXJ0dWFsbHkgaGFuZ3VwIG9uIHRoZSB0dHlcbiIKKyN+ICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgdHJ5IHRvIGtlZXAgYmF1ZCByYXRlIGFmdGVyIGJyZWFrXG4iCisjfiAiIC10LCAtLXRpbWVvdXQgPG51bWJlcj4gICAgIGxvZ2luIHByb2Nlc3MgdGltZW91dFxuIgorI34gIiAtVSwgLS1kZXRlY3QtY2FzZSAgICAgICAgICBkZXRlY3QgdXBwZXJjYXNlIHRlcm1pbmFsXG4iCisjfiAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIHdhaXQgY2FycmlhZ2UtcmV0dXJuXG4iCisjfiAiICAgICAtLW5vY2xlYXIgICAgICAgICAgICAgIGRvIG5vdCBjbGVhciB0aGUgc2NyZWVuIGJlZm9yZSBwcm9tcHRcbiIKKyN+ICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAgZG8gbm90IHByaW50IGhpbnRzXG4iCisjfiAiICAgICAtLW5vbmV3bGluZSAgICAgICAgICAgIGRvIG5vdCBwcmludCBhIG5ld2xpbmUgYmVmb3JlIGlzc3VlXG4iCisjfiAiICAgICAtLW5vLWhvc3RuYW1lICAgICAgICAgIG5vIGhvc3RuYW1lIGF0IGFsbCB3aWxsIGJlIHNob3duXG4iCisjfiAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIHNob3cgZnVsbCBxdWFsaWZpZWQgaG9zdG5hbWVcbiIKKyN+ICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIumBuOmghe+8mlxuIgorI34gIiAtOCwgLS04IOS9jeWFgyAgICAgICAgICAgICAgICDlgYfoqK0gOC1iaXQgdHR5XG4iCisjfiAiIC1hLCAtLWF1dG9sb2dpbiA8dXNlcj4gICAgIOeZu+WFpeaMh+WumueahOS9v+eUqOiAheiHquWLlVxuIgorI34gIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICDkuI3ph43nva7mjqfliLbmqKHlvI9cbiIKKyN+ICIgLWYsIC0taXNzdWUtZmlsZTzmqpTmoYg+ICAg6aGv56S66K2w6aGM5qqU5qGIXG4iCisjfiAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIOWVn+eUqOehrOmrlOa1gemHj+aOp+WItlxuIgorI34gIiAtSCwgLS1ob3N0POS4u+apn+WQjeeosT4gICAgIOaMh+WumueZu+WFpeS4u+apn1xuIgorI34gIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICDkuI3poa/npLrorbDpoYzmqpTmoYhcbiIKKyN+ICIgLUksIC0taW5pdC1zdHJpbmc85a2X5LiyPuioreWumiBpbml0IOWtl+S4slxuIgorI34gIiAtbCwgLS1sb2dpbi1wcm9ncmFtPOaqlOahiD7mjIflrprnmbvlhaXnqIvlvI9cbiIKKyN+ICIgLUwsIC0tbG9jYWwtbGluZSAgICAgICAgICAg5by35Yi25pys5Zyw5YiXXG4iCisjfiAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIOaKveWHuumukeeOh+WcqOeahOacn+mWk+mAo+aOpVxuIgorI34gIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICDkuI3mj5DnpLrnlKjmlrznmbvlhaVcbiIKKyN+ICIgLW8sIC0tbG9naW4tb3B0aW9uczxvcHRzPumBuOmgheaJgOWCs+mBnuWIsOeZu+WFpVxuIgorI34gIiAtcCwgLS1sb2dpbnBhdXNlICAgICAgICAgICDnrYnlvoXku7vkvZXpjbXkuYvliY3nmbvlhaVcbiIKKyN+ICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAg5YGa6Jmb5pOs5o6b5pa35Zyo5LmL5LiKIHR0eVxuIgorI34gIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICDoqabokZfkv53mjIHprpHnjofkuYvlvozkuK3mlrdcbiIKKyN+ICIgLXQsIC0tdGltZW91dDzmlbjlrZc+ICAgIOeZu+WFpeeoi+W6j+mAvuaZglxuIgorI34gIiAtVSwgLS1kZXRlY3QtY2FzZSAgICAgICAgICDlgbXmuKzlpKflr6vntYLnq6/mqZ9cbiIKKyN+ICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAg562J5b6F5o+b5YiX5a2X5YWDXG4iCisjfiAiICAgICAtLW5vY2xlYXIgICAgICAgICAgICAgIOS4jea4heepuuieouW5leS5i+WJjeaPkOekulxuIgorI34gIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICDkuI3liJfljbDmj5DnpLpcbiIKKyN+ICIgICAgIC0tbm9uZXdsaW5lICAgICAgICAgICAg5LiN5YiX5Y2w5paw5YiX5a2X5YWD5LmL5YmN6K2w6aGMXG4iCisjfiAiICAgICAtLW5vLWhvc3RuYW1lICAgICAgICAgIOaykuacieS4u+apn+WQjeeoseaWvOaJgOacieWwh+aYr+mhr+ekulxuIgorI34gIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICDpoa/npLrlhajpg6jntpPos4fmoLzkv67po77kuLvmqZ/lkI3nqLFcbiIKKyN+ICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisjfiAiICAgICAtLWhlbHAgICAgICAgICAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAidXNlcnMiCisjfiBtc2dzdHIgIuS9v+eUqOiAhSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC10ZXJtIDx0ZXJtaW5hbF9uYW1lPlxuIgorI34gIiAtcmVzZXRcbiIKKyN+ICIgLWluaXRpYWxpemVcbiIKKyN+ICIgLWN1cnNvciA8b258b2ZmPlxuIgorI34gIiAtcmVwZWF0IDxvbnxvZmY+XG4iCisjfiAiIC1hcHBjdXJzb3JrZXlzIDxvbnxvZmY+XG4iCisjfiAiIC1saW5ld3JhcCA8b258b2ZmPlxuIgorI34gIiAtZGVmYXVsdFxuIgorI34gIiAtZm9yZWdyb3VuZCA8YmxhY2t8Ymx1ZXxncmVlbnxjeWFufHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZXxkZWZhdWx0PlxuIgorI34gIiAtYmFja2dyb3VuZCA8YmxhY2t8Ymx1ZXxncmVlbnxjeWFufHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZXxkZWZhdWx0PlxuIgorI34gIiAtdWxjb2xvciA8YmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW58cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlPlxuIgorI34gIiAtdWxjb2xvciA8YnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbnxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGU+XG4iCisjfiAiIC1oYmNvbG9yIDxibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbnxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGU+XG4iCisjfiAiIC1oYmNvbG9yIDxicmlnaHQgYmx1ZXxncmVlbnxjeWFufHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZT5cbiIKKyN+ICIgLWludmVyc2VzY3JlZW4gPG9ufG9mZj5cbiIKKyN+ICIgLWJvbGQgPG9ufG9mZj5cbiIKKyN+ICIgLWhhbGYtYnJpZ2h0IDxvbnxvZmY+XG4iCisjfiAiIC1ibGluayA8b258b2ZmPlxuIgorI34gIiAtcmV2ZXJzZSA8b258b2ZmPlxuIgorI34gIiAtdW5kZXJsaW5lIDxvbnxvZmY+XG4iCisjfiAiIC1zdG9yZSA+XG4iCisjfiAiIC1jbGVhciA8YWxsfHJlc3Q+XG4iCisjfiAiIC10YWJzIDwgdGFiMSB0YWIyIHRhYjMgLi4uID4gICAgICAodGFibiA9IDEtMTYwKVxuIgorI34gIiAtY2xydGFicyA8IHRhYjEgdGFiMiB0YWIzIC4uLiA+ICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+ICIgLXJlZ3RhYnMgPDEtMTYwPlxuIgorI34gIiAtYmxhbmsgPDAtNjB8Zm9yY2V8cG9rZT5cbiIKKyN+ICIgLWR1bXAgICA8MS1OUl9DT05TT0xFUz5cbiIKKyN+ICIgLWFwcGVuZCA8MS1OUl9DT05TT0xFUz5cbiIKKyN+ICIgLWZpbGUgZHVtcGZpbGVuYW1lXG4iCisjfiAiIC1tc2cgPG9ufG9mZj5cbiIKKyN+ICIgLW1zZ2xldmVsIDwwLTg+XG4iCisjfiAiIC1wb3dlcnNhdmUgPG9ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmY+XG4iCisjfiAiIC1wb3dlcmRvd24gPDAtNjA+XG4iCisjfiAiIC1ibGVuZ3RoIDwwLTIwMDA+XG4iCisjfiAiIC1iZnJlcSBmcmVxbnVtYmVyXG4iCisjfiAiIC12ZXJzaW9uXG4iCisjfiAiIC1oZWxwXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXRlcm0gPHRlcm1pbmFsX25hbWU+XG4iCisjfiAiIC1yZXNldFxuIgorI34gIiAtaW5pdGlhbGl6ZVxuIgorI34gIiAtY3Vyc29yPOaWvHzpl5zplok+XG4iCisjfiAiIC1yZXBlYXQ85pa8fOmXnOmWiT5cbiIKKyN+ICIgLWFwcGN1cnNvcmtleXM85pa8fOmXnOmWiT5cbiIKKyN+ICIgLWxpbmV3cmFwPOaWvHzpl5zplok+XG4iCisjfiAiIC1kZWZhdWx0XG4iCisjfiAiIC1mb3JlZ3JvdW5kPOm7keiJsnzol43oibJ857ag6ImyfOmdkuiJsnzntIXoibJ85rSL57SFfOm7g+iJsnznmb3oibJ86aCQ6KitPlxuIgorI34gIiAtYmFja2dyb3VuZDzpu5HoibJ86JeN6ImyfOe2oOiJsnzpnZLoibJ857SF6ImyfOa0i+e0hXzpu4PoibJ855m96ImyfOmgkOiorT5cbiIKKyN+ICIgLXVsY29sb3I86buR6ImyfOeBsOiJsnzol43oibJ857ag6ImyfOmdkuiJsnzntIXoibJ85rSL57SFfOm7g+iJsnznmb3oibI+XG4iCisjfiAiIC11bGNvbG9yPOaYjuS6ruiXjeiJsnzntqDoibJ86Z2S6ImyfOe0heiJsnzmtIvntIV86buD6ImyfOeZveiJsj5cbiIKKyN+ICIgLWhiY29sb3I86buR6ImyfOeBsOiJsnzol43oibJ857ag6ImyfOmdkuiJsnzntIXoibJ85rSL57SFfOm7g+iJsnznmb3oibI+XG4iCisjfiAiIC1oYmNvbG9yPOaYjuS6ruiXjeiJsnzntqDoibJ86Z2S6ImyfOe0heiJsnzmtIvntIV86buD6ImyfOeZveiJsj5cbiIKKyN+ICIgLWludmVyc2VzY3JlZW485pa8fOmXnOmWiT5cbiIKKyN+ICIgLWJvbGQ85pa8fOmXnOmWiT5cbiIKKyN+ICIgLWhhbGYtYnJpZ2h0POaWvHzpl5zplok+XG4iCisjfiAiIC1ibGluazzmlrx86Zec6ZaJPlxuIgorI34gIiAtcmV2ZXJzZTzmlrx86Zec6ZaJPlxuIgorI34gIiAtdW5kZXJsaW5lPOaWvHzpl5zplok+XG4iCisjfiAiIC1zdG9yZT5cbiIKKyN+ICIgLWNsZWFyPOaJgOaciXzlhbbppJjnmoQ+XG4iCisjfiAiIC10YWJzPHRhYjEgdGFiMiB0YWIz4oCmPiAgICAgKHRhYm49MS0xNjApXG4iCisjfiAiIC1jbHJ0YWJzPHRhYjEgdGFiMiB0YWIz4oCmPiAgKHRhYm49MS0xNjApXG4iCisjfiAiIC1yZWd0YWJzIDwxLTE2MD5cbiIKKyN+ICIgLWJsYW5rIDwwLTYwfCDlvLfliLZ8cG9rZT5cbiIKKyN+ICIgLWR1bXAgICA8MS1OUl9DT05TT0xFUz5cbiIKKyN+ICIgLWFwcGVuZCA8MS1OUl9DT05TT0xFUz5cbiIKKyN+ICIgLWZpbGUgZHVtcGZpbGVuYW1lXG4iCisjfiAiIC1tc2c85pa8fOmXnOmWiT5cbiIKKyN+ICIgLW1zZ2xldmVsIDwwLTg+XG4iCisjfiAiIC1wb3dlcnNhdmU85pa8fHZzeW5jfGhzeW5jfHBvd2VyZG93bnzpl5zplok+XG4iCisjfiAiIC1wb3dlcmRvd24gPDAtNjA+XG4iCisjfiAiIC1ibGVuZ3RoIDwwLTIwMDA+XG4iCisjfiAiIC1iZnJlcSBmcmVxbnVtYmVyXG4iCisjfiAiIC12ZXJzaW9uXG4iCisjfiAiIC1oZWxwXG4iCisKKyN+IG1zZ2lkICJ0b28gbWFueSBpb3YncyAoY2hhbmdlIGNvZGUgaW4gd2FsbC90dHltc2cuYykiCisjfiBtc2dzdHIgIuWkquWkmiBpb3YncyAo6K6K5pu0IHdhbGwvdHR5bXNnLmMg5Lit55qE57eo56K8KSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvci4iCisjfiBtc2dzdHIgIuWvq+WFpemMr+iqpOOAgiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLnlKjms5XvvJolcyBb6YG46aCFXSBb5qqU5qGILi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgIGRpc3BsYXlzIHRoaXMgaGVscCB0ZXh0XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtYywgLS1jb2x1bW5zIDx3aWR0aD4gICAgd2lkdGggb2Ygb3V0cHV0IGluIG51bWJlciBvZiBjaGFyYWN0ZXJzXG4iCisjfiAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICBjcmVhdGUgYSB0YWJsZVxuIgorI34gIiAtcywgLS1zZXBhcmF0b3IgPHN0cmluZz4gdGFibGUgZGVsaW1ldGVyXG4iCisjfiAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICBmaWxsIHJvd3MgYmVmb3JlIGNvbHVtbnNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piO5paH5a2XXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKyN+ICIgLWMsIC0tY29sdW1ucyA8d2lkdGg+ICAgIOWvrOW6pueahOi8uOWHuuWcqOS4reWtl+WFg+aVuOeahFxuIgorI34gIiAtdCwgLS10YWJsZSAgICAgICAgICAgICAg5bu656uL6KGo5qC8XG4iCisjfiAiIC1zLCAtLXNlcGFyYXRvcjzlrZfkuLI+6KGo5qC8IGRlbGltZXRlclxuIgorI34gIiAteCwgLS1maWxscm93cyAgICAgICAgICAg5aGr5YWF5YiX5LmL5YmN5qyE5L2NXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBjb2x1bW4oMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLopoHnjbLlvpfmm7TlpJros4foqIroq4vlj4PnnIvmrIQgKDEp44CCXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW9yZSAoJXMpXG4iCisjfiBtc2dzdHIgIuabtOWkmiAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGUuLi5dXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLnlKjms5XvvJpcbiIKKyN+ICIgJXMgW+mBuOmghV0gW+aqlOahiC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLXQsIC0tdGVybWluYWwgVEVSTUlOQUwgICAgb3ZlcnJpZGUgdGhlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKKyN+ICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgdW5kZXJsaW5pbmcgaXMgaW5kaWNhdGVkIHZpYSBhIHNlcGFyYXRlIGxpbmVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIumBuOmghe+8mlxuIgorI34gIiAtdCwgLS10ZXJtaW5hbCDntYLnq6/mqZ8gICAg5by35Yi26K6K5pu055So6Kqe55Kw5aKD6K6K5pW4XG4iCisjfiAiIC1pLCAtLWluZGljYXRlZCAgICAgICAgICAgIOW6lee3muiiq+aMh+WHuumAj+mBjuWIhumalOWIl1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piO54S25b6M6Zui6ZaLXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICVzIC1WXG4iCisjfiBtc2dzdHIgIiAgJXMgLVZcbiIKKworI34gbXNnaWQgIiAgJXMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisjfiBtc2dzdHIgIiAgJXMgLS1yZXBvcnQgW+ijnee9rl1cbiIKKworI34gbXNnaWQgIiAgJXMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisjfiBtc2dzdHIgIiAgJXMgWy12fC1xXSDlkb3ku6Too53nva5cbiIKKworI34gbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbiAlc1xuIgorI34gbXNnc3RyICIlc++8mueEoeazlemWi+WVnyAlc1xuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLW4gXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAi55So5rOV77yaJXMgWy1uXSDoo53nva5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWy1odl0gWy14IGRpcl0gZmlsZVxuIgorI34gIiAtaCAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorI34gIiAteCBkaXIgICAgIGV4dHJhY3QgaW50byBkaXJcbiIKKyN+ICIgLXYgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKKyN+ICIgZmlsZSAgICAgICBmaWxlIHRvIHRlc3RcbiIKKyN+IG1zZ3N0ciAiIgorI34gIueUqOazle+8miVzIFstaHZdIFsteCBkaXJdIGZpbGVcbiIKKyN+ICIgLWggICAgICAgICDljbDlh7rpgJnlgIvoqqrmmI5cbiIKKyN+ICIgLXggZGlyICAgICDop6PplovliLDnm67pjIRcbiIKKyN+ICIgLXYgICAgICAgICDmm7ToqbPntLDnmoToqIrmga9cbiIKKyN+ICIgZmlsZSAgICAgICDnlKjkvobmuKzoqabnmoTmqpTmoYhcbiIKKworI34gbXNnaWQgIm1hbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgIm1hbGxvYyDlpLHmlZciCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1sYXJ2c21mXSAvZGV2L25hbWVcbiIKKyN+IG1zZ3N0ciAi55So5rOV77yaJXMgWy1sYXJ2c21mXSAvZGV2L25hbWVcbiIKKworI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gb3BlbjogJXNcbiIKKyN+IG1zZ3N0ciAiJXPvvJrplovllZ/lpLHmlZfvvJolc1xuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsteF0gWy1kIDxudW0+XSBpc285NjYwLWltYWdlXG4iCisjfiBtc2dzdHIgIueUqOazle+8miVzIFsteF0gWy1kPG51bT5dIGlzbzk2NjAtaW1hZ2VcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgWy12XSBbLU4gbnItb2YtaW5vZGVzXSBbLVYgdm9sdW1lLW5hbWVdXG4iCisjfiAiICAgICAgIFstRiBmc25hbWVdIGRldmljZSBbYmxvY2stY291bnRdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLnlKjms5XvvJolcyBbLXZdIFstTiBuci1vZi1pbm9kZXNdIFstViDljbflhorlkI3nqLFdXG4iCisjfiAiICAgICAgWy1GIOaqlOahiOezu+e1seWQjeeosV0g6KOd572uIFvljYDloYrmlbjph49dXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBkZXZpY2UgJXMiCisjfiBtc2dzdHIgIueEoeazleitmOWIpeijnee9rueLgOaFiyAlcyIKKworI34gbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgc2VjdG9yIHNpemUgZm9yICVzIgorI34gbXNnc3RyICLnhKHms5Xmsbrlrprno4HljYDlpKflsI/ntaYgJXMiCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1jXSBbLXBQQUdFU1pdIFstTCBsYWJlbF0gWy1VIFVVSURdIC9kZXYvbmFtZSBbYmxvY2tzXVxuIgorI34gbXNnc3RyICLnlKjms5XvvJolcyBbLWNdIFstcOmggemdouWkp+Wwj10gWy1MIOaomeexpF0gWy1VIFVVSURdIC9kZXYv5ZCN56ixIFvljYDloYpdXG4iCisKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5IgorI34gbXNnc3RyICLoqJjmhrbpq5TkuI3otrMiCisKKyN+IG1zZ2lkICIlczogZXJyb3I6IHdpbGwgbm90IHRyeSB0byBtYWtlIHN3YXBkZXZpY2Ugb24gJyVzJ1xuIgorI34gbXNnc3RyICIlc++8mumMr+iqpO+8muWwh+S4jeacg+ippuiRl+aWvOOAjCVz44CN6KO95L2c5Lqk5o+b6KOd572uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6XG4iCisjfiAiICAlcyAiCisjfiBtc2dzdHIgIiIKKyN+ICLnlKjms5XvvJpcbiIKKyN+ICIgICVzICIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgc3dhcGxhYmVsKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6KaB542y5b6X5pu05aSa6LOH6KiK6KuL5Y+D55yLIHN3YXBsYWJlbCg4KeOAglxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGVuZHMgaW4gdGhlIGZpbmFsIHBhcnRpYWwgY3lsaW5kZXIiCisjfiBtc2dzdHIgIuWIhuWJsuWNgOe1kOWwvuWcqOacgOW+jOmDqOWIhuejgeafsSIKKworI34gbXNnaWQgIk1lbnUgd2l0aG91dCBkaXJlY3Rpb24uIERlZmF1bHRpbmcgdG8gaG9yaXpvbnRhbC4iCisjfiBtc2dzdHIgIumBuOWWruaykuacieaWueWQke+8jOmgkOioreawtOW5s+aWueW8j+OAgiIKKworI34gbXNnaWQgIiAgIGQgICBkZWxldGUgYSBCU0QgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICBkICAg5Yiq6ZmkIEJTRCDliIblibIiCisKKyN+IG1zZ2lkICIgICBuICAgYWRkIGEgbmV3IEJTRCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgIG4gICDliqDlhaXmlrDnmoQgQlNEIOWIhuWJsiIKKworI34gbXNnaWQgIiAgIHQgICBjaGFuZ2UgYSBwYXJ0aXRpb24ncyBmaWxlc3lzdGVtIGlkIgorI34gbXNnc3RyICIgICB0ICAg6K6K5pu05YiG5Ymy5Y2A55qE5qqU5qGI57O757Wx6K2Y5Yil6JmfIgorCisjfiBtc2dpZCAiICAgdSAgIGNoYW5nZSB1bml0cyAoY3lsaW5kZXJzL3NlY3RvcnMpIgorI34gbXNnc3RyICIgICB1ICAg6K6K5pu05Zau5L2NICjno4Hmn7Ev56OB5Y2AKSIKKworI34gbXNnaWQgIlVuYWJsZSB0byBvcGVuICVzXG4iCisjfiBtc2dzdHIgIueEoeazlemWi+WVnyAlc1xuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGFueSBtb3JlIG1lbW9yeVxuIgorI34gbXNnc3RyICLnhKHms5XphY3nva7mm7TlpJrnmoToqJjmhrbpq5RcbiIKKworI34gbXNnaWQgIiAgIHAgICBwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICIgICBwICAg5Y2w5Ye65YiG5Ymy6KGoIgorCisjfiBtc2dpZCAiIgorI34gIkJ1aWxkaW5nIGEgbmV3IERPUyBkaXNrbGFiZWwgd2l0aCBkaXNrIGlkZW50aWZpZXIgMHglMDh4LlxuIgorI34gIkNoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS5cbiIKKyN+ICJBZnRlciB0aGF0LCBvZiBjb3Vyc2UsIHRoZSBwcmV2aW91cyBjb250ZW50IHdvbid0IGJlIHJlY292ZXJhYmxlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAi5Lul56OB56Kf6K2Y5Yil56K8IDB4JTA4eCDlu7rnq4vmlrDnmoQgRE9TIOejgeein+aomeexpOOAglxuIgorI34gIuiuiuabtOWwh+WDheWtmOaWvOiomOaGtumrlOS5i+S4re+8jOebtOWIsOaCqOaxuuWumuWvq+WFpeWug+WAkeOAglxuIgorI34gIuWcqOatpOS5i+W+jO+8jOWJjeS4gOWAi+WFp+WuueeVtueEtuWwh+eEoeazleWbnuW+qeOAglxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoaXMgZGlzayBoYXMgYm90aCBET1MgYW5kIEJTRCBtYWdpYy5cbiIKKyN+ICJHaXZlIHRoZSAnYicgY29tbWFuZCB0byBnbyB0byBCU0QgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIumAmeWAi+ejgeein+WQjOaZguaciSBET1Mg5ZKMIEJTRCDnibnmrornorzjgIJcbiIKKyN+ICLovLjlhaXjgIxi44CN5ZG95Luk5Lul5YmN5b6AIEJTRCDmqKHlvI/jgIJcbiIKKworI34gbXNnaWQgIkRldmljZSBjb250YWlucyBuZWl0aGVyIGEgdmFsaWQgRE9TIHBhcnRpdGlvbiB0YWJsZSwgbm9yIFN1biwgU0dJIG9yIE9TRiBkaXNrbGFiZWxcbiIKKyN+IG1zZ3N0ciAi6KOd572u5LiN5ZCr5pyJ5pWI55qEIERPUyDliIblibLooajvvIzkuZ/kuI3lkKsgU3Vu44CBU0dJIOaIliBPU0Yg56OB56Kf5qiZ57GkXG4iCisKKyN+IG1zZ2lkICJJbnRlcm5hbCBlcnJvclxuIgorI34gbXNnc3RyICLlhafpg6jpjK/oqqRcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJnb3QgRU9GIHRocmljZSAtIGV4aXRpbmcuLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi5b6X5YiwIEVPRiDkuInmrKEgLSDpm6LplovkuK0uLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVpIGRvZXMgbm90IHN0YXJ0IG9uIGN5bGluZGVyIGJvdW5kYXJ5OlxuIgorI34gbXNnc3RyICLliIblibLljYAgJWkg5Lim6Z2e6ZaL5aeL5pa856OB5p+x6YKK55WM77yaXG4iCisKKyN+IG1zZ2lkICJzaG91bGQgYmUgKCVkLCAlZCwgMSlcbiIKKyN+IG1zZ3N0ciAi5oeJ6Kmy5pivICglZCwgJWQsIDEpXG4iCisKKyN+IG1zZ2lkICJzaG91bGQgYmUgKCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgIuaHieipsuaYryAoJWQsICVkLCAlZClcbiIKKworI34gbXNnaWQgIllvdSBtdXN0IGRlbGV0ZSBzb21lIHBhcnRpdGlvbiBhbmQgYWRkIGFuIGV4dGVuZGVkIHBhcnRpdGlvbiBmaXJzdFxuIgorI34gbXNnc3RyICLmgqjlv4XpoIjliKrpmaTmn5DkupvliIblibLljYDkuKblhYjliqDlhaXmk7TlhYXliIblibLljYBcbiIKKworI34gbXNnaWQgIiIKKyN+ICJDb21tYW5kIGFjdGlvblxuIgorI34gIiAgICVzXG4iCisjfiAiICAgcCAgIHByaW1hcnkgcGFydGl0aW9uICgxLTQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLlkb3ku6Tli5XkvZxcbiIKKyN+ICIgICAlc1xuIgorI34gIiAgIHAgICDkuLvopoHliIblibLljYAgKDEtNClcbiIKKworI34gbXNnaWQgIlRoaXMga2VybmVsIGZpbmRzIHRoZSBzZWN0b3Igc2l6ZSBpdHNlbGYgLSAtYiBvcHRpb24gaWdub3JlZFxuIgorI34gbXNnc3RyICLlhafmoLjoh6rooYzmib7liLDno4HljYDlpKflsI8gLSAtYiDpgbjpoIXlv73nlaVcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJcdFNvcnJ5LCBubyBleHBlcnRzIG1lbnUgZm9yIFNHSSBwYXJ0aXRpb24gdGFibGVzIGF2YWlsYWJsZS5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx05oqx5q2J77yM5rKS5pyJ5Y+v55So55qEIFNHSSDliIblibLooajlsIjlrrbpgbjllq7jgIJcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIlNvcnJ5IFlvdSBtYXkgY2hhbmdlIHRoZSBUYWcgb2Ygbm9uLWVtcHR5IHBhcnRpdGlvbnMuXG4iCisjfiBtc2dzdHIgIuaKseatie+8jOaCqOS5n+ioseiuiuabtOS6humdnuepuueZveWIhuWJsuWNgOeahOaomeiomOOAglxuIgorCisjfiBtc2dpZCAiRG8gWW91IGtub3csIFlvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzaz9cbiIKKyN+IG1zZ3N0ciAi5oKo55+l6YGT5Zyo56OB56Kf5LiK5pyJ6YeN55aK55qE5YiG5Ymy5Y2A5ZeO77yfXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiQnVpbGRpbmcgYSBuZXcgU0dJIGRpc2tsYWJlbC4gQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSxcbiIKKyN+ICJ1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uIEFmdGVyIHRoYXQsIG9mIGNvdXJzZSwgdGhlIHByZXZpb3VzXG4iCisjfiAiY29udGVudCB3aWxsIGJlIHVucmVjb3ZlcmFibHkgbG9zdC5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIuW7uueri+aWsOeahCBTR0kg56OB56Kf5qiZ57Gk44CC6K6K5pu05bCH5Y+q5L+d55WZ5pa86KiY5oa26auU5Lit77yMXG4iCisjfiAi55u05Yiw5oKo5rG65a6a5a+r5YWl5a6D5YCR44CC55W254S25Zyo5q2k5LmL5b6M77yM5YmN5LiA5YCLXG4iCisjfiAi5YWn5a655bCH5pyD5aSx5Y676ICM54Sh5rOV5Zue5b6p44CCXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5IC0gZ2l2aW5nIHVwXG4iCisjfiBtc2dzdHIgIuiomOaGtumrlOS4jei2syAtIOaUvuajhFxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeT9cbiIKKyN+IG1zZ3N0ciAi6KiY5oa26auU5LiN6Laz77yfXG4iCisKKyN+IG1zZ2lkICJhbmQgJXMgb3ZlcmxhcFxuIgorI34gbXNnc3RyICLlkowgJXMg6YeN55aKXG4iCisKKyN+IG1zZ2lkICJkZXZpY2U6IHNvbWV0aGluZyBsaWtlIC9kZXYvaGRhIG9yIC9kZXYvc2RhIgorI34gbXNnc3RyICLoo53nva7vvJroq7jlpoIgL2Rldi9oZGEg5oiWIC9kZXYvc2RhIgorCisjfiBtc2dpZCAiICAgIC1zIFtvciAtLXNob3ctc2l6ZV06IGxpc3Qgc2l6ZSBvZiBhIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgIC1zIFvmiJYgLS1zaG93LXNpemVd77ya5YiX5Ye65YiG5Ymy5Y2A5aSn5bCPIgorCisjfiBtc2dpZCAiICAgIC1kIFtvciAtLWR1bXBdOiAgICAgIGlkZW0sIGJ1dCBpbiBhIGZvcm1hdCBzdWl0YWJsZSBmb3IgbGF0ZXIgaW5wdXQiCisjfiBtc2dzdHIgIiAgICAtZCBb5oiWIC0tZHVtcF3vvJogICAgIGlkZW3vvIzkvYbmmK/moLzlvI/mmK/pganmlrznqI3lvozovLjlhaUiCisKKyN+IG1zZ2lkICIgICAgLWkgW29yIC0taW5jcmVtZW50XTogbnVtYmVyIGN5bGluZGVycyBldGMuIGZyb20gMSBpbnN0ZWFkIG9mIGZyb20gMCIKKyN+IG1zZ3N0ciAiICAgIC1pIFvmiJYgLS1pbmNyZW1lbnRd77ya56OB5p+x562J6aCF55qE57eo6Jmf44CC5b6eIDEg6ICM6Z2eIDAg6ZaL5aeLIgorCisjfiBtc2dpZCAiICAgIC11UywgLXVCLCAtdUMsIC11TTogIGFjY2VwdC9yZXBvcnQgaW4gdW5pdHMgb2Ygc2VjdG9ycy9ibG9ja3MvY3lsaW5kZXJzL01CIgorI34gbXNnc3RyICIgICAgLXVT77yMLXVC77yMLXVD77yMLXVN77yaIOaOpeWPly/loLHlkYrnmoTllq7kvY3mmK/no4HljYAv5Y2A5aGKL+ejgeafsS9NQiIKKworI34gbXNnaWQgIiAgICAtVCBbb3IgLS1saXN0LXR5cGVzXTpsaXN0IHRoZSBrbm93biBwYXJ0aXRpb24gdHlwZXMiCisjfiBtc2dzdHIgIiAgICAtVCBb5oiWIC0tbGlzdC10eXBlc13vvJrliJflh7rlt7Lnn6XliIblibLljYDpoZ7lnosiCisKKyN+IG1zZ2lkICIgICAgLUQgW29yIC0tRE9TXTogICAgICAgZm9yIERPUy1jb21wYXRpYmlsaXR5OiB3YXN0ZSBhIGxpdHRsZSBzcGFjZSIKKyN+IG1zZ3N0ciAiICAgIC1EIFvmiJYgLS1ET1Nd77yaICAgICAg55So5pa8IERPUy3nm7jlrrnmgKfvvJrmtarosrvkuIDkupvnqbrplpMiCisKKyN+IG1zZ2lkICIgICAgLVIgW29yIC0tcmUtcmVhZF06ICAgbWFrZSBrZXJuZWwgcmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiICAgIC1SIFvmiJYgLS1yZS1yZWFkXe+8miAg6K6T5YWn5qC46YeN5paw6K6A5Y+W5YiG5Ymy6KGoIgorCisjfiBtc2dpZCAiICAgIC1PIGZpbGUgOiAgICAgICAgICAgIHNhdmUgdGhlIHNlY3RvcnMgdGhhdCB3aWxsIGJlIG92ZXJ3cml0dGVuIHRvIGZpbGUiCisjfiBtc2dzdHIgIiAgICAtTyDmqpTmoYgg77yaICAgICAgICAgICDmiorlsIfopoHooqvopoblr6vnmoTno4HljYDlhLLlrZjliLDmqpTmoYgiCisKKyN+IG1zZ2lkICIgICAgLUkgZmlsZSA6ICAgICAgICAgICAgcmVzdG9yZSB0aGVzZSBzZWN0b3JzIGFnYWluIgorI34gbXNnc3RyICIgICAgLUkg5qqU5qGIIO+8miAgICAgICAgICAg5YaN5qyh6YKE5Y6f6YCZ5Lqb56OB5Y2AIgorCisjfiBtc2dpZCAiICAgIC12IFtvciAtLXZlcnNpb25dOiAgIHByaW50IHZlcnNpb24iCisjfiBtc2dzdHIgIiAgICAtdiBb5oiWIC0tdmVyc2lvbl3vvJogIOWNsOWHuueJiOacrCIKKworI34gbXNnaWQgIiAgICAtZyBbb3IgLS1zaG93LWdlb21ldHJ5XTogcHJpbnQgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIGdlb21ldHJ5IgorI34gbXNnc3RyICIgICAgLWcgW+aIliAtLXNob3ctZ2VvbWV0cnld77ya5Y2w5Ye65YWn5qC45bCN5pa856Gs56Kf57WQ5qeL5Y+D5pW455qE6KqN55+lIgorCisjfiBtc2dpZCAiICAgIC1MICBbb3IgLS1MaW51eF06ICAgICAgZG8gbm90IGNvbXBsYWluIGFib3V0IHRoaW5ncyBpcnJlbGV2YW50IGZvciBMaW51eCIKKyN+IG1zZ3N0ciAiICAgIC1MICBb5oiWIC0tTGludXhd77yaICAgICDkuI3mirHmgKjlsI3mlrwgTGludXgg6ICM6KiA5Lim5LiN6YeN6KaB55qE5p2x6KW/IgorCisjfiBtc2dpZCAiICAgIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRldGVjdGVkIGdlb21ldHJ5IHVzaW5nOiIKKyN+IG1zZ3N0ciAiICAgIOaCqOWPr+S7peW8t+WItuiuiuabtOWBtea4rOWIsOeahOehrOein+e1kOani+WPg+aVuOiAjOS9v+eUqO+8miIKKworI34gbXNnaWQgIiAgICAtZiAgW29yIC0tZm9yY2VdOiAgICAgIGRvIHdoYXQgSSBzYXksIGV2ZW4gaWYgaXQgaXMgc3R1cGlkIgorI34gbXNnc3RyICIgICAgLWYgIFvmiJYgLS1mb3JjZV3vvJogICAgIOeFp+aIkeaJgOiqqueahOWOu+WBmu+8jOWNs+S9v+Wug+acieS6m+aEmuigoiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJzZmRpc2s6IHByZW1hdHVyZSBlbmQgb2YgaW5wdXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gInNmZGlza++8muacqumBlOe1kOWwvueahOi8uOWFpVxuIgorCisjfiBtc2dpZCAiV0FSTklORzogY291bGRuJ3Qgb3BlbiAlczogJXNcbiIKKyN+IG1zZ3N0ciAi6K2m5ZGK77ya54Sh5rOV6ZaL5ZWfICVz77yaJXNcbiIKKworI34gbXNnaWQgIldBUk5JTkc6IGJhZCBmb3JtYXQgb24gbGluZSAlZCBvZiAlc1xuIgorI34gbXNnc3RyICLorablkYrvvJrkuI3nlbbnmoTmoLzlvI/mlrwgJTIkcyDnmoTnrKwgJTEkZCDliJdcbiIKKworI34gbXNnaWQgIiIKKyN+ICJXQVJOSU5HOiBZb3VyIC9ldGMvZnN0YWIgZG9lcyBub3QgY29udGFpbiB0aGUgZnNjayBwYXNzbm9cbiIKKyN+ICJcdGZpZWxkLiAgSSB3aWxsIGtsdWRnZSBhcm91bmQgdGhpbmdzIGZvciB5b3UsIGJ1dCB5b3VcbiIKKyN+ICJcdHNob3VsZCBmaXggeW91ciAvZXRjL2ZzdGFiIGZpbGUgYXMgc29vbiBhcyB5b3UgY2FuLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAi6K2m5ZGK77ya5oKo55qEIC9ldGMvZnN0YWIg5LiN5YyF5ZCrIGZzY2sgcGFzc25vXG4iCisjfiAiXHTmrITkvY3jgILmiJHlsIfngrrmgqjmiZPpu57nkaPkuovvvIzkvYbmmK/mgqhcbiIKKyN+ICJcdOaHieipsuWEmOW/q+S/ruato+aCqOeahCAvZXRjL2ZzdGFiIOaqlOahiOOAglxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiQ291bGRuJ3QgYWxsb2NhdGUgbWVtb3J5IGZvciBmaWxlc3lzdGVtIHR5cGVzXG4iCisjfiBtc2dzdHIgIueEoeazlemFjee9ruiomOaGtumrlOe1puaqlOahiOezu+e1semhnuWei1xuIgorCisjfiBtc2dpZCAiVXNhZ2U6IGZzY2sgWy1BTU5QUlRWXSBbIC1DIFsgZmQgXSBdIFstdCBmc3R5cGVdIFtmcy1vcHRpb25zXSBbZmlsZXN5cyAuLi5dXG4iCisjfiBtc2dzdHIgIueUqOazle+8mmZzY2sgWy1BTU5QUlRWXSBbIC1DIFsgZmQgXSBdIFstdCDmqpTmoYjns7vntbHpoZ7lnotdIFvmqpTmoYjns7vntbHpgbjpoIVdIFvmqpTmoYjns7vntbEg4oCmXVxuIgorCisjfiBtc2dpZCAiQ291bGRuJ3Qgb3BlbiAlczogJXNcbiIKKyN+IG1zZ3N0ciAi54Sh5rOV6ZaL5ZWfICVz77yaJXNcbiIKKworI34gbXNnaWQgImZzY2sgZnJvbSAlc1xuIgorI34gbXNnc3RyICJmc2NrIOS+huiHqiAlc1xuIgorCisjfiBtc2dpZCAiJXM6IFVuYWJsZSB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yIGZzY2tfcGF0aFxuIgorI34gbXNnc3RyICIlc++8mueEoeazlemFjee9ruiomOaGtumrlOe1piBmc2NrX3BhdGhcbiIKKworI34gbXNnaWQgIlRyeSBgZ2V0b3B0IC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIuippuiRl+Wft+ihjOOAjGdldG9wdCAtLWhlbHDjgI3ku6XnjbLlvpfmm7TlpJros4foqIrjgIJcbiIKKworI34gbXNnaWQgIlVzYWdlOiBnZXRvcHQgb3B0c3RyaW5nIHBhcmFtZXRlcnNcbiIKKyN+IG1zZ3N0ciAi55So5rOV77yaZ2V0b3B0IOmBuOmgheWtl+S4siDlj4PmlbhcbiIKKworI34gbXNnaWQgIiAgICAgICBnZXRvcHQgW29wdGlvbnNdIFstLV0gb3B0c3RyaW5nIHBhcmFtZXRlcnNcbiIKKyN+IG1zZ3N0ciAiICAgICAgIGdldG9wdCBb6YG46aCFXSBbLS1dIOmBuOmgheWtl+S4siDlj4PmlbhcbiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgcGFyYW1ldGVyc1xuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgIOWPg+aVuFxuIgorCisjfiBtc2dpZCAiZ2V0b3B0IChlbmhhbmNlZCkgMS4xLjRcbiIKKyN+IG1zZ3N0ciAiZ2V0b3B0ICjpgLLpmo7niYgpIDEuMS40XG4iCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiAvZGV2L3BvcnQ6ICVzIgorI34gbXNnc3RyICLnhKHms5XplovllZ8gL2Rldi9wb3J077yaJXMiCisKKyN+IG1zZ2lkICIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pXG4iCisjfiBtc2dzdHIgIijpoJDmnJ/vvJrjgIxVVEPjgI3jgIHjgIzmnKzlnLDjgI3miJbmspLmnInku7vkvZXoqK3lrprjgIIpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiaHdjbG9jayAtIHF1ZXJ5IGFuZCBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIChSVEMpXG4iCisjfiAiXG4iCisjfiAiVXNhZ2U6IGh3Y2xvY2sgW2Z1bmN0aW9uXSBbb3B0aW9ucy4uLl1cbiIKKyN+ICJcbiIKKyN+ICJGdW5jdGlvbnM6XG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgIHNob3cgdGhpcyBoZWxwXG4iCisjfiAiICAtciB8IC0tc2hvdyAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IHJlc3VsdFxuIgorI34gIiAgICAgICAtLXNldCAgICAgICAgICBzZXQgdGhlIHJ0YyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gIiAgLXMgfCAtLWhjdG9zeXMgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiICAtdyB8IC0tc3lzdG9oYyAgICAgIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgdG8gdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWVcbiIKKyN+ICIgICAgICAgLS1zeXN0eiAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBiYXNlZCBvbiB0aGUgY3VycmVudCB0aW1lem9uZVxuIgorI34gIiAgICAgICAtLWFkanVzdCAgICAgICBhZGp1c3QgdGhlIHJ0YyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IHNpbmNlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIHRoZSBjbG9jayB3YXMgbGFzdCBzZXQgb3IgYWRqdXN0ZWRcbiIKKyN+ICIgICAgICAgLS1nZXRlcG9jaCAgICAgcHJpbnQgb3V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZVxuIgorI34gIiAgICAgICAtLXNldGVwb2NoICAgICBzZXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlIHRvIHRoZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgZ2l2ZW4gd2l0aCAtLWVwb2NoXG4iCisjfiAiICAgICAgIC0tcHJlZGljdCAgICAgIHByZWRpY3QgcnRjIHJlYWRpbmcgYXQgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gIiAgLXYgfCAtLXZlcnNpb24gICAgICBwcmludCBvdXQgdGhlIHZlcnNpb24gb2YgaHdjbG9jayB0byBzdGRvdXRcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOiBcbiIKKyN+ICIgIC11IHwgLS11dGMgICAgICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gVVRDXG4iCisjfiAiICAgICAgIC0tbG9jYWx0aW1lICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIGxvY2FsIHRpbWVcbiIKKyN+ICIgIC1mIHwgLS1ydGM9cGF0aCAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIKKyN+ICIgICAgICAgLS1kaXJlY3Rpc2EgICAgYWNjZXNzIHRoZSBJU0EgYnVzIGRpcmVjdGx5IGluc3RlYWQgb2YgJXNcbiIKKyN+ICIgICAgICAgLS1iYWR5ZWFyICAgICAgaWdub3JlIHJ0YydzIHllYXIgYmVjYXVzZSB0aGUgYmlvcyBpcyBicm9rZW5cbiIKKyN+ICIgICAgICAgLS1kYXRlICAgICAgICAgc3BlY2lmaWVzIHRoZSB0aW1lIHRvIHdoaWNoIHRvIHNldCB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgICAgICAgLS1lcG9jaD15ZWFyICAgc3BlY2lmaWVzIHRoZSB5ZWFyIHdoaWNoIGlzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBoYXJkd2FyZSBjbG9jaydzIGVwb2NoIHZhbHVlXG4iCisjfiAiICAgICAgIC0tbm9hZGpmaWxlICAgIGRvIG5vdCBhY2Nlc3MgL2V0Yy9hZGp0aW1lLiBSZXF1aXJlcyB0aGUgdXNlIG9mXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZVxuIgorI34gIiAgICAgICAtLWFkamZpbGU9cGF0aCBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlIChkZWZhdWx0IGlzXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIC9ldGMvYWRqdGltZSlcbiIKKyN+ICIgICAgICAgLS10ZXN0ICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgYWN0dWFsbHkgdXBkYXRpbmcgdGhlIGhhcmR3YXJlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGNsb2NrIG9yIGFueXRoaW5nIGVsc2VcbiIKKyN+ICIgIC1EIHwgLS1kZWJ1ZyAgICAgICAgZGVidWcgbW9kZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiaHdjbG9jayAtIOafpeipouWSjOioreWumuehrOmrlOaZgumQmCAoUlRDKVxuIgorI34gIlxuIgorI34gIueUqOazle+8mmh3Y2xvY2sgW+WKn+iDvV0gW+mBuOmghS4uLl1cbiIKKyN+ICJcbiIKKyN+ICLlh73lvI/vvJpcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAg6aGv56S66YCZ5YCL6Kqq5piOXG4iCisjfiAiICAtciB8IC0tc2hvdyAgICAgICAgIOiugOWPluehrOmrlOaZgumQmOWSjOWNsOWHuue1kOaenFxuIgorI34gIiAgICAgICAtLXNldCAgICAgICAgICDoqK3lrpogcnRjIOeCuuS7pSAtLWRhdGUg5omA57Wm5a6a55qE5pmC6ZaTXG4iCisjfiAiICAtcyB8IC0taGN0b3N5cyAgICAgIOW+nuehrOmrlOaZgumQmOioreWumuezu+e1seaZgumWk1xuIgorI34gIiAgLXcgfCAtLXN5c3RvaGMgICAgICDoqK3lrprnoazpq5TmmYLpkJjngrrnm67liY3ns7vntbHmmYLplpNcbiIKKyN+ICIgICAgICAgLS1zeXN0eiAgICAgICAg6Kit5a6a57O757Wx5pmC6ZaT5Z+65pa855uu5YmN55qE5pmC5Y2AXG4iCisjfiAiICAgICAgIC0tYWRqdXN0ICAgICAgIOiqv+aVtCBydGMg54K65biz6Jmf55qE57O757Wx5YGP5beu77yM5qC55pOaXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIOaZgumQmOeahOacgOW+jOS4gOasoeioreWumuaIluiqv+aVtFxuIgorI34gIiAgICAgICAtLWdldGVwb2NoICAgICDljbDlh7rlhafmoLjnmoTnoazpq5TmmYLpkJjmmYLmnJ/lgLxcbiIKKyN+ICIgICAgICAgLS1zZXRlcG9jaCAgICAg6Kit5a6a5YWn5qC455qE56Gs6auU5pmC6ZCY5pmC5pyf5YC854K6XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIOS7pSAtLWVwb2NoIOaJgOe1puWumueahOWAvFxuIgorI34gIiAgICAgICAtLXByZWRpY3QgICAgICBwcmVkaWN0IHJ0YyDoroDlj5bmlrzmmYLplpPntablrproh6ogLS1kYXRlXG4iCisjfiAiICAtdiB8IC0tdmVyc2lvbiAgICAgIOWNsOWHuiBod2Nsb2NrIOeahOeJiOacrOWIsOaomea6lui8uOWHulxuIgorI34gIlxuIgorI34gIumBuOmghe+8mlxuIgorI34gIiAgLXUgfCAtLXV0YyAgICAgICAgICDnoazpq5TmmYLpkJjkv53mjIHngrrljZToqr/kuJbnlYzmmYLplpNcbiIKKyN+ICIgICAgICAgLS1sb2NhbHRpbWUgICAg56Gs6auU5pmC6ZCY5L+d5oyB54K65Y2A5Z+f5pmC6ZaTXG4iCisjfiAiICAtZiB8IC0tcnRjPXBhdGggICAgIOS9v+eUqOeJueauiiAvZGV2Ly4uLiDmqpTmoYjku6Xku6Pmm7/poJDoqK1cbiIKKyN+ICIgICAgICAgLS1kaXJlY3Rpc2EgICAg55u05o6l5a2Y5Y+WIElTQSDljK/mtYHmjpLku6Xku6Pmm78gJXNcbiIKKyN+ICIgICAgICAgLS1iYWR5ZWFyICAgICAg5b+955WlIHJ0YyDnmoTlubTliIbvvIzlm6DngrogYmlvcyDkuI3lrozmlbRcbiIKKyN+ICIgICAgICAgLS1kYXRlICAgICAgICAg5oyH5a6a5pmC6ZaT54K66Kmy6aCF5Lul6Kit5a6a56Gs6auU5pmC6ZCYXG4iCisjfiAiICAgICAgIC0tZXBvY2g9eWVhciAgIOaMh+WumuehrOmrlOaZgumQmOaZguacn+WAvFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICDnmoTplovlp4vlubTliIZcbiIKKyN+ICIgICAgICAgLS1ub2FkamZpbGUgICAg5LiN5a2Y5Y+WIC9ldGMvYWRqdGltZeOAgumcgOimgeS9v+eUqFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAtLXV0YyDmipHmiJYgLS1sb2NhbHRpbWVcbiIKKyN+ICIgICAgICAgLS1hZGpmaWxlPei3r+W+kSDmjIflrprot6/lvpHliLDoqr/mlbTmqpTmoYggKOmgkOioreaYr1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAv562J6aCFL2FkanRpbWUpXG4iCisjfiAiICAgICAgIC0tdGVzdCAgICAgICAgIOWBmuaJgOacieadseilv+mZpOS6huWvpumam+eahOWcsOabtOaWsOehrOmrlFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICDmmYLpkJjmiJblhbbku5bku7vkvZXkuotcbiIKKyN+ICIgIC1EIHwgLS1kZWJ1ZyAgICAgICAg6Zmk6Yyv5qih5byPXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiWW91IGhhdmUgc3BlY2lmaWVkIG11bHRpcGxlIGZ1bmN0aW9ucy5cbiIKKyN+ICJZb3UgY2FuIG9ubHkgcGVyZm9ybSBvbmUgZnVuY3Rpb24gYXQgYSB0aW1lLlxuIgorI34gbXNnc3RyICIiCisjfiAi5oKo5bey5oyH5a6a5aSa6YeN5Yqf6IO944CCXG4iCisjfiAi5oKo5Y+q6IO95LiA5qyh5a+m6KGM5LiA5YCL5Yqf6IO944CCXG4iCisKKyN+IG1zZ2lkICIlczogVGhlIC0tdXRjIGFuZCAtLWxvY2FsdGltZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuICBZb3Ugc3BlY2lmaWVkIGJvdGguXG4iCisjfiBtc2dzdHIgIiVz77yaLS11dGMg5ZKMIC0tbG9jYWx0aW1lIOmBuOmgheS6kuaWpeOAgiDmgqjljbvlt7LmjIflrprlhanogIXjgIJcbiIKKworI34gbXNnaWQgIiVzOiBUaGUgLS1hZGp1c3QgYW5kIC0tbm9hZGpmaWxlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC5cbiIKKyN+IG1zZ3N0ciAiJXPvvJotLWFkanVzdCDlkowgLS1ub2FkamZpbGUg6YG46aCF5LqS5pal44CCIOaCqOWNu+W3suaMh+WumuWFqeiAheOAglxuIgorCisjfiBtc2dpZCAiJXM6IFRoZSAtLWFkamZpbGUgYW5kIC0tbm9hZGpmaWxlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC5cbiIKKyN+IG1zZ3N0ciAiJXPvvJotLWFkanVzdCDlkowgLS1ub2FkamZpbGUg6YG46aCF5LqS5pal44CCIOaCqOWNu+W3suaMh+WumuWFqeiAheOAglxuIgorCisjfiBtc2dpZCAiT3BlbiBvZiAlcyBmYWlsZWQiCisjfiBtc2dzdHIgIumWi+WVnyAlcyDmmYLlpLHmlZciCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gb3BlbiAlcyIKKyN+IG1zZ3N0ciAi54Sh5rOV6ZaL5ZWfICVzIgorCisjfiBtc2dpZCAiY2FuJ3QgbWFsbG9jIGluaXRzdHJpbmciCisjfiBtc2dzdHIgIueEoeazlSBtYWxsb2Mg5Yid5aeL5a2X5LiyIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbLThoaUxtVXddIFstbCBsb2dpbl9wcm9ncmFtXSBbLXQgdGltZW91dF0gWy1JIGluaXRzdHJpbmddIFstSCBsb2dpbl9ob3N0XSBiYXVkX3JhdGUsLi4uIGxpbmUgW3Rlcm10eXBlXVxuIgorI34gIm9yXHRbLWhpTG13XSBbLWwgbG9naW5fcHJvZ3JhbV0gWy10IHRpbWVvdXRdIFstSSBpbml0c3RyaW5nXSBbLUggbG9naW5faG9zdF0gbGluZSBiYXVkX3JhdGUsLi4uIFt0ZXJtdHlwZV1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIueUqOazle+8miVzIFstOGhpTG1Vd10gWy1sIGxvZ2luX3Byb2dyYW1dIFstdCB0aW1lb3V0XSBbLUkgaW5pdHN0cmluZ10gWy1IIGxvZ2luX2hvc3RdIGJhdWRfcmF0ZSwuLi4gbGluZSBbdGVybXR5cGVdXG4iCisjfiAi5oiWXHRbLWhpTG13XSBbLWwgbG9naW5fcHJvZ3JhbV0gWy10IHRpbWVvdXRdIFstSSBpbml0c3RyaW5nXSBbLUggbG9naW5faG9zdF0gbGluZSBiYXVkX3JhdGUsLi4uIFt0ZXJtdHlwZV1cbiIKKworI34gbXNnaWQgImxvZ2luOiBtZW1vcnkgbG93LCBsb2dpbiBtYXkgZmFpbFxuIgorI34gbXNnc3RyICLnmbvlhaXvvJroqJjmhrbpq5TmuJvlsJHvvIznmbvlhaXkuZ/lj6/og73mnIPlpLHmlZdcbiIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBmb3IgdHR5Y2xhc3MiCisjfiBtc2dzdHIgIueEoeazleWwhyBtYWxsb2Mg55So5pa8IHR0eWNsYXNzIgorCisjfiBtc2dpZCAiY2FuJ3QgbWFsbG9jIGZvciBncnBsaXN0IgorI34gbXNnc3RyICLnhKHms5XlsIcgbWFsbG9jIOeUqOaWvCBncnBsaXN0IgorCisjfiBtc2dpZCAiTG9naW4gb24gJXMgZnJvbSAlcyBkZW5pZWQuXG4iCisjfiBtc2dzdHIgIuW+niAlMiRzIOWIsCAlMSRzIOeahOeZu+WFpeiiq+aLkuOAglxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsgLWYgZnVsbC1uYW1lIF0gWyAtbyBvZmZpY2UgXSAiCisjfiBtc2dzdHIgIueUqOazle+8miVzIFsgLWYgZnVsbC1uYW1lIF0gWyAtbyBvZmZpY2UgXSAiCisKKyN+IG1zZ2lkICJbIC0taGVscCBdIFsgLS12ZXJzaW9uIF1cbiIKKyN+IG1zZ3N0ciAiWyAtLWhlbHAgXSBbIC0tdmVyc2lvbiBdXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFsgLXMgc2hlbGwgXSBbIC0tbGlzdC1zaGVsbHMgXSBbIC0taGVscCBdIFsgLS12ZXJzaW9uIF1cbiIKKyN+ICIgICAgICAgWyB1c2VybmFtZSBdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLnlKjms5XvvJolcyBbIC1zIHNoZWxsIF0gWyAtLWxpc3Qtc2hlbGxzIF0gWyAtLWhlbHAgXSBbIC0tdmVyc2lvbiBdXG4iCisjfiAiICAgICAgIFsgdXNlcm5hbWUgXVxuIgorCisjfiBtc2dpZCAiJXM6IFVzZSAtbCBvcHRpb24gdG8gc2VlIGxpc3QuXG4iCisjfiBtc2dzdHIgIiVz77ya5L2/55SoIC1sIOmBuOmgheS7peWPg+eci+WIl+ihqFxuIgorCisjfiBtc2dpZCAiVXNlICVzIC1sIHRvIHNlZSBsaXN0LlxuIgorI34gbXNnc3RyICLkvb/nlKggJXMgLWwg5Lul5Y+D55yL5YiX6KGo44CCXG4iCisKKyN+IG1zZ2lkICJGYWlsZWQgdG8gb3BlbiAlcyBmb3IgcmVhZGluZywgZXhpdGluZy4iCisjfiBtc2dzdHIgIumWi+WVnyAlcyDnlKjmlrzoroDlj5bmmYLlpLHmlZfvvIzpm6LplovjgIIiCisKKyN+IG1zZ2lkICJsYXN0OiBtYWxsb2MgZmFpbHVyZS5cbiIKKyN+IG1zZ3N0ciAibGFzdO+8mm1hbGxvYyDlpLHmlZfjgIJcbiIKKworI34gbXNnaWQgImxvZ2luOiBPdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgIueZu+WFpe+8muiomOaGtumrlOS4jei2s1xuIgorCisjfiBtc2dpZCAiJXMgbG9naW4gcmVmdXNlZCBvbiB0aGlzIHRlcm1pbmFsLlxuIgorI34gbXNnc3RyICIlcyDmlrzmraTntYLnq6/mqZ/ooqvmi5LntZXnmbvlhaXjgIJcbiIKKworI34gbXNnaWQgIkxPR0lOICVzIFJFRlVTRUQgRlJPTSAlcyBPTiBUVFkgJXMiCisjfiBtc2dzdHIgIuW+niAlMiRzIOaWvCBUVFkgJTMkcyDooqvmi5LntZXnmbvlhaUgJTEkcyIKKworI34gbXNnaWQgIkxPR0lOICVzIFJFRlVTRUQgT04gVFRZICVzIgorI34gbXNnc3RyICLmlrwgVFRZICUyJHMg6KKr5ouS57WV55m75YWlICUxJHMiCisKKyN+IG1zZ2lkICJMb2dpbiBpbmNvcnJlY3RcbiIKKyN+IG1zZ3N0ciAi55m75YWl5LiN5q2j56K6XG4iCisKKyN+IG1zZ2lkICJsb2dpbjogZmFpbHVyZSBmb3JraW5nOiAlcyIKKyN+IG1zZ3N0ciAibG9naW7vvJrooY3nlJ/nqIvlvI/lpLHmlZfvvJolcyIKKworI34gbXNnaWQgImxvZ2luOiBubyBzaGVsbDogJXMuXG4iCisjfiBtc2dzdHIgImxvZ2lu77ya54Sh5ZG95Luk5q6877yaJXPjgIJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICIlcyBsb2dpbjogIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiJXMgbG9naW7vvJoiCisKKyN+IG1zZ2lkICJsb2dpbiBuYW1lIG11Y2ggdG9vIGxvbmcuXG4iCisjfiBtc2dzdHIgIueZu+WFpeWQjeeosemBjumVt+OAglxuIgorCisjfiBtc2dpZCAiTkFNRSB0b28gbG9uZyIKKyN+IG1zZ3N0ciAi5ZCN56ix6YGO6ZW3IgorCisjfiBtc2dpZCAibG9naW4gbmFtZXMgbWF5IG5vdCBzdGFydCB3aXRoICctJy5cbiIKKyN+IG1zZ3N0ciAi55m75YWl5ZCN56ix5LiN5Y+v55So44CMLeOAjeWVn+Wni+OAglxuIgorCisjfiBtc2dpZCAiRVhDRVNTSVZFIGxpbmVmZWVkcyIKKyN+IG1zZ3N0ciAiRVhDRVNTSVZFIOaPm+WIl+Wtl+WFgyIKKworI34gbXNnaWQgIkxPR0lOIEZBSUxVUkUgRlJPTSAlcywgJXMiCisjfiBtc2dzdHIgIuW+niAlcywgJXMg55qE55m75YWl5aSx5pWXIgorCisjfiBtc2dpZCAiTE9HSU4gRkFJTFVSRSBPTiAlcywgJXMiCisjfiBtc2dzdHIgIuaWvCAlcywgJXMg55qE55m75YWl5aSx5pWXIgorCisjfiBtc2dpZCAiJWQgTE9HSU4gRkFJTFVSRVMgRlJPTSAlcywgJXMiCisjfiBtc2dzdHIgIiVkIOW+niAlcywgJXMg55qE55m75YWl5aSx5pWXIgorCisjfiBtc2dpZCAiJWQgTE9HSU4gRkFJTFVSRVMgT04gJXMsICVzIgorI34gbXNnc3RyICIlZCDmlrwgJXMsICVzIOeahOeZu+WFpeWkseaVlyIKKworI34gbXNnaWQgInVzYWdlOiBtZXNnIFt5IHwgbl1cbiIKKyN+IG1zZ3N0ciAi55So5rOV77yabWVzZyBbeSB8IG5dXG4iCisKKyN+IG1zZ2lkICJuZXdncnA6IHNldGdpZCIKKyN+IG1zZ3N0ciAibmV3Z3Jw77yac2V0Z2lkIgorCisjfiBtc2dpZCAibmV3Z3JwOiBQZXJtaXNzaW9uIGRlbmllZCIKKyN+IG1zZ3N0ciAibmV3Z3Jw77ya5qyK6ZmQ6KKr5ouSIgorCisjfiBtc2dpZCAibmV3Z3JwOiBzZXR1aWQiCisjfiBtc2dzdHIgIm5ld2dycO+8mnNldHVpZCIKKworI34gbXNnaWQgIlVzYWdlOiBzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fGhoOnNzfCttaW5zXVxuIgorI34gbXNnc3RyICLnlKjms5XvvJpzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fGho77yac3N8K21pbnNdXG4iCisKKyN+IG1zZ2lkICJTaHV0ZG93biBwcm9jZXNzIGFib3J0ZWQiCisjfiBtc2dzdHIgIuaUvuajhOmXnOapn+ihjOeoiyIKKworI34gbXNnaWQgIiVzOiBPbmx5IHJvb3QgY2FuIHNodXQgYSBzeXN0ZW0gZG93bi5cbiIKKyN+IG1zZ3N0ciAiJXPvvJrlj6rmnIkgcm9vdCDlj6/ku6Xpl5zplonns7vntbHjgIJcbiIKKworI34gbXNnaWQgIlRoYXQgbXVzdCBiZSB0b21vcnJvdywgY2FuJ3QgeW91IHdhaXQgdGlsbCB0aGVuP1xuIgorI34gbXNnc3RyICLpgqPlv4XpoIjopoHliLDmmI7lpKnvvIzmgqjnhKHms5XnrYnliLDpgqPmmYLlgJnll47vvJ9cbiIKKworI34gbXNnaWQgImZvciBtYWludGVuYW5jZTsgYm91bmNlLCBib3VuY2UiCisjfiBtc2dzdHIgIuWfuuaWvOe2reitt+WboOe0oO+8m+i3s+mWi+OAgei3s+mWiyIKKworI34gbXNnaWQgIlRoZSBzeXN0ZW0gaXMgYmVpbmcgc2h1dCBkb3duIHdpdGhpbiA1IG1pbnV0ZXMiCisjfiBtc2dzdHIgIuezu+e1seWwh+WcqOS6lOWIhumQmOWFp+mXnOapnyIKKworI34gbXNnaWQgIkxvZ2luIGlzIHRoZXJlZm9yZSBwcm9oaWJpdGVkLiIKKyN+IG1zZ3N0ciAi55m75YWl5Zug6ICM6KKr56aB5q2i44CCIgorCisjfiBtc2dpZCAicmVib290ZWQgYnkgJXM6ICVzIgorI34gbXNnc3RyICLph43mlrDplovmqZ/lkb3ku6Tkvoboh6ogJXM6ICVzIgorCisjfiBtc2dpZCAiaGFsdGVkIGJ5ICVzOiAlcyIKKyN+IG1zZ3N0ciAi57WC5q2i5ZG95Luk5L6G6IeqICVzOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXaHkgYW0gSSBzdGlsbCBhbGl2ZSBhZnRlciByZWJvb3Q/IgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi54K65LuA6bq86YeN5paw6ZaL5qmf5LmL5b6M5oiR6YKE5Zyo6YGL6KGM77yfIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk5vdyB5b3UgY2FuIHR1cm4gb2ZmIHRoZSBwb3dlci4uLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuePvuWcqOaCqOWPr+S7pemXnOmWiembu+a6kOKApiIKKworI34gbXNnaWQgIkNhbGxpbmcga2VybmVsIHBvd2VyLW9mZiBmYWNpbGl0eS4uLlxuIgorI34gbXNnc3RyICLlkbzlj6vlhafmoLjpl5zmqZ/lip/og73igKZcbiIKKworI34gbXNnaWQgIkVycm9yIHBvd2VyaW5nIG9mZlx0JXNcbiIKKyN+IG1zZ3N0ciAi6Zec6ZaJ6Zu75rqQ5pmC55m855Sf6Yyv6KqkXHQlc1xuIgorCisjfiBtc2dpZCAiRXhlY3V0aW5nIHRoZSBwcm9ncmFtIFwiJXNcIiAuLi5cbiIKKyN+IG1zZ3N0ciAi5q2j5Zyo5Z+36KGM56iL5byP44CMJXPjgI3igKZcbiIKKworI34gbXNnaWQgIlVSR0VOVDogYnJvYWRjYXN0IG1lc3NhZ2UgZnJvbSAlczoiCisjfiBtc2dzdHIgIue3iuaApe+8muW7o+aSreioiuaBr+S+huiHqiAlc++8miIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluICVkIGhvdXJzICVkIG1pbnV0ZXMiCisjfiBtc2dzdHIgIuezu+e1seaWvCAlZCDlsI/mmYIgJWQg5YiG6ZCY5b6M6YCy6KGM6Zec5qmfIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gMSBob3VyICVkIG1pbnV0ZXMiCisjfiBtc2dzdHIgIuezu+e1seaWvCAxIOWwj+aZgiAlZCDliIbpkJjlvozpgLLooYzpl5zmqZ8iCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAlZCBtaW51dGVzXG4iCisjfiBtc2dzdHIgIuezu+e1seaWvCAlZCDliIbpkJjlvozpgLLooYzpl5zmqZ9cbiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluIDEgbWludXRlXG4iCisjfiBtc2dzdHIgIuezu+e1seaWvCAxIOWIhumQmOW+jOmAsuihjOmXnOapn1xuIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gSU1NRURJQVRFTFkhXG4iCisjfiBtc2dzdHIgIuezu+e1seWNs+Wwh+mAsuihjOmXnOapn++8gVxuIgorCisjfiBtc2dpZCAiXHQuLi4gJXMgLi4uXG4iCisjfiBtc2dzdHIgIlx04oCmICVzIOKAplxuIgorCisjfiBtc2dpZCAiQ2Fubm90IGZvcmsgZm9yIHN3YXBvZmYuIFNocnVnISIKKyN+IG1zZ3N0ciAi54Sh5rOV6KGN55Sf5Z+36KGMIHN3YXBvZmbjgILmspLovJLvvIEiCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyBzd2Fwb2ZmLCBob3BpbmcgdW1vdW50IHdpbGwgZG8gdGhlIHRyaWNrLiIKKyN+IG1zZ3N0ciAi54Sh5rOV5Z+36KGMIHN3YXBvZmbvvIzluIzmnJsgdW1vdW50IOiDvemghuS+v+WBmuWIsOOAgiIKKworI34gbXNnaWQgIkNhbm5vdCBmb3JrIGZvciB1bW91bnQsIHRyeWluZyBtYW51YWxseS4iCisjfiBtc2dzdHIgIueEoeazleihjeeUn+Wft+ihjCB1bW91bnTvvIzoqabokZfmiYvli5Xln7fooYzjgIIiCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyAlcywgdHJ5aW5nIHVtb3VudC5cbiIKKyN+IG1zZ3N0ciAi54Sh5rOV5Z+36KGMICVzLCDoqabokZcgdW1vdW5044CCXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyB1bW91bnQsIGdpdmluZyB1cCBvbiB1bW91bnQuIgorI34gbXNnc3RyICLnhKHms5Xln7fooYwgdW1vdW5077yM5pS+5qOE5Z+36KGMIHVtb3VudOOAgiIKKworI34gbXNnaWQgIlVubW91bnRpbmcgYW55IHJlbWFpbmluZyBmaWxlc3lzdGVtcy4uLiIKKyN+IG1zZ3N0ciAi5Y246LyJ5Lu75L2V6YKE5o6b6LyJ55qE5qqU5qGI57O757Wx4oCmIgorCisjfiBtc2dpZCAic2h1dGRvd246IENvdWxkbid0IHVtb3VudCAlczogJXNcbiIKKyN+IG1zZ3N0ciAic2h1dGRvd27vvJrnhKHms5XljbjovIkgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJCb290aW5nIHRvIHNpbmdsZSB1c2VyIG1vZGUuXG4iCisjfiBtc2dzdHIgIumWi+apn+mAsuWFpeWWruS4gOS9v+eUqOiAheaooeW8j+OAglxuIgorCisjfiBtc2dpZCAiZXhlYyBvZiBzaW5nbGUgdXNlciBzaGVsbCBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAi5Zau5LiA5L2/55So6ICF5ZG95Luk5q685Z+36KGM5pmC5aSx5pWXXG4iCisKKyN+IG1zZ2lkICJmb3JrIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICLllq7kuIDkvb/nlKjogIXlkb3ku6TmrrzooY3nlJ/ln7fooYzmmYLlpLHmlZdcbiIKKworI34gbXNnaWQgImVycm9yIG9wZW5pbmcgZmlmb1xuIgorI34gbXNnc3RyICLplovllZ8gZmlmbyDmmYLnmbznlJ/pjK/oqqRcbiIKKworI34gbXNnaWQgImVycm9yIHNldHRpbmcgY2xvc2Utb24tZXhlYyBvbiAvZGV2L2luaXRjdGwiCisjfiBtc2dzdHIgIuaWvCAvZGV2L2luaXRjdGwg6Kit5a6aIGNsb3NlLW9uLWV4ZWMg5pmC55m855Sf6Yyv6KqkIgorCisjfiBtc2dpZCAiZXJyb3IgcnVubmluZyBmaW5hbHByb2dcbiIKKyN+IG1zZ3N0ciAi5Z+36KGMIGZpbmFscHJvZyDmmYLnmbznlJ/pjK/oqqRcbiIKKworI34gbXNnaWQgImVycm9yIGZvcmtpbmcgZmluYWxwcm9nXG4iCisjfiBtc2dzdHIgIuihjeeUn+Wft+ihjCBmaW5hbHByb2cg5pmC55m855Sf6Yyv6KqkXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV3JvbmcgcGFzc3dvcmQuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLpjK/oqqTnmoTlr4bnorzjgIJcbiIKKworI34gbXNnaWQgInJlc3Bhd25pbmc6IFwiJXNcIiB0b28gZmFzdDogcXVlbmNoaW5nIGVudHJ5XG4iCisjfiBtc2dzdHIgInJlc3Bhd25pbmfvvJrjgIwlc+OAjeWkquW/q++8muWBnOaBr+mgheebrlxuIgorCisjfiBtc2dpZCAiZm9yayBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAi6KGN55Sf5Z+36KGM5pmC5aSx5pWXXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBpbml0dGFiXG4iCisjfiBtc2dzdHIgIueEoeazlemWi+WVnyBpbml0dGFiXG4iCisKKyN+IG1zZ2lkICJubyBURVJNIG9yIGNhbm5vdCBzdGF0IHR0eVxuIgorI34gbXNnc3RyICLmspLmnIkgVEVSTSDmiJbnhKHms5Xlj5blvpcgdHR5IOeLgOaFi1xuIgorCisjfiBtc2dpZCAiZXJyb3IgYXQgc3RvcHBpbmcgc2VydmljZSBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAi5pa85YGc5q2i5pyN5YuZ44CMJXPjgI3mmYLnmbznlJ/pjK/oqqRcbiIKKworI34gbXNnaWQgIlN0b3BwZWQgc2VydmljZTogJXNcbiIKKyN+IG1zZ3N0ciAi5YGc5q2i55qE5pyN5YuZ77yaJXNcbiIKKworI34gbXNnaWQgImVycm9yIGF0IHN0YXJ0aW5nIHNlcnZpY2UgXCIlc1wiXG4iCisjfiBtc2dzdHIgIuaWvOmWi+Wni+acjeWLmeOAjCVz44CN5pmC55m855Sf6Yyv6KqkXG4iCisKKyN+IG1zZ2lkICIlczogQkFEIEVSUk9SIgorI34gbXNnc3RyICIlc++8muS4jeeVtueahOmMr+iqpCIKKworI34gbXNnaWQgIiVzOiB0aGUgZ3JvdXAgZmlsZSBpcyBidXN5LlxuIgorI34gbXNnc3RyICIlc++8mue+pOe1hOaqlOahiOW/meeijOS4reOAglxuIgorCisjfiBtc2dpZCAiJXM6IHRoZSAlcyBmaWxlIGlzIGJ1c3kgKCVzIHByZXNlbnQpXG4iCisjfiBtc2dzdHIgIiVzOiAlcyDmqpTmoYjlv5nnoozkuK0gKOebruWJjSAlcylcbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCB1bmxvY2sgJXM6ICVzICh5b3VyIGNoYW5nZXMgYXJlIHN0aWxsIGluICVzKVxuIgorI34gbXNnc3RyICIlc++8mueEoeazleino+mZpOmOluWumiAlczogJXMgKOaCqOeahOiuiuabtOaYr+S7jeeEtuWcqCAlcyDkuK0pXG4iCisKKyN+IG1zZ2lkICIlczogQ2Fubm90IGZvcmtcbiIKKyN+IG1zZ3N0ciAiJXPvvJrnhKHms5XooY3nlJ/ln7fooYxcbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAi55So5rOV77yaJXMgW2ZpbGVdXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3QgcmVhZCAlcy5cbiIKKyN+IG1zZ3N0ciAiJXPvvJrnhKHms5XoroDlj5YgJXPjgIJcbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCBzdGF0IHRlbXBvcmFyeSBmaWxlLlxuIgorI34gbXNnc3RyICIlc++8mueEoeazleWPluW+l+aaq+WtmOaqlOeLgOaFi+OAglxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHJlYWQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVz77ya54Sh5rOV6K6A5Y+W5pqr5a2Y5qqU44CCXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogY2FsIFstMTNzbWp5Vl0gW1tbZGF5XSBtb250aF0geWVhcl1cbiIKKyN+IG1zZ3N0ciAi55So5rOV77yaY2FsIFstMTNzbWp5Vl0gW1tb5pelXSDmnIhdIOW5tF1cbiIKKworI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvcjogJXMiCisjfiBtc2dzdHIgIiVz77ya5YmW5p6Q6Yyv6Kqk77yaJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iCisjfiAiIC1tLCAtLW10YWIgICAgICAgICAgICAgc2VhcmNoIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKKyN+ICIgLWssIC0ta2VybmVsICAgICAgICAgICBzZWFyY2ggaW4ga2VybmVsIHRhYmxlIG9mIG1vdW50ZWQgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXN5c3RlbXMgKGRlZmF1bHQpXG4iCisjfiAiXG4iCisjfiAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKKyN+ICIgLWQsIC0tZGlyZWN0aW9uIDx3b3JkPiBzZWFyY2ggZGlyZWN0aW9uIC0gJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKKyN+ICIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBwcmludCBhbGwgVEFHcyAoTEFCRUwvVVVJRCkgZXZhbHVhdGVkXG4iCisjfiAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorI34gIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVydCBzZW5zZSBvZiBtYXRjaGluZ1xuIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXB1dFxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCisjfiAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCisjfiAiIC1PLCAtLW9wdGlvbnMgPGxpc3Q+ICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBtb3VudCBvcHRpb25zXG4iCisjfiAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgb3V0cHV0IGNvbHVtbnNcbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IGZvcm1hdCBvdXRwdXRcbiIKKyN+ICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgYXNjaWkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorI34gIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSBieSBGUyB0eXBlc1xuIgorI34gIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIGRldmljZSwgTEFCRUw9IG9yIFVVSUQ9ZGV2aWNlXG4iCisjfiAiIC1ULCAtLXRhcmdldCA8c3RyaW5nPiAgbW91bnRwb2ludFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6YG46aCF77yaXG4iCisjfiAiIC1zLCAtLWZzdGFiICAgICAgICAgICAg5Zyo5qqU5qGI57O757Wx55qE6Z2c5oWL6KGo5qC85Lit5pCc5bCLXG4iCisjfiAiIC1tLCAtLW10YWIgICAgICAgICAgICAg5Zyo5o6b6LyJ5qqU5qGI57O757Wx55qE6KGo5qC85Lit5pCc5bCLXG4iCisjfiAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAg5Zyo5o6b6LyJ5qqU5qGI57O757Wx55qE5YWn5qC46KGo5qC85LitXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAg5pCc5bCLICjpoJDoqK0pXG4iCisjfiAiXG4iCisjfiAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAg5q2j5YmH5YyW5Y2w5Ye66Lev5b6RXG4iCisjfiAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4g5pCc5bCL5pa55ZCRIC0gJ2ZvcndhcmQnIOaIliAnYmFja3dhcmQnXG4iCisjfiAiIC1lLCAtLWV2YWx1YXRlICAgICAgICAg5Y2w5Ye65omA5pyJ5bey5rGC5YC85qiZ6KiYIChMQUJFTC9VVUlEKVxuIgorI34gIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIOWPquWNsOWHuuesrOS4gOWAi+aJvuWIsOeahOaqlOahiOezu+e1sVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIOWNsOWHuumAmeWAi+iqquaYjlxuIgorI34gIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIOWPjeWQkeespuWQiOaWueW8j1xuIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICAgIOS9v+eUqOa4heWWruagvOW8j+i8uOWHulxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIOS4jeWIl+WNsOaomemgrVxuIgorI34gIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIOS4jeaIquaWt+ebtOashOS4reeahOaWh+Wtl1xuIgorI34gIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIOS+neaOm+i8iemBuOmghemZkOWItuaqlOahiOezu+e1sembhuWQiFxuIgorI34gIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIOi8uOWHuuebtOashFxuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICAgIOS9v+eUqOWOn+Wni+agvOW8j+i8uOWHulxuIgorI34gIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIOS9v+eUqCBhc2NpaSDlrZflhYPmlrzmqLnni4DmoLzlvI/ljJZcbiIKKyN+ICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICDkvp3mqpTmoYjns7vntbHpoZ7lnovpmZDliLbmqpTmoYjns7vntbHpm4blkIhcbiIKKyN+ICIgLVMsIC0tc291cmNlIDxzdHJpbmc+ICDoo53nva7jgIFMQUJFTD0g5oiWIFVVSUQ96KOd572uXG4iCisjfiAiIC1ULCAtLXRhcmdldCA8c3RyaW5nPiAg5o6b6LyJ6bueXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZpbmRtbnQoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLopoHnjbLlvpfmm7TlpJros4foqIroq4vlj4PnnIsgZmluZG1udCgxKeOAglxuIgorCisjfiBtc2dpZCAibG9nZ2VyOiAlczogJXMuXG4iCisjfiBtc2dzdHIgImxvZ2dlcu+8miVzOiAlc+OAglxuIgorCisjfiBtc2dpZCAidXNhZ2U6IGxvZ2dlciBbLWlzXSBbLWYgZmlsZV0gWy1wIHByaV0gWy10IHRhZ10gWy11IHNvY2tldF0gWyBtZXNzYWdlIC4uLiBdXG4iCisjfiBtc2dzdHIgIueUqOazle+8mmxvZ2dlciBbLWlzXSBbLWYgZmlsZV0gWy1wIHByaV0gWy10IHRhZ10gWy11IHNvY2tldF0gWyBtZXNzYWdlIOKApiBdXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogbG9vayBbLWRmYV0gWy10IGNoYXJdIHN0cmluZyBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAi55So5rOV77yabG9vayBbLWRmYV0gWy10IOWtl+WFg10g5a2X5LiyIFvmqpTmoYhdXG4iCisKKyN+IG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAlc1xuIgorI34gbXNnc3RyICLnhKHms5XplovllZ8gJXNcbiIKKworI34gbXNnaWQgIm91dCBvZiBtZW1vcnk/IgorI34gbXNnc3RyICLoqJjmhrbpq5TkuI3otrPvvJ8iCisKKyN+IG1zZ2lkICIlczogb3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICIlc++8muiomOaGtumrlOeUqOeboVxuIgorCisjfiBtc2dpZCAiY2FsbDogJXMgZnJvbSB0byBmaWxlcy4uLlxuIgorI34gbXNnc3RyICLlkbzlj6vvvJolcyDlgZrngrrnm67mqJnmqpTmoYjigKZcbiIKKworI34gbXNnaWQgInVzYWdlOiBzY3JpcHQgWy1hXSBbLWVdIFstZl0gWy1xXSBbLXRdIFtmaWxlXVxuIgorI34gbXNnc3RyICLnlKjms5XvvJpzY3JpcHQgWy1hXSBbLWVdIFstZl0gWy1xXSBbLXRdIFvmqpTmoYhdXG4iCisKKyN+IG1zZ2lkICIlczogd3JpdGUgZXJyb3IgJWQ6ICVzXG4iCisjfiBtc2dzdHIgIiVz77ya5a+r5YWl6Yyv6KqkICVk77yaJXNcbiIKKworI34gbXNnaWQgIiVzOiB3cml0ZSBlcnJvcjogJXNcbiIKKyN+IG1zZ3N0ciAiJXPvvJrlr6vlhaXpjK/oqqTvvJolc1xuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gdGltaW5nIGZpbGUgJXMiCisjfiBtc2dzdHIgIueEoeazlemWi+WVn+aZguW6j+aqlOahiCAlcyIKKworI34gbXNnaWQgIiAgWyAtc25vdyBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtc25vdyBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXNvZnRzY3JvbGwgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLXNvZnRzY3JvbGwgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1mb3JlZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1mb3JlZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdCBdXG4iCisjfiBtc2dzdHIgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdCBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWJhY2tncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWJhY2tncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAiICBbIC11bGNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLXVsY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlIF1cbiIKKyN+IG1zZ3N0ciAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXVsY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC11bGNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLWhiY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtaGJjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtaGJjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWhiY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtc3RhbmRvdXQgWyBhdHRyIF0gXVxuIgorI34gbXNnc3RyICIgIFsgLXN0YW5kb3V0IFsgYXR0ciBdIF1cbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWRdIFstcCBwaWRmaWxlXSBbLXMgc29ja2V0cGF0aF0gWy1UIHRpbWVvdXRdXG4iCisjfiBtc2dzdHIgIueUqOazle+8miVzIFstZF0gWy1wIHBpZGZpbGVdIFstcyDpgJroqIrnq6/ot6/lvpFdIFstVCDpgL7mmYJdXG4iCisKKyN+IG1zZ2lkICIgICAgICAgJXMgWy1yfHRdIFstbiBudW1dIFstcyBzb2NrZXRwYXRoXVxuIgorI34gbXNnc3RyICIgICAgICAgJXMgWy1yfHRdIFstbiBudW1dIFstcyDpgJroqIrnq6/ot6/lvpFdXG4iCisKKyN+IG1zZ2lkICIgICAgICAgJXMgLWtcbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIC1rXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1yXSBbLXRdXG4iCisjfiBtc2dzdHIgIueUqOazle+8miVzIFstcl0gWy10XVxuIgorCisjfiBtc2dpZCAid2hlcmVpcyBbIC1zYm11IF0gWyAtU0JNIGRpciAuLi4gLWYgXSBuYW1lLi4uXG4iCisjfiBtc2dzdHIgIndoZXJlaXMgWyAtc2JtdSBdIFsgLVNCTSDnm67pjIQg4oCmIC1mIF0g5ZCN56ix4oCmXG4iCisKKyN+IG1zZ2lkICJXQVJOSU5HOiAlczogYXBwZWFycyB0byBjb250YWluICclcycgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICLorablkYrvvJolc++8muS8vOS5juWMheWQq+OAjCVz44CN5YiG5Ymy6KGoIgorCisjfiBtc2dpZCAibm8gbWFnaWMgc3RyaW5nIGZvdW5kIGF0IG9mZnNldCAweCVqeCAtLSBpZ25vcmVkIgorI34gbXNnc3RyICLmib7kuI3liLDku7vkvZXprZTooZPlrZfkuLLmlrzlgY/np7vlgLwgMHglanggLS0g5b+955WlIgorCisjfiBtc2dpZCAiaW52YWxpZCBvZmZzZXQgdmFsdWUgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIuaMh+WumuS6hueEoeaViOeahOWBj+enu+WAvOOAjCVz44CNIgorCisjfiBtc2dpZCAidXNhZ2U6IHdyaXRlIHVzZXIgW3R0eV1cbiIKKyN+IG1zZ3N0ciAi55So5rOV77yad3JpdGUgdXNlciBbdHR5XVxuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3Qgc2V0IGNhcGFjaXR5IG9uIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcO+8mueEoeazleioreWumuijnee9ruS4iueahOWuuemHjyAlc++8miVzXG4iCisKKyN+IG1zZ2lkICIsIG9mZnNldCAlPFBSSXU2ND4iCisjfiBtc2dzdHIgIu+8jOWBj+enu+WAvCAlPFBSSXU2ND4iCisKKyN+IG1zZ2lkICIsIGVuY3J5cHRpb24gdHlwZSAlZFxuIgorI34gbXNnc3RyICLvvIzliqDlr4bpoZ7lnosgJWRcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IGdldCBpbmZvIG9uIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcO+8mueEoeazleWPluW+l+ijnee9ruS4iueahOizh+ioiiAlczogJXNcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IG9wZW4gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29w77ya54Sh5rOV6ZaL5ZWf6KOd572uICVzOiAlc1xuIgorCisjfiBtc2dpZCAiJXM6IC9kZXYgZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0LiIKKyN+IG1zZ3N0ciAiJXPvvJovZGV2IOebrumMhOS4jeWtmOWcqOOAgiIKKworI34gbXNnaWQgIiVzOiBubyBwZXJtaXNzaW9uIHRvIGxvb2sgYXQgL2Rldi9sb29wJXM8Tj4iCisjfiBtc2dzdHIgIiVz77ya54Sh5qyK6ZmQ5Y+v5p+l55yLIC9kZXYvbG9vcCVzPE4+IgorCisjfiBtc2dpZCAiIgorI34gIiVzOiBDb3VsZCBub3QgZmluZCBhbnkgbG9vcCBkZXZpY2UuIE1heWJlIHRoaXMga2VybmVsIGRvZXMgbm90IGtub3dcbiIKKyN+ICIgICAgICAgYWJvdXQgdGhlIGxvb3AgZGV2aWNlPyAoSWYgc28sIHJlY29tcGlsZSBvciBgbW9kcHJvYmUgbG9vcCcuKSIKKyN+IG1zZ3N0ciAiIgorI34gIiVz77ya5om+5LiN5Yiw5Lu75L2V55Kw6Lev6KOd572u44CC5Lmf6Kix6YCZ5YCL5YWn5qC45LiN6KqN6K2YXG4iCisjfiAiICAgICAg5LuA6bq85piv55Kw6Lev6KOd572u77yfKOWmguaenOaYr+mAmeaoo++8jOiri+mHjeaWsOe3qOitr+aIluWft+ihjOOAjG1vZHByb2JlIGxvb3DjgI3jgIIpIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSB3aGlsZSByZWFkaW5nIHBhc3NwaHJhc2UiCisjfiBtc2dzdHIgIuiugOWPluWvhuiqnuaZguiomOaGtumrlOS4jei2syIKKworI34gbXNnaWQgIndhcm5pbmc6ICVzIGlzIGFscmVhZHkgYXNzb2NpYXRlZCB3aXRoICVzXG4iCisjfiBtc2dzdHIgIuitpuWRiu+8miVzIOW3sue2k+WSjCAlcyDnm7jpl5zoga9cbiIKKworI34gbXNnaWQgIndhcm5pbmc6ICVzOiBpcyB3cml0ZS1wcm90ZWN0ZWQsIHVzaW5nIHJlYWQtb25seS5cbiIKKyN+IG1zZ3N0ciAi6K2m5ZGK77yaJXPvvJrngrrpmLLlr6vvvIzkvb/nlKjllK/oroDjgIJcbiIKKworI34gbXNnaWQgImlvY3RsIExPT1BfU0VUX0ZEIGZhaWxlZDogJXNcbiIKKyN+IG1zZ3N0ciAiaW9jdGwgTE9PUF9TRVRfRkQg5aSx5pWX77yaJXNcbiIKKworI34gbXNnaWQgInNldF9sb29wKCVzLCVzLCVsbHUsJWxsdSk6IHN1Y2Nlc3NcbiIKKyN+IG1zZ3N0ciAic2V0X2xvb3AoJXMsJXMsJWxsdSwlbGx1Ke+8muaIkOWKn1xuIgorCisjfiBtc2dpZCAiZGVsX2xvb3AoJXMpOiBzdWNjZXNzXG4iCisjfiBtc2dzdHIgImRlbF9sb29wKCVzKe+8muaIkOWKn1xuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3QgZGVsZXRlIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcO+8mueEoeazleWIqumZpOijnee9riAlczogJXNcbiIKKworI34gbXNnaWQgIlRoaXMgbW91bnQgd2FzIGNvbXBpbGVkIHdpdGhvdXQgbG9vcCBzdXBwb3J0LiBQbGVhc2UgcmVjb21waWxlLlxuIgorI34gbXNnc3RyICLpgJnlgIsgbW91bnQg56iL5byP57eo6K2v5pmC5LiN5YW355Kw6Lev5pSv5o+044CC6KuL6YeN5paw57eo6K2v44CCXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICUxJHMgbG9vcF9kZXZpY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdpdmUgaW5mb1xuIgorI34gIiAlMSRzIC1hIHwgLS1hbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkXG4iCisjfiAiICUxJHMgLWQgfCAtLWRldGFjaCA8bG9vcGRldj4gWzxsb29wZGV2PiAuLi5dIGRlbGV0ZVxuIgorI34gIiAlMSRzIC1mIHwgLS1maW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaW5kIHVudXNlZFxuIgorI34gIiAlMSRzIC1jIHwgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICAgICAgICAgICByZXNpemVcbiIKKyN+ICIgJTEkcyAtaiB8IC0tYXNzb2NpYXRlZCA8ZmlsZT4gWy1vIDxudW0+XSAgICAgbGlzdCBhbGwgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorI34gIiAlMSRzIFsgb3B0aW9ucyBdIHstZnwtLWZpbmR8bG9vcGRldn0gPGZpbGU+ICBzZXR1cFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi55So5rOV77yaXG4iCisjfiAiICUxJHMgbG9vcF9kZXZpY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaPkOS+m+izh+ioilxuIgorI34gIiAlMSRzIC1hIHwgLS1hbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDliJflh7rmiYDmnInlt7LnlKjnmoRcbiIKKyN+ICIgJTEkcyAtZCB8IC0tZGV0YWNoIDxsb29wZGV2PiBbPGxvb3BkZXY+Li4uXSAg5Yiq6ZmkXG4iCisjfiAiICUxJHMgLWYgfCAtLWZpbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOWwi+aJvuacquS9v+eUqOeahFxuIgorI34gIiAlMSRzIC1jIHwgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICAgICAgICAgICDoqr/mlbTlpKflsI9cbiIKKyN+ICIgJTEkcyAtaiB8IC0tYXNzb2NpYXRlZCA8ZmlsZT5bLW8gPG51bT5dICAgICAg5YiX5Ye65omA5pyJ6IiHIDxmaWxlPiDnm7jpl5zoga/nmoRcbiIKKyN+ICIgJTEkcyBb6YG46aCFXSB7LWZ8LS1maW5kfGxvb3BkZXZ9IDxmaWxlPiAgICAgICDoqK3lrppcbiIKKworI34gbXNnaWQgIiVzOiBpbnZhbGlkIG9mZnNldCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiJXPvvJrmjIflrprkuobnhKHmlYjnmoTlgY/np7vlgLzjgIwlc+OAjSIKKworI34gbXNnaWQgIiVzOiBpbnZhbGlkIHNpemVsaW1pdCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiJXPvvJrmjIflrprkuobnhKHmlYjnmoTlpKflsI/pmZDliLbjgIwlc+OAjSIKKworI34gbXNnaWQgInN0b2xlbiBsb29wPSVzLi4udHJ5aW5nIGFnYWluXG4iCisjfiBtc2dzdHIgIuS4n+WkseeahOeSsOi3rz0lc+KApuWGjeippuS4gOasoVxuIgorCisjfiBtc2dpZCAiTm8gbG9vcCBzdXBwb3J0IHdhcyBhdmFpbGFibGUgYXQgY29tcGlsZSB0aW1lLiBQbGVhc2UgcmVjb21waWxlLlxuIgorI34gbXNnc3RyICLnt6jora/mmYLmnJ/lsLHlt7LkuI3mlK/mj7TnkrDot6/jgILoq4vph43mlrDnt6jora/jgIJcbiIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBvcGVuICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnTvvJrnhKHms5XplovllZ8gJXM6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlMSRzIC1hIFstZV0gWy12XSBbLWZdICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiICUxJHMgWy1wIHByaW9yaXR5XSBbLXZdIFstZl0gPHNwZWNpYWw+ICBlbmFibGUgZ2l2ZW4gc3dhcFxuIgorI34gIiAlMSRzIC1zICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgc3dhcCB1c2FnZSBzdW1tYXJ5XG4iCisjfiAiICUxJHMgLWggICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBoZWxwXG4iCisjfiAiICUxJHMgLVYgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLnlKjms5XvvJpcbiIKKyN+ICIgJTEkcyAtYSBbLWVdIFstdl0gWy1mXSAgICAgICAgICAgICDlvp4gL2V0Yy9mc3RhYiDllZ/nlKjlhajpg6jkuqTmj5vljYBcbiIKKyN+ICIgJTEkcyBbLXAg5YSq5YWI5qyKXSBbLXZdIFstZl0gPHNwZWNpYWw+IOWVn+eUqOe1puWumuS6pOaPm+WNgFxuIgorI34gIiAlMSRzIC1zICAgICAgICAgICAgICAgICAgICAgICAgICAgIOmhr+ekuuS6pOaPm+WNgOeUqOazleamguimgVxuIgorI34gIiAlMSRzIC1oICAgICAgICAgICAgICAgICAgICAgICAgICAgIOmhr+ekuuiqquaYjlxuIgorI34gIiAlMSRzIC1WICAgICAgICAgICAgICAgICAgICAgICAgICAgIOmhr+ekuueJiOacrFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlMSRzIC1hIFstdl0gICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgc3dhcHNcbiIKKyN+ICIgJTEkcyBbLXZdIDxzcGVjaWFsPiAgICAgICAgICAgICAgIGRpc2FibGUgZ2l2ZW4gc3dhcFxuIgorI34gIiAlMSRzIC1oICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBoZWxwXG4iCisjfiAiICUxJHMgLVYgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHZlcnNpb25cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIueUqOazle+8mlxuIgorI34gIiAlMSRzIC1hIFstdl0gICAgICAgICAgICAgICAgICAgICAg5YGc55So5omA5pyJ5Lqk5o+b5Y2AXG4iCisjfiAiICUxJHMgWy12XSA8c3BlY2lhbD4gICAgICAgICAgICAgICDlgZznlKjntablrprnmoTkuqTmj5vljYBcbiIKKyN+ICIgJTEkcyAtaCAgICAgICAgICAgICAgICAgICAgICAgICAgIOmhr+ekuuiqquaYjlxuIgorI34gIiAlMSRzIC1WICAgICAgICAgICAgICAgICAgICAgICAgICAg6aGv56S654mI5pysXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICInJXMnIGlzIHVuc3VwcG9ydGVkIHByb2dyYW0gbmFtZSAobXVzdCBiZSAnc3dhcG9uJyBvciAnc3dhcG9mZicpLiIKKyN+IG1zZ3N0ciAi44CMJXPjgI3ngrrkuI3lj5fmlK/mj7TnmoTnqIvlvI/lkI3nqLEgKOW/hemgiOaYr+OAjHN3YXBvbuOAjeaIluOAjHN3YXBvZmbjgI0p44CCIgorCisjfiBtc2dpZCAidW5rbm93blxuIgorI34gbXNnc3RyICLkuI3mmI5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJpb25pY2UgLSBzZXRzIG9yIGdldHMgcHJvY2VzcyBpbyBzY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eS5cbiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgIGlvbmljZSBbIG9wdGlvbnMgXSAtcCA8cGlkPiBbPHBpZD4gLi4uXVxuIgorI34gIiAgaW9uaWNlIFsgb3B0aW9ucyBdIDxjb21tYW5kPiBbPGFyZz4gLi4uXVxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiICAtbiA8Y2xhc3NkYXRhPiAgICAgIGNsYXNzIGRhdGEgKDAtNywgbG93ZXIgYmVpbmcgaGlnaGVyIHByaW8pXG4iCisjfiAiICAtYyA8Y2xhc3M+ICAgICAgICAgIHNjaGVkdWxpbmcgY2xhc3NcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCisjfiAiICAtdCAgICAgICAgICAgICAgICAgIGlnbm9yZSBmYWlsdXJlc1xuIgorI34gIiAgLWggICAgICAgICAgICAgICAgICB0aGlzIGhlbHBcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gImlvbmljZSAtIOioreWumuaIluWPluW+l+ihjOeoiyBpbyDmjpLnqIvpoZ7liKXlkozlhKrlhYjmrIrjgIJcbiIKKyN+ICJcbiIKKyN+ICLnlKjms5XvvJpcbiIKKyN+ICIgIGlvbmljZSBb6YG46aCFXSAtcCA8cGlkPiBbPHBpZD4uLi5dXG4iCisjfiAiICBpb25pY2UgW+mBuOmghV0gPGNvbW1hbmQ+IFs8YXJnPi4uLl1cbiIKKyN+ICJcbiIKKyN+ICLpgbjpoIXvvJpcbiIKKyN+ICIgIC1uIDxjbGFzc2RhdGE+ICAgICAg6aGe5Yil6LOH5paZICgwLTcsIOi8g+S9juiAheaciei8g+mrmOWEquWFiOasiilcbiIKKyN+ICIgIC1jIDxjbGFzcz4gICAgICAgICAg5o6S56iL6aGe5YilXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIDA654Sh77yMMTrljbPmmYLvvIwyOueboeWKm++8jDM66ZaS572uXG4iCisjfiAiICAtdCAgICAgICAgICAgICAgICAgIOW/veeVpeWkseaVl1xuIgorI34gIiAgLWggICAgICAgICAgICAgICAgICDpgJnlgIvoqqrmmI5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIkNQVSBtYXNrIgorI34gbXNnc3RyICJDUFUg6YGu572pIgorCisjfiBtc2dpZCAicGFyc2UgZXJyb3IgYXQgbGluZXM6ICIKKyN+IG1zZ3N0ciAi5YmW5p6Q6Yyv6Kqk55m855Sf5pa85YiX6Jmf77yaIgorCisjfiBtc2dpZCAiIGFuZCAlZC4iCisjfiBtc2dzdHIgIiDlkowgJWTjgIIiCisKKyN+IG1zZ2lkICJVc2FnZTogY3RybGFsdGRlbCBoYXJkfHNvZnRcbiIKKyN+IG1zZ3N0ciAi55So5rOV77yaY3RybGFsdGRlbCBoYXJkfHNvZnRcbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLXEgWy1pIGludGVydmFsXV0gKFstcyB2YWx1ZV18Wy1TIHZhbHVlXSkgKFstdCB2YWx1ZV18Wy1UIHZhbHVlXSkgWy1nfC1HXSBmaWxlIFtmaWxlLi4uXVxuIgorI34gbXNnc3RyICLnlKjms5XvvJolcyBbLXEgWy1pIGludGVydmFsXV0gKFstcyB2YWx1ZV18Wy1TIHZhbHVlXSkgKFstdCB2YWx1ZV18Wy1UIHZhbHVlXSkgWy1nfC1HXSBmaWxlIFtmaWxl4oCmXVxuIgorCisjfiBtc2dpZCAiQ2FuJ3Qgb3BlbiAlczogJXNcbiIKKyN+IG1zZ3N0ciAi54Sh5rOV6ZaL5ZWfICVzOiAlc1xuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstY10gWy1uIGxldmVsXSBbLXJdIFstcyBidWZzaXplXVxuIgorI34gbXNnc3RyICLnlKjms5XvvJolcyBbLWNdIFstbiDnrYnntJpdIFstcl0gWy1zIOe3qeihneWNgOWkp+Wwj11cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJTEkcyBbLXN4dW5dWy13ICNdIGZkI1xuIgorI34gIiAgICAgICAlMSRzIFstc3hvbl1bLXcgI10gZmlsZSBbLWNdIGNvbW1hbmQuLi5cbiIKKyN+ICIgICAgICAgJTEkcyBbLXN4b25dWy13ICNdIGRpcmVjdG9yeSBbLWNdIGNvbW1hbmQuLi5cbiIKKyN+ICIgIC1zICAtLXNoYXJlZCAgICAgR2V0IGEgc2hhcmVkIGxvY2tcbiIKKyN+ICIgIC14ICAtLWV4Y2x1c2l2ZSAgR2V0IGFuIGV4Y2x1c2l2ZSBsb2NrXG4iCisjfiAiICAtdSAgLS11bmxvY2sgICAgIFJlbW92ZSBhIGxvY2tcbiIKKyN+ICIgIC1uICAtLW5vbmJsb2NrICAgRmFpbCByYXRoZXIgdGhhbiB3YWl0XG4iCisjfiAiICAtdyAgLS10aW1lb3V0ICAgIFdhaXQgZm9yIGEgbGltaXRlZCBhbW91bnQgb2YgdGltZVxuIgorI34gIiAgLW8gIC0tY2xvc2UgICAgICBDbG9zZSBmaWxlIGRlc2NyaXB0b3IgYmVmb3JlIHJ1bm5pbmcgY29tbWFuZFxuIgorI34gIiAgLWMgIC0tY29tbWFuZCAgICBSdW4gYSBzaW5nbGUgY29tbWFuZCBzdHJpbmcgdGhyb3VnaCB0aGUgc2hlbGxcbiIKKyN+ICIgIC1oICAtLWhlbHAgICAgICAgRGlzcGxheSB0aGlzIHRleHRcbiIKKyN+ICIgIC1WICAtLXZlcnNpb24gICAgRGlzcGxheSB2ZXJzaW9uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLnlKjms5XvvJolMSRzIFstc3h1biBdWy13ICNdIGZkI1xuIgorI34gIiAgICAgICUxJHMgWy1zeG9uIF1bLXcgI10g5qqU5qGIIFstY10g5ZG95Luk4oCmXG4iCisjfiAiICAgICAgJTEkcyBbLXN4b24gXVstdyAjXSDnm67pjIQgWy1jXSDlkb3ku6TigKZcbiIKKyN+ICIgIC1zICAtLXNoYXJlZCAgICAg5Y+W5b6X5YWx5Lqr55qE6Y6W5a6aXG4iCisjfiAiICAteCAgLS1leGNsdXNpdmUgIOWPluW+l+WwiOeUqOeahOmOluWumlxuIgorI34gIiAgLXUgIC0tdW5sb2NrICAgICDnp7vpmaTpjpblrppcbiIKKyN+ICIgIC1uICAtLW5vbmJsb2NrICAg5aSx5pWX6ICM5LiN5piv562J5b6FXG4iCisjfiAiICAtdyAgLS10aW1lb3V0ICAgIOetieW+heS4gOauteWPl+mZkOWItueahOaZgumWk1xuIgorI34gIiAgLW8gIC0tY2xvc2UgICAgICDln7fooYzlkb3ku6TkuYvliY3pl5zplonmqpTmoYjmj4/ov7DnrKbomZ9cbiIKKyN+ICIgIC1jICAtLWNvbW1hbmQgICAg6YCP6YGO5ZG95Luk5q685Z+36KGM5Zau5LiA5ZG95Luk5a2X5LiyXG4iCisjfiAiICAtaCAgLS1oZWxwICAgICAgIOmhr+ekuumAmeWAi+iqquaYjlxuIgorI34gIiAgLVYgIC0tdmVyc2lvbiAgICDpoa/npLrniYjmnKxcbiIKKworI34gbXNnaWQgIiVzOiBiYWQgbnVtYmVyOiAlc1xuIgorI34gbXNnc3RyICIlc++8muS4jeeVtueahOaVuOWtl++8miVzXG4iCisKKyN+IG1zZ2lkICIlczogZm9yayBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgIiVz77ya6KGN55Sf5Z+36KGM5pmC5aSx5pWX77yaJXNcbiIKKworI34gbXNnaWQgIiVzOiBmc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgIiVz77yaZnN0YXQg5aSx5pWXIgorCisjfiBtc2dpZCAiIgorI34gIiAgLU0gPHNpemU+ICAgICBjcmVhdGUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IG9mIHNpemUgPHNpemU+XG4iCisjfiAiICAtUyA8bnNlbXM+ICAgIGNyZWF0ZSBzZW1hcGhvcmUgYXJyYXkgd2l0aCA8bnNlbXM+IGVsZW1lbnRzXG4iCisjfiAiICAtUSAgICAgICAgICAgIGNyZWF0ZSBtZXNzYWdlIHF1ZXVlXG4iCisjfiAiICAtcCA8bW9kZT4gICAgIHBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZSAoZGVmYXVsdCBpcyAwNjQ0KVxuIgorI34gbXNnc3RyICIiCisjfiAiICAtTSA8c2l6ZT4gICAgIOS7pSA8c2l6ZT4g5aSn5bCP5bu656uL5YWx55So6KiY5oa26auU6LOH5paZ5q61XG4iCisjfiAiICAtUyA8bnNlbXM+ICAgIOS7pSA8bnNlbXM+IOWFg+S7tuW7uueri+iZn+iqjOmZo+WIl1xuIgorI34gIiAgLVEgICAgICAgICAgICDlu7rnq4voqIrmga/kvYfliJdcbiIKKyN+ICIgIC1wIDxtb2RlPiAgICAg55So5pa86LOH5rqQ55qE5qyK6ZmQICjpoJDoqK3mmK8gMDY0NClcbiIKKworI34gbXNnaWQgImRlcHJlY2F0ZWQgdXNhZ2U6ICVzIHtzaG0gfCBtc2cgfCBzZW19IGlkIC4uLlxuIgorI34gbXNnc3RyICLkuI3lrpznlKjms5XvvJolcyB7c2htIHwgbXNnIHwgc2VtfSBpZCDigKZcbiIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWyBbLXEgbXNxaWRdIFstbSBzaG1pZF0gWy1zIHNlbWlkXVxuIgorI34gIiAgICAgICAgICBbLVEgbXNna2V5XSBbLU0gc2hta2V5XSBbLVMgc2Vta2V5XSAuLi4gXVxuIgorI34gbXNnc3RyICIiCisjfiAi55So5rOV77yaJXMgWyBbLXEgbXNxaWRdIFstbSBzaG1pZF0gWy1zIHNlbWlkXVxuIgorI34gIiAgICAgICAgICBbLVEgbXNna2V5XSBbLU0gc2hta2V5XSBbLVMgc2Vta2V5XSAuLi4gXVxuIgorCisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgb3B0aW9uIC0tICVjXG4iCisjfiBtc2dzdHIgIiVz77ya5LiN5ZCI5rOV55qE6YG46aCFIOKUgCAlY1xuIgorCisjfiBtc2dpZCAidW5rbm93biBlcnJvciBpbiBrZXkiCisjfiBtc2dzdHIgIumNteWAvOeZvOeUn+S4jeaYjumMr+iqpCIKKworI34gbXNnaWQgInVua25vd24gZXJyb3IgaW4gaWQiCisjfiBtc2dzdHIgIuitmOWIpeiZn+eZvOeUn+S4jeaYjumMr+iqpCIKKworI34gbXNnaWQgIiVzOiAlcyAoJXMpXG4iCisjfiBtc2dzdHIgIiVzOiAlcyAoJXMpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICUxJHMgWy1hc21xXSBbLXR8LWN8LWx8LXV8LXBdXG4iCisjfiAiICAgICAgICUxJHMgWy1zfC1tfC1xXSAtaSBpZFxuIgorI34gIiAgICAgICAlMSRzIC1oIGZvciBoZWxwXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLnlKjms5XvvJolMSRzIFstYXNtcV0gWy10fC1jfC1sfC11fC1wXVxuIgorI34gIiAgICAgICUxJHMgWy1zfC1tfC1xXSAtaSDorZjliKXomZ9cbiIKKyN+ICIgICAgICAlMSRzIC1oIOS7peeNsuW+l+iqquaYjlxuIgorCisjfiBtc2dpZCAiIgorI34gIlJlc291cmNlIG9wdGlvbnM6XG4iCisjfiAiICAgIC1tICAgICAgc2hhcmVkIG1lbW9yeSBzZWdtZW50c1xuIgorI34gIiAgICAtcSAgICAgIG1lc3NhZ2UgcXVldWVzXG4iCisjfiAiICAgIC1zICAgICAgc2VtYXBob3Jlc1xuIgorI34gIiAgICAtYSAgICAgIGFsbCAoZGVmYXVsdClcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIuizh+a6kOmBuOmghe+8mlxuIgorI34gIiAgICAtbSAgICAgIOWFseeUqOiomOaGtumrlOizh+aWmeautVxuIgorI34gIiAgICAtcSAgICAgIOioiuaBr+S9h+WIl1xuIgorI34gIiAgICAtcyAgICAgIOiZn+iqjFxuIgorI34gIiAgICAtYSAgICAgIOWFqOmDqCAo6aCQ6KitKVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIk91dHB1dCBmb3JtYXQ6XG4iCisjfiAiICAgIC10ICAgICAgdGltZVxuIgorI34gIiAgICAtcCAgICAgIHBpZFxuIgorI34gIiAgICAtYyAgICAgIGNyZWF0b3JcbiIKKyN+ICIgICAgLWwgICAgICBsaW1pdHNcbiIKKyN+ICIgICAgLXUgICAgICBzdW1tYXJ5XG4iCisjfiBtc2dzdHIgIiIKKyN+ICLovLjlh7rmoLzlvI/vvJpcbiIKKyN+ICIgICAgLXQgICAgICDmmYLplpNcbiIKKyN+ICIgICAgLXAgICAgICBwaWRcbiIKKyN+ICIgICAgLWMgICAgICDlu7rnq4vogIVcbiIKKyN+ICIgICAgLWwgICAgICDpmZDluqZcbiIKKyN+ICIgICAgLXUgICAgICDmpoLopoFcbiIKKworI34gbXNnaWQgInNlZ21lbnRzIGFsbG9jYXRlZCAlZFxuIgorI34gbXNnc3RyICLlt7LphY3nva7os4fmlpnmrrUgJWRcbiIKKworI34gbXNnaWQgInBhZ2VzIGFsbG9jYXRlZCAlbGRcbiIKKyN+IG1zZ3N0ciAi5bey6YWN572u6KiY5oa26auU6aCBICVsZFxuIgorCisjfiBtc2dpZCAicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorI34gbXNnc3RyICLluLjpp5DoqJjmhrbpq5TpoIEgICVsZFxuIgorCisjfiBtc2dpZCAicGFnZXMgc3dhcHBlZCAgICVsZFxuIgorI34gbXNnc3RyICLlt7LkuqTmj5voqJjmhrbpq5TpoIEgICAlbGRcbiIKKworI34gbXNnaWQgIlN3YXAgcGVyZm9ybWFuY2U6ICVsZCBhdHRlbXB0c1x0ICVsZCBzdWNjZXNzZXNcbiIKKyN+IG1zZ3N0ciAi5Lqk5o+b5pWI6IO977yaJWxkIOasoeWYl+ipplx0JWxkIOasoeaIkOWKn1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOiAlcyBbIC1kaFY3OG5lbzEyIF0gWyAtcyA8c3BlZWQ+IF0gWyAtaSBbLV08aWZsYWc+IF0gPGxkaXNjPiA8ZGV2aWNlPlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi55So5rOV77yaJXMgWyAtZGhWNzhuZW8xMiBdIFsgLXMgPHNwZWVkPiBdIFsgLWkgWy1dPGlmbGFnPiBdIDxsZGlzYz4gPGRldmljZT5cbiIKKworI34gbXNnaWQgImxkYXR0YWNoIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAibGRhdHRhY2gg6IeqICVzXG4iCisKKyN+IG1zZ2lkICJlcnJvcjogY2Fubm90IG9wZW4gJXMiCisjfiBtc2dzdHIgIumMr+iqpO+8mueEoeazlemWi+WVnyAlcyIKKworI34gbXNnaWQgImVycm9yOiBzdHJkdXAgZmFpbGVkIgorI34gbXNnc3RyICLpjK/oqqTvvJpzdHJkdXAg5aSx5pWXIgorCisjfiBtc2dpZCAiZXJyb3I6IGNhbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgIumMr+iqpO+8mmNhbGxvYyDlpLHmlZciCisKKyN+IG1zZ2lkICIiCisjfiAiQ1BVIGFyY2hpdGVjdHVyZSBpbmZvcm1hdGlvbiBoZWxwZXJcbiIKKyN+ICJcbiIKKyN+ICIgIC1oLCAtLWhlbHAgICAgIHVzYWdlIGluZm9ybWF0aW9uXG4iCisjfiAiICAtcCwgLS1wYXJzZSAgICBwcmludCBvdXQgaW4gcGFyc2FibGUgaW5zdGVhZCBvZiBwcmludGFibGUgZm9ybWF0LlxuIgorI34gIiAgLXMsIC0tc3lzcm9vdCAgdXNlIHRoZSBkaXJlY3RvcnkgYXMgYSBuZXcgc3lzdGVtIHJvb3QuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJDUFUg5p625qeL6LOH6KiK6LyU5Yqp56iL5byPXG4iCisjfiAiXG4iCisjfiAiICAtaCwgLS1oZWxwICAgICDnlKjms5Xos4foqIpcbiIKKyN+ICIgIC1wLCAtLXBhcnNlICAgIOS7peWPr+WJluaekOagvOW8j+WNsOWHuuS7peS7o+abv+WPr+WIl+WNsOagvOW8j+OAglxuIgorI34gIiAgLXMsIC0tc3lzcm9vdCAg5L2/55So5q2k55uu6YyE5YGa54K65paw57O757Wx55qE5qC555uu6YyE44CCXG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5IgorI34gbXNnc3RyICLoqJjmhrbpq5TkuI3otrMiCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IFVzYWdlOiBcIiVzIFtvcHRpb25zXVxuIgorI34gIlx0IC1tIDxtYXBmaWxlPiAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCisjfiAiXHRcdFx0XHQgIFwiJXNcIilcbiIKKyN+ICJcdCAtcCA8cHJvLWZpbGU+IChkZWZhdWx0OiBcIiVzXCIpXG4iCisjfiAiXHQgLU0gPG11bHQ+ICAgICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorI34gIlx0IC1pICAgICAgICAgICAgcHJpbnQgb25seSBpbmZvIGFib3V0IHRoZSBzYW1wbGluZyBzdGVwXG4iCisjfiAiXHQgLXYgICAgICAgICAgICBwcmludCB2ZXJib3NlIGRhdGFcbiIKKyN+ICJcdCAtYSAgICAgICAgICAgIHByaW50IGFsbCBzeW1ib2xzLCBldmVuIGlmIGNvdW50IGlzIDBcbiIKKyN+ICJcdCAtYiAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgaGlzdG9ncmFtLWJpbiBjb3VudHNcbiIKKyN+ICJcdCAtcyAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgY291bnRlcnMgd2l0aGluIGZ1bmN0aW9uc1xuIgorI34gIlx0IC1yICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorI34gIlx0IC1uICAgICAgICAgICAgZGlzYWJsZSBieXRlIG9yZGVyIGF1dG8tZGV0ZWN0aW9uXG4iCisjfiAiXHQgLVYgICAgICAgICAgICBwcmludCB2ZXJzaW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlc++8mueUqOazle+8mlwiJXMgW29wdGlvbnNdXG4iCisjfiAiXHQgLW0gPG1hcGZpbGU+ICAo6aCQ6Kit5YC877yaXCIlc1wiIOWSjFxuIgorI34gIlx0XHRcdFx0ICBcIiVzXCIpXG4iCisjfiAiXHQgLXAgPHByby1maWxlPiAo6aCQ6Kit77yaXCIlc1wiKVxuIgorI34gIlx0IC1NIDxtdWx0PiAgICAg6Kit5a6a5YG05a+r5qqU6KSH6KO95Zmo54K6PG11bHQ+XG4iCisjfiAiXHQgLWkgICAgICAgICAgICDlj6rljbDlh7rmnInpl5zlj5bmqKPnjofnmoTos4foqIpcbiIKKyN+ICJcdCAtdiAgICAgICAgICAgIOWNsOWHuuips+e0sOeahOizh+aWmVxuIgorI34gIlx0IC1hICAgICAgICAgICAg5Y2z5L2/6KiI5pW454K6IDAg5Lmf5Y2w5Ye65omA5pyJ56ym6JmfXG4iCisjfiAiXHQgLWIgICAgICAgICAgICDljbDlh7rlgIvliKUgaGlzdG9ncmFtLWJpbiDoqIjmlbhcbiIKKyN+ICJcdCAtcyAgICAgICAgICAgIOWNsOWHuuWHveW8j+WFp+WAi+WIpeioiOaVuOWZqFxuIgorI34gIlx0IC1yICAgICAgICAgICAg6YeN572u5omA5pyJ6KiI5pW45ZmoKOWPqumZkCByb290IOS9v+eUqClcbiIKKyN+ICJcdCAtbiAgICAgICAgICAgIOWBnOeUqOS9jeWFg+e1hOasoeW6j+eahOiHquWLleWBtea4rFxuIgorI34gIlx0IC1WICAgICAgICAgICAg5Y2w5Ye654mI5pys54S25b6M6Zui6ZaLXG4iCisKKyN+IG1zZ2lkICJyZWFkcHJvZmlsZTogZXJyb3Igd3JpdGluZyAlczogJXNcbiIKKyN+IG1zZ3N0ciAicmVhZHByb2ZpbGXvvJrlr6vlhaUgJXMg5pmC6Yyv6Kqk77yaJXNcbiIKKworI34gbXNnaWQgInJlbmljZTogJXM6IHVua25vd24gdXNlclxuIgorI34gbXNnc3RyICJyZW5pY2XvvJolczog5LiN5piO55qE5L2/55So6ICFXG4iCisKKyN+IG1zZ2lkICJyZW5pY2U6ICVzOiBiYWQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAicmVuaWNl77yaJXM6IOS4jeeVtueahOWAvFxuIgorCisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgaW50ZXJ2YWwgJXMgc2Vjb25kc1xuIgorI34gbXNnc3RyICIlc++8muS4jeWQiOazleeahCAlcyDnp5LplpPpmpRcbiIKKworI34gbXNnaWQgIiVzOiBpbGxlZ2FsIHRpbWVfdCB2YWx1ZSAlc1xuIgorI34gbXNnc3RyICIlc++8muS4jeWQiOazleeahCB0aW1lX3Qg5YC8ICVzXG4iCisKKyN+IG1zZ2lkICJydGMgcmVhZCIKKyN+IG1zZ3N0ciAicnRjIOiugOWPliIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgc2V0YXJjaCg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuimgeeNsuW+l+abtOWkmuizh+ioiuiri+WPg+eciyBzZXRhcmNoKDgp44CCXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgcHJvZ3JhbSBbYXJnIC4uLl1cbiIKKyN+IG1zZ3N0ciAi55So5rOV77yaJXMg56iL5byPIFvlvJXmlbjigKZdXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIDxkZXZpY2U+IFsgLWkgPElSUT4gfCAtdCA8VElNRT4gfCAtYyA8Q0hBUlM+IHwgLXcgPFdBSVQ+IHwgXG4iCisjfiAiICAgICAgICAgIC1hIFtvbnxvZmZdIHwgLW8gW29ufG9mZl0gfCAtQyBbb258b2ZmXSB8IC1xIFtvbnxvZmZdIHwgLXMgfCBcbiIKKyN+ICIgICAgICAgICAgLVQgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIiCisjfiAi55So5rOV77yaJXMgPOijnee9rj4gWyAtaSA8SVJRPiB8IC10IDzmmYLplpM+IHwgLWMgPOWtl+WFgz4gfCAtdyA8562J5b6FPiB8IFxuIgorI34gIiAgICAgICAgICAtYSBbb258b2ZmXSB8IC1vIFtvbnxvZmZdIHwgLUMgW29ufG9mZl0gfCAtcSBbb258b2ZmXSB8IC1zIHwgXG4iCisjfiAiICAgICAgICAgIC1UIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIm1hbGxvYyBlcnJvciIKKyN+IG1zZ3N0ciAibWFsbG9jIOmMr+iqpCIKKworI34gbXNnaWQgImNvbDogYmFkIC1sIGFyZ3VtZW50ICVzLlxuIgorI34gbXNnc3RyICJjb2zvvJrkuI3nlbbnmoQgLWwg5byV5pW4ICVz44CCXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogY29sIFstYmZweF0gWy1sIG5saW5lXVxuIgorI34gbXNnc3RyICLnlKjms5XvvJpjb2wgWy1iZnB4XSBbLWwg5YiX5pW4XVxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLSBdIFsgLTIgXSBbIGZpbGUgLi4uIF1cbiIKKyN+IG1zZ3N0ciAi55So5rOV77yaJXMgWyAtIF0gWyAtMiBdIFvmqpTmoYjigKZdXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogY29sdW1uIFstdHhdIFstYyBjb2x1bW5zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIueUqOazle+8mmNvbHVtbiBbLXR4XSBbLWMg5qyE5pW4XSBb5qqU5qGI4oCmXVxuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogYmFkIGxlbmd0aCB2YWx1ZS5cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcO+8muS4jeeVtueahOmVt+W6puWAvOOAglxuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogYmFkIHNraXAgdmFsdWUuXG4iCisjfiBtc2dzdHIgImhleGR1bXDvvJrkuI3nlbbnmoTot7PpgY7lgLzjgIJcbiIKKworI34gbXNnaWQgImhleGR1bXA6IFstYmNDZG92eF0gWy1lIGZtdF0gWy1mIGZtdF9maWxlXSBbLW4gbGVuZ3RoXSBbLXMgc2tpcF0gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJoZXhkdW1w77yaWy1iY0Nkb3Z4XSBbLWUg5qC85byPXSBbLWYg5qC85byP5qqU5qGIXSBbLW4g6ZW35bqmXSBbLXMg6Lez6YGOXSBb5qqU5qGIIOKApl1cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbLWRmbHBjc3VdIFsrbGluZW51bSB8ICsvcGF0dGVybl0gbmFtZTEgbmFtZTIgLi4uXG4iCisjfiBtc2dzdHIgIueUqOazle+8miVzIFstZGZscGNzdV0gWyvliJfomZ8gfCArL+W8j+aoo10g5ZCN56ix5LiAIOWQjeeoseS6jOKAplxuIgorCisjfiBtc2dpZCAib2Q6IG9kKDEpIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIGhleGR1bXAoMSkuXG4iCisjfiBtc2dzdHIgIm9k77yab2QoMSkg5bey5LiN5a6c55So5pa8IGhleGR1bXAoMSnjgIJcbiIKKworI34gbXNnaWQgIm9kOiBoZXhkdW1wKDEpIGNvbXBhdGliaWxpdHkgZG9lc24ndCBzdXBwb3J0IHRoZSAtJWMgb3B0aW9uJXNcbiIKKyN+IG1zZ3N0ciAib2TvvJpoZXhkdW1wKDEpIOeahOebuOWuueaAp+S4jeaUr+aPtCAtJWMg6YG46aCFJXNcbiIKKworI34gbXNnaWQgIjsgc2VlIHN0cmluZ3MoMSkuIgorI34gbXNnc3RyICLvvJvlj4PnnIsgc3RyaW5ncygxKeOAgiIKKworI34gbXNnaWQgImhleGR1bXA6IGNhbid0IHJlYWQgJXMuXG4iCisjfiBtc2dzdHIgImhleGR1bXDvvJrnhKHms5XoroDlj5YgJXPjgIJcbiIKKworI34gbXNnaWQgImhleGR1bXA6IGxpbmUgdG9vIGxvbmcuXG4iCisjfiBtc2dzdHIgImhleGR1bXDvvJrliJflpKrplbfjgIJcbiIKKworI34gbXNnaWQgIk91dCBvZiBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAi6KiY5oa26auU5LiN6LazXG4iCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiAiCisjfiBtc2dzdHIgIueEoeazlemWi+WVnyAiCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyc3BhY2UiCisjfiBtc2dzdHIgIueEoeazlemFjee9rue3qeihneWNgOepuumWkyIKKworI34gbXNnaWQgInVzYWdlOiByZXYgW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICLnlKjms5XvvJpyZXYgW+aqlOahiOKApl1cbiIKKworI34gbXNnaWQgInVzYWdlOiB0YWlsZiBbLW4gTiB8IC1OXSBsb2dmaWxlIgorI34gbXNnc3RyICLnlKjms5XvvJp0YWlsZiBbLW4gTiB8IC1OXSDml6XoqozmqpTmoYgiCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtaSBdIFsgLXRUZXJtIF0gZmlsZS4uLlxuIgorI34gbXNnc3RyICLnlKjms5XvvJolcyBbIC1pIF0gWyAtdFRlcm0gXSDmqpTmoYjigKZcbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIuXG4iCisjfiBtc2dzdHIgIueEoeazlemFjee9rue3qeihneWNgOOAglxuIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSB3aGVuIGdyb3dpbmcgYnVmZmVyLlxuIgorI34gbXNnc3RyICLnt6nooZ3ljYDmiJDplbfmmYLnmbznlJ/oqJjmhrbpq5TkuI3otrPjgIJcbiIKZGlmZiAtLWdpdCBhL3NjaGVkdXRpbHMvTWFrZW1vZHVsZS5hbSBiL3NjaGVkdXRpbHMvTWFrZW1vZHVsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMzJkMmIzCi0tLSAvZGV2L251bGwKKysrIGIvc2NoZWR1dGlscy9NYWtlbW9kdWxlLmFtCkBAIC0wLDAgKzEsMjAgQEAKK2lmIEJVSUxEX0NIUlQKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IGNocnQKK2Rpc3RfbWFuX01BTlMgKz0gc2NoZWR1dGlscy9jaHJ0LjEKK2NocnRfU09VUkNFUyA9IHNjaGVkdXRpbHMvY2hydC5jCitjaHJ0X0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCitlbmRpZgorCitpZiBCVUlMRF9JT05JQ0UKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IGlvbmljZQorZGlzdF9tYW5fTUFOUyArPSBzY2hlZHV0aWxzL2lvbmljZS4xCitpb25pY2VfU09VUkNFUyA9IHNjaGVkdXRpbHMvaW9uaWNlLmMKK2lvbmljZV9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQorZW5kaWYKKworaWYgQlVJTERfVEFTS1NFVAordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gdGFza3NldAorZGlzdF9tYW5fTUFOUyArPSBzY2hlZHV0aWxzL3Rhc2tzZXQuMQordGFza3NldF9TT1VSQ0VTID0gc2NoZWR1dGlscy90YXNrc2V0LmMKK3Rhc2tzZXRfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEKK2VuZGlmCmRpZmYgLS1naXQgYS9zY2hlZHV0aWxzL2NocnQuMSBiL3NjaGVkdXRpbHMvY2hydC4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2OWI0ZmQKLS0tIC9kZXYvbnVsbAorKysgYi9zY2hlZHV0aWxzL2NocnQuMQpAQCAtMCwwICsxLDE3MyBAQAorLlwiIGNocnQoMSkgbWFucGFnZQorLlwiCisuXCIgQ29weXJpZ2h0IChDKSAyMDA0IFJvYmVydCBMb3ZlCisuXCIgQ29weXJpZ2h0IChDKSAyMDE1IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorLlwiCisuXCIgVGhpcyBpcyBmcmVlIGRvY3VtZW50YXRpb247IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorLlwiIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLAorLlwiIHZlcnNpb24gMiwgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisuXCIKKy5cIiBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UncyByZWZlcmVuY2VzIHRvICJvYmplY3QgY29kZSIKKy5cIiBhbmQgImV4ZWN1dGFibGVzIiBhcmUgdG8gYmUgaW50ZXJwcmV0ZWQgYXMgdGhlIG91dHB1dCBvZiBhbnkKKy5cIiBkb2N1bWVudCBmb3JtYXR0aW5nIG9yIHR5cGVzZXR0aW5nIHN5c3RlbSwgaW5jbHVkaW5nCisuXCIgaW50ZXJtZWRpYXRlIGFuZCBwcmludGVkIG91dHB1dC4KKy5cIgorLlwiIFRoaXMgbWFudWFsIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisuXCIgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKy5cIiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisuXCIgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKy5cIgorLlwiIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisuXCIgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKy5cIiA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorLlwiCisuVEggQ0hSVCAxICJKYW51YXJ5IDIwMTYiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitjaHJ0IFwtIG1hbmlwdWxhdGUgdGhlIHJlYWwtdGltZSBhdHRyaWJ1dGVzIG9mIGEgcHJvY2VzcworLlNIIFNZTk9QU0lTCisuQiBjaHJ0Citbb3B0aW9uc10KKy5JUiBwcmlvcml0eVwgY29tbWFuZFwgIFsgYXJndW1lbnQgLi4uXQorLmJyCisuQiBjaHJ0Citbb3B0aW9uc10KKy5CIFwtcAorLlJJIFsgcHJpb3JpdHkgXVwgIHBpZAorLlNIIERFU0NSSVBUSU9OCisuUFAKKy5CIGNocnQKK3NldHMgb3IgcmV0cmlldmVzIHRoZSByZWFsLXRpbWUgc2NoZWR1bGluZyBhdHRyaWJ1dGVzIG9mIGFuIGV4aXN0aW5nIFxmSXBpZFxmUiwKK29yIHJ1bnMgXGZJY29tbWFuZFxmUiB3aXRoIHRoZSBnaXZlbiBhdHRyaWJ1dGVzLgorCisuU0ggUE9MSUNJRVMKKy5UUAorXGZCXC1vXGZSLCBcZkJcLVwtb3RoZXJcZlIKK1NldCBzY2hlZHVsaW5nIHBvbGljeSB0bworLkJSIFNDSEVEX09USEVSIC4KK1RoaXMgaXMgdGhlIGRlZmF1bHQgTGludXggc2NoZWR1bGluZyBwb2xpY3kuCisuVFAKK1xmQlwtZlxmUiwgXGZCXC1cLWZpZm9cZlIKK1NldCBzY2hlZHVsaW5nIHBvbGljeSB0byBcZkJTQ0hFRF9GSUZPXGZSLgorLlRQCitcZkJcLXJcZlIsIFxmQlwtXC1yclxmUgorU2V0IHNjaGVkdWxpbmcgcG9saWN5IHRvCisuQlIgU0NIRURfUlIgLgorV2hlbiBubyBwb2xpY3kgaXMgZGVmaW5lZCwgdGhlCisuQiBTQ0hFRF9SUgoraXMgdXNlZCBhcyB0aGUgZGVmYXVsdC4KKy5UUAorXGZCXC1iXGZSLCBcZkJcLVwtYmF0Y2hcZlIKK1NldCBzY2hlZHVsaW5nIHBvbGljeSB0bworLkIgU0NIRURfQkFUQ0gKKyhMaW51eC1zcGVjaWZpYywgc3VwcG9ydGVkIHNpbmNlIDIuNi4xNikuICBUaGUgcHJpb3JpdHkgYXJndW1lbnQgaGFzIHRvIGJlIHNldCB0byB6ZXJvLgorLlRQCitcZkJcLWlcZlIsIFxmQlwtXC1pZGxlXGZSCitTZXQgc2NoZWR1bGluZyBwb2xpY3kgdG8KKy5CIFNDSEVEX0lETEUKKyhMaW51eC1zcGVjaWZpYywgc3VwcG9ydGVkIHNpbmNlIDIuNi4yMykuICBUaGUgcHJpb3JpdHkgYXJndW1lbnQgaGFzIHRvIGJlIHNldCB0byB6ZXJvLgorLlRQCisuQlIgLWQgLFwgIC0tZGVhZGxpbmUKK1NldCBzY2hlZHVsaW5nIHBvbGljeSB0bworLkJSIFNDSEVEX0RFQURMSU5FCisoTGludXgtc3BlY2lmaWMsIHN1cHBvcnRlZCBzaW5jZSAzLjE0KS4gIFRoZSBwcmlvcml0eSBhcmd1bWVudCBoYXMgdG8gYmUgc2V0IHRvIHplcm8uCitTZWUgYWxzbyBcZkJcLVwtc2NoZWRcLXJ1bnRpbWVcZlIsIFxmQlwtXC1zY2hlZFwtZGVhZGxpbmVcZlIgYW5kCitcZkJcLVwtc2NoZWRcLXBlcmlvZFxmUi4gIFRoZSByZWxhdGlvbiBiZXR3ZWVuIHRoZSBvcHRpb25zIHJlcXVpcmVkIGJ5IHRoZSBrZXJuZWwgaXMKK3J1bnRpbWUgPD0gZGVhZGxpbmUgPD0gcGVyaW9kLgorLkIgY2hydAorY29waWVzIFxmSXBlcmlvZFxmUiB0byBcZklkZWFkbGluZVxmUiBpZiBcZkJcLVwtc2NoZWRcLWRlYWRsaW5lXGZSIGlzIG5vdCBzcGVjaWZpZWQgYW5kCitcZklkZWFkbGluZVxmUiB0byBcZklydW50aW1lXGZSIGlmIFxmQlwtXC1zY2hlZFwtcnVudGltZVxmUiBpcyBub3Qgc3BlY2lmaWVkLgorSXQgbWVhbnMgdGhhdCBhdCBsZWFzdCBcZkJcLVwtc2NoZWRcLXBlcmlvZFxmUiBoYXMgdG8gYmUgc3BlY2lmaWVkLiAgU2VlCisuQlIgc2NoZWQgKDcpCitmb3IgbW9yZSBkZXRhaWxzLgorCisuU0ggIlNDSEVEVUxJTkcgT1BUSU9OUyIKKy5UUAorXGZCXC1UXGZSLCBcZkJcLVwtc2NoZWRcLXJ1bnRpbWVcZlIgXGZJbmFub3NlY29uZHNcZlIKK1NwZWNpZmllcyBydW50aW1lIHBhcmFtZXRlciBmb3IgU0NIRURfREVBRExJTkUgcG9saWN5IChMaW51eC1zcGVjaWZpYykuCisuVFAKK1xmQlwtUFxmUiwgXGZCXC1cLXNjaGVkXC1wZXJpb2RcZlIgXGZJbmFub3NlY29uZHNcZlIKK1NwZWNpZmllcyBwZXJpb2QgcGFyYW1ldGVyIGZvciBTQ0hFRF9ERUFETElORSBwb2xpY3kgKExpbnV4LXNwZWNpZmljKS4KKy5UUAorXGZCXC1EXGZSLCBcZkJcLVwtc2NoZWRcLWRlYWRsaW5lXGZSIFxmSW5hbm9zZWNvbmRzXGZSCitTcGVjaWZpZXMgZGVhZGxpbmUgcGFyYW1ldGVyIGZvciBTQ0hFRF9ERUFETElORSBwb2xpY3kgKExpbnV4LXNwZWNpZmljKS4KKy5UUAorXGZCXC1SXGZSLCBcZkJcLVwtcmVzZXQtb24tZm9ya1xmUgorQWRkCisuQiBTQ0hFRF9SRVNFVF9PTl9GT1JLCitmbGFnIHRvIHRoZQorLkIgU0NIRURfRklGTworb3IKKy5CIFNDSEVEX1JSCitzY2hlZHVsaW5nIHBvbGljeSAoTGludXgtc3BlY2lmaWMsIHN1cHBvcnRlZCBzaW5jZSAyLjYuMzEpLgorCisuU0ggT1BUSU9OUworLlRQCisuQlIgLWEgLFwgIC0tYWxsLXRhc2tzCitTZXQgb3IgcmV0cmlldmUgdGhlIHNjaGVkdWxpbmcgYXR0cmlidXRlcyBvZiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYQorZ2l2ZW4gUElELgorLlRQCisuQlIgLW0gLFwgIC0tbWF4CitTaG93IG1pbmltdW0gYW5kIG1heGltdW0gdmFsaWQgcHJpb3JpdGllcywgdGhlbiBleGl0LgorLlRQCisuQlIgLXAgLFwgIC0tcGlkCitPcGVyYXRlIG9uIGFuIGV4aXN0aW5nIFBJRCBhbmQgZG8gbm90IGxhdW5jaCBhIG5ldyB0YXNrLgorLlRQCisuQlIgLXYgLFwgIC0tdmVyYm9zZQorU2hvdyBzdGF0dXMgaW5mb3JtYXRpb24uCisuVFAKKy5CUiAtViAsXCAgLS12ZXJzaW9uCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiAtaCAsXCAgLS1oZWxwCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBVU0FHRQorLlRQCitUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBydW4gYSBuZXcgY29tbWFuZDoKKy5CIGNocnQKKy5JIHByaW9yaXR5CisuSVIgY29tbWFuZFwgIFsgYXJndW1lbnRzIF0KKy5UUAorWW91IGNhbiBhbHNvIHJldHJpZXZlIHRoZSByZWFsLXRpbWUgYXR0cmlidXRlcyBvZiBhbiBleGlzdGluZyB0YXNrOgorLkIgY2hydCBcLXAKKy5JIHBpZAorLlRQCitPciBzZXQgdGhlbToKKy5CIGNocnQgXC1yIFwtcAorLkkgcHJpb3JpdHkgcGlkCisuU0ggUEVSTUlTU0lPTlMKK0EgdXNlciBtdXN0IHBvc3Nlc3MKKy5CUiBDQVBfU1lTX05JQ0UKK3RvIGNoYW5nZSB0aGUgc2NoZWR1bGluZyBhdHRyaWJ1dGVzIG9mIGEgcHJvY2Vzcy4gIEFueSB1c2VyIGNhbiByZXRyaWV2ZSB0aGUKK3NjaGVkdWxpbmcgaW5mb3JtYXRpb24uCisKKy5TSCBOT1RFUworT25seQorLkJSIFNDSEVEX0ZJRk8gLAorLkJSIFNDSEVEX09USEVSCithbmQKKy5CUiBTQ0hFRF9SUgorYXJlIHBhcnQgb2YgUE9TSVggMTAwMy4xYiBQcm9jZXNzIFNjaGVkdWxpbmcuICBUaGUgb3RoZXIgc2NoZWR1bGluZyBhdHRyaWJ1dGVzCittYXkgYmUgaWdub3JlZCBvbiBzb21lIHN5c3RlbXMuCisuUAorTGludXgnIGRlZmF1bHQgc2NoZWR1bGluZyBwb2xpY3kgaXMKKy5CUiBTQ0hFRF9PVEhFUiAuCisuU0ggU0VFIEFMU08KKy5CUiBuaWNlICgxKSwKKy5CUiByZW5pY2UgKDEpLAorLkJSIHRhc2tzZXQgKDEpLAorLkJSIHNjaGVkICg3KQorLnNwCitTZWUKKy5CUiBzY2hlZF9zZXRzY2hlZHVsZXIgKDIpCitmb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgTGludXggc2NoZWR1bGluZyBzY2hlbWUuCisuU0ggQVVUSE9SUworLlVSIHJtbEB0ZWNoOS5uZXQKK1JvYmVydCBMb3ZlCisuVUUKKy5icgorLlVSIGt6YWtAcmVkaGF0LmNvbQorS2FyZWwgWmFrCisuVUUKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBjaHJ0IGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvc2NoZWR1dGlscy9jaHJ0LmMgYi9zY2hlZHV0aWxzL2NocnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43M2QxZmZhCi0tLSAvZGV2L251bGwKKysrIGIvc2NoZWR1dGlscy9jaHJ0LmMKQEAgLTAsMCArMSw1NjIgQEAKKy8qCisgKiBjaHJ0LmMgLSBtYW5pcHVsYXRlIGEgdGFzaydzIHJlYWwtdGltZSBhdHRyaWJ1dGVzCisgKgorICogMjctQXByLTIwMDI6IGluaXRpYWwgdmVyc2lvbiAtIFJvYmVydCBMb3ZlIDxybWxAdGVjaDkubmV0PgorICogMDQtTWF5LTIwMTE6IG1ha2UgaXQgdGhyZWFkLWF3YXJlIC0gRGF2aWRsb2hyIEJ1ZXNvIDxkYXZlQGdudS5vcmc+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMiwgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworICogd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyAqIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA0IFJvYmVydCBMb3ZlCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c2NoZWQuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjaW5jbHVkZSA8c3lzL3Jlc291cmNlLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInByb2N1dGlscy5oIgorCisvKiB0aGUgU0NIRURfQkFUQ0ggaXMgc3VwcG9ydGVkIHNpbmNlIExpbnV4IDIuNi4xNgorICogIC0tIHRlbXBvcmFyeSB3b3JrYXJvdW5kIGZvciBwZW9wbGUgd2l0aCBvbGQgZ2xpYmMgaGVhZGVycworICovCisjaWYgZGVmaW5lZCAoX19saW51eF9fKSAmJiAhZGVmaW5lZChTQ0hFRF9CQVRDSCkKKyMgZGVmaW5lIFNDSEVEX0JBVENIIDMKKyNlbmRpZgorCisvKiB0aGUgU0NIRURfSURMRSBpcyBzdXBwb3J0ZWQgc2luY2UgTGludXggMi42LjIzCisgKiBjb21taXQgaWQgMGU2YWNhNDNlMDhhNjJhNDhkNjc3MGU5YTE1OWRiZWMxNjdiZjRjNgorICogLS0gdGVtcG9yYXJ5IHdvcmthcm91bmQgZm9yIHBlb3BsZSB3aXRoIG9sZCBnbGliYyBoZWFkZXJzCisgKi8KKyNpZiBkZWZpbmVkIChfX2xpbnV4X18pICYmICFkZWZpbmVkKFNDSEVEX0lETEUpCisjIGRlZmluZSBTQ0hFRF9JRExFIDUKKyNlbmRpZgorCisvKiBmbGFnIGJ5IHNjaGVkX2dldHNjaGVkdWxlcigpICovCisjaWYgZGVmaW5lZChfX2xpbnV4X18pICYmICFkZWZpbmVkKFNDSEVEX1JFU0VUX09OX0ZPUkspCisjIGRlZmluZSBTQ0hFRF9SRVNFVF9PTl9GT1JLIDB4NDAwMDAwMDAKKyNlbmRpZgorCisvKiBmbGFnIGJ5IHNjaGVkX2dldGF0dHIoKSAqLworI2lmIGRlZmluZWQoX19saW51eF9fKSAmJiAhZGVmaW5lZChTQ0hFRF9GTEFHX1JFU0VUX09OX0ZPUkspCisjIGRlZmluZSBTQ0hFRF9GTEFHX1JFU0VUX09OX0ZPUksgMHgwMQorI2VuZGlmCisKKyNpZiBkZWZpbmVkIChfX2xpbnV4X18pICYmICFkZWZpbmVkKEhBVkVfU0NIRURfU0VUQVRUUikKKyMgaW5jbHVkZSA8c3lzL3N5c2NhbGwuaD4KKyNlbmRpZgorCisvKiB1c2FibGUga2VybmVsLWhlYWRlcnMsIGJ1dCBvbGQgZ2xpYmMtaGVhZGVycyAqLworI2lmIGRlZmluZWQgKF9fbGludXhfXykgJiYgIWRlZmluZWQoU1lTX3NjaGVkX3NldGF0dHIpICYmIGRlZmluZWQoX19OUl9zY2hlZF9zZXRhdHRyKQorIyBkZWZpbmUgU1lTX3NjaGVkX3NldGF0dHIgX19OUl9zY2hlZF9zZXRhdHRyCisjZW5kaWYKKworI2lmIGRlZmluZWQgKF9fbGludXhfXykgJiYgIWRlZmluZWQoU1lTX3NjaGVkX2dldGF0dHIpICYmIGRlZmluZWQoX19OUl9zY2hlZF9nZXRhdHRyKQorIyBkZWZpbmUgU1lTX3NjaGVkX2dldGF0dHIgX19OUl9zY2hlZF9nZXRhdHRyCisjZW5kaWYKKworI2lmIGRlZmluZWQgKF9fbGludXhfXykgJiYgIWRlZmluZWQoSEFWRV9TQ0hFRF9TRVRBVFRSKSAmJiBkZWZpbmVkKFNZU19zY2hlZF9zZXRhdHRyKQorIyBkZWZpbmUgSEFWRV9TQ0hFRF9TRVRBVFRSCisKK3N0cnVjdCBzY2hlZF9hdHRyIHsKKwl1aW50MzJfdCBzaXplOworCXVpbnQzMl90IHNjaGVkX3BvbGljeTsKKwl1aW50NjRfdCBzY2hlZF9mbGFnczsKKworCS8qIFNDSEVEX05PUk1BTCwgU0NIRURfQkFUQ0ggKi8KKwlpbnQzMl90IHNjaGVkX25pY2U7CisKKwkvKiBTQ0hFRF9GSUZPLCBTQ0hFRF9SUiAqLworCXVpbnQzMl90IHNjaGVkX3ByaW9yaXR5OworCisJLyogU0NIRURfREVBRExJTkUgKG5zZWMpICovCisJdWludDY0X3Qgc2NoZWRfcnVudGltZTsKKwl1aW50NjRfdCBzY2hlZF9kZWFkbGluZTsKKwl1aW50NjRfdCBzY2hlZF9wZXJpb2Q7Cit9OworCitzdGF0aWMgaW50IHNjaGVkX3NldGF0dHIocGlkX3QgcGlkLCBjb25zdCBzdHJ1Y3Qgc2NoZWRfYXR0ciAqYXR0ciwgdW5zaWduZWQgaW50IGZsYWdzKQoreworCXJldHVybiBzeXNjYWxsKFNZU19zY2hlZF9zZXRhdHRyLCBwaWQsIGF0dHIsIGZsYWdzKTsKK30KKworc3RhdGljIGludCBzY2hlZF9nZXRhdHRyKHBpZF90IHBpZCwgc3RydWN0IHNjaGVkX2F0dHIgKmF0dHIsIHVuc2lnbmVkIGludCBzaXplLCB1bnNpZ25lZCBpbnQgZmxhZ3MpCit7CisJcmV0dXJuIHN5c2NhbGwoU1lTX3NjaGVkX2dldGF0dHIsIHBpZCwgYXR0ciwgc2l6ZSwgZmxhZ3MpOworfQorI2VuZGlmCisKKy8qIHRoZSBTQ0hFRF9ERUFETElORSBpcyBzdXBwb3J0ZWQgc2luY2UgTGludXggMy4xNAorICogY29tbWl0IGlkIGFhYjAzZTA1ZThmN2UyNmY1MWRlZTc5MmJlZGRjYjVjY2E5MjE1YTUKKyAqIC0tIHNjaGVkX3NldGF0dHIoKSBpcyByZXF1aXJlZCBmb3IgdGhpcyBwb2xpY3khCisgKi8KKyNpZiBkZWZpbmVkIChfX2xpbnV4X18pICYmICFkZWZpbmVkKFNDSEVEX0RFQURMSU5FKSAmJiBkZWZpbmVkKEhBVkVfU0NIRURfU0VUQVRUUikKKyMgZGVmaW5lIFNDSEVEX0RFQURMSU5FIDYKKyNlbmRpZgorCisvKiBjb250cm9sIHN0cnVjdCAqLworc3RydWN0IGNocnRfY3RsIHsKKwlwaWRfdAlwaWQ7CisJaW50CXBvbGljeTsJCQkJLyogU0NIRURfKiAqLworCWludAlwcmlvcml0eTsKKworCXVpbnQ2NF90IHJ1bnRpbWU7CQkJLyogLS1zY2hlZC0qIG9wdGlvbnMgKi8KKwl1aW50NjRfdCBkZWFkbGluZTsKKwl1aW50NjRfdCBwZXJpb2Q7CisKKwl1bnNpZ25lZCBpbnQgYWxsX3Rhc2tzIDogMSwJCS8qIGFsbCB0aHJlYWRzIG9mIHRoZSBQSUQgKi8KKwkJICAgICByZXNldF9vbl9mb3JrIDogMSwJCS8qIFNDSEVEX1JFU0VUX09OX0ZPUksgKi8KKwkJICAgICBhbHRlcmVkIDogMSwJCS8qIHNjaGVkX3NldCoqKCkgdXNlZCAqLworCQkgICAgIHZlcmJvc2UgOiAxOwkJLyogdmVyYm9zZSBvdXRwdXQgKi8KK307CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHNob3dfdXNhZ2UoaW50IHJjKQoreworCUZJTEUgKm91dCA9IHJjID09IEVYSVRfU1VDQ0VTUyA/IHN0ZG91dCA6IHN0ZGVycjsKKworCWZwdXRzKF8oIlNob3cgb3IgY2hhbmdlIHRoZSByZWFsLXRpbWUgc2NoZWR1bGluZyBhdHRyaWJ1dGVzIG9mIGEgcHJvY2Vzcy5cbiIpLCBvdXQpOworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJTZXQgcG9saWN5OlxuIgorCSIgY2hydCBbb3B0aW9uc10gPHByaW9yaXR5PiA8Y29tbWFuZD4gWzxhcmc+Li4uXVxuIgorCSIgY2hydCBbb3B0aW9uc10gLS1waWQgPHByaW9yaXR5PiA8cGlkPlxuIiksIG91dCk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkdldCBwb2xpY3k6XG4iCisJIiBjaHJ0IFtvcHRpb25zXSAtcCA8cGlkPlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiUG9saWN5IG9wdGlvbnM6XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWIsIC0tYmF0Y2ggICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1kLCAtLWRlYWRsaW5lICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfREVBRExJTkVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZiwgLS1maWZvICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtaSwgLS1pZGxlICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbywgLS1vdGhlciAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX09USEVSXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXIsIC0tcnIgICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgIHNldCBTQ0hFRF9SRVNFVF9PTl9GT1JLIGZvciBGSUZPIG9yIFJSXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBydW50aW1lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtUCwgLS1zY2hlZC1wZXJpb2QgPG5zPiAgIHBlcmlvZCBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJPdGhlciBvcHRpb25zOlxuIiksIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWFsbC10YXNrcyAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW0sIC0tbWF4ICAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXAsIC0tcGlkICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdiwgLS12ZXJib3NlICAgICAgICBkaXNwbGF5IHN0YXR1cyBpbmZvcm1hdGlvblxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoVVNBR0VfSEVMUCwgb3V0KTsKKwlmcHV0cyhVU0FHRV9WRVJTSU9OLCBvdXQpOworCisJZnByaW50ZihvdXQsIFVTQUdFX01BTl9UQUlMKCJjaHJ0KDEpIikpOworCWV4aXQocmMpOworfQorCitzdGF0aWMgY29uc3QgY2hhciAqZ2V0X3BvbGljeV9uYW1lKGludCBwb2xpY3kpCit7CisJc3dpdGNoIChwb2xpY3kpIHsKKwljYXNlIFNDSEVEX09USEVSOgorCQlyZXR1cm4gIlNDSEVEX09USEVSIjsKKwljYXNlIFNDSEVEX0ZJRk86CisjaWZkZWYgU0NIRURfUkVTRVRfT05fRk9SSworCWNhc2UgU0NIRURfRklGTyB8IFNDSEVEX1JFU0VUX09OX0ZPUks6CisjZW5kaWYKKwkJcmV0dXJuICJTQ0hFRF9GSUZPIjsKKyNpZmRlZiBTQ0hFRF9JRExFCisJY2FzZSBTQ0hFRF9JRExFOgorCQlyZXR1cm4gIlNDSEVEX0lETEUiOworI2VuZGlmCisJY2FzZSBTQ0hFRF9SUjoKKyNpZmRlZiBTQ0hFRF9SRVNFVF9PTl9GT1JLCisJY2FzZSBTQ0hFRF9SUiB8IFNDSEVEX1JFU0VUX09OX0ZPUks6CisjZW5kaWYKKwkJcmV0dXJuICJTQ0hFRF9SUiI7CisjaWZkZWYgU0NIRURfQkFUQ0gKKwljYXNlIFNDSEVEX0JBVENIOgorCQlyZXR1cm4gIlNDSEVEX0JBVENIIjsKKyNlbmRpZgorI2lmZGVmIFNDSEVEX0RFQURMSU5FCisJY2FzZSBTQ0hFRF9ERUFETElORToKKwkJcmV0dXJuICJTQ0hFRF9ERUFETElORSI7CisjZW5kaWYKKwlkZWZhdWx0OgorCQlicmVhazsKKwl9CisKKwlyZXR1cm4gXygidW5rbm93biIpOworfQorCitzdGF0aWMgdm9pZCBzaG93X3NjaGVkX3BpZF9pbmZvKHN0cnVjdCBjaHJ0X2N0bCAqY3RsLCBwaWRfdCBwaWQpCit7CisJaW50IHBvbGljeSwgcmVzZXRfb25fZm9yayA9IDAsIHByaW8gPSAwOworI2lmZGVmIFNDSEVEX0RFQURMSU5FCisJdWludDY0X3QgZGVhZGxpbmUgPSAwLCBydW50aW1lID0gMCwgcGVyaW9kID0gMDsKKyNlbmRpZgorCisJLyogZG9uJ3QgZGlzcGxheSAicGlkIDAiIGFzIHRoYXQgaXMgY29uZnVzaW5nICovCisJaWYgKCFwaWQpCisJCXBpZCA9IGdldHBpZCgpOworCisJZXJybm8gPSAwOworCisJLyoKKwkgKiBOZXcgd2F5CisJICovCisjaWZkZWYgSEFWRV9TQ0hFRF9TRVRBVFRSCisJeworCQlzdHJ1Y3Qgc2NoZWRfYXR0ciBzYTsKKworCQlpZiAoc2NoZWRfZ2V0YXR0cihwaWQsICZzYSwgc2l6ZW9mKHNhKSwgMCkgIT0gMCkgeworCQkJaWYgKGVycm5vID09IEVOT1NZUykKKwkJCQlnb3RvIGZhbGxiYWNrOworCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBwb2xpY3kiKSwgcGlkKTsKKwkJfQorCisJCXBvbGljeSA9IHNhLnNjaGVkX3BvbGljeTsKKwkJcHJpbyA9IHNhLnNjaGVkX3ByaW9yaXR5OworCQlyZXNldF9vbl9mb3JrID0gc2Euc2NoZWRfZmxhZ3MgJiBTQ0hFRF9GTEFHX1JFU0VUX09OX0ZPUks7CisJCWRlYWRsaW5lID0gc2Euc2NoZWRfZGVhZGxpbmU7CisJCXJ1bnRpbWUgPSBzYS5zY2hlZF9ydW50aW1lOworCQlwZXJpb2QgPSBzYS5zY2hlZF9wZXJpb2Q7CisJfQorCisJLyoKKwkgKiBPbGQgd2F5CisJICovCitmYWxsYmFjazoKKwlpZiAoZXJybm8gPT0gRU5PU1lTKQorI2VuZGlmCisJeworCQlzdHJ1Y3Qgc2NoZWRfcGFyYW0gc3A7CisKKwkJcG9saWN5ID0gc2NoZWRfZ2V0c2NoZWR1bGVyKHBpZCk7CisJCWlmIChwb2xpY3kgPT0gLTEpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIHBvbGljeSIpLCBwaWQpOworCisJCWlmIChzY2hlZF9nZXRwYXJhbShwaWQsICZzcCkgIT0gMCkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYXR0cmlidXRlcyIpLCBwaWQpOworCQllbHNlCisJCQlwcmlvID0gc3Auc2NoZWRfcHJpb3JpdHk7CisjIGlmZGVmIFNDSEVEX1JFU0VUX09OX0ZPUksKKwkJaWYgKHBvbGljeSA9PSAoU0NIRURfRklGT3xTQ0hFRF9SRVNFVF9PTl9GT1JLKSB8fCBwb2xpY3kgPT0gKFNDSEVEX0JBVENIfFNDSEVEX1JFU0VUX09OX0ZPUkspKQorCQkJcmVzZXRfb25fZm9yayA9IDE7CisjIGVuZGlmCisJfQorCisJaWYgKGN0bC0+YWx0ZXJlZCkKKwkJcHJpbnRmKF8oInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHBvbGljeTogJXMiKSwgcGlkLCBnZXRfcG9saWN5X25hbWUocG9saWN5KSk7CisJZWxzZQorCQlwcmludGYoXygicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHBvbGljeTogJXMiKSwgcGlkLCBnZXRfcG9saWN5X25hbWUocG9saWN5KSk7CisKKwlpZiAocmVzZXRfb25fZm9yaykKKwkJcHJpbnRmKCJ8U0NIRURfUkVTRVRfT05fRk9SSyIpOworCXB1dGNoYXIoJ1xuJyk7CisKKwlpZiAoY3RsLT5hbHRlcmVkKQorCQlwcmludGYoXygicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcHJpb3JpdHk6ICVkXG4iKSwgcGlkLCBwcmlvKTsKKwllbHNlCisJCXByaW50ZihfKCJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcHJpb3JpdHk6ICVkXG4iKSwgcGlkLCBwcmlvKTsKKworI2lmZGVmIFNDSEVEX0RFQURMSU5FCisJaWYgKHBvbGljeSA9PSBTQ0hFRF9ERUFETElORSkgeworCQlpZiAoY3RsLT5hbHRlcmVkKQorCQkJcHJpbnRmKF8oInBpZCAlZCdzIG5ldyBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIiksCisJCQkJCXBpZCwgcnVudGltZSwgZGVhZGxpbmUsIHBlcmlvZCk7CisJCWVsc2UKKwkJCXByaW50ZihfKCJwaWQgJWQncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iKSwKKwkJCQkJcGlkLCBydW50aW1lLCBkZWFkbGluZSwgcGVyaW9kKTsKKwl9CisjZW5kaWYKK30KKworCitzdGF0aWMgdm9pZCBzaG93X3NjaGVkX2luZm8oc3RydWN0IGNocnRfY3RsICpjdGwpCit7CisJaWYgKGN0bC0+YWxsX3Rhc2tzKSB7CisJCXBpZF90IHRpZDsKKwkJc3RydWN0IHByb2NfdGFza3MgKnRzID0gcHJvY19vcGVuX3Rhc2tzKGN0bC0+cGlkKTsKKworCQlpZiAoIXRzKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9idGFpbiB0aGUgbGlzdCBvZiB0YXNrcyIpKTsKKworCQl3aGlsZSAoIXByb2NfbmV4dF90aWQodHMsICZ0aWQpKQorCQkJc2hvd19zY2hlZF9waWRfaW5mbyhjdGwsIHRpZCk7CisKKwkJcHJvY19jbG9zZV90YXNrcyh0cyk7CisJfSBlbHNlCisJCXNob3dfc2NoZWRfcGlkX2luZm8oY3RsLCBjdGwtPnBpZCk7Cit9CisKK3N0YXRpYyB2b2lkIHNob3dfbWluX21heCh2b2lkKQoreworCXVuc2lnbmVkIGxvbmcgaTsKKwlpbnQgcG9saWNpZXNbXSA9IHsKKwkJU0NIRURfT1RIRVIsCisJCVNDSEVEX0ZJRk8sCisJCVNDSEVEX1JSLAorI2lmZGVmIFNDSEVEX0JBVENICisJCVNDSEVEX0JBVENILAorI2VuZGlmCisjaWZkZWYgU0NIRURfSURMRQorCQlTQ0hFRF9JRExFLAorI2VuZGlmCisjaWZkZWYgU0NIRURfREVBRExJTkUKKwkJU0NIRURfREVBRExJTkUsCisjZW5kaWYKKwl9OworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocG9saWNpZXMpOyBpKyspIHsKKwkJaW50IHBsYyA9IHBvbGljaWVzW2ldOworCQlpbnQgbWF4ID0gc2NoZWRfZ2V0X3ByaW9yaXR5X21heChwbGMpOworCQlpbnQgbWluID0gc2NoZWRfZ2V0X3ByaW9yaXR5X21pbihwbGMpOworCisJCWlmIChtYXggPj0gMCAmJiBtaW4gPj0gMCkKKwkJCXByaW50ZihfKCIlcyBtaW4vbWF4IHByaW9yaXR5XHQ6ICVkLyVkXG4iKSwKKwkJCQkJZ2V0X3BvbGljeV9uYW1lKHBsYyksIG1pbiwgbWF4KTsKKwkJZWxzZQorCQkJcHJpbnRmKF8oIiVzIG5vdCBzdXBwb3J0ZWQ/XG4iKSwgZ2V0X3BvbGljeV9uYW1lKHBsYykpOworCX0KK30KKworc3RhdGljIGludCBzZXRfc2NoZWRfb25lX2J5X3NldHNjaGVkdWxlcihzdHJ1Y3QgY2hydF9jdGwgKmN0bCwgcGlkX3QgcGlkKQoreworCXN0cnVjdCBzY2hlZF9wYXJhbSBzcCA9IHsgLnNjaGVkX3ByaW9yaXR5ID0gY3RsLT5wcmlvcml0eSB9OworCWludCBwb2xpY3kgPSBjdGwtPnBvbGljeTsKKworCWVycm5vID0gMDsKKyMgaWZkZWYgU0NIRURfUkVTRVRfT05fRk9SSworCWlmIChjdGwtPnJlc2V0X29uX2ZvcmspCisJCXBvbGljeSB8PSBTQ0hFRF9SRVNFVF9PTl9GT1JLOworIyBlbmRpZgorCXJldHVybiBzY2hlZF9zZXRzY2hlZHVsZXIocGlkLCBwb2xpY3ksICZzcCk7Cit9CisKKworI2lmbmRlZiBIQVZFX1NDSEVEX1NFVEFUVFIKK3N0YXRpYyBpbnQgc2V0X3NjaGVkX29uZShzdHJ1Y3QgY2hydF9jdGwgKmN0bCwgcGlkX3QgcGlkKQoreworCXJldHVybiBzZXRfc2NoZWRfb25lX2J5X3NldHNjaGVkdWxlcihjdGwsIHBpZCk7Cit9CisKKyNlbHNlIC8qICFIQVZFX1NDSEVEX1NFVEFUVFIgKi8KK3N0YXRpYyBpbnQgc2V0X3NjaGVkX29uZShzdHJ1Y3QgY2hydF9jdGwgKmN0bCwgcGlkX3QgcGlkKQoreworCXN0cnVjdCBzY2hlZF9hdHRyIHNhID0geyAuc2l6ZSA9IHNpemVvZihzdHJ1Y3Qgc2NoZWRfYXR0cikgfTsKKworCS8qIG9sZCBBUEkgaXMgZ29vZCBlbm91Z2ggZm9yIG5vbi1kZWFkbGluZSAqLworCWlmIChjdGwtPnBvbGljeSAhPSBTQ0hFRF9ERUFETElORSkKKwkJcmV0dXJuIHNldF9zY2hlZF9vbmVfYnlfc2V0c2NoZWR1bGVyKGN0bCwgcGlkKTsKKworCS8qIG5vIGNoYW5nZWVkIGJ5IGNocnQsIGZvbGxvdyB0aGUgY3VycmVudCBzZXR0aW5nICovCisJc2Euc2NoZWRfbmljZSA9IGdldHByaW9yaXR5KFBSSU9fUFJPQ0VTUywgcGlkKTsKKworCS8qIHVzZSBtYWluKCkgdG8gY2hlY2sgaWYgdGhlIHNldHRpbmcgbWFrZXMgc2Vuc2UgKi8KKwlzYS5zY2hlZF9wb2xpY3kJICA9IGN0bC0+cG9saWN5OworCXNhLnNjaGVkX3ByaW9yaXR5ID0gY3RsLT5wcmlvcml0eTsKKwlzYS5zY2hlZF9ydW50aW1lICA9IGN0bC0+cnVudGltZTsKKwlzYS5zY2hlZF9wZXJpb2QgICA9IGN0bC0+cGVyaW9kOworCXNhLnNjaGVkX2RlYWRsaW5lID0gY3RsLT5kZWFkbGluZTsKKworIyBpZmRlZiBTQ0hFRF9SRVNFVF9PTl9GT1JLCisJaWYgKGN0bC0+cmVzZXRfb25fZm9yaykKKwkJc2Euc2NoZWRfZmxhZ3MgfD0gU0NIRURfUkVTRVRfT05fRk9SSzsKKyMgZW5kaWYKKwllcnJubyA9IDA7CisJcmV0dXJuIHNjaGVkX3NldGF0dHIocGlkLCAmc2EsIDApOworfQorI2VuZGlmIC8qIEhBVkVfU0NIRURfU0VUQVRUUiAqLworCitzdGF0aWMgdm9pZCBzZXRfc2NoZWQoc3RydWN0IGNocnRfY3RsICpjdGwpCit7CisJaWYgKGN0bC0+YWxsX3Rhc2tzKSB7CisJCXBpZF90IHRpZDsKKwkJc3RydWN0IHByb2NfdGFza3MgKnRzID0gcHJvY19vcGVuX3Rhc2tzKGN0bC0+cGlkKTsKKworCQlpZiAoIXRzKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9idGFpbiB0aGUgbGlzdCBvZiB0YXNrcyIpKTsKKworCQl3aGlsZSAoIXByb2NfbmV4dF90aWQodHMsICZ0aWQpKQorCQkJaWYgKHNldF9zY2hlZF9vbmUoY3RsLCB0aWQpID09IC0xKQorCQkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBzZXQgdGlkICVkJ3MgcG9saWN5IiksIHRpZCk7CisKKwkJcHJvY19jbG9zZV90YXNrcyh0cyk7CisKKwl9IGVsc2UgaWYgKHNldF9zY2hlZF9vbmUoY3RsLCBjdGwtPnBpZCkgPT0gLTEpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgcG9saWN5IiksIGN0bC0+cGlkKTsKKworCWN0bC0+YWx0ZXJlZCA9IDE7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlzdHJ1Y3QgY2hydF9jdGwgX2N0bCA9IHsgLnBpZCA9IC0xLCAucG9saWN5ID0gU0NIRURfUlIgfSwgKmN0bCA9ICZfY3RsOworCWludCBjOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyAiYWxsLXRhc2tzIiwgIG5vX2FyZ3VtZW50LCBOVUxMLCAnYScgfSwKKwkJeyAiYmF0Y2giLAlub19hcmd1bWVudCwgTlVMTCwgJ2InIH0sCisJCXsgImRlYWRsaW5lIiwgICBub19hcmd1bWVudCwgTlVMTCwgJ2QnIH0sCisJCXsgImZpZm8iLAlub19hcmd1bWVudCwgTlVMTCwgJ2YnIH0sCisJCXsgImlkbGUiLAlub19hcmd1bWVudCwgTlVMTCwgJ2knIH0sCisJCXsgInBpZCIsCW5vX2FyZ3VtZW50LCBOVUxMLCAncCcgfSwKKwkJeyAiaGVscCIsCW5vX2FyZ3VtZW50LCBOVUxMLCAnaCcgfSwKKwkJeyAibWF4IiwgICAgICAgIG5vX2FyZ3VtZW50LCBOVUxMLCAnbScgfSwKKwkJeyAib3RoZXIiLAlub19hcmd1bWVudCwgTlVMTCwgJ28nIH0sCisJCXsgInJyIiwJCW5vX2FyZ3VtZW50LCBOVUxMLCAncicgfSwKKwkJeyAic2NoZWQtcnVudGltZSIsICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ1QnIH0sCisJCXsgInNjaGVkLXBlcmlvZCIsICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdQJyB9LAorCQl7ICJzY2hlZC1kZWFkbGluZSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnRCcgfSwKKwkJeyAicmVzZXQtb24tZm9yayIsICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ1InIH0sCisJCXsgInZlcmJvc2UiLAlub19hcmd1bWVudCwgTlVMTCwgJ3YnIH0sCisJCXsgInZlcnNpb24iLAlub19hcmd1bWVudCwgTlVMTCwgJ1YnIH0sCisJCXsgTlVMTCwJCW5vX2FyZ3VtZW50LCBOVUxMLCAwIH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIithYmREOmZpcGhtb1A6VDpyUnZWIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkKKwl7CisJCWludCByZXQgPSBFWElUX0ZBSUxVUkU7CisKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ2EnOgorCQkJY3RsLT5hbGxfdGFza3MgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2InOgorI2lmZGVmIFNDSEVEX0JBVENICisJCQljdGwtPnBvbGljeSA9IFNDSEVEX0JBVENIOworI2VuZGlmCisJCQlicmVhazsKKworCQljYXNlICdkJzoKKyNpZmRlZiBTQ0hFRF9ERUFETElORQorCQkJY3RsLT5wb2xpY3kgPSBTQ0hFRF9ERUFETElORTsKKyNlbmRpZgorCQkJYnJlYWs7CisJCWNhc2UgJ2YnOgorCQkJY3RsLT5wb2xpY3kgPSBTQ0hFRF9GSUZPOworCQkJYnJlYWs7CisJCWNhc2UgJ1InOgorCQkJY3RsLT5yZXNldF9vbl9mb3JrID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdpJzoKKyNpZmRlZiBTQ0hFRF9JRExFCisJCQljdGwtPnBvbGljeSA9IFNDSEVEX0lETEU7CisjZW5kaWYKKwkJCWJyZWFrOworCQljYXNlICdtJzoKKwkJCXNob3dfbWluX21heCgpOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnbyc6CisJCQljdGwtPnBvbGljeSA9IFNDSEVEX09USEVSOworCQkJYnJlYWs7CisJCWNhc2UgJ3AnOgorCQkJZXJybm8gPSAwOworCQkJY3RsLT5waWQgPSBzdHJ0b3MzMl9vcl9lcnIoYXJndlthcmdjIC0gMV0sIF8oImludmFsaWQgUElEIGFyZ3VtZW50IikpOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJY3RsLT5wb2xpY3kgPSBTQ0hFRF9SUjsKKwkJCWJyZWFrOworCQljYXNlICd2JzoKKwkJCWN0bC0+dmVyYm9zZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnVCc6CisJCQljdGwtPnJ1bnRpbWUgPSBzdHJ0b3U2NF9vcl9lcnIob3B0YXJnLCBfKCJpbnZhbGlkIHJ1bnRpbWUgYXJndW1lbnQiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnUCc6CisJCQljdGwtPnBlcmlvZCA9IHN0cnRvdTY0X29yX2VycihvcHRhcmcsIF8oImludmFsaWQgcGVyaW9kIGFyZ3VtZW50IikpOworCQkJYnJlYWs7CisJCWNhc2UgJ0QnOgorCQkJY3RsLT5kZWFkbGluZSA9IHN0cnRvdTY0X29yX2VycihvcHRhcmcsIF8oImludmFsaWQgZGVhZGxpbmUgYXJndW1lbnQiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ2gnOgorCQkJcmV0ID0gRVhJVF9TVUNDRVNTOworCQkJLyogZmFsbHRocm91Z2ggKi8KKwkJZGVmYXVsdDoKKwkJCXNob3dfdXNhZ2UocmV0KTsKKwkJfQorCX0KKworCWlmICgoKGN0bC0+cGlkID4gLTEpICYmIGFyZ2MgLSBvcHRpbmQgPCAxKSB8fAorCSAgICAoKGN0bC0+cGlkID09IC0xKSAmJiBhcmdjIC0gb3B0aW5kIDwgMikpCisJCXNob3dfdXNhZ2UoRVhJVF9GQUlMVVJFKTsKKworCWlmICgoY3RsLT5waWQgPiAtMSkgJiYgKGN0bC0+dmVyYm9zZSB8fCBhcmdjIC0gb3B0aW5kID09IDEpKSB7CisJCXNob3dfc2NoZWRfaW5mbyhjdGwpOworCQlpZiAoYXJnYyAtIG9wdGluZCA9PSAxKQorCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwl9CisKKwllcnJubyA9IDA7CisJY3RsLT5wcmlvcml0eSA9IHN0cnRvczMyX29yX2Vycihhcmd2W29wdGluZF0sIF8oImludmFsaWQgcHJpb3JpdHkgYXJndW1lbnQiKSk7CisKKyNpZmRlZiBTQ0hFRF9SRVNFVF9PTl9GT1JLCisJaWYgKGN0bC0+cmVzZXRfb25fZm9yayAmJiBjdGwtPnBvbGljeSAhPSBTQ0hFRF9GSUZPICYmIGN0bC0+cG9saWN5ICE9IFNDSEVEX1JSKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiLS1yZXNldC1vbi1mb3JrIG9wdGlvbiBpcyBzdXBwb3J0ZWQgZm9yICIKKwkJCQkgICAgICJTQ0hFRF9GSUZPIGFuZCBTQ0hFRF9SUiBwb2xpY2llcyBvbmx5IikpOworI2VuZGlmCisjaWZkZWYgU0NIRURfREVBRExJTkUKKwlpZiAoKGN0bC0+cnVudGltZSB8fCBjdGwtPmRlYWRsaW5lIHx8IGN0bC0+cGVyaW9kKSAmJiBjdGwtPnBvbGljeSAhPSBTQ0hFRF9ERUFETElORSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIi0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBvcHRpb25zICIKKwkJCQkgICAgICJhcmUgc3VwcG9ydGVkIGZvciBTQ0hFRF9ERUFETElORSBvbmx5IikpOworCWlmIChjdGwtPnBvbGljeSA9PSBTQ0hFRF9ERUFETElORSkgeworCQkvKiBUaGUgYmFzaWMgcnVsZSBpcyBydW50aW1lIDw9IGRlYWRsaW5lIDw9IHBlcmlvZCwgc28gd2UgY2FuCisJCSAqIG1ha2UgZGVhZGxpbmUgYW5kIHJ1bnRpbWUgb3B0aW9uYWwgb24gY29tbWFuZCBsaW5lLiBOb3RlIHdlCisJCSAqIGRvbid0IGNoZWNrIGFueSB2YWx1ZXMgb3Igc2V0IGFueSBkZWZhdWx0cywgaXQncyBrZXJuZWwKKwkJICogcmVzcG9uc2liaWxpdHkuCisJCSAqLworCQlpZiAoY3RsLT5kZWFkbGluZSA9PSAwKQorCQkJY3RsLT5kZWFkbGluZSA9IGN0bC0+cGVyaW9kOworCQlpZiAoY3RsLT5ydW50aW1lID09IDApCisJCQljdGwtPnJ1bnRpbWUgPSBjdGwtPmRlYWRsaW5lOworCX0KKyNlbHNlCisJaWYgKGN0bC0+cnVudGltZSB8fCBjdGwtPmRlYWRsaW5lIHx8IGN0bC0+cGVyaW9kKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiU0NIRURfREVBRExJTkUgaXMgdW5zdXBwb3J0ZWQiKSk7CisjZW5kaWYKKwlpZiAoY3RsLT5waWQgPT0gLTEpCisJCWN0bC0+cGlkID0gMDsKKwlpZiAoY3RsLT5wcmlvcml0eSA8IHNjaGVkX2dldF9wcmlvcml0eV9taW4oY3RsLT5wb2xpY3kpIHx8CisJICAgIHNjaGVkX2dldF9wcmlvcml0eV9tYXgoY3RsLT5wb2xpY3kpIDwgY3RsLT5wcmlvcml0eSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsCisJCSAgICAgXygidW5zdXBwb3J0ZWQgcHJpb3JpdHkgdmFsdWUgZm9yIHRoZSBwb2xpY3k6ICVkOiBzZWUgLS1tYXggZm9yIHZhbGlkIHJhbmdlIiksCisJCSAgICAgY3RsLT5wcmlvcml0eSk7CisJc2V0X3NjaGVkKGN0bCk7CisKKwlpZiAoY3RsLT52ZXJib3NlKQorCQlzaG93X3NjaGVkX2luZm8oY3RsKTsKKworCWlmICghY3RsLT5waWQpIHsKKwkJYXJndiArPSBvcHRpbmQgKyAxOworCQlleGVjdnAoYXJndlswXSwgYXJndik7CisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBleGVjdXRlICVzIiksIGFyZ3ZbMF0pOworCX0KKworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9zY2hlZHV0aWxzL2lvbmljZS4xIGIvc2NoZWR1dGlscy9pb25pY2UuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YjljNDJiCi0tLSAvZGV2L251bGwKKysrIGIvc2NoZWR1dGlscy9pb25pY2UuMQpAQCAtMCwwICsxLDE0MiBAQAorLlRIIElPTklDRSAxICJKdWx5IDIwMTEiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitpb25pY2UgXC0gc2V0IG9yIGdldCBwcm9jZXNzIEkvTyBzY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eQorLlNIIFNZTk9QU0lTCisuQiBpb25pY2UKKy5SQiBbIFwtYworLklSIGNsYXNzIF0KKy5SQiBbIFwtbgorLklSIGxldmVsIF0KKy5SQiBbIFwtdCBdCisuQiBcLXAKKy5JUiBQSUQgLi4uCisuYnIKKy5CIGlvbmljZQorLlJCIFsgXC1jCisuSVIgY2xhc3MgXQorLlJCIFsgXC1uCisuSVIgbGV2ZWwgXQorLlJCIFsgXC10IF0KKy5CIFwtUAorLklSIFBHSUQgLi4uCisuYnIKKy5CIGlvbmljZQorLlJCIFsgXC1jCisuSVIgY2xhc3MgXQorLlJCIFsgXC1uCisuSVIgbGV2ZWwgXQorLlJCIFsgXC10IF0KKy5CIFwtdQorLklSIFVJRCAuLi4KKy5icgorLkIgaW9uaWNlCisuUkIgWyBcLWMKKy5JUiBjbGFzcyBdCisuUkIgWyBcLW4KKy5JUiBsZXZlbCBdCisuUkIgWyBcLXQgXQorLklSICJjb21tYW5kICIgWyBhcmd1bWVudCAuLi5dCisuU0ggREVTQ1JJUFRJT04KK1RoaXMgcHJvZ3JhbSBzZXRzIG9yIGdldHMgdGhlIEkvTyBzY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eSBmb3IgYSBwcm9ncmFtLgorSWYgbm8gYXJndW1lbnRzIG9yIGp1c3QgXGZCXC1wXGZSIGlzIGdpdmVuLCBcZkJpb25pY2VcZlIgd2lsbCBxdWVyeSB0aGUgY3VycmVudAorSS9PIHNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5IGZvciB0aGF0IHByb2Nlc3MuCisKK1doZW4gXGZJY29tbWFuZFxmUiBpcyBnaXZlbiwKKy5CIGlvbmljZQord2lsbCBydW4gdGhpcyBjb21tYW5kIHdpdGggdGhlIGdpdmVuIGFyZ3VtZW50cy4KK0lmIG5vIFxmSWNsYXNzXGZSIGlzIHNwZWNpZmllZCwgdGhlbgorLkkgY29tbWFuZAord2lsbCBiZSBleGVjdXRlZCB3aXRoIHRoZSAiYmVzdC1lZmZvcnQiIHNjaGVkdWxpbmcgY2xhc3MuICBUaGUgZGVmYXVsdAorcHJpb3JpdHkgbGV2ZWwgaXMgNC4KKworQXMgb2YgdGhpcyB3cml0aW5nLCBhIHByb2Nlc3MgY2FuIGJlIGluIG9uZSBvZiB0aHJlZSBzY2hlZHVsaW5nIGNsYXNzZXM6CisuSVAgIlxmQklkbGVcZlAiCitBIHByb2dyYW0gcnVubmluZyB3aXRoIGlkbGUgSS9PIHByaW9yaXR5IHdpbGwgb25seSBnZXQgZGlzayB0aW1lIHdoZW4gbm8gb3RoZXIKK3Byb2dyYW0gaGFzIGFza2VkIGZvciBkaXNrIEkvTyBmb3IgYSBkZWZpbmVkIGdyYWNlIHBlcmlvZC4gIFRoZSBpbXBhY3Qgb2YgYW4KK2lkbGUgSS9PIHByb2Nlc3Mgb24gbm9ybWFsIHN5c3RlbSBhY3Rpdml0eSBzaG91bGQgYmUgemVyby4gIFRoaXMgc2NoZWR1bGluZworY2xhc3MgZG9lcyBub3QgdGFrZSBhIHByaW9yaXR5IGFyZ3VtZW50LiAgUHJlc2VudGx5LCB0aGlzIHNjaGVkdWxpbmcgY2xhc3MKK2lzIHBlcm1pdHRlZCBmb3IgYW4gb3JkaW5hcnkgdXNlciAoc2luY2Uga2VybmVsIDIuNi4yNSkuCisuSVAgIlxmQkJlc3QtZWZmb3J0XGZQIgorVGhpcyBpcyB0aGUgZWZmZWN0aXZlIHNjaGVkdWxpbmcgY2xhc3MgZm9yIGFueSBwcm9jZXNzIHRoYXQgaGFzIG5vdCBhc2tlZCBmb3IKK2Egc3BlY2lmaWMgSS9PIHByaW9yaXR5LgorVGhpcyBjbGFzcyB0YWtlcyBhIHByaW9yaXR5IGFyZ3VtZW50IGZyb20gXGZJMC03XGZSLCB3aXRoIGEgbG93ZXIKK251bWJlciBiZWluZyBoaWdoZXIgcHJpb3JpdHkuICBQcm9ncmFtcyBydW5uaW5nIGF0IHRoZSBzYW1lIGJlc3QtZWZmb3J0Citwcmlvcml0eSBhcmUgc2VydmVkIGluIGEgcm91bmQtcm9iaW4gZmFzaGlvbi4KKworTm90ZSB0aGF0IGJlZm9yZSBrZXJuZWwgMi42LjI2IGEgcHJvY2VzcyB0aGF0IGhhcyBub3QgYXNrZWQgZm9yIGFuIEkvTyBwcmlvcml0eQorZm9ybWFsbHkgdXNlcyAiXGZCbm9uZVxmUCIgYXMgc2NoZWR1bGluZyBjbGFzcywgYnV0IHRoZSBJL08gc2NoZWR1bGVyIHdpbGwgdHJlYXQKK3N1Y2ggcHJvY2Vzc2VzIGFzIGlmIGl0IHdlcmUgaW4gdGhlIGJlc3QtZWZmb3J0IGNsYXNzLiAgVGhlIHByaW9yaXR5IHdpdGhpbiB0aGUKK2Jlc3QtZWZmb3J0IGNsYXNzIHdpbGwgYmUgZHluYW1pY2FsbHkgZGVyaXZlZCBmcm9tIHRoZSBDUFUgbmljZSBsZXZlbCBvZiB0aGUKK3Byb2Nlc3M6IGlvX3ByaW9yaXR5ID0gKGNwdV9uaWNlICsgMjApIC8gNS4KKworRm9yIGtlcm5lbHMgYWZ0ZXIgMi42LjI2IHdpdGggdGhlIENGUSBJL08gc2NoZWR1bGVyLCBhIHByb2Nlc3MgdGhhdCBoYXMgbm90IGFza2VkCitmb3IgYW4gSS9PIHByaW9yaXR5IGluaGVyaXRzIGl0cyBDUFUgc2NoZWR1bGluZyBjbGFzcy4gIFRoZSBJL08gcHJpb3JpdHkgaXMgZGVyaXZlZAorZnJvbSB0aGUgQ1BVIG5pY2UgbGV2ZWwgb2YgdGhlIHByb2Nlc3MgKHNhbWUgYXMgYmVmb3JlIGtlcm5lbCAyLjYuMjYpLgorCisuSVAgIlxmQlJlYWx0aW1lXGZQIgorVGhlIFJUIHNjaGVkdWxpbmcgY2xhc3MgaXMgZ2l2ZW4gZmlyc3QgYWNjZXNzIHRvIHRoZSBkaXNrLCByZWdhcmRsZXNzIG9mCit3aGF0IGVsc2UgaXMgZ29pbmcgb24gaW4gdGhlIHN5c3RlbS4gIFRodXMgdGhlIFJUIGNsYXNzIG5lZWRzIHRvIGJlIHVzZWQgd2l0aAorc29tZSBjYXJlLCBhcyBpdCBjYW4gc3RhcnZlIG90aGVyIHByb2Nlc3Nlcy4gIEFzIHdpdGggdGhlIGJlc3QtZWZmb3J0IGNsYXNzLAorOCBwcmlvcml0eSBsZXZlbHMgYXJlIGRlZmluZWQgZGVub3RpbmcgaG93IGJpZyBhIHRpbWUgc2xpY2UgYSBnaXZlbiBwcm9jZXNzCit3aWxsIHJlY2VpdmUgb24gZWFjaCBzY2hlZHVsaW5nIHdpbmRvdy4gIFRoaXMgc2NoZWR1bGluZyBjbGFzcyBpcyBub3QKK3Blcm1pdHRlZCBmb3IgYW4gb3JkaW5hcnkgKGkuZS4sIG5vbi1yb290KSB1c2VyLgorLlNIIE9QVElPTlMKKy5UUAorLkJSIFwtYyAsICIgXC1cLWNsYXNzICIgXGZJY2xhc3NcZlIKK1NwZWNpZnkgdGhlIG5hbWUgb3IgbnVtYmVyIG9mIHRoZSBzY2hlZHVsaW5nIGNsYXNzIHRvIHVzZTsgXGZJMFxmUiBmb3Igbm9uZSwKK1xmSTFcZlIgZm9yIHJlYWx0aW1lLCBcZkkyXGZSIGZvciBiZXN0LWVmZm9ydCwgXGZJM1xmUiBmb3IgaWRsZS4KKy5UUAorLkJSIFwtbiAsICIgXC1cLWNsYXNzZGF0YSAiIFxmSWxldmVsXGZSCitTcGVjaWZ5IHRoZSBzY2hlZHVsaW5nIGNsYXNzIGRhdGEuICBUaGlzIG9ubHkgaGFzIGFuIGVmZmVjdCBpZiB0aGUgY2xhc3MKK2FjY2VwdHMgYW4gYXJndW1lbnQuICBGb3IgcmVhbHRpbWUgYW5kIGJlc3QtZWZmb3J0LCBcZkkwLTdcZlIgYXJlIHZhbGlkIGRhdGEKKyhwcmlvcml0eSBsZXZlbHMpLCBhbmQgXGZJMFxmUiByZXByZXNlbnRzIHRoZSBoaWdoZXN0IHByaW9yaXR5IGxldmVsLgorLlRQCisuQlIgXC1wICwgIiBcLVwtcGlkICIgXGZJUElEXGZSLi4uCitTcGVjaWZ5IHRoZSBwcm9jZXNzIElEcyBvZiBydW5uaW5nIHByb2Nlc3NlcyBmb3Igd2hpY2ggdG8gZ2V0IG9yIHNldCB0aGUKK3NjaGVkdWxpbmcgcGFyYW1ldGVycy4KKy5UUAorLkJSIFwtUCAsICIgXC1cLXBnaWQgIiBcZklQR0lEXGZSLi4uCitTcGVjaWZ5IHRoZSBwcm9jZXNzIGdyb3VwIElEcyBvZiBydW5uaW5nIHByb2Nlc3NlcyBmb3Igd2hpY2ggdG8gZ2V0IG9yIHNldCB0aGUKK3NjaGVkdWxpbmcgcGFyYW1ldGVycy4KKy5UUAorLkJSIFwtdCAsICIgXC1cLWlnbm9yZSIKK0lnbm9yZSBmYWlsdXJlIHRvIHNldCB0aGUgcmVxdWVzdGVkIHByaW9yaXR5LiAgSWYgXGZJY29tbWFuZFxmUiB3YXMgc3BlY2lmaWVkLAorcnVuIGl0IGV2ZW4gaW4gY2FzZSBpdCB3YXMgbm90IHBvc3NpYmxlIHRvIHNldCB0aGUgZGVzaXJlZCBzY2hlZHVsaW5nIHByaW9yaXR5LAord2hpY2ggY2FuIGhhcHBlbiBkdWUgdG8gaW5zdWZmaWNpZW50IHByaXZpbGVnZXMgb3IgYW4gb2xkIGtlcm5lbCB2ZXJzaW9uLgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlRQCisuQlIgXC11ICwgIiBcLVwtdWlkICIgXGZJVUlEXGZSLi4uCitTcGVjaWZ5IHRoZSB1c2VyIElEcyBvZiBydW5uaW5nIHByb2Nlc3NlcyBmb3Igd2hpY2ggdG8gZ2V0IG9yIHNldCB0aGUKK3NjaGVkdWxpbmcgcGFyYW1ldGVycy4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuU0ggRVhBTVBMRVMKKy5MUAorLlRQIDcKKyMgXGZCaW9uaWNlXGZQIC1jIDMgLXAgODkKKy5UUCA3CitTZXRzIHByb2Nlc3Mgd2l0aCBQSUQgODkgYXMgYW4gaWRsZSBJL08gcHJvY2Vzcy4KKy5UUCA3CisjIFxmQmlvbmljZVxmUCAtYyAyIC1uIDAgYmFzaAorLlRQIDcKK1J1bnMgJ2Jhc2gnIGFzIGEgYmVzdC1lZmZvcnQgcHJvZ3JhbSB3aXRoIGhpZ2hlc3QgcHJpb3JpdHkuCisuVFAgNworIyBcZkJpb25pY2VcZlAgLXAgODkgOTEKKy5UUCA3CitQcmludHMgdGhlIGNsYXNzIGFuZCBwcmlvcml0eSBvZiB0aGUgcHJvY2Vzc2VzIHdpdGggUElEIDg5IGFuZCA5MS4KKy5TSCBOT1RFUworTGludXggc3VwcG9ydHMgSS9PIHNjaGVkdWxpbmcgcHJpb3JpdGllcyBhbmQgY2xhc3NlcyBzaW5jZSAyLjYuMTMgd2l0aCB0aGUgQ0ZRCitJL08gc2NoZWR1bGVyLgorLlNIIEFVVEhPUlMKKy5uZgorSmVucyBBeGJvZSA8amVuc0BheGJvZS5kaz4KK0thcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorLmZpCisuU0ggU0VFIEFMU08KKy5CUiBpb3ByaW9fc2V0ICgyKQorLlNIIEFWQUlMQUJJTElUWQorVGhlIGlvbmljZSBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2Z0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL3NjaGVkdXRpbHMvaW9uaWNlLmMgYi9zY2hlZHV0aWxzL2lvbmljZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1MjhhZmUKLS0tIC9kZXYvbnVsbAorKysgYi9zY2hlZHV0aWxzL2lvbmljZS5jCkBAIC0wLDAgKzEsMjY2IEBACisvKgorICogaW9uaWNlOiBzZXQgb3IgZ2V0IHByb2Nlc3MgaW8gc2NoZWR1bGluZyBjbGFzcyBhbmQgcHJpb3JpdHkKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUgSmVucyBBeGJvZSA8amVuc0BheGJvZS5kaz4KKyAqCisgKiBSZWxlYXNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgorICoKKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzeXMvc3lzY2FsbC5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCitzdGF0aWMgaW50IHRvbGVyYW50OworCitzdGF0aWMgaW5saW5lIGludCBpb3ByaW9fc2V0KGludCB3aGljaCwgaW50IHdobywgaW50IGlvcHJpbykKK3sKKwlyZXR1cm4gc3lzY2FsbChTWVNfaW9wcmlvX3NldCwgd2hpY2gsIHdobywgaW9wcmlvKTsKK30KKworc3RhdGljIGlubGluZSBpbnQgaW9wcmlvX2dldChpbnQgd2hpY2gsIGludCB3aG8pCit7CisJcmV0dXJuIHN5c2NhbGwoU1lTX2lvcHJpb19nZXQsIHdoaWNoLCB3aG8pOworfQorCitlbnVtIHsKKwlJT1BSSU9fQ0xBU1NfTk9ORSwKKwlJT1BSSU9fQ0xBU1NfUlQsCisJSU9QUklPX0NMQVNTX0JFLAorCUlPUFJJT19DTEFTU19JRExFLAorfTsKKworZW51bSB7CisJSU9QUklPX1dIT19QUk9DRVNTID0gMSwKKwlJT1BSSU9fV0hPX1BHUlAsCisJSU9QUklPX1dIT19VU0VSLAorfTsKKworI2RlZmluZSBJT1BSSU9fQ0xBU1NfU0hJRlQJKDEzKQorI2RlZmluZSBJT1BSSU9fUFJJT19NQVNLCSgoMVVMIDw8IElPUFJJT19DTEFTU19TSElGVCkgLSAxKQorCisjZGVmaW5lIElPUFJJT19QUklPX0NMQVNTKG1hc2spCSgobWFzaykgPj4gSU9QUklPX0NMQVNTX1NISUZUKQorI2RlZmluZSBJT1BSSU9fUFJJT19EQVRBKG1hc2spCSgobWFzaykgJiBJT1BSSU9fUFJJT19NQVNLKQorI2RlZmluZSBJT1BSSU9fUFJJT19WQUxVRShjbGFzcywgZGF0YSkJKCgoY2xhc3MpIDw8IElPUFJJT19DTEFTU19TSElGVCkgfCBkYXRhKQorCitjb25zdCBjaGFyICp0b19wcmlvW10gPSB7CisJW0lPUFJJT19DTEFTU19OT05FXSA9ICJub25lIiwKKwlbSU9QUklPX0NMQVNTX1JUXSAgID0gInJlYWx0aW1lIiwKKwlbSU9QUklPX0NMQVNTX0JFXSAgID0gImJlc3QtZWZmb3J0IiwKKwlbSU9QUklPX0NMQVNTX0lETEVdID0gImlkbGUiCit9OworCitzdGF0aWMgaW50IHBhcnNlX2lvY2xhc3MoY29uc3QgY2hhciAqc3RyKQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodG9fcHJpbyk7IGkrKykKKwkJaWYgKCFzdHJjYXNlY21wKHN0ciwgdG9fcHJpb1tpXSkpCisJCQlyZXR1cm4gaTsKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyB2b2lkIGlvcHJpb19wcmludChpbnQgcGlkLCBpbnQgd2hvKQoreworCWludCBpb3ByaW8gPSBpb3ByaW9fZ2V0KHdobywgcGlkKTsKKworCWlmIChpb3ByaW8gPT0gLTEpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImlvcHJpb19nZXQgZmFpbGVkIikpOworCWVsc2UgeworCQlpbnQgaW9jbGFzcyA9IElPUFJJT19QUklPX0NMQVNTKGlvcHJpbyk7CisJCWNvbnN0IGNoYXIgKm5hbWUgPSBfKCJ1bmtub3duIik7CisKKwkJaWYgKGlvY2xhc3MgPj0gMCAmJiAoc2l6ZV90KSBpb2NsYXNzIDwgQVJSQVlfU0laRSh0b19wcmlvKSkKKwkJCW5hbWUgPSB0b19wcmlvW2lvY2xhc3NdOworCisJCWlmIChpb2NsYXNzICE9IElPUFJJT19DTEFTU19JRExFKQorCQkJcHJpbnRmKF8oIiVzOiBwcmlvICVsdVxuIiksIG5hbWUsCisJCQkgICAgICAgSU9QUklPX1BSSU9fREFUQShpb3ByaW8pKTsKKwkJZWxzZQorCQkJcHJpbnRmKCIlc1xuIiwgbmFtZSk7CisJfQorfQorCitzdGF0aWMgdm9pZCBpb3ByaW9fc2V0aWQoaW50IHdoaWNoLCBpbnQgaW9jbGFzcywgaW50IGRhdGEsIGludCB3aG8pCit7CisJaW50IHJjID0gaW9wcmlvX3NldCh3aG8sIHdoaWNoLAorCQkJICAgIElPUFJJT19QUklPX1ZBTFVFKGlvY2xhc3MsIGRhdGEpKTsKKworCWlmIChyYyA9PSAtMSAmJiAhdG9sZXJhbnQpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImlvcHJpb19zZXQgZmFpbGVkIikpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqIG91dCkKK3sKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsICBfKCIgJTEkcyBbb3B0aW9uc10gLXAgPHBpZD4uLi5cbiIKKwkJCSIgJTEkcyBbb3B0aW9uc10gLVAgPHBnaWQ+Li4uXG4iCisJCQkiICUxJHMgW29wdGlvbnNdIC11IDx1aWQ+Li4uXG4iCisJCQkiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJTaG93IG9yIGNoYW5nZSB0aGUgSS9PLXNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5IG9mIGEgcHJvY2Vzcy5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWMsIC0tY2xhc3MgPGNsYXNzPiAgICBuYW1lIG9yIG51bWJlciBvZiBzY2hlZHVsaW5nIGNsYXNzLFxuIgorCQkiICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbiwgLS1jbGFzc2RhdGEgPG51bT4gIHByaW9yaXR5ICgwLi43KSBpbiB0aGUgc3BlY2lmaWVkIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisJCSIgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHkgZm9yIHRoZSByZWFsdGltZSBhbmQgYmVzdC1lZmZvcnQgY2xhc3Nlc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1wLCAtLXBpZCA8cGlkPi4uLiAgICAgYWN0IG9uIHRoZXNlIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtUCwgLS1wZ2lkIDxwZ3JwPi4uLiAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIGluIHRoZXNlIGdyb3Vwc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC10LCAtLWlnbm9yZSAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXUsIC0tdWlkIDx1aWQ+Li4uICAgICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBvd25lZCBieSB0aGVzZSB1c2Vyc1xuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoVVNBR0VfSEVMUCwgb3V0KTsKKwlmcHV0cyhVU0FHRV9WRVJTSU9OLCBvdXQpOworCisJZnByaW50ZihvdXQsIFVTQUdFX01BTl9UQUlMKCJpb25pY2UoMSkiKSk7CisKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IGRhdGEgPSA0LCBzZXQgPSAwLCBpb2NsYXNzID0gSU9QUklPX0NMQVNTX0JFLCBjOworCWludCB3aGljaCA9IDAsIHdobyA9IDA7CisJY29uc3QgY2hhciAqaW52YWxpZF9tc2cgPSBOVUxMOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyAiY2xhc3NkYXRhIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICduJyB9LAorCQl7ICJjbGFzcyIsICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2MnIH0sCisJCXsgImhlbHAiLCAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnaCcgfSwKKwkJeyAiaWdub3JlIiwgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICd0JyB9LAorCQl7ICJwaWQiLCAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3AnIH0sCisJCXsgInBnaWQiLCAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnUCcgfSwKKwkJeyAidWlkIiwgICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICd1JyB9LAorCQl7ICJ2ZXJzaW9uIiwgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ1YnIH0sCisJCXsgTlVMTCwgMCwgTlVMTCwgMCB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiK246YzpwOlA6dTp0VmgiLCBsb25nb3B0cywgTlVMTCkpICE9IEVPRikKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ24nOgorCQkJZGF0YSA9IHN0cnRvczMyX29yX2VycihvcHRhcmcsIF8oImludmFsaWQgY2xhc3MgZGF0YSBhcmd1bWVudCIpKTsKKwkJCXNldCB8PSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2MnOgorCQkJaWYgKGlzZGlnaXQoKm9wdGFyZykpCisJCQkJaW9jbGFzcyA9IHN0cnRvczMyX29yX2VycihvcHRhcmcsCisJCQkJCQlfKCJpbnZhbGlkIGNsYXNzIGFyZ3VtZW50IikpOworCQkJZWxzZSB7CisJCQkJaW9jbGFzcyA9IHBhcnNlX2lvY2xhc3Mob3B0YXJnKTsKKwkJCQlpZiAoaW9jbGFzcyA8IDApCisJCQkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJCQkJXygidW5rbm93biBzY2hlZHVsaW5nIGNsYXNzOiAnJXMnIiksCisJCQkJCQlvcHRhcmcpOworCQkJfQorCQkJc2V0IHw9IDI7CisJCQlicmVhazsKKwkJY2FzZSAncCc6CisJCQlpZiAod2hvKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJCSAgICAgXygiY2FuIGhhbmRsZSBvbmx5IG9uZSBvZiBwaWQsIHBnaWQgb3IgdWlkIGF0IG9uY2UiKSk7CisJCQlpbnZhbGlkX21zZyA9IF8oImludmFsaWQgUElEIGFyZ3VtZW50Iik7CisJCQl3aGljaCA9IHN0cnRvczMyX29yX2VycihvcHRhcmcsIGludmFsaWRfbXNnKTsKKwkJCXdobyA9IElPUFJJT19XSE9fUFJPQ0VTUzsKKwkJCWJyZWFrOworCQljYXNlICdQJzoKKwkJCWlmICh3aG8pCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkJICAgICBfKCJjYW4gaGFuZGxlIG9ubHkgb25lIG9mIHBpZCwgcGdpZCBvciB1aWQgYXQgb25jZSIpKTsKKwkJCWludmFsaWRfbXNnID0gXygiaW52YWxpZCBQR0lEIGFyZ3VtZW50Iik7CisJCQl3aGljaCA9IHN0cnRvczMyX29yX2VycihvcHRhcmcsIGludmFsaWRfbXNnKTsKKwkJCXdobyA9IElPUFJJT19XSE9fUEdSUDsKKwkJCWJyZWFrOworCQljYXNlICd1JzoKKwkJCWlmICh3aG8pCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkJICAgICBfKCJjYW4gaGFuZGxlIG9ubHkgb25lIG9mIHBpZCwgcGdpZCBvciB1aWQgYXQgb25jZSIpKTsKKwkJCWludmFsaWRfbXNnID0gXygiaW52YWxpZCBVSUQgYXJndW1lbnQiKTsKKwkJCXdoaWNoID0gc3RydG9zMzJfb3JfZXJyKG9wdGFyZywgaW52YWxpZF9tc2cpOworCQkJd2hvID0gSU9QUklPX1dIT19VU0VSOworCQkJYnJlYWs7CisJCWNhc2UgJ3QnOgorCQkJdG9sZXJhbnQgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQl9CisKKwlzd2l0Y2ggKGlvY2xhc3MpIHsKKwkJY2FzZSBJT1BSSU9fQ0xBU1NfTk9ORToKKwkJCWlmICgoc2V0ICYgMSkgJiYgIXRvbGVyYW50KQorCQkJCXdhcm54KF8oImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIG5vbmUgY2xhc3MiKSk7CisJCQlkYXRhID0gMDsKKwkJCWJyZWFrOworCQljYXNlIElPUFJJT19DTEFTU19SVDoKKwkJY2FzZSBJT1BSSU9fQ0xBU1NfQkU6CisJCQlicmVhazsKKwkJY2FzZSBJT1BSSU9fQ0xBU1NfSURMRToKKwkJCWlmICgoc2V0ICYgMSkgJiYgIXRvbGVyYW50KQorCQkJCXdhcm54KF8oImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIGlkbGUgY2xhc3MiKSk7CisJCQlkYXRhID0gNzsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJaWYgKCF0b2xlcmFudCkKKwkJCQl3YXJueChfKCJ1bmtub3duIHByaW8gY2xhc3MgJWQiKSwgaW9jbGFzcyk7CisJCQlicmVhazsKKwl9CisKKwlpZiAoIXNldCAmJiAhd2hpY2ggJiYgb3B0aW5kID09IGFyZ2MpCisJCS8qCisJCSAqIGlvbmljZSB3aXRob3V0IG9wdGlvbnMsIHByaW50IHRoZSBjdXJyZW50IGlvcHJpbworCQkgKi8KKwkJaW9wcmlvX3ByaW50KDAsIElPUFJJT19XSE9fUFJPQ0VTUyk7CisJZWxzZSBpZiAoIXNldCAmJiB3aG8pIHsKKwkJLyoKKwkJICogaW9uaWNlIC1wfC1QfC11IElEIFtJRCAuLi5dCisJCSAqLworCQlpb3ByaW9fcHJpbnQod2hpY2gsIHdobyk7CisKKwkJZm9yKDsgYXJndltvcHRpbmRdOyArK29wdGluZCkgeworCQkJd2hpY2ggPSBzdHJ0b3MzMl9vcl9lcnIoYXJndltvcHRpbmRdLCBpbnZhbGlkX21zZyk7CisJCQlpb3ByaW9fcHJpbnQod2hpY2gsIHdobyk7CisJCX0KKwl9IGVsc2UgaWYgKHNldCAmJiB3aG8pIHsKKwkJLyoKKwkJICogaW9uaWNlIC1jIENMQVNTIC1wfC1QfC11IElEIFtJRCAuLi5dCisJCSAqLworCQlpb3ByaW9fc2V0aWQod2hpY2gsIGlvY2xhc3MsIGRhdGEsIHdobyk7CisKKwkJZm9yKDsgYXJndltvcHRpbmRdOyArK29wdGluZCkgeworCQkJd2hpY2ggPSBzdHJ0b3MzMl9vcl9lcnIoYXJndltvcHRpbmRdLCBpbnZhbGlkX21zZyk7CisJCQlpb3ByaW9fc2V0aWQod2hpY2gsIGlvY2xhc3MsIGRhdGEsIHdobyk7CisJCX0KKwl9IGVsc2UgaWYgKGFyZ3Zbb3B0aW5kXSkgeworCQkvKgorCQkgKiBpb25pY2UgWy1jIENMQVNTXSBDT01NQU5ECisJCSAqLworCQlpb3ByaW9fc2V0aWQoMCwgaW9jbGFzcywgZGF0YSwgSU9QUklPX1dIT19QUk9DRVNTKTsKKwkJZXhlY3ZwKGFyZ3Zbb3B0aW5kXSwgJmFyZ3Zbb3B0aW5kXSk7CisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBleGVjdXRlICVzIiksIGFyZ3Zbb3B0aW5kXSk7CisJfSBlbHNlCisJCXVzYWdlKHN0ZGVycik7CisKKworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9zY2hlZHV0aWxzL3Rhc2tzZXQuMSBiL3NjaGVkdXRpbHMvdGFza3NldC4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiNzE2N2UKLS0tIC9kZXYvbnVsbAorKysgYi9zY2hlZHV0aWxzL3Rhc2tzZXQuMQpAQCAtMCwwICsxLDEzNiBAQAorLlwiIHRhc2tzZXQoMSkgbWFucGFnZQorLlwiCisuXCIgQ29weXJpZ2h0IChDKSAyMDA0IFJvYmVydCBMb3ZlCisuXCIKKy5cIiBUaGlzIGlzIGZyZWUgZG9jdW1lbnRhdGlvbjsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisuXCIgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCisuXCIgdmVyc2lvbiAyLCBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKy5cIgorLlwiIFRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSdzIHJlZmVyZW5jZXMgdG8gIm9iamVjdCBjb2RlIgorLlwiIGFuZCAiZXhlY3V0YWJsZXMiIGFyZSB0byBiZSBpbnRlcnByZXRlZCBhcyB0aGUgb3V0cHV0IG9mIGFueQorLlwiIGRvY3VtZW50IGZvcm1hdHRpbmcgb3IgdHlwZXNldHRpbmcgc3lzdGVtLCBpbmNsdWRpbmcKKy5cIiBpbnRlcm1lZGlhdGUgYW5kIHByaW50ZWQgb3V0cHV0LgorLlwiCisuXCIgVGhpcyBtYW51YWwgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy5cIiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorLlwiIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKy5cIiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorLlwiCisuXCIgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKy5cIiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorLlwiIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisuXCIKKy5USCBUQVNLU0VUIDEgIkF1Z3VzdCAyMDE0IiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQordGFza3NldCBcLSBzZXQgb3IgcmV0cmlldmUgYSBwcm9jZXNzJ3MgQ1BVIGFmZmluaXR5CisuU0ggU1lOT1BTSVMKKy5CIHRhc2tzZXQKK1tvcHRpb25zXQorLklSIG1hc2tcIGNvbW1hbmRcICBbIGFyZ3VtZW50IC4uLl0KKy5icgorLkIgdGFza3NldAorW29wdGlvbnNdCisuQiBcLXAKKy5SSSBbIG1hc2sgXVwgIHBpZAorLlNIIERFU0NSSVBUSU9OCisuUFAKKy5CIHRhc2tzZXQKK2lzIHVzZWQgdG8gc2V0IG9yIHJldHJpZXZlIHRoZSBDUFUgYWZmaW5pdHkgb2YgYSBydW5uaW5nIHByb2Nlc3MgZ2l2ZW4gaXRzCitcZklwaWRcZlIsIG9yIHRvIGxhdW5jaCBhIG5ldyBcZkljb21tYW5kXGZSIHdpdGggYSBnaXZlbiBDUFUgYWZmaW5pdHkuCitDUFUgYWZmaW5pdHkgaXMgYQorc2NoZWR1bGVyIHByb3BlcnR5IHRoYXQgImJvbmRzIiBhIHByb2Nlc3MgdG8gYSBnaXZlbiBzZXQgb2YgQ1BVcyBvbiB0aGUgc3lzdGVtLgorVGhlIExpbnV4IHNjaGVkdWxlciB3aWxsIGhvbm9yIHRoZSBnaXZlbiBDUFUgYWZmaW5pdHkgYW5kIHRoZSBwcm9jZXNzIHdpbGwgbm90CitydW4gb24gYW55IG90aGVyIENQVXMuICBOb3RlIHRoYXQgdGhlIExpbnV4IHNjaGVkdWxlciBhbHNvIHN1cHBvcnRzIG5hdHVyYWwKK0NQVSBhZmZpbml0eTogdGhlIHNjaGVkdWxlciBhdHRlbXB0cyB0byBrZWVwIHByb2Nlc3NlcyBvbiB0aGUgc2FtZSBDUFUgYXMgbG9uZworYXMgcHJhY3RpY2FsIGZvciBwZXJmb3JtYW5jZSByZWFzb25zLiAgVGhlcmVmb3JlLCBmb3JjaW5nIGEgc3BlY2lmaWMgQ1BVCithZmZpbml0eSBpcyB1c2VmdWwgb25seSBpbiBjZXJ0YWluIGFwcGxpY2F0aW9ucy4KKy5zcAorVGhlIENQVSBhZmZpbml0eSBpcyByZXByZXNlbnRlZCBhcyBhIGJpdG1hc2ssIHdpdGggdGhlIGxvd2VzdCBvcmRlciBiaXQKK2NvcnJlc3BvbmRpbmcgdG8gdGhlIGZpcnN0IGxvZ2ljYWwgQ1BVIGFuZCB0aGUgaGlnaGVzdCBvcmRlciBiaXQgY29ycmVzcG9uZGluZwordG8gdGhlIGxhc3QgbG9naWNhbCBDUFUuICBOb3QgYWxsIENQVXMgbWF5IGV4aXN0IG9uIGEgZ2l2ZW4gc3lzdGVtIGJ1dCBhIG1hc2sKK21heSBzcGVjaWZ5IG1vcmUgQ1BVcyB0aGFuIGFyZSBwcmVzZW50LiAgQSByZXRyaWV2ZWQgbWFzayB3aWxsIHJlZmxlY3Qgb25seSB0aGUKK2JpdHMgdGhhdCBjb3JyZXNwb25kIHRvIENQVXMgcGh5c2ljYWxseSBvbiB0aGUgc3lzdGVtLiAgSWYgYW4gaW52YWxpZCBtYXNrIGlzCitnaXZlbiAoaS5lLiwgb25lIHRoYXQgY29ycmVzcG9uZHMgdG8gbm8gdmFsaWQgQ1BVcyBvbiB0aGUgY3VycmVudCBzeXN0ZW0pIGFuCitlcnJvciBpcyByZXR1cm5lZC4gIFRoZSBtYXNrcyBtYXkgYmUgc3BlY2lmaWVkIGluIGhleGFkZWNpbWFsICh3aXRoIG9yIHdpdGhvdXQKK2EgbGVhZGluZyAiMHgiKSwgb3IgYXMgYSBDUFUgbGlzdCB3aXRoIHRoZQorLkJSIFwtXC1jcHVcLWxpc3QKK29wdGlvbi4gIEZvciBleGFtcGxlLAorLlJTIDQKKy5UUCAxMgorLkJSIDB4MDAwMDAwMDEKK2lzIHByb2Nlc3NvciAjMCwKKy5UUAorLkJSIDB4MDAwMDAwMDMKK2lzIHByb2Nlc3NvcnMgIzAgYW5kICMxLAorLlRQCisuQlIgMHhGRkZGRkZGRgoraXMgcHJvY2Vzc29ycyAjMCB0aHJvdWdoICMzMSwKKy5UUAorLkJSIDMyCitpcyBwcm9jZXNzb3JzICMxLCAjNCwgYW5kICM1LAorLlRQCisuQlIgXC1cLWNwdVwtbGlzdFwgMC0yLDYKK2lzIHByb2Nlc3NvcnMgIzAsICMxLCAjMiwgYW5kICM2LgorLlJFCisuUFAKK1doZW4KKy5CUiB0YXNrc2V0CityZXR1cm5zLCBpdCBpcyBndWFyYW50ZWVkIHRoYXQgdGhlIGdpdmVuIHByb2dyYW0gaGFzIGJlZW4gc2NoZWR1bGVkIHRvIGEgbGVnYWwKK0NQVS4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLWEgLFwgIFwtXC1hbGxcLXRhc2tzCitTZXQgb3IgcmV0cmlldmUgdGhlIENQVSBhZmZpbml0eSBvZiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBQSUQuCisuVFAKKy5CUiBcLWMgLFwgIFwtXC1jcHVcLWxpc3QKK0ludGVycHJldCBcZkltYXNrXGZSIGFzIG51bWVyaWNhbCBsaXN0IG9mIHByb2Nlc3NvcnMgaW5zdGVhZCBvZiBhIGJpdG1hc2suCitOdW1iZXJzIGFyZSBzZXBhcmF0ZWQgYnkgY29tbWFzIGFuZCBtYXkgaW5jbHVkZSByYW5nZXMuICBGb3IgZXhhbXBsZToKKy5CUiAwLDUsOC0xMSAuCisuVFAKKy5CUiBcLXAgLFwgIFwtXC1waWQKK09wZXJhdGUgb24gYW4gZXhpc3RpbmcgUElEIGFuZCBkbyBub3QgbGF1bmNoIGEgbmV3IHRhc2suCisuVFAKKy5CUiBcLVYgLFwgIFwtXC12ZXJzaW9uCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLFwgIFwtXC1oZWxwCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBVU0FHRQorLlRQCitUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBydW4gYSBuZXcgY29tbWFuZCB3aXRoIGEgZ2l2ZW4gYWZmaW5pdHkgbWFzazoKKy5CIHRhc2tzZXQKKy5JIG1hc2sKKy5JUiBjb21tYW5kXCAgWyBhcmd1bWVudHMgXQorLlRQCitZb3UgY2FuIGFsc28gcmV0cmlldmUgdGhlIENQVSBhZmZpbml0eSBvZiBhbiBleGlzdGluZyB0YXNrOgorLkIgdGFza3NldCBcLXAKKy5JIHBpZAorLlRQCitPciBzZXQgaXQ6CisuQiB0YXNrc2V0IFwtcAorLkkgbWFzayBwaWQKKy5TSCBQRVJNSVNTSU9OUworQSB1c2VyIGNhbiBjaGFuZ2UgdGhlIENQVSBhZmZpbml0eSBvZiBhIHByb2Nlc3MgYmVsb25naW5nIHRvIHRoZSBzYW1lIHVzZXIuCitBIHVzZXIgbXVzdCBwb3NzZXNzCisuQiBDQVBfU1lTX05JQ0UKK3RvIGNoYW5nZSB0aGUgQ1BVIGFmZmluaXR5IG9mIGEgcHJvY2VzcyBiZWxvbmdpbmcgdG8gYW5vdGhlciB1c2VyLgorQSB1c2VyIGNhbiByZXRyaWV2ZSB0aGUgYWZmaW5pdHkgbWFzayBvZiBhbnkgcHJvY2Vzcy4KKy5TSCBTRUUgQUxTTworLkJSIGNocnQgKDEpLAorLkJSIG5pY2UgKDEpLAorLkJSIHJlbmljZSAoMSksCisuQlIgc2NoZWRfZ2V0YWZmaW5pdHkgKDIpLAorLkJSIHNjaGVkX3NldGFmZmluaXR5ICgyKQorLnNwCitTZWUKKy5CUiBzY2hlZCAoNykKK2ZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSBMaW51eCBzY2hlZHVsaW5nIHNjaGVtZS4KKy5TSCBBVVRIT1IKK1dyaXR0ZW4gYnkgUm9iZXJ0IE0uIExvdmUuCisuU0ggQ09QWVJJR0hUCitDb3B5cmlnaHQgXChjbyAyMDA0IFJvYmVydCBNLiBMb3ZlLgorVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk8KK3dhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgorLlNIIEFWQUlMQUJJTElUWQorVGhlIHRhc2tzZXQgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9zY2hlZHV0aWxzL3Rhc2tzZXQuYyBiL3NjaGVkdXRpbHMvdGFza3NldC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2YjIxZTQKLS0tIC9kZXYvbnVsbAorKysgYi9zY2hlZHV0aWxzL3Rhc2tzZXQuYwpAQCAtMCwwICsxLDI0MyBAQAorLyoKKyAqIHRhc2tzZXQuYyAtIHNldCBvciByZXRyaWV2ZSBhIHRhc2sncyBDUFUgYWZmaW5pdHkKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgdmVyc2lvbiAyLCBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgKiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQgUm9iZXJ0IExvdmUKKyAqIENvcHlyaWdodCAoQykgMjAxMCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHNjaGVkLmg+CisjaW5jbHVkZSA8c3RkZGVmLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisKKyNpbmNsdWRlICJjcHVzZXQuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgInByb2N1dGlscy5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCitzdHJ1Y3QgdGFza3NldCB7CisJcGlkX3QJCXBpZDsJCS8qIHRhc2sgUElEICovCisJY3B1X3NldF90CSpzZXQ7CQkvKiB0YXNrIENQVSBtYXNrICovCisJc2l6ZV90CQlzZXRzaXplOworCWNoYXIJCSpidWY7CQkvKiBidWZmZXIgZm9yIGNvbnZlcnNpb24gZnJvbSBtYXNrIHRvIHN0cmluZyAqLworCXNpemVfdAkJYnVmbGVuOworCXVuc2lnbmVkIGludAl1c2VfbGlzdDoxLAkvKiB1c2UgbGlzdCByYXRoZXIgdGhhbiBtYXNrcyAqLworCQkJZ2V0X29ubHk6MTsJLyogcHJpbnQgdGhlIG1hc2ssIGJ1dCBub3QgbW9kaWZ5ICovCit9OworCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZShGSUxFICpvdXQpCit7CisJZnByaW50ZihvdXQsCisJCV8oIlVzYWdlOiAlcyBbb3B0aW9uc10gW21hc2sgfCBjcHUtbGlzdF0gW3BpZHxjbWQgW2FyZ3MuLi5dXVxuXG4iKSwKKwkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlNob3cgb3IgY2hhbmdlIHRoZSBDUFUgYWZmaW5pdHkgb2YgYSBwcm9jZXNzLlxuIiksIG91dCk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCisJZnByaW50ZihvdXQsIF8oCisJCSJPcHRpb25zOlxuIgorCQkiIC1hLCAtLWFsbC10YXNrcyAgICAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisJCSIgLXAsIC0tcGlkICAgICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKKwkJIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICBkaXNwbGF5IGFuZCBzcGVjaWZ5IGNwdXMgaW4gbGlzdCBmb3JtYXRcbiIKKwkJIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscFxuIgorCQkiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG5cbiIpKTsKKworCWZwcmludGYob3V0LCBfKAorCQkiVGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gcnVuIGEgbmV3IGNvbW1hbmQ6XG4iCisJCSIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKwkJIllvdSBjYW4gcmV0cmlldmUgdGhlIG1hc2sgb2YgYW4gZXhpc3RpbmcgdGFzazpcbiIKKwkJIiAgICAlMSRzIC1wIDcwMFxuIgorCQkiT3Igc2V0IGl0OlxuIgorCQkiICAgICUxJHMgLXAgMDMgNzAwXG4iCisJCSJMaXN0IGZvcm1hdCB1c2VzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QgaW5zdGVhZCBvZiBhIG1hc2s6XG4iCisJCSIgICAgJTEkcyAtcGMgMCwzLDctMTEgNzAwXG4iCisJCSJSYW5nZXMgaW4gbGlzdCBmb3JtYXQgY2FuIHRha2UgYSBzdHJpZGUgYXJndW1lbnQ6XG4iCisJCSIgICAgZS5nLiAwLTMxOjIgaXMgZXF1aXZhbGVudCB0byBtYXNrIDB4NTU1NTU1NTVcbiIpLAorCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoInRhc2tzZXQoMSkiKSk7CisKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgdm9pZCBwcmludF9hZmZpbml0eShzdHJ1Y3QgdGFza3NldCAqdHMsIGludCBpc25ldykKK3sKKwljaGFyICpzdHIsICptc2c7CisKKwlpZiAodHMtPnVzZV9saXN0KSB7CisJCXN0ciA9IGNwdWxpc3RfY3JlYXRlKHRzLT5idWYsIHRzLT5idWZsZW4sIHRzLT5zZXQsIHRzLT5zZXRzaXplKTsKKwkJbXNnID0gaXNuZXcgPyBfKCJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbGlzdDogJXNcbiIpIDoKKwkJCSAgICAgIF8oInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbGlzdDogJXNcbiIpOworCX0gZWxzZSB7CisJCXN0ciA9IGNwdW1hc2tfY3JlYXRlKHRzLT5idWYsIHRzLT5idWZsZW4sIHRzLT5zZXQsIHRzLT5zZXRzaXplKTsKKwkJbXNnID0gaXNuZXcgPyBfKCJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbWFzazogJXNcbiIpIDoKKwkJCSAgICAgIF8oInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbWFzazogJXNcbiIpOworCX0KKworCWlmICghc3RyKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiaW50ZXJuYWwgZXJyb3I6IGNvbnZlcnNpb24gZnJvbSBjcHVzZXQgdG8gc3RyaW5nIGZhaWxlZCIpKTsKKworCXByaW50Zihtc2csIHRzLT5waWQsIHN0cik7Cit9CisKK3N0YXRpYyB2b2lkIGRvX3Rhc2tzZXQoc3RydWN0IHRhc2tzZXQgKnRzLCBzaXplX3Qgc2V0c2l6ZSwgY3B1X3NldF90ICpzZXQpCit7CisJLyogcmVhZCB0aGUgY3VycmVudCBtYXNrICovCisJaWYgKHRzLT5waWQpIHsKKwkJaWYgKHNjaGVkX2dldGFmZmluaXR5KHRzLT5waWQsIHRzLT5zZXRzaXplLCB0cy0+c2V0KSA8IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGFmZmluaXR5IiksCisJCQkgICAgdHMtPnBpZCk7CisJCXByaW50X2FmZmluaXR5KHRzLCBGQUxTRSk7CisJfQorCisJaWYgKHRzLT5nZXRfb25seSkKKwkJcmV0dXJuOworCisJLyogc2V0IG5ldyBtYXNrICovCisJaWYgKHNjaGVkX3NldGFmZmluaXR5KHRzLT5waWQsIHNldHNpemUsIHNldCkgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIGFmZmluaXR5IiksCisJCSAgICB0cy0+cGlkKTsKKworCS8qIHJlLXJlYWQgdGhlIGN1cnJlbnQgbWFzayAqLworCWlmICh0cy0+cGlkKSB7CisJCWlmIChzY2hlZF9nZXRhZmZpbml0eSh0cy0+cGlkLCB0cy0+c2V0c2l6ZSwgdHMtPnNldCkgPCAwKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhZmZpbml0eSIpLAorCQkJICAgIHRzLT5waWQpOworCQlwcmludF9hZmZpbml0eSh0cywgVFJVRSk7CisJfQorfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJY3B1X3NldF90ICpuZXdfc2V0OworCXBpZF90IHBpZCA9IDA7CisJaW50IGMsIGFsbF90YXNrcyA9IDA7CisJaW50IG5jcHVzOworCXNpemVfdCBuZXdfc2V0c2l6ZSwgbmJpdHM7CisJc3RydWN0IHRhc2tzZXQgdHM7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJhbGwtdGFza3MiLAkwLCBOVUxMLCAnYScgfSwKKwkJeyAicGlkIiwJMCwgTlVMTCwgJ3AnIH0sCisJCXsgImNwdS1saXN0IiwJMCwgTlVMTCwgJ2MnIH0sCisJCXsgImhlbHAiLAkwLCBOVUxMLCAnaCcgfSwKKwkJeyAidmVyc2lvbiIsCTAsIE5VTEwsICdWJyB9LAorCQl7IE5VTEwsCQkwLCBOVUxMLCAgMCAgfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJbWVtc2V0KCZ0cywgMCwgc2l6ZW9mKHRzKSk7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiK2FwY2hWIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnYSc6CisJCQlhbGxfdGFza3MgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3AnOgorCQkJcGlkID0gc3RydG9zMzJfb3JfZXJyKGFyZ3ZbYXJnYyAtIDFdLAorCQkJCQkgICAgXygiaW52YWxpZCBQSUQgYXJndW1lbnQiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnYyc6CisJCQl0cy51c2VfbGlzdCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2Uoc3Rkb3V0KTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJaWYgKCghcGlkICYmIGFyZ2MgLSBvcHRpbmQgPCAyKQorCSAgICB8fCAocGlkICYmIChhcmdjIC0gb3B0aW5kIDwgMSB8fCBhcmdjIC0gb3B0aW5kID4gMikpKQorCQl1c2FnZShzdGRlcnIpOworCisJbmNwdXMgPSBnZXRfbWF4X251bWJlcl9vZl9jcHVzKCk7CisJaWYgKG5jcHVzIDw9IDApCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3QgZGV0ZXJtaW5lIE5SX0NQVVM7IGFib3J0aW5nIikpOworCisJLyoKKwkgKiB0aGUgdHMtPnNldCBpcyBhbHdheXMgdXNlZCBmb3IgdGhlIHNjaGVkX2dldGFmZmluaXR5IGNhbGwKKwkgKiBPbiB0aGUgc2NoZWRfZ2V0YWZmaW5pdHkgdGhlIGtlcm5lbCBkZW1hbmRzIGEgdXNlciBtYXNrIG9mCisJICogYXQgbGVhc3QgdGhlIHNpemUgb2YgaXRzIG93biBjcHVtYXNrX3QuCisJICovCisJdHMuc2V0ID0gY3B1c2V0X2FsbG9jKG5jcHVzLCAmdHMuc2V0c2l6ZSwgJm5iaXRzKTsKKwlpZiAoIXRzLnNldCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY3B1c2V0X2FsbG9jIGZhaWxlZCIpKTsKKworCS8qIGJ1ZmZlciBmb3IgY29udmVyc2lvbiBmcm9tIG1hc2sgdG8gc3RyaW5nICovCisJdHMuYnVmbGVuID0gNyAqIG5iaXRzOworCXRzLmJ1ZiA9IHhtYWxsb2ModHMuYnVmbGVuKTsKKworCS8qCisJICogbmV3X3NldCBpcyBhbHdheXMgdXNlZCBmb3IgdGhlIHNjaGVkX3NldGFmZmluaXR5IGNhbGwKKwkgKiBPbiB0aGUgc2NoZWRfc2V0YWZmaW5pdHkgdGhlIGtlcm5lbCB3aWxsIHplcm8tZmlsbCBpdHMKKwkgKiBjcHVtYXNrX3QgaWYgdGhlIHVzZXIncyBtYXNrIGlzIHNob3J0ZXIuCisJICovCisJbmV3X3NldCA9IGNwdXNldF9hbGxvYyhuY3B1cywgJm5ld19zZXRzaXplLCBOVUxMKTsKKwlpZiAoIW5ld19zZXQpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNwdXNldF9hbGxvYyBmYWlsZWQiKSk7CisKKwlpZiAoYXJnYyAtIG9wdGluZCA9PSAxKQorCQl0cy5nZXRfb25seSA9IDE7CisKKwllbHNlIGlmICh0cy51c2VfbGlzdCkgeworCQlpZiAoY3B1bGlzdF9wYXJzZShhcmd2W29wdGluZF0sIG5ld19zZXQsIG5ld19zZXRzaXplLCAwKSkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3Q6ICVzIiksCisJCQkgICAgIGFyZ3Zbb3B0aW5kXSk7CisJfSBlbHNlIGlmIChjcHVtYXNrX3BhcnNlKGFyZ3Zbb3B0aW5kXSwgbmV3X3NldCwgbmV3X3NldHNpemUpKSB7CisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2s6ICVzIiksCisJCSAgICAgYXJndltvcHRpbmRdKTsKKwl9CisKKwlpZiAoYWxsX3Rhc2tzICYmIHBpZCkgeworCQlzdHJ1Y3QgcHJvY190YXNrcyAqdGFza3MgPSBwcm9jX29wZW5fdGFza3MocGlkKTsKKwkJd2hpbGUgKCFwcm9jX25leHRfdGlkKHRhc2tzLCAmdHMucGlkKSkKKwkJCWRvX3Rhc2tzZXQoJnRzLCBuZXdfc2V0c2l6ZSwgbmV3X3NldCk7CisJCXByb2NfY2xvc2VfdGFza3ModGFza3MpOworCX0gZWxzZSB7CisJCXRzLnBpZCA9IHBpZDsKKwkJZG9fdGFza3NldCgmdHMsIG5ld19zZXRzaXplLCBuZXdfc2V0KTsKKwl9CisKKwlmcmVlKHRzLmJ1Zik7CisJY3B1c2V0X2ZyZWUodHMuc2V0KTsKKwljcHVzZXRfZnJlZShuZXdfc2V0KTsKKworCWlmICghcGlkKSB7CisJCWFyZ3YgKz0gb3B0aW5kICsgMTsKKwkJZXhlY3ZwKGFyZ3ZbMF0sIGFyZ3YpOworCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIpLCBhcmd2WzBdKTsKKwl9CisKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzLy5naXRpZ25vcmUgYi9zeXMtdXRpbHMvLmdpdGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMTg1YTBlCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzLy5naXRpZ25vcmUKQEAgLTAsMCArMSwyNCBAQAorZnN0cmltLnNlcnZpY2UKK2kzODYuOAoraWE2NC44CitsaW51eDMyLjgKK2xpbnV4NjQuOAorbWlwczMyLjgKK21pcHM2NC44CittaXBzLjgKK3BhcmlzYzMyLjgKK3BhcmlzYzY0LjgKK3BhcmlzYy44CitwcGMzMi44CitwcGM2NC44CitwcGMuOAorczM5MC44CitzMzkweC44CitzcGFyYzMyLjgKK3NwYXJjMzJiYXNoLjgKK3NwYXJjNjQuOAorc3BhcmMuOAordW5hbWUyNi44Cit4ODZfNjQuOAoraHdjbG9jay44CitydGN3YWtlLjgKZGlmZiAtLWdpdCBhL3N5cy11dGlscy9NYWtlbW9kdWxlLmFtIGIvc3lzLXV0aWxzL01ha2Vtb2R1bGUuYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTk4Y2I1NQotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9NYWtlbW9kdWxlLmFtCkBAIC0wLDAgKzEsNDIyIEBACitpZiBCVUlMRF9GTE9DSwordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gZmxvY2sKK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL2Zsb2NrLjEKK2Zsb2NrX1NPVVJDRVMgPSBzeXMtdXRpbHMvZmxvY2suYyBsaWIvbW9ub3RvbmljLmMgbGliL3RpbWVyLmMKK2Zsb2NrX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhICQoUkVBTFRJTUVfTElCUykKK2VuZGlmCisKK2lmIEJVSUxEX0lQQ01LCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSBpcGNtaworZGlzdF9tYW5fTUFOUyArPSBzeXMtdXRpbHMvaXBjbWsuMQoraXBjbWtfU09VUkNFUyA9IHN5cy11dGlscy9pcGNtay5jCitpcGNta19MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQorZW5kaWYKKworaWYgQlVJTERfSVBDUk0KK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IGlwY3JtCitkaXN0X21hbl9NQU5TICs9IHN5cy11dGlscy9pcGNybS4xCitpcGNybV9TT1VSQ0VTID0gc3lzLXV0aWxzL2lwY3JtLmMKK2lwY3JtX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCitlbmRpZgorCitpZiBCVUlMRF9JUENTCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSBpcGNzCitkaXN0X21hbl9NQU5TICs9IHN5cy11dGlscy9pcGNzLjEKK2lwY3NfU09VUkNFUyA9CXN5cy11dGlscy9pcGNzLmMgXAorCQlzeXMtdXRpbHMvaXBjdXRpbHMuYyBcCisJCXN5cy11dGlscy9pcGN1dGlscy5oCitpcGNzX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCitlbmRpZgorCitpZiBCVUlMRF9MU0lQQwordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gbHNpcGMKK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL2xzaXBjLjEKK2xzaXBjX1NPVVJDRVMgPQlzeXMtdXRpbHMvbHNpcGMuYyBcCisJCXN5cy11dGlscy9pcGN1dGlscy5jIFwKKwkJc3lzLXV0aWxzL2lwY3V0aWxzLmgKK2xzaXBjX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhIGxpYnNtYXJ0Y29scy5sYQorbHNpcGNfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1JJCh1bF9saWJzbWFydGNvbHNfaW5jZGlyKQorZW5kaWYKKworaWYgQlVJTERfUkVOSUNFCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSByZW5pY2UKK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL3JlbmljZS4xCityZW5pY2VfU09VUkNFUyA9IHN5cy11dGlscy9yZW5pY2UuYworZW5kaWYKKworaWYgQlVJTERfU0VUU0lECit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSBzZXRzaWQKK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL3NldHNpZC4xCitzZXRzaWRfU09VUkNFUyA9IHN5cy11dGlscy9zZXRzaWQuYworZW5kaWYKKworaWYgQlVJTERfUkVBRFBST0ZJTEUKK3VzcnNiaW5fZXhlY19QUk9HUkFNUyArPSByZWFkcHJvZmlsZQorZGlzdF9tYW5fTUFOUyArPSBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuOAorcmVhZHByb2ZpbGVfU09VUkNFUyA9IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jCitlbmRpZgorCitpZiBCVUlMRF9UVU5FTFAKK3VzcnNiaW5fZXhlY19QUk9HUkFNUyArPSB0dW5lbHAKK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL3R1bmVscC44Cit0dW5lbHBfU09VUkNFUyA9IHN5cy11dGlscy90dW5lbHAuYyBzeXMtdXRpbHMvbHAuaAordHVuZWxwX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCitlbmRpZgorCitpZiBCVUlMRF9GU1RSSU0KK3NiaW5fUFJPR1JBTVMgKz0gZnN0cmltCitkaXN0X21hbl9NQU5TICs9IHN5cy11dGlscy9mc3RyaW0uOAorZnN0cmltX1NPVVJDRVMgPSBzeXMtdXRpbHMvZnN0cmltLmMKK2ZzdHJpbV9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYSBsaWJtb3VudC5sYQorZnN0cmltX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtSSQodWxfbGlibW91bnRfaW5jZGlyKQoraWYgSEFWRV9TWVNURU1ECitzeXN0ZW1kc3lzdGVtdW5pdF9EQVRBICs9IFwKKwkJc3lzLXV0aWxzL2ZzdHJpbS5zZXJ2aWNlIFwKKwkJc3lzLXV0aWxzL2ZzdHJpbS50aW1lcgorZW5kaWYKK2VuZGlmICMgQlVJTERfRlNUUklNCisKK1BBVEhGSUxFUyArPSBzeXMtdXRpbHMvZnN0cmltLnNlcnZpY2UKK0VYVFJBX0RJU1QgKz0gc3lzLXV0aWxzL2ZzdHJpbS50aW1lcgorCitpZiBCVUlMRF9ETUVTRworYmluX1BST0dSQU1TICs9IGRtZXNnCitkaXN0X21hbl9NQU5TICs9IHN5cy11dGlscy9kbWVzZy4xCitkbWVzZ19TT1VSQ0VTID0gc3lzLXV0aWxzL2RtZXNnLmMgbGliL21vbm90b25pYy5jCitkbWVzZ19MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYSBsaWJ0Y29sb3JzLmxhICQoUkVBTFRJTUVfTElCUykKK2RtZXNnX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKQorY2hlY2tfUFJPR1JBTVMgKz0gdGVzdF9kbWVzZwordGVzdF9kbWVzZ19TT1VSQ0VTID0gJChkbWVzZ19TT1VSQ0VTKQordGVzdF9kbWVzZ19MREFERCA9ICQoZG1lc2dfTERBREQpCit0ZXN0X2RtZXNnX0NGTEFHUyA9IC1EVEVTVF9ETUVTRyAkKGRtZXNnX0NGTEFHUykKK2VuZGlmCisKK2lmIEJVSUxEX0NUUkxBTFRERUwKK3NiaW5fUFJPR1JBTVMgKz0gY3RybGFsdGRlbAorZGlzdF9tYW5fTUFOUyArPSBzeXMtdXRpbHMvY3RybGFsdGRlbC44CitjdHJsYWx0ZGVsX1NPVVJDRVMgPSBzeXMtdXRpbHMvY3RybGFsdGRlbC5jCitjdHJsYWx0ZGVsX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCitlbmRpZgorCitpZiBCVUlMRF9GU0ZSRUVaRQorc2Jpbl9QUk9HUkFNUyArPSBmc2ZyZWV6ZQorZGlzdF9tYW5fTUFOUyArPSBzeXMtdXRpbHMvZnNmcmVlemUuOAorZnNmcmVlemVfU09VUkNFUyA9IHN5cy11dGlscy9mc2ZyZWV6ZS5jCitlbmRpZgorCitpZiBCVUlMRF9CTEtESVNDQVJECitzYmluX1BST0dSQU1TICs9IGJsa2Rpc2NhcmQKK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuOAorYmxrZGlzY2FyZF9TT1VSQ0VTID0gc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYyBsaWIvbW9ub3RvbmljLmMKK2Jsa2Rpc2NhcmRfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEgJChSRUFMVElNRV9MSUJTKQorZW5kaWYKKworaWYgQlVJTERfTERBVFRBQ0gKK3VzcnNiaW5fZXhlY19QUk9HUkFNUyArPSBsZGF0dGFjaAorZGlzdF9tYW5fTUFOUyArPSBzeXMtdXRpbHMvbGRhdHRhY2guOAorbGRhdHRhY2hfU09VUkNFUyA9IHN5cy11dGlscy9sZGF0dGFjaC5jCitsZGF0dGFjaF9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQorZW5kaWYKKworaWYgQlVJTERfUlRDV0FLRQordXNyc2Jpbl9leGVjX1BST0dSQU1TICs9IHJ0Y3dha2UKK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL3J0Y3dha2UuOAorUEFUSEZJTEVTICs9IHN5cy11dGlscy9ydGN3YWtlLjgKK3J0Y3dha2VfU09VUkNFUyA9IHN5cy11dGlscy9ydGN3YWtlLmMKK3J0Y3dha2VfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEKK2VuZGlmCisKK2lmIEJVSUxEX1NFVEFSQ0gKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IHNldGFyY2gKK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL3NldGFyY2guOAorc2V0YXJjaF9TT1VSQ0VTID0gc3lzLXV0aWxzL3NldGFyY2guYworCitTRVRBUkNIX0xJTktTID0gdW5hbWUyNiBsaW51eDMyIGxpbnV4NjQKKworaWYgQVJDSF9TMzkwCitTRVRBUkNIX0xJTktTICs9IHMzOTAgczM5MHgKK2VuZGlmCitpZiBBUkNIX0k4NgorU0VUQVJDSF9MSU5LUyArPSBpMzg2CitlbmRpZgoraWYgQVJDSF84Nl82NAorU0VUQVJDSF9MSU5LUyArPSBpMzg2IHg4Nl82NAorZW5kaWYKK2lmIEFSQ0hfUFBDCitTRVRBUkNIX0xJTktTICs9IHBwYyBwcGM2NCBwcGMzMgorZW5kaWYKK2lmIEFSQ0hfU1BBUkMKK1NFVEFSQ0hfTElOS1MgKz0gc3BhcmMgc3BhcmM2NCBzcGFyYzMyIHNwYXJjMzJiYXNoCitlbmRpZgoraWYgQVJDSF9NSVBTCitTRVRBUkNIX0xJTktTICs9IG1pcHMgbWlwczY0IG1pcHMzMgorZW5kaWYKK2lmIEFSQ0hfSUE2NAorU0VUQVJDSF9MSU5LUyArPSBpMzg2IGlhNjQKK2VuZGlmCitpZiBBUkNIX0hQUEEKK1NFVEFSQ0hfTElOS1MgKz0gcGFyaXNjIHBhcmlzYzY0IHBhcmlzYzMyCitlbmRpZgorCitTRVRBUkNIX01BTl9MSU5LUyA9ICQoYWRkcHJlZml4IHN5cy11dGlscy8sJChTRVRBUkNIX0xJTktTOj0uOCkpCittYW5fTUFOUyArPSAkKFNFVEFSQ0hfTUFOX0xJTktTKQorQ0xFQU5GSUxFUyArPSAkKFNFVEFSQ0hfTUFOX0xJTktTKQorCiskKFNFVEFSQ0hfTUFOX0xJTktTKToKKwkkKEFNX1ZfYXQpICQoTUtESVJfUCkgc3lzLXV0aWxzCisJJChBTV9WX0dFTillY2hvICIuc28gbWFuOC9zZXRhcmNoLjgiID4gJEAKKworaW5zdGFsbC1leGVjLWhvb2stc2V0YXJjaDoKKwlmb3IgSSBpbiAkKFNFVEFSQ0hfTElOS1MpOyBkbyBcCisJCWNkICQoREVTVERJUikkKHVzcmJpbl9leGVjZGlyKSAmJiBsbiAtc2Ygc2V0YXJjaCAkJEkgOyBcCisJZG9uZQorCit1bmluc3RhbGwtaG9vay1zZXRhcmNoOgorCWZvciBJIGluICQoU0VUQVJDSF9MSU5LUyk7IGRvIFwKKwkJcm0gLWYgJChERVNURElSKSQodXNyYmluX2V4ZWNkaXIpLyQkSSA7IFwKKwlkb25lCisKK0lOU1RBTExfRVhFQ19IT09LUyArPSBpbnN0YWxsLWV4ZWMtaG9vay1zZXRhcmNoCitVTklOU1RBTExfSE9PS1MgKz0gdW5pbnN0YWxsLWhvb2stc2V0YXJjaAorCitlbmRpZiAjIEJVSUxEX1NFVEFSQ0gKKworCitpZiBCVUlMRF9FSkVDVAordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gZWplY3QKK2VqZWN0X1NPVVJDRVMgPSAgc3lzLXV0aWxzL2VqZWN0LmMgbGliL21vbm90b25pYy5jCitlamVjdF9MREFERCA9ICQoTERBREQpIGxpYm1vdW50LmxhIGxpYmNvbW1vbi5sYSAkKFJFQUxUSU1FX0xJQlMpCitlamVjdF9DRkxBR1MgPSAkKEFNX0NGTEFHUykgLUkkKHVsX2xpYm1vdW50X2luY2RpcikKK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL2VqZWN0LjEKK2VuZGlmCisKKworaWYgQlVJTERfTE9TRVRVUAorc2Jpbl9QUk9HUkFNUyArPSBsb3NldHVwCitkaXN0X21hbl9NQU5TICs9IHN5cy11dGlscy9sb3NldHVwLjgKK2xvc2V0dXBfU09VUkNFUyA9IHN5cy11dGlscy9sb3NldHVwLmMKK2xvc2V0dXBfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEgbGlic21hcnRjb2xzLmxhCitsb3NldHVwX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtSSQodWxfbGlic21hcnRjb2xzX2luY2RpcikKKworaWYgSEFWRV9TVEFUSUNfTE9TRVRVUAorYmluX1BST0dSQU1TICs9IGxvc2V0dXAuc3RhdGljCitsb3NldHVwX3N0YXRpY19TT1VSQ0VTID0gJChsb3NldHVwX1NPVVJDRVMpCitsb3NldHVwX3N0YXRpY19MREZMQUdTID0gLWFsbC1zdGF0aWMKK2xvc2V0dXBfc3RhdGljX0xEQUREID0gJChsb3NldHVwX0xEQUREKQorbG9zZXR1cF9zdGF0aWNfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1JJCh1bF9saWJzbWFydGNvbHNfaW5jZGlyKQorZW5kaWYKK2VuZGlmICMgQlVJTERfTE9TRVRVUAorCisKK2lmIEJVSUxEX1pSQU1DVEwKK3NiaW5fUFJPR1JBTVMgKz0genJhbWN0bAorZGlzdF9tYW5fTUFOUyArPSBzeXMtdXRpbHMvenJhbWN0bC44Cit6cmFtY3RsX1NPVVJDRVMgPSBzeXMtdXRpbHMvenJhbWN0bC5jCit6cmFtY3RsX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhIGxpYnNtYXJ0Y29scy5sYQorenJhbWN0bF9DRkxBR1MgPSAkKEFNX0NGTEFHUykgLUkkKHVsX2xpYnNtYXJ0Y29sc19pbmNkaXIpCitlbmRpZgorCisKK2lmIEJVSUxEX1BSTElNSVQKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IHBybGltaXQKK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL3BybGltaXQuMQorcHJsaW1pdF9TT1VSQ0VTID0gc3lzLXV0aWxzL3BybGltaXQuYworcHJsaW1pdF9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYSBsaWJzbWFydGNvbHMubGEKK3BybGltaXRfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1JJCh1bF9saWJzbWFydGNvbHNfaW5jZGlyKQorZW5kaWYKKworCitpZiBCVUlMRF9MU05TCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSBsc25zCitkaXN0X21hbl9NQU5TICs9IHN5cy11dGlscy9sc25zLjgKK2xzbnNfU09VUkNFUyA9CXN5cy11dGlscy9sc25zLmMKK2xzbnNfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEgbGlic21hcnRjb2xzLmxhCitsc25zX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtSSQodWxfbGlic21hcnRjb2xzX2luY2RpcikKK2VuZGlmCisKKworaWYgQlVJTERfTU9VTlQKK2Jpbl9QUk9HUkFNUyArPSBtb3VudCB1bW91bnQKK2Rpc3RfbWFuX01BTlMgKz0gXAorCXN5cy11dGlscy9tb3VudC44IFwKKwlzeXMtdXRpbHMvZnN0YWIuNSBcCisJc3lzLXV0aWxzL3Vtb3VudC44Cittb3VudF9TT1VSQ0VTID0gc3lzLXV0aWxzL21vdW50LmMKK21vdW50X0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhIGxpYm1vdW50LmxhICQoU0VMSU5VWF9MSUJTKQorbW91bnRfQ0ZMQUdTID0gJChTVUlEX0NGTEFHUykgJChBTV9DRkxBR1MpIC1JJCh1bF9saWJtb3VudF9pbmNkaXIpCittb3VudF9MREZMQUdTID0gJChTVUlEX0xERkxBR1MpICQoQU1fTERGTEFHUykKKwordW1vdW50X1NPVVJDRVMgPSBzeXMtdXRpbHMvdW1vdW50LmMKK3Vtb3VudF9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYSBsaWJtb3VudC5sYQordW1vdW50X0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAkKFNVSURfQ0ZMQUdTKSAtSSQodWxfbGlibW91bnRfaW5jZGlyKQordW1vdW50X0xERkxBR1MgPSAkKFNVSURfTERGTEFHUykgJChBTV9MREZMQUdTKQorCitpZiBIQVZFX1NUQVRJQ19NT1VOVAorYmluX1BST0dSQU1TICs9IG1vdW50LnN0YXRpYworbW91bnRfc3RhdGljX1NPVVJDRVMgPSAkKG1vdW50X1NPVVJDRVMpCittb3VudF9zdGF0aWNfQ0ZMQUdTID0gJChtb3VudF9DRkxBR1MpCittb3VudF9zdGF0aWNfTERGTEFHUyA9ICQobW91bnRfTERGTEFHUykgLWFsbC1zdGF0aWMKK21vdW50X3N0YXRpY19MREFERCA9ICQobW91bnRfTERBREQpICQoU0VMSU5VWF9MSUJTX1NUQVRJQykKK2VuZGlmCisKK2lmIEhBVkVfU1RBVElDX1VNT1VOVAorYmluX1BST0dSQU1TICs9IHVtb3VudC5zdGF0aWMKK3Vtb3VudF9zdGF0aWNfU09VUkNFUyA9ICQodW1vdW50X1NPVVJDRVMpCit1bW91bnRfc3RhdGljX0NGTEFHUyA9ICQodW1vdW50X0NGTEFHUykKK3Vtb3VudF9zdGF0aWNfTERGTEFHUyA9ICQodW1vdW50X0xERkxBR1MpIC1hbGwtc3RhdGljCit1bW91bnRfc3RhdGljX0xEQUREID0gJCh1bW91bnRfTERBREQpCitlbmRpZgorCitpZiBNQUtFSU5TVEFMTF9ET19TRVRVSUQKK2luc3RhbGwtZXhlYy1ob29rLW1vdW50OgorCWNobW9kIDQ3NTUgJChERVNURElSKSQoYmluZGlyKS9tb3VudAorCWNobW9kIDQ3NTUgJChERVNURElSKSQoYmluZGlyKS91bW91bnQKKworSU5TVEFMTF9FWEVDX0hPT0tTICs9IGluc3RhbGwtZXhlYy1ob29rLW1vdW50CitlbmRpZgorZW5kaWYgIyBCVUlMRF9NT1VOVAorCisKK2lmIEJVSUxEX1NXQVBPTgorc2Jpbl9QUk9HUkFNUyArPSBzd2Fwb24gc3dhcG9mZgorZGlzdF9tYW5fTUFOUyArPSBcCisJc3lzLXV0aWxzL3N3YXBvZmYuOCBcCisJc3lzLXV0aWxzL3N3YXBvbi44CisKK3N3YXBvbl9TT1VSQ0VTID0gXAorCXN5cy11dGlscy9zd2Fwb24uYyBcCisJc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYyBcCisJc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uaCBcCisJbGliL3N3YXBwcm9iZXIuYyBcCisJaW5jbHVkZS9zd2FwcHJvYmVyLmgKK3N3YXBvbl9DRkxBR1MgPSAkKEFNX0NGTEFHUykgXAorCS1JJCh1bF9saWJibGtpZF9pbmNkaXIpIFwKKwktSSQodWxfbGlibW91bnRfaW5jZGlyKSBcCisJLUkkKHVsX2xpYnNtYXJ0Y29sc19pbmNkaXIpCitzd2Fwb25fTERBREQgPSAkKExEQUREKSBcCisJbGliYmxraWQubGEgXAorCWxpYmNvbW1vbi5sYSBcCisJbGlibW91bnQubGEgXAorCWxpYnNtYXJ0Y29scy5sYQorCitzd2Fwb2ZmX1NPVVJDRVMgPSBcCisJc3lzLXV0aWxzL3N3YXBvZmYuYyBcCisJc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYyBcCisJc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uaCBcCisJbGliL3N3YXBwcm9iZXIuYyBcCisJaW5jbHVkZS9zd2FwcHJvYmVyLmgKK3N3YXBvZmZfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIFwKKwktSSQodWxfbGliYmxraWRfaW5jZGlyKSBcCisJLUkkKHVsX2xpYm1vdW50X2luY2RpcikKK3N3YXBvZmZfTERBREQgPSAkKExEQUREKSBcCisJbGlibW91bnQubGEgXAorCWxpYmJsa2lkLmxhIFwKKwlsaWJjb21tb24ubGEKK2VuZGlmCisKK2lmIEJVSUxEX0xTQ1BVCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSBsc2NwdQorbHNjcHVfU09VUkNFUyA9IFwKKwlzeXMtdXRpbHMvbHNjcHUuYyBcCisJc3lzLXV0aWxzL2xzY3B1LmggXAorCXN5cy11dGlscy9sc2NwdS1kbWkuYworbHNjcHVfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEgbGlic21hcnRjb2xzLmxhICQoUlRBU19MSUJTKQorbHNjcHVfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1JJCh1bF9saWJzbWFydGNvbHNfaW5jZGlyKQorZGlzdF9tYW5fTUFOUyArPSBzeXMtdXRpbHMvbHNjcHUuMQorZW5kaWYKKworaWYgQlVJTERfQ0hDUFUKK3NiaW5fUFJPR1JBTVMgKz0gY2hjcHUKK2NoY3B1X1NPVVJDRVMgPSBzeXMtdXRpbHMvY2hjcHUuYworY2hjcHVfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEKK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL2NoY3B1LjgKK2VuZGlmCisKK2lmIEJVSUxEX1dEQ1RMCitiaW5fUFJPR1JBTVMgKz0gd2RjdGwKK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL3dkY3RsLjgKK3dkY3RsX1NPVVJDRVMgPSBzeXMtdXRpbHMvd2RjdGwuYword2RjdGxfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEgbGlic21hcnRjb2xzLmxhCit3ZGN0bF9DRkxBR1MgPSAkKEFNX0NGTEFHUykgLUkkKHVsX2xpYnNtYXJ0Y29sc19pbmNkaXIpCitlbmRpZgorCitpZiBCVUlMRF9NT1VOVFBPSU5UCitiaW5fUFJPR1JBTVMgKz0gbW91bnRwb2ludAorbW91bnRwb2ludF9MREFERCA9ICQoTERBREQpIGxpYm1vdW50LmxhCittb3VudHBvaW50X0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtSSQodWxfbGlibW91bnRfaW5jZGlyKQorZGlzdF9tYW5fTUFOUyArPSBzeXMtdXRpbHMvbW91bnRwb2ludC4xCittb3VudHBvaW50X1NPVVJDRVMgPSBzeXMtdXRpbHMvbW91bnRwb2ludC5jCitlbmRpZgorCitpZiBCVUlMRF9GQUxMT0NBVEUKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IGZhbGxvY2F0ZQorZmFsbG9jYXRlX1NPVVJDRVMgPSBzeXMtdXRpbHMvZmFsbG9jYXRlLmMKK2ZhbGxvY2F0ZV9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQorZGlzdF9tYW5fTUFOUyArPSBzeXMtdXRpbHMvZmFsbG9jYXRlLjEKK2VuZGlmCisKK2lmIEJVSUxEX1BJVk9UX1JPT1QKK3NiaW5fUFJPR1JBTVMgKz0gcGl2b3Rfcm9vdAorZGlzdF9tYW5fTUFOUyArPSBzeXMtdXRpbHMvcGl2b3Rfcm9vdC44CitwaXZvdF9yb290X1NPVVJDRVMgPSBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jCitlbmRpZgorCitpZiBCVUlMRF9TV0lUQ0hfUk9PVAorc2Jpbl9QUk9HUkFNUyArPSBzd2l0Y2hfcm9vdAorZGlzdF9tYW5fTUFOUyArPSBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuOAorc3dpdGNoX3Jvb3RfU09VUkNFUyA9IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jCitlbmRpZgorCitpZiBCVUlMRF9VTlNIQVJFCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSB1bnNoYXJlCitkaXN0X21hbl9NQU5TICs9IHN5cy11dGlscy91bnNoYXJlLjEKK3Vuc2hhcmVfU09VUkNFUyA9IHN5cy11dGlscy91bnNoYXJlLmMKK3Vuc2hhcmVfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEKK3Vuc2hhcmVfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1JJCh1bF9saWJtb3VudF9pbmNkaXIpCisKK2lmIEhBVkVfU1RBVElDX1VOU0hBUkUKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IHVuc2hhcmUuc3RhdGljCit1bnNoYXJlX3N0YXRpY19TT1VSQ0VTID0gJCh1bnNoYXJlX1NPVVJDRVMpCit1bnNoYXJlX3N0YXRpY19MREZMQUdTID0gLWFsbC1zdGF0aWMKK3Vuc2hhcmVfc3RhdGljX0xEQUREID0gJCh1bnNoYXJlX0xEQUREKQordW5zaGFyZV9zdGF0aWNfQ0ZMQUdTID0gJCh1bnNoYXJlX0NGTEFHUykKK2VuZGlmCitlbmRpZgorCitpZiBCVUlMRF9OU0VOVEVSCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSBuc2VudGVyCitkaXN0X21hbl9NQU5TICs9IHN5cy11dGlscy9uc2VudGVyLjEKK25zZW50ZXJfU09VUkNFUyA9IHN5cy11dGlscy9uc2VudGVyLmMKK25zZW50ZXJfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEgJChTRUxJTlVYX0xJQlMpCisKK2lmIEhBVkVfU1RBVElDX05TRU5URVIKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IG5zZW50ZXIuc3RhdGljCituc2VudGVyX3N0YXRpY19TT1VSQ0VTID0gJChuc2VudGVyX1NPVVJDRVMpCituc2VudGVyX3N0YXRpY19MREZMQUdTID0gLWFsbC1zdGF0aWMKK25zZW50ZXJfc3RhdGljX0xEQUREID0gJChuc2VudGVyX0xEQUREKQorZW5kaWYKK2VuZGlmCisKK2lmIEJVSUxEX0hXQ0xPQ0sKK3NiaW5fUFJPR1JBTVMgKz0gaHdjbG9jaworZGlzdF9tYW5fTUFOUyArPSBzeXMtdXRpbHMvaHdjbG9jay44CitQQVRIRklMRVMgKz0gc3lzLXV0aWxzL2h3Y2xvY2suOAoraHdjbG9ja19TT1VSQ0VTID0gXAorCXN5cy11dGlscy9od2Nsb2NrLmMgXAorCXN5cy11dGlscy9od2Nsb2NrLmggXAorCXN5cy11dGlscy9od2Nsb2NrLWNtb3MuYworaWYgTElOVVgKK2h3Y2xvY2tfU09VUkNFUyArPSBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYworZW5kaWYKK2h3Y2xvY2tfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEgJChNQVRIX0xJQlMpCitpZiBIQVZFX0FVRElUCitod2Nsb2NrX0xEQUREICs9IC1sYXVkaXQKK2VuZGlmCitlbmRpZiAjIEJVSUxEX0hXQ0xPQ0sKKworaWYgQlVJTERfU0VUUFJJVgordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gc2V0cHJpdgorZGlzdF9tYW5fTUFOUyArPSBzeXMtdXRpbHMvc2V0cHJpdi4xCitzZXRwcml2X1NPVVJDRVMgPSBzeXMtdXRpbHMvc2V0cHJpdi5jCitzZXRwcml2X0xEQUREID0gJChMREFERCkgLWxjYXAtbmcgbGliY29tbW9uLmxhCitlbmRpZgpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuOCBiL3N5cy11dGlscy9ibGtkaXNjYXJkLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2IyNGYyZgotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9ibGtkaXNjYXJkLjgKQEAgLTAsMCArMSw4NSBAQAorLlRIIEJMS0RJU0NBUkQgOCAiSnVseSAyMDE0IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitibGtkaXNjYXJkIFwtIGRpc2NhcmQgc2VjdG9ycyBvbiBhIGRldmljZQorLlNIIFNZTk9QU0lTCisuQiBibGtkaXNjYXJkCitbb3B0aW9uc10KKy5SQiBbIFwtbworLklSIG9mZnNldCBdCisuUkIgWyBcLWwKKy5JUiBsZW5ndGggXQorLkkgZGV2aWNlCisuU0ggREVTQ1JJUFRJT04KKy5CIGJsa2Rpc2NhcmQKK2lzIHVzZWQgdG8gZGlzY2FyZCBkZXZpY2Ugc2VjdG9ycy4gIFRoaXMgaXMgdXNlZnVsIGZvciBzb2xpZC1zdGF0ZQorZHJpdmVycyAoU1NEcykgYW5kIHRoaW5seS1wcm92aXNpb25lZCBzdG9yYWdlLiAgVW5saWtlCisuQlIgZnN0cmltICg4KSwKK3RoaXMgY29tbWFuZCBpcyB1c2VkIGRpcmVjdGx5IG9uIHRoZSBibG9jayBkZXZpY2UuCisuUFAKK0J5IGRlZmF1bHQsCisuQiBibGtkaXNjYXJkCit3aWxsIGRpc2NhcmQgYWxsIGJsb2NrcyBvbiB0aGUgZGV2aWNlLiAgT3B0aW9ucyBtYXkgYmUgdXNlZCB0byBtb2RpZnkKK3RoaXMgYmVoYXZpb3IgYmFzZWQgb24gcmFuZ2Ugb3Igc2l6ZSwgYXMgZXhwbGFpbmVkIGJlbG93LgorLlBQCitUaGUKKy5JIGRldmljZQorYXJndW1lbnQgaXMgdGhlIHBhdGhuYW1lIG9mIHRoZSBibG9jayBkZXZpY2UuCisuUFAKKy5CIFdBUk5JTkc6IEFsbCBkYXRhIGluIHRoZSBkaXNjYXJkZWQgcmVnaW9uIG9uIHRoZSBkZXZpY2Ugd2lsbCBiZSBsb3N0IQorLlNIIE9QVElPTlMKK1RoZQorLkkgb2Zmc2V0CithbmQKKy5JIGxlbmd0aAorYXJndW1lbnRzIG1heSBiZSBmb2xsb3dlZCBieSB0aGUgbXVsdGlwbGljYXRpdmUgc3VmZml4ZXMgS2lCICg9MTAyNCksCitNaUIgKD0xMDI0KjEwMjQpLCBhbmQgc28gb24gZm9yIEdpQiwgVGlCLCBQaUIsIEVpQiwgWmlCIGFuZCBZaUIgKHRoZSAiaUIiIGlzCitvcHRpb25hbCwgZS5nLiwgIksiIGhhcyB0aGUgc2FtZSBtZWFuaW5nIGFzICJLaUIiKSBvciB0aGUgc3VmZml4ZXMKK0tCICg9MTAwMCksIE1CICg9MTAwMCoxMDAwKSwgYW5kIHNvIG9uIGZvciBHQiwgVEIsIFBCLCBFQiwgWkIgYW5kIFlCLgorLlRQCisuQlIgXC1vICwgIiBcLVwtb2Zmc2V0IFxmSW9mZnNldCIKK0J5dGUgb2Zmc2V0IGludG8gdGhlIGRldmljZSBmcm9tIHdoaWNoIHRvIHN0YXJ0IGRpc2NhcmRpbmcuICBUaGUgcHJvdmlkZWQgdmFsdWUKK3dpbGwgYmUgYWxpZ25lZCB0byB0aGUgZGV2aWNlIHNlY3RvciBzaXplLiAgVGhlIGRlZmF1bHQgdmFsdWUgaXMgemVyby4KKy5UUAorLkJSIFwtbCAsICIgXC1cLWxlbmd0aCBcZklsZW5ndGgiCitUaGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGRpc2NhcmQgKGNvdW50aW5nIGZyb20gdGhlIHN0YXJ0aW5nIHBvaW50KS4gIFRoZSBwcm92aWRlZCB2YWx1ZQord2lsbCBiZSBhbGlnbmVkIHRvIHRoZSBkZXZpY2Ugc2VjdG9yIHNpemUuICBJZiB0aGUgc3BlY2lmaWVkIHZhbHVlIGV4dGVuZHMgcGFzdAordGhlIGVuZCBvZiB0aGUgZGV2aWNlLAorLkIgYmxrZGlzY2FyZAord2lsbCBzdG9wIGF0IHRoZSBkZXZpY2Ugc2l6ZSBib3VuZGFyeS4gIFRoZSBkZWZhdWx0IHZhbHVlIGV4dGVuZHMgdG8gdGhlIGVuZAorb2YgdGhlIGRldmljZS4KKy5UUAorLkJSIFwtcCAsICIgXC1cLXN0ZXAgXGZJbGVuZ3RoIgorVGhlIG51bWJlciBvZiBieXRlcyB0byBkaXNjYXJkIHdpdGhpbiBvbmUgaXRlcmF0aW9uLiBUaGUgZGVmYXVsdCBpcyB0byBkaXNjYXJkCithbGwgYnkgb25lIGlvY3RsIGNhbGwuCisuVFAKKy5CUiBcLXMgLCAiIFwtXC1zZWN1cmUiCitQZXJmb3JtIGEgc2VjdXJlIGRpc2NhcmQuICBBIHNlY3VyZSBkaXNjYXJkIGlzIHRoZSBzYW1lIGFzIGEgcmVndWxhciBkaXNjYXJkCitleGNlcHQgdGhhdCBhbGwgY29waWVzIG9mIHRoZSBkaXNjYXJkZWQgYmxvY2tzIHRoYXQgd2VyZSBwb3NzaWJseSBjcmVhdGVkIGJ5CitnYXJiYWdlIGNvbGxlY3Rpb24gbXVzdCBhbHNvIGJlIGVyYXNlZC4gIFRoaXMgcmVxdWlyZXMgc3VwcG9ydCBmcm9tIHRoZSBkZXZpY2UuCisuVFAKKy5CUiBcLXogLCAiIFwtXC16ZXJvb3V0IgorWmVyby1maWxsIHJhdGhlciB0aGFuIGRpc2NhcmQuCisuVFAKKy5CUiBcLXYgLCAiIFwtXC12ZXJib3NlIgorRGlzcGxheSB0aGUgYWxpZ25lZCB2YWx1ZXMgb2YKKy5JIG9mZnNldAorYW5kCisuSVIgbGVuZ3RoIC4KK0lmIHRoZSBcZkJcLVwtc3RlcFxmUiBvcHRpb24gaXMgc3BlY2lmaWVkLCBpdCBwcmludHMgdGhlIGRpc2NhcmQgcHJvZ3Jlc3MgZXZlcnkgc2Vjb25kLgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBBVVRIT1IKKy5NVCBsY3plcm5lckByZWRoYXQuY29tCitMdWthcyBDemVybmVyCisuTUUKKy5TSCBTRUUgQUxTTworLkJSIGZzdHJpbSAoOCkKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBibGtkaXNjYXJkIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUKKy5VUiBmdHA6Ly9cOmZ0cC5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9ibGtkaXNjYXJkLmMgYi9zeXMtdXRpbHMvYmxrZGlzY2FyZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4M2UxMmYKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvYmxrZGlzY2FyZC5jCkBAIC0wLDAgKzEsMjU1IEBACisvKgorICogYmxrZGlzY2FyZC5jIC0tIGRpc2NhcmQgdGhlIHBhcnQgKG9yIHdob2xlKSBvZiB0aGUgYmxvY2sgZGV2aWNlLgorICoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBSZWQgSGF0LCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBXcml0dGVuIGJ5IEx1a2FzIEN6ZXJuZXIgPGxjemVybmVyQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqCisgKiBUaGlzIHByb2dyYW0gdXNlcyBCTEtESVNDQVJEIGlvY3RsIHRvIGRpc2NhcmQgcGFydCBvciB0aGUgd2hvbGUgYmxvY2sKKyAqIGRldmljZSBpZiB0aGUgZGV2aWNlIHN1cHBvcnRzIGl0LiBZb3UgY2FuIHNwZWNpZnkgcmFuZ2UgKHN0YXJ0IGFuZAorICogbGVuZ3RoKSB0byBiZSBkaXNjYXJkZWQsIG9yIHNpbXBseSBkaXNjYXJkIHRoZSB3aG9sZSBkZXZpY2UuCisgKi8KKworCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHRpbWUuaD4KKworI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNpbmNsdWRlIDxsaW51eC9mcy5oPgorCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJtb25vdG9uaWMuaCIKKworI2lmbmRlZiBCTEtESVNDQVJECisjIGRlZmluZSBCTEtESVNDQVJECV9JTygweDEyLDExOSkKKyNlbmRpZgorCisjaWZuZGVmIEJMS1NFQ0RJU0NBUkQKKyMgZGVmaW5lIEJMS1NFQ0RJU0NBUkQJX0lPKDB4MTIsMTI1KQorI2VuZGlmCisKKyNpZm5kZWYgQkxLWkVST09VVAorIyBkZWZpbmUgQkxLWkVST09VVAlfSU8oMHgxMiwxMjcpCisjZW5kaWYKKworZW51bSB7CisJQUNUX0RJU0NBUkQgPSAwLAkvKiBkZWZhdWx0ICovCisJQUNUX1pFUk9PVVQsCisJQUNUX1NFQ1VSRQorfTsKKworc3RhdGljIHZvaWQgcHJpbnRfc3RhdHMoaW50IGFjdCwgY2hhciAqcGF0aCwgdWludDY0X3Qgc3RhdHNbXSkKK3sKKwlzd2l0Y2ggKGFjdCkgeworCWNhc2UgQUNUX1pFUk9PVVQ6CisJCXByaW50ZihfKCIlczogWmVyby1maWxsZWQgJSIgUFJJdTY0ICIgYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICUiIFBSSXU2NCJcbiIpLCBcCisJCQlwYXRoLCBzdGF0c1sxXSwgc3RhdHNbMF0pOworCQlicmVhazsKKwljYXNlIEFDVF9TRUNVUkU6CisJY2FzZSBBQ1RfRElTQ0FSRDoKKwkJcHJpbnRmKF8oIiVzOiBEaXNjYXJkZWQgJSIgUFJJdTY0ICIgYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICUiIFBSSXU2NCJcbiIpLCBcCisJCQlwYXRoLCBzdGF0c1sxXSwgc3RhdHNbMF0pOworCQlicmVhazsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKEZJTEUgKm91dCkKK3sKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsCisJICAgICAgXygiICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJEaXNjYXJkIHRoZSBjb250ZW50IG9mIHNlY3RvcnMgb24gYSBkZXZpY2UuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcywgLS1zZWN1cmUgICAgICAgIHBlcmZvcm0gc2VjdXJlIGRpc2NhcmRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAteiwgLS16ZXJvb3V0ICAgICAgIHplcm8tZmlsbCByYXRoZXIgdGhhbiBkaXNjYXJkXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dCk7CisKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoImJsa2Rpc2NhcmQoOCkiKSk7CisJZXhpdChvdXQgPT0gc3RkZXJyID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTKTsKK30KKworCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJY2hhciAqcGF0aDsKKwlpbnQgYywgZmQsIHZlcmJvc2UgPSAwLCBzZWNzaXplOworCXVpbnQ2NF90IGVuZCwgYmxrc2l6ZSwgc3RlcCwgcmFuZ2VbMl0sIHN0YXRzWzJdOworCXN0cnVjdCBzdGF0IHNiOworCXN0cnVjdCB0aW1ldmFsIG5vdywgbGFzdDsKKwlpbnQgYWN0ID0gQUNUX0RJU0NBUkQ7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCSAgICB7ICJoZWxwIiwgICAgICAwLCAwLCAnaCcgfSwKKwkgICAgeyAidmVyc2lvbiIsICAgMCwgMCwgJ1YnIH0sCisJICAgIHsgIm9mZnNldCIsICAgIDEsIDAsICdvJyB9LAorCSAgICB7ICJsZW5ndGgiLCAgICAxLCAwLCAnbCcgfSwKKwkgICAgeyAic3RlcCIsICAgICAgMSwgMCwgJ3AnIH0sCisJICAgIHsgInNlY3VyZSIsICAgIDAsIDAsICdzJyB9LAorCSAgICB7ICJ2ZXJib3NlIiwgICAwLCAwLCAndicgfSwKKwkgICAgeyAiemVyb291dCIsICAgMCwgMCwgJ3onIH0sCisJICAgIHsgTlVMTCwgICAgICAgIDAsIDAsIDAgfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJcmFuZ2VbMF0gPSAwOworCXJhbmdlWzFdID0gVUxMT05HX01BWDsKKwlzdGVwID0gMDsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJoVnN2bzpsOnA6eiIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKwkJc3dpdGNoKGMpIHsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShzdGRvdXQpOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdsJzoKKwkJCXJhbmdlWzFdID0gc3RydG9zaXplX29yX2VycihvcHRhcmcsCisJCQkJCV8oImZhaWxlZCB0byBwYXJzZSBsZW5ndGgiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnbyc6CisJCQlyYW5nZVswXSA9IHN0cnRvc2l6ZV9vcl9lcnIob3B0YXJnLAorCQkJCQlfKCJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IikpOworCQkJYnJlYWs7CisJCWNhc2UgJ3AnOgorCQkJc3RlcCA9IHN0cnRvc2l6ZV9vcl9lcnIob3B0YXJnLAorCQkJCQlfKCJmYWlsZWQgdG8gcGFyc2Ugc3RlcCIpKTsKKwkJCWJyZWFrOworCQljYXNlICdzJzoKKwkJCWFjdCA9IEFDVF9TRUNVUkU7CisJCQlicmVhazsKKwkJY2FzZSAndic6CisJCQl2ZXJib3NlID0gMTsKKwkJCWJyZWFrOworCQljYXNlICd6JzoKKwkJCWFjdCA9IEFDVF9aRVJPT1VUOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlpZiAob3B0aW5kID09IGFyZ2MpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBkZXZpY2Ugc3BlY2lmaWVkIikpOworCisJcGF0aCA9IGFyZ3Zbb3B0aW5kKytdOworCisJaWYgKG9wdGluZCAhPSBhcmdjKSB7CisJCXdhcm54KF8oInVuZXhwZWN0ZWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIpKTsKKwkJdXNhZ2Uoc3RkZXJyKTsKKwl9CisKKwlmZCA9IG9wZW4ocGF0aCwgT19XUk9OTFkpOworCWlmIChmZCA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksIHBhdGgpOworCisJaWYgKGZzdGF0KGZkLCAmc2IpID09IC0xKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJzdGF0IG9mICVzIGZhaWxlZCIpLCBwYXRoKTsKKwlpZiAoIVNfSVNCTEsoc2Iuc3RfbW9kZSkpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogbm90IGEgYmxvY2sgZGV2aWNlIiksIHBhdGgpOworCisJaWYgKGlvY3RsKGZkLCBCTEtHRVRTSVpFNjQsICZibGtzaXplKSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiJXM6IEJMS0dFVFNJWkU2NCBpb2N0bCBmYWlsZWQiKSwgcGF0aCk7CisJaWYgKGlvY3RsKGZkLCBCTEtTU1pHRVQsICZzZWNzaXplKSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiJXM6IEJMS1NTWkdFVCBpb2N0bCBmYWlsZWQiKSwgcGF0aCk7CisKKwkvKiBjaGVjayBvZmZzZXQgYWxpZ25tZW50IHRvIHRoZSBzZWN0b3Igc2l6ZSAqLworCWlmIChyYW5nZVswXSAlIHNlY3NpemUpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogb2Zmc2V0ICUiIFBSSXU2NCAiIGlzIG5vdCBhbGlnbmVkICIKKwkJCSAidG8gc2VjdG9yIHNpemUgJWkiKSwgcGF0aCwgcmFuZ2VbMF0sIHNlY3NpemUpOworCisJLyogaXMgdGhlIHJhbmdlIGVuZCBiZWhpbmQgdGhlIGVuZCBvZiB0aGUgZGV2aWNlID8qLworCWlmIChyYW5nZVswXSA+IGJsa3NpemUpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogb2Zmc2V0IGlzIGdyZWF0ZXIgdGhhbiBkZXZpY2Ugc2l6ZSIpLCBwYXRoKTsKKwllbmQgPSByYW5nZVswXSArIHJhbmdlWzFdOworCWlmIChlbmQgPCByYW5nZVswXSB8fCBlbmQgPiBibGtzaXplKQorCQllbmQgPSBibGtzaXplOworCisJcmFuZ2VbMV0gPSAoc3RlcCA+IDApID8gc3RlcCA6IGVuZCAtIHJhbmdlWzBdOworCisJLyogY2hlY2sgbGVuZ3RoIGFsaWdubWVudCB0byB0aGUgc2VjdG9yIHNpemUgKi8KKwlpZiAocmFuZ2VbMV0gJSBzZWNzaXplKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXM6IGxlbmd0aCAlIiBQUkl1NjQgIiBpcyBub3QgYWxpZ25lZCAiCisJCQkgInRvIHNlY3RvciBzaXplICVpIiksIHBhdGgsIHJhbmdlWzFdLCBzZWNzaXplKTsKKworCXN0YXRzWzBdID0gcmFuZ2VbMF0sIHN0YXRzWzFdID0gMDsKKwlnZXR0aW1lX21vbm90b25pYygmbGFzdCk7CisKKwlmb3IgKC8qIG5vdGhpbmcgKi87IHJhbmdlWzBdIDwgZW5kOyByYW5nZVswXSArPSByYW5nZVsxXSkgeworCQlpZiAocmFuZ2VbMF0gKyByYW5nZVsxXSA+IGVuZCkKKwkJCXJhbmdlWzFdID0gZW5kIC0gcmFuZ2VbMF07CisKKwkJc3dpdGNoIChhY3QpIHsKKwkJY2FzZSBBQ1RfWkVST09VVDoKKwkJCWlmIChpb2N0bChmZCwgQkxLWkVST09VVCwgJnJhbmdlKSkKKwkJCQkgZXJyKEVYSVRfRkFJTFVSRSwgXygiJXM6IEJMS1pFUk9PVVQgaW9jdGwgZmFpbGVkIiksIHBhdGgpOworCQkJYnJlYWs7CisJCWNhc2UgQUNUX1NFQ1VSRToKKwkJCWlmIChpb2N0bChmZCwgQkxLU0VDRElTQ0FSRCwgJnJhbmdlKSkKKwkJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCIlczogQkxLU0VDRElTQ0FSRCBpb2N0bCBmYWlsZWQiKSwgcGF0aCk7CisJCQlicmVhazsKKwkJY2FzZSBBQ1RfRElTQ0FSRDoKKwkJCWlmIChpb2N0bChmZCwgQkxLRElTQ0FSRCwgJnJhbmdlKSkKKwkJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCIlczogQkxLRElTQ0FSRCBpb2N0bCBmYWlsZWQiKSwgcGF0aCk7CisJCQlicmVhazsKKwkJfQorCisJCXN0YXRzWzFdICs9IHJhbmdlWzFdOworCisJCS8qIHJlcG9ydGluZyBwcm9ncmVzcyBhdCBtb3N0IG9uY2UgcGVyIHNlY29uZCAqLworCQlpZiAodmVyYm9zZSAmJiBzdGVwKSB7CisJCQlnZXR0aW1lX21vbm90b25pYygmbm93KTsKKwkJCWlmIChub3cudHZfc2VjID4gbGFzdC50dl9zZWMgJiYKKwkJCSAgICAobm93LnR2X3VzZWMgPj0gbGFzdC50dl91c2VjIHx8IG5vdy50dl9zZWMgPiBsYXN0LnR2X3NlYyArIDEpKSB7CisJCQkJcHJpbnRfc3RhdHMoYWN0LCBwYXRoLCBzdGF0cyk7CisJCQkJc3RhdHNbMF0gKz0gc3RhdHNbMV0sIHN0YXRzWzFdID0gMDsKKwkJCQlsYXN0ID0gbm93OworCQkJfQorCQl9CisJfQorCisJaWYgKHZlcmJvc2UgJiYgc3RhdHNbMV0pCisJCXByaW50X3N0YXRzKGFjdCwgcGF0aCwgc3RhdHMpOworCisJY2xvc2UoZmQpOworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvY2hjcHUuOCBiL3N5cy11dGlscy9jaGNwdS44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliZWQ4ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvY2hjcHUuOApAQCAtMCwwICsxLDEwNiBAQAorLlRIIENIQ1BVIDggIkp1bHkgMjAxNCIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQorY2hjcHUgXC0gY29uZmlndXJlIENQVXMKKy5TSCBTWU5PUFNJUworLkIgY2hjcHUKKy5CUiBcLWMgfCBcLWQgfCBcLWUgfCBcLWcKKy5JIGNwdS1saXN0CisuYnIKKy5CIGNoY3B1IFwtcAorLkkgbW9kZQorLmJyCisuQiBjaGNwdQorLkJSIFwtciB8IFwtaCB8IFwtVgorLlNIIERFU0NSSVBUSU9OCisuQiBjaGNwdQorY2FuIG1vZGlmeSB0aGUgc3RhdGUgb2YgQ1BVcy4gIEl0IGNhbiBlbmFibGUgb3IgZGlzYWJsZSBDUFVzLCBzY2FuIGZvciBuZXcKK0NQVXMsIGNoYW5nZSB0aGUgQ1BVIGRpc3BhdGNoaW5nCisuSSBtb2RlCitvZiB0aGUgdW5kZXJseWluZyBoeXBlcnZpc29yLCBhbmQgcmVxdWVzdCBDUFVzIGZyb20gdGhlIGh5cGVydmlzb3IKKyhjb25maWd1cmUpIG9yIHJldHVybiBDUFVzIHRvIHRoZSBoeXBlcnZpc29yIChkZWNvbmZpZ3VyZSkuCisuUFAKK1NvbWUgb3B0aW9ucyBoYXZlIGEKKy5JIGNwdS1saXN0Cithcmd1bWVudC4gIFVzZSB0aGlzIGFyZ3VtZW50IHRvIHNwZWNpZnkgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBDUFVzLiAgVGhlCitsaXN0IGNhbiBjb250YWluIGluZGl2aWR1YWwgQ1BVIGFkZHJlc3NlcyBvciByYW5nZXMgb2YgYWRkcmVzc2VzLiAgRm9yCitleGFtcGxlLAorLkIgMCw1LDcsOS0xMQorbWFrZXMgdGhlIGNvbW1hbmQgYXBwbGljYWJsZSB0byB0aGUgQ1BVcyB3aXRoIHRoZSBhZGRyZXNzZXMgMCwgNSwgNywgOSwgMTAsCithbmQgMTEuCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1jICwgIiBcLVwtY29uZmlndXJlICIgXGZJY3B1LWxpc3RcZlAKK0NvbmZpZ3VyZSB0aGUgc3BlY2lmaWVkIENQVXMuICBDb25maWd1cmluZyBhIENQVSBtZWFucyB0aGF0IHRoZSBoeXBlcnZpc29yCit0YWtlcyBhIENQVSBmcm9tIHRoZSBDUFUgcG9vbCBhbmQgYXNzaWducyBpdCB0byB0aGUgdmlydHVhbCBoYXJkd2FyZSBvbiB3aGljaAoreW91ciBrZXJuZWwgcnVucy4KKy5UUAorLkJSIFwtZCAsICIgXC1cLWRpc2FibGUgIiBcZkljcHUtbGlzdFxmUAorRGlzYWJsZSB0aGUgc3BlY2lmaWVkIENQVXMuICBEaXNhYmxpbmcgYSBDUFUgbWVhbnMgdGhhdCB0aGUga2VybmVsIHNldHMgaXQKK29mZmxpbmUuCisuVFAKKy5CUiBcLWUgLCAiIFwtXC1lbmFibGUgIiBcZkljcHUtbGlzdFxmUAorRW5hYmxlIHRoZSBzcGVjaWZpZWQgQ1BVcy4gIEVuYWJsaW5nIGEgQ1BVIG1lYW5zIHRoYXQgdGhlIGtlcm5lbCBzZXRzIGl0CitvbmxpbmUuICBBIENQVSBtdXN0IGJlIGNvbmZpZ3VyZWQsIHNlZSBcZkJcLWNcZlIsIGJlZm9yZSBpdCBjYW4gYmUgZW5hYmxlZC4KKy5UUAorLkJSIFwtZyAsICIgXC1cLWRlY29uZmlndXJlICIgXGZJY3B1LWxpc3RcZlAKK0RlY29uZmlndXJlIHRoZSBzcGVjaWZpZWQgQ1BVcy4gIERlY29uZmlndXJpbmcgYSBDUFUgbWVhbnMgdGhhdCB0aGUKK2h5cGVydmlzb3IgcmVtb3ZlcyB0aGUgQ1BVIGZyb20gdGhlIHZpcnR1YWwgaGFyZHdhcmUgb24gd2hpY2ggdGhlIExpbnV4CitpbnN0YW5jZSBydW5zIGFuZCByZXR1cm5zIGl0IHRvIHRoZSBDUFUgcG9vbC4gIEEgQ1BVIG11c3QgYmUgb2ZmbGluZSwgc2VlCitcZkJcLWRcZlIsIGJlZm9yZSBpdCBjYW4gYmUgZGVjb25maWd1cmVkLgorLlRQCisuQlIgXC1wICwgIiBcLVwtZGlzcGF0Y2ggIiBcZkltb2RlXGZQCitTZXQgdGhlIENQVSBkaXNwYXRjaGluZworLkkgbW9kZQorKHBvbGFyaXphdGlvbikuICBUaGlzIG9wdGlvbiBoYXMgYW4gZWZmZWN0IG9ubHkgaWYgeW91ciBoYXJkd2FyZSBhcmNoaXRlY3R1cmUKK2FuZCBoeXBlcnZpc29yIHN1cHBvcnQgQ1BVIHBvbGFyaXphdGlvbi4gIEF2YWlsYWJsZQorLkkgbW9kZXMKK2FyZToKKy5SUyAxNAorLlRQIDEyCisuUEQgMAorLkIgaG9yaXpvbnRhbAorVGhlIHdvcmtsb2FkIGlzIHNwcmVhZCBhY3Jvc3MgYWxsIGF2YWlsYWJsZSBDUFVzLgorLlRQIDEyCisuQiB2ZXJ0aWNhbAorVGhlIHdvcmtsb2FkIGlzIGNvbmNlbnRyYXRlZCBvbiBmZXcgQ1BVcy4KKy5SRQorLlBEIDEKKy5UUAorLkJSIFwtciAsICIgXC1cLXJlc2NhbiIKK1RyaWdnZXIgYSByZXNjYW4gb2YgQ1BVcy4gIEFmdGVyIGEgcmVzY2FuLCB0aGUgTGludXgga2VybmVsIHJlY29nbml6ZXMKK3RoZSBuZXcgQ1BVcy4gIFVzZSB0aGlzIG9wdGlvbiBvbiBzeXN0ZW1zIHRoYXQgZG8gbm90CithdXRvbWF0aWNhbGx5IGRldGVjdCBuZXdseSBhdHRhY2hlZCBDUFVzLgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKworLlNIIFJFVFVSTiBDT0RFUworLkIgY2hjcHUKK2hhcyB0aGUgZm9sbG93aW5nIHJldHVybiBjb2RlczoKKy5UUAorLkJSIDAKK3N1Y2Nlc3MKKy5UUAorLkJSIDEKK2ZhaWx1cmUKKy5UUAorLkJSIDY0CitwYXJ0aWFsIHN1Y2Nlc3MKKy5SRQorLlNIIEFVVEhPUgorLk1UIGhlaWtvLmNhcnN0ZW5zQGRlLmlibS5jb20KK0hlaWtvIENhcnN0ZW5zCisuTUUKKy5TSCBDT1BZUklHSFQKK0NvcHlyaWdodCBJQk0gQ29ycC4gMjAxMQorLmJyCisuU0ggIlNFRSBBTFNPIgorLkJSIGxzY3B1ICgxKQorLlNIIEFWQUlMQUJJTElUWQorVGhlIGNoY3B1IGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGZ0cDovL1w6ZnRwLmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL2NoY3B1LmMgYi9zeXMtdXRpbHMvY2hjcHUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MGI4MzRjCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2NoY3B1LmMKQEAgLTAsMCArMSwzNzIgQEAKKy8qCisgKiBjaGNwdSAtIENQVSBjb25maWd1cmF0aW9uIHRvb2wKKyAqCisgKiBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMTEKKyAqIEF1dGhvcihzKTogSGVpa28gQ2Fyc3RlbnMgPGhlaWtvLmNhcnN0ZW5zQGRlLmlibS5jb20+LAorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd291bGQgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKyAqIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisgKiA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorICovCisKKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPGRpcmVudC5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RkYXJnLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKworI2luY2x1ZGUgImNwdXNldC5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgImJpdG9wcy5oIgorI2luY2x1ZGUgInBhdGguaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgIm9wdHV0aWxzLmgiCisKKyNkZWZpbmUgRVhDTF9FUlJPUiAiLS17Y29uZmlndXJlLGRlY29uZmlndXJlLGRpc2FibGUsZGlzcGF0Y2gsZW5hYmxlfSIKKworLyogcGFydGlhbCBzdWNjZXNzLCBvdGhlcndpc2Ugd2UgcmV0dXJuIHJlZ3VsYXIgRVhJVF97U1VDQ0VTUyxGQUlMVVJFfSAqLworI2RlZmluZSBDSENQVV9FWElUX1NPTUVPSwk2NAorCisjZGVmaW5lIF9QQVRIX1NZU19DUFUJCSIvc3lzL2RldmljZXMvc3lzdGVtL2NwdSIKKyNkZWZpbmUgX1BBVEhfU1lTX0NQVV9PTkxJTkUJX1BBVEhfU1lTX0NQVSAiL29ubGluZSIKKyNkZWZpbmUgX1BBVEhfU1lTX0NQVV9SRVNDQU4JX1BBVEhfU1lTX0NQVSAiL3Jlc2NhbiIKKyNkZWZpbmUgX1BBVEhfU1lTX0NQVV9ESVNQQVRDSAlfUEFUSF9TWVNfQ1BVICIvZGlzcGF0Y2hpbmciCisKK3N0YXRpYyBjcHVfc2V0X3QgKm9ubGluZWNwdXM7CitzdGF0aWMgaW50IG1heGNwdXM7CisKKyNkZWZpbmUgaXNfY3B1X29ubGluZShjcHUpIChDUFVfSVNTRVRfUygoY3B1KSwgQ1BVX0FMTE9DX1NJWkUobWF4Y3B1cyksIG9ubGluZWNwdXMpKQorI2RlZmluZSBudW1fb25saW5lX2NwdXMoKSAgKENQVV9DT1VOVF9TKENQVV9BTExPQ19TSVpFKG1heGNwdXMpLCBvbmxpbmVjcHVzKSkKKworZW51bSB7CisJQ01EX0NQVV9FTkFCTEUJPSAwLAorCUNNRF9DUFVfRElTQUJMRSwKKwlDTURfQ1BVX0NPTkZJR1VSRSwKKwlDTURfQ1BVX0RFQ09ORklHVVJFLAorCUNNRF9DUFVfUkVTQ0FOLAorCUNNRF9DUFVfRElTUEFUQ0hfSE9SSVpPTlRBTCwKKwlDTURfQ1BVX0RJU1BBVENIX1ZFUlRJQ0FMLAorfTsKKworLyogcmV0dXJuczogICAwID0gc3VjY2VzcworICogICAgICAgICAgPCAwID0gZmFpbHVyZQorICogICAgICAgICAgPiAwID0gcGFydGlhbCBzdWNjZXNzCisgKi8KK3N0YXRpYyBpbnQgY3B1X2VuYWJsZShjcHVfc2V0X3QgKmNwdV9zZXQsIHNpemVfdCBzZXRzaXplLCBpbnQgZW5hYmxlKQoreworCXVuc2lnbmVkIGludCBjcHU7CisJaW50IG9ubGluZSwgcmM7CisJaW50IGNvbmZpZ3VyZWQgPSAtMTsKKwlzaXplX3QgZmFpbHMgPSAwOworCisJZm9yIChjcHUgPSAwOyBjcHUgPCBzZXRzaXplOyBjcHUrKykgeworCQlpZiAoIUNQVV9JU1NFVChjcHUsIGNwdV9zZXQpKQorCQkJY29udGludWU7CisJCWlmICghcGF0aF9leGlzdChfUEFUSF9TWVNfQ1BVICIvY3B1JWQiLCBjcHUpKSB7CisJCQl3YXJueChfKCJDUFUgJXUgZG9lcyBub3QgZXhpc3QiKSwgY3B1KTsKKwkJCWZhaWxzKys7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoIXBhdGhfZXhpc3QoX1BBVEhfU1lTX0NQVSAiL2NwdSVkL29ubGluZSIsIGNwdSkpIHsKKwkJCXdhcm54KF8oIkNQVSAldSBpcyBub3QgaG90IHBsdWdnYWJsZSIpLCBjcHUpOworCQkJZmFpbHMrKzsKKwkJCWNvbnRpbnVlOworCQl9CisJCW9ubGluZSA9IHBhdGhfcmVhZF9zMzIoX1BBVEhfU1lTX0NQVSAiL2NwdSVkL29ubGluZSIsIGNwdSk7CisJCWlmICgob25saW5lID09IDEpICYmIChlbmFibGUgPT0gMSkpIHsKKwkJCXByaW50ZihfKCJDUFUgJXUgaXMgYWxyZWFkeSBlbmFibGVkXG4iKSwgY3B1KTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmICgob25saW5lID09IDApICYmIChlbmFibGUgPT0gMCkpIHsKKwkJCXByaW50ZihfKCJDUFUgJXUgaXMgYWxyZWFkeSBkaXNhYmxlZFxuIiksIGNwdSk7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAocGF0aF9leGlzdChfUEFUSF9TWVNfQ1BVICIvY3B1JWQvY29uZmlndXJlIiwgY3B1KSkKKwkJCWNvbmZpZ3VyZWQgPSBwYXRoX3JlYWRfczMyKF9QQVRIX1NZU19DUFUgIi9jcHUlZC9jb25maWd1cmUiLCBjcHUpOworCQlpZiAoZW5hYmxlKSB7CisJCQlyYyA9IHBhdGhfd3JpdGVfc3RyKCIxIiwgX1BBVEhfU1lTX0NQVSAiL2NwdSVkL29ubGluZSIsIGNwdSk7CisJCQlpZiAoKHJjID09IC0xKSAmJiAoY29uZmlndXJlZCA9PSAwKSkgeworCQkJCXdhcm4oXygiQ1BVICV1IGVuYWJsZSBmYWlsZWQgKENQVSBpcyBkZWNvbmZpZ3VyZWQpIiksIGNwdSk7CisJCQkJZmFpbHMrKzsKKwkJCX0gZWxzZSBpZiAocmMgPT0gLTEpIHsKKwkJCQl3YXJuKF8oIkNQVSAldSBlbmFibGUgZmFpbGVkIiksIGNwdSk7CisJCQkJZmFpbHMrKzsKKwkJCX0gZWxzZQorCQkJCXByaW50ZihfKCJDUFUgJXUgZW5hYmxlZFxuIiksIGNwdSk7CisJCX0gZWxzZSB7CisJCQlpZiAob25saW5lY3B1cyAmJiBudW1fb25saW5lX2NwdXMoKSA9PSAxKSB7CisJCQkJd2FybngoXygiQ1BVICV1IGRpc2FibGUgZmFpbGVkIChsYXN0IGVuYWJsZWQgQ1BVKSIpLCBjcHUpOworCQkJCWZhaWxzKys7CisJCQkJY29udGludWU7CisJCQl9CisJCQlyYyA9IHBhdGhfd3JpdGVfc3RyKCIwIiwgX1BBVEhfU1lTX0NQVSAiL2NwdSVkL29ubGluZSIsIGNwdSk7CisJCQlpZiAocmMgPT0gLTEpIHsKKwkJCQl3YXJuKF8oIkNQVSAldSBkaXNhYmxlIGZhaWxlZCIpLCBjcHUpOworCQkJCWZhaWxzKys7CisJCQl9IGVsc2UgeworCQkJCXByaW50ZihfKCJDUFUgJXUgZGlzYWJsZWRcbiIpLCBjcHUpOworCQkJCWlmIChvbmxpbmVjcHVzKQorCQkJCQlDUFVfQ0xSKGNwdSwgb25saW5lY3B1cyk7CisJCQl9CisJCX0KKwl9CisKKwlyZXR1cm4gZmFpbHMgPT0gMCA/IDAgOiBmYWlscyA9PSBzZXRzaXplID8gLTEgOiAxOworfQorCitzdGF0aWMgaW50IGNwdV9yZXNjYW4odm9pZCkKK3sKKwlpZiAoIXBhdGhfZXhpc3QoX1BBVEhfU1lTX0NQVV9SRVNDQU4pKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCByZXNjYW5uaW5nIG9mIENQVXMiKSk7CisJaWYgKHBhdGhfd3JpdGVfc3RyKCIxIiwgX1BBVEhfU1lTX0NQVV9SRVNDQU4pID09IC0xKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJGYWlsZWQgdG8gdHJpZ2dlciByZXNjYW4gb2YgQ1BVcyIpKTsKKwlwcmludGYoXygiVHJpZ2dlcmVkIHJlc2NhbiBvZiBDUFVzXG4iKSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY3B1X3NldF9kaXNwYXRjaChpbnQgbW9kZSkKK3sKKwlpZiAoIXBhdGhfZXhpc3QoX1BBVEhfU1lTX0NQVV9ESVNQQVRDSCkpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHNldHRpbmcgIgorCQkJCSAgICAgInRoZSBkaXNwYXRjaGluZyBtb2RlIG9mIENQVXMiKSk7CisJaWYgKG1vZGUgPT0gMCkgeworCQlpZiAocGF0aF93cml0ZV9zdHIoIjAiLCBfUEFUSF9TWVNfQ1BVX0RJU1BBVENIKSA9PSAtMSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oIkZhaWxlZCB0byBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaCBtb2RlIikpOworCQlwcmludGYoXygiU3VjY2Vzc2Z1bGx5IHNldCBob3Jpem9udGFsIGRpc3BhdGNoaW5nIG1vZGVcbiIpKTsKKwl9IGVsc2UgeworCQlpZiAocGF0aF93cml0ZV9zdHIoIjEiLCBfUEFUSF9TWVNfQ1BVX0RJU1BBVENIKSA9PSAtMSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oIkZhaWxlZCB0byBzZXQgdmVydGljYWwgZGlzcGF0Y2ggbW9kZSIpKTsKKwkJcHJpbnRmKF8oIlN1Y2Nlc3NmdWxseSBzZXQgdmVydGljYWwgZGlzcGF0Y2hpbmcgbW9kZVxuIikpOworCX0KKwlyZXR1cm4gMDsKK30KKworLyogcmV0dXJuczogICAwID0gc3VjY2VzcworICogICAgICAgICAgPCAwID0gZmFpbHVyZQorICogICAgICAgICAgPiAwID0gcGFydGlhbCBzdWNjZXNzCisgKi8KK3N0YXRpYyBpbnQgY3B1X2NvbmZpZ3VyZShjcHVfc2V0X3QgKmNwdV9zZXQsIHNpemVfdCBzZXRzaXplLCBpbnQgY29uZmlndXJlKQoreworCXVuc2lnbmVkIGludCBjcHU7CisJaW50IHJjLCBjdXJyZW50OworCXNpemVfdCBmYWlscyA9IDA7CisKKwlmb3IgKGNwdSA9IDA7IGNwdSA8IHNldHNpemU7IGNwdSsrKSB7CisJCWlmICghQ1BVX0lTU0VUKGNwdSwgY3B1X3NldCkpCisJCQljb250aW51ZTsKKwkJaWYgKCFwYXRoX2V4aXN0KF9QQVRIX1NZU19DUFUgIi9jcHUlZCIsIGNwdSkpIHsKKwkJCXdhcm54KF8oIkNQVSAldSBkb2VzIG5vdCBleGlzdCIpLCBjcHUpOworCQkJZmFpbHMrKzsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmICghcGF0aF9leGlzdChfUEFUSF9TWVNfQ1BVICIvY3B1JWQvY29uZmlndXJlIiwgY3B1KSkgeworCQkJd2FybngoXygiQ1BVICV1IGlzIG5vdCBjb25maWd1cmFibGUiKSwgY3B1KTsKKwkJCWZhaWxzKys7CisJCQljb250aW51ZTsKKwkJfQorCQljdXJyZW50ID0gcGF0aF9yZWFkX3MzMihfUEFUSF9TWVNfQ1BVICIvY3B1JWQvY29uZmlndXJlIiwgY3B1KTsKKwkJaWYgKChjdXJyZW50ID09IDEpICYmIChjb25maWd1cmUgPT0gMSkpIHsKKwkJCXByaW50ZihfKCJDUFUgJXUgaXMgYWxyZWFkeSBjb25maWd1cmVkXG4iKSwgY3B1KTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmICgoY3VycmVudCA9PSAwKSAmJiAoY29uZmlndXJlID09IDApKSB7CisJCQlwcmludGYoXygiQ1BVICV1IGlzIGFscmVhZHkgZGVjb25maWd1cmVkXG4iKSwgY3B1KTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmICgoY3VycmVudCA9PSAxKSAmJiAoY29uZmlndXJlID09IDApICYmIG9ubGluZWNwdXMgJiYKKwkJICAgIGlzX2NwdV9vbmxpbmUoY3B1KSkgeworCQkJd2FybngoXygiQ1BVICV1IGRlY29uZmlndXJlIGZhaWxlZCAoQ1BVIGlzIGVuYWJsZWQpIiksIGNwdSk7CisJCQlmYWlscysrOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKGNvbmZpZ3VyZSkgeworCQkJcmMgPSBwYXRoX3dyaXRlX3N0cigiMSIsIF9QQVRIX1NZU19DUFUgIi9jcHUlZC9jb25maWd1cmUiLCBjcHUpOworCQkJaWYgKHJjID09IC0xKSB7CisJCQkJd2FybihfKCJDUFUgJXUgY29uZmlndXJlIGZhaWxlZCIpLCBjcHUpOworCQkJCWZhaWxzKys7CisJCQl9IGVsc2UKKwkJCQlwcmludGYoXygiQ1BVICV1IGNvbmZpZ3VyZWRcbiIpLCBjcHUpOworCQl9IGVsc2UgeworCQkJcmMgPSBwYXRoX3dyaXRlX3N0cigiMCIsIF9QQVRIX1NZU19DUFUgIi9jcHUlZC9jb25maWd1cmUiLCBjcHUpOworCQkJaWYgKHJjID09IC0xKSB7CisJCQkJd2FybihfKCJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIiksIGNwdSk7CisJCQkJZmFpbHMrKzsKKwkJCX0gZWxzZQorCQkJCXByaW50ZihfKCJDUFUgJXUgZGVjb25maWd1cmVkXG4iKSwgY3B1KTsKKwkJfQorCX0KKworCXJldHVybiBmYWlscyA9PSAwID8gMCA6IGZhaWxzID09IHNldHNpemUgPyAtMSA6IDE7Cit9CisKK3N0YXRpYyB2b2lkIGNwdV9wYXJzZShjaGFyICpjcHVfc3RyaW5nLCBjcHVfc2V0X3QgKmNwdV9zZXQsIHNpemVfdCBzZXRzaXplKQoreworCWludCByYzsKKworCXJjID0gY3B1bGlzdF9wYXJzZShjcHVfc3RyaW5nLCBjcHVfc2V0LCBzZXRzaXplLCAxKTsKKwlpZiAocmMgPT0gMCkKKwkJcmV0dXJuOworCWlmIChyYyA9PSAyKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiaW52YWxpZCBDUFUgbnVtYmVyIGluIENQVSBsaXN0OiAlcyIpLCBjcHVfc3RyaW5nKTsKKwllcnJ4KEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0OiAlcyIpLCBjcHVfc3RyaW5nKTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqb3V0KQoreworCWZwcmludGYob3V0LCBfKAorCQkiXG5Vc2FnZTpcbiIKKwkJIiAlcyBbb3B0aW9uc11cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiQ29uZmlndXJlIENQVXMgaW4gYSBtdWx0aS1wcm9jZXNzb3Igc3lzdGVtLlxuIiksIG91dCk7CisKKwlwdXRzKF8oCSJcbk9wdGlvbnM6XG4iCisJCSIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorCQkiICAtZSwgLS1lbmFibGUgPGNwdS1saXN0PiAgICAgICBlbmFibGUgY3B1c1xuIgorCQkiICAtZCwgLS1kaXNhYmxlIDxjcHUtbGlzdD4gICAgICBkaXNhYmxlIGNwdXNcbiIKKwkJIiAgLWMsIC0tY29uZmlndXJlIDxjcHUtbGlzdD4gICAgY29uZmlndXJlIGNwdXNcbiIKKwkJIiAgLWcsIC0tZGVjb25maWd1cmUgPGNwdS1saXN0PiAgZGVjb25maWd1cmUgY3B1c1xuIgorCQkiICAtcCwgLS1kaXNwYXRjaCA8bW9kZT4gICAgICAgICBzZXQgZGlzcGF0Y2hpbmcgbW9kZVxuIgorCQkiICAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICB0cmlnZ2VyIHJlc2NhbiBvZiBjcHVzXG4iCisJCSIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iKSk7CisKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNwdV9zZXRfdCAqY3B1X3NldDsKKwlzaXplX3Qgc2V0c2l6ZTsKKwlpbnQgY21kID0gLTE7CisJaW50IGMsIHJjOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyAiY29uZmlndXJlIiwJcmVxdWlyZWRfYXJndW1lbnQsIDAsICdjJyB9LAorCQl7ICJkZWNvbmZpZ3VyZSIscmVxdWlyZWRfYXJndW1lbnQsIDAsICdnJyB9LAorCQl7ICJkaXNhYmxlIiwJcmVxdWlyZWRfYXJndW1lbnQsIDAsICdkJyB9LAorCQl7ICJkaXNwYXRjaCIsCXJlcXVpcmVkX2FyZ3VtZW50LCAwLCAncCcgfSwKKwkJeyAiZW5hYmxlIiwJcmVxdWlyZWRfYXJndW1lbnQsIDAsICdlJyB9LAorCQl7ICJoZWxwIiwJbm9fYXJndW1lbnQsICAgICAgIDAsICdoJyB9LAorCQl7ICJyZXNjYW4iLAlub19hcmd1bWVudCwgICAgICAgMCwgJ3InIH0sCisJCXsgInZlcnNpb24iLAlub19hcmd1bWVudCwgICAgICAgMCwgJ1YnIH0sCisJCXsgTlVMTCwJCTAsIDAsIDAgfQorCX07CisKKwlzdGF0aWMgY29uc3QgdWxfZXhjbF90IGV4Y2xbXSA9IHsgICAgICAgLyogcm93cyBhbmQgY29scyBpbiBpbiBBU0NJSSBvcmRlciAqLworCQl7ICdjJywnZCcsJ2UnLCdnJywncCcgfSwKKwkJeyAwIH0KKwl9OworCWludCBleGNsX3N0W0FSUkFZX1NJWkUoZXhjbCldID0gVUxfRVhDTF9TVEFUVVNfSU5JVDsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwltYXhjcHVzID0gZ2V0X21heF9udW1iZXJfb2ZfY3B1cygpOworCWlmIChtYXhjcHVzIDwgMSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBkZXRlcm1pbmUgTlJfQ1BVUzsgYWJvcnRpbmciKSk7CisJaWYgKHBhdGhfZXhpc3QoX1BBVEhfU1lTX0NQVV9PTkxJTkUpKQorCQlvbmxpbmVjcHVzID0gcGF0aF9yZWFkX2NwdWxpc3QobWF4Y3B1cywgX1BBVEhfU1lTX0NQVV9PTkxJTkUpOworCXNldHNpemUgPSBDUFVfQUxMT0NfU0laRShtYXhjcHVzKTsKKwljcHVfc2V0ID0gQ1BVX0FMTE9DKG1heGNwdXMpOworCWlmICghY3B1X3NldCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY3B1c2V0X2FsbG9jIGZhaWxlZCIpKTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJjOmQ6ZTpnOmhwOnJWIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhjLCBsb25nb3B0cywgZXhjbCwgZXhjbF9zdCk7CisKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ2MnOgorCQkJY21kID0gQ01EX0NQVV9DT05GSUdVUkU7CisJCQljcHVfcGFyc2UoYXJndltvcHRpbmQgLSAxXSwgY3B1X3NldCwgc2V0c2l6ZSk7CisJCQlicmVhazsKKwkJY2FzZSAnZCc6CisJCQljbWQgPSBDTURfQ1BVX0RJU0FCTEU7CisJCQljcHVfcGFyc2UoYXJndltvcHRpbmQgLSAxXSwgY3B1X3NldCwgc2V0c2l6ZSk7CisJCQlicmVhazsKKwkJY2FzZSAnZSc6CisJCQljbWQgPSBDTURfQ1BVX0VOQUJMRTsKKwkJCWNwdV9wYXJzZShhcmd2W29wdGluZCAtIDFdLCBjcHVfc2V0LCBzZXRzaXplKTsKKwkJCWJyZWFrOworCQljYXNlICdnJzoKKwkJCWNtZCA9IENNRF9DUFVfREVDT05GSUdVUkU7CisJCQljcHVfcGFyc2UoYXJndltvcHRpbmQgLSAxXSwgY3B1X3NldCwgc2V0c2l6ZSk7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShzdGRvdXQpOworCQljYXNlICdwJzoKKwkJCWlmIChzdHJjbXAoImhvcml6b250YWwiLCBhcmd2W29wdGluZCAtIDFdKSA9PSAwKQorCQkJCWNtZCA9IENNRF9DUFVfRElTUEFUQ0hfSE9SSVpPTlRBTDsKKwkJCWVsc2UgaWYgKHN0cmNtcCgidmVydGljYWwiLCBhcmd2W29wdGluZCAtIDFdKSA9PSAwKQorCQkJCWNtZCA9IENNRF9DUFVfRElTUEFUQ0hfVkVSVElDQUw7CisJCQllbHNlCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuc3VwcG9ydGVkIGFyZ3VtZW50OiAlcyIpLAorCQkJCSAgICAgYXJndltvcHRpbmQgLTEgXSk7CisJCQlicmVhazsKKwkJY2FzZSAncic6CisJCQljbWQgPSBDTURfQ1BVX1JFU0NBTjsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKHN0ZGVycik7CisJCX0KKwl9CisKKwlpZiAoKGFyZ2MgPT0gMSkgfHwgKGFyZ2MgIT0gb3B0aW5kKSkKKwkJdXNhZ2Uoc3RkZXJyKTsKKworCXN3aXRjaCAoY21kKSB7CisJY2FzZSBDTURfQ1BVX0VOQUJMRToKKwkJcmMgPSBjcHVfZW5hYmxlKGNwdV9zZXQsIG1heGNwdXMsIDEpOworCQlicmVhazsKKwljYXNlIENNRF9DUFVfRElTQUJMRToKKwkJcmMgPSBjcHVfZW5hYmxlKGNwdV9zZXQsIG1heGNwdXMsIDApOworCQlicmVhazsKKwljYXNlIENNRF9DUFVfQ09ORklHVVJFOgorCQlyYyA9IGNwdV9jb25maWd1cmUoY3B1X3NldCwgbWF4Y3B1cywgMSk7CisJCWJyZWFrOworCWNhc2UgQ01EX0NQVV9ERUNPTkZJR1VSRToKKwkJcmMgPSBjcHVfY29uZmlndXJlKGNwdV9zZXQsIG1heGNwdXMsIDApOworCQlicmVhazsKKwljYXNlIENNRF9DUFVfUkVTQ0FOOgorCQlyYyA9IGNwdV9yZXNjYW4oKTsKKwkJYnJlYWs7CisJY2FzZSBDTURfQ1BVX0RJU1BBVENIX0hPUklaT05UQUw6CisJCXJjID0gY3B1X3NldF9kaXNwYXRjaCgwKTsKKwkJYnJlYWs7CisJY2FzZSBDTURfQ1BVX0RJU1BBVENIX1ZFUlRJQ0FMOgorCQlyYyA9IGNwdV9zZXRfZGlzcGF0Y2goMSk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJjID0gLUVJTlZBTDsKKwkJYnJlYWs7CisJfQorCisJcmV0dXJuIHJjID09IDAgPyBFWElUX1NVQ0NFU1MgOgorCSAgICAgICAgcmMgPCAwID8gRVhJVF9GQUlMVVJFIDogQ0hDUFVfRVhJVF9TT01FT0s7Cit9CmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvY3RybGFsdGRlbC44IGIvc3lzLXV0aWxzL2N0cmxhbHRkZWwuOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMzdlYzM1Ci0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2N0cmxhbHRkZWwuOApAQCAtMCwwICsxLDU4IEBACisuXCIgQ29weXJpZ2h0IDE5OTIsIDE5OTMgUmlja2FyZCBFLiBGYWl0aCAoZmFpdGhAY3MudW5jLmVkdSkKKy5cIiBNYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisuVEggQ1RSTEFMVERFTCA4ICJPY3RvYmVyIDIwMTUiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK2N0cmxhbHRkZWwgXC0gc2V0IHRoZSBmdW5jdGlvbiBvZiB0aGUgQ3RybC1BbHQtRGVsIGNvbWJpbmF0aW9uCisuU0ggU1lOT1BTSVMKKy5CUiAiY3RybGFsdGRlbCBoYXJkIiB8IHNvZnQKKy5TSCBERVNDUklQVElPTgorQmFzZWQgb24gZXhhbWluYXRpb24gb2YgdGhlCisuSSBsaW51eC9rZXJuZWwvcmVib290LmMKK2NvZGUsIGl0IGlzIGNsZWFyIHRoYXQgdGhlcmUgYXJlIHR3byBzdXBwb3J0ZWQgZnVuY3Rpb25zIHRoYXQgdGhlCitDdHJsLUFsdC1EZWwgc2VxdWVuY2UgY2FuIHBlcmZvcm0uCisuVFAKKy5CIGhhcmQKK0ltbWVkaWF0ZWx5IHJlYm9vdCB0aGUgY29tcHV0ZXIgd2l0aG91dCBjYWxsaW5nCisuQlIgc3luYyAoMikKK2FuZCB3aXRob3V0IGFueSBvdGhlciBwcmVwYXJhdGlvbi4gIFRoaXMgaXMgdGhlIGRlZmF1bHQuCisuVFAKKy5CIHNvZnQKK01ha2UgdGhlIGtlcm5lbCBzZW5kIHRoZSBTSUdJTlQgKGludGVycnVwdCkgc2lnbmFsIHRvIHRoZQorLkIgaW5pdAorcHJvY2VzcyAodGhpcyBpcyBhbHdheXMgdGhlIHByb2Nlc3Mgd2l0aCBQSUQgMSkuICBJZiB0aGlzIG9wdGlvbiBpcyB1c2VkLAordGhlCisuQlIgaW5pdCAoOCkKK3Byb2dyYW0gbXVzdCBzdXBwb3J0IHRoaXMgZmVhdHVyZS4gIFNpbmNlIHRoZXJlIGFyZSBub3cgc2V2ZXJhbAorLkJSIGluaXQgKDgpCitwcm9ncmFtcyBpbiB0aGUgTGludXggY29tbXVuaXR5LCBwbGVhc2UgY29uc3VsdCB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlCit2ZXJzaW9uIHRoYXQgeW91IGFyZSBjdXJyZW50bHkgdXNpbmcuCisuUFAKK1doZW4gdGhlIGNvbW1hbmQgaXMgcnVuIHdpdGhvdXQgYW55IGFyZ3VtZW50LCBpdCB3aWxsIGRpc3BsYXkgdGhlIGN1cnJlbnQKK3NldHRpbmcuCisuUFAKK1RoZSBmdW5jdGlvbiBvZgorLkIgY3RybGFsdGRlbAoraXMgdXN1YWxseSBzZXQgaW4gdGhlCisuSSAvZXRjL3JjLmxvY2FsCitmaWxlLgorLlNIIE9QVElPTlMKKy5UUAorXGZCXC1WXGZSLCBcZkJcLVwtdmVyc2lvblxmUgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCitcZkJcLWhcZlIsIFxmQlwtXC1oZWxwXGZSCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBGSUxFUworLkkgL2V0Yy9yYy5sb2NhbAorLlNIICJTRUUgQUxTTyIKKy5CUiBpbml0ICg4KSwKKy5CUiBzeXN0ZW1kICgxKQorLlNIIEFVVEhPUgorLlVSIHBvZUBkYWltaS5hYXUuZGsKK1BldGVyIE9yYmFlaworLlVFCisuU0ggQVZBSUxBQklMSVRZCitUaGUgY3RybGFsdGRlbCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBmdHA6Ly9cOmZ0cC5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9jdHJsYWx0ZGVsLmMgYi9zeXMtdXRpbHMvY3RybGFsdGRlbC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhNjk1ODQKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvY3RybGFsdGRlbC5jCkBAIC0wLDAgKzEsMTExIEBACisvKgorICogY3RybGFsdGRlbC5jIC0gU2V0IHRoZSBmdW5jdGlvbiBvZiB0aGUgQ3RybC1BbHQtRGVsIGNvbWJpbmF0aW9uCisgKiBDcmVhdGVkIDQtSnVsLTkyIGJ5IFBldGVyIE9yYmFlayA8cG9lQGRhaW1pLmFhdS5kaz4KKyAqIDE5OTktMDItMjIgQXJrYWRpdXN6IE1pxZtraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4KKyAqIC0gYWRkZWQgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKKyAqLworCisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN5cy9yZWJvb3QuaD4KKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJwYXRoLmgiCisKKyNkZWZpbmUgTElOVVhfUkVCT09UX0NNRF9DQURfT04gMHg4OUFCQ0RFRgorI2RlZmluZSBMSU5VWF9SRUJPT1RfQ01EX0NBRF9PRkYgMHgwMDAwMDAwMAorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqIG91dCkKK3sKKwlmcHJpbnRmKG91dCwgVVNBR0VfSEVBREVSKTsKKwlmcHJpbnRmKG91dCwgXygiICVzIGhhcmR8c29mdFxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwcmludGYob3V0LCBVU0FHRV9TRVBBUkFUT1IpOworCWZwcmludGYob3V0LCBfKCJTZXQgdGhlIGZ1bmN0aW9uIG9mIHRoZSBDdHJsLUFsdC1EZWwgY29tYmluYXRpb24uXG4iKSk7CisKKwlmcHJpbnRmKG91dCwgVVNBR0VfT1BUSU9OUyk7CisJZnByaW50ZihvdXQsIFVTQUdFX0hFTFApOworCWZwcmludGYob3V0LCBVU0FHRV9WRVJTSU9OKTsKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoImN0cmxhbHRkZWwoOCkiKSk7CisJZXhpdChvdXQgPT0gc3RkZXJyID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIGludCBnZXRfY2FkKHZvaWQpCit7CisJdWludDY0X3QgdmFsID0gcGF0aF9yZWFkX3U2NChfUEFUSF9QUk9DX0NUUkxfQUxUX0RFTCk7CisKKwlzd2l0Y2ggKHZhbCkgeworCWNhc2UgMDoKKwkJZnB1dHMoInNvZnRcbiIsIHN0ZG91dCk7CisJCWJyZWFrOworCWNhc2UgMToKKwkJZnB1dHMoImhhcmRcbiIsIHN0ZG91dCk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXByaW50ZigiJXMgaGFyZFxuIiwgXygiaW1wbGljaXQiKSk7CisJCXdhcm54KF8oInVuZXhwZWN0ZWQgdmFsdWUgaW4gJXM6ICVqdSIpLCBfUEFUSF9QUk9DX0NUUkxfQUxUX0RFTCwgdmFsKTsKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKwl9CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KKworc3RhdGljIGludCBzZXRfY2FkKGNvbnN0IGNoYXIgKmFyZykKK3sKKwl1bnNpZ25lZCBpbnQgY21kOworCisJaWYgKGdldGV1aWQoKSkgeworCQl3YXJueChfKCJZb3UgbXVzdCBiZSByb290IHRvIHNldCB0aGUgQ3RybC1BbHQtRGVsIGJlaGF2aW9yIikpOworCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCX0KKwlpZiAoIXN0cmNtcCgiaGFyZCIsIGFyZykpCisJCWNtZCA9IExJTlVYX1JFQk9PVF9DTURfQ0FEX09OOworCWVsc2UgaWYgKCFzdHJjbXAoInNvZnQiLCBhcmcpKQorCQljbWQgPSBMSU5VWF9SRUJPT1RfQ01EX0NBRF9PRkY7CisJZWxzZSB7CisJCXdhcm54KF8oInVua25vd24gYXJndW1lbnQ6ICVzIiksIGFyZyk7CisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJfQorCWlmIChyZWJvb3QoY21kKSA8IDApIHsKKwkJd2FybngoInJlYm9vdCIpOworCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCX0KKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IGNoLCByZXQ7CisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsIE5VTEwsICdWJ30sCisJCXsiaGVscCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCd9LAorCQl7TlVMTCwgMCwgTlVMTCwgMH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgoY2ggPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiVmgiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKQorCQlzd2l0Y2ggKGNoKSB7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQl9CisKKwlpZiAoYXJnYyA8IDIpCisJCXJldCA9IGdldF9jYWQoKTsKKwllbHNlCisJCXJldCA9IHNldF9jYWQoYXJndlsxXSk7CisJcmV0dXJuIHJldDsKK30KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9kbWVzZy4xIGIvc3lzLXV0aWxzL2RtZXNnLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDU1MzQxOAotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9kbWVzZy4xCkBAIC0wLDAgKzEsMjQ3IEBACisuXCIgQ29weXJpZ2h0IDE5OTMgUmlja2FyZCBFLiBGYWl0aCAoZmFpdGhAY3MudW5jLmVkdSkKKy5cIiBNYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisuVEggRE1FU0cgIjEiICJKdWx5IDIwMTIiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitkbWVzZyBcLSBwcmludCBvciBjb250cm9sIHRoZSBrZXJuZWwgcmluZyBidWZmZXIKKy5TSCBTWU5PUFNJUworLkIgZG1lc2cKK1tvcHRpb25zXQorLnNwCisuQiBkbWVzZyBcLVwtY2xlYXIKKy5icgorLkJSICJkbWVzZyBcLVwtcmVhZFwtY2xlYXIgIiBbb3B0aW9uc10KKy5icgorLkJJICJkbWVzZyBcLVwtY29uc29sZVwtbGV2ZWwgIiBsZXZlbAorLmJyCisuQiBkbWVzZyBcLVwtY29uc29sZVwtb24KKy5icgorLkIgZG1lc2cgXC1cLWNvbnNvbGVcLW9mZgorLlNIIERFU0NSSVBUSU9OCisuQiBkbWVzZworaXMgdXNlZCB0byBleGFtaW5lIG9yIGNvbnRyb2wgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlci4KKy5QUAorVGhlIGRlZmF1bHQgYWN0aW9uIGlzIHRvIGRpc3BsYXkgYWxsIG1lc3NhZ2VzIGZyb20gdGhlIGtlcm5lbCByaW5nIGJ1ZmZlci4KKy5TSCBPUFRJT05TCitUaGUKKy5CUiBcLVwtY2xlYXIgLAorLkJSIFwtXC1yZWFkXC1jbGVhciAsCisuQlIgXC1cLWNvbnNvbGVcLW9uICwKKy5CUiBcLVwtY29uc29sZVwtb2ZmICwKK2FuZAorLkIgXC1cLWNvbnNvbGVcLWxldmVsCitvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuCisuUFAKKy5JUCAiXGZCXC1DXGZSLCBcZkJcLVwtY2xlYXJcZlIiCitDbGVhciB0aGUgcmluZyBidWZmZXIuCisuSVAgIlxmQlwtY1xmUiwgXGZCXC1cLXJlYWRcLWNsZWFyXGZSIgorQ2xlYXIgdGhlIHJpbmcgYnVmZmVyIGFmdGVyIGZpcnN0IHByaW50aW5nIGl0cyBjb250ZW50cy4KKy5JUCAiXGZCXC1EXGZSLCBcZkJcLVwtY29uc29sZVwtb2ZmXGZSIgorRGlzYWJsZSB0aGUgcHJpbnRpbmcgb2YgbWVzc2FnZXMgdG8gdGhlIGNvbnNvbGUuCisuSVAgIlxmQlwtZFxmUiwgXGZCXC1cLXNob3dcLWRlbHRhXGZSIgorRGlzcGxheSB0aGUgdGltZXN0YW1wIGFuZCB0aGUgdGltZSBkZWx0YSBzcGVudCBiZXR3ZWVuIG1lc3NhZ2VzLiAgSWYgdXNlZAordG9nZXRoZXIgd2l0aAorLkIgXC1cLW5vdGltZQordGhlbiBvbmx5IHRoZSB0aW1lIGRlbHRhIHdpdGhvdXQgdGhlIHRpbWVzdGFtcCBpcyBwcmludGVkLgorLklQICJcZkJcLUVcZlIsIFxmQlwtXC1jb25zb2xlXC1vblxmUiIKK0VuYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byB0aGUgY29uc29sZS4KKy5JUCAiXGZCXC1lXGZSLCBcZkJcLVwtcmVsdGltZVxmUiIKK0Rpc3BsYXkgdGhlIGxvY2FsIHRpbWUgYW5kIHRoZSBkZWx0YSBpbiBodW1hbi1yZWFkYWJsZSBmb3JtYXQuICBCZSBhd2FyZSB0aGF0Citjb252ZXJzaW9uIHRvIHRoZSBsb2NhbCB0aW1lIGNvdWxkIGJlIGluYWNjdXJhdGUgKHNlZSBcZkJcLVRcZlIgZm9yIG1vcmUKK2RldGFpbHMpLgorLklQICJcZkJcLUZcZlIsIFxmQlwtXC1maWxlIFxmSWZpbGVcZlIiCitSZWFkIHRoZSBtZXNzYWdlcyBmcm9tIHRoZSBnaXZlbgorLklSIGZpbGUgLgorLklQICJcZkJcLWZcZlIsIFxmQlwtXC1mYWNpbGl0eSBcZklsaXN0XGZSIgorUmVzdHJpY3Qgb3V0cHV0IHRvIHRoZSBnaXZlbiAoY29tbWEtc2VwYXJhdGVkKQorLkkgbGlzdAorb2YgZmFjaWxpdGllcy4gIEZvciBleGFtcGxlOgorLlBQCisuUlMgMTQKKy5CIGRtZXNnIFwtXC1mYWNpbGl0eT1kYWVtb24KKy5SRQorLklQCit3aWxsIHByaW50IG1lc3NhZ2VzIGZyb20gc3lzdGVtIGRhZW1vbnMgb25seS4gIEZvciBhbGwgc3VwcG9ydGVkIGZhY2lsaXRpZXMKK3NlZSB0aGUKKy5CIFwtXC1oZWxwCitvdXRwdXQuCisuSVAgIlxmQlwtSFxmUiwgXGZCXC1cLWh1bWFuXGZSIgorRW5hYmxlIGh1bWFuLXJlYWRhYmxlIG91dHB1dC4gIFNlZSBhbHNvIFxmQlwtXC1jb2xvclxmUiwgXGZCXC1cLXJlbHRpbWVcZlIKK2FuZCBcZkJcLVwtbm9wYWdlclxmUi4KKy5JUCAiXGZCXC1rXGZSLCBcZkJcLVwta2VybmVsXGZSIgorUHJpbnQga2VybmVsIG1lc3NhZ2VzLgorLklQICJcZkJcLUxcZlIsIFxmQlwtXC1jb2xvclxmUls9XGZJd2hlblxmUl0iCitDb2xvcml6ZSB0aGUgb3V0cHV0LiAgVGhlIG9wdGlvbmFsIGFyZ3VtZW50IFxmSXdoZW5cZlAKK2NhbiBiZSBcZkJhdXRvXGZSLCBcZkJuZXZlclxmUiBvciBcZkJhbHdheXNcZlIuICBJZiB0aGUgXGZJd2hlblxmUiBhcmd1bWVudCBpcyBvbWl0dGVkLAoraXQgZGVmYXVsdHMgdG8gXGZCYXV0b1xmUi4gIFRoZSBjb2xvcnMgY2FuIGJlIGRpc2FibGVkOyBmb3IgdGhlIGN1cnJlbnQgYnVpbHQtaW4gZGVmYXVsdAorc2VlIHRoZSBcZkJcLVwtaGVscFxmUiBvdXRwdXQuICBTZWUgYWxzbyB0aGUgXGZCQ09MT1JTXGZSIHNlY3Rpb24gYmVsb3cuCisuSVAgICJcZkJcLWxcZlIsIFxmQlwtXC1sZXZlbCBcZklsaXN0XGZSIgorUmVzdHJpY3Qgb3V0cHV0IHRvIHRoZSBnaXZlbiAoY29tbWEtc2VwYXJhdGVkKQorLkkgbGlzdAorb2YgbGV2ZWxzLiAgRm9yIGV4YW1wbGU6CisuUFAKKy5SUyAxNAorLkIgZG1lc2cgXC1cLWxldmVsPWVycix3YXJuCisuUkUKKy5JUAord2lsbCBwcmludCBlcnJvciBhbmQgd2FybmluZyBtZXNzYWdlcyBvbmx5LiAgRm9yIGFsbCBzdXBwb3J0ZWQgbGV2ZWxzIHNlZSB0aGUKKy5CIFwtXC1oZWxwCitvdXRwdXQuCisuSVAgIlxmQlwtblxmUiwgXGZCXC1cLWNvbnNvbGVcLWxldmVsIFxmSWxldmVsXGZSCitTZXQgdGhlCisuSSBsZXZlbAorYXQgd2hpY2ggcHJpbnRpbmcgb2YgbWVzc2FnZXMgaXMgZG9uZSB0byB0aGUgY29uc29sZS4gIFRoZQorLkkgbGV2ZWwKK2lzIGEgbGV2ZWwgbnVtYmVyIG9yIGFiYnJldmlhdGlvbiBvZiB0aGUgbGV2ZWwgbmFtZS4gIEZvciBhbGwgc3VwcG9ydGVkCitsZXZlbHMgc2VlIHRoZQorLkIgXC1cLWhlbHAKK291dHB1dC4KKy5zcAorRm9yIGV4YW1wbGUsCisuQiBcLW4gMQorb3IKKy5CIFwtbiBhbGVydAorcHJldmVudHMgYWxsIG1lc3NhZ2VzLCBleGNlcHQgZW1lcmdlbmN5IChwYW5pYykgbWVzc2FnZXMsIGZyb20gYXBwZWFyaW5nIG9uCit0aGUgY29uc29sZS4gIEFsbCBsZXZlbHMgb2YgbWVzc2FnZXMgYXJlIHN0aWxsIHdyaXR0ZW4gdG8KKy5JUiAvcHJvYy9rbXNnICwKK3NvCisuQlIgc3lzbG9nZCAoOCkKK2NhbiBzdGlsbCBiZSB1c2VkIHRvIGNvbnRyb2wgZXhhY3RseSB3aGVyZSBrZXJuZWwgbWVzc2FnZXMgYXBwZWFyLiAgV2hlbiB0aGUKKy5CIFwtbgorb3B0aW9uIGlzIHVzZWQsCisuQiBkbWVzZword2lsbAorLkkgbm90CitwcmludCBvciBjbGVhciB0aGUga2VybmVsIHJpbmcgYnVmZmVyLgorLklQICJcZkJcLVBcZlIsIFxmQlwtXC1ub3BhZ2VyXGZSIgorRG8gbm90IHBpcGUgb3V0cHV0IGludG8gYSBwYWdlci4gIEEgcGFnZXIgaXMgZW5hYmxlZCBieSBkZWZhdWx0IGZvciBcZkJcLVwtaHVtYW5cZlIgb3V0cHV0LgorLklQICJcZkJcLXJcZlIsIFxmQlwtXC1yYXdcZlIiCitQcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyLCBpLmUuIGRvIG5vdCBzdHJpcCB0aGUgbG9nLWxldmVsIHByZWZpeGVzLgorCitOb3RlIHRoYXQgdGhlIHJlYWwgcmF3IGZvcm1hdCBkZXBlbmRzIG9uIHRoZSBtZXRob2QgaG93CisuQlIgZG1lc2cgKDEpCityZWFkcyBrZXJuZWwgbWVzc2FnZXMuICBUaGUgL2Rldi9rbXNnIGRldmljZSB1c2VzIGEgZGlmZmVyZW50IGZvcm1hdCB0aGFuCisuQlIgc3lzbG9nICgyKS4KK0ZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LAorLkJSIGRtZXNnICgxKQorcmV0dXJucyBkYXRhIGFsd2F5cyBpbiB0aGUKKy5CUiBzeXNsb2cgKDIpCitmb3JtYXQuICBJdCBpcyBwb3NzaWJsZSB0byByZWFkIHRoZSByZWFsIHJhdyBkYXRhIGZyb20gL2Rldi9rbXNnIGJ5LCBmb3IgZXhhbXBsZSwKK3RoZSBjb21tYW5kICdkZCBpZj0vZGV2L2ttc2cgaWZsYWc9bm9uYmxvY2snLgorLklQICJcZkJcLVNcZlIsIFxmQlwtXC1zeXNsb2dcZlIiCitGb3JjZSBcZkJkbWVzZ1xmUiB0byB1c2UgdGhlCisuQlIgc3lzbG9nICgyKQora2VybmVsIGludGVyZmFjZSB0byByZWFkIGtlcm5lbCBtZXNzYWdlcy4gIFRoZSBkZWZhdWx0IGlzIHRvIHVzZSAvZGV2L2ttc2cgcmF0aGVyCit0aGFuCisuQlIgc3lzbG9nICgyKQorc2luY2Uga2VybmVsIDMuNS4wLgorLklQICJcZkJcLXNcZlIsIFxmQlwtXC1idWZmZXJcLXNpemUgXGZJc2l6ZVxmUgorVXNlIGEgYnVmZmVyIG9mCisuSSBzaXplCit0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyLiAgVGhpcyBpcyAxNjM5MiBieSBkZWZhdWx0LiAgKFRoZSBkZWZhdWx0CitrZXJuZWwgc3lzbG9nIGJ1ZmZlciBzaXplIHdhcyA0MDk2IGF0IGZpcnN0LCA4MTkyIHNpbmNlIDEuMy41NCwgMTYzODQgc2luY2UKKzIuMS4xMTMuKSAgSWYgeW91IGhhdmUgc2V0IHRoZSBrZXJuZWwgYnVmZmVyIHRvIGJlIGxhcmdlciB0aGFuIHRoZSBkZWZhdWx0LAordGhlbiB0aGlzIG9wdGlvbiBjYW4gYmUgdXNlZCB0byB2aWV3IHRoZSBlbnRpcmUgYnVmZmVyLgorLklQICJcZkJcLVRcZlIsIFxmQlwtXC1jdGltZVxmUiIKK1ByaW50IGh1bWFuLXJlYWRhYmxlIHRpbWVzdGFtcHMuCisuSVAKKy5CIEJlIGF3YXJlIHRoYXQgdGhlIHRpbWVzdGFtcCBjb3VsZCBiZSBpbmFjY3VyYXRlIQorVGhlCisuQiB0aW1lCitzb3VyY2UgdXNlZCBmb3IgdGhlIGxvZ3MgaXMKKy5CIG5vdCB1cGRhdGVkIGFmdGVyCitzeXN0ZW0KKy5CUiBTVVNQRU5EIC8gUkVTVU1FIC4KKy5JUCAiXGZCXC10XGZSLCBcZkJcLVwtbm90aW1lXGZSIgorRG8gbm90IHByaW50IGtlcm5lbCdzIHRpbWVzdGFtcHMuCisuSVAgIlxmQlwtXC10aW1lXC1mb3JtYXRcZlIgXGZJZm9ybWF0XGZSIgorUHJpbnQgdGltZXN0YW1wcyB1c2luZyB0aGUgZ2l2ZW4gXGZJZm9ybWF0XGZSLCB3aGljaCBjYW4gYmUKKy5CUiBjdGltZSAsCisuQlIgcmVsdGltZSAsCisuQlIgZGVsdGEKK29yCisuQlIgaXNvIC4KK1RoZSBmaXJzdCB0aHJlZSBmb3JtYXRzIGFyZSBhbGlhc2VzIG9mIHRoZSB0aW1lLWZvcm1hdC1zcGVjaWZpYyBvcHRpb25zLgorVGhlCisuQiBpc28KK2Zvcm1hdCBpcyBhCisuQiBkbWVzZworaW1wbGVtZW50YXRpb24gb2YgdGhlIElTTy04NjAxIHRpbWVzdGFtcCBmb3JtYXQuICBUaGUgcHVycG9zZSBvZiB0aGlzIGZvcm1hdCBpcwordG8gbWFrZSB0aGUgY29tcGFyaW5nIG9mIHRpbWVzdGFtcHMgYmV0d2VlbiB0d28gc3lzdGVtcywgYW5kIGFueSBvdGhlciBwYXJzaW5nLAorZWFzeS4gIFRoZSBkZWZpbml0aW9uIG9mIHRoZSBcZkJpc29cZlIgdGltZXN0YW1wIGlzOgorWVlZWS1NTS1ERDxUPkhIOk1NOlNTLDxtaWNyb3NlY29uZHM+PC0rPjx0aW1lem9uZSBvZmZzZXQgZnJvbSBVVEM+LgorLklQCitUaGUKKy5CIGlzbworZm9ybWF0IGhhcyB0aGUgc2FtZSBpc3N1ZSBhcworLkJSIGN0aW1lIDoKK3RoZSB0aW1lIG1heSBiZSBpbmFjY3VyYXRlIHdoZW4gYSBzeXN0ZW0gaXMgc3VzcGVuZGVkIGFuZCByZXN1bWVkLgorLlRQCisuQlIgXC11ICwgIiBcLVwtdXNlcnNwYWNlIgorUHJpbnQgdXNlcnNwYWNlIG1lc3NhZ2VzLgorLlRQCisuQlIgXC13ICwgIiBcLVwtZm9sbG93IgorV2FpdCBmb3IgbmV3IG1lc3NhZ2VzLiAgVGhpcyBmZWF0dXJlIGlzIHN1cHBvcnRlZCBvbmx5IG9uIHN5c3RlbXMgd2l0aAorYSByZWFkYWJsZSAvZGV2L2ttc2cgKHNpbmNlIGtlcm5lbCAzLjUuMCkuCisuVFAKKy5CUiBcLXggLCAiIFwtXC1kZWNvZGUiCitEZWNvZGUgZmFjaWxpdHkgYW5kIGxldmVsIChwcmlvcml0eSkgbnVtYmVycyB0byBodW1hbi1yZWFkYWJsZSBwcmVmaXhlcy4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggQ09MT1JTCitJbXBsaWNpdCBjb2xvcmluZyBjYW4gYmUgZGlzYWJsZWQgYnkgYW4gZW1wdHkgZmlsZSBcZkkvZXRjL3Rlcm1pbmFsLWNvbG9ycy5kL2RtZXNnLmRpc2FibGVcZlIuCitTZWUKKy5CUiB0ZXJtaW5hbC1jb2xvcnMuZCAoNSkKK2ZvciBtb3JlIGRldGFpbHMgYWJvdXQgY29sb3JpemF0aW9uIGNvbmZpZ3VyYXRpb24uCisuUFAKK1RoZSBsb2dpY2FsIGNvbG9yIG5hbWVzIHN1cHBvcnRlZCBieQorLkIgZG1lc2cKK2FyZToKKy5UUAorLkIgc3Vic3lzCitUaGUgbWVzc2FnZSBzdWItc3lzdGVtIHByZWZpeCAoZS5nLiAiQUNQSToiKS4KKy5UUAorLkIgdGltZQorVGhlIG1lc3NhZ2UgdGltZXN0YW1wLgorLlRQCisuQiB0aW1lYnJlYWsKK1RoZSBtZXNzYWdlIHRpbWVzdGFtcCBpbiBzaG9ydCBjdGltZSBmb3JtYXQgaW4gXGZCXC1cLXJlbHRpbWVcZlIgCitvciBcZkJcLVwtaHVtYW5cZlIgb3V0cHV0LgorLlRQCisuQiBhbGVydAorVGhlIHRleHQgb2YgdGhlIG1lc3NhZ2Ugd2l0aCB0aGUgYWxlcnQgbG9nIHByaW9yaXR5LgorLlRQCisuQiBjcml0CitUaGUgdGV4dCBvZiB0aGUgbWVzc2FnZSB3aXRoIHRoZSBjcml0aWNhbCBsb2cgcHJpb3JpdHkuCisuVFAKKy5CIGVycgorVGhlIHRleHQgb2YgdGhlIG1lc3NhZ2Ugd2l0aCB0aGUgZXJyb3IgbG9nIHByaW9yaXR5LgorLlRQCisuQiB3YXJuCitUaGUgdGV4dCBvZiB0aGUgbWVzc2FnZSB3aXRoIHRoZSB3YXJuaW5nIGxvZyBwcmlvcml0eS4KKy5UUAorLkIgc2VnZmF1bHQKK1RoZSB0ZXh0IG9mIHRoZSBtZXNzYWdlIHRoYXQgaW5mb3JtIGFib3V0IHNlZ21lbnRhdGlvbiBmYXVsdC4KKworLlNIIFNFRSBBTFNPCisuQlIgdGVybWluYWwtY29sb3JzLmQgKDUpLAorLkJSIHN5c2xvZ2QgKDgpCisuU0ggQVVUSE9SUworLk1UIGt6YWtAcmVkaGF0LmNvbQorS2FyZWwgWmFrCisuTUUKKworLmJyCisuQiBkbWVzZword2FzIG9yaWdpbmFsbHkgd3JpdHRlbiBieQorLk1UIHR5dHNvQGF0aGVuYS5taXQuZWR1CitUaGVvZG9yZSBUcydvCisuTUUKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBkbWVzZyBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBmdHA6Ly9cOmZ0cC5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9kbWVzZy5jIGIvc3lzLXV0aWxzL2RtZXNnLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTA2YzY4MgotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9kbWVzZy5jCkBAIC0wLDAgKzEsMTQ2NCBAQAorLyoKKyAqIGRtZXNnLmMgLS0gUHJpbnQgb3V0IHRoZSBjb250ZW50cyBvZiB0aGUga2VybmVsIHJpbmcgYnVmZmVyCisgKgorICogQ29weXJpZ2h0IChDKSAxOTkzIFRoZW9kb3JlIFRzJ28gPHR5dHNvQGF0aGVuYS5taXQuZWR1PgorICogQ29weXJpZ2h0IChDKSAyMDExIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuCisgKi8KKyNpbmNsdWRlIDxsaW51eC91bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN5cy9rbG9nLmg+CisjaW5jbHVkZSA8c3lzL3N5c2xvZy5oPgorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjaW5jbHVkZSA8c3lzL3N5c2luZm8uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHRpbWUuaD4KKyNpbmNsdWRlIDxzeXMvbW1hbi5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJjb2xvcnMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgIndpZGVjaGFyLmgiCisjaW5jbHVkZSAiYWxsLWlvLmgiCisjaW5jbHVkZSAiYml0b3BzLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJvcHR1dGlscy5oIgorI2luY2x1ZGUgInRpbWV1dGlscy5oIgorI2luY2x1ZGUgIm1vbm90b25pYy5oIgorI2luY2x1ZGUgIm1hbmdsZS5oIgorI2luY2x1ZGUgInBhZ2VyLmgiCisKKy8qIENsb3NlIHRoZSBsb2cuICBDdXJyZW50bHkgYSBOT1AuICovCisjZGVmaW5lIFNZU0xPR19BQ1RJT05fQ0xPU0UgICAgICAgICAgMAorLyogT3BlbiB0aGUgbG9nLiBDdXJyZW50bHkgYSBOT1AuICovCisjZGVmaW5lIFNZU0xPR19BQ1RJT05fT1BFTiAgICAgICAgICAgMQorLyogUmVhZCBmcm9tIHRoZSBsb2cuICovCisjZGVmaW5lIFNZU0xPR19BQ1RJT05fUkVBRCAgICAgICAgICAgMgorLyogUmVhZCBhbGwgbWVzc2FnZXMgcmVtYWluaW5nIGluIHRoZSByaW5nIGJ1ZmZlci4gKGFsbG93ZWQgZm9yIG5vbi1yb290KSAqLworI2RlZmluZSBTWVNMT0dfQUNUSU9OX1JFQURfQUxMICAgICAgIDMKKy8qIFJlYWQgYW5kIGNsZWFyIGFsbCBtZXNzYWdlcyByZW1haW5pbmcgaW4gdGhlIHJpbmcgYnVmZmVyICovCisjZGVmaW5lIFNZU0xPR19BQ1RJT05fUkVBRF9DTEVBUiAgICAgNAorLyogQ2xlYXIgcmluZyBidWZmZXIuICovCisjZGVmaW5lIFNZU0xPR19BQ1RJT05fQ0xFQVIgICAgICAgICAgNQorLyogRGlzYWJsZSBwcmludGsncyB0byBjb25zb2xlICovCisjZGVmaW5lIFNZU0xPR19BQ1RJT05fQ09OU09MRV9PRkYgICAgNgorLyogRW5hYmxlIHByaW50aydzIHRvIGNvbnNvbGUgKi8KKyNkZWZpbmUgU1lTTE9HX0FDVElPTl9DT05TT0xFX09OICAgICA3CisvKiBTZXQgbGV2ZWwgb2YgbWVzc2FnZXMgcHJpbnRlZCB0byBjb25zb2xlICovCisjZGVmaW5lIFNZU0xPR19BQ1RJT05fQ09OU09MRV9MRVZFTCAgOAorLyogUmV0dXJuIG51bWJlciBvZiB1bnJlYWQgY2hhcmFjdGVycyBpbiB0aGUgbG9nIGJ1ZmZlciAqLworI2RlZmluZSBTWVNMT0dfQUNUSU9OX1NJWkVfVU5SRUFEICAgIDkKKy8qIFJldHVybiBzaXplIG9mIHRoZSBsb2cgYnVmZmVyICovCisjZGVmaW5lIFNZU0xPR19BQ1RJT05fU0laRV9CVUZGRVIgICAxMAorCisvKgorICogQ29sb3Igc2NoZW1lCisgKi8KK3N0cnVjdCBkbWVzZ19jb2xvciB7CisJY29uc3QgY2hhciAqc2NoZW1lOwkvKiBuYW1lIHVzZWQgaW4gdGVybWluYS1jb2xvcnMuZC9kbWVzZy5zY2hlbWUgKi8KKwljb25zdCBjaGFyICpkZmx0OwkvKiBkZWZhdWx0IGNvbG9yIEVTQyBzZXF1ZW5jZSAqLworfTsKKworZW51bSB7CisJRE1FU0dfQ09MT1JfU1VCU1lTLAorCURNRVNHX0NPTE9SX1RJTUUsCisJRE1FU0dfQ09MT1JfVElNRUJSRUFLLAorCURNRVNHX0NPTE9SX0FMRVJULAorCURNRVNHX0NPTE9SX0NSSVQsCisJRE1FU0dfQ09MT1JfRVJSLAorCURNRVNHX0NPTE9SX1dBUk4sCisJRE1FU0dfQ09MT1JfU0VHRkFVTFQKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZG1lc2dfY29sb3IgY29sb3JzW10gPQoreworCVtETUVTR19DT0xPUl9TVUJTWVNdICAgID0geyAic3Vic3lzIiwJVUxfQ09MT1JfQlJPV04gfSwKKwlbRE1FU0dfQ09MT1JfVElNRV0JPSB7ICJ0aW1lIiwgICAgIFVMX0NPTE9SX0dSRUVOIH0sCisJW0RNRVNHX0NPTE9SX1RJTUVCUkVBS10JPSB7ICJ0aW1lYnJlYWsiLFVMX0NPTE9SX0dSRUVOIFVMX0NPTE9SX0JPTEQgfSwKKwlbRE1FU0dfQ09MT1JfQUxFUlRdCT0geyAiYWxlcnQiLCAgICBVTF9DT0xPUl9SRVZFUlNFIFVMX0NPTE9SX1JFRCB9LAorCVtETUVTR19DT0xPUl9DUklUXQk9IHsgImNyaXQiLCAgICAgVUxfQ09MT1JfQk9MRCBVTF9DT0xPUl9SRUQgfSwKKwlbRE1FU0dfQ09MT1JfRVJSXSAgICAgICA9IHsgImVyciIsICAgICAgVUxfQ09MT1JfUkVEIH0sCisJW0RNRVNHX0NPTE9SX1dBUk5dCT0geyAid2FybiIsICAgICBVTF9DT0xPUl9CT0xEIH0sCisJW0RNRVNHX0NPTE9SX1NFR0ZBVUxUXQk9IHsgInNlZ2ZhdWx0IiwgVUxfQ09MT1JfSEFMRkJSSUdIVCBVTF9DT0xPUl9SRUQgfQorfTsKKworI2RlZmluZSBkbWVzZ19lbmFibGVfY29sb3IoX2lkKSBcCisJCWNvbG9yX3NjaGVtZV9lbmFibGUoY29sb3JzW19pZF0uc2NoZW1lLCBjb2xvcnNbX2lkXS5kZmx0KTsKKworLyoKKyAqIFByaW9yaXR5IGFuZCBmYWNpbGl0eSBuYW1lcworICovCitzdHJ1Y3QgZG1lc2dfbmFtZSB7CisJY29uc3QgY2hhciAqbmFtZTsKKwljb25zdCBjaGFyICpoZWxwOworfTsKKworLyoKKyAqIFByaW9yaXR5IG5hbWVzIC0tIGJhc2VkIG9uIHN5cy9zeXNsb2cuaAorICovCitzdGF0aWMgY29uc3Qgc3RydWN0IGRtZXNnX25hbWUgbGV2ZWxfbmFtZXNbXSA9Cit7CisJW0xPR19FTUVSR10gICA9IHsgImVtZXJnIiwgTl8oInN5c3RlbSBpcyB1bnVzYWJsZSIpIH0sCisJW0xPR19BTEVSVF0gICA9IHsgImFsZXJ0IiwgTl8oImFjdGlvbiBtdXN0IGJlIHRha2VuIGltbWVkaWF0ZWx5IikgfSwKKwlbTE9HX0NSSVRdICAgID0geyAiY3JpdCIsICBOXygiY3JpdGljYWwgY29uZGl0aW9ucyIpIH0sCisJW0xPR19FUlJdICAgICA9IHsgImVyciIsICAgTl8oImVycm9yIGNvbmRpdGlvbnMiKSB9LAorCVtMT0dfV0FSTklOR10gPSB7ICJ3YXJuIiwgIE5fKCJ3YXJuaW5nIGNvbmRpdGlvbnMiKSB9LAorCVtMT0dfTk9USUNFXSAgPSB7ICJub3RpY2UiLE5fKCJub3JtYWwgYnV0IHNpZ25pZmljYW50IGNvbmRpdGlvbiIpIH0sCisJW0xPR19JTkZPXSAgICA9IHsgImluZm8iLCAgTl8oImluZm9ybWF0aW9uYWwiKSB9LAorCVtMT0dfREVCVUddICAgPSB7ICJkZWJ1ZyIsIE5fKCJkZWJ1Zy1sZXZlbCBtZXNzYWdlcyIpIH0KK307CisKKy8qCisgKiBzeXMvc3lzbG9nLmggdXNlcyAoZiA8PCAzKSBmb3IgYWxsIGZhY2lsaXR5IGNvZGVzLgorICogV2Ugd2FudCB0byB1c2UgdGhlIGNvZGVzIGFzIGFycmF5IGluZGV4ZXMsIHNvIHNoaWZ0IGJhY2suLi4KKyAqCisgKiBOb3RlIHRoYXQgbGliYyBMT0dfRkFDKCkgbWFjcm8gcmV0dXJucyB0aGUgYmFzZSBjb2Rlcywgbm90IHRoZQorICogc2hpZnRlZCBjb2RlIDotKQorICovCisjZGVmaW5lIEZBQ19CQVNFKGYpCSgoZikgPj4gMykKKworc3RhdGljIGNvbnN0IHN0cnVjdCBkbWVzZ19uYW1lIGZhY2lsaXR5X25hbWVzW10gPQoreworCVtGQUNfQkFTRShMT0dfS0VSTildICAgICA9IHsgImtlcm4iLCAgICAgTl8oImtlcm5lbCBtZXNzYWdlcyIpIH0sCisJW0ZBQ19CQVNFKExPR19VU0VSKV0gICAgID0geyAidXNlciIsICAgICBOXygicmFuZG9tIHVzZXItbGV2ZWwgbWVzc2FnZXMiKSB9LAorCVtGQUNfQkFTRShMT0dfTUFJTCldICAgICA9IHsgIm1haWwiLCAgICAgTl8oIm1haWwgc3lzdGVtIikgfSwKKwlbRkFDX0JBU0UoTE9HX0RBRU1PTildICAgPSB7ICJkYWVtb24iLCAgIE5fKCJzeXN0ZW0gZGFlbW9ucyIpIH0sCisJW0ZBQ19CQVNFKExPR19BVVRIKV0gICAgID0geyAiYXV0aCIsICAgICBOXygic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyIpIH0sCisJW0ZBQ19CQVNFKExPR19TWVNMT0cpXSAgID0geyAic3lzbG9nIiwgICBOXygibWVzc2FnZXMgZ2VuZXJhdGVkIGludGVybmFsbHkgYnkgc3lzbG9nZCIpIH0sCisJW0ZBQ19CQVNFKExPR19MUFIpXSAgICAgID0geyAibHByIiwgICAgICBOXygibGluZSBwcmludGVyIHN1YnN5c3RlbSIpIH0sCisJW0ZBQ19CQVNFKExPR19ORVdTKV0gICAgID0geyAibmV3cyIsICAgICBOXygibmV0d29yayBuZXdzIHN1YnN5c3RlbSIpIH0sCisJW0ZBQ19CQVNFKExPR19VVUNQKV0gICAgID0geyAidXVjcCIsICAgICBOXygiVVVDUCBzdWJzeXN0ZW0iKSB9LAorCVtGQUNfQkFTRShMT0dfQ1JPTildICAgICA9IHsgImNyb24iLCAgICAgTl8oImNsb2NrIGRhZW1vbiIpIH0sCisJW0ZBQ19CQVNFKExPR19BVVRIUFJJVildID0geyAiYXV0aHByaXYiLCBOXygic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyAocHJpdmF0ZSkiKSB9LAorCVtGQUNfQkFTRShMT0dfRlRQKV0gICAgICA9IHsgImZ0cCIsICAgICAgTl8oIkZUUCBkYWVtb24iKSB9LAorfTsKKworLyogc3VwcG9ydGVkIG1ldGhvZHMgdG8gcmVhZCBtZXNzYWdlIGJ1ZmZlcgorICovCitlbnVtIHsKKwlETUVTR19NRVRIT0RfS01TRywJLyogcmVhZCBtZXNzYWdlcyBmcm9tIC9kZXYva21zZyAoZGVmYXVsdCkgKi8KKwlETUVTR19NRVRIT0RfU1lTTE9HLAkvKiBrbG9nY3RsKCkgYnVmZmVyICovCisJRE1FU0dfTUVUSE9EX01NQVAJLyogbW1hcCBmaWxlIHdpdGggcmVjb3JkcyAoc2VlIC0tZmlsZSkgKi8KK307CisKK2VudW0geworCURNRVNHX1RJTUVGVE1fTk9ORSA9IDAsCisJRE1FU0dfVElNRUZUTV9DVElNRSwJCS8qIFtjdGltZV0gKi8KKwlETUVTR19USU1FRlRNX0NUSU1FX0RFTFRBLAkvKiBbY3RpbWUgPGRlbHRhPl0gKi8KKwlETUVTR19USU1FRlRNX0RFTFRBLAkJLyogWzxkZWx0YT5dICovCisJRE1FU0dfVElNRUZUTV9SRUxUSU1FLAkJLyogW3JlbGF0aXZlXSAqLworCURNRVNHX1RJTUVGVE1fVElNRSwJCS8qIFt0aW1lXSAqLworCURNRVNHX1RJTUVGVE1fVElNRV9ERUxUQSwJLyogW3RpbWUgPGRlbHRhPl0gKi8KKwlETUVTR19USU1FRlRNX0lTTzg2MDEJCS8qIDIwMTMtMDYtMTNUMjI6MTE6MDAsMTIzNDU2KzAxMDAgKi8KK307CisjZGVmaW5lIGlzX3RpbWVmbXQoYywgZikgKChjKS0+dGltZV9mbXQgPT0gKERNRVNHX1RJTUVGVE1fICMjZikpCisKK3N0cnVjdCBkbWVzZ19jb250cm9sIHsKKwkvKiBiaXQgYXJyYXlzIC0tIHNlZSBpbmNsdWRlL2JpdG9wcy5oICovCisJY2hhciBsZXZlbHNbQVJSQVlfU0laRShsZXZlbF9uYW1lcykgLyBOQkJZICsgMV07CisJY2hhciBmYWNpbGl0aWVzW0FSUkFZX1NJWkUoZmFjaWxpdHlfbmFtZXMpIC8gTkJCWSArIDFdOworCisJc3RydWN0IHRpbWV2YWwJbGFzdHRpbWU7CS8qIGxhc3QgcHJpbnRlZCB0aW1lc3RhbXAgKi8KKwlzdHJ1Y3QgdG0JbGFzdHRtOwkJLyogbGFzdCBsb2NhbHRpbWUgKi8KKwlzdHJ1Y3QgdGltZXZhbAlib290X3RpbWU7CS8qIHN5c3RlbSBib290IHRpbWUgKi8KKworCWludAkJYWN0aW9uOwkJLyogU1lTTE9HX0FDVElPTl8qICovCisJaW50CQltZXRob2Q7CQkvKiBETUVTR19NRVRIT0RfKiAqLworCisJc2l6ZV90CQlidWZzaXplOwkvKiBzaXplIG9mIHN5c2xvZyBidWZmZXIgKi8KKworCWludAkJa21zZzsJCS8qIC9kZXYva21zZyBmaWxlIGRlc2NyaXB0b3IgKi8KKwlzc2l6ZV90CQlrbXNnX2ZpcnN0X3JlYWQ7LyogaW5pdGlhbCByZWFkKCkgcmV0dXJuIGNvZGUgKi8KKwljaGFyCQlrbXNnX2J1ZltCVUZTSVpdOy8qIGJ1ZmZlciB0byByZWFkIGttc2cgZGF0YSAqLworCisJLyoKKwkgKiBGb3IgdGhlIC0tZmlsZSBvcHRpb24gd2UgbW1hcCB3aG9sZSBmaWxlLiBUaGUgdW5uZWNlc3NhcnkgKGFscmVhZHkKKwkgKiBwcmludGVkKSBwYWdlcyBhcmUgYWx3YXlzIHVubWFwcGVkLiBUaGUgcmVzdWx0IGlzIHRoYXQgd2UgaGF2ZSBpbgorCSAqIG1lbW9yeSBvbmx5IHRoZSBjdXJyZW50bHkgdXNlZCBwYWdlKHMpLgorCSAqLworCWNoYXIJCSpmaWxlbmFtZTsKKwljaGFyCQkqbW1hcF9idWZmOworCXNpemVfdAkJcGFnZXNpemU7CisJdW5zaWduZWQgaW50CXRpbWVfZm10OwkvKiB0aW1lIGZvcm1hdCAqLworCisJdW5zaWduZWQgaW50CWZvbGxvdzoxLAkvKiB3YWl0IGZvciBuZXcgbWVzc2FnZXMgKi8KKwkJCXJhdzoxLAkJLyogcmF3IG1vZGUgKi8KKwkJCWZsdHJfbGV2OjEsCS8qIGZpbHRlciBvdXQgYnkgbGV2ZWxzW10gKi8KKwkJCWZsdHJfZmFjOjEsCS8qIGZpbHRlciBvdXQgYnkgZmFjaWxpdGllc1tdICovCisJCQlkZWNvZGU6MSwJLyogdXNlICJmYWNpbGl0eTogbGV2ZWw6ICIgcHJlZml4ICovCisJCQlwYWdlcjoxLAkvKiBwaXBlIG91dHB1dCBpbnRvIGEgcGFnZXIgKi8KKwkJCWNvbG9yOjE7CS8qIGNvbG9yaXplIG1lc3NhZ2VzICovCisJaW50CQlpbmRlbnQ7CQkvKiBkdWUgdG8gdGltZXN0YW1wcyBpZiBuZXdsaW5lICovCit9OworCitzdHJ1Y3QgZG1lc2dfcmVjb3JkIHsKKwljb25zdCBjaGFyCSptZXNnOworCXNpemVfdAkJbWVzZ19zaXplOworCisJaW50CQlsZXZlbDsKKwlpbnQJCWZhY2lsaXR5OworCXN0cnVjdCB0aW1ldmFsICB0djsKKworCWNvbnN0IGNoYXIJKm5leHQ7CQkvKiBidWZmZXIgd2l0aCBuZXh0IHVucGFyc2VkIHJlY29yZCAqLworCXNpemVfdAkJbmV4dF9zaXplOwkvKiBzaXplIG9mIHRoZSBuZXh0IGJ1ZmZlciAqLworfTsKKworI2RlZmluZSBJTklUX0RNRVNHX1JFQ09SRChfcikgIGRvIHsgXAorCQkoX3IpLT5tZXNnID0gTlVMTDsgXAorCQkoX3IpLT5tZXNnX3NpemUgPSAwOyBcCisJCShfciktPmZhY2lsaXR5ID0gLTE7IFwKKwkJKF9yKS0+bGV2ZWwgPSAtMTsgXAorCQkoX3IpLT50di50dl9zZWMgPSAwOyBcCisJCShfciktPnR2LnR2X3VzZWMgPSAwOyBcCisJfSB3aGlsZSAoMCkKKworc3RhdGljIGludCByZWFkX2ttc2coc3RydWN0IGRtZXNnX2NvbnRyb2wgKmN0bCk7CisKK3N0YXRpYyBpbnQgc2V0X2xldmVsX2NvbG9yKGludCBsb2dfbGV2ZWwsIGNvbnN0IGNoYXIgKm1lc2csIHNpemVfdCBtZXNnc3opCit7CisJaW50IGlkID0gLTE7CisKKwlzd2l0Y2ggKGxvZ19sZXZlbCkgeworCWNhc2UgTE9HX0FMRVJUOgorCQlpZCA9IERNRVNHX0NPTE9SX0FMRVJUOworCQlicmVhazsKKwljYXNlIExPR19DUklUOgorCQlpZCA9IERNRVNHX0NPTE9SX0NSSVQ7CisJCWJyZWFrOworCWNhc2UgTE9HX0VSUjoKKwkJaWQgPSBETUVTR19DT0xPUl9FUlI7CisJCWJyZWFrOworCWNhc2UgTE9HX1dBUk5JTkc6CisJCWlkID0gRE1FU0dfQ09MT1JfV0FSTjsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJYnJlYWs7CisJfQorCisJLyogd2VsbCwgc29tZXRpbWVzIHRoZSBtZXNzYWdlcyBjb250YWlucyBpbXBvcnRhbnQga2V5d29yZHMsIGJ1dCBpbgorCSAqIG5vbi13YXJuaW5nL2Vycm9yIG1lc3NhZ2VzCisJICovCisJaWYgKGlkIDwgMCAmJiBtZW1tZW0obWVzZywgbWVzZ3N6LCAic2VnZmF1bHQgYXQiLCAxMSkpCisJCWlkID0gRE1FU0dfQ09MT1JfU0VHRkFVTFQ7CisKKwlpZiAoaWQgPj0gMCkKKwkJZG1lc2dfZW5hYmxlX2NvbG9yKGlkKTsKKworCXJldHVybiBpZCA+PSAwID8gMCA6IC0xOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZShGSUxFICpvdXQpCit7CisJc2l6ZV90IGk7CisKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc11cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiRGlzcGxheSBvciBjb250cm9sIHRoZSBrZXJuZWwgcmluZyBidWZmZXIuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICBjbGVhciB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIHJlYWQgYW5kIGNsZWFyIGFsbCBtZXNzYWdlc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICBkaXNhYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAgZW5hYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtRiwgLS1maWxlIDxmaWxlPiAgICAgICAgICAgdXNlIHRoZSBmaWxlIGluc3RlYWQgb2YgdGhlIGtlcm5lbCBsb2cgYnVmZmVyXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWYsIC0tZmFjaWxpdHkgPGxpc3Q+ICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGZhY2lsaXRpZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAgaHVtYW4gcmVhZGFibGUgb3V0cHV0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIGRpc3BsYXkga2VybmVsIG1lc3NhZ2VzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iKSwgb3V0KTsKKwlmcHJpbnRmKG91dCwKKwkgICAgICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJXNcbiIsIFVTQUdFX0NPTE9SU19ERUZBVUxUKTsKKwlmcHV0cyhfKCIgLWwsIC0tbGV2ZWwgPGxpc3Q+ICAgICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGxldmVsc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPGxldmVsPiBzZXQgbGV2ZWwgb2YgbWVzc2FnZXMgcHJpbnRlZCB0byBjb25zb2xlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVAsIC0tbm9wYWdlciAgICAgICAgICAgICAgIGRvIG5vdCBwaXBlIG91dHB1dCBpbnRvIGEgcGFnZXJcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJhdyBtZXNzYWdlIGJ1ZmZlclxuIiksIG91dCk7CisJZnB1dHMoXygiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICBmb3JjZSB0byB1c2Ugc3lzbG9nKDIpIHJhdGhlciB0aGFuIC9kZXYva21zZ1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIGRpc3BsYXkgdXNlcnNwYWNlIG1lc3NhZ2VzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBkZWNvZGUgZmFjaWxpdHkgYW5kIGxldmVsIHRvIHJlYWRhYmxlIHN0cmluZ1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICBzaG93IHRpbWUgZGVsdGEgYmV0d2VlbiBwcmludGVkIG1lc3NhZ2VzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIHNob3cgbG9jYWwgdGltZSBhbmQgdGltZSBkZWx0YSBpbiByZWFkYWJsZSBmb3JtYXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbi1yZWFkYWJsZSB0aW1lc3RhbXAgKG1heSBiZSBpbmFjY3VyYXRlISlcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAgZG9uJ3Qgc2hvdyBhbnkgdGltZXN0YW1wIHdpdGggbWVzc2FnZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXAgdXNpbmcgdGhlIGdpdmVuIGZvcm1hdDpcbiIKKwkJIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsdGF8cmVsdGltZXxjdGltZXxub3RpbWV8aXNvXVxuIgorCQkiU3VzcGVuZGluZy9yZXN1bWUgd2lsbCBtYWtlIGN0aW1lIGFuZCBpc28gdGltZXN0YW1wcyBpbmFjY3VyYXRlLlxuIiksIG91dCk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKFVTQUdFX0hFTFAsIG91dCk7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgb3V0KTsKKwlmcHV0cyhfKCJcblN1cHBvcnRlZCBsb2cgZmFjaWxpdGllczpcbiIpLCBvdXQpOworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGxldmVsX25hbWVzKTsgaSsrKQorCQlmcHJpbnRmKG91dCwgIiAlN3MgLSAlc1xuIiwKKwkJCWZhY2lsaXR5X25hbWVzW2ldLm5hbWUsCisJCQlfKGZhY2lsaXR5X25hbWVzW2ldLmhlbHApKTsKKworCWZwdXRzKF8oIlxuU3VwcG9ydGVkIGxvZyBsZXZlbHMgKHByaW9yaXRpZXMpOlxuIiksIG91dCk7CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUobGV2ZWxfbmFtZXMpOyBpKyspCisJCWZwcmludGYob3V0LCAiICU3cyAtICVzXG4iLAorCQkJbGV2ZWxfbmFtZXNbaV0ubmFtZSwKKwkJCV8obGV2ZWxfbmFtZXNbaV0uaGVscCkpOworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoImRtZXNnKDEpIikpOworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKKy8qCisgKiBMRVZFTCAgICAgOjo9IDxudW1iZXI+IHwgPG5hbWU+CisgKiAgPG51bWJlcj4gOjo9IEBsZW4gaXMgc2V0OiAgbnVtYmVyIGluIHJhbmdlIDwwLi5OPiwgd2hlcmUgTiA8IEFSUkFZX1NJWkUobGV2ZWxfbmFtZXMpCisgKiAgICAgICAgICAgOjo9IEBsZW4gbm90IHNldDogbnVtYmVyIGluIHJhbmdlIDwxLi5OPiwgd2hlcmUgTiA8PSBBUlJBWV9TSVpFKGxldmVsX25hbWVzKQorICogIDxuYW1lPiAgIDo6PSBjYXNlLWluc2Vuc2l0aXZlIHRleHQKKyAqCisgKiAgTm90ZSB0aGF0IEBsZW4gYXJndW1lbnQgaXMgbm90IHNldCB3aGVuIHBhcnNpbmcgIi1uIDxsZXZlbD4iIGNvbW1hbmQgbGluZQorICogIG9wdGlvbi4gVGhlIGNvbnNvbGVfbGV2ZWwgaXMgaW50ZXJwcmV0ZWQgYXMgImxvZyBsZXZlbCBsZXNzIHRoYW4gdGhlIHZhbHVlIi4KKyAqCisgKiAgRm9yIGV4YW1wbGUgImRtZXNnIC1uIDgiIG9yICJkbWVzZyAtbiBkZWJ1ZyIgZW5hYmxlcyBkZWJ1ZyBjb25zb2xlIGxvZworICogIGxldmVsIGJ5IGtsb2djdGwoU1lTTE9HX0FDVElPTl9DT05TT0xFX0xFVkVMLCBOVUxMLCA4KS4gVGhlIEBzdHIgYXJndW1lbnQKKyAqICBoYXMgdG8gYmUgcGFyc2VkIHRvIG51bWJlciBpbiByYW5nZSA8MS4uOD4uCisgKi8KK3N0YXRpYyBpbnQgcGFyc2VfbGV2ZWwoY29uc3QgY2hhciAqc3RyLCBzaXplX3QgbGVuKQoreworCWludCBvZmZzZXQgPSAwOworCisJaWYgKCFzdHIpCisJCXJldHVybiAtMTsKKwlpZiAoIWxlbikgeworCQlsZW4gPSBzdHJsZW4oc3RyKTsKKwkJb2Zmc2V0ID0gMTsKKwl9CisJZXJybm8gPSAwOworCisJaWYgKGlzZGlnaXQoKnN0cikpIHsKKwkJY2hhciAqZW5kID0gTlVMTDsKKwkJbG9uZyB4ID0gc3RydG9sKHN0ciwgJmVuZCwgMTApIC0gb2Zmc2V0OworCisJCWlmICghZXJybm8gJiYgZW5kICYmIGVuZCA+IHN0ciAmJiAoc2l6ZV90KSAoZW5kIC0gc3RyKSA9PSBsZW4gJiYKKwkJICAgIHggPj0gMCAmJiAoc2l6ZV90KSB4IDwgQVJSQVlfU0laRShsZXZlbF9uYW1lcykpCisJCQlyZXR1cm4geCArIG9mZnNldDsKKwl9IGVsc2UgeworCQlzaXplX3QgaTsKKworCQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShsZXZlbF9uYW1lcyk7IGkrKykgeworCQkJY29uc3QgY2hhciAqbiA9IGxldmVsX25hbWVzW2ldLm5hbWU7CisKKwkJCWlmIChzdHJuY2FzZWNtcChzdHIsIG4sIGxlbikgPT0gMCAmJiAqKG4gKyBsZW4pID09ICdcMCcpCisJCQkJcmV0dXJuIGkgKyBvZmZzZXQ7CisJCX0KKwl9CisKKwlpZiAoZXJybm8pCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBwYXJzZSBsZXZlbCAnJXMnIiksIHN0cik7CisKKwllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5rbm93biBsZXZlbCAnJXMnIiksIHN0cik7CisJcmV0dXJuIC0xOworfQorCisvKgorICogRkFDSUxJVFkgIDo6PSA8bnVtYmVyPiB8IDxuYW1lPgorICogIDxudW1iZXI+IDo6PSBudW1iZXIgaW4gcmFuZ2UgPDAuLk4+LCB3aGVyZSBOIDwgQVJSQVlfU0laRShmYWNpbGl0eV9uYW1lcykKKyAqICA8bmFtZT4gICA6Oj0gY2FzZS1pbnNlbnNpdGl2ZSB0ZXh0CisgKi8KK3N0YXRpYyBpbnQgcGFyc2VfZmFjaWxpdHkoY29uc3QgY2hhciAqc3RyLCBzaXplX3QgbGVuKQoreworCWlmICghc3RyKQorCQlyZXR1cm4gLTE7CisJaWYgKCFsZW4pCisJCWxlbiA9IHN0cmxlbihzdHIpOworCWVycm5vID0gMDsKKworCWlmIChpc2RpZ2l0KCpzdHIpKSB7CisJCWNoYXIgKmVuZCA9IE5VTEw7CisJCWxvbmcgeCA9IHN0cnRvbChzdHIsICZlbmQsIDEwKTsKKworCQlpZiAoIWVycm5vICYmIGVuZCAmJiBlbmQgPiBzdHIgJiYgKHNpemVfdCkgKGVuZCAtIHN0cikgPT0gbGVuICYmCisJCSAgICB4ID49IDAgJiYgKHNpemVfdCkgeCA8IEFSUkFZX1NJWkUoZmFjaWxpdHlfbmFtZXMpKQorCQkJcmV0dXJuIHg7CisJfSBlbHNlIHsKKwkJc2l6ZV90IGk7CisKKwkJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoZmFjaWxpdHlfbmFtZXMpOyBpKyspIHsKKwkJCWNvbnN0IGNoYXIgKm4gPSBmYWNpbGl0eV9uYW1lc1tpXS5uYW1lOworCisJCQlpZiAoc3RybmNhc2VjbXAoc3RyLCBuLCBsZW4pID09IDAgJiYgKihuICsgbGVuKSA9PSAnXDAnKQorCQkJCXJldHVybiBpOworCQl9CisJfQorCisJaWYgKGVycm5vKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gcGFyc2UgZmFjaWxpdHkgJyVzJyIpLCBzdHIpOworCisJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVua25vd24gZmFjaWxpdHkgJyVzJyIpLCBzdHIpOworCXJldHVybiAtMTsKK30KKworLyoKKyAqIFBhcnNlcyBudW1lcmljYWwgcHJlZml4IHVzZWQgZm9yIGFsbCBtZXNzYWdlcyBpbiBrZXJuZWwgcmluZyBidWZmZXIuCisgKgorICogUHJpb3JpdGllcy9mYWNpbGl0aWVzIGFyZSBlbmNvZGVkIGludG8gYSBzaW5nbGUgMzItYml0IHF1YW50aXR5LCB3aGVyZSB0aGUKKyAqIGJvdHRvbSAzIGJpdHMgYXJlIHRoZSBwcmlvcml0eSAoMC03KSBhbmQgdGhlIHRvcCAyOCBiaXRzIGFyZSB0aGUgZmFjaWxpdHkKKyAqICgwLWJpZyBudW1iZXIpLgorICoKKyAqIE5vdGUgdGhhdCB0aGUgbnVtYmVyIGhhcyB0byBlbmQgd2l0aCAnPicgb3IgJywnIGNoYXIuCisgKi8KK3N0YXRpYyBjb25zdCBjaGFyICpwYXJzZV9mYWNsZXYoY29uc3QgY2hhciAqc3RyLCBpbnQgKmZhYywgaW50ICpsZXYpCit7CisJbG9uZyBudW07CisJY2hhciAqZW5kID0gTlVMTDsKKworCWlmICghc3RyKQorCQlyZXR1cm4gc3RyOworCisJZXJybm8gPSAwOworCW51bSA9IHN0cnRvbChzdHIsICZlbmQsIDEwKTsKKworCWlmICghZXJybm8gJiYgZW5kICYmIGVuZCA+IHN0cikgeworCQkqZmFjID0gTE9HX0ZBQyhudW0pOworCQkqbGV2ID0gTE9HX1BSSShudW0pOworCisJCWlmICgqbGV2IDwgMCB8fCAoc2l6ZV90KSAqbGV2ID4gQVJSQVlfU0laRShsZXZlbF9uYW1lcykpCisJCQkqbGV2ID0gLTE7CisJCWlmICgqZmFjIDwgMCB8fCAoc2l6ZV90KSAqZmFjID4gQVJSQVlfU0laRShmYWNpbGl0eV9uYW1lcykpCisJCQkqZmFjID0gLTE7CisJCXJldHVybiBlbmQgKyAxOwkJLyogc2tpcCAnPCcgb3IgJywnICovCisJfQorCisJcmV0dXJuIHN0cjsKK30KKworLyoKKyAqIFBhcnNlcyB0aW1lc3RhbXAgZnJvbSBzeXNsb2cgbWVzc2FnZSBwcmVmaXgsIGV4cGVjdGVkIGZvcm1hdDoKKyAqCisgKglzZWNvbmRzLm1pY3Jvc2Vjb25kc10KKyAqCisgKiB0aGUgJ10nIGlzIHRoZSB0aW1lc3RhbXAgZmllbGQgdGVybWluYXRvci4KKyAqLworc3RhdGljIGNvbnN0IGNoYXIgKnBhcnNlX3N5c2xvZ190aW1lc3RhbXAoY29uc3QgY2hhciAqc3RyMCwgc3RydWN0IHRpbWV2YWwgKnR2KQoreworCWNvbnN0IGNoYXIgKnN0ciA9IHN0cjA7CisJY2hhciAqZW5kID0gTlVMTDsKKworCWlmICghc3RyMCkKKwkJcmV0dXJuIHN0cjA7CisKKwllcnJubyA9IDA7CisJdHYtPnR2X3NlYyA9IHN0cnRvbChzdHIsICZlbmQsIDEwKTsKKworCWlmICghZXJybm8gJiYgZW5kICYmICplbmQgPT0gJy4nICYmICooZW5kICsgMSkpIHsKKwkJc3RyID0gZW5kICsgMTsKKwkJZW5kID0gTlVMTDsKKwkJdHYtPnR2X3VzZWMgPSBzdHJ0b2woc3RyLCAmZW5kLCAxMCk7CisJfQorCWlmIChlcnJubyB8fCAhZW5kIHx8IGVuZCA9PSBzdHIgfHwgKmVuZCAhPSAnXScpCisJCXJldHVybiBzdHIwOworCisJcmV0dXJuIGVuZCArIDE7CS8qIHNraXAgJ10nICovCit9CisKKy8qCisgKiBQYXJzZXMgdGltZXN0YW1wIGZyb20gL2Rldi9rbXNnLCBleHBlY3RlZCBmb3JtYXRzOgorICoKKyAqCW1pY3Jvc2Vjb25kcywKKyAqCW1pY3Jvc2Vjb25kczsKKyAqCisgKiB0aGUgJywnIGlzIGZpZWxkcyBzZXBhcmF0b3JzIGFuZCAnOycgaXRlbXMgdGVybWluYXRvciAoZm9yIHRoZSBsYXN0IGl0ZW0pCisgKi8KK3N0YXRpYyBjb25zdCBjaGFyICpwYXJzZV9rbXNnX3RpbWVzdGFtcChjb25zdCBjaGFyICpzdHIwLCBzdHJ1Y3QgdGltZXZhbCAqdHYpCit7CisJY29uc3QgY2hhciAqc3RyID0gc3RyMDsKKwljaGFyICplbmQgPSBOVUxMOworCXVpbnQ2NF90IHVzZWM7CisKKwlpZiAoIXN0cjApCisJCXJldHVybiBzdHIwOworCisJZXJybm8gPSAwOworCXVzZWMgPSBzdHJ0b3VtYXgoc3RyLCAmZW5kLCAxMCk7CisKKwlpZiAoIWVycm5vICYmIGVuZCAmJiAoKmVuZCA9PSAnOycgfHwgKmVuZCA9PSAnLCcpKSB7CisJCXR2LT50dl91c2VjID0gdXNlYyAlIDEwMDAwMDA7CisJCXR2LT50dl9zZWMgPSB1c2VjIC8gMTAwMDAwMDsKKwl9IGVsc2UKKwkJcmV0dXJuIHN0cjA7CisKKwlyZXR1cm4gZW5kICsgMTsJLyogc2tpcCBzZXBhcmF0b3IgKi8KK30KKworCitzdGF0aWMgZG91YmxlIHRpbWVfZGlmZihzdHJ1Y3QgdGltZXZhbCAqYSwgc3RydWN0IHRpbWV2YWwgKmIpCit7CisJcmV0dXJuIChhLT50dl9zZWMgLSBiLT50dl9zZWMpICsgKGEtPnR2X3VzZWMgLSBiLT50dl91c2VjKSAvIDFFNjsKK30KKworc3RhdGljIGludCBnZXRfc3lzbG9nX2J1ZmZlcl9zaXplKHZvaWQpCit7CisJaW50IG4gPSBrbG9nY3RsKFNZU0xPR19BQ1RJT05fU0laRV9CVUZGRVIsIE5VTEwsIDApOworCisJcmV0dXJuIG4gPiAwID8gbiA6IDA7Cit9CisKKy8qCisgKiBSZWFkcyBtZXNzYWdlcyBmcm9tIHJlZ3VsYXIgZmlsZSBieSBtbWFwCisgKi8KK3N0YXRpYyBzc2l6ZV90IG1tYXBfZmlsZV9idWZmZXIoc3RydWN0IGRtZXNnX2NvbnRyb2wgKmN0bCwgY2hhciAqKmJ1ZikKK3sKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwlpbnQgZmQ7CisKKwlpZiAoIWN0bC0+ZmlsZW5hbWUpCisJCXJldHVybiAtMTsKKworCWZkID0gb3BlbihjdGwtPmZpbGVuYW1lLCBPX1JET05MWSk7CisJaWYgKGZkIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgY3RsLT5maWxlbmFtZSk7CisJaWYgKGZzdGF0KGZkLCAmc3QpKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJzdGF0IG9mICVzIGZhaWxlZCIpLCBjdGwtPmZpbGVuYW1lKTsKKworCSpidWYgPSBtbWFwKE5VTEwsIHN0LnN0X3NpemUsIFBST1RfUkVBRCwgTUFQX1NIQVJFRCwgZmQsIDApOworCWlmICgqYnVmID09IE1BUF9GQUlMRUQpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBtbWFwOiAlcyIpLCBjdGwtPmZpbGVuYW1lKTsKKwljdGwtPm1tYXBfYnVmZiA9ICpidWY7CisJY3RsLT5wYWdlc2l6ZSA9IGdldHBhZ2VzaXplKCk7CisJY2xvc2UoZmQpOworCisJcmV0dXJuIHN0LnN0X3NpemU7Cit9CisKKy8qCisgKiBSZWFkcyBtZXNzYWdlcyBmcm9tIGtlcm5lbCByaW5nIGJ1ZmZlciBieSBrbG9nY3RsKCkKKyAqLworc3RhdGljIHNzaXplX3QgcmVhZF9zeXNsb2dfYnVmZmVyKHN0cnVjdCBkbWVzZ19jb250cm9sICpjdGwsIGNoYXIgKipidWYpCit7CisJc2l6ZV90IHN6OworCWludCByYyA9IC0xOworCisJaWYgKGN0bC0+YnVmc2l6ZSkgeworCQlzeiA9IGN0bC0+YnVmc2l6ZSArIDg7CisJCSpidWYgPSB4bWFsbG9jKHN6ICogc2l6ZW9mKGNoYXIpKTsKKwkJcmMgPSBrbG9nY3RsKGN0bC0+YWN0aW9uLCAqYnVmLCBzeik7CisJfSBlbHNlIHsKKwkJc3ogPSAxNjM5MjsKKwkJd2hpbGUgKDEpIHsKKwkJCSpidWYgPSB4bWFsbG9jKHN6ICogc2l6ZW9mKGNoYXIpKTsKKwkJCXJjID0ga2xvZ2N0bChTWVNMT0dfQUNUSU9OX1JFQURfQUxMLCAqYnVmLCBzeik7CisJCQlpZiAocmMgPCAwKQorCQkJCWJyZWFrOworCQkJaWYgKChzaXplX3QpIHJjICE9IHN6IHx8IHN6ID4gKDEgPDwgMjgpKQorCQkJCWJyZWFrOworCQkJZnJlZSgqYnVmKTsKKwkJCSpidWYgPSBOVUxMOworCQkJc3ogKj0gNDsKKwkJfQorCisJCWlmIChyYyA+IDAgJiYgY3RsLT5hY3Rpb24gPT0gU1lTTE9HX0FDVElPTl9SRUFEX0NMRUFSKQorCQkJcmMgPSBrbG9nY3RsKFNZU0xPR19BQ1RJT05fUkVBRF9DTEVBUiwgKmJ1Ziwgc3opOworCX0KKworCXJldHVybiByYzsKK30KKworLyoKKyAqIFRvcCBsZXZlbCBmdW5jdGlvbiB0byByZWFkIG1lc3NhZ2VzCisgKi8KK3N0YXRpYyBzc2l6ZV90IHJlYWRfYnVmZmVyKHN0cnVjdCBkbWVzZ19jb250cm9sICpjdGwsIGNoYXIgKipidWYpCit7CisJc3NpemVfdCBuID0gLTE7CisKKwlzd2l0Y2ggKGN0bC0+bWV0aG9kKSB7CisJY2FzZSBETUVTR19NRVRIT0RfTU1BUDoKKwkJbiA9IG1tYXBfZmlsZV9idWZmZXIoY3RsLCBidWYpOworCQlicmVhazsKKwljYXNlIERNRVNHX01FVEhPRF9TWVNMT0c6CisJCWlmICghY3RsLT5idWZzaXplKQorCQkJY3RsLT5idWZzaXplID0gZ2V0X3N5c2xvZ19idWZmZXJfc2l6ZSgpOworCisJCW4gPSByZWFkX3N5c2xvZ19idWZmZXIoY3RsLCBidWYpOworCQlicmVhazsKKwljYXNlIERNRVNHX01FVEhPRF9LTVNHOgorCQkvKgorCQkgKiBTaW5jZSBrZXJuZWwgMy41LjAKKwkJICovCisJCW4gPSByZWFkX2ttc2coY3RsKTsKKwkJaWYgKG4gPT0gMCAmJiBjdGwtPmFjdGlvbiA9PSBTWVNMT0dfQUNUSU9OX1JFQURfQ0xFQVIpCisJCQluID0ga2xvZ2N0bChTWVNMT0dfQUNUSU9OX0NMRUFSLCBOVUxMLCAwKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJYWJvcnQoKTsJLyogaW1wb3NzaWJsZSBtZXRob2QgLT4gZHJvcCBjb3JlICovCisJfQorCisJcmV0dXJuIG47Cit9CisKK3N0YXRpYyBpbnQgZndyaXRlX2hleChjb25zdCBjaGFyICpidWYsIHNpemVfdCBzaXplLCBGSUxFICpvdXQpCit7CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7CisJCWludCByYyA9IGZwcmludGYob3V0LCAiXFx4JTAyeCIsIGJ1ZltpXSk7CisJCWlmIChyYyA8IDApCisJCQlyZXR1cm4gcmM7CisJfQorCXJldHVybiAwOworfQorCisvKgorICogUHJpbnRzIHRvICdvdXQnIGFuZCBub24tcHJpbnRhYmxlIGNoYXJzIGFyZSByZXBsYWNlZCB3aXRoIFx4PGhleD4gc2VxdWVuY2VzLgorICovCitzdGF0aWMgdm9pZCBzYWZlX2Z3cml0ZShjb25zdCBjaGFyICpidWYsIHNpemVfdCBzaXplLCBpbnQgaW5kZW50LCBGSUxFICpvdXQpCit7CisJc2l6ZV90IGk7CisjaWZkZWYgSEFWRV9XSURFQ0hBUgorCW1ic3RhdGVfdCBzOworCW1lbXNldCgmcywgMCwgc2l6ZW9mIChzKSk7CisjZW5kaWYKKwlmb3IgKGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7CisJCWNvbnN0IGNoYXIgKnAgPSBidWYgKyBpOworCQlpbnQgcmMsIGhleCA9IDA7CisJCXNpemVfdCBsZW47CisKKyNpZmRlZiBIQVZFX1dJREVDSEFSCisJCXdjaGFyX3Qgd2M7CisJCWxlbiA9IG1icnRvd2MoJndjLCBwLCBzaXplIC0gaSwgJnMpOworCisJCWlmIChsZW4gPT0gMCkJCQkJLyogTCdcMCcgKi8KKwkJCXJldHVybjsKKworCQlpZiAobGVuID09IChzaXplX3QpLTEgfHwgbGVuID09IChzaXplX3QpLTIpIHsJCS8qIGludmFsaWQgc2VxdWVuY2UgKi8KKwkJCW1lbXNldCgmcywgMCwgc2l6ZW9mIChzKSk7CisJCQlsZW4gPSBoZXggPSAxOworCQl9IGVsc2UgaWYgKGxlbiA+IDEgJiYgIWlzd3ByaW50KHdjKSkgewkvKiBub24tcHJpbnRhYmxlIG11bHRpYnl0ZSAqLworCQkJaGV4ID0gMTsKKwkJfQorCQlpICs9IGxlbiAtIDE7CisjZWxzZQorCQlsZW4gPSAxOworCQlpZiAoIWlzcHJpbnQoKHVuc2lnbmVkIGNoYXIpICpwKSAmJgorCQkgICAgIWlzc3BhY2UoKHVuc2lnbmVkIGNoYXIpICpwKSkgICAgICAgIC8qIG5vbi1wcmludGFibGUgKi8KKwkJCWhleCA9IDE7CisjZW5kaWYKKwkJaWYgKGhleCkKKwkJCXJjID0gZndyaXRlX2hleChwLCBsZW4sIG91dCk7CisJCWVsc2UgaWYgKCpwID09ICdcbicgJiYgKihwICsgMSkgJiYgaW5kZW50KSB7CisJCSAgICAgICAgcmMgPSBmd3JpdGUocCwgMSwgbGVuLCBvdXQpICE9IGxlbjsKKwkJCWlmIChmcHJpbnRmKG91dCwgIiUqcyIsIGluZGVudCwgIiIpICE9IGluZGVudCkKKwkJCQlyYyB8PSAxOworCQl9CisJCWVsc2UKKwkJCXJjID0gZndyaXRlKHAsIDEsIGxlbiwgb3V0KSAhPSBsZW47CisJCWlmIChyYyAhPSAwKSB7CisJCQlpZiAoZXJybm8gIT0gRVBJUEUpCisJCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygid3JpdGUgZmFpbGVkIikpOworCQkJZXhpdChFWElUX1NVQ0NFU1MpOworCQl9CisJfQorfQorCitzdGF0aWMgY29uc3QgY2hhciAqc2tpcF9pdGVtKGNvbnN0IGNoYXIgKmJlZ2luLCBjb25zdCBjaGFyICplbmQsIGNvbnN0IGNoYXIgKnNlcCkKK3sKKwl3aGlsZSAoYmVnaW4gPCBlbmQpIHsKKwkJaW50IGMgPSAqYmVnaW4rKzsKKworCQlpZiAoYyA9PSAnXDAnIHx8IHN0cmNocihzZXAsIGMpKQorCQkJYnJlYWs7CisJfQorCisJcmV0dXJuIGJlZ2luOworfQorCisvKgorICogUGFyc2VzIG9uZSByZWNvcmQgZnJvbSBzeXNsb2coMikgYnVmZmVyCisgKi8KK3N0YXRpYyBpbnQgZ2V0X25leHRfc3lzbG9nX3JlY29yZChzdHJ1Y3QgZG1lc2dfY29udHJvbCAqY3RsLAorCQkJCSAgc3RydWN0IGRtZXNnX3JlY29yZCAqcmVjKQoreworCXNpemVfdCBpOworCWNvbnN0IGNoYXIgKmJlZ2luID0gTlVMTDsKKworCWlmIChjdGwtPm1ldGhvZCAhPSBETUVTR19NRVRIT0RfTU1BUCAmJgorCSAgICBjdGwtPm1ldGhvZCAhPSBETUVTR19NRVRIT0RfU1lTTE9HKQorCQlyZXR1cm4gLTE7CisKKwlpZiAoIXJlYy0+bmV4dCB8fCAhcmVjLT5uZXh0X3NpemUpCisJCXJldHVybiAxOworCisJSU5JVF9ETUVTR19SRUNPUkQocmVjKTsKKworCS8qCisJICogVW5tYXAgYWxyZWFkeSBwcmludGVkIGZpbGUgZGF0YSBmcm9tIG1lbW9yeQorCSAqLworCWlmIChjdGwtPm1tYXBfYnVmZiAmJiAoc2l6ZV90KSAocmVjLT5uZXh0IC0gY3RsLT5tbWFwX2J1ZmYpID4gY3RsLT5wYWdlc2l6ZSkgeworCQl2b2lkICp4ID0gY3RsLT5tbWFwX2J1ZmY7CisKKwkJY3RsLT5tbWFwX2J1ZmYgKz0gY3RsLT5wYWdlc2l6ZTsKKwkJbXVubWFwKHgsIGN0bC0+cGFnZXNpemUpOworCX0KKworCWZvciAoaSA9IDA7IGkgPCByZWMtPm5leHRfc2l6ZTsgaSsrKSB7CisJCWNvbnN0IGNoYXIgKnAgPSByZWMtPm5leHQgKyBpOworCQljb25zdCBjaGFyICplbmQgPSBOVUxMOworCisJCWlmICghYmVnaW4pCisJCQliZWdpbiA9IHA7CisJCWlmIChpICsgMSA9PSByZWMtPm5leHRfc2l6ZSkgeworCQkJZW5kID0gcCArIDE7CisJCQlpKys7CisJCX0gZWxzZSBpZiAoKnAgPT0gJ1xuJyAmJiAqKHAgKyAxKSA9PSAnPCcpCisJCQllbmQgPSBwOworCisJCWlmIChiZWdpbiAmJiAhKmJlZ2luKQorCQkJYmVnaW4gPSBOVUxMOwkvKiB6ZXJvKHMpIGF0IHRoZSBlbmQgb2YgdGhlIGJ1ZmZlcj8gKi8KKwkJaWYgKCFiZWdpbiB8fCAhZW5kKQorCQkJY29udGludWU7CisJCWlmIChlbmQgPD0gYmVnaW4pCisJCQljb250aW51ZTsJLyogZXJyb3Igb3IgZW1wdHkgbGluZT8gKi8KKworCQlpZiAoKmJlZ2luID09ICc8JykgeworCQkJaWYgKGN0bC0+Zmx0cl9sZXYgfHwgY3RsLT5mbHRyX2ZhYyB8fCBjdGwtPmRlY29kZSB8fCBjdGwtPmNvbG9yKQorCQkJCWJlZ2luID0gcGFyc2VfZmFjbGV2KGJlZ2luICsgMSwgJnJlYy0+ZmFjaWxpdHksCisJCQkJCQkgICAgICZyZWMtPmxldmVsKTsKKwkJCWVsc2UKKwkJCQliZWdpbiA9IHNraXBfaXRlbShiZWdpbiwgZW5kLCAiPiIpOworCQl9CisKKwkJaWYgKCpiZWdpbiA9PSAnWycgJiYgKCooYmVnaW4gKyAxKSA9PSAnICcgfHwKKwkJCQkgICAgICBpc2RpZ2l0KCooYmVnaW4gKyAxKSkpKSB7CisKKwkJCWlmICghaXNfdGltZWZtdChjdGwsIE5PTkUpKQorCQkJCWJlZ2luID0gcGFyc2Vfc3lzbG9nX3RpbWVzdGFtcChiZWdpbiArIDEsICZyZWMtPnR2KTsKKwkJCWVsc2UKKwkJCQliZWdpbiA9IHNraXBfaXRlbShiZWdpbiwgZW5kLCAiXSIpOworCisJCQlpZiAoYmVnaW4gPCBlbmQgJiYgKmJlZ2luID09ICcgJykKKwkJCQliZWdpbisrOworCQl9CisKKwkJcmVjLT5tZXNnID0gYmVnaW47CisJCXJlYy0+bWVzZ19zaXplID0gZW5kIC0gYmVnaW47CisKKwkJcmVjLT5uZXh0X3NpemUgLT0gZW5kIC0gcmVjLT5uZXh0OworCQlyZWMtPm5leHQgPSByZWMtPm5leHRfc2l6ZSA+IDAgPyBlbmQgKyAxIDogTlVMTDsKKwkJaWYgKHJlYy0+bmV4dF9zaXplID4gMCkKKwkJCXJlYy0+bmV4dF9zaXplLS07CisKKwkJcmV0dXJuIDA7CisJfQorCisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgYWNjZXB0X3JlY29yZChzdHJ1Y3QgZG1lc2dfY29udHJvbCAqY3RsLCBzdHJ1Y3QgZG1lc2dfcmVjb3JkICpyZWMpCit7CisJaWYgKGN0bC0+Zmx0cl9sZXYgJiYgKHJlYy0+ZmFjaWxpdHkgPCAwIHx8CisJCQkgICAgICAhaXNzZXQoY3RsLT5sZXZlbHMsIHJlYy0+bGV2ZWwpKSkKKwkJcmV0dXJuIDA7CisKKwlpZiAoY3RsLT5mbHRyX2ZhYyAmJiAocmVjLT5mYWNpbGl0eSA8IDAgfHwKKwkJCSAgICAgICFpc3NldChjdGwtPmZhY2lsaXRpZXMsIHJlYy0+ZmFjaWxpdHkpKSkKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIHZvaWQgcmF3X3ByaW50KHN0cnVjdCBkbWVzZ19jb250cm9sICpjdGwsIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IHNpemUpCit7CisJaW50IGxhc3RjID0gJ1xuJzsKKworCWlmICghY3RsLT5tbWFwX2J1ZmYpIHsKKwkJLyoKKwkJICogUHJpbnQgd2hvbGUgcmluZyBidWZmZXIKKwkJICovCisJCXNhZmVfZndyaXRlKGJ1Ziwgc2l6ZSwgMCwgc3Rkb3V0KTsKKwkJbGFzdGMgPSBidWZbc2l6ZSAtIDFdOworCX0gZWxzZSB7CisJCS8qCisJCSAqIFByaW50IGZpbGUgaW4gc21hbGwgY2h1bmtzIHRvIHNhdmUgbWVtb3J5CisJCSAqLworCQl3aGlsZSAoc2l6ZSkgeworCQkJc2l6ZV90IHN6ID0gc2l6ZSA+IGN0bC0+cGFnZXNpemUgPyBjdGwtPnBhZ2VzaXplIDogc2l6ZTsKKwkJCWNoYXIgKnggPSBjdGwtPm1tYXBfYnVmZjsKKworCQkJc2FmZV9md3JpdGUoeCwgc3osIDAsIHN0ZG91dCk7CisJCQlsYXN0YyA9IHhbc3ogLSAxXTsKKwkJCXNpemUgLT0gc3o7CisJCQljdGwtPm1tYXBfYnVmZiArPSBzejsKKwkJCW11bm1hcCh4LCBzeik7CisJCX0KKwl9CisKKwlpZiAobGFzdGMgIT0gJ1xuJykKKwkJcHV0Y2hhcignXG4nKTsKK30KKworc3RhdGljIHN0cnVjdCB0bSAqcmVjb3JkX2xvY2FsdGltZShzdHJ1Y3QgZG1lc2dfY29udHJvbCAqY3RsLAorCQkJCSAgIHN0cnVjdCBkbWVzZ19yZWNvcmQgKnJlYywKKwkJCQkgICBzdHJ1Y3QgdG0gKnRtKQoreworCXRpbWVfdCB0ID0gY3RsLT5ib290X3RpbWUudHZfc2VjICsgcmVjLT50di50dl9zZWM7CisJcmV0dXJuIGxvY2FsdGltZV9yKCZ0LCB0bSk7Cit9CisKK3N0YXRpYyBjaGFyICpyZWNvcmRfY3RpbWUoc3RydWN0IGRtZXNnX2NvbnRyb2wgKmN0bCwKKwkJCSAgc3RydWN0IGRtZXNnX3JlY29yZCAqcmVjLAorCQkJICBjaGFyICpidWYsIHNpemVfdCBidWZzaXopCit7CisJc3RydWN0IHRtIHRtOworCisJcmVjb3JkX2xvY2FsdGltZShjdGwsIHJlYywgJnRtKTsKKworCWlmIChzdHJmdGltZShidWYsIGJ1ZnNpeiwgIiVhICViICVlICVIOiVNOiVTICVZIiwgJnRtKSA9PSAwKQorCQkqYnVmID0gJ1wwJzsKKwlyZXR1cm4gYnVmOworfQorCitzdGF0aWMgY2hhciAqc2hvcnRfY3RpbWUoc3RydWN0IHRtICp0bSwgY2hhciAqYnVmLCBzaXplX3QgYnVmc2l6KQoreworCWlmIChzdHJmdGltZShidWYsIGJ1ZnNpeiwgIiViJWUgJUg6JU0iLCB0bSkgPT0gMCkKKwkJKmJ1ZiA9ICdcMCc7CisJcmV0dXJuIGJ1ZjsKK30KKworc3RhdGljIGNoYXIgKmlzb184NjAxX3RpbWUoc3RydWN0IGRtZXNnX2NvbnRyb2wgKmN0bCwgc3RydWN0IGRtZXNnX3JlY29yZCAqcmVjLAorCQkJICAgY2hhciAqYnVmLCBzaXplX3QgYnVmc3opCit7CisJc3RydWN0IHRpbWV2YWwgdHYgPSB7CisJCS50dl9zZWMgPSBjdGwtPmJvb3RfdGltZS50dl9zZWMgKyByZWMtPnR2LnR2X3NlYywKKwkJLnR2X3VzZWMgPSByZWMtPnR2LnR2X3VzZWMKKwl9OworCisJaWYgKHN0cnRpbWV2YWxfaXNvKCZ0diwJSVNPXzg2MDFfREFURXxJU09fODYwMV9USU1FfElTT184NjAxX0NPTU1BVVNFQ3wKKwkJCQlJU09fODYwMV9USU1FWk9ORSwKKwkJCQlidWYsIGJ1ZnN6KSAhPSAwKQorCQlyZXR1cm4gTlVMTDsKKworCXJldHVybiBidWY7Cit9CisKK3N0YXRpYyBkb3VibGUgcmVjb3JkX2NvdW50X2RlbHRhKHN0cnVjdCBkbWVzZ19jb250cm9sICpjdGwsCisJCQkJIHN0cnVjdCBkbWVzZ19yZWNvcmQgKnJlYykKK3sKKwlkb3VibGUgZGVsdGEgPSAwOworCisJaWYgKHRpbWVyaXNzZXQoJmN0bC0+bGFzdHRpbWUpKQorCQlkZWx0YSA9IHRpbWVfZGlmZigmcmVjLT50diwgJmN0bC0+bGFzdHRpbWUpOworCisJY3RsLT5sYXN0dGltZSA9IHJlYy0+dHY7CisJcmV0dXJuIGRlbHRhOworfQorCitzdGF0aWMgY29uc3QgY2hhciAqZ2V0X3N1YnN5c19kZWxpbWl0ZXIoY29uc3QgY2hhciAqbWVzZywgc2l6ZV90IG1lc2dfc2l6ZSkKK3sKKwljb25zdCBjaGFyICpwID0gbWVzZzsKKwlzaXplX3Qgc3ogPSBtZXNnX3NpemU7CisKKwl3aGlsZSAoc3ogPiAwKSB7CisJCWNvbnN0IGNoYXIgKmQgPSBzdHJuY2hyKHAsIHN6LCAnOicpOworCQlpZiAoIWQpCisJCQlyZXR1cm4gTlVMTDsKKwkJc3ogLT0gZCAtIHA7CisJCWlmIChzeikgeworCQkJaWYgKGlzYmxhbmsoKihkICsgMSkpKQorCQkJCXJldHVybiBkOworCQkJcCA9IGQgKyAxOworCQl9CisJfQorCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgdm9pZCBwcmludF9yZWNvcmQoc3RydWN0IGRtZXNnX2NvbnRyb2wgKmN0bCwKKwkJCSBzdHJ1Y3QgZG1lc2dfcmVjb3JkICpyZWMpCit7CisJY2hhciBidWZbMjU2XTsKKwlpbnQgaGFzX2NvbG9yID0gMDsKKwljb25zdCBjaGFyICptZXNnOworCXNpemVfdCBtZXNnX3NpemU7CisJaW50IGluZGVudCA9IDA7CisKKwlpZiAoIWFjY2VwdF9yZWNvcmQoY3RsLCByZWMpKQorCQlyZXR1cm47CisKKwlpZiAoIXJlYy0+bWVzZ19zaXplKSB7CisJCXB1dGNoYXIoJ1xuJyk7CisJCXJldHVybjsKKwl9CisKKwkvKgorCSAqIGNvbXBvc2Ugc3lzbG9nKDIpIGNvbXBhdGlibGUgcmF3IG91dHB1dCAtLSB1c2VkIGZvciAvZGV2L2ttc2cgZm9yCisJICogYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIHN5c2xvZygyKSBidWZmZXJzIG9ubHkKKwkgKi8KKwlpZiAoY3RsLT5yYXcpIHsKKwkJY3RsLT5pbmRlbnQgPSBwcmludGYoIjwlZD5bJTVsZC4lMDZsZF0gIiwKKwkJCQkgICAgIExPR19NQUtFUFJJKHJlYy0+ZmFjaWxpdHksIHJlYy0+bGV2ZWwpLAorCQkJCSAgICAgKGxvbmcpIHJlYy0+dHYudHZfc2VjLAorCQkJCSAgICAgKGxvbmcpIHJlYy0+dHYudHZfdXNlYyk7CisKKwkJZ290byBtZXNnOworCX0KKworCS8qCisJICogZmFjaWxpdHkgOiBwcmlvcml0eSA6CisJICovCisJaWYgKGN0bC0+ZGVjb2RlICYmCisJICAgIC0xIDwgcmVjLT5sZXZlbCAgICAmJiByZWMtPmxldmVsICAgICA8IChpbnQpIEFSUkFZX1NJWkUobGV2ZWxfbmFtZXMpICYmCisJICAgIC0xIDwgcmVjLT5mYWNpbGl0eSAmJiByZWMtPmZhY2lsaXR5ICA8IChpbnQpIEFSUkFZX1NJWkUoZmFjaWxpdHlfbmFtZXMpKQorCQlpbmRlbnQgPSBwcmludGYoIiUtNnM6JS02czogIiwgZmFjaWxpdHlfbmFtZXNbcmVjLT5mYWNpbGl0eV0ubmFtZSwKKwkJCQkgICAgICAgICAgICAgICBsZXZlbF9uYW1lc1tyZWMtPmxldmVsXS5uYW1lKTsKKworCWlmIChjdGwtPmNvbG9yKQorCQlkbWVzZ19lbmFibGVfY29sb3IoRE1FU0dfQ09MT1JfVElNRSk7CisKKwlzd2l0Y2ggKGN0bC0+dGltZV9mbXQpIHsKKwkJZG91YmxlIGRlbHRhOworCQlzdHJ1Y3QgdG0gY3VyOworCWNhc2UgRE1FU0dfVElNRUZUTV9OT05FOgorCQljdGwtPmluZGVudCA9IDA7CisJCWJyZWFrOworCWNhc2UgRE1FU0dfVElNRUZUTV9DVElNRToKKwkJY3RsLT5pbmRlbnQgPSBwcmludGYoIlslc10gIiwgcmVjb3JkX2N0aW1lKGN0bCwgcmVjLCBidWYsIHNpemVvZihidWYpKSk7CisJCWJyZWFrOworCWNhc2UgRE1FU0dfVElNRUZUTV9DVElNRV9ERUxUQToKKwkJY3RsLT5pbmRlbnQgPSBwcmludGYoIlslcyA8JTEyLjA2Zj5dICIsCisJCSAgICAgICAJCSAgICAgcmVjb3JkX2N0aW1lKGN0bCwgcmVjLCBidWYsIHNpemVvZihidWYpKSwKKwkJICAgICAgIAkJICAgICByZWNvcmRfY291bnRfZGVsdGEoY3RsLCByZWMpKTsKKwkJYnJlYWs7CisJY2FzZSBETUVTR19USU1FRlRNX0RFTFRBOgorCQljdGwtPmluZGVudCA9IHByaW50ZigiWzwlMTIuMDZmPl0gIiwgcmVjb3JkX2NvdW50X2RlbHRhKGN0bCwgcmVjKSk7CisJCWJyZWFrOworCWNhc2UgRE1FU0dfVElNRUZUTV9SRUxUSU1FOgorCQlyZWNvcmRfbG9jYWx0aW1lKGN0bCwgcmVjLCAmY3VyKTsKKwkJZGVsdGEgPSByZWNvcmRfY291bnRfZGVsdGEoY3RsLCByZWMpOworCQlpZiAoY3VyLnRtX21pbiAhPSBjdGwtPmxhc3R0bS50bV9taW4gfHwKKwkJICAgIGN1ci50bV9ob3VyICE9IGN0bC0+bGFzdHRtLnRtX2hvdXIgfHwKKwkJICAgIGN1ci50bV95ZGF5ICE9IGN0bC0+bGFzdHRtLnRtX3lkYXkpIHsKKwkJCWRtZXNnX2VuYWJsZV9jb2xvcihETUVTR19DT0xPUl9USU1FQlJFQUspOworCQkJY3RsLT5pbmRlbnQgPSBwcmludGYoIlslc10gIiwgc2hvcnRfY3RpbWUoJmN1ciwgYnVmLCBzaXplb2YoYnVmKSkpOworCQl9IGVsc2UgeworCQkJaWYgKGRlbHRhIDwgMTApCisJCQkJY3RsLT5pbmRlbnQgPSBwcmludGYoIlsgICUrOC4wNmZdICIsIGRlbHRhKTsKKwkJCWVsc2UKKwkJCQljdGwtPmluZGVudCA9IHByaW50ZigiWyAlKzkuMDZmXSAiLCBkZWx0YSk7CisJCX0KKwkJY3RsLT5sYXN0dG0gPSBjdXI7CisJCWJyZWFrOworCWNhc2UgRE1FU0dfVElNRUZUTV9USU1FOgorCQljdGwtPmluZGVudCA9IHByaW50ZigiWyU1bGQuJTA2bGRdICIsCisJCSAgICAgICAgICAgICAgIChsb25nKXJlYy0+dHYudHZfc2VjLCAobG9uZylyZWMtPnR2LnR2X3VzZWMpOworCQlicmVhazsKKwljYXNlIERNRVNHX1RJTUVGVE1fVElNRV9ERUxUQToKKwkJY3RsLT5pbmRlbnQgPSBwcmludGYoIlslNWxkLiUwNmxkIDwlMTIuMDZmPl0gIiwgKGxvbmcpcmVjLT50di50dl9zZWMsCisJCSAgICAgICAgICAgICAgIChsb25nKXJlYy0+dHYudHZfdXNlYywgcmVjb3JkX2NvdW50X2RlbHRhKGN0bCwgcmVjKSk7CisJCWJyZWFrOworCWNhc2UgRE1FU0dfVElNRUZUTV9JU084NjAxOgorCQljdGwtPmluZGVudCA9IHByaW50ZigiJXMgIiwgaXNvXzg2MDFfdGltZShjdGwsIHJlYywgYnVmLCBzaXplb2YoYnVmKSkpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlhYm9ydCgpOworCX0KKworCWN0bC0+aW5kZW50ICs9IGluZGVudDsKKworCWlmIChjdGwtPmNvbG9yKQorCQljb2xvcl9kaXNhYmxlKCk7CisKK21lc2c6CisJbWVzZyA9IHJlYy0+bWVzZzsKKwltZXNnX3NpemUgPSByZWMtPm1lc2dfc2l6ZTsKKworCS8qIENvbG9yaXplIG91dHB1dCAqLworCWlmIChjdGwtPmNvbG9yKSB7CisJCS8qIHN1YnN5c3RlbSBwcmVmaXggKi8KKwkJY29uc3QgY2hhciAqc3Vic3lzID0gZ2V0X3N1YnN5c19kZWxpbWl0ZXIobWVzZywgbWVzZ19zaXplKTsKKwkJaWYgKHN1YnN5cykgeworCQkJZG1lc2dfZW5hYmxlX2NvbG9yKERNRVNHX0NPTE9SX1NVQlNZUyk7CisJCQlzYWZlX2Z3cml0ZShtZXNnLCBzdWJzeXMgLSBtZXNnLCBjdGwtPmluZGVudCwgc3Rkb3V0KTsKKwkJCWNvbG9yX2Rpc2FibGUoKTsKKworCQkJbWVzZ19zaXplIC09IHN1YnN5cyAtIG1lc2c7CisJCQltZXNnID0gc3Vic3lzOworCQl9CisJCS8qIGVycm9yLCBhbGVydCAuLiBldGMuIGNvbG9ycyAqLworCQloYXNfY29sb3IgPSBzZXRfbGV2ZWxfY29sb3IocmVjLT5sZXZlbCwgbWVzZywgbWVzZ19zaXplKSA9PSAwOworCQlzYWZlX2Z3cml0ZShtZXNnLCBtZXNnX3NpemUsIGN0bC0+aW5kZW50LCBzdGRvdXQpOworCQlpZiAoaGFzX2NvbG9yKQorCQkJY29sb3JfZGlzYWJsZSgpOworCX0gZWxzZQorCQlzYWZlX2Z3cml0ZShtZXNnLCBtZXNnX3NpemUsIGN0bC0+aW5kZW50LCBzdGRvdXQpOworCisJaWYgKCoobWVzZyArIG1lc2dfc2l6ZSAtIDEpICE9ICdcbicpCisJCXB1dGNoYXIoJ1xuJyk7Cit9CisKKy8qCisgKiBQcmludHMgdGhlICdidWYnIGtlcm5lbCByaW5nIGJ1ZmZlcjsgdGhlIG1lc3NhZ2VzIGFyZSBmaWx0ZXJlZCBvdXQgYWNjb3JkaW5nCisgKiB0byAnbGV2ZWxzJyBhbmQgJ2ZhY2lsaXRpZXMnIGJpdGFycmF5cy4KKyAqLworc3RhdGljIHZvaWQgcHJpbnRfYnVmZmVyKHN0cnVjdCBkbWVzZ19jb250cm9sICpjdGwsCisJCQljb25zdCBjaGFyICpidWYsIHNpemVfdCBzaXplKQoreworCXN0cnVjdCBkbWVzZ19yZWNvcmQgcmVjID0geyAubmV4dCA9IGJ1ZiwgLm5leHRfc2l6ZSA9IHNpemUgfTsKKworCWlmIChjdGwtPnJhdykgeworCQlyYXdfcHJpbnQoY3RsLCBidWYsIHNpemUpOworCQlyZXR1cm47CisJfQorCisJd2hpbGUgKGdldF9uZXh0X3N5c2xvZ19yZWNvcmQoY3RsLCAmcmVjKSA9PSAwKQorCQlwcmludF9yZWNvcmQoY3RsLCAmcmVjKTsKK30KKworc3RhdGljIHNzaXplX3QgcmVhZF9rbXNnX29uZShzdHJ1Y3QgZG1lc2dfY29udHJvbCAqY3RsKQoreworCXNzaXplX3Qgc2l6ZTsKKworCS8qIGttc2cgcmV0dXJucyBFUElQRSBpZiByZWNvcmQgd2FzIG1vZGlmaWVkIHdoaWxlIHJlYWRpbmcgKi8KKwlkbyB7CisJCXNpemUgPSByZWFkKGN0bC0+a21zZywgY3RsLT5rbXNnX2J1ZiwKKwkJCSAgICBzaXplb2YoY3RsLT5rbXNnX2J1ZikgLSAxKTsKKwl9IHdoaWxlIChzaXplIDwgMCAmJiBlcnJubyA9PSBFUElQRSk7CisKKwlyZXR1cm4gc2l6ZTsKK30KKworc3RhdGljIGludCBpbml0X2ttc2coc3RydWN0IGRtZXNnX2NvbnRyb2wgKmN0bCkKK3sKKwlpbnQgbW9kZSA9IE9fUkRPTkxZOworCisJaWYgKCFjdGwtPmZvbGxvdykKKwkJbW9kZSB8PSBPX05PTkJMT0NLOworCWVsc2UKKwkJc2V0bGluZWJ1ZihzdGRvdXQpOworCisJY3RsLT5rbXNnID0gb3BlbigiL2Rldi9rbXNnIiwgbW9kZSk7CisJaWYgKGN0bC0+a21zZyA8IDApCisJCXJldHVybiAtMTsKKworCS8qCisJICogU2VlayBhZnRlciB0aGUgbGFzdCByZWNvcmQgYXZhaWxhYmxlIGF0IHRoZSB0aW1lCisJICogdGhlIGxhc3QgU1lTTE9HX0FDVElPTl9DTEVBUiB3YXMgaXNzdWVkLgorCSAqCisJICogLi4uIG90aGVyd2lzZSBTWVNMT0dfQUNUSU9OX0NMRUFSIHdpbGwgaGF2ZSBubyBlZmZlY3QgZm9yIGttc2cuCisJICovCisJbHNlZWsoY3RsLT5rbXNnLCAwLCBTRUVLX0RBVEEpOworCisJLyoKKwkgKiBPbGQga2VybmVscyAoPDMuNSkgYWxsb3cgdG8gc3VjY2Vzc2Z1bGx5IG9wZW4gL2Rldi9rbXNnIGZvcgorCSAqIHJlYWQtb25seSwgYnV0IHJlYWQoKSByZXR1cm5zIC1FSU5WQUwgOi0oKCgKKwkgKgorCSAqIExldCdzIHRyeSB0byByZWFkIHRoZSBmaXJzdCByZWNvcmQuIFRoZSByZWNvcmQgaXMgbGF0ZXIgcHJvY2Vzc2VkIGluCisJICogcmVhZF9rbXNnKCkuCisJICovCisJY3RsLT5rbXNnX2ZpcnN0X3JlYWQgPSByZWFkX2ttc2dfb25lKGN0bCk7CisJaWYgKGN0bC0+a21zZ19maXJzdF9yZWFkIDwgMCkgeworCQljbG9zZShjdGwtPmttc2cpOworCQljdGwtPmttc2cgPSAtMTsKKwkJcmV0dXJuIC0xOworCX0KKworCXJldHVybiAwOworfQorCisvKgorICogL2Rldi9rbXNnIHJlY29yZCBmb3JtYXQ6CisgKgorICogICAgIGZhY2xldixzZXFudW0sdGltZXN0YW1wW29wdGlvbmFsLCAuLi5dO21lc3NhZ2VcbgorICogICAgICBUQUdOQU1FPXZhbHVlCisgKiAgICAgIC4uLgorICoKKyAqIC0gZmllbGRzIGFyZSBzZXBhcmF0ZWQgYnkgJywnCisgKiAtIGxhc3QgZmllbGQgaXMgdGVybWluYXRlZCBieSAnOycKKyAqCisgKi8KKyNkZWZpbmUgTEFTVF9LTVNHX0ZJRUxEKHMpCSghcyB8fCAhKnMgfHwgKihzIC0gMSkgPT0gJzsnKQorCitzdGF0aWMgaW50IHBhcnNlX2ttc2dfcmVjb3JkKHN0cnVjdCBkbWVzZ19jb250cm9sICpjdGwsCisJCQkgICAgIHN0cnVjdCBkbWVzZ19yZWNvcmQgKnJlYywKKwkJCSAgICAgY2hhciAqYnVmLAorCQkJICAgICBzaXplX3Qgc3opCit7CisJY29uc3QgY2hhciAqcCA9IGJ1ZiwgKmVuZDsKKworCWlmIChzeiA9PSAwIHx8ICFidWYgfHwgISpidWYpCisJCXJldHVybiAtMTsKKworCWVuZCA9IGJ1ZiArIChzeiAtIDEpOworCUlOSVRfRE1FU0dfUkVDT1JEKHJlYyk7CisKKwl3aGlsZSAocCA8IGVuZCAmJiBpc3NwYWNlKCpwKSkKKwkJcCsrOworCisJLyogQSkgcHJpb3JpdHkgYW5kIGZhY2lsaXR5ICovCisJaWYgKGN0bC0+Zmx0cl9sZXYgfHwgY3RsLT5mbHRyX2ZhYyB8fCBjdGwtPmRlY29kZSB8fAorCSAgICBjdGwtPnJhdyB8fCBjdGwtPmNvbG9yKQorCQlwID0gcGFyc2VfZmFjbGV2KHAsICZyZWMtPmZhY2lsaXR5LCAmcmVjLT5sZXZlbCk7CisJZWxzZQorCQlwID0gc2tpcF9pdGVtKHAsIGVuZCwgIiwiKTsKKwlpZiAoTEFTVF9LTVNHX0ZJRUxEKHApKQorCQlnb3RvIG1lc2c7CisKKwkvKiBCKSBzZXF1ZW5jZSBudW1iZXIgKi8KKwlwID0gc2tpcF9pdGVtKHAsIGVuZCwgIiw7Iik7CisJaWYgKExBU1RfS01TR19GSUVMRChwKSkKKwkJZ290byBtZXNnOworCisJLyogQykgdGltZXN0YW1wICovCisJaWYgKGlzX3RpbWVmbXQoY3RsLCBOT05FKSkKKwkJcCA9IHNraXBfaXRlbShwLCBlbmQsICIsOyIpOworCWVsc2UKKwkJcCA9IHBhcnNlX2ttc2dfdGltZXN0YW1wKHAsICZyZWMtPnR2KTsKKwlpZiAoTEFTVF9LTVNHX0ZJRUxEKHApKQorCQlnb3RvIG1lc2c7CisKKwkvKiBEKSBvcHRpb25hbCBmaWVsZHMgKGlnbm9yZSkgKi8KKwlwID0gc2tpcF9pdGVtKHAsIGVuZCwgIjsiKTsKKworbWVzZzoKKwkvKiBFKSBtZXNzYWdlIHRleHQgKi8KKwlyZWMtPm1lc2cgPSBwOworCXAgPSBza2lwX2l0ZW0ocCwgZW5kLCAiXG4iKTsKKworCWlmICghcCkKKwkJcmV0dXJuIC0xOworCisJcmVjLT5tZXNnX3NpemUgPSBwIC0gcmVjLT5tZXNnOworCisJLyoKKwkgKiBLZXJuZWwgZXNjYXBlcyBub24tcHJpbnRhYmxlIGNoYXJhY3RlcnMsIHVuZm9ydHVuYXRlbHkga2VybmVsCisJICogZGVmaW5pdGlvbiBvZiAibm9uLXByaW50YWJsZSIgaXMgdG9vIHN0cmljdC4gT24gVVRGOCBjb25zb2xlIHdlIGNhbgorCSAqIHByaW50IG1hbnkgY2hhcnMsIHNvIGxldCdzIGRlY29kZSBmcm9tIGtlcm5lbC4KKwkgKi8KKwl1bmhleG1hbmdsZV90b19idWZmZXIocmVjLT5tZXNnLCAoY2hhciAqKSByZWMtPm1lc2csIHJlYy0+bWVzZ19zaXplICsgMSk7CisKKwkvKiBGKSBtZXNzYWdlIHRhZ3MgKGlnbm9yZSkgKi8KKworCXJldHVybiAwOworfQorCisvKgorICogTm90ZSB0aGF0IGVhY2ggcmVhZCgpIGNhbGwgZm9yIC9kZXYva21zZyByZXR1cm5zIGFsd2F5cyBvbmUgcmVjb3JkLiBJdCBtZWFucworICogdGhhdCB3ZSBkb24ndCBoYXZlIHRvIHJlYWQgd2hvbGUgbWVzc2FnZSBidWZmZXIgYmVmb3JlIHRoZSByZWNvcmRzIHBhcnNpbmcuCisgKgorICogU28gdGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBjb21wb3NlIG9uZSBodWdlIGJ1ZmZlciAobGlrZSByZWFkX3N5c2xvZ19idWZmZXIoKSkKKyAqIGFuZCBwcmludF9idWZmZXIoKSBpcyB1bm5lY2Vzc2FyeS4gQWxsIGlzIGRvbmUgaW4gdGhpcyBmdW5jdGlvbi4KKyAqCisgKiBSZXR1cm5zIDAgb24gc3VjY2VzcywgLTEgb24gZXJyb3IuCisgKi8KK3N0YXRpYyBpbnQgcmVhZF9rbXNnKHN0cnVjdCBkbWVzZ19jb250cm9sICpjdGwpCit7CisJc3RydWN0IGRtZXNnX3JlY29yZCByZWM7CisJc3NpemVfdCBzejsKKworCWlmIChjdGwtPm1ldGhvZCAhPSBETUVTR19NRVRIT0RfS01TRyB8fCBjdGwtPmttc2cgPCAwKQorCQlyZXR1cm4gLTE7CisKKwkvKgorCSAqIFRoZSB2ZXJ5IGZpcnN0IHJlYWQoKSBjYWxsIGlzIGRvbmUgaW4ga21zZ19pbml0KCkgd2hlcmUgd2UgdGVzdAorCSAqIC9kZXYva21zZyB1c2FiaWxpdHkuIFRoZSByZXR1cm4gY29kZSBmcm9tIHRoZSBpbml0aWFsIHJlYWQoKSBpcworCSAqIHN0b3JlZCBpbiBjdGwtPmttc2dfZmlyc3RfcmVhZDsKKwkgKi8KKwlzeiA9IGN0bC0+a21zZ19maXJzdF9yZWFkOworCisJd2hpbGUgKHN6ID4gMCkgeworCQkqKGN0bC0+a21zZ19idWYgKyBzeikgPSAnXDAnOwkvKiBmb3IgZGVidWcgbWVzc2FnZXMgKi8KKworCQlpZiAocGFyc2Vfa21zZ19yZWNvcmQoY3RsLCAmcmVjLAorCQkJCSAgICAgIGN0bC0+a21zZ19idWYsIChzaXplX3QpIHN6KSA9PSAwKQorCQkJcHJpbnRfcmVjb3JkKGN0bCwgJnJlYyk7CisKKwkJc3ogPSByZWFkX2ttc2dfb25lKGN0bCk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgd2hpY2hfdGltZV9mb3JtYXQoY29uc3QgY2hhciAqcykKK3sKKwlpZiAoIXN0cmNtcChzLCAibm90aW1lIikpCisJCXJldHVybiBETUVTR19USU1FRlRNX05PTkU7CisJaWYgKCFzdHJjbXAocywgImN0aW1lIikpCisJCXJldHVybiBETUVTR19USU1FRlRNX0NUSU1FOworCWlmICghc3RyY21wKHMsICJkZWx0YSIpKQorCQlyZXR1cm4gRE1FU0dfVElNRUZUTV9ERUxUQTsKKwlpZiAoIXN0cmNtcChzLCAicmVsdGltZSIpKQorCQlyZXR1cm4gRE1FU0dfVElNRUZUTV9SRUxUSU1FOworCWlmICghc3RyY21wKHMsICJpc28iKSkKKwkJcmV0dXJuIERNRVNHX1RJTUVGVE1fSVNPODYwMTsKKwllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5rbm93biB0aW1lIGZvcm1hdDogJXMiKSwgcyk7Cit9CisKKyNpZmRlZiBURVNUX0RNRVNHCitzdGF0aWMgaW5saW5lIGludCBkbWVzZ19nZXRfYm9vdF90aW1lKHN0cnVjdCB0aW1ldmFsICp0dikKK3sKKwljaGFyICpzdHIgPSBnZXRlbnYoIkRNRVNHX1RFU1RfQk9PVElNRSIpOworCXVpbnRtYXhfdCBzZWMsIHVzZWM7CisKKwlpZiAoc3RyICYmIHNzY2FuZihzdHIsICIlanUuJWp1IiwgJnNlYywgJnVzZWMpID09IDIpIHsKKwkJdHYtPnR2X3NlYyA9IHNlYzsKKwkJdHYtPnR2X3VzZWMgPSB1c2VjOworCQlyZXR1cm4gdHYtPnR2X3NlYyA+PSAwICYmIHR2LT50dl91c2VjID49IDAgPyAwIDogLUVJTlZBTDsKKwl9CisKKwlyZXR1cm4gZ2V0X2Jvb3RfdGltZSh0dik7Cit9CisjZWxzZQorIyBkZWZpbmUgZG1lc2dfZ2V0X2Jvb3RfdGltZQlnZXRfYm9vdF90aW1lCisjZW5kaWYKKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwljaGFyICpidWYgPSBOVUxMOworCWludCAgYywgbm9wYWdlciA9IDA7CisJaW50ICBjb25zb2xlX2xldmVsID0gMDsKKwlpbnQgIGtsb2dfcmMgPSAwOworCWludCAgZGVsdGEgPSAwOworCXNzaXplX3QgbjsKKwlzdGF0aWMgc3RydWN0IGRtZXNnX2NvbnRyb2wgY3RsID0geworCQkuZmlsZW5hbWUgPSBOVUxMLAorCQkuYWN0aW9uID0gU1lTTE9HX0FDVElPTl9SRUFEX0FMTCwKKwkJLm1ldGhvZCA9IERNRVNHX01FVEhPRF9LTVNHLAorCQkua21zZyA9IC0xLAorCQkudGltZV9mbXQgPSBETUVTR19USU1FRlRNX1RJTUUsCisJCS5pbmRlbnQgPSAwLAorCX07CisJaW50IGNvbG9ybW9kZSA9IFVMX0NPTE9STU9ERV9VTkRFRjsKKwllbnVtIHsKKwkJT1BUX1RJTUVfRk9STUFUID0gQ0hBUl9NQVggKyAxLAorCX07CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJidWZmZXItc2l6ZSIsICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdzJyB9LAorCQl7ICJjbGVhciIsICAgICAgICAgbm9fYXJndW1lbnQsCSAgICAgIE5VTEwsICdDJyB9LAorCQl7ICJjb2xvciIsICAgICAgICAgb3B0aW9uYWxfYXJndW1lbnQsIE5VTEwsICdMJyB9LAorCQl7ICJjb25zb2xlLWxldmVsIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICduJyB9LAorCQl7ICJjb25zb2xlLW9mZiIsICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdEJyB9LAorCQl7ICJjb25zb2xlLW9uIiwgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdFJyB9LAorCQl7ICJkZWNvZGUiLCAgICAgICAgbm9fYXJndW1lbnQsCSAgICAgIE5VTEwsICd4JyB9LAorCQl7ICJmaWxlIiwgICAgICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdGJyB9LAorCQl7ICJmYWNpbGl0eSIsICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdmJyB9LAorCQl7ICJmb2xsb3ciLCAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICd3JyB9LAorCQl7ICJodW1hbiIsICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdIJyB9LAorCQl7ICJoZWxwIiwgICAgICAgICAgbm9fYXJndW1lbnQsCSAgICAgIE5VTEwsICdoJyB9LAorCQl7ICJrZXJuZWwiLCAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdrJyB9LAorCQl7ICJsZXZlbCIsICAgICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdsJyB9LAorCQl7ICJzeXNsb2ciLCAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdTJyB9LAorCQl7ICJyYXciLCAgICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdyJyB9LAorCQl7ICJyZWFkLWNsZWFyIiwgICAgbm9fYXJndW1lbnQsCSAgICAgIE5VTEwsICdjJyB9LAorCQl7ICJyZWx0aW1lIiwgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdlJyB9LAorCQl7ICJzaG93LWRlbHRhIiwgICAgbm9fYXJndW1lbnQsCSAgICAgIE5VTEwsICdkJyB9LAorCQl7ICJjdGltZSIsICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdUJyB9LAorCQl7ICJub3RpbWUiLCAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICd0JyB9LAorCQl7ICJub3BhZ2VyIiwgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdQJyB9LAorCQl7ICJ1c2Vyc3BhY2UiLCAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICd1JyB9LAorCQl7ICJ2ZXJzaW9uIiwgICAgICAgbm9fYXJndW1lbnQsCSAgICAgIE5VTEwsICdWJyB9LAorCQl7ICJ0aW1lLWZvcm1hdCIsICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIE9QVF9USU1FX0ZPUk1BVCB9LAorCQl7IE5VTEwsCSAgICAgICAgICAgMCwgTlVMTCwgMCB9CisJfTsKKworCXN0YXRpYyBjb25zdCB1bF9leGNsX3QgZXhjbFtdID0gewkvKiByb3dzIGFuZCBjb2xzIGluIGluIEFTQ0lJIG9yZGVyICovCisJCXsgJ0MnLCdEJywnRScsJ2MnLCduJywncicgfSwJLyogY2xlYXIsb2ZmLG9uLHJlYWQtY2xlYXIsbGV2ZWwscmF3Ki8KKwkJeyAnSCcsJ3InIH0sCQkJLyogaHVtYW4sIHJhdyAqLworCQl7ICdMJywncicgfSwJCQkvKiBjb2xvciwgcmF3ICovCisJCXsgJ1MnLCd3JyB9LAkJCS8qIHN5c2xvZyxmb2xsb3cgKi8KKwkJeyAnVCcsJ3InIH0sCQkJLyogY3RpbWUsIHJhdyAqLworCQl7ICdkJywncicgfSwJCQkvKiBkZWx0YSwgcmF3ICovCisJCXsgJ2UnLCdyJyB9LAkJCS8qIHJlbHRpbWUsIHJhdyAqLworCQl7ICdyJywneCcgfSwJCQkvKiByYXcsIGRlY29kZSAqLworCQl7ICdyJywndCcgfSwJCQkvKiBub3RpbWUsIHJhdyAqLworCQl7IDAgfQorCX07CisJaW50IGV4Y2xfc3RbQVJSQVlfU0laRShleGNsKV0gPSBVTF9FWENMX1NUQVRVU19JTklUOworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJDY0RkRWVGOmY6SGhrTDo6bDpuOmlQclNzOlR0dVZ3eCIsCisJCQkJbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhjLCBsb25nb3B0cywgZXhjbCwgZXhjbF9zdCk7CisKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ0MnOgorCQkJY3RsLmFjdGlvbiA9IFNZU0xPR19BQ1RJT05fQ0xFQVI7CisJCQlicmVhazsKKwkJY2FzZSAnYyc6CisJCQljdGwuYWN0aW9uID0gU1lTTE9HX0FDVElPTl9SRUFEX0NMRUFSOworCQkJYnJlYWs7CisJCWNhc2UgJ0QnOgorCQkJY3RsLmFjdGlvbiA9IFNZU0xPR19BQ1RJT05fQ09OU09MRV9PRkY7CisJCQlicmVhazsKKwkJY2FzZSAnZCc6CisJCQlkZWx0YSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnRSc6CisJCQljdGwuYWN0aW9uID0gU1lTTE9HX0FDVElPTl9DT05TT0xFX09OOworCQkJYnJlYWs7CisJCWNhc2UgJ2UnOgorCQkJY3RsLnRpbWVfZm10ID0gRE1FU0dfVElNRUZUTV9SRUxUSU1FOworCQkJYnJlYWs7CisJCWNhc2UgJ0YnOgorCQkJY3RsLmZpbGVuYW1lID0gb3B0YXJnOworCQkJY3RsLm1ldGhvZCA9IERNRVNHX01FVEhPRF9NTUFQOworCQkJYnJlYWs7CisJCWNhc2UgJ2YnOgorCQkJY3RsLmZsdHJfZmFjID0gMTsKKwkJCWlmIChzdHJpbmdfdG9fYml0YXJyYXkob3B0YXJnLAorCQkJCQkgICAgIGN0bC5mYWNpbGl0aWVzLCBwYXJzZV9mYWNpbGl0eSkgPCAwKQorCQkJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJCQlicmVhazsKKwkJY2FzZSAnSCc6CisJCQljdGwudGltZV9mbXQgPSBETUVTR19USU1FRlRNX1JFTFRJTUU7CisJCQljb2xvcm1vZGUgPSBVTF9DT0xPUk1PREVfQVVUTzsKKwkJCWN0bC5wYWdlciA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShzdGRvdXQpOworCQkJYnJlYWs7CisJCWNhc2UgJ2snOgorCQkJY3RsLmZsdHJfZmFjID0gMTsKKwkJCXNldGJpdChjdGwuZmFjaWxpdGllcywgRkFDX0JBU0UoTE9HX0tFUk4pKTsKKwkJCWJyZWFrOworCQljYXNlICdMJzoKKwkJCWNvbG9ybW9kZSA9IFVMX0NPTE9STU9ERV9BVVRPOworCQkJaWYgKG9wdGFyZykKKwkJCQljb2xvcm1vZGUgPSBjb2xvcm1vZGVfb3JfZXJyKG9wdGFyZywKKwkJCQkJCV8oInVuc3VwcG9ydGVkIGNvbG9yIG1vZGUiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnbCc6CisJCQljdGwuZmx0cl9sZXY9IDE7CisJCQlpZiAoc3RyaW5nX3RvX2JpdGFycmF5KG9wdGFyZywKKwkJCQkJICAgICBjdGwubGV2ZWxzLCBwYXJzZV9sZXZlbCkgPCAwKQorCQkJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQljdGwuYWN0aW9uID0gU1lTTE9HX0FDVElPTl9DT05TT0xFX0xFVkVMOworCQkJY29uc29sZV9sZXZlbCA9IHBhcnNlX2xldmVsKG9wdGFyZywgMCk7CisJCQlicmVhazsKKwkJY2FzZSAnUCc6CisJCQlub3BhZ2VyID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdyJzoKKwkJCWN0bC5yYXcgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ1MnOgorCQkJY3RsLm1ldGhvZCA9IERNRVNHX01FVEhPRF9TWVNMT0c7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQljdGwuYnVmc2l6ZSA9IHN0cnRvdTMyX29yX2VycihvcHRhcmcsCisJCQkJCV8oImludmFsaWQgYnVmZmVyIHNpemUgYXJndW1lbnQiKSk7CisJCQlpZiAoY3RsLmJ1ZnNpemUgPCA0MDk2KQorCQkJCWN0bC5idWZzaXplID0gNDA5NjsKKwkJCWJyZWFrOworCQljYXNlICdUJzoKKwkJCWN0bC50aW1lX2ZtdCA9IERNRVNHX1RJTUVGVE1fQ1RJTUU7CisJCQlicmVhazsKKwkJY2FzZSAndCc6CisJCQljdGwudGltZV9mbXQgPSBETUVTR19USU1FRlRNX05PTkU7CisJCQlicmVhazsKKwkJY2FzZSAndSc6CisJCQljdGwuZmx0cl9mYWMgPSAxOworCQkJZm9yIChuID0gMTsgKHNpemVfdCkgbiA8IEFSUkFZX1NJWkUoZmFjaWxpdHlfbmFtZXMpOyBuKyspCisJCQkJc2V0Yml0KGN0bC5mYWNpbGl0aWVzLCBuKTsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAndyc6CisJCQljdGwuZm9sbG93ID0gMTsKKwkJCWJyZWFrOworCQljYXNlICd4JzoKKwkJCWN0bC5kZWNvZGUgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX1RJTUVfRk9STUFUOgorCQkJY3RsLnRpbWVfZm10ID0gd2hpY2hfdGltZV9mb3JtYXQob3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICc/JzoKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKHN0ZGVycik7CisJCX0KKwl9CisJYXJnYyAtPSBvcHRpbmQ7CisJYXJndiArPSBvcHRpbmQ7CisKKwlpZiAoYXJnYyA+IDEpCisJCXVzYWdlKHN0ZGVycik7CisKKwlpZiAoKGlzX3RpbWVmbXQoJmN0bCwgUkVMVElNRSkgfHwKKwkgICAgIGlzX3RpbWVmbXQoJmN0bCwgQ1RJTUUpICAgfHwKKwkgICAgIGlzX3RpbWVmbXQoJmN0bCwgSVNPODYwMSkpCisJICAgICYmIGRtZXNnX2dldF9ib290X3RpbWUoJmN0bC5ib290X3RpbWUpICE9IDApCisJCWN0bC50aW1lX2ZtdCA9IERNRVNHX1RJTUVGVE1fTk9ORTsKKworCWlmIChkZWx0YSkKKwkJc3dpdGNoIChjdGwudGltZV9mbXQpIHsKKwkJY2FzZSBETUVTR19USU1FRlRNX0NUSU1FOgorCQkJY3RsLnRpbWVfZm10ID0gRE1FU0dfVElNRUZUTV9DVElNRV9ERUxUQTsKKwkJCWJyZWFrOworCQljYXNlIERNRVNHX1RJTUVGVE1fVElNRToKKwkJCWN0bC50aW1lX2ZtdCA9IERNRVNHX1RJTUVGVE1fVElNRV9ERUxUQTsKKwkJCWJyZWFrOworCQljYXNlIERNRVNHX1RJTUVGVE1fSVNPODYwMToKKwkJCXdhcm54KF8oIi0tc2hvdy1kZWx0YSBpcyBpZ25vcmVkIHdoZW4gdXNlZCB0b2dldGhlciB3aXRoIGlzbzg2MDEgdGltZSBmb3JtYXQiKSk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWN0bC50aW1lX2ZtdCA9IERNRVNHX1RJTUVGVE1fREVMVEE7CisJCX0KKworCisJY3RsLmNvbG9yID0gY29sb3JzX2luaXQoY29sb3Jtb2RlLCAiZG1lc2ciKSA/IDEgOiAwOworCWlmIChjdGwuZm9sbG93KQorCQlub3BhZ2VyID0gMTsKKwljdGwucGFnZXIgPSBub3BhZ2VyID8gMCA6IGN0bC5wYWdlcjsKKwlpZiAoY3RsLnBhZ2VyKQorCQlwYWdlcl9yZWRpcmVjdCgpOworCisJc3dpdGNoIChjdGwuYWN0aW9uKSB7CisJY2FzZSBTWVNMT0dfQUNUSU9OX1JFQURfQUxMOgorCWNhc2UgU1lTTE9HX0FDVElPTl9SRUFEX0NMRUFSOgorCQlpZiAoY3RsLm1ldGhvZCA9PSBETUVTR19NRVRIT0RfS01TRyAmJiBpbml0X2ttc2coJmN0bCkgIT0gMCkKKwkJCWN0bC5tZXRob2QgPSBETUVTR19NRVRIT0RfU1lTTE9HOworCisJCWlmIChjdGwucmF3CisJCSAgICAmJiBjdGwubWV0aG9kICE9IERNRVNHX01FVEhPRF9LTVNHCisJCSAgICAmJiAoY3RsLmZsdHJfbGV2IHx8IGN0bC5mbHRyX2ZhYykpCisJCQkgICAgZXJyeChFWElUX0ZBSUxVUkUsIF8oIi0tcmF3IGNhbiBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1sZXZlbCBvciAiCisJCQkJICItLWZhY2lsaXR5IG9ubHkgd2hlbiByZWFkaW5nIG1lc3NhZ2VzIGZyb20gL2Rldi9rbXNnIikpOworCQlpZiAoY3RsLnBhZ2VyKQorCQkJcGFnZXJfcmVkaXJlY3QoKTsKKwkJbiA9IHJlYWRfYnVmZmVyKCZjdGwsICZidWYpOworCQlpZiAobiA+IDApCisJCQlwcmludF9idWZmZXIoJmN0bCwgYnVmLCBuKTsKKwkJaWYgKCFjdGwubW1hcF9idWZmKQorCQkJZnJlZShidWYpOworCQlpZiAobiA8IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJyZWFkIGtlcm5lbCBidWZmZXIgZmFpbGVkIikpOworCQlpZiAoY3RsLmttc2cgPj0gMCkKKwkJCWNsb3NlKGN0bC5rbXNnKTsKKwkJYnJlYWs7CisJY2FzZSBTWVNMT0dfQUNUSU9OX0NMRUFSOgorCWNhc2UgU1lTTE9HX0FDVElPTl9DT05TT0xFX09GRjoKKwljYXNlIFNZU0xPR19BQ1RJT05fQ09OU09MRV9PTjoKKwkJa2xvZ19yYyA9IGtsb2djdGwoY3RsLmFjdGlvbiwgTlVMTCwgMCk7CisJCWJyZWFrOworCWNhc2UgU1lTTE9HX0FDVElPTl9DT05TT0xFX0xFVkVMOgorCQlrbG9nX3JjID0ga2xvZ2N0bChjdGwuYWN0aW9uLCBOVUxMLCBjb25zb2xlX2xldmVsKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuc3VwcG9ydGVkIGNvbW1hbmQiKSk7CisJCWJyZWFrOworCX0KKworCisJaWYgKGtsb2dfcmMpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImtsb2djdGwgZmFpbGVkIikpOworCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9lamVjdC4xIGIvc3lzLXV0aWxzL2VqZWN0LjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWUwYjQwYwotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9lamVjdC4xCkBAIC0wLDAgKzEsMTg3IEBACisuXCIgQ29weXJpZ2h0IChDKSAxOTk0LTIwMDUgSmVmZiBUcmFudGVyICh0cmFudGVyQHBvYm94LmNvbSkKKy5cIiBDb3B5cmlnaHQgKEMpIDIwMTIgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisuXCIKKy5cIiBJdCBtYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEdOVSBQdWJsaWMgTGljZW5zZSwgdmVyc2lvbiAyLCBvcgorLlwiIGFueSBoaWdoZXIgdmVyc2lvbi4gU2VlIHNlY3Rpb24gQ09QWUlORyBvZiB0aGUgR05VIFB1YmxpYyBsaWNlbnNlCisuXCIgZm9yIGNvbmRpdGlvbnMgdW5kZXIgd2hpY2ggdGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkLgorLlRIIEVKRUNUIDEgIkFwcmlsIDIwMTIiICJMaW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQorZWplY3QgXC0gZWplY3QgcmVtb3ZhYmxlIG1lZGlhCisuU0ggU1lOT1BTSVMKKy5CIGVqZWN0Citbb3B0aW9uc10KKy5JUiBkZXZpY2UgfCBtb3VudHBvaW50CisuU0ggREVTQ1JJUFRJT04KKy5CIGVqZWN0CithbGxvd3MgcmVtb3ZhYmxlIG1lZGlhICh0eXBpY2FsbHkgYSBDRC1ST00sIGZsb3BweSBkaXNrLCB0YXBlLCBKQVosIFpJUCBvciBVU0IKK2Rpc2spIHRvIGJlIGVqZWN0ZWQgdW5kZXIgc29mdHdhcmUgY29udHJvbC4gIFRoZSBjb21tYW5kIGNhbiBhbHNvIGNvbnRyb2wgc29tZQorbXVsdGktZGlzYyBDRC1ST00gY2hhbmdlcnMsIHRoZSBhdXRvLWVqZWN0IGZlYXR1cmUgc3VwcG9ydGVkIGJ5IHNvbWUgZGV2aWNlcywKK2FuZCBjbG9zZSB0aGUgZGlzYyB0cmF5IG9mIHNvbWUgQ0QtUk9NIGRyaXZlcy4KKy5QUAorVGhlIGRldmljZSBjb3JyZXNwb25kaW5nIHRvIFxmSWRldmljZVxmUCBvciBcZkltb3VudHBvaW50XGZQIGlzIGVqZWN0ZWQuICBJZiBubworbmFtZSBpcyBzcGVjaWZpZWQsIHRoZSBkZWZhdWx0IG5hbWUgXGZCL2Rldi9jZHJvbVxmUiBpcyB1c2VkLiAgVGhlIGRldmljZSBtYXkgYmUKK2FkZHJlc3NlZCBieSBkZXZpY2UgbmFtZSAoZS5nLiAnc2RhJyksIGRldmljZSBwYXRoIChlLmcuICcvZGV2L3NkYScpLAorVVVJRD1cZkl1dWlkXGZSIG9yIExBQkVMPVxmSWxhYmVsXGZSIHRhZ3MuCisuUFAKK1RoZXJlIGFyZSBmb3VyIGRpZmZlcmVudCBtZXRob2RzIG9mIGVqZWN0aW5nLCBkZXBlbmRpbmcgb24gd2hldGhlciB0aGUgZGV2aWNlCitpcyBhIENELVJPTSwgU0NTSSBkZXZpY2UsIHJlbW92YWJsZSBmbG9wcHksIG9yIHRhcGUuICBCeSBkZWZhdWx0IFxmQmVqZWN0XGZSIHRyaWVzCithbGwgZm91ciBtZXRob2RzIGluIG9yZGVyIHVudGlsIGl0IHN1Y2NlZWRzLgorLlBQCitJZiBhIGRldmljZSBwYXJ0aXRpb24gaXMgc3BlY2lmaWVkLCB0aGUgd2hvbGUtZGlzayBkZXZpY2UgaXMgdXNlZC4gIElmIHRoZSBkZXZpY2UKK29yIGEgZGV2aWNlIHBhcnRpdGlvbiBpcyBjdXJyZW50bHkgbW91bnRlZCwgaXQgaXMgdW5tb3VudGVkIGJlZm9yZSBlamVjdGluZy4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLWEgLCAiIFwtXC1hdXRvIG9uIiB8IG9mZgorVGhpcyBvcHRpb24gY29udHJvbHMgdGhlIGF1dG8tZWplY3QgbW9kZSwgc3VwcG9ydGVkIGJ5IHNvbWUgZGV2aWNlcy4gIFdoZW4KK2VuYWJsZWQsIHRoZSBkcml2ZSBhdXRvbWF0aWNhbGx5IGVqZWN0cyB3aGVuIHRoZSBkZXZpY2UgaXMgY2xvc2VkLgorLlRQCisuQlIgXC1jICwgIiBcLVwtY2hhbmdlcnNsb3QgIiBcZklzbG90CitXaXRoIHRoaXMgb3B0aW9uIGEgQ0Qgc2xvdCBjYW4gYmUgc2VsZWN0ZWQgZnJvbSBhbiBBVEFQSS9JREUgQ0QtUk9NIGNoYW5nZXIuCitMaW51eCAyLjAgb3IgaGlnaGVyIGlzIHJlcXVpcmVkIHRvIHVzZSB0aGlzIGZlYXR1cmUuICBUaGUgQ0QtUk9NIGRyaXZlIGNhbm5vdAorYmUgaW4gdXNlIChtb3VudGVkIGRhdGEgQ0Qgb3IgcGxheWluZyBhIG11c2ljIENEKSBmb3IgYSBjaGFuZ2UgcmVxdWVzdCB0byB3b3JrLgorUGxlYXNlIGFsc28gbm90ZSB0aGF0IHRoZSBmaXJzdCBzbG90IG9mIHRoZSBjaGFuZ2VyIGlzIHJlZmVycmVkIHRvIGFzIDAsIG5vdCAxLgorLlRQCisuQlIgXC1kICwgIiBcLVwtZGVmYXVsdCIKK0xpc3QgdGhlIGRlZmF1bHQgZGV2aWNlIG5hbWUuCisuVFAKKy5CUiBcLUYgLCAiIFwtXC1mb3JjZSIKK0ZvcmNlIGVqZWN0LCBkb24ndCBjaGVjayBkZXZpY2UgdHlwZS4KKy5UUAorLkJSIFwtZiAsICIgXC1cLWZsb3BweSIKK1RoaXMgb3B0aW9uIHNwZWNpZmllcyB0aGF0IHRoZSBkcml2ZSBzaG91bGQgYmUgZWplY3RlZCB1c2luZyBhIHJlbW92YWJsZSBmbG9wcHkKK2Rpc2sgZWplY3QgY29tbWFuZC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaSAsICIgXC1cLW1hbnVhbGVqZWN0IG9uIiB8IG9mZgorVGhpcyBvcHRpb24gY29udHJvbHMgbG9ja2luZyBvZiB0aGUgaGFyZHdhcmUgZWplY3QgYnV0dG9uLiAgV2hlbiBlbmFibGVkLCB0aGUKK2RyaXZlIHdpbGwgbm90IGJlIGVqZWN0ZWQgd2hlbiB0aGUgYnV0dG9uIGlzIHByZXNzZWQuICBUaGlzIGlzIHVzZWZ1bCB3aGVuIHlvdQorYXJlIGNhcnJ5aW5nIGEgbGFwdG9wIGluIGEgYmFnIG9yIGNhc2UgYW5kIGRvbid0IHdhbnQgaXQgdG8gZWplY3QgaWYgdGhlIGJ1dHRvbgoraXMgaW5hZHZlcnRlbnRseSBwcmVzc2VkLgorLlRQCisuQlIgXC1NICwgIiBcLVwtbm9cLXBhcnRpdGlvbnNcLXVubW91bnQiCitUaGUgb3B0aW9uIHRlbGxzIGVqZWN0IHRvIG5vdCB0cnkgdG8gdW5tb3VudCBvdGhlciBwYXJ0aXRpb25zIG9uIHBhcnRpdGlvbmVkCitkZXZpY2VzLiAgSWYgYW5vdGhlciBwYXJ0aXRpb24gaXMgc3RpbGwgbW91bnRlZCwgdGhlIHByb2dyYW0gd2lsbCBub3QgYXR0ZW1wdAordG8gZWplY3QgdGhlIG1lZGlhLiAgSXQgd2lsbCBhdHRlbXB0IHRvIHVubW91bnQgb25seSB0aGUgZGV2aWNlIG9yIG1vdW50cG9pbnQKK2dpdmVuIG9uIHRoZSBjb21tYW5kIGxpbmUuCisuVFAKKy5CUiBcLW0gLCAiIFwtXC1ub1wtdW5tb3VudCIKK1RoZSBvcHRpb24gdGVsbHMgZWplY3QgdG8gbm90IHRyeSB0byB1bm1vdW50IGF0IGFsbC4KKy5UUAorLkJSIFwtbiAsICIgXC1cLW5vb3AiCitXaXRoIHRoaXMgb3B0aW9uIHRoZSBzZWxlY3RlZCBkZXZpY2UgaXMgZGlzcGxheWVkIGJ1dCBubyBhY3Rpb24gaXMgcGVyZm9ybWVkLgorLlRQCisuQlIgXC1wICwgIiBcLVwtcHJvYyIKK1RoaXMgb3B0aW9uIGFsbG93cyB5b3UgdG8gdXNlIC9wcm9jL21vdW50cyBpbnN0ZWFkIC9ldGMvbXRhYi4gIEl0IGFsc28gcGFzc2VzIHRoZQorXGZCXC1uXGZSIG9wdGlvbiB0byBcZkJ1bW91bnRcZlIoOCkuCisuVFAKKy5CUiBcLXEgLCAiIFwtXC10YXBlIgorVGhpcyBvcHRpb24gc3BlY2lmaWVzIHRoYXQgdGhlIGRyaXZlIHNob3VsZCBiZSBlamVjdGVkIHVzaW5nIGEgdGFwZSBkcml2ZQorb2ZmbGluZSBjb21tYW5kLgorLlRQCisuQlIgXC1yICwgIiBcLVwtY2Ryb20iCitUaGlzIG9wdGlvbiBzcGVjaWZpZXMgdGhhdCB0aGUgZHJpdmUgc2hvdWxkIGJlIGVqZWN0ZWQgdXNpbmcgYSBDRFJPTSBlamVjdAorY29tbWFuZC4KKy5UUAorLkJSIFwtcyAsICIgXC1cLXNjc2kiCitUaGlzIG9wdGlvbiBzcGVjaWZpZXMgdGhhdCB0aGUgZHJpdmUgc2hvdWxkIGJlIGVqZWN0ZWQgdXNpbmcgU0NTSSBjb21tYW5kcy4KKy5UUAorLkJSIFwtVCAsICIgXC1cLXRyYXl0b2dnbGUiCitXaXRoIHRoaXMgb3B0aW9uIHRoZSBkcml2ZSBpcyBnaXZlbiBhIENELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgaWYgaXQncyBvcGVuZWQsCithbmQgYSBDRC1ST00gdHJheSBlamVjdCBjb21tYW5kIGlmIGl0J3MgY2xvc2VkLiAgTm90IGFsbCBkZXZpY2VzIHN1cHBvcnQgdGhpcworY29tbWFuZCwgYmVjYXVzZSBpdCB1c2VzIHRoZSBhYm92ZSBDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kLgorLlRQCisuQlIgXC10ICwgIiBcLVwtdHJheWNsb3NlIgorV2l0aCB0aGlzIG9wdGlvbiB0aGUgZHJpdmUgaXMgZ2l2ZW4gYSBDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kLiAgTm90IGFsbAorZGV2aWNlcyBzdXBwb3J0IHRoaXMgY29tbWFuZC4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLXYgLCAiIFwtXC12ZXJib3NlIgorUnVuIGluIHZlcmJvc2UgbW9kZTsgbW9yZSBpbmZvcm1hdGlvbiBpcyBkaXNwbGF5ZWQgYWJvdXQgd2hhdCB0aGUgY29tbWFuZCBpcworZG9pbmcuCisuVFAKKy5CUiBcLVggLCAiIFwtXC1saXN0c3BlZWQiCitXaXRoIHRoaXMgb3B0aW9uIHRoZSBDRC1ST00gZHJpdmUgd2lsbCBiZSBwcm9iZWQgdG8gZGV0ZWN0IHRoZSBhdmFpbGFibGUKK3NwZWVkcy4gIFRoZSBvdXRwdXQgaXMgYSBsaXN0IG9mIHNwZWVkcyB3aGljaCBjYW4gYmUgdXNlZCBhcyBhbiBhcmd1bWVudCBvZiB0aGUKK1xmQlwteFxmUiBvcHRpb24uICBUaGlzIG9ubHkgd29ya3Mgd2l0aCBMaW51eCAyLjYuMTMgb3IgaGlnaGVyLCBvbiBwcmV2aW91cyB2ZXJzaW9ucworc29sZWx5IHRoZSBtYXhpbXVtIHNwZWVkIHdpbGwgYmUgcmVwb3J0ZWQuICBBbHNvIG5vdGUgdGhhdCBzb21lIGRyaXZlcyBtYXkgbm90Citjb3JyZWN0bHkgcmVwb3J0IHRoZSBzcGVlZCBhbmQgdGhlcmVmb3JlIHRoaXMgb3B0aW9uIGRvZXMgbm90IHdvcmsgd2l0aCB0aGVtLgorLlRQCisuQlIgXC14ICwgIiBcLVwtY2RzcGVlZCAiIFxmSXNwZWVkCitXaXRoIHRoaXMgb3B0aW9uIHRoZSBkcml2ZSBpcyBnaXZlbiBhIENELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZC4gIFRoZQorLkkgc3BlZWQKK2FyZ3VtZW50IGlzIGEgbnVtYmVyIGluZGljYXRpbmcgdGhlIGRlc2lyZWQgc3BlZWQgKGUuZy4gOCBmb3IgOFggc3BlZWQpLCBvciAwCitmb3IgbWF4aW11bSBkYXRhIHJhdGUuICBOb3QgYWxsIGRldmljZXMgc3VwcG9ydCB0aGlzIGNvbW1hbmQgYW5kIHlvdSBjYW4gb25seQorc3BlY2lmeSBzcGVlZHMgdGhhdCB0aGUgZHJpdmUgaXMgY2FwYWJsZSBvZi4gIEV2ZXJ5IHRpbWUgdGhlIG1lZGlhIGlzIGNoYW5nZWQKK3RoaXMgb3B0aW9uIGlzIGNsZWFyZWQuICBUaGlzIG9wdGlvbiBjYW4gYmUgdXNlZCBhbG9uZSwgb3Igd2l0aCB0aGUKK1xmQlwtdFxmUiBhbmQgXGZCXC1jXGZSIG9wdGlvbnMuCisuU0ggRVhJVCBTVEFUVVMKK1JldHVybnMgMCBpZiBvcGVyYXRpb24gd2FzIHN1Y2Nlc3NmdWwsIDEgaWYgb3BlcmF0aW9uIGZhaWxlZCBvciBjb21tYW5kIHN5bnRheAord2FzIG5vdCB2YWxpZC4KKy5TSCBOT1RFUworLkIgZWplY3QKK29ubHkgd29ya3Mgd2l0aCBkZXZpY2VzIHRoYXQgc3VwcG9ydCBvbmUgb3IgbW9yZSBvZiB0aGUgZm91ciBtZXRob2RzIG9mCitlamVjdGluZy4gIFRoaXMgaW5jbHVkZXMgbW9zdCBDRC1ST00gZHJpdmVzIChJREUsIFNDU0ksIGFuZCBwcm9wcmlldGFyeSksIHNvbWUKK1NDU0kgdGFwZSBkcml2ZXMsIEpBWiBkcml2ZXMsIFpJUCBkcml2ZXMgKHBhcmFsbGVsIHBvcnQsIFNDU0ksIGFuZCBJREUKK3ZlcnNpb25zKSwgYW5kIExTMTIwIHJlbW92YWJsZSBmbG9wcGllcy4gIFVzZXJzIGhhdmUgYWxzbyByZXBvcnRlZCBzdWNjZXNzIHdpdGgKK2Zsb3BweSBkcml2ZXMgb24gU3VuIFNQQVJDIGFuZCBBcHBsZSBNYWNpbnRvc2ggc3lzdGVtcy4gIElmCisuQiBlamVjdAorZG9lcyBub3Qgd29yaywgaXQgaXMgbW9zdCBsaWtlbHkgYSBsaW1pdGF0aW9uIG9mIHRoZSBrZXJuZWwgZHJpdmVyIGZvciB0aGUKK2RldmljZSBhbmQgbm90IHRoZQorLkIgZWplY3QKK3Byb2dyYW0gaXRzZWxmLgorLlBQCitUaGUgXGZCXC1yXGZSLCBcZkJcLXNcZlIsIFxmQlwtZlxmUiwgYW5kIFxmQlwtcVxmUiBvcHRpb25zIGFsbG93IGNvbnRyb2xsaW5nCit3aGljaCBtZXRob2RzIGFyZSB1c2VkIHRvCitlamVjdC4gIE1vcmUgdGhhbiBvbmUgbWV0aG9kIGNhbiBiZSBzcGVjaWZpZWQuICBJZiBub25lIG9mIHRoZXNlIG9wdGlvbnMgYXJlCitzcGVjaWZpZWQsIGl0IHRyaWVzIGFsbCBmb3VyICh0aGlzIHdvcmtzIGZpbmUgaW4gbW9zdCBjYXNlcykuCisuUFAKKy5CIGVqZWN0CittYXkgbm90IGFsd2F5cyBiZSBhYmxlIHRvIGRldGVybWluZSBpZiB0aGUgZGV2aWNlIGlzIG1vdW50ZWQgKGUuZy4gaWYgaXQgaGFzCitzZXZlcmFsIG5hbWVzKS4gIElmIHRoZSBkZXZpY2UgbmFtZSBpcyBhIHN5bWJvbGljIGxpbmssCisuQiBlamVjdAord2lsbCBmb2xsb3cgdGhlIGxpbmsgYW5kIHVzZSB0aGUgZGV2aWNlIHRoYXQgaXQgcG9pbnRzIHRvLgorLlBQCitJZgorLkIgZWplY3QKK2RldGVybWluZXMgdGhhdCB0aGUgZGV2aWNlIGNhbiBoYXZlIG11bHRpcGxlIHBhcnRpdGlvbnMsIGl0IHdpbGwgYXR0ZW1wdCB0bwordW5tb3VudCBhbGwgbW91bnRlZCBwYXJ0aXRpb25zIG9mIHRoZSBkZXZpY2UgYmVmb3JlIGVqZWN0aW5nIChzZWUgYWxzbworXGZCLS1uby1wYXJ0aXRpb25zLXVubW91bnRcZlIpLiAgSWYgYW4gdW5tb3VudCBmYWlscywgdGhlIHByb2dyYW0gd2lsbCBub3QKK2F0dGVtcHQgdG8gZWplY3QgdGhlIG1lZGlhLgorLlBQCitZb3UgY2FuIGVqZWN0IGFuIGF1ZGlvIENELiAgU29tZSBDRC1ST00gZHJpdmVzIHdpbGwgcmVmdXNlIHRvIG9wZW4gdGhlIHRyYXkgaWYKK3RoZSBkcml2ZSBpcyBlbXB0eS4gIFNvbWUgZGV2aWNlcyBkbyBub3Qgc3VwcG9ydCB0aGUgdHJheSBjbG9zZSBjb21tYW5kLgorLlBQCitJZiB0aGUgYXV0by1lamVjdCBmZWF0dXJlIGlzIGVuYWJsZWQsIHRoZW4gdGhlIGRyaXZlIHdpbGwgYWx3YXlzIGJlIGVqZWN0ZWQKK2FmdGVyIHJ1bm5pbmcgdGhpcyBjb21tYW5kLiAgTm90IGFsbCBMaW51eCBrZXJuZWwgQ0QtUk9NIGRyaXZlcnMgc3VwcG9ydCB0aGUKK2F1dG8tZWplY3QgbW9kZS4gIFRoZXJlIGlzIG5vIHdheSB0byBmaW5kIG91dCB0aGUgc3RhdGUgb2YgdGhlIGF1dG8tZWplY3QgbW9kZS4KKy5QUAorWW91IG5lZWQgYXBwcm9wcmlhdGUgcHJpdmlsZWdlcyB0byBhY2Nlc3MgdGhlIGRldmljZSBmaWxlcy4gIFJ1bm5pbmcgYXMgcm9vdCBpcworcmVxdWlyZWQgdG8gZWplY3Qgc29tZSBkZXZpY2VzIChlLmcuIFNDU0kgZGV2aWNlcykuCisuU0ggQVVUSE9SUworLk1UIHRyYW50ZXJAXDpwb2JveC5jb20KK0plZmYgVHJhbnRlcgorLk1FCistIG9yaWdpbmFsIGF1dGhvci4KKy5icgorLk1UIGt6YWtAXDpyZWRoYXQuY29tCitLYXJlbCBaYWsKKy5NRQorYW5kCisuTVQgbWx1c2NvbkBcOnJlZGhhdC5jb20KK01pY2hhbCBMdXNjb24KKy5NRQorLSB1dGlsLWxpbnV4IHZlcnNpb24uCisuU0ggU0VFIEFMU08KKy5CUiBmaW5kbW50ICg4KSwKKy5CUiBsc2JsayAoOCksCisuQlIgbW91bnQgKDgpLAorLkJSIHVtb3VudCAoOCkKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBlamVjdCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBmdHA6Ly9cOmZ0cC5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9lamVjdC5jIGIvc3lzLXV0aWxzL2VqZWN0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDA4YjRmZQotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9lamVjdC5jCkBAIC0wLDAgKzEsMTA0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMTk5NC0yMDA1IEplZmYgVHJhbnRlciAodHJhbnRlckBwb2JveC5jb20pCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIE1pY2hhbCBMdXNjb24gPG1sdXNjb25AcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQorICovCisKKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8ZXJyLmg+CisjaW5jbHVkZSA8c3RkYXJnLmg+CisKKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHJlZ2V4Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyNpbmNsdWRlIDxzeXMvd2FpdC5oPgorI2luY2x1ZGUgPHN5cy9tdGlvLmg+CisjaW5jbHVkZSA8bGludXgvY2Ryb20uaD4KKyNpbmNsdWRlIDxsaW51eC9mZC5oPgorI2luY2x1ZGUgPHN5cy9tb3VudC5oPgorI2luY2x1ZGUgPHNjc2kvc2NzaS5oPgorI2luY2x1ZGUgPHNjc2kvc2cuaD4KKyNpbmNsdWRlIDxzY3NpL3Njc2lfaW9jdGwuaD4KKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorCisjaW5jbHVkZSA8bGlibW91bnQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAic3lzZnMuaCIKKyNpbmNsdWRlICJtb25vdG9uaWMuaCIKKworLyoKKyAqIHNnX2lvX2hkcl90IGRyaXZlcl9zdGF0dXMgLS0gc2VlIGtlcm5lbCBpbmNsdWRlL3Njc2kvc2NzaS5oCisgKi8KKyNpZm5kZWYgRFJJVkVSX1NFTlNFCisjIGRlZmluZSBEUklWRVJfU0VOU0UJMHgwOAorI2VuZGlmCisKKworI2RlZmluZSBFSkVDVF9ERUZBVUxUX0RFVklDRSAiL2Rldi9jZHJvbSIKKworCisvKiBVc2VkIGJ5IHRoZSB0b2dnbGVfdHJheSgpIGZ1bmN0aW9uLiBJZiBlamVjdGluZyB0aGUgdHJheSB0YWtlcyB0aGlzCisgKiB0aW1lIG9yIGxlc3MsIHRoZSB0cmF5IHdhcyBwcm9iYWJseSBhbHJlYWR5IGVqZWN0ZWQsIHNvIHdlIGNsb3NlIGl0CisgKiBhZ2Fpbi4KKyAqLworI2RlZmluZSBUUkFZX1dBU19BTFJFQURZX09QRU5fVVNFQ1MgIDIwMDAwMAkvKiBhYm91dCAwLjIgc2Vjb25kcyAqLworCitzdHJ1Y3QgZWplY3RfY29udHJvbCB7CisJc3RydWN0IGxpYm1udF90YWJsZSAqbXRhYjsKKwljaGFyICpkZXZpY2U7CQkJLyogZGV2aWNlIG9yIG1vdW50IHBvaW50IHRvIGJlIGVqZWN0ZWQgKi8KKwlpbnQgZmQ7CQkJCS8qIGZpbGUgZGVzY3JpcHRvciBmb3IgZGV2aWNlICovCisJdW5zaWduZWQgaW50IAkJCS8qIGNvbW1hbmQgZmxhZ3MgYW5kIGFyZ3VtZW50cyAqLworCQlhX29wdGlvbjoxLAorCQljX29wdGlvbjoxLAorCQlkX29wdGlvbjoxLAorCQlGX29wdGlvbjoxLAorCQlmX29wdGlvbjoxLAorCQlpX29wdGlvbjoxLAorCQlNX29wdGlvbjoxLAorCQltX29wdGlvbjoxLAorCQluX29wdGlvbjoxLAorCQlwX29wdGlvbjoxLAorCQlxX29wdGlvbjoxLAorCQlyX29wdGlvbjoxLAorCQlzX29wdGlvbjoxLAorCQlUX29wdGlvbjoxLAorCQl0X29wdGlvbjoxLAorCQl2X29wdGlvbjoxLAorCQlYX29wdGlvbjoxLAorCQl4X29wdGlvbjoxLAorCQlhX2FyZzoxLAorCQlpX2FyZzoxOworCWxvbmcgaW50IGNfYXJnOwkJCS8qIGNoYW5nZXIgc2xvdCBudW1iZXIgKi8KKwlsb25nIGludCB4X2FyZzsJCQkvKiBjZCBzcGVlZCAqLworfTsKKworc3RhdGljIHZvaWQgdmluZm8oY29uc3QgY2hhciAqZm10LCB2YV9saXN0IHZhKQoreworCWZwcmludGYoc3Rkb3V0LCAiJXM6ICIsIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKwl2cHJpbnRmKGZtdCwgdmEpOworCWZwdXRjKCdcbicsIHN0ZG91dCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCB2ZXJib3NlKGNvbnN0IHN0cnVjdCBlamVjdF9jb250cm9sICpjdGwsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworCXZhX2xpc3QgdmE7CisKKwlpZiAoIWN0bC0+dl9vcHRpb24pCisJCXJldHVybjsKKworCXZhX3N0YXJ0KHZhLCBmbXQpOworCXZpbmZvKGZtdCwgdmEpOworCXZhX2VuZCh2YSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBpbmZvKGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworCXZhX2xpc3QgdmE7CisJdmFfc3RhcnQodmEsIGZtdCk7CisJdmluZm8oZm10LCB2YSk7CisJdmFfZW5kKHZhKTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXyAoKF9fbm9yZXR1cm5fXykpIHVzYWdlKEZJTEUgKiBvdXQpCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LAorCQlfKCIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPnw8bW91bnRwb2ludD5dXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkVqZWN0IHJlbW92YWJsZSBtZWRpYS5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWEsIC0tYXV0byA8b258b2ZmPiAgICAgICAgIHR1cm4gYXV0by1lamVjdCBmZWF0dXJlIG9uIG9yIG9mZlxuIgorCQkiIC1jLCAtLWNoYW5nZXJzbG90IDxzbG90PiAgICBzd2l0Y2ggZGlzY3Mgb24gYSBDRC1ST00gY2hhbmdlclxuIgorCQkiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBkaXNwbGF5IGRlZmF1bHQgZGV2aWNlXG4iCisJCSIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIGVqZWN0IGZsb3BweVxuIgorCQkiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBkb24ndCBjYXJlIGFib3V0IGRldmljZSB0eXBlXG4iCisJCSIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIHRvZ2dsZSBtYW51YWwgZWplY3QgcHJvdGVjdGlvbiBvbi9vZmZcbiIKKwkJIiAtbSwgLS1uby11bm1vdW50ICAgICAgICAgICAgZG8gbm90IHVubW91bnQgZGV2aWNlIGV2ZW4gaWYgaXQgaXMgbW91bnRlZFxuIgorCQkiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBkbyBub3QgdW5tb3VudCBhbm90aGVyIHBhcnRpdGlvbnNcbiIKKwkJIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgZG9uJ3QgZWplY3QsIGp1c3Qgc2hvdyBkZXZpY2UgZm91bmRcbiIKKwkJIiAtcCwgLS1wcm9jICAgICAgICAgICAgICAgICAgdXNlIC9wcm9jL21vdW50cyBpbnN0ZWFkIG9mIC9ldGMvbXRhYlxuIgorCQkiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICBlamVjdCB0YXBlXG4iCisJCSIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIGVqZWN0IENELVJPTVxuIgorCQkiIC1zLCAtLXNjc2kgICAgICAgICAgICAgICAgICBlamVjdCBTQ1NJIGRldmljZVxuIgorCQkiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICBjbG9zZSB0cmF5XG4iCisJCSIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIHRvZ2dsZSB0cmF5XG4iCisJCSIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIGVuYWJsZSB2ZXJib3NlIG91dHB1dFxuIgorCQkiIC14LCAtLWNkc3BlZWQgPHNwZWVkPiAgICAgICBzZXQgQ0QtUk9NIG1heCBzcGVlZFxuIgorCQkiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICBsaXN0IENELVJPTSBhdmFpbGFibGUgc3BlZWRzXG4iKSwKKwkJb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dCk7CisKKwlmcHV0cyhfKCJcbkJ5IGRlZmF1bHQgdHJpZXMgLXIsIC1zLCAtZiwgYW5kIC1xIGluIG9yZGVyIHVudGlsIHN1Y2Nlc3MuXG4iKSwgb3V0KTsKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoImVqZWN0KDEpIikpOworCisJZXhpdChvdXQgPT0gc3RkZXJyID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTKTsKK30KKworCisvKiBIYW5kbGUgY29tbWFuZCBsaW5lIG9wdGlvbnMuICovCitzdGF0aWMgdm9pZCBwYXJzZV9hcmdzKHN0cnVjdCBlamVjdF9jb250cm9sICpjdGwsIGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nX29wdHNbXSA9CisJeworCQl7ImF1dG8iLAlyZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2EnfSwKKwkJeyJjZHJvbSIsCW5vX2FyZ3VtZW50LAkgICBOVUxMLCAncid9LAorCQl7ImNkc3BlZWQiLAlyZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3gnfSwKKwkJeyJjaGFuZ2Vyc2xvdCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnYyd9LAorCQl7ImRlZmF1bHQiLAlub19hcmd1bWVudCwJICAgTlVMTCwgJ2QnfSwKKwkJeyJmbG9wcHkiLAlub19hcmd1bWVudCwJICAgTlVMTCwgJ2YnfSwKKwkJeyJmb3JjZSIsICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnRid9LAorCQl7ImhlbHAiLAlub19hcmd1bWVudCwJICAgTlVMTCwgJ2gnfSwKKwkJeyJsaXN0c3BlZWQiLCAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnWCd9LAorCQl7Im1hbnVhbGVqZWN0IiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdpJ30sCisJCXsibm9vcCIsCW5vX2FyZ3VtZW50LAkgICBOVUxMLCAnbid9LAorCQl7Im5vLXVubW91bnQiLAlub19hcmd1bWVudCwJICAgTlVMTCwgJ20nfSwKKwkJeyJuby1wYXJ0aXRpb25zLXVubW91bnQiLCBub19hcmd1bWVudCwgTlVMTCwgJ00nIH0sCisJCXsicHJvYyIsCW5vX2FyZ3VtZW50LAkgICBOVUxMLCAncCd9LAorCQl7InNjc2kiLAlub19hcmd1bWVudCwJICAgTlVMTCwgJ3MnfSwKKwkJeyJ0YXBlIiwJbm9fYXJndW1lbnQsCSAgIE5VTEwsICdxJ30sCisJCXsidHJheWNsb3NlIiwJbm9fYXJndW1lbnQsCSAgIE5VTEwsICd0J30sCisJCXsidHJheXRvZ2dsZSIsCW5vX2FyZ3VtZW50LAkgICBOVUxMLCAnVCd9LAorCQl7InZlcmJvc2UiLAlub19hcmd1bWVudCwJICAgTlVMTCwgJ3YnfSwKKwkJeyJ2ZXJzaW9uIiwJbm9fYXJndW1lbnQsCSAgIE5VTEwsICdWJ30sCisJCXswLCAwLCAwLCAwfQorCX07CisJaW50IGM7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LAorCQkJCSJhOmM6aTp4OmRmRmhucXJzdFRYdlZwbU0iLCBsb25nX29wdHMsIE5VTEwpKSAhPSAtMSkgeworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnYSc6CisJCQljdGwtPmFfb3B0aW9uID0gMTsKKwkJCWN0bC0+YV9hcmcgPSBwYXJzZV9zd2l0Y2gob3B0YXJnLCBfKCJhcmd1bWVudCBlcnJvciIpLAorCQkJCQkJIm9uIiwgIm9mZiIsICAiMSIsICIwIiwgIE5VTEwpOworCQkJYnJlYWs7CisJCWNhc2UgJ2MnOgorCQkJY3RsLT5jX29wdGlvbiA9IDE7CisJCQljdGwtPmNfYXJnID0gc3RydG91bF9vcl9lcnIob3B0YXJnLCBfKCJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2hhbmdlcnNsb3QvLWMgb3B0aW9uIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ3gnOgorCQkJY3RsLT54X29wdGlvbiA9IDE7CisJCQljdGwtPnhfYXJnID0gc3RydG91bF9vcl9lcnIob3B0YXJnLCBfKCJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2RzcGVlZC8teCBvcHRpb24iKSk7CisJCQlicmVhazsKKwkJY2FzZSAnZCc6CisJCQljdGwtPmRfb3B0aW9uID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdmJzoKKwkJCWN0bC0+Zl9vcHRpb24gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ0YnOgorCQkJY3RsLT5GX29wdGlvbiA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShzdGRvdXQpOworCQkJYnJlYWs7CisJCWNhc2UgJ2knOgorCQkJY3RsLT5pX29wdGlvbiA9IDE7CisJCQljdGwtPmlfYXJnID0gcGFyc2Vfc3dpdGNoKG9wdGFyZywgXygiYXJndW1lbnQgZXJyb3IiKSwKKwkJCQkJCSJvbiIsICJvZmYiLCAgIjEiLCAiMCIsICBOVUxMKTsKKwkJCWJyZWFrOworCQljYXNlICdtJzoKKwkJCWN0bC0+bV9vcHRpb24gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ00nOgorCQkJY3RsLT5NX29wdGlvbiA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQljdGwtPm5fb3B0aW9uID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdwJzoKKwkJCWN0bC0+cF9vcHRpb24gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3EnOgorCQkJY3RsLT5xX29wdGlvbiA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAncic6CisJCQljdGwtPnJfb3B0aW9uID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdzJzoKKwkJCWN0bC0+c19vcHRpb24gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3QnOgorCQkJY3RsLT50X29wdGlvbiA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnVCc6CisJCQljdGwtPlRfb3B0aW9uID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdYJzoKKwkJCWN0bC0+WF9vcHRpb24gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3YnOgorCQkJY3RsLT52X29wdGlvbiA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQljYXNlICc/JzoKKwkJCXVzYWdlKHN0ZGVycik7CisJCQlicmVhazsKKwkJfQorCX0KKworCS8qIGNoZWNrIGZvciBhIHNpbmdsZSBhZGRpdGlvbmFsIGFyZ3VtZW50ICovCisJaWYgKChhcmdjIC0gb3B0aW5kKSA+IDEpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ0b28gbWFueSBhcmd1bWVudHMiKSk7CisKKwlpZiAoKGFyZ2MgLSBvcHRpbmQpID09IDEpCisJCWN0bC0+ZGV2aWNlID0geHN0cmR1cChhcmd2W29wdGluZF0pOworfQorCisvKgorICogR2l2ZW4gbmFtZSwgc3VjaCBhcyBmb28sIHNlZSBpZiBhbnkgb2YgdGhlIGZvbGxvd2luZyBleGlzdDoKKyAqCisgKiBmb28gKGlmIGZvbyBzdGFydHMgd2l0aCAnLicgb3IgJy8nKQorICogL2Rldi9mb28KKyAqCisgKiBJZiBmb3VuZCwgcmV0dXJuIHRoZSBmdWxsIHBhdGguIElmIG5vdCBmb3VuZCwgcmV0dXJuIDAuCisgKiBSZXR1cm5zIHBvaW50ZXIgdG8gZHluYW1pY2FsbHkgYWxsb2NhdGVkIHN0cmluZy4KKyAqLworc3RhdGljIGNoYXIgKmZpbmRfZGV2aWNlKGNvbnN0IGNoYXIgKm5hbWUpCit7CisJaWYgKCFuYW1lKQorCQlyZXR1cm4gTlVMTDsKKworCWlmICgoKm5hbWUgPT0gJy4nIHx8ICpuYW1lID09ICcvJykgJiYgYWNjZXNzKG5hbWUsIEZfT0spID09IDApCisJCXJldHVybiB4c3RyZHVwKG5hbWUpOworCWVsc2UgeworCQljaGFyIGJ1ZltQQVRIX01BWF07CisKKwkJc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIi9kZXYvJXMiLCBuYW1lKTsKKwkJaWYgKGFjY2VzcyhidWYsIEZfT0spID09IDApCisJCQlyZXR1cm4geHN0cmR1cChidWYpOworCX0KKworCXJldHVybiBOVUxMOworfQorCisvKiBTZXQgb3IgY2xlYXIgYXV0by1lamVjdCBtb2RlLiAqLworc3RhdGljIHZvaWQgYXV0b19lamVjdChjb25zdCBzdHJ1Y3QgZWplY3RfY29udHJvbCAqY3RsKQoreworCWludCBzdGF0dXMgPSAtMTsKKworI2lmIGRlZmluZWQoQ0RST01fU0VUX09QVElPTlMpICYmIGRlZmluZWQoQ0RST01fQ0xFQVJfT1BUSU9OUykKKwlpZiAoY3RsLT5hX2FyZykKKwkJc3RhdHVzID0gaW9jdGwoY3RsLT5mZCwgQ0RST01fU0VUX09QVElPTlMsIENET19BVVRPX0VKRUNUKTsKKwllbHNlCisJCXN0YXR1cyA9IGlvY3RsKGN0bC0+ZmQsIENEUk9NX0NMRUFSX09QVElPTlMsIENET19BVVRPX0VKRUNUKTsKKyNlbHNlCisJZXJybm8gPSBFTk9TWVM7CisjZW5kaWYKKwlpZiAoc3RhdHVzIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSxfKCJDRC1ST00gYXV0by1lamVjdCBjb21tYW5kIGZhaWxlZCIpKTsKK30KKworLyoKKyAqIFN0b3BzIENEUk9NIGZyb20gb3BlbmluZyBvbiBtYW51YWwgZWplY3QgYnV0dG9uIHByZXNzLgorICogVGhpcyBjYW4gYmUgdXNlZnVsIHdoZW4geW91IGNhcnJ5IHlvdXIgbGFwdG9wCisgKiBpbiB5b3VyIGJhZyB3aGlsZSBpdCdzIG9uIGFuZCBubyBDRCBpbnNlcnRlZCBpbiBpdCdzIGRyaXZlLgorICogSW1wbGVtZW50ZWQgYXMgZm91bmQgaW4gRG9jdW1lbnRhdGlvbi9pb2N0bC9jZHJvbS50eHQKKyAqLworc3RhdGljIHZvaWQgbWFudWFsX2VqZWN0KGNvbnN0IHN0cnVjdCBlamVjdF9jb250cm9sICpjdGwpCit7CisJaWYgKGlvY3RsKGN0bC0+ZmQsIENEUk9NX0xPQ0tET09SLCBjdGwtPmlfYXJnKSA8IDApIHsKKwkJc3dpdGNoIChlcnJubykgeworCQljYXNlIEVEUklWRV9DQU5UX0RPX1RISVM6CisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiQ0QtUk9NIGRvb3IgbG9jayBpcyBub3Qgc3VwcG9ydGVkIikpOworCQljYXNlIEVCVVNZOgorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIm90aGVyIHVzZXJzIGhhdmUgdGhlIGRyaXZlIG9wZW4gYW5kIG5vdCBDQVBfU1lTX0FETUlOIikpOworCQlkZWZhdWx0OgorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiQ0QtUk9NIGxvY2sgZG9vciBjb21tYW5kIGZhaWxlZCIpKTsKKwkJfQorCX0KKworCWlmIChjdGwtPmlfYXJnKQorCQlpbmZvKF8oIkNELURyaXZlIG1heSBOT1QgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iKSk7CisJZWxzZQorCQlpbmZvKF8oIkNELURyaXZlIG1heSBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIpKTsKK30KKworLyoKKyAqIENoYW5nZXIgc2VsZWN0LiBDRFJPTV9TRUxFQ1RfRElTQyBpcyBwcmVmZXJyZWQsIG9sZGVyIGtlcm5lbHMgdXNlZAorICogQ0RST01MT0FERlJPTVNMT1QuCisgKi8KK3N0YXRpYyB2b2lkIGNoYW5nZXJfc2VsZWN0KGNvbnN0IHN0cnVjdCBlamVjdF9jb250cm9sICpjdGwpCit7CisjaWZkZWYgQ0RST01fU0VMRUNUX0RJU0MKKwlpZiAoaW9jdGwoY3RsLT5mZCwgQ0RST01fU0VMRUNUX0RJU0MsIGN0bC0+Y19hcmcpIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiQ0QtUk9NIHNlbGVjdCBkaXNjIGNvbW1hbmQgZmFpbGVkIikpOworCisjZWxpZiBkZWZpbmVkIENEUk9NTE9BREZST01TTE9UCisJaWYgKGlvY3RsKGN0bC0+ZmQsIENEUk9NTE9BREZST01TTE9ULCBjdGwtPmNfYXJnKSAhPSAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJDRC1ST00gbG9hZCBmcm9tIHNsb3QgY29tbWFuZCBmYWlsZWQiKSk7CisjZWxzZQorCXdhcm54KF8oIklERS9BVEFQSSBDRC1ST00gY2hhbmdlciBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iKSApOworI2VuZGlmCit9CisKKy8qCisgKiBDbG9zZSB0cmF5LiBOb3Qgc3VwcG9ydGVkIGJ5IG9sZGVyIGtlcm5lbHMuCisgKi8KK3N0YXRpYyB2b2lkIGNsb3NlX3RyYXkoaW50IGZkKQoreworCWludCBzdGF0dXM7CisKKyNpZiBkZWZpbmVkKENEUk9NQ0xPU0VUUkFZKSB8fCBkZWZpbmVkKENESU9DQ0xPU0UpCisjaWYgZGVmaW5lZChDRFJPTUNMT1NFVFJBWSkKKwlzdGF0dXMgPSBpb2N0bChmZCwgQ0RST01DTE9TRVRSQVkpOworI2VsaWYgZGVmaW5lZChDRElPQ0NMT1NFKQorCXN0YXR1cyA9IGlvY3RsKGZkLCBDRElPQ0NMT1NFKTsKKyNlbmRpZgorCWlmIChzdGF0dXMgIT0gMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBmYWlsZWQiKSk7CisjZWxzZQorCXdhcm54KF8oIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIikpOworI2VuZGlmCit9CisKKy8qCisgKiBFamVjdCB1c2luZyBDRFJPTUVKRUNUIGlvY3RsLgorICovCitzdGF0aWMgaW50IGVqZWN0X2Nkcm9tKGludCBmZCkKK3sKKyNpZiBkZWZpbmVkKENEUk9NRUpFQ1QpCisJaW50IHJldCA9IGlvY3RsKGZkLCBDRFJPTV9MT0NLRE9PUiwgMCk7CisJaWYgKHJldCA8IDApCisJCXJldHVybiAwOworCXJldHVybiBpb2N0bChmZCwgQ0RST01FSkVDVCkgPj0gMDsKKyNlbGlmIGRlZmluZWQoQ0RJT0NFSkVDVCkKKwlyZXR1cm4gaW9jdGwoZmQsIENESU9DRUpFQ1QpID49IDA7CisjZWxzZQorCXdhcm54KF8oIkNELVJPTSBlamVjdCB1bnN1cHBvcnRlZCIpKTsKKwllcnJubyA9IEVOT1NZUzsKKwlyZXR1cm4gMDsKKyNlbmRpZgorfQorCisvKgorICogVG9nZ2xlIHRyYXkuCisgKgorICogV3JpdHRlbiBieSBCZW5qYW1pbiBTY2h3ZW5rIDxiZW5qYW1pbnNjaHdlbmtAeWFob28uZGU+IGFuZAorICogU3licmVuIFN0dXZlbCA8c3licmVuQHRoaXJkdG93ZXIuY29tPgorICoKKyAqIE5vdCBzdXBwb3J0ZWQgYnkgb2xkZXIga2VybmVscyBiZWNhdXNlIGl0IG1pZ2h0IHVzZQorICogQ2xvc2VUcmF5KCkuCisgKgorICovCitzdGF0aWMgdm9pZCB0b2dnbGVfdHJheShpbnQgZmQpCit7CisjaWZkZWYgQ0RST01fRFJJVkVfU1RBVFVTCisJLyogRmlyc3QgYXNrIHRoZSBDRFJPTSBmb3IgaW5mbywgb3RoZXJ3aXNlIGZhbGwgYmFjayB0byBtYW51YWwuICAqLworCXN3aXRjaCAoaW9jdGwoZmQsIENEUk9NX0RSSVZFX1NUQVRVUykpIHsKKwljYXNlIENEU19UUkFZX09QRU46CisJCWNsb3NlX3RyYXkoZmQpOworCQlyZXR1cm47CisKKwljYXNlIENEU19OT19ESVNDOgorCWNhc2UgQ0RTX0RJU0NfT0s6CisJCWlmICghZWplY3RfY2Ryb20oZmQpKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgZmFpbGVkIikpOworCQlyZXR1cm47CisJY2FzZSBDRFNfTk9fSU5GTzoKKwkJd2FybngoXygibm8gQ0QtUk9NIGluZm9ybWF0aW9uIGF2YWlsYWJsZSIpKTsKKwkJcmV0dXJuOworCWNhc2UgQ0RTX0RSSVZFX05PVF9SRUFEWToKKwkJd2FybngoXygiQ0QtUk9NIGRyaXZlIGlzIG5vdCByZWFkeSIpKTsKKwkJcmV0dXJuOworCWRlZmF1bHQ6CisJCWFib3J0KCk7CisJfQorI2Vsc2UKKwlzdHJ1Y3QgdGltZXZhbCB0aW1lX3N0YXJ0LCB0aW1lX3N0b3A7CisJaW50IHRpbWVfZWxhcHNlZDsKKworCS8qIFRyeSB0byBvcGVuIHRoZSBDRFJPTSB0cmF5IGFuZCBtZWFzdXJlIHRoZSB0aW1lIHRoZXJlZm9yCisJICogbmVlZGVkLiAgSW4gbXkgZXhwZXJpZW5jZSB0aGUgZnVuY3Rpb24gbmVlZHMgbGVzcyB0aGFuIDAuMDUKKwkgKiBzZWNvbmRzIGlmIHRoZSB0cmF5IHdhcyBhbHJlYWR5IG9wZW4sIGFuZCBhdCBsZWFzdCAxLjUgc2Vjb25kcworCSAqIGlmIGl0IHdhcyBjbG9zZWQuICAqLworCWdldHRpbWVfbW9ub3RvbmljKCZ0aW1lX3N0YXJ0KTsKKworCS8qIFNlbmQgdGhlIENEUk9NRUpFQ1QgY29tbWFuZCB0byB0aGUgZGV2aWNlLiAqLworCWlmICghZWplY3RfY2Ryb20oZmQpKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJDRC1ST00gZWplY3QgY29tbWFuZCBmYWlsZWQiKSk7CisKKwkvKiBHZXQgdGhlIHNlY29uZCB0aW1lc3RhbXAsIHRvIG1lYXN1cmUgdGhlIHRpbWUgbmVlZGVkIHRvIG9wZW4KKwkgKiB0aGUgdHJheS4gICovCisJZ2V0dGltZV9tb25vdG9uaWMoJnRpbWVfc3RvcCk7CisKKwl0aW1lX2VsYXBzZWQgPSAodGltZV9zdG9wLnR2X3NlYyAqIDEwMDAwMDAgKyB0aW1lX3N0b3AudHZfdXNlYykgLQorCQkodGltZV9zdGFydC50dl9zZWMgKiAxMDAwMDAwICsgdGltZV9zdGFydC50dl91c2VjKTsKKworCS8qIElmIHRoZSB0cmF5ICJvcGVuZWQiIHRvbyBmYXN0LCB3ZSBjYW4gYmUgbmVhcmx5IHN1cmUsIHRoYXQgaXQKKwkgKiB3YXMgYWxyZWFkeSBvcGVuLiBJbiB0aGlzIGNhc2UsIGNsb3NlIGl0IG5vdy4gRWxzZSB0aGUgdHJheSB3YXMKKwkgKiBjbG9zZWQgYmVmb3JlLiBUaGlzIHdvdWxkIG1lYW4gdGhhdCB3ZSBhcmUgZG9uZS4gICovCisJaWYgKHRpbWVfZWxhcHNlZCA8IFRSQVlfV0FTX0FMUkVBRFlfT1BFTl9VU0VDUykKKwkJY2xvc2VfdHJheShmZCk7CisjZW5kaWYKK30KKworLyoKKyAqIFNlbGVjdCBTcGVlZCBvZiBDRC1ST00gZHJpdmUuCisgKiBUaGFua3MgdG8gUm9sYW5kIEtyaXZhbmVrIChrcml2YW5la0BmbXBoLnVuaWJhLnNrKQorICogaHR0cDovL2RtcGMuZGJwLmZtcGgudW5pYmEuc2svfmtyaXZhbmVrL2Nkcm9tX3NwZWVkLworICovCitzdGF0aWMgdm9pZCBzZWxlY3Rfc3BlZWQoY29uc3Qgc3RydWN0IGVqZWN0X2NvbnRyb2wgKmN0bCkKK3sKKyNpZmRlZiBDRFJPTV9TRUxFQ1RfU1BFRUQKKwlpZiAoaW9jdGwoY3RsLT5mZCwgQ0RST01fU0VMRUNUX1NQRUVELCBjdGwtPnhfYXJnKSAhPSAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgZmFpbGVkIikpOworI2Vsc2UKKwl3YXJueChfKCJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbCIpKTsKKyNlbmRpZgorfQorCisvKgorICogUmVhZCBTcGVlZCBvZiBDRC1ST00gZHJpdmUuIEZyb20gTGludXggMi42LjEzLCB0aGUgY3VycmVudCBzcGVlZAorICogaXMgY29ycmVjdGx5IHJlcG9ydGVkCisgKi8KK3N0YXRpYyBpbnQgcmVhZF9zcGVlZChjb25zdCBjaGFyICpkZXZuYW1lKQoreworCWludCBkcml2ZV9udW1iZXIgPSAtMTsKKwljaGFyICpuYW1lOworCUZJTEUgKmY7CisKKwlmID0gZm9wZW4oX1BBVEhfUFJPQ19DRFJPTUlORk8sICJyIik7CisJaWYgKCFmKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBfUEFUSF9QUk9DX0NEUk9NSU5GTyk7CisKKwluYW1lID0gc3RycmNocihkZXZuYW1lLCAnLycpICsgMTsKKworCXdoaWxlIChuYW1lICYmICFmZW9mKGYpKSB7CisJCWNoYXIgbGluZVs1MTJdOworCQljaGFyICpzdHI7CisKKwkJaWYgKCFmZ2V0cyhsaW5lLCBzaXplb2YobGluZSksIGYpKQorCQkJYnJlYWs7CisKKwkJLyogZmluZCBkcml2ZSBudW1iZXIgaW4gbGluZSAiZHJpdmUgbmFtZSIgKi8KKwkJaWYgKGRyaXZlX251bWJlciA9PSAtMSkgeworCQkJaWYgKHN0cm5jbXAobGluZSwgImRyaXZlIG5hbWU6IiwgMTEpID09IDApIHsKKwkJCQlzdHIgPSBzdHJ0b2soJmxpbmVbMTFdLCAiXHQgIik7CisJCQkJZHJpdmVfbnVtYmVyID0gMDsKKwkJCQl3aGlsZSAoc3RyICYmIHN0cm5jbXAobmFtZSwgc3RyLCBzdHJsZW4obmFtZSkpICE9IDApIHsKKwkJCQkJZHJpdmVfbnVtYmVyKys7CisJCQkJCXN0ciA9IHN0cnRvayhOVUxMLCAiXHQgIik7CisJCQkJCWlmICghc3RyKQorCQkJCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkJCQkgICAgIF8oIiVzOiBmYWlsZWQgdG8gZmluZGluZyBDRC1ST00gbmFtZSIpLAorCQkJCQkJICAgICBfUEFUSF9QUk9DX0NEUk9NSU5GTyk7CisJCQkJfQorCQkJfQorCQkvKiBmaW5kIGxpbmUgImRyaXZlIHNwZWVkIiBhbmQgcmVhZCB0aGUgY29ycmVjdCBzcGVlZCAqLworCQl9IGVsc2UgeworCQkJaWYgKHN0cm5jbXAobGluZSwgImRyaXZlIHNwZWVkOiIsIDEyKSA9PSAwKSB7CisJCQkJaW50IGk7CisKKwkJCQlzdHIgPSBzdHJ0b2soJmxpbmVbMTJdLCAiXHQgIik7CisJCQkJZm9yIChpID0gMTsgaSA8IGRyaXZlX251bWJlcjsgaSsrKQorCQkJCQlzdHIgPSBzdHJ0b2soTlVMTCwgIlx0ICIpOworCisJCQkJaWYgKCFzdHIpCisJCQkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJCQkJXygiJXM6IGZhaWxlZCB0byByZWFkIHNwZWVkIiksCisJCQkJCQlfUEFUSF9QUk9DX0NEUk9NSU5GTyk7CisJCQkJZmNsb3NlKGYpOworCQkJCXJldHVybiBhdG9pKHN0cik7CisJCQl9CisJCX0KKwl9CisKKwllcnJ4KEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIHJlYWQgc3BlZWQiKSk7Cit9CisKKy8qCisgKiBMaXN0IFNwZWVkIG9mIENELVJPTSBkcml2ZS4KKyAqLworc3RhdGljIHZvaWQgbGlzdF9zcGVlZHMoc3RydWN0IGVqZWN0X2NvbnRyb2wgKmN0bCkKK3sKKyNpZmRlZiBDRFJPTV9TRUxFQ1RfU1BFRUQKKwlpbnQgbWF4X3NwZWVkLCBjdXJyX3NwZWVkID0gMDsKKworCXNlbGVjdF9zcGVlZChjdGwpOworCW1heF9zcGVlZCA9IHJlYWRfc3BlZWQoY3RsLT5kZXZpY2UpOworCisJd2hpbGUgKGN1cnJfc3BlZWQgPCBtYXhfc3BlZWQpIHsKKwkJY3RsLT54X2FyZyA9IGN1cnJfc3BlZWQgKyAxOworCQlzZWxlY3Rfc3BlZWQoY3RsKTsKKwkJY3Vycl9zcGVlZCA9IHJlYWRfc3BlZWQoY3RsLT5kZXZpY2UpOworCQlpZiAoY3RsLT54X2FyZyA8IGN1cnJfc3BlZWQpCisJCQlwcmludGYoIiVkICIsIGN1cnJfc3BlZWQpOworCQllbHNlCisJCQljdXJyX3NwZWVkID0gY3RsLT54X2FyZyArIDE7CisJfQorCisJcHJpbnRmKCJcbiIpOworI2Vsc2UKKwl3YXJueChfKCJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbCIpKTsKKyNlbmRpZgorfQorCisvKgorICogRWplY3QgdXNpbmcgU0NTSSBTR19JTyBjb21tYW5kcy4gUmV0dXJuIDEgaWYgc3VjY2Vzc2Z1bCwgMCBvdGhlcndpc2UuCisgKi8KK3N0YXRpYyBpbnQgZWplY3Rfc2NzaShjb25zdCBzdHJ1Y3QgZWplY3RfY29udHJvbCAqY3RsKQoreworCWludCBzdGF0dXMsIGs7CisJc2dfaW9faGRyX3QgaW9faGRyOworCXVuc2lnbmVkIGNoYXIgYWxsb3dSbUJsa1s2XSA9IHtBTExPV19NRURJVU1fUkVNT1ZBTCwgMCwgMCwgMCwgMCwgMH07CisJdW5zaWduZWQgY2hhciBzdGFydFN0b3AxQmxrWzZdID0ge1NUQVJUX1NUT1AsIDAsIDAsIDAsIDEsIDB9OworCXVuc2lnbmVkIGNoYXIgc3RhcnRTdG9wMkJsa1s2XSA9IHtTVEFSVF9TVE9QLCAwLCAwLCAwLCAyLCAwfTsKKwl1bnNpZ25lZCBjaGFyIGlucUJ1ZmZbMl07CisJdW5zaWduZWQgY2hhciBzZW5zZV9idWZmZXJbMzJdOworCisJaWYgKChpb2N0bChjdGwtPmZkLCBTR19HRVRfVkVSU0lPTl9OVU0sICZrKSA8IDApIHx8IChrIDwgMzAwMDApKSB7CisJCXZlcmJvc2UoY3RsLCBfKCJub3QgYW4gc2cgZGV2aWNlLCBvciBvbGQgc2cgZHJpdmVyIikpOworCQlyZXR1cm4gMDsKKwl9CisKKwltZW1zZXQoJmlvX2hkciwgMCwgc2l6ZW9mKHNnX2lvX2hkcl90KSk7CisJaW9faGRyLmludGVyZmFjZV9pZCA9ICdTJzsKKwlpb19oZHIuY21kX2xlbiA9IDY7CisJaW9faGRyLm14X3NiX2xlbiA9IHNpemVvZihzZW5zZV9idWZmZXIpOworCWlvX2hkci5keGZlcl9kaXJlY3Rpb24gPSBTR19EWEZFUl9OT05FOworCWlvX2hkci5keGZlcl9sZW4gPSAwOworCWlvX2hkci5keGZlcnAgPSBpbnFCdWZmOworCWlvX2hkci5zYnAgPSBzZW5zZV9idWZmZXI7CisJaW9faGRyLnRpbWVvdXQgPSAxMDAwMDsKKworCWlvX2hkci5jbWRwID0gYWxsb3dSbUJsazsKKwlzdGF0dXMgPSBpb2N0bChjdGwtPmZkLCBTR19JTywgKHZvaWQgKikmaW9faGRyKTsKKwlpZiAoc3RhdHVzIDwgMCB8fCBpb19oZHIuaG9zdF9zdGF0dXMgfHwgaW9faGRyLmRyaXZlcl9zdGF0dXMpCisJCXJldHVybiAwOworCisJaW9faGRyLmNtZHAgPSBzdGFydFN0b3AxQmxrOworCXN0YXR1cyA9IGlvY3RsKGN0bC0+ZmQsIFNHX0lPLCAodm9pZCAqKSZpb19oZHIpOworCWlmIChzdGF0dXMgPCAwIHx8IGlvX2hkci5ob3N0X3N0YXR1cykKKwkJcmV0dXJuIDA7CisKKwkvKiBJZ25vcmUgZXJyb3JzIHdoZW4gdGhlcmUgaXMgbm90IG1lZGl1bSAtLSBpbiB0aGlzIGNhc2UgZHJpdmVyIHNlbnNlCisJICogYnVmZmVyIHNldHMgTUVESVVNIE5PVCBQUkVTRU5UICgzYSkgYml0LiBGb3IgbW9yZSBkZXRhaWxzIHNlZToKKwkgKiBodHRwOi8vd3d3LnRsZHAub3JnL0hPV1RPL2FyY2hpdmVkL1NDU0ktUHJvZ3JhbW1pbmctSE9XVE8vU0NTSS1Qcm9ncmFtbWluZy1IT1dUTy0yMi5odG1sI3NlYy1zZW5zZWNvZGVzCisJICogLS0ga3phayBKdW4gMjAxMworCSAqLworCWlmIChpb19oZHIuZHJpdmVyX3N0YXR1cyAhPSAwICYmCisJICAgICEoaW9faGRyLmRyaXZlcl9zdGF0dXMgPT0gRFJJVkVSX1NFTlNFICYmIGlvX2hkci5zYnAgJiYKKwkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpb19oZHIuc2JwWzEyXSA9PSAweDNhKSkKKwkJcmV0dXJuIDA7CisKKwlpb19oZHIuY21kcCA9IHN0YXJ0U3RvcDJCbGs7CisJc3RhdHVzID0gaW9jdGwoY3RsLT5mZCwgU0dfSU8sICh2b2lkICopJmlvX2hkcik7CisJaWYgKHN0YXR1cyA8IDAgfHwgaW9faGRyLmhvc3Rfc3RhdHVzIHx8IGlvX2hkci5kcml2ZXJfc3RhdHVzKQorCQlyZXR1cm4gMDsKKworCS8qIGZvcmNlIGtlcm5lbCB0byByZXJlYWQgcGFydGl0aW9uIHRhYmxlIHdoZW4gbmV3IGRpc2MgaW5zZXJ0ZWQgKi8KKwlpb2N0bChjdGwtPmZkLCBCTEtSUlBBUlQpOworCXJldHVybiAxOworfQorCisvKgorICogRWplY3QgdXNpbmcgRkRFSkVDVCBpb2N0bC4gUmV0dXJuIDEgaWYgc3VjY2Vzc2Z1bCwgMCBvdGhlcndpc2UuCisgKi8KK3N0YXRpYyBpbnQgZWplY3RfZmxvcHB5KGludCBmZCkKK3sKKwlyZXR1cm4gaW9jdGwoZmQsIEZERUpFQ1QpID49IDA7Cit9CisKKworLyoKKyAqIFJld2luZCBhbmQgZWplY3QgdXNpbmcgdGFwZSBpb2N0bC4gUmV0dXJuIDEgaWYgc3VjY2Vzc2Z1bCwgMCBvdGhlcndpc2UuCisgKi8KK3N0YXRpYyBpbnQgZWplY3RfdGFwZShpbnQgZmQpCit7CisJc3RydWN0IG10b3Agb3AgPSB7IC5tdF9vcCA9IE1UT0ZGTCwgLm10X2NvdW50ID0gMCB9OworCisJcmV0dXJuIGlvY3RsKGZkLCBNVElPQ1RPUCwgJm9wKSA+PSAwOworfQorCisKKy8qIHVtb3VudCBhIGRldmljZS4gKi8KK3N0YXRpYyB2b2lkIHVtb3VudF9vbmUoY29uc3Qgc3RydWN0IGVqZWN0X2NvbnRyb2wgKmN0bCwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlpbnQgc3RhdHVzOworCisJaWYgKCFuYW1lKQorCQlyZXR1cm47CisKKwl2ZXJib3NlKGN0bCwgXygiJXM6IHVubW91bnRpbmciKSwgbmFtZSk7CisKKwlzd2l0Y2ggKGZvcmsoKSkgeworCWNhc2UgMDogLyogY2hpbGQgKi8KKwkJaWYgKHNldGdpZChnZXRnaWQoKSkgPCAwKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IHNldCBncm91cCBpZCIpKTsKKworCQlpZiAoc2V0dWlkKGdldHVpZCgpKSA8IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgc2V0IHVzZXIgaWQiKSk7CisKKwkJaWYgKGN0bC0+cF9vcHRpb24pCisJCQlleGVjbCgiL2Jpbi91bW91bnQiLCAiL2Jpbi91bW91bnQiLCBuYW1lLCAiLW4iLCBOVUxMKTsKKwkJZWxzZQorCQkJZXhlY2woIi9iaW4vdW1vdW50IiwgIi9iaW4vdW1vdW50IiwgbmFtZSwgTlVMTCk7CisKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuYWJsZSB0byBleGVjIC9iaW4vdW1vdW50IG9mIGAlcyciKSwgbmFtZSk7CisKKwljYXNlIC0xOgorCQl3YXJuKCBfKCJ1bmFibGUgdG8gZm9yayIpKTsKKwkJYnJlYWs7CisKKwlkZWZhdWx0OiAvKiBwYXJlbnQgKi8KKwkJd2FpdCgmc3RhdHVzKTsKKwkJaWYgKFdJRkVYSVRFRChzdGF0dXMpID09IDApCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCSAgICAgXygidW5tb3VudCBvZiBgJXMnIGRpZCBub3QgZXhpdCBub3JtYWxseSIpLCBuYW1lKTsKKworCQlpZiAoV0VYSVRTVEFUVVMoc3RhdHVzKSAhPSAwKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVubW91bnQgb2YgYCVzJyBmYWlsZWRcbiIpLCBuYW1lKTsKKwkJYnJlYWs7CisJfQorfQorCisvKiBPcGVuIGEgZGV2aWNlIGZpbGUuICovCitzdGF0aWMgdm9pZCBvcGVuX2RldmljZShzdHJ1Y3QgZWplY3RfY29udHJvbCAqY3RsKQoreworCWN0bC0+ZmQgPSBvcGVuKGN0bC0+ZGV2aWNlLCBPX1JEV1IgfCBPX05PTkJMT0NLKTsKKwlpZiAoY3RsLT5mZCA8IDApCisJCWN0bC0+ZmQgPSBvcGVuKGN0bC0+ZGV2aWNlLCBPX1JET05MWSB8IE9fTk9OQkxPQ0spOworCWlmIChjdGwtPmZkID09IC0xKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBjdGwtPmRldmljZSk7Cit9CisKKy8qCisgKiBTZWUgaWYgZGV2aWNlIGhhcyBiZWVuIG1vdW50ZWQgYnkgbG9va2luZyBpbiBtb3VudCB0YWJsZS4gIElmIHNvLCBzZXQKKyAqIGRldmljZSBuYW1lIGFuZCBtb3VudCBwb2ludCBuYW1lLCBhbmQgcmV0dXJuIDEsIG90aGVyd2lzZSByZXR1cm4gMC4KKyAqLworc3RhdGljIGludCBkZXZpY2VfZ2V0X21vdW50cG9pbnQoc3RydWN0IGVqZWN0X2NvbnRyb2wgKmN0bCwgY2hhciAqKmRldm5hbWUsIGNoYXIgKiptbnQpCit7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJaW50IHJjOworCisJKm1udCA9IE5VTEw7CisKKwlpZiAoIWN0bC0+bXRhYikgeworCQlzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZTsKKworCQljdGwtPm10YWIgPSBtbnRfbmV3X3RhYmxlKCk7CisJCWlmICghY3RsLT5tdGFiKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFibGUiKSk7CisKKwkJY2FjaGUgPSBtbnRfbmV3X2NhY2hlKCk7CisJCW1udF90YWJsZV9zZXRfY2FjaGUoY3RsLT5tdGFiLCBjYWNoZSk7CisJCW1udF91bnJlZl9jYWNoZShjYWNoZSk7CisKKwkJaWYgKGN0bC0+cF9vcHRpb24pCisJCQlyYyA9IG1udF90YWJsZV9wYXJzZV9maWxlKGN0bC0+bXRhYiwgX1BBVEhfUFJPQ19NT1VOVElORk8pOworCQllbHNlCisJCQlyYyA9IG1udF90YWJsZV9wYXJzZV9tdGFiKGN0bC0+bXRhYiwgTlVMTCk7CisJCWlmIChyYykKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBwYXJzZSBtb3VudCB0YWJsZSIpKTsKKwl9CisKKwlmcyA9IG1udF90YWJsZV9maW5kX3NvdXJjZShjdGwtPm10YWIsICpkZXZuYW1lLCBNTlRfSVRFUl9CQUNLV0FSRCk7CisJaWYgKCFmcykgeworCQkvKiBtYXliZSAnZGV2bmFtZScgaXMgbW91bnRwb2ludCByYXRoZXIgdGhhbiBhIHJlYWwgZGV2aWNlICovCisJCWZzID0gbW50X3RhYmxlX2ZpbmRfdGFyZ2V0KGN0bC0+bXRhYiwgKmRldm5hbWUsIE1OVF9JVEVSX0JBQ0tXQVJEKTsKKwkJaWYgKGZzKSB7CisJCQlmcmVlKCpkZXZuYW1lKTsKKwkJCSpkZXZuYW1lID0geHN0cmR1cChtbnRfZnNfZ2V0X3NvdXJjZShmcykpOworCQl9CisJfQorCisJaWYgKGZzKQorCQkqbW50ID0geHN0cmR1cChtbnRfZnNfZ2V0X3RhcmdldChmcykpOworCXJldHVybiAqbW50ID8gMCA6IC0xOworfQorCitzdGF0aWMgY2hhciAqZ2V0X2Rpc2tfZGV2bmFtZShjb25zdCBjaGFyICpkZXZpY2UpCit7CisJc3RydWN0IHN0YXQgc3Q7CisJZGV2X3QgZGlza25vID0gMDsKKwljaGFyIGRpc2tuYW1lWzEyOF07CisKKwlpZiAoc3RhdChkZXZpY2UsICZzdCkgIT0gMCkKKwkJcmV0dXJuIE5VTEw7CisKKwkvKiBnZXQgd2hvbGUtZGlzayBkZXZubyAqLworCWlmIChzeXNmc19kZXZub190b193aG9sZWRpc2soc3Quc3RfcmRldiwgZGlza25hbWUsCisJCQkJc2l6ZW9mKGRpc2tuYW1lKSwgJmRpc2tubykgIT0gMCkKKwkJcmV0dXJuIE5VTEw7CisKKwlyZXR1cm4gc3Quc3RfcmRldiA9PSBkaXNrbm8gPyBOVUxMIDogZmluZF9kZXZpY2UoZGlza25hbWUpOworfQorCitzdGF0aWMgaW50IHVtb3VudF9wYXJ0aXRpb25zKHN0cnVjdCBlamVjdF9jb250cm9sICpjdGwpCit7CisJc3RydWN0IHN5c2ZzX2N4dCBjeHQgPSBVTF9TWVNGU0NYVF9FTVBUWTsKKwlkZXZfdCBkZXZubzsKKwlESVIgKmRpciA9IE5VTEw7CisJc3RydWN0IGRpcmVudCAqZDsKKwlpbnQgY291bnQgPSAwOworCisJZGV2bm8gPSBzeXNmc19kZXZuYW1lX3RvX2Rldm5vKGN0bC0+ZGV2aWNlLCBOVUxMKTsKKwlpZiAoc3lzZnNfaW5pdCgmY3h0LCBkZXZubywgTlVMTCkgIT0gMCkKKwkJcmV0dXJuIDA7CisKKwkvKiBvcGVuIC9zeXMvYmxvY2svPHdob2xlZGlzaz4gKi8KKwlpZiAoIShkaXIgPSBzeXNmc19vcGVuZGlyKCZjeHQsIE5VTEwpKSkKKwkJZ290byBkb25lOworCisJLyogc2NhbiBmb3IgcGFydGl0aW9uIHN1YmRpcnMgKi8KKwl3aGlsZSAoKGQgPSByZWFkZGlyKGRpcikpKSB7CisJCWlmICghc3RyY21wKGQtPmRfbmFtZSwgIi4iKSB8fCAhc3RyY21wKGQtPmRfbmFtZSwgIi4uIikpCisJCQljb250aW51ZTsKKworCQlpZiAoc3lzZnNfaXNfcGFydGl0aW9uX2RpcmVudChkaXIsIGQsIGN0bC0+ZGV2aWNlKSkgeworCQkJY2hhciAqbW50ID0gTlVMTDsKKwkJCWNoYXIgKmRldiA9IGZpbmRfZGV2aWNlKGQtPmRfbmFtZSk7CisKKwkJCWlmIChkZXYgJiYgZGV2aWNlX2dldF9tb3VudHBvaW50KGN0bCwgJmRldiwgJm1udCkgPT0gMCkgeworCQkJCXZlcmJvc2UoY3RsLCBfKCIlczogbW91bnRlZCBvbiAlcyIpLCBkZXYsIG1udCk7CisJCQkJaWYgKCFjdGwtPk1fb3B0aW9uKQorCQkJCQl1bW91bnRfb25lKGN0bCwgbW50KTsKKwkJCQljb3VudCsrOworCQkJfQorCQkJZnJlZShkZXYpOworCQkJZnJlZShtbnQpOworCQl9CisJfQorCitkb25lOgorCWlmIChkaXIpCisJCWNsb3NlZGlyKGRpcik7CisJc3lzZnNfZGVpbml0KCZjeHQpOworCisJcmV0dXJuIGNvdW50OworfQorCitzdGF0aWMgaW50IGlzX2hvdHBsdWdnYWJsZShjb25zdCBzdHJ1Y3QgZWplY3RfY29udHJvbCAqY3RsKQoreworCXN0cnVjdCBzeXNmc19jeHQgY3h0ID0gVUxfU1lTRlNDWFRfRU1QVFk7CisJZGV2X3QgZGV2bm87CisJaW50IHJjID0gMDsKKworCWRldm5vID0gc3lzZnNfZGV2bmFtZV90b19kZXZubyhjdGwtPmRldmljZSwgTlVMTCk7CisJaWYgKHN5c2ZzX2luaXQoJmN4dCwgZGV2bm8sIE5VTEwpICE9IDApCisJCXJldHVybiAwOworCisJcmMgPSBzeXNmc19pc19ob3RwbHVnZ2FibGUoJmN4dCk7CisKKwlzeXNmc19kZWluaXQoJmN4dCk7CisJcmV0dXJuIHJjOworfQorCisKKy8qIGhhbmRsZSAteCBvcHRpb24gKi8KK3N0YXRpYyB2b2lkIHNldF9kZXZpY2Vfc3BlZWQoc3RydWN0IGVqZWN0X2NvbnRyb2wgKmN0bCkKK3sKKwlpZiAoIWN0bC0+eF9vcHRpb24pCisJCXJldHVybjsKKworCWlmIChjdGwtPnhfYXJnID09IDApCisJCXZlcmJvc2UoY3RsLCBfKCJzZXR0aW5nIENELVJPTSBzcGVlZCB0byBhdXRvIikpOworCWVsc2UKKwkJdmVyYm9zZShjdGwsIF8oInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvICVsZFgiKSwgY3RsLT54X2FyZyk7CisKKwlvcGVuX2RldmljZShjdGwpOworCXNlbGVjdF9zcGVlZChjdGwpOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworCisvKiBtYWluIHByb2dyYW0gKi8KK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwljaGFyICpkaXNrID0gTlVMTDsKKwljaGFyICptb3VudHBvaW50ID0gTlVMTDsKKwlpbnQgd29ya2VkID0gMDsgICAgLyogc2V0IHRvIDEgd2hlbiBzdWNjZXNzZnVsbHkgZWplY3RlZCAqLworCXN0cnVjdCBlamVjdF9jb250cm9sIGN0bCA9IHsgMCB9OworCisJc2V0bG9jYWxlKExDX0FMTCwiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJLyogcGFyc2UgdGhlIGNvbW1hbmQgbGluZSBhcmd1bWVudHMgKi8KKwlwYXJzZV9hcmdzKCZjdGwsIGFyZ2MsIGFyZ3YpOworCisJLyogaGFuZGxlIC1kIG9wdGlvbiAqLworCWlmIChjdGwuZF9vcHRpb24pIHsKKwkJaW5mbyhfKCJkZWZhdWx0IGRldmljZTogYCVzJyIpLCBFSkVDVF9ERUZBVUxUX0RFVklDRSk7CisJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJfQorCisJaWYgKCFjdGwuZGV2aWNlKSB7CisJCWN0bC5kZXZpY2UgPSBtbnRfcmVzb2x2ZV9wYXRoKEVKRUNUX0RFRkFVTFRfREVWSUNFLCBOVUxMKTsKKwkJdmVyYm9zZSgmY3RsLCBfKCJ1c2luZyBkZWZhdWx0IGRldmljZSBgJXMnIiksIGN0bC5kZXZpY2UpOworCX0gZWxzZSB7CisJCWNoYXIgKnA7CisKKwkJaWYgKGN0bC5kZXZpY2Vbc3RybGVuKGN0bC5kZXZpY2UpIC0gMV0gPT0gJy8nKQorCQkJY3RsLmRldmljZVtzdHJsZW4oY3RsLmRldmljZSkgLSAxXSA9ICdcMCc7CisKKwkJLyogZmlndXJlIG91dCBmdWxsIGRldmljZSBvciBtb3VudCBwb2ludCBuYW1lICovCisJCXAgPSBmaW5kX2RldmljZShjdGwuZGV2aWNlKTsKKwkJaWYgKHApCisJCQlmcmVlKGN0bC5kZXZpY2UpOworCQllbHNlCisJCQlwID0gY3RsLmRldmljZTsKKworCQljdGwuZGV2aWNlID0gbW50X3Jlc29sdmVfc3BlYyhwLCBOVUxMKTsKKwkJZnJlZShwKTsKKwl9CisKKwlpZiAoIWN0bC5kZXZpY2UpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogdW5hYmxlIHRvIGZpbmQgZGV2aWNlIiksIGN0bC5kZXZpY2UpOworCisJdmVyYm9zZSgmY3RsLCBfKCJkZXZpY2UgbmFtZSBpcyBgJXMnIiksIGN0bC5kZXZpY2UpOworCisJZGV2aWNlX2dldF9tb3VudHBvaW50KCZjdGwsICZjdGwuZGV2aWNlLCAmbW91bnRwb2ludCk7CisJaWYgKG1vdW50cG9pbnQpCisJCXZlcmJvc2UoJmN0bCwgXygiJXM6IG1vdW50ZWQgb24gJXMiKSwgY3RsLmRldmljZSwgbW91bnRwb2ludCk7CisJZWxzZQorCQl2ZXJib3NlKCZjdGwsIF8oIiVzOiBub3QgbW91bnRlZCIpLCBjdGwuZGV2aWNlKTsKKworCWRpc2sgPSBnZXRfZGlza19kZXZuYW1lKGN0bC5kZXZpY2UpOworCWlmIChkaXNrKSB7CisJCXZlcmJvc2UoJmN0bCwgXygiJXM6IGRpc2MgZGV2aWNlOiAlcyAoZGlzayBkZXZpY2Ugd2lsbCBiZSB1c2VkIGZvciBlamVjdCkiKSwgY3RsLmRldmljZSwgZGlzayk7CisJCWZyZWUoY3RsLmRldmljZSk7CisJCWN0bC5kZXZpY2UgPSBkaXNrOworCQlkaXNrID0gTlVMTDsKKwl9IGVsc2UgeworCQlzdHJ1Y3Qgc3RhdCBzdDsKKworCQlpZiAoc3RhdChjdGwuZGV2aWNlLCAmc3QpICE9IDAgfHwgIVNfSVNCTEsoc3Quc3RfbW9kZSkpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXM6IG5vdCBmb3VuZCBtb3VudHBvaW50IG9yIGRldmljZSAiCisJCQkJCSJ3aXRoIHRoZSBnaXZlbiBuYW1lIiksIGN0bC5kZXZpY2UpOworCisJCXZlcmJvc2UoJmN0bCwgXygiJXM6IGlzIHdob2xlLWRpc2sgZGV2aWNlIiksIGN0bC5kZXZpY2UpOworCX0KKworCWlmIChjdGwuRl9vcHRpb24gPT0gMCAmJiBpc19ob3RwbHVnZ2FibGUoJmN0bCkgPT0gMCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzOiBpcyBub3QgaG90LXBsdWdnYWJsZSBkZXZpY2UiKSwgY3RsLmRldmljZSk7CisKKwkvKiBoYW5kbGUgLW4gb3B0aW9uICovCisJaWYgKGN0bC5uX29wdGlvbikgeworCQlpbmZvKF8oImRldmljZSBpcyBgJXMnIiksIGN0bC5kZXZpY2UpOworCQl2ZXJib3NlKCZjdGwsIF8oImV4aXRpbmcgZHVlIHRvIC1uLy0tbm9vcCBvcHRpb24iKSk7CisJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJfQorCisJLyogaGFuZGxlIC1pIG9wdGlvbiAqLworCWlmIChjdGwuaV9vcHRpb24pIHsKKwkJb3Blbl9kZXZpY2UoJmN0bCk7CisJCW1hbnVhbF9lamVjdCgmY3RsKTsKKwkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwl9CisKKwkvKiBoYW5kbGUgLWEgb3B0aW9uICovCisJaWYgKGN0bC5hX29wdGlvbikgeworCQlpZiAoY3RsLmFfYXJnKQorCQkJdmVyYm9zZSgmY3RsLCBfKCIlczogZW5hYmxpbmcgYXV0by1lamVjdCBtb2RlIiksIGN0bC5kZXZpY2UpOworCQllbHNlCisJCQl2ZXJib3NlKCZjdGwsIF8oIiVzOiBkaXNhYmxpbmcgYXV0by1lamVjdCBtb2RlIiksIGN0bC5kZXZpY2UpOworCQlvcGVuX2RldmljZSgmY3RsKTsKKwkJYXV0b19lamVjdCgmY3RsKTsKKwkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwl9CisKKwkvKiBoYW5kbGUgLXQgb3B0aW9uICovCisJaWYgKGN0bC50X29wdGlvbikgeworCQl2ZXJib3NlKCZjdGwsIF8oIiVzOiBjbG9zaW5nIHRyYXkiKSwgY3RsLmRldmljZSk7CisJCW9wZW5fZGV2aWNlKCZjdGwpOworCQljbG9zZV90cmF5KGN0bC5mZCk7CisJCXNldF9kZXZpY2Vfc3BlZWQoJmN0bCk7CisJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJfQorCisJLyogaGFuZGxlIC1UIG9wdGlvbiAqLworCWlmIChjdGwuVF9vcHRpb24pIHsKKwkJdmVyYm9zZSgmY3RsLCBfKCIlczogdG9nZ2xpbmcgdHJheSIpLCBjdGwuZGV2aWNlKTsKKwkJb3Blbl9kZXZpY2UoJmN0bCk7CisJCXRvZ2dsZV90cmF5KGN0bC5mZCk7CisJCXNldF9kZXZpY2Vfc3BlZWQoJmN0bCk7CisJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJfQorCisJLyogaGFuZGxlIC1YIG9wdGlvbiAqLworCWlmIChjdGwuWF9vcHRpb24pIHsKKwkJdmVyYm9zZSgmY3RsLCBfKCIlczogbGlzdGluZyBDRC1ST00gc3BlZWQiKSwgY3RsLmRldmljZSk7CisJCW9wZW5fZGV2aWNlKCZjdGwpOworCQlsaXN0X3NwZWVkcygmY3RsKTsKKwkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwl9CisKKwkvKiBoYW5kbGUgLXggb3B0aW9uIG9ubHkgKi8KKwlpZiAoIWN0bC5jX29wdGlvbikKKwkJc2V0X2RldmljZV9zcGVlZCgmY3RsKTsKKworCisJLyoKKwkgKiBVbm1vdW50IGFsbCBwYXJ0aXRpb25zIGlmIC1tIGlzIG5vdCBzcGVjaWZpZWQ7IG9yIHVtb3VudCBnaXZlbgorCSAqIG1vdW50cG9pbnQgaWYgLU0gaXMgc3BlY2lmaWVkLCBvdGhlcndpc2UgcHJpbnQgZXJyb3Igb2YgYW5vdGhlcgorCSAqIHBhcnRpdGlvbiBpcyBtb3VudGVkLgorCSAqLworCWlmICghY3RsLm1fb3B0aW9uKSB7CisJCWludCBjdCA9IHVtb3VudF9wYXJ0aXRpb25zKCZjdGwpOworCisJCWlmIChjdCA9PSAwICYmIG1vdW50cG9pbnQpCisJCQl1bW91bnRfb25lKCZjdGwsIG1vdW50cG9pbnQpOyAvKiBwcm9iYWJseSB3aG9sZS1kZXZpY2UgKi8KKworCQlpZiAoY3RsLk1fb3B0aW9uKSB7CisJCQlpZiAoY3QgPT0gMSAmJiBtb3VudHBvaW50KQorCQkJCXVtb3VudF9vbmUoJmN0bCwgbW91bnRwb2ludCk7CisJCQllbHNlIGlmIChjdCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiZXJyb3I6ICVzOiBkZXZpY2UgaW4gdXNlIiksIGN0bC5kZXZpY2UpOworCQl9CisJfQorCisJLyogaGFuZGxlIC1jIG9wdGlvbiAqLworCWlmIChjdGwuY19vcHRpb24pIHsKKwkJdmVyYm9zZSgmY3RsLCBfKCIlczogc2VsZWN0aW5nIENELVJPTSBkaXNjICMlbGQiKSwgY3RsLmRldmljZSwgY3RsLmNfYXJnKTsKKwkJb3Blbl9kZXZpY2UoJmN0bCk7CisJCWNoYW5nZXJfc2VsZWN0KCZjdGwpOworCQlzZXRfZGV2aWNlX3NwZWVkKCZjdGwpOworCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCX0KKworCS8qIGlmIHVzZXIgZGlkIG5vdCBzcGVjaWZ5IHR5cGUgb2YgZWplY3QsIHRyeSBhbGwgZm91ciBtZXRob2RzICovCisJaWYgKGN0bC5yX29wdGlvbiArIGN0bC5zX29wdGlvbiArIGN0bC5mX29wdGlvbiArIGN0bC5xX29wdGlvbiA9PSAwKQorCQljdGwucl9vcHRpb24gPSBjdGwuc19vcHRpb24gPSBjdGwuZl9vcHRpb24gPSBjdGwucV9vcHRpb24gPSAxOworCisJLyogb3BlbiBkZXZpY2UgKi8KKwlvcGVuX2RldmljZSgmY3RsKTsKKworCS8qIHRyeSB2YXJpb3VzIG1ldGhvZHMgb2YgZWplY3RpbmcgdW50aWwgaXQgd29ya3MgKi8KKwlpZiAoY3RsLnJfb3B0aW9uKSB7CisJCXZlcmJvc2UoJmN0bCwgXygiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBDRC1ST00gZWplY3QgY29tbWFuZCIpLCBjdGwuZGV2aWNlKTsKKwkJd29ya2VkID0gZWplY3RfY2Ryb20oY3RsLmZkKTsKKwkJdmVyYm9zZSgmY3RsLCB3b3JrZWQgPyBfKCJDRC1ST00gZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiKSA6CisJCQkJIF8oIkNELVJPTSBlamVjdCBjb21tYW5kIGZhaWxlZCIpKTsKKwl9CisKKwlpZiAoY3RsLnNfb3B0aW9uICYmICF3b3JrZWQpIHsKKwkJdmVyYm9zZSgmY3RsLCBfKCIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIFNDU0kgY29tbWFuZHMiKSwgY3RsLmRldmljZSk7CisJCXdvcmtlZCA9IGVqZWN0X3Njc2koJmN0bCk7CisJCXZlcmJvc2UoJmN0bCwgd29ya2VkID8gXygiU0NTSSBlamVjdCBzdWNjZWVkZWQiKSA6CisJCQkJIF8oIlNDU0kgZWplY3QgZmFpbGVkIikpOworCX0KKworCWlmIChjdGwuZl9vcHRpb24gJiYgIXdvcmtlZCkgeworCQl2ZXJib3NlKCZjdGwsIF8oIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgZmxvcHB5IGVqZWN0IGNvbW1hbmQiKSwgY3RsLmRldmljZSk7CisJCXdvcmtlZCA9IGVqZWN0X2Zsb3BweShjdGwuZmQpOworCQl2ZXJib3NlKCZjdGwsIHdvcmtlZCA/IF8oImZsb3BweSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIpIDoKKwkJCQkgXygiZmxvcHB5IGVqZWN0IGNvbW1hbmQgZmFpbGVkIikpOworCX0KKworCWlmIChjdGwucV9vcHRpb24gJiYgIXdvcmtlZCkgeworCQl2ZXJib3NlKCZjdGwsIF8oIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgdGFwZSBvZmZsaW5lIGNvbW1hbmQiKSwgY3RsLmRldmljZSk7CisJCXdvcmtlZCA9IGVqZWN0X3RhcGUoY3RsLmZkKTsKKwkJdmVyYm9zZSgmY3RsLCB3b3JrZWQgPyBfKCJ0YXBlIG9mZmxpbmUgY29tbWFuZCBzdWNjZWVkZWQiKSA6CisJCQkJIF8oInRhcGUgb2ZmbGluZSBjb21tYW5kIGZhaWxlZCIpKTsKKwl9CisKKwlpZiAoIXdvcmtlZCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuYWJsZSB0byBlamVjdCIpKTsKKworCS8qIGNsZWFudXAgKi8KKwljbG9zZShjdGwuZmQpOworCWZyZWUoY3RsLmRldmljZSk7CisJZnJlZShtb3VudHBvaW50KTsKKworCW1udF91bnJlZl90YWJsZShjdGwubXRhYik7CisKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL2ZhbGxvY2F0ZS4xIGIvc3lzLXV0aWxzL2ZhbGxvY2F0ZS4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1MzNlMWEKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvZmFsbG9jYXRlLjEKQEAgLTAsMCArMSwxMjYgQEAKKy5USCBGQUxMT0NBVEUgMSAiQXByaWwgMjAxNCIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK2ZhbGxvY2F0ZSBcLSBwcmVhbGxvY2F0ZSBvciBkZWFsbG9jYXRlIHNwYWNlIHRvIGEgZmlsZQorLlNIIFNZTk9QU0lTCisuQiBmYWxsb2NhdGUKKy5SQiBbIFwtYyB8IFwtcCB8IFwteiBdCisuUkIgWyBcLW8KKy5JUiBvZmZzZXQgXQorLkIgXC1sCisuSVIgbGVuZ3RoCisuUkIgWyBcLW4gXQorLkkgZmlsZW5hbWUKKy5QUAorLkIgZmFsbG9jYXRlIFwtZAorLlJCIFsgXC1vCisuSVIgb2Zmc2V0IF0KKy5SQiBbIFwtbAorLklSIGxlbmd0aCBdCisuSSBmaWxlbmFtZQorLlNIIERFU0NSSVBUSU9OCisuQiBmYWxsb2NhdGUKK2lzIHVzZWQgdG8gbWFuaXB1bGF0ZSB0aGUgYWxsb2NhdGVkIGRpc2sgc3BhY2UgZm9yIGEgZmlsZSwgZWl0aGVyIHRvIGRlYWxsb2NhdGUKK29yIHByZWFsbG9jYXRlIGl0LiAgRm9yIGZpbGVzeXN0ZW1zIHdoaWNoIHN1cHBvcnQgdGhlIGZhbGxvY2F0ZSBzeXN0ZW0gY2FsbCwKK3ByZWFsbG9jYXRpb24gaXMgZG9uZSBxdWlja2x5IGJ5IGFsbG9jYXRpbmcgYmxvY2tzIGFuZCBtYXJraW5nIHRoZW0gYXMKK3VuaW5pdGlhbGl6ZWQsIHJlcXVpcmluZyBubyBJTyB0byB0aGUgZGF0YSBibG9ja3MuICBUaGlzIGlzIG11Y2ggZmFzdGVyIHRoYW4KK2NyZWF0aW5nIGEgZmlsZSBieSBmaWxsaW5nIGl0IHdpdGggemVyb2VzLgorLlBQCitUaGUgZXhpdCBjb2RlIHJldHVybmVkIGJ5CisuQiBmYWxsb2NhdGUKK2lzIDAgb24gc3VjY2VzcyBhbmQgMSBvbiBmYWlsdXJlLgorLlNIIE9QVElPTlMKK1RoZSBcZklsZW5ndGhcZlIgYW5kIFxmSW9mZnNldFxmUgorYXJndW1lbnRzIG1heSBiZSBmb2xsb3dlZCBieSB0aGUgbXVsdGlwbGljYXRpdmUgc3VmZml4ZXMgS2lCICg9MTAyNCksCitNaUIgKD0xMDI0KjEwMjQpLCBhbmQgc28gb24gZm9yIEdpQiwgVGlCLCBQaUIsIEVpQiwgWmlCIGFuZCBZaUIgKHRoZSAiaUIiIGlzCitvcHRpb25hbCwgZS5nLiwgIksiIGhhcyB0aGUgc2FtZSBtZWFuaW5nIGFzICJLaUIiKSBvciB0aGUgc3VmZml4ZXMKK0tCICg9MTAwMCksIE1CICg9MTAwMCoxMDAwKSwgYW5kIHNvIG9uIGZvciBHQiwgVEIsIFBCLCBFQiwgWkIgYW5kIFlCLgorLlBQCitUaGUgb3B0aW9ucyBcZkJcLVwtY29sbGFwc2VcLXJhbmdlXGZQLCBcZkJcLVwtZGlnXC1ob2xlc1xmUCwgXGZCXC1cLXB1bmNoXC1ob2xlXGZQIGFuZAorXGZCXC1cLXplcm9cLXJhbmdlXGZQIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuCisuVFAKKy5CUiBcLWMgLCAiIFwtXC1jb2xsYXBzZVwtcmFuZ2UiCitSZW1vdmVzIGEgYnl0ZSByYW5nZSBmcm9tIGEgZmlsZSwgd2l0aG91dCBsZWF2aW5nIGEgaG9sZS4gIFRoZSBieXRlIHJhbmdlCit0byBiZSBjb2xsYXBzZWQgc3RhcnRzIGF0IFxmSW9mZnNldFxmUCBhbmQgY29udGludWVzCitmb3IgXGZJbGVuZ3RoXGZSIGJ5dGVzLiAgQXQgdGhlIGNvbXBsZXRpb24gb2YgdGhlIG9wZXJhdGlvbiwgdGhlIGNvbnRlbnRzIG9mCit0aGUgZmlsZSBzdGFydGluZyBhdCB0aGUgbG9jYXRpb24gXGZJb2Zmc2V0XGZSK1xmSWxlbmd0aFxmUiB3aWxsIGJlIGFwcGVuZGVkIGF0IHRoZQorbG9jYXRpb24gXGZJb2Zmc2V0XGZSLCBhbmQgdGhlIGZpbGUgd2lsbCBiZSBcZklsZW5ndGhcZlIgYnl0ZXMgc21hbGxlci4gIFRoZSBvcHRpb24KK1xmQlwtXC1rZWVwXC1zaXplXGZSIG1heSBub3QgYmUgc3BlY2lmaWVkIGZvciB0aGUgY29sbGFwc2UtcmFuZ2Ugb3BlcmF0aW9uLgorLnNwCitBdmFpbGFibGUgc2luY2UgTGludXggMy4xNSBmb3IgZXh0NCAob25seSBmb3IgZXh0ZW50LWJhc2VkIGZpbGVzKSBhbmQgWEZTLgorLlRQCisuQlIgXC1kICwgIiBcLVwtZGlnXC1ob2xlcyIKK0RldGVjdCBhbmQgZGlnIGhvbGVzLiAgVGhpcyBtYWtlcyB0aGUgZmlsZSBzcGFyc2UgaW4tcGxhY2UsIHdpdGhvdXQgdXNpbmcgZXh0cmEKK2Rpc2sgc3BhY2UuICBUaGUgbWluaW11bSBzaXplIG9mIHRoZSBob2xlIGRlcGVuZHMgb24gZmlsZXN5c3RlbSBJL08gYmxvY2sgc2l6ZQorKHVzdWFsbHkgNDA5NiBieXRlcykuICBBbHNvLCB3aGVuIHVzaW5nIHRoaXMgb3B0aW9uLCBcZkJcLVwta2VlcFwtc2l6ZVxmUCBpcworaW1wbGllZC4gIElmIG5vIHJhbmdlIGlzIHNwZWNpZmllZCBieSBcZkJcLVwtb2Zmc2V0XGZQIGFuZCBcZkJcLVwtbGVuZ3RoXGZQLAordGhlbiB0aGUgZW50aXJlIGZpbGUgaXMgYW5hbHl6ZWQgZm9yIGhvbGVzLgorLnNwCitZb3UgY2FuIHRoaW5rIG9mIHRoaXMgb3B0aW9uIGFzIGRvaW5nIGEgIlxmQmNwIC0tc3BhcnNlXGZQIiBhbmQgdGhlbiByZW5hbWluZwordGhlIGRlc3RpbmF0aW9uIGZpbGUgdG8gdGhlIG9yaWdpbmFsLCB3aXRob3V0IHRoZSBuZWVkIGZvciBleHRyYSBkaXNrIHNwYWNlLgorLnNwCitTZWUgXGZCXC1cLXB1bmNoXC1ob2xlXGZQIGZvciBhIGxpc3Qgb2Ygc3VwcG9ydGVkIGZpbGVzeXN0ZW1zLgorLlRQCisuQlIgXC1sICwgIiBcLVwtbGVuZ3RoICIgXGZJbGVuZ3RoCitTcGVjaWZpZXMgdGhlIGxlbmd0aCBvZiB0aGUgcmFuZ2UsIGluIGJ5dGVzLgorLlRQCisuQlIgXC1uICwgIiBcLVwta2VlcFwtc2l6ZSIKK0RvIG5vdCBtb2RpZnkgdGhlIGFwcGFyZW50IGxlbmd0aCBvZiB0aGUgZmlsZS4gIFRoaXMgbWF5IGVmZmVjdGl2ZWx5IGFsbG9jYXRlCitibG9ja3MgcGFzdCBFT0YsIHdoaWNoIGNhbiBiZSByZW1vdmVkIHdpdGggYSB0cnVuY2F0ZS4KKy5UUAorLkJSIFwtbyAsICIgXC1cLW9mZnNldCAiIFxmSW9mZnNldAorU3BlY2lmaWVzIHRoZSBiZWdpbm5pbmcgb2Zmc2V0IG9mIHRoZSByYW5nZSwgaW4gYnl0ZXMuCisuVFAKKy5CUiBcLXAgLCAiIFwtXC1wdW5jaFwtaG9sZSIKK0RlYWxsb2NhdGVzIHNwYWNlIChpLmUuLCBjcmVhdGVzIGEgaG9sZSkgaW4gdGhlIGJ5dGUgcmFuZ2Ugc3RhcnRpbmcgYXQKK1xmSW9mZnNldFxmUCBhbmQgY29udGludWluZyBmb3IgXGZJbGVuZ3RoXGZSIGJ5dGVzLiAgV2l0aGluIHRoZQorc3BlY2lmaWVkIHJhbmdlLCBwYXJ0aWFsIGZpbGVzeXN0ZW0gYmxvY2tzIGFyZSB6ZXJvZWQsIGFuZCB3aG9sZQorZmlsZXN5c3RlbSBibG9ja3MgYXJlIHJlbW92ZWQgZnJvbSB0aGUgZmlsZS4gIEFmdGVyIGEgc3VjY2Vzc2Z1bAorY2FsbCwgc3Vic2VxdWVudCByZWFkcyBmcm9tIHRoaXMgcmFuZ2Ugd2lsbCByZXR1cm4gemVyb2VzLiAgVGhpcyBvcHRpb24KK21heSBub3QgYmUgc3BlY2lmaWVkIGF0IHRoZSBzYW1lIHRpbWUgYXMgIHRoZSBcZkJcLVwtemVyb1wtcmFuZ2VcZlAgb3B0aW9uLgorQWxzbywgd2hlbiB1c2luZyB0aGlzIG9wdGlvbiwgXGZCXC1cLWtlZXBcLXNpemVcZlAgaXMgaW1wbGllZC4KKy5zcAorU3VwcG9ydGVkIGZvciBYRlMgKHNpbmNlIExpbnV4IDIuNi4zOCksIGV4dDQgKHNpbmNlIExpbnV4IDMuMCksCitCdHJmcyAoc2luY2UgTGludXggMy43KSBhbmQgdG1wZnMgKHNpbmNlIExpbnV4IDMuNSkuCisuVFAKKy5CUiBcLXYgLCAiIFwtXC12ZXJib3NlIgorRW5hYmxlIHZlcmJvc2UgbW9kZS4KKy5UUAorLkJSIFwteiAsICIgXC1cLXplcm9cLXJhbmdlIgorWmVyb2VzIHNwYWNlIGluIHRoZSBieXRlIHJhbmdlIHN0YXJ0aW5nIGF0IFxmSW9mZnNldFxmUCBhbmQKK2NvbnRpbnVpbmcgZm9yIFxmSWxlbmd0aFxmUiBieXRlcy4gIFdpdGhpbiB0aGUgc3BlY2lmaWVkIHJhbmdlLCBibG9ja3MgYXJlCitwcmVhbGxvY2F0ZWQgZm9yIHRoZSByZWdpb25zIHRoYXQgc3BhbiB0aGUgaG9sZXMgaW4gdGhlIGZpbGUuICBBZnRlcgorYSBzdWNjZXNzZnVsIGNhbGwsIHN1YnNlcXVlbnQgcmVhZHMgZnJvbSB0aGlzIHJhbmdlIHdpbGwgcmV0dXJuIHplcm9lcy4KKy5zcAorWmVyb2luZyBpcyBkb25lIHdpdGhpbiB0aGUgZmlsZXN5c3RlbSBwcmVmZXJhYmx5IGJ5IGNvbnZlcnRpbmcgdGhlCityYW5nZSBpbnRvIHVud3JpdHRlbiBleHRlbnRzLiAgVGhpcyBhcHByb2FjaCBtZWFucyB0aGF0IHRoZSBzcGVjaWZpZWQKK3JhbmdlIHdpbGwgbm90IGJlIHBoeXNpY2FsbHkgemVyb2VkIG91dCBvbiB0aGUgZGV2aWNlIChleGNlcHQgZm9yCitwYXJ0aWFsIGJsb2NrcyBhdCB0aGUgZWl0aGVyIGVuZCBvZiB0aGUgcmFuZ2UpLCBhbmQgSS9PIGlzCisob3RoZXJ3aXNlKSByZXF1aXJlZCBvbmx5IHRvIHVwZGF0ZSBtZXRhZGF0YS4KKy5zcAorT3B0aW9uIFxmQlwtXC1rZWVwXC1zaXplXGZQIGNhbiBiZSBzcGVjaWZpZWQgdG8gcHJldmVudCBmaWxlIGxlbmd0aAorbW9kaWZpY2F0aW9uLgorLnNwCitBdmFpbGFibGUgc2luY2UgTGludXggMy4xNCBmb3IgZXh0NCAob25seSBmb3IgZXh0ZW50LWJhc2VkIGZpbGVzKSBhbmQgWEZTLgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBBVVRIT1JTCisuVVIgc2FuZGVlbkByZWRoYXQuY29tCitFcmljIFNhbmRlZW4KKy5VRQorLmJyCisuVVIga3pha0ByZWRoYXQuY29tCitLYXJlbCBaYWsKKy5VRQorLlNIIFNFRSBBTFNPCisuQlIgdHJ1bmNhdGUgKDEpLAorLkJSIGZhbGxvY2F0ZSAoMiksCisuQlIgcG9zaXhfZmFsbG9jYXRlICgzKQorLlNIIEFWQUlMQUJJTElUWQorVGhlIGZhbGxvY2F0ZSBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBmdHA6Ly9cOmZ0cC5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9mYWxsb2NhdGUuYyBiL3N5cy11dGlscy9mYWxsb2NhdGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZjJmNzRlCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jCkBAIC0wLDAgKzEsMzg1IEBACisvKgorICogZmFsbG9jYXRlIC0gdXRpbGl0eSB0byB1c2UgdGhlIGZhbGxvY2F0ZSBzeXN0ZW0gY2FsbAorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOC0yMDA5IFJlZCBIYXQsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFdyaXR0ZW4gYnkgRXJpYyBTYW5kZWVuIDxzYW5kZWVuQHJlZGhhdC5jb20+CisgKiAgICAgICAgICAgIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIGN2dG51bSByb3V0aW5lIHRha2VuIGZyb20geGZzcHJvZ3MsCisgKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNSBTaWxpY29uIEdyYXBoaWNzLCBJbmMuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdvdWxkIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgKiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqLworI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL21tYW4uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorCisjaWZuZGVmIEhBVkVfRkFMTE9DQVRFCisjIGluY2x1ZGUgPHN5cy9zeXNjYWxsLmg+CisjZW5kaWYKKworI2lmIGRlZmluZWQoSEFWRV9MSU5VWF9GQUxMT0NfSCkgJiYgXAorICAgICghZGVmaW5lZChGQUxMT0NfRkxfS0VFUF9TSVpFKSB8fCAhZGVmaW5lZChGQUxMT0NfRkxfUFVOQ0hfSE9MRSkgfHwgXAorICAgICAhZGVmaW5lZChGQUxMT0NfRkxfQ09MTEFQU0VfUkFOR0UpIHx8ICFkZWZpbmVkKEZBTExPQ19GTF9aRVJPX1JBTkdFKSkKKyMgaW5jbHVkZSA8bGludXgvZmFsbG9jLmg+CS8qIG5vbi1saWJjIGZhbGxiYWNrIGZvciBGQUxMT0NfRkxfKiBmbGFncyAqLworI2VuZGlmCisKKworI2lmbmRlZiBGQUxMT0NfRkxfS0VFUF9TSVpFCisjIGRlZmluZSBGQUxMT0NfRkxfS0VFUF9TSVpFCQkweDEKKyNlbmRpZgorCisjaWZuZGVmIEZBTExPQ19GTF9QVU5DSF9IT0xFCisjIGRlZmluZSBGQUxMT0NfRkxfUFVOQ0hfSE9MRQkJMHgyCisjZW5kaWYKKworI2lmbmRlZiBGQUxMT0NfRkxfQ09MTEFQU0VfUkFOR0UKKyMgZGVmaW5lIEZBTExPQ19GTF9DT0xMQVBTRV9SQU5HRQkweDgKKyNlbmRpZgorCisjaWZuZGVmIEZBTExPQ19GTF9aRVJPX1JBTkdFCisjIGRlZmluZSBGQUxMT0NfRkxfWkVST19SQU5HRQkJMHgxMAorI2VuZGlmCisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgIm9wdHV0aWxzLmgiCisKK3N0YXRpYyBpbnQgdmVyYm9zZTsKK3N0YXRpYyBjaGFyICpmaWxlbmFtZTsKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqb3V0KQoreworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwKKwkgICAgICBfKCIgJXMgW29wdGlvbnNdIDxmaWxlbmFtZT5cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiUHJlYWxsb2NhdGUgc3BhY2UgdG8sIG9yIGRlYWxsb2NhdGUgc3BhY2UgZnJvbSBhIGZpbGUuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1jLCAtLWNvbGxhcHNlLXJhbmdlIHJlbW92ZSBhIHJhbmdlIGZyb20gdGhlIGZpbGVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZCwgLS1kaWctaG9sZXMgICAgICBkZXRlY3QgemVyb2VzIGFuZCByZXBsYWNlIHdpdGggaG9sZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbCwgLS1sZW5ndGggPG51bT4gICBsZW5ndGggZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW4sIC0ta2VlcC1zaXplICAgICAgbWFpbnRhaW4gdGhlIGFwcGFyZW50IHNpemUgb2YgdGhlIGZpbGVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbywgLS1vZmZzZXQgPG51bT4gICBvZmZzZXQgZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVwbGFjZSBhIHJhbmdlIHdpdGggYSBob2xlIChpbXBsaWVzIC1uKVxuIiksIG91dCk7CisJZnB1dHMoXygiIC16LCAtLXplcm8tcmFuZ2UgICAgIHplcm8gYW5kIGVuc3VyZSBhbGxvY2F0aW9uIG9mIGEgcmFuZ2VcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdiwgLS12ZXJib3NlICAgICAgICB2ZXJib3NlIG1vZGVcbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKFVTQUdFX0hFTFAsIG91dCk7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgb3V0KTsKKworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgiZmFsbG9jYXRlKDEpIikpOworCisJZXhpdChvdXQgPT0gc3RkZXJyID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIGxvZmZfdCBjdnRudW0oY2hhciAqcykKK3sKKwl1aW50bWF4X3QgeDsKKworCWlmIChzdHJ0b3NpemUocywgJngpKQorCQlyZXR1cm4gLTFMTDsKKworCXJldHVybiB4OworfQorCitzdGF0aWMgdm9pZCB4ZmFsbG9jYXRlKGludCBmZCwgaW50IG1vZGUsIG9mZl90IG9mZnNldCwgb2ZmX3QgbGVuZ3RoKQoreworCWludCBlcnJvcjsKKyNpZmRlZiBIQVZFX0ZBTExPQ0FURQorCWVycm9yID0gZmFsbG9jYXRlKGZkLCBtb2RlLCBvZmZzZXQsIGxlbmd0aCk7CisjZWxzZQorCWVycm9yID0gc3lzY2FsbChTWVNfZmFsbG9jYXRlLCBmZCwgbW9kZSwgb2Zmc2V0LCBsZW5ndGgpOworI2VuZGlmCisJLyoKKwkgKiBFT1BOT1RTVVBQOiBUaGUgRkFMTE9DX0ZMX0tFRVBfU0laRSBpcyB1bnN1cHBvcnRlZAorCSAqIEVOT1NZUzogVGhlIGZpbGVzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBzeXNfZmFsbG9jYXRlCisJICovCisJaWYgKGVycm9yIDwgMCkgeworCQlpZiAoKG1vZGUgJiBGQUxMT0NfRkxfS0VFUF9TSVpFKSAmJiBlcnJubyA9PSBFT1BOT1RTVVBQKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImZhbGxvY2F0ZSBmYWlsZWQ6IGtlZXAgc2l6ZSBtb2RlIGlzIHVuc3VwcG9ydGVkIikpOworCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWxsb2NhdGUgZmFpbGVkIikpOworCX0KK30KKworCitzdGF0aWMgaW50IHNraXBfaG9sZShpbnQgZmQsIG9mZl90ICpvZmYpCit7CisJb2ZmX3QgbmV3b2ZmOworCisJZXJybm8gPSAwOworCW5ld29mZgk9IGxzZWVrKGZkLCAqb2ZmLCBTRUVLX0RBVEEpOworCisJLyogRU5YSU8gbWVhbnMgdGhhdCB0aGVyZSBpcyBubyBtb3JlIGRhdGEgLS0gcHJvYmFibHkgc3BhcnNlIGhvbGUgYXQKKwkgKiB0aGUgZW5kIG9mIHRoZSBmaWxlICovCisJaWYgKG5ld29mZiA8IDAgJiYgZXJybm8gPT0gRU5YSU8pCisJCXJldHVybiAxOworCisJaWYgKG5ld29mZiA+ICpvZmYpIHsKKwkJKm9mZiA9IG5ld29mZjsKKwkJcmV0dXJuIDA7CS8qIHN1Y2Nlc3MgKi8KKwl9CisJcmV0dXJuIC0xOwkJLyogbm8gaG9sZSAqLworfQorCisvKiBUaGUgcmVhbCBidWZmZXIgc2l6ZSBoYXMgdG8gYmUgYnVmc2l6ZSArIHNpemVvZih1aW50cHRyX3QpICovCitzdGF0aWMgaW50IGlzX251bCh2b2lkICpidWYsIHNpemVfdCBidWZzaXplKQoreworCXR5cGVkZWYgdWludHB0cl90IHdvcmQ7CisJdm9pZCBjb25zdCAqdnA7CisJY2hhciBjb25zdCAqY2J1ZiA9IGJ1ZiwgKmNwOworCXdvcmQgY29uc3QgKndwID0gYnVmOworCisJLyogc2V0IHNlbnRpbmVsICovCisJbWVtc2V0KChjaGFyICopIGJ1ZiArIGJ1ZnNpemUsICdcMScsIHNpemVvZih3b3JkKSk7CisKKwkvKiBGaW5kIGZpcnN0IG5vbnplcm8gKndvcmQqLCBvciB0aGUgd29yZCB3aXRoIHRoZSBzZW50aW5lbC4gICovCisJd2hpbGUgKCp3cCsrID09IDApCisJCWNvbnRpbnVlOworCisJLyogRmluZCB0aGUgZmlyc3Qgbm9uemVybyAqYnl0ZSosIG9yIHRoZSBzZW50aW5lbC4gICovCisJdnAgPSB3cCAtIDE7CisJY3AgPSB2cDsKKworCXdoaWxlICgqY3ArKyA9PSAwKQorCQljb250aW51ZTsKKworCXJldHVybiBjYnVmICsgYnVmc2l6ZSA8IGNwOworfQorCitzdGF0aWMgdm9pZCBkaWdfaG9sZXMoaW50IGZkLCBvZmZfdCBvZmYsIG9mZl90IGxlbikKK3sKKwlvZmZfdCBlbmQgPSBsZW4gPyBvZmYgKyBsZW4gOiAwOworCW9mZl90IGhvbGVfc3RhcnQgPSAwLCBob2xlX3N6ID0gMDsKKwl1aW50bWF4X3QgY3QgPSAwOworCXNpemVfdCAgYnVmc3o7CisJY2hhciAqYnVmOworCXN0cnVjdCBzdGF0IHN0OworI2lmIGRlZmluZWQoUE9TSVhfRkFEVl9TRVFVRU5USUFMKSAmJiBkZWZpbmVkKEhBVkVfUE9TSVhfRkFEVklTRSkKKwlvZmZfdCBjYWNoZV9zdGFydCA9IG9mZjsKKwkvKgorCSAqIFdlIGRvbid0IHdhbnQgdG8gY2FsbCBQT1NJWF9GQURWX0RPTlRORUVEIHRvIGRpc2NhcmQgY2FjaGVkCisJICogZGF0YSBpbiBQQUdFX1NJWkUgc3RlcHMuIElNSE8gaXQncyBvdmVya2lsbCAodG9vIG1hbnkgc3lzY2FsbHMpLgorCSAqCisJICogTGV0J3MgYXNzdW1lIHRoYXQgMU1pQiAob24gc3lzdGVtIHdpdGggNEsgcGFnZSBzaXplKSBpcyBqdXN0CisJICogYSBnb29kIGNvbXByb21pc2UuCisJICoJCQkJCSAgICAtLSBremFrIEZlYi0yMDE0CisJICovCisJY29uc3Qgc2l6ZV90IGNhY2hlc3ogPSBnZXRwYWdlc2l6ZSgpICogMjU2OworI2VuZGlmCisKKwlpZiAoZnN0YXQoZmQsICZzdCkgIT0gMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygic3RhdCBvZiAlcyBmYWlsZWQiKSwgZmlsZW5hbWUpOworCisJYnVmc3ogPSBzdC5zdF9ibGtzaXplOworCisJaWYgKGxzZWVrKGZkLCBvZmYsIFNFRUtfU0VUKSA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oInNlZWsgb24gJXMgZmFpbGVkIiksIGZpbGVuYW1lKTsKKworCS8qIGJ1ZmZlciArIGV4dHJhIHNwYWNlIGZvciBpc19udWwoKSBzZW50aW5lbCAqLworCWJ1ZiA9IHhtYWxsb2MoYnVmc3ogKyBzaXplb2YodWludHB0cl90KSk7CisjaWYgZGVmaW5lZChQT1NJWF9GQURWX1NFUVVFTlRJQUwpICYmIGRlZmluZWQoSEFWRV9QT1NJWF9GQURWSVNFKQorCXBvc2l4X2ZhZHZpc2UoZmQsIG9mZiwgMCwgUE9TSVhfRkFEVl9TRVFVRU5USUFMKTsKKyNlbmRpZgorCisJd2hpbGUgKGVuZCA9PSAwIHx8IG9mZiA8IGVuZCkgeworCQlzc2l6ZV90IHJzejsKKworCQlyc3ogPSBwcmVhZChmZCwgYnVmLCBidWZzeiwgb2ZmKTsKKwkJaWYgKHJzeiA8IDAgJiYgZXJybm8pCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCIlczogcmVhZCBmYWlsZWQiKSwgZmlsZW5hbWUpOworCQlpZiAoZW5kICYmIHJzeiA+IDAgJiYgb2ZmID4gZW5kIC0gcnN6KQorCQkJcnN6ID0gZW5kIC0gb2ZmOworCQlpZiAocnN6IDw9IDApCisJCQlicmVhazsKKworCQlpZiAoaXNfbnVsKGJ1ZiwgcnN6KSkgeworCQkJaWYgKCFob2xlX3N6KSB7CQkJCS8qIG5ldyBob2xlIGRldGVjdGVkICovCisJCQkJaW50IHJjID0gc2tpcF9ob2xlKGZkLCAmb2ZmKTsKKwkJCQlpZiAocmMgPT0gMCkKKwkJCQkJY29udGludWU7CS8qIGhvbGUgc2tpcHBlZCAqLworCQkJCWVsc2UgaWYgKHJjID09IDEpCisJCQkJCWJyZWFrOwkJLyogZW5kIG9mIGZpbGUgKi8KKwkJCQlob2xlX3N0YXJ0ID0gb2ZmOworCQkJfQorCQkJaG9sZV9zeiArPSByc3o7CisJCSB9IGVsc2UgaWYgKGhvbGVfc3opIHsKKwkJCXhmYWxsb2NhdGUoZmQsIEZBTExPQ19GTF9QVU5DSF9IT0xFfEZBTExPQ19GTF9LRUVQX1NJWkUsCisJCQkJICAgaG9sZV9zdGFydCwgaG9sZV9zeik7CisJCQljdCArPSBob2xlX3N6OworCQkJaG9sZV9zeiA9IGhvbGVfc3RhcnQgPSAwOworCQl9CisKKyNpZiBkZWZpbmVkKFBPU0lYX0ZBRFZfRE9OVE5FRUQpICYmIGRlZmluZWQoSEFWRV9QT1NJWF9GQURWSVNFKQorCQkvKiBkaXNjYXJkIGNhY2hlZCBkYXRhICovCisJCWlmIChvZmYgLSBjYWNoZV9zdGFydCA+IChvZmZfdCkgY2FjaGVzeikgeworCQkJc2l6ZV90IGNsZW4gPSBvZmYgLSBjYWNoZV9zdGFydDsKKworCQkJY2xlbiA9IChjbGVuIC8gY2FjaGVzeikgKiBjYWNoZXN6OworCQkJcG9zaXhfZmFkdmlzZShmZCwgY2FjaGVfc3RhcnQsIGNsZW4sIFBPU0lYX0ZBRFZfRE9OVE5FRUQpOworCQkJY2FjaGVfc3RhcnQgPSBjYWNoZV9zdGFydCArIGNsZW47CisJCX0KKyNlbmRpZgorCQlvZmYgKz0gcnN6OworCX0KKworCWlmIChob2xlX3N6KSB7CisJCXhmYWxsb2NhdGUoZmQsIEZBTExPQ19GTF9QVU5DSF9IT0xFfEZBTExPQ19GTF9LRUVQX1NJWkUsCisJCQkJaG9sZV9zdGFydCwgaG9sZV9zeik7CisJCWN0ICs9IGhvbGVfc3o7CisJfQorCisJZnJlZShidWYpOworCisJaWYgKHZlcmJvc2UpIHsKKwkJY2hhciAqc3RyID0gc2l6ZV90b19odW1hbl9zdHJpbmcoU0laRV9TVUZGSVhfM0xFVFRFUiB8IFNJWkVfU1VGRklYX1NQQUNFLCBjdCk7CisJCWZwcmludGYoc3Rkb3V0LCBfKCIlczogJXMgKCVqdSBieXRlcykgY29udmVydGVkIHRvIHNwYXJzZSBob2xlcy5cbiIpLAorCQkJCWZpbGVuYW1lLCBzdHIsIGN0KTsKKwkJZnJlZShzdHIpOworCX0KK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludAljOworCWludAlmZDsKKwlpbnQJbW9kZSA9IDA7CisJaW50CWRpZyA9IDA7CisJbG9mZl90CWxlbmd0aCA9IC0yTEw7CisJbG9mZl90CW9mZnNldCA9IDA7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCSAgICB7ICJoZWxwIiwgICAgICAgICAgIDAsIDAsICdoJyB9LAorCSAgICB7ICJ2ZXJzaW9uIiwgICAgICAgIDAsIDAsICdWJyB9LAorCSAgICB7ICJrZWVwLXNpemUiLCAgICAgIDAsIDAsICduJyB9LAorCSAgICB7ICJwdW5jaC1ob2xlIiwgICAgIDAsIDAsICdwJyB9LAorCSAgICB7ICJjb2xsYXBzZS1yYW5nZSIsIDAsIDAsICdjJyB9LAorCSAgICB7ICJkaWctaG9sZXMiLCAgICAgIDAsIDAsICdkJyB9LAorCSAgICB7ICJ6ZXJvLXJhbmdlIiwgICAgIDAsIDAsICd6JyB9LAorCSAgICB7ICJvZmZzZXQiLCAgICAgICAgIDEsIDAsICdvJyB9LAorCSAgICB7ICJsZW5ndGgiLCAgICAgICAgIDEsIDAsICdsJyB9LAorCSAgICB7ICJ2ZXJib3NlIiwgICAgICAgIDAsIDAsICd2JyB9LAorCSAgICB7IE5VTEwsICAgICAgICAgICAgIDAsIDAsIDAgfQorCX07CisKKwlzdGF0aWMgY29uc3QgdWxfZXhjbF90IGV4Y2xbXSA9IHsJLyogcm93cyBhbmQgY29scyBpbiBpbiBBU0NJSSBvcmRlciAqLworCQl7ICdjJywgJ2QnLCAncCcsICd6JyB9LAorCQl7ICdjJywgJ24nIH0sCisJCXsgMCB9CisJfTsKKwlpbnQgZXhjbF9zdFtBUlJBWV9TSVpFKGV4Y2wpXSA9IFVMX0VYQ0xfU1RBVFVTX0lOSVQ7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImh2Vm5jcGR6bDpvOiIsIGxvbmdvcHRzLCBOVUxMKSkKKwkJCSE9IC0xKSB7CisKKwkJZXJyX2V4Y2x1c2l2ZV9vcHRpb25zKGMsIGxvbmdvcHRzLCBleGNsLCBleGNsX3N0KTsKKworCQlzd2l0Y2goYykgeworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCQlicmVhazsKKwkJY2FzZSAnYyc6CisJCQltb2RlIHw9IEZBTExPQ19GTF9DT0xMQVBTRV9SQU5HRTsKKwkJCWJyZWFrOworCQljYXNlICdkJzoKKwkJCWRpZyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnbCc6CisJCQlsZW5ndGggPSBjdnRudW0ob3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICduJzoKKwkJCW1vZGUgfD0gRkFMTE9DX0ZMX0tFRVBfU0laRTsKKwkJCWJyZWFrOworCQljYXNlICdvJzoKKwkJCW9mZnNldCA9IGN2dG51bShvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgJ3AnOgorCQkJbW9kZSB8PSBGQUxMT0NfRkxfUFVOQ0hfSE9MRSB8IEZBTExPQ19GTF9LRUVQX1NJWkU7CisJCQlicmVhazsKKwkJY2FzZSAneic6CisJCQltb2RlIHw9IEZBTExPQ19GTF9aRVJPX1JBTkdFOworCQkJYnJlYWs7CisJCWNhc2UgJ3YnOgorCQkJdmVyYm9zZSsrOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQlkZWZhdWx0OgorCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJaWYgKG9wdGluZCA9PSBhcmdjKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibm8gZmlsZW5hbWUgc3BlY2lmaWVkIikpOworCisJZmlsZW5hbWUgPSBhcmd2W29wdGluZCsrXTsKKworCWlmIChvcHRpbmQgIT0gYXJnYykKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuZXhwZWN0ZWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIpKTsKKworCWlmIChkaWcpIHsKKwkJLyogZm9yIC0tZGlnLWhvbGVzIHRoZSBkZWZhdWx0IGlzIGFuYWx5emUgYWxsIGZpbGUgKi8KKwkJaWYgKGxlbmd0aCA9PSAtMkxMKQorCQkJbGVuZ3RoID0gMDsKKwkJaWYgKGxlbmd0aCA8IDApCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiaW52YWxpZCBsZW5ndGggdmFsdWUgc3BlY2lmaWVkIikpOworCX0gZWxzZSB7CisJCS8qIGl0J3Mgc2FmZXIgdG8gcmVxdWlyZSB0aGUgcmFuZ2Ugc3BlY2lmaWNhdGlvbiAoLS1sZW5ndGggLS1vZmZzZXQpICovCisJCWlmIChsZW5ndGggPT0gLTJMTCkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBsZW5ndGggYXJndW1lbnQgc3BlY2lmaWVkIikpOworCQlpZiAobGVuZ3RoIDw9IDApCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiaW52YWxpZCBsZW5ndGggdmFsdWUgc3BlY2lmaWVkIikpOworCX0KKwlpZiAob2Zmc2V0IDwgMCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImludmFsaWQgb2Zmc2V0IHZhbHVlIHNwZWNpZmllZCIpKTsKKworCS8qIE9fQ1JFQVQgbWFrZXMgc2Vuc2Ugb25seSBmb3IgdGhlIGRlZmF1bHQgZmFsbG9jYXRlKDIpIGJlaGF2aW9yCisJICogd2hlbiBtb2RlIGlzIG5vIHNwZWNpZmllZCBhbmQgbmV3IHNwYWNlIGlzIGFsbG9jYXRlZCAqLworCWZkID0gb3BlbihmaWxlbmFtZSwgT19SRFdSIHwgKCFkaWcgJiYgIW1vZGUgPyBPX0NSRUFUIDogMCksCisJCSAgU19JUlVTUiB8IFNfSVdVU1IgfCBTX0lSR1JQIHwgU19JV0dSUCB8IFNfSVJPVEggfCBTX0lXT1RIKTsKKwlpZiAoZmQgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBmaWxlbmFtZSk7CisKKwlpZiAoZGlnKQorCQlkaWdfaG9sZXMoZmQsIG9mZnNldCwgbGVuZ3RoKTsKKwllbHNlCisJCXhmYWxsb2NhdGUoZmQsIG1vZGUsIG9mZnNldCwgbGVuZ3RoKTsKKworCWlmIChjbG9zZV9mZChmZCkgIT0gMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygid3JpdGUgZmFpbGVkOiAlcyIpLCBmaWxlbmFtZSk7CisKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL2Zsb2NrLjEgYi9zeXMtdXRpbHMvZmxvY2suMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMTBjZGU1Ci0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2Zsb2NrLjEKQEAgLTAsMCArMSwxOTcgQEAKKy5cIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLlwiCisuXCIgICBDb3B5cmlnaHQgMjAwMy0yMDA2IEguIFBldGVyIEFudmluIC0gQWxsIFJpZ2h0cyBSZXNlcnZlZAorLlwiCisuXCIgICBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbgorLlwiICAgb2J0YWluaW5nIGEgY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24KKy5cIiAgIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQKKy5cIiAgIHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLAorLlwiICAgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yCisuXCIgICBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tCisuXCIgICB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcKKy5cIiAgIGNvbmRpdGlvbnM6CisuXCIKKy5cIiAgIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsCisuXCIgICBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKy5cIgorLlwiICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisuXCIgICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMKKy5cIiAgIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5ECisuXCIgICBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVAorLlwiICAgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksCisuXCIgICBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKKy5cIiAgIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IKKy5cIiAgIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKy5cIgorLlwiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisuVEggRkxPQ0sgMSAiSnVseSAyMDE0IiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQorZmxvY2sgXC0gbWFuYWdlIGxvY2tzIGZyb20gc2hlbGwgc2NyaXB0cworLlNIIFNZTk9QU0lTCisuQiBmbG9jaworW29wdGlvbnNdCisuSVIgZmlsZSB8ICJkaXJlY3RvcnkgY29tbWFuZCAiIFsgYXJndW1lbnRzIF0KKy5icgorLkIgZmxvY2sKK1tvcHRpb25zXQorLklSIGZpbGUgfCBkaXJlY3RvcnkKKy5CSSBcLWMgIiBjb21tYW5kIgorLmJyCisuQiBmbG9jaworLlJJIFtvcHRpb25zXSAiIG51bWJlciIKKy5TSCBERVNDUklQVElPTgorLlBQCitUaGlzIHV0aWxpdHkgbWFuYWdlcworLkJSIGZsb2NrICgyKQorbG9ja3MgZnJvbSB3aXRoaW4gc2hlbGwgc2NyaXB0cyBvciBmcm9tIHRoZSBjb21tYW5kIGxpbmUuCisuUFAKK1RoZSBmaXJzdCBhbmQgc2Vjb25kIG9mIHRoZSBhYm92ZSBmb3JtcyB3cmFwIHRoZSBsb2NrIGFyb3VuZCB0aGUgZXhlY3V0aW9uIG9mIGEKKy5JUiBjb21tYW5kICwKK2luIGEgbWFubmVyIHNpbWlsYXIgdG8KKy5CUiBzdSAoMSkKK29yCisuQlIgbmV3Z3JwICgxKS4KK1RoZXkgbG9jayBhIHNwZWNpZmllZCBcZklmaWxlXGZSIG9yIFxmSWRpcmVjdG9yeVxmUiwgd2hpY2ggaXMgY3JlYXRlZCAoYXNzdW1pbmcKK2FwcHJvcHJpYXRlIHBlcm1pc3Npb25zKSBpZiBpdCBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0LiAgQnkgZGVmYXVsdCwgaWYgdGhlCitsb2NrIGNhbm5vdCBiZSBpbW1lZGlhdGVseSBhY3F1aXJlZCwKKy5CIGZsb2NrCit3YWl0cyB1bnRpbCB0aGUgbG9jayBpcyBhdmFpbGFibGUuCisuUFAKK1RoZSB0aGlyZCBmb3JtIHVzZXMgYW4gb3BlbiBmaWxlIGJ5IGl0cyBmaWxlIGRlc2NyaXB0b3IgXGZJbnVtYmVyXGZSLgorU2VlIHRoZSBleGFtcGxlcyBiZWxvdyBmb3IgaG93IHRoYXQgY2FuIGJlIHVzZWQuCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1jICwgIiBcLVwtY29tbWFuZCAiIFxmSWNvbW1hbmQKK1Bhc3MgYSBzaW5nbGUgXGZJY29tbWFuZFxmUiwgd2l0aG91dCBhcmd1bWVudHMsIHRvIHRoZSBzaGVsbCB3aXRoCisuQlIgXC1jIC4KKy5UUAorLkJSIFwtRSAsICIgXC1cLWNvbmZsaWN0XC1leGl0XC1jb2RlICIgXGZJbnVtYmVyCitUaGUgZXhpdCBjb2RlIHVzZWQgd2hlbiB0aGUgXGZCXC1uXGZQIG9wdGlvbiBpcyBpbiB1c2UsIGFuZCB0aGUKK2NvbmZsaWN0aW5nIGxvY2sgZXhpc3RzLCBvciB0aGUgXGZCXC13XGZQIG9wdGlvbiBpcyBpbiB1c2UsCithbmQgdGhlIHRpbWVvdXQgaXMgcmVhY2hlZC4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzIFxmQjFcZlIuCisuVFAKKy5CUiBcLUYgLCAiIFwtXC1ub1wtZm9yayIKK0RvIG5vdCBmb3JrIGJlZm9yZSBleGVjdXRpbmcKKy5JUiBjb21tYW5kIC4KK1Vwb24gZXhlY3V0aW9uIHRoZSBmbG9jayBwcm9jZXNzIGlzIHJlcGxhY2VkIGJ5CisuSVIgY29tbWFuZAord2hpY2ggY29udGludWVzIHRvIGhvbGQgdGhlIGxvY2suIFRoaXMgb3B0aW9uIGlzIGluY29tcGF0aWJsZSB3aXRoCitcZkJcLVwtY2xvc2VcZlIgYXMgdGhlcmUgd291bGQgb3RoZXJ3aXNlIGJlIG5vdGhpbmcgbGVmdCB0byBob2xkIHRoZSBsb2NrLgorLlRQCisuQlIgXC1lICwgIiBcLXgiICwgIiBcLVwtZXhjbHVzaXZlIgorT2J0YWluIGFuIGV4Y2x1c2l2ZSBsb2NrLCBzb21ldGltZXMgY2FsbGVkIGEgd3JpdGUgbG9jay4gIFRoaXMgaXMgdGhlCitkZWZhdWx0LgorLlRQCisuQlIgXC1uICwgIiBcLVwtbmIiICwgIiBcLVwtbm9uYmxvY2siCitGYWlsIHJhdGhlciB0aGFuIHdhaXQgaWYgdGhlIGxvY2sgY2Fubm90IGJlCitpbW1lZGlhdGVseSBhY3F1aXJlZC4KK1NlZSB0aGUKKy5CIFwtRQorb3B0aW9uIGZvciB0aGUgZXhpdCBjb2RlIHVzZWQuCisuVFAKKy5CUiBcLW8gLCAiIFwtXC1jbG9zZSIKK0Nsb3NlIHRoZSBmaWxlIGRlc2NyaXB0b3Igb24gd2hpY2ggdGhlIGxvY2sgaXMgaGVsZCBiZWZvcmUgZXhlY3V0aW5nCisuSVIgY29tbWFuZCAuCitUaGlzIGlzIHVzZWZ1bCBpZgorLkkgY29tbWFuZAorc3Bhd25zIGEgY2hpbGQgcHJvY2VzcyB3aGljaCBzaG91bGQgbm90IGJlIGhvbGRpbmcgdGhlIGxvY2suCisuVFAKKy5CUiBcLXMgLCAiIFwtXC1zaGFyZWQiCitPYnRhaW4gYSBzaGFyZWQgbG9jaywgc29tZXRpbWVzIGNhbGxlZCBhIHJlYWQgbG9jay4KKy5UUAorLkJSIFwtdSAsICIgXC1cLXVubG9jayIKK0Ryb3AgYSBsb2NrLiAgVGhpcyBpcyB1c3VhbGx5IG5vdCByZXF1aXJlZCwgc2luY2UgYSBsb2NrIGlzIGF1dG9tYXRpY2FsbHkKK2Ryb3BwZWQgd2hlbiB0aGUgZmlsZSBpcyBjbG9zZWQuICBIb3dldmVyLCBpdCBtYXkgYmUgcmVxdWlyZWQgaW4gc3BlY2lhbAorY2FzZXMsIGZvciBleGFtcGxlIGlmIHRoZSBlbmNsb3NlZCBjb21tYW5kIGdyb3VwIG1heSBoYXZlIGZvcmtlZCBhIGJhY2tncm91bmQKK3Byb2Nlc3Mgd2hpY2ggc2hvdWxkIG5vdCBiZSBob2xkaW5nIHRoZSBsb2NrLgorLlRQCisuQlIgXC13ICwgIiBcLVwtd2FpdCIgLCAiIFwtXC10aW1lb3V0ICIgXGZJc2Vjb25kcworRmFpbCBpZiB0aGUgbG9jayBjYW5ub3QgYmUgYWNxdWlyZWQgd2l0aGluCisuSVIgc2Vjb25kcyAuCitEZWNpbWFsIGZyYWN0aW9uYWwgdmFsdWVzIGFyZSBhbGxvd2VkLgorU2VlIHRoZQorLkIgXC1FCitvcHRpb24gZm9yIHRoZSBleGl0IGNvZGUgdXNlZC4gVGhlIHplcm8gbnVtYmVyIG9mCisuSVIgc2Vjb25kcworaXMgaW50ZXJwcmV0ZWQgYXMgXGZCXC1cLW5vbmJsb2NrXGZSLgorLlRQCisuQiBcLVwtdmVyYm9zZQorUmVwb3J0IGhvdyBsb25nIGl0IHRvb2sgdG8gYWNxdWlyZSB0aGUgbG9jaywgb3Igd2h5IHRoZSBsb2NrIGNvdWxkIG5vdCBiZQorb2J0YWluZWQuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIIEVYQU1QTEVTCisuVFAKK3NoZWxsMT4gZmxvY2sgL3RtcCAtYyBjYXQKKy5UUQorc2hlbGwyPiBmbG9jayAtdyAuMDA3IC90bXAgLWMgZWNobzsgL2Jpbi9lY2hvICQ/CitTZXQgZXhjbHVzaXZlIGxvY2sgdG8gZGlyZWN0b3J5IC90bXAgYW5kIHRoZSBzZWNvbmQgY29tbWFuZCB3aWxsIGZhaWwuCisuVFAKK3NoZWxsMT4gZmxvY2sgLXMgL3RtcCAtYyBjYXQKKy5UUQorc2hlbGwyPiBmbG9jayAtcyAtdyAuMDA3IC90bXAgLWMgZWNobzsgL2Jpbi9lY2hvICQ/CitTZXQgc2hhcmVkIGxvY2sgdG8gZGlyZWN0b3J5IC90bXAgYW5kIHRoZSBzZWNvbmQgY29tbWFuZCB3aWxsIG5vdCBmYWlsLgorTm90aWNlIHRoYXQgYXR0ZW1wdGluZyB0byBnZXQgZXhjbHVzaXZlIGxvY2sgd2l0aCBzZWNvbmQgY29tbWFuZCB3b3VsZCBmYWlsLgorLlRQCitzaGVsbD4gZmxvY2sgLXggbG9jYWwtbG9jay1maWxlIGVjaG8gJ2EgYiBjJworR3JhYiB0aGUgZXhjbHVzaXZlIGxvY2sgImxvY2FsLWxvY2stZmlsZSIgYmVmb3JlIHJ1bm5pbmcgZWNobyB3aXRoICdhIGIgYycuCisuVFAKKygKKy5UUQorICBmbG9jayAtbiA5IHx8IGV4aXQgMQorLlRRCisgICMgLi4uIGNvbW1hbmRzIGV4ZWN1dGVkIHVuZGVyIGxvY2sgLi4uCisuVFEKKykgOT4vdmFyL2xvY2svbXlsb2NrZmlsZQorVGhlIGZvcm0gaXMgY29udmVuaWVudCBpbnNpZGUgc2hlbGwgc2NyaXB0cy4gIFRoZSBtb2RlIHVzZWQgdG8gb3BlbiB0aGUgZmlsZQorZG9lc24ndCBtYXR0ZXIgdG8KKy5CUiBmbG9jayA7Cit1c2luZworLkkgPgorb3IKKy5JID4+CithbGxvd3MgdGhlIGxvY2tmaWxlIHRvIGJlIGNyZWF0ZWQgaWYgaXQgZG9lcyBub3QgYWxyZWFkeSBleGlzdCwgaG93ZXZlciwKK3dyaXRlIHBlcm1pc3Npb24gaXMgcmVxdWlyZWQuICBVc2luZworLkkgPAorcmVxdWlyZXMgdGhhdCB0aGUgZmlsZSBhbHJlYWR5IGV4aXN0cyBidXQgb25seSByZWFkIHBlcm1pc3Npb24gaXMgcmVxdWlyZWQuCisuVFAKK1sgIiR7RkxPQ0tFUn0iICE9ICIkMCIgXSAmJiBleGVjIGVudiBGTE9DS0VSPSIkMCIgZmxvY2sgLWVuICIkMCIgIiQwIiAiJEAiIHx8IDoKK1RoaXMgaXMgdXNlZnVsIGJvaWxlcnBsYXRlIGNvZGUgZm9yIHNoZWxsIHNjcmlwdHMuICBQdXQgaXQgYXQgdGhlIHRvcCBvZiB0aGUKK3NoZWxsIHNjcmlwdCB5b3Ugd2FudCB0byBsb2NrIGFuZCBpdCdsbCBhdXRvbWF0aWNhbGx5IGxvY2sgaXRzZWxmIG9uIHRoZSBmaXJzdAorcnVuLiAgSWYgdGhlIGVudiB2YXIgJEZMT0NLRVIgaXMgbm90IHNldCB0byB0aGUgc2hlbGwgc2NyaXB0IHRoYXQgaXMgYmVpbmcgcnVuLAordGhlbiBleGVjdXRlIGZsb2NrIGFuZCBncmFiIGFuIGV4Y2x1c2l2ZSBub24tYmxvY2tpbmcgbG9jayAodXNpbmcgdGhlIHNjcmlwdAoraXRzZWxmIGFzIHRoZSBsb2NrIGZpbGUpIGJlZm9yZSByZS1leGVjaW5nIGl0c2VsZiB3aXRoIHRoZSByaWdodCBhcmd1bWVudHMuICBJdAorYWxzbyBzZXRzIHRoZSBGTE9DS0VSIGVudiB2YXIgdG8gdGhlIHJpZ2h0IHZhbHVlIHNvIGl0IGRvZXNuJ3QgcnVuIGFnYWluLgorLlNIICJFWElUIFNUQVRVUyIKK1RoZSBjb21tYW5kIHVzZXMKKy5CIHN5c2V4aXRzLmgKK3JldHVybiB2YWx1ZXMgZm9yIGV2ZXJ5dGhpbmcsIGV4Y2VwdCB3aGVuIHVzaW5nIGVpdGhlciBvZiB0aGUgb3B0aW9ucworLkIgXC1uCitvcgorLkIgXC13Cit3aGljaCByZXBvcnQgYSBmYWlsdXJlIHRvIGFjcXVpcmUgdGhlIGxvY2sgd2l0aCBhIHJldHVybiB2YWx1ZSBnaXZlbiBieSB0aGUKKy5CIFwtRQorb3B0aW9uLCBvciAxIGJ5IGRlZmF1bHQuCisuUFAKK1doZW4gdXNpbmcgdGhlIFxmSWNvbW1hbmRcZlIgdmFyaWFudCwgYW5kIGV4ZWN1dGluZyB0aGUgY2hpbGQgd29ya2VkLCB0aGVuCit0aGUgZXhpdCBzdGF0dXMgaXMgdGhhdCBvZiB0aGUgY2hpbGQgY29tbWFuZC4KKy5TSCBBVVRIT1IKKy5VUiBocGFAenl0b3IuY29tCitILiBQZXRlciBBbnZpbgorLlVFCisuU0ggQ09QWVJJR0hUCitDb3B5cmlnaHQgXChjbyAyMDAzXC0yMDA2IEguIFBldGVyIEFudmluLgorLmJyCitUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTword2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuCisuU0ggIlNFRSBBTFNPIgorLkJSIGZsb2NrICgyKQorLlNIIEFWQUlMQUJJTElUWQorVGhlIGZsb2NrIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGZ0cDovL1w6ZnRwLmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL2Zsb2NrLmMgYi9zeXMtdXRpbHMvZmxvY2suYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kY2QwZjVlCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2Zsb2NrLmMKQEAgLTAsMCArMSwzNzkgQEAKKy8qICAgQ29weXJpZ2h0IDIwMDMtMjAwNSBILiBQZXRlciBBbnZpbiAtIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyAqCisgKiAgIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uCisgKiAgIG9idGFpbmluZyBhIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uCisgKiAgIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQKKyAqICAgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsCisgKiAgIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vcgorICogICBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tCisgKiAgIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZworICogICBjb25kaXRpb25zOgorICoKKyAqICAgVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwKKyAqICAgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyAqICAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTCisgKiAgIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5ECisgKiAgIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUCisgKiAgIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLAorICogICBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKKyAqICAgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUgorICogICBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKi8KKworI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHBhdGhzLmg+CisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXNleGl0cy5oPgorI2luY2x1ZGUgPHN5cy9maWxlLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy93YWl0Lmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgIm1vbm90b25pYy5oIgorI2luY2x1ZGUgInRpbWVyLmgiCisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKGludCBleCkKK3sKKwlmcHJpbnRmKHN0ZGVyciwgVVNBR0VfSEVBREVSKTsKKwlmcHJpbnRmKHN0ZGVyciwKKwkJXygiICUxJHMgW29wdGlvbnNdIDxmaWxlPnw8ZGlyZWN0b3J5PiA8Y29tbWFuZD4gWzxhcmd1bWVudD4uLi5dXG4iCisJCSAgIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gLWMgPGNvbW1hbmQ+XG4iCisJCSAgIiAlMSRzIFtvcHRpb25zXSA8ZmlsZSBkZXNjcmlwdG9yIG51bWJlcj5cbiIpLAorCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIHN0ZGVycik7CisJZnB1dHMoXygiTWFuYWdlIGZpbGUgbG9ja3MgZnJvbSBzaGVsbCBzY3JpcHRzLlxuIiksIHN0ZGVycik7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBzdGRlcnIpOworCWZwdXRzKF8oICAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBnZXQgYSBzaGFyZWQgbG9ja1xuIiksIHN0ZGVycik7CisJZnB1dHMoXyggICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIGdldCBhbiBleGNsdXNpdmUgbG9jayAoZGVmYXVsdClcbiIpLCBzdGRlcnIpOworCWZwdXRzKF8oICAiIC11LCAtLXVubG9jayAgICAgICAgICAgICByZW1vdmUgYSBsb2NrXG4iKSwgc3RkZXJyKTsKKwlmcHV0cyhfKCAgIiAtbiwgLS1ub25ibG9jayAgICAgICAgICAgZmFpbCByYXRoZXIgdGhhbiB3YWl0XG4iKSwgc3RkZXJyKTsKKwlmcHV0cyhfKCAgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iKSwgc3RkZXJyKTsKKwlmcHV0cyhfKCAgIiAtRSwgLS1jb25mbGljdC1leGl0LWNvZGUgPG51bWJlcj4gIGV4aXQgY29kZSBhZnRlciBjb25mbGljdCBvciB0aW1lb3V0XG4iKSwgc3RkZXJyKTsKKwlmcHV0cyhfKCAgIiAtbywgLS1jbG9zZSAgICAgICAgICAgICAgY2xvc2UgZmlsZSBkZXNjcmlwdG9yIGJlZm9yZSBydW5uaW5nIGNvbW1hbmRcbiIpLCBzdGRlcnIpOworCWZwdXRzKF8oICAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICBydW4gYSBzaW5nbGUgY29tbWFuZCBzdHJpbmcgdGhyb3VnaCB0aGUgc2hlbGxcbiIpLCBzdGRlcnIpOworCWZwdXRzKF8oICAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgICBleGVjdXRlIGNvbW1hbmQgd2l0aG91dCBmb3JraW5nXG4iKSwgc3RkZXJyKTsKKwlmcHV0cyhfKCAgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgaW5jcmVhc2UgdmVyYm9zaXR5XG4iKSwgc3RkZXJyKTsKKwlmcHJpbnRmKHN0ZGVyciwgVVNBR0VfU0VQQVJBVE9SKTsKKwlmcHJpbnRmKHN0ZGVyciwgVVNBR0VfSEVMUCk7CisJZnByaW50ZihzdGRlcnIsIFVTQUdFX1ZFUlNJT04pOworCWZwcmludGYoc3RkZXJyLCBVU0FHRV9NQU5fVEFJTCgiZmxvY2soMSkiKSk7CisJZXhpdChleCk7Cit9CisKK3N0YXRpYyBzaWdfYXRvbWljX3QgdGltZW91dF9leHBpcmVkID0gMDsKKworc3RhdGljIHZvaWQgdGltZW91dF9oYW5kbGVyKGludCBzaWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpLAorCQkJICAgIHNpZ2luZm9fdCAqaW5mbywKKwkJCSAgICB2b2lkICpjb250ZXh0IF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlpZiAoaW5mby0+c2lfY29kZSA9PSBTSV9USU1FUikKKwkJdGltZW91dF9leHBpcmVkID0gMTsKK30KKworc3RhdGljIGludCBvcGVuX2ZpbGUoY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCAqZmxhZ3MpCit7CisKKwlpbnQgZmQ7CisJaW50IGZsID0gKmZsYWdzID09IDAgPyBPX1JET05MWSA6ICpmbGFnczsKKworCWVycm5vID0gMDsKKwlmbCB8PSBPX05PQ1RUWSB8IE9fQ1JFQVQ7CisJZmQgPSBvcGVuKGZpbGVuYW1lLCBmbCwgMDY2Nik7CisKKwkvKiBMaW51eCBkb2Vzbid0IGxpa2UgT19DUkVBVCBvbiBhIGRpcmVjdG9yeSwgZXZlbiB0aG91Z2ggaXQKKwkgKiBzaG91bGQgYmUgYSBuby1vcDsgUE9TSVggZG9lc24ndCBhbGxvdyBPX1JEV1Igb3IgT19XUk9OTFkKKwkgKi8KKwlpZiAoZmQgPCAwICYmIGVycm5vID09IEVJU0RJUikgeworCQlmbCA9IE9fUkRPTkxZIHwgT19OT0NUVFk7CisJCWZkID0gb3BlbihmaWxlbmFtZSwgZmwpOworCX0KKwlpZiAoZmQgPCAwKSB7CisJCXdhcm4oXygiY2Fubm90IG9wZW4gbG9jayBmaWxlICVzIiksIGZpbGVuYW1lKTsKKwkJaWYgKGVycm5vID09IEVOT01FTSB8fCBlcnJubyA9PSBFTUZJTEUgfHwgZXJybm8gPT0gRU5GSUxFKQorCQkJZXhpdChFWF9PU0VSUik7CisJCWlmIChlcnJubyA9PSBFUk9GUyB8fCBlcnJubyA9PSBFTk9TUEMpCisJCQlleGl0KEVYX0NBTlRDUkVBVCk7CisJCWV4aXQoRVhfTk9JTlBVVCk7CisJfQorCSpmbGFncyA9IGZsOworCXJldHVybiBmZDsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgcnVuX3Byb2dyYW0oY2hhciAqKmNtZF9hcmd2KQoreworCWV4ZWN2cChjbWRfYXJndlswXSwgY21kX2FyZ3YpOworCisJd2FybihfKCJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIpLCBjbWRfYXJndlswXSk7CisJX2V4aXQoKGVycm5vID09IEVOT01FTSkgPyBFWF9PU0VSUiA6IEVYX1VOQVZBSUxBQkxFKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdGF0aWMgdGltZXJfdCB0X2lkOworCXN0cnVjdCBpdGltZXJ2YWwgdGltZW91dDsKKwlpbnQgaGF2ZV90aW1lb3V0ID0gMDsKKwlpbnQgdHlwZSA9IExPQ0tfRVg7CisJaW50IGJsb2NrID0gMDsKKwlpbnQgb3Blbl9mbGFncyA9IDA7CisJaW50IGZkID0gLTE7CisJaW50IG9wdCwgaXg7CisJaW50IGRvX2Nsb3NlID0gMDsKKwlpbnQgbm9fZm9yayA9IDA7CisJaW50IHN0YXR1czsKKwlpbnQgdmVyYm9zZSA9IDA7CisJc3RydWN0IHRpbWV2YWwgdGltZV9zdGFydCwgdGltZV9kb25lOworCS8qCisJICogVGhlIGRlZmF1bHQgZXhpdCBjb2RlIGZvciBsb2NrIGNvbmZsaWN0IG9yIHRpbWVvdXQKKwkgKiBpcyBzcGVjaWZpZWQgaW4gbWFuIGZsb2NrLjEKKwkgKi8KKwlpbnQgY29uZmxpY3RfZXhpdF9jb2RlID0gMTsKKwljaGFyICoqY21kX2FyZ3YgPSBOVUxMLCAqc2hfY19hcmd2WzRdOworCWNvbnN0IGNoYXIgKmZpbGVuYW1lID0gTlVMTDsKKwllbnVtIHsKKwkJT1BUX1ZFUkJPU0UgPSBDSEFSX01BWCArIDEKKwl9OworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdfb3B0aW9uc1tdID0geworCQl7InNoYXJlZCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAncyd9LAorCQl7ImV4Y2x1c2l2ZSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAneCd9LAorCQl7InVubG9jayIsIG5vX2FyZ3VtZW50LCBOVUxMLCAndSd9LAorCQl7Im5vbmJsb2NraW5nIiwgbm9fYXJndW1lbnQsIE5VTEwsICduJ30sCisJCXsibmIiLCBub19hcmd1bWVudCwgTlVMTCwgJ24nfSwKKwkJeyJ0aW1lb3V0IiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICd3J30sCisJCXsid2FpdCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAndyd9LAorCQl7ImNvbmZsaWN0LWV4aXQtY29kZSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnRSd9LAorCQl7ImNsb3NlIiwgbm9fYXJndW1lbnQsIE5VTEwsICdvJ30sCisJCXsibm8tZm9yayIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnRid9LAorCQl7InZlcmJvc2UiLCBub19hcmd1bWVudCwgTlVMTCwgT1BUX1ZFUkJPU0V9LAorCQl7ImhlbHAiLCBub19hcmd1bWVudCwgTlVMTCwgJ2gnfSwKKwkJeyJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsIE5VTEwsICdWJ30sCisJCXtOVUxMLCAwLCBOVUxMLCAwfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJaWYgKGFyZ2MgPCAyKQorCQl1c2FnZShFWF9VU0FHRSk7CisKKwltZW1zZXQoJnRpbWVvdXQsIDAsIHNpemVvZiB0aW1lb3V0KTsKKworCW9wdG9wdCA9IDA7CisJd2hpbGUgKChvcHQgPQorCQlnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiK3NleG5vRnV3OkU6aFY/IiwgbG9uZ19vcHRpb25zLAorCQkJICAgICZpeCkpICE9IEVPRikgeworCQlzd2l0Y2ggKG9wdCkgeworCQljYXNlICdzJzoKKwkJCXR5cGUgPSBMT0NLX1NIOworCQkJYnJlYWs7CisJCWNhc2UgJ2UnOgorCQljYXNlICd4JzoKKwkJCXR5cGUgPSBMT0NLX0VYOworCQkJYnJlYWs7CisJCWNhc2UgJ3UnOgorCQkJdHlwZSA9IExPQ0tfVU47CisJCQlicmVhazsKKwkJY2FzZSAnbyc6CisJCQlkb19jbG9zZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnRic6CisJCQlub19mb3JrID0gMTsKKwkJCWJyZWFrOworCQljYXNlICduJzoKKwkJCWJsb2NrID0gTE9DS19OQjsKKwkJCWJyZWFrOworCQljYXNlICd3JzoKKwkJCWhhdmVfdGltZW91dCA9IDE7CisJCQlzdHJ0b3RpbWV2YWxfb3JfZXJyKG9wdGFyZywgJnRpbWVvdXQuaXRfdmFsdWUsCisJCQkJXygiaW52YWxpZCB0aW1lb3V0IHZhbHVlIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ0UnOgorCQkJY29uZmxpY3RfZXhpdF9jb2RlID0gc3RydG9zMzJfb3JfZXJyKG9wdGFyZywKKwkJCQlfKCJpbnZhbGlkIGV4aXQgY29kZSIpKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9WRVJCT1NFOgorCQkJdmVyYm9zZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCWV4aXQoRVhfT0spOworCQlkZWZhdWx0OgorCQkJLyogb3B0b3B0IHdpbGwgYmUgc2V0IGlmIHRoaXMgd2FzIGFuIHVucmVjb2duaXplZAorCQkJICogb3B0aW9uLCBpLmUuICAqbm90KiAnaCcgb3IgJz8KKwkJCSAqLworCQkJdXNhZ2Uob3B0b3B0ID8gRVhfVVNBR0UgOiAwKTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJaWYgKG5vX2ZvcmsgJiYgZG9fY2xvc2UpCisJCWVycngoRVhfVVNBR0UsCisJCQlfKCJ0aGUgLS1uby1mb3JrIGFuZCAtLWNsb3NlIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZSIpKTsKKworCWlmIChhcmdjID4gb3B0aW5kICsgMSkgeworCQkvKiBSdW4gY29tbWFuZCAqLworCQlpZiAoIXN0cmNtcChhcmd2W29wdGluZCArIDFdLCAiLWMiKSB8fAorCQkgICAgIXN0cmNtcChhcmd2W29wdGluZCArIDFdLCAiLS1jb21tYW5kIikpIHsKKwkJCWlmIChhcmdjICE9IG9wdGluZCArIDMpCisJCQkJZXJyeChFWF9VU0FHRSwKKwkJCQkgICAgIF8oIiVzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGNvbW1hbmQgYXJndW1lbnQiKSwKKwkJCQkgICAgIGFyZ3Zbb3B0aW5kICsgMV0pOworCQkJY21kX2FyZ3YgPSBzaF9jX2FyZ3Y7CisJCQljbWRfYXJndlswXSA9IGdldGVudigiU0hFTEwiKTsKKwkJCWlmICghY21kX2FyZ3ZbMF0gfHwgISpjbWRfYXJndlswXSkKKwkJCQljbWRfYXJndlswXSA9IF9QQVRIX0JTSEVMTDsKKwkJCWNtZF9hcmd2WzFdID0gIi1jIjsKKwkJCWNtZF9hcmd2WzJdID0gYXJndltvcHRpbmQgKyAyXTsKKwkJCWNtZF9hcmd2WzNdID0gMDsKKwkJfSBlbHNlIHsKKwkJCWNtZF9hcmd2ID0gJmFyZ3Zbb3B0aW5kICsgMV07CisJCX0KKworCQlmaWxlbmFtZSA9IGFyZ3Zbb3B0aW5kXTsKKwkJZmQgPSBvcGVuX2ZpbGUoZmlsZW5hbWUsICZvcGVuX2ZsYWdzKTsKKworCX0gZWxzZSBpZiAob3B0aW5kIDwgYXJnYykgeworCQkvKiBVc2UgcHJvdmlkZWQgZmlsZSBkZXNjcmlwdG9yICovCisJCWZkID0gc3RydG9zMzJfb3JfZXJyKGFyZ3Zbb3B0aW5kXSwgXygiYmFkIGZpbGUgZGVzY3JpcHRvciIpKTsKKwl9IGVsc2UgeworCQkvKiBCYWQgb3B0aW9ucyAqLworCQllcnJ4KEVYX1VTQUdFLCBfKCJyZXF1aXJlcyBmaWxlIGRlc2NyaXB0b3IsIGZpbGUgb3IgZGlyZWN0b3J5IikpOworCX0KKworCWlmIChoYXZlX3RpbWVvdXQpIHsKKwkJaWYgKHRpbWVvdXQuaXRfdmFsdWUudHZfc2VjID09IDAgJiYKKwkJICAgIHRpbWVvdXQuaXRfdmFsdWUudHZfdXNlYyA9PSAwKSB7CisJCQkvKiAtdyAwIGlzIGVxdWl2YWxlbnQgdG8gLW47IHRoaXMgaGFzIHRvIGJlCisJCQkgKiBzcGVjaWFsLWNhc2VkIGJlY2F1c2Ugc2V0dGluZyBhbiBpdGltZXIgdG8gemVybworCQkJICogbWVhbnMgZGlzYWJsZWQhCisJCQkgKi8KKwkJCWhhdmVfdGltZW91dCA9IDA7CisJCQlibG9jayA9IExPQ0tfTkI7CisJCX0gZWxzZQorCQkJaWYgKHNldHVwX3RpbWVyKCZ0X2lkLCAmdGltZW91dCwgJnRpbWVvdXRfaGFuZGxlcikpCisJCQkJZXJyKEVYX09TRVJSLCBfKCJjYW5ub3Qgc2V0IHVwIHRpbWVyIikpOworCX0KKworCWlmICh2ZXJib3NlKQorCQlnZXR0aW1lX21vbm90b25pYygmdGltZV9zdGFydCk7CisJd2hpbGUgKGZsb2NrKGZkLCB0eXBlIHwgYmxvY2spKSB7CisJCXN3aXRjaCAoZXJybm8pIHsKKwkJY2FzZSBFV09VTERCTE9DSzoKKwkJCS8qIC1uIG9wdGlvbiBzZXQgYW5kIGZhaWxlZCB0byBsb2NrLiAqLworCQkJaWYgKHZlcmJvc2UpCisJCQkJd2FybngoXygiZmFpbGVkIHRvIGdldCBsb2NrIikpOworCQkJZXhpdChjb25mbGljdF9leGl0X2NvZGUpOworCQljYXNlIEVJTlRSOgorCQkJLyogU2lnbmFsIHJlY2VpdmVkICovCisJCQlpZiAodGltZW91dF9leHBpcmVkKSB7CisJCQkJLyogLXcgb3B0aW9uIHNldCBhbmQgZmFpbGVkIHRvIGxvY2suICovCisJCQkJaWYgKHZlcmJvc2UpCisJCQkJCXdhcm54KF8oInRpbWVvdXQgd2hpbGUgd2FpdGluZyB0byBnZXQgbG9jayIpKTsKKwkJCQlleGl0KGNvbmZsaWN0X2V4aXRfY29kZSk7CisJCQl9CisJCQkvKiBvdGhlcndpc2UgdHJ5IGFnYWluICovCisJCQljb250aW51ZTsKKwkJY2FzZSBFSU86CisJCWNhc2UgRUJBREY6CQkvKiBzaW5jZSBMaW51eCAzLjQgKGNvbW1pdCA1NTcyNTUxMykgKi8KKwkJCS8qIFByb2JhYmx5IE5GU3Y0IHdoZXJlIGZsb2NrKCkgaXMgZW11bGF0ZWQgYnkgZmNudGwoKS4KKwkJCSAqIExldCdzIHRyeSB0byByZW9wZW4gaW4gcmVhZC13cml0ZSBtb2RlLgorCQkJICovCisJCQlpZiAoIShvcGVuX2ZsYWdzICYgT19SRFdSKSAmJgorCQkJICAgIHR5cGUgIT0gTE9DS19TSCAmJgorCQkJICAgIGZpbGVuYW1lICYmCisJCQkgICAgYWNjZXNzKGZpbGVuYW1lLCBSX09LIHwgV19PSykgPT0gMCkgeworCisJCQkJY2xvc2UoZmQpOworCQkJCW9wZW5fZmxhZ3MgPSBPX1JEV1I7CisJCQkJZmQgPSBvcGVuX2ZpbGUoZmlsZW5hbWUsICZvcGVuX2ZsYWdzKTsKKworCQkJCWlmIChvcGVuX2ZsYWdzICYgT19SRFdSKQorCQkJCQlicmVhazsKKwkJCX0KKwkJCS8qIGdvIHRocm91Z2ggKi8KKwkJZGVmYXVsdDoKKwkJCS8qIE90aGVyIGVycm9ycyAqLworCQkJaWYgKGZpbGVuYW1lKQorCQkJCXdhcm4oIiVzIiwgZmlsZW5hbWUpOworCQkJZWxzZQorCQkJCXdhcm4oIiVkIiwgZmQpOworCQkJZXhpdCgoZXJybm8gPT0gRU5PTENLCisJCQkgICAgICB8fCBlcnJubyA9PSBFTk9NRU0pID8gRVhfT1NFUlIgOiBFWF9EQVRBRVJSKTsKKwkJfQorCX0KKworCWlmIChoYXZlX3RpbWVvdXQpCisJCWNhbmNlbF90aW1lcigmdF9pZCk7CisJaWYgKHZlcmJvc2UpIHsKKwkJc3RydWN0IHRpbWV2YWwgZGVsdGE7CisKKwkJZ2V0dGltZV9tb25vdG9uaWMoJnRpbWVfZG9uZSk7CisJCXRpbWVyc3ViKCZ0aW1lX2RvbmUsICZ0aW1lX3N0YXJ0LCAmZGVsdGEpOworCQlwcmludGYoXygiJXM6IGdldHRpbmcgbG9jayB0b29rICVsZC4lMDZsZCBzZWNvbmRzXG4iKSwKKwkJICAgICAgIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lLCBkZWx0YS50dl9zZWMsCisJCSAgICAgICBkZWx0YS50dl91c2VjKTsKKwl9CisJc3RhdHVzID0gRVhfT0s7CisKKwlpZiAoY21kX2FyZ3YpIHsKKwkJcGlkX3QgdywgZjsKKwkJLyogQ2xlYXIgYW55IGluaGVyaXRlZCBzZXR0aW5ncyAqLworCQlzaWduYWwoU0lHQ0hMRCwgU0lHX0RGTCk7CisJCWlmICh2ZXJib3NlKQorCQkJcHJpbnRmKF8oIiVzOiBleGVjdXRpbmcgJXNcbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSwgY21kX2FyZ3ZbMF0pOworCisJCWlmICghbm9fZm9yaykgeworCQkJZiA9IGZvcmsoKTsKKwkJCWlmIChmIDwgMCkKKwkJCQllcnIoRVhfT1NFUlIsIF8oImZvcmsgZmFpbGVkIikpOworCisJCQkvKiBjaGlsZCAqLworCQkJZWxzZSBpZiAoZiA9PSAwKSB7CisJCQkJaWYgKGRvX2Nsb3NlKQorCQkJCQljbG9zZShmZCk7CisJCQkJcnVuX3Byb2dyYW0oY21kX2FyZ3YpOworCisJCQkvKiBwYXJlbnQgKi8KKwkJCX0gZWxzZSB7CisJCQkJZG8geworCQkJCQl3ID0gd2FpdHBpZChmLCAmc3RhdHVzLCAwKTsKKwkJCQkJaWYgKHcgPT0gLTEgJiYgZXJybm8gIT0gRUlOVFIpCisJCQkJCQlicmVhazsKKwkJCQl9IHdoaWxlICh3ICE9IGYpOworCisJCQkJaWYgKHcgPT0gLTEpIHsKKwkJCQkJc3RhdHVzID0gRVhJVF9GQUlMVVJFOworCQkJCQl3YXJuKF8oIndhaXRwaWQgZmFpbGVkIikpOworCQkJCX0gZWxzZSBpZiAoV0lGRVhJVEVEKHN0YXR1cykpCisJCQkJCXN0YXR1cyA9IFdFWElUU1RBVFVTKHN0YXR1cyk7CisJCQkJZWxzZSBpZiAoV0lGU0lHTkFMRUQoc3RhdHVzKSkKKwkJCQkJc3RhdHVzID0gV1RFUk1TSUcoc3RhdHVzKSArIDEyODsKKwkJCQllbHNlCisJCQkJCS8qIFdURj8gKi8KKwkJCQkJc3RhdHVzID0gRVhfT1NFUlI7CisJCQl9CisKKwkJfSBlbHNlCisJCQkvKiBuby1mb3JrIGV4ZWN1dGlvbiAqLworCQkJcnVuX3Byb2dyYW0oY21kX2FyZ3YpOworCX0KKworCXJldHVybiBzdGF0dXM7Cit9CmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvZnNmcmVlemUuOCBiL3N5cy11dGlscy9mc2ZyZWV6ZS44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1YmFjNzMKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvZnNmcmVlemUuOApAQCAtMCwwICsxLDc1IEBACisuVEggRlNGUkVFWkUgOCAiSnVseSAyMDE0IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitmc2ZyZWV6ZSBcLSBzdXNwZW5kIGFjY2VzcyB0byBhIGZpbGVzeXN0ZW0gKEV4dDMvNCwgUmVpc2VyRlMsIEpGUywgWEZTKQorLlNIIFNZTk9QU0lTCisuQiBmc2ZyZWV6ZQorLkJSIFwtLWZyZWV6ZSB8IFwtLXVuZnJlZXplCisuSVIgbW91bnRwb2ludAorCisuU0ggREVTQ1JJUFRJT04KKy5CIGZzZnJlZXplCitzdXNwZW5kcyBvciByZXN1bWVzIGFjY2VzcyB0byBhIGZpbGVzeXN0ZW0uCisuUFAKKy5CIGZzZnJlZXplCitoYWx0cyBhbnkgbmV3IGFjY2VzcyB0byB0aGUgZmlsZXN5c3RlbSBhbmQgY3JlYXRlcyBhIHN0YWJsZSBpbWFnZSBvbiBkaXNrLgorLkIgZnNmcmVlemUKK2lzIGludGVuZGVkIHRvIGJlIHVzZWQgd2l0aCBoYXJkd2FyZSBSQUlEIGRldmljZXMgdGhhdCBzdXBwb3J0IHRoZSBjcmVhdGlvbgorb2Ygc25hcHNob3RzLgorLlBQCisuQiBmc2ZyZWV6ZQoraXMgdW5uZWNlc3NhcnkgZm9yCisuQiBkZXZpY2UtbWFwcGVyCitkZXZpY2VzLiAgVGhlIGRldmljZS1tYXBwZXIgKGFuZCBMVk0pIGF1dG9tYXRpY2FsbHkgZnJlZXplcyBhIGZpbGVzeXN0ZW0KK29uIHRoZSBkZXZpY2Ugd2hlbiBhIHNuYXBzaG90IGNyZWF0aW9uIGlzIHJlcXVlc3RlZC4KK0ZvciBtb3JlIGRldGFpbHMgc2VlIHRoZQorLkJSIGRtc2V0dXAgKDgpCittYW4gcGFnZS4KKy5QUAorVGhlCisuSSBtb3VudHBvaW50Cithcmd1bWVudCBpcyB0aGUgcGF0aG5hbWUgb2YgdGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgZmlsZXN5c3RlbQoraXMgbW91bnRlZC4KK1RoZSBmaWxlc3lzdGVtIG11c3QgYmUgbW91bnRlZCB0byBiZSBmcm96ZW4gKHNlZQorLkJSIG1vdW50ICg4KSkuCisuUFAKK05vdGUgdGhhdCBhY2Nlc3MtdGltZSB1cGRhdGVzIGFyZSBhbHNvIHN1c3BlbmRlZCBpZiB0aGUgZmlsZXN5c3RlbSBpcyBtb3VudGVkIHdpdGgKK3RoZSB0cmFkaXRpb25hbCBhdGltZSBiZWhhdmlvciAobW91bnQgb3B0aW9uIFxmQnN0cmljdGF0aW1lXGZSLCBmb3IgbW9yZSBkZXRhaWxzIHNlZQorLkJSIG1vdW50ICg4KSkuCisKKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLWYgLCAiIFwtXC1mcmVlemUiCitUaGlzIG9wdGlvbiByZXF1ZXN0cyB0aGUgc3BlY2lmaWVkIGEgZmlsZXN5c3RlbSB0byBiZSBmcm96ZW4gZnJvbSBuZXcKK21vZGlmaWNhdGlvbnMuICBXaGVuIHRoaXMgaXMgc2VsZWN0ZWQsIGFsbCBvbmdvaW5nIHRyYW5zYWN0aW9ucyBpbiB0aGUKK2ZpbGVzeXN0ZW0gYXJlIGFsbG93ZWQgdG8gY29tcGxldGUsIG5ldyB3cml0ZSBzeXN0ZW0gY2FsbHMgYXJlIGhhbHRlZCwgb3RoZXIKK2NhbGxzIHdoaWNoIG1vZGlmeSB0aGUgZmlsZXN5c3RlbSBhcmUgaGFsdGVkLCBhbmQgYWxsIGRpcnR5IGRhdGEsIG1ldGFkYXRhLCBhbmQKK2xvZyBpbmZvcm1hdGlvbiBhcmUgd3JpdHRlbiB0byBkaXNrLiAgQW55IHByb2Nlc3MgYXR0ZW1wdGluZyB0byB3cml0ZSB0byB0aGUKK2Zyb3plbiBmaWxlc3lzdGVtIHdpbGwgYmxvY2sgd2FpdGluZyBmb3IgdGhlIGZpbGVzeXN0ZW0gdG8gYmUgdW5mcm96ZW4uCisuc3AKK05vdGUgdGhhdCBldmVuIGFmdGVyIGZyZWV6aW5nLCB0aGUgb24tZGlzayBmaWxlc3lzdGVtIGNhbiBjb250YWluCitpbmZvcm1hdGlvbiBvbiBmaWxlcyB0aGF0IGFyZSBzdGlsbCBpbiB0aGUgcHJvY2VzcyBvZiB1bmxpbmtpbmcuCitUaGVzZSBmaWxlcyB3aWxsIG5vdCBiZSB1bmxpbmtlZCB1bnRpbCB0aGUgZmlsZXN5c3RlbSBpcyB1bmZyb3plbgorb3IgYSBjbGVhbiBtb3VudCBvZiB0aGUgc25hcHNob3QgaXMgY29tcGxldGUuCisuVFAKKy5CUiBcLXUgLCAiIFwtXC11bmZyZWV6ZSIKK1RoaXMgb3B0aW9uIGlzIHVzZWQgdG8gdW4tZnJlZXplIHRoZSBmaWxlc3lzdGVtIGFuZCBhbGxvdyBvcGVyYXRpb25zIHRvCitjb250aW51ZS4gIEFueSBmaWxlc3lzdGVtIG1vZGlmaWNhdGlvbnMgdGhhdCB3ZXJlIGJsb2NrZWQgYnkgdGhlIGZyZWV6ZSBhcmUKK3VuYmxvY2tlZCBhbmQgYWxsb3dlZCB0byBjb21wbGV0ZS4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggQVVUSE9SCisuUFAKK1dyaXR0ZW4gYnkgSGFqaW1lIFRhaXJhLgorLlNIIE5PVEVTCisuUFAKK1RoaXMgbWFuIHBhZ2UgaXMgYmFzZWQgb24KKy5CUiB4ZnNfZnJlZXplICg4KS4KKy5TSCBTRUUgQUxTTworLkJSIG1vdW50ICg4KQorLlNIIEFWQUlMQUJJTElUWQorVGhlIGZzZnJlZXplIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL2ZzZnJlZXplLmMgYi9zeXMtdXRpbHMvZnNmcmVlemUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNGQ1YmQzCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2ZzZnJlZXplLmMKQEAgLTAsMCArMSwxNjMgQEAKKy8qCisgKiBmc2ZyZWV6ZS5jIC0tIEZpbGVzeXN0ZW0gZnJlZXplL3VuZnJlZXplIElPIGZvciBMaW51eAorICoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBIYWppbWUgVGFpcmEgPGh0YWlyYUByZWRoYXQuY29tPgorICogICAgICAgICAgICAgICAgICAgIE1hc2F0YWtlIFlhbWF0byA8eWFtYXRvQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmUuICBZb3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjogZWl0aGVyIHZlcnNpb24gMSBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8bGludXgvZnMuaD4KKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImJsa2Rldi5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAib3B0dXRpbHMuaCIKKworZW51bSBmc19vcGVyYXRpb24geworCU5PT1AsCisJRlJFRVpFLAorCVVORlJFRVpFCit9OworCitzdGF0aWMgaW50IGZyZWV6ZV9mKGludCBmZCkKK3sKKwlyZXR1cm4gaW9jdGwoZmQsIEZJRlJFRVpFLCAwKTsKK30KKworc3RhdGljIGludCB1bmZyZWV6ZV9mKGludCBmZCkKK3sKKwlyZXR1cm4gaW9jdGwoZmQsIEZJVEhBVywgMCk7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKEZJTEUgKm91dCkKK3sKKwlmcHJpbnRmKG91dCwgVVNBR0VfSEVBREVSKTsKKwlmcHJpbnRmKG91dCwKKwkgICAgICBfKCIgJXMgW29wdGlvbnNdIDxtb3VudHBvaW50PlxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJTdXNwZW5kIGFjY2VzcyB0byBhIGZpbGVzeXN0ZW0gKGV4dDMvNCwgUmVpc2VyRlMsIEpGUywgWEZTKS5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWYsIC0tZnJlZXplICAgICAgZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXUsIC0tdW5mcmVlemUgICAgdW5mcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIpLCBvdXQpOworCWZwcmludGYob3V0LCBVU0FHRV9TRVBBUkFUT1IpOworCWZwcmludGYob3V0LCBVU0FHRV9IRUxQKTsKKwlmcHJpbnRmKG91dCwgVVNBR0VfVkVSU0lPTik7CisJZnByaW50ZihvdXQsIFVTQUdFX01BTl9UQUlMKCJmc2ZyZWV6ZSg4KSIpKTsKKworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlpbnQgZmQgPSAtMSwgYzsKKwlpbnQgYWN0aW9uID0gTk9PUCwgcmMgPSBFWElUX0ZBSUxVUkU7CisJY2hhciAqcGF0aDsKKwlzdHJ1Y3Qgc3RhdCBzYjsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJICAgIHsgImhlbHAiLCAgICAgIDAsIDAsICdoJyB9LAorCSAgICB7ICJmcmVlemUiLCAgICAwLCAwLCAnZicgfSwKKwkgICAgeyAidW5mcmVlemUiLCAgMCwgMCwgJ3UnIH0sCisJICAgIHsgInZlcnNpb24iLCAgIDAsIDAsICdWJyB9LAorCSAgICB7IE5VTEwsICAgICAgICAwLCAwLCAwIH0KKwl9OworCisJc3RhdGljIGNvbnN0IHVsX2V4Y2xfdCBleGNsW10gPSB7ICAgICAgIC8qIHJvd3MgYW5kIGNvbHMgaW4gaW4gQVNDSUkgb3JkZXIgKi8KKwkJeyAnZicsJ3UnIH0sCQkJLyogZnJlZXplLCB1bmZyZWV6ZSAqLworCQl7IDAgfQorCX07CisJaW50IGV4Y2xfc3RbQVJSQVlfU0laRShleGNsKV0gPSBVTF9FWENMX1NUQVRVU19JTklUOworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJoZnVWIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhjLCBsb25nb3B0cywgZXhjbCwgZXhjbF9zdCk7CisKKwkJc3dpdGNoKGMpIHsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShzdGRvdXQpOworCQkJYnJlYWs7CisJCWNhc2UgJ2YnOgorCQkJYWN0aW9uID0gRlJFRVpFOworCQkJYnJlYWs7CisJCWNhc2UgJ3UnOgorCQkJYWN0aW9uID0gVU5GUkVFWkU7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKHN0ZGVycik7CisJCQlicmVhazsKKwkJfQorCX0KKworCWlmIChhY3Rpb24gPT0gTk9PUCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIm5laXRoZXIgLS1mcmVlemUgb3IgLS11bmZyZWV6ZSBzcGVjaWZpZWQiKSk7CisJaWYgKG9wdGluZCA9PSBhcmdjKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibm8gZmlsZW5hbWUgc3BlY2lmaWVkIikpOworCXBhdGggPSBhcmd2W29wdGluZCsrXTsKKworCWlmIChvcHRpbmQgIT0gYXJnYykgeworCQl3YXJueChfKCJ1bmV4cGVjdGVkIG51bWJlciBvZiBhcmd1bWVudHMiKSk7CisJCXVzYWdlKHN0ZGVycik7CisJfQorCisJZmQgPSBvcGVuKHBhdGgsIE9fUkRPTkxZKTsKKwlpZiAoZmQgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBwYXRoKTsKKworCWlmIChmc3RhdChmZCwgJnNiKSA9PSAtMSkgeworCQl3YXJuKF8oInN0YXQgb2YgJXMgZmFpbGVkIiksIHBhdGgpOworCQlnb3RvIGRvbmU7CisJfQorCisJaWYgKCFTX0lTRElSKHNiLnN0X21vZGUpKSB7CisJCXdhcm54KF8oIiVzOiBpcyBub3QgYSBkaXJlY3RvcnkiKSwgcGF0aCk7CisJCWdvdG8gZG9uZTsKKwl9CisKKwlzd2l0Y2ggKGFjdGlvbikgeworCWNhc2UgRlJFRVpFOgorCQlpZiAoZnJlZXplX2YoZmQpKSB7CisJCQl3YXJuKF8oIiVzOiBmcmVlemUgZmFpbGVkIiksIHBhdGgpOworCQkJZ290byBkb25lOworCQl9CisJCWJyZWFrOworCWNhc2UgVU5GUkVFWkU6CisJCWlmICh1bmZyZWV6ZV9mKGZkKSkgeworCQkJd2FybihfKCIlczogdW5mcmVlemUgZmFpbGVkIiksIHBhdGgpOworCQkJZ290byBkb25lOworCQl9CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWFib3J0KCk7CisJfQorCisJcmMgPSBFWElUX1NVQ0NFU1M7Citkb25lOgorCWlmIChmZCA+PSAwKQorCQljbG9zZShmZCk7CisJcmV0dXJuIHJjOworfQorCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvZnN0YWIuNSBiL3N5cy11dGlscy9mc3RhYi41Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwYzJjZDQKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvZnN0YWIuNQpAQCAtMCwwICsxLDI0NyBAQAorLlwiIENvcHlyaWdodCAoYykgMTk4MCwgMTk4OSwgMTk5MSBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLgorLlwiIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisuXCIKKy5cIiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy5cIiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy5cIiBhcmUgbWV0OgorLlwiIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLlwiIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLlwiICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisuXCIgMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisuXCIgICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorLlwiCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKy5cIglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKy5cIiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworLlwiICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorLlwiICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLlwiCisuXCIgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKy5cIiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKy5cIiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorLlwiIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLlwiIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisuXCIgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKy5cIiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKy5cIiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorLlwiIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKy5cIiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisuXCIgU1VDSCBEQU1BR0UuCisuXCIKKy5cIiAgICAgQCgjKWZzdGFiLjUJNi41IChCZXJrZWxleSkgNS8xMC85MQorLlwiCisuVEggRlNUQUIgNSAiRmVicnVhcnkgMjAxNSIgInV0aWwtbGludXgiICJGaWxlIEZvcm1hdHMiCisuU0ggTkFNRQorZnN0YWIgXC0gc3RhdGljIGluZm9ybWF0aW9uIGFib3V0IHRoZSBmaWxlc3lzdGVtcworLlNIIFNZTk9QU0lTCisuSSAvZXRjL2ZzdGFiCisuU0ggREVTQ1JJUFRJT04KK1RoZSBmaWxlCisuQiBmc3RhYgorY29udGFpbnMgZGVzY3JpcHRpdmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGZpbGVzeXN0ZW1zIHRoZSBzeXN0ZW0gY2FuIG1vdW50LgorLkIgZnN0YWIKK2lzIG9ubHkgcmVhZCBieSBwcm9ncmFtcywgYW5kIG5vdCB3cml0dGVuOyBpdCBpcyB0aGUgZHV0eSBvZiB0aGUgc3lzdGVtCithZG1pbmlzdHJhdG9yIHRvIHByb3Blcmx5IGNyZWF0ZSBhbmQgbWFpbnRhaW4gdGhpcyBmaWxlLiAgVGhlIG9yZGVyIG9mIHJlY29yZHMgaW4KKy5CIGZzdGFiCitpcyBpbXBvcnRhbnQgYmVjYXVzZQorLkJSIGZzY2sgKDgpLAorLkJSIG1vdW50ICg4KSwKK2FuZAorLkJSIHVtb3VudCAoOCkKK3NlcXVlbnRpYWxseSBpdGVyYXRlIHRocm91Z2gKKy5CIGZzdGFiCitkb2luZyB0aGVpciB0aGluZy4KKworRWFjaCBmaWxlc3lzdGVtIGlzIGRlc2NyaWJlZCBvbiBhIHNlcGFyYXRlIGxpbmUuCitGaWVsZHMgb24gZWFjaCBsaW5lIGFyZSBzZXBhcmF0ZWQgYnkgdGFicyBvciBzcGFjZXMuCitMaW5lcyBzdGFydGluZyB3aXRoICcjJyBhcmUgY29tbWVudHMuICBCbGFuayBsaW5lcyBhcmUgaWdub3JlZC4KKy5QUAorVGhlIGZvbGxvd2luZyBpcyBhIHR5cGljYWwgZXhhbXBsZSBvZiBhbgorLkIgZnN0YWIKK2VudHJ5OgorLnNwCisuUlMgNworTEFCRUw9dC1ob21lMiAgIC9ob21lICAgICAgZXh0NCAgICBkZWZhdWx0cyxhdXRvX2RhX2FsbG9jICAgICAgMCAgMgorLlJFCisKKy5CIFRoZSBmaXJzdCBmaWVsZAorLlJJICggZnNfc3BlYyApLgorLlJTCitUaGlzIGZpZWxkIGRlc2NyaWJlcyB0aGUgYmxvY2sgc3BlY2lhbCBkZXZpY2Ugb3IKK3JlbW90ZSBmaWxlc3lzdGVtIHRvIGJlIG1vdW50ZWQuCisuTFAKK0ZvciBvcmRpbmFyeSBtb3VudHMsIGl0IHdpbGwgaG9sZCAoYSBsaW5rIHRvKSBhIGJsb2NrIHNwZWNpYWwKK2RldmljZSBub2RlIChhcyBjcmVhdGVkIGJ5CisuQlIgbWtub2QgKDgpKQorZm9yIHRoZSBkZXZpY2UgdG8gYmUgbW91bnRlZCwgbGlrZSBgL2Rldi9jZHJvbScgb3IgYC9kZXYvc2RiNycuCitGb3IgTkZTIG1vdW50cywgdGhpcyBmaWVsZCBpcyA8aG9zdD46PGRpcj4sIGUuZy4sIGBrbnV0aC5hZWIubmw6LycuCitGb3IgZmlsZXN5c3RlbXMgd2l0aCBubyBzdG9yYWdlLCBhbnkgc3RyaW5nIGNhbiBiZSB1c2VkLCBhbmQgd2lsbCBzaG93IHVwIGluCisuQlIgZGYgKDEpCitvdXRwdXQsIGZvciBleGFtcGxlLiAgVHlwaWNhbCB1c2FnZSBpcyBgcHJvYycgZm9yIHByb2NmczsgYG1lbScsIGBub25lJywKK29yIGB0bXBmcycgZm9yIHRtcGZzLiAgT3RoZXIgc3BlY2lhbCBmaWxlc3lzdGVtcywgbGlrZSB1ZGV2IGFuZCBzeXNmcywKK2FyZSB0eXBpY2FsbHkgbm90IGxpc3RlZCBpbgorLkJSIGZzdGFiIC4KKy5MUAorTEFCRUw9PGxhYmVsPiBvciBVVUlEPTx1dWlkPiBtYXkgYmUgZ2l2ZW4gaW5zdGVhZCBvZiBhIGRldmljZSBuYW1lLgorVGhpcyBpcyB0aGUgcmVjb21tZW5kZWQgbWV0aG9kLCBhcyBkZXZpY2UgbmFtZXMgYXJlIG9mdGVuIGEgY29pbmNpZGVuY2UKK29mIGhhcmR3YXJlIGRldGVjdGlvbiBvcmRlciwgYW5kIGNhbiBjaGFuZ2Ugd2hlbiBvdGhlciBkaXNrcyBhcmUgYWRkZWQgb3IgcmVtb3ZlZC4KK0ZvciBleGFtcGxlLCBgTEFCRUw9Qm9vdCcgb3IgYFVVSUQ9M2U2YmU5ZGVcJS04MTM5XCUtMTFkMVwlLTkxMDZcJS1hNDNmMDhkODIzYTYnLgorKFVzZSBhIGZpbGVzeXN0ZW0tc3BlY2lmaWMgdG9vbCBsaWtlCisuQlIgZTJsYWJlbCAoOCksCisuQlIgeGZzX2FkbWluICg4KSwKK29yCisuQlIgZmF0bGFiZWwgKDgpCit0byBzZXQgTEFCRUxzIG9uIGZpbGVzeXN0ZW1zKS4KKworSXQncyBhbHNvIHBvc3NpYmxlIHRvIHVzZSBQQVJUVVVJRD0gYW5kIFBBUlRMQUJFTD0uIFRoZXNlIHBhcnRpdGlvbnMgaWRlbnRpZmllcnMKK2FyZSBzdXBwb3J0ZWQgZm9yIGV4YW1wbGUgZm9yIEdVSUQgUGFydGl0aW9uIFRhYmxlIChHUFQpLgorCitTZWUKKy5CUiBtb3VudCAoOCksCisuQlIgYmxraWQgKDgpCitvcgorLkJSIGxzYmxrICg4KQorZm9yIG1vcmUgZGV0YWlscyBhYm91dCBkZXZpY2UgaWRlbnRpZmllcnMuCisKKy5MUAorTm90ZSB0aGF0CisuQlIgbW91bnQgKDgpCit1c2VzIFVVSURzIGFzIHN0cmluZ3MuIFRoZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIFVVSUQgc2hvdWxkIGJlIGJhc2VkIG9uCitsb3dlciBjYXNlIGNoYXJhY3RlcnMuCisuUkUKKworLkIgVGhlIHNlY29uZCBmaWVsZAorLlJJICggZnNfZmlsZSApLgorLlJTCitUaGlzIGZpZWxkIGRlc2NyaWJlcyB0aGUgbW91bnQgcG9pbnQgKHRhcmdldCkgZm9yIHRoZSBmaWxlc3lzdGVtLiAgRm9yIHN3YXAgcGFydGl0aW9ucywgdGhpcworZmllbGQgc2hvdWxkIGJlIHNwZWNpZmllZCBhcyBgbm9uZScuIElmIHRoZSBuYW1lIG9mIHRoZSBtb3VudCBwb2ludAorY29udGFpbnMgc3BhY2VzIHRoZXNlIGNhbiBiZSBlc2NhcGVkIGFzIGBcXDA0MCcuCisuUkUKKworLkIgVGhlIHRoaXJkIGZpZWxkCisuUkkgKCBmc192ZnN0eXBlICkuCisuUlMKK1RoaXMgZmllbGQgZGVzY3JpYmVzIHRoZSB0eXBlIG9mIHRoZSBmaWxlc3lzdGVtLiAgTGludXggc3VwcG9ydHMgbWFueQorZmlsZXN5c3RlbSB0eXBlczogZXh0NCwgeGZzLCBidHJmcywgZjJmcywgdmZhdCwgbnRmcywgaGZzcGx1cywKK3RtcGZzLCBzeXNmcywgcHJvYywgaXNvOTY2MCwgdWRmLCBzcXVhc2hmcywgbmZzLCBjaWZzLCBhbmQgbWFueSBtb3JlLgorRm9yIG1vcmUgZGV0YWlscywgc2VlCisuQlIgbW91bnQgKDgpLgorCitBbiBlbnRyeQorLkkgc3dhcAorZGVub3RlcyBhIGZpbGUgb3IgcGFydGl0aW9uIHRvIGJlIHVzZWQKK2ZvciBzd2FwcGluZywgY2YuXCYKKy5CUiBzd2Fwb24gKDgpLgorQW4gZW50cnkKKy5JIG5vbmUKK2lzIHVzZWZ1bCBmb3IgYmluZCBvciBtb3ZlIG1vdW50cy4KKworTW9yZSB0aGFuIG9uZSB0eXBlIG1heSBiZSBzcGVjaWZpZWQgaW4gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdC4KKworLkJSIG1vdW50ICg4KQorYW5kCisuQlIgdW1vdW50ICg4KQorc3VwcG9ydCBmaWxlc3lzdGVtCisuSVIgc3VidHlwZXMgLgorVGhlIHN1YnR5cGUgaXMgZGVmaW5lZCBieSAnLnN1YnR5cGUnIHN1ZmZpeC4gIEZvcgorZXhhbXBsZSAnZnVzZS5zc2hmcycuIEl0J3MgcmVjb21tZW5kZWQgdG8gdXNlIHN1YnR5cGUgbm90YXRpb24gcmF0aGVyIHRoYW4gYWRkCithbnkgcHJlZml4IHRvIHRoZSBmaXJzdCBmc3RhYiBmaWVsZCAoZm9yIGV4YW1wbGUgJ3NzaGZzI2V4YW1wbGUuY29tJyBpcworZGVwcmVjYXRlZCkuCisuUkUKKworLkIgVGhlIGZvdXJ0aCBmaWVsZAorLlJJICggZnNfbW50b3BzICkuCisuUlMKK1RoaXMgZmllbGQgZGVzY3JpYmVzIHRoZSBtb3VudCBvcHRpb25zIGFzc29jaWF0ZWQgd2l0aCB0aGUgZmlsZXN5c3RlbS4KKworSXQgaXMgZm9ybWF0dGVkIGFzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2Ygb3B0aW9ucy4KK0l0IGNvbnRhaW5zIGF0IGxlYXN0IHRoZSB0eXBlIG9mIG1vdW50CisuUkIgKCBybworb3IKKy5CUiBydyApLAorcGx1cyBhbnkgYWRkaXRpb25hbCBvcHRpb25zIGFwcHJvcHJpYXRlIHRvIHRoZSBmaWxlc3lzdGVtCit0eXBlIChpbmNsdWRpbmcgcGVyZm9ybWFuY2UtdHVuaW5nIG9wdGlvbnMpLgorRm9yIGRldGFpbHMsIHNlZQorLkJSIG1vdW50ICg4KQorb3IKKy5CUiBzd2Fwb24gKDgpLgorCitCYXNpYyBmaWxlc3lzdGVtLWluZGVwZW5kZW50IG9wdGlvbnMgYXJlOgorLlRQCisuQiBkZWZhdWx0cwordXNlIGRlZmF1bHQgb3B0aW9uczogcncsIHN1aWQsIGRldiwgZXhlYywgYXV0bywgbm91c2VyLCBhbmQgYXN5bmMuCisuVFAKKy5CIG5vYXV0bworZG8gbm90IG1vdW50IHdoZW4gIm1vdW50IC1hIiBpcyBnaXZlbiAoZS5nLiwgYXQgYm9vdCB0aW1lKQorLlRQCisuQiB1c2VyCithbGxvdyBhIHVzZXIgdG8gbW91bnQKKy5UUAorLkIgb3duZXIKK2FsbG93IGRldmljZSBvd25lciB0byBtb3VudAorLlRQCisuQiBjb21tZW50CitvcgorLkIgeC08bmFtZT4KK2ZvciB1c2UgYnkgZnN0YWItbWFpbnRhaW5pbmcgcHJvZ3JhbXMKKy5UUAorLkIgbm9mYWlsCitkbyBub3QgcmVwb3J0IGVycm9ycyBmb3IgdGhpcyBkZXZpY2UgaWYgaXQgZG9lcyBub3QgZXhpc3QuCisuUkUKKworLkIgVGhlIGZpZnRoIGZpZWxkCisuUkkgKCBmc19mcmVxICkuCisuUlMKK1RoaXMgZmllbGQgaXMgdXNlZCBieQorLkJSIGR1bXAgKDgpCit0byBkZXRlcm1pbmUgd2hpY2ggZmlsZXN5c3RlbXMgbmVlZCB0byBiZSBkdW1wZWQuCitEZWZhdWx0cyB0byB6ZXJvIChkb24ndCBkdW1wKSBpZiBub3QgcHJlc2VudC4KKy5SRQorCisuQiBUaGUgc2l4dGggZmllbGQKKy5SSSAoIGZzX3Bhc3NubyApLgorLlJTCitUaGlzIGZpZWxkIGlzIHVzZWQgYnkKKy5CUiBmc2NrICg4KQordG8gZGV0ZXJtaW5lIHRoZSBvcmRlciBpbiB3aGljaCBmaWxlc3lzdGVtIGNoZWNrcyBhcmUgZG9uZSBhdAorYm9vdCB0aW1lLiAgVGhlIHJvb3QgZmlsZXN5c3RlbSBzaG91bGQgYmUgc3BlY2lmaWVkIHdpdGggYQorLkkgZnNfcGFzc25vCitvZiAxLiAgT3RoZXIgZmlsZXN5c3RlbXMgc2hvdWxkIGhhdmUgYQorLkkgZnNfcGFzc25vCitvZiAyLiAgRmlsZXN5c3RlbXMgd2l0aGluIGEgZHJpdmUgd2lsbCBiZSBjaGVja2VkIHNlcXVlbnRpYWxseSwgYnV0CitmaWxlc3lzdGVtcyBvbiBkaWZmZXJlbnQgZHJpdmVzIHdpbGwgYmUgY2hlY2tlZCBhdCB0aGUgc2FtZSB0aW1lIHRvIHV0aWxpemUKK3BhcmFsbGVsaXNtIGF2YWlsYWJsZSBpbiB0aGUgaGFyZHdhcmUuCitEZWZhdWx0cyB0byB6ZXJvIChkb24ndCBmc2NrKSBpZiBub3QgcHJlc2VudC4KKworLlNIIE5PVEVTCitUaGUgcHJvcGVyIHdheSB0byByZWFkIHJlY29yZHMgZnJvbQorLkIgZnN0YWIKK2lzIHRvIHVzZSB0aGUgcm91dGluZXMKKy5CUiBnZXRtbnRlbnQgKDMpCitvcgorLkJSIGxpYm1vdW50IC4KKworVGhlIGtleXdvcmQKKy5CIGlnbm9yZQorYXMgYSBmaWxlc3lzdGVtIHR5cGUgKDNyZCBmaWVsZCkgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCBieSB0aGUgcHVyZQorbGlibW91bnQgYmFzZWQgbW91bnQgdXRpbGl0eSAoc2luY2UgdXRpbC1saW51eCB2Mi4yMikuCisKKy5TSCBGSUxFUworLklSIC9ldGMvZnN0YWIgLAorLkkgPGZzdGFiLmg+CisuU0ggIlNFRSBBTFNPIgorLkJSIGdldG1udGVudCAoMyksCisuQlIgZnMgKDUpLAorLkJSIGZpbmRtbnQgKDgpLAorLkJSIG1vdW50ICg4KSwKKy5CUiBzd2Fwb24gKDgpCisuU0ggSElTVE9SWQorVGhlIGFuY2VzdG9yIG9mIHRoaXMKKy5CIGZzdGFiCitmaWxlIGZvcm1hdCBhcHBlYXJlZCBpbiA0LjBCU0QuCisuXCIgQnV0IHdpdGhvdXQgY29tbWVudCBjb252ZW50aW9uLCBhbmQgb3B0aW9ucyBhbmQgdmZzX3R5cGUuCisuXCIgSW5zdGVhZCB0aGVyZSB3YXMgYSB0eXBlIHJ3L3JvL3JxL3N3L3h4LCB3aGVyZSB4eCBpcyB0aGUgcHJlc2VudCAnaWdub3JlJy4KKy5TSCBBVkFJTEFCSUxJVFkKK1RoaXMgbWFuIHBhZ2UgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL2ZzdHJpbS44IGIvc3lzLXV0aWxzL2ZzdHJpbS44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhOTRkYjcKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvZnN0cmltLjgKQEAgLTAsMCArMSwxMjEgQEAKKy5USCBGU1RSSU0gOCAiSnVseSAyMDE0IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitmc3RyaW0gXC0gZGlzY2FyZCB1bnVzZWQgYmxvY2tzIG9uIGEgbW91bnRlZCBmaWxlc3lzdGVtCisuU0ggU1lOT1BTSVMKKy5CIGZzdHJpbQorLlJCIFsgXC1hIF0KKy5SQiBbIFwtbworLklSIG9mZnNldCBdCisuUkIgWyBcLWwKKy5JUiBsZW5ndGggXQorLlJCIFsgXC1tCisuSVIgbWluaW11bS1zaXplIF0KKy5SQiBbIFwtdiBdCisuSSBtb3VudHBvaW50CisKKy5TSCBERVNDUklQVElPTgorLkIgZnN0cmltCitpcyB1c2VkIG9uIGEgbW91bnRlZCBmaWxlc3lzdGVtIHRvIGRpc2NhcmQgKG9yICJ0cmltIikgYmxvY2tzIHdoaWNoIGFyZSBub3QgaW4KK3VzZSBieSB0aGUgZmlsZXN5c3RlbS4gIFRoaXMgaXMgdXNlZnVsIGZvciBzb2xpZC1zdGF0ZSBkcml2ZXMgKFNTRHMpIGFuZAordGhpbmx5LXByb3Zpc2lvbmVkIHN0b3JhZ2UuCisuUFAKK0J5IGRlZmF1bHQsCisuQiBmc3RyaW0KK3dpbGwgZGlzY2FyZCBhbGwgdW51c2VkIGJsb2NrcyBpbiB0aGUgZmlsZXN5c3RlbS4gIE9wdGlvbnMgbWF5IGJlIHVzZWQgdG8KK21vZGlmeSB0aGlzIGJlaGF2aW9yIGJhc2VkIG9uIHJhbmdlIG9yIHNpemUsIGFzIGV4cGxhaW5lZCBiZWxvdy4KKy5QUAorVGhlCisuSSBtb3VudHBvaW50Cithcmd1bWVudCBpcyB0aGUgcGF0aG5hbWUgb2YgdGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgZmlsZXN5c3RlbQoraXMgbW91bnRlZC4KKy5QUAorUnVubmluZworLkIgZnN0cmltCitmcmVxdWVudGx5LCBvciBldmVuIHVzaW5nCisuQlIgIm1vdW50IC1vIGRpc2NhcmQiICwKK21pZ2h0IG5lZ2F0aXZlbHkgYWZmZWN0IHRoZSBsaWZldGltZSBvZiBwb29yLXF1YWxpdHkgU1NEIGRldmljZXMuICBGb3IgbW9zdAorZGVza3RvcCBhbmQgc2VydmVyIHN5c3RlbXMgYSBzdWZmaWNpZW50IHRyaW1taW5nIGZyZXF1ZW5jeSBpcyBvbmNlIGEgd2Vlay4KK05vdGUgdGhhdCBub3QgYWxsCitkZXZpY2VzIHN1cHBvcnQgYSBxdWV1ZWQgdHJpbSwgc28gZWFjaCB0cmltIGNvbW1hbmQgaW5jdXJzIGEgcGVyZm9ybWFuY2UgcGVuYWx0eQorb24gd2hhdGV2ZXIgZWxzZSBtaWdodCBiZSB0cnlpbmcgdG8gdXNlIHRoZSBkaXNrIGF0IHRoZSB0aW1lLgorCisuU0ggT1BUSU9OUworVGhlIFxmSW9mZnNldFxmUiwgXGZJbGVuZ3RoXGZSLCBhbmQgXGZJbWluaW11bS1zaXplXGZSIGFyZ3VtZW50cyBtYXkgYmUKK2ZvbGxvd2VkIGJ5IHRoZSBtdWx0aXBsaWNhdGl2ZSBzdWZmaXhlcyBLaUIgKD0xMDI0KSwKK01pQiAoPTEwMjQqMTAyNCksIGFuZCBzbyBvbiBmb3IgR2lCLCBUaUIsIFBpQiwgRWlCLCBaaUIgYW5kIFlpQiAodGhlICJpQiIKK2lzIG9wdGlvbmFsLCBlLmcuLCAiSyIgaGFzIHRoZSBzYW1lIG1lYW5pbmcgYXMgIktpQiIpIG9yIHRoZSBzdWZmaXhlcworS0IgKD0xMDAwKSwgTUIgKD0xMDAwKjEwMDApLCBhbmQgc28gb24gZm9yIEdCLCBUQiwgUEIsIEVCLCBaQiBhbmQgWUIuCisKKy5JUCAiXGZCXC1hLCBcLVwtYWxsXGZQIgorVHJpbSBhbGwgbW91bnRlZCBmaWxlc3lzdGVtcyBvbiBkZXZpY2VzIHRoYXQgc3VwcG9ydCB0aGUgZGlzY2FyZCBvcGVyYXRpb24uCitUaGUgb3RoZXIgc3VwcGxpZWQgb3B0aW9ucywgbGlrZSBcZkJcLVwtb2Zmc2V0XGZSLCBcZkJcLVwtbGVuZ3RoXGZSIGFuZAorXGZCLVwtbWluaW11bVxmUiwgYXJlIGFwcGxpZWQgdG8gYWxsIHRoZXNlIGRldmljZXMuCitFcnJvcnMgZnJvbSBmaWxlc3lzdGVtcyB0aGF0IGRvIG5vdCBzdXBwb3J0IHRoZSBkaXNjYXJkIG9wZXJhdGlvbiBhcmUgc2lsZW50bHkKK2lnbm9yZWQuCisuSVAgIlxmQlwtbywgXC1cLW9mZnNldFxmUCBcZklvZmZzZXRcZlAiCitCeXRlIG9mZnNldCBpbiB0aGUgZmlsZXN5c3RlbSBmcm9tIHdoaWNoIHRvIGJlZ2luIHNlYXJjaGluZyBmb3IgZnJlZSBibG9ja3MKK3RvIGRpc2NhcmQuICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyB6ZXJvLCBzdGFydGluZyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZQorZmlsZXN5c3RlbS4KKy5JUCAiXGZCXC1sLCBcLVwtbGVuZ3RoXGZQIFxmSWxlbmd0aFxmUCIKK1RoZSBudW1iZXIgb2YgYnl0ZXMgKGFmdGVyIHRoZSBzdGFydGluZyBwb2ludCkgdG8gc2VhcmNoIGZvciBmcmVlIGJsb2NrcwordG8gZGlzY2FyZC4gIElmIHRoZSBzcGVjaWZpZWQgdmFsdWUgZXh0ZW5kcyBwYXN0IHRoZSBlbmQgb2YgdGhlIGZpbGVzeXN0ZW0sCisuQiBmc3RyaW0KK3dpbGwgc3RvcCBhdCB0aGUgZmlsZXN5c3RlbSBzaXplIGJvdW5kYXJ5LiAgVGhlIGRlZmF1bHQgdmFsdWUgZXh0ZW5kcyB0bwordGhlIGVuZCBvZiB0aGUgZmlsZXN5c3RlbS4KKy5JUCAiXGZCXC1tLCBcLVwtbWluaW11bVxmUCBcZkltaW5pbXVtLXNpemVcZlAiCitNaW5pbXVtIGNvbnRpZ3VvdXMgZnJlZSByYW5nZSB0byBkaXNjYXJkLCBpbiBieXRlcy4gKFRoaXMgdmFsdWUgaXMgaW50ZXJuYWxseQorcm91bmRlZCB1cCB0byBhIG11bHRpcGxlIG9mIHRoZSBmaWxlc3lzdGVtIGJsb2NrIHNpemUuKSAgRnJlZSByYW5nZXMgc21hbGxlcgordGhhbiB0aGlzIHdpbGwgYmUgaWdub3JlZC4gIEJ5IGluY3JlYXNpbmcgdGhpcyB2YWx1ZSwgdGhlIGZzdHJpbSBvcGVyYXRpb24KK3dpbGwgY29tcGxldGUgbW9yZSBxdWlja2x5IGZvciBmaWxlc3lzdGVtcyB3aXRoIGJhZGx5IGZyYWdtZW50ZWQgZnJlZXNwYWNlLAorYWx0aG91Z2ggbm90IGFsbCBibG9ja3Mgd2lsbCBiZSBkaXNjYXJkZWQuICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyB6ZXJvLAorZGlzY2FyZGluZyBldmVyeSBmcmVlIGJsb2NrLgorLklQICJcZkJcLXYsIFwtXC12ZXJib3NlXGZQIgorVmVyYm9zZSBleGVjdXRpb24uICBXaXRoIHRoaXMgb3B0aW9uCisuQiBmc3RyaW0KK3dpbGwgb3V0cHV0IHRoZSBudW1iZXIgb2YgYnl0ZXMgcGFzc2VkIGZyb20gdGhlIGZpbGVzeXN0ZW0KK2Rvd24gdGhlIGJsb2NrIHN0YWNrIHRvIHRoZSBkZXZpY2UgZm9yIHBvdGVudGlhbCBkaXNjYXJkLiAgVGhpcyBudW1iZXIgaXMgYQorbWF4aW11bSBkaXNjYXJkIGFtb3VudCBmcm9tIHRoZSBzdG9yYWdlIGRldmljZSdzIHBlcnNwZWN0aXZlLCBiZWNhdXNlCisuSSBGSVRSSU0KK2lvY3RsIGNhbGxlZCByZXBlYXRlZCB3aWxsIGtlZXAgc2VuZGluZyB0aGUgc2FtZSBzZWN0b3JzIGZvciBkaXNjYXJkIHJlcGVhdGVkbHkuCisuc3AKKy5CIGZzdHJpbQord2lsbCByZXBvcnQgdGhlIHNhbWUgcG90ZW50aWFsIGRpc2NhcmQgYnl0ZXMgZWFjaCB0aW1lLCBidXQgb25seSBzZWN0b3JzIHdoaWNoCitoYWQgYmVlbiB3cml0dGVuIHRvIGJldHdlZW4gdGhlIGRpc2NhcmRzIHdvdWxkIGFjdHVhbGx5IGJlIGRpc2NhcmRlZCBieSB0aGUKK3N0b3JhZ2UgZGV2aWNlLiAgRnVydGhlciwgdGhlIGtlcm5lbCBibG9jayBsYXllciByZXNlcnZlcyB0aGUgcmlnaHQgdG8gYWRqdXN0Cit0aGUgZGlzY2FyZCByYW5nZXMgdG8gZml0IHJhaWQgc3RyaXBlIGdlb21ldHJ5LCBub24tdHJpbSBjYXBhYmxlIGRldmljZXMgaW4gYQorTFZNIHNldHVwLCBldGMuICBUaGVzZSByZWR1Y3Rpb25zIHdvdWxkIG5vdCBiZSByZWZsZWN0ZWQgaW4gZnN0cmltX3JhbmdlLmxlbgorKHRoZQorLkIgLS1sZW5ndGgKK29wdGlvbikuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorCisuU0ggUkVUVVJOIENPREVTCisuSVAgMAorc3VjY2VzcworLklQIDEKK2ZhaWx1cmUKKy5JUCAzMgorYWxsIGZhaWxlZAorLklQIDY0Citzb21lIGZpbGVzeXN0ZW0gZGlzY2FyZHMgaGF2ZSBzdWNjZWVkZWQsIHNvbWUgZmFpbGVkCisuUFAKK1RoZSBjb21tYW5kCisuQiBmc3RyaW0gLS1hbGwKK3JldHVybnMgMCAoYWxsIHN1Y2NlZWRlZCksIDMyIChhbGwgZmFpbGVkKSBvciA2NCAoc29tZSBmYWlsZWQsIHNvbWUgc3VjY2VlZGVkKS4KKworLlNIIEFVVEhPUgorLm5mCitMdWthcyBDemVybmVyIDxsY3plcm5lckByZWRoYXQuY29tPgorS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisuZmkKKy5TSCBTRUUgQUxTTworLkJSIGJsa2Rpc2NhcmQgKDgpLAorLkJSIG1vdW50ICg4KQorLlNIIEFWQUlMQUJJTElUWQorVGhlIGZzdHJpbSBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2Z0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9mc3RyaW0uYyBiL3N5cy11dGlscy9mc3RyaW0uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOWM2YjQ5Ci0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2ZzdHJpbS5jCkBAIC0wLDAgKzEsMzQ5IEBACisvKgorICogZnN0cmltLmMgLS0gZGlzY2FyZCB0aGUgcGFydCAob3Igd2hvbGUpIG9mIG1vdW50ZWQgZmlsZXN5c3RlbS4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgUmVkIEhhdCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogV3JpdHRlbiBieSBMdWthcyBDemVybmVyIDxsY3plcm5lckByZWRoYXQuY29tPgorICogICAgICAgICAgICBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICoKKyAqCisgKiBUaGlzIHByb2dyYW0gdXNlcyBGSVRSSU0gaW9jdGwgdG8gZGlzY2FyZCBwYXJ0cyBvciB0aGUgd2hvbGUgZmlsZXN5c3RlbQorICogb25saW5lIChtb3VudGVkKS4gWW91IGNhbiBzcGVjaWZ5IHJhbmdlIChzdGFydCBhbmQgbGVuZ3RoKSB0byBiZQorICogZGlzY2FyZGVkLCBvciBzaW1wbHkgZGlzY2FyZCB3aG9sZSBmaWxlc3lzdGVtLgorICovCisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisKKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgInN5c2ZzLmgiCisjaW5jbHVkZSAiZXhpdGNvZGVzLmgiCisKKyNpbmNsdWRlIDxsaWJtb3VudC5oPgorCisjaWZuZGVmIEZJVFJJTQorc3RydWN0IGZzdHJpbV9yYW5nZSB7CisJdWludDY0X3Qgc3RhcnQ7CisJdWludDY0X3QgbGVuOworCXVpbnQ2NF90IG1pbmxlbjsKK307CisjZGVmaW5lIEZJVFJJTQkJX0lPV1IoJ1gnLCAxMjEsIHN0cnVjdCBmc3RyaW1fcmFuZ2UpCisjZW5kaWYKKworLyogcmV0dXJuczogMCA9IHN1Y2Nlc3MsIDEgPSB1bnN1cHBvcnRlZCwgPCAwID0gZXJyb3IgKi8KK3N0YXRpYyBpbnQgZnN0cmltX2ZpbGVzeXN0ZW0oY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IGZzdHJpbV9yYW5nZSAqcmFuZ2V0cGwsCisJCQkgICAgaW50IHZlcmJvc2UpCit7CisJaW50IGZkLCByYzsKKwlzdHJ1Y3Qgc3RhdCBzYjsKKwlzdHJ1Y3QgZnN0cmltX3JhbmdlIHJhbmdlOworCisJLyoga2VybmVsIG1vZGlmaWVzIHRoZSByYW5nZSAqLworCW1lbWNweSgmcmFuZ2UsIHJhbmdldHBsLCBzaXplb2YocmFuZ2UpKTsKKworCWZkID0gb3BlbihwYXRoLCBPX1JET05MWSk7CisJaWYgKGZkIDwgMCkgeworCQl3YXJuKF8oImNhbm5vdCBvcGVuICVzIiksIHBhdGgpOworCQlyYyA9IC1lcnJubzsKKwkJZ290byBkb25lOworCX0KKwlpZiAoZnN0YXQoZmQsICZzYikgPT0gLTEpIHsKKwkJd2FybihfKCJzdGF0IG9mICVzIGZhaWxlZCIpLCBwYXRoKTsKKwkJcmMgPSAtZXJybm87CisJCWdvdG8gZG9uZTsKKwl9CisJaWYgKCFTX0lTRElSKHNiLnN0X21vZGUpKSB7CisJCXdhcm54KF8oIiVzOiBub3QgYSBkaXJlY3RvcnkiKSwgcGF0aCk7CisJCXJjID0gLUVJTlZBTDsKKwkJZ290byBkb25lOworCX0KKwllcnJubyA9IDA7CisJaWYgKGlvY3RsKGZkLCBGSVRSSU0sICZyYW5nZSkpIHsKKwkJcmMgPSBlcnJubyA9PSBFT1BOT1RTVVBQIHx8IGVycm5vID09IEVOT1RUWSA/IDEgOiAtZXJybm87CisKKwkJaWYgKHJjICE9IDEpCisJCQl3YXJuKF8oIiVzOiBGSVRSSU0gaW9jdGwgZmFpbGVkIiksIHBhdGgpOworCQlnb3RvIGRvbmU7CisJfQorCisJaWYgKHZlcmJvc2UpIHsKKwkJY2hhciAqc3RyID0gc2l6ZV90b19odW1hbl9zdHJpbmcoCisJCQkJU0laRV9TVUZGSVhfM0xFVFRFUiB8IFNJWkVfU1VGRklYX1NQQUNFLAorCQkJCSh1aW50NjRfdCkgcmFuZ2UubGVuKTsKKwkJLyogVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBoZXJlIGlzIGEgdmVyeSBsYXJnZSBudW1iZXIuICovCisJCXByaW50ZihfKCIlczogJXMgKCUiIFBSSXU2NCAiIGJ5dGVzKSB0cmltbWVkXG4iKSwKKwkJCQlwYXRoLCBzdHIsICh1aW50NjRfdCkgcmFuZ2UubGVuKTsKKwkJZnJlZShzdHIpOworCX0KKworCXJjID0gMDsKK2RvbmU6CisJaWYgKGZkID49IDApCisJCWNsb3NlKGZkKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgaGFzX2Rpc2NhcmQoY29uc3QgY2hhciAqZGV2bmFtZSwgc3RydWN0IHN5c2ZzX2N4dCAqd2hvbGVkaXNrKQoreworCXN0cnVjdCBzeXNmc19jeHQgY3h0LCAqcGFyZW50ID0gTlVMTDsKKwl1aW50NjRfdCBkZyA9IDA7CisJZGV2X3QgZGlzayA9IDAsIGRldjsKKwlpbnQgcmM7CisKKwlkZXYgPSBzeXNmc19kZXZuYW1lX3RvX2Rldm5vKGRldm5hbWUsIE5VTEwpOworCWlmICghZGV2KQorCQlyZXR1cm4gMTsKKwkvKgorCSAqIFRoaXMgaXMgdHJpY2t5IHRvIHJlYWQgdGhlIGluZm8gZnJvbSBzeXMvLCBiZWNhdXNlIHRoZSBxdWV1ZQorCSAqIGF0dHJpYnV0ZXMgYXJlIHByb3ZpZGVkIGZvciB3aG9sZSBkZXZpY2VzIChkaXNrKSBvbmx5LiBXZSdyZSB0cnlpbmcKKwkgKiB0byByZXVzZSB0aGUgd2hvbGUtZGlzayBzeXNmcyBjb250ZXh0IHRvIG9wdGltaXplIHRoaXMgc3R1ZmYgKGFzCisJICogc3lzdGVtIHVzdWFsbHkgaGF2ZSBqdXN0IG9uZSBkaXNrIG9ubHkpLgorCSAqLworCWlmIChzeXNmc19kZXZub190b193aG9sZWRpc2soZGV2LCBOVUxMLCAwLCAmZGlzaykgfHwgIWRpc2spCisJCXJldHVybiAxOworCWlmIChkZXYgIT0gZGlzaykgeworCQlpZiAod2hvbGVkaXNrLT5kZXZubyAhPSBkaXNrKSB7CisJCQlzeXNmc19kZWluaXQod2hvbGVkaXNrKTsKKwkJCWlmIChzeXNmc19pbml0KHdob2xlZGlzaywgZGlzaywgTlVMTCkpCisJCQkJcmV0dXJuIDE7CisJCX0KKwkJcGFyZW50ID0gd2hvbGVkaXNrOworCX0KKworCXJjID0gc3lzZnNfaW5pdCgmY3h0LCBkZXYsIHBhcmVudCk7CisJaWYgKCFyYykKKwkJcmMgPSBzeXNmc19yZWFkX3U2NCgmY3h0LCAicXVldWUvZGlzY2FyZF9ncmFudWxhcml0eSIsICZkZyk7CisKKwlzeXNmc19kZWluaXQoJmN4dCk7CisJcmV0dXJuIHJjID09IDAgJiYgZGcgPiAwOworfQorCisKK3N0YXRpYyBpbnQgdW5pcV9mc190YXJnZXRfY21wKAorCQlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSksCisJCXN0cnVjdCBsaWJtbnRfZnMgKmEsCisJCXN0cnVjdCBsaWJtbnRfZnMgKmIpCit7CisJcmV0dXJuICFtbnRfZnNfc3RyZXFfdGFyZ2V0KGEsIG1udF9mc19nZXRfdGFyZ2V0KGIpKTsKK30KKworc3RhdGljIGludCB1bmlxX2ZzX3NvdXJjZV9jbXAoCisJCXN0cnVjdCBsaWJtbnRfdGFibGUgKnRiIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwKKwkJc3RydWN0IGxpYm1udF9mcyAqYSwKKwkJc3RydWN0IGxpYm1udF9mcyAqYikKK3sKKwlpZiAobW50X2ZzX2lzX3BzZXVkb2ZzKGEpIHx8IG1udF9mc19pc19uZXRmcyhhKSB8fAorCSAgICBtbnRfZnNfaXNfcHNldWRvZnMoYikgfHwgbW50X2ZzX2lzX25ldGZzKGIpKQorCQlyZXR1cm4gMTsKKworCXJldHVybiAhbW50X2ZzX3N0cmVxX3NyY3BhdGgoYSwgbW50X2ZzX2dldF9zcmNwYXRoKGIpKTsKK30KKworLyoKKyAqIGZzdHJpbSAtLWFsbCBmb2xsb3dzICJtb3VudCAtYSIgcmV0dXJuIGNvZGVzOgorICoKKyAqIDAgID0gYWxsIHN1Y2Nlc3MKKyAqIDMyID0gYWxsIGZhaWxlZAorICogNjQgPSBzb21lIGZhaWxlZCwgc29tZSBzdWNjZXNzCisgKi8KK3N0YXRpYyBpbnQgZnN0cmltX2FsbChzdHJ1Y3QgZnN0cmltX3JhbmdlICpyYW5nZXRwbCwgaW50IHZlcmJvc2UpCit7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJc3RydWN0IGxpYm1udF9pdGVyICppdHI7CisJc3RydWN0IGxpYm1udF90YWJsZSAqdGFiOworCXN0cnVjdCBzeXNmc19jeHQgd2hvbGVkaXNrID0gVUxfU1lTRlNDWFRfRU1QVFk7CisJaW50IGNudCA9IDAsIGNudF9lcnIgPSAwOworCisJbW50X2luaXRfZGVidWcoMCk7CisKKwlpdHIgPSBtbnRfbmV3X2l0ZXIoTU5UX0lURVJfQkFDS1dBUkQpOworCWlmICghaXRyKQorCQllcnIoTU9VTlRfRVhfRkFJTCwgXygiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgaXRlcmF0b3IiKSk7CisKKwl0YWIgPSBtbnRfbmV3X3RhYmxlX2Zyb21fZmlsZShfUEFUSF9QUk9DX01PVU5USU5GTyk7CisJaWYgKCF0YWIpCisJCWVycihNT1VOVF9FWF9GQUlMLCBfKCJmYWlsZWQgdG8gcGFyc2UgJXMiKSwgX1BBVEhfUFJPQ19NT1VOVElORk8pOworCisJLyogZGUtZHVwbGljYXRlIGJ5IG1vdW50cG9pbnRzICovCisJbW50X3RhYmxlX3VuaXFfZnModGFiLCAwLCB1bmlxX2ZzX3RhcmdldF9jbXApOworCisJLyogZGUtZHVwbGljYXRlIGJ5IHNvdXJjZSBhbmQgcm9vdCAqLworCW1udF90YWJsZV91bmlxX2ZzKHRhYiwgMCwgdW5pcV9mc19zb3VyY2VfY21wKTsKKworCXdoaWxlIChtbnRfdGFibGVfbmV4dF9mcyh0YWIsIGl0ciwgJmZzKSA9PSAwKSB7CisJCWNvbnN0IGNoYXIgKnNyYyA9IG1udF9mc19nZXRfc3JjcGF0aChmcyksCisJCQkgICAqdGd0ID0gbW50X2ZzX2dldF90YXJnZXQoZnMpOworCQljaGFyICpwYXRoOworCQlpbnQgcmMgPSAxOworCisJCWlmICghc3JjIHx8ICF0Z3QgfHwgKnNyYyAhPSAnLycgfHwKKwkJICAgIG1udF9mc19pc19wc2V1ZG9mcyhmcykgfHwKKwkJICAgIG1udF9mc19pc19uZXRmcyhmcykpCisJCQljb250aW51ZTsKKworCQkvKiBJcyBpdCByZWFsbHkgYWNjZXNzaWJsZSBtb3VudHBvaW50PyBOb3QgYWxsIG1vdW50cG9pbnRzIGFyZQorCQkgKiBhY2Nlc3NpYmxlIChtYXliZSBvdmVyIG1vdW50ZWQgYnkgYW5vdGhlciBmaWxlc3lzdGVtKSAqLworCQlwYXRoID0gbW50X2dldF9tb3VudHBvaW50KHRndCk7CisJCWlmIChwYXRoICYmIHN0cmNtcChwYXRoLCB0Z3QpID09IDApCisJCQlyYyA9IDA7CisJCWZyZWUocGF0aCk7CisJCWlmIChyYykKKwkJCWNvbnRpbnVlOwkvKiBvdmVybGF5aW5nIG1vdW50ICovCisKKwkJaWYgKCFoYXNfZGlzY2FyZChzcmMsICZ3aG9sZWRpc2spKQorCQkJY29udGludWU7CisJCWNudCsrOworCisJCS8qCisJCSAqIFdlJ3JlIGFibGUgdG8gZGV0ZWN0IHRoYXQgdGhlIGRldmljZSBzdXBwb3J0cyBkaXNjYXJkLCBidXQKKwkJICogdGhpbmdzIGFsc28gZGVwZW5kIG9uIGZpbGVzeXN0ZW0gb3IgZGV2aWNlIG1hcHBpbmcsIGZvcgorCQkgKiBleGFtcGxlIHZmYXQgb3IgTFVLUyAoYnkgZGVmYXVsdCkgZG9lcyBub3Qgc3VwcG9ydCBGU1RSSU0uCisJCSAqCisJCSAqIFRoaXMgaXMgcmVhc29uIHdoeSB3ZSBpZ25vcmUgRU9QTk9UU1VQUCBhbmQgRU5PVFRZIGVycm9ycworCQkgKiBmcm9tIGRpc2NhcmQgaW9jdGwuCisJCSAqLworCQlpZiAoZnN0cmltX2ZpbGVzeXN0ZW0odGd0LCByYW5nZXRwbCwgdmVyYm9zZSkgPCAwKQorCQkgICAgICAgY250X2VycisrOworCX0KKworCXN5c2ZzX2RlaW5pdCgmd2hvbGVkaXNrKTsKKwltbnRfdW5yZWZfdGFibGUodGFiKTsKKwltbnRfZnJlZV9pdGVyKGl0cik7CisKKwlpZiAoY250ICYmIGNudCA9PSBjbnRfZXJyKQorCQlyZXR1cm4gTU9VTlRfRVhfRkFJTDsJCS8qIGFsbCBmYWlsZWQgKi8KKwlpZiAoY250ICYmIGNudF9lcnIpCisJCXJldHVybiBNT1VOVF9FWF9TT01FT0s7CQkvKiBzb21lIG9rICovCisKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZShGSUxFICpvdXQpCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LAorCSAgICAgIF8oIiAlcyBbb3B0aW9uc10gPG1vdW50IHBvaW50PlxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJEaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWFsbCAgICAgICAgICAgdHJpbSBhbGwgbW91bnRlZCBmaWxlc3lzdGVtcyB0aGF0IGFyZSBzdXBwb3J0ZWRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbywgLS1vZmZzZXQgPG51bT4gIHRoZSBvZmZzZXQgaW4gYnl0ZXMgdG8gc3RhcnQgZGlzY2FyZGluZyBmcm9tXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWwsIC0tbGVuZ3RoIDxudW0+ICB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGRpc2NhcmRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbSwgLS1taW5pbXVtIDxudW0+IHRoZSBtaW5pbXVtIGV4dGVudCBsZW5ndGggdG8gZGlzY2FyZFxuIiksIG91dCk7CisJZnB1dHMoXygiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgbnVtYmVyIG9mIGRpc2NhcmRlZCBieXRlc1xuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoVVNBR0VfSEVMUCwgb3V0KTsKKwlmcHV0cyhVU0FHRV9WRVJTSU9OLCBvdXQpOworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgiZnN0cmltKDgpIikpOworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwljaGFyICpwYXRoID0gTlVMTDsKKwlpbnQgYywgcmMsIHZlcmJvc2UgPSAwLCBhbGwgPSAwOworCXN0cnVjdCBmc3RyaW1fcmFuZ2UgcmFuZ2U7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCSAgICB7ICJhbGwiLCAgICAgICAwLCAwLCAnYScgfSwKKwkgICAgeyAiaGVscCIsICAgICAgMCwgMCwgJ2gnIH0sCisJICAgIHsgInZlcnNpb24iLCAgIDAsIDAsICdWJyB9LAorCSAgICB7ICJvZmZzZXQiLCAgICAxLCAwLCAnbycgfSwKKwkgICAgeyAibGVuZ3RoIiwgICAgMSwgMCwgJ2wnIH0sCisJICAgIHsgIm1pbmltdW0iLCAgIDEsIDAsICdtJyB9LAorCSAgICB7ICJ2ZXJib3NlIiwgICAwLCAwLCAndicgfSwKKwkgICAgeyBOVUxMLCAgICAgICAgMCwgMCwgMCB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwltZW1zZXQoJnJhbmdlLCAwLCBzaXplb2YocmFuZ2UpKTsKKwlyYW5nZS5sZW4gPSBVTExPTkdfTUFYOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImFoVm86bDptOnYiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisJCXN3aXRjaChjKSB7CisJCWNhc2UgJ2EnOgorCQkJYWxsID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ2wnOgorCQkJcmFuZ2UubGVuID0gc3RydG9zaXplX29yX2VycihvcHRhcmcsCisJCQkJCV8oImZhaWxlZCB0byBwYXJzZSBsZW5ndGgiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnbyc6CisJCQlyYW5nZS5zdGFydCA9IHN0cnRvc2l6ZV9vcl9lcnIob3B0YXJnLAorCQkJCQlfKCJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IikpOworCQkJYnJlYWs7CisJCWNhc2UgJ20nOgorCQkJcmFuZ2UubWlubGVuID0gc3RydG9zaXplX29yX2VycihvcHRhcmcsCisJCQkJCV8oImZhaWxlZCB0byBwYXJzZSBtaW5pbXVtIGV4dGVudCBsZW5ndGgiKSk7CisJCQlicmVhazsKKwkJY2FzZSAndic6CisJCQl2ZXJib3NlID0gMTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJaWYgKCFhbGwpIHsKKwkJaWYgKG9wdGluZCA9PSBhcmdjKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIm5vIG1vdW50cG9pbnQgc3BlY2lmaWVkIikpOworCQlwYXRoID0gYXJndltvcHRpbmQrK107CisJfQorCisJaWYgKG9wdGluZCAhPSBhcmdjKSB7CisJCXdhcm54KF8oInVuZXhwZWN0ZWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIpKTsKKwkJdXNhZ2Uoc3RkZXJyKTsKKwl9CisKKwlpZiAoYWxsKQorCQlyYyA9IGZzdHJpbV9hbGwoJnJhbmdlLCB2ZXJib3NlKTsKKwllbHNlIHsKKwkJcmMgPSBmc3RyaW1fZmlsZXN5c3RlbShwYXRoLCAmcmFuZ2UsIHZlcmJvc2UpOworCQlpZiAocmMgPT0gMSkgeworCQkJd2FybngoXygiJXM6IHRoZSBkaXNjYXJkIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIiksIHBhdGgpOworCQkJcmMgPSBFWElUX0ZBSUxVUkU7CisJCX0KKwl9CisKKwlyZXR1cm4gcmM7Cit9CmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvZnN0cmltLnNlcnZpY2UuaW4gYi9zeXMtdXRpbHMvZnN0cmltLnNlcnZpY2UuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDU3ZGZjZgotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9mc3RyaW0uc2VydmljZS5pbgpAQCAtMCwwICsxLDYgQEAKK1tVbml0XQorRGVzY3JpcHRpb249RGlzY2FyZCB1bnVzZWQgYmxvY2tzCisKK1tTZXJ2aWNlXQorVHlwZT1vbmVzaG90CitFeGVjU3RhcnQ9QHNiaW5kaXJAL2ZzdHJpbSAtYXYKZGlmZiAtLWdpdCBhL3N5cy11dGlscy9mc3RyaW0udGltZXIgYi9zeXMtdXRpbHMvZnN0cmltLnRpbWVyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhMzc2MmQKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvZnN0cmltLnRpbWVyCkBAIC0wLDAgKzEsMTEgQEAKK1tVbml0XQorRGVzY3JpcHRpb249RGlzY2FyZCB1bnVzZWQgYmxvY2tzIG9uY2UgYSB3ZWVrCitEb2N1bWVudGF0aW9uPW1hbjpmc3RyaW0KKworW1RpbWVyXQorT25DYWxlbmRhcj13ZWVrbHkKK0FjY3VyYWN5U2VjPTFoCitQZXJzaXN0ZW50PXRydWUKKworW0luc3RhbGxdCitXYW50ZWRCeT10aW1lcnMudGFyZ2V0CmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvaHdjbG9jay1jbW9zLmMgYi9zeXMtdXRpbHMvaHdjbG9jay1jbW9zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTEwM2I3MwotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9od2Nsb2NrLWNtb3MuYwpAQCAtMCwwICsxLDY3OCBAQAorLyoKKyAqIGkzODYgQ01PUyBzdGFydHMgb3V0IHdpdGggMTQgYnl0ZXMgY2xvY2sgZGF0YSBhbHBoYSBoYXMgc29tZXRoaW5nCisgKiBzaW1pbGFyLCBidXQgd2l0aCBkZXRhaWxzIGRlcGVuZGluZyBvbiB0aGUgbWFjaGluZSB0eXBlLgorICoKKyAqIGJ5dGUgMDogc2Vjb25kcwkJMC01OQorICogYnl0ZSAyOiBtaW51dGVzCQkwLTU5CisgKiBieXRlIDQ6IGhvdXJzCQkwLTIzIGluIDI0aHIgbW9kZSwKKyAqCQkJCTEtMTIgaW4gMTJociBtb2RlLCB3aXRoIGhpZ2ggYml0IHVuc2V0L3NldAorICoJCQkJCWlmIGFtL3BtLgorICogYnl0ZSA2OiB3ZWVrZGF5CQkxLTcsIFN1bmRheT0xCisgKiBieXRlIDc6IGRheSBvZiB0aGUgbW9udGgJMS0zMQorICogYnl0ZSA4OiBtb250aAkJMS0xMgorICogYnl0ZSA5OiB5ZWFyCQkJMC05OQorICoKKyAqIE51bWJlcnMgYXJlIHN0b3JlZCBpbiBCQ0QvYmluYXJ5IGlmIGJpdCAyIG9mIGJ5dGUgMTEgaXMgdW5zZXQvc2V0IFRoZQorICogY2xvY2sgaXMgaW4gMTJoci8yNGhyIG1vZGUgaWYgYml0IDEgb2YgYnl0ZSAxMSBpcyB1bnNldC9zZXQgVGhlIGNsb2NrIGlzCisgKiB1bmRlZmluZWQgKGJlaW5nIHVwZGF0ZWQpIGlmIGJpdCA3IG9mIGJ5dGUgMTAgaXMgc2V0LiBUaGUgY2xvY2sgaXMgZnJvemVuCisgKiAodG8gYmUgdXBkYXRlZCkgYnkgc2V0dGluZyBiaXQgNyBvZiBieXRlIDExIEJpdCA3IG9mIGJ5dGUgMTQgaW5kaWNhdGVzCisgKiB3aGV0aGVyIHRoZSBDTU9TIGNsb2NrIGlzIHJlbGlhYmxlOiBpdCBpcyAxIGlmIFJUQyBwb3dlciBoYXMgYmVlbiBnb29kCisgKiBzaW5jZSB0aGlzIGJpdCB3YXMgbGFzdCByZWFkOyBpdCBpcyAwIHdoZW4gdGhlIGJhdHRlcnkgaXMgZGVhZCBhbmQgc3lzdGVtCisgKiBwb3dlciBoYXMgYmVlbiBvZmYuCisgKgorICogQXZvaWQgc2V0dGluZyB0aGUgUlRDIGNsb2NrIHdpdGhpbiAyIHNlY29uZHMgb2YgdGhlIGRheSByb2xsb3ZlciB0aGF0CisgKiBzdGFydHMgYSBuZXcgbW9udGggb3IgZW50ZXJzIGRheWxpZ2h0IHNhdmluZyB0aW1lLgorICoKKyAqIFRoZSBjZW50dXJ5IHNpdHVhdGlvbiBpcyBtZXNzeToKKyAqCisgKiBVc3VhbGx5IGJ5dGUgNTAgKDB4MzIpIGdpdmVzIHRoZSBjZW50dXJ5IChpbiBCQ0QsIHNvIDE5IG9yIDIwIGhleCksIGJ1dAorICogSUJNIFBTLzIgaGFzIChwYXJ0IG9mKSBhIGNoZWNrc3VtIHRoZXJlIGFuZCB1c2VzIGJ5dGUgNTUgKDB4MzcpLgorICogU29tZXRpbWVzIGJ5dGUgMTI3ICgweDdmKSBvciBCYW5rIDEsIGJ5dGUgMHg0OCBnaXZlcyB0aGUgY2VudHVyeS4gVGhlCisgKiBvcmlnaW5hbCBSVEMgd2lsbCBub3QgYWNjZXNzIGFueSBjZW50dXJ5IGJ5dGU7IHNvbWUgbW9kZXJuIHZlcnNpb25zIHdpbGwuCisgKiBJZiBhIG1vZGVybiBSVEMgb3IgQklPUyBpbmNyZW1lbnRzIHRoZSBjZW50dXJ5IGJ5dGUgaXQgbWF5IGdvIGZyb20gMHgxOQorICogdG8gMHgyMCwgYnV0IGluIHNvbWUgYnVnZ3kgY2FzZXMgMHgxYSBpcyBwcm9kdWNlZC4KKyAqLworLyoKKyAqIEEgc3RydWN0IHRtIGhhcyBpbnQgZmllbGRzCisgKiAgIHRtX3NlYwkwLTU5LCA2MCBvciA2MSBvbmx5IGZvciBsZWFwIHNlY29uZHMKKyAqICAgdG1fbWluCTAtNTkKKyAqICAgdG1faG91cgkwLTIzCisgKiAgIHRtX21kYXkJMS0zMQorICogICB0bV9tb24JMC0xMQorICogICB0bV95ZWFyCW51bWJlciBvZiB5ZWFycyBzaW5jZSAxOTAwCisgKiAgIHRtX3dkYXkJMC02LCAwPVN1bmRheQorICogICB0bV95ZGF5CTAtMzY1CisgKiAgIHRtX2lzZHN0CT4wOiB5ZXMsIDA6IG5vLCA8MDogdW5rbm93bgorICovCisKKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx0aW1lLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisKKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pCisjIGlmZGVmIEhBVkVfU1lTX0lPX0gKKyMgIGluY2x1ZGUgPHN5cy9pby5oPgorIyBlbGlmIGRlZmluZWQoSEFWRV9BU01fSU9fSCkKKyMgIGluY2x1ZGUgPGFzbS9pby5oPgkJLyogZm9yIGluYiwgb3V0YiAqLworIyBlbHNlCisvKgorICogRGlzYWJsZSBjbW9zIGFjY2Vzczsgd2UgY2FuIG5vIGxvbmdlciB1c2UgYXNtL2lvLmgsIHNpbmNlIHRoZSBrZXJuZWwgZG9lcworICogbm90IGV4cG9ydCB0aGF0IGhlYWRlci4KKyAqLworI3VuZGVmIF9faTM4Nl9fCisjdW5kZWYgX194ODZfNjRfXwordm9pZCBvdXRiKGludCBhIF9fYXR0cmlidXRlX18gKChfX3VudXNlZF9fKSksCisJICBpbnQgYiBfX2F0dHJpYnV0ZV9fICgoX191bnVzZWRfXykpKQoreworfQorCitpbnQgaW5iKGludCBjIF9fYXR0cmlidXRlX18gKChfX3VudXNlZF9fKSkpCit7CisJcmV0dXJuIDA7Cit9CisjZW5kaWYJCQkJLyogX19pMzg2X18gX194ODZfNjRfXyAqLworCisjZWxpZiBkZWZpbmVkKF9fYWxwaGFfXykKKyMgaWZkZWYgSEFWRV9TWVNfSU9fSAorIyAgaW5jbHVkZSA8c3lzL2lvLmg+CisjIGVsc2UKKy8qIDxhc20vaW8uaD4gZmFpbHMgdG8gY29tcGlsZSwgcHJvYmFibHkgYmVjYXVzZSBvZiB1OCBldGMgKi8KK2V4dGVybiB1bnNpZ25lZCBpbnQgaW5iKHVuc2lnbmVkIGxvbmcgcG9ydCk7CitleHRlcm4gdm9pZCBvdXRiKHVuc2lnbmVkIGNoYXIgYiwgdW5zaWduZWQgbG9uZyBwb3J0KTsKK2V4dGVybiBpbnQgaW9wbChpbnQgbGV2ZWwpOworIyBlbmRpZgorI2Vsc2UKK3N0YXRpYyB2b2lkIG91dGIoaW50IGEgX19hdHRyaWJ1dGVfXyAoKF9fdW51c2VkX18pKSwKKwkgIGludCBiIF9fYXR0cmlidXRlX18gKChfX3VudXNlZF9fKSkpCit7Cit9CisKK3N0YXRpYyBpbnQgaW5iKGludCBjIF9fYXR0cmlidXRlX18gKChfX3VudXNlZF9fKSkpCit7CisJcmV0dXJuIDA7Cit9CisjZW5kaWYJCQkJLyogX19hbHBoYV9fICovCisKKyNpbmNsdWRlICJod2Nsb2NrLmgiCisKKyNkZWZpbmUgQkNEX1RPX0JJTih2YWwpICgodmFsKT0oKHZhbCkmMTUpICsgKCh2YWwpPj40KSoxMCkKKyNkZWZpbmUgQklOX1RPX0JDRCh2YWwpICgodmFsKT0oKCh2YWwpLzEwKTw8NCkgKyAodmFsKSUxMCkKKworLyoKKyAqIFRoZSBlcG9jaC4KKyAqCisgKiBVbml4IHVzZXMgMTkwMCBhcyBlcG9jaCBmb3IgYSBzdHJ1Y3QgdG0sIGFuZCAxOTcwIGZvciBhIHRpbWVfdC4gQnV0IHdoYXQKKyAqIHdhcyB3cml0dGVuIHRvIENNT1M/CisgKgorICogRGlnaXRhbCBERUNzdGF0aW9ucyB1c2UgMTkyOCAtIHRoaXMgaXMgb24gYSBtaXBzIG9yIGFscGhhIERpZ2l0YWwgVW5peAorICogdXNlcyAxOTUyLCBlLmcuIG9uIEFYUHB4aTMzLiBXaW5kb3dzIE5UIHVzZXMgMTk4MC4gVGhlIEFSQyBjb25zb2xlCisgKiBleHBlY3RzIHRvIGJvb3QgV2luZG93cyBOVCBhbmQgdXNlcyAxOTgwLiAoQnV0IGEgUnVmZmlhbiB1c2VzIDE5MDAsIGp1c3QKKyAqIGxpa2UgU1JNLikgSXQgaXMgcmVwb3J0ZWQgdGhhdCBBTFBIQV9QUkVfVjFfMl9TUk1fQ09OU09MRSB1c2VzIDE5NTguCisgKi8KKyNkZWZpbmUgVE1fRVBPQ0ggMTkwMAoraW50IGNtb3NfZXBvY2ggPSAxOTAwOworCisvKgorICogTWFydGluIE9zdGVybWFubiB3cml0ZXM6CisgKgorICogVGhlIHByb2JsZW0gd2l0aCB0aGUgSmVuc2VuIGlzIHR3b2ZvbGQ6IEZpcnN0LCBpdCBoYXMgdGhlIGNsb2NrIGF0IGEKKyAqIGRpZmZlcmVudCBhZGRyZXNzLiBTZWNvbmRseSwgaXQgaGFzIGEgZGlzdGluY3Rpb24gYmV0d2VlbiAibG9jYWwiIGFuZAorICogbm9ybWFsIGJ1cyBhZGRyZXNzZXMuIFRoZSBsb2NhbCBvbmVzIHBlcnRhaW4gdG8gdGhlIGhhcmR3YXJlIGludGVncmF0ZWQKKyAqIGludG8gdGhlIGNoaXBzZXQsIGxpa2Ugc2VyaWFsL3BhcmFsbGVsIHBvcnRzIGFuZCBvZiBjb3Vyc2UsIHRoZSBSVEMuCisgKiBUaG9zZSBuZWVkIHRvIGJlIGFkZHJlc3NlZCBkaWZmZXJlbnRseS4gVGhpcyBpcyBoYW5kbGVkIGZpbmUgaW4gdGhlCisgKiBrZXJuZWwsIGFuZCBpdCdzIG5vdCBhIHByb2JsZW0sIHNpbmNlIHRoaXMgdXN1YWxseSBnZXRzIHRvdGFsbHkgb3B0aW1pemVkCisgKiBieSB0aGUgY29tcGlsZS4gQnV0IHRoZSBpL28gcm91dGluZXMgb2YgKGcpbGliYyBsYWNrIHRoaXMgc3VwcG9ydCBzbyBmYXIuCisgKiBUaGUgcmVzdWx0IG9mIHRoaXMgaXMsIHRoYXQgdGhlIG9sZCBjbG9jayBwcm9ncmFtIHdvcmtlZCBvbmx5IG9uIHRoZQorICogSmVuc2VuIHdoZW4gVVNFX0RFVl9QT1JUIHdhcyBkZWZpbmVkLCBidXQgbm90IHdpdGggdGhlIG5vcm1hbCBpbmIvb3V0YgorICogZnVuY3Rpb25zLgorICovCitpbnQgdXNlX2Rldl9wb3J0ID0gMDsJCS8qIDEgZm9yIEplbnNlbiAqLworaW50IGRldl9wb3J0X2ZkOwordW5zaWduZWQgc2hvcnQgY2xvY2tfY3RsX2FkZHIgPSAweDcwOwkvKiAweDE3MCBmb3IgSmVuc2VuICovCit1bnNpZ25lZCBzaG9ydCBjbG9ja19kYXRhX2FkZHIgPSAweDcxOwkvKiAweDE3MSBmb3IgSmVuc2VuICovCisKK2ludCBjZW50dXJ5X2J5dGUgPSAwOwkJLyogMDogZG9uJ3QgYWNjZXNzIGEgY2VudHVyeSBieXRlCisJCQkJICogNTAgKDB4MzIpOiB1c3VhbCBQQyB2YWx1ZQorCQkJCSAqIDU1ICgweDM3KTogUFMvMgorCQkJCSAqLworCisjaWZkZWYgX19hbHBoYV9fCitpbnQgZnVua3lUT1kgPSAwOwkJLyogMSBmb3IgUEMxNjQvTFgxNjQvU1gxNjQgdHlwZSBhbHBoYSAqLworI2VuZGlmCisKKyNpZmRlZiBfX2FscGhhCisKK3N0YXRpYyBpbnQgaXNfaW5fY3B1aW5mbyhjaGFyICpmbXQsIGNoYXIgKnN0cikKK3sKKwlGSUxFICpjcHVpbmZvOworCWNoYXIgZmllbGRbMjU2XTsKKwljaGFyIGZvcm1hdFsyNTZdOworCWludCBmb3VuZCA9IDA7CisKKwlzcHJpbnRmKGZvcm1hdCwgIiVzIDogJXMiLCBmbXQsICIlMjU1cyIpOworCisJY3B1aW5mbyA9IGZvcGVuKCIvcHJvYy9jcHVpbmZvIiwgInIiKTsKKwlpZiAoY3B1aW5mbykgeworCQlkbyB7CisJCQlpZiAoZnNjYW5mKGNwdWluZm8sIGZvcm1hdCwgZmllbGQpID09IDEpIHsKKwkJCQlpZiAoc3RybmNtcChmaWVsZCwgc3RyLCBzdHJsZW4oc3RyKSkgPT0gMCkKKwkJCQkJZm91bmQgPSAxOworCQkJCWJyZWFrOworCQkJfQorCQl9IHdoaWxlIChmZ2V0cyhmaWVsZCwgMjU2LCBjcHVpbmZvKSk7CisJCWZjbG9zZShjcHVpbmZvKTsKKwl9CisJcmV0dXJuIGZvdW5kOworfQorCisvKgorICogU2V0IGNtb3NfZXBvY2gsIGVpdGhlciBmcm9tIHVzZXIgb3B0aW9ucywgb3IgYnkgYXNraW5nIHRoZSBrZXJuZWwsIG9yIGJ5CisgKiBsb29raW5nIGF0IC9wcm9jL2NwdV9pbmZvCisgKi8KK3ZvaWQgc2V0X2Ntb3NfZXBvY2goaW50IEFSQ2NvbnNvbGUsIGludCBTUk0pCit7CisJdW5zaWduZWQgbG9uZyBlcG9jaDsKKworCS8qIEJlbGlldmUgdGhlIHVzZXIgKi8KKwlpZiAoZXBvY2hfb3B0aW9uICE9IC0xKSB7CisJCWNtb3NfZXBvY2ggPSBlcG9jaF9vcHRpb247CisJCXJldHVybjsKKwl9CisKKwlpZiAoQVJDY29uc29sZSkKKwkJY21vc19lcG9jaCA9IDE5ODA7CisKKwlpZiAoQVJDY29uc29sZSB8fCBTUk0pCisJCXJldHVybjsKKworI2lmZGVmIF9fbGludXhfXworCS8qCisJICogSWYgd2UgY2FuIGFzayB0aGUga2VybmVsLCB3ZSBkb24ndCBuZWVkIGd1ZXNzaW5nIGZyb20KKwkgKiAvcHJvYy9jcHVpbmZvCisJICovCisJaWYgKGdldF9lcG9jaF9ydGMoJmVwb2NoLCAxKSA9PSAwKSB7CisJCWNtb3NfZXBvY2ggPSBlcG9jaDsKKwkJcmV0dXJuOworCX0KKyNlbmRpZgorCisJLyoKKwkgKiBUaGUga2VybmVsIHNvdXJjZSB0b2RheSBzYXlzOiByZWFkIHRoZSB5ZWFyLgorCSAqCisJICogSWYgaXQgaXMgaW4gIDAtMTkgdGhlbiB0aGUgZXBvY2ggaXMgMjAwMC4KKwkgKiBJZiBpdCBpcyBpbiAyMC00NyB0aGVuIHRoZSBlcG9jaCBpcyAxOTgwLgorCSAqIElmIGl0IGlzIGluIDQ4LTY5IHRoZW4gdGhlIGVwb2NoIGlzIDE5NTIuCisJICogSWYgaXQgaXMgaW4gNzAtOTkgdGhlbiB0aGUgZXBvY2ggaXMgMTkyOC4KKwkgKgorCSAqIE90aGVyd2lzZSB0aGUgZXBvY2ggaXMgMTkwMC4KKwkgKiBUT0RPOiBDbGVhcmx5LCB0aGlzIG11c3QgYmUgY2hhbmdlZCBiZWZvcmUgMjAxOS4KKwkgKi8KKwkvKgorCSAqIFNlZSB3aGV0aGVyIHdlIGFyZSBkZWFsaW5nIHdpdGggU1JNIG9yIE1JTE8sIGFzIHRoZXkgaGF2ZQorCSAqIGRpZmZlcmVudCAiZXBvY2giIGlkZWFzLgorCSAqLworCWlmIChpc19pbl9jcHVpbmZvKCJzeXN0ZW0gc2VyaWFsIG51bWJlciIsICJNSUxPIikpIHsKKwkJQVJDY29uc29sZSA9IDE7CisJCWlmIChkZWJ1ZykKKwkJCXByaW50ZihfKCJib290ZWQgZnJvbSBNSUxPXG4iKSk7CisJfQorCisJLyoKKwkgKiBTZWUgd2hldGhlciB3ZSBhcmUgZGVhbGluZyB3aXRoIGEgUlVGRklBTiBha2EgQWxwaGEgUEMtMTY0IFVYIChvcgorCSAqIEJYKSwgYXMgdGhleSBoYXZlIFJFQUxMWSBkaWZmZXJlbnQgVE9ZIChUaW1lT2ZZZWFyKSBmb3JtYXQ6IEJDRCwKKwkgKiBhbmQgbm90IGFuIEFSQy1zdHlsZSBlcG9jaC4gQkNEIGlzIGRldGVjdGVkIGR5bmFtaWNhbGx5LCBidXQgd2UKKwkgKiBtdXN0IE5PVCBhZGp1c3QgbGlrZSBBUkMuCisJICovCisJaWYgKEFSQ2NvbnNvbGUgJiYgaXNfaW5fY3B1aW5mbygic3lzdGVtIHR5cGUiLCAiUnVmZmlhbiIpKSB7CisJCUFSQ2NvbnNvbGUgPSAwOworCQlpZiAoZGVidWcpCisJCQlwcmludGYoXygiUnVmZmlhbiBCQ0QgY2xvY2tcbiIpKTsKKwl9CisKKwlpZiAoQVJDY29uc29sZSkKKwkJY21vc19lcG9jaCA9IDE5ODA7Cit9CisKK3ZvaWQgc2V0X2Ntb3NfYWNjZXNzKGludCBKZW5zZW4sIGludCBmdW5reV90b3kpCit7CisKKwkvKgorCSAqIFNlZSB3aGV0aGVyIHdlJ3JlIGRlYWxpbmcgd2l0aCBhIEplbnNlbi0tLWl0IGhhcyBhIHdlaXJkIEkvTworCSAqIHN5c3RlbS4gREVDIHdhcyBqdXN0IGxlYXJuaW5nIGhvdyB0byBidWlsZCBBbHBoYSBQQ3MuCisJICovCisJaWYgKEplbnNlbiB8fCBpc19pbl9jcHVpbmZvKCJzeXN0ZW0gdHlwZSIsICJKZW5zZW4iKSkgeworCQl1c2VfZGV2X3BvcnQgPSAxOworCQljbG9ja19jdGxfYWRkciA9IDB4MTcwOworCQljbG9ja19kYXRhX2FkZHIgPSAweDE3MTsKKwkJaWYgKGRlYnVnKQorCQkJcHJpbnRmKF8oImNsb2NrcG9ydCBhZGp1c3RlZCB0byAweCV4XG4iKSwKKwkJCSAgICAgICBjbG9ja19jdGxfYWRkcik7CisJfQorCisJLyoKKwkgKiBTZWUgd2hldGhlciB3ZSBhcmUgZGVhbGluZyB3aXRoIFBDMTY0L0xYMTY0L1NYMTY0LCBhcyB0aGV5IGhhdmUgYQorCSAqIFRPWSB0aGF0IG11c3QgYmUgYWNjZXNzZWQgZGlmZmVyZW50bHkgdG8gd29yayBjb3JyZWN0bHkuCisJICovCisJLyogTmF1dGlsdXMgc3R1ZmYgcmVwb3J0ZWQgYnkgTmVva2xpcyBLeXJpYXppcyAqLworCWlmIChmdW5reV90b3kgfHwKKwkgICAgaXNfaW5fY3B1aW5mbygic3lzdGVtIHZhcmlhdGlvbiIsICJQQzE2NCIpIHx8CisJICAgIGlzX2luX2NwdWluZm8oInN5c3RlbSB2YXJpYXRpb24iLCAiTFgxNjQiKSB8fAorCSAgICBpc19pbl9jcHVpbmZvKCJzeXN0ZW0gdmFyaWF0aW9uIiwgIlNYMTY0IikgfHwKKwkgICAgaXNfaW5fY3B1aW5mbygic3lzdGVtIHR5cGUiLCAiTmF1dGlsdXMiKSkgeworCQlmdW5reVRPWSA9IDE7CisJCWlmIChkZWJ1ZykKKwkJCXByaW50ZihfKCJmdW5reSBUT1khXG4iKSk7CisJfQorfQorI2VuZGlmCQkJCS8qIF9fYWxwaGEgKi8KKworI2lmIF9fYWxwaGFfXworLyoKKyAqIFRoZSBBbHBoYSBkb2Vzbid0IGFsbG93IHVzZXItbGV2ZWwgY29kZSB0byBkaXNhYmxlIGludGVycnVwdHMgKGZvciBnb29kCisgKiByZWFzb25zKS4gSW5zdGVhZCwgd2UgZW5zdXJlIGF0b21pYyBvcGVyYXRpb24gYnkgcGVyZm9ybWluZyB0aGUgb3BlcmF0aW9uCisgKiBhbmQgY2hlY2tpbmcgd2hldGhlciB0aGUgaGlnaCAzMiBiaXRzIG9mIHRoZSBjeWNsZSBjb3VudGVyIGNoYW5nZWQuIElmCisgKiB0aGV5IGRpZCwgYSBjb250ZXh0IHN3aXRjaCBtdXN0IGhhdmUgb2NjdXJyZWQgYW5kIHdlIHJlZG8gdGhlIG9wZXJhdGlvbi4KKyAqIEFzIGxvbmcgYXMgdGhlIG9wZXJhdGlvbiBpcyByZWFzb25hYmx5IHNob3J0LCBpdCB3aWxsIGNvbXBsZXRlCisgKiBhdG9taWNhbGx5LCBldmVudHVhbGx5LgorICovCitzdGF0aWMgdW5zaWduZWQgbG9uZworYXRvbWljKGNvbnN0IGNoYXIgKm5hbWUsIHVuc2lnbmVkIGxvbmcgKCpvcCkgKHVuc2lnbmVkIGxvbmcpLCB1bnNpZ25lZCBsb25nIGFyZykKK3sKKwl1bnNpZ25lZCBsb25nIHRzMSwgdHMyLCBuLCB2OworCisJZm9yIChuID0gMDsgbiA8IDEwMDA7ICsrbikgeworCQlhc20gdm9sYXRpbGUgKCJycGNjICUwIjoicj0iICh0czEpKTsKKwkJdiA9ICgqb3ApIChhcmcpOworCQlhc20gdm9sYXRpbGUgKCJycGNjICUwIjoicj0iICh0czIpKTsKKworCQlpZiAoKHRzMSBeIHRzMikgPj4gMzIgPT0gMCkgeworCQkJcmV0dXJuIHY7CisJCX0KKwl9CisJZXJyeChFWElUX0ZBSUxVUkUsIF8oImF0b21pYyAlcyBmYWlsZWQgZm9yIDEwMDAgaXRlcmF0aW9ucyEiKSwKKwkJbmFtZSk7Cit9CisjZWxzZQorCisvKgorICogSG1taCwgdGhpcyBpc24ndCB2ZXJ5IGF0b21pYy4gTWF5YmUgd2Ugc2hvdWxkIGZvcmNlIGFuIGVycm9yIGluc3RlYWQ/CisgKgorICogVE9ETzogb3B0aW1pemUgdGhlIGFjY2VzcyB0byBDTU9TIGJ5IG1sb2NrYWxsKE1DTF9DVVJSRU5UKSBhbmQgU0NIRURfRklGTworICovCitzdGF0aWMgdW5zaWduZWQgbG9uZworYXRvbWljKGNvbnN0IGNoYXIgKm5hbWUgX19hdHRyaWJ1dGVfXyAoKF9fdW51c2VkX18pKSwKKyAgICAgICB1bnNpZ25lZCBsb25nICgqb3ApICh1bnNpZ25lZCBsb25nKSwKKyAgICAgICB1bnNpZ25lZCBsb25nIGFyZykKK3sKKwlyZXR1cm4gKCpvcCkgKGFyZyk7Cit9CisKKyNlbmRpZgorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgY21vc19yZWFkKHVuc2lnbmVkIGxvbmcgcmVnKQoreworCWlmICh1c2VfZGV2X3BvcnQpIHsKKwkJdW5zaWduZWQgY2hhciB2ID0gcmVnIHwgMHg4MDsKKwkJbHNlZWsoZGV2X3BvcnRfZmQsIGNsb2NrX2N0bF9hZGRyLCAwKTsKKwkJaWYgKHdyaXRlKGRldl9wb3J0X2ZkLCAmdiwgMSkgPT0gLTEgJiYgZGVidWcpCisJCQl3YXJuKF8oImNtb3NfcmVhZCgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIiksCisJCQkgICAgICAgY2xvY2tfY3RsX2FkZHIpOworCQlsc2VlayhkZXZfcG9ydF9mZCwgY2xvY2tfZGF0YV9hZGRyLCAwKTsKKwkJaWYgKHJlYWQoZGV2X3BvcnRfZmQsICZ2LCAxKSA9PSAtMSAmJiBkZWJ1ZykKKwkJCXdhcm4oXygiY21vc19yZWFkKCk6IHJlYWQgZnJvbSBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIiksCisJCQkgICAgICAgY2xvY2tfZGF0YV9hZGRyKTsKKwkJcmV0dXJuIHY7CisJfSBlbHNlIHsKKwkJLyoKKwkJICogV2Ugb25seSB3YW50IHRvIHJlYWQgQ01PUyBkYXRhLCBidXQgdW5mb3J0dW5hdGVseSB3cml0aW5nCisJCSAqIHRvIGJpdCA3IGRpc2FibGVzICgxKSBvciBlbmFibGVzICgwKSBOTUk7IHNpbmNlIHRoaXMgYml0CisJCSAqIGlzIHJlYWQtb25seSB3ZSBoYXZlIHRvIGd1ZXNzIHRoZSBvbGQgc3RhdHVzLiBWYXJpb3VzCisJCSAqIGRvY3Mgc3VnZ2VzdCB0aGF0IG9uZSBzaG91bGQgZGlzYWJsZSBOTUkgd2hpbGUKKwkJICogcmVhZGluZy93cml0aW5nIENNT1MgZGF0YSwgYW5kIGVuYWJsZSBpdCBhZ2FpbgorCQkgKiBhZnRlcndhcmRzLiBUaGlzIHdvdWxkIHlpZWxkIHRoZSBzZXF1ZW5jZQorCQkgKgorCQkgKiAgb3V0YiAocmVnIHwgMHg4MCwgMHg3MCk7CisJCSAqICB2YWwgPSBpbmIoMHg3MSk7CisJCSAqICBvdXRiICgweDBkLCAweDcwKTsgIC8vIDB4MGQ6IHJhbmRvbSByZWFkLW9ubHkgbG9jYXRpb24KKwkJICoKKwkJICogT3RoZXIgZG9jcyBzdGF0ZSB0aGF0ICJhbnkgd3JpdGUgdG8gMHg3MCBzaG91bGQgYmUKKwkJICogZm9sbG93ZWQgYnkgYW4gYWN0aW9uIHRvIDB4NzEgb3IgdGhlIFJUQyB3aWxsIGJlIGxlZnQgaW4KKwkJICogYW4gdW5rbm93biBzdGF0ZSIuIE1vc3QgZG9jcyBzYXkgdGhhdCBpdCBkb2Vzbid0IG1hdHRlciBhdAorCQkgKiBhbGwgd2hhdCBvbmUgZG9lcy4KKwkJICovCisJCS8qCisJCSAqIGJpdCAweDgwOiBkaXNhYmxlIE5NSSB3aGlsZSByZWFkaW5nIC0gc2hvdWxkIHdlPyBMZXQgdXMKKwkJICogZm9sbG93IHRoZSBrZXJuZWwgYW5kIG5vdCBkaXNhYmxlLiBDYWxsZWQgb25seSB3aXRoIDAgPD0KKwkJICogcmVnIDwgMTI4CisJCSAqLworCQlvdXRiKHJlZywgY2xvY2tfY3RsX2FkZHIpOworCQlyZXR1cm4gaW5iKGNsb2NrX2RhdGFfYWRkcik7CisJfQorfQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgY21vc193cml0ZSh1bnNpZ25lZCBsb25nIHJlZywgdW5zaWduZWQgbG9uZyB2YWwpCit7CisJaWYgKHVzZV9kZXZfcG9ydCkgeworCQl1bnNpZ25lZCBjaGFyIHYgPSByZWcgfCAweDgwOworCQlsc2VlayhkZXZfcG9ydF9mZCwgY2xvY2tfY3RsX2FkZHIsIDApOworCQlpZiAod3JpdGUoZGV2X3BvcnRfZmQsICZ2LCAxKSA9PSAtMSAmJiBkZWJ1ZykKKwkJCXdhcm4oXygiY21vc193cml0ZSgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIiksCisJCQkgICAgICAgY2xvY2tfY3RsX2FkZHIpOworCQl2ID0gKHZhbCAmIDB4ZmYpOworCQlsc2VlayhkZXZfcG9ydF9mZCwgY2xvY2tfZGF0YV9hZGRyLCAwKTsKKwkJaWYgKHdyaXRlKGRldl9wb3J0X2ZkLCAmdiwgMSkgPT0gLTEgJiYgZGVidWcpCisJCQl3YXJuKF8oImNtb3Nfd3JpdGUoKTogd3JpdGUgdG8gZGF0YSBhZGRyZXNzICVYIGZhaWxlZCIpLAorCQkJICAgICAgIGNsb2NrX2RhdGFfYWRkcik7CisJfSBlbHNlIHsKKwkJb3V0YihyZWcsIGNsb2NrX2N0bF9hZGRyKTsKKwkJb3V0Yih2YWwsIGNsb2NrX2RhdGFfYWRkcik7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBjbW9zX3NldF90aW1lKHVuc2lnbmVkIGxvbmcgYXJnKQoreworCXVuc2lnbmVkIGNoYXIgc2F2ZV9jb250cm9sLCBzYXZlX2ZyZXFfc2VsZWN0LCBwbWJpdCA9IDA7CisJc3RydWN0IHRtIHRtID0gKihzdHJ1Y3QgdG0gKilhcmc7CisJdW5zaWduZWQgaW50IGNlbnR1cnk7CisKKy8qCisgKiBDTU9TIGJ5dGUgMTAgKGNsb2NrIHN0YXR1cyByZWdpc3RlciBBKSBoYXMgMyBiaXRmaWVsZHM6CisgKiBiaXQgNzogMSBpZiBkYXRhIGludmFsaWQsIHVwZGF0ZSBpbiBwcm9ncmVzcyAocmVhZC1vbmx5IGJpdCkKKyAqICAgICAgICAgKHRoaXMgaXMgcmFpc2VkIDIyNCB1cyBiZWZvcmUgdGhlIGFjdHVhbCB1cGRhdGUgc3RhcnRzKQorICogIDYtNCAgICBzZWxlY3QgYmFzZSBmcmVxdWVuY3kKKyAqICAgICAgICAgMDEwOiAzMjc2OCBIeiB0aW1lIGJhc2UgKGRlZmF1bHQpCisgKiAgICAgICAgIDExMTogcmVzZXQKKyAqICAgICAgICAgYWxsIG90aGVyIGNvbWJpbmF0aW9ucyBhcmUgbWFudWZhY3R1cmVyLWRlcGVuZGVudAorICogICAgICAgICAoZS5nLjogRFMxMjg3OiAwMTAgPSBzdGFydCBvc2NpbGxhdG9yLCBhbnl0aGluZyBlbHNlID0gc3RvcCkKKyAqICAzLTAgICAgcmF0ZSBzZWxlY3Rpb24gYml0cyBmb3IgaW50ZXJydXB0CisgKiAgICAgICAgIDAwMDAgbm9uZSAobWF5IHN0b3AgUlRDKQorICogICAgICAgICAwMDAxLCAwMDEwIGdpdmUgc2FtZSBmcmVxdWVuY3kgYXMgMTAwMCwgMTAwMQorICogICAgICAgICAwMDExIDEyMiBtaWNyb3NlY29uZHMgKG1pbmltdW0sIDgxOTIgSHopCisgKiAgICAgICAgIC4uLi4gZWFjaCBpbmNyZWFzZSBieSAxIGhhbHZlcyB0aGUgZnJlcXVlbmN5LCBkb3VibGVzIHRoZSBwZXJpb2QKKyAqICAgICAgICAgMTExMSA1MDAgbWlsbGlzZWNvbmRzIChtYXhpbXVtLCAyIEh6KQorICogICAgICAgICAwMTEwIDk3Ni41NjIgbWljcm9zZWNvbmRzIChkZWZhdWx0IDEwMjQgSHopCisgKi8KKwlzYXZlX2NvbnRyb2wgPSBjbW9zX3JlYWQoMTEpOwkvKiB0ZWxsIHRoZSBjbG9jayBpdCdzIGJlaW5nIHNldCAqLworCWNtb3Nfd3JpdGUoMTEsIChzYXZlX2NvbnRyb2wgfCAweDgwKSk7CisJc2F2ZV9mcmVxX3NlbGVjdCA9IGNtb3NfcmVhZCgxMCk7CS8qIHN0b3AgYW5kIHJlc2V0IHByZXNjYWxlciAqLworCWNtb3Nfd3JpdGUoMTAsIChzYXZlX2ZyZXFfc2VsZWN0IHwgMHg3MCkpOworCisJdG0udG1feWVhciArPSBUTV9FUE9DSDsKKwljZW50dXJ5ID0gdG0udG1feWVhciAvIDEwMDsKKwl0bS50bV95ZWFyIC09IGNtb3NfZXBvY2g7CisJdG0udG1feWVhciAlPSAxMDA7CisJdG0udG1fbW9uICs9IDE7CisJdG0udG1fd2RheSArPSAxOworCisJaWYgKCEoc2F2ZV9jb250cm9sICYgMHgwMikpIHsJLyogMTJociBtb2RlOyB0aGUgZGVmYXVsdCBpcyAyNGhyIG1vZGUgKi8KKwkJaWYgKHRtLnRtX2hvdXIgPT0gMCkKKwkJCXRtLnRtX2hvdXIgPSAyNDsKKwkJaWYgKHRtLnRtX2hvdXIgPiAxMikgeworCQkJdG0udG1faG91ciAtPSAxMjsKKwkJCXBtYml0ID0gMHg4MDsKKwkJfQorCX0KKworCWlmICghKHNhdmVfY29udHJvbCAmIDB4MDQpKSB7CS8qIEJDRCBtb2RlIC0gdGhlIGRlZmF1bHQgKi8KKwkJQklOX1RPX0JDRCh0bS50bV9zZWMpOworCQlCSU5fVE9fQkNEKHRtLnRtX21pbik7CisJCUJJTl9UT19CQ0QodG0udG1faG91cik7CisJCUJJTl9UT19CQ0QodG0udG1fd2RheSk7CisJCUJJTl9UT19CQ0QodG0udG1fbWRheSk7CisJCUJJTl9UT19CQ0QodG0udG1fbW9uKTsKKwkJQklOX1RPX0JDRCh0bS50bV95ZWFyKTsKKwkJQklOX1RPX0JDRChjZW50dXJ5KTsKKwl9CisKKwljbW9zX3dyaXRlKDAsIHRtLnRtX3NlYyk7CisJY21vc193cml0ZSgyLCB0bS50bV9taW4pOworCWNtb3Nfd3JpdGUoNCwgdG0udG1faG91ciB8IHBtYml0KTsKKwljbW9zX3dyaXRlKDYsIHRtLnRtX3dkYXkpOworCWNtb3Nfd3JpdGUoNywgdG0udG1fbWRheSk7CisJY21vc193cml0ZSg4LCB0bS50bV9tb24pOworCWNtb3Nfd3JpdGUoOSwgdG0udG1feWVhcik7CisJaWYgKGNlbnR1cnlfYnl0ZSkKKwkJY21vc193cml0ZShjZW50dXJ5X2J5dGUsIGNlbnR1cnkpOworCisJLyoKKwkgKiBUaGUga2VybmVsIHNvdXJjZXMsIGxpbnV4L2FyY2gvaTM4Ni9rZXJuZWwvdGltZS5jLCBoYXZlIHRoZQorCSAqIGZvbGxvd2luZyBjb21tZW50OgorCSAqCisJICogVGhlIGZvbGxvd2luZyBmbGFncyBoYXZlIHRvIGJlIHJlbGVhc2VkIGV4YWN0bHkgaW4gdGhpcyBvcmRlciwKKwkgKiBvdGhlcndpc2UgdGhlIERTMTI4ODcgKHBvcHVsYXIgTUMxNDY4MThBIGNsb25lIHdpdGggaW50ZWdyYXRlZAorCSAqIGJhdHRlcnkgYW5kIHF1YXJ0eikgd2lsbCBub3QgcmVzZXQgdGhlIG9zY2lsbGF0b3IgYW5kIHdpbGwgbm90CisJICogdXBkYXRlIHByZWNpc2VseSA1MDAgbXMgbGF0ZXIuIFlvdSB3b24ndCBmaW5kIHRoaXMgbWVudGlvbmVkIGluCisJICogdGhlIERhbGxhcyBTZW1pY29uZHVjdG9yIGRhdGEgc2hlZXRzLCBidXQgd2hvIGJlbGlldmVzIGRhdGEKKwkgKiBzaGVldHMgYW55d2F5IC4uLiAtLSBNYXJrdXMgS3VobgorCSAqLworCWNtb3Nfd3JpdGUoMTEsIHNhdmVfY29udHJvbCk7CisJY21vc193cml0ZSgxMCwgc2F2ZV9mcmVxX3NlbGVjdCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaGNsb2NrX3JlYWQodW5zaWduZWQgbG9uZyByZWcpCit7CisJcmV0dXJuIGF0b21pYygiY2xvY2sgcmVhZCIsIGNtb3NfcmVhZCwgKHJlZykpOworfQorCitzdGF0aWMgdm9pZCBoY2xvY2tfc2V0X3RpbWUoY29uc3Qgc3RydWN0IHRtICp0bSkKK3sKKwlhdG9taWMoInNldCB0aW1lIiwgY21vc19zZXRfdGltZSwgKHVuc2lnbmVkIGxvbmcpKHRtKSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGNtb3NfY2xvY2tfYnVzeSh2b2lkKQoreworCXJldHVybgorI2lmZGVmIF9fYWxwaGFfXworCSAgICAvKiBwb2xsIGJpdCA0IChVRikgb2YgQ29udHJvbCBSZWdpc3RlciBDICovCisJICAgIGZ1bmt5VE9ZID8gKGhjbG9ja19yZWFkKDEyKSAmIDB4MTApIDoKKyNlbmRpZgorCSAgICAvKiBwb2xsIGJpdCA3IChVSVApIG9mIENvbnRyb2wgUmVnaXN0ZXIgQSAqLworCSAgICAoaGNsb2NrX3JlYWQoMTApICYgMHg4MCk7Cit9CisKK3N0YXRpYyBpbnQgc3luY2hyb25pemVfdG9fY2xvY2tfdGlja19jbW9zKHZvaWQpCit7CisJaW50IGk7CisKKwkvKgorCSAqIFdhaXQgZm9yIHJpc2UuIFNob3VsZCBiZSB3aXRoaW4gYSBzZWNvbmQsIGJ1dCBpbiBjYXNlIHNvbWV0aGluZworCSAqIHdlaXJkIGhhcHBlbnMsIHdlIGhhdmUgYSBsaW1pdCBvbiB0aGlzIGxvb3AgdG8gcmVkdWNlIHRoZSBpbXBhY3QKKwkgKiBvZiB0aGlzIGZhaWx1cmUuCisJICovCisJZm9yIChpID0gMDsgIWNtb3NfY2xvY2tfYnVzeSgpOyBpKyspCisJCWlmIChpID49IDEwMDAwMDAwKQorCQkJcmV0dXJuIDE7CisKKwkvKiBXYWl0IGZvciBmYWxsLiAgU2hvdWxkIGJlIHdpdGhpbiAyLjIyOCBtcy4gKi8KKwlmb3IgKGkgPSAwOyBjbW9zX2Nsb2NrX2J1c3koKTsgaSsrKQorCQlpZiAoaSA+PSAxMDAwMDAwKQorCQkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBSZWFkIHRoZSBoYXJkd2FyZSBjbG9jayBhbmQgcmV0dXJuIHRoZSBjdXJyZW50IHRpbWUgdmlhIDx0bT4gYXJndW1lbnQuCisgKiBBc3N1bWUgd2UgaGF2ZSBhbiBJU0EgbWFjaGluZSBhbmQgcmVhZCB0aGUgY2xvY2sgZGlyZWN0bHkgd2l0aCBDUFUgSS9PCisgKiBpbnN0cnVjdGlvbnMuCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyBub3QgdG90YWxseSByZWxpYWJsZS4gIEl0IHRha2VzIGEgZmluaXRlIGFuZAorICogdW5wcmVkaWN0YWJsZSBhbW91bnQgb2YgdGltZSB0byBleGVjdXRlIHRoZSBjb2RlIGJlbG93LiBEdXJpbmcgdGhhdCB0aW1lLAorICogdGhlIGNsb2NrIG1heSBjaGFuZ2UgYW5kIHdlIG1heSBldmVuIHJlYWQgYW4gaW52YWxpZCB2YWx1ZSBpbiB0aGUgbWlkZGxlCisgKiBvZiBhbiB1cGRhdGUuIFdlIGRvIGEgZmV3IGNoZWNrcyB0byBtaW5pbWl6ZSB0aGlzIHBvc3NpYmlsaXR5LCBidXQgb25seQorICogdGhlIGtlcm5lbCBjYW4gYWN0dWFsbHkgcmVhZCB0aGUgY2xvY2sgcHJvcGVybHksIHNpbmNlIGl0IGNhbiBleGVjdXRlCisgKiBjb2RlIGluIGEgc2hvcnQgYW5kIHByZWRpY3RhYmxlIGFtb3VudCBvZiB0aW1lIChieSB0dXJuaW5nIG9mCisgKiBpbnRlcnJ1cHRzKS4KKyAqCisgKiBJbiBwcmFjdGljZSwgdGhlIGNoYW5jZSBvZiB0aGlzIGZ1bmN0aW9uIHJldHVybmluZyB0aGUgd3JvbmcgdGltZSBpcworICogZXh0cmVtZWx5IHJlbW90ZS4KKyAqLworc3RhdGljIGludCByZWFkX2hhcmR3YXJlX2Nsb2NrX2Ntb3Moc3RydWN0IHRtICp0bSkKK3sKKwlib29sIGdvdF90aW1lID0gRkFMU0U7CisJdW5zaWduZWQgY2hhciBzdGF0dXMsIHBtYml0OworCisJc3RhdHVzID0gcG1iaXQgPSAwOwkvKiBqdXN0IGZvciBnY2MgKi8KKworCXdoaWxlICghZ290X3RpbWUpIHsKKwkJLyoKKwkJICogQml0IDcgb2YgQnl0ZSAxMCBvZiB0aGUgSGFyZHdhcmUgQ2xvY2sgdmFsdWUgaXMgdGhlCisJCSAqIFVwZGF0ZSBJbiBQcm9ncmVzcyAoVUlQKSBiaXQsIHdoaWNoIGlzIG9uIHdoaWxlIGFuZCAyNDQKKwkJICogdVMgYmVmb3JlIHRoZSBIYXJkd2FyZSBDbG9jayB1cGRhdGVzIGl0c2VsZi4gSXQgdXBkYXRlcworCQkgKiB0aGUgY291bnRlcnMgaW5kaXZpZHVhbGx5LCBzbyByZWFkaW5nIHRoZW0gZHVyaW5nIGFuCisJCSAqIHVwZGF0ZSB3b3VsZCBwcm9kdWNlIGdhcmJhZ2UuIFRoZSB1cGRhdGUgdGFrZXMgMm1TLCBzbyB3ZQorCQkgKiBjb3VsZCBiZSBzcGlubmluZyBoZXJlIHRoYXQgbG9uZyB3YWl0aW5nIGZvciB0aGlzIGJpdCB0bworCQkgKiB0dXJuIG9mZi4KKwkJICoKKwkJICogRnVydGhlcm1vcmUsIGl0IGlzIHBhdGhvbG9naWNhbGx5IHBvc3NpYmxlIGZvciB1cyB0byBiZQorCQkgKiBpbiB0aGlzIGNvZGUgc28gbG9uZyB0aGF0IGV2ZW4gaWYgdGhlIFVJUCBiaXQgaXMgbm90IG9uCisJCSAqIGF0IGZpcnN0LCB0aGUgY2xvY2sgaGFzIGNoYW5nZWQgd2hpbGUgd2Ugd2VyZSBydW5uaW5nLiBXZQorCQkgKiBjaGVjayBmb3IgdGhhdCB0b28sIGFuZCBpZiBpdCBoYXBwZW5zLCB3ZSBzdGFydCBvdmVyLgorCQkgKi8KKwkJaWYgKCFjbW9zX2Nsb2NrX2J1c3koKSkgeworCQkJLyogTm8gY2xvY2sgdXBkYXRlIGluIHByb2dyZXNzLCBnbyBhaGVhZCBhbmQgcmVhZCAqLworCQkJdG0tPnRtX3NlYyA9IGhjbG9ja19yZWFkKDApOworCQkJdG0tPnRtX21pbiA9IGhjbG9ja19yZWFkKDIpOworCQkJdG0tPnRtX2hvdXIgPSBoY2xvY2tfcmVhZCg0KTsKKwkJCXRtLT50bV93ZGF5ID0gaGNsb2NrX3JlYWQoNik7CisJCQl0bS0+dG1fbWRheSA9IGhjbG9ja19yZWFkKDcpOworCQkJdG0tPnRtX21vbiA9IGhjbG9ja19yZWFkKDgpOworCQkJdG0tPnRtX3llYXIgPSBoY2xvY2tfcmVhZCg5KTsKKwkJCXN0YXR1cyA9IGhjbG9ja19yZWFkKDExKTsKKyNpZiAwCisJCQlpZiAoY2VudHVyeV9ieXRlKQorCQkJCWNlbnR1cnkgPSBoY2xvY2tfcmVhZChjZW50dXJ5X2J5dGUpOworI2VuZGlmCisJCQkvKgorCQkJICogVW5sZXNzIHRoZSBjbG9jayBjaGFuZ2VkIHdoaWxlIHdlIHdlcmUgcmVhZGluZywKKwkJCSAqIGNvbnNpZGVyIHRoaXMgYSBnb29kIGNsb2NrIHJlYWQgLgorCQkJICovCisJCQlpZiAodG0tPnRtX3NlYyA9PSBoY2xvY2tfcmVhZCgwKSkKKwkJCQlnb3RfdGltZSA9IFRSVUU7CisJCX0KKwkJLyoKKwkJICogWWVzLCBpbiB0aGVvcnkgd2UgY291bGQgaGF2ZSBiZWVuIHJ1bm5pbmcgZm9yIDYwIHNlY29uZHMKKwkJICogYW5kIHRoZSBhYm92ZSB0ZXN0IHdvdWxkbid0IHdvcmshCisJCSAqLworCX0KKworCWlmICghKHN0YXR1cyAmIDB4MDQpKSB7CS8qIEJDRCBtb2RlIC0gdGhlIGRlZmF1bHQgKi8KKwkJQkNEX1RPX0JJTih0bS0+dG1fc2VjKTsKKwkJQkNEX1RPX0JJTih0bS0+dG1fbWluKTsKKwkJcG1iaXQgPSAodG0tPnRtX2hvdXIgJiAweDgwKTsKKwkJdG0tPnRtX2hvdXIgJj0gMHg3ZjsKKwkJQkNEX1RPX0JJTih0bS0+dG1faG91cik7CisJCUJDRF9UT19CSU4odG0tPnRtX3dkYXkpOworCQlCQ0RfVE9fQklOKHRtLT50bV9tZGF5KTsKKwkJQkNEX1RPX0JJTih0bS0+dG1fbW9uKTsKKwkJQkNEX1RPX0JJTih0bS0+dG1feWVhcik7CisjaWYgMAorCQlCQ0RfVE9fQklOKGNlbnR1cnkpOworI2VuZGlmCisJfQorCisJLyoKKwkgKiBXZSBkb24ndCB1c2UgdGhlIGNlbnR1cnkgYnl0ZSBvZiB0aGUgSGFyZHdhcmUgQ2xvY2sgc2luY2Ugd2UKKwkgKiBkb24ndCBrbm93IGl0cyBhZGRyZXNzICh1c3VhbGx5IDUwIG9yIDU1KS4gSGVyZSwgd2UgZm9sbG93IHRoZQorCSAqIGFkdmljZSBvZiB0aGUgWC9PcGVuIEJhc2UgV29ya2luZyBHcm91cDogImlmIGNlbnR1cnkgaXMgbm90CisJICogc3BlY2lmaWVkLCB0aGVuIHZhbHVlcyBpbiB0aGUgcmFuZ2UgWzY5LTk5XSByZWZlciB0byB5ZWFycyBpbiB0aGUKKwkgKiB0d2VudGlldGggY2VudHVyeSAoMTk2OSB0byAxOTk5IGluY2x1c2l2ZSksIGFuZCB2YWx1ZXMgaW4gdGhlCisJICogcmFuZ2UgWzAwLTY4XSByZWZlciB0byB5ZWFycyBpbiB0aGUgdHdlbnR5LWZpcnN0IGNlbnR1cnkgKDIwMDAgdG8KKwkgKiAyMDY4IGluY2x1c2l2ZSkuIgorCSAqLworCXRtLT50bV93ZGF5IC09IDE7CisJdG0tPnRtX21vbiAtPSAxOworCXRtLT50bV95ZWFyICs9IChjbW9zX2Vwb2NoIC0gVE1fRVBPQ0gpOworCWlmICh0bS0+dG1feWVhciA8IDY5KQorCQl0bS0+dG1feWVhciArPSAxMDA7CisJaWYgKHBtYml0KSB7CisJCXRtLT50bV9ob3VyICs9IDEyOworCQlpZiAodG0tPnRtX2hvdXIgPT0gMjQpCisJCQl0bS0+dG1faG91ciA9IDA7CisJfQorCisJdG0tPnRtX2lzZHN0ID0gLTE7CS8qIGRvbid0IGtub3cgd2hldGhlciBpdCdzIGRheWxpZ2h0ICovCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc2V0X2hhcmR3YXJlX2Nsb2NrX2Ntb3MoY29uc3Qgc3RydWN0IHRtICpuZXdfYnJva2VuX3RpbWUpCit7CisKKwloY2xvY2tfc2V0X3RpbWUobmV3X2Jyb2tlbl90aW1lKTsKKwlyZXR1cm4gMDsKK30KKworI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hbHBoYV9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pCisjIGlmIGRlZmluZWQoSEFWRV9JT1BMKQorc3RhdGljIGludCBpMzg2X2lvcGwoY29uc3QgaW50IGxldmVsKQoreworCXJldHVybiBpb3BsKGxldmVsKTsKK30KKyMgZWxzZQorc3RhdGljIGludCBpMzg2X2lvcGwoY29uc3QgaW50IGxldmVsIF9fYXR0cmlidXRlX18gKChfX3VudXNlZF9fKSkpCit7CisJZXh0ZXJuIGludCBpb3Blcm0odW5zaWduZWQgbG9uZyBmcm9tLCB1bnNpZ25lZCBsb25nIG51bSwgaW50IHR1cm5fb24pOworCXJldHVybiBpb3Blcm0oY2xvY2tfY3RsX2FkZHIsIDIsIDEpOworfQorIyBlbmRpZgorI2Vsc2UKK3N0YXRpYyBpbnQgaTM4Nl9pb3BsKGNvbnN0IGludCBsZXZlbCBfX2F0dHJpYnV0ZV9fICgoX191bnVzZWRfXykpKQoreworCXJldHVybiAtMjsKK30KKyNlbmRpZgorCitzdGF0aWMgaW50IGdldF9wZXJtaXNzaW9uc19jbW9zKHZvaWQpCit7CisJaW50IHJjOworCisJaWYgKHVzZV9kZXZfcG9ydCkgeworCQlpZiAoKGRldl9wb3J0X2ZkID0gb3BlbigiL2Rldi9wb3J0IiwgT19SRFdSKSkgPCAwKSB7CisJCQl3YXJuKF8oImNhbm5vdCBvcGVuICVzIiksICIvZGV2L3BvcnQiKTsKKwkJCXJjID0gMTsKKwkJfSBlbHNlCisJCQlyYyA9IDA7CisJfSBlbHNlIHsKKwkJcmMgPSBpMzg2X2lvcGwoMyk7CisJCWlmIChyYyA9PSAtMikgeworCQkJd2FybngoXygiSSBmYWlsZWQgdG8gZ2V0IHBlcm1pc3Npb24gYmVjYXVzZSBJIGRpZG4ndCB0cnkuIikpOworCQl9IGVsc2UgaWYgKHJjICE9IDApIHsKKwkJCXJjID0gZXJybm87CisJCQl3YXJuKF8oInVuYWJsZSB0byBnZXQgSS9PIHBvcnQgYWNjZXNzOiAgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGUgaW9wbCgzKSBjYWxsIGZhaWxlZC4iKSk7CisJCQlpZiAocmMgPT0gRVBFUk0gJiYgZ2V0ZXVpZCgpKQorCQkJCXdhcm54KF8oIlByb2JhYmx5IHlvdSBuZWVkIHJvb3QgcHJpdmlsZWdlcy5cbiIpKTsKKwkJfQorCX0KKwlyZXR1cm4gcmMgPyAxIDogMDsKK30KKworc3RhdGljIHN0cnVjdCBjbG9ja19vcHMgY21vcyA9IHsKKwlOXygiVXNpbmcgZGlyZWN0IEkvTyBpbnN0cnVjdGlvbnMgdG8gSVNBIGNsb2NrLiIpLAorCWdldF9wZXJtaXNzaW9uc19jbW9zLAorCXJlYWRfaGFyZHdhcmVfY2xvY2tfY21vcywKKwlzZXRfaGFyZHdhcmVfY2xvY2tfY21vcywKKwlzeW5jaHJvbml6ZV90b19jbG9ja190aWNrX2Ntb3MsCit9OworCisvKgorICogcmV0dXJuICZjbW9zIGlmIGNtb3MgY2xvY2sgcHJlc2VudCwgTlVMTCBvdGhlcndpc2UgY2hvb3NlIHRoaXMKKyAqIGNvbnN0cnVjdGlvbiB0byBhdm9pZCBnY2MgbWVzc2FnZXMgYWJvdXQgdW51c2VkIHZhcmlhYmxlcworICovCitzdHJ1Y3QgY2xvY2tfb3BzICpwcm9iZV9mb3JfY21vc19jbG9jayh2b2lkKQoreworCWludCBoYXZlX2Ntb3MgPQorI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hbHBoYV9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pCisJICAgIFRSVUU7CisjZWxzZQorCSAgICBGQUxTRTsKKyNlbmRpZgorCXJldHVybiBoYXZlX2Ntb3MgPyAmY21vcyA6IE5VTEw7Cit9CmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvaHdjbG9jay1ydGMuYyBiL3N5cy11dGlscy9od2Nsb2NrLXJ0Yy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlMzIzOTkKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvaHdjbG9jay1ydGMuYwpAQCAtMCwwICsxLDQ5MCBAQAorLyoKKyAqIHJ0Yy5jIC0gVXNlIC9kZXYvcnRjIGZvciBjbG9jayBhY2Nlc3MKKyAqLworI2luY2x1ZGUgPGFzbS9pb2N0bC5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN5c2V4aXRzLmg+CisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjaW5jbHVkZSA8c3lzL3NlbGVjdC5oPgorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjaW5jbHVkZSA8dGltZS5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaW5jbHVkZSAibmxzLmgiCisKKyNpbmNsdWRlICJod2Nsb2NrLmgiCisKKy8qCisgKiBHZXQgZGVmaW5lcyBmb3IgcnRjIHN0dWZmLgorICoKKyAqIEdldHRpbmcgdGhlIHJ0YyBkZWZpbmVzIGlzIG5vbnRyaXZpYWwuIFRoZSBvYnZpb3VzIHdheSBpcyBieSBpbmNsdWRpbmcKKyAqIDxsaW51eC9tYzE0NjgxOHJ0Yy5oPiBidXQgdGhhdCBhZ2FpbiBpbmNsdWRlcyA8YXNtL2lvLmg+IHdoaWNoIGFnYWluCisgKiBpbmNsdWRlcyAuLi4gYW5kIG9uIHNwYXJjIGFuZCBhbHBoYSB0aGlzIGdpdmVzIGNvbXBpbGF0aW9uIGVycm9ycyBmb3IKKyAqIG1hbnkga2VybmVsIHZlcnNpb25zLiBTbywgd2UgZ2l2ZSB0aGUgZGVmaW5lcyBvdXJzZWx2ZXMgaGVyZS4gTW9yZW92ZXIsCisgKiBzb21lIFNwYXJjIHBlcnNvbiBkZWNpZGVkIHRvIGJlIGluY29tcGF0aWJsZSwgYW5kIHVzZWQgYSBzdHJ1Y3QgcnRjX3RpbWUKKyAqIGRpZmZlcmVudCBmcm9tIHRoYXQgdXNlZCBpbiBtYzE0NjgxOHJ0Yy5oLgorICovCisKKy8qCisgKiBPbiBTcGFyY3MsIHRoZXJlIGlzIGEgPGFzbS9ydGMuaD4gdGhhdCBkZWZpbmVzIGRpZmZlcmVudCBpb2N0bHMgKHRoYXQgYXJlCisgKiByZXF1aXJlZCBvbiBteSBtYWNoaW5lKS4gSG93ZXZlciwgdGhpcyBpbmNsdWRlIGZpbGUgZG9lcyBub3QgZXhpc3Qgb24KKyAqIG90aGVyIGFyY2hpdGVjdHVyZXMuCisgKi8KKy8qIE9uZSBtaWdodCBkbzoKKyNpZmRlZiBfX3NwYXJjX18KKyMgaW5jbHVkZSA8YXNtL3J0Yy5oPgorI2VuZGlmCisgKi8KKy8qIFRoZSBmb2xsb3dpbmcgaXMgcm91Z2hseSBlcXVpdmFsZW50ICovCitzdHJ1Y3Qgc3BhcmNfcnRjX3RpbWUKK3sKKwlpbnQgc2VjOwkvKiBTZWNvbmRzCQkwLTU5ICovCisJaW50IG1pbjsJLyogTWludXRlcwkJMC01OSAqLworCWludCBob3VyOwkvKiBIb3VyCQkJMC0yMyAqLworCWludCBkb3c7CS8qIERheSBvZiB0aGUgd2VlawkxLTcgICovCisJaW50IGRvbTsJLyogRGF5IG9mIHRoZSBtb250aAkxLTMxICovCisJaW50IG1vbnRoOwkvKiBNb250aCBvZiB5ZWFyCTEtMTIgKi8KKwlpbnQgeWVhcjsJLyogWWVhcgkJCTAtOTkgKi8KK307CisKKyNkZWZpbmUgUlRDR0VUIF9JT1IoJ3AnLCAyMCwgc3RydWN0IHNwYXJjX3J0Y190aW1lKQorI2RlZmluZSBSVENTRVQgX0lPVygncCcsIDIxLCBzdHJ1Y3Qgc3BhcmNfcnRjX3RpbWUpCisKKy8qIG5vbi1zcGFyYyBzdHVmZiAqLworI2lmIDAKKyMgaW5jbHVkZSA8bGludXgvdmVyc2lvbi5oPgorLyoKKyAqIENoZWNrIGlmIHRoZSAvZGV2L3J0YyBpbnRlcmZhY2UgaXMgYXZhaWxhYmxlIGluIHRoaXMgdmVyc2lvbiBvZiB0aGUKKyAqIHN5c3RlbSBoZWFkZXJzLiAxMzEwNzIgaXMgbGludXggMi4wLjAuCisgKi8KKyMgaWYgTElOVVhfVkVSU0lPTl9DT0RFID49IDEzMTA3MgorIyAgaW5jbHVkZSA8bGludXgvbWMxNDY4MThydGMuaD4KKyMgZW5kaWYKKyNlbmRpZgorCisvKgorICogc3RydWN0IHJ0Y190aW1lIGlzIHByZXNlbnQgc2luY2UgMS4zLjk5LgorICogRWFybGllciAoc2luY2UgMS4zLjg5KSwgYSBzdHJ1Y3QgdG0gd2FzIHVzZWQuCisgKi8KK3N0cnVjdCBsaW51eF9ydGNfdGltZSB7CisJaW50IHRtX3NlYzsKKwlpbnQgdG1fbWluOworCWludCB0bV9ob3VyOworCWludCB0bV9tZGF5OworCWludCB0bV9tb247CisJaW50IHRtX3llYXI7CisJaW50IHRtX3dkYXk7CisJaW50IHRtX3lkYXk7CisJaW50IHRtX2lzZHN0OworfTsKKworLyogUlRDX1JEX1RJTUUgZXRjIGhhdmUgdGhpcyBkZWZpbml0aW9uIHNpbmNlIDEuOTkuOSAocHJlMi4wLTkpICovCisjaWZuZGVmIFJUQ19SRF9USU1FCisjIGRlZmluZSBSVENfUkRfVElNRQlfSU9SKCdwJywgMHgwOSwgc3RydWN0IGxpbnV4X3J0Y190aW1lKQorIyBkZWZpbmUgUlRDX1NFVF9USU1FCV9JT1coJ3AnLCAweDBhLCBzdHJ1Y3QgbGludXhfcnRjX3RpbWUpCisjIGRlZmluZSBSVENfVUlFX09OCV9JTygncCcsIDB4MDMpCS8qIFVwZGF0ZSBpbnQuIGVuYWJsZSBvbiAqLworIyBkZWZpbmUgUlRDX1VJRV9PRkYJX0lPKCdwJywgMHgwNCkJLyogVXBkYXRlIGludC4gZW5hYmxlIG9mZiAqLworI2VuZGlmCisKKy8qIFJUQ19FUE9DSF9SRUFEIGFuZCBSVENfRVBPQ0hfU0VUIGFyZSBwcmVzZW50IHNpbmNlIDIuMC4zNCBhbmQgMi4xLjg5ICovCisjaWZuZGVmIFJUQ19FUE9DSF9SRUFECisjIGRlZmluZSBSVENfRVBPQ0hfUkVBRAlfSU9SKCdwJywgMHgwZCwgdW5zaWduZWQgbG9uZykJLyogUmVhZCBlcG9jaCAqLworIyBkZWZpbmUgUlRDX0VQT0NIX1NFVAlfSU9XKCdwJywgMHgwZSwgdW5zaWduZWQgbG9uZykJLyogU2V0IGVwb2NoICovCisjZW5kaWYKKworLyoKKyAqIC9kZXYvcnRjIGlzIGNvbnZlbnRpb25hbGx5IGNoYXJkZXYgMTAvMTM1CisgKiBpYTY0IHVzZXMgL2Rldi9lZmlydGMsIGNoYXJkZXYgMTAvMTM2CisgKiBkZXZmcyAob2Jzb2xldGUpIHVzZWQgL2Rldi9taXNjLy4uLiBmb3IgbWlzY2RldgorICogbmV3IFJUQyBmcmFtZXdvcmsgKyB1ZGV2IHVzZXMgZHluYW1pYyBtYWpvciBhbmQgL2Rldi9ydGMwLi4uL2Rldi9ydGNOCisgKiAuLi4gc28gd2UgbmVlZCBhbiBvdmVycmlkYWJsZSBkZWZhdWx0CisgKi8KKworLyogZGVmYXVsdCBvciB1c2VyIGRlZmluZWQgZGV2IChieSBod2Nsb2NrIC0tcnRjPTxwYXRoPikgKi8KK2NoYXIgKnJ0Y19kZXZfbmFtZTsKKworc3RhdGljIGludCBydGNfZGV2X2ZkID0gLTE7CisKK3N0YXRpYyB2b2lkIGNsb3NlX3J0Yyh2b2lkKQoreworCWlmIChydGNfZGV2X2ZkICE9IC0xKQorCQljbG9zZShydGNfZGV2X2ZkKTsKKwlydGNfZGV2X2ZkID0gLTE7Cit9CisKK3N0YXRpYyBpbnQgb3Blbl9ydGModm9pZCkKK3sKKwljaGFyICpmbHNbXSA9IHsKKyNpZmRlZiBfX2lhNjRfXworCQkiL2Rldi9lZmlydGMiLAorCQkiL2Rldi9taXNjL2VmaXJ0YyIsCisjZW5kaWYKKwkJIi9kZXYvcnRjIiwKKwkJIi9kZXYvcnRjMCIsCisJCSIvZGV2L21pc2MvcnRjIiwKKwkJTlVMTAorCX07CisJY2hhciAqKnA7CisKKwlpZiAocnRjX2Rldl9mZCAhPSAtMSkKKwkJcmV0dXJuIHJ0Y19kZXZfZmQ7CisKKwkvKiAtLXJ0YyBvcHRpb24gaGFzIGJlZW4gZ2l2ZW4gKi8KKwlpZiAocnRjX2Rldl9uYW1lKQorCQlydGNfZGV2X2ZkID0gb3BlbihydGNfZGV2X25hbWUsIE9fUkRPTkxZKTsKKwllbHNlIHsKKwkJZm9yIChwID0gZmxzOyAqcDsgKytwKSB7CisJCQlydGNfZGV2X2ZkID0gb3BlbigqcCwgT19SRE9OTFkpOworCisJCQlpZiAocnRjX2Rldl9mZCA8IDAKKwkJCSAgICAmJiAoZXJybm8gPT0gRU5PRU5UIHx8IGVycm5vID09IEVOT0RFVikpCisJCQkJY29udGludWU7CisJCQlydGNfZGV2X25hbWUgPSAqcDsKKwkJCWJyZWFrOworCQl9CisJCWlmIChydGNfZGV2X2ZkIDwgMCkKKwkJCXJ0Y19kZXZfbmFtZSA9ICpmbHM7CS8qIGRlZmF1bHQgZm9yIGVycm9yIG1lc3NhZ2VzICovCisJfQorCisJaWYgKHJ0Y19kZXZfZmQgIT0gMSkKKwkJYXRleGl0KGNsb3NlX3J0Yyk7CisJcmV0dXJuIHJ0Y19kZXZfZmQ7Cit9CisKK3N0YXRpYyBpbnQgb3Blbl9ydGNfb3JfZXhpdCh2b2lkKQoreworCWludCBydGNfZmQgPSBvcGVuX3J0YygpOworCisJaWYgKHJ0Y19mZCA8IDApIHsKKwkJd2FybihfKCJjYW5ub3Qgb3BlbiAlcyIpLCBydGNfZGV2X25hbWUpOworCQlod2Nsb2NrX2V4aXQoRVhfT1NGSUxFKTsKKwl9CisJcmV0dXJuIHJ0Y19mZDsKK30KKworc3RhdGljIGludCBkb19ydGNfcmVhZF9pb2N0bChpbnQgcnRjX2ZkLCBzdHJ1Y3QgdG0gKnRtKQoreworCWludCByYyA9IC0xOworCWNoYXIgKmlvY3RsbmFtZTsKKworI2lmZGVmIF9fc3BhcmNfXworCS8qIHNvbWUgYnV0IG5vdCBhbGwgc3BhcmNzIHVzZSBhIGRpZmZlcmVudCBpb2N0bCBhbmQgc3RydWN0ICovCisJc3RydWN0IHNwYXJjX3J0Y190aW1lIHN0bTsKKworCWlvY3RsbmFtZSA9ICJSVENHRVQiOworCXJjID0gaW9jdGwocnRjX2ZkLCBSVENHRVQsICZzdG0pOworCWlmIChyYyA9PSAwKSB7CisJCXRtLT50bV9zZWMgPSBzdG0uc2VjOworCQl0bS0+dG1fbWluID0gc3RtLm1pbjsKKwkJdG0tPnRtX2hvdXIgPSBzdG0uaG91cjsKKwkJdG0tPnRtX21kYXkgPSBzdG0uZG9tOworCQl0bS0+dG1fbW9uID0gc3RtLm1vbnRoIC0gMTsKKwkJdG0tPnRtX3llYXIgPSBzdG0ueWVhciAtIDE5MDA7CisJCXRtLT50bV93ZGF5ID0gc3RtLmRvdyAtIDE7CisJCXRtLT50bV95ZGF5ID0gLTE7CS8qIGRheSBpbiB0aGUgeWVhciAqLworCX0KKyNlbmRpZgorCWlmIChyYyA9PSAtMSkgewkJLyogbm8gc3BhcmMsIG9yIFJUQ0dFVCBmYWlsZWQgKi8KKwkJaW9jdGxuYW1lID0gIlJUQ19SRF9USU1FIjsKKwkJcmMgPSBpb2N0bChydGNfZmQsIFJUQ19SRF9USU1FLCB0bSk7CisJfQorCWlmIChyYyA9PSAtMSkgeworCQl3YXJuKF8oImlvY3RsKCVzKSB0byAlcyB0byByZWFkIHRoZSB0aW1lIGZhaWxlZCIpLAorCQkJaW9jdGxuYW1lLCBydGNfZGV2X25hbWUpOworCQlyZXR1cm4gLTE7CisJfQorCisJdG0tPnRtX2lzZHN0ID0gLTE7CS8qIGRvbid0IGtub3cgd2hldGhlciBpdCdzIGRzdCAqLworCXJldHVybiAwOworfQorCisvKgorICogV2FpdCBmb3IgdGhlIHRvcCBvZiBhIGNsb2NrIHRpY2sgYnkgcmVhZGluZyAvZGV2L3J0YyBpbiBhIGJ1c3kgbG9vcCB1bnRpbAorICogd2Ugc2VlIGl0LgorICovCitzdGF0aWMgaW50IGJ1c3l3YWl0X2Zvcl9ydGNfY2xvY2tfdGljayhjb25zdCBpbnQgcnRjX2ZkKQoreworCXN0cnVjdCB0bSBzdGFydF90aW1lOworCS8qIFRoZSB0aW1lIHdoZW4gd2Ugd2VyZSBjYWxsZWQgKGFuZCBzdGFydGVkIHdhaXRpbmcpICovCisJc3RydWN0IHRtIG5vd3RpbWU7CisJaW50IHJjOworCXN0cnVjdCB0aW1ldmFsIGJlZ2luLCBub3c7CisKKwlpZiAoZGVidWcpCisJCXByaW50ZihfKCJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSAlcyB0byBjaGFuZ2VcbiIpLAorCQkgICAgICAgcnRjX2Rldl9uYW1lKTsKKworCXJjID0gZG9fcnRjX3JlYWRfaW9jdGwocnRjX2ZkLCAmc3RhcnRfdGltZSk7CisJaWYgKHJjKQorCQlyZXR1cm4gMTsKKworCS8qCisJICogV2FpdCBmb3IgY2hhbmdlLiAgU2hvdWxkIGJlIHdpdGhpbiBhIHNlY29uZCwgYnV0IGluIGNhc2UKKwkgKiBzb21ldGhpbmcgd2VpcmQgaGFwcGVucywgd2UgaGF2ZSBhIHRpbWUgbGltaXQgKDEuNXMpIG9uIHRoaXMgbG9vcAorCSAqIHRvIHJlZHVjZSB0aGUgaW1wYWN0IG9mIHRoaXMgZmFpbHVyZS4KKwkgKi8KKwlnZXR0aW1lb2ZkYXkoJmJlZ2luLCBOVUxMKTsKKwlkbyB7CisJCXJjID0gZG9fcnRjX3JlYWRfaW9jdGwocnRjX2ZkLCAmbm93dGltZSk7CisJCWlmIChyYyB8fCBzdGFydF90aW1lLnRtX3NlYyAhPSBub3d0aW1lLnRtX3NlYykKKwkJCWJyZWFrOworCQlnZXR0aW1lb2ZkYXkoJm5vdywgTlVMTCk7CisJCWlmICh0aW1lX2RpZmYobm93LCBiZWdpbikgPiAxLjUpIHsKKwkJCXdhcm54KF8oIlRpbWVkIG91dCB3YWl0aW5nIGZvciB0aW1lIGNoYW5nZS4iKSk7CisJCQlyZXR1cm4gMjsKKwkJfQorCX0gd2hpbGUgKDEpOworCisJaWYgKHJjKQorCQlyZXR1cm4gMzsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFNhbWUgYXMgc3luY2hyb25pemVfdG9fY2xvY2tfdGljaygpLCBidXQganVzdCBmb3IgL2Rldi9ydGMuCisgKi8KK3N0YXRpYyBpbnQgc3luY2hyb25pemVfdG9fY2xvY2tfdGlja19ydGModm9pZCkKK3sKKwlpbnQgcnRjX2ZkOwkJLyogRmlsZSBkZXNjcmlwdG9yIG9mIC9kZXYvcnRjICovCisJaW50IHJldDsKKworCXJ0Y19mZCA9IG9wZW5fcnRjKCk7CisJaWYgKHJ0Y19mZCA9PSAtMSkgeworCQl3YXJuKF8oImNhbm5vdCBvcGVuICVzIiksIHJ0Y19kZXZfbmFtZSk7CisJCXJldCA9IDE7CisJfSBlbHNlIHsKKwkJaW50IHJjOwkJLyogUmV0dXJuIGNvZGUgZnJvbSBpb2N0bCAqLworCQkvKiBUdXJuIG9uIHVwZGF0ZSBpbnRlcnJ1cHRzIChvbmUgcGVyIHNlY29uZCkgKi8KKyNpZiBkZWZpbmVkKF9fYWxwaGFfXykgfHwgZGVmaW5lZChfX3NwYXJjX18pCisJCS8qCisJCSAqIE5vdCBhbGwgYWxwaGEga2VybmVscyByZWplY3QgUlRDX1VJRV9PTiwgYnV0IHByb2JhYmx5CisJCSAqIHRoZXkgc2hvdWxkLgorCQkgKi8KKwkJcmMgPSAtMTsKKwkJZXJybm8gPSBFSU5WQUw7CisjZWxzZQorCQlyYyA9IGlvY3RsKHJ0Y19mZCwgUlRDX1VJRV9PTiwgMCk7CisjZW5kaWYKKwkJaWYgKHJjID09IC0xICYmIChlcnJubyA9PSBFTk9UVFkgfHwgZXJybm8gPT0gRUlOVkFMKSkgeworCQkJLyoKKwkJCSAqIFRoaXMgcnRjIGRldmljZSBkb2Vzbid0IGhhdmUgaW50ZXJydXB0IGZ1bmN0aW9ucy4KKwkJCSAqIFRoaXMgaXMgdHlwaWNhbCBvbiBhbiBBbHBoYSwgd2hlcmUgdGhlIEhhcmR3YXJlCisJCQkgKiBDbG9jayBpbnRlcnJ1cHRzIGFyZSB1c2VkIGJ5IHRoZSBrZXJuZWwgZm9yIHRoZQorCQkJICogc3lzdGVtIGNsb2NrLCBzbyBhcmVuJ3QgYXQgdGhlIHVzZXIncyBkaXNwb3NhbC4KKwkJCSAqLworCQkJaWYgKGRlYnVnKQorCQkJCXByaW50ZihfKCIlcyBkb2VzIG5vdCBoYXZlIGludGVycnVwdCBmdW5jdGlvbnMuICIpLAorCQkJCSAgICAgICBydGNfZGV2X25hbWUpOworCQkJcmV0ID0gYnVzeXdhaXRfZm9yX3J0Y19jbG9ja190aWNrKHJ0Y19mZCk7CisJCX0gZWxzZSBpZiAocmMgPT0gMCkgeworCQkJLyoKKwkJCSAqIEp1c3QgcmVhZGluZyBydGNfZmQgZmFpbHMgb24gYnJva2VuIGhhcmR3YXJlOiBubworCQkJICogdXBkYXRlIGludGVycnVwdCBjb21lcyBhbmQgYSBib290c2NyaXB0IHdpdGggYQorCQkJICogaHdjbG9jayBjYWxsIGhhbmdzCisJCQkgKi8KKwkJCWZkX3NldCByZmRzOworCQkJc3RydWN0IHRpbWV2YWwgdHY7CisKKwkJCS8qCisJCQkgKiBXYWl0IHVwIHRvIHRlbiBzZWNvbmRzIGZvciB0aGUgbmV4dCB1cGRhdGUKKwkJCSAqIGludGVycnVwdAorCQkJICovCisJCQlGRF9aRVJPKCZyZmRzKTsKKwkJCUZEX1NFVChydGNfZmQsICZyZmRzKTsKKwkJCXR2LnR2X3NlYyA9IDEwOworCQkJdHYudHZfdXNlYyA9IDA7CisJCQlyYyA9IHNlbGVjdChydGNfZmQgKyAxLCAmcmZkcywgTlVMTCwgTlVMTCwgJnR2KTsKKwkJCXJldCA9IDE7CisJCQlpZiAocmMgPT0gLTEpCisJCQkJd2FybihfKCJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIpLAorCQkJCSAgICAgcnRjX2Rldl9uYW1lKTsKKwkJCWVsc2UgaWYgKHJjID09IDApIHsKKwkJCQlpZiAoZGVidWcpCisJCQkJCXByaW50ZihfKCJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIHRpbWVkIG91dCIpLAorCQkJCQkgICAgICAgcnRjX2Rldl9uYW1lKTsKKwkJCX0gZWxzZQorCQkJCXJldCA9IDA7CisJCQkvKiBUdXJuIG9mZiB1cGRhdGUgaW50ZXJydXB0cyAqLworCQkJcmMgPSBpb2N0bChydGNfZmQsIFJUQ19VSUVfT0ZGLCAwKTsKKwkJCWlmIChyYyA9PSAtMSkKKwkJCQl3YXJuKF8oImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvZmYgdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIiksCisJCQkJICAgICBydGNfZGV2X25hbWUpOworCQl9IGVsc2UgeworCQkJd2FybihfKCJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb24gdXBkYXRlIGludGVycnVwdHMgIgorCQkJICAgICAgImZhaWxlZCB1bmV4cGVjdGVkbHkiKSwgcnRjX2Rldl9uYW1lKTsKKwkJCXJldCA9IDE7CisJCX0KKwl9CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCByZWFkX2hhcmR3YXJlX2Nsb2NrX3J0YyhzdHJ1Y3QgdG0gKnRtKQoreworCWludCBydGNfZmQsIHJjOworCisJcnRjX2ZkID0gb3Blbl9ydGNfb3JfZXhpdCgpOworCisJLyogUmVhZCB0aGUgUlRDIHRpbWUvZGF0ZSwgcmV0dXJuIGFuc3dlciB2aWEgdG0gKi8KKwlyYyA9IGRvX3J0Y19yZWFkX2lvY3RsKHJ0Y19mZCwgdG0pOworCisJcmV0dXJuIHJjOworfQorCisvKgorICogU2V0IHRoZSBIYXJkd2FyZSBDbG9jayB0byB0aGUgYnJva2VuIGRvd24gdGltZSA8bmV3X2Jyb2tlbl90aW1lPi4gVXNlCisgKiBpb2N0bHMgdG8gInJ0YyIgZGV2aWNlIC9kZXYvcnRjLgorICovCitzdGF0aWMgaW50IHNldF9oYXJkd2FyZV9jbG9ja19ydGMoY29uc3Qgc3RydWN0IHRtICpuZXdfYnJva2VuX3RpbWUpCit7CisJaW50IHJjID0gLTE7CisJaW50IHJ0Y19mZDsKKwljaGFyICppb2N0bG5hbWU7CisKKwlydGNfZmQgPSBvcGVuX3J0Y19vcl9leGl0KCk7CisKKyNpZmRlZiBfX3NwYXJjX18KKwl7CisJCXN0cnVjdCBzcGFyY19ydGNfdGltZSBzdG07CisKKwkJc3RtLnNlYyA9IG5ld19icm9rZW5fdGltZS0+dG1fc2VjOworCQlzdG0ubWluID0gbmV3X2Jyb2tlbl90aW1lLT50bV9taW47CisJCXN0bS5ob3VyID0gbmV3X2Jyb2tlbl90aW1lLT50bV9ob3VyOworCQlzdG0uZG9tID0gbmV3X2Jyb2tlbl90aW1lLT50bV9tZGF5OworCQlzdG0ubW9udGggPSBuZXdfYnJva2VuX3RpbWUtPnRtX21vbiArIDE7CisJCXN0bS55ZWFyID0gbmV3X2Jyb2tlbl90aW1lLT50bV95ZWFyICsgMTkwMDsKKwkJc3RtLmRvdyA9IG5ld19icm9rZW5fdGltZS0+dG1fd2RheSArIDE7CisKKwkJaW9jdGxuYW1lID0gIlJUQ1NFVCI7CisJCXJjID0gaW9jdGwocnRjX2ZkLCBSVENTRVQsICZzdG0pOworCX0KKyNlbmRpZgorCWlmIChyYyA9PSAtMSkgewkJLyogbm8gc3BhcmMsIG9yIFJUQ1NFVCBmYWlsZWQgKi8KKwkJaW9jdGxuYW1lID0gIlJUQ19TRVRfVElNRSI7CisJCXJjID0gaW9jdGwocnRjX2ZkLCBSVENfU0VUX1RJTUUsIG5ld19icm9rZW5fdGltZSk7CisJfQorCisJaWYgKHJjID09IC0xKSB7CisJCXdhcm4oXygiaW9jdGwoJXMpIHRvICVzIHRvIHNldCB0aGUgdGltZSBmYWlsZWQuIiksCisJCQlpb2N0bG5hbWUsIHJ0Y19kZXZfbmFtZSk7CisJCWh3Y2xvY2tfZXhpdChFWF9JT0VSUik7CisJfQorCisJaWYgKGRlYnVnKQorCQlwcmludGYoXygiaW9jdGwoJXMpIHdhcyBzdWNjZXNzZnVsLlxuIiksIGlvY3RsbmFtZSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBnZXRfcGVybWlzc2lvbnNfcnRjKHZvaWQpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY2xvY2tfb3BzIHJ0YyA9IHsKKwlOXygiVXNpbmcgdGhlIC9kZXYgaW50ZXJmYWNlIHRvIHRoZSBjbG9jay4iKSwKKwlnZXRfcGVybWlzc2lvbnNfcnRjLAorCXJlYWRfaGFyZHdhcmVfY2xvY2tfcnRjLAorCXNldF9oYXJkd2FyZV9jbG9ja19ydGMsCisJc3luY2hyb25pemVfdG9fY2xvY2tfdGlja19ydGMsCit9OworCisvKiByZXR1cm4gJnJ0YyBpZiAvZGV2L3J0YyBjYW4gYmUgb3BlbmVkLCBOVUxMIG90aGVyd2lzZSAqLworc3RydWN0IGNsb2NrX29wcyAqcHJvYmVfZm9yX3J0Y19jbG9jayh2b2lkKQoreworCWludCBydGNfZmQgPSBvcGVuX3J0YygpOworCWlmIChydGNfZmQgPj0gMCkKKwkJcmV0dXJuICZydGM7CisJaWYgKGRlYnVnKQorCQl3YXJuKF8oImNhbm5vdCBvcGVuICVzIiksIHJ0Y19kZXZfbmFtZSk7CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qCisgKiBHZXQgdGhlIEhhcmR3YXJlIENsb2NrIGVwb2NoIHNldHRpbmcgZnJvbSB0aGUga2VybmVsLgorICovCitpbnQgZ2V0X2Vwb2NoX3J0Yyh1bnNpZ25lZCBsb25nICplcG9jaF9wLCBpbnQgc2lsZW50KQoreworCWludCBydGNfZmQ7CisKKwlydGNfZmQgPSBvcGVuX3J0YygpOworCWlmIChydGNfZmQgPCAwKSB7CisJCWlmICghc2lsZW50KSB7CisJCQlpZiAoZXJybm8gPT0gRU5PRU5UKQorCQkJCXdhcm54KF8KKwkJCQkgICAgICAoIlRvIG1hbmlwdWxhdGUgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwsIHdlIG11c3QgIgorCQkJCSAgICAgICAiYWNjZXNzIHRoZSBMaW51eCAncnRjJyBkZXZpY2UgZHJpdmVyIHZpYSB0aGUgZGV2aWNlIHNwZWNpYWwgIgorCQkJCSAgICAgICAiZmlsZSAlcy4gIFRoaXMgZmlsZSBkb2VzIG5vdCBleGlzdCBvbiB0aGlzIHN5c3RlbS4iKSwKKwkJCQkgICAgICBydGNfZGV2X25hbWUpOworCQkJZWxzZQorCQkJCXdhcm4oXygiY2Fubm90IG9wZW4gJXMiKSwgcnRjX2Rldl9uYW1lKTsKKwkJfQorCQlyZXR1cm4gMTsKKwl9CisKKwlpZiAoaW9jdGwocnRjX2ZkLCBSVENfRVBPQ0hfUkVBRCwgZXBvY2hfcCkgPT0gLTEpIHsKKwkJaWYgKCFzaWxlbnQpCisJCQl3YXJuKF8oImlvY3RsKFJUQ19FUE9DSF9SRUFEKSB0byAlcyBmYWlsZWQiKSwKKwkJCQkgIHJ0Y19kZXZfbmFtZSk7CisJCXJldHVybiAxOworCX0KKworCWlmIChkZWJ1ZykKKwkJcHJpbnRmKF8oIndlIGhhdmUgcmVhZCBlcG9jaCAlbHUgZnJvbSAlcyAiCisJCQkgIndpdGggUlRDX0VQT0NIX1JFQUQgaW9jdGwuXG4iKSwgKmVwb2NoX3AsCisJCSAgICAgICBydGNfZGV2X25hbWUpOworCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBTZXQgdGhlIEhhcmR3YXJlIENsb2NrIGVwb2NoIGluIHRoZSBrZXJuZWwuCisgKi8KK2ludCBzZXRfZXBvY2hfcnRjKHVuc2lnbmVkIGxvbmcgZXBvY2gpCit7CisJaW50IHJ0Y19mZDsKKworCWlmIChlcG9jaCA8IDE5MDApIHsKKwkJLyoga2VybmVsIHdvdWxkIG5vdCBhY2NlcHQgdGhpcyBlcG9jaCB2YWx1ZQorCQkgKgorCQkgKiBCYWQgaGFiaXQsIGRlY2lkaW5nIG5vdCB0byBkbyB3aGF0IHRoZSB1c2VyIGFza3MganVzdAorCQkgKiBiZWNhdXNlIG9uZSBiZWxpZXZlcyB0aGF0IHRoZSBrZXJuZWwgbWlnaHQgbm90IGxpa2UgaXQuCisJCSAqLworCQl3YXJueChfKCJUaGUgZXBvY2ggdmFsdWUgbWF5IG5vdCBiZSBsZXNzIHRoYW4gMTkwMC4gICIKKwkJCSJZb3UgcmVxdWVzdGVkICVsZCIpLCBlcG9jaCk7CisJCXJldHVybiAxOworCX0KKworCXJ0Y19mZCA9IG9wZW5fcnRjKCk7CisJaWYgKHJ0Y19mZCA8IDApIHsKKwkJaWYgKGVycm5vID09IEVOT0VOVCkKKwkJCXdhcm54KF8KKwkJCSAgICAgICgiVG8gbWFuaXB1bGF0ZSB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbCwgd2UgbXVzdCAiCisJCQkgICAgICAgImFjY2VzcyB0aGUgTGludXggJ3J0YycgZGV2aWNlIGRyaXZlciB2aWEgdGhlIGRldmljZSBzcGVjaWFsICIKKwkJCSAgICAgICAiZmlsZSAlcy4gIFRoaXMgZmlsZSBkb2VzIG5vdCBleGlzdCBvbiB0aGlzIHN5c3RlbS4iKSwKKwkJCSAgICAgIHJ0Y19kZXZfbmFtZSk7CisJCWVsc2UKKwkJCXdhcm4oXygiY2Fubm90IG9wZW4gJXMiKSwgcnRjX2Rldl9uYW1lKTsKKwkJcmV0dXJuIDE7CisJfQorCisJaWYgKGRlYnVnKQorCQlwcmludGYoXygic2V0dGluZyBlcG9jaCB0byAlbHUgIgorCQkJICJ3aXRoIFJUQ19FUE9DSF9TRVQgaW9jdGwgdG8gJXMuXG4iKSwgZXBvY2gsCisJCSAgICAgICBydGNfZGV2X25hbWUpOworCisJaWYgKGlvY3RsKHJ0Y19mZCwgUlRDX0VQT0NIX1NFVCwgZXBvY2gpID09IC0xKSB7CisJCWlmIChlcnJubyA9PSBFSU5WQUwpCisJCQl3YXJueChfKCJUaGUga2VybmVsIGRldmljZSBkcml2ZXIgZm9yICVzICIKKwkJCQkiZG9lcyBub3QgaGF2ZSB0aGUgUlRDX0VQT0NIX1NFVCBpb2N0bC4iKSwKKwkJCSAgICAgIHJ0Y19kZXZfbmFtZSk7CisJCWVsc2UKKwkJCXdhcm4oXygiaW9jdGwoUlRDX0VQT0NIX1NFVCkgdG8gJXMgZmFpbGVkIiksCisJCQkJICBydGNfZGV2X25hbWUpOworCQlyZXR1cm4gMTsKKwl9CisKKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9od2Nsb2NrLjguaW4gYi9zeXMtdXRpbHMvaHdjbG9jay44LmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkZGI4NjQKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvaHdjbG9jay44LmluCkBAIC0wLDAgKzEsMTA0OSBAQAorLlwiIGh3Y2xvY2suOC5pbiAtLSBtYW4gcGFnZSBmb3IgdXRpbC1saW51eCcgaHdjbG9jaworLlwiCisuXCIgMjAxNS0wMS0wNyBKIFdpbGxpYW0gUGlnZ290dAorLlwiICAgQXV0aG9yZWQgbmV3IHNlY3Rpb246IERBVEUtVElNRSBDT05GSUdVUkFUSU9OLgorLlwiICAgU3Vic2VjdGlvbnM6IEtlZXBpbmcgVGltZS4uLiwgTE9DQUwgdnMgVVRDLCBQT1NJWCB2cyAnUklHSFQnLgorLlwiCisuVEggSFdDTE9DSyA4ICJBcHJpbCAyMDE1IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitod2Nsb2NrIFwtIHJlYWQgb3Igc2V0IHRoZSBoYXJkd2FyZSBjbG9jayAoUlRDKQorLlNIIFNZTk9QU0lTCisuQiBod2Nsb2NrCisuUkkgWyBmdW5jdGlvbiBdCisuUkkgWyBvcHRpb24gLi4uXQorLgorLlNIIERFU0NSSVBUSU9OCisuQiBod2Nsb2NrCitpcyBhIHRvb2wgZm9yIGFjY2Vzc2luZyB0aGUgSGFyZHdhcmUgQ2xvY2suICBJdCBjYW46IGRpc3BsYXkgdGhlCitIYXJkd2FyZSBDbG9jayB0aW1lOyBzZXQgdGhlIEhhcmR3YXJlIENsb2NrIHRvIGEgc3BlY2lmaWVkIHRpbWU7IHNldCB0aGUKK0hhcmR3YXJlIENsb2NrIGZyb20gdGhlIFN5c3RlbSBDbG9jazsgc2V0IHRoZSBTeXN0ZW0gQ2xvY2sgZnJvbSB0aGUKK0hhcmR3YXJlIENsb2NrOyBjb21wZW5zYXRlIGZvciBIYXJkd2FyZSBDbG9jayBkcmlmdDsgY29ycmVjdCB0aGUgU3lzdGVtCitDbG9jayB0aW1lc2NhbGU7IHNldCB0aGUga2VybmVsJ3MgdGltZXpvbmUsIE5UUCB0aW1lc2NhbGUsIGFuZCBlcG9jaAorKEFscGhhIG9ubHkpOyBjb21wYXJlIHRoZSBTeXN0ZW0gYW5kIEhhcmR3YXJlIENsb2NrczsgYW5kIHByZWRpY3QgZnV0dXJlCitIYXJkd2FyZSBDbG9jayB2YWx1ZXMgYmFzZWQgb24gaXRzIGRyaWZ0IHJhdGUuCisuUFAKK1NpbmNlIHYyLjI2IGltcG9ydGFudCBjaGFuZ2VzIHdlcmUgbWFkZSB0byB0aGUKKy5CIFwtXC1oY3Rvc3lzCitmdW5jdGlvbiBhbmQgdGhlCisuQiBcLVwtZGlyZWN0aXNhCitvcHRpb24sIGFuZCBhIG5ldyBvcHRpb24KKy5CIFwtXC11cGRhdGVcLWRyaWZ0Cit3YXMgYWRkZWQuICBTZWUgdGhlaXIgcmVzcGVjdGl2ZSBkZXNjcmlwdGlvbnMgYmVsb3cuCisuCisuU0ggRlVOQ1RJT05TCitUaGUgZm9sbG93aW5nIGZ1bmN0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLCBvbmx5IG9uZSBjYW4gYmUgZ2l2ZW4gYXQKK2EgdGltZS4gIElmIG5vbmUgaXMgZ2l2ZW4sIHRoZSBkZWZhdWx0IGlzIFxmQlwtXC1zaG93XGZSLgorLlRQCisuQiBcLVwtYWRqdXN0CitBZGQgb3Igc3VidHJhY3QgdGltZSBmcm9tIHRoZSBIYXJkd2FyZSBDbG9jayB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljCitkcmlmdCBzaW5jZSB0aGUgbGFzdCB0aW1lIHRoZSBjbG9jayB3YXMgc2V0IG9yIGFkanVzdGVkLiAgU2VlIHRoZQorZGlzY3Vzc2lvbiBiZWxvdywgdW5kZXIKKy5CUiAiVGhlIEFkanVzdCBGdW5jdGlvbiIgLgorLgorLlRQCisuQlIgXC1jICwgXCBcLVwtY29tcGFyZQorUGVyaW9kaWNhbGx5IGNvbXBhcmUgdGhlIEhhcmR3YXJlIENsb2NrIHRvIHRoZSBTeXN0ZW0gVGltZSBhbmQgb3V0cHV0Cit0aGUgZGlmZmVyZW5jZSBldmVyeSAxMCBzZWNvbmRzLiAgVGhpcyB3aWxsIGFsc28gcHJpbnQgdGhlIGZyZXF1ZW5jeQorb2Zmc2V0IGFuZCB0aWNrLgorLgorLlRQCisuQiBcLVwtZ2V0ZXBvY2gKKy5UUQorLkIgXC1cLXNldGVwb2NoCitUaGVzZSBmdW5jdGlvbnMgYXJlIGZvciBBbHBoYSBtYWNoaW5lcyBvbmx5LgorLnNwCitSZWFkIGFuZCBzZXQgdGhlIGtlcm5lbCdzIEhhcmR3YXJlIENsb2NrIGVwb2NoIHZhbHVlLgorRXBvY2ggaXMgdGhlIG51bWJlciBvZiB5ZWFycyBpbnRvIEFEIHRvIHdoaWNoIGEgemVybyB5ZWFyIHZhbHVlIGluIHRoZQorSGFyZHdhcmUgQ2xvY2sgcmVmZXJzLiAgRm9yIGV4YW1wbGUsIGlmIHlvdSBhcmUgdXNpbmcgdGhlIGNvbnZlbnRpb24KK3RoYXQgdGhlIHllYXIgY291bnRlciBpbiB5b3VyIEhhcmR3YXJlIENsb2NrIGNvbnRhaW5zIHRoZSBudW1iZXIgb2YKK2Z1bGwgeWVhcnMgc2luY2UgMTk1MiwgdGhlbiB0aGUga2VybmVsJ3MgSGFyZHdhcmUgQ2xvY2sgZXBvY2ggdmFsdWUKK211c3QgYmUgMTk1Mi4KKy5zcAorVGhlIFxmQlwlXC1cLXNldGVwb2NoXGZSIGZ1bmN0aW9uIHJlcXVpcmVzIHVzaW5nIHRoZQorLkIgXCVcLVwtZXBvY2gKK29wdGlvbiB0byBzcGVjaWZ5IHRoZSB5ZWFyLgorLnNwCitUaGlzIGVwb2NoIHZhbHVlIGlzIHVzZWQgd2hlbmV2ZXIKKy5CIFwlaHdjbG9jaworcmVhZHMgb3Igc2V0cyB0aGUgSGFyZHdhcmUgQ2xvY2suCisuCisuVFAKKy5CIFwtXC1wcmVkaWN0CitQcmVkaWN0IHdoYXQgdGhlIEhhcmR3YXJlIENsb2NrIHdpbGwgcmVhZCBpbiB0aGUgZnV0dXJlIGJhc2VkIHVwb24gdGhlCit0aW1lIGdpdmVuIGJ5IHRoZQorLkIgXC1cLWRhdGUKK29wdGlvbiBhbmQgdGhlIGluZm9ybWF0aW9uIGluCisuSVIgQEFESlRJTUVfUEFUSEAgLgorVGhpcyBpcyB1c2VmdWwsIGZvciBleGFtcGxlLCB0byBhY2NvdW50IGZvciBkcmlmdCB3aGVuIHNldHRpbmcgYQorSGFyZHdhcmUgQ2xvY2sgd2FrZXVwIChha2EgYWxhcm0pLiBTZWUKKy5CUiBcJXJ0Y3dha2UgKDgpLgorLnNwCitEbyBub3QgdXNlIHRoaXMgZnVuY3Rpb24gaWYgdGhlIEhhcmR3YXJlIENsb2NrIGlzIGJlaW5nIG1vZGlmaWVkIGJ5Cithbnl0aGluZyBvdGhlciB0aGFuIHRoZSBjdXJyZW50IG9wZXJhdGluZyBzeXN0ZW0ncworLkIgXCVod2Nsb2NrCitjb21tYW5kLCBzdWNoIGFzIFwlJzExXCBtaW51dGVcIG1vZGUnIG9yIGZyb20gZHVhbC1ib290aW5nIGFub3RoZXIgT1MuCisuCisuVFAKKy5CUiBcLXIgLCBcIFwtXC1zaG93CisuVFEKKy5CIFwtXC1nZXQKKy5icgorUmVhZCB0aGUgSGFyZHdhcmUgQ2xvY2sgYW5kIHByaW50IGl0cyB0aW1lIHRvIHN0YW5kYXJkIG91dHB1dCBpbiB0aGUKKy5CIElTTyA4NjAxCitmb3JtYXQuCitUaGUgdGltZSBzaG93biBpcyBhbHdheXMgaW4gbG9jYWwgdGltZSwgZXZlbiBpZiB5b3Uga2VlcCB5b3VyIEhhcmR3YXJlIENsb2NrCitpbiBVVEMuICBTZWUgdGhlCisuQiBcJVwtXC1sb2NhbHRpbWUKK29wdGlvbi4KKy5zcAorU2hvd2luZyB0aGUgSGFyZHdhcmUgQ2xvY2sgdGltZSBpcyB0aGUgZGVmYXVsdCB3aGVuIG5vIGZ1bmN0aW9uIGlzIHNwZWNpZmllZC4KKy5zcAorVGhlCisuQiBcLVwtZ2V0CitmdW5jdGlvbiBhbHNvIGFwcGxpZXMgZHJpZnQgY29ycmVjdGlvbiB0byB0aGUgdGltZSByZWFkLCBiYXNlZCB1cG9uIHRoZQoraW5mb3JtYXRpb24gaW4KKy5JUiBAQURKVElNRV9QQVRIQCAuCitEbyBub3QgdXNlIHRoaXMgZnVuY3Rpb24gaWYgdGhlIEhhcmR3YXJlIENsb2NrIGlzIGJlaW5nIG1vZGlmaWVkIGJ5Cithbnl0aGluZyBvdGhlciB0aGFuIHRoZSBjdXJyZW50IG9wZXJhdGluZyBzeXN0ZW0ncworLkIgXCVod2Nsb2NrCitjb21tYW5kLCBzdWNoIGFzIFwlJzExXCBtaW51dGVcIG1vZGUnIG9yIGZyb20gZHVhbC1ib290aW5nIGFub3RoZXIgT1MuCisuCisuVFAKKy5CUiBcLXMgLCBcIFwtXC1oY3Rvc3lzCitTZXQgdGhlIFN5c3RlbSBDbG9jayBmcm9tIHRoZSBIYXJkd2FyZSBDbG9jay4gIFRoZSB0aW1lIHJlYWQgZnJvbSB0aGUgSGFyZHdhcmUKK0Nsb2NrIGlzIGNvbXBlbnNhdGVkIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgYmVmb3JlIHVzaW5nIGl0IHRvIHNldCB0aGUKK1N5c3RlbSBDbG9jay4gIFNlZSB0aGUgZGlzY3Vzc2lvbiBiZWxvdywgdW5kZXIKKy5CUiAiVGhlIEFkanVzdCBGdW5jdGlvbiIgLgorLnNwCitUaGUgU3lzdGVtIENsb2NrIG11c3QgYmUga2VwdCBpbiB0aGUgVVRDIHRpbWVzY2FsZSBmb3IgZGF0ZS10aW1lCithcHBsaWNhdGlvbnMgdG8gd29yayBjb3JyZWN0bHkgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgdGltZXpvbmUgY29uZmlndXJlZAorZm9yIHRoZSBzeXN0ZW0uICBJZiB0aGUgSGFyZHdhcmUgQ2xvY2sgaXMga2VwdCBpbiBsb2NhbCB0aW1lIHRoZW4gdGhlIHRpbWUgcmVhZAorZnJvbSBpdCBtdXN0IGJlIHNoaWZ0ZWQgdG8gdGhlIFVUQyB0aW1lc2NhbGUgYmVmb3JlIHVzaW5nIGl0IHRvIHNldCB0aGUgU3lzdGVtCitDbG9jay4gIFRoZQorLkIgXCVcLVwtaGN0b3N5cworZnVuY3Rpb24gZG9lcyB0aGlzIGJhc2VkIHVwb24gdGhlIGluZm9ybWF0aW9uIGluIHRoZQorLkkgQEFESlRJTUVfUEFUSEAKK2ZpbGUgb3IgdGhlIGNvbW1hbmQgbGluZSBhcmd1bWVudHMKKy5CUiBcJVwtXC1sb2NhbHRpbWUgIiBhbmQgIiBcLVwtdXRjIC4KK05vdGU6IG5vIGRheWxpZ2h0IHNhdmluZyBhZGp1c3RtZW50IGlzIG1hZGUuICBTZWUgdGhlIGRpc2N1c3Npb24gYmVsb3csIHVuZGVyCisuQlIgIkxPQ0FMIHZzIFVUQyIgLgorLnNwCitUaGUga2VybmVsIGFsc28ga2VlcHMgYSB0aW1lem9uZSB2YWx1ZSwgdGhlCisuQiBcJVwtXC1oY3Rvc3lzCitmdW5jdGlvbiBzZXRzIGl0IHRvIHRoZSB0aW1lem9uZSBjb25maWd1cmVkIGZvciB0aGUgc3lzdGVtLiAgVGhlIHN5c3RlbQordGltZXpvbmUgaXMgY29uZmlndXJlZCBieSB0aGUgVFogZW52aXJvbm1lbnQgdmFyaWFibGUgb3IgdGhlCisuSSBcJS9ldGMvbG9jYWx0aW1lCitmaWxlLCBhcworLkJSIFwldHpzZXQgKDMpCit3b3VsZCBpbnRlcnByZXQgdGhlbS4KK1RoZSBvYnNvbGV0ZSB0el9kc3R0aW1lIGZpZWxkIG9mIHRoZSBrZXJuZWwncyB0aW1lem9uZSB2YWx1ZSBpcyBzZXQKK3RvIHplcm8uICAoRm9yIGRldGFpbHMgb24gd2hhdCB0aGlzIGZpZWxkIHVzZWQgdG8gbWVhbiwgc2VlCisuQlIgXCVzZXR0aW1lb2ZkYXkgKDIpLikKKy5zcAorV2hlbiB1c2VkIGluIGEgc3RhcnR1cCBzY3JpcHQsIG1ha2luZyB0aGUKKy5CIFwlXC1cLWhjdG9zeXMKK2Z1bmN0aW9uIHRoZSBmaXJzdCBjYWxsZXIgb2YKKy5CUiBcJXNldHRpbWVvZmRheSAoMikKK2Zyb20gYm9vdCwgaXQgd2lsbCBzZXQgdGhlIE5UUCBcJScxMVwgbWludXRlXCBtb2RlJyB0aW1lc2NhbGUgdmlhIHRoZQorLkkgXCVwZXJzaXN0ZW50X2Nsb2NrX2lzX2xvY2FsCitrZXJuZWwgdmFyaWFibGUuICBJZiB0aGUgSGFyZHdhcmUgQ2xvY2sncyB0aW1lc2NhbGUgY29uZmlndXJhdGlvbiBpcworY2hhbmdlZCB0aGVuIGEgcmVib290IGlzIHJlcXVpcmVkIHRvIGluZm9ybSB0aGUga2VybmVsLiAgU2VlIHRoZQorZGlzY3Vzc2lvbiBiZWxvdywgdW5kZXIKKy5CUiAiQXV0b21hdGljIEhhcmR3YXJlIENsb2NrIFN5bmNocm9uaXphdGlvbiBieSB0aGUgS2VybmVsIiAuCisuc3AKK1RoaXMgaXMgYSBnb29kIGZ1bmN0aW9uIHRvIHVzZSBpbiBvbmUgb2YgdGhlIHN5c3RlbSBzdGFydHVwIHNjcmlwdHMgYmVmb3JlIHRoZQorZmlsZSBzeXN0ZW1zIGFyZSBtb3VudGVkIHJlYWQvd3JpdGUuCisuc3AKK1RoaXMgZnVuY3Rpb24gc2hvdWxkIG5ldmVyIGJlIHVzZWQgb24gYSBydW5uaW5nIHN5c3RlbS4gSnVtcGluZyBzeXN0ZW0gdGltZQord2lsbCBjYXVzZSBwcm9ibGVtcywgc3VjaCBhcyBjb3JydXB0ZWQgZmlsZXN5c3RlbSB0aW1lc3RhbXBzLiAgQWxzbywgaWYKK3NvbWV0aGluZyBoYXMgY2hhbmdlZCB0aGUgSGFyZHdhcmUgQ2xvY2ssIGxpa2UgTlRQJ3MgXCUnMTFcIG1pbnV0ZVwgbW9kZScsIHRoZW4KKy5CIFwlXC1cLWhjdG9zeXMKK3dpbGwgc2V0IHRoZSB0aW1lIGluY29ycmVjdGx5IGJ5IGluY2x1ZGluZyBkcmlmdCBjb21wZW5zYXRpb24uCisuc3AKK0RyaWZ0IGNvbXBlbnNhdGlvbiBjYW4gYmUgaW5oaWJpdGVkIGJ5IHNldHRpbmcgdGhlIGRyaWZ0IGZhY3RvciBpbgorLkkgQEFESlRJTUVfUEFUSEAKK3RvIHplcm8uICBUaGlzIHNldHRpbmcgd2lsbCBiZSBwZXJzaXN0ZW50IGFzIGxvbmcgYXMgdGhlCisuQlIgXCVcLVwtdXBkYXRlXC1kcmlmdCAiIG9wdGlvbiBpcyBub3QgdXNlZCB3aXRoICIgXCVcLVwtc3lzdG9oYworYXQgc2h1dGRvd24gKG9yIGFueXdoZXJlIGVsc2UpLiAgQW5vdGhlciB3YXkgdG8gaW5oaWJpdCB0aGlzIGlzIGJ5IHVzaW5nIHRoZQorLkJSIFwlXC1cLW5vYWRqZmlsZSAiIG9wdGlvbiB3aGVuIGNhbGxpbmcgdGhlICIgXCVcLVwtaGN0b3N5cworZnVuY3Rpb24uICBBIHRoaXJkIG1ldGhvZCBpcyB0byBkZWxldGUgdGhlCisuSVIgQEFESlRJTUVfUEFUSEAgIiBmaWxlLiIKKy5CIEh3Y2xvY2sKK3dpbGwgdGhlbiBkZWZhdWx0IHRvIHVzaW5nIHRoZSBVVEMgdGltZXNjYWxlIGZvciB0aGUgSGFyZHdhcmUgQ2xvY2suICBJZgordGhlIEhhcmR3YXJlIENsb2NrIGlzIHRpY2tpbmcgbG9jYWwgdGltZSBpdCB3aWxsIG5lZWQgdG8gYmUgZGVmaW5lZCBpbgordGhlIGZpbGUuICBUaGlzIGNhbiBiZSBkb25lIGJ5IGNhbGxpbmcKKy5CUiBod2Nsb2NrXCBcLVwtbG9jYWx0aW1lXCBcLVwtYWRqdXN0IDsKK3doZW4gdGhlIGZpbGUgaXMgbm90IHByZXNlbnQgdGhpcyBjb21tYW5kIHdpbGwgbm90IGFjdHVhbGx5CithZGp1c3QgdGhlIENsb2NrLCBidXQgaXQgd2lsbCBjcmVhdGUgdGhlIGZpbGUgd2l0aCBsb2NhbCB0aW1lCitjb25maWd1cmVkLCBhbmQgYSBkcmlmdCBmYWN0b3Igb2YgemVyby4KKy5zcAorQSBjb25kaXRpb24gdW5kZXIgd2hpY2ggaW5oaWJpdGluZworLkJSIGh3Y2xvY2sgJ3MKK2RyaWZ0IGNvcnJlY3Rpb24gbWF5IGJlIGRlc2lyZWQgaXMgd2hlbiBkdWFsLWJvb3RpbmcgbXVsdGlwbGUgb3BlcmF0aW5nCitzeXN0ZW1zLiAgSWYgd2hpbGUgdGhpcyBpbnN0YW5jZSBvZiBMaW51eCBpcyBzdG9wcGVkLCBhbm90aGVyIE9TIGNoYW5nZXMKK3RoZSBIYXJkd2FyZSBDbG9jaydzIHZhbHVlLCB0aGVuIHdoZW4gdGhpcyBpbnN0YW5jZSBpcyBzdGFydGVkIGFnYWluIHRoZQorZHJpZnQgY29ycmVjdGlvbiBhcHBsaWVkIHdpbGwgYmUgaW5jb3JyZWN0LgorLnNwCisuUkIgIkZvciAiIGh3Y2xvY2sgJ3MKK2RyaWZ0IGNvcnJlY3Rpb24gdG8gd29yayBwcm9wZXJseSBpdCBpcyBpbXBlcmF0aXZlIHRoYXQgbm90aGluZyBjaGFuZ2VzCit0aGUgSGFyZHdhcmUgQ2xvY2sgd2hpbGUgaXRzIExpbnV4IGluc3RhbmNlIGlzIG5vdCBydW5uaW5nLgorLgorLlRQCisuQiBcLVwtc2V0CitTZXQgdGhlIEhhcmR3YXJlIENsb2NrIHRvIHRoZSB0aW1lIGdpdmVuIGJ5IHRoZQorLkJSIFwtXC1kYXRlCitvcHRpb24sIGFuZCB1cGRhdGUgdGhlIHRpbWVzdGFtcHMgaW4KKy5JUiBAQURKVElNRV9QQVRIQCAuCitXaXRoIHRoZQorLkIgLS11cGRhdGUtZHJpZnQKK29wdGlvbiAocmUpY2FsY3VsYXRlIHRoZSBkcmlmdCBmYWN0b3IuCisuCisuVFAKKy5CIFwtXC1zeXN0egorVGhpcyBpcyBhbiBhbHRlcm5hdGUgdG8gdGhlCisuQiBcJVwtXC1oY3Rvc3lzCitmdW5jdGlvbiB0aGF0IGRvZXMgbm90IHJlYWQgdGhlIEhhcmR3YXJlIENsb2NrIG5vciBzZXQgdGhlIFN5c3RlbSBDbG9jazsKK2NvbnNlcXVlbnRseSB0aGVyZSBpcyBub3QgYW55IGRyaWZ0IGNvcnJlY3Rpb24uICBJdCBpcyBpbnRlbmRlZCB0byBiZQordXNlZCBpbiBhIHN0YXJ0dXAgc2NyaXB0IG9uIHN5c3RlbXMgd2l0aCBrZXJuZWxzIGFib3ZlIHZlcnNpb24gMi42IHdoZXJlCit5b3Uga25vdyB0aGUgU3lzdGVtIENsb2NrIGhhcyBiZWVuIHNldCBmcm9tIHRoZSBIYXJkd2FyZSBDbG9jayBieSB0aGUKK2tlcm5lbCBkdXJpbmcgYm9vdC4KKy5zcAorSXQgZG9lcyB0aGUgZm9sbG93aW5nIHRoaW5ncyB0aGF0IGFyZSBkZXRhaWxlZCBhYm92ZSBpbiB0aGUKKy5CUiBcJVwtXC1oY3Rvc3lzICIgZnVuY3Rpb246IgorLlJTCisuSVAgXChidSAyCitDb3JyZWN0cyB0aGUgU3lzdGVtIENsb2NrIHRpbWVzY2FsZSB0byBVVEMgYXMgbmVlZGVkLiAgT25seSBpbnN0ZWFkIG9mCithY2NvbXBsaXNoaW5nIHRoaXMgYnkgc2V0dGluZyB0aGUgU3lzdGVtIENsb2NrLAorLkIgaHdjbG9jaworc2ltcGx5IGluZm9ybXMgdGhlIGtlcm5lbCBhbmQgaXQgaGFuZGxlcyB0aGUgY2hhbmdlLgorLklQIFwoYnUgMgorU2V0cyB0aGUga2VybmVsJ3MgTlRQIFwlJzExXCBtaW51dGVcIG1vZGUnIHRpbWVzY2FsZS4KKy5JUCBcKGJ1IDIKK1NldHMgdGhlIGtlcm5lbCdzIHRpbWV6b25lLgorLlBQCitUaGUgZmlyc3QgdHdvIGFyZSBvbmx5IGF2YWlsYWJsZSBvbiB0aGUgZmlyc3QgY2FsbCBvZgorLkJSIFwlc2V0dGltZW9mZGF5ICgyKQorYWZ0ZXIgYm9vdC4gIENvbnNlcXVlbnRseSB0aGlzIG9wdGlvbiBvbmx5IG1ha2VzIHNlbnNlIHdoZW4gdXNlZCBpbiBhCitzdGFydHVwIHNjcmlwdC4gIElmIHRoZSBIYXJkd2FyZSBDbG9ja3MgdGltZXNjYWxlIGNvbmZpZ3VyYXRpb24gaXMKK2NoYW5nZWQgdGhlbiBhIHJlYm9vdCB3b3VsZCBiZSByZXF1aXJlZCB0byBpbmZvcm0gdGhlIGtlcm5lbC4KKy5SRQorLgorLlRQCisuQlIgXC13ICwgXCBcLVwtc3lzdG9oYworU2V0IHRoZSBIYXJkd2FyZSBDbG9jayBmcm9tIHRoZSBTeXN0ZW0gQ2xvY2ssIGFuZCB1cGRhdGUgdGhlIHRpbWVzdGFtcHMgaW4KKy5JUiBAQURKVElNRV9QQVRIQCAuCitXaGVuIHRoZQorLkIgLS11cGRhdGUtZHJpZnQKK29wdGlvbiBpcyBnaXZlbiwgdGhlbiBhbHNvIChyZSljYWxjdWxhdGUgdGhlIGRyaWZ0IGZhY3Rvci4KKy4KKy5UUAorLkJSIFwtViAsIFwgXC1cLXZlcnNpb24KK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy4KKy5UUAorLkJSIFwtaCAsIFwgXC1cLWhlbHAKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLgorLlNIIE9QVElPTlMKKy4KKy5UUAorLkJJIFwtXC1hZGpmaWxlPSBmaWxlbmFtZQorLlJJICJPdmVycmlkZSB0aGUgZGVmYXVsdCAiIEBBREpUSU1FX1BBVEhAICIgZmlsZSBwYXRoLiIKKy4KKy5UUAorLkIgXC1cLWJhZHllYXIKK0luZGljYXRlIHRoYXQgdGhlIEhhcmR3YXJlIENsb2NrIGlzIGluY2FwYWJsZSBvZiBzdG9yaW5nIHllYXJzIG91dHNpZGUKK3RoZSByYW5nZSAxOTk0LTE5OTkuICBUaGVyZSBpcyBhIHByb2JsZW0gaW4gc29tZSBCSU9TZXMgKGFsbW9zdCBhbGwKK0F3YXJkIEJJT1NlcyBtYWRlIGJldHdlZW4gNC8yNi85NCBhbmQgNS8zMS85NSkgd2hlcmVpbiB0aGV5IGFyZSB1bmFibGUKK3RvIGRlYWwgd2l0aCB5ZWFycyBhZnRlciAxOTk5LiAgSWYgb25lIGF0dGVtcHRzIHRvIHNldCB0aGUgeWVhci1vZi1jZW50dXJ5Cit2YWx1ZSB0byBzb21ldGhpbmcgbGVzcyB0aGFuIDk0IChvciA5NSBpbiBzb21lIGNhc2VzKSwgdGhlIHZhbHVlIHRoYXQKK2FjdHVhbGx5IGdldHMgc2V0IGlzIDk0IChvciA5NSkuICBUaHVzLCBpZiB5b3UgaGF2ZSBvbmUgb2YgdGhlc2UgbWFjaGluZXMsCisuQiBcJWh3Y2xvY2sKK2Nhbm5vdCBzZXQgdGhlIHllYXIgYWZ0ZXIgMTk5OSBhbmQgY2Fubm90IHVzZSB0aGUgdmFsdWUgb2YgdGhlIGNsb2NrIGFzCit0aGUgdHJ1ZSB0aW1lIGluIHRoZSBub3JtYWwgd2F5LgorLnNwCitUbyBjb21wZW5zYXRlIGZvciB0aGlzICh3aXRob3V0IHlvdXIgZ2V0dGluZyBhIEJJT1MgdXBkYXRlLCB3aGljaCB3b3VsZAorZGVmaW5pdGVseSBiZSBwcmVmZXJhYmxlKSwgYWx3YXlzIHVzZQorLkIgXCVcLVwtYmFkeWVhcgoraWYgeW91IGhhdmUgb25lIG9mIHRoZXNlIG1hY2hpbmVzLiAgV2hlbgorLkIgXCVod2Nsb2NrCitrbm93cyBpdCdzIHdvcmtpbmcgd2l0aCBhIGJyYWluLWRhbWFnZWQgY2xvY2ssIGl0IGlnbm9yZXMgdGhlIHllYXIgcGFydCBvZgordGhlIEhhcmR3YXJlIENsb2NrIHZhbHVlIGFuZCBpbnN0ZWFkIHRyaWVzIHRvIGd1ZXNzIHRoZSB5ZWFyIGJhc2VkIG9uIHRoZQorbGFzdCBjYWxpYnJhdGVkIGRhdGUgaW4gdGhlIGFkanRpbWUgZmlsZSwgYnkgYXNzdW1pbmcgdGhhdCBkYXRlIGlzCit3aXRoaW4gdGhlIHBhc3QgeWVhci4gIEZvciB0aGlzIHRvIHdvcmssIHlvdSBoYWQgYmV0dGVyIGRvIGEKKy5CIFwlaHdjbG9ja1wgXC1cLXNldAorb3IKKy5CIFwlaHdjbG9ja1wgXC1cLXN5c3RvaGMKK2F0IGxlYXN0IG9uY2UgYSB5ZWFyIQorLnNwCitUaG91Z2gKKy5CIFwlaHdjbG9jaworaWdub3JlcyB0aGUgeWVhciB2YWx1ZSB3aGVuIGl0IHJlYWRzIHRoZSBIYXJkd2FyZSBDbG9jaywgaXQgc2V0cyB0aGUKK3llYXIgdmFsdWUgd2hlbiBpdCBzZXRzIHRoZSBjbG9jay4gIEl0IHNldHMgaXQgdG8gMTk5NSwgMTk5NiwgMTk5Nywgb3IKKzE5OTgsIHdoaWNoZXZlciBvbmUgaGFzIHRoZSBzYW1lIHBvc2l0aW9uIGluIHRoZSBsZWFwIHllYXIgY3ljbGUgYXMKK3RoZSB0cnVlIHllYXIuICBUaGF0IHdheSwgdGhlIEhhcmR3YXJlIENsb2NrIGluc2VydHMgbGVhcCBkYXlzIHdoZXJlCit0aGV5IGJlbG9uZy4gIEFnYWluLCBpZiB5b3UgbGV0IHRoZSBIYXJkd2FyZSBDbG9jayBydW4gZm9yIG1vcmUgdGhhbiBhCit5ZWFyIHdpdGhvdXQgc2V0dGluZyBpdCwgdGhpcyBzY2hlbWUgY291bGQgYmUgZGVmZWF0ZWQgYW5kIHlvdSBjb3VsZAorZW5kIHVwIGxvc2luZyBhIGRheS4KKy4KKy5UUAorLkJJIFwlXC1cLWRhdGU9IGRhdGVfc3RyaW5nCitZb3UgbmVlZCB0aGlzIG9wdGlvbiBpZiB5b3Ugc3BlY2lmeSB0aGUKKy5CIFwtXC1zZXQKK29yCisuQiBcJVwtXC1wcmVkaWN0CitmdW5jdGlvbnMsIG90aGVyd2lzZSBpdCBpcyBpZ25vcmVkLgorSXQgc3BlY2lmaWVzIHRoZSB0aW1lIHRvIHdoaWNoIHRvIHNldCB0aGUgSGFyZHdhcmUgQ2xvY2ssIG9yIHRoZQordGltZSBmb3Igd2hpY2ggdG8gcHJlZGljdCB0aGUgSGFyZHdhcmUgQ2xvY2sgcmVhZGluZy4KK1RoZSB2YWx1ZSBvZiB0aGlzIG9wdGlvbiBpcyB1c2VkIGFzIGFuIGFyZ3VtZW50IHRvIHRoZQorLkJSIGRhdGUgIigxKSBwcm9ncmFtJ3MgIiBcLVwtZGF0ZQorb3B0aW9uLiAgRm9yIGV4YW1wbGU6CisuUlMKKy5JUCAiIiA0CisuQiAiaHdjbG9ja1wgXC1cLXNldFwgXC1cLWRhdGU9JzIwMTEtMDgtMTRcIDE2OjQ1OjA1JyIKKy5QUAorVGhlIGFyZ3VtZW50IG11c3QgYmUgaW4gbG9jYWwgdGltZSwgZXZlbiBpZiB5b3Uga2VlcCB5b3VyIEhhcmR3YXJlIENsb2NrIGluCitVVEMuICBTZWUgdGhlCisuQiBcJVwtXC1sb2NhbHRpbWUKK29wdGlvbi4gIFRoZSBhcmd1bWVudCBtdXN0IG5vdCBiZSBhIHJlbGF0aXZlIHRpbWUgbGlrZSAiKzUgbWludXRlcyIsIGJlY2F1c2UKKy5CUiBcJWh3Y2xvY2sgJ3MKK3ByZWNpc2lvbiBkZXBlbmRzIHVwb24gY29ycmVsYXRpb24gYmV0d2VlbiB0aGUgYXJndW1lbnQncyB2YWx1ZSBhbmQgd2hlbgordGhlIGVudGVyIGtleSBpcyBwcmVzc2VkLgorLlJFCisuCisuVFAKKy5CUiBcLUQgIiwgIiBcLVwtZGVidWcKK0Rpc3BsYXkgYSBsb3Qgb2YgaW5mb3JtYXRpb24gYWJvdXQgd2hhdAorLkIgXCVod2Nsb2NrCitpcyBkb2luZyBpbnRlcm5hbGx5LiAgU29tZSBvZiBpdHMgZnVuY3Rpb25zIGFyZSBjb21wbGV4IGFuZCB0aGlzIG91dHB1dAorY2FuIGhlbHAgeW91IHVuZGVyc3RhbmQgaG93IHRoZSBwcm9ncmFtIHdvcmtzLgorLgorLlRQCisuQiBcLVwtZGlyZWN0aXNhCitUaGlzIG9wdGlvbiBpcyBtZWFuaW5nZnVsIGZvcjogSVNBIGNvbXBhdGlibGUgbWFjaGluZXMgaW5jbHVkaW5nIHg4NiwgYW5kCit4ODZfNjQ7IGFuZCBBbHBoYSAod2hpY2ggaGFzIGEgc2ltaWxhciBIYXJkd2FyZSBDbG9jayBpbnRlcmZhY2UpLiAgRm9yIG90aGVyCittYWNoaW5lcywgaXQgaGFzIG5vIGVmZmVjdC4gIFRoaXMgb3B0aW9uIHRlbGxzCisuQiBcJWh3Y2xvY2sKK3RvIHVzZSBleHBsaWNpdCBJL08gaW5zdHJ1Y3Rpb25zIHRvIGFjY2VzcyB0aGUgSGFyZHdhcmUgQ2xvY2suCitXaXRob3V0IHRoaXMgb3B0aW9uLAorLkIgXCVod2Nsb2NrCit3aWxsIHVzZSB0aGUgcnRjIGRldmljZSwgd2hpY2ggaXQgYXNzdW1lcyB0byBiZSBkcml2ZW4gYnkgdGhlIFJUQyBkZXZpY2UKK2RyaXZlci4gIEFzIG9mIHYyLjI2IGl0IHdpbGwgbm8gbG9uZ2VyIGF1dG9tYXRpY2FsbHkgdXNlIGRpcmVjdGlzYSB3aGVuCit0aGUgcnRjIGRyaXZlciBpcyB1bmF2YWlsYWJsZTsgdGhpcyB3YXMgY2F1c2luZyBhbiB1bnNhZmUgY29uZGl0aW9uIHRoYXQKK2NvdWxkIGFsbG93IHR3byBwcm9jZXNzZXMgdG8gYWNjZXNzIHRoZSBIYXJkd2FyZSBDbG9jayBhdCB0aGUgc2FtZSB0aW1lLgorRGlyZWN0IGhhcmR3YXJlIGFjY2VzcyBmcm9tIHVzZXJzcGFjZSBzaG91bGQgb25seSBiZSB1c2VkIGZvciB0ZXN0aW5nLAordHJvdWJsZXNob290aW5nLCBhbmQgYXMgYSBsYXN0IHJlc29ydCB3aGVuIGFsbCBvdGhlciBtZXRob2RzIGZhaWwuICBTZWUKK3RoZQorLkJSIFwtXC1ydGMgIiBvcHRpb24uIgorLgorLlRQCisuQlIgXC1mICwgXCBcLVwtcnRjPVxmSWZpbGVuYW1lXGZSCisuUkIgIk92ZXJyaWRlICIgXCVod2Nsb2NrICdzCitkZWZhdWx0IHJ0YyBkZXZpY2UgZmlsZSBuYW1lLiAgT3RoZXJ3aXNlIGl0IHdpbGwKK3VzZSB0aGUgZmlyc3Qgb25lIGZvdW5kIGluIHRoaXMgb3JkZXI6CisuaW4gKzQKKy5icgorLkkgL2Rldi9ydGMKKy5icgorLkkgL2Rldi9ydGMwCisuYnIKKy5JIC9kZXYvbWlzYy9ydGMKKy5icgorLmluCisuUkIgIkZvciAiIElBLTY0OgorLmluICs0CisuYnIKKy5JIC9kZXYvZWZpcnRjCisuYnIKKy5JIC9kZXYvbWlzYy9lZmlydGMKKy5pbgorLgorLlRQCisuQiBcLVwtbG9jYWx0aW1lCisuVFEKKy5CUiBcLXUgIiwgIiBcLVwtdXRjCitJbmRpY2F0ZSB3aGljaCB0aW1lc2NhbGUgdGhlIEhhcmR3YXJlIENsb2NrIGlzIHNldCB0by4KKy5zcAorVGhlIEhhcmR3YXJlIENsb2NrIG1heSBiZSBjb25maWd1cmVkIHRvIHVzZSBlaXRoZXIgdGhlIFVUQyBvciB0aGUgbG9jYWwKK3RpbWVzY2FsZSwgYnV0IG5vdGhpbmcgaW4gdGhlIGNsb2NrIGl0c2VsZiBzYXlzIHdoaWNoIGFsdGVybmF0aXZlIGlzCitiZWluZyB1c2VkLiAgVGhlCisuQlIgXCVcLVwtbG9jYWx0aW1lICIgb3IgIiBcLVwtdXRjCitvcHRpb25zIGdpdmUgdGhpcyBpbmZvcm1hdGlvbiB0byB0aGUKKy5CIFwlaHdjbG9jaworY29tbWFuZC4gIElmIHlvdSBzcGVjaWZ5IHRoZSB3cm9uZyBvbmUgKG9yIHNwZWNpZnkgbmVpdGhlciBhbmQgdGFrZSBhCit3cm9uZyBkZWZhdWx0KSwgYm90aCBzZXR0aW5nIGFuZCByZWFkaW5nIHRoZSBIYXJkd2FyZSBDbG9jayB3aWxsIGJlCitpbmNvcnJlY3QuCisuc3AKK0lmIHlvdSBzcGVjaWZ5IG5laXRoZXIKKy5CUiBcLVwtdXRjICIgbm9yICIgXCVcLVwtbG9jYWx0aW1lCit0aGVuIHRoZSBvbmUgbGFzdCBnaXZlbiB3aXRoIGEgc2V0IGZ1bmN0aW9uCisuUkIgKCBcLVwtc2V0ICIsICIgXCVcLVwtc3lzdG9oYyAiLCBvciAiIFwlXC1cLWFkanVzdCApLAorYXMgcmVjb3JkZWQgaW4KKy5JUiBAQURKVElNRV9QQVRIQCAsCit3aWxsIGJlIHVzZWQuICBJZiB0aGUgYWRqdGltZSBmaWxlIGRvZXNuJ3QgZXhpc3QsIHRoZSBkZWZhdWx0IGlzIFVUQy4KKy5zcAorTm90ZTogZGF5bGlnaHQgc2F2aW5nIHRpbWUgY2hhbmdlcyBtYXkgYmUgaW5jb25zaXN0ZW50IHdoZW4gdGhlCitIYXJkd2FyZSBDbG9jayBpcyBrZXB0IGluIGxvY2FsIHRpbWUuICBTZWUgdGhlIGRpc2N1c3Npb24gYmVsb3csIHVuZGVyCisuQlIgIkxPQ0FMIHZzIFVUQyIgLgorLgorLlRQCisuQiBcLVwtbm9hZGpmaWxlCitEaXNhYmxlIHRoZSBmYWNpbGl0aWVzIHByb3ZpZGVkIGJ5CisuSVIgQEFESlRJTUVfUEFUSEAgLgorLkIgXCVod2Nsb2NrCit3aWxsIG5vdCByZWFkIG5vciB3cml0ZSB0byB0aGF0IGZpbGUgd2l0aCB0aGlzIG9wdGlvbi4gIEVpdGhlcgorLkJSIFwtXC11dGMgIiBvciAiIFwlXC1cLWxvY2FsdGltZQorbXVzdCBiZSBzcGVjaWZpZWQgd2hlbiB1c2luZyB0aGlzIG9wdGlvbi4KKy4KKy5UUAorLkIgXC1cLXRlc3QKK0RvIG5vdCBhY3R1YWxseSBjaGFuZ2UgYW55dGhpbmcgb24gdGhlIHN5c3RlbSwgaS5lLiwgdGhlIENsb2NrcyBvcgorYWRqdGltZSBmaWxlLiAgVGhpcyBpcyB1c2VmdWwsIGVzcGVjaWFsbHkgaW4gY29uanVuY3Rpb24gd2l0aAorLkJSIFwlXC1cLWRlYnVnICwKK2luIGxlYXJuaW5nIGFib3V0IHRoZSBpbnRlcm5hbCBvcGVyYXRpb25zIG9mIGh3Y2xvY2suCisuCisuVFAKKy5CIFwtXC11cGRhdGVcLWRyaWZ0CitVcGRhdGUgdGhlIEhhcmR3YXJlIENsb2NrJ3MgZHJpZnQgZmFjdG9yIGluCisuSVIgQEFESlRJTUVfUEFUSEAgLgorSXQgaXMgdXNlZCB3aXRoCisuQlIgXC1cLXNldCAiIG9yICIgXCVcLVwtc3lzdG9oYyAsCitvdGhlcndpc2UgaXQgaXMgaWdub3JlZC4KKy5zcAorQSBtaW5pbXVtIGZvdXIgaG91ciBwZXJpb2QgYmV0d2VlbiBzZXR0aW5ncyBpcyByZXF1aXJlZC4gIFRoaXMgaXMgdG8KK2F2b2lkIGludmFsaWQgY2FsY3VsYXRpb25zLiAgVGhlIGxvbmdlciB0aGUgcGVyaW9kLCB0aGUgbW9yZSBwcmVjaXNlIHRoZQorcmVzdWx0aW5nIGRyaWZ0IGZhY3RvciB3aWxsIGJlLgorLnNwCitUaGlzIG9wdGlvbiB3YXMgYWRkZWQgaW4gdjIuMjYsIGJlY2F1c2UKK2l0IGlzIHR5cGljYWwgZm9yIHN5c3RlbXMgdG8gY2FsbAorLkIgXCVod2Nsb2NrXCBcLVwtc3lzdG9oYworYXQgc2h1dGRvd247IHdpdGggdGhlIG9sZCBiZWhhdmlvdXIgdGhpcyB3b3VsZCBhdXRvbWF0aWNhbGx5CisocmUpY2FsY3VsYXRlIHRoZSBkcmlmdCBmYWN0b3Igd2hpY2ggY2F1c2VkIHNldmVyYWwgcHJvYmxlbXM6CisuUlMKKy5JUCBcKGJ1IDIKK1doZW4gdXNpbmcgbnRwZCB3aXRoIGFuIFwlJzExXCBtaW51dGVcIG1vZGUnIGtlcm5lbCB0aGUgZHJpZnQgZmFjdG9yCit3b3VsZCBiZSBjbG9iYmVyZWQgdG8gbmVhciB6ZXJvLgorLklQIFwoYnUgMgorSXQgd291bGQgbm90IGFsbG93IHRoZSB1c2Ugb2YgJ2NvbGQnIGRyaWZ0IGNvcnJlY3Rpb24uICBXaXRoIG1vc3QKK2NvbmZpZ3VyYXRpb25zIHVzaW5nICdjb2xkJyBkcmlmdCB3aWxsIHlpZWxkIGZhdm9yYWJsZSByZXN1bHRzLiAgQ29sZCwKK21lYW5zIHdoZW4gdGhlIG1hY2hpbmUgaXMgdHVybmVkIG9mZiB3aGljaCBjYW4gaGF2ZSBhIHNpZ25pZmljYW50IGltcGFjdAorb24gdGhlIGRyaWZ0IGZhY3Rvci4KKy5JUCBcKGJ1IDIKKyhSZSljYWxjdWxhdGluZyBkcmlmdCBmYWN0b3Igb24gZXZlcnkgc2h1dGRvd24gZGVsaXZlcnMgc3Vib3B0aW1hbAorcmVzdWx0cy4gIEZvciBleGFtcGxlLCBpZiBlcGhlbWVyYWwgY29uZGl0aW9ucyBjYXVzZSB0aGUgbWFjaGluZSB0byBiZQorYWJub3JtYWxseSBob3QgdGhlIGRyaWZ0IGZhY3RvciBjYWxjdWxhdGlvbiB3b3VsZCBiZSBvdXQgb2YgcmFuZ2UuCisuUFAKKy5SQiAiSGF2aW5nICIgXCVod2Nsb2NrCitjYWxjdWxhdGUgdGhlIGRyaWZ0IGZhY3RvciBpcyBhIGdvb2Qgc3RhcnRpbmcgcG9pbnQsIGJ1dCBmb3Igb3B0aW1hbAorcmVzdWx0cyBpdCB3aWxsIGxpa2VseSBuZWVkIHRvIGJlIGFkanVzdGVkIGJ5IGRpcmVjdGx5IGVkaXRpbmcgdGhlCisuSSBAQURKVElNRV9QQVRIQAorZmlsZS4gIEZvciBtb3N0IGNvbmZpZ3VyYXRpb25zIG9uY2UgYSBtYWNoaW5lJ3Mgb3B0aW1hbCBkcmlmdCBmYWN0b3IgaXMKK2NyYWZ0ZWQgaXQgc2hvdWxkIG5vdCBuZWVkIHRvIGJlIGNoYW5nZWQuICBUaGVyZWZvcmUsIHRoZSBvbGQgYmVoYXZpb3IgdG8KK2F1dG9tYXRpY2FsbHkgKHJlKWNhbGN1bGF0ZSBkcmlmdCB3YXMgY2hhbmdlZCBhbmQgbm93IHJlcXVpcmVzIHRoaXMKK29wdGlvbiB0byBiZSB1c2VkLiAgU2VlIHRoZSBkaXNjdXNzaW9uIGJlbG93LCB1bmRlcgorLkJSICJUaGUgQWRqdXN0IEZ1bmN0aW9uIiAuCisuUkUKKy4KKy5TSCBPUFRJT05TIEZPUiBBTFBIQSBNQUNISU5FUyBPTkxZCisuCisuVFAKKy5CIFwtXC1hcmMKK1RoaXMgb3B0aW9uIGlzIGVxdWl2YWxlbnQgdG8KKy5CIFwlXC1cLWVwb2NoPTE5ODAKK2FuZCBpcyB1c2VkIHRvIHNwZWNpZnkgdGhlIG1vc3QgY29tbW9uIGVwb2NoIG9uIEFscGhhcword2l0aCBhbiBBUkMgY29uc29sZSAoYWx0aG91Z2ggUnVmZmlhbnMgaGF2ZSBhbiBlcG9jaCBvZiAxOTAwKS4KKy4KKy5UUAorLkJJIFwtXC1lcG9jaD0geWVhcgorU3BlY2lmaWVzIHRoZSB5ZWFyIHdoaWNoIGlzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIEhhcmR3YXJlIENsb2NrJ3MgZXBvY2gsCit0aGF0IGlzIHRoZSBudW1iZXIgb2YgeWVhcnMgaW50byBBRCB0byB3aGljaCBhIHplcm8gdmFsdWUgaW4gdGhlCitIYXJkd2FyZSBDbG9jaydzIHllYXIgY291bnRlciByZWZlcnMuICBJdCBpcyB1c2VkIHRvZ2V0aGVyIHdpdGggdGhlCisuQiBcJVwtXC1zZXRlcG9jaAorb3B0aW9uIHRvIHNldCB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgZXBvY2ggb2YgdGhlIEhhcmR3YXJlIENsb2NrLgorLnNwCitGb3IgZXhhbXBsZSwgb24gYSBEaWdpdGFsIFVuaXggbWFjaGluZToKKy5SUworLklQICIiIDQKKy5CIGh3Y2xvY2tcIFwtXC1zZXRlcG9jaFwgXC1cLWVwb2NoPTE5NTIKKy5SRQorLgorLlRQCisuQiBcLVwtZnVua3lcLXRveQorLlRRCisuQiBcLVwtamVuc2VuCitUaGVzZSB0d28gb3B0aW9ucyBzcGVjaWZ5IHdoYXQga2luZCBvZiBBbHBoYSBtYWNoaW5lIHlvdSBoYXZlLiAgVGhleQorYXJlIGludmFsaWQgaWYgeW91IGRvIG5vdCBoYXZlIGFuIEFscGhhIGFuZCBhcmUgdXN1YWxseSB1bm5lY2Vzc2FyeQoraWYgeW91IGRvOworLkIgXCVod2Nsb2NrCitzaG91bGQgYmUgYWJsZSB0byBkZXRlcm1pbmUgd2hhdCBpdCBpcyBydW5uaW5nIG9uIHdoZW4KKy5JIFwlL3Byb2MKK2lzIG1vdW50ZWQuCisuc3AKKy5SQiAiVGhlICIgXCVcLVwtamVuc2VuCitvcHRpb24gaXMgdXNlZCBmb3IgSmVuc2VuIG1vZGVsczsKKy5CIFwlXC1cLWZ1bmt5XC10b3kKK21lYW5zIHRoYXQgdGhlIG1hY2hpbmUgcmVxdWlyZXMgdGhlIFVGIGJpdCBpbnN0ZWFkIG9mIHRoZSBVSVAgYml0IGluCit0aGUgSGFyZHdhcmUgQ2xvY2sgdG8gZGV0ZWN0IGEgdGltZSB0cmFuc2l0aW9uLiAgVGhlICJ0b3kiIGluIHRoZSBvcHRpb24KK25hbWUgcmVmZXJzIHRvIHRoZSBUaW1lIE9mIFllYXIgZmFjaWxpdHkgb2YgdGhlIG1hY2hpbmUuCisuCisuVFAKKy5CIFwtXC1zcm0KK1RoaXMgb3B0aW9uIGlzIGVxdWl2YWxlbnQgdG8KKy5CIFwlXC1cLWVwb2NoPTE5MDAKK2FuZCBpcyB1c2VkIHRvIHNwZWNpZnkgdGhlIG1vc3QgY29tbW9uIGVwb2NoIG9uIEFscGhhcword2l0aCBhbiBTUk0gY29uc29sZS4KKy4KKy5TSCBOT1RFUworLgorLlNTIENsb2NrcyBpbiBhIExpbnV4IFN5c3RlbQorLlBQCitUaGVyZSBhcmUgdHdvIHR5cGVzIG9mIGRhdGUtdGltZSBjbG9ja3M6CisuUFAKKy5CIFRoZSBIYXJkd2FyZSBDbG9jazoKK1RoaXMgY2xvY2sgaXMgYW4gaW5kZXBlbmRlbnQgaGFyZHdhcmUgZGV2aWNlLCB3aXRoIGl0cyBvd24gcG93ZXIgZG9tYWluCisoYmF0dGVyeSwgY2FwYWNpdG9yLCBldGMpLCB0aGF0IG9wZXJhdGVzIHdoZW4gdGhlIG1hY2hpbmUgaXMgcG93ZXJlZCBvZmYsCitvciBldmVuIHVucGx1Z2dlZC4KKy5QUAorT24gYW4gSVNBIGNvbXBhdGlibGUgc3lzdGVtLCB0aGlzIGNsb2NrIGlzIHNwZWNpZmllZCBhcyBwYXJ0IG9mIHRoZSBJU0EKK3N0YW5kYXJkLiAgQSBjb250cm9sIHByb2dyYW0gY2FuIHJlYWQgb3Igc2V0IHRoaXMgY2xvY2sgb25seSB0byBhIHdob2xlCitzZWNvbmQsIGJ1dCBpdCBjYW4gYWxzbyBkZXRlY3QgdGhlIGVkZ2VzIG9mIHRoZSAxIHNlY29uZCBjbG9jayB0aWNrcywgc28KK3RoZSBjbG9jayBhY3R1YWxseSBoYXMgdmlydHVhbGx5IGluZmluaXRlIHByZWNpc2lvbi4KKy5QUAorVGhpcyBjbG9jayBpcyBjb21tb25seSBjYWxsZWQgdGhlIGhhcmR3YXJlIGNsb2NrLCB0aGUgcmVhbCB0aW1lIGNsb2NrLAordGhlIFJUQywgdGhlIEJJT1MgY2xvY2ssIGFuZCB0aGUgQ01PUyBjbG9jay4gIEhhcmR3YXJlIENsb2NrLCBpbiBpdHMKK2NhcGl0YWxpemVkIGZvcm0sIHdhcyBjb2luZWQgZm9yIHVzZSBieQorLkJSIFwlaHdjbG9jayAuCitUaGUgTGludXgga2VybmVsIGFsc28gcmVmZXJzIHRvIGl0IGFzIHRoZSBwZXJzaXN0ZW50IGNsb2NrLgorLlBQCitTb21lIG5vbi1JU0Egc3lzdGVtcyBoYXZlIGEgZmV3IHJlYWwgdGltZSBjbG9ja3Mgd2l0aAorb25seSBvbmUgb2YgdGhlbSBoYXZpbmcgaXRzIG93biBwb3dlciBkb21haW4uCitBIHZlcnkgbG93IHBvd2VyIGV4dGVybmFsIEkyQyBvciBTUEkgY2xvY2sgY2hpcCBtaWdodCBiZSB1c2VkIHdpdGggYQorYmFja3VwIGJhdHRlcnkgYXMgdGhlIGhhcmR3YXJlIGNsb2NrIHRvIGluaXRpYWxpemUgYSBtb3JlIGZ1bmN0aW9uYWwKK2ludGVncmF0ZWQgcmVhbC10aW1lIGNsb2NrIHdoaWNoIGlzIHVzZWQgZm9yIG1vc3Qgb3RoZXIgcHVycG9zZXMuCisuUFAKKy5CIFRoZSBTeXN0ZW0gQ2xvY2s6CitUaGlzIGNsb2NrIGlzIHBhcnQgb2YgdGhlIExpbnV4IGtlcm5lbCBhbmQgaXMgZHJpdmVuIGJ5CithIHRpbWVyIGludGVycnVwdC4gIChPbiBhbiBJU0EgbWFjaGluZSwgdGhlIHRpbWVyIGludGVycnVwdCBpcyBwYXJ0IG9mCit0aGUgSVNBIHN0YW5kYXJkLikgIEl0IGhhcyBtZWFuaW5nIG9ubHkgd2hpbGUgTGludXggaXMgcnVubmluZyBvbiB0aGUKK21hY2hpbmUuICBUaGUgU3lzdGVtIFRpbWUgaXMgdGhlIG51bWJlciBvZiBzZWNvbmRzIHNpbmNlIDAwOjAwOjAwCitKYW51YXJ5IDEsIDE5NzAgVVRDIChvciBtb3JlIHN1Y2NpbmN0bHksIHRoZSBudW1iZXIgb2Ygc2Vjb25kcyBzaW5jZQorMTk2OSBVVEMpLiAgVGhlIFN5c3RlbSBUaW1lIGlzIG5vdCBhbiBpbnRlZ2VyLCB0aG91Z2guICBJdCBoYXMgdmlydHVhbGx5CitpbmZpbml0ZSBwcmVjaXNpb24uCisuUFAKK1RoZSBTeXN0ZW0gVGltZSBpcyB0aGUgdGltZSB0aGF0IG1hdHRlcnMuICBUaGUgSGFyZHdhcmUgQ2xvY2sncyBiYXNpYworcHVycG9zZSBpcyB0byBrZWVwIHRpbWUgd2hlbiBMaW51eCBpcyBub3QgcnVubmluZyBzbyB0aGF0IHRoZSBTeXN0ZW0KK0Nsb2NrIGNhbiBiZSBpbml0aWFsaXplZCBmcm9tIGl0IGF0IGJvb3QuICBOb3RlIHRoYXQgaW4gRE9TLCBmb3Igd2hpY2gKK0lTQSB3YXMgZGVzaWduZWQsIHRoZSBIYXJkd2FyZSBDbG9jayBpcyB0aGUgb25seSByZWFsIHRpbWUgY2xvY2suCisuUFAKK0l0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBTeXN0ZW0gVGltZSBub3QgaGF2ZSBhbnkgZGlzY29udGludWl0aWVzIHN1Y2ggYXMKK3dvdWxkIGhhcHBlbiBpZiB5b3UgdXNlZCB0aGUKKy5CUiBcJWRhdGUgKDEpCitwcm9ncmFtIHRvIHNldCBpdCB3aGlsZSB0aGUgc3lzdGVtIGlzIHJ1bm5pbmcuICBZb3UgY2FuLCBob3dldmVyLCBkbyB3aGF0ZXZlcgoreW91IHdhbnQgdG8gdGhlIEhhcmR3YXJlIENsb2NrIHdoaWxlIHRoZSBzeXN0ZW0gaXMgcnVubmluZywgYW5kIHRoZSBuZXh0Cit0aW1lIExpbnV4IHN0YXJ0cyB1cCwgaXQgd2lsbCBkbyBzbyB3aXRoIHRoZSBhZGp1c3RlZCB0aW1lIGZyb20gdGhlIEhhcmR3YXJlCitDbG9jay4gIE5vdGU6IGN1cnJlbnRseSB0aGlzIGlzIG5vdCBwb3NzaWJsZSBvbiBtb3N0IHN5c3RlbXMgYmVjYXVzZQorLkIgXCVod2Nsb2NrXCBcLVwtc3lzdG9oYworaXMgY2FsbGVkIGF0IHNodXRkb3duLgorLlBQCitUaGUgTGludXgga2VybmVsJ3MgdGltZXpvbmUgaXMgc2V0IGJ5CisuQlIgaHdjbG9jayAuCitCdXQgZG9uJ3QgYmUgbWlzbGVkIC0tIGFsbW9zdCBub2JvZHkgY2FyZXMgd2hhdCB0aW1lem9uZSB0aGUga2VybmVsCit0aGlua3MgaXQgaXMgaW4uICBJbnN0ZWFkLCBwcm9ncmFtcyB0aGF0IGNhcmUgYWJvdXQgdGhlIHRpbWV6b25lCisocGVyaGFwcyBiZWNhdXNlIHRoZXkgd2FudCB0byBkaXNwbGF5IGEgbG9jYWwgdGltZSBmb3IgeW91KSBhbG1vc3QKK2Fsd2F5cyB1c2UgYSBtb3JlIHRyYWRpdGlvbmFsIG1ldGhvZCBvZiBkZXRlcm1pbmluZyB0aGUgdGltZXpvbmU6IFRoZXkKK3VzZSB0aGUgVFogZW52aXJvbm1lbnQgdmFyaWFibGUgb3IgdGhlCisuSSBcJS9ldGMvbG9jYWx0aW1lCitmaWxlLCBhcyBleHBsYWluZWQgaW4gdGhlIG1hbiBwYWdlIGZvcgorLkJSIFwldHpzZXQgKDMpLgorSG93ZXZlciwgc29tZSBwcm9ncmFtcyBhbmQgZnJpbmdlIHBhcnRzIG9mIHRoZSBMaW51eCBrZXJuZWwgc3VjaCBhcyBmaWxlc3lzdGVtcwordXNlIHRoZSBrZXJuZWwncyB0aW1lem9uZSB2YWx1ZS4gIEFuIGV4YW1wbGUgaXMgdGhlIHZmYXQgZmlsZXN5c3RlbS4gIElmIHRoZQora2VybmVsIHRpbWV6b25lIHZhbHVlIGlzIHdyb25nLCB0aGUgdmZhdCBmaWxlc3lzdGVtIHdpbGwgcmVwb3J0IGFuZCBzZXQgdGhlCit3cm9uZyB0aW1lc3RhbXBzIG9uIGZpbGVzLiAgQW5vdGhlciBleGFtcGxlIGlzIHRoZSBrZXJuZWwncyBOVFAgXCUnMTFcIG1pbnV0ZVwgbW9kZScuCitJZiB0aGUga2VybmVsJ3MgdGltZXpvbmUgdmFsdWUgYW5kL29yIHRoZQorLkkgXCVwZXJzaXN0ZW50X2Nsb2NrX2lzX2xvY2FsCit2YXJpYWJsZSBhcmUgd3JvbmcsIHRoZW4gdGhlIEhhcmR3YXJlIENsb2NrIHdpbGwgYmUgc2V0IGluY29ycmVjdGx5CitieSBcJScxMVwgbWludXRlXCBtb2RlJy4gIFNlZSB0aGUgZGlzY3Vzc2lvbiBiZWxvdywgdW5kZXIKKy5CUiAiQXV0b21hdGljIEhhcmR3YXJlIENsb2NrIFN5bmNocm9uaXphdGlvbiBieSB0aGUgS2VybmVsIiAuCisuUFAKKy5CIFwlaHdjbG9jaworc2V0cyB0aGUga2VybmVsJ3MgdGltZXpvbmUgdG8gdGhlIHZhbHVlIGluZGljYXRlZCBieSBUWiBvcgorLklSIFwlL2V0Yy9sb2NhbHRpbWUgIiB3aXRoIHRoZSIKKy5CUiBcJVwtXC1oY3Rvc3lzICIgb3IgIiBcJVwtXC1zeXN0eiAiIGZ1bmN0aW9ucy4iCisuUFAKK1RoZSBrZXJuZWwncyB0aW1lem9uZSB2YWx1ZSBhY3R1YWxseSBjb25zaXN0cyBvZiB0d28gcGFydHM6IDEpIGEgZmllbGQKK3R6X21pbnV0ZXN3ZXN0IGluZGljYXRpbmcgaG93IG1hbnkgbWludXRlcyBsb2NhbCB0aW1lIChub3QgYWRqdXN0ZWQKK2ZvciBEU1QpIGxhZ3MgYmVoaW5kIFVUQywgYW5kIDIpIGEgZmllbGQgdHpfZHN0dGltZSBpbmRpY2F0aW5nCit0aGUgdHlwZSBvZiBEYXlsaWdodCBTYXZpbmdzIFRpbWUgKERTVCkgY29udmVudGlvbiB0aGF0IGlzIGluIGVmZmVjdAoraW4gdGhlIGxvY2FsaXR5IGF0IHRoZSBwcmVzZW50IHRpbWUuCitUaGlzIHNlY29uZCBmaWVsZCBpcyBub3QgdXNlZCB1bmRlciBMaW51eCBhbmQgaXMgYWx3YXlzIHplcm8uCitTZWUgYWxzbworLkJSIFwlc2V0dGltZW9mZGF5ICgyKS4KKy4KKy5TUyBIYXJkd2FyZSBDbG9jayBBY2Nlc3MgTWV0aG9kcworLlBQCisuQiBcJWh3Y2xvY2sKK3VzZXMgbWFueSBkaWZmZXJlbnQgd2F5cyB0byBnZXQgYW5kIHNldCBIYXJkd2FyZSBDbG9jayB2YWx1ZXMuICBUaGUgbW9zdAorbm9ybWFsIHdheSBpcyB0byBkbyBJL08gdG8gdGhlIHJ0YyBkZXZpY2Ugc3BlY2lhbCBmaWxlLCB3aGljaCBpcworcHJlc3VtZWQgdG8gYmUgZHJpdmVuIGJ5IHRoZSBydGMgZGV2aWNlIGRyaXZlci4gIEFsc28sIExpbnV4IHN5c3RlbXMKK3VzaW5nIHRoZSBydGMgZnJhbWV3b3JrIHdpdGggdWRldiwgYXJlIGNhcGFibGUgb2Ygc3VwcG9ydGluZyBtdWx0aXBsZQorSGFyZHdhcmUgQ2xvY2tzLiAgVGhpcyBtYXkgYnJpbmcgYWJvdXQgdGhlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQKK3J0YyBkZXZpY2UgYnkgc3BlY2lmeWluZyBvbmUgd2l0aCB0aGUKKy5CUiBcLVwtcnRjICIgb3B0aW9uLiIKKy5QUAorSG93ZXZlciwgdGhpcyBtZXRob2QgaXMgbm90IGFsd2F5cyBhdmFpbGFibGUgYXMgb2xkZXIgc3lzdGVtcyBkbyBub3QKK2hhdmUgYW4gcnRjIGRyaXZlci4gIE9uIHRoZXNlIHN5c3RlbXMsIHRoZSBtZXRob2Qgb2YgYWNjZXNzaW5nIHRoZQorSGFyZHdhcmUgQ2xvY2sgZGVwZW5kcyBvbiB0aGUgc3lzdGVtIGhhcmR3YXJlLgorLlBQCitPbiBhbiBJU0EgY29tcGF0aWJsZSBzeXN0ZW0sCisuQiBcJWh3Y2xvY2sKK2NhbiBkaXJlY3RseSBhY2Nlc3MgdGhlICJDTU9TIG1lbW9yeSIgcmVnaXN0ZXJzIHRoYXQKK2NvbnN0aXR1dGUgdGhlIGNsb2NrLCBieSBkb2luZyBJL08gdG8gUG9ydHMgMHg3MCBhbmQgMHg3MS4gIEl0IGRvZXMKK3RoaXMgd2l0aCBhY3R1YWwgSS9PIGluc3RydWN0aW9ucyBhbmQgY29uc2VxdWVudGx5IGNhbiBvbmx5IGRvIGl0IGlmCitydW5uaW5nIHdpdGggc3VwZXJ1c2VyIGVmZmVjdGl2ZSB1c2VyaWQuICBUaGlzIG1ldGhvZCBtYXkgYmUgdXNlZCBieQorc3BlY2lmeWluZyB0aGUKKy5CUiBcJVwtXC1kaXJlY3Rpc2EgIiBvcHRpb24uIgorLlBQCitUaGlzIGlzIGEgcmVhbGx5IHBvb3IgbWV0aG9kIG9mIGFjY2Vzc2luZyB0aGUgY2xvY2ssIGZvciBhbGwgdGhlCityZWFzb25zIHRoYXQgdXNlcnNwYWNlIHByb2dyYW1zIGFyZSBnZW5lcmFsbHkgbm90IHN1cHBvc2VkIHRvIGRvCitkaXJlY3QgSS9PIGFuZCBkaXNhYmxlIGludGVycnVwdHMuCisuQiBcJWh3Y2xvY2sKK3Byb3ZpZGVzIGl0IGZvciB0ZXN0aW5nLCB0cm91Ymxlc2hvb3RpbmcsIGFuZCAgYmVjYXVzZSBpdCBtYXkgYmUgdGhlCitvbmx5IG1ldGhvZCBhdmFpbGFibGUgb24gSVNBIGNvbXBhdGlibGUgYW5kIEFscGhhIHN5c3RlbXMgd2hpY2ggZG8gbm90CitoYXZlIGEgd29ya2luZyBydGMgZGV2aWNlIGRyaXZlci4KKy5QUAorSW4gdGhlIGNhc2Ugb2YgYSBKZW5zZW4gQWxwaGEsIHRoZXJlIGlzIG5vIHdheSBmb3IKKy5CIFwlaHdjbG9jawordG8gZXhlY3V0ZSB0aG9zZSBJL08gaW5zdHJ1Y3Rpb25zLCBhbmQgc28gaXQgdXNlcyBpbnN0ZWFkIHRoZQorLkkgXCUvZGV2L3BvcnQKK2RldmljZSBzcGVjaWFsIGZpbGUsIHdoaWNoIHByb3ZpZGVzIGFsbW9zdCBhcyBsb3ctbGV2ZWwgYW4gaW50ZXJmYWNlIHRvCit0aGUgSS9PIHN1YnN5c3RlbS4KKy5QUAorT24gYW4gbTY4ayBzeXN0ZW0sCisuQiBcJWh3Y2xvY2sKK2NhbiBhY2Nlc3MgdGhlIGNsb2NrIHdpdGggdGhlIGNvbnNvbGUgZHJpdmVyLCB2aWEgdGhlIGRldmljZSBzcGVjaWFsIGZpbGUKKy5JUiBcJS9kZXYvdHR5MSAuCisuU1MgVGhlIEFkanVzdCBGdW5jdGlvbgorLlBQCitUaGUgSGFyZHdhcmUgQ2xvY2sgaXMgdXN1YWxseSBub3QgdmVyeSBhY2N1cmF0ZS4gIEhvd2V2ZXIsIG11Y2ggb2YgaXRzCitpbmFjY3VyYWN5IGlzIGNvbXBsZXRlbHkgcHJlZGljdGFibGUgLSBpdCBnYWlucyBvciBsb3NlcyB0aGUgc2FtZSBhbW91bnQKK29mIHRpbWUgZXZlcnkgZGF5LiAgVGhpcyBpcyBjYWxsZWQgc3lzdGVtYXRpYyBkcmlmdC4KKy5CUiBcJWh3Y2xvY2sgIidzICIgXCVcLVwtYWRqdXN0CitmdW5jdGlvbiBsZXRzIHlvdSBhcHBseSBzeXN0ZW1hdGljIGRyaWZ0IGNvcnJlY3Rpb25zIHRvIHRoZQorSGFyZHdhcmUgQ2xvY2suCisuUFAKK0l0IHdvcmtzIGxpa2UgdGhpczoKKy5CUiBcJWh3Y2xvY2sgIiBrZWVwcyBhIGZpbGUsIgorLklSIEBBREpUSU1FX1BBVEhAICwKK3RoYXQga2VlcHMgc29tZSBoaXN0b3JpY2FsIGluZm9ybWF0aW9uLiAgVGhpcyBpcyBjYWxsZWQgdGhlIGFkanRpbWUgZmlsZS4KKy5QUAorU3VwcG9zZSB5b3Ugc3RhcnQgd2l0aCBubyBhZGp0aW1lIGZpbGUuICBZb3UgaXNzdWUgYQorLkIgXCVod2Nsb2NrXCBcLVwtc2V0Citjb21tYW5kIHRvIHNldCB0aGUgSGFyZHdhcmUgQ2xvY2sgdG8gdGhlIHRydWUgY3VycmVudCB0aW1lLgorLkIgXCVod2Nsb2NrCitjcmVhdGVzIHRoZSBhZGp0aW1lIGZpbGUgYW5kIHJlY29yZHMgaW4gaXQgdGhlIGN1cnJlbnQgdGltZSBhcyB0aGUKK2xhc3QgdGltZSB0aGUgY2xvY2sgd2FzIGNhbGlicmF0ZWQuCitGaXZlIGRheXMgbGF0ZXIsIHRoZSBjbG9jayBoYXMgZ2FpbmVkIDEwIHNlY29uZHMsIHNvIHlvdSBpc3N1ZSBhCisuQiBcJWh3Y2xvY2tcIFwtXC1zZXRcIFwtXC11cGRhdGVcLWRyaWZ0Citjb21tYW5kIHRvIHNldCBpdCBiYWNrIDEwIHNlY29uZHMuCisuQiBcJWh3Y2xvY2sKK3VwZGF0ZXMgdGhlIGFkanRpbWUgZmlsZSB0byBzaG93IHRoZSBjdXJyZW50IHRpbWUgYXMgdGhlIGxhc3QgdGltZSB0aGUKK2Nsb2NrIHdhcyBjYWxpYnJhdGVkLCBhbmQgcmVjb3JkcyAyIHNlY29uZHMgcGVyIGRheSBhcyB0aGUgc3lzdGVtYXRpYworZHJpZnQgcmF0ZS4gIDI0IGhvdXJzIGdvIGJ5LCBhbmQgdGhlbiB5b3UgaXNzdWUgYQorLkIgXCVod2Nsb2NrXCBcLVwtYWRqdXN0Citjb21tYW5kLgorLkIgXCVod2Nsb2NrCitjb25zdWx0cyB0aGUgYWRqdGltZSBmaWxlIGFuZCBzZWVzIHRoYXQgdGhlIGNsb2NrIGdhaW5zIDIgc2Vjb25kcyBwZXIKK2RheSB3aGVuIGxlZnQgYWxvbmUgYW5kIHRoYXQgaXQgaGFzIGJlZW4gbGVmdCBhbG9uZSBmb3IgZXhhY3RseSBvbmUKK2RheS4gIFNvIGl0IHN1YnRyYWN0cyAyIHNlY29uZHMgZnJvbSB0aGUgSGFyZHdhcmUgQ2xvY2suICBJdCB0aGVuCityZWNvcmRzIHRoZSBjdXJyZW50IHRpbWUgYXMgdGhlIGxhc3QgdGltZSB0aGUgY2xvY2sgd2FzIGFkanVzdGVkLgorQW5vdGhlciAyNCBob3VycyBnbyBieSBhbmQgeW91IGlzc3VlIGFub3RoZXIKKy5CUiBcJWh3Y2xvY2tcIFwtXC1hZGp1c3QgLgorLkIgXCVod2Nsb2NrCitkb2VzIHRoZSBzYW1lIHRoaW5nOiBzdWJ0cmFjdHMgMiBzZWNvbmRzIGFuZCB1cGRhdGVzIHRoZSBhZGp0aW1lIGZpbGUKK3dpdGggdGhlIGN1cnJlbnQgdGltZSBhcyB0aGUgbGFzdCB0aW1lIHRoZSBjbG9jayB3YXMgYWRqdXN0ZWQuCisuUFAKK1doZW4geW91IHVzZSB0aGUKKy5CUiBcJVwtXC11cGRhdGVcLWRyaWZ0ICIgb3B0aW9uIHdpdGggIiBcLVwtc2V0ICIgb3IgIiBcJVwtXC1zeXN0b2hjICwKK3RoZSBzeXN0ZW1hdGljIGRyaWZ0IHJhdGUgaXMgKHJlKWNhbGN1bGF0ZWQgYnkgY29tcGFyaW5nIHRoZSBmdWxseSBkcmlmdAorY29ycmVjdGVkIGN1cnJlbnQgSGFyZHdhcmUgQ2xvY2sgdGltZSB3aXRoIHRoZSBuZXcgc2V0IHRpbWUsIGZyb20gdGhhdAoraXQgZGVyaXZlcyB0aGUgMjQgaG91ciBkcmlmdCByYXRlIGJhc2VkIG9uIHRoZSBsYXN0IGNhbGlicmF0ZWQgdGltZXN0YW1wCitmcm9tIHRoZSBhZGp0aW1lIGZpbGUuICBUaGlzIHVwZGF0ZWQgZHJpZnQgZmFjdG9yIGlzIHRoZW4gc2F2ZWQgaW4KKy5JUiBAQURKVElNRV9QQVRIQCAuCisuUFAKK0Egc21hbGwgYW1vdW50IG9mIGVycm9yIGNyZWVwcyBpbiB3aGVuCit0aGUgSGFyZHdhcmUgQ2xvY2sgaXMgc2V0LCBzbworLkIgXCVcLVwtYWRqdXN0CityZWZyYWlucyBmcm9tIG1ha2luZyBhbnkgYWRqdXN0bWVudCB0aGF0IGlzIGxlc3MKK3RoYW4gMSBzZWNvbmQuICBMYXRlciBvbiwgd2hlbiB5b3UgcmVxdWVzdCBhbiBhZGp1c3RtZW50IGFnYWluLCB0aGUgYWNjdW11bGF0ZWQKK2RyaWZ0IHdpbGwgYmUgbW9yZSB0aGFuIDEgc2Vjb25kIGFuZAorLkIgXCVcLVwtYWRqdXN0Cit3aWxsIG1ha2UgdGhlIGFkanVzdG1lbnQgaW5jbHVkaW5nIGFueSBmcmFjdGlvbmFsIGFtb3VudC4KKy5QUAorLkIgXCVod2Nsb2NrXCBcLVwtaGN0b3N5cworYWxzbyB1c2VzIHRoZSBhZGp0aW1lIGZpbGUgZGF0YSB0byBjb21wZW5zYXRlIHRoZSB2YWx1ZSByZWFkIGZyb20gdGhlIEhhcmR3YXJlCitDbG9jayBiZWZvcmUgdXNpbmcgaXQgdG8gc2V0IHRoZSBTeXN0ZW0gQ2xvY2suICBJdCBkb2VzIG5vdCBzaGFyZSB0aGUgMSBzZWNvbmQKK2xpbWl0YXRpb24gb2YKKy5CUiBcJVwtXC1hZGp1c3QgLAorYW5kIHdpbGwgY29ycmVjdCBzdWItc2Vjb25kIGRyaWZ0IHZhbHVlcyBpbW1lZGlhdGVseS4gIEl0IGRvZXMgbm90CitjaGFuZ2UgdGhlIEhhcmR3YXJlIENsb2NrIHRpbWUgbm9yIHRoZSBhZGp0aW1lIGZpbGUuICBUaGlzIG1heSBlbGltaW5hdGUKK3RoZSBuZWVkIHRvIHVzZQorLkJSIFwlXC1cLWFkanVzdCAsCit1bmxlc3Mgc29tZXRoaW5nIGVsc2Ugb24gdGhlIHN5c3RlbSBuZWVkcyB0aGUgSGFyZHdhcmUgQ2xvY2sgdG8gYmUKK2NvbXBlbnNhdGVkLgorLgorLlNTIFRoZSBBZGp0aW1lIEZpbGUKK1doaWxlIG5hbWVkIGZvciBpdHMgaGlzdG9yaWNhbCBwdXJwb3NlIG9mIGNvbnRyb2xsaW5nIGFkanVzdG1lbnRzIG9ubHksCitpdCBhY3R1YWxseSBjb250YWlucyBvdGhlciBpbmZvcm1hdGlvbiB1c2VkIGJ5CisuQiBod2Nsb2NrCitmcm9tIG9uZSBpbnZvY2F0aW9uIHRvIHRoZSBuZXh0LgorLlBQCitUaGUgZm9ybWF0IG9mIHRoZSBhZGp0aW1lIGZpbGUgaXMsIGluIEFTQ0lJOgorLlBQCitMaW5lIDE6IFRocmVlIG51bWJlcnMsIHNlcGFyYXRlZCBieSBibGFua3M6IDEpIHRoZSBzeXN0ZW1hdGljIGRyaWZ0IHJhdGUKK2luIHNlY29uZHMgcGVyIGRheSwgZmxvYXRpbmcgcG9pbnQgZGVjaW1hbDsgMikgdGhlIHJlc3VsdGluZyBudW1iZXIgb2YKK3NlY29uZHMgc2luY2UgMTk2OSBVVEMgb2YgbW9zdCByZWNlbnQgYWRqdXN0bWVudCBvciBjYWxpYnJhdGlvbiwKK2RlY2ltYWwgaW50ZWdlcjsgMykgemVybyAoZm9yIGNvbXBhdGliaWxpdHkgd2l0aAorLkJSIFwlY2xvY2sgKDgpKQorYXMgYSBkZWNpbWFsIGludGVnZXIuCisuUFAKK0xpbmUgMjogT25lIG51bWJlcjogdGhlIHJlc3VsdGluZyBudW1iZXIgb2Ygc2Vjb25kcyBzaW5jZSAxOTY5IFVUQyBvZiBtb3N0CityZWNlbnQgY2FsaWJyYXRpb24uICBaZXJvIGlmIHRoZXJlIGhhcyBiZWVuIG5vIGNhbGlicmF0aW9uIHlldCBvciBpdAoraXMga25vd24gdGhhdCBhbnkgcHJldmlvdXMgY2FsaWJyYXRpb24gaXMgbW9vdCAoZm9yIGV4YW1wbGUsIGJlY2F1c2UKK3RoZSBIYXJkd2FyZSBDbG9jayBoYXMgYmVlbiBmb3VuZCwgc2luY2UgdGhhdCBjYWxpYnJhdGlvbiwgbm90IHRvCitjb250YWluIGEgdmFsaWQgdGltZSkuICBUaGlzIGlzIGEgZGVjaW1hbCBpbnRlZ2VyLgorLlBQCitMaW5lIDM6ICJVVEMiIG9yICJMT0NBTCIuICBUZWxscyB3aGV0aGVyIHRoZSBIYXJkd2FyZSBDbG9jayBpcyBzZXQgdG8KK0Nvb3JkaW5hdGVkIFVuaXZlcnNhbCBUaW1lIG9yIGxvY2FsIHRpbWUuICBZb3UgY2FuIGFsd2F5cyBvdmVycmlkZSB0aGlzCit2YWx1ZSB3aXRoIG9wdGlvbnMgb24gdGhlCisuQiBcJWh3Y2xvY2sKK2NvbW1hbmQgbGluZS4KKy5QUAorWW91IGNhbiB1c2UgYW4gYWRqdGltZSBmaWxlIHRoYXQgd2FzIHByZXZpb3VzbHkgdXNlZCB3aXRoIHRoZQorLkJSIFwlY2xvY2sgIig4KSBwcm9ncmFtIHdpdGggIiBcJWh3Y2xvY2sgLgorLgorLlNTIEF1dG9tYXRpYyBIYXJkd2FyZSBDbG9jayBTeW5jaHJvbml6YXRpb24gYnkgdGhlIEtlcm5lbAorLlBQCitZb3Ugc2hvdWxkIGJlIGF3YXJlIG9mIGFub3RoZXIgd2F5IHRoYXQgdGhlIEhhcmR3YXJlIENsb2NrIGlzIGtlcHQKK3N5bmNocm9uaXplZCBpbiBzb21lIHN5c3RlbXMuICBUaGUgTGludXgga2VybmVsIGhhcyBhIG1vZGUgd2hlcmVpbiBpdAorY29waWVzIHRoZSBTeXN0ZW0gVGltZSB0byB0aGUgSGFyZHdhcmUgQ2xvY2sgZXZlcnkgMTEgbWludXRlcy4gVGhpcyBtb2RlCitpcyBhIGNvbXBpbGUgdGltZSBvcHRpb24sIHNvIG5vdCBhbGwga2VybmVscyB3aWxsIGhhdmUgdGhpcyBjYXBhYmlsaXR5LgorVGhpcyBpcyBhIGdvb2QgbW9kZSB0byB1c2Ugd2hlbiB5b3UgYXJlIHVzaW5nIHNvbWV0aGluZyBzb3BoaXN0aWNhdGVkCitsaWtlIE5UUCB0byBrZWVwIHlvdXIgU3lzdGVtIENsb2NrIHN5bmNocm9uaXplZC4gKE5UUCBpcyBhIHdheSB0byBrZWVwCit5b3VyIFN5c3RlbSBUaW1lIHN5bmNocm9uaXplZCBlaXRoZXIgdG8gYSB0aW1lIHNlcnZlciBzb21ld2hlcmUgb24gdGhlCituZXR3b3JrIG9yIHRvIGEgcmFkaW8gY2xvY2sgaG9va2VkIHVwIHRvIHlvdXIgc3lzdGVtLiAgU2VlIFJGQyAxMzA1LikKKy5QUAorSWYgdGhlIGtlcm5lbCBpcyBjb21waWxlZCB3aXRoIHRoZSBcJScxMVwgbWludXRlXCBtb2RlJyBvcHRpb24gaXQgd2lsbAorYmUgYWN0aXZlIHdoZW4gdGhlIGtlcm5lbCdzIGNsb2NrIGRpc2NpcGxpbmUgaXMgaW4gYSBzeW5jaHJvbml6ZWQgc3RhdGUuCitXaGVuIGluIHRoaXMgc3RhdGUsIGJpdCA2ICh0aGUgYml0IHRoYXQgaXMgc2V0IGluIHRoZSBtYXNrIDB4MDA0MCkKK29mIHRoZSBrZXJuZWwncworLkkgXCV0aW1lX3N0YXR1cwordmFyaWFibGUgaXMgdW5zZXQuIFRoaXMgdmFsdWUgaXMgb3V0cHV0IGFzIHRoZSAnc3RhdHVzJyBsaW5lIG9mIHRoZQorLkJSIFwlYWRqdGltZXhcIC0tcHJpbnQgIiBvciAiIFwlbnRwdGltZSAiIGNvbW1hbmRzLiIKKy5QUAorSXQgdGFrZXMgYW4gb3V0c2lkZSBpbmZsdWVuY2UsIGxpa2UgdGhlIE5UUCBkYWVtb24KKy5CUiBudHBkICgxKSwKK3RvIHB1dCB0aGUga2VybmVsJ3MgY2xvY2sgZGlzY2lwbGluZSBpbnRvIGEgc3luY2hyb25pemVkIHN0YXRlLCBhbmQKK3RoZXJlZm9yZSB0dXJuIG9uIFwlJzExXCBtaW51dGVcIG1vZGUnLgorSXQgY2FuIGJlIHR1cm5lZCBvZmYgYnkgcnVubmluZyBhbnl0aGluZyB0aGF0IHNldHMgdGhlIFN5c3RlbSBDbG9jayB0aGUgb2xkCitmYXNoaW9uZWQgd2F5LCBpbmNsdWRpbmcKKy5CUiAiXCVod2Nsb2NrXCBcLVwtaGN0b3N5cyIgLgorSG93ZXZlciwgaWYgdGhlIE5UUCBkYWVtb24gaXMgc3RpbGwgcnVubmluZywgaXQgd2lsbCB0dXJuIFwlJzExXCBtaW51dGVcIG1vZGUnCitiYWNrIG9uIGFnYWluIHRoZSBuZXh0IHRpbWUgaXQgc3luY2hyb25pemVzIHRoZSBTeXN0ZW0gQ2xvY2suCisuUFAKK0lmIHlvdXIgc3lzdGVtIHJ1bnMgd2l0aCBcJScxMVwgbWludXRlXCBtb2RlJyBvbiwgaXQgbWF5IG5lZWQgdG8gdXNlIGVpdGhlcgorLkJSIFwlXC1cLWhjdG9zeXMgIiBvciAiIFwlXC1cLXN5c3R6CitpbiBhIHN0YXJ0dXAgc2NyaXB0LCBlc3BlY2lhbGx5IGlmIHRoZSBIYXJkd2FyZSBDbG9jayBpcyBjb25maWd1cmVkIHRvIHVzZQordGhlIGxvY2FsIHRpbWVzY2FsZS4gVW5sZXNzIHRoZSBrZXJuZWwgaXMgaW5mb3JtZWQgb2Ygd2hhdCB0aW1lc2NhbGUgdGhlCitIYXJkd2FyZSBDbG9jayBpcyB1c2luZywgaXQgbWF5IGNsb2JiZXIgaXQgd2l0aCB0aGUgd3Jvbmcgb25lLiBUaGUga2VybmVsCit1c2VzIFVUQyBieSBkZWZhdWx0LgorLlBQCitUaGUgZmlyc3QgdXNlcnNwYWNlIGNvbW1hbmQgdG8gc2V0IHRoZSBTeXN0ZW0gQ2xvY2sgaW5mb3JtcyB0aGUKK2tlcm5lbCB3aGF0IHRpbWVzY2FsZSB0aGUgSGFyZHdhcmUgQ2xvY2sgaXMgdXNpbmcuICBUaGlzIGhhcHBlbnMgdmlhIHRoZQorLkkgXCVwZXJzaXN0ZW50X2Nsb2NrX2lzX2xvY2FsCitrZXJuZWwgdmFyaWFibGUuICBJZgorLkJSIFwlXC1cLWhjdG9zeXMgIiBvciAiIFwlXC1cLXN5c3R6CitpcyB0aGUgZmlyc3QsIGl0IHdpbGwgc2V0IHRoaXMgdmFyaWFibGUgYWNjb3JkaW5nIHRvIHRoZSBhZGp0aW1lIGZpbGUgb3IgdGhlCithcHByb3ByaWF0ZSBjb21tYW5kLWxpbmUgYXJndW1lbnQuICBOb3RlIHRoYXQgd2hlbiB1c2luZyB0aGlzIGNhcGFiaWxpdHkgYW5kIHRoZQorSGFyZHdhcmUgQ2xvY2sgdGltZXNjYWxlIGNvbmZpZ3VyYXRpb24gaXMgY2hhbmdlZCwgdGhlbiBhIHJlYm9vdCBpcyByZXF1aXJlZCB0bworbm90aWZ5IHRoZSBrZXJuZWwuCisuUFAKKy5CIFwlaHdjbG9ja1wgXC1cLWFkanVzdAorc2hvdWxkIG5vdCBiZSB1c2VkIHdpdGggTlRQIFwlJzExXCBtaW51dGVcIG1vZGUnLgorLgorLlNTIElTQSBIYXJkd2FyZSBDbG9jayBDZW50dXJ5IHZhbHVlCisuUFAKK1RoZXJlIGlzIHNvbWUgc29ydCBvZiBzdGFuZGFyZCB0aGF0IGRlZmluZXMgQ01PUyBtZW1vcnkgQnl0ZSA1MCBvbiBhbiBJU0EKK21hY2hpbmUgYXMgYW4gaW5kaWNhdG9yIG9mIHdoYXQgY2VudHVyeSBpdCBpcy4KKy5CIFwlaHdjbG9jaworZG9lcyBub3QgdXNlIG9yIHNldCB0aGF0IGJ5dGUgYmVjYXVzZSB0aGVyZSBhcmUgc29tZSBtYWNoaW5lcyB0aGF0Citkb24ndCBkZWZpbmUgdGhlIGJ5dGUgdGhhdCB3YXksIGFuZCBpdCByZWFsbHkgaXNuJ3QgbmVjZXNzYXJ5IGFueXdheSwKK3NpbmNlIHRoZSB5ZWFyLW9mLWNlbnR1cnkgZG9lcyBhIGdvb2Qgam9iIG9mIGltcGx5aW5nIHdoaWNoIGNlbnR1cnkgaXQKK2lzLgorLlBQCitJZiB5b3UgaGF2ZSBhIGJvbmEgZmlkZSB1c2UgZm9yIGEgQ01PUyBjZW50dXJ5IGJ5dGUsIGNvbnRhY3QgdGhlCisuQiBcJWh3Y2xvY2sKK21haW50YWluZXI7IGFuIG9wdGlvbiBtYXkgYmUgYXBwcm9wcmlhdGUuCisuUFAKK05vdGUgdGhhdCB0aGlzIHNlY3Rpb24gaXMgb25seSByZWxldmFudCB3aGVuIHlvdSBhcmUgdXNpbmcgdGhlICJkaXJlY3QKK0lTQSIgbWV0aG9kIG9mIGFjY2Vzc2luZyB0aGUgSGFyZHdhcmUgQ2xvY2suCitBQ1BJIHByb3ZpZGVzIGEgc3RhbmRhcmQgd2F5IHRvIGFjY2VzcyBjZW50dXJ5IHZhbHVlcywgd2hlbiB0aGV5CithcmUgc3VwcG9ydGVkIGJ5IHRoZSBoYXJkd2FyZS4KKy4KKy5TSCBEQVRFLVRJTUUgQ09ORklHVVJBVElPTgorLmluICs0CisuU1MgS2VlcGluZyBUaW1lIHdpdGhvdXQgRXh0ZXJuYWwgU3luY2hyb25pemF0aW9uCisuaW4KKy5QUAorVGhpcyBkaXNjdXNzaW9uIGlzIGJhc2VkIG9uIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKy5JUCBcKGJ1IDIKK05vdGhpbmcgaXMgcnVubmluZyB0aGF0IGFsdGVycyB0aGUgZGF0ZS10aW1lIGNsb2Nrcywgc3VjaCBhcworLkJSIFwlbnRwZCAiKDEpIG9yIGEgY3JvbiBqb2IuIgorLklQIFwoYnUgMgorVGhlIHN5c3RlbSB0aW1lem9uZSBpcyBjb25maWd1cmVkIGZvciB0aGUgY29ycmVjdCBsb2NhbCB0aW1lLiAgU2VlIGJlbG93LCB1bmRlcgorLkJSICJQT1NJWCB2cyAnUklHSFQnIiAuCisuSVAgXChidSAyCitFYXJseSBkdXJpbmcgc3RhcnR1cCB0aGUgZm9sbG93aW5nIGFyZSBjYWxsZWQsIGluIHRoaXMgb3JkZXI6CisuYnIKKy5CSSBcJWFkanRpbWV4XCBcLVwtdGljayBcIHZhbHVlXCAgXC1cLWZyZXF1ZW5jeSBcIHZhbHVlCisuYnIKKy5CIFwlaHdjbG9ja1wgXC1cLWhjdG9zeXMKKy5JUCBcKGJ1IDIKK0R1cmluZyBzaHV0ZG93biB0aGUgZm9sbG93aW5nIGlzIGNhbGxlZDoKKy5icgorLkIgXCVod2Nsb2NrXCBcLVwtc3lzdG9oYworLlBQCisuaW4gKzQKKy5CUiAqICIgU3lzdGVtcyB3aXRob3V0ICIgYWRqdGltZXggIiBtYXkgdXNlICIgbnRwdGltZSAuCisuaW4KKy5QUAorV2hldGhlciBtYWludGFpbmluZyBwcmVjaXNpb24gdGltZSB3aXRoCisuQlIgXCVudHBkICgxKQorb3Igbm90LCBpdCBtYWtlcyBzZW5zZSB0byBjb25maWd1cmUgdGhlIHN5c3RlbSB0byBrZWVwIHJlYXNvbmFibHkgZ29vZAorZGF0ZS10aW1lIG9uIGl0cyBvd24uCisuUFAKK1RoZSBmaXJzdCBzdGVwIGluIG1ha2luZyB0aGF0IGhhcHBlbiBpcyBoYXZpbmcgYSBjbGVhciB1bmRlcnN0YW5kaW5nIG9mCit0aGUgYmlnIHBpY3R1cmUuICBUaGVyZSBhcmUgdHdvIGNvbXBsZXRlbHkgc2VwYXJhdGUgaGFyZHdhcmUgZGV2aWNlcworcnVubmluZyBhdCB0aGVpciBvd24gc3BlZWQgYW5kIGRyaWZ0aW5nIGF3YXkgZnJvbSB0aGUgJ2NvcnJlY3QnIHRpbWUgYXQKK3RoZWlyIG93biByYXRlcy4gIFRoZSBtZXRob2RzIGFuZCBzb2Z0d2FyZSBmb3IgZHJpZnQgY29ycmVjdGlvbiBhcmUKK2RpZmZlcmVudCBmb3IgZWFjaCBvZiB0aGVtLiAgSG93ZXZlciwgbW9zdCBzeXN0ZW1zIGFyZSBjb25maWd1cmVkIHRvCitleGNoYW5nZSB2YWx1ZXMgYmV0d2VlbiB0aGVzZSB0d28gY2xvY2tzIGF0IHN0YXJ0dXAgYW5kIHNodXRkb3duLiAgTm93Cit0aGUgaW5kaXZpZHVhbCBkZXZpY2UncyB0aW1lIGtlZXBpbmcgZXJyb3JzIGFyZSB0cmFuc2ZlcnJlZCBiYWNrIGFuZAorZm9ydGggYmV0d2VlbiBlYWNoIG90aGVyLiAgQXR0ZW1wdCB0byBjb25maWd1cmUgZHJpZnQgY29ycmVjdGlvbiBmb3Igb25seQorb25lIG9mIHRoZW0sIGFuZCB0aGUgb3RoZXIncyBkcmlmdCB3aWxsIGJlIG92ZXJsYWlkIHVwb24gaXQuCisuUFAKK1RoaXMgcHJvYmxlbSBjYW4gYmUgYXZvaWRlZCB3aGVuIGNvbmZpZ3VyaW5nIGRyaWZ0IGNvcnJlY3Rpb24gZm9yIHRoZQorU3lzdGVtIENsb2NrIGJ5IHNpbXBseSBub3Qgc2h1dHRpbmcgZG93biB0aGUgbWFjaGluZS4gIFRoaXMsIHBsdXMgdGhlCitmYWN0IHRoYXQgYWxsIG9mCisuQlIgXCVod2Nsb2NrICdzCitwcmVjaXNpb24gKGluY2x1ZGluZyBjYWxjdWxhdGluZyBkcmlmdCBmYWN0b3JzKSBkZXBlbmRzIHVwb24gdGhlIFN5c3RlbQorQ2xvY2sncyByYXRlIGJlaW5nIGNvcnJlY3QsIG1lYW5zIHRoYXQgY29uZmlndXJhdGlvbiBvZiB0aGUgU3lzdGVtIENsb2NrCitzaG91bGQgYmUgZG9uZSBmaXJzdC4KKy5QUAorVGhlIFN5c3RlbSBDbG9jayBkcmlmdCBpcyBjb3JyZWN0ZWQgd2l0aCB0aGUKKy5CUiBcJWFkanRpbWV4ICIoOCkgY29tbWFuZCdzICIgXC1cLXRpY2sgIiBhbmQgIiBcJVwtXC1mcmVxdWVuY3kKK29wdGlvbnMuICBUaGVzZSB0d28gd29yayB0b2dldGhlcjogdGljayBpcyB0aGUgY29hcnNlIGFkanVzdG1lbnQgYW5kCitmcmVxdWVuY3kgaXMgdGhlIGZpbmUgYWRqdXN0bWVudC4gIChGb3Igc3lzdGVtcyB0aGF0IGRvIG5vdCBoYXZlIGFuCisuQlIgXCVhZGp0aW1leCAiIHBhY2thZ2UsIgorLkJJIFwlbnRwdGltZVwgXC1mXCAgcHBtCittYXkgYmUgdXNlZCBpbnN0ZWFkLikKKy5QUAorU29tZSBMaW51eCBkaXN0cmlidXRpb25zIGF0dGVtcHQgdG8gYXV0b21hdGljYWxseSBjYWxjdWxhdGUgdGhlIFN5c3RlbQorQ2xvY2sgZHJpZnQgd2l0aAorLkJSIFwlYWRqdGltZXggJ3MKK2NvbXBhcmUgb3BlcmF0aW9uLiAgVHJ5aW5nIHRvIGNvcnJlY3Qgb25lCitkcmlmdGluZyBjbG9jayBieSB1c2luZyBhbm90aGVyIGRyaWZ0aW5nIGNsb2NrIGFzIGEgcmVmZXJlbmNlIGlzIGFraW4gdG8KK2EgZG9nIHRyeWluZyB0byBjYXRjaCBpdHMgb3duIHRhaWwuICBTdWNjZXNzIG1heSBoYXBwZW4gZXZlbnR1YWxseSwgYnV0CitncmVhdCBlZmZvcnQgYW5kIGZydXN0cmF0aW9uIHdpbGwgbGlrZWx5IHByZWNlZGUgaXQuICBUaGlzIGF1dG9tYXRpb24gbWF5Cit5aWVsZCBhbiBpbXByb3ZlbWVudCBvdmVyIG5vIGNvbmZpZ3VyYXRpb24sIGJ1dCBleHBlY3Rpbmcgb3B0aW11bQorcmVzdWx0cyB3b3VsZCBiZSBpbiBlcnJvci4gIEEgYmV0dGVyIGNob2ljZSBmb3IgbWFudWFsIGNvbmZpZ3VyYXRpb24KK3dvdWxkIGJlCisuQlIgXCVhZGp0aW1leCAncyAiIFwtXC1sb2cgIiBvcHRpb25zLgorLlBQCitJdCBtYXkgYmUgbW9yZSBlZmZlY3RpdmUgdG8gc2ltcGx5IHRyYWNrIHRoZSBTeXN0ZW0gQ2xvY2sgZHJpZnQgd2l0aAorLkJSIFwlc250cCAiLCBvciAiIFwlZGF0ZVwgXC1JbnMKK2FuZCBhIHByZWNpc2lvbiB0aW1lcGllY2UsIGFuZCB0aGVuIGNhbGN1bGF0ZSB0aGUgY29ycmVjdGlvbiBtYW51YWxseS4KKy5QUAorQWZ0ZXIgc2V0dGluZyB0aGUgdGljayBhbmQgZnJlcXVlbmN5IHZhbHVlcywgY29udGludWUgdG8gdGVzdCBhbmQgcmVmaW5lIHRoZQorYWRqdXN0bWVudHMgdW50aWwgdGhlIFN5c3RlbSBDbG9jayBrZWVwcyBnb29kIHRpbWUuICBTZWUKKy5CUiBcJWFkanRpbWV4ICg4KQorZm9yIG1vcmUgaW5mb3JtYXRpb24gYW5kIHRoZSBleGFtcGxlIGRlbW9uc3RyYXRpbmcgbWFudWFsIGRyaWZ0CitjYWxjdWxhdGlvbnMuCisuUFAKK09uY2UgdGhlIFN5c3RlbSBDbG9jayBpcyB0aWNraW5nIHNtb290aGx5LCBtb3ZlIG9uIHRvIHRoZSBIYXJkd2FyZSBDbG9jay4KKy5QUAorQXMgYSBydWxlLCBjb2xkIGRyaWZ0IHdpbGwgd29yayBiZXN0IGZvciBtb3N0IHVzZSBjYXNlcy4gIFRoaXMgc2hvdWxkIGJlCit0cnVlIGV2ZW4gZm9yIDI0LzcgbWFjaGluZXMgd2hvc2Ugbm9ybWFsIGRvd250aW1lIGNvbnNpc3RzIG9mIGEgcmVib290LgorSW4gdGhhdCBjYXNlIHRoZSBkcmlmdCBmYWN0b3IgdmFsdWUgbWFrZXMgbGl0dGxlIGRpZmZlcmVuY2UuICBCdXQgb24gdGhlCityYXJlIG9jY2FzaW9uIHRoYXQgdGhlIG1hY2hpbmUgaXMgc2h1dCBkb3duIGZvciBhbiBleHRlbmRlZCBwZXJpb2QsIHRoZW4KK2NvbGQgZHJpZnQgc2hvdWxkIHlpZWxkIGJldHRlciByZXN1bHRzLgorLlBQCisuQiBTdGVwcyB0byBjYWxjdWxhdGUgY29sZCBkcmlmdDoKKy5JUCAxIDIKKy5SQiAiRW5zdXJlIHRoYXQgIiBudHBkICIoMSkgd2lsbCBub3QgYmUgbGF1bmNoZWQgYXQgc3RhcnR1cC4iCisuSVAgMiAyCisuUkkgVGhlICIgU3lzdGVtIENsb2NrICIgInRpbWUgbXVzdCBiZSBjb3JyZWN0IGF0IHNodXRkb3duISIKKy5JUCAzIDIKK1NodXQgZG93biB0aGUgc3lzdGVtLgorLklQIDQgMgorTGV0IGFuIGV4dGVuZGVkIHBlcmlvZCBwYXNzIHdpdGhvdXQgY2hhbmdpbmcgdGhlIEhhcmR3YXJlIENsb2NrLgorLklQIDUgMgorU3RhcnQgdGhlIHN5c3RlbS4KKy5JUCA2IDIKKy5SQiAiSW1tZWRpYXRlbHkgdXNlICIgaHdjbG9jayAiIHRvIHNldCB0aGUgY29ycmVjdCB0aW1lLCBhZGRpbmcgdGhlIgorLkJSIFwlXC1cLXVwZGF0ZVwtZHJpZnQgIiBvcHRpb24uIgorLlBQCitOb3RlOiBpZiBzdGVwIDYgdXNlcworLkJSIFwlXC1cLXN5c3RvaGMgLAordGhlbiB0aGUgU3lzdGVtIENsb2NrIG11c3QgYmUgc2V0IGNvcnJlY3RseSAoc3RlcCA2YSkganVzdCBiZWZvcmUgZG9pbmcgc28uCisuUFAKKy5SQiAiSGF2aW5nICIgaHdjbG9jaworY2FsY3VsYXRlIHRoZSBkcmlmdCBmYWN0b3IgaXMgYSBnb29kIHN0YXJ0aW5nIHBvaW50LCBidXQgZm9yIG9wdGltYWwKK3Jlc3VsdHMgaXQgd2lsbCBsaWtlbHkgbmVlZCB0byBiZSBhZGp1c3RlZCBieSBkaXJlY3RseSBlZGl0aW5nIHRoZQorLkkgQEFESlRJTUVfUEFUSEAKK2ZpbGUuICBDb250aW51ZSB0byB0ZXN0IGFuZCByZWZpbmUgdGhlIGRyaWZ0IGZhY3RvciB1bnRpbCB0aGUgSGFyZHdhcmUKK0Nsb2NrIGlzIGNvcnJlY3RlZCBwcm9wZXJseSBhdCBzdGFydHVwLiAgVG8gY2hlY2sgdGhpcywgZmlyc3QgbWFrZSBzdXJlCit0aGF0IHRoZSBTeXN0ZW0gVGltZSBpcyBjb3JyZWN0IGJlZm9yZSBzaHV0ZG93biBhbmQgdGhlbiB1c2UKKy5CUiBcJXNudHAgIiwgb3IgIiBcJWRhdGVcIFwtSW5zCithbmQgYSBwcmVjaXNpb24gdGltZXBpZWNlLCBpbW1lZGlhdGVseSBhZnRlciBzdGFydHVwLgorLlNTIExPQ0FMIHZzIFVUQworS2VlcGluZyB0aGUgSGFyZHdhcmUgQ2xvY2sgaW4gYSBsb2NhbCB0aW1lc2NhbGUgY2F1c2VzIGluY29uc2lzdGVudAorZGF5bGlnaHQgc2F2aW5nIHRpbWUgcmVzdWx0czoKKy5JUCBcKGJ1IDIKK0lmIExpbnV4IGlzIHJ1bm5pbmcgZHVyaW5nIGEgZGF5bGlnaHQgc2F2aW5nIHRpbWUgY2hhbmdlLCB0aGUgdGltZQord3JpdHRlbiB0byB0aGUgSGFyZHdhcmUgQ2xvY2sgd2lsbCBiZSBhZGp1c3RlZCBmb3IgdGhlIGNoYW5nZS4KKy5JUCBcKGJ1IDIKK0lmIExpbnV4IGlzIE5PVCBydW5uaW5nIGR1cmluZyBhIGRheWxpZ2h0IHNhdmluZyB0aW1lIGNoYW5nZSwgdGhlIHRpbWUKK3JlYWQgZnJvbSB0aGUgSGFyZHdhcmUgQ2xvY2sgd2lsbCBOT1QgYmUgYWRqdXN0ZWQgZm9yIHRoZSBjaGFuZ2UuCisuUFAKK1RoZSBIYXJkd2FyZSBDbG9jayBvbiBhbiBJU0EgY29tcGF0aWJsZSBzeXN0ZW0ga2VlcHMgb25seSBhIGRhdGUgYW5kIHRpbWUsCitpdCBoYXMgbm8gY29uY2VwdCBvZiB0aW1lem9uZSBub3IgZGF5bGlnaHQgc2F2aW5nLiBUaGVyZWZvcmUsIHdoZW4KKy5CIGh3Y2xvY2sKK2lzIHRvbGQgdGhhdCBpdCBpcyBpbiBsb2NhbCB0aW1lLCBpdCBhc3N1bWVzIGl0IGlzIGluIHRoZSAnY29ycmVjdCcKK2xvY2FsIHRpbWUgYW5kIG1ha2VzIG5vIGFkanVzdG1lbnRzIHRvIHRoZSB0aW1lIHJlYWQgZnJvbSBpdC4KKy5QUAorTGludXggaGFuZGxlcyBkYXlsaWdodCBzYXZpbmcgdGltZSBjaGFuZ2VzIHRyYW5zcGFyZW50bHkgb25seSB3aGVuIHRoZQorSGFyZHdhcmUgQ2xvY2sgaXMga2VwdCBpbiB0aGUgVVRDIHRpbWVzY2FsZS4gRG9pbmcgc28gaXMgbWFkZSBlYXN5IGZvcgorc3lzdGVtIGFkbWluaXN0cmF0b3JzIGFzCisuQiBcJWh3Y2xvY2sKK3VzZXMgbG9jYWwgdGltZSBmb3IgaXRzIG91dHB1dCBhbmQgYXMgdGhlIGFyZ3VtZW50IHRvIHRoZQorLkJSIFwlXC1cLWRhdGUgIiBvcHRpb24uIgorLlBQCitQT1NJWCBzeXN0ZW1zLCBsaWtlIExpbnV4LCBhcmUgZGVzaWduZWQgdG8gaGF2ZSB0aGUgU3lzdGVtIENsb2NrIG9wZXJhdGUKK2luIHRoZSBVVEMgdGltZXNjYWxlLiBUaGUgSGFyZHdhcmUgQ2xvY2sncyBwdXJwb3NlIGlzIHRvIGluaXRpYWxpemUgdGhlCitTeXN0ZW0gQ2xvY2ssIHNvIGFsc28ga2VlcGluZyBpdCBpbiBVVEMgbWFrZXMgc2Vuc2UuCisuUFAKK0xpbnV4IGRvZXMsIGhvd2V2ZXIsIGF0dGVtcHQgdG8gYWNjb21tb2RhdGUgdGhlIEhhcmR3YXJlIENsb2NrIGJlaW5nIGluCit0aGUgbG9jYWwgdGltZXNjYWxlLiBUaGlzIGlzIHByaW1hcmlseSBmb3IgZHVhbC1ib290aW5nIHdpdGggb2xkZXIKK3ZlcnNpb25zIG9mIE1TIFdpbmRvd3MuIEZyb20gV2luZG93cyA3IG9uLCB0aGUgUmVhbFRpbWVJc1VuaXZlcnNhbAorcmVnaXN0cnkga2V5IGlzIHN1cHBvc2VkIHRvIGJlIHdvcmtpbmcgcHJvcGVybHkgc28gdGhhdCBpdHMgSGFyZHdhcmUKK0Nsb2NrIGNhbiBiZSBrZXB0IGluIFVUQy4KKy4KKy5TUyBQT1NJWCB2cyAnUklHSFQnCitBIGRpc2N1c3Npb24gb24gZGF0ZS10aW1lIGNvbmZpZ3VyYXRpb24gd291bGQgYmUgaW5jb21wbGV0ZSB3aXRob3V0CithZGRyZXNzaW5nIHRpbWV6b25lcywgdGhpcyBpcyBtb3N0bHkgd2VsbCBjb3ZlcmVkIGJ5CisuQlIgdHpzZXQgKDMpLgorT25lIGFyZWEgdGhhdCBzZWVtcyB0byBoYXZlIG5vIGRvY3VtZW50YXRpb24gaXMgdGhlICdyaWdodCcKK2RpcmVjdG9yeSBvZiB0aGUgVGltZSBab25lIERhdGFiYXNlLCBzb21ldGltZXMgY2FsbGVkIHR6IG9yIHpvbmVpbmZvLgorLlBQCitUaGVyZSBhcmUgdHdvIHNlcGFyYXRlIGRhdGFiYXNlcyBpbiB0aGUgem9uZWluZm8gc3lzdGVtLCBwb3NpeAorYW5kICdyaWdodCcuICdSaWdodCcgKG5vdyBuYW1lZCB6b25laW5mb1wtbGVhcHMpIGluY2x1ZGVzIGxlYXAgc2Vjb25kcyBhbmQgcG9zaXgKK2RvZXMgbm90LiBUbyB1c2UgdGhlICdyaWdodCcgZGF0YWJhc2UgdGhlIFN5c3RlbSBDbG9jayBtdXN0IGJlIHNldCB0bworXCUoVVRDXCArXCBsZWFwIHNlY29uZHMpLCB3aGljaCBpcyBlcXVpdmFsZW50IHRvIFwlKFRBSVwgXC1cIDEwKS4gVGhpcworYWxsb3dzIGNhbGN1bGF0aW5nIHRoZQorZXhhY3QgbnVtYmVyIG9mIHNlY29uZHMgYmV0d2VlbiB0d28gZGF0ZXMgdGhhdCBjcm9zcyBhIGxlYXAgc2Vjb25kCitlcG9jaC4gVGhlIFN5c3RlbSBDbG9jayBpcyB0aGVuIGNvbnZlcnRlZCB0byB0aGUgY29ycmVjdCBjaXZpbCB0aW1lLAoraW5jbHVkaW5nIFVUQywgYnkgdXNpbmcgdGhlICdyaWdodCcgdGltZXpvbmUgZmlsZXMgd2hpY2ggc3VidHJhY3QgdGhlCitsZWFwIHNlY29uZHMuIE5vdGU6IHRoaXMgY29uZmlndXJhdGlvbiBpcyBjb25zaWRlcmVkIGV4cGVyaW1lbnRhbCBhbmQgaXMKK2tub3duIHRvIGhhdmUgaXNzdWVzLgorLlBQCitUbyBjb25maWd1cmUgYSBzeXN0ZW0gdG8gdXNlIGEgcGFydGljdWxhciBkYXRhYmFzZSBhbGwgb2YgdGhlIGZpbGVzCitsb2NhdGVkIGluIGl0cyBkaXJlY3RvcnkgbXVzdCBiZSBjb3BpZWQgdG8gdGhlIHJvb3Qgb2YKKy5JUiBcJS91c3Ivc2hhcmUvem9uZWluZm8gLgorRmlsZXMgYXJlIG5ldmVyIHVzZWQgZGlyZWN0bHkgZnJvbSB0aGUgcG9zaXggb3IgJ3JpZ2h0JyBzdWJkaXJlY3RvcmllcywgZS5nLiwKKy5SSSBcJVRaPScgcmlnaHQvRXVyb3BlL0R1YmxpbiAnLgorVGhpcyBoYWJpdCB3YXMgYmVjb21pbmcgc28gY29tbW9uIHRoYXQgdGhlIHVwc3RyZWFtIHpvbmVpbmZvIHByb2plY3QKK3Jlc3RydWN0dXJlZCB0aGUgc3lzdGVtJ3MgZmlsZSB0cmVlIGJ5IG1vdmluZyB0aGUgcG9zaXggYW5kICdyaWdodCcKK3N1YmRpcmVjdG9yaWVzIG91dCBvZiB0aGUgem9uZWluZm8gZGlyZWN0b3J5IGFuZCBpbnRvIHNpYmxpbmcgZGlyZWN0b3JpZXM6CisuUFAKKy5pbiArMgorLkkgL3Vzci9zaGFyZS96b25laW5mbworLmJyCisuSSAvdXNyL3NoYXJlL3pvbmVpbmZvXC1wb3NpeAorLmJyCisuSSAvdXNyL3NoYXJlL3pvbmVpbmZvXC1sZWFwcworLlBQCitVbmZvcnR1bmF0ZWx5LCBzb21lIExpbnV4IGRpc3RyaWJ1dGlvbnMgYXJlIGNoYW5naW5nIGl0IGJhY2sgdG8gdGhlIG9sZAordHJlZSBzdHJ1Y3R1cmUgaW4gdGhlaXIgcGFja2FnZXMuIFNvIHRoZSBwcm9ibGVtIG9mIHN5c3RlbQorYWRtaW5pc3RyYXRvcnMgcmVhY2hpbmcgaW50byB0aGUgJ3JpZ2h0JyBzdWJkaXJlY3RvcnkgcGVyc2lzdHMuIFRoaXMKK2NhdXNlcyB0aGUgc3lzdGVtIHRpbWV6b25lIHRvIGJlIGNvbmZpZ3VyZWQgdG8gaW5jbHVkZSBsZWFwIHNlY29uZHMKK3doaWxlIHRoZSB6b25laW5mbyBkYXRhYmFzZSBpcyBzdGlsbCBjb25maWd1cmVkIHRvIGV4Y2x1ZGUgdGhlbS4gVGhlbgord2hlbiBhbiBhcHBsaWNhdGlvbiBzdWNoIGFzIGEgV29ybGQgQ2xvY2sgbmVlZHMgdGhlIFNvdXRoX1BvbGUgdGltZXpvbmUKK2ZpbGU7IG9yIGFuIGVtYWlsIE1UQSwgb3IKKy5CIGh3Y2xvY2sKK25lZWRzIHRoZSBVVEMgdGltZXpvbmUgZmlsZTsgdGhleSBmZXRjaCBpdCBmcm9tIHRoZSByb290IG9mCisuSSBcJS91c3Ivc2hhcmUvem9uZWluZm8KKywgYmVjYXVzZSB0aGF0IGlzIHdoYXQgdGhleSBhcmUgc3VwcG9zZWQgdG8gZG8uIFRob3NlIGZpbGVzIGV4Y2x1ZGUgbGVhcAorc2Vjb25kcywgYnV0IHRoZSBTeXN0ZW0gQ2xvY2sgbm93IGluY2x1ZGVzIHRoZW0sIGNhdXNpbmcgYW4gaW5jb3JyZWN0Cit0aW1lIGNvbnZlcnNpb24uCisuUFAKK0F0dGVtcHRpbmcgdG8gbWl4IGFuZCBtYXRjaCBmaWxlcyBmcm9tIHRoZXNlIHNlcGFyYXRlIGRhdGFiYXNlcyB3aWxsIG5vdAord29yaywgYmVjYXVzZSB0aGV5IGVhY2ggcmVxdWlyZSB0aGUgU3lzdGVtIENsb2NrIHRvIHVzZSBhIGRpZmZlcmVudAordGltZXNjYWxlLiBUaGUgem9uZWluZm8gZGF0YWJhc2UgbXVzdCBiZSBjb25maWd1cmVkIHRvIHVzZSBlaXRoZXIgcG9zaXgKK29yICdyaWdodCcsIGFzIGRlc2NyaWJlZCBhYm92ZSwgb3IgYnkgYXNzaWduaW5nIGEgZGF0YWJhc2UgcGF0aCB0byB0aGUKKy5TQiBUWkRJUgorZW52aXJvbm1lbnQgdmFyaWFibGUuCisuU0ggRU5WSVJPTk1FTlQKKy5UUAorLkIgVFoKK0lmIHRoaXMgdmFyaWFibGUgaXMgc2V0IGl0cyB2YWx1ZSB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgdGhlIHN5c3RlbQorY29uZmlndXJlZCB0aW1lem9uZS4KKy5UUAorLkIgVFpESVIKK0lmIHRoaXMgdmFyaWFibGUgaXMgc2V0IGl0cyB2YWx1ZSB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgdGhlIHN5c3RlbQorY29uZmlndXJlZCB0aW1lem9uZSBkYXRhYmFzZSBkaXJlY3RvcnkgcGF0aC4KKy5TSCBGSUxFUworLlRQCisuSSBAQURKVElNRV9QQVRIQAorVGhlIGNvbmZpZ3VyYXRpb24gYW5kIHN0YXRlIGZpbGUgZm9yIGh3Y2xvY2suCisuVFAKKy5JIC9ldGMvbG9jYWx0aW1lCitUaGUgc3lzdGVtIHRpbWV6b25lIGZpbGUuCisuVFAKKy5JIC91c3Ivc2hhcmUvem9uZWluZm8vCitUaGUgc3lzdGVtIHRpbWV6b25lIGRhdGFiYXNlIGRpcmVjdG9yeS4KKy5QUAorRGV2aWNlIGZpbGVzCisuQiBod2Nsb2NrCittYXkgdHJ5IGZvciBIYXJkd2FyZSBDbG9jayBhY2Nlc3M6CisuYnIKKy5JIC9kZXYvcnRjCisuYnIKKy5JIC9kZXYvcnRjMAorLmJyCisuSSAvZGV2L21pc2MvcnRjCisuYnIKKy5JIC9kZXYvZWZpcnRjCisuYnIKKy5JIC9kZXYvbWlzYy9lZmlydGMKKy5icgorLkkgL2Rldi9wb3J0CisuYnIKKy5JIC9kZXYvdHR5MQorLlNIICJTRUUgQUxTTyIKKy5CUiBkYXRlICgxKSwKKy5CUiBhZGp0aW1leCAoOCksCisuQlIgZ2V0dGltZW9mZGF5ICgyKSwKKy5CUiBzZXR0aW1lb2ZkYXkgKDIpLAorLkJSIGNyb250YWIgKDEpLAorLkJSIHR6c2V0ICgzKQorLgorLlNIIEFVVEhPUlMKK1dyaXR0ZW4gYnkgQnJ5YW4gSGVuZGVyc29uLCBTZXB0ZW1iZXIgMTk5NiAoYnJ5YW5oQGdpcmFmZmUtZGF0YS5jb20pLAorYmFzZWQgb24gd29yayBkb25lIG9uIHRoZQorLkJSIFwlY2xvY2sgKDgpCitwcm9ncmFtIGJ5IENoYXJsZXMgSGVkcmljaywgUm9iIEhvb2Z0LCBhbmQgSGFyYWxkIEtvZW5pZy4KK1NlZSB0aGUgc291cmNlIGNvZGUgZm9yIGNvbXBsZXRlIGhpc3RvcnkgYW5kIGNyZWRpdHMuCisuCisuU0ggQVZBSUxBQklMSVRZCitUaGUgaHdjbG9jayBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2Z0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9od2Nsb2NrLmMgYi9zeXMtdXRpbHMvaHdjbG9jay5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzNmM5YzkKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvaHdjbG9jay5jCkBAIC0wLDAgKzEsMjA1NyBAQAorLyoKKyAqIGh3Y2xvY2suYworICoKKyAqIGNsb2NrLmMgd2FzIHdyaXR0ZW4gYnkgQ2hhcmxlcyBIZWRyaWNrLCBoZWRyaWNrQGNzLnJ1dGdlcnMuZWR1LCBBcHIgMTk5MgorICogTW9kaWZpZWQgZm9yIGNsb2NrIGFkanVzdG1lbnRzIC0gUm9iIEhvb2Z0IDxob29mdEBjaGVtLnJ1dS5ubD4sIE5vdiAxOTkyCisgKiBJbXByb3ZlbWVudHMgYnkgSGFyYWxkIEtvZW5pZyA8a29lbmlnQG5vdmEudGF0LnBoeXNpay51bmktdHVlYmluZ2VuLmRlPgorICogYW5kIEFsYW4gTW9kcmEgPGFsYW5Ac3ByaS5sZXZlbHMudW5pc2EuZWR1LmF1Pi4KKyAqCisgKiBNYWpvciByZXdyaXRlIGJ5IEJyeWFuIEhlbmRlcnNvbiA8YnJ5YW5oQGdpcmFmZmUtZGF0YS5jb20+LCA5Ni4wOS4xOS4KKyAqIFRoZSBuZXcgcHJvZ3JhbSBpcyBjYWxsZWQgaHdjbG9jay4gTmV3IGZlYXR1cmVzOgorICoKKyAqCS0gWW91IGNhbiBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIHdpdGhvdXQgYWxzbyBtb2RpZnlpbmcgdGhlIHN5c3RlbQorICoJICBjbG9jay4KKyAqCS0gWW91IGNhbiByZWFkIGFuZCBzZXQgdGhlIGNsb2NrIHdpdGggZmluZXIgdGhhbiAxIHNlY29uZCBwcmVjaXNpb24uCisgKgktIFdoZW4geW91IHNldCB0aGUgY2xvY2ssIGh3Y2xvY2sgYXV0b21hdGljYWxseSByZWZpZ3VyZXMgdGhlIGRyaWZ0CisgKgkgIHJhdGUsIGJhc2VkIG9uIGhvdyBmYXIgb2ZmIHRoZSBjbG9jayB3YXMgYmVmb3JlIHlvdSBzZXQgaXQuCisgKgorICogUmVzaHVmZmxlZCB0aGluZ3MsIGFkZGVkIHNwYXJjIGNvZGUsIGFuZCByZS1hZGRlZCBhbHBoYSBzdHVmZgorICogYnkgRGF2aWQgTW9zYmVyZ2VyIDxkYXZpZG1AYXpzdGFybmV0LmNvbT4KKyAqIGFuZCBKYXkgRXN0YWJyb29rIDxqZXN0YWJyb0BhbXQudGF5MS5kZWMuY29tPgorICogYW5kIE1hcnRpbiBPc3Rlcm1hbm4gPG9zdEBjb21lbnRzLnJ3dGgtYWFjaGVuLmRlPiwgYWViQGN3aS5ubCwgOTkwMjEyLgorICoKKyAqIEZpeCBmb3IgQXdhcmQgMjA5NCBidWcsIERhdmUgQ29mZmluIChkY29mZmluQHNob3JlLm5ldCkgMTEvMTIvOTgKKyAqIENoYW5nZSBvZiBsb2NhbCB0aW1lIGhhbmRsaW5nLCBTdGVmYW4gUmluZyA8ZTk3MjU0NDZAc3R1ZDMudHV3aWVuLmFjLmF0PgorICogQ2hhbmdlIG9mIGFkanRpbWUgaGFuZGxpbmcsIEphbWVzIFAuIFJ1dGxlZGdlIDxhbzExMkByZ2ZuLmVwY2MuZWR1Pi4KKyAqCisgKiBEaXN0cmlidXRlZCB1bmRlciBHUEwKKyAqLworLyoKKyAqIEV4cGxhbmF0aW9uIG9mIGBhZGp1c3RpbmcnIChSb2IgSG9vZnQpOgorICoKKyAqIFRoZSBwcm9ibGVtIHdpdGggbXkgbWFjaGluZSBpcyB0aGF0IGl0cyBDTU9TIGNsb2NrIGlzIDEwIHNlY29uZHMKKyAqIHBlciBkYXkgc2xvdy4gV2l0aCB0aGlzIHZlcnNpb24gb2YgY2xvY2suYywgYW5kIG15ICcvZXRjL3JjLmxvY2FsJworICogcmVhZGluZyAnL2V0Yy9jbG9jayAtYXUnIGluc3RlYWQgb2YgJy9ldGMvY2xvY2sgLXUgLXMnLCB0aGlzIGVycm9yCisgKiBpcyBhdXRvbWF0aWNhbGx5IGNvcnJlY3RlZCBhdCBldmVyeSBib290LgorICoKKyAqIFRvIGRvIHRoaXMgam9iLCB0aGUgcHJvZ3JhbSByZWFkcyBhbmQgd3JpdGVzIHRoZSBmaWxlICcvZXRjL2FkanRpbWUnCisgKiB0byBkZXRlcm1pbmUgdGhlIGNvcnJlY3Rpb24sIGFuZCB0byBzYXZlIGl0cyBkYXRhLiBJbiB0aGlzIGZpbGUgYXJlCisgKiB0aHJlZSBudW1iZXJzOgorICoKKyAqCTEpIHRoZSBjb3JyZWN0aW9uIGluIHNlY29uZHMgcGVyIGRheS4gKFNvIGlmIHlvdXIgY2xvY2sgcnVucyA1CisgKgkgICBzZWNvbmRzIHBlciBkYXkgZmFzdCwgdGhlIGZpcnN0IG51bWJlciBzaG91bGQgcmVhZCAtNS4wKQorICoJMikgdGhlIG51bWJlciBvZiBzZWNvbmRzIHNpbmNlIDEvMS8xOTcwIHRoZSBsYXN0IHRpbWUgdGhlIHByb2dyYW0KKyAqCSAgIHdhcyB1c2VkCisgKgkzKSB0aGUgcmVtYWluaW5nIHBhcnQgb2YgYSBzZWNvbmQgd2hpY2ggd2FzIGxlZnRvdmVyIGFmdGVyIHRoZSBsYXN0CisgKgkgICBhZGp1c3RtZW50CisgKgorICogSW5zdGFsbGF0aW9uIGFuZCB1c2Ugb2YgdGhpcyBwcm9ncmFtOgorICoKKyAqCWEpIGNyZWF0ZSBhIGZpbGUgJy9ldGMvYWRqdGltZScgY29udGFpbmluZyBhcyB0aGUgZmlyc3QgYW5kIG9ubHkKKyAqCSAgIGxpbmU6ICcwLjAgMCAwLjAnCisgKgliKSBydW4gJ2Nsb2NrIC1hdScgb3IgJ2Nsb2NrIC1hJywgZGVwZW5kaW5nIG9uIHdoZXRoZXIgeW91ciBjbW9zIGlzCisgKgkgICBpbiB1bml2ZXJzYWwgb3IgbG9jYWwgdGltZS4gVGhpcyB1cGRhdGVzIHRoZSBzZWNvbmQgbnVtYmVyLgorICoJYykgc2V0IHlvdXIgc3lzdGVtIHRpbWUgdXNpbmcgdGhlICdkYXRlJyBjb21tYW5kLgorICoJZCkgdXBkYXRlIHlvdXIgY21vcyB0aW1lIHVzaW5nICdjbG9jayAtd3UnIG9yICdjbG9jayAtdycKKyAqCWUpIHJlcGxhY2UgdGhlIGZpcnN0IG51bWJlciBpbiAvZXRjL2FkanRpbWUgYnkgeW91ciBjb3JyZWN0aW9uLgorICoJZikgcHV0IHRoZSBjb21tYW5kICdjbG9jayAtYXUnIG9yICdjbG9jayAtYScgaW4geW91ciAnL2V0Yy9yYy5sb2NhbCcKKyAqLworCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxtYXRoLmg+CisjaW5jbHVkZSA8c3RkYXJnLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXNleGl0cy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNpbmNsdWRlIDx0aW1lLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNkZWZpbmUgT1BUVVRJTFNfRVhJVF9DT0RFIEVYX1VTQUdFCisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJvcHR1dGlscy5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAiaHdjbG9jay5oIgorI2luY2x1ZGUgInRpbWV1dGlscy5oIgorI2luY2x1ZGUgImVudi5oIgorCisjaWZkZWYgSEFWRV9MSUJBVURJVAorI2luY2x1ZGUgPGxpYmF1ZGl0Lmg+CitzdGF0aWMgaW50IGh3YXVkaXRfZmQgPSAtMTsKK3N0YXRpYyBpbnQgaHdhdWRpdF9vbjsKKyNlbmRpZgorCisvKiBUaGUgc3RydWN0IHRoYXQgaG9sZHMgb3VyIGhhcmR3YXJlIGFjY2VzcyByb3V0aW5lcyAqLworc3RydWN0IGNsb2NrX29wcyAqdXI7CisKKyNkZWZpbmUgRkxPT1IoYXJnKSAoKGFyZyA+PSAwID8gKGludCkgYXJnIDogKChpbnQpIGFyZykgLSAxKSk7CisKKy8qIE1heGltYWwgY2xvY2sgYWRqdXN0bWVudCBpbiBzZWNvbmRzIHBlciBkYXkuCisgICAoYWRqdGltZSgpIGdsaWJjIGNhbGwgaGFzIDIxNDUgc2Vjb25kcyBsaW1pdCBvbiBpMzg2LCBzbyBpdCBpcyBnb29kIGVub3VnaCBmb3IgdXMgYXMgd2VsbCwKKyAgIDQzMjE5IGlzIGEgbWF4aW1hbCBzYWZlIHZhbHVlIHByZXZlbnRpbmcgZXhhY3RfYWRqdXN0bWVudCBvdmVyZmxvdy4pICovCisjZGVmaW5lIE1BWF9EUklGVCAyMTQ1LjAKKworY29uc3QgY2hhciAqYWRqX2ZpbGVfbmFtZSA9IE5VTEw7CisKK3N0cnVjdCBhZGp0aW1lIHsKKwkvKgorCSAqIFRoaXMgaXMgaW5mb3JtYXRpb24gd2Uga2VlcCBpbiB0aGUgYWRqdGltZSBmaWxlIHRoYXQgdGVsbHMgdXMgaG93CisJICogdG8gZG8gZHJpZnQgY29ycmVjdGlvbnMuIEVsZW1lbnRzIGFyZSBhbGwgc3RyYWlnaHQgZnJvbSB0aGUKKwkgKiBhZGp0aW1lIGZpbGUsIHNvIHNlZSBkb2N1bWVudGF0aW9uIG9mIHRoYXQgZmlsZSBmb3IgZGV0YWlscy4KKwkgKiBFeGNlcHRpb24gaXMgPGRpcnR5Piwgd2hpY2ggaXMgYW4gaW5kaWNhdGlvbiB0aGF0IHdoYXQncyBpbiB0aGlzCisJICogc3RydWN0dXJlIGlzIG5vdCB3aGF0J3MgaW4gdGhlIGRpc2sgZmlsZSAoYmVjYXVzZSBpdCBoYXMgYmVlbgorCSAqIHVwZGF0ZWQgc2luY2UgcmVhZCBmcm9tIHRoZSBkaXNrIGZpbGUpLgorCSAqLworCWJvb2wgZGlydHk7CisJLyogbGluZSAxICovCisJZG91YmxlIGRyaWZ0X2ZhY3RvcjsKKwl0aW1lX3QgbGFzdF9hZGpfdGltZTsKKwlkb3VibGUgbm90X2FkanVzdGVkOworCS8qIGxpbmUgMiAqLworCXRpbWVfdCBsYXN0X2NhbGliX3RpbWU7CisJLyoKKwkgKiBUaGUgbW9zdCByZWNlbnQgdGltZSB0aGF0IHdlIHNldCB0aGUgY2xvY2sgZnJvbSBhbiBleHRlcm5hbAorCSAqIGF1dGhvcml0eSAoYXMgb3Bwb3NlZCB0byBqdXN0IGRvaW5nIGEgZHJpZnQgYWRqdXN0bWVudCkKKwkgKi8KKwkvKiBsaW5lIDMgKi8KKwllbnVtIGFfbG9jYWxfdXRjIHsgTE9DQUwsIFVUQywgVU5LTk9XTiB9IGxvY2FsX3V0YzsKKwkvKgorCSAqIFRvIHdoaWNoIHRpbWUgem9uZSwgbG9jYWwgb3IgVVRDLCB3ZSBtb3N0IHJlY2VudGx5IHNldCB0aGUKKwkgKiBoYXJkd2FyZSBjbG9jay4KKwkgKi8KK307CisKKy8qCisgKiBXZSBhcmUgcnVubmluZyBpbiBkZWJ1ZyBtb2RlLCB3aGVyZWluIHdlIHB1dCBhIGxvdCBvZiBpbmZvcm1hdGlvbiBhYm91dAorICogd2hhdCB3ZSdyZSBkb2luZyB0byBzdGFuZGFyZCBvdXRwdXQuCisgKi8KK2ludCBkZWJ1ZzsKKworLyogV29ya2Fyb3VuZCBmb3IgQXdhcmQgNC41MGcgQklPUyBidWc6IGtlZXAgdGhlIHllYXIgaW4gYSBmaWxlLiAqLworYm9vbCBiYWR5ZWFyOworCisvKiBVc2VyLXNwZWNpZmllZCBlcG9jaCwgdXNlZCB3aGVuIHJ0YyBmYWlscyB0byByZXR1cm4gZXBvY2guICovCit1bnNpZ25lZCBsb25nIGVwb2NoX29wdGlvbiA9IFVMT05HX01BWDsKKworLyoKKyAqIEFsbW9zdCBhbGwgQXdhcmQgQklPUydzIG1hZGUgYmV0d2VlbiAwNC8yNi85NCBhbmQgMDUvMzEvOTUgaGF2ZSBhIG5hc3R5CisgKiBidWcgbGltaXRpbmcgdGhlIFJUQyB5ZWFyIGJ5dGUgdG8gdGhlIHJhbmdlIDk0LTk5LiBBbnkgeWVhciBiZXR3ZWVuIDIwMDAKKyAqIGFuZCAyMDkzIGdldHMgY2hhbmdlZCB0byAyMDk0LCBldmVyeSB0aW1lIHlvdSBzdGFydCB0aGUgc3lzdGVtLgorICoKKyAqIFdpdGggdGhlIC0tYmFkeWVhciBvcHRpb24sIHdlIHdyaXRlIHRoZSBkYXRlIHRvIGZpbGUgYW5kIGhvcGUgdGhhdCB0aGUKKyAqIGZpbGUgaXMgdXBkYXRlZCBhdCBsZWFzdCBvbmNlIGEgeWVhci4gSSByZWNvbW1lbmQgcHV0dGluZyB0aGlzIGNvbW1hbmQKKyAqICJod2Nsb2NrIC0tYmFkeWVhciIgaW4gdGhlIG1vbnRobHkgY3JvbnRhYiwganVzdCB0byBiZSBzYWZlLgorICoKKyAqIC0tIERhdmUgQ29mZmluIDExLzEyLzk4CisgKi8KK3N0YXRpYyB2b2lkIHdyaXRlX2RhdGVfdG9fZmlsZShzdHJ1Y3QgdG0gKnRtKQoreworCUZJTEUgKmZwOworCisJaWYgKChmcCA9IGZvcGVuKF9QQVRIX0xBU1REQVRFLCAidyIpKSkgeworCQlmcHJpbnRmKGZwLCAiJTAyZC4lMDJkLiUwNGRcbiIsIHRtLT50bV9tZGF5LCB0bS0+dG1fbW9uICsgMSwKKwkJCXRtLT50bV95ZWFyICsgMTkwMCk7CisJCWlmIChjbG9zZV9zdHJlYW0oZnApICE9IDApCisJCQl3YXJuKF8oImNhbm5vdCB3cml0ZSAlcyIpLCBfUEFUSF9MQVNUREFURSk7CisJfSBlbHNlCisJCXdhcm4oXygiY2Fubm90IHdyaXRlICVzIiksIF9QQVRIX0xBU1REQVRFKTsKK30KKworc3RhdGljIHZvaWQgcmVhZF9kYXRlX2Zyb21fZmlsZShzdHJ1Y3QgdG0gKnRtKQoreworCWludCBsYXN0X21kYXksIGxhc3RfbW9uLCBsYXN0X3llYXI7CisJRklMRSAqZnA7CisKKwlpZiAoKGZwID0gZm9wZW4oX1BBVEhfTEFTVERBVEUsICJyIikpKSB7CisJCWlmIChmc2NhbmYoZnAsICIlZC4lZC4lZFxuIiwgJmxhc3RfbWRheSwgJmxhc3RfbW9uLCAmbGFzdF95ZWFyKQorCQkgICAgPT0gMykgeworCQkJdG0tPnRtX3llYXIgPSBsYXN0X3llYXIgLSAxOTAwOworCQkJaWYgKCh0bS0+dG1fbW9uIDw8IDUpICsgdG0tPnRtX21kYXkgPAorCQkJICAgICgobGFzdF9tb24gLSAxKSA8PCA1KSArIGxhc3RfbWRheSkKKwkJCQl0bS0+dG1feWVhcisrOworCQl9CisJCWZjbG9zZShmcCk7CisJfQorCXdyaXRlX2RhdGVfdG9fZmlsZSh0bSk7Cit9CisKKy8qCisgKiB0aW1lX3QgdG8gdGltZXZhbCBjb252ZXJzaW9uLgorICovCitzdGF0aWMgc3RydWN0IHRpbWV2YWwgdDJ0dih0aW1lX3QgdGltZXQpCit7CisJc3RydWN0IHRpbWV2YWwgcmV0dGltZXZhbDsKKworCXJldHRpbWV2YWwudHZfc2VjID0gdGltZXQ7CisJcmV0dGltZXZhbC50dl91c2VjID0gMDsKKwlyZXR1cm4gcmV0dGltZXZhbDsKK30KKworLyoKKyAqIFRoZSBkaWZmZXJlbmNlIGluIHNlY29uZHMgYmV0d2VlbiB0d28gdGltZXMgaW4gInRpbWV2YWwiIGZvcm1hdC4KKyAqLworZG91YmxlIHRpbWVfZGlmZihzdHJ1Y3QgdGltZXZhbCBzdWJ0cmFoZW5kLCBzdHJ1Y3QgdGltZXZhbCBzdWJ0cmFjdG9yKQoreworCXJldHVybiAoc3VidHJhaGVuZC50dl9zZWMgLSBzdWJ0cmFjdG9yLnR2X3NlYykKKwkgICAgKyAoc3VidHJhaGVuZC50dl91c2VjIC0gc3VidHJhY3Rvci50dl91c2VjKSAvIDFFNjsKK30KKworLyoKKyAqIFRoZSB0aW1lLCBpbiAidGltZXZhbCIgZm9ybWF0LCB3aGljaCBpcyA8aW5jcmVtZW50PiBzZWNvbmRzIGFmdGVyIHRoZQorICogdGltZSA8YWRkZW5kPi4gT2YgY291cnNlLCA8aW5jcmVtZW50PiBtYXkgYmUgbmVnYXRpdmUuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgdGltZXZhbCB0aW1lX2luYyhzdHJ1Y3QgdGltZXZhbCBhZGRlbmQsIGRvdWJsZSBpbmNyZW1lbnQpCit7CisJc3RydWN0IHRpbWV2YWwgbmV3dGltZTsKKworCW5ld3RpbWUudHZfc2VjID0gYWRkZW5kLnR2X3NlYyArIChpbnQpaW5jcmVtZW50OworCW5ld3RpbWUudHZfdXNlYyA9IGFkZGVuZC50dl91c2VjICsgKGluY3JlbWVudCAtIChpbnQpaW5jcmVtZW50KSAqIDFFNjsKKworCS8qCisJICogTm93IGFkanVzdCBpdCBzbyB0aGF0IHRoZSBtaWNyb3NlY29uZCB2YWx1ZSBpcyBiZXR3ZWVuIDAgYW5kIDEKKwkgKiBtaWxsaW9uLgorCSAqLworCWlmIChuZXd0aW1lLnR2X3VzZWMgPCAwKSB7CisJCW5ld3RpbWUudHZfdXNlYyArPSAxRTY7CisJCW5ld3RpbWUudHZfc2VjIC09IDE7CisJfSBlbHNlIGlmIChuZXd0aW1lLnR2X3VzZWMgPj0gMUU2KSB7CisJCW5ld3RpbWUudHZfdXNlYyAtPSAxRTY7CisJCW5ld3RpbWUudHZfc2VjICs9IDE7CisJfQorCXJldHVybiBuZXd0aW1lOworfQorCitzdGF0aWMgYm9vbAoraHdfY2xvY2tfaXNfdXRjKGNvbnN0IGJvb2wgdXRjLCBjb25zdCBib29sIGxvY2FsX29wdCwKKwkJY29uc3Qgc3RydWN0IGFkanRpbWUgYWRqdGltZSkKK3sKKwlib29sIHJldDsKKworCWlmICh1dGMpCisJCXJldCA9IFRSVUU7CS8qIC0tdXRjIGV4cGxpY2l0bHkgZ2l2ZW4gb24gY29tbWFuZCBsaW5lICovCisJZWxzZSBpZiAobG9jYWxfb3B0KQorCQlyZXQgPSBGQUxTRTsJLyogLS1sb2NhbHRpbWUgZXhwbGljaXRseSBnaXZlbiAqLworCWVsc2UKKwkJLyogZ2V0IGluZm8gZnJvbSBhZGp0aW1lIGZpbGUgLSBkZWZhdWx0IGlzIFVUQyAqLworCQlyZXQgPSAoYWRqdGltZS5sb2NhbF91dGMgIT0gTE9DQUwpOworCWlmIChkZWJ1ZykKKwkJcHJpbnRmKF8oIkFzc3VtaW5nIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gJXMgdGltZS5cbiIpLAorCQkgICAgICAgcmV0ID8gXygiVVRDIikgOiBfKCJsb2NhbCIpKTsKKwlyZXR1cm4gcmV0OworfQorCisvKgorICogUmVhZCB0aGUgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIG91dCBvZiB0aGUgL2V0Yy9hZGp0aW1lIGZpbGUuCisgKgorICogUmV0dXJuIHRoZW0gYXMgdGhlIGFkanRpbWUgc3RydWN0dXJlIDwqYWRqdGltZV9wPi4gSWYgdGhlcmUgaXMgbm8KKyAqIC9ldGMvYWRqdGltZSBmaWxlLCByZXR1cm4gZGVmYXVsdHMuIElmIHZhbHVlcyBhcmUgbWlzc2luZyBmcm9tIHRoZSBmaWxlLAorICogcmV0dXJuIGRlZmF1bHRzIGZvciB0aGVtLgorICoKKyAqIHJldHVybiB2YWx1ZSAwIGlmIGFsbCBPSywgIT0wIG90aGVyd2lzZS4KKyAqLworc3RhdGljIGludCByZWFkX2FkanRpbWUoc3RydWN0IGFkanRpbWUgKmFkanRpbWVfcCkKK3sKKwlGSUxFICphZGpmaWxlOworCWNoYXIgbGluZTFbODFdOwkJLyogU3RyaW5nOiBmaXJzdCBsaW5lIG9mIGFkanRpbWUgZmlsZSAqLworCWNoYXIgbGluZTJbODFdOwkJLyogU3RyaW5nOiBzZWNvbmQgbGluZSBvZiBhZGp0aW1lIGZpbGUgKi8KKwljaGFyIGxpbmUzWzgxXTsJCS8qIFN0cmluZzogdGhpcmQgbGluZSBvZiBhZGp0aW1lIGZpbGUgKi8KKwlsb25nIHRpbWV2YWw7CisKKwlpZiAoYWNjZXNzKGFkal9maWxlX25hbWUsIFJfT0spICE9IDApIHsKKwkJLyogSGUgZG9lc24ndCBoYXZlIGEgYWRqdGltZSBmaWxlLCBzbyB3ZSdsbCB1c2UgZGVmYXVsdHMuICovCisJCWFkanRpbWVfcC0+ZHJpZnRfZmFjdG9yID0gMDsKKwkJYWRqdGltZV9wLT5sYXN0X2Fkal90aW1lID0gMDsKKwkJYWRqdGltZV9wLT5ub3RfYWRqdXN0ZWQgPSAwOworCQlhZGp0aW1lX3AtPmxhc3RfY2FsaWJfdGltZSA9IDA7CisJCWFkanRpbWVfcC0+bG9jYWxfdXRjID0gVVRDOworCQlhZGp0aW1lX3AtPmRpcnR5ID0gRkFMU0U7CS8qIGRvbid0IGNyZWF0ZSBhIHplcm8gYWRqZmlsZSAqLworCisJCXJldHVybiAwOworCX0KKworCWFkamZpbGUgPSBmb3BlbihhZGpfZmlsZV9uYW1lLCAiciIpOwkvKiBvcGVuIGZpbGUgZm9yIHJlYWRpbmcgKi8KKwlpZiAoYWRqZmlsZSA9PSBOVUxMKSB7CisJCXdhcm4oXygiY2Fubm90IG9wZW4gJXMiKSwgYWRqX2ZpbGVfbmFtZSk7CisJCXJldHVybiBFWF9PU0ZJTEU7CisJfQorCisKKwlpZiAoIWZnZXRzKGxpbmUxLCBzaXplb2YobGluZTEpLCBhZGpmaWxlKSkKKwkJbGluZTFbMF0gPSAnXDAnOwkvKiBJbiBjYXNlIGZnZXRzIGZhaWxzICovCisJaWYgKCFmZ2V0cyhsaW5lMiwgc2l6ZW9mKGxpbmUyKSwgYWRqZmlsZSkpCisJCWxpbmUyWzBdID0gJ1wwJzsJLyogSW4gY2FzZSBmZ2V0cyBmYWlscyAqLworCWlmICghZmdldHMobGluZTMsIHNpemVvZihsaW5lMyksIGFkamZpbGUpKQorCQlsaW5lM1swXSA9ICdcMCc7CS8qIEluIGNhc2UgZmdldHMgZmFpbHMgKi8KKworCWZjbG9zZShhZGpmaWxlKTsKKworCS8qIFNldCBkZWZhdWx0cyBpbiBjYXNlIHZhbHVlcyBhcmUgbWlzc2luZyBmcm9tIGZpbGUgKi8KKwlhZGp0aW1lX3AtPmRyaWZ0X2ZhY3RvciA9IDA7CisJYWRqdGltZV9wLT5sYXN0X2Fkal90aW1lID0gMDsKKwlhZGp0aW1lX3AtPm5vdF9hZGp1c3RlZCA9IDA7CisJYWRqdGltZV9wLT5sYXN0X2NhbGliX3RpbWUgPSAwOworCXRpbWV2YWwgPSAwOworCisJc3NjYW5mKGxpbmUxLCAiJWxmICVsZCAlbGYiLAorCSAgICAgICAmYWRqdGltZV9wLT5kcmlmdF9mYWN0b3IsCisJICAgICAgICZ0aW1ldmFsLCAmYWRqdGltZV9wLT5ub3RfYWRqdXN0ZWQpOworCWFkanRpbWVfcC0+bGFzdF9hZGpfdGltZSA9IHRpbWV2YWw7CisKKwlzc2NhbmYobGluZTIsICIlbGQiLCAmdGltZXZhbCk7CisJYWRqdGltZV9wLT5sYXN0X2NhbGliX3RpbWUgPSB0aW1ldmFsOworCisJaWYgKCFzdHJjbXAobGluZTMsICJVVENcbiIpKSB7CisJCWFkanRpbWVfcC0+bG9jYWxfdXRjID0gVVRDOworCX0gZWxzZSBpZiAoIXN0cmNtcChsaW5lMywgIkxPQ0FMXG4iKSkgeworCQlhZGp0aW1lX3AtPmxvY2FsX3V0YyA9IExPQ0FMOworCX0gZWxzZSB7CisJCWFkanRpbWVfcC0+bG9jYWxfdXRjID0gVU5LTk9XTjsKKwkJaWYgKGxpbmUzWzBdKSB7CisJCQl3YXJueChfKCJXYXJuaW5nOiB1bnJlY29nbml6ZWQgdGhpcmQgbGluZSBpbiBhZGp0aW1lIGZpbGVcbiIKKwkJCQkiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKSIpKTsKKwkJfQorCX0KKworCWFkanRpbWVfcC0+ZGlydHkgPSBGQUxTRTsKKworCWlmIChkZWJ1ZykgeworCQlwcmludGYoXworCQkgICAgICAgKCJMYXN0IGRyaWZ0IGFkanVzdG1lbnQgZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iKSwKKwkJICAgICAgIChsb25nKWFkanRpbWVfcC0+bGFzdF9hZGpfdGltZSk7CisJCXByaW50ZihfKCJMYXN0IGNhbGlicmF0aW9uIGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIiksCisJCSAgICAgICAobG9uZylhZGp0aW1lX3AtPmxhc3RfY2FsaWJfdGltZSk7CisJCXByaW50ZihfKCJIYXJkd2FyZSBjbG9jayBpcyBvbiAlcyB0aW1lXG4iKSwKKwkJICAgICAgIChhZGp0aW1lX3AtPmxvY2FsX3V0YyA9PQorCQkJTE9DQUwpID8gXygibG9jYWwiKSA6IChhZGp0aW1lX3AtPmxvY2FsX3V0YyA9PQorCQkJCQkgICAgICAgVVRDKSA/IF8oIlVUQyIpIDogXygidW5rbm93biIpKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFdhaXQgdW50aWwgdGhlIGZhbGxpbmcgZWRnZSBvZiB0aGUgSGFyZHdhcmUgQ2xvY2sncyB1cGRhdGUgZmxhZyBzbyB0aGF0CisgKiBhbnkgdGltZSB0aGF0IGlzIHJlYWQgZnJvbSB0aGUgY2xvY2sgaW1tZWRpYXRlbHkgYWZ0ZXIgd2UgcmV0dXJuIHdpbGwgYmUKKyAqIGV4YWN0LgorICoKKyAqIFRoZSBjbG9jayBvbmx5IGhhcyAxIHNlY29uZCBwcmVjaXNpb24sIHNvIGl0IGdpdmVzIHRoZSBleGFjdCB0aW1lIG9ubHkKKyAqIG9uY2UgcGVyIHNlY29uZCwgcmlnaHQgb24gdGhlIGZhbGxpbmcgZWRnZSBvZiB0aGUgdXBkYXRlIGZsYWcuCisgKgorICogV2Ugd2FpdCAodXAgdG8gb25lIHNlY29uZCkgZWl0aGVyIGJsb2NrZWQgd2FpdGluZyBmb3IgYW4gcnRjIGRldmljZSBvciBpbgorICogYSBDUFUgc3BpbiBsb29wLiBUaGUgZm9ybWVyIGlzIHByb2JhYmx5IG5vdCB2ZXJ5IGFjY3VyYXRlLgorICoKKyAqIFJldHVybiAwIGlmIGl0IHdvcmtlZCwgbm9uemVybyBpZiBpdCBkaWRuJ3QuCisgKi8KK3N0YXRpYyBpbnQgc3luY2hyb25pemVfdG9fY2xvY2tfdGljayh2b2lkKQoreworCWludCByYzsKKworCWlmIChkZWJ1ZykKKwkJcHJpbnRmKF8oIldhaXRpbmcgZm9yIGNsb2NrIHRpY2suLi5cbiIpKTsKKworCXJjID0gdXItPnN5bmNocm9uaXplX3RvX2Nsb2NrX3RpY2soKTsKKworCWlmIChkZWJ1ZykgeworCQlpZiAocmMpCisJCQlwcmludGYoXygiLi4uc3luY2hyb25pemF0aW9uIGZhaWxlZFxuIikpOworCQllbHNlCisJCQlwcmludGYoXygiLi4uZ290IGNsb2NrIHRpY2tcbiIpKTsKKwl9CisKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBDb252ZXJ0IGEgdGltZSBpbiBicm9rZW4gZG93biBmb3JtYXQgKGhvdXJzLCBtaW51dGVzLCBldGMuKSBpbnRvIHN0YW5kYXJkCisgKiB1bml4IHRpbWUgKHNlY29uZHMgaW50byBlcG9jaCkuIFJldHVybiBpdCBhcyAqc3lzdGltZV9wLgorICoKKyAqIFRoZSBicm9rZW4gZG93biB0aW1lIGlzIGFyZ3VtZW50IDx0bT4uIFRoaXMgYnJva2VuIGRvd24gdGltZSBpcyBlaXRoZXIKKyAqIGluIGxvY2FsIHRpbWUgem9uZSBvciBVVEMsIGRlcGVuZGluZyBvbiB2YWx1ZSBvZiBsb2dpY2FsIGFyZ3VtZW50CisgKiAidW5pdmVyc2FsIi4gVHJ1ZSBtZWFucyBpdCBpcyBpbiBVVEMuCisgKgorICogSWYgdGhlIGFyZ3VtZW50IGNvbnRhaW5zIHZhbHVlcyB0aGF0IGRvIG5vdCBjb25zdGl0dXRlIGEgdmFsaWQgdGltZSwgYW5kCisgKiBta3RpbWUoKSByZWNvZ25pemVzIHRoaXMsIHJldHVybiAqdmFsaWRfcCA9PSBmYWxzZSBhbmQgKnN5c3RpbWVfcAorICogdW5kZWZpbmVkLiBIb3dldmVyLCBta3RpbWUoKSBzb21ldGltZXMgZ29lcyBhaGVhZCBhbmQgY29tcHV0ZXMgYQorICogZmljdGlvbmFsIHRpbWUgImFzIGlmIiB0aGUgaW5wdXQgdmFsdWVzIHdlcmUgdmFsaWQsIGUuZy4gaWYgdGhleSBpbmRpY2F0ZQorICogdGhlIDMxc3QgZGF5IG9mIEFwcmlsLCBta3RpbWUoKSBtYXkgY29tcHV0ZSB0aGUgdGltZSBvZiBNYXkgMS4gSW4gc3VjaCBhCisgKiBjYXNlLCB3ZSByZXR1cm4gdGhlIHNhbWUgZmljdGlvbmFsIHZhbHVlIG1rdGltZSgpIGRvZXMgYXMgKnN5c3RpbWVfcCBhbmQKKyAqIHJldHVybiAqdmFsaWRfcCA9PSB0cnVlLgorICovCitzdGF0aWMgdm9pZAorbWt0aW1lX3R6KHN0cnVjdCB0bSB0bSwgY29uc3QgYm9vbCB1bml2ZXJzYWwsCisJICBib29sICogdmFsaWRfcCwgdGltZV90ICogc3lzdGltZV9wKQoreworCXRpbWVfdCBta3RpbWVfcmVzdWx0OwkvKiBUaGUgdmFsdWUgcmV0dXJuZWQgYnkgb3VyIG1rdGltZSgpIGNhbGwgKi8KKwljaGFyICp6b25lOwkJLyogTG9jYWwgdGltZSB6b25lIG5hbWUgKi8KKworCS8qCisJICogV2UgdXNlIHRoZSBDIGxpYnJhcnkgZnVuY3Rpb24gbWt0aW1lKCksIGJ1dCBzaW5jZSBpdCBvbmx5IHdvcmtzCisJICogb24gbG9jYWwgdGltZSB6b25lIGlucHV0LCB3ZSBtYXkgaGF2ZSB0byBmYWtlIGl0IG91dCBieQorCSAqIHRlbXBvcmFyaWx5IGNoYW5naW5nIHRoZSBsb2NhbCB0aW1lIHpvbmUgdG8gVVRDLgorCSAqLworCXpvbmUgPSBnZXRlbnYoIlRaIik7CS8qIHJlbWVtYmVyIG9yaWdpbmFsIHRpbWUgem9uZSAqLworCWlmICh1bml2ZXJzYWwpIHsKKwkJLyogU2V0IHRpbWV6b25lIHRvIFVUQyAqLworCQl4c2V0ZW52KCJUWiIsICIiLCBUUlVFKTsKKwkJLyoKKwkJICogTm90ZTogdHpzZXQoKSBnZXRzIGNhbGxlZCBpbXBsaWNpdGx5IGJ5IHRoZSB0aW1lIGNvZGUsCisJCSAqIGJ1dCBvbmx5IHRoZSBmaXJzdCB0aW1lLiBXaGVuIGNoYW5naW5nIHRoZSBlbnZpcm9ubWVudAorCQkgKiB2YXJpYWJsZSwgYmV0dGVyIGNhbGwgdHpzZXQoKSBleHBsaWNpdGx5LgorCQkgKi8KKwkJdHpzZXQoKTsKKwl9CisJbWt0aW1lX3Jlc3VsdCA9IG1rdGltZSgmdG0pOworCWlmIChta3RpbWVfcmVzdWx0ID09IC0xKSB7CisJCS8qCisJCSAqIFRoaXMgYXBwYXJlbnRseSAobm90IHNwZWNpZmllZCBpbiBta3RpbWUoKSBkb2N1bWVudGF0aW9uKQorCQkgKiBtZWFucyB0aGUgJ3RtJyBzdHJ1Y3R1cmUgZG9lcyBub3QgY29udGFpbiB2YWxpZCB2YWx1ZXMKKwkJICogKGhvd2V2ZXIsIG5vdCBjb250YWluaW5nIHZhbGlkIHZhbHVlcyBkb2VzIF9ub3RfIGltcGx5CisJCSAqIG1rdGltZSgpIHJldHVybnMgLTEpLgorCQkgKi8KKwkJKnZhbGlkX3AgPSBGQUxTRTsKKwkJKnN5c3RpbWVfcCA9IDA7CisJCWlmIChkZWJ1ZykKKwkJCXByaW50ZihfKCJJbnZhbGlkIHZhbHVlcyBpbiBoYXJkd2FyZSBjbG9jazogIgorCQkJCSAiJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIiksCisJCQkgICAgICAgdG0udG1feWVhciArIDE5MDAsIHRtLnRtX21vbiArIDEsIHRtLnRtX21kYXksCisJCQkgICAgICAgdG0udG1faG91ciwgdG0udG1fbWluLCB0bS50bV9zZWMpOworCX0gZWxzZSB7CisJCSp2YWxpZF9wID0gVFJVRTsKKwkJKnN5c3RpbWVfcCA9IG1rdGltZV9yZXN1bHQ7CisJCWlmIChkZWJ1ZykKKwkJCXByaW50ZihfCisJCQkgICAgICAgKCJIdyBjbG9jayB0aW1lIDogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICIKKwkJCQkiJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIiksIHRtLnRtX3llYXIgKyAxOTAwLAorCQkJICAgICAgIHRtLnRtX21vbiArIDEsIHRtLnRtX21kYXksIHRtLnRtX2hvdXIsIHRtLnRtX21pbiwKKwkJCSAgICAgICB0bS50bV9zZWMsIChsb25nKSpzeXN0aW1lX3ApOworCX0KKwkvKiBub3cgcHV0IGJhY2sgdGhlIG9yaWdpbmFsIHpvbmUuICovCisJaWYgKHpvbmUpCisJCXhzZXRlbnYoIlRaIiwgem9uZSwgVFJVRSk7CisJZWxzZQorCQl1bnNldGVudigiVFoiKTsKKwl0enNldCgpOworfQorCisvKgorICogUmVhZCB0aGUgaGFyZHdhcmUgY2xvY2sgYW5kIHJldHVybiB0aGUgY3VycmVudCB0aW1lIHZpYSA8dG0+IGFyZ3VtZW50LgorICoKKyAqIFVzZSB0aGUgbWV0aG9kIGluZGljYXRlZCBieSA8bWV0aG9kPiBhcmd1bWVudCB0byBhY2Nlc3MgdGhlIGhhcmR3YXJlCisgKiBjbG9jay4KKyAqLworc3RhdGljIGludAorcmVhZF9oYXJkd2FyZV9jbG9jayhjb25zdCBib29sIHVuaXZlcnNhbCwgYm9vbCAqIHZhbGlkX3AsIHRpbWVfdCAqIHN5c3RpbWVfcCkKK3sKKwlzdHJ1Y3QgdG0gdG07CisJaW50IGVycjsKKworCWVyciA9IHVyLT5yZWFkX2hhcmR3YXJlX2Nsb2NrKCZ0bSk7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKworCWlmIChiYWR5ZWFyKQorCQlyZWFkX2RhdGVfZnJvbV9maWxlKCZ0bSk7CisKKwlpZiAoZGVidWcpCisJCXByaW50ZihfCisJCSAgICAgICAoIlRpbWUgcmVhZCBmcm9tIEhhcmR3YXJlIENsb2NrOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iKSwKKwkJICAgICAgIHRtLnRtX3llYXIgKyAxOTAwLCB0bS50bV9tb24gKyAxLCB0bS50bV9tZGF5LCB0bS50bV9ob3VyLAorCQkgICAgICAgdG0udG1fbWluLCB0bS50bV9zZWMpOworCW1rdGltZV90eih0bSwgdW5pdmVyc2FsLCB2YWxpZF9wLCBzeXN0aW1lX3ApOworCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBTZXQgdGhlIEhhcmR3YXJlIENsb2NrIHRvIHRoZSB0aW1lIDxuZXd0aW1lPiwgaW4gbG9jYWwgdGltZSB6b25lIG9yIFVUQywKKyAqIGFjY29yZGluZyB0byA8dW5pdmVyc2FsPi4KKyAqLworc3RhdGljIHZvaWQKK3NldF9oYXJkd2FyZV9jbG9jayhjb25zdCB0aW1lX3QgbmV3dGltZSwKKwkJICAgY29uc3QgYm9vbCB1bml2ZXJzYWwsIGNvbnN0IGJvb2wgdGVzdGluZykKK3sKKwlzdHJ1Y3QgdG0gbmV3X2Jyb2tlbl90aW1lOworCS8qCisJICogVGltZSB0byB3aGljaCB3ZSB3aWxsIHNldCBIYXJkd2FyZSBDbG9jaywgaW4gYnJva2VuIGRvd24gZm9ybWF0LAorCSAqIGluIHRoZSB0aW1lIHpvbmUgb2YgY2FsbGVyJ3MgY2hvaWNlCisJICovCisKKwlpZiAodW5pdmVyc2FsKQorCQluZXdfYnJva2VuX3RpbWUgPSAqZ210aW1lKCZuZXd0aW1lKTsKKwllbHNlCisJCW5ld19icm9rZW5fdGltZSA9ICpsb2NhbHRpbWUoJm5ld3RpbWUpOworCisJaWYgKGRlYnVnKQorCQlwcmludGYoXygiU2V0dGluZyBIYXJkd2FyZSBDbG9jayB0byAlLjJkOiUuMmQ6JS4yZCAiCisJCQkgIj0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIiksCisJCSAgICAgICBuZXdfYnJva2VuX3RpbWUudG1faG91ciwgbmV3X2Jyb2tlbl90aW1lLnRtX21pbiwKKwkJICAgICAgIG5ld19icm9rZW5fdGltZS50bV9zZWMsIChsb25nKW5ld3RpbWUpOworCisJaWYgKHRlc3RpbmcpCisJCXByaW50ZihfKCJDbG9jayBub3QgY2hhbmdlZCAtIHRlc3Rpbmcgb25seS5cbiIpKTsKKwllbHNlIHsKKwkJaWYgKGJhZHllYXIpIHsKKwkJCS8qCisJCQkgKiBXcml0ZSB0aGUgcmVhbCB5ZWFyIHRvIGEgZmlsZSwgdGhlbiB3cml0ZSBhIGZha2UKKwkJCSAqIHllYXIgYmV0d2VlbiAxOTk1IGFuZCAxOTk4IHRvIHRoZSBSVEMuIFRoaXMgd2F5LAorCQkJICogQXdhcmQgQklPUyBib290cyBvbiAyOSBGZWIgMjAwMCB0aGlua2luZyB0aGF0CisJCQkgKiBpdCdzIDI5IEZlYiAxOTk2LgorCQkJICovCisJCQl3cml0ZV9kYXRlX3RvX2ZpbGUoJm5ld19icm9rZW5fdGltZSk7CisJCQluZXdfYnJva2VuX3RpbWUudG1feWVhciA9CisJCQkgICAgOTUgKyAoKG5ld19icm9rZW5fdGltZS50bV95ZWFyICsgMSkgJiAzKTsKKwkJfQorCQl1ci0+c2V0X2hhcmR3YXJlX2Nsb2NrKCZuZXdfYnJva2VuX3RpbWUpOworCX0KK30KKworLyoKKyAqIFNldCB0aGUgSGFyZHdhcmUgQ2xvY2sgdG8gdGhlIHRpbWUgInNldGh3dGltZSIsIGluIGxvY2FsIHRpbWUgem9uZSBvcgorICogVVRDLCBhY2NvcmRpbmcgdG8gInVuaXZlcnNhbCIuCisgKgorICogV2FpdCBmb3IgYSBmcmFjdGlvbiBvZiBhIHNlY29uZCBzbyB0aGF0ICJzZXRod3RpbWUiIGlzIHRoZSB2YWx1ZSBvZiB0aGUKKyAqIEhhcmR3YXJlIENsb2NrIGFzIG9mIHN5c3RlbSB0aW1lICJyZWZzeXN0aW1lIiwgd2hpY2ggaXMgaW4gdGhlIHBhc3QuIEZvcgorICogZXhhbXBsZSwgaWYgInNldGh3dGltZSIgaXMgMTQ6MDM6MDUgYW5kICJyZWZzeXN0aW1lIiBpcyAxMjoxMDowNC41IGFuZAorICogdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWUgaXMgMTI6MTA6MDYuMDogV2FpdCAuNSBzZWNvbmRzICh0byBtYWtlIGV4YWN0bHkgMgorICogc2Vjb25kcyBzaW5jZSAicmVmc3lzdGltZSIpIGFuZCB0aGVuIHNldCB0aGUgSGFyZHdhcmUgQ2xvY2sgdG8gMTQ6MDM6MDcsCisgKiB0aHVzIGdldHRpbmcgYSBwcmVjaXNlIGFuZCByZXRyb2FjdGl2ZSBzZXR0aW5nIG9mIHRoZSBjbG9jay4KKyAqCisgKiAoRG9uJ3QgYmUgY29uZnVzZWQgYnkgdGhlIGZhY3QgdGhhdCB0aGUgc3lzdGVtIGNsb2NrIGFuZCB0aGUgSGFyZHdhcmUKKyAqIENsb2NrIGRpZmZlciBieSB0d28gaG91cnMgaW4gdGhlIGFib3ZlIGV4YW1wbGUuIFRoYXQncyBqdXN0IHRvIHJlbWluZCB5b3UKKyAqIHRoYXQgdGhlcmUgYXJlIHR3byBpbmRlcGVuZGVudCB0aW1lIHNjYWxlcyBoZXJlKS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIG91Z2h0IHRvIGJlIGFibGUgdG8gYWNjZXB0IHNldCB0aW1lcyBhcyBmcmFjdGlvbmFsIHRpbWVzLgorICogSWRlYSBmb3IgZnV0dXJlIGVuaGFuY2VtZW50LgorICovCitzdGF0aWMgdm9pZAorc2V0X2hhcmR3YXJlX2Nsb2NrX2V4YWN0KGNvbnN0IHRpbWVfdCBzZXRod3RpbWUsCisJCQkgY29uc3Qgc3RydWN0IHRpbWV2YWwgcmVmc3lzdGltZSwKKwkJCSBjb25zdCBib29sIHVuaXZlcnNhbCwgY29uc3QgYm9vbCB0ZXN0aW5nKQoreworCS8qCisJICogVGhlIEhhcmR3YXJlIENsb2NrIGNhbiBvbmx5IGJlIHNldCB0byBhbnkgaW50ZWdlciB0aW1lIHBsdXMgb25lCisJICogaGFsZiBzZWNvbmQuCSBUaGUgaW50ZWdlciB0aW1lIGlzIHJlcXVpcmVkIGJlY2F1c2UgdGhlcmUgaXMgbm8KKwkgKiBpbnRlcmZhY2UgdG8gc2V0IG9yIGdldCBhIGZyYWN0aW9uYWwgc2Vjb25kLgkgVGhlIGFkZGl0aW9uYWwgaGFsZgorCSAqIHNlY29uZCBpcyBiZWNhdXNlIHRoZSBIYXJkd2FyZSBDbG9jayB1cGRhdGVzIHRvIHRoZSBmb2xsb3dpbmcKKwkgKiBzZWNvbmQgcHJlY2lzZWx5IDUwMCBtcyAobm90IDEgc2Vjb25kISkgYWZ0ZXIgeW91IHJlbGVhc2UgdGhlCisJICogZGl2aWRlciByZXNldCAoYWZ0ZXIgc2V0dGluZyB0aGUgbmV3IHRpbWUpIC0gc2VlIGRlc2NyaXB0aW9uIG9mCisJICogRFYyLCBEVjEsIERWMCBpbiBSZWdpc3RlciBBIGluIHRoZSBNQzE0NjgxOEEgZGF0YSBzaGVldCAoYW5kIG5vdGUKKwkgKiB0aGF0IGFsdGhvdWdoIHRoYXQgZG9jdW1lbnQgZG9lc24ndCBzYXkgc28sIHJlYWwtd29ybGQgY29kZSBzZWVtcworCSAqIHRvIGV4cGVjdCB0aGF0IHRoZSBTRVQgYml0IGluIFJlZ2lzdGVyIEIgZnVuY3Rpb25zIHRoZSBzYW1lIHdheSkuCisJICogVGhhdCBtZWFucyB0aGF0LCBlLmcuLCB3aGVuIHlvdSBzZXQgdGhlIGNsb2NrIHRvIDE6MDI6MDMsIGl0CisJICogZWZmZWN0aXZlbHkgcmVhbGx5IHNldHMgaXQgdG8gMTowMjowMy41LCBiZWNhdXNlIGl0IHdpbGwgdXBkYXRlIHRvCisJICogMTowMjowNCBvbmx5IGhhbGYgYSBzZWNvbmQgbGF0ZXIuICBPdXIgY2FsbGVyIHBhc3NlcyB0aGUgZGVzaXJlZAorCSAqIGludGVnZXIgSGFyZHdhcmUgQ2xvY2sgdGltZSBpbiBzZXRod3RpbWUsIGFuZCB0aGUgY29ycmVzcG9uZGluZworCSAqIHN5c3RlbSB0aW1lICh3aGljaCBtYXkgaGF2ZSBhIGZyYWN0aW9uYWwgcGFydCwgYW5kIHdoaWNoIG1heSBvciBtYXkKKwkgKiBub3QgYmUgdGhlIHNhbWUhKSBpbiByZWZzeXN0aW1lLiAgSW4gYW4gaWRlYWwgc2l0dWF0aW9uLCB3ZSB3b3VsZAorCSAqIHRoZW4gYXBwbHkgc2V0aHd0aW1lIHRvIHRoZSBIYXJkd2FyZSBDbG9jayBhdCByZWZzeXN0aW1lKzUwMG1zLCBzbworCSAqIHRoYXQgd2hlbiB0aGUgSGFyZHdhcmUgQ2xvY2sgdGlja3MgZm9yd2FyZCB0byBzZXRod3RpbWUrMXMgaGFsZiBhCisJICogc2Vjb25kIGxhdGVyIGF0IHJlZnN5c3RpbWUrMTAwMG1zLCBldmVyeXRoaW5nIGlzIGluIHN5bmMuICBTbyB3ZQorCSAqIHNwaW4sIHdhaXRpbmcgZm9yIGdldHRpbWVvZmRheSgpIHRvIHJldHVybiBhIHRpbWUgYXQgb3IgYWZ0ZXIgdGhhdAorCSAqIHRpbWUgKHJlZnN5c3RpbWUrNTAwbXMpIHVwIHRvIGEgdG9sZXJhbmNlIHZhbHVlLCBpbml0aWFsbHkgMW1zLiAgSWYKKwkgKiB3ZSBtaXNzIHRoYXQgdGltZSBkdWUgdG8gYmVpbmcgcHJlZW1wdGVkIGZvciBzb21lIG90aGVyIHByb2Nlc3MsCisJICogdGhlbiB3ZSBpbmNyZWFzZSB0aGUgbWFyZ2luIGEgbGl0dGxlIGJpdCAoaW5pdGlhbGx5IDFtcywgZG91YmxpbmcKKwkgKiBlYWNoIHRpbWUpLCBhZGQgMSBzZWNvbmQgKG9yIG1vcmUsIGlmIG5lZWRlZCB0byBnZXQgYSB0aW1lIHRoYXQgaXMKKwkgKiBpbiB0aGUgZnV0dXJlKSB0byBib3RoIHRoZSB0aW1lIGZvciB3aGljaCB3ZSBhcmUgd2FpdGluZyBhbmQgdGhlCisJICogdGltZSB0aGF0IHdlIHdpbGwgYXBwbHkgdG8gdGhlIEhhcmR3YXJlIENsb2NrLCBhbmQgc3RhcnQgd2FpdGluZworCSAqIGFnYWluLgorCSAqIAorCSAqIEZvciBleGFtcGxlLCB0aGUgY2FsbGVyIHJlcXVlc3RzIHRoYXQgd2Ugc2V0IHRoZSBIYXJkd2FyZSBDbG9jayB0bworCSAqIDE6MDI6MDMsIHdpdGggcmVmZXJlbmNlIHRpbWUgKGN1cnJlbnQgc3lzdGVtIHRpbWUpID0gNjowNzowOC4yNTAuCisJICogV2Ugd2FudCB0aGUgSGFyZHdhcmUgQ2xvY2sgdG8gdXBkYXRlIHRvIDE6MDI6MDQgYXQgNjowNzowOS4yNTAgb24KKwkgKiB0aGUgc3lzdGVtIGNsb2NrLCBhbmQgdGhlIGZpcnN0IHN1Y2ggdXBkYXRlIHdpbGwgb2NjdXIgMC41MDAKKwkgKiBzZWNvbmRzIGFmdGVyIHdlIHdyaXRlIHRvIHRoZSBIYXJkd2FyZSBDbG9jaywgc28gd2Ugc3BpbiB1bnRpbCB0aGUKKwkgKiBzeXN0ZW0gY2xvY2sgcmVhZHMgNjowNzowOC43NTAuICBJZiB3ZSBnZXQgdGhlcmUsIGdyZWF0LCBidXQgbGV0J3MKKwkgKiBpbWFnaW5lIHRoZSBzeXN0ZW0gaXMgc28gaGVhdmlseSBsb2FkZWQgdGhhdCBvdXIgcHJvY2VzcyBpcworCSAqIHByZWVtcHRlZCBhbmQgYnkgdGhlIHRpbWUgd2UgZ2V0IHRvIHJ1biBhZ2FpbiwgdGhlIHN5c3RlbSBjbG9jaworCSAqIHJlYWRzIDY6MDc6MTEuOTkwLiAgV2Ugbm93IHdhbnQgdG8gd2FpdCB1bnRpbCB0aGUgbmV4dCB4eDp4eDp4eC43NTAKKwkgKiB0aW1lLCB3aGljaCBpcyA2OjA3OjEyLjc1MCAoNC41IHNlY29uZHMgYWZ0ZXIgdGhlIHJlZmVyZW5jZSB0aW1lKSwKKwkgKiBhdCB3aGljaCBwb2ludCB3ZSB3aWxsIHNldCB0aGUgSGFyZHdhcmUgQ2xvY2sgdG8gMTowMjowNyAoNCBzZWNvbmRzCisJICogYWZ0ZXIgdGhlIG9yaWdpbmFsbHkgcmVxdWVzdGVkIHRpbWUpLiAgSWYgd2UgZG8gdGhhdCBzdWNjZXNzZnVsbHksCisJICogdGhlbiBhdCA2OjA3OjEzLjI1MCAoNSBzZWNvbmRzIGFmdGVyIHRoZSByZWZlcmVuY2UgdGltZSksIHRoZQorCSAqIEhhcmR3YXJlIENsb2NrIHdpbGwgdXBkYXRlIHRvIDE6MDI6MDggKDUgc2Vjb25kcyBhZnRlciB0aGUKKwkgKiBvcmlnaW5hbGx5IHJlcXVlc3RlZCB0aW1lKSwgYW5kIGFsbCBpcyB3ZWxsIHRoZXJlYWZ0ZXIuCisJICovCisKKwl0aW1lX3QgbmV3aHd0aW1lID0gc2V0aHd0aW1lOworCWRvdWJsZSB0YXJnZXRfdGltZV90b2xlcmFuY2Vfc2VjcyA9IDAuMDAxOyAgLyogaW5pdGlhbCB2YWx1ZSAqLworCWRvdWJsZSB0b2xlcmFuY2VfaW5jcl9zZWNzID0gMC4wMDE7CSAgICAvKiBpbml0aWFsIHZhbHVlICovCisJY29uc3QgZG91YmxlIFJUQ19TRVRfREVMQVlfU0VDUyA9IDAuNTsJICAgIC8qIDUwMCBtcyAqLworCWNvbnN0IHN0cnVjdCB0aW1ldmFsIFJUQ19TRVRfREVMQVlfVFYgPSB7IDAsIFJUQ19TRVRfREVMQVlfU0VDUyAqIDFFNiB9OworCisJc3RydWN0IHRpbWV2YWwgdGFyZ2V0c3lzdGltZTsKKwlzdHJ1Y3QgdGltZXZhbCBub3dzeXN0aW1lOworCXN0cnVjdCB0aW1ldmFsIHByZXZzeXN0aW1lID0gcmVmc3lzdGltZTsKKwlkb3VibGUgZGVsdGF2c3RhcmdldDsKKworCXRpbWVyYWRkKCZyZWZzeXN0aW1lLCAmUlRDX1NFVF9ERUxBWV9UViwgJnRhcmdldHN5c3RpbWUpOworCisJd2hpbGUgKDEpIHsKKwkJZG91YmxlIHRpY2tzaXplOworCisJCS8qIEZPUiBURVNUSU5HIE9OTFk6IGluamVjdCByYW5kb20gZGVsYXlzIG9mIHVwIHRvIDEwMDBtcyAqLworCQlpZiAoZGVidWcgPj0gMTApIHsKKwkJCWludCB1c2VjID0gcmFuZG9tKCkgJSAxMDAwMDAwOworCQkJcHJpbnRmKF8oInNsZWVwaW5nIH4lZCB1c2VjXG4iKSwgdXNlYyk7CisJCQl4dXNsZWVwKHVzZWMpOworCQl9CisKKwkJZ2V0dGltZW9mZGF5KCZub3dzeXN0aW1lLCBOVUxMKTsKKwkJZGVsdGF2c3RhcmdldCA9IHRpbWVfZGlmZihub3dzeXN0aW1lLCB0YXJnZXRzeXN0aW1lKTsKKwkJdGlja3NpemUgPSB0aW1lX2RpZmYobm93c3lzdGltZSwgcHJldnN5c3RpbWUpOworCQlwcmV2c3lzdGltZSA9IG5vd3N5c3RpbWU7CisKKwkJaWYgKHRpY2tzaXplIDwgMCkgeworCQkJaWYgKGRlYnVnKQorCQkJCXByaW50ZihfKCJ0aW1lIGp1bXBlZCBiYWNrd2FyZCAlLjZmIHNlY29uZHMgIgorCQkJCQkgInRvICVsZC4lMDZsZCAtIHJldGFyZ2V0aW5nXG4iKSwKKwkJCQkgICAgICAgdGlja3NpemUsIChsb25nKW5vd3N5c3RpbWUudHZfc2VjLAorCQkJCSAgICAgICAobG9uZylub3dzeXN0aW1lLnR2X3VzZWMpOworCQkJLyogVGhlIHJldGFyZ2V0IGlzIGhhbmRsZWQgYXQgdGhlIGVuZCBvZiB0aGUgbG9vcC4gKi8KKwkJfSBlbHNlIGlmIChkZWx0YXZzdGFyZ2V0IDwgMCkgeworCQkJLyogZGVsdGF2c3RhcmdldCA8IDAgaWYgY3VycmVudCB0aW1lIDwgdGFyZ2V0IHRpbWUgKi8KKwkJCWlmIChkZWJ1ZyA+PSAyKQorCQkJCXByaW50ZihfKCIlbGQuJTA2bGQgPCAlbGQuJTA2bGQgKCUuNmYpXG4iKSwKKwkJCQkgICAgICAgKGxvbmcpbm93c3lzdGltZS50dl9zZWMsCisJCQkJICAgICAgIChsb25nKW5vd3N5c3RpbWUudHZfdXNlYywKKwkJCQkgICAgICAgKGxvbmcpdGFyZ2V0c3lzdGltZS50dl9zZWMsCisJCQkJICAgICAgIChsb25nKXRhcmdldHN5c3RpbWUudHZfdXNlYywKKwkJCQkgICAgICAgZGVsdGF2c3RhcmdldCk7CisJCQljb250aW51ZTsgIC8qIG5vdCB0aGVyZSB5ZXQgLSBrZWVwIHNwaW5uaW5nICovCisJCX0gZWxzZSBpZiAoZGVsdGF2c3RhcmdldCA8PSB0YXJnZXRfdGltZV90b2xlcmFuY2Vfc2VjcykgeworCQkJLyogQ2xvc2UgZW5vdWdoIHRvIHRoZSB0YXJnZXQgdGltZTsgZG9uZSB3YWl0aW5nLiAqLworCQkJYnJlYWs7CisJCX0gZWxzZSAvKiAoZGVsdGF2c3RhcmdldCA+IHRhcmdldF90aW1lX3RvbGVyYW5jZV9zZWNzKSAqLyB7CisJCQkvKgorCQkJICogV2UgbWlzc2VkIG91ciB3aW5kb3cuICBJbmNyZWFzZSB0aGUgdG9sZXJhbmNlIGFuZAorCQkJICogYWltIGZvciB0aGUgbmV4dCBvcHBvcnR1bml0eS4KKwkJCSAqLworCQkJaWYgKGRlYnVnKQorCQkJCXByaW50ZihfKCJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciAiCisJCQkJCSAicGFzdCAlbGQuJTA2bGQgKCUuNmYgPiAlLjZmKVxuIiksCisJCQkJICAgICAgIChsb25nKW5vd3N5c3RpbWUudHZfc2VjLAorCQkJCSAgICAgICAobG9uZylub3dzeXN0aW1lLnR2X3VzZWMsCisJCQkJICAgICAgIChsb25nKXRhcmdldHN5c3RpbWUudHZfc2VjLAorCQkJCSAgICAgICAobG9uZyl0YXJnZXRzeXN0aW1lLnR2X3VzZWMsCisJCQkJICAgICAgIGRlbHRhdnN0YXJnZXQsCisJCQkJICAgICAgIHRhcmdldF90aW1lX3RvbGVyYW5jZV9zZWNzKTsKKwkJCXRhcmdldF90aW1lX3RvbGVyYW5jZV9zZWNzICs9IHRvbGVyYW5jZV9pbmNyX3NlY3M7CisJCQl0b2xlcmFuY2VfaW5jcl9zZWNzICo9IDI7CisJCX0KKworCQkvKgorCQkgKiBBaW0gZm9yIHRoZSBzYW1lIG9mZnNldCAodHZfdXNlYykgd2l0aGluIHRoZSBzZWNvbmQgaW4KKwkJICogZWl0aGVyIHRoZSBjdXJyZW50IHNlY29uZCAoaWYgdGhhdCBvZmZzZXQgaGFzbid0IGFycml2ZWQKKwkJICogeWV0KSwgb3IgdGhlIG5leHQgc2Vjb25kLgorCQkgKi8KKwkJaWYgKG5vd3N5c3RpbWUudHZfdXNlYyA8IHRhcmdldHN5c3RpbWUudHZfdXNlYykKKwkJCXRhcmdldHN5c3RpbWUudHZfc2VjID0gbm93c3lzdGltZS50dl9zZWM7CisJCWVsc2UKKwkJCXRhcmdldHN5c3RpbWUudHZfc2VjID0gbm93c3lzdGltZS50dl9zZWMgKyAxOworCX0KKworCW5ld2h3dGltZSA9IHNldGh3dGltZQorCQkgICAgKyAoaW50KSh0aW1lX2RpZmYobm93c3lzdGltZSwgcmVmc3lzdGltZSkKKwkJCSAgICAtIFJUQ19TRVRfREVMQVlfU0VDUyAvKiBkb24ndCBjb3VudCB0aGlzICovCisJCQkgICAgKyAwLjUgLyogZm9yIHJvdW5kaW5nICovKTsKKwlpZiAoZGVidWcpCisJCXByaW50ZihfKCIlbGQuJTA2bGQgaXMgY2xvc2UgZW5vdWdoIHRvICVsZC4lMDZsZCAoJS42ZiA8ICUuNmYpXG4iCisJCQkgIlNldCBSVEMgdG8gJWxkICglbGQgKyAlZDsgcmVmc3lzdGltZSA9ICVsZC4lMDZsZClcbiIpLAorCQkgICAgICAgKGxvbmcpbm93c3lzdGltZS50dl9zZWMsIChsb25nKW5vd3N5c3RpbWUudHZfdXNlYywKKwkJICAgICAgIChsb25nKXRhcmdldHN5c3RpbWUudHZfc2VjLCAobG9uZyl0YXJnZXRzeXN0aW1lLnR2X3VzZWMsCisJCSAgICAgICBkZWx0YXZzdGFyZ2V0LCB0YXJnZXRfdGltZV90b2xlcmFuY2Vfc2VjcywKKwkJICAgICAgIChsb25nKW5ld2h3dGltZSwgKGxvbmcpc2V0aHd0aW1lLAorCQkgICAgICAgKGludCkobmV3aHd0aW1lIC0gc2V0aHd0aW1lKSwKKwkJICAgICAgIChsb25nKXJlZnN5c3RpbWUudHZfc2VjLCAobG9uZylyZWZzeXN0aW1lLnR2X3VzZWMpOworCisJc2V0X2hhcmR3YXJlX2Nsb2NrKG5ld2h3dGltZSwgdW5pdmVyc2FsLCB0ZXN0aW5nKTsKK30KKworLyoKKyAqIFB1dCB0aGUgdGltZSAiaHdjdGltZSIgb24gc3RhbmRhcmQgb3V0cHV0IGluIGRpc3BsYXkgZm9ybWF0LiBFeGNlcHQgaWYKKyAqIGhjbG9ja192YWxpZCA9PSBmYWxzZSwganVzdCB0ZWxsIHN0YW5kYXJkIG91dHB1dCB0aGF0IHdlIGRvbid0IGtub3cgd2hhdAorICogdGltZSBpdCBpcy4KKyAqLworc3RhdGljIHZvaWQKK2Rpc3BsYXlfdGltZShjb25zdCBib29sIGhjbG9ja192YWxpZCwgc3RydWN0IHRpbWV2YWwgaHdjdGltZSkKK3sKKwlpZiAoIWhjbG9ja192YWxpZCkKKwkJd2FybngoXworCQkgICAgICAoIlRoZSBIYXJkd2FyZSBDbG9jayByZWdpc3RlcnMgY29udGFpbiB2YWx1ZXMgdGhhdCBhcmUgIgorCQkgICAgICAgImVpdGhlciBpbnZhbGlkIChlLmcuIDUwdGggZGF5IG9mIG1vbnRoKSBvciBiZXlvbmQgdGhlIHJhbmdlICIKKwkJICAgICAgICJ3ZSBjYW4gaGFuZGxlIChlLmcuIFllYXIgMjA5NSkuIikpOworCWVsc2UgeworCQljaGFyIGJ1ZltJU09fODYwMV9CVUZTSVpdOworCisJCXN0cnRpbWV2YWxfaXNvKCZod2N0aW1lLCBJU09fODYwMV9EQVRFfElTT184NjAxX1RJTUV8SVNPXzg2MDFfRE9UVVNFQ3wKKwkJCQkJIElTT184NjAxX1RJTUVaT05FfElTT184NjAxX1NQQUNFLAorCQkJCQkgYnVmLCBzaXplb2YoYnVmKSk7CisJCXByaW50ZigiJXNcbiIsIGJ1Zik7CisJfQorfQorCisvKgorICogSW50ZXJwcmV0IHRoZSB2YWx1ZSBvZiB0aGUgLS1kYXRlIG9wdGlvbiwgd2hpY2ggaXMgc29tZXRoaW5nIGxpa2UKKyAqICIxMzowNTowMSIuIEluIGZhY3QsIGl0IGNhbiBiZSBhbnkgb2YgdGhlIG15cmlhZCBBU0NJSSBzdHJpbmdzIHRoYXQKKyAqIHNwZWNpZnkgYSB0aW1lIHdoaWNoIHRoZSAiZGF0ZSIgcHJvZ3JhbSBjYW4gdW5kZXJzdGFuZC4gVGhlIGRhdGUgb3B0aW9uCisgKiB2YWx1ZSBpbiBxdWVzdGlvbiBpcyBvdXIgImRhdGVvcHQiIGFyZ3VtZW50LgorICoKKyAqIFRoZSBzcGVjaWZpZWQgdGltZSBpcyBpbiB0aGUgbG9jYWwgdGltZSB6b25lLgorICoKKyAqIE91ciBvdXRwdXQsICIqdGltZV9wIiwgaXMgYSBzZWNvbmRzLWludG8tZXBvY2ggdGltZS4KKyAqCisgKiBXZSB1c2UgdGhlICJkYXRlIiBwcm9ncmFtIHRvIGludGVycHJldCB0aGUgZGF0ZSBzdHJpbmcuICJkYXRlIiBtdXN0IGJlCisgKiBydW5uYWJsZSBieSBpc3N1aW5nIHRoZSBjb21tYW5kICJkYXRlIiB0byB0aGUgL2Jpbi9zaCBzaGVsbC4gVGhhdCBtZWFucworICogaW4gbXVzdCBiZSBpbiB0aGUgY3VycmVudCBQQVRILgorICoKKyAqIElmIGFueXRoaW5nIGdvZXMgd3JvbmcgKGFuZCBtYW55IHRoaW5ncyBjYW4pLCB3ZSByZXR1cm4gcmV0dXJuIGNvZGUgMTAKKyAqIGFuZCBhcmJpdHJhcnkgKnRpbWVfcC4gT3RoZXJ3aXNlLCByZXR1cm4gY29kZSBpcyAwIGFuZCAqdGltZV9wIGlzIHZhbGlkLgorICovCitzdGF0aWMgaW50IGludGVycHJldF9kYXRlX3N0cmluZyhjb25zdCBjaGFyICpkYXRlX29wdCwgdGltZV90ICogY29uc3QgdGltZV9wKQoreworCUZJTEUgKmRhdGVfY2hpbGRfZnA7CisJY2hhciBkYXRlX3Jlc3BbMTAwXTsKKwljb25zdCBjaGFyIG1hZ2ljW10gPSAic2Vjb25kcy1pbnRvLWVwb2NoPSI7CisJY2hhciBkYXRlX2NvbW1hbmRbMTAwXTsKKwlpbnQgcmV0Y29kZTsJCS8qIG91ciBldmVudHVhbCByZXR1cm4gY29kZSAqLworCWludCByYzsJCQkvKiBsb2NhbCByZXR1cm4gY29kZSAqLworCisJaWYgKGRhdGVfb3B0ID09IE5VTEwpIHsKKwkJd2FybngoXygiTm8gLS1kYXRlIG9wdGlvbiBzcGVjaWZpZWQuIikpOworCQlyZXR1cm4gMTQ7CisJfQorCisJLyogcHJldmVudCBvdmVyZmxvdyAtIGEgc2VjdXJpdHkgcmlzayAqLworCWlmIChzdHJsZW4oZGF0ZV9vcHQpID4gc2l6ZW9mKGRhdGVfY29tbWFuZCkgLSA1MCkgeworCQl3YXJueChfKCItLWRhdGUgYXJndW1lbnQgdG9vIGxvbmciKSk7CisJCXJldHVybiAxMzsKKwl9CisKKwkvKiBRdW90ZXMgaW4gZGF0ZV9vcHQgd291bGQgcnVpbiB0aGUgZGF0ZSBjb21tYW5kIHdlIGNvbnN0cnVjdC4gKi8KKwlpZiAoc3RyY2hyKGRhdGVfb3B0LCAnIicpICE9IE5VTEwpIHsKKwkJd2FybngoXworCQkgICAgICAoIlRoZSB2YWx1ZSBvZiB0aGUgLS1kYXRlIG9wdGlvbiBpcyBub3QgYSB2YWxpZCBkYXRlLlxuIgorCQkgICAgICAgIkluIHBhcnRpY3VsYXIsIGl0IGNvbnRhaW5zIHF1b3RhdGlvbiBtYXJrcy4iKSk7CisJCXJldHVybiAxMjsKKwl9CisKKwlzcHJpbnRmKGRhdGVfY29tbWFuZCwgImRhdGUgLS1kYXRlPVwiJXNcIiArc2Vjb25kcy1pbnRvLWVwb2NoPSUlcyIsCisJCWRhdGVfb3B0KTsKKwlpZiAoZGVidWcpCisJCXByaW50ZihfKCJJc3N1aW5nIGRhdGUgY29tbWFuZDogJXNcbiIpLCBkYXRlX2NvbW1hbmQpOworCisJZGF0ZV9jaGlsZF9mcCA9IHBvcGVuKGRhdGVfY29tbWFuZCwgInIiKTsKKwlpZiAoZGF0ZV9jaGlsZF9mcCA9PSBOVUxMKSB7CisJCXdhcm4oXygiVW5hYmxlIHRvIHJ1biAnZGF0ZScgcHJvZ3JhbSBpbiAvYmluL3NoIHNoZWxsLiAiCisJCQkgICAgInBvcGVuKCkgZmFpbGVkIikpOworCQlyZXR1cm4gMTA7CisJfQorCisJaWYgKCFmZ2V0cyhkYXRlX3Jlc3AsIHNpemVvZihkYXRlX3Jlc3ApLCBkYXRlX2NoaWxkX2ZwKSkKKwkJZGF0ZV9yZXNwWzBdID0gJ1wwJzsJLyogaW4gY2FzZSBmZ2V0cyBmYWlscyAqLworCWlmIChkZWJ1ZykKKwkJcHJpbnRmKF8oInJlc3BvbnNlIGZyb20gZGF0ZSBjb21tYW5kID0gJXNcbiIpLCBkYXRlX3Jlc3ApOworCWlmIChzdHJuY21wKGRhdGVfcmVzcCwgbWFnaWMsIHNpemVvZihtYWdpYykgLSAxKSAhPSAwKSB7CisJCXdhcm54KF8oIlRoZSBkYXRlIGNvbW1hbmQgaXNzdWVkIGJ5ICVzIHJldHVybmVkICIKKwkJCQkgICJ1bmV4cGVjdGVkIHJlc3VsdHMuXG4iCisJCQkJICAiVGhlIGNvbW1hbmQgd2FzOlxuICAlc1xuIgorCQkJCSAgIlRoZSByZXNwb25zZSB3YXM6XG4gICVzIiksCisJCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSwgZGF0ZV9jb21tYW5kLCBkYXRlX3Jlc3ApOworCQlyZXRjb2RlID0gODsKKwl9IGVsc2UgeworCQlsb25nIHNlY29uZHNfc2luY2VfZXBvY2g7CisJCXJjID0gc3NjYW5mKGRhdGVfcmVzcCArIHNpemVvZihtYWdpYykgLSAxLCAiJWxkIiwKKwkJCSAgICAmc2Vjb25kc19zaW5jZV9lcG9jaCk7CisJCWlmIChyYyA8IDEpIHsKKwkJCXdhcm54KF8oIlRoZSBkYXRlIGNvbW1hbmQgaXNzdWVkIGJ5ICVzIHJldHVybmVkICIKKwkJCQkic29tZXRoaW5nIG90aGVyIHRoYW4gYW4gaW50ZWdlciB3aGVyZSB0aGUgIgorCQkJCSJjb252ZXJ0ZWQgdGltZSB2YWx1ZSB3YXMgZXhwZWN0ZWQuXG4iCisJCQkJIlRoZSBjb21tYW5kIHdhczpcbiAgJXNcbiIKKwkJCQkiVGhlIHJlc3BvbnNlIHdhczpcbiAlc1xuIiksCisJCQkgICAgICBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSwgZGF0ZV9jb21tYW5kLAorCQkJICAgICAgZGF0ZV9yZXNwKTsKKwkJCXJldGNvZGUgPSA2OworCQl9IGVsc2UgeworCQkJcmV0Y29kZSA9IDA7CisJCQkqdGltZV9wID0gc2Vjb25kc19zaW5jZV9lcG9jaDsKKwkJCWlmIChkZWJ1ZykKKwkJCQlwcmludGYoXygiZGF0ZSBzdHJpbmcgJXMgZXF1YXRlcyB0byAiCisJCQkJCSAiJWxkIHNlY29uZHMgc2luY2UgMTk2OS5cbiIpLAorCQkJCSAgICAgICBkYXRlX29wdCwgKGxvbmcpKnRpbWVfcCk7CisJCX0KKwl9CisJcGNsb3NlKGRhdGVfY2hpbGRfZnApOworCisJcmV0dXJuIHJldGNvZGU7Cit9CisKKy8qCisgKiBTZXQgdGhlIFN5c3RlbSBDbG9jayB0byB0aW1lICduZXd0aW1lJy4KKyAqCisgKiBBbHNvIHNldCB0aGUga2VybmVsIHRpbWUgem9uZSB2YWx1ZSB0byB0aGUgdmFsdWUgaW5kaWNhdGVkIGJ5IHRoZSBUWgorICogZW52aXJvbm1lbnQgdmFyaWFibGUgYW5kL29yIC91c3IvbGliL3pvbmVpbmZvLywgaW50ZXJwcmV0ZWQgYXMgdHpzZXQoKQorICogd291bGQgaW50ZXJwcmV0IHRoZW0uCisgKgorICogSWYgdGhpcyBpcyB0aGUgZmlyc3QgY2FsbCBvZiBzZXR0aW1lb2ZkYXkgc2luY2UgYm9vdCwgdGhlbiB0aGlzIGFsc28gc2V0cworICogdGhlIGtlcm5lbCB2YXJpYWJsZSBwZXJzaXN0ZW50X2Nsb2NrX2lzX2xvY2FsIHNvIHRoYXQgTlRQIDExIG1pbnV0ZSBtb2RlCisgKiB3aWxsIHVwZGF0ZSB0aGUgSGFyZHdhcmUgQ2xvY2sgd2l0aCB0aGUgcHJvcGVyIHRpbWVzY2FsZS4gSWYgdGhlIEhhcmR3YXJlCisgKiBDbG9jaydzIHRpbWVzY2FsZSBjb25maWd1cmF0aW9uIGlzIGNoYW5nZWQgdGhlbiBhIHJlYm9vdCBpcyByZXF1aXJlZCBmb3IKKyAqIHBlcnNpc3RlbnRfY2xvY2tfaXNfbG9jYWwgdG8gYmUgdXBkYXRlZC4KKyAqCisgKiBFWENFUFQ6IGlmIGhjbG9ja192YWxpZCBpcyBmYWxzZSwganVzdCBpc3N1ZSBhbiBlcnJvciBtZXNzYWdlIHNheWluZworICogdGhlcmUgaXMgbm8gdmFsaWQgdGltZSBpbiB0aGUgSGFyZHdhcmUgQ2xvY2sgdG8gd2hpY2ggdG8gc2V0IHRoZSBzeXN0ZW0KKyAqIHRpbWUuCisgKgorICogSWYgJ3Rlc3RpbmcnIGlzIHRydWUsIGRvbid0IGFjdHVhbGx5IHVwZGF0ZSBhbnl0aGluZyAtLSBqdXN0IHNheSB3ZSB3b3VsZAorICogaGF2ZS4KKyAqLworc3RhdGljIGludAorc2V0X3N5c3RlbV9jbG9jayhjb25zdCBib29sIGhjbG9ja192YWxpZCwgY29uc3Qgc3RydWN0IHRpbWV2YWwgbmV3dGltZSwKKwkJIGNvbnN0IGJvb2wgdGVzdGluZywgY29uc3QgYm9vbCB1bml2ZXJzYWwpCit7CisJaW50IHJldGNvZGU7CisKKwlpZiAoIWhjbG9ja192YWxpZCkgeworCQl3YXJueChfCisJCSAgICAgICgiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyAiCisJCSAgICAgICAid2UgY2Fubm90IHNldCB0aGUgU3lzdGVtIFRpbWUgZnJvbSBpdC4iKSk7CisJCXJldGNvZGUgPSAxOworCX0gZWxzZSB7CisJCWNvbnN0IHN0cnVjdCB0aW1ldmFsICp0dl9udWxsID0gTlVMTDsKKwkJc3RydWN0IHRtICpicm9rZW47CisJCWludCBtaW51dGVzd2VzdDsKKwkJaW50IHJjID0gMDsKKworCQlicm9rZW4gPSBsb2NhbHRpbWUoJm5ld3RpbWUudHZfc2VjKTsKKyNpZmRlZiBIQVZFX1RNX0dNVE9GRgorCQltaW51dGVzd2VzdCA9IC1icm9rZW4tPnRtX2dtdG9mZiAvIDYwOwkvKiBHTlUgZXh0ZW5zaW9uICovCisjZWxzZQorCQltaW51dGVzd2VzdCA9IHRpbWV6b25lIC8gNjA7CisJCWlmIChicm9rZW4tPnRtX2lzZHN0KQorCQkJbWludXRlc3dlc3QgLT0gNjA7CisjZW5kaWYKKworCQlpZiAoZGVidWcpIHsKKwkJCXByaW50ZihfKCJDYWxsaW5nIHNldHRpbWVvZmRheTpcbiIpKTsKKwkJCXByaW50ZihfKCJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIiksCisJCQkgICAgICAgKGxvbmcpbmV3dGltZS50dl9zZWMsIChsb25nKW5ld3RpbWUudHZfdXNlYyk7CisJCQlwcmludGYoXygiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iKSwgbWludXRlc3dlc3QpOworCQl9CisJCWlmICh0ZXN0aW5nKSB7CisJCQlwcmludGYoXworCQkJICAgICAgICgiTm90IHNldHRpbmcgc3lzdGVtIGNsb2NrIGJlY2F1c2UgcnVubmluZyBpbiB0ZXN0IG1vZGUuXG4iKSk7CisJCQlyZXRjb2RlID0gMDsKKwkJfSBlbHNlIHsKKwkJCWNvbnN0IHN0cnVjdCB0aW1lem9uZSB0eiA9IHsgbWludXRlc3dlc3QsIDAgfTsKKworCQkJLyogU2V0IGtlcm5lbCBwZXJzaXN0ZW50X2Nsb2NrX2lzX2xvY2FsIHNvIHRoYXQgMTEgbWludXRlCisJCQkgKiBtb2RlIGRvZXMgbm90IGNsb2JiZXIgdGhlIEhhcmR3YXJlIENsb2NrIHdpdGggVVRDLiBUaGlzCisJCQkgKiBpcyBvbmx5IGF2YWlsYWJsZSBvbiBmaXJzdCBjYWxsIG9mIHNldHRpbWVvZmRheSBhZnRlciBib290LgorCQkJICovCisJCQlpZiAoIXVuaXZlcnNhbCkKKwkJCQlyYyA9IHNldHRpbWVvZmRheSh0dl9udWxsLCAmdHopOworCQkJaWYgKCFyYykKKwkJCQlyYyA9IHNldHRpbWVvZmRheSgmbmV3dGltZSwgJnR6KTsKKwkJCWlmIChyYykgeworCQkJCWlmIChlcnJubyA9PSBFUEVSTSkgeworCQkJCQl3YXJueChfCisJCQkJCSAgICAgICgiTXVzdCBiZSBzdXBlcnVzZXIgdG8gc2V0IHN5c3RlbSBjbG9jay4iKSk7CisJCQkJCXJldGNvZGUgPSBFWF9OT1BFUk07CisJCQkJfSBlbHNlIHsKKwkJCQkJd2FybihfKCJzZXR0aW1lb2ZkYXkoKSBmYWlsZWQiKSk7CisJCQkJCXJldGNvZGUgPSAxOworCQkJCX0KKwkJCX0gZWxzZQorCQkJCXJldGNvZGUgPSAwOworCQl9CisJfQorCXJldHVybiByZXRjb2RlOworfQorCisvKgorICogUmVzZXQgdGhlIFN5c3RlbSBDbG9jayBmcm9tIGxvY2FsIHRpbWUgdG8gVVRDLCBiYXNlZCBvbiBpdHMgY3VycmVudCB2YWx1ZQorICogYW5kIHRoZSB0aW1lem9uZSB1bmxlc3MgdW5pdmVyc2FsIGlzIFRSVUUuCisgKgorICogQWxzbyBzZXQgdGhlIGtlcm5lbCB0aW1lIHpvbmUgdmFsdWUgdG8gdGhlIHZhbHVlIGluZGljYXRlZCBieSB0aGUgVFoKKyAqIGVudmlyb25tZW50IHZhcmlhYmxlIGFuZC9vciAvdXNyL2xpYi96b25laW5mby8sIGludGVycHJldGVkIGFzIHR6c2V0KCkKKyAqIHdvdWxkIGludGVycHJldCB0aGVtLgorICoKKyAqIElmICd0ZXN0aW5nJyBpcyB0cnVlLCBkb24ndCBhY3R1YWxseSB1cGRhdGUgYW55dGhpbmcgLS0ganVzdCBzYXkgd2Ugd291bGQKKyAqIGhhdmUuCisgKi8KK3N0YXRpYyBpbnQgc2V0X3N5c3RlbV9jbG9ja190aW1lem9uZShjb25zdCBib29sIHVuaXZlcnNhbCwgY29uc3QgYm9vbCB0ZXN0aW5nKQoreworCWludCByZXRjb2RlOworCXN0cnVjdCB0aW1ldmFsIHR2OworCXN0cnVjdCB0bSAqYnJva2VuOworCWludCBtaW51dGVzd2VzdDsKKworCWdldHRpbWVvZmRheSgmdHYsIE5VTEwpOworCWlmIChkZWJ1ZykgeworCQlzdHJ1Y3QgdG0gYnJva2VuX3RpbWU7CisJCWNoYXIgY3RpbWVfbm93WzIwMF07CisKKwkJYnJva2VuX3RpbWUgPSAqZ210aW1lKCZ0di50dl9zZWMpOworCQlzdHJmdGltZShjdGltZV9ub3csIHNpemVvZihjdGltZV9ub3cpLCAiJVkvJW0vJWQgJUg6JU06JVMiLAorCQkJICZicm9rZW5fdGltZSk7CisJCXByaW50ZihfKCJDdXJyZW50IHN5c3RlbSB0aW1lOiAlbGQgPSAlc1xuIiksIChsb25nKXR2LnR2X3NlYywKKwkJICAgICAgIGN0aW1lX25vdyk7CisJfQorCisJYnJva2VuID0gbG9jYWx0aW1lKCZ0di50dl9zZWMpOworI2lmZGVmIEhBVkVfVE1fR01UT0ZGCisJbWludXRlc3dlc3QgPSAtYnJva2VuLT50bV9nbXRvZmYgLyA2MDsJLyogR05VIGV4dGVuc2lvbiAqLworI2Vsc2UKKwltaW51dGVzd2VzdCA9IHRpbWV6b25lIC8gNjA7CisJaWYgKGJyb2tlbi0+dG1faXNkc3QpCisJCW1pbnV0ZXN3ZXN0IC09IDYwOworI2VuZGlmCisKKwlpZiAoZGVidWcpIHsKKwkJc3RydWN0IHRtIGJyb2tlbl90aW1lOworCQljaGFyIGN0aW1lX25vd1syMDBdOworCisJCWdldHRpbWVvZmRheSgmdHYsIE5VTEwpOworCQlpZiAoIXVuaXZlcnNhbCkKKwkJCXR2LnR2X3NlYyArPSBtaW51dGVzd2VzdCAqIDYwOworCisJCWJyb2tlbl90aW1lID0gKmdtdGltZSgmdHYudHZfc2VjKTsKKwkJc3RyZnRpbWUoY3RpbWVfbm93LCBzaXplb2YoY3RpbWVfbm93KSwgIiVZLyVtLyVkICVIOiVNOiVTIiwKKwkJCSAmYnJva2VuX3RpbWUpOworCisJCXByaW50ZihfKCJDYWxsaW5nIHNldHRpbWVvZmRheTpcbiIpKTsKKwkJcHJpbnRmKF8oIlx0VVRDOiAlc1xuIiksIGN0aW1lX25vdyk7CisJCXByaW50ZihfKCJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIiksCisJCSAgICAgICAobG9uZyl0di50dl9zZWMsIChsb25nKXR2LnR2X3VzZWMpOworCQlwcmludGYoXygiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iKSwgbWludXRlc3dlc3QpOworCX0KKwlpZiAodGVzdGluZykgeworCQlwcmludGYoXworCQkgICAgICAgKCJOb3Qgc2V0dGluZyBzeXN0ZW0gY2xvY2sgYmVjYXVzZSBydW5uaW5nIGluIHRlc3QgbW9kZS5cbiIpKTsKKwkJcmV0Y29kZSA9IDA7CisJfSBlbHNlIHsKKwkJY29uc3Qgc3RydWN0IHRpbWV6b25lIHR6X3V0YyA9IHsgMCwgMCB9OworCQljb25zdCBzdHJ1Y3QgdGltZXpvbmUgdHogPSB7IG1pbnV0ZXN3ZXN0LCAwIH07CisJCWNvbnN0IHN0cnVjdCB0aW1ldmFsICp0dl9udWxsID0gTlVMTDsKKwkJaW50IHJjID0gMDsKKworCQkvKiBUaGUgZmlyc3QgY2FsbCB0byBzZXR0aW1lb2ZkYXkgYWZ0ZXIgYm9vdCB3aWxsIGFzc3VtZSB0aGUgc3lzdGVtdGltZQorCQkgKiBpcyBpbiBsb2NhbHRpbWUsIGFuZCBhZGp1c3QgaXQgYWNjb3JkaW5nIHRvIHRoZSBnaXZlbiB0aW1lem9uZSB0bworCQkgKiBjb21wZW5zYXRlLiBJZiB0aGUgc3lzdGVtdGltZSBpcyBpbiBmYWN0IGluIFVUQywgdGhlbiB0aGlzIGlzIHdyb25nCisJCSAqIHNvIHdlIGZpcnN0IGRvIGEgZHVtbXkgY2FsbCB0byBtYWtlIHN1cmUgdGhlIHRpbWUgaXMgbm90IHNoaWZ0ZWQuCisJCSAqLworCQlpZiAodW5pdmVyc2FsKQorCQkJcmMgPSBzZXR0aW1lb2ZkYXkodHZfbnVsbCwgJnR6X3V0Yyk7CisKKwkJLyogTm93IHdlIHNldCB0aGUgcmVhbCB0aW1lem9uZS4gRHVlIHRvIHRoZSBhYm92ZSBkdW1teSBjYWxsLCB0aGlzIHdpbGwKKwkJICogb25seSB3YXJwIHRoZSBzeXN0ZW10aW1lIGlmIHRoZSBSVEMgaXMgbm90IGluIFVUQy4gKi8KKwkJaWYgKCFyYykKKwkJCXJjID0gc2V0dGltZW9mZGF5KHR2X251bGwsICZ0eik7CisKKwkJaWYgKHJjKSB7CisJCQlpZiAoZXJybm8gPT0gRVBFUk0pIHsKKwkJCQl3YXJueChfCisJCQkJICAgICAgKCJNdXN0IGJlIHN1cGVydXNlciB0byBzZXQgc3lzdGVtIGNsb2NrLiIpKTsKKwkJCQlyZXRjb2RlID0gRVhfTk9QRVJNOworCQkJfSBlbHNlIHsKKwkJCQl3YXJuKF8oInNldHRpbWVvZmRheSgpIGZhaWxlZCIpKTsKKwkJCQlyZXRjb2RlID0gMTsKKwkJCX0KKwkJfSBlbHNlCisJCQlyZXRjb2RlID0gMDsKKwl9CisJcmV0dXJuIHJldGNvZGU7Cit9CisKKy8qCisgKiBSZWZyZXNoIHRoZSBsYXN0IGNhbGlicmF0ZWQgYW5kIGxhc3QgYWRqdXN0ZWQgdGltZXN0YW1wcyBpbiA8KmFkanRpbWVfcD4KKyAqIHRvIGZhY2lsaXRhdGUgZnV0dXJlIGRyaWZ0IGNhbGN1bGF0aW9ucyBiYXNlZCBvbiB0aGlzIHNldCBwb2ludC4KKyAqCisgKiBXaXRoIHRoZSAtLXVwZGF0ZS1kcmlmdCBvcHRpb246CisgKiBVcGRhdGUgdGhlIGRyaWZ0IGZhY3RvciBpbiA8KmFkanRpbWVfcD4gYmFzZWQgb24gdGhlIGZhY3QgdGhhdCB0aGUKKyAqIEhhcmR3YXJlIENsb2NrIHdhcyBqdXN0IGNhbGlicmF0ZWQgdG8gPG5vd3RpbWU+IGFuZCBiZWZvcmUgdGhhdCB3YXMKKyAqIHNldCB0byB0aGUgPGhjbG9ja3RpbWU+IHRpbWUgc2NhbGUuCisgKgorICogRVhDRVBUOiBpZiA8aGNsb2NrX3ZhbGlkPiBpcyBmYWxzZSwgYXNzdW1lIEhhcmR3YXJlIENsb2NrIHdhcyBub3Qgc2V0CisgKiBiZWZvcmUgdG8gYW55dGhpbmcgbWVhbmluZ2Z1bCBhbmQgcmVndWxhciBhZGp1c3RtZW50cyBoYXZlIG5vdCBiZWVuIGRvbmUsCisgKiBzbyBkb24ndCBhZGp1c3QgdGhlIGRyaWZ0IGZhY3Rvci4KKyAqLworc3RhdGljIHZvaWQKK2FkanVzdF9kcmlmdF9mYWN0b3Ioc3RydWN0IGFkanRpbWUgKmFkanRpbWVfcCwKKwkJICAgIGNvbnN0IHN0cnVjdCB0aW1ldmFsIG5vd3RpbWUsCisJCSAgICBjb25zdCBib29sIGhjbG9ja192YWxpZCwKKwkJICAgIGNvbnN0IHN0cnVjdCB0aW1ldmFsIGhjbG9ja3RpbWUsCisJCSAgICBjb25zdCBib29sIHVwZGF0ZSkKK3sKKwlpZiAoIXVwZGF0ZSkgeworCQlpZiAoZGVidWcpCisJCQlwcmludGYoXygiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgIgorCQkJCSAiLS11cGRhdGUtZHJpZnQgb3B0aW9uIHdhcyBub3QgdXNlZC5cbiIpKTsKKwl9IGVsc2UgaWYgKCFoY2xvY2tfdmFsaWQpIHsKKwkJaWYgKGRlYnVnKQorCQkJcHJpbnRmKF8oIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlICIKKwkJCQkgIkhhcmR3YXJlIENsb2NrIHByZXZpb3VzbHkgY29udGFpbmVkICIKKwkJCQkgImdhcmJhZ2UuXG4iKSk7CisJfSBlbHNlIGlmIChhZGp0aW1lX3AtPmxhc3RfY2FsaWJfdGltZSA9PSAwKSB7CisJCWlmIChkZWJ1ZykKKwkJCXByaW50ZihfKCJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGxhc3QgIgorCQkJCSAiY2FsaWJyYXRpb24gdGltZSBpcyB6ZXJvLFxuIgorCQkJCSAic28gaGlzdG9yeSBpcyBiYWQgYW5kIGNhbGlicmF0aW9uIHN0YXJ0b3ZlciAiCisJCQkJICJpcyBuZWNlc3NhcnkuXG4iKSk7CisJfSBlbHNlIGlmICgoaGNsb2NrdGltZS50dl9zZWMgLSBhZGp0aW1lX3AtPmxhc3RfY2FsaWJfdGltZSkgPCA0ICogNjAgKiA2MCkgeworCQlpZiAoZGVidWcpCisJCQlwcmludGYoXygiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBpdCBoYXMgIgorCQkJCSAiYmVlbiBsZXNzIHRoYW4gZm91ciBob3VycyBzaW5jZSB0aGUgbGFzdCAiCisJCQkJICJjYWxpYnJhdGlvbi5cbiIpKTsKKwl9IGVsc2UgaWYgKGFkanRpbWVfcC0+bGFzdF9jYWxpYl90aW1lICE9IDApIHsKKwkJLyoKKwkJICogQXQgYWRqdXN0bWVudCB0aW1lIHdlIGRyaWZ0IGNvcnJlY3QgdGhlIGhhcmR3YXJlIGNsb2NrCisJCSAqIGFjY29yZGluZyB0byB0aGUgY29udGVudHMgb2YgdGhlIGFkanRpbWUgZmlsZSBhbmQgcmVmcmVzaAorCQkgKiBpdHMgbGFzdCBhZGp1c3RlZCB0aW1lc3RhbXAuCisJCSAqCisJCSAqIEF0IGNhbGlicmF0aW9uIHRpbWUgd2Ugc2V0IHRoZSBIYXJkd2FyZSBDbG9jayBhbmQgcmVmcmVzaAorCQkgKiBib3RoIHRpbWVzdGFtcHMgaW4gPCphZGp0aW1lX3A+LgorCQkgKgorCQkgKiBIZXJlLCB3aXRoIHRoZSAtLXVwZGF0ZS1kcmlmdCBvcHRpb24sIHdlIGFsc28gdXBkYXRlIHRoZQorCQkgKiBkcmlmdCBmYWN0b3IgaW4gPCphZGp0aW1lX3A+LgorCQkgKgorCQkgKiBMZXQgdXMgZG8gY29tcHV0YXRpb24gaW4gZG91Ymxlcy4gKEZsb2F0cyBhbG1vc3Qgc3VmZmljZSwKKwkJICogYnV0IDE5NSBkYXlzICsgMSBzZWNvbmQgZXF1YWxzIDE5NSBkYXlzIGluIGZsb2F0cy4pCisJCSAqLworCQljb25zdCBkb3VibGUgc2VjX3Blcl9kYXkgPSAyNC4wICogNjAuMCAqIDYwLjA7CisJCWRvdWJsZSBmYWN0b3JfYWRqdXN0OworCQlkb3VibGUgZHJpZnRfZmFjdG9yOworCQlzdHJ1Y3QgdGltZXZhbCBsYXN0X2NhbGliOworCisJCWxhc3RfY2FsaWIgPSB0MnR2KGFkanRpbWVfcC0+bGFzdF9jYWxpYl90aW1lKTsKKwkJLyoKKwkJICogQ29ycmVjdGlvbiB0byBhcHBseSB0byB0aGUgY3VycmVudCBkcmlmdCBmYWN0b3IuCisJCSAqCisJCSAqIFNpbXBsaWZpZWQ6IHVuY29ycmVjdGVkX2RyaWZ0IC8gZGF5c19zaW5jZV9jYWxpYnJhdGlvbi4KKwkJICoKKwkJICogaGNsb2NrdGltZSBpcyBmdWxseSBjb3JyZWN0ZWQgd2l0aCB0aGUgY3VycmVudCBkcmlmdCBmYWN0b3IuCisJCSAqIEl0cyBkaWZmZXJlbmNlIGZyb20gbm93dGltZSBpcyB0aGUgbWlzc2VkIGRyaWZ0IGNvcnJlY3Rpb24uCisJCSAqLworCQlmYWN0b3JfYWRqdXN0ID0gdGltZV9kaWZmKG5vd3RpbWUsIGhjbG9ja3RpbWUpIC8KKwkJCQkodGltZV9kaWZmKG5vd3RpbWUsIGxhc3RfY2FsaWIpIC8gc2VjX3Blcl9kYXkpOworCisJCWRyaWZ0X2ZhY3RvciA9IGFkanRpbWVfcC0+ZHJpZnRfZmFjdG9yICsgZmFjdG9yX2FkanVzdDsKKwkJaWYgKGZhYnMoZHJpZnRfZmFjdG9yKSA+IE1BWF9EUklGVCkgeworCQkJaWYgKGRlYnVnKQorCQkJCXByaW50ZihfKCJDbG9jayBkcmlmdCBmYWN0b3Igd2FzIGNhbGN1bGF0ZWQgYXMgIgorCQkJCQkgIiVmIHNlY29uZHMvZGF5LlxuIgorCQkJCQkgIkl0IGlzIGZhciB0b28gbXVjaC4gUmVzZXR0aW5nIHRvIHplcm8uXG4iKSwKKwkJCQkgICAgICAgZHJpZnRfZmFjdG9yKTsKKwkJCWRyaWZ0X2ZhY3RvciA9IDA7CisJCX0gZWxzZSB7CisJCQlpZiAoZGVidWcpCisJCQkJcHJpbnRmKF8oIkNsb2NrIGRyaWZ0ZWQgJWYgc2Vjb25kcyBpbiB0aGUgcGFzdCAiCisJCQkJCSAiJWYgc2Vjb25kc1xuaW4gc3BpdGUgb2YgYSBkcmlmdCBmYWN0b3Igb2YgIgorCQkJCQkgIiVmIHNlY29uZHMvZGF5LlxuIgorCQkJCQkgIkFkanVzdGluZyBkcmlmdCBmYWN0b3IgYnkgJWYgc2Vjb25kcy9kYXlcbiIpLAorCQkJCSAgICAgICB0aW1lX2RpZmYobm93dGltZSwgaGNsb2NrdGltZSksCisJCQkJICAgICAgIHRpbWVfZGlmZihub3d0aW1lLCBsYXN0X2NhbGliKSwKKwkJCQkgICAgICAgYWRqdGltZV9wLT5kcmlmdF9mYWN0b3IsIGZhY3Rvcl9hZGp1c3QpOworCQl9CisKKwkJYWRqdGltZV9wLT5kcmlmdF9mYWN0b3IgPSBkcmlmdF9mYWN0b3I7CisJfQorCWFkanRpbWVfcC0+bGFzdF9jYWxpYl90aW1lID0gbm93dGltZS50dl9zZWM7CisKKwlhZGp0aW1lX3AtPmxhc3RfYWRqX3RpbWUgPSBub3d0aW1lLnR2X3NlYzsKKworCWFkanRpbWVfcC0+bm90X2FkanVzdGVkID0gMDsKKworCWFkanRpbWVfcC0+ZGlydHkgPSBUUlVFOworfQorCisvKgorICogQ2FsY3VsYXRlIHRoZSBkcmlmdCBjb3JyZWN0aW9uIGN1cnJlbnRseSBuZWVkZWQgZm9yIHRoZQorICogSGFyZHdhcmUgQ2xvY2sgYmFzZWQgb24gdGhlIGxhc3QgdGltZSBpdCB3YXMgYWRqdXN0ZWQsCisgKiBhbmQgdGhlIGN1cnJlbnQgZHJpZnQgZmFjdG9yLCBhcyBzdG9yZWQgaW4gdGhlIGFkanRpbWUgZmlsZS4KKyAqCisgKiBUaGUgdG90YWwgZHJpZnQgYWRqdXN0bWVudCBuZWVkZWQgaXMgc3RvcmVkIGF0IHRkcmlmdF9wLgorICoKKyAqLworc3RhdGljIHZvaWQKK2NhbGN1bGF0ZV9hZGp1c3RtZW50KGNvbnN0IGRvdWJsZSBmYWN0b3IsCisJCSAgICAgY29uc3QgdGltZV90IGxhc3RfdGltZSwKKwkJICAgICBjb25zdCBkb3VibGUgbm90X2FkanVzdGVkLAorCQkgICAgIGNvbnN0IHRpbWVfdCBzeXN0aW1lLCBzdHJ1Y3QgdGltZXZhbCAqdGRyaWZ0X3ApCit7CisJZG91YmxlIGV4YWN0X2FkanVzdG1lbnQ7CisKKwlleGFjdF9hZGp1c3RtZW50ID0KKwkgICAgKChkb3VibGUpKHN5c3RpbWUgLSBsYXN0X3RpbWUpKSAqIGZhY3RvciAvICgyNCAqIDYwICogNjApCisJICAgICsgbm90X2FkanVzdGVkOworCXRkcmlmdF9wLT50dl9zZWMgPSBGTE9PUihleGFjdF9hZGp1c3RtZW50KTsKKwl0ZHJpZnRfcC0+dHZfdXNlYyA9IChleGFjdF9hZGp1c3RtZW50IC0KKwkJCQkgKGRvdWJsZSl0ZHJpZnRfcC0+dHZfc2VjKSAqIDFFNjsKKwlpZiAoZGVidWcpIHsKKwkJcHJpbnRmKFBfKCJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlZCBzZWNvbmRcbiIsCisJCQkiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWQgc2Vjb25kc1xuIiwKKwkJICAgICAgIChpbnQpKHN5c3RpbWUgLSBsYXN0X3RpbWUpKSwKKwkJICAgICAgIChpbnQpKHN5c3RpbWUgLSBsYXN0X3RpbWUpKTsKKwkJcHJpbnRmKF8oIkNhbGN1bGF0ZWQgSGFyZHdhcmUgQ2xvY2sgZHJpZnQgaXMgJWxkLiUwNmxkIHNlY29uZHNcbiIpLAorCQkgICAgICAgKGxvbmcpdGRyaWZ0X3AtPnR2X3NlYywgKGxvbmcpdGRyaWZ0X3AtPnR2X3VzZWMpOworCX0KK30KKworLyoKKyAqIFdyaXRlIHRoZSBjb250ZW50cyBvZiB0aGUgPGFkanRpbWU+IHN0cnVjdHVyZSB0byBpdHMgZGlzayBmaWxlLgorICoKKyAqIEJ1dCBpZiB0aGUgY29udGVudHMgYXJlIGNsZWFuICh1bmNoYW5nZWQgc2luY2UgcmVhZCBmcm9tIGRpc2spLCBkb24ndAorICogYm90aGVyLgorICovCitzdGF0aWMgdm9pZCBzYXZlX2FkanRpbWUoY29uc3Qgc3RydWN0IGFkanRpbWUgYWRqdGltZSwgY29uc3QgYm9vbCB0ZXN0aW5nKQoreworCWNoYXIgbmV3ZmlsZVs0MTJdOwkvKiBTdHVmZiB0byB3cml0ZSB0byBkaXNrIGZpbGUgKi8KKworCWlmIChhZGp0aW1lLmRpcnR5KSB7CisJCS8qCisJCSAqIHNucHJpbnRmIGlzIG5vdCBhbHdheXMgYXZhaWxhYmxlLCBidXQgdGhpcyBpcyBzYWZlIGFzCisJCSAqIGxvbmcgYXMgbGliYyBkb2VzIG5vdCB1c2UgbW9yZSB0aGFuIDEwMCBwb3NpdGlvbnMgZm9yICVsZAorCQkgKiBvciAlZgorCQkgKi8KKwkJc3ByaW50ZihuZXdmaWxlLCAiJWYgJWxkICVmXG4lbGRcbiVzXG4iLAorCQkJYWRqdGltZS5kcmlmdF9mYWN0b3IsCisJCQkobG9uZylhZGp0aW1lLmxhc3RfYWRqX3RpbWUsCisJCQlhZGp0aW1lLm5vdF9hZGp1c3RlZCwKKwkJCShsb25nKWFkanRpbWUubGFzdF9jYWxpYl90aW1lLAorCQkJKGFkanRpbWUubG9jYWxfdXRjID09IExPQ0FMKSA/ICJMT0NBTCIgOiAiVVRDIik7CisKKwkJaWYgKHRlc3RpbmcpIHsKKwkJCXByaW50ZihfCisJCQkgICAgICAgKCJOb3QgdXBkYXRpbmcgYWRqdGltZSBmaWxlIGJlY2F1c2Ugb2YgdGVzdGluZyBtb2RlLlxuIikpOworCQkJcHJpbnRmKF8oIldvdWxkIGhhdmUgd3JpdHRlbiB0aGUgZm9sbG93aW5nIHRvICVzOlxuJXMiKSwKKwkJCSAgICAgICBhZGpfZmlsZV9uYW1lLCBuZXdmaWxlKTsKKwkJfSBlbHNlIHsKKwkJCUZJTEUgKmFkamZpbGU7CisJCQlpbnQgZXJyID0gMDsKKworCQkJYWRqZmlsZSA9IGZvcGVuKGFkal9maWxlX25hbWUsICJ3Iik7CisJCQlpZiAoYWRqZmlsZSA9PSBOVUxMKSB7CisJCQkJd2FybihfCisJCQkJICAgICAoIkNvdWxkIG5vdCBvcGVuIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzICIKKwkJCQkgICAgICAiaW4gaXQgKCVzKSBmb3Igd3JpdGluZyIpLCBhZGpfZmlsZV9uYW1lKTsKKwkJCQllcnIgPSAxOworCQkJfSBlbHNlIHsKKwkJCQlpZiAoZnB1dHMobmV3ZmlsZSwgYWRqZmlsZSkgPCAwKSB7CisJCQkJCXdhcm4oXworCQkJCQkgICAgICgiQ291bGQgbm90IHVwZGF0ZSBmaWxlIHdpdGggdGhlIGNsb2NrIGFkanVzdG1lbnQgIgorCQkJCQkgICAgICAicGFyYW1ldGVycyAoJXMpIGluIGl0IiksCisJCQkJCSAgICAgYWRqX2ZpbGVfbmFtZSk7CisJCQkJCWVyciA9IDE7CisJCQkJfQorCQkJCWlmIChjbG9zZV9zdHJlYW0oYWRqZmlsZSkgIT0gMCkgeworCQkJCQl3YXJuKF8KKwkJCQkJICAgICAoIkNvdWxkIG5vdCB1cGRhdGUgZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50ICIKKwkJCQkJICAgICAgInBhcmFtZXRlcnMgKCVzKSBpbiBpdCIpLAorCQkJCQkgICAgIGFkal9maWxlX25hbWUpOworCQkJCQllcnIgPSAxOworCQkJCX0KKwkJCX0KKwkJCWlmIChlcnIpCisJCQkJd2FybngoXworCQkJCSAgICAgICgiRHJpZnQgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIG5vdCB1cGRhdGVkLiIpKTsKKwkJfQorCX0KK30KKworLyoKKyAqIERvIHRoZSBhZGp1c3RtZW50IHJlcXVlc3RlZCwgYnkgMSkgc2V0dGluZyB0aGUgSGFyZHdhcmUgQ2xvY2sgKGlmCisgKiBuZWNlc3NhcnkpLCBhbmQgMikgdXBkYXRpbmcgdGhlIGxhc3QtYWRqdXN0ZWQgdGltZSBpbiB0aGUgYWRqdGltZQorICogc3RydWN0dXJlLgorICoKKyAqIERvIG5vdCB1cGRhdGUgYW55dGhpbmcgaWYgdGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGN1cnJlbnRseSBwcmVzZW50IGEKKyAqIHZhbGlkIHRpbWUuCisgKgorICogPGhjbG9ja192YWxpZD4gbWVhbnMgdGhlIEhhcmR3YXJlIENsb2NrIGNvbnRhaW5zIGEgdmFsaWQgdGltZS4KKyAqCisgKiA8aGNsb2NrdGltZT4gaXMgdGhlIGRyaWZ0IGNvcnJlY3RlZCB0aW1lIHJlYWQgZnJvbSB0aGUgSGFyZHdhcmUgQ2xvY2suCisgKgorICogPHJlYWRfdGltZT4gd2FzIHRoZSBzeXN0ZW0gdGltZSB3aGVuIHRoZSA8aGNsb2NrdGltZT4gd2FzIHJlYWQsIHdoaWNoIGR1ZQorICogdG8gY29tcHV0YXRpb25hbCBkZWxheSBjb3VsZCBiZSBhIHNob3J0IHRpbWUgYWdvLiBJdCBpcyB1c2VkIHRvIGRlZmluZSBhCisgKiB0cmlnZ2VyIHBvaW50IGZvciBzZXR0aW5nIHRoZSBIYXJkd2FyZSBDbG9jay4gVGhlIGZyYWN0aW9uYWwgcGFydCBvZiB0aGUKKyAqIEhhcmR3YXJlIGNsb2NrIHNldCB0aW1lIGlzIHN1YnRyYWN0ZWQgZnJvbSByZWFkX3RpbWUgdG8gJ3JlZmVyIGJhY2snLCBvcgorICogZGVsYXksIHRoZSB0cmlnZ2VyIHBvaW50LiAgRnJhY3Rpb25hbCBwYXJ0cyBtdXN0IGJlIGFjY291bnRlZCBmb3IgaW4gdGhpcworICogd2F5LCBiZWNhdXNlIHRoZSBIYXJkd2FyZSBDbG9jayBjYW4gb25seSBiZSBzZXQgdG8gYSB3aG9sZSBzZWNvbmQuCisgKgorICogPHVuaXZlcnNhbD46IHRoZSBIYXJkd2FyZSBDbG9jayBpcyBrZXB0IGluIFVUQy4KKyAqCisgKiA8dGVzdGluZz46ICBXZSBhcmUgcnVubmluZyBpbiB0ZXN0IG1vZGUgKG5vIHVwZGF0aW5nIG9mIGNsb2NrKS4KKyAqCisgKi8KK3N0YXRpYyB2b2lkCitkb19hZGp1c3RtZW50KHN0cnVjdCBhZGp0aW1lICphZGp0aW1lX3AsCisJICAgICAgY29uc3QgYm9vbCBoY2xvY2tfdmFsaWQsIGNvbnN0IHN0cnVjdCB0aW1ldmFsIGhjbG9ja3RpbWUsCisJICAgICAgY29uc3Qgc3RydWN0IHRpbWV2YWwgcmVhZF90aW1lLAorCSAgICAgIGNvbnN0IGJvb2wgdW5pdmVyc2FsLCBjb25zdCBib29sIHRlc3RpbmcpCit7CisJaWYgKCFoY2xvY2tfdmFsaWQpIHsKKwkJd2FybngoXygiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCAiCisJCQkic28gd2UgY2Fubm90IGFkanVzdCBpdC4iKSk7CisJCWFkanRpbWVfcC0+bGFzdF9jYWxpYl90aW1lID0gMDsJLyogY2FsaWJyYXRpb24gc3RhcnRvdmVyIGlzIHJlcXVpcmVkICovCisJCWFkanRpbWVfcC0+bGFzdF9hZGpfdGltZSA9IDA7CisJCWFkanRpbWVfcC0+bm90X2FkanVzdGVkID0gMDsKKwkJYWRqdGltZV9wLT5kaXJ0eSA9IFRSVUU7CisJfSBlbHNlIGlmIChhZGp0aW1lX3AtPmxhc3RfYWRqX3RpbWUgPT0gMCkgeworCQlpZiAoZGVidWcpCisJCQlwcmludGYoXygiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBsYXN0IGFkanVzdG1lbnQgdGltZSBpcyB6ZXJvLCAiCisJCQkJICJzbyBoaXN0b3J5IGlzIGJhZC5cbiIpKTsKKwl9IGVsc2UgaWYgKGZhYnMoYWRqdGltZV9wLT5kcmlmdF9mYWN0b3IpID4gTUFYX0RSSUZUKSB7CisJCWlmIChkZWJ1ZykKKwkJCXByaW50ZihfKCJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGRyaWZ0IGZhY3RvciAlZiBpcyBmYXIgdG9vIGhpZ2guXG4iKSwKKwkJCQlhZGp0aW1lX3AtPmRyaWZ0X2ZhY3Rvcik7CisJfSBlbHNlIHsKKwkJc2V0X2hhcmR3YXJlX2Nsb2NrX2V4YWN0KGhjbG9ja3RpbWUudHZfc2VjLAorCQkJCQkgdGltZV9pbmMocmVhZF90aW1lLAorCQkJCQkJICAtKGhjbG9ja3RpbWUudHZfdXNlYyAvIDFFNikpLAorCQkJCQkgdW5pdmVyc2FsLCB0ZXN0aW5nKTsKKwkJYWRqdGltZV9wLT5sYXN0X2Fkal90aW1lID0gaGNsb2NrdGltZS50dl9zZWM7CisJCWFkanRpbWVfcC0+bm90X2FkanVzdGVkID0gMDsKKwkJYWRqdGltZV9wLT5kaXJ0eSA9IFRSVUU7CisJfQorfQorCitzdGF0aWMgdm9pZCBkZXRlcm1pbmVfY2xvY2tfYWNjZXNzX21ldGhvZChjb25zdCBib29sIHVzZXJfcmVxdWVzdHNfSVNBKQoreworCXVyID0gTlVMTDsKKworCWlmICh1c2VyX3JlcXVlc3RzX0lTQSkKKwkJdXIgPSBwcm9iZV9mb3JfY21vc19jbG9jaygpOworCisjaWZkZWYgX19saW51eF9fCisJaWYgKCF1cikKKwkJdXIgPSBwcm9iZV9mb3JfcnRjX2Nsb2NrKCk7CisjZW5kaWYKKworCWlmIChkZWJ1ZykgeworCQlpZiAodXIpCisJCQlwdXRzKF8odXItPmludGVyZmFjZV9uYW1lKSk7CisJCWVsc2UKKwkJCXByaW50ZihfKCJObyB1c2FibGUgY2xvY2sgaW50ZXJmYWNlIGZvdW5kLlxuIikpOworCX0KK30KKworLyoKKyAqIERvIGFsbCB0aGUgbm9ybWFsIHdvcmsgb2YgaHdjbG9jayAtIHJlYWQsIHNldCBjbG9jaywgZXRjLgorICoKKyAqIElzc3VlIG91dHB1dCB0byBzdGRvdXQgYW5kIGVycm9yIG1lc3NhZ2UgdG8gc3RkZXJyIHdoZXJlIGFwcHJvcHJpYXRlLgorICoKKyAqIFJldHVybiByYyA9PSAwIGlmIGV2ZXJ5dGhpbmcgd2VudCBPSywgcmMgIT0gMCBpZiBub3QuCisgKi8KK3N0YXRpYyBpbnQKK21hbmlwdWxhdGVfY2xvY2soY29uc3QgYm9vbCBzaG93LCBjb25zdCBib29sIGFkanVzdCwgY29uc3QgYm9vbCBub2FkamZpbGUsCisJCSBjb25zdCBib29sIHNldCwgY29uc3QgdGltZV90IHNldF90aW1lLAorCQkgY29uc3QgYm9vbCBoY3Rvc3lzLCBjb25zdCBib29sIHN5c3RvaGMsIGNvbnN0IGJvb2wgc3lzdHosCisJCSBjb25zdCBzdHJ1Y3QgdGltZXZhbCBzdGFydHVwX3RpbWUsCisJCSBjb25zdCBib29sIHV0YywgY29uc3QgYm9vbCBsb2NhbF9vcHQsIGNvbnN0IGJvb2wgdXBkYXRlLAorCQkgY29uc3QgYm9vbCB0ZXN0aW5nLCBjb25zdCBib29sIHByZWRpY3QsIGNvbnN0IGJvb2wgZ2V0KQoreworCS8qIENvbnRlbnRzIG9mIHRoZSBhZGp0aW1lIGZpbGUsIG9yIHdoYXQgdGhleSBzaG91bGQgYmUuICovCisJc3RydWN0IGFkanRpbWUgYWRqdGltZSA9IHsgMCB9OworCWJvb2wgdW5pdmVyc2FsOworCS8qIFNldCBpZiB1c2VyIGxhY2tzIG5lY2Vzc2FyeSBhdXRob3JpemF0aW9uIHRvIGFjY2VzcyB0aGUgY2xvY2sgKi8KKwlib29sIG5vX2F1dGg7CisJLyogVGhlIHRpbWUgYXQgd2hpY2ggd2UgcmVhZCB0aGUgSGFyZHdhcmUgQ2xvY2sgKi8KKwlzdHJ1Y3QgdGltZXZhbCByZWFkX3RpbWU7CisJLyoKKwkgKiBUaGUgSGFyZHdhcmUgQ2xvY2sgZ2l2ZXMgdXMgYSB2YWxpZCB0aW1lLCBvciBhdAorCSAqIGxlYXN0IHNvbWV0aGluZyBjbG9zZSBlbm91Z2ggdG8gZm9vbCBta3RpbWUoKS4KKwkgKi8KKwlib29sIGhjbG9ja192YWxpZCA9IEZBTFNFOworCS8qCisJICogVGljayBzeW5jaHJvbml6ZWQgdGltZSByZWFkIGZyb20gdGhlIEhhcmR3YXJlIENsb2NrIGFuZAorCSAqIHRoZW4gZHJpZnQgY29ycmVjdCBmb3IgYWxsIG9wZXJhdGlvbnMgZXhjZXB0IC0tc2hvdy4KKwkgKi8KKwlzdHJ1Y3QgdGltZXZhbCBoY2xvY2t0aW1lID0geyAwLCAwIH07CisJLyogVG90YWwgSGFyZHdhcmUgQ2xvY2sgZHJpZnQgY29ycmVjdGlvbiBuZWVkZWQuICovCisJc3RydWN0IHRpbWV2YWwgdGRyaWZ0OworCS8qIGxvY2FsIHJldHVybiBjb2RlICovCisJaW50IHJjID0gMDsKKworCWlmICghc3lzdHogJiYgIXByZWRpY3QpIHsKKwkJbm9fYXV0aCA9IHVyLT5nZXRfcGVybWlzc2lvbnMoKTsKKwkJaWYgKG5vX2F1dGgpCisJCQlyZXR1cm4gRVhfTk9QRVJNOworCX0KKworCWlmICghbm9hZGpmaWxlICYmICEoc3lzdHogJiYgKHV0YyB8fCBsb2NhbF9vcHQpKSkgeworCQlyYyA9IHJlYWRfYWRqdGltZSgmYWRqdGltZSk7CisJCWlmIChyYykKKwkJCXJldHVybiByYzsKKwl9IGVsc2UgeworCQkvKiBBIGxpdHRsZSB0cmljayB0byBhdm9pZCB3cml0aW5nIHRoZSBmaWxlIGlmIHdlIGRvbid0IGhhdmUgdG8gKi8KKwkJYWRqdGltZS5kaXJ0eSA9IEZBTFNFOworCX0KKworCXVuaXZlcnNhbCA9IGh3X2Nsb2NrX2lzX3V0Yyh1dGMsIGxvY2FsX29wdCwgYWRqdGltZSk7CisKKwlpZiAoKHNldCB8fCBzeXN0b2hjIHx8IGFkanVzdCkgJiYKKwkgICAgKGFkanRpbWUubG9jYWxfdXRjID09IFVUQykgIT0gdW5pdmVyc2FsKSB7CisJCWFkanRpbWUubG9jYWxfdXRjID0gdW5pdmVyc2FsID8gVVRDIDogTE9DQUw7CisJCWFkanRpbWUuZGlydHkgPSBUUlVFOworCX0KKworCWlmIChzaG93IHx8IGdldCB8fCBhZGp1c3QgfHwgaGN0b3N5cyB8fCAoIW5vYWRqZmlsZSAmJiAhc3lzdHogJiYgIXByZWRpY3QpKSB7CisJCS8qIGRhdGEgZnJvbSBIVy1jbG9jayBhcmUgcmVxdWlyZWQgKi8KKwkJcmMgPSBzeW5jaHJvbml6ZV90b19jbG9ja190aWNrKCk7CisKKwkJLyoKKwkJICogMiA9IHN5bmNocm9uaXphdGlvbiB0aW1lb3V0LiBXZSBkb24ndAorCQkgKiBlcnJvciBvdXQgaWYgdGhlIHVzZXIgaXMgYXR0ZW1wdGluZyB0bworCQkgKiBzZXQgdGhlIFJUQyAtIHRoZSBSVEMgY291bGQgYmUKKwkJICogZnVuY3Rpb25pbmcgYnV0IGNvbnRhaW4gaW52YWxpZCB0aW1lIGRhdGEKKwkJICogc28gd2Ugc3RpbGwgd2FudCB0byBhbGxvdyBhIHVzZXIgdG8gc2V0CisJCSAqIHRoZSBSVEMgdGltZS4KKwkJICovCisJCWlmIChyYyAmJiByYyAhPSAyICYmICFzZXQgJiYgIXN5c3RvaGMpCisJCQlyZXR1cm4gRVhfSU9FUlI7CisJCWdldHRpbWVvZmRheSgmcmVhZF90aW1lLCBOVUxMKTsKKworCQkvKgorCQkgKiBJZiB3ZSBjYW4ndCBzeW5jaHJvbml6ZSB0byBhIGNsb2NrIHRpY2ssCisJCSAqIHdlIGxpa2VseSBjYW4ndCByZWFkIGZyb20gdGhlIFJUQyBzbworCQkgKiBkb24ndCBib3RoZXIgcmVhZGluZyBpdCBhZ2Fpbi4KKwkJICovCisJCWlmICghcmMpIHsKKwkJCXJjID0gcmVhZF9oYXJkd2FyZV9jbG9jayh1bml2ZXJzYWwsCisJCQkJCQkgJmhjbG9ja192YWxpZCwgJmhjbG9ja3RpbWUudHZfc2VjKTsKKwkJCWlmIChyYyAmJiAhc2V0ICYmICFzeXN0b2hjKQorCQkJCXJldHVybiBFWF9JT0VSUjsKKwkJfQorCX0KKwkvKgorCSAqIENhbGN1bGF0ZSBIYXJkd2FyZSBDbG9jayBkcmlmdCBmb3IgLS1wcmVkaWN0IHdpdGggdGhlIHVzZXIKKwkgKiBzdXBwbGllZCAtLWRhdGUgb3B0aW9uIHRpbWUsIGFuZCB3aXRoIHRoZSB0aW1lIHJlYWQgZnJvbSB0aGUKKwkgKiBIYXJkd2FyZSBDbG9jayBmb3IgYWxsIG90aGVyIG9wZXJhdGlvbnMuICBBcHBseSBkcmlmdCBjb3JyZWN0aW9uCisJICogdG8gdGhlIEhhcmR3YXJlIENsb2NrIHRpbWUgZm9yIGV2ZXJ5dGhpbmcgZXhjZXB0IC0tc2hvdyBhbmQKKwkgKiAtLXByZWRpY3QuICBGb3IgLS1wcmVkaWN0IG5lZ2F0ZSB0aGUgZHJpZnQgY29ycmVjdGlvbiwgYmVjYXVzZSB3ZQorCSAqIHdhbnQgdG8gJ3ByZWRpY3QnIGEgZnV0dXJlIEhhcmR3YXJlIENsb2NrIHRpbWUgdGhhdCBpbmNsdWRlcyBkcmlmdC4KKwkgKi8KKwloY2xvY2t0aW1lID0gcHJlZGljdCA/IHQydHYoc2V0X3RpbWUpIDogaGNsb2NrdGltZTsKKwljYWxjdWxhdGVfYWRqdXN0bWVudChhZGp0aW1lLmRyaWZ0X2ZhY3RvciwKKwkJCSAgICAgYWRqdGltZS5sYXN0X2Fkal90aW1lLAorCQkJICAgICBhZGp0aW1lLm5vdF9hZGp1c3RlZCwKKwkJCSAgICAgaGNsb2NrdGltZS50dl9zZWMsICZ0ZHJpZnQpOworCWlmICghc2hvdyAmJiAhcHJlZGljdCkKKwkJaGNsb2NrdGltZSA9IHRpbWVfaW5jKHRkcmlmdCwgaGNsb2NrdGltZS50dl9zZWMpOworCWlmIChzaG93IHx8IGdldCkgeworCQlkaXNwbGF5X3RpbWUoaGNsb2NrX3ZhbGlkLAorCQkJICAgICB0aW1lX2luYyhoY2xvY2t0aW1lLCAtdGltZV9kaWZmCisJCQkJICAgICAgKHJlYWRfdGltZSwgc3RhcnR1cF90aW1lKSkpOworCX0gZWxzZSBpZiAoc2V0KSB7CisJCXNldF9oYXJkd2FyZV9jbG9ja19leGFjdChzZXRfdGltZSwgc3RhcnR1cF90aW1lLAorCQkJCQkgdW5pdmVyc2FsLCB0ZXN0aW5nKTsKKwkJaWYgKCFub2FkamZpbGUpCisJCQlhZGp1c3RfZHJpZnRfZmFjdG9yKCZhZGp0aW1lLAorCQkJCQkgICAgdGltZV9pbmModDJ0dihzZXRfdGltZSksIHRpbWVfZGlmZgorCQkJCQkJICAgICAocmVhZF90aW1lLCBzdGFydHVwX3RpbWUpKSwKKwkJCQkJICAgIGhjbG9ja192YWxpZCwgaGNsb2NrdGltZSwgdXBkYXRlKTsKKwl9IGVsc2UgaWYgKGFkanVzdCkgeworCQlpZiAodGRyaWZ0LnR2X3NlYyA+IDAgfHwgdGRyaWZ0LnR2X3NlYyA8IC0xKQorCQkJZG9fYWRqdXN0bWVudCgmYWRqdGltZSwgaGNsb2NrX3ZhbGlkLAorCQkJCSAgICAgIGhjbG9ja3RpbWUsIHJlYWRfdGltZSwgdW5pdmVyc2FsLCB0ZXN0aW5nKTsKKwkJZWxzZQorCQkJcHJpbnRmKF8oIk5lZWRlZCBhZGp1c3RtZW50IGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kLCAiCisJCQkJICJzbyBub3Qgc2V0dGluZyBjbG9jay5cbiIpKTsKKwl9IGVsc2UgaWYgKHN5c3RvaGMpIHsKKwkJc3RydWN0IHRpbWV2YWwgbm93dGltZSwgcmVmdGltZTsKKwkJLyoKKwkJICogV2UgY2FuIG9ubHkgc2V0X2hhcmR3YXJlX2Nsb2NrX2V4YWN0IHRvIGEKKwkJICogd2hvbGUgc2Vjb25kcyB0aW1lLCBzbyB3ZSBzZXQgaXQgd2l0aAorCQkgKiByZWZlcmVuY2UgdG8gdGhlIG1vc3QgcmVjZW50IHdob2xlCisJCSAqIHNlY29uZHMgdGltZS4KKwkJICovCisJCWdldHRpbWVvZmRheSgmbm93dGltZSwgTlVMTCk7CisJCXJlZnRpbWUudHZfc2VjID0gbm93dGltZS50dl9zZWM7CisJCXJlZnRpbWUudHZfdXNlYyA9IDA7CisJCXNldF9oYXJkd2FyZV9jbG9ja19leGFjdCgodGltZV90KQorCQkJCQkgcmVmdGltZS50dl9zZWMsCisJCQkJCSByZWZ0aW1lLCB1bml2ZXJzYWwsIHRlc3RpbmcpOworCQlpZiAoIW5vYWRqZmlsZSkKKwkJCWFkanVzdF9kcmlmdF9mYWN0b3IoJmFkanRpbWUsIG5vd3RpbWUsCisJCQkJCSAgICBoY2xvY2tfdmFsaWQsIGhjbG9ja3RpbWUsIHVwZGF0ZSk7CisJfSBlbHNlIGlmIChoY3Rvc3lzKSB7CisJCXJjID0gc2V0X3N5c3RlbV9jbG9jayhoY2xvY2tfdmFsaWQsIGhjbG9ja3RpbWUsCisJCQkJICAgICAgdGVzdGluZywgdW5pdmVyc2FsKTsKKwkJaWYgKHJjKSB7CisJCQlwcmludGYoXygiVW5hYmxlIHRvIHNldCBzeXN0ZW0gY2xvY2suXG4iKSk7CisJCQlyZXR1cm4gcmM7CisJCX0KKwl9IGVsc2UgaWYgKHN5c3R6KSB7CisJCXJjID0gc2V0X3N5c3RlbV9jbG9ja190aW1lem9uZSh1bml2ZXJzYWwsIHRlc3RpbmcpOworCQlpZiAocmMpIHsKKwkJCXByaW50ZihfKCJVbmFibGUgdG8gc2V0IHN5c3RlbSBjbG9jay5cbiIpKTsKKwkJCXJldHVybiByYzsKKwkJfQorCX0gZWxzZSBpZiAocHJlZGljdCkgeworCQloY2xvY2t0aW1lID0gdGltZV9pbmMoaGNsb2NrdGltZSwgKGRvdWJsZSkKKwkJCQkgICAgICAtKHRkcmlmdC50dl9zZWMgKyB0ZHJpZnQudHZfdXNlYyAvIDFFNikpOworCQlpZiAoZGVidWcpIHsKKwkJCXByaW50ZihfCisJCQkgICAgICAgKCJBdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LCBSVEMgaXMgcHJlZGljdGVkIHRvIHJlYWQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OS5cbiIpLAorCQkJICAgICAgIHNldF90aW1lLCAobG9uZyloY2xvY2t0aW1lLnR2X3NlYyk7CisJCX0KKwkJZGlzcGxheV90aW1lKFRSVUUsIGhjbG9ja3RpbWUpOworCX0KKwlpZiAoIW5vYWRqZmlsZSkKKwkJc2F2ZV9hZGp0aW1lKGFkanRpbWUsIHRlc3RpbmcpOworCXJldHVybiAwOworfQorCisvKgorICogR2V0IG9yIHNldCB0aGUgSGFyZHdhcmUgQ2xvY2sgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbCwgYXMgYXBwcm9wcmlhdGUuCisgKiA8Z2V0ZXBvY2g+LCA8c2V0ZXBvY2g+LCBhbmQgPGVwb2NoPiBhcmUgaHdjbG9jayBpbnZvY2F0aW9uIG9wdGlvbnMuCisgKgorICogPGVwb2NoPiA9PSAtMSBpZiB0aGUgdXNlciBkaWQgbm90IHNwZWNpZnkgYW4gImVwb2NoIiBvcHRpb24uCisgKi8KKyNpZmRlZiBfX2xpbnV4X18KKy8qCisgKiBNYWludGVuYW5jZSBub3RlOiBUaGlzIHNob3VsZCB3b3JrIG9uIG5vbi1BbHBoYSBtYWNoaW5lcywgYnV0IHRoZQorICogZXZpZGVuY2UgdG9kYXkgKDk4LjAzLjA0KSBpbmRpY2F0ZXMgdGhhdCB0aGUga2VybmVsIG9ubHkga2VlcHMgdGhlIGVwb2NoCisgKiB2YWx1ZSBvbiBBbHBoYXMuIElmIHRoYXQgaXMgZXZlciBmaXhlZCwgdGhpcyBmdW5jdGlvbiBzaG91bGQgYmUgY2hhbmdlZC4KKyAqLworIyBpZm5kZWYgX19hbHBoYV9fCitzdGF0aWMgdm9pZAorbWFuaXB1bGF0ZV9lcG9jaChjb25zdCBib29sIGdldGVwb2NoIF9fYXR0cmlidXRlX18gKChfX3VudXNlZF9fKSksCisJCSBjb25zdCBib29sIHNldGVwb2NoIF9fYXR0cmlidXRlX18gKChfX3VudXNlZF9fKSksCisJCSBjb25zdCB1bnNpZ25lZCBsb25nIGVwb2NoX29wdCBfX2F0dHJpYnV0ZV9fICgoX191bnVzZWRfXykpLAorCQkgY29uc3QgYm9vbCB0ZXN0aW5nIF9fYXR0cmlidXRlX18gKChfX3VudXNlZF9fKSkpCit7CisJd2FybngoXygiVGhlIGtlcm5lbCBrZWVwcyBhbiBlcG9jaCB2YWx1ZSBmb3IgdGhlIEhhcmR3YXJlIENsb2NrICIKKwkJIm9ubHkgb24gYW4gQWxwaGEgbWFjaGluZS5cblRoaXMgY29weSBvZiBod2Nsb2NrIHdhcyBidWlsdCBmb3IgIgorCQkiYSBtYWNoaW5lIG90aGVyIHRoYW4gQWxwaGFcbihhbmQgdGh1cyBpcyBwcmVzdW1hYmx5IG5vdCBydW5uaW5nICIKKwkJIm9uIGFuIEFscGhhIG5vdykuICBObyBhY3Rpb24gdGFrZW4uIikpOworfQorIyBlbHNlCitzdGF0aWMgdm9pZAorbWFuaXB1bGF0ZV9lcG9jaChjb25zdCBib29sIGdldGVwb2NoLAorCQkgY29uc3QgYm9vbCBzZXRlcG9jaCwKKwkJIGNvbnN0IHVuc2lnbmVkIGxvbmcgZXBvY2hfb3B0LAorCQkgY29uc3QgYm9vbCB0ZXN0aW5nKQoreworCWlmIChnZXRlcG9jaCkgeworCQl1bnNpZ25lZCBsb25nIGVwb2NoOworCisJCWlmIChnZXRfZXBvY2hfcnRjKCZlcG9jaCwgMCkpCisJCQl3YXJueChfCisJCQkgICAgICAoIlVuYWJsZSB0byBnZXQgdGhlIGVwb2NoIHZhbHVlIGZyb20gdGhlIGtlcm5lbC4iKSk7CisJCWVsc2UKKwkJCXByaW50ZihfKCJLZXJuZWwgaXMgYXNzdW1pbmcgYW4gZXBvY2ggdmFsdWUgb2YgJWx1XG4iKSwKKwkJCSAgICAgICBlcG9jaCk7CisJfSBlbHNlIGlmIChzZXRlcG9jaCkgeworCQlpZiAoZXBvY2hfb3B0ID09IFVMT05HX01BWCkKKwkJCXdhcm54KF8KKwkJCSAgICAgICgiVG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSwgeW91IG11c3QgdXNlIHRoZSAnZXBvY2gnICIKKwkJCSAgICAgICAib3B0aW9uIHRvIHRlbGwgdG8gd2hhdCB2YWx1ZSB0byBzZXQgaXQuIikpOworCQllbHNlIGlmICh0ZXN0aW5nKQorCQkJcHJpbnRmKF8KKwkJCSAgICAgICAoIk5vdCBzZXR0aW5nIHRoZSBlcG9jaCB0byAlbHUgLSB0ZXN0aW5nIG9ubHkuXG4iKSwKKwkJCSAgICAgICBlcG9jaF9vcHQpOworCQllbHNlIGlmIChzZXRfZXBvY2hfcnRjKGVwb2NoX29wdCkpCisJCQlwcmludGYoXworCQkJICAgICAgICgiVW5hYmxlIHRvIHNldCB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbC5cbiIpKTsKKwl9Cit9CisjIGVuZGlmCQkvKiBfX2FscGhhX18gKi8KKyNlbmRpZgkJLyogX19saW51eF9fICovCisKKy8qCisgKiBDb21wYXJlIHRoZSBzeXN0ZW0gYW5kIENNT1MgdGltZSBhbmQgb3V0cHV0IHRoZSBkcmlmdAorICogaW4gMTAgc2Vjb25kIGludGVydmFscy4KKyAqLworc3RhdGljIGludCBjb21wYXJlX2Nsb2NrIChjb25zdCBib29sIHV0YywgY29uc3QgYm9vbCBsb2NhbF9vcHQpCit7CisJc3RydWN0IHRtIHRtOworCXN0cnVjdCB0aW1ldmFsIHR2OworCXN0cnVjdCBhZGp0aW1lIGFkanRpbWU7CisJZG91YmxlIHRpbWUxX3N5cywgdGltZTJfc3lzOworCXRpbWVfdCB0aW1lMV9odywgdGltZTJfaHc7CisJYm9vbCBoY2xvY2tfdmFsaWQgPSBGQUxTRSwgdW5pdmVyc2FsLCBmaXJzdF9wYXNzID0gVFJVRTsKKwlpbnQgcmM7CisKKwlpZiAodXItPmdldF9wZXJtaXNzaW9ucygpKQorCQlyZXR1cm4gRVhfTk9QRVJNOworCisJLyogZHVtbXkgY2FsbCBmb3IgaW5jcmVhc2VkIHByZWNpc2lvbiAqLworCWdldHRpbWVvZmRheSgmdHYsIE5VTEwpOworCisJcmMgPSByZWFkX2FkanRpbWUoJmFkanRpbWUpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJdW5pdmVyc2FsID0gaHdfY2xvY2tfaXNfdXRjKHV0YywgbG9jYWxfb3B0LCBhZGp0aW1lKTsKKworCXN5bmNocm9uaXplX3RvX2Nsb2NrX3RpY2soKTsKKwl1ci0+cmVhZF9oYXJkd2FyZV9jbG9jaygmdG0pOworCisJZ2V0dGltZW9mZGF5KCZ0diwgTlVMTCk7CisJdGltZTFfc3lzID0gdHYudHZfc2VjICsgdHYudHZfdXNlYyAvIDEwMDAwMDAuMDsKKworCW1rdGltZV90eih0bSwgdW5pdmVyc2FsLCAmaGNsb2NrX3ZhbGlkLCAmdGltZTFfaHcpOworCisJd2hpbGUgKDEpIHsKKwkJZG91YmxlIHJlczsKKworCQlzeW5jaHJvbml6ZV90b19jbG9ja190aWNrKCk7CisJCXVyLT5yZWFkX2hhcmR3YXJlX2Nsb2NrKCZ0bSk7CisKKwkJZ2V0dGltZW9mZGF5KCZ0diwgTlVMTCk7CisJCXRpbWUyX3N5cyA9IHR2LnR2X3NlYyArIHR2LnR2X3VzZWMgLyAxMDAwMDAwLjA7CisKKwkJbWt0aW1lX3R6KHRtLCB1bml2ZXJzYWwsICZoY2xvY2tfdmFsaWQsICZ0aW1lMl9odyk7CisKKwkJcmVzID0gKCgoZG91YmxlKSB0aW1lMV9odyAtIHRpbWUxX3N5cykgLQorCQkgICAgICAgKChkb3VibGUpIHRpbWUyX2h3IC0gdGltZTJfc3lzKSkKKwkJICAgICAgLyAoZG91YmxlKSAodGltZTJfaHcgLSB0aW1lMV9odyk7CisKKwkJaWYgKCFmaXJzdF9wYXNzKQorCQkJcHJpbnRmKCIlMTAuMGYgICAlMTAuNmYgICAlMTUuMGYgICAlNC4wZlxuIiwKKwkJCQkoZG91YmxlKSB0aW1lMl9odywgdGltZTJfc3lzLCByZXMgKiAxZTYsIHJlcyAqMWU0KTsKKwkJZWxzZSB7CisJCQlmaXJzdF9wYXNzID0gRkFMU0U7CisJCQlwcmludGYoImh3LXRpbWUgICAgICBzeXN0ZW0tdGltZSAgICAgICAgIGZyZXEtb2Zmc2V0LXBwbSAgIHRpY2tcbiIpOworCQkJcHJpbnRmKCIlMTAuMGYgICAlMTAuNmZcbiIsIChkb3VibGUpIHRpbWUxX2h3LCB0aW1lMV9zeXMpOworCQl9CisJCWZmbHVzaChzdGRvdXQpOworCQlzbGVlcCgxMCk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIG91dF92ZXJzaW9uKHZvaWQpCit7CisJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7Cit9CisKKy8qCisgKiB1c2FnZSAtIE91dHB1dCAoZXJyb3IgYW5kKSB1c2FnZSBpbmZvcm1hdGlvbgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGJvdGggZGlyZWN0bHkgZnJvbSBtYWluIHRvIHNob3cgdXNhZ2UgaW5mb3JtYXRpb24KKyAqIGFuZCBhcyBmYXRhbCBmdW5jdGlvbiBmcm9tIHNoaG9wdCBpZiBzb21lIGFyZ3VtZW50IGlzIG5vdCB1bmRlcnN0b29kLiBJbgorICogY2FzZSBvZiBub3JtYWwgdXNhZ2UgaW5mbyBGTVQgc2hvdWxkIGJlIE5VTEwuIEluIHRoYXQgY2FzZSB0aGUgaW5mbyBpcworICogcHJpbnRlZCB0byBzdGRvdXQuIElmIEZNVCBpcyBnaXZlbiB1c2FnZSB3aWxsIGFjdCBsaWtlIGZwcmludGYoIHN0ZGVyciwKKyAqIGZtdCwgLi4uICksIHNob3cgYSB1c2FnZSBpbmZvcm1hdGlvbiBhbmQgdGVybWluYXRlIHRoZSBwcm9ncmFtCisgKiBhZnRlcndhcmRzLgorICovCitzdGF0aWMgdm9pZCB1c2FnZShjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwlGSUxFICp1c2FnZXRvOworCXZhX2xpc3QgYXA7CisKKwl1c2FnZXRvID0gZm10ID8gc3RkZXJyIDogc3Rkb3V0OworCisJZnB1dHMoVVNBR0VfSEVBREVSLCB1c2FnZXRvKTsKKwlmcHV0cyhfKCIgaHdjbG9jayBbZnVuY3Rpb25dIFtvcHRpb24uLi5dXG4iKSwgdXNhZ2V0byk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIHVzYWdldG8pOworCWZwdXRzKF8oIlF1ZXJ5IG9yIHNldCB0aGUgaGFyZHdhcmUgY2xvY2suXG4iKSwgdXNhZ2V0byk7CisKKwlmcHV0cyhfKCJcbkZ1bmN0aW9uczpcbiIpLCB1c2FnZXRvKTsKKwlmcHV0cyhfKCIgLWgsIC0taGVscCAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorCQkiIC1yLCAtLXNob3cgICAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IHJlc3VsdFxuIgorCQkiICAgICAtLWdldCAgICAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IGRyaWZ0IGNvcnJlY3RlZCByZXN1bHRcbiIKKwkJIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIiksIHVzYWdldG8pOworCWZwdXRzKF8oIiAtcywgLS1oY3Rvc3lzICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisJCSIgLXcsIC0tc3lzdG9oYyAgICAgICAgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayBmcm9tIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lXG4iCisJCSIgICAgIC0tc3lzdHogICAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBiYXNlZCBvbiB0aGUgY3VycmVudCB0aW1lem9uZVxuIgorCQkiICAgICAtLWFkanVzdCAgICAgICAgIGFkanVzdCB0aGUgUlRDIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgc2luY2VcbiIKKwkJIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjbG9jayB3YXMgbGFzdCBzZXQgb3IgYWRqdXN0ZWRcbiIpLCB1c2FnZXRvKTsKKwlmcHV0cyhfKCIgLWMsIC0tY29tcGFyZSAgICAgICAgcGVyaW9kaWNhbGx5IGNvbXBhcmUgdGhlIHN5c3RlbSBjbG9jayB3aXRoIHRoZSBDTU9TIGNsb2NrXG4iKSwgdXNhZ2V0byk7CisjaWZkZWYgX19saW51eF9fCisJZnB1dHMoXygiICAgICAtLWdldGVwb2NoICAgICAgIHByaW50IG91dCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWVcbiIKKwkJIiAgICAgLS1zZXRlcG9jaCAgICAgICBzZXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlIHRvIHRoZSBcbiIKKwkJIiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGdpdmVuIHdpdGggLS1lcG9jaFxuIiksIHVzYWdldG8pOworI2VuZGlmCisJZnB1dHMoXygiICAgICAtLXByZWRpY3QgICAgICAgIHByZWRpY3QgUlRDIHJlYWRpbmcgYXQgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorCQkiIC1WLCAtLXZlcnNpb24gICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIiksIHVzYWdldG8pOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgdXNhZ2V0byk7CisJZnB1dHMoXygiIC11LCAtLXV0YyAgICAgICAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIFVUQ1xuIgorCQkiICAgICAtLWxvY2FsdGltZSAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIGxvY2FsIHRpbWVcbiIpLCB1c2FnZXRvKTsKKyNpZmRlZiBfX2xpbnV4X18KKwlmcHV0cyhfKCIgLWYsIC0tcnRjIDxmaWxlPiAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIpLCB1c2FnZXRvKTsKKyNlbmRpZgorCWZwcmludGYodXNhZ2V0bywgXygKKwkJIiAgICAgLS1kaXJlY3Rpc2EgICAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorCQkiICAgICAtLWJhZHllYXIgICAgICAgIGlnbm9yZSBSVEMncyB5ZWFyIGJlY2F1c2UgdGhlIEJJT1MgaXMgYnJva2VuXG4iCisJCSIgICAgIC0tZGF0ZSA8dGltZT4gICAgc3BlY2lmaWVzIHRoZSB0aW1lIHRvIHdoaWNoIHRvIHNldCB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKwkJIiAgICAgLS1lcG9jaCA8eWVhcj4gICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGVcbiIKKwkJIiAgICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIGNsb2NrJ3MgZXBvY2ggdmFsdWVcbiIpLCBfUEFUSF9SVENfREVWKTsKKwlmcHJpbnRmKHVzYWdldG8sIF8oCisJCSIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIGRyaWZ0IGZhY3RvciBpbiAlMSRzIChyZXF1aXJlc1xuIgorCQkiICAgICAgICAgICAgICAgICAgICAgICAgLS1zZXQgb3IgLS1zeXN0b2hjKVxuIgorCQkiICAgICAtLW5vYWRqZmlsZSAgICAgIGRvIG5vdCBhY2Nlc3MgJTEkczsgdGhpcyByZXF1aXJlcyB0aGUgdXNlIG9mXG4iCisJCSIgICAgICAgICAgICAgICAgICAgICAgICBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWVcbiIKKwkJIiAgICAgLS1hZGpmaWxlIDxmaWxlPiBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlO1xuIgorCQkiICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRlZmF1bHQgaXMgJTEkc1xuIiksIF9QQVRIX0FESlRJTUUpOworCWZwdXRzKF8oIiAgICAgLS10ZXN0ICAgICAgICAgICBkbyBub3QgdXBkYXRlIGFueXRoaW5nLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBoYXBwZW5cbiIKKwkJIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBkZWJ1Z2dpbmcgbW9kZVxuIiAiXG4iKSwgdXNhZ2V0byk7CisjaWZkZWYgX19hbHBoYV9fCisJZnB1dHMoXygiIC1KfC0tamVuc2VuLCAtQXwtLWFyYywgLVN8LS1zcm0sIC1GfC0tZnVua3ktdG95XG4iCisJCSIgICAgICB0ZWxsIGh3Y2xvY2sgdGhlIHR5cGUgb2YgQWxwaGEgeW91IGhhdmUgKHNlZSBod2Nsb2NrKDgpKVxuIgorCQkgIlxuIiksIHVzYWdldG8pOworI2VuZGlmCisKKwlpZiAoZm10KSB7CisJCXZhX3N0YXJ0KGFwLCBmbXQpOworCQl2ZnByaW50Zih1c2FnZXRvLCBmbXQsIGFwKTsKKwkJdmFfZW5kKGFwKTsKKwl9CisKKwlmZmx1c2godXNhZ2V0byk7CisJaHdjbG9ja19leGl0KGZtdCA/IEVYX1VTQUdFIDogRVhfT0spOworfQorCisvKgorICogUmV0dXJuczoKKyAqICBFWF9VU0FHRTogYmFkIGludm9jYXRpb24KKyAqICBFWF9OT1BFUk06IG5vIHBlcm1pc3Npb24KKyAqICBFWF9PU0ZJTEU6IGNhbm5vdCBvcGVuIC9kZXYvcnRjIG9yIC9ldGMvYWRqdGltZQorICogIEVYX0lPRVJSOiBpb2N0bCBlcnJvciBnZXR0aW5nIG9yIHNldHRpbmcgdGhlIHRpbWUKKyAqICAwOiBPSyAob3Igbm90KQorICogIDE6IGZhaWx1cmUKKyAqLworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCXN0cnVjdCB0aW1ldmFsIHN0YXJ0dXBfdGltZTsKKwkvKgorCSAqIFRoZSB0aW1lIHdlIHN0YXJ0ZWQgdXAsIGluIHNlY29uZHMgaW50byB0aGUgZXBvY2gsIGluY2x1ZGluZworCSAqIGZyYWN0aW9ucy4KKwkgKi8KKwl0aW1lX3Qgc2V0X3RpbWUgPSAwOwkvKiBUaW1lIHRvIHdoaWNoIHVzZXIgc2FpZCB0byBzZXQgSGFyZHdhcmUgQ2xvY2sgKi8KKwlpbnQgcmMsIGM7CisKKwkvKiBWYXJpYWJsZXMgc2V0IGJ5IHZhcmlvdXMgb3B0aW9uczsgc2hvdyBtYXkgYWxzbyBiZSBzZXQgbGF0ZXIgKi8KKwkvKiBUaGUgb3B0aW9ucyBkZWJ1ZywgYmFkeWVhciBhbmQgZXBvY2hfb3B0aW9uIGFyZSBnbG9iYWwgKi8KKwlib29sIHNob3csIHNldCwgc3lzdG9oYywgaGN0b3N5cywgc3lzdHosIGFkanVzdCwgZ2V0ZXBvY2gsIHNldGVwb2NoLAorCSAgICBwcmVkaWN0LCBjb21wYXJlLCBnZXQ7CisJYm9vbCB1dGMsIHRlc3RpbmcsIGxvY2FsX29wdCwgdXBkYXRlLCBub2FkamZpbGUsIGRpcmVjdGlzYTsKKwljaGFyICpkYXRlX29wdDsKKyNpZmRlZiBfX2FscGhhX18KKwlib29sIEFSQ2NvbnNvbGUsIEplbnNlbiwgU1JNLCBmdW5reV90b3k7CisjZW5kaWYKKwkvKiBMb25nIG9ubHkgb3B0aW9ucy4gKi8KKwllbnVtIHsKKwkJT1BUX0FESkZJTEUgPSBDSEFSX01BWCArIDEsCisJCU9QVF9CQURZRUFSLAorCQlPUFRfREFURSwKKwkJT1BUX0RJUkVDVElTQSwKKwkJT1BUX0VQT0NILAorCQlPUFRfR0VULAorCQlPUFRfR0VURVBPQ0gsCisJCU9QVF9MT0NBTFRJTUUsCisJCU9QVF9OT0FESkZJTEUsCisJCU9QVF9QUkVESUNUX0hDLAorCQlPUFRfU0VULAorCQlPUFRfU0VURVBPQ0gsCisJCU9QVF9TWVNUWiwKKwkJT1BUX1RFU1QsCisJCU9QVF9VUERBVEUKKwl9OworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJhZGp1c3QiLAkwLCAwLCAnYSd9LAorCQl7ImNvbXBhcmUiLAkwLCAwLCAnYyd9LAorCQl7ImhlbHAiLAkwLCAwLCAnaCd9LAorCQl7InNob3ciLAkwLCAwLCAncid9LAorCQl7ImhjdG9zeXMiLAkwLCAwLCAncyd9LAorCQl7InV0YyIsCQkwLCAwLCAndSd9LAorCQl7InZlcnNpb24iLAkwLCAwLCAndid9LAorCQl7InN5c3RvaGMiLAkwLCAwLCAndyd9LAorCQl7ImRlYnVnIiwJMCwgMCwgJ0QnfSwKKyNpZmRlZiBfX2FscGhhX18KKwkJeyJBUkMiLAkJMCwgMCwgJ0EnfSwKKwkJeyJhcmMiLAkJMCwgMCwgJ0EnfSwKKwkJeyJKZW5zZW4iLAkwLCAwLCAnSid9LAorCQl7ImplbnNlbiIsCTAsIDAsICdKJ30sCisJCXsiU1JNIiwJCTAsIDAsICdTJ30sCisJCXsic3JtIiwJCTAsIDAsICdTJ30sCisJCXsiZnVua3ktdG95IiwJMCwgMCwgJ0YnfSwKKyNlbmRpZgorCQl7InNldCIsCQkwLCAwLCBPUFRfU0VUfSwKKyNpZmRlZiBfX2xpbnV4X18KKwkJeyJnZXRlcG9jaCIsCTAsIDAsIE9QVF9HRVRFUE9DSH0sCisJCXsic2V0ZXBvY2giLAkwLCAwLCBPUFRfU0VURVBPQ0h9LAorI2VuZGlmCisJCXsibm9hZGpmaWxlIiwJMCwgMCwgT1BUX05PQURKRklMRX0sCisJCXsibG9jYWx0aW1lIiwJMCwgMCwgT1BUX0xPQ0FMVElNRX0sCisJCXsiYmFkeWVhciIsCTAsIDAsIE9QVF9CQURZRUFSfSwKKwkJeyJkaXJlY3Rpc2EiLAkwLCAwLCBPUFRfRElSRUNUSVNBfSwKKwkJeyJ0ZXN0IiwJMCwgMCwgT1BUX1RFU1R9LAorCQl7ImRhdGUiLAkxLCAwLCBPUFRfREFURX0sCisJCXsiZXBvY2giLAkxLCAwLCBPUFRfRVBPQ0h9LAorI2lmZGVmIF9fbGludXhfXworCQl7InJ0YyIsCQkxLCAwLCAnZid9LAorI2VuZGlmCisJCXsiYWRqZmlsZSIsCTEsIDAsIE9QVF9BREpGSUxFfSwKKwkJeyJzeXN0eiIsCTAsIDAsIE9QVF9TWVNUWn0sCisJCXsicHJlZGljdC1oYyIsCTAsIDAsIE9QVF9QUkVESUNUX0hDfSwKKwkJeyJnZXQiLAkJMCwgMCwgT1BUX0dFVH0sCisJCXsidXBkYXRlLWRyaWZ0IiwwLCAwLCBPUFRfVVBEQVRFfSwKKwkJe05VTEwsCQkwLCBOVUxMLCAwfQorCX07CisKKwlzdGF0aWMgY29uc3QgdWxfZXhjbF90IGV4Y2xbXSA9IHsJLyogcm93cyBhbmQgY29scyBpbiBpbiBBU0NJSSBvcmRlciAqLworCQl7ICdhJywncicsJ3MnLCd3JywKKwkJICBPUFRfR0VULCBPUFRfR0VURVBPQ0gsIE9QVF9QUkVESUNUX0hDLAorCQkgIE9QVF9TRVQsIE9QVF9TRVRFUE9DSCwgT1BUX1NZU1RaIH0sCisJCXsgJ3UnLCBPUFRfTE9DQUxUSU1FfSwKKwkJeyBPUFRfQURKRklMRSwgT1BUX05PQURKRklMRSB9LAorCQl7IE9QVF9OT0FESkZJTEUsIE9QVF9VUERBVEUgfSwKKwkJeyAwIH0KKwl9OworCWludCBleGNsX3N0W0FSUkFZX1NJWkUoZXhjbCldID0gVUxfRVhDTF9TVEFUVVNfSU5JVDsKKworCS8qIFJlbWVtYmVyIHdoYXQgdGltZSB3ZSB3ZXJlIGludm9rZWQgKi8KKwlnZXR0aW1lb2ZkYXkoJnN0YXJ0dXBfdGltZSwgTlVMTCk7CisKKyNpZmRlZiBIQVZFX0xJQkFVRElUCisJaHdhdWRpdF9mZCA9IGF1ZGl0X29wZW4oKTsKKwlpZiAoaHdhdWRpdF9mZCA8IDAgJiYgIShlcnJubyA9PSBFSU5WQUwgfHwgZXJybm8gPT0gRVBST1RPTk9TVVBQT1JUIHx8CisJCQkJZXJybm8gPT0gRUFGTk9TVVBQT1JUKSkgeworCQkvKgorCQkgKiBZb3UgZ2V0IHRoZXNlIGVycm9yIGNvZGVzIG9ubHkgd2hlbiB0aGUga2VybmVsIGRvZXNuJ3QKKwkJICogaGF2ZSBhdWRpdCBjb21waWxlZCBpbi4KKwkJICovCisJCXdhcm54KF8oIlVuYWJsZSB0byBjb25uZWN0IHRvIGF1ZGl0IHN5c3RlbSIpKTsKKwkJcmV0dXJuIEVYX05PUEVSTTsKKwl9CisjZW5kaWYKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisjaWZkZWYgTENfTlVNRVJJQworCS8qCisJICogV2UgbmVlZCBMQ19DVFlQRSBhbmQgTENfVElNRSBhbmQgTENfTUVTU0FHRVMsIGJ1dCBtdXN0IGF2b2lkCisJICogTENfTlVNRVJJQyBzaW5jZSBpdCBnaXZlcyBwcm9ibGVtcyB3aGVuIHdlIHdyaXRlIHRvIC9ldGMvYWRqdGltZS4KKwkgKiAgLSBncXVlcmlAbWFpbC5kb3Rjb20uZnIKKwkgKi8KKwlzZXRsb2NhbGUoTENfTlVNRVJJQywgIkMiKTsKKyNlbmRpZgorCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCS8qIFNldCBvcHRpb24gZGVmYXVsdHMgKi8KKwlzaG93ID0gc2V0ID0gc3lzdG9oYyA9IGhjdG9zeXMgPSBzeXN0eiA9IGFkanVzdCA9IG5vYWRqZmlsZSA9IHByZWRpY3QgPQorCSAgICBjb21wYXJlID0gZ2V0ID0gdXBkYXRlID0gRkFMU0U7CisJZ2V0ZXBvY2ggPSBzZXRlcG9jaCA9IHV0YyA9IGxvY2FsX29wdCA9IGRpcmVjdGlzYSA9IHRlc3RpbmcgPSBkZWJ1ZyA9IEZBTFNFOworI2lmZGVmIF9fYWxwaGFfXworCUFSQ2NvbnNvbGUgPSBKZW5zZW4gPSBTUk0gPSBmdW5reV90b3kgPSBiYWR5ZWFyID0gRkFMU0U7CisjZW5kaWYKKwlkYXRlX29wdCA9IE5VTEw7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LAorCQkJCSI/aHZWRGFjcnN1d0FKU0ZmOiIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKworCQllcnJfZXhjbHVzaXZlX29wdGlvbnMoYywgbG9uZ29wdHMsIGV4Y2wsIGV4Y2xfc3QpOworCisJCXN3aXRjaCAoYykgeworCQljYXNlICdEJzoKKwkJCSsrZGVidWc7CisJCQlicmVhazsKKwkJY2FzZSAnYSc6CisJCQlhZGp1c3QgPSBUUlVFOworCQkJYnJlYWs7CisJCWNhc2UgJ2MnOgorCQkJY29tcGFyZSA9IFRSVUU7CisJCQlicmVhazsKKwkJY2FzZSAncic6CisJCQlzaG93ID0gVFJVRTsKKwkJCWJyZWFrOworCQljYXNlICdzJzoKKwkJCWhjdG9zeXMgPSBUUlVFOworCQkJYnJlYWs7CisJCWNhc2UgJ3UnOgorCQkJdXRjID0gVFJVRTsKKwkJCWJyZWFrOworCQljYXNlICd3JzoKKwkJCXN5c3RvaGMgPSBUUlVFOworCQkJYnJlYWs7CisjaWZkZWYgX19hbHBoYV9fCisJCWNhc2UgJ0EnOgorCQkJQVJDY29uc29sZSA9IFRSVUU7CisJCQlicmVhazsKKwkJY2FzZSAnSic6CisJCQlKZW5zZW4gPSBUUlVFOworCQkJYnJlYWs7CisJCWNhc2UgJ1MnOgorCQkJU1JNID0gVFJVRTsKKwkJCWJyZWFrOworCQljYXNlICdGJzoKKwkJCWZ1bmt5X3RveSA9IFRSVUU7CisJCQlicmVhazsKKyNlbmRpZgorCQljYXNlIE9QVF9TRVQ6CisJCQlzZXQgPSBUUlVFOworCQkJYnJlYWs7CisjaWZkZWYgX19saW51eF9fCisJCWNhc2UgT1BUX0dFVEVQT0NIOgorCQkJZ2V0ZXBvY2ggPSBUUlVFOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX1NFVEVQT0NIOgorCQkJc2V0ZXBvY2ggPSBUUlVFOworCQkJYnJlYWs7CisjZW5kaWYKKwkJY2FzZSBPUFRfTk9BREpGSUxFOgorCQkJbm9hZGpmaWxlID0gVFJVRTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9MT0NBTFRJTUU6CisJCQlsb2NhbF9vcHQgPSBUUlVFOwkvKiAtLWxvY2FsdGltZSAqLworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0JBRFlFQVI6CisJCQliYWR5ZWFyID0gVFJVRTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9ESVJFQ1RJU0E6CisJCQlkaXJlY3Rpc2EgPSBUUlVFOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX1RFU1Q6CisJCQl0ZXN0aW5nID0gVFJVRTsJCS8qIC0tdGVzdCAqLworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0RBVEU6CisJCQlkYXRlX29wdCA9IG9wdGFyZzsJLyogLS1kYXRlICovCisJCQlicmVhazsKKwkJY2FzZSBPUFRfRVBPQ0g6CisJCQllcG9jaF9vcHRpb24gPQkJLyogLS1lcG9jaCAqLworCQkJICAgIHN0cnRvdWxfb3JfZXJyKG9wdGFyZywgXygiaW52YWxpZCBlcG9jaCBhcmd1bWVudCIpKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9BREpGSUxFOgorCQkJYWRqX2ZpbGVfbmFtZSA9IG9wdGFyZzsJLyogLS1hZGpmaWxlICovCisJCQlicmVhazsKKwkJY2FzZSBPUFRfU1lTVFo6CisJCQlzeXN0eiA9IFRSVUU7CQkvKiAtLXN5c3R6ICovCisJCQlicmVhazsKKwkJY2FzZSBPUFRfUFJFRElDVF9IQzoKKwkJCXByZWRpY3QgPSBUUlVFOwkJLyogLS1wcmVkaWN0LWhjICovCisJCQlicmVhazsKKwkJY2FzZSBPUFRfR0VUOgorCQkJZ2V0ID0gVFJVRTsJCS8qIC0tZ2V0ICovCisJCQlicmVhazsKKwkJY2FzZSBPUFRfVVBEQVRFOgorCQkJdXBkYXRlID0gVFJVRTsJCS8qIC0tdXBkYXRlLWRyaWZ0ICovCisJCQlicmVhazsKKyNpZmRlZiBfX2xpbnV4X18KKwkJY2FzZSAnZic6CisJCQlydGNfZGV2X25hbWUgPSBvcHRhcmc7CS8qIC0tcnRjICovCisJCQlicmVhazsKKyNlbmRpZgorCQljYXNlICd2JzoJCQkvKiAtLXZlcnNpb24gKi8KKwkJY2FzZSAnVic6CisJCQlvdXRfdmVyc2lvbigpOworCQkJcmV0dXJuIDA7CisJCWNhc2UgJ2gnOgkJCS8qIC0taGVscCAqLworCQljYXNlICc/JzoKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKE5VTEwpOworCQl9CisJfQorCisJYXJnYyAtPSBvcHRpbmQ7CisJYXJndiArPSBvcHRpbmQ7CisKKyNpZmRlZiBIQVZFX0xJQkFVRElUCisJaWYgKHRlc3RpbmcgIT0gVFJVRSkgeworCQlpZiAoYWRqdXN0ID09IFRSVUUgfHwgaGN0b3N5cyA9PSBUUlVFIHx8IHN5c3RvaGMgPT0gVFJVRSB8fAorCQkgICAgc2V0ID09IFRSVUUgfHwgc2V0ZXBvY2ggPT0gVFJVRSkgeworCQkJaHdhdWRpdF9vbiA9IFRSVUU7CisJCX0KKwl9CisjZW5kaWYKKwlpZiAoYXJnYyA+IDApIHsKKwkJdXNhZ2UoXygiJXMgdGFrZXMgbm8gbm9uLW9wdGlvbiBhcmd1bWVudHMuICAiCisJCQkiWW91IHN1cHBsaWVkICVkLlxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lLAorCQkgICAgICBhcmdjKTsKKwl9CisKKwlpZiAoIWFkal9maWxlX25hbWUpCisJCWFkal9maWxlX25hbWUgPSBfUEFUSF9BREpUSU1FOworCisJaWYgKG5vYWRqZmlsZSAmJiAhdXRjICYmICFsb2NhbF9vcHQpIHsKKwkJd2FybngoXygiV2l0aCAtLW5vYWRqZmlsZSwgeW91IG11c3Qgc3BlY2lmeSAiCisJCQkiZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lIikpOworCQlod2Nsb2NrX2V4aXQoRVhfVVNBR0UpOworCX0KKyNpZmRlZiBfX2FscGhhX18KKwlzZXRfY21vc19lcG9jaChBUkNjb25zb2xlLCBTUk0pOworCXNldF9jbW9zX2FjY2VzcyhKZW5zZW4sIGZ1bmt5X3RveSk7CisjZW5kaWYKKworCWlmIChzZXQgfHwgcHJlZGljdCkgeworCQlyYyA9IGludGVycHJldF9kYXRlX3N0cmluZyhkYXRlX29wdCwgJnNldF90aW1lKTsKKwkJLyogKHRpbWUtY29uc3VtaW5nKSAqLworCQlpZiAocmMgIT0gMCkgeworCQkJd2FybngoXygiTm8gdXNhYmxlIHNldC10byB0aW1lLiAgIgorCQkJCSJDYW5ub3Qgc2V0IGNsb2NrLiIpKTsKKwkJCWh3Y2xvY2tfZXhpdChFWF9VU0FHRSk7CisJCX0KKwl9CisKKwlpZiAoIShzaG93IHwgc2V0IHwgc3lzdG9oYyB8IGhjdG9zeXMgfCBzeXN0eiB8IGFkanVzdCB8IGdldGVwb2NoCisJICAgICAgfCBzZXRlcG9jaCB8IHByZWRpY3QgfCBjb21wYXJlIHwgZ2V0KSkKKwkJc2hvdyA9IDE7CS8qIGRlZmF1bHQgdG8gc2hvdyAqLworCisKKyNpZmRlZiBfX2xpbnV4X18KKwlpZiAoZ2V0ZXBvY2ggfHwgc2V0ZXBvY2gpIHsKKwkJbWFuaXB1bGF0ZV9lcG9jaChnZXRlcG9jaCwgc2V0ZXBvY2gsIGVwb2NoX29wdGlvbiwgdGVzdGluZyk7CisJCWh3Y2xvY2tfZXhpdChFWF9PSyk7CisJfQorI2VuZGlmCisKKwlpZiAoZGVidWcpCisJCW91dF92ZXJzaW9uKCk7CisKKwlpZiAoIXN5c3R6ICYmICFwcmVkaWN0KSB7CisJCWRldGVybWluZV9jbG9ja19hY2Nlc3NfbWV0aG9kKGRpcmVjdGlzYSk7CisJCWlmICghdXIpIHsKKwkJCXdhcm54KF8oIkNhbm5vdCBhY2Nlc3MgdGhlIEhhcmR3YXJlIENsb2NrIHZpYSAiCisJCQkJImFueSBrbm93biBtZXRob2QuIikpOworCQkJaWYgKCFkZWJ1ZykKKwkJCQl3YXJueChfKCJVc2UgdGhlIC0tZGVidWcgb3B0aW9uIHRvIHNlZSB0aGUgIgorCQkJCQkiZGV0YWlscyBvZiBvdXIgc2VhcmNoIGZvciBhbiBhY2Nlc3MgIgorCQkJCQkibWV0aG9kLiIpKTsKKwkJCWh3Y2xvY2tfZXhpdChFWF9TT0ZUV0FSRSk7CisJCX0KKwl9CisKKwlpZiAoY29tcGFyZSkgeworCQlpZiAoY29tcGFyZV9jbG9jayh1dGMsIGxvY2FsX29wdCkpCisJCQlod2Nsb2NrX2V4aXQoRVhfTk9QRVJNKTsKKworCQlyYyA9IEVYX09LOworCX0gZWxzZQorCQlyYyA9IG1hbmlwdWxhdGVfY2xvY2soc2hvdywgYWRqdXN0LCBub2FkamZpbGUsIHNldCwgc2V0X3RpbWUsCisJCQkgICAgICBoY3Rvc3lzLCBzeXN0b2hjLCBzeXN0eiwgc3RhcnR1cF90aW1lLCB1dGMsCisJCQkgICAgICBsb2NhbF9vcHQsIHVwZGF0ZSwgdGVzdGluZywgcHJlZGljdCwgZ2V0KTsKKworCWh3Y2xvY2tfZXhpdChyYyk7CisJcmV0dXJuIHJjOwkJLyogTm90IHJlYWNoZWQgKi8KK30KKworI2lmZGVmIEhBVkVfTElCQVVESVQKKy8qCisgKiBod2Nsb2NrX2V4aXQgY2FsbHMgZWl0aGVyIHRoaXMgZnVuY3Rpb24gb3IgcGxhaW4gZXhpdCBkZXBlbmRpbmcKKyAqIEhBVkVfTElCQVVESVQgc2VlIGFsc28gY2xvY2suaAorICovCit2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIGh3YXVkaXRfZXhpdChpbnQgc3RhdHVzKQoreworCWlmIChod2F1ZGl0X29uKSB7CisJCWF1ZGl0X2xvZ191c2VyX21lc3NhZ2UoaHdhdWRpdF9mZCwgQVVESVRfVVNZU19DT05GSUcsCisJCQkJICAgICAgICJvcD1jaGFuZ2Utc3lzdGVtLXRpbWUiLCBOVUxMLCBOVUxMLCBOVUxMLAorCQkJCSAgICAgICBzdGF0dXMgPyAwIDogMSk7CisJCWNsb3NlKGh3YXVkaXRfZmQpOworCX0KKwlleGl0KHN0YXR1cyk7Cit9CisjZW5kaWYKKworLyoKKyAqIEhpc3Rvcnkgb2YgdGhpcyBwcm9ncmFtOgorICoKKyAqIDk4LjA4LjEyIEJKSCBWZXJzaW9uIDIuNAorICoKKyAqIERvbid0IHVzZSBjZW50dXJ5IGJ5dGUgZnJvbSBIYXJkd2FyZSBDbG9jay4gQWRkIGNvbW1lbnRzIHRlbGxpbmcgd2h5LgorICoKKyAqIDk4LjA2LjIwIEJKSCBWZXJzaW9uIDIuMy4KKyAqCisgKiBNYWtlIC0taGN0b3N5cyBzZXQgdGhlIGtlcm5lbCB0aW1lem9uZSBmcm9tIFRaIGVudmlyb25tZW50IHZhcmlhYmxlCisgKiBhbmQvb3IgL3Vzci9saWIvem9uZWluZm8uIEZyb20gS2xhdXMgUmlwa2UgKGtsYXVzQHJpcGtlLmNvbSkuCisgKgorICogOTguMDMuMDUgQkpILiBWZXJzaW9uIDIuMi4KKyAqCisgKiBBZGQgLS1nZXRlcG9jaCBhbmQgLS1zZXRlcG9jaC4KKyAqCisgKiBGaXggc29tZSB3b3JkIGxlbmd0aCB0aGluZ3Mgc28gaXQgd29ya3Mgb24gQWxwaGEuCisgKgorICogTWFrZSBpdCB3b3JrIHdoZW4gL2Rldi9ydGMgZG9lc24ndCBoYXZlIHRoZSBpbnRlcnJ1cHQgZnVuY3Rpb25zLiBJbiB0aGlzCisgKiBjYXNlLCBidXN5d2FpdCBmb3IgdGhlIHRvcCBvZiBhIHNlY29uZCBpbnN0ZWFkIG9mIGJsb2NraW5nIGFuZCB3YWl0aW5nCisgKiBmb3IgdGhlIHVwZGF0ZSBjb21wbGV0ZSBpbnRlcnJ1cHQuCisgKgorICogRml4IGEgYnVuY2ggb2YgYnVncyB0b28gbnVtZXJvdXMgdG8gbWVudGlvbi4KKyAqCisgKiA5Ny4wNi4wMTogQkpILiBWZXJzaW9uIDIuMS4gUmVhZCBhbmQgd3JpdGUgdGhlIGNlbnR1cnkgYnl0ZSAoQnl0ZSA1MCkgb2YKKyAqIHRoZSBJU0EgSGFyZHdhcmUgQ2xvY2sgd2hlbiB1c2luZyBkaXJlY3QgSVNBIEkvTy4gUHJvYmxlbSBkaXNjb3ZlcmVkIGJ5CisgKiBqb2IgKGplaUBpY2xubC5pY2wubmwpLgorICoKKyAqIFVzZSB0aGUgcnRjIGNsb2NrIGFjY2VzcyBtZXRob2QgaW4gcHJlZmVyZW5jZSB0byB0aGUgS0RHSFdDTEsgbWV0aG9kLgorICogUHJvYmxlbSBkaXNjb3ZlcmVkIGJ5IEFuZHJlYXMgU2Nod2FiIDxzY2h3YWJATFM1LmluZm9ybWF0aWsudW5pLWRvcnRtdW5kLmRlPi4KKyAqCisgKiBOb3ZlbWJlciAxOTk2OiBWZXJzaW9uIDIuMC4xLiBNb2RpZmljYXRpb25zIGJ5IE5pY29sYWkgTGFuZ2ZlbGR0CisgKiAoamFubEBtYXRoLnVpby5ubykgdG8gbWFrZSBpdCBjb21waWxlIG9uIGxpbnV4IDEuMiBtYWNoaW5lcyBhcyB3ZWxsIGFzCisgKiBtb3JlIHJlY2VudCB2ZXJzaW9ucyBvZiB0aGUga2VybmVsLiBJbnRyb2R1Y2VkIHRoZSBOT19DTE9DSyBhY2Nlc3MgbWV0aG9kCisgKiBhbmQgd3JvdGUgZmVhdHVyZSB0ZXN0IGNvZGUgdG8gZGV0ZWN0IGFic2VuY2Ugb2YgcnRjIGhlYWRlcnMuCisgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogTWFpbnRlbmFuY2Ugbm90ZXMKKyAqCisgKiBUbyBjb21waWxlIHRoaXMsIHlvdSBtdXN0IHVzZSBHTlUgY29tcGlsZXIgb3B0aW1pemF0aW9uICgtTyBvcHRpb24pIGluCisgKiBvcmRlciB0byBtYWtlIHRoZSAiZXh0ZXJuIGlubGluZSIgZnVuY3Rpb25zIGZyb20gYXNtL2lvLmggKGluYigpLCBldGMuKQorICogY29tcGlsZS4gSWYgeW91IGRvbid0IG9wdGltaXplLCB3aGljaCBtZWFucyB0aGUgY29tcGlsZXIgd2lsbCBnZW5lcmF0ZSBubworICogaW5saW5lIGZ1bmN0aW9ucywgdGhlIHJlZmVyZW5jZXMgdG8gdGhlc2UgZnVuY3Rpb25zIGluIHRoaXMgcHJvZ3JhbSB3aWxsCisgKiBiZSBjb21waWxlZCBhcyBleHRlcm5hbCByZWZlcmVuY2VzLiBTaW5jZSB5b3UgcHJvYmFibHkgd29uJ3QgYmUgbGlua2luZworICogd2l0aCBhbnkgZnVuY3Rpb25zIGJ5IHRoZXNlIG5hbWVzLCB5b3Ugd2lsbCBoYXZlIHVucmVzb2x2ZWQgZXh0ZXJuYWwKKyAqIHJlZmVyZW5jZXMgd2hlbiB5b3UgbGluay4KKyAqCisgKiBIZXJlJ3Mgc29tZSBpbmZvIG9uIGhvdyB3ZSBtdXN0IGRlYWwgd2l0aCB0aGUgdGltZSB0aGF0IGVsYXBzZXMgd2hpbGUKKyAqIHRoaXMgcHJvZ3JhbSBydW5zOiBUaGVyZSBhcmUgdHdvIG1ham9yIGRlbGF5cyBhcyB3ZSBydW46CisgKgorICoJMSkgV2FpdGluZyB1cCB0byAxIHNlY29uZCBmb3IgYSB0cmFuc2l0aW9uIG9mIHRoZSBIYXJkd2FyZSBDbG9jayBzbworICoJICAgd2UgYXJlIHN5bmNocm9uaXplZCB0byB0aGUgSGFyZHdhcmUgQ2xvY2suCisgKgkyKSBSdW5uaW5nIHRoZSAiZGF0ZSIgcHJvZ3JhbSB0byBpbnRlcnByZXQgdGhlIHZhbHVlIG9mIG91ciAtLWRhdGUKKyAqCSAgIG9wdGlvbi4KKyAqCisgKiBSZWFkaW5nIHRoZSAvZXRjL2FkanRpbWUgZmlsZSBpcyB0aGUgbmV4dCBiaWdnZXN0IHNvdXJjZSBvZiBkZWxheSBhbmQKKyAqIHVuY2VydGFpbnR5LgorICoKKyAqIFRoZSB1c2VyIHdhbnRzIHRvIGtub3cgd2hhdCB0aW1lIGl0IHdhcyBhdCB0aGUgbW9tZW50IGhlIGludm9rZWQgdXMsIG5vdAorICogc29tZSBhcmJpdHJhcnkgdGltZSBsYXRlci4gQW5kIGluIHNldHRpbmcgdGhlIGNsb2NrLCBoZSBpcyBnaXZpbmcgdXMgdGhlCisgKiB0aW1lIGF0IHRoZSBtb21lbnQgd2UgYXJlIGludm9rZWQsIHNvIGlmIHdlIHNldCB0aGUgY2xvY2sgc29tZSB0aW1lCisgKiBsYXRlciwgd2UgaGF2ZSB0byBhZGQgc29tZSB0aW1lIHRvIHRoYXQuCisgKgorICogU28gd2UgY2hlY2sgdGhlIHN5c3RlbSB0aW1lIGFzIHNvb24gYXMgd2Ugc3RhcnQgdXAsIHRoZW4gcnVuICJkYXRlIiBhbmQKKyAqIGRvIGZpbGUgSS9PIGlmIG5lY2Vzc2FyeSwgdGhlbiB3YWl0IHRvIHN5bmNocm9uaXplIHdpdGggYSBIYXJkd2FyZSBDbG9jaworICogZWRnZSwgdGhlbiBjaGVjayB0aGUgc3lzdGVtIHRpbWUgYWdhaW4gdG8gc2VlIGhvdyBtdWNoIHRpbWUgd2Ugc3BlbnQuIFdlCisgKiBpbW1lZGlhdGVseSByZWFkIHRoZSBjbG9jayB0aGVuIGFuZCAoaWYgYXBwcm9wcmlhdGUpIHJlcG9ydCB0aGF0IHRpbWUsCisgKiBhbmQgYWRkaXRpb25hbGx5LCB0aGUgZGVsYXkgd2UgbWVhc3VyZWQuCisgKgorICogSWYgd2UncmUgc2V0dGluZyB0aGUgY2xvY2sgdG8gYSB0aW1lIGdpdmVuIGJ5IHRoZSB1c2VyLCB3ZSB3YWl0IHNvbWUgbW9yZQorICogc28gdGhhdCB0aGUgdG90YWwgZGVsYXkgaXMgYW4gaW50ZWdyYWwgbnVtYmVyIG9mIHNlY29uZHMsIHRoZW4gc2V0IHRoZQorICogSGFyZHdhcmUgQ2xvY2sgdG8gdGhlIHRpbWUgdGhlIHVzZXIgcmVxdWVzdGVkIHBsdXMgdGhhdCBpbnRlZ3JhbCBudW1iZXIKKyAqIG9mIHNlY29uZHMuIE4uQi4gVGhlIEhhcmR3YXJlIENsb2NrIGNhbiBvbmx5IGJlIHNldCBpbiBpbnRlZ3JhbCBzZWNvbmRzLgorICoKKyAqIElmIHdlJ3JlIHNldHRpbmcgdGhlIGNsb2NrIHRvIHRoZSBzeXN0ZW0gY2xvY2sgdmFsdWUsIHdlIHdhaXQgZm9yIHRoZQorICogc3lzdGVtIGNsb2NrIHRvIHJlYWNoIHRoZSB0b3Agb2YgYSBzZWNvbmQsIGFuZCB0aGVuIHNldCB0aGUgSGFyZHdhcmUKKyAqIENsb2NrIHRvIHRoZSBzeXN0ZW0gY2xvY2sncyB2YWx1ZS4KKyAqCisgKiBIZXJlJ3MgYW4gaW50ZXJlc3RpbmcgcG9pbnQgYWJvdXQgc2V0dGluZyB0aGUgSGFyZHdhcmUgQ2xvY2s6ICBPbiBteQorICogbWFjaGluZSwgd2hlbiB5b3Ugc2V0IGl0LCBpdCBzZXRzIHRvIHRoYXQgcHJlY2lzZSB0aW1lLiBCdXQgb25lIGNhbgorICogaW1hZ2luZSBhbm90aGVyIGNsb2NrIHdob3NlIHVwZGF0ZSBvc2NpbGxhdG9yIG1hcmNoZXMgb24gYSBzdGVhZHkgb25lCisgKiBzZWNvbmQgcGVyaW9kLCBzbyB1cGRhdGluZyB0aGUgY2xvY2sgYmV0d2VlbiBhbnkgdHdvIG9zY2lsbGF0b3IgdGlja3MgaXMKKyAqIHRoZSBzYW1lIGFzIHVwZGF0aW5nIGl0IHJpZ2h0IGF0IHRoZSBlYXJsaWVyIHRpY2suIFRvIGF2b2lkIGFueQorICogY29tcGxpY2F0aW9ucyB0aGF0IG1pZ2h0IGNhdXNlLCB3ZSBzZXQgdGhlIGNsb2NrIGFzIHNvb24gYXMgcG9zc2libGUKKyAqIGFmdGVyIGFuIG9zY2lsbGF0b3IgdGljay4KKyAqCisgKiBBYm91dCBzeW5jaHJvbml6aW5nIHRvIHRoZSBIYXJkd2FyZSBDbG9jayB3aGVuIHJlYWRpbmcgdGhlIHRpbWU6IFRoZQorICogcHJlY2lzaW9uIG9mIHRoZSBIYXJkd2FyZSBDbG9jayBjb3VudGVycyB0aGVtc2VsdmVzIGlzIG9uZSBzZWNvbmQuIFlvdQorICogY2FuJ3QgcmVhZCB0aGUgY291bnRlcnMgYW5kIGZpbmQgb3V0IHRoYXQgaXMgMTI6MDE6MDIuNS4gQnV0IGlmIHlvdQorICogY29uc2lkZXIgdGhlIGxvY2F0aW9uIGluIHRpbWUgb2YgdGhlIGNvdW50ZXIncyB0aWNrcyBhcyBwYXJ0IG9mIGl0cworICogdmFsdWUsIHRoZW4gaXRzIHByZWNpc2lvbiBpcyBhcyBpbmZpbml0ZSBhcyB0aW1lIGlzIGNvbnRpbnVvdXMhIFdoYXQgSSdtCisgKiBzYXlpbmcgaXMgdGhpczogVG8gZmluZCBvdXQgdGhlIF9leGFjdF8gdGltZSBpbiB0aGUgaGFyZHdhcmUgY2xvY2ssIHdlCisgKiB3YWl0IHVudGlsIHRoZSBuZXh0IGNsb2NrIHRpY2sgKHRoZSBuZXh0IHRpbWUgdGhlIHNlY29uZCBjb3VudGVyIGNoYW5nZXMpCisgKiBhbmQgbWVhc3VyZSBob3cgbG9uZyB3ZSBoYWQgdG8gd2FpdC4gV2UgdGhlbiByZWFkIHRoZSB2YWx1ZSBvZiB0aGUgY2xvY2sKKyAqIGNvdW50ZXJzIGFuZCBzdWJ0cmFjdCB0aGUgd2FpdCB0aW1lIGFuZCB3ZSBrbm93IHByZWNpc2VseSB3aGF0IHRpbWUgaXQKKyAqIHdhcyB3aGVuIHdlIHNldCBvdXQgdG8gcXVlcnkgdGhlIHRpbWUuCisgKgorICogaHdjbG9jayB1c2VzIHRoaXMgbWV0aG9kLCBhbmQgY29uc2lkZXJzIHRoZSBIYXJkd2FyZSBDbG9jayB0byBoYXZlCisgKiBpbmZpbml0ZSBwcmVjaXNpb24uCisgKi8KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9od2Nsb2NrLmggYi9zeXMtdXRpbHMvaHdjbG9jay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3NGQ5NmEKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvaHdjbG9jay5oCkBAIC0wLDAgKzEsNDUgQEAKKyNpZm5kZWYgSFdDTE9DS19DTE9DS19ICisjZGVmaW5lIEhXQ0xPQ0tfQ0xPQ0tfSAorCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHRpbWUuaD4KKworI2luY2x1ZGUgImMuaCIKKworc3RydWN0IGNsb2NrX29wcyB7CisJY2hhciAqaW50ZXJmYWNlX25hbWU7CisJaW50ICgqZ2V0X3Blcm1pc3Npb25zKSAodm9pZCk7CisJaW50ICgqcmVhZF9oYXJkd2FyZV9jbG9jaykgKHN0cnVjdCB0bSAqIHRtKTsKKwlpbnQgKCpzZXRfaGFyZHdhcmVfY2xvY2spIChjb25zdCBzdHJ1Y3QgdG0gKiB0bSk7CisJaW50ICgqc3luY2hyb25pemVfdG9fY2xvY2tfdGljaykgKHZvaWQpOworfTsKKworZXh0ZXJuIHN0cnVjdCBjbG9ja19vcHMgKnByb2JlX2Zvcl9jbW9zX2Nsb2NrKHZvaWQpOworZXh0ZXJuIHN0cnVjdCBjbG9ja19vcHMgKnByb2JlX2Zvcl9ydGNfY2xvY2sodm9pZCk7CisKK3R5cGVkZWYgaW50IGJvb2w7CisKKy8qIGh3Y2xvY2suYyAqLworZXh0ZXJuIGludCBkZWJ1ZzsKK2V4dGVybiB1bnNpZ25lZCBsb25nIGVwb2NoX29wdGlvbjsKK2V4dGVybiBkb3VibGUgdGltZV9kaWZmKHN0cnVjdCB0aW1ldmFsIHN1YnRyYWhlbmQsIHN0cnVjdCB0aW1ldmFsIHN1YnRyYWN0b3IpOworLyogY21vcy5jICovCitleHRlcm4gdm9pZCBzZXRfY21vc19lcG9jaChpbnQgQVJDY29uc29sZSwgaW50IFNSTSk7CitleHRlcm4gdm9pZCBzZXRfY21vc19hY2Nlc3MoaW50IEplbnNlbiwgaW50IGZ1bmt5X3RveSk7CisKKy8qIHJ0Yy5jICovCitleHRlcm4gaW50IGdldF9lcG9jaF9ydGModW5zaWduZWQgbG9uZyAqZXBvY2gsIGludCBzaWxlbnQpOworZXh0ZXJuIGludCBzZXRfZXBvY2hfcnRjKHVuc2lnbmVkIGxvbmcgZXBvY2gpOworZXh0ZXJuIGNoYXIgKnJ0Y19kZXZfbmFtZTsKKworI2lmZGVmIEhBVkVfTElCQVVESVQKK2V4dGVybiB2b2lkIGh3YXVkaXRfZXhpdChpbnQgc3RhdHVzKTsKKyMgZGVmaW5lIGh3Y2xvY2tfZXhpdChfc3RhdHVzKQlod2F1ZGl0X2V4aXQoX3N0YXR1cykKKyNlbHNlCisjIGRlZmluZSBod2Nsb2NrX2V4aXQoX3N0YXR1cykJZXhpdChfc3RhdHVzKQorI2VuZGlmCisKKyNlbmRpZgkJCQkvKiBIV0NMT0NLX0NMT0NLX0ggKi8KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9pcGNtay4xIGIvc3lzLXV0aWxzL2lwY21rLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTliNzUzMgotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9pcGNtay4xCkBAIC0wLDAgKzEsNTQgQEAKKy5cIiBDb3B5cmlnaHQgMjAwOCBIYXlkZW4gQS4gSmFtZXMgKGhheWRlbi5qYW1lc0BnbWFpbC5jb20pCisuXCIgTWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLlRIIElQQ01LICIxIiAiSnVseSAyMDE0IiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggIk5BTUUiCitpcGNtayBcLSBtYWtlIHZhcmlvdXMgSVBDIHJlc291cmNlcworLlNIICJTWU5PUFNJUyIKKy5CIGlwY21rCitbb3B0aW9uc10KKy5TSCAiREVTQ1JJUFRJT04iCisuQiBpcGNtaworYWxsb3dzIHlvdSB0byBjcmVhdGUgc2hhcmVkIG1lbW9yeSBzZWdtZW50cywgbWVzc2FnZSBxdWV1ZXMsCithbmQgc2VtYXBob3JlIGFycmF5cy4KKy5TSCAiT1BUSU9OUyIKKy5UUAorUmVzb3VyY2VzIGNhbiBiZSBzcGVjaWZpZWQgd2l0aCB0aGVzZSBvcHRpb25zOgorLlRQCisuQlIgXC1NICwgIiBcLVwtc2htZW0gIiBcZklzaXplCitDcmVhdGUgYSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgb2YKKy5JIHNpemUKK2J5dGVzLgorVGhlIFxmSXNpemVcZlIgYXJndW1lbnQgbWF5IGJlIGZvbGxvd2VkIGJ5IHRoZSBtdWx0aXBsaWNhdGl2ZSBzdWZmaXhlcyBLaUIgKD0xMDI0KSwgTWlCICg9MTAyNCoxMDI0KSwgYW5kIHNvIG9uIGZvciBHaUIsIGV0Yy4gKHRoZQorImlCIiBpcyBvcHRpb25hbCwgZS5nLiwgIksiIGhhcyB0aGUgc2FtZSBtZWFuaW5nIGFzICJLaUIiKSBvciB0aGUgc3VmZml4ZXMgS0IgKD0xMDAwKSwgTUIgKD0xMDAwKjEwMDApLCBhbmQgc28gb24gZm9yIEdCLCBldGMuCisuVFAKKy5CUiBcLVEgLCAiIFwtXC1xdWV1ZSIKK0NyZWF0ZSBhIG1lc3NhZ2UgcXVldWUuCisuVFAKKy5CUiBcLVMgLCAiIFwtXC1zZW1hcGhvcmUgIiBcZkludW1iZXIKK0NyZWF0ZSBhIHNlbWFwaG9yZSBhcnJheSB3aXRoCisuSSBudW1iZXIKK29mIGVsZW1lbnRzLgorLlBQCitPdGhlciBvcHRpb25zIGFyZToKKy5UUAorLkJSIFwtcCAsICIgXC1cLW1vZGUgIiBcZkltb2RlCitBY2Nlc3MgcGVybWlzc2lvbnMgZm9yIHRoZSByZXNvdXJjZS4gIERlZmF1bHQgaXMgMDY0NC4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuUFAKKy5TSCAiU0VFIEFMU08iCisuQlIgaXBjcm0gKDEpLAorLkJSIGlwY3MgKDEpCisuU0ggIkFVVEhPUiIKKy5NVCBoYXlkZW4uamFtZXNAZ21haWwuY29tCitIYXlkZW4gQS4gSmFtZXMKKy5NRQorLlNIICJBVkFJTEFCSUxJVFkiCitUaGUgaXBjbWsgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgZnRwOi8vXDpmdHAua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvaXBjbWsuYyBiL3N5cy11dGlscy9pcGNtay5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3OTA3MWMKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvaXBjbWsuYwpAQCAtMCwwICsxLDE2MyBAQAorLyoKKyAqICBpcGNtay5jIC0gdXNlZCB0byBjcmVhdGUgYWQtaG9jIElQQyBzZWdtZW50cworICoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDggSGF5ZGVuIEEuIEphbWVzIChoYXlkZW4uamFtZXNAZ21haWwuY29tKQorICogIENvcHlyaWdodCAoQykgMjAwOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworICogd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyAqIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisgKi8KKworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8c3RkZGVmLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzeXMvaXBjLmg+CisjaW5jbHVkZSA8c3lzL21zZy5oPgorI2luY2x1ZGUgPHN5cy9zZW0uaD4KKyNpbmNsdWRlIDxzeXMvc2htLmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJyYW5kdXRpbHMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisKK3N0YXRpYyBpbnQgY3JlYXRlX3NobShzaXplX3Qgc2l6ZSwgaW50IHBlcm1pc3Npb24pCit7CisJa2V5X3Qga2V5OworCisJcmFuZG9tX2dldF9ieXRlcygma2V5LCBzaXplb2Yoa2V5KSk7CisJcmV0dXJuIHNobWdldChrZXksIHNpemUsIHBlcm1pc3Npb24gfCBJUENfQ1JFQVQpOworfQorCitzdGF0aWMgaW50IGNyZWF0ZV9tc2coaW50IHBlcm1pc3Npb24pCit7CisJa2V5X3Qga2V5OworCisJcmFuZG9tX2dldF9ieXRlcygma2V5LCBzaXplb2Yoa2V5KSk7CisJcmV0dXJuIG1zZ2dldChrZXksIHBlcm1pc3Npb24gfCBJUENfQ1JFQVQpOworfQorCitzdGF0aWMgaW50IGNyZWF0ZV9zZW0oaW50IG5zZW1zLCBpbnQgcGVybWlzc2lvbikKK3sKKwlrZXlfdCBrZXk7CisKKwlyYW5kb21fZ2V0X2J5dGVzKCZrZXksIHNpemVvZihrZXkpKTsKKwlyZXR1cm4gc2VtZ2V0KGtleSwgbnNlbXMsIHBlcm1pc3Npb24gfCBJUENfQ1JFQVQpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqIG91dCkKK3sKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc11cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiQ3JlYXRlIHZhcmlvdXMgSVBDIHJlc291cmNlcy5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLU0sIC0tc2htZW0gPHNpemU+ICAgICAgIGNyZWF0ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgb2Ygc2l6ZSA8c2l6ZT5cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtUywgLS1zZW1hcGhvcmUgPG51bWJlcj4gY3JlYXRlIHNlbWFwaG9yZSBhcnJheSB3aXRoIDxudW1iZXI+IGVsZW1lbnRzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIGNyZWF0ZSBtZXNzYWdlIHF1ZXVlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXAsIC0tbW9kZSA8bW9kZT4gICAgICAgIHBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZSAoZGVmYXVsdCBpcyAwNjQ0KVxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoVVNBR0VfSEVMUCwgb3V0KTsKKwlmcHV0cyhVU0FHRV9WRVJTSU9OLCBvdXQpOworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgiaXBjbWsoMSkiKSk7CisKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IHBlcm1pc3Npb24gPSAwNjQ0OworCWludCBvcHQ7CisJc2l6ZV90IHNpemUgPSAwOworCWludCBuc2VtcyA9IDA7CisJaW50IGFza19zaG0gPSAwLCBhc2tfbXNnID0gMCwgYXNrX3NlbSA9IDA7CisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJzaG1lbSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnTSd9LAorCQl7InNlbWFwaG9yZSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnUyd9LAorCQl7InF1ZXVlIiwgbm9fYXJndW1lbnQsIE5VTEwsICdRJ30sCisJCXsibW9kZSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAncCd9LAorCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1YnfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIE5VTEwsICdoJ30sCisJCXtOVUxMLCAwLCBOVUxMLCAwfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUoKG9wdCA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJoTTpRUzpwOlZoIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCQlzd2l0Y2gob3B0KSB7CisJCWNhc2UgJ00nOgorCQkJc2l6ZSA9IHN0cnRvc2l6ZV9vcl9lcnIob3B0YXJnLCBfKCJmYWlsZWQgdG8gcGFyc2Ugc2l6ZSIpKTsKKwkJCWFza19zaG0gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ1EnOgorCQkJYXNrX21zZyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnUyc6CisJCQluc2VtcyA9IHN0cnRvczMyX29yX2VycihvcHRhcmcsIF8oImZhaWxlZCB0byBwYXJzZSBlbGVtZW50cyIpKTsKKwkJCWFza19zZW0gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3AnOgorCQkJcGVybWlzc2lvbiA9IHN0cnRvdWwob3B0YXJnLCBOVUxMLCA4KTsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWRlZmF1bHQ6CisJCQlhc2tfc2htID0gYXNrX21zZyA9IGFza19zZW0gPSAwOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlpZighYXNrX3NobSAmJiAhYXNrX21zZyAmJiAhYXNrX3NlbSkKKwkJdXNhZ2Uoc3RkZXJyKTsKKworCWlmIChhc2tfc2htKSB7CisJCWludCBzaG1pZDsKKwkJaWYgKC0xID09IChzaG1pZCA9IGNyZWF0ZV9zaG0oc2l6ZSwgcGVybWlzc2lvbikpKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY3JlYXRlIHNoYXJlIG1lbW9yeSBmYWlsZWQiKSk7CisJCWVsc2UKKwkJCXByaW50ZihfKCJTaGFyZWQgbWVtb3J5IGlkOiAlZFxuIiksIHNobWlkKTsKKwl9CisKKwlpZiAoYXNrX21zZykgeworCQlpbnQgbXNnaWQ7CisJCWlmICgtMSA9PSAobXNnaWQgPSBjcmVhdGVfbXNnKHBlcm1pc3Npb24pKSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImNyZWF0ZSBtZXNzYWdlIHF1ZXVlIGZhaWxlZCIpKTsKKwkJZWxzZQorCQkJcHJpbnRmKF8oIk1lc3NhZ2UgcXVldWUgaWQ6ICVkXG4iKSwgbXNnaWQpOworCX0KKworCWlmIChhc2tfc2VtKSB7CisJCWludCBzZW1pZDsKKwkJaWYgKC0xID09IChzZW1pZCA9IGNyZWF0ZV9zZW0obnNlbXMsIHBlcm1pc3Npb24pKSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImNyZWF0ZSBzZW1hcGhvcmUgZmFpbGVkIikpOworCQllbHNlCisJCQlwcmludGYoXygiU2VtYXBob3JlIGlkOiAlZFxuIiksIHNlbWlkKTsKKwl9CisKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL2lwY3JtLjEgYi9zeXMtdXRpbHMvaXBjcm0uMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYmQ4ODAyCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2lwY3JtLjEKQEAgLTAsMCArMSwxMTcgQEAKKy5cIiBDb3B5cmlnaHQgMjAwMiBBbmRyZSBDLiBNYXp6b25lIChsaW51eGRldkBrYXJhZ2VlLmNvbSkKKy5cIiBNYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisuVEggSVBDUk0gIjEiICJKdWx5IDIwMTQiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitpcGNybSBcLSByZW1vdmUgY2VydGFpbiBJUEMgcmVzb3VyY2VzCisuU0ggU1lOT1BTSVMKKy5CIGlwY3JtCitbb3B0aW9uc10KKy5zcAorLkIgaXBjcm0KKy5SQiB7IHNobSB8IG1zZyB8IHNlbSB9CisuSVIgaWQgLi4uCisuU0ggREVTQ1JJUFRJT04KKy5CIGlwY3JtCityZW1vdmVzIFN5c3RlbSBWIGludGVyLXByb2Nlc3MgY29tbXVuaWNhdGlvbiAoSVBDKSBvYmplY3RzCithbmQgYXNzb2NpYXRlZCBkYXRhIHN0cnVjdHVyZXMgZnJvbSB0aGUgc3lzdGVtLgorSW4gb3JkZXIgdG8gZGVsZXRlIHN1Y2ggb2JqZWN0cywgeW91IG11c3QgYmUgc3VwZXJ1c2VyLCBvcgordGhlIGNyZWF0b3Igb3Igb3duZXIgb2YgdGhlIG9iamVjdC4KKy5QUAorU3lzdGVtIFYgSVBDIG9iamVjdHMgYXJlIG9mIHRocmVlIHR5cGVzOiBzaGFyZWQgbWVtb3J5LAorbWVzc2FnZSBxdWV1ZXMsIGFuZCBzZW1hcGhvcmVzLgorRGVsZXRpb24gb2YgYSBtZXNzYWdlIHF1ZXVlIG9yIHNlbWFwaG9yZSBvYmplY3QgaXMgaW1tZWRpYXRlCisocmVnYXJkbGVzcyBvZiB3aGV0aGVyIGFueSBwcm9jZXNzIHN0aWxsIGhvbGRzIGFuIElQQworaWRlbnRpZmllciBmb3IgdGhlIG9iamVjdCkuCitBIHNoYXJlZCBtZW1vcnkgb2JqZWN0IGlzIG9ubHkgcmVtb3ZlZAorYWZ0ZXIgYWxsIGN1cnJlbnRseSBhdHRhY2hlZCBwcm9jZXNzZXMgaGF2ZSBkZXRhY2hlZAorLlJCICggc2htZHQgKDIpKQordGhlIG9iamVjdCBmcm9tIHRoZWlyIHZpcnR1YWwgYWRkcmVzcyBzcGFjZS4KKy5QUAorVHdvIHN5bnRheCBzdHlsZXMgYXJlIHN1cHBvcnRlZC4gIFRoZSBvbGQgTGludXggaGlzdG9yaWNhbCBzeW50YXggc3BlY2lmaWVzCithIHRocmVlLWxldHRlciBrZXl3b3JkIGluZGljYXRpbmcgd2hpY2ggY2xhc3Mgb2Ygb2JqZWN0IGlzIHRvIGJlIGRlbGV0ZWQsCitmb2xsb3dlZCBieSBvbmUgb3IgbW9yZSBJUEMgaWRlbnRpZmllcnMgZm9yIG9iamVjdHMgb2YgdGhpcyB0eXBlLgorLlBQCitUaGUgU1VTLWNvbXBsaWFudCBzeW50YXggYWxsb3dzIHRoZSBzcGVjaWZpY2F0aW9uIG9mCit6ZXJvIG9yIG1vcmUgb2JqZWN0cyBvZiBhbGwgdGhyZWUgdHlwZXMgaW4gYSBzaW5nbGUgY29tbWFuZCBsaW5lLAord2l0aCBvYmplY3RzIHNwZWNpZmllZCBlaXRoZXIgYnkga2V5IG9yIGJ5IGlkZW50aWZpZXIgKHNlZSBiZWxvdykuCitCb3RoIGtleXMgYW5kIGlkZW50aWZpZXJzIG1heSBiZSBzcGVjaWZpZWQgaW4gZGVjaW1hbCwgaGV4YWRlY2ltYWwKKyhzcGVjaWZpZWQgd2l0aCBhbiBpbml0aWFsICcweCcgb3IgJzBYJyksIG9yIG9jdGFsIChzcGVjaWZpZWQgd2l0aAorYW4gaW5pdGlhbCAnMCcpLgorLlBQCitUaGUgZGV0YWlscyBvZiB0aGUgcmVtb3ZlcyBhcmUgZGVzY3JpYmVkIGluCisuQlIgc2htY3RsICgyKSwKKy5CUiBtc2djdGwgKDIpLAorYW5kCisuQlIgc2VtY3RsICgyKS4KK1RoZSBpZGVudGlmaWVycyBhbmQga2V5cyBjYW4gYmUgZm91bmQgYnkgdXNpbmcKKy5CUiBpcGNzICgxKS4KKy5TSCBPUFRJT05TCisuVFAKK1xmQi1hXGZSLCBcZkJcLVwtYWxsXGZSIFtcZkJzaG1cZlJdIFtcZkJtc2dcZlJdIFtcZkJzZW1cZlJdCitSZW1vdmUgYWxsIHJlc291cmNlcy4gIFdoZW4gYW4gb3B0aW9uIGFyZ3VtZW50IGlzIHByb3ZpZGVkLCB0aGUgcmVtb3ZhbCBpcworcGVyZm9ybWVkIG9ubHkgZm9yIHRoZSBzcGVjaWZpZWQgcmVzb3VyY2UgdHlwZXMuICBcZklXYXJuaW5nIVxmUiAgRG8gbm90IHVzZQorLkIgXC1hCitpZiB5b3UgYXJlIHVuc3VyZSBob3cgdGhlIHNvZnR3YXJlIHVzaW5nIHRoZSByZXNvdXJjZXMgbWlnaHQgcmVhY3QgdG8gbWlzc2luZworb2JqZWN0cy4gIFNvbWUgcHJvZ3JhbXMgY3JlYXRlIHRoZXNlIHJlc291cmNlcyBhdCBzdGFydHVwIGFuZCBtYXkgbm90IGhhdmUKK2FueSBjb2RlIHRvIGRlYWwgd2l0aCBhbiB1bmV4cGVjdGVkIGRpc2FwcGVhcmFuY2UuCisuVFAKKy5CUiBcLU0gLCAiIFwtXC1zaG1lbVwta2V5ICIgXGZJc2hta2V5CitSZW1vdmUgdGhlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBjcmVhdGVkIHdpdGgKKy5JIHNobWtleQorYWZ0ZXIgdGhlIGxhc3QgZGV0YWNoIGlzIHBlcmZvcm1lZC4KKy5UUAorLkJSIFwtbSAsICIgXC1cLXNobWVtXC1pZCAiIFxmSXNobWlkCitSZW1vdmUgdGhlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBpZGVudGlmaWVkIGJ5CisuSSBzaG1pZAorYWZ0ZXIgdGhlIGxhc3QgZGV0YWNoIGlzIHBlcmZvcm1lZC4KKy5UUAorLkJSIFwtUSAsICIgXC1cLXF1ZXVlXC1rZXkgIiBcZkltc2drZXkKK1JlbW92ZSB0aGUgbWVzc2FnZSBxdWV1ZSBjcmVhdGVkIHdpdGgKKy5JUiBtc2drZXkgLgorLlRQCisuQlIgXC1xICwgIiBcLVwtcXVldWVcLWlkICIgXGZJbXNnaWQKK1JlbW92ZSB0aGUgbWVzc2FnZSBxdWV1ZSBpZGVudGlmaWVkIGJ5CisuSVIgbXNnaWQgLgorLlRQCisuQlIgXC1TICwgIiBcLVwtc2VtYXBob3JlXC1rZXkgIiBcZklzZW1rZXkKK1JlbW92ZSB0aGUgc2VtYXBob3JlIGNyZWF0ZWQgd2l0aAorLklSIHNlbWtleSAuCisuVFAKKy5CUiBcLXMgLCAiIFwtXC1zZW1hcGhvcmVcLWlkICIgXGZJc2VtaWQKK1JlbW92ZSB0aGUgc2VtYXBob3JlIGlkZW50aWZpZWQgYnkKKy5JUiBzZW1pZCAuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIIE5PVEVTCitJbiBpdHMgZmlyc3QgTGludXggaW1wbGVtZW50YXRpb24sIFxmQmlwY3JtXGZSIHVzZWQgdGhlIGRlcHJlY2F0ZWQgc3ludGF4CitzaG93biBpbiB0aGUgc2Vjb25kIGxpbmUgb2YgdGhlCisuQlIgU1lOT1BTSVMgLgorRnVuY3Rpb25hbGl0eSBwcmVzZW50IGluIG90aGVyICpuaXggaW1wbGVtZW50YXRpb25zIG9mIFxmQmlwY3JtXGZSIGhhcyBzaW5jZQorYmVlbiBhZGRlZCwgbmFtZWx5IHRoZSBhYmlsaXR5IHRvIGRlbGV0ZSByZXNvdXJjZXMgYnkga2V5IChub3QganVzdAoraWRlbnRpZmllciksIGFuZCB0byByZXNwZWN0IHRoZSBzYW1lIGNvbW1hbmQtbGluZSBzeW50YXguICBGb3IgYmFja3dhcmQKK2NvbXBhdGliaWxpdHkgdGhlIHByZXZpb3VzIHN5bnRheCBpcyBzdGlsbCBzdXBwb3J0ZWQuCisuXCIgLlNIIEFVVEhPUlMKKy5cIiBBbmRyZSBDLiBNYXp6b25lIChsaW51eGRldkBrYXJhZ2VlLmNvbSkKKy5cIiAuYnIKKy5cIiBLcmlzaG5hIEJhbGFzdWJyYW1hbmlhbiAoYmFsYXN1YkBjaXMub2hpby1zdGF0ZS5lZHUpCisuU0ggU0VFIEFMU08KKy5uaAorLkJSIGlwY21rICgxKSwKKy5CUiBpcGNzICgxKSwKKy5CUiBtc2djdGwgKDIpLAorLkJSIG1zZ2dldCAoMiksCisuQlIgc2VtY3RsICgyKSwKKy5CUiBzZW1nZXQgKDIpLAorLkJSIHNobWN0bCAoMiksCisuQlIgc2htZHQgKDIpLAorLkJSIHNobWdldCAoMiksCisuQlIgZnRvayAoMykKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBpcGNybSBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBmdHA6Ly9cOmZ0cC5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9pcGNybS5jIGIvc3lzLXV0aWxzL2lwY3JtLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDZiYmQ0NAotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9pcGNybS5jCkBAIC0wLDAgKzEsNDIwIEBACisvKgorICoga3Jpc2huYSBiYWxhc3VicmFtYW5pYW4gMTk5MworICoKKyAqIDE5OTktMDItMjIgQXJrYWRpdXN6IE1pxZtraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4KKyAqIC0gYWRkZWQgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKKyAqCisgKiAxOTk5LTA0LTAyIGZyYW5rIHphZ28KKyAqIC0gY2FuIG5vdyByZW1vdmUgc2V2ZXJhbCBpZCdzIGluIHRoZSBzYW1lIGNhbGwKKyAqCisgKi8KKworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvaXBjLmg+CisjaW5jbHVkZSA8c3lzL21zZy5oPgorI2luY2x1ZGUgPHN5cy9zZW0uaD4KKyNpbmNsdWRlIDxzeXMvc2htLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKworI2lmbmRlZiBIQVZFX1VOSU9OX1NFTVVOCisvKiBhY2NvcmRpbmcgdG8gWC9PUEVOIHdlIGhhdmUgdG8gZGVmaW5lIGl0IG91cnNlbHZlcyAqLwordW5pb24gc2VtdW4geworCWludCB2YWw7CisJc3RydWN0IHNlbWlkX2RzICpidWY7CisJdW5zaWduZWQgc2hvcnQgaW50ICphcnJheTsKKwlzdHJ1Y3Qgc2VtaW5mbyAqX19idWY7Cit9OworI2VuZGlmCisKK3R5cGVkZWYgZW51bSB0eXBlX2lkIHsKKwlTSE0sCisJU0VNLAorCU1TRywKKwlBTEwKK30gdHlwZV9pZDsKKworc3RhdGljIGludCB2ZXJib3NlID0gMDsKKworLyogcHJpbnQgdGhlIHVzYWdlICovCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqIG91dCkKK3sKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlMSRzIFtvcHRpb25zXVxuIgorCQkgICAgICAgIiAlMSRzIHNobXxtc2d8c2VtIDxpZD4uLi5cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiUmVtb3ZlIGNlcnRhaW4gSVBDIHJlc291cmNlcy5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLW0sIC0tc2htZW0taWQgPGlkPiAgICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBpZFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1NLCAtLXNobWVtLWtleSA8a2V5PiAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkga2V5XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkgaWRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtUSwgLS1xdWV1ZS1rZXkgPGtleT4gICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBrZXlcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcywgLS1zZW1hcGhvcmUtaWQgPGlkPiAgICByZW1vdmUgc2VtYXBob3JlIGJ5IGlkXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVMsIC0tc2VtYXBob3JlLWtleSA8a2V5PiAgcmVtb3ZlIHNlbWFwaG9yZSBieSBrZXlcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtYSwgLS1hbGxbPXNobXxtc2d8c2VtXSAgICByZW1vdmUgYWxsIChpbiB0aGUgc3BlY2lmaWVkIGNhdGVnb3J5KVxuIiksIG91dCk7CisJZnB1dHMoXygiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dCk7CisJZnByaW50ZihvdXQsIFVTQUdFX01BTl9UQUlMKCJpcGNybSgxKSIpKTsKKworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyBpbnQgcmVtb3ZlX2lkKGludCB0eXBlLCBpbnQgaXNrZXksIGludCBpZCkKK3sKKyAgICAgICAgaW50IHJldDsKKwljaGFyICplcnJtc2c7CisJLyogbmVlZGVkIHRvIGRlbGV0ZSBzZW1hcGhvcmVzICovCisJdW5pb24gc2VtdW4gYXJnOworCWFyZy52YWwgPSAwOworCisJLyogZG8gdGhlIHJlbW92YWwgKi8KKwlzd2l0Y2ggKHR5cGUpIHsKKwljYXNlIFNITToKKwkJaWYgKHZlcmJvc2UpCisJCQlwcmludGYoXygicmVtb3Zpbmcgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGlkIGAlZCdcbiIpLCBpZCk7CisJCXJldCA9IHNobWN0bChpZCwgSVBDX1JNSUQsIE5VTEwpOworCQlicmVhazsKKwljYXNlIE1TRzoKKwkJaWYgKHZlcmJvc2UpCisJCQlwcmludGYoXygicmVtb3ZpbmcgbWVzc2FnZSBxdWV1ZSBpZCBgJWQnXG4iKSwgaWQpOworCQlyZXQgPSBtc2djdGwoaWQsIElQQ19STUlELCBOVUxMKTsKKwkJYnJlYWs7CisJY2FzZSBTRU06CisJCWlmICh2ZXJib3NlKQorCQkJcHJpbnRmKF8oInJlbW92aW5nIHNlbWFwaG9yZSBpZCBgJWQnXG4iKSwgaWQpOworCQlyZXQgPSBzZW1jdGwoaWQsIDAsIElQQ19STUlELCBhcmcpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQllcnJ4KEVYSVRfRkFJTFVSRSwgImltcG9zc2libGUgb2NjdXJyZWQiKTsKKwl9CisKKwkvKiBob3cgZGlkIHRoZSByZW1vdmFsIGdvPyAqLworCWlmIChyZXQgPCAwKSB7CisJCXN3aXRjaCAoZXJybm8pIHsKKwkJY2FzZSBFQUNDRVM6CisJCWNhc2UgRVBFUk06CisJCQllcnJtc2cgPSBpc2tleSA/IF8oInBlcm1pc3Npb24gZGVuaWVkIGZvciBrZXkiKSA6IF8oInBlcm1pc3Npb24gZGVuaWVkIGZvciBpZCIpOworCQkJYnJlYWs7CisJCWNhc2UgRUlOVkFMOgorCQkJZXJybXNnID0gaXNrZXkgPyBfKCJpbnZhbGlkIGtleSIpIDogXygiaW52YWxpZCBpZCIpOworCQkJYnJlYWs7CisJCWNhc2UgRUlEUk06CisJCQllcnJtc2cgPSBpc2tleSA/IF8oImFscmVhZHkgcmVtb3ZlZCBrZXkiKSA6IF8oImFscmVhZHkgcmVtb3ZlZCBpZCIpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQllcnIoRVhJVF9GQUlMVVJFLCAiJXMiLCBpc2tleSA/IF8oImtleSBmYWlsZWQiKSA6IF8oImlkIGZhaWxlZCIpKTsKKwkJfQorCQl3YXJueCgiJXMgKCVkKSIsIGVycm1zZywgaWQpOworCQlyZXR1cm4gMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcmVtb3ZlX2FyZ19saXN0KHR5cGVfaWQgdHlwZSwgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBpZDsKKwljaGFyICplbmQ7CisJaW50IG5iX2Vycm9ycyA9IDA7CisKKwlkbyB7CisJCWlkID0gc3RydG91bChhcmd2WzBdLCAmZW5kLCAxMCk7CisJCWlmICgqZW5kICE9IDApIHsKKwkJCXdhcm54KF8oImludmFsaWQgaWQ6ICVzIiksIGFyZ3ZbMF0pOworCQkJbmJfZXJyb3JzKys7CisJCX0gZWxzZSB7CisJCQlpZiAocmVtb3ZlX2lkKHR5cGUsIDAsIGlkKSkKKwkJCQluYl9lcnJvcnMrKzsKKwkJfQorCQlhcmdjLS07CisJCWFyZ3YrKzsKKwl9IHdoaWxlIChhcmdjKTsKKwlyZXR1cm4gKG5iX2Vycm9ycyk7Cit9CisKK3N0YXRpYyBpbnQgZGVwcmVjYXRlZF9tYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwl0eXBlX2lkIHR5cGU7CisKKwlpZiAoIXN0cmNtcChhcmd2WzFdLCAic2htIikpCisJCXR5cGUgPSBTSE07CisJZWxzZSBpZiAoIXN0cmNtcChhcmd2WzFdLCAibXNnIikpCisJCXR5cGUgPSBNU0c7CisJZWxzZSBpZiAoIXN0cmNtcChhcmd2WzFdLCAic2VtIikpCisJCXR5cGUgPSBTRU07CisJZWxzZQorCQlyZXR1cm4gMDsKKworCWlmIChhcmdjIDwgMykgeworCQl3YXJueChfKCJub3QgZW5vdWdoIGFyZ3VtZW50cyIpKTsKKwkJdXNhZ2Uoc3RkZXJyKTsKKwl9CisKKwlpZiAocmVtb3ZlX2FyZ19saXN0KHR5cGUsIGFyZ2MgLSAyLCAmYXJndlsyXSkpCisJCWV4aXQoRVhJVF9GQUlMVVJFKTsKKworCXByaW50ZihfKCJyZXNvdXJjZShzKSBkZWxldGVkXG4iKSk7CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIHN0cnRva2V5KGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqZXJybWVzZykKK3sKKwl1bnNpZ25lZCBsb25nIG51bTsKKwljaGFyICplbmQgPSBOVUxMOworCisJaWYgKHN0ciA9PSBOVUxMIHx8ICpzdHIgPT0gJ1wwJykKKwkJZ290byBlcnI7CisJZXJybm8gPSAwOworCS8qIGtleXMgYXJlIGluIGhleCBvciBkZWNpbWFsICovCisJbnVtID0gc3RydG91bChzdHIsICZlbmQsIDApOworCisJaWYgKGVycm5vIHx8IHN0ciA9PSBlbmQgfHwgKGVuZCAmJiAqZW5kKSkKKwkJZ290byBlcnI7CisKKwlyZXR1cm4gbnVtOworIGVycjoKKwlpZiAoZXJybm8pCisJCWVycihFWElUX0ZBSUxVUkUsICIlczogJyVzJyIsIGVycm1lc2csIHN0cik7CisJZWxzZQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgIiVzOiAnJXMnIiwgZXJybWVzZywgc3RyKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBrZXlfdG9faWQodHlwZV9pZCB0eXBlLCBjaGFyICpzKQoreworCWludCBpZDsKKwkvKiBrZXlzIGFyZSBpbiBoZXggb3IgZGVjaW1hbCAqLworCWtleV90IGtleSA9IHN0cnRva2V5KHMsICJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiKTsKKwlpZiAoa2V5ID09IElQQ19QUklWQVRFKSB7CisJCXdhcm54KF8oImlsbGVnYWwga2V5ICglcykiKSwgcyk7CisJCXJldHVybiAtMTsKKwl9CisJc3dpdGNoICh0eXBlKSB7CisJY2FzZSBTSE06CisJCWlkID0gc2htZ2V0KGtleSwgMCwgMCk7CisJCWJyZWFrOworCWNhc2UgTVNHOgorCQlpZCA9IG1zZ2dldChrZXksIDApOworCQlicmVhazsKKwljYXNlIFNFTToKKwkJaWQgPSBzZW1nZXQoa2V5LCAwLCAwKTsKKwkJYnJlYWs7CisJY2FzZSBBTEw6CisJCWFib3J0KCk7CisJZGVmYXVsdDoKKwkJZXJyeChFWElUX0ZBSUxVUkUsICJpbXBvc3NpYmxlIG9jY3VycmVkIik7CisJfQorCWlmIChpZCA8IDApIHsKKwkJY2hhciAqZXJybXNnOworCQlzd2l0Y2ggKGVycm5vKSB7CisJCWNhc2UgRUFDQ0VTOgorCQkJZXJybXNnID0gXygicGVybWlzc2lvbiBkZW5pZWQgZm9yIGtleSIpOworCQkJYnJlYWs7CisJCWNhc2UgRUlEUk06CisJCQllcnJtc2cgPSBfKCJhbHJlYWR5IHJlbW92ZWQga2V5Iik7CisJCQlicmVhazsKKwkJY2FzZSBFTk9FTlQ6CisJCQllcnJtc2cgPSBfKCJpbnZhbGlkIGtleSIpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJrZXkgZmFpbGVkIikpOworCQl9CisJCXdhcm54KCIlcyAoJXMpIiwgZXJybXNnLCBzKTsKKwl9CisJcmV0dXJuIGlkOworfQorCitzdGF0aWMgaW50IHJlbW92ZV9hbGwodHlwZV9pZCB0eXBlKQoreworCWludCByZXQgPSAwOworCWludCBpZCwgcm1fbWUsIG1heGlkOworCisJc3RydWN0IHNobWlkX2RzIHNobXNlZzsKKworCXN0cnVjdCBzZW1pZF9kcyBzZW1hcnk7CisJc3RydWN0IHNlbWluZm8gc2VtaW5mbzsKKwl1bmlvbiBzZW11biBhcmc7CisKKwlzdHJ1Y3QgbXNxaWRfZHMgbXNncXVlOworCXN0cnVjdCBtc2dpbmZvIG1zZ2luZm87CisKKwlpZiAodHlwZSA9PSBTSE0gfHwgdHlwZSA9PSBBTEwpIHsKKwkJbWF4aWQgPSBzaG1jdGwoMCwgU0hNX0lORk8sICZzaG1zZWcpOworCQlpZiAobWF4aWQgPCAwKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkgICAgIF8oImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeSIpKTsKKwkJZm9yIChpZCA9IDA7IGlkIDw9IG1heGlkOyBpZCsrKSB7CisJCQlybV9tZSA9IHNobWN0bChpZCwgU0hNX1NUQVQsICZzaG1zZWcpOworCQkJaWYgKHJtX21lIDwgMCkKKwkJCQljb250aW51ZTsKKwkJCXJldCB8PSByZW1vdmVfaWQoU0hNLCAwLCBybV9tZSk7CisJCX0KKwl9CisJaWYgKHR5cGUgPT0gU0VNIHx8IHR5cGUgPT0gQUxMKSB7CisJCWFyZy5hcnJheSA9ICh1c2hvcnQgKikgKHZvaWQgKikmc2VtaW5mbzsKKwkJbWF4aWQgPSBzZW1jdGwoMCwgMCwgU0VNX0lORk8sIGFyZyk7CisJCWlmIChtYXhpZCA8IDApCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCSAgICAgXygia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzIikpOworCQlmb3IgKGlkID0gMDsgaWQgPD0gbWF4aWQ7IGlkKyspIHsKKwkJCWFyZy5idWYgPSAoc3RydWN0IHNlbWlkX2RzICopJnNlbWFyeTsKKwkJCXJtX21lID0gc2VtY3RsKGlkLCAwLCBTRU1fU1RBVCwgYXJnKTsKKwkJCWlmIChybV9tZSA8IDApCisJCQkJY29udGludWU7CisJCQlyZXQgfD0gcmVtb3ZlX2lkKFNFTSwgMCwgcm1fbWUpOworCQl9CisJfQorLyoga0ZyZWVCU0QgaGFja2VyeSAtLSBhaCAyMDE0MDcyMyAqLworI2lmbmRlZiBNU0dfU1RBVAorI2RlZmluZSBNU0dfU1RBVCAxMQorI2VuZGlmCisjaWZuZGVmIE1TR19JTkZPCisjZGVmaW5lIE1TR19JTkZPIDEyCisjZW5kaWYKKwlpZiAodHlwZSA9PSBNU0cgfHwgdHlwZSA9PSBBTEwpIHsKKwkJbWF4aWQgPQorCQkgICAgbXNnY3RsKDAsIE1TR19JTkZPLCAoc3RydWN0IG1zcWlkX2RzICopKHZvaWQgKikmbXNnaW5mbyk7CisJCWlmIChtYXhpZCA8IDApCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCSAgICAgXygia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlcyIpKTsKKwkJZm9yIChpZCA9IDA7IGlkIDw9IG1heGlkOyBpZCsrKSB7CisJCQlybV9tZSA9IG1zZ2N0bChpZCwgTVNHX1NUQVQsICZtc2dxdWUpOworCQkJaWYgKHJtX21lIDwgMCkKKwkJCQljb250aW51ZTsKKwkJCXJldCB8PSByZW1vdmVfaWQoTVNHLCAwLCBybV9tZSk7CisJCX0KKwl9CisJcmV0dXJuIHJldDsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBjOworCWludCByZXQgPSAwOworCWludCBpZCA9IC0xOworCWludCBpc2tleTsKKwlpbnQgcm1fYWxsID0gMDsKKwl0eXBlX2lkIHdoYXRfYWxsID0gQUxMOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJzaG1lbS1pZCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbSd9LAorCQl7InNobWVtLWtleSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnTSd9LAorCQl7InF1ZXVlLWlkIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdxJ30sCisJCXsicXVldWUta2V5IiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdRJ30sCisJCXsic2VtYXBob3JlLWlkIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdzJ30sCisJCXsic2VtYXBob3JlLWtleSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnUyd9LAorCQl7ImFsbCIsIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAnYSd9LAorCQl7InZlcmJvc2UiLCBub19hcmd1bWVudCwgTlVMTCwgJ3YnfSwKKwkJeyJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsIE5VTEwsICdWJ30sCisJCXsiaGVscCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCd9LAorCQl7TlVMTCwgMCwgTlVMTCwgMH0KKwl9OworCisJLyogaWYgdGhlIGNvbW1hbmQgaXMgZXhlY3V0ZWQgd2l0aG91dCBwYXJhbWV0ZXJzLCBkbyBub3RoaW5nICovCisJaWYgKGFyZ2MgPT0gMSkKKwkJcmV0dXJuIDA7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJLyogY2hlY2sgdG8gc2VlIGlmIHRoZSBjb21tYW5kIGlzIGJlaW5nIGludm9rZWQgaW4gdGhlIG9sZCB3YXkgaWYgc28KKwkgKiB0aGVuIHJlbW92ZSBhcmd1bWVudCBsaXN0ICovCisJaWYgKGRlcHJlY2F0ZWRfbWFpbihhcmdjLCBhcmd2KSkKKwkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKworCS8qIHByb2Nlc3MgbmV3IHN5bnRheCB0byBjb25mb3JtIHdpdGggU1lTViBpcGNybSAqLworCXdoaWxlKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgInE6bTpzOlE6TTpTOmE6OnZoViIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKwkJaXNrZXkgPSAwOworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnTSc6CisJCQlpc2tleSA9IDE7CisJCQlpZCA9IGtleV90b19pZChTSE0sIG9wdGFyZyk7CisJCQlpZiAoaWQgPCAwKSB7CisJCQkJcmV0Kys7CisJCQkJYnJlYWs7CisJCQl9CisJCWNhc2UgJ20nOgorCQkJaWYgKCFpc2tleSkKKwkJCQlpZCA9IHN0cnRvczMyX29yX2VycihvcHRhcmcsIF8oImZhaWxlZCB0byBwYXJzZSBhcmd1bWVudCIpKTsKKwkJCWlmIChyZW1vdmVfaWQoU0hNLCBpc2tleSwgaWQpKQorCQkJCXJldCsrOworCQkJYnJlYWs7CisJCWNhc2UgJ1EnOgorCQkJaXNrZXkgPSAxOworCQkJaWQgPSBrZXlfdG9faWQoTVNHLCBvcHRhcmcpOworCQkJaWYgKGlkIDwgMCkgeworCQkJCXJldCsrOworCQkJCWJyZWFrOworCQkJfQorCQljYXNlICdxJzoKKwkJCWlmICghaXNrZXkpCisJCQkJaWQgPSBzdHJ0b3MzMl9vcl9lcnIob3B0YXJnLCBfKCJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiKSk7CisJCQlpZiAocmVtb3ZlX2lkKE1TRywgaXNrZXksIGlkKSkKKwkJCQlyZXQrKzsKKwkJCWJyZWFrOworCQljYXNlICdTJzoKKwkJCWlza2V5ID0gMTsKKwkJCWlkID0ga2V5X3RvX2lkKFNFTSwgb3B0YXJnKTsKKwkJCWlmIChpZCA8IDApIHsKKwkJCQlyZXQrKzsKKwkJCQlicmVhazsKKwkJCX0KKwkJY2FzZSAncyc6CisJCQlpZiAoIWlza2V5KQorCQkJCWlkID0gc3RydG9zMzJfb3JfZXJyKG9wdGFyZywgXygiZmFpbGVkIHRvIHBhcnNlIGFyZ3VtZW50IikpOworCQkJaWYgKHJlbW92ZV9pZChTRU0sIGlza2V5LCBpZCkpCisJCQkJcmV0Kys7CisJCQlicmVhazsKKwkJY2FzZSAnYSc6CisJCQlybV9hbGwgPSAxOworCQkJaWYgKG9wdGFyZykgeworCQkJCWlmICghc3RyY21wKG9wdGFyZywgInNobSIpKQorCQkJCQl3aGF0X2FsbCA9IFNITTsKKwkJCQllbHNlIGlmICghc3RyY21wKG9wdGFyZywgIm1zZyIpKQorCQkJCQl3aGF0X2FsbCA9IE1TRzsKKwkJCQllbHNlIGlmICghc3RyY21wKG9wdGFyZywgInNlbSIpKQorCQkJCQl3aGF0X2FsbCA9IFNFTTsKKwkJCQllbHNlCisJCQkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJCQkgICAgIF8oInVua25vd24gYXJndW1lbnQ6ICVzIiksIG9wdGFyZyk7CisJCQl9IGVsc2UgeworCQkJCXdoYXRfYWxsID0gQUxMOworCQkJfQorCQkJYnJlYWs7CisJCWNhc2UgJ3YnOgorCQkJdmVyYm9zZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShzdGRvdXQpOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKHN0ZGVycik7CisJCX0KKwl9CisKKwlpZiAocm1fYWxsICYmIHJlbW92ZV9hbGwod2hhdF9hbGwpKQorCQlyZXQrKzsKKworCS8qIHByaW50IHVzYWdlIGlmIHdlIHN0aWxsIGhhdmUgc29tZSBhcmd1bWVudHMgbGVmdCBvdmVyICovCisJaWYgKG9wdGluZCA8IGFyZ2MpIHsKKwkJd2FybngoXygidW5rbm93biBhcmd1bWVudDogJXMiKSwgYXJndltvcHRpbmRdKTsKKwkJdXNhZ2Uoc3RkZXJyKTsKKwl9CisKKwlyZXR1cm4gcmV0ID09IDAgPyBFWElUX1NVQ0NFU1MgOiBFWElUX0ZBSUxVUkU7Cit9CmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvaXBjcy4xIGIvc3lzLXV0aWxzL2lwY3MuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNzM5NWMyCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2lwY3MuMQpAQCAtMCwwICsxLDExNiBAQAorLlwiIENvcHlyaWdodCAxOTkzIFJpY2thcmQgRS4gRmFpdGggKGZhaXRoQGNzLnVuYy5lZHUpCisuXCIgTWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLlRIIElQQ1MgIjEiICJKdWx5IDIwMTQiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitpcGNzIFwtIHNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMKKy5TSCBTWU5PUFNJUworLkIgaXBjcworW29wdGlvbnNdCisuU0ggREVTQ1JJUFRJT04KKy5CIGlwY3MKK3Nob3dzIGluZm9ybWF0aW9uIG9uIHRoZSBpbnRlci1wcm9jZXNzIGNvbW11bmljYXRpb24gZmFjaWxpdGllcworZm9yIHdoaWNoIHRoZSBjYWxsaW5nIHByb2Nlc3MgaGFzIHJlYWQgYWNjZXNzLgorQnkgZGVmYXVsdCBpdCBzaG93cyBpbmZvcm1hdGlvbiBhYm91dCBhbGwgdGhyZWUgcmVzb3VyY2VzOgorc2hhcmVkIG1lbW9yeSBzZWdtZW50cywgbWVzc2FnZSBxdWV1ZXMsIGFuZCBzZW1hcGhvcmUgYXJyYXlzLgorLlNIIE9QVElPTlMKKy5UUAorXGZCXC1pXGZSLCBcZkJcLVwtaWRcZlIgXGZJaWRcZlIKK1Nob3cgZnVsbCBkZXRhaWxzIG9uIGp1c3QgdGhlIG9uZSByZXNvdXJjZSBlbGVtZW50IGlkZW50aWZpZWQgYnkKKy5JUiBpZCAuCitUaGlzIG9wdGlvbiBuZWVkcyB0byBiZSBjb21iaW5lZCB3aXRoIG9uZSBvZiB0aGUgdGhyZWUgcmVzb3VyY2Ugb3B0aW9uczoKKy5CUiBcLW0gLAorLkJSIFwtcSAiIG9yIgorLkJSIFwtcyAuCisuVFAKK1xmQlwtaFxmUiwgXGZCXC1cLWhlbHBcZlIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlRQCitcZkJcLVZcZlIsIFxmQlwtXC12ZXJzaW9uXGZSCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuU1MgIlJlc291cmNlIG9wdGlvbnMiCisuVFAKK1xmQlwtbVxmUiwgXGZCXC1cLXNobWVtc1xmUgorV3JpdGUgaW5mb3JtYXRpb24gYWJvdXQgYWN0aXZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudHMuCisuVFAKK1xmQlwtcVxmUiwgXGZCXC1cLXF1ZXVlc1xmUgorV3JpdGUgaW5mb3JtYXRpb24gYWJvdXQgYWN0aXZlIG1lc3NhZ2UgcXVldWVzLgorLlRQCitcZkJcLXNcZlIsIFxmQlwtXC1zZW1hcGhvcmVzXGZSCitXcml0ZSBpbmZvcm1hdGlvbiBhYm91dCBhY3RpdmUgc2VtYXBob3JlIHNldHMuCisuVFAKK1xmQlwtYVxmUiwgXGZCXC1cLWFsbFxmUgorV3JpdGUgaW5mb3JtYXRpb24gYWJvdXQgYWxsIHRocmVlIHJlc291cmNlcyAoZGVmYXVsdCkuCisuU1MgIk91dHB1dCBmb3JtYXRzIgorT2YgdGhlc2Ugb3B0aW9ucyBvbmx5IG9uZSB0YWtlcyBlZmZlY3Q6IHRoZSBsYXN0IG9uZSBzcGVjaWZpZWQuCisuVFAKK1xmQlwtY1xmUiwgXGZCXC1cLWNyZWF0b3JcZlIKK1Nob3cgY3JlYXRvciBhbmQgb3duZXIuCisuVFAKK1xmQlwtbFxmUiwgXGZCXC1cLWxpbWl0c1xmUgorU2hvdyByZXNvdXJjZSBsaW1pdHMuCisuVFAKK1xmQlwtcFxmUiwgXGZCXC1cLXBpZFxmUgorU2hvdyBQSURzIG9mIGNyZWF0b3IgYW5kIGxhc3Qgb3BlcmF0b3IuCisuVFAKK1xmQlwtdFxmUiwgXGZCXC1cLXRpbWVcZlIKK1dyaXRlIHRpbWUgaW5mb3JtYXRpb24uICBUaGUgdGltZSBvZiB0aGUgbGFzdCBjb250cm9sIG9wZXJhdGlvbiB0aGF0IGNoYW5nZWQKK3RoZSBhY2Nlc3MgcGVybWlzc2lvbnMgZm9yIGFsbCBmYWNpbGl0aWVzLCB0aGUgdGltZSBvZiB0aGUgbGFzdAorLkJSIG1zZ3NuZCAoMikKK2FuZAorLkJSIG1zZ3JjdiAoMikKK29wZXJhdGlvbnMgb24gbWVzc2FnZSBxdWV1ZXMsIHRoZSB0aW1lIG9mIHRoZSBsYXN0CisuQlIgc2htYXQgKDIpCithbmQKKy5CUiBzaG1kdCAoMikKK29wZXJhdGlvbnMgb24gc2hhcmVkIG1lbW9yeSwgYW5kIHRoZSB0aW1lIG9mIHRoZSBsYXN0CisuQlIgc2Vtb3AgKDIpCitvcGVyYXRpb24gb24gc2VtYXBob3Jlcy4KKy5UUAorXGZCXC11XGZSLCBcZkJcLVwtc3VtbWFyeVxmUgorU2hvdyBzdGF0dXMgc3VtbWFyeS4KKy5TUyAiUmVwcmVzZW50YXRpb24iCitUaGVzZSBhZmZlY3Qgb25seSB0aGUgXGZCXC1sXGZSIChcZkJcLVwtbGltaXRzXGZSKSBvcHRpb24uCisuVFAKK1xmQlwtYlxmUiwgXGZCXC1cLWJ5dGVzXGZSCitQcmludCBzaXplcyBpbiBieXRlcy4KKy5UUAorLkIgXC1cLWh1bWFuCitQcmludCBzaXplcyBpbiBodW1hbi1yZWFkYWJsZSBmb3JtYXQuCisuU0ggU0VFIEFMU08KKy5CUiBpcGNtayAoMSksCisuQlIgaXBjcm0gKDEpLAorLkJSIG1zZ3JjdiAoMiksCisuQlIgbXNnc25kICgyKSwKKy5CUiBzZW1nZXQgKDIpLAorLkJSIHNlbW9wICgyKSwKKy5CUiBzaG1hdCAoMiksCisuQlIgc2htZHQgKDIpLAorLkJSIHNobWdldCAoMikKKy5TSCBDT05GT1JNSU5HIFRPCitUaGUgTGludXggaXBjcyB1dGlsaXR5IGlzIG5vdCBmdWxseSBjb21wYXRpYmxlIHRvIHRoZSBQT1NJWCBpcGNzIHV0aWxpdHkuCitUaGUgTGludXggdmVyc2lvbiBkb2VzIG5vdCBzdXBwb3J0IHRoZSBQT1NJWAorLkJSIFwtYSAsCisuQiBcLWIKK2FuZAorLkIgXC1vCitvcHRpb25zLCBidXQgZG9lcyBzdXBwb3J0IHRoZQorLkIgXC1sCithbmQKKy5CIFwtdQorb3B0aW9ucyBub3QgZGVmaW5lZCBieSBQT1NJWC4gIEEgcG9ydGFibGUgYXBwbGljYXRpb24gc2hhbGwgbm90IHVzZSB0aGUKKy5CUiBcLWEgLAorLkJSIFwtYiAsCisuQlIgXC1vICwKKy5CUiBcLWwgLAorYW5kCisuQiBcLXUKK29wdGlvbnMuCisuU0ggQVVUSE9SCisuVVIgYmFsYXN1YkBjaXMub2hpby1zdGF0ZS5lZHUKK0tyaXNobmEgQmFsYXN1YnJhbWFuaWFuCisuVUUKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBpcGNzIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGZ0cDovL1w6ZnRwLmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL2lwY3MuYyBiL3N5cy11dGlscy9pcGNzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTBjZTIzOAotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9pcGNzLmMKQEAgLTAsMCArMSw2NjIgQEAKKy8qIE9yaWdpbmFsIGF1dGhvciB1bmtub3duLCBtYXkgYmUgImtyaXNobmEgYmFsYXN1YkBjaXMub2hpby1zdGF0ZS5lZHUiICovCisvKgorICogTW9kaWZpZWQgU2F0IE9jdCAgOSAxMDo1NToyOCAxOTkzIGZvciAwLjk5LjEzCisgKgorICogUGF0Y2hlcyBmcm9tIE1pa2UgSmFnZGlzIChqYWdneUBwdXJwbGV0LmRlbW9uLmNvLnVrKSBhcHBsaWVkIFdlZCBGZWIgOAorICogMTI6MTI6MjEgMTk5NSBieSBmYWl0aEBjcy51bmMuZWR1IHRvIHByaW50IG51bWVyaWMgdWlkcyBpZiBubyBwYXNzd2QgZmlsZQorICogZW50cnkuCisgKgorICogUGF0Y2ggZnJvbSBhcm5vbGRzQGlmbnMuZGUgKEhlaW56LUFkbyBBcm5vbGRzKSBhcHBsaWVkIE1vbiBKdWwgMSAxOTozMDo0MQorICogMTk5NiBieSBqYW5sQG1hdGgudWlvLm5vIHRvIGFkZCBjb2RlIG1pc3NpbmcgaW4gY2FzZSBQSUQ6IGNsYXVzZXMuCisgKgorICogUGF0Y2hlZCB0byBkaXNwbGF5IHRoZSBrZXkgZmllbGQgLS0gaHlAcGlja3N5cy5jb20gMTIvMTgvOTYKKyAqCisgKiAxOTk5LTAyLTIyIEFya2FkaXVzeiBNacWba2lld2ljeiA8bWlzaWVrQHBsZC5PUkcuUEw+CisgKiAtIGFkZGVkIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0CisgKi8KKworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKworI2luY2x1ZGUgImlwY3V0aWxzLmgiCisKK2VudW0gb3V0cHV0X2Zvcm1hdHMgeworCU5PVFNQRUNJRklFRCwKKwlMSU1JVFMsCisJU1RBVFVTLAorCUNSRUFUT1IsCisJVElNRSwKKwlQSUQKK307CitlbnVtIHsKKwlPUFRfSFVNQU4gPSBDSEFSX01BWCArIDEKK307CisKK3N0YXRpYyB2b2lkIGRvX3NobSAoY2hhciBmb3JtYXQsIGludCB1bml0KTsKK3N0YXRpYyB2b2lkIHByaW50X3NobSAoaW50IGlkLCBpbnQgdW5pdCk7CitzdGF0aWMgdm9pZCBkb19zZW0gKGNoYXIgZm9ybWF0KTsKK3N0YXRpYyB2b2lkIHByaW50X3NlbSAoaW50IGlkKTsKK3N0YXRpYyB2b2lkIGRvX21zZyAoY2hhciBmb3JtYXQsIGludCB1bml0KTsKK3N0YXRpYyB2b2lkIHByaW50X21zZyAoaW50IGlkLCBpbnQgdW5pdCk7CisKKy8qIHdlIHJlYWQgdGltZSBhcyBpbnQ2NF90IGZyb20gL3Byb2MsIHNvIGNhc3QuLi4gKi8KKyNkZWZpbmUgeGN0aW1lKF94KQljdGltZSgodGltZV90ICopIChfeCkpCisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKSB1c2FnZShGSUxFICogb3V0KQoreworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygiICUxJHMgW3Jlc291cmNlLW9wdGlvbi4uLl0gW291dHB1dC1vcHRpb25dXG4iCisJCSAgICAgICAiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJTaG93IGluZm9ybWF0aW9uIG9uIElQQyBmYWNpbGl0aWVzLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtaSwgLS1pZCA8aWQ+ICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIiksIG91dCk7CisJZnB1dHMoVVNBR0VfSEVMUCwgb3V0KTsKKwlmcHV0cyhVU0FHRV9WRVJTSU9OLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlJlc291cmNlIG9wdGlvbnM6XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW0sIC0tc2htZW1zICAgICAgc2hhcmVkIG1lbW9yeSBzZWdtZW50c1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1xLCAtLXF1ZXVlcyAgICAgIG1lc3NhZ2UgcXVldWVzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXMsIC0tc2VtYXBob3JlcyAgc2VtYXBob3Jlc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWFsbCAgICAgICAgIGFsbCAoZGVmYXVsdClcbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIk91dHB1dCBvcHRpb25zOlxuIiksIG91dCk7CisJZnB1dHMoXygiIC10LCAtLXRpbWUgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1wLCAtLXBpZCAgICAgICAgIHNob3cgUElEcyBvZiBjcmVhdG9yIGFuZCBsYXN0IG9wZXJhdG9yXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWMsIC0tY3JlYXRvciAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIiksIG91dCk7CisJZnB1dHMoXygiIC1sLCAtLWxpbWl0cyAgICAgIHNob3cgcmVzb3VyY2UgbGltaXRzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLWh1bWFuICAgICAgIHNob3cgc2l6ZXMgaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWIsIC0tYnl0ZXMgICAgICAgc2hvdyBzaXplcyBpbiBieXRlc1xuIiksIG91dCk7CisJZnByaW50ZihvdXQsIFVTQUdFX01BTl9UQUlMKCJpcGNzKDEpIikpOworCisJZXhpdChvdXQgPT0gc3RkZXJyID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTKTsKK30KKworaW50IG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlpbnQgb3B0LCBtc2cgPSAwLCBzaG0gPSAwLCBzZW0gPSAwLCBpZCA9IDAsIHNwZWNpZmljID0gMDsKKwljaGFyIGZvcm1hdCA9IE5PVFNQRUNJRklFRDsKKwlpbnQgdW5pdCA9IElQQ19VTklUX0RFRkFVTFQ7CisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJpZCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnaSd9LAorCQl7InF1ZXVlcyIsIG5vX2FyZ3VtZW50LCBOVUxMLCAncSd9LAorCQl7InNobWVtcyIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnbSd9LAorCQl7InNlbWFwaG9yZXMiLCBub19hcmd1bWVudCwgTlVMTCwgJ3MnfSwKKwkJeyJhbGwiLCBub19hcmd1bWVudCwgTlVMTCwgJ2EnfSwKKwkJeyJ0aW1lIiwgbm9fYXJndW1lbnQsIE5VTEwsICd0J30sCisJCXsicGlkIiwgbm9fYXJndW1lbnQsIE5VTEwsICdwJ30sCisJCXsiY3JlYXRvciIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnYyd9LAorCQl7ImxpbWl0cyIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnbCd9LAorCQl7InN1bW1hcnkiLCBub19hcmd1bWVudCwgTlVMTCwgJ3UnfSwKKwkJeyJodW1hbiIsIG5vX2FyZ3VtZW50LCBOVUxMLCBPUFRfSFVNQU59LAorCQl7ImJ5dGVzIiwgbm9fYXJndW1lbnQsIE5VTEwsICdiJ30sCisJCXsidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnVid9LAorCQl7ImhlbHAiLCBub19hcmd1bWVudCwgTlVMTCwgJ2gnfSwKKwkJe05VTEwsIDAsIE5VTEwsIDB9CisJfTsKKwljaGFyIG9wdGlvbnNbXSA9ICJpOnFtc2F0cGNsdWJWaCI7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChvcHQgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCBvcHRpb25zLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisJCXN3aXRjaCAob3B0KSB7CisJCWNhc2UgJ2knOgorCQkJaWQgPSBhdG9pIChvcHRhcmcpOworCQkJc3BlY2lmaWMgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2EnOgorCQkJbXNnID0gc2htID0gc2VtID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdxJzoKKwkJCW1zZyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnbSc6CisJCQlzaG0gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3MnOgorCQkJc2VtID0gMTsKKwkJCWJyZWFrOworCQljYXNlICd0JzoKKwkJCWZvcm1hdCA9IFRJTUU7CisJCQlicmVhazsKKwkJY2FzZSAnYyc6CisJCQlmb3JtYXQgPSBDUkVBVE9SOworCQkJYnJlYWs7CisJCWNhc2UgJ3AnOgorCQkJZm9ybWF0ID0gUElEOworCQkJYnJlYWs7CisJCWNhc2UgJ2wnOgorCQkJZm9ybWF0ID0gTElNSVRTOworCQkJYnJlYWs7CisJCWNhc2UgJ3UnOgorCQkJZm9ybWF0ID0gU1RBVFVTOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0hVTUFOOgorCQkJdW5pdCA9IElQQ19VTklUX0hVTUFOOworCQkJYnJlYWs7CisJCWNhc2UgJ2InOgorCQkJdW5pdCA9IElQQ19VTklUX0JZVEVTOworCQkJYnJlYWs7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2Uoc3Rkb3V0KTsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQl9CisJfQorCisJaWYgKHNwZWNpZmljICYmIChtc2cgKyBzaG0gKyBzZW0gIT0gMSkpCisJCWVycnggKEVYSVRfRkFJTFVSRSwKKwkJICAgICAgXygid2hlbiB1c2luZyBhbiBJRCwgYSBzaW5nbGUgcmVzb3VyY2UgbXVzdCBiZSBzcGVjaWZpZWQiKSk7CisJaWYgKHNwZWNpZmljKSB7CisJCWlmIChtc2cpCisJCQlwcmludF9tc2cgKGlkLCB1bml0KTsKKwkJaWYgKHNobSkKKwkJCXByaW50X3NobSAoaWQsIHVuaXQpOworCQlpZiAoc2VtKQorCQkJcHJpbnRfc2VtIChpZCk7CisJfSBlbHNlIHsKKwkJaWYgKCFtc2cgJiYgIXNobSAmJiAhc2VtKQorCQkJbXNnID0gc2htID0gc2VtID0gMTsKKwkJcHJpbnRmICgiXG4iKTsKKwkJaWYgKG1zZykgeworCQkJZG9fbXNnIChmb3JtYXQsIHVuaXQpOworCQkJcHJpbnRmICgiXG4iKTsKKwkJfQorCQlpZiAoc2htKSB7CisJCQlkb19zaG0gKGZvcm1hdCwgdW5pdCk7CisJCQlwcmludGYgKCJcbiIpOworCQl9CisJCWlmIChzZW0pIHsKKwkJCWRvX3NlbSAoZm9ybWF0KTsKKwkJCXByaW50ZiAoIlxuIik7CisJCX0KKwl9CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KKworc3RhdGljIHZvaWQgZG9fc2htIChjaGFyIGZvcm1hdCwgaW50IHVuaXQpCit7CisJc3RydWN0IHBhc3N3ZCAqcHc7CisJc3RydWN0IHNobV9kYXRhICpzaG1kcywgKnNobWRzcDsKKworCXN3aXRjaCAoZm9ybWF0KSB7CisJY2FzZSBMSU1JVFM6CisJeworCQlzdHJ1Y3QgaXBjX2xpbWl0cyBsaW07CisKKwkJaWYgKGlwY19zaG1fZ2V0X2xpbWl0cygmbGltKSkgeworCQkJcHJpbnRmIChfKCJ1bmFibGUgdG8gZmV0Y2ggc2hhcmVkIG1lbW9yeSBsaW1pdHNcbiIpKTsKKwkJCXJldHVybjsKKwkJfQorCQlwcmludGYgKF8oIi0tLS0tLSBTaGFyZWQgTWVtb3J5IExpbWl0cyAtLS0tLS0tLVxuIikpOworCQlwcmludGYgKF8oIm1heCBudW1iZXIgb2Ygc2VnbWVudHMgPSAlanVcbiIpLCBsaW0uc2htbW5pKTsKKwkJaXBjX3ByaW50X3NpemUodW5pdCA9PSBJUENfVU5JVF9ERUZBVUxUID8gSVBDX1VOSVRfS0IgOiB1bml0LAorCQkJICAgICAgIF8oIm1heCBzZWcgc2l6ZSIpLCBsaW0uc2htbWF4LCAiXG4iLCAwKTsKKwkJaXBjX3ByaW50X3NpemUodW5pdCA9PSBJUENfVU5JVF9ERUZBVUxUID8gSVBDX1VOSVRfS0IgOiB1bml0LAorCQkJICAgICAgIF8oIm1heCB0b3RhbCBzaGFyZWQgbWVtb3J5IiksCisJCQkgICAgICAgKHVpbnQ2NF90KSBsaW0uc2htYWxsICogZ2V0cGFnZXNpemUoKSwgIlxuIiwgMCk7CisJCWlwY19wcmludF9zaXplKHVuaXQgPT0gSVBDX1VOSVRfREVGQVVMVCA/IElQQ19VTklUX0JZVEVTIDogdW5pdCwKKwkJCSAgICAgICBfKCJtaW4gc2VnIHNpemUiKSwgbGltLnNobW1pbiwgIlxuIiwgMCk7CisJCXJldHVybjsKKwl9CisJY2FzZSBTVEFUVVM6CisJeworCQlpbnQgbWF4aWQ7CisJCXN0cnVjdCBzaG1pZF9kcyBzaG1idWY7CisJCXN0cnVjdCBzaG1faW5mbyAqc2htX2luZm87CisKKwkJbWF4aWQgPSBzaG1jdGwgKDAsIFNITV9JTkZPLCAmc2htYnVmKTsKKwkJc2htX2luZm8gPSAgKHN0cnVjdCBzaG1faW5mbyAqKSAmc2htYnVmOworCQlpZiAobWF4aWQgPCAwKSB7CisJCQlwcmludGYgKF8oImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeVxuIikpOworCQkJcmV0dXJuOworCQl9CisKKwkJcHJpbnRmIChfKCItLS0tLS0gU2hhcmVkIE1lbW9yeSBTdGF0dXMgLS0tLS0tLS1cbiIpKTsKKwkJLyoKKwkJICogVFJBTlNMQVRPUlM6IFRoaXMgb3V0cHV0IGZvcm1hdCBpcyBtYWludGFpbmVkIGZvciBiYWNrd2FyZAorCQkgKiBjb21wYXRpYmlsaXR5IGFzIGlwY3MgaXMgdXNlZCBpbiBzY3JpcHRzLiBGb3IgY29uc2lzdGVuY3kKKwkJICogd2l0aCB0aGUgcmVzdCwgdGhlIHRyYW5zbGF0ZWQgZm9ybSBjYW4gZm9sbG93IHRoaXMgbW9kZWw6CisJCSAqCisJCSAqICJzZWdtZW50cyBhbGxvY2F0ZWQgPSAlZFxuIgorCQkgKiAicGFnZXMgYWxsb2NhdGVkID0gJWxkXG4iCisJCSAqICJwYWdlcyByZXNpZGVudCA9ICVsZFxuIgorCQkgKiAicGFnZXMgc3dhcHBlZCA9ICVsZFxuIgorCQkgKiAic3dhcCBwZXJmb3JtYW5jZSA9ICVsZCBhdHRlbXB0cywgJWxkIHN1Y2Nlc3Nlc1xuIgorCQkgKi8KKwkJcHJpbnRmIChfKCJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKwkJCSAgInBhZ2VzIGFsbG9jYXRlZCAlbGRcbiIKKwkJCSAgInBhZ2VzIHJlc2lkZW50ICAlbGRcbiIKKwkJCSAgInBhZ2VzIHN3YXBwZWQgICAlbGRcbiIKKwkJCSAgIlN3YXAgcGVyZm9ybWFuY2U6ICVsZCBhdHRlbXB0c1x0ICVsZCBzdWNjZXNzZXNcbiIpLAorCQkJc2htX2luZm8tPnVzZWRfaWRzLAorCQkJc2htX2luZm8tPnNobV90b3QsCisJCQlzaG1faW5mby0+c2htX3JzcywKKwkJCXNobV9pbmZvLT5zaG1fc3dwLAorCQkJc2htX2luZm8tPnN3YXBfYXR0ZW1wdHMsIHNobV9pbmZvLT5zd2FwX3N1Y2Nlc3Nlcyk7CisJCXJldHVybjsKKwl9CisKKwkvKgorCSAqIEhlYWRlcnMgb25seQorCSAqLworCWNhc2UgQ1JFQVRPUjoKKwkJcHJpbnRmIChfKCItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50IENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIikpOworCQlwcmludGYgKCIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIiwKKwkJCV8oInNobWlkIiksXygicGVybXMiKSxfKCJjdWlkIiksXygiY2dpZCIpLF8oInVpZCIpLF8oImdpZCIpKTsKKwkJYnJlYWs7CisKKwljYXNlIFRJTUU6CisJCXByaW50ZiAoXygiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQXR0YWNoL0RldGFjaC9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIpKTsKKwkJcHJpbnRmICgiJS0xMHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIsCisJCQlfKCJzaG1pZCIpLF8oIm93bmVyIiksXygiYXR0YWNoZWQiKSxfKCJkZXRhY2hlZCIpLAorCQkJXygiY2hhbmdlZCIpKTsKKwkJYnJlYWs7CisKKwljYXNlIFBJRDoKKwkJcHJpbnRmIChfKCItLS0tLS0gU2hhcmVkIE1lbW9yeSBDcmVhdG9yL0xhc3Qtb3AgUElEcyAtLS0tLS0tLVxuIikpOworCQlwcmludGYgKCIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIiwKKwkJCV8oInNobWlkIiksXygib3duZXIiKSxfKCJjcGlkIiksXygibHBpZCIpKTsKKwkJYnJlYWs7CisKKwlkZWZhdWx0OgorCQlwcmludGYgKF8oIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnRzIC0tLS0tLS0tXG4iKSk7CisJCXByaW50ZiAoIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTJzXG4iLAorCQkJXygia2V5IiksXygic2htaWQiKSxfKCJvd25lciIpLF8oInBlcm1zIiksCisJCQl1bml0ID09IElQQ19VTklUX0hVTUFOID8gXygic2l6ZSIpIDogXygiYnl0ZXMiKSwKKwkJCV8oIm5hdHRjaCIpLF8oInN0YXR1cyIpKTsKKwkJYnJlYWs7CisJfQorCisJLyoKKwkgKiBQcmludCBkYXRhCisJICovCisJaWYgKGlwY19zaG1fZ2V0X2luZm8oLTEsICZzaG1kcykgPCAxKQorCQlyZXR1cm47CisKKwlmb3IgKHNobWRzcCA9IHNobWRzOyBzaG1kc3AtPm5leHQgIT0gTlVMTDsgc2htZHNwID0gc2htZHNwLT5uZXh0KSB7CisJCWlmIChmb3JtYXQgPT0gQ1JFQVRPUikgIHsKKwkJCWlwY19wcmludF9wZXJtcyhzdGRvdXQsICZzaG1kc3AtPnNobV9wZXJtKTsKKwkJCWNvbnRpbnVlOworCQl9CisJCXB3ID0gZ2V0cHd1aWQoc2htZHNwLT5zaG1fcGVybS51aWQpOworCQlzd2l0Y2ggKGZvcm1hdCkgeworCQljYXNlIFRJTUU6CisJCQlpZiAocHcpCisJCQkJcHJpbnRmICgiJS0xMGQgJS0xMC4xMHMiLCBzaG1kc3AtPnNobV9wZXJtLmlkLCBwdy0+cHdfbmFtZSk7CisJCQllbHNlCisJCQkJcHJpbnRmICgiJS0xMGQgJS0xMHUiLCBzaG1kc3AtPnNobV9wZXJtLmlkLCBzaG1kc3AtPnNobV9wZXJtLnVpZCk7CisJCQkvKiBjdGltZSB1c2VzIHN0YXRpYyBidWZmZXI6IHVzZSBzZXBhcmF0ZSBjYWxscyAqLworCQkJcHJpbnRmKCIgJS0yMC4xNnMiLCBzaG1kc3AtPnNobV9hdGltCisJCQkgICAgICAgPyB4Y3RpbWUoJnNobWRzcC0+c2htX2F0aW0pICsgNCA6IF8oIk5vdCBzZXQiKSk7CisJCQlwcmludGYoIiAlLTIwLjE2cyIsIHNobWRzcC0+c2htX2R0aW0KKwkJCSAgICAgICA/IHhjdGltZSgmc2htZHNwLT5zaG1fZHRpbSkgKyA0IDogXygiTm90IHNldCIpKTsKKwkJCXByaW50ZigiICUtMjAuMTZzXG4iLCBzaG1kc3AtPnNobV9jdGltCisJCQkgICAgICAgPyB4Y3RpbWUoJnNobWRzcC0+c2htX2N0aW0pICsgNCA6IF8oIk5vdCBzZXQiKSk7CisJCQlicmVhazsKKwkJY2FzZSBQSUQ6CisJCQlpZiAocHcpCisJCQkJcHJpbnRmICgiJS0xMGQgJS0xMC4xMHMiLCBzaG1kc3AtPnNobV9wZXJtLmlkLCBwdy0+cHdfbmFtZSk7CisJCQllbHNlCisJCQkJcHJpbnRmICgiJS0xMGQgJS0xMHUiLCBzaG1kc3AtPnNobV9wZXJtLmlkLCBzaG1kc3AtPnNobV9wZXJtLnVpZCk7CisJCQlwcmludGYgKCIgJS0xMHUgJS0xMHVcbiIsCisJCQkJc2htZHNwLT5zaG1fY3ByaWQsIHNobWRzcC0+c2htX2xwcmlkKTsKKwkJCWJyZWFrOworCisJCWRlZmF1bHQ6CisJCQlwcmludGYoIjB4JTA4eCAiLCBzaG1kc3AtPnNobV9wZXJtLmtleSk7CisJCQlpZiAocHcpCisJCQkJcHJpbnRmICgiJS0xMGQgJS0xMC4xMHMiLCBzaG1kc3AtPnNobV9wZXJtLmlkLCBwdy0+cHdfbmFtZSk7CisJCQllbHNlCisJCQkJcHJpbnRmICgiJS0xMGQgJS0xMHUiLCBzaG1kc3AtPnNobV9wZXJtLmlkLCBzaG1kc3AtPnNobV9wZXJtLnVpZCk7CisJCQlwcmludGYgKCIgJS0xMG8gIiwgc2htZHNwLT5zaG1fcGVybS5tb2RlICYgMDc3Nyk7CisKKwkJCWlmICh1bml0ID09IElQQ19VTklUX0hVTUFOKQorCQkJCWlwY19wcmludF9zaXplKHVuaXQsIE5VTEwsIHNobWRzcC0+c2htX3NlZ3N6LCAiICAgICIsIDYpOworCQkJZWxzZQorCQkJCWlwY19wcmludF9zaXplKHVuaXQsIE5VTEwsIHNobWRzcC0+c2htX3NlZ3N6LCBOVUxMLCAtMTApOworCisJCQlwcmludGYgKCIgJS0xMGp1ICUtNnMgJS02c1xuIiwKKwkJCQlzaG1kc3AtPnNobV9uYXR0Y2gsCisJCQkJc2htZHNwLT5zaG1fcGVybS5tb2RlICYgU0hNX0RFU1QgPyBfKCJkZXN0IikgOiAiICIsCisJCQkJc2htZHNwLT5zaG1fcGVybS5tb2RlICYgU0hNX0xPQ0tFRCA/IF8oImxvY2tlZCIpIDogIiAiKTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJaXBjX3NobV9mcmVlX2luZm8oc2htZHMpOworCXJldHVybjsKK30KKworc3RhdGljIHZvaWQgZG9fc2VtIChjaGFyIGZvcm1hdCkKK3sKKwlzdHJ1Y3QgcGFzc3dkICpwdzsKKwlzdHJ1Y3Qgc2VtX2RhdGEgKnNlbWRzLCAqc2VtZHNwOworCisJc3dpdGNoIChmb3JtYXQpIHsKKwljYXNlIExJTUlUUzoKKwl7CisJCXN0cnVjdCBpcGNfbGltaXRzIGxpbTsKKworCQlpZiAoaXBjX3NlbV9nZXRfbGltaXRzKCZsaW0pKSB7CisJCQlwcmludGYgKF8oInVuYWJsZSB0byBmZXRjaCBzZW1hcGhvcmUgbGltaXRzXG4iKSk7CisJCQlyZXR1cm47CisJCX0KKwkJcHJpbnRmIChfKCItLS0tLS0gU2VtYXBob3JlIExpbWl0cyAtLS0tLS0tLVxuIikpOworCQlwcmludGYgKF8oIm1heCBudW1iZXIgb2YgYXJyYXlzID0gJWRcbiIpLCBsaW0uc2VtbW5pKTsKKwkJcHJpbnRmIChfKCJtYXggc2VtYXBob3JlcyBwZXIgYXJyYXkgPSAlZFxuIiksIGxpbS5zZW1tc2wpOworCQlwcmludGYgKF8oIm1heCBzZW1hcGhvcmVzIHN5c3RlbSB3aWRlID0gJWRcbiIpLCBsaW0uc2VtbW5zKTsKKwkJcHJpbnRmIChfKCJtYXggb3BzIHBlciBzZW1vcCBjYWxsID0gJWRcbiIpLCBsaW0uc2Vtb3BtKTsKKwkJcHJpbnRmIChfKCJzZW1hcGhvcmUgbWF4IHZhbHVlID0gJXVcbiIpLCBsaW0uc2Vtdm14KTsKKwkJcmV0dXJuOworCX0KKwljYXNlIFNUQVRVUzoKKwl7CisJCXN0cnVjdCBzZW1pbmZvIHNlbWluZm87CisJCXVuaW9uIHNlbXVuIGFyZzsKKwkJYXJnLmFycmF5ID0gKHVzaG9ydCAqKSAgKHZvaWQgKikgJnNlbWluZm87CisJCWlmIChzZW1jdGwgKDAsIDAsIFNFTV9JTkZPLCBhcmcpIDwgMCkgeworCQkJcHJpbnRmIChfKCJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXNcbiIpKTsKKwkJCXJldHVybjsKKwkJfQorCQlwcmludGYgKF8oIi0tLS0tLSBTZW1hcGhvcmUgU3RhdHVzIC0tLS0tLS0tXG4iKSk7CisJCXByaW50ZiAoXygidXNlZCBhcnJheXMgPSAlZFxuIiksIHNlbWluZm8uc2VtdXN6KTsKKwkJcHJpbnRmIChfKCJhbGxvY2F0ZWQgc2VtYXBob3JlcyA9ICVkXG4iKSwgc2VtaW5mby5zZW1hZW0pOworCQlyZXR1cm47CisJfQorCisJY2FzZSBDUkVBVE9SOgorCQlwcmludGYgKF8oIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIikpOworCQlwcmludGYgKCIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIiwKKwkJCV8oInNlbWlkIiksXygicGVybXMiKSxfKCJjdWlkIiksXygiY2dpZCIpLF8oInVpZCIpLF8oImdpZCIpKTsKKwkJYnJlYWs7CisKKwljYXNlIFRJTUU6CisJCXByaW50ZiAoXygiLS0tLS0tIFNlbWFwaG9yZSBPcGVyYXRpb24vQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iKSk7CisJCXByaW50ZiAoIiUtOHMgJS0xMHMgJS0yNi4yNHMgJS0yNi4yNHNcbiIsCisJCQlfKCJzZW1pZCIpLF8oIm93bmVyIiksXygibGFzdC1vcCIpLF8oImxhc3QtY2hhbmdlZCIpKTsKKwkJYnJlYWs7CisKKwljYXNlIFBJRDoKKwkJYnJlYWs7CisKKwlkZWZhdWx0OgorCQlwcmludGYgKF8oIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIC0tLS0tLS0tXG4iKSk7CisJCXByaW50ZiAoIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iLAorCQkJXygia2V5IiksXygic2VtaWQiKSxfKCJvd25lciIpLF8oInBlcm1zIiksXygibnNlbXMiKSk7CisJCWJyZWFrOworCX0KKworCS8qCisJICogUHJpbnQgZGF0YQorCSAqLworCWlmIChpcGNfc2VtX2dldF9pbmZvKC0xLCAmc2VtZHMpIDwgMSkKKwkJcmV0dXJuOworCisJZm9yIChzZW1kc3AgPSBzZW1kczsgc2VtZHNwLT5uZXh0ICE9IE5VTEw7IHNlbWRzcCA9IHNlbWRzcC0+bmV4dCkgeworCQlpZiAoZm9ybWF0ID09IENSRUFUT1IpICB7CisJCQlpcGNfcHJpbnRfcGVybXMoc3Rkb3V0LCAmc2VtZHNwLT5zZW1fcGVybSk7CisJCQljb250aW51ZTsKKwkJfQorCQlwdyA9IGdldHB3dWlkKHNlbWRzcC0+c2VtX3Blcm0udWlkKTsKKwkJc3dpdGNoIChmb3JtYXQpIHsKKwkJY2FzZSBUSU1FOgorCQkJaWYgKHB3KQorCQkJCXByaW50ZiAoIiUtOGQgJS0xMC4xMHMiLCBzZW1kc3AtPnNlbV9wZXJtLmlkLCBwdy0+cHdfbmFtZSk7CisJCQllbHNlCisJCQkJcHJpbnRmICgiJS04ZCAlLTEwdSIsIHNlbWRzcC0+c2VtX3Blcm0uaWQsIHNlbWRzcC0+c2VtX3Blcm0udWlkKTsKKwkJCXByaW50ZiAoIiAgJS0yNi4yNHMiLCBzZW1kc3AtPnNlbV9vdGltZQorCQkJCT8geGN0aW1lKCZzZW1kc3AtPnNlbV9vdGltZSkgOiBfKCJOb3Qgc2V0IikpOworCQkJcHJpbnRmICgiICUtMjYuMjRzXG4iLCBzZW1kc3AtPnNlbV9jdGltZQorCQkJCT8geGN0aW1lKCAmc2VtZHNwLT5zZW1fY3RpbWUpIDogXygiTm90IHNldCIpKTsKKwkJCWJyZWFrOworCQljYXNlIFBJRDoKKwkJCWJyZWFrOworCisJCWRlZmF1bHQ6CisJCQlwcmludGYoIjB4JTA4eCAiLCBzZW1kc3AtPnNlbV9wZXJtLmtleSk7CisJCQlpZiAocHcpCisJCQkJcHJpbnRmICgiJS0xMGQgJS0xMC4xMHMiLCBzZW1kc3AtPnNlbV9wZXJtLmlkLCBwdy0+cHdfbmFtZSk7CisJCQllbHNlCisJCQkJcHJpbnRmICgiJS0xMGQgJS0xMHUiLCBzZW1kc3AtPnNlbV9wZXJtLmlkLCBzZW1kc3AtPnNlbV9wZXJtLnVpZCk7CisJCQlwcmludGYgKCIgJS0xMG8gJS0xMGp1XG4iLAorCQkJCXNlbWRzcC0+c2VtX3Blcm0ubW9kZSAmIDA3NzcsCisJCQkJc2VtZHNwLT5zZW1fbnNlbXMpOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlpcGNfc2VtX2ZyZWVfaW5mbyhzZW1kcyk7CisJcmV0dXJuOworfQorCitzdGF0aWMgdm9pZCBkb19tc2cgKGNoYXIgZm9ybWF0LCBpbnQgdW5pdCkKK3sKKwlzdHJ1Y3QgcGFzc3dkICpwdzsKKwlzdHJ1Y3QgbXNnX2RhdGEgKm1zZ2RzLCAqbXNnZHNwOworCisJc3dpdGNoIChmb3JtYXQpIHsKKwljYXNlIExJTUlUUzoKKwl7CisJCXN0cnVjdCBpcGNfbGltaXRzIGxpbTsKKworCQlpZiAoaXBjX21zZ19nZXRfbGltaXRzKCZsaW0pKSB7CisJCQlwcmludGYgKF8oInVuYWJsZSB0byBmZXRjaCBtZXNzYWdlIGxpbWl0c1xuIikpOworCQkJcmV0dXJuOworCQl9CisJCXByaW50ZiAoXygiLS0tLS0tIE1lc3NhZ2VzIExpbWl0cyAtLS0tLS0tLVxuIikpOworCQlwcmludGYgKF8oIm1heCBxdWV1ZXMgc3lzdGVtIHdpZGUgPSAlZFxuIiksIGxpbS5tc2dtbmkpOworCQlpcGNfcHJpbnRfc2l6ZSh1bml0ID09IElQQ19VTklUX0RFRkFVTFQgPyBJUENfVU5JVF9CWVRFUyA6IHVuaXQsCisJCQkgICAgICAgXygibWF4IHNpemUgb2YgbWVzc2FnZSIpLCBsaW0ubXNnbWF4LCAiXG4iLCAwKTsKKwkJaXBjX3ByaW50X3NpemUodW5pdCA9PSBJUENfVU5JVF9ERUZBVUxUID8gSVBDX1VOSVRfQllURVMgOiB1bml0LAorCQkJICAgICAgIF8oImRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUiKSwgbGltLm1zZ21uYiwgIlxuIiwgMCk7CisJCXJldHVybjsKKwl9CisJY2FzZSBTVEFUVVM6CisJeworCQlzdHJ1Y3QgbXNnaW5mbyBtc2dpbmZvOworCQlpZiAobXNnY3RsICgwLCBNU0dfSU5GTywgKHN0cnVjdCBtc3FpZF9kcyAqKSAodm9pZCAqKSAmbXNnaW5mbykgPCAwKSB7CisJCQlwcmludGYgKF8oImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXNcbiIpKTsKKwkJCXJldHVybjsKKwkJfQorCQlwcmludGYgKF8oIi0tLS0tLSBNZXNzYWdlcyBTdGF0dXMgLS0tLS0tLS1cbiIpKTsKKyNpZm5kZWYgX19GcmVlQlNEX2tlcm5lbF9fCisJCXByaW50ZiAoXygiYWxsb2NhdGVkIHF1ZXVlcyA9ICVkXG4iKSwgbXNnaW5mby5tc2dwb29sKTsKKwkJcHJpbnRmIChfKCJ1c2VkIGhlYWRlcnMgPSAlZFxuIiksIG1zZ2luZm8ubXNnbWFwKTsKKyNlbmRpZgorCQlpcGNfcHJpbnRfc2l6ZSh1bml0LCBfKCJ1c2VkIHNwYWNlIiksIG1zZ2luZm8ubXNndHFsLAorCQkJICAgICAgIHVuaXQgPT0gSVBDX1VOSVRfREVGQVVMVCA/IF8oIiBieXRlc1xuIikgOiAiXG4iLCAwKTsKKwkJcmV0dXJuOworCX0KKwljYXNlIENSRUFUT1I6CisJCXByaW50ZiAoXygiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIikpOworCQlwcmludGYgKCIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIiwKKwkJCV8oIm1zcWlkIiksXygicGVybXMiKSxfKCJjdWlkIiksXygiY2dpZCIpLF8oInVpZCIpLF8oImdpZCIpKTsKKwkJYnJlYWs7CisKKwljYXNlIFRJTUU6CisJCXByaW50ZiAoXygiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFNlbmQvUmVjdi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIpKTsKKwkJcHJpbnRmICgiJS04cyAlLTEwcyAlLTIwcyAlLTIwcyAlLTIwc1xuIiwKKwkJCV8oIm1zcWlkIiksXygib3duZXIiKSxfKCJzZW5kIiksXygicmVjdiIpLF8oImNoYW5nZSIpKTsKKwkJYnJlYWs7CisKKwljYXNlIFBJRDoKKwkJcHJpbnRmIChfKCItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgUElEcyAtLS0tLS0tLVxuIikpOworCQlwcmludGYgKCIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIiwKKwkJCV8oIm1zcWlkIiksXygib3duZXIiKSxfKCJsc3BpZCIpLF8oImxycGlkIikpOworCQlicmVhazsKKworCWRlZmF1bHQ6CisJCXByaW50ZiAoXygiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIC0tLS0tLS0tXG4iKSk7CisJCXByaW50ZiAoIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTJzICUtMTJzXG4iLAorCQkJXygia2V5IiksIF8oIm1zcWlkIiksIF8oIm93bmVyIiksIF8oInBlcm1zIiksCisJCQl1bml0ID09IElQQ19VTklUX0hVTUFOID8gXygic2l6ZSIpIDogXygidXNlZC1ieXRlcyIpLAorCQkJXygibWVzc2FnZXMiKSk7CisJCWJyZWFrOworCX0KKworCS8qCisJICogUHJpbnQgZGF0YQorCSAqLworCWlmIChpcGNfbXNnX2dldF9pbmZvKC0xLCAmbXNnZHMpIDwgMSkKKwkJcmV0dXJuOworCisJZm9yIChtc2dkc3AgPSBtc2dkczsgbXNnZHNwLT5uZXh0ICE9IE5VTEw7IG1zZ2RzcCA9IG1zZ2RzcC0+bmV4dCkgeworCQlpZiAoZm9ybWF0ID09IENSRUFUT1IpIHsKKwkJCWlwY19wcmludF9wZXJtcyhzdGRvdXQsICZtc2dkc3AtPm1zZ19wZXJtKTsKKwkJCWNvbnRpbnVlOworCQl9CisJCXB3ID0gZ2V0cHd1aWQobXNnZHNwLT5tc2dfcGVybS51aWQpOworCQlzd2l0Y2ggKGZvcm1hdCkgeworCQljYXNlIFRJTUU6CisJCQlpZiAocHcpCisJCQkJcHJpbnRmICgiJS04ZCAlLTEwLjEwcyIsIG1zZ2RzcC0+bXNnX3Blcm0uaWQsIHB3LT5wd19uYW1lKTsKKwkJCWVsc2UKKwkJCQlwcmludGYgKCIlLThkICUtMTB1IiwgbXNnZHNwLT5tc2dfcGVybS5pZCwgbXNnZHNwLT5tc2dfcGVybS51aWQpOworCQkJcHJpbnRmICgiICUtMjAuMTZzIiwgbXNnZHNwLT5xX3N0aW1lCisJCQkJPyB4Y3RpbWUoJm1zZ2RzcC0+cV9zdGltZSkgKyA0IDogXygiTm90IHNldCIpKTsKKwkJCXByaW50ZiAoIiAlLTIwLjE2cyIsIG1zZ2RzcC0+cV9ydGltZQorCQkJCT8geGN0aW1lKCZtc2dkc3AtPnFfcnRpbWUpICsgNCA6IF8oIk5vdCBzZXQiKSk7CisJCQlwcmludGYgKCIgJS0yMC4xNnNcbiIsIG1zZ2RzcC0+cV9jdGltZQorCQkJCT8geGN0aW1lKCZtc2dkc3AtPnFfY3RpbWUpICsgNCA6IF8oIk5vdCBzZXQiKSk7CisJCQlicmVhazsKKwkJY2FzZSBQSUQ6CisJCQlpZiAocHcpCisJCQkJcHJpbnRmICgiJS04ZCAlLTEwLjEwcyIsIG1zZ2RzcC0+bXNnX3Blcm0uaWQsIHB3LT5wd19uYW1lKTsKKwkJCWVsc2UKKwkJCQlwcmludGYgKCIlLThkICUtMTB1IiwgbXNnZHNwLT5tc2dfcGVybS5pZCwgbXNnZHNwLT5tc2dfcGVybS51aWQpOworCQkJcHJpbnRmICgiICAlNWQgICAgICU1ZFxuIiwKKwkJCQltc2dkc3AtPnFfbHNwaWQsIG1zZ2RzcC0+cV9scnBpZCk7CisJCQlicmVhazsKKworCQlkZWZhdWx0OgorCQkJcHJpbnRmKCAiMHglMDh4ICIsbXNnZHNwLT5tc2dfcGVybS5rZXkgKTsKKwkJCWlmIChwdykKKwkJCQlwcmludGYgKCIlLTEwZCAlLTEwLjEwcyIsIG1zZ2RzcC0+bXNnX3Blcm0uaWQsIHB3LT5wd19uYW1lKTsKKwkJCWVsc2UKKwkJCQlwcmludGYgKCIlLTEwZCAlLTEwdSIsIG1zZ2RzcC0+bXNnX3Blcm0uaWQsIG1zZ2RzcC0+bXNnX3Blcm0udWlkKTsKKwkJCXByaW50ZiAoIiAlLTEwbyAiLCBtc2dkc3AtPm1zZ19wZXJtLm1vZGUgJiAwNzc3KTsKKworCQkJaWYgKHVuaXQgPT0gSVBDX1VOSVRfSFVNQU4pCisJCQkJaXBjX3ByaW50X3NpemUodW5pdCwgTlVMTCwgbXNnZHNwLT5xX2NieXRlcywgIiAgICAgICIsIDYpOworCQkJZWxzZQorCQkJCWlwY19wcmludF9zaXplKHVuaXQsIE5VTEwsIG1zZ2RzcC0+cV9jYnl0ZXMsIE5VTEwsIC0xMik7CisKKwkJCXByaW50ZiAoIiAlLTEyanVcbiIsIG1zZ2RzcC0+cV9xbnVtKTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJaXBjX21zZ19mcmVlX2luZm8obXNnZHMpOworCXJldHVybjsKK30KKworc3RhdGljIHZvaWQgcHJpbnRfc2htKGludCBzaG1pZCwgaW50IHVuaXQpCit7CisJc3RydWN0IHNobV9kYXRhICpzaG1kYXRhOworCisJaWYgKGlwY19zaG1fZ2V0X2luZm8oc2htaWQsICZzaG1kYXRhKSA8IDEpIHsKKwkJd2FybngoXygiaWQgJWQgbm90IGZvdW5kIiksIHNobWlkKTsKKwkJcmV0dXJuOworCX0KKworCXByaW50ZihfKCJcblNoYXJlZCBtZW1vcnkgU2VnbWVudCBzaG1pZD0lZFxuIiksIHNobWlkKTsKKwlwcmludGYoXygidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIpLAorCSAgICAgICBzaG1kYXRhLT5zaG1fcGVybS51aWQsIHNobWRhdGEtPnNobV9wZXJtLmdpZCwKKwkgICAgICAgc2htZGF0YS0+c2htX3Blcm0uY3VpZCwgc2htZGF0YS0+c2htX3Blcm0uY2dpZCk7CisJcHJpbnRmKF8oIm1vZGU9JSNvXHRhY2Nlc3NfcGVybXM9JSNvXG4iKSwgc2htZGF0YS0+c2htX3Blcm0ubW9kZSwKKwkgICAgICAgc2htZGF0YS0+c2htX3Blcm0ubW9kZSAmIDA3NzcpOworCWlwY19wcmludF9zaXplKHVuaXQsIHVuaXQgPT0gSVBDX1VOSVRfSFVNQU4gPyBfKCJzaXplPSIpIDogXygiYnl0ZXM9IiksCisJCSAgICAgICBzaG1kYXRhLT5zaG1fc2Vnc3osICJcdCIsIDApOworCXByaW50ZihfKCJscGlkPSV1XHRjcGlkPSV1XHRuYXR0Y2g9JWpkXG4iKSwKKwkgICAgICAgc2htZGF0YS0+c2htX2xwcmlkLCBzaG1kYXRhLT5zaG1fY3ByaWQsCisJICAgICAgIHNobWRhdGEtPnNobV9uYXR0Y2gpOworCXByaW50ZihfKCJhdHRfdGltZT0lLTI2LjI0c1xuIiksCisJICAgICAgIHNobWRhdGEtPnNobV9hdGltID8geGN0aW1lKCYoc2htZGF0YS0+c2htX2F0aW0pKSA6IF8oIk5vdCBzZXQiKSk7CisJcHJpbnRmKF8oImRldF90aW1lPSUtMjYuMjRzXG4iKSwKKwkgICAgICAgc2htZGF0YS0+c2htX2R0aW0gPyB4Y3RpbWUoJnNobWRhdGEtPnNobV9kdGltKSA6IF8oIk5vdCBzZXQiKSk7CisJcHJpbnRmKF8oImNoYW5nZV90aW1lPSUtMjYuMjRzXG4iKSwgeGN0aW1lKCZzaG1kYXRhLT5zaG1fY3RpbSkpOworCXByaW50ZigiXG4iKTsKKworCWlwY19zaG1fZnJlZV9pbmZvKHNobWRhdGEpOworfQorCit2b2lkIHByaW50X21zZyhpbnQgbXNnaWQsIGludCB1bml0KQoreworCXN0cnVjdCBtc2dfZGF0YSAqbXNnZGF0YTsKKworCWlmIChpcGNfbXNnX2dldF9pbmZvKG1zZ2lkLCAmbXNnZGF0YSkgPCAxKSB7CisJCXdhcm54KF8oImlkICVkIG5vdCBmb3VuZCIpLCBtc2dpZCk7CisJCXJldHVybjsKKwl9CisKKwlwcmludGYoXygiXG5NZXNzYWdlIFF1ZXVlIG1zcWlkPSVkXG4iKSwgbXNnaWQpOworCXByaW50ZihfKCJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVx0bW9kZT0lI29cbiIpLAorCSAgICAgICBtc2dkYXRhLT5tc2dfcGVybS51aWQsIG1zZ2RhdGEtPm1zZ19wZXJtLmdpZCwKKwkgICAgICAgbXNnZGF0YS0+bXNnX3Blcm0uY3VpZCwgbXNnZGF0YS0+bXNnX3Blcm0uY2dpZCwKKwkgICAgICAgbXNnZGF0YS0+bXNnX3Blcm0ubW9kZSk7CisJaXBjX3ByaW50X3NpemUodW5pdCwgdW5pdCA9PSBJUENfVU5JVF9IVU1BTiA/IF8oImNzaXplPSIpIDogXygiY2J5dGVzPSIpLAorCQkgICAgICAgbXNnZGF0YS0+cV9jYnl0ZXMsICJcdCIsIDApOworCWlwY19wcmludF9zaXplKHVuaXQsIHVuaXQgPT0gSVBDX1VOSVRfSFVNQU4gPyBfKCJxc2l6ZT0iKSA6IF8oInFieXRlcz0iKSwKKwkJICAgICAgIG1zZ2RhdGEtPnFfcWJ5dGVzLCAiXHQiLCAwKTsKKwlwcmludGYoInFudW09JWpkXHRsc3BpZD0lZFx0bHJwaWQ9JWRcbiIsCisJICAgICAgIG1zZ2RhdGEtPnFfcW51bSwKKwkgICAgICAgbXNnZGF0YS0+cV9sc3BpZCwgbXNnZGF0YS0+cV9scnBpZCk7CisJcHJpbnRmKF8oInNlbmRfdGltZT0lLTI2LjI0c1xuIiksCisJICAgICAgIG1zZ2RhdGEtPnFfc3RpbWUgPyB4Y3RpbWUoJm1zZ2RhdGEtPnFfc3RpbWUpIDogXygiTm90IHNldCIpKTsKKwlwcmludGYoXygicmN2X3RpbWU9JS0yNi4yNHNcbiIpLAorCSAgICAgICBtc2dkYXRhLT5xX3J0aW1lID8geGN0aW1lKCZtc2dkYXRhLT5xX3J0aW1lKSA6IF8oIk5vdCBzZXQiKSk7CisJcHJpbnRmKF8oImNoYW5nZV90aW1lPSUtMjYuMjRzXG4iKSwKKwkgICAgICAgbXNnZGF0YS0+cV9jdGltZSA/IHhjdGltZSgmbXNnZGF0YS0+cV9jdGltZSkgOiBfKCJOb3Qgc2V0IikpOworCXByaW50ZigiXG4iKTsKKworCWlwY19tc2dfZnJlZV9pbmZvKG1zZ2RhdGEpOworfQorCitzdGF0aWMgdm9pZCBwcmludF9zZW0oaW50IHNlbWlkKQoreworCXN0cnVjdCBzZW1fZGF0YSAqc2VtZGF0YTsKKwlzaXplX3QgaTsKKworCWlmIChpcGNfc2VtX2dldF9pbmZvKHNlbWlkLCAmc2VtZGF0YSkgPCAxKSB7CisJCXdhcm54KF8oImlkICVkIG5vdCBmb3VuZCIpLCBzZW1pZCk7CisJCXJldHVybjsKKwl9CisKKwlwcmludGYoXygiXG5TZW1hcGhvcmUgQXJyYXkgc2VtaWQ9JWRcbiIpLCBzZW1pZCk7CisJcHJpbnRmKF8oInVpZD0ldVx0IGdpZD0ldVx0IGN1aWQ9JXVcdCBjZ2lkPSV1XG4iKSwKKwkgICAgICAgc2VtZGF0YS0+c2VtX3Blcm0udWlkLCBzZW1kYXRhLT5zZW1fcGVybS5naWQsCisJICAgICAgIHNlbWRhdGEtPnNlbV9wZXJtLmN1aWQsIHNlbWRhdGEtPnNlbV9wZXJtLmNnaWQpOworCXByaW50ZihfKCJtb2RlPSUjbywgYWNjZXNzX3Blcm1zPSUjb1xuIiksCisJICAgICAgIHNlbWRhdGEtPnNlbV9wZXJtLm1vZGUsIHNlbWRhdGEtPnNlbV9wZXJtLm1vZGUgJiAwNzc3KTsKKwlwcmludGYoXygibnNlbXMgPSAlanVcbiIpLCBzZW1kYXRhLT5zZW1fbnNlbXMpOworCXByaW50ZihfKCJvdGltZSA9ICUtMjYuMjRzXG4iKSwKKwkgICAgICAgc2VtZGF0YS0+c2VtX290aW1lID8geGN0aW1lKCZzZW1kYXRhLT5zZW1fb3RpbWUpIDogXygiTm90IHNldCIpKTsKKwlwcmludGYoXygiY3RpbWUgPSAlLTI2LjI0c1xuIiksIHhjdGltZSgmc2VtZGF0YS0+c2VtX2N0aW1lKSk7CisKKwlwcmludGYoIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iLAorCSAgICAgICBfKCJzZW1udW0iKSwgXygidmFsdWUiKSwgXygibmNvdW50IiksIF8oInpjb3VudCIpLCBfKCJwaWQiKSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgc2VtZGF0YS0+c2VtX25zZW1zOyBpKyspIHsKKwkJc3RydWN0IHNlbV9lbGVtICplID0gJnNlbWRhdGEtPmVsZW1lbnRzW2ldOworCQlwcmludGYoIiUtMTB6dSAlLTEwZCAlLTEwZCAlLTEwZCAlLTEwZFxuIiwKKwkJICAgICAgIGksIGUtPnNlbXZhbCwgZS0+bmNvdW50LCBlLT56Y291bnQsIGUtPnBpZCk7CisJfQorCXByaW50ZigiXG4iKTsKKwlpcGNfc2VtX2ZyZWVfaW5mbyhzZW1kYXRhKTsKK30KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9pcGN1dGlscy5jIGIvc3lzLXV0aWxzL2lwY3V0aWxzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTFmY2U3YgotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9pcGN1dGlscy5jCkBAIC0wLDAgKzEsNTMwIEBACisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJwYXRoLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAiaXBjdXRpbHMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorCisjaWZuZGVmIFNFTVZNWAorIyBkZWZpbmUgU0VNVk1YICAzMjc2NwkvKiA8PSAzMjc2NyBzZW1hcGhvcmUgbWF4aW11bSB2YWx1ZSAqLworI2VuZGlmCisjaWZuZGVmIFNITU1JTgorIyBkZWZpbmUgU0hNTUlOIDEJLyogbWluIHNoYXJlZCBzZWdtZW50IHNpemUgaW4gYnl0ZXMgKi8KKyNlbmRpZgorCisKK2ludCBpcGNfbXNnX2dldF9saW1pdHMoc3RydWN0IGlwY19saW1pdHMgKmxpbSkKK3sKKwlpZiAocGF0aF9leGlzdChfUEFUSF9QUk9DX0lQQ19NU0dNTkkpICYmCisJICAgIHBhdGhfZXhpc3QoX1BBVEhfUFJPQ19JUENfTVNHTU5CKSAmJgorCSAgICBwYXRoX2V4aXN0KF9QQVRIX1BST0NfSVBDX01TR01BWCkpIHsKKworCQlsaW0tPm1zZ21uaSA9IHBhdGhfcmVhZF9zMzIoX1BBVEhfUFJPQ19JUENfTVNHTU5JKTsKKwkJbGltLT5tc2dtbmIgPSBwYXRoX3JlYWRfczMyKF9QQVRIX1BST0NfSVBDX01TR01OQik7CisJCWxpbS0+bXNnbWF4ID0gcGF0aF9yZWFkX3MzMihfUEFUSF9QUk9DX0lQQ19NU0dNQVgpOworCX0gZWxzZSB7CisJCXN0cnVjdCBtc2dpbmZvIG1zZ2luZm87CisKKwkJaWYgKG1zZ2N0bCgwLCBJUENfSU5GTywgKHN0cnVjdCBtc3FpZF9kcyAqKSAmbXNnaW5mbykgPCAwKQorCQkJcmV0dXJuIDE7CisJCWxpbS0+bXNnbW5pID0gbXNnaW5mby5tc2dtbmk7CisJCWxpbS0+bXNnbW5iID0gbXNnaW5mby5tc2dtbmI7CisJCWxpbS0+bXNnbWF4ID0gbXNnaW5mby5tc2dtYXg7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK2ludCBpcGNfc2VtX2dldF9saW1pdHMoc3RydWN0IGlwY19saW1pdHMgKmxpbSkKK3sKKwlGSUxFICpmOworCWludCByYyA9IDA7CisKKwlsaW0tPnNlbXZteCA9IFNFTVZNWDsKKworCWYgPSBwYXRoX2ZvcGVuKCJyIiwgMCwgX1BBVEhfUFJPQ19JUENfU0VNKTsKKwlpZiAoZikgeworCQlyYyA9IGZzY2FuZihmLCAiJWRcdCVkXHQlZFx0JWQiLAorCQkgICAgICAgJmxpbS0+c2VtbXNsLCAmbGltLT5zZW1tbnMsICZsaW0tPnNlbW9wbSwgJmxpbS0+c2VtbW5pKTsKKwkJZmNsb3NlKGYpOworCisJfQorCisJaWYgKHJjICE9IDQpIHsKKwkJc3RydWN0IHNlbWluZm8gc2VtaW5mbyA9IHsgLnNlbW1uaSA9IDAgfTsKKwkJdW5pb24gc2VtdW4gYXJnID0geyAuYXJyYXkgPSAodXNob3J0ICopICZzZW1pbmZvIH07CisKKwkJaWYgKHNlbWN0bCgwLCAwLCBJUENfSU5GTywgYXJnKSA8IDApCisJCQlyZXR1cm4gMTsKKwkJbGltLT5zZW1tbmkgPSBzZW1pbmZvLnNlbW1uaTsKKwkJbGltLT5zZW1tc2wgPSBzZW1pbmZvLnNlbW1zbDsKKwkJbGltLT5zZW1tbnMgPSBzZW1pbmZvLnNlbW1uczsKKwkJbGltLT5zZW1vcG0gPSBzZW1pbmZvLnNlbW9wbTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworaW50IGlwY19zaG1fZ2V0X2xpbWl0cyhzdHJ1Y3QgaXBjX2xpbWl0cyAqbGltKQoreworCWxpbS0+c2htbWluID0gU0hNTUlOOworCisJaWYgKHBhdGhfZXhpc3QoX1BBVEhfUFJPQ19JUENfU0hNQUxMKSAmJgorCSAgICBwYXRoX2V4aXN0KF9QQVRIX1BST0NfSVBDX1NITU1BWCkgJiYKKwkgICAgcGF0aF9leGlzdChfUEFUSF9QUk9DX0lQQ19TSE1NTkkpKSB7CisKKwkJbGltLT5zaG1hbGwgPSBwYXRoX3JlYWRfdTY0KF9QQVRIX1BST0NfSVBDX1NITUFMTCk7CisJCWxpbS0+c2htbWF4ID0gcGF0aF9yZWFkX3U2NChfUEFUSF9QUk9DX0lQQ19TSE1NQVgpOworCQlsaW0tPnNobW1uaSA9IHBhdGhfcmVhZF91NjQoX1BBVEhfUFJPQ19JUENfU0hNTU5JKTsKKworCX0gZWxzZSB7CisJCXN0cnVjdCBzaG1pbmZvICpzaG1pbmZvOworCQlzdHJ1Y3Qgc2htaWRfZHMgc2htYnVmOworCisJCWlmIChzaG1jdGwoMCwgSVBDX0lORk8sICZzaG1idWYpIDwgMCkKKwkJCXJldHVybiAxOworCQlzaG1pbmZvID0gKHN0cnVjdCBzaG1pbmZvICopICZzaG1idWY7CisJCWxpbS0+c2htbW5pID0gc2htaW5mby0+c2htbW5pOworCQlsaW0tPnNobWFsbCA9IHNobWluZm8tPnNobWFsbDsKKwkJbGltLT5zaG1tYXggPSBzaG1pbmZvLT5zaG1tYXg7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK2ludCBpcGNfc2htX2dldF9pbmZvKGludCBpZCwgc3RydWN0IHNobV9kYXRhICoqc2htZHMpCit7CisJRklMRSAqZjsKKwlpbnQgaSA9IDAsIG1heGlkOworCWNoYXIgYnVmW0JVRlNJWl07CisJc3RydWN0IHNobV9kYXRhICpwOworCXN0cnVjdCBzaG1pZF9kcyBkdW1teTsKKworCXAgPSAqc2htZHMgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3Qgc2htX2RhdGEpKTsKKwlwLT5uZXh0ID0gTlVMTDsKKworCWYgPSBwYXRoX2ZvcGVuKCJyIiwgMCwgX1BBVEhfUFJPQ19TWVNWX1NITSk7CisJaWYgKCFmKQorCQlnb3RvIHNobV9mYWxsYmFjazsKKworCXdoaWxlIChmZ2V0YyhmKSAhPSAnXG4nKTsJCS8qIHNraXAgaGVhZGVyICovCisKKwl3aGlsZSAoZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgZikgIT0gTlVMTCkgeworCQkvKiBzY2FuIGZvciB0aGUgZmlyc3QgMTQtMTYgY29sdW1ucyAoZS5nLiBMaW51eCAyLjYuMzIgaGFzIDE0KSAqLworCQlwLT5zaG1fcnNzID0gMHhkZWFkOworCQlwLT5zaG1fc3dwID0gMHhkZWFkOworCQlpZiAoc3NjYW5mKGJ1ZiwKKwkJCSAgIiVkICVkICAlbyAlIlNDTnU2NCAiICV1ICV1ICAiCisJCQkgICIlIlNDTnU2NCAiICV1ICV1ICV1ICV1ICUiU0NOaTY0ICIgJSJTQ05pNjQgIiAlIlNDTmk2NAorCQkJICAiICUiU0NOdTY0ICIgJSJTQ051NjQgIlxuIiwKKwkJCSAgICZwLT5zaG1fcGVybS5rZXksCisJCQkgICAmcC0+c2htX3Blcm0uaWQsCisJCQkgICAmcC0+c2htX3Blcm0ubW9kZSwKKwkJCSAgICZwLT5zaG1fc2Vnc3osCisJCQkgICAmcC0+c2htX2NwcmlkLAorCQkJICAgJnAtPnNobV9scHJpZCwKKwkJCSAgICZwLT5zaG1fbmF0dGNoLAorCQkJICAgJnAtPnNobV9wZXJtLnVpZCwKKwkJCSAgICZwLT5zaG1fcGVybS5naWQsCisJCQkgICAmcC0+c2htX3Blcm0uY3VpZCwKKwkJCSAgICZwLT5zaG1fcGVybS5jZ2lkLAorCQkJICAgJnAtPnNobV9hdGltLAorCQkJICAgJnAtPnNobV9kdGltLAorCQkJICAgJnAtPnNobV9jdGltLAorCQkJICAgJnAtPnNobV9yc3MsCisJCQkgICAmcC0+c2htX3N3cCkgPCAxNCkKKwkJCWNvbnRpbnVlOyAvKiBpbnZhbGlkIGxpbmUsIHNraXBwZWQgKi8KKworCQlpZiAoaWQgPiAtMSkgeworCQkJLyogSUQgc3BlY2lmaWVkICovCisJCQlpZiAoaWQgPT0gcC0+c2htX3Blcm0uaWQpIHsKKwkJCQlpID0gMTsKKwkJCQlicmVhazsKKwkJCX0gZWxzZQorCQkJCWNvbnRpbnVlOworCQl9CisKKwkJcC0+bmV4dCA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBzaG1fZGF0YSkpOworCQlwID0gcC0+bmV4dDsKKwkJcC0+bmV4dCA9IE5VTEw7CisJCWkrKzsKKwl9CisKKwlpZiAoaSA9PSAwKQorCQlmcmVlKCpzaG1kcyk7CisJZmNsb3NlKGYpOworCXJldHVybiBpOworCisJLyogRmFsbGJhY2s7IC9wcm9jIG9yIC9zeXMgZmlsZShzKSBtaXNzaW5nLiAqLworc2htX2ZhbGxiYWNrOgorCW1heGlkID0gc2htY3RsKDAsIFNITV9JTkZPLCAmZHVtbXkpOworCisJZm9yIChpbnQgaiA9IDA7IGogPD0gbWF4aWQ7IGorKykgeworCQlpbnQgc2htaWQ7CisJCXN0cnVjdCBzaG1pZF9kcyBzaG1zZWc7CisJCXN0cnVjdCBpcGNfcGVybSAqaXBjcCA9ICZzaG1zZWcuc2htX3Blcm07CisKKwkJc2htaWQgPSBzaG1jdGwoaiwgU0hNX1NUQVQsICZzaG1zZWcpOworCQlpZiAoc2htaWQgPCAwIHx8IChpZCA+IC0xICYmIHNobWlkICE9IGlkKSkgeworCQkJY29udGludWU7CisJCX0KKworCQlpKys7CisJCXAtPnNobV9wZXJtLmtleSA9IGlwY3AtPktFWTsKKwkJcC0+c2htX3Blcm0uaWQgPSBzaG1pZDsKKwkJcC0+c2htX3Blcm0ubW9kZSA9IGlwY3AtPm1vZGU7CisJCXAtPnNobV9zZWdzeiA9IHNobXNlZy5zaG1fc2Vnc3o7CisJCXAtPnNobV9jcHJpZCA9IHNobXNlZy5zaG1fY3BpZDsKKwkJcC0+c2htX2xwcmlkID0gc2htc2VnLnNobV9scGlkOworCQlwLT5zaG1fbmF0dGNoID0gc2htc2VnLnNobV9uYXR0Y2g7CisJCXAtPnNobV9wZXJtLnVpZCA9IGlwY3AtPnVpZDsKKwkJcC0+c2htX3Blcm0uZ2lkID0gaXBjcC0+Z2lkOworCQlwLT5zaG1fcGVybS5jdWlkID0gaXBjcC0+Y3VpZDsKKwkJcC0+c2htX3Blcm0uY2dpZCA9IGlwY3AtPmN1aWQ7CisJCXAtPnNobV9hdGltID0gc2htc2VnLnNobV9hdGltZTsKKwkJcC0+c2htX2R0aW0gPSBzaG1zZWcuc2htX2R0aW1lOworCQlwLT5zaG1fY3RpbSA9IHNobXNlZy5zaG1fY3RpbWU7CisJCXAtPnNobV9yc3MgPSAweGRlYWQ7CisJCXAtPnNobV9zd3AgPSAweGRlYWQ7CisKKwkJaWYgKGlkIDwgMCkgeworCQkJcC0+bmV4dCA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBzaG1fZGF0YSkpOworCQkJcCA9IHAtPm5leHQ7CisJCQlwLT5uZXh0ID0gTlVMTDsKKwkJfSBlbHNlCisJCQlicmVhazsKKwl9CisKKwlpZiAoaSA9PSAwKQorCQlmcmVlKCpzaG1kcyk7CisJcmV0dXJuIGk7Cit9CisKK3ZvaWQgaXBjX3NobV9mcmVlX2luZm8oc3RydWN0IHNobV9kYXRhICpzaG1kcykKK3sKKwl3aGlsZSAoc2htZHMpIHsKKwkJc3RydWN0IHNobV9kYXRhICpuZXh0ID0gc2htZHMtPm5leHQ7CisJCWZyZWUoc2htZHMpOworCQlzaG1kcyA9IG5leHQ7CisJfQorfQorCitzdGF0aWMgdm9pZCBnZXRfc2VtX2VsZW1lbnRzKHN0cnVjdCBzZW1fZGF0YSAqcCkKK3sKKwlzaXplX3QgaTsKKworCWlmICghcCB8fCAhcC0+c2VtX25zZW1zIHx8IHAtPnNlbV9wZXJtLmlkIDwgMCkKKwkJcmV0dXJuOworCisJcC0+ZWxlbWVudHMgPSB4Y2FsbG9jKHAtPnNlbV9uc2Vtcywgc2l6ZW9mKHN0cnVjdCBzZW1fZWxlbSkpOworCisJZm9yIChpID0gMDsgaSA8IHAtPnNlbV9uc2VtczsgaSsrKSB7CisJCXN0cnVjdCBzZW1fZWxlbSAqZSA9ICZwLT5lbGVtZW50c1tpXTsKKwkJdW5pb24gc2VtdW4gYXJnID0geyAudmFsID0gMCB9OworCisJCWUtPnNlbXZhbCA9IHNlbWN0bChwLT5zZW1fcGVybS5pZCwgaSwgR0VUVkFMLCBhcmcpOworCQlpZiAoZS0+c2VtdmFsIDwgMCkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oIiVzIGZhaWxlZCIpLCAic2VtY3RsKEdFVFZBTCkiKTsKKworCQllLT5uY291bnQgPSBzZW1jdGwocC0+c2VtX3Blcm0uaWQsIGksIEdFVE5DTlQsIGFyZyk7CisJCWlmIChlLT5uY291bnQgPCAwKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiJXMgZmFpbGVkIiksICJzZW1jdGwoR0VUTkNOVCkiKTsKKworCQllLT56Y291bnQgPSBzZW1jdGwocC0+c2VtX3Blcm0uaWQsIGksIEdFVFpDTlQsIGFyZyk7CisJCWlmIChlLT56Y291bnQgPCAwKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiJXMgZmFpbGVkIiksICJzZW1jdGwoR0VUWkNOVCkiKTsKKworCQllLT5waWQgPSBzZW1jdGwocC0+c2VtX3Blcm0uaWQsIGksIEdFVFBJRCwgYXJnKTsKKwkJaWYgKGUtPnBpZCA8IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCIlcyBmYWlsZWQiKSwgInNlbWN0bChHRVRQSUQpIik7CisJfQorfQorCitpbnQgaXBjX3NlbV9nZXRfaW5mbyhpbnQgaWQsIHN0cnVjdCBzZW1fZGF0YSAqKnNlbWRzKQoreworCUZJTEUgKmY7CisJaW50IGkgPSAwLCBtYXhpZDsKKwlzdHJ1Y3Qgc2VtX2RhdGEgKnA7CisJc3RydWN0IHNlbWluZm8gZHVtbXk7CisJdW5pb24gc2VtdW4gYXJnOworCisJcCA9ICpzZW1kcyA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBzZW1fZGF0YSkpOworCXAtPm5leHQgPSBOVUxMOworCisJZiA9IHBhdGhfZm9wZW4oInIiLCAwLCBfUEFUSF9QUk9DX1NZU1ZfU0VNKTsKKwlpZiAoIWYpCisJCWdvdG8gc2VtX2ZhbGxiYWNrOworCisJd2hpbGUgKGZnZXRjKGYpICE9ICdcbicpIDsJLyogc2tpcCBoZWFkZXIgKi8KKworCXdoaWxlIChmZW9mKGYpID09IDApIHsKKwkJaWYgKGZzY2FuZihmLAorCQkJICAgIiVkICVkICAlbyAlIiBTQ051NjQgIiAldSAldSAldSAldSAlIgorCQkJICAgIFNDTmk2NCAiICUiIFNDTmk2NCAiXG4iLAorCQkJICAgJnAtPnNlbV9wZXJtLmtleSwKKwkJCSAgICZwLT5zZW1fcGVybS5pZCwKKwkJCSAgICZwLT5zZW1fcGVybS5tb2RlLAorCQkJICAgJnAtPnNlbV9uc2VtcywKKwkJCSAgICZwLT5zZW1fcGVybS51aWQsCisJCQkgICAmcC0+c2VtX3Blcm0uZ2lkLAorCQkJICAgJnAtPnNlbV9wZXJtLmN1aWQsCisJCQkgICAmcC0+c2VtX3Blcm0uY2dpZCwKKwkJCSAgICZwLT5zZW1fb3RpbWUsCisJCQkgICAmcC0+c2VtX2N0aW1lKSAhPSAxMCkKKwkJCWNvbnRpbnVlOworCisJCWlmIChpZCA+IC0xKSB7CisJCQkvKiBJRCBzcGVjaWZpZWQgKi8KKwkJCWlmIChpZCA9PSBwLT5zZW1fcGVybS5pZCkgeworCQkJCWdldF9zZW1fZWxlbWVudHMocCk7CisJCQkJaSA9IDE7CisJCQkJYnJlYWs7CisJCQl9IGVsc2UKKwkJCQljb250aW51ZTsKKwkJfQorCisJCXAtPm5leHQgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3Qgc2VtX2RhdGEpKTsKKwkJcCA9IHAtPm5leHQ7CisJCXAtPm5leHQgPSBOVUxMOworCQlpKys7CisJfQorCisJaWYgKGkgPT0gMCkKKwkJZnJlZSgqc2VtZHMpOworCWZjbG9zZShmKTsKKwlyZXR1cm4gaTsKKworCS8qIEZhbGxiYWNrOyAvcHJvYyBvciAvc3lzIGZpbGUocykgbWlzc2luZy4gKi8KK3NlbV9mYWxsYmFjazoKKwlhcmcuYXJyYXkgPSAodXNob3J0ICopICh2b2lkICopJmR1bW15OworCW1heGlkID0gc2VtY3RsKDAsIDAsIFNFTV9JTkZPLCBhcmcpOworCisJZm9yIChpbnQgaiA9IDA7IGogPD0gbWF4aWQ7IGorKykgeworCQlpbnQgc2VtaWQ7CisJCXN0cnVjdCBzZW1pZF9kcyBzZW1zZWc7CisJCXN0cnVjdCBpcGNfcGVybSAqaXBjcCA9ICZzZW1zZWcuc2VtX3Blcm07CisJCWFyZy5idWYgPSAoc3RydWN0IHNlbWlkX2RzICopJnNlbXNlZzsKKworCQlzZW1pZCA9IHNlbWN0bChqLCAwLCBTRU1fU1RBVCwgYXJnKTsKKwkJaWYgKHNlbWlkIDwgMCB8fCAoaWQgPiAtMSAmJiBzZW1pZCAhPSBpZCkpIHsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJaSsrOworCQlwLT5zZW1fcGVybS5rZXkgPSBpcGNwLT5LRVk7CisJCXAtPnNlbV9wZXJtLmlkID0gc2VtaWQ7CisJCXAtPnNlbV9wZXJtLm1vZGUgPSBpcGNwLT5tb2RlOworCQlwLT5zZW1fbnNlbXMgPSBzZW1zZWcuc2VtX25zZW1zOworCQlwLT5zZW1fcGVybS51aWQgPSBpcGNwLT51aWQ7CisJCXAtPnNlbV9wZXJtLmdpZCA9IGlwY3AtPmdpZDsKKwkJcC0+c2VtX3Blcm0uY3VpZCA9IGlwY3AtPmN1aWQ7CisJCXAtPnNlbV9wZXJtLmNnaWQgPSBpcGNwLT5jdWlkOworCQlwLT5zZW1fb3RpbWUgPSBzZW1zZWcuc2VtX290aW1lOworCQlwLT5zZW1fY3RpbWUgPSBzZW1zZWcuc2VtX2N0aW1lOworCisJCWlmIChpZCA8IDApIHsKKwkJCXAtPm5leHQgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3Qgc2VtX2RhdGEpKTsKKwkJCXAgPSBwLT5uZXh0OworCQkJcC0+bmV4dCA9IE5VTEw7CisJCQlpKys7CisJCX0gZWxzZSB7CisJCQlnZXRfc2VtX2VsZW1lbnRzKHApOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlpZiAoaSA9PSAwKQorCQlmcmVlKCpzZW1kcyk7CisJcmV0dXJuIGk7Cit9CisKK3ZvaWQgaXBjX3NlbV9mcmVlX2luZm8oc3RydWN0IHNlbV9kYXRhICpzZW1kcykKK3sKKwl3aGlsZSAoc2VtZHMpIHsKKwkJc3RydWN0IHNlbV9kYXRhICpuZXh0ID0gc2VtZHMtPm5leHQ7CisJCWZyZWUoc2VtZHMtPmVsZW1lbnRzKTsKKwkJZnJlZShzZW1kcyk7CisJCXNlbWRzID0gbmV4dDsKKwl9Cit9CisKK2ludCBpcGNfbXNnX2dldF9pbmZvKGludCBpZCwgc3RydWN0IG1zZ19kYXRhICoqbXNnZHMpCit7CisJRklMRSAqZjsKKwlpbnQgaSA9IDAsIG1heGlkOworCXN0cnVjdCBtc2dfZGF0YSAqcDsKKwlzdHJ1Y3QgbXNxaWRfZHMgZHVtbXk7CisJc3RydWN0IG1zcWlkX2RzIG1zZ3NlZzsKKworCXAgPSAqbXNnZHMgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgbXNnX2RhdGEpKTsKKwlwLT5uZXh0ID0gTlVMTDsKKworCWYgPSBwYXRoX2ZvcGVuKCJyIiwgMCwgX1BBVEhfUFJPQ19TWVNWX01TRyk7CisJaWYgKCFmKQorCQlnb3RvIG1zZ19mYWxsYmFjazsKKworCXdoaWxlIChmZ2V0YyhmKSAhPSAnXG4nKSA7CS8qIHNraXAgaGVhZGVyICovCisKKwl3aGlsZSAoZmVvZihmKSA9PSAwKSB7CisJCWlmIChmc2NhbmYoZiwKKwkJCSAgICIlZCAlZCAgJW8gICUiIFNDTnU2NCAiICUiIFNDTnU2NAorCQkJICAgIiAldSAldSAldSAldSAldSAldSAlIiBTQ05pNjQgIiAlIiBTQ05pNjQgIiAlIiBTQ05pNjQgIlxuIiwKKwkJCSAgICZwLT5tc2dfcGVybS5rZXksCisJCQkgICAmcC0+bXNnX3Blcm0uaWQsCisJCQkgICAmcC0+bXNnX3Blcm0ubW9kZSwKKwkJCSAgICZwLT5xX2NieXRlcywKKwkJCSAgICZwLT5xX3FudW0sCisJCQkgICAmcC0+cV9sc3BpZCwKKwkJCSAgICZwLT5xX2xycGlkLAorCQkJICAgJnAtPm1zZ19wZXJtLnVpZCwKKwkJCSAgICZwLT5tc2dfcGVybS5naWQsCisJCQkgICAmcC0+bXNnX3Blcm0uY3VpZCwKKwkJCSAgICZwLT5tc2dfcGVybS5jZ2lkLAorCQkJICAgJnAtPnFfc3RpbWUsCisJCQkgICAmcC0+cV9ydGltZSwKKwkJCSAgICZwLT5xX2N0aW1lKSAhPSAxNCkKKwkJCWNvbnRpbnVlOworCisJCWlmIChpZCA+IC0xKSB7CisJCQkvKiBJRCBzcGVjaWZpZWQgKi8KKwkJCWlmIChpZCA9PSBwLT5tc2dfcGVybS5pZCkgeworCQkJCWlmIChtc2djdGwoaWQsIElQQ19TVEFULCAmbXNnc2VnKSAhPSAtMSkKKwkJCQkJcC0+cV9xYnl0ZXMgPSBtc2dzZWcubXNnX3FieXRlczsKKwkJCQlpID0gMTsKKwkJCQlicmVhazsKKwkJCX0gZWxzZQorCQkJCWNvbnRpbnVlOworCQl9CisKKwkJcC0+bmV4dCA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBtc2dfZGF0YSkpOworCQlwID0gcC0+bmV4dDsKKwkJcC0+bmV4dCA9IE5VTEw7CisJCWkrKzsKKwl9CisKKwlpZiAoaSA9PSAwKQorCQlmcmVlKCptc2dkcyk7CisJZmNsb3NlKGYpOworCXJldHVybiBpOworCisJLyogRmFsbGJhY2s7IC9wcm9jIG9yIC9zeXMgZmlsZShzKSBtaXNzaW5nLiAqLworbXNnX2ZhbGxiYWNrOgorCW1heGlkID0gbXNnY3RsKDAsIE1TR19JTkZPLCAmZHVtbXkpOworCisJZm9yIChpbnQgaiA9IDA7IGogPD0gbWF4aWQ7IGorKykgeworCQlpbnQgbXNnaWQ7CisJCXN0cnVjdCBpcGNfcGVybSAqaXBjcCA9ICZtc2dzZWcubXNnX3Blcm07CisKKwkJbXNnaWQgPSBtc2djdGwoaiwgTVNHX1NUQVQsICZtc2dzZWcpOworCQlpZiAobXNnaWQgPCAwIHx8IChpZCA+IC0xICYmIG1zZ2lkICE9IGlkKSkgeworCQkJY29udGludWU7CisJCX0KKworCQlpKys7CisJCXAtPm1zZ19wZXJtLmtleSA9IGlwY3AtPktFWTsKKwkJcC0+bXNnX3Blcm0uaWQgPSBtc2dpZDsKKwkJcC0+bXNnX3Blcm0ubW9kZSA9IGlwY3AtPm1vZGU7CisJCXAtPnFfY2J5dGVzID0gbXNnc2VnLm1zZ19jYnl0ZXM7CisJCXAtPnFfcW51bSA9IG1zZ3NlZy5tc2dfcW51bTsKKwkJcC0+cV9sc3BpZCA9IG1zZ3NlZy5tc2dfbHNwaWQ7CisJCXAtPnFfbHJwaWQgPSBtc2dzZWcubXNnX2xycGlkOworCQlwLT5tc2dfcGVybS51aWQgPSBpcGNwLT51aWQ7CisJCXAtPm1zZ19wZXJtLmdpZCA9IGlwY3AtPmdpZDsKKwkJcC0+bXNnX3Blcm0uY3VpZCA9IGlwY3AtPmN1aWQ7CisJCXAtPm1zZ19wZXJtLmNnaWQgPSBpcGNwLT5jZ2lkOworCQlwLT5xX3N0aW1lID0gbXNnc2VnLm1zZ19zdGltZTsKKwkJcC0+cV9ydGltZSA9IG1zZ3NlZy5tc2dfcnRpbWU7CisJCXAtPnFfY3RpbWUgPSBtc2dzZWcubXNnX2N0aW1lOworCQlwLT5xX3FieXRlcyA9IG1zZ3NlZy5tc2dfcWJ5dGVzOworCisJCWlmIChpZCA8IDApIHsKKwkJCXAtPm5leHQgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgbXNnX2RhdGEpKTsKKwkJCXAgPSBwLT5uZXh0OworCQkJcC0+bmV4dCA9IE5VTEw7CisJCX0gZWxzZQorCQkJYnJlYWs7CisJfQorCisJaWYgKGkgPT0gMCkKKwkJZnJlZSgqbXNnZHMpOworCXJldHVybiBpOworfQorCit2b2lkIGlwY19tc2dfZnJlZV9pbmZvKHN0cnVjdCBtc2dfZGF0YSAqbXNnZHMpCit7CisJd2hpbGUgKG1zZ2RzKSB7CisJCXN0cnVjdCBtc2dfZGF0YSAqbmV4dCA9IG1zZ2RzLT5uZXh0OworCQlmcmVlKG1zZ2RzKTsKKwkJbXNnZHMgPSBuZXh0OworCX0KK30KKwordm9pZCBpcGNfcHJpbnRfcGVybXMoRklMRSAqZiwgc3RydWN0IGlwY19zdGF0ICppcykKK3sKKwlzdHJ1Y3QgcGFzc3dkICpwdzsKKwlzdHJ1Y3QgZ3JvdXAgKmdyOworCisJZnByaW50ZihmLCAiJS0xMGQgJS0xMG8iLCBpcy0+aWQsIGlzLT5tb2RlICYgMDc3Nyk7CisKKwlpZiAoKHB3ID0gZ2V0cHd1aWQoaXMtPmN1aWQpKSkKKwkJZnByaW50ZihmLCAiICUtMTBzIiwgcHctPnB3X25hbWUpOworCWVsc2UKKwkJZnByaW50ZihmLCAiICUtMTB1IiwgaXMtPmN1aWQpOworCisJaWYgKChnciA9IGdldGdyZ2lkKGlzLT5jZ2lkKSkpCisJCWZwcmludGYoZiwgIiAlLTEwcyIsIGdyLT5ncl9uYW1lKTsKKwllbHNlCisJCWZwcmludGYoZiwgIiAlLTEwdSIsIGlzLT5jZ2lkKTsKKworCWlmICgocHcgPSBnZXRwd3VpZChpcy0+dWlkKSkpCisJCWZwcmludGYoZiwgIiAlLTEwcyIsIHB3LT5wd19uYW1lKTsKKwllbHNlCisJCWZwcmludGYoZiwgIiAlLTEwdSIsIGlzLT51aWQpOworCisJaWYgKChnciA9IGdldGdyZ2lkKGlzLT5naWQpKSkKKwkJZnByaW50ZihmLCAiICUtMTBzXG4iLCBnci0+Z3JfbmFtZSk7CisJZWxzZQorCQlmcHJpbnRmKGYsICIgJS0xMHVcbiIsIGlzLT5naWQpOworfQorCit2b2lkIGlwY19wcmludF9zaXplKGludCB1bml0LCBjaGFyICptc2csIHVpbnQ2NF90IHNpemUsIGNvbnN0IGNoYXIgKmVuZCwKKwkJICAgIGludCB3aWR0aCkKK3sKKwljaGFyIGZvcm1hdFszMl07CisKKwlpZiAoIW1zZykKKwkJLyogTlVMTCAqLyA7CisJZWxzZSBpZiAobXNnW3N0cmxlbihtc2cpIC0gMV0gPT0gJz0nKQorCQlwcmludGYoIiVzIiwgbXNnKTsKKwllbHNlIGlmICh1bml0ID09IElQQ19VTklUX0JZVEVTKQorCQlwcmludGYoXygiJXMgKGJ5dGVzKSA9ICIpLCBtc2cpOworCWVsc2UgaWYgKHVuaXQgPT0gSVBDX1VOSVRfS0IpCisJCXByaW50ZihfKCIlcyAoa2J5dGVzKSA9ICIpLCBtc2cpOworCWVsc2UKKwkJcHJpbnRmKCIlcyA9ICIsIG1zZyk7CisKKwlzd2l0Y2ggKHVuaXQpIHsKKwljYXNlIElQQ19VTklUX0RFRkFVTFQ6CisJY2FzZSBJUENfVU5JVF9CWVRFUzoKKwkJc3ByaW50Zihmb3JtYXQsICIlJSVkanUiLCB3aWR0aCk7CisJCXByaW50Zihmb3JtYXQsIHNpemUpOworCQlicmVhazsKKwljYXNlIElQQ19VTklUX0tCOgorCQlzcHJpbnRmKGZvcm1hdCwgIiUlJWRqdSIsIHdpZHRoKTsKKwkJcHJpbnRmKGZvcm1hdCwgc2l6ZSAvIDEwMjQpOworCQlicmVhazsKKwljYXNlIElQQ19VTklUX0hVTUFOOgorCQlzcHJpbnRmKGZvcm1hdCwgIiUlJWRzIiwgd2lkdGgpOworCQlwcmludGYoZm9ybWF0LCBzaXplX3RvX2h1bWFuX3N0cmluZyhTSVpFX1NVRkZJWF8xTEVUVEVSLCBzaXplKSk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCS8qIGltcG9zc2libGUgb2NjdXJyZWQgKi8KKwkJYWJvcnQoKTsKKwl9CisKKwlpZiAoZW5kKQorCQlwcmludGYoIiVzIiwgZW5kKTsKK30KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9pcGN1dGlscy5oIGIvc3lzLXV0aWxzL2lwY3V0aWxzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDQ0MDY1YQotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9pcGN1dGlscy5oCkBAIC0wLDAgKzEsMTg3IEBACisjaWZuZGVmIFVUSUxfTElOVVhfSVBDVVRJTFNfSAorI2RlZmluZSBVVElMX0xJTlVYX0lQQ1VUSUxTX0gKKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3lzL2lwYy5oPgorI2luY2x1ZGUgPHN5cy9tc2cuaD4KKyNpbmNsdWRlIDxzeXMvc2VtLmg+CisjaW5jbHVkZSA8c3lzL3NobS5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHRpbWUuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxncnAuaD4KKyNpbmNsdWRlIDxwd2QuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworLyoKKyAqIFNITV9ERVNUIGFuZCBTSE1fTE9DS0VEIGFyZSBkZWZpbmVkIGluIGtlcm5lbCBoZWFkZXJzLCBidXQgaW5zaWRlCisgKiAjaWZkZWYgX19LRVJORUxfXyAuLi4gI2VuZGlmCisgKi8KKyNpZm5kZWYgU0hNX0RFU1QKKyAgLyogc2htX21vZGUgdXBwZXIgYnl0ZSBmbGFncyAqLworIyBkZWZpbmUgU0hNX0RFU1QJMDEwMDAJLyogc2VnbWVudCB3aWxsIGJlIGRlc3Ryb3llZCBvbiBsYXN0IGRldGFjaCAqLworIyBkZWZpbmUgU0hNX0xPQ0tFRAkwMjAwMAkvKiBzZWdtZW50IHdpbGwgbm90IGJlIHN3YXBwZWQgKi8KKyNlbmRpZgorCisvKiBGb3Igb2xkZXIga2VybmVscyB0aGUgc2FtZSBob2xkcyBmb3IgdGhlIGRlZmluZXMgYmVsb3cgKi8KKyNpZm5kZWYgTVNHX1NUQVQKKyMgZGVmaW5lIE1TR19TVEFUCTExCisjIGRlZmluZSBNU0dfSU5GTwkxMgorI2VuZGlmCisKKyNpZm5kZWYgU0hNX1NUQVQKKyMgZGVmaW5lIFNITV9TVEFUCTEzCisjIGRlZmluZSBTSE1fSU5GTwkxNAorc3RydWN0IHNobV9pbmZvIHsKKwlpbnQgdXNlZF9pZHM7CisJdW5zaWduZWQgbG9uZyBzaG1fdG90OwkJLyogdG90YWwgYWxsb2NhdGVkIHNobSAqLworCXVuc2lnbmVkIGxvbmcgc2htX3JzczsJCS8qIHRvdGFsIHJlc2lkZW50IHNobSAqLworCXVuc2lnbmVkIGxvbmcgc2htX3N3cDsJCS8qIHRvdGFsIHN3YXBwZWQgc2htICovCisJdW5zaWduZWQgbG9uZyBzd2FwX2F0dGVtcHRzOworCXVuc2lnbmVkIGxvbmcgc3dhcF9zdWNjZXNzZXM7Cit9OworI2VuZGlmCisKKyNpZm5kZWYgU0VNX1NUQVQKKyMgZGVmaW5lIFNFTV9TVEFUCTE4CisjIGRlZmluZSBTRU1fSU5GTwkxOQorI2VuZGlmCisKKy8qIFNvbWUgdmVyc2lvbnMgb2YgbGliYyBvbmx5IGRlZmluZSBJUENfSU5GTyB3aGVuIF9fVVNFX0dOVSBpcyBkZWZpbmVkLiAqLworI2lmbmRlZiBJUENfSU5GTworIyBkZWZpbmUgSVBDX0lORk8JMworI2VuZGlmCisKKy8qCisgKiAgKiBUaGUgbGFzdCBhcmcgb2Ygc2VtY3RsIGlzIGEgdW5pb24gc2VtdW4sIGJ1dCB3aGVyZSBpcyBpdCBkZWZpbmVkPyBYL09QRU4KKyAqICAgKiB0ZWxscyB1cyB0byBkZWZpbmUgaXQgb3Vyc2VsdmVzLCBidXQgdW50aWwgcmVjZW50bHkgTGludXggaW5jbHVkZSBmaWxlcworICogICAgKiB3b3VsZCBhbHNvIGRlZmluZSBpdC4KKyAqICAgICAqLworI2lmbmRlZiBIQVZFX1VOSU9OX1NFTVVOCisvKiBhY2NvcmRpbmcgdG8gWC9PUEVOIHdlIGhhdmUgdG8gZGVmaW5lIGl0IG91cnNlbHZlcyAqLwordW5pb24gc2VtdW4geworCWludCB2YWw7CisJc3RydWN0IHNlbWlkX2RzICpidWY7CisJdW5zaWduZWQgc2hvcnQgaW50ICphcnJheTsKKwlzdHJ1Y3Qgc2VtaW5mbyAqX19idWY7Cit9OworI2VuZGlmCisKKy8qCisgKiBYL09QRU4gKEphbiAxOTg3KSBkb2VzIG5vdCBkZWZpbmUgZmllbGRzIGtleSwgc2VxIGluIHN0cnVjdCBpcGNfcGVybTsKKyAqCWdsaWJjLTEuMDkgaGFzIG5vIHN1cHBvcnQgZm9yIHN5c3YgaXBjLgorICoJZ2xpYmMgMiB1c2VzIF9fa2V5LCBfX3NlcQorICovCisjaWYgZGVmaW5lZCAoX19HTElCQ19fKSAmJiBfX0dMSUJDX18gPj0gMgorIyBkZWZpbmUgS0VZIF9fa2V5CisjZWxzZQorIyBkZWZpbmUgS0VZIGtleQorI2VuZGlmCisKKy8qIFNpemUgcHJpbnRpbmcgaW4gaXBjcyBpcyB1c2luZyB0aGVzZS4gKi8KK2VudW0geworCUlQQ19VTklUX0RFRkFVTFQsCisJSVBDX1VOSVRfQllURVMsCisJSVBDX1VOSVRfS0IsCisJSVBDX1VOSVRfSFVNQU4KK307CisKK3N0cnVjdCBpcGNfbGltaXRzIHsKKwl1aW50NjRfdAlzaG1tbmk7CQkvKiBtYXggbnVtYmVyIG9mIHNlZ21lbnRzICovCisJdWludDY0X3QJc2htbWF4OwkJLyogbWF4IHNlZ21lbnQgc2l6ZSAqLworCXVpbnQ2NF90CXNobWFsbDsJCS8qIG1heCB0b3RhbCBzaGFyZWQgbWVtb3J5ICovCisJdWludDY0X3QJc2htbWluOwkJLyogbWluIHNlZ21lbnQgc2l6ZSAqLworCisJaW50CQlzZW1tbmk7CQkvKiBtYXggbnVtYmVyIG9mIGFycmF5cyAqLworCWludAkJc2VtbXNsOwkJLyogbWF4IHNlbWFwaG9yZXMgcGVyIGFycmF5ICovCisJaW50CQlzZW1tbnM7CQkvKiBtYXggc2VtYXBob3JlcyBzeXN0ZW0gd2lkZSAqLworCWludAkJc2Vtb3BtOwkJLyogbWF4IG9wcyBwZXIgc2Vtb3AgY2FsbCAqLworCXVuc2lnbmVkIGludAlzZW12bXg7CQkvKiBzZW1hcGhvcmUgbWF4IHZhbHVlIChjb25zdGFudCkgKi8KKworCWludAkJbXNnbW5pOwkJLyogbWF4IHF1ZXVlcyBzeXN0ZW0gd2lkZSAqLworCXNpemVfdAkJbXNnbWF4OwkJLyogbWF4IHNpemUgb2YgbWVzc2FnZSAqLworCWludAkJbXNnbW5iOwkJLyogZGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSAqLworfTsKKworZXh0ZXJuIGludCBpcGNfbXNnX2dldF9saW1pdHMoc3RydWN0IGlwY19saW1pdHMgKmxpbSk7CitleHRlcm4gaW50IGlwY19zZW1fZ2V0X2xpbWl0cyhzdHJ1Y3QgaXBjX2xpbWl0cyAqbGltKTsKK2V4dGVybiBpbnQgaXBjX3NobV9nZXRfbGltaXRzKHN0cnVjdCBpcGNfbGltaXRzICpsaW0pOworCitzdHJ1Y3QgaXBjX3N0YXQgeworCWludAkJaWQ7CisJa2V5X3QJCWtleTsKKwl1aWRfdAkJdWlkOyAgICAvKiBjdXJyZW50IHVpZCAqLworCWdpZF90CQlnaWQ7ICAgIC8qIGN1cnJlbnQgZ2lkICovCisJdWlkX3QJCWN1aWQ7ICAgIC8qIGNyZWF0b3IgdWlkICovCisJZ2lkX3QJCWNnaWQ7ICAgIC8qIGNyZWF0b3IgZ2lkICovCisJdW5zaWduZWQgaW50CW1vZGU7Cit9OworCitleHRlcm4gdm9pZCBpcGNfcHJpbnRfcGVybXMoRklMRSAqZiwgc3RydWN0IGlwY19zdGF0ICppcyk7CitleHRlcm4gdm9pZCBpcGNfcHJpbnRfc2l6ZShpbnQgdW5pdCwgY2hhciAqbXNnLCB1aW50NjRfdCBzaXplLCBjb25zdCBjaGFyICplbmQsIGludCB3aWR0aCk7CisKKy8qIFNlZSAnc3RydWN0IHNobWlkX2tlcm5lbCcgaW4ga2VybmVsIHNvdXJjZXMKKyAqLworc3RydWN0IHNobV9kYXRhIHsKKwlzdHJ1Y3QgaXBjX3N0YXQJc2htX3Blcm07CisKKwl1aW50NjRfdAlzaG1fbmF0dGNoOworCXVpbnQ2NF90CXNobV9zZWdzejsKKwlpbnQ2NF90CQlzaG1fYXRpbTsJLyogX19rZXJuZWxfdGltZV90IGlzIHNpZ25lZCBsb25nICovCisJaW50NjRfdAkJc2htX2R0aW07CisJaW50NjRfdAkJc2htX2N0aW07CisJcGlkX3QJCXNobV9jcHJpZDsKKwlwaWRfdAkJc2htX2xwcmlkOworCXVpbnQ2NF90CXNobV9yc3M7CisJdWludDY0X3QJc2htX3N3cDsKKworCXN0cnVjdCBzaG1fZGF0YSAgKm5leHQ7Cit9OworCitleHRlcm4gaW50IGlwY19zaG1fZ2V0X2luZm8oaW50IGlkLCBzdHJ1Y3Qgc2htX2RhdGEgKipzaG1kcyk7CitleHRlcm4gdm9pZCBpcGNfc2htX2ZyZWVfaW5mbyhzdHJ1Y3Qgc2htX2RhdGEgKnNobWRzKTsKKworLyogU2VlICdzdHJ1Y3Qgc2VtX2FycmF5JyBpbiBrZXJuZWwgc291cmNlcworICovCitzdHJ1Y3Qgc2VtX2VsZW0geworCWludAlzZW12YWw7CisJaW50CW5jb3VudDsJCS8qIHByb2Nlc3NlcyB3YWl0aW5nIG9uIGluY3JlYXNlIHNlbXZhbCAqLworCWludAl6Y291bnQ7CQkvKiBwcm9jZXNzZXMgd2FpdGluZyBvbiBzZW12YWwgc2V0IHRvIHplcm8gKi8KKwlwaWRfdAlwaWQ7CQkvKiBwcm9jZXNzIGxhc3QgZXhlY3V0ZWQgc2Vtb3AoMikgY2FsbCAqLworfTsKK3N0cnVjdCBzZW1fZGF0YSB7CisJc3RydWN0IGlwY19zdGF0IHNlbV9wZXJtOworCisJaW50NjRfdAkJc2VtX2N0aW1lOworCWludDY0X3QJCXNlbV9vdGltZTsKKwl1aW50NjRfdAlzZW1fbnNlbXM7CisKKwlzdHJ1Y3Qgc2VtX2VsZW0JKmVsZW1lbnRzOworCXN0cnVjdCBzZW1fZGF0YSAqbmV4dDsKK307CisKK2V4dGVybiBpbnQgaXBjX3NlbV9nZXRfaW5mbyhpbnQgaWQsIHN0cnVjdCBzZW1fZGF0YSAqKnNlbWRzKTsKK2V4dGVybiB2b2lkIGlwY19zZW1fZnJlZV9pbmZvKHN0cnVjdCBzZW1fZGF0YSAqc2VtZHMpOworCisvKiBTZWUgJ3N0cnVjdCBtc2dfcXVldWUnIGluIGtlcm5lbCBzb3VyY2VzCisgKi8KK3N0cnVjdCBtc2dfZGF0YSB7CisJc3RydWN0IGlwY19zdGF0IG1zZ19wZXJtOworCisJaW50NjRfdAkJcV9zdGltZTsKKwlpbnQ2NF90CQlxX3J0aW1lOworCWludDY0X3QJCXFfY3RpbWU7CisJdWludDY0X3QJcV9jYnl0ZXM7CisJdWludDY0X3QJcV9xbnVtOworCXVpbnQ2NF90CXFfcWJ5dGVzOworCXBpZF90CQlxX2xzcGlkOworCXBpZF90CQlxX2xycGlkOworCisJc3RydWN0IG1zZ19kYXRhICpuZXh0OworfTsKKworZXh0ZXJuIGludCBpcGNfbXNnX2dldF9pbmZvKGludCBpZCwgc3RydWN0IG1zZ19kYXRhICoqbXNnZHMpOworZXh0ZXJuIHZvaWQgaXBjX21zZ19mcmVlX2luZm8oc3RydWN0IG1zZ19kYXRhICptc2dkcyk7CisKKyNlbmRpZiAvKiBVVElMX0xJTlVYX0lQQ1VUSUxTX0ggKi8KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9sZGF0dGFjaC44IGIvc3lzLXV0aWxzL2xkYXR0YWNoLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTVhNDNjYQotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9sZGF0dGFjaC44CkBAIC0wLDAgKzEsMTU1IEBACisuXCIgQ29weXJpZ2h0IDIwMDggVGlsbWFuIFNjaG1pZHQgKHRpbG1hbkBpbWFwLmNjKQorLlwiIE1heSBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIG9yIGxhdGVyCisuVEggTERBVFRBQ0ggOCAiSnVseSAyMDE0IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitsZGF0dGFjaCBcLSBhdHRhY2ggYSBsaW5lIGRpc2NpcGxpbmUgdG8gYSBzZXJpYWwgbGluZQorLlNIIFNZTk9QU0lTCisuQiBsZGF0dGFjaAorLlJCIFsgXC0xMjc4ZGVub1ZoIF0KKy5SQiBbIFwtaQorLklSIGlmbGFnIF0KKy5SQiBbIFwtcworLklSIHNwZWVkIF0KKy5JIGxkaXNjIGRldmljZQorLlNIIERFU0NSSVBUSU9OCitUaGUKKy5CIGxkYXR0YWNoCitkYWVtb24gb3BlbnMgdGhlIHNwZWNpZmllZAorLkkgZGV2aWNlCitmaWxlCisod2hpY2ggc2hvdWxkIHJlZmVyIHRvIGEgc2VyaWFsIGRldmljZSkKK2FuZCBhdHRhY2hlcyB0aGUgbGluZSBkaXNjaXBsaW5lCisuSSBsZGlzYwordG8gaXQgZm9yIHByb2Nlc3Npbmcgb2YgdGhlIHNlbnQgYW5kL29yIHJlY2VpdmVkIGRhdGEuCitJdCB0aGVuIGdvZXMgaW50byB0aGUgYmFja2dyb3VuZCBrZWVwaW5nIHRoZSBkZXZpY2Ugb3BlbiBzbyB0aGF0IHRoZQorbGluZSBkaXNjaXBsaW5lIHN0YXlzIGxvYWRlZC4KKy5zcAorVGhlIGxpbmUgZGlzY2lwbGluZQorLkkgbGRpc2MKK21heSBiZSBzcGVjaWZpZWQgZWl0aGVyIGJ5IG5hbWUKK29yIGJ5IG51bWJlci4KKy5zcAorSW4gb3JkZXIgdG8gZGV0YWNoIHRoZSBsaW5lIGRpc2NpcGxpbmUsCisuQlIga2lsbCAoMSkKK3RoZQorLkIgbGRhdHRhY2gKK3Byb2Nlc3MuCisuc3AKK1dpdGggbm8gYXJndW1lbnRzLAorLkIgbGRhdHRhY2gKK3ByaW50cyB1c2FnZSBpbmZvcm1hdGlvbi4KKy5TSCBMSU5FIERJU0NJUExJTkVTCitEZXBlbmRpbmcgb24gdGhlIGtlcm5lbCByZWxlYXNlLCB0aGUgZm9sbG93aW5nIGxpbmUgZGlzY2lwbGluZXMgYXJlIHN1cHBvcnRlZDoKKy5UUAorLkJSIFRUWSAoIDAgKQorVGhlIGRlZmF1bHQgbGluZSBkaXNjaXBsaW5lLAorcHJvdmlkaW5nIHRyYW5zcGFyZW50IG9wZXJhdGlvbiAocmF3IG1vZGUpCithcyB3ZWxsIGFzIHRoZSBoYWJpdHVhbCB0ZXJtaW5hbCBsaW5lIGVkaXRpbmcgY2FwYWJpbGl0aWVzIChjb29rZWQgbW9kZSkuCisuVFAKKy5CUiBTTElQICggMSApCitTZXJpYWwgTGluZSBJUCAoU0xJUCkgcHJvdG9jb2wgcHJvY2Vzc29yCitmb3IgdHJhbnNtaXR0aW5nIFRDUC9JUCBwYWNrZXRzIG92ZXIgc2VyaWFsIGxpbmVzLgorLlRQCisuQlIgTU9VU0UgKCAyICkKK0RldmljZSBkcml2ZXIgZm9yIFJTMjMyIGNvbm5lY3RlZCBwb2ludGluZyBkZXZpY2VzIChzZXJpYWwgbWljZSkuCisuVFAKKy5CUiBQUFAgKCAzICkKK1BvaW50IHRvIFBvaW50IFByb3RvY29sIChQUFApIHByb2Nlc3NvcgorZm9yIHRyYW5zbWl0dGluZyBuZXR3b3JrIHBhY2tldHMgb3ZlciBzZXJpYWwgbGluZXMuCisuVFAKKy5CUiBTVFJJUCAoIDQgKQorLlRQCisuQlIgQVgyNSAoIDUgKQorLlRQCisuQlIgWDI1ICggNiApCitMaW5lIGRyaXZlciBmb3IgdHJhbnNtaXR0aW5nIFguMjUgcGFja2V0cyBvdmVyIGFzeW5jaHJvbm91cyBzZXJpYWwgbGluZXMuCisuVFAKKy5CUiA2UEFDSyAoIDcgKQorLlRQCisuQlIgUjM5NjQgKCA5ICkKK0RyaXZlciBmb3IgU2ltYXRpYyBSMzk2NCBtb2R1bGUuCisuVFAKKy5CUiBJUkRBICggMTEgKQorTGludXggSXJEYSAoaW5mcmFyZWQgZGF0YSB0cmFuc21pc3Npb24pIGRyaXZlciAtCitzZWUgaHR0cDovL2lyZGEuc291cmNlZm9yZ2UubmV0LworLlRQCisuQlIgSERMQyAoIDEzICkKK1N5bmNocm9ub3VzIEhETEMgZHJpdmVyLgorLlRQCisuQlIgU1lOQ19QUFAgKCAxNCApCitTeW5jaHJvbm91cyBQUFAgZHJpdmVyLgorLlRQCisuQlIgSENJICggMTUgKQorQmx1ZXRvb3RoIEhDSSBVQVJUIGRyaXZlci4KKy5UUAorLkJSIEdJR0FTRVRfTTEwMSAoIDE2ICkKK0RyaXZlciBmb3IgU2llbWVucyBHaWdhc2V0IE0xMDEgc2VyaWFsIERFQ1QgYWRhcHRlci4KKy5UUAorLkJSIFBQUyAoIDE4ICkKK0RyaXZlciBmb3Igc2VyaWFsIGxpbmUgUHVsc2UgUGVyIFNlY29uZCAoUFBTKSBzb3VyY2UuCisuVFAKKy5CUiBHU00wNzEwICggMjEgKQorRHJpdmVyIGZvciBHU00gMDcuMTAgbXVsdGlwbGV4aW5nIHByb3RvY29sIG1vZGVtIChDTVVYKS4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLTEgLCAiIFwtXC1vbmVzdG9wYml0IgorU2V0IHRoZSBudW1iZXIgb2Ygc3RvcCBiaXRzIG9mIHRoZSBzZXJpYWwgbGluZSB0byBvbmUuCisuVFAKKy5CUiBcLTIgLCAiIFwtXC10d29zdG9wYml0cyIKK1NldCB0aGUgbnVtYmVyIG9mIHN0b3AgYml0cyBvZiB0aGUgc2VyaWFsIGxpbmUgdG8gdHdvLgorLlRQCisuQlIgXC03ICwgIiBcLVwtc2V2ZW5iaXRzIgorU2V0IHRoZSBjaGFyYWN0ZXIgc2l6ZSBvZiB0aGUgc2VyaWFsIGxpbmUgdG8gNyBiaXRzLgorLlRQCisuQlIgXC04ICwgIiBcLVwtZWlnaHRiaXRzIgorU2V0IHRoZSBjaGFyYWN0ZXIgc2l6ZSBvZiB0aGUgc2VyaWFsIGxpbmUgdG8gOCBiaXRzLgorLlRQCisuQlIgXC1kICwgIiBcLVwtZGVidWciCitLZWVwCisuQiBsZGF0dGFjaAoraW4gdGhlIGZvcmVncm91bmQgc28gdGhhdCBpdCBjYW4gYmUgaW50ZXJydXB0ZWQgb3IgZGVidWdnZWQsCithbmQgdG8gcHJpbnQgdmVyYm9zZSBtZXNzYWdlcyBhYm91dCBpdHMgcHJvZ3Jlc3MgdG8gc3RhbmRhcmQgZXJyb3Igb3V0cHV0LgorLlRQCisuQlIgXC1lICwgIiBcLVwtZXZlbnBhcml0eSIKK1NldCB0aGUgcGFyaXR5IG9mIHRoZSBzZXJpYWwgbGluZSB0byBldmVuLgorLlRQCisuQlIgLWkgLCAiIC0taWZsYWcgIiBbIFwtIF0gXGZJdmFsdWVcZlIuLi4KK1NldCB0aGUgc3BlY2lmaWVkIGJpdHMgaW4gdGhlIGNfaWZsYWcgd29yZCBvZiB0aGUgc2VyaWFsIGxpbmUuCitUaGUgZ2l2ZW4gXGZJdmFsdWVcZlAgbWF5IGJlIGEgbnVtYmVyIG9yIGEgc3ltYm9saWMgbmFtZS4KK0lmIFxmSXZhbHVlXGZQIGlzIHByZWZpeGVkIGJ5IGEgbWludXMgc2lnbiwgdGhlIHNwZWNpZmllZCBiaXRzIGFyZSBjbGVhcmVkCitpbnN0ZWFkLiAgU2V2ZXJhbCBjb21tYS1zZXBhcmF0ZWQgdmFsdWVzIG1heSBiZSBnaXZlbiBpbiBvcmRlciB0bworc2V0IGFuZCBjbGVhciBtdWx0aXBsZSBiaXRzLgorLlRQCisuQlIgXC1uICwgIiBcLVwtbm9wYXJpdHkiCitTZXQgdGhlIHBhcml0eSBvZiB0aGUgc2VyaWFsIGxpbmUgdG8gbm9uZS4KKy5UUAorLkJSIFwtbyAsICIgXC1cLW9kZHBhcml0eSIKK1NldCB0aGUgcGFyaXR5IG9mIHRoZSBzZXJpYWwgbGluZSB0byBvZGQuCisuVFAKKy5CUiAgXC1zICwgIiBcLVwtc3BlZWQgIiBcZkl2YWx1ZQorU2V0IHRoZSBzcGVlZCAodGhlIGJhdWQgcmF0ZSkgb2YgdGhlIHNlcmlhbCBsaW5lIHRvIHRoZSBzcGVjaWZpZWQgXGZJdmFsdWVcZlIuCisuVFAKKy5CUiBcLWMgLCAiIFwtXC1pbnRyb1wtY29tbWFuZCAiIFxmSXN0cmluZworRGVmaW5lIGFuIGludHJvIGNvbW1hbmQgdGhhdCBpcyBzZW50IHRocm91Z2ggdGhlIHNlcmlhbCBsaW5lIGJlZm9yZSB0aGUgaW52b2NhdGlvbgorb2YgbGRhdHRhY2guIEUuZy4gaW4gY29uanVuY3Rpb24gd2l0aCBsaW5lIGRpc2NpcGxpbmUgR1NNMDcxMCwgdGhlIGNvbW1hbmQKK1wnQVQrQ01VWD0wXFxyXCcgaXMgY29tbW9ubHkgc3VpdGFibGUgdG8gc3dpdGNoIHRoZSBtb2RlbSBpbnRvIHRoZSBDTVVYIG1vZGUuCisuVFAKKy5CUiBcLXAgLCAiIFwtXC1wYXVzZSAiICBcZkl2YWx1ZQorU2xlZXAgZm9yIFxmSXZhbHVlXGZSIHNlY29uZHMgYmVmb3JlIHRoZSBpbnZvY2F0aW9uIG9mIGxkYXR0YWNoLiBEZWZhdWx0IGlzIG9uZSBzZWNvbmQuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIICJTRUUgQUxTTyIKKy5CUiBpbnB1dGF0dGFjaCAoMSksCisuQlIgdHR5cyAoNCkKKy5TSCBBVVRIT1IKKy5uZgorVGlsbWFuIFNjaG1pZHQgKHRpbG1hbkBpbWFwLmNjKQorLmZpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgbGRhdHRhY2ggY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UKK2FuZCBpcyBhdmFpbGFibGUgZnJvbQorZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL2xkYXR0YWNoLmMgYi9zeXMtdXRpbHMvbGRhdHRhY2guYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTYxNzM5Ci0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2xkYXR0YWNoLmMKQEAgLTAsMCArMSw0ODUgQEAKKy8qIGxpbmUgZGlzY2lwbGluZSBsb2FkaW5nIGRhZW1vbgorICogb3BlbiBhIHNlcmlhbCBkZXZpY2UgYW5kIGF0dGFjaCBhIGxpbmUgZGlzY2lwbGluZSBvbiBpdAorICoKKyAqIFVzYWdlOgorICoJbGRhdHRhY2ggR0lHQVNFVF9NMTAxIC9kZXYvdHR5UzAKKyAqCisgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgorICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqLworCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDx0ZXJtaW9zLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiYWxsLWlvLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorI2luY2x1ZGUgPGxpbnV4L2lmLmg+CisKKyNpbmNsdWRlIDxsaW51eC90dHkuaD4JCS8qIGZvciBOX0dTTTA3MTAgKi8KKworI2lmZGVmIExJTlVYX0dTTU1VWF9ICisjIGluY2x1ZGUgPGxpbnV4L2dzbW11eC5oPgkvKiBBZGQgYnkgZ3Vvd2VueHVlICovCisjZWxzZQorc3RydWN0IGdzbV9jb25maWcKK3sKKwl1bnNpZ25lZCBpbnQgYWRhcHRpb247CisJdW5zaWduZWQgaW50IGVuY2Fwc3VsYXRpb247CisJdW5zaWduZWQgaW50IGluaXRpYXRvcjsKKwl1bnNpZ25lZCBpbnQgdDE7CisJdW5zaWduZWQgaW50IHQyOworCXVuc2lnbmVkIGludCB0MzsKKwl1bnNpZ25lZCBpbnQgbjI7CisJdW5zaWduZWQgaW50IG1ydTsKKwl1bnNpZ25lZCBpbnQgbXR1OworCXVuc2lnbmVkIGludCBrOworCXVuc2lnbmVkIGludCBpOworCXVuc2lnbmVkIGludCB1bnVzZWRbOF07CQkvKiBQYWRkaW5nIGZvciBleHBhbnNpb24gd2l0aG91dAorCQkJCQkgICBicmVha2luZyBzdHVmZiAqLworfTsKKyMgZGVmaW5lIEdTTUlPQ19HRVRDT05GCQlfSU9SKCdHJywgMCwgc3RydWN0IGdzbV9jb25maWcpCisjIGRlZmluZSBHU01JT0NfU0VUQ09ORgkJX0lPVygnRycsIDEsIHN0cnVjdCBnc21fY29uZmlnKQorI2VuZGlmCisKKyNpZm5kZWYgTl9HSUdBU0VUX00xMDEKKyMgZGVmaW5lIE5fR0lHQVNFVF9NMTAxIDE2CisjZW5kaWYKKworI2lmbmRlZiBOX1BQUworIyBkZWZpbmUgTl9QUFMgMTgKKyNlbmRpZgorCisjaWZuZGVmIE5fR1NNMDcxMAorIyBkZWZpbmUgTl9HU00wNzEwIDIxCisjZW5kaWYKKworI2RlZmluZSBNQVhJTlRST1BBUk1MRU4gMzIKKworLyogYXR0YWNoIGEgbGluZSBkaXNjaXBsaW5lIGlvY3RsICovCisjaWZuZGVmIFRJT0NTRVRECisjIGRlZmluZSBUSU9DU0VURCAgIDB4NTQyMworI2VuZGlmCisKK3N0YXRpYyBpbnQgZGVidWcgPSAwOworCitzdHJ1Y3QgbGRfdGFibGUgeworCWNvbnN0IGNoYXIgKm5hbWU7CisJaW50IHZhbHVlOworfTsKKworLyogY3VycmVudGx5IHN1cHBvcnRlZCBsaW5lIGRpc2NpcGxpbmVzLCBwbHVzIHNvbWUgYWxpYXNlcyAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBsZF90YWJsZSBsZF9kaXNjc1tdID0geworCXsgIlRUWSIsCQlOX1RUWSB9LAorCXsgIlNMSVAiLAkJTl9TTElQIH0sCisJeyAiTU9VU0UiLAkJTl9NT1VTRSB9LAorCXsgIlBQUCIsCQlOX1BQUCB9LAorCXsgIlNUUklQIiwJCU5fU1RSSVAgfSwKKwl7ICJBWDI1IiwJCU5fQVgyNSB9LAorCXsgIlgyNSIsCQlOX1gyNSB9LAorCXsgIjZQQUNLIiwJCU5fNlBBQ0sgfSwKKwl7ICJSMzk2NCIsCQlOX1IzOTY0IH0sCisJeyAiSVJEQSIsCQlOX0lSREEgfSwKKwl7ICJIRExDIiwJCU5fSERMQyB9LAorCXsgIlNZTkNfUFBQIiwJCU5fU1lOQ19QUFAgfSwKKwl7ICJTWU5DUFBQIiwJCU5fU1lOQ19QUFAgfSwKKwl7ICJIQ0kiLAkJTl9IQ0kgfSwKKwl7ICJHSUdBU0VUX00xMDEiLAlOX0dJR0FTRVRfTTEwMSB9LAorCXsgIk0xMDEiLAkJTl9HSUdBU0VUX00xMDEgfSwKKwl7ICJHSUdBU0VUIiwJCU5fR0lHQVNFVF9NMTAxIH0sCisJeyAiUFBTIiwJCU5fUFBTIH0sCisJeyAiR1NNMDcxMCIsCQlOX0dTTTA3MTB9LAorCXsgTlVMTCwJMCB9Cit9OworCisvKiBrbm93biBjX2lmbGFnIG5hbWVzICovCitzdGF0aWMgY29uc3Qgc3RydWN0IGxkX3RhYmxlIGxkX2lmbGFnc1tdID0KK3sKKwl7ICJJR05CUksiLAlJR05CUksgfSwKKwl7ICJCUktJTlQiLAlCUktJTlQgfSwKKwl7ICJJR05QQVIiLAlJR05QQVIgfSwKKwl7ICJQQVJNUksiLAlQQVJNUksgfSwKKwl7ICJJTlBDSyIsCUlOUENLIH0sCisJeyAiSVNUUklQIiwJSVNUUklQIH0sCisJeyAiSU5MQ1IiLAlJTkxDUiB9LAorCXsgIklHTkNSIiwJSUdOQ1IgfSwKKwl7ICJJQ1JOTCIsCUlDUk5MIH0sCisJeyAiSVVDTEMiLAlJVUNMQyB9LAorCXsgIklYT04iLAlJWE9OIH0sCisJeyAiSVhBTlkiLAlJWEFOWSB9LAorCXsgIklYT0ZGIiwJSVhPRkYgfSwKKwl7ICJJTUFYQkVMIiwJSU1BWEJFTCB9LAorCXsgIklVVEY4IiwJSVVURjggfSwKKwl7IE5VTEwsCQkwIH0KK307CisKK3N0YXRpYyB2b2lkIGRiZyhjaGFyICpmbXQsIC4uLikKK3sKKwl2YV9saXN0IGFyZ3M7CisKKwlpZiAoZGVidWcgPT0gMCkKKwkJcmV0dXJuOworCWZmbHVzaChOVUxMKTsKKwlmcHJpbnRmKHN0ZGVyciwgIiVzOiAiLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisJdmFfc3RhcnQoYXJncywgZm10KTsKKwl2ZnByaW50ZihzdGRlcnIsIGZtdCwgYXJncyk7CisJdmFfZW5kKGFyZ3MpOworCWZwcmludGYoc3RkZXJyLCAiXG4iKTsKKwlmZmx1c2goTlVMTCk7CisJcmV0dXJuOworfQorCitzdGF0aWMgaW50IGxvb2t1cF90YWJsZShjb25zdCBzdHJ1Y3QgbGRfdGFibGUgKnRhYiwgY29uc3QgY2hhciAqc3RyKQoreworCWNvbnN0IHN0cnVjdCBsZF90YWJsZSAqdDsKKworCWZvciAodCA9IHRhYjsgdCAmJiB0LT5uYW1lOyB0KyspCisJCWlmICghc3RyY2FzZWNtcCh0LT5uYW1lLCBzdHIpKQorCQkJcmV0dXJuIHQtPnZhbHVlOworCXJldHVybiAtMTsKK30KKworc3RhdGljIHZvaWQgcHJpbnRfdGFibGUoRklMRSAqIG91dCwgY29uc3Qgc3RydWN0IGxkX3RhYmxlICp0YWIpCit7CisJY29uc3Qgc3RydWN0IGxkX3RhYmxlICp0OworCWludCBpOworCisJZm9yICh0ID0gdGFiLCBpID0gMTsgdCAmJiB0LT5uYW1lOyB0KyssIGkrKykgeworCQlmcHJpbnRmKG91dCwgIiAgJS0xMnMiLCB0LT5uYW1lKTsKKwkJaWYgKCEoaSAlIDUpKQorCQkJZnB1dGMoJ1xuJywgb3V0KTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgcGFyc2VfaWZsYWcoY2hhciAqc3RyLCBpbnQgKnNldF9pZmxhZywgaW50ICpjbHJfaWZsYWcpCit7CisJaW50IGlmbGFnOworCWNoYXIgKnM7CisKKwlmb3IgKHMgPSBzdHJ0b2soc3RyLCAiLCIpOyBzICE9IE5VTEw7IHMgPSBzdHJ0b2soTlVMTCwgIiwiKSkgeworCQlpZiAoKnMgPT0gJy0nKQorCQkJcysrOworCQlpZiAoKGlmbGFnID0gbG9va3VwX3RhYmxlKGxkX2lmbGFncywgcykpIDwgMCkKKwkJCWlmbGFnID0gc3RydG9zMzJfb3JfZXJyKHMsIF8oImludmFsaWQgaWZsYWciKSk7CisJCWlmIChzID4gc3RyICYmICoocyAtIDEpID09ICctJykKKwkJCSpjbHJfaWZsYWcgfD0gaWZsYWc7CisJCWVsc2UKKwkJCSpzZXRfaWZsYWcgfD0gaWZsYWc7CisJfQorCWRiZygiaWZsYWcgKHNldC9jbGVhcik6ICVkLyVkIiwgKnNldF9pZmxhZywgKmNscl9pZmxhZyk7CisJcmV0dXJuIDA7Cit9CisKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXyAoKF9fbm9yZXR1cm5fXykpIHVzYWdlKGludCBleGl0Y29kZSkKK3sKKwlGSUxFICpvdXQgPSBleGl0Y29kZSA9PSBFWElUX1NVQ0NFU1MgPyBzdGRvdXQgOiBzdGRlcnI7CisKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc10gPGxkaXNjPiA8ZGV2aWNlPlxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJBdHRhY2ggYSBsaW5lIGRpc2NpcGxpbmUgdG8gYSBzZXJpYWwgbGluZS5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBtZXNzYWdlcyB0byBzdGRlcnJcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICBzZXQgc2VyaWFsIGxpbmUgc3BlZWRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtYywgLS1pbnRyby1jb21tYW5kIDxzdHJpbmc+IGludHJvIHNlbnQgYmVmb3JlIGxkYXR0YWNoXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXAsIC0tcGF1c2UgPHNlY29uZHM+ICAgcGF1c2UgYmV0d2VlbiBpbnRybyBhbmQgbGRhdHRhY2hcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gNyBiaXRzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLTgsIC0tZWlnaHRiaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDggYml0c1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIHNldCBwYXJpdHkgdG8gbm9uZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIHNldCBwYXJpdHkgdG8gZXZlblxuIiksIG91dCk7CisJZnB1dHMoXygiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIHNldCBwYXJpdHkgdG8gb2RkXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLTEsIC0tb25lc3RvcGJpdCAgICAgICAgc2V0IHN0b3AgYml0cyB0byBvbmVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBzZXQgc3RvcCBiaXRzIHRvIHR3b1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1pLCAtLWlmbGFnIFstXTxpZmxhZz4gIHNldCBpbnB1dCBtb2RlIGZsYWdcbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKFVTQUdFX0hFTFAsIG91dCk7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgb3V0KTsKKworCWZwdXRzKF8oIlxuS25vd24gPGxkaXNjPiBuYW1lczpcbiIpLCBvdXQpOworCXByaW50X3RhYmxlKG91dCwgbGRfZGlzY3MpOworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKworCWZwdXRzKF8oIlxuS25vd24gPGlmbGFnPiBuYW1lczpcbiIpLCBvdXQpOworCXByaW50X3RhYmxlKG91dCwgbGRfaWZsYWdzKTsKKworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgibGRhdHRhY2goOCkiKSk7CisJZXhpdChleGl0Y29kZSk7Cit9CisKK3N0YXRpYyBpbnQgbXlfY2ZzZXRzcGVlZChzdHJ1Y3QgdGVybWlvcyAqdHMsIGludCBzcGVlZCkKK3sKKwkvKiBTdGFuZGFyZCBzcGVlZHMKKwkgKiAtLSBjZnNldHNwZWVkKCkgaXMgYWJsZSB0byB0cmFuc2xhdGUgbnVtYmVyIHRvIEJ4eHggY29uc3RhbnRzCisJICovCisJaWYgKGNmc2V0c3BlZWQodHMsIHNwZWVkKSA9PSAwKQorCQlyZXR1cm4gMDsKKworCS8qIE5vbnN0YW5kYXJkIHNwZWVkcworCSAqIC0tIHdlIGhhdmUgdG8gYnlwYXNzIGdsaWJjIGFuZCBzZXQgdGhlIHNwZWVkIG1hbnVhbGx5IChiZWNhdXNlIGdsaWJjCisJICogICAgY2hlY2tzIGZvciBzcGVlZCBhbmQgc3VwcG9ydHMgQnh4eCBiaXQgcmF0ZXMgb25seSkuLi4KKwkgKi8KKyNpZmRlZiBfSEFWRV9TVFJVQ1RfVEVSTUlPU19DX0lTUEVFRAorIyBkZWZpbmUgQk9USEVSIDAwMTAwMDAJCS8qIG5vbiBzdGFuZGFyZCByYXRlICovCisJZGJnKCJ1c2luZyBub24tc3RhbmRhcmQgc3BlZWRzIik7CisJdHMtPmNfb3NwZWVkID0gdHMtPmNfaXNwZWVkID0gc3BlZWQ7CisJdHMtPmNfY2ZsYWcgJj0gfkNCQVVEOworCXRzLT5jX2NmbGFnIHw9IEJPVEhFUjsKKwlyZXR1cm4gMDsKKyNlbHNlCisJcmV0dXJuIC0xOworI2VuZGlmCit9CisKK3N0YXRpYyB2b2lkIGhhbmRsZXIoaW50IHMpCit7CisJZGJnKCJnb3QgU0lHICVpIC0+IGV4aXRpbmdcbiIsIHMpOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIHZvaWQgZ3NtMDcxMF9zZXRfY29uZihpbnQgdHR5X2ZkKQoreworCXN0cnVjdCBnc21fY29uZmlnIGM7CisKKwkvKiBBZGQgYnkgZ3Vvd2VueHVlICovCisJLyogIGdldCBuX2dzbSBjb25maWd1cmF0aW9uICovCisJaW9jdGwodHR5X2ZkLCBHU01JT0NfR0VUQ09ORiwgJmMpOworCS8qICB3ZSBhcmUgaW5pdGlhdG9yIGFuZCBuZWVkIGVuY29kaW5nIDAgKGJhc2ljKSAqLworCWMuaW5pdGlhdG9yID0gMTsKKwljLmVuY2Fwc3VsYXRpb24gPSAwOworCS8qICBvdXIgbW9kZW0gZGVmYXVsdHMgdG8gYSBtYXhpbXVtIHNpemUgb2YgMTI3IGJ5dGVzICovCisJYy5tcnUgPSAxMjc7CisJYy5tdHUgPSAxMjc7CisJLyogIHNldCB0aGUgbmV3IGNvbmZpZ3VyYXRpb24gKi8KKwlpb2N0bCh0dHlfZmQsIEdTTUlPQ19TRVRDT05GLCAmYyk7CisJLyogQWRkIGJ5IGd1b3dlbnh1ZSBlbmQqLworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IHR0eV9mZDsKKwlzdHJ1Y3QgdGVybWlvcyB0czsKKwlpbnQgc3BlZWQgPSAwLCBiaXRzID0gJy0nLCBwYXJpdHkgPSAnLScsIHN0b3AgPSAnLSc7CisJaW50IHNldF9pZmxhZyA9IDAsIGNscl9pZmxhZyA9IDA7CisJaW50IGxkaXNjOworCWludCBvcHRjOworCWNoYXIgKmRldjsKKwlpbnQgaW50cm9wYXVzZSA9IDE7CisJY2hhciAqaW50cm9wYXJtID0gTlVMTDsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIG9wdHRibFtdID0geworCQl7InNwZWVkIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdzJ30sCisJCXsic2V2ZW5iaXRzIiwgbm9fYXJndW1lbnQsIE5VTEwsICc3J30sCisJCXsiZWlnaHRiaXRzIiwgbm9fYXJndW1lbnQsIE5VTEwsICc4J30sCisJCXsibm9wYXJpdHkiLCBub19hcmd1bWVudCwgTlVMTCwgJ24nfSwKKwkJeyJldmVucGFyaXR5Iiwgbm9fYXJndW1lbnQsIE5VTEwsICdlJ30sCisJCXsib2RkcGFyaXR5Iiwgbm9fYXJndW1lbnQsIE5VTEwsICdvJ30sCisJCXsib25lc3RvcGJpdCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnMSd9LAorCQl7InR3b3N0b3BiaXRzIiwgbm9fYXJndW1lbnQsIE5VTEwsICcyJ30sCisJCXsiaWZsYWciLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2knfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIE5VTEwsICdoJ30sCisJCXsidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnVid9LAorCQl7ImRlYnVnIiwgbm9fYXJndW1lbnQsIE5VTEwsICdkJ30sCisJICAgICAgICB7ImludHJvLWNvbW1hbmQiLCBub19hcmd1bWVudCwgTlVMTCwgJ2MnfSwKKwkgICAgICAgIHsicGF1c2UiLCBub19hcmd1bWVudCwgTlVMTCwgJ3AnfSwKKwkJe05VTEwsIDAsIE5VTEwsIDB9CisJfTsKKworCXNpZ25hbChTSUdLSUxMLCBoYW5kbGVyKTsKKwlzaWduYWwoU0lHSU5ULCBoYW5kbGVyKTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwkvKiBwYXJzZSBvcHRpb25zICovCisJaWYgKGFyZ2MgPT0gMCkKKwkJdXNhZ2UoRVhJVF9TVUNDRVNTKTsKKwl3aGlsZSAoKG9wdGMgPQorCQlnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiZGhWNzhuZW8xMnM6aTpjOnA6Iiwgb3B0dGJsLAorCQkJICAgIE5VTEwpKSA+PSAwKSB7CisJCXN3aXRjaCAob3B0YykgeworCQljYXNlICdkJzoKKwkJCWRlYnVnID0gMTsKKwkJCWJyZWFrOworCQljYXNlICcxJzoKKwkJY2FzZSAnMic6CisJCQlzdG9wID0gb3B0YzsKKwkJCWJyZWFrOworCQljYXNlICc3JzoKKwkJY2FzZSAnOCc6CisJCQliaXRzID0gb3B0YzsKKwkJCWJyZWFrOworCQljYXNlICduJzoKKwkJY2FzZSAnZSc6CisJCWNhc2UgJ28nOgorCQkJcGFyaXR5ID0gb3B0YzsKKwkJCWJyZWFrOworCQljYXNlICdzJzoKKwkJCXNwZWVkID0gc3RydG9zMzJfb3JfZXJyKG9wdGFyZywgXygiaW52YWxpZCBzcGVlZCBhcmd1bWVudCIpKTsKKwkJCWJyZWFrOworCQljYXNlICdwJzoKKwkJCWludHJvcGF1c2UgPSBzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLCBfKCJpbnZhbGlkIHBhdXNlIGFyZ3VtZW50IikpOworCQkJaWYgKGludHJvcGF1c2UgPiAxMCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgImludmFsaWQgcGF1c2U6ICVzIiwgb3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICdjJzoKKwkJCWludHJvcGFybSA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdpJzoKKwkJCXBhcnNlX2lmbGFnKG9wdGFyZywgJnNldF9pZmxhZywgJmNscl9pZmxhZyk7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoRVhJVF9TVUNDRVNTKTsKKwkJZGVmYXVsdDoKKwkJCXdhcm54KF8oImludmFsaWQgb3B0aW9uIikpOworCQkJdXNhZ2UoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0KKworCWlmIChhcmdjIC0gb3B0aW5kICE9IDIpCisJCXVzYWdlKEVYSVRfRkFJTFVSRSk7CisKKwkvKiBwYXJzZSBsaW5lIGRpc2NpcGxpbmUgc3BlY2lmaWNhdGlvbiAqLworCWxkaXNjID0gbG9va3VwX3RhYmxlKGxkX2Rpc2NzLCBhcmd2W29wdGluZF0pOworCWlmIChsZGlzYyA8IDApCisJCWxkaXNjID0gc3RydG9zMzJfb3JfZXJyKGFyZ3Zbb3B0aW5kXSwgXygiaW52YWxpZCBsaW5lIGRpc2NpcGxpbmUgYXJndW1lbnQiKSk7CisKKwkvKiBsZGlzYyBzcGVjaWZpYyBvcHRpb24gc2V0dGluZ3MgKi8KKwlpZiAobGRpc2MgPT0gTl9HSUdBU0VUX00xMDEpIHsKKwkJLyogZGV2aWNlIHNwZWNpZmljIGRlZmF1bHRzIGZvciBsaW5lIHNwZWVkIGFuZCBkYXRhIGZvcm1hdCAqLworCQlpZiAoc3BlZWQgPT0gMCkKKwkJCXNwZWVkID0gMTE1MjAwOworCQlpZiAoYml0cyA9PSAnLScpCisJCQliaXRzID0gJzgnOworCQlpZiAocGFyaXR5ID09ICctJykKKwkJCXBhcml0eSA9ICduJzsKKwkJaWYgKHN0b3AgPT0gJy0nKQorCQkJc3RvcCA9ICcxJzsKKwl9CisKKwkvKiBvcGVuIGRldmljZSAqLworCWRldiA9IGFyZ3Zbb3B0aW5kICsgMV07CisJaWYgKCh0dHlfZmQgPSBvcGVuKGRldiwgT19SRFdSIHwgT19OT0NUVFkpKSA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksIGRldik7CisJaWYgKCFpc2F0dHkodHR5X2ZkKSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzIGlzIG5vdCBhIHNlcmlhbCBsaW5lIiksIGRldik7CisKKwlkYmcoIm9wZW5lZCAlcyIsIGRldik7CisKKwkvKiBzZXQgbGluZSBzcGVlZCBhbmQgZm9ybWF0ICovCisJaWYgKHRjZ2V0YXR0cih0dHlfZmQsICZ0cykgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLAorCQkgICAgXygiY2Fubm90IGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIpLCBkZXYpOworCWNmbWFrZXJhdygmdHMpOworCWlmIChzcGVlZCAmJiBteV9jZnNldHNwZWVkKCZ0cywgc3BlZWQpIDwgMCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInNwZWVkICVkIHVuc3VwcG9ydGVkIiksIHNwZWVkKTsKKworCXN3aXRjaCAoc3RvcCkgeworCWNhc2UgJzEnOgorCQl0cy5jX2NmbGFnICY9IH5DU1RPUEI7CisJCWJyZWFrOworCWNhc2UgJzInOgorCQl0cy5jX2NmbGFnIHw9IENTVE9QQjsKKwkJYnJlYWs7CisJY2FzZSAnLSc6CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWFib3J0KCk7CisJfQorCXN3aXRjaCAoYml0cykgeworCWNhc2UgJzcnOgorCQl0cy5jX2NmbGFnID0gKHRzLmNfY2ZsYWcgJiB+Q1NJWkUpIHwgQ1M3OworCQlicmVhazsKKwljYXNlICc4JzoKKwkJdHMuY19jZmxhZyA9ICh0cy5jX2NmbGFnICYgfkNTSVpFKSB8IENTODsKKwkJYnJlYWs7CisJY2FzZSAnLSc6CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWFib3J0KCk7CisJfQorCXN3aXRjaCAocGFyaXR5KSB7CisJY2FzZSAnbic6CisJCXRzLmNfY2ZsYWcgJj0gfihQQVJFTkIgfCBQQVJPREQpOworCQlicmVhazsKKwljYXNlICdlJzoKKwkJdHMuY19jZmxhZyB8PSBQQVJFTkI7CisJCXRzLmNfY2ZsYWcgJj0gflBBUk9ERDsKKwkJYnJlYWs7CisJY2FzZSAnbyc6CisJCXRzLmNfY2ZsYWcgfD0gKFBBUkVOQiB8IFBBUk9ERCk7CisJCWJyZWFrOworCWNhc2UgJy0nOgorCQlicmVhazsKKwlkZWZhdWx0OgorCQlhYm9ydCgpOworCX0KKworCXRzLmNfY2ZsYWcgfD0gQ1JFQUQ7CS8qIGp1c3QgdG8gYmUgb24gdGhlIHNhZmUgc2lkZSAqLworCXRzLmNfaWZsYWcgfD0gc2V0X2lmbGFnOworCXRzLmNfaWZsYWcgJj0gfmNscl9pZmxhZzsKKworCWlmICh0Y3NldGF0dHIodHR5X2ZkLCBUQ1NBRkxVU0gsICZ0cykgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLAorCQkgICAgXygiY2Fubm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIpLCBkZXYpOworCisJZGJnKCJzZXQgdG8gcmF3ICVkICVjJWMlYzogY2ZsYWc9MHgleCIsCisJICAgIHNwZWVkLCBiaXRzLCBwYXJpdHksIHN0b3AsIHRzLmNfY2ZsYWcpOworCisJaWYgKGludHJvcGFybSAmJiAqaW50cm9wYXJtKQorCXsKKwkJZGJnKCJpbnRybyBjb21tYW5kIGlzICclcyciLCBpbnRyb3Bhcm0pOworCQlpZiAod3JpdGVfYWxsKHR0eV9mZCwgaW50cm9wYXJtLCBzdHJsZW4oaW50cm9wYXJtKSkgIT0gMCkKKwkJCWVycihFWElUX0ZBSUxVUkUsCisJCQkgICAgXygiY2Fubm90IHdyaXRlIGludHJvIGNvbW1hbmQgdG8gJXMiKSwgZGV2KTsKKworCQlpZiAoaW50cm9wYXVzZSkgeworCQkJZGJnKCJ3YWl0aW5nIGZvciAlZCBzZWNvbmRzIiwgaW50cm9wYXVzZSk7CisJCQlzbGVlcChpbnRyb3BhdXNlKTsKKwkJfQorCX0KKworCS8qIEF0dGFjaCB0aGUgbGluZSBkaXNjaXBsaW5lLiAqLworCWlmIChpb2N0bCh0dHlfZmQsIFRJT0NTRVRELCAmbGRpc2MpIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IHNldCBsaW5lIGRpc2NpcGxpbmUiKSk7CisKKwlkYmcoImxpbmUgZGlzY2lwbGluZSBzZXQgdG8gJWQiLCBsZGlzYyk7CisKKwkvKiBsZGlzYyBzcGVjaWZpYyBwb3N0LWF0dGFjaCBhY3Rpb25zICovCisJaWYgKGxkaXNjID09IE5fR1NNMDcxMCkKKwkJZ3NtMDcxMF9zZXRfY29uZih0dHlfZmQpOworCisJLyogR28gaW50byBiYWNrZ3JvdW5kIGlmIG5vdCBpbiBkZWJ1ZyBtb2RlLiAqLworCWlmICghZGVidWcgJiYgZGFlbW9uKDAsIDApIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IGRhZW1vbml6ZSIpKTsKKworCS8qIFNsZWVwIHRvIGtlZXAgdGhlIGxpbmUgZGlzY2lwbGluZSBhY3RpdmUuICovCisJcGF1c2UoKTsKKworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9sb3NldHVwLjggYi9zeXMtdXRpbHMvbG9zZXR1cC44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwNTA1MTIKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvbG9zZXR1cC44CkBAIC0wLDAgKzEsMjA0IEBACisuVEggTE9TRVRVUCA4ICJOb3ZlbWJlciAyMDE1IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitsb3NldHVwIFwtIHNldCB1cCBhbmQgY29udHJvbCBsb29wIGRldmljZXMKKy5TSCBTWU5PUFNJUworLmFkIGwKK0dldCBpbmZvOgorLnNwCisuaW4gKzUKKy5CIGxvc2V0dXAKKy5JIGxvb3BkZXYKKy5zcAorLkIgbG9zZXR1cCAtbAorLlJCIFsgXC1hIF0KKy5zcAorLkIgbG9zZXR1cCAtagorLkkgZmlsZQorLlJCIFsgXC1vCisuSVIgb2Zmc2V0IF0KKy5zcAorLmluIC01CitEZXRhY2ggYSBsb29wIGRldmljZToKKy5zcAorLmluICs1CisuQiAibG9zZXR1cCBcLWQiCisuSVIgbG9vcGRldiAuLi4KKy5zcAorLmluIC01CitEZXRhY2ggYWxsIGFzc29jaWF0ZWQgbG9vcCBkZXZpY2VzOgorLnNwCisuaW4gKzUKKy5CICJsb3NldHVwIFwtRCIKKy5zcAorLmluIC01CitQcmludCB0aGUgbmFtZSBvZiB0aGUgZmlyc3QgdW51c2VkIGxvb3AgZGV2aWNlOgorLnNwCisuaW4gKzUKKy5CICJsb3NldHVwIFwtZiIKKy5zcAorLmluIC01CitTZXQgdXAgYSBsb29wIGRldmljZToKKy5zcAorLmluICs1CisuQiBsb3NldHVwCisuUkIgWyBcLW8KKy5JUiBvZmZzZXQgXQorLlJCIFsgXC1cLXNpemVsaW1pdAorLklSIHNpemUgXQorLmluICs4CisuUkIgWyBcLVByIF0KKy5SQiBbIFwtXC1zaG93IF0gICIgXC1mIiB8IFxmSWxvb3BkZXZcZlAKKy5JIGZpbGUKKy5zcAorLmluIC0xMworUmVzaXplIGEgbG9vcCBkZXZpY2U6Cisuc3AKKy5pbiArNQorLkIgImxvc2V0dXAgXC1jIgorLkkgbG9vcGRldgorLmluIC01CisuYWQgYgorLlNIIERFU0NSSVBUSU9OCisuQiBsb3NldHVwCitpcyB1c2VkIHRvIGFzc29jaWF0ZSBsb29wIGRldmljZXMgd2l0aCByZWd1bGFyIGZpbGVzIG9yIGJsb2NrIGRldmljZXMsCit0byBkZXRhY2ggbG9vcCBkZXZpY2VzLCBhbmQgdG8gcXVlcnkgdGhlIHN0YXR1cyBvZiBhIGxvb3AgZGV2aWNlLiAgSWYgb25seSB0aGUKK1xmSWxvb3BkZXZcZlAgYXJndW1lbnQgaXMgZ2l2ZW4sIHRoZSBzdGF0dXMgb2YgdGhlIGNvcnJlc3BvbmRpbmcgbG9vcAorZGV2aWNlIGlzIHNob3duLiAgSWYgbm8gb3B0aW9uIGlzIGdpdmVuLCBhbGwgbG9vcCBkZXZpY2VzIGFyZSBzaG93bi4KKy5zcAorTm90ZSB0aGF0IHRoZSBvbGQgb3V0cHV0IGZvcm1hdCAoaS5lLiBcZkJsb3NldHVwIC1hXGZSKSB3aXRoIGNvbW1hLWRlbGltaXRlZAorc3RyaW5ncyBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiB0aGUgXGZCLS1saXN0XGZSIG91dHB1dCBmb3JtYXQuCisuc3AKK0l0J3MgcG9zc2libGUgdG8gY3JlYXRlIG1vcmUgaW5kZXBlbmRlbnQgbG9vcCBkZXZpY2VzIGZvciB0aGUgc2FtZSBiYWNraW5nCitmaWxlLgorLkIgVGhpcyBzZXR1cCBtYXkgYmUgZGFuZ2Vyb3VzLCBjYW4gY2F1c2UgZGF0YSBsb3NzLCBjb3JydXB0aW9uIGFuZCBvdmVyd3JpdGVzLgorVXNlIFxmQlwtXC1ub292ZXJsYXBcZlIgdG8gYXZvaWQgdGhpcyBwcm9ibGVtLgorCisuU0ggT1BUSU9OUworVGhlIFxmSXNpemVcZlIgYW5kIFxmSW9mZnNldFxmUgorYXJndW1lbnRzIG1heSBiZSBmb2xsb3dlZCBieSB0aGUgbXVsdGlwbGljYXRpdmUgc3VmZml4ZXMgS2lCICg9MTAyNCksCitNaUIgKD0xMDI0KjEwMjQpLCBhbmQgc28gb24gZm9yIEdpQiwgVGlCLCBQaUIsIEVpQiwgWmlCIGFuZCBZaUIgKHRoZSAiaUIiIGlzCitvcHRpb25hbCwgZS5nLiwgIksiIGhhcyB0aGUgc2FtZSBtZWFuaW5nIGFzICJLaUIiKSBvciB0aGUgc3VmZml4ZXMKK0tCICg9MTAwMCksIE1CICg9MTAwMCoxMDAwKSwgYW5kIHNvIG9uIGZvciBHQiwgVEIsIFBCLCBFQiwgWkIgYW5kIFlCLgorCisuVFAKKy5CUiBcLWEgLCAiIFwtXC1hbGwiCitTaG93IHRoZSBzdGF0dXMgb2YgYWxsIGxvb3AgZGV2aWNlcy4gIE5vdGUgdGhhdCBub3QgYWxsIGluZm9ybWF0aW9uIGlzIGFjY2Vzc2libGUKK2ZvciBub24tcm9vdCB1c2Vycy4gIFNlZSBhbHNvIFxmQlwtXC1saXN0XGZSLiAgVGhlIG9sZCBvdXRwdXQgZm9ybWF0IChhcyBwcmludGVkCit3aXRob3V0IFxmQi0tbGlzdClcZlIgaXMgZGVwcmVjYXRlZC4KKy5UUAorLkJSIFwtYyAsICIgXC1cLXNldFwtY2FwYWNpdHkgIiBcZklsb29wZGV2CitGb3JjZSB0aGUgbG9vcCBkcml2ZXIgdG8gcmVyZWFkIHRoZSBzaXplIG9mIHRoZSBmaWxlIGFzc29jaWF0ZWQgd2l0aCB0aGUKK3NwZWNpZmllZCBsb29wIGRldmljZS4KKy5UUAorLkJSIFwtZCAsICIgXC1cLWRldGFjaCAiIFxmSWxvb3BkZXZcZlIuLi4KK0RldGFjaCB0aGUgZmlsZSBvciBkZXZpY2UgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaWZpZWQgbG9vcCBkZXZpY2UocykuCisuVFAKKy5CUiBcLUQgLCAiIFwtXC1kZXRhY2hcLWFsbCIKK0RldGFjaCBhbGwgYXNzb2NpYXRlZCBsb29wIGRldmljZXMuCisuVFAKKy5CUiBcLVwtZGlyZWN0XC1pbyBbID1vbiB8IG9mZiBdCitFbmFibGUgb3IgZGlzYWJsZSBkaXJlY3QgSS9PIGZvciB0aGUgYmFja2luZyBmaWxlLiAgVGhlIG9wdGlvbmFsIGFyZ3VtZW50CitjYW4gYmUgZWl0aGVyIFxmQm9uXGZSIG9yIFxmQm9mZlxmUi4gIElmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkLCBpdCBkZWZhdWx0cwordG8gXGZCb25cZlIuCisuVFAKKy5CUiBcLWYgLCAiIFwtXC1maW5kIgorRmluZCB0aGUgZmlyc3QgdW51c2VkIGxvb3AgZGV2aWNlLiAgSWYgYQorLkkgZmlsZQorYXJndW1lbnQgaXMgcHJlc2VudCwgdXNlIHRoZSBmb3VuZCBkZXZpY2UgYXMgbG9vcCBkZXZpY2UuCitPdGhlcndpc2UsIGp1c3QgcHJpbnQgaXRzIG5hbWUuCisuVFAKKy5CUiBcLUwgLCAiIFwtXC1ub292ZXJsYXAiCitDaGVjayBmb3IgY29uZmxpY3RzIGJldHdlZW4gbG9vcCBkZXZpY2VzIHRvIGF2b2lkIHNpdHVhdGlvbiB3aGVuIHRoZSBzYW1lCitiYWNraW5nIGZpbGUgaXMgc2hhcmVkIGJldHdlZW4gbW9yZSBsb29wIGRldmljZXMuIElmIHRoZSBmaWxlIGlzIGFscmVhZHkgdXNlZAorYnkgYW5vdGhlciBkZXZpY2UgdGhlbiByZS11c2UgdGhlIGRldmljZSByYXRoZXIgdGhhbiBhIG5ldyBvbmUuIFRoZSBvcHRpb24KK21ha2VzIHNlbnNlIG9ubHkgd2l0aCBcZkJcLVwtZmluZFxmUC4KKy5UUAorLkJSIFwtaiAsICIgXC1cLWFzc29jaWF0ZWQgIiBcZklmaWxlCitTaG93IHRoZSBzdGF0dXMgb2YgYWxsIGxvb3AgZGV2aWNlcyBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuCisuSVIgZmlsZSAuCisuVFAKKy5CUiBcLUogLCAiIFwtXC1qc29uIgorVXNlIEpTT04gZm9ybWF0IGZvciBcZkJcLVwtbGlzdFxmUCBvdXRwdXQuCisuVFAKKy5CUiBcLWwgLCAiIFwtXC1saXN0IgorSWYgYSBsb29wIGRldmljZSBvciB0aGUgXGZCLWFcZlIgb3B0aW9uIGlzIHNwZWNpZmllZCwgcHJpbnQgdGhlIGRlZmF1bHQgY29sdW1ucworZm9yIGVpdGhlciB0aGUgc3BlY2lmaWVkIGxvb3AgZGV2aWNlIG9yIGFsbCBsb29wIGRldmljZXM7IHRoZSBkZWZhdWx0IGlzIHRvCitwcmludCBpbmZvIGFib3V0IGFsbCBkZXZpY2VzLiAgU2VlIGFsc28gXGZCXC1cLW91dHB1dFxmUCwgXGZCXC1cLW5vaGVhZGluZ3NcZlAKK1xmQlwtXC1qc29uXGZQIGFuZCBcZkJcLVwtcmF3XGZQLgorLlRQCisuQlIgXC1uICwgIiBcLVwtbm9oZWFkaW5ncyIKK0Rvbid0IHByaW50IGhlYWRpbmdzIGZvciBcZkJcLVwtbGlzdFxmUCBvdXRwdXQgZm9ybWF0LgorLlRQCisuQlIgXC1vICwgIiBcLVwtb2Zmc2V0ICIgXGZJb2Zmc2V0CitUaGUgZGF0YSBzdGFydCBpcyBtb3ZlZCBcZklvZmZzZXRcZlAgYnl0ZXMgaW50byB0aGUgc3BlY2lmaWVkIGZpbGUgb3IgZGV2aWNlLgorLlRQCisuQlIgXC1PICwgIiBcLVwtb3V0cHV0ICIgXGZJY29sdW1ucworU3BlY2lmeSB0aGUgY29sdW1ucyB0aGF0IGFyZSB0byBiZSBwcmludGVkIGZvciB0aGUgXGZCXC1cLWxpc3RcZlAgb3V0cHV0LgorLlRQCisuQlIgXC1QICwgIiBcLVwtcGFydHNjYW4iCitGb3JjZSB0aGUga2VybmVsIHRvIHNjYW4gdGhlIHBhcnRpdGlvbiB0YWJsZSBvbiBhIG5ld2x5IGNyZWF0ZWQgbG9vcCBkZXZpY2UuCisuSVAgIlxmQlwtXC1yYXdcZlAiCitVc2UgdGhlIHJhdyBcZkJcLVwtbGlzdFxmUCBvdXRwdXQgZm9ybWF0LgorLlRQCisuQlIgXC1yICwgIiBcLVwtcmVhZFwtb25seSIKK1NldCB1cCBhIHJlYWQtb25seSBsb29wIGRldmljZS4KKy5JUCAiXGZCXC1cLXNpemVsaW1pdCBcZklzaXplXGZQIgorVGhlIGRhdGEgZW5kIGlzIHNldCB0byBubyBtb3JlIHRoYW4gXGZJc2l6ZVxmUCBieXRlcyBhZnRlciB0aGUgZGF0YSBzdGFydC4KKy5JUCAiXGZCXC1cLXNob3dcZlAiCitEaXNwbGF5IHRoZSBuYW1lIG9mIHRoZSBhc3NpZ25lZCBsb29wIGRldmljZSBpZiB0aGUKKy5CIFwtZgorb3B0aW9uIGFuZCBhCisuSSBmaWxlCithcmd1bWVudCBhcmUgcHJlc2VudC4KKy5UUAorLkJSIFwtdiAsICIgXC1cLXZlcmJvc2UiCitWZXJib3NlIG1vZGUuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorCisuU0ggRU5DUllQVElPTgorLkIgQ3J5cHRvbG9vcCBpcyBubyBsb25nZXIgc3VwcG9ydGVkIGluIGZhdm9yIG9mIGRtLWNyeXB0LgorLkIgRm9yIG1vcmUgZGV0YWlscyBzZWUgY3J5cHRzZXR1cCg4KS4KKworLlNIIFJFVFVSTiBWQUxVRQorLkIgbG9zZXR1cAorcmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG5vbnplcm8gb24gZmFpbHVyZS4gIFdoZW4KKy5CIGxvc2V0dXAKK2Rpc3BsYXlzIHRoZSBzdGF0dXMgb2YgYSBsb29wIGRldmljZSwgaXQgcmV0dXJucyAxIGlmIHRoZSBkZXZpY2UKK2lzIG5vdCBjb25maWd1cmVkIGFuZCAyIGlmIGFuIGVycm9yIG9jY3VycmVkIHdoaWNoIHByZXZlbnRlZAorZGV0ZXJtaW5pbmcgdGhlIHN0YXR1cyBvZiB0aGUgZGV2aWNlLgorCisuU0ggRklMRVMKKy5UUAorLkkgL2Rldi9sb29wWzAuLk5dCitsb29wIGJsb2NrIGRldmljZXMKKy5UUAorLkkgL2Rldi9sb29wLWNvbnRyb2wKK2xvb3AgY29udHJvbCBkZXZpY2UKKworLlNIIEVYQU1QTEUKK1RoZSBmb2xsb3dpbmcgY29tbWFuZHMgY2FuIGJlIHVzZWQgYXMgYW4gZXhhbXBsZSBvZiB1c2luZyB0aGUgbG9vcCBkZXZpY2UuCisubmYKKy5JUAorIyBkZCBpZj0vZGV2L3plcm8gb2Y9fi9maWxlLmltZyBicz0xTWlCIGNvdW50PTEwCisjIGxvc2V0dXAgLS1maW5kIC0tc2hvdyB+L2ZpbGUuaW1nCisvZGV2L2xvb3AwCisjIG1rZnMgLXQgZXh0MiAvZGV2L2xvb3AwCisjIG1vdW50IC9kZXYvbG9vcDAgL21udAorIC4uLgorIyB1bW91bnQgL2Rldi9sb29wMAorIyBsb3NldHVwIC0tZGV0YWNoIC9kZXYvbG9vcDAKKy5maQorLlNIIEVOVklST05NRU5UCisuSVAgTE9PUERFVl9ERUJVRz1hbGwKK2VuYWJsZXMgZGVidWcgb3V0cHV0LgorLlNIIEFVVEhPUlMKK0thcmVsIFphayA8a3pha0ByZWRoYXQuY29tPiwgYmFzZWQgb24gdGhlIG9yaWdpbmFsIHZlcnNpb24gZnJvbQorVGhlb2RvcmUgVHMnbyA8dHl0c29AYXRoZW5hLm1pdC5lZHU+CisuU0ggQVZBSUxBQklMSVRZCitUaGUgbG9zZXR1cCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2Z0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9sb3NldHVwLmMgYi9zeXMtdXRpbHMvbG9zZXR1cC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxNWFiOWMKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvbG9zZXR1cC5jCkBAIC0wLDAgKzEsODY1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICogT3JpZ2luYWxseSBmcm9tIFRlZCdzIGxvc2V0dXAuYworICoKKyAqIGxvc2V0dXAuYyAtIHNldHVwIGFuZCBjb250cm9sIGxvb3AgZGV2aWNlcworICovCisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKworI2luY2x1ZGUgPGxpYnNtYXJ0Y29scy5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAibG9vcGRldi5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAib3B0dXRpbHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJjYW5vbmljYWxpemUuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKworZW51bSB7CisJQV9DUkVBVEUgPSAxLAkJLyogc2V0dXAgYSBuZXcgZGV2aWNlICovCisJQV9ERUxFVEUsCQkvKiBkZWxldGUgZ2l2ZW4gZGV2aWNlKHMpICovCisJQV9ERUxFVEVfQUxMLAkJLyogZGVsZXRlIGFsbCBkZXZpY2VzICovCisJQV9TSE9XLAkJCS8qIGxpc3QgZGV2aWNlcyAqLworCUFfU0hPV19PTkUsCQkvKiBwcmludCBpbmZvIGFib3V0IG9uZSBkZXZpY2UgKi8KKwlBX0ZJTkRfRlJFRSwJCS8qIGZpbmQgZmlyc3QgdW51c2VkICovCisJQV9TRVRfQ0FQQUNJVFksCQkvKiBzZXQgZGV2aWNlIGNhcGFjaXR5ICovCisJQV9TRVRfRElSRUNUX0lPLAkvKiBzZXQgYWNjZXNzaW5nIGJhY2tpbmcgZmlsZSBieSBkaXJlY3QgaW8gKi8KK307CisKK2VudW0geworCUNPTF9OQU1FID0gMCwKKwlDT0xfQVVUT0NMUiwKKwlDT0xfQkFDS19GSUxFLAorCUNPTF9CQUNLX0lOTywKKwlDT0xfQkFDS19NQUpNSU4sCisJQ09MX01BSk1JTiwKKwlDT0xfT0ZGU0VULAorCUNPTF9QQVJUU0NBTiwKKwlDT0xfUk8sCisJQ09MX1NJWkVMSU1JVCwKKwlDT0xfRElPLAorfTsKKworLyogYmFzaWMgb3V0cHV0IGZsYWdzICovCitzdGF0aWMgaW50IG5vX2hlYWRpbmdzOworc3RhdGljIGludCByYXc7CitzdGF0aWMgaW50IGpzb247CisKK3N0cnVjdCBjb2xpbmZvIHsKKwljb25zdCBjaGFyICpuYW1lOworCWRvdWJsZSB3aGludDsKKwlpbnQgZmxhZ3M7CisJY29uc3QgY2hhciAqaGVscDsKK307CisKK3N0YXRpYyBzdHJ1Y3QgY29saW5mbyBpbmZvc1tdID0geworCVtDT0xfQVVUT0NMUl0gICAgID0geyAiQVVUT0NMRUFSIiwgICAgMSwgU0NPTFNfRkxfUklHSFQsIE5fKCJhdXRvY2xlYXIgZmxhZyBzZXQiKX0sCisJW0NPTF9CQUNLX0ZJTEVdICAgPSB7ICJCQUNLLUZJTEUiLCAgMC4zLCAwLCBOXygiZGV2aWNlIGJhY2tpbmcgZmlsZSIpfSwKKwlbQ09MX0JBQ0tfSU5PXSAgICA9IHsgIkJBQ0stSU5PIiwgICAgIDQsIFNDT0xTX0ZMX1JJR0hULCBOXygiYmFja2luZyBmaWxlIGlub2RlIG51bWJlciIpfSwKKwlbQ09MX0JBQ0tfTUFKTUlOXSA9IHsgIkJBQ0stTUFKOk1JTiIsIDYsIDAsIE5fKCJiYWNraW5nIGZpbGUgbWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIpfSwKKwlbQ09MX05BTUVdICAgICAgICA9IHsgIk5BTUUiLCAgICAgIDAuMjUsIDAsIE5fKCJsb29wIGRldmljZSBuYW1lIil9LAorCVtDT0xfT0ZGU0VUXSAgICAgID0geyAiT0ZGU0VUIiwgICAgICAgNSwgU0NPTFNfRkxfUklHSFQsIE5fKCJvZmZzZXQgZnJvbSB0aGUgYmVnaW5uaW5nIil9LAorCVtDT0xfUEFSVFNDQU5dICAgID0geyAiUEFSVFNDQU4iLCAgICAgMSwgU0NPTFNfRkxfUklHSFQsIE5fKCJwYXJ0c2NhbiBmbGFnIHNldCIpfSwKKwlbQ09MX1JPXSAgICAgICAgICA9IHsgIlJPIiwgICAgICAgICAgIDEsIFNDT0xTX0ZMX1JJR0hULCBOXygicmVhZC1vbmx5IGRldmljZSIpfSwKKwlbQ09MX1NJWkVMSU1JVF0gICA9IHsgIlNJWkVMSU1JVCIsICAgIDUsIFNDT0xTX0ZMX1JJR0hULCBOXygic2l6ZSBsaW1pdCBvZiB0aGUgZmlsZSBpbiBieXRlcyIpfSwKKwlbQ09MX01BSk1JTl0gICAgICA9IHsgIk1BSjpNSU4iLCAgICAgIDMsIDAsIE5fKCJsb29wIGRldmljZSBtYWpvcjptaW5vciBudW1iZXIiKX0sCisJW0NPTF9ESU9dICAgICAgICAgPSB7ICJESU8iLCAgICAgICAgICAxLCBTQ09MU19GTF9SSUdIVCwgTl8oImFjY2VzcyBiYWNraW5nIGZpbGUgd2l0aCBkaXJlY3QtaW8iKX0sCit9OworCitzdGF0aWMgaW50IGNvbHVtbnNbQVJSQVlfU0laRShpbmZvcykgKiAyXSA9IHstMX07CitzdGF0aWMgc2l6ZV90IG5jb2x1bW5zOworCitzdGF0aWMgaW50IGdldF9jb2x1bW5faWQoaW50IG51bSkKK3sKKwlhc3NlcnQobnVtID49IDApOworCWFzc2VydCgoc2l6ZV90KSBudW0gPCBuY29sdW1ucyk7CisJYXNzZXJ0KGNvbHVtbnNbbnVtXSA8IChpbnQpIEFSUkFZX1NJWkUoaW5mb3MpKTsKKwlyZXR1cm4gY29sdW1uc1tudW1dOworfQorCitzdGF0aWMgc3RydWN0IGNvbGluZm8gKmdldF9jb2x1bW5faW5mbyhpbnQgbnVtKQoreworCXJldHVybiAmaW5mb3NbIGdldF9jb2x1bW5faWQobnVtKSBdOworfQorCitzdGF0aWMgaW50IGNvbHVtbl9uYW1lX3RvX2lkKGNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBuYW1lc3opCit7CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShpbmZvcyk7IGkrKykgeworCQljb25zdCBjaGFyICpjbiA9IGluZm9zW2ldLm5hbWU7CisKKwkJaWYgKCFzdHJuY2FzZWNtcChuYW1lLCBjbiwgbmFtZXN6KSAmJiAhKihjbiArIG5hbWVzeikpCisJCQlyZXR1cm4gaTsKKwl9CisJd2FybngoXygidW5rbm93biBjb2x1bW46ICVzIiksIG5hbWUpOworCXJldHVybiAtMTsKK30KKworc3RhdGljIGludCBwcmludGZfbG9vcGRldihzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKQoreworCXVpbnQ2NF90IHg7CisJZGV2X3QgZGV2ID0gMDsKKwlpbm9fdCBpbm8gPSAwOworCWNoYXIgKmZuYW1lID0gTlVMTDsKKwl1aW50MzJfdCB0eXBlOworCisJZm5hbWUgPSBsb29wY3h0X2dldF9iYWNraW5nX2ZpbGUobGMpOworCWlmICghZm5hbWUpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKGxvb3BjeHRfZ2V0X2JhY2tpbmdfZGV2bm8obGMsICZkZXYpID09IDApCisJCWxvb3BjeHRfZ2V0X2JhY2tpbmdfaW5vZGUobGMsICZpbm8pOworCisJaWYgKCFkZXYgJiYgIWlubykgeworCQkvKgorCQkgKiBQcm9iYWJseSBub24tcm9vdCB1c2VyIChubyBwZXJtaXNzaW9ucyB0bworCQkgKiBjYWxsIExPT1BfR0VUX1NUQVRVUyBpb2N0bHMpLgorCQkgKi8KKwkJcHJpbnRmKCIlczogW106ICglcykiLAorCQkJbG9vcGN4dF9nZXRfZGV2aWNlKGxjKSwgZm5hbWUpOworCisJCWlmIChsb29wY3h0X2dldF9vZmZzZXQobGMsICZ4KSA9PSAwICYmIHgpCisJCQkJcHJpbnRmKF8oIiwgb2Zmc2V0ICVqdSIpLCB4KTsKKworCQlpZiAobG9vcGN4dF9nZXRfc2l6ZWxpbWl0KGxjLCAmeCkgPT0gMCAmJiB4KQorCQkJCXByaW50ZihfKCIsIHNpemVsaW1pdCAlanUiKSwgeCk7CisJCXByaW50ZigiXG4iKTsKKwkJcmV0dXJuIDA7CisJfQorCisJcHJpbnRmKCIlczogWyUwNGRdOiUiIFBSSXU2NCAiICglcykiLAorCQlsb29wY3h0X2dldF9kZXZpY2UobGMpLCAoaW50KSBkZXYsIGlubywgZm5hbWUpOworCisJaWYgKGxvb3BjeHRfZ2V0X29mZnNldChsYywgJngpID09IDAgJiYgeCkKKwkJCXByaW50ZihfKCIsIG9mZnNldCAlanUiKSwgeCk7CisKKwlpZiAobG9vcGN4dF9nZXRfc2l6ZWxpbWl0KGxjLCAmeCkgPT0gMCAmJiB4KQorCQkJcHJpbnRmKF8oIiwgc2l6ZWxpbWl0ICVqdSIpLCB4KTsKKworCWlmIChsb29wY3h0X2dldF9lbmNyeXB0X3R5cGUobGMsICZ0eXBlKSA9PSAwKSB7CisJCWNvbnN0IGNoYXIgKmUgPSBsb29wY3h0X2dldF9jcnlwdF9uYW1lKGxjKTsKKworCQlpZiAoKCFlIHx8ICEqZSkgJiYgdHlwZSA9PSAxKQorCQkJZSA9ICJYT1IiOworCQlpZiAoZSAmJiAqZSkKKwkJCXByaW50ZihfKCIsIGVuY3J5cHRpb24gJXMgKHR5cGUgJXUpIiksIGUsIHR5cGUpOworCX0KKwlwcmludGYoIlxuIik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc2hvd19hbGxfbG9vcHMoc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgY29uc3QgY2hhciAqZmlsZSwKKwkJCSAgdWludDY0X3Qgb2Zmc2V0LCBpbnQgZmxhZ3MpCit7CisJc3RydWN0IHN0YXQgc2J1ZiwgKnN0ID0gJnNidWY7CisJY2hhciAqY25fZmlsZSA9IE5VTEw7CisKKwlpZiAobG9vcGN4dF9pbml0X2l0ZXJhdG9yKGxjLCBMT09QSVRFUl9GTF9VU0VEKSkKKwkJcmV0dXJuIC0xOworCisJaWYgKCFmaWxlIHx8IHN0YXQoZmlsZSwgc3QpKQorCQlzdCA9IE5VTEw7CisKKwl3aGlsZSAobG9vcGN4dF9uZXh0KGxjKSA9PSAwKSB7CisJCWlmIChmaWxlKSB7CisJCQlpbnQgdXNlZDsKKwkJCWNvbnN0IGNoYXIgKmJmID0gY25fZmlsZSA/IGNuX2ZpbGUgOiBmaWxlOworCisJCQl1c2VkID0gbG9vcGN4dF9pc191c2VkKGxjLCBzdCwgYmYsIG9mZnNldCwgMCwgZmxhZ3MpOworCQkJaWYgKCF1c2VkICYmICFjbl9maWxlKSB7CisJCQkJYmYgPSBjbl9maWxlID0gY2Fub25pY2FsaXplX3BhdGgoZmlsZSk7CisJCQkJdXNlZCA9IGxvb3BjeHRfaXNfdXNlZChsYywgc3QsIGJmLCBvZmZzZXQsIDAsIGZsYWdzKTsKKwkJCX0KKwkJCWlmICghdXNlZCkKKwkJCQljb250aW51ZTsKKwkJfQorCQlwcmludGZfbG9vcGRldihsYyk7CisJfQorCWxvb3BjeHRfZGVpbml0X2l0ZXJhdG9yKGxjKTsKKwlmcmVlKGNuX2ZpbGUpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGRlbGV0ZV9sb29wKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpCit7CisJaWYgKGxvb3BjeHRfZGVsZXRlX2RldmljZShsYykpCisJCXdhcm4oXygiJXM6IGRldGFjaCBmYWlsZWQiKSwgbG9vcGN4dF9nZXRfZGV2aWNlKGxjKSk7CisJZWxzZQorCQlyZXR1cm4gMDsKKworCXJldHVybiAtMTsKK30KKworc3RhdGljIGludCBkZWxldGVfYWxsX2xvb3BzKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpCit7CisJaW50IHJlcyA9IDA7CisKKwlpZiAobG9vcGN4dF9pbml0X2l0ZXJhdG9yKGxjLCBMT09QSVRFUl9GTF9VU0VEKSkKKwkJcmV0dXJuIC0xOworCisJd2hpbGUgKGxvb3BjeHRfbmV4dChsYykgPT0gMCkKKwkJcmVzICs9IGRlbGV0ZV9sb29wKGxjKTsKKworCWxvb3BjeHRfZGVpbml0X2l0ZXJhdG9yKGxjKTsKKwlyZXR1cm4gcmVzOworfQorCitzdGF0aWMgaW50IHNldF9zY29sc19kYXRhKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsIHN0cnVjdCBsaWJzY29sc19saW5lICpsbikKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBuY29sdW1uczsgaSsrKSB7CisJCWNvbnN0IGNoYXIgKnAgPSBOVUxMOwkJCS8qIGV4dGVybmFsIGRhdGEgKi8KKwkJY2hhciAqbnAgPSBOVUxMOwkJCS8qIGFsbG9jYXRlZCBoZXJlICovCisJCXVpbnQ2NF90IHggPSAwOworCisJCXN3aXRjaChnZXRfY29sdW1uX2lkKGkpKSB7CisJCWNhc2UgQ09MX05BTUU6CisJCQlwID0gbG9vcGN4dF9nZXRfZGV2aWNlKGxjKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9CQUNLX0ZJTEU6CisJCQlwID0gbG9vcGN4dF9nZXRfYmFja2luZ19maWxlKGxjKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9PRkZTRVQ6CisJCQlpZiAobG9vcGN4dF9nZXRfb2Zmc2V0KGxjLCAmeCkgPT0gMCkKKwkJCQl4YXNwcmludGYoJm5wLCAiJWpkIiwgeCk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfU0laRUxJTUlUOgorCQkJaWYgKGxvb3BjeHRfZ2V0X3NpemVsaW1pdChsYywgJngpID09IDApCisJCQkJeGFzcHJpbnRmKCZucCwgIiVqZCIsIHgpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX0JBQ0tfTUFKTUlOOgorCQl7CisJCQlkZXZfdCBkZXYgPSAwOworCQkJaWYgKGxvb3BjeHRfZ2V0X2JhY2tpbmdfZGV2bm8obGMsICZkZXYpID09IDAgJiYgZGV2KQorCQkJCXhhc3ByaW50ZigmbnAsICIlOHU6JS0zdSIsIG1ham9yKGRldiksIG1pbm9yKGRldikpOworCQkJYnJlYWs7CisJCX0KKwkJY2FzZSBDT0xfTUFKTUlOOgorCQl7CisJCQlzdHJ1Y3Qgc3RhdCBzdDsKKworCQkJaWYgKGxvb3BjeHRfZ2V0X2RldmljZShsYykKKwkJCSAgICAmJiBzdGF0KGxvb3BjeHRfZ2V0X2RldmljZShsYyksICZzdCkgPT0gMAorCQkJICAgICYmIFNfSVNCTEsoc3Quc3RfbW9kZSkKKwkJCSAgICAmJiBtYWpvcihzdC5zdF9yZGV2KSA9PSBMT09QREVWX01BSk9SKQorCQkJCXhhc3ByaW50ZigmbnAsICIlM3U6JS0zdSIsIG1ham9yKHN0LnN0X3JkZXYpLAorCQkJCQkJICAgICAgICAgICBtaW5vcihzdC5zdF9yZGV2KSk7CisJCQlicmVhazsKKwkJfQorCQljYXNlIENPTF9CQUNLX0lOTzoKKwkJeworCQkJaW5vX3QgaW5vID0gMDsKKwkJCWlmIChsb29wY3h0X2dldF9iYWNraW5nX2lub2RlKGxjLCAmaW5vKSA9PSAwICYmIGlubykKKwkJCQl4YXNwcmludGYoJm5wLCAiJWp1IiwgaW5vKTsKKwkJCWJyZWFrOworCQl9CisJCWNhc2UgQ09MX0FVVE9DTFI6CisJCQlwID0gbG9vcGN4dF9pc19hdXRvY2xlYXIobGMpID8gIjEiIDogIjAiOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1JPOgorCQkJcCA9IGxvb3BjeHRfaXNfcmVhZG9ubHkobGMpID8gIjEiIDogIjAiOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX0RJTzoKKwkJCXAgPSBsb29wY3h0X2lzX2RpbyhsYykgPyAiMSIgOiAiMCI7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfUEFSVFNDQU46CisJCQlwID0gbG9vcGN4dF9pc19wYXJ0c2NhbihsYykgPyAiMSIgOiAiMCI7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXJldHVybiAtRUlOVkFMOworCQl9CisKKworCQlpZiAocCkKKwkJCXNjb2xzX2xpbmVfc2V0X2RhdGEobG4sIGksIHApOwkJLyogY2FsbHMgc3RyZHVwKCkgKi8KKwkJZWxzZSBpZiAobnApCisJCQlzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIGksIG5wKTsJLyogb25seSByZWZlcnMgKi8KKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzaG93X3RhYmxlKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsCisJCSAgICAgIGNvbnN0IGNoYXIgKmZpbGUsCisJCSAgICAgIHVpbnQ2NF90IG9mZnNldCwKKwkJICAgICAgaW50IGZsYWdzKQoreworCXN0cnVjdCBzdGF0IHNidWYsICpzdCA9ICZzYnVmOworCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGI7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuOworCWludCByYyA9IDA7CisJc2l6ZV90IGk7CisKKwlzY29sc19pbml0X2RlYnVnKDApOworCisJaWYgKCEodGIgPSBzY29sc19uZXdfdGFibGUoKSkpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCB0YWJsZSIpKTsKKwlzY29sc190YWJsZV9lbmFibGVfcmF3KHRiLCByYXcpOworCXNjb2xzX3RhYmxlX2VuYWJsZV9qc29uKHRiLCBqc29uKTsKKwlzY29sc190YWJsZV9lbmFibGVfbm9oZWFkaW5ncyh0Yiwgbm9faGVhZGluZ3MpOworCisJaWYgKGpzb24pCisJCXNjb2xzX3RhYmxlX3NldF9uYW1lKHRiLCAibG9vcGRldmljZXMiKTsKKworCWZvciAoaSA9IDA7IGkgPCBuY29sdW1uczsgaSsrKSB7CisJCXN0cnVjdCBjb2xpbmZvICpjaSA9IGdldF9jb2x1bW5faW5mbyhpKTsKKworCQlpZiAoIXNjb2xzX3RhYmxlX25ld19jb2x1bW4odGIsIGNpLT5uYW1lLCBjaS0+d2hpbnQsIGNpLT5mbGFncykpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIikpOworCX0KKworCS8qIG9ubHkgb25lIGxvb3BkZXYgcmVxdWVzdGVkIChhbHJlYWR5IGFzc2lnbmVkIHRvIGxvb3BkZXZfY3h0KSAqLworCWlmIChsb29wY3h0X2dldF9kZXZpY2UobGMpKSB7CisJCWxuID0gc2NvbHNfdGFibGVfbmV3X2xpbmUodGIsIE5VTEwpOworCQlpZiAoIWxuKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGxpbmUiKSk7CisJCXJjID0gc2V0X3Njb2xzX2RhdGEobGMsIGxuKTsKKworCS8qIGxpc3QgYWxsIGxvb3BkZXZzICovCisJfSBlbHNlIHsKKwkJY2hhciAqY25fZmlsZSA9IE5VTEw7CisKKwkJcmMgPSBsb29wY3h0X2luaXRfaXRlcmF0b3IobGMsIExPT1BJVEVSX0ZMX1VTRUQpOworCQlpZiAocmMpCisJCQlnb3RvIGRvbmU7CisJCWlmICghZmlsZSB8fCBzdGF0KGZpbGUsIHN0KSkKKwkJCXN0ID0gTlVMTDsKKworCQl3aGlsZSAobG9vcGN4dF9uZXh0KGxjKSA9PSAwKSB7CisJCQlpZiAoZmlsZSkgeworCQkJCWludCB1c2VkOworCQkJCWNvbnN0IGNoYXIgKmJmID0gY25fZmlsZSA/IGNuX2ZpbGUgOiBmaWxlOworCisJCQkJdXNlZCA9IGxvb3BjeHRfaXNfdXNlZChsYywgc3QsIGJmLCBvZmZzZXQsIDAsIGZsYWdzKTsKKwkJCQlpZiAoIXVzZWQgJiYgIWNuX2ZpbGUpIHsKKwkJCQkJYmYgPSBjbl9maWxlID0gY2Fub25pY2FsaXplX3BhdGgoZmlsZSk7CisJCQkJCXVzZWQgPSBsb29wY3h0X2lzX3VzZWQobGMsIHN0LCBiZiwgb2Zmc2V0LCAwLCBmbGFncyk7CisJCQkJfQorCQkJCWlmICghdXNlZCkKKwkJCQkJY29udGludWU7CisJCQl9CisKKwkJCWxuID0gc2NvbHNfdGFibGVfbmV3X2xpbmUodGIsIE5VTEwpOworCQkJaWYgKCFsbikKKwkJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIikpOworCQkJcmMgPSBzZXRfc2NvbHNfZGF0YShsYywgbG4pOworCQkJaWYgKHJjKQorCQkJCWJyZWFrOworCQl9CisKKwkJbG9vcGN4dF9kZWluaXRfaXRlcmF0b3IobGMpOworCQlmcmVlKGNuX2ZpbGUpOworCX0KK2RvbmU6CisJaWYgKHJjID09IDApCisJCXJjID0gc2NvbHNfcHJpbnRfdGFibGUodGIpOworCXNjb2xzX3VucmVmX3RhYmxlKHRiKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyB2b2lkIHVzYWdlKEZJTEUgKm91dCkKK3sKKwlzaXplX3QgaTsKKworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKworCWZwcmludGYob3V0LAorCSAgICAgIF8oIiAlMSRzIFtvcHRpb25zXSBbPGxvb3BkZXY+XVxuIgorCQkiICUxJHMgW29wdGlvbnNdIC1mIHwgPGxvb3BkZXY+IDxmaWxlPlxuIiksCisJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJTZXQgdXAgYW5kIGNvbnRyb2wgbG9vcCBkZXZpY2VzLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkIGRldmljZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZCwgLS1kZXRhY2ggPGxvb3BkZXY+Li4uICAgICBkZXRhY2ggb25lIG9yIG1vcmUgZGV2aWNlc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIGRldGFjaCBhbGwgdXNlZCBkZXZpY2VzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZmluZCBmaXJzdCB1bnVzZWQgZGV2aWNlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIHRoZSBkZXZpY2VcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtTCwgLS1ub292ZXJsYXAgICAgICAgICAgICAgICBhdm9pZCBwb3NzaWJsZSBjb25mbGljdCBiZXR3ZWVuIGRldmljZXNcbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCisJZnB1dHMoXygiIC1vLCAtLW9mZnNldCA8bnVtPiAgICAgICAgICAgIHN0YXJ0IGF0IG9mZnNldCA8bnVtPiBpbnRvIGZpbGVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1zaXplbGltaXQgPG51bT4gICAgICAgICBkZXZpY2UgaXMgbGltaXRlZCB0byA8bnVtPiBieXRlcyBvZiB0aGUgZmlsZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0IHVwIGEgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAgb3BlbiBiYWNraW5nIGZpbGUgd2l0aCBPX0RJUkVDVFxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHByaW50IGRldmljZSBuYW1lIGFmdGVyIHNldHVwICh3aXRoIC1mKVxuIiksIG91dCk7CisJZnB1dHMoXygiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisKKwlmcHV0cyhfKCIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgbGlzdCBpbmZvIGFib3V0IGFsbCBvciBzcGVjaWZpZWQgKGRlZmF1bHQpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLU8sIC0tb3V0cHV0IDxjb2xzPiAgICAgICAgICAgc3BlY2lmeSBjb2x1bW5zIHRvIG91dHB1dCBmb3IgLS1saXN0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tbGlzdCBvdXRwdXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1c2UgcmF3IC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gLS1saXN0IG91dHB1dCBmb3JtYXRcbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKFVTQUdFX0hFTFAsIG91dCk7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgb3V0KTsKKworCWZwdXRzKF8oIlxuQXZhaWxhYmxlIC0tbGlzdCBjb2x1bW5zOlxuIiksIG91dCk7CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoaW5mb3MpOyBpKyspCisJCWZwcmludGYob3V0LCAiICUxMnMgICVzXG4iLCBpbmZvc1tpXS5uYW1lLCBfKGluZm9zW2ldLmhlbHApKTsKKworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgibG9zZXR1cCg4KSIpKTsKKworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyB2b2lkIHdhcm5fc2l6ZShjb25zdCBjaGFyICpmaWxlbmFtZSwgdWludDY0X3Qgc2l6ZSkKK3sKKwlzdHJ1Y3Qgc3RhdCBzdDsKKworCWlmICghc2l6ZSkgeworCQlpZiAoc3RhdChmaWxlbmFtZSwgJnN0KSB8fCBTX0lTQkxLKHN0LnN0X21vZGUpKQorCQkJcmV0dXJuOworCQlzaXplID0gc3Quc3Rfc2l6ZTsKKwl9CisKKwlpZiAoc2l6ZSA8IDUxMikKKwkJd2FybngoXygiJXM6IFdhcm5pbmc6IGZpbGUgaXMgc21hbGxlciB0aGFuIDUxMiBieXRlczsgdGhlIGxvb3AgZGV2aWNlICIKKwkJCSJtYXkgYmUgdXNlbGVzcyBvciBpbnZpc2libGUgZm9yIHN5c3RlbSB0b29scy4iKSwKKwkJCWZpbGVuYW1lKTsKKwllbHNlIGlmIChzaXplICUgNTEyKQorCQl3YXJueChfKCIlczogV2FybmluZzogZmlsZSBkb2VzIG5vdCBmaXQgaW50byBhIDUxMi1ieXRlIHNlY3RvcjsgIgorCQkgICAgICAgICJ0aGUgZW5kIG9mIHRoZSBmaWxlIHdpbGwgYmUgaWdub3JlZC4iKSwKKwkJCWZpbGVuYW1lKTsKK30KKworc3RhdGljIGludCBjcmVhdGVfbG9vcChzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjLAorCQkgICAgICAgaW50IG5vb3ZlcmxhcCwgaW50IGxvX2ZsYWdzLCBpbnQgZmxhZ3MsCisJCSAgICAgICBjb25zdCBjaGFyICpmaWxlLCB1aW50NjRfdCBvZmZzZXQsIHVpbnQ2NF90IHNpemVsaW1pdCkKK3sKKwlpbnQgaGFzZGV2ID0gbG9vcGN4dF9oYXNfZGV2aWNlKGxjKTsKKwlpbnQgcmMgPSAwOworCisJLyogbG9zZXR1cCAtLWZpbmQgLS1ub3ZlcmxhcCBmaWxlLmltZyAqLworCWlmICghaGFzZGV2ICYmIG5vb3ZlcmxhcCkgeworCQlyYyA9IGxvb3BjeHRfZmluZF9vdmVybGFwKGxjLCBmaWxlLCBvZmZzZXQsIHNpemVsaW1pdCk7CisJCXN3aXRjaCAocmMpIHsKKwkJY2FzZSAwOiAvKiBub3QgZm91bmQgKi8KKwkJCWJyZWFrOworCisJCWNhc2UgMToJLyogb3ZlcmxhcCAqLworCQkJbG9vcGN4dF9kZWluaXQobGMpOworCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzOiBvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMiKSwgZmlsZSk7CisKKwkJY2FzZSAyOiAvKiBvdmVybGFwIC0tIGZ1bGwgc2l6ZSBhbmQgb2Zmc2V0IG1hdGNoIChyZXVzZSkgKi8KKwkJeworCQkJdWludDMyX3QgbGNfZW5jcnlwdF90eXBlOworCisJCQkvKiBPbmNlIGEgbG9vcCBpcyBpbml0aWFsaXplZCBSTywgdGhlcmUgaXMgbm8KKwkJCSAqIHdheSB0byBjaGFuZ2UgaXRzIHBhcmFtZXRlcnMuICovCisJCQlpZiAobG9vcGN4dF9pc19yZWFkb25seShsYykKKwkJCSAgICAmJiAhKGxvX2ZsYWdzICYgTE9fRkxBR1NfUkVBRF9PTkxZKSkgeworCQkJCWxvb3BjeHRfZGVpbml0KGxjKTsKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXM6IG92ZXJsYXBwaW5nIHJlYWQtb25seSBsb29wIGRldmljZSBleGlzdHMiKSwgZmlsZSk7CisJCQl9CisKKwkJCS8qIFRoaXMgaXMgbm8gbW9yZSBzdXBwb3J0ZWQsIGJ1dCBjaGVjayB0byBiZSBzYWZlLiAqLworCQkJaWYgKGxvb3BjeHRfZ2V0X2VuY3J5cHRfdHlwZShsYywgJmxjX2VuY3J5cHRfdHlwZSkgPT0gMAorCQkJICAgICYmIGxjX2VuY3J5cHRfdHlwZSAhPSBMT19DUllQVF9OT05FKSB7CisJCQkJbG9vcGN4dF9kZWluaXQobGMpOworCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogb3ZlcmxhcHBpbmcgZW5jcnlwdGVkIGxvb3AgZGV2aWNlIGV4aXN0cyIpLCBmaWxlKTsKKwkJCX0KKworCQkJbGMtPmluZm8ubG9fZmxhZ3MgJj0gIUxPX0ZMQUdTX0FVVE9DTEVBUjsKKwkJCWlmIChsb29wY3h0X3NldF9zdGF0dXMobGMpKSB7CisJCQkJbG9vcGN4dF9kZWluaXQobGMpOworCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogZmFpbGVkIHRvIHJlLXVzZSBsb29wIGRldmljZSIpLCBmaWxlKTsKKwkJCX0KKwkJCXJldHVybiAwOwkvKiBzdWNjZXNzLCByZS11c2UgKi8KKwkJfQorCQlkZWZhdWx0OiAvKiBlcnJvciAqLworCQkJbG9vcGN4dF9kZWluaXQobGMpOworCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBpbnNwZWN0IGxvb3AgZGV2aWNlcyIpKTsKKwkJCXJldHVybiAtZXJybm87CisJCX0KKwl9CisKKwlpZiAoaGFzZGV2ICYmICFpc19sb29wZGV2KGxvb3BjeHRfZ2V0X2RldmljZShsYykpKQorCQlsb29wY3h0X2FkZF9kZXZpY2UobGMpOworCisJLyogbG9zZXR1cCAtLW5vdmVybGFwIC9kZXYvbG9vcE4gZmlsZS5pbWcgKi8KKwlpZiAoaGFzZGV2ICYmIG5vb3ZlcmxhcCkgeworCQlzdHJ1Y3QgbG9vcGRldl9jeHQgbGMyOworCisJCWlmIChsb29wY3h0X2luaXQoJmxjMiwgMCkpIHsKKwkJCWxvb3BjeHRfZGVpbml0KGxjKTsKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BjeHQiKSk7CisJCX0KKwkJcmMgPSBsb29wY3h0X2ZpbmRfb3ZlcmxhcCgmbGMyLCBmaWxlLCBvZmZzZXQsIHNpemVsaW1pdCk7CisJCWxvb3BjeHRfZGVpbml0KCZsYzIpOworCisJCWlmIChyYykgeworCQkJbG9vcGN4dF9kZWluaXQobGMpOworCQkJaWYgKHJjID4gMCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXM6IG92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyIpLCBmaWxlKTsKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oIiVzOiBmYWlsZWQgdG8gY2hlY2sgZm9yIGNvbmZsaWN0aW5nIGxvb3AgZGV2aWNlcyIpLCBmaWxlKTsKKwkJfQorCX0KKworCS8qIENyZWF0ZSBhIG5ldyBkZXZpY2UgKi8KKwlkbyB7CisJCWNvbnN0IGNoYXIgKmVycnByZTsKKworCQkvKiBOb3RlIHRoYXQgbG9vcGN4dF97ZmluZF91bnVzZWQsc2V0X2RldmljZX0oKSByZXNldHMKKwkJICogbG9vcGN4dCBzdHJ1Y3QuCisJCSAqLworCQlpZiAoIWhhc2RldiAmJiAocmMgPSBsb29wY3h0X2ZpbmRfdW51c2VkKGxjKSkpIHsKKwkJCXdhcm54KF8oImNhbm5vdCBmaW5kIGFuIHVudXNlZCBsb29wIGRldmljZSIpKTsKKwkJCWJyZWFrOworCQl9CisJCWlmIChmbGFncyAmIExPT1BERVZfRkxfT0ZGU0VUKQorCQkJbG9vcGN4dF9zZXRfb2Zmc2V0KGxjLCBvZmZzZXQpOworCQlpZiAoZmxhZ3MgJiBMT09QREVWX0ZMX1NJWkVMSU1JVCkKKwkJCWxvb3BjeHRfc2V0X3NpemVsaW1pdChsYywgc2l6ZWxpbWl0KTsKKwkJaWYgKGxvX2ZsYWdzKQorCQkJbG9vcGN4dF9zZXRfZmxhZ3MobGMsIGxvX2ZsYWdzKTsKKwkJaWYgKChyYyA9IGxvb3BjeHRfc2V0X2JhY2tpbmdfZmlsZShsYywgZmlsZSkpKSB7CisJCQl3YXJuKF8oIiVzOiBmYWlsZWQgdG8gdXNlIGJhY2tpbmcgZmlsZSIpLCBmaWxlKTsKKwkJCWJyZWFrOworCQl9CisJCWVycm5vID0gMDsKKwkJcmMgPSBsb29wY3h0X3NldHVwX2RldmljZShsYyk7CisJCWlmIChyYyA9PSAwKQorCQkJYnJlYWs7CQkJLyogc3VjY2VzcyAqLworCQlpZiAoZXJybm8gPT0gRUJVU1kgJiYgIWhhc2RldikKKwkJCWNvbnRpbnVlOworCisJCS8qIGVycm9ycyAqLworCQllcnJwcmUgPSBoYXNkZXYgJiYgbG9vcGN4dF9nZXRfZmQobGMpIDwgMCA/CisJCQkJIGxvb3BjeHRfZ2V0X2RldmljZShsYykgOiBmaWxlOworCQl3YXJuKF8oIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlIiksIGVycnByZSk7CisJCWJyZWFrOworCX0gd2hpbGUgKGhhc2RldiA9PSAwKTsKKworCXJldHVybiByYzsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCXN0cnVjdCBsb29wZGV2X2N4dCBsYzsKKwlpbnQgYWN0ID0gMCwgZmxhZ3MgPSAwLCBub19vdmVybGFwID0gMCwgYzsKKwljaGFyICpmaWxlID0gTlVMTDsKKwl1aW50NjRfdCBvZmZzZXQgPSAwLCBzaXplbGltaXQgPSAwOworCWludCByZXMgPSAwLCBzaG93ZGV2ID0gMCwgbG9fZmxhZ3MgPSAwOworCWNoYXIgKm91dGFyZyA9IE5VTEw7CisJaW50IGxpc3QgPSAwOworCXVuc2lnbmVkIGxvbmcgdXNlX2RpbyA9IDAsIHNldF9kaW8gPSAwOworCisJZW51bSB7CisJCU9QVF9TSVpFTElNSVQgPSBDSEFSX01BWCArIDEsCisJCU9QVF9TSE9XLAorCQlPUFRfUkFXLAorCQlPUFRfRElPCisJfTsKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJhbGwiLCAwLCAwLCAnYScgfSwKKwkJeyAic2V0LWNhcGFjaXR5IiwgMSwgMCwgJ2MnIH0sCisJCXsgImRldGFjaCIsIDEsIDAsICdkJyB9LAorCQl7ICJkZXRhY2gtYWxsIiwgMCwgMCwgJ0QnIH0sCisJCXsgImZpbmQiLCAwLCAwLCAnZicgfSwKKwkJeyAibm9vdmVybGFwIiwgMCwgMCwgJ0wnIH0sCisJCXsgImhlbHAiLCAwLCAwLCAnaCcgfSwKKwkJeyAiYXNzb2NpYXRlZCIsIDEsIDAsICdqJyB9LAorCQl7ICJqc29uIiwgMCwgMCwgJ0onIH0sCisJCXsgImxpc3QiLCAwLCAwLCAnbCcgfSwKKwkJeyAibm9oZWFkaW5ncyIsIDAsIDAsICduJyB9LAorCQl7ICJvZmZzZXQiLCAxLCAwLCAnbycgfSwKKwkJeyAib3V0cHV0IiwgMSwgMCwgJ08nIH0sCisJCXsgInNpemVsaW1pdCIsIDEsIDAsIE9QVF9TSVpFTElNSVQgfSwKKwkJeyAicGFydHNjYW4iLCAwLCAwLCAnUCcgfSwKKwkJeyAicmVhZC1vbmx5IiwgMCwgMCwgJ3InIH0sCisJCXsgImRpcmVjdC1pbyIsIDIsIDAsIE9QVF9ESU8gfSwKKwkJeyAicmF3IiwgMCwgMCwgT1BUX1JBVyB9LAorCQl7ICJzaG93IiwgMCwgMCwgT1BUX1NIT1cgfSwKKwkJeyAidmVyYm9zZSIsIDAsIDAsICd2JyB9LAorCQl7ICJ2ZXJzaW9uIiwgMCwgMCwgJ1YnIH0sCisJCXsgTlVMTCwgMCwgMCwgMCB9CisJfTsKKworCXN0YXRpYyBjb25zdCB1bF9leGNsX3QgZXhjbFtdID0gewkvKiByb3dzIGFuZCBjb2xzIGluIEFTQ0lJIG9yZGVyICovCisJCXsgJ0QnLCdhJywnYycsJ2QnLCdmJywnaicgfSwKKwkJeyAnRCcsJ2MnLCdkJywnZicsJ2wnIH0sCisJCXsgJ0QnLCdjJywnZCcsJ2YnLCdPJyB9LAorCQl7ICdKJyxPUFRfUkFXIH0sCisJCXsgMCB9CisJfTsKKwlpbnQgZXhjbF9zdFtBUlJBWV9TSVpFKGV4Y2wpXSA9IFVMX0VYQ0xfU1RBVFVTX0lOSVQ7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJaWYgKGxvb3BjeHRfaW5pdCgmbGMsIDApKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wY3h0IikpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImFjOmQ6RGZoajpKbExubzpPOlBydlYiLAorCQkJCWxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKworCQllcnJfZXhjbHVzaXZlX29wdGlvbnMoYywgbG9uZ29wdHMsIGV4Y2wsIGV4Y2xfc3QpOworCisJCXN3aXRjaCAoYykgeworCQljYXNlICdhJzoKKwkJCWFjdCA9IEFfU0hPVzsKKwkJCWJyZWFrOworCQljYXNlICdjJzoKKwkJCWFjdCA9IEFfU0VUX0NBUEFDSVRZOworCQkJaWYgKCFpc19sb29wZGV2KG9wdGFyZykgfHwKKwkJCSAgICBsb29wY3h0X3NldF9kZXZpY2UoJmxjLCBvcHRhcmcpKQorCQkJCWVycihFWElUX0ZBSUxVUkUsIF8oIiVzOiBmYWlsZWQgdG8gdXNlIGRldmljZSIpLAorCQkJCQkJb3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICdyJzoKKwkJCWxvX2ZsYWdzIHw9IExPX0ZMQUdTX1JFQURfT05MWTsKKwkJCWJyZWFrOworCQljYXNlICdkJzoKKwkJCWFjdCA9IEFfREVMRVRFOworCQkJaWYgKCFpc19sb29wZGV2KG9wdGFyZykgfHwKKwkJCSAgICBsb29wY3h0X3NldF9kZXZpY2UoJmxjLCBvcHRhcmcpKQorCQkJCWVycihFWElUX0ZBSUxVUkUsIF8oIiVzOiBmYWlsZWQgdG8gdXNlIGRldmljZSIpLAorCQkJCQkJb3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICdEJzoKKwkJCWFjdCA9IEFfREVMRVRFX0FMTDsKKwkJCWJyZWFrOworCQljYXNlICdmJzoKKwkJCWFjdCA9IEFfRklORF9GUkVFOworCQkJYnJlYWs7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2Uoc3Rkb3V0KTsKKwkJCWJyZWFrOworCQljYXNlICdKJzoKKwkJCWpzb24gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2onOgorCQkJYWN0ID0gQV9TSE9XOworCQkJZmlsZSA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdsJzoKKwkJCWxpc3QgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ0wnOgorCQkJbm9fb3ZlcmxhcCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQlub19oZWFkaW5ncyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfUkFXOgorCQkJcmF3ID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdvJzoKKwkJCW9mZnNldCA9IHN0cnRvc2l6ZV9vcl9lcnIob3B0YXJnLCBfKCJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IikpOworCQkJZmxhZ3MgfD0gTE9PUERFVl9GTF9PRkZTRVQ7CisJCQlicmVhazsKKwkJY2FzZSAnTyc6CisJCQlvdXRhcmcgPSBvcHRhcmc7CisJCQlsaXN0ID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdQJzoKKwkJCWxvX2ZsYWdzIHw9IExPX0ZMQUdTX1BBUlRTQ0FOOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX1NIT1c6CisJCQlzaG93ZGV2ID0gMTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9ESU86CisJCQl1c2VfZGlvID0gc2V0X2RpbyA9IDE7CisJCQlpZiAob3B0YXJnKQorCQkJCXVzZV9kaW8gPSBwYXJzZV9zd2l0Y2gob3B0YXJnLCBfKCJhcmd1bWVudCBlcnJvciIpLCAib24iLCAib2ZmIiwgTlVMTCk7CisJCQlicmVhazsKKwkJY2FzZSAndic6CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgT1BUX1NJWkVMSU1JVDoJCQkvKiAtLXNpemVsaW1pdCAqLworCQkJc2l6ZWxpbWl0ID0gc3RydG9zaXplX29yX2VycihvcHRhcmcsIF8oImZhaWxlZCB0byBwYXJzZSBzaXplIikpOworCQkJZmxhZ3MgfD0gTE9PUERFVl9GTF9TSVpFTElNSVQ7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKHN0ZGVycik7CisJCX0KKwl9CisKKwkvKiBkZWZhdWx0IGlzIC0tbGlzdCAtLWFsbCAqLworCWlmIChhcmdjID09IDEpIHsKKwkJYWN0ID0gQV9TSE9XOworCQlsaXN0ID0gMTsKKwl9CisKKwlpZiAoIWFjdCAmJiBhcmdjID09IDIgJiYgKHJhdyB8fCBqc29uKSkgeworCQlhY3QgPSBBX1NIT1c7CisJCWxpc3QgPSAxOworCX0KKworCS8qIGRlZmF1bHQgLS1saXN0IG91dHB1dCBjb2x1bW5zICovCisJaWYgKGxpc3QgJiYgIW5jb2x1bW5zKSB7CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfTkFNRTsKKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9TSVpFTElNSVQ7CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfT0ZGU0VUOworCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX0FVVE9DTFI7CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfUk87CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfQkFDS19GSUxFOworCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX0RJTzsKKwl9CisKKwlpZiAoYWN0ID09IEFfRklORF9GUkVFICYmIG9wdGluZCA8IGFyZ2MpIHsKKwkJLyoKKwkJICogbG9zZXR1cCAtZiA8YmFja2luZ19maWxlPgorCQkgKi8KKwkJYWN0ID0gQV9DUkVBVEU7CisJCWZpbGUgPSBhcmd2W29wdGluZCsrXTsKKwl9CisKKwlpZiAobGlzdCAmJiAhYWN0ICYmIG9wdGluZCA9PSBhcmdjKQorCQkvKgorCQkgKiBsb3NldHVwIC0tbGlzdAlkZWZhdWx0cyB0byAtLWFsbAorCQkgKi8KKwkJYWN0ID0gQV9TSE9XOworCisJaWYgKCFhY3QgJiYgb3B0aW5kICsgMSA9PSBhcmdjKSB7CisJCS8qCisJCSAqIGxvc2V0dXAgWy0tbGlzdF0gPGRldmljZT4KKwkJICogT1IKKwkJICogbG9zZXR1cCAtLWRpcmVjdC1pb1s9b2ZmXSA8ZGV2aWNlPgorCQkgKi8KKwkJaWYgKCFzZXRfZGlvKQorCQkJYWN0ID0gQV9TSE9XX09ORTsKKwkJZWxzZQorCQkJYWN0ID0gQV9TRVRfRElSRUNUX0lPOworCQlpZiAoIWlzX2xvb3BkZXYoYXJndltvcHRpbmRdKSB8fAorCQkgICAgbG9vcGN4dF9zZXRfZGV2aWNlKCZsYywgYXJndltvcHRpbmRdKSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oIiVzOiBmYWlsZWQgdG8gdXNlIGRldmljZSIpLAorCQkJCQlhcmd2W29wdGluZF0pOworCQlvcHRpbmQrKzsKKwl9CisJaWYgKCFhY3QpIHsKKwkJLyoKKwkJICogbG9zZXR1cCA8bG9vcGRldj4gPGJhY2tpbmdfZmlsZT4KKwkJICovCisJCWFjdCA9IEFfQ1JFQVRFOworCisJCWlmIChvcHRpbmQgPj0gYXJnYykKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBsb29wIGRldmljZSBzcGVjaWZpZWQiKSk7CisJCS8qIGRvbid0IHVzZSBpc19sb29wZGV2KCkgaGVyZSwgdGhlIGRldmljZSBkb2VzIG5vdCBoYXZlIGV4aXN0IHlldCAqLworCQlpZiAobG9vcGN4dF9zZXRfZGV2aWNlKCZsYywgYXJndltvcHRpbmRdKSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oIiVzOiBmYWlsZWQgdG8gdXNlIGRldmljZSIpLAorCQkJCQlhcmd2W29wdGluZF0pOworCQlvcHRpbmQrKzsKKworCQlpZiAob3B0aW5kID49IGFyZ2MpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibm8gZmlsZSBzcGVjaWZpZWQiKSk7CisJCWZpbGUgPSBhcmd2W29wdGluZCsrXTsKKwl9CisKKwlpZiAoYWN0ICE9IEFfQ1JFQVRFICYmCisJICAgIChzaXplbGltaXQgfHwgbG9fZmxhZ3MgfHwgc2hvd2RldikpCisJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJXygidGhlIG9wdGlvbnMgJXMgYXJlIGFsbG93ZWQgZHVyaW5nIGxvb3AgZGV2aWNlIHNldHVwIG9ubHkiKSwKKwkJCSItLXtzaXplbGltaXQscmVhZC1vbmx5LHNob3d9Iik7CisKKwlpZiAoKGZsYWdzICYgTE9PUERFVl9GTF9PRkZTRVQpICYmCisJICAgIGFjdCAhPSBBX0NSRUFURSAmJiAoYWN0ICE9IEFfU0hPVyB8fCAhZmlsZSkpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ0aGUgb3B0aW9uIC0tb2Zmc2V0IGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgY29udGV4dCIpKTsKKworCWlmIChvdXRhcmcgJiYgc3RyaW5nX2FkZF90b19pZGFycmF5KG91dGFyZywgY29sdW1ucywgQVJSQVlfU0laRShjb2x1bW5zKSwKKwkJCQkJICZuY29sdW1ucywgY29sdW1uX25hbWVfdG9faWQpIDwgMCkKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKworCXN3aXRjaCAoYWN0KSB7CisJY2FzZSBBX0NSRUFURToKKwkJcmVzID0gY3JlYXRlX2xvb3AoJmxjLCBub19vdmVybGFwLCBsb19mbGFncywgZmxhZ3MsIGZpbGUsIG9mZnNldCwgc2l6ZWxpbWl0KTsKKwkJaWYgKHJlcyA9PSAwKSB7CisJCQlpZiAoc2hvd2RldikKKwkJCQlwcmludGYoIiVzXG4iLCBsb29wY3h0X2dldF9kZXZpY2UoJmxjKSk7CisJCQl3YXJuX3NpemUoZmlsZSwgc2l6ZWxpbWl0KTsKKwkJCWlmIChzZXRfZGlvKQorCQkJCWdvdG8gbG9fc2V0X2RpbzsKKwkJfQorCQlicmVhazsKKwljYXNlIEFfREVMRVRFOgorCQlyZXMgPSBkZWxldGVfbG9vcCgmbGMpOworCQl3aGlsZSAob3B0aW5kIDwgYXJnYykgeworCQkJaWYgKCFpc19sb29wZGV2KGFyZ3Zbb3B0aW5kXSkgfHwKKwkJCSAgICBsb29wY3h0X3NldF9kZXZpY2UoJmxjLCBhcmd2W29wdGluZF0pKQorCQkJCXdhcm4oXygiJXM6IGZhaWxlZCB0byB1c2UgZGV2aWNlIiksCisJCQkJCQlhcmd2W29wdGluZF0pOworCQkJb3B0aW5kKys7CisJCQlyZXMgKz0gZGVsZXRlX2xvb3AoJmxjKTsKKwkJfQorCQlicmVhazsKKwljYXNlIEFfREVMRVRFX0FMTDoKKwkJcmVzID0gZGVsZXRlX2FsbF9sb29wcygmbGMpOworCQlicmVhazsKKwljYXNlIEFfRklORF9GUkVFOgorCQlyZXMgPSBsb29wY3h0X2ZpbmRfdW51c2VkKCZsYyk7CisJCWlmIChyZXMpIHsKKwkJCWludCBlcnJzdiA9IGVycm5vOworCisJCQlpZiAoYWNjZXNzKF9QQVRIX0RFVl9MT09QQ1RMLCBGX09LKSA9PSAwICYmCisJCQkgICAgYWNjZXNzKF9QQVRIX0RFVl9MT09QQ1RMLCBXX09LKSAhPSAwKQorCQkJCTsKKwkJCWVsc2UKKwkJCQllcnJubyA9IGVycnN2OworCisJCQl3YXJuKF8oImNhbm5vdCBmaW5kIGFuIHVudXNlZCBsb29wIGRldmljZSIpKTsKKwkJfSBlbHNlCisJCQlwcmludGYoIiVzXG4iLCBsb29wY3h0X2dldF9kZXZpY2UoJmxjKSk7CisJCWJyZWFrOworCWNhc2UgQV9TSE9XOgorCQlpZiAobGlzdCkKKwkJCXJlcyA9IHNob3dfdGFibGUoJmxjLCBmaWxlLCBvZmZzZXQsIGZsYWdzKTsKKwkJZWxzZQorCQkJcmVzID0gc2hvd19hbGxfbG9vcHMoJmxjLCBmaWxlLCBvZmZzZXQsIGZsYWdzKTsKKwkJYnJlYWs7CisJY2FzZSBBX1NIT1dfT05FOgorCQlpZiAobGlzdCkKKwkJCXJlcyA9IHNob3dfdGFibGUoJmxjLCBOVUxMLCAwLCAwKTsKKwkJZWxzZQorCQkJcmVzID0gcHJpbnRmX2xvb3BkZXYoJmxjKTsKKwkJaWYgKHJlcykKKwkJCXdhcm4oIiVzIiwgbG9vcGN4dF9nZXRfZGV2aWNlKCZsYykpOworCQlicmVhazsKKwljYXNlIEFfU0VUX0NBUEFDSVRZOgorCQlyZXMgPSBsb29wY3h0X3NldF9jYXBhY2l0eSgmbGMpOworCQlpZiAocmVzKQorCQkJd2FybihfKCIlczogc2V0IGNhcGFjaXR5IGZhaWxlZCIpLAorCQkJICAgICAgICBsb29wY3h0X2dldF9kZXZpY2UoJmxjKSk7CisJCWJyZWFrOworCWNhc2UgQV9TRVRfRElSRUNUX0lPOgorIGxvX3NldF9kaW86CisJCXJlcyA9IGxvb3BjeHRfc2V0X2RpbygmbGMsIHVzZV9kaW8pOworCQlpZiAocmVzKQorCQkJd2FybihfKCIlczogc2V0IGRpcmVjdCBpbyBmYWlsZWQiKSwKKwkJCSAgICAgICAgbG9vcGN4dF9nZXRfZGV2aWNlKCZsYykpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQl1c2FnZShzdGRlcnIpOworCQlicmVhazsKKwl9CisKKwlsb29wY3h0X2RlaW5pdCgmbGMpOworCXJldHVybiByZXMgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1M7Cit9CisKZGlmZiAtLWdpdCBhL3N5cy11dGlscy9scC5oIGIvc3lzLXV0aWxzL2xwLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2ZhODNkZAotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9scC5oCkBAIC0wLDAgKzEsODMgQEAKKy8qIExpbmUgcHJpbnRlciBzdHVmZiBtb3N0bHkgZm9sbG93cyB0aGUgb3JpZ2luYWwgQ2VudHJvbmljcyBwcmludGVycy4gU2VlCisgICBJRUVFIFN0ZC4xMjg0LTE5OTQgU3RhbmRhcmQgU2lnbmFsaW5nIE1ldGhvZCBmb3IgYSBCaS1kaXJlY3Rpb25hbCBQYXJhbGxlbAorICAgUGVyaXBoZXJhbCBJbnRlcmZhY2UgZm9yIFBlcnNvbmFsIENvbXB1dGVycyBmb3IgNSBtb2RlcyBvZiBkYXRhIHRyYW5zZmVyLiAqLworCisvKiBQYXJhbGxlbCBwb3J0IHJlZ2lzdGVyczogZGF0YSAoMHgzYmMsIDB4Mzc4LCAweDI3OCksIHN0YXR1cz1kYXRhKzEsIGNvbnRyb2w9ZGF0YSsyICovCisKKy8qIFBhcmFsbGVsIHBvcnQgc3RhdHVzIHJlZ2lzdGVyIChyZWFkIG9ubHkpOgorYml0IDc6IE5CU1kJKDE6IHJlYWR5LCAwOiBidXN5IG9yIGVycm9yIG9yIG9mZi1saW5lKQorYml0IDY6IE5BQ0sJKGlmIE5CU1k9MSwgdGhlbiAxOyBpZiBOQlNZPTAgdGhlbiAxOiBzZW5kaW5nIGRhdGEsIDA6IHJlYWR5IHdpdGggZGF0YSkKK2JpdCA1OiAgUEFQCSgxOiBvdXQtb2YtcGFwZXIpCitiaXQgNDogT0ZPTgkoMTogb24tbGluZSkKK2JpdCAzOiBORkVICSgxOiBPSywgMDogcHJpbnRlciBlcnJvcikKK2JpdHMgMi0wOiAwNworCitPbiBvdXQtb2YtcGFwZXI6IFBBUD0xLCBPRk9OPTAsIE5GRUg9MS4KKworIldoZW4gcmVhZGluZyB0aGUgYnVzeSBzdGF0dXMsIHJlYWQgdHdpY2UgaW4gYSByb3cgYW5kIHVzZSB0aGUgdmFsdWUKK29idGFpbmVkIGZyb20gdGhlIHNlY29uZCByZWFkLiBUaGlzIGltcHJvdmVzIHRoZSByZWxpYWJpbGl0eSBvbiBzb21lCitwYXJhbGxlbCBwb3J0cyB3aGVuIHRoZSBidXN5IGxpbmUgbWF5IG5vdCBiZSBjb25uZWN0ZWQgYW5kIGlzIGZsb2F0aW5nLiIKKyJPbiBzb21lIE9raWRhdGEgcHJpbnRlcnMgd2hlbiB0aGUgYnVzeSBzaWduYWwgc3dpdGNoZXMgZnJvbSBoaWdoIHRvIGxvdywKK3RoZSBwcmludGVyIHNlbmRzIGEgNTAgbnMgZ2xpdGNoIG9uIHRoZSBwYXBlciBvdXQgc2lnbmFsIGxpbmUuIEJlZm9yZQorZGVjbGFyaW5nIGEgcGFwZXIgb3V0IGNvbmRpdGlvbiwgY2hlY2sgdGhlIHN0YXR1cyBhZ2Fpbi4iCisoVGhlIFVuZG9jdW1lbnRlZCBQQywgRi4gdmFuIEdpbGx1d2UsIHAuIDcxMSkKKyovCisKKy8qIFBhcmFsbGVsIHBvcnQgY29udHJvbCByZWdpc3RlciAocmVhZC93cml0ZSk6CitiaXQgNDogIElSUQkoMTogd2Ugd2FudCBhbiBpbnRlcnJ1cHQgd2hlbiBOQUNLIGdvZXMgZnJvbSAxIHRvIDApCitiaXQgMzogIERTTAkoMTogYWN0aXZhdGUgcHJpbnRlcikKK2JpdCAyOiBOSU5JCSgwOiBpbml0aWFsaXNlIHByaW50ZXIpCitiaXQgMTogIEFMRgkoMTogcHJpbnRlciBwZXJmb3JtcyBhdXRvbWF0aWMgbGluZWZlZWQgYWZ0ZXIgZWFjaCBsaW5lKQorYml0IDA6ICBTVFIJKDAtPjE6IGdlbmVyYXRlIGEgU3Ryb2JlIHB1bHNlOiB0cmFuc3BvcnQgZGF0YSB0byBwcmludGVyKQorKi8KKworLyogUGFyYWxsZWwgcG9ydCB0aW1pbmc6CisgICAxLiB3YWl0IGZvciBOQlNZPTEKKyAgIDIuIG91dGIoZGF0YSBieXRlLCBkYXRhIHBvcnQpCisgICAzLiB3YWl0IGZvciBhdCBsZWFzdCAwLjV1cworICAgNC4gcmVhZCBjb250cm9sIHBvcnQsIE9SIHdpdGggU1RSPTB4MSwgb3V0cHV0IHRvIGNvbnRyb2wgcG9ydCAtIHB1cnBvc2U6CisgICAgICBnZW5lcmF0ZSBzdHJvYmUgcHVsc2U7IHRoaXMgd2lsbCBtYWtlIHRoZSBidXN5IGxpbmUgZ28gaGlnaAorICAgNS4gd2FpdCBmb3IgYXQgbGVhc3QgMC41dXMKKyAgIDYuIHJlYWQgY29udHJvbCBwb3J0LCBBTkQgd2l0aCAhU1RSLCBvdXRwdXQgdG8gY29udHJvbCBwb3J0CisgICA3LiB3YWl0IGZvciBhdCBsZWFzdCAwLjV1cworICAgOC4gaW4gYSBsb29wOiByZWFkIHN0YXR1cyByZWdpc3RlciB1bnRpbCBOQUNLIGJpdCBpcyAwIG9yIE5CU1k9MQorICAgICAgKHRoZSBwcmludGVyIHdpbGwga2VlcCBOQUNLPTAgZm9yIGF0IGxlYXN0IDAuNXVzLCB0aGVuIE5BQ0s9TkJTWT0xKS4KKyovCisKKworLyogbHAgaW9jdGxzICovCisjZGVmaW5lIExQQ0hBUiAgIDB4MDYwMSAgLyogc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHRpbWVzIHdlIGFzayBmb3IgdGhlIHN0YXR1cworCQkJICAgICh3YWl0aW5nIGZvciByZWFkeSkgYmVmb3JlIGdpdmluZyB1cCB3aXRoIGEgdGltZW91dAorCQkJICAgIFRoZSBkdXJhdGlvbiBtYXkgbWFpbmx5IGRlcGVuZCBvbiB0aGUgdGltaW5nIG9mIGFuIGluYi4gKi8KKyNkZWZpbmUgTFBUSU1FICAgMHgwNjAyICAvKiB0aW1lIHRvIHNsZWVwIGFmdGVyIGVhY2ggdGltZW91dCAoaW4gdW5pdHMgb2YgMC4wMSBzZWMpICovCisjZGVmaW5lIExQQUJPUlQgIDB4MDYwNCAgLyogY2FsbCB3aXRoIFRSVUUgYXJnIHRvIGFib3J0IG9uIGVycm9yLAorCQkJICAgIEZBTFNFIHRvIHJldHJ5LiAgRGVmYXVsdCBpcyByZXRyeS4gICovCisjZGVmaW5lIExQU0VUSVJRIDB4MDYwNSAgLyogY2FsbCB3aXRoIG5ldyBJUlEgbnVtYmVyLAorCQkJICAgIG9yIDAgZm9yIHBvbGxpbmcgKG5vIElSUSkgKi8KKyNkZWZpbmUgTFBHRVRJUlEgMHgwNjA2ICAvKiBnZXQgdGhlIGN1cnJlbnQgSVJRIG51bWJlciAqLworI2RlZmluZSBMUFdBSVQgICAweDA2MDggIC8qICNvZiBsb29wcyB0byB3YWl0IGJlZm9yZSB0YWtpbmcgc3Ryb2JlIGhpZ2ggKi8KKyNkZWZpbmUgTFBDQVJFRlVMICAgMHgwNjA5ICAvKiBjYWxsIHdpdGggVFJVRSBhcmcgdG8gcmVxdWlyZSBvdXQtb2YtcGFwZXIsIG9mZi0KKwkJCSAgICBsaW5lLCBhbmQgZXJyb3IgaW5kaWNhdG9ycyBnb29kIG9uIGFsbCB3cml0ZXMsCisJCQkgICAgRkFMU0UgdG8gaWdub3JlIHRoZW0uICBEZWZhdWx0IGlzIGlnbm9yZS4gKi8KKyNkZWZpbmUgTFBBQk9SVE9QRU4gMHgwNjBhICAvKiBjYWxsIHdpdGggVFJVRSBhcmcgdG8gYWJvcnQgb3BlbigpIG9uIGVycm9yLAorCQkJICAgIEZBTFNFIHRvIGlnbm9yZSBlcnJvci4gIERlZmF1bHQgaXMgaWdub3JlLiAgKi8KKyNkZWZpbmUgTFBHRVRTVEFUVVMgMHgwNjBiICAvKiByZXR1cm4gTFBfUyhtaW5vcikgKi8KKyNkZWZpbmUgTFBSRVNFVCAgICAgMHgwNjBjICAvKiByZXNldCBwcmludGVyICovCisjZGVmaW5lIExQR0VURkxBR1MgIDB4MDYwZSAgLyogZ2V0IHN0YXR1cyBmbGFncyAqLworCisjZGVmaW5lIExQU1RSSUNUICAgIDB4MDYwZiAgLyogZW5hYmxlL2Rpc2FibGUgc3RyaWN0IGNvbXBsaWFuY2UgKDIuMC4zNikgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBTdHJpY3Q6IHdhaXQgdW50aWwgIVJFQURZIGJlZm9yZSB0YWtpbmcgc3Ryb2JlIGxvdzsKKwkJCSAgICAgICB0aGlzIG1heSBiZSBiYWQgZm9yIHRoZSBFcHNvbiBTdHlsdXMgODAwLgorCQkJICAgICAgIE5vdCBzdHJpY3Q6IHdhaXQgYSBjb25zdGFudCB0aW1lIGFzIGdpdmVuIGJ5IExQV0FJVCAqLworI2RlZmluZSBMUFRSVVNUSVJRICAweDA2MGYgIC8qIHNldC91bnNldCB0aGUgTFBfVFJVU1RfSVJRIGZsYWcgKDIuMS4xMzEpICovCisKKy8qIAorICogYml0IGRlZmluZXMgZm9yIDgyNTUgc3RhdHVzIHBvcnQKKyAqIGJhc2UgKyAxCisgKiBhY2Nlc3NlZCB3aXRoIExQX1MobWlub3IpLCB3aGljaCBnZXRzIHRoZSBieXRlLi4uCisgKi8KKyNkZWZpbmUgTFBfUEJVU1kJMHg4MCAgLyogaW52ZXJ0ZWQgaW5wdXQsIGFjdGl2ZSBoaWdoICovCisjZGVmaW5lIExQX1BBQ0sJCTB4NDAgIC8qIHVuY2hhbmdlZCBpbnB1dCwgYWN0aXZlIGxvdyAqLworI2RlZmluZSBMUF9QT1VUUEEJMHgyMCAgLyogdW5jaGFuZ2VkIGlucHV0LCBhY3RpdmUgaGlnaCAqLworI2RlZmluZSBMUF9QU0VMRUNECTB4MTAgIC8qIHVuY2hhbmdlZCBpbnB1dCwgYWN0aXZlIGhpZ2ggKi8KKyNkZWZpbmUgTFBfUEVSUk9SUAkweDA4ICAvKiB1bmNoYW5nZWQgaW5wdXQsIGFjdGl2ZSBsb3cgKi8KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9sc2NwdS1kbWkuYyBiL3N5cy11dGlscy9sc2NwdS1kbWkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZTQ5N2QxCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2xzY3B1LWRtaS5jCkBAIC0wLDAgKzEsMjg1IEBACisvKgorICogbHNjcHUtZG1pIC0gTW9kdWxlIHRvIHBhcnNlIFNNQklPUyBpbmZvcm1hdGlvbgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd291bGQgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKyAqIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisgKiA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorICoKKyAqIENvZGUgb3JpZ2luYWxseSB0YWtlbiBmcm9tIHRoZSBkbWlkZWNvZGUgdXRpbGl0eSBhbmQgc2xpZ2h0bHkgcmV3cml0dGVuCisgKiB0byBzdWl0ZSB0aGUgbmVlZHMgb2YgbHNjcHUKKyAqLworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAiYWxsLWlvLmgiCisjaW5jbHVkZSAibHNjcHUuaCIKKworI2RlZmluZSBXT1JEKHgpICh1aW50MTZfdCkoKihjb25zdCB1aW50MTZfdCAqKSh4KSkKKyNkZWZpbmUgRFdPUkQoeCkgKHVpbnQzMl90KSgqKGNvbnN0IHVpbnQzMl90ICopKHgpKQorCitzdHJ1Y3QgZG1pX2hlYWRlcgoreworCXVpbnQ4X3QgdHlwZTsKKwl1aW50OF90IGxlbmd0aDsKKwl1aW50MTZfdCBoYW5kbGU7CisJdWludDhfdCAqZGF0YTsKK307CisKK3N0YXRpYyBpbnQgY2hlY2tzdW0oY29uc3QgdWludDhfdCAqYnVmLCBzaXplX3QgbGVuKQoreworCXVpbnQ4X3Qgc3VtID0gMDsKKwlzaXplX3QgYTsKKworCWZvciAoYSA9IDA7IGEgPCBsZW47IGErKykKKwkJc3VtICs9IGJ1ZlthXTsKKwlyZXR1cm4gKHN1bSA9PSAwKTsKK30KKworc3RhdGljIHZvaWQgKmdldF9tZW1fY2h1bmsoc2l6ZV90IGJhc2UsIHNpemVfdCBsZW4sIGNvbnN0IGNoYXIgKmRldm1lbSkKK3sKKwl2b2lkICpwID0gTlVMTDsKKwlpbnQgZmQ7CisKKwlpZiAoKGZkID0gb3BlbihkZXZtZW0sIE9fUkRPTkxZKSkgPCAwKQorCQlyZXR1cm4gTlVMTDsKKworCWlmICghKHAgPSBtYWxsb2MobGVuKSkpCisJCWdvdG8gbm90aGluZzsKKwlpZiAobHNlZWsoZmQsIGJhc2UsIFNFRUtfU0VUKSA9PSAtMSkKKwkJZ290byBub3RoaW5nOworCWlmIChyZWFkX2FsbChmZCwgcCwgbGVuKSA9PSAtMSkKKwkJZ290byBub3RoaW5nOworCisJY2xvc2UoZmQpOworCXJldHVybiBwOworCitub3RoaW5nOgorCWZyZWUocCk7CisJY2xvc2UoZmQpOworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgdm9pZCB0b19kbWlfaGVhZGVyKHN0cnVjdCBkbWlfaGVhZGVyICpoLCB1aW50OF90ICpkYXRhKQoreworCWgtPnR5cGUgPSBkYXRhWzBdOworCWgtPmxlbmd0aCA9IGRhdGFbMV07CisJaC0+aGFuZGxlID0gV09SRChkYXRhICsgMik7CisJaC0+ZGF0YSA9IGRhdGE7Cit9CisKK3N0YXRpYyBjaGFyICpkbWlfc3RyaW5nKGNvbnN0IHN0cnVjdCBkbWlfaGVhZGVyICpkbSwgdWludDhfdCBzKQoreworCWNoYXIgKmJwID0gKGNoYXIgKilkbS0+ZGF0YTsKKworCWlmIChzID09IDApCisJCXJldHVybiBOVUxMOworCisJYnAgKz0gZG0tPmxlbmd0aDsKKwl3aGlsZSAocyA+IDEgJiYgKmJwKQorCXsKKwkJYnAgKz0gc3RybGVuKGJwKTsKKwkJYnArKzsKKwkJcy0tOworCX0KKworCWlmICghKmJwKQorCQlyZXR1cm4gTlVMTDsKKworCXJldHVybiBicDsKK30KKworc3RhdGljIGludCBoeXBlcnZpc29yX2Zyb21fZG1pX3RhYmxlKHVpbnQzMl90IGJhc2UsIHVpbnQxNl90IGxlbiwKKwkJCQl1aW50MTZfdCBudW0sIGNvbnN0IGNoYXIgKmRldm1lbSkKK3sKKwl1aW50OF90ICpidWY7CisJdWludDhfdCAqZGF0YTsKKwlpbnQgaSA9IDA7CisJY2hhciAqdmVuZG9yID0gTlVMTDsKKwljaGFyICpwcm9kdWN0ID0gTlVMTDsKKwljaGFyICptYW51ZmFjdHVyZXIgPSBOVUxMOworCWludCByYyA9IEhZUEVSX05PTkU7CisKKwlkYXRhID0gYnVmID0gZ2V0X21lbV9jaHVuayhiYXNlLCBsZW4sIGRldm1lbSk7CisJaWYgKCFidWYpCisJCWdvdG8gZG9uZTsKKworCSAvKiA0IGlzIHRoZSBsZW5ndGggb2YgYW4gU01CSU9TIHN0cnVjdHVyZSBoZWFkZXIgKi8KKwl3aGlsZSAoaSA8IG51bSAmJiBkYXRhICsgNCA8PSBidWYgKyBsZW4pIHsKKwkJdWludDhfdCAqbmV4dDsKKwkJc3RydWN0IGRtaV9oZWFkZXIgaDsKKworCQl0b19kbWlfaGVhZGVyKCZoLCBkYXRhKTsKKworCQkvKgorCQkgKiBJZiBhIHNob3J0IGVudHJ5IGlzIGZvdW5kIChsZXNzIHRoYW4gNCBieXRlcyksIG5vdCBvbmx5IGl0CisJCSAqIGlzIGludmFsaWQsIGJ1dCB3ZSBjYW5ub3QgcmVsaWFibHkgbG9jYXRlIHRoZSBuZXh0IGVudHJ5LgorCQkgKiBCZXR0ZXIgc3RvcCBhdCB0aGlzIHBvaW50LgorCQkgKi8KKwkJaWYgKGgubGVuZ3RoIDwgNCkKKwkJCWdvdG8gZG9uZTsKKworCQkvKiBsb29rIGZvciB0aGUgbmV4dCBoYW5kbGUgKi8KKwkJbmV4dCA9IGRhdGEgKyBoLmxlbmd0aDsKKwkJd2hpbGUgKG5leHQgLSBidWYgKyAxIDwgbGVuICYmIChuZXh0WzBdICE9IDAgfHwgbmV4dFsxXSAhPSAwKSkKKwkJCW5leHQrKzsKKwkJbmV4dCArPSAyOworCQlzd2l0Y2ggKGgudHlwZSkgeworCQkJY2FzZSAwOgorCQkJCXZlbmRvciA9IGRtaV9zdHJpbmcoJmgsIGRhdGFbMHgwNF0pOworCQkJCWJyZWFrOworCQkJY2FzZSAxOgorCQkJCW1hbnVmYWN0dXJlciA9IGRtaV9zdHJpbmcoJmgsIGRhdGFbMHgwNF0pOworCQkJCXByb2R1Y3QgPSBkbWlfc3RyaW5nKCZoLCBkYXRhWzB4MDVdKTsKKwkJCQlicmVhazsKKwkJCWRlZmF1bHQ6CisJCQkJYnJlYWs7CisJCX0KKworCQlkYXRhID0gbmV4dDsKKwkJaSsrOworCX0KKwlpZiAobWFudWZhY3R1cmVyICYmICFzdHJjbXAobWFudWZhY3R1cmVyLCAiaW5ub3RlayBHbWJIIikpCisJCXJjID0gSFlQRVJfSU5OT1RFSzsKKwllbHNlIGlmIChtYW51ZmFjdHVyZXIgJiYgc3Ryc3RyKG1hbnVmYWN0dXJlciwgIkhJVEFDSEkiKSAmJgorCQkJCQlwcm9kdWN0ICYmIHN0cnN0cihwcm9kdWN0LCAiTFBBUiIpKQorCQlyYyA9IEhZUEVSX0hJVEFDSEk7CisJZWxzZSBpZiAodmVuZG9yICYmICFzdHJjbXAodmVuZG9yLCAiUGFyYWxsZWxzIikpCisJCXJjID0gSFlQRVJfUEFSQUxMRUxTOworZG9uZToKKwlmcmVlKGJ1Zik7CisJcmV0dXJuIHJjOworfQorCisjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9faTM4Nl9fKQorc3RhdGljIGludCBoeXBlcnZpc29yX2RlY29kZV9sZWdhY3kodWludDhfdCAqYnVmLCBjb25zdCBjaGFyICpkZXZtZW0pCit7CisJaWYgKCFjaGVja3N1bShidWYsIDB4MEYpKQorCQlyZXR1cm4gSFlQRVJfTk9ORTsKKworCXJldHVybiBoeXBlcnZpc29yX2Zyb21fZG1pX3RhYmxlKERXT1JEKGJ1ZiArIDB4MDgpLCBXT1JEKGJ1ZiArIDB4MDYpLAorCQkJIFdPUkQoYnVmICsgMHgwQyksCisJCWRldm1lbSk7Cit9CisjZW5kaWYKKworc3RhdGljIGludCBoeXBlcnZpc29yX2RlY29kZV9zbWJpb3ModWludDhfdCAqYnVmLCBjb25zdCBjaGFyICpkZXZtZW0pCit7CisJaWYgKCFjaGVja3N1bShidWYsIGJ1ZlsweDA1XSkKKwkgICAgfHwgbWVtY21wKGJ1ZiArIDB4MTAsICJfRE1JXyIsIDUpICE9IDAKKwkgICAgfHwgIWNoZWNrc3VtKGJ1ZiArIDB4MTAsIDB4MEYpKQorCQlyZXR1cm4gLTE7CisKKwlyZXR1cm4gaHlwZXJ2aXNvcl9mcm9tX2RtaV90YWJsZShEV09SRChidWYgKyAweDE4KSwgV09SRChidWYgKyAweDE2KSwKKwkJCSBXT1JEKGJ1ZiArIDB4MUMpLAorCQlkZXZtZW0pOworfQorCisvKgorICogUHJvYmUgZm9yIEVGSSBpbnRlcmZhY2UKKyAqLworI2RlZmluZSBFRklfTk9UX0ZPVU5EICAgKC0xKQorI2RlZmluZSBFRklfTk9fU01CSU9TICAgKC0yKQorc3RhdGljIGludCBhZGRyZXNzX2Zyb21fZWZpKHNpemVfdCAqYWRkcmVzcykKK3sKKwlGSUxFICp0YWI7CisJY2hhciBsaW5lYnVmWzY0XTsKKwlpbnQgcmV0OworCisJKmFkZHJlc3MgPSAwOyAvKiBQcmV2ZW50IGNvbXBpbGVyIHdhcm5pbmcgKi8KKworCS8qCisJICogTGludXggdXAgdG8gMi42LjY6IC9wcm9jL2VmaS9zeXN0YWIKKwkgKiBMaW51eCAyLjYuNyBhbmQgdXA6IC9zeXMvZmlybXdhcmUvZWZpL3N5c3RhYgorCSAqLworCWlmICghKHRhYiA9IGZvcGVuKCIvc3lzL2Zpcm13YXJlL2VmaS9zeXN0YWIiLCAiciIpKSAmJgorCSAgICAhKHRhYiA9IGZvcGVuKCIvcHJvYy9lZmkvc3lzdGFiIiwgInIiKSkpCisJCXJldHVybiBFRklfTk9UX0ZPVU5EOwkJLyogTm8gRUZJIGludGVyZmFjZSAqLworCisJcmV0ID0gRUZJX05PX1NNQklPUzsKKwl3aGlsZSAoKGZnZXRzKGxpbmVidWYsIHNpemVvZihsaW5lYnVmKSAtIDEsIHRhYikpICE9IE5VTEwpIHsKKwkJY2hhciAqYWRkcnAgPSBzdHJjaHIobGluZWJ1ZiwgJz0nKTsKKwkJaWYgKCFhZGRycCkKKwkJCWNvbnRpbnVlOworCQkqKGFkZHJwKyspID0gJ1wwJzsKKwkJaWYgKHN0cmNtcChsaW5lYnVmLCAiU01CSU9TIikgPT0gMCkgeworCQkJKmFkZHJlc3MgPSBzdHJ0b3VsKGFkZHJwLCBOVUxMLCAwKTsKKwkJCXJldCA9IDA7CisJCQlicmVhazsKKwkJfQorCX0KKworCWZjbG9zZSh0YWIpOworCXJldHVybiByZXQ7Cit9CisKK2ludCByZWFkX2h5cGVydmlzb3JfZG1pKHZvaWQpCit7CisJaW50IHJjID0gSFlQRVJfTk9ORTsKKwl1aW50OF90ICpidWYgPSBOVUxMOworCXNpemVfdCBmcCA9IDA7CisKKwlpZiAoc2l6ZW9mKHVpbnQ4X3QpICE9IDEKKwkgICAgfHwgc2l6ZW9mKHVpbnQxNl90KSAhPSAyCisJICAgIHx8IHNpemVvZih1aW50MzJfdCkgIT0gNAorCSAgICB8fCAnXDAnICE9IDApCisJCXJldHVybiByYzsKKworCS8qIEZpcnN0IHRyeSBFRkkgKGlhNjQsIEludGVsLWJhc2VkIE1hYykgKi8KKwlzd2l0Y2ggKGFkZHJlc3NfZnJvbV9lZmkoJmZwKSkgeworCQljYXNlIEVGSV9OT1RfRk9VTkQ6CisJCQlnb3RvIG1lbW9yeV9zY2FuOworCQljYXNlIEVGSV9OT19TTUJJT1M6CisJCQlnb3RvIGRvbmU7CisJfQorCisJYnVmID0gZ2V0X21lbV9jaHVuayhmcCwgMHgyMCwgX1BBVEhfREVWX01FTSk7CisJaWYgKCFidWYpCisJCWdvdG8gZG9uZTsKKworCXJjID0gaHlwZXJ2aXNvcl9kZWNvZGVfc21iaW9zKGJ1ZiwgX1BBVEhfREVWX01FTSk7CisJaWYgKHJjKQorCQlnb3RvIGRvbmU7CisJZnJlZShidWYpOworCWJ1ZiA9IE5VTEw7CittZW1vcnlfc2NhbjoKKyNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19pMzg2X18pCisJLyogRmFsbGJhY2sgdG8gbWVtb3J5IHNjYW4gKHg4NiwgeDg2XzY0KSAqLworCWJ1ZiA9IGdldF9tZW1fY2h1bmsoMHhGMDAwMCwgMHgxMDAwMCwgX1BBVEhfREVWX01FTSk7CisJaWYgKCFidWYpCisJCWdvdG8gZG9uZTsKKworCWZvciAoZnAgPSAwOyBmcCA8PSAweEZGRjA7IGZwICs9IDE2KSB7CisJCWlmIChtZW1jbXAoYnVmICsgZnAsICJfU01fIiwgNCkgPT0gMCAmJiBmcCA8PSAweEZGRTApIHsKKwkJCXJjID0gaHlwZXJ2aXNvcl9kZWNvZGVfc21iaW9zKGJ1ZiArIGZwLCBfUEFUSF9ERVZfTUVNKTsKKwkJCWlmIChyYyA9PSAtMSkKKwkJCQlmcCArPSAxNjsKKworCQl9IGVsc2UgaWYgKG1lbWNtcChidWYgKyBmcCwgIl9ETUlfIiwgNSkgPT0gMCkKKwkJCXJjID0gaHlwZXJ2aXNvcl9kZWNvZGVfbGVnYWN5KGJ1ZiArIGZwLCBfUEFUSF9ERVZfTUVNKTsKKworCQlpZiAocmMgPj0gMCkKKwkJCWJyZWFrOworCX0KKyNlbmRpZgorZG9uZToKKwlmcmVlKGJ1Zik7CisJcmV0dXJuIHJjOworfQpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL2xzY3B1LjEgYi9zeXMtdXRpbHMvbHNjcHUuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTQ4MGFhCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2xzY3B1LjEKQEAgLTAsMCArMSwxNzcgQEAKKy5USCBMU0NQVSAxICJOb3ZlbWJlciAyMDE1IiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQorbHNjcHUgXC0gZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ1BVIGFyY2hpdGVjdHVyZQorLlNIIFNZTk9QU0lTCisuQiBsc2NwdQorLlJCIFsgXC1hIHwgXC1iIHwgXC1jICJdIFsiIFwteCAiXSBbIiBcLXkgIl0gWyIgXC1zICIgXGZJZGlyZWN0b3J5XGZQXSBbIiBcLWUgWz1cZklsaXN0XGZQXXwgXC1wIFs9XGZJbGlzdFxmUF1dCisuYnIKKy5CIGxzY3B1CisuQlIgXC1oIHwgXC1WCisuU0ggREVTQ1JJUFRJT04KKy5CIGxzY3B1CitnYXRoZXJzIENQVSBhcmNoaXRlY3R1cmUgaW5mb3JtYXRpb24gZnJvbSBzeXNmcywgL3Byb2MvY3B1aW5mbyBhbmQgYW55CithcHBsaWNhYmxlIGFyY2hpdGVjdHVyZS1zcGVjaWZpYyBsaWJyYXJpZXMgKGUuZy5cJiBsaWJydGFzIG9uIFBvd2VycGMpLiAgVGhlCitjb21tYW5kIG91dHB1dCBjYW4gYmUgb3B0aW1pemVkIGZvciBwYXJzaW5nIG9yIGZvciBlYXN5IHJlYWRhYmlsaXR5IGJ5IGh1bWFucy4KK1RoZSBpbmZvcm1hdGlvbiBpbmNsdWRlcywgZm9yIGV4YW1wbGUsIHRoZSBudW1iZXIgb2YgQ1BVcywgdGhyZWFkcywgY29yZXMsCitzb2NrZXRzLCBhbmQgTm9uLVVuaWZvcm0gTWVtb3J5IEFjY2VzcyAoTlVNQSkgbm9kZXMuICBUaGVyZSBpcyBhbHNvIGluZm9ybWF0aW9uCithYm91dCB0aGUgQ1BVIGNhY2hlcyBhbmQgY2FjaGUgc2hhcmluZywgZmFtaWx5LCBtb2RlbCwgYm9nb01JUFMsIGJ5dGUgb3JkZXIsCithbmQgc3RlcHBpbmcuCisuc3AKK0luIHZpcnR1YWxpemVkIGVudmlyb25tZW50cywgdGhlIENQVSBhcmNoaXRlY3R1cmUgaW5mb3JtYXRpb24gZGlzcGxheWVkCityZWZsZWN0cyB0aGUgY29uZmlndXJhdGlvbiBvZiB0aGUgZ3Vlc3Qgb3BlcmF0aW5nIHN5c3RlbSB3aGljaCBpcwordHlwaWNhbGx5IGRpZmZlcmVudCBmcm9tIHRoZSBwaHlzaWNhbCAoaG9zdCkgc3lzdGVtLiAgT24gYXJjaGl0ZWN0dXJlcyB0aGF0CitzdXBwb3J0IHJldHJpZXZpbmcgcGh5c2ljYWwgdG9wb2xvZ3kgaW5mb3JtYXRpb24sCisuQiBsc2NwdQorYWxzbyBkaXNwbGF5cyB0aGUgbnVtYmVyIG9mIHBoeXNpY2FsIHNvY2tldHMsIGNoaXBzLCBjb3JlcyBpbiB0aGUgaG9zdCBzeXN0ZW0uCisuc3AKK09wdGlvbnMgdGhhdCByZXN1bHQgaW4gYW4gb3V0cHV0IHRhYmxlIGhhdmUgYSBcZklsaXN0XGZQIGFyZ3VtZW50LiAgVXNlIHRoaXMKK2FyZ3VtZW50IHRvIGN1c3RvbWl6ZSB0aGUgY29tbWFuZCBvdXRwdXQuICBTcGVjaWZ5IGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YKK2NvbHVtbiBsYWJlbHMgdG8gbGltaXQgdGhlIG91dHB1dCB0YWJsZSB0byBvbmx5IHRoZSBzcGVjaWZpZWQgY29sdW1ucywgYXJyYW5nZWQKK2luIHRoZSBzcGVjaWZpZWQgb3JkZXIuICBTZWUgXGZCQ09MVU1OU1xmUCBmb3IgYSBsaXN0IG9mIHZhbGlkIGNvbHVtbiBsYWJlbHMuICBUaGUKK2NvbHVtbiBsYWJlbHMgYXJlIG5vdCBjYXNlIHNlbnNpdGl2ZS4KKy5zcAorTm90IGFsbCBjb2x1bW5zIGFyZSBzdXBwb3J0ZWQgb24gYWxsIGFyY2hpdGVjdHVyZXMuICBJZiBhbiB1bnN1cHBvcnRlZCBjb2x1bW4gaXMKK3NwZWNpZmllZCwgXGZCbHNjcHVcZlAgcHJpbnRzIHRoZSBjb2x1bW4gYnV0IGRvZXMgbm90IHByb3ZpZGUgYW55IGRhdGEgZm9yIGl0LgorCisuU1MgQ09MVU1OUworTm90ZSB0aGF0IHRvcG9sb2d5IGVsZW1lbnRzIChjb3JlLCBzb2NrZXQsIGV0Yy4pIHVzZSBhIHNlcXVlbnRpYWwgdW5pcXVlIElECitzdGFydGluZyBmcm9tIHplcm8sIGJ1dCBDUFUgbG9naWNhbCBudW1iZXJzIGZvbGxvdyB0aGUga2VybmVsIHdoZXJlIHRoZXJlIGlzCitubyBndWFyYW50ZWUgb2Ygc2VxdWVudGlhbCBudW1iZXJpbmcuCisuVFAKKy5CIENQVQorVGhlIGxvZ2ljYWwgQ1BVIG51bWJlciBvZiBhIENQVSBhcyB1c2VkIGJ5IHRoZSBMaW51eCBrZXJuZWwuCisuVFAKKy5CIENPUkUKK1RoZSBsb2dpY2FsIGNvcmUgbnVtYmVyLiAgQSBjb3JlIGNhbiBjb250YWluIHNldmVyYWwgQ1BVcy4KKy5UUAorLkIgU09DS0VUCitUaGUgbG9naWNhbCBzb2NrZXQgbnVtYmVyLiAgQSBzb2NrZXQgY2FuIGNvbnRhaW4gc2V2ZXJhbCBjb3Jlcy4KKy5UUAorLkIgQk9PSworVGhlIGxvZ2ljYWwgYm9vayBudW1iZXIuICBBIGJvb2sgY2FuIGNvbnRhaW4gc2V2ZXJhbCBzb2NrZXRzLgorLlRQCisuQiBEUkFXRVIKK1RoZSBsb2dpY2FsIGRyYXdlciBudW1iZXIuICBBIGRyYXdlciBjYW4gY29udGFpbiBzZXZlcmFsIGJvb2tzLgorLlRQCisuQiBOT0RFCitUaGUgbG9naWNhbCBOVU1BIG5vZGUgbnVtYmVyLiAgQSBub2RlIGNhbiBjb250YWluIHNldmVyYWwgZHJhd2Vycy4KKy5UUAorLkIgQ0FDSEUKK0luZm9ybWF0aW9uIGFib3V0IGhvdyBjYWNoZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIENQVXMuCisuVFAKKy5CIEFERFJFU1MKK1RoZSBwaHlzaWNhbCBhZGRyZXNzIG9mIGEgQ1BVLgorLlRQCisuQiBPTkxJTkUKK0luZGljYXRvciB0aGF0IHNob3dzIHdoZXRoZXIgdGhlIExpbnV4IGluc3RhbmNlIGN1cnJlbnRseSBtYWtlcyB1c2Ugb2YgdGhlIENQVS4KKy5UUAorLkIgQ09ORklHVVJFRAorSW5kaWNhdG9yIHRoYXQgc2hvd3MgaWYgdGhlIGh5cGVydmlzb3IgaGFzIGFsbG9jYXRlZCB0aGUgQ1BVIHRvIHRoZSB2aXJ0dWFsCitoYXJkd2FyZSBvbiB3aGljaCB0aGUgTGludXggaW5zdGFuY2UgcnVucy4gIENQVXMgdGhhdCBhcmUgY29uZmlndXJlZCBjYW4gYmUgc2V0CitvbmxpbmUgYnkgdGhlIExpbnV4IGluc3RhbmNlLgorVGhpcyBjb2x1bW4gY29udGFpbnMgZGF0YSBvbmx5IGlmIHlvdXIgaGFyZHdhcmUgc3lzdGVtIGFuZCBoeXBlcnZpc29yIHN1cHBvcnQKK2R5bmFtaWMgQ1BVIHJlc291cmNlIGFsbG9jYXRpb24uCisuVFAKKy5CIFBPTEFSSVpBVElPTgorVGhpcyBjb2x1bW4gY29udGFpbnMgZGF0YSBmb3IgTGludXggaW5zdGFuY2VzIHRoYXQgcnVuIG9uIHZpcnR1YWwgaGFyZHdhcmUgd2l0aAorYSBoeXBlcnZpc29yIHRoYXQgY2FuIHN3aXRjaCB0aGUgQ1BVIGRpc3BhdGNoaW5nIG1vZGUgKHBvbGFyaXphdGlvbikuICBUaGUKK3BvbGFyaXphdGlvbiBjYW4gYmU6CisuUlMKKy5UUCAxMgorLkIgaG9yaXpvbnRhbFxmUAorVGhlIHdvcmtsb2FkIGlzIHNwcmVhZCBhY3Jvc3MgYWxsIGF2YWlsYWJsZSBDUFVzLgorLlRQIDEyCisuQiB2ZXJ0aWNhbAorVGhlIHdvcmtsb2FkIGlzIGNvbmNlbnRyYXRlZCBvbiBmZXcgQ1BVcy4KKy5QCitGb3IgdmVydGljYWwgcG9sYXJpemF0aW9uLCB0aGUgY29sdW1uIGFsc28gc2hvd3MgdGhlIGRlZ3JlZSBvZiBjb25jZW50cmF0aW9uLAoraGlnaCwgbWVkaXVtLCBvciBsb3cuICBUaGlzIGNvbHVtbiBjb250YWlucyBkYXRhIG9ubHkgaWYgeW91ciBoYXJkd2FyZSBzeXN0ZW0KK2FuZCBoeXBlcnZpc29yIHN1cHBvcnQgQ1BVIHBvbGFyaXphdGlvbi4KKy5SRQorLlRQCisuQiBNQVhNSFoKK01heGltdW0gbWVnYWhlcnR6IHZhbHVlIGZvciB0aGUgQ1BVLiBVc2VmdWwgd2hlbiBcZkJsc2NwdVxmUCBpcyB1c2VkIGFzIGhhcmR3YXJlCitpbnZlbnRvcnkgaW5mb3JtYXRpb24gZ2F0aGVyaW5nIHRvb2wuICBOb3RpY2UgdGhhdCB0aGUgbWVnYWhlcnR6IHZhbHVlIGlzCitkeW5hbWljLCBhbmQgZHJpdmVuIGJ5IENQVSBnb3Zlcm5vciBkZXBlbmRpbmcgb24gY3VycmVudCByZXNvdXJjZSBuZWVkLgorLlRQCisuQiBNSU5NSFoKK01pbmltdW0gbWVnYWhlcnR6IHZhbHVlIGZvciB0aGUgQ1BVLgorLlNIIE9QVElPTlMKKy5UUAorLkJSIFwtYSAsICIgXC1cLWFsbCIKK0luY2x1ZGUgbGluZXMgZm9yIG9ubGluZSBhbmQgb2ZmbGluZSBDUFVzIGluIHRoZSBvdXRwdXQgKGRlZmF1bHQgZm9yIFxmQi1lXGZSKS4KK1RoaXMgb3B0aW9uIG1heSBvbmx5IGJlIHNwZWNpZmllZCB0b2dldGhlciB3aXRoIG9wdGlvbiBcZkItZVxmUiBvciBcZkItcFxmUi4KKy5UUAorLkJSIFwtYiAsICIgXC1cLW9ubGluZSIKK0xpbWl0IHRoZSBvdXRwdXQgdG8gb25saW5lIENQVXMgKGRlZmF1bHQgZm9yIFxmQi1wXGZSKS4KK1RoaXMgb3B0aW9uIG1heSBvbmx5IGJlIHNwZWNpZmllZCB0b2dldGhlciB3aXRoIG9wdGlvbiBcZkItZVxmUiBvciBcZkItcFxmUi4KKy5UUAorLkJSIFwtYyAsICIgXC1cLW9mZmxpbmUiCitMaW1pdCB0aGUgb3V0cHV0IHRvIG9mZmxpbmUgQ1BVcy4KK1RoaXMgb3B0aW9uIG1heSBvbmx5IGJlIHNwZWNpZmllZCB0b2dldGhlciB3aXRoIG9wdGlvbiBcZkItZVxmUiBvciBcZkItcFxmUi4KKy5UUAorLkJSIFwtZSAsICIgXC1cLWV4dGVuZGVkIiBbPVxmSWxpc3RcZlBdCitEaXNwbGF5IHRoZSBDUFUgaW5mb3JtYXRpb24gaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0LgorCitJZiB0aGUgXGZJbGlzdFxmUCBhcmd1bWVudCBpcyBvbWl0dGVkLCBhbGwgY29sdW1ucyBmb3Igd2hpY2ggZGF0YSBpcyBhdmFpbGFibGUKK2FyZSBpbmNsdWRlZCBpbiB0aGUgY29tbWFuZCBvdXRwdXQuCisKK1doZW4gc3BlY2lmeWluZyB0aGUgXGZJbGlzdFxmUCBhcmd1bWVudCwgdGhlIHN0cmluZyBvZiBvcHRpb24sIGVxdWFsIHNpZ24gKD0pLCBhbmQKK1xmSWxpc3RcZlAgbXVzdCBub3QgY29udGFpbiBhbnkgYmxhbmtzIG9yIG90aGVyIHdoaXRlc3BhY2UuCitFeGFtcGxlczogJ1xmQi1lPWNwdSxub2RlXGZQJyBvciAnXGZCLS1leHRlbmRlZD1jcHUsbm9kZVxmUCcuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuVFAKKy5CUiBcLXAgLCAiIFwtXC1wYXJzZSIgWz1cZklsaXN0XGZQXQorT3B0aW1pemUgdGhlIGNvbW1hbmQgb3V0cHV0IGZvciBlYXN5IHBhcnNpbmcuCisKK0lmIHRoZSBcZklsaXN0XGZQIGFyZ3VtZW50IGlzIG9taXR0ZWQsIHRoZSBjb21tYW5kIG91dHB1dCBpcyBjb21wYXRpYmxlIHdpdGggZWFybGllcgordmVyc2lvbnMgb2YgXGZCbHNjcHVcZlAuICBJbiB0aGlzIGNvbXBhdGlibGUgZm9ybWF0LCB0d28gY29tbWFzIGFyZSB1c2VkIHRvIHNlcGFyYXRlCitDUFUgY2FjaGUgY29sdW1ucy4gIElmIG5vIENQVSBjYWNoZXMgYXJlIGlkZW50aWZpZWQgdGhlIGNhY2hlIGNvbHVtbiBpcyBvbWl0dGVkLgorLmJyCitJZiB0aGUgXGZJbGlzdFxmUCBhcmd1bWVudCBpcyB1c2VkLCBjYWNoZSBjb2x1bW5zIGFyZSBzZXBhcmF0ZWQgd2l0aCBhIGNvbG9uICg6KS4KKworV2hlbiBzcGVjaWZ5aW5nIHRoZSBcZklsaXN0XGZQIGFyZ3VtZW50LCB0aGUgc3RyaW5nIG9mIG9wdGlvbiwgZXF1YWwgc2lnbiAoPSksIGFuZAorXGZJbGlzdFxmUCBtdXN0IG5vdCBjb250YWluIGFueSBibGFua3Mgb3Igb3RoZXIgd2hpdGVzcGFjZS4KK0V4YW1wbGVzOiAnXGZCLXA9Y3B1LG5vZGVcZlAnIG9yICdcZkItLXBhcnNlPWNwdSxub2RlXGZQJy4KKy5UUAorLkJSIFwtcyAsICIgXC1cLXN5c3Jvb3QgIiBcZklkaXJlY3RvcnlcZlAKK0dhdGhlciBDUFUgZGF0YSBmb3IgYSBMaW51eCBpbnN0YW5jZSBvdGhlciB0aGFuIHRoZSBpbnN0YW5jZSBmcm9tIHdoaWNoIHRoZQorXGZCbHNjcHVcZlAgY29tbWFuZCBpcyBpc3N1ZWQuICBUaGUgc3BlY2lmaWVkIFxmSWRpcmVjdG9yeVxmUCBpcyB0aGUgc3lzdGVtIHJvb3QKK29mIHRoZSBMaW51eCBpbnN0YW5jZSB0byBiZSBpbnNwZWN0ZWQuCisuVFAKKy5CUiBcLXggLCAiIFwtXC1oZXgiCitVc2UgaGV4YWRlY2ltYWwgbWFza3MgZm9yIENQVSBzZXRzIChmb3IgZXhhbXBsZSAweDMpLiAgVGhlIGRlZmF1bHQgaXMgdG8gcHJpbnQKK3RoZSBzZXRzIGluIGxpc3QgZm9ybWF0IChmb3IgZXhhbXBsZSAwLDEpLgorLlRQCisuQlIgXC15ICwgIiBcLVwtcGh5c2ljYWwiCitEaXNwbGF5IHBoeXNpY2FsIElEcyBmb3IgYWxsIGNvbHVtbnMgd2l0aCB0b3BvbG9neSBlbGVtZW50cyAoY29yZSwgc29ja2V0LCBldGMuKS4KK090aGVyIHRoYW4gbG9naWNhbCBJRHMsIHdoaWNoIGFyZSBhc3NpZ25lZCBieSBcZkJsc2NwdVxmUCwgcGh5c2ljYWwgSURzIGFyZQorcGxhdGZvcm0tc3BlY2lmaWMgdmFsdWVzIHRoYXQgYXJlIHByb3ZpZGVkIGJ5IHRoZSBrZXJuZWwuIFBoeXNpY2FsIElEcyBhcmUgbm90CituZWNlc3NhcmlseSB1bmlxdWUgYW5kIHRoZXkgbWlnaHQgbm90IGJlIGFycmFuZ2VkIHNlcXVlbnRpYWxseS4KK0lmIHRoZSBrZXJuZWwgY291bGQgbm90IHJldHJpZXZlIGEgcGh5c2ljYWwgSUQgZm9yIGFuIGVsZW1lbnQgXGZCbHNjcHVcZlAgcHJpbnRzCit0aGUgZGFzaCAoLSkgY2hhcmFjdGVyLgorCitUaGUgQ1BVIGxvZ2ljYWwgbnVtYmVycyBhcmUgbm90IGFmZmVjdGVkIGJ5IHRoaXMgb3B0aW9uLgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5TSCBCVUdTCitUaGUgYmFzaWMgb3ZlcnZpZXcgb2YgQ1BVIGZhbWlseSwgbW9kZWwsIGV0Yy4gaXMgYWx3YXlzIGJhc2VkIG9uIHRoZSBmaXJzdAorQ1BVIG9ubHkuCisKK1NvbWV0aW1lcyBpbiBYZW4gRG9tMCB0aGUga2VybmVsIHJlcG9ydHMgd3JvbmcgZGF0YS4KKworT24gdmlydHVhbCBoYXJkd2FyZSB0aGUgbnVtYmVyIG9mIGNvcmVzIHBlciBzb2NrZXQsIGV0Yy4gY2FuIGJlIHdyb25nLgorLlNIIEFVVEhPUgorLm5mCitDYWkgUWlhbiA8cWNhaUByZWRoYXQuY29tPgorS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CitIZWlrbyBDYXJzdGVucyA8aGVpa28uY2Fyc3RlbnNAZGUuaWJtLmNvbT4KKy5maQorLlNIICJTRUUgQUxTTyIKKy5CUiBjaGNwdSAoOCkKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBsc2NwdSBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2Z0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9sc2NwdS5jIGIvc3lzLXV0aWxzL2xzY3B1LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTBhYTcxNAotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9sc2NwdS5jCkBAIC0wLDAgKzEsMjE2NSBAQAorLyoKKyAqIGxzY3B1IC0gQ1BVIGFyY2hpdGVjdHVyZSBpbmZvcm1hdGlvbiBoZWxwZXIKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggQ2FpIFFpYW4gPHFjYWlAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdvdWxkIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgKiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqLworCisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxkaXJlbnQuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisKKyNpZiAoZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9faTM4Nl9fKSkKKyMgaWYgIWRlZmluZWQoIF9fU0FOSVRJWkVfQUREUkVTU19fKQorIyAgZGVmaW5lIElOQ0xVREVfVk1XQVJFX0JET09SCisjIGVsc2UKKyMgIHdhcm5pbmcgVk1XQVJFIGRldGVjdGlvbiBkaXNhYmxlZCBieSBfX1NBTklUSVpFX0FERFJFU1NfXworIyBlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBJTkNMVURFX1ZNV0FSRV9CRE9PUgorIyBpbmNsdWRlIDxzdGRpbnQuaD4KKyMgaW5jbHVkZSA8c2lnbmFsLmg+CisjIGluY2x1ZGUgPHN0cmluZ3MuaD4KKyMgaW5jbHVkZSA8c2V0am1wLmg+CisjIGlmZGVmIEhBVkVfU1lTX0lPX0gKKyMgIGluY2x1ZGUgPHN5cy9pby5oPgorIyBlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKEhBVkVfTElCUlRBUykKKyNpbmNsdWRlIDxsaWJydGFzLmg+CisjZW5kaWYKKworI2luY2x1ZGUgPGxpYnNtYXJ0Y29scy5oPgorCisjaW5jbHVkZSAiY3B1c2V0LmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAiYml0b3BzLmgiCisjaW5jbHVkZSAicGF0aC5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAib3B0dXRpbHMuaCIKKyNpbmNsdWRlICJsc2NwdS5oIgorCisjZGVmaW5lIENBQ0hFX01BWCAxMDAKKworLyogL3N5cyBwYXRocyAqLworI2RlZmluZSBfUEFUSF9TWVNfU1lTVEVNCSIvc3lzL2RldmljZXMvc3lzdGVtIgorI2RlZmluZSBfUEFUSF9TWVNfSFlQX0ZFQVRVUkVTICIvc3lzL2h5cGVydmlzb3IvcHJvcGVydGllcy9mZWF0dXJlcyIKKyNkZWZpbmUgX1BBVEhfU1lTX0NQVQkJX1BBVEhfU1lTX1NZU1RFTSAiL2NwdSIKKyNkZWZpbmUgX1BBVEhfU1lTX05PREUJCV9QQVRIX1NZU19TWVNURU0gIi9ub2RlIgorI2RlZmluZSBfUEFUSF9QUk9DX1hFTgkJIi9wcm9jL3hlbiIKKyNkZWZpbmUgX1BBVEhfUFJPQ19YRU5DQVAJX1BBVEhfUFJPQ19YRU4gIi9jYXBhYmlsaXRpZXMiCisjZGVmaW5lIF9QQVRIX1BST0NfQ1BVSU5GTwkiL3Byb2MvY3B1aW5mbyIKKyNkZWZpbmUgX1BBVEhfUFJPQ19QQ0lERVZTCSIvcHJvYy9idXMvcGNpL2RldmljZXMiCisjZGVmaW5lIF9QQVRIX1BST0NfU1lTSU5GTwkiL3Byb2Mvc3lzaW5mbyIKKyNkZWZpbmUgX1BBVEhfUFJPQ19TVEFUVVMJIi9wcm9jL3NlbGYvc3RhdHVzIgorI2RlZmluZSBfUEFUSF9QUk9DX1ZaCSIvcHJvYy92eiIKKyNkZWZpbmUgX1BBVEhfUFJPQ19CQwkiL3Byb2MvYmMiCisjZGVmaW5lIF9QQVRIX1BST0NfREVWSUNFVFJFRQkiL3Byb2MvZGV2aWNlLXRyZWUiCisjZGVmaW5lIF9QQVRIX0RFVl9NRU0gCQkiL2Rldi9tZW0iCisjZGVmaW5lIF9QQVRIX1BST0NfT1NSRUxFQVNFCSIvcHJvYy9zeXMva2VybmVsL29zcmVsZWFzZSIKKworLyogWGVuIERvbWFpbiBmZWF0dXJlIGZsYWcgdXNlZCBmb3IgL3N5cy9oeXBlcnZpc29yL3Byb3BlcnRpZXMvZmVhdHVyZXMgKi8KKyNkZWZpbmUgWEVORkVBVF9zdXBlcnZpc29yX21vZGVfa2VybmVsCQkzCisjZGVmaW5lIFhFTkZFQVRfbW11X3B0X3VwZGF0ZV9wcmVzZXJ2ZV9hZAk1CisjZGVmaW5lIFhFTkZFQVRfaHZtX2NhbGxiYWNrX3ZlY3RvcgkJCTgKKworI2RlZmluZSBYRU5fRkVBVFVSRVNfUFZfTUFTSwkoMVUgPDwgWEVORkVBVF9tbXVfcHRfdXBkYXRlX3ByZXNlcnZlX2FkKQorI2RlZmluZSBYRU5fRkVBVFVSRVNfUFZIX01BU0sJKCAoMVUgPDwgWEVORkVBVF9zdXBlcnZpc29yX21vZGVfa2VybmVsKSBcCisJCQkJCQkJCXwgKDFVIDw8IFhFTkZFQVRfaHZtX2NhbGxiYWNrX3ZlY3RvcikgKQorCisvKiB2aXJ0dWFsaXphdGlvbiB0eXBlcyAqLworZW51bSB7CisJVklSVF9OT05FCT0gMCwKKwlWSVJUX1BBUkEsCisJVklSVF9GVUxMLAorCVZJUlRfQ09OVAorfTsKK2NvbnN0IGNoYXIgKnZpcnRfdHlwZXNbXSA9IHsKKwlbVklSVF9OT05FXQk9IE5fKCJub25lIiksCisJW1ZJUlRfUEFSQV0JPSBOXygicGFyYSIpLAorCVtWSVJUX0ZVTExdCT0gTl8oImZ1bGwiKSwKKwlbVklSVF9DT05UXQk9IE5fKCJjb250YWluZXIiKSwKK307CisKK2NvbnN0IGNoYXIgKmh2X3ZlbmRvcnNbXSA9IHsKKwlbSFlQRVJfTk9ORV0JPSBOVUxMLAorCVtIWVBFUl9YRU5dCT0gIlhlbiIsCisJW0hZUEVSX0tWTV0JPSAiS1ZNIiwKKwlbSFlQRVJfTVNIVl0JPSAiTWljcm9zb2Z0IiwKKwlbSFlQRVJfVk1XQVJFXSAgPSAiVk13YXJlIiwKKwlbSFlQRVJfSUJNXQk9ICJJQk0iLAorCVtIWVBFUl9WU0VSVkVSXQk9ICJMaW51eC1WU2VydmVyIiwKKwlbSFlQRVJfVU1MXQk9ICJVc2VyLW1vZGUgTGludXgiLAorCVtIWVBFUl9JTk5PVEVLXQk9ICJJbm5vdGVrIEdtYkgiLAorCVtIWVBFUl9ISVRBQ0hJXQk9ICJIaXRhY2hpIiwKKwlbSFlQRVJfUEFSQUxMRUxTXSA9ICJQYXJhbGxlbHMiLAorCVtIWVBFUl9WQk9YXQk9ICJPcmFjbGUiLAorCVtIWVBFUl9PUzQwMF0JPSAiT1MvNDAwIiwKKwlbSFlQRVJfUEhZUF0JPSAicEh5cCIsCisJW0hZUEVSX1NQQVJdCT0gIlVuaXN5cyBzLVBhciIsCisJW0hZUEVSX1dTTF0JPSAiV2luZG93cyBTdWJzeXN0ZW0gZm9yIExpbnV4IgorfTsKKworY29uc3QgaW50IGh2X3ZlbmRvcl9wY2lbXSA9IHsKKwlbSFlQRVJfTk9ORV0JPSAweDAwMDAsCisJW0hZUEVSX1hFTl0JPSAweDU4NTMsCisJW0hZUEVSX0tWTV0JPSAweDAwMDAsCisJW0hZUEVSX01TSFZdCT0gMHgxNDE0LAorCVtIWVBFUl9WTVdBUkVdCT0gMHgxNWFkLAorCVtIWVBFUl9WQk9YXQk9IDB4ODBlZSwKK307CisKK2NvbnN0IGludCBodl9ncmFwaGljc19wY2lbXSA9IHsKKwlbSFlQRVJfTk9ORV0JPSAweDAwMDAsCisJW0hZUEVSX1hFTl0JPSAweDAwMDEsCisJW0hZUEVSX0tWTV0JPSAweDAwMDAsCisJW0hZUEVSX01TSFZdCT0gMHg1MzUzLAorCVtIWVBFUl9WTVdBUkVdCT0gMHgwNzEwLAorCVtIWVBFUl9WQk9YXQk9IDB4YmVlZiwKK307CisKKy8qIENQVSBtb2RlcyAqLworZW51bSB7CisJTU9ERV8zMkJJVAk9ICgxIDw8IDEpLAorCU1PREVfNjRCSVQJPSAoMSA8PCAyKQorfTsKKworLyogY2FjaGUocykgZGVzY3JpcHRpb24gKi8KK3N0cnVjdCBjcHVfY2FjaGUgeworCWNoYXIJCSpuYW1lOworCWNoYXIJCSpzaXplOworCisJaW50CQluc2hhcmVkbWFwczsKKwljcHVfc2V0X3QJKipzaGFyZWRtYXBzOworfTsKKworLyogZGlzcGF0Y2hpbmcgbW9kZXMgKi8KK2VudW0geworCURJU1BfSE9SSVpPTlRBTCA9IDAsCisJRElTUF9WRVJUSUNBTAk9IDEKK307CisKK2NvbnN0IGNoYXIgKmRpc3BfbW9kZXNbXSA9IHsKKwlbRElTUF9IT1JJWk9OVEFMXQk9IE5fKCJob3Jpem9udGFsIiksCisJW0RJU1BfVkVSVElDQUxdCQk9IE5fKCJ2ZXJ0aWNhbCIpCit9OworCisvKiBjcHUgcG9sYXJpemF0aW9uICovCitlbnVtIHsKKwlQT0xBUl9VTktOT1dOCT0gMCwKKwlQT0xBUl9WTE9XLAorCVBPTEFSX1ZNRURJVU0sCisJUE9MQVJfVkhJR0gsCisJUE9MQVJfSE9SSVpPTlRBTAorfTsKKworc3RydWN0IHBvbGFyaXphdGlvbl9tb2RlcyB7CisJY2hhciAqcGFyc2FibGU7CisJY2hhciAqcmVhZGFibGU7Cit9OworCitzdHJ1Y3QgcG9sYXJpemF0aW9uX21vZGVzIHBvbGFyX21vZGVzW10gPSB7CisJW1BPTEFSX1VOS05PV05dCSAgID0geyJVIiwgICItIn0sCisJW1BPTEFSX1ZMT1ddCSAgID0geyJWTCIsICJ2ZXJ0LWxvdyJ9LAorCVtQT0xBUl9WTUVESVVNXQkgICA9IHsiVk0iLCAidmVydC1tZWRpdW0ifSwKKwlbUE9MQVJfVkhJR0hdCSAgID0geyJWSCIsICJ2ZXJ0LWhpZ2gifSwKKwlbUE9MQVJfSE9SSVpPTlRBTF0gPSB7IkgiLCAgImhvcml6b250YWwifSwKK307CisKKy8qIGdsb2JhbCBkZXNjcmlwdGlvbiAqLworc3RydWN0IGxzY3B1X2Rlc2MgeworCWNoYXIJKmFyY2g7CisJY2hhcgkqdmVuZG9yOworCWNoYXIJKm1hY2hpbmV0eXBlOwkvKiBzMzkwICovCisJY2hhcgkqZmFtaWx5OworCWNoYXIJKm1vZGVsOworCWNoYXIJKm1vZGVsbmFtZTsKKwljaGFyCSpyZXZpc2lvbjsgIC8qIGFsdGVybmF0aXZlIGZvciBtb2RlbCAocHBjKSAqLworCWNoYXIJKmNwdTsgICAgICAgLyogYWx0ZXJuYXRpdmUgZm9yIG1vZGVsbmFtZSAocHBjLCBzcGFyYykgKi8KKwljaGFyCSp2aXJ0ZmxhZzsJLyogdmlydHVhbGl6YXRpb24gZmxhZyAodm14LCBzdm0pICovCisJY2hhcgkqaHlwZXJ2aXNvcjsJLyogaHlwZXJ2aXNvciBzb2Z0d2FyZSAqLworCWludAloeXBlcjsJCS8qIGh5cGVydmlzb3IgdmVuZG9yIElEICovCisJaW50CXZpcnR5cGU7CS8qIFZJUlRfUEFSQXxGVUxMfE5PTkUgPyAqLworCWNoYXIJKm1oejsKKwljaGFyCSpkeW5hbWljX21oejsJLyogZHluYW1pYyBtZWdhIGhlcnR6IChzMzkwKSAqLworCWNoYXIJKnN0YXRpY19taHo7CS8qIHN0YXRpYyBtZWdhIGhlcnR6IChzMzkwKSAqLworCWNoYXIJKiptYXhtaHo7CS8qIG1heGltdW0gbWVnYSBoZXJ0eiAqLworCWNoYXIJKiptaW5taHo7CS8qIG1pbmltdW0gbWVnYSBoZXJ0eiAqLworCWNoYXIJKnN0ZXBwaW5nOworCWNoYXIgICAgKmJvZ29taXBzOworCWNoYXIJKmZsYWdzOworCWNoYXIJKm10aWQ7CQkvKiBtYXhpbXVtIHRocmVhZCBpZCAoczM5MCkgKi8KKwlpbnQJZGlzcGF0Y2hpbmc7CS8qIG5vbmUsIGhvcml6b250YWwgb3IgdmVydGljYWwgKi8KKwlpbnQJbW9kZTsJCS8qIHJtLCBsbSBvci9hbmQgdG0gKi8KKworCWludAkJbmNwdXNwb3M7CS8qIG1heGltYWwgcG9zc2libGUgQ1BVcyAqLworCWludAkJbmNwdXM7CQkvKiBudW1iZXIgb2YgcHJlc2VudCBDUFVzICovCisJY3B1X3NldF90CSpwcmVzZW50OwkvKiBtYXNrIHdpdGggcHJlc2VudCBDUFVzICovCisJY3B1X3NldF90CSpvbmxpbmU7CS8qIG1hc2sgd2l0aCBvbmxpbmUgQ1BVcyAqLworCisJaW50CQludGhyZWFkczsJLyogbnVtYmVyIG9mIG9ubGluZSB0aHJlYWRzICovCisKKwlpbnQJCW5jYWNoZXM7CisJc3RydWN0IGNwdV9jYWNoZSAqY2FjaGVzOworCisJaW50CQluZWNhY2hlczsJLyogZXh0cmEgY2FjaGVzIChzMzkwKSAqLworCXN0cnVjdCBjcHVfY2FjaGUgKmVjYWNoZXM7CisKKwkvKgorCSAqIEFsbCBtYXBzIGFyZSBzZXF1ZW50aWFsbHkgaW5kZXhlZCAoMC4ubmNwdXNwb3MpLCB0aGUgYXJyYXkgaW5kZXgKKwkgKiBkb2VzIG5vdCBoYXZlIG1hdGNoIHdpdGggY3B1WCBudW1iZXIgYXMgcHJlc2VudGVkIGJ5IGtlcm5lbC4gWW91CisJICogaGF2ZSB0byB1c2UgcmVhbF9jcHVfbnVtKCkgdG8gZ2V0IHRoZSByZWFsIGNwdVggbnVtYmVyLgorCSAqCisJICogRm9yIGV4YW1wbGUsIHRoZSBwb3NzaWJsZSBzeXN0ZW0gQ1BVcyBhcmU6IDEsMyw1LCBpdCBtZWFucyB0aGF0CisJICogbmNwdXNwb3M9Mywgc28gYWxsIGFycmF5cyBhcmUgaW4gcmFuZ2UgMC4uMy4KKwkgKi8KKwlpbnQJCSppZHgyY3B1bnVtOwkvKiBtYXBwaW5nIGluZGV4IHRvIENQVSBudW0gKi8KKworCWludAkJbm5vZGVzOwkJLyogbnVtYmVyIG9mIE5VTUEgbW9kZXMgKi8KKwlpbnQJCSppZHgybm9kZW51bTsJLyogU3VwcG9ydCBmb3IgZGlzY29udGludW91cyBub2RlcyAqLworCWNwdV9zZXRfdAkqKm5vZGVtYXBzOwkvKiBhcnJheSB3aXRoIE5VTUEgbm9kZXMgKi8KKworCS8qIGRyYXdlcnMgLS0gYmFzZWQgb24gZHJhd2VyX3NpYmxpbmdzIChpbnRlcm5hbCBrZXJuZWwgbWFwIG9mIGNwdVgncworCSAqIGhhcmR3YXJlIHRocmVhZHMgd2l0aGluIHRoZSBzYW1lIGRyYXdlciAqLworCWludAkJbmRyYXdlcnM7CS8qIG51bWJlciBvZiBhbGwgb25saW5lIGRyYXdlcnMgKi8KKwljcHVfc2V0X3QJKipkcmF3ZXJtYXBzOwkvKiB1bmlxdWUgZHJhd2VyX3NpYmxpbmdzICovCisJaW50CQkqZHJhd2VyaWRzOwkvKiBwaHlzaWNhbCBkcmF3ZXIgaWRzICovCisKKwkvKiBib29rcyAtLSBiYXNlZCBvbiBib29rX3NpYmxpbmdzIChpbnRlcm5hbCBrZXJuZWwgbWFwIG9mIGNwdVgncworCSAqIGhhcmR3YXJlIHRocmVhZHMgd2l0aGluIHRoZSBzYW1lIGJvb2sgKi8KKwlpbnQJCW5ib29rczsJCS8qIG51bWJlciBvZiBhbGwgb25saW5lIGJvb2tzICovCisJY3B1X3NldF90CSoqYm9va21hcHM7CS8qIHVuaXF1ZSBib29rX3NpYmxpbmdzICovCisJaW50CQkqYm9va2lkczsJLyogcGh5c2ljYWwgYm9vayBpZHMgKi8KKworCS8qIHNvY2tldHMgLS0gYmFzZWQgb24gY29yZV9zaWJsaW5ncyAoaW50ZXJuYWwga2VybmVsIG1hcCBvZiBjcHVYJ3MKKwkgKiBoYXJkd2FyZSB0aHJlYWRzIHdpdGhpbiB0aGUgc2FtZSBwaHlzaWNhbF9wYWNrYWdlX2lkIChzb2NrZXQpKSAqLworCWludAkJbnNvY2tldHM7CS8qIG51bWJlciBvZiBhbGwgb25saW5lIHNvY2tldHMgKi8KKwljcHVfc2V0X3QJKipzb2NrZXRtYXBzOwkvKiB1bmlxdWUgY29yZV9zaWJsaW5ncyAqLworCWludAkJKnNvY2tldGlkczsJLyogcGh5c2ljYWwgc29ja2V0IGlkcyAqLworCisJLyogY29yZXMgLS0gYmFzZWQgb24gdGhyZWFkX3NpYmxpbmdzIChpbnRlcm5hbCBrZXJuZWwgbWFwIG9mIGNwdVgncworCSAqIGhhcmR3YXJlIHRocmVhZHMgd2l0aGluIHRoZSBzYW1lIGNvcmUgYXMgY3B1WCkgKi8KKwlpbnQJCW5jb3JlczsJCS8qIG51bWJlciBvZiBhbGwgb25saW5lIGNvcmVzICovCisJY3B1X3NldF90CSoqY29yZW1hcHM7CS8qIHVuaXF1ZSB0aHJlYWRfc2libGluZ3MgKi8KKwlpbnQJCSpjb3JlaWRzOwkvKiBwaHlzaWNhbCBjb3JlIGlkcyAqLworCisJaW50CQkqcG9sYXJpemF0aW9uOwkvKiBjcHUgcG9sYXJpemF0aW9uICovCisJaW50CQkqYWRkcmVzc2VzOwkvKiBwaHlzaWNhbCBjcHUgYWRkcmVzc2VzICovCisJaW50CQkqY29uZmlndXJlZDsJLyogY3B1IGNvbmZpZ3VyZWQgKi8KKwlpbnQJCXBoeXNzb2NrZXRzOwkvKiBQaHlzaWNhbCBzb2NrZXRzIChtb2R1bGVzKSAqLworCWludAkJcGh5c2NoaXBzOwkvKiBQaHlzaWNhbCBjaGlwcyAqLworCWludAkJcGh5c2NvcmVzcGVyY2hpcDsJLyogUGh5c2ljYWwgY29yZXMgcGVyIGNoaXAgKi8KK307CisKK2VudW0geworCU9VVFBVVF9TVU1NQVJZCT0gMCwJLyogZGVmYXVsdCAqLworCU9VVFBVVF9QQVJTQUJMRSwJLyogLXAgKi8KKwlPVVRQVVRfUkVBREFCTEUsCS8qIC1lICovCit9OworCitlbnVtIHsKKwlTWVNURU1fTElWRSA9IDAsCS8qIGFuYWx5emluZyBhIGxpdmUgc3lzdGVtICovCisJU1lTVEVNX1NOQVBTSE9ULAkvKiBhbmFseXppbmcgYSBzbmFwc2hvdCBvZiBhIGRpZmZlcmVudCBzeXN0ZW0gKi8KK307CisKK3N0cnVjdCBsc2NwdV9tb2RpZmllciB7CisJaW50CQltb2RlOwkJLyogT1VUUFVUXyogKi8KKwlpbnQJCXN5c3RlbTsJCS8qIFNZU1RFTV8qICovCisJdW5zaWduZWQgaW50CWhleDoxLAkJLyogcHJpbnQgQ1BVIG1hc2tzIHJhdGhlciB0aGFuIENQVSBsaXN0cyAqLworCQkJY29tcGF0OjEsCS8qIHVzZSBiYWNrd2FyZGx5IGNvbXBhdGlibGUgZm9ybWF0ICovCisJCQlvbmxpbmU6MSwJLyogcHJpbnQgb25saW5lIENQVXMgKi8KKwkJCW9mZmxpbmU6MSwJLyogcHJpbnQgb2ZmbGluZSBDUFVzICovCisJCQlwaHlzaWNhbDoxOwkvKiB1c2UgcGh5c2ljYWwgbnVtYmVycyAqLworfTsKKworc3RhdGljIGludCBtYXhjcHVzOwkJLyogc2l6ZSBpbiBiaXRzIG9mIGtlcm5lbCBjcHUgbWFzayAqLworCisjZGVmaW5lIGlzX2NwdV9vbmxpbmUoX2QsIF9jcHUpIFwKKwkoKF9kKSAmJiAoX2QpLT5vbmxpbmUgPyBcCisJCUNQVV9JU1NFVF9TKChfY3B1KSwgQ1BVX0FMTE9DX1NJWkUobWF4Y3B1cyksIChfZCktPm9ubGluZSkgOiAwKQorI2RlZmluZSBpc19jcHVfcHJlc2VudChfZCwgX2NwdSkgXAorCSgoX2QpICYmIChfZCktPnByZXNlbnQgPyBcCisJCUNQVV9JU1NFVF9TKChfY3B1KSwgQ1BVX0FMTE9DX1NJWkUobWF4Y3B1cyksIChfZCktPnByZXNlbnQpIDogMCkKKworI2RlZmluZSByZWFsX2NwdV9udW0oX2QsIF9pKQkoKF9kKS0+aWR4MmNwdW51bVsoX2kpXSkKKworLyoKKyAqIElEcworICovCitlbnVtIHsKKwlDT0xfQ1BVLAorCUNPTF9DT1JFLAorCUNPTF9TT0NLRVQsCisJQ09MX05PREUsCisJQ09MX0JPT0ssCisJQ09MX0RSQVdFUiwKKwlDT0xfQ0FDSEUsCisJQ09MX1BPTEFSSVpBVElPTiwKKwlDT0xfQUREUkVTUywKKwlDT0xfQ09ORklHVVJFRCwKKwlDT0xfT05MSU5FLAorCUNPTF9NQVhNSFosCisJQ09MX01JTk1IWiwKK307CisKKy8qIGNvbHVtbiBkZXNjcmlwdGlvbgorICovCitzdHJ1Y3QgbHNjcHVfY29sZGVzYyB7CisJY29uc3QgY2hhciAqbmFtZTsKKwljb25zdCBjaGFyICpoZWxwOworCisJdW5zaWduZWQgaW50ICBpc19hYmJyOjE7CS8qIG5hbWUgaXMgYWJicmV2aWF0aW9uICovCit9OworCitzdGF0aWMgc3RydWN0IGxzY3B1X2NvbGRlc2MgY29sZGVzY3NbXSA9Cit7CisJW0NPTF9DUFVdICAgICAgICAgID0geyAiQ1BVIiwgTl8oImxvZ2ljYWwgQ1BVIG51bWJlciIpLCAxIH0sCisJW0NPTF9DT1JFXSAgICAgICAgID0geyAiQ09SRSIsIE5fKCJsb2dpY2FsIGNvcmUgbnVtYmVyIikgfSwKKwlbQ09MX1NPQ0tFVF0gICAgICAgPSB7ICJTT0NLRVQiLCBOXygibG9naWNhbCBzb2NrZXQgbnVtYmVyIikgfSwKKwlbQ09MX05PREVdICAgICAgICAgPSB7ICJOT0RFIiwgTl8oImxvZ2ljYWwgTlVNQSBub2RlIG51bWJlciIpIH0sCisJW0NPTF9CT09LXSAgICAgICAgID0geyAiQk9PSyIsIE5fKCJsb2dpY2FsIGJvb2sgbnVtYmVyIikgfSwKKwlbQ09MX0RSQVdFUl0gICAgICAgPSB7ICJEUkFXRVIiLCBOXygibG9naWNhbCBkcmF3ZXIgbnVtYmVyIikgfSwKKwlbQ09MX0NBQ0hFXSAgICAgICAgPSB7ICJDQUNIRSIsIE5fKCJzaG93cyBob3cgY2FjaGVzIGFyZSBzaGFyZWQgYmV0d2VlbiBDUFVzIikgfSwKKwlbQ09MX1BPTEFSSVpBVElPTl0gPSB7ICJQT0xBUklaQVRJT04iLCBOXygiQ1BVIGRpc3BhdGNoaW5nIG1vZGUgb24gdmlydHVhbCBoYXJkd2FyZSIpIH0sCisJW0NPTF9BRERSRVNTXSAgICAgID0geyAiQUREUkVTUyIsIE5fKCJwaHlzaWNhbCBhZGRyZXNzIG9mIGEgQ1BVIikgfSwKKwlbQ09MX0NPTkZJR1VSRURdICAgPSB7ICJDT05GSUdVUkVEIiwgTl8oInNob3dzIGlmIHRoZSBoeXBlcnZpc29yIGhhcyBhbGxvY2F0ZWQgdGhlIENQVSIpIH0sCisJW0NPTF9PTkxJTkVdICAgICAgID0geyAiT05MSU5FIiwgTl8oInNob3dzIGlmIExpbnV4IGN1cnJlbnRseSBtYWtlcyB1c2Ugb2YgdGhlIENQVSIpIH0sCisJW0NPTF9NQVhNSFpdCSAgID0geyAiTUFYTUhaIiwgTl8oInNob3dzIHRoZSBtYXhpbXVtIE1IeiBvZiB0aGUgQ1BVIikgfSwKKwlbQ09MX01JTk1IWl0JICAgPSB7ICJNSU5NSFoiLCBOXygic2hvd3MgdGhlIG1pbmltdW0gTUh6IG9mIHRoZSBDUFUiKSB9Cit9OworCitzdGF0aWMgaW50Citjb2x1bW5fbmFtZV90b19pZChjb25zdCBjaGFyICpuYW1lLCBzaXplX3QgbmFtZXN6KQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoY29sZGVzY3MpOyBpKyspIHsKKwkJY29uc3QgY2hhciAqY24gPSBjb2xkZXNjc1tpXS5uYW1lOworCisJCWlmICghc3RybmNhc2VjbXAobmFtZSwgY24sIG5hbWVzeikgJiYgISooY24gKyBuYW1lc3opKQorCQkJcmV0dXJuIGk7CisJfQorCXdhcm54KF8oInVua25vd24gY29sdW1uOiAlcyIpLCBuYW1lKTsKKwlyZXR1cm4gLTE7Cit9CisKKy8qIExvb2t1cCBhIHBhdHRlcm4gYW5kIGdldCB0aGUgdmFsdWUgZnJvbSBjcHVpbmZvLgorICogRm9ybWF0IGlzOgorICoKKyAqCSI8cGF0dGVybj4gICA6IDxrZXk+IgorICovCitzdGF0aWMgaW50Citsb29rdXAoY2hhciAqbGluZSwgY2hhciAqcGF0dGVybiwgY2hhciAqKnZhbHVlKQoreworCWNoYXIgKnAsICp2OworCWludCBsZW4gPSBzdHJsZW4ocGF0dGVybik7CisKKwkvKiBkb24ndCByZS1maWxsIGFscmVhZHkgZm91bmQgdGFncywgZmlyc3Qgb25lIHdpbnMgKi8KKwlpZiAoISpsaW5lIHx8ICp2YWx1ZSkKKwkJcmV0dXJuIDA7CisKKwkvKiBwYXR0ZXJuICovCisJaWYgKHN0cm5jbXAobGluZSwgcGF0dGVybiwgbGVuKSkKKwkJcmV0dXJuIDA7CisKKwkvKiB3aGl0ZSBzcGFjZXMgKi8KKwlmb3IgKHAgPSBsaW5lICsgbGVuOyBpc3NwYWNlKCpwKTsgcCsrKTsKKworCS8qIHNlcGFyYXRvciAqLworCWlmICgqcCAhPSAnOicpCisJCXJldHVybiAwOworCisJLyogd2hpdGUgc3BhY2VzICovCisJZm9yICgrK3A7IGlzc3BhY2UoKnApOyBwKyspOworCisJLyogdmFsdWUgKi8KKwlpZiAoISpwKQorCQlyZXR1cm4gMDsKKwl2ID0gcDsKKworCS8qIGVuZCBvZiB2YWx1ZSAqLworCWxlbiA9IHN0cmxlbihsaW5lKSAtIDE7CisJZm9yIChwID0gbGluZSArIGxlbjsgaXNzcGFjZSgqKHAtMSkpOyBwLS0pOworCSpwID0gJ1wwJzsKKworCSp2YWx1ZSA9IHhzdHJkdXAodik7CisJcmV0dXJuIDE7Cit9CisKKy8qIFBhcnNlIGV4dHJhIGNhY2hlIGxpbmVzIGNvbnRhaW5lZCB3aXRoaW4gL3Byb2MvY3B1aW5mbyBidXQgd2hpY2ggYXJlIG5vdAorICogcGFydCBvZiB0aGUgY2FjaGUgdG9wb2xvZ3kgaW5mb3JtYXRpb24gd2l0aGluIHRoZSBzeXNmcyBmaWxlc3lzdGVtLgorICogVGhpcyBpcyB0cnVlIGZvciBhbGwgc2hhcmVkIGNhY2hlcyBvbiBlLmcuIHMzOTAuIFdoZW4gdGhlcmUgYXJlIGxheWVycyBvZgorICogaHlwZXJ2aXNvcnMgaW4gYmV0d2VlbiBpdCBpcyBub3Qga25vd3Mgd2hpY2ggQ1BVcyBzaGFyZSB3aGljaCBjYWNoZXMuCisgKiBUaGVyZWZvcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hhcmVkIGNhY2hlcyBpcyBvbmx5IGF2YWlsYWJsZSBpbgorICogL3Byb2MvY3B1aW5mby4KKyAqIEZvcm1hdCBpczoKKyAqICJjYWNoZTxucj4gOiBsZXZlbD08bHZsPiB0eXBlPTx0eXBlPiBzY29wZT08c2NvcGU+IHNpemU9PHNpemU+IGxpbmVfc2l6ZT08bHN6PiBhc3NvY2lhdGl2aXR5PTxhcz4iCisgKi8KK3N0YXRpYyBpbnQKK2xvb2t1cF9jYWNoZShjaGFyICpsaW5lLCBzdHJ1Y3QgbHNjcHVfZGVzYyAqZGVzYykKK3sKKwlzdHJ1Y3QgY3B1X2NhY2hlICpjYWNoZTsKKwlsb25nIGxvbmcgc2l6ZTsKKwljaGFyICpwLCB0eXBlOworCWludCBsZXZlbDsKKworCS8qIE1ha2Ugc3VyZSBsaW5lIHN0YXJ0cyB3aXRoICJjYWNoZTxucj4gOiIgKi8KKwlpZiAoc3RybmNtcChsaW5lLCAiY2FjaGUiLCA1KSkKKwkJcmV0dXJuIDA7CisJZm9yIChwID0gbGluZSArIDU7IGlzZGlnaXQoKnApOyBwKyspOworCWZvciAoOyBpc3NwYWNlKCpwKTsgcCsrKTsKKwlpZiAoKnAgIT0gJzonKQorCQlyZXR1cm4gMDsKKworCXAgPSBzdHJzdHIobGluZSwgInNjb3BlPSIpICsgNjsKKwkvKiBTa2lwIHByaXZhdGUgY2FjaGVzLCBhbHNvIHByZXNlbnQgaW4gc3lzZnMgKi8KKwlpZiAoIXAgfHwgc3RybmNtcChwLCAiUHJpdmF0ZSIsIDcpID09IDApCisJCXJldHVybiAwOworCXAgPSBzdHJzdHIobGluZSwgImxldmVsPSIpOworCWlmICghcCB8fCBzc2NhbmYocCwgImxldmVsPSVkIiwgJmxldmVsKSAhPSAxKQorCQlyZXR1cm4gMDsKKwlwID0gc3Ryc3RyKGxpbmUsICJ0eXBlPSIpICsgNTsKKwlpZiAoIXAgfHwgISpwKQorCQlyZXR1cm4gMDsKKwl0eXBlID0gMDsKKwlpZiAoc3RybmNtcChwLCAiRGF0YSIsIDQpID09IDApCisJCXR5cGUgPSAnZCc7CisJaWYgKHN0cm5jbXAocCwgIkluc3RydWN0aW9uIiwgMTEpID09IDApCisJCXR5cGUgPSAnaSc7CisJcCA9IHN0cnN0cihsaW5lLCAic2l6ZT0iKTsKKwlpZiAoIXAgfHwgc3NjYW5mKHAsICJzaXplPSVsbGQiLCAmc2l6ZSkgIT0gMSkKKwkgICAgICAgcmV0dXJuIDA7CisKKwlkZXNjLT5uZWNhY2hlcysrOworCWRlc2MtPmVjYWNoZXMgPSB4cmVhbGxvYyhkZXNjLT5lY2FjaGVzLAorCQkJCSBkZXNjLT5uZWNhY2hlcyAqIHNpemVvZihzdHJ1Y3QgY3B1X2NhY2hlKSk7CisJY2FjaGUgPSAmZGVzYy0+ZWNhY2hlc1tkZXNjLT5uZWNhY2hlcyAtIDFdOworCW1lbXNldChjYWNoZSwgMCAsIHNpemVvZigqY2FjaGUpKTsKKwlpZiAodHlwZSkKKwkJeGFzcHJpbnRmKCZjYWNoZS0+bmFtZSwgIkwlZCVjIiwgbGV2ZWwsIHR5cGUpOworCWVsc2UKKwkJeGFzcHJpbnRmKCZjYWNoZS0+bmFtZSwgIkwlZCIsIGxldmVsKTsKKwl4YXNwcmludGYoJmNhY2hlLT5zaXplLCAiJWxsZEsiLCBzaXplKTsKKwlyZXR1cm4gMTsKK30KKworLyogRG9uJ3QgaW5pdCB0aGUgbW9kZSBmb3IgcGxhdGZvcm1zIHdoZXJlIHdlIGFyZSBub3QgYWJsZSB0bworICogZGV0ZWN0IHRoYXQgQ1BVIHN1cHBvcnRzIDY0LWJpdCBtb2RlLgorICovCitzdGF0aWMgaW50Citpbml0X21vZGUoc3RydWN0IGxzY3B1X21vZGlmaWVyICptb2QpCit7CisJaW50IG0gPSAwOworCisJaWYgKG1vZC0+c3lzdGVtID09IFNZU1RFTV9TTkFQU0hPVCkKKwkJLyogcmVhZGluZyBpbmZvIGZyb20gYW55IC97c3lzLHByb2N9IGR1bXAsIGRvbid0IG1peCBpdCB3aXRoCisJCSAqIGluZm9ybWF0aW9uIGFib3V0IG91ciByZWFsIENQVSAqLworCQlyZXR1cm4gMDsKKworI2lmIGRlZmluZWQoX19hbHBoYV9fKSB8fCBkZWZpbmVkKF9faWE2NF9fKQorCW0gfD0gTU9ERV82NEJJVDsJLyogNjRiaXQgcGxhdGZvcm1zIG9ubHkgKi8KKyNlbmRpZgorCS8qIHBsYXRmb3JtcyB3aXRoIDY0Yml0IGZsYWcgaW4gL3Byb2MvY3B1aW5mbywgZGVmaW5lCisJICogMzJiaXQgZGVmYXVsdCBoZXJlICovCisjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBcCisgICAgZGVmaW5lZChfX3MzOTB4X18pIHx8IGRlZmluZWQoX19zMzkwX18pIHx8IGRlZmluZWQoX19zcGFyY192OV9fKQorCW0gfD0gTU9ERV8zMkJJVDsKKyNlbmRpZgorCXJldHVybiBtOworfQorCisjaWYgZGVmaW5lZChIQVZFX0xJQlJUQVMpCisjZGVmaW5lIFBST0NFU1NPUl9NT0RVTEVfSU5GTwk0Mworc3RhdGljIGludCBzdHJiZTE2dG9oKGNvbnN0IGNoYXIgKmJ1ZiwgaW50IG9mZnNldCkKK3sKKwlyZXR1cm4gKGJ1ZltvZmZzZXRdIDw8IDgpICsgYnVmW29mZnNldCsxXTsKK30KKworc3RhdGljIHZvaWQgcmVhZF9waHlzaWNhbF9pbmZvX3Bvd2VycGMoc3RydWN0IGxzY3B1X2Rlc2MgKmRlc2MpCit7CisJY2hhciBidWZbQlVGU0laXTsKKwlpbnQgcmMsIGxlbiwgbnR5cGVzOworCisJZGVzYy0+cGh5c3NvY2tldHMgPSBkZXNjLT5waHlzY2hpcHMgPSBkZXNjLT5waHlzY29yZXNwZXJjaGlwID0gMDsKKworCXJjID0gcnRhc19nZXRfc3lzcGFybShQUk9DRVNTT1JfTU9EVUxFX0lORk8sIHNpemVvZihidWYpLCBidWYpOworCWlmIChyYyA8IDApCisJCXJldHVybjsKKworCWxlbiA9IHN0cmJlMTZ0b2goYnVmLCAwKTsKKwlpZiAobGVuIDwgOCkKKwkJcmV0dXJuOworCisJbnR5cGVzID0gc3RyYmUxNnRvaChidWYsIDIpOworCisJYXNzZXJ0KG50eXBlcyA8PSAxKTsKKwlpZiAoIW50eXBlcykKKwkJcmV0dXJuOworCisJZGVzYy0+cGh5c3NvY2tldHMgPSBzdHJiZTE2dG9oKGJ1ZiwgNCk7CisJZGVzYy0+cGh5c2NoaXBzID0gc3RyYmUxNnRvaChidWYsIDYpOworCWRlc2MtPnBoeXNjb3Jlc3BlcmNoaXAgPSBzdHJiZTE2dG9oKGJ1ZiwgOCk7Cit9CisjZWxzZQorc3RhdGljIHZvaWQgcmVhZF9waHlzaWNhbF9pbmZvX3Bvd2VycGMoCisJCXN0cnVjdCBsc2NwdV9kZXNjICpkZXNjIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKK30KKyNlbmRpZgorCitzdGF0aWMgdm9pZAorcmVhZF9iYXNpY2luZm8oc3RydWN0IGxzY3B1X2Rlc2MgKmRlc2MsIHN0cnVjdCBsc2NwdV9tb2RpZmllciAqbW9kKQoreworCUZJTEUgKmZwID0gcGF0aF9mb3BlbigiciIsIDEsIF9QQVRIX1BST0NfQ1BVSU5GTyk7CisJY2hhciBidWZbQlVGU0laXTsKKwlzdHJ1Y3QgdXRzbmFtZSB1dHNidWY7CisJc2l6ZV90IHNldHNpemU7CisKKwkvKiBhcmNoaXRlY3R1cmUgKi8KKwlpZiAodW5hbWUoJnV0c2J1ZikgPT0gLTEpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImVycm9yOiB1bmFtZSBmYWlsZWQiKSk7CisJZGVzYy0+YXJjaCA9IHhzdHJkdXAodXRzYnVmLm1hY2hpbmUpOworCisJLyogZGV0YWlscyAqLworCXdoaWxlIChmZ2V0cyhidWYsIHNpemVvZihidWYpLCBmcCkgIT0gTlVMTCkgeworCQlpZiAobG9va3VwKGJ1ZiwgInZlbmRvciIsICZkZXNjLT52ZW5kb3IpKSA7CisJCWVsc2UgaWYgKGxvb2t1cChidWYsICJ2ZW5kb3JfaWQiLCAmZGVzYy0+dmVuZG9yKSkgOworCQllbHNlIGlmIChsb29rdXAoYnVmLCAiZmFtaWx5IiwgJmRlc2MtPmZhbWlseSkpIDsKKwkJZWxzZSBpZiAobG9va3VwKGJ1ZiwgImNwdSBmYW1pbHkiLCAmZGVzYy0+ZmFtaWx5KSkgOworCQllbHNlIGlmIChsb29rdXAoYnVmLCAibW9kZWwiLCAmZGVzYy0+bW9kZWwpKSA7CisJCWVsc2UgaWYgKGxvb2t1cChidWYsICJtb2RlbCBuYW1lIiwgJmRlc2MtPm1vZGVsbmFtZSkpIDsKKwkJZWxzZSBpZiAobG9va3VwKGJ1ZiwgInN0ZXBwaW5nIiwgJmRlc2MtPnN0ZXBwaW5nKSkgOworCQllbHNlIGlmIChsb29rdXAoYnVmLCAiY3B1IE1IeiIsICZkZXNjLT5taHopKSA7CisJCWVsc2UgaWYgKGxvb2t1cChidWYsICJjcHUgTUh6IGR5bmFtaWMiLCAmZGVzYy0+ZHluYW1pY19taHopKSA7IC8qIHMzOTAgKi8KKwkJZWxzZSBpZiAobG9va3VwKGJ1ZiwgImNwdSBNSHogc3RhdGljIiwgJmRlc2MtPnN0YXRpY19taHopKSA7ICAgLyogczM5MCAqLworCQllbHNlIGlmIChsb29rdXAoYnVmLCAiZmxhZ3MiLCAmZGVzYy0+ZmxhZ3MpKSA7CQkvKiB4ODYgKi8KKwkJZWxzZSBpZiAobG9va3VwKGJ1ZiwgImZlYXR1cmVzIiwgJmRlc2MtPmZsYWdzKSkgOwkvKiBzMzkwICovCisJCWVsc2UgaWYgKGxvb2t1cChidWYsICJGZWF0dXJlcyIsICZkZXNjLT5mbGFncykpIDsJLyogYWFyY2g2NCAqLworCQllbHNlIGlmIChsb29rdXAoYnVmLCAidHlwZSIsICZkZXNjLT5mbGFncykpIDsJCS8qIHNwYXJjNjQgKi8KKwkJZWxzZSBpZiAobG9va3VwKGJ1ZiwgImJvZ29taXBzIiwgJmRlc2MtPmJvZ29taXBzKSkgOworCQllbHNlIGlmIChsb29rdXAoYnVmLCAiQm9nb01JUFMiLCAmZGVzYy0+Ym9nb21pcHMpKSA7CS8qIGFhcmNoNjQgKi8KKwkJZWxzZSBpZiAobG9va3VwKGJ1ZiwgImJvZ29taXBzIHBlciBjcHUiLCAmZGVzYy0+Ym9nb21pcHMpKSA7IC8qIHMzOTAgKi8KKwkJZWxzZSBpZiAobG9va3VwKGJ1ZiwgImNwdSIsICZkZXNjLT5jcHUpKSA7CisJCWVsc2UgaWYgKGxvb2t1cChidWYsICJyZXZpc2lvbiIsICZkZXNjLT5yZXZpc2lvbikpIDsKKwkJZWxzZSBpZiAobG9va3VwKGJ1ZiwgIkNQVSByZXZpc2lvbiIsICZkZXNjLT5yZXZpc2lvbikpIDsgLyogYWFyY2g2NCAqLworCQllbHNlIGlmIChsb29rdXAoYnVmLCAibWF4IHRocmVhZCBpZCIsICZkZXNjLT5tdGlkKSkgOyAvKiBzMzkwICovCisJCWVsc2UgaWYgKGxvb2t1cF9jYWNoZShidWYsIGRlc2MpKSA7CisJCWVsc2UKKwkJCWNvbnRpbnVlOworCX0KKworCWRlc2MtPm1vZGUgPSBpbml0X21vZGUobW9kKTsKKworCWlmIChkZXNjLT5mbGFncykgeworCQlzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiICVzICIsIGRlc2MtPmZsYWdzKTsKKwkJaWYgKHN0cnN0cihidWYsICIgc3ZtICIpKQorCQkJZGVzYy0+dmlydGZsYWcgPSB4c3RyZHVwKCJzdm0iKTsKKwkJZWxzZSBpZiAoc3Ryc3RyKGJ1ZiwgIiB2bXggIikpCisJCQlkZXNjLT52aXJ0ZmxhZyA9IHhzdHJkdXAoInZteCIpOworCQlpZiAoc3Ryc3RyKGJ1ZiwgIiBsbSAiKSkKKwkJCWRlc2MtPm1vZGUgfD0gTU9ERV8zMkJJVCB8IE1PREVfNjRCSVQ7CQkvKiB4ODZfNjQgKi8KKwkJaWYgKHN0cnN0cihidWYsICIgemFyY2ggIikpCisJCQlkZXNjLT5tb2RlIHw9IE1PREVfMzJCSVQgfCBNT0RFXzY0QklUOwkJLyogczM5MHggKi8KKwkJaWYgKHN0cnN0cihidWYsICIgc3VuNHYgIikgfHwgc3Ryc3RyKGJ1ZiwgIiBzdW40dSAiKSkKKwkJCWRlc2MtPm1vZGUgfD0gTU9ERV8zMkJJVCB8IE1PREVfNjRCSVQ7CQkvKiBzcGFyYzY0ICovCisJfQorCisJaWYgKGRlc2MtPmFyY2ggJiYgbW9kLT5zeXN0ZW0gIT0gU1lTVEVNX1NOQVBTSE9UKSB7CisJCWlmIChzdHJjbXAoZGVzYy0+YXJjaCwgInBwYzY0IikgPT0gMCkKKwkJCWRlc2MtPm1vZGUgfD0gTU9ERV8zMkJJVCB8IE1PREVfNjRCSVQ7CisJCWVsc2UgaWYgKHN0cmNtcChkZXNjLT5hcmNoLCAicHBjIikgPT0gMCkKKwkJCWRlc2MtPm1vZGUgfD0gTU9ERV8zMkJJVDsKKwl9CisKKwlmY2xvc2UoZnApOworCisJaWYgKHBhdGhfZXhpc3QoX1BBVEhfU1lTX0NQVSAiL2tlcm5lbF9tYXgiKSkKKwkJLyogbm90ZSB0aGF0IGtlcm5lbF9tYXggaXMgbWF4aW11bSBpbmRleCBbTlJfQ1BVUy0xXSAqLworCQltYXhjcHVzID0gcGF0aF9yZWFkX3MzMihfUEFUSF9TWVNfQ1BVICIva2VybmVsX21heCIpICsgMTsKKworCWVsc2UgaWYgKG1vZC0+c3lzdGVtID09IFNZU1RFTV9MSVZFKQorCQkvKiB0aGUgcm9vdCBpcyAnLycgc28gd2UgYXJlIHdvcmtpbmcgd2l0aCBkYXRhIGZyb20gdGhlIGN1cnJlbnQga2VybmVsICovCisJCW1heGNwdXMgPSBnZXRfbWF4X251bWJlcl9vZl9jcHVzKCk7CisKKwlpZiAobWF4Y3B1cyA8PSAwKQorCQkvKiBlcnJvciBvciB3ZSBhcmUgcmVhZGluZyBzb21lIC9zeXMgc25hcHNob3QgaW5zdGVhZCBvZiB0aGUKKwkJICogcmVhbCAvc3lzLCBsZXQncyB1c2UgYW55IGNyYXp5IG51bWJlci4uLiAqLworCQltYXhjcHVzID0gMjA0ODsKKworCXNldHNpemUgPSBDUFVfQUxMT0NfU0laRShtYXhjcHVzKTsKKworCWlmIChwYXRoX2V4aXN0KF9QQVRIX1NZU19DUFUgIi9wb3NzaWJsZSIpKSB7CisJCWNwdV9zZXRfdCAqdG1wID0gcGF0aF9yZWFkX2NwdWxpc3QobWF4Y3B1cywgX1BBVEhfU1lTX0NQVSAiL3Bvc3NpYmxlIik7CisJCWludCBudW0sIGlkeDsKKworCQlkZXNjLT5uY3B1c3BvcyA9IENQVV9DT1VOVF9TKHNldHNpemUsIHRtcCk7CisJCWRlc2MtPmlkeDJjcHVudW0gPSB4Y2FsbG9jKGRlc2MtPm5jcHVzcG9zLCBzaXplb2YoaW50KSk7CisKKwkJZm9yIChudW0gPSAwLCBpZHggPSAwOyBudW0gPCBtYXhjcHVzOyBudW0rKykgeworCQkJaWYgKENQVV9JU1NFVChudW0sIHRtcCkpCisJCQkJZGVzYy0+aWR4MmNwdW51bVtpZHgrK10gPSBudW07CisJCX0KKwkJY3B1c2V0X2ZyZWUodG1wKTsKKwl9IGVsc2UKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGRldGVybWluZSBudW1iZXIgb2YgQ1BVczogJXMiKSwKKwkJCQlfUEFUSF9TWVNfQ1BVICIvcG9zc2libGUiKTsKKworCisJLyogZ2V0IG1hc2sgZm9yIHByZXNlbnQgQ1BVcyAqLworCWlmIChwYXRoX2V4aXN0KF9QQVRIX1NZU19DUFUgIi9wcmVzZW50IikpIHsKKwkJZGVzYy0+cHJlc2VudCA9IHBhdGhfcmVhZF9jcHVsaXN0KG1heGNwdXMsIF9QQVRIX1NZU19DUFUgIi9wcmVzZW50Iik7CisJCWRlc2MtPm5jcHVzID0gQ1BVX0NPVU5UX1Moc2V0c2l6ZSwgZGVzYy0+cHJlc2VudCk7CisJfQorCisJLyogZ2V0IG1hc2sgZm9yIG9ubGluZSBDUFVzICovCisJaWYgKHBhdGhfZXhpc3QoX1BBVEhfU1lTX0NQVSAiL29ubGluZSIpKSB7CisJCWRlc2MtPm9ubGluZSA9IHBhdGhfcmVhZF9jcHVsaXN0KG1heGNwdXMsIF9QQVRIX1NZU19DUFUgIi9vbmxpbmUiKTsKKwkJZGVzYy0+bnRocmVhZHMgPSBDUFVfQ09VTlRfUyhzZXRzaXplLCBkZXNjLT5vbmxpbmUpOworCX0KKworCS8qIGdldCBkaXNwYXRjaGluZyBtb2RlICovCisJaWYgKHBhdGhfZXhpc3QoX1BBVEhfU1lTX0NQVSAiL2Rpc3BhdGNoaW5nIikpCisJCWRlc2MtPmRpc3BhdGNoaW5nID0gcGF0aF9yZWFkX3MzMihfUEFUSF9TWVNfQ1BVICIvZGlzcGF0Y2hpbmciKTsKKwllbHNlCisJCWRlc2MtPmRpc3BhdGNoaW5nID0gLTE7CisKKwlpZiAobW9kLT5zeXN0ZW0gPT0gU1lTVEVNX0xJVkUpCisJCXJlYWRfcGh5c2ljYWxfaW5mb19wb3dlcnBjKGRlc2MpOworCisJaWYgKChmcCA9IHBhdGhfZm9wZW4oInIiLCAwLCBfUEFUSF9QUk9DX1NZU0lORk8pKSkgeworCQl3aGlsZSAoZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgZnApICE9IE5VTEwgJiYgIWRlc2MtPm1hY2hpbmV0eXBlKQorCQkJbG9va3VwKGJ1ZiwgIlR5cGUiLCAmZGVzYy0+bWFjaGluZXR5cGUpOworCQlmY2xvc2UoZnApOworCX0KK30KKworc3RhdGljIGludAoraGFzX3BjaV9kZXZpY2UodW5zaWduZWQgaW50IHZlbmRvciwgdW5zaWduZWQgaW50IGRldmljZSkKK3sKKwlGSUxFICpmOworCXVuc2lnbmVkIGludCBudW0sIGZuLCB2ZW4sIGRldjsKKwlpbnQgcmVzID0gMTsKKworCWYgPSBwYXRoX2ZvcGVuKCJyIiwgMCwgX1BBVEhfUFJPQ19QQ0lERVZTKTsKKwlpZiAoIWYpCisJCXJldHVybiAwOworCisJIC8qIGZvciBtb3JlIGRldGFpbHMgYWJvdXQgYnVzL3BjaS9kZXZpY2VzIGZvcm1hdCBzZWUKKwkgICogZHJpdmVycy9wY2kvcHJvYy5jIGluIGxpbnV4IGtlcm5lbAorCSAgKi8KKwl3aGlsZShmc2NhbmYoZiwgIiUwMnglMDJ4XHQlMDR4JTA0eFx0JSpbXlxuXSIsCisJCQkmbnVtLCAmZm4sICZ2ZW4sICZkZXYpID09IDQpIHsKKworCQlpZiAodmVuID09IHZlbmRvciAmJiBkZXYgPT0gZGV2aWNlKQorCQkJZ290byBmb3VuZDsKKwl9CisKKwlyZXMgPSAwOworZm91bmQ6CisJZmNsb3NlKGYpOworCXJldHVybiByZXM7Cit9CisKKyNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19pMzg2X18pCisKKy8qCisgKiBUaGlzIENQVUlEIGxlYWYgcmV0dXJucyB0aGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGh5cGVydmlzb3IuCisgKiBFQVggOiBtYXhpbXVtIGlucHV0IHZhbHVlIGZvciBDUFVJRCBzdXBwb3J0ZWQgYnkgdGhlIGh5cGVydmlzb3IuCisgKiBFQlgsIEVDWCwgRURYIDogSHlwZXJ2aXNvciB2ZW5kb3IgSUQgc2lnbmF0dXJlLiBFLmcuIFZNd2FyZVZNd2FyZS4KKyAqLworI2RlZmluZSBIWVBFUlZJU09SX0lORk9fTEVBRiAgIDB4NDAwMDAwMDAKKworc3RhdGljIGlubGluZSB2b2lkCitjcHVpZCh1bnNpZ25lZCBpbnQgb3AsIHVuc2lnbmVkIGludCAqZWF4LCB1bnNpZ25lZCBpbnQgKmVieCwKKwkJCSB1bnNpZ25lZCBpbnQgKmVjeCwgdW5zaWduZWQgaW50ICplZHgpCit7CisJX19hc21fXygKKyNpZiBkZWZpbmVkKF9fUElDX18pICYmIGRlZmluZWQoX19pMzg2X18pCisJCS8qIHg4NiBQSUMgY2Fubm90IGNsb2JiZXIgZWJ4IC0tIGdjYyBiaXRjaGVzICovCisJCSJ4Y2hnICUlZWJ4LCAlJWVzaTsiCisJCSJjcHVpZDsiCisJCSJ4Y2hnICUlZXNpLCAlJWVieDsiCisJCTogIj1TIiAoKmVieCksCisjZWxzZQorCQkiY3B1aWQ7IgorCQk6ICI9YiIgKCplYngpLAorI2VuZGlmCisJCSAgIj1hIiAoKmVheCksCisJCSAgIj1jIiAoKmVjeCksCisJCSAgIj1kIiAoKmVkeCkKKwkJOiAiMSIgKG9wKSwgImMiKDApKTsKK30KKworc3RhdGljIHZvaWQKK3JlYWRfaHlwZXJ2aXNvcl9jcHVpZChzdHJ1Y3QgbHNjcHVfZGVzYyAqZGVzYykKK3sKKwl1bnNpZ25lZCBpbnQgZWF4ID0gMCwgZWJ4ID0gMCwgZWN4ID0gMCwgZWR4ID0gMDsKKwljaGFyIGh5cGVyX3ZlbmRvcl9pZFsxM107CisKKwltZW1zZXQoaHlwZXJfdmVuZG9yX2lkLCAwLCBzaXplb2YoaHlwZXJfdmVuZG9yX2lkKSk7CisKKwljcHVpZChIWVBFUlZJU09SX0lORk9fTEVBRiwgJmVheCwgJmVieCwgJmVjeCwgJmVkeCk7CisJbWVtY3B5KGh5cGVyX3ZlbmRvcl9pZCArIDAsICZlYngsIDQpOworCW1lbWNweShoeXBlcl92ZW5kb3JfaWQgKyA0LCAmZWN4LCA0KTsKKwltZW1jcHkoaHlwZXJfdmVuZG9yX2lkICsgOCwgJmVkeCwgNCk7CisJaHlwZXJfdmVuZG9yX2lkWzEyXSA9ICdcMCc7CisKKwlpZiAoIWh5cGVyX3ZlbmRvcl9pZFswXSkKKwkJcmV0dXJuOworCisJaWYgKCFzdHJuY21wKCJYZW5WTU1YZW5WTU0iLCBoeXBlcl92ZW5kb3JfaWQsIDEyKSkKKwkJZGVzYy0+aHlwZXIgPSBIWVBFUl9YRU47CisJZWxzZSBpZiAoIXN0cm5jbXAoIktWTUtWTUtWTSIsIGh5cGVyX3ZlbmRvcl9pZCwgOSkpCisJCWRlc2MtPmh5cGVyID0gSFlQRVJfS1ZNOworCWVsc2UgaWYgKCFzdHJuY21wKCJNaWNyb3NvZnQgSHYiLCBoeXBlcl92ZW5kb3JfaWQsIDEyKSkKKwkJZGVzYy0+aHlwZXIgPSBIWVBFUl9NU0hWOworCWVsc2UgaWYgKCFzdHJuY21wKCJWTXdhcmVWTXdhcmUiLCBoeXBlcl92ZW5kb3JfaWQsIDEyKSkKKwkJZGVzYy0+aHlwZXIgPSBIWVBFUl9WTVdBUkU7CisJZWxzZSBpZiAoIXN0cm5jbXAoIlVuaXN5c1NwYXI2NCIsIGh5cGVyX3ZlbmRvcl9pZCwgMTIpKQorCQlkZXNjLT5oeXBlciA9IEhZUEVSX1NQQVI7Cit9CisKKyNlbHNlIC8qICEgKF9feDg2XzY0X18gfHwgX19pMzg2X18pICovCitzdGF0aWMgdm9pZAorcmVhZF9oeXBlcnZpc29yX2NwdWlkKHN0cnVjdCBsc2NwdV9kZXNjICpkZXNjIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKK30KKyNlbmRpZgorCitzdGF0aWMgaW50IGlzX2NvbXBhdGlibGUoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqc3RyKQoreworCUZJTEUgKmZkID0gcGF0aF9mb3BlbigiciIsIDAsICIlcyIsIHBhdGgpOworCisJaWYgKGZkKSB7CisJCWNoYXIgYnVmWzI1Nl07CisJCXNpemVfdCBpLCBsZW47CisKKwkJbWVtc2V0KGJ1ZiwgMCwgc2l6ZW9mKGJ1ZikpOworCQlsZW4gPSBmcmVhZChidWYsIDEsIHNpemVvZihidWYpIC0gMSwgZmQpOworCQlmY2xvc2UoZmQpOworCisJCWZvciAoaSA9IDA7IGkgPCBsZW47KSB7CisJCQlpZiAoIXN0cmNtcCgmYnVmW2ldLCBzdHIpKQorCQkJCXJldHVybiAxOworCQkJaSArPSBzdHJsZW4oJmJ1ZltpXSk7CisJCQlpKys7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludAorcmVhZF9oeXBlcnZpc29yX3Bvd2VycGMoc3RydWN0IGxzY3B1X2Rlc2MgKmRlc2MpCit7CisJYXNzZXJ0KCFkZXNjLT5oeXBlcik7CisKKwkgLyogSUJNIGlTZXJpZXM6IGxlZ2FjeSwgcGFyYS12aXJ0dWFsaXplZCBvbiB0b3Agb2YgT1MvNDAwICovCisJaWYgKHBhdGhfZXhpc3QoIi9wcm9jL2lTZXJpZXMiKSkgeworCQlkZXNjLT5oeXBlciA9IEhZUEVSX09TNDAwOworCQlkZXNjLT52aXJ0eXBlID0gVklSVF9QQVJBOworCisJLyogUG93ZXJOViAoUE9XRVIgTm9uLVZpcnR1YWxpemVkLCBiYXJlLW1ldGFsKSAqLworCX0gZWxzZSBpZiAoaXNfY29tcGF0aWJsZShfUEFUSF9QUk9DX0RFVklDRVRSRUUgIi9jb21wYXRpYmxlIiwgImlibSxwb3dlcm52IikpIHsKKwkJZGVzYy0+aHlwZXIgPSBIWVBFUl9OT05FOworCQlkZXNjLT52aXJ0eXBlID0gVklSVF9OT05FOworCisJLyogUG93ZXJWTSAoSUJNJ3MgcHJvcHJpZXRhcnkgaHlwZXJ2aXNvciwgYWthIHBIeXApICovCisJfSBlbHNlIGlmIChwYXRoX2V4aXN0KF9QQVRIX1BST0NfREVWSUNFVFJFRSAiL2libSxwYXJ0aXRpb24tbmFtZSIpCisJCSAgICYmIHBhdGhfZXhpc3QoX1BBVEhfUFJPQ19ERVZJQ0VUUkVFICIvaG1jLW1hbmFnZWQ/IikKKwkJICAgJiYgIXBhdGhfZXhpc3QoX1BBVEhfUFJPQ19ERVZJQ0VUUkVFICIvY2hvc2VuL3FlbXUsZ3JhcGhpYy13aWR0aCIpKSB7CisJCUZJTEUgKmZkOworCQlkZXNjLT5oeXBlciA9IEhZUEVSX1BIWVA7CisJCWRlc2MtPnZpcnR5cGUgPSBWSVJUX1BBUkE7CisJCWZkID0gcGF0aF9mb3BlbigiciIsIDAsIF9QQVRIX1BST0NfREVWSUNFVFJFRSAiL2libSxwYXJ0aXRpb24tbmFtZSIpOworCQlpZiAoZmQpIHsKKwkJCWNoYXIgYnVmWzI1Nl07CisJCQlpZiAoZnNjYW5mKGZkLCAiJTI1NXMiLCBidWYpID09IDEgJiYgIXN0cmNtcChidWYsICJmdWxsIikpCisJCQkJZGVzYy0+dmlydHlwZSA9IFZJUlRfTk9ORTsKKwkJCWZjbG9zZShmZCk7CisJCX0KKworCS8qIFFlbXUgKi8KKwl9IGVsc2UgaWYgKGlzX2NvbXBhdGlibGUoX1BBVEhfUFJPQ19ERVZJQ0VUUkVFICIvY29tcGF0aWJsZSIsICJxZW11LHBzZXJpZXMiKSkgeworCQlkZXNjLT5oeXBlciA9IEhZUEVSX0tWTTsKKwkJZGVzYy0+dmlydHlwZSA9IFZJUlRfUEFSQTsKKwl9CisJcmV0dXJuIGRlc2MtPmh5cGVyOworfQorCisjaWZkZWYgSU5DTFVERV9WTVdBUkVfQkRPT1IKKworI2RlZmluZSBWTVdBUkVfQkRPT1JfTUFHSUMgICAgICAgICAgMHg1NjRENTg2OAorI2RlZmluZSBWTVdBUkVfQkRPT1JfUE9SVCAgICAgICAgICAgMHg1NjU4CisjZGVmaW5lIFZNV0FSRV9CRE9PUl9DTURfR0VUVkVSU0lPTiAxMAorCitzdGF0aWMgVUxfQVNBTl9CTEFDS0xJU1QKK3ZvaWQgdm13YXJlX2Jkb29yKHVpbnQzMl90ICplYXgsIHVpbnQzMl90ICplYngsIHVpbnQzMl90ICplY3gsIHVpbnQzMl90ICplZHgpCit7CisJX19hc21fXygKKyNpZiBkZWZpbmVkKF9fUElDX18pICYmIGRlZmluZWQoX19pMzg2X18pCisJCS8qIHg4NiBQSUMgY2Fubm90IGNsb2JiZXIgZWJ4IC0tIGdjYyBiaXRjaGVzICovCisJCSJ4Y2hnICUlZWJ4LCAlJWVzaTsiCisJCSJpbmwgKCUlZHgpLCAlJWVheDsiCisJCSJ4Y2hnICUlZXNpLCAlJWVieDsiCisJCTogIj1TIiAoKmVieCksCisjZWxzZQorCQkiaW5sICglJWR4KSwgJSVlYXg7IgorCQk6ICI9YiIgKCplYngpLAorI2VuZGlmCisJCSAgIj1hIiAoKmVheCksCisJCSAgIj1jIiAoKmVjeCksCisJCSAgIj1kIiAoKmVkeCkKKwkJOiAiMCIgKFZNV0FSRV9CRE9PUl9NQUdJQyksCisJCSAgIjEiIChWTVdBUkVfQkRPT1JfQ01EX0dFVFZFUlNJT04pLAorCQkgICIyIiAoVk1XQVJFX0JET09SX1BPUlQpLAorCQkgICIzIiAoMCkKKwkJOiAibWVtb3J5Iik7Cit9CisKK3N0YXRpYyBqbXBfYnVmIHNlZ3ZfaGFuZGxlcl9lbnY7CisKK3N0YXRpYyB2b2lkCitzZWd2X2hhbmRsZXIoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGludCBzaWcsCisgICAgICAgICAgICAgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIHNpZ2luZm9fdCAqaW5mbywKKyAgICAgICAgICAgICBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgdm9pZCAqaWdub3JlZCkKK3sKKwlzaWdsb25nam1wKHNlZ3ZfaGFuZGxlcl9lbnYsIDEpOworfQorCitzdGF0aWMgaW50Citpc192bXdhcmVfcGxhdGZvcm0odm9pZCkKK3sKKwl1aW50MzJfdCBlYXgsIGVieCwgZWN4LCBlZHg7CisJc3RydWN0IHNpZ2FjdGlvbiBhY3QsIG9hY3Q7CisKKwkvKgorCSAqIEZJWE1FOiBOb3QgcmVsaWFibGUgZm9yIG5vbi1yb290IHVzZXJzLiBOb3RlIGl0IHdvcmtzIGFzIGV4cGVjdGVkIGlmCisJICogdm13YXJlX2Jkb29yKCkgaXMgbm90IG9wdGltaXplZCBmb3IgUElFLCBidXQgdGhlbiBpdCBmYWlscyB0byBidWlsZAorCSAqIG9uIDMyYml0IHg4NiBzeXN0ZW1zLiBTZWUgbHNjcHUgZ2l0IGxvZyBmb3IgbW9yZSBkZXRhaWxzIChjb21taXQKKwkgKiA3ODQ1YjkxZGJjNzY5MDA2NGEyYmU2ZGY2OTBlNGFhYmE3MjhmYjA0KS4gICAgIGt6YWsgWzMtTm92LTIwMTZdCisJICovCisJaWYgKGdldHVpZCgpICE9IDApCisJCXJldHVybiAwOworCisJLyoKKwkgKiBUaGUgYXNzZW1ibHkgcm91dGluZSBmb3Igdm13YXJlIGRldGVjdGlvbiB3b3JrcworCSAqIGZpbmUgdW5kZXIgdm13YXJlLCBldmVuIGlmIHJhbiBhcyByZWd1bGFyIHVzZXIuIEJ1dAorCSAqIG9uIHJlYWwgSFcgb3IgdW5kZXIgb3RoZXIgaHlwZXJ2aXNvcnMsIGl0IHNlZ2ZhdWx0cyAod2hpY2ggaXMKKwkgKiBleHBlY3RlZCkuIFNvIHdlIHRlbXBvcmFyaWx5IGluc3RhbGwgU0lHU0VHViBoYW5kbGVyIHRvIGNhdGNoCisJICogdGhlIHNpZ25hbC4gQWxsIHRoaXMgbWFnaWMgaXMgbmVlZGVkIGJlY2F1c2UgbHNjcHUKKwkgKiBpc24ndCBzdXBwb3NlZCB0byByZXF1aXJlIHJvb3QgcHJpdmlsZWdlcy4KKwkgKi8KKwlpZiAoc2lnc2V0am1wKHNlZ3ZfaGFuZGxlcl9lbnYsIDEpKQorCQlyZXR1cm4gMDsKKworCW1lbXNldCgmYWN0LCAwLCBzaXplb2YoYWN0KSk7CisJYWN0LnNhX3NpZ2FjdGlvbiA9IHNlZ3ZfaGFuZGxlcjsKKwlhY3Quc2FfZmxhZ3MgPSBTQV9TSUdJTkZPOworCisJaWYgKHNpZ2FjdGlvbihTSUdTRUdWLCAmYWN0LCAmb2FjdCkpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImVycm9yOiBjYW4gbm90IHNldCBzaWduYWwgaGFuZGxlciIpKTsKKworCXZtd2FyZV9iZG9vcigmZWF4LCAmZWJ4LCAmZWN4LCAmZWR4KTsKKworCWlmIChzaWdhY3Rpb24oU0lHU0VHViwgJm9hY3QsIE5VTEwpKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJlcnJvcjogY2FuIG5vdCByZXN0b3JlIHNpZ25hbCBoYW5kbGVyIikpOworCisJcmV0dXJuIGVheCAhPSAodWludDMyX3QpLTEgJiYgZWJ4ID09IFZNV0FSRV9CRE9PUl9NQUdJQzsKK30KKworI2Vsc2UgLyogISBJTkNMVURFX1ZNV0FSRV9CRE9PUiAqLworCitzdGF0aWMgaW50Citpc192bXdhcmVfcGxhdGZvcm0odm9pZCkKK3sKKwlyZXR1cm4gMDsKK30KKworI2VuZGlmIC8qIElOQ0xVREVfVk1XQVJFX0JET09SICovCisKK3N0YXRpYyB2b2lkCityZWFkX2h5cGVydmlzb3Ioc3RydWN0IGxzY3B1X2Rlc2MgKmRlc2MsIHN0cnVjdCBsc2NwdV9tb2RpZmllciAqbW9kKQoreworCUZJTEUgKmZkOworCisJLyogV2UgaGF2ZSB0byBkZXRlY3QgV1NMIGZpcnN0LiBpc192bXdhcmVfcGxhdGZvcm0oKSBjcmFzaGVzIG9uIFdpbmRvd3MgMTAuICovCisKKwlpZiAoKGZkID0gcGF0aF9mb3BlbigiciIsIDAsIF9QQVRIX1BST0NfT1NSRUxFQVNFKSkpIHsKKwkJY2hhciBidWZbMjU2XTsKKworCQlpZiAoZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgZmQpICE9IE5VTEwpIHsKKwkJCWlmIChzdHJzdHIoYnVmLCAiTWljcm9zb2Z0IikpIHsKKwkJCQlkZXNjLT5oeXBlciA9IEhZUEVSX1dTTDsKKwkJCQlkZXNjLT52aXJ0eXBlID0gVklSVF9DT05UOworCQkJfQorCQl9CisJCWZjbG9zZShmZCk7CisJCWlmIChkZXNjLT52aXJ0eXBlKQorCQkJcmV0dXJuOworCX0KKworCWlmIChtb2QtPnN5c3RlbSAhPSBTWVNURU1fU05BUFNIT1QpIHsKKwkJcmVhZF9oeXBlcnZpc29yX2NwdWlkKGRlc2MpOworCQlpZiAoIWRlc2MtPmh5cGVyKQorCQkJZGVzYy0+aHlwZXIgPSByZWFkX2h5cGVydmlzb3JfZG1pKCk7CisJCWlmICghZGVzYy0+aHlwZXIgJiYgaXNfdm13YXJlX3BsYXRmb3JtKCkpCisJCQlkZXNjLT5oeXBlciA9IEhZUEVSX1ZNV0FSRTsKKwl9CisKKwlpZiAoZGVzYy0+aHlwZXIpIHsKKwkJZGVzYy0+dmlydHlwZSA9IFZJUlRfRlVMTDsKKworCQlpZiAoZGVzYy0+aHlwZXIgPT0gSFlQRVJfWEVOKSB7CisJCQl1aW50MzJfdCBmZWF0dXJlczsKKworCQkJZmQgPSBwYXRoX2ZvcGVuKCJyIiwgMCwgX1BBVEhfU1lTX0hZUF9GRUFUVVJFUyk7CisJCQlpZiAoZmQgJiYgZnNjYW5mKGZkLCAiJXgiLCAmZmVhdHVyZXMpID09IDEpIHsKKwkJCQkvKiBYZW4gUFYgZG9tYWluICovCisJCQkJaWYgKGZlYXR1cmVzICYgWEVOX0ZFQVRVUkVTX1BWX01BU0spCisJCQkJCWRlc2MtPnZpcnR5cGUgPSBWSVJUX1BBUkE7CisJCQkJLyogWGVuIFBWSCBkb21haW4gKi8KKwkJCQllbHNlIGlmICgoZmVhdHVyZXMgJiBYRU5fRkVBVFVSRVNfUFZIX01BU0spCisJCQkJCQkJCT09IFhFTl9GRUFUVVJFU19QVkhfTUFTSykKKwkJCQkJZGVzYy0+dmlydHlwZSA9IFZJUlRfUEFSQTsKKwkJCQlmY2xvc2UoZmQpOworCQkJfSBlbHNlIHsKKwkJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gcmVhZCBmcm9tOiAlcyIpLAorCQkJCQkJX1BBVEhfU1lTX0hZUF9GRUFUVVJFUyk7CisJCQl9CisJCX0KKwl9IGVsc2UgaWYgKHJlYWRfaHlwZXJ2aXNvcl9wb3dlcnBjKGRlc2MpID4gMCkge30KKworCS8qIFhlbiBwYXJhLXZpcnQgb3IgZG9tMCAqLworCWVsc2UgaWYgKHBhdGhfZXhpc3QoX1BBVEhfUFJPQ19YRU4pKSB7CisJCWludCBkb20wID0gMDsKKwkJZmQgPSBwYXRoX2ZvcGVuKCJyIiwgMCwgX1BBVEhfUFJPQ19YRU5DQVApOworCisJCWlmIChmZCkgeworCQkJY2hhciBidWZbMjU2XTsKKworCQkJaWYgKGZzY2FuZihmZCwgIiUyNTVzIiwgYnVmKSA9PSAxICYmCisJCQkgICAgIXN0cmNtcChidWYsICJjb250cm9sX2QiKSkKKwkJCQlkb20wID0gMTsKKwkJCWZjbG9zZShmZCk7CisJCX0KKwkJZGVzYy0+dmlydHlwZSA9IGRvbTAgPyBWSVJUX05PTkUgOiBWSVJUX1BBUkE7CisJCWRlc2MtPmh5cGVyID0gSFlQRVJfWEVOOworCisJLyogWGVuIGZ1bGwtdmlydCBvbiBub24teDg2XzY0ICovCisJfSBlbHNlIGlmIChoYXNfcGNpX2RldmljZSggaHZfdmVuZG9yX3BjaVtIWVBFUl9YRU5dLCBodl9ncmFwaGljc19wY2lbSFlQRVJfWEVOXSkpIHsKKwkJZGVzYy0+aHlwZXIgPSBIWVBFUl9YRU47CisJCWRlc2MtPnZpcnR5cGUgPSBWSVJUX0ZVTEw7CisJfSBlbHNlIGlmIChoYXNfcGNpX2RldmljZSggaHZfdmVuZG9yX3BjaVtIWVBFUl9WTVdBUkVdLCBodl9ncmFwaGljc19wY2lbSFlQRVJfVk1XQVJFXSkpIHsKKwkJZGVzYy0+aHlwZXIgPSBIWVBFUl9WTVdBUkU7CisJCWRlc2MtPnZpcnR5cGUgPSBWSVJUX0ZVTEw7CisJfSBlbHNlIGlmIChoYXNfcGNpX2RldmljZSggaHZfdmVuZG9yX3BjaVtIWVBFUl9WQk9YXSwgaHZfZ3JhcGhpY3NfcGNpW0hZUEVSX1ZCT1hdKSkgeworCQlkZXNjLT5oeXBlciA9IEhZUEVSX1ZCT1g7CisJCWRlc2MtPnZpcnR5cGUgPSBWSVJUX0ZVTEw7CisKKwkvKiBJQk0gUFIvU00gKi8KKwl9IGVsc2UgaWYgKChmZCA9IHBhdGhfZm9wZW4oInIiLCAwLCBfUEFUSF9QUk9DX1NZU0lORk8pKSkgeworCQljaGFyIGJ1ZltCVUZTSVpdOworCisJCWRlc2MtPmh5cGVyID0gSFlQRVJfSUJNOworCQlkZXNjLT5oeXBlcnZpc29yID0gIlBSL1NNIjsKKwkJZGVzYy0+dmlydHlwZSA9IFZJUlRfRlVMTDsKKwkJd2hpbGUgKGZnZXRzKGJ1Ziwgc2l6ZW9mKGJ1ZiksIGZkKSAhPSBOVUxMKSB7CisJCQljaGFyICpzdHI7CisKKwkJCWlmICghc3Ryc3RyKGJ1ZiwgIkNvbnRyb2wgUHJvZ3JhbToiKSkKKwkJCQljb250aW51ZTsKKwkJCWlmICghc3Ryc3RyKGJ1ZiwgIktWTSIpKQorCQkJCWRlc2MtPmh5cGVyID0gSFlQRVJfSUJNOworCQkJZWxzZQorCQkJCWRlc2MtPmh5cGVyID0gSFlQRVJfS1ZNOworCQkJc3RyID0gc3RyY2hyKGJ1ZiwgJzonKTsKKwkJCWlmICghc3RyKQorCQkJCWNvbnRpbnVlOworCQkJeGFzcHJpbnRmKCZzdHIsICIlcyIsIHN0ciArIDEpOworCisJCQkvKiByZW1vdmUgbGVhZGluZywgdHJhaWxpbmcgYW5kIHJlcGVhdGluZyB3aGl0ZXNwYWNlICovCisJCQl3aGlsZSAoKnN0ciA9PSAnICcpCisJCQkJc3RyKys7CisJCQlkZXNjLT5oeXBlcnZpc29yID0gc3RyOworCQkJc3RyICs9IHN0cmxlbihzdHIpIC0gMTsKKwkJCXdoaWxlICgoKnN0ciA9PSAnXG4nKSB8fCAoKnN0ciA9PSAnICcpKQorCQkJCSooc3RyLS0pID0gJ1wwJzsKKwkJCXdoaWxlICgoc3RyID0gc3Ryc3RyKGRlc2MtPmh5cGVydmlzb3IsICIgICIpKSkKKwkJCQltZW1tb3ZlKHN0ciwgc3RyICsgMSwgc3RybGVuKHN0cikpOworCQl9CisJCWZjbG9zZShmZCk7CisJfQorCisJLyogT3BlblZaL1ZpcnR1b3p6byAtIC9wcm9jL3Z6IGRpciBzaG91bGQgZXhpc3QKKwkgKgkJICAgICAgL3Byb2MvYmMgc2hvdWxkIG5vdCAqLworCWVsc2UgaWYgKHBhdGhfZXhpc3QoX1BBVEhfUFJPQ19WWikgJiYgIXBhdGhfZXhpc3QoX1BBVEhfUFJPQ19CQykpIHsKKwkJZGVzYy0+aHlwZXIgPSBIWVBFUl9QQVJBTExFTFM7CisJCWRlc2MtPnZpcnR5cGUgPSBWSVJUX0NPTlQ7CisKKwkvKiBJQk0gKi8KKwl9IGVsc2UgaWYgKGRlc2MtPnZlbmRvciAmJgorCQkgKHN0cmNtcChkZXNjLT52ZW5kb3IsICJQb3dlclZNIEx4ODYiKSA9PSAwIHx8CisJCSAgc3RyY21wKGRlc2MtPnZlbmRvciwgIklCTS9TMzkwIikgPT0gMCkpIHsKKwkJZGVzYy0+aHlwZXIgPSBIWVBFUl9JQk07CisJCWRlc2MtPnZpcnR5cGUgPSBWSVJUX0ZVTEw7CisKKwkvKiBVc2VyLW1vZGUtbGludXggKi8KKwl9IGVsc2UgaWYgKGRlc2MtPm1vZGVsbmFtZSAmJiBzdHJzdHIoZGVzYy0+bW9kZWxuYW1lLCAiVU1MIikpIHsKKwkJZGVzYy0+aHlwZXIgPSBIWVBFUl9VTUw7CisJCWRlc2MtPnZpcnR5cGUgPSBWSVJUX1BBUkE7CisKKwkvKiBMaW51eC1WU2VydmVyICovCisJfSBlbHNlIGlmICgoZmQgPSBwYXRoX2ZvcGVuKCJyIiwgMCwgX1BBVEhfUFJPQ19TVEFUVVMpKSkgeworCQljaGFyIGJ1ZltCVUZTSVpdOworCQljaGFyICp2YWwgPSBOVUxMOworCisJCXdoaWxlIChmZ2V0cyhidWYsIHNpemVvZihidWYpLCBmZCkgIT0gTlVMTCkgeworCQkJaWYgKGxvb2t1cChidWYsICJWeElEIiwgJnZhbCkpCisJCQkJYnJlYWs7CisJCX0KKwkJZmNsb3NlKGZkKTsKKworCQlpZiAodmFsKSB7CisJCQl3aGlsZSAoaXNkaWdpdCgqdmFsKSkKKwkJCQkrK3ZhbDsKKwkJCWlmICghKnZhbCkgeworCQkJCWRlc2MtPmh5cGVyID0gSFlQRVJfVlNFUlZFUjsKKwkJCQlkZXNjLT52aXJ0eXBlID0gVklSVF9DT05UOworCQkJfQorCQl9CisJfQorfQorCisvKiBhZGQgQHNldCB0byB0aGUgQGFyeSwgdW5uZWNlc3Nhcnkgc2V0IGlzIGRlYWxsb2NhdGVkLiAqLworc3RhdGljIGludCBhZGRfY3B1c2V0X3RvX2FycmF5KGNwdV9zZXRfdCAqKmFyeSwgaW50ICppdGVtcywgY3B1X3NldF90ICpzZXQpCit7CisJaW50IGk7CisJc2l6ZV90IHNldHNpemUgPSBDUFVfQUxMT0NfU0laRShtYXhjcHVzKTsKKworCWlmICghYXJ5KQorCQlyZXR1cm4gLTE7CisKKwlmb3IgKGkgPSAwOyBpIDwgKml0ZW1zOyBpKyspIHsKKwkJaWYgKENQVV9FUVVBTF9TKHNldHNpemUsIHNldCwgYXJ5W2ldKSkKKwkJCWJyZWFrOworCX0KKwlpZiAoaSA9PSAqaXRlbXMpIHsKKwkJYXJ5WyppdGVtc10gPSBzZXQ7CisJCSsrKml0ZW1zOworCQlyZXR1cm4gMDsKKwl9CisJQ1BVX0ZSRUUoc2V0KTsKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIHZvaWQKK3JlYWRfdG9wb2xvZ3koc3RydWN0IGxzY3B1X2Rlc2MgKmRlc2MsIGludCBpZHgpCit7CisJY3B1X3NldF90ICp0aHJlYWRfc2libGluZ3MsICpjb3JlX3NpYmxpbmdzOworCWNwdV9zZXRfdCAqYm9va19zaWJsaW5ncywgKmRyYXdlcl9zaWJsaW5nczsKKwlpbnQgY29yZWlkLCBzb2NrZXRpZCwgYm9va2lkLCBkcmF3ZXJpZDsKKwlpbnQgaSwgbnVtID0gcmVhbF9jcHVfbnVtKGRlc2MsIGlkeCk7CisKKwlpZiAoIXBhdGhfZXhpc3QoX1BBVEhfU1lTX0NQVSAiL2NwdSVkL3RvcG9sb2d5L3RocmVhZF9zaWJsaW5ncyIsIG51bSkpCisJCXJldHVybjsKKworCXRocmVhZF9zaWJsaW5ncyA9IHBhdGhfcmVhZF9jcHVzZXQobWF4Y3B1cywgX1BBVEhfU1lTX0NQVQorCQkJCQkiL2NwdSVkL3RvcG9sb2d5L3RocmVhZF9zaWJsaW5ncyIsIG51bSk7CisJY29yZV9zaWJsaW5ncyA9IHBhdGhfcmVhZF9jcHVzZXQobWF4Y3B1cywgX1BBVEhfU1lTX0NQVQorCQkJCQkiL2NwdSVkL3RvcG9sb2d5L2NvcmVfc2libGluZ3MiLCBudW0pOworCWJvb2tfc2libGluZ3MgPSBOVUxMOworCWlmIChwYXRoX2V4aXN0KF9QQVRIX1NZU19DUFUgIi9jcHUlZC90b3BvbG9neS9ib29rX3NpYmxpbmdzIiwgbnVtKSkKKwkJYm9va19zaWJsaW5ncyA9IHBhdGhfcmVhZF9jcHVzZXQobWF4Y3B1cywgX1BBVEhfU1lTX0NQVQorCQkJCQkgICAgIi9jcHUlZC90b3BvbG9neS9ib29rX3NpYmxpbmdzIiwgbnVtKTsKKwlkcmF3ZXJfc2libGluZ3MgPSBOVUxMOworCWlmIChwYXRoX2V4aXN0KF9QQVRIX1NZU19DUFUgIi9jcHUlZC90b3BvbG9neS9kcmF3ZXJfc2libGluZ3MiLCBudW0pKQorCQlkcmF3ZXJfc2libGluZ3MgPSBwYXRoX3JlYWRfY3B1c2V0KG1heGNwdXMsIF9QQVRIX1NZU19DUFUKKwkJCQkJICAgICIvY3B1JWQvdG9wb2xvZ3kvZHJhd2VyX3NpYmxpbmdzIiwgbnVtKTsKKwljb3JlaWQgPSAtMTsKKwlpZiAocGF0aF9leGlzdChfUEFUSF9TWVNfQ1BVICIvY3B1JWQvdG9wb2xvZ3kvY29yZV9pZCIsIG51bSkpCisJCWNvcmVpZCA9IHBhdGhfcmVhZF9zMzIoX1BBVEhfU1lTX0NQVQorCQkJCSAgICAgICAiL2NwdSVkL3RvcG9sb2d5L2NvcmVfaWQiLCBudW0pOworCXNvY2tldGlkID0gLTE7CisJaWYgKHBhdGhfZXhpc3QoX1BBVEhfU1lTX0NQVSAiL2NwdSVkL3RvcG9sb2d5L3BoeXNpY2FsX3BhY2thZ2VfaWQiLCBudW0pKQorCQlzb2NrZXRpZCA9IHBhdGhfcmVhZF9zMzIoX1BBVEhfU1lTX0NQVQorCQkJCSAgICAgICAiL2NwdSVkL3RvcG9sb2d5L3BoeXNpY2FsX3BhY2thZ2VfaWQiLCBudW0pOworCWJvb2tpZCA9IC0xOworCWlmIChwYXRoX2V4aXN0KF9QQVRIX1NZU19DUFUgIi9jcHUlZC90b3BvbG9neS9ib29rX2lkIiwgbnVtKSkKKwkJYm9va2lkID0gcGF0aF9yZWFkX3MzMihfUEFUSF9TWVNfQ1BVCisJCQkJICAgICAgICIvY3B1JWQvdG9wb2xvZ3kvYm9va19pZCIsIG51bSk7CisJZHJhd2VyaWQgPSAtMTsKKwlpZiAocGF0aF9leGlzdChfUEFUSF9TWVNfQ1BVICIvY3B1JWQvdG9wb2xvZ3kvZHJhd2VyX2lkIiwgbnVtKSkKKwkJZHJhd2VyaWQgPSBwYXRoX3JlYWRfczMyKF9QQVRIX1NZU19DUFUKKwkJCQkgICAgICAgIi9jcHUlZC90b3BvbG9neS9kcmF3ZXJfaWQiLCBudW0pOworCisJaWYgKCFkZXNjLT5jb3JlbWFwcykgeworCQlpbnQgbmRyYXdlcnMsIG5ib29rcywgbnNvY2tldHMsIG5jb3JlcywgbnRocmVhZHM7CisJCXNpemVfdCBzZXRzaXplID0gQ1BVX0FMTE9DX1NJWkUobWF4Y3B1cyk7CisKKwkJLyogdGhyZWFkcyB3aXRoaW4gb25lIGNvcmUgKi8KKwkJbnRocmVhZHMgPSBDUFVfQ09VTlRfUyhzZXRzaXplLCB0aHJlYWRfc2libGluZ3MpOworCQlpZiAoIW50aHJlYWRzKQorCQkJbnRocmVhZHMgPSAxOworCisJCS8qIGNvcmVzIHdpdGhpbiBvbmUgc29ja2V0ICovCisJCW5jb3JlcyA9IENQVV9DT1VOVF9TKHNldHNpemUsIGNvcmVfc2libGluZ3MpIC8gbnRocmVhZHM7CisJCWlmICghbmNvcmVzKQorCQkJbmNvcmVzID0gMTsKKworCQkvKiBudW1iZXIgb2Ygc29ja2V0cyB3aXRoaW4gb25lIGJvb2suICBCZWNhdXNlIG9mIG9kZCAvCisJCSAqIG5vbi1wcmVzZW50IGNwdSBtYXBzIGFuZCB0byBrZWVwIGNhbGN1bGF0aW9uIGVhc3kgd2UgbWFrZQorCQkgKiBzdXJlIHRoYXQgbnNvY2tldHMgYW5kIG5ib29rcyBpcyBhdCBsZWFzdCAxLgorCQkgKi8KKwkJbnNvY2tldHMgPSBkZXNjLT5uY3B1cyAvIG50aHJlYWRzIC8gbmNvcmVzOworCQlpZiAoIW5zb2NrZXRzKQorCQkJbnNvY2tldHMgPSAxOworCisJCS8qIG51bWJlciBvZiBib29rcyAqLworCQluYm9va3MgPSBkZXNjLT5uY3B1cyAvIG50aHJlYWRzIC8gbmNvcmVzIC8gbnNvY2tldHM7CisJCWlmICghbmJvb2tzKQorCQkJbmJvb2tzID0gMTsKKworCQkvKiBudW1iZXIgb2YgZHJhd2VycyAqLworCQluZHJhd2VycyA9IGRlc2MtPm5jcHVzIC8gbmJvb2tzIC8gbnRocmVhZHMgLyBuY29yZXMgLyBuc29ja2V0czsKKwkJaWYgKCFuZHJhd2VycykKKwkJCW5kcmF3ZXJzID0gMTsKKworCQkvKiBhbGwgdGhyZWFkcywgc2VlIGFsc28gcmVhZF9iYXNpY2luZm8oKQorCQkgKiAtLSBmYWxsYmFjayBmb3Iga2VybmVscyB3aXRob3V0CisJCSAqICAgIC9zeXMvZGV2aWNlcy9zeXN0ZW0vY3B1L29ubGluZS4KKwkJICovCisJCWlmICghZGVzYy0+bnRocmVhZHMpCisJCQlkZXNjLT5udGhyZWFkcyA9IG5kcmF3ZXJzICogbmJvb2tzICogbnNvY2tldHMgKiBuY29yZXMgKiBudGhyZWFkczsKKworCQkvKiBGb3IgZWFjaCBtYXAgd2UgbWFrZSBzdXJlIHRoYXQgaXQgY2FuIGhhdmUgdXAgdG8gbmNwdXNwb3MKKwkJICogZW50cmllcy4gVGhpcyBpcyBiZWNhdXNlIHdlIGNhbm5vdCByZWxpYWJseSBjYWxjdWxhdGUgdGhlCisJCSAqIG51bWJlciBvZiBjb3Jlcywgc29ja2V0cyBhbmQgYm9va3Mgb24gYWxsIGFyY2hpdGVjdHVyZXMuCisJCSAqIEUuZy4gY29tcGxldGVseSB2aXJ0dWFsaXplZCBhcmNoaXRlY3R1cmVzIGxpa2UgczM5MCBtYXkKKwkJICogaGF2ZSBtdWx0aXBsZSBzb2NrZXRzIG9mIGRpZmZlcmVudCBzaXplcy4KKwkJICovCisJCWRlc2MtPmNvcmVtYXBzID0geGNhbGxvYyhkZXNjLT5uY3B1c3Bvcywgc2l6ZW9mKGNwdV9zZXRfdCAqKSk7CisJCWRlc2MtPnNvY2tldG1hcHMgPSB4Y2FsbG9jKGRlc2MtPm5jcHVzcG9zLCBzaXplb2YoY3B1X3NldF90ICopKTsKKwkJZGVzYy0+Y29yZWlkcyA9IHhjYWxsb2MoZGVzYy0+bmNwdXNwb3MsIHNpemVvZigqZGVzYy0+ZHJhd2VyaWRzKSk7CisJCWRlc2MtPnNvY2tldGlkcyA9IHhjYWxsb2MoZGVzYy0+bmNwdXNwb3MsIHNpemVvZigqZGVzYy0+ZHJhd2VyaWRzKSk7CisJCWZvciAoaSA9IDA7IGkgPCBkZXNjLT5uY3B1c3BvczsgaSsrKQorCQkJZGVzYy0+Y29yZWlkc1tpXSA9IGRlc2MtPnNvY2tldGlkc1tpXSA9IC0xOworCQlpZiAoYm9va19zaWJsaW5ncykgeworCQkJZGVzYy0+Ym9va21hcHMgPSB4Y2FsbG9jKGRlc2MtPm5jcHVzcG9zLCBzaXplb2YoY3B1X3NldF90ICopKTsKKwkJCWRlc2MtPmJvb2tpZHMgPSB4Y2FsbG9jKGRlc2MtPm5jcHVzcG9zLCBzaXplb2YoKmRlc2MtPmRyYXdlcmlkcykpOworCQkJZm9yIChpID0gMDsgaSA8IGRlc2MtPm5jcHVzcG9zOyBpKyspCisJCQkJZGVzYy0+Ym9va2lkc1tpXSA9IC0xOworCQl9CisJCWlmIChkcmF3ZXJfc2libGluZ3MpIHsKKwkJCWRlc2MtPmRyYXdlcm1hcHMgPSB4Y2FsbG9jKGRlc2MtPm5jcHVzcG9zLCBzaXplb2YoY3B1X3NldF90ICopKTsKKwkJCWRlc2MtPmRyYXdlcmlkcyA9IHhjYWxsb2MoZGVzYy0+bmNwdXNwb3MsIHNpemVvZigqZGVzYy0+ZHJhd2VyaWRzKSk7CisJCQlmb3IgKGkgPSAwOyBpIDwgZGVzYy0+bmNwdXNwb3M7IGkrKykKKwkJCQlkZXNjLT5kcmF3ZXJpZHNbaV0gPSAtMTsKKwkJfQorCX0KKworCWFkZF9jcHVzZXRfdG9fYXJyYXkoZGVzYy0+c29ja2V0bWFwcywgJmRlc2MtPm5zb2NrZXRzLCBjb3JlX3NpYmxpbmdzKTsKKwlkZXNjLT5jb3JlaWRzW2lkeF0gPSBjb3JlaWQ7CisJYWRkX2NwdXNldF90b19hcnJheShkZXNjLT5jb3JlbWFwcywgJmRlc2MtPm5jb3JlcywgdGhyZWFkX3NpYmxpbmdzKTsKKwlkZXNjLT5zb2NrZXRpZHNbaWR4XSA9IHNvY2tldGlkOworCWlmIChib29rX3NpYmxpbmdzKSB7CisJCWFkZF9jcHVzZXRfdG9fYXJyYXkoZGVzYy0+Ym9va21hcHMsICZkZXNjLT5uYm9va3MsIGJvb2tfc2libGluZ3MpOworCQlkZXNjLT5ib29raWRzW2lkeF0gPSBib29raWQ7CisJfQorCWlmIChkcmF3ZXJfc2libGluZ3MpIHsKKwkJYWRkX2NwdXNldF90b19hcnJheShkZXNjLT5kcmF3ZXJtYXBzLCAmZGVzYy0+bmRyYXdlcnMsIGRyYXdlcl9zaWJsaW5ncyk7CisJCWRlc2MtPmRyYXdlcmlkc1tpZHhdID0gZHJhd2VyaWQ7CisJfQorfQorCitzdGF0aWMgdm9pZAorcmVhZF9wb2xhcml6YXRpb24oc3RydWN0IGxzY3B1X2Rlc2MgKmRlc2MsIGludCBpZHgpCit7CisJY2hhciBtb2RlWzY0XTsKKwlpbnQgbnVtID0gcmVhbF9jcHVfbnVtKGRlc2MsIGlkeCk7CisKKwlpZiAoZGVzYy0+ZGlzcGF0Y2hpbmcgPCAwKQorCQlyZXR1cm47CisJaWYgKCFwYXRoX2V4aXN0KF9QQVRIX1NZU19DUFUgIi9jcHUlZC9wb2xhcml6YXRpb24iLCBudW0pKQorCQlyZXR1cm47CisJaWYgKCFkZXNjLT5wb2xhcml6YXRpb24pCisJCWRlc2MtPnBvbGFyaXphdGlvbiA9IHhjYWxsb2MoZGVzYy0+bmNwdXNwb3MsIHNpemVvZihpbnQpKTsKKwlwYXRoX3JlYWRfc3RyKG1vZGUsIHNpemVvZihtb2RlKSwgX1BBVEhfU1lTX0NQVSAiL2NwdSVkL3BvbGFyaXphdGlvbiIsIG51bSk7CisJaWYgKHN0cm5jbXAobW9kZSwgInZlcnRpY2FsOmxvdyIsIHNpemVvZihtb2RlKSkgPT0gMCkKKwkJZGVzYy0+cG9sYXJpemF0aW9uW2lkeF0gPSBQT0xBUl9WTE9XOworCWVsc2UgaWYgKHN0cm5jbXAobW9kZSwgInZlcnRpY2FsOm1lZGl1bSIsIHNpemVvZihtb2RlKSkgPT0gMCkKKwkJZGVzYy0+cG9sYXJpemF0aW9uW2lkeF0gPSBQT0xBUl9WTUVESVVNOworCWVsc2UgaWYgKHN0cm5jbXAobW9kZSwgInZlcnRpY2FsOmhpZ2giLCBzaXplb2YobW9kZSkpID09IDApCisJCWRlc2MtPnBvbGFyaXphdGlvbltpZHhdID0gUE9MQVJfVkhJR0g7CisJZWxzZSBpZiAoc3RybmNtcChtb2RlLCAiaG9yaXpvbnRhbCIsIHNpemVvZihtb2RlKSkgPT0gMCkKKwkJZGVzYy0+cG9sYXJpemF0aW9uW2lkeF0gPSBQT0xBUl9IT1JJWk9OVEFMOworCWVsc2UKKwkJZGVzYy0+cG9sYXJpemF0aW9uW2lkeF0gPSBQT0xBUl9VTktOT1dOOworfQorCitzdGF0aWMgdm9pZAorcmVhZF9hZGRyZXNzKHN0cnVjdCBsc2NwdV9kZXNjICpkZXNjLCBpbnQgaWR4KQoreworCWludCBudW0gPSByZWFsX2NwdV9udW0oZGVzYywgaWR4KTsKKworCWlmICghcGF0aF9leGlzdChfUEFUSF9TWVNfQ1BVICIvY3B1JWQvYWRkcmVzcyIsIG51bSkpCisJCXJldHVybjsKKwlpZiAoIWRlc2MtPmFkZHJlc3NlcykKKwkJZGVzYy0+YWRkcmVzc2VzID0geGNhbGxvYyhkZXNjLT5uY3B1c3Bvcywgc2l6ZW9mKGludCkpOworCWRlc2MtPmFkZHJlc3Nlc1tpZHhdID0gcGF0aF9yZWFkX3MzMihfUEFUSF9TWVNfQ1BVICIvY3B1JWQvYWRkcmVzcyIsIG51bSk7Cit9CisKK3N0YXRpYyB2b2lkCityZWFkX2NvbmZpZ3VyZWQoc3RydWN0IGxzY3B1X2Rlc2MgKmRlc2MsIGludCBpZHgpCit7CisJaW50IG51bSA9IHJlYWxfY3B1X251bShkZXNjLCBpZHgpOworCisJaWYgKCFwYXRoX2V4aXN0KF9QQVRIX1NZU19DUFUgIi9jcHUlZC9jb25maWd1cmUiLCBudW0pKQorCQlyZXR1cm47CisJaWYgKCFkZXNjLT5jb25maWd1cmVkKQorCQlkZXNjLT5jb25maWd1cmVkID0geGNhbGxvYyhkZXNjLT5uY3B1c3Bvcywgc2l6ZW9mKGludCkpOworCWRlc2MtPmNvbmZpZ3VyZWRbaWR4XSA9IHBhdGhfcmVhZF9zMzIoX1BBVEhfU1lTX0NQVSAiL2NwdSVkL2NvbmZpZ3VyZSIsIG51bSk7Cit9CisKK3N0YXRpYyB2b2lkCityZWFkX21heF9taHooc3RydWN0IGxzY3B1X2Rlc2MgKmRlc2MsIGludCBpZHgpCit7CisJaW50IG51bSA9IHJlYWxfY3B1X251bShkZXNjLCBpZHgpOworCisJaWYgKCFwYXRoX2V4aXN0KF9QQVRIX1NZU19DUFUgIi9jcHUlZC9jcHVmcmVxL2NwdWluZm9fbWF4X2ZyZXEiLCBudW0pKQorCQlyZXR1cm47CisJaWYgKCFkZXNjLT5tYXhtaHopCisJCWRlc2MtPm1heG1oeiA9IHhjYWxsb2MoZGVzYy0+bmNwdXNwb3MsIHNpemVvZihjaGFyICopKTsKKwl4YXNwcmludGYoJihkZXNjLT5tYXhtaHpbaWR4XSksICIlLjRmIiwKKwkJICAoZmxvYXQpcGF0aF9yZWFkX3MzMihfUEFUSF9TWVNfQ1BVCisJCQkJICAgICAgICIvY3B1JWQvY3B1ZnJlcS9jcHVpbmZvX21heF9mcmVxIiwgbnVtKSAvIDEwMDApOworfQorCitzdGF0aWMgdm9pZAorcmVhZF9taW5fbWh6KHN0cnVjdCBsc2NwdV9kZXNjICpkZXNjLCBpbnQgaWR4KQoreworCWludCBudW0gPSByZWFsX2NwdV9udW0oZGVzYywgaWR4KTsKKworCWlmICghcGF0aF9leGlzdChfUEFUSF9TWVNfQ1BVICIvY3B1JWQvY3B1ZnJlcS9jcHVpbmZvX21pbl9mcmVxIiwgbnVtKSkKKwkJcmV0dXJuOworCWlmICghZGVzYy0+bWlubWh6KQorCQlkZXNjLT5taW5taHogPSB4Y2FsbG9jKGRlc2MtPm5jcHVzcG9zLCBzaXplb2YoY2hhciAqKSk7CisJeGFzcHJpbnRmKCYoZGVzYy0+bWlubWh6W2lkeF0pLCAiJS40ZiIsCisJCSAgKGZsb2F0KXBhdGhfcmVhZF9zMzIoX1BBVEhfU1lTX0NQVQorCQkJCSAgICAgICAiL2NwdSVkL2NwdWZyZXEvY3B1aW5mb19taW5fZnJlcSIsIG51bSkgLyAxMDAwKTsKK30KKworc3RhdGljIGludAorY2FjaGVjbXAoY29uc3Qgdm9pZCAqYSwgY29uc3Qgdm9pZCAqYikKK3sKKwlzdHJ1Y3QgY3B1X2NhY2hlICpjMSA9IChzdHJ1Y3QgY3B1X2NhY2hlICopIGE7CisJc3RydWN0IGNwdV9jYWNoZSAqYzIgPSAoc3RydWN0IGNwdV9jYWNoZSAqKSBiOworCisJcmV0dXJuIHN0cmNtcChjMi0+bmFtZSwgYzEtPm5hbWUpOworfQorCitzdGF0aWMgdm9pZAorcmVhZF9jYWNoZShzdHJ1Y3QgbHNjcHVfZGVzYyAqZGVzYywgaW50IGlkeCkKK3sKKwljaGFyIGJ1ZlsyNTZdOworCWludCBpOworCWludCBudW0gPSByZWFsX2NwdV9udW0oZGVzYywgaWR4KTsKKworCWlmICghZGVzYy0+bmNhY2hlcykgeworCQl3aGlsZShwYXRoX2V4aXN0KF9QQVRIX1NZU19DUFUgIi9jcHUlZC9jYWNoZS9pbmRleCVkIiwKKwkJCQkJbnVtLCBkZXNjLT5uY2FjaGVzKSkKKwkJCWRlc2MtPm5jYWNoZXMrKzsKKworCQlpZiAoIWRlc2MtPm5jYWNoZXMpCisJCQlyZXR1cm47CisKKwkJZGVzYy0+Y2FjaGVzID0geGNhbGxvYyhkZXNjLT5uY2FjaGVzLCBzaXplb2YoKmRlc2MtPmNhY2hlcykpOworCX0KKwlmb3IgKGkgPSAwOyBpIDwgZGVzYy0+bmNhY2hlczsgaSsrKSB7CisJCXN0cnVjdCBjcHVfY2FjaGUgKmNhID0gJmRlc2MtPmNhY2hlc1tpXTsKKwkJY3B1X3NldF90ICptYXA7CisKKwkJaWYgKCFwYXRoX2V4aXN0KF9QQVRIX1NZU19DUFUgIi9jcHUlZC9jYWNoZS9pbmRleCVkIiwKKwkJCQludW0sIGkpKQorCQkJY29udGludWU7CisJCWlmICghY2EtPm5hbWUpIHsKKwkJCWludCB0eXBlLCBsZXZlbDsKKworCQkJLyogY2FjaGUgdHlwZSAqLworCQkJcGF0aF9yZWFkX3N0cihidWYsIHNpemVvZihidWYpLAorCQkJCQlfUEFUSF9TWVNfQ1BVICIvY3B1JWQvY2FjaGUvaW5kZXglZC90eXBlIiwKKwkJCQkJbnVtLCBpKTsKKwkJCWlmICghc3RyY21wKGJ1ZiwgIkRhdGEiKSkKKwkJCQl0eXBlID0gJ2QnOworCQkJZWxzZSBpZiAoIXN0cmNtcChidWYsICJJbnN0cnVjdGlvbiIpKQorCQkJCXR5cGUgPSAnaSc7CisJCQllbHNlCisJCQkJdHlwZSA9IDA7CisKKwkJCS8qIGNhY2hlIGxldmVsICovCisJCQlsZXZlbCA9IHBhdGhfcmVhZF9zMzIoX1BBVEhfU1lTX0NQVSAiL2NwdSVkL2NhY2hlL2luZGV4JWQvbGV2ZWwiLAorCQkJCQludW0sIGkpOworCQkJaWYgKHR5cGUpCisJCQkJc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIkwlZCVjIiwgbGV2ZWwsIHR5cGUpOworCQkJZWxzZQorCQkJCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICJMJWQiLCBsZXZlbCk7CisKKwkJCWNhLT5uYW1lID0geHN0cmR1cChidWYpOworCisJCQkvKiBjYWNoZSBzaXplICovCisJCQlpZiAocGF0aF9leGlzdChfUEFUSF9TWVNfQ1BVICIvY3B1JWQvY2FjaGUvaW5kZXglZC9zaXplIixudW0sIGkpKSB7CisJCQkJcGF0aF9yZWFkX3N0cihidWYsIHNpemVvZihidWYpLAorCQkJCQlfUEFUSF9TWVNfQ1BVICIvY3B1JWQvY2FjaGUvaW5kZXglZC9zaXplIiwgbnVtLCBpKTsKKwkJCQljYS0+c2l6ZSA9IHhzdHJkdXAoYnVmKTsKKwkJCX0gZWxzZSB7CisJCQkJY2EtPnNpemUgPSB4c3RyZHVwKCJ1bmtub3duIHNpemUiKTsKKwkJCX0KKwkJfQorCisJCS8qIGluZm9ybWF0aW9uIGFib3V0IGhvdyBDUFVzIHNoYXJlIGRpZmZlcmVudCBjYWNoZXMgKi8KKwkJbWFwID0gcGF0aF9yZWFkX2NwdXNldChtYXhjcHVzLAorCQkJCSAgX1BBVEhfU1lTX0NQVSAiL2NwdSVkL2NhY2hlL2luZGV4JWQvc2hhcmVkX2NwdV9tYXAiLAorCQkJCSAgbnVtLCBpKTsKKworCQlpZiAoIWNhLT5zaGFyZWRtYXBzKQorCQkJY2EtPnNoYXJlZG1hcHMgPSB4Y2FsbG9jKGRlc2MtPm5jcHVzcG9zLCBzaXplb2YoY3B1X3NldF90ICopKTsKKwkJYWRkX2NwdXNldF90b19hcnJheShjYS0+c2hhcmVkbWFwcywgJmNhLT5uc2hhcmVkbWFwcywgbWFwKTsKKwl9Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGlzX25vZGVfZGlyZW50KHN0cnVjdCBkaXJlbnQgKmQpCit7CisJcmV0dXJuCisJCWQgJiYKKyNpZmRlZiBfRElSRU5UX0hBVkVfRF9UWVBFCisJCShkLT5kX3R5cGUgPT0gRFRfRElSIHx8IGQtPmRfdHlwZSA9PSBEVF9VTktOT1dOKSAmJgorI2VuZGlmCisJCXN0cm5jbXAoZC0+ZF9uYW1lLCAibm9kZSIsIDQpID09IDAgJiYKKwkJaXNkaWdpdF9zdHJpbmcoZC0+ZF9uYW1lICsgNCk7Cit9CisKK3N0YXRpYyBpbnQKK25vZGVjbXAoY29uc3Qgdm9pZCAqYXAsIGNvbnN0IHZvaWQgKmJwKQoreworCWludCAqYSA9IChpbnQgKikgYXAsICpiID0gKGludCAqKSBicDsKKwlyZXR1cm4gKmEgLSAqYjsKK30KKworc3RhdGljIHZvaWQKK3JlYWRfbm9kZXMoc3RydWN0IGxzY3B1X2Rlc2MgKmRlc2MpCit7CisJaW50IGkgPSAwOworCURJUiAqZGlyOworCXN0cnVjdCBkaXJlbnQgKmQ7CisJY2hhciAqcGF0aDsKKworCS8qIG51bWJlciBvZiBOVU1BIG5vZGUgKi8KKwlwYXRoID0gcGF0aF9zdHJkdXAoX1BBVEhfU1lTX05PREUpOworCWRpciA9IG9wZW5kaXIocGF0aCk7CisJZnJlZShwYXRoKTsKKworCXdoaWxlIChkaXIgJiYgKGQgPSByZWFkZGlyKGRpcikpKSB7CisJCWlmIChpc19ub2RlX2RpcmVudChkKSkKKwkJCWRlc2MtPm5ub2RlcysrOworCX0KKworCWlmICghZGVzYy0+bm5vZGVzKSB7CisJCWlmIChkaXIpCisJCQljbG9zZWRpcihkaXIpOworCQlyZXR1cm47CisJfQorCisJZGVzYy0+bm9kZW1hcHMgPSB4Y2FsbG9jKGRlc2MtPm5ub2Rlcywgc2l6ZW9mKGNwdV9zZXRfdCAqKSk7CisJZGVzYy0+aWR4Mm5vZGVudW0gPSB4bWFsbG9jKGRlc2MtPm5ub2RlcyAqIHNpemVvZihpbnQpKTsKKworCWlmIChkaXIpIHsKKwkJcmV3aW5kZGlyKGRpcik7CisJCXdoaWxlICgoZCA9IHJlYWRkaXIoZGlyKSkgJiYgaSA8IGRlc2MtPm5ub2RlcykgeworCQkJaWYgKGlzX25vZGVfZGlyZW50KGQpKQorCQkJCWRlc2MtPmlkeDJub2RlbnVtW2krK10gPSBzdHJ0b2xfb3JfZXJyKCgoZC0+ZF9uYW1lKSArIDQpLAorCQkJCQkJCV8oIkZhaWxlZCB0byBleHRyYWN0IHRoZSBub2RlIG51bWJlciIpKTsKKwkJfQorCQljbG9zZWRpcihkaXIpOworCQlxc29ydChkZXNjLT5pZHgybm9kZW51bSwgZGVzYy0+bm5vZGVzLCBzaXplb2YoaW50KSwgbm9kZWNtcCk7CisJfQorCisJLyogaW5mb3JtYXRpb24gYWJvdXQgaG93IG5vZGVzIHNoYXJlIGRpZmZlcmVudCBDUFVzICovCisJZm9yIChpID0gMDsgaSA8IGRlc2MtPm5ub2RlczsgaSsrKQorCQlkZXNjLT5ub2RlbWFwc1tpXSA9IHBhdGhfcmVhZF9jcHVzZXQobWF4Y3B1cywKKwkJCQkJX1BBVEhfU1lTX05PREUgIi9ub2RlJWQvY3B1bWFwIiwKKwkJCQkJZGVzYy0+aWR4Mm5vZGVudW1baV0pOworfQorCitzdGF0aWMgY2hhciAqCitnZXRfY2VsbF9kYXRhKHN0cnVjdCBsc2NwdV9kZXNjICpkZXNjLCBpbnQgaWR4LCBpbnQgY29sLAorCSAgICAgIHN0cnVjdCBsc2NwdV9tb2RpZmllciAqbW9kLAorCSAgICAgIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnN6KQoreworCXNpemVfdCBzZXRzaXplID0gQ1BVX0FMTE9DX1NJWkUobWF4Y3B1cyk7CisJc2l6ZV90IGk7CisJaW50IGNwdSA9IHJlYWxfY3B1X251bShkZXNjLCBpZHgpOworCisJKmJ1ZiA9ICdcMCc7CisKKwlzd2l0Y2ggKGNvbCkgeworCWNhc2UgQ09MX0NQVToKKwkJc25wcmludGYoYnVmLCBidWZzeiwgIiVkIiwgY3B1KTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfQ09SRToKKwkJaWYgKG1vZC0+cGh5c2ljYWwpIHsKKwkJCWlmIChkZXNjLT5jb3JlaWRzW2lkeF0gPT0gLTEpCisJCQkJc25wcmludGYoYnVmLCBidWZzeiwgIi0iKTsKKwkJCWVsc2UKKwkJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCAiJWQiLCBkZXNjLT5jb3JlaWRzW2lkeF0pOworCQl9IGVsc2UgeworCQkJaWYgKGNwdXNldF9hcnlfaXNzZXQoY3B1LCBkZXNjLT5jb3JlbWFwcywKKwkJCQkJICAgICBkZXNjLT5uY29yZXMsIHNldHNpemUsICZpKSA9PSAwKQorCQkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osICIlenUiLCBpKTsKKwkJfQorCQlicmVhazsKKwljYXNlIENPTF9TT0NLRVQ6CisJCWlmIChtb2QtPnBoeXNpY2FsKSB7CisJCQlpZiAoZGVzYy0+c29ja2V0aWRzW2lkeF0gPT0gIC0xKQorCQkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osICItIik7CisJCQllbHNlCisJCQkJc25wcmludGYoYnVmLCBidWZzeiwgIiVkIiwgZGVzYy0+c29ja2V0aWRzW2lkeF0pOworCQl9IGVsc2UgeworCQkJaWYgKGNwdXNldF9hcnlfaXNzZXQoY3B1LCBkZXNjLT5zb2NrZXRtYXBzLAorCQkJCQkgICAgIGRlc2MtPm5zb2NrZXRzLCBzZXRzaXplLCAmaSkgPT0gMCkKKwkJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCAiJXp1IiwgaSk7CisJCX0KKwkJYnJlYWs7CisJY2FzZSBDT0xfTk9ERToKKwkJaWYgKGNwdXNldF9hcnlfaXNzZXQoY3B1LCBkZXNjLT5ub2RlbWFwcywKKwkJCQkgICAgIGRlc2MtPm5ub2Rlcywgc2V0c2l6ZSwgJmkpID09IDApCisJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCAiJWQiLCBkZXNjLT5pZHgybm9kZW51bVtpXSk7CisJCWJyZWFrOworCWNhc2UgQ09MX0RSQVdFUjoKKwkJaWYgKG1vZC0+cGh5c2ljYWwpIHsKKwkJCWlmIChkZXNjLT5kcmF3ZXJpZHNbaWR4XSA9PSAtMSkKKwkJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCAiLSIpOworCQkJZWxzZQorCQkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osICIlZCIsIGRlc2MtPmRyYXdlcmlkc1tpZHhdKTsKKwkJfSBlbHNlIHsKKwkJCWlmIChjcHVzZXRfYXJ5X2lzc2V0KGNwdSwgZGVzYy0+ZHJhd2VybWFwcywKKwkJCQkJICAgICBkZXNjLT5uZHJhd2Vycywgc2V0c2l6ZSwgJmkpID09IDApCisJCQkJc25wcmludGYoYnVmLCBidWZzeiwgIiV6dSIsIGkpOworCQl9CisJCWJyZWFrOworCWNhc2UgQ09MX0JPT0s6CisJCWlmIChtb2QtPnBoeXNpY2FsKSB7CisJCQlpZiAoZGVzYy0+Ym9va2lkc1tpZHhdID09IC0xKQorCQkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osICItIik7CisJCQllbHNlCisJCQkJc25wcmludGYoYnVmLCBidWZzeiwgIiVkIiwgZGVzYy0+Ym9va2lkc1tpZHhdKTsKKwkJfSBlbHNlIHsKKwkJCWlmIChjcHVzZXRfYXJ5X2lzc2V0KGNwdSwgZGVzYy0+Ym9va21hcHMsCisJCQkJCSAgICAgZGVzYy0+bmJvb2tzLCBzZXRzaXplLCAmaSkgPT0gMCkKKwkJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCAiJXp1IiwgaSk7CisJCX0KKwkJYnJlYWs7CisJY2FzZSBDT0xfQ0FDSEU6CisJeworCQljaGFyICpwID0gYnVmOworCQlzaXplX3Qgc3ogPSBidWZzejsKKwkJaW50IGo7CisKKwkJZm9yIChqID0gZGVzYy0+bmNhY2hlcyAtIDE7IGogPj0gMDsgai0tKSB7CisJCQlzdHJ1Y3QgY3B1X2NhY2hlICpjYSA9ICZkZXNjLT5jYWNoZXNbal07CisKKwkJCWlmIChjcHVzZXRfYXJ5X2lzc2V0KGNwdSwgY2EtPnNoYXJlZG1hcHMsCisJCQkJCSAgICAgY2EtPm5zaGFyZWRtYXBzLCBzZXRzaXplLCAmaSkgPT0gMCkgeworCQkJCWludCB4ID0gc25wcmludGYocCwgc3osICIlenUiLCBpKTsKKwkJCQlpZiAoeCA8IDAgfHwgKHNpemVfdCkgeCA+PSBzeikKKwkJCQkJcmV0dXJuIE5VTEw7CisJCQkJcCArPSB4OworCQkJCXN6IC09IHg7CisJCQl9CisJCQlpZiAoaiAhPSAwKSB7CisJCQkJaWYgKHN6IDwgMikKKwkJCQkJcmV0dXJuIE5VTEw7CisJCQkJKnArKyA9IG1vZC0+Y29tcGF0ID8gJywnIDogJzonOworCQkJCSpwID0gJ1wwJzsKKwkJCQlzei0tOworCQkJfQorCQl9CisJCWJyZWFrOworCX0KKwljYXNlIENPTF9QT0xBUklaQVRJT046CisJCWlmIChkZXNjLT5wb2xhcml6YXRpb24pIHsKKwkJCWludCB4ID0gZGVzYy0+cG9sYXJpemF0aW9uW2lkeF07CisKKwkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osICIlcyIsCisJCQkJIG1vZC0+bW9kZSA9PSBPVVRQVVRfUEFSU0FCTEUgPworCQkJCQkJcG9sYXJfbW9kZXNbeF0ucGFyc2FibGUgOgorCQkJCQkJcG9sYXJfbW9kZXNbeF0ucmVhZGFibGUpOworCQl9CisJCWJyZWFrOworCWNhc2UgQ09MX0FERFJFU1M6CisJCWlmIChkZXNjLT5hZGRyZXNzZXMpCisJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCAiJWQiLCBkZXNjLT5hZGRyZXNzZXNbaWR4XSk7CisJCWJyZWFrOworCWNhc2UgQ09MX0NPTkZJR1VSRUQ6CisJCWlmICghZGVzYy0+Y29uZmlndXJlZCkKKwkJCWJyZWFrOworCQlpZiAobW9kLT5tb2RlID09IE9VVFBVVF9QQVJTQUJMRSkKKwkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osICIlcyIsCisJCQkJIGRlc2MtPmNvbmZpZ3VyZWRbaWR4XSA/IF8oIlkiKSA6IF8oIk4iKSk7CisJCWVsc2UKKwkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osICIlcyIsCisJCQkJIGRlc2MtPmNvbmZpZ3VyZWRbaWR4XSA/IF8oInllcyIpIDogXygibm8iKSk7CisJCWJyZWFrOworCWNhc2UgQ09MX09OTElORToKKwkJaWYgKCFkZXNjLT5vbmxpbmUpCisJCQlicmVhazsKKwkJaWYgKG1vZC0+bW9kZSA9PSBPVVRQVVRfUEFSU0FCTEUpCisJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCAiJXMiLAorCQkJCSBpc19jcHVfb25saW5lKGRlc2MsIGNwdSkgPyBfKCJZIikgOiBfKCJOIikpOworCQllbHNlCisJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCAiJXMiLAorCQkJCSBpc19jcHVfb25saW5lKGRlc2MsIGNwdSkgPyBfKCJ5ZXMiKSA6IF8oIm5vIikpOworCQlicmVhazsKKwljYXNlIENPTF9NQVhNSFo6CisJCWlmIChkZXNjLT5tYXhtaHopCisJCQl4c3RybmNweShidWYsIGRlc2MtPm1heG1oeltpZHhdLCBidWZzeik7CisJCWJyZWFrOworCWNhc2UgQ09MX01JTk1IWjoKKwkJaWYgKGRlc2MtPm1pbm1oeikKKwkJCXhzdHJuY3B5KGJ1ZiwgZGVzYy0+bWlubWh6W2lkeF0sIGJ1ZnN6KTsKKwkJYnJlYWs7CisJfQorCXJldHVybiBidWY7Cit9CisKK3N0YXRpYyBjaGFyICoKK2dldF9jZWxsX2hlYWRlcihzdHJ1Y3QgbHNjcHVfZGVzYyAqZGVzYywgaW50IGNvbCwKKwkJc3RydWN0IGxzY3B1X21vZGlmaWVyICptb2QsCisJICAgICAgICBjaGFyICpidWYsIHNpemVfdCBidWZzeikKK3sKKwkqYnVmID0gJ1wwJzsKKworCWlmIChjb2wgPT0gQ09MX0NBQ0hFKSB7CisJCWNoYXIgKnAgPSBidWY7CisJCXNpemVfdCBzeiA9IGJ1ZnN6OworCQlpbnQgaTsKKworCQlmb3IgKGkgPSBkZXNjLT5uY2FjaGVzIC0gMTsgaSA+PSAwOyBpLS0pIHsKKwkJCWludCB4ID0gc25wcmludGYocCwgc3osICIlcyIsIGRlc2MtPmNhY2hlc1tpXS5uYW1lKTsKKwkJCWlmICh4IDwgMCB8fCAoc2l6ZV90KSB4ID49IHN6KQorCQkJCXJldHVybiBOVUxMOworCQkJc3ogLT0geDsKKwkJCXAgKz0geDsKKwkJCWlmIChpID4gMCkgeworCQkJCWlmIChzeiA8IDIpCisJCQkJCXJldHVybiBOVUxMOworCQkJCSpwKysgPSBtb2QtPmNvbXBhdCA/ICcsJyA6ICc6JzsKKwkJCQkqcCA9ICdcMCc7CisJCQkJc3otLTsKKwkJCX0KKwkJfQorCQlpZiAoZGVzYy0+bmNhY2hlcykKKwkJCXJldHVybiBidWY7CisJfQorCXNucHJpbnRmKGJ1ZiwgYnVmc3osICIlcyIsIGNvbGRlc2NzW2NvbF0ubmFtZSk7CisJcmV0dXJuIGJ1ZjsKK30KKworLyoKKyAqIFstcF0gYmFja2VuZCwgd2Ugc3VwcG9ydCB0d28gcGFyc2FibGUgZm9ybWF0czoKKyAqCisgKiAxKSAiY29tcGF0aWJsZSIgLS0gdGhpcyBmb3JtYXQgaXMgY29tcGF0aWJsZSB3aXRoIHRoZSBvcmlnaW5hbCBsc2NwdSgxKQorICogb3V0cHV0IGFuZCBpdCBjb250YWlucyBmaXhlZCBzZXQgb2YgdGhlIGNvbHVtbnMuIFRoZSBDQUNIRSBjb2x1bW5zIGFyZSBhdAorICogdGhlIGVuZCBvZiB0aGUgbGluZSBhbmQgdGhlIENBQ0hFIGlzIG5vdCBwcmludGVkIGlmIHRoZSBudW1iZXIgb2YgdGhlIGNhY2hlcworICogaXMgemVyby4gVGhlIENBQ0hFIGNvbHVtbnMgYXJlIHNlcGFyYXRlZCBieSB0d28gY29tbWFzLCBmb3IgZXhhbXBsZToKKyAqCisgKiAgICAkIGxzY3B1IC0tcGFyc2UKKyAqICAgICMgQ1BVLENvcmUsU29ja2V0LE5vZGUsLEwxZCxMMWksTDIKKyAqICAgIDAsMCwwLDAsLDAsMCwwCisgKiAgICAxLDEsMCwwLCwxLDEsMAorICoKKyAqIDIpICJ1c2VyIGRlZmluZWQgb3V0cHV0IiAtLSB0aGlzIGZvcm1hdCBwcmludHMgYWx3YXlzIGFsbCBjb2x1bW5zIHdpdGhvdXQKKyAqIHNwZWNpYWwgcHJlZml4IGZvciBDQUNIRSBjb2x1bW4uIElmIHRoZXJlIGFyZSBub3QgQ0FDSEVzIHRoZW4gdGhlIGNvbHVtbiBpcworICogZW1wdHkgYW5kIHRoZSBoZWFkZXIgIkNhY2hlIiBpcyBwcmludGVkIHJhdGhlciB0aGFuIGEgcmVhbCBuYW1lIG9mIHRoZSBjYWNoZS4KKyAqIFRoZSBDQUNIRSBjb2x1bW5zIGFyZSBzZXBhcmF0ZWQgYnkgJzonLgorICoKKyAqCSQgbHNjcHUgLS1wYXJzZT1DUFUsQ09SRSxTT0NLRVQsTk9ERSxDQUNIRQorICoJIyBDUFUsQ29yZSxTb2NrZXQsTm9kZSxMMWQ6TDFpOkwyCisgKgkwLDAsMCwwLDA6MDowCisgKgkxLDEsMCwwLDE6MTowCisgKi8KK3N0YXRpYyB2b2lkCitwcmludF9wYXJzYWJsZShzdHJ1Y3QgbHNjcHVfZGVzYyAqZGVzYywgaW50IGNvbHNbXSwgaW50IG5jb2xzLAorCSAgICAgICBzdHJ1Y3QgbHNjcHVfbW9kaWZpZXIgKm1vZCkKK3sKKwljaGFyIGJ1ZltCVUZTSVpdLCAqZGF0YTsKKwlpbnQgaTsKKworCS8qCisJICogSGVhZGVyCisJICovCisJcHJpbnRmKF8oCisJIiMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyXG4iCisJIiMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSURcbiIKKwkiIyBzdGFydGluZyBmcm9tIHplcm8uXG4iKSk7CisKKwlmcHV0cygiIyAiLCBzdGRvdXQpOworCWZvciAoaSA9IDA7IGkgPCBuY29sczsgaSsrKSB7CisJCWludCBjb2wgPSBjb2xzW2ldOworCisJCWlmIChjb2wgPT0gQ09MX0NBQ0hFKSB7CisJCQlpZiAobW9kLT5jb21wYXQgJiYgIWRlc2MtPm5jYWNoZXMpCisJCQkJY29udGludWU7CisJCQlpZiAobW9kLT5jb21wYXQgJiYgaSAhPSAwKQorCQkJCXB1dGNoYXIoJywnKTsKKwkJfQorCQlpZiAoaSA+IDApCisJCQlwdXRjaGFyKCcsJyk7CisKKwkJZGF0YSA9IGdldF9jZWxsX2hlYWRlcihkZXNjLCBjb2wsIG1vZCwgYnVmLCBzaXplb2YoYnVmKSk7CisKKwkJaWYgKGRhdGEgJiYgKiBkYXRhICYmIGNvbCAhPSBDT0xfQ0FDSEUgJiYKKwkJICAgICFjb2xkZXNjc1tjb2xdLmlzX2FiYnIpIHsKKwkJCS8qCisJCQkgKiBGb3Igbm9ybWFsIGNvbHVtbiBuYW1lcyB1c2UgbWl4ZWQgY2FzZSAoZS5nLiAiU29ja2V0IikKKwkJCSAqLworCQkJY2hhciAqcCA9IGRhdGEgKyAxOworCisJCQl3aGlsZSAocCAmJiAqcCAhPSAnXDAnKSB7CisJCQkJKnAgPSB0b2xvd2VyKCh1bnNpZ25lZCBpbnQpICpwKTsKKwkJCQlwKys7CisJCQl9CisJCX0KKwkJZnB1dHMoZGF0YSAmJiAqZGF0YSA/IGRhdGEgOiAiIiwgc3Rkb3V0KTsKKwl9CisJcHV0Y2hhcignXG4nKTsKKworCS8qCisJICogRGF0YQorCSAqLworCWZvciAoaSA9IDA7IGkgPCBkZXNjLT5uY3B1c3BvczsgaSsrKSB7CisJCWludCBjOworCQlpbnQgY3B1ID0gcmVhbF9jcHVfbnVtKGRlc2MsIGkpOworCisJCWlmICghbW9kLT5vZmZsaW5lICYmIGRlc2MtPm9ubGluZSAmJiAhaXNfY3B1X29ubGluZShkZXNjLCBjcHUpKQorCQkJY29udGludWU7CisJCWlmICghbW9kLT5vbmxpbmUgJiYgZGVzYy0+b25saW5lICYmIGlzX2NwdV9vbmxpbmUoZGVzYywgY3B1KSkKKwkJCWNvbnRpbnVlOworCQlpZiAoZGVzYy0+cHJlc2VudCAmJiAhaXNfY3B1X3ByZXNlbnQoZGVzYywgY3B1KSkKKwkJCWNvbnRpbnVlOworCQlmb3IgKGMgPSAwOyBjIDwgbmNvbHM7IGMrKykgeworCQkJaWYgKG1vZC0+Y29tcGF0ICYmIGNvbHNbY10gPT0gQ09MX0NBQ0hFKSB7CisJCQkJaWYgKCFkZXNjLT5uY2FjaGVzKQorCQkJCQljb250aW51ZTsKKwkJCQlpZiAoYyA+IDApCisJCQkJCXB1dGNoYXIoJywnKTsKKwkJCX0KKwkJCWlmIChjID4gMCkKKwkJCQlwdXRjaGFyKCcsJyk7CisKKwkJCWRhdGEgPSBnZXRfY2VsbF9kYXRhKGRlc2MsIGksIGNvbHNbY10sIG1vZCwKKwkJCQkJICAgICBidWYsIHNpemVvZihidWYpKTsKKwkJCWZwdXRzKGRhdGEgJiYgKmRhdGEgPyBkYXRhIDogIiIsIHN0ZG91dCk7CisJCX0KKwkJcHV0Y2hhcignXG4nKTsKKwl9Cit9CisKKy8qCisgKiBbLWVdIGJhY2tlbmQKKyAqLworc3RhdGljIHZvaWQKK3ByaW50X3JlYWRhYmxlKHN0cnVjdCBsc2NwdV9kZXNjICpkZXNjLCBpbnQgY29sc1tdLCBpbnQgbmNvbHMsCisJICAgICAgIHN0cnVjdCBsc2NwdV9tb2RpZmllciAqbW9kKQoreworCWludCBpOworCWNoYXIgYnVmW0JVRlNJWl07CisJY29uc3QgY2hhciAqZGF0YTsKKwlzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRhYmxlOworCisJc2NvbHNfaW5pdF9kZWJ1ZygwKTsKKworCXRhYmxlID0gc2NvbHNfbmV3X3RhYmxlKCk7CisJaWYgKCF0YWJsZSkKKwkJIGVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCB0YWJsZSIpKTsKKworCWZvciAoaSA9IDA7IGkgPCBuY29sczsgaSsrKSB7CisJCWRhdGEgPSBnZXRfY2VsbF9oZWFkZXIoZGVzYywgY29sc1tpXSwgbW9kLCBidWYsIHNpemVvZihidWYpKTsKKwkJaWYgKCFzY29sc190YWJsZV9uZXdfY29sdW1uKHRhYmxlLCB4c3RyZHVwKGRhdGEpLCAwLCAwKSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iKSk7CisJfQorCisJZm9yIChpID0gMDsgaSA8IGRlc2MtPm5jcHVzcG9zOyBpKyspIHsKKwkJaW50IGM7CisJCXN0cnVjdCBsaWJzY29sc19saW5lICpsaW5lOworCQlpbnQgY3B1ID0gcmVhbF9jcHVfbnVtKGRlc2MsIGkpOworCisJCWlmICghbW9kLT5vZmZsaW5lICYmIGRlc2MtPm9ubGluZSAmJiAhaXNfY3B1X29ubGluZShkZXNjLCBjcHUpKQorCQkJY29udGludWU7CisJCWlmICghbW9kLT5vbmxpbmUgJiYgZGVzYy0+b25saW5lICYmIGlzX2NwdV9vbmxpbmUoZGVzYywgY3B1KSkKKwkJCWNvbnRpbnVlOworCQlpZiAoZGVzYy0+cHJlc2VudCAmJiAhaXNfY3B1X3ByZXNlbnQoZGVzYywgY3B1KSkKKwkJCWNvbnRpbnVlOworCisJCWxpbmUgPSBzY29sc190YWJsZV9uZXdfbGluZSh0YWJsZSwgTlVMTCk7CisJCWlmICghbGluZSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBsaW5lIikpOworCisJCWZvciAoYyA9IDA7IGMgPCBuY29sczsgYysrKSB7CisJCQlkYXRhID0gZ2V0X2NlbGxfZGF0YShkZXNjLCBpLCBjb2xzW2NdLCBtb2QsCisJCQkJCSAgICAgYnVmLCBzaXplb2YoYnVmKSk7CisJCQlpZiAoIWRhdGEgfHwgISpkYXRhKQorCQkJCWRhdGEgPSAiLSI7CisJCQlzY29sc19saW5lX3NldF9kYXRhKGxpbmUsIGMsIGRhdGEpOworCQl9CisJfQorCisJc2NvbHNfcHJpbnRfdGFibGUodGFibGUpOworCXNjb2xzX3VucmVmX3RhYmxlKHRhYmxlKTsKK30KKworLyogb3V0cHV0IGZvcm1hdHMgIjxrZXk+ICA8dmFsdWU+IiovCisjZGVmaW5lIHByaW50X3MoX2tleSwgX3ZhbCkJcHJpbnRmKCIlLTIzcyVzXG4iLCBfa2V5LCBfdmFsKQorI2RlZmluZSBwcmludF9uKF9rZXksIF92YWwpCXByaW50ZigiJS0yM3MlZFxuIiwgX2tleSwgX3ZhbCkKKworc3RhdGljIHZvaWQKK3ByaW50X2NwdXNldChjb25zdCBjaGFyICprZXksIGNwdV9zZXRfdCAqc2V0LCBpbnQgaGV4KQoreworCXNpemVfdCBzZXRzaXplID0gQ1BVX0FMTE9DX1NJWkUobWF4Y3B1cyk7CisJc2l6ZV90IHNldGJ1ZmxlbiA9IDcgKiBtYXhjcHVzOworCWNoYXIgc2V0YnVmW3NldGJ1Zmxlbl0sICpwOworCisJaWYgKGhleCkgeworCQlwID0gY3B1bWFza19jcmVhdGUoc2V0YnVmLCBzZXRidWZsZW4sIHNldCwgc2V0c2l6ZSk7CisJCXByaW50ZigiJS0yM3MweCVzXG4iLCBrZXksIHApOworCX0gZWxzZSB7CisJCXAgPSBjcHVsaXN0X2NyZWF0ZShzZXRidWYsIHNldGJ1Zmxlbiwgc2V0LCBzZXRzaXplKTsKKwkJcHJpbnRfcyhrZXksIHApOworCX0KKworfQorCisvKgorICogZGVmYXVsdCBvdXRwdXQKKyAqLworc3RhdGljIHZvaWQKK3ByaW50X3N1bW1hcnkoc3RydWN0IGxzY3B1X2Rlc2MgKmRlc2MsIHN0cnVjdCBsc2NwdV9tb2RpZmllciAqbW9kKQoreworCWNoYXIgYnVmWzUxMl07CisJaW50IGk7CisJc2l6ZV90IHNldHNpemUgPSBDUFVfQUxMT0NfU0laRShtYXhjcHVzKTsKKworCXByaW50X3MoXygiQXJjaGl0ZWN0dXJlOiIpLCBkZXNjLT5hcmNoKTsKKworCWlmIChkZXNjLT5tb2RlKSB7CisJCWNoYXIgbWJ1Zls2NF0sICpwID0gbWJ1ZjsKKworCQlpZiAoZGVzYy0+bW9kZSAmIE1PREVfMzJCSVQpIHsKKwkJCXN0cmNweShwLCAiMzItYml0LCAiKTsKKwkJCXAgKz0gODsKKwkJfQorCQlpZiAoZGVzYy0+bW9kZSAmIE1PREVfNjRCSVQpIHsKKwkJCXN0cmNweShwLCAiNjQtYml0LCAiKTsKKwkJCXAgKz0gODsKKwkJfQorCQkqKHAgLSAyKSA9ICdcMCc7CisJCXByaW50X3MoXygiQ1BVIG9wLW1vZGUocyk6IiksIG1idWYpOworCX0KKyNpZiAhZGVmaW5lZChXT1JEU19CSUdFTkRJQU4pCisJcHJpbnRfcyhfKCJCeXRlIE9yZGVyOiIpLCAiTGl0dGxlIEVuZGlhbiIpOworI2Vsc2UKKwlwcmludF9zKF8oIkJ5dGUgT3JkZXI6IiksICJCaWcgRW5kaWFuIik7CisjZW5kaWYKKwlwcmludF9uKF8oIkNQVShzKToiKSwgZGVzYy0+bmNwdXMpOworCisJaWYgKGRlc2MtPm9ubGluZSkKKwkJcHJpbnRfY3B1c2V0KG1vZC0+aGV4ID8gXygiT24tbGluZSBDUFUocykgbWFzazoiKSA6CisJCQkJCV8oIk9uLWxpbmUgQ1BVKHMpIGxpc3Q6IiksCisJCQkJZGVzYy0+b25saW5lLCBtb2QtPmhleCk7CisKKwlpZiAoZGVzYy0+b25saW5lICYmIENQVV9DT1VOVF9TKHNldHNpemUsIGRlc2MtPm9ubGluZSkgIT0gZGVzYy0+bmNwdXMpIHsKKwkJY3B1X3NldF90ICpzZXQ7CisKKwkJLyogTGludXgga2VybmVsIHByb3ZpZGVzIGNwdXNldCBvZiBvZmYtbGluZSBDUFVzIHRoYXQgY29udGFpbnMKKwkJICogYWxsIGNvbmZpZ3VyZWQgQ1BVcyAoc2VlIC9zeXMvZGV2aWNlcy9zeXN0ZW0vY3B1L29mZmxpbmUpLAorCQkgKiBidXQgd2FudCB0byBwcmludCByZWFsIChwcmVzZW50IGluIHN5c3RlbSkgb2ZmLWxpbmUgQ1BVcyBvbmx5LgorCQkgKi8KKwkJc2V0ID0gY3B1c2V0X2FsbG9jKG1heGNwdXMsIE5VTEwsIE5VTEwpOworCQlpZiAoIXNldCkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBjYWxsb2NhdGUgY3B1IHNldCIpKTsKKwkJQ1BVX1pFUk9fUyhzZXRzaXplLCBzZXQpOworCQlmb3IgKGkgPSAwOyBpIDwgZGVzYy0+bmNwdXNwb3M7IGkrKykgeworCQkJaW50IGNwdSA9IHJlYWxfY3B1X251bShkZXNjLCBpKTsKKwkJCWlmICghaXNfY3B1X29ubGluZShkZXNjLCBjcHUpICYmIGlzX2NwdV9wcmVzZW50KGRlc2MsIGNwdSkpCisJCQkJQ1BVX1NFVF9TKGNwdSwgc2V0c2l6ZSwgc2V0KTsKKwkJfQorCQlwcmludF9jcHVzZXQobW9kLT5oZXggPyBfKCJPZmYtbGluZSBDUFUocykgbWFzazoiKSA6CisJCQkJCV8oIk9mZi1saW5lIENQVShzKSBsaXN0OiIpLAorCQkJICAgICBzZXQsIG1vZC0+aGV4KTsKKwkJY3B1c2V0X2ZyZWUoc2V0KTsKKwl9CisKKwlpZiAoZGVzYy0+bnNvY2tldHMpIHsKKwkJaW50IHRocmVhZHNfcGVyX2NvcmUsIGNvcmVzX3Blcl9zb2NrZXQsIHNvY2tldHNfcGVyX2Jvb2s7CisJCWludCBib29rc19wZXJfZHJhd2VyLCBkcmF3ZXJzOworCQlGSUxFICpmZDsKKworCQl0aHJlYWRzX3Blcl9jb3JlID0gY29yZXNfcGVyX3NvY2tldCA9IHNvY2tldHNfcGVyX2Jvb2sgPSAwOworCQlib29rc19wZXJfZHJhd2VyID0gZHJhd2VycyA9IDA7CisJCS8qIHMzOTAgZGV0ZWN0cyBpdHMgY3B1IHRvcG9sb2d5IHZpYSAvcHJvYy9zeXNpbmZvLCBpZiBwcmVzZW50LgorCQkgKiBVc2luZyBzaW1wbHkgdGhlIGNwdSB0b3BvbG9neSBtYXNrcyBpbiBzeXNmcyB3aWxsIG5vdCBnaXZlCisJCSAqIHVzYWJsZSByZXN1bHRzIHNpbmNlIGV2ZXJ5dGhpbmcgaXMgdmlydHVhbGl6ZWQuIEUuZy4KKwkJICogdmlydHVhbCBjb3JlIDAgbWF5IGhhdmUgb25seSAxIGNwdSwgYnV0IHZpcnR1YWwgY29yZSAyIG1heQorCQkgKiBmaXZlIGNwdXMuCisJCSAqIElmIHRoZSBjcHUgdG9wb2xvZ3kgaXMgbm90IGV4cG9ydGVkIChlLmcuIDJuZCBsZXZlbCBndWVzdCkKKwkJICogZmFsbCBiYWNrIHRvIG9sZCBjYWxjdWxhdGlvbiBzY2hlbWUuCisJCSAqLworCQlpZiAoKGZkID0gcGF0aF9mb3BlbigiciIsIDAsIF9QQVRIX1BST0NfU1lTSU5GTykpKSB7CisJCQljaGFyIHBidWZbQlVGU0laXTsKKwkJCWludCB0MCwgdDE7CisKKwkJCXdoaWxlIChmZCAmJiBmZ2V0cyhwYnVmLCBzaXplb2YocGJ1ZiksIGZkKSAhPSBOVUxMKSB7CisJCQkJaWYgKHNzY2FuZihwYnVmLCAiQ1BVIFRvcG9sb2d5IFNXOiVkJWQlZCVkJWQlZCIsCisJCQkJCSAgICZ0MCwgJnQxLCAmZHJhd2VycywgJmJvb2tzX3Blcl9kcmF3ZXIsCisJCQkJCSAgICZzb2NrZXRzX3Blcl9ib29rLAorCQkJCQkgICAmY29yZXNfcGVyX3NvY2tldCkgPT0gNikKKwkJCQkJYnJlYWs7CisJCQl9CisJCQlpZiAoZmQpCisJCQkJZmNsb3NlKGZkKTsKKwkJfQorCQlpZiAoZGVzYy0+bXRpZCkKKwkJCXRocmVhZHNfcGVyX2NvcmUgPSBhdG9pKGRlc2MtPm10aWQpICsgMTsKKwkJcHJpbnRfbihfKCJUaHJlYWQocykgcGVyIGNvcmU6IiksCisJCQl0aHJlYWRzX3Blcl9jb3JlID86IGRlc2MtPm50aHJlYWRzIC8gZGVzYy0+bmNvcmVzKTsKKwkJcHJpbnRfbihfKCJDb3JlKHMpIHBlciBzb2NrZXQ6IiksCisJCQljb3Jlc19wZXJfc29ja2V0ID86IGRlc2MtPm5jb3JlcyAvIGRlc2MtPm5zb2NrZXRzKTsKKwkJaWYgKGRlc2MtPm5ib29rcykgeworCQkJcHJpbnRfbihfKCJTb2NrZXQocykgcGVyIGJvb2s6IiksCisJCQkJc29ja2V0c19wZXJfYm9vayA/OiBkZXNjLT5uc29ja2V0cyAvIGRlc2MtPm5ib29rcyk7CisJCQlpZiAoZGVzYy0+bmRyYXdlcnMpIHsKKwkJCQlwcmludF9uKF8oIkJvb2socykgcGVyIGRyYXdlcjoiKSwKKwkJCQkJYm9va3NfcGVyX2RyYXdlciA/OiBkZXNjLT5uYm9va3MgLyBkZXNjLT5uZHJhd2Vycyk7CisJCQkJcHJpbnRfbihfKCJEcmF3ZXIocyk6IiksIGRyYXdlcnMgPzogZGVzYy0+bmRyYXdlcnMpOworCQkJfSBlbHNlIHsKKwkJCQlwcmludF9uKF8oIkJvb2socyk6IiksIGJvb2tzX3Blcl9kcmF3ZXIgPzogZGVzYy0+bmJvb2tzKTsKKwkJCX0KKwkJfSBlbHNlIHsKKwkJCXByaW50X24oXygiU29ja2V0KHMpOiIpLCBzb2NrZXRzX3Blcl9ib29rID86IGRlc2MtPm5zb2NrZXRzKTsKKwkJfQorCX0KKwlpZiAoZGVzYy0+bm5vZGVzKQorCQlwcmludF9uKF8oIk5VTUEgbm9kZShzKToiKSwgZGVzYy0+bm5vZGVzKTsKKwlpZiAoZGVzYy0+dmVuZG9yKQorCQlwcmludF9zKF8oIlZlbmRvciBJRDoiKSwgZGVzYy0+dmVuZG9yKTsKKwlpZiAoZGVzYy0+bWFjaGluZXR5cGUpCisJCXByaW50X3MoXygiTWFjaGluZSB0eXBlOiIpLCBkZXNjLT5tYWNoaW5ldHlwZSk7CisJaWYgKGRlc2MtPmZhbWlseSkKKwkJcHJpbnRfcyhfKCJDUFUgZmFtaWx5OiIpLCBkZXNjLT5mYW1pbHkpOworCWlmIChkZXNjLT5tb2RlbCB8fCBkZXNjLT5yZXZpc2lvbikKKwkJcHJpbnRfcyhfKCJNb2RlbDoiKSwgZGVzYy0+cmV2aXNpb24gPyBkZXNjLT5yZXZpc2lvbiA6IGRlc2MtPm1vZGVsKTsKKwlpZiAoZGVzYy0+bW9kZWxuYW1lIHx8IGRlc2MtPmNwdSkKKwkJcHJpbnRfcyhfKCJNb2RlbCBuYW1lOiIpLCBkZXNjLT5jcHUgPyBkZXNjLT5jcHUgOiBkZXNjLT5tb2RlbG5hbWUpOworCWlmIChkZXNjLT5zdGVwcGluZykKKwkJcHJpbnRfcyhfKCJTdGVwcGluZzoiKSwgZGVzYy0+c3RlcHBpbmcpOworCWlmIChkZXNjLT5taHopCisJCXByaW50X3MoXygiQ1BVIE1IejoiKSwgZGVzYy0+bWh6KTsKKwlpZiAoZGVzYy0+ZHluYW1pY19taHopCisJCXByaW50X3MoXygiQ1BVIGR5bmFtaWMgTUh6OiIpLCBkZXNjLT5keW5hbWljX21oeik7CisJaWYgKGRlc2MtPnN0YXRpY19taHopCisJCXByaW50X3MoXygiQ1BVIHN0YXRpYyBNSHo6IiksIGRlc2MtPnN0YXRpY19taHopOworCWlmIChkZXNjLT5tYXhtaHopCisJCXByaW50X3MoXygiQ1BVIG1heCBNSHo6IiksIGRlc2MtPm1heG1oelswXSk7CisJaWYgKGRlc2MtPm1pbm1oeikKKwkJcHJpbnRfcyhfKCJDUFUgbWluIE1IejoiKSwgZGVzYy0+bWlubWh6WzBdKTsKKwlpZiAoZGVzYy0+Ym9nb21pcHMpCisJCXByaW50X3MoXygiQm9nb01JUFM6IiksIGRlc2MtPmJvZ29taXBzKTsKKwlpZiAoZGVzYy0+dmlydGZsYWcpIHsKKwkJaWYgKCFzdHJjbXAoZGVzYy0+dmlydGZsYWcsICJzdm0iKSkKKwkJCXByaW50X3MoXygiVmlydHVhbGl6YXRpb246IiksICJBTUQtViIpOworCQllbHNlIGlmICghc3RyY21wKGRlc2MtPnZpcnRmbGFnLCAidm14IikpCisJCQlwcmludF9zKF8oIlZpcnR1YWxpemF0aW9uOiIpLCAiVlQteCIpOworCX0KKwlpZiAoZGVzYy0+aHlwZXJ2aXNvcikKKwkJcHJpbnRfcyhfKCJIeXBlcnZpc29yOiIpLCBkZXNjLT5oeXBlcnZpc29yKTsKKwlpZiAoZGVzYy0+aHlwZXIpIHsKKwkJcHJpbnRfcyhfKCJIeXBlcnZpc29yIHZlbmRvcjoiKSwgaHZfdmVuZG9yc1tkZXNjLT5oeXBlcl0pOworCQlwcmludF9zKF8oIlZpcnR1YWxpemF0aW9uIHR5cGU6IiksIF8odmlydF90eXBlc1tkZXNjLT52aXJ0eXBlXSkpOworCX0KKwlpZiAoZGVzYy0+ZGlzcGF0Y2hpbmcgPj0gMCkKKwkJcHJpbnRfcyhfKCJEaXNwYXRjaGluZyBtb2RlOiIpLCBfKGRpc3BfbW9kZXNbZGVzYy0+ZGlzcGF0Y2hpbmddKSk7CisJaWYgKGRlc2MtPm5jYWNoZXMpIHsKKwkJY2hhciBjYnVmWzUxMl07CisKKwkJZm9yIChpID0gZGVzYy0+bmNhY2hlcyAtIDE7IGkgPj0gMDsgaS0tKSB7CisJCQlzbnByaW50ZihjYnVmLCBzaXplb2YoY2J1ZiksCisJCQkJCV8oIiVzIGNhY2hlOiIpLCBkZXNjLT5jYWNoZXNbaV0ubmFtZSk7CisJCQlwcmludF9zKGNidWYsIGRlc2MtPmNhY2hlc1tpXS5zaXplKTsKKwkJfQorCX0KKworCWlmIChkZXNjLT5uZWNhY2hlcykgeworCQljaGFyIGNidWZbNTEyXTsKKworCQlmb3IgKGkgPSBkZXNjLT5uZWNhY2hlcyAtIDE7IGkgPj0gMDsgaS0tKSB7CisJCQlzbnByaW50ZihjYnVmLCBzaXplb2YoY2J1ZiksCisJCQkJCV8oIiVzIGNhY2hlOiIpLCBkZXNjLT5lY2FjaGVzW2ldLm5hbWUpOworCQkJcHJpbnRfcyhjYnVmLCBkZXNjLT5lY2FjaGVzW2ldLnNpemUpOworCQl9CisJfQorCisJZm9yIChpID0gMDsgaSA8IGRlc2MtPm5ub2RlczsgaSsrKSB7CisJCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksIF8oIk5VTUEgbm9kZSVkIENQVShzKToiKSwgZGVzYy0+aWR4Mm5vZGVudW1baV0pOworCQlwcmludF9jcHVzZXQoYnVmLCBkZXNjLT5ub2RlbWFwc1tpXSwgbW9kLT5oZXgpOworCX0KKworCWlmIChkZXNjLT5mbGFncykKKwkJcHJpbnRfcyhfKCJGbGFnczoiKSwgZGVzYy0+ZmxhZ3MpOworCisJaWYgKGRlc2MtPnBoeXNzb2NrZXRzKSB7CisJCXByaW50X24oXygiUGh5c2ljYWwgc29ja2V0czoiKSwgZGVzYy0+cGh5c3NvY2tldHMpOworCQlwcmludF9uKF8oIlBoeXNpY2FsIGNoaXBzOiIpLCBkZXNjLT5waHlzY2hpcHMpOworCQlwcmludF9uKF8oIlBoeXNpY2FsIGNvcmVzL2NoaXA6IiksIGRlc2MtPnBoeXNjb3Jlc3BlcmNoaXApOworCX0KK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqb3V0KQoreworCXNpemVfdCBpOworCisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJXMgW29wdGlvbnNdXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIENQVSBhcmNoaXRlY3R1cmUuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IGJvdGggb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIHByaW50IG9ubGluZSBDUFVzIG9ubHkgKGRlZmF1bHQgZm9yIC1wKVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWUsIC0tZXh0ZW5kZWRbPTxsaXN0Pl0gcHJpbnQgb3V0IGFuIGV4dGVuZGVkIHJlYWRhYmxlIGZvcm1hdFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1wLCAtLXBhcnNlWz08bGlzdD5dICAgIHByaW50IG91dCBhIHBhcnNhYmxlIGZvcm1hdFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHVzZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXgsIC0taGV4ICAgICAgICAgICAgICAgcHJpbnQgaGV4YWRlY2ltYWwgbWFza3MgcmF0aGVyIHRoYW4gbGlzdHMgb2YgQ1BVc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC15LCAtLXBoeXNpY2FsICAgICAgICAgIHByaW50IHBoeXNpY2FsIGluc3RlYWQgb2YgbG9naWNhbCBJRHNcbiIpLCBvdXQpOworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dCk7CisKKwlmcHJpbnRmKG91dCwgXygiXG5BdmFpbGFibGUgY29sdW1uczpcbiIpKTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGNvbGRlc2NzKTsgaSsrKQorCQlmcHJpbnRmKG91dCwgIiAlMTNzICAlc1xuIiwgY29sZGVzY3NbaV0ubmFtZSwgXyhjb2xkZXNjc1tpXS5oZWxwKSk7CisKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoImxzY3B1KDEpIikpOworCisJZXhpdChvdXQgPT0gc3RkZXJyID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgbHNjcHVfbW9kaWZpZXIgX21vZCA9IHsgLm1vZGUgPSBPVVRQVVRfU1VNTUFSWSB9LCAqbW9kID0gJl9tb2Q7CisJc3RydWN0IGxzY3B1X2Rlc2MgX2Rlc2MgPSB7IC5mbGFncyA9IDAgfSwgKmRlc2MgPSAmX2Rlc2M7CisJaW50IGMsIGk7CisJaW50IGNvbHVtbnNbQVJSQVlfU0laRShjb2xkZXNjcyldLCBuY29sdW1ucyA9IDA7CisJaW50IGNwdV9tb2RpZmllcl9zcGVjaWZpZWQgPSAwOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyAiYWxsIiwgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICAwLCAnYScgfSwKKwkJeyAib25saW5lIiwgICAgIG5vX2FyZ3VtZW50LCAgICAgICAwLCAnYicgfSwKKwkJeyAib2ZmbGluZSIsICAgIG5vX2FyZ3VtZW50LCAgICAgICAwLCAnYycgfSwKKwkJeyAiaGVscCIsCW5vX2FyZ3VtZW50LCAgICAgICAwLCAnaCcgfSwKKwkJeyAiZXh0ZW5kZWQiLAlvcHRpb25hbF9hcmd1bWVudCwgMCwgJ2UnIH0sCisJCXsgInBhcnNlIiwJb3B0aW9uYWxfYXJndW1lbnQsIDAsICdwJyB9LAorCQl7ICJzeXNyb290IiwJcmVxdWlyZWRfYXJndW1lbnQsIDAsICdzJyB9LAorCQl7ICJwaHlzaWNhbCIsCW5vX2FyZ3VtZW50LAkgICAwLCAneScgfSwKKwkJeyAiaGV4IiwJbm9fYXJndW1lbnQsCSAgIDAsICd4JyB9LAorCQl7ICJ2ZXJzaW9uIiwJbm9fYXJndW1lbnQsCSAgIDAsICdWJyB9LAorCQl7IE5VTEwsCQkwLCAwLCAwIH0KKwl9OworCisJc3RhdGljIGNvbnN0IHVsX2V4Y2xfdCBleGNsW10gPSB7CS8qIHJvd3MgYW5kIGNvbHMgaW4gQVNDSUkgb3JkZXIgKi8KKwkJeyAnYScsJ2InLCdjJyB9LAorCQl7ICdlJywncCcgfSwKKwkJeyAwIH0KKwl9OworCWludCBleGNsX3N0W0FSUkFZX1NJWkUoZXhjbCldID0gVUxfRVhDTF9TVEFUVVNfSU5JVDsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiYWJjZTo6aHA6OnM6eHlWIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhjLCBsb25nb3B0cywgZXhjbCwgZXhjbF9zdCk7CisKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ2EnOgorCQkJbW9kLT5vbmxpbmUgPSBtb2QtPm9mZmxpbmUgPSAxOworCQkJY3B1X21vZGlmaWVyX3NwZWNpZmllZCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnYic6CisJCQltb2QtPm9ubGluZSA9IDE7CisJCQljcHVfbW9kaWZpZXJfc3BlY2lmaWVkID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdjJzoKKwkJCW1vZC0+b2ZmbGluZSA9IDE7CisJCQljcHVfbW9kaWZpZXJfc3BlY2lmaWVkID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCWNhc2UgJ3AnOgorCQljYXNlICdlJzoKKwkJCWlmIChvcHRhcmcpIHsKKwkJCQlpZiAoKm9wdGFyZyA9PSAnPScpCisJCQkJCW9wdGFyZysrOworCQkJCW5jb2x1bW5zID0gc3RyaW5nX3RvX2lkYXJyYXkob3B0YXJnLAorCQkJCQkJY29sdW1ucywgQVJSQVlfU0laRShjb2x1bW5zKSwKKwkJCQkJCWNvbHVtbl9uYW1lX3RvX2lkKTsKKwkJCQlpZiAobmNvbHVtbnMgPCAwKQorCQkJCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCQkJfQorCQkJbW9kLT5tb2RlID0gYyA9PSAncCcgPyBPVVRQVVRfUEFSU0FCTEUgOiBPVVRQVVRfUkVBREFCTEU7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQlwYXRoX3NldF9wcmVmaXgob3B0YXJnKTsKKwkJCW1vZC0+c3lzdGVtID0gU1lTVEVNX1NOQVBTSE9UOworCQkJYnJlYWs7CisJCWNhc2UgJ3gnOgorCQkJbW9kLT5oZXggPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3knOgorCQkJbW9kLT5waHlzaWNhbCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQl9CisJfQorCisJaWYgKGNwdV9tb2RpZmllcl9zcGVjaWZpZWQgJiYgbW9kLT5tb2RlID09IE9VVFBVVF9TVU1NQVJZKSB7CisJCWZwcmludGYoc3RkZXJyLAorCQkJXygiJXM6IG9wdGlvbnMgLS1hbGwsIC0tb25saW5lIGFuZCAtLW9mZmxpbmUgbWF5IG9ubHkgIgorCQkJICAiYmUgdXNlZCB3aXRoIG9wdGlvbnMgLS1leHRlbmRlZCBvciAtLXBhcnNlLlxuIiksCisJCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJfQorCisJaWYgKGFyZ2MgIT0gb3B0aW5kKQorCQl1c2FnZShzdGRlcnIpOworCisJLyogc2V0IGRlZmF1bHQgY3B1IGRpc3BsYXkgbW9kZSBpZiBub25lIHdhcyBzcGVjaWZpZWQgKi8KKwlpZiAoIW1vZC0+b25saW5lICYmICFtb2QtPm9mZmxpbmUpIHsKKwkJbW9kLT5vbmxpbmUgPSAxOworCQltb2QtPm9mZmxpbmUgPSBtb2QtPm1vZGUgPT0gT1VUUFVUX1JFQURBQkxFID8gMSA6IDA7CisJfQorCisJcmVhZF9iYXNpY2luZm8oZGVzYywgbW9kKTsKKworCWZvciAoaSA9IDA7IGkgPCBkZXNjLT5uY3B1c3BvczsgaSsrKSB7CisJCS8qIG9ubHkgY29uc2lkZXIgcHJlc2VudCBDUFVzICovCisJCWlmIChkZXNjLT5wcmVzZW50ICYmCisJCSAgICAhQ1BVX0lTU0VUKHJlYWxfY3B1X251bShkZXNjLCBpKSwgZGVzYy0+cHJlc2VudCkpCisJCQljb250aW51ZTsKKwkJcmVhZF90b3BvbG9neShkZXNjLCBpKTsKKwkJcmVhZF9jYWNoZShkZXNjLCBpKTsKKwkJcmVhZF9wb2xhcml6YXRpb24oZGVzYywgaSk7CisJCXJlYWRfYWRkcmVzcyhkZXNjLCBpKTsKKwkJcmVhZF9jb25maWd1cmVkKGRlc2MsIGkpOworCQlyZWFkX21heF9taHooZGVzYywgaSk7CisJCXJlYWRfbWluX21oeihkZXNjLCBpKTsKKwl9CisKKwlpZiAoZGVzYy0+Y2FjaGVzKQorCQlxc29ydChkZXNjLT5jYWNoZXMsIGRlc2MtPm5jYWNoZXMsCisJCQkJc2l6ZW9mKHN0cnVjdCBjcHVfY2FjaGUpLCBjYWNoZWNtcCk7CisKKwlpZiAoZGVzYy0+ZWNhY2hlcykKKwkJcXNvcnQoZGVzYy0+ZWNhY2hlcywgZGVzYy0+bmVjYWNoZXMsCisJCQkJc2l6ZW9mKHN0cnVjdCBjcHVfY2FjaGUpLCBjYWNoZWNtcCk7CisKKwlyZWFkX25vZGVzKGRlc2MpOworCXJlYWRfaHlwZXJ2aXNvcihkZXNjLCBtb2QpOworCisJc3dpdGNoKG1vZC0+bW9kZSkgeworCWNhc2UgT1VUUFVUX1NVTU1BUlk6CisJCXByaW50X3N1bW1hcnkoZGVzYywgbW9kKTsKKwkJYnJlYWs7CisJY2FzZSBPVVRQVVRfUEFSU0FCTEU6CisJCWlmICghbmNvbHVtbnMpIHsKKwkJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfQ1BVOworCQkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9DT1JFOworCQkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9TT0NLRVQ7CisJCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX05PREU7CisJCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX0NBQ0hFOworCQkJbW9kLT5jb21wYXQgPSAxOworCQl9CisJCXByaW50X3BhcnNhYmxlKGRlc2MsIGNvbHVtbnMsIG5jb2x1bW5zLCBtb2QpOworCQlicmVhazsKKwljYXNlIE9VVFBVVF9SRUFEQUJMRToKKwkJaWYgKCFuY29sdW1ucykgeworCQkJLyogTm8gbGlzdCB3YXMgZ2l2ZW4uIEp1c3QgcHJpbnQgd2hhdGV2ZXIgaXMgdGhlcmUuICovCisJCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX0NQVTsKKwkJCWlmIChkZXNjLT5ub2RlbWFwcykKKwkJCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX05PREU7CisJCQlpZiAoZGVzYy0+ZHJhd2VybWFwcykKKwkJCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX0RSQVdFUjsKKwkJCWlmIChkZXNjLT5ib29rbWFwcykKKwkJCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX0JPT0s7CisJCQlpZiAoZGVzYy0+c29ja2V0bWFwcykKKwkJCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX1NPQ0tFVDsKKwkJCWlmIChkZXNjLT5jb3JlbWFwcykKKwkJCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX0NPUkU7CisJCQlpZiAoZGVzYy0+Y2FjaGVzKQorCQkJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfQ0FDSEU7CisJCQlpZiAoZGVzYy0+b25saW5lKQorCQkJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfT05MSU5FOworCQkJaWYgKGRlc2MtPmNvbmZpZ3VyZWQpCisJCQkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9DT05GSUdVUkVEOworCQkJaWYgKGRlc2MtPnBvbGFyaXphdGlvbikKKwkJCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX1BPTEFSSVpBVElPTjsKKwkJCWlmIChkZXNjLT5hZGRyZXNzZXMpCisJCQkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9BRERSRVNTOworCQkJaWYgKGRlc2MtPm1heG1oeikKKwkJCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX01BWE1IWjsKKwkJCWlmIChkZXNjLT5taW5taHopCisJCQkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9NSU5NSFo7CisJCX0KKwkJcHJpbnRfcmVhZGFibGUoZGVzYywgY29sdW1ucywgbmNvbHVtbnMsIG1vZCk7CisJCWJyZWFrOworCX0KKworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvbHNjcHUuaCBiL3N5cy11dGlscy9sc2NwdS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ5MDZjMjYKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvbHNjcHUuaApAQCAtMCwwICsxLDI2IEBACisjaWZuZGVmIExTQ1BVX0gKKyNkZWZpbmUgTFNDUFVfSAorCisvKiBoeXBlcnZpc29yIHZlbmRvcnMgKi8KK2VudW0geworCUhZUEVSX05PTkUJPSAwLAorCUhZUEVSX1hFTiwKKwlIWVBFUl9LVk0sCisJSFlQRVJfTVNIViwKKwlIWVBFUl9WTVdBUkUsCisJSFlQRVJfSUJNLAkJLyogc3lzLXogcG93ZXJ2bSAqLworCUhZUEVSX1ZTRVJWRVIsCisJSFlQRVJfVU1MLAorCUhZUEVSX0lOTk9URUssCQkvKiBWQk9YICovCisJSFlQRVJfSElUQUNISSwKKwlIWVBFUl9QQVJBTExFTFMsCS8qIE9wZW5WWi9WSXJ0dW96em8gKi8KKwlIWVBFUl9WQk9YLAorCUhZUEVSX09TNDAwLAorCUhZUEVSX1BIWVAsCisJSFlQRVJfU1BBUiwKKwlIWVBFUl9XU0wsCit9OworCitleHRlcm4gaW50IHJlYWRfaHlwZXJ2aXNvcl9kbWkodm9pZCk7CisKKyNlbmRpZiAvKiBMU0NQVV9IICovCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvbHNpcGMuMSBiL3N5cy11dGlscy9sc2lwYy4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkM2Y3MzUKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvbHNpcGMuMQpAQCAtMCwwICsxLDEzNiBAQAorLlwiIENvcHlyaWdodCAyMDE1IE9uZHJlaiBPcHJhbGEob29wcmFsYUByZWRoYXQuY29tKQorLlwiIE1heSBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy5USCBMU0lQQyAiMSIgIk5vdmVtYmVyIDIwMTUiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitsc2lwYyBcLSBzaG93IGluZm9ybWF0aW9uIG9uIElQQyBmYWNpbGl0aWVzIGN1cnJlbnRseSBlbXBsb3llZCBpbiB0aGUgc3lzdGVtCisuU0ggU1lOT1BTSVMKKy5CIGxzaXBjCitbb3B0aW9uc10KKy5TSCBERVNDUklQVElPTgorLkIgbHNpcGMKK3Nob3dzIGluZm9ybWF0aW9uIG9uIHRoZSBpbnRlci1wcm9jZXNzIGNvbW11bmljYXRpb24gZmFjaWxpdGllcworZm9yIHdoaWNoIHRoZSBjYWxsaW5nIHByb2Nlc3MgaGFzIHJlYWQgYWNjZXNzLgorLlNIIE9QVElPTlMKKy5UUAorXGZCXC1pXGZSLCBcZkJcLVwtaWRcZlIgXGZJaWRcZlIKK1Nob3cgZnVsbCBkZXRhaWxzIG9uIGp1c3QgdGhlIG9uZSByZXNvdXJjZSBlbGVtZW50IGlkZW50aWZpZWQgYnkKKy5JUiBpZCAuCitUaGlzIG9wdGlvbiBuZWVkcyB0byBiZSBjb21iaW5lZCB3aXRoIG9uZSBvZiB0aGUgdGhyZWUgcmVzb3VyY2Ugb3B0aW9uczoKKy5CUiBcLW0gLAorLkJSIFwtcSAiIG9yIgorLkJSIFwtcyAuCitJdCBpcyBwb3NzaWJsZSB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBvdXRwdXQgZm9ybWF0IGZvciB0aGlzIG9wdGlvbiB3aXRoIHRoZQorXGZCXC1cLWxpc3RcZlIsIFxmQlwtXC1yYXdcZlIsIFxmQlwtXC1qc29uXGZSIG9yIFxmQlwtXC1leHBvcnRcZlIgb3B0aW9uLgorLlRQCitcZkJcLWdcZlIsIFxmQlwtXC1nbG9iYWxcZlIKK1Nob3cgc3lzdGVtLXdpZGUgdXNhZ2UgYW5kIGxpbWl0cyBvZiBJUEMgcmVzb3VyY2VzLgorVGhpcyBvcHRpb24gbWF5IGJlIGNvbWJpbmVkIHdpdGggb25lIG9mIHRoZSB0aHJlZSByZXNvdXJjZSBvcHRpb25zOgorLkJSIFwtbSAsCisuQlIgXC1xICIgb3IiCisuQlIgXC1zIC4KK1RoZSBkZWZhdWx0IGlzIHRvIHNob3cgaW5mb3JtYXRpb24gYWJvdXQgYWxsIHJlc291cmNlcy4KKy5UUAorXGZCXC1oXGZSLCBcZkJcLVwtaGVscFxmUgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuVFAKK1xmQlwtVlxmUiwgXGZCXC1cLXZlcnNpb25cZlIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5TUyAiUmVzb3VyY2Ugb3B0aW9ucyIKKy5UUAorXGZCXC1tXGZSLCBcZkJcLVwtc2htZW1zXGZSCitXcml0ZSBpbmZvcm1hdGlvbiBhYm91dCBhY3RpdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50cy4KKy5UUAorXGZCXC1xXGZSLCBcZkJcLVwtcXVldWVzXGZSCitXcml0ZSBpbmZvcm1hdGlvbiBhYm91dCBhY3RpdmUgbWVzc2FnZSBxdWV1ZXMuCisuVFAKK1xmQlwtc1xmUiwgXGZCXC1cLXNlbWFwaG9yZXNcZlIKK1dyaXRlIGluZm9ybWF0aW9uIGFib3V0IGFjdGl2ZSBzZW1hcGhvcmUgc2V0cy4KKy5TUyAiT3V0cHV0IGZvcm1hdHRpbmciCisuVFAKK1xmQlwtY1xmUiwgXGZCXC1cLWNyZWF0b3JcZlIKK1Nob3cgY3JlYXRvciBhbmQgb3duZXIuCisuVFAKK1xmQlwtZVxmUiwgXGZCXC1cLWV4cG9ydFxmUgorT3V0cHV0IGRhdGEgaW4gdGhlIGZvcm1hdCBvZiBOQU1FPVZBTFVFLgorLlRQCitcZkJcLUpcZlIsIFxmQlwtXC1qc29uXGZSCitVc2UgdGhlIEpTT04gb3V0cHV0IGZvcm1hdC4KKy5UUAorXGZCXC1sXGZSLCBcZkJcLVwtbGlzdFxmUgorVXNlIHRoZSBsaXN0IG91dHB1dCBmb3JtYXQuICBUaGlzIGlzIHRoZSBkZWZhdWx0LCBleGNlcHQgd2hlbiBcZkJcLVwtaWRcZlIKK2lzIHVzZWQuCisuVFAKK1xmQlwtblxmUiwgXGZCXC1cLW5ld2xpbmVcZlIKK0Rpc3BsYXkgZWFjaCBwaWVjZSBvZiBpbmZvcm1hdGlvbiBvbiBhIHNlcGFyYXRlIGxpbmUuCisuVFAKK1xmQlwtXC1ub2hlYWRpbmdzXGZSCitEbyBub3QgcHJpbnQgYSBoZWFkZXIgbGluZS4KKy5UUAorXGZCXC1cLW5vdHJ1bmNhdGVcZlIKK0Rvbid0IHRydW5jYXRlIG91dHB1dC4KKy5UUAorXGZCXC1vXGZSLCBcZkJcLVwtb3V0cHV0IFxmSWxpc3RcZlAKK1NwZWNpZnkgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gcHJpbnQuICBVc2UKKy5CIFwtXC1oZWxwCit0byBnZXQgYSBsaXN0IG9mIGFsbCBzdXBwb3J0ZWQgY29sdW1ucy4KKy5UUAorXGZCXC1wXGZSLCBcZkJcLVwtcGlkXGZSCitTaG93IFBJRHMgb2YgY3JlYXRvciBhbmQgbGFzdCBvcGVyYXRvci4KKy5UUAorXGZCXC1yXGZSLCBcZkJcLVwtcmF3XGZSCitSYXcgb3V0cHV0IChubyBjb2x1bW5hdGlvbikuCisuVFAKK1xmQlwtdFxmUiwgXGZCXC1cLXRpbWVcZlIKK1dyaXRlIHRpbWUgaW5mb3JtYXRpb24uICBUaGUgdGltZSBvZiB0aGUgbGFzdCBjb250cm9sIG9wZXJhdGlvbiB0aGF0IGNoYW5nZWQKK3RoZSBhY2Nlc3MgcGVybWlzc2lvbnMgZm9yIGFsbCBmYWNpbGl0aWVzLCB0aGUgdGltZSBvZiB0aGUgbGFzdAorLkJSIG1zZ3NuZCAoMikKK2FuZAorLkJSIG1zZ3JjdiAoMikKK29wZXJhdGlvbnMgb24gbWVzc2FnZSBxdWV1ZXMsIHRoZSB0aW1lIG9mIHRoZSBsYXN0CisuQlIgc2htYXQgKDIpCithbmQKKy5CUiBzaG1kdCAoMikKK29wZXJhdGlvbnMgb24gc2hhcmVkIG1lbW9yeSwgYW5kIHRoZSB0aW1lIG9mIHRoZSBsYXN0CisuQlIgc2Vtb3AgKDIpCitvcGVyYXRpb24gb24gc2VtYXBob3Jlcy4KKy5UUAorXGZCXC1cLXRpbWVcLWZvcm1hdFxmUiBcZkl0eXBlXGZQCitEaXNwbGF5IGRhdGVzIGluIHNob3J0LCBmdWxsIG9yIGlzbyBmb3JtYXQuICBUaGUgZGVmYXVsdCBpcyBzaG9ydCwgdGhpcyB0aW1lCitmb3JtYXQgaXMgZGVzaWduZWQgdG8gYmUgc3BhY2UgZWZmaWNpZW50IGFuZCBodW1hbiByZWFkYWJsZS4KKworLlNIIEVYSVQgU1RBVFVTCisuVFAKKzAKK2lmIE9LLAorLlRQCisxCitpZiBpbmNvcnJlY3QgYXJndW1lbnRzIHNwZWNpZmllZCwKKy5UUAorMgoraWYgYSBzZXJpb3VzIGVycm9yIG9jY3Vycy4KKy5TSCBTRUUgQUxTTworLkJSIGlwY21rICgxKSwKKy5CUiBpcGNybSAoMSksCisuQlIgbXNncmN2ICgyKSwKKy5CUiBtc2dzbmQgKDIpLAorLkJSIHNlbWdldCAoMiksCisuQlIgc2Vtb3AgKDIpLAorLkJSIHNobWF0ICgyKSwKKy5CUiBzaG1kdCAoMiksCisuQlIgc2htZ2V0ICgyKQorLlNIIEhJU1RPUlkKK1RoZSBcZkJsc2lwY1xmUCB1dGlsaXR5IGlzIGluc3BpcmVkIGJ5IHRoZSBcZkJpcGNzXGZQIHV0aWxpdHkuCisuU0ggQVVUSE9SUworLk1UIG9vcHJhbGFAcmVkaGF0LmNvbQorT25kcmVqIE9wcmFsYQorLk1FCisuYnIKKy5NVCBremFrQHJlZGhhdC5jb20KK0thcmVsIFphaworLk1FCisKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBsc2lwYyBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBmdHA6Ly9cOmZ0cC5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9sc2lwYy5jIGIvc3lzLXV0aWxzL2xzaXBjLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDRlNTAzNwotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9sc2lwYy5jCkBAIC0wLDAgKzEsMTMxOCBAQAorLyoKKyAqIGxzaXBjIC0gTGlzdCBpbmZvcm1hdGlvbiBhYm91dCBJUEMgaW5zdGFuY2VzIGVtcGxveWVkIGluIHRoZSBzeXN0ZW0KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgT25kcmVqIE9wcmFsYSA8b29wcmFsYUByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDE1IEthcmVsIFphayA8b29wcmFsYUByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd291bGQgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKyAqIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisgKiA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorICoKKyAqCisgKiBsc2lwYyBpcyBpbnNwaXJlZCBieSB0aGUgaXBjcyB1dGlsaXR5LiBUaGUgYWltIGlzIHRvIGNyZWF0ZQorICogYSB1dGlsaXR5IHVuZW5jdW1iZXJlZCBieSBhIHN0YW5kYXJkIHRvIHByb3ZpZGUgbW9yZSBmbGV4aWJsZQorICogbWVhbnMgb2YgY29udHJvbGxpbmcgdGhlIG91dHB1dC4KKyAqLworCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaW5jbHVkZSA8bGlic21hcnRjb2xzLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgIm9wdHV0aWxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAicHJvY3V0aWxzLmgiCisjaW5jbHVkZSAiaXBjdXRpbHMuaCIKKyNpbmNsdWRlICJ0aW1ldXRpbHMuaCIKKworLyoKKyAqIHRpbWUgbW9kZXMKKyAqICovCitlbnVtIHsKKwlUSU1FX0lOVkFMSUQgPSAwLAorCVRJTUVfU0hPUlQsCisJVElNRV9GVUxMLAorCVRJTUVfSVNPCit9OworCisvKgorICogSURzCisgKi8KK2VudW0geworCS8qIGdlbmVyaWMgKi8KKwlDT0xERVNDX0lEWF9HRU5fRklSU1QgPSAwLAorCQlDT0xfS0VZID0gQ09MREVTQ19JRFhfR0VOX0ZJUlNULAorCQlDT0xfSUQsCisJCUNPTF9PV05FUiwKKwkJQ09MX1BFUk1TLAorCQlDT0xfQ1VJRCwKKwkJQ09MX0NVU0VSLAorCQlDT0xfQ0dJRCwKKwkJQ09MX0NHUk9VUCwKKwkJQ09MX1VJRCwKKwkJQ09MX1VTRVIsCisJCUNPTF9HSUQsCisJCUNPTF9HUk9VUCwKKwkJQ09MX0NUSU1FLAorCUNPTERFU0NfSURYX0dFTl9MQVNUID0gQ09MX0NUSU1FLAorCisJLyogbXNncS1zcGVjaWZpYyAqLworCUNPTERFU0NfSURYX01TR19GSVJTVCwKKwkJQ09MX1VTRURCWVRFUyA9IENPTERFU0NfSURYX01TR19GSVJTVCwKKwkJQ09MX01TR1MsCisJCUNPTF9TRU5ELAorCQlDT0xfUkVDViwKKwkJQ09MX0xTUElELAorCQlDT0xfTFJQSUQsCisJQ09MREVTQ19JRFhfTVNHX0xBU1QgPSBDT0xfTFJQSUQsCisKKwkvKiBzaG0tc3BlY2lmaWMgKi8KKwlDT0xERVNDX0lEWF9TSE1fRklSU1QsCisJCUNPTF9TSVpFID0gQ09MREVTQ19JRFhfU0hNX0ZJUlNULAorCQlDT0xfTkFUVENILAorCQlDT0xfU1RBVFVTLAorCQlDT0xfQVRUQUNILAorCQlDT0xfREVUQUNILAorCQlDT0xfQ09NTUFORCwKKwkJQ09MX0NQSUQsCisJCUNPTF9MUElELAorCUNPTERFU0NfSURYX1NITV9MQVNUID0gQ09MX0xQSUQsCisKKwkvKiBzZW0tc3BlY2lmaWMgKi8KKwlDT0xERVNDX0lEWF9TRU1fRklSU1QsCisJCUNPTF9OU0VNUyA9IENPTERFU0NfSURYX1NFTV9GSVJTVCwKKwkJQ09MX09USU1FLAorCUNPTERFU0NfSURYX1NFTV9MQVNUID0gQ09MX09USU1FLAorCisJLyogc3VtbWFyeSAoLS1nbG9iYWwpICovCisJQ09MREVTQ19JRFhfU1VNX0ZJUlNULAorCQlDT0xfUkVTT1VSQ0UgPSBDT0xERVNDX0lEWF9TVU1fRklSU1QsCisJCUNPTF9ERVNDLAorCQlDT0xfTElNSVQsCisJCUNPTF9VU0VELAorCQlDT0xfVVNFUEVSQywKKwlDT0xERVNDX0lEWF9TVU1fTEFTVCA9IENPTF9VU0VQRVJDCit9OworCisvKiBub3QgYWxsIGNvbHVtbnMgYXBwbHkgdG8gYWxsIG9wdGlvbnMsIHNvIHdlIHNwZWNpZnkgYSBsZWdhbCByYW5nZSBmb3IgZWFjaCAqLworc3RhdGljIHNpemVfdCBMT1dFUiwgVVBQRVI7CisKKy8qCisgKiBvdXRwdXQgbW9kZXMKKyAqLworZW51bSB7CisJT1VUX0VYUE9SVCA9IDEsCisJT1VUX05FV0xJTkUsCisJT1VUX1JBVywKKwlPVVRfSlNPTiwKKwlPVVRfUFJFVFRZLAorCU9VVF9MSVNUCit9OworCitzdHJ1Y3QgbHNpcGNfY29udHJvbCB7CisJaW50IG91dG1vZGU7CisJdW5zaWduZWQgaW50IG5vaGVhZGluZ3MgOiAxLAkJLyogZG9uJ3QgcHJpbnQgaGVhZGVyIGxpbmUgKi8KKwkJICAgICBub3RydW5jIDogMSwJCS8qIGRvbid0IHRydW5jYXRlIGNvbHVtbnMgKi8KKwkJICAgICBieXRlcyA6IDEsCQkJLyogU0laRSBpbiBieXRlcyAqLworCQkgICAgIG51bXBlcm1zIDogMSwJCS8qIG51bWVyaWMgcGVybWlzc2lvbnMgKi8KKwkJICAgICB0aW1lX21vZGUgOiAyOworfTsKKworc3RydWN0IGxzaXBjX2NvbGRlc2MgeworCWNvbnN0IGNoYXIgKm5hbWU7CisJY29uc3QgY2hhciAqaGVscDsKKwljb25zdCBjaGFyICpwcmV0dHlfbmFtZTsKKworCWRvdWJsZSB3aGludDsJLyogd2lkdGggaGludCAqLworCWxvbmcgZmxhZzsKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbHNpcGNfY29sZGVzYyBjb2xkZXNjc1tdID0KK3sKKwkvKiBjb21tb24gKi8KKwlbQ09MX0tFWV0JPSB7ICJLRVkiLAlOXygiUmVzb3VyY2Uga2V5IiksIE5fKCJLZXkiKSwgMX0sCisJW0NPTF9JRF0JPSB7ICJJRCIsCU5fKCJSZXNvdXJjZSBJRCIpLCBOXygiSUQiKSwgMX0sCisJW0NPTF9PV05FUl0JPSB7ICJPV05FUiIsCU5fKCJPd25lcidzIHVzZXJuYW1lIG9yIFVJRCIpLCBOXygiT3duZXIiKSwgMSwgU0NPTFNfRkxfUklHSFR9LAorCVtDT0xfUEVSTVNdCT0geyAiUEVSTVMiLAlOXygiUGVybWlzc2lvbnMiKSwgTl8oIlBlcm1pc3Npb25zIiksIDEsIFNDT0xTX0ZMX1JJR0hUfSwKKwlbQ09MX0NVSURdCT0geyAiQ1VJRCIsCU5fKCJDcmVhdG9yIFVJRCIpLCBOXygiQ3JlYXRvciBVSUQiKSwgMSwgU0NPTFNfRkxfUklHSFR9LAorCVtDT0xfQ1VTRVJdICAgICA9IHsgIkNVU0VSIiwgICAgTl8oIkNyZWF0b3IgdXNlciIpLCBOXygiQ3JlYXRvciB1c2VyIiksIDEgfSwKKwlbQ09MX0NHSURdCT0geyAiQ0dJRCIsCU5fKCJDcmVhdG9yIEdJRCIpLCBOXygiQ3JlYXRvciBHSUQiKSwgMSwgU0NPTFNfRkxfUklHSFR9LAorCVtDT0xfQ0dST1VQXSAgICA9IHsgIkNHUk9VUCIsICAgTl8oIkNyZWF0b3IgZ3JvdXAiKSwgTl8oIkNyZWF0b3IgZ3JvdXAiKSwgMSB9LAorCVtDT0xfVUlEXQk9IHsgIlVJRCIsCU5fKCJVc2VyIElEIiksIE5fKCJVSUQiKSwgMSwgU0NPTFNfRkxfUklHSFR9LAorCVtDT0xfVVNFUl0JPSB7ICJVU0VSIiwJTl8oIlVzZXIgbmFtZSIpLCBOXygiVXNlciBuYW1lIiksIDF9LAorCVtDT0xfR0lEXQk9IHsgIkdJRCIsCU5fKCJHcm91cCBJRCIpLCBOXygiR0lEIiksIDEsIFNDT0xTX0ZMX1JJR0hUfSwKKwlbQ09MX0dST1VQXQk9IHsgIkdST1VQIiwJTl8oIkdyb3VwIG5hbWUiKSwgTl8oIkdyb3VwIG5hbWUiKSwgMX0sCisJW0NPTF9DVElNRV0JPSB7ICJDVElNRSIsCU5fKCJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIpLCBOXygiTGFzdCBjaGFuZ2UiKSwgMSwgU0NPTFNfRkxfUklHSFR9LAorCisJLyogbXNncS1zcGVjaWZpYyAqLworCVtDT0xfVVNFREJZVEVTXQk9IHsgIlVTRURCWVRFUyIsTl8oIkJ5dGVzIHVzZWQiKSwgTl8oIkJ5dGVzIHVzZWQiKSwgMSwgU0NPTFNfRkxfUklHSFR9LAorCVtDT0xfTVNHU10JPSB7ICJNU0dTIiwJTl8oIk51bWJlciBvZiBtZXNzYWdlcyIpLCBOXygiTWVzc2FnZXMiKSwgMX0sCisJW0NPTF9TRU5EXQk9IHsgIlNFTkQiLAlOXygiVGltZSBvZiBsYXN0IG1zZyBzZW50IiksIE5fKCJNc2cgc2VudCIpLCAxLCBTQ09MU19GTF9SSUdIVH0sCisJW0NPTF9SRUNWXQk9IHsgIlJFQ1YiLAlOXygiVGltZSBvZiBsYXN0IG1zZyByZWNlaXZlZCIpLCBOXygiTXNnIHJlY2VpdmVkIiksIDEsIFNDT0xTX0ZMX1JJR0hUfSwKKwlbQ09MX0xTUElEXQk9IHsgIkxTUElEIiwJTl8oIlBJRCBvZiB0aGUgbGFzdCBtc2cgc2VuZGVyIiksIE5fKCJNc2cgc2VuZGVyIiksIDEsIFNDT0xTX0ZMX1JJR0hUfSwKKwlbQ09MX0xSUElEXQk9IHsgIkxSUElEIiwJTl8oIlBJRCBvZiB0aGUgbGFzdCBtc2cgcmVjZWl2ZXIiKSwgTl8oIk1zZyByZWNlaXZlciIpLCAxLCBTQ09MU19GTF9SSUdIVH0sCisKKwkvKiBzaG0tc3BlY2lmaWMgKi8KKwlbQ09MX1NJWkVdCT0geyAiU0laRSIsCU5fKCJTZWdtZW50IHNpemUiKSwgTl8oIlNlZ21lbnQgc2l6ZSIpLCAxLCBTQ09MU19GTF9SSUdIVH0sCisJW0NPTF9OQVRUQ0hdCT0geyAiTkFUVENIIiwJTl8oIk51bWJlciBvZiBhdHRhY2hlZCBwcm9jZXNzZXMiKSwgTl8oIkF0dGFjaGVkIHByb2Nlc3NlcyIpLCAxLCBTQ09MU19GTF9SSUdIVH0sCisJW0NPTF9TVEFUVVNdCT0geyAiU1RBVFVTIiwJTl8oIlN0YXR1cyIpLCBOXygiU3RhdHVzIiksIDEsIFNDT0xTX0ZMX05PRVhUUkVNRVN9LAorCVtDT0xfQVRUQUNIXQk9IHsgIkFUVEFDSCIsCU5fKCJBdHRhY2ggdGltZSIpLCBOXygiQXR0YWNoIHRpbWUiKSwgMSwgU0NPTFNfRkxfUklHSFR9LAorCVtDT0xfREVUQUNIXQk9IHsgIkRFVEFDSCIsCU5fKCJEZXRhY2ggdGltZSIpLCBOXygiRGV0YWNoIHRpbWUiKSwgMSwgU0NPTFNfRkxfUklHSFR9LAorCVtDT0xfQ09NTUFORF0JPSB7ICJDT01NQU5EIiwgIE5fKCJDcmVhdG9yIGNvbW1hbmQgbGluZSIpLCBOXygiQ3JlYXRvciBjb21tYW5kIiksIDAsIFNDT0xTX0ZMX1RSVU5DfSwKKwlbQ09MX0NQSURdCT0geyAiQ1BJRCIsCU5fKCJQSUQgb2YgdGhlIGNyZWF0b3IiKSwgTl8oIkNyZWF0b3IgUElEIiksIDEsIFNDT0xTX0ZMX1JJR0hUfSwKKwlbQ09MX0xQSURdCT0geyAiTFBJRCIsCU5fKCJQSUQgb2YgbGFzdCB1c2VyIiksIE5fKCJMYXN0IHVzZXIgUElEIiksIDEsIFNDT0xTX0ZMX1JJR0hUfSwKKworCS8qIHNlbS1zcGVjaWZpYyAqLworCVtDT0xfTlNFTVNdCT0geyAiTlNFTVMiLAlOXygiTnVtYmVyIG9mIHNlbWFwaG9yZXMiKSwgTl8oIlNlbWFwaG9yZXMiKSwgMSwgU0NPTFNfRkxfUklHSFR9LAorCVtDT0xfT1RJTUVdCT0geyAiT1RJTUUiLAlOXygiVGltZSBvZiB0aGUgbGFzdCBvcGVyYXRpb24iKSwgTl8oIkxhc3Qgb3BlcmF0aW9uIiksIDEsIFNDT0xTX0ZMX1JJR0hUfSwKKworCS8qIGNvbHMgZm9yIHN1bW1hcml6ZWQgaW5mb3JtYXRpb24gKi8KKwlbQ09MX1JFU09VUkNFXSAgPSB7ICJSRVNPVVJDRSIsIE5fKCJSZXNvdXJjZSBuYW1lIiksIE5fKCJSZXNvdXJjZSIpLCAxIH0sCisJW0NPTF9ERVNDXSAgICAgID0geyAiREVTQ1JJUFRJT04iLE5fKCJSZXNvdXJjZSBkZXNjcmlwdGlvbiIpLCBOXygiRGVzY3JpcHRpb24iKSwgMSB9LAorCVtDT0xfVVNFRF0gICAgICA9IHsgIlVTRUQiLCAgICAgTl8oIkN1cnJlbnRseSB1c2VkIiksIE5fKCJVc2VkIiksIDEsIFNDT0xTX0ZMX1JJR0hUIH0sCisJW0NPTF9VU0VQRVJDXQk9IHsgIlVTRSUiLCAgICAgTl8oIkN1cnJlbnRseSB1c2UgcGVyY2VudGFnZSIpLCBOXygiVXNlIiksIDEsIFNDT0xTX0ZMX1JJR0hUIH0sCisJW0NPTF9MSU1JVF0gICAgID0geyAiTElNSVQiLCAgICBOXygiU3lzdGVtLXdpZGUgbGltaXQiKSwgTl8oIkxpbWl0IiksIDEsIFNDT0xTX0ZMX1JJR0hUIH0sCit9OworCisKKy8qIGNvbHVtbnNbXSBhcnJheSBzcGVjaWZpZXMgYWxsIGN1cnJlbnRseSB3YW50ZWQgb3V0cHV0IGNvbHVtbi4gVGhlIGNvbHVtbnMKKyAqIGFyZSBkZWZpbmVkIGJ5IGNvbGRlc2NzW10gYXJyYXkgYW5kIHlvdSBjYW4gc3BlY2lmeSAob24gY29tbWFuZCBsaW5lKSBlYWNoCisgKiBjb2x1bW4gdHdpY2UuIFRoYXQncyBlbm91Z2gsIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBhcnJheSBvZiB0aGUgY29sdW1ucyBpcworICogdW5uZWNlc3Nhcnkgb3ZlcmtpbGwgYW5kIG92ZXItZW5naW5lZXJpbmcgaW4gdGhpcyBjYXNlICovCitzdGF0aWMgaW50IGNvbHVtbnNbQVJSQVlfU0laRShjb2xkZXNjcykgKiAyXTsKK3N0YXRpYyBzaXplX3QgbmNvbHVtbnM7CisKK3N0YXRpYyBpbmxpbmUgc2l6ZV90IGVycl9jb2x1bW5zX2luZGV4KHNpemVfdCBhcnlzeiwgc2l6ZV90IGlkeCkKK3sKKwlpZiAoaWR4ID49IGFyeXN6KQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidG9vIG1hbnkgY29sdW1ucyBzcGVjaWZpZWQsICIKKwkJCQkgICAgICJ0aGUgbGltaXQgaXMgJXp1IGNvbHVtbnMiKSwKKwkJCQlhcnlzeiAtIDEpOworCXJldHVybiBpZHg7Cit9CisKKyNkZWZpbmUgYWRkX2NvbHVtbihhcnksIG4sIGlkKQlcCisJCSgoYXJ5KVsgZXJyX2NvbHVtbnNfaW5kZXgoQVJSQVlfU0laRShhcnkpLCAobikpIF0gPSAoaWQpKQorCitzdGF0aWMgaW50IGNvbHVtbl9uYW1lX3RvX2lkKGNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBuYW1lc3opCit7CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShjb2xkZXNjcyk7IGkrKykgeworCQljb25zdCBjaGFyICpjbiA9IGNvbGRlc2NzW2ldLm5hbWU7CisKKwkJaWYgKCFzdHJuY2FzZWNtcChuYW1lLCBjbiwgbmFtZXN6KSAmJiAhKihjbiArIG5hbWVzeikpIHsKKwkJCWlmIChpID4gQ09MX0NUSU1FKSB7CisJCQkJaWYgKGkgPj0gTE9XRVIgJiYgaSA8PSBVUFBFUikKKwkJCQkJcmV0dXJuIGk7CisJCQkJZWxzZSB7CisJCQkJCXdhcm54KF8oImNvbHVtbiAlcyBkb2VzIG5vdCBhcHBseSB0byB0aGUgc3BlY2lmaWVkIElQQyIpLCBuYW1lKTsKKwkJCQkJcmV0dXJuIC0xOworCQkJCX0KKwkJCX0gZWxzZQorCQkJCXJldHVybiBpOworCQl9CisJfQorCXdhcm54KF8oInVua25vd24gY29sdW1uOiAlcyIpLCBuYW1lKTsKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBjaGFyICpnZXRfdXNlcm5hbWUoc3RydWN0IHBhc3N3ZCAqKnB3LCB1aWRfdCBpZCkKK3sKKwlpZiAoISpwdyB8fCAoKnB3KS0+cHdfdWlkICE9IGlkKQorCQkqcHcgPSBnZXRwd3VpZChpZCk7CisKKwlyZXR1cm4gKnB3ID8geHN0cmR1cCgoKnB3KS0+cHdfbmFtZSkgOiBOVUxMOworfQorCitzdGF0aWMgY2hhciAqZ2V0X2dyb3VwbmFtZShzdHJ1Y3QgZ3JvdXAgKipnciwgZ2lkX3QgaWQpCit7CisJaWYgKCEqZ3IgfHwgKCpnciktPmdyX2dpZCAhPSBpZCkKKwkJKmdyID0gZ2V0Z3JnaWQoaWQpOworCisJcmV0dXJuICpnciA/IHhzdHJkdXAoKCpnciktPmdyX25hbWUpIDogTlVMTDsKK30KKworc3RhdGljIGludCBwYXJzZV90aW1lX21vZGUoY29uc3QgY2hhciAqcykKK3sKKwlzdHJ1Y3QgbHNpcGNfdGltZWZtdCB7CisJCWNvbnN0IGNoYXIgKm5hbWU7CisJCWNvbnN0IGludCB2YWw7CisJfTsKKwlzdGF0aWMgY29uc3Qgc3RydWN0IGxzaXBjX3RpbWVmbXQgdGltZWZtdHNbXSA9IHsKKwkJeyJpc28iLCBUSU1FX0lTT30sCisJCXsiZnVsbCIsIFRJTUVfRlVMTH0sCisJCXsic2hvcnQiLCBUSU1FX1NIT1JUfSwKKwl9OworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodGltZWZtdHMpOyBpKyspIHsKKwkJaWYgKHN0cmNtcCh0aW1lZm10c1tpXS5uYW1lLCBzKSA9PSAwKQorCQkJcmV0dXJuIHRpbWVmbXRzW2ldLnZhbDsKKwl9CisJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVua25vd24gdGltZSBmb3JtYXQ6ICVzIiksIHMpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqIG91dCkKK3sKKwlzaXplX3QgaTsKKworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygiICVzIFtvcHRpb25zXVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJTaG93IGluZm9ybWF0aW9uIG9uIElQQyBmYWNpbGl0aWVzLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiUmVzb3VyY2Ugb3B0aW9uczpcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbSwgLS1zaG1lbXMgICAgICBzaGFyZWQgbWVtb3J5IHNlZ21lbnRzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXEsIC0tcXVldWVzICAgICAgbWVzc2FnZSBxdWV1ZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hcGhvcmVzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWcsIC0tZ2xvYmFsICAgICAgaW5mbyBhYm91dCBzeXN0ZW0td2lkZSB1c2FnZSAobWF5IGJlIHVzZWQgd2l0aCAtbSwgLXEgYW5kIC1zKVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1pLCAtLWlkIDxpZD4gICAgIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBkb24ndCB0cnVuY2F0ZSBvdXRwdXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS10aW1lLWZvcm1hdD08dHlwZT4gZGlzcGxheSBkYXRlcyBpbiBzaG9ydCwgZnVsbCBvciBpc28gZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZSwgLS1leHBvcnQgICAgICAgICAgICAgZGlzcGxheSBpbiBhbiBleHBvcnQtYWJsZSBvdXRwdXQgZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUosIC0tanNvbiAgICAgICAgICAgICAgIHVzZSB0aGUgSlNPTiBvdXRwdXQgZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGRpc3BsYXkgZWFjaCBwaWVjZSBvZiBpbmZvcm1hdGlvbiBvbiBhIG5ldyBsaW5lXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgIGZvcmNlIGxpc3Qgb3V0cHV0IGZvcm1hdCAoZm9yIGV4YW1wbGUgd2l0aCAtLWlkKVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1vLCAtLW91dHB1dFs9PGxpc3Q+XSAgICBkZWZpbmUgdGhlIGNvbHVtbnMgdG8gb3V0cHV0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVAsIC0tbnVtZXJpYy1wZXJtcyAgICAgIHByaW50IG51bWVyaWMgcGVybWlzc2lvbnMgKFBFUk1TIGNvbHVtbilcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgZGlzcGxheSBpbiByYXcgbW9kZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC10LCAtLXRpbWUgICAgICAgICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKFVTQUdFX0hFTFAsIG91dCk7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgb3V0KTsKKworCWZwcmludGYob3V0LCBfKCJcbkdlbmVyaWMgY29sdW1uczpcbiIpKTsKKwlmb3IgKGkgPSBDT0xERVNDX0lEWF9HRU5fRklSU1Q7IGkgPD0gQ09MREVTQ19JRFhfR0VOX0xBU1Q7IGkrKykKKwkJZnByaW50ZihvdXQsICIgJTE0cyAgJXNcbiIsIGNvbGRlc2NzW2ldLm5hbWUsIF8oY29sZGVzY3NbaV0uaGVscCkpOworCisJZnByaW50ZihvdXQsIF8oIlxuU2hhcmVkLW1lbW9yeSBjb2x1bW5zICgtLXNobWVtcyk6XG4iKSk7CisJZm9yIChpID0gQ09MREVTQ19JRFhfU0hNX0ZJUlNUOyBpIDw9IENPTERFU0NfSURYX1NITV9MQVNUOyBpKyspCisJCWZwcmludGYob3V0LCAiICUxNHMgICVzXG4iLCBjb2xkZXNjc1tpXS5uYW1lLCBfKGNvbGRlc2NzW2ldLmhlbHApKTsKKworCWZwcmludGYob3V0LCBfKCJcbk1lc3NhZ2UtcXVldWUgY29sdW1ucyAoLS1xdWV1ZXMpOlxuIikpOworCWZvciAoaSA9IENPTERFU0NfSURYX01TR19GSVJTVDsgaSA8PSBDT0xERVNDX0lEWF9NU0dfTEFTVDsgaSsrKQorCQlmcHJpbnRmKG91dCwgIiAlMTRzICAlc1xuIiwgY29sZGVzY3NbaV0ubmFtZSwgXyhjb2xkZXNjc1tpXS5oZWxwKSk7CisKKwlmcHJpbnRmKG91dCwgXygiXG5TZW1hcGhvcmUgY29sdW1ucyAoLS1zZW1hcGhvcmVzKTpcbiIpKTsKKwlmb3IgKGkgPSBDT0xERVNDX0lEWF9TRU1fRklSU1Q7IGkgPD0gQ09MREVTQ19JRFhfU0VNX0xBU1Q7IGkrKykKKwkJZnByaW50ZihvdXQsICIgJTE0cyAgJXNcbiIsIGNvbGRlc2NzW2ldLm5hbWUsIF8oY29sZGVzY3NbaV0uaGVscCkpOworCisJZnByaW50ZihvdXQsIF8oIlxuU3VtbWFyeSBjb2x1bW5zICgtLWdsb2JhbCk6XG4iKSk7CisJZm9yIChpID0gQ09MREVTQ19JRFhfU1VNX0ZJUlNUOyBpIDw9IENPTERFU0NfSURYX1NVTV9MQVNUOyBpKyspCisJCWZwcmludGYob3V0LCAiICUxNHMgICVzXG4iLCBjb2xkZXNjc1tpXS5uYW1lLCBfKGNvbGRlc2NzW2ldLmhlbHApKTsKKworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgibHNpcGMoMSkiKSk7CisJZXhpdChvdXQgPT0gc3RkZXJyID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIHN0cnVjdCBsaWJzY29sc190YWJsZSAqbmV3X3RhYmxlKHN0cnVjdCBsc2lwY19jb250cm9sICpjdGwpCit7CisJc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YWJsZSA9IHNjb2xzX25ld190YWJsZSgpOworCisJaWYgKCF0YWJsZSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCB0YWJsZSIpKTsKKwlpZiAoY3RsLT5ub2hlYWRpbmdzKQorCQlzY29sc190YWJsZV9lbmFibGVfbm9oZWFkaW5ncyh0YWJsZSwgMSk7CisKKwlzd2l0Y2goY3RsLT5vdXRtb2RlKSB7CisJY2FzZSBPVVRfTkVXTElORToKKwkJc2NvbHNfdGFibGVfc2V0X2NvbHVtbl9zZXBhcmF0b3IodGFibGUsICJcbiIpOworCQkvKiBmYWxsdGhyb3VnaCAqLworCWNhc2UgT1VUX0VYUE9SVDoKKwkJc2NvbHNfdGFibGVfZW5hYmxlX2V4cG9ydCh0YWJsZSwgMSk7CisJCWJyZWFrOworCWNhc2UgT1VUX1JBVzoKKwkJc2NvbHNfdGFibGVfZW5hYmxlX3Jhdyh0YWJsZSwgMSk7CisJCWJyZWFrOworCWNhc2UgT1VUX1BSRVRUWToKKwkJc2NvbHNfdGFibGVfZW5hYmxlX25vaGVhZGluZ3ModGFibGUsIDEpOworCQlicmVhazsKKwljYXNlIE9VVF9KU09OOgorCQlzY29sc190YWJsZV9lbmFibGVfanNvbih0YWJsZSwgMSk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KKwlyZXR1cm4gdGFibGU7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnNldHVwX3RhYmxlKHN0cnVjdCBsc2lwY19jb250cm9sICpjdGwpCit7CisJc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YWJsZSA9IG5ld190YWJsZShjdGwpOworCXNpemVfdCBuOworCisJZm9yIChuID0gMDsgbiA8IG5jb2x1bW5zOyBuKyspIHsKKwkJaW50IGZsYWdzID0gY29sZGVzY3NbY29sdW1uc1tuXV0uZmxhZzsKKworCQlpZiAoY3RsLT5ub3RydW5jKQorCQkJZmxhZ3MgJj0gflNDT0xTX0ZMX1RSVU5DOworCisJCWlmICghc2NvbHNfdGFibGVfbmV3X2NvbHVtbih0YWJsZSwKKwkJCQljb2xkZXNjc1tjb2x1bW5zW25dXS5uYW1lLAorCQkJCWNvbGRlc2NzW2NvbHVtbnNbbl1dLndoaW50LAorCQkJCWZsYWdzKSkKKwkJCWdvdG8gZmFpbDsKKwl9CisJcmV0dXJuIHRhYmxlOworZmFpbDoKKwlzY29sc191bnJlZl90YWJsZSh0YWJsZSk7CisJcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyBpbnQgcHJpbnRfcHJldHR5KHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGFibGUpCit7CisJc3RydWN0IGxpYnNjb2xzX2l0ZXIgKml0ciA9IHNjb2xzX25ld19pdGVyKFNDT0xTX0lURVJfRk9SV0FSRCk7CisJc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY29sOworCXN0cnVjdCBsaWJzY29sc19jZWxsICpkYXRhOworCXN0cnVjdCBsaWJzY29sc19saW5lICpsbjsKKwljb25zdCBjaGFyICpoc3RyLCAqZHN0cjsKKwlpbnQgbiA9IDA7CisKKwlsbiA9IHNjb2xzX3RhYmxlX2dldF9saW5lKHRhYmxlLCAwKTsKKwl3aGlsZSAoIXNjb2xzX3RhYmxlX25leHRfY29sdW1uKHRhYmxlLCBpdHIsICZjb2wpKSB7CisKKwkJZGF0YSA9IHNjb2xzX2xpbmVfZ2V0X2NlbGwobG4sIG4pOworCisJCWhzdHIgPSBOXyhjb2xkZXNjc1tjb2x1bW5zW25dXS5wcmV0dHlfbmFtZSk7CisJCWRzdHIgPSBzY29sc19jZWxsX2dldF9kYXRhKGRhdGEpOworCisJCWlmIChkc3RyKQorCQkJcHJpbnRmKCIlczolKmMlLTM2c1xuIiwgaHN0ciwgMzUgLSAoaW50KXN0cmxlbihoc3RyKSwgJyAnLCBkc3RyKTsKKwkJKytuOworCX0KKworCS8qIHRoaXMgaXMgdXNlZCB0byBwcmV0dHktcHJpbnQgZGV0YWlsZWQgaW5mbyBhYm91dCBhIHNlbWFwaG9yZSBhcnJheSAqLworCWlmIChsbikgeworCQlzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnN1YnRhYiA9IHNjb2xzX2xpbmVfZ2V0X3VzZXJkYXRhKGxuKTsKKwkJaWYgKHN1YnRhYikgeworCQkJcHJpbnRmKF8oIkVsZW1lbnRzOlxuXG4iKSk7CisJCQlzY29sc19wcmludF90YWJsZShzdWJ0YWIpOworCQl9CisJfQorCisJc2NvbHNfZnJlZV9pdGVyKGl0cik7CisJcmV0dXJuIDA7CisKK30KKworc3RhdGljIGludCBwcmludF90YWJsZShzdHJ1Y3QgbHNpcGNfY29udHJvbCAqY3RsLCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCWlmIChjdGwtPm91dG1vZGUgPT0gT1VUX1BSRVRUWSkKKwkJcHJpbnRfcHJldHR5KHRiKTsKKwllbHNlCisJCXNjb2xzX3ByaW50X3RhYmxlKHRiKTsKKwlyZXR1cm4gMDsKK30KK3N0YXRpYyBzdHJ1Y3QgdGltZXZhbCBub3c7CisKK3N0YXRpYyBjaGFyICptYWtlX3RpbWUoaW50IG1vZGUsIHRpbWVfdCB0aW1lKQoreworCWNoYXIgYnVmWzY0XSA9IHswfTsKKworCXN3aXRjaChtb2RlKSB7CisJY2FzZSBUSU1FX0ZVTEw6CisJeworCQlzdHJ1Y3QgdG0gdG07CisJCWNoYXIgKnM7CisKKwkJbG9jYWx0aW1lX3IoJnRpbWUsICZ0bSk7CisJCWFzY3RpbWVfcigmdG0sIGJ1Zik7CisJCWlmICgqKHMgPSBidWYgKyBzdHJsZW4oYnVmKSAtIDEpID09ICdcbicpCisJCQkqcyA9ICdcMCc7CisJCWJyZWFrOworCX0KKwljYXNlIFRJTUVfU0hPUlQ6CisJCXN0cnRpbWVfc2hvcnQoJnRpbWUsICZub3csIDAsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCQlicmVhazsKKwljYXNlIFRJTUVfSVNPOgorCQlzdHJ0aW1lX2lzbygmdGltZSwgSVNPXzg2MDFfREFURXxJU09fODYwMV9USU1FfElTT184NjAxX1RJTUVaT05FLCBidWYsIHNpemVvZihidWYpKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuc3VwcG9ydGVkIHRpbWUgdHlwZSIpKTsKKwl9CisJcmV0dXJuIHhzdHJkdXAoYnVmKTsKK30KKworc3RhdGljIHZvaWQgZ2xvYmFsX3NldF9kYXRhKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGNvbnN0IGNoYXIgKnJlc291cmNlLAorCQkJICAgIGNvbnN0IGNoYXIgKmRlc2MsIHVpbnRtYXhfdCB1c2VkLCB1aW50bWF4X3QgbGltaXQsIGludCB1c2FnZSkKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG47CisJc2l6ZV90IG47CisKKwlsbiA9IHNjb2xzX3RhYmxlX25ld19saW5lKHRiLCBOVUxMKTsKKwlpZiAoIWxuKQorCQllcnJfb29tKCk7CisKKwlmb3IgKG4gPSAwOyBuIDwgbmNvbHVtbnM7IG4rKykgeworCQlpbnQgcmMgPSAwOworCQljaGFyICphcmcgPSBOVUxMOworCisJCXN3aXRjaCAoY29sdW1uc1tuXSkgeworCQljYXNlIENPTF9SRVNPVVJDRToKKwkJCXJjID0gc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgbiwgcmVzb3VyY2UpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX0RFU0M6CisJCQlyYyA9IHNjb2xzX2xpbmVfc2V0X2RhdGEobG4sIG4sIGRlc2MpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1VTRUQ6CisJCQlpZiAodXNhZ2UpIHsKKwkJCQl4YXNwcmludGYoJmFyZywgIiVqdSIsIHVzZWQpOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJfSBlbHNlCisJCQkJcmMgPSBzY29sc19saW5lX3NldF9kYXRhKGxuLCBuLCAiLSIpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1VTRVBFUkM6CisJCQlpZiAodXNhZ2UpIHsKKwkJCQl4YXNwcmludGYoJmFyZywgIiUyLjJmJSUiLCAoZG91YmxlKSB1c2VkIC8gbGltaXQgKiAxMDApOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJfSBlbHNlCisJCQkJcmMgPSBzY29sc19saW5lX3NldF9kYXRhKGxuLCBuLCAiLSIpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX0xJTUlUOgorCQkJeGFzcHJpbnRmKCZhcmcsICIlanUiLCBsaW1pdCk7CisJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCWJyZWFrOworCQl9CisKKwkJaWYgKHJjICE9IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gc2V0IGRhdGEiKSk7CisJfQorfQorCitzdGF0aWMgdm9pZCBzZXR1cF9zZW1fZWxlbWVudHNfY29sdW1ucyhzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXNjb2xzX3RhYmxlX3NldF9uYW1lKHRiLCAiZWxlbWVudHMiKTsKKwlpZiAoIXNjb2xzX3RhYmxlX25ld19jb2x1bW4odGIsICJTRU1OVU0iLCAwLCBTQ09MU19GTF9SSUdIVCkpCisJCWVycl9vb20oKTsKKwlpZiAoIXNjb2xzX3RhYmxlX25ld19jb2x1bW4odGIsICJWQUxVRSIsIDAsIFNDT0xTX0ZMX1JJR0hUKSkKKwkJZXJyX29vbSgpOworCWlmICghc2NvbHNfdGFibGVfbmV3X2NvbHVtbih0YiwgIk5DT1VOVCIsIDAsIFNDT0xTX0ZMX1JJR0hUKSkKKwkJZXJyX29vbSgpOworCWlmICghc2NvbHNfdGFibGVfbmV3X2NvbHVtbih0YiwgIlpDT1VOVCIsIDAsIFNDT0xTX0ZMX1JJR0hUKSkKKwkJZXJyX29vbSgpOworCWlmICghc2NvbHNfdGFibGVfbmV3X2NvbHVtbih0YiwgIlBJRCIsIDAsIFNDT0xTX0ZMX1JJR0hUKSkKKwkJZXJyX29vbSgpOworCWlmICghc2NvbHNfdGFibGVfbmV3X2NvbHVtbih0YiwgIkNPTU1BTkQiLCAwLCBTQ09MU19GTF9SSUdIVCkpCisJCWVycl9vb20oKTsKK30KKworc3RhdGljIHZvaWQgZG9fc2VtKGludCBpZCwgc3RydWN0IGxzaXBjX2NvbnRyb2wgKmN0bCwgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG47CisJc3RydWN0IHBhc3N3ZCAqcHcgPSBOVUxMLCAqY3B3ID0gTlVMTDsKKwlzdHJ1Y3QgZ3JvdXAgKmdyID0gTlVMTCwgKmNnciA9IE5VTEw7CisJc3RydWN0IHNlbV9kYXRhICpzZW1kcywgKnNlbWRzcDsKKwljaGFyICphcmcgPSBOVUxMOworCisJc2NvbHNfdGFibGVfc2V0X25hbWUodGIsICJzZW1hcGhvcmVzIik7CisKKwlpZiAoaXBjX3NlbV9nZXRfaW5mbyhpZCwgJnNlbWRzKSA8IDEpIHsKKwkJaWYgKGlkID4gLTEpCisJCQl3YXJueChfKCJpZCAlZCBub3QgZm91bmQiKSwgaWQpOworCQlyZXR1cm47CisJfQorCWZvciAoc2VtZHNwID0gc2VtZHM7ICBzZW1kc3AtPm5leHQgIT0gTlVMTCB8fCBpZCA+IC0xOyBzZW1kc3AgPSBzZW1kc3AtPm5leHQpIHsKKwkJc2l6ZV90IG47CisJCWxuID0gc2NvbHNfdGFibGVfbmV3X2xpbmUodGIsIE5VTEwpOworCisJCWZvciAobiA9IDA7IG4gPCBuY29sdW1uczsgbisrKSB7CisJCQlpbnQgcmMgPSAwOworCQkJc3dpdGNoIChjb2x1bW5zW25dKSB7CisJCQljYXNlIENPTF9LRVk6CisJCQkJeGFzcHJpbnRmKCZhcmcsICIweCUwOHgiLHNlbWRzcC0+c2VtX3Blcm0ua2V5KTsKKwkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX0lEOgorCQkJCXhhc3ByaW50ZigmYXJnLCAiJWQiLHNlbWRzcC0+c2VtX3Blcm0uaWQpOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfT1dORVI6CisJCQkJYXJnID0gZ2V0X3VzZXJuYW1lKCZwdywgc2VtZHNwLT5zZW1fcGVybS51aWQpOworCQkJCWlmICghYXJnKQorCQkJCQl4YXNwcmludGYoJmFyZywgIiV1Iiwgc2VtZHNwLT5zZW1fcGVybS51aWQpOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfUEVSTVM6CisJCQkJaWYgKGN0bC0+bnVtcGVybXMpCisJCQkJCXhhc3ByaW50ZigmYXJnLCAiJSNvIiwgc2VtZHNwLT5zZW1fcGVybS5tb2RlICYgMDc3Nyk7CisJCQkJZWxzZSB7CisJCQkJCWFyZyA9IHhtYWxsb2MoMTEpOworCQkJCQl4c3RybW9kZShzZW1kc3AtPnNlbV9wZXJtLm1vZGUgJiAwNzc3LCBhcmcpOworCQkJCX0KKwkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX0NVSUQ6CisJCQkJeGFzcHJpbnRmKCZhcmcsICIldSIsIHNlbWRzcC0+c2VtX3Blcm0uY3VpZCk7CisJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9DVVNFUjoKKwkJCQlhcmcgPSBnZXRfdXNlcm5hbWUoJmNwdywgc2VtZHNwLT5zZW1fcGVybS5jdWlkKTsKKwkJCQlpZiAoYXJnKQorCQkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX0NHSUQ6CisJCQkJeGFzcHJpbnRmKCZhcmcsICIldSIsIHNlbWRzcC0+c2VtX3Blcm0uY2dpZCk7CisJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9DR1JPVVA6CisJCQkJYXJnID0gZ2V0X2dyb3VwbmFtZSgmY2dyLCBzZW1kc3AtPnNlbV9wZXJtLmNnaWQpOworCQkJCWlmIChhcmcpCisJCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfVUlEOgorCQkJCXhhc3ByaW50ZigmYXJnLCAiJXUiLCBzZW1kc3AtPnNlbV9wZXJtLnVpZCk7CisJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9VU0VSOgorCQkJCWFyZyA9IGdldF91c2VybmFtZSgmcHcsIHNlbWRzcC0+c2VtX3Blcm0udWlkKTsKKwkJCQlpZiAoYXJnKQorCQkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX0dJRDoKKwkJCQl4YXNwcmludGYoJmFyZywgIiV1Iiwgc2VtZHNwLT5zZW1fcGVybS5naWQpOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfR1JPVVA6CisJCQkJYXJnID0gZ2V0X2dyb3VwbmFtZSgmZ3IsIHNlbWRzcC0+c2VtX3Blcm0uZ2lkKTsKKwkJCQlpZiAoYXJnKQorCQkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX0NUSU1FOgorCQkJCWlmIChzZW1kc3AtPnNlbV9jdGltZSAhPSAwKSB7CisJCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLAorCQkJCQkJCW1ha2VfdGltZShjdGwtPnRpbWVfbW9kZSwKKwkJCQkJCQkgICh0aW1lX3Qpc2VtZHNwLT5zZW1fY3RpbWUpKTsKKwkJCQl9CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9OU0VNUzoKKwkJCQl4YXNwcmludGYoJmFyZywgIiVqdSIsIHNlbWRzcC0+c2VtX25zZW1zKTsKKwkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX09USU1FOgorCQkJCWlmIChzZW1kc3AtPnNlbV9vdGltZSAhPSAwKSB7CisJCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLAorCQkJCQkJCW1ha2VfdGltZShjdGwtPnRpbWVfbW9kZSwKKwkJCQkJCQkgICh0aW1lX3Qpc2VtZHNwLT5zZW1fb3RpbWUpKTsKKwkJCQl9CisJCQkJYnJlYWs7CisJCQl9CisJCQlpZiAocmMgIT0gMCkKKwkJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gc2V0IGRhdGEiKSk7CisJCQlhcmcgPSBOVUxMOworCQl9CisKKwkJaWYgKGlkID4gLTEgJiYgc2VtZHMtPnNlbV9uc2VtcykgeworCQkJLyogQ3JlYXRlIGV4dHJhIHRhYmxlIHdpdGggSUQgc3BlY2lmaWMgc2VtYXBob3JlIGVsZW1lbnRzICovCisJCQlzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnN1YiA9IG5ld190YWJsZShjdGwpOworCQkJc2l6ZV90IGk7CisJCQlpbnQgcmMgPSAwOworCisJCQlzY29sc190YWJsZV9lbmFibGVfbm9oZWFkaW5ncyhzdWIsIDApOworCQkJc2V0dXBfc2VtX2VsZW1lbnRzX2NvbHVtbnMoc3ViKTsKKworCQkJZm9yIChpID0gMDsgaSA8IHNlbWRzLT5zZW1fbnNlbXM7IGkrKykgeworCQkJCXN0cnVjdCBzZW1fZWxlbSAqZSA9ICZzZW1kcy0+ZWxlbWVudHNbaV07CisJCQkJc3RydWN0IGxpYnNjb2xzX2xpbmUgKnNsbiA9IHNjb2xzX3RhYmxlX25ld19saW5lKHN1YiwgTlVMTCk7CisKKwkJCQkvKiBTRU1OVU0gKi8KKwkJCQl4YXNwcmludGYoJmFyZywgIiV6dSIsIGkpOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKHNsbiwgMCwgYXJnKTsKKwkJCQlpZiAocmMpCisJCQkJCWJyZWFrOworCisJCQkJLyogVkFMVUUgKi8KKwkJCQl4YXNwcmludGYoJmFyZywgIiVkIiwgZS0+c2VtdmFsKTsKKwkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShzbG4sIDEsIGFyZyk7CisJCQkJaWYgKHJjKQorCQkJCQlicmVhazsKKworCQkJCS8qIE5DT1VOVCAqLworCQkJCXhhc3ByaW50ZigmYXJnLCAiJWQiLCBlLT5uY291bnQpOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKHNsbiwgMiwgYXJnKTsKKwkJCQlpZiAocmMpCisJCQkJCWJyZWFrOworCisJCQkJLyogWkNPVU5UICovCisJCQkJeGFzcHJpbnRmKCZhcmcsICIlZCIsIGUtPnpjb3VudCk7CisJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEoc2xuLCAzLCBhcmcpOworCQkJCWlmIChyYykKKwkJCQkJYnJlYWs7CisKKwkJCQkvKiBQSUQgKi8KKwkJCQl4YXNwcmludGYoJmFyZywgIiVkIiwgZS0+cGlkKTsKKwkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShzbG4sIDQsIGFyZyk7CisJCQkJaWYgKHJjKQorCQkJCQlicmVhazsKKworCQkJCS8qIENPTU1BTkQgKi8KKwkJCQlhcmcgPSBwcm9jX2dldF9jb21tYW5kKGUtPnBpZCk7CisJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEoc2xuLCA1LCBhcmcpOworCQkJCWlmIChyYykKKwkJCQkJYnJlYWs7CisJCQl9CisKKwkJCWlmIChyYyAhPSAwKQorCQkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBzZXQgZGF0YSIpKTsKKworCQkJc2NvbHNfbGluZV9zZXRfdXNlcmRhdGEobG4sICh2b2lkICopc3ViKTsKKwkJCWJyZWFrOworCQl9CisJfQorCWlwY19zZW1fZnJlZV9pbmZvKHNlbWRzKTsKK30KKworc3RhdGljIHZvaWQgZG9fc2VtX2dsb2JhbChzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXN0cnVjdCBzZW1fZGF0YSAqc2VtZHMsICpzZW1kc3A7CisJc3RydWN0IGlwY19saW1pdHMgbGltOworCWludCBuc2VtcyA9IDAsIG5zZXRzID0gMDsKKworCWlwY19zZW1fZ2V0X2xpbWl0cygmbGltKTsKKworCWlmIChpcGNfc2VtX2dldF9pbmZvKC0xLCAmc2VtZHMpID4gMCkgeworCQlmb3IgKHNlbWRzcCA9IHNlbWRzOyBzZW1kc3AtPm5leHQgIT0gTlVMTDsgc2VtZHNwID0gc2VtZHNwLT5uZXh0KSB7CisJCQkrK25zZXRzOworCQkJbnNlbXMgKz0gc2VtZHMtPnNlbV9uc2VtczsKKwkJfQorCQlpcGNfc2VtX2ZyZWVfaW5mbyhzZW1kcyk7CisJfQorCisJZ2xvYmFsX3NldF9kYXRhKHRiLCAiU0VNTU5JIiwgXygiTnVtYmVyIG9mIHNlbWFwaG9yZSBpZGVudGlmaWVycyIpLCBuc2V0cywgbGltLnNlbW1uaSwgMSk7CisJZ2xvYmFsX3NldF9kYXRhKHRiLCAiU0VNTU5TIiwgXygiVG90YWwgbnVtYmVyIG9mIHNlbWFwaG9yZXMiKSwgbnNlbXMsIGxpbS5zZW1tbnMsIDEpOworCWdsb2JhbF9zZXRfZGF0YSh0YiwgIlNFTU1TTCIsIF8oIk1heCBzZW1hcGhvcmVzIHBlciBzZW1hcGhvcmUgc2V0LiIpLCAwLCBsaW0uc2VtbXNsLCAwKTsKKwlnbG9iYWxfc2V0X2RhdGEodGIsICJTRU1PUE0iLCBfKCJNYXggbnVtYmVyIG9mIG9wZXJhdGlvbnMgcGVyIHNlbW9wKDIpIiksIDAsIGxpbS5zZW1vcG0sIDApOworCWdsb2JhbF9zZXRfZGF0YSh0YiwgIlNFTVZNWCIsIF8oIlNlbWFwaG9yZSBtYXggdmFsdWUiKSwgMCwgbGltLnNlbXZteCwgMCk7Cit9CisKK3N0YXRpYyB2b2lkIGRvX21zZyhpbnQgaWQsIHN0cnVjdCBsc2lwY19jb250cm9sICpjdGwsIHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuOworCXN0cnVjdCBwYXNzd2QgKnB3ID0gTlVMTDsKKwlzdHJ1Y3QgZ3JvdXAgKmdyID0gTlVMTDsKKwlzdHJ1Y3QgbXNnX2RhdGEgKm1zZ2RzLCAqbXNnZHNwOworCWNoYXIgKmFyZyA9IE5VTEw7CisKKwlpZiAoaXBjX21zZ19nZXRfaW5mbyhpZCwgJm1zZ2RzKSA8IDEpIHsKKwkJaWYgKGlkID4gLTEpCisJCQl3YXJueChfKCJpZCAlZCBub3QgZm91bmQiKSwgaWQpOworCQlyZXR1cm47CisJfQorCXNjb2xzX3RhYmxlX3NldF9uYW1lKHRiLCAibWVzc2FnZXMiKTsKKworCWZvciAobXNnZHNwID0gbXNnZHM7IG1zZ2RzcC0+bmV4dCAhPSBOVUxMIHx8IGlkID4gLTEgOyBtc2dkc3AgPSBtc2dkc3AtPm5leHQpIHsKKwkJc2l6ZV90IG47CisJCWxuID0gc2NvbHNfdGFibGVfbmV3X2xpbmUodGIsIE5VTEwpOworCisJCS8qIG5vIG5lZWQgdG8gY2FsbCBnZXRwd3VpZCgpIGZvciB0aGUgc2FtZSB1c2VyICovCisJCWlmICghKHB3ICYmIHB3LT5wd191aWQgPT0gbXNnZHNwLT5tc2dfcGVybS51aWQpKQorCQkJcHcgPSBnZXRwd3VpZChtc2dkc3AtPm1zZ19wZXJtLnVpZCk7CisKKwkJLyogbm8gbmVlZCB0byBjYWxsIGdldGdyZ2lkKCkgZm9yIHRoZSBzYW1lIHVzZXIgKi8KKwkJaWYgKCEoZ3IgJiYgZ3ItPmdyX2dpZCA9PSBtc2dkc3AtPm1zZ19wZXJtLmdpZCkpCisJCQlnciA9IGdldGdyZ2lkKG1zZ2RzcC0+bXNnX3Blcm0uZ2lkKTsKKworCQlmb3IgKG4gPSAwOyBuIDwgbmNvbHVtbnM7IG4rKykgeworCQkJaW50IHJjID0gMDsKKworCQkJc3dpdGNoIChjb2x1bW5zW25dKSB7CisJCQljYXNlIENPTF9LRVk6CisJCQkJeGFzcHJpbnRmKCZhcmcsICIweCUwOHgiLG1zZ2RzcC0+bXNnX3Blcm0ua2V5KTsKKwkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX0lEOgorCQkJCXhhc3ByaW50ZigmYXJnLCAiJWQiLG1zZ2RzcC0+bXNnX3Blcm0uaWQpOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfT1dORVI6CisJCQkJYXJnID0gZ2V0X3VzZXJuYW1lKCZwdywgbXNnZHNwLT5tc2dfcGVybS51aWQpOworCQkJCWlmICghYXJnKQorCQkJCQl4YXNwcmludGYoJmFyZywgIiV1IiwgbXNnZHNwLT5tc2dfcGVybS51aWQpOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfUEVSTVM6CisJCQkJaWYgKGN0bC0+bnVtcGVybXMpCisJCQkJCXhhc3ByaW50ZigmYXJnLCAiJSNvIiwgbXNnZHNwLT5tc2dfcGVybS5tb2RlICYgMDc3Nyk7CisJCQkJZWxzZSB7CisJCQkJCWFyZyA9IHhtYWxsb2MoMTEpOworCQkJCQl4c3RybW9kZShtc2dkc3AtPm1zZ19wZXJtLm1vZGUgJiAwNzc3LCBhcmcpOworCQkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQl9CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9DVUlEOgorCQkJCXhhc3ByaW50ZigmYXJnLCAiJXUiLCBtc2dkc3AtPm1zZ19wZXJtLmN1aWQpOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfQ1VTRVI6CisJCQkJYXJnID0gZ2V0X3VzZXJuYW1lKCZwdywgbXNnZHNwLT5tc2dfcGVybS5jdWlkKTsKKwkJCQlpZiAoYXJnKQorCQkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX0NHSUQ6CisJCQkJeGFzcHJpbnRmKCZhcmcsICIldSIsIG1zZ2RzcC0+bXNnX3Blcm0uY3VpZCk7CisJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9DR1JPVVA6CisJCQkJYXJnID0gZ2V0X2dyb3VwbmFtZSgmZ3IsIG1zZ2RzcC0+bXNnX3Blcm0uY2dpZCk7CisJCQkJaWYgKGFyZykKKwkJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9VSUQ6CisJCQkJeGFzcHJpbnRmKCZhcmcsICIldSIsIG1zZ2RzcC0+bXNnX3Blcm0udWlkKTsKKwkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX1VTRVI6CisJCQkJYXJnID0gZ2V0X3VzZXJuYW1lKCZwdywgbXNnZHNwLT5tc2dfcGVybS51aWQpOworCQkJCWlmIChhcmcpCisJCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfR0lEOgorCQkJCXhhc3ByaW50ZigmYXJnLCAiJXUiLCBtc2dkc3AtPm1zZ19wZXJtLmdpZCk7CisJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9HUk9VUDoKKwkJCQlhcmcgPSBnZXRfZ3JvdXBuYW1lKCZncixtc2dkc3AtPm1zZ19wZXJtLmdpZCk7CisJCQkJaWYgKGFyZykKKwkJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9DVElNRToKKwkJCQlpZiAobXNnZHNwLT5xX2N0aW1lICE9IDApCisJCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLAorCQkJCQkJbWFrZV90aW1lKGN0bC0+dGltZV9tb2RlLAorCQkJCQkJCSAgKHRpbWVfdCltc2dkc3AtPnFfY3RpbWUpKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX1VTRURCWVRFUzoKKwkJCQl4YXNwcmludGYoJmFyZywgIiVqdSIsIG1zZ2RzcC0+cV9jYnl0ZXMpOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfTVNHUzoKKwkJCQl4YXNwcmludGYoJmFyZywgIiVqdSIsIG1zZ2RzcC0+cV9xbnVtKTsKKwkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX1NFTkQ6CisJCQkJaWYgKG1zZ2RzcC0+cV9zdGltZSAhPSAwKQorCQkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwKKwkJCQkJCW1ha2VfdGltZShjdGwtPnRpbWVfbW9kZSwKKwkJCQkJCQkgICh0aW1lX3QpbXNnZHNwLT5xX3N0aW1lKSk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9SRUNWOgorCQkJCWlmIChtc2dkc3AtPnFfcnRpbWUgIT0gMCkKKwkJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sCisJCQkJCQltYWtlX3RpbWUoY3RsLT50aW1lX21vZGUsCisJCQkJCQkJICAodGltZV90KW1zZ2RzcC0+cV9ydGltZSkpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfTFNQSUQ6CisJCQkJeGFzcHJpbnRmKCZhcmcsICIldSIsIG1zZ2RzcC0+cV9sc3BpZCk7CisJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9MUlBJRDoKKwkJCQl4YXNwcmludGYoJmFyZywgIiV1IiwgbXNnZHNwLT5xX2xycGlkKTsKKwkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWlmIChyYyAhPSAwKQorCQkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBzZXQgZGF0YSIpKTsKKwkJCWFyZyA9IE5VTEw7CisJCX0KKwkJaWYgKGlkID4gLTEpCisJCQlicmVhazsKKwl9CisJaXBjX21zZ19mcmVlX2luZm8obXNnZHMpOworfQorCisKK3N0YXRpYyB2b2lkIGRvX21zZ19nbG9iYWwoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwlzdHJ1Y3QgbXNnX2RhdGEgKm1zZ2RzLCAqbXNnZHNwOworCXN0cnVjdCBpcGNfbGltaXRzIGxpbTsKKwlpbnQgbXNncXMgPSAwOworCisJaXBjX21zZ19nZXRfbGltaXRzKCZsaW0pOworCisJLyogY291bnQgbnVtYmVyIG9mIHVzZWQgcXVldWVzICovCisJaWYgKGlwY19tc2dfZ2V0X2luZm8oLTEsICZtc2dkcykgPiAwKSB7CisJCWZvciAobXNnZHNwID0gbXNnZHM7IG1zZ2RzcC0+bmV4dCAhPSBOVUxMOyBtc2dkc3AgPSBtc2dkc3AtPm5leHQpCisJCQkrK21zZ3FzOworCQlpcGNfbXNnX2ZyZWVfaW5mbyhtc2dkcyk7CisJfQorCisJZ2xvYmFsX3NldF9kYXRhKHRiLCAiTVNHTU5JIiwgXygiTnVtYmVyIG9mIG1lc3NhZ2UgcXVldWVzIiksIG1zZ3FzLCBsaW0ubXNnbW5pLCAxKTsKKwlnbG9iYWxfc2V0X2RhdGEodGIsICJNU0dNQVgiLCBfKCJNYXggc2l6ZSBvZiBtZXNzYWdlIChieXRlcykiKSwJMCwgbGltLm1zZ21heCwgMCk7CisJZ2xvYmFsX3NldF9kYXRhKHRiLCAiTVNHTU5CIiwgXygiRGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSAoYnl0ZXMpIiksIDAsIGxpbS5tc2dtbmIsIDApOworfQorCisKK3N0YXRpYyB2b2lkIGRvX3NobShpbnQgaWQsIHN0cnVjdCBsc2lwY19jb250cm9sICpjdGwsIHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuOworCXN0cnVjdCBwYXNzd2QgKnB3ID0gTlVMTDsKKwlzdHJ1Y3QgZ3JvdXAgKmdyID0gTlVMTDsKKwlzdHJ1Y3Qgc2htX2RhdGEgKnNobWRzLCAqc2htZHNwOworCWNoYXIgKmFyZyA9IE5VTEw7CisKKwlpZiAoaXBjX3NobV9nZXRfaW5mbyhpZCwgJnNobWRzKSA8IDEpIHsKKwkJaWYgKGlkID4gLTEpCisJCQl3YXJueChfKCJpZCAlZCBub3QgZm91bmQiKSwgaWQpOworCQlyZXR1cm47CisJfQorCisJc2NvbHNfdGFibGVfc2V0X25hbWUodGIsICJzaGFyZWRtZW1vcnkiKTsKKworCWZvciAoc2htZHNwID0gc2htZHM7IHNobWRzcC0+bmV4dCAhPSBOVUxMIHx8IGlkID4gLTEgOyBzaG1kc3AgPSBzaG1kc3AtPm5leHQpIHsKKwkJc2l6ZV90IG47CisJCWxuID0gc2NvbHNfdGFibGVfbmV3X2xpbmUodGIsIE5VTEwpOworCQlpZiAoIWxuKQorCQkJZXJyX29vbSgpOworCisJCWZvciAobiA9IDA7IG4gPCBuY29sdW1uczsgbisrKSB7CisJCQlpbnQgcmMgPSAwOworCisJCQlzd2l0Y2ggKGNvbHVtbnNbbl0pIHsKKwkJCWNhc2UgQ09MX0tFWToKKwkJCQl4YXNwcmludGYoJmFyZywgIjB4JTA4eCIsc2htZHNwLT5zaG1fcGVybS5rZXkpOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfSUQ6CisJCQkJeGFzcHJpbnRmKCZhcmcsICIlZCIsc2htZHNwLT5zaG1fcGVybS5pZCk7CisJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9PV05FUjoKKwkJCQlhcmcgPSBnZXRfdXNlcm5hbWUoJnB3LCBzaG1kc3AtPnNobV9wZXJtLnVpZCk7CisJCQkJaWYgKCFhcmcpCisJCQkJCXhhc3ByaW50ZigmYXJnLCAiJXUiLCBzaG1kc3AtPnNobV9wZXJtLnVpZCk7CisJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9QRVJNUzoKKwkJCQlpZiAoY3RsLT5udW1wZXJtcykKKwkJCQkJeGFzcHJpbnRmKCZhcmcsICIlI28iLCBzaG1kc3AtPnNobV9wZXJtLm1vZGUgJiAwNzc3KTsKKwkJCQllbHNlIHsKKwkJCQkJYXJnID0geG1hbGxvYygxMSk7CisJCQkJCXhzdHJtb2RlKHNobWRzcC0+c2htX3Blcm0ubW9kZSAmIDA3NzcsIGFyZyk7CisJCQkJfQorCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfQ1VJRDoKKwkJCQl4YXNwcmludGYoJmFyZywgIiV1Iiwgc2htZHNwLT5zaG1fcGVybS5jdWlkKTsKKwkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX0NVU0VSOgorCQkJCWFyZyA9IGdldF91c2VybmFtZSgmcHcsIHNobWRzcC0+c2htX3Blcm0uY3VpZCk7CisJCQkJaWYgKGFyZykKKwkJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9DR0lEOgorCQkJCXhhc3ByaW50ZigmYXJnLCAiJXUiLCBzaG1kc3AtPnNobV9wZXJtLmN1aWQpOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfQ0dST1VQOgorCQkJCWFyZyA9IGdldF9ncm91cG5hbWUoJmdyLCBzaG1kc3AtPnNobV9wZXJtLmNnaWQpOworCQkJCWlmIChhcmcpCisJCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfVUlEOgorCQkJCXhhc3ByaW50ZigmYXJnLCAiJXUiLCBzaG1kc3AtPnNobV9wZXJtLnVpZCk7CisJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9VU0VSOgorCQkJCWFyZyA9IGdldF91c2VybmFtZSgmcHcsIHNobWRzcC0+c2htX3Blcm0udWlkKTsKKwkJCQlpZiAoYXJnKQorCQkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX0dJRDoKKwkJCQl4YXNwcmludGYoJmFyZywgIiV1Iiwgc2htZHNwLT5zaG1fcGVybS5naWQpOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfR1JPVVA6CisJCQkJYXJnID0gZ2V0X2dyb3VwbmFtZSgmZ3IsIHNobWRzcC0+c2htX3Blcm0uZ2lkKTsKKwkJCQlpZiAoYXJnKQorCQkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX0NUSU1FOgorCQkJCWlmIChzaG1kc3AtPnNobV9jdGltICE9IDApCisJCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLAorCQkJCQkJbWFrZV90aW1lKGN0bC0+dGltZV9tb2RlLAorCQkJCQkJCSAgKHRpbWVfdClzaG1kc3AtPnNobV9jdGltKSk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9TSVpFOgorCQkJCWlmIChjdGwtPmJ5dGVzKQorCQkJCQl4YXNwcmludGYoJmFyZywgIiVqdSIsIHNobWRzcC0+c2htX3NlZ3N6KTsKKwkJCQllbHNlCisJCQkJCWFyZyA9IHNpemVfdG9faHVtYW5fc3RyaW5nKFNJWkVfU1VGRklYXzFMRVRURVIsIHNobWRzcC0+c2htX3NlZ3N6KTsKKwkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX05BVFRDSDoKKwkJCQl4YXNwcmludGYoJmFyZywgIiVqdSIsIHNobWRzcC0+c2htX25hdHRjaCk7CisJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9TVEFUVVM6IHsKKwkJCQkJaW50IGNvbW1hID0gMDsKKwkJCQkJc2l6ZV90IG9mZnQgPSAwOworCisJCQkJCWZyZWUoYXJnKTsKKwkJCQkJYXJnID0geGNhbGxvYygxLCBzaXplb2YoY2hhcikgKiBzdHJsZW4oXygiZGVzdCIpKQorCQkJCQkJCSsgc3RybGVuKF8oImxvY2tlZCIpKQorCQkJCQkJCSsgc3RybGVuKF8oImh1Z2V0bGIiKSkKKwkJCQkJCQkrIHN0cmxlbihfKCJub3Jlc2VydmUiKSkgKyA0KTsKKyNpZmRlZiBTSE1fREVTVAorCQkJCQlpZiAoc2htZHNwLT5zaG1fcGVybS5tb2RlICYgU0hNX0RFU1QpIHsKKwkJCQkJCW9mZnQgKz0gc3ByaW50ZihhcmcsICIlcyIsIF8oImRlc3QiKSk7CisJCQkJCQljb21tYSsrOworCQkJCQl9CisjZW5kaWYKKyNpZmRlZiBTSE1fTE9DS0VECisJCQkJCWlmIChzaG1kc3AtPnNobV9wZXJtLm1vZGUgJiBTSE1fTE9DS0VEKSB7CisJCQkJCQlpZiAoY29tbWEpCisJCQkJCQkJYXJnW29mZnQrK10gPSAnLCc7CisJCQkJCQlvZmZ0ICs9IHNwcmludGYoYXJnICsgb2ZmdCwgIiVzIiwgXygibG9ja2VkIikpOworCQkJCQl9CisjZW5kaWYKKyNpZmRlZiBTSE1fSFVHRVRMQgorCQkJCQlpZiAoc2htZHNwLT5zaG1fcGVybS5tb2RlICYgU0hNX0hVR0VUTEIpIHsKKwkJCQkJCWlmIChjb21tYSkKKwkJCQkJCQlhcmdbb2ZmdCsrXSA9ICcsJzsKKwkJCQkJCW9mZnQgKz0gc3ByaW50ZihhcmcgKyBvZmZ0LCAiJXMiLCBfKCJodWdldGxiIikpOworCQkJCQl9CisjZW5kaWYKKyNpZmRlZiBTSE1fTk9SRVNFUlZFCisJCQkJCWlmIChzaG1kc3AtPnNobV9wZXJtLm1vZGUgJiBTSE1fTk9SRVNFUlZFKSB7CisJCQkJCQlpZiAoY29tbWEpCisJCQkJCQkJYXJnW29mZnQrK10gPSAnLCc7CisJCQkJCQlzcHJpbnRmKGFyZyArIG9mZnQsICIlcyIsIF8oIm5vcmVzZXJ2ZSIpKTsKKwkJCQkJfQorI2VuZGlmCisJCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCX0KKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX0FUVEFDSDoKKwkJCQlpZiAoc2htZHNwLT5zaG1fYXRpbSAhPSAwKQorCQkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwKKwkJCQkJCQltYWtlX3RpbWUoY3RsLT50aW1lX21vZGUsCisJCQkJCQkJICAodGltZV90KXNobWRzcC0+c2htX2F0aW0pKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX0RFVEFDSDoKKwkJCQlpZiAoc2htZHNwLT5zaG1fZHRpbSAhPSAwKQorCQkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwKKwkJCQkJCQltYWtlX3RpbWUoY3RsLT50aW1lX21vZGUsCisJCQkJCQkJICAodGltZV90KXNobWRzcC0+c2htX2R0aW0pKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX0NQSUQ6CisJCQkJeGFzcHJpbnRmKCZhcmcsICIldSIsIHNobWRzcC0+c2htX2NwcmlkKTsKKwkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX0xQSUQ6CisJCQkJeGFzcHJpbnRmKCZhcmcsICIldSIsIHNobWRzcC0+c2htX2xwcmlkKTsKKwkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX0NPTU1BTkQ6CisJCQkJYXJnID0gcHJvY19nZXRfY29tbWFuZChzaG1kc3AtPnNobV9jcHJpZCk7CisJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQl9CisJCQlpZiAocmMgIT0gMCkKKwkJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gc2V0IGRhdGEiKSk7CisJCQlhcmcgPSBOVUxMOworCQl9CisJCWlmIChpZCA+IC0xKQorCQkJYnJlYWs7CisJfQorCWlwY19zaG1fZnJlZV9pbmZvKHNobWRzKTsKK30KKworc3RhdGljIHZvaWQgZG9fc2htX2dsb2JhbChzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXN0cnVjdCBzaG1fZGF0YSAqc2htZHMsICpzaG1kc3A7CisJdWludDY0X3QgbnNlZ3MgPSAwLCBzdW1fc2Vnc3ogPSAwOworCXN0cnVjdCBpcGNfbGltaXRzIGxpbTsKKworCWlwY19zaG1fZ2V0X2xpbWl0cygmbGltKTsKKworCWlmIChpcGNfc2htX2dldF9pbmZvKC0xLCAmc2htZHMpID4gMCkgeworCQlmb3IgKHNobWRzcCA9IHNobWRzOyBzaG1kc3AtPm5leHQgIT0gTlVMTDsgc2htZHNwID0gc2htZHNwLT5uZXh0KSB7CisJCQkrK25zZWdzOworCQkJc3VtX3NlZ3N6ICs9IHNobWRzcC0+c2htX3NlZ3N6OworCQl9CisJCWlwY19zaG1fZnJlZV9pbmZvKHNobWRzKTsKKwl9CisKKwlnbG9iYWxfc2V0X2RhdGEodGIsICJTSE1NTkkiLCBfKCJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIiksIG5zZWdzLCBsaW0uc2htbW5pLCAxKTsKKwlnbG9iYWxfc2V0X2RhdGEodGIsICJTSE1BTEwiLCBfKCJTaGFyZWQgbWVtb3J5IHBhZ2VzIiksIHN1bV9zZWdzeiAvIGdldHBhZ2VzaXplKCksIGxpbS5zaG1hbGwsIDEpOworCWdsb2JhbF9zZXRfZGF0YSh0YiwgIlNITU1BWCIsIF8oIk1heCBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIiksIDAsIGxpbS5zaG1tYXgsIDApOworCWdsb2JhbF9zZXRfZGF0YSh0YiwgIlNITU1JTiIsIF8oIk1pbiBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIiksIDAsIGxpbS5zaG1taW4sIDApOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWludCBvcHQsIG1zZyA9IDAsIHNlbSA9IDAsIHNobSA9IDAsIGlkID0gLTE7CisJaW50IHNob3dfdGltZSA9IDAsIHNob3dfY3JlYXQgPSAwLCBnbG9iYWwgPSAwOworCXNpemVfdCBpOworCXN0cnVjdCBsc2lwY19jb250cm9sICpjdGwgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgbHNpcGNfY29udHJvbCkpOworCXN0YXRpYyBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiOworCWNoYXIgKm91dGFyZyA9IE5VTEw7CisKKwkvKiBsb25nIG9ubHkgb3B0aW9ucy4gKi8KKwllbnVtIHsKKwkJT1BUX05PVFJVTkMgPSBDSEFSX01BWCArIDEsCisJCU9QVF9OT0hFQUQsCisJCU9QVF9USU1FX0ZNVAorCX07CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJieXRlcyIsICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICAgMCwgJ2InIH0sCisJCXsgImNyZWF0b3IiLCAgICAgICAgbm9fYXJndW1lbnQsCTAsICdjJyB9LAorCQl7ICJleHBvcnQiLCAgICAgICAgIG5vX2FyZ3VtZW50LAkwLCAnZScgfSwKKwkJeyAiZ2xvYmFsIiwgICAgICAgICBub19hcmd1bWVudCwJMCwgJ2cnIH0sCisJCXsgImhlbHAiLCAgICAgICAgICAgbm9fYXJndW1lbnQsCTAsICdoJyB9LAorCQl7ICJpZCIsICAgICAgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LAkwLCAnaScgfSwKKwkJeyAianNvbiIsICAgICAgICAgICBub19hcmd1bWVudCwJMCwgJ0onIH0sCisJCXsgImxpc3QiLCAgICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgICAwLCAnbCcgfSwKKwkJeyAibmV3bGluZSIsICAgICAgICBub19hcmd1bWVudCwJMCwgJ24nIH0sCisJCXsgIm5vaGVhZGluZ3MiLCAgICAgbm9fYXJndW1lbnQsCTAsIE9QVF9OT0hFQUQgfSwKKwkJeyAibm90cnVuY2F0ZSIsICAgICBub19hcmd1bWVudCwJMCwgT1BUX05PVFJVTkMgfSwKKwkJeyAibnVtZXJpYy1wZXJtcyIsICBub19hcmd1bWVudCwJMCwgJ1AnIH0sCisJCXsgIm91dHB1dCIsICAgICAgICAgcmVxdWlyZWRfYXJndW1lbnQsCTAsICdvJyB9LAorCQl7ICJwaWQiLCAgICAgICAgICAgIG5vX2FyZ3VtZW50LAkwLCAncCcgfSwKKwkJeyAicXVldWVzIiwgICAgICAgICBub19hcmd1bWVudCwJMCwgJ3EnIH0sCisJCXsgInJhdyIsICAgICAgICAgICAgbm9fYXJndW1lbnQsCTAsICdyJyB9LAorCQl7ICJzZW1hcGhvcmVzIiwgICAgIG5vX2FyZ3VtZW50LAkwLCAncycgfSwKKwkJeyAic2htZW1zIiwgICAgICAgICBub19hcmd1bWVudCwJMCwgJ20nIH0sCisJCXsgInRpbWUiLCAgICAgICAgICAgbm9fYXJndW1lbnQsCTAsICd0JyB9LAorCQl7ICJ0aW1lLWZvcm1hdCIsICAgIHJlcXVpcmVkX2FyZ3VtZW50LAkwLCBPUFRfVElNRV9GTVQgfSwKKwkJeyAidmVyc2lvbiIsICAgICAgICBub19hcmd1bWVudCwJMCwgJ1YnIH0sCisJCXtOVUxMLCAwLCBOVUxMLCAwfQorCX07CisKKwlzdGF0aWMgY29uc3QgdWxfZXhjbF90IGV4Y2xbXSA9IHsJLyogcm93cyBhbmQgY29scyBpbiBBU0NJSSBvcmRlciAqLworCQl7ICdKJywgJ2UnLCAnbCcsICduJywgJ3InIH0sCisJCXsgJ2cnLCAnaScgfSwKKwkJeyAnYycsICdvJywgJ3QnIH0sCisJCXsgJ20nLCAncScsICdzJyB9LAorCQl7IDAgfQorCX07CisJaW50IGV4Y2xfc3RbQVJSQVlfU0laRShleGNsKV0gPSBVTF9FWENMX1NUQVRVU19JTklUOworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCWN0bC0+dGltZV9tb2RlID0gMDsKKworCXNjb2xzX2luaXRfZGVidWcoMCk7CisKKwl3aGlsZSAoKG9wdCA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJiY2VnaGk6Smxtbm86UHFyc3R1ViIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKworCQllcnJfZXhjbHVzaXZlX29wdGlvbnMob3B0LCBsb25nb3B0cywgZXhjbCwgZXhjbF9zdCk7CisKKwkJc3dpdGNoIChvcHQpIHsKKwkJY2FzZSAnYic6CisJCQljdGwtPmJ5dGVzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdpJzoKKwkJCWlkID0gc3RydG9zMzJfb3JfZXJyKG9wdGFyZywgXygiZmFpbGVkIHRvIHBhcnNlIElQQyBpZGVudGlmaWVyIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ2UnOgorCQkJY3RsLT5vdXRtb2RlID0gT1VUX0VYUE9SVDsKKwkJCWJyZWFrOworCQljYXNlICdyJzoKKwkJCWN0bC0+b3V0bW9kZSA9IE9VVF9SQVc7CisJCQlicmVhazsKKwkJY2FzZSAnbyc6CisJCQlvdXRhcmcgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnZyc6CisJCQlnbG9iYWwgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3EnOgorCQkJbXNnID0gMTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0tFWSk7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9JRCk7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9QRVJNUyk7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9PV05FUik7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9VU0VEQllURVMpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfTVNHUyk7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9MU1BJRCk7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9MUlBJRCk7CisJCQlMT1dFUiA9IENPTERFU0NfSURYX01TR19GSVJTVDsKKwkJCVVQUEVSID0gQ09MREVTQ19JRFhfTVNHX0xBU1Q7CisJCQlicmVhazsKKwkJY2FzZSAnbCc6CisJCQljdGwtPm91dG1vZGUgPSBPVVRfTElTVDsKKwkJCWJyZWFrOworCQljYXNlICdtJzoKKwkJCXNobSA9IDE7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9LRVkpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfSUQpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfUEVSTVMpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfT1dORVIpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfU0laRSk7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9OQVRUQ0gpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfU1RBVFVTKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0NUSU1FKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0NQSUQpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfTFBJRCk7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9DT01NQU5EKTsKKwkJCUxPV0VSID0gQ09MREVTQ19JRFhfU0hNX0ZJUlNUOworCQkJVVBQRVIgPSBDT0xERVNDX0lEWF9TSE1fTEFTVDsKKwkJCWJyZWFrOworCQljYXNlICduJzoKKwkJCWN0bC0+b3V0bW9kZSA9IE9VVF9ORVdMSU5FOworCQkJYnJlYWs7CisJCWNhc2UgJ1AnOgorCQkJY3RsLT5udW1wZXJtcyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQlzZW0gPSAxOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfS0VZKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0lEKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX1BFUk1TKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX09XTkVSKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX05TRU1TKTsKKwkJCUxPV0VSID0gQ09MREVTQ19JRFhfU0VNX0ZJUlNUOworCQkJVVBQRVIgPSBDT0xERVNDX0lEWF9TRU1fTEFTVDsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9OT1RSVU5DOgorCQkJY3RsLT5ub3RydW5jID0gMTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9OT0hFQUQ6CisJCQljdGwtPm5vaGVhZGluZ3MgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX1RJTUVfRk1UOgorCQkJY3RsLT50aW1lX21vZGUgPSBwYXJzZV90aW1lX21vZGUob3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICdKJzoKKwkJCWN0bC0+b3V0bW9kZSA9IE9VVF9KU09OOworCQkJYnJlYWs7CisJCWNhc2UgJ3QnOgorCQkJc2hvd190aW1lID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdjJzoKKwkJCXNob3dfY3JlYXQgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2Uoc3Rkb3V0KTsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQl9CisJfQorCisJLyogZGVmYXVsdCBpcyBnbG9iYWwgKi8KKwlpZiAobXNnICsgc2htICsgc2VtID09IDApIHsKKwkJbXNnID0gc2htID0gc2VtID0gZ2xvYmFsID0gMTsKKwkJaWYgKHNob3dfdGltZSB8fCBzaG93X2NyZWF0IHx8IGlkICE9IC0xKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIi0tZ2xvYmFsIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tY3JlYXRvciwgLS1pZCBhbmQgLS10aW1lIikpOworCX0KKwlpZiAoZ2xvYmFsKSB7CisJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX1JFU09VUkNFKTsKKwkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfREVTQyk7CisJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0xJTUlUKTsKKwkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfVVNFRCk7CisJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX1VTRVBFUkMpOworCQlMT1dFUiA9IENPTERFU0NfSURYX1NVTV9GSVJTVDsKKwkJVVBQRVIgPSBDT0xERVNDX0lEWF9TVU1fTEFTVDsKKwl9CisKKwkvKiBkZWZhdWx0IHRvIHByZXR0eS1wcmludCBpZiAtLWlkIHNwZWNpZmllZCAqLworCWlmIChpZCAhPSAtMSAmJiAhY3RsLT5vdXRtb2RlKQorCQljdGwtPm91dG1vZGUgPSBPVVRfUFJFVFRZOworCisJaWYgKCFjdGwtPnRpbWVfbW9kZSkKKwkJY3RsLT50aW1lX21vZGUgPSBjdGwtPm91dG1vZGUgPT0gT1VUX1BSRVRUWSA/IFRJTUVfRlVMTCA6IFRJTUVfU0hPUlQ7CisKKwlpZiAoY3RsLT5vdXRtb2RlID09IE9VVF9QUkVUVFkgJiYgIShvcHRhcmcgfHwgc2hvd19jcmVhdCB8fCBzaG93X3RpbWUpKSB7CisJCS8qIGFsbCBjb2x1bW5zIGZvciBsc2lwYyAtLTxSRVNPVVJDRT4gLS1pZCA8SUQ+ICovCisJCWZvciAobmNvbHVtbnMgPSAwLCBpID0gMDsgaSA8IEFSUkFZX1NJWkUoY29sZGVzY3MpOyBpKyspCisJCQkgY29sdW1uc1tuY29sdW1ucysrXSA9IGk7CisJfSBlbHNlIHsKKwkJaWYgKHNob3dfY3JlYXQpIHsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0NVSUQpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfQ0dJRCk7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9VSUQpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfR0lEKTsKKwkJfQorCQlpZiAobXNnICYmIHNob3dfdGltZSkgeworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfU0VORCk7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9SRUNWKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0NUSU1FKTsKKwkJfQorCQlpZiAoc2htICYmIHNob3dfdGltZSkgeworCQkJLyoga2VlcCAiQ09NTUFORCIgYXMgbGFzdCBjb2x1bW4gKi8KKwkJCXNpemVfdCBjbWQgPSBjb2x1bW5zW25jb2x1bW5zIC0gMV0gPT0gQ09MX0NPTU1BTkQ7CisKKwkJCWlmIChjbWQpCisJCQkJbmNvbHVtbnMtLTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0FUVEFDSCk7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9ERVRBQ0gpOworCQkJaWYgKGNtZCkKKwkJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9DT01NQU5EKTsKKwkJfQorCQlpZiAoc2VtICYmIHNob3dfdGltZSkgeworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfT1RJTUUpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfQ1RJTUUpOworCQl9CisJfQorCisJaWYgKG91dGFyZyAmJiBzdHJpbmdfYWRkX3RvX2lkYXJyYXkob3V0YXJnLCBjb2x1bW5zLCBBUlJBWV9TSVpFKGNvbHVtbnMpLAorCQkJCQkgJm5jb2x1bW5zLCBjb2x1bW5fbmFtZV90b19pZCkgPCAwKQorCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCisJdGIgPSBzZXR1cF90YWJsZShjdGwpOworCWlmICghdGIpCisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisKKwlpZiAoZ2xvYmFsKQorCQlzY29sc190YWJsZV9zZXRfbmFtZSh0YiwgImlwY2xpbWl0cyIpOworCisJaWYgKG1zZykgeworCQlpZiAoZ2xvYmFsKQorCQkJZG9fbXNnX2dsb2JhbCh0Yik7CisJCWVsc2UKKwkJCWRvX21zZyhpZCwgY3RsLCB0Yik7CisJfQorCWlmIChzaG0pIHsKKwkJaWYgKGdsb2JhbCkKKwkJCWRvX3NobV9nbG9iYWwodGIpOworCQllbHNlCisJCQlkb19zaG0oaWQsIGN0bCwgdGIpOworCX0KKwlpZiAoc2VtKSB7CisJCWlmIChnbG9iYWwpCisJCQlkb19zZW1fZ2xvYmFsKHRiKTsKKwkJZWxzZQorCQkJZG9fc2VtKGlkLCBjdGwsIHRiKTsKKwl9CisKKwlwcmludF90YWJsZShjdGwsIHRiKTsKKworCXNjb2xzX3VucmVmX3RhYmxlKHRiKTsKKwlmcmVlKGN0bCk7CisKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQorCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvbHNucy44IGIvc3lzLXV0aWxzL2xzbnMuOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTRjOTBhCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2xzbnMuOApAQCAtMCwwICsxLDgyIEBACisuXCIgTWFuIHBhZ2UgZm9yIHRoZSBsc25zIGNvbW1hbmQuCisuXCIgQ29weXJpZ2h0IDIwMTUgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisuXCIgTWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorCisuVEggTFNOUyA4ICJEZWNlbWJlciAyMDE1IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitsc25zIFwtIGxpc3QgbmFtZXNwYWNlcworLlNIIFNZTk9QU0lTCisuQiBsc25zCitbb3B0aW9uc10KKy5SSSBbIG5hbWVzcGFjZSBdCisKKy5TSCBERVNDUklQVElPTgorLkIgbHNucworbGlzdHMgaW5mb3JtYXRpb24gYWJvdXQgYWxsIHRoZSBjdXJyZW50bHkgYWNjZXNzaWJsZSBuYW1lc3BhY2VzIG9yIGFib3V0IHRoZQorZ2l2ZW4gXGZJbmFtZXNwYWNlXGZQLiAgVGhlIFxmSW5hbWVzcGFjZVxmUCBpZGVudGlmaWVyIGlzIGFuIGlub2RlIG51bWJlci4KKworVGhlIGRlZmF1bHQgb3V0cHV0IGlzIHN1YmplY3QgdG8gY2hhbmdlLiAgU28gd2hlbmV2ZXIgcG9zc2libGUsIHlvdSBzaG91bGQKK2F2b2lkIHVzaW5nIGRlZmF1bHQgb3V0cHV0cyBpbiB5b3VyIHNjcmlwdHMuICBBbHdheXMgZXhwbGljaXRseSBkZWZpbmUgZXhwZWN0ZWQKK2NvbHVtbnMgYnkgdXNpbmcgdGhlIFxmQlwtXC1vdXRwdXRcZlIgb3B0aW9uIHRvZ2V0aGVyIHdpdGggYSBjb2x1bW5zIGxpc3QgaW4KK2Vudmlyb25tZW50cyB3aGVyZSBhIHN0YWJsZSBvdXRwdXQgaXMgcmVxdWlyZWQuCisKK05vdGUgdGhhdCBcZkJsc25zXGZSIHJlYWRzIGluZm9ybWF0aW9uIGRpcmVjdGx5IGZyb20gdGhlIC9wcm9jIGZpbGVzeXN0ZW0gYW5kCitmb3Igbm9uLXJvb3QgdXNlcnMgaXQgbWF5IHJldHVybiBpbmNvbXBsZXRlIGluZm9ybWF0aW9uLiAgVGhlIGN1cnJlbnQgL3Byb2MKK2ZpbGVzeXN0ZW0gbWF5IGJlIHVuc2hhcmVkIGFuZCBhZmZlY3RlZCBieSBhIFBJRCBuYW1lc3BhY2UKKyhzZWUgXGZCdW5zaGFyZSBcLVwtbW91bnRcLXByb2NcZlAgZm9yIG1vcmUgZGV0YWlscykuCisuQiBsc25zCitpcyBub3QgYWJsZSB0byBzZWUgcGVyc2lzdGVudCBuYW1lc3BhY2VzIHdpdGhvdXQgcHJvY2Vzc2VzIHdoZXJlIHRoZSBuYW1lc3BhY2UKK2luc3RhbmNlIGlzIGhlbGQgYnkgYSBiaW5kIG1vdW50IHRvIC9wcm9jL1xmSXBpZFxmUi9ucy9cZkl0eXBlXGZSLgorCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1KICwgIiBcLVwtanNvbiIKK1VzZSBKU09OIG91dHB1dCBmb3JtYXQuCisuVFAKKy5CUiBcLWwgLCAiIFwtXC1saXN0IgorVXNlIGxpc3Qgb3V0cHV0IGZvcm1hdC4KKy5UUAorLkJSIFwtbiAsICIgXC1cLW5vaGVhZGluZ3MiCitEbyBub3QgcHJpbnQgYSBoZWFkZXIgbGluZS4KKy5UUAorLkJSIFwtbyAsICIgXC1cLW91dHB1dCAiIFxmSWxpc3RcZlAKK1NwZWNpZnkgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gcHJpbnQuICBVc2UgXGZCXC1cLWhlbHBcZlIKK3RvIGdldCBhIGxpc3Qgb2YgYWxsIHN1cHBvcnRlZCBjb2x1bW5zLgorCitUaGUgZGVmYXVsdCBsaXN0IG9mIGNvbHVtbnMgbWF5IGJlIGV4dGVuZGVkIGlmIFxmSWxpc3RcZlAgaXMKK3NwZWNpZmllZCBpbiB0aGUgZm9ybWF0IFxmQitcZklsaXN0XGZQIChlLmcuIFxmQmxzbnMgXC1vICtQQVRIXGZQKS4KKy5UUAorLkJSIFwtcCAsICIgXC1cLXRhc2sgIiBcZklwaWRcZlAKK0Rpc3BsYXkgb25seSB0aGUgbmFtZXNwYWNlcyBoZWxkIGJ5IHRoZSBwcm9jZXNzIHdpdGggdGhpcyBcZklwaWRcZlIuCisuVFAKKy5CUiBcLXIgLCAiIFwtXC1yYXciCitVc2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0LgorLlRQCisuQlIgXC10ICwgIiBcLVwtdHlwZSAiIFxmSXR5cGVcZlAKK0Rpc3BsYXkgdGhlIHNwZWNpZmllZCBcZkl0eXBlXGZQIG9mIG5hbWVzcGFjZXMgb25seS4gIFRoZSBzdXBwb3J0ZWQgdHlwZXMgYXJlCitcZkJtbnRcZlAsIFxmQm5ldFxmUCwgXGZCaXBjXGZQLCBcZkJ1c2VyXGZQLCBcZkJwaWRcZlAsIFxmQnV0c1xmUCBhbmQKK1xmQmNncm91cFxmUC4gIFRoaXMgb3B0aW9uIG1heSBiZSBnaXZlbiBtb3JlIHRoYW4gb25jZS4KKy5UUAorLkJSIFwtdSAsICIgXC1cLW5vdHJ1bmNhdGUiCitEbyBub3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zLgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKworLlNIIEFVVEhPUlMKKy5uZgorS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisuZmkKKworLlNIICJTRUUgQUxTTyIKKy5CUiBuc2VudGVyICgxKSwKKy5CUiB1bnNoYXJlICgxKSwKKy5CUiBjbG9uZSAoMiksCisuQlIgbmFtZXNwYWNlcyAoNykKKworLlNIIEFWQUlMQUJJTElUWQorVGhlIGxzbnMgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvbHNucy5jIGIvc3lzLXV0aWxzL2xzbnMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MDk3MzdjCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2xzbnMuYwpAQCAtMCwwICsxLDc4MiBAQAorLyoKKyAqIGxzbnMoOCkgLSBsaXN0IHN5c3RlbSBuYW1lc3BhY2VzCisgKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd291bGQgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCisgKiBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGFzc2VydC5oPgorI2luY2x1ZGUgPGRpcmVudC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8d2NoYXIuaD4KKyNpbmNsdWRlIDxsaWJzbWFydGNvbHMuaD4KKworI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJsaXN0LmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJvcHR1dGlscy5oIgorI2luY2x1ZGUgInByb2N1dGlscy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAibmFtZXNwYWNlLmgiCisjaW5jbHVkZSAicGF0aC5oIgorI2luY2x1ZGUgImlkY2FjaGUuaCIKKworI2luY2x1ZGUgImRlYnVnLmgiCisKK1VMX0RFQlVHX0RFRklORV9NQVNLKGxzbnMpOworVUxfREVCVUdfREVGSU5FX01BU0tOQU1FUyhsc25zKSA9IFVMX0RFQlVHX0VNUFRZX01BU0tOQU1FUzsKKworI2RlZmluZSBMU05TX0RFQlVHX0lOSVQJCSgxIDw8IDEpCisjZGVmaW5lIExTTlNfREVCVUdfUFJPQwkJKDEgPDwgMikKKyNkZWZpbmUgTFNOU19ERUJVR19OUwkJKDEgPDwgMykKKyNkZWZpbmUgTFNOU19ERUJVR19BTEwJCTB4RkZGRgorCisjZGVmaW5lIERCRyhtLCB4KSAgICAgICBfX1VMX0RCRyhsc25zLCBMU05TX0RFQlVHXywgbSwgeCkKKyNkZWZpbmUgT05fREJHKG0sIHgpICAgIF9fVUxfREJHX0NBTEwobHNucywgTFNOU19ERUJVR18sIG0sIHgpCisKK3N0cnVjdCBpZGNhY2hlICp1aWRfY2FjaGUgPSBOVUxMOworCisvKiBjb2x1bW4gSURzICovCitlbnVtIHsKKwlDT0xfTlMgPSAwLAorCUNPTF9UWVBFLAorCUNPTF9QQVRILAorCUNPTF9OUFJPQ1MsCisJQ09MX1BJRCwKKwlDT0xfUFBJRCwKKwlDT0xfQ09NTUFORCwKKwlDT0xfVUlELAorCUNPTF9VU0VSCit9OworCisvKiBjb2x1bW4gbmFtZXMgKi8KK3N0cnVjdCBjb2xpbmZvIHsKKwljb25zdCBjaGFyICpuYW1lOyAvKiBoZWFkZXIgKi8KKwlkb3VibGUJICAgd2hpbnQ7IC8qIHdpZHRoIGhpbnQgKE4gPCAxIGlzIGluIHBlcmNlbnQgb2YgdGVybXdpZHRoKSAqLworCWludAkgICBmbGFnczsgLyogU0NPTFNfRkxfKiAqLworCWNvbnN0IGNoYXIgKmhlbHA7Cit9OworCisvKiBjb2x1bW5zIGRlc2NyaXB0aW9ucyAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBjb2xpbmZvIGluZm9zW10gPSB7CisJW0NPTF9OU10gICAgICA9IHsgIk5TIiwgICAgIDEwLCBTQ09MU19GTF9SSUdIVCwgTl8oIm5hbWVzcGFjZSBpZGVudGlmaWVyIChpbm9kZSBudW1iZXIpIikgfSwKKwlbQ09MX1RZUEVdICAgID0geyAiVFlQRSIsICAgIDUsIDAsIE5fKCJraW5kIG9mIG5hbWVzcGFjZSIpIH0sCisJW0NPTF9QQVRIXSAgICA9IHsgIlBBVEgiLCAgICAwLCAwLCBOXygicGF0aCB0byB0aGUgbmFtZXNwYWNlIil9LAorCVtDT0xfTlBST0NTXSAgPSB7ICJOUFJPQ1MiLCAgNSwgU0NPTFNfRkxfUklHSFQsIE5fKCJudW1iZXIgb2YgcHJvY2Vzc2VzIGluIHRoZSBuYW1lc3BhY2UiKSB9LAorCVtDT0xfUElEXSAgICAgPSB7ICJQSUQiLCAgICAgNSwgU0NPTFNfRkxfUklHSFQsIE5fKCJsb3dlc3QgUElEIGluIHRoZSBuYW1lc3BhY2UiKSB9LAorCVtDT0xfUFBJRF0gICAgPSB7ICJQUElEIiwgICAgNSwgU0NPTFNfRkxfUklHSFQsIE5fKCJQUElEIG9mIHRoZSBQSUQiKSB9LAorCVtDT0xfQ09NTUFORF0gPSB7ICJDT01NQU5EIiwgMCwgU0NPTFNfRkxfVFJVTkMsIE5fKCJjb21tYW5kIGxpbmUgb2YgdGhlIFBJRCIpfSwKKwlbQ09MX1VJRF0gICAgID0geyAiVUlEIiwgICAgIDAsIFNDT0xTX0ZMX1JJR0hULCBOXygiVUlEIG9mIHRoZSBQSUQiKX0sCisJW0NPTF9VU0VSXSAgICA9IHsgIlVTRVIiLCAgICAwLCAwLCBOXygidXNlcm5hbWUgb2YgdGhlIFBJRCIpfQorfTsKKworc3RhdGljIGludCBjb2x1bW5zW0FSUkFZX1NJWkUoaW5mb3MpICogMl07CitzdGF0aWMgc2l6ZV90IG5jb2x1bW5zOworCitlbnVtIHsKKwlMU05TX0lEX01OVCA9IDAsCisJTFNOU19JRF9ORVQsCisJTFNOU19JRF9QSUQsCisJTFNOU19JRF9VVFMsCisJTFNOU19JRF9JUEMsCisJTFNOU19JRF9VU0VSLAorCUxTTlNfSURfQ0dST1VQCit9OworCitzdGF0aWMgY2hhciAqbnNfbmFtZXNbXSA9IHsKKwlbTFNOU19JRF9NTlRdID0gIm1udCIsCisJW0xTTlNfSURfTkVUXSA9ICJuZXQiLAorCVtMU05TX0lEX1BJRF0gPSAicGlkIiwKKwlbTFNOU19JRF9VVFNdID0gInV0cyIsCisJW0xTTlNfSURfSVBDXSA9ICJpcGMiLAorCVtMU05TX0lEX1VTRVJdID0gInVzZXIiLAorCVtMU05TX0lEX0NHUk9VUF0gPSAiY2dyb3VwIgorfTsKKworc3RydWN0IGxzbnNfbmFtZXNwYWNlIHsKKwlpbm9fdCBpZDsKKwlpbnQgdHlwZTsJCQkvKiBMU05TXyogKi8KKwlpbnQgbnByb2NzOworCisJc3RydWN0IGxzbnNfcHJvY2VzcyAqcHJvYzsKKworCXN0cnVjdCBsaXN0X2hlYWQgbmFtZXNwYWNlczsJLyogbHNucy0+cHJvY2Vzc2VzIG1lbWJlciAqLworCXN0cnVjdCBsaXN0X2hlYWQgcHJvY2Vzc2VzOwkvKiBoZWFkIG9mIGxzbnNfcHJvY2VzcyAqc2libGluZ3MgKi8KK307CisKK3N0cnVjdCBsc25zX3Byb2Nlc3MgeworCXBpZF90IHBpZDsJCS8qIHByb2Nlc3MgUElEICovCisJcGlkX3QgcHBpZDsJCS8qIHBhcmVudCdzIFBJRCAqLworCXBpZF90IHRwaWQ7CQkvKiB0aHJlYWQgZ3JvdXAgKi8KKwljaGFyIHN0YXRlOworCXVpZF90IHVpZDsKKworCWlub190ICAgICAgICAgICAgbnNfaWRzW0FSUkFZX1NJWkUobnNfbmFtZXMpXTsKKwlzdHJ1Y3QgbGlzdF9oZWFkIG5zX3NpYmxpbmdzW0FSUkFZX1NJWkUobnNfbmFtZXMpXTsKKworCXN0cnVjdCBsaXN0X2hlYWQgcHJvY2Vzc2VzOwkvKiBsaXN0IG9mIHByb2Nlc3NlcyAqLworCisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKm91dGxpbmU7CisJc3RydWN0IGxzbnNfcHJvY2VzcyAqcGFyZW50OworfTsKKworc3RydWN0IGxzbnMgeworCXN0cnVjdCBsaXN0X2hlYWQgcHJvY2Vzc2VzOworCXN0cnVjdCBsaXN0X2hlYWQgbmFtZXNwYWNlczsKKworCXBpZF90CWZsdHJfcGlkOwkvKiBmaWx0ZXIgb3V0IGJ5IFBJRCAqLworCWlub190CWZsdHJfbnM7CS8qIGZpbHRlciBvdXQgYnkgbmFtZXNwYWNlICovCisJaW50CWZsdHJfdHlwZXNbQVJSQVlfU0laRShuc19uYW1lcyldOworCWludAlmbHRyX250eXBlczsKKworCXVuc2lnbmVkIGludCByYXcJOiAxLAorCQkgICAgIGpzb24JOiAxLAorCQkgICAgIHRyZWUJOiAxLAorCQkgICAgIGxpc3QJOiAxLAorCQkgICAgIG5vdHJ1bmMJOiAxLAorCQkgICAgIG5vX2hlYWRpbmdzOiAxOworfTsKKworc3RhdGljIHZvaWQgbHNuc19pbml0X2RlYnVnKHZvaWQpCit7CisJX19VTF9JTklUX0RFQlVHKGxzbnMsIExTTlNfREVCVUdfLCAwLCBMU05TX0RFQlVHKTsKK30KKworc3RhdGljIGludCBuc19uYW1lMnR5cGUoY29uc3QgY2hhciAqbmFtZSkKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKG5zX25hbWVzKTsgaSsrKSB7CisJCWlmIChzdHJjbXAobnNfbmFtZXNbaV0sIG5hbWUpID09IDApCisJCQlyZXR1cm4gaTsKKwl9CisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgaW50IGNvbHVtbl9uYW1lX3RvX2lkKGNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBuYW1lc3opCit7CisJc2l6ZV90IGk7CisKKwlhc3NlcnQobmFtZSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShpbmZvcyk7IGkrKykgeworCQljb25zdCBjaGFyICpjbiA9IGluZm9zW2ldLm5hbWU7CisKKwkJaWYgKCFzdHJuY2FzZWNtcChuYW1lLCBjbiwgbmFtZXN6KSAmJiAhKihjbiArIG5hbWVzeikpCisJCQlyZXR1cm4gaTsKKwl9CisJd2FybngoXygidW5rbm93biBjb2x1bW46ICVzIiksIG5hbWUpOworCXJldHVybiAtMTsKK30KKworc3RhdGljIGlubGluZSBpbnQgZ2V0X2NvbHVtbl9pZChpbnQgbnVtKQoreworCWFzc2VydChudW0gPj0gMCk7CisJYXNzZXJ0KChzaXplX3QpIG51bSA8IG5jb2x1bW5zKTsKKwlhc3NlcnQoY29sdW1uc1tudW1dIDwgKGludCkgQVJSQVlfU0laRShpbmZvcykpOworCisJcmV0dXJuIGNvbHVtbnNbbnVtXTsKK30KKworc3RhdGljIGlubGluZSBjb25zdCBzdHJ1Y3QgY29saW5mbyAqZ2V0X2NvbHVtbl9pbmZvKHVuc2lnbmVkIG51bSkKK3sKKwlyZXR1cm4gJmluZm9zWyBnZXRfY29sdW1uX2lkKG51bSkgXTsKK30KKworc3RhdGljIGludCBnZXRfbnNfaW5vKGludCBkaXIsIGNvbnN0IGNoYXIgKm5zbmFtZSwgaW5vX3QgKmlubykKK3sKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwljaGFyIHBhdGhbMTZdOworCisJc25wcmludGYocGF0aCwgc2l6ZW9mKHBhdGgpLCAibnMvJXMiLCBuc25hbWUpOworCisJaWYgKGZzdGF0YXQoZGlyLCBwYXRoLCAmc3QsIDApICE9IDApCisJCXJldHVybiAtZXJybm87CisJKmlubyA9IHN0LnN0X2lubzsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwYXJzZV9wcm9jX3N0YXQoRklMRSAqZnAsIHBpZF90ICpwaWQsIGNoYXIgKnN0YXRlLCBwaWRfdCAqcHBpZCkKK3sKKwljaGFyICpsaW5lID0gTlVMTCwgKnA7CisJc2l6ZV90IGxlbiA9IDA7CisJaW50IHJjOworCisJaWYgKGdldGxpbmUoJmxpbmUsICZsZW4sIGZwKSA8IDApIHsKKwkJcmMgPSAtZXJybm87CisJCWdvdG8gZXJyb3I7CisJfQorCisJcCA9IHN0cnJjaHIobGluZSwgJyknKTsKKwlpZiAocCA9PSBOVUxMIHx8CisJICAgIHNzY2FuZihsaW5lLCAiJWQgKCIsIHBpZCkgIT0gMSB8fAorCSAgICBzc2NhbmYocCwgIikgJWMgJWQqW15cbl0iLCBzdGF0ZSwgcHBpZCkgIT0gMikgeworCQlyYyA9IC1FSU5WQUw7CisJCWdvdG8gZXJyb3I7CisJfQorCXJjID0gMDsKKworZXJyb3I6CisJZnJlZShsaW5lKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgcmVhZF9wcm9jZXNzKHN0cnVjdCBsc25zICpscywgcGlkX3QgcGlkKQoreworCXN0cnVjdCBsc25zX3Byb2Nlc3MgKnAgPSBOVUxMOworCWNoYXIgYnVmW0JVRlNJWl07CisJRElSICpkaXI7CisJaW50IHJjID0gMCwgZmQ7CisJRklMRSAqZiA9IE5VTEw7CisJc2l6ZV90IGk7CisJc3RydWN0IHN0YXQgc3Q7CisKKwlEQkcoUFJPQywgdWxfZGVidWcoInJlYWRpbmcgJWQiLCAoaW50KSBwaWQpKTsKKworCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIvcHJvYy8lZCIsIHBpZCk7CisJZGlyID0gb3BlbmRpcihidWYpOworCWlmICghZGlyKQorCQlyZXR1cm4gLWVycm5vOworCisJcCA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpwKSk7CisJaWYgKCFwKSB7CisJCXJjID0gLUVOT01FTTsKKwkJZ290byBkb25lOworCX0KKworCWlmIChmc3RhdChkaXJmZChkaXIpLCAmc3QpID09IDApIHsKKwkJcC0+dWlkID0gc3Quc3RfdWlkOworCQlhZGRfdWlkKHVpZF9jYWNoZSwgc3Quc3RfdWlkKTsKKwl9CisKKwlmZCA9IG9wZW5hdChkaXJmZChkaXIpLCAic3RhdCIsIE9fUkRPTkxZKTsKKwlpZiAoZmQgPCAwKSB7CisJCXJjID0gLWVycm5vOworCQlnb3RvIGRvbmU7CisJfQorCWlmICghKGYgPSBmZG9wZW4oZmQsICJyIikpKSB7CisJCXJjID0gLWVycm5vOworCQlnb3RvIGRvbmU7CisJfQorCXJjID0gcGFyc2VfcHJvY19zdGF0KGYsICZwLT5waWQsICZwLT5zdGF0ZSwgJnAtPnBwaWQpOworCWlmIChyYyA8IDApCisJCWdvdG8gZG9uZTsKKwlyYyA9IDA7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShwLT5uc19pZHMpOyBpKyspIHsKKwkJSU5JVF9MSVNUX0hFQUQoJnAtPm5zX3NpYmxpbmdzW2ldKTsKKworCQlpZiAoIWxzLT5mbHRyX3R5cGVzW2ldKQorCQkJY29udGludWU7CisKKwkJcmMgPSBnZXRfbnNfaW5vKGRpcmZkKGRpciksIG5zX25hbWVzW2ldLCAmcC0+bnNfaWRzW2ldKTsKKwkJaWYgKHJjICYmIHJjICE9IC1FQUNDRVMgJiYgcmMgIT0gLUVOT0VOVCkKKwkJCWdvdG8gZG9uZTsKKwkJcmMgPSAwOworCX0KKworCUlOSVRfTElTVF9IRUFEKCZwLT5wcm9jZXNzZXMpOworCisJREJHKFBST0MsIHVsX2RlYnVnb2JqKHAsICJuZXcgcGlkPSVkIiwgcC0+cGlkKSk7CisJbGlzdF9hZGRfdGFpbCgmcC0+cHJvY2Vzc2VzLCAmbHMtPnByb2Nlc3Nlcyk7Citkb25lOgorCWlmIChmKQorCQlmY2xvc2UoZik7CisJY2xvc2VkaXIoZGlyKTsKKwlpZiAocmMpCisJCWZyZWUocCk7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHJlYWRfcHJvY2Vzc2VzKHN0cnVjdCBsc25zICpscykKK3sKKwlzdHJ1Y3QgcHJvY19wcm9jZXNzZXMgKnByb2MgPSBOVUxMOworCXBpZF90IHBpZDsKKwlpbnQgcmMgPSAwOworCisJREJHKFBST0MsIHVsX2RlYnVnKCJvcGVuaW5nIC9wcm9jIikpOworCisJaWYgKCEocHJvYyA9IHByb2Nfb3Blbl9wcm9jZXNzZXMoKSkpIHsKKwkJcmMgPSAtZXJybm87CisJCWdvdG8gZG9uZTsKKwl9CisKKwl3aGlsZSAocHJvY19uZXh0X3BpZChwcm9jLCAmcGlkKSA9PSAwKSB7CisJCXJjID0gcmVhZF9wcm9jZXNzKGxzLCBwaWQpOworCQlpZiAocmMgJiYgcmMgIT0gLUVBQ0NFUyAmJiByYyAhPSAtRU5PRU5UKQorCQkJYnJlYWs7CisJCXJjID0gMDsKKwl9Citkb25lOgorCURCRyhQUk9DLCB1bF9kZWJ1ZygiY2xvc2luZyAvcHJvYyIpKTsKKwlwcm9jX2Nsb3NlX3Byb2Nlc3Nlcyhwcm9jKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgbHNuc19uYW1lc3BhY2UgKmdldF9uYW1lc3BhY2Uoc3RydWN0IGxzbnMgKmxzLCBpbm9fdCBpbm8pCit7CisJc3RydWN0IGxpc3RfaGVhZCAqcDsKKworCWxpc3RfZm9yX2VhY2gocCwgJmxzLT5uYW1lc3BhY2VzKSB7CisJCXN0cnVjdCBsc25zX25hbWVzcGFjZSAqbnMgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBsc25zX25hbWVzcGFjZSwgbmFtZXNwYWNlcyk7CisKKwkJaWYgKG5zLT5pZCA9PSBpbm8pCisJCQlyZXR1cm4gbnM7CisJfQorCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgaW50IG5hbWVzcGFjZV9oYXNfcHJvY2VzcyhzdHJ1Y3QgbHNuc19uYW1lc3BhY2UgKm5zLCBwaWRfdCBwaWQpCit7CisJc3RydWN0IGxpc3RfaGVhZCAqcDsKKworCWxpc3RfZm9yX2VhY2gocCwgJm5zLT5wcm9jZXNzZXMpIHsKKwkJc3RydWN0IGxzbnNfcHJvY2VzcyAqcHJvYyA9IGxpc3RfZW50cnkocCwgc3RydWN0IGxzbnNfcHJvY2VzcywgbnNfc2libGluZ3NbbnMtPnR5cGVdKTsKKworCQlpZiAocHJvYy0+cGlkID09IHBpZCkKKwkJCXJldHVybiAxOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBsc25zX25hbWVzcGFjZSAqYWRkX25hbWVzcGFjZShzdHJ1Y3QgbHNucyAqbHMsIGludCB0eXBlLCBpbm9fdCBpbm8pCit7CisJc3RydWN0IGxzbnNfbmFtZXNwYWNlICpucyA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpucykpOworCisJaWYgKCFucykKKwkJcmV0dXJuIE5VTEw7CisKKwlEQkcoTlMsIHVsX2RlYnVnb2JqKG5zLCAibmV3ICVzWyVqdV0iLCBuc19uYW1lc1t0eXBlXSwgKHVpbnRtYXhfdClpbm8pKTsKKworCUlOSVRfTElTVF9IRUFEKCZucy0+cHJvY2Vzc2VzKTsKKwlJTklUX0xJU1RfSEVBRCgmbnMtPm5hbWVzcGFjZXMpOworCisJbnMtPnR5cGUgPSB0eXBlOworCW5zLT5pZCA9IGlubzsKKworCWxpc3RfYWRkX3RhaWwoJm5zLT5uYW1lc3BhY2VzLCAmbHMtPm5hbWVzcGFjZXMpOworCXJldHVybiBuczsKK30KKworc3RhdGljIGludCBhZGRfcHJvY2Vzc190b19uYW1lc3BhY2Uoc3RydWN0IGxzbnMgKmxzLCBzdHJ1Y3QgbHNuc19uYW1lc3BhY2UgKm5zLCBzdHJ1Y3QgbHNuc19wcm9jZXNzICpwcm9jKQoreworCXN0cnVjdCBsaXN0X2hlYWQgKnA7CisKKwlEQkcoTlMsIHVsX2RlYnVnb2JqKG5zLCAiYWRkIHByb2Nlc3MgWyVwXSBwaWQ9JWQgdG8gJXNbJWp1XSIsCisJCXByb2MsIHByb2MtPnBpZCwgbnNfbmFtZXNbbnMtPnR5cGVdLCAodWludG1heF90KW5zLT5pZCkpOworCisJbGlzdF9mb3JfZWFjaChwLCAmbHMtPnByb2Nlc3NlcykgeworCQlzdHJ1Y3QgbHNuc19wcm9jZXNzICp4cHJvYyA9IGxpc3RfZW50cnkocCwgc3RydWN0IGxzbnNfcHJvY2VzcywgcHJvY2Vzc2VzKTsKKworCQlpZiAoeHByb2MtPnBpZCA9PSBwcm9jLT5wcGlkKQkJLyogbXkgcGFyZW50ICovCisJCQlwcm9jLT5wYXJlbnQgPSB4cHJvYzsKKwkJZWxzZSBpZiAoeHByb2MtPnBwaWQgPT0gcHJvYy0+cGlkKQkvKiBteSBjaGlsZCAqLworCQkJeHByb2MtPnBhcmVudCA9IHByb2M7CisJfQorCisJbGlzdF9hZGRfdGFpbCgmcHJvYy0+bnNfc2libGluZ3NbbnMtPnR5cGVdLCAmbnMtPnByb2Nlc3Nlcyk7CisJbnMtPm5wcm9jcysrOworCisJaWYgKCFucy0+cHJvYyB8fCBucy0+cHJvYy0+cGlkID4gcHJvYy0+cGlkKQorCQlucy0+cHJvYyA9IHByb2M7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjbXBfbmFtZXNwYWNlcyhzdHJ1Y3QgbGlzdF9oZWFkICphLCBzdHJ1Y3QgbGlzdF9oZWFkICpiLAorCQkJICBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgdm9pZCAqZGF0YSkKK3sKKwlzdHJ1Y3QgbHNuc19uYW1lc3BhY2UgKnhhID0gbGlzdF9lbnRyeShhLCBzdHJ1Y3QgbHNuc19uYW1lc3BhY2UsIG5hbWVzcGFjZXMpLAorCQkJICAgICAgKnhiID0gbGlzdF9lbnRyeShiLCBzdHJ1Y3QgbHNuc19uYW1lc3BhY2UsIG5hbWVzcGFjZXMpOworCisJcmV0dXJuIGNtcF9udW1iZXJzKHhhLT5pZCwgeGItPmlkKTsKK30KKworc3RhdGljIGludCByZWFkX25hbWVzcGFjZXMoc3RydWN0IGxzbnMgKmxzKQoreworCXN0cnVjdCBsaXN0X2hlYWQgKnA7CisKKwlEQkcoTlMsIHVsX2RlYnVnKCJyZWFkaW5nIG5hbWVzcGFjZSIpKTsKKworCWxpc3RfZm9yX2VhY2gocCwgJmxzLT5wcm9jZXNzZXMpIHsKKwkJc2l6ZV90IGk7CisJCXN0cnVjdCBsc25zX25hbWVzcGFjZSAqbnM7CisJCXN0cnVjdCBsc25zX3Byb2Nlc3MgKnByb2MgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBsc25zX3Byb2Nlc3MsIHByb2Nlc3Nlcyk7CisKKwkJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocHJvYy0+bnNfaWRzKTsgaSsrKSB7CisJCQlpZiAocHJvYy0+bnNfaWRzW2ldID09IDApCisJCQkJY29udGludWU7CisJCQlpZiAoIShucyA9IGdldF9uYW1lc3BhY2UobHMsIHByb2MtPm5zX2lkc1tpXSkpKSB7CisJCQkJbnMgPSBhZGRfbmFtZXNwYWNlKGxzLCBpLCBwcm9jLT5uc19pZHNbaV0pOworCQkJCWlmICghbnMpCisJCQkJCXJldHVybiAtRU5PTUVNOworCQkJfQorCQkJYWRkX3Byb2Nlc3NfdG9fbmFtZXNwYWNlKGxzLCBucywgcHJvYyk7CisJCX0KKwl9CisKKwlsaXN0X3NvcnQoJmxzLT5uYW1lc3BhY2VzLCBjbXBfbmFtZXNwYWNlcywgTlVMTCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgYWRkX3Njb2xzX2xpbmUoc3RydWN0IGxzbnMgKmxzLCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRhYmxlLAorCQkJICAgc3RydWN0IGxzbnNfbmFtZXNwYWNlICpucywgc3RydWN0IGxzbnNfcHJvY2VzcyAqcHJvYykKK3sKKwlzaXplX3QgaTsKKwlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbGluZTsKKworCWFzc2VydChucyk7CisJYXNzZXJ0KHRhYmxlKTsKKworCWxpbmUgPSBzY29sc190YWJsZV9uZXdfbGluZSh0YWJsZSwKKwkJCWxzLT50cmVlICYmIHByb2MtPnBhcmVudCA/IHByb2MtPnBhcmVudC0+b3V0bGluZSA6IE5VTEwpOworCWlmICghbGluZSkgeworCQl3YXJuKF8oImZhaWxlZCB0byBhZGQgbGluZSB0byBvdXRwdXQiKSk7CisJCXJldHVybjsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgbmNvbHVtbnM7IGkrKykgeworCQljaGFyICpzdHIgPSBOVUxMOworCisJCXN3aXRjaCAoZ2V0X2NvbHVtbl9pZChpKSkgeworCQljYXNlIENPTF9OUzoKKwkJCXhhc3ByaW50Zigmc3RyLCAiJWp1IiwgKHVpbnRtYXhfdClucy0+aWQpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1BJRDoKKwkJCXhhc3ByaW50Zigmc3RyLCAiJWQiLCAoaW50KSBwcm9jLT5waWQpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1BQSUQ6CisJCQl4YXNwcmludGYoJnN0ciwgIiVkIiwgKGludCkgcHJvYy0+cHBpZCk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfVFlQRToKKwkJCXhhc3ByaW50Zigmc3RyLCAiJXMiLCBuc19uYW1lc1tucy0+dHlwZV0pOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX05QUk9DUzoKKwkJCXhhc3ByaW50Zigmc3RyLCAiJWQiLCBucy0+bnByb2NzKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9DT01NQU5EOgorCQkJc3RyID0gcHJvY19nZXRfY29tbWFuZChwcm9jLT5waWQpOworCQkJaWYgKCFzdHIpCisJCQkJc3RyID0gcHJvY19nZXRfY29tbWFuZF9uYW1lKHByb2MtPnBpZCk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfUEFUSDoKKwkJCXhhc3ByaW50Zigmc3RyLCAiL3Byb2MvJWQvbnMvJXMiLCAoaW50KSBwcm9jLT5waWQsIG5zX25hbWVzW25zLT50eXBlXSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfVUlEOgorCQkJeGFzcHJpbnRmKCZzdHIsICIlZCIsIChpbnQpIHByb2MtPnVpZCk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfVVNFUjoKKwkJCXhhc3ByaW50Zigmc3RyLCAiJXMiLCBnZXRfaWQodWlkX2NhY2hlLCBwcm9jLT51aWQpLT5uYW1lKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJYnJlYWs7CisJCX0KKworCQlpZiAoc3RyICYmIHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsaW5lLCBpLCBzdHIpICE9IDApCisJCQllcnJfb29tKCk7CisJfQorCisJcHJvYy0+b3V0bGluZSA9IGxpbmU7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKmluaXRfc2NvbHNfdGFibGUoc3RydWN0IGxzbnMgKmxzKQoreworCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGFiOworCXNpemVfdCBpOworCisJdGFiID0gc2NvbHNfbmV3X3RhYmxlKCk7CisJaWYgKCF0YWIpIHsKKwkJd2FybihfKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgdGFibGUiKSk7CisJCXJldHVybiBOVUxMOworCX0KKworCXNjb2xzX3RhYmxlX2VuYWJsZV9yYXcodGFiLCBscy0+cmF3KTsKKwlzY29sc190YWJsZV9lbmFibGVfanNvbih0YWIsIGxzLT5qc29uKTsKKwlzY29sc190YWJsZV9lbmFibGVfbm9oZWFkaW5ncyh0YWIsIGxzLT5ub19oZWFkaW5ncyk7CisKKwlpZiAobHMtPmpzb24pCisJCXNjb2xzX3RhYmxlX3NldF9uYW1lKHRhYiwgIm5hbWVzcGFjZXMiKTsKKworCWZvciAoaSA9IDA7IGkgPCBuY29sdW1uczsgaSsrKSB7CisJCWNvbnN0IHN0cnVjdCBjb2xpbmZvICpjb2wgPSBnZXRfY29sdW1uX2luZm8oaSk7CisJCWludCBmbGFncyA9IGNvbC0+ZmxhZ3M7CisKKwkJaWYgKGxzLT5ub3RydW5jKQorCQkgICAgICAgZmxhZ3MgJj0gflNDT0xTX0ZMX1RSVU5DOworCQlpZiAobHMtPnRyZWUgJiYgZ2V0X2NvbHVtbl9pZChpKSA9PSBDT0xfQ09NTUFORCkKKwkJCWZsYWdzIHw9IFNDT0xTX0ZMX1RSRUU7CisKKwkJaWYgKCFzY29sc190YWJsZV9uZXdfY29sdW1uKHRhYiwgY29sLT5uYW1lLCBjb2wtPndoaW50LCBmbGFncykpIHsKKwkJCXdhcm54KF8oImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iKSk7CisJCQlnb3RvIGVycjsKKwkJfQorCX0KKworCXJldHVybiB0YWI7CitlcnI6CisJc2NvbHNfdW5yZWZfdGFibGUodGFiKTsKKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIGludCBzaG93X25hbWVzcGFjZXMoc3RydWN0IGxzbnMgKmxzKQoreworCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGFiOworCXN0cnVjdCBsaXN0X2hlYWQgKnA7CisJaW50IHJjID0gMDsKKworCXRhYiA9IGluaXRfc2NvbHNfdGFibGUobHMpOworCWlmICghdGFiKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWxpc3RfZm9yX2VhY2gocCwgJmxzLT5uYW1lc3BhY2VzKSB7CisJCXN0cnVjdCBsc25zX25hbWVzcGFjZSAqbnMgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBsc25zX25hbWVzcGFjZSwgbmFtZXNwYWNlcyk7CisKKwkJaWYgKGxzLT5mbHRyX3BpZCAhPSAwICYmICFuYW1lc3BhY2VfaGFzX3Byb2Nlc3MobnMsIGxzLT5mbHRyX3BpZCkpCisJCQljb250aW51ZTsKKworCQlhZGRfc2NvbHNfbGluZShscywgdGFiLCBucywgbnMtPnByb2MpOworCX0KKworCXNjb2xzX3ByaW50X3RhYmxlKHRhYik7CisJc2NvbHNfdW5yZWZfdGFibGUodGFiKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyB2b2lkIHNob3dfcHJvY2VzcyhzdHJ1Y3QgbHNucyAqbHMsIHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGFiLAorCQkJIHN0cnVjdCBsc25zX3Byb2Nlc3MgKnByb2MsIHN0cnVjdCBsc25zX25hbWVzcGFjZSAqbnMpCit7CisJLyoKKwkgKiBjcmVhdGUgYSB0cmVlIGZyb20gcGFyZW50LT5jaGlsZCByZWxhdGlvbiwgYnV0IG9ubHkgaWYgdGhlIHBhcmVudCBpcworCSAqIHdpdGhpbiB0aGUgc2FtZSBuYW1lc3BhY2UKKwkgKi8KKwlpZiAobHMtPnRyZWUKKwkgICAgJiYgcHJvYy0+cGFyZW50CisJICAgICYmICFwcm9jLT5wYXJlbnQtPm91dGxpbmUKKwkgICAgJiYgcHJvYy0+cGFyZW50LT5uc19pZHNbbnMtPnR5cGVdID09IHByb2MtPm5zX2lkc1tucy0+dHlwZV0pCisJCXNob3dfcHJvY2VzcyhscywgdGFiLCBwcm9jLT5wYXJlbnQsIG5zKTsKKworCWFkZF9zY29sc19saW5lKGxzLCB0YWIsIG5zLCBwcm9jKTsKK30KKworCitzdGF0aWMgaW50IHNob3dfbmFtZXNwYWNlX3Byb2Nlc3NlcyhzdHJ1Y3QgbHNucyAqbHMsIHN0cnVjdCBsc25zX25hbWVzcGFjZSAqbnMpCit7CisJc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YWI7CisJc3RydWN0IGxpc3RfaGVhZCAqcDsKKworCXRhYiA9IGluaXRfc2NvbHNfdGFibGUobHMpOworCWlmICghdGFiKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWxpc3RfZm9yX2VhY2gocCwgJm5zLT5wcm9jZXNzZXMpIHsKKwkJc3RydWN0IGxzbnNfcHJvY2VzcyAqcHJvYyA9IGxpc3RfZW50cnkocCwgc3RydWN0IGxzbnNfcHJvY2VzcywgbnNfc2libGluZ3NbbnMtPnR5cGVdKTsKKworCQlpZiAoIXByb2MtPm91dGxpbmUpCisJCQlzaG93X3Byb2Nlc3MobHMsIHRhYiwgcHJvYywgbnMpOworCX0KKworCisJc2NvbHNfcHJpbnRfdGFibGUodGFiKTsKKwlzY29sc191bnJlZl90YWJsZSh0YWIpOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqIG91dCkKK3sKKwlzaXplX3QgaTsKKworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKworCWZwcmludGYob3V0LAorCQlfKCIgJXMgW29wdGlvbnNdIFs8bmFtZXNwYWNlPl1cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiTGlzdCBzeXN0ZW0gbmFtZXNwYWNlcy5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1wLCAtLXRhc2sgPHBpZD4gICAgICAgcHJpbnQgcHJvY2VzcyBuYW1lc3BhY2VzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdCwgLS10eXBlIDxuYW1lPiAgICAgIG5hbWVzcGFjZSB0eXBlIChtbnQsIG5ldCwgaXBjLCB1c2VyLCBwaWQsIHV0cywgY2dyb3VwKVxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoVVNBR0VfSEVMUCwgb3V0KTsKKwlmcHV0cyhVU0FHRV9WRVJTSU9OLCBvdXQpOworCisJZnB1dHMoXygiXG5BdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tb3V0cHV0KTpcbiIpLCBvdXQpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoaW5mb3MpOyBpKyspCisJCWZwcmludGYob3V0LCAiICUxMXMgICVzXG4iLCBpbmZvc1tpXS5uYW1lLCBfKGluZm9zW2ldLmhlbHApKTsKKworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgibHNucyg4KSIpKTsKKworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgbHNucyBsczsKKwlpbnQgYzsKKwlpbnQgciA9IDA7CisJY2hhciAqb3V0YXJnID0gTlVMTDsKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nX29wdHNbXSA9IHsKKwkJeyAianNvbiIsICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnSicgfSwKKwkJeyAidGFzayIsICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAncCcgfSwKKwkJeyAiaGVscCIsCW5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnaCcgfSwKKwkJeyAib3V0cHV0IiwgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbycgfSwKKwkJeyAibm90cnVuY2F0ZSIsIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAndScgfSwKKwkJeyAidmVyc2lvbiIsICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnVicgfSwKKwkJeyAibm9oZWFkaW5ncyIsIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnbicgfSwKKwkJeyAibGlzdCIsICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnbCcgfSwKKwkJeyAicmF3IiwgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAncicgfSwKKwkJeyAidHlwZSIsICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAndCcgfSwKKwkJeyBOVUxMLCAwLCBOVUxMLCAwIH0KKwl9OworCisJc3RhdGljIGNvbnN0IHVsX2V4Y2xfdCBleGNsW10gPSB7CS8qIHJvd3MgYW5kIGNvbHMgaW4gQVNDSUkgb3JkZXIgKi8KKwkJeyAnSicsJ3InIH0sCisJCXsgMCB9CisJfTsKKwlpbnQgZXhjbF9zdFtBUlJBWV9TSVpFKGV4Y2wpXSA9IFVMX0VYQ0xfU1RBVFVTX0lOSVQ7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJbHNuc19pbml0X2RlYnVnKCk7CisJbWVtc2V0KCZscywgMCwgc2l6ZW9mKGxzKSk7CisKKwlJTklUX0xJU1RfSEVBRCgmbHMucHJvY2Vzc2VzKTsKKwlJTklUX0xJU1RfSEVBRCgmbHMubmFtZXNwYWNlcyk7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LAorCQkJCSJKbHA6bzpucnVoVnQ6IiwgbG9uZ19vcHRzLCBOVUxMKSkgIT0gLTEpIHsKKworCQllcnJfZXhjbHVzaXZlX29wdGlvbnMoYywgbG9uZ19vcHRzLCBleGNsLCBleGNsX3N0KTsKKworCQlzd2l0Y2goYykgeworCQljYXNlICdKJzoKKwkJCWxzLmpzb24gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2wnOgorCQkJbHMubGlzdCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnbyc6CisJCQlvdXRhcmcgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ3AnOgorCQkJbHMuZmx0cl9waWQgPSBzdHJ0b3MzMl9vcl9lcnIob3B0YXJnLCBfKCJpbnZhbGlkIFBJRCBhcmd1bWVudCIpKTsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCWNhc2UgJ24nOgorCQkJbHMubm9faGVhZGluZ3MgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJbHMucmF3ID0gMTsKKwkJCWJyZWFrOworCQljYXNlICd1JzoKKwkJCWxzLm5vdHJ1bmMgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3QnOgorCQl7CisJCQlpbnQgdHlwZSA9IG5zX25hbWUydHlwZShvcHRhcmcpOworCQkJaWYgKHR5cGUgPCAwKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1bmtub3duIG5hbWVzcGFjZSB0eXBlOiAlcyIpLCBvcHRhcmcpOworCQkJbHMuZmx0cl90eXBlc1t0eXBlXSA9IDE7CisJCQlscy5mbHRyX250eXBlcysrOworCQkJYnJlYWs7CisJCX0KKwkJY2FzZSAnPyc6CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQl9CisJfQorCisJaWYgKCFscy5mbHRyX250eXBlcykgeworCQlzaXplX3QgaTsKKwkJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUobnNfbmFtZXMpOyBpKyspCisJCQlscy5mbHRyX3R5cGVzW2ldID0gMTsKKwl9CisKKwlpZiAob3B0aW5kIDwgYXJnYykgeworCQlpZiAobHMuZmx0cl9waWQpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiLS10YXNrIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxuYW1lc3BhY2U+IikpOworCQlscy5mbHRyX25zID0gc3RydG91NjRfb3JfZXJyKGFyZ3Zbb3B0aW5kXSwgXygiaW52YWxpZCBuYW1lc3BhY2UgYXJndW1lbnQiKSk7CisJCWxzLnRyZWUgPSBscy5saXN0ID8gMCA6IDE7CisKKwkJaWYgKCFuY29sdW1ucykgeworCQkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9QSUQ7CisJCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX1BQSUQ7CisJCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX1VTRVI7CisJCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX0NPTU1BTkQ7CisJCX0KKwl9CisKKwlpZiAoIW5jb2x1bW5zKSB7CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfTlM7CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfVFlQRTsKKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9OUFJPQ1M7CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfUElEOworCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX1VTRVI7CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfQ09NTUFORDsKKwl9CisKKwlpZiAob3V0YXJnICYmIHN0cmluZ19hZGRfdG9faWRhcnJheShvdXRhcmcsIGNvbHVtbnMsIEFSUkFZX1NJWkUoY29sdW1ucyksCisJCQkJCSAmbmNvbHVtbnMsIGNvbHVtbl9uYW1lX3RvX2lkKSA8IDApCisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisKKwlzY29sc19pbml0X2RlYnVnKDApOworCisJdWlkX2NhY2hlID0gbmV3X2lkY2FjaGUoKTsKKwlpZiAoIXVpZF9jYWNoZSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFsbG9jYXRlIFVJRCBjYWNoZSIpKTsKKworCXIgPSByZWFkX3Byb2Nlc3NlcygmbHMpOworCWlmICghcikKKwkJciA9IHJlYWRfbmFtZXNwYWNlcygmbHMpOworCWlmICghcikgeworCQlpZiAobHMuZmx0cl9ucykgeworCQkJc3RydWN0IGxzbnNfbmFtZXNwYWNlICpucyA9IGdldF9uYW1lc3BhY2UoJmxzLCBscy5mbHRyX25zKTsKKworCQkJaWYgKCFucykKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibm90IGZvdW5kIG5hbWVzcGFjZTogJWp1IiksICh1aW50bWF4X3QpIGxzLmZsdHJfbnMpOworCQkJciA9IHNob3dfbmFtZXNwYWNlX3Byb2Nlc3NlcygmbHMsIG5zKTsKKwkJfSBlbHNlCisJCQlyID0gc2hvd19uYW1lc3BhY2VzKCZscyk7CisJfQorCisJZnJlZV9pZGNhY2hlKHVpZF9jYWNoZSk7CisJcmV0dXJuIHIgPT0gMCA/IEVYSVRfU1VDQ0VTUyA6IEVYSVRfRkFJTFVSRTsKK30KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9tb3VudC44IGIvc3lzLXV0aWxzL21vdW50LjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWZjNDAyNwotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9tb3VudC44CkBAIC0wLDAgKzEsMzEzNCBAQAorLlwiIENvcHlyaWdodCAoYykgMTk5Ni0yMDA0IEFuZHJpZXMgQnJvdXdlcgorLlwiIENvcHlyaWdodCAoQykgMjAwNi0yMDEyIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorLlwiCisuXCIgVGhpcyBwYWdlIGlzIHNvbWV3aGF0IGRlcml2ZWQgZnJvbSBhIHBhZ2UgdGhhdCB3YXMKKy5cIiAoYykgMTk4MCwgMTk4OSwgMTk5MSBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCisuXCIgYW5kIGhhZCBiZWVuIGhlYXZpbHkgbW9kaWZpZWQgYnkgUmlrIEZhaXRoIGFuZCBteXNlbGYuCisuXCIgKFByb2JhYmx5IG5vIEJTRCB0ZXh0IHJlbWFpbnMuKQorLlwiIEZyYWdtZW50cyBvZiB0ZXh0IHdlcmUgd3JpdHRlbiBieSBXZXJuZXIgQWxtZXNiZXJnZXIsIFJlbXkgQ2FyZCwKKy5cIiBTdGVwaGVuIFR3ZWVkaWUgYW5kIEVyaWMgWW91bmdkYWxlLgorLlwiCisuXCIgVGhpcyBpcyBmcmVlIGRvY3VtZW50YXRpb247IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorLlwiIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisuXCIgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKKy5cIiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKy5cIgorLlwiIFRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSdzIHJlZmVyZW5jZXMgdG8gIm9iamVjdCBjb2RlIgorLlwiIGFuZCAiZXhlY3V0YWJsZXMiIGFyZSB0byBiZSBpbnRlcnByZXRlZCBhcyB0aGUgb3V0cHV0IG9mIGFueQorLlwiIGRvY3VtZW50IGZvcm1hdHRpbmcgb3IgdHlwZXNldHRpbmcgc3lzdGVtLCBpbmNsdWRpbmcKKy5cIiBpbnRlcm1lZGlhdGUgYW5kIHByaW50ZWQgb3V0cHV0LgorLlwiCisuXCIgVGhpcyBtYW51YWwgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy5cIiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorLlwiIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKy5cIiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorLlwiCisuXCIgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKy5cIiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorLlwiIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisuXCIKKy5USCBNT1VOVCA4ICJBdWd1c3QgMjAxNSIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQorbW91bnQgXC0gbW91bnQgYSBmaWxlc3lzdGVtCisuU0ggU1lOT1BTSVMKKy5CIG1vdW50CisuUkIgWyBcLWwgfCBcLWggfCBcLVYgXQorLkxQCisuQiBtb3VudCBcLWEKKy5SQiBbIFwtZkZucnN2dyBdCisuUkIgWyBcLXQKKy5JUiBmc3R5cGUgXQorLlJCIFsgXC1PCisuSVIgb3B0bGlzdCBdCisuTFAKKy5CIG1vdW50CisuUkIgWyBcLWZucnN2dyBdCisuUkIgWyBcLW8KKy5JUiBvcHRpb25zIF0KKy5JUiBkZXZpY2UgfCBkaXIKKy5MUAorLkIgbW91bnQKKy5SQiBbIFwtZm5yc3Z3IF0KKy5SQiBbIFwtdAorLklCIGZzdHlwZSBdCisuUkIgWyBcLW8KKy5JUiBvcHRpb25zIF0KKy5JIGRldmljZSBkaXIKKy5TSCBERVNDUklQVElPTgorQWxsIGZpbGVzIGFjY2Vzc2libGUgaW4gYSBVbml4IHN5c3RlbSBhcmUgYXJyYW5nZWQgaW4gb25lIGJpZwordHJlZSwgdGhlIGZpbGUgaGllcmFyY2h5LCByb290ZWQgYXQKKy5JUiAvIC4KK1RoZXNlIGZpbGVzIGNhbiBiZSBzcHJlYWQgb3V0IG92ZXIgc2V2ZXJhbCBkZXZpY2VzLiAgVGhlCisuQiBtb3VudAorY29tbWFuZCBzZXJ2ZXMgdG8gYXR0YWNoIHRoZSBmaWxlc3lzdGVtIGZvdW5kIG9uIHNvbWUgZGV2aWNlCit0byB0aGUgYmlnIGZpbGUgdHJlZS4gIENvbnZlcnNlbHksIHRoZQorLkJSIHVtb3VudCAoOCkKK2NvbW1hbmQgd2lsbCBkZXRhY2ggaXQgYWdhaW4uCisKK1RoZSBzdGFuZGFyZCBmb3JtIG9mIHRoZQorLkIgbW91bnQKK2NvbW1hbmQgaXM6CisuUlMKKworLmJyCisuQkkgIm1vdW50IFwtdCIgIiB0eXBlIGRldmljZSBkaXIiCisuYnIKKworLlJFCitUaGlzIHRlbGxzIHRoZSBrZXJuZWwgdG8gYXR0YWNoIHRoZSBmaWxlc3lzdGVtIGZvdW5kIG9uCisuSSBkZXZpY2UKKyh3aGljaCBpcyBvZiB0eXBlCisuSVIgdHlwZSApCithdCB0aGUgZGlyZWN0b3J5CisuSVIgZGlyIC4KK1RoZSBwcmV2aW91cyBjb250ZW50cyAoaWYgYW55KSBhbmQgb3duZXIgYW5kIG1vZGUgb2YKKy5JIGRpcgorYmVjb21lIGludmlzaWJsZSwgYW5kIGFzIGxvbmcgYXMgdGhpcyBmaWxlc3lzdGVtIHJlbWFpbnMgbW91bnRlZCwKK3RoZSBwYXRobmFtZQorLkkgZGlyCityZWZlcnMgdG8gdGhlIHJvb3Qgb2YgdGhlIGZpbGVzeXN0ZW0gb24KKy5JUiBkZXZpY2UgLgorCitJZiBvbmx5IHRoZSBkaXJlY3Rvcnkgb3IgdGhlIGRldmljZSBpcyBnaXZlbiwgZm9yIGV4YW1wbGU6CisuUlMKKy5zcAorLkJJICJtb3VudCAvZGlyIgorLnNwCisuUkUKK3RoZW4gXGZCbW91bnRcZlIgbG9va3MgZm9yIGEgbW91bnRwb2ludCAoYW5kIGlmIG5vdCBmb3VuZCB0aGVuIGZvciBhIGRldmljZSkgaW4gdGhlCisuSVIgL2V0Yy9mc3RhYgorZmlsZS4gIEl0J3MgcG9zc2libGUgdG8gdXNlIHRoZQorLkIgXC1cLXRhcmdldAorb3IKKy5CIFwtXC1zb3VyY2UKK29wdGlvbnMgdG8gYXZvaWQgYW1iaXZhbGVudCBpbnRlcnByZXRhdGlvbiBvZiB0aGUgZ2l2ZW4gYXJndW1lbnQuICBGb3IgZXhhbXBsZToKKy5SUworLnNwCisuQkkgIm1vdW50IFwtXC10YXJnZXQgL21vdW50cG9pbnQiCisuc3AKKy5SRQorCisuU1MgTGlzdGluZyB0aGUgbW91bnRzCitUaGUgbGlzdGluZyBtb2RlIGlzIG1haW50YWluZWQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seS4KKworRm9yIG1vcmUgcm9idXN0IGFuZCBjdXN0b21pemFibGUgb3V0cHV0IHVzZQorLkJSIGZpbmRtbnQgKDgpLAorXGZCZXNwZWNpYWxseSBpbiB5b3VyIHNjcmlwdHNcZlAuICBOb3RlIHRoYXQgY29udHJvbCBjaGFyYWN0ZXJzIGluIHRoZQorbW91bnRwb2ludCBuYW1lIGFyZSByZXBsYWNlZCB3aXRoICc/Jy4KKworVGhlIGZvbGxvd2luZyBjb21tYW5kIGxpc3RzIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIChvZiB0eXBlCisuSVIgdHlwZSApOgorLlJTCisuc3AKKy5CUiAibW91bnQgIiBbIFwtbCAiXSBbIiAiXC10IFxmSXR5cGVcL1xmUCIgXQorLnNwCisuUkUKK1RoZSBvcHRpb24gXGZCXC1sXGZSIGFkZHMgbGFiZWxzIHRvIHRoaXMgbGlzdGluZy4gIFNlZSBiZWxvdy4KKworLlNTIEluZGljYXRpbmcgdGhlIGRldmljZQorTW9zdCBkZXZpY2VzIGFyZSBpbmRpY2F0ZWQgYnkgYSBmaWxlbmFtZSAob2YgYSBibG9jayBzcGVjaWFsIGRldmljZSksIGxpa2UKKy5JUiAvZGV2L3NkYTEgLAorYnV0IHRoZXJlIGFyZSBvdGhlciBwb3NzaWJpbGl0aWVzLiAgRm9yIGV4YW1wbGUsIGluIHRoZSBjYXNlIG9mIGFuIE5GUyBtb3VudCwKKy5JIGRldmljZQorbWF5IGxvb2sgbGlrZQorLklSIGtudXRoLmN3aS5ubDovZGlyIC4KK0l0IGlzIGFsc28gcG9zc2libGUgdG8gaW5kaWNhdGUgYSBibG9jayBzcGVjaWFsIGRldmljZSB1c2luZyBpdHMgZmlsZXN5c3RlbSBsYWJlbAorb3IgVVVJRCAoc2VlIHRoZSBcZkJcLUxcZlIgYW5kIFxmQlwtVVxmUiBvcHRpb25zIGJlbG93KSwgb3IgaXRzIHBhcnRpdGlvbiBsYWJlbAorb3IgVVVJRC4gIChQYXJ0aXRpb24gaWRlbnRpZmllcnMgYXJlIHN1cHBvcnRlZCBmb3IgZXhhbXBsZSBmb3IgR1VJRCBQYXJ0aXRpb24KK1RhYmxlcyAoR1BUKS4pCisKK0Rvbid0IGZvcmdldCB0aGF0IHRoZXJlIGlzIG5vIGd1YXJhbnRlZSB0aGF0IFVVSURzIGFuZCBsYWJlbHMgYXJlIHJlYWxseQordW5pcXVlLCBlc3BlY2lhbGx5IGlmIHlvdSBtb3ZlLCBzaGFyZSBvciBjb3B5IHRoZSBkZXZpY2UuICBVc2UKKy5CICJsc2JsayBcLW8gK1VVSUQsUEFSVFVVSUQiCit0byB2ZXJpZnkgdGhhdCB0aGUgVVVJRHMgYXJlIHJlYWxseSB1bmlxdWUgaW4geW91ciBzeXN0ZW0uCisKK1RoZSByZWNvbW1lbmRlZCBzZXR1cCBpcyB0byB1c2UgdGFncyAoZS5nLlwmIFxmQkxBQkVMPVxmSWxhYmVsXGZSKSByYXRoZXIgdGhhbgorLkkgL2Rldi9kaXNrL2J5LXtsYWJlbCx1dWlkLHBhcnR1dWlkLHBhcnRsYWJlbH0KK3VkZXYgc3ltbGlua3MgaW4gdGhlCisuSSAvZXRjL2ZzdGFiCitmaWxlLiAgVGFncyBhcmUKK21vcmUgcmVhZGFibGUsIHJvYnVzdCBhbmQgcG9ydGFibGUuICBUaGUKKy5CUiBtb3VudCAoOCkKK2NvbW1hbmQgaW50ZXJuYWxseSB1c2VzIHVkZXYKK3N5bWxpbmtzLCBzbyB0aGUgdXNlIG9mIHN5bWxpbmtzIGluIC9ldGMvZnN0YWIgaGFzIG5vIGFkdmFudGFnZSBvdmVyIHRhZ3MuCitGb3IgbW9yZSBkZXRhaWxzIHNlZQorLkJSIGxpYmJsa2lkICgzKS4KKworTm90ZSB0aGF0CisuQlIgbW91bnQgKDgpCit1c2VzIFVVSURzIGFzIHN0cmluZ3MuICBUaGUgVVVJRHMgZnJvbSB0aGUgY29tbWFuZCBsaW5lIG9yIGZyb20KKy5CUiBmc3RhYiAoNSkKK2FyZSBub3QgY29udmVydGVkIHRvIGludGVybmFsIGJpbmFyeSByZXByZXNlbnRhdGlvbi4gIFRoZSBzdHJpbmcgcmVwcmVzZW50YXRpb24KK29mIHRoZSBVVUlEIHNob3VsZCBiZSBiYXNlZCBvbiBsb3dlciBjYXNlIGNoYXJhY3RlcnMuCisKK1RoZQorLkkgcHJvYworZmlsZXN5c3RlbSBpcyBub3QgYXNzb2NpYXRlZCB3aXRoIGEgc3BlY2lhbCBkZXZpY2UsIGFuZCB3aGVuCittb3VudGluZyBpdCwgYW4gYXJiaXRyYXJ5IGtleXdvcmQsIHN1Y2ggYXMKKy5JIHByb2MKK2NhbiBiZSB1c2VkIGluc3RlYWQgb2YgYSBkZXZpY2Ugc3BlY2lmaWNhdGlvbi4KKyhUaGUgY3VzdG9tYXJ5IGNob2ljZQorLkkgbm9uZQoraXMgbGVzcyBmb3J0dW5hdGU6IHRoZSBlcnJvciBtZXNzYWdlIGBub25lIGJ1c3knIGZyb20KKy5CIHVtb3VudAorY2FuIGJlIGNvbmZ1c2luZy4pCisKKy5TUyBUaGUgZmlsZXMgL2V0Yy9mc3RhYiwgL2V0Yy9tdGFiIGFuZCAvcHJvYy9tb3VudHMKK1RoZSBmaWxlCisuSSAvZXRjL2ZzdGFiCisoc2VlCisuQlIgZnN0YWIgKDUpKSwKK21heSBjb250YWluIGxpbmVzIGRlc2NyaWJpbmcgd2hhdCBkZXZpY2VzIGFyZSB1c3VhbGx5Cittb3VudGVkIHdoZXJlLCB1c2luZyB3aGljaCBvcHRpb25zLiAgVGhlIGRlZmF1bHQgbG9jYXRpb24gb2YgdGhlCisuQlIgZnN0YWIgKDUpCitmaWxlIGNhbiBiZSBvdmVycmlkZGVuIHdpdGggdGhlCisuQkkgXC1cLWZzdGFiICIgcGF0aCIKK2NvbW1hbmQtbGluZSBvcHRpb24gKHNlZSBiZWxvdyBmb3IgbW9yZSBkZXRhaWxzKS4KKy5MUAorVGhlIGNvbW1hbmQKKy5SUworLnNwCisuQiBtb3VudCBcLWEKKy5SQiBbIFwtdAorLklSIHR5cGUgXQorLlJCIFsgXC1PCisuSVIgb3B0bGlzdCBdCisuc3AKKy5SRQorKHVzdWFsbHkgZ2l2ZW4gaW4gYSBib290c2NyaXB0KSBjYXVzZXMgYWxsIGZpbGVzeXN0ZW1zIG1lbnRpb25lZCBpbgorLkkgZnN0YWIKKyhvZiB0aGUgcHJvcGVyIHR5cGUgYW5kL29yIGhhdmluZyBvciBub3QgaGF2aW5nIHRoZSBwcm9wZXIgb3B0aW9ucykKK3RvIGJlIG1vdW50ZWQgYXMgaW5kaWNhdGVkLCBleGNlcHQgZm9yIHRob3NlIHdob3NlIGxpbmUgY29udGFpbnMgdGhlCisuQiBub2F1dG8KK2tleXdvcmQuICBBZGRpbmcgdGhlCisuQiBcLUYKK29wdGlvbiB3aWxsIG1ha2UgXGZCbW91bnRcZlIgZm9yaywgc28gdGhhdCB0aGUKK2ZpbGVzeXN0ZW1zIGFyZSBtb3VudGVkIHNpbXVsdGFuZW91c2x5LgorLkxQCitXaGVuIG1vdW50aW5nIGEgZmlsZXN5c3RlbSBtZW50aW9uZWQgaW4KKy5JIGZzdGFiCitvcgorLklSIG10YWIgLAoraXQgc3VmZmljZXMgdG8gc3BlY2lmeSBvbiB0aGUgY29tbWFuZCBsaW5lIG9ubHkgdGhlIGRldmljZSwgb3Igb25seSB0aGUgbW91bnQgcG9pbnQuCisuc3AKK1RoZSBwcm9ncmFtcworLkIgbW91bnQKK2FuZAorLkIgdW1vdW50Cit0cmFkaXRpb25hbGx5IG1haW50YWluZWQgYSBsaXN0IG9mIGN1cnJlbnRseSBtb3VudGVkIGZpbGVzeXN0ZW1zIGluIHRoZSBmaWxlCisuSVIgL2V0Yy9tdGFiIC4KK1RoaXMgcmVhbCBtdGFiIGZpbGUgaXMgc3RpbGwgc3VwcG9ydGVkLCBidXQgb24gY3VycmVudCBMaW51eCBzeXN0ZW1zIGl0IGlzCitiZXR0ZXIgdG8gbWFrZSBpdCBhIHN5bWxpbmsgdG8KKy5JIC9wcm9jL21vdW50cworaW5zdGVhZCwgYmVjYXVzZSBhIHJlZ3VsYXIgbXRhYiBmaWxlIG1haW50YWluZWQgaW4gdXNlcnNwYWNlIGNhbm5vdCByZWxpYWJseQord29yayB3aXRoIG5hbWVzcGFjZXMsIGNvbnRhaW5lcnMgYW5kIG90aGVyIGFkdmFuY2VkIExpbnV4IGZlYXR1cmVzLgorLnNwCitJZiBubyBhcmd1bWVudHMgYXJlIGdpdmVuIHRvCisuQlIgbW91bnQgLAordGhlIGxpc3Qgb2YgbW91bnRlZCBmaWxlc3lzdGVtcyBpcyBwcmludGVkLgorLnNwCitJZiB5b3Ugd2FudCB0byBvdmVycmlkZSBtb3VudCBvcHRpb25zIGZyb20KKy5JIC9ldGMvZnN0YWIKK3lvdSBoYXZlIHRvIHVzZSB0aGUgXGZCXC1vXGZSIG9wdGlvbjoKKy5SUworLnNwCisuQkkgbW91bnQgIiBkZXZpY2UiIFxmUnwgImRpciAiIFwtbyAiIG9wdGlvbnMiCisuc3AKKy5SRQorYW5kIHRoZW4gdGhlIG1vdW50IG9wdGlvbnMgZnJvbSB0aGUgY29tbWFuZCBsaW5lIHdpbGwgYmUgYXBwZW5kZWQgdG8KK3RoZSBsaXN0IG9mIG9wdGlvbnMgZnJvbQorLklSIC9ldGMvZnN0YWIgLgorVGhlIHVzdWFsIGJlaGF2aW9yIGlzIHRoYXQgdGhlIGxhc3Qgb3B0aW9uIHdpbnMgaWYgdGhlcmUgYXJlIGNvbmZsaWN0aW5nCitvbmVzLgorLnNwCitUaGUKKy5CIG1vdW50Citwcm9ncmFtIGRvZXMgbm90IHJlYWQgdGhlCisuSSAvZXRjL2ZzdGFiCitmaWxlIGlmIGJvdGgKKy5JIGRldmljZQorKG9yIExBQkVMLCBVVUlELCBQQVJUVVVJRCBvciBQQVJUTEFCRUwpIGFuZAorLkkgZGlyCithcmUgc3BlY2lmaWVkLiAgRm9yIGV4YW1wbGUsIHRvIG1vdW50IGRldmljZQorLkJSIGZvbyAiIGF0ICIgL2RpciA6CisuUlMKKy5zcAorLkIgIm1vdW50IC9kZXYvZm9vIC9kaXIiCisuc3AKKy5SRQorCisuU1MgTm9uLXN1cGVydXNlciBtb3VudHMKK05vcm1hbGx5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIG1vdW50IGZpbGVzeXN0ZW1zLgorSG93ZXZlciwgd2hlbgorLkkgZnN0YWIKK2NvbnRhaW5zIHRoZQorLkIgdXNlcgorb3B0aW9uIG9uIGEgbGluZSwgYW55Ym9keSBjYW4gbW91bnQgdGhlIGNvcnJlc3BvbmRpbmcgZmlsZXN5c3RlbS4KKy5MUAorVGh1cywgZ2l2ZW4gYSBsaW5lCisuUlMKKy5zcAorLkIgIi9kZXYvY2Ryb20gIC9jZCAgaXNvOTY2MCAgcm8sdXNlcixub2F1dG8sdW5oaWRlIgorLnNwCisuUkUKK2FueSB1c2VyIGNhbiBtb3VudCB0aGUgaXNvOTY2MCBmaWxlc3lzdGVtIGZvdW5kIG9uIGFuIGluc2VydGVkIENEUk9NCit1c2luZyB0aGUgY29tbWFuZDoKKy5SUworLkIgIm1vdW50IC9jZCIKKy5zcAorLlJFCitOb3RlIHRoYXQgXGZCbW91bnRcZlIgaXMgdmVyeSBzdHJpY3QgYWJvdXQgbm9uLXJvb3QgdXNlcnMgYW5kIGFsbCBwYXRocworc3BlY2lmaWVkIG9uIGNvbW1hbmQgbGluZSBhcmUgdmVyaWZpZWQgYmVmb3JlIGZzdGFiIGlzIHBhcnNlZCBvciBhIGhlbHBlcgorcHJvZ3JhbSBpcyBleGVjdXRlZC4gSXQncyBzdHJvZ2x5IHJlY29tbWVuZGVkIHRvIHVzZSBhIHZhbGlkIG1vdW50cG9pbnQgdG8KK3NwZWNpZnkgZmlsZXN5c3RlbSwgb3RoZXJ3aXNlIFxmQm1vdW50XGZSIG1heSBmYWlsLiBGb3IgZXhhbXBsZSBpdCdzIGJhZCBpZGVhCit0byB1c2UgTkZTIG9yIENJRlMgc291cmNlIG9uIGNvbW1hbmQgbGluZS4KKy5QUAorRm9yIG1vcmUgZGV0YWlscywgc2VlCisuQlIgZnN0YWIgKDUpLgorT25seSB0aGUgdXNlciB0aGF0IG1vdW50ZWQgYSBmaWxlc3lzdGVtIGNhbiB1bm1vdW50IGl0IGFnYWluLgorSWYgYW55IHVzZXIgc2hvdWxkIGJlIGFibGUgdG8gdW5tb3VudCBpdCwgdGhlbiB1c2UKKy5CIHVzZXJzCitpbnN0ZWFkIG9mCisuQiB1c2VyCitpbiB0aGUKKy5JIGZzdGFiCitsaW5lLgorVGhlCisuQiBvd25lcgorb3B0aW9uIGlzIHNpbWlsYXIgdG8gdGhlCisuQiB1c2VyCitvcHRpb24sIHdpdGggdGhlIHJlc3RyaWN0aW9uIHRoYXQgdGhlIHVzZXIgbXVzdCBiZSB0aGUgb3duZXIKK29mIHRoZSBzcGVjaWFsIGZpbGUuICBUaGlzIG1heSBiZSB1c2VmdWwgZS5nLlwmIGZvcgorLkkgL2Rldi9mZAoraWYgYSBsb2dpbiBzY3JpcHQgbWFrZXMgdGhlIGNvbnNvbGUgdXNlciBvd25lciBvZiB0aGlzIGRldmljZS4KK1RoZQorLkIgZ3JvdXAKK29wdGlvbiBpcyBzaW1pbGFyLCB3aXRoIHRoZSByZXN0cmljdGlvbiB0aGF0IHRoZSB1c2VyIG11c3QgYmUKK21lbWJlciBvZiB0aGUgZ3JvdXAgb2YgdGhlIHNwZWNpYWwgZmlsZS4KKworLlNTIEJpbmQgbW91bnRzCitTaW5jZSBMaW51eCAyLjQuMCBpdCBpcyBwb3NzaWJsZSB0byByZW1vdW50IHBhcnQgb2YgdGhlCitmaWxlIGhpZXJhcmNoeSBzb21ld2hlcmUgZWxzZS4gIFRoZSBjYWxsIGlzOgorCisuUlMKKy5icgorLkIgbW91bnQgXC1cLWJpbmQKKy5JIG9sZGRpciBuZXdkaXIKKy5SRQorCitvciBieSB1c2luZyB0aGlzIGZzdGFiIGVudHJ5OgorCisuUlMKKy5icgorLkJJIC8gb2xkZGlyCisuQkkgLyBuZXdkaXIKKy5CIG5vbmUgYmluZAorLlJFCisKK0FmdGVyIHRoaXMgY2FsbCB0aGUgc2FtZSBjb250ZW50cyBhcmUgYWNjZXNzaWJsZSBpbiB0d28gcGxhY2VzLgorT25lIGNhbiBhbHNvIHJlbW91bnQgYSBzaW5nbGUgZmlsZSAob24gYSBzaW5nbGUgZmlsZSkuICBJdCdzIGFsc28KK3Bvc3NpYmxlIHRvIHVzZSB0aGUgYmluZCBtb3VudCB0byBjcmVhdGUgYSBtb3VudHBvaW50IGZyb20gYSByZWd1bGFyCitkaXJlY3RvcnksIGZvciBleGFtcGxlOgorCisuUlMKKy5icgorLkIgbW91bnQgXC1cLWJpbmQgZm9vIGZvbworLlJFCisKK1RoZSBiaW5kIG1vdW50IGNhbGwgYXR0YWNoZXMgb25seSAocGFydCBvZikgYSBzaW5nbGUgZmlsZXN5c3RlbSwgbm90IHBvc3NpYmxlCitzdWJtb3VudHMuICBUaGUgZW50aXJlIGZpbGUgaGllcmFyY2h5IGluY2x1ZGluZyBzdWJtb3VudHMgaXMgYXR0YWNoZWQKK2Egc2Vjb25kIHBsYWNlIGJ5IHVzaW5nOgorCisuUlMKKy5icgorLkIgbW91bnQgXC1cLXJiaW5kCisuSSBvbGRkaXIgbmV3ZGlyCisuUkUKKworTm90ZSB0aGF0IHRoZSBmaWxlc3lzdGVtIG1vdW50IG9wdGlvbnMgd2lsbCByZW1haW4gdGhlIHNhbWUgYXMgdGhvc2UKK29uIHRoZSBvcmlnaW5hbCBtb3VudCBwb2ludC4KKworLkJSIG1vdW50ICg4KQorc2luY2UgdjIuMjcgYWxsb3dzIHRvIGNoYW5nZSB0aGUgbW91bnQgb3B0aW9ucyBieSBwYXNzaW5nIHRoZQorcmVsZXZhbnQgb3B0aW9ucyBhbG9uZyB3aXRoCisuQlIgXC1cLWJpbmQgLgorRm9yIGV4YW1wbGU6CisKKy5SUworLmJyCisuQiBtb3VudCBcLVwtYmluZCxybyBmb28gZm9vCisuUkUKKworVGhpcyBmZWF0dXJlIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIExpbnV4IGtlcm5lbDsgaXQgaXMgaW1wbGVtZW50ZWQgaW4gdXNlcnNwYWNlCitieSBhbiBhZGRpdGlvbmFsIFxmQm1vdW50XGZSKDIpIHJlbW91bnRpbmcgc3lzdGVtIGNhbGwuCitUaGlzIHNvbHV0aW9uIGlzIG5vdCBhdG9taWMuCisKK1RoZSBhbHRlcm5hdGl2ZSAoY2xhc3NpYykgd2F5IHRvIGNyZWF0ZSBhIHJlYWQtb25seSBiaW5kIG1vdW50IGlzIHRvIHVzZSB0aGUgcmVtb3VudAorb3BlcmF0aW9uLCBmb3IgZXhhbXBsZToKKworLlJTCisuYnIKKy5CIG1vdW50IFwtXC1iaW5kCisuSSBvbGRkaXIgbmV3ZGlyCisuYnIKKy5CIG1vdW50IFwtbyByZW1vdW50LGJpbmQscm8KKy5JIG9sZGRpciBuZXdkaXIKKy5SRQorCitOb3RlIHRoYXQgYSByZWFkLW9ubHkgYmluZCB3aWxsIGNyZWF0ZSBhIHJlYWQtb25seSBtb3VudHBvaW50IChWRlMgZW50cnkpLAorYnV0IHRoZSBvcmlnaW5hbCBmaWxlc3lzdGVtIHN1cGVyYmxvY2sgd2lsbCBzdGlsbCBiZSB3cml0YWJsZSwgbWVhbmluZyB0aGF0IHRoZQorLkkgb2xkZGlyCit3aWxsIGJlIHdyaXRhYmxlLCBidXQgdGhlCisuSSBuZXdkaXIKK3dpbGwgYmUgcmVhZC1vbmx5LgorCitJdCdzIGFsc28gcG9zc2libGUgdG8gY2hhbmdlIG5vc3VpZCwgbm9kZXYsIG5vZXhlYywgbm9hdGltZSwgbm9kaXJhdGltZSBhbmQKK3JlbGF0aW1lIFZGUyBlbnRyeSBmbGFncyBieSAicmVtb3VudCxiaW5kIiBvcGVyYXRpb24uIEl0J3MgaW1wb3NzaWJsZSB0byBjaGFuZ2UKK21vdW50IG9wdGlvbnMgcmVjdXJzaXZlbHkgKGZvciBleGFtcGxlIHdpdGggXGZCLW8gcmJpbmQscm9cZlIpLgorLlJFCisKKy5TUyBUaGUgbW92ZSBvcGVyYXRpb24KK1NpbmNlIExpbnV4IDIuNS4xIGl0IGlzIHBvc3NpYmxlIHRvIGF0b21pY2FsbHkgbW92ZSBhCisuQiBtb3VudGVkIHRyZWUKK3RvIGFub3RoZXIgcGxhY2UuICBUaGUgY2FsbCBpczoKKworLlJTCisuYnIKKy5CIG1vdW50IFwtXC1tb3ZlCisuSSBvbGRkaXIgbmV3ZGlyCisuUkUKKworVGhpcyB3aWxsIGNhdXNlIHRoZSBjb250ZW50cyB3aGljaCBwcmV2aW91c2x5IGFwcGVhcmVkIHVuZGVyCisuSSBvbGRkaXIKK3RvIG5vdyBiZSBhY2Nlc3NpYmxlIHVuZGVyCisuSVIgbmV3ZGlyIC4KK1RoZSBwaHlzaWNhbCBsb2NhdGlvbiBvZiB0aGUgZmlsZXMgaXMgbm90IGNoYW5nZWQuCitOb3RlIHRoYXQKKy5JIG9sZGRpcgoraGFzIHRvIGJlIGEgbW91bnRwb2ludC4KKworTm90ZSBhbHNvIHRoYXQgbW92aW5nIGEgbW91bnQgcmVzaWRpbmcgdW5kZXIgYSBzaGFyZWQgbW91bnQgaXMgaW52YWxpZCBhbmQKK3Vuc3VwcG9ydGVkLiAgVXNlCisuQiBmaW5kbW50IFwtbyBUQVJHRVQsUFJPUEFHQVRJT04KK3RvIHNlZSB0aGUgY3VycmVudCBwcm9wYWdhdGlvbiBmbGFncy4KKworLlNTIFNoYXJlZCBzdWJ0cmVlIG9wZXJhdGlvbnMKK1NpbmNlIExpbnV4IDIuNi4xNSBpdCBpcyBwb3NzaWJsZSB0byBtYXJrIGEgbW91bnQgYW5kIGl0cyBzdWJtb3VudHMgYXMgc2hhcmVkLAorcHJpdmF0ZSwgc2xhdmUgb3IgdW5iaW5kYWJsZS4gIEEgc2hhcmVkIG1vdW50IHByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGNyZWF0ZSBtaXJyb3JzCitvZiB0aGF0IG1vdW50IHN1Y2ggdGhhdCBtb3VudHMgYW5kIHVubW91bnRzIHdpdGhpbiBhbnkgb2YgdGhlIG1pcnJvcnMgcHJvcGFnYXRlCit0byB0aGUgb3RoZXIgbWlycm9yLiAgQSBzbGF2ZSBtb3VudCByZWNlaXZlcyBwcm9wYWdhdGlvbiBmcm9tIGl0cyBtYXN0ZXIsIGJ1dAorbm90IHZpY2UgdmVyc2EuICBBIHByaXZhdGUgbW91bnQgY2FycmllcyBubyBwcm9wYWdhdGlvbiBhYmlsaXRpZXMuICBBbgordW5iaW5kYWJsZSBtb3VudCBpcyBhIHByaXZhdGUgbW91bnQgd2hpY2ggY2Fubm90IGJlIGNsb25lZCB0aHJvdWdoIGEgYmluZAorb3BlcmF0aW9uLiAgVGhlIGRldGFpbGVkIHNlbWFudGljcyBhcmUgZG9jdW1lbnRlZCBpbgorLkkgRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy9zaGFyZWRzdWJ0cmVlLnR4dAorZmlsZSBpbiB0aGUga2VybmVsIHNvdXJjZSB0cmVlLgorCitTdXBwb3J0ZWQgb3BlcmF0aW9ucyBhcmU6CisKKy5SUworLm5mCisuQkkgIm1vdW50IFwtXC1tYWtlXC1zaGFyZWQgIiBtb3VudHBvaW50CisuQkkgIm1vdW50IFwtXC1tYWtlXC1zbGF2ZSAiIG1vdW50cG9pbnQKKy5CSSAibW91bnQgXC1cLW1ha2VcLXByaXZhdGUgIiBtb3VudHBvaW50CisuQkkgIm1vdW50IFwtXC1tYWtlXC11bmJpbmRhYmxlICIgbW91bnRwb2ludAorLmZpCisuUkUKKworVGhlIGZvbGxvd2luZyBjb21tYW5kcyBhbGxvdyBvbmUgdG8gcmVjdXJzaXZlbHkgY2hhbmdlIHRoZSB0eXBlIG9mIGFsbCB0aGUKK21vdW50cyB1bmRlciBhIGdpdmVuIG1vdW50cG9pbnQuCisKKy5SUworLm5mCisuQkkgIm1vdW50IFwtXC1tYWtlXC1yc2hhcmVkICIgbW91bnRwb2ludAorLkJJICJtb3VudCBcLVwtbWFrZVwtcnNsYXZlICIgbW91bnRwb2ludAorLkJJICJtb3VudCBcLVwtbWFrZVwtcnByaXZhdGUgIiBtb3VudHBvaW50CisuQkkgIm1vdW50IFwtXC1tYWtlXC1ydW5iaW5kYWJsZSAiIG1vdW50cG9pbnQKKy5maQorLlJFCisKKy5CUiBtb3VudCAoOCkKKy5CIGRvZXMgbm90IHJlYWQKKy5CUiBmc3RhYiAoNSkKK3doZW4gYSBcZkJcLVwtbWFrZS1cZlIqIG9wZXJhdGlvbiBpcyByZXF1ZXN0ZWQuICBBbGwgbmVjZXNzYXJ5IGluZm9ybWF0aW9uIGhhcyB0byBiZQorc3BlY2lmaWVkIG9uIHRoZSBjb21tYW5kIGxpbmUuCisKK05vdGUgdGhhdCB0aGUgTGludXgga2VybmVsIGRvZXMgbm90IGFsbG93IHRvIGNoYW5nZSBtdWx0aXBsZSBwcm9wYWdhdGlvbiBmbGFncword2l0aCBhIHNpbmdsZQorLkJSIG1vdW50ICgyKQorc3lzdGVtIGNhbGwsIGFuZCB0aGUgZmxhZ3MgY2Fubm90IGJlIG1peGVkIHdpdGggb3RoZXIgbW91bnQgb3B0aW9ucy4KKworU2luY2UgdXRpbC1saW51eCAyLjIzIHRoZSBcZkJtb3VudFxmUiBjb21tYW5kIGFsbG93cyB0byB1c2Ugc2V2ZXJhbCBwcm9wYWdhdGlvbiBmbGFncwordG9nZXRoZXIgYW5kIGFsc28gdG9nZXRoZXIgd2l0aCBvdGhlciBtb3VudCBvcGVyYXRpb25zLiAgVGhpcyBmZWF0dXJlIGlzIEVYUEVSSU1FTlRBTC4KK1RoZSBwcm9wYWdhdGlvbiBmbGFncyBhcmUgYXBwbGllZCBieSBhZGRpdGlvbmFsIFxmQm1vdW50XGZSKDIpIHN5c3RlbSBjYWxscyB3aGVuIHRoZQorcHJlY2VkaW5nIG1vdW50IG9wZXJhdGlvbnMgd2VyZSBzdWNjZXNzZnVsLiAgTm90ZSB0aGF0IHRoaXMgdXNlIGNhc2UgaXMgbm90CithdG9taWMuICBJdCBpcyBwb3NzaWJsZSB0byBzcGVjaWZ5IHRoZSBwcm9wYWdhdGlvbiBmbGFncyBpbgorLkJSIGZzdGFiICg1KQorYXMgbW91bnQgb3B0aW9ucworLlJCICggcHJpdmF0ZSAsCisuQlIgc2xhdmUgLAorLkJSIHNoYXJlZCAsCisuQlIgdW5iaW5kYWJsZSAsCisuQlIgcnByaXZhdGUgLAorLkJSIHJzbGF2ZSAsCisuQlIgcnNoYXJlZCAsCisuQlIgcnVuYmluZGFibGUgKS4KKworRm9yIGV4YW1wbGU6CisKKy5SUworLm5mCisuQkkgIm1vdW50IFwtXC1tYWtlXC1wcml2YXRlIFwtXC1tYWtlXC11bmJpbmRhYmxlIC9kZXYvc2RhMSAvZm9vIgorLmZpCisuUkUKKworaXMgdGhlIHNhbWUgYXM6CisKKy5SUworLm5mCisuQkkgIm1vdW50IC9kZXYvc2RhMSAvZm9vIgorLkJJICJtb3VudCBcLVwtbWFrZVwtcHJpdmF0ZSAvZm9vIgorLkJJICJtb3VudCBcLVwtbWFrZVwtdW5iaW5kYWJsZSAvZm9vIgorLmZpCisuUkUKKworLlNIIENPTU1BTkQtTElORSBPUFRJT05TCitUaGUgZnVsbCBzZXQgb2YgbW91bnQgb3B0aW9ucyB1c2VkIGJ5IGFuIGludm9jYXRpb24gb2YKKy5CIG1vdW50CitpcyBkZXRlcm1pbmVkIGJ5IGZpcnN0IGV4dHJhY3RpbmcgdGhlCittb3VudCBvcHRpb25zIGZvciB0aGUgZmlsZXN5c3RlbSBmcm9tIHRoZQorLkkgZnN0YWIKK3RhYmxlLCB0aGVuIGFwcGx5aW5nIGFueSBvcHRpb25zIHNwZWNpZmllZCBieSB0aGUKKy5CIFwtbworYXJndW1lbnQsIGFuZCBmaW5hbGx5IGFwcGx5aW5nIGEKKy5CUiBcLXIgIiBvciAiIFwtdworb3B0aW9uLCB3aGVuIHByZXNlbnQuCisKK1RoZSBjb21tYW5kIFxmQm1vdW50XGZSIGRvZXMgbm90IHBhc3MgYWxsIGNvbW1hbmQtbGluZSBvcHRpb25zIHRvIHRoZQorXGZCL3NiaW4vbW91bnQuXGZJc3VmZml4XGZSIG1vdW50IGhlbHBlcnMuICBUaGUgaW50ZXJmYWNlIGJldHdlZW4gXGZCbW91bnRcZlIKK2FuZCB0aGUgbW91bnQgaGVscGVycyBpcyBkZXNjcmliZWQgYmVsb3cgaW4gdGhlIHNlY3Rpb24gXGZCRVhURVJOQUwgSEVMUEVSU1xmUi4KKy5zcAorQ29tbWFuZC1saW5lIG9wdGlvbnMgYXZhaWxhYmxlIGZvciB0aGUKKy5CIG1vdW50Citjb21tYW5kIGFyZToKKy5UUAorLkJSIFwtYSAsICIgXC1cLWFsbCIKK01vdW50IGFsbCBmaWxlc3lzdGVtcyAob2YgdGhlIGdpdmVuIHR5cGVzKSBtZW50aW9uZWQgaW4KKy5JIGZzdGFiCisoZXhjZXB0IGZvciB0aG9zZSB3aG9zZSBsaW5lIGNvbnRhaW5zIHRoZQorLkIgbm9hdXRvCitrZXl3b3JkKS4gIFRoZSBmaWxlc3lzdGVtcyBhcmUgbW91bnRlZCBmb2xsb3dpbmcgdGhlaXIgb3JkZXIgaW4KKy5JUiBmc3RhYiAuCisuc3AKK05vdGUgdGhhdCBpdCBpcyBhIGJhZCBwcmFjdGljZSB0byB1c2UgXGZCbW91bnQgXC1hXGZSIGZvcgorLklSIGZzdGFiCitjaGVja2luZy4gVGhlIHJlY29tbWVuZGVkIHNvbHV0aW9uIGlzIFxmQmZpbmRtbnQgXC1cLXZlcmlmeVxmUi4KKy5UUAorLkJSIFwtQiAsICIgXC1cLWJpbmQiCitSZW1vdW50IGEgc3VidHJlZSBzb21ld2hlcmUgZWxzZSAoc28gdGhhdCBpdHMgY29udGVudHMgYXJlIGF2YWlsYWJsZQoraW4gYm90aCBwbGFjZXMpLiAgU2VlIGFib3ZlLCB1bmRlciBcZkJCaW5kIG1vdW50c1xmUi4KKy5UUAorLkJSIFwtYyAsICIgXC1cLW5vXC1jYW5vbmljYWxpemUiCitEb24ndCBjYW5vbmljYWxpemUgcGF0aHMuICBUaGUgbW91bnQgY29tbWFuZCBjYW5vbmljYWxpemVzIGFsbCBwYXRocworKGZyb20gY29tbWFuZCBsaW5lIG9yIGZzdGFiKSBieSBkZWZhdWx0LiAgVGhpcyBvcHRpb24gY2FuIGJlIHVzZWQKK3RvZ2V0aGVyIHdpdGggdGhlCisuQiBcLWYKK2ZsYWcgZm9yIGFscmVhZHkgY2Fub25pY2FsaXplZCBhYnNvbHV0ZSBwYXRocy4gIFRoZSBvcHRpb24gaXMgZGVzaWduZWQgZm9yIG1vdW50CitoZWxwZXJzIHdoaWNoIGNhbGwgXGZCbW91bnQgLWlcZlIuICBJdCBpcyBzdHJvbmdseSByZWNvbW1lbmRlZCB0byBub3QgdXNlIHRoaXMKK2NvbW1hbmQtbGluZSBvcHRpb24gZm9yIG5vcm1hbCBtb3VudCBvcGVyYXRpb25zLgorLnNwCitOb3RlIHRoYXQgXGZCbW91bnRcZlIoOCkgZG9lcyBub3QgcGFzcyB0aGlzIG9wdGlvbiB0byB0aGUKK1xmQi9zYmluL21vdW50LlxmSXR5cGVcZlIgaGVscGVycy4KKy5UUAorLkJSIFwtRiAsICIgXC1cLWZvcmsiCisoVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoCisuQlIgXC1hIC4pCitGb3JrIG9mZiBhIG5ldyBpbmNhcm5hdGlvbiBvZiBcZkJtb3VudFxmUiBmb3IgZWFjaCBkZXZpY2UuCitUaGlzIHdpbGwgZG8gdGhlIG1vdW50cyBvbiBkaWZmZXJlbnQgZGV2aWNlcyBvciBkaWZmZXJlbnQgTkZTIHNlcnZlcnMKK2luIHBhcmFsbGVsLgorVGhpcyBoYXMgdGhlIGFkdmFudGFnZSB0aGF0IGl0IGlzIGZhc3RlcjsgYWxzbyBORlMgdGltZW91dHMgZ28gaW4KK3BhcmFsbGVsLiAgQSBkaXNhZHZhbnRhZ2UgaXMgdGhhdCB0aGUgbW91bnRzIGFyZSBkb25lIGluIHVuZGVmaW5lZCBvcmRlci4KK1RodXMsIHlvdSBjYW5ub3QgdXNlIHRoaXMgb3B0aW9uIGlmIHlvdSB3YW50IHRvIG1vdW50IGJvdGgKKy5JIC91c3IKK2FuZAorLklSIC91c3Ivc3Bvb2wgLgorLklQICJcZkJcLWYsIFwtXC1mYWtlXGZQIgorQ2F1c2VzIGV2ZXJ5dGhpbmcgdG8gYmUgZG9uZSBleGNlcHQgZm9yIHRoZSBhY3R1YWwgc3lzdGVtIGNhbGw7IGlmIGl0J3Mgbm90CitvYnZpb3VzLCB0aGlzIGBgZmFrZXMnJyBtb3VudGluZyB0aGUgZmlsZXN5c3RlbS4gIFRoaXMgb3B0aW9uIGlzIHVzZWZ1bCBpbgorY29uanVuY3Rpb24gd2l0aCB0aGUKKy5CIFwtdgorZmxhZyB0byBkZXRlcm1pbmUgd2hhdCB0aGUKKy5CIG1vdW50Citjb21tYW5kIGlzIHRyeWluZyB0byBkby4gIEl0IGNhbiBhbHNvIGJlIHVzZWQgdG8gYWRkIGVudHJpZXMgZm9yIGRldmljZXMKK3RoYXQgd2VyZSBtb3VudGVkIGVhcmxpZXIgd2l0aCB0aGUgXGZCXC1uXGZSIG9wdGlvbi4gIFRoZSBcZkJcLWZcZlIgb3B0aW9uCitjaGVja3MgZm9yIGFuIGV4aXN0aW5nIHJlY29yZCBpbiAvZXRjL210YWIgYW5kIGZhaWxzIHdoZW4gdGhlIHJlY29yZCBhbHJlYWR5CitleGlzdHMgKHdpdGggYSByZWd1bGFyIG5vbi1mYWtlIG1vdW50LCB0aGlzIGNoZWNrIGlzIGRvbmUgYnkgdGhlIGtlcm5lbCkuCisuSVAgIlxmQlwtaSwgXC1cLWludGVybmFsXC1vbmx5XGZQIgorRG9uJ3QgY2FsbCB0aGUgXGZCL3NiaW4vbW91bnQuXGZJZmlsZXN5c3RlbVxmUiBoZWxwZXIgZXZlbiBpZiBpdCBleGlzdHMuCisuVFAKKy5CUiBcLUwgLCAiIFwtXC1sYWJlbCAiIFxmSWxhYmVsCitNb3VudCB0aGUgcGFydGl0aW9uIHRoYXQgaGFzIHRoZSBzcGVjaWZpZWQKKy5JUiBsYWJlbCAuCisuVFAKKy5CUiBcLWwgLCAiIFwtXC1zaG93XC1sYWJlbHMiCitBZGQgdGhlIGxhYmVscyBpbiB0aGUgbW91bnQgb3V0cHV0LiAgXGZCbW91bnRcZlIgbXVzdCBoYXZlCitwZXJtaXNzaW9uIHRvIHJlYWQgdGhlIGRpc2sgZGV2aWNlIChlLmcuXCYgYmUgc2V0LXVzZXItSUQgcm9vdCkgZm9yIHRoaXMgdG8gd29yay4KK09uZSBjYW4gc2V0IHN1Y2ggYSBsYWJlbCBmb3IgZXh0MiwgZXh0MyBvciBleHQ0IHVzaW5nIHRoZQorLkJSIGUybGFiZWwgKDgpCit1dGlsaXR5LCBvciBmb3IgWEZTIHVzaW5nCisuQlIgeGZzX2FkbWluICg4KSwKK29yIGZvciByZWlzZXJmcyB1c2luZworLkJSIHJlaXNlcmZzdHVuZSAoOCkuCisuVFAKKy5CUiBcLU0gLCAiIFwtXC1tb3ZlIgorTW92ZSBhIHN1YnRyZWUgdG8gc29tZSBvdGhlciBwbGFjZS4gIFNlZSBhYm92ZSwgdGhlIHN1YnNlY3Rpb24KK1xmQlRoZSBtb3ZlIG9wZXJhdGlvblxmUi4KKy5UUAorLkJSIFwtbiAsICIgXC1cLW5vXC1tdGFiIgorTW91bnQgd2l0aG91dCB3cml0aW5nIGluCisuSVIgL2V0Yy9tdGFiIC4KK1RoaXMgaXMgbmVjZXNzYXJ5IGZvciBleGFtcGxlIHdoZW4KKy5JIC9ldGMKK2lzIG9uIGEgcmVhZC1vbmx5IGZpbGVzeXN0ZW0uCisuVFAKKy5CUiBcLU8gLCAiIFwtXC10ZXN0XC1vcHRzICIgXGZJb3B0cworTGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyB0byB3aGljaCB0aGUKKy5CIFwtYQorb3B0aW9uIGFwcGxpZXMuICBJbiB0aGlzIHJlZ2FyZCBpdCBpcyBsaWtlIHRoZQorLkIgXC10CitvcHRpb24gZXhjZXB0IHRoYXQKKy5CIFwtTworaXMgdXNlbGVzcyB3aXRob3V0CisuQlIgXC1hIC4KK0ZvciBleGFtcGxlLCB0aGUgY29tbWFuZDoKKy5SUworLlJTCisuc3AKKy5CICJtb3VudCBcLWEgXC1PIG5vX25ldGRldiIKKy5zcAorLlJFCittb3VudHMgYWxsIGZpbGVzeXN0ZW1zIGV4Y2VwdCB0aG9zZSB3aGljaCBoYXZlIHRoZSBvcHRpb24KKy5JIF9uZXRkZXYKK3NwZWNpZmllZCBpbiB0aGUgb3B0aW9ucyBmaWVsZCBpbiB0aGUKKy5JIC9ldGMvZnN0YWIKK2ZpbGUuCisKK0l0IGlzIGRpZmZlcmVudCBmcm9tCisuQiBcLXQKK2luIHRoYXQgZWFjaCBvcHRpb24gaXMgbWF0Y2hlZCBleGFjdGx5OyBhIGxlYWRpbmcKKy5CIG5vCithdCB0aGUgYmVnaW5uaW5nIG9mIG9uZSBvcHRpb24gZG9lcyBub3QgbmVnYXRlIHRoZSByZXN0LgorCitUaGUKKy5CIFwtdAorYW5kCisuQiBcLU8KK29wdGlvbnMgYXJlIGN1bXVsYXRpdmUgaW4gZWZmZWN0OyB0aGF0IGlzLCB0aGUgY29tbWFuZAorLlJTCisuc3AKKy5CICJtb3VudCBcLWEgXC10IGV4dDIgXC1PIF9uZXRkZXYiCisuc3AKKy5SRQorbW91bnRzIGFsbCBleHQyIGZpbGVzeXN0ZW1zIHdpdGggdGhlIF9uZXRkZXYgb3B0aW9uLCBub3QgYWxsIGZpbGVzeXN0ZW1zCit0aGF0IGFyZSBlaXRoZXIgZXh0MiBvciBoYXZlIHRoZSBfbmV0ZGV2IG9wdGlvbiBzcGVjaWZpZWQuCisuUkUKKy5UUAorLkJSIFwtbyAsICIgXC1cLW9wdGlvbnMgIiBcZklvcHRzCitVc2UgdGhlIHNwZWNpZmllZCBtb3VudCBvcHRpb25zLiAgVGhlIFxmSW9wdHNcZlIgYXJndW1lbnQgaXMKK2EgY29tbWEtc2VwYXJhdGVkIGxpc3QuICBGb3IgZXhhbXBsZToKKy5SUworLlJTCisuc3AKKy5CICJtb3VudCBMQUJFTD1teWRpc2sgXC1vIG5vYXRpbWUsbm9kZXYsbm9zdWlkIgorLnNwCisuUkUKKworRm9yIG1vcmUgZGV0YWlscywgc2VlIHRoZQorLkIgRklMRVNZU1RFTS1JTkRFUEVOREVOVCBNT1VOVCBPUFRJT05TCithbmQKKy5CIEZJTEVTWVNURU0tU1BFQ0lGSUMgTU9VTlQgT1BUSU9OUworc2VjdGlvbnMuCisuUkUKKworLlRQCisuQlIgXC1SICwgIiBcLVwtcmJpbmQiCitSZW1vdW50IGEgc3VidHJlZSBhbmQgYWxsIHBvc3NpYmxlIHN1Ym1vdW50cyBzb21ld2hlcmUgZWxzZSAoc28gdGhhdCBpdHMKK2NvbnRlbnRzIGFyZSBhdmFpbGFibGUgaW4gYm90aCBwbGFjZXMpLiAgU2VlIGFib3ZlLCB0aGUgc3Vic2VjdGlvbgorXGZCQmluZCBtb3VudHNcZlIuCisuVFAKKy5CUiBcLXIgLCAiIFwtXC1yZWFkXC1vbmx5IgorTW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC1vbmx5LiAgQSBzeW5vbnltIGlzCisuQlIgIlwtbyBybyIgLgorLnNwCitOb3RlIHRoYXQsIGRlcGVuZGluZyBvbiB0aGUgZmlsZXN5c3RlbSB0eXBlLCBzdGF0ZSBhbmQga2VybmVsIGJlaGF2aW9yLCB0aGUKK3N5c3RlbSBtYXkgc3RpbGwgd3JpdGUgdG8gdGhlIGRldmljZS4gIEZvciBleGFtcGxlLCBleHQzIGFuZCBleHQ0IHdpbGwgcmVwbGF5IHRoZQoram91cm5hbCBpZiB0aGUgZmlsZXN5c3RlbSBpcyBkaXJ0eS4gIFRvIHByZXZlbnQgdGhpcyBraW5kIG9mIHdyaXRlIGFjY2VzcywgeW91CittYXkgd2FudCB0byBtb3VudCBhbiBleHQzIG9yIGV4dDQgZmlsZXN5c3RlbSB3aXRoIHRoZSBcZkJybyxub2xvYWRcZlIgbW91bnQKK29wdGlvbnMgb3Igc2V0IHRoZSBibG9jayBkZXZpY2UgaXRzZWxmIHRvIHJlYWQtb25seSBtb2RlLCBzZWUgdGhlCisuQlIgYmxvY2tkZXYgKDgpCitjb21tYW5kLgorLlRQCisuQiBcLXMKK1RvbGVyYXRlIHNsb3BweSBtb3VudCBvcHRpb25zIHJhdGhlciB0aGFuIGZhaWxpbmcuICBUaGlzIHdpbGwgaWdub3JlIG1vdW50CitvcHRpb25zIG5vdCBzdXBwb3J0ZWQgYnkgYSBmaWxlc3lzdGVtIHR5cGUuICBOb3QgYWxsIGZpbGVzeXN0ZW1zIHN1cHBvcnQgdGhpcworb3B0aW9uLiAgQ3VycmVudGx5IGl0J3Mgc3VwcG9ydGVkIGJ5IHRoZSBcZkJtb3VudC5uZnNcZlIgbW91bnQgaGVscGVyIG9ubHkuCisuVFAKKy5CSSBcLVwtc291cmNlICIgZGV2aWNlIgorSWYgb25seSBvbmUgYXJndW1lbnQgZm9yIHRoZSBtb3VudCBjb21tYW5kIGlzIGdpdmVuIHRoZW4gdGhlIGFyZ3VtZW50IG1pZ2h0IGJlCitpbnRlcnByZXRlZCBhcyB0YXJnZXQgKG1vdW50cG9pbnQpIG9yIHNvdXJjZSAoZGV2aWNlKS4gIFRoaXMgb3B0aW9uIGFsbG93cyB0bworZXhwbGljaXRseSBkZWZpbmUgdGhhdCB0aGUgYXJndW1lbnQgaXMgdGhlIG1vdW50IHNvdXJjZS4KKy5UUAorLkJJIFwtXC10YXJnZXQgIiBkaXJlY3RvcnkiCitJZiBvbmx5IG9uZSBhcmd1bWVudCBmb3IgdGhlIG1vdW50IGNvbW1hbmQgaXMgZ2l2ZW4gdGhlbiB0aGUgYXJndW1lbnQgbWlnaHQgYmUKK2ludGVycHJldGVkIGFzIHRhcmdldCAobW91bnRwb2ludCkgb3Igc291cmNlIChkZXZpY2UpLiAgVGhpcyBvcHRpb24gYWxsb3dzIHRvCitleHBsaWNpdGx5IGRlZmluZSB0aGF0IHRoZSBhcmd1bWVudCBpcyB0aGUgbW91bnQgdGFyZ2V0LgorLlRQCisuQlIgXC1UICwgIiBcLVwtZnN0YWIgIiBcZklwYXRoCitTcGVjaWZpZXMgYW4gYWx0ZXJuYXRpdmUgZnN0YWIgZmlsZS4gIElmIFxmSXBhdGhcZlAgaXMgYSBkaXJlY3RvcnkgdGhlbiB0aGUgZmlsZXMKK2luIHRoZSBkaXJlY3RvcnkgYXJlIHNvcnRlZCBieQorLkJSIHN0cnZlcnNjbXAgKDMpOworZmlsZXMgdGhhdCBzdGFydCB3aXRoICIuIlwmIG9yIHdpdGhvdXQgYW4gXCYuZnN0YWIgZXh0ZW5zaW9uIGFyZSBpZ25vcmVkLiAgVGhlIG9wdGlvbgorY2FuIGJlIHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZS4gIFRoaXMgb3B0aW9uIGlzIG1vc3RseSBkZXNpZ25lZCBmb3IgaW5pdHJhbWZzCitvciBjaHJvb3Qgc2NyaXB0cyB3aGVyZSBhZGRpdGlvbmFsIGNvbmZpZ3VyYXRpb24gaXMgc3BlY2lmaWVkIGJleW9uZCBzdGFuZGFyZAorc3lzdGVtIGNvbmZpZ3VyYXRpb24uCisuc3AKK05vdGUgdGhhdCBcZkJtb3VudFxmUig4KSBkb2VzIG5vdCBwYXNzIHRoZSBvcHRpb24gXGZCXC1cLWZzdGFiXGZQIHRvIHRoZQorXGZCL3NiaW4vbW91bnQuXGZJdHlwZVxmUiBoZWxwZXJzLCBtZWFuaW5nIHRoYXQgdGhlIGFsdGVybmF0aXZlIGZzdGFiIGZpbGVzIHdpbGwgYmUKK2ludmlzaWJsZSBmb3IgdGhlIGhlbHBlcnMuICBUaGlzIGlzIG5vIHByb2JsZW0gZm9yIG5vcm1hbCBtb3VudHMsIGJ1dCB1c2VyCisobm9uLXJvb3QpIG1vdW50cyBhbHdheXMgcmVxdWlyZSBmc3RhYiB0byB2ZXJpZnkgdGhlIHVzZXIncyByaWdodHMuCisuVFAKKy5CUiBcLXQgLCAiIFwtXC10eXBlcyAiIFxmSWZzdHlwZQorVGhlIGFyZ3VtZW50IGZvbGxvd2luZyB0aGUKKy5CIFwtdAoraXMgdXNlZCB0byBpbmRpY2F0ZSB0aGUgZmlsZXN5c3RlbSB0eXBlLiAgVGhlIGZpbGVzeXN0ZW0gdHlwZXMgd2hpY2ggYXJlCitjdXJyZW50bHkgc3VwcG9ydGVkIGRlcGVuZCBvbiB0aGUgcnVubmluZyBrZXJuZWwuICBTZWUKKy5JIC9wcm9jL2ZpbGVzeXN0ZW1zCithbmQKKy5JIC9saWIvbW9kdWxlcy8kKHVuYW1lIC1yKS9rZXJuZWwvZnMKK2ZvciBhIGNvbXBsZXRlIGxpc3Qgb2YgdGhlIGZpbGVzeXN0ZW1zLiAgVGhlIG1vc3QgY29tbW9uIGFyZSBleHQyLCBleHQzLCBleHQ0LAoreGZzLCBidHJmcywgdmZhdCwgc3lzZnMsIHByb2MsIG5mcyBhbmQgY2lmcy4KKy5zcAorVGhlIHByb2dyYW1zCisuQiBtb3VudAorYW5kCisuQiB1bW91bnQKK3N1cHBvcnQgZmlsZXN5c3RlbSBzdWJ0eXBlcy4gIFRoZSBzdWJ0eXBlIGlzIGRlZmluZWQgYnkgYSAnLnN1YnR5cGUnIHN1ZmZpeC4gIEZvcgorZXhhbXBsZSAgJ2Z1c2Uuc3NoZnMnLiAgSXQncyByZWNvbW1lbmRlZCB0byB1c2Ugc3VidHlwZSBub3RhdGlvbiByYXRoZXIgdGhhbiBhZGQKK2FueSBwcmVmaXggdG8gdGhlIG1vdW50IHNvdXJjZSAoZm9yIGV4YW1wbGUgJ3NzaGZzI2V4YW1wbGUuY29tJyBpcworZGVwcmVjYXRlZCkuCisKK0lmIG5vCisuQiBcLXQKK29wdGlvbiBpcyBnaXZlbiwgb3IgaWYgdGhlCisuQiBhdXRvCit0eXBlIGlzIHNwZWNpZmllZCwgbW91bnQgd2lsbCB0cnkgdG8gZ3Vlc3MgdGhlIGRlc2lyZWQgdHlwZS4KK01vdW50IHVzZXMgdGhlIGJsa2lkIGxpYnJhcnkgZm9yIGd1ZXNzaW5nIHRoZSBmaWxlc3lzdGVtCit0eXBlOyBpZiB0aGF0IGRvZXMgbm90IHR1cm4gdXAgYW55dGhpbmcgdGhhdCBsb29rcyBmYW1pbGlhciwKK21vdW50IHdpbGwgdHJ5IHRvIHJlYWQgdGhlIGZpbGUKKy5JUiAvZXRjL2ZpbGVzeXN0ZW1zICwKK29yLCBpZiB0aGF0IGRvZXMgbm90IGV4aXN0LAorLklSIC9wcm9jL2ZpbGVzeXN0ZW1zIC4KK0FsbCBvZiB0aGUgZmlsZXN5c3RlbSB0eXBlcyBsaXN0ZWQgdGhlcmUgd2lsbCBiZSB0cmllZCwKK2V4Y2VwdCBmb3IgdGhvc2UgdGhhdCBhcmUgbGFiZWxlZCAibm9kZXYiIChlLmcuXCYKKy5JUiBkZXZwdHMgLAorLkkgcHJvYworYW5kCisuSVIgbmZzICkuCitJZgorLkkgL2V0Yy9maWxlc3lzdGVtcworZW5kcyBpbiBhIGxpbmUgd2l0aCBhIHNpbmdsZSAqLCBtb3VudCB3aWxsIHJlYWQKKy5JIC9wcm9jL2ZpbGVzeXN0ZW1zCithZnRlcndhcmRzLiAgV2hpbGUgdHJ5aW5nLCBhbGwgZmlsZXN5c3RlbSB0eXBlcyB3aWxsIGJlCittb3VudGVkIHdpdGggdGhlIG1vdW50IG9wdGlvbiBcZkJzaWxlbnRcZlIuCisuc3AKK1RoZQorLkIgYXV0bwordHlwZSBtYXkgYmUgdXNlZnVsIGZvciB1c2VyLW1vdW50ZWQgZmxvcHBpZXMuCitDcmVhdGluZyBhIGZpbGUKKy5JIC9ldGMvZmlsZXN5c3RlbXMKK2NhbiBiZSB1c2VmdWwgdG8gY2hhbmdlIHRoZSBwcm9iZSBvcmRlciAoZS5nLiwgdG8gdHJ5IHZmYXQgYmVmb3JlIG1zZG9zCitvciBleHQzIGJlZm9yZSBleHQyKSBvciBpZiB5b3UgdXNlIGEga2VybmVsIG1vZHVsZSBhdXRvbG9hZGVyLgorLnNwCitNb3JlIHRoYW4gb25lIHR5cGUgbWF5IGJlIHNwZWNpZmllZCBpbiBhIGNvbW1hLXNlcGFyYXRlZAorbGlzdCwgZm9yIG9wdGlvbgorLkIgXC10CithcyB3ZWxsIGFzIGluIGFuCisuSSAvZXRjL2ZzdGFiCitlbnRyeS4gIFRoZSBsaXN0IG9mIGZpbGVzeXN0ZW0gdHlwZXMgZm9yIG9wdGlvbgorLkIgXC10CitjYW4gYmUgcHJlZml4ZWQgd2l0aAorLkIgbm8KK3RvIHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZXMgb24gd2hpY2ggbm8gYWN0aW9uIHNob3VsZCBiZSB0YWtlbi4KK1RoZSBwcmVmaXgKKy5CIG5vCitoYXMgbm8gZWZmZWN0IHdoZW4gc3BlY2lmaWVkIGluIGFuCisuSSAvZXRjL2ZzdGFiCitlbnRyeS4KKy5zcAorVGhlIHByZWZpeAorLkIgbm8KK2NhbiBiZSBtZWFuaW5nZnVsIHdpdGggdGhlCisuQiBcLWEKK29wdGlvbi4gIEZvciBleGFtcGxlLCB0aGUgY29tbWFuZAorLlJTCisuUlMKKy5zcAorLkIgIm1vdW50IFwtYSBcLXQgbm9tc2RvcyxzbWJmcyIKKy5zcAorLlJFCittb3VudHMgYWxsIGZpbGVzeXN0ZW1zIGV4Y2VwdCB0aG9zZSBvZiB0eXBlCisuSSBtc2RvcworYW5kCisuSVIgc21iZnMgLgorLnNwCitGb3IgbW9zdCB0eXBlcyBhbGwgdGhlCisuQiBtb3VudAorcHJvZ3JhbSBoYXMgdG8gZG8gaXMgaXNzdWUgYSBzaW1wbGUKKy5CUiBtb3VudCAoMikKK3N5c3RlbSBjYWxsLCBhbmQgbm8gZGV0YWlsZWQga25vd2xlZGdlIG9mIHRoZSBmaWxlc3lzdGVtIHR5cGUgaXMgcmVxdWlyZWQuCitGb3IgYSBmZXcgdHlwZXMgaG93ZXZlciAobGlrZSBuZnMsIG5mczQsIGNpZnMsIHNtYmZzLCBuY3BmcykgYW4gYWQgaG9jIGNvZGUgaXMKK25lY2Vzc2FyeS4gIFRoZSBuZnMsIG5mczQsIGNpZnMsIHNtYmZzLCBhbmQgbmNwZnMgZmlsZXN5c3RlbXMKK2hhdmUgYSBzZXBhcmF0ZSBtb3VudCBwcm9ncmFtLiAgSW4gb3JkZXIgdG8gbWFrZSBpdCBwb3NzaWJsZSB0bwordHJlYXQgYWxsIHR5cGVzIGluIGEgdW5pZm9ybSB3YXksIFxmQm1vdW50XGZSIHdpbGwgZXhlY3V0ZSB0aGUgcHJvZ3JhbQorLkJJIC9zYmluL21vdW50LiB0eXBlCisoaWYgdGhhdCBleGlzdHMpIHdoZW4gY2FsbGVkIHdpdGggdHlwZQorLklSIHR5cGUgLgorU2luY2UgZGlmZmVyZW50IHZlcnNpb25zIG9mIHRoZQorLkIgc21ibW91bnQKK3Byb2dyYW0gaGF2ZSBkaWZmZXJlbnQgY2FsbGluZyBjb252ZW50aW9ucywKKy5CIC9zYmluL21vdW50LnNtYmZzCittYXkgaGF2ZSB0byBiZSBhIHNoZWxsIHNjcmlwdCB0aGF0IHNldHMgdXAgdGhlIGRlc2lyZWQgY2FsbC4KKy5SRQorLlRQCisuQlIgXC1VICwgIiBcLVwtdXVpZCAiIFxmSXV1aWQKK01vdW50IHRoZSBwYXJ0aXRpb24gdGhhdCBoYXMgdGhlIHNwZWNpZmllZAorLklSIHV1aWQgLgorLlRQCisuQlIgXC12ICwgIiBcLVwtdmVyYm9zZSIKK1ZlcmJvc2UgbW9kZS4KKy5UUAorLkJSIFwtdyAsICIgXC1cLXJ3IiAsICIgXC1cLXJlYWRcLXdyaXRlIgorTW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC93cml0ZS4gIFRoaXMgaXMgdGhlIGRlZmF1bHQuICBBIHN5bm9ueW0gaXMKKy5CUiAiXC1vIHJ3IiAuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorCisuU0ggRklMRVNZU1RFTS1JTkRFUEVOREVOVCBNT1VOVCBPUFRJT05TCitTb21lIG9mIHRoZXNlIG9wdGlvbnMgYXJlIG9ubHkgdXNlZnVsIHdoZW4gdGhleSBhcHBlYXIgaW4gdGhlCisuSSAvZXRjL2ZzdGFiCitmaWxlLgorCitTb21lIG9mIHRoZXNlIG9wdGlvbnMgY291bGQgYmUgZW5hYmxlZCBvciBkaXNhYmxlZCBieSBkZWZhdWx0CitpbiB0aGUgc3lzdGVtIGtlcm5lbC4gIFRvIGNoZWNrIHRoZSBjdXJyZW50IHNldHRpbmcgc2VlIHRoZSBvcHRpb25zCitpbiAvcHJvYy9tb3VudHMuICBOb3RlIHRoYXQgZmlsZXN5c3RlbXMgYWxzbyBoYXZlIHBlci1maWxlc3lzdGVtCitzcGVjaWZpYyBkZWZhdWx0IG1vdW50IG9wdGlvbnMgKHNlZSBmb3IgZXhhbXBsZSBcZkJ0dW5lMmZzIFwtbFxmUAorb3V0cHV0IGZvciBleHROIGZpbGVzeXN0ZW1zKS4KKworVGhlIGZvbGxvd2luZyBvcHRpb25zIGFwcGx5IHRvIGFueSBmaWxlc3lzdGVtIHRoYXQgaXMgYmVpbmcKK21vdW50ZWQgKGJ1dCBub3QgZXZlcnkgZmlsZXN5c3RlbSBhY3R1YWxseSBob25vcnMgdGhlbSBcKGVuIGUuZy5cJiwgdGhlCisuQiBzeW5jCitvcHRpb24gdG9kYXkgaGFzIGFuIGVmZmVjdCBvbmx5IGZvciBleHQyLCBleHQzLCBmYXQsIHZmYXQgYW5kIHVmcyk6CisKKy5UUAorLkIgYXN5bmMKK0FsbCBJL08gdG8gdGhlIGZpbGVzeXN0ZW0gc2hvdWxkIGJlIGRvbmUgYXN5bmNocm9ub3VzbHkuICAoU2VlIGFsc28gdGhlCisuQiBzeW5jCitvcHRpb24uKQorLlRQCisuQiBhdGltZQorRG8gbm90IHVzZSB0aGUgXGZCbm9hdGltZVxmUiBmZWF0dXJlLCBzbyB0aGUgaW5vZGUgYWNjZXNzIHRpbWUgaXMgY29udHJvbGxlZAorYnkga2VybmVsIGRlZmF1bHRzLiAgU2VlIGFsc28gdGhlIGRlc2NyaXB0aW9ucyBvZiB0aGUgXGZCXCVyZWxhdGltZVxmUiBhbmQKKy5CIHN0cmljdGF0aW1lCittb3VudCBvcHRpb25zLgorLlRQCisuQiBub2F0aW1lCitEbyBub3QgdXBkYXRlIGlub2RlIGFjY2VzcyB0aW1lcyBvbiB0aGlzIGZpbGVzeXN0ZW0gKGUuZy5cJiBmb3IgZmFzdGVyCithY2Nlc3Mgb24gdGhlIG5ld3Mgc3Bvb2wgdG8gc3BlZWQgdXAgbmV3cyBzZXJ2ZXJzKS4gIFRoaXMgd29ya3MgZm9yIGFsbAoraW5vZGUgdHlwZXMgKGRpcmVjdG9yaWVzIHRvbyksIHNvIGl0IGltcGxpZXMgXGZCXCVub2RpcmF0aW1lXGZSLgorLlRQCisuQiBhdXRvCitDYW4gYmUgbW91bnRlZCB3aXRoIHRoZQorLkIgXC1hCitvcHRpb24uCisuVFAKKy5CIG5vYXV0bworQ2FuIG9ubHkgYmUgbW91bnRlZCBleHBsaWNpdGx5IChpLmUuLCB0aGUKKy5CIFwtYQorb3B0aW9uIHdpbGwgbm90IGNhdXNlIHRoZSBmaWxlc3lzdGVtIHRvIGJlIG1vdW50ZWQpLgorLlRQCisubmEKKy5CUiBjb250ZXh0PVxmSWNvbnRleHQgIiwgIiBmc2NvbnRleHQ9XGZJY29udGV4dCAiLCAiIGRlZmNvbnRleHQ9XGZJY29udGV4dCAiLCBhbmQgIiBcJXJvb3Rjb250ZXh0PVxmSWNvbnRleHQKKy5hZAorVGhlCisuQiBjb250ZXh0PQorb3B0aW9uIGlzIHVzZWZ1bCB3aGVuIG1vdW50aW5nIGZpbGVzeXN0ZW1zIHRoYXQgZG8gbm90IHN1cHBvcnQKK2V4dGVuZGVkIGF0dHJpYnV0ZXMsIHN1Y2ggYXMgYSBmbG9wcHkgb3IgaGFyZCBkaXNrIGZvcm1hdHRlZCB3aXRoIFZGQVQsIG9yCitzeXN0ZW1zIHRoYXQgYXJlIG5vdCBub3JtYWxseSBydW5uaW5nIHVuZGVyIFNFTGludXgsIHN1Y2ggYXMgYW4gZXh0MyBmb3JtYXR0ZWQKK2Rpc2sgZnJvbSBhIG5vbi1TRUxpbnV4IHdvcmtzdGF0aW9uLiAgWW91IGNhbiBhbHNvIHVzZQorLkIgY29udGV4dD0KK29uIGZpbGVzeXN0ZW1zIHlvdSBkbyBub3QgdHJ1c3QsIHN1Y2ggYXMgYSBmbG9wcHkuICBJdCBhbHNvIGhlbHBzIGluIGNvbXBhdGliaWxpdHkgd2l0aAoreGF0dHItc3VwcG9ydGluZyBmaWxlc3lzdGVtcyBvbiBlYXJsaWVyIDIuNC48eD4ga2VybmVsIHZlcnNpb25zLiAgRXZlbiB3aGVyZQoreGF0dHJzIGFyZSBzdXBwb3J0ZWQsIHlvdSBjYW4gc2F2ZSB0aW1lIG5vdCBoYXZpbmcgdG8gbGFiZWwgZXZlcnkgZmlsZSBieQorYXNzaWduaW5nIHRoZSBlbnRpcmUgZGlzayBvbmUgc2VjdXJpdHkgY29udGV4dC4KKworQSBjb21tb25seSB1c2VkIG9wdGlvbiBmb3IgcmVtb3ZhYmxlIG1lZGlhIGlzCisuQlIgXCVjb250ZXh0PSJzeXN0ZW1fdTpvYmplY3RfcjpyZW1vdmFibGVfdCIgLgorCitUd28gb3RoZXIgb3B0aW9ucyBhcmUKKy5CIGZzY29udGV4dD0KK2FuZAorLkJSIGRlZmNvbnRleHQ9ICwKK2JvdGggb2Ygd2hpY2ggYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSBvZiB0aGUgY29udGV4dCBvcHRpb24uICBUaGlzIG1lYW5zIHlvdQorY2FuIHVzZSBmc2NvbnRleHQgYW5kIGRlZmNvbnRleHQgd2l0aCBlYWNoIG90aGVyLCBidXQgbmVpdGhlciBjYW4gYmUgdXNlZCB3aXRoCitjb250ZXh0LgorCitUaGUKKy5CIGZzY29udGV4dD0KK29wdGlvbiB3b3JrcyBmb3IgYWxsIGZpbGVzeXN0ZW1zLCByZWdhcmRsZXNzIG9mIHRoZWlyIHhhdHRyCitzdXBwb3J0LiAgVGhlIGZzY29udGV4dCBvcHRpb24gc2V0cyB0aGUgb3ZlcmFyY2hpbmcgZmlsZXN5c3RlbSBsYWJlbCB0byBhCitzcGVjaWZpYyBzZWN1cml0eSBjb250ZXh0LiAgVGhpcyBmaWxlc3lzdGVtIGxhYmVsIGlzIHNlcGFyYXRlIGZyb20gdGhlCitpbmRpdmlkdWFsIGxhYmVscyBvbiB0aGUgZmlsZXMuICBJdCByZXByZXNlbnRzIHRoZSBlbnRpcmUgZmlsZXN5c3RlbSBmb3IKK2NlcnRhaW4ga2luZHMgb2YgcGVybWlzc2lvbiBjaGVja3MsIHN1Y2ggYXMgZHVyaW5nIG1vdW50IG9yIGZpbGUgY3JlYXRpb24uCitJbmRpdmlkdWFsIGZpbGUgbGFiZWxzIGFyZSBzdGlsbCBvYnRhaW5lZCBmcm9tIHRoZSB4YXR0cnMgb24gdGhlIGZpbGVzCit0aGVtc2VsdmVzLiAgVGhlIGNvbnRleHQgb3B0aW9uIGFjdHVhbGx5IHNldHMgdGhlIGFnZ3JlZ2F0ZSBjb250ZXh0IHRoYXQKK2ZzY29udGV4dCBwcm92aWRlcywgaW4gYWRkaXRpb24gdG8gc3VwcGx5aW5nIHRoZSBzYW1lIGxhYmVsIGZvciBpbmRpdmlkdWFsCitmaWxlcy4KKworWW91IGNhbiBzZXQgdGhlIGRlZmF1bHQgc2VjdXJpdHkgY29udGV4dCBmb3IgdW5sYWJlbGVkIGZpbGVzIHVzaW5nCisuQiBkZWZjb250ZXh0PQorb3B0aW9uLiAgVGhpcyBvdmVycmlkZXMgdGhlIHZhbHVlIHNldCBmb3IgdW5sYWJlbGVkIGZpbGVzIGluIHRoZSBwb2xpY3kgYW5kIHJlcXVpcmVzIGEKK2ZpbGVzeXN0ZW0gdGhhdCBzdXBwb3J0cyB4YXR0ciBsYWJlbGluZy4KKworVGhlCisuQiByb290Y29udGV4dD0KK29wdGlvbiBhbGxvd3MgeW91IHRvIGV4cGxpY2l0bHkgbGFiZWwgdGhlIHJvb3QgaW5vZGUgb2YgYSBGUyBiZWluZyBtb3VudGVkCitiZWZvcmUgdGhhdCBGUyBvciBpbm9kZSBiZWNvbWVzIHZpc2libGUgdG8gdXNlcnNwYWNlLiAgVGhpcyB3YXMgZm91bmQgdG8gYmUKK3VzZWZ1bCBmb3IgdGhpbmdzIGxpa2Ugc3RhdGVsZXNzIGxpbnV4LgorCitOb3RlIHRoYXQgdGhlIGtlcm5lbCByZWplY3RzIGFueSByZW1vdW50IHJlcXVlc3QgdGhhdCBpbmNsdWRlcyB0aGUgY29udGV4dAorb3B0aW9uLCBcZkJldmVuXGZQIHdoZW4gdW5jaGFuZ2VkIGZyb20gdGhlIGN1cnJlbnQgY29udGV4dC4KKworLkJSICJXYXJuaW5nOiB0aGUgXGZJY29udGV4dFxmUCB2YWx1ZSBtaWdodCBjb250YWluIGNvbW1hcyIgLAoraW4gd2hpY2ggY2FzZSB0aGUgdmFsdWUgaGFzIHRvIGJlIHByb3Blcmx5IHF1b3RlZCwgb3RoZXJ3aXNlCisuQlIgbW91bnQgKDgpCit3aWxsIGludGVycHJldCB0aGUgY29tbWEgYXMgYSBzZXBhcmF0b3IgYmV0d2VlbiBtb3VudCBvcHRpb25zLiAgRG9uJ3QgZm9yZ2V0IHRoYXQKK3RoZSBzaGVsbCBzdHJpcHMgb2ZmIHF1b3RlcyBhbmQgdGh1cworLkJSICJkb3VibGUgcXVvdGluZyBpcyByZXF1aXJlZCIgLgorRm9yIGV4YW1wbGU6CisuUlMKKy5SUworLnNwCisubmYKKy5CIG1vdW50IFwtdCB0bXBmcyBub25lIC9tbnQgXC1vIFxlCisuQiBcIFwgJ2NvbnRleHQ9InN5c3RlbV91Om9iamVjdF9yOnRtcF90OnMwOmMxMjcsYzQ1NiIsbm9leGVjJworLmZpCisuc3AKKy5SRQorRm9yIG1vcmUgZGV0YWlscywgc2VlCisuQlIgc2VsaW51eCAoOCkuCisuUkUKKworLlRQCisuQiBkZWZhdWx0cworVXNlIHRoZSBkZWZhdWx0IG9wdGlvbnM6CisuQlIgcncgIiwgIiBzdWlkICIsICIgZGV2ICIsICIgZXhlYyAiLCAiIGF1dG8gIiwgIiBub3VzZXIgIiwgYW5kICIgYXN5bmMgLgorCitOb3RlIHRoYXQgdGhlIHJlYWwgc2V0IG9mIGFsbCBkZWZhdWx0IG1vdW50IG9wdGlvbnMgZGVwZW5kcyBvbiBrZXJuZWwKK2FuZCBmaWxlc3lzdGVtIHR5cGUuICBTZWUgdGhlIGJlZ2lubmluZyBvZiB0aGlzIHNlY3Rpb24gZm9yIG1vcmUgZGV0YWlscy4KKy5UUAorLkIgZGV2CitJbnRlcnByZXQgY2hhcmFjdGVyIG9yIGJsb2NrIHNwZWNpYWwgZGV2aWNlcyBvbiB0aGUgZmlsZXN5c3RlbS4KKy5UUAorLkIgbm9kZXYKK0RvIG5vdCBpbnRlcnByZXQgY2hhcmFjdGVyIG9yIGJsb2NrIHNwZWNpYWwgZGV2aWNlcyBvbiB0aGUgZmlsZQorc3lzdGVtLgorLlRQCisuQiBkaXJhdGltZQorVXBkYXRlIGRpcmVjdG9yeSBpbm9kZSBhY2Nlc3MgdGltZXMgb24gdGhpcyBmaWxlc3lzdGVtLiAgVGhpcyBpcyB0aGUgZGVmYXVsdC4KKyhUaGlzIG9wdGlvbiBpcyBpZ25vcmVkIHdoZW4gXGZCbm9hdGltZVxmUiBpcyBzZXQuKQorLlRQCisuQiBub2RpcmF0aW1lCitEbyBub3QgdXBkYXRlIGRpcmVjdG9yeSBpbm9kZSBhY2Nlc3MgdGltZXMgb24gdGhpcyBmaWxlc3lzdGVtLgorKFRoaXMgb3B0aW9uIGlzIGltcGxpZWQgd2hlbiBcZkJub2F0aW1lXGZSIGlzIHNldC4pCisuVFAKKy5CIGRpcnN5bmMKK0FsbCBkaXJlY3RvcnkgdXBkYXRlcyB3aXRoaW4gdGhlIGZpbGVzeXN0ZW0gc2hvdWxkIGJlIGRvbmUgc3luY2hyb25vdXNseS4KK1RoaXMgYWZmZWN0cyB0aGUgZm9sbG93aW5nIHN5c3RlbSBjYWxsczogY3JlYXQsIGxpbmssIHVubGluaywgc3ltbGluaywKK21rZGlyLCBybWRpciwgbWtub2QgYW5kIHJlbmFtZS4KKy5UUAorLkIgZXhlYworUGVybWl0IGV4ZWN1dGlvbiBvZiBiaW5hcmllcy4KKy5UUAorLkIgbm9leGVjCitEbyBub3QgcGVybWl0IGRpcmVjdCBleGVjdXRpb24gb2YgYW55IGJpbmFyaWVzIG9uIHRoZSBtb3VudGVkIGZpbGVzeXN0ZW0uCisoVW50aWwgcmVjZW50bHkgaXQgd2FzIHBvc3NpYmxlIHRvIHJ1biBiaW5hcmllcyBhbnl3YXkgdXNpbmcgYSBjb21tYW5kIGxpa2UKKy9saWIvbGQqLnNvIC9tbnQvYmluYXJ5LiAgVGhpcyB0cmljayBmYWlscyBzaW5jZSBMaW51eCAyLjQuMjUgLyAyLjYuMC4pCisuVFAKKy5CIGdyb3VwCitBbGxvdyBhbiBvcmRpbmFyeSB1c2VyIHRvIG1vdW50IHRoZSBmaWxlc3lzdGVtIGlmIG9uZQorb2YgdGhhdCB1c2VyJ3MgZ3JvdXBzIG1hdGNoZXMgdGhlIGdyb3VwIG9mIHRoZSBkZXZpY2UuCitUaGlzIG9wdGlvbiBpbXBsaWVzIHRoZSBvcHRpb25zCisuQlIgbm9zdWlkICIgYW5kICIgbm9kZXYKKyh1bmxlc3Mgb3ZlcnJpZGRlbiBieSBzdWJzZXF1ZW50IG9wdGlvbnMsIGFzIGluIHRoZSBvcHRpb24gbGluZQorLkJSIGdyb3VwLGRldixzdWlkICkuCisuVFAKKy5CIGl2ZXJzaW9uCitFdmVyeSB0aW1lIHRoZSBpbm9kZSBpcyBtb2RpZmllZCwgdGhlIGlfdmVyc2lvbiBmaWVsZCB3aWxsIGJlIGluY3JlbWVudGVkLgorLlRQCisuQiBub2l2ZXJzaW9uCitEbyBub3QgaW5jcmVtZW50IHRoZSBpX3ZlcnNpb24gaW5vZGUgZmllbGQuCisuVFAKKy5CIG1hbmQKK0FsbG93IG1hbmRhdG9yeSBsb2NrcyBvbiB0aGlzIGZpbGVzeXN0ZW0uICBTZWUKKy5CUiBmY250bCAoMikuCisuVFAKKy5CIG5vbWFuZAorRG8gbm90IGFsbG93IG1hbmRhdG9yeSBsb2NrcyBvbiB0aGlzIGZpbGVzeXN0ZW0uCisuVFAKKy5CIF9uZXRkZXYKK1RoZSBmaWxlc3lzdGVtIHJlc2lkZXMgb24gYSBkZXZpY2UgdGhhdCByZXF1aXJlcyBuZXR3b3JrIGFjY2VzcworKHVzZWQgdG8gcHJldmVudCB0aGUgc3lzdGVtIGZyb20gYXR0ZW1wdGluZyB0byBtb3VudCB0aGVzZSBmaWxlc3lzdGVtcwordW50aWwgdGhlIG5ldHdvcmsgaGFzIGJlZW4gZW5hYmxlZCBvbiB0aGUgc3lzdGVtKS4KKy5UUAorLkIgbm9mYWlsCitEbyBub3QgcmVwb3J0IGVycm9ycyBmb3IgdGhpcyBkZXZpY2UgaWYgaXQgZG9lcyBub3QgZXhpc3QuCisuVFAKKy5CIHJlbGF0aW1lCitVcGRhdGUgaW5vZGUgYWNjZXNzIHRpbWVzIHJlbGF0aXZlIHRvIG1vZGlmeSBvciBjaGFuZ2UgdGltZS4gIEFjY2VzcwordGltZSBpcyBvbmx5IHVwZGF0ZWQgaWYgdGhlIHByZXZpb3VzIGFjY2VzcyB0aW1lIHdhcyBlYXJsaWVyIHRoYW4gdGhlCitjdXJyZW50IG1vZGlmeSBvciBjaGFuZ2UgdGltZS4gIChTaW1pbGFyIHRvIFxmQlwlbm9hdGltZVxmUiwgYnV0IGl0IGRvZXNuJ3QKK2JyZWFrIFxmQm11dHRcZlIgb3Igb3RoZXIgYXBwbGljYXRpb25zIHRoYXQgbmVlZCB0byBrbm93IGlmIGEgZmlsZSBoYXMgYmVlbgorcmVhZCBzaW5jZSB0aGUgbGFzdCB0aW1lIGl0IHdhcyBtb2RpZmllZC4pCisKK1NpbmNlIExpbnV4IDIuNi4zMCwgdGhlIGtlcm5lbCBkZWZhdWx0cyB0byB0aGUgYmVoYXZpb3IgcHJvdmlkZWQgYnkgdGhpcworb3B0aW9uICh1bmxlc3MKKy5CIFwlbm9hdGltZQord2FzIHNwZWNpZmllZCksIGFuZCB0aGUKKy5CIFwlc3RyaWN0YXRpbWUKK29wdGlvbiBpcyByZXF1aXJlZCB0byBvYnRhaW4gdHJhZGl0aW9uYWwgc2VtYW50aWNzLiAgSW4gYWRkaXRpb24sIHNpbmNlIExpbnV4CisyLjYuMzAsIHRoZSBmaWxlJ3MgbGFzdCBhY2Nlc3MgdGltZSBpcyBhbHdheXMgdXBkYXRlZCBpZiBpdCBpcyBtb3JlIHRoYW4gMQorZGF5IG9sZC4KKy5UUAorLkIgbm9yZWxhdGltZQorRG8gbm90IHVzZSB0aGUKKy5CIHJlbGF0aW1lCitmZWF0dXJlLiAgU2VlIGFsc28gdGhlCisuQiBzdHJpY3RhdGltZQorbW91bnQgb3B0aW9uLgorLlRQCisuQiBzdHJpY3RhdGltZQorQWxsb3dzIHRvIGV4cGxpY2l0bHkgcmVxdWVzdCBmdWxsIGF0aW1lIHVwZGF0ZXMuICBUaGlzIG1ha2VzIGl0Citwb3NzaWJsZSBmb3IgdGhlIGtlcm5lbCB0byBkZWZhdWx0IHRvCisuQiBcJXJlbGF0aW1lCitvcgorLkIgXCVub2F0aW1lCitidXQgc3RpbGwgYWxsb3cgdXNlcnNwYWNlIHRvIG92ZXJyaWRlIGl0LiAgRm9yIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgZGVmYXVsdAorc3lzdGVtIG1vdW50IG9wdGlvbnMgc2VlIC9wcm9jL21vdW50cy4KKy5UUAorLkIgbm9zdHJpY3RhdGltZQorVXNlIHRoZSBrZXJuZWwncyBkZWZhdWx0IGJlaGF2aW9yIGZvciBpbm9kZSBhY2Nlc3MgdGltZSB1cGRhdGVzLgorLlRQCisuQiBsYXp5dGltZQorT25seSB1cGRhdGUgdGltZXMgKGF0aW1lLCBtdGltZSwgY3RpbWUpIG9uIHRoZSBpbi1tZW1vcnkgdmVyc2lvbiBvZiB0aGUgZmlsZSBpbm9kZS4KKworVGhpcyBtb3VudCBvcHRpb24gc2lnbmlmaWNhbnRseSByZWR1Y2VzIHdyaXRlcyB0byB0aGUgaW5vZGUgdGFibGUgZm9yCit3b3JrbG9hZHMgdGhhdCBwZXJmb3JtIGZyZXF1ZW50IHJhbmRvbSB3cml0ZXMgdG8gcHJlYWxsb2NhdGVkIGZpbGVzLgorCitUaGUgb24tZGlzayB0aW1lc3RhbXBzIGFyZSB1cGRhdGVkIG9ubHkgd2hlbjoKKy5zcAorLlJTCistIHRoZSBpbm9kZSBuZWVkcyB0byBiZSB1cGRhdGVkIGZvciBzb21lIGNoYW5nZSB1bnJlbGF0ZWQgdG8gZmlsZSB0aW1lc3RhbXBzCisuc3AKKy0gdGhlIGFwcGxpY2F0aW9uIGVtcGxveXMKKy5CUiBmc3luYyAoMiksCisuQlIgc3luY2ZzICgyKSwKK29yCisuQlIgc3luYyAoMikKKy5zcAorLSBhbiB1bmRlbGV0ZWQgaW5vZGUgaXMgZXZpY3RlZCBmcm9tIG1lbW9yeQorLnNwCistIG1vcmUgdGhhbiAyNCBob3VycyBoYXZlIHBhc3NlZCBzaW5jZSB0aGUgaS1ub2RlIHdhcyB3cml0dGVuIHRvIGRpc2suCisuUkUKKy5zcAorLlRQCisuQiBub2xhenl0aW1lCitEbyBub3QgdXNlIHRoZSBsYXp5dGltZSBmZWF0dXJlLgorLlRQCisuQiBzdWlkCitBbGxvdyBzZXQtdXNlci1JRCBvciBzZXQtZ3JvdXAtSUQgYml0cyB0byB0YWtlCitlZmZlY3QuCisuVFAKKy5CIG5vc3VpZAorRG8gbm90IGFsbG93IHNldC11c2VyLUlEIG9yIHNldC1ncm91cC1JRCBiaXRzIHRvIHRha2UKK2VmZmVjdC4KKy5UUAorLkIgc2lsZW50CitUdXJuIG9uIHRoZSBzaWxlbnQgZmxhZy4KKy5UUAorLkIgbG91ZAorVHVybiBvZmYgdGhlIHNpbGVudCBmbGFnLgorLlRQCisuQiBvd25lcgorQWxsb3cgYW4gb3JkaW5hcnkgdXNlciB0byBtb3VudCB0aGUgZmlsZXN5c3RlbSBpZiB0aGF0Cit1c2VyIGlzIHRoZSBvd25lciBvZiB0aGUgZGV2aWNlLgorVGhpcyBvcHRpb24gaW1wbGllcyB0aGUgb3B0aW9ucworLkJSIG5vc3VpZCAiIGFuZCAiIG5vZGV2CisodW5sZXNzIG92ZXJyaWRkZW4gYnkgc3Vic2VxdWVudCBvcHRpb25zLCBhcyBpbiB0aGUgb3B0aW9uIGxpbmUKKy5CUiBvd25lcixkZXYsc3VpZCApLgorLlRQCisuQiByZW1vdW50CitBdHRlbXB0IHRvIHJlbW91bnQgYW4gYWxyZWFkeS1tb3VudGVkIGZpbGVzeXN0ZW0uICBUaGlzIGlzIGNvbW1vbmx5Cit1c2VkIHRvIGNoYW5nZSB0aGUgbW91bnQgZmxhZ3MgZm9yIGEgZmlsZXN5c3RlbSwgZXNwZWNpYWxseSB0byBtYWtlIGEKK3JlYWRvbmx5IGZpbGVzeXN0ZW0gd3JpdGFibGUuICBJdCBkb2VzIG5vdCBjaGFuZ2UgZGV2aWNlIG9yIG1vdW50IHBvaW50LgorCitUaGUgcmVtb3VudCBmdW5jdGlvbmFsaXR5IGZvbGxvd3MgdGhlIHN0YW5kYXJkIHdheSB0aGUgbW91bnQgY29tbWFuZCB3b3Jrcword2l0aCBvcHRpb25zIGZyb20gZnN0YWIuICBUaGlzIG1lYW5zIHRoYXQgXGZCbW91bnRcZlIgZG9lcyBub3QKK3JlYWQgZnN0YWIgKG9yIG10YWIpIG9ubHkgd2hlbiBib3RoCisuSSBkZXZpY2UKK2FuZAorLkkgZGlyCithcmUgc3BlY2lmaWVkLgorLnNwCisuaW4gKzQKKy5CICJtb3VudCBcLW8gcmVtb3VudCxydyAvZGV2L2ZvbyAvZGlyIgorLmluCisuc3AKK0FmdGVyIHRoaXMgY2FsbCBhbGwgb2xkIG1vdW50IG9wdGlvbnMgYXJlIHJlcGxhY2VkIGFuZCBhcmJpdHJhcnkgc3R1ZmYgZnJvbQorZnN0YWIgKG9yIG10YWIpIGlzIGlnbm9yZWQsIGV4Y2VwdCB0aGUgbG9vcD0gb3B0aW9uIHdoaWNoIGlzIGludGVybmFsbHkKK2dlbmVyYXRlZCBhbmQgbWFpbnRhaW5lZCBieSB0aGUgbW91bnQgY29tbWFuZC4KKy5zcAorLmluICs0CisuQiAibW91bnQgXC1vIHJlbW91bnQscncgIC9kaXIiCisuaW4KKy5zcAorQWZ0ZXIgdGhpcyBjYWxsLCBtb3VudCByZWFkcyBmc3RhYiBhbmQgbWVyZ2VzIHRoZXNlIG9wdGlvbnMgd2l0aAordGhlIG9wdGlvbnMgZnJvbSB0aGUgY29tbWFuZCBsaW5lIChcZkJcLW9cZlIpLgorSWYgbm8gbW91bnRwb2ludCBpcyBmb3VuZCBpbiBmc3RhYiwgdGhlbiBhIHJlbW91bnQgd2l0aCB1bnNwZWNpZmllZCBzb3VyY2UgaXMKK2FsbG93ZWQuCisuVFAKKy5CIHJvCitNb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLW9ubHkuCisuVFAKKy5CIHJ3CitNb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlLgorLlRQCisuQiBzeW5jCitBbGwgSS9PIHRvIHRoZSBmaWxlc3lzdGVtIHNob3VsZCBiZSBkb25lIHN5bmNocm9ub3VzbHkuICBJbiB0aGUgY2FzZSBvZgorbWVkaWEgd2l0aCBhIGxpbWl0ZWQgbnVtYmVyIG9mIHdyaXRlIGN5Y2xlcworKGUuZy5cJiBzb21lIGZsYXNoIGRyaXZlcyksIFxmQnN5bmNcZlIgbWF5IGNhdXNlIGxpZmUtY3ljbGUgc2hvcnRlbmluZy4KKy5UUAorLkIgdXNlcgorQWxsb3cgYW4gb3JkaW5hcnkgdXNlciB0byBtb3VudCB0aGUgZmlsZXN5c3RlbS4KK1RoZSBuYW1lIG9mIHRoZSBtb3VudGluZyB1c2VyIGlzIHdyaXR0ZW4gdG8gdGhlIG10YWIgZmlsZSAob3IgdG8gdGhlIHByaXZhdGUKK2xpYm1vdW50IGZpbGUgaW4gL3J1bi9tb3VudCBvbiBzeXN0ZW1zIHdpdGhvdXQgYSByZWd1bGFyIG10YWIpIHNvIHRoYXQgdGhpcworc2FtZSB1c2VyIGNhbiB1bm1vdW50IHRoZSBmaWxlc3lzdGVtIGFnYWluLgorVGhpcyBvcHRpb24gaW1wbGllcyB0aGUgb3B0aW9ucworLkJSIG5vZXhlYyAiLCAiIG5vc3VpZCAiLCBhbmQgIiBub2RldgorKHVubGVzcyBvdmVycmlkZGVuIGJ5IHN1YnNlcXVlbnQgb3B0aW9ucywgYXMgaW4gdGhlIG9wdGlvbiBsaW5lCisuQlIgdXNlcixleGVjLGRldixzdWlkICkuCisuVFAKKy5CIG5vdXNlcgorRm9yYmlkIGFuIG9yZGluYXJ5IHVzZXIgdG8gbW91bnQgdGhlIGZpbGVzeXN0ZW0uCitUaGlzIGlzIHRoZSBkZWZhdWx0OyBpdCBkb2VzIG5vdCBpbXBseSBhbnkgb3RoZXIgb3B0aW9ucy4KKy5UUAorLkIgdXNlcnMKK0FsbG93IGFueSB1c2VyIHRvIG1vdW50IGFuZCB0byB1bm1vdW50IHRoZSBmaWxlc3lzdGVtLCBldmVuCit3aGVuIHNvbWUgb3RoZXIgb3JkaW5hcnkgdXNlciBtb3VudGVkIGl0LgorVGhpcyBvcHRpb24gaW1wbGllcyB0aGUgb3B0aW9ucworLkJSIG5vZXhlYyAiLCAiIG5vc3VpZCAiLCBhbmQgIiBub2RldgorKHVubGVzcyBvdmVycmlkZGVuIGJ5IHN1YnNlcXVlbnQgb3B0aW9ucywgYXMgaW4gdGhlIG9wdGlvbiBsaW5lCisuQlIgdXNlcnMsZXhlYyxkZXYsc3VpZCApLgorLlRQCisuQiB4LSoKK0FsbCBvcHRpb25zIHByZWZpeGVkIHdpdGggIngtIiBhcmUgaW50ZXJwcmV0ZWQgYXMgY29tbWVudHMgb3IgYXMgdXNlcnNwYWNlCithcHBsaWNhdGlvbi1zcGVjaWZpYyBvcHRpb25zLiAgVGhlc2Ugb3B0aW9ucyBhcmUgbm90IHN0b3JlZCBpbiB0aGUgbXRhYiBmaWxlLAorbm9yIHNlbnQgdG8gdGhlIG1vdW50LlxmSXR5cGVcZlIgaGVscGVycyBub3IgdG8gdGhlCisuQlIgbW91bnQgKDIpCitzeXN0ZW0gY2FsbC4gIFRoZSBzdWdnZXN0ZWQgZm9ybWF0IGlzIFxmQngtXGZJYXBwbmFtZVxmUi5cZklvcHRpb25cZlIKKyhlLmcuXCYgXGZCeC1zeXN0ZW1kLmF1dG9tb3VudFxmUikuCisuVFAKKy5CUiB4LW1vdW50Lm1rZGlyIFsgPSBcZkltb2RlXGZSIF0KK0FsbG93IHRvIG1ha2UgYSB0YXJnZXQgZGlyZWN0b3J5IChtb3VudHBvaW50KS4gIFRoZSBvcHRpb25hbCBhcmd1bWVudAorLkkgbW9kZQorc3BlY2lmaWVzIHRoZSBmaWxlc3lzdGVtIGFjY2VzcyBtb2RlIHVzZWQgZm9yCisuQlIgbWtkaXIgKDIpCitpbiBvY3RhbCBub3RhdGlvbi4gIFRoZSBkZWZhdWx0IG1vZGUgaXMgMDc1NS4gIFRoaXMgZnVuY3Rpb25hbGl0eSBpcyBzdXBwb3J0ZWQKK29ubHkgZm9yIHJvb3QgdXNlcnMuCisKKy5TSCAiRklMRVNZU1RFTS1TUEVDSUZJQyBNT1VOVCBPUFRJT05TIgorVGhlIGZvbGxvd2luZyBvcHRpb25zIGFwcGx5IG9ubHkgdG8gY2VydGFpbiBmaWxlc3lzdGVtcy4KK1dlIHNvcnQgdGhlbSBieSBmaWxlc3lzdGVtLiAgVGhleSBhbGwgZm9sbG93IHRoZQorLkIgXC1vCitmbGFnLgorLnNwCitXaGF0IG9wdGlvbnMgYXJlIHN1cHBvcnRlZCBkZXBlbmRzIGEgYml0IG9uIHRoZSBydW5uaW5nIGtlcm5lbC4KK01vcmUgaW5mbyBtYXkgYmUgZm91bmQgaW4gdGhlIGtlcm5lbCBzb3VyY2Ugc3ViZGlyZWN0b3J5CisuSVIgRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcyAuCisKKy5TUyAiTW91bnQgb3B0aW9ucyBmb3IgYWRmcyIKKy5UUAorXGZCdWlkPVxmUFwsXGZJdmFsdWVcZlAgYW5kIFxmQmdpZD1cZlBcLFxmSXZhbHVlXGZQCitTZXQgdGhlIG93bmVyIGFuZCBncm91cCBvZiB0aGUgZmlsZXMgaW4gdGhlIGZpbGVzeXN0ZW0gKGRlZmF1bHQ6IHVpZD1naWQ9MCkuCisuVFAKK1xmQm93bm1hc2s9XGZQXCxcZkl2YWx1ZVxmUCBhbmQgXGZCb3RobWFzaz1cZlBcLFxmSXZhbHVlXGZQCitTZXQgdGhlIHBlcm1pc3Npb24gbWFzayBmb3IgQURGUyAnb3duZXInIHBlcm1pc3Npb25zIGFuZCAnb3RoZXInIHBlcm1pc3Npb25zLAorcmVzcGVjdGl2ZWx5IChkZWZhdWx0OiAwNzAwIGFuZCAwMDc3LCByZXNwZWN0aXZlbHkpLgorU2VlIGFsc28KKy5JUiAvdXNyL3NyYy9saW51eC9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL2FkZnMudHh0IC4KKworLlNTICJNb3VudCBvcHRpb25zIGZvciBhZmZzIgorLlRQCitcZkJ1aWQ9XGZQXCxcZkl2YWx1ZVxmUCBhbmQgXGZCZ2lkPVxmUFwsXGZJdmFsdWVcZlAKK1NldCB0aGUgb3duZXIgYW5kIGdyb3VwIG9mIHRoZSByb290IG9mIHRoZSBmaWxlc3lzdGVtIChkZWZhdWx0OiB1aWQ9Z2lkPTAsCitidXQgd2l0aCBvcHRpb24KKy5CIHVpZAorb3IKKy5CIGdpZAord2l0aG91dCBzcGVjaWZpZWQgdmFsdWUsIHRoZSBVSUQgYW5kIEdJRCBvZiB0aGUgY3VycmVudCBwcm9jZXNzIGFyZSB0YWtlbikuCisuVFAKK1xmQnNldHVpZD1cZlBcLFxmSXZhbHVlXGZQIGFuZCBcZkJzZXRnaWQ9XGZQXCxcZkl2YWx1ZVxmUAorU2V0IHRoZSBvd25lciBhbmQgZ3JvdXAgb2YgYWxsIGZpbGVzLgorLlRQCisuQkkgbW9kZT0gdmFsdWUKK1NldCB0aGUgbW9kZSBvZiBhbGwgZmlsZXMgdG8KKy5JUiB2YWx1ZSAiICYgMDc3NyIKK2Rpc3JlZ2FyZGluZyB0aGUgb3JpZ2luYWwgcGVybWlzc2lvbnMuCitBZGQgc2VhcmNoIHBlcm1pc3Npb24gdG8gZGlyZWN0b3JpZXMgdGhhdCBoYXZlIHJlYWQgcGVybWlzc2lvbi4KK1RoZSB2YWx1ZSBpcyBnaXZlbiBpbiBvY3RhbC4KKy5UUAorLkIgcHJvdGVjdAorRG8gbm90IGFsbG93IGFueSBjaGFuZ2VzIHRvIHRoZSBwcm90ZWN0aW9uIGJpdHMgb24gdGhlIGZpbGVzeXN0ZW0uCisuVFAKKy5CIHVzZW1wCitTZXQgVUlEIGFuZCBHSUQgb2YgdGhlIHJvb3Qgb2YgdGhlIGZpbGVzeXN0ZW0gdG8gdGhlIFVJRCBhbmQgR0lECitvZiB0aGUgbW91bnQgcG9pbnQgdXBvbiB0aGUgZmlyc3Qgc3luYyBvciB1bW91bnQsIGFuZCB0aGVuCitjbGVhciB0aGlzIG9wdGlvbi4gIFN0cmFuZ2UuLi4KKy5UUAorLkIgdmVyYm9zZQorUHJpbnQgYW4gaW5mb3JtYXRpb25hbCBtZXNzYWdlIGZvciBlYWNoIHN1Y2Nlc3NmdWwgbW91bnQuCisuVFAKKy5CSSBwcmVmaXg9IHN0cmluZworUHJlZml4IHVzZWQgYmVmb3JlIHZvbHVtZSBuYW1lLCB3aGVuIGZvbGxvd2luZyBhIGxpbmsuCisuVFAKKy5CSSB2b2x1bWU9IHN0cmluZworUHJlZml4IChvZiBsZW5ndGggYXQgbW9zdCAzMCkgdXNlZCBiZWZvcmUgJy8nIHdoZW4gZm9sbG93aW5nIGEgc3ltYm9saWMgbGluay4KKy5UUAorLkJJIHJlc2VydmVkPSB2YWx1ZQorKERlZmF1bHQ6IDIuKSBOdW1iZXIgb2YgdW51c2VkIGJsb2NrcyBhdCB0aGUgc3RhcnQgb2YgdGhlIGRldmljZS4KKy5UUAorLkJJIHJvb3Q9IHZhbHVlCitHaXZlIGV4cGxpY2l0bHkgdGhlIGxvY2F0aW9uIG9mIHRoZSByb290IGJsb2NrLgorLlRQCisuQkkgYnM9IHZhbHVlCitHaXZlIGJsb2Nrc2l6ZS4gIEFsbG93ZWQgdmFsdWVzIGFyZSA1MTIsIDEwMjQsIDIwNDgsIDQwOTYuCisuVFAKKy5CUiBncnBxdW90YSB8IG5vcXVvdGEgfCBxdW90YSB8IHVzcnF1b3RhCitUaGVzZSBvcHRpb25zIGFyZSBhY2NlcHRlZCBidXQgaWdub3JlZC4KKyhIb3dldmVyLCBxdW90YSB1dGlsaXRpZXMgbWF5IHJlYWN0IHRvIHN1Y2ggc3RyaW5ncyBpbgorLklSIC9ldGMvZnN0YWIgLikKKworLlNTICJNb3VudCBvcHRpb25zIGZvciBidHJmcyIKK0J0cmZzIGlzIGEgY29weS1vbi13cml0ZSBmaWxlc3lzdGVtIGZvciBMaW51eCBhaW1lZCBhdAoraW1wbGVtZW50aW5nIGFkdmFuY2VkIGZlYXR1cmVzIHdoaWxlIGZvY3VzaW5nIG9uIGZhdWx0IHRvbGVyYW5jZSwKK3JlcGFpciwgYW5kIGVhc3kgYWRtaW5pc3RyYXRpb24uCisuVFAKKy5CSSBhbGxvY19zdGFydD0gYnl0ZXMKK0RlYnVnZ2luZyBvcHRpb24gdG8gZm9yY2UgYWxsIGJsb2NrIGFsbG9jYXRpb25zIGFib3ZlIGEgY2VydGFpbgorYnl0ZSB0aHJlc2hvbGQgb24gZWFjaCBibG9jayBkZXZpY2UuICBUaGUgdmFsdWUgaXMgc3BlY2lmaWVkIGluCitieXRlcywgb3B0aW9uYWxseSB3aXRoIGEgSywgTSwgb3IgRyBzdWZmaXgsIGNhc2UgaW5zZW5zaXRpdmUuCitEZWZhdWx0IGlzIDFNQi4KKy5UUAorLkIgYXV0b2RlZnJhZworRGlzYWJsZS9lbmFibGUgYXV0byBkZWZyYWdtZW50YXRpb24uCitBdXRvIGRlZnJhZ21lbnRhdGlvbiBkZXRlY3RzIHNtYWxsIHJhbmRvbSB3cml0ZXMgaW50byBmaWxlcyBhbmQgcXVldWVzCit0aGVtIHVwIGZvciB0aGUgZGVmcmFnIHByb2Nlc3MuICBXb3JrcyBiZXN0IGZvciBzbWFsbCBmaWxlczsKK25vdCB3ZWxsLXN1aXRlZCBmb3IgbGFyZ2UgZGF0YWJhc2Ugd29ya2xvYWRzLgorLlRQCisuQlIgY2hlY2tfaW50IHwgY2hlY2tfaW50X2RhdGEgfCBjaGVja19pbnRfcHJpbnRfbWFzayA9XGZJdmFsdWVcZlIKK1RoZXNlIGRlYnVnZ2luZyBvcHRpb25zIGNvbnRyb2wgdGhlIGJlaGF2aW9yIG9mIHRoZSBpbnRlZ3JpdHkgY2hlY2tpbmcKK21vZHVsZSh0aGUgQlRSRlNfRlNfQ0hFQ0tfSU5URUdSSVRZIGNvbmZpZyBvcHRpb24gcmVxdWlyZWQpLgorCisuQiBjaGVja19pbnQKK2VuYWJsZXMgdGhlIGludGVncml0eSBjaGVja2VyIG1vZHVsZSwgd2hpY2ggZXhhbWluZXMgYWxsCitibG9jay13cml0ZSByZXF1ZXN0cyB0byBlbnN1cmUgb24tZGlzayBjb25zaXN0ZW5jeSwgYXQgYSBsYXJnZQorbWVtb3J5IGFuZCBDUFUgY29zdC4KKworLkIgY2hlY2tfaW50X2RhdGEKK2luY2x1ZGVzIGV4dGVudCBkYXRhIGluIHRoZSBpbnRlZ3JpdHkgY2hlY2tzLCBhbmQKK2ltcGxpZXMgdGhlIGNoZWNrX2ludCBvcHRpb24uCisKKy5CIGNoZWNrX2ludF9wcmludF9tYXNrCit0YWtlcyBhIGJpdG1hc2sgb2YgQlRSRlNJQ19QUklOVF9NQVNLXyogdmFsdWVzCithcyBkZWZpbmVkIGluIGZzL2J0cmZzL2NoZWNrLWludGVncml0eS5jLCB0byBjb250cm9sIHRoZSBpbnRlZ3JpdHkKK2NoZWNrZXIgbW9kdWxlIGJlaGF2aW9yLgorCitTZWUgY29tbWVudHMgYXQgdGhlIHRvcCBvZgorLklSIGZzL2J0cmZzL2NoZWNrLWludGVncml0eS5jCitmb3IgbW9yZSBpbmZvLgorLlRQCisuQkkgY29tbWl0PSBzZWNvbmRzCitTZXQgdGhlIGludGVydmFsIG9mIHBlcmlvZGljIGNvbW1pdCwgMzAgc2Vjb25kcyBieSBkZWZhdWx0LiAgSGlnaGVyCit2YWx1ZXMgZGVmZXIgZGF0YSBiZWluZyBzeW5jZWQgdG8gcGVybWFuZW50IHN0b3JhZ2UsIHdpdGggb2J2aW91cworY29uc2VxdWVuY2VzIHdoZW4gdGhlIHN5c3RlbSBjcmFzaGVzLiAgVGhlIHVwcGVyIGJvdW5kIGlzIG5vdCBmb3JjZWQsCitidXQgYSB3YXJuaW5nIGlzIHByaW50ZWQgaWYgaXQncyBtb3JlIHRoYW4gMzAwIHNlY29uZHMgKDUgbWludXRlcykuCisuVFAKKy5CUiBjb21wcmVzcyB8IGNvbXByZXNzPSBcZkl0eXBlXGZSfCBjb21wcmVzcy1mb3JjZSB8IGNvbXByZXNzLWZvcmNlPSBcZkl0eXBlXGZSCitDb250cm9sIEJUUkZTIGZpbGUgZGF0YSBjb21wcmVzc2lvbi4gIFR5cGUgbWF5IGJlIHNwZWNpZmllZCBhcyAiemxpYiIKKyJsem8iIG9yICJubyIgKGZvciBubyBjb21wcmVzc2lvbiwgdXNlZCBmb3IgcmVtb3VudGluZykuICBJZiBubyB0eXBlCitpcyBzcGVjaWZpZWQsIHpsaWIgaXMgdXNlZC4gIElmIFxmQmNvbXByZXNzLWZvcmNlXGZSIGlzIHNwZWNpZmllZCwKK2FsbCBmaWxlcyB3aWxsIGJlIGNvbXByZXNzZWQsIHdoZXRoZXIgb3Igbm90IHRoZXkgY29tcHJlc3Mgd2VsbC4KK0lmIGNvbXByZXNzaW9uIGlzIGVuYWJsZWQsIFxmQm5vZGF0YWNvd1xmUiBhbmQgXGZCbm9kYXRhc3VtXGZSIGFyZSBkaXNhYmxlZC4KKy5UUAorLkIgZGVncmFkZWQKK0FsbG93IG1vdW50cyB0byBjb250aW51ZSB3aXRoIG1pc3NpbmcgZGV2aWNlcy4gIEEgcmVhZC13cml0ZSBtb3VudCBtYXkKK2ZhaWwgd2l0aCB0b28gbWFueSBkZXZpY2VzIG1pc3NpbmcsIGZvciBleGFtcGxlIGlmIGEgc3RyaXBlIG1lbWJlcgoraXMgY29tcGxldGVseSBtaXNzaW5nLgorLlRQCisuQkkgZGV2aWNlPSBkZXZpY2VwYXRoCitTcGVjaWZ5IGEgZGV2aWNlIGR1cmluZyBtb3VudCBzbyB0aGF0IGlvY3RscyBvbiB0aGUgY29udHJvbCBkZXZpY2UKK2NhbiBiZSBhdm9pZGVkLiAgRXNwZWNpYWxseSB1c2VmdWwgd2hlbiB0cnlpbmcgdG8gbW91bnQgYSBtdWx0aS1kZXZpY2UKK3NldHVwIGFzIHJvb3QuICBNYXkgYmUgc3BlY2lmaWVkIG11bHRpcGxlIHRpbWVzIGZvciBtdWx0aXBsZSBkZXZpY2VzLgorLlRQCisuQiBkaXNjYXJkCitEaXNhYmxlL2VuYWJsZSB0aGUgZGlzY2FyZCBtb3VudCBvcHRpb24uCitUaGUgZGlzY2FyZCBmdW5jdGlvbiBpc3N1ZXMgZnJlcXVlbnQgY29tbWFuZHMgdG8gbGV0IHRoZSBibG9jayBkZXZpY2UKK3JlY2xhaW0gc3BhY2UgZnJlZWQgYnkgdGhlIGZpbGVzeXN0ZW0uCitUaGlzIGlzIHVzZWZ1bCBmb3IgU1NEIGRldmljZXMsIHRoaW5seSBwcm92aXNpb25lZAorTFVOcyBhbmQgdmlydHVhbCBtYWNoaW5lIGltYWdlcywgYnV0IG1heSBoYXZlIGEgc2lnbmlmaWNhbnQKK3BlcmZvcm1hbmNlIGltcGFjdC4gIChUaGUgXGZCZnN0cmltXGZSIGNvbW1hbmQgaXMgYWxzbyBhdmFpbGFibGUgdG8KK2luaXRpYXRlIGJhdGNoIHRyaW1zIGZyb20gdXNlcnNwYWNlLikKKy5UUAorLkIgZW5vc3BjX2RlYnVnCitEaXNhYmxlL2VuYWJsZSBkZWJ1Z2dpbmcgb3B0aW9uIHRvIGJlIG1vcmUgdmVyYm9zZSBpbiBzb21lIEVOT1NQQyBjb25kaXRpb25zLgorLlRQCisuQkkgZmF0YWxfZXJyb3JzPSBhY3Rpb24KK0FjdGlvbiB0byB0YWtlIHdoZW4gZW5jb3VudGVyaW5nIGEgZmF0YWwgZXJyb3I6IAorICAiYnVnIiAtIEJVRygpIG9uIGEgZmF0YWwgZXJyb3IuICBUaGlzIGlzIHRoZSBkZWZhdWx0LgorICAicGFuaWMiIC0gcGFuaWMoKSBvbiBhIGZhdGFsIGVycm9yLgorLlRQCisuQiBmbHVzaG9uY29tbWl0CitUaGUKKy5CIGZsdXNob25jb21taXQKK21vdW50IG9wdGlvbiBmb3JjZXMgYW55IGRhdGEgZGlydGllZCBieSBhIHdyaXRlIGluIGEKK3ByaW9yIHRyYW5zYWN0aW9uIHRvIGNvbW1pdCBhcyBwYXJ0IG9mIHRoZSBjdXJyZW50IGNvbW1pdC4gIFRoaXMgbWFrZXMKK3RoZSBjb21taXR0ZWQgc3RhdGUgYSBmdWxseSBjb25zaXN0ZW50IHZpZXcgb2YgdGhlIGZpbGVzeXN0ZW0gZnJvbSB0aGUKK2FwcGxpY2F0aW9uJ3MgcGVyc3BlY3RpdmUgKGkuZS4sIGl0IGluY2x1ZGVzIGFsbCBjb21wbGV0ZWQgZmlsZXN5c3RlbQorb3BlcmF0aW9ucykuICBUaGlzIHdhcyBwcmV2aW91c2x5IHRoZSBiZWhhdmlvciBvbmx5IHdoZW4gYSBzbmFwc2hvdCBpcworY3JlYXRlZC4KKy5UUAorLkIgaW5vZGVfY2FjaGUKK0VuYWJsZSBmcmVlIGlub2RlIG51bWJlciBjYWNoaW5nLiAgIERlZmF1bHRzIHRvIG9mZiBkdWUgdG8gYW4gb3ZlcmZsb3cKK3Byb2JsZW0gd2hlbiB0aGUgZnJlZSBzcGFjZSBDUkNzIGRvbid0IGZpdCBpbnNpZGUgYSBzaW5nbGUgcGFnZS4KKy5UUAorLkJJIG1heF9pbmxpbmU9IGJ5dGVzCitTcGVjaWZ5IHRoZSBtYXhpbXVtIGFtb3VudCBvZiBzcGFjZSwgaW4gYnl0ZXMsIHRoYXQgY2FuIGJlIGlubGluZWQgaW4KK2EgbWV0YWRhdGEgQi10cmVlIGxlYWYuICBUaGUgdmFsdWUgaXMgc3BlY2lmaWVkIGluIGJ5dGVzLCBvcHRpb25hbGx5Cit3aXRoIGEgSywgTSwgb3IgRyBzdWZmaXgsIGNhc2UgaW5zZW5zaXRpdmUuICBJbiBwcmFjdGljZSwgdGhpcyB2YWx1ZQoraXMgbGltaXRlZCBieSB0aGUgcm9vdCBzZWN0b3Igc2l6ZSwgd2l0aCBzb21lIHNwYWNlIHVuYXZhaWxhYmxlIGR1ZQordG8gbGVhZiBoZWFkZXJzLiAgRm9yIGEgNGsgc2VjdG9yc2l6ZSwgbWF4IGlubGluZSBkYXRhIGlzIH4zOTAwIGJ5dGVzLgorLlRQCisuQkkgbWV0YWRhdGFfcmF0aW89IHZhbHVlCitTcGVjaWZ5IHRoYXQgMSBtZXRhZGF0YSBjaHVuayBzaG91bGQgYmUgYWxsb2NhdGVkIGFmdGVyIGV2ZXJ5CisuSSB2YWx1ZQorZGF0YSBjaHVua3MuICBPZmYgYnkgZGVmYXVsdC4KKy5UUAorLkIgbm9hY2wKK0VuYWJsZS9kaXNhYmxlIHN1cHBvcnQgZm9yIFBvc2l4IEFjY2VzcyBDb250cm9sIExpc3RzIChBQ0xzKS4gIFNlZSB0aGUKKy5CUiBhY2wgKDUpCittYW51YWwgcGFnZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBBQ0xzLgorLlRQCisuQiBub2JhcnJpZXIKK0VuYWJsZS9kaXNhYmxlIHRoZSB1c2Ugb2YgYmxvY2stbGF5ZXIgd3JpdGUgYmFycmllcnMuICBXcml0ZSBiYXJyaWVycworZW5zdXJlIHRoYXQgY2VydGFpbiBJT3MgbWFrZSBpdCB0aHJvdWdoIHRoZSBkZXZpY2UgY2FjaGUgYW5kIGFyZSBvbgorcGVyc2lzdGVudCBzdG9yYWdlLiAgSWYgZGlzYWJsZWQgb24gYSBkZXZpY2Ugd2l0aCBhIHZvbGF0aWxlCisobm9uLWJhdHRlcnktYmFja2VkKSB3cml0ZS1iYWNrIGNhY2hlLCB0aGUgXGZCbm9iYXJyaWVyXGZSIG9wdGlvbiB3aWxsCitsZWFkIHRvIGZpbGVzeXN0ZW0gY29ycnVwdGlvbiBvbiBhIHN5c3RlbSBjcmFzaCBvciBwb3dlciBsb3NzLgorLlRQCisuQiBub2RhdGFjb3cKK0VuYWJsZS9kaXNhYmxlIGRhdGEgY29weS1vbi13cml0ZSBmb3IgbmV3bHkgY3JlYXRlZCBmaWxlcy4KK1RoaXMgb3B0aW9uIGltcGxpZXMgXGZCbm9kYXRhc3VtXGZSLCBhbmQgZGlzYWJsZXMgYWxsIGNvbXByZXNzaW9uLgorLlRQCisuQiBub2RhdGFzdW0KK0VuYWJsZS9kaXNhYmxlIGRhdGEgY2hlY2tzdW1taW5nIGZvciBuZXdseSBjcmVhdGVkIGZpbGVzLgorVGhpcyBvcHRpb24gaW1wbGllcyBcZkJkYXRhY293XGZSLgorLlRQCisuQiBub3RyZWVsb2cKK0VuYWJsZS9kaXNhYmxlIHRoZSB0cmVlIGxvZ2dpbmcgdXNlZCBmb3IgZnN5bmMgYW5kIE9fU1lOQyB3cml0ZXMuCisuVFAKKy5CIHJlY292ZXJ5CitFbmFibGUgYXV0b3JlY292ZXJ5IGF0dGVtcHRzIGlmIGEgYmFkIHRyZWUgcm9vdCBpcyBmb3VuZCBhdCBtb3VudCB0aW1lLgorQ3VycmVudGx5IHRoaXMgc2NhbnMgYSBsaXN0IG9mIHNldmVyYWwgcHJldmlvdXMgdHJlZSByb290cyBhbmQgdHJpZXMgdG8KK3VzZSB0aGUgZmlyc3QgcmVhZGFibGUuCisuVFAKKy5CIHJlc2Nhbl91dWlkX3RyZWUKK0ZvcmNlIGNoZWNrIGFuZCByZWJ1aWxkIHByb2NlZHVyZSBvZiB0aGUgVVVJRCB0cmVlLiAgVGhpcyBzaG91bGQgbm90Citub3JtYWxseSBiZSBuZWVkZWQuCisuVFAKKy5CIHNraXBfYmFsYW5jZQorU2tpcCBhdXRvbWF0aWMgcmVzdW1lIG9mIGFuIGludGVycnVwdGVkIGJhbGFuY2Ugb3BlcmF0aW9uIGFmdGVyIG1vdW50LgorTWF5IGJlIHJlc3VtZWQgd2l0aCAiYnRyZnMgYmFsYW5jZSByZXN1bWUuIgorLlRQCisuQiBub3NwYWNlX2NhY2hlCitEaXNhYmxlIGZyZWVzcGFjZSBjYWNoZSBsb2FkaW5nIHdpdGhvdXQgY2xlYXJpbmcgdGhlIGNhY2hlLgorLlRQCisuQiBjbGVhcl9jYWNoZQorRm9yY2UgY2xlYXJpbmcgYW5kIHJlYnVpbGRpbmcgb2YgdGhlIGRpc2sgc3BhY2UgY2FjaGUgaWYgc29tZXRoaW5nCitoYXMgZ29uZSB3cm9uZy4KKy5UUAorLkJSIHNzZCB8IG5vc3NkIHwgc3NkX3NwcmVhZAorT3B0aW9ucyB0byBjb250cm9sIHNzZCBhbGxvY2F0aW9uIHNjaGVtZXMuICBCeSBkZWZhdWx0LCBCVFJGUyB3aWxsCitlbmFibGUgb3IgZGlzYWJsZSBzc2QgYWxsb2NhdGlvbiBoZXVyaXN0aWNzIGRlcGVuZGluZyBvbiB3aGV0aGVyIGEKK3JvdGF0aW9uYWwgb3Igbm9uLXJvdGF0aW9uYWwgZGlzayBpcyBpbiB1c2UuICBUaGUgXGZCc3NkXGZSIGFuZAorXGZCbm9zc2RcZlIgb3B0aW9ucyBjYW4gb3ZlcnJpZGUgdGhpcyBhdXRvZGV0ZWN0aW9uLgorCitUaGUgXGZCc3NkX3NwcmVhZFxmUiBtb3VudCBvcHRpb24gYXR0ZW1wdHMgdG8gYWxsb2NhdGUgaW50byBiaWcgY2h1bmtzCitvZiB1bnVzZWQgc3BhY2UsIGFuZCBtYXkgcGVyZm9ybSBiZXR0ZXIgb24gbG93LWVuZCBzc2RzLiAgXGZCc3NkX3NwcmVhZFxmUgoraW1wbGllcyBcZkJzc2RcZlIsIGVuYWJsaW5nIGFsbCBvdGhlciBzc2QgaGV1cmlzdGljcyBhcyB3ZWxsLgorLlRQCisuQkkgc3Vidm9sPSBwYXRoCitNb3VudCBzdWJ2b2x1bWUgYXQKKy5JUiBwYXRoCityYXRoZXIgdGhhbiB0aGUgcm9vdCBzdWJ2b2x1bWUuICBUaGUKKy5JUiBwYXRoCitpcyByZWxhdGl2ZSB0byB0aGUgdG9wIGxldmVsIHN1YnZvbHVtZS4KKy5UUAorLkJJIHN1YnZvbGlkPSBJRAorTW91bnQgc3Vidm9sdW1lIHNwZWNpZmllZCBieSBhbiBJRCBudW1iZXIgcmF0aGVyIHRoYW4gdGhlIHJvb3Qgc3Vidm9sdW1lLgorVGhpcyBhbGxvd3MgbW91bnRpbmcgb2Ygc3Vidm9sdW1lcyB3aGljaCBhcmUgbm90IGluIHRoZSByb290IG9mIHRoZSBtb3VudGVkCitmaWxlc3lzdGVtLgorWW91IGNhbiB1c2UgImJ0cmZzIHN1YnZvbHVtZSBsaXN0IiB0byBzZWUgc3Vidm9sdW1lIElEIG51bWJlcnMuCisuVFAKKy5CSSBzdWJ2b2xyb290aWQ9IG9iamVjdGlkICIgIFxmUihkZXByZWNhdGVkKSIKK01vdW50IHN1YnZvbHVtZSBzcGVjaWZpZWQgYnkKKy5JUiBvYmplY3RpZAorcmF0aGVyIHRoYW4gdGhlIHJvb3Qgc3Vidm9sdW1lLgorVGhpcyBhbGxvd3MgbW91bnRpbmcgb2Ygc3Vidm9sdW1lcyB3aGljaCBhcmUgbm90IGluIHRoZSByb290IG9mIHRoZSBtb3VudGVkCitmaWxlc3lzdGVtLgorWW91IGNhbiB1c2UgImJ0cmZzIHN1YnZvbHVtZSBzaG93ICIgdG8gc2VlIHRoZSBvYmplY3QgSUQgZm9yIGEgc3Vidm9sdW1lLgorLlRQCisuQkkgdGhyZWFkX3Bvb2w9IG51bWJlcgorVGhlIG51bWJlciBvZiB3b3JrZXIgdGhyZWFkcyB0byBhbGxvY2F0ZS4gIFRoZSBkZWZhdWx0IG51bWJlciBpcyBlcXVhbAordG8gdGhlIG51bWJlciBvZiBDUFVzICsgMiwgb3IgOCwgd2hpY2hldmVyIGlzIHNtYWxsZXIuCisuVFAKKy5CIHVzZXJfc3Vidm9sX3JtX2FsbG93ZWQKK0FsbG93IHN1YnZvbHVtZXMgdG8gYmUgZGVsZXRlZCBieSBhIG5vbi1yb290IHVzZXIuICBVc2Ugd2l0aCBjYXV0aW9uLgorCisuU1MgIk1vdW50IG9wdGlvbnMgZm9yIGNpZnMiCitTZWUgdGhlIG9wdGlvbnMgc2VjdGlvbiBvZiB0aGUKKy5CUiBtb3VudC5jaWZzICg4KQorbWFuIHBhZ2UgKGNpZnMtdXRpbHMgcGFja2FnZSBtdXN0IGJlIGluc3RhbGxlZCkuCisKKy5TUyAiTW91bnQgb3B0aW9ucyBmb3IgY29oZXJlbnQiCitOb25lLgorCisuU1MgIk1vdW50IG9wdGlvbnMgZm9yIGRlYnVnZnMiCitUaGUgZGVidWdmcyBmaWxlc3lzdGVtIGlzIGEgcHNldWRvIGZpbGVzeXN0ZW0sIHRyYWRpdGlvbmFsbHkgbW91bnRlZCBvbgorLklSIC9zeXMva2VybmVsL2RlYnVnIC4KKy5cIiBvciBqdXN0IC9kZWJ1ZworLlwiIHByZXNlbnQgc2luY2UgMi42LjExCitBcyBvZiBrZXJuZWwgdmVyc2lvbiAzLjQsIGRlYnVnZnMgaGFzIHRoZSBmb2xsb3dpbmcgb3B0aW9uczoKKy5UUAorLkJJIHVpZD0gbiAiLCBnaWQ9IiBuCitTZXQgdGhlIG93bmVyIGFuZCBncm91cCBvZiB0aGUgbW91bnRwb2ludC4KKy5UUAorLkJJIG1vZGU9IHZhbHVlCitTZXRzIHRoZSBtb2RlIG9mIHRoZSBtb3VudHBvaW50LgorCisuU1MgIk1vdW50IG9wdGlvbnMgZm9yIGRldnB0cyIKK1RoZSBkZXZwdHMgZmlsZXN5c3RlbSBpcyBhIHBzZXVkbyBmaWxlc3lzdGVtLCB0cmFkaXRpb25hbGx5IG1vdW50ZWQgb24KKy5JUiAvZGV2L3B0cyAuCitJbiBvcmRlciB0byBhY3F1aXJlIGEgcHNldWRvIHRlcm1pbmFsLCBhIHByb2Nlc3Mgb3BlbnMKKy5JUiAvZGV2L3B0bXggOwordGhlIG51bWJlciBvZiB0aGUgcHNldWRvIHRlcm1pbmFsIGlzIHRoZW4gbWFkZSBhdmFpbGFibGUgdG8gdGhlIHByb2Nlc3MKK2FuZCB0aGUgcHNldWRvIHRlcm1pbmFsIHNsYXZlIGNhbiBiZSBhY2Nlc3NlZCBhcworLklSIC9kZXYvcHRzLyA8bnVtYmVyPi4KKy5UUAorXGZCdWlkPVxmUFwsXGZJdmFsdWVcZlAgYW5kIFxmQmdpZD1cZlBcLFxmSXZhbHVlXGZQCitUaGlzIHNldHMgdGhlIG93bmVyIG9yIHRoZSBncm91cCBvZiBuZXdseSBjcmVhdGVkIFBUWXMgdG8KK3RoZSBzcGVjaWZpZWQgdmFsdWVzLiAgV2hlbiBub3RoaW5nIGlzIHNwZWNpZmllZCwgdGhleSB3aWxsCitiZSBzZXQgdG8gdGhlIFVJRCBhbmQgR0lEIG9mIHRoZSBjcmVhdGluZyBwcm9jZXNzLgorRm9yIGV4YW1wbGUsIGlmIHRoZXJlIGlzIGEgdHR5IGdyb3VwIHdpdGggR0lEIDUsIHRoZW4KKy5CIGdpZD01Cit3aWxsIGNhdXNlIG5ld2x5IGNyZWF0ZWQgUFRZcyB0byBiZWxvbmcgdG8gdGhlIHR0eSBncm91cC4KKy5UUAorLkJJIG1vZGU9IHZhbHVlCitTZXQgdGhlIG1vZGUgb2YgbmV3bHkgY3JlYXRlZCBQVFlzIHRvIHRoZSBzcGVjaWZpZWQgdmFsdWUuCitUaGUgZGVmYXVsdCBpcyAwNjAwLgorQSB2YWx1ZSBvZgorLkIgbW9kZT02MjAKK2FuZAorLkIgZ2lkPTUKK21ha2VzICJtZXNnIHkiIHRoZSBkZWZhdWx0IG9uIG5ld2x5IGNyZWF0ZWQgUFRZcy4KKy5UUAorXGZCbmV3aW5zdGFuY2UKK0NyZWF0ZSBhIHByaXZhdGUgaW5zdGFuY2Ugb2YgZGV2cHRzIGZpbGVzeXN0ZW0sIHN1Y2ggdGhhdAoraW5kaWNlcyBvZiBwdHlzIGFsbG9jYXRlZCBpbiB0aGlzIG5ldyBpbnN0YW5jZSBhcmUKK2luZGVwZW5kZW50IG9mIGluZGljZXMgY3JlYXRlZCBpbiBvdGhlciBpbnN0YW5jZXMgb2YgZGV2cHRzLgorCitBbGwgbW91bnRzIG9mIGRldnB0cyB3aXRob3V0IHRoaXMKKy5CIG5ld2luc3RhbmNlCitvcHRpb24gc2hhcmUgdGhlIHNhbWUgc2V0IG9mIHB0eSBpbmRpY2VzIChpLmUgbGVnYWN5IG1vZGUpLgorRWFjaCBtb3VudCBvZiBkZXZwdHMgd2l0aCB0aGUKKy5CIG5ld2luc3RhbmNlCitvcHRpb24gaGFzIGEgcHJpdmF0ZSBzZXQgb2YgcHR5IGluZGljZXMuCisKK1RoaXMgb3B0aW9uIGlzIG1haW5seSB1c2VkIHRvIHN1cHBvcnQgY29udGFpbmVycyBpbiB0aGUKK2xpbnV4IGtlcm5lbC4gIEl0IGlzIGltcGxlbWVudGVkIGluIGxpbnV4IGtlcm5lbCB2ZXJzaW9ucworc3RhcnRpbmcgd2l0aCAyLjYuMjkuICBGdXJ0aGVyLCB0aGlzIG1vdW50IG9wdGlvbiBpcyB2YWxpZAorb25seSBpZiBDT05GSUdfREVWUFRTX01VTFRJUExFX0lOU1RBTkNFUyBpcyBlbmFibGVkIGluIHRoZQora2VybmVsIGNvbmZpZ3VyYXRpb24uCisKK1RvIHVzZSB0aGlzIG9wdGlvbiBlZmZlY3RpdmVseSwKKy5JIC9kZXYvcHRteAorbXVzdCBiZSBhIHN5bWJvbGljIGxpbmsgdG8KKy5JIHB0cy9wdG14LgorU2VlCisuSSBEb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL2RldnB0cy50eHQKK2luIHRoZSBsaW51eCBrZXJuZWwgc291cmNlIHRyZWUgZm9yIGRldGFpbHMuCisuVFAKKy5CSSBwdG14bW9kZT0gdmFsdWUKKworU2V0IHRoZSBtb2RlIGZvciB0aGUgbmV3CisuSSBwdG14CitkZXZpY2Ugbm9kZSBpbiB0aGUgZGV2cHRzIGZpbGVzeXN0ZW0uCisKK1dpdGggdGhlIHN1cHBvcnQgZm9yIG11bHRpcGxlIGluc3RhbmNlcyBvZiBkZXZwdHMgKHNlZQorLkIgbmV3aW5zdGFuY2UKK29wdGlvbiBhYm92ZSksIGVhY2ggaW5zdGFuY2UgaGFzIGEgcHJpdmF0ZQorLkkgcHRteAorbm9kZSBpbiB0aGUgcm9vdCBvZiB0aGUgZGV2cHRzIGZpbGVzeXN0ZW0gKHR5cGljYWxseQorLklSIC9kZXYvcHRzL3B0bXggKS4KKworRm9yIGNvbXBhdGliaWxpdHkgd2l0aCBvbGRlciB2ZXJzaW9ucyBvZiB0aGUga2VybmVsLCB0aGUKK2RlZmF1bHQgbW9kZSBvZiB0aGUgbmV3CisuSSBwdG14Citub2RlIGlzIDAwMDAuCisuQkkgcHRteG1vZGU9IHZhbHVlCitzcGVjaWZpZXMgYSBtb3JlIHVzZWZ1bCBtb2RlIGZvciB0aGUKKy5JIHB0bXgKK25vZGUgYW5kIGlzIGhpZ2hseSByZWNvbW1lbmRlZCB3aGVuIHRoZQorLkIgbmV3aW5zdGFuY2UKK29wdGlvbiBpcyBzcGVjaWZpZWQuCisKK1RoaXMgb3B0aW9uIGlzIG9ubHkgaW1wbGVtZW50ZWQgaW4gbGludXgga2VybmVsIHZlcnNpb25zCitzdGFydGluZyB3aXRoIDIuNi4yOS4gIEZ1cnRoZXIsIHRoaXMgb3B0aW9uIGlzIHZhbGlkIG9ubHkgaWYKK0NPTkZJR19ERVZQVFNfTVVMVElQTEVfSU5TVEFOQ0VTIGlzIGVuYWJsZWQgaW4gdGhlIGtlcm5lbAorY29uZmlndXJhdGlvbi4KKworLlNTICJNb3VudCBvcHRpb25zIGZvciBleHQyIgorVGhlIGBleHQyJyBmaWxlc3lzdGVtIGlzIHRoZSBzdGFuZGFyZCBMaW51eCBmaWxlc3lzdGVtLgorU2luY2UgTGludXggMi41LjQ2LCBmb3IgbW9zdCBtb3VudCBvcHRpb25zIHRoZSBkZWZhdWx0CitpcyBkZXRlcm1pbmVkIGJ5IHRoZSBmaWxlc3lzdGVtIHN1cGVyYmxvY2suICBTZXQgdGhlbSB3aXRoCisuQlIgdHVuZTJmcyAoOCkuCisuVFAKKy5CUiBhY2wgfCBub2FjbAorU3VwcG9ydCBQT1NJWCBBY2Nlc3MgQ29udHJvbCBMaXN0cyAob3Igbm90KS4KKy5cIiByZXF1aXJlcyBDT05GSUdfRVhUMl9GU19QT1NJWF9BQ0wKKy5UUAorLkJSIGJzZGRmIHwgbWluaXhkZgorU2V0IHRoZSBiZWhhdmlvciBmb3IgdGhlCisuSSBzdGF0ZnMKK3N5c3RlbSBjYWxsLiAgVGhlCisuQiBtaW5peGRmCitiZWhhdmlvciBpcyB0byByZXR1cm4gaW4gdGhlCisuSSBmX2Jsb2NrcworZmllbGQgdGhlIHRvdGFsIG51bWJlciBvZiBibG9ja3Mgb2YgdGhlIGZpbGVzeXN0ZW0sIHdoaWxlIHRoZQorLkIgYnNkZGYKK2JlaGF2aW9yICh3aGljaCBpcyB0aGUgZGVmYXVsdCkgaXMgdG8gc3VidHJhY3QgdGhlIG92ZXJoZWFkIGJsb2NrcwordXNlZCBieSB0aGUgZXh0MiBmaWxlc3lzdGVtIGFuZCBub3QgYXZhaWxhYmxlIGZvciBmaWxlIHN0b3JhZ2UuICBUaHVzCisuc3AgMQorJSBtb3VudCAvayBcLW8gbWluaXhkZjsgZGYgL2s7IHVtb3VudCAvaworLlRTCit0YWIoIyk7CitsMiBsMiByMiBsMiBsMiBsCitsIGMgciBjIGMgbC4KK0ZpbGVzeXN0ZW0jMTAyNC1ibG9ja3MjVXNlZCNBdmFpbGFibGUjQ2FwYWNpdHkjTW91bnRlZCBvbgorL2Rldi9zZGE2IzI2MzA2NTUjODY5NTQjMjQxMjE2OSMzJSMvaworLlRFCisuc3AgMQorJSBtb3VudCAvayBcLW8gYnNkZGY7IGRmIC9rOyB1bW91bnQgL2sKKy5UUwordGFiKCMpOworbDIgbDIgcjIgbDIgbDIgbAorbCBjIHIgYyBjIGwuCitGaWxlc3lzdGVtIzEwMjQtYmxvY2tzI1VzZWQjQXZhaWxhYmxlI0NhcGFjaXR5I01vdW50ZWQgb24KKy9kZXYvc2RhNiMyNTQzNzE0IzEzIzI0MTIxNjkjMCUjL2sKKy5URQorLnNwIDEKKyhOb3RlIHRoYXQgdGhpcyBleGFtcGxlIHNob3dzIHRoYXQgb25lIGNhbiBhZGQgY29tbWFuZC1saW5lIG9wdGlvbnMKK3RvIHRoZSBvcHRpb25zIGdpdmVuIGluCisuSVIgL2V0Yy9mc3RhYiAuKQorCisuVFAKKy5CUiBjaGVjaz1ub25lICIgb3IgIiBub2NoZWNrCitObyBjaGVja2luZyBpcyBkb25lIGF0IG1vdW50IHRpbWUuICBUaGlzIGlzIHRoZSBkZWZhdWx0LiAgVGhpcyBpcyBmYXN0LgorSXQgaXMgd2lzZSB0byBpbnZva2UKKy5CUiBlMmZzY2sgKDgpCitldmVyeSBub3cgYW5kIHRoZW4sIGUuZy5cJiBhdCBib290IHRpbWUuICBUaGUgbm9uLWRlZmF1bHQgYmVoYXZpb3IgaXMgdW5zdXBwb3J0ZWQKKyhjaGVjaz1ub3JtYWwgYW5kIGNoZWNrPXN0cmljdCBvcHRpb25zIGhhdmUgYmVlbiByZW1vdmVkKS4gIE5vdGUgdGhhdCB0aGVzZSBtb3VudCBvcHRpb25zCitkb24ndCBoYXZlIHRvIGJlIHN1cHBvcnRlZCBpZiBleHQ0IGtlcm5lbCBkcml2ZXIgaXMgdXNlZCBmb3IgZXh0MiBhbmQgZXh0MyBmaWxlc3lzdGVtcy4KKy5UUAorLkIgZGVidWcKK1ByaW50IGRlYnVnZ2luZyBpbmZvIHVwb24gZWFjaCAocmUpbW91bnQuCisuVFAKKy5CUiBlcnJvcnM9IHsgY29udGludWUgfCByZW1vdW50LXJvIHwgcGFuaWMgfQorRGVmaW5lIHRoZSBiZWhhdmlvciB3aGVuIGFuIGVycm9yIGlzIGVuY291bnRlcmVkLgorKEVpdGhlciBpZ25vcmUgZXJyb3JzIGFuZCBqdXN0IG1hcmsgdGhlIGZpbGVzeXN0ZW0gZXJyb25lb3VzIGFuZCBjb250aW51ZSwKK29yIHJlbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC1vbmx5LCBvciBwYW5pYyBhbmQgaGFsdCB0aGUgc3lzdGVtLikKK1RoZSBkZWZhdWx0IGlzIHNldCBpbiB0aGUgZmlsZXN5c3RlbSBzdXBlcmJsb2NrLCBhbmQgY2FuIGJlCitjaGFuZ2VkIHVzaW5nCisuQlIgdHVuZTJmcyAoOCkuCisuVFAKKy5CUiBncnBpZCB8IGJzZGdyb3VwcyAiIGFuZCAiIG5vZ3JwaWQgfCBzeXN2Z3JvdXBzCitUaGVzZSBvcHRpb25zIGRlZmluZSB3aGF0IGdyb3VwIElEIGEgbmV3bHkgY3JlYXRlZCBmaWxlIGdldHMuCitXaGVuCisuQiBncnBpZAoraXMgc2V0LCBpdCB0YWtlcyB0aGUgZ3JvdXAgSUQgb2YgdGhlIGRpcmVjdG9yeSBpbiB3aGljaCBpdCBpcyBjcmVhdGVkOworb3RoZXJ3aXNlICh0aGUgZGVmYXVsdCkgaXQgdGFrZXMgdGhlIGZzZ2lkIG9mIHRoZSBjdXJyZW50IHByb2Nlc3MsIHVubGVzcwordGhlIGRpcmVjdG9yeSBoYXMgdGhlIHNldC1ncm91cC1JRCBiaXQgc2V0LCBpbiB3aGljaCBjYXNlIGl0IHRha2VzIHRoZSBHSUQKK2Zyb20gdGhlIHBhcmVudCBkaXJlY3RvcnksIGFuZCBhbHNvIGdldHMgdGhlIHNldC1ncm91cC1JRCBiaXQgc2V0CitpZiBpdCBpcyBhIGRpcmVjdG9yeSBpdHNlbGYuCisuVFAKKy5CUiBncnBxdW90YSB8IG5vcXVvdGEgfCBxdW90YSB8IHVzcnF1b3RhCitUaGUgdXNycXVvdGEgKHNhbWUgYXMgcXVvdGEpIG1vdW50IG9wdGlvbiBlbmFibGVzIHVzZXIgcXVvdGEgc3VwcG9ydCBvbiB0aGUKK2ZpbGVzeXN0ZW0uICBncnBxdW90YSBlbmFibGVzIGdyb3VwIHF1b3RhcyBzdXBwb3J0LiAgWW91IG5lZWQgdGhlIHF1b3RhIHV0aWxpdGllcwordG8gYWN0dWFsbHkgZW5hYmxlIGFuZCBtYW5hZ2UgdGhlIHF1b3RhIHN5c3RlbS4KKy5UUAorLkIgbm91aWQzMgorRGlzYWJsZXMgMzItYml0IFVJRHMgYW5kIEdJRHMuICBUaGlzIGlzIGZvciBpbnRlcm9wZXJhYmlsaXR5IHdpdGggb2xkZXIKK2tlcm5lbHMgd2hpY2ggb25seSBzdG9yZSBhbmQgZXhwZWN0IDE2LWJpdCB2YWx1ZXMuCisuVFAKKy5CUiBvbGRhbGxvYyAiIG9yICIgb3Jsb3YKK1VzZSBvbGQgYWxsb2NhdG9yIG9yIE9ybG92IGFsbG9jYXRvciBmb3IgbmV3IGlub2Rlcy4gIE9ybG92IGlzIGRlZmF1bHQuCisuVFAKK1xmQnJlc2dpZD1cZlBcLFxmSW5cZlAgYW5kIFxmQnJlc3VpZD1cZlBcLFxmSW5cZlAKK1RoZSBleHQyIGZpbGVzeXN0ZW0gcmVzZXJ2ZXMgYSBjZXJ0YWluIHBlcmNlbnRhZ2Ugb2YgdGhlIGF2YWlsYWJsZQorc3BhY2UgKGJ5IGRlZmF1bHQgNSUsIHNlZQorLkJSIG1rZTJmcyAoOCkKK2FuZAorLkJSIHR1bmUyZnMgKDgpKS4KK1RoZXNlIG9wdGlvbnMgZGV0ZXJtaW5lIHdobyBjYW4gdXNlIHRoZSByZXNlcnZlZCBibG9ja3MuCisoUm91Z2hseTogd2hvZXZlciBoYXMgdGhlIHNwZWNpZmllZCBVSUQsIG9yIGJlbG9uZ3MgdG8gdGhlIHNwZWNpZmllZCBncm91cC4pCisuVFAKKy5CSSBzYj0gbgorSW5zdGVhZCBvZiBibG9jayAxLCB1c2UgYmxvY2sKKy5JIG4KK2FzIHN1cGVyYmxvY2suICBUaGlzIGNvdWxkIGJlIHVzZWZ1bCB3aGVuIHRoZSBmaWxlc3lzdGVtIGhhcyBiZWVuIGRhbWFnZWQuCisoRWFybGllciwgY29waWVzIG9mIHRoZSBzdXBlcmJsb2NrIHdvdWxkIGJlIG1hZGUgZXZlcnkgODE5MiBibG9ja3M6IGluCitibG9jayAxLCA4MTkzLCAxNjM4NSwgXCYuLi5cJiAoYW5kIG9uZSBnb3QgdGhvdXNhbmRzIG9mIGNvcGllcyBvbgorYSBiaWcgZmlsZXN5c3RlbSkuICBTaW5jZSB2ZXJzaW9uIDEuMDgsCisuQiBta2UyZnMKK2hhcyBhIFwtcyAoc3BhcnNlIHN1cGVyYmxvY2spIG9wdGlvbiB0byByZWR1Y2UgdGhlIG51bWJlciBvZiBiYWNrdXAKK3N1cGVyYmxvY2tzLCBhbmQgc2luY2UgdmVyc2lvbiAxLjE1IHRoaXMgaXMgdGhlIGRlZmF1bHQuICBOb3RlCit0aGF0IHRoaXMgbWF5IG1lYW4gdGhhdCBleHQyIGZpbGVzeXN0ZW1zIGNyZWF0ZWQgYnkgYSByZWNlbnQKKy5CIG1rZTJmcworY2Fubm90IGJlIG1vdW50ZWQgci93IHVuZGVyIExpbnV4IDIuMC4qLikKK1RoZSBibG9jayBudW1iZXIgaGVyZSB1c2VzIDFcIGsgdW5pdHMuICBUaHVzLCBpZiB5b3Ugd2FudCB0byB1c2UgbG9naWNhbAorYmxvY2sgMzI3Njggb24gYSBmaWxlc3lzdGVtIHdpdGggNFwgayBibG9ja3MsIHVzZSAic2I9MTMxMDcyIi4KKy5UUAorLkJSIHVzZXJfeGF0dHIgfCBub3VzZXJfeGF0dHIKK1N1cHBvcnQgInVzZXIuIiBleHRlbmRlZCBhdHRyaWJ1dGVzIChvciBub3QpLgorLlwiIHJlcXVpcmVzIENPTkZJR19FWFQyX0ZTX1hBVFRSCisKKy5TUyAiTW91bnQgb3B0aW9ucyBmb3IgZXh0MyIKK1RoZSBleHQzIGZpbGVzeXN0ZW0gaXMgYSB2ZXJzaW9uIG9mIHRoZSBleHQyIGZpbGVzeXN0ZW0gd2hpY2ggaGFzIGJlZW4KK2VuaGFuY2VkIHdpdGggam91cm5hbGluZy4gIEl0IHN1cHBvcnRzIHRoZSBzYW1lIG9wdGlvbnMgYXMgZXh0MiBhcword2VsbCBhcyB0aGUgZm9sbG93aW5nIGFkZGl0aW9uczoKKy5cIiAuVFAKKy5cIiAuQlIgYWJvcnQKKy5cIiBNb3VudCB0aGUgZmlsZXN5c3RlbSBpbiBhYm9ydCBtb2RlLCBhcyBpZiBhIGZhdGFsIGVycm9yIGhhcyBvY2N1cnJlZC4KKy5UUAorLkIgam91cm5hbD11cGRhdGUKK1VwZGF0ZSB0aGUgZXh0MyBmaWxlc3lzdGVtJ3Mgam91cm5hbCB0byB0aGUgY3VycmVudCBmb3JtYXQuCisuVFAKKy5CIGpvdXJuYWw9aW51bQorV2hlbiBhIGpvdXJuYWwgYWxyZWFkeSBleGlzdHMsIHRoaXMgb3B0aW9uIGlzIGlnbm9yZWQuICBPdGhlcndpc2UsIGl0CitzcGVjaWZpZXMgdGhlIG51bWJlciBvZiB0aGUgaW5vZGUgd2hpY2ggd2lsbCByZXByZXNlbnQgdGhlIGV4dDMgZmlsZXN5c3RlbSdzCitqb3VybmFsIGZpbGU7IGV4dDMgd2lsbCBjcmVhdGUgYSBuZXcgam91cm5hbCwgb3ZlcndyaXRpbmcgdGhlIG9sZCBjb250ZW50cworb2YgdGhlIGZpbGUgd2hvc2UgaW5vZGUgbnVtYmVyIGlzCisuSVIgaW51bSAuCisuVFAKKy5CUiBqb3VybmFsX2Rldj1kZXZudW0gLyBqb3VybmFsX3BhdGg9cGF0aAorV2hlbiB0aGUgZXh0ZXJuYWwgam91cm5hbCBkZXZpY2UncyBtYWpvci9taW5vciBudW1iZXJzCitoYXZlIGNoYW5nZWQsIHRoZXNlIG9wdGlvbnMgYWxsb3cgdGhlIHVzZXIgdG8gc3BlY2lmeQordGhlIG5ldyBqb3VybmFsIGxvY2F0aW9uLiAgVGhlIGpvdXJuYWwgZGV2aWNlIGlzCitpZGVudGlmaWVkIGVpdGhlciB0aHJvdWdoIGl0cyBuZXcgbWFqb3IvbWlub3IgbnVtYmVycyBlbmNvZGVkCitpbiBkZXZudW0sIG9yIHZpYSBhIHBhdGggdG8gdGhlIGRldmljZS4KKy5UUAorLkJSIG5vcmVjb3ZlcnkgLyBub2xvYWQKK0Rvbid0IGxvYWQgdGhlIGpvdXJuYWwgb24gbW91bnRpbmcuICBOb3RlIHRoYXQKK2lmIHRoZSBmaWxlc3lzdGVtIHdhcyBub3QgdW5tb3VudGVkIGNsZWFubHksCitza2lwcGluZyB0aGUgam91cm5hbCByZXBsYXkgd2lsbCBsZWFkIHRvIHRoZQorZmlsZXN5c3RlbSBjb250YWluaW5nIGluY29uc2lzdGVuY2llcyB0aGF0IGNhbgorbGVhZCB0byBhbnkgbnVtYmVyIG9mIHByb2JsZW1zLgorLlRQCisuQlIgZGF0YT0geyBqb3VybmFsIHwgb3JkZXJlZCB8IHdyaXRlYmFjayB9CitTcGVjaWZpZXMgdGhlIGpvdXJuYWxpbmcgbW9kZSBmb3IgZmlsZSBkYXRhLiAgTWV0YWRhdGEgaXMgYWx3YXlzIGpvdXJuYWxlZC4KK1RvIHVzZSBtb2RlcyBvdGhlciB0aGFuCisuQiBvcmRlcmVkCitvbiB0aGUgcm9vdCBmaWxlc3lzdGVtLCBwYXNzIHRoZSBtb2RlIHRvIHRoZSBrZXJuZWwgYXMgYm9vdCBwYXJhbWV0ZXIsIGUuZy5cJgorLklSIHJvb3RmbGFncz1kYXRhPWpvdXJuYWwgLgorLlJTCisuVFAKKy5CIGpvdXJuYWwKK0FsbCBkYXRhIGlzIGNvbW1pdHRlZCBpbnRvIHRoZSBqb3VybmFsIHByaW9yIHRvIGJlaW5nIHdyaXR0ZW4gaW50byB0aGUKK21haW4gZmlsZXN5c3RlbS4KKy5UUAorLkIgb3JkZXJlZAorVGhpcyBpcyB0aGUgZGVmYXVsdCBtb2RlLiAgQWxsIGRhdGEgaXMgZm9yY2VkIGRpcmVjdGx5IG91dCB0byB0aGUgbWFpbiBmaWxlCitzeXN0ZW0gcHJpb3IgdG8gaXRzIG1ldGFkYXRhIGJlaW5nIGNvbW1pdHRlZCB0byB0aGUgam91cm5hbC4KKy5UUAorLkIgd3JpdGViYWNrCitEYXRhIG9yZGVyaW5nIGlzIG5vdCBwcmVzZXJ2ZWQgXChlbiBkYXRhIG1heSBiZSB3cml0dGVuIGludG8gdGhlIG1haW4KK2ZpbGVzeXN0ZW0gYWZ0ZXIgaXRzIG1ldGFkYXRhIGhhcyBiZWVuIGNvbW1pdHRlZCB0byB0aGUgam91cm5hbC4KK1RoaXMgaXMgcnVtb3VyZWQgdG8gYmUgdGhlIGhpZ2hlc3QtdGhyb3VnaHB1dCBvcHRpb24uICBJdCBndWFyYW50ZWVzCitpbnRlcm5hbCBmaWxlc3lzdGVtIGludGVncml0eSwgaG93ZXZlciBpdCBjYW4gYWxsb3cgb2xkIGRhdGEgdG8gYXBwZWFyCitpbiBmaWxlcyBhZnRlciBhIGNyYXNoIGFuZCBqb3VybmFsIHJlY292ZXJ5LgorLlJFCisuVFAKKy5CIGRhdGFfZXJyPWlnbm9yZQorSnVzdCBwcmludCBhbiBlcnJvciBtZXNzYWdlIGlmIGFuIGVycm9yIG9jY3VycyBpbiBhIGZpbGUgZGF0YSBidWZmZXIgaW4KK29yZGVyZWQgbW9kZS4KKy5UUAorLkIgZGF0YV9lcnI9YWJvcnQKK0Fib3J0IHRoZSBqb3VybmFsIGlmIGFuIGVycm9yIG9jY3VycyBpbiBhIGZpbGUgZGF0YSBidWZmZXIgaW4gb3JkZXJlZCBtb2RlLgorLlRQCisuQlIgYmFycmllcj0wICIgLyAiIGJhcnJpZXI9MSAiCitUaGlzIGRpc2FibGVzIC8gZW5hYmxlcyB0aGUgdXNlIG9mIHdyaXRlIGJhcnJpZXJzIGluIHRoZSBqYmQgY29kZS4gIGJhcnJpZXI9MAorZGlzYWJsZXMsIGJhcnJpZXI9MSBlbmFibGVzIChkZWZhdWx0KS4gIFRoaXMgYWxzbyByZXF1aXJlcyBhbiBJTyBzdGFjayB3aGljaCBjYW4KK3N1cHBvcnQgYmFycmllcnMsIGFuZCBpZiBqYmQgZ2V0cyBhbiBlcnJvciBvbiBhIGJhcnJpZXIgd3JpdGUsIGl0IHdpbGwgZGlzYWJsZQorYmFycmllcnMgYWdhaW4gd2l0aCBhIHdhcm5pbmcuICBXcml0ZSBiYXJyaWVycyBlbmZvcmNlIHByb3BlciBvbi1kaXNrIG9yZGVyaW5nCitvZiBqb3VybmFsIGNvbW1pdHMsIG1ha2luZyB2b2xhdGlsZSBkaXNrIHdyaXRlIGNhY2hlcyBzYWZlIHRvIHVzZSwgYXQgc29tZQorcGVyZm9ybWFuY2UgcGVuYWx0eS4gIElmIHlvdXIgZGlza3MgYXJlIGJhdHRlcnktYmFja2VkIGluIG9uZSB3YXkgb3IgYW5vdGhlciwKK2Rpc2FibGluZyBiYXJyaWVycyBtYXkgc2FmZWx5IGltcHJvdmUgcGVyZm9ybWFuY2UuCisuVFAKKy5CSSBjb21taXQ9IG5yc2VjCitTeW5jIGFsbCBkYXRhIGFuZCBtZXRhZGF0YSBldmVyeQorLkkgbnJzZWMKK3NlY29uZHMuICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyA1IHNlY29uZHMuICBaZXJvIG1lYW5zIGRlZmF1bHQuCisuVFAKKy5CIHVzZXJfeGF0dHIKK0VuYWJsZSBFeHRlbmRlZCBVc2VyIEF0dHJpYnV0ZXMuICBTZWUgdGhlCisuQlIgYXR0ciAoNSkKK21hbnVhbCBwYWdlLgorLlRQCisuQiBhY2wKK0VuYWJsZSBQT1NJWCBBY2Nlc3MgQ29udHJvbCBMaXN0cy4gIFNlZSB0aGUKKy5CUiBhY2wgKDUpCittYW51YWwgcGFnZS4KKy5UUAorLkJSIHVzcmpxdW90YT1hcXVvdGEudXNlciB8IGdycGpxdW90YT1hcXVvdGEuZ3JvdXAgfCBqcWZtdD12ZnN2MAorQXBhcnQgZnJvbSB0aGUgb2xkIHF1b3RhIHN5c3RlbSAoYXMgaW4gZXh0MiwganFmbXQ9dmZzb2xkIGFrYSB2ZXJzaW9uIDEgcXVvdGEpCitleHQzIGFsc28gc3VwcG9ydHMgam91cm5hbGVkIHF1b3RhcyAodmVyc2lvbiAyIHF1b3RhKS4gIGpxZm10PXZmc3YwCitlbmFibGVzIGpvdXJuYWxlZCBxdW90YXMuICBGb3Igam91cm5hbGVkIHF1b3RhcyB0aGUgbW91bnQgb3B0aW9ucwordXNyanF1b3RhPWFxdW90YS51c2VyIGFuZCBncnBqcXVvdGE9YXF1b3RhLmdyb3VwIGFyZSByZXF1aXJlZCB0byB0ZWxsIHRoZQorcXVvdGEgc3lzdGVtIHdoaWNoIHF1b3RhIGRhdGFiYXNlIGZpbGVzIHRvIHVzZS4gIEpvdXJuYWxlZCBxdW90YXMgaGF2ZSB0aGUKK2FkdmFudGFnZSB0aGF0IGV2ZW4gYWZ0ZXIgYSBjcmFzaCBubyBxdW90YSBjaGVjayBpcyByZXF1aXJlZC4KKworLlNTICJNb3VudCBvcHRpb25zIGZvciBleHQ0IgorVGhlIGV4dDQgZmlsZXN5c3RlbSBpcyBhbiBhZHZhbmNlZCBsZXZlbCBvZiB0aGUgZXh0MyBmaWxlc3lzdGVtIHdoaWNoCitpbmNvcnBvcmF0ZXMgc2NhbGFiaWxpdHkgYW5kIHJlbGlhYmlsaXR5IGVuaGFuY2VtZW50cyBmb3Igc3VwcG9ydGluZyBsYXJnZQorZmlsZXN5c3RlbS4KKworVGhlIG9wdGlvbnMKKy5CIGpvdXJuYWxfZGV2LCBub3JlY292ZXJ5LCBub2xvYWQsIGRhdGEsIGNvbW1pdCwgb3Jsb3YsIG9sZGFsbG9jLCBbbm9ddXNlcl94YXR0cgorLkIgW25vXWFjbCwgYnNkZGYsIG1pbml4ZGYsIGRlYnVnLCBlcnJvcnMsIGRhdGFfZXJyLCBncnBpZCwgYnNkZ3JvdXBzLCBub2dycGlkCisuQiBzeXN2Z3JvdXBzLCByZXNnaWQsIHJlc3VpZCwgc2IsIHF1b3RhLCBub3F1b3RhLCBncnBxdW90YSwgdXNycXVvdGEKKy5CIHVzcmpxdW90YSwgZ3JwanF1b3RhIGFuZCBqcWZtdAorYXJlIGJhY2t3YXJkbHkgY29tcGF0aWJsZSB3aXRoIGV4dDMgb3IgZXh0Mi4KKy5UUAorLkIgam91cm5hbF9jaGVja3N1bQorRW5hYmxlIGNoZWNrc3VtbWluZyBvZiB0aGUgam91cm5hbCB0cmFuc2FjdGlvbnMuICBUaGlzIHdpbGwgYWxsb3cgdGhlIHJlY292ZXJ5Citjb2RlIGluIGUyZnNjayBhbmQgdGhlIGtlcm5lbCB0byBkZXRlY3QgY29ycnVwdGlvbiBpbiB0aGUga2VybmVsLiAgSXQgaXMgYQorY29tcGF0aWJsZSBjaGFuZ2UgYW5kIHdpbGwgYmUgaWdub3JlZCBieSBvbGRlciBrZXJuZWxzLgorLlRQCisuQiBqb3VybmFsX2FzeW5jX2NvbW1pdAorQ29tbWl0IGJsb2NrIGNhbiBiZSB3cml0dGVuIHRvIGRpc2sgd2l0aG91dCB3YWl0aW5nIGZvciBkZXNjcmlwdG9yIGJsb2Nrcy4KK0lmIGVuYWJsZWQsIG9sZGVyIGtlcm5lbHMgY2Fubm90IG1vdW50IHRoZSBkZXZpY2UuCitUaGlzIHdpbGwgZW5hYmxlICdqb3VybmFsX2NoZWNrc3VtJyBpbnRlcm5hbGx5LgorLlRQCisuQlIgYmFycmllcj0wICIgLyAiIGJhcnJpZXI9MSAiIC8gIiBiYXJyaWVyICIgLyAiIG5vYmFycmllcgorVGhlc2UgbW91bnQgb3B0aW9ucyBoYXZlIHRoZSBzYW1lIGVmZmVjdCBhcyBpbiBleHQzLiAgVGhlIG1vdW50IG9wdGlvbnMKKyJiYXJyaWVyIiBhbmQgIm5vYmFycmllciIgYXJlIGFkZGVkIGZvciBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIGV4dDQgbW91bnQKK29wdGlvbnMuCisKK1RoZSBleHQ0IGZpbGVzeXN0ZW0gZW5hYmxlcyB3cml0ZSBiYXJyaWVycyBieSBkZWZhdWx0LgorLlRQCisuQkkgaW5vZGVfcmVhZGFoZWFkX2Jsa3M9IG4KK1RoaXMgdHVuaW5nIHBhcmFtZXRlciBjb250cm9scyB0aGUgbWF4aW11bSBudW1iZXIgb2YgaW5vZGUgdGFibGUgYmxvY2tzIHRoYXQKK2V4dDQncyBpbm9kZSB0YWJsZSByZWFkYWhlYWQgYWxnb3JpdGhtIHdpbGwgcHJlLXJlYWQgaW50byB0aGUgYnVmZmVyIGNhY2hlLgorVGhlIHZhbHVlIG11c3QgYmUgYSBwb3dlciBvZiAyLiAgVGhlIGRlZmF1bHQgdmFsdWUgaXMgMzIgYmxvY2tzLgorLlRQCisuQkkgc3RyaXBlPSBuCitOdW1iZXIgb2YgZmlsZXN5c3RlbSBibG9ja3MgdGhhdCBtYmFsbG9jIHdpbGwgdHJ5IHRvIHVzZSBmb3IgYWxsb2NhdGlvbiBzaXplCithbmQgYWxpZ25tZW50LiAgRm9yIFJBSUQ1LzYgc3lzdGVtcyB0aGlzIHNob3VsZCBiZSB0aGUgbnVtYmVyIG9mIGRhdGEgZGlza3MgKgorUkFJRCBjaHVuayBzaXplIGluIGZpbGVzeXN0ZW0gYmxvY2tzLgorLlRQCisuQiBkZWxhbGxvYworRGVmZXJyaW5nIGJsb2NrIGFsbG9jYXRpb24gdW50aWwgd3JpdGUtb3V0IHRpbWUuCisuVFAKKy5CIG5vZGVsYWxsb2MKK0Rpc2FibGUgZGVsYXllZCBhbGxvY2F0aW9uLiAgQmxvY2tzIGFyZSBhbGxvY2F0ZWQgd2hlbiBkYXRhIGlzIGNvcGllZCBmcm9tIHVzZXIKK3RvIHBhZ2UgY2FjaGUuCisuVFAKKy5CSSBtYXhfYmF0Y2hfdGltZT0gdXNlYworTWF4aW11bSBhbW91bnQgb2YgdGltZSBleHQ0IHNob3VsZCB3YWl0IGZvciBhZGRpdGlvbmFsIGZpbGVzeXN0ZW0gb3BlcmF0aW9ucyB0bworYmUgYmF0Y2ggdG9nZXRoZXIgd2l0aCBhIHN5bmNocm9ub3VzIHdyaXRlIG9wZXJhdGlvbi4gIFNpbmNlIGEgc3luY2hyb25vdXMKK3dyaXRlIG9wZXJhdGlvbiBpcyBnb2luZyB0byBmb3JjZSBhIGNvbW1pdCBhbmQgdGhlbiBhIHdhaXQgZm9yIHRoZSBJL08KK2NvbXBsZXRlLCBpdCBkb2Vzbid0IGNvc3QgbXVjaCwgYW5kIGNhbiBiZSBhIGh1Z2UgdGhyb3VnaHB1dCB3aW4sIHdlIHdhaXQgZm9yIGEKK3NtYWxsIGFtb3VudCBvZiB0aW1lIHRvIHNlZSBpZiBhbnkgb3RoZXIgdHJhbnNhY3Rpb25zIGNhbiBwaWdneWJhY2sgb24gdGhlCitzeW5jaHJvbm91cyB3cml0ZS4gIFRoZSBhbGdvcml0aG0gdXNlZCBpcyBkZXNpZ25lZCB0byBhdXRvbWF0aWNhbGx5IHR1bmUgZm9yCit0aGUgc3BlZWQgb2YgdGhlIGRpc2ssIGJ5IG1lYXN1cmluZyB0aGUgYW1vdW50IG9mIHRpbWUgKG9uIGF2ZXJhZ2UpIHRoYXQgaXQKK3Rha2VzIHRvIGZpbmlzaCBjb21taXR0aW5nIGEgdHJhbnNhY3Rpb24uICBDYWxsIHRoaXMgdGltZSB0aGUgImNvbW1pdCB0aW1lIi4KK0lmIHRoZSB0aW1lIHRoYXQgdGhlIHRyYW5zYWN0aW9uIGhhcyBiZWVuIHJ1bm5pbmcgaXMgbGVzcyB0aGFuIHRoZSBjb21taXQgdGltZSwKK2V4dDQgd2lsbCB0cnkgc2xlZXBpbmcgZm9yIHRoZSBjb21taXQgdGltZSB0byBzZWUgaWYgb3RoZXIgb3BlcmF0aW9ucyB3aWxsIGpvaW4KK3RoZSB0cmFuc2FjdGlvbi4gIFRoZSBjb21taXQgdGltZSBpcyBjYXBwZWQgYnkgdGhlIG1heF9iYXRjaF90aW1lLCB3aGljaAorZGVmYXVsdHMgdG8gMTUwMDBcIFxbbWNdcyAoMTVcIG1zKS4gIFRoaXMgb3B0aW1pemF0aW9uIGNhbiBiZSB0dXJuZWQgb2ZmIGVudGlyZWx5IGJ5CitzZXR0aW5nIG1heF9iYXRjaF90aW1lIHRvIDAuCisuVFAKKy5CSSBtaW5fYmF0Y2hfdGltZT0gdXNlYworVGhpcyBwYXJhbWV0ZXIgc2V0cyB0aGUgY29tbWl0IHRpbWUgKGFzIGRlc2NyaWJlZCBhYm92ZSkgdG8gYmUgYXQgbGVhc3QKK21pbl9iYXRjaF90aW1lLiAgSXQgZGVmYXVsdHMgdG8gemVybyBtaWNyb3NlY29uZHMuICBJbmNyZWFzaW5nIHRoaXMgcGFyYW1ldGVyCittYXkgaW1wcm92ZSB0aGUgdGhyb3VnaHB1dCBvZiBtdWx0aS10aHJlYWRlZCwgc3luY2hyb25vdXMgd29ya2xvYWRzIG9uIHZlcnkKK2Zhc3QgZGlza3MsIGF0IHRoZSBjb3N0IG9mIGluY3JlYXNpbmcgbGF0ZW5jeS4KKy5UUAorLkJJIGpvdXJuYWxfaW9wcmlvPSBwcmlvCitUaGUgSS9PIHByaW9yaXR5IChmcm9tIDAgdG8gNywgd2hlcmUgMCBpcyB0aGUgaGlnaGVzdCBwcmlvcml0eSkgd2hpY2ggc2hvdWxkIGJlCit1c2VkIGZvciBJL08gb3BlcmF0aW9ucyBzdWJtaXR0ZWQgYnkga2pvdXJuYWxkMiBkdXJpbmcgYSBjb21taXQgb3BlcmF0aW9uLgorVGhpcyBkZWZhdWx0cyB0byAzLCB3aGljaCBpcyBhIHNsaWdodGx5IGhpZ2hlciBwcmlvcml0eSB0aGFuIHRoZSBkZWZhdWx0IEkvTworcHJpb3JpdHkuCisuVFAKKy5CIGFib3J0CitTaW11bGF0ZSB0aGUgZWZmZWN0cyBvZiBjYWxsaW5nIGV4dDRfYWJvcnQoKSBmb3IKK2RlYnVnZ2luZyBwdXJwb3Nlcy4gIFRoaXMgaXMgbm9ybWFsbHkgdXNlZCB3aGlsZQorcmVtb3VudGluZyBhIGZpbGVzeXN0ZW0gd2hpY2ggaXMgYWxyZWFkeSBtb3VudGVkLgorLlRQCisuQlIgYXV0b19kYV9hbGxvYyB8IG5vYXV0b19kYV9hbGxvYworTWFueSBicm9rZW4gYXBwbGljYXRpb25zIGRvbid0IHVzZSBmc3luYygpIHdoZW4KK3JlcGxhY2luZyBleGlzdGluZyBmaWxlcyB2aWEgcGF0dGVybnMgc3VjaCBhcworCitmZCA9IG9wZW4oImZvby5uZXciKS93cml0ZShmZCwuLi4pL2Nsb3NlKGZkKS8gcmVuYW1lKCJmb28ubmV3IiwgImZvbyIpCisKK29yIHdvcnNlIHlldAorCitmZCA9IG9wZW4oImZvbyIsIE9fVFJVTkMpL3dyaXRlKGZkLC4uLikvY2xvc2UoZmQpLgorCitJZiBhdXRvX2RhX2FsbG9jIGlzIGVuYWJsZWQsIGV4dDQgd2lsbCBkZXRlY3QgdGhlIHJlcGxhY2UtdmlhLXJlbmFtZSBhbmQKK3JlcGxhY2UtdmlhLXRydW5jYXRlIHBhdHRlcm5zIGFuZCBmb3JjZSB0aGF0IGFueSBkZWxheWVkIGFsbG9jYXRpb24gYmxvY2tzIGFyZQorYWxsb2NhdGVkIHN1Y2ggdGhhdCBhdCB0aGUgbmV4dCBqb3VybmFsIGNvbW1pdCwgaW4gdGhlIGRlZmF1bHQgZGF0YT1vcmRlcmVkCittb2RlLCB0aGUgZGF0YSBibG9ja3Mgb2YgdGhlIG5ldyBmaWxlIGFyZSBmb3JjZWQgdG8gZGlzayBiZWZvcmUgdGhlIHJlbmFtZSgpCitvcGVyYXRpb24gaXMgY29tbWl0dGVkLiAgVGhpcyBwcm92aWRlcyByb3VnaGx5IHRoZSBzYW1lIGxldmVsIG9mIGd1YXJhbnRlZXMgYXMKK2V4dDMsIGFuZCBhdm9pZHMgdGhlICJ6ZXJvLWxlbmd0aCIgcHJvYmxlbSB0aGF0IGNhbiBoYXBwZW4gd2hlbiBhIHN5c3RlbQorY3Jhc2hlcyBiZWZvcmUgdGhlIGRlbGF5ZWQgYWxsb2NhdGlvbiBibG9ja3MgYXJlIGZvcmNlZCB0byBkaXNrLgorLlRQCisuQiBub2luaXRfaXRhYmxlCitEbyBub3QgaW5pdGlhbGl6ZSBhbnkgdW5pbml0aWFsaXplZCBpbm9kZSB0YWJsZSBibG9ja3MgaW4gdGhlIGJhY2tncm91bmQuICBUaGlzCitmZWF0dXJlIG1heSBiZSB1c2VkIGJ5IGluc3RhbGxhdGlvbiBDRCdzIHNvIHRoYXQgdGhlIGluc3RhbGwgcHJvY2VzcyBjYW4KK2NvbXBsZXRlIGFzIHF1aWNrbHkgYXMgcG9zc2libGU7IHRoZSBpbm9kZSB0YWJsZSBpbml0aWFsaXphdGlvbiBwcm9jZXNzIHdvdWxkCit0aGVuIGJlIGRlZmVycmVkIHVudGlsIHRoZSBuZXh0IHRpbWUgdGhlIGZpbGVzeXN0ZW0gaXMgbW91bnRlZC4KKy5UUAorLkIgaW5pdF9pdGFibGU9bgorVGhlIGxhenkgaXRhYmxlIGluaXQgY29kZSB3aWxsIHdhaXQgbiB0aW1lcyB0aGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBpdCB0b29rCit0byB6ZXJvIG91dCB0aGUgcHJldmlvdXMgYmxvY2sgZ3JvdXAncyBpbm9kZSB0YWJsZS4gIFRoaXMgbWluaW1pemVzIHRoZSBpbXBhY3Qgb24KK3N5c3RlbSBwZXJmb3JtYW5jZSB3aGlsZSB0aGUgZmlsZXN5c3RlbSdzIGlub2RlIHRhYmxlIGlzIGJlaW5nIGluaXRpYWxpemVkLgorLlRQCisuQlIgZGlzY2FyZCAvIG5vZGlzY2FyZAorQ29udHJvbHMgd2hldGhlciBleHQ0IHNob3VsZCBpc3N1ZSBkaXNjYXJkL1RSSU0gY29tbWFuZHMgdG8gdGhlIHVuZGVybHlpbmcKK2Jsb2NrIGRldmljZSB3aGVuIGJsb2NrcyBhcmUgZnJlZWQuICBUaGlzIGlzIHVzZWZ1bCBmb3IgU1NEIGRldmljZXMgYW5kCitzcGFyc2UvdGhpbmx5LXByb3Zpc2lvbmVkIExVTnMsIGJ1dCBpdCBpcyBvZmYgYnkgZGVmYXVsdCB1bnRpbCBzdWZmaWNpZW50Cit0ZXN0aW5nIGhhcyBiZWVuIGRvbmUuCisuVFAKKy5CIG5vdWlkMzIKK0Rpc2FibGVzIDMyLWJpdCBVSURzIGFuZCBHSURzLiAgVGhpcyBpcyBmb3IKK2ludGVyb3BlcmFiaWxpdHkgd2l0aCBvbGRlciBrZXJuZWxzIHdoaWNoIG9ubHkKK3N0b3JlIGFuZCBleHBlY3QgMTYtYml0IHZhbHVlcy4KKy5UUAorLkJSIGJsb2NrX3ZhbGlkaXR5IC8gbm9ibG9ja192YWxpZGl0eQorVGhpcyBvcHRpb25zIGFsbG93cyB0byBlbmFibGVzL2Rpc2FibGVzIHRoZSBpbi1rZXJuZWwgZmFjaWxpdHkgZm9yIHRyYWNraW5nCitmaWxlc3lzdGVtIG1ldGFkYXRhIGJsb2NrcyB3aXRoaW4gaW50ZXJuYWwgZGF0YSBzdHJ1Y3R1cmVzLiAgVGhpcyBhbGxvd3MgbXVsdGktXGMKK2Jsb2NrIGFsbG9jYXRvciBhbmQgb3RoZXIgcm91dGluZXMgdG8gcXVpY2tseSBsb2NhdGUgZXh0ZW50cyB3aGljaCBtaWdodAorb3ZlcmxhcCB3aXRoIGZpbGVzeXN0ZW0gbWV0YWRhdGEgYmxvY2tzLiAgVGhpcyBvcHRpb24gaXMgaW50ZW5kZWQgZm9yIGRlYnVnZ2luZworcHVycG9zZXMgYW5kIHNpbmNlIGl0IG5lZ2F0aXZlbHkgYWZmZWN0cyB0aGUgcGVyZm9ybWFuY2UsIGl0IGlzIG9mZiBieSBkZWZhdWx0LgorLlRQCisuQlIgZGlvcmVhZF9sb2NrIC8gZGlvcmVhZF9ub2xvY2sKK0NvbnRyb2xzIHdoZXRoZXIgb3Igbm90IGV4dDQgc2hvdWxkIHVzZSB0aGUgRElPIHJlYWQgbG9ja2luZy4gIElmIHRoZQorZGlvcmVhZF9ub2xvY2sgb3B0aW9uIGlzIHNwZWNpZmllZCBleHQ0IHdpbGwgYWxsb2NhdGUgdW5pbml0aWFsaXplZCBleHRlbnQKK2JlZm9yZSBidWZmZXIgd3JpdGUgYW5kIGNvbnZlcnQgdGhlIGV4dGVudCB0byBpbml0aWFsaXplZCBhZnRlciBJTyBjb21wbGV0ZXMuCitUaGlzIGFwcHJvYWNoIGFsbG93cyBleHQ0IGNvZGUgdG8gYXZvaWQgdXNpbmcgaW5vZGUgbXV0ZXgsIHdoaWNoIGltcHJvdmVzCitzY2FsYWJpbGl0eSBvbiBoaWdoIHNwZWVkIHN0b3JhZ2VzLiAgSG93ZXZlciB0aGlzIGRvZXMgbm90IHdvcmsgd2l0aCBkYXRhCitqb3VybmFsaW5nIGFuZCBkaW9yZWFkX25vbG9jayBvcHRpb24gd2lsbCBiZSBpZ25vcmVkIHdpdGgga2VybmVsIHdhcm5pbmcuCitOb3RlIHRoYXQgZGlvcmVhZF9ub2xvY2sgY29kZSBwYXRoIGlzIG9ubHkgdXNlZCBmb3IgZXh0ZW50LWJhc2VkIGZpbGVzLgorQmVjYXVzZSBvZiB0aGUgcmVzdHJpY3Rpb25zIHRoaXMgb3B0aW9ucyBjb21wcmlzZXMgaXQgaXMgb2ZmIGJ5IGRlZmF1bHQKKyhlLmcuXCYgZGlvcmVhZF9sb2NrKS4KKy5UUAorLkIgbWF4X2Rpcl9zaXplX2tiPW4KK1RoaXMgbGltaXRzIHRoZSBzaXplIG9mIHRoZSBkaXJlY3RvcmllcyBzbyB0aGF0IGFueSBhdHRlbXB0IHRvIGV4cGFuZCB0aGVtCitiZXlvbmQgdGhlIHNwZWNpZmllZCBsaW1pdCBpbiBraWxvYnl0ZXMgd2lsbCBjYXVzZSBhbiBFTk9TUEMgZXJyb3IuICBUaGlzIGlzCit1c2VmdWwgaW4gbWVtb3J5LWNvbnN0cmFpbmVkIGVudmlyb25tZW50cywgd2hlcmUgYSB2ZXJ5IGxhcmdlIGRpcmVjdG9yeSBjYW4KK2NhdXNlIHNldmVyZSBwZXJmb3JtYW5jZSBwcm9ibGVtcyBvciBldmVuIHByb3Zva2UgdGhlIE91dCBPZiBNZW1vcnkga2lsbGVyLiAoRm9yCitleGFtcGxlLCBpZiB0aGVyZSBpcyBvbmx5IDUxMlwgTUIgbWVtb3J5IGF2YWlsYWJsZSwgYSAxNzZcIE1CIGRpcmVjdG9yeSBtYXkKK3NlcmlvdXNseSBjcmFtcCB0aGUgc3lzdGVtJ3Mgc3R5bGUuKQorLlRQCisuQiBpX3ZlcnNpb24KK0VuYWJsZSA2NC1iaXQgaW5vZGUgdmVyc2lvbiBzdXBwb3J0LiAgVGhpcyBvcHRpb24gaXMgb2ZmIGJ5IGRlZmF1bHQuCisKKy5TUyAiTW91bnQgb3B0aW9ucyBmb3IgZmF0IgorKE5vdGU6CisuSSBmYXQKK2lzIG5vdCBhIHNlcGFyYXRlIGZpbGVzeXN0ZW0sIGJ1dCBhIGNvbW1vbiBwYXJ0IG9mIHRoZQorLklSIG1zZG9zICwKKy5JIHVtc2RvcworYW5kCisuSSB2ZmF0CitmaWxlc3lzdGVtcy4pCisuVFAKKy5CUiBibG9ja3NpemU9IHsgNTEyIHwgMTAyNCB8IDIwNDggfQorU2V0IGJsb2Nrc2l6ZSAoZGVmYXVsdCA1MTIpLiAgVGhpcyBvcHRpb24gaXMgb2Jzb2xldGUuCisuVFAKK1xmQnVpZD1cZlBcLFxmSXZhbHVlXGZQIGFuZCBcZkJnaWQ9XGZQXCxcZkl2YWx1ZVxmUAorU2V0IHRoZSBvd25lciBhbmQgZ3JvdXAgb2YgYWxsIGZpbGVzLgorKERlZmF1bHQ6IHRoZSBVSUQgYW5kIEdJRCBvZiB0aGUgY3VycmVudCBwcm9jZXNzLikKKy5UUAorLkJJIHVtYXNrPSB2YWx1ZQorU2V0IHRoZSB1bWFzayAodGhlIGJpdG1hc2sgb2YgdGhlIHBlcm1pc3Npb25zIHRoYXQgYXJlCisuQiBub3QKK3ByZXNlbnQpLiAgVGhlIGRlZmF1bHQgaXMgdGhlIHVtYXNrIG9mIHRoZSBjdXJyZW50IHByb2Nlc3MuCitUaGUgdmFsdWUgaXMgZ2l2ZW4gaW4gb2N0YWwuCisuVFAKKy5CSSBkbWFzaz0gdmFsdWUKK1NldCB0aGUgdW1hc2sgYXBwbGllZCB0byBkaXJlY3RvcmllcyBvbmx5LgorVGhlIGRlZmF1bHQgaXMgdGhlIHVtYXNrIG9mIHRoZSBjdXJyZW50IHByb2Nlc3MuCitUaGUgdmFsdWUgaXMgZ2l2ZW4gaW4gb2N0YWwuCisuXCIgUHJlc2VudCBzaW5jZSBMaW51eCAyLjUuNDMuCisuVFAKKy5CSSBmbWFzaz0gdmFsdWUKK1NldCB0aGUgdW1hc2sgYXBwbGllZCB0byByZWd1bGFyIGZpbGVzIG9ubHkuCitUaGUgZGVmYXVsdCBpcyB0aGUgdW1hc2sgb2YgdGhlIGN1cnJlbnQgcHJvY2Vzcy4KK1RoZSB2YWx1ZSBpcyBnaXZlbiBpbiBvY3RhbC4KKy5cIiBQcmVzZW50IHNpbmNlIExpbnV4IDIuNS40My4KKy5UUAorLkJJIGFsbG93X3V0aW1lPSB2YWx1ZQorVGhpcyBvcHRpb24gY29udHJvbHMgdGhlIHBlcm1pc3Npb24gY2hlY2sgb2YgbXRpbWUvYXRpbWUuCisuUlMKKy5UUAorLkIgMjAKK0lmIGN1cnJlbnQgcHJvY2VzcyBpcyBpbiBncm91cCBvZiBmaWxlJ3MgZ3JvdXAgSUQsIHlvdSBjYW4gY2hhbmdlIHRpbWVzdGFtcC4KKy5UUAorLkIgMgorT3RoZXIgdXNlcnMgY2FuIGNoYW5nZSB0aW1lc3RhbXAuCisuUFAKK1RoZSBkZWZhdWx0IGlzIHNldCBmcm9tIGBkbWFzaycgb3B0aW9uLiAoSWYgdGhlIGRpcmVjdG9yeSBpcyB3cml0YWJsZSwKKy5CUiB1dGltZSAoMikKK2lzIGFsc28gYWxsb3dlZC4gIEkuZS5cJiBccyszflxzMGRtYXNrICYgMDIyKQorCitOb3JtYWxseQorLkJSIHV0aW1lICgyKQorY2hlY2tzIGN1cnJlbnQgcHJvY2VzcyBpcyBvd25lciBvZiB0aGUgZmlsZSwgb3IgaXQgaGFzCitDQVBfRk9XTkVSIGNhcGFiaWxpdHkuICBCdXQgRkFUIGZpbGVzeXN0ZW0gZG9lc24ndCBoYXZlIFVJRC9HSUQgb24gZGlzaywgc28KK25vcm1hbCBjaGVjayBpcyB0b28gaW5mbGV4aWJsZS4gIFdpdGggdGhpcyBvcHRpb24geW91IGNhbiByZWxheCBpdC4KKy5SRQorLlRQCisuQkkgY2hlY2s9IHZhbHVlCitUaHJlZSBkaWZmZXJlbnQgbGV2ZWxzIG9mIHBpY2t5bmVzcyBjYW4gYmUgY2hvc2VuOgorLlJTCisuVFAKKy5CUiByIFsgZWxheGVkIF0KK1VwcGVyIGFuZCBsb3dlciBjYXNlIGFyZSBhY2NlcHRlZCBhbmQgZXF1aXZhbGVudCwgbG9uZyBuYW1lIHBhcnRzIGFyZQordHJ1bmNhdGVkIChlLmcuXCYKKy5JIHZlcnlsb25nbmFtZS5mb29iYXIKK2JlY29tZXMKKy5JUiB2ZXJ5bG9uZy5mb28gKSwKK2xlYWRpbmcgYW5kIGVtYmVkZGVkIHNwYWNlcyBhcmUgYWNjZXB0ZWQgaW4gZWFjaCBuYW1lIHBhcnQgKG5hbWUgYW5kIGV4dGVuc2lvbikuCisuVFAKKy5CUiBuIFsgb3JtYWwgXQorTGlrZSAicmVsYXhlZCIsIGJ1dCBtYW55IHNwZWNpYWwgY2hhcmFjdGVycyAoKiwgPywgPCwgc3BhY2VzLCBldGMuKSBhcmUKK3JlamVjdGVkLiAgVGhpcyBpcyB0aGUgZGVmYXVsdC4KKy5UUAorLkJSIHMgWyB0cmljdCBdCitMaWtlICJub3JtYWwiLCBidXQgbmFtZXMgdGhhdCBjb250YWluIGxvbmcgcGFydHMgb3Igc3BlY2lhbCBjaGFyYWN0ZXJzCit0aGF0IGFyZSBzb21ldGltZXMgdXNlZCBvbiBMaW51eCBidXQgYXJlIG5vdCBhY2NlcHRlZCBieSBNUy1ET1MKKygrLCA9LCBldGMuKSBhcmUgcmVqZWN0ZWQuCisuUkUKKy5UUAorLkJJIGNvZGVwYWdlPSB2YWx1ZQorU2V0cyB0aGUgY29kZXBhZ2UgZm9yIGNvbnZlcnRpbmcgdG8gc2hvcnRuYW1lIGNoYXJhY3RlcnMgb24gRkFUCithbmQgVkZBVCBmaWxlc3lzdGVtcy4gIEJ5IGRlZmF1bHQsIGNvZGVwYWdlIDQzNyBpcyB1c2VkLgorLlRQCisuQkkgY29udj0gbW9kZQorVGhlCisuSSBmYXQKK2ZpbGVzeXN0ZW0gY2FuIHBlcmZvcm0gQ1JMRjwtLT5OTCBjb252ZXJzaW9uIChNUy1ET1MgdGV4dCBmb3JtYXQgdG8gVU5JWCB0ZXh0Citmb3JtYXQpIGluIHRoZSBrZXJuZWwuICBUaGUgZm9sbG93aW5nIGNvbnZlcnNpb24gXGZJbW9kZVxmUnMgYXJlIGF2YWlsYWJsZToKKy5SUworLlRQCisuQlIgYiBbIGluYXJ5IF0KK05vIHRyYW5zbGF0aW9uIGlzIHBlcmZvcm1lZC4gIFRoaXMgaXMgdGhlIGRlZmF1bHQuCisuVFAKKy5CUiB0IFsgZXh0IF0KK0NSTEY8LS0+TkwgdHJhbnNsYXRpb24gaXMgcGVyZm9ybWVkIG9uIGFsbCBmaWxlcy4KKy5UUAorLkJSIGEgWyB1dG8gXQorQ1JMRjwtLT5OTCB0cmFuc2xhdGlvbiBpcyBwZXJmb3JtZWQgb24gYWxsIGZpbGVzIHRoYXQgZG9uJ3QgaGF2ZSBhCisid2VsbC1rbm93biBiaW5hcnkiIGV4dGVuc2lvbi4gIFRoZSBsaXN0IG9mIGtub3duIGV4dGVuc2lvbnMgY2FuIGJlIGZvdW5kIGF0Cit0aGUgYmVnaW5uaW5nIG9mCisuSSBmcy9mYXQvbWlzYy5jCisoYXMgb2YgMi4wLCB0aGUgbGlzdCBpczogZXhlLCBjb20sIGJpbiwgYXBwLCBzeXMsIGRydiwgb3ZsLCBvdnIsIG9iaiwKK2xpYiwgZGxsLCBwaWYsIGFyYywgemlwLCBsaGEsIGx6aCwgem9vLCB0YXIsIHosIGFyaiwgdHosIHRheiwgdHpwLCB0cHosCitneiwgdGd6LCBkZWIsIGdpZiwgYm1wLCB0aWYsIGdsLCBqcGcsIHBjeCwgdGZtLCB2ZiwgZ2YsIHBrLCBweGwsIGR2aSkuCisuUFAKK1Byb2dyYW1zIHRoYXQgZG8gY29tcHV0ZWQgbHNlZWtzIHdvbid0IGxpa2UgaW4ta2VybmVsIHRleHQgY29udmVyc2lvbi4KK1NldmVyYWwgcGVvcGxlIGhhdmUgaGFkIHRoZWlyIGRhdGEgcnVpbmVkIGJ5IHRoaXMgdHJhbnNsYXRpb24uICBCZXdhcmUhCisKK0ZvciBmaWxlc3lzdGVtcyBtb3VudGVkIGluIGJpbmFyeSBtb2RlLCBhIGNvbnZlcnNpb24gdG9vbAorKGZyb21kb3MvdG9kb3MpIGlzIGF2YWlsYWJsZS4gIFRoaXMgb3B0aW9uIGlzIG9ic29sZXRlLgorLlJFCisuVFAKKy5CSSBjdmZfZm9ybWF0PSBtb2R1bGUKK0ZvcmNlcyB0aGUgZHJpdmVyIHRvIHVzZSB0aGUgQ1ZGIChDb21wcmVzc2VkIFZvbHVtZSBGaWxlKSBtb2R1bGUKKy5SSSBjdmZfIG1vZHVsZQoraW5zdGVhZCBvZiBhdXRvLWRldGVjdGlvbi4gIElmIHRoZSBrZXJuZWwgc3VwcG9ydHMga21vZCwgdGhlCitjdmZfZm9ybWF0PXh4eCBvcHRpb24gYWxzbyBjb250cm9scyBvbi1kZW1hbmQgQ1ZGIG1vZHVsZSBsb2FkaW5nLgorVGhpcyBvcHRpb24gaXMgb2Jzb2xldGUuCisuVFAKKy5CSSBjdmZfb3B0aW9uPSBvcHRpb24KK09wdGlvbiBwYXNzZWQgdG8gdGhlIENWRiBtb2R1bGUuICBUaGlzIG9wdGlvbiBpcyBvYnNvbGV0ZS4KKy5UUAorLkIgZGVidWcKK1R1cm4gb24gdGhlCisuSSBkZWJ1ZworZmxhZy4gIEEgdmVyc2lvbiBzdHJpbmcgYW5kIGEgbGlzdCBvZiBmaWxlc3lzdGVtIHBhcmFtZXRlcnMgd2lsbCBiZQorcHJpbnRlZCAodGhlc2UgZGF0YSBhcmUgYWxzbyBwcmludGVkIGlmIHRoZSBwYXJhbWV0ZXJzIGFwcGVhciB0byBiZQoraW5jb25zaXN0ZW50KS4KKy5UUAorLkIgZGlzY2FyZAorSWYgc2V0LCBjYXVzZXMgZGlzY2FyZC9UUklNIGNvbW1hbmRzIHRvIGJlIGlzc3VlZCB0byB0aGUgYmxvY2sgZGV2aWNlCit3aGVuIGJsb2NrcyBhcmUgZnJlZWQuICBUaGlzIGlzIHVzZWZ1bCBmb3IgU1NEIGRldmljZXMgYW5kCitzcGFyc2UvdGhpbmx5LXByb3Zpc2lvbmVkIExVTnMuCisuVFAKKy5CIGRvczF4ZmxvcHB5CitJZiBzZXQsIHVzZSBhIGZhbGxiYWNrIGRlZmF1bHQgQklPUyBQYXJhbWV0ZXIgQmxvY2sgY29uZmlndXJhdGlvbiwgZGV0ZXJtaW5lZAorYnkgYmFja2luZyBkZXZpY2Ugc2l6ZS4gIFRoZXNlIHN0YXRpYyBwYXJhbWV0ZXJzIG1hdGNoIGRlZmF1bHRzIGFzc3VtZWQgYnkgRE9TCisxLnggZm9yIDE2MCBraUIsIDE4MCBraUIsIDMyMCBraUIsIGFuZCAzNjAga2lCIGZsb3BwaWVzIGFuZCBmbG9wcHkgaW1hZ2VzLgorLlRQCisuQlIgZXJyb3JzPSB7IHBhbmljIHwgY29udGludWUgfCByZW1vdW50LXJvIH0KK1NwZWNpZnkgRkFUIGJlaGF2aW9yIG9uIGNyaXRpY2FsIGVycm9yczogcGFuaWMsIGNvbnRpbnVlIHdpdGhvdXQgZG9pbmcKK2FueXRoaW5nLCBvciByZW1vdW50IHRoZSBwYXJ0aXRpb24gaW4gcmVhZC1vbmx5IG1vZGUgKGRlZmF1bHQgYmVoYXZpb3IpLgorLlRQCisuQlIgZmF0PSB7IDEyIHwgMTYgfCAzMiB9CitTcGVjaWZ5IGEgMTIsIDE2IG9yIDMyIGJpdCBmYXQuICBUaGlzIG92ZXJyaWRlcwordGhlIGF1dG9tYXRpYyBGQVQgdHlwZSBkZXRlY3Rpb24gcm91dGluZS4gIFVzZSB3aXRoIGNhdXRpb24hCisuVFAKKy5CSSBpb2NoYXJzZXQ9IHZhbHVlCitDaGFyYWN0ZXIgc2V0IHRvIHVzZSBmb3IgY29udmVydGluZyBiZXR3ZWVuIDggYml0IGNoYXJhY3RlcnMKK2FuZCAxNiBiaXQgVW5pY29kZSBjaGFyYWN0ZXJzLiAgVGhlIGRlZmF1bHQgaXMgaXNvODg1OS0xLgorTG9uZyBmaWxlbmFtZXMgYXJlIHN0b3JlZCBvbiBkaXNrIGluIFVuaWNvZGUgZm9ybWF0LgorLlRQCisuQlIgbmZzPSB7IHN0YWxlX3J3IHwgbm9zdGFsZV9ybyB9CitFbmFibGUgdGhpcyBvbmx5IGlmIHlvdSB3YW50IHRvIGV4cG9ydCB0aGUgRkFUIGZpbGVzeXN0ZW0gb3ZlciBORlMuCisKKy5CUiBzdGFsZV9ydyA6CitUaGlzIG9wdGlvbiBtYWludGFpbnMgYW4gaW5kZXggKGNhY2hlKSBvZiBkaXJlY3RvcnkgaW5vZGVzIHdoaWNoIGlzIHVzZWQgYnkgdGhlCituZnMtcmVsYXRlZCBjb2RlIHRvIGltcHJvdmUgbG9vay11cHMuICBGdWxsIGZpbGUgb3BlcmF0aW9ucyAocmVhZC93cml0ZSkgb3ZlcgorTkZTIGFyZSBzdXBwb3J0ZWQgYnV0IHdpdGggY2FjaGUgZXZpY3Rpb24gYXQgTkZTIHNlcnZlciwgdGhpcyBjb3VsZCByZXN1bHQgaW4KK3NwdXJpb3VzCisuQiBFU1RBTEUKK2Vycm9ycy4KKworLkJSIG5vc3RhbGVfcm8gOgorVGhpcyBvcHRpb24gYmFzZXMgdGhlIGlub2RlIG51bWJlciBhbmQgZmlsZSBoYW5kbGUKK29uIHRoZSBvbi1kaXNrIGxvY2F0aW9uIG9mIGEgZmlsZSBpbiB0aGUgRkFUIGRpcmVjdG9yeSBlbnRyeS4KK1RoaXMgZW5zdXJlcyB0aGF0CisuQiBFU1RBTEUKK3dpbGwgbm90IGJlIHJldHVybmVkIGFmdGVyIGEgZmlsZSBpcworZXZpY3RlZCBmcm9tIHRoZSBpbm9kZSBjYWNoZS4gIEhvd2V2ZXIsIGl0IG1lYW5zIHRoYXQgb3BlcmF0aW9ucworc3VjaCBhcyByZW5hbWUsIGNyZWF0ZSBhbmQgdW5saW5rIGNvdWxkIGNhdXNlIGZpbGUgaGFuZGxlcyB0aGF0CitwcmV2aW91c2x5IHBvaW50ZWQgYXQgb25lIGZpbGUgdG8gcG9pbnQgYXQgYSBkaWZmZXJlbnQgZmlsZSwKK3BvdGVudGlhbGx5IGNhdXNpbmcgZGF0YSBjb3JydXB0aW9uLiAgRm9yIHRoaXMgcmVhc29uLCB0aGlzCitvcHRpb24gYWxzbyBtb3VudHMgdGhlIGZpbGVzeXN0ZW0gcmVhZG9ubHkuCisKK1RvIG1haW50YWluIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksICctbyBuZnMnIGlzIGFsc28gYWNjZXB0ZWQsCitkZWZhdWx0aW5nIHRvCisuQlIgc3RhbGVfcncgLgorLlRQCisuQkkgdHo9VVRDCitUaGlzIG9wdGlvbiBkaXNhYmxlcyB0aGUgY29udmVyc2lvbiBvZiB0aW1lc3RhbXBzCitiZXR3ZWVuIGxvY2FsIHRpbWUgKGFzIHVzZWQgYnkgV2luZG93cyBvbiBGQVQpIGFuZCBVVEMKKyh3aGljaCBMaW51eCB1c2VzIGludGVybmFsbHkpLiAgVGhpcyBpcyBwYXJ0aWN1bGFybHkKK3VzZWZ1bCB3aGVuIG1vdW50aW5nIGRldmljZXMgKGxpa2UgZGlnaXRhbCBjYW1lcmFzKQordGhhdCBhcmUgc2V0IHRvIFVUQyBpbiBvcmRlciB0byBhdm9pZCB0aGUgcGl0ZmFsbHMgb2YKK2xvY2FsIHRpbWUuCisuVFAKKy5CSSB0aW1lX29mZnNldD0gbWludXRlcworU2V0IG9mZnNldCBmb3IgY29udmVyc2lvbiBvZiB0aW1lc3RhbXBzIGZyb20gbG9jYWwgdGltZSB1c2VkIGJ5IEZBVCB0byBVVEMuCitJLmUuLAorLkkgbWludXRlcworbWludXRlcyB3aWxsIGJlIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHRpbWVzdGFtcCB0byBjb252ZXJ0IGl0IHRvIFVUQyB1c2VkCitpbnRlcm5hbGx5IGJ5IExpbnV4LiAgVGhpcyBpcyB1c2VmdWwgd2hlbiB0aGUgdGltZSB6b25lIHNldCBpbiB0aGUga2VybmVsIHZpYQorLkJSIHNldHRpbWVvZmRheSAoMikKK2lzIG5vdCB0aGUgdGltZSB6b25lIHVzZWQgYnkgdGhlIGZpbGVzeXN0ZW0uICBOb3RlCit0aGF0IHRoaXMgb3B0aW9uIHN0aWxsIGRvZXMgbm90IHByb3ZpZGUgY29ycmVjdCB0aW1lIHN0YW1wcyBpbiBhbGwgY2FzZXMgaW4KK3ByZXNlbmNlIG9mIERTVCAtIHRpbWUgc3RhbXBzIGluIGEgZGlmZmVyZW50IERTVCBzZXR0aW5nIHdpbGwgYmUgb2ZmIGJ5IG9uZQoraG91ci4KKy5UUAorLkIgcXVpZXQKK1R1cm4gb24gdGhlCisuSSBxdWlldAorZmxhZy4gIEF0dGVtcHRzIHRvIGNob3duIG9yIGNobW9kIGZpbGVzIGRvIG5vdCByZXR1cm4gZXJyb3JzLAorYWx0aG91Z2ggdGhleSBmYWlsLiAgVXNlIHdpdGggY2F1dGlvbiEKKy5UUAorLkIgcm9kaXIKK0ZBVCBoYXMgdGhlIEFUVFJfUk8gKHJlYWQtb25seSkgYXR0cmlidXRlLiAgT24gV2luZG93cywgdGhlIEFUVFJfUk8gb2YgdGhlCitkaXJlY3Rvcnkgd2lsbCBqdXN0IGJlIGlnbm9yZWQsIGFuZCBpcyB1c2VkIG9ubHkgYnkgYXBwbGljYXRpb25zIGFzIGEgZmxhZworKGUuZy5cJiBpdCdzIHNldCBmb3IgdGhlIGN1c3RvbWl6ZWQgZm9sZGVyKS4KKworSWYgeW91IHdhbnQgdG8gdXNlIEFUVFJfUk8gYXMgcmVhZC1vbmx5IGZsYWcgZXZlbiBmb3IgdGhlIGRpcmVjdG9yeSwgc2V0IHRoaXMKK29wdGlvbi4KKy5UUAorLkIgc2hvd2V4ZWMKK0lmIHNldCwgdGhlIGV4ZWN1dGUgcGVybWlzc2lvbiBiaXRzIG9mIHRoZSBmaWxlIHdpbGwgYmUgYWxsb3dlZCBvbmx5IGlmCit0aGUgZXh0ZW5zaW9uIHBhcnQgb2YgdGhlIG5hbWUgaXMgXCYuRVhFLCBcJi5DT00sIG9yIFwmLkJBVC4gIE5vdCBzZXQgYnkgZGVmYXVsdC4KKy5UUAorLkIgc3lzX2ltbXV0YWJsZQorSWYgc2V0LCBBVFRSX1NZUyBhdHRyaWJ1dGUgb24gRkFUIGlzIGhhbmRsZWQgYXMgSU1NVVRBQkxFIGZsYWcgb24gTGludXguCitOb3Qgc2V0IGJ5IGRlZmF1bHQuCisuVFAKKy5CIGZsdXNoCitJZiBzZXQsIHRoZSBmaWxlc3lzdGVtIHdpbGwgdHJ5IHRvIGZsdXNoIHRvIGRpc2sgbW9yZSBlYXJseSB0aGFuIG5vcm1hbC4KK05vdCBzZXQgYnkgZGVmYXVsdC4KKy5UUAorLkIgdXNlZnJlZQorVXNlIHRoZSAiZnJlZSBjbHVzdGVycyIgdmFsdWUgc3RvcmVkIG9uIEZTSU5GTy4gIEl0J2xsCitiZSB1c2VkIHRvIGRldGVybWluZSBudW1iZXIgb2YgZnJlZSBjbHVzdGVycyB3aXRob3V0CitzY2FubmluZyBkaXNrLiAgQnV0IGl0J3Mgbm90IHVzZWQgYnkgZGVmYXVsdCwgYmVjYXVzZQorcmVjZW50IFdpbmRvd3MgZG9uJ3QgdXBkYXRlIGl0IGNvcnJlY3RseSBpbiBzb21lCitjYXNlLiAgSWYgeW91IGFyZSBzdXJlIHRoZSAiZnJlZSBjbHVzdGVycyIgb24gRlNJTkZPIGlzCitjb3JyZWN0LCBieSB0aGlzIG9wdGlvbiB5b3UgY2FuIGF2b2lkIHNjYW5uaW5nIGRpc2suCisuVFAKKy5CUiBkb3RzICIsICIgbm9kb3RzICIsICIgZG90c09LPSBbIHllcyB8IG5vIF0KK1ZhcmlvdXMgbWlzZ3VpZGVkIGF0dGVtcHRzIHRvIGZvcmNlIFVuaXggb3IgRE9TIGNvbnZlbnRpb25zCitvbnRvIGEgRkFUIGZpbGVzeXN0ZW0uCisKKy5TUyAiTW91bnQgb3B0aW9ucyBmb3IgaGZzIgorLlRQCisuQkkgY3JlYXRvcj0gY2NjYyAiLCB0eXBlPSIgY2NjYworU2V0IHRoZSBjcmVhdG9yL3R5cGUgdmFsdWVzIGFzIHNob3duIGJ5IHRoZSBNYWNPUyBmaW5kZXIKK3VzZWQgZm9yIGNyZWF0aW5nIG5ldyBmaWxlcy4gIERlZmF1bHQgdmFsdWVzOiAnPz8/PycuCisuVFAKKy5CSSB1aWQ9IG4gIiwgZ2lkPSIgbgorU2V0IHRoZSBvd25lciBhbmQgZ3JvdXAgb2YgYWxsIGZpbGVzLgorKERlZmF1bHQ6IHRoZSBVSUQgYW5kIEdJRCBvZiB0aGUgY3VycmVudCBwcm9jZXNzLikKKy5UUAorLkJJIGRpcl91bWFzaz0gbiAiLCBmaWxlX3VtYXNrPSIgbiAiLCB1bWFzaz0iIG4KK1NldCB0aGUgdW1hc2sgdXNlZCBmb3IgYWxsIGRpcmVjdG9yaWVzLCBhbGwgcmVndWxhciBmaWxlcywgb3IgYWxsCitmaWxlcyBhbmQgZGlyZWN0b3JpZXMuICBEZWZhdWx0cyB0byB0aGUgdW1hc2sgb2YgdGhlIGN1cnJlbnQgcHJvY2Vzcy4KKy5UUAorLkJJIHNlc3Npb249IG4KK1NlbGVjdCB0aGUgQ0RST00gc2Vzc2lvbiB0byBtb3VudC4KK0RlZmF1bHRzIHRvIGxlYXZpbmcgdGhhdCBkZWNpc2lvbiB0byB0aGUgQ0RST00gZHJpdmVyLgorVGhpcyBvcHRpb24gd2lsbCBmYWlsIHdpdGggYW55dGhpbmcgYnV0IGEgQ0RST00gYXMgdW5kZXJseWluZyBkZXZpY2UuCisuVFAKKy5CSSBwYXJ0PSBuCitTZWxlY3QgcGFydGl0aW9uIG51bWJlciBuIGZyb20gdGhlIGRldmljZS4KK09ubHkgbWFrZXMgc2Vuc2UgZm9yIENEUk9Ncy4KK0RlZmF1bHRzIHRvIG5vdCBwYXJzaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgYXQgYWxsLgorLlRQCisuQiBxdWlldAorRG9uJ3QgY29tcGxhaW4gYWJvdXQgaW52YWxpZCBtb3VudCBvcHRpb25zLgorCisuU1MgIk1vdW50IG9wdGlvbnMgZm9yIGhwZnMiCisuVFAKK1xmQnVpZD1cZlBcLFxmSXZhbHVlXGZQIGFuZCBcZkJnaWQ9XGZQXCxcZkl2YWx1ZVxmUAorU2V0IHRoZSBvd25lciBhbmQgZ3JvdXAgb2YgYWxsIGZpbGVzLiAoRGVmYXVsdDogdGhlIFVJRCBhbmQgR0lECitvZiB0aGUgY3VycmVudCBwcm9jZXNzLikKKy5UUAorLkJJIHVtYXNrPSB2YWx1ZQorU2V0IHRoZSB1bWFzayAodGhlIGJpdG1hc2sgb2YgdGhlIHBlcm1pc3Npb25zIHRoYXQgYXJlCisuQiBub3QKK3ByZXNlbnQpLiAgVGhlIGRlZmF1bHQgaXMgdGhlIHVtYXNrIG9mIHRoZSBjdXJyZW50IHByb2Nlc3MuCitUaGUgdmFsdWUgaXMgZ2l2ZW4gaW4gb2N0YWwuCisuVFAKKy5CUiBjYXNlPSB7IGxvd2VyIHwgYXNpcyB9CitDb252ZXJ0IGFsbCBmaWxlcyBuYW1lcyB0byBsb3dlciBjYXNlLCBvciBsZWF2ZSB0aGVtLgorKERlZmF1bHQ6CisuQlIgY2FzZT1sb3dlciAuKQorLlRQCisuQlIgY29udj0geyBiaW5hcnkgfCB0ZXh0IHwgYXV0byB9CitGb3IKKy5CUiBjb252PXRleHQgLAorZGVsZXRlIHNvbWUgcmFuZG9tIENScyAoaW4gcGFydGljdWxhciwgYWxsIGZvbGxvd2VkIGJ5IE5MKQord2hlbiByZWFkaW5nIGEgZmlsZS4KK0ZvcgorLkJSIGNvbnY9YXV0byAsCitjaG9vc2UgbW9yZSBvciBsZXNzIGF0IHJhbmRvbSBiZXR3ZWVuCisuQlIgY29udj1iaW5hcnkgIiBhbmQgIiBjb252PXRleHQgLgorRm9yCisuQlIgY29udj1iaW5hcnkgLAoranVzdCByZWFkIHdoYXQgaXMgaW4gdGhlIGZpbGUuICBUaGlzIGlzIHRoZSBkZWZhdWx0LgorLlRQCisuQiBub2NoZWNrCitEbyBub3QgYWJvcnQgbW91bnRpbmcgd2hlbiBjZXJ0YWluIGNvbnNpc3RlbmN5IGNoZWNrcyBmYWlsLgorCisuU1MgIk1vdW50IG9wdGlvbnMgZm9yIGlzbzk2NjAiCitJU08gOTY2MCBpcyBhIHN0YW5kYXJkIGRlc2NyaWJpbmcgYSBmaWxlc3lzdGVtIHN0cnVjdHVyZSB0byBiZSB1c2VkCitvbiBDRC1ST01zLiAoVGhpcyBmaWxlc3lzdGVtIHR5cGUgaXMgYWxzbyBzZWVuIG9uIHNvbWUgRFZEcy4gIFNlZSBhbHNvIHRoZQorLkkgdWRmCitmaWxlc3lzdGVtLikKKworTm9ybWFsCisuSSBpc285NjYwCitmaWxlbmFtZXMgYXBwZWFyIGluIGEgOC4zIGZvcm1hdCAoaS5lLiwgRE9TLWxpa2UgcmVzdHJpY3Rpb25zIG9uIGZpbGVuYW1lCitsZW5ndGgpLCBhbmQgaW4gYWRkaXRpb24gYWxsIGNoYXJhY3RlcnMgYXJlIGluIHVwcGVyIGNhc2UuICBBbHNvIHRoZXJlIGlzCitubyBmaWVsZCBmb3IgZmlsZSBvd25lcnNoaXAsIHByb3RlY3Rpb24sIG51bWJlciBvZiBsaW5rcywgcHJvdmlzaW9uIGZvcgorYmxvY2svY2hhcmFjdGVyIGRldmljZXMsIGV0Yy4KKworUm9jayBSaWRnZSBpcyBhbiBleHRlbnNpb24gdG8gaXNvOTY2MCB0aGF0IHByb3ZpZGVzIGFsbCBvZiB0aGVzZSBVTklYLWxpa2UKK2ZlYXR1cmVzLiAgQmFzaWNhbGx5IHRoZXJlIGFyZSBleHRlbnNpb25zIHRvIGVhY2ggZGlyZWN0b3J5IHJlY29yZCB0aGF0CitzdXBwbHkgYWxsIG9mIHRoZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLCBhbmQgd2hlbiBSb2NrIFJpZGdlIGlzIGluIHVzZSwKK3RoZSBmaWxlc3lzdGVtIGlzIGluZGlzdGluZ3Vpc2hhYmxlIGZyb20gYSBub3JtYWwgVU5JWCBmaWxlc3lzdGVtIChleGNlcHQKK3RoYXQgaXQgaXMgcmVhZC1vbmx5LCBvZiBjb3Vyc2UpLgorLlRQCisuQiBub3JvY2sKK0Rpc2FibGUgdGhlIHVzZSBvZiBSb2NrIFJpZGdlIGV4dGVuc2lvbnMsIGV2ZW4gaWYgYXZhaWxhYmxlLiAgQ2YuXCYKKy5CUiBtYXAgLgorLlRQCisuQiBub2pvbGlldAorRGlzYWJsZSB0aGUgdXNlIG9mIE1pY3Jvc29mdCBKb2xpZXQgZXh0ZW5zaW9ucywgZXZlbiBpZiBhdmFpbGFibGUuICBDZi5cJgorLkJSIG1hcCAuCisuVFAKKy5CUiBjaGVjaz0geyByIFsgZWxheGVkIF18IHMgWyB0cmljdCBdfQorV2l0aAorLkJSIGNoZWNrPXJlbGF4ZWQgLAorYSBmaWxlbmFtZSBpcyBmaXJzdCBjb252ZXJ0ZWQgdG8gbG93ZXIgY2FzZSBiZWZvcmUgZG9pbmcgdGhlIGxvb2t1cC4KK1RoaXMgaXMgcHJvYmFibHkgb25seSBtZWFuaW5nZnVsIHRvZ2V0aGVyIHdpdGgKKy5CIG5vcm9jaworYW5kCisuQlIgbWFwPW5vcm1hbCAuCisoRGVmYXVsdDoKKy5CUiBjaGVjaz1zdHJpY3QgLikKKy5UUAorXGZCdWlkPVxmUFwsXGZJdmFsdWVcZlAgYW5kIFxmQmdpZD1cZlBcLFxmSXZhbHVlXGZQCitHaXZlIGFsbCBmaWxlcyBpbiB0aGUgZmlsZXN5c3RlbSB0aGUgaW5kaWNhdGVkIHVzZXIgb3IgZ3JvdXAgaWQsCitwb3NzaWJseSBvdmVycmlkaW5nIHRoZSBpbmZvcm1hdGlvbiBmb3VuZCBpbiB0aGUgUm9jayBSaWRnZSBleHRlbnNpb25zLgorKERlZmF1bHQ6CisuQlIgdWlkPTAsZ2lkPTAgLikKKy5UUAorLkJSIG1hcD0geyBuIFsgb3JtYWwgXXwgbyBbIGZmIF18IGEgWyBjb3JuIF19CitGb3Igbm9uLVJvY2sgUmlkZ2Ugdm9sdW1lcywgbm9ybWFsIG5hbWUgdHJhbnNsYXRpb24gbWFwcyB1cHBlcgordG8gbG93ZXIgY2FzZSBBU0NJSSwgZHJvcHMgYSB0cmFpbGluZyBgOzEnLCBhbmQgY29udmVydHMgYDsnIHRvIGAuJy4KK1dpdGgKKy5CIG1hcD1vZmYKK25vIG5hbWUgdHJhbnNsYXRpb24gaXMgZG9uZS4gIFNlZQorLkJSIG5vcm9jayAuCisoRGVmYXVsdDoKKy5CUiBtYXA9bm9ybWFsIC4pCisuQiBtYXA9YWNvcm4KK2lzIGxpa2UKKy5CIG1hcD1ub3JtYWwKK2J1dCBhbHNvIGFwcGx5IEFjb3JuIGV4dGVuc2lvbnMgaWYgcHJlc2VudC4KKy5UUAorLkJJIG1vZGU9IHZhbHVlCitGb3Igbm9uLVJvY2sgUmlkZ2Ugdm9sdW1lcywgZ2l2ZSBhbGwgZmlsZXMgdGhlIGluZGljYXRlZCBtb2RlLgorKERlZmF1bHQ6IHJlYWQgYW5kIGV4ZWN1dGUgcGVybWlzc2lvbiBmb3IgZXZlcnlib2R5LikKK1NpbmNlIExpbnV4IDIuMS4zNyBvbmUgbm8gbG9uZ2VyIG5lZWRzIHRvIHNwZWNpZnkgdGhlIG1vZGUgaW4KK2RlY2ltYWwuIChPY3RhbCBpcyBpbmRpY2F0ZWQgYnkgYSBsZWFkaW5nIDAuKQorLlRQCisuQiB1bmhpZGUKK0Fsc28gc2hvdyBoaWRkZW4gYW5kIGFzc29jaWF0ZWQgZmlsZXMuCisoSWYgdGhlIG9yZGluYXJ5IGZpbGVzIGFuZCB0aGUgYXNzb2NpYXRlZCBvciBoaWRkZW4gZmlsZXMgaGF2ZQordGhlIHNhbWUgZmlsZW5hbWVzLCB0aGlzIG1heSBtYWtlIHRoZSBvcmRpbmFyeSBmaWxlcyBpbmFjY2Vzc2libGUuKQorLlRQCisuQlIgYmxvY2s9IHsgNTEyIHwgMTAyNCB8IDIwNDggfQorU2V0IHRoZSBibG9jayBzaXplIHRvIHRoZSBpbmRpY2F0ZWQgdmFsdWUuCisoRGVmYXVsdDoKKy5CUiBibG9jaz0xMDI0IC4pCisuVFAKKy5CUiBjb252PSB7IGEgWyB1dG8gXXwgYiBbIGluYXJ5IF18IG0gWyB0ZXh0IF18IHQgWyBleHQgXX0KKyhEZWZhdWx0OgorLkJSIGNvbnY9YmluYXJ5IC4pCitTaW5jZSBMaW51eCAxLjMuNTQgdGhpcyBvcHRpb24gaGFzIG5vIGVmZmVjdCBhbnltb3JlLgorKEFuZCBub24tYmluYXJ5IHNldHRpbmdzIHVzZWQgdG8gYmUgdmVyeSBkYW5nZXJvdXMsCitwb3NzaWJseSBsZWFkaW5nIHRvIHNpbGVudCBkYXRhIGNvcnJ1cHRpb24uKQorLlRQCisuQiBjcnVmdAorSWYgdGhlIGhpZ2ggYnl0ZSBvZiB0aGUgZmlsZSBsZW5ndGggY29udGFpbnMgb3RoZXIgZ2FyYmFnZSwKK3NldCB0aGlzIG1vdW50IG9wdGlvbiB0byBpZ25vcmUgdGhlIGhpZ2ggb3JkZXIgYml0cyBvZiB0aGUgZmlsZSBsZW5ndGguCitUaGlzIGltcGxpZXMgdGhhdCBhIGZpbGUgY2Fubm90IGJlIGxhcmdlciB0aGFuIDE2XCBNQi4KKy5UUAorLkJJIHNlc3Npb249IHgKK1NlbGVjdCBudW1iZXIgb2Ygc2Vzc2lvbiBvbiBtdWx0aXNlc3Npb24gQ0QuIChTaW5jZSAyLjMuNC4pCisuVFAKKy5CSSBzYnNlY3Rvcj0geHh4CitTZXNzaW9uIGJlZ2lucyBmcm9tIHNlY3RvciB4eHguIChTaW5jZSAyLjMuNC4pCisuTFAKK1RoZSBmb2xsb3dpbmcgb3B0aW9ucyBhcmUgdGhlIHNhbWUgYXMgZm9yIHZmYXQgYW5kIHNwZWNpZnlpbmcgdGhlbSBvbmx5IG1ha2VzCitzZW5zZSB3aGVuIHVzaW5nIGRpc2NzIGVuY29kZWQgdXNpbmcgTWljcm9zb2Z0J3MgSm9saWV0IGV4dGVuc2lvbnMuCisuVFAKKy5CSSBpb2NoYXJzZXQ9IHZhbHVlCitDaGFyYWN0ZXIgc2V0IHRvIHVzZSBmb3IgY29udmVydGluZyAxNiBiaXQgVW5pY29kZSBjaGFyYWN0ZXJzIG9uIENECit0byA4IGJpdCBjaGFyYWN0ZXJzLiAgVGhlIGRlZmF1bHQgaXMgaXNvODg1OS0xLgorLlRQCisuQiB1dGY4CitDb252ZXJ0IDE2IGJpdCBVbmljb2RlIGNoYXJhY3RlcnMgb24gQ0QgdG8gVVRGLTguCisKKy5TUyAiTW91bnQgb3B0aW9ucyBmb3IgamZzIgorLlRQCisuQkkgaW9jaGFyc2V0PSBuYW1lCitDaGFyYWN0ZXIgc2V0IHRvIHVzZSBmb3IgY29udmVydGluZyBmcm9tIFVuaWNvZGUgdG8gQVNDSUkuICBUaGUgZGVmYXVsdCBpcwordG8gZG8gbm8gY29udmVyc2lvbi4gIFVzZQorLkIgaW9jaGFyc2V0PXV0ZjgKK2ZvciBVVEY4IHRyYW5zbGF0aW9ucy4gIFRoaXMgcmVxdWlyZXMgQ09ORklHX05MU19VVEY4IHRvIGJlIHNldCBpbgordGhlIGtlcm5lbAorLkkgIi5jb25maWciCitmaWxlLgorLlRQCisuQkkgcmVzaXplPSB2YWx1ZQorUmVzaXplIHRoZSB2b2x1bWUgdG8KKy5JIHZhbHVlCitibG9ja3MuICBKRlMgb25seSBzdXBwb3J0cyBncm93aW5nIGEgdm9sdW1lLCBub3Qgc2hyaW5raW5nIGl0LiAgVGhpcyBvcHRpb24KK2lzIG9ubHkgdmFsaWQgZHVyaW5nIGEgcmVtb3VudCwgd2hlbiB0aGUgdm9sdW1lIGlzIG1vdW50ZWQgcmVhZC13cml0ZS4gIFRoZQorLkIgcmVzaXplCitrZXl3b3JkIHdpdGggbm8gdmFsdWUgd2lsbCBncm93IHRoZSB2b2x1bWUgdG8gdGhlIGZ1bGwgc2l6ZSBvZiB0aGUgcGFydGl0aW9uLgorLlRQCisuQiBub2ludGVncml0eQorRG8gbm90IHdyaXRlIHRvIHRoZSBqb3VybmFsLiAgVGhlIHByaW1hcnkgdXNlIG9mIHRoaXMgb3B0aW9uIGlzIHRvIGFsbG93Citmb3IgaGlnaGVyIHBlcmZvcm1hbmNlIHdoZW4gcmVzdG9yaW5nIGEgdm9sdW1lIGZyb20gYmFja3VwIG1lZGlhLiAgVGhlCitpbnRlZ3JpdHkgb2YgdGhlIHZvbHVtZSBpcyBub3QgZ3VhcmFudGVlZCBpZiB0aGUgc3lzdGVtIGFibm9ybWFsbHkgZW5kcy4KKy5UUAorLkIgaW50ZWdyaXR5CitEZWZhdWx0LiAgQ29tbWl0IG1ldGFkYXRhIGNoYW5nZXMgdG8gdGhlIGpvdXJuYWwuICBVc2UgdGhpcyBvcHRpb24gdG8gcmVtb3VudAorYSB2b2x1bWUgd2hlcmUgdGhlCisuQiBub2ludGVncml0eQorb3B0aW9uIHdhcyBwcmV2aW91c2x5IHNwZWNpZmllZCBpbiBvcmRlciB0byByZXN0b3JlIG5vcm1hbCBiZWhhdmlvci4KKy5UUAorLkJSIGVycm9ycz0geyBjb250aW51ZSB8IHJlbW91bnQtcm8gfCBwYW5pYyB9CitEZWZpbmUgdGhlIGJlaGF2aW9yIHdoZW4gYW4gZXJyb3IgaXMgZW5jb3VudGVyZWQuCisoRWl0aGVyIGlnbm9yZSBlcnJvcnMgYW5kIGp1c3QgbWFyayB0aGUgZmlsZXN5c3RlbSBlcnJvbmVvdXMgYW5kIGNvbnRpbnVlLAorb3IgcmVtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLW9ubHksIG9yIHBhbmljIGFuZCBoYWx0IHRoZSBzeXN0ZW0uKQorLlRQCisuQlIgbm9xdW90YSB8IHF1b3RhIHwgdXNycXVvdGEgfCBncnBxdW90YQorVGhlc2Ugb3B0aW9ucyBhcmUgYWNjZXB0ZWQgYnV0IGlnbm9yZWQuCisKKy5TUyAiTW91bnQgb3B0aW9ucyBmb3IgbWluaXgiCitOb25lLgorCisuU1MgIk1vdW50IG9wdGlvbnMgZm9yIG1zZG9zIgorU2VlIG1vdW50IG9wdGlvbnMgZm9yIGZhdC4KK0lmIHRoZQorLkkgbXNkb3MKK2ZpbGVzeXN0ZW0gZGV0ZWN0cyBhbiBpbmNvbnNpc3RlbmN5LCBpdCByZXBvcnRzIGFuIGVycm9yIGFuZCBzZXRzIHRoZSBmaWxlCitzeXN0ZW0gcmVhZC1vbmx5LiAgVGhlIGZpbGVzeXN0ZW0gY2FuIGJlIG1hZGUgd3JpdGFibGUgYWdhaW4gYnkgcmVtb3VudGluZworaXQuCisKKy5TUyAiTW91bnQgb3B0aW9ucyBmb3IgbmNwZnMiCitKdXN0IGxpa2UKKy5JUiBuZnMgIiwgdGhlICIgbmNwZnMKK2ltcGxlbWVudGF0aW9uIGV4cGVjdHMgYSBiaW5hcnkgYXJndW1lbnQgKGEKKy5JUiAic3RydWN0IG5jcF9tb3VudF9kYXRhIiApCit0byB0aGUgbW91bnQgc3lzdGVtIGNhbGwuICBUaGlzIGFyZ3VtZW50IGlzIGNvbnN0cnVjdGVkIGJ5CisuQlIgbmNwbW91bnQgKDgpCithbmQgdGhlIGN1cnJlbnQgdmVyc2lvbiBvZgorLkIgbW91bnQKKygyLjEyKSBkb2VzIG5vdCBrbm93IGFueXRoaW5nIGFib3V0IG5jcGZzLgorCisuU1MgIk1vdW50IG9wdGlvbnMgZm9yIG5mcyBhbmQgbmZzNCIKK1NlZSB0aGUgb3B0aW9ucyBzZWN0aW9uIG9mIHRoZQorLkJSIG5mcyAoNSkKK21hbiBwYWdlICh0aGUgbmZzLXV0aWxzIHBhY2thZ2UgbXVzdCBiZSBpbnN0YWxsZWQpLgorCitUaGUKKy5JUiBuZnMgIiBhbmQgIiBuZnM0CitpbXBsZW1lbnRhdGlvbiBleHBlY3RzIGEgYmluYXJ5IGFyZ3VtZW50IChhCisuSVIgInN0cnVjdCBuZnNfbW91bnRfZGF0YSIgKQordG8gdGhlIG1vdW50IHN5c3RlbSBjYWxsLiAgVGhpcyBhcmd1bWVudCBpcyBjb25zdHJ1Y3RlZCBieQorLkJSIG1vdW50Lm5mcyAoOCkKK2FuZCB0aGUgY3VycmVudCB2ZXJzaW9uIG9mCisuQiBtb3VudAorKDIuMTMpIGRvZXMgbm90IGtub3cgYW55dGhpbmcgYWJvdXQgbmZzIGFuZCBuZnM0LgorCisuU1MgIk1vdW50IG9wdGlvbnMgZm9yIG50ZnMiCisuVFAKKy5CSSBpb2NoYXJzZXQ9IG5hbWUKK0NoYXJhY3RlciBzZXQgdG8gdXNlIHdoZW4gcmV0dXJuaW5nIGZpbGUgbmFtZXMuCitVbmxpa2UgVkZBVCwgTlRGUyBzdXBwcmVzc2VzIG5hbWVzIHRoYXQgY29udGFpbgorbm9uY29udmVydGlibGUgY2hhcmFjdGVycy4gIERlcHJlY2F0ZWQuCisuXCIgc2luY2UgMi41LjExCisuVFAKKy5CSSBubHM9IG5hbWUKK05ldyBuYW1lIGZvciB0aGUgb3B0aW9uIGVhcmxpZXIgY2FsbGVkCisuSVIgaW9jaGFyc2V0IC4KKy5cIiBzaW5jZSAyLjUuMTEKKy5UUAorLkIgdXRmOAorVXNlIFVURi04IGZvciBjb252ZXJ0aW5nIGZpbGUgbmFtZXMuCisuVFAKKy5CUiB1bmlfeGxhdGU9IHsgMCB8IDEgfCAyIH0KK0ZvciAwIChvciBgbm8nIG9yIGBmYWxzZScpLCBkbyBub3QgdXNlIGVzY2FwZSBzZXF1ZW5jZXMKK2ZvciB1bmtub3duIFVuaWNvZGUgY2hhcmFjdGVycy4KK0ZvciAxIChvciBgeWVzJyBvciBgdHJ1ZScpIG9yIDIsIHVzZSB2ZmF0LXN0eWxlIDQtYnl0ZSBlc2NhcGUgc2VxdWVuY2VzCitzdGFydGluZyB3aXRoICI6Ii4gIEhlcmUgMiBnaXZlIGEgbGl0dGxlLWVuZGlhbiBlbmNvZGluZworYW5kIDEgYSBieXRlc3dhcHBlZCBiaWdlbmRpYW4gZW5jb2RpbmcuCisuVFAKKy5CIHBvc2l4PVswfDFdCitJZiBlbmFibGVkIChwb3NpeD0xKSwgdGhlIGZpbGVzeXN0ZW0gZGlzdGluZ3Vpc2hlcyBiZXR3ZWVuCit1cHBlciBhbmQgbG93ZXIgY2FzZS4gIFRoZSA4LjMgYWxpYXMgbmFtZXMgYXJlIHByZXNlbnRlZCBhcworaGFyZCBsaW5rcyBpbnN0ZWFkIG9mIGJlaW5nIHN1cHByZXNzZWQuICBUaGlzIG9wdGlvbiBpcyBvYnNvbGV0ZS4KKy5UUAorXGZCdWlkPVxmUFwsXGZJdmFsdWVcZlAsIFxmQmdpZD1cZlBcLFxmSXZhbHVlXGZQIGFuZCBcZkJ1bWFzaz1cZlBcLFxmSXZhbHVlXGZQCitTZXQgdGhlIGZpbGUgcGVybWlzc2lvbiBvbiB0aGUgZmlsZXN5c3RlbS4KK1RoZSB1bWFzayB2YWx1ZSBpcyBnaXZlbiBpbiBvY3RhbC4KK0J5IGRlZmF1bHQsIHRoZSBmaWxlcyBhcmUgb3duZWQgYnkgcm9vdCBhbmQgbm90IHJlYWRhYmxlIGJ5IHNvbWVib2R5IGVsc2UuCisKKy5TUyAiTW91bnQgb3B0aW9ucyBmb3Igb3ZlcmxheSIKK1NpbmNlIExpbnV4IDMuMTggdGhlIG92ZXJsYXkgcHNldWRvIGZpbGVzeXN0ZW0gaW1wbGVtZW50cyBhIHVuaW9uIG1vdW50IGZvcgorb3RoZXIgZmlsZXN5c3RlbXMuCisKK0FuIG92ZXJsYXkgZmlsZXN5c3RlbSBjb21iaW5lcyB0d28gZmlsZXN5c3RlbXMgLSBhbiBcZkJ1cHBlclxmUiBmaWxlc3lzdGVtIGFuZAorYSBcZkJsb3dlclxmUiBmaWxlc3lzdGVtLiAgV2hlbiBhIG5hbWUgZXhpc3RzIGluIGJvdGggZmlsZXN5c3RlbXMsIHRoZSBvYmplY3QKK2luIHRoZSB1cHBlciBmaWxlc3lzdGVtIGlzIHZpc2libGUgd2hpbGUgdGhlIG9iamVjdCBpbiB0aGUgbG93ZXIgZmlsZXN5c3RlbSBpcworZWl0aGVyIGhpZGRlbiBvciwgaW4gdGhlIGNhc2Ugb2YgZGlyZWN0b3JpZXMsIG1lcmdlZCB3aXRoIHRoZSB1cHBlciBvYmplY3QuCisKK1RoZSBsb3dlciBmaWxlc3lzdGVtIGNhbiBiZSBhbnkgZmlsZXN5c3RlbSBzdXBwb3J0ZWQgYnkgTGludXggYW5kIGRvZXMgbm90IG5lZWQKK3RvIGJlIHdyaXRhYmxlLiAgVGhlIGxvd2VyIGZpbGVzeXN0ZW0gY2FuIGV2ZW4gYmUgYW5vdGhlciBvdmVybGF5ZnMuICBUaGUgdXBwZXIKK2ZpbGVzeXN0ZW0gd2lsbCBub3JtYWxseSBiZSB3cml0YWJsZSBhbmQgaWYgaXQgaXMgaXQgbXVzdCBzdXBwb3J0IHRoZSBjcmVhdGlvbgorb2YgdHJ1c3RlZC4qIGV4dGVuZGVkIGF0dHJpYnV0ZXMsIGFuZCBtdXN0IHByb3ZpZGUgYSB2YWxpZCBkX3R5cGUgaW4gcmVhZGRpcgorcmVzcG9uc2VzLCBzbyBORlMgaXMgbm90IHN1aXRhYmxlLgorCitBIHJlYWQtb25seSBvdmVybGF5IG9mIHR3byByZWFkLW9ubHkgZmlsZXN5c3RlbXMgbWF5IHVzZSBhbnkgZmlsZXN5c3RlbSB0eXBlLgorVGhlIG9wdGlvbnMgXGZCbG93ZXJkaXJcZlIgYW5kIFxmQnVwcGVyZGlyXGZSIGFyZSBjb21iaW5lZCBpbnRvIGEgbWVyZ2VkCitkaXJlY3RvcnkgYnkgdXNpbmc6CisKKy5SUworLmJyCisubmYKKy5CICJtb3VudCBcLXQgb3ZlcmxheSAgb3ZlcmxheSAgXGUiCisuQiAiICBcLW9sb3dlcmRpcj0vbG93ZXIsdXBwZXJkaXI9L3VwcGVyLHdvcmtkaXI9L3dvcmsgIC9tZXJnZWQiCisuZmkKKy5icgorLlJFCisKKy5UUAorLkJJIGxvd2VyZGlyPSBkaXJlY3RvcnkKK0FueSBmaWxlc3lzdGVtLCBkb2VzIG5vdCBuZWVkIHRvIGJlIG9uIGEgd3JpdGFibGUgZmlsZXN5c3RlbS4KKy5UUAorLkJJIHVwcGVyZGlyPSBkaXJlY3RvcnkKK1RoZSB1cHBlcmRpciBpcyBub3JtYWxseSBvbiBhIHdyaXRhYmxlIGZpbGVzeXN0ZW0uCisuVFAKKy5CSSB3b3JrZGlyPSBkaXJlY3RvcnkKK1RoZSB3b3JrZGlyIG5lZWRzIHRvIGJlIGFuIGVtcHR5IGRpcmVjdG9yeSBvbiB0aGUgc2FtZSBmaWxlc3lzdGVtIGFzIHVwcGVyZGlyLgorCisuU1MgIk1vdW50IG9wdGlvbnMgZm9yIHByb2MiCisuVFAKK1xmQnVpZD1cZlBcLFxmSXZhbHVlXGZQIGFuZCBcZkJnaWQ9XGZQXCxcZkl2YWx1ZVxmUAorVGhlc2Ugb3B0aW9ucyBhcmUgcmVjb2duaXplZCwgYnV0IGhhdmUgbm8gZWZmZWN0IGFzIGZhciBhcyBJIGNhbiBzZWUuCisKKy5TUyAiTW91bnQgb3B0aW9ucyBmb3IgcmFtZnMiCitSYW1mcyBpcyBhIG1lbW9yeSBiYXNlZCBmaWxlc3lzdGVtLiAgTW91bnQgaXQgYW5kIHlvdSBoYXZlIGl0LiAgVW5tb3VudCBpdAorYW5kIGl0IGlzIGdvbmUuICBQcmVzZW50IHNpbmNlIExpbnV4IDIuMy45OXByZTQuCitUaGVyZSBhcmUgbm8gbW91bnQgb3B0aW9ucy4KKworLlNTICJNb3VudCBvcHRpb25zIGZvciByZWlzZXJmcyIKK1JlaXNlcmZzIGlzIGEgam91cm5hbGluZyBmaWxlc3lzdGVtLgorLlRQCisuQiBjb252CitJbnN0cnVjdHMgdmVyc2lvbiAzLjYgcmVpc2VyZnMgc29mdHdhcmUgdG8gbW91bnQgYSB2ZXJzaW9uIDMuNSBmaWxlc3lzdGVtLAordXNpbmcgdGhlIDMuNiBmb3JtYXQgZm9yIG5ld2x5IGNyZWF0ZWQgb2JqZWN0cy4gIFRoaXMgZmlsZXN5c3RlbSB3aWxsIG5vCitsb25nZXIgYmUgY29tcGF0aWJsZSB3aXRoIHJlaXNlcmZzIDMuNSB0b29scy4KKy5UUAorLkJSIGhhc2g9IHsgcnVwYXNvdiB8IHRlYSB8IHI1IHwgZGV0ZWN0IH0KK0Nob29zZSB3aGljaCBoYXNoIGZ1bmN0aW9uIHJlaXNlcmZzIHdpbGwgdXNlIHRvIGZpbmQgZmlsZXMgd2l0aGluIGRpcmVjdG9yaWVzLgorLlJTCisuVFAKKy5CIHJ1cGFzb3YKK0EgaGFzaCBpbnZlbnRlZCBieSBZdXJ5IFl1LlwmIFJ1cGFzb3YuICBJdCBpcyBmYXN0IGFuZCBwcmVzZXJ2ZXMgbG9jYWxpdHksCittYXBwaW5nIGxleGljb2dyYXBoaWNhbGx5IGNsb3NlIGZpbGUgbmFtZXMgdG8gY2xvc2UgaGFzaCB2YWx1ZXMuCitUaGlzIG9wdGlvbiBzaG91bGQgbm90IGJlIHVzZWQsIGFzIGl0IGNhdXNlcyBhIGhpZ2ggcHJvYmFiaWxpdHkgb2YgaGFzaAorY29sbGlzaW9ucy4KKy5UUAorLkIgdGVhCitBIERhdmlzLU1leWVyIGZ1bmN0aW9uIGltcGxlbWVudGVkIGJ5IEplcmVteSBGaXR6aGFyZGluZ2UuCitJdCB1c2VzIGhhc2ggcGVybXV0aW5nIGJpdHMgaW4gdGhlIG5hbWUuICBJdCBnZXRzIGhpZ2ggcmFuZG9tbmVzcworYW5kLCB0aGVyZWZvcmUsIGxvdyBwcm9iYWJpbGl0eSBvZiBoYXNoIGNvbGxpc2lvbnMgYXQgc29tZSBDUFUgY29zdC4KK1RoaXMgbWF5IGJlIHVzZWQgaWYgRUhBU0hDT0xMSVNJT04gZXJyb3JzIGFyZSBleHBlcmllbmNlZCB3aXRoIHRoZSByNSBoYXNoLgorLlRQCisuQiByNQorQSBtb2RpZmllZCB2ZXJzaW9uIG9mIHRoZSBydXBhc292IGhhc2guICBJdCBpcyB1c2VkIGJ5IGRlZmF1bHQgYW5kIGlzCit0aGUgYmVzdCBjaG9pY2UgdW5sZXNzIHRoZSBmaWxlc3lzdGVtIGhhcyBodWdlIGRpcmVjdG9yaWVzIGFuZAordW51c3VhbCBmaWxlLW5hbWUgcGF0dGVybnMuCisuVFAKKy5CIGRldGVjdAorSW5zdHJ1Y3RzCisuSSBtb3VudAordG8gZGV0ZWN0IHdoaWNoIGhhc2ggZnVuY3Rpb24gaXMgaW4gdXNlIGJ5IGV4YW1pbmluZwordGhlIGZpbGVzeXN0ZW0gYmVpbmcgbW91bnRlZCwgYW5kIHRvIHdyaXRlIHRoaXMgaW5mb3JtYXRpb24gaW50bwordGhlIHJlaXNlcmZzIHN1cGVyYmxvY2suICBUaGlzIGlzIG9ubHkgdXNlZnVsIG9uIHRoZSBmaXJzdCBtb3VudCBvZgorYW4gb2xkIGZvcm1hdCBmaWxlc3lzdGVtLgorLlJFCisuVFAKKy5CIGhhc2hlZF9yZWxvY2F0aW9uCitUdW5lcyB0aGUgYmxvY2sgYWxsb2NhdG9yLiAgVGhpcyBtYXkgcHJvdmlkZSBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMKK2luIHNvbWUgc2l0dWF0aW9ucy4KKy5UUAorLkIgbm9fdW5oYXNoZWRfcmVsb2NhdGlvbgorVHVuZXMgdGhlIGJsb2NrIGFsbG9jYXRvci4gIFRoaXMgbWF5IHByb3ZpZGUgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnRzCitpbiBzb21lIHNpdHVhdGlvbnMuCisuVFAKKy5CIG5vYm9yZGVyCitEaXNhYmxlIHRoZSBib3JkZXIgYWxsb2NhdG9yIGFsZ29yaXRobSBpbnZlbnRlZCBieSBZdXJ5IFl1LlwmIFJ1cGFzb3YuCitUaGlzIG1heSBwcm92aWRlIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50cyBpbiBzb21lIHNpdHVhdGlvbnMuCisuVFAKKy5CIG5vbG9nCitEaXNhYmxlIGpvdXJuYWxpbmcuICBUaGlzIHdpbGwgcHJvdmlkZSBzbGlnaHQgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnRzIGluCitzb21lIHNpdHVhdGlvbnMgYXQgdGhlIGNvc3Qgb2YgbG9zaW5nIHJlaXNlcmZzJ3MgZmFzdCByZWNvdmVyeSBmcm9tIGNyYXNoZXMuCitFdmVuIHdpdGggdGhpcyBvcHRpb24gdHVybmVkIG9uLCByZWlzZXJmcyBzdGlsbCBwZXJmb3JtcyBhbGwgam91cm5hbGluZworb3BlcmF0aW9ucywgc2F2ZSBmb3IgYWN0dWFsIHdyaXRlcyBpbnRvIGl0cyBqb3VybmFsaW5nIGFyZWEuICBJbXBsZW1lbnRhdGlvbgorb2YKKy5JIG5vbG9nCitpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MuCisuVFAKKy5CIG5vdGFpbAorQnkgZGVmYXVsdCwgcmVpc2VyZnMgc3RvcmVzIHNtYWxsIGZpbGVzIGFuZCBgZmlsZSB0YWlscycgZGlyZWN0bHkgaW50byBpdHMKK3RyZWUuICBUaGlzIGNvbmZ1c2VzIHNvbWUgdXRpbGl0aWVzIHN1Y2ggYXMKKy5CUiBMSUxPICg4KS4KK1RoaXMgb3B0aW9uIGlzIHVzZWQgdG8gZGlzYWJsZSBwYWNraW5nIG9mIGZpbGVzIGludG8gdGhlIHRyZWUuCisuVFAKKy5CIHJlcGxheW9ubHkKK1JlcGxheSB0aGUgdHJhbnNhY3Rpb25zIHdoaWNoIGFyZSBpbiB0aGUgam91cm5hbCwgYnV0IGRvIG5vdCBhY3R1YWxseQorbW91bnQgdGhlIGZpbGVzeXN0ZW0uICBNYWlubHkgdXNlZCBieQorLklSIHJlaXNlcmZzY2sgLgorLlRQCisuQkkgcmVzaXplPSBudW1iZXIKK0EgcmVtb3VudCBvcHRpb24gd2hpY2ggcGVybWl0cyBvbmxpbmUgZXhwYW5zaW9uIG9mIHJlaXNlcmZzIHBhcnRpdGlvbnMuCitJbnN0cnVjdHMgcmVpc2VyZnMgdG8gYXNzdW1lIHRoYXQgdGhlIGRldmljZSBoYXMKKy5JIG51bWJlcgorYmxvY2tzLgorVGhpcyBvcHRpb24gaXMgZGVzaWduZWQgZm9yIHVzZSB3aXRoIGRldmljZXMgd2hpY2ggYXJlIHVuZGVyIGxvZ2ljYWwKK3ZvbHVtZSBtYW5hZ2VtZW50IChMVk0pLgorVGhlcmUgaXMgYSBzcGVjaWFsCisuSSByZXNpemVyCit1dGlsaXR5IHdoaWNoIGNhbiBiZSBvYnRhaW5lZCBmcm9tCisuSVIgZnRwOi8vZnRwLm5hbWVzeXMuY29tL3B1Yi9yZWlzZXJmc3Byb2dzIC4KKy5UUAorLkIgdXNlcl94YXR0cgorRW5hYmxlIEV4dGVuZGVkIFVzZXIgQXR0cmlidXRlcy4gIFNlZSB0aGUKKy5CUiBhdHRyICg1KQorbWFudWFsIHBhZ2UuCisuVFAKKy5CIGFjbAorRW5hYmxlIFBPU0lYIEFjY2VzcyBDb250cm9sIExpc3RzLiAgU2VlIHRoZQorLkJSIGFjbCAoNSkKK21hbnVhbCBwYWdlLgorLlRQCisuQlIgYmFycmllcj1ub25lICIgLyAiIGJhcnJpZXI9Zmx1c2ggIgorVGhpcyBkaXNhYmxlcyAvIGVuYWJsZXMgdGhlIHVzZSBvZiB3cml0ZSBiYXJyaWVycyBpbiB0aGUgam91cm5hbGluZyBjb2RlLgorYmFycmllcj1ub25lIGRpc2FibGVzLCBiYXJyaWVyPWZsdXNoIGVuYWJsZXMgKGRlZmF1bHQpLiAgVGhpcyBhbHNvIHJlcXVpcmVzIGFuCitJTyBzdGFjayB3aGljaCBjYW4gc3VwcG9ydCBiYXJyaWVycywgYW5kIGlmIHJlaXNlcmZzIGdldHMgYW4gZXJyb3Igb24gYSBiYXJyaWVyCit3cml0ZSwgaXQgd2lsbCBkaXNhYmxlIGJhcnJpZXJzIGFnYWluIHdpdGggYSB3YXJuaW5nLiAgV3JpdGUgYmFycmllcnMgZW5mb3JjZQorcHJvcGVyIG9uLWRpc2sgb3JkZXJpbmcgb2Ygam91cm5hbCBjb21taXRzLCBtYWtpbmcgdm9sYXRpbGUgZGlzayB3cml0ZSBjYWNoZXMKK3NhZmUgdG8gdXNlLCBhdCBzb21lIHBlcmZvcm1hbmNlIHBlbmFsdHkuICBJZiB5b3VyIGRpc2tzIGFyZSBiYXR0ZXJ5LWJhY2tlZCBpbgorb25lIHdheSBvciBhbm90aGVyLCBkaXNhYmxpbmcgYmFycmllcnMgbWF5IHNhZmVseSBpbXByb3ZlIHBlcmZvcm1hbmNlLgorCisuU1MgIk1vdW50IG9wdGlvbnMgZm9yIHJvbWZzIgorTm9uZS4KKworLlNTICJNb3VudCBvcHRpb25zIGZvciBzcXVhc2hmcyIKK05vbmUuCisKKy5TUyAiTW91bnQgb3B0aW9ucyBmb3Igc21iZnMiCitKdXN0IGxpa2UKKy5JUiBuZnMgIiwgdGhlICIgc21iZnMKK2ltcGxlbWVudGF0aW9uIGV4cGVjdHMgYSBiaW5hcnkgYXJndW1lbnQgKGEKKy5JUiAic3RydWN0IHNtYl9tb3VudF9kYXRhIiApCit0byB0aGUgbW91bnQgc3lzdGVtIGNhbGwuICBUaGlzIGFyZ3VtZW50IGlzIGNvbnN0cnVjdGVkIGJ5CisuQlIgc21ibW91bnQgKDgpCithbmQgdGhlIGN1cnJlbnQgdmVyc2lvbiBvZgorLkIgbW91bnQKKygyLjEyKSBkb2VzIG5vdCBrbm93IGFueXRoaW5nIGFib3V0IHNtYmZzLgorCisuU1MgIk1vdW50IG9wdGlvbnMgZm9yIHN5c3YiCitOb25lLgorCisuU1MgIk1vdW50IG9wdGlvbnMgZm9yIHRtcGZzIgorLlRQCisuQkkgc2l6ZT0gbmJ5dGVzCitPdmVycmlkZSBkZWZhdWx0IG1heGltdW0gc2l6ZSBvZiB0aGUgZmlsZXN5c3RlbS4KK1RoZSBzaXplIGlzIGdpdmVuIGluIGJ5dGVzLCBhbmQgcm91bmRlZCB1cCB0byBlbnRpcmUgcGFnZXMuCitUaGUgZGVmYXVsdCBpcyBoYWxmIG9mIHRoZSBtZW1vcnkuICBUaGUgc2l6ZSBwYXJhbWV0ZXIgYWxzbyBhY2NlcHRzIGEgc3VmZml4ICUKK3RvIGxpbWl0IHRoaXMgdG1wZnMgaW5zdGFuY2UgdG8gdGhhdCBwZXJjZW50YWdlIG9mIHlvdXIgcGh5c2ljYWwgUkFNOgordGhlIGRlZmF1bHQsIHdoZW4gbmVpdGhlciBzaXplIG5vciBucl9ibG9ja3MgaXMgc3BlY2lmaWVkLCBpcyBzaXplPTUwJQorLlRQCisuQiBucl9ibG9ja3M9CitUaGUgc2FtZSBhcyBzaXplLCBidXQgaW4gYmxvY2tzIG9mIFBBR0VfQ0FDSEVfU0laRQorLlRQCisuQiBucl9pbm9kZXM9CitUaGUgbWF4aW11bSBudW1iZXIgb2YgaW5vZGVzIGZvciB0aGlzIGluc3RhbmNlLiAgVGhlIGRlZmF1bHQKK2lzIGhhbGYgb2YgdGhlIG51bWJlciBvZiB5b3VyIHBoeXNpY2FsIFJBTSBwYWdlcywgb3IgKG9uIGEKK21hY2hpbmUgd2l0aCBoaWdobWVtKSB0aGUgbnVtYmVyIG9mIGxvd21lbSBSQU0gcGFnZXMsCit3aGljaGV2ZXIgaXMgdGhlIGxvd2VyLgorLlBQCitUaGUgdG1wZnMgbW91bnQgb3B0aW9ucyBmb3Igc2l6aW5nIChcYworLkJSIHNpemUgLAorLkJSIG5yX2Jsb2NrcyAsCithbmQKKy5CUiBucl9pbm9kZXMgKQorYWNjZXB0IGEgc3VmZml4CisuQlIgayAsCisuQiBtCitvcgorLkIgZworZm9yIEtpLCBNaSwgR2kgKGJpbmFyeSBraWxvIChraWJpKSwgYmluYXJ5IG1lZ2EgKG1lYmkpIGFuZCBiaW5hcnkgZ2lnYSAoZ2liaSkpIGFuZCBjYW4gYmUgY2hhbmdlZCBvbiByZW1vdW50LgorCisuVFAKKy5CIG1vZGU9CitTZXQgaW5pdGlhbCBwZXJtaXNzaW9ucyBvZiB0aGUgcm9vdCBkaXJlY3RvcnkuCisuVFAKKy5CIHVpZD0KK1RoZSB1c2VyIGlkLgorLlRQCisuQiBnaWQ9CitUaGUgZ3JvdXAgaWQuCisuVFAKKy5CIG1wb2w9W2RlZmF1bHR8cHJlZmVyOk5vZGV8YmluZDpOb2RlTGlzdHxpbnRlcmxlYXZlfGludGVybGVhdmU6Tm9kZUxpc3RdCitTZXQgdGhlIE5VTUEgbWVtb3J5IGFsbG9jYXRpb24gcG9saWN5IGZvciBhbGwgZmlsZXMgaW4gdGhhdAoraW5zdGFuY2UgKGlmIHRoZSBrZXJuZWwgQ09ORklHX05VTUEgaXMgZW5hYmxlZCkgXChlbiB3aGljaCBjYW4gYmUgYWRqdXN0ZWQgb24gdGhlCitmbHkgdmlhICdtb3VudCBcLW8gcmVtb3VudCBcJi4uLicKKy5SUworLlRQCisuQiBkZWZhdWx0CitwcmVmZXJzIHRvIGFsbG9jYXRlIG1lbW9yeSBmcm9tIHRoZSBsb2NhbCBub2RlCisuVFAKKy5CIHByZWZlcjpOb2RlCitwcmVmZXJzIHRvIGFsbG9jYXRlIG1lbW9yeSBmcm9tIHRoZSBnaXZlbiBOb2RlCisuVFAKKy5CIGJpbmQ6Tm9kZUxpc3QKK2FsbG9jYXRlcyBtZW1vcnkgb25seSBmcm9tIG5vZGVzIGluIE5vZGVMaXN0CisuVFAKKy5CIGludGVybGVhdmUKK3ByZWZlcnMgdG8gYWxsb2NhdGUgZnJvbSBlYWNoIG5vZGUgaW4gdHVybgorLlRQCisuQiBpbnRlcmxlYXZlOk5vZGVMaXN0CithbGxvY2F0ZXMgZnJvbSBlYWNoIG5vZGUgb2YgTm9kZUxpc3QgaW4gdHVybi4KKy5QUAorVGhlIE5vZGVMaXN0IGZvcm1hdCBpcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGRlY2ltYWwgbnVtYmVycyBhbmQgcmFuZ2VzLCBhCityYW5nZSBiZWluZyB0d28gImh5cGhlbi1taW51cyItc2VwYXJhdGVkIGRlY2ltYWwgbnVtYmVycywgdGhlIHNtYWxsZXN0IGFuZCBsYXJnZXN0IG5vZGUKK251bWJlcnMgaW4gdGhlIHJhbmdlLiAgRm9yIGV4YW1wbGUsIG1wb2w9YmluZDowXChlbjMsNSw3LDlcKGVuMTUKKworTm90ZSB0aGF0IHRyeWluZyB0byBtb3VudCBhIHRtcGZzIHdpdGggYW4gbXBvbCBvcHRpb24gd2lsbCBmYWlsIGlmIHRoZQorcnVubmluZyBrZXJuZWwgZG9lcyBub3Qgc3VwcG9ydCBOVU1BOyBhbmQgd2lsbCBmYWlsIGlmIGl0cyBub2RlbGlzdAorc3BlY2lmaWVzIGEgbm9kZSB3aGljaCBpcyBub3Qgb25saW5lLiAgSWYgeW91ciBzeXN0ZW0gcmVsaWVzIG9uIHRoYXQKK3RtcGZzIGJlaW5nIG1vdW50ZWQsIGJ1dCBmcm9tIHRpbWUgdG8gdGltZSBydW5zIGEga2VybmVsIGJ1aWx0IHdpdGhvdXQKK05VTUEgY2FwYWJpbGl0eSAocGVyaGFwcyBhIHNhZmUgcmVjb3Zlcnkga2VybmVsKSwgb3Igd2l0aCBmZXdlciBub2Rlcworb25saW5lLCB0aGVuIGl0IGlzIGFkdmlzYWJsZSB0byBvbWl0IHRoZSBtcG9sIG9wdGlvbiBmcm9tIGF1dG9tYXRpYworbW91bnQgb3B0aW9ucy4gIEl0IGNhbiBiZSBhZGRlZCBsYXRlciwgd2hlbiB0aGUgdG1wZnMgaXMgYWxyZWFkeSBtb3VudGVkCitvbiBNb3VudFBvaW50LCBieSAnbW91bnQgXC1vIHJlbW91bnQsbXBvbD1Qb2xpY3k6Tm9kZUxpc3QgTW91bnRQb2ludCcuCisKKy5TUyAiTW91bnQgb3B0aW9ucyBmb3IgdWJpZnMiCitVQklGUyBpcyBhIGZsYXNoIGZpbGVzeXN0ZW0gd2hpY2ggd29ya3Mgb24gdG9wIG9mIFVCSSB2b2x1bWVzLiAgTm90ZSB0aGF0CitcZkJhdGltZVxmUiBpcyBub3Qgc3VwcG9ydGVkIGFuZCBpcyBhbHdheXMgdHVybmVkIG9mZi4KKy5UUAorVGhlIGRldmljZSBuYW1lIG1heSBiZSBzcGVjaWZpZWQgYXMKKy5SUworLkIgdWJpWF9ZCitVQkkgZGV2aWNlIG51bWJlcgorLkJSIFggLAordm9sdW1lIG51bWJlcgorLkIgWQorLlRQCisuQiB1YmlZCitVQkkgZGV2aWNlIG51bWJlcgorLkJSIDAgLAordm9sdW1lIG51bWJlcgorLkIgWQorLlRQCisuQiB1YmlYOk5BTUUKK1VCSSBkZXZpY2UgbnVtYmVyCisuQlIgWCAsCit2b2x1bWUgd2l0aCBuYW1lCisuQiBOQU1FCisuVFAKKy5CIHViaTpOQU1FCitVQkkgZGV2aWNlIG51bWJlcgorLkJSIDAgLAordm9sdW1lIHdpdGggbmFtZQorLkIgTkFNRQorLlJFCitBbHRlcm5hdGl2ZQorLkIgIQorc2VwYXJhdG9yIG1heSBiZSB1c2VkIGluc3RlYWQgb2YKKy5CUiA6IC4KKy5UUAorVGhlIGZvbGxvd2luZyBtb3VudCBvcHRpb25zIGFyZSBhdmFpbGFibGU6CisuVFAKKy5CIGJ1bGtfcmVhZAorRW5hYmxlIGJ1bGstcmVhZC4gIFZGUyByZWFkLWFoZWFkIGlzIGRpc2FibGVkIGJlY2F1c2UgaXQgc2xvd3MgZG93biB0aGUgZmlsZQorc3lzdGVtLiAgQnVsay1SZWFkIGlzIGFuIGludGVybmFsIG9wdGltaXphdGlvbi4gIFNvbWUgZmxhc2hlcyBtYXkgcmVhZCBmYXN0ZXIgaWYKK3RoZSBkYXRhIGFyZSByZWFkIGF0IG9uZSBnbywgcmF0aGVyIHRoYW4gYXQgc2V2ZXJhbCByZWFkIHJlcXVlc3RzLiAgRm9yCitleGFtcGxlLCBPbmVOQU5EIGNhbiBkbyAicmVhZC13aGlsZS1sb2FkIiBpZiBpdCByZWFkcyBtb3JlIHRoYW4gb25lIE5BTkQgcGFnZS4KKy5UUAorLkIgbm9fYnVsa19yZWFkCitEbyBub3QgYnVsay1yZWFkLiAgVGhpcyBpcyB0aGUgZGVmYXVsdC4KKy5UUAorLkIgY2hrX2RhdGFfY3JjCitDaGVjayBkYXRhIENSQy0zMiBjaGVja3N1bXMuICBUaGlzIGlzIHRoZSBkZWZhdWx0LgorLlRQCisuQlIgbm9fY2hrX2RhdGFfY3JjIC4KK0RvIG5vdCBjaGVjayBkYXRhIENSQy0zMiBjaGVja3N1bXMuICBXaXRoIHRoaXMgb3B0aW9uLCB0aGUgZmlsZXN5c3RlbSBkb2VzIG5vdAorY2hlY2sgQ1JDLTMyIGNoZWNrc3VtIGZvciBkYXRhLCBidXQgaXQgZG9lcyBjaGVjayBpdCBmb3IgdGhlIGludGVybmFsIGluZGV4aW5nCitpbmZvcm1hdGlvbi4gIFRoaXMgb3B0aW9uIG9ubHkgYWZmZWN0cyByZWFkaW5nLCBub3Qgd3JpdGluZy4gIENSQy0zMiBpcyBhbHdheXMKK2NhbGN1bGF0ZWQgd2hlbiB3cml0aW5nIHRoZSBkYXRhLgorLlRQCisuQlIgY29tcHI9IHsgbm9uZSB8IGx6byB8IHpsaWIgfQorU2VsZWN0IHRoZSBkZWZhdWx0IGNvbXByZXNzb3Igd2hpY2ggaXMgdXNlZCB3aGVuIG5ldyBmaWxlcyBhcmUgd3JpdHRlbi4gIEl0IGlzCitzdGlsbCBwb3NzaWJsZSB0byByZWFkIGNvbXByZXNzZWQgZmlsZXMgaWYgbW91bnRlZCB3aXRoIHRoZQorLkIgbm9uZQorb3B0aW9uLgorCisuU1MgIk1vdW50IG9wdGlvbnMgZm9yIHVkZiIKK3VkZiBpcyB0aGUgIlVuaXZlcnNhbCBEaXNrIEZvcm1hdCIgZmlsZXN5c3RlbSBkZWZpbmVkIGJ5IHRoZSBPcHRpY2FsCitTdG9yYWdlIFRlY2hub2xvZ3kgQXNzb2NpYXRpb24sIGFuZCBpcyBvZnRlbiB1c2VkIGZvciBEVkQtUk9NLgorU2VlIGFsc28KKy5JUiBpc285NjYwIC4KKy5UUAorLkIgZ2lkPQorU2V0IHRoZSBkZWZhdWx0IGdyb3VwLgorLlRQCisuQiB1bWFzaz0KK1NldCB0aGUgZGVmYXVsdCB1bWFzay4KK1RoZSB2YWx1ZSBpcyBnaXZlbiBpbiBvY3RhbC4KKy5UUAorLkIgdWlkPQorU2V0IHRoZSBkZWZhdWx0IHVzZXIuCisuVFAKKy5CIHVuaGlkZQorU2hvdyBvdGhlcndpc2UgaGlkZGVuIGZpbGVzLgorLlRQCisuQiB1bmRlbGV0ZQorU2hvdyBkZWxldGVkIGZpbGVzIGluIGxpc3RzLgorLlRQCisuQiBub3N0cmljdAorVW5zZXQgc3RyaWN0IGNvbmZvcm1hbmNlLgorLlwiIC5UUAorLlwiIC5CIHV0ZjgKKy5cIiAodW51c2VkKS4KKy5UUAorLkIgaW9jaGFyc2V0CitTZXQgdGhlIE5MUyBjaGFyYWN0ZXIgc2V0LgorLlRQCisuQiBicz0KK1NldCB0aGUgYmxvY2sgc2l6ZS4gKE1heSBub3Qgd29yayB1bmxlc3MgMjA0OC4pCisuVFAKKy5CIG5vdnJzCitTa2lwIHZvbHVtZSBzZXF1ZW5jZSByZWNvZ25pdGlvbi4KKy5UUAorLkIgc2Vzc2lvbj0KK1NldCB0aGUgQ0RST00gc2Vzc2lvbiBjb3VudGluZyBmcm9tIDAuICBEZWZhdWx0OiBsYXN0IHNlc3Npb24uCisuVFAKKy5CIGFuY2hvcj0KK092ZXJyaWRlIHN0YW5kYXJkIGFuY2hvciBsb2NhdGlvbi4gIERlZmF1bHQ6IDI1Ni4KKy5UUAorLkIgdm9sdW1lPQorT3ZlcnJpZGUgdGhlIFZvbHVtZURlc2MgbG9jYXRpb24uICh1bnVzZWQpCisuVFAKKy5CIHBhcnRpdGlvbj0KK092ZXJyaWRlIHRoZSBQYXJ0aXRpb25EZXNjIGxvY2F0aW9uLiAodW51c2VkKQorLlRQCisuQiBsYXN0YmxvY2s9CitTZXQgdGhlIGxhc3QgYmxvY2sgb2YgdGhlIGZpbGVzeXN0ZW0uCisuVFAKKy5CIGZpbGVzZXQ9CitPdmVycmlkZSB0aGUgZmlsZXNldCBibG9jayBsb2NhdGlvbi4gKHVudXNlZCkKKy5UUAorLkIgcm9vdGRpcj0KK092ZXJyaWRlIHRoZSByb290IGRpcmVjdG9yeSBsb2NhdGlvbi4gKHVudXNlZCkKKworLlNTICJNb3VudCBvcHRpb25zIGZvciB1ZnMiCisuVFAKKy5CSSB1ZnN0eXBlPSB2YWx1ZQorVUZTIGlzIGEgZmlsZXN5c3RlbSB3aWRlbHkgdXNlZCBpbiBkaWZmZXJlbnQgb3BlcmF0aW5nIHN5c3RlbXMuCitUaGUgcHJvYmxlbSBhcmUgZGlmZmVyZW5jZXMgYW1vbmcgaW1wbGVtZW50YXRpb25zLiAgRmVhdHVyZXMgb2Ygc29tZQoraW1wbGVtZW50YXRpb25zIGFyZSB1bmRvY3VtZW50ZWQsIHNvIGl0cyBoYXJkIHRvIHJlY29nbml6ZSB0aGUKK3R5cGUgb2YgdWZzIGF1dG9tYXRpY2FsbHkuCitUaGF0J3Mgd2h5IHRoZSB1c2VyIG11c3Qgc3BlY2lmeSB0aGUgdHlwZSBvZiB1ZnMgYnkgbW91bnQgb3B0aW9uLgorUG9zc2libGUgdmFsdWVzIGFyZToKKy5SUworLlRQCisuQiBvbGQKK09sZCBmb3JtYXQgb2YgdWZzLCB0aGlzIGlzIHRoZSBkZWZhdWx0LCByZWFkIG9ubHkuCisoRG9uJ3QgZm9yZ2V0IHRvIGdpdmUgdGhlIFwtciBvcHRpb24uKQorLlRQCisuQiA0NGJzZAorRm9yIGZpbGVzeXN0ZW1zIGNyZWF0ZWQgYnkgYSBCU0QtbGlrZSBzeXN0ZW0gKE5ldEJTRCwgRnJlZUJTRCwgT3BlbkJTRCkuCisuVFAKKy5CIHVmczIKK1VzZWQgaW4gRnJlZUJTRCA1Lnggc3VwcG9ydGVkIGFzIHJlYWQtd3JpdGUuCisuVFAKKy5CIDV4YnNkCitTeW5vbnltIGZvciB1ZnMyLgorLlRQCisuQiBzdW4KK0ZvciBmaWxlc3lzdGVtcyBjcmVhdGVkIGJ5IFN1bk9TIG9yIFNvbGFyaXMgb24gU3BhcmMuCisuVFAKKy5CIHN1bng4NgorRm9yIGZpbGVzeXN0ZW1zIGNyZWF0ZWQgYnkgU29sYXJpcyBvbiB4ODYuCisuVFAKKy5CIGhwCitGb3IgZmlsZXN5c3RlbXMgY3JlYXRlZCBieSBIUC1VWCwgcmVhZC1vbmx5LgorLlRQCisuQiBuZXh0c3RlcAorRm9yIGZpbGVzeXN0ZW1zIGNyZWF0ZWQgYnkgTmVYVFN0ZXAgKG9uIE5lWFQgc3RhdGlvbikgKGN1cnJlbnRseSByZWFkIG9ubHkpLgorLlRQCisuQiBuZXh0c3RlcC1jZAorRm9yIE5leHRTdGVwIENEUk9NcyAoYmxvY2tfc2l6ZSA9PSAyMDQ4KSwgcmVhZC1vbmx5LgorLlRQCisuQiBvcGVuc3RlcAorRm9yIGZpbGVzeXN0ZW1zIGNyZWF0ZWQgYnkgT3BlblN0ZXAgKGN1cnJlbnRseSByZWFkIG9ubHkpLgorVGhlIHNhbWUgZmlsZXN5c3RlbSB0eXBlIGlzIGFsc28gdXNlZCBieSBNYWMgT1MgWC4KKy5SRQorCisuVFAKKy5CSSBvbmVycm9yPSB2YWx1ZQorU2V0IGJlaGF2aW9yIG9uIGVycm9yOgorLlJTCisuVFAKKy5CIHBhbmljCitJZiBhbiBlcnJvciBpcyBlbmNvdW50ZXJlZCwgY2F1c2UgYSBrZXJuZWwgcGFuaWMuCisuVFAKKy5SQiBbIGxvY2sgfCB1bW91bnQgfCByZXBhaXIgXQorVGhlc2UgbW91bnQgb3B0aW9ucyBkb24ndCBkbyBhbnl0aGluZyBhdCBwcmVzZW50Oword2hlbiBhbiBlcnJvciBpcyBlbmNvdW50ZXJlZCBvbmx5IGEgY29uc29sZSBtZXNzYWdlIGlzIHByaW50ZWQuCisuUkUKKworLlNTICJNb3VudCBvcHRpb25zIGZvciB1bXNkb3MiCitTZWUgbW91bnQgb3B0aW9ucyBmb3IgbXNkb3MuCitUaGUKKy5CIGRvdHNPSworb3B0aW9uIGlzIGV4cGxpY2l0bHkga2lsbGVkIGJ5CisuSVIgdW1zZG9zIC4KKworLlNTICJNb3VudCBvcHRpb25zIGZvciB2ZmF0IgorRmlyc3Qgb2YgYWxsLCB0aGUgbW91bnQgb3B0aW9ucyBmb3IKKy5JIGZhdAorYXJlIHJlY29nbml6ZWQuCitUaGUKKy5CIGRvdHNPSworb3B0aW9uIGlzIGV4cGxpY2l0bHkga2lsbGVkIGJ5CisuSVIgdmZhdCAuCitGdXJ0aGVybW9yZSwgdGhlcmUgYXJlCisuVFAKKy5CIHVuaV94bGF0ZQorVHJhbnNsYXRlIHVuaGFuZGxlZCBVbmljb2RlIGNoYXJhY3RlcnMgdG8gc3BlY2lhbCBlc2NhcGVkIHNlcXVlbmNlcy4KK1RoaXMgbGV0cyB5b3UgYmFja3VwIGFuZCByZXN0b3JlIGZpbGVuYW1lcyB0aGF0IGFyZSBjcmVhdGVkIHdpdGggYW55CitVbmljb2RlIGNoYXJhY3RlcnMuICBXaXRob3V0IHRoaXMgb3B0aW9uLCBhICc/JyBpcyB1c2VkIHdoZW4gbm8KK3RyYW5zbGF0aW9uIGlzIHBvc3NpYmxlLiAgVGhlIGVzY2FwZSBjaGFyYWN0ZXIgaXMgJzonIGJlY2F1c2UgaXQgaXMKK290aGVyd2lzZSBpbnZhbGlkIG9uIHRoZSB2ZmF0IGZpbGVzeXN0ZW0uICBUaGUgZXNjYXBlIHNlcXVlbmNlCit0aGF0IGdldHMgdXNlZCwgd2hlcmUgdSBpcyB0aGUgVW5pY29kZSBjaGFyYWN0ZXIsCitpczogJzonLCAodSAmIDB4M2YpLCAoKHU+PjYpICYgMHgzZiksICh1Pj4xMikuCisuVFAKKy5CIHBvc2l4CitBbGxvdyB0d28gZmlsZXMgd2l0aCBuYW1lcyB0aGF0IG9ubHkgZGlmZmVyIGluIGNhc2UuCitUaGlzIG9wdGlvbiBpcyBvYnNvbGV0ZS4KKy5UUAorLkIgbm9udW10YWlsCitGaXJzdCB0cnkgdG8gbWFrZSBhIHNob3J0IG5hbWUgd2l0aG91dCBzZXF1ZW5jZSBudW1iZXIsCitiZWZvcmUgdHJ5aW5nCisuSVIgbmFtZVxzKzN+XHMwbnVtLmV4dCAuCisuVFAKKy5CIHV0ZjgKK1VURjggaXMgdGhlIGZpbGVzeXN0ZW0gc2FmZSA4LWJpdCBlbmNvZGluZyBvZiBVbmljb2RlIHRoYXQgaXMgdXNlZCBieSB0aGUKK2NvbnNvbGUuICBJdCBjYW4gYmUgZW5hYmxlZCBmb3IgdGhlIGZpbGVzeXN0ZW0gd2l0aCB0aGlzIG9wdGlvbiBvciBkaXNhYmxlZAord2l0aCB1dGY4PTAsIHV0Zjg9bm8gb3IgdXRmOD1mYWxzZS4gIElmIGB1bmlfeGxhdGUnIGdldHMgc2V0LCBVVEY4IGdldHMKK2Rpc2FibGVkLgorLlRQCisuQkkgc2hvcnRuYW1lPSBtb2RlCitEZWZpbmVzIHRoZSBiZWhhdmlvciBmb3IgY3JlYXRpb24gYW5kIGRpc3BsYXkgb2YgZmlsZW5hbWVzIHdoaWNoIGZpdCBpbnRvCis4LjMgY2hhcmFjdGVycy4gIElmIGEgbG9uZyBuYW1lIGZvciBhIGZpbGUgZXhpc3RzLCBpdCB3aWxsIGFsd2F5cyBiZSB0aGUKK3ByZWZlcnJlZCBvbmUgZm9yIGRpc3BsYXkuICBUaGVyZSBhcmUgZm91ciBcZkltb2RlXGZSczoKKy5SUworLlRQCisuQiBsb3dlcgorRm9yY2UgdGhlIHNob3J0IG5hbWUgdG8gbG93ZXIgY2FzZSB1cG9uIGRpc3BsYXk7IHN0b3JlIGEgbG9uZyBuYW1lIHdoZW4KK3RoZSBzaG9ydCBuYW1lIGlzIG5vdCBhbGwgdXBwZXIgY2FzZS4KKy5UUAorLkIgd2luOTUKK0ZvcmNlIHRoZSBzaG9ydCBuYW1lIHRvIHVwcGVyIGNhc2UgdXBvbiBkaXNwbGF5OyBzdG9yZSBhIGxvbmcgbmFtZSB3aGVuCit0aGUgc2hvcnQgbmFtZSBpcyBub3QgYWxsIHVwcGVyIGNhc2UuCisuVFAKKy5CIHdpbm50CitEaXNwbGF5IHRoZSBzaG9ydCBuYW1lIGFzIGlzOyBzdG9yZSBhIGxvbmcgbmFtZSB3aGVuIHRoZSBzaG9ydCBuYW1lIGlzCitub3QgYWxsIGxvd2VyIGNhc2Ugb3IgYWxsIHVwcGVyIGNhc2UuCisuVFAKKy5CIG1peGVkCitEaXNwbGF5IHRoZSBzaG9ydCBuYW1lIGFzIGlzOyBzdG9yZSBhIGxvbmcgbmFtZSB3aGVuIHRoZSBzaG9ydCBuYW1lIGlzIG5vdAorYWxsIHVwcGVyIGNhc2UuICBUaGlzIG1vZGUgaXMgdGhlIGRlZmF1bHQgc2luY2UgTGludXggMi42LjMyLgorLlJFCisKKy5TUyAiTW91bnQgb3B0aW9ucyBmb3IgdXNiZnMiCisuVFAKK1xmQmRldnVpZD1cZlBcLFxmSXVpZFxmUCBhbmQgXGZCZGV2Z2lkPVxmUFwsXGZJZ2lkXGZQIGFuZCBcZkJkZXZtb2RlPVxmUFwsXGZJbW9kZVxmUAorU2V0IHRoZSBvd25lciBhbmQgZ3JvdXAgYW5kIG1vZGUgb2YgdGhlIGRldmljZSBmaWxlcyBpbiB0aGUgdXNiZnMgZmlsZXN5c3RlbQorKGRlZmF1bHQ6IHVpZD1naWQ9MCwgbW9kZT0wNjQ0KS4gIFRoZSBtb2RlIGlzIGdpdmVuIGluIG9jdGFsLgorLlRQCitcZkJidXN1aWQ9XGZQXCxcZkl1aWRcZlAgYW5kIFxmQmJ1c2dpZD1cZlBcLFxmSWdpZFxmUCBhbmQgXGZCYnVzbW9kZT1cZlBcLFxmSW1vZGVcZlAKK1NldCB0aGUgb3duZXIgYW5kIGdyb3VwIGFuZCBtb2RlIG9mIHRoZSBidXMgZGlyZWN0b3JpZXMgaW4gdGhlIHVzYmZzCitmaWxlc3lzdGVtIChkZWZhdWx0OiB1aWQ9Z2lkPTAsIG1vZGU9MDU1NSkuICBUaGUgbW9kZSBpcyBnaXZlbiBpbiBvY3RhbC4KKy5UUAorXGZCbGlzdHVpZD1cZlBcLFxmSXVpZFxmUCBhbmQgXGZCbGlzdGdpZD1cZlBcLFxmSWdpZFxmUCBhbmQgXGZCbGlzdG1vZGU9XGZQXCxcZkltb2RlXGZQCitTZXQgdGhlIG93bmVyIGFuZCBncm91cCBhbmQgbW9kZSBvZiB0aGUgZmlsZQorLkkgZGV2aWNlcworKGRlZmF1bHQ6IHVpZD1naWQ9MCwgbW9kZT0wNDQ0KS4gIFRoZSBtb2RlIGlzIGdpdmVuIGluIG9jdGFsLgorCisuU1MgIk1vdW50IG9wdGlvbnMgZm9yIHhlbml4IgorTm9uZS4KKworLlNTICJNb3VudCBvcHRpb25zIGZvciB4ZnMiCitTZWUgdGhlIG9wdGlvbnMgc2VjdGlvbiBvZiB0aGUKKy5CUiB4ZnMgKDUpCittYW4gcGFnZSAodGhlIHhmc3Byb2dzIHBhY2thZ2UgbXVzdCBiZSBpbnN0YWxsZWQpLgorCisuU0ggIlRIRSBMT09QIERFVklDRSIKK09uZSBmdXJ0aGVyIHBvc3NpYmxlIHR5cGUgaXMgYSBtb3VudCB2aWEgdGhlIGxvb3AgZGV2aWNlLiAgRm9yIGV4YW1wbGUsCit0aGUgY29tbWFuZAorLlJTCisuc3AKKy5CICJtb3VudCAvdG1wL2Rpc2suaW1nIC9tbnQgXC10IHZmYXQgXC1vIGxvb3A9L2Rldi9sb29wMyIKKy5zcAorLlJFCit3aWxsIHNldCB1cCB0aGUgbG9vcCBkZXZpY2UKKy5JIC9kZXYvbG9vcDMKK3RvIGNvcnJlc3BvbmQgdG8gdGhlIGZpbGUKKy5JUiAvdG1wL2Rpc2suaW1nICwKK2FuZCB0aGVuIG1vdW50IHRoaXMgZGV2aWNlIG9uCisuSVIgL21udCAuCisKK0lmIG5vIGV4cGxpY2l0IGxvb3AgZGV2aWNlIGlzIG1lbnRpb25lZAorKGJ1dCBqdXN0IGFuIG9wdGlvbiBgXGZCXC1vIGxvb3BcZlAnIGlzIGdpdmVuKSwgdGhlbgorLkIgbW91bnQKK3dpbGwgdHJ5IHRvIGZpbmQgc29tZSB1bnVzZWQgbG9vcCBkZXZpY2UgYW5kIHVzZSB0aGF0LCBmb3IgZXhhbXBsZQorLlJTCisuc3AKKy5CICJtb3VudCAvdG1wL2Rpc2suaW1nIC9tbnQgXC1vIGxvb3AiCisuc3AKKy5SRQorVGhlIG1vdW50IGNvbW1hbmQKKy5CIGF1dG9tYXRpY2FsbHkKK2NyZWF0ZXMgYSBsb29wIGRldmljZSBmcm9tIGEgcmVndWxhciBmaWxlIGlmIGEgZmlsZXN5c3RlbSB0eXBlIGlzCitub3Qgc3BlY2lmaWVkIG9yIHRoZSBmaWxlc3lzdGVtIGlzIGtub3duIGZvciBsaWJibGtpZCwgZm9yIGV4YW1wbGU6CisuUlMKKy5zcAorLkIgIm1vdW50IC90bXAvZGlzay5pbWcgL21udCIKKy5zcAorLkIgIm1vdW50IFwtdCBleHQzIC90bXAvZGlzay5pbWcgL21udCIKKy5zcAorLlJFCitUaGlzIHR5cGUgb2YgbW91bnQga25vd3MgYWJvdXQgdGhyZWUgb3B0aW9ucywgbmFtZWx5CisuQlIgbG9vcCAiLCAiIG9mZnNldCAiIGFuZCAiIHNpemVsaW1pdCAsCit0aGF0IGFyZSByZWFsbHkgb3B0aW9ucyB0bworLkJSIFwlbG9zZXR1cCAoOCkuCisoVGhlc2Ugb3B0aW9ucyBjYW4gYmUgdXNlZCBpbiBhZGRpdGlvbiB0byB0aG9zZSBzcGVjaWZpYwordG8gdGhlIGZpbGVzeXN0ZW0gdHlwZS4pCisKK1NpbmNlIExpbnV4IDIuNi4yNSBhdXRvLWRlc3RydWN0aW9uIG9mIGxvb3AgZGV2aWNlcyBpcyBzdXBwb3J0ZWQsCittZWFuaW5nIHRoYXQgYW55IGxvb3AgZGV2aWNlIGFsbG9jYXRlZCBieQorLkIgbW91bnQKK3dpbGwgYmUgZnJlZWQgYnkKKy5CIHVtb3VudAoraW5kZXBlbmRlbnRseSBvZgorLklSIC9ldGMvbXRhYiAuCisKK1lvdSBjYW4gYWxzbyBmcmVlIGEgbG9vcCBkZXZpY2UgYnkgaGFuZCwgdXNpbmcKKy5CUiAibG9zZXR1cCBcLWQgIiBvciAiIHVtb3VudCBcLWQiIC4KKworU2luY2UgdXRpbC1saW51eCB2Mi4yOSBtb3VudCBjb21tYW5kIHJlLXVzZXMgdGhlIGxvb3AgZGV2aWNlIHJhdGhlciB0aGFuCitpbml0aWFsaXplIGEgbmV3IGRldmljZSBpZiB0aGUgc2FtZSBiYWNraW5nIGZpbGUgaXMgYWxyZWFkeSB1c2VkIGZvciBzb21lIGxvb3AKK2RldmljZSB3aXRoIHRoZSBzYW1lIG9mZnNldCBhbmQgc2l6ZWxpbWl0LiBUaGlzIGlzIG5lY2Vzc2FyeSB0byBhdm9pZAorYSBmaWxlc3lzdGVtIGNvcnJ1cHRpb24uCisKKy5TSCBSRVRVUk4gQ09ERVMKKy5CIG1vdW50CitoYXMgdGhlIGZvbGxvd2luZyByZXR1cm4gY29kZXMgKHRoZSBiaXRzIGNhbiBiZSBPUmVkKToKKy5UUAorLkIgMAorc3VjY2VzcworLlRQCisuQiAxCitpbmNvcnJlY3QgaW52b2NhdGlvbiBvciBwZXJtaXNzaW9ucworLlRQCisuQiAyCitzeXN0ZW0gZXJyb3IgKG91dCBvZiBtZW1vcnksIGNhbm5vdCBmb3JrLCBubyBtb3JlIGxvb3AgZGV2aWNlcykKKy5UUAorLkIgNAoraW50ZXJuYWwKKy5CIG1vdW50CitidWcKKy5UUAorLkIgOAordXNlciBpbnRlcnJ1cHQKKy5UUAorLkIgMTYKK3Byb2JsZW1zIHdyaXRpbmcgb3IgbG9ja2luZyAvZXRjL210YWIKKy5UUAorLkIgMzIKK21vdW50IGZhaWx1cmUKKy5UUAorLkIgNjQKK3NvbWUgbW91bnQgc3VjY2VlZGVkCisuUkUKKworVGhlIGNvbW1hbmQgXGZCbW91bnQgXC1hXGZSIHJldHVybnMgMCAoYWxsIHN1Y2NlZWRlZCksIDMyIChhbGwgZmFpbGVkKSwgb3IgNjQgKHNvbWUKK2ZhaWxlZCwgc29tZSBzdWNjZWVkZWQpLgorCisuU0ggIkVYVEVSTkFMIEhFTFBFUlMiCitUaGUgc3ludGF4IG9mIGV4dGVybmFsIG1vdW50IGhlbHBlcnMgaXM6Cisuc3AKKy5pbiArNAorLkJJIC9zYmluL21vdW50LiBzdWZmaXgKKy5JIHNwZWMgZGlyCisuUkIgWyBcLXNmbnYgXQorLlJCIFsgXC1vCisuSVIgb3B0aW9ucyBdCisuUkIgWyBcLXQKKy5JUiB0eXBlIFxmQi4gc3VidHlwZSBdCisuaW4KKy5zcAord2hlcmUgdGhlIFxmSXN1ZmZpeFxmUiBpcyB0aGUgZmlsZXN5c3RlbSB0eXBlIGFuZCB0aGUgXGZCXC1zZm52b1xmUiBvcHRpb25zIGhhdmUKK3RoZSBzYW1lIG1lYW5pbmcgYXMgdGhlIG5vcm1hbCBtb3VudCBvcHRpb25zLiAgVGhlIFxmQlwtdFxmUiBvcHRpb24gaXMgdXNlZCBmb3IKK2ZpbGVzeXN0ZW1zIHdpdGggc3VidHlwZXMgc3VwcG9ydCAoZm9yIGV4YW1wbGUKKy5CUiAiL3NiaW4vbW91bnQuZnVzZSBcLXQgZnVzZS5zc2hmcyIgKS4KKworVGhlIGNvbW1hbmQgXGZCbW91bnRcZlIgZG9lcyBub3QgcGFzcyB0aGUgbW91bnQgb3B0aW9ucworLkJSIHVuYmluZGFibGUgLAorLkJSIHJ1bmJpbmRhYmxlICwKKy5CUiBwcml2YXRlICwKKy5CUiBycHJpdmF0ZSAsCisuQlIgc2xhdmUgLAorLkJSIHJzbGF2ZSAsCisuQlIgc2hhcmVkICwKKy5CUiByc2hhcmVkICwKKy5CUiBhdXRvICwKKy5CUiBub2F1dG8gLAorLkJSIGNvbW1lbnQgLAorLkJSIHgtKiAsCisuQlIgbG9vcCAsCisuQiBvZmZzZXQKK2FuZAorLkIgc2l6ZWxpbWl0Cit0byB0aGUgbW91bnQuPHN1ZmZpeD4gaGVscGVycy4gIEFsbCBvdGhlciBvcHRpb25zIGFyZSB1c2VkIGluIGEKK2NvbW1hLXNlcGFyYXRlZCBsaXN0IGFzIGFyZ3VtZW50IHRvIHRoZSBcZkJcLW9cZlIgb3B0aW9uLgorCisuU0ggRklMRVMKKy5UUCAxOG4KKy5JIC9ldGMvZnN0YWIKK2ZpbGVzeXN0ZW0gdGFibGUKKy5UUAorLkkgL2V0Yy9tdGFiCit0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zCisuVFAKKy5JIC9ldGMvbXRhYlxzKzN+XHMwCitsb2NrIGZpbGUKKy5UUAorLkkgL2V0Yy9tdGFiLnRtcAordGVtcG9yYXJ5IGZpbGUKKy5UUAorLkkgL2V0Yy9maWxlc3lzdGVtcworYSBsaXN0IG9mIGZpbGVzeXN0ZW0gdHlwZXMgdG8gdHJ5CisuU0ggRU5WSVJPTk1FTlQKKy5JUCBMSUJNT1VOVF9GU1RBQj08cGF0aD4KK292ZXJyaWRlcyB0aGUgZGVmYXVsdCBsb2NhdGlvbiBvZiB0aGUgZnN0YWIgZmlsZSAoaWdub3JlZCBmb3Igc3VpZCkKKy5JUCBMSUJNT1VOVF9NVEFCPTxwYXRoPgorb3ZlcnJpZGVzIHRoZSBkZWZhdWx0IGxvY2F0aW9uIG9mIHRoZSBtdGFiIGZpbGUgKGlnbm9yZWQgZm9yIHN1aWQpCisuSVAgTElCTU9VTlRfREVCVUc9YWxsCitlbmFibGVzIGxpYm1vdW50IGRlYnVnIG91dHB1dAorLklQIExJQkJMS0lEX0RFQlVHPWFsbAorZW5hYmxlcyBsaWJibGtpZCBkZWJ1ZyBvdXRwdXQKKy5JUCBMT09QREVWX0RFQlVHPWFsbAorZW5hYmxlcyBsb29wIGRldmljZSBzZXR1cCBkZWJ1ZyBvdXRwdXQKKy5TSCAiU0VFIEFMU08iCisubmEKKy5CUiBtb3VudCAoMiksCisuQlIgdW1vdW50ICgyKSwKKy5CUiB1bW91bnQgKDgpLAorLkJSIGZzdGFiICg1KSwKKy5CUiBuZnMgKDUpLAorLkJSIHhmcyAoNSksCisuQlIgZTJsYWJlbCAoOCksCisuQlIgZmluZG1udCAoOCksCisuQlIgbG9zZXR1cCAoOCksCisuQlIgbWtlMmZzICg4KSwKKy5CUiBtb3VudGQgKDgpLAorLkJSIG5mc2QgKDgpLAorLkJSIHN3YXBvbiAoOCksCisuQlIgdHVuZTJmcyAoOCksCisuQlIgeGZzX2FkbWluICg4KQorLmFkCisuU0ggQlVHUworSXQgaXMgcG9zc2libGUgZm9yIGEgY29ycnVwdGVkIGZpbGVzeXN0ZW0gdG8gY2F1c2UgYSBjcmFzaC4KKy5QUAorU29tZSBMaW51eCBmaWxlc3lzdGVtcyBkb24ndCBzdXBwb3J0CisuQlIgIlwtbyBzeW5jICIgbm9yICIgXC1vIGRpcnN5bmMiCisodGhlIGV4dDIsIGV4dDMsIGZhdCBhbmQgdmZhdCBmaWxlc3lzdGVtcworLkkgZG8KK3N1cHBvcnQgc3luY2hyb25vdXMgdXBkYXRlcyAoYSBsYSBCU0QpIHdoZW4gbW91bnRlZCB3aXRoIHRoZQorLkIgc3luYworb3B0aW9uKS4KKy5QUAorVGhlCisuQiAiXC1vIHJlbW91bnQiCittYXkgbm90IGJlIGFibGUgdG8gY2hhbmdlIG1vdW50IHBhcmFtZXRlcnMgKGFsbAorLklSIGV4dDJmcyAtc3BlY2lmaWMKK3BhcmFtZXRlcnMsIGV4Y2VwdAorLkJSIHNiICwKK2FyZSBjaGFuZ2VhYmxlIHdpdGggYSByZW1vdW50LCBmb3IgZXhhbXBsZSwgYnV0IHlvdSBjYW4ndCBjaGFuZ2UKKy5CIGdpZAorb3IKKy5CIHVtYXNrCitmb3IgdGhlCisuSVIgZmF0ZnMgKS4KKy5QUAorSXQgaXMgcG9zc2libGUgdGhhdCB0aGUgZmlsZXMKKy5JIC9ldGMvbXRhYgorYW5kCisuSSAvcHJvYy9tb3VudHMKK2Rvbid0IG1hdGNoIG9uIHN5c3RlbXMgd2l0aCBhIHJlZ3VsYXIgbXRhYiBmaWxlLiAgVGhlIGZpcnN0IGZpbGUgaXMgYmFzZWQgb25seSBvbgordGhlIG1vdW50IGNvbW1hbmQgb3B0aW9ucywgYnV0IHRoZSBjb250ZW50IG9mIHRoZSBzZWNvbmQgZmlsZSBhbHNvIGRlcGVuZHMgb24KK3RoZSBrZXJuZWwgYW5kIG90aGVycyBzZXR0aW5ncyAoZS5nLlwmIG9uIGEgcmVtb3RlIE5GUyBzZXJ2ZXIgLS0gaW4gY2VydGFpbiBjYXNlcwordGhlIG1vdW50IGNvbW1hbmQgbWF5IHJlcG9ydCB1bnJlbGlhYmxlIGluZm9ybWF0aW9uIGFib3V0IGFuIE5GUyBtb3VudCBwb2ludAorYW5kIHRoZSAvcHJvYy9tb3VudHMgZmlsZSB1c3VhbGx5IGNvbnRhaW5zIG1vcmUgcmVsaWFibGUgaW5mb3JtYXRpb24uKSAgVGhpcyBpcworYW5vdGhlciByZWFzb24gdG8gcmVwbGFjZSB0aGUgbXRhYiBmaWxlIHdpdGggYSBzeW1saW5rIHRvIHRoZQorLkkgL3Byb2MvbW91bnRzCitmaWxlLgorLlBQCitDaGVja2luZyBmaWxlcyBvbiBORlMgZmlsZXN5c3RlbXMgcmVmZXJlbmNlZCBieSBmaWxlIGRlc2NyaXB0b3JzIChpLmUuXCYgdGhlCisuQiBmY250bAorYW5kCisuQiBpb2N0bAorZmFtaWxpZXMgb2YgZnVuY3Rpb25zKSBtYXkgbGVhZCB0byBpbmNvbnNpc3RlbnQgcmVzdWx0cyBkdWUgdG8gdGhlIGxhY2sgb2YKK2EgY29uc2lzdGVuY3kgY2hlY2sgaW4gdGhlIGtlcm5lbCBldmVuIGlmIG5vYWMgaXMgdXNlZC4KKy5QUAorVGhlCisuQiBsb29wCitvcHRpb24gd2l0aCB0aGUKKy5CIG9mZnNldAorb3IKKy5CIHNpemVsaW1pdAorb3B0aW9ucyB1c2VkIG1heSBmYWlsIHdoZW4gdXNpbmcgb2xkZXIga2VybmVscyBpZiB0aGUKKy5CIG1vdW50Citjb21tYW5kIGNhbid0IGNvbmZpcm0gdGhhdCB0aGUgc2l6ZSBvZiB0aGUgYmxvY2sgZGV2aWNlIGhhcyBiZWVuIGNvbmZpZ3VyZWQKK2FzIHJlcXVlc3RlZC4gIFRoaXMgc2l0dWF0aW9uIGNhbiBiZSB3b3JrZWQgYXJvdW5kIGJ5IHVzaW5nCit0aGUKKy5CIGxvc2V0dXAKK2NvbW1hbmQgbWFudWFsbHkgYmVmb3JlIGNhbGxpbmcKKy5CIG1vdW50Cit3aXRoIHRoZSBjb25maWd1cmVkIGxvb3AgZGV2aWNlLgorLlNIIEhJU1RPUlkKK0EKKy5CIG1vdW50Citjb21tYW5kIGV4aXN0ZWQgaW4gVmVyc2lvbiA1IEFUJlQgVU5JWC4KKy5TSCBBVVRIT1JTCisubmYKK0thcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorLmZpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgbW91bnQgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvbW91bnQuYyBiL3N5cy11dGlscy9tb3VudC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyNTI2Y2YKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvbW91bnQuYwpAQCAtMCwwICsxLDExNDIgQEAKKy8qCisgKiBtb3VudCg4KSAtLSBtb3VudCBhIGZpbGVzeXN0ZW0KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgUmVkIEhhdCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogV3JpdHRlbiBieSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdvdWxkIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgKiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9tbWFuLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxsaWJtb3VudC5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiZW52LmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJleGl0Y29kZXMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgImNhbm9uaWNhbGl6ZS5oIgorCisjZGVmaW5lIE9QVFVUSUxTX0VYSVRfQ09ERSBNT1VOVF9FWF9VU0FHRQorI2luY2x1ZGUgIm9wdHV0aWxzLmgiCisKKy8qKiogVE9ETzogRE9DUzoKKyAqCisgKiAgLS1vcHRpb25zLW1vZGU9e2lnbm9yZSxhcHBlbmQscHJlcGVuZCxyZXBsYWNlfQlNTlRfT01PREVfe0lHTk9SRSwgLi4ufQorICogIC0tb3B0aW9ucy1zb3VyY2U9e2ZzdGFiLG10YWIsZGlzYWJsZX0JCU1OVF9PTU9ERV97RlNUQUIsTVRBQixOT1RBQn0KKyAqICAtLW9wdGlvbnMtc291cmNlLWZvcmNlCQkJCU1OVF9PTU9ERV9GT1JDRQorICovCisKK3N0YXRpYyBpbnQgcmVhZHdyaXRlOworCitzdGF0aWMgaW50IG1rX2V4aXRfY29kZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgaW50IHJjKTsKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgZXhpdF9ub25fcm9vdChjb25zdCBjaGFyICpvcHRpb24pCit7CisJY29uc3QgdWlkX3QgcnVpZCA9IGdldHVpZCgpOworCWNvbnN0IHVpZF90IGV1aWQgPSBnZXRldWlkKCk7CisKKwlpZiAocnVpZCA9PSAwICYmIGV1aWQgIT0gMCkgeworCQkvKiB1c2VyIGlzIHJvb3QsIGJ1dCBzZXR1aWQgdG8gbm9uLXJvb3QgKi8KKwkJaWYgKG9wdGlvbikKKwkJCWVycngoTU9VTlRfRVhfVVNBR0UsIF8oIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiAiCisJCQkJCSAiKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIiksCisJCQkJCW9wdGlvbiwgZXVpZCk7CisJCWVycngoTU9VTlRfRVhfVVNBR0UsIF8oIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCAiCisJCQkJICIoZWZmZWN0aXZlIFVJRCBpcyAldSkiKSwgZXVpZCk7CisJfQorCWlmIChvcHRpb24pCisJCWVycngoTU9VTlRfRVhfVVNBR0UsIF8oIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiIpLCBvcHRpb24pOworCWVycngoTU9VTlRfRVhfVVNBR0UsIF8oIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIpKTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgcHJpbnRfdmVyc2lvbih2b2lkKQoreworCWNvbnN0IGNoYXIgKnZlciA9IE5VTEw7CisJY29uc3QgY2hhciAqKmZlYXR1cmVzID0gTlVMTCwgKipwOworCisJbW50X2dldF9saWJyYXJ5X3ZlcnNpb24oJnZlcik7CisJbW50X2dldF9saWJyYXJ5X2ZlYXR1cmVzKCZmZWF0dXJlcyk7CisKKwlwcmludGYoXygiJXMgZnJvbSAlcyAobGlibW91bnQgJXMiKSwKKwkJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lLAorCQkJUEFDS0FHRV9TVFJJTkcsCisJCQl2ZXIpOworCXAgPSBmZWF0dXJlczsKKwl3aGlsZSAocCAmJiAqcCkgeworCQlmcHV0cyhwID09IGZlYXR1cmVzID8gIjogIiA6ICIsICIsIHN0ZG91dCk7CisJCWZwdXRzKCpwKyssIHN0ZG91dCk7CisJfQorCWZwdXRzKCIpXG4iLCBzdGRvdXQpOworCWV4aXQoTU9VTlRfRVhfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyBpbnQgdGFibGVfcGFyc2VyX2VycmNiKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwKKwkJCWNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgbGluZSkKK3sKKwlpZiAoZmlsZW5hbWUpCisJCXdhcm54KF8oIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIC0tIGlnbm9yZWQiKSwgZmlsZW5hbWUsIGxpbmUpOworCXJldHVybiAxOworfQorCisvKgorICogUmVwbGFjZSBjb250cm9sIGNoYXJzIHdpdGggJz8nIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBjb3JldXRpbHMuIEZvciBtb3JlCisgKiByb2J1c3Qgc29sdXRpb24gdXNlIGZpbmRtbnQoMSkgd2hlcmUgd2UgdXNlIFx4Pz8gaGV4IGVuY29kaW5nLgorICovCitzdGF0aWMgdm9pZCBzYWZlX2ZwdXRzKGNvbnN0IGNoYXIgKmRhdGEpCit7CisJY29uc3QgY2hhciAqcDsKKworCWZvciAocCA9IGRhdGE7IHAgJiYgKnA7IHArKykgeworCQlpZiAoaXNjbnRybCgodW5zaWduZWQgY2hhcikgKnApKQorCQkJZnB1dGMoJz8nLCBzdGRvdXQpOworCQllbHNlCisJCQlmcHV0YygqcCwgc3Rkb3V0KTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHByaW50X2FsbChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgY2hhciAqcGF0dGVybiwgaW50IHNob3dfbGFiZWwpCit7CisJc3RydWN0IGxpYm1udF90YWJsZSAqdGI7CisJc3RydWN0IGxpYm1udF9pdGVyICppdHIgPSBOVUxMOworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCXN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlID0gTlVMTDsKKworCWlmIChtbnRfY29udGV4dF9nZXRfbXRhYihjeHQsICZ0YikpCisJCWVycihNT1VOVF9FWF9TWVNFUlIsIF8oImZhaWxlZCB0byByZWFkIG10YWIiKSk7CisKKwlpdHIgPSBtbnRfbmV3X2l0ZXIoTU5UX0lURVJfRk9SV0FSRCk7CisJaWYgKCFpdHIpCisJCWVycihNT1VOVF9FWF9TWVNFUlIsIF8oImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGl0ZXJhdG9yIikpOworCWlmIChzaG93X2xhYmVsKQorCQljYWNoZSA9IG1udF9uZXdfY2FjaGUoKTsKKworCXdoaWxlIChtbnRfdGFibGVfbmV4dF9mcyh0YiwgaXRyLCAmZnMpID09IDApIHsKKwkJY29uc3QgY2hhciAqdHlwZSA9IG1udF9mc19nZXRfZnN0eXBlKGZzKTsKKwkJY29uc3QgY2hhciAqc3JjID0gbW50X2ZzX2dldF9zb3VyY2UoZnMpOworCQljb25zdCBjaGFyICpvcHRzdHIgPSBtbnRfZnNfZ2V0X29wdGlvbnMoZnMpOworCQljaGFyICp4c3JjID0gTlVMTDsKKworCQlpZiAodHlwZSAmJiBwYXR0ZXJuICYmICFtbnRfbWF0Y2hfZnN0eXBlKHR5cGUsIHBhdHRlcm4pKQorCQkJY29udGludWU7CisKKwkJaWYgKCFtbnRfZnNfaXNfcHNldWRvZnMoZnMpKQorCQkJeHNyYyA9IG1udF9wcmV0dHlfcGF0aChzcmMsIGNhY2hlKTsKKwkJcHJpbnRmICgiJXMgb24gIiwgeHNyYyA/IHhzcmMgOiBzcmMpOworCQlzYWZlX2ZwdXRzKG1udF9mc19nZXRfdGFyZ2V0KGZzKSk7CisKKwkJaWYgKHR5cGUpCisJCQlwcmludGYgKCIgdHlwZSAlcyIsIHR5cGUpOworCQlpZiAob3B0c3RyKQorCQkJcHJpbnRmICgiICglcykiLCBvcHRzdHIpOworCQlpZiAoc2hvd19sYWJlbCAmJiBzcmMpIHsKKwkJCWNoYXIgKmxiID0gbW50X2NhY2hlX2ZpbmRfdGFnX3ZhbHVlKGNhY2hlLCBzcmMsICJMQUJFTCIpOworCQkJaWYgKGxiKQorCQkJCXByaW50ZiAoIiBbJXNdIiwgbGIpOworCQl9CisJCWZwdXRjKCdcbicsIHN0ZG91dCk7CisJCWZyZWUoeHNyYyk7CisJfQorCisJbW50X3VucmVmX2NhY2hlKGNhY2hlKTsKKwltbnRfZnJlZV9pdGVyKGl0cik7Cit9CisKKy8qCisgKiBtb3VudCAtYSBbLUZdCisgKi8KK3N0YXRpYyBpbnQgbW91bnRfYWxsKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBsaWJtbnRfaXRlciAqaXRyOworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCWludCBtbnRyYywgaWdub3JlZCwgcmMgPSBNT1VOVF9FWF9TVUNDRVNTOworCisJaW50IG5zdWNjID0gMCwgbmVycnMgPSAwOworCisJaXRyID0gbW50X25ld19pdGVyKE1OVF9JVEVSX0ZPUldBUkQpOworCWlmICghaXRyKSB7CisJCXdhcm4oXygiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgaXRlcmF0b3IiKSk7CisJCXJldHVybiBNT1VOVF9FWF9TWVNFUlI7CisJfQorCisJd2hpbGUgKG1udF9jb250ZXh0X25leHRfbW91bnQoY3h0LCBpdHIsICZmcywgJm1udHJjLCAmaWdub3JlZCkgPT0gMCkgeworCisJCWNvbnN0IGNoYXIgKnRndCA9IG1udF9mc19nZXRfdGFyZ2V0KGZzKTsKKworCQlpZiAoaWdub3JlZCkgeworCQkJaWYgKG1udF9jb250ZXh0X2lzX3ZlcmJvc2UoY3h0KSkKKwkJCQlwcmludGYoaWdub3JlZCA9PSAxID8gXygiJS0yNXM6IGlnbm9yZWRcbiIpIDoKKwkJCQkJCSAgICAgIF8oIiUtMjVzOiBhbHJlYWR5IG1vdW50ZWRcbiIpLAorCQkJCQkJdGd0KTsKKwkJfSBlbHNlIGlmIChtbnRfY29udGV4dF9pc19mb3JrKGN4dCkpIHsKKwkJCWlmIChtbnRfY29udGV4dF9pc192ZXJib3NlKGN4dCkpCisJCQkJcHJpbnRmKCIlLTI1czogbW91bnQgc3VjY2Vzc2Z1bGx5IGZvcmtlZFxuIiwgdGd0KTsKKwkJfSBlbHNlIHsKKwkJCWlmIChta19leGl0X2NvZGUoY3h0LCBtbnRyYykgPT0gTU9VTlRfRVhfU1VDQ0VTUykgeworCQkJCW5zdWNjKys7CisKKwkJCQkvKiBOb3RlIHRoYXQgTU9VTlRfRVhfU1VDQ0VTUyByZXR1cm4gY29kZSBkb2VzCisJCQkJICogbm90IG1lYW4gdGhhdCBGUyBoYXMgYmVlbiByZWFsbHkgbW91bnRlZAorCQkJCSAqIChlLmcuIG5vZmFpbCBvcHRpb24pICovCisJCQkJaWYgKG1udF9jb250ZXh0X2dldF9zdGF0dXMoY3h0KSAKKwkJCQkgICAgJiYgbW50X2NvbnRleHRfaXNfdmVyYm9zZShjeHQpKQorCQkJCQlwcmludGYoIiUtMjVzOiBzdWNjZXNzZnVsbHkgbW91bnRlZFxuIiwgdGd0KTsKKwkJCX0gZWxzZQorCQkJCW5lcnJzKys7CisJCX0KKwl9CisKKwlpZiAobW50X2NvbnRleHRfaXNfcGFyZW50KGN4dCkpIHsKKwkJLyogd2FpdCBmb3IgbW91bnQgLS1mb3JrIGNoaWxkcmVuICovCisJCWludCBuY2hpbGRyZW4gPSAwOworCisJCW5lcnJzID0gMCwgbnN1Y2MgPSAwOworCisJCXJjID0gbW50X2NvbnRleHRfd2FpdF9mb3JfY2hpbGRyZW4oY3h0LCAmbmNoaWxkcmVuLCAmbmVycnMpOworCQlpZiAoIXJjICYmIG5jaGlsZHJlbikKKwkJCW5zdWNjID0gbmNoaWxkcmVuIC0gbmVycnM7CisJfQorCisJaWYgKG5lcnJzID09IDApCisJCXJjID0gTU9VTlRfRVhfU1VDQ0VTUzsJCS8qIGFsbCBzdWNjZXNzICovCisJZWxzZSBpZiAobnN1Y2MgPT0gMCkKKwkJcmMgPSBNT1VOVF9FWF9GQUlMOwkJLyogYWxsIGZhaWxlZCAqLworCWVsc2UKKwkJcmMgPSBNT1VOVF9FWF9TT01FT0s7CQkvKiBzb21lIHN1Y2Nlc3MsIHNvbWUgZmFpbGVkICovCisKKwltbnRfZnJlZV9pdGVyKGl0cik7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgdm9pZCBzdWNjZXNzX21lc3NhZ2Uoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJdW5zaWduZWQgbG9uZyBtZmxhZ3MgPSAwOworCWNvbnN0IGNoYXIgKnRndCwgKnNyYywgKnByID0gcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWU7CisKKwlpZiAobW50X2NvbnRleHRfaGVscGVyX2V4ZWN1dGVkKGN4dCkKKwkgICAgfHwgbW50X2NvbnRleHRfZ2V0X3N0YXR1cyhjeHQpICE9IDEpCisJCXJldHVybjsKKworCW1udF9jb250ZXh0X2dldF9tZmxhZ3MoY3h0LCAmbWZsYWdzKTsKKwl0Z3QgPSBtbnRfY29udGV4dF9nZXRfdGFyZ2V0KGN4dCk7CisJc3JjID0gbW50X2NvbnRleHRfZ2V0X3NvdXJjZShjeHQpOworCisJaWYgKG1mbGFncyAmIE1TX01PVkUpCisJCXByaW50ZihfKCIlczogJXMgbW92ZWQgdG8gJXMuXG4iKSwgcHIsIHNyYywgdGd0KTsKKwllbHNlIGlmIChtZmxhZ3MgJiBNU19CSU5EKQorCQlwcmludGYoXygiJXM6ICVzIGJvdW5kIG9uICVzLlxuIiksIHByLCBzcmMsIHRndCk7CisJZWxzZSBpZiAobWZsYWdzICYgTVNfUFJPUEFHQVRJT04pIHsKKwkJaWYgKHNyYyAmJiBzdHJjbXAoc3JjLCAibm9uZSIpICE9IDAgJiYgdGd0KQorCQkJcHJpbnRmKF8oIiVzOiAlcyBtb3VudGVkIG9uICVzLlxuIiksIHByLCBzcmMsIHRndCk7CisKKwkJcHJpbnRmKF8oIiVzOiAlcyBwcm9wYWdhdGlvbiBmbGFncyBjaGFuZ2VkLlxuIiksIHByLCB0Z3QpOworCX0gZWxzZQorCQlwcmludGYoXygiJXM6ICVzIG1vdW50ZWQgb24gJXMuXG4iKSwgcHIsIHNyYywgdGd0KTsKK30KKworLyoKKyAqIEhhbmRsZXMgZ2VuZXJpYyBlcnJvcnMgbGlrZSBFTk9NRU0sIC4uLgorICoKKyAqIHJjID0gMCBzdWNjZXNzCisgKiAgICAgPDAgZXJyb3IgKHVzdWFsbHkgLWVycm5vKQorICoKKyAqIFJldHVybnMgZXhpdCBzdGF0dXMgKE1PVU5UX0VYXyopIGFuZCBwcmludHMgZXJyb3IgbWVzc2FnZS4KKyAqLworc3RhdGljIGludCBoYW5kbGVfZ2VuZXJpY19lcnJvcnMoaW50IHJjLCBjb25zdCBjaGFyICptc2csIC4uLikKK3sKKwl2YV9saXN0IHZhOworCisJdmFfc3RhcnQodmEsIG1zZyk7CisJZXJybm8gPSAtcmM7CisKKwlzd2l0Y2goZXJybm8pIHsKKwljYXNlIEVJTlZBTDoKKwljYXNlIEVQRVJNOgorCQl2d2Fybihtc2csIHZhKTsKKwkJcmMgPSBNT1VOVF9FWF9VU0FHRTsKKwkJYnJlYWs7CisJY2FzZSBFTk9NRU06CisJCXZ3YXJuKG1zZywgdmEpOworCQlyYyA9IE1PVU5UX0VYX1NZU0VSUjsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJdndhcm4obXNnLCB2YSk7CisJCXJjID0gTU9VTlRfRVhfRkFJTDsKKwkJYnJlYWs7CisJfQorCXZhX2VuZCh2YSk7CisJcmV0dXJuIHJjOworfQorCisjaWYgZGVmaW5lZChIQVZFX0xJQlNFTElOVVgpICYmIGRlZmluZWQoSEFWRV9TRUNVUklUWV9HRVRfSU5JVElBTF9DT05URVhUKQorI2luY2x1ZGUgPHNlbGludXgvc2VsaW51eC5oPgorI2luY2x1ZGUgPHNlbGludXgvY29udGV4dC5oPgorCitzdGF0aWMgdm9pZCBzZWxpbnV4X3dhcm5pbmcoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKnRndCkKK3sKKworCWlmICh0Z3QgJiYgbW50X2NvbnRleHRfaXNfdmVyYm9zZShjeHQpICYmIGlzX3NlbGludXhfZW5hYmxlZCgpID4gMCkgeworCQlzZWN1cml0eV9jb250ZXh0X3QgcmF3ID0gTlVMTCwgZGVmID0gTlVMTDsKKworCQlpZiAoZ2V0ZmlsZWNvbih0Z3QsICZyYXcpID4gMAorCQkgICAgJiYgc2VjdXJpdHlfZ2V0X2luaXRpYWxfY29udGV4dCgiZmlsZSIsICZkZWYpID09IDApIHsKKworCQlpZiAoIXNlbGludXhfZmlsZV9jb250ZXh0X2NtcChyYXcsIGRlZikpCisJCQlwcmludGYoXygKKwkibW91bnQ6ICVzIGRvZXMgbm90IGNvbnRhaW4gU0VMaW51eCBsYWJlbHMuXG4iCisJIiAgICAgICBZb3UganVzdCBtb3VudGVkIGFuIGZpbGUgc3lzdGVtIHRoYXQgc3VwcG9ydHMgbGFiZWxzIHdoaWNoIGRvZXMgbm90XG4iCisJIiAgICAgICBjb250YWluIGxhYmVscywgb250byBhbiBTRUxpbnV4IGJveC4gSXQgaXMgbGlrZWx5IHRoYXQgY29uZmluZWRcbiIKKwkiICAgICAgIGFwcGxpY2F0aW9ucyB3aWxsIGdlbmVyYXRlIEFWQyBtZXNzYWdlcyBhbmQgbm90IGJlIGFsbG93ZWQgYWNjZXNzIHRvXG4iCisJIiAgICAgICB0aGlzIGZpbGUgc3lzdGVtLiAgRm9yIG1vcmUgZGV0YWlscyBzZWUgcmVzdG9yZWNvbig4KSBhbmQgbW91bnQoOCkuXG4iKSwKKwkJCQl0Z3QpOworCQl9CisJCWZyZWVjb24ocmF3KTsKKwkJZnJlZWNvbihkZWYpOworCX0KK30KKyNlbHNlCisjIGRlZmluZSBzZWxpbnV4X3dhcm5pbmcoX3gsIF95KQorI2VuZGlmCisKKy8qCisgKiBSZXR1cm5zIDEgaWYgQGRpciBwYXJlbnQgaXMgc2hhcmVkCisgKi8KK3N0YXRpYyBpbnQgaXNfc2hhcmVkX3RyZWUoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKmRpcikKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiA9IE5VTEw7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJdW5zaWduZWQgbG9uZyBtZmxhZ3MgPSAwOworCWNoYXIgKm1udCA9IE5VTEwsICpwOworCWludCByYyA9IDA7CisKKwlpZiAoIWRpcikKKwkJcmV0dXJuIDA7CisJaWYgKG1udF9jb250ZXh0X2dldF9tdGFiKGN4dCwgJnRiKSB8fCAhdGIpCisJCWdvdG8gZG9uZTsKKwltbnQgPSB4c3RyZHVwKGRpcik7CisJcCA9IHN0cnJjaHIobW50LCAnLycpOworCWlmICghcCkKKwkJZ290byBkb25lOworCWlmIChwID4gbW50KQorCQkqcCA9ICdcMCc7CisJZnMgPSBtbnRfdGFibGVfZmluZF9tb3VudHBvaW50KHRiLCBtbnQsIE1OVF9JVEVSX0JBQ0tXQVJEKTsKKworCXJjID0gZnMgJiYgbW50X2ZzX2lzX2tlcm5lbChmcykKKwkJJiYgbW50X2ZzX2dldF9wcm9wYWdhdGlvbihmcywgJm1mbGFncykgPT0gMAorCQkmJiAobWZsYWdzICYgTVNfU0hBUkVEKTsKK2RvbmU6CisJZnJlZShtbnQpOworCXJldHVybiByYzsKK30KKworLyoKKyAqIHJjID0gMCBzdWNjZXNzCisgKiAgICAgPDAgZXJyb3IgKHVzdWFsbHkgLWVycm5vIG9yIC0xKQorICoKKyAqIFJldHVybnMgZXhpdCBzdGF0dXMgKE1PVU5UX0VYXyopIGFuZC9vciBwcmludHMgZXJyb3IgbWVzc2FnZS4KKyAqLworc3RhdGljIGludCBta19leGl0X2NvZGUoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCByYykKK3sKKwlpbnQgc3lzZXJyOworCXN0cnVjdCBzdGF0IHN0OworCXVuc2lnbmVkIGxvbmcgdWZsYWdzID0gMCwgbWZsYWdzID0gMDsKKworCWludCByZXN0cmljdGVkID0gbW50X2NvbnRleHRfaXNfcmVzdHJpY3RlZChjeHQpOworCWNvbnN0IGNoYXIgKnRndCA9IG1udF9jb250ZXh0X2dldF90YXJnZXQoY3h0KTsKKwljb25zdCBjaGFyICpzcmMgPSBtbnRfY29udGV4dF9nZXRfc291cmNlKGN4dCk7CisKK3RyeV9yZWFkb25seToKKwlpZiAobW50X2NvbnRleHRfaGVscGVyX2V4ZWN1dGVkKGN4dCkpIHsKKwkJLyoKKwkJICogL3NiaW4vbW91bnQuPHR5cGU+IGNhbGxlZCwgcmV0dXJuIHN0YXR1cworCQkgKi8KKwkJaWYgKHJjID09IC1NTlRfRVJSX0FQUExZRkxBR1MpCisJCQl3YXJueChfKCJXQVJOSU5HOiBmYWlsZWQgdG8gYXBwbHkgcHJvcGFnYXRpb24gZmxhZ3MiKSk7CisJCXJldHVybiBtbnRfY29udGV4dF9nZXRfaGVscGVyX3N0YXR1cyhjeHQpOworCX0KKworCWlmIChyYyA9PSAwICYmIG1udF9jb250ZXh0X2dldF9zdGF0dXMoY3h0KSA9PSAxKSB7CisJCS8qCisJCSAqIExpYm1vdW50IHN1Y2Nlc3MgJiYgc3lzY2FsbCBzdWNjZXNzLgorCQkgKi8KKwkJc2VsaW51eF93YXJuaW5nKGN4dCwgdGd0KTsKKworCQlyZXR1cm4gTU9VTlRfRVhfU1VDQ0VTUzsJLyogbW91bnQoMikgc3VjY2VzcyAqLworCX0KKworCW1udF9jb250ZXh0X2dldF9tZmxhZ3MoY3h0LCAmbWZsYWdzKTsJCS8qIG1vdW50KDIpIGZsYWdzICovCisJbW50X2NvbnRleHRfZ2V0X3VzZXJfbWZsYWdzKGN4dCwgJnVmbGFncyk7CS8qIHVzZXJzcGFjZSBmbGFncyAqLworCisJaWYgKCFtbnRfY29udGV4dF9zeXNjYWxsX2NhbGxlZChjeHQpKSB7CisJCS8qCisJCSAqIGxpYm1vdW50IGVycm9ycyAoZXh0cmEgbGlicmFyeSBjaGVja3MpCisJCSAqLworCQlzd2l0Y2ggKHJjKSB7CisJCWNhc2UgLUVQRVJNOgorCQkJd2FybngoXygib25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIpLCBzcmMsIHRndCk7CisJCQlyZXR1cm4gTU9VTlRfRVhfVVNBR0U7CisJCWNhc2UgLUVCVVNZOgorCQkJd2FybngoXygiJXMgaXMgYWxyZWFkeSBtb3VudGVkIiksIHNyYyk7CisJCQlyZXR1cm4gTU9VTlRfRVhfVVNBR0U7CisJCS8qIC1FUk9GUyBiZWZvcmUgc3lzY2FsbCBjYW4gaGFwcGVuIG9ubHkgZm9yIGxvb3AgbW91bnQgKi8KKwkJY2FzZSAtRVJPRlM6CisJCQl3YXJueChfKCIlcyBpcyB1c2VkIGFzIHJlYWQgb25seSBsb29wLCBtb3VudGluZyByZWFkLW9ubHkiKSwgc3JjKTsKKwkJCW1udF9jb250ZXh0X3Jlc2V0X3N0YXR1cyhjeHQpOworCQkJbW50X2NvbnRleHRfc2V0X21mbGFncyhjeHQsIG1mbGFncyB8IE1TX1JET05MWSk7CisJCQlyYyA9IG1udF9jb250ZXh0X21vdW50KGN4dCk7CisJCQlpZiAoIXJjKQorCQkJCXJjID0gbW50X2NvbnRleHRfZmluYWxpemVfbW91bnQoY3h0KTsKKwkJCWdvdG8gdHJ5X3JlYWRvbmx5OworCQljYXNlIC1NTlRfRVJSX05PRlNUQUI6CisJCQlpZiAobW50X2NvbnRleHRfaXNfc3dhcG1hdGNoKGN4dCkpIHsKKwkJCQl3YXJueChfKCJjYW4ndCBmaW5kICVzIGluICVzIiksCisJCQkJCQlzcmMgPyBzcmMgOiB0Z3QsCisJCQkJCQltbnRfZ2V0X2ZzdGFiX3BhdGgoKSk7CisJCQkJcmV0dXJuIE1PVU5UX0VYX1VTQUdFOworCQkJfQorCQkJLyogc291cmNlL3RhcmdldCBleHBsaWNpdGx5IGRlZmluZWQgKi8KKwkJCWlmICh0Z3QpCisJCQkJd2FybngoXygiY2FuJ3QgZmluZCBtb3VudHBvaW50ICVzIGluICVzIiksCisJCQkJCQl0Z3QsIG1udF9nZXRfZnN0YWJfcGF0aCgpKTsKKwkJCWVsc2UKKwkJCQl3YXJueChfKCJjYW4ndCBmaW5kIG1vdW50IHNvdXJjZSAlcyBpbiAlcyIpLAorCQkJCQkJc3JjLCBtbnRfZ2V0X2ZzdGFiX3BhdGgoKSk7CisJCQlyZXR1cm4gTU9VTlRfRVhfVVNBR0U7CisJCWNhc2UgLU1OVF9FUlJfQU1CSUZTOgorCQkJd2FybngoXygiJXM6IG1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQuIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sXG4iCisJCQkgICIgICAgICAgdXNlIC10IDx0eXBlPiB0byBleHBsaWNpdGx5IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSBvclxuIgorCQkJICAiICAgICAgIHVzZSB3aXBlZnMoOCkgdG8gY2xlYW4gdXAgdGhlIGRldmljZS4iKSwgc3JjKTsKKwkJCXJldHVybiBNT1VOVF9FWF9VU0FHRTsKKwkJY2FzZSAtTU5UX0VSUl9OT0ZTVFlQRToKKwkJCWlmIChyZXN0cmljdGVkKQorCQkJCXdhcm54KF8oIkkgY291bGQgbm90IGRldGVybWluZSB0aGUgZmlsZXN5c3RlbSB0eXBlLCAiCisJCQkJCSJhbmQgbm9uZSB3YXMgc3BlY2lmaWVkIikpOworCQkJZWxzZQorCQkJCXdhcm54KF8oInlvdSBtdXN0IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSIpKTsKKwkJCXJldHVybiBNT1VOVF9FWF9VU0FHRTsKKwkJY2FzZSAtTU5UX0VSUl9OT1NPVVJDRToKKwkJCWlmICh1ZmxhZ3MgJiBNTlRfTVNfTk9GQUlMKQorCQkJCXJldHVybiBNT1VOVF9FWF9TVUNDRVNTOworCQkJaWYgKHNyYykKKwkJCQl3YXJueChfKCJjYW4ndCBmaW5kICVzIiksIHNyYyk7CisJCQllbHNlCisJCQkJd2FybngoXygibW91bnQgc291cmNlIG5vdCBkZWZpbmVkIikpOworCQkJcmV0dXJuIE1PVU5UX0VYX1VTQUdFOworCQljYXNlIC1NTlRfRVJSX01PVU5UT1BUOgorCQkJaWYgKGVycm5vKQorCQkJCXdhcm4oXygiZmFpbGVkIHRvIHBhcnNlIG1vdW50IG9wdGlvbnMiKSk7CisJCQllbHNlCisJCQkJd2FybngoXygiZmFpbGVkIHRvIHBhcnNlIG1vdW50IG9wdGlvbnMiKSk7CisJCQlyZXR1cm4gTU9VTlRfRVhfVVNBR0U7CisJCWNhc2UgLU1OVF9FUlJfTE9PUERFVjoKKwkJCXdhcm4oXygiJXM6IGZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSIpLCBzcmMpOworCQkJcmV0dXJuIE1PVU5UX0VYX0ZBSUw7CisJCWNhc2UgLU1OVF9FUlJfTE9PUE9WRVJMQVA6CisJCQl3YXJueChfKCIlczogb3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIiksIHNyYyk7CisJCQlyZXR1cm4gTU9VTlRfRVhfRkFJTDsKKwkJZGVmYXVsdDoKKwkJCXJldHVybiBoYW5kbGVfZ2VuZXJpY19lcnJvcnMocmMsIF8oIiVzOiBtb3VudCBmYWlsZWQiKSwKKwkJCQkJICAgICB0Z3QgPyB0Z3QgOiBzcmMpOworCQl9CisJfSBlbHNlIGlmIChtbnRfY29udGV4dF9nZXRfc3lzY2FsbF9lcnJubyhjeHQpID09IDApIHsKKwkJLyoKKwkJICogbW91bnQoMikgc3lzY2FsbCBzdWNjZXNzLCBidXQgc29tZXRoaW5nIGVsc2UgZmFpbGVkCisJCSAqIChwcm9iYWJseSBlcnJvciBpbiBtdGFiIHByb2Nlc3NpbmcpLgorCQkgKi8KKwkJaWYgKHJjIDwgMCkKKwkJCXJldHVybiBoYW5kbGVfZ2VuZXJpY19lcnJvcnMocmMsCisJCQkJXygiJXM6IGZpbGVzeXN0ZW0gbW91bnRlZCwgYnV0IG1vdW50KDgpIGZhaWxlZCIpLAorCQkJCXRndCA/IHRndCA6IHNyYyk7CisKKwkJcmV0dXJuIE1PVU5UX0VYX1NPRlRXQVJFOwkvKiBpbnRlcm5hbCBlcnJvciAqLworCisJfQorCisJLyoKKwkgKiBtb3VudCgyKSBlcnJvcnMKKwkgKi8KKwlzeXNlcnIgPSBtbnRfY29udGV4dF9nZXRfc3lzY2FsbF9lcnJubyhjeHQpOworCisKKwlzd2l0Y2goc3lzZXJyKSB7CisJY2FzZSBFUEVSTToKKwkJaWYgKGdldGV1aWQoKSA9PSAwKSB7CisJCQlpZiAoc3RhdCh0Z3QsICZzdCkgfHwgIVNfSVNESVIoc3Quc3RfbW9kZSkpCisJCQkJd2FybngoXygibW91bnQgcG9pbnQgJXMgaXMgbm90IGEgZGlyZWN0b3J5IiksIHRndCk7CisJCQllbHNlCisJCQkJd2FybngoXygicGVybWlzc2lvbiBkZW5pZWQiKSk7CisJCX0gZWxzZQorCQkJd2FybngoXygibXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IikpOworCSAgICAgIGJyZWFrOworCisJY2FzZSBFQlVTWToKKwl7CisJCXN0cnVjdCBsaWJtbnRfdGFibGUgKnRiOworCisJCWlmIChtZmxhZ3MgJiBNU19SRU1PVU5UKSB7CisJCQl3YXJueChfKCIlcyBpcyBidXN5IiksIHRndCk7CisJCQlicmVhazsKKwkJfQorCisJCXdhcm54KF8oIiVzIGlzIGFscmVhZHkgbW91bnRlZCBvciAlcyBidXN5IiksIHNyYywgdGd0KTsKKworCQlpZiAoc3JjICYmIG1udF9jb250ZXh0X2dldF9tdGFiKGN4dCwgJnRiKSA9PSAwKSB7CisJCQlzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciA9IG1udF9uZXdfaXRlcihNTlRfSVRFUl9GT1JXQVJEKTsKKwkJCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCisJCQl3aGlsZShtbnRfdGFibGVfbmV4dF9mcyh0YiwgaXRyLCAmZnMpID09IDApIHsKKwkJCQljb25zdCBjaGFyICpzID0gbW50X2ZzX2dldF9zcmNwYXRoKGZzKSwKKwkJCQkJICAgKnQgPSBtbnRfZnNfZ2V0X3RhcmdldChmcyk7CisKKwkJCQlpZiAodCAmJiBzICYmIG1udF9mc19zdHJlcV9zcmNwYXRoKGZzLCBzcmMpKQorCQkJCQlmcHJpbnRmKHN0ZGVyciwgXygKKwkJCQkJCSIgICAgICAgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzXG4iKSwgcywgdCk7CisJCQl9CisJCQltbnRfZnJlZV9pdGVyKGl0cik7CisJCX0KKwkJYnJlYWs7CisJfQorCWNhc2UgRU5PRU5UOgorCQlpZiAodGd0ICYmIGxzdGF0KHRndCwgJnN0KSkKKwkJCXdhcm54KF8oIm1vdW50IHBvaW50ICVzIGRvZXMgbm90IGV4aXN0IiksIHRndCk7CisJCWVsc2UgaWYgKHRndCAmJiBzdGF0KHRndCwgJnN0KSkKKwkJCXdhcm54KF8oIm1vdW50IHBvaW50ICVzIGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIiksIHRndCk7CisJCWVsc2UgaWYgKHNyYyAmJiBzdGF0KHNyYywgJnN0KSkgeworCQkJaWYgKHVmbGFncyAmIE1OVF9NU19OT0ZBSUwpCisJCQkJcmV0dXJuIE1PVU5UX0VYX1NVQ0NFU1M7CisKKwkJCXdhcm54KF8oInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IiksIHNyYyk7CisJCX0gZWxzZSB7CisJCQllcnJubyA9IHN5c2VycjsKKwkJCWlmICh0Z3QpCisJCQkJd2FybigiJXM6ICVzIiwgXygibW91bnQoMikgZmFpbGVkIiksIHRndCk7CisJCQllbHNlIGlmIChzcmMpCisJCQkJd2FybigiJXM6ICVzIiwgXygibW91bnQoMikgZmFpbGVkIiksIHNyYyk7CisJCQllbHNlCisJCQkJd2FybihfKCJtb3VudCgyKSBmYWlsZWQiKSk7CisJCX0KKwkJYnJlYWs7CisKKwljYXNlIEVOT1RESVI6CisJCWlmIChzdGF0KHRndCwgJnN0KSB8fCAhIFNfSVNESVIoc3Quc3RfbW9kZSkpCisJCQl3YXJueChfKCJtb3VudCBwb2ludCAlcyBpcyBub3QgYSBkaXJlY3RvcnkiKSwgdGd0KTsKKwkJZWxzZSBpZiAoc3JjICYmIHN0YXQoc3JjLCAmc3QpICYmIGVycm5vID09IEVOT1RESVIpIHsKKwkJCWlmICh1ZmxhZ3MgJiBNTlRfTVNfTk9GQUlMKQorCQkJCXJldHVybiBNT1VOVF9FWF9TVUNDRVNTOworCisJCQl3YXJueChfKCJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCAiCisJCQkJICIoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpIiksIHNyYyk7CisJCX0gZWxzZSB7CisJCQllcnJubyA9IHN5c2VycjsKKwkJCXdhcm4oIiVzOiAlcyIsIF8oIm1vdW50KDIpIGZhaWxlZCIpLCB0Z3QpOworCQl9CisJCWJyZWFrOworCisJY2FzZSBFSU5WQUw6CisJCWlmIChtZmxhZ3MgJiBNU19SRU1PVU5UKQorCQkJd2FybngoXygiJXMgbm90IG1vdW50ZWQgb3IgYmFkIG9wdGlvbiIpLCB0Z3QpOworCQllbHNlIGlmIChyYyA9PSAtTU5UX0VSUl9BUFBMWUZMQUdTKQorCQkJd2FybngoXygiJXMgaXMgbm90IG1vdW50cG9pbnQgb3IgYmFkIG9wdGlvbiIpLCB0Z3QpOworCQllbHNlIGlmICgobWZsYWdzICYgTVNfTU9WRSkgJiYgaXNfc2hhcmVkX3RyZWUoY3h0LCBzcmMpKQorCQkJd2FybngoXygiYmFkIG9wdGlvbi4gTm90ZSB0aGF0IG1vdmluZyBhIG1vdW50IHJlc2lkaW5nIHVuZGVyIGEgc2hhcmVkXG4iCisJCQkJIiAgICAgICBtb3VudCBpcyB1bnN1cHBvcnRlZC4iKSk7CisJCWVsc2UKKwkJCXdhcm54KF8oIndyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLFxuIgorCQkJCSIgICAgICAgbWlzc2luZyBjb2RlcGFnZSBvciBoZWxwZXIgcHJvZ3JhbSwgb3Igb3RoZXIgZXJyb3IiKSwKKwkJCQlzcmMpOworCisJCWlmIChtbnRfZnNfaXNfbmV0ZnMobW50X2NvbnRleHRfZ2V0X2ZzKGN4dCkpKQorCQkJZnByaW50ZihzdGRlcnIsIF8oCisJCQkJIiAgICAgICAoZm9yIHNldmVyYWwgZmlsZXN5c3RlbXMgKGUuZy4gbmZzLCBjaWZzKSB5b3UgbWlnaHRcbiIKKwkJCQkiICAgICAgIG5lZWQgYSAvc2Jpbi9tb3VudC48dHlwZT4gaGVscGVyIHByb2dyYW0pXG4iKSk7CisKKwkJZnByaW50ZihzdGRlcnIsIF8oIlxuIgorCQkJCSIgICAgICAgSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBpcyBmb3VuZCBpbiBzeXNsb2cgLSB0cnlcbiIKKwkJCQkiICAgICAgIGRtZXNnIHwgdGFpbCBvciBzby5cbiIpKTsKKwkJYnJlYWs7CisKKwljYXNlIEVNRklMRToKKwkJd2FybngoXygibW91bnQgdGFibGUgZnVsbCIpKTsKKwkJYnJlYWs7CisKKwljYXNlIEVJTzoKKwkJd2FybngoXygiJXM6IGNhbid0IHJlYWQgc3VwZXJibG9jayIpLCBzcmMpOworCQlicmVhazsKKworCWNhc2UgRU5PREVWOgorCQlpZiAobW50X2NvbnRleHRfZ2V0X2ZzdHlwZShjeHQpKQorCQkJd2FybngoXygidW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIpLCBtbnRfY29udGV4dF9nZXRfZnN0eXBlKGN4dCkpOworCQllbHNlCisJCQl3YXJueChfKCJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSIpKTsKKwkJYnJlYWs7CisKKwljYXNlIEVOT1RCTEs6CisJCWlmICh1ZmxhZ3MgJiBNTlRfTVNfTk9GQUlMKQorCQkJcmV0dXJuIE1PVU5UX0VYX1NVQ0NFU1M7CisKKwkJaWYgKHN0YXQoc3JjLCAmc3QpKQorCQkJd2FybngoXygiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCgyKSBmYWlscz8iKSwgc3JjKTsKKwkJZWxzZSBpZiAoU19JU0JMSyhzdC5zdF9tb2RlKSkKKwkJCXdhcm54KF8oInRoZSBrZXJuZWwgZG9lcyBub3QgcmVjb2duaXplICVzIGFzIGEgYmxvY2sgZGV2aWNlXG4iCisJCQkJIiAgICAgICAobWF5YmUgYG1vZHByb2JlIGRyaXZlcic/KSIpLCBzcmMpOworCQllbHNlIGlmIChTX0lTUkVHKHN0LnN0X21vZGUpKQorCQkJd2FybngoXygiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIChtYXliZSB0cnkgYC1vIGxvb3AnPykiKSwgc3JjKTsKKwkJZWxzZQorCQkJd2FybngoXygiICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIpLCBzcmMpOworCQlicmVhazsKKworCWNhc2UgRU5YSU86CisJCWlmICh1ZmxhZ3MgJiBNTlRfTVNfTk9GQUlMKQorCQkJcmV0dXJuIE1PVU5UX0VYX1NVQ0NFU1M7CisKKwkJd2FybngoXygiJXMgaXMgbm90IGEgdmFsaWQgYmxvY2sgZGV2aWNlIiksIHNyYyk7CisJCWJyZWFrOworCisJY2FzZSBFQUNDRVM6CisJY2FzZSBFUk9GUzoKKwkJaWYgKG1mbGFncyAmIE1TX1JET05MWSkKKwkJCXdhcm54KF8oImNhbm5vdCBtb3VudCAlcyByZWFkLW9ubHkiKSwgc3JjKTsKKworCQllbHNlIGlmIChyZWFkd3JpdGUpCisJCQl3YXJueChfKCIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IGAtdycgZmxhZyBnaXZlbiIpLCBzcmMpOworCisJCWVsc2UgaWYgKG1mbGFncyAmIE1TX1JFTU9VTlQpCisJCQl3YXJueChfKCJjYW5ub3QgcmVtb3VudCAlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiKSwgc3JjKTsKKworCQllbHNlIGlmIChtZmxhZ3MgJiBNU19CSU5EKQorCQkJd2FybihfKCJtb3VudCAlcyBvbiAlcyBmYWlsZWQiKSwgc3JjLCB0Z3QpOworCisJCWVsc2UgeworCQkJd2FybngoXygiJXMgaXMgd3JpdGUtcHJvdGVjdGVkLCBtb3VudGluZyByZWFkLW9ubHkiKSwgc3JjKTsKKworCQkJbW50X2NvbnRleHRfcmVzZXRfc3RhdHVzKGN4dCk7CisJCQltbnRfY29udGV4dF9zZXRfbWZsYWdzKGN4dCwgbWZsYWdzIHwgTVNfUkRPTkxZKTsKKwkJCXJjID0gbW50X2NvbnRleHRfZG9fbW91bnQoY3h0KTsKKwkJCWlmICghcmMpCisJCQkJcmMgPSBtbnRfY29udGV4dF9maW5hbGl6ZV9tb3VudChjeHQpOworCisJCQlnb3RvIHRyeV9yZWFkb25seTsKKwkJfQorCQlicmVhazsKKworCWNhc2UgRU5PTUVESVVNOgorCQlpZiAodWZsYWdzICYgTU5UX01TX05PRkFJTCkKKwkJCXJldHVybiBNT1VOVF9FWF9TVUNDRVNTOworCisJCXdhcm54KF8oIm5vIG1lZGl1bSBmb3VuZCBvbiAlcyIpLCBzcmMpOworCQlicmVhazsKKworCWRlZmF1bHQ6CisJCXdhcm4oXygibW91bnQgJXMgb24gJXMgZmFpbGVkIiksIHNyYywgdGd0KTsKKwkJYnJlYWs7CisJfQorCisJcmV0dXJuIE1PVU5UX0VYX0ZBSUw7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgbGlibW50X3RhYmxlICphcHBlbmRfZnN0YWIoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsCisJCQkJCSBzdHJ1Y3QgbGlibW50X3RhYmxlICpmc3RhYiwKKwkJCQkJIGNvbnN0IGNoYXIgKnBhdGgpCit7CisKKwlpZiAoIWZzdGFiKSB7CisJCWZzdGFiID0gbW50X25ld190YWJsZSgpOworCQlpZiAoIWZzdGFiKQorCQkJZXJyKE1PVU5UX0VYX1NZU0VSUiwgXygiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFibGUiKSk7CisKKwkJbW50X3RhYmxlX3NldF9wYXJzZXJfZXJyY2IoZnN0YWIsIHRhYmxlX3BhcnNlcl9lcnJjYik7CisJCW1udF9jb250ZXh0X3NldF9mc3RhYihjeHQsIGZzdGFiKTsKKworCQltbnRfdW5yZWZfdGFibGUoZnN0YWIpOwkvKiByZWZlcmVuY2UgaXMgaGFuZGxlZCBieSBAY3h0IG5vdyAqLworCX0KKworCWlmIChtbnRfdGFibGVfcGFyc2VfZnN0YWIoZnN0YWIsIHBhdGgpKQorCQllcnJ4KE1PVU5UX0VYX1VTQUdFLF8oIiVzOiBmYWlsZWQgdG8gcGFyc2UiKSwgcGF0aCk7CisKKwlyZXR1cm4gZnN0YWI7Cit9CisKKy8qCisgKiBDaGVjayBzb3VyY2UgYW5kIHRhcmdldCBwYXRocyAtLSBub24tcm9vdCB1c2VyIHNob3VsZCBub3QgYmUgYWJsZSB0bworICogcmVzb2x2ZSBwYXRocyB3aGljaCBhcmUgdW5yZWFkYWJsZSBmb3IgaGltLgorICovCitzdGF0aWMgdm9pZCBzYW5pdGl6ZV9wYXRocyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwljb25zdCBjaGFyICpwOworCXN0cnVjdCBsaWJtbnRfZnMgKmZzID0gbW50X2NvbnRleHRfZ2V0X2ZzKGN4dCk7CisKKwlpZiAoIWZzKQorCQlyZXR1cm47CisKKwlwID0gbW50X2ZzX2dldF90YXJnZXQoZnMpOworCWlmIChwKSB7CisJCWNoYXIgKm5wID0gY2Fub25pY2FsaXplX3BhdGhfcmVzdHJpY3RlZChwKTsKKwkJaWYgKCFucCkKKwkJCWVycihNT1VOVF9FWF9VU0FHRSwgIiVzIiwgcCk7CisJCW1udF9mc19zZXRfdGFyZ2V0KGZzLCBucCk7CisJCWZyZWUobnApOworCX0KKworCXAgPSBtbnRfZnNfZ2V0X3NyY3BhdGgoZnMpOworCWlmIChwKSB7CisJCWNoYXIgKm5wID0gY2Fub25pY2FsaXplX3BhdGhfcmVzdHJpY3RlZChwKTsKKwkJaWYgKCFucCkKKwkJCWVycihNT1VOVF9FWF9VU0FHRSwgIiVzIiwgcCk7CisJCW1udF9mc19zZXRfc291cmNlKGZzLCBucCk7CisJCWZyZWUobnApOworCX0KK30KKworc3RhdGljIHZvaWQgYXBwZW5kX29wdGlvbihzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqb3B0KQoreworCWlmIChvcHQgJiYgKCpvcHQgPT0gJz0nIHx8ICpvcHQgPT0gJ1wnJyB8fCAqb3B0ID09ICdcIicgfHwgaXNibGFuaygqb3B0KSkpCisJCWVycngoTU9VTlRfRVhfVVNBR0UsIF8oInVuc3VwcG9ydGVkIG9wdGlvbiBmb3JtYXQ6ICVzIiksIG9wdCk7CisJaWYgKG1udF9jb250ZXh0X2FwcGVuZF9vcHRpb25zKGN4dCwgb3B0KSkKKwkJZXJyKE1PVU5UX0VYX1NZU0VSUiwgXygiZmFpbGVkIHRvIGFwcGVuZCBvcHRpb24gJyVzJyIpLCBvcHQpOworfQorCitzdGF0aWMgaW50IGhhc19yZW1vdW50X2ZsYWcoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJdW5zaWduZWQgbG9uZyBtZmxhZ3MgPSAwOworCisJaWYgKG1udF9jb250ZXh0X2dldF9tZmxhZ3MoY3h0LCAmbWZsYWdzKSkKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gbWZsYWdzICYgTVNfUkVNT1VOVDsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqb3V0KQoreworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygKKwkJIiAlMSRzIFstbGhWXVxuIgorCQkiICUxJHMgLWEgW29wdGlvbnNdXG4iCisJCSIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlXSA8c291cmNlPiB8IFstLXRhcmdldF0gPGRpcmVjdG9yeT5cbiIKKwkJIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiA8ZGlyZWN0b3J5PlxuIgorCQkiICUxJHMgPG9wZXJhdGlvbj4gPG1vdW50cG9pbnQ+IFs8dGFyZ2V0Pl1cbiIpLAorCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiTW91bnQgYSBmaWxlc3lzdGVtLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwcmludGYob3V0LCBfKAorCSIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW91bnQgYWxsIGZpbGVzeXN0ZW1zIG1lbnRpb25lZCBpbiBmc3RhYlxuIgorCSIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCisJIiAtZiwgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSBtb3VudCgyKSBzeXNjYWxsXG4iCisJIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBmb3JrIG9mZiBmb3IgZWFjaCBkZXZpY2UgKHVzZSB3aXRoIC1hKVxuIgorCSIgLVQsIC0tZnN0YWIgPHBhdGg+ICAgICAgYWx0ZXJuYXRpdmUgZmlsZSB0byAvZXRjL2ZzdGFiXG4iKSk7CisJZnByaW50ZihvdXQsIF8oCisJIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSBtb3VudC48dHlwZT4gaGVscGVyc1xuIikpOworCWZwcmludGYob3V0LCBfKAorCSIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgc2hvdyBhbHNvIGZpbGVzeXN0ZW0gbGFiZWxzXG4iKSk7CisJZnByaW50ZihvdXQsIF8oCisJIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIpKTsKKwlmcHJpbnRmKG91dCwgXygKKwkiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIG1vdW50IG9wdGlvbnNcbiIKKwkiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorCSIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC1vbmx5IChzYW1lIGFzIC1vIHJvKVxuIgorCSIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iKSk7CisJZnByaW50ZihvdXQsIF8oCisJIiAgICAgLS1zb3VyY2UgPHNyYz4gICAgICBleHBsaWNpdGx5IHNwZWNpZmllcyBzb3VyY2UgKHBhdGgsIGxhYmVsLCB1dWlkKVxuIgorCSIgICAgIC0tdGFyZ2V0IDx0YXJnZXQ+ICAgZXhwbGljaXRseSBzcGVjaWZpZXMgbW91bnRwb2ludFxuIikpOworCWZwcmludGYob3V0LCBfKAorCSIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIikpOworCWZwcmludGYob3V0LCBfKAorCSIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC13cml0ZSAoZGVmYXVsdClcbiIpKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dCk7CisKKwlmcHJpbnRmKG91dCwgXygKKwkiXG5Tb3VyY2U6XG4iCisJIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisJIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorCSIgTEFCRUw9PGxhYmVsPiAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIGxhYmVsXG4iCisJIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gVVVJRFxuIgorCSIgUEFSVExBQkVMPTxsYWJlbD4gICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKwkiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIpKTsKKworCWZwcmludGYob3V0LCBfKAorCSIgPGRldmljZT4gICAgICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXRoXG4iCisJIiA8ZGlyZWN0b3J5PiAgICAgICAgICAgICBtb3VudHBvaW50IGZvciBiaW5kIG1vdW50cyAoc2VlIC0tYmluZC9yYmluZClcbiIKKwkiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIikpOworCisJZnByaW50ZihvdXQsIF8oCisJIlxuT3BlcmF0aW9uczpcbiIKKwkiIC1CLCAtLWJpbmQgICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBzb21ld2hlcmUgZWxzZSAoc2FtZSBhcyAtbyBiaW5kKVxuIgorCSIgLU0sIC0tbW92ZSAgICAgICAgICAgICAgbW92ZSBhIHN1YnRyZWUgdG8gc29tZSBvdGhlciBwbGFjZVxuIgorCSIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlXG4iKSk7CisJZnByaW50ZihvdXQsIF8oCisJIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzaGFyZWRcbiIKKwkiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisJIiAtLW1ha2UtcHJpdmF0ZSAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBwcml2YXRlXG4iCisJIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICBtYXJrIGEgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iKSk7CisJZnByaW50ZihvdXQsIF8oCisJIiAtLW1ha2UtcnNoYXJlZCAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzaGFyZWRcbiIKKwkiIC0tbWFrZS1yc2xhdmUgICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisJIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisJIiAtLW1ha2UtcnVuYmluZGFibGUgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iKSk7CisKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoIm1vdW50KDgpIikpOworCisJZXhpdChvdXQgPT0gc3RkZXJyID8gTU9VTlRfRVhfVVNBR0UgOiBNT1VOVF9FWF9TVUNDRVNTKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBjLCByYyA9IE1PVU5UX0VYX1NVQ0NFU1MsIGFsbCA9IDAsIHNob3dfbGFiZWxzID0gMDsKKwlzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dDsKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICpmc3RhYiA9IE5VTEw7CisJY2hhciAqc3JjYnVmID0gTlVMTDsKKwljaGFyICp0eXBlcyA9IE5VTEw7CisJdW5zaWduZWQgbG9uZyBvcGVyID0gMDsKKwlpbnQgcHJvcGEgPSAwOworCisJZW51bSB7CisJCU1PVU5UX09QVF9TSEFSRUQgPSBDSEFSX01BWCArIDEsCisJCU1PVU5UX09QVF9TTEFWRSwKKwkJTU9VTlRfT1BUX1BSSVZBVEUsCisJCU1PVU5UX09QVF9VTkJJTkRBQkxFLAorCQlNT1VOVF9PUFRfUlNIQVJFRCwKKwkJTU9VTlRfT1BUX1JTTEFWRSwKKwkJTU9VTlRfT1BUX1JQUklWQVRFLAorCQlNT1VOVF9PUFRfUlVOQklOREFCTEUsCisJCU1PVU5UX09QVF9UQVJHRVQsCisJCU1PVU5UX09QVF9TT1VSQ0UKKwl9OworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyAiYWxsIiwgMCwgMCwgJ2EnIH0sCisJCXsgImZha2UiLCAwLCAwLCAnZicgfSwKKwkJeyAiZnN0YWIiLCAxLCAwLCAnVCcgfSwKKwkJeyAiZm9yayIsIDAsIDAsICdGJyB9LAorCQl7ICJoZWxwIiwgMCwgMCwgJ2gnIH0sCisJCXsgIm5vLW10YWIiLCAwLCAwLCAnbicgfSwKKwkJeyAicmVhZC1vbmx5IiwgMCwgMCwgJ3InIH0sCisJCXsgInJvIiwgMCwgMCwgJ3InIH0sCisJCXsgInZlcmJvc2UiLCAwLCAwLCAndicgfSwKKwkJeyAidmVyc2lvbiIsIDAsIDAsICdWJyB9LAorCQl7ICJyZWFkLXdyaXRlIiwgMCwgMCwgJ3cnIH0sCisJCXsgInJ3IiwgMCwgMCwgJ3cnIH0sCisJCXsgIm9wdGlvbnMiLCAxLCAwLCAnbycgfSwKKwkJeyAidGVzdC1vcHRzIiwgMSwgMCwgJ08nIH0sCisJCXsgInR5cGVzIiwgMSwgMCwgJ3QnIH0sCisJCXsgInV1aWQiLCAxLCAwLCAnVScgfSwKKwkJeyAibGFiZWwiLCAxLCAwLCAnTCd9LAorCQl7ICJiaW5kIiwgMCwgMCwgJ0InIH0sCisJCXsgIm1vdmUiLCAwLCAwLCAnTScgfSwKKwkJeyAicmJpbmQiLCAwLCAwLCAnUicgfSwKKwkJeyAibWFrZS1zaGFyZWQiLCAwLCAwLCBNT1VOVF9PUFRfU0hBUkVEIH0sCisJCXsgIm1ha2Utc2xhdmUiLCAwLCAwLCBNT1VOVF9PUFRfU0xBVkUgfSwKKwkJeyAibWFrZS1wcml2YXRlIiwgMCwgMCwgTU9VTlRfT1BUX1BSSVZBVEUgfSwKKwkJeyAibWFrZS11bmJpbmRhYmxlIiwgMCwgMCwgTU9VTlRfT1BUX1VOQklOREFCTEUgfSwKKwkJeyAibWFrZS1yc2hhcmVkIiwgMCwgMCwgTU9VTlRfT1BUX1JTSEFSRUQgfSwKKwkJeyAibWFrZS1yc2xhdmUiLCAwLCAwLCBNT1VOVF9PUFRfUlNMQVZFIH0sCisJCXsgIm1ha2UtcnByaXZhdGUiLCAwLCAwLCBNT1VOVF9PUFRfUlBSSVZBVEUgfSwKKwkJeyAibWFrZS1ydW5iaW5kYWJsZSIsIDAsIDAsIE1PVU5UX09QVF9SVU5CSU5EQUJMRSB9LAorCQl7ICJuby1jYW5vbmljYWxpemUiLCAwLCAwLCAnYycgfSwKKwkJeyAiaW50ZXJuYWwtb25seSIsIDAsIDAsICdpJyB9LAorCQl7ICJzaG93LWxhYmVscyIsIDAsIDAsICdsJyB9LAorCQl7ICJ0YXJnZXQiLCAxLCAwLCBNT1VOVF9PUFRfVEFSR0VUIH0sCisJCXsgInNvdXJjZSIsIDEsIDAsIE1PVU5UX09QVF9TT1VSQ0UgfSwKKwkJeyBOVUxMLCAwLCAwLCAwIH0KKwl9OworCisJc3RhdGljIGNvbnN0IHVsX2V4Y2xfdCBleGNsW10gPSB7ICAgICAgIC8qIHJvd3MgYW5kIGNvbHMgaW4gaW4gQVNDSUkgb3JkZXIgKi8KKwkJeyAnQicsJ00nLCdSJyB9LAkJCS8qIGJpbmQsbW92ZSxyYmluZCAqLworCQl7ICdMJywnVScsIE1PVU5UX09QVF9TT1VSQ0UgfSwJLyogbGFiZWwsdXVpZCxzb3VyY2UgKi8KKwkJeyAwIH0KKwl9OworCWludCBleGNsX3N0W0FSUkFZX1NJWkUoZXhjbCldID0gVUxfRVhDTF9TVEFUVVNfSU5JVDsKKworCXNhbml0aXplX2VudigpOworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwltbnRfaW5pdF9kZWJ1ZygwKTsKKwljeHQgPSBtbnRfbmV3X2NvbnRleHQoKTsKKwlpZiAoIWN4dCkKKwkJZXJyKE1PVU5UX0VYX1NZU0VSUiwgXygibGlibW91bnQgY29udGV4dCBhbGxvY2F0aW9uIGZhaWxlZCIpKTsKKworCW1udF9jb250ZXh0X3NldF90YWJsZXNfZXJyY2IoY3h0LCB0YWJsZV9wYXJzZXJfZXJyY2IpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImFCY2ZGaGlsTDpNbm86TzpyUnNVOnZWd3Q6VDoiLAorCQkJCQlsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisKKwkJLyogb25seSBmZXcgb3B0aW9ucyBhcmUgYWxsb3dlZCBmb3Igbm9uLXJvb3QgdXNlcnMgKi8KKwkJaWYgKG1udF9jb250ZXh0X2lzX3Jlc3RyaWN0ZWQoY3h0KSAmJgorCQkgICAgIXN0cmNocigiaGxMVVZ2cmlzdCIsIGMpICYmCisJCSAgICBjICE9IE1PVU5UX09QVF9UQVJHRVQgJiYKKwkJICAgIGMgIT0gTU9VTlRfT1BUX1NPVVJDRSkKKwkJCWV4aXRfbm9uX3Jvb3Qob3B0aW9uX3RvX2xvbmdvcHQoYywgbG9uZ29wdHMpKTsKKworCQllcnJfZXhjbHVzaXZlX29wdGlvbnMoYywgbG9uZ29wdHMsIGV4Y2wsIGV4Y2xfc3QpOworCisJCXN3aXRjaChjKSB7CisJCWNhc2UgJ2EnOgorCQkJYWxsID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdjJzoKKwkJCW1udF9jb250ZXh0X2Rpc2FibGVfY2Fub25pY2FsaXplKGN4dCwgVFJVRSk7CisJCQlicmVhazsKKwkJY2FzZSAnZic6CisJCQltbnRfY29udGV4dF9lbmFibGVfZmFrZShjeHQsIFRSVUUpOworCQkJYnJlYWs7CisJCWNhc2UgJ0YnOgorCQkJbW50X2NvbnRleHRfZW5hYmxlX2ZvcmsoY3h0LCBUUlVFKTsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCQlicmVhazsKKwkJY2FzZSAnaSc6CisJCQltbnRfY29udGV4dF9kaXNhYmxlX2hlbHBlcnMoY3h0LCBUUlVFKTsKKwkJCWJyZWFrOworCQljYXNlICduJzoKKwkJCW1udF9jb250ZXh0X2Rpc2FibGVfbXRhYihjeHQsIFRSVUUpOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJYXBwZW5kX29wdGlvbihjeHQsICJybyIpOworCQkJcmVhZHdyaXRlID0gMDsKKwkJCWJyZWFrOworCQljYXNlICd2JzoKKwkJCW1udF9jb250ZXh0X2VuYWJsZV92ZXJib3NlKGN4dCwgVFJVRSk7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludF92ZXJzaW9uKCk7CisJCQlicmVhazsKKwkJY2FzZSAndyc6CisJCQlhcHBlbmRfb3B0aW9uKGN4dCwgInJ3Iik7CisJCQlyZWFkd3JpdGUgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ28nOgorCQkJYXBwZW5kX29wdGlvbihjeHQsIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAnTyc6CisJCQlpZiAobW50X2NvbnRleHRfc2V0X29wdGlvbnNfcGF0dGVybihjeHQsIG9wdGFyZykpCisJCQkJZXJyKE1PVU5UX0VYX1NZU0VSUiwgXygiZmFpbGVkIHRvIHNldCBvcHRpb25zIHBhdHRlcm4iKSk7CisJCQlicmVhazsKKwkJY2FzZSAnTCc6CisJCQl4YXNwcmludGYoJnNyY2J1ZiwgIkxBQkVMPVwiJXNcIiIsIG9wdGFyZyk7CisJCQltbnRfY29udGV4dF9kaXNhYmxlX3N3YXBtYXRjaChjeHQsIDEpOworCQkJbW50X2NvbnRleHRfc2V0X3NvdXJjZShjeHQsIHNyY2J1Zik7CisJCQlmcmVlKHNyY2J1Zik7CisJCQlicmVhazsKKwkJY2FzZSAnVSc6CisJCQl4YXNwcmludGYoJnNyY2J1ZiwgIlVVSUQ9XCIlc1wiIiwgb3B0YXJnKTsKKwkJCW1udF9jb250ZXh0X2Rpc2FibGVfc3dhcG1hdGNoKGN4dCwgMSk7CisJCQltbnRfY29udGV4dF9zZXRfc291cmNlKGN4dCwgc3JjYnVmKTsKKwkJCWZyZWUoc3JjYnVmKTsKKwkJCWJyZWFrOworCQljYXNlICdsJzoKKwkJCXNob3dfbGFiZWxzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICd0JzoKKwkJCXR5cGVzID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ1QnOgorCQkJZnN0YWIgPSBhcHBlbmRfZnN0YWIoY3h0LCBmc3RhYiwgb3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICdzJzoKKwkJCW1udF9jb250ZXh0X2VuYWJsZV9zbG9wcHkoY3h0LCBUUlVFKTsKKwkJCWJyZWFrOworCQljYXNlICdCJzoKKwkJCW9wZXIgfD0gTVNfQklORDsKKwkJCWJyZWFrOworCQljYXNlICdNJzoKKwkJCW9wZXIgfD0gTVNfTU9WRTsKKwkJCWJyZWFrOworCQljYXNlICdSJzoKKwkJCW9wZXIgfD0gKE1TX0JJTkQgfCBNU19SRUMpOworCQkJYnJlYWs7CisJCWNhc2UgTU9VTlRfT1BUX1NIQVJFRDoKKwkJCWFwcGVuZF9vcHRpb24oY3h0LCAic2hhcmVkIik7CisJCQlwcm9wYSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBNT1VOVF9PUFRfU0xBVkU6CisJCQlhcHBlbmRfb3B0aW9uKGN4dCwgInNsYXZlIik7CisJCQlwcm9wYSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBNT1VOVF9PUFRfUFJJVkFURToKKwkJCWFwcGVuZF9vcHRpb24oY3h0LCAicHJpdmF0ZSIpOworCQkJcHJvcGEgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgTU9VTlRfT1BUX1VOQklOREFCTEU6CisJCQlhcHBlbmRfb3B0aW9uKGN4dCwgInVuYmluZGFibGUiKTsKKwkJCXByb3BhID0gMTsKKwkJCWJyZWFrOworCQljYXNlIE1PVU5UX09QVF9SU0hBUkVEOgorCQkJYXBwZW5kX29wdGlvbihjeHQsICJyc2hhcmVkIik7CisJCQlwcm9wYSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBNT1VOVF9PUFRfUlNMQVZFOgorCQkJYXBwZW5kX29wdGlvbihjeHQsICJyc2xhdmUiKTsKKwkJCXByb3BhID0gMTsKKwkJCWJyZWFrOworCQljYXNlIE1PVU5UX09QVF9SUFJJVkFURToKKwkJCWFwcGVuZF9vcHRpb24oY3h0LCAicnByaXZhdGUiKTsKKwkJCXByb3BhID0gMTsKKwkJCWJyZWFrOworCQljYXNlIE1PVU5UX09QVF9SVU5CSU5EQUJMRToKKwkJCWFwcGVuZF9vcHRpb24oY3h0LCAicnVuYmluZGFibGUiKTsKKwkJCXByb3BhID0gMTsKKwkJCWJyZWFrOworCQljYXNlIE1PVU5UX09QVF9UQVJHRVQ6CisJCQltbnRfY29udGV4dF9kaXNhYmxlX3N3YXBtYXRjaChjeHQsIDEpOworCQkJbW50X2NvbnRleHRfc2V0X3RhcmdldChjeHQsIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSBNT1VOVF9PUFRfU09VUkNFOgorCQkJbW50X2NvbnRleHRfZGlzYWJsZV9zd2FwbWF0Y2goY3h0LCAxKTsKKwkJCW1udF9jb250ZXh0X3NldF9zb3VyY2UoY3h0LCBvcHRhcmcpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlhcmdjIC09IG9wdGluZDsKKwlhcmd2ICs9IG9wdGluZDsKKworCWlmIChmc3RhYiAmJiAhbW50X2NvbnRleHRfaXNfbm9jYW5vbmljYWxpemUoY3h0KSkgeworCQkvKgorCQkgKiBXZSBoYXZlIGV4dGVybmFsIChjb250ZXh0IGluZGVwZW5kZW50KSBmc3RhYiBpbnN0YW5jZSwgbGV0J3MKKwkJICogbWFrZSBhIGNvbm5lY3Rpb24gYmV0d2VlbiB0aGUgZnN0YWIgYW5kIHRoZSBjYW5vbmljYWxpemF0aW9uCisJCSAqIGNhY2hlLgorCQkgKi8KKwkJbW50X3RhYmxlX3NldF9jYWNoZShmc3RhYiwgbW50X2NvbnRleHRfZ2V0X2NhY2hlKGN4dCkpOworCX0KKworCWlmICghbW50X2NvbnRleHRfZ2V0X3NvdXJjZShjeHQpICYmCisJICAgICFtbnRfY29udGV4dF9nZXRfdGFyZ2V0KGN4dCkgJiYKKwkgICAgIWFyZ2MgJiYKKwkgICAgIWFsbCkgeworCQlpZiAob3BlciB8fCBtbnRfY29udGV4dF9nZXRfb3B0aW9ucyhjeHQpKQorCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJcHJpbnRfYWxsKGN4dCwgdHlwZXMsIHNob3dfbGFiZWxzKTsKKwkJZ290byBkb25lOworCX0KKworCS8qIE5vbi1yb290IHVzZXJzIGFyZSBhbGxvd2VkIHRvIHVzZSAtdCB0byBwcmludF9hbGwoKSwKKwkgICBidXQgbm90IHRvIG1vdW50ICovCisJaWYgKG1udF9jb250ZXh0X2lzX3Jlc3RyaWN0ZWQoY3h0KSAmJiB0eXBlcykKKwkJZXhpdF9ub25fcm9vdCgidHlwZXMiKTsKKworCWlmIChvcGVyICYmICh0eXBlcyB8fCBhbGwgfHwgbW50X2NvbnRleHRfZ2V0X3NvdXJjZShjeHQpKSkKKwkJdXNhZ2Uoc3RkZXJyKTsKKworCWlmICh0eXBlcyAmJiAoYWxsIHx8IHN0cmNocih0eXBlcywgJywnKSB8fAorCQkJICAgICBzdHJuY21wKHR5cGVzLCAibm8iLCAyKSA9PSAwKSkKKwkJbW50X2NvbnRleHRfc2V0X2ZzdHlwZV9wYXR0ZXJuKGN4dCwgdHlwZXMpOworCWVsc2UgaWYgKHR5cGVzKQorCQltbnRfY29udGV4dF9zZXRfZnN0eXBlKGN4dCwgdHlwZXMpOworCisJaWYgKGFsbCkgeworCQkvKgorCQkgKiBBKSBNb3VudCBhbGwKKwkJICovCisJCXJjID0gbW91bnRfYWxsKGN4dCk7CisJCWdvdG8gZG9uZTsKKworCX0gZWxzZSBpZiAoYXJnYyA9PSAwICYmIChtbnRfY29udGV4dF9nZXRfc291cmNlKGN4dCkgfHwKKwkJCQkgbW50X2NvbnRleHRfZ2V0X3RhcmdldChjeHQpKSkgeworCQkvKgorCQkgKiBCKSBtb3VudCAtTHwtVXwtLXNvdXJjZXwtLXRhcmdldAorCQkgKgorCQkgKiBub24tcm9vdCBtYXkgc3BlY2lmeSBzb3VyY2UgKm9yKiB0YXJnZXQsIGJ1dCBub3QgYm90aAorCQkgKi8KKwkJaWYgKG1udF9jb250ZXh0X2lzX3Jlc3RyaWN0ZWQoY3h0KSAmJgorCQkgICAgbW50X2NvbnRleHRfZ2V0X3NvdXJjZShjeHQpICYmCisJCSAgICBtbnRfY29udGV4dF9nZXRfdGFyZ2V0KGN4dCkpCisJCQlleGl0X25vbl9yb290KE5VTEwpOworCisJfSBlbHNlIGlmIChhcmdjID09IDEgJiYgKCFtbnRfY29udGV4dF9nZXRfc291cmNlKGN4dCkgfHwKKwkJCQkgIW1udF9jb250ZXh0X2dldF90YXJnZXQoY3h0KSkpIHsKKwkJLyoKKwkJICogQykgbW91bnQgWy1MfC1VfC0tc291cmNlXSA8dGFyZ2V0PgorCQkgKiAgICBtb3VudCBbLS10YXJnZXQgPGRpcj5dIDxzb3VyY2U+CisJCSAqICAgIG1vdW50IDxzb3VyY2V8dGFyZ2V0PgorCQkgKgorCQkgKiBub24tcm9vdCBtYXkgc3BlY2lmeSBzb3VyY2UgKm9yKiB0YXJnZXQsIGJ1dCBub3QgYm90aAorCQkgKgorCQkgKiBJdCBkb2VzIG5vdCBtYXR0ZXIgZm9yIGxpYm1vdW50IGlmIHdlIHNldCBzb3VyY2Ugb3IgdGFyZ2V0CisJCSAqIGhlcmUgKHRoZSBsaWJyYXJ5IGlzIGFibGUgdG8gc3dhcCBpdCksIGJ1dCBpdCBtYXR0ZXJzIGZvcgorCQkgKiBzYW5pdGl6ZV9wYXRocygpLgorCQkgKi8KKwkJaW50IGlzdGFnID0gbW50X3RhZ19pc192YWxpZChhcmd2WzBdKTsKKworCQlpZiAoaXN0YWcgJiYgbW50X2NvbnRleHRfZ2V0X3NvdXJjZShjeHQpKQorCQkJLyogLUwsIC1VIG9yIC0tc291cmNlIHRvZ2V0aGVyIHdpdGggTEFCRUw9IG9yIFVVSUQ9ICovCisJCQllcnJ4KE1PVU5UX0VYX1VTQUdFLCBfKCJzb3VyY2Ugc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIikpOworCQllbHNlIGlmIChpc3RhZyB8fCBtbnRfY29udGV4dF9nZXRfdGFyZ2V0KGN4dCkpCisJCQltbnRfY29udGV4dF9zZXRfc291cmNlKGN4dCwgYXJndlswXSk7CisJCWVsc2UKKwkJCW1udF9jb250ZXh0X3NldF90YXJnZXQoY3h0LCBhcmd2WzBdKTsKKworCQlpZiAobW50X2NvbnRleHRfaXNfcmVzdHJpY3RlZChjeHQpICYmCisJCSAgICBtbnRfY29udGV4dF9nZXRfc291cmNlKGN4dCkgJiYKKwkJICAgIG1udF9jb250ZXh0X2dldF90YXJnZXQoY3h0KSkKKwkJCWV4aXRfbm9uX3Jvb3QoTlVMTCk7CisKKwl9IGVsc2UgaWYgKGFyZ2MgPT0gMiAmJiAhbW50X2NvbnRleHRfZ2V0X3NvdXJjZShjeHQpCisJCQkgICAgICYmICFtbnRfY29udGV4dF9nZXRfdGFyZ2V0KGN4dCkpIHsKKwkJLyoKKwkJICogRCkgbW91bnQgPHNvdXJjZT4gPHRhcmdldD4KKwkJICovCisJCWlmIChtbnRfY29udGV4dF9pc19yZXN0cmljdGVkKGN4dCkpCisJCQlleGl0X25vbl9yb290KE5VTEwpOworCisJCW1udF9jb250ZXh0X3NldF9zb3VyY2UoY3h0LCBhcmd2WzBdKTsKKwkJbW50X2NvbnRleHRfc2V0X3RhcmdldChjeHQsIGFyZ3ZbMV0pOworCisJfSBlbHNlCisJCXVzYWdlKHN0ZGVycik7CisKKwlpZiAobW50X2NvbnRleHRfaXNfcmVzdHJpY3RlZChjeHQpKQorCQlzYW5pdGl6ZV9wYXRocyhjeHQpOworCisJaWYgKG9wZXIpCisJCS8qIEJJTkQvTU9WRSBvcGVyYXRpb25zLCBsZXQncyBzZXQgdGhlIG1vdW50IGZsYWdzICovCisJCW1udF9jb250ZXh0X3NldF9tZmxhZ3MoY3h0LCBvcGVyKTsKKworCWlmICgob3BlciAmJiAhaGFzX3JlbW91bnRfZmxhZyhjeHQpKSB8fCBwcm9wYSkKKwkJLyogRm9yIC0tbWFrZS0qIG9yIC0tYmluZCBpcyBmc3RhYi9tdGFiIHVubmVjZXNzYXJ5ICovCisJCW1udF9jb250ZXh0X3NldF9vcHRzbW9kZShjeHQsIE1OVF9PTU9ERV9OT1RBQik7CisKKwlyYyA9IG1udF9jb250ZXh0X21vdW50KGN4dCk7CisJcmMgPSBta19leGl0X2NvZGUoY3h0LCByYyk7CisKKwlpZiAocmMgPT0gTU9VTlRfRVhfU1VDQ0VTUyAmJiBtbnRfY29udGV4dF9pc192ZXJib3NlKGN4dCkpCisJCXN1Y2Nlc3NfbWVzc2FnZShjeHQpOworZG9uZToKKwltbnRfZnJlZV9jb250ZXh0KGN4dCk7CisJcmV0dXJuIHJjOworfQorCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvbW91bnRwb2ludC4xIGIvc3lzLXV0aWxzL21vdW50cG9pbnQuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ODk5MGJmCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL21vdW50cG9pbnQuMQpAQCAtMCwwICsxLDU4IEBACisuVEggTU9VTlRQT0lOVCAxICJKdWx5IDIwMTQiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCittb3VudHBvaW50IFwtIHNlZSBpZiBhIGRpcmVjdG9yeSBvciBmaWxlIGlzIGEgbW91bnRwb2ludAorLlNIIFNZTk9QU0lTCisuQiBtb3VudHBvaW50CisuUkIgWyBcLWQgfCBcLXEgXQorLkkgZGlyZWN0b3J5Cit8CisuSSBmaWxlCisuc3AKKy5CIG1vdW50cG9pbnQKKy5CIFwteAorLkkgZGV2aWNlCisKKy5TSCBERVNDUklQVElPTgorLkIgbW91bnRwb2ludAorY2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuCisuSSBkaXJlY3RvcnkKK29yCisuSSBmaWxlCitpcyBtZW50aW9uZWQgaW4gdGhlIC9wcm9jL3NlbGYvbW91bnRpbmZvIGZpbGUuCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1kICwgIiBcLVwtZnNcLWRldm5vIgorU2hvdyB0aGUgbWFqb3IvbWlub3IgbnVtYmVycyBvZiB0aGUgZGV2aWNlIHRoYXQgaXMgbW91bnRlZCBvbiB0aGUgZ2l2ZW4KK2RpcmVjdG9yeS4KKy5UUAorLkJSIFwtcSAsICIgXC1cLXF1aWV0IgorQmUgcXVpZXQgLSBkb24ndCBwcmludCBhbnl0aGluZy4KKy5UUAorLkJSIFwteCAsICIgXC1cLWRldm5vIgorU2hvdyB0aGUgbWFqb3IvbWlub3IgbnVtYmVycyBvZiB0aGUgZ2l2ZW4gYmxvY2tkZXZpY2Ugb24gc3RhbmRhcmQgb3V0cHV0LgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBFWElUIFNUQVRVUworWmVybyBpZiB0aGUgZGlyZWN0b3J5IG9yIGZpbGUgaXMgYSBtb3VudHBvaW50LCBub24temVybyBpZiBub3QuCisuU0ggQVVUSE9SCisuUFAKK0thcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorLlNIIEVOVklST05NRU5UCisuSVAgTElCTU9VTlRfREVCVUc9YWxsCitlbmFibGVzIGxpYm1vdW50IGRlYnVnIG91dHB1dC4KKy5TSCBOT1RFUworLlBQCitUaGUgdXRpbC1saW51eAorLkIgbW91bnRwb2ludAoraW1wbGVtZW50YXRpb24gd2FzIHdyaXR0ZW4gZnJvbSBzY3JhdGNoIGZvciBsaWJtb3VudC4gIFRoZSBvcmlnaW5hbCB2ZXJzaW9uCitmb3Igc3lzdmluaXQgc3VpdGUgd2FzIHdyaXR0ZW4gYnkgTWlxdWVsIHZhbiBTbW9vcmVuYnVyZy4KKworLlNIIFNFRSBBTFNPCisuQlIgbW91bnQgKDgpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgbW91bnRwb2ludCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2Z0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9tb3VudHBvaW50LmMgYi9zeXMtdXRpbHMvbW91bnRwb2ludC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3MGQwMjQKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvbW91bnRwb2ludC5jCkBAIC0wLDAgKzEsMjAzIEBACisvKgorICogbW91bnRwb2ludCgxKSAtIHNlZSBpZiBhIGRpcmVjdG9yeSBpcyBhIG1vdW50cG9pbnQKKyAqCisgKiBUaGlzIGlzIGxpYm1vdW50IGJhc2VkIHJlaW1wbGVtZW50YXRpb24gb2YgdGhlIG1vdW50cG9pbnQoMSkKKyAqIGZyb20gc3lzdmluaXQgcHJvamVjdC4KKyAqCisgKgorICogQ29weXJpZ2h0IChDKSAyMDExIFJlZCBIYXQsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFdyaXR0ZW4gYnkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3b3VsZCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworICogd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyAqIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorCisjaW5jbHVkZSA8bGlibW91bnQuaD4KKworI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorCitzdHJ1Y3QgbW91bnRwb2ludF9jb250cm9sIHsKKwljaGFyICpwYXRoOworCWRldl90IGRldjsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwl1bnNpZ25lZCBpbnQKKwkJZGV2X2Rldm5vOjEsCisJCWZzX2Rldm5vOjEsCisJCXF1aWV0OjE7Cit9OworCitzdGF0aWMgaW50IGRpcl90b19kZXZpY2Uoc3RydWN0IG1vdW50cG9pbnRfY29udHJvbCAqY3RsKQoreworCXN0cnVjdCBsaWJtbnRfdGFibGUgKnRiID0gbW50X25ld190YWJsZV9mcm9tX2ZpbGUoX1BBVEhfUFJPQ19NT1VOVElORk8pOworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCXN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlOworCWludCByYyA9IC0xOworCisJaWYgKCF0YikgeworCQkvKgorCQkgKiBGYWxsYmFjay4gVHJhZGl0aW9uYWwgd2F5IHRvIGRldGVjdCBtb3VudHBvaW50cy4gVGhpcyB3YXkKKwkJICogaXMgaW5kZXBlbmRlbnQgb24gL3Byb2MsIGJ1dCBub3QgYWJsZSB0byBkZXRlY3QgYmluZCBtb3VudHMuCisJCSAqLworCQlzdHJ1Y3Qgc3RhdCBwc3Q7CisJCWNoYXIgYnVmW1BBVEhfTUFYXSwgKmNuOworCQlpbnQgbGVuOworCisJCWNuID0gbW50X3Jlc29sdmVfcGF0aChjdGwtPnBhdGgsIE5VTEwpOwkvKiBjYW5vbmljYWxpemUgKi8KKworCQlsZW4gPSBzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJXMvLi4iLCBjbiA/IGNuIDogY3RsLT5wYXRoKTsKKwkJZnJlZShjbik7CisKKwkJaWYgKGxlbiA8IDAgfHwgKHNpemVfdCkgbGVuID49IHNpemVvZihidWYpKQorCQkJcmV0dXJuIC0xOworCQlpZiAoc3RhdChidWYsICZwc3QpICE9MCkKKwkJCXJldHVybiAtMTsKKworCQlpZiAoKGN0bC0+c3Quc3RfZGV2ICE9IHBzdC5zdF9kZXYpIHx8CisJCSAgICAoY3RsLT5zdC5zdF9kZXYgPT0gcHN0LnN0X2RldiAmJiBjdGwtPnN0LnN0X2lubyA9PSBwc3Quc3RfaW5vKSkgeworCQkJY3RsLT5kZXYgPSBjdGwtPnN0LnN0X2RldjsKKwkJCXJldHVybiAwOworCQl9CisKKwkJcmV0dXJuIC0xOworCX0KKworCS8qIHRvIGNhbm9uaWNhbGl6ZSBhbGwgbmVjZXNzYXJ5IHBhdGhzICovCisJY2FjaGUgPSBtbnRfbmV3X2NhY2hlKCk7CisJbW50X3RhYmxlX3NldF9jYWNoZSh0YiwgY2FjaGUpOworCW1udF91bnJlZl9jYWNoZShjYWNoZSk7CisKKwlmcyA9IG1udF90YWJsZV9maW5kX3RhcmdldCh0YiwgY3RsLT5wYXRoLCBNTlRfSVRFUl9CQUNLV0FSRCk7CisJaWYgKGZzICYmIG1udF9mc19nZXRfdGFyZ2V0KGZzKSkgeworCQljdGwtPmRldiA9IG1udF9mc19nZXRfZGV2bm8oZnMpOworCQlyYyA9IDA7CisJfQorCisJbW50X3VucmVmX3RhYmxlKHRiKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgcHJpbnRfZGV2bm8oY29uc3Qgc3RydWN0IG1vdW50cG9pbnRfY29udHJvbCAqY3RsKQoreworCWlmICghU19JU0JMSyhjdGwtPnN0LnN0X21vZGUpKSB7CisJCWlmICghY3RsLT5xdWlldCkKKwkJCXdhcm54KF8oIiVzOiBub3QgYSBibG9jayBkZXZpY2UiKSwgY3RsLT5wYXRoKTsKKwkJcmV0dXJuIC0xOworCX0KKwlwcmludGYoIiV1OiV1XG4iLCBtYWpvcihjdGwtPnN0LnN0X3JkZXYpLCBtaW5vcihjdGwtPnN0LnN0X3JkZXYpKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqb3V0KQoreworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwKKwkgICAgICBfKCIgJTEkcyBbLXFkXSAvcGF0aC90by9kaXJlY3RvcnlcbiIKKwkJIiAlMSRzIC14IC9kZXYvZGV2aWNlXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkNoZWNrIHdoZXRoZXIgYSBkaXJlY3Rvcnkgb3IgZmlsZSBpcyBhIG1vdW50cG9pbnQuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1xLCAtLXF1aWV0ICAgICAgICBxdWlldCBtb2RlIC0gZG9uJ3QgcHJpbnQgYW55dGhpbmdcbiIKKwkJIiAtZCwgLS1mcy1kZXZubyAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBmaWxlc3lzdGVtXG4iCisJCSIgLXgsIC0tZGV2bm8gICAgICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgYmxvY2sgZGV2aWNlXG4iKSwgb3V0KTsKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoVVNBR0VfSEVMUCwgb3V0KTsKKwlmcHV0cyhVU0FHRV9WRVJTSU9OLCBvdXQpOworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgibW91bnRwb2ludCgxKSIpKTsKKworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlpbnQgYzsKKwlzdHJ1Y3QgbW91bnRwb2ludF9jb250cm9sIGN0bCA9IHsgMCB9OworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyAicXVpZXQiLCAwLCAwLCAncScgfSwKKwkJeyAiZnMtZGV2bm8iLCAwLCAwLCAnZCcgfSwKKwkJeyAiZGV2bm8iLCAwLCAwLCAneCcgfSwKKwkJeyAiaGVscCIsIDAsIDAsICdoJyB9LAorCQl7ICJ2ZXJzaW9uIiwgMCwgMCwgJ1YnIH0sCisJCXsgTlVMTCwgMCwgMCwgMCB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwltbnRfaW5pdF9kZWJ1ZygwKTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJxZHhoViIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKworCQlzd2l0Y2goYykgeworCQljYXNlICdxJzoKKwkJCWN0bC5xdWlldCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnZCc6CisJCQljdGwuZnNfZGV2bm8gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3gnOgorCQkJY3RsLmRldl9kZXZubyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShzdGRvdXQpOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQlkZWZhdWx0OgorCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJaWYgKG9wdGluZCArIDEgIT0gYXJnYykKKwkJdXNhZ2Uoc3RkZXJyKTsKKworCWN0bC5wYXRoID0gYXJndltvcHRpbmRdOworCisJaWYgKHN0YXQoY3RsLnBhdGgsICZjdGwuc3QpKSB7CisJCWlmICghY3RsLnF1aWV0KQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgIiVzIiwgY3RsLnBhdGgpOworCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCX0KKwlpZiAoY3RsLmRldl9kZXZubykKKwkJcmV0dXJuIHByaW50X2Rldm5vKCZjdGwpID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTOworCWlmIChkaXJfdG9fZGV2aWNlKCZjdGwpKSB7CisJCWlmICghY3RsLnF1aWV0KQorCQkJcHJpbnRmKF8oIiVzIGlzIG5vdCBhIG1vdW50cG9pbnRcbiIpLCBjdGwucGF0aCk7CisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJfQorCWlmIChjdGwuZnNfZGV2bm8pCisJCXByaW50ZigiJXU6JXVcbiIsIG1ham9yKGN0bC5kZXYpLCBtaW5vcihjdGwuZGV2KSk7CisJZWxzZSBpZiAoIWN0bC5xdWlldCkKKwkJcHJpbnRmKF8oIiVzIGlzIGEgbW91bnRwb2ludFxuIiksIGN0bC5wYXRoKTsKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL25zZW50ZXIuMSBiL3N5cy11dGlscy9uc2VudGVyLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzg1NTkyNgotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9uc2VudGVyLjEKQEAgLTAsMCArMSwyNTggQEAKKy5USCBOU0VOVEVSIDEgIkp1bmUgMjAxMyIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK25zZW50ZXIgXC0gcnVuIHByb2dyYW0gd2l0aCBuYW1lc3BhY2VzIG9mIG90aGVyIHByb2Nlc3NlcworLlNIIFNZTk9QU0lTCisuQiBuc2VudGVyCitbb3B0aW9uc10KKy5SSSBbIHByb2dyYW0KKy5SSSBbIGFyZ3VtZW50cyBdXQorLlNIIERFU0NSSVBUSU9OCitFbnRlcnMgdGhlIG5hbWVzcGFjZXMgb2Ygb25lIG9yIG1vcmUgb3RoZXIgcHJvY2Vzc2VzIGFuZCB0aGVuIGV4ZWN1dGVzIHRoZSBzcGVjaWZpZWQKK3Byb2dyYW0uICBFbnRlcmFibGUgbmFtZXNwYWNlcyBhcmU6CisuVFAKKy5CIG1vdW50IG5hbWVzcGFjZQorTW91bnRpbmcgYW5kIHVubW91bnRpbmcgZmlsZXN5c3RlbXMgd2lsbCBub3QgYWZmZWN0IHRoZSByZXN0IG9mIHRoZSBzeXN0ZW0sCitleGNlcHQgZm9yIGZpbGVzeXN0ZW1zIHdoaWNoIGFyZSBleHBsaWNpdGx5IG1hcmtlZCBhcyBzaGFyZWQgKHdpdGgKK1xmQm1vdW50IC0tbWFrZS1cOnNoYXJlZFxmUDsgc2VlIFxmSS9wcm9jXDovc2VsZlw6L21vdW50aW5mb1xmUCBmb3IgdGhlCitcZkJzaGFyZWRcZlAgZmxhZykuCitGb3IgZnVydGhlciBkZXRhaWxzLCBzZWUKKy5CUiBtb3VudF9uYW1lc3BhY2VzICg3KQorYW5kIHRoZSBkaXNjdXNzaW9uIG9mIHRoZQorLkJSIENMT05FX05FV05TCitmbGFnIGluCisuQlIgY2xvbmUgKDIpLgorLlRQCisuQiBVVFMgbmFtZXNwYWNlCitTZXR0aW5nIGhvc3RuYW1lIG9yIGRvbWFpbm5hbWUgd2lsbCBub3QgYWZmZWN0IHRoZSByZXN0IG9mIHRoZSBzeXN0ZW0uCitGb3IgZnVydGhlciBkZXRhaWxzLCBzZWUKKy5CUiBuYW1lc3BhY2VzICg3KQorYW5kIHRoZSBkaXNjdXNzaW9uIG9mIHRoZQorLkJSIENMT05FX05FV1VUUworZmxhZyBpbgorLkJSIGNsb25lICgyKS4KKy5UUAorLkIgSVBDIG5hbWVzcGFjZQorVGhlIHByb2Nlc3Mgd2lsbCBoYXZlIGFuIGluZGVwZW5kZW50IG5hbWVzcGFjZSBmb3IgUE9TSVggbWVzc2FnZSBxdWV1ZXMKK2FzIHdlbGwgYXMgU3lzdGVtIFYgbWVzc2FnZSBxdWV1ZXMsCitzZW1hcGhvcmUgc2V0cyBhbmQgc2hhcmVkIG1lbW9yeSBzZWdtZW50cy4KK0ZvciBmdXJ0aGVyIGRldGFpbHMsIHNlZQorLkJSIG5hbWVzcGFjZXMgKDcpCithbmQgdGhlIGRpc2N1c3Npb24gb2YgdGhlCisuQlIgQ0xPTkVfTkVXSVBDCitmbGFnIGluCisuQlIgY2xvbmUgKDIpLgorLlRQCisuQiBuZXR3b3JrIG5hbWVzcGFjZQorVGhlIHByb2Nlc3Mgd2lsbCBoYXZlIGluZGVwZW5kZW50IElQdjQgYW5kIElQdjYgc3RhY2tzLCBJUCByb3V0aW5nIHRhYmxlcywKK2ZpcmV3YWxsIHJ1bGVzLCB0aGUKKy5JIC9wcm9jXDovbmV0CithbmQKKy5JIC9zeXNcOi9jbGFzc1w6L25ldAorZGlyZWN0b3J5IHRyZWVzLCBzb2NrZXRzLCBldGMuCitGb3IgZnVydGhlciBkZXRhaWxzLCBzZWUKKy5CUiBuYW1lc3BhY2VzICg3KQorYW5kIHRoZSBkaXNjdXNzaW9uIG9mIHRoZQorLkJSIENMT05FX05FV05FVAorZmxhZyBpbgorLkJSIGNsb25lICgyKS4KKy5UUAorLkIgUElEIG5hbWVzcGFjZQorQ2hpbGRyZW4gd2lsbCBoYXZlIGEgc2V0IG9mIFBJRCB0byBwcm9jZXNzIG1hcHBpbmdzIHNlcGFyYXRlIGZyb20gdGhlCisuQiBuc2VudGVyCitwcm9jZXNzCitGb3IgZnVydGhlciBkZXRhaWxzLCBzZWUKKy5CUiBwaWRfbmFtZXNwYWNlcyAoNykKK2FuZAordGhlIGRpc2N1c3Npb24gb2YgdGhlCisuQlIgQ0xPTkVfTkVXUElECitmbGFnIGluCisuQiBuc2VudGVyCit3aWxsIGZvcmsgYnkgZGVmYXVsdCBpZiBjaGFuZ2luZyB0aGUgUElEIG5hbWVzcGFjZSwgc28gdGhhdCB0aGUgbmV3IHByb2dyYW0KK2FuZCBpdHMgY2hpbGRyZW4gc2hhcmUgdGhlIHNhbWUgUElEIG5hbWVzcGFjZSBhbmQgYXJlIHZpc2libGUgdG8gZWFjaCBvdGhlci4KK0lmIFxmQlwtXC1ub1wtZm9ya1xmUCBpcyB1c2VkLCB0aGUgbmV3IHByb2dyYW0gd2lsbCBiZSBleGVjJ2VkIHdpdGhvdXQgZm9ya2luZy4KKy5UUAorLkIgdXNlciBuYW1lc3BhY2UKK1RoZSBwcm9jZXNzIHdpbGwgaGF2ZSBhIGRpc3RpbmN0IHNldCBvZiBVSURzLCBHSURzIGFuZCBjYXBhYmlsaXRpZXMuCitGb3IgZnVydGhlciBkZXRhaWxzLCBzZWUKKy5CUiB1c2VyX25hbWVzcGFjZXMgKDcpCithbmQgdGhlIGRpc2N1c3Npb24gb2YgdGhlCisuQlIgQ0xPTkVfTkVXVVNFUgorZmxhZyBpbgorLkJSIGNsb25lICgyKS4KKy5UUAorLkIgY2dyb3VwIG5hbWVzcGFjZQorVGhlIHByb2Nlc3Mgd2lsbCBoYXZlIGEgdmlydHVhbGl6ZWQgdmlldyBvZiBcZkkvcHJvY1w6L3NlbGZcOi9jZ3JvdXBcZlAsIGFuZCBuZXcKK2Nncm91cCBtb3VudHMgd2lsbCBiZSByb290ZWQgYXQgdGhlIG5hbWVzcGFjZSBjZ3JvdXAgcm9vdC4KK0ZvciBmdXJ0aGVyIGRldGFpbHMsIHNlZQorLkJSIGNncm91cF9uYW1lc3BhY2VzICg3KQorYW5kIHRoZSBkaXNjdXNzaW9uIG9mIHRoZQorLkJSIENMT05FX05FV0NHUk9VUAorZmxhZyBpbgorLkJSIGNsb25lICgyKS4KKy5UUAorU2VlIFxmQmNsb25lXGZQKDIpIGZvciB0aGUgZXhhY3Qgc2VtYW50aWNzIG9mIHRoZSBmbGFncy4KKy5UUAorSWYgXGZJcHJvZ3JhbVxmUCBpcyBub3QgZ2l2ZW4sIHRoZW4gYGAke1NIRUxMfScnIGlzIHJ1biAoZGVmYXVsdDogL2Jpblw6L3NoKS4KKworLlNIIE9QVElPTlMKK1ZhcmlvdXMgb2YgdGhlIG9wdGlvbnMgYmVsb3cgdGhhdCByZWxhdGUgdG8gbmFtZXNwYWNlcyB0YWtlIGFuIG9wdGlvbmFsCisuSSBmaWxlCithcmd1bWVudC4KK1RoaXMgc2hvdWxkIGJlIG9uZSBvZiB0aGUKKy5JUiAvcHJvYy9bcGlkXS9ucy8qCitmaWxlcyBkZXNjcmliZWQgaW4KKy5CUiBuYW1lc3BhY2VzICg3KS4KKy5UUAorXGZCXC10XGZSLCBcZkJcLVwtdGFyZ2V0XGZSIFxmSXBpZFxmUAorU3BlY2lmeSBhIHRhcmdldCBwcm9jZXNzIHRvIGdldCBjb250ZXh0cyBmcm9tLiAgVGhlIHBhdGhzIHRvIHRoZSBjb250ZXh0cworc3BlY2lmaWVkIGJ5CisuSSBwaWQKK2FyZToKKy5SUworLlBEIDAKKy5JUCAiIiAyMAorLlRQCisvcHJvYy9cZklwaWRcZlIvbnMvbW50Cit0aGUgbW91bnQgbmFtZXNwYWNlCisuVFAKKy9wcm9jL1xmSXBpZFxmUi9ucy91dHMKK3RoZSBVVFMgbmFtZXNwYWNlCisuVFAKKy9wcm9jL1xmSXBpZFxmUi9ucy9pcGMKK3RoZSBJUEMgbmFtZXNwYWNlCisuVFAKKy9wcm9jL1xmSXBpZFxmUi9ucy9uZXQKK3RoZSBuZXR3b3JrIG5hbWVzcGFjZQorLlRQCisvcHJvYy9cZklwaWRcZlIvbnMvcGlkCit0aGUgUElEIG5hbWVzcGFjZQorLlRQCisvcHJvYy9cZklwaWRcZlIvbnMvdXNlcgordGhlIHVzZXIgbmFtZXNwYWNlCisuVFAKKy9wcm9jL1xmSXBpZFxmUi9ucy9jZ3JvdXAKK3RoZSBjZ3JvdXAgbmFtZXNwYWNlCisuVFAKKy9wcm9jL1xmSXBpZFxmUi9yb290Cit0aGUgcm9vdCBkaXJlY3RvcnkKKy5UUAorL3Byb2MvXGZJcGlkXGZSL2N3ZAordGhlIHdvcmtpbmcgZGlyZWN0b3J5IHJlc3BlY3RpdmVseQorLlBECisuUkUKKy5UUAorXGZCXC1tXGZSLCBcZkJcLVwtbW91bnRcZlJbPVxmSWZpbGVcZlJdCitFbnRlciB0aGUgbW91bnQgbmFtZXNwYWNlLiAgSWYgbm8gZmlsZSBpcyBzcGVjaWZpZWQsIGVudGVyIHRoZSBtb3VudCBuYW1lc3BhY2UKK29mIHRoZSB0YXJnZXQgcHJvY2Vzcy4KK0lmCisuSSBmaWxlCitpcyBzcGVjaWZpZWQsIGVudGVyIHRoZSBtb3VudCBuYW1lc3BhY2UKK3NwZWNpZmllZCBieQorLklSIGZpbGUgLgorLlRQCitcZkJcLXVcZlIsIFxmQlwtXC11dHNcZlJbPVxmSWZpbGVcZlJdCitFbnRlciB0aGUgVVRTIG5hbWVzcGFjZS4gIElmIG5vIGZpbGUgaXMgc3BlY2lmaWVkLCBlbnRlciB0aGUgVVRTIG5hbWVzcGFjZSBvZgordGhlIHRhcmdldCBwcm9jZXNzLgorSWYKKy5JIGZpbGUKK2lzIHNwZWNpZmllZCwgZW50ZXIgdGhlIFVUUyBuYW1lc3BhY2Ugc3BlY2lmaWVkIGJ5CisuSVIgZmlsZSAuCisuVFAKK1xmQlwtaVxmUiwgXGZCXC1cLWlwY1xmUls9XGZJZmlsZVxmUl0KK0VudGVyIHRoZSBJUEMgbmFtZXNwYWNlLiAgSWYgbm8gZmlsZSBpcyBzcGVjaWZpZWQsIGVudGVyIHRoZSBJUEMgbmFtZXNwYWNlIG9mCit0aGUgdGFyZ2V0IHByb2Nlc3MuCitJZgorLkkgZmlsZQoraXMgc3BlY2lmaWVkLCBlbnRlciB0aGUgSVBDIG5hbWVzcGFjZSBzcGVjaWZpZWQgYnkKKy5JUiBmaWxlIC4KKy5UUAorXGZCXC1uXGZSLCBcZkJcLVwtbmV0XGZSWz1cZklmaWxlXGZSXQorRW50ZXIgdGhlIG5ldHdvcmsgbmFtZXNwYWNlLiAgSWYgbm8gZmlsZSBpcyBzcGVjaWZpZWQsIGVudGVyIHRoZSBuZXR3b3JrCituYW1lc3BhY2Ugb2YgdGhlIHRhcmdldCBwcm9jZXNzLgorSWYKKy5JIGZpbGUKK2lzIHNwZWNpZmllZCwgZW50ZXIgdGhlIG5ldHdvcmsgbmFtZXNwYWNlIHNwZWNpZmllZCBieQorLklSIGZpbGUgLgorLlRQCitcZkJcLXBcZlIsIFxmQlwtXC1waWRcZlJbPVxmSWZpbGVcZlJdCitFbnRlciB0aGUgUElEIG5hbWVzcGFjZS4gIElmIG5vIGZpbGUgaXMgc3BlY2lmaWVkLCBlbnRlciB0aGUgUElEIG5hbWVzcGFjZSBvZgordGhlIHRhcmdldCBwcm9jZXNzLgorSWYKKy5JIGZpbGUKK2lzIHNwZWNpZmllZCwgZW50ZXIgdGhlIFBJRCBuYW1lc3BhY2Ugc3BlY2lmaWVkIGJ5CisuSVIgZmlsZSAuCisuVFAKK1xmQlwtVVxmUiwgXGZCXC1cLXVzZXJcZlJbPVxmSWZpbGVcZlJdCitFbnRlciB0aGUgdXNlciBuYW1lc3BhY2UuICBJZiBubyBmaWxlIGlzIHNwZWNpZmllZCwgZW50ZXIgdGhlIHVzZXIgbmFtZXNwYWNlIG9mCit0aGUgdGFyZ2V0IHByb2Nlc3MuCitJZgorLkkgZmlsZQoraXMgc3BlY2lmaWVkLCBlbnRlciB0aGUgdXNlciBuYW1lc3BhY2Ugc3BlY2lmaWVkIGJ5CisuSVIgZmlsZSAuCitTZWUgYWxzbyB0aGUgXGZCXC1cLXNldHVpZFxmUiBhbmQgXGZCXC1cLXNldGdpZFxmUiBvcHRpb25zLgorLlRQCitcZkJcLUNcZlIsIFxmQlwtXC1jZ3JvdXBcZlJbPVxmSWZpbGVcZlJdCitFbnRlciB0aGUgY2dyb3VwIG5hbWVzcGFjZS4gIElmIG5vIGZpbGUgaXMgc3BlY2lmaWVkLCBlbnRlciB0aGUgY2dyb3VwIG5hbWVzcGFjZSBvZgordGhlIHRhcmdldCBwcm9jZXNzLgorSWYKKy5JIGZpbGUKK2lzIHNwZWNpZmllZCwgZW50ZXIgdGhlIGNncm91cCBuYW1lc3BhY2Ugc3BlY2lmaWVkIGJ5CisuSVIgZmlsZSAuCisuVFAKK1xmQlwtR1xmUiwgXGZCXC1cLXNldGdpZFxmUiBcZklnaWRcZlIKK1NldCB0aGUgZ3JvdXAgSUQgd2hpY2ggd2lsbCBiZSB1c2VkIGluIHRoZSBlbnRlcmVkIG5hbWVzcGFjZSBhbmQgZHJvcAorc3VwcGxlbWVudGFyeSBncm91cHMuCisuQlIgbnNlbnRlciAoMSkKK2Fsd2F5cyBzZXRzIEdJRCBmb3IgdXNlciBuYW1lc3BhY2VzLCB0aGUgZGVmYXVsdCBpcyAwLgorLlRQCitcZkJcLVNcZlIsIFxmQlwtXC1zZXR1aWRcZlIgXGZJdWlkXGZSCitTZXQgdGhlIHVzZXIgSUQgd2hpY2ggd2lsbCBiZSB1c2VkIGluIHRoZSBlbnRlcmVkIG5hbWVzcGFjZS4KKy5CUiBuc2VudGVyICgxKQorYWx3YXlzIHNldHMgVUlEIGZvciB1c2VyIG5hbWVzcGFjZXMsIHRoZSBkZWZhdWx0IGlzIDAuCisuVFAKK1xmQlwtXC1wcmVzZXJ2ZVwtY3JlZGVudGlhbHNcZlIKK0Rvbid0IG1vZGlmeSBVSUQgYW5kIEdJRCB3aGVuIGVudGVyIHVzZXIgbmFtZXNwYWNlLiBUaGUgZGVmYXVsdCBpcyB0bworZHJvcHMgc3VwcGxlbWVudGFyeSBncm91cHMgYW5kIHNldHMgR0lEIGFuZCBVSUQgdG8gMC4KKy5UUAorXGZCXC1yXGZSLCBcZkJcLVwtcm9vdFxmUls9XGZJZGlyZWN0b3J5XGZSXQorU2V0IHRoZSByb290IGRpcmVjdG9yeS4gIElmIG5vIGRpcmVjdG9yeSBpcyBzcGVjaWZpZWQsIHNldCB0aGUgcm9vdCBkaXJlY3RvcnkgdG8KK3RoZSByb290IGRpcmVjdG9yeSBvZiB0aGUgdGFyZ2V0IHByb2Nlc3MuICBJZiBkaXJlY3RvcnkgaXMgc3BlY2lmaWVkLCBzZXQgdGhlCityb290IGRpcmVjdG9yeSB0byB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeS4KKy5UUAorXGZCXC13XGZSLCBcZkJcLVwtd2RcZlJbPVxmSWRpcmVjdG9yeVxmUl0KK1NldCB0aGUgd29ya2luZyBkaXJlY3RvcnkuICBJZiBubyBkaXJlY3RvcnkgaXMgc3BlY2lmaWVkLCBzZXQgdGhlIHdvcmtpbmcKK2RpcmVjdG9yeSB0byB0aGUgd29ya2luZyBkaXJlY3Rvcnkgb2YgdGhlIHRhcmdldCBwcm9jZXNzLiAgSWYgZGlyZWN0b3J5IGlzCitzcGVjaWZpZWQsIHNldCB0aGUgd29ya2luZyBkaXJlY3RvcnkgdG8gdGhlIHNwZWNpZmllZCBkaXJlY3RvcnkuCisuVFAKK1xmQlwtRlxmUiwgXGZCXC1cLW5vXC1mb3JrXGZSCitEbyBub3QgZm9yayBiZWZvcmUgZXhlYydpbmcgdGhlIHNwZWNpZmllZCBwcm9ncmFtLiAgQnkgZGVmYXVsdCwgd2hlbiBlbnRlcmluZyBhCitQSUQgbmFtZXNwYWNlLCBcZkJuc2VudGVyXGZQIGNhbGxzIFxmQmZvcmtcZlAgYmVmb3JlIGNhbGxpbmcgXGZCZXhlY1xmUCBzbyB0aGF0CithbnkgY2hpbGRyZW4gd2lsbCBhbHNvIGJlIGluIHRoZSBuZXdseSBlbnRlcmVkIFBJRCBuYW1lc3BhY2UuCisuVFAKK1xmQlwtWlxmUiwgXGZCXC1cLWZvbGxvd1wtY29udGV4dFxmUgorU2V0IHRoZSBTRUxpbnV4IHNlY3VyaXR5IGNvbnRleHQgdXNlZCBmb3IgZXhlY3V0aW5nIGEgbmV3IHByb2Nlc3MgYWNjb3JkaW5nIHRvCithbHJlYWR5IHJ1bm5pbmcgcHJvY2VzcyBzcGVjaWZpZWQgYnkgXGZCXC1cLXRhcmdldFxmUiBQSUQuIChUaGUgdXRpbC1saW51eCBoYXMKK3RvIGJlIGNvbXBpbGVkIHdpdGggU0VMaW51eCBzdXBwb3J0IG90aGVyd2lzZSB0aGUgb3B0aW9uIGlzIHVuYXZhaWxhYmxlLikKKy5UUAorXGZCXC1WXGZSLCBcZkJcLVwtdmVyc2lvblxmUgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCitcZkJcLWhcZlIsIFxmQlwtXC1oZWxwXGZSCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBTRUUgQUxTTworLkJSIGNsb25lICgyKSwKKy5CUiBzZXRucyAoMiksCisuQlIgbmFtZXNwYWNlcyAoNykKKy5TSCBBVVRIT1JTCisuVVIgYmllZGVybUB4bWlzc2lvbi5jb20KK0VyaWMgQmllZGVybWFuCisuVUUKKy5icgorLlVSIGt6YWtAcmVkaGF0LmNvbQorS2FyZWwgWmFrCisuVUUKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBuc2VudGVyIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGZ0cDovL1w6ZnRwLmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL25zZW50ZXIuYyBiL3N5cy11dGlscy9uc2VudGVyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg1YWNlOQotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9uc2VudGVyLmMKQEAgLTAsMCArMSw0MzMgQEAKKy8qCisgKiBuc2VudGVyKDEpIC0gY29tbWFuZC1saW5lIGludGVyZmFjZSBmb3Igc2V0bnMoMikKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTItMjAxMyBFcmljIEJpZWRlcm1hbiA8ZWJpZWRlcm1AeG1pc3Npb24uY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUKKyAqIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyAqIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKyAqIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisgKiA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorICovCisKKyNpbmNsdWRlIDxkaXJlbnQuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHNjaGVkLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRib29sLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3dhaXQuaD4KKyNpbmNsdWRlIDxncnAuaD4KKworI2lmZGVmIEhBVkVfTElCU0VMSU5VWAorIyBpbmNsdWRlIDxzZWxpbnV4L3NlbGludXguaD4KKyNlbmRpZgorCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJuYW1lc3BhY2UuaCIKKyNpbmNsdWRlICJleGVjX3NoZWxsLmgiCisKK3N0YXRpYyBzdHJ1Y3QgbmFtZXNwYWNlX2ZpbGUgeworCWludCBuc3R5cGU7CisJY29uc3QgY2hhciAqbmFtZTsKKwlpbnQgZmQ7Cit9IG5hbWVzcGFjZV9maWxlc1tdID0geworCS8qIENhcmVmdWwgdGhlIG9yZGVyIGlzIHNpZ25pZmljYW50IGluIHRoaXMgYXJyYXkuCisJICoKKwkgKiBUaGUgdXNlciBuYW1lc3BhY2UgY29tZXMgZWl0aGVyIGZpcnN0IG9yIGxhc3Q6IGZpcnN0IGlmCisJICogeW91J3JlIHVzaW5nIGl0IHRvIGluY3JlYXNlIHlvdXIgcHJpdmlsZWdlIGFuZCBsYXN0IGlmCisJICogeW91J3JlIHVzaW5nIGl0IHRvIGRlY3JlYXNlLiAgV2UgZW50ZXIgdGhlIG5hbWVzcGFjZXMgaW4KKwkgKiB0d28gcGFzc2VzIHN0YXJ0aW5nIGluaXRpYWxseSBmcm9tIG9mZnNldCAxIGFuZCB0aGVuIG9mZnNldAorCSAqIDAgaWYgdGhhdCBmYWlscy4KKwkgKi8KKwl7IC5uc3R5cGUgPSBDTE9ORV9ORVdVU0VSLCAgLm5hbWUgPSAibnMvdXNlciIsIC5mZCA9IC0xIH0sCisJeyAubnN0eXBlID0gQ0xPTkVfTkVXQ0dST1VQLC5uYW1lID0gIm5zL2Nncm91cCIsIC5mZCA9IC0xIH0sCisJeyAubnN0eXBlID0gQ0xPTkVfTkVXSVBDLCAgIC5uYW1lID0gIm5zL2lwYyIsICAuZmQgPSAtMSB9LAorCXsgLm5zdHlwZSA9IENMT05FX05FV1VUUywgICAubmFtZSA9ICJucy91dHMiLCAgLmZkID0gLTEgfSwKKwl7IC5uc3R5cGUgPSBDTE9ORV9ORVdORVQsICAgLm5hbWUgPSAibnMvbmV0IiwgIC5mZCA9IC0xIH0sCisJeyAubnN0eXBlID0gQ0xPTkVfTkVXUElELCAgIC5uYW1lID0gIm5zL3BpZCIsICAuZmQgPSAtMSB9LAorCXsgLm5zdHlwZSA9IENMT05FX05FV05TLCAgICAubmFtZSA9ICJucy9tbnQiLCAgLmZkID0gLTEgfSwKKwl7IC5uc3R5cGUgPSAwLCAubmFtZSA9IE5VTEwsIC5mZCA9IC0xIH0KK307CisKK3N0YXRpYyB2b2lkIHVzYWdlKGludCBzdGF0dXMpCit7CisJRklMRSAqb3V0ID0gc3RhdHVzID09IEVYSVRfU1VDQ0VTUyA/IHN0ZG91dCA6IHN0ZGVycjsKKworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXG4iKSwKKwkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlJ1biBhIHByb2dyYW0gd2l0aCBuYW1lc3BhY2VzIG9mIG90aGVyIHByb2Nlc3Nlcy5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICB0YXJnZXQgcHJvY2VzcyB0byBnZXQgbmFtZXNwYWNlcyBmcm9tXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICBlbnRlciBtb3VudCBuYW1lc3BhY2VcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgIGVudGVyIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgIGVudGVyIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgIGVudGVyIG5ldHdvcmsgbmFtZXNwYWNlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICBlbnRlciBwaWQgbmFtZXNwYWNlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICBlbnRlciBjZ3JvdXAgbmFtZXNwYWNlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICBlbnRlciB1c2VyIG5hbWVzcGFjZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgc2V0IHVpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1HLCAtLXNldGdpZCA8Z2lkPiAgICAgc2V0IGdpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzIGRvIG5vdCB0b3VjaCB1aWRzIG9yIGdpZHNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtciwgLS1yb290Wz08ZGlyPl0gICAgIHNldCB0aGUgcm9vdCBkaXJlY3RvcnlcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdywgLS13ZFs9PGRpcj5dICAgICAgIHNldCB0aGUgd29ya2luZyBkaXJlY3RvcnlcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtRiwgLS1uby1mb3JrICAgICAgICAgIGRvIG5vdCBmb3JrIGJlZm9yZSBleGVjJ2luZyA8cHJvZ3JhbT5cbiIpLCBvdXQpOworI2lmZGVmIEhBVkVfTElCU0VMSU5VWAorCWZwdXRzKF8oIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgIHNldCBTRUxpbnV4IGNvbnRleHQgYWNjb3JkaW5nIHRvIC0tdGFyZ2V0IFBJRFxuIiksIG91dCk7CisjZW5kaWYKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dCk7CisJZnByaW50ZihvdXQsIFVTQUdFX01BTl9UQUlMKCJuc2VudGVyKDEpIikpOworCisJZXhpdChzdGF0dXMpOworfQorCitzdGF0aWMgcGlkX3QgbmFtZXNwYWNlX3RhcmdldF9waWQgPSAwOworc3RhdGljIGludCByb290X2ZkID0gLTE7CitzdGF0aWMgaW50IHdkX2ZkID0gLTE7CisKK3N0YXRpYyB2b2lkIG9wZW5fdGFyZ2V0X2ZkKGludCAqZmQsIGNvbnN0IGNoYXIgKnR5cGUsIGNvbnN0IGNoYXIgKnBhdGgpCit7CisJY2hhciBwYXRoYnVmW1BBVEhfTUFYXTsKKworCWlmICghcGF0aCAmJiBuYW1lc3BhY2VfdGFyZ2V0X3BpZCkgeworCQlzbnByaW50ZihwYXRoYnVmLCBzaXplb2YocGF0aGJ1ZiksICIvcHJvYy8ldS8lcyIsCisJCQkgbmFtZXNwYWNlX3RhcmdldF9waWQsIHR5cGUpOworCQlwYXRoID0gcGF0aGJ1ZjsKKwl9CisJaWYgKCFwYXRoKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJICAgICBfKCJuZWl0aGVyIGZpbGVuYW1lIG5vciB0YXJnZXQgcGlkIHN1cHBsaWVkIGZvciAlcyIpLAorCQkgICAgIHR5cGUpOworCisJaWYgKCpmZCA+PSAwKQorCQljbG9zZSgqZmQpOworCisJKmZkID0gb3BlbihwYXRoLCBPX1JET05MWSk7CisJaWYgKCpmZCA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksIHBhdGgpOworfQorCitzdGF0aWMgdm9pZCBvcGVuX25hbWVzcGFjZV9mZChpbnQgbnN0eXBlLCBjb25zdCBjaGFyICpwYXRoKQoreworCXN0cnVjdCBuYW1lc3BhY2VfZmlsZSAqbnNmaWxlOworCisJZm9yIChuc2ZpbGUgPSBuYW1lc3BhY2VfZmlsZXM7IG5zZmlsZS0+bnN0eXBlOyBuc2ZpbGUrKykgeworCQlpZiAobnN0eXBlICE9IG5zZmlsZS0+bnN0eXBlKQorCQkJY29udGludWU7CisKKwkJb3Blbl90YXJnZXRfZmQoJm5zZmlsZS0+ZmQsIG5zZmlsZS0+bmFtZSwgcGF0aCk7CisJCXJldHVybjsKKwl9CisJLyogVGhpcyBzaG91bGQgbmV2ZXIgaGFwcGVuICovCisJYXNzZXJ0KG5zZmlsZS0+bnN0eXBlKTsKK30KKworc3RhdGljIHZvaWQgY29udGludWVfYXNfY2hpbGQodm9pZCkKK3sKKwlwaWRfdCBjaGlsZCA9IGZvcmsoKTsKKwlpbnQgc3RhdHVzOworCXBpZF90IHJldDsKKworCWlmIChjaGlsZCA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZvcmsgZmFpbGVkIikpOworCisJLyogT25seSB0aGUgY2hpbGQgcmV0dXJucyAqLworCWlmIChjaGlsZCA9PSAwKQorCQlyZXR1cm47CisKKwlmb3IgKDs7KSB7CisJCXJldCA9IHdhaXRwaWQoY2hpbGQsICZzdGF0dXMsIFdVTlRSQUNFRCk7CisJCWlmICgocmV0ID09IGNoaWxkKSAmJiAoV0lGU1RPUFBFRChzdGF0dXMpKSkgeworCQkJLyogVGhlIGNoaWxkIHN1c3BlbmRlZCBzbyBzdXNwZW5kIHVzIGFzIHdlbGwgKi8KKwkJCWtpbGwoZ2V0cGlkKCksIFNJR1NUT1ApOworCQkJa2lsbChjaGlsZCwgU0lHQ09OVCk7CisJCX0gZWxzZSB7CisJCQlicmVhazsKKwkJfQorCX0KKwkvKiBSZXR1cm4gdGhlIGNoaWxkJ3MgZXhpdCBjb2RlIGlmIHBvc3NpYmxlICovCisJaWYgKFdJRkVYSVRFRChzdGF0dXMpKSB7CisJCWV4aXQoV0VYSVRTVEFUVVMoc3RhdHVzKSk7CisJfSBlbHNlIGlmIChXSUZTSUdOQUxFRChzdGF0dXMpKSB7CisJCWtpbGwoZ2V0cGlkKCksIFdURVJNU0lHKHN0YXR1cykpOworCX0KKwlleGl0KEVYSVRfRkFJTFVSRSk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJZW51bSB7CisJCU9QVF9QUkVTRVJWRV9DUkVEID0gQ0hBUl9NQVggKyAxCisJfTsKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJoZWxwIiwgbm9fYXJndW1lbnQsIE5VTEwsICdoJyB9LAorCQl7ICJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsIE5VTEwsICdWJ30sCisJCXsgInRhcmdldCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAndCcgfSwKKwkJeyAibW91bnQiLCBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgJ20nIH0sCisJCXsgInV0cyIsIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAndScgfSwKKwkJeyAiaXBjIiwgb3B0aW9uYWxfYXJndW1lbnQsIE5VTEwsICdpJyB9LAorCQl7ICJuZXQiLCBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgJ24nIH0sCisJCXsgInBpZCIsIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAncCcgfSwKKwkJeyAidXNlciIsIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAnVScgfSwKKwkJeyAiY2dyb3VwIiwgb3B0aW9uYWxfYXJndW1lbnQsIE5VTEwsICdDJyB9LAorCQl7ICJzZXR1aWQiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ1MnIH0sCisJCXsgInNldGdpZCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnRycgfSwKKwkJeyAicm9vdCIsIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAncicgfSwKKwkJeyAid2QiLCBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgJ3cnIH0sCisJCXsgIm5vLWZvcmsiLCBub19hcmd1bWVudCwgTlVMTCwgJ0YnIH0sCisJCXsgInByZXNlcnZlLWNyZWRlbnRpYWxzIiwgbm9fYXJndW1lbnQsIE5VTEwsIE9QVF9QUkVTRVJWRV9DUkVEIH0sCisjaWZkZWYgSEFWRV9MSUJTRUxJTlVYCisJCXsgImZvbGxvdy1jb250ZXh0Iiwgbm9fYXJndW1lbnQsIE5VTEwsICdaJyB9LAorI2VuZGlmCisJCXsgTlVMTCwgMCwgTlVMTCwgMCB9CisJfTsKKworCXN0cnVjdCBuYW1lc3BhY2VfZmlsZSAqbnNmaWxlOworCWludCBjLCBwYXNzLCBuYW1lc3BhY2VzID0gMCwgc2V0Z3JvdXBzX25lcnJzID0gMCwgcHJlc2VydmVfY3JlZCA9IDA7CisJYm9vbCBkb19yZCA9IGZhbHNlLCBkb193ZCA9IGZhbHNlLCBmb3JjZV91aWQgPSBmYWxzZSwgZm9yY2VfZ2lkID0gZmFsc2U7CisJaW50IGRvX2ZvcmsgPSAtMTsgLyogdW5rbm93biB5ZXQgKi8KKwl1aWRfdCB1aWQgPSAwOworCWdpZF90IGdpZCA9IDA7CisjaWZkZWYgSEFWRV9MSUJTRUxJTlVYCisJYm9vbCBzZWxpbnV4ID0gMDsKKyNlbmRpZgorCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgoYyA9CisJCWdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICIraFZ0Om06OnU6Omk6Om46OnA6OkM6OlU6OlM6RzpyOjp3OjpGWiIsCisJCQkgICAgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShFWElUX1NVQ0NFU1MpOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAndCc6CisJCQluYW1lc3BhY2VfdGFyZ2V0X3BpZCA9CisJCQkgICAgc3RydG91bF9vcl9lcnIob3B0YXJnLCBfKCJmYWlsZWQgdG8gcGFyc2UgcGlkIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ20nOgorCQkJaWYgKG9wdGFyZykKKwkJCQlvcGVuX25hbWVzcGFjZV9mZChDTE9ORV9ORVdOUywgb3B0YXJnKTsKKwkJCWVsc2UKKwkJCQluYW1lc3BhY2VzIHw9IENMT05FX05FV05TOworCQkJYnJlYWs7CisJCWNhc2UgJ3UnOgorCQkJaWYgKG9wdGFyZykKKwkJCQlvcGVuX25hbWVzcGFjZV9mZChDTE9ORV9ORVdVVFMsIG9wdGFyZyk7CisJCQllbHNlCisJCQkJbmFtZXNwYWNlcyB8PSBDTE9ORV9ORVdVVFM7CisJCQlicmVhazsKKwkJY2FzZSAnaSc6CisJCQlpZiAob3B0YXJnKQorCQkJCW9wZW5fbmFtZXNwYWNlX2ZkKENMT05FX05FV0lQQywgb3B0YXJnKTsKKwkJCWVsc2UKKwkJCQluYW1lc3BhY2VzIHw9IENMT05FX05FV0lQQzsKKwkJCWJyZWFrOworCQljYXNlICduJzoKKwkJCWlmIChvcHRhcmcpCisJCQkJb3Blbl9uYW1lc3BhY2VfZmQoQ0xPTkVfTkVXTkVULCBvcHRhcmcpOworCQkJZWxzZQorCQkJCW5hbWVzcGFjZXMgfD0gQ0xPTkVfTkVXTkVUOworCQkJYnJlYWs7CisJCWNhc2UgJ3AnOgorCQkJaWYgKG9wdGFyZykKKwkJCQlvcGVuX25hbWVzcGFjZV9mZChDTE9ORV9ORVdQSUQsIG9wdGFyZyk7CisJCQllbHNlCisJCQkJbmFtZXNwYWNlcyB8PSBDTE9ORV9ORVdQSUQ7CisJCQlicmVhazsKKwkJY2FzZSAnQyc6CisJCQlpZiAob3B0YXJnKQorCQkJCW9wZW5fbmFtZXNwYWNlX2ZkKENMT05FX05FV0NHUk9VUCwgb3B0YXJnKTsKKwkJCWVsc2UKKwkJCQluYW1lc3BhY2VzIHw9IENMT05FX05FV0NHUk9VUDsKKwkJCWJyZWFrOworCQljYXNlICdVJzoKKwkJCWlmIChvcHRhcmcpCisJCQkJb3Blbl9uYW1lc3BhY2VfZmQoQ0xPTkVfTkVXVVNFUiwgb3B0YXJnKTsKKwkJCWVsc2UKKwkJCQluYW1lc3BhY2VzIHw9IENMT05FX05FV1VTRVI7CisJCQlicmVhazsKKwkJY2FzZSAnUyc6CisJCQl1aWQgPSBzdHJ0b3VsX29yX2VycihvcHRhcmcsIF8oImZhaWxlZCB0byBwYXJzZSB1aWQiKSk7CisJCQlmb3JjZV91aWQgPSB0cnVlOworCQkJYnJlYWs7CisJCWNhc2UgJ0cnOgorCQkJZ2lkID0gc3RydG91bF9vcl9lcnIob3B0YXJnLCBfKCJmYWlsZWQgdG8gcGFyc2UgZ2lkIikpOworCQkJZm9yY2VfZ2lkID0gdHJ1ZTsKKwkJCWJyZWFrOworCQljYXNlICdGJzoKKwkJCWRvX2ZvcmsgPSAwOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJaWYgKG9wdGFyZykKKwkJCQlvcGVuX3RhcmdldF9mZCgmcm9vdF9mZCwgInJvb3QiLCBvcHRhcmcpOworCQkJZWxzZQorCQkJCWRvX3JkID0gdHJ1ZTsKKwkJCWJyZWFrOworCQljYXNlICd3JzoKKwkJCWlmIChvcHRhcmcpCisJCQkJb3Blbl90YXJnZXRfZmQoJndkX2ZkLCAiY3dkIiwgb3B0YXJnKTsKKwkJCWVsc2UKKwkJCQlkb193ZCA9IHRydWU7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfUFJFU0VSVkVfQ1JFRDoKKwkJCXByZXNlcnZlX2NyZWQgPSAxOworCQkJYnJlYWs7CisjaWZkZWYgSEFWRV9MSUJTRUxJTlVYCisJCWNhc2UgJ1onOgorCQkJc2VsaW51eCA9IDE7CisJCQlicmVhazsKKyNlbmRpZgorCQlkZWZhdWx0OgorCQkJdXNhZ2UoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0KKworI2lmZGVmIEhBVkVfTElCU0VMSU5VWAorCWlmIChzZWxpbnV4ICYmIGlzX3NlbGludXhfZW5hYmxlZCgpID4gMCkgeworCQljaGFyICpzY29uID0gTlVMTDsKKworCQlpZiAoIW5hbWVzcGFjZV90YXJnZXRfcGlkKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIm5vIHRhcmdldCBQSUQgc3BlY2lmaWVkIGZvciAtLWZvbGxvdy1jb250ZXh0IikpOworCQlpZiAoZ2V0cGlkY29uKG5hbWVzcGFjZV90YXJnZXRfcGlkLCAmc2NvbikgPCAwKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBnZXQgJWQgU0VMaW51eCBjb250ZXh0IiksCisJCQkJCShpbnQpIG5hbWVzcGFjZV90YXJnZXRfcGlkKTsKKwkJaWYgKHNldGV4ZWNjb24oc2NvbikgPCAwKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBzZXQgZXhlYyBjb250ZXh0IHRvICclcyciKSwgc2Nvbik7CisJCWZyZWVjb24oc2Nvbik7CisJfQorI2VuZGlmCisJLyoKKwkgKiBPcGVuIHJlbWFpbmluZyBuYW1lc3BhY2UgYW5kIGRpcmVjdG9yeSBkZXNjcmlwdG9ycy4KKwkgKi8KKwlmb3IgKG5zZmlsZSA9IG5hbWVzcGFjZV9maWxlczsgbnNmaWxlLT5uc3R5cGU7IG5zZmlsZSsrKQorCQlpZiAobnNmaWxlLT5uc3R5cGUgJiBuYW1lc3BhY2VzKQorCQkJb3Blbl9uYW1lc3BhY2VfZmQobnNmaWxlLT5uc3R5cGUsIE5VTEwpOworCWlmIChkb19yZCkKKwkJb3Blbl90YXJnZXRfZmQoJnJvb3RfZmQsICJyb290IiwgTlVMTCk7CisJaWYgKGRvX3dkKQorCQlvcGVuX3RhcmdldF9mZCgmd2RfZmQsICJjd2QiLCBOVUxMKTsKKworCS8qCisJICogVXBkYXRlIG5hbWVzcGFjZXMgdmFyaWFibGUgdG8gY29udGFpbiBhbGwgcmVxdWVzdGVkIG5hbWVzcGFjZXMKKwkgKi8KKwlmb3IgKG5zZmlsZSA9IG5hbWVzcGFjZV9maWxlczsgbnNmaWxlLT5uc3R5cGU7IG5zZmlsZSsrKSB7CisJCWlmIChuc2ZpbGUtPmZkIDwgMCkKKwkJCWNvbnRpbnVlOworCQluYW1lc3BhY2VzIHw9IG5zZmlsZS0+bnN0eXBlOworCX0KKworCS8qIGZvciB1c2VyIG5hbWVzcGFjZXMgd2UgYWx3YXlzIHNldCBVSUQgYW5kIEdJRCAoZGVmYXVsdCBpcyAwKQorCSAqIGFuZCBjbGVhciByb290J3MgZ3JvdXBzIGlmIC0tcHJlc2VydmUtY3JlZGVudGlhbHMgaXMgbm8gc3BlY2lmaWVkICovCisJaWYgKChuYW1lc3BhY2VzICYgQ0xPTkVfTkVXVVNFUikgJiYgIXByZXNlcnZlX2NyZWQpIHsKKwkJZm9yY2VfdWlkID0gdHJ1ZSwgZm9yY2VfZ2lkID0gdHJ1ZTsKKworCQkvKiBXZSBjYWxsIHNldGdyb3VwcygpIGJlZm9yZSBhbmQgYWZ0ZXIgd2UgZW50ZXIgdXNlciBuYW1lc3BhY2UsCisJCSAqIGxldCdzIGNvbXBsYWluIG9ubHkgaWYgYm90aCBmYWlsICovCisJCWlmIChzZXRncm91cHMoMCwgTlVMTCkgIT0gMCkKKwkJCXNldGdyb3Vwc19uZXJycysrOworCX0KKworCS8qCisJICogTm93IHRoYXQgd2Uga25vdyB3aGljaCBuYW1lc3BhY2VzIHdlIHdhbnQgdG8gZW50ZXIsIGVudGVyCisJICogdGhlbS4gIERvIHRoaXMgaW4gdHdvIHBhc3Nlcywgbm90IGVudGVyaW5nIHRoZSB1c2VyCisJICogbmFtZXNwYWNlIG9uIHRoZSBmaXJzdCBwYXNzLiAgU28gaWYgd2UncmUgZGVwcml2aWxlZ2luZyB0aGUKKwkgKiBjb250YWluZXIgd2UnbGwgZW50ZXIgdGhlIHVzZXIgbmFtZXNwYWNlIGxhc3QgYW5kIGlmIHdlJ3JlCisJICogcHJpdmlsZWdpbmcgaXQgdGhlbiB3ZSBlbnRlciB0aGUgdXNlciBuYW1lc3BhY2UgZmlyc3QKKwkgKiAoYmVjYXVzZSB0aGUgaW5pdGlhbCBzZXRucyB3aWxsIGZhaWwpLgorCSAqLworCWZvciAocGFzcyA9IDA7IHBhc3MgPCAyOyBwYXNzICsrKSB7CisJCWZvciAobnNmaWxlID0gbmFtZXNwYWNlX2ZpbGVzICsgMSAtIHBhc3M7IG5zZmlsZS0+bnN0eXBlOyBuc2ZpbGUrKykgeworCQkJaWYgKG5zZmlsZS0+ZmQgPCAwKQorCQkJCWNvbnRpbnVlOworCQkJaWYgKG5zZmlsZS0+bnN0eXBlID09IENMT05FX05FV1BJRCAmJiBkb19mb3JrID09IC0xKQorCQkJCWRvX2ZvcmsgPSAxOworCQkJaWYgKHNldG5zKG5zZmlsZS0+ZmQsIG5zZmlsZS0+bnN0eXBlKSkgeworCQkJCWlmIChwYXNzICE9IDApCisJCQkJCWVycihFWElUX0ZBSUxVUkUsCisJCQkJCSAgICBfKCJyZWFzc29jaWF0ZSB0byBuYW1lc3BhY2UgJyVzJyBmYWlsZWQiKSwKKwkJCQkJICAgIG5zZmlsZS0+bmFtZSk7CisJCQkJZWxzZQorCQkJCQljb250aW51ZTsKKwkJCX0KKworCQkJY2xvc2UobnNmaWxlLT5mZCk7CisJCQluc2ZpbGUtPmZkID0gLTE7CisJCX0KKwl9CisKKwkvKiBSZW1lbWJlciB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSBpZiBJJ20gbm90IGNoYW5naW5nIGl0ICovCisJaWYgKHJvb3RfZmQgPj0gMCAmJiB3ZF9mZCA8IDApIHsKKwkJd2RfZmQgPSBvcGVuKCIuIiwgT19SRE9OTFkpOworCQlpZiAod2RfZmQgPCAwKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwKKwkJCSAgICBfKCJjYW5ub3Qgb3BlbiBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IikpOworCX0KKworCS8qIENoYW5nZSB0aGUgcm9vdCBkaXJlY3RvcnkgKi8KKwlpZiAocm9vdF9mZCA+PSAwKSB7CisJCWlmIChmY2hkaXIocm9vdF9mZCkgPCAwKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwKKwkJCSAgICBfKCJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHJvb3QgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIpKTsKKworCQlpZiAoY2hyb290KCIuIikgPCAwKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2hyb290IGZhaWxlZCIpKTsKKworCQljbG9zZShyb290X2ZkKTsKKwkJcm9vdF9mZCA9IC0xOworCX0KKworCS8qIENoYW5nZSB0aGUgd29ya2luZyBkaXJlY3RvcnkgKi8KKwlpZiAod2RfZmQgPj0gMCkgeworCQlpZiAoZmNoZGlyKHdkX2ZkKSA8IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLAorCQkJICAgIF8oImNoYW5nZSBkaXJlY3RvcnkgYnkgd29ya2luZyBkaXJlY3RvcnkgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIpKTsKKworCQljbG9zZSh3ZF9mZCk7CisJCXdkX2ZkID0gLTE7CisJfQorCisJaWYgKGRvX2ZvcmsgPT0gMSkKKwkJY29udGludWVfYXNfY2hpbGQoKTsKKworCWlmIChmb3JjZV91aWQgfHwgZm9yY2VfZ2lkKSB7CisJCWlmIChmb3JjZV9naWQgJiYgc2V0Z3JvdXBzKDAsIE5VTEwpICE9IDAgJiYgc2V0Z3JvdXBzX25lcnJzKQkvKiBkcm9wIHN1cHBsZW1lbnRhcnkgZ3JvdXBzICovCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJzZXRncm91cHMgZmFpbGVkIikpOworCQlpZiAoZm9yY2VfZ2lkICYmIHNldGdpZChnaWQpIDwgMCkJCS8qIGNoYW5nZSBHSUQgKi8KKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oInNldGdpZCBmYWlsZWQiKSk7CisJCWlmIChmb3JjZV91aWQgJiYgc2V0dWlkKHVpZCkgPCAwKQkJLyogY2hhbmdlIFVJRCAqLworCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygic2V0dWlkIGZhaWxlZCIpKTsKKwl9CisKKwlpZiAob3B0aW5kIDwgYXJnYykgeworCQlleGVjdnAoYXJndltvcHRpbmRdLCBhcmd2ICsgb3B0aW5kKTsKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGV4ZWN1dGUgJXMiKSwgYXJndltvcHRpbmRdKTsKKwl9CisJZXhlY19zaGVsbCgpOworfQpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL3Bpdm90X3Jvb3QuOCBiL3N5cy11dGlscy9waXZvdF9yb290LjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjRlNmJjOQotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9waXZvdF9yb290LjgKQEAgLTAsMCArMSw3NSBAQAorLlRIIFBJVk9UX1JPT1QgOCAiQXVndXN0IDIwMTEiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK3Bpdm90X3Jvb3QgXC0gY2hhbmdlIHRoZSByb290IGZpbGVzeXN0ZW0KKy5TSCBTWU5PUFNJUworLkIgcGl2b3Rfcm9vdAorLkkgbmV3X3Jvb3QgcHV0X29sZAorLlNIIERFU0NSSVBUSU9OCitcZkJwaXZvdF9yb290XGZQIG1vdmVzIHRoZSByb290IGZpbGUgc3lzdGVtIG9mIHRoZSBjdXJyZW50IHByb2Nlc3MgdG8gdGhlCitkaXJlY3RvcnkgXGZJcHV0X29sZFxmUCBhbmQgbWFrZXMgXGZJbmV3X3Jvb3RcZlAgdGhlIG5ldyByb290IGZpbGUgc3lzdGVtLgorU2luY2UgXGZCcGl2b3Rfcm9vdFxmUCg4KSBzaW1wbHkgY2FsbHMgXGZCcGl2b3Rfcm9vdFxmUCgyKSwgd2UgcmVmZXIgdG8KK3RoZSBtYW4gcGFnZSBvZiB0aGUgbGF0dGVyIGZvciBmdXJ0aGVyIGRldGFpbHMuCisKK05vdGUgdGhhdCwgZGVwZW5kaW5nIG9uIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBcZkJwaXZvdF9yb290XGZQLCByb290IGFuZAorY3dkIG9mIHRoZSBjYWxsZXIgbWF5IG9yIG1heSBub3QgY2hhbmdlLiBUaGUgZm9sbG93aW5nIGlzIGEgc2VxdWVuY2UgZm9yCitpbnZva2luZyBcZkJwaXZvdF9yb290XGZQIHRoYXQgd29ya3MgaW4gZWl0aGVyIGNhc2UsIGFzc3VtaW5nIHRoYXQKK1xmQnBpdm90X3Jvb3RcZlAgYW5kIFxmQmNocm9vdFxmUCBhcmUgaW4gdGhlIGN1cnJlbnQgXGZCUEFUSFxmUDoKKy5zcAorY2QgXGZJbmV3X3Jvb3RcZlAKKy5icgorcGl2b3Rfcm9vdCAuIFxmSXB1dF9vbGRcZlAKKy5icgorZXhlYyBjaHJvb3QgLiBcZkljb21tYW5kXGZQCisuc3AKK05vdGUgdGhhdCBcZkJjaHJvb3RcZlAgbXVzdCBiZSBhdmFpbGFibGUgdW5kZXIgdGhlIG9sZCByb290IGFuZCB1bmRlciB0aGUgbmV3Cityb290LCBiZWNhdXNlIFxmQnBpdm90X3Jvb3RcZlAgbWF5IG9yIG1heSBub3QgaGF2ZSBpbXBsaWNpdGx5IGNoYW5nZWQgdGhlCityb290IGRpcmVjdG9yeSBvZiB0aGUgc2hlbGwuCisKK05vdGUgdGhhdCBcZkJleGVjIGNocm9vdFxmUCBjaGFuZ2VzIHRoZSBydW5uaW5nIGV4ZWN1dGFibGUsIHdoaWNoIGlzCituZWNlc3NhcnkgaWYgdGhlIG9sZCByb290IGRpcmVjdG9yeSBzaG91bGQgYmUgdW5tb3VudGVkIGFmdGVyd2FyZHMuCitBbHNvIG5vdGUgdGhhdCBzdGFuZGFyZCBpbnB1dCwgb3V0cHV0LCBhbmQgZXJyb3IgbWF5IHN0aWxsIHBvaW50IHRvIGEKK2RldmljZSBvbiB0aGUgb2xkIHJvb3QgZmlsZSBzeXN0ZW0sIGtlZXBpbmcgaXQgYnVzeS4gVGhleSBjYW4gZWFzaWx5IGJlCitjaGFuZ2VkIHdoZW4gaW52b2tpbmcgXGZCY2hyb290XGZQIChzZWUgYmVsb3c7IG5vdGUgdGhlIGFic2VuY2Ugb2YKK2xlYWRpbmcgc2xhc2hlcyB0byBtYWtlIGl0IHdvcmsgd2hldGhlciBcZkJwaXZvdF9yb290XGZQIGhhcyBjaGFuZ2VkIHRoZQorc2hlbGwncyByb290IG9yIG5vdCkuCisuU0ggT1BUSU9OUworLlRQCitcZkJcLVZcZlIsIFxmQlwtXC12ZXJzaW9uXGZSCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKK1xmQlwtaFxmUiwgXGZCXC1cLWhlbHBcZlIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIIEVYQU1QTEVTCitDaGFuZ2UgdGhlIHJvb3QgZmlsZSBzeXN0ZW0gdG8gL2Rldi9oZGExIGZyb20gYW4gaW50ZXJhY3RpdmUgc2hlbGw6Cisuc3AKKy5uZgorbW91bnQgL2Rldi9oZGExIC9uZXctcm9vdAorY2QgL25ldy1yb290CitwaXZvdF9yb290IC4gb2xkLXJvb3QKK2V4ZWMgY2hyb290IC4gc2ggPGRldi9jb25zb2xlID5kZXYvY29uc29sZSAyPiYxCit1bW91bnQgL29sZC1yb290CisuZmkKKy5zcAorTW91bnQgdGhlIG5ldyByb290IGZpbGUgc3lzdGVtIG92ZXIgTkZTIGZyb20gMTAuMC4wLjE6L215X3Jvb3QgYW5kIHJ1bgorXGZCaW5pdFxmUDoKKy5zcAorLm5mCitpZmNvbmZpZyBsbyAxMjcuMC4wLjEgdXAgICAjIGZvciBwb3J0bWFwCisjIGNvbmZpZ3VyZSBFdGhlcm5ldCBvciBzdWNoCitwb3J0bWFwICAgIyBmb3IgbG9ja2QgKGltcGxpY2l0bHkgc3RhcnRlZCBieSBtb3VudCkKK21vdW50IC1vIHJvIDEwLjAuMC4xOi9teV9yb290IC9tbnQKK2tpbGxhbGwgcG9ydG1hcCAgICMgcG9ydG1hcCBrZWVwcyBvbGQgcm9vdCBidXN5CitjZCAvbW50CitwaXZvdF9yb290IC4gb2xkX3Jvb3QKK2V4ZWMgY2hyb290IC4gc2ggLWMgJ3Vtb3VudCAvb2xkX3Jvb3Q7IGV4ZWMgL3NiaW4vaW5pdCcgXFwKKyAgPGRldi9jb25zb2xlID5kZXYvY29uc29sZSAyPiYxCisuZmkKKy5TSCAiU0VFIEFMU08iCisuQlIgY2hyb290ICgxKSwKKy5CUiBwaXZvdF9yb290ICgyKSwKKy5CUiBtb3VudCAoOCksCisuQlIgc3dpdGNoX3Jvb3QgKDgpLAorLkJSIHVtb3VudCAoOCkKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBwaXZvdF9yb290IGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYyBiL3N5cy11dGlscy9waXZvdF9yb290LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTdiMjhiZgotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9waXZvdF9yb290LmMKQEAgLTAsMCArMSw3OSBAQAorLyoKKyAqIHBpdm90X3Jvb3QuYyAtIENoYW5nZSB0aGUgcm9vdCBmaWxlIHN5c3RlbQorICoKKyAqIENvcHlyaWdodCAoQykgMjAwMCBXZXJuZXIgQWxtZXNiZXJnZXIKKyAqCisgKiBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKi8KKyNpbmNsdWRlIDxlcnIuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3lzL3N5c2NhbGwuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCisjZGVmaW5lIHBpdm90X3Jvb3QobmV3X3Jvb3QscHV0X29sZCkgc3lzY2FsbChTWVNfcGl2b3Rfcm9vdCxuZXdfcm9vdCxwdXRfb2xkKQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqIG91dCkKK3sKKwlmcHJpbnRmKG91dCwgVVNBR0VfSEVBREVSKTsKKwlmcHJpbnRmKG91dCwgXygiICVzIFtvcHRpb25zXSBuZXdfcm9vdCBwdXRfb2xkXG4iKSwKKwkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkNoYW5nZSB0aGUgcm9vdCBmaWxlc3lzdGVtLlxuIiksIG91dCk7CisKKwlmcHJpbnRmKG91dCwgVVNBR0VfT1BUSU9OUyk7CisJZnByaW50ZihvdXQsIFVTQUdFX0hFTFApOworCWZwcmludGYob3V0LCBVU0FHRV9WRVJTSU9OKTsKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoInBpdm90X3Jvb3QoOCkiKSk7CisJZXhpdChvdXQgPT0gc3RkZXJyID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBjaDsKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1YnfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIE5VTEwsICdoJ30sCisJCXtOVUxMLCAwLCBOVUxMLCAwfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChjaCA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJWaCIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpCisJCXN3aXRjaCAoY2gpIHsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2Uoc3Rkb3V0KTsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKHN0ZGVycik7CisJCX0KKworCWlmIChhcmdjICE9IDMpCisJCXVzYWdlKHN0ZGVycik7CisKKwlpZiAocGl2b3Rfcm9vdChhcmd2WzFdLCBhcmd2WzJdKSA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCBmcm9tIGAlcycgdG8gYCVzJyIpLAorCQkgICAgYXJndlsxXSwgYXJndlsyXSk7CisKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL3BybGltaXQuMSBiL3N5cy11dGlscy9wcmxpbWl0LjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGZhZTVlMwotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9wcmxpbWl0LjEKQEAgLTAsMCArMSwxMjAgQEAKKy5cIiBwcmxpbWl0LjEgLS0KKy5cIiBDb3B5cmlnaHQgMjAxMSBEYXZpZGxvaHIgQnVlc28gPGRhdmVAZ251Lm9yZz4KKy5cIiBNYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisKKy5USCBQUkxJTUlUIDEgIkp1bHkgMjAxNCIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK3BybGltaXQgXC0gZ2V0IGFuZCBzZXQgcHJvY2VzcyByZXNvdXJjZSBsaW1pdHMKKy5TSCBTWU5PUFNJUworLkJSIHBybGltaXQgIiBbb3B0aW9uc10iCisuUkIgWyBcLVwtXGZJcmVzb3VyY2VcZlIgWyA9XGZJbGltaXRzXGZSXQorLlJCIFsgXC1cLXBpZFwgXGZJUElEXGZSXQorCisuQlIgcHJsaW1pdCAiIFtvcHRpb25zXSIKKy5SQiBbIFwtXC1cZklyZXNvdXJjZVxmUiBbID1cZklsaW1pdHNcZlJdCisuSVIgImNvbW1hbmQgIiBbIGFyZ3VtZW50IC4uLl0KKworLlNIIERFU0NSSVBUSU9OCitHaXZlbiBhIHByb2Nlc3MgSUQgYW5kIG9uZSBvciBtb3JlIHJlc291cmNlcywgXGZCcHJsaW1pdFxmUCB0cmllcyB0byByZXRyaWV2ZQorYW5kL29yIG1vZGlmeSB0aGUgbGltaXRzLgorCitXaGVuIFxmSWNvbW1hbmRcZlIgaXMgZ2l2ZW4sCisuQiBwcmxpbWl0Cit3aWxsIHJ1biB0aGlzIGNvbW1hbmQgd2l0aCB0aGUgZ2l2ZW4gYXJndW1lbnRzLgorCitUaGUgXGZJbGltaXRzXGZQIHBhcmFtZXRlciBpcyBjb21wb3NlZCBvZiBhIHNvZnQgYW5kIGEgaGFyZCB2YWx1ZSwgc2VwYXJhdGVkCitieSBhIGNvbG9uICg6KSwgaW4gb3JkZXIgdG8gbW9kaWZ5IHRoZSBleGlzdGluZyB2YWx1ZXMuICBJZiBubyBcZklsaW1pdHNcZlIgYXJlCitnaXZlbiwgXGZCcHJsaW1pdFxmUCB3aWxsIGRpc3BsYXkgdGhlIGN1cnJlbnQgdmFsdWVzLiAgSWYgb25lIG9mIHRoZSB2YWx1ZXMKK2lzIG5vdCBnaXZlbiwgdGhlbiB0aGUgZXhpc3Rpbmcgb25lIHdpbGwgYmUgdXNlZC4gIFRvIHNwZWNpZnkgdGhlIHVubGltaXRlZCBvcgoraW5maW5pdHkgbGltaXQgKFJMSU1fSU5GSU5JVFkpLCB0aGUgLTEgb3IgJ3VubGltaXRlZCcgc3RyaW5nIGNhbiBiZSBwYXNzZWQuCisKK0JlY2F1c2Ugb2YgdGhlIG5hdHVyZSBvZiBsaW1pdHMsIHRoZSBzb2Z0IGxpbWl0IG11c3QgYmUgbG93ZXIgb3IgZXF1YWwgdG8gdGhlCitoaWdoIGxpbWl0IChhbHNvIGNhbGxlZCB0aGUgY2VpbGluZykuICBUbyBzZWUgYWxsIGF2YWlsYWJsZSByZXNvdXJjZSBsaW1pdHMsCityZWZlciB0byB0aGUgUkVTT1VSQ0UgT1BUSU9OUyBzZWN0aW9uLgorCisuSVAgIlxmSXNvZnRcZlA6XGZJaGFyZFxmUCAgICBTcGVjaWZ5IGJvdGggbGltaXRzLiIKKy5JUCAiXGZJc29mdFxmUDogICAgICAgIFNwZWNpZnkgb25seSB0aGUgc29mdCBsaW1pdC4iCisuSVAgIjpcZkloYXJkXGZQICAgICAgICBTcGVjaWZ5IG9ubHkgdGhlIGhhcmQgbGltaXQuIgorLklQICJcZkl2YWx1ZVxmUCAgICAgICAgU3BlY2lmeSBib3RoIGxpbWl0cyB0byB0aGUgc2FtZSB2YWx1ZS4iCisKKy5TSCBHRU5FUkFMIE9QVElPTlMKKy5JUCAiXGZCXC1oLCBcLVwtaGVscFxmUCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLklQICJcZkJcLVwtbm9oZWFkaW5nc1xmUCIKK0RvIG5vdCBwcmludCBhIGhlYWRlciBsaW5lLgorLklQICJcZkJcLW8sIFwtXC1vdXRwdXQgXGZJbGlzdFxmUCIKK0RlZmluZSB0aGUgb3V0cHV0IGNvbHVtbnMgdG8gdXNlLiAgSWYgbm8gb3V0cHV0IGFycmFuZ2VtZW50IGlzIHNwZWNpZmllZCwKK3RoZW4gYSBkZWZhdWx0IHNldCBpcyB1c2VkLgorVXNlIFxmQlwtXC1oZWxwXGZQIHRvIGdldCBhIGxpc3Qgb2YgYWxsIHN1cHBvcnRlZCBjb2x1bW5zLgorLklQICJcZkJcLXAsIFwtXC1waWRcZlAiCitTcGVjaWZ5IHRoZSBwcm9jZXNzIGlkOyBpZiBub25lIGlzIGdpdmVuLCB0aGUgcnVubmluZyBwcm9jZXNzIHdpbGwgYmUgdXNlZC4KKy5JUCAiXGZCXC1cLXJhd1xmUCIKK1VzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQuCisuSVAgIlxmQlwtXC12ZXJib3NlXGZQIgorVmVyYm9zZSBtb2RlLgorLklQICJcZkJcLVYsIFwtXC12ZXJzaW9uXGZQIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorCisuU0ggUkVTT1VSQ0UgT1BUSU9OUworLklQICJcZkJcLWMsIFwtXC1jb3JlXGZQWz1cZklsaW1pdHNcZlJdIgorTWF4aW11bSBzaXplIG9mIGEgY29yZSBmaWxlLgorLklQICJcZkJcLWQsIFwtXC1kYXRhXGZQWz1cZklsaW1pdHNcZlJdIgorTWF4aW11bSBkYXRhIHNpemUuCisuSVAgIlxmQlwtZSwgXC1cLW5pY2VcZlBbPVxmSWxpbWl0c1xmUl0iCitNYXhpbXVtIG5pY2UgcHJpb3JpdHkgYWxsb3dlZCB0byByYWlzZS4KKy5JUCAiXGZCXC1mLCBcLVwtZnNpemVcZlBbPVxmSWxpbWl0c1xmUl0iCitNYXhpbXVtIGZpbGUgc2l6ZS4KKy5JUCAiXGZCXC1pLCBcLVwtc2lncGVuZGluZ1xmUFs9XGZJbGltaXRzXGZSXSIKK01heGltdW0gbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscy4KKy5JUCAiXGZCXC1sLCBcLVwtbWVtbG9ja1xmUFs9XGZJbGltaXRzXGZSXSIKK01heGltdW0gbG9ja2VkLWluLW1lbW9yeSBhZGRyZXNzIHNwYWNlLgorLklQICJcZkJcLW0sIFwtXC1yc3NcZlBbPVxmSWxpbWl0c1xmUl0iCitNYXhpbXVtIFJlc2lkZW50IFNldCBTaXplIChSU1MpLgorLklQICJcZkJcLW4sIFwtXC1ub2ZpbGVcZlBbPVxmSWxpbWl0c1xmUl0iCitNYXhpbXVtIG51bWJlciBvZiBvcGVuIGZpbGVzLgorLklQICJcZkJcLXEsIFwtXC1tc2dxdWV1ZVxmUFs9XGZJbGltaXRzXGZSXSIKK01heGltdW0gbnVtYmVyIG9mIGJ5dGVzIGluIFBPU0lYIG1lc3NhZ2UgcXVldWVzLgorLklQICJcZkJcLXIsIFwtXC1ydHByaW9cZlBbPVxmSWxpbWl0c1xmUl0iCitNYXhpbXVtIHJlYWwtdGltZSBwcmlvcml0eS4KKy5JUCAiXGZCXC1zLCBcLVwtc3RhY2tcZlBbPVxmSWxpbWl0c1xmUl0iCitNYXhpbXVtIHNpemUgb2YgdGhlIHN0YWNrLgorLklQICJcZkJcLXQsIFwtXC1jcHVcZlBbPVxmSWxpbWl0c1xmUl0iCitDUFUgdGltZSwgaW4gc2Vjb25kcy4KKy5JUCAiXGZCXC11LCBcLVwtbnByb2NcZlBbPVxmSWxpbWl0c1xmUl0iCitNYXhpbXVtIG51bWJlciBvZiBwcm9jZXNzZXMuCisuSVAgIlxmQlwtdiwgXC1cLWFzXGZQWz1cZklsaW1pdHNcZlJdIgorQWRkcmVzcyBzcGFjZSBsaW1pdC4KKy5JUCAiXGZCXC14LCBcLVwtbG9ja3NcZlBbPVxmSWxpbWl0c1xmUl0iCitNYXhpbXVtIG51bWJlciBvZiBmaWxlIGxvY2tzIGhlbGQuCisuSVAgIlxmQlwteSwgXC1cLXJ0dGltZVxmUFs9XGZJbGltaXRzXGZSXSIKK1RpbWVvdXQgZm9yIHJlYWwtdGltZSB0YXNrcy4KKworLlNIIEVYQU1QTEVTCisuSVAgIlxmQnBybGltaXQgXC1cLXBpZCAxMzEzNFxmUCIKK0Rpc3BsYXkgbGltaXQgdmFsdWVzIGZvciBhbGwgY3VycmVudCByZXNvdXJjZXMuCisuSVAgIlxmQnBybGltaXQgXC1cLXBpZCAxMzEzNCBcLS1yc3MgLS1ub2ZpbGU9MTAyNDo0MDk1XGZQIgorRGlzcGxheSB0aGUgbGltaXRzIG9mIHRoZSBSU1MsIGFuZCBzZXQgdGhlIHNvZnQgYW5kIGhhcmQgbGltaXRzIGZvciB0aGUgbnVtYmVyCitvZiBvcGVuIGZpbGVzIHRvIDEwMjQgYW5kIDQwOTUsIHJlc3BlY3RpdmVseS4KKy5JUCAiXGZCcHJsaW1pdCBcLVwtcGlkIDEzMTM0IC0tbnByb2M9NTEyOlxmUCIKK01vZGlmeSBvbmx5IHRoZSBzb2Z0IGxpbWl0IGZvciB0aGUgbnVtYmVyIG9mIHByb2Nlc3Nlcy4KKy5JUCAiXGZCcHJsaW1pdCBcLVwtcGlkICQkIC0tbnByb2M9dW5saW1pdGVkXGZQIgorU2V0IGZvciB0aGUgY3VycmVudCBwcm9jZXNzIGJvdGggdGhlIHNvZnQgYW5kIGNlaWxpbmcgdmFsdWVzIGZvciB0aGUgbnVtYmVyIG9mCitwcm9jZXNzZXMgdG8gdW5saW1pdGVkLgorLklQICJcZkJwcmxpbWl0IC0tY3B1PTEwIHNvcnQgLXUgaHVnZWZpbGVcZlAiCitTZXQgYm90aCB0aGUgc29mdCBhbmQgaGFyZCBDUFUgdGltZSBsaW1pdCB0byB0ZW4gc2Vjb25kcyBhbmQgcnVuICdzb3J0Jy4KKworLlNIICJTRUUgQUxTTyIKKy5CUiB1bGltaXQgKDEpLAorLkJSIHBybGltaXQgKDIpCisKKy5TSCBOT1RFUworVGhlIHBybGltaXQgc3lzdGVtIGNhbGwgaXMgc3VwcG9ydGVkIHNpbmNlIExpbnV4IDIuNi4zNiwgb2xkZXIga2VybmVscyB3aWxsCiticmVhayB0aGlzIHByb2dyYW0uCisKKy5TSCBBVVRIT1JTCisubmYKK0RhdmlkbG9ociBCdWVzbyA8ZGF2ZUBnbnUub3JnPiAtIEluIG1lbW9yeSBvZiBEZW5uaXMgTS4gUml0Y2hpZS4KKy5maQorLlNIIEFWQUlMQUJJTElUWQorVGhlIHBybGltaXQgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvcHJsaW1pdC5jIGIvc3lzLXV0aWxzL3BybGltaXQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjQ0ZGRiCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL3BybGltaXQuYwpAQCAtMCwwICsxLDY0OCBAQAorLyoKKyAqICBwcmxpbWl0IC0gZ2V0L3NldCBwcm9jZXNzIHJlc291cmNlIGxpbWl0cy4KKyAqCisgKiAgQ29weXJpZ2h0IChDKSAyMDExIERhdmlkbG9ociBCdWVzbyA8ZGF2ZUBnbnUub3JnPgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworICogIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisgKiAgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqLworCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3lzL3Jlc291cmNlLmg+CisKKyNpbmNsdWRlIDxsaWJzbWFydGNvbHMuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgImxpc3QuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCisjaWZuZGVmIFJMSU1JVF9SVFRJTUUKKyMgZGVmaW5lIFJMSU1JVF9SVFRJTUUgMTUKKyNlbmRpZgorCitlbnVtIHsKKwlBUywKKwlDT1JFLAorCUNQVSwKKwlEQVRBLAorCUZTSVpFLAorCUxPQ0tTLAorCU1FTUxPQ0ssCisJTVNHUVVFVUUsCisJTklDRSwKKwlOT0ZJTEUsCisJTlBST0MsCisJUlNTLAorCVJUUFJJTywKKwlSVFRJTUUsCisJU0lHUEVORElORywKKwlTVEFDSworfTsKKworLyogYmFzaWMgb3V0cHV0IGZsYWdzICovCitzdGF0aWMgaW50IG5vX2hlYWRpbmdzOworc3RhdGljIGludCByYXc7CisKK3N0cnVjdCBwcmxpbWl0X2Rlc2MgeworCWNvbnN0IGNoYXIgKm5hbWU7CisJY29uc3QgY2hhciAqaGVscDsKKwljb25zdCBjaGFyICp1bml0OworCWludCByZXNvdXJjZTsKK307CisKK3N0YXRpYyBzdHJ1Y3QgcHJsaW1pdF9kZXNjIHBybGltaXRfZGVzY1tdID0KK3sKKwlbQVNdICAgICAgICAgPSB7ICJBUyIsICAgICAgICAgTl8oImFkZHJlc3Mgc3BhY2UgbGltaXQiKSwgICAgICAgICAgICAgICAgTl8oImJ5dGVzIiksICAgICBSTElNSVRfQVMgfSwKKwlbQ09SRV0gICAgICAgPSB7ICJDT1JFIiwgICAgICAgTl8oIm1heCBjb3JlIGZpbGUgc2l6ZSIpLCAgICAgICAgICAgICAgICAgTl8oImJ5dGVzIiksICAgICBSTElNSVRfQ09SRSB9LAorCVtDUFVdICAgICAgICA9IHsgIkNQVSIsICAgICAgICBOXygiQ1BVIHRpbWUiKSwgICAgICAgICAgICAgICAgICAgICAgICAgICBOXygic2Vjb25kcyIpLCAgIFJMSU1JVF9DUFUgfSwKKwlbREFUQV0gICAgICAgPSB7ICJEQVRBIiwgICAgICAgTl8oIm1heCBkYXRhIHNpemUiKSwgICAgICAgICAgICAgICAgICAgICAgTl8oImJ5dGVzIiksICAgICBSTElNSVRfREFUQSB9LAorCVtGU0laRV0gICAgICA9IHsgIkZTSVpFIiwgICAgICBOXygibWF4IGZpbGUgc2l6ZSIpLCAgICAgICAgICAgICAgICAgICAgICBOXygiYnl0ZXMiKSwgICAgIFJMSU1JVF9GU0laRSB9LAorCVtMT0NLU10gICAgICA9IHsgIkxPQ0tTIiwgICAgICBOXygibWF4IG51bWJlciBvZiBmaWxlIGxvY2tzIGhlbGQiKSwgICAgICBOXygibG9ja3MiKSwgICAgIFJMSU1JVF9MT0NLUyB9LAorCVtNRU1MT0NLXSAgICA9IHsgIk1FTUxPQ0siLCAgICBOXygibWF4IGxvY2tlZC1pbi1tZW1vcnkgYWRkcmVzcyBzcGFjZSIpLCBOXygiYnl0ZXMiKSwgICAgIFJMSU1JVF9NRU1MT0NLIH0sCisJW01TR1FVRVVFXSAgID0geyAiTVNHUVVFVUUiLCAgIE5fKCJtYXggYnl0ZXMgaW4gUE9TSVggbXF1ZXVlcyIpLCAgICAgICAgIE5fKCJieXRlcyIpLCAgICAgUkxJTUlUX01TR1FVRVVFIH0sCisJW05JQ0VdICAgICAgID0geyAiTklDRSIsICAgICAgIE5fKCJtYXggbmljZSBwcmlvIGFsbG93ZWQgdG8gcmFpc2UiKSwgICAgIE5VTEwsICAgICAgICAgICAgUkxJTUlUX05JQ0UgfSwKKwlbTk9GSUxFXSAgICAgPSB7ICJOT0ZJTEUiLCAgICAgTl8oIm1heCBudW1iZXIgb2Ygb3BlbiBmaWxlcyIpLCAgICAgICAgICAgTl8oImZpbGVzIiksICAgICBSTElNSVRfTk9GSUxFIH0sCisJW05QUk9DXSAgICAgID0geyAiTlBST0MiLCAgICAgIE5fKCJtYXggbnVtYmVyIG9mIHByb2Nlc3NlcyIpLCAgICAgICAgICAgIE5fKCJwcm9jZXNzZXMiKSwgUkxJTUlUX05QUk9DIH0sCisJW1JTU10gICAgICAgID0geyAiUlNTIiwgICAgICAgIE5fKCJtYXggcmVzaWRlbnQgc2V0IHNpemUiKSwgICAgICAgICAgICAgIE5fKCJieXRlcyIpLCAgICAgUkxJTUlUX1JTUyB9LAorCVtSVFBSSU9dICAgICA9IHsgIlJUUFJJTyIsICAgICBOXygibWF4IHJlYWwtdGltZSBwcmlvcml0eSIpLCAgICAgICAgICAgICBOVUxMLCAgICAgICAgICAgIFJMSU1JVF9SVFBSSU8gfSwKKwlbUlRUSU1FXSAgICAgPSB7ICJSVFRJTUUiLCAgICAgTl8oInRpbWVvdXQgZm9yIHJlYWwtdGltZSB0YXNrcyIpLCAgICAgICAgTl8oIm1pY3Jvc2VjcyIpLCBSTElNSVRfUlRUSU1FIH0sCisJW1NJR1BFTkRJTkddID0geyAiU0lHUEVORElORyIsIE5fKCJtYXggbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscyIpLCAgICAgIE5fKCJzaWduYWxzIiksICAgUkxJTUlUX1NJR1BFTkRJTkcgfSwKKwlbU1RBQ0tdICAgICAgPSB7ICJTVEFDSyIsICAgICAgTl8oIm1heCBzdGFjayBzaXplIiksICAgICAgICAgICAgICAgICAgICAgTl8oImJ5dGVzIiksICAgICBSTElNSVRfU1RBQ0sgfQorfTsKKworI2RlZmluZSBNQVhfUkVTT1VSQ0VTIEFSUkFZX1NJWkUocHJsaW1pdF9kZXNjKQorCitzdHJ1Y3QgcHJsaW1pdCB7CisJc3RydWN0IGxpc3RfaGVhZCBsaW1zOworCisJc3RydWN0IHJsaW1pdCBybGltOworCXN0cnVjdCBwcmxpbWl0X2Rlc2MgKmRlc2M7CisJaW50IG1vZGlmeTsJCQkvKiBQUkxJTUlUX3tTT0ZULEhBUkR9IG1hc2sgKi8KK307CisKKyNkZWZpbmUgUFJMSU1JVF9FTVBUWV9MSU1JVAl7eyAwLCAwLCB9LCBOVUxMLCAwIH0KKworZW51bSB7CisJQ09MX0hFTFAsCisJQ09MX1JFUywKKwlDT0xfU09GVCwKKwlDT0xfSEFSRCwKKwlDT0xfVU5JVFMsCit9OworCisvKiBjb2x1bW4gbmFtZXMgKi8KK3N0cnVjdCBjb2xpbmZvIHsKKwljb25zdCBjaGFyCSpuYW1lOwkvKiBoZWFkZXIgKi8KKwlkb3VibGUJCXdoaW50OwkvKiB3aWR0aCBoaW50IChOIDwgMSBpcyBpbiBwZXJjZW50IG9mIHRlcm13aWR0aCkgKi8KKwlpbnQJCWZsYWdzOwkvKiBTQ09MU19GTF8qICovCisJY29uc3QgY2hhciAgICAgICpoZWxwOworfTsKKworLyogY29sdW1ucyBkZXNjcmlwdGlvbnMgKi8KK3N0cnVjdCBjb2xpbmZvIGluZm9zW10gPSB7CisJW0NPTF9SRVNdICAgICA9IHsgIlJFU09VUkNFIiwgICAgMC4yNSwgU0NPTFNfRkxfVFJVTkMsIE5fKCJyZXNvdXJjZSBuYW1lIikgfSwKKwlbQ09MX0hFTFBdICAgID0geyAiREVTQ1JJUFRJT04iLCAwLjEsICBTQ09MU19GTF9UUlVOQywgTl8oInJlc291cmNlIGRlc2NyaXB0aW9uIil9LAorCVtDT0xfU09GVF0gICAgPSB7ICJTT0ZUIiwgICAgICAgIDAuMSwgIFNDT0xTX0ZMX1JJR0hULCBOXygic29mdCBsaW1pdCIpfSwKKwlbQ09MX0hBUkRdICAgID0geyAiSEFSRCIsICAgICAgICAxLCAgICBTQ09MU19GTF9SSUdIVCwgTl8oImhhcmQgbGltaXQgKGNlaWxpbmcpIil9LAorCVtDT0xfVU5JVFNdICAgPSB7ICJVTklUUyIsICAgICAgIDAuMSwgIFNDT0xTX0ZMX1RSVU5DLCBOXygidW5pdHMiKX0sCit9OworCitzdGF0aWMgaW50IGNvbHVtbnNbQVJSQVlfU0laRShpbmZvcykgKiAyXTsKK3N0YXRpYyBpbnQgbmNvbHVtbnM7CisKKworCisjZGVmaW5lIElORklOSVRZX1NUUgkidW5saW1pdGVkIgorI2RlZmluZSBJTkZJTklUWV9TVFJMRU4JKHNpemVvZihJTkZJTklUWV9TVFIpIC0gMSkKKworI2RlZmluZSBQUkxJTUlUX1NPRlQJKDEgPDwgMSkKKyNkZWZpbmUgUFJMSU1JVF9IQVJECSgxIDw8IDIpCisKK3N0YXRpYyBwaWRfdCBwaWQ7IC8qIGNhbGxpbmcgcHJvY2VzcyAoZGVmYXVsdCkgKi8KK3N0YXRpYyBpbnQgdmVyYm9zZTsKKworI2lmbmRlZiBIQVZFX1BSTElNSVQKKyMgaW5jbHVkZSA8c3lzL3N5c2NhbGwuaD4KK3N0YXRpYyBpbnQgcHJsaW1pdChwaWRfdCBwLCBpbnQgcmVzb3VyY2UsCisJCSAgIGNvbnN0IHN0cnVjdCBybGltaXQgKm5ld19saW1pdCwKKwkJICAgc3RydWN0IHJsaW1pdCAqb2xkX2xpbWl0KQoreworCXJldHVybiBzeXNjYWxsKFNZU19wcmxpbWl0NjQsIHAsIHJlc291cmNlLCBuZXdfbGltaXQsIG9sZF9saW1pdCk7Cit9CisjZW5kaWYKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXyAoKF9fbm9yZXR1cm5fXykpIHVzYWdlKEZJTEUgKiBvdXQpCit7CisJc2l6ZV90IGk7CisKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisKKwlmcHJpbnRmKG91dCwKKwkJXygiICVzIFtvcHRpb25zXSBbLXAgUElEXVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKwlmcHJpbnRmKG91dCwKKwkJXygiICVzIFtvcHRpb25zXSBDT01NQU5EXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlNob3cgb3IgY2hhbmdlIHRoZSByZXNvdXJjZSBsaW1pdHMgb2YgYSBwcm9jZXNzLlxuIiksIG91dCk7CisKKwlmcHV0cyhfKCJcbkdlbmVyYWwgT3B0aW9uczpcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHByb2Nlc3MgaWRcbiIKKwkJIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKwkJIiAgICAgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCisJCSIgICAgIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCisJCSIgICAgIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG91dHB1dFxuIgorCQkiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKwkJIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iKSwgb3V0KTsKKworCWZwdXRzKF8oIlxuUmVzb3VyY2VzIE9wdGlvbnM6XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWMsIC0tY29yZSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgY29yZSBmaWxlcyBjcmVhdGVkXG4iCisJCSIgLWQsIC0tZGF0YSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgYSBwcm9jZXNzJ3MgZGF0YSBzZWdtZW50XG4iCisJCSIgLWUsIC0tbmljZSAgICAgICAgICAgICBtYXhpbXVtIG5pY2UgcHJpb3JpdHkgYWxsb3dlZCB0byByYWlzZVxuIgorCQkiIC1mLCAtLWZzaXplICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlIHByb2Nlc3NcbiIKKwkJIiAtaSwgLS1zaWdwZW5kaW5nICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFsc1xuIgorCQkiIC1sLCAtLW1lbWxvY2sgICAgICAgICAgbWF4aW11bSBzaXplIGEgcHJvY2VzcyBtYXkgbG9jayBpbnRvIG1lbW9yeVxuIgorCQkiIC1tLCAtLXJzcyAgICAgICAgICAgICAgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZVxuIgorCQkiIC1uLCAtLW5vZmlsZSAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2Ygb3BlbiBmaWxlc1xuIgorCQkiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgbWF4aW11bSBieXRlcyBpbiBQT1NJWCBtZXNzYWdlIHF1ZXVlc1xuIgorCQkiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eVxuIgorCQkiIC1zLCAtLXN0YWNrICAgICAgICAgICAgbWF4aW11bSBzdGFjayBzaXplXG4iCisJCSIgLXQsIC0tY3B1ICAgICAgICAgICAgICBtYXhpbXVtIGFtb3VudCBvZiBDUFUgdGltZSBpbiBzZWNvbmRzXG4iCisJCSIgLXUsIC0tbnByb2MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiB1c2VyIHByb2Nlc3Nlc1xuIgorCQkiIC12LCAtLWFzICAgICAgICAgICAgICAgc2l6ZSBvZiB2aXJ0dWFsIG1lbW9yeVxuIgorCQkiIC14LCAtLWxvY2tzICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgZmlsZSBsb2Nrc1xuIgorCQkiIC15LCAtLXJ0dGltZSAgICAgICAgICAgQ1BVIHRpbWUgaW4gbWljcm9zZWNvbmRzIGEgcHJvY2VzcyBzY2hlZHVsZWRcbiIKKwkJIiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVyIHJlYWwtdGltZSBzY2hlZHVsaW5nXG4iKSwgb3V0KTsKKworCWZwdXRzKF8oIlxuQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLW91dHB1dCk6XG4iKSwgb3V0KTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGluZm9zKTsgaSsrKQorCQlmcHJpbnRmKG91dCwgIiAlMTFzICAlc1xuIiwgaW5mb3NbaV0ubmFtZSwgXyhpbmZvc1tpXS5oZWxwKSk7CisKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoInBybGltaXQoMSkiKSk7CisKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgaW5saW5lIGludCBnZXRfY29sdW1uX2lkKGludCBudW0pCit7CisJYXNzZXJ0KG51bSA8IG5jb2x1bW5zKTsKKwlhc3NlcnQoY29sdW1uc1tudW1dIDwgKGludCkgQVJSQVlfU0laRShpbmZvcykpOworCisJcmV0dXJuIGNvbHVtbnNbbnVtXTsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgY29saW5mbyAqZ2V0X2NvbHVtbl9pbmZvKHVuc2lnbmVkIG51bSkKK3sKKwlyZXR1cm4gJmluZm9zWyBnZXRfY29sdW1uX2lkKG51bSkgXTsKK30KKworc3RhdGljIHZvaWQgYWRkX3Njb2xzX2xpbmUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YWJsZSwgc3RydWN0IHBybGltaXQgKmwpCit7CisJaW50IGk7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxpbmU7CisKKwlhc3NlcnQodGFibGUpOworCWFzc2VydChsKTsKKworCWxpbmUgPSBzY29sc190YWJsZV9uZXdfbGluZSh0YWJsZSwgTlVMTCk7CisJaWYgKCFsaW5lKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgbGluZSIpKTsKKworCWZvciAoaSA9IDA7IGkgPCBuY29sdW1uczsgaSsrKSB7CisJCWNoYXIgKnN0ciA9IE5VTEw7CisKKwkJc3dpdGNoIChnZXRfY29sdW1uX2lkKGkpKSB7CisJCWNhc2UgQ09MX1JFUzoKKwkJCXN0ciA9IHhzdHJkdXAobC0+ZGVzYy0+bmFtZSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfSEVMUDoKKwkJCXN0ciA9IHhzdHJkdXAobC0+ZGVzYy0+aGVscCk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfU09GVDoKKwkJCWlmIChsLT5ybGltLnJsaW1fY3VyID09IFJMSU1fSU5GSU5JVFkpCisJCQkJc3RyID0geHN0cmR1cChfKCJ1bmxpbWl0ZWQiKSk7CisJCQllbHNlCisJCQkJeGFzcHJpbnRmKCZzdHIsICIlbGx1IiwgKHVuc2lnbmVkIGxvbmcgbG9uZykgbC0+cmxpbS5ybGltX2N1cik7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfSEFSRDoKKwkJCWlmIChsLT5ybGltLnJsaW1fbWF4ID09IFJMSU1fSU5GSU5JVFkpCisJCQkJc3RyID0geHN0cmR1cChfKCJ1bmxpbWl0ZWQiKSk7CisJCQllbHNlCisJCQkJeGFzcHJpbnRmKCZzdHIsICIlbGx1IiwgKHVuc2lnbmVkIGxvbmcgbG9uZykgbC0+cmxpbS5ybGltX21heCk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfVU5JVFM6CisJCQlzdHIgPSBsLT5kZXNjLT51bml0ID8geHN0cmR1cChfKGwtPmRlc2MtPnVuaXQpKSA6IE5VTEw7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWJyZWFrOworCQl9CisKKwkJaWYgKHN0cikKKwkJCXNjb2xzX2xpbmVfcmVmZXJfZGF0YShsaW5lLCBpLCBzdHIpOworCX0KK30KKworc3RhdGljIGludCBjb2x1bW5fbmFtZV90b19pZChjb25zdCBjaGFyICpuYW1lLCBzaXplX3QgbmFtZXN6KQoreworCXNpemVfdCBpOworCisJYXNzZXJ0KG5hbWUpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoaW5mb3MpOyBpKyspIHsKKwkJY29uc3QgY2hhciAqY24gPSBpbmZvc1tpXS5uYW1lOworCisJCWlmICghc3RybmNhc2VjbXAobmFtZSwgY24sIG5hbWVzeikgJiYgISooY24gKyBuYW1lc3opKQorCQkJcmV0dXJuIGk7CisJfQorCXdhcm54KF8oInVua25vd24gY29sdW1uOiAlcyIpLCBuYW1lKTsKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyB2b2lkIHJlbV9wcmxpbShzdHJ1Y3QgcHJsaW1pdCAqbGltKQoreworCWlmICghbGltKQorCQlyZXR1cm47CisJbGlzdF9kZWwoJmxpbS0+bGltcyk7CisJZnJlZShsaW0pOworfQorCitzdGF0aWMgaW50IHNob3dfbGltaXRzKHN0cnVjdCBsaXN0X2hlYWQgKmxpbXMpCit7CisJaW50IGk7CisJc3RydWN0IGxpc3RfaGVhZCAqcCwgKnBuZXh0OworCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGFibGU7CisKKwl0YWJsZSA9IHNjb2xzX25ld190YWJsZSgpOworCWlmICghdGFibGUpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCB0YWJsZSIpKTsKKworCXNjb2xzX3RhYmxlX2VuYWJsZV9yYXcodGFibGUsIHJhdyk7CisJc2NvbHNfdGFibGVfZW5hYmxlX25vaGVhZGluZ3ModGFibGUsIG5vX2hlYWRpbmdzKTsKKworCWZvciAoaSA9IDA7IGkgPCBuY29sdW1uczsgaSsrKSB7CisJCXN0cnVjdCBjb2xpbmZvICpjb2wgPSBnZXRfY29sdW1uX2luZm8oaSk7CisKKwkJaWYgKCFzY29sc190YWJsZV9uZXdfY29sdW1uKHRhYmxlLCBjb2wtPm5hbWUsIGNvbC0+d2hpbnQsIGNvbC0+ZmxhZ3MpKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIpKTsKKwl9CisKKworCWxpc3RfZm9yX2VhY2hfc2FmZShwLCBwbmV4dCwgbGltcykgeworCQlzdHJ1Y3QgcHJsaW1pdCAqbGltID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgcHJsaW1pdCwgbGltcyk7CisKKwkJYWRkX3Njb2xzX2xpbmUodGFibGUsIGxpbSk7CisJCXJlbV9wcmxpbShsaW0pOworCX0KKworCXNjb2xzX3ByaW50X3RhYmxlKHRhYmxlKTsKKwlzY29sc191bnJlZl90YWJsZSh0YWJsZSk7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBJZiBvbmUgb2YgdGhlIGxpbWl0cyBpcyB1bmtub3duIChkZWZhdWx0IHZhbHVlIGZvciBub3QgYmVpbmcgcGFzc2VkKSwgd2UKKyAqIG5lZWQgdG8gZ2V0IHRoZSBjdXJyZW50IGxpbWl0IGFuZCB1c2UgaXQuICBJIHNlZSBubyBvdGhlciB3YXkgb3RoZXIgdGhhbgorICogdXNpbmcgcHJsaW1pdCgyKS4KKyAqLworc3RhdGljIHZvaWQgZ2V0X3Vua25vd25faGFyZHNvZnQoc3RydWN0IHBybGltaXQgKmxpbSkKK3sKKwlzdHJ1Y3QgcmxpbWl0IG9sZDsKKworCWlmIChwcmxpbWl0KHBpZCwgbGltLT5kZXNjLT5yZXNvdXJjZSwgTlVMTCwgJm9sZCkgPT0gLTEpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBnZXQgb2xkICVzIGxpbWl0IiksCisJCQkJbGltLT5kZXNjLT5uYW1lKTsKKworCWlmICghKGxpbS0+bW9kaWZ5ICYgUFJMSU1JVF9TT0ZUKSkKKwkJbGltLT5ybGltLnJsaW1fY3VyID0gb2xkLnJsaW1fY3VyOworCWVsc2UgaWYgKCEobGltLT5tb2RpZnkgJiBQUkxJTUlUX0hBUkQpKQorCQlsaW0tPnJsaW0ucmxpbV9tYXggPSBvbGQucmxpbV9tYXg7Cit9CisKK3N0YXRpYyB2b2lkIGRvX3BybGltaXQoc3RydWN0IGxpc3RfaGVhZCAqbGltcykKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwLCAqcG5leHQ7CisKKwlsaXN0X2Zvcl9lYWNoX3NhZmUocCwgcG5leHQsIGxpbXMpIHsKKwkJc3RydWN0IHJsaW1pdCAqbmV3ID0gTlVMTCwgKm9sZCA9IE5VTEw7CisJCXN0cnVjdCBwcmxpbWl0ICpsaW0gPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBwcmxpbWl0LCBsaW1zKTsKKworCQlpZiAobGltLT5tb2RpZnkpIHsKKwkJCWlmIChsaW0tPm1vZGlmeSAhPSAoUFJMSU1JVF9IQVJEIHwgUFJMSU1JVF9TT0ZUKSkKKwkJCQlnZXRfdW5rbm93bl9oYXJkc29mdChsaW0pOworCisJCQlpZiAoKGxpbS0+cmxpbS5ybGltX2N1ciA+IGxpbS0+cmxpbS5ybGltX21heCkgJiYKKwkJCQkobGltLT5ybGltLnJsaW1fY3VyICE9IFJMSU1fSU5GSU5JVFkgfHwKKwkJCQkgbGltLT5ybGltLnJsaW1fbWF4ICE9IFJMSU1fSU5GSU5JVFkpKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ0aGUgc29mdCBsaW1pdCAlcyBjYW5ub3QgZXhjZWVkIHRoZSBoYXJkIGxpbWl0IiksCisJCQkJCQlsaW0tPmRlc2MtPm5hbWUpOworCQkJbmV3ID0gJmxpbS0+cmxpbTsKKwkJfSBlbHNlCisJCQlvbGQgPSAmbGltLT5ybGltOworCisJCWlmICh2ZXJib3NlICYmIG5ldykgeworCQkJcHJpbnRmKF8oIk5ldyAlcyBsaW1pdCBmb3IgcGlkICVkOiAiKSwgbGltLT5kZXNjLT5uYW1lLAorCQkJCXBpZCA/IHBpZCA6IGdldHBpZCgpKTsKKwkJCWlmIChuZXctPnJsaW1fY3VyID09IFJMSU1fSU5GSU5JVFkpCisJCQkJcHJpbnRmKCI8JXMiLCBfKCJ1bmxpbWl0ZWQiKSk7CisJCQllbHNlCisJCQkJcHJpbnRmKCI8JWp1IiwgbmV3LT5ybGltX2N1cik7CisKKwkJCWlmIChuZXctPnJsaW1fbWF4ID09IFJMSU1fSU5GSU5JVFkpCisJCQkJcHJpbnRmKCI6JXM+XG4iLCBfKCJ1bmxpbWl0ZWQiKSk7CisJCQllbHNlCisJCQkJcHJpbnRmKCI6JWp1PlxuIiwgbmV3LT5ybGltX21heCk7CisJCX0KKworCQlpZiAocHJsaW1pdChwaWQsIGxpbS0+ZGVzYy0+cmVzb3VyY2UsIG5ldywgb2xkKSA9PSAtMSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIGxpbS0+bW9kaWZ5ID8KKwkJCQlfKCJmYWlsZWQgdG8gc2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIpIDoKKwkJCQlfKCJmYWlsZWQgdG8gZ2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIpLAorCQkJCWxpbS0+ZGVzYy0+bmFtZSk7CisKKwkJaWYgKGxpbS0+bW9kaWZ5KQorCQkJcmVtX3BybGltKGxpbSk7CQkvKiBtb2RpZnkgb25seTsgZG9uJ3Qgc2hvdyAqLworCX0KK30KKworc3RhdGljIGludCBnZXRfcmFuZ2UoY2hhciAqc3RyLCBybGltX3QgKnNvZnQsIHJsaW1fdCAqaGFyZCwgaW50ICpmb3VuZCkKK3sKKwljaGFyICplbmQgPSBOVUxMOworCisJaWYgKCFzdHIpCisJCXJldHVybiAwOworCisJKmZvdW5kID0gZXJybm8gPSAwOworCSpzb2Z0ID0gKmhhcmQgPSBSTElNX0lORklOSVRZOworCisJaWYgKCFzdHJjbXAoc3RyLCBJTkZJTklUWV9TVFIpKSB7CQkvKiA8dW5saW1pdGVkPiAqLworCQkqZm91bmQgfD0gUFJMSU1JVF9TT0ZUIHwgUFJMSU1JVF9IQVJEOworCQlyZXR1cm4gMDsKKworCX0gZWxzZSBpZiAoKnN0ciA9PSAnOicpIHsJCQkvKiA8OmhhcmQ+ICovCisJCXN0cisrOworCisJCWlmIChzdHJjbXAoc3RyLCBJTkZJTklUWV9TVFIpICE9IDApIHsKKwkJCSpoYXJkID0gc3RydG91bGwoc3RyLCAmZW5kLCAxMCk7CisKKwkJCWlmIChlcnJubyB8fCAhZW5kIHx8ICplbmQgfHwgZW5kID09IHN0cikKKwkJCQlyZXR1cm4gLTE7CisJCX0KKwkJKmZvdW5kIHw9IFBSTElNSVRfSEFSRDsKKwkJcmV0dXJuIDA7CisKKwl9CisKKwlpZiAoc3RybmNtcChzdHIsIElORklOSVRZX1NUUiwgSU5GSU5JVFlfU1RSTEVOKSA9PSAwKSB7CisJCS8qIDx1bmxpbWl0ZWQ+IG9yIDx1bmxpbWl0ZWQ6PiAqLworCQllbmQgPSBzdHIgKyBJTkZJTklUWV9TVFJMRU47CisJfSBlbHNlIHsKKwkJLyogPHZhbHVlPiBvciA8c29mdDo+ICovCisJCSpoYXJkID0gKnNvZnQgPSBzdHJ0b3VsbChzdHIsICZlbmQsIDEwKTsKKwkJaWYgKGVycm5vIHx8ICFlbmQgfHwgZW5kID09IHN0cikKKwkJCXJldHVybiAtMTsKKwl9CisKKwlpZiAoKmVuZCA9PSAnOicgJiYgISooZW5kICsgMSkpCQkJLyogPHNvZnQ6PiAqLworCQkqZm91bmQgfD0gUFJMSU1JVF9TT0ZUOworCisJZWxzZSBpZiAoKmVuZCA9PSAnOicpIHsJCQkJLyogPHNvZnQ6aGFyZD4gKi8KKwkJc3RyID0gZW5kICsgMTsKKworCQlpZiAoIXN0cmNtcChzdHIsIElORklOSVRZX1NUUikpCisJCQkqaGFyZCA9ICBSTElNX0lORklOSVRZOworCQllbHNlIHsKKwkJCWVuZCA9IE5VTEw7CisJCQllcnJubyA9IDA7CisJCQkqaGFyZCA9IHN0cnRvdWxsKHN0ciwgJmVuZCwgMTApOworCisJCQlpZiAoZXJybm8gfHwgIWVuZCB8fCAqZW5kIHx8IGVuZCA9PSBzdHIpCisJCQkJcmV0dXJuIC0xOworCQl9CisJCSpmb3VuZCB8PSBQUkxJTUlUX1NPRlQgfCBQUkxJTUlUX0hBUkQ7CisKKwl9IGVsc2UJCQkJCQkvKiA8dmFsdWU+ICovCisJCSpmb3VuZCB8PSBQUkxJTUlUX1NPRlQgfCBQUkxJTUlUX0hBUkQ7CisKKwlyZXR1cm4gMDsKK30KKworCitzdGF0aWMgaW50IHBhcnNlX3BybGltKHN0cnVjdCBybGltaXQgKmxpbSwgY2hhciAqb3BzLCBzaXplX3QgaWQpCit7CisJcmxpbV90IHNvZnQsIGhhcmQ7CisJaW50IGZvdW5kID0gMDsKKworCWlmIChnZXRfcmFuZ2Uob3BzLCAmc29mdCwgJmhhcmQsICZmb3VuZCkpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gcGFyc2UgJXMgbGltaXQiKSwKKwkJICAgICBwcmxpbWl0X2Rlc2NbaWRdLm5hbWUpOworCisJbGltLT5ybGltX2N1ciA9IHNvZnQ7CisJbGltLT5ybGltX21heCA9IGhhcmQ7CisKKwlyZXR1cm4gZm91bmQ7Cit9CisKK3N0YXRpYyBpbnQgYWRkX3BybGltKGNoYXIgKm9wcywgc3RydWN0IGxpc3RfaGVhZCAqbGltcywgc2l6ZV90IGlkKQoreworCXN0cnVjdCBwcmxpbWl0ICpsaW0gPSB4Y2FsbG9jKDEsIHNpemVvZigqbGltKSk7CisKKwlJTklUX0xJU1RfSEVBRCgmbGltLT5saW1zKTsKKwlsaW0tPmRlc2MgPSAmcHJsaW1pdF9kZXNjW2lkXTsKKworCWlmIChvcHMpCisJCWxpbS0+bW9kaWZ5ID0gcGFyc2VfcHJsaW0oJmxpbS0+cmxpbSwgb3BzLCBpZCk7CisKKwlsaXN0X2FkZF90YWlsKCZsaW0tPmxpbXMsIGxpbXMpOworCXJldHVybiAwOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IG9wdDsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGxpbXM7CisKKwllbnVtIHsKKwkJVkVSQk9TRV9PUFRJT04gPSBDSEFSX01BWCArIDEsCisJCVJBV19PUFRJT04sCisJCU5PSEVBRElOR1NfT1BUSU9OCisJfTsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsgInBpZCIsCXJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAncCcgfSwKKwkJeyAib3V0cHV0IiwgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbycgfSwKKwkJeyAiYXMiLCAgICAgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAndicgfSwKKwkJeyAiY29yZSIsICAgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAnYycgfSwKKwkJeyAiY3B1IiwgICAgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAndCcgfSwKKwkJeyAiZGF0YSIsICAgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAnZCcgfSwKKwkJeyAiZnNpemUiLCAgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAnZicgfSwKKwkJeyAibG9ja3MiLCAgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAneCcgfSwKKwkJeyAibWVtbG9jayIsICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAnbCcgfSwKKwkJeyAibXNncXVldWUiLCAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAncScgfSwKKwkJeyAibmljZSIsICAgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAnZScgfSwKKwkJeyAibm9maWxlIiwgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAnbicgfSwKKwkJeyAibnByb2MiLCAgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAndScgfSwKKwkJeyAicnNzIiwgICAgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAnbScgfSwKKwkJeyAicnRwcmlvIiwgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAncicgfSwKKwkJeyAicnR0aW1lIiwgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAneScgfSwKKwkJeyAic2lncGVuZGluZyIsIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAnaScgfSwKKwkJeyAic3RhY2siLCAgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAncycgfSwKKwkJeyAidmVyc2lvbiIsICAgIG5vX2FyZ3VtZW50LCBOVUxMLCAnVicgfSwKKwkJeyAiaGVscCIsICAgICAgIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCcgfSwKKwkJeyAibm9oZWFkaW5ncyIsIG5vX2FyZ3VtZW50LCBOVUxMLCBOT0hFQURJTkdTX09QVElPTiB9LAorCQl7ICJyYXciLCAgICAgICAgbm9fYXJndW1lbnQsIE5VTEwsIFJBV19PUFRJT04gfSwKKwkJeyAidmVyYm9zZSIsICAgIG5vX2FyZ3VtZW50LCBOVUxMLCBWRVJCT1NFX09QVElPTiB9LAorCQl7IE5VTEwsIDAsIE5VTEwsIDAgfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJSU5JVF9MSVNUX0hFQUQoJmxpbXMpOworCisJLyoKKwkgKiBTb21ldGhpbmcgaXMgdmVyeSB3cm9uZyBpZiB0aGlzIGRvZXNuJ3Qgc3VjY2VlZCwKKwkgKiBhc3N1bWluZyBTVEFDSyBpcyB0aGUgbGFzdCByZXNvdXJjZSwgb2YgY291cnNlLgorCSAqLworCWFzc2VydChNQVhfUkVTT1VSQ0VTID09IFNUQUNLICsgMSk7CisKKwl3aGlsZSgob3B0ID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwKKwkJCQkgIitjOjpkOjplOjpmOjppOjpsOjptOjpuOjpxOjpyOjpzOjp0Ojp1Ojp2Ojp4Ojp5OjpwOm86dlZoIiwKKwkJCQkgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCQlzd2l0Y2gob3B0KSB7CisJCWNhc2UgJ2MnOgorCQkJYWRkX3BybGltKG9wdGFyZywgJmxpbXMsIENPUkUpOworCQkJYnJlYWs7CisJCWNhc2UgJ2QnOgorCQkJYWRkX3BybGltKG9wdGFyZywgJmxpbXMsIERBVEEpOworCQkJYnJlYWs7CisJCWNhc2UgJ2UnOgorCQkJYWRkX3BybGltKG9wdGFyZywgJmxpbXMsIE5JQ0UpOworCQkJYnJlYWs7CisJCWNhc2UgJ2YnOgorCQkJYWRkX3BybGltKG9wdGFyZywgJmxpbXMsIEZTSVpFKTsKKwkJCWJyZWFrOworCQljYXNlICdpJzoKKwkJCWFkZF9wcmxpbShvcHRhcmcsICZsaW1zLCBTSUdQRU5ESU5HKTsKKwkJCWJyZWFrOworCQljYXNlICdsJzoKKwkJCWFkZF9wcmxpbShvcHRhcmcsICZsaW1zLCBNRU1MT0NLKTsKKwkJCWJyZWFrOworCQljYXNlICdtJzoKKwkJCWFkZF9wcmxpbShvcHRhcmcsICZsaW1zLCBSU1MpOworCQkJYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJYWRkX3BybGltKG9wdGFyZywgJmxpbXMsIE5PRklMRSk7CisJCQlicmVhazsKKwkJY2FzZSAncSc6CisJCQlhZGRfcHJsaW0ob3B0YXJnLCAmbGltcywgTVNHUVVFVUUpOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJYWRkX3BybGltKG9wdGFyZywgJmxpbXMsIFJUUFJJTyk7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQlhZGRfcHJsaW0ob3B0YXJnLCAmbGltcywgU1RBQ0spOworCQkJYnJlYWs7CisJCWNhc2UgJ3QnOgorCQkJYWRkX3BybGltKG9wdGFyZywgJmxpbXMsIENQVSk7CisJCQlicmVhazsKKwkJY2FzZSAndSc6CisJCQlhZGRfcHJsaW0ob3B0YXJnLCAmbGltcywgTlBST0MpOworCQkJYnJlYWs7CisJCWNhc2UgJ3YnOgorCQkJYWRkX3BybGltKG9wdGFyZywgJmxpbXMsIEFTKTsKKwkJCWJyZWFrOworCQljYXNlICd4JzoKKwkJCWFkZF9wcmxpbShvcHRhcmcsICZsaW1zLCBMT0NLUyk7CisJCQlicmVhazsKKwkJY2FzZSAneSc6CisJCQlhZGRfcHJsaW0ob3B0YXJnLCAmbGltcywgUlRUSU1FKTsKKwkJCWJyZWFrOworCisJCWNhc2UgJ3AnOgorCQkJaWYgKHBpZCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygib3B0aW9uIC0tcGlkIG1heSBiZSBzcGVjaWZpZWQgb25seSBvbmNlIikpOworCQkJcGlkID0gc3RydG9zMzJfb3JfZXJyKG9wdGFyZywgXygiaW52YWxpZCBQSUQgYXJndW1lbnQiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShzdGRvdXQpOworCQljYXNlICdvJzoKKwkJCW5jb2x1bW5zID0gc3RyaW5nX3RvX2lkYXJyYXkob3B0YXJnLAorCQkJCQkJICAgICBjb2x1bW5zLCBBUlJBWV9TSVpFKGNvbHVtbnMpLAorCQkJCQkJICAgICBjb2x1bW5fbmFtZV90b19pZCk7CisJCQlpZiAobmNvbHVtbnMgPCAwKQorCQkJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisKKwkJY2FzZSBOT0hFQURJTkdTX09QVElPTjoKKwkJCW5vX2hlYWRpbmdzID0gMTsKKwkJCWJyZWFrOworCQljYXNlIFZFUkJPU0VfT1BUSU9OOgorCQkJdmVyYm9zZSsrOworCQkJYnJlYWs7CisJCWNhc2UgUkFXX09QVElPTjoKKwkJCXJhdyA9IDE7CisJCQlicmVhazsKKworCQlkZWZhdWx0OgorCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJfQorCX0KKwlpZiAoYXJnYyA+IG9wdGluZCAmJiBwaWQpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJvcHRpb25zIC0tcGlkIGFuZCBDT01NQU5EIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiKSk7CisJaWYgKCFuY29sdW1ucykgeworCQkvKiBkZWZhdWx0IGNvbHVtbnMgKi8KKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9SRVM7CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfSEVMUDsKKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9TT0ZUOworCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX0hBUkQ7CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfVU5JVFM7CisJfQorCisJc2NvbHNfaW5pdF9kZWJ1ZygwKTsKKworCWlmIChsaXN0X2VtcHR5KCZsaW1zKSkgeworCQkvKiBkZWZhdWx0IGlzIHRvIHByaW50IGFsbCByZXNvdXJjZXMgKi8KKwkJc2l6ZV90IG47CisKKwkJZm9yIChuID0gMDsgbiA8IE1BWF9SRVNPVVJDRVM7IG4rKykKKwkJCWFkZF9wcmxpbShOVUxMLCAmbGltcywgbik7CisJfQorCisJZG9fcHJsaW1pdCgmbGltcyk7CisKKwlpZiAoIWxpc3RfZW1wdHkoJmxpbXMpKQorCQlzaG93X2xpbWl0cygmbGltcyk7CisKKwlpZiAoYXJnYyA+IG9wdGluZCkgeworCQkvKiBwcmxpbWl0IFtvcHRpb25zXSBDT01NQU5EICovCisJCWV4ZWN2cChhcmd2W29wdGluZF0sICZhcmd2W29wdGluZF0pOworCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIpLCBhcmd2W29wdGluZF0pOworCX0KKworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvcmVhZHByb2ZpbGUuOCBiL3N5cy11dGlscy9yZWFkcHJvZmlsZS44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjNzJhNzEKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvcmVhZHByb2ZpbGUuOApAQCAtMCwwICsxLDE1MyBAQAorLlRIIFJFQURQUk9GSUxFICI4IiAiT2N0b2JlciAyMDExIiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCityZWFkcHJvZmlsZSBcLSByZWFkIGtlcm5lbCBwcm9maWxpbmcgaW5mb3JtYXRpb24KKy5TSCBTWU5PUFNJUworLkIgcmVhZHByb2ZpbGUKK1tvcHRpb25zXQorLlNIIFZFUlNJT04KK1RoaXMgbWFucGFnZSBkb2N1bWVudHMgdmVyc2lvbiAyLjAgb2YgdGhlIHByb2dyYW0uCisuU0ggREVTQ1JJUFRJT04KKy5MUAorVGhlCisuQiByZWFkcHJvZmlsZQorY29tbWFuZCB1c2VzIHRoZQorLkkgL3Byb2MvcHJvZmlsZQoraW5mb3JtYXRpb24gdG8gcHJpbnQgYXNjaWkgZGF0YSBvbiBzdGFuZGFyZCBvdXRwdXQuICBUaGUgb3V0cHV0IGlzCitvcmdhbml6ZWQgaW4gdGhyZWUgY29sdW1uczogdGhlIGZpcnN0IGlzIHRoZSBudW1iZXIgb2YgY2xvY2sgdGlja3MsCit0aGUgc2Vjb25kIGlzIHRoZSBuYW1lIG9mIHRoZSBDIGZ1bmN0aW9uIGluIHRoZSBrZXJuZWwgd2hlcmUgdGhvc2UKK21hbnkgdGlja3Mgb2NjdXJyZWQsIGFuZCB0aGUgdGhpcmQgaXMgdGhlIG5vcm1hbGl6ZWQgYGxvYWQnIG9mIHRoZQorcHJvY2VkdXJlLCBjYWxjdWxhdGVkIGFzIGEgcmF0aW8gYmV0d2VlbiB0aGUgbnVtYmVyIG9mIHRpY2tzIGFuZCB0aGUKK2xlbmd0aCBvZiB0aGUgcHJvY2VkdXJlLiAgVGhlIG91dHB1dCBpcyBmaWxsZWQgd2l0aCBibGFua3MgdG8gZWFzZQorcmVhZGFiaWxpdHkuCisuU0ggT1BUSU9OUworLlRQCitcZkJcLWFcZlIsIFxmQlwtXC1hbGxcZlIKK1ByaW50IGFsbCBzeW1ib2xzIGluIHRoZSBtYXBmaWxlLiAgQnkgZGVmYXVsdCB0aGUgcHJvY2VkdXJlcyB3aXRoCityZXBvcnRlZCB0aWNrcyBhcmUgbm90IHByaW50ZWQuCisuVFAKK1xmQlwtYlxmUiwgXGZCXC1cLWhpc3RiaW5cZlIKK1ByaW50IGluZGl2aWR1YWwgaGlzdG9ncmFtLWJpbiBjb3VudHMuCisuVFAKK1xmQlwtaVxmUiwgXGZCXC1cLWluZm9cZlIKK0luZm8uICBUaGlzIG1ha2VzCisuQiByZWFkcHJvZmlsZQorb25seSBwcmludCB0aGUgcHJvZmlsaW5nIHN0ZXAgdXNlZCBieSB0aGUga2VybmVsLiAgVGhlIHByb2ZpbGluZyBzdGVwCitpcyB0aGUgcmVzb2x1dGlvbiBvZiB0aGUgcHJvZmlsaW5nIGJ1ZmZlciwgYW5kIGlzIGNob3NlbiBkdXJpbmcKK2tlcm5lbCBjb25maWd1cmF0aW9uICh0aHJvdWdoIGBtYWtlIGNvbmZpZycpLCBvciBpbiB0aGUga2VybmVsJ3MKK2NvbW1hbmQgbGluZS4gIElmIHRoZQorLkIgXC10CisodGVyc2UpIHN3aXRjaCBpcyB1c2VkIHRvZ2V0aGVyIHdpdGgKKy5CIFwtaQorb25seSB0aGUgZGVjaW1hbCBudW1iZXIgaXMgcHJpbnRlZC4KKy5UUAorXGZCXC1tXGZSLCBcZkJcLVwtbWFwZmlsZVxmUiBcZkltYXBmaWxlXGZSCitTcGVjaWZ5IGEgbWFwZmlsZSwgd2hpY2ggYnkgZGVmYXVsdCBpcworLklSIC91c3Ivc3JjL2xpbnV4L1N5c3RlbS5tYXAgLgorWW91IHNob3VsZCBzcGVjaWZ5IHRoZSBtYXAgZmlsZSBvbiBjbWRsaW5lIGlmIHlvdXIgY3VycmVudCBrZXJuZWwKK2lzbid0IHRoZSBsYXN0IG9uZSB5b3UgY29tcGlsZWQsIG9yIGlmIHlvdSBrZWVwIFN5c3RlbS5tYXAgZWxzZXdoZXJlLgorSWYgdGhlIG5hbWUgb2YgdGhlIG1hcCBmaWxlIGVuZHMgd2l0aCBgLmd6JyBpdCBpcyBkZWNvbXByZXNzZWQgb24gdGhlCitmbHkuCisuVFAKK1xmQlwtTVxmUiwgXGZCXC1cLW11bHRpcGxpZXJcZlIgXGZJbXVsdGlwbGllclxmUgorT24gc29tZSBhcmNoaXRlY3R1cmVzIGl0IGlzIHBvc3NpYmxlIHRvIGFsdGVyIHRoZSBmcmVxdWVuY3kgYXQgd2hpY2gKK3RoZSBrZXJuZWwgZGVsaXZlcnMgcHJvZmlsaW5nIGludGVycnVwdHMgdG8gZWFjaCBDUFUuICBUaGlzIG9wdGlvbgorYWxsb3dzIHlvdSB0byBzZXQgdGhlIGZyZXF1ZW5jeSwgYXMgYSBtdWx0aXBsaWVyIG9mIHRoZSBzeXN0ZW0gY2xvY2sKK2ZyZXF1ZW5jeSwgSFouICBUaGlzIGlzIHN1cHBvcnRlZCBvbiBpMzg2LVNNUCAoMi4yIGFuZCAyLjQga2VybmVsKQorYW5kIGFsc28gb24gc3BhcmMtU01QIGFuZCBzcGFyYzY0LVNNUCAoMi40IGtlcm5lbCkuICBUaGlzIG9wdGlvbiBhbHNvCityZXNldHMgdGhlIHByb2ZpbGluZyBidWZmZXIsIGFuZCByZXF1aXJlcyBzdXBlcnVzZXIgcHJpdmlsZWdlcy4KKy5UUAorXGZCXC1wXGZSLCBcZkJcLVwtcHJvZmlsZVxmUiBcZklwcm8tZmlsZVxmUgorU3BlY2lmeSBhIGRpZmZlcmVudCBwcm9maWxpbmcgYnVmZmVyLCB3aGljaCBieSBkZWZhdWx0IGlzCisuSVIgL3Byb2MvcHJvZmlsZSAuCitVc2luZyBhIGRpZmZlcmVudCBwcm8tZmlsZSBpcyB1c2VmdWwgaWYgeW91IHdhbnQgdG8gYGZyZWV6ZScgdGhlCitrZXJuZWwgcHJvZmlsaW5nIGF0IHNvbWUgdGltZSBhbmQgcmVhZCBpdCBsYXRlci4gIFRoZQorLkkgL3Byb2MvcHJvZmlsZQorZmlsZSBjYW4gYmUgY29waWVkIHVzaW5nIGBjYXQnIG9yIGBjcCcuICBUaGVyZSBpcyBubyBtb3JlIHN1cHBvcnQgZm9yCitjb21wcmVzc2VkIHByb2ZpbGUgYnVmZmVycywgbGlrZSBpbgorLkIgcmVhZHByb2ZpbGUtMS4xLAorYmVjYXVzZSB0aGUgcHJvZ3JhbSBuZWVkcyB0byBrbm93IHRoZSBzaXplIG9mIHRoZSBidWZmZXIgaW4gYWR2YW5jZS4KKy5UUAorXGZCXC1yXGZSLCBcZkJcLVwtcmVzZXRcZlIKK1Jlc2V0IHRoZSBwcm9maWxpbmcgYnVmZmVyLiAgVGhpcyBjYW4gb25seSBiZSBpbnZva2VkIGJ5IHJvb3QsCitiZWNhdXNlCisuSSAvcHJvYy9wcm9maWxlCitpcyByZWFkYWJsZSBieSBldmVyeWJvZHkgYnV0IHdyaXRhYmxlIG9ubHkgYnkgdGhlIHN1cGVydXNlci4KK0hvd2V2ZXIsIHlvdSBjYW4gbWFrZQorLkIgcmVhZHByb2ZpbGUKK3NldC11c2VyLUlEIDAsIGluIG9yZGVyIHRvIHJlc2V0IHRoZSBidWZmZXIgd2l0aG91dCBnYWluaW5nIHByaXZpbGVnZXMuCisuVFAKK1xmQlwtcywgXGZCXC1cLWNvdW50ZXJzXGZSCitQcmludCBpbmRpdmlkdWFsIGNvdW50ZXJzIHdpdGhpbiBmdW5jdGlvbnMuCisuVFAKK1xmQlwtdlxmUiwgXGZCXC1cLXZlcmJvc2VcZlIKK1ZlcmJvc2UuICBUaGUgb3V0cHV0IGlzIG9yZ2FuaXplZCBpbiBmb3VyIGNvbHVtbnMgYW5kIGZpbGxlZCB3aXRoCitibGFua3MuICBUaGUgZmlyc3QgY29sdW1uIGlzIHRoZSBSQU0gYWRkcmVzcyBvZiBhIGtlcm5lbCBmdW5jdGlvbiwKK3RoZSBzZWNvbmQgaXMgdGhlIG5hbWUgb2YgdGhlIGZ1bmN0aW9uLCB0aGUgdGhpcmQgaXMgdGhlIG51bWJlciBvZgorY2xvY2sgdGlja3MgYW5kIHRoZSBsYXN0IGlzIHRoZSBub3JtYWxpemVkIGxvYWQuCisuVFAKK1xmQlwtVlxmUiwgXGZCXC1cLXZlcnNpb25cZlIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorXGZCXC1oXGZSLCBcZkJcLVwtaGVscFxmUgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggRVhBTVBMRVMKK0Jyb3dzZSB0aGUgcHJvZmlsaW5nIGJ1ZmZlciBvcmRlcmluZyBieSBjbG9jayB0aWNrczoKKy5uZgorICAgcmVhZHByb2ZpbGUgfCBzb3J0IC1uciB8IGxlc3MKKworLmZpCitQcmludCB0aGUgMjAgbW9zdCBsb2FkZWQgcHJvY2VkdXJlczoKKy5uZgorICAgcmVhZHByb2ZpbGUgfCBzb3J0IC1uciArMiB8IGhlYWQgLTIwCisKKy5maQorUHJpbnQgb25seSBmaWxlc3lzdGVtIHByb2ZpbGU6CisubmYKKyAgIHJlYWRwcm9maWxlIHwgZ3JlcCBfZXh0MgorCisuZmkKK0xvb2sgYXQgYWxsIHRoZSBrZXJuZWwgaW5mb3JtYXRpb24sIHdpdGggcmFtIGFkZHJlc3NlczoKKy5uZgorICAgcmVhZHByb2ZpbGUgLWF2IHwgbGVzcworCisuZmkKK0Jyb3dzZSBhIGBmcmVlemVkJyBwcm9maWxlIGJ1ZmZlciBmb3IgYSBub24gY3VycmVudCBrZXJuZWw6CisubmYKKyAgIHJlYWRwcm9maWxlIC1wIH4vcHJvZmlsZS5mcmVlemUgLW0gL3pJbWFnZS5tYXAuZ3oKKworLmZpCitSZXF1ZXN0IHByb2ZpbGluZyBhdCAya0h6IHBlciBDUFUsIGFuZCByZXNldCB0aGUgcHJvZmlsaW5nIGJ1ZmZlcjoKKy5uZgorICAgc3VkbyByZWFkcHJvZmlsZSAtTSAyMAorLmZpCisuU0ggQlVHUworLkxQCisuQiByZWFkcHJvZmlsZQorb25seSB3b3JrcyB3aXRoIGFuIDEuMy54IG9yIG5ld2VyIGtlcm5lbCwgYmVjYXVzZQorLkkgL3Byb2MvcHJvZmlsZQorY2hhbmdlZCBpbiB0aGUgc3RlcCBmcm9tIDEuMiB0byAxLjMKKy5MUAorVGhpcyBwcm9ncmFtIG9ubHkgd29ya3Mgd2l0aCBFTEYga2VybmVscy4gIFRoZSBjaGFuZ2UgZm9yIGEub3V0CitrZXJuZWxzIGlzIHRyaXZpYWwsIGFuZCBsZWZ0IGFzIGFuIGV4ZXJjaXNlIHRvIHRoZSBhLm91dCB1c2VyLgorLkxQCitUbyBlbmFibGUgcHJvZmlsaW5nLCB0aGUga2VybmVsIG11c3QgYmUgcmVib290ZWQsIGJlY2F1c2Ugbm8KK3Byb2ZpbGluZyBtb2R1bGUgaXMgYXZhaWxhYmxlLCBhbmQgaXQgd291bGRuJ3QgYmUgZWFzeSB0byBidWlsZC4gIFRvCitlbmFibGUgcHJvZmlsaW5nLCB5b3UgY2FuIHNwZWNpZnkgInByb2ZpbGU9MiIgKG9yIGFub3RoZXIgbnVtYmVyKSBvbgordGhlIGtlcm5lbCBjb21tYW5kbGluZS4gIFRoZSBudW1iZXIgeW91IHNwZWNpZnkgaXMgdGhlIHR3by1leHBvbmVudAordXNlZCBhcyBwcm9maWxpbmcgc3RlcC4KKy5MUAorUHJvZmlsaW5nIGlzIGRpc2FibGVkIHdoZW4gaW50ZXJydXB0cyBhcmUgaW5oaWJpdGVkLiAgVGhpcyBtZWFucyB0aGF0CittYW55IHByb2ZpbGluZyB0aWNrcyBoYXBwZW4gd2hlbiBpbnRlcnJ1cHRzIGFyZSByZS1lbmFibGVkLiAgV2F0Y2gKK291dCBmb3IgbWlzbGVhZGluZyBpbmZvcm1hdGlvbi4KKy5TSCBGSUxFUworLm5mCisvcHJvYy9wcm9maWxlICAgICAgICAgICAgICBBIGJpbmFyeSBzbmFwc2hvdCBvZiB0aGUgcHJvZmlsaW5nIGJ1ZmZlci4KKy91c3Ivc3JjL2xpbnV4L1N5c3RlbS5tYXAgIFRoZSBzeW1ib2wgdGFibGUgZm9yIHRoZSBrZXJuZWwuCisvdXNyL3NyYy9saW51eC8qICAgICAgICAgICBUaGUgcHJvZ3JhbSBiZWluZyBwcm9maWxlZCA6LSkKKy5maQorLlNIIEFWQUlMQUJJTElUWQorVGhlIHJlYWRwcm9maWxlIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcworYXZhaWxhYmxlIGZyb20KKy5VUiBmdHA6Ly9cOmZ0cC5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9yZWFkcHJvZmlsZS5jIGIvc3lzLXV0aWxzL3JlYWRwcm9maWxlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzlhMjRkZQotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9yZWFkcHJvZmlsZS5jCkBAIC0wLDAgKzEsNDA4IEBACisvKgorICogIHJlYWRwcm9maWxlLmMgLSB1c2VkIHRvIHJlYWQgL3Byb2MvcHJvZmlsZQorICoKKyAqICBDb3B5cmlnaHQgKEMpIDE5OTQsMTk5NiBBbGVzc2FuZHJvIFJ1YmluaSAocnViaW5pQGlwdnZpcy51bmlwdi5pdCkKKyAqCisgKiAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKyAqICAgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyAqICAgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqLworCisvKgorICogMTk5OS0wMi0yMiBBcmthZGl1c3ogTWnFm2tpZXdpY3ogPG1pc2lla0BwbGQuT1JHLlBMPgorICogLSBhZGRlZCBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAorICogMTk5OS0wOS0wMSBTdGVwaGFuZSBFcmFuaWFuIDxlcmFuaWFuQGNlbGxvLmhwbC5ocC5jb20+CisgKiAtIDY0Yml0IGNsZWFuIHBhdGNoCisgKiAzRmViMjAwMSBBbmRyZXcgTW9ydG9uIDxhbmRyZXdtQHVvdy5lZHUuYXU+CisgKiAtIC1NIG9wdGlvbiB0byB3cml0ZSBwcm9maWxlIG11bHRpcGxpZXIuCisgKiAyMDAxLTExLTA3IFdlcm5lciBBbG1lc2JlcmdlciA8d2FAYWxtZXNiZXJnZXIubmV0PgorICogLSBieXRlIG9yZGVyIGF1dG8tZGV0ZWN0aW9uIGFuZCAtbiBvcHRpb24KKyAqIDIwMDEtMTEtMDkgV2VybmVyIEFsbWVzYmVyZ2VyIDx3YUBhbG1lc2Jlcmdlci5uZXQ+CisgKiAtIHNraXAgc3RlcCBzaXplIChpbmRleCAwKQorICogMjAwMi0wMy0wOSBKb2huIExldm9uIDxtb3pAY29tcHNvYy5tYW4uYWMudWs+CisgKiAtIG1ha2UgbWFwbGluZW5vIGRvIHNvbWV0aGluZworICogMjAwMi0xMS0yOCBNYWRzIE1hcnRpbiBKb2VyZ2Vuc2VuICsKKyAqIC0gYWxzbyB0cnkgL2Jvb3QvU3lzdGVtLm1hcC1gdW5hbWUgLXJgCisgKiAyMDAzLTA0LTA5IFdlcm5lciBBbG1lc2JlcmdlciA8d2FAYWxtZXNiZXJnZXIubmV0PgorICogLSBmaXhlZCBvZmYtYnkgZWlnaHQgZXJyb3IgYW5kIGltcHJvdmVkIGhldXJpc3RpY3MgaW4gYnl0ZSBvcmRlciBkZXRlY3Rpb24KKyAqIDIwMDMtMDgtMTIgTmlraXRhIERhbmlsb3YgPE5pa2l0YUBOYW1lc3lzLkNPTT4KKyAqIC0gYWRkZWQgLXMgb3B0aW9uOyBleGFtcGxlIG9mIHVzZToKKyAqICJyZWFkcHJvZmlsZSAtcyAtbSAvYm9vdC9TeXN0ZW0ubWFwLXRlc3QgfCBncmVwIF9fZF9sb29rdXAgfCBzb3J0IC1uIC1rMyIKKyAqLworCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKworI2RlZmluZSBTX0xFTiAxMjgKKworLyogVGhlc2UgYXJlIHRoZSBkZWZhdWx0cyAqLworc3RhdGljIGNoYXIgZGVmYXVsdG1hcFtdPSIvYm9vdC9TeXN0ZW0ubWFwIjsKK3N0YXRpYyBjaGFyIGRlZmF1bHRwcm9bXT0iL3Byb2MvcHJvZmlsZSI7CisKK3N0YXRpYyBGSUxFICpteW9wZW4oY2hhciAqbmFtZSwgY2hhciAqbW9kZSwgaW50ICpmbGFnKQoreworCWludCBsZW4gPSBzdHJsZW4obmFtZSk7CisKKwlpZiAoIXN0cmNtcChuYW1lICsgbGVuIC0gMywgIi5neiIpKSB7CisJCUZJTEUgKnJlczsKKwkJY2hhciAqY21kbGluZSA9IHhtYWxsb2MobGVuICsgNik7CisJCXNwcmludGYoY21kbGluZSwgInpjYXQgJXMiLCBuYW1lKTsKKwkJcmVzID0gcG9wZW4oY21kbGluZSwgbW9kZSk7CisJCWZyZWUoY21kbGluZSk7CisJCSpmbGFnID0gMTsKKwkJcmV0dXJuIHJlczsKKwl9CisJKmZsYWcgPSAwOworCXJldHVybiBmb3BlbihuYW1lLCBtb2RlKTsKK30KKworI2lmbmRlZiBCT09UX1NZU1RFTV9NQVAKKyNkZWZpbmUgQk9PVF9TWVNURU1fTUFQICIvYm9vdC9TeXN0ZW0ubWFwLSIKKyNlbmRpZgorCitzdGF0aWMgY2hhciAqYm9vdF91bmFtZV9yX3N0cih2b2lkKQoreworCXN0cnVjdCB1dHNuYW1lIHVuYW1lX2luZm87CisJY2hhciAqczsKKwlzaXplX3QgbGVuOworCisJaWYgKHVuYW1lKCZ1bmFtZV9pbmZvKSkKKwkJcmV0dXJuICIiOworCWxlbiA9IHN0cmxlbihCT09UX1NZU1RFTV9NQVApICsgc3RybGVuKHVuYW1lX2luZm8ucmVsZWFzZSkgKyAxOworCXMgPSB4bWFsbG9jKGxlbik7CisJc3RyY3B5KHMsIEJPT1RfU1lTVEVNX01BUCk7CisJc3RyY2F0KHMsIHVuYW1lX2luZm8ucmVsZWFzZSk7CisJcmV0dXJuIHM7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKQorICAgIHVzYWdlKEZJTEUgKiBvdXQpCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJXMgW29wdGlvbnNdXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkRpc3BsYXkga2VybmVsIHByb2ZpbGluZyBpbmZvcm1hdGlvbi5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHJpbnRmKG91dCwKKwkgICAgICBfKCIgLW0sIC0tbWFwZmlsZSA8bWFwZmlsZT4gICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIpLCBkZWZhdWx0bWFwKTsKKwlmcHJpbnRmKG91dCwKKwkgICAgICBfKCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJXNcIilcbiIpLCBib290X3VuYW1lX3Jfc3RyKCkpOworCWZwcmludGYob3V0LAorCSAgICAgIF8oIiAtcCwgLS1wcm9maWxlIDxwcm8tZmlsZT4gIChkZWZhdWx0OiAgXCIlc1wiKVxuIiksIGRlZmF1bHRwcm8pOworCWZwdXRzKF8oIiAtTSwgLS1tdWx0aXBsaWVyIDxtdWx0PiAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWksIC0taW5mbyAgICAgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIpLCBvdXQpOworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dCk7CisJZnByaW50ZihvdXQsIFVTQUdFX01BTl9UQUlMKCJyZWFkcHJvZmlsZSg4KSIpKTsKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJRklMRSAqbWFwOworCWludCBwcm9GZDsKKwljaGFyICptYXBGaWxlLCAqcHJvRmlsZSwgKm11bHQgPSAwOworCXNpemVfdCBsZW4gPSAwLCBpbmR4ID0gMTsKKwl1bnNpZ25lZCBsb25nIGxvbmcgYWRkMCA9IDA7CisJdW5zaWduZWQgaW50IHN0ZXA7CisJdW5zaWduZWQgaW50ICpidWYsIHRvdGFsLCBmbl9sZW47CisJdW5zaWduZWQgbG9uZyBsb25nIGZuX2FkZCwgbmV4dF9hZGQ7CS8qIGN1cnJlbnQgYW5kIG5leHQgYWRkcmVzcyAqLworCWNoYXIgZm5fbmFtZVtTX0xFTl0sIG5leHRfbmFtZVtTX0xFTl07CS8qIGN1cnJlbnQgYW5kIG5leHQgbmFtZSAqLworCWNoYXIgbW9kZVs4XTsKKwlpbnQgYzsKKwlzc2l6ZV90IHJjOworCWludCBvcHRBbGwgPSAwLCBvcHRJbmZvID0gMCwgb3B0UmVzZXQgPSAwLCBvcHRWZXJib3NlID0gMCwgb3B0TmF0aXZlID0gMDsKKwlpbnQgb3B0QmlucyA9IDAsIG9wdFN1YiA9IDA7CisJY2hhciBtYXBsaW5lW1NfTEVOXTsKKwlpbnQgbWFwbGluZW5vID0gMTsKKwlpbnQgcG9wZW5NYXA7CQkvKiBmbGFnIHRvIHRlbGwgaWYgcG9wZW4oKSBoYXMgYmVlbiB1c2VkICovCisJaW50IGhlYWRlcl9wcmludGVkOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJtYXBmaWxlIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdtJ30sCisJCXsicHJvZmlsZSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAncCd9LAorCQl7Im11bHRpcGxpZXIiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ00nfSwKKwkJeyJpbmZvIiwgbm9fYXJndW1lbnQsIE5VTEwsICdpJ30sCisJCXsidmVyYm9zZSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAndid9LAorCQl7ImFsbCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnYSd9LAorCQl7Imhpc3RiaW4iLCBub19hcmd1bWVudCwgTlVMTCwgJ2InfSwKKwkJeyJjb3VudGVycyIsIG5vX2FyZ3VtZW50LCBOVUxMLCAncyd9LAorCQl7InJlc2V0Iiwgbm9fYXJndW1lbnQsIE5VTEwsICdyJ30sCisJCXsibm8tYXV0byIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnbid9LAorCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1YnfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIE5VTEwsICdoJ30sCisJCXtOVUxMLCAwLCAwLCAwfQorCX07CisKKyNkZWZpbmUgbmV4dCAoY3VycmVudF4xKQorCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXByb0ZpbGUgPSBkZWZhdWx0cHJvOworCW1hcEZpbGUgPSBkZWZhdWx0bWFwOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIm06cDpNOml2YWJzcm5WaCIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ20nOgorCQkJbWFwRmlsZSA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICduJzoKKwkJCW9wdE5hdGl2ZSsrOworCQkJYnJlYWs7CisJCWNhc2UgJ3AnOgorCQkJcHJvRmlsZSA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdhJzoKKwkJCW9wdEFsbCsrOworCQkJYnJlYWs7CisJCWNhc2UgJ2InOgorCQkJb3B0QmlucysrOworCQkJYnJlYWs7CisJCWNhc2UgJ3MnOgorCQkJb3B0U3ViKys7CisJCQlicmVhazsKKwkJY2FzZSAnaSc6CisJCQlvcHRJbmZvKys7CisJCQlicmVhazsKKwkJY2FzZSAnTSc6CisJCQltdWx0ID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJb3B0UmVzZXQrKzsKKwkJCWJyZWFrOworCQljYXNlICd2JzoKKwkJCW9wdFZlcmJvc2UrKzsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShzdGRvdXQpOworCQlkZWZhdWx0OgorCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJfQorCX0KKworCWlmIChvcHRSZXNldCB8fCBtdWx0KSB7CisJCWludCBtdWx0aXBsaWVyLCBmZCwgdG9fd3JpdGU7CisKKwkJLyogV2hlbiB3cml0aW5nIHRoZSBtdWx0aXBsaWVyLCBpZiB0aGUgbGVuZ3RoIG9mIHRoZQorCQkgKiB3cml0ZSBpcyBub3Qgc2l6ZW9mKGludCksIHRoZSBtdWx0aXBsaWVyIGlzIG5vdAorCQkgKiBjaGFuZ2VkLiAqLworCQlpZiAobXVsdCkgeworCQkJbXVsdGlwbGllciA9IHN0cnRvdWwobXVsdCwgMCwgMTApOworCQkJdG9fd3JpdGUgPSBzaXplb2YoaW50KTsKKwkJfSBlbHNlIHsKKwkJCW11bHRpcGxpZXIgPSAwOworCQkJLyogc3RoIGRpZmZlcmVudCBmcm9tIHNpemVvZihpbnQpICovCisJCQl0b193cml0ZSA9IDE7CisJCX0KKwkJLyogdHJ5IHRvIGJlY29tZSByb290LCBqdXN0IGluIGNhc2UgKi8KKwkJaWdub3JlX3Jlc3VsdCggc2V0dWlkKDApICk7CisJCWZkID0gb3BlbihkZWZhdWx0cHJvLCBPX1dST05MWSk7CisJCWlmIChmZCA8IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLCAiJXMiLCBkZWZhdWx0cHJvKTsKKwkJaWYgKHdyaXRlKGZkLCAmbXVsdGlwbGllciwgdG9fd3JpdGUpICE9IHRvX3dyaXRlKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZXJyb3Igd3JpdGluZyAlcyIpLCBkZWZhdWx0cHJvKTsKKwkJY2xvc2UoZmQpOworCQlleGl0KEVYSVRfU1VDQ0VTUyk7CisJfQorCisJLyogVXNlIGFuIGZkIGZvciB0aGUgcHJvZmlsaW5nIGJ1ZmZlciwgdG8gc2tpcCBzdGRpbyBvdmVyaGVhZCAqLworCWlmICgoKHByb0ZkID0gb3Blbihwcm9GaWxlLCBPX1JET05MWSkpIDwgMCkKKwkgICAgfHwgKChpbnQpKGxlbiA9IGxzZWVrKHByb0ZkLCAwLCBTRUVLX0VORCkpIDwgMCkKKwkgICAgfHwgKGxzZWVrKHByb0ZkLCAwLCBTRUVLX1NFVCkgPCAwKSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgIiVzIiwgcHJvRmlsZSk7CisKKwlidWYgPSB4bWFsbG9jKGxlbik7CisKKwlyYyA9IHJlYWQocHJvRmQsIGJ1ZiwgbGVuKTsKKwlpZiAocmMgPCAwIHx8IChzaXplX3QpIHJjICE9IGxlbikKKwkJZXJyKEVYSVRfRkFJTFVSRSwgIiVzIiwgcHJvRmlsZSk7CisJY2xvc2UocHJvRmQpOworCisJaWYgKCFvcHROYXRpdmUpIHsKKwkJaW50IGVudHJpZXMgPSBsZW4gLyBzaXplb2YoKmJ1Zik7CisJCWludCBiaWcgPSAwLCBzbWFsbCA9IDA7CisJCXVuc2lnbmVkICpwOworCQlzaXplX3QgaTsKKworCQlmb3IgKHAgPSBidWYgKyAxOyBwIDwgYnVmICsgZW50cmllczsgcCsrKSB7CisJCQlpZiAoKnAgJiB+MFUgPDwgKHNpemVvZigqYnVmKSAqIDQpKQorCQkJCWJpZysrOworCQkJaWYgKCpwICYgKCgxIDw8IChzaXplb2YoKmJ1ZikgKiA0KSkgLSAxKSkKKwkJCQlzbWFsbCsrOworCQl9CisJCWlmIChiaWcgPiBzbWFsbCkgeworCQkJd2FybngoXygiQXNzdW1pbmcgcmV2ZXJzZWQgYnl0ZSBvcmRlci4gIgorCQkJCSJVc2UgLW4gdG8gZm9yY2UgbmF0aXZlIGJ5dGUgb3JkZXIuIikpOworCQkJZm9yIChwID0gYnVmOyBwIDwgYnVmICsgZW50cmllczsgcCsrKQorCQkJCWZvciAoaSA9IDA7IGkgPCBzaXplb2YoKmJ1ZikgLyAyOyBpKyspIHsKKwkJCQkJdW5zaWduZWQgY2hhciAqYiA9ICh1bnNpZ25lZCBjaGFyICopcDsKKwkJCQkJdW5zaWduZWQgY2hhciB0bXA7CisJCQkJCXRtcCA9IGJbaV07CisJCQkJCWJbaV0gPSBiW3NpemVvZigqYnVmKSAtIGkgLSAxXTsKKwkJCQkJYltzaXplb2YoKmJ1ZikgLSBpIC0gMV0gPSB0bXA7CisJCQkJfQorCQl9CisJfQorCisJc3RlcCA9IGJ1ZlswXTsKKwlpZiAob3B0SW5mbykgeworCQlwcmludGYoXygiU2FtcGxpbmdfc3RlcDogJXVcbiIpLCBzdGVwKTsKKwkJZXhpdChFWElUX1NVQ0NFU1MpOworCX0KKworCXRvdGFsID0gMDsKKworCW1hcCA9IG15b3BlbihtYXBGaWxlLCAiciIsICZwb3Blbk1hcCk7CisJaWYgKG1hcCA9PSBOVUxMICYmIG1hcEZpbGUgPT0gZGVmYXVsdG1hcCkgeworCQltYXBGaWxlID0gYm9vdF91bmFtZV9yX3N0cigpOworCQltYXAgPSBteW9wZW4obWFwRmlsZSwgInIiLCAmcG9wZW5NYXApOworCX0KKwlpZiAobWFwID09IE5VTEwpCisJCWVycihFWElUX0ZBSUxVUkUsICIlcyIsIG1hcEZpbGUpOworCisJd2hpbGUgKGZnZXRzKG1hcGxpbmUsIFNfTEVOLCBtYXApKSB7CisJCWlmIChzc2NhbmYobWFwbGluZSwgIiVsbHggJTdbXlxuIF0gJTEyN1teXG4gXSIsICZmbl9hZGQsIG1vZGUsIGZuX25hbWUpICE9IDMpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXMoJWkpOiB3cm9uZyBtYXAgbGluZSIpLCBtYXBGaWxlLAorCQkJICAgICBtYXBsaW5lbm8pOworCQkvKiBvbmx5IGVsZiB3b3JrcyBsaWtlIHRoaXMgKi8KKwkJaWYgKCFzdHJjbXAoZm5fbmFtZSwgIl9zdGV4dCIpIHx8ICFzdHJjbXAoZm5fbmFtZSwgIl9fc3RleHQiKSkgeworCQkJYWRkMCA9IGZuX2FkZDsKKwkJCWJyZWFrOworCQl9CisJCW1hcGxpbmVubysrOworCX0KKworCWlmICghYWRkMCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImNhbid0IGZpbmQgXCJfc3RleHRcIiBpbiAlcyIpLCBtYXBGaWxlKTsKKworCS8qCisJICogTWFpbiBsb29wLgorCSAqLworCXdoaWxlIChmZ2V0cyhtYXBsaW5lLCBTX0xFTiwgbWFwKSkgeworCQl1bnNpZ25lZCBpbnQgdGhpcyA9IDA7CisJCWludCBkb25lID0gMDsKKworCQlpZiAoc3NjYW5mKG1hcGxpbmUsICIlbGx4ICU3W15cbiBdICUxMjdbXlxuIF0iLCAmbmV4dF9hZGQsIG1vZGUsIG5leHRfbmFtZSkgIT0gMykKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlcyglaSk6IHdyb25nIG1hcCBsaW5lIiksIG1hcEZpbGUsCisJCQkgICAgIG1hcGxpbmVubyk7CisJCWhlYWRlcl9wcmludGVkID0gMDsKKworCQkvKiB0aGUga2VybmVsIG9ubHkgcHJvZmlsZXMgdXAgdG8gX2V0ZXh0ICovCisJCWlmICghc3RyY21wKG5leHRfbmFtZSwgIl9ldGV4dCIpIHx8CisJCSAgICAhc3RyY21wKG5leHRfbmFtZSwgIl9fZXRleHQiKSkKKwkJCWRvbmUgPSAxOworCQllbHNlIHsKKwkJCS8qIGlnbm9yZSBhbnkgTEVBRElORyAoYmVmb3JlIGEgJ1t0VF0nIHN5bWJvbAorCQkJICogaXMgZm91bmQpIEFic29sdXRlIHN5bWJvbHMgYW5kIF9faW5pdF9lbmQKKwkJCSAqIGJlY2F1c2Ugc29tZSBhcmNoaXRlY3R1cmVzIHBsYWNlIGl0IGJlZm9yZQorCQkJICogLnRleHQgc2VjdGlvbiAqLworCQkJaWYgKCgqbW9kZSA9PSAnQScgfHwgKm1vZGUgPT0gJz8nKQorCQkJICAgICYmICh0b3RhbCA9PSAwIHx8ICFzdHJjbXAobmV4dF9uYW1lLCAiX19pbml0X2VuZCIpKSkKKwkJCQljb250aW51ZTsKKwkJCWlmICgqbW9kZSAhPSAnVCcgJiYgKm1vZGUgIT0gJ3QnICYmCisJCQkgICAgKm1vZGUgIT0gJ1cnICYmICptb2RlICE9ICd3JykKKwkJCQlicmVhazsJLyogb25seSB0ZXh0IGlzIHByb2ZpbGVkICovCisJCX0KKworCQlpZiAoaW5keCA+PSBsZW4gLyBzaXplb2YoKmJ1ZikpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCSAgICAgXygicHJvZmlsZSBhZGRyZXNzIG91dCBvZiByYW5nZS4gV3JvbmcgbWFwIGZpbGU/IikpOworCisJCXdoaWxlIChpbmR4IDwgKG5leHRfYWRkIC0gYWRkMCkgLyBzdGVwKSB7CisJCQlpZiAob3B0QmlucyAmJiAoYnVmW2luZHhdIHx8IG9wdEFsbCkpIHsKKwkJCQlpZiAoIWhlYWRlcl9wcmludGVkKSB7CisJCQkJCXByaW50ZigiJXM6XG4iLCBmbl9uYW1lKTsKKwkJCQkJaGVhZGVyX3ByaW50ZWQgPSAxOworCQkJCX0KKwkJCQlwcmludGYoIlx0JWxseFx0JXVcbiIsIChpbmR4IC0gMSkgKiBzdGVwICsgYWRkMCwKKwkJCQkgICAgICAgYnVmW2luZHhdKTsKKwkJCX0KKwkJCXRoaXMgKz0gYnVmW2luZHgrK107CisJCX0KKwkJdG90YWwgKz0gdGhpczsKKworCQlpZiAob3B0QmlucykgeworCQkJaWYgKG9wdFZlcmJvc2UgfHwgdGhpcyA+IDApCisJCQkJcHJpbnRmKCIgIHRvdGFsXHRcdFx0XHQldVxuIiwgdGhpcyk7CisJCX0gZWxzZSBpZiAoKHRoaXMgfHwgb3B0QWxsKSAmJgorCQkJICAgKGZuX2xlbiA9IG5leHRfYWRkIC0gZm5fYWRkKSAhPSAwKSB7CisJCQlpZiAob3B0VmVyYm9zZSkKKwkJCQlwcmludGYoIiUwMTZsbHggJS00MHMgJTZ1ICU4LjRmXG4iLCBmbl9hZGQsCisJCQkJICAgICAgIGZuX25hbWUsIHRoaXMsIHRoaXMgLyAoZG91YmxlKWZuX2xlbik7CisJCQllbHNlCisJCQkJcHJpbnRmKCIlNnUgJS00MHMgJTguNGZcbiIsCisJCQkJICAgICAgIHRoaXMsIGZuX25hbWUsIHRoaXMgLyAoZG91YmxlKWZuX2xlbik7CisJCQlpZiAob3B0U3ViKSB7CisJCQkJdW5zaWduZWQgbG9uZyBsb25nIHNjYW47CisKKwkJCQlmb3IgKHNjYW4gPSAoZm5fYWRkIC0gYWRkMCkgLyBzdGVwICsgMTsKKwkJCQkgICAgIHNjYW4gPCAobmV4dF9hZGQgLSBhZGQwKSAvIHN0ZXA7CisJCQkJICAgICBzY2FuKyspIHsKKwkJCQkJdW5zaWduZWQgbG9uZyBsb25nIGFkZHI7CisJCQkJCWFkZHIgPSAoc2NhbiAtIDEpICogc3RlcCArIGFkZDA7CisJCQkJCXByaW50ZigiXHQlI2xseFx0JXMrJSNsbHhcdCV1XG4iLAorCQkJCQkgICAgICAgYWRkciwgZm5fbmFtZSwgYWRkciAtIGZuX2FkZCwKKwkJCQkJICAgICAgIGJ1ZltzY2FuXSk7CisJCQkJfQorCQkJfQorCQl9CisKKwkJZm5fYWRkID0gbmV4dF9hZGQ7CisJCXN0cmNweShmbl9uYW1lLCBuZXh0X25hbWUpOworCisJCW1hcGxpbmVubysrOworCQlpZiAoZG9uZSkKKwkJCWJyZWFrOworCX0KKworCS8qIGNsb2NrIHRpY2tzLCBvdXQgb2Yga2VybmVsIHRleHQgLSBwcm9iYWJseSBtb2R1bGVzICovCisJcHJpbnRmKCIlNnUgJXNcbiIsIGJ1ZltsZW4gLyBzaXplb2YoKmJ1ZikgLSAxXSwgIip1bmtub3duKiIpOworCisJLyogdHJhaWxlciAqLworCWlmIChvcHRWZXJib3NlKQorCQlwcmludGYoIiUwMTZ4ICUtNDBzICU2dSAlOC40ZlxuIiwKKwkJICAgICAgIDAsICJ0b3RhbCIsIHRvdGFsLCB0b3RhbCAvIChkb3VibGUpKGZuX2FkZCAtIGFkZDApKTsKKwllbHNlCisJCXByaW50ZigiJTZ1ICUtNDBzICU4LjRmXG4iLAorCQkgICAgICAgdG90YWwsIF8oInRvdGFsIiksIHRvdGFsIC8gKGRvdWJsZSkoZm5fYWRkIC0gYWRkMCkpOworCisJcG9wZW5NYXAgPyBwY2xvc2UobWFwKSA6IGZjbG9zZShtYXApOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9yZW5pY2UuMSBiL3N5cy11dGlscy9yZW5pY2UuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YWM4ZTRiCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL3JlbmljZS4xCkBAIC0wLDAgKzEsMTE5IEBACisuXCIgQ29weXJpZ2h0IChjKSAxOTgzLCAxOTkxLCAxOTkzCisuXCIJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisuXCIKKy5cIiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy5cIiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy5cIiBhcmUgbWV0OgorLlwiIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLlwiIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLlwiICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisuXCIgMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisuXCIgICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorLlwiCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKy5cIglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKy5cIiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworLlwiICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorLlwiICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLlwiCisuXCIgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKy5cIiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKy5cIiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorLlwiIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLlwiIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisuXCIgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKy5cIiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKy5cIiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorLlwiIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKy5cIiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisuXCIgU1VDSCBEQU1BR0UuCisuXCIKKy5cIiAgICAgQCgjKXJlbmljZS44CTguMSAoQmVya2VsZXkpIDYvOS85MworLlwiCisuVEggUkVOSUNFICIxIiAiSnVseSAyMDE0IiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQorcmVuaWNlIFwtIGFsdGVyIHByaW9yaXR5IG9mIHJ1bm5pbmcgcHJvY2Vzc2VzCisuU0ggU1lOT1BTSVMKKy5CIHJlbmljZQorLlJCIFsgXC1uIF0KKy5JIHByaW9yaXR5CisuUkIgWyBcLWcgfCBcLXAgfCBcLXUgXQorLklSIGlkZW50aWZpZXIgLi4uCisuU0ggREVTQ1JJUFRJT04KKy5CIHJlbmljZQorYWx0ZXJzIHRoZSBzY2hlZHVsaW5nIHByaW9yaXR5IG9mIG9uZSBvciBtb3JlIHJ1bm5pbmcgcHJvY2Vzc2VzLiAgVGhlCitmaXJzdCBhcmd1bWVudCBpcyB0aGUgXGZJcHJpb3JpdHlcZlIgdmFsdWUgdG8gYmUgdXNlZC4KK1RoZSBvdGhlciBhcmd1bWVudHMgYXJlIGludGVycHJldGVkIGFzIHByb2Nlc3MgSURzIChieSBkZWZhdWx0KSwKK3Byb2Nlc3MgZ3JvdXAgSURzLCB1c2VyIElEcywgb3IgdXNlciBuYW1lcy4KKy5CUiByZW5pY2UgJ2luZworYSBwcm9jZXNzIGdyb3VwIGNhdXNlcyBhbGwgcHJvY2Vzc2VzIGluIHRoZSBwcm9jZXNzIGdyb3VwIHRvIGhhdmUgdGhlaXIKK3NjaGVkdWxpbmcgcHJpb3JpdHkgYWx0ZXJlZC4KKy5CUiByZW5pY2UgJ2luZworYSB1c2VyIGNhdXNlcyBhbGwgcHJvY2Vzc2VzIG93bmVkIGJ5IHRoZSB1c2VyIHRvIGhhdmUgdGhlaXIgc2NoZWR1bGluZworcHJpb3JpdHkgYWx0ZXJlZC4KKy5QUAorLlNIIE9QVElPTlMKKy5UUAorLkJSIFwtbiAsICIgXC1cLXByaW9yaXR5ICIgXGZJcHJpb3JpdHlcZlIKK1NwZWNpZnkgdGhlIHNjaGVkdWxpbmcKKy5JIHByaW9yaXR5Cit0byBiZSB1c2VkIGZvciB0aGUgcHJvY2VzcywgcHJvY2VzcyBncm91cCwgb3IgdXNlci4gIFVzZSBvZiB0aGUgb3B0aW9uCisuQlIgXC1uICIgb3IgIiBcLVwtcHJpb3JpdHkKK2lzIG9wdGlvbmFsLCBidXQgd2hlbiB1c2VkIGl0IG11c3QgYmUgdGhlIGZpcnN0IGFyZ3VtZW50LgorLlRQCisuQlIgXC1nICwgIiBcLVwtcGdycAorSW50ZXJwcmV0IHRoZSBzdWNjZWVkaW5nIGFyZ3VtZW50cyBhcyBwcm9jZXNzIGdyb3VwIElEcy4KKy5UUAorLkJSIFwtcCAsICIgXC1cLXBpZAorSW50ZXJwcmV0IHRoZSBzdWNjZWVkaW5nIGFyZ3VtZW50cyBhcyBwcm9jZXNzIElEcworKHRoZSBkZWZhdWx0KS4KKy5UUAorLkJSIFwtdSAsICIgXC1cLXVzZXIKK0ludGVycHJldCB0aGUgc3VjY2VlZGluZyBhcmd1bWVudHMgYXMgdXNlcm5hbWVzIG9yIFVJRHMuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIIEVYQU1QTEVTCitUaGUgZm9sbG93aW5nIGNvbW1hbmQgd291bGQgY2hhbmdlIHRoZSBwcmlvcml0eSBvZiB0aGUgcHJvY2Vzc2VzIHdpdGgKK1BJRHMgOTg3IGFuZCAzMiwgcGx1cyBhbGwgcHJvY2Vzc2VzIG93bmVkIGJ5IHRoZSB1c2VycyBkYWVtb24gYW5kIHJvb3Q6CisuVFAKKy5CICIgICAgICAgcmVuaWNlIiArMSA5ODcgLXUgZGFlbW9uIHJvb3QgLXAgMzIKKy5TSCBOT1RFUworVXNlcnMgb3RoZXIgdGhhbiB0aGUgc3VwZXJ1c2VyIG1heSBvbmx5IGFsdGVyIHRoZSBwcmlvcml0eSBvZiBwcm9jZXNzZXMgdGhleQorb3duLiAgRnVydGhlcm1vcmUsIGFuIHVucHJpdmlsZWdlZCB1c2VyIGNhbiBvbmx5CisuSSBpbmNyZWFzZQordGhlIGBgbmljZSB2YWx1ZScnIChpLmUuLCBjaG9vc2UgYSBsb3dlciBwcmlvcml0eSkKK2FuZCBzdWNoIGNoYW5nZXMgYXJlIGlycmV2ZXJzaWJsZSB1bmxlc3MgKHNpbmNlIExpbnV4IDIuNi4xMikKK3RoZSB1c2VyIGhhcyBhIHN1aXRhYmxlIGBgbmljZScnIHJlc291cmNlIGxpbWl0IChzZWUKKy5CUiB1bGltaXQgKDEpCithbmQKKy5CUiBnZXRybGltaXQgKDIpKS4KKworVGhlIHN1cGVydXNlciBtYXkgYWx0ZXIgdGhlIHByaW9yaXR5IG9mIGFueSBwcm9jZXNzIGFuZCBzZXQgdGhlIHByaW9yaXR5IHRvIGFueQordmFsdWUgaW4gdGhlIHJhbmdlIFwtMjAgdG8gMTkuCitVc2VmdWwgcHJpb3JpdGllcyBhcmU6IDE5ICh0aGUgYWZmZWN0ZWQgcHJvY2Vzc2VzIHdpbGwgcnVuIG9ubHkgd2hlbiBub3RoaW5nCitlbHNlIGluIHRoZSBzeXN0ZW0gd2FudHMgdG8pLCAwICh0aGUgYGBiYXNlJycgc2NoZWR1bGluZyBwcmlvcml0eSksIGFueXRoaW5nCituZWdhdGl2ZSAodG8gbWFrZSB0aGluZ3MgZ28gdmVyeSBmYXN0KS4KKy5TSCBGSUxFUworLlRQCisuSSAvZXRjL3Bhc3N3ZAordG8gbWFwIHVzZXIgbmFtZXMgdG8gdXNlciBJRHMKKy5TSCBTRUUgQUxTTworLkJSIG5pY2UgKDEpLAorLkJSIGdldHByaW9yaXR5ICgyKSwKKy5CUiBzZXRwcmlvcml0eSAoMiksCisuQlIgY3JlZGVudGlhbHMgKDcpLAorLkJSIHNjaGVkICg3KQorLlNIIEhJU1RPUlkKK1RoZQorLkIgcmVuaWNlCitjb21tYW5kIGFwcGVhcmVkIGluIDQuMEJTRC4KKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSByZW5pY2UgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgZnRwOi8vXDpmdHAua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvcmVuaWNlLmMgYi9zeXMtdXRpbHMvcmVuaWNlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjU2YTExMQotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9yZW5pY2UuYwpAQCAtMCwwICsxLDE5MyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk4MywgMTk4OSwgMTk5MworICoJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKKyAqICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKyAqCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKyAqCUNhbGlmb3JuaWEsIEJlcmtlbGV5IGFuZCBpdHMgY29udHJpYnV0b3JzLgorICogNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisgLyogMTk5OS0wMi0yMiBBcmthZGl1c3ogTWnFm2tpZXdpY3ogPG1pc2lla0BwbGQuT1JHLlBMPgorICAqIC0gYWRkZWQgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKKyAgKi8KKworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjaW5jbHVkZSA8c3lzL3Jlc291cmNlLmg+CisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHB3ZC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisKK2NvbnN0IGNoYXIgKmlkdHlwZVtdID0geworCVtQUklPX1BST0NFU1NdCT0gTl8oInByb2Nlc3MgSUQiKSwKKwlbUFJJT19QR1JQXQk9IE5fKCJwcm9jZXNzIGdyb3VwIElEIiksCisJW1BSSU9fVVNFUl0JPSBOXygidXNlciBJRCIpLAorfTsKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqb3V0KQoreworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwKKwkgICAgICBfKCIgJTEkcyBbLW5dIDxwcmlvcml0eT4gWy1wfC0tcGlkXSA8cGlkPi4uLlxuIgorCQkiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtZ3wtLXBncnAgPHBnaWQ+Li4uXG4iCisJCSIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC11fC0tdXNlciA8dXNlcj4uLi5cbiIpLAorCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiQWx0ZXIgdGhlIHByaW9yaXR5IG9mIHJ1bm5pbmcgcHJvY2Vzc2VzLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIHNwZWNpZnkgdGhlIG5pY2UgaW5jcmVtZW50IHZhbHVlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBJRCAoZGVmYXVsdClcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIGdyb3VwIElEXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXUsIC0tdXNlciA8bmFtZT58PGlkPiBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIiksIG91dCk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKFVTQUdFX0hFTFAsIG91dCk7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoInJlbmljZSgxKSIpKTsKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgaW50IGdldHByaW8oY29uc3QgaW50IHdoaWNoLCBjb25zdCBpbnQgd2hvLCBpbnQgKnByaW8pCit7CisJZXJybm8gPSAwOworCSpwcmlvID0gZ2V0cHJpb3JpdHkod2hpY2gsIHdobyk7CisJaWYgKCpwcmlvID09IC0xICYmIGVycm5vKSB7CisJCXdhcm4oXygiZmFpbGVkIHRvIGdldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIpLCB3aG8sIGlkdHlwZVt3aGljaF0pOworCQlyZXR1cm4gLWVycm5vOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBkb25pY2UoY29uc3QgaW50IHdoaWNoLCBjb25zdCBpbnQgd2hvLCBjb25zdCBpbnQgcHJpbykKK3sKKwlpbnQgb2xkcHJpbywgbmV3cHJpbzsKKworCWlmIChnZXRwcmlvKHdoaWNoLCB3aG8sICZvbGRwcmlvKSAhPSAwKQorCQlyZXR1cm4gMTsKKwlpZiAoc2V0cHJpb3JpdHkod2hpY2gsIHdobywgcHJpbykgPCAwKSB7CisJCXdhcm4oXygiZmFpbGVkIHRvIHNldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIpLCB3aG8sIGlkdHlwZVt3aGljaF0pOworCQlyZXR1cm4gMTsKKwl9CisJaWYgKGdldHByaW8od2hpY2gsIHdobywgJm5ld3ByaW8pICE9IDApCisJCXJldHVybiAxOworCXByaW50ZihfKCIlZCAoJXMpIG9sZCBwcmlvcml0eSAlZCwgbmV3IHByaW9yaXR5ICVkXG4iKSwKKwkgICAgICAgd2hvLCBpZHR5cGVbd2hpY2hdLCBvbGRwcmlvLCBuZXdwcmlvKTsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIENoYW5nZSB0aGUgcHJpb3JpdHkgKHRoZSBuaWNlIHZhbHVlKSBvZiBwcm9jZXNzZXMKKyAqIG9yIGdyb3VwcyBvZiBwcm9jZXNzZXMgd2hpY2ggYXJlIGFscmVhZHkgcnVubmluZy4KKyAqLworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCB3aGljaCA9IFBSSU9fUFJPQ0VTUzsKKwlpbnQgd2hvID0gMCwgcHJpbywgZXJycyA9IDA7CisJY2hhciAqZW5kcHRyID0gTlVMTDsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlhcmdjLS07CisJYXJndisrOworCisJaWYgKGFyZ2MgPT0gMSkgeworCQlpZiAoc3RyY21wKCphcmd2LCAiLWgiKSA9PSAwIHx8CisJCSAgICBzdHJjbXAoKmFyZ3YsICItLWhlbHAiKSA9PSAwKQorCQkJdXNhZ2Uoc3Rkb3V0KTsKKworCQlpZiAoc3RyY21wKCphcmd2LCAiLXYiKSA9PSAwIHx8CisJCSAgICBzdHJjbXAoKmFyZ3YsICItViIpID09IDAgfHwKKwkJICAgIHN0cmNtcCgqYXJndiwgIi0tdmVyc2lvbiIpID09IDApIHsKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJfQorCX0KKworCWlmICgqYXJndiAmJiAoc3RyY21wKCphcmd2LCAiLW4iKSA9PSAwIHx8IHN0cmNtcCgqYXJndiwgIi0tcHJpb3JpdHkiKSA9PSAwKSkgeworCQlhcmdjLS07CisJCWFyZ3YrKzsKKwl9CisKKwlpZiAoYXJnYyA8IDIpCisJCXVzYWdlKHN0ZGVycik7CisKKwlwcmlvID0gc3RydG9sKCphcmd2LCAmZW5kcHRyLCAxMCk7CisJaWYgKCplbmRwdHIpCisJCXVzYWdlKHN0ZGVycik7CisKKwlhcmdjLS07CisJYXJndisrOworCisJZm9yICg7IGFyZ2MgPiAwOyBhcmdjLS0sIGFyZ3YrKykgeworCQlpZiAoc3RyY21wKCphcmd2LCAiLWciKSA9PSAwIHx8IHN0cmNtcCgqYXJndiwgIi0tcGdycCIpID09IDApIHsKKwkJCXdoaWNoID0gUFJJT19QR1JQOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKHN0cmNtcCgqYXJndiwgIi11IikgPT0gMCB8fCBzdHJjbXAoKmFyZ3YsICItLXVzZXIiKSA9PSAwKSB7CisJCQl3aGljaCA9IFBSSU9fVVNFUjsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmIChzdHJjbXAoKmFyZ3YsICItcCIpID09IDAgfHwgc3RyY21wKCphcmd2LCAiLS1waWQiKSA9PSAwKSB7CisJCQl3aGljaCA9IFBSSU9fUFJPQ0VTUzsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmICh3aGljaCA9PSBQUklPX1VTRVIpIHsKKwkJCXN0cnVjdCBwYXNzd2QgKnB3ZCA9IGdldHB3bmFtKCphcmd2KTsKKworCQkJaWYgKHB3ZCAhPSBOVUxMKQorCQkJCXdobyA9IHB3ZC0+cHdfdWlkOworCQkJZWxzZQorCQkJCXdobyA9IHN0cnRvbCgqYXJndiwgJmVuZHB0ciwgMTApOworCQkJaWYgKHdobyA8IDAgfHwgKmVuZHB0cikgeworCQkJCXdhcm54KF8oInVua25vd24gdXNlciAlcyIpLCAqYXJndik7CisJCQkJZXJycyA9IDE7CisJCQkJY29udGludWU7CisJCQl9CisJCX0gZWxzZSB7CisJCQl3aG8gPSBzdHJ0b2woKmFyZ3YsICZlbmRwdHIsIDEwKTsKKwkJCWlmICh3aG8gPCAwIHx8ICplbmRwdHIpIHsKKwkJCQkvKiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIG9uZSBvZiB0aGUgYWJvdmUKKwkJCQkgKiB0aHJlZSBJRCBuYW1lcy4gUmVhZDogImJhZCB2YWx1ZSBmb3IgJXM6ICVzIiAqLworCQkJCXdhcm54KF8oImJhZCAlcyB2YWx1ZTogJXMiKSwgaWR0eXBlW3doaWNoXSwgKmFyZ3YpOworCQkJCWVycnMgPSAxOworCQkJCWNvbnRpbnVlOworCQkJfQorCQl9CisJCWVycnMgfD0gZG9uaWNlKHdoaWNoLCB3aG8sIHByaW8pOworCX0KKwlyZXR1cm4gZXJycyAhPSAwID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL3J0Y3dha2UuOC5pbiBiL3N5cy11dGlscy9ydGN3YWtlLjguaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzcyYmYzYwotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9ydGN3YWtlLjguaW4KQEAgLTAsMCArMSwxODEgQEAKKy5cIiBDb3B5cmlnaHQgKGMpIDIwMDcsIFNVU0UgTElOVVggUHJvZHVjdHMgR21iSAorLlwiICAgICAgICAgICAgICAgICAgICAgQmVybmhhcmQgV2FsbGUgPGJ3YWxsZUBzdXNlLmRlPgorLlwiCisuXCIgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorLlwiIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisuXCIgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKy5cIiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKy5cIgorLlwiIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorLlwiIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisuXCIgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorLlwiIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisuXCIKKy5cIiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLlwiIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisuXCIgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQQorLlwiIDAyMTEwLTEzMDEsIFVTQS4KKy5cIgorLlRIIFJUQ1dBS0UgOCAiSnVuZSAyMDE1IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitydGN3YWtlIFwtIGVudGVyIGEgc3lzdGVtIHNsZWVwIHN0YXRlIHVudGlsIHNwZWNpZmllZCB3YWtldXAgdGltZQorLlNIIFNZTk9QU0lTCisuQiBydGN3YWtlCitbb3B0aW9uc10KKy5SQiBbIFwtZAorLklSIGRldmljZSBdCisuUkIgWyBcLW0KKy5JUiBzdGFuZGJ5X21vZGUgXQorLlJCIHsgIlwtcyBcZklzZWNvbmRzXGZQIiB8ICJcLXQgXGZJdGltZV90XGZQIiB9CisuU0ggREVTQ1JJUFRJT04KK1RoaXMgcHJvZ3JhbSBpcyB1c2VkIHRvIGVudGVyIGEgc3lzdGVtIHNsZWVwIHN0YXRlIGFuZCB0byBhdXRvbWF0aWNhbGx5Cit3YWtlIGZyb20gaXQgYXQgYSBzcGVjaWZpZWQgdGltZS4KKy5QUAorVGhpcyB1c2VzIGNyb3NzLXBsYXRmb3JtIExpbnV4IGludGVyZmFjZXMgdG8gZW50ZXIgYSBzeXN0ZW0gc2xlZXAgc3RhdGUsIGFuZAorbGVhdmUgaXQgbm8gbGF0ZXIgdGhhbiBhIHNwZWNpZmllZCB0aW1lLiAgSXQgdXNlcyBhbnkgUlRDIGZyYW1ld29yayBkcml2ZXIgdGhhdAorc3VwcG9ydHMgc3RhbmRhcmQgZHJpdmVyIG1vZGVsIHdha2V1cCBmbGFncy4KKy5QUAorVGhpcyBpcyBub3JtYWxseSB1c2VkIGxpa2UgdGhlIG9sZCBcZkJhcG1zbGVlcFxmUCB1dGlsaXR5LCB0byB3YWtlIGZyb20gYSBzdXNwZW5kCitzdGF0ZSBsaWtlIEFDUEkgUzEgKHN0YW5kYnkpIG9yIFMzIChzdXNwZW5kLXRvLVJBTSkuICBNb3N0IHBsYXRmb3JtcyBjYW4KK2ltcGxlbWVudCB0aG9zZSB3aXRob3V0IGFuYWxvZ3VlcyBvZiBCSU9TLCBBUE0sIG9yIEFDUEkuCisuUFAKK09uIHNvbWUgc3lzdGVtcywgdGhpcyBjYW4gYWxzbyBiZSB1c2VkIGxpa2UgXGZCbnZyYW0td2FrZXVwXGZQLCB3YWtpbmcgZnJvbSBzdGF0ZXMKK2xpa2UgQUNQSSBTNCAoc3VzcGVuZCB0byBkaXNrKS4gIE5vdCBhbGwgc3lzdGVtcyBoYXZlIHBlcnNpc3RlbnQgbWVkaWEgdGhhdCBhcmUKK2FwcHJvcHJpYXRlIGZvciBzdWNoIHN1c3BlbmQgbW9kZXMuCisuUFAKK05vdGUgdGhhdCBhbGFybSBmdW5jdGlvbmFsaXR5IGRlcGVuZHMgb24gaGFyZHdhcmU7IG5vdCBldmVyeSBSVEMgaXMgYWJsZSB0byBzZXR1cCAKK2FuIGFsYXJtIHVwIHRvIDI0IGhvdXJzIGluIHRoZSBmdXR1cmUuCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1BICwgIiBcLVwtYWRqZmlsZSAiIFxmSWZpbGUKK1NwZWNpZnkgYW4gYWx0ZXJuYXRpdmUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGUuCisuVFAKKy5CUiBcLWEgLCAiIFwtXC1hdXRvIgorUmVhZCB0aGUgY2xvY2sgbW9kZSAod2hldGhlciB0aGUgaGFyZHdhcmUgY2xvY2sgaXMgc2V0IHRvIFVUQyBvciBsb2NhbCB0aW1lKQorZnJvbSB0aGUgXGZJYWRqdGltZVxmUCBmaWxlLCB3aGVyZQorLkJSIGh3Y2xvY2sgKDgpCitzdG9yZXMgdGhhdCBpbmZvcm1hdGlvbi4gIFRoaXMgaXMgdGhlIGRlZmF1bHQuCisuVFAKKy5CUiBcLVwtZGF0ZSAiIFxmSXRpbWVzdGFtcCIKK1NldCB0aGUgd2FrZXVwIHRpbWUgdG8gdGhlIHZhbHVlIG9mIHRoZSB0aW1lc3RhbXAuICBGb3JtYXQgb2YgdGhlCit0aW1lc3RtYXAgY2FuIGJlIGFueSBvZiB0aGUgZm9sbG93aW5nOgorLlRTCit0YWIofCk7CitsZWZ0IGwyIGwuCitZWVlZTU1ERGhobW1zcworWVlZWS1NTS1ERCBoaDptbTpzcworWVlZWS1NTS1ERCBoaDptbXwoc2Vjb25kcyB3aWxsIGJlIHNldCB0byAwMCkKK1lZWVktTU0tRER8KHRpbWUgd2lsbCBiZSBzZXQgdG8gMDA6MDA6MDApCitoaDptbTpzc3woZGF0ZSB3aWxsIGJlIHNldCB0byB0b2RheSkKK2hoOm1tfChkYXRlIHdpbGwgYmUgc2V0IHRvIHRvZGF5LCBzZWNvbmRzIHRvIDAwKQordG9tb3Jyb3d8KHRpbWUgaXMgc2V0IHRvIDAwOjAwOjAwKQorKzVtaW4KKy5URQorLlRQCisuQlIgXC1kICwgIiBcLVwtZGV2aWNlICIgXGZJZGV2aWNlCitVc2UgdGhlIHNwZWNpZmllZCBcZklkZXZpY2VcZlAgaW5zdGVhZCBvZiBcZkJydGMwXGZQIGFzIHJlYWx0aW1lIGNsb2NrLgorVGhpcyBvcHRpb24gaXMgb25seSByZWxldmFudCBpZiB5b3VyIHN5c3RlbSBoYXMgbW9yZSB0aGFuIG9uZSBSVEMuCitZb3UgbWF5IHNwZWNpZnkgXGZCcnRjMVxmUCwgXGZCcnRjMlxmUCwgLi4uIGhlcmUuCisuVFAKKy5CUiBcLWwgLCAiIFwtXC1sb2NhbCIKK0Fzc3VtZSB0aGF0IHRoZSBoYXJkd2FyZSBjbG9jayBpcyBzZXQgdG8gbG9jYWwgdGltZSwgcmVnYXJkbGVzcyBvZiB0aGUKK2NvbnRlbnRzIG9mIHRoZSBcZklhZGp0aW1lXGZQIGZpbGUuCisuVFAKKy5CIFwtXC1saXN0XC1tb2RlcworTGlzdCBhdmFpbGFibGUgXC1cLW1vZGUgb3B0aW9uIGFyZ3VtZW50cy4KKy5UUAorLkJSIFwtbSAsICIgXC1cLW1vZGUgIiBcZkltb2RlCitHbyBpbnRvIHRoZSBnaXZlbiBzdGFuZGJ5IHN0YXRlLiAgVmFsaWQgdmFsdWVzIGZvciBcZkltb2RlXGZQIGFyZToKKy5SUworLlRQCisuQiBzdGFuZGJ5CitBQ1BJIHN0YXRlIFMxLiAgVGhpcyBzdGF0ZSBvZmZlcnMgbWluaW1hbCwgdGhvdWdoIHJlYWwsIHBvd2VyIHNhdmluZ3MsIHdoaWxlCitwcm92aWRpbmcgYSB2ZXJ5IGxvdy1sYXRlbmN5IHRyYW5zaXRpb24gYmFjayB0byBhIHdvcmtpbmcgc3lzdGVtLiAgVGhpcyBpcyB0aGUKK2RlZmF1bHQgbW9kZS4KKy5UUAorLkIgZnJlZXplCitUaGUgcHJvY2Vzc2VzIGFyZSBmcm96ZW4sIGFsbCB0aGUgZGV2aWNlcyBhcmUgc3VzcGVuZGVkIGFuZCBhbGwgdGhlIHByb2Nlc3NvcnMKK2lkbGVkLiAgVGhpcyBzdGF0ZSBpcyBhIGdlbmVyYWwgc3RhdGUgdGhhdCBkb2VzIG5vdCBuZWVkIGFueSBwbGF0Zm9ybS1zcGVjaWZpYworc3VwcG9ydCwgYnV0IGl0IHNhdmVzIGxlc3MgcG93ZXIgdGhhbiBTdXNwZW5kLXRvLVJBTSwgYmVjYXVzZSB0aGUgc3lzdGVtIGlzCitzdGlsbCBpbiBhIHJ1bm5pbmcgc3RhdGUuICAoQXZhaWxhYmxlIHNpbmNlIExpbnV4IDMuOS4pCisuVFAKKy5CIG1lbQorQUNQSSBzdGF0ZSBTMyAoU3VzcGVuZC10by1SQU0pLiAgVGhpcyBzdGF0ZSBvZmZlcnMgc2lnbmlmaWNhbnQgcG93ZXIgc2F2aW5ncyBhcworZXZlcnl0aGluZyBpbiB0aGUgc3lzdGVtIGlzIHB1dCBpbnRvIGEgbG93LXBvd2VyIHN0YXRlLCBleGNlcHQgZm9yIG1lbW9yeSwKK3doaWNoIGlzIHBsYWNlZCBpbiBzZWxmLXJlZnJlc2ggbW9kZSB0byByZXRhaW4gaXRzIGNvbnRlbnRzLgorLlRQCisuQiBkaXNrCitBQ1BJIHN0YXRlIFM0IChTdXNwZW5kLXRvLWRpc2spLiAgVGhpcyBzdGF0ZSBvZmZlcnMgdGhlIGdyZWF0ZXN0IHBvd2VyIHNhdmluZ3MsCithbmQgY2FuIGJlIHVzZWQgZXZlbiBpbiB0aGUgYWJzZW5jZSBvZiBsb3ctbGV2ZWwgcGxhdGZvcm0gc3VwcG9ydCBmb3IgcG93ZXIKK21hbmFnZW1lbnQuICBUaGlzIHN0YXRlIG9wZXJhdGVzIHNpbWlsYXJseSB0byBTdXNwZW5kLXRvLVJBTSwgYnV0IGluY2x1ZGVzIGEKK2ZpbmFsIHN0ZXAgb2Ygd3JpdGluZyBtZW1vcnkgY29udGVudHMgdG8gZGlzay4KKy5UUAorLkIgb2ZmCitBQ1BJIHN0YXRlIFM1IChQb3dlcm9mZikuICBUaGlzIGlzIGRvbmUgYnkgY2FsbGluZyAnL3NiaW4vc2h1dGRvd24nLgorTm90IG9mZmljaWFsbHkgc3VwcG9ydGVkIGJ5IEFDUEksIGJ1dCBpdCB1c3VhbGx5IHdvcmtzLgorLlRQCisuQiBubworRG9uJ3Qgc3VzcGVuZCwgb25seSBzZXQgdGhlIFJUQyB3YWtldXAgdGltZS4KKy5UUAorLkIgb24KK0Rvbid0IHN1c3BlbmQsIGJ1dCByZWFkIHRoZSBSVEMgZGV2aWNlIHVudGlsIGFuIGFsYXJtIHRpbWUgYXBwZWFycy4KK1RoaXMgbW9kZSBpcyB1c2VmdWwgZm9yIGRlYnVnZ2luZy4KKy5UUAorLkIgZGlzYWJsZQorRGlzYWJsZSBhIHByZXZpb3VzbHkgc2V0IGFsYXJtLgorLlRQCisuQiBzaG93CitQcmludCBhbGFybSBpbmZvcm1hdGlvbiBpbiBmb3JtYXQ6ICJhbGFybTogb2ZmfG9uICA8dGltZT4iLgorVGhlIHRpbWUgaXMgaW4gY3RpbWUoKSBvdXRwdXQgZm9ybWF0LCBlLmcuICJhbGFybTogb24gIFR1ZSBOb3YgMTYgMDQ6NDg6NDUgMjAxMCIuCisuUkUKKy5UUAorLkJSIFwtbiAsICIgXC1cLWRyeS1ydW4iCitUaGlzIG9wdGlvbiBkb2VzIGV2ZXJ5dGhpbmcgYXBhcnQgZnJvbSBhY3R1YWxseSBzZXR0aW5nIHVwIHRoZSBhbGFybSwKK3N1c3BlbmRpbmcgdGhlIHN5c3RlbSwgb3Igd2FpdGluZyBmb3IgdGhlIGFsYXJtLgorLlRQCisuQlIgXC1zICwgIiBcLVwtc2Vjb25kcyAiIFxmSXNlY29uZHMKK1NldCB0aGUgd2FrZXVwIHRpbWUgdG8gXGZJc2Vjb25kc1xmUCBpbiB0aGUgZnV0dXJlIGZyb20gbm93LgorLlRQCisuQlIgXC10ICwgIiBcLVwtdGltZSAiIFxmSXRpbWVfdAorU2V0IHRoZSB3YWtldXAgdGltZSB0byB0aGUgYWJzb2x1dGUgdGltZSBcZkl0aW1lX3RcZlAuICBcZkl0aW1lX3RcZlAKK2lzIHRoZSB0aW1lIGluIHNlY29uZHMgc2luY2UgMTk3MC0wMS0wMSwgMDA6MDAgVVRDLiAgVXNlIHRoZQorLkJSIGRhdGUgKDEpCit0b29sIHRvIGNvbnZlcnQgYmV0d2VlbiBodW1hbi1yZWFkYWJsZSB0aW1lIGFuZCBcZkl0aW1lX3RcZlAuCisuVFAKKy5CUiBcLXUgLCAiIFwtXC11dGMiCitBc3N1bWUgdGhhdCB0aGUgaGFyZHdhcmUgY2xvY2sgaXMgc2V0IHRvIFVUQyAoVW5pdmVyc2FsIFRpbWUgQ29vcmRpbmF0ZWQpLAorcmVnYXJkbGVzcyBvZiB0aGUgY29udGVudHMgb2YgdGhlIFxmSWFkanRpbWVcZlAgZmlsZS4KKy5UUAorLkJSIFwtdiAsICIgXC1cLXZlcmJvc2UiCitCZSB2ZXJib3NlLgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBOT1RFUworU29tZSBQQyBzeXN0ZW1zIGNhbid0IGN1cnJlbnRseSBleGl0IHNsZWVwIHN0YXRlcyBzdWNoIGFzIFxmQm1lbVxmUAordXNpbmcgb25seSB0aGUga2VybmVsIGNvZGUgYWNjZXNzZWQgYnkgdGhpcyBkcml2ZXIuCitUaGV5IG5lZWQgaGVscCBmcm9tIHVzZXJzcGFjZSBjb2RlIHRvIG1ha2UgdGhlIGZyYW1lYnVmZmVyIHdvcmsgYWdhaW4uCisuU0ggRklMRVMKKy5JIEBBREpUSU1FX1BBVEhACisuU0ggSElTVE9SWQorVGhlIHByb2dyYW0gd2FzIHBvc3RlZCBzZXZlcmFsIHRpbWVzIG9uIExLTUwgYW5kIG90aGVyIGxpc3RzCitiZWZvcmUgYXBwZWFyaW5nIGluIGtlcm5lbCBjb21taXQgbWVzc2FnZSBmb3IgTGludXggMi42IGluIHRoZSBHSVQKK2NvbW1pdCA4N2FjODRmNDJhN2E1ODBkMGRkNzJhZTMxZDZhNWViNGJmZTA0YzZkLgorLlNIIEFVVEhPUlMKK1RoZSBwcm9ncmFtIHdhcyB3cml0dGVuIGJ5IERhdmlkIEJyb3duZWxsIDxkYnJvd25lbGxAdXNlcnMuc291cmNlZm9yZ2UubmV0PgorYW5kIGltcHJvdmVkIGJ5IEJlcm5oYXJkIFdhbGxlIDxid2FsbGVAc3VzZS5kZT4uCisuU0ggQ09QWVJJR0hUCitUaGlzIGlzIGZyZWUgc29mdHdhcmUuICBZb3UgbWF5IHJlZGlzdHJpYnV0ZSBjb3BpZXMgb2YgaXQgdW5kZXIgdGhlIHRlcm1zCitvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbD4uCitUaGVyZSBpcyBOTyBXQVJSQU5UWSwgdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgbGF3LgorLlNIICJTRUUgQUxTTyIKKy5CUiBod2Nsb2NrICg4KSwKKy5CUiBkYXRlICgxKQorLlNIIEFWQUlMQUJJTElUWQorVGhlIHJ0Y3dha2UgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tIHRoZQorLlVSIGZ0cDovL1w6ZnRwLmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL3J0Y3dha2UuYyBiL3N5cy11dGlscy9ydGN3YWtlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTFmNzVhZQotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9ydGN3YWtlLmMKQEAgLTAsMCArMSw2MzcgQEAKKy8qCisgKiBydGN3YWtlIC0tIGVudGVyIGEgc3lzdGVtIHNsZWVwIHN0YXRlIHVudGlsIHNwZWNpZmllZCB3YWtldXAgdGltZS4KKyAqCisgKiBUaGlzIHVzZXMgY3Jvc3MtcGxhdGZvcm0gTGludXggaW50ZXJmYWNlcyB0byBlbnRlciBhIHN5c3RlbSBzbGVlcCBzdGF0ZSwKKyAqIGFuZCBsZWF2ZSBpdCBubyBsYXRlciB0aGFuIGEgc3BlY2lmaWVkIHRpbWUuICBJdCB1c2VzIGFueSBSVEMgZnJhbWV3b3JrCisgKiBkcml2ZXIgdGhhdCBzdXBwb3J0cyBzdGFuZGFyZCBkcml2ZXIgbW9kZWwgd2FrZXVwIGZsYWdzLgorICoKKyAqIFRoaXMgaXMgbm9ybWFsbHkgdXNlZCBsaWtlIHRoZSBvbGQgImFwbXNsZWVwIiB1dGlsaXR5LCB0byB3YWtlIGZyb20gYQorICogc3VzcGVuZCBzdGF0ZSBsaWtlIEFDUEkgUzEgKHN0YW5kYnkpIG9yIFMzIChzdXNwZW5kLXRvLVJBTSkuICBNb3N0CisgKiBwbGF0Zm9ybXMgY2FuIGltcGxlbWVudCB0aG9zZSB3aXRob3V0IGFuYWxvZ3VlcyBvZiBCSU9TLCBBUE0sIG9yIEFDUEkuCisgKgorICogT24gc29tZSBzeXN0ZW1zLCB0aGlzIGNhbiBhbHNvIGJlIHVzZWQgbGlrZSAibnZyYW0td2FrZXVwIiwgd2FraW5nCisgKiBmcm9tIHN0YXRlcyBsaWtlIEFDUEkgUzQgKHN1c3BlbmQgdG8gZGlzaykuICBOb3QgYWxsIHN5c3RlbXMgaGF2ZQorICogcGVyc2lzdGVudCBtZWRpYSB0aGF0IGFyZSBhcHByb3ByaWF0ZSBmb3Igc3VjaCBzdXNwZW5kIG1vZGVzLgorICoKKyAqIFRoZSBiZXN0IHdheSB0byBzZXQgdGhlIHN5c3RlbSdzIFJUQyBpcyBzbyB0aGF0IGl0IGhvbGRzIHRoZSBjdXJyZW50CisgKiB0aW1lIGluIFVUQy4gIFVzZSB0aGUgIi1sIiBmbGFnIHRvIHRlbGwgdGhpcyBwcm9ncmFtIHRoYXQgdGhlIHN5c3RlbQorICogUlRDIHVzZXMgYSBsb2NhbCB0aW1lem9uZSBpbnN0ZWFkIChtYXliZSB5b3UgZHVhbC1ib290IE1TLVdpbmRvd3MpLgorICogVGhhdCBmbGFnIHNob3VsZCBub3QgYmUgbmVlZGVkIG9uIHN5c3RlbXMgd2l0aCBhZGp0aW1lIHN1cHBvcnQuCisgKi8KKworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxsaW51eC9ydGMuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8dGltZS5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAiZW52LmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAib3B0dXRpbHMuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInN0cnYuaCIKKyNpbmNsdWRlICJ0aW1ldXRpbHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKworI2lmbmRlZiBSVENfQUYKKyMgZGVmaW5lIFJUQ19BRgkJMHgyMAkvKiBBbGFybSBpbnRlcnJ1cHQgKi8KKyNlbmRpZgorCisjZGVmaW5lIEFESlRJTUVfWk9ORV9CVUZTSVoJCTgKKyNkZWZpbmUgU1lTX1dBS0VVUF9QQVRIX1RFTVBMQVRFCSIvc3lzL2NsYXNzL3J0Yy8lcy9kZXZpY2UvcG93ZXIvd2FrZXVwIgorI2RlZmluZSBTWVNfUE9XRVJfU1RBVEVfUEFUSAkJIi9zeXMvcG93ZXIvc3RhdGUiCisjZGVmaW5lIERFRkFVTFRfUlRDX0RFVklDRQkJIi9kZXYvcnRjMCIKKworZW51bSBydGNfbW9kZXMgewkvKiBtYW51YWwgcGFnZSAtLW1vZGUgb3B0aW9uIGV4cGxhaW5zIHRoZXNlLiAqLworCU9GRl9NT0RFID0gMCwKKwlOT19NT0RFLAorCU9OX01PREUsCisJRElTQUJMRV9NT0RFLAorCVNIT1dfTU9ERSwKKworCVNZU0ZTX01PREUJLyoga2VlcCBpdCBsYXN0ICovCisKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICpydGN3YWtlX21vZGVfc3RyaW5nW10gPSB7CisJW09GRl9NT0RFXSA9ICJvZmYiLAorCVtOT19NT0RFXSA9ICJubyIsCisJW09OX01PREVdID0gIm9uIiwKKwlbRElTQUJMRV9NT0RFXSA9ICJkaXNhYmxlIiwKKwlbU0hPV19NT0RFXSA9ICJzaG93IgorfTsKKworZW51bSBjbG9ja19tb2RlcyB7CisJQ01fQVVUTywKKwlDTV9VVEMsCisJQ01fTE9DQUwKK307CisKK3N0cnVjdCBydGN3YWtlX2NvbnRyb2wgeworCWNoYXIgKm1vZGVfc3RyOwkJCS8qIG5hbWUgb2YgdGhlIHJlcXVlc3RlZCBtb2RlICovCisJY2hhciAqKnBvc3NpYmxlX21vZGVzOwkJLyogbW9kZXMgbGlzdGVkIGluIC9zeXMvcG93ZXIvc3RhdGUgKi8KKwljaGFyICphZGpmaWxlOwkJCS8qIGFkanRpbWUgZmlsZSBwYXRoICovCisJZW51bSBjbG9ja19tb2RlcyBjbG9ja19tb2RlOwkvKiBod2Nsb2NrIHRpbWV6b25lICovCisJdGltZV90IHN5c190aW1lOwkJLyogc3lzdGVtIHRpbWUgKi8KKwl0aW1lX3QgcnRjX3RpbWU7CQkvKiBoYXJkd2FyZSB0aW1lICovCisJdW5zaWduZWQgaW50IHZlcmJvc2U6MSwJCS8qIHZlcmJvc2UgbWVzc2FnaW5nICovCisJCSAgICAgZHJ5cnVuOjE7CQkvKiBkbyBub3Qgc2V0IGFsYXJtLCBzdXNwZW5kIHN5c3RlbSwgZXRjICovCit9OworCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZShGSUxFICpvdXQpCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LAorCSAgICAgIF8oIiAlcyBbb3B0aW9uc11cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiRW50ZXIgYSBzeXN0ZW0gc2xlZXAgc3RhdGUgdW50aWwgYSBzcGVjaWZpZWQgd2FrZXVwIHRpbWUuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWF1dG8gICAgICAgICAgICAgICByZWFkcyB0aGUgY2xvY2sgbW9kZSBmcm9tIGFkanVzdCBmaWxlIChkZWZhdWx0KVxuIiksIG91dCk7CisJZnByaW50ZihvdXQsCisJICAgICAgXygiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisJCSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRlZmF1bHQgaXMgJXNcbiIpLCBfUEFUSF9BREpUSU1FKTsKKwlmcHV0cyhfKCIgICAgIC0tZGF0ZSA8dGltZXN0YW1wPiAgIGRhdGUgdGltZSBvZiB0aW1lc3RhbXAgdG8gd2FrZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1kLCAtLWRldmljZSA8ZGV2aWNlPiAgICBzZWxlY3QgcnRjIGRldmljZSAocnRjMHxydGMxfC4uLilcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgZG9lcyBldmVyeXRoaW5nLCBidXQgc3VzcGVuZFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICBSVEMgdXNlcyBsb2NhbCB0aW1lem9uZVxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLWxpc3QtbW9kZXMgICAgICAgICBsaXN0IGF2YWlsYWJsZSBtb2Rlc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1tLCAtLW1vZGUgPG1vZGU+ICAgICAgICBzdGFuZGJ5fG1lbXwuLi4gc2xlZXAgbW9kZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1zLCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXQsIC0tdGltZSA8dGltZV90PiAgICAgIHRpbWUgdG8gd2FrZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBSVEMgdXNlcyBVVENcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtZXNzYWdlc1xuIiksIG91dCk7CisKKwlwcmludGYoVVNBR0VfU0VQQVJBVE9SKTsKKwlwcmludGYoVVNBR0VfSEVMUCk7CisJcHJpbnRmKFVTQUdFX1ZFUlNJT04pOworCisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJydGN3YWtlKDgpIikpOworCisJZXhpdChvdXQgPT0gc3RkZXJyID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIGludCBpc193YWtldXBfZW5hYmxlZChjb25zdCBjaGFyICpkZXZuYW1lKQoreworCWNoYXIJYnVmWzEyOF0sICpzOworCUZJTEUJKmY7CisJc2l6ZV90CXNraXAgPSAwOworCisJaWYgKHN0YXJ0c3dpdGgoZGV2bmFtZSwgIi9kZXYvIikpCisJCXNraXAgPSA1OworCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mIGJ1ZiwgU1lTX1dBS0VVUF9QQVRIX1RFTVBMQVRFLCBkZXZuYW1lICsgc2tpcCk7CisJZiA9IGZvcGVuKGJ1ZiwgInIiKTsKKwlpZiAoIWYpIHsKKwkJd2FybihfKCJjYW5ub3Qgb3BlbiAlcyIpLCBidWYpOworCQlyZXR1cm4gMDsKKwl9CisKKwlzID0gZmdldHMoYnVmLCBzaXplb2YgYnVmLCBmKTsKKwlmY2xvc2UoZik7CisJaWYgKCFzKQorCQlyZXR1cm4gMDsKKwlzID0gc3RyY2hyKGJ1ZiwgJ1xuJyk7CisJaWYgKCFzKQorCQlyZXR1cm4gMDsKKwkqcyA9IDA7CisJLyogd2FrZXVwIGV2ZW50cyBjb3VsZCBiZSBkaXNhYmxlZCBvciBub3Qgc3VwcG9ydGVkICovCisJcmV0dXJuIHN0cmNtcChidWYsICJlbmFibGVkIikgPT0gMDsKK30KKworc3RhdGljIGludCBnZXRfYmFzZXRpbWVzKHN0cnVjdCBydGN3YWtlX2NvbnRyb2wgKmN0bCwgaW50IGZkKQoreworCXN0cnVjdCB0bSB0bSA9IHsgMCB9OworCXN0cnVjdCBydGNfdGltZQlydGM7CisKKwkvKiBUaGlzIHByb2Nlc3Mgd29ya3MgaW4gUlRDIHRpbWUsIGV4Y2VwdCB3aGVuIHdvcmtpbmcKKwkgKiB3aXRoIHRoZSBzeXN0ZW0gY2xvY2sgKHdoaWNoIGFsd2F5cyB1c2VzIFVUQykuCisJICovCisJaWYgKGN0bC0+Y2xvY2tfbW9kZSA9PSBDTV9VVEMpCisJCXhzZXRlbnYoIlRaIiwgIlVUQyIsIDEpOworCXR6c2V0KCk7CisJLyogUmVhZCBydGMgYW5kIHN5c3RlbSBjbG9ja3MgImF0IHRoZSBzYW1lIHRpbWUiLCBvciBhcworCSAqIHByZWNpc2VseSAoKy8tIGEgc2Vjb25kKSBhcyB3ZSBjYW4gcmVhZCB0aGVtLgorCSAqLworCWlmIChpb2N0bChmZCwgUlRDX1JEX1RJTUUsICZydGMpIDwgMCkgeworCQl3YXJuKF8oInJlYWQgcnRjIHRpbWUgZmFpbGVkIikpOworCQlyZXR1cm4gLTE7CisJfQorCisJY3RsLT5zeXNfdGltZSA9IHRpbWUoMCk7CisJaWYgKGN0bC0+c3lzX3RpbWUgPT0gKHRpbWVfdCktMSkgeworCQl3YXJuKF8oInJlYWQgc3lzdGVtIHRpbWUgZmFpbGVkIikpOworCQlyZXR1cm4gLTE7CisJfQorCS8qIENvbnZlcnQgcnRjX3RpbWUgdG8gbm9ybWFsIGFyaXRobWV0aWMtZnJpZW5kbHkgZm9ybSwKKwkgKiB1cGRhdGluZyB0bS50bV93ZGF5IGFzIHVzZWQgYnkgYXNjdGltZSgpLgorCSAqLworCXRtLnRtX3NlYyA9IHJ0Yy50bV9zZWM7CisJdG0udG1fbWluID0gcnRjLnRtX21pbjsKKwl0bS50bV9ob3VyID0gcnRjLnRtX2hvdXI7CisJdG0udG1fbWRheSA9IHJ0Yy50bV9tZGF5OworCXRtLnRtX21vbiA9IHJ0Yy50bV9tb247CisJdG0udG1feWVhciA9IHJ0Yy50bV95ZWFyOworCXRtLnRtX2lzZHN0ID0gLTE7ICAvKiBhc3N1bWUgdGhlIHN5c3RlbSBrbm93cyBiZXR0ZXIgdGhhbiB0aGUgUlRDICovCisKKwljdGwtPnJ0Y190aW1lID0gbWt0aW1lKCZ0bSk7CisJaWYgKGN0bC0+cnRjX3RpbWUgPT0gKHRpbWVfdCktMSkgeworCQl3YXJuKF8oImNvbnZlcnQgcnRjIHRpbWUgZmFpbGVkIikpOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKGN0bC0+dmVyYm9zZSkgeworCQkvKiBVbmxlc3MgdGhlIHN5c3RlbSB1c2VzIFVUQywgZWl0aGVyIGRlbHRhIG9yIHR6b25lCisJCSAqIHJlZmxlY3RzIGEgc2Vjb25kcyBvZmZzZXQgZnJvbSBVVEMuICBUaGUgdmFsdWUgY2FuCisJCSAqIGhlbHAgc29ydCBvdXQgcHJvYmxlbXMgbGlrZSBidWdzIGluIHlvdXIgQyBsaWJyYXJ5LiAqLworCQlwcmludGYoIlx0ZGVsdGEgICA9ICVsZFxuIiwgY3RsLT5zeXNfdGltZSAtIGN0bC0+cnRjX3RpbWUpOworCQlwcmludGYoIlx0dHpvbmUgICA9ICVsZFxuIiwgdGltZXpvbmUpOworCQlwcmludGYoIlx0dHpuYW1lICA9ICVzXG4iLCB0em5hbWVbZGF5bGlnaHRdKTsKKwkJZ210aW1lX3IoJmN0bC0+cnRjX3RpbWUsICZ0bSk7CisJCXByaW50ZigiXHRzeXN0aW1lID0gJWxkLCAoVVRDKSAlcyIsCisJCQkJKGxvbmcpIGN0bC0+c3lzX3RpbWUsIGFzY3RpbWUoZ210aW1lKCZjdGwtPnN5c190aW1lKSkpOworCQlwcmludGYoIlx0cnRjdGltZSA9ICVsZCwgKFVUQykgJXMiLAorCQkJCShsb25nKSBjdGwtPnJ0Y190aW1lLCBhc2N0aW1lKCZ0bSkpOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzZXR1cF9hbGFybShzdHJ1Y3QgcnRjd2FrZV9jb250cm9sICpjdGwsIGludCBmZCwgdGltZV90ICp3YWtldXApCit7CisJc3RydWN0IHRtCQkqdG07CisJc3RydWN0IHJ0Y193a2Fscm0Jd2FrZSA9IHsgMCB9OworCisJLyogVGhlIHdha2V1cCB0aW1lIGlzIGluIFBPU0lYIHRpbWUgKG1vcmUgb3IgbGVzcyBVVEMpLiAgSWRlYWxseQorCSAqIFJUQ3MgdXNlIHRoYXQgc2FtZSB0aW1lOyBidXQgUENzIGNhbid0IGRvIHRoYXQgaWYgdGhleSBuZWVkIHRvCisJICogYm9vdCBNUy1XaW5kb3dzLiAgTWVzc3kuLi4KKwkgKgorCSAqIFdoZW4gY2xvY2tfbW9kZSA9PSBDTV9VVEMgdGhpcyBwcm9jZXNzJ3MgdGltZXpvbmUgaXMgVVRDLCBzbworCSAqIHdlJ2xsIHBhc3MgYSBVVEMgZGF0ZSB0byB0aGUgUlRDLgorCSAqCisJICogRWxzZSBjbG9ja19tb2RlID09IENNX0xPQ0FMIHNvIHRoZSB0aW1lIGdpdmVuIHRvIHRoZSBSVEMgd2lsbAorCSAqIGluc3RlYWQgdXNlIHRoZSBsb2NhbCB0aW1lIHpvbmUuICovCisJdG0gPSBsb2NhbHRpbWUod2FrZXVwKTsKKwl3YWtlLnRpbWUudG1fc2VjID0gdG0tPnRtX3NlYzsKKwl3YWtlLnRpbWUudG1fbWluID0gdG0tPnRtX21pbjsKKwl3YWtlLnRpbWUudG1faG91ciA9IHRtLT50bV9ob3VyOworCXdha2UudGltZS50bV9tZGF5ID0gdG0tPnRtX21kYXk7CisJd2FrZS50aW1lLnRtX21vbiA9IHRtLT50bV9tb247CisJd2FrZS50aW1lLnRtX3llYXIgPSB0bS0+dG1feWVhcjsKKwkvKiB3ZGF5LCB5ZGF5LCBhbmQgaXNkc3QgZmllbGRzIGFyZSB1bnVzZWQgKi8KKwl3YWtlLnRpbWUudG1fd2RheSA9IC0xOworCXdha2UudGltZS50bV95ZGF5ID0gLTE7CisJd2FrZS50aW1lLnRtX2lzZHN0ID0gLTE7CisJd2FrZS5lbmFibGVkID0gMTsKKworCWlmICghY3RsLT5kcnlydW4gJiYgaW9jdGwoZmQsIFJUQ19XS0FMTV9TRVQsICZ3YWtlKSA8IDApIHsKKwkJd2FybihfKCJzZXQgcnRjIHdha2UgYWxhcm0gZmFpbGVkIikpOworCQlyZXR1cm4gLTE7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgY2hhciAqKmdldF9zeXNfcG93ZXJfc3RhdGVzKHN0cnVjdCBydGN3YWtlX2NvbnRyb2wgKmN0bCkKK3sKKwlpbnQgZmQgPSAtMTsKKworCWlmICghY3RsLT5wb3NzaWJsZV9tb2RlcykgeworCQljaGFyIGJ1ZlsyNTZdID0geyAwIH07CisKKwkJZmQgPSBvcGVuKFNZU19QT1dFUl9TVEFURV9QQVRILCBPX1JET05MWSk7CisJCWlmIChmZCA8IDApCisJCQlnb3RvIG5vdGhpbmc7CisJCWlmIChyZWFkKGZkLCAmYnVmLCBzaXplb2YoYnVmKSAtIDEpIDw9IDApCisJCQlnb3RvIG5vdGhpbmc7CisJCWN0bC0+cG9zc2libGVfbW9kZXMgPSBzdHJ2X3NwbGl0KGJ1ZiwgIiBcbiIpOworCQljbG9zZShmZCk7CisJfQorCXJldHVybiBjdGwtPnBvc3NpYmxlX21vZGVzOworbm90aGluZzoKKwlpZiAoZmQgPj0gMCkKKwkJY2xvc2UoZmQpOworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgdm9pZCBzdXNwZW5kX3N5c3RlbShzdHJ1Y3QgcnRjd2FrZV9jb250cm9sICpjdGwpCit7CisJRklMRQkqZiA9IGZvcGVuKFNZU19QT1dFUl9TVEFURV9QQVRILCAidyIpOworCisJaWYgKCFmKSB7CisJCXdhcm4oXygiY2Fubm90IG9wZW4gJXMiKSwgU1lTX1BPV0VSX1NUQVRFX1BBVEgpOworCQlyZXR1cm47CisJfQorCisJaWYgKCFjdGwtPmRyeXJ1bikgeworCQlmcHJpbnRmKGYsICIlc1xuIiwgY3RsLT5tb2RlX3N0cik7CisJCWZmbHVzaChmKTsKKwl9CisJLyogdGhpcyBleGVjdXRlcyBhZnRlciB3YWtlIGZyb20gc3VzcGVuZCAqLworCWlmIChjbG9zZV9zdHJlYW0oZikpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ3cml0ZSBlcnJvciIpKTsKK30KKworc3RhdGljIGludCByZWFkX2Nsb2NrX21vZGUoc3RydWN0IHJ0Y3dha2VfY29udHJvbCAqY3RsKQoreworCUZJTEUgKmZwOworCWNoYXIgbGluZWJ1ZltBREpUSU1FX1pPTkVfQlVGU0laXTsKKworCWZwID0gZm9wZW4oY3RsLT5hZGpmaWxlLCAiciIpOworCWlmICghZnApCisJCXJldHVybiAtMTsKKwkvKiBza2lwIHR3byBsaW5lcyAqLworCWlmIChza2lwX2ZsaW5lKGZwKSB8fCBza2lwX2ZsaW5lKGZwKSkgeworCQlmY2xvc2UoZnApOworCQlyZXR1cm4gLTE7CisJfQorCS8qIHJlYWQgdGhpcmQgbGluZSAqLworCWlmICghZmdldHMobGluZWJ1Ziwgc2l6ZW9mIGxpbmVidWYsIGZwKSkgeworCQlmY2xvc2UoZnApOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKHN0cm5jbXAobGluZWJ1ZiwgIlVUQyIsIDMpID09IDApCisJCWN0bC0+Y2xvY2tfbW9kZSA9IENNX1VUQzsKKwllbHNlIGlmIChzdHJuY21wKGxpbmVidWYsICJMT0NBTCIsIDUpID09IDApCisJCWN0bC0+Y2xvY2tfbW9kZSA9IENNX0xPQ0FMOworCWVsc2UgaWYgKGN0bC0+dmVyYm9zZSkKKwkJd2FybngoXygidW5leHBlY3RlZCB0aGlyZCBsaW5lIGluOiAlczogJXMiKSwgY3RsLT5hZGpmaWxlLCBsaW5lYnVmKTsKKworCWZjbG9zZShmcCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHJpbnRfYWxhcm0oc3RydWN0IHJ0Y3dha2VfY29udHJvbCAqY3RsLCBpbnQgZmQpCit7CisJc3RydWN0IHJ0Y193a2Fscm0gd2FrZTsKKwlzdHJ1Y3QgdG0gdG0gPSB7IDAgfTsKKwl0aW1lX3QgYWxhcm07CisKKwlpZiAoaW9jdGwoZmQsIFJUQ19XS0FMTV9SRCwgJndha2UpIDwgMCkgeworCQl3YXJuKF8oInJlYWQgcnRjIGFsYXJtIGZhaWxlZCIpKTsKKwkJcmV0dXJuIC0xOworCX0KKworCWlmICh3YWtlLmVuYWJsZWQgIT0gMSB8fCB3YWtlLnRpbWUudG1feWVhciA9PSAtMSkgeworCQlwcmludGYoXygiYWxhcm06IG9mZlxuIikpOworCQlyZXR1cm4gMDsKKwl9CisJdG0udG1fc2VjID0gd2FrZS50aW1lLnRtX3NlYzsKKwl0bS50bV9taW4gPSB3YWtlLnRpbWUudG1fbWluOworCXRtLnRtX2hvdXIgPSB3YWtlLnRpbWUudG1faG91cjsKKwl0bS50bV9tZGF5ID0gd2FrZS50aW1lLnRtX21kYXk7CisJdG0udG1fbW9uID0gd2FrZS50aW1lLnRtX21vbjsKKwl0bS50bV95ZWFyID0gd2FrZS50aW1lLnRtX3llYXI7CisJdG0udG1faXNkc3QgPSAtMTsgIC8qIGFzc3VtZSB0aGUgc3lzdGVtIGtub3dzIGJldHRlciB0aGFuIHRoZSBSVEMgKi8KKworCWFsYXJtID0gbWt0aW1lKCZ0bSk7CisJaWYgKGFsYXJtID09ICh0aW1lX3QpLTEpIHsKKwkJd2FybihfKCJjb252ZXJ0IHRpbWUgZmFpbGVkIikpOworCQlyZXR1cm4gLTE7CisJfQorCS8qIDAgaWYgYm90aCBVVEMsIG9yIGV4cHJlc3NlcyBkaWZmIGlmIFJUQyBpbiBsb2NhbCB0aW1lICovCisJYWxhcm0gKz0gY3RsLT5zeXNfdGltZSAtIGN0bC0+cnRjX3RpbWU7CisJcHJpbnRmKF8oImFsYXJtOiBvbiAgJXMiKSwgY3RpbWUoJmFsYXJtKSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBnZXRfcnRjX21vZGUoc3RydWN0IHJ0Y3dha2VfY29udHJvbCAqY3RsLCBjb25zdCBjaGFyICpzKQoreworCXNpemVfdCBpOworCWNoYXIgKiptb2RlcyA9IGdldF9zeXNfcG93ZXJfc3RhdGVzKGN0bCksICoqbTsKKworCVNUUlZfRk9SRUFDSChtLCBtb2RlcykgeworCQlpZiAoc3RyY21wKHMsICptKSA9PSAwKQorCQkJcmV0dXJuIFNZU0ZTX01PREU7CisJfQorCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocnRjd2FrZV9tb2RlX3N0cmluZyk7IGkrKykKKwkJaWYgKCFzdHJjbXAocywgcnRjd2FrZV9tb2RlX3N0cmluZ1tpXSkpCisJCQlyZXR1cm4gaTsKKworCXJldHVybiAtRUlOVkFMOworfQorCitzdGF0aWMgaW50IG9wZW5fZGV2X3J0Yyhjb25zdCBjaGFyICpkZXZuYW1lKQoreworCWludCBmZDsKKwljaGFyICpkZXZwYXRoID0gTlVMTDsKKworCWlmIChzdGFydHN3aXRoKGRldm5hbWUsICIvZGV2IikpCisJCWRldnBhdGggPSB4c3RyZHVwKGRldm5hbWUpOworCWVsc2UKKwkJeGFzcHJpbnRmKCZkZXZwYXRoLCAiL2Rldi8lcyIsIGRldm5hbWUpOworCWZkID0gb3BlbihkZXZwYXRoLCBPX1JET05MWSB8IE9fQ0xPRVhFQyk7CisJaWYgKGZkIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiJXM6IHVuYWJsZSB0byBmaW5kIGRldmljZSIpLCBkZXZwYXRoKTsKKwlmcmVlKGRldnBhdGgpOworCXJldHVybiBmZDsKK30KKworc3RhdGljIHZvaWQgbGlzdF9tb2RlcyhzdHJ1Y3QgcnRjd2FrZV9jb250cm9sICpjdGwpCit7CisJc2l6ZV90IGk7CisJY2hhciAqKm1vZGVzID0gZ2V0X3N5c19wb3dlcl9zdGF0ZXMoY3RsKSwgKiptOworCisJaWYgKCFtb2RlcykKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImNvdWxkIG5vdCByZWFkOiAlcyIpLCBTWVNfUE9XRVJfU1RBVEVfUEFUSCk7CisKKwlTVFJWX0ZPUkVBQ0gobSwgbW9kZXMpCisJCXByaW50ZigiJXMgIiwgKm0pOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocnRjd2FrZV9tb2RlX3N0cmluZyk7IGkrKykKKwkJcHJpbnRmKCIlcyAiLCBydGN3YWtlX21vZGVfc3RyaW5nW2ldKTsKKwlwdXRjaGFyKCdcbicpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJc3RydWN0IHJ0Y3dha2VfY29udHJvbCBjdGwgPSB7CisJCS5tb2RlX3N0ciA9ICJzdXNwZW5kIiwJCS8qIGRlZmF1bHQgbW9kZSAqLworCQkuYWRqZmlsZSA9IF9QQVRIX0FESlRJTUUsCisJCS5jbG9ja19tb2RlID0gQ01fQVVUTworCX07CisJY2hhciAqZGV2bmFtZSA9IERFRkFVTFRfUlRDX0RFVklDRTsKKwl1bnNpZ25lZCBzZWNvbmRzID0gMDsKKwlpbnQgc3VzcGVuZCA9IFNZU0ZTX01PREU7CisJaW50IHJjID0gRVhJVF9TVUNDRVNTOworCWludCB0OworCWludCBmZDsKKwl0aW1lX3QgYWxhcm0gPSAwOworCWVudW0geworCQlPUFRfREFURSA9IENIQVJfTUFYICsgMSwKKwkJT1BUX0xJU1QKKwl9OworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdfb3B0aW9uc1tdID0geworCQl7ImFkamZpbGUiLCAgICAgcmVxdWlyZWRfYXJndW1lbnQsICAgICAgMCwgJ0EnfSwKKwkJeyJhdXRvIiwJbm9fYXJndW1lbnQsCQkwLCAnYSd9LAorCQl7ImRyeS1ydW4iLAlub19hcmd1bWVudCwJCTAsICduJ30sCisJCXsibG9jYWwiLAlub19hcmd1bWVudCwJCTAsICdsJ30sCisJCXsidXRjIiwJCW5vX2FyZ3VtZW50LAkJMCwgJ3UnfSwKKwkJeyJ2ZXJib3NlIiwJbm9fYXJndW1lbnQsCQkwLCAndid9LAorCQl7InZlcnNpb24iLAlub19hcmd1bWVudCwJCTAsICdWJ30sCisJCXsiaGVscCIsCW5vX2FyZ3VtZW50LAkJMCwgJ2gnfSwKKwkJeyJtb2RlIiwJcmVxdWlyZWRfYXJndW1lbnQsCTAsICdtJ30sCisJCXsiZGV2aWNlIiwJcmVxdWlyZWRfYXJndW1lbnQsCTAsICdkJ30sCisJCXsic2Vjb25kcyIsCXJlcXVpcmVkX2FyZ3VtZW50LAkwLCAncyd9LAorCQl7InRpbWUiLAlyZXF1aXJlZF9hcmd1bWVudCwJMCwgJ3QnfSwKKwkJeyJkYXRlIiwJcmVxdWlyZWRfYXJndW1lbnQsCTAsIE9QVF9EQVRFfSwKKwkJeyJsaXN0LW1vZGVzIiwJbm9fYXJndW1lbnQsCQkwLCBPUFRfTElTVH0sCisJCXswLAkJMCwJCQkwLCAwICB9CisJfTsKKwlzdGF0aWMgY29uc3QgdWxfZXhjbF90IGV4Y2xbXSA9IHsKKwkJeyAnYScsICdsJywgJ3UnIH0sCisJCXsgJ3MnLCAndCcsIE9QVF9EQVRFIH0sCisJfTsKKwlpbnQgZXhjbF9zdFtBUlJBWV9TSVpFKGV4Y2wpXSA9IFVMX0VYQ0xfU1RBVFVTX0lOSVQ7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKCh0ID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIkE6YWhkOmxtOm5zOnQ6dVZ2IiwKKwkJCQkJbG9uZ19vcHRpb25zLCBOVUxMKSkgIT0gRU9GKSB7CisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyh0LCBsb25nX29wdGlvbnMsIGV4Y2wsIGV4Y2xfc3QpOworCQlzd2l0Y2ggKHQpIHsKKwkJY2FzZSAnQSc6CisJCQkvKiBmb3IgYmV0dGVyIGNvbXBhdGliaWxpdHkgd2l0aCBod2Nsb2NrICovCisJCQljdGwuYWRqZmlsZSA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdhJzoKKwkJCWN0bC5jbG9ja19tb2RlID0gQ01fQVVUTzsKKwkJCWJyZWFrOworCQljYXNlICdkJzoKKwkJCWRldm5hbWUgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnbCc6CisJCQljdGwuY2xvY2tfbW9kZSA9IENNX0xPQ0FMOworCQkJYnJlYWs7CisKKwkJY2FzZSBPUFRfTElTVDoKKwkJCWxpc3RfbW9kZXMoJmN0bCk7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCisJCWNhc2UgJ20nOgorCQkJaWYgKChzdXNwZW5kID0gZ2V0X3J0Y19tb2RlKCZjdGwsIG9wdGFyZykpIDwgMCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5yZWNvZ25pemVkIHN1c3BlbmQgc3RhdGUgJyVzJyIpLCBvcHRhcmcpOworCQkJY3RsLm1vZGVfc3RyID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJY3RsLmRyeXJ1biA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQkvKiBhbGFybSB0aW1lLCBzZWNvbmRzLXRvLXNsZWVwIChyZWxhdGl2ZSkgKi8KKwkJCXNlY29uZHMgPSBzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLCBfKCJpbnZhbGlkIHNlY29uZHMgYXJndW1lbnQiKSk7CisJCQlicmVhazsKKwkJY2FzZSAndCc6CisJCQkvKiBhbGFybSB0aW1lLCB0aW1lX3QgKGFic29sdXRlLCBzZWNvbmRzIHNpbmNlIGVwb2NoKSAqLworCQkJYWxhcm0gPSBzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLCBfKCJpbnZhbGlkIHRpbWUgYXJndW1lbnQiKSk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfREFURToKKwkJewkvKiBhbGFybSB0aW1lLCBzZWUgdGltZXN0YW1wIGZvcm1hdCBmcm9tIG1hbnVhbCAqLworCQkJdXNlY190IHA7CisJCQlpZiAocGFyc2VfdGltZXN0YW1wKG9wdGFyZywgJnApIDwgMCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiaW52YWxpZCB0aW1lIHZhbHVlIFwiJXNcIiIpLCBvcHRhcmcpOworCQkJYWxhcm0gPSAodGltZV90KSAocCAvIDEwMDAwMDApOworCQkJYnJlYWs7CisJCX0KKwkJY2FzZSAndSc6CisJCQljdGwuY2xvY2tfbW9kZSA9IENNX1VUQzsKKwkJCWJyZWFrOworCQljYXNlICd2JzoKKwkJCWN0bC52ZXJib3NlID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJZXhpdChFWElUX1NVQ0NFU1MpOworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQl9CisJfQorCisJaWYgKGN0bC5jbG9ja19tb2RlID09IENNX0FVVE8gJiYgcmVhZF9jbG9ja19tb2RlKCZjdGwpIDwgMCkgeworCQlwcmludGYoXygiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIpLCAgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCQljdGwuY2xvY2tfbW9kZSA9IENNX1VUQzsKKwl9CisKKwlpZiAoY3RsLnZlcmJvc2UpCisJCXByaW50ZigiJXMiLCAgY3RsLmNsb2NrX21vZGUgPT0gQ01fVVRDID8gXygiVXNpbmcgVVRDIHRpbWUuXG4iKSA6CisJCQkJXygiVXNpbmcgbG9jYWwgdGltZS5cbiIpKTsKKworCWlmICghYWxhcm0gJiYgIXNlY29uZHMgJiYgc3VzcGVuZCAhPSBESVNBQkxFX01PREUgJiYgc3VzcGVuZCAhPSBTSE9XX01PREUpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJtdXN0IHByb3ZpZGUgd2FrZSB0aW1lIChzZWUgLS1zZWNvbmRzLCAtLXRpbWUgYW5kIC0tZGF0ZSBvcHRpb25zKSIpKTsKKworCS8qIGRldmljZSBtdXN0IGV4aXN0IGFuZCAoaWYgd2UnbGwgc2xlZXApIGJlIHdha2V1cC1lbmFibGVkICovCisJZmQgPSBvcGVuX2Rldl9ydGMoZGV2bmFtZSk7CisKKwlpZiAoc3VzcGVuZCAhPSBPTl9NT0RFICYmIHN1c3BlbmQgIT0gTk9fTU9ERSAmJiAhaXNfd2FrZXVwX2VuYWJsZWQoZGV2bmFtZSkpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlcyBub3QgZW5hYmxlZCBmb3Igd2FrZXVwIGV2ZW50cyIpLCBkZXZuYW1lKTsKKworCS8qIHJlbGF0aXZlIG9yIGFic29sdXRlIGFsYXJtIHRpbWUsIG5vcm1hbGl6ZWQgdG8gdGltZV90ICovCisJaWYgKGdldF9iYXNldGltZXMoJmN0bCwgZmQpIDwgMCkKKwkJZXhpdChFWElUX0ZBSUxVUkUpOworCisJaWYgKGN0bC52ZXJib3NlKQorCQlwcmludGYoXygiYWxhcm0gJWxkLCBzeXNfdGltZSAlbGQsIHJ0Y190aW1lICVsZCwgc2Vjb25kcyAldVxuIiksCisJCQkJYWxhcm0sIGN0bC5zeXNfdGltZSwgY3RsLnJ0Y190aW1lLCBzZWNvbmRzKTsKKworCWlmIChzdXNwZW5kICE9IERJU0FCTEVfTU9ERSAmJiBzdXNwZW5kICE9IFNIT1dfTU9ERSkgeworCQkvKiBwZXJmb3JtIGFsYXJtIHNldHVwIHdoZW4gdGhlIHNob3cgb3IgZGlzYWJsZSBtb2RlcyBhcmUgbm90IHNldCAqLworCQlpZiAoYWxhcm0pIHsKKwkJCWlmIChhbGFybSA8IGN0bC5zeXNfdGltZSkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidGltZSBkb2Vzbid0IGdvIGJhY2t3YXJkIHRvICVzIiksCisJCQkJCQljdGltZSgmYWxhcm0pKTsKKwkJCWFsYXJtICs9IGN0bC5zeXNfdGltZSAtIGN0bC5ydGNfdGltZTsKKwkJfSBlbHNlCisJCQlhbGFybSA9IGN0bC5ydGNfdGltZSArIHNlY29uZHMgKyAxOworCisJCWlmIChzZXR1cF9hbGFybSgmY3RsLCBmZCwgJmFsYXJtKSA8IDApCisJCQlleGl0KEVYSVRfRkFJTFVSRSk7CisKKwkJaWYgKHN1c3BlbmQgPT0gTk9fTU9ERSB8fCBzdXNwZW5kID09IE9OX01PREUpCisJCQlwcmludGYoXygiJXM6IHdha2V1cCB1c2luZyAlcyBhdCAlcyIpLAorCQkJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lLCBkZXZuYW1lLAorCQkJCWN0aW1lKCZhbGFybSkpOworCQllbHNlCisJCQlwcmludGYoXygiJXM6IHdha2V1cCBmcm9tIFwiJXNcIiB1c2luZyAlcyBhdCAlcyIpLAorCQkJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lLCBjdGwubW9kZV9zdHIsIGRldm5hbWUsCisJCQkJY3RpbWUoJmFsYXJtKSk7CisJCWZmbHVzaChzdGRvdXQpOworCQl4dXNsZWVwKDEwICogMTAwMCk7CisJfQorCisJc3dpdGNoIChzdXNwZW5kKSB7CisJY2FzZSBOT19NT0RFOgorCQlpZiAoY3RsLnZlcmJvc2UpCisJCQlwcmludGYoXygic3VzcGVuZCBtb2RlOiBubzsgbGVhdmluZ1xuIikpOworCQljdGwuZHJ5cnVuID0gMTsJLyogdG8gc2tpcCBkaXNhYmxpbmcgYWxhcm0gYXQgdGhlIGVuZCAqLworCQlicmVhazsKKwljYXNlIE9GRl9NT0RFOgorCXsKKwkJY2hhciAqYXJnWzVdOworCQlpbnQgaSA9IDA7CisKKwkJaWYgKGN0bC52ZXJib3NlKQorCQkJcHJpbnRmKF8oInN1c3BlbmQgbW9kZTogb2ZmOyBleGVjdXRpbmcgJXNcbiIpLAorCQkJCQkJX1BBVEhfU0hVVERPV04pOworCQlhcmdbaSsrXSA9IF9QQVRIX1NIVVRET1dOOworCQlhcmdbaSsrXSA9ICItaCI7CisJCWFyZ1tpKytdID0gIi1QIjsKKwkJYXJnW2krK10gPSAibm93IjsKKwkJYXJnW2ldICAgPSBOVUxMOworCQlpZiAoIWN0bC5kcnlydW4pIHsKKwkJCWV4ZWN2KGFyZ1swXSwgYXJnKTsKKwkJCXdhcm4oXygiZmFpbGVkIHRvIGV4ZWN1dGUgJXMiKSwgX1BBVEhfU0hVVERPV04pOworCQkJcmMgPSBFWElUX0ZBSUxVUkU7CisJCX0KKwkJYnJlYWs7CisJfQorCWNhc2UgT05fTU9ERToKKwl7CisJCXVuc2lnbmVkIGxvbmcgZGF0YTsKKworCQlpZiAoY3RsLnZlcmJvc2UpCisJCQlwcmludGYoXygic3VzcGVuZCBtb2RlOiBvbjsgcmVhZGluZyBydGNcbiIpKTsKKwkJaWYgKCFjdGwuZHJ5cnVuKSB7CisJCQlkbyB7CisJCQkJdCA9IHJlYWQoZmQsICZkYXRhLCBzaXplb2YgZGF0YSk7CisJCQkJaWYgKHQgPCAwKSB7CisJCQkJCXdhcm4oXygicnRjIHJlYWQgZmFpbGVkIikpOworCQkJCQlicmVhazsKKwkJCQl9CisJCQkJaWYgKGN0bC52ZXJib3NlKQorCQkJCQlwcmludGYoIi4uLiAlczogJTAzbHhcbiIsIGRldm5hbWUsIGRhdGEpOworCQkJfSB3aGlsZSAoIShkYXRhICYgUlRDX0FGKSk7CisJCX0KKwkJYnJlYWs7CisJfQorCWNhc2UgRElTQUJMRV9NT0RFOgorCQkvKiBqdXN0IGJyZWFrLCBhbGFybSBnZXRzIGRpc2FibGVkIGluIHRoZSBlbmQgKi8KKwkJaWYgKGN0bC52ZXJib3NlKQorCQkJcHJpbnRmKF8oInN1c3BlbmQgbW9kZTogZGlzYWJsZTsgZGlzYWJsaW5nIGFsYXJtXG4iKSk7CisJCWJyZWFrOworCWNhc2UgU0hPV19NT0RFOgorCQlpZiAoY3RsLnZlcmJvc2UpCisJCQlwcmludGYoXygic3VzcGVuZCBtb2RlOiBzaG93OyBwcmludGluZyBhbGFybSBpbmZvXG4iKSk7CisJCWlmIChwcmludF9hbGFybSgmY3RsLCBmZCkpCisJCQlyYyA9IEVYSVRfRkFJTFVSRTsKKwkJY3RsLmRyeXJ1biA9IDE7CS8qIGRvbid0IHJlYWxseSBkaXNhYmxlIGFsYXJtIGluIHRoZSBlbmQsIGp1c3Qgc2hvdyAqLworCQlicmVhazsKKwlkZWZhdWx0OgorCQlpZiAoY3RsLnZlcmJvc2UpCisJCQlwcmludGYoXygic3VzcGVuZCBtb2RlOiAlczsgc3VzcGVuZGluZyBzeXN0ZW1cbiIpLCBjdGwubW9kZV9zdHIpOworCQlzeW5jKCk7CisJCXN1c3BlbmRfc3lzdGVtKCZjdGwpOworCX0KKworCWlmICghY3RsLmRyeXJ1bikgeworCQlzdHJ1Y3QgcnRjX3drYWxybSB3YWtlOworCisJCWlmIChpb2N0bChmZCwgUlRDX1dLQUxNX1JELCAmd2FrZSkgPCAwKSB7CisJCQl3YXJuKF8oInJlYWQgcnRjIGFsYXJtIGZhaWxlZCIpKTsKKwkJCXJjID0gRVhJVF9GQUlMVVJFOworCQl9IGVsc2UgeworCQkJd2FrZS5lbmFibGVkID0gMDsKKwkJCWlmIChpb2N0bChmZCwgUlRDX1dLQUxNX1NFVCwgJndha2UpIDwgMCkgeworCQkJCXdhcm4oXygiZGlzYWJsZSBydGMgYWxhcm0gaW50ZXJydXB0IGZhaWxlZCIpKTsKKwkJCQlyYyA9IEVYSVRfRkFJTFVSRTsKKwkJCX0KKwkJfQorCX0KKworCWNsb3NlKGZkKTsKKwlyZXR1cm4gcmM7Cit9CmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvc2V0YXJjaC44IGIvc3lzLXV0aWxzL3NldGFyY2guOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNWU2NjM2Ci0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL3NldGFyY2guOApAQCAtMCwwICsxLDkzIEBACisuVEggU0VUQVJDSCA4ICJEZWNlbWJlciAyMDE0IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitzZXRhcmNoIFwtIGNoYW5nZSByZXBvcnRlZCBhcmNoaXRlY3R1cmUgaW4gbmV3IHByb2dyYW0gZW52aXJvbm1lbnQgYW5kIHNldCBwZXJzb25hbGl0eSBmbGFncworLlNIIFNZTk9QU0lTCisuQiBzZXRhcmNoCisuSSBhcmNoCitbb3B0aW9uc10KKy5SSSBbIHByb2dyYW0KKy5SSSBbIGFyZ3VtZW50IC4uLl1dCisuc3AKKy5CIGFyY2gKK1tvcHRpb25zXQorLlJJIFsgcHJvZ3JhbQorLlJJIFsgYXJndW1lbnQgLi4uXV0KKy5zcAorLkIgc2V0YXJjaAorLkJSIFwtXC1saXN0IHwgXC1oIHwgXC1WCisuU0ggREVTQ1JJUFRJT04KKy5CIHNldGFyY2gKK2N1cnJlbnRseSBvbmx5IGFmZmVjdHMgdGhlIG91dHB1dCBvZiBcZkJ1bmFtZSAtbVxmUi4KK0ZvciBleGFtcGxlLCBvbiBhbiBBTUQ2NCBzeXN0ZW0sIHJ1bm5pbmcgXGZCc2V0YXJjaCBpMzg2IFxmSXByb2dyYW1cZlIKK3dpbGwgY2F1c2UgXGZJcHJvZ3JhbVxmUiB0byBzZWUgaTY4NiBpbnN0ZWFkIG9mIHg4Nl82NCBhcyB0aGUgbWFjaGluZSB0eXBlLgorSXQgYWxzbyBhbGxvd3MgdG8gc2V0IHZhcmlvdXMgcGVyc29uYWxpdHkgb3B0aW9ucy4KK1RoZSBkZWZhdWx0IFxmSXByb2dyYW1cZlIgaXMgXGZCL2Jpbi9zaFxmUi4KKy5TSCBPUFRJT05TCisuVFAKKy5CIFwtXC1saXN0CitMaXN0IHRoZSBhcmNoaXRlY3R1cmVzIHRoYXQgXGZCc2V0YXJjaFxmUiBrbm93cyBhYm91dC4gIFdoZXRoZXIgXGZCc2V0YXJjaFxmUgorY2FuIGFjdHVhbGx5IHNldCBlYWNoIG9mIHRoZXNlIGFyY2hpdGVjdHVyZXMgZGVwZW5kcyBvbiB0aGUgcnVubmluZyBrZXJuZWwuCisuVFAKKy5CIFwtXC11bmFtZVwtMi42CitDYXVzZXMgdGhlIFxmSXByb2dyYW1cZlIgdG8gc2VlIGEga2VybmVsIHZlcnNpb24gbnVtYmVyIGJlZ2lubmluZyB3aXRoIDIuNi4KKy5UUAorLkJSIFwtdiAsICIgXC1cLXZlcmJvc2UiCitCZSB2ZXJib3NlLgorLlRQCitcZkJcLTNcZlIsIFxmQlwtXC0zZ2JcZlIKK1NwZWNpZmllcyB0aGF0IHByb2Nlc3NlcyBzaG91bGQgdXNlIGEgbWF4aW11bSBvZiAzR0Igb2YgYWRkcmVzcyBzcGFjZSBvbiBzeXN0ZW1zIHdoZXJlIGl0IGlzIHN1cHBvcnRlZCAoQUREUl9MSU1JVF8zR0IpLgorLlRQCitcZkJcLVwtNGdiXGZSCitJZ25vcmVkIChmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBvbmx5KS4KKy5UUAorXGZCXC1CXGZSLCBcZkJcLVwtMzJiaXRcZlIKK1R1cm5zIG9uIEFERFJfTElNSVRfMzJCSVQuCisuVFAKK1xmQlwtRlxmUiwgXGZCXC1cLWZkcGljXC1mdW5jcHRyc1xmUgorVXNlcnNwYWNlIGZ1bmN0aW9uIHBvaW50ZXJzIHBvaW50IHRvIGRlc2NyaXB0b3JzICh0dXJucyBvbiBGRFBJQ19GVU5DUFRSUykuCisuVFAKK1xmQlwtSVxmUiwgXGZCXC1cLXNob3J0XC1pbm9kZVxmUgorVHVybnMgb24gU0hPUlRfSU5PREUuCisuVFAKK1xmQlwtTFxmUiwgXGZCXC1cLWFkZHJcLWNvbXBhdFwtbGF5b3V0XGZSCitDaGFuZ2VzIHRoZSB3YXkgdmlydHVhbCBtZW1vcnkgaXMgYWxsb2NhdGVkICh0dXJucyBvbiB0aGUgQUREUl9DT01QQVRfTEFZT1VUKS4KKy5UUAorXGZCXC1SXGZSLCBcZkJcLVwtYWRkclwtbm9cLXJhbmRvbWl6ZVxmUgorRGlzYWJsZXMgcmFuZG9taXphdGlvbiBvZiB0aGUgdmlydHVhbCBhZGRyZXNzIHNwYWNlICh0dXJucyBvbiBBRERSX05PX1JBTkRPTUlaRSkuCisuVFAKK1xmQlwtU1xmUiwgXGZCXC1cLXdob2xlXC1zZWNvbmRzXGZSCitUdXJucyBvbiBXSE9MRV9TRUNPTkRTLgorLlRQCitcZkJcLVRcZlIsIFxmQlwtXC1zdGlja3lcLXRpbWVvdXRzXGZSCitUdXJucyBvbiBTVElDS1lfVElNRU9VVFMuCisuVFAKK1xmQlwtWFxmUiwgXGZCXC1cLXJlYWRcLWltcGxpZXNcLWV4ZWNcZlIKK1R1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDLgorLlRQCitcZkJcLVpcZlIsIFxmQlwtXC1tbWFwXC1wYWdlXC16ZXJvXGZSCitUdXJucyBvbiBNTUFQX1BBR0VfWkVSTy4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggRVhBTVBMRVMKK3NldGFyY2ggcHBjMzIgcnBtYnVpbGQgLS10YXJnZXQ9cHBjIC0tcmVidWlsZCBmb28uc3JjLnJwbQorLmJyCitzZXRhcmNoIHBwYzMyIC12IC12TDMgcnBtYnVpbGQgLS10YXJnZXQ9cHBjIC0tcmVidWlsZCBiYXIuc3JjLnJwbQorLmJyCitzZXRhcmNoIHBwYzMyIC0tMzJiaXQgcnBtYnVpbGQgLS10YXJnZXQ9cHBjIC0tcmVidWlsZCBmb28uc3JjLnJwbQorLlNIIEFVVEhPUgorLk1UIHNvcHdpdGhAcmVkaGF0LmNvbQorRWxsaW90IExlZQorLk1FCisuYnIKKy5NVCBqbm92eUByZWRoYXQuY29tCitKaW5kcmljaCBOb3Z5CisuTUUKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBzZXRhcmNoIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGZ0cDovL1w6ZnRwLmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL3NldGFyY2guYyBiL3N5cy11dGlscy9zZXRhcmNoLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDNkNTJjMgotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9zZXRhcmNoLmMKQEAgLTAsMCArMSw0MDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDMtMjAwNyBSZWQgSGF0LCBJbmMuCisgKgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyAqCisgKiBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICoKKyAqIFdyaXR0ZW4gYnkgRWxsaW90IExlZSA8c29wd2l0aEByZWRoYXQuY29tPgorICogTmV3IHBlcnNvbmFsaXR5IG9wdGlvbnMgJiBjb2RlIGFkZGVkIGJ5IEppbmRyaWNoIE5vdnkgPGpub3Z5QHJlZGhhdC5jb20+CisgKiBBRERfTk9fUkFORE9NSVpFIGZsYWcgYWRkZWQgYnkgQXJqYW4gdmFuIGRlIFZlbiA8YXJqYW52QHJlZGhhdC5jb20+CisgKiBIZWxwIGFuZCBNSVBTIHN1cHBvcnQgZnJvbSBNaWtlIEZyeXNpbmdlciAodmFwaWVyQGdlbnRvby5vcmcpCisgKiBCZXR0ZXIgZXJyb3IgaGFuZGxpbmcgZnJvbSBEbWl0cnkgVi4gTGV2aW4gKGxkdkBhbHRsaW51eC5vcmcpCisgKgorICogYmFzZWQgb24gaWRlYXMgZnJvbSB0aGUgcHBjMzIgdXRpbCBieSBHdXkgU3RyZWV0ZXIgKDIwMDItMDEpLCBiYXNlZCBvbiB0aGUKKyAqIHNwYXJjMzIgdXRpbCBieSBKYWt1YiBKZWxpbmVrICgxOTk4LCAxOTk5KQorICovCisKKyNpbmNsdWRlIDxzeXMvcGVyc29uYWxpdHkuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisKKyNpZm5kZWYgSEFWRV9QRVJTT05BTElUWQorIyBpbmNsdWRlIDxzeXNjYWxsLmg+CisjIGRlZmluZSBwZXJzb25hbGl0eShwZXJzKSAoKGxvbmcpc3lzY2FsbChTWVNfcGVyc29uYWxpdHksIHBlcnMpKQorI2VuZGlmCisKKyNkZWZpbmUgdHVybl9vbihfZmxhZywgX29wdHMpIFwKKwlkbyB7IFwKKwkJKF9vcHRzKSB8PSBfZmxhZzsgXAorCQlpZiAodmVyYm9zZSkgXAorCQkJcHJpbnRmKF8oIlN3aXRjaGluZyBvbiAlcy5cbiIpLCAjX2ZsYWcpOyBcCisJfSB3aGlsZSgwKQorCisjaWZuZGVmIFVOQU1FMjYKKyMgZGVmaW5lIFVOQU1FMjYgICAgICAgICAgICAgICAgIDB4MDAyMDAwMAorI2VuZGlmCisjaWZuZGVmIEFERFJfTk9fUkFORE9NSVpFCisjIGRlZmluZSBBRERSX05PX1JBTkRPTUlaRSAgICAgICAweDAwNDAwMDAKKyNlbmRpZgorI2lmbmRlZiBGRFBJQ19GVU5DUFRSUworIyBkZWZpbmUgRkRQSUNfRlVOQ1BUUlMgICAgICAgICAgMHgwMDgwMDAwCisjZW5kaWYKKyNpZm5kZWYgTU1BUF9QQUdFX1pFUk8KKyMgZGVmaW5lIE1NQVBfUEFHRV9aRVJPICAgICAgICAgIDB4MDEwMDAwMAorI2VuZGlmCisjaWZuZGVmIEFERFJfQ09NUEFUX0xBWU9VVAorIyBkZWZpbmUgQUREUl9DT01QQVRfTEFZT1VUICAgICAgMHgwMjAwMDAwCisjZW5kaWYKKyNpZm5kZWYgUkVBRF9JTVBMSUVTX0VYRUMKKyMgZGVmaW5lIFJFQURfSU1QTElFU19FWEVDICAgICAgIDB4MDQwMDAwMAorI2VuZGlmCisjaWZuZGVmIEFERFJfTElNSVRfMzJCSVQKKyMgZGVmaW5lIEFERFJfTElNSVRfMzJCSVQgICAgICAgIDB4MDgwMDAwMAorI2VuZGlmCisjaWZuZGVmIFNIT1JUX0lOT0RFCisjIGRlZmluZSBTSE9SVF9JTk9ERSAgICAgICAgICAgICAweDEwMDAwMDAKKyNlbmRpZgorI2lmbmRlZiBXSE9MRV9TRUNPTkRTCisjIGRlZmluZSBXSE9MRV9TRUNPTkRTICAgICAgICAgICAweDIwMDAwMDAKKyNlbmRpZgorI2lmbmRlZiBTVElDS1lfVElNRU9VVFMKKyMgZGVmaW5lIFNUSUNLWV9USU1FT1VUUyAgICAgICAgIDB4NDAwMDAwMAorI2VuZGlmCisjaWZuZGVmIEFERFJfTElNSVRfM0dCCisjIGRlZmluZSBBRERSX0xJTUlUXzNHQiAgICAgICAgICAweDgwMDAwMDAKKyNlbmRpZgorCitzdGF0aWMgaW50IGFyY2h3cmFwcGVyOworCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSBzaG93X2hlbHAodm9pZCkKK3sKKwlmcHV0cyhVU0FHRV9IRUFERVIsIHN0ZG91dCk7CisJaWYgKCFhcmNod3JhcHBlcikKKwkJcHJpbnRmKF8oIiAlcyA8YXJjaD4gW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKwllbHNlCisJCXByaW50ZihfKCIgJXMgW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgc3Rkb3V0KTsKKwlmcHV0cyhfKCJDaGFuZ2UgdGhlIHJlcG9ydGVkIGFyY2hpdGVjdHVyZSBhbmQgc2V0IHBlcnNvbmFsaXR5IGZsYWdzLlxuIiksIHN0ZG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBzdGRvdXQpOworCWZwdXRzKF8oIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgdHVybnMgb24gQUREUl9MSU1JVF8zMkJJVFxuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICB0dXJucyBvbiBTSE9SVF9JTk9ERVxuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCBjaGFuZ2VzIHRoZSB3YXkgdmlydHVhbCBtZW1vcnkgaXMgYWxsb2NhdGVkXG4iKSwgc3Rkb3V0KTsKKwlmcHV0cyhfKCIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIGRpc2FibGVzIHJhbmRvbWl6YXRpb24gb2YgdGhlIHZpcnR1YWwgYWRkcmVzcyBzcGFjZVxuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICB0dXJucyBvbiBXSE9MRV9TRUNPTkRTXG4iKSwgc3Rkb3V0KTsKKwlmcHV0cyhfKCIgLVQsIC0tc3RpY2t5LXRpbWVvdXRzICAgIHR1cm5zIG9uIFNUSUNLWV9USU1FT1VUU1xuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICB0dXJucyBvbiBSRUFEX0lNUExJRVNfRVhFQ1xuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICB0dXJucyBvbiBNTUFQX1BBR0VfWkVST1xuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBsaW1pdHMgdGhlIHVzZWQgYWRkcmVzcyBzcGFjZSB0byBhIG1heGltdW0gb2YgMyBHQlxuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiICAgICAtLTRnYiAgICAgICAgICAgICAgICBpZ25vcmVkIChmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBvbmx5KVxuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICB0dXJucyBvbiBVTkFNRTI2XG4iKSwgc3Rkb3V0KTsKKwlmcHV0cyhfKCIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheSB3aGF0IG9wdGlvbnMgYXJlIGJlaW5nIHN3aXRjaGVkIG9uXG4iKSwgc3Rkb3V0KTsKKworCWlmICghYXJjaHdyYXBwZXIpCisJCWZwdXRzKF8oIiAgICAgLS1saXN0ICAgICAgICAgICAgICAgbGlzdCBzZXR0YWJsZSBhcmNoaXRlY3R1cmVzLCBhbmQgZXhpdFxuIiksIHN0ZG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIHN0ZG91dCk7CisJZnB1dHMoVVNBR0VfSEVMUCwgc3Rkb3V0KTsKKwlmcHV0cyhVU0FHRV9WRVJTSU9OLCBzdGRvdXQpOworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgic2V0YXJjaCg4KSIpKTsKKworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgc2hvd191c2FnZShjb25zdCBjaGFyICpzKQoreworCWlmIChzKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJICAgICBfKCIlc1xuVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIpLCBzLAorCQkgICAgIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKwllbHNlCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIiksCisJCSAgICAgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKQorICAgIHNob3dfdmVyc2lvbih2b2lkKQoreworCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIGludCBzZXRfYXJjaChjb25zdCBjaGFyICpwZXJzLCB1bnNpZ25lZCBsb25nIG9wdGlvbnMsIGludCBsaXN0KQoreworCXN0cnVjdCB1dHNuYW1lIHVuOworCWludCBpOworCXVuc2lnbmVkIGxvbmcgcGVyc192YWx1ZTsKKworCXN0cnVjdCB7CisJCWludCBwZXJ2YWw7CisJCWNvbnN0IGNoYXIgKnRhcmdldF9hcmNoLCAqcmVzdWx0X2FyY2g7CisJfSB0cmFuc2l0aW9uc1tdID0geworCQl7VU5BTUUyNiwJInVuYW1lMjYiLAlOVUxMfSwKKwkJe1BFUl9MSU5VWDMyLAkibGludXgzMiIsCU5VTEx9LAorCQl7UEVSX0xJTlVYLAkibGludXg2NCIsCU5VTEx9LAorI2lmIGRlZmluZWQoX19wb3dlcnBjX18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyMgaWZkZWYgX19CSUdfRU5ESUFOX18KKwkJe1BFUl9MSU5VWDMyLAkicHBjMzIiLAkicHBjIn0sCisJCXtQRVJfTElOVVgzMiwJInBwYyIsCQkicHBjIn0sCisJCXtQRVJfTElOVVgsCSJwcGM2NCIsCSJwcGM2NCJ9LAorCQl7UEVSX0xJTlVYLAkicHBjNjRwc2VyaWVzIiwJInBwYzY0In0sCisJCXtQRVJfTElOVVgsCSJwcGM2NGlzZXJpZXMiLAkicHBjNjQifSwKKyMgZWxzZQorCQl7UEVSX0xJTlVYMzIsCSJwcGMzMmxlIiwJInBwY2xlIn0sCisJCXtQRVJfTElOVVgzMiwJInBwY2xlIiwJInBwY2xlIn0sCisJCXtQRVJfTElOVVgsCSJwcGM2NGxlIiwJInBwYzY0bGUifSwKKyMgZW5kaWYKKyNlbmRpZgorI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2lhNjRfXykKKwkJe1BFUl9MSU5VWDMyLAkiaTM4NiIsCQkiaTM4NiJ9LAorCQl7UEVSX0xJTlVYMzIsCSJpNDg2IiwJCSJpMzg2In0sCisJCXtQRVJfTElOVVgzMiwJImk1ODYiLAkJImkzODYifSwKKwkJe1BFUl9MSU5VWDMyLAkiaTY4NiIsCQkiaTM4NiJ9LAorCQl7UEVSX0xJTlVYMzIsCSJhdGhsb24iLAkiaTM4NiJ9LAorI2VuZGlmCisjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9faTM4Nl9fKQorCQl7UEVSX0xJTlVYLAkieDg2XzY0IiwJIng4Nl82NCJ9LAorI2VuZGlmCisjaWYgZGVmaW5lZChfX2lhNjRfXykgfHwgZGVmaW5lZChfX2kzODZfXykKKwkJe1BFUl9MSU5VWCwJImlhNjQiLAkJImlhNjQifSwKKyNlbmRpZgorI2lmIGRlZmluZWQoX19ocHBhX18pCisJCXtQRVJfTElOVVgzMiwJInBhcmlzYzMyIiwJInBhcmlzYyJ9LAorCQl7UEVSX0xJTlVYMzIsCSJwYXJpc2MiLAkicGFyaXNjIn0sCisJCXtQRVJfTElOVVgsCSJwYXJpc2M2NCIsCSJwYXJpc2M2NCJ9LAorI2VuZGlmCisjaWYgZGVmaW5lZChfX3MzOTB4X18pIHx8IGRlZmluZWQoX19zMzkwX18pCisJCXtQRVJfTElOVVgzMiwJInMzOTAiLAkJInMzOTAifSwKKwkJe1BFUl9MSU5VWCwJInMzOTB4IiwJInMzOTB4In0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKF9fc3BhcmM2NF9fKSB8fCBkZWZpbmVkKF9fc3BhcmNfXykKKwkJe1BFUl9MSU5VWDMyLAkic3BhcmMiLAkic3BhcmMifSwKKwkJe1BFUl9MSU5VWDMyLAkic3BhcmMzMmJhc2giLAkic3BhcmMifSwKKwkJe1BFUl9MSU5VWDMyLAkic3BhcmMzMiIsCSJzcGFyYyJ9LAorCQl7UEVSX0xJTlVYLAkic3BhcmM2NCIsCSJzcGFyYzY0In0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKF9fbWlwczY0X18pIHx8IGRlZmluZWQoX19taXBzX18pCisJCXtQRVJfTElOVVgzMiwJIm1pcHMzMiIsCSJtaXBzIn0sCisJCXtQRVJfTElOVVgzMiwJIm1pcHMiLAkJIm1pcHMifSwKKwkJe1BFUl9MSU5VWCwJIm1pcHM2NCIsCSJtaXBzNjQifSwKKyNlbmRpZgorI2lmIGRlZmluZWQoX19hbHBoYV9fKQorCQl7UEVSX0xJTlVYLAkiYWxwaGEiLAkiYWxwaGEifSwKKwkJe1BFUl9MSU5VWCwJImFscGhhZXY1IiwJImFscGhhIn0sCisJCXtQRVJfTElOVVgsCSJhbHBoYWV2NTYiLAkiYWxwaGEifSwKKwkJe1BFUl9MSU5VWCwJImFscGhhZXY2IiwJImFscGhhIn0sCisJCXtQRVJfTElOVVgsCSJhbHBoYWV2NjciLAkiYWxwaGEifSwKKyNlbmRpZgorCQkvKiBwbGFjZSBob2xkZXIsIHdpbGwgYmUgZmlsbGVkIHVwIGF0IHJ1bnRpbWUgKi8KKwkJey0xLAkJTlVMTCwJCU5VTEx9LAorCQl7LTEsCQlOVUxMLAkJTlVMTH0KKwl9OworCisJLyogQWRkIHRoZSB0cml2aWFsIHRyYW5zaXRpb24ge1BFUl9MSU5VWCwgbWFjaGluZSwgbWFjaGluZX0gaWYgbm8KKwkgKiBzdWNoIHRhcmdldF9hcmNoIGlzIGhhcmRjb2RlZCB5ZXQuICAqLworCXVuYW1lKCZ1bik7CisJZm9yIChpID0gMDsgdHJhbnNpdGlvbnNbaV0ucGVydmFsID49IDA7IGkrKykKKwkJaWYgKCFzdHJjbXAodW4ubWFjaGluZSwgdHJhbnNpdGlvbnNbaV0udGFyZ2V0X2FyY2gpKQorCQkJYnJlYWs7CisJaWYgKHRyYW5zaXRpb25zW2ldLnBlcnZhbCA8IDApIHsKKwkJdW5zaWduZWQgbG9uZyB3cmRzeiA9IENIQVJfQklUICogc2l6ZW9mKHZvaWQgKik7CisJCWlmICh3cmRzeiA9PSAzMiB8fCB3cmRzeiA9PSA2NCkgeworCQkJLyogZmlsbCB1cCB0aGUgcGxhY2UgaG9sZGVyICovCisJCQl0cmFuc2l0aW9uc1tpXS5wZXJ2YWwgPSB3cmRzeiA9PSAzMiA/IFBFUl9MSU5VWDMyIDogUEVSX0xJTlVYOworCQkJdHJhbnNpdGlvbnNbaV0udGFyZ2V0X2FyY2ggPSB1bi5tYWNoaW5lOworCQkJdHJhbnNpdGlvbnNbaV0ucmVzdWx0X2FyY2ggPSB1bi5tYWNoaW5lOworCQl9CisJfQorCWlmIChsaXN0KSB7CisJCWZvciAoaSA9IDA7IHRyYW5zaXRpb25zW2ldLnRhcmdldF9hcmNoICE9IE5VTEw7IGkrKykKKwkJCXByaW50ZigiJXNcbiIsIHRyYW5zaXRpb25zW2ldLnRhcmdldF9hcmNoKTsKKwkJcmV0dXJuIDA7CisJfQorCWZvciAoaSA9IDA7IHRyYW5zaXRpb25zW2ldLnBlcnZhbCA+PSAwOyBpKyspCisJCWlmICghc3RyY21wKHBlcnMsIHRyYW5zaXRpb25zW2ldLnRhcmdldF9hcmNoKSkKKwkJCWJyZWFrOworCWlmICh0cmFuc2l0aW9uc1tpXS5wZXJ2YWwgPCAwKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXM6IFVucmVjb2duaXplZCBhcmNoaXRlY3R1cmUiKSwgcGVycyk7CisJcGVyc192YWx1ZSA9IHRyYW5zaXRpb25zW2ldLnBlcnZhbCB8IG9wdGlvbnM7CisJaWYgKHBlcnNvbmFsaXR5KHBlcnNfdmFsdWUpIDwgMCkgeworCQkvKgorCQkgKiBEZXBlbmRpbmcgb24gYXJjaGl0ZWN0dXJlIGFuZCBrZXJuZWwgdmVyc2lvbiwgcGVyc29uYWxpdHkKKwkJICogc3lzY2FsbCBpcyBlaXRoZXIgY2FwYWJsZSBvciBpbmNhcGFibGUgb2YgcmV0dXJuaW5nIGFuIGVycm9yLgorCQkgKiBJZiB0aGUgcmV0dXJuIHZhbHVlIGlzIG5vdCBhbiBlcnJvciwgdGhlbiBpdCdzIHRoZSBwcmV2aW91cworCQkgKiBwZXJzb25hbGl0eSB2YWx1ZSwgd2hpY2ggY2FuIGJlIGFuIGFyYml0cmFyeSB2YWx1ZQorCQkgKiB1bmRpc3Rpbmd1aXNoYWJsZSBmcm9tIGFuIGVycm9yIHZhbHVlLgorCQkgKiBUbyBtYWtlIHRoaW5ncyBjbGVhciwgYSBzZWNvbmQgY2FsbCBpcyBuZWVkZWQuCisJCSAqLworCQlpZiAocGVyc29uYWxpdHkocGVyc192YWx1ZSkgPCAwKQorCQkJcmV0dXJuIDE7CisJfQorCXVuYW1lKCZ1bik7CisJaWYgKHRyYW5zaXRpb25zW2ldLnJlc3VsdF9hcmNoICYmIHN0cmNtcCh1bi5tYWNoaW5lLCB0cmFuc2l0aW9uc1tpXS5yZXN1bHRfYXJjaCkpIHsKKwkJaWYgKHN0cmNtcCh0cmFuc2l0aW9uc1tpXS5yZXN1bHRfYXJjaCwgImkzODYiKQorCQkgICAgfHwgKHN0cmNtcCh1bi5tYWNoaW5lLCAiaTQ4NiIpCisJCQkmJiBzdHJjbXAodW4ubWFjaGluZSwgImk1ODYiKQorCQkJJiYgc3RyY21wKHVuLm1hY2hpbmUsICJpNjg2IikKKwkJCSYmIHN0cmNtcCh1bi5tYWNoaW5lLCAiYXRobG9uIikpKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIktlcm5lbCBjYW5ub3Qgc2V0IGFyY2hpdGVjdHVyZSB0byAlcyIpLCBwZXJzKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY29uc3QgY2hhciAqYXJjaCA9IE5VTEw7CisJdW5zaWduZWQgbG9uZyBvcHRpb25zID0gMDsKKwlpbnQgdmVyYm9zZSA9IDA7CisJaW50IGM7CisKKwkvKiBPcHRpb25zIHdpdGhvdXQgZXF1aXZhbGVudCBzaG9ydCBvcHRpb25zICovCisJZW51bSB7CisJCU9QVF80R0IgPSBDSEFSX01BWCArIDEsCisJCU9QVF9VTkFNRTI2LAorCQlPUFRfTElTVAorCX07CisKKwkvKiBPcHRpb25zIC0tM2diIGFuZCAtLTRnYiBhcmUgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBhbiBvbGQKKwkgKiBEZWJpYW4gc2V0YXJjaCBpbXBsZW1lbnRhdGlvbi4gICovCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJoZWxwIiwJCW5vX2FyZ3VtZW50LAlOVUxMLAknaCd9LAorCQl7InZlcnNpb24iLAkJbm9fYXJndW1lbnQsCU5VTEwsCSdWJ30sCisJCXsidmVyYm9zZSIsCQlub19hcmd1bWVudCwJTlVMTCwJJ3YnfSwKKwkJeyJhZGRyLW5vLXJhbmRvbWl6ZSIsCW5vX2FyZ3VtZW50LAlOVUxMLAknUid9LAorCQl7ImZkcGljLWZ1bmNwdHJzIiwJbm9fYXJndW1lbnQsCU5VTEwsCSdGJ30sCisJCXsibW1hcC1wYWdlLXplcm8iLAlub19hcmd1bWVudCwJTlVMTCwJJ1onfSwKKwkJeyJhZGRyLWNvbXBhdC1sYXlvdXQiLAlub19hcmd1bWVudCwJTlVMTCwJJ0wnfSwKKwkJeyJyZWFkLWltcGxpZXMtZXhlYyIsCW5vX2FyZ3VtZW50LAlOVUxMLAknWCd9LAorCQl7IjMyYml0IiwJCW5vX2FyZ3VtZW50LAlOVUxMLAknQid9LAorCQl7InNob3J0LWlub2RlIiwJCW5vX2FyZ3VtZW50LAlOVUxMLAknSSd9LAorCQl7Indob2xlLXNlY29uZHMiLAlub19hcmd1bWVudCwJTlVMTCwJJ1MnfSwKKwkJeyJzdGlja3ktdGltZW91dHMiLAlub19hcmd1bWVudCwJTlVMTCwJJ1QnfSwKKwkJeyIzZ2IiLAkJCW5vX2FyZ3VtZW50LAlOVUxMLAknMyd9LAorCQl7IjRnYiIsCQkJbm9fYXJndW1lbnQsCU5VTEwsCU9QVF80R0J9LAorCQl7InVuYW1lLTIuNiIsCQlub19hcmd1bWVudCwJTlVMTCwJT1BUX1VOQU1FMjZ9LAorCQl7Imxpc3QiLAkJbm9fYXJndW1lbnQsCU5VTEwsCU9QVF9MSVNUfSwKKwkJe05VTEwsCQkJMCwJCU5VTEwsCTB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlpZiAoYXJnYyA8IDEpCisJCXNob3dfdXNhZ2UoXygiTm90IGVub3VnaCBhcmd1bWVudHMiKSk7CisKKwlhcmNod3JhcHBlciA9IHN0cmNtcChwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSwgInNldGFyY2giKSAhPSAwOworCWlmIChhcmNod3JhcHBlcikKKwkJYXJjaCA9IHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lOwkvKiBzeW1saW5rcyB0byBzZXRhcmNoICovCisJZWxzZSB7CisJCWlmICgxIDwgYXJnYyAmJiAqYXJndlsxXSAhPSAnLScpIHsKKwkJCWFyY2ggPSBhcmd2WzFdOworCQkJYXJndlsxXSA9IGFyZ3ZbMF07CS8qIGZvciBnZXRvcHRfbG9uZygpIHRvIGdldCB0aGUgcHJvZ3JhbSBuYW1lICovCisJCQlhcmd2Kys7CisJCQlhcmdjLS07CisJCX0KKwl9CisKKyNpZiBkZWZpbmVkKF9fc3BhcmM2NF9fKSB8fCBkZWZpbmVkKF9fc3BhcmNfXykKKwlpZiAoYXJjaHdyYXBwZXIgJiYgc3RyY21wKGFyY2gsICJzcGFyYzMyYmFzaCIpID09IDApIHsKKwkJaWYgKHNldF9hcmNoKGFyY2gsIDBMLCAwKSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oIkZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiKSwgYXJjaCk7CisJCWV4ZWNsKCIvYmluL2Jhc2giLCBOVUxMKTsKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGV4ZWN1dGUgJXMiKSwgIi9iaW4vYmFzaCIpOworCX0KKyNlbmRpZgorCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIitoVnYzQkZJTFJTVFhaIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnaCc6CisJCQlzaG93X2hlbHAoKTsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXNob3dfdmVyc2lvbigpOworCQkJYnJlYWs7CisJCWNhc2UgJ3YnOgorCQkJdmVyYm9zZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnUic6CisJCQl0dXJuX29uKEFERFJfTk9fUkFORE9NSVpFLCBvcHRpb25zKTsKKwkJCWJyZWFrOworCQljYXNlICdGJzoKKwkJCXR1cm5fb24oRkRQSUNfRlVOQ1BUUlMsIG9wdGlvbnMpOworCQkJYnJlYWs7CisJCWNhc2UgJ1onOgorCQkJdHVybl9vbihNTUFQX1BBR0VfWkVSTywgb3B0aW9ucyk7CisJCQlicmVhazsKKwkJY2FzZSAnTCc6CisJCQl0dXJuX29uKEFERFJfQ09NUEFUX0xBWU9VVCwgb3B0aW9ucyk7CisJCQlicmVhazsKKwkJY2FzZSAnWCc6CisJCQl0dXJuX29uKFJFQURfSU1QTElFU19FWEVDLCBvcHRpb25zKTsKKwkJCWJyZWFrOworCQljYXNlICdCJzoKKwkJCXR1cm5fb24oQUREUl9MSU1JVF8zMkJJVCwgb3B0aW9ucyk7CisJCQlicmVhazsKKwkJY2FzZSAnSSc6CisJCQl0dXJuX29uKFNIT1JUX0lOT0RFLCBvcHRpb25zKTsKKwkJCWJyZWFrOworCQljYXNlICdTJzoKKwkJCXR1cm5fb24oV0hPTEVfU0VDT05EUywgb3B0aW9ucyk7CisJCQlicmVhazsKKwkJY2FzZSAnVCc6CisJCQl0dXJuX29uKFNUSUNLWV9USU1FT1VUUywgb3B0aW9ucyk7CisJCQlicmVhazsKKwkJY2FzZSAnMyc6CisJCQl0dXJuX29uKEFERFJfTElNSVRfM0dCLCBvcHRpb25zKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF80R0I6CS8qIGp1c3QgaWdub3JlIHRoaXMgb25lICovCisJCQlicmVhazsKKwkJY2FzZSBPUFRfVU5BTUUyNjoKKwkJCXR1cm5fb24oVU5BTUUyNiwgb3B0aW9ucyk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfTElTVDoKKwkJCWlmICghYXJjaHdyYXBwZXIpIHsKKwkJCQlzZXRfYXJjaChOVUxMLCAwLCAxKTsKKwkJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQkJfSBlbHNlCisJCQkJd2FybngoXygidW5yZWNvZ25pemVkIG9wdGlvbiAnLS1saXN0JyIpKTsKKwkJCS8qIGZhbGx0aHJvdWdoICovCisJCWRlZmF1bHQ6CisJCQlzaG93X3VzYWdlKE5VTEwpOworCQl9CisJfQorCisJaWYgKCFhcmNoKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibm8gYXJjaGl0ZWN0dXJlIGFyZ3VtZW50IHNwZWNpZmllZCIpKTsKKworCWFyZ2MgLT0gb3B0aW5kOworCWFyZ3YgKz0gb3B0aW5kOworCisJaWYgKHNldF9hcmNoKGFyY2gsIG9wdGlvbnMsIDApKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIiksIGFyY2gpOworCisJaWYgKHZlcmJvc2UpIHsKKwkJcHJpbnRmKF8oIkV4ZWN1dGUgY29tbWFuZCBgJXMnLlxuIiksIGFyZ2MgPyBhcmd2WzBdIDogIi9iaW4vc2giKTsKKwkJLyogZmx1c2ggYWxsIG91dHB1dCBzdHJlYW1zIGJlZm9yZSBleGVjICovCisJCWZmbHVzaChOVUxMKTsKKwl9CisKKwlpZiAoIWFyZ2MpIHsKKwkJZXhlY2woIi9iaW4vc2giLCAiLXNoIiwgTlVMTCk7CisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBleGVjdXRlICVzIiksICIvYmluL3NoIik7CisJfQorCisJZXhlY3ZwKGFyZ3ZbMF0sIGFyZ3YpOworCWVycihFWElUX0ZBSUxVUkUsICIlcyIsIGFyZ3ZbMF0pOworCXJldHVybiBFWElUX0ZBSUxVUkU7Cit9CmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvc2V0cHJpdi4xIGIvc3lzLXV0aWxzL3NldHByaXYuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjVjNDAyCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL3NldHByaXYuMQpAQCAtMCwwICsxLDE2NiBAQAorLlRIIFNFVFBSSVYgMSAiSnVseSAyMDE0IiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQorc2V0cHJpdiBcLSBydW4gYSBwcm9ncmFtIHdpdGggZGlmZmVyZW50IExpbnV4IHByaXZpbGVnZSBzZXR0aW5ncworLlNIIFNZTk9QU0lTCisuQiBzZXRwcml2Citbb3B0aW9uc10KKy5JIHByb2dyYW0KKy5SSSBbIGFyZ3VtZW50cyBdCisuU0ggREVTQ1JJUFRJT04KK1NldHMgb3IgcXVlcmllcyB2YXJpb3VzIExpbnV4IHByaXZpbGVnZSBzZXR0aW5ncyB0aGF0IGFyZSBpbmhlcml0ZWQgYWNyb3NzCisuQlIgZXhlY3ZlICgyKS4KKy5QUAorVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgY29tbWFuZHMgc2V0cHJpdiBhbmQgc3UgKG9yIHJ1bnVzZXIpIGlzIHRoYXQgc2V0cHJpdiBkb2VzCitub3QgdXNlIG9wZW4gUEFNIHNlc3Npb24gYW5kIGRvZXMgbm90IGFzayBmb3IgcGFzc3dvcmQuCitJdCdzIHNpbXBsZSBub24tc2V0LXVzZXItSUQgd3JhcHBlciBhcm91bmQKKy5CIGV4ZWN2ZQorc3lzdGVtIGNhbGwuCisuU0ggT1BUSU9OCisuVFAKKy5CIFwtXC1jbGVhclwtZ3JvdXBzCitDbGVhciBzdXBwbGVtZW50YXJ5IGdyb3Vwcy4KKy5UUAorLkJSIFwtZCAsICIgXC1cLWR1bXAiCitEdW1wIGN1cnJlbnQgcHJpdmlsZWdlIHN0YXRlLiAgQ2FuIGJlIHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSB0byBzaG93IGV4dHJhLAorbW9zdGx5IHVzZWxlc3MsIGluZm9ybWF0aW9uLiAgSW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIG9wdGlvbnMuCisuVFAKKy5CIFwtXC1ncm91cHMgXGZJZ3JvdXBcZlIuLi4KK1NldCBzdXBwbGVtZW50YXJ5IGdyb3Vwcy4gIFRoZSBhcmd1bWVudCBpcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LgorLlRQCisuQlIgXC1cLWluaFwtY2FwcyAiICgiICsgfCBcLSApIFxmSWNhcCAiLi4uICBvciAgIiBcLVwtYm91bmRpbmdcLXNldCAiICgiICsgfCBcLSApIFxmSWNhcCAuLi4KK1NldCB0aGUgaW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzIG9yIHRoZSBjYXBhYmlsaXR5IGJvdW5kaW5nIHNldC4gIFNlZQorLkJSIGNhcGFiaWxpdGllcyAoNykuCitUaGUgYXJndW1lbnQgaXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZgorLkJJICsgY2FwCithbmQKKy5CSSBcLSBjYXAKK2VudHJpZXMsIHdoaWNoIGFkZCBvciByZW1vdmUgYW4gZW50cnkgcmVzcGVjdGl2ZWx5LgorLkIgK2FsbAorYW5kCisuQiBcLWFsbAorY2FuIGJlIHVzZWQgdG8gYWRkIG9yIHJlbW92ZSBhbGwgY2Fwcy4gIFRoZSBzZXQgb2YgY2FwYWJpbGl0aWVzIHN0YXJ0cyBvdXQgYXMKK3RoZSBjdXJyZW50IGluaGVyaXRhYmxlIHNldCBmb3IKKy5CIFwtXC1pbmhcLWNhcHMKK2FuZCB0aGUgY3VycmVudCBib3VuZGluZyBzZXQgZm9yCisuQlIgXC1cLWJvdW5kaW5nXC1zZXQgLgorSWYgeW91IGRyb3Agc29tZXRoaW5nIGZyb20gdGhlIGJvdW5kaW5nIHNldCB3aXRob3V0IGFsc28gZHJvcHBpbmcgaXQgZnJvbSB0aGUKK2luaGVyaXRhYmxlIHNldCwgeW91IGFyZSBsaWtlbHkgdG8gYmVjb21lIGNvbmZ1c2VkLiAgRG8gbm90IGRvIHRoYXQuCisuVFAKKy5CIFwtXC1rZWVwXC1ncm91cHMKK1ByZXNlcnZlIHN1cHBsZW1lbnRhcnkgZ3JvdXBzLiAgT25seSB1c2VmdWwgaW4gY29uanVuY3Rpb24gd2l0aAorLkJSIFwtXC1yZ2lkICwKKy5CUiBcLVwtZWdpZCAiLCBvciIKKy5CUiBcLVwtcmVnaWQgLgorLlRQCisuQlIgXC1cLWxpc3RcLWNhcHMKK0xpc3QgYWxsIGtub3duIGNhcGFiaWxpdGllcy4gIFRoaXMgb3B0aW9uIG11c3QgYmUgc3BlY2lmaWVkIGFsb25lLgorLlRQCisuQiBcLVwtbm9cLW5ld1wtcHJpdnMKK1NldCB0aGUKKy5JIG5vX25ld19wcml2cworYml0LiAgV2l0aCB0aGlzIGJpdCBzZXQsCisuQlIgZXhlY3ZlICgyKQord2lsbCBub3QgZ3JhbnQgbmV3IHByaXZpbGVnZXMuCitGb3IgZXhhbXBsZSwgdGhlIHNldC11c2VyLUlEIGFuZCBzZXQtZ3JvdXAtSUQgYml0cyBhcyB3ZWxsCithcyBmaWxlIGNhcGFiaWxpdGllcyB3aWxsIGJlIGRpc2FibGVkLiAgKEV4ZWN1dGluZyBiaW5hcmllcyB3aXRoIHRoZXNlIGJpdHMgc2V0Cit3aWxsIHN0aWxsIHdvcmssIGJ1dCB0aGV5IHdpbGwgbm90IGdhaW4gcHJpdmlsZWdlcy4gIENlcnRhaW4gTFNNcywgZXNwZWNpYWxseQorQXBwQXJtb3IsIG1heSByZXN1bHQgaW4gZmFpbHVyZXMgdG8gZXhlY3V0ZSBjZXJ0YWluIHByb2dyYW1zLikgIFRoaXMgYml0IGlzCitpbmhlcml0ZWQgYnkgY2hpbGQgcHJvY2Vzc2VzIGFuZCBjYW5ub3QgYmUgdW5zZXQuICBTZWUKKy5CUiBwcmN0bCAoMikKK2FuZAorLklSIERvY3VtZW50YXRpb24vXDpwcmN0bC9cOm5vX1w6bmV3X1w6cHJpdnMudHh0CitpbiB0aGUgTGludXgga2VybmVsIHNvdXJjZS4KKy5zcAorVGhlIG5vX25ld19wcml2cyBiaXQgaXMgc3VwcG9ydGVkIHNpbmNlIExpbnV4IDMuNS4KKy5UUAorLkJJIFwtXC1yZ2lkICIgZ2lkXGZSLCAiIFwtXC1lZ2lkICIgZ2lkXGZSLCAiIFwtXC1yZWdpZCAiIGdpZCIKK1NldCB0aGUgcmVhbCwgZWZmZWN0aXZlLCBvciBib3RoIEdJRHMuICBUaGUgXGZJZ2lkXGZSIGFyZ3VtZW50IGNhbiBiZQorZ2l2ZW4gYXMgdGV4dHVhbCBncm91cCBuYW1lLgorLnNwCitGb3Igc2FmZXR5LCB5b3UgbXVzdCBzcGVjaWZ5IG9uZSBvZgorLkJSIFwtXC1jbGVhclwtZ3JvdXBzICwKKy5CUiBcLVwtZ3JvdXBzICIsIG9yIgorLkJSIFwtXC1rZWVwXC1ncm91cHMKK2lmIHlvdSBzZXQgYW55IHByaW1hcnkKKy5JUiBnaWQgLgorLlRQCisuQkkgXC1cLXJ1aWQgIiB1aWRcZlIsICIgXC1cLWV1aWQgIiB1aWRcZlIsICIgXC1cLXJldWlkICIgdWlkIgorU2V0IHRoZSByZWFsLCBlZmZlY3RpdmUsIG9yIGJvdGggVUlEcy4gIFRoZSBcZkl1aWRcZlIgYXJndW1lbnQgY2FuIGJlCitnaXZlbiBhcyB0ZXh0dWFsIGxvZ2luIG5hbWUuCisuc3AKK1NldHRpbmcgYQorLkkgdWlkCitvcgorLkkgZ2lkCitkb2VzIG5vdCBjaGFuZ2UgY2FwYWJpbGl0aWVzLCBhbHRob3VnaCB0aGUgZXhlYyBjYWxsIGF0IHRoZSBlbmQgbWlnaHQgY2hhbmdlCitjYXBhYmlsaXRpZXMuICBUaGlzIG1lYW5zIHRoYXQsIGlmIHlvdSBhcmUgcm9vdCwgeW91IHByb2JhYmx5IHdhbnQgdG8gZG8KK3NvbWV0aGluZyBsaWtlOgorLnNwCisuQiAiICAgICAgICBzZXRwcml2IFwtXC1yZXVpZD0xMDAwIFwtXC1yZWdpZD0xMDAwIFwtXC1jYXBzPVwtYWxsIgorLlRQCisuQlIgXC1cLXNlY3VyZWJpdHMgIiAoIiArIHwgXC0gKSBcZklzZWN1cmViaXQgLi4uCitTZXQgb3IgY2xlYXIgc2VjdXJlYml0cy4gIFRoZSBhcmd1bWVudCBpcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LgorVGhlIHZhbGlkIHNlY3VyZWJpdHMgYXJlCisuSVIgbm9yb290ICwKKy5JUiBub3Jvb3RfbG9ja2VkICwKKy5JUiBub19zZXR1aWRfZml4dXAgLAorLklSIG5vX3NldHVpZF9maXh1cF9sb2NrZWQgLAorYW5kCisuSVIga2VlcF9jYXBzX2xvY2tlZCAuCisuSSBrZWVwX2NhcHMKK2lzIGNsZWFyZWQgYnkKKy5CUiBleGVjdmUgKDIpCithbmQgaXMgdGhlcmVmb3JlIG5vdCBhbGxvd2VkLgorLlRQCisuQkkgXC1cLXNlbGludXhcLWxhYmVsICIgbGFiZWwiCitSZXF1ZXN0IGEgcGFydGljdWxhciBTRUxpbnV4IHRyYW5zaXRpb24gKHVzaW5nIGEgdHJhbnNpdGlvbiBvbiBleGVjLCBub3QKK2R5bnRyYW5zKS4gIFRoaXMgd2lsbCBmYWlsIGFuZCBjYXVzZQorLkJSIHNldHByaXYgKDEpCit0byBhYm9ydCBpZiBTRUxpbnV4IGlzIG5vdCBpbiB1c2UsIGFuZCB0aGUgdHJhbnNpdGlvbiBtYXkgYmUgaWdub3JlZCBvciBjYXVzZQorLkJSIGV4ZWN2ZSAoMikKK3RvIGZhaWwgYXQgU0VMaW51eCdzIHdoaW0uICAoSW4gcGFydGljdWxhciwgdGhpcyBpcyB1bmxpa2VseSB0byB3b3JrIGluCitjb25qdW5jdGlvbiB3aXRoCisuSVIgbm9fbmV3X3ByaXZzIC4pCitUaGlzIGlzIHNpbWlsYXIgdG8KKy5CUiBydW5jb24gKDEpLgorLlRQCisuQkkgXC1cLWFwcGFybW9yXC1wcm9maWxlICIgcHJvZmlsZSIKK1JlcXVlc3QgYSBwYXJ0aWN1bGFyIEFwcEFybW9yIHByb2ZpbGUgKHVzaW5nIGEgdHJhbnNpdGlvbiBvbiBleGVjKS4gIFRoaXMgd2lsbAorZmFpbCBhbmQgY2F1c2UKKy5CUiBzZXRwcml2ICgxKQordG8gYWJvcnQgaWYgQXBwQXJtb3IgaXMgbm90IGluIHVzZSwgYW5kIHRoZSB0cmFuc2l0aW9uIG1heSBiZSBpZ25vcmVkIG9yIGNhdXNlCisuQlIgZXhlY3ZlICgyKQordG8gZmFpbCBhdCBBcHBBcm1vcidzIHdoaW0uCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIIE5PVEVTCitJZiBhcHBseWluZyBhbnkgc3BlY2lmaWVkIG9wdGlvbiBmYWlscywKKy5JIHByb2dyYW0KK3dpbGwgbm90IGJlIHJ1biBhbmQKKy5CIHNldHByaXYKK3dpbGwgcmV0dXJuIHdpdGggZXhpdCBjb2RlIDEyNy4KKy5QUAorQmUgY2FyZWZ1bCB3aXRoIHRoaXMgdG9vbCBcLVwtIGl0IG1heSBoYXZlIHVuZXhwZWN0ZWQgc2VjdXJpdHkgY29uc2VxdWVuY2VzLgorRm9yIGV4YW1wbGUsIHNldHRpbmcgbm9fbmV3X3ByaXZzIGFuZCB0aGVuIGV4ZWNpbmcgYSBwcm9ncmFtIHRoYXQgaXMKK1NFTGludXhcLWNvbmZpbmVkIChhcyB0aGlzIHRvb2wgd291bGQgZG8pIG1heSBwcmV2ZW50IHRoZSBTRUxpbnV4CityZXN0cmljdGlvbnMgZnJvbSB0YWtpbmcgZWZmZWN0LgorLlNIIFNFRSBBTFNPCisuQlIgcnVudXNlciAoMSksCisuQlIgc3UgKDEpLAorLkJSIHByY3RsICgyKSwKKy5CUiBjYXBhYmlsaXRpZXMgKDcpCisuU0ggQVVUSE9SCisuTVQgbHV0b0BhbWFjYXBpdGFsLm5ldAorQW5keSBMdXRvbWlyc2tpCisuTUUKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZQorLkIgc2V0cHJpdgorY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgZnRwOi8vXDpmdHAua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvc2V0cHJpdi5jIGIvc3lzLXV0aWxzL3NldHByaXYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NzdjY2QxCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL3NldHByaXYuYwpAQCAtMCwwICsxLDg0MSBAQAorLyoKKyAqIHNldHByaXYoMSkgLSBzZXQgdmFyaW91cyBrZXJuZWwgcHJpdmlsZWdlIGJpdHMgYW5kIHJ1biBzb21ldGhpbmcKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQW5keSBMdXRvbWlyc2tpIDxsdXRvQGFtYWNhcGl0YWwubmV0PgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUKKyAqIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkKKyAqIGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAorICogV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworICogd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyAqIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisgKi8KKworI2luY2x1ZGUgPGNhcC1uZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8Z3JwLmg+CisjaW5jbHVkZSA8bGludXgvc2VjdXJlYml0cy5oPgorI2luY2x1ZGUgPHB3ZC5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3lzL3ByY3RsLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJvcHR1dGlscy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisKKyNpZm5kZWYgUFJfU0VUX05PX05FV19QUklWUworIyBkZWZpbmUgUFJfU0VUX05PX05FV19QUklWUyAzOAorI2VuZGlmCisjaWZuZGVmIFBSX0dFVF9OT19ORVdfUFJJVlMKKyMgZGVmaW5lIFBSX0dFVF9OT19ORVdfUFJJVlMgMzkKKyNlbmRpZgorCisjZGVmaW5lIFNFVFBSSVZfRVhJVF9QUklWRVJSIDEyNwkvKiBob3cgd2UgZXhpdCB3aGVuIHdlIGZhaWwgdG8gc2V0IHByaXZzICovCisKKy8qCisgKiBOb3RlOiBXZSBhcmUgc3ViamVjdCB0byBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTg5NTEwNQorICogYW5kIHdlIHdpbGwgdGhlcmVmb3JlIGhhdmUgcHJvYmxlbXMgaWYgbmV3IGNhcGFiaWxpdGllcyBhcmUgYWRkZWQuICBPbmNlCisgKiB0aGF0IGJ1ZyBpcyBmaXhlZCwgSSdsbCAoQW5keSBMdXRvbWlyc2tpKSBzdWJtaXQgYSBjb3JyZXNwb25kaW5nIGZpeCB0bworICogc2V0cHJpdi4gIEluIHRoZSBtZWFuIHRpbWUsIHRoZSBjb2RlIGhlcmUgdHJpZXMgdG8gd29yayByZWFzb25hYmx5IHdlbGwuCisgKi8KKworc3RydWN0IHByaXZjdHggeworCXVuc2lnbmVkIGludAorCQlubnA6MSwJCQkvKiBub19uZXdfcHJpdnMgKi8KKwkJaGF2ZV9ydWlkOjEsCQkvKiByZWFsIHVpZCAqLworCQloYXZlX2V1aWQ6MSwJCS8qIGVmZmVjdGl2ZSB1aWQgKi8KKwkJaGF2ZV9yZ2lkOjEsCQkvKiByZWFsIGdpZCAqLworCQloYXZlX2VnaWQ6MSwJCS8qIGVmZmVjdGl2ZSBnaWQgKi8KKwkJaGF2ZV9ncm91cHM6MSwJCS8qIGFkZCBncm91cHMgKi8KKwkJa2VlcF9ncm91cHM6MSwJCS8qIGtlZXAgZ3JvdXBzICovCisJCWNsZWFyX2dyb3VwczoxLAkJLyogcmVtb3ZlIGdyb3VwcyAqLworCQloYXZlX3NlY3VyZWJpdHM6MTsJLyogcmVtb3ZlIGdyb3VwcyAqLworCisJLyogdWlkcyBhbmQgZ2lkcyAqLworCXVpZF90IHJ1aWQsIGV1aWQ7CisJZ2lkX3QgcmdpZCwgZWdpZDsKKworCS8qIHN1cHBsZW1lbnRhcnkgZ3JvdXBzICovCisJc2l6ZV90IG51bV9ncm91cHM7CisJZ2lkX3QgKmdyb3VwczsKKworCS8qIGNhcHMgKi8KKwljb25zdCBjaGFyICpjYXBzX3RvX2luaGVyaXQ7CisJY29uc3QgY2hhciAqYm91bmRpbmdfc2V0OworCisJLyogc2VjdXJlYml0cyAqLworCWludCBzZWN1cmViaXRzOworCisJLyogTFNNcyAqLworCWNvbnN0IGNoYXIgKnNlbGludXhfbGFiZWw7CisJY29uc3QgY2hhciAqYXBwYXJtb3JfcHJvZmlsZTsKK307CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKEZJTEUgKm91dCkKK3sKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXVxuIiksCisJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJSdW4gYSBwcm9ncmFtIHdpdGggZGlmZmVyZW50IHByaXZpbGVnZSBzZXR0aW5ncy5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgIHNob3cgY3VycmVudCBzdGF0ZSAoYW5kIGRvIG5vdCBleGVjIGFueXRoaW5nKVxuIiksIG91dCk7CisJZnB1dHMoXygiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICBkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC0taW5oLWNhcHMgPGNhcHMsLi4uPiAgICBzZXQgaW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgIHNldCBjYXBhYmlsaXR5IGJvdW5kaW5nIHNldFxuIiksIG91dCk7CisJZnB1dHMoXygiIC0tcnVpZCA8dWlkPiAgICAgICAgICAgICBzZXQgcmVhbCB1aWRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLWV1aWQgPHVpZD4gICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSB1aWRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgc2V0IHJlYWwgZ2lkXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1lZ2lkIDxnaWQ+ICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgZ2lkXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1yZXVpZCA8dWlkPiAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgdWlkXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1yZWdpZCA8Z2lkPiAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgZ2lkXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1jbGVhci1ncm91cHMgICAgICAgICAgIGNsZWFyIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLWdyb3VwcyA8Z3JvdXAsLi4uPiAgICAgc2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1zZWN1cmViaXRzIDxiaXRzPiAgICAgIHNldCBzZWN1cmViaXRzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1zZWxpbnV4LWxhYmVsIDxsYWJlbD4gIHNldCBTRUxpbnV4IGxhYmVsXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1hcHBhcm1vci1wcm9maWxlIDxwcj4gIHNldCBBcHBBcm1vciBwcm9maWxlXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dCk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIiBUaGlzIHRvb2wgY2FuIGJlIGRhbmdlcm91cy4gIFJlYWQgdGhlIG1hbnBhZ2UsIGFuZCBiZSBjYXJlZnVsLlxuIiksIG91dCk7CisJZnByaW50ZihvdXQsIFVTQUdFX01BTl9UQUlMKCJzZXRwcml2KDEpIikpOworCisJZXhpdChvdXQgPT0gc3RkZXJyID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIGludCByZWFsX2NhcF9sYXN0X2NhcCh2b2lkKQoreworCS8qIENBUF9MQVNUX0NBUCBpcyB1bnRydXN0d29ydGh5LiAqLworCXN0YXRpYyBpbnQgcmV0ID0gLTE7CisJaW50IG1hdGNoZWQ7CisJRklMRSAqZjsKKworCWlmIChyZXQgIT0gLTEpCisJCXJldHVybiByZXQ7CisKKwlmID0gZm9wZW4oX1BBVEhfUFJPQ19DQVBMQVNUQ0FQLCAiciIpOworCWlmICghZikgeworCQlyZXQgPSBDQVBfTEFTVF9DQVA7CS8qIGd1ZXNzICovCisJCXJldHVybiByZXQ7CisJfQorCisJbWF0Y2hlZCA9IGZzY2FuZihmLCAiJWQiLCAmcmV0KTsKKwlmY2xvc2UoZik7CisKKwlpZiAobWF0Y2hlZCAhPSAxKQorCQlyZXQgPSBDQVBfTEFTVF9DQVA7CS8qIGd1ZXNzICovCisKKwlyZXR1cm4gcmV0OworfQorCisvKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgY2FwYWJpbGl0aWVzIHByaW50ZWQuICovCitzdGF0aWMgaW50IHByaW50X2NhcHMoRklMRSAqZiwgY2FwbmdfdHlwZV90IHdoaWNoKQoreworCWludCBpLCBuID0gMCwgbWF4ID0gcmVhbF9jYXBfbGFzdF9jYXAoKTsKKworCWZvciAoaSA9IDA7IGkgPD0gbWF4OyBpKyspIHsKKwkJaWYgKGNhcG5nX2hhdmVfY2FwYWJpbGl0eSh3aGljaCwgaSkpIHsKKwkJCWNvbnN0IGNoYXIgKm5hbWUgPSBjYXBuZ19jYXBhYmlsaXR5X3RvX25hbWUoaSk7CisJCQlpZiAobikKKwkJCQlmcHV0YygnLCcsIGYpOworCQkJaWYgKG5hbWUpCisJCQkJZnB1dHMobmFtZSwgZik7CisJCQllbHNlCisJCQkJLyogY2FwLW5nIGhhcyB2ZXJ5IHBvb3IgaGFuZGxpbmcgb2YKKwkJCQkgKiBDQVBfTEFTVF9DQVAgY2hhbmdlcy4gIFRoaXMgaXMgdGhlCisJCQkJICogYmVzdCB3ZSBjYW4gZG8uICovCisJCQkJcHJpbnRmKCJjYXBfJWQiLCBpKTsKKwkJCW4rKzsKKwkJfQorCX0KKwlyZXR1cm4gbjsKK30KKworc3RhdGljIHZvaWQgZHVtcF9vbmVfc2VjYml0KGludCAqZmlyc3QsIGludCAqYml0cywgaW50IGJpdCwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlpZiAoKmJpdHMgJiBiaXQpIHsKKwkJaWYgKCpmaXJzdCkKKwkJCSpmaXJzdCA9IDA7CisJCWVsc2UKKwkJCXByaW50ZigiLCIpOworCQlmcHV0cyhuYW1lLCBzdGRvdXQpOworCQkqYml0cyAmPSB+Yml0OworCX0KK30KKworc3RhdGljIHZvaWQgZHVtcF9zZWN1cmViaXRzKHZvaWQpCit7CisJaW50IGZpcnN0ID0gMTsKKwlpbnQgYml0cyA9IHByY3RsKFBSX0dFVF9TRUNVUkVCSVRTLCAwLCAwLCAwLCAwKTsKKworCWlmIChiaXRzIDwgMCkgeworCQl3YXJueChfKCJnZXR0aW5nIHByb2Nlc3Mgc2VjdXJlIGJpdHMgZmFpbGVkIikpOworCQlyZXR1cm47CisJfQorCisJcHJpbnRmKF8oIlNlY3VyZWJpdHM6ICIpKTsKKworCWR1bXBfb25lX3NlY2JpdCgmZmlyc3QsICZiaXRzLCBTRUNCSVRfTk9ST09ULCAibm9yb290Iik7CisJZHVtcF9vbmVfc2VjYml0KCZmaXJzdCwgJmJpdHMsIFNFQ0JJVF9OT1JPT1RfTE9DS0VELCAibm9yb290X2xvY2tlZCIpOworCWR1bXBfb25lX3NlY2JpdCgmZmlyc3QsICZiaXRzLCBTRUNCSVRfTk9fU0VUVUlEX0ZJWFVQLAorCQkJIm5vX3NldHVpZF9maXh1cCIpOworCWR1bXBfb25lX3NlY2JpdCgmZmlyc3QsICZiaXRzLCBTRUNCSVRfTk9fU0VUVUlEX0ZJWFVQX0xPQ0tFRCwKKwkJCSJub19zZXR1aWRfZml4dXBfbG9ja2VkIik7CisJYml0cyAmPSB+U0VDQklUX0tFRVBfQ0FQUzsKKwlkdW1wX29uZV9zZWNiaXQoJmZpcnN0LCAmYml0cywgU0VDQklUX0tFRVBfQ0FQU19MT0NLRUQsCisJCQkia2VlcF9jYXBzX2xvY2tlZCIpOworCWlmIChiaXRzKSB7CisJCWlmIChmaXJzdCkKKwkJCWZpcnN0ID0gMDsKKwkJZWxzZQorCQkJcHJpbnRmKCIsIik7CisJCXByaW50ZigiMHgleCIsICh1bnNpZ25lZCliaXRzKTsKKwl9CisKKwlpZiAoZmlyc3QpCisJCXByaW50ZihfKCJbbm9uZV1cbiIpKTsKKwllbHNlCisJCXByaW50ZigiXG4iKTsKK30KKworc3RhdGljIHZvaWQgZHVtcF9sYWJlbChjb25zdCBjaGFyICpuYW1lKQoreworCWNoYXIgYnVmWzQwOTddOworCXNzaXplX3QgbGVuOworCWludCBmZCwgZTsKKworCWZkID0gb3BlbihfUEFUSF9QUk9DX0FUVFJfQ1VSUkVOVCwgT19SRE9OTFkpOworCWlmIChmZCA9PSAtMSkgeworCQl3YXJuKF8oImNhbm5vdCBvcGVuICVzIiksIF9QQVRIX1BST0NfQVRUUl9DVVJSRU5UKTsKKwkJcmV0dXJuOworCX0KKworCWxlbiA9IHJlYWQoZmQsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCWUgPSBlcnJubzsKKwljbG9zZShmZCk7CisJaWYgKGxlbiA8IDApIHsKKwkJZXJybm8gPSBlOworCQl3YXJuKF8oImNhbm5vdCByZWFkICVzIiksIG5hbWUpOworCQlyZXR1cm47CisJfQorCWlmIChzaXplb2YoYnVmKSAtIDEgPD0gKHNpemVfdClsZW4pIHsKKwkJd2FybngoXygiJXM6IHRvbyBsb25nIiksIG5hbWUpOworCQlyZXR1cm47CisJfQorCisJYnVmW2xlbl0gPSAwOworCWlmICgwIDwgbGVuICYmIGJ1ZltsZW4gLSAxXSA9PSAnXG4nKQorCQlidWZbbGVuIC0gMV0gPSAwOworCXByaW50ZigiJXM6ICVzXG4iLCBuYW1lLCBidWYpOworfQorCitzdGF0aWMgdm9pZCBkdW1wX2dyb3Vwcyh2b2lkKQoreworCWludCBuID0gZ2V0Z3JvdXBzKDAsIDApOworCWdpZF90ICpncm91cHM7CisKKwlpZiAobiA8IDApIHsKKwkJd2FybigiZ2V0Z3JvdXBzIGZhaWxlZCIpOworCQlyZXR1cm47CisJfQorCisJZ3JvdXBzID0geG1hbGxvYyhuICogc2l6ZW9mKGdpZF90KSk7CisJbiA9IGdldGdyb3VwcyhuLCBncm91cHMpOworCWlmIChuIDwgMCkgeworCQlmcmVlKGdyb3Vwcyk7CisJCXdhcm4oImdldGdyb3VwcyBmYWlsZWQiKTsKKwkJcmV0dXJuOworCX0KKworCXByaW50ZihfKCJTdXBwbGVtZW50YXJ5IGdyb3VwczogIikpOworCWlmIChuID09IDApCisJCXByaW50ZihfKCJbbm9uZV0iKSk7CisJZWxzZSB7CisJCWludCBpOworCQlmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7CisJCQlpZiAoMCA8IGkpCisJCQkJcHJpbnRmKCIsIik7CisJCQlwcmludGYoIiVsZCIsIChsb25nKWdyb3Vwc1tpXSk7CisJCX0KKwl9CisJcHJpbnRmKCJcbiIpOworCWZyZWUoZ3JvdXBzKTsKK30KKworc3RhdGljIHZvaWQgZHVtcChpbnQgZHVtcGxldmVsKQoreworCWludCB4OworCXVpZF90IHJ1LCBldSwgc3U7CisJZ2lkX3QgcmcsIGVnLCBzZzsKKworCWlmIChnZXRyZXN1aWQoJnJ1LCAmZXUsICZzdSkgPT0gMCkgeworCQlwcmludGYoXygidWlkOiAldVxuIiksIHJ1KTsKKwkJcHJpbnRmKF8oImV1aWQ6ICV1XG4iKSwgZXUpOworCQkvKiBTYXZlZCBhbmQgZnMgdWlkcyBhbHdheXMgZXF1YWwgZXVpZC4gKi8KKwkJaWYgKDMgPD0gZHVtcGxldmVsKQorCQkJcHJpbnRmKF8oInN1aWQ6ICV1XG4iKSwgc3UpOworCX0gZWxzZQorCQl3YXJuKF8oImdldHJlc3VpZCBmYWlsZWQiKSk7CisKKwlpZiAoZ2V0cmVzZ2lkKCZyZywgJmVnLCAmc2cpID09IDApIHsKKwkJcHJpbnRmKCJnaWQ6ICVsZFxuIiwgKGxvbmcpcmcpOworCQlwcmludGYoImVnaWQ6ICVsZFxuIiwgKGxvbmcpZWcpOworCQkvKiBTYXZlZCBhbmQgZnMgZ2lkcyBhbHdheXMgZXF1YWwgZWdpZC4gKi8KKwkJaWYgKGR1bXBsZXZlbCA+PSAzKQorCQkJcHJpbnRmKCJzZ2lkOiAlbGRcbiIsIChsb25nKXNnKTsKKwl9IGVsc2UKKwkJd2FybihfKCJnZXRyZXNnaWQgZmFpbGVkIikpOworCisJZHVtcF9ncm91cHMoKTsKKworCXggPSBwcmN0bChQUl9HRVRfTk9fTkVXX1BSSVZTLCAwLCAwLCAwLCAwKTsKKwlpZiAoMCA8PSB4KQorCQlwcmludGYoIm5vX25ld19wcml2czogJWRcbiIsIHgpOworCWVsc2UKKwkJd2Fybigic2V0dGluZyBub19uZXdfcHJpdnMgZmFpbGVkIik7CisKKwlpZiAoMiA8PSBkdW1wbGV2ZWwpIHsKKwkJcHJpbnRmKF8oIkVmZmVjdGl2ZSBjYXBhYmlsaXRpZXM6ICIpKTsKKwkJaWYgKHByaW50X2NhcHMoc3Rkb3V0LCBDQVBOR19FRkZFQ1RJVkUpID09IDApCisJCQlwcmludGYoXygiW25vbmVdIikpOworCQlwcmludGYoIlxuIik7CisKKwkJcHJpbnRmKF8oIlBlcm1pdHRlZCBjYXBhYmlsaXRpZXM6ICIpKTsKKwkJaWYgKHByaW50X2NhcHMoc3Rkb3V0LCBDQVBOR19QRVJNSVRURUQpID09IDApCisJCQlwcmludGYoXygiW25vbmVdIikpOworCQlwcmludGYoIlxuIik7CisJfQorCisJcHJpbnRmKF8oIkluaGVyaXRhYmxlIGNhcGFiaWxpdGllczogIikpOworCWlmIChwcmludF9jYXBzKHN0ZG91dCwgQ0FQTkdfSU5IRVJJVEFCTEUpID09IDApCisJCXByaW50ZihfKCJbbm9uZV0iKSk7CisJcHJpbnRmKCJcbiIpOworCisJcHJpbnRmKF8oIkNhcGFiaWxpdHkgYm91bmRpbmcgc2V0OiAiKSk7CisJaWYgKHByaW50X2NhcHMoc3Rkb3V0LCBDQVBOR19CT1VORElOR19TRVQpID09IDApCisJCXByaW50ZihfKCJbbm9uZV0iKSk7CisJcHJpbnRmKCJcbiIpOworCisJZHVtcF9zZWN1cmViaXRzKCk7CisKKwlpZiAoYWNjZXNzKF9QQVRIX1NZU19TRUxJTlVYLCBGX09LKSA9PSAwKQorCQlkdW1wX2xhYmVsKF8oIlNFTGludXggbGFiZWwiKSk7CisKKwlpZiAoYWNjZXNzKF9QQVRIX1NZU19BUFBBUk1PUiwgRl9PSykgPT0gMCkgeworCQlkdW1wX2xhYmVsKF8oIkFwcEFybW9yIHByb2ZpbGUiKSk7CisJfQorfQorCitzdGF0aWMgdm9pZCBsaXN0X2tub3duX2NhcHModm9pZCkKK3sKKwlpbnQgaSwgbWF4ID0gcmVhbF9jYXBfbGFzdF9jYXAoKTsKKworCWZvciAoaSA9IDA7IGkgPD0gbWF4OyBpKyspIHsKKwkJY29uc3QgY2hhciAqbmFtZSA9IGNhcG5nX2NhcGFiaWxpdHlfdG9fbmFtZShpKTsKKwkJaWYgKG5hbWUpCisJCQlwcmludGYoIiVzXG4iLCBuYW1lKTsKKwkJZWxzZQorCQkJd2FybngoXygiY2FwICVkOiBsaWJjYXAtbmcgaXMgYnJva2VuIiksIGkpOworCX0KK30KKworc3RhdGljIHZvaWQgcGFyc2VfZ3JvdXBzKHN0cnVjdCBwcml2Y3R4ICpvcHRzLCBjb25zdCBjaGFyICpzdHIpCit7CisJY2hhciAqZ3JvdXBzID0geHN0cmR1cChzdHIpOworCWNoYXIgKmJ1ZiA9IGdyb3VwczsJLyogV2UnbGwgcmV1c2UgaXQgKi8KKwljaGFyICpjOworCXNpemVfdCBpID0gMDsKKworCW9wdHMtPmhhdmVfZ3JvdXBzID0gMTsKKwlvcHRzLT5udW1fZ3JvdXBzID0gMDsKKwl3aGlsZSAoKGMgPSBzdHJzZXAoJmdyb3VwcywgIiwiKSkpCisJCW9wdHMtPm51bV9ncm91cHMrKzsKKworCS8qIFN0YXJ0IGFnYWluICovCisJc3RyY3B5KGJ1Ziwgc3RyKTsJLyogSXQncyBleGFjdGx5IHRoZSByaWdodCBsZW5ndGggKi8KKwlncm91cHMgPSBidWY7CisKKwlvcHRzLT5ncm91cHMgPSB4Y2FsbG9jKG9wdHMtPm51bV9ncm91cHMsIHNpemVvZihnaWRfdCkpOworCXdoaWxlICgoYyA9IHN0cnNlcCgmZ3JvdXBzLCAiLCIpKSkKKwkJb3B0cy0+Z3JvdXBzW2krK10gPSAoZ2lkX3QpIHN0cnRvbF9vcl9lcnIoYywKKwkJCQkJCSAgXygiSW52YWxpZCBzdXBwbGVtZW50YXJ5IGdyb3VwIGlkIikpOworCisJZnJlZShncm91cHMpOworfQorCitzdGF0aWMgdm9pZCBkb19zZXRyZXN1aWQoY29uc3Qgc3RydWN0IHByaXZjdHggKm9wdHMpCit7CisJdWlkX3QgcnVpZCwgZXVpZCwgc3VpZDsKKwlpZiAoZ2V0cmVzdWlkKCZydWlkLCAmZXVpZCwgJnN1aWQpICE9IDApCisJCWVycihTRVRQUklWX0VYSVRfUFJJVkVSUiwgXygiZ2V0cmVzdWlkIGZhaWxlZCIpKTsKKwlpZiAob3B0cy0+aGF2ZV9ydWlkKQorCQlydWlkID0gb3B0cy0+cnVpZDsKKwlpZiAob3B0cy0+aGF2ZV9ldWlkKQorCQlldWlkID0gb3B0cy0+ZXVpZDsKKworCS8qIEFsc28gY29weSBlZmZlY3RpdmUgdG8gc2F2ZWQgKGZvciBwYXJhbm9pYSkuICovCisJaWYgKHNldHJlc3VpZChydWlkLCBldWlkLCBldWlkKSAhPSAwKQorCQllcnIoU0VUUFJJVl9FWElUX1BSSVZFUlIsIF8oInNldHJlc3VpZCBmYWlsZWQiKSk7Cit9CisKK3N0YXRpYyB2b2lkIGRvX3NldHJlc2dpZChjb25zdCBzdHJ1Y3QgcHJpdmN0eCAqb3B0cykKK3sKKwlnaWRfdCByZ2lkLCBlZ2lkLCBzZ2lkOworCWlmIChnZXRyZXNnaWQoJnJnaWQsICZlZ2lkLCAmc2dpZCkgIT0gMCkKKwkJZXJyKFNFVFBSSVZfRVhJVF9QUklWRVJSLCBfKCJnZXRyZXNnaWQgZmFpbGVkIikpOworCWlmIChvcHRzLT5oYXZlX3JnaWQpCisJCXJnaWQgPSBvcHRzLT5yZ2lkOworCWlmIChvcHRzLT5oYXZlX2VnaWQpCisJCWVnaWQgPSBvcHRzLT5lZ2lkOworCisJLyogQWxzbyBjb3B5IGVmZmVjdGl2ZSB0byBzYXZlZCAoZm9yIHBhcmFub2lhKS4gKi8KKwlpZiAoc2V0cmVzZ2lkKHJnaWQsIGVnaWQsIGVnaWQpICE9IDApCisJCWVycihTRVRQUklWX0VYSVRfUFJJVkVSUiwgXygic2V0cmVzZ2lkIGZhaWxlZCIpKTsKK30KKworc3RhdGljIHZvaWQgYnVtcF9jYXAodW5zaWduZWQgaW50IGNhcCkKK3sKKwlpZiAoY2FwbmdfaGF2ZV9jYXBhYmlsaXR5KENBUE5HX1BFUk1JVFRFRCwgY2FwKSkKKwkJY2FwbmdfdXBkYXRlKENBUE5HX0FERCwgQ0FQTkdfRUZGRUNUSVZFLCBjYXApOworfQorCitzdGF0aWMgdm9pZCBkb19jYXBzKGNhcG5nX3R5cGVfdCB0eXBlLCBjb25zdCBjaGFyICpjYXBzKQoreworCWNoYXIgKm15X2NhcHMgPSB4c3RyZHVwKGNhcHMpOworCWNoYXIgKmM7CisKKwl3aGlsZSAoKGMgPSBzdHJzZXAoJm15X2NhcHMsICIsIikpKSB7CisJCWNhcG5nX2FjdF90IGFjdGlvbjsKKwkJaWYgKCpjID09ICcrJykKKwkJCWFjdGlvbiA9IENBUE5HX0FERDsKKwkJZWxzZSBpZiAoKmMgPT0gJy0nKQorCQkJYWN0aW9uID0gQ0FQTkdfRFJPUDsKKwkJZWxzZQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImJhZCBjYXBhYmlsaXR5IHN0cmluZyIpKTsKKworCQlpZiAoIXN0cmNtcChjICsgMSwgImFsbCIpKSB7CisJCQlpbnQgaTsKKwkJCS8qIEl0IHdvdWxkIGJlIHJlYWxseSBiYWQgaWYgLWFsbCBkaWRuJ3QgZHJvcCBhbGwKKwkJCSAqIGNhcHMuICBJdCdzIGJldHRlciB0byBqdXN0IGZhaWwuICovCisJCQlpZiAocmVhbF9jYXBfbGFzdF9jYXAoKSA+IENBUF9MQVNUX0NBUCkKKwkJCQllcnJ4KFNFVFBSSVZfRVhJVF9QUklWRVJSLAorCQkJCSAgICAgXygibGliY2FwLW5nIGlzIHRvbyBvbGQgZm9yIFwiYWxsXCIgY2FwcyIpKTsKKwkJCWZvciAoaSA9IDA7IGkgPD0gQ0FQX0xBU1RfQ0FQOyBpKyspCisJCQkJY2FwbmdfdXBkYXRlKGFjdGlvbiwgdHlwZSwgaSk7CisJCX0gZWxzZSB7CisJCQlpbnQgY2FwID0gY2FwbmdfbmFtZV90b19jYXBhYmlsaXR5KGMgKyAxKTsKKwkJCWlmICgwIDw9IGNhcCkKKwkJCQljYXBuZ191cGRhdGUoYWN0aW9uLCB0eXBlLCBjYXApOworCQkJZWxzZQorCQkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJCSAgICAgXygidW5rbm93biBjYXBhYmlsaXR5IFwiJXNcIiIpLCBjICsgMSk7CisJCX0KKwl9CisKKwlmcmVlKG15X2NhcHMpOworfQorCitzdGF0aWMgdm9pZCBwYXJzZV9zZWN1cmViaXRzKHN0cnVjdCBwcml2Y3R4ICpvcHRzLCBjb25zdCBjaGFyICphcmcpCit7CisJY2hhciAqYnVmID0geHN0cmR1cChhcmcpOworCWNoYXIgKmM7CisKKwlvcHRzLT5oYXZlX3NlY3VyZWJpdHMgPSAxOworCW9wdHMtPnNlY3VyZWJpdHMgPSBwcmN0bChQUl9HRVRfU0VDVVJFQklUUywgMCwgMCwgMCwgMCk7CisJaWYgKG9wdHMtPnNlY3VyZWJpdHMgPCAwKQorCQllcnIoU0VUUFJJVl9FWElUX1BSSVZFUlIsIF8oImdldHRpbmcgcHJvY2VzcyBzZWN1cmUgYml0cyBmYWlsZWQiKSk7CisKKwlpZiAob3B0cy0+c2VjdXJlYml0cyAmIH4oaW50KShTRUNCSVRfTk9ST09UIHwKKwkJCQkgICAgICBTRUNCSVRfTk9ST09UX0xPQ0tFRCB8CisJCQkJICAgICAgU0VDQklUX05PX1NFVFVJRF9GSVhVUCB8CisJCQkJICAgICAgU0VDQklUX05PX1NFVFVJRF9GSVhVUF9MT0NLRUQgfAorCQkJCSAgICAgIFNFQ0JJVF9LRUVQX0NBUFMgfAorCQkJCSAgICAgIFNFQ0JJVF9LRUVQX0NBUFNfTE9DS0VEKSkKKwkJZXJyeChTRVRQUklWX0VYSVRfUFJJVkVSUiwKKwkJICAgICBfKCJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IHNldCAtLSByZWZ1c2luZyB0byBhZGp1c3QiKSk7CisKKwl3aGlsZSAoKGMgPSBzdHJzZXAoJmJ1ZiwgIiwiKSkpIHsKKwkJaWYgKCpjICE9ICcrJyAmJiAqYyAhPSAnLScpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiYmFkIHNlY3VyZWJpdHMgc3RyaW5nIikpOworCisJCWlmICghc3RyY21wKGMgKyAxLCAiYWxsIikpIHsKKwkJCWlmICgqYyA9PSAnLScpCisJCQkJb3B0cy0+c2VjdXJlYml0cyA9IDA7CisJCQllbHNlCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkJICAgICBfKCIrYWxsIHNlY3VyZWJpdHMgaXMgbm90IGFsbG93ZWQiKSk7CisJCX0gZWxzZSB7CisJCQlpbnQgYml0OworCQkJaWYgKCFzdHJjbXAoYyArIDEsICJub3Jvb3QiKSkKKwkJCQliaXQgPSBTRUNCSVRfTk9ST09UOworCQkJZWxzZSBpZiAoIXN0cmNtcChjICsgMSwgIm5vcm9vdF9sb2NrZWQiKSkKKwkJCQliaXQgPSBTRUNCSVRfTk9ST09UX0xPQ0tFRDsKKwkJCWVsc2UgaWYgKCFzdHJjbXAoYyArIDEsICJub19zZXR1aWRfZml4dXAiKSkKKwkJCQliaXQgPSBTRUNCSVRfTk9fU0VUVUlEX0ZJWFVQOworCQkJZWxzZSBpZiAoIXN0cmNtcChjICsgMSwgIm5vX3NldHVpZF9maXh1cF9sb2NrZWQiKSkKKwkJCQliaXQgPSBTRUNCSVRfTk9fU0VUVUlEX0ZJWFVQX0xPQ0tFRDsKKwkJCWVsc2UgaWYgKCFzdHJjbXAoYyArIDEsICJrZWVwX2NhcHMiKSkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCQkgICAgIF8oImFkanVzdGluZyBrZWVwX2NhcHMgZG9lcyBub3QgbWFrZSBzZW5zZSIpKTsKKwkJCWVsc2UgaWYgKCFzdHJjbXAoYyArIDEsICJrZWVwX2NhcHNfbG9ja2VkIikpCisJCQkJYml0ID0gU0VDQklUX0tFRVBfQ0FQU19MT0NLRUQ7CS8qIHNpZ2ggKi8KKwkJCWVsc2UKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIpKTsKKworCQkJaWYgKCpjID09ICcrJykKKwkJCQlvcHRzLT5zZWN1cmViaXRzIHw9IGJpdDsKKwkJCWVsc2UKKwkJCQlvcHRzLT5zZWN1cmViaXRzICY9IH5iaXQ7CisJCX0KKwl9CisKKwlvcHRzLT5zZWN1cmViaXRzIHw9IFNFQ0JJVF9LRUVQX0NBUFM7CS8qIFdlIG5lZWQgaXQsIGFuZCBpdCdzIHJlc2V0IG9uIGV4ZWMgKi8KKworCWZyZWUoYnVmKTsKK30KKworc3RhdGljIHZvaWQgZG9fc2VsaW51eF9sYWJlbChjb25zdCBjaGFyICpsYWJlbCkKK3sKKwlpbnQgZmQ7CisJc2l6ZV90IGxlbjsKKworCWlmIChhY2Nlc3MoX1BBVEhfU1lTX1NFTElOVVgsIEZfT0spICE9IDApCisJCWVycngoU0VUUFJJVl9FWElUX1BSSVZFUlIsIF8oIlNFTGludXggaXMgbm90IHJ1bm5pbmciKSk7CisKKwlmZCA9IG9wZW4oX1BBVEhfUFJPQ19BVFRSX0VYRUMsIE9fUkRXUik7CisJaWYgKGZkID09IC0xKQorCQllcnIoU0VUUFJJVl9FWElUX1BSSVZFUlIsCisJCSAgICBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBfUEFUSF9QUk9DX0FUVFJfRVhFQyk7CisKKwlsZW4gPSBzdHJsZW4obGFiZWwpOworCWVycm5vID0gMDsKKwlpZiAod3JpdGUoZmQsIGxhYmVsLCBsZW4pICE9IChzc2l6ZV90KSBsZW4pCisJCWVycihTRVRQUklWX0VYSVRfUFJJVkVSUiwKKwkJICAgIF8oIndyaXRlIGZhaWxlZDogJXMiKSwgX1BBVEhfUFJPQ19BVFRSX0VYRUMpOworCisJaWYgKGNsb3NlKGZkKSAhPSAwKQorCQllcnIoU0VUUFJJVl9FWElUX1BSSVZFUlIsCisJCSAgICBfKCJjbG9zZSBmYWlsZWQ6ICVzIiksIF9QQVRIX1BST0NfQVRUUl9FWEVDKTsKK30KKworc3RhdGljIHZvaWQgZG9fYXBwYXJtb3JfcHJvZmlsZShjb25zdCBjaGFyICpsYWJlbCkKK3sKKwlGSUxFICpmOworCisJaWYgKGFjY2VzcyhfUEFUSF9TWVNfQVBQQVJNT1IsIEZfT0spICE9IDApCisJCWVycngoU0VUUFJJVl9FWElUX1BSSVZFUlIsIF8oIkFwcEFybW9yIGlzIG5vdCBydW5uaW5nIikpOworCisJZiA9IGZvcGVuKF9QQVRIX1BST0NfQVRUUl9FWEVDLCAicisiKTsKKwlpZiAoIWYpCisJCWVycihTRVRQUklWX0VYSVRfUFJJVkVSUiwKKwkJICAgIF8oImNhbm5vdCBvcGVuICVzIiksIF9QQVRIX1BST0NfQVRUUl9FWEVDKTsKKworCWZwcmludGYoZiwgImV4ZWMgJXMiLCBsYWJlbCk7CisKKwlpZiAoY2xvc2Vfc3RyZWFtKGYpICE9IDApCisJCWVycihTRVRQUklWX0VYSVRfUFJJVkVSUiwKKwkJICAgIF8oIndyaXRlIGZhaWxlZDogJXMiKSwgX1BBVEhfUFJPQ19BVFRSX0VYRUMpOworfQorCitzdGF0aWMgdWlkX3QgZ2V0X3VzZXIoY29uc3QgY2hhciAqcywgY29uc3QgY2hhciAqZXJyKQoreworCXN0cnVjdCBwYXNzd2QgKnB3OworCWxvbmcgdG1wOworCXB3ID0gZ2V0cHduYW0ocyk7CisJaWYgKHB3KQorCQlyZXR1cm4gcHctPnB3X3VpZDsKKwl0bXAgPSBzdHJ0b2xfb3JfZXJyKHMsIGVycik7CisJcmV0dXJuIHRtcDsKK30KKworc3RhdGljIGdpZF90IGdldF9ncm91cChjb25zdCBjaGFyICpzLCBjb25zdCBjaGFyICplcnIpCit7CisJc3RydWN0IGdyb3VwICpncjsKKwlsb25nIHRtcDsKKwlnciA9IGdldGdybmFtKHMpOworCWlmIChncikKKwkJcmV0dXJuIGdyLT5ncl9naWQ7CisJdG1wID0gc3RydG9sX29yX2VycihzLCBlcnIpOworCXJldHVybiB0bXA7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwllbnVtIHsKKwkJTk5QID0gQ0hBUl9NQVggKyAxLAorCQlSVUlELAorCQlFVUlELAorCQlSR0lELAorCQlFR0lELAorCQlSRVVJRCwKKwkJUkVHSUQsCisJCUNMRUFSX0dST1VQUywKKwkJS0VFUF9HUk9VUFMsCisJCUdST1VQUywKKwkJSU5IQ0FQUywKKwkJTElTVENBUFMsCisJCUNBUEJTRVQsCisJCVNFQ1VSRUJJVFMsCisJCVNFTElOVVhfTEFCRUwsCisJCUFQUEFSTU9SX1BST0ZJTEUKKwl9OworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJkdW1wIiwgbm9fYXJndW1lbnQsIDAsICdkJ30sCisJCXsibm5wIiwgbm9fYXJndW1lbnQsIDAsIE5OUH0sCisJCXsibm8tbmV3LXByaXZzIiwgbm9fYXJndW1lbnQsIDAsIE5OUH0sCisJCXsiaW5oLWNhcHMiLCByZXF1aXJlZF9hcmd1bWVudCwgMCwgSU5IQ0FQU30sCisJCXsibGlzdC1jYXBzIiwgbm9fYXJndW1lbnQsIDAsIExJU1RDQVBTfSwKKwkJeyJydWlkIiwgcmVxdWlyZWRfYXJndW1lbnQsIDAsIFJVSUR9LAorCQl7ImV1aWQiLCByZXF1aXJlZF9hcmd1bWVudCwgMCwgRVVJRH0sCisJCXsicmdpZCIsIHJlcXVpcmVkX2FyZ3VtZW50LCAwLCBSR0lEfSwKKwkJeyJlZ2lkIiwgcmVxdWlyZWRfYXJndW1lbnQsIDAsIEVHSUR9LAorCQl7InJldWlkIiwgcmVxdWlyZWRfYXJndW1lbnQsIDAsIFJFVUlEfSwKKwkJeyJyZWdpZCIsIHJlcXVpcmVkX2FyZ3VtZW50LCAwLCBSRUdJRH0sCisJCXsiY2xlYXItZ3JvdXBzIiwgbm9fYXJndW1lbnQsIDAsIENMRUFSX0dST1VQU30sCisJCXsia2VlcC1ncm91cHMiLCBub19hcmd1bWVudCwgMCwgS0VFUF9HUk9VUFN9LAorCQl7Imdyb3VwcyIsIHJlcXVpcmVkX2FyZ3VtZW50LCAwLCBHUk9VUFN9LAorCQl7ImJvdW5kaW5nLXNldCIsIHJlcXVpcmVkX2FyZ3VtZW50LCAwLCBDQVBCU0VUfSwKKwkJeyJzZWN1cmViaXRzIiwgcmVxdWlyZWRfYXJndW1lbnQsIDAsIFNFQ1VSRUJJVFN9LAorCQl7InNlbGludXgtbGFiZWwiLCByZXF1aXJlZF9hcmd1bWVudCwgMCwgU0VMSU5VWF9MQUJFTH0sCisJCXsiYXBwYXJtb3ItcHJvZmlsZSIsIHJlcXVpcmVkX2FyZ3VtZW50LCAwLCBBUFBBUk1PUl9QUk9GSUxFfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIDAsICdoJ30sCisJCXsidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCAwLCAnVid9LAorCQl7TlVMTCwgMCwgMCwgMH0KKwl9OworCisJc3RhdGljIGNvbnN0IHVsX2V4Y2xfdCBleGNsW10gPSB7CisJCS8qIGtlZXAgaW4gc2FtZSBvcmRlciB3aXRoIGVudW0gZGVmaW5pdGlvbnMgKi8KKwkJe0NMRUFSX0dST1VQUywgS0VFUF9HUk9VUFMsIEdST1VQU30sCisJCXswfQorCX07CisJaW50IGV4Y2xfc3RbQVJSQVlfU0laRShleGNsKV0gPSBVTF9FWENMX1NUQVRVU19JTklUOworCisJaW50IGM7CisJc3RydWN0IHByaXZjdHggb3B0czsKKwlpbnQgZHVtcGxldmVsID0gMDsKKwlpbnQgdG90YWxfb3B0cyA9IDA7CisJaW50IGxpc3RfY2FwcyA9IDA7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJbWVtc2V0KCZvcHRzLCAwLCBzaXplb2Yob3B0cykpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIitkaFYiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhjLCBsb25nb3B0cywgZXhjbCwgZXhjbF9zdCk7CisJCXRvdGFsX29wdHMrKzsKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ2QnOgorCQkJZHVtcGxldmVsKys7CisJCQlicmVhazsKKwkJY2FzZSBOTlA6CisJCQlpZiAob3B0cy5ubnApCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkJICAgICBfKCJkdXBsaWNhdGUgLS1uby1uZXctcHJpdnMgb3B0aW9uIikpOworCQkJb3B0cy5ubnAgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgUlVJRDoKKwkJCWlmIChvcHRzLmhhdmVfcnVpZCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiZHVwbGljYXRlIHJ1aWQiKSk7CisJCQlvcHRzLmhhdmVfcnVpZCA9IDE7CisJCQlvcHRzLnJ1aWQgPSBnZXRfdXNlcihvcHRhcmcsIF8oImZhaWxlZCB0byBwYXJzZSBydWlkIikpOworCQkJYnJlYWs7CisJCWNhc2UgRVVJRDoKKwkJCWlmIChvcHRzLmhhdmVfZXVpZCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiZHVwbGljYXRlIGV1aWQiKSk7CisJCQlvcHRzLmhhdmVfZXVpZCA9IDE7CisJCQlvcHRzLmV1aWQgPSBnZXRfdXNlcihvcHRhcmcsIF8oImZhaWxlZCB0byBwYXJzZSBldWlkIikpOworCQkJYnJlYWs7CisJCWNhc2UgUkVVSUQ6CisJCQlpZiAob3B0cy5oYXZlX3J1aWQgfHwgb3B0cy5oYXZlX2V1aWQpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImR1cGxpY2F0ZSBydWlkIG9yIGV1aWQiKSk7CisJCQlvcHRzLmhhdmVfcnVpZCA9IG9wdHMuaGF2ZV9ldWlkID0gMTsKKwkJCW9wdHMucnVpZCA9IG9wdHMuZXVpZCA9IGdldF91c2VyKG9wdGFyZywgXygiZmFpbGVkIHRvIHBhcnNlIHJldWlkIikpOworCQkJYnJlYWs7CisJCWNhc2UgUkdJRDoKKwkJCWlmIChvcHRzLmhhdmVfcmdpZCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiZHVwbGljYXRlIHJnaWQiKSk7CisJCQlvcHRzLmhhdmVfcmdpZCA9IDE7CisJCQlvcHRzLnJnaWQgPSBnZXRfZ3JvdXAob3B0YXJnLCBfKCJmYWlsZWQgdG8gcGFyc2UgcmdpZCIpKTsKKwkJCWJyZWFrOworCQljYXNlIEVHSUQ6CisJCQlpZiAob3B0cy5oYXZlX2VnaWQpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImR1cGxpY2F0ZSBlZ2lkIikpOworCQkJb3B0cy5oYXZlX2VnaWQgPSAxOworCQkJb3B0cy5lZ2lkID0gZ2V0X2dyb3VwKG9wdGFyZywgXygiZmFpbGVkIHRvIHBhcnNlIGVnaWQiKSk7CisJCQlicmVhazsKKwkJY2FzZSBSRUdJRDoKKwkJCWlmIChvcHRzLmhhdmVfcmdpZCB8fCBvcHRzLmhhdmVfZWdpZCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiZHVwbGljYXRlIHJnaWQgb3IgZWdpZCIpKTsKKwkJCW9wdHMuaGF2ZV9yZ2lkID0gb3B0cy5oYXZlX2VnaWQgPSAxOworCQkJb3B0cy5yZ2lkID0gb3B0cy5lZ2lkID0gZ2V0X2dyb3VwKG9wdGFyZywgXygiZmFpbGVkIHRvIHBhcnNlIHJlZ2lkIikpOworCQkJYnJlYWs7CisJCWNhc2UgQ0xFQVJfR1JPVVBTOgorCQkJaWYgKG9wdHMuY2xlYXJfZ3JvdXBzKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJCSAgICAgXygiZHVwbGljYXRlIC0tY2xlYXItZ3JvdXBzIG9wdGlvbiIpKTsKKwkJCW9wdHMuY2xlYXJfZ3JvdXBzID0gMTsKKwkJCWJyZWFrOworCQljYXNlIEtFRVBfR1JPVVBTOgorCQkJaWYgKG9wdHMua2VlcF9ncm91cHMpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkJICAgICBfKCJkdXBsaWNhdGUgLS1rZWVwLWdyb3VwcyBvcHRpb24iKSk7CisJCQlvcHRzLmtlZXBfZ3JvdXBzID0gMTsKKwkJCWJyZWFrOworCQljYXNlIEdST1VQUzoKKwkJCWlmIChvcHRzLmhhdmVfZ3JvdXBzKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJCSAgICAgXygiZHVwbGljYXRlIC0tZ3JvdXBzIG9wdGlvbiIpKTsKKwkJCXBhcnNlX2dyb3Vwcygmb3B0cywgb3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlIExJU1RDQVBTOgorCQkJbGlzdF9jYXBzID0gMTsKKwkJCWJyZWFrOworCQljYXNlIElOSENBUFM6CisJCQlpZiAob3B0cy5jYXBzX3RvX2luaGVyaXQpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkJICAgICBfKCJkdXBsaWNhdGUgLS1pbmgtY2FwcyBvcHRpb24iKSk7CisJCQlvcHRzLmNhcHNfdG9faW5oZXJpdCA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlIENBUEJTRVQ6CisJCQlpZiAob3B0cy5ib3VuZGluZ19zZXQpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkJICAgICBfKCJkdXBsaWNhdGUgLS1ib3VuZGluZy1zZXQgb3B0aW9uIikpOworCQkJb3B0cy5ib3VuZGluZ19zZXQgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSBTRUNVUkVCSVRTOgorCQkJaWYgKG9wdHMuaGF2ZV9zZWN1cmViaXRzKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJCSAgICAgXygiZHVwbGljYXRlIC0tc2VjdXJlYml0cyBvcHRpb24iKSk7CisJCQlwYXJzZV9zZWN1cmViaXRzKCZvcHRzLCBvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgU0VMSU5VWF9MQUJFTDoKKwkJCWlmIChvcHRzLnNlbGludXhfbGFiZWwpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkJICAgICBfKCJkdXBsaWNhdGUgLS1zZWxpbnV4LWxhYmVsIG9wdGlvbiIpKTsKKwkJCW9wdHMuc2VsaW51eF9sYWJlbCA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlIEFQUEFSTU9SX1BST0ZJTEU6CisJCQlpZiAob3B0cy5hcHBhcm1vcl9wcm9maWxlKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJCSAgICAgXygiZHVwbGljYXRlIC0tYXBwYXJtb3ItcHJvZmlsZSBvcHRpb24iKSk7CisJCQlvcHRzLmFwcGFybW9yX3Byb2ZpbGUgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShzdGRvdXQpOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnPyc6CisJCQl1c2FnZShzdGRlcnIpOworCQlkZWZhdWx0OgorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVucmVjb2duaXplZCBvcHRpb24gJyVjJyIpLCBjKTsKKwkJfQorCX0KKworCWlmIChkdW1wbGV2ZWwpIHsKKwkJaWYgKHRvdGFsX29wdHMgIT0gZHVtcGxldmVsIHx8IG9wdGluZCA8IGFyZ2MpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCSAgICAgXygiLS1kdW1wIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBvcHRpb25zIikpOworCQlkdW1wKGR1bXBsZXZlbCk7CisJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJfQorCisJaWYgKGxpc3RfY2FwcykgeworCQlpZiAodG90YWxfb3B0cyAhPSAxIHx8IG9wdGluZCA8IGFyZ2MpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCSAgICAgXygiLS1saXN0LWNhcHMgbXVzdCBiZSBzcGVjaWZpZWQgYWxvbmUiKSk7CisJCWxpc3Rfa25vd25fY2FwcygpOworCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCX0KKworCWlmIChhcmdjIDw9IG9wdGluZCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIk5vIHByb2dyYW0gc3BlY2lmaWVkIikpOworCisJaWYgKChvcHRzLmhhdmVfcmdpZCB8fCBvcHRzLmhhdmVfZWdpZCkKKwkgICAgJiYgIW9wdHMua2VlcF9ncm91cHMgJiYgIW9wdHMuY2xlYXJfZ3JvdXBzICYmICFvcHRzLmhhdmVfZ3JvdXBzKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJICAgICBfKCItLVtyZV1naWQgcmVxdWlyZXMgLS1rZWVwLWdyb3VwcywgLS1jbGVhci1ncm91cHMsIG9yIC0tZ3JvdXBzIikpOworCisJaWYgKG9wdHMubm5wICYmIHByY3RsKFBSX1NFVF9OT19ORVdfUFJJVlMsIDEsIDAsIDAsIDApID09IC0xKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlcyBmYWlsZWQiKSk7CisKKwlpZiAob3B0cy5zZWxpbnV4X2xhYmVsKQorCQlkb19zZWxpbnV4X2xhYmVsKG9wdHMuc2VsaW51eF9sYWJlbCk7CisJaWYgKG9wdHMuYXBwYXJtb3JfcHJvZmlsZSkKKwkJZG9fYXBwYXJtb3JfcHJvZmlsZShvcHRzLmFwcGFybW9yX3Byb2ZpbGUpOworCisJaWYgKHByY3RsKFBSX1NFVF9LRUVQQ0FQUywgMSwgMCwgMCwgMCkgPT0gLTEpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImtlZXAgcHJvY2VzcyBjYXBhYmlsaXRpZXMgZmFpbGVkIikpOworCisJLyogV2UncmUgZ29pbmcgdG8gd2FudCBDQVBfU0VUUENBUCwgQ0FQX1NFVFVJRCwgYW5kIENBUF9TRVRHSUQgaWYKKwkgKiBwb3NzaWJsZS4gICovCisJYnVtcF9jYXAoQ0FQX1NFVFBDQVApOworCWJ1bXBfY2FwKENBUF9TRVRVSUQpOworCWJ1bXBfY2FwKENBUF9TRVRHSUQpOworCWlmIChjYXBuZ19hcHBseShDQVBOR19TRUxFQ1RfQ0FQUykgIT0gMCkKKwkJZXJyKFNFVFBSSVZfRVhJVF9QUklWRVJSLCBfKCJhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiKSk7CisKKwlpZiAob3B0cy5oYXZlX3J1aWQgfHwgb3B0cy5oYXZlX2V1aWQpIHsKKwkJZG9fc2V0cmVzdWlkKCZvcHRzKTsKKwkJLyogS0VFUENBUFMgZG9lc24ndCB3b3JrIGZvciB0aGUgZWZmZWN0aXZlIG1hc2suICovCisJCWlmIChjYXBuZ19hcHBseShDQVBOR19TRUxFQ1RfQ0FQUykgIT0gMCkKKwkJCWVycihTRVRQUklWX0VYSVRfUFJJVkVSUiwgXygicmVhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiKSk7CisJfQorCisJaWYgKG9wdHMuaGF2ZV9yZ2lkIHx8IG9wdHMuaGF2ZV9lZ2lkKQorCQlkb19zZXRyZXNnaWQoJm9wdHMpOworCisJaWYgKG9wdHMuaGF2ZV9ncm91cHMpIHsKKwkJaWYgKHNldGdyb3VwcyhvcHRzLm51bV9ncm91cHMsIG9wdHMuZ3JvdXBzKSAhPSAwKQorCQkJZXJyKFNFVFBSSVZfRVhJVF9QUklWRVJSLCBfKCJzZXRncm91cHMgZmFpbGVkIikpOworCX0gZWxzZSBpZiAob3B0cy5jbGVhcl9ncm91cHMpIHsKKwkJZ2lkX3QgeCA9IDA7CisJCWlmIChzZXRncm91cHMoMCwgJngpICE9IDApCisJCQllcnIoU0VUUFJJVl9FWElUX1BSSVZFUlIsIF8oInNldGdyb3VwcyBmYWlsZWQiKSk7CisJfQorCisJaWYgKG9wdHMuaGF2ZV9zZWN1cmViaXRzICYmIHByY3RsKFBSX1NFVF9TRUNVUkVCSVRTLCBvcHRzLnNlY3VyZWJpdHMsIDAsIDAsIDApICE9IDApCisJCWVycihTRVRQUklWX0VYSVRfUFJJVkVSUiwgXygic2V0IHByb2Nlc3Mgc2VjdXJlYml0cyBmYWlsZWQiKSk7CisKKwlpZiAob3B0cy5ib3VuZGluZ19zZXQpIHsKKwkJZG9fY2FwcyhDQVBOR19CT1VORElOR19TRVQsIG9wdHMuYm91bmRpbmdfc2V0KTsKKwkJZXJybm8gPSBFUEVSTTsJLyogY2FwbmcgZG9lc24ndCBzZXQgZXJybm8gaWYgd2UncmUgbWlzc2luZyBDQVBfU0VUUENBUCAqLworCQlpZiAoY2FwbmdfYXBwbHkoQ0FQTkdfU0VMRUNUX0JPVU5EUykgIT0gMCkKKwkJCWVycihTRVRQUklWX0VYSVRfUFJJVkVSUiwgXygiYXBwbHkgYm91bmRpbmcgc2V0IikpOworCX0KKworCWlmIChvcHRzLmNhcHNfdG9faW5oZXJpdCkgeworCQlkb19jYXBzKENBUE5HX0lOSEVSSVRBQkxFLCBvcHRzLmNhcHNfdG9faW5oZXJpdCk7CisJCWlmIChjYXBuZ19hcHBseShDQVBOR19TRUxFQ1RfQ0FQUykgIT0gMCkKKwkJCWVycihTRVRQUklWX0VYSVRfUFJJVkVSUiwgXygiYXBwbHkgY2FwYWJpbGl0aWVzIikpOworCX0KKworCWV4ZWN2cChhcmd2W29wdGluZF0sIGFyZ3YgKyBvcHRpbmQpOworCisJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IGV4ZWN1dGU6ICVzIiksIGFyZ3Zbb3B0aW5kXSk7Cit9CmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvc2V0c2lkLjEgYi9zeXMtdXRpbHMvc2V0c2lkLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjdjMDIwYgotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9zZXRzaWQuMQpAQCAtMCwwICsxLDM1IEBACisuXCIgUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKy5cIiBJbiB0aGUgcHVibGljIGRvbWFpbi4KKy5USCBTRVRTSUQgMSAiSnVseSAyMDE0IiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQorc2V0c2lkIFwtIHJ1biBhIHByb2dyYW0gaW4gYSBuZXcgc2Vzc2lvbgorLlNIIFNZTk9QU0lTCisuQiBzZXRzaWQKK1tvcHRpb25zXQorLkkgcHJvZ3JhbQorLlJJIFsgYXJndW1lbnRzIF0KKy5TSCBERVNDUklQVElPTgorLkIgc2V0c2lkCitydW5zIGEgcHJvZ3JhbSBpbiBhIG5ldyBzZXNzaW9uLgorLlNIIE9QVElPTlMKKy5UUAorLkJSIFwtYyAsICIgXC1cLWN0dHkiCitTZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIHRvIHRoZSBjdXJyZW50IG9uZS4KKy5UUAorLkJSIFwtdyAsICIgXC1cLXdhaXQiCitXYWl0IGZvciB0aGUgZXhlY3V0aW9uIG9mIHRoZSBwcm9ncmFtIHRvIGVuZCwgYW5kIHJldHVybiB0aGUgZXhpdCB2YWx1ZSBvZgordGhpcyBwcm9ncmFtIGFzIHRoZSByZXR1cm4gdmFsdWUgb2YKKy5CUiBzZXRzaWQgLgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCAiU0VFIEFMU08iCisuQlIgc2V0c2lkICgyKQorLlNIIEFVVEhPUgorUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBzZXRzaWQgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvc2V0c2lkLmMgYi9zeXMtdXRpbHMvc2V0c2lkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmFlOTdmZgotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9zZXRzaWQuYwpAQCAtMCwwICsxLDExNiBAQAorLyoKKyAqIHNldHNpZC5jIC0tIGV4ZWN1dGUgYSBjb21tYW5kIGluIGEgbmV3IHNlc3Npb24KKyAqIFJpY2sgU2xhZGtleSA8anJzQHdvcmxkLnN0ZC5jb20+CisgKiBJbiB0aGUgcHVibGljIGRvbWFpbi4KKyAqCisgKiAxOTk5LTAyLTIyIEFya2FkaXVzeiBNacWba2lld2ljeiA8bWlzaWVrQHBsZC5PUkcuUEw+CisgKiAtIGFkZGVkIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0CisgKgorICogMjAwMS0wMS0xOCBKb2huIEZyZW1saW4gPHZpaUBwZW5ndWlucG93ZXJlZC5jb20+CisgKiAtIGZvcmsgaW4gY2FzZSB3ZSBhcmUgcHJvY2VzcyBncm91cCBsZWFkZXIKKyAqCisgKiAyMDA4LTA4LTIwIERhbmllbCBLYWhuIEdpbGxtb3IgPGRrZ0BmaWZ0aGhvcnNlbWFuLm5ldD4KKyAqIC0gaWYgZm9ya2VkLCB3YWl0IG9uIGNoaWxkIHByb2Nlc3MgYW5kIGVtaXQgaXRzIHJldHVybiBjb2RlLgorICovCisKKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy93YWl0Lmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXyAoKF9fbm9yZXR1cm5fXykpIHVzYWdlKEZJTEUgKiBvdXQpCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKAorCQkiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3VtZW50cyAuLi5dXG4iKSwKKwkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlJ1biBhIHByb2dyYW0gaW4gYSBuZXcgc2Vzc2lvbi5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWMsIC0tY3R0eSAgICAgc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCB0byB0aGUgY3VycmVudCBvbmVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdywgLS13YWl0ICAgICB3YWl0IHByb2dyYW0gdG8gZXhpdCwgYW5kIHVzZSB0aGUgc2FtZSByZXR1cm5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfSEVMUCwgb3V0KTsKKwlmcHV0cyhVU0FHRV9WRVJTSU9OLCBvdXQpOworCisJZnByaW50ZihvdXQsIFVTQUdFX01BTl9UQUlMKCJzZXRzaWQoMSkiKSk7CisJZXhpdChvdXQgPT0gc3RkZXJyID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBjaDsKKwlpbnQgY3R0eSA9IDA7CisJcGlkX3QgcGlkOworCWludCBzdGF0dXMgPSAwOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJjdHR5Iiwgbm9fYXJndW1lbnQsIE5VTEwsICdjJ30sCisJCXsid2FpdCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAndyd9LAorCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1YnfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIE5VTEwsICdoJ30sCisJCXtOVUxMLCAwLCBOVUxMLCAwfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChjaCA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICIrVmhjdyIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpCisJCXN3aXRjaCAoY2gpIHsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ2MnOgorCQkJY3R0eT0xOworCQkJYnJlYWs7CisJCWNhc2UgJ3cnOgorCQkJc3RhdHVzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQl9CisKKwlpZiAoYXJnYyAtIG9wdGluZCA8IDEpCisJCXVzYWdlKHN0ZGVycik7CisKKwlpZiAoZ2V0cGdycCgpID09IGdldHBpZCgpKSB7CisJCXBpZCA9IGZvcmsoKTsKKwkJc3dpdGNoIChwaWQpIHsKKwkJY2FzZSAtMToKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZvcmsiKSk7CisJCWNhc2UgMDoKKwkJCS8qIGNoaWxkICovCisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCS8qIHBhcmVudCAqLworCQkJaWYgKCFzdGF0dXMpCisJCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJCWlmICh3YWl0KCZzdGF0dXMpICE9IHBpZCkKKwkJCQllcnIoRVhJVF9GQUlMVVJFLCAid2FpdCIpOworCQkJaWYgKFdJRkVYSVRFRChzdGF0dXMpKQorCQkJCXJldHVybiBXRVhJVFNUQVRVUyhzdGF0dXMpOworCQkJZXJyKHN0YXR1cywgXygiY2hpbGQgJWQgZGlkIG5vdCBleGl0IG5vcm1hbGx5IiksIHBpZCk7CisJCX0KKwl9CisJaWYgKHNldHNpZCgpIDwgMCkKKwkJLyogY2Fubm90IGhhcHBlbiAqLworCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJzZXRzaWQgZmFpbGVkIikpOworCisJaWYgKGN0dHkgJiYgaW9jdGwoU1RESU5fRklMRU5PLCBUSU9DU0NUVFksIDEpKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCIpKTsKKwlleGVjdnAoYXJndltvcHRpbmRdLCBhcmd2ICsgb3B0aW5kKTsKKwllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIpLCBhcmd2W29wdGluZF0pOworfQpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL3N3YXBvZmYuOCBiL3N5cy11dGlscy9zd2Fwb2ZmLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWEwNmI3ZQotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9zd2Fwb2ZmLjgKQEAgLTAsMCArMSBAQAorLnNvIG1hbjgvc3dhcG9uLjgKZGlmZiAtLWdpdCBhL3N5cy11dGlscy9zd2Fwb2ZmLmMgYi9zeXMtdXRpbHMvc3dhcG9mZi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkM2JmMDUKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvc3dhcG9mZi5jCkBAIC0wLDAgKzEsMjUzIEBACisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorCisjaWZkZWYgSEFWRV9TWVNfU1dBUF9ICisjIGluY2x1ZGUgPHN5cy9zd2FwLmg+CisjZW5kaWYKKworI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCisjaW5jbHVkZSAic3dhcHByb2Jlci5oIgorI2luY2x1ZGUgInN3YXBvbi1jb21tb24uaCIKKworI2lmbmRlZiBTV0FQT05fSEFTX1RXT19BUkdTCisvKiBsaWJjIGlzIGluc2FuZSwgbGV0J3MgY2FsbCB0aGUga2VybmVsICovCisjIGluY2x1ZGUgPHN5cy9zeXNjYWxsLmg+CisjIGRlZmluZSBzd2Fwb2ZmKHBhdGgpIHN5c2NhbGwoU1lTX3N3YXBvZmYsIHBhdGgpCisjZW5kaWYKKworc3RhdGljIGludCB2ZXJib3NlOworc3RhdGljIGludCBhbGw7CisKKyNkZWZpbmUgUVVJRVQJMQorI2RlZmluZSBDQU5PTklDCTEKKworLyoKKyAqIFRoaXMgZnVuY3Rpb24gd29ya3MgbGlrZSBtbnRfcmVzb2x2ZV90YWcoKSwgYnV0IGl0J3MgYWJsZSB0byByZWFkIFVVSUQvTEFCRUwKKyAqIGZyb20gcmVndWxhciBzd2FwIGZpbGVzIHRvbyAoYWNjb3JkaW5nIHRvIGVudHJpZXMgaW4gL3Byb2Mvc3dhcHMpLiBOb3RlIHRoYXQKKyAqIG1udF9yZXNvbHZlX3RhZygpIGFuZCBtbnRfcmVzb2x2ZV9zcGVjKCkgd29ya3Mgd2l0aCBzeXN0ZW0gdmlzaWJsZSBibG9jaworICogZGV2aWNlcyBvbmx5LgorICovCitzdGF0aWMgY2hhciAqc3dhcG9mZl9yZXNvbHZlX3RhZyhjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICp2YWx1ZSwKKwkJCQkgc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUpCit7CisJY2hhciAqcGF0aDsKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YjsKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgKml0cjsKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKworCS8qIHRoaXMgaXMgdXN1YWwgY2FzZSBmb3IgYmxvY2sgZGV2aWNlcyAoYW5kIGl0J3MgcmVhbGx5IGZhc3QgYXMgaXQgdXNlcworCSAqIHVkZXYgL2Rldi9kaXNrL2J5LSogc3ltbGlua3MgYnkgZGVmYXVsdCAqLworCXBhdGggPSBtbnRfcmVzb2x2ZV90YWcobmFtZSwgdmFsdWUsIGNhY2hlKTsKKwlpZiAocGF0aCkKKwkJcmV0dXJuIHBhdGg7CisKKwkvKiB0cnkgcmVndWxhciBmaWxlcyBmcm9tIC9wcm9jL3N3YXBzICovCisJdGIgPSBnZXRfc3dhcHMoKTsKKwlpZiAoIXRiKQorCQlyZXR1cm4gTlVMTDsKKworCWl0ciA9IG1udF9uZXdfaXRlcihNTlRfSVRFUl9CQUNLV0FSRCk7CisJaWYgKCFpdHIpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGl0ZXJhdG9yIikpOworCisJd2hpbGUgKHRiICYmIG1udF90YWJsZV9uZXh0X2ZzKHRiLCBpdHIsICZmcykgPT0gMCkgeworCQlibGtpZF9wcm9iZSBwciA9IE5VTEw7CisJCWNvbnN0IGNoYXIgKnNyYyA9IG1udF9mc19nZXRfc291cmNlKGZzKTsKKwkJY29uc3QgY2hhciAqdHlwZSA9IG1udF9mc19nZXRfc3dhcHR5cGUoZnMpOworCQljb25zdCBjaGFyICpkYXRhID0gTlVMTDsKKworCQlpZiAoIXNyYyB8fCAhdHlwZSB8fCBzdHJjbXAodHlwZSwgImZpbGUiKSAhPSAwKQorCQkJY29udGludWU7CisJCXByID0gZ2V0X3N3YXBfcHJvYmVyKHNyYyk7CisJCWlmICghcHIpCisJCQljb250aW51ZTsKKwkJYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlKHByLCBuYW1lLCAmZGF0YSwgTlVMTCk7CisJCWlmIChkYXRhICYmIHN0cmNtcChkYXRhLCB2YWx1ZSkgPT0gMCkKKwkJCXBhdGggPSB4c3RyZHVwKHNyYyk7CisJCWJsa2lkX2ZyZWVfcHJvYmUocHIpOworCQlpZiAocGF0aCkKKwkJCWJyZWFrOworCX0KKworCW1udF9mcmVlX2l0ZXIoaXRyKTsKKwlyZXR1cm4gcGF0aDsKK30KKworc3RhdGljIGludCBkb19zd2Fwb2ZmKGNvbnN0IGNoYXIgKm9yaWdfc3BlY2lhbCwgaW50IHF1aWV0LCBpbnQgY2Fub25pYykKK3sKKyAgICAgICAgY29uc3QgY2hhciAqc3BlY2lhbCA9IG9yaWdfc3BlY2lhbDsKKworCWlmICh2ZXJib3NlKQorCQlwcmludGYoXygic3dhcG9mZiAlc1xuIiksIG9yaWdfc3BlY2lhbCk7CisKKwlpZiAoIWNhbm9uaWMpIHsKKwkJY2hhciAqbiwgKnY7CisKKwkJc3BlY2lhbCA9IG1udF9yZXNvbHZlX3NwZWMob3JpZ19zcGVjaWFsLCBtbnRjYWNoZSk7CisJCWlmICghc3BlY2lhbCAmJiBibGtpZF9wYXJzZV90YWdfc3RyaW5nKG9yaWdfc3BlY2lhbCwgJm4sICZ2KSA9PSAwKSB7CisJCQlzcGVjaWFsID0gc3dhcG9mZl9yZXNvbHZlX3RhZyhuLCB2LCBtbnRjYWNoZSk7CisJCQlmcmVlKG4pOworCQkJZnJlZSh2KTsKKwkJfQorCQlpZiAoIXNwZWNpYWwpCisJCQlyZXR1cm4gY2Fubm90X2ZpbmQob3JpZ19zcGVjaWFsKTsKKwl9CisKKwlpZiAoc3dhcG9mZihzcGVjaWFsKSA9PSAwKQorCQlyZXR1cm4gMDsJLyogc3VjY2VzcyAqLworCisJaWYgKGVycm5vID09IEVQRVJNKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiTm90IHN1cGVydXNlci4iKSk7CisKKwlpZiAoIXF1aWV0IHx8IGVycm5vID09IEVOT01FTSkKKwkJd2FybihfKCIlczogc3dhcG9mZiBmYWlsZWQiKSwgb3JpZ19zcGVjaWFsKTsKKworCXJldHVybiAtMTsKK30KKworc3RhdGljIGludCBzd2Fwb2ZmX2J5KGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbHVlLCBpbnQgcXVpZXQpCit7CisJY29uc3QgY2hhciAqc3BlY2lhbCA9IHN3YXBvZmZfcmVzb2x2ZV90YWcobmFtZSwgdmFsdWUsIG1udGNhY2hlKTsKKwlyZXR1cm4gc3BlY2lhbCA/IGRvX3N3YXBvZmYoc3BlY2lhbCwgcXVpZXQsIENBTk9OSUMpIDogY2Fubm90X2ZpbmQodmFsdWUpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqIG91dCkKK3sKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc10gWzxzcGVjPl1cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiRGlzYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBzd2FwcyBmcm9tIC9wcm9jL3N3YXBzXG4iCisJCSIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKFVTQUdFX0hFTFAsIG91dCk7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgb3V0KTsKKworCWZwdXRzKF8oIlxuVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iIFwKKwkJIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iIFwKKwkJIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIgXAorCQkiIExBQkVMPTxsYWJlbD4gICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIgXAorCQkiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIiBcCisJCSIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iIFwKKwkJIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iKSwgb3V0KTsKKworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgic3dhcG9mZig4KSIpKTsKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgaW50IHN3YXBvZmZfYWxsKHZvaWQpCit7CisJaW50IHN0YXR1cyA9IDA7CisJc3RydWN0IGxpYm1udF90YWJsZSAqdGI7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJc3RydWN0IGxpYm1udF9pdGVyICppdHIgPSBtbnRfbmV3X2l0ZXIoTU5UX0lURVJfQkFDS1dBUkQpOworCisJaWYgKCFpdHIpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGl0ZXJhdG9yIikpOworCisJLyoKKwkgKiBJbiBjYXNlIC9wcm9jL3N3YXBzIGV4aXN0cywgdW5zd2FwIHN0dWZmIGxpc3RlZCB0aGVyZS4gIFdlIGFyZSBxdWlldAorCSAqIGJ1dCByZXBvcnQgZXJyb3JzIGluIHN0YXR1cy4gIEVycm9ycyBtaWdodCBtZWFuIHRoYXQgL3Byb2Mvc3dhcHMKKwkgKiBleGlzdHMgYXMgb3JkaW5hcnkgZmlsZSwgbm90IGluIHByb2Nmcy4gIGRvX3N3YXBvZmYoKSBleGl0cworCSAqIGltbWVkaWF0ZWx5IG9uIEVQRVJNLgorCSAqLworCXRiID0gZ2V0X3N3YXBzKCk7CisKKwl3aGlsZSAodGIgJiYgbW50X3RhYmxlX2ZpbmRfbmV4dF9mcyh0YiwgaXRyLCBtYXRjaF9zd2FwLCBOVUxMLCAmZnMpID09IDApCisJCXN0YXR1cyB8PSBkb19zd2Fwb2ZmKG1udF9mc19nZXRfc291cmNlKGZzKSwgUVVJRVQsIENBTk9OSUMpOworCisJLyoKKwkgKiBVbnN3YXAgc3R1ZmYgbWVudGlvbmVkIGluIC9ldGMvZnN0YWIuICBQcm9iYWJseSBpdCB3YXMgdW5tb3VudGVkCisJICogYWxyZWFkeSwgc28gZXJyb3JzIGFyZSBub3QgYmFkLiAgRG9pbmcgc3dhcG9mZiAtYSB0d2ljZSBzaG91bGQgbm90CisJICogZ2l2ZSBlcnJvciBtZXNzYWdlcy4KKwkgKi8KKwl0YiA9IGdldF9mc3RhYigpOworCW1udF9yZXNldF9pdGVyKGl0ciwgTU5UX0lURVJfRk9SV0FSRCk7CisKKwl3aGlsZSAodGIgJiYgbW50X3RhYmxlX2ZpbmRfbmV4dF9mcyh0YiwgaXRyLCBtYXRjaF9zd2FwLCBOVUxMLCAmZnMpID09IDApIHsKKwkJaWYgKCFpc19hY3RpdmVfc3dhcChtbnRfZnNfZ2V0X3NvdXJjZShmcykpKQorCQkJZG9fc3dhcG9mZihtbnRfZnNfZ2V0X3NvdXJjZShmcyksIFFVSUVULCAhQ0FOT05JQyk7CisJfQorCisJbW50X2ZyZWVfaXRlcihpdHIpOworCXJldHVybiBzdGF0dXM7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJaW50IHN0YXR1cyA9IDAsIGM7CisJc2l6ZV90IGk7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nX29wdHNbXSA9IHsKKwkJeyAiYWxsIiwgMCwgMCwgJ2EnIH0sCisJCXsgImhlbHAiLCAwLCAwLCAnaCcgfSwKKwkJeyAidmVyYm9zZSIsIDAsIDAsICd2JyB9LAorCQl7ICJ2ZXJzaW9uIiwgMCwgMCwgJ1YnIH0sCisJCXsgTlVMTCwgMCwgMCwgMCB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiYWh2Vkw6VToiLAorCQkJCSBsb25nX29wdHMsIE5VTEwpKSAhPSAtMSkgeworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnYSc6CQkvKiBhbGwgKi8KKwkJCSsrYWxsOworCQkJYnJlYWs7CisJCWNhc2UgJ2gnOgkJLyogaGVscCAqLworCQkJdXNhZ2Uoc3Rkb3V0KTsKKwkJCWJyZWFrOworCQljYXNlICd2JzoJCS8qIGJlIGNoYXR0eSAqLworCQkJKyt2ZXJib3NlOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgkJLyogdmVyc2lvbiAqLworCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdMJzoKKwkJCWFkZF9sYWJlbChvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgJ1UnOgorCQkJYWRkX3V1aWQob3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICc/JzoKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKHN0ZGVycik7CisJCX0KKwl9CisJYXJndiArPSBvcHRpbmQ7CisKKwlpZiAoIWFsbCAmJiAhbnVtb2ZfbGFiZWxzKCkgJiYgIW51bW9mX3V1aWRzKCkgJiYgKmFyZ3YgPT0gTlVMTCkKKwkJdXNhZ2Uoc3RkZXJyKTsKKworCW1udF9pbml0X2RlYnVnKDApOworCW1udGNhY2hlID0gbW50X25ld19jYWNoZSgpOworCisJZm9yIChpID0gMDsgaSA8IG51bW9mX2xhYmVscygpOyBpKyspCisJCXN0YXR1cyB8PSBzd2Fwb2ZmX2J5KCJMQUJFTCIsIGdldF9sYWJlbChpKSwgIVFVSUVUKTsKKworCWZvciAoaSA9IDA7IGkgPCBudW1vZl91dWlkcygpOyBpKyspCisJCXN0YXR1cyB8PSBzd2Fwb2ZmX2J5KCJVVUlEIiwgZ2V0X3V1aWQoaSksICFRVUlFVCk7CisKKwl3aGlsZSAoKmFyZ3YgIT0gTlVMTCkKKwkJc3RhdHVzIHw9IGRvX3N3YXBvZmYoKmFyZ3YrKywgIVFVSUVULCAhQ0FOT05JQyk7CisKKwlpZiAoYWxsKQorCQlzdGF0dXMgfD0gc3dhcG9mZl9hbGwoKTsKKworCWZyZWVfdGFibGVzKCk7CisJbW50X3VucmVmX2NhY2hlKG1udGNhY2hlKTsKKworCXJldHVybiBzdGF0dXM7Cit9CmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jIGIvc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZDE1OTNkCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYwpAQCAtMCwwICsxLDExNyBAQAorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorCisjaW5jbHVkZSAic3dhcG9uLWNvbW1vbi5oIgorCisvKgorICogY29udGVudCBvZiAvcHJvYy9zd2FwcyBhbmQgL2V0Yy9mc3RhYgorICovCitzdGF0aWMgc3RydWN0IGxpYm1udF90YWJsZSAqc3dhcHMsICpmc3RhYjsKKworc3RydWN0IGxpYm1udF9jYWNoZSAqbW50Y2FjaGU7CisKK3N0YXRpYyBpbnQgdGFibGVfcGFyc2VyX2VycmNiKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwKKwkJCWNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgbGluZSkKK3sKKwlpZiAoZmlsZW5hbWUpCisJCXdhcm54KF8oIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIC0tIGlnbm9yZWQiKSwgZmlsZW5hbWUsIGxpbmUpOworCXJldHVybiAxOworfQorCitzdHJ1Y3QgbGlibW50X3RhYmxlICpnZXRfZnN0YWIodm9pZCkKK3sKKwlpZiAoIWZzdGFiKSB7CisJCWZzdGFiID0gbW50X25ld190YWJsZSgpOworCQlpZiAoIWZzdGFiKQorCQkJcmV0dXJuIE5VTEw7CisJCW1udF90YWJsZV9zZXRfcGFyc2VyX2VycmNiKGZzdGFiLCB0YWJsZV9wYXJzZXJfZXJyY2IpOworCQltbnRfdGFibGVfc2V0X2NhY2hlKGZzdGFiLCBtbnRjYWNoZSk7CisJCWlmIChtbnRfdGFibGVfcGFyc2VfZnN0YWIoZnN0YWIsIE5VTEwpICE9IDApCisJCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlyZXR1cm4gZnN0YWI7Cit9CisKK3N0cnVjdCBsaWJtbnRfdGFibGUgKmdldF9zd2Fwcyh2b2lkKQoreworCWlmICghc3dhcHMpIHsKKwkJc3dhcHMgPSBtbnRfbmV3X3RhYmxlKCk7CisJCWlmICghc3dhcHMpCisJCQlyZXR1cm4gTlVMTDsKKwkJbW50X3RhYmxlX3NldF9jYWNoZShzd2FwcywgbW50Y2FjaGUpOworCQltbnRfdGFibGVfc2V0X3BhcnNlcl9lcnJjYihzd2FwcywgdGFibGVfcGFyc2VyX2VycmNiKTsKKwkJaWYgKG1udF90YWJsZV9wYXJzZV9zd2Fwcyhzd2FwcywgTlVMTCkgIT0gMCkKKwkJCXJldHVybiBOVUxMOworCX0KKworCXJldHVybiBzd2FwczsKK30KKwordm9pZCBmcmVlX3RhYmxlcyh2b2lkKQoreworCW1udF91bnJlZl90YWJsZShzd2Fwcyk7CisJbW50X3VucmVmX3RhYmxlKGZzdGFiKTsKK30KKworaW50IG1hdGNoX3N3YXAoc3RydWN0IGxpYm1udF9mcyAqZnMsIHZvaWQgKmRhdGEgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCit7CisJcmV0dXJuIGZzICYmIG1udF9mc19pc19zd2FwYXJlYShmcyk7Cit9CisKK2ludCBpc19hY3RpdmVfc3dhcChjb25zdCBjaGFyICpmaWxlbmFtZSkKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICpzdCA9IGdldF9zd2FwcygpOworCXJldHVybiBzdCAmJiBtbnRfdGFibGVfZmluZF9zb3VyY2Uoc3QsIGZpbGVuYW1lLCBNTlRfSVRFUl9CQUNLV0FSRCk7Cit9CisKKworaW50IGNhbm5vdF9maW5kKGNvbnN0IGNoYXIgKnNwZWNpYWwpCit7CisJd2FybngoXygiY2Fubm90IGZpbmQgdGhlIGRldmljZSBmb3IgJXMiKSwgc3BlY2lhbCk7CisJcmV0dXJuIC0xOworfQorCisvKgorICogTGlzdHMgd2l0aCAtTCBhbmQgLVUgb3B0aW9uCisgKi8KK3N0YXRpYyBjb25zdCBjaGFyICoqbGxpc3Q7CitzdGF0aWMgc2l6ZV90IGxsY3Q7CitzdGF0aWMgY29uc3QgY2hhciAqKnVsaXN0Oworc3RhdGljIHNpemVfdCB1bGN0OworCisKK3ZvaWQgYWRkX2xhYmVsKGNvbnN0IGNoYXIgKmxhYmVsKQoreworCWxsaXN0ID0geHJlYWxsb2MobGxpc3QsICgrK2xsY3QpICogc2l6ZW9mKGNoYXIgKikpOworCWxsaXN0W2xsY3QgLSAxXSA9IGxhYmVsOworfQorCitjb25zdCBjaGFyICpnZXRfbGFiZWwoc2l6ZV90IGkpCit7CisJcmV0dXJuIGkgPCBsbGN0ID8gbGxpc3RbaV0gOiBOVUxMOworfQorCitzaXplX3QgbnVtb2ZfbGFiZWxzKHZvaWQpCit7CisJcmV0dXJuIGxsY3Q7Cit9CisKK3ZvaWQgYWRkX3V1aWQoY29uc3QgY2hhciAqdXVpZCkKK3sKKwl1bGlzdCA9IHhyZWFsbG9jKHVsaXN0LCAoKyt1bGN0KSAqIHNpemVvZihjaGFyICopKTsKKwl1bGlzdFt1bGN0IC0gMV0gPSB1dWlkOworfQorCitjb25zdCBjaGFyICpnZXRfdXVpZChzaXplX3QgaSkKK3sKKwlyZXR1cm4gaSA8IHVsY3QgPyB1bGlzdFtpXSA6IE5VTEw7Cit9CisKK3NpemVfdCBudW1vZl91dWlkcyh2b2lkKQoreworCXJldHVybiB1bGN0OworfQorCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5oIGIvc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMWI2NzlmCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uaApAQCAtMCwwICsxLDI1IEBACisjaWZuZGVmIFVUSUxfTElOVVhfU1dBUE9OX0NPTU1PTl9ICisjZGVmaW5lIFVUSUxfTElOVVhfU1dBUE9OX0NPTU1PTl9ICisKKyNpbmNsdWRlIDxsaWJtb3VudC5oPgorCitleHRlcm4gc3RydWN0IGxpYm1udF9jYWNoZSAqbW50Y2FjaGU7CisKK2V4dGVybiBzdHJ1Y3QgbGlibW50X3RhYmxlICpnZXRfZnN0YWIodm9pZCk7CitleHRlcm4gc3RydWN0IGxpYm1udF90YWJsZSAqZ2V0X3N3YXBzKHZvaWQpOworZXh0ZXJuIHZvaWQgZnJlZV90YWJsZXModm9pZCk7CisKK2V4dGVybiBpbnQgbWF0Y2hfc3dhcChzdHJ1Y3QgbGlibW50X2ZzICpmcywgdm9pZCAqZGF0YSk7CitleHRlcm4gaW50IGlzX2FjdGl2ZV9zd2FwKGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKKworZXh0ZXJuIGludCBjYW5ub3RfZmluZChjb25zdCBjaGFyICpzcGVjaWFsKTsKKworZXh0ZXJuIHZvaWQgYWRkX2xhYmVsKGNvbnN0IGNoYXIgKmxhYmVsKTsKK2V4dGVybiBjb25zdCBjaGFyICpnZXRfbGFiZWwoc2l6ZV90IGkpOworZXh0ZXJuIHNpemVfdCBudW1vZl9sYWJlbHModm9pZCk7CisKK2V4dGVybiB2b2lkIGFkZF91dWlkKGNvbnN0IGNoYXIgKnV1aWQpOworZXh0ZXJuIGNvbnN0IGNoYXIgKmdldF91dWlkKHNpemVfdCBpKTsKK2V4dGVybiBzaXplX3QgbnVtb2ZfdXVpZHModm9pZCk7CisKKyNlbmRpZiAvKiBVVElMX0xJTlVYX1NXQVBPTl9DT01NT05fSCAqLwpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL3N3YXBvbi44IGIvc3lzLXV0aWxzL3N3YXBvbi44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmYTc2NWUKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvc3dhcG9uLjgKQEAgLTAsMCArMSwyNTMgQEAKKy5cIiBDb3B5cmlnaHQgKGMpIDE5ODAsIDE5OTEgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLgorLlwiIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisuXCIKKy5cIiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy5cIiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy5cIiBhcmUgbWV0OgorLlwiIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLlwiIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLlwiICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisuXCIgMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisuXCIgICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorLlwiCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKy5cIglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKy5cIiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworLlwiICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorLlwiICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLlwiCisuXCIgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKy5cIiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKy5cIiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorLlwiIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLlwiIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisuXCIgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKy5cIiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKy5cIiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorLlwiIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKy5cIiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisuXCIgU1VDSCBEQU1BR0UuCisuXCIKKy5cIiAgICAgQCgjKXN3YXBvbi44CTYuMyAoQmVya2VsZXkpIDMvMTYvOTEKKy5cIgorLlRIIFNXQVBPTiA4ICJPY3RvYmVyIDIwMTQiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK3N3YXBvbiwgc3dhcG9mZiBcLSBlbmFibGUvZGlzYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZworLlNIIFNZTk9QU0lTCisuQlIgc3dhcG9uCitbb3B0aW9uc10KKy5SSSBbIHNwZWNpYWxmaWxlIC4uLl0KKy5icgorLkIgc3dhcG9mZgorLlJCIFsgXC12YSBdCisuUkkgWyBzcGVjaWFsZmlsZSAuLi5dCisuU0ggREVTQ1JJUFRJT04KKy5CIHN3YXBvbgoraXMgdXNlZCB0byBzcGVjaWZ5IGRldmljZXMgb24gd2hpY2ggcGFnaW5nIGFuZCBzd2FwcGluZyBhcmUgdG8gdGFrZSBwbGFjZS4KKworVGhlIGRldmljZSBvciBmaWxlIHVzZWQgaXMgZ2l2ZW4gYnkgdGhlCisuSSBzcGVjaWFsZmlsZQorcGFyYW1ldGVyLiAgSXQgbWF5IGJlIG9mIHRoZSBmb3JtCisuQkkgXC1MICIgbGFiZWwiCitvcgorLkJJIFwtVSAiIHV1aWQiCit0byBpbmRpY2F0ZSBhIGRldmljZSBieSBsYWJlbCBvciB1dWlkLgorCitDYWxscyB0bworLkIgc3dhcG9uCitub3JtYWxseSBvY2N1ciBpbiB0aGUgc3lzdGVtIGJvb3Qgc2NyaXB0cyBtYWtpbmcgYWxsIHN3YXAgZGV2aWNlcyBhdmFpbGFibGUsIHNvCit0aGF0IHRoZSBwYWdpbmcgYW5kIHN3YXBwaW5nIGFjdGl2aXR5IGlzIGludGVybGVhdmVkIGFjcm9zcyBzZXZlcmFsIGRldmljZXMgYW5kCitmaWxlcy4KKworLkIgc3dhcG9mZgorZGlzYWJsZXMgc3dhcHBpbmcgb24gdGhlIHNwZWNpZmllZCBkZXZpY2VzIGFuZCBmaWxlcy4KK1doZW4gdGhlCisuQiBcLWEKK2ZsYWcgaXMgZ2l2ZW4sIHN3YXBwaW5nIGlzIGRpc2FibGVkIG9uIGFsbCBrbm93biBzd2FwIGRldmljZXMgYW5kIGZpbGVzCisoYXMgZm91bmQgaW4KKy5JIC9wcm9jL3N3YXBzCitvcgorLklSIC9ldGMvZnN0YWIgKS4KKworLlNIIE9QVElPTlMKKy5UUAorLkJSIFwtYSAsICIgXC1cLWFsbCIKK0FsbCBkZXZpY2VzIG1hcmtlZCBhcyBgYHN3YXAnJyBpbgorLkkgL2V0Yy9mc3RhYgorYXJlIG1hZGUgYXZhaWxhYmxlLCBleGNlcHQgZm9yIHRob3NlIHdpdGggdGhlIGBgbm9hdXRvJycgb3B0aW9uLgorRGV2aWNlcyB0aGF0IGFyZSBhbHJlYWR5IGJlaW5nIHVzZWQgYXMgc3dhcCBhcmUgc2lsZW50bHkgc2tpcHBlZC4KKy5UUAorLkJSIFwtZCAsICIgXC1cLWRpc2NhcmQiIFsgPVxmSXBvbGljeVxmUl0KK0VuYWJsZSBzd2FwIGRpc2NhcmRzLCBpZiB0aGUgc3dhcCBiYWNraW5nIGRldmljZSBzdXBwb3J0cyB0aGUgZGlzY2FyZCBvcgordHJpbSBvcGVyYXRpb24uICBUaGlzIG1heSBpbXByb3ZlIHBlcmZvcm1hbmNlIG9uIHNvbWUgU29saWQgU3RhdGUgRGV2aWNlcywKK2J1dCBvZnRlbiBpdCBkb2VzIG5vdC4gIFRoZSBvcHRpb24gYWxsb3dzIG9uZSB0byBzZWxlY3QgYmV0d2VlbiB0d28KK2F2YWlsYWJsZSBzd2FwIGRpc2NhcmQgcG9saWNpZXM6CisuQkkgXC1cLWRpc2NhcmQ9b25jZQordG8gcGVyZm9ybSBhIHNpbmdsZS10aW1lIGRpc2NhcmQgb3BlcmF0aW9uIGZvciB0aGUgd2hvbGUgc3dhcCBhcmVhIGF0IHN3YXBvbjsKK29yCisuQkkgXC1cLWRpc2NhcmQ9cGFnZXMKK3RvIGFzeW5jaHJvbm91c2x5IGRpc2NhcmQgZnJlZWQgc3dhcCBwYWdlcyBiZWZvcmUgdGhleSBhcmUgYXZhaWxhYmxlIGZvciByZXVzZS4KK0lmIG5vIHBvbGljeSBpcyBzZWxlY3RlZCwgdGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gZW5hYmxlIGJvdGggZGlzY2FyZCB0eXBlcy4KK1RoZQorLkkgL2V0Yy9mc3RhYgorbW91bnQgb3B0aW9ucworLkJSIGRpc2NhcmQgLAorLkJSIGRpc2NhcmQ9b25jZSAsCitvcgorLkIgZGlzY2FyZD1wYWdlcworbWF5IGFsc28gYmUgdXNlZCB0byBlbmFibGUgZGlzY2FyZCBmbGFncy4KKy5UUAorLkJSIFwtZSAsICIgXC1cLWlmZXhpc3RzIgorU2lsZW50bHkgc2tpcCBkZXZpY2VzIHRoYXQgZG8gbm90IGV4aXN0LgorVGhlCisuSSAvZXRjL2ZzdGFiCittb3VudCBvcHRpb24KKy5CIG5vZmFpbAorbWF5IGFsc28gYmUgdXNlZCB0byBza2lwIG5vbi1leGlzdGluZyBkZXZpY2UuCisKKy5UUAorLkJSIFwtZiAsICIgXC1cLWZpeHBnc3oiCitSZWluaXRpYWxpemUgKGV4ZWMgbWtzd2FwKSB0aGUgc3dhcCBzcGFjZSBpZiBpdHMgcGFnZSBzaXplIGRvZXMgbm90CittYXRjaCB0aGF0IG9mIHRoZSBjdXJyZW50IHJ1bm5pbmcga2VybmVsLgorLkJSIG1rc3dhcCAoMikKK2luaXRpYWxpemVzIHRoZSB3aG9sZSBkZXZpY2UgYW5kIGRvZXMgbm90IGNoZWNrIGZvciBiYWQgYmxvY2tzLgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlRQCisuQkkgXC1MICIgbGFiZWwiCitVc2UgdGhlIHBhcnRpdGlvbiB0aGF0IGhhcyB0aGUgc3BlY2lmaWVkCisuSVIgbGFiZWwgLgorKEZvciB0aGlzLCBhY2Nlc3MgdG8KKy5JIC9wcm9jL3BhcnRpdGlvbnMKK2lzIG5lZWRlZC4pCisuVFAKKy5CUiBcLW8gLCAiIFwtXC1vcHRpb25zICIgXGZJb3B0c1xmUAorU3BlY2lmeSBzd2FwIG9wdGlvbnMgYnkgYW4gZnN0YWItY29tcGF0aWJsZSBjb21tYS1zZXBhcmF0ZWQgc3RyaW5nLgorRm9yIGV4YW1wbGU6CisuUlMKKy5SUworLnNwCisuQiAic3dhcG9uIC1vIHByaT0xLGRpc2NhcmQ9cGFnZXMsbm9mYWlsIC9kZXYvc2RhMiIKKy5zcAorLlJFCitUaGUgXGZJb3B0c1xmUCBzdHJpbmcgaXMgZXZhbHVhdGVkIGxhc3QgYW5kIG92ZXJyaWRlcyBhbGwgb3RoZXIKK2NvbW1hbmQgbGluZSBvcHRpb25zLgorLlJFCisuVFAKKy5CUiBcLXAgLCAiIFwtXC1wcmlvcml0eSAiIFxmSXByaW9yaXR5XGZQCitTcGVjaWZ5IHRoZSBwcmlvcml0eSBvZiB0aGUgc3dhcCBkZXZpY2UuCisuSSBwcmlvcml0eQoraXMgYSB2YWx1ZSBiZXR3ZWVuIFwtMSBhbmQgMzI3NjcuICBIaWdoZXIgbnVtYmVycyBpbmRpY2F0ZQoraGlnaGVyIHByaW9yaXR5LiAgU2VlCisuQlIgc3dhcG9uICgyKQorZm9yIGEgZnVsbCBkZXNjcmlwdGlvbiBvZiBzd2FwIHByaW9yaXRpZXMuICBBZGQKKy5CSSBwcmk9IHZhbHVlCit0byB0aGUgb3B0aW9uIGZpZWxkIG9mCisuSSAvZXRjL2ZzdGFiCitmb3IgdXNlIHdpdGgKKy5CUiAic3dhcG9uIC1hIiAuCitXaGVuIG5vIHByaW9yaXR5IGlzIGRlZmluZWQsIGl0IGRlZmF1bHRzIHRvIFwtMS4KKy5UUAorLkJSIFwtcyAsICIgXC1cLXN1bW1hcnkiCitEaXNwbGF5IHN3YXAgdXNhZ2Ugc3VtbWFyeSBieSBkZXZpY2UuICBFcXVpdmFsZW50IHRvICJjYXQgL3Byb2Mvc3dhcHMiLgorTm90IGF2YWlsYWJsZSBiZWZvcmUgTGludXggMi4xLjI1LiAgVGhpcyBvdXRwdXQgZm9ybWF0IGlzIERFUFJFQ0FURUQgaW4gZmF2b3VyCitvZiBcZkJcLVwtc2hvd1xmUiB0aGF0IHByb3ZpZGVzIGJldHRlciBjb250cm9sIG9uIG91dHB1dCBkYXRhLgorLlRQCisuQlIgXC1cLXNob3cgWyA9XGZJY29sdW1uXGZSIC4uLl0KK0Rpc3BsYXkgYSBkZWZpbmFibGUgdGFibGUgb2Ygc3dhcCBhcmVhcy4gIFNlZSB0aGUKKy5CIFwtXC1oZWxwCitvdXRwdXQgZm9yIGEgbGlzdCBvZiBhdmFpbGFibGUgY29sdW1ucy4KKy5UUAorLkIgXC1cLW5vaGVhZGluZ3MKK0RvIG5vdCBwcmludCBoZWFkaW5ncyB3aGVuIGRpc3BsYXlpbmcKKy5CIFwtXC1zaG93CitvdXRwdXQuCisuVFAKKy5CIFwtXC1yYXcKK0Rpc3BsYXkKKy5CIFwtXC1zaG93CitvdXRwdXQgd2l0aG91dCBhbGlnbmluZyB0YWJsZSBjb2x1bW5zLgorLlRQCisuQiBcLVwtYnl0ZXMKK0Rpc3BsYXkgc3dhcCBzaXplIGluIGJ5dGVzIGluCisuQiBcLVwtc2hvdworb3V0cHV0IGluc3RlYWQgb2YgaW4gdXNlci1mcmllbmRseSB1bml0cy4KKy5UUAorLkJJIFwtVSAgIiB1dWlkIgorVXNlIHRoZSBwYXJ0aXRpb24gdGhhdCBoYXMgdGhlIHNwZWNpZmllZAorLklSIHV1aWQgLgorLlRQCisuQlIgXC12ICwgIiBcLVwtdmVyYm9zZSIKK0JlIHZlcmJvc2UuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlNIIE5PVEVTCitZb3Ugc2hvdWxkIG5vdCB1c2UgXGZCc3dhcG9uXGZSIG9uIGEgZmlsZSB3aXRoIGhvbGVzLgorVGhpcyBjYW4gYmUgc2VlbiBpbiB0aGUgc3lzdGVtIGxvZyBhcworLlJTCisuc3AKKy5CICJzd2Fwb246IHN3YXBmaWxlIGhhcyBob2xlcy4iCisuc3AKKy5SRQorVGhlIHN3YXAgZmlsZSBpbXBsZW1lbnRhdGlvbiBpbiB0aGUga2VybmVsIGV4cGVjdHMgdG8gYmUgYWJsZSB0byB3cml0ZSB0byB0aGUKK2ZpbGUgZGlyZWN0bHksIHdpdGhvdXQgdGhlIGFzc2lzdGFuY2Ugb2YgdGhlIGZpbGVzeXN0ZW0uICBUaGlzIGlzIGEgcHJvYmxlbSBvbgorcHJlYWxsb2NhdGVkIGZpbGVzIChlLmcuCisuQlIgZmFsbG9jYXRlICgxKSkKK29uIGZpbGVzeXN0ZW1zIGxpa2UgXGZCWEZTXGZSIG9yIFxmQmV4dDRcZlIsIGFuZCBvbiBjb3B5LW9uLXdyaXRlCitmaWxlc3lzdGVtcyBsaWtlIFxmQmJ0cmZzXGZSLgorLlBQCitJdCBpcyByZWNvbW1lbmRlZCB0byB1c2UKKy5CUiBkZCAoMSkKK2FuZAorLkkgL2Rldi96ZXJvCit0byBhdm9pZCBob2xlcyBvbiBYRlMgYW5kIGV4dDQuCisuUFAKKy5CIHN3YXBvbgorbWF5IG5vdCB3b3JrIGNvcnJlY3RseSB3aGVuIHVzaW5nIGEgc3dhcCBmaWxlIHdpdGggc29tZSB2ZXJzaW9ucyBvZgorXGZCYnRyZnNcZlIuICBUaGlzIGlzIGR1ZSB0byBidHJmcyBiZWluZyBhIGNvcHktb24td3JpdGUgZmlsZXN5c3RlbTogdGhlCitmaWxlIGxvY2F0aW9uIG1heSBub3QgYmUgc3RhdGljIGFuZCBjb3JydXB0aW9uIGNhbiByZXN1bHQuICBCdHJmcyBhY3RpdmVseQorZGlzYWxsb3dzIHRoZSB1c2Ugb2Ygc3dhcCBmaWxlcyBvbiBpdHMgZmlsZXN5c3RlbXMgYnkgcmVmdXNpbmcgdG8gbWFwIHRoZSBmaWxlLgorLlBQCitPbmUgcG9zc2libGUgd29ya2Fyb3VuZCBpcyB0byBtYXAgdGhlIHN3YXAKK2ZpbGUgdG8gYSBsb29wYmFjayBkZXZpY2UuICBUaGlzIHdpbGwgYWxsb3cgdGhlIGZpbGVzeXN0ZW0gdG8gZGV0ZXJtaW5lIHRoZQorbWFwcGluZyBwcm9wZXJseSBidXQgbWF5IGNvbWUgd2l0aCBhIHBlcmZvcm1hbmNlIGltcGFjdC4KKy5QUAorU3dhcCBvdmVyIFxmQk5GU1xmUiBtYXkgbm90IHdvcmsuCisuUFAKKy5CIHN3YXBvbgorYXV0b21hdGljYWxseSBkZXRlY3RzIGFuZCByZXdyaXRlcyBhIHN3YXAgc3BhY2Ugc2lnbmF0dXJlIHdpdGggb2xkIHNvZnR3YXJlCitzdXNwZW5kIGRhdGEgKGUuZyBTMVNVU1BFTkQsIFMyU1VTUEVORCwgLi4uKS4gVGhlIHByb2JsZW0gaXMgdGhhdCBpZiB3ZSBkb24ndAorZG8gaXQsIHRoZW4gd2UgZ2V0IGRhdGEgY29ycnVwdGlvbiB0aGUgbmV4dCB0aW1lIGFuIGF0dGVtcHQgYXQgdW5zdXNwZW5kaW5nIGlzCittYWRlLgorCisuU0ggRU5WSVJPTk1FTlQKKy5JUCBMSUJNT1VOVF9ERUJVRz1hbGwKK2VuYWJsZXMgbGlibW91bnQgZGVidWcgb3V0cHV0LgorLklQIExJQkJMS0lEX0RFQlVHPWFsbAorZW5hYmxlcyBsaWJibGtpZCBkZWJ1ZyBvdXRwdXQuCisKKy5TSCBTRUUgQUxTTworLkJSIHN3YXBvZmYgKDIpLAorLkJSIHN3YXBvbiAoMiksCisuQlIgZnN0YWIgKDUpLAorLkJSIGluaXQgKDgpLAorLkJSIG1rc3dhcCAoOCksCisuQlIgbW91bnQgKDgpLAorLkJSIHJjICg4KQorLlNIIEZJTEVTCisuYnIKKy5JIC9kZXYvc2Q/Pworc3RhbmRhcmQgcGFnaW5nIGRldmljZXMKKy5icgorLkkgL2V0Yy9mc3RhYgorYXNjaWkgZmlsZXN5c3RlbSBkZXNjcmlwdGlvbiB0YWJsZQorLlNIIEhJU1RPUlkKK1RoZQorLkIgc3dhcG9uCitjb21tYW5kIGFwcGVhcmVkIGluIDQuMEJTRC4KKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBzd2Fwb24gY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvc3dhcG9uLmMgYi9zeXMtdXRpbHMvc3dhcG9uLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGVlNWNhZgotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9zd2Fwb24uYwpAQCAtMCwwICsxLDEwMDUgQEAKKyNpbmNsdWRlIDxhc3NlcnQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvd2FpdC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKworI2luY2x1ZGUgPGxpYnNtYXJ0Y29scy5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgImJpdG9wcy5oIgorI2luY2x1ZGUgImJsa2Rldi5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAib3B0dXRpbHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCisjaW5jbHVkZSAic3dhcGhlYWRlci5oIgorI2luY2x1ZGUgInN3YXBwcm9iZXIuaCIKKyNpbmNsdWRlICJzd2Fwb24tY29tbW9uLmgiCisKKyNpZmRlZiBIQVZFX1NZU19TV0FQX0gKKyMgaW5jbHVkZSA8c3lzL3N3YXAuaD4KKyNlbmRpZgorCisjaWZuZGVmIFNXQVBfRkxBR19ESVNDQVJECisjIGRlZmluZSBTV0FQX0ZMQUdfRElTQ0FSRAkweDEwMDAwIC8qIGVuYWJsZSBkaXNjYXJkIGZvciBzd2FwICovCisjZW5kaWYKKworI2lmbmRlZiBTV0FQX0ZMQUdfRElTQ0FSRF9PTkNFCisjIGRlZmluZSBTV0FQX0ZMQUdfRElTQ0FSRF9PTkNFIDB4MjAwMDAgLyogZGlzY2FyZCBzd2FwIGFyZWEgYXQgc3dhcG9uLXRpbWUgKi8KKyNlbmRpZgorCisjaWZuZGVmIFNXQVBfRkxBR19ESVNDQVJEX1BBR0VTCisjIGRlZmluZSBTV0FQX0ZMQUdfRElTQ0FSRF9QQUdFUyAweDQwMDAwIC8qIGRpc2NhcmQgcGFnZS1jbHVzdGVycyBhZnRlciB1c2UgKi8KKyNlbmRpZgorCisjZGVmaW5lIFNXQVBfRkxBR1NfRElTQ0FSRF9WQUxJRCAoU1dBUF9GTEFHX0RJU0NBUkQgfCBTV0FQX0ZMQUdfRElTQ0FSRF9PTkNFIHwgXAorCQkJCSAgU1dBUF9GTEFHX0RJU0NBUkRfUEFHRVMpCisKKyNpZm5kZWYgU1dBUF9GTEFHX1BSRUZFUgorIyBkZWZpbmUgU1dBUF9GTEFHX1BSRUZFUgkweDgwMDAJLyogc2V0IGlmIHN3YXAgcHJpb3JpdHkgc3BlY2lmaWVkICovCisjZW5kaWYKKworI2lmbmRlZiBTV0FQX0ZMQUdfUFJJT19NQVNLCisjIGRlZmluZSBTV0FQX0ZMQUdfUFJJT19NQVNLCTB4N2ZmZgorI2VuZGlmCisKKyNpZm5kZWYgU1dBUF9GTEFHX1BSSU9fU0hJRlQKKyMgZGVmaW5lIFNXQVBfRkxBR19QUklPX1NISUZUCTAKKyNlbmRpZgorCisjaWZuZGVmIFNXQVBPTl9IQVNfVFdPX0FSR1MKKy8qIGxpYmMgaXMgaW5zYW5lLCBsZXQncyBjYWxsIHRoZSBrZXJuZWwgKi8KKyMgaW5jbHVkZSA8c3lzL3N5c2NhbGwuaD4KKyMgZGVmaW5lIHN3YXBvbihwYXRoLCBmbGFncykgc3lzY2FsbChTWVNfc3dhcG9uLCBwYXRoLCBmbGFncykKKyNlbmRpZgorCisjZGVmaW5lIE1BWF9QQUdFU0laRQkoNjQgKiAxMDI0KQorCitlbnVtIHsKKwlTSUdfU1dBUFNQQUNFID0gMSwKKwlTSUdfU1dTVVNQRU5ECit9OworCisvKiBjb2x1bW4gbmFtZXMgKi8KK3N0cnVjdCBjb2xpbmZvIHsKKyAgICAgICAgY29uc3QgY2hhciAqbmFtZTsgLyogaGVhZGVyICovCisgICAgICAgIGRvdWJsZSAgICAgd2hpbnQ7IC8qIHdpZHRoIGhpbnQgKE4gPCAxIGlzIGluIHBlcmNlbnQgb2YgdGVybXdpZHRoKSAqLworCWludCAgICAgICAgZmxhZ3M7IC8qIFNDT0xTX0ZMXyogKi8KKyAgICAgICAgY29uc3QgY2hhciAqaGVscDsKK307CisKK2VudW0geworCUNPTF9QQVRILAorCUNPTF9UWVBFLAorCUNPTF9TSVpFLAorCUNPTF9VU0VELAorCUNPTF9QUklPLAorCUNPTF9VVUlELAorCUNPTF9MQUJFTAorfTsKK3N0cnVjdCBjb2xpbmZvIGluZm9zW10gPSB7CisJW0NPTF9QQVRIXSAgICAgPSB7ICJOQU1FIiwJMC4yMCwgMCwgTl8oImRldmljZSBmaWxlIG9yIHBhcnRpdGlvbiBwYXRoIikgfSwKKwlbQ09MX1RZUEVdICAgICA9IHsgIlRZUEUiLAkwLjIwLCBTQ09MU19GTF9UUlVOQywgTl8oInR5cGUgb2YgdGhlIGRldmljZSIpfSwKKwlbQ09MX1NJWkVdICAgICA9IHsgIlNJWkUiLAkwLjIwLCBTQ09MU19GTF9SSUdIVCwgTl8oInNpemUgb2YgdGhlIHN3YXAgYXJlYSIpfSwKKwlbQ09MX1VTRURdICAgICA9IHsgIlVTRUQiLAkwLjIwLCBTQ09MU19GTF9SSUdIVCwgTl8oImJ5dGVzIGluIHVzZSIpfSwKKwlbQ09MX1BSSU9dICAgICA9IHsgIlBSSU8iLAkwLjIwLCBTQ09MU19GTF9SSUdIVCwgTl8oInN3YXAgcHJpb3JpdHkiKX0sCisJW0NPTF9VVUlEXSAgICAgPSB7ICJVVUlEIiwJMC4yMCwgMCwgTl8oInN3YXAgdXVpZCIpfSwKKwlbQ09MX0xBQkVMXSAgICA9IHsgIkxBQkVMIiwJMC4yMCwgMCwgTl8oInN3YXAgbGFiZWwiKX0sCit9OworCisKKy8qIHN3YXAgYXJlYSBwcm9wZXJ0aWVzICovCitzdHJ1Y3Qgc3dhcF9wcm9wIHsKKwlpbnQgZGlzY2FyZDsJCQkvKiBkaXNjYXJkIHBvbGljeSAqLworCWludCBwcmlvcml0eTsJCQkvKiBub24tcHJpb3JpdGl6ZWQgc3dhcCBieSBkZWZhdWx0ICovCisJaW50IG5vX2ZhaWw7CQkJLyogc2tpcCBkZXZpY2UgaWYgbm90IGV4aXN0ICovCit9OworCisvKiBkZXZpY2UgZGVzY3JpcHRpb24gKi8KK3N0cnVjdCBzd2FwX2RldmljZSB7CisJY29uc3QgY2hhciAqcGF0aDsJCS8qIGRldmljZSBvciBmaWxlIHRvIGJlIHR1cm5lZCBvbiAqLworCWNvbnN0IGNoYXIgKmxhYmVsOwkJLyogc3dhcCBsYWJlbCAqLworCWNvbnN0IGNoYXIgKnV1aWQ7CQkvKiB1bmlxdWUgaWRlbnRpZmllciAqLworCXVuc2lnbmVkIGludCBwYWdlc2l6ZTsKK307CisKKy8qIGNvbnRyb2wgc3RydWN0ICovCitzdHJ1Y3Qgc3dhcG9uX2N0bCB7CisJaW50IGNvbHVtbnNbQVJSQVlfU0laRShpbmZvcykgKiAyXTsJLyogLS1zaG93IGNvbHVtbnMgKi8KKwlpbnQgbmNvbHVtbnM7CQkJCS8qIG51bWJlciBvZiBjb2x1bW5zICovCisKKwlzdHJ1Y3Qgc3dhcF9wcm9wIHByb3BzOwkJLyogZ2xvYmFsIHNldHRpbmdzIGZvciBhbGwgZGV2aWNlcyAqLworCisJdW5zaWduZWQgaW50CisJCWFsbDoxLAkJCS8qIHR1cm4gb24gYWxsIHN3YXAgZGV2aWNlcyAqLworCQlieXRlczoxLAkJLyogZGlzcGxheSAtLXNob3cgaW4gYnl0ZXMgKi8KKwkJZml4X3BhZ2Vfc2l6ZToxLAkvKiByZWluaXRpYWxpemUgcGFnZSBzaXplICovCisJCW5vX2hlYWRpbmc6MSwJCS8qIHRvZ2dsZSAtLXNob3cgaGVhZGVycyAqLworCQlyYXc6MSwJCQkvKiB0b2dnbGUgLS1zaG93IGFsaWdubWVudCAqLworCQlzaG93OjEsCQkJLyogZGlzcGxheSAtLXNob3cgaW5mb3JtYXRpb24gKi8KKwkJdmVyYm9zZToxOwkJLyogYmUgY2hhdHR5ICovCit9OworCitzdGF0aWMgaW50IGNvbHVtbl9uYW1lX3RvX2lkKGNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBuYW1lc3opCit7CisJc2l6ZV90IGk7CisKKwlhc3NlcnQobmFtZSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShpbmZvcyk7IGkrKykgeworCQljb25zdCBjaGFyICpjbiA9IGluZm9zW2ldLm5hbWU7CisKKwkJaWYgKCFzdHJuY2FzZWNtcChuYW1lLCBjbiwgbmFtZXN6KSAmJiAhKihjbiArIG5hbWVzeikpCisJCQlyZXR1cm4gaTsKKwl9CisJd2FybngoXygidW5rbm93biBjb2x1bW46ICVzIiksIG5hbWUpOworCXJldHVybiAtMTsKK30KKworc3RhdGljIGlubGluZSBpbnQgZ2V0X2NvbHVtbl9pZChjb25zdCBzdHJ1Y3Qgc3dhcG9uX2N0bCAqY3RsLCBpbnQgbnVtKQoreworCWFzc2VydChudW0gPCBjdGwtPm5jb2x1bW5zKTsKKwlhc3NlcnQoY3RsLT5jb2x1bW5zW251bV0gPCAoaW50KSBBUlJBWV9TSVpFKGluZm9zKSk7CisKKwlyZXR1cm4gY3RsLT5jb2x1bW5zW251bV07Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGNvbGluZm8gKmdldF9jb2x1bW5faW5mbyhjb25zdCBzdHJ1Y3Qgc3dhcG9uX2N0bCAqY3RsLCB1bnNpZ25lZCBudW0pCit7CisJcmV0dXJuICZpbmZvc1tnZXRfY29sdW1uX2lkKGN0bCwgbnVtKV07Cit9CisKK3N0YXRpYyB2b2lkIGFkZF9zY29sc19saW5lKGNvbnN0IHN0cnVjdCBzd2Fwb25fY3RsICpjdGwsIHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGFibGUsIHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCWludCBpOworCXN0cnVjdCBsaWJzY29sc19saW5lICpsaW5lOworCWJsa2lkX3Byb2JlIHByID0gTlVMTDsKKwljb25zdCBjaGFyICpkYXRhOworCisJYXNzZXJ0KHRhYmxlKTsKKwlhc3NlcnQoZnMpOworCisJbGluZSA9IHNjb2xzX3RhYmxlX25ld19saW5lKHRhYmxlLCBOVUxMKTsKKwlpZiAoIWxpbmUpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBsaW5lIikpOworCWRhdGEgPSBtbnRfZnNfZ2V0X3NvdXJjZShmcyk7CisJaWYgKGFjY2VzcyhkYXRhLCBSX09LKSA9PSAwKQorCQlwciA9IGdldF9zd2FwX3Byb2JlcihkYXRhKTsKKwlmb3IgKGkgPSAwOyBpIDwgY3RsLT5uY29sdW1uczsgaSsrKSB7CisJCWNoYXIgKnN0ciA9IE5VTEw7CisJCW9mZl90IHNpemU7CisKKwkJc3dpdGNoIChnZXRfY29sdW1uX2lkKGN0bCwgaSkpIHsKKwkJY2FzZSBDT0xfUEFUSDoKKwkJCXhhc3ByaW50Zigmc3RyLCAiJXMiLCBtbnRfZnNfZ2V0X3NvdXJjZShmcykpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1RZUEU6CisJCQl4YXNwcmludGYoJnN0ciwgIiVzIiwgbW50X2ZzX2dldF9zd2FwdHlwZShmcykpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1NJWkU6CisJCQlzaXplID0gbW50X2ZzX2dldF9zaXplKGZzKTsKKwkJCXNpemUgKj0gMTAyNDsJLyogY29udmVydCB0byBieXRlcyAqLworCQkJaWYgKGN0bC0+Ynl0ZXMpCisJCQkJeGFzcHJpbnRmKCZzdHIsICIlamQiLCBzaXplKTsKKwkJCWVsc2UKKwkJCQlzdHIgPSBzaXplX3RvX2h1bWFuX3N0cmluZyhTSVpFX1NVRkZJWF8xTEVUVEVSLCBzaXplKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9VU0VEOgorCQkJc2l6ZSA9IG1udF9mc19nZXRfdXNlZHNpemUoZnMpOworCQkJc2l6ZSAqPSAxMDI0OwkvKiBjb252ZXJ0IHRvIGJ5dGVzICovCisJCQlpZiAoY3RsLT5ieXRlcykKKwkJCQl4YXNwcmludGYoJnN0ciwgIiVqZCIsIHNpemUpOworCQkJZWxzZQorCQkJCXN0ciA9IHNpemVfdG9faHVtYW5fc3RyaW5nKFNJWkVfU1VGRklYXzFMRVRURVIsIHNpemUpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1BSSU86CisJCQl4YXNwcmludGYoJnN0ciwgIiVkIiwgbW50X2ZzX2dldF9wcmlvcml0eShmcykpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1VVSUQ6CisJCQlpZiAocHIgJiYgIWJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIlVVSUQiLCAmZGF0YSwgTlVMTCkpCisJCQkJeGFzcHJpbnRmKCZzdHIsICIlcyIsIGRhdGEpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX0xBQkVMOgorCQkJaWYgKHByICYmICFibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJMQUJFTCIsICZkYXRhLCBOVUxMKSkKKwkJCQl4YXNwcmludGYoJnN0ciwgIiVzIiwgZGF0YSk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWJyZWFrOworCQl9CisKKwkJaWYgKHN0cikKKwkJCXNjb2xzX2xpbmVfcmVmZXJfZGF0YShsaW5lLCBpLCBzdHIpOworCX0KKwlpZiAocHIpCisJCWJsa2lkX2ZyZWVfcHJvYmUocHIpOworCXJldHVybjsKK30KKworc3RhdGljIGludCBkaXNwbGF5X3N1bW1hcnkodm9pZCkKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICpzdCA9IGdldF9zd2FwcygpOworCXN0cnVjdCBsaWJtbnRfaXRlciAqaXRyOworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCisJaWYgKCFzdCkKKwkJcmV0dXJuIC0xOworCisJaWYgKG1udF90YWJsZV9pc19lbXB0eShzdCkpCisJCXJldHVybiAwOworCisJaXRyID0gbW50X25ld19pdGVyKE1OVF9JVEVSX0ZPUldBUkQpOworCWlmICghaXRyKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIpKTsKKworCXByaW50ZihfKCIlc1x0XHRcdFx0VHlwZVx0XHRTaXplXHRVc2VkXHRQcmlvcml0eVxuIiksIF8oIkZpbGVuYW1lIikpOworCisJd2hpbGUgKG1udF90YWJsZV9uZXh0X2ZzKHN0LCBpdHIsICZmcykgPT0gMCkgeworCQlwcmludGYoIiUtMzlzXHQlLThzXHQlamRcdCVqZFx0JWRcbiIsCisJCQltbnRfZnNfZ2V0X3NvdXJjZShmcyksCisJCQltbnRfZnNfZ2V0X3N3YXB0eXBlKGZzKSwKKwkJCW1udF9mc19nZXRfc2l6ZShmcyksCisJCQltbnRfZnNfZ2V0X3VzZWRzaXplKGZzKSwKKwkJCW1udF9mc19nZXRfcHJpb3JpdHkoZnMpKTsKKwl9CisKKwltbnRfZnJlZV9pdGVyKGl0cik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc2hvd190YWJsZShzdHJ1Y3Qgc3dhcG9uX2N0bCAqY3RsKQoreworCXN0cnVjdCBsaWJtbnRfdGFibGUgKnN0ID0gZ2V0X3N3YXBzKCk7CisJc3RydWN0IGxpYm1udF9pdGVyICppdHIgPSBOVUxMOworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCWludCBpOworCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGFibGUgPSBOVUxMOworCisJaWYgKCFzdCkKKwkJcmV0dXJuIC0xOworCisJaXRyID0gbW50X25ld19pdGVyKE1OVF9JVEVSX0ZPUldBUkQpOworCWlmICghaXRyKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIpKTsKKworCXNjb2xzX2luaXRfZGVidWcoMCk7CisKKwl0YWJsZSA9IHNjb2xzX25ld190YWJsZSgpOworCWlmICghdGFibGUpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCB0YWJsZSIpKTsKKworCXNjb2xzX3RhYmxlX2VuYWJsZV9yYXcodGFibGUsIGN0bC0+cmF3KTsKKwlzY29sc190YWJsZV9lbmFibGVfbm9oZWFkaW5ncyh0YWJsZSwgY3RsLT5ub19oZWFkaW5nKTsKKworCWZvciAoaSA9IDA7IGkgPCBjdGwtPm5jb2x1bW5zOyBpKyspIHsKKwkJc3RydWN0IGNvbGluZm8gKmNvbCA9IGdldF9jb2x1bW5faW5mbyhjdGwsIGkpOworCisJCWlmICghc2NvbHNfdGFibGVfbmV3X2NvbHVtbih0YWJsZSwgY29sLT5uYW1lLCBjb2wtPndoaW50LCBjb2wtPmZsYWdzKSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iKSk7CisJfQorCisJd2hpbGUgKG1udF90YWJsZV9uZXh0X2ZzKHN0LCBpdHIsICZmcykgPT0gMCkKKwkJYWRkX3Njb2xzX2xpbmUoY3RsLCB0YWJsZSwgZnMpOworCisJc2NvbHNfcHJpbnRfdGFibGUodGFibGUpOworCXNjb2xzX3VucmVmX3RhYmxlKHRhYmxlKTsKKwltbnRfZnJlZV9pdGVyKGl0cik7CisJcmV0dXJuIDA7Cit9CisKKy8qIGNhbGxzIG1rc3dhcCAqLworc3RhdGljIGludCBzd2FwX3JlaW5pdGlhbGl6ZShzdHJ1Y3Qgc3dhcF9kZXZpY2UgKmRldikKK3sKKwlwaWRfdCBwaWQ7CisJaW50IHN0YXR1cywgcmV0OworCWNoYXIgY29uc3QgKmNtZFs3XTsKKwlpbnQgaWR4PTA7CisKKwlhc3NlcnQoZGV2KTsKKwlhc3NlcnQoZGV2LT5wYXRoKTsKKworCXdhcm54KF8oIiVzOiByZWluaXRpYWxpemluZyB0aGUgc3dhcC4iKSwgZGV2LT5wYXRoKTsKKworCXN3aXRjaCAoKHBpZD1mb3JrKCkpKSB7CisJY2FzZSAtMTogLyogZm9yayBlcnJvciAqLworCQl3YXJuKF8oImZvcmsgZmFpbGVkIikpOworCQlyZXR1cm4gLTE7CisKKwljYXNlIDA6CS8qIGNoaWxkICovCisJCWlmIChnZXRldWlkKCkgIT0gZ2V0dWlkKCkpIHsKKwkJCS8qIGluIGNhc2Ugc29tZW9uZSB1c2VzIHN3YXBvbiBhcyBzZXR1aWQgYmluYXJ5ICovCisJCQlpZiAoc2V0Z2lkKGdldGdpZCgpKSA8IDApCisJCQkJZXhpdChFWElUX0ZBSUxVUkUpOworCQkJaWYgKHNldHVpZChnZXR1aWQoKSkgPCAwKQorCQkJCWV4aXQoRVhJVF9GQUlMVVJFKTsKKwkJfQorCisJCWNtZFtpZHgrK10gPSAibWtzd2FwIjsKKwkJaWYgKGRldi0+bGFiZWwpIHsKKwkJCWNtZFtpZHgrK10gPSAiLUwiOworCQkJY21kW2lkeCsrXSA9IGRldi0+bGFiZWw7CisJCX0KKwkJaWYgKGRldi0+dXVpZCkgeworCQkJY21kW2lkeCsrXSA9ICItVSI7CisJCQljbWRbaWR4KytdID0gZGV2LT51dWlkOworCQl9CisJCWNtZFtpZHgrK10gPSBkZXYtPnBhdGg7CisJCWNtZFtpZHgrK10gPSBOVUxMOworCQlleGVjdnAoY21kWzBdLCAoY2hhciAqIGNvbnN0ICopIGNtZCk7CisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBleGVjdXRlICVzIiksIGNtZFswXSk7CisKKwlkZWZhdWx0OiAvKiBwYXJlbnQgKi8KKwkJZG8geworCQkJcmV0ID0gd2FpdHBpZChwaWQsICZzdGF0dXMsIDApOworCQl9IHdoaWxlIChyZXQgPT0gLTEgJiYgZXJybm8gPT0gRUlOVFIpOworCisJCWlmIChyZXQgPCAwKSB7CisJCQl3YXJuKF8oIndhaXRwaWQgZmFpbGVkIikpOworCQkJcmV0dXJuIC0xOworCQl9CisKKwkJLyogbWtzd2FwIHJldHVybnM6IDA9c3VzcywgMT1lcnJvciAqLworCQlpZiAoV0lGRVhJVEVEKHN0YXR1cykgJiYgV0VYSVRTVEFUVVMoc3RhdHVzKT09MCkKKwkJCXJldHVybiAwOyAvKiBvayAqLworCQlicmVhazsKKwl9CisJcmV0dXJuIC0xOyAvKiBlcnJvciAqLworfQorCisvKiBSZXBsYWNlcyB1bndhbnRlZCBTV1NVU1BFTkQgc2lnbmF0dXJlIHdpdGggc3dhcCBzaWduYXR1cmUgKi8KK3N0YXRpYyBpbnQgc3dhcF9yZXdyaXRlX3NpZ25hdHVyZShjb25zdCBzdHJ1Y3Qgc3dhcF9kZXZpY2UgKmRldikKK3sKKwlpbnQgZmQsIHJjID0gLTE7CisKKwlhc3NlcnQoZGV2KTsKKwlhc3NlcnQoZGV2LT5wYXRoKTsKKwlhc3NlcnQoZGV2LT5wYWdlc2l6ZSk7CisKKwlmZCA9IG9wZW4oZGV2LT5wYXRoLCBPX1dST05MWSk7CisJaWYgKGZkID09IC0xKSB7CisJCXdhcm4oXygiY2Fubm90IG9wZW4gJXMiKSwgZGV2LT5wYXRoKTsKKwkJcmV0dXJuIC0xOworCX0KKworCWlmIChsc2VlayhmZCwgZGV2LT5wYWdlc2l6ZSAtIFNXQVBfU0lHTkFUVVJFX1NaLCBTRUVLX1NFVCkgPCAwKSB7CisJCXdhcm4oXygiJXM6IGxzZWVrIGZhaWxlZCIpLCBkZXYtPnBhdGgpOworCQlnb3RvIGVycjsKKwl9CisKKwlpZiAod3JpdGUoZmQsICh2b2lkICopIFNXQVBfU0lHTkFUVVJFLAorCQkJU1dBUF9TSUdOQVRVUkVfU1opICE9IFNXQVBfU0lHTkFUVVJFX1NaKSB7CisJCXdhcm4oXygiJXM6IHdyaXRlIHNpZ25hdHVyZSBmYWlsZWQiKSwgZGV2LT5wYXRoKTsKKwkJZ290byBlcnI7CisJfQorCisJcmMgID0gMDsKK2VycjoKKwlpZiAoY2xvc2VfZmQoZmQpICE9IDApIHsKKwkJd2FybihfKCJ3cml0ZSBmYWlsZWQ6ICVzIiksIGRldi0+cGF0aCk7CisJCXJjID0gLTE7CisJfQorCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBzd2FwX2RldGVjdF9zaWduYXR1cmUoY29uc3QgY2hhciAqYnVmLCBpbnQgKnNpZykKK3sKKwlhc3NlcnQoYnVmKTsKKwlhc3NlcnQoc2lnKTsKKworCWlmIChtZW1jbXAoYnVmLCBTV0FQX1NJR05BVFVSRSwgU1dBUF9TSUdOQVRVUkVfU1opID09IDApCisJCSpzaWcgPSBTSUdfU1dBUFNQQUNFOworCisJZWxzZSBpZiAobWVtY21wKGJ1ZiwgIlMxU1VTUEVORCIsIDkpID09IDAgfHwKKwkJIG1lbWNtcChidWYsICJTMlNVU1BFTkQiLCA5KSA9PSAwIHx8CisJCSBtZW1jbXAoYnVmLCAiVUxTVVNQRU5EIiwgOSkgPT0gMCB8fAorCQkgbWVtY21wKGJ1ZiwgIlx4ZWRceGMzXHgwMlx4ZTlceDk4XHg1Nlx4ZTVceDBjIiwgOCkgPT0gMCB8fAorCQkgbWVtY21wKGJ1ZiwgIkxJTkhJQjAwMDEiLCAxMCkgPT0gMCkKKwkJKnNpZyA9IFNJR19TV1NVU1BFTkQ7CisJZWxzZQorCQlyZXR1cm4gMDsKKworCXJldHVybiAxOworfQorCitzdGF0aWMgY2hhciAqc3dhcF9nZXRfaGVhZGVyKGludCBmZCwgaW50ICpzaWcsIHVuc2lnbmVkIGludCAqcGFnZXNpemUpCit7CisJY2hhciAqYnVmOworCXNzaXplX3QgZGF0YXN6OworCXVuc2lnbmVkIGludCBwYWdlOworCisJYXNzZXJ0KHNpZyk7CisJYXNzZXJ0KHBhZ2VzaXplKTsKKworCSpwYWdlc2l6ZSA9IDA7CisJKnNpZyA9IDA7CisKKwlidWYgPSB4bWFsbG9jKE1BWF9QQUdFU0laRSk7CisKKwlkYXRhc3ogPSByZWFkKGZkLCBidWYsIE1BWF9QQUdFU0laRSk7CisJaWYgKGRhdGFzeiA9PSAoc3NpemVfdCkgLTEpCisJCWdvdG8gZXJyOworCisJZm9yIChwYWdlID0gMHgxMDAwOyBwYWdlIDw9IE1BWF9QQUdFU0laRTsgcGFnZSA8PD0gMSkgeworCQkvKiBza2lwIDMyayBwYWdlc2l6ZSBzaW5jZSB0aGlzIGRvZXMgbm90IHNlZW0gdG8KKwkJICogYmUgc3VwcG9ydGVkICovCisJCWlmIChwYWdlID09IDB4ODAwMCkKKwkJCWNvbnRpbnVlOworCQkvKiB0aGUgc21hbGxlc3Qgc3dhcCBhcmVhIGlzIFBBR0VfU0laRSoxMCwgaXQgbWVhbnMKKwkJICogNDBrLCB0aGF0J3MgbGVzcyB0aGFuIE1BWF9QQUdFU0laRSAqLworCQlpZiAoZGF0YXN6IDwgMCB8fCAoc2l6ZV90KSBkYXRhc3ogPCAocGFnZSAtIFNXQVBfU0lHTkFUVVJFX1NaKSkKKwkJCWJyZWFrOworCQlpZiAoc3dhcF9kZXRlY3Rfc2lnbmF0dXJlKGJ1ZiArIHBhZ2UgLSBTV0FQX1NJR05BVFVSRV9TWiwgc2lnKSkgeworCQkJKnBhZ2VzaXplID0gcGFnZTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJaWYgKCpwYWdlc2l6ZSkKKwkJcmV0dXJuIGJ1ZjsKK2VycjoKKwlmcmVlKGJ1Zik7CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qIHJldHVybnMgcmVhbCBzaXplIG9mIHN3YXAgc3BhY2UgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcgc3dhcF9nZXRfc2l6ZShjb25zdCBzdHJ1Y3Qgc3dhcF9kZXZpY2UgKmRldiwKKwkJCQkJY29uc3QgY2hhciAqaGRyKQoreworCXVuc2lnbmVkIGludCBsYXN0X3BhZ2UgPSAwOworCWNvbnN0IHVuc2lnbmVkIGludCBzd2FwX3ZlcnNpb24gPSBTV0FQX1ZFUlNJT047CisJc3RydWN0IHN3YXBfaGVhZGVyX3YxXzIgKnM7CisKKwlhc3NlcnQoZGV2KTsKKwlhc3NlcnQoZGV2LT5wYWdlc2l6ZSA+IDApOworCisJcyA9IChzdHJ1Y3Qgc3dhcF9oZWFkZXJfdjFfMiAqKSBoZHI7CisKKwlpZiAocy0+dmVyc2lvbiA9PSBzd2FwX3ZlcnNpb24pCisJCWxhc3RfcGFnZSA9IHMtPmxhc3RfcGFnZTsKKwllbHNlIGlmIChzd2FiMzIocy0+dmVyc2lvbikgPT0gc3dhcF92ZXJzaW9uKQorCQlsYXN0X3BhZ2UgPSBzd2FiMzIocy0+bGFzdF9wYWdlKTsKKworCXJldHVybiAoKHVuc2lnbmVkIGxvbmcgbG9uZykgbGFzdF9wYWdlICsgMSkgKiBkZXYtPnBhZ2VzaXplOworfQorCitzdGF0aWMgdm9pZCBzd2FwX2dldF9pbmZvKHN0cnVjdCBzd2FwX2RldmljZSAqZGV2LCBjb25zdCBjaGFyICpoZHIpCit7CisJc3RydWN0IHN3YXBfaGVhZGVyX3YxXzIgKnMgPSAoc3RydWN0IHN3YXBfaGVhZGVyX3YxXzIgKikgaGRyOworCisJYXNzZXJ0KGRldik7CisKKwlpZiAocyAmJiAqcy0+dm9sdW1lX25hbWUpCisJCWRldi0+bGFiZWwgPSB4c3RyZHVwKHMtPnZvbHVtZV9uYW1lKTsKKworCWlmIChzICYmICpzLT51dWlkKSB7CisJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnUgPSBzLT51dWlkOworCQljaGFyIHN0clszN107CisKKwkJc25wcmludGYoc3RyLCBzaXplb2Yoc3RyKSwKKwkJCSIlMDJ4JTAyeCUwMnglMDJ4LSIKKwkJCSIlMDJ4JTAyeC0lMDJ4JTAyeC0iCisJCQkiJTAyeCUwMngtJTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4IiwKKwkJCXVbMF0sIHVbMV0sIHVbMl0sIHVbM10sCisJCQl1WzRdLCB1WzVdLCB1WzZdLCB1WzddLAorCQkJdVs4XSwgdVs5XSwgdVsxMF0sIHVbMTFdLCB1WzEyXSwgdVsxM10sIHVbMTRdLCB1WzE1XSk7CisJCWRldi0+dXVpZCA9IHhzdHJkdXAoc3RyKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgc3dhcG9uX2NoZWNrcyhjb25zdCBzdHJ1Y3Qgc3dhcG9uX2N0bCAqY3RsLCBzdHJ1Y3Qgc3dhcF9kZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwlpbnQgZmQgPSAtMSwgc2lnOworCWNoYXIgKmhkciA9IE5VTEw7CisJdW5zaWduZWQgbG9uZyBsb25nIGRldnNpemUgPSAwOworCWludCBwZXJtTWFzazsKKworCWFzc2VydChjdGwpOworCWFzc2VydChkZXYpOworCWFzc2VydChkZXYtPnBhdGgpOworCisJZmQgPSBvcGVuKGRldi0+cGF0aCwgT19SRE9OTFkpOworCWlmIChmZCA9PSAtMSkgeworCQl3YXJuKF8oImNhbm5vdCBvcGVuICVzIiksIGRldi0+cGF0aCk7CisJCWdvdG8gZXJyOworCX0KKworCWlmIChmc3RhdChmZCwgJnN0KSA8IDApIHsKKwkJd2FybihfKCJzdGF0IG9mICVzIGZhaWxlZCIpLCBkZXYtPnBhdGgpOworCQlnb3RvIGVycjsKKwl9CisKKwlwZXJtTWFzayA9IFNfSVNCTEsoc3Quc3RfbW9kZSkgPyAwNzAwNyA6IDA3MDc3OworCWlmICgoc3Quc3RfbW9kZSAmIHBlcm1NYXNrKSAhPSAwKQorCQl3YXJueChfKCIlczogaW5zZWN1cmUgcGVybWlzc2lvbnMgJTA0bywgJTA0byBzdWdnZXN0ZWQuIiksCisJCQkJZGV2LT5wYXRoLCBzdC5zdF9tb2RlICYgMDc3NzcsCisJCQkJfnBlcm1NYXNrICYgMDY2Nik7CisKKwlpZiAoU19JU1JFRyhzdC5zdF9tb2RlKSAmJiBzdC5zdF91aWQgIT0gMCkKKwkJd2FybngoXygiJXM6IGluc2VjdXJlIGZpbGUgb3duZXIgJWQsIDAgKHJvb3QpIHN1Z2dlc3RlZC4iKSwKKwkJCQlkZXYtPnBhdGgsIHN0LnN0X3VpZCk7CisKKwkvKiB0ZXN0IGZvciBob2xlcyBieSBMQlQgKi8KKwlpZiAoU19JU1JFRyhzdC5zdF9tb2RlKSkgeworCQlpZiAoc3Quc3RfYmxvY2tzICogNTEyIDwgc3Quc3Rfc2l6ZSkgeworCQkJd2FybngoXygiJXM6IHNraXBwaW5nIC0gaXQgYXBwZWFycyB0byBoYXZlIGhvbGVzLiIpLAorCQkJCWRldi0+cGF0aCk7CisJCQlnb3RvIGVycjsKKwkJfQorCQlkZXZzaXplID0gc3Quc3Rfc2l6ZTsKKwl9CisKKwlpZiAoU19JU0JMSyhzdC5zdF9tb2RlKSAmJiBibGtkZXZfZ2V0X3NpemUoZmQsICZkZXZzaXplKSkgeworCQl3YXJueChfKCIlczogZ2V0IHNpemUgZmFpbGVkIiksIGRldi0+cGF0aCk7CisJCWdvdG8gZXJyOworCX0KKworCWhkciA9IHN3YXBfZ2V0X2hlYWRlcihmZCwgJnNpZywgJmRldi0+cGFnZXNpemUpOworCWlmICghaGRyKSB7CisJCXdhcm54KF8oIiVzOiByZWFkIHN3YXAgaGVhZGVyIGZhaWxlZCIpLCBkZXYtPnBhdGgpOworCQlnb3RvIGVycjsKKwl9CisKKwlpZiAoY3RsLT52ZXJib3NlKQorCQl3YXJueChfKCIlczogZm91bmQgc2lnbmF0dXJlIFtwYWdlc2l6ZT0lZCwgc2lnbmF0dXJlPSVzXSIpLAorCQkJZGV2LT5wYXRoLAorCQkJZGV2LT5wYWdlc2l6ZSwKKwkJCXNpZyA9PSBTSUdfU1dBUFNQQUNFID8gInN3YXAiIDoKKwkJCXNpZyA9PSBTSUdfU1dTVVNQRU5EID8gInN1c3BlbmQiIDogInVua25vd24iKTsKKworCWlmIChzaWcgPT0gU0lHX1NXQVBTUEFDRSAmJiBkZXYtPnBhZ2VzaXplKSB7CisJCXVuc2lnbmVkIGxvbmcgbG9uZyBzd2Fwc2l6ZSA9IHN3YXBfZ2V0X3NpemUoZGV2LCBoZHIpOworCQlpbnQgc3lzcGcgPSBnZXRwYWdlc2l6ZSgpOworCisJCWlmIChjdGwtPnZlcmJvc2UpCisJCQl3YXJueChfKCIlczogcGFnZXNpemU9JWQsIHN3YXBzaXplPSVsbHUsIGRldnNpemU9JWxsdSIpLAorCQkJCWRldi0+cGF0aCwgZGV2LT5wYWdlc2l6ZSwgc3dhcHNpemUsIGRldnNpemUpOworCisJCWlmIChzd2Fwc2l6ZSA+IGRldnNpemUpIHsKKwkJCWlmIChjdGwtPnZlcmJvc2UpCisJCQkJd2FybngoXygiJXM6IGxhc3RfcGFnZSAweCUwOGxseCBpcyBsYXJnZXIiCisJCQkJCSIgdGhhbiBhY3R1YWwgc2l6ZSBvZiBzd2Fwc3BhY2UiKSwKKwkJCQkJZGV2LT5wYXRoLCBzd2Fwc2l6ZSk7CisKKwkJfSBlbHNlIGlmIChzeXNwZyA8IDAgfHwgKHVuc2lnbmVkIGludCkgc3lzcGcgIT0gZGV2LT5wYWdlc2l6ZSkgeworCQkJaWYgKGN0bC0+Zml4X3BhZ2Vfc2l6ZSkgeworCQkJCWludCByYzsKKworCQkJCXN3YXBfZ2V0X2luZm8oZGV2LCBoZHIpOworCisJCQkJd2FybngoXygiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiIpLAorCQkJCQlkZXYtPnBhdGgpOworCQkJCXJjID0gc3dhcF9yZWluaXRpYWxpemUoZGV2KTsKKwkJCQlpZiAocmMgPCAwKQorCQkJCQlnb3RvIGVycjsKKwkJCX0gZWxzZQorCQkJCXdhcm54KF8oIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4gIgorCQkJCQkiKFVzZSAtLWZpeHBnc3ogdG8gcmVpbml0aWFsaXplIGl0LikiKSwKKwkJCQkJZGV2LT5wYXRoKTsKKwkJfQorCX0gZWxzZSBpZiAoc2lnID09IFNJR19TV1NVU1BFTkQpIHsKKwkJLyogV2UgaGF2ZSB0byByZWluaXRpYWxpemUgc3dhcCB3aXRoIG9sZCAoPXVzZWxlc3MpIHNvZnR3YXJlIHN1c3BlbmQKKwkJICogZGF0YS4gVGhlIHByb2JsZW0gaXMgdGhhdCBpZiB3ZSBkb24ndCBkbyBpdCwgdGhlbiB3ZSBnZXQgZGF0YQorCQkgKiBjb3JydXB0aW9uIHRoZSBuZXh0IHRpbWUgYW4gYXR0ZW1wdCBhdCB1bnN1c3BlbmRpbmcgaXMgbWFkZS4KKwkJICovCisJCXdhcm54KF8oIiVzOiBzb2Z0d2FyZSBzdXNwZW5kIGRhdGEgZGV0ZWN0ZWQuICIKKwkJCQkiUmV3cml0aW5nIHRoZSBzd2FwIHNpZ25hdHVyZS4iKSwKKwkJCWRldi0+cGF0aCk7CisJCWlmIChzd2FwX3Jld3JpdGVfc2lnbmF0dXJlKGRldikgPCAwKQorCQkJZ290byBlcnI7CisJfQorCisJZnJlZShoZHIpOworCWNsb3NlKGZkKTsKKwlyZXR1cm4gMDsKK2VycjoKKwlpZiAoZmQgIT0gLTEpCisJCWNsb3NlKGZkKTsKKwlmcmVlKGhkcik7CisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgaW50IGRvX3N3YXBvbihjb25zdCBzdHJ1Y3Qgc3dhcG9uX2N0bCAqY3RsLAorCQkgICAgIGNvbnN0IHN0cnVjdCBzd2FwX3Byb3AgKnByb3AsCisJCSAgICAgY29uc3QgY2hhciAqc3BlYywKKwkJICAgICBpbnQgY2Fub25pYykKK3sKKwlzdHJ1Y3Qgc3dhcF9kZXZpY2UgZGV2ID0geyAucGF0aCA9IE5VTEwgfTsKKwlpbnQgc3RhdHVzOworCWludCBmbGFncyA9IDA7CisJaW50IHByaW9yaXR5OworCisJYXNzZXJ0KGN0bCk7CisJYXNzZXJ0KHByb3ApOworCisJaWYgKCFjYW5vbmljKSB7CisJCWRldi5wYXRoID0gbW50X3Jlc29sdmVfc3BlYyhzcGVjLCBtbnRjYWNoZSk7CisJCWlmICghZGV2LnBhdGgpCisJCQlyZXR1cm4gY2Fubm90X2ZpbmQoc3BlYyk7CisJfSBlbHNlCisJCWRldi5wYXRoID0gc3BlYzsKKworCXByaW9yaXR5ID0gcHJvcC0+cHJpb3JpdHk7CisKKwlpZiAoc3dhcG9uX2NoZWNrcyhjdGwsICZkZXYpKQorCQlyZXR1cm4gLTE7CisKKyNpZmRlZiBTV0FQX0ZMQUdfUFJFRkVSCisJaWYgKHByaW9yaXR5ID49IDApIHsKKwkJaWYgKHByaW9yaXR5ID4gU1dBUF9GTEFHX1BSSU9fTUFTSykKKwkJCXByaW9yaXR5ID0gU1dBUF9GTEFHX1BSSU9fTUFTSzsKKworCQlmbGFncyA9IFNXQVBfRkxBR19QUkVGRVIKKwkJCXwgKChwcmlvcml0eSAmIFNXQVBfRkxBR19QUklPX01BU0spCisJCQkgICA8PCBTV0FQX0ZMQUdfUFJJT19TSElGVCk7CisJfQorI2VuZGlmCisJLyoKKwkgKiBWYWxpZGF0ZSB0aGUgZGlzY2FyZCBmbGFncyBwYXNzZWQgYW5kIHNldCB0aGVtCisJICogYWNjb3JkaW5nbHkgYmVmb3JlIGNhbGxpbmcgc3lzX3N3YXBvbi4KKwkgKi8KKwlpZiAocHJvcC0+ZGlzY2FyZCAmJiAhKHByb3AtPmRpc2NhcmQgJiB+U1dBUF9GTEFHU19ESVNDQVJEX1ZBTElEKSkgeworCQkvKgorCQkgKiBJZiB3ZSBnZXQgaGVyZSB3aXRoIGJvdGggZGlzY2FyZCBwb2xpY3kgZmxhZ3Mgc2V0LAorCQkgKiB3ZSBqdXN0IG5lZWQgdG8gdGVsbCB0aGUga2VybmVsIHRvIGVuYWJsZSBkaXNjYXJkcworCQkgKiBhbmQgaXQgd2lsbCBkbyBjb3JyZWN0bHksIGp1c3QgYXMgd2UgZXhwZWN0LgorCQkgKi8KKwkJaWYgKChwcm9wLT5kaXNjYXJkICYgU1dBUF9GTEFHX0RJU0NBUkRfT05DRSkgJiYKKwkJICAgIChwcm9wLT5kaXNjYXJkICYgU1dBUF9GTEFHX0RJU0NBUkRfUEFHRVMpKQorCQkJZmxhZ3MgfD0gU1dBUF9GTEFHX0RJU0NBUkQ7CisJCWVsc2UKKwkJCWZsYWdzIHw9IHByb3AtPmRpc2NhcmQ7CisJfQorCisJaWYgKGN0bC0+dmVyYm9zZSkKKwkJcHJpbnRmKF8oInN3YXBvbiAlc1xuIiksIGRldi5wYXRoKTsKKworCXN0YXR1cyA9IHN3YXBvbihkZXYucGF0aCwgZmxhZ3MpOworCWlmIChzdGF0dXMgPCAwKQorCQl3YXJuKF8oIiVzOiBzd2Fwb24gZmFpbGVkIiksIGRldi5wYXRoKTsKKworCXJldHVybiBzdGF0dXM7Cit9CisKK3N0YXRpYyBpbnQgc3dhcG9uX2J5X2xhYmVsKHN0cnVjdCBzd2Fwb25fY3RsICpjdGwsIGNvbnN0IGNoYXIgKmxhYmVsKQoreworCWNoYXIgKmRldmljZSA9IG1udF9yZXNvbHZlX3RhZygiTEFCRUwiLCBsYWJlbCwgbW50Y2FjaGUpOworCXJldHVybiBkZXZpY2UgPyBkb19zd2Fwb24oY3RsLCAmY3RsLT5wcm9wcywgZGV2aWNlLCBUUlVFKSA6ICBjYW5ub3RfZmluZChsYWJlbCk7Cit9CisKK3N0YXRpYyBpbnQgc3dhcG9uX2J5X3V1aWQoc3RydWN0IHN3YXBvbl9jdGwgKmN0bCwgY29uc3QgY2hhciAqdXVpZCkKK3sKKwljaGFyICpkZXZpY2UgPSBtbnRfcmVzb2x2ZV90YWcoIlVVSUQiLCB1dWlkLCBtbnRjYWNoZSk7CisJcmV0dXJuIGRldmljZSA/IGRvX3N3YXBvbihjdGwsICZjdGwtPnByb3BzLCBkZXZpY2UsIFRSVUUpIDogY2Fubm90X2ZpbmQodXVpZCk7Cit9CisKKy8qIC1vIDxvcHRpb25zPiBvciBmc3RhYiAqLworc3RhdGljIGludCBwYXJzZV9vcHRpb25zKHN0cnVjdCBzd2FwX3Byb3AgKnByb3BzLCBjb25zdCBjaGFyICpvcHRpb25zKQoreworCWNoYXIgKmFyZyA9IE5VTEw7CisJc2l6ZV90IGFyZ3N6ID0gMDsKKworCWFzc2VydChwcm9wcyk7CisJYXNzZXJ0KG9wdGlvbnMpOworCisJaWYgKG1udF9vcHRzdHJfZ2V0X29wdGlvbihvcHRpb25zLCAibm9mYWlsIiwgTlVMTCwgMCkgPT0gMCkKKwkJcHJvcHMtPm5vX2ZhaWwgPSAxOworCisJaWYgKG1udF9vcHRzdHJfZ2V0X29wdGlvbihvcHRpb25zLCAiZGlzY2FyZCIsICZhcmcsICZhcmdzeikgPT0gMCkgeworCQlwcm9wcy0+ZGlzY2FyZCB8PSBTV0FQX0ZMQUdfRElTQ0FSRDsKKworCQlpZiAoYXJnKSB7CisJCQkvKiBvbmx5IHNpbmdsZS10aW1lIGRpc2NhcmRzIGFyZSB3YW50ZWQgKi8KKwkJCWlmIChzdHJuY21wKGFyZywgIm9uY2UiLCBhcmdzeikgPT0gMCkKKwkJCQlwcm9wcy0+ZGlzY2FyZCB8PSBTV0FQX0ZMQUdfRElTQ0FSRF9PTkNFOworCisJCQkvKiBkbyBkaXNjYXJkIGZvciBldmVyeSByZWxlYXNlZCBzd2FwIHBhZ2UgKi8KKwkJCWlmIChzdHJuY21wKGFyZywgInBhZ2VzIiwgYXJnc3opID09IDApCisJCQkJcHJvcHMtPmRpc2NhcmQgfD0gU1dBUF9GTEFHX0RJU0NBUkRfUEFHRVM7CisJCX0KKwl9CisKKwlhcmcgPSBOVUxMOworCWlmIChtbnRfb3B0c3RyX2dldF9vcHRpb24ob3B0aW9ucywgInByaSIsICZhcmcsIE5VTEwpID09IDAgJiYgYXJnKQorCQlwcm9wcy0+cHJpb3JpdHkgPSBhdG9pKGFyZyk7CisKKwlyZXR1cm4gMDsKK30KKworCitzdGF0aWMgaW50IHN3YXBvbl9hbGwoc3RydWN0IHN3YXBvbl9jdGwgKmN0bCkKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiA9IGdldF9mc3RhYigpOworCXN0cnVjdCBsaWJtbnRfaXRlciAqaXRyOworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCWludCBzdGF0dXMgPSAwOworCisJaWYgKCF0YikKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIHBhcnNlICVzIiksIG1udF9nZXRfZnN0YWJfcGF0aCgpKTsKKworCWl0ciA9IG1udF9uZXdfaXRlcihNTlRfSVRFUl9GT1JXQVJEKTsKKwlpZiAoIWl0cikKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgaXRlcmF0b3IiKSk7CisKKwl3aGlsZSAobW50X3RhYmxlX2ZpbmRfbmV4dF9mcyh0YiwgaXRyLCBtYXRjaF9zd2FwLCBOVUxMLCAmZnMpID09IDApIHsKKwkJLyogZGVmYXVsdHMgKi8KKwkJY29uc3QgY2hhciAqb3B0czsKKwkJY29uc3QgY2hhciAqZGV2aWNlOworCQlzdHJ1Y3Qgc3dhcF9wcm9wIHByb3A7CQkvKiBwZXIgZGV2aWNlIHNldHRpbmcgKi8KKworCQlpZiAobW50X2ZzX2dldF9vcHRpb24oZnMsICJub2F1dG8iLCBOVUxMLCBOVUxMKSA9PSAwKSB7CisJCQlpZiAoY3RsLT52ZXJib3NlKQorCQkJCXdhcm54KF8oIiVzOiBub2F1dG8gb3B0aW9uIC0tIGlnbm9yZWQiKSwgbW50X2ZzX2dldF9zb3VyY2UoZnMpKTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJLyogZGVmYXVsdCBzZXR0aW5nICovCisJCXByb3AgPSBjdGwtPnByb3BzOworCisJCS8qIG92ZXJ3cml0ZSBkZWZhdWx0IGJ5IHNldHRpbmcgZnJvbSBmc3RhYiAqLworCQlvcHRzID0gbW50X2ZzX2dldF9vcHRpb25zKGZzKTsKKwkJaWYgKG9wdHMpCisJCQlwYXJzZV9vcHRpb25zKCZwcm9wLCBvcHRzKTsKKworCQkvKiBjb252ZXJ0IExBQkVMPSwgVVVJRD0gZXRjLiBmcm9tIGZzdGFiIHRvIGRldmljZSBuYW1lICovCisJCWRldmljZSA9IG1udF9yZXNvbHZlX3NwZWMobW50X2ZzX2dldF9zb3VyY2UoZnMpLCBtbnRjYWNoZSk7CisJCWlmICghZGV2aWNlKSB7CisJCQlpZiAoIXByb3Aubm9fZmFpbCkKKwkJCQlzdGF0dXMgfD0gY2Fubm90X2ZpbmQobW50X2ZzX2dldF9zb3VyY2UoZnMpKTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJaWYgKGlzX2FjdGl2ZV9zd2FwKGRldmljZSkpIHsKKwkJCWlmIChjdGwtPnZlcmJvc2UpCisJCQkJd2FybngoXygiJXM6IGFscmVhZHkgYWN0aXZlIC0tIGlnbm9yZWQiKSwgZGV2aWNlKTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJaWYgKHByb3Aubm9fZmFpbCAmJiBhY2Nlc3MoZGV2aWNlLCBSX09LKSAhPSAwKSB7CisJCQlpZiAoY3RsLT52ZXJib3NlKQorCQkJCXdhcm54KF8oIiVzOiBpbmFjY2Vzc2libGUgLS0gaWdub3JlZCIpLCBkZXZpY2UpOworCQkJY29udGludWU7CisJCX0KKworCQkvKiBzd2Fwb24gKi8KKwkJc3RhdHVzIHw9IGRvX3N3YXBvbihjdGwsICZwcm9wLCBkZXZpY2UsIFRSVUUpOworCX0KKworCW1udF9mcmVlX2l0ZXIoaXRyKTsKKwlyZXR1cm4gc3RhdHVzOworfQorCisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKSB1c2FnZShGSUxFICogb3V0KQoreworCXNpemVfdCBpOworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygiICVzIFtvcHRpb25zXSBbPHNwZWM+XVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJFbmFibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICBlbmFibGUgYWxsIHN3YXBzIGZyb20gL2V0Yy9mc3RhYlxuIiksIG91dCk7CisJZnB1dHMoXygiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBzaWxlbnRseSBza2lwIGRldmljZXMgdGhhdCBkbyBub3QgZXhpc3RcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBzd2FwIG9wdGlvbnNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgc3BlY2lmeSB0aGUgcHJpb3JpdHkgb2YgdGhlIHN3YXAgZGV2aWNlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIGRpc3BsYXkgc3VtbWFyeSBhYm91dCB1c2VkIHN3YXAgZGV2aWNlcyAoREVQUkVDQVRFRClcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1zaG93Wz08Y29sdW1ucz5dICAgZGlzcGxheSBzdW1tYXJ5IGluIGRlZmluYWJsZSB0YWJsZVxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCB0YWJsZSBoZWFkaW5nICh3aXRoIC0tc2hvdylcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCAod2l0aCAtLXNob3cpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIGRpc3BsYXkgc3dhcCBzaXplIGluIGJ5dGVzIGluIC0tc2hvdyBvdXRwdXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dCk7CisKKwlmcHV0cyhfKCJcblRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIiBcCisJCSIgLUwgPGxhYmVsPiAgICAgICAgICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisJCSIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorCQkiIExBQkVMPTxsYWJlbD4gICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgbGFiZWxcbiIKKwkJIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIFVVSURcbiIKKwkJIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisJCSIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCisJCSIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisJCSIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIiksIG91dCk7CisKKwlmcHV0cyhfKCJcbkF2YWlsYWJsZSBkaXNjYXJkIHBvbGljeSB0eXBlcyAoZm9yIC0tZGlzY2FyZCk6XG4iCisJCSIgb25jZSAgICA6IG9ubHkgc2luZ2xlLXRpbWUgYXJlYSBkaXNjYXJkcyBhcmUgaXNzdWVkXG4iCisJCSIgcGFnZXMgICA6IGZyZWVkIHBhZ2VzIGFyZSBkaXNjYXJkZWQgYmVmb3JlIHRoZXkgYXJlIHJldXNlZFxuIgorCQkiSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCBib3RoIGRpc2NhcmQgdHlwZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQpLlxuIiksIG91dCk7CisKKwlmcHV0cyhfKCJcbkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93KTpcbiIpLCBvdXQpOworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGluZm9zKTsgaSsrKQorCQlmcHJpbnRmKG91dCwgIiAlLTVzICAlc1xuIiwgaW5mb3NbaV0ubmFtZSwgXyhpbmZvc1tpXS5oZWxwKSk7CisKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoInN3YXBvbig4KSIpKTsKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWludCBzdGF0dXMgPSAwLCBjOworCXNpemVfdCBpOworCWNoYXIgKm9wdGlvbnMgPSBOVUxMOworCisJZW51bSB7CisJCUJZVEVTX09QVElPTiA9IENIQVJfTUFYICsgMSwKKwkJTk9IRUFESU5HU19PUFRJT04sCisJCVJBV19PUFRJT04sCisJCVNIT1dfT1BUSU9OCisJfTsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdfb3B0c1tdID0geworCQl7ICJwcmlvcml0eSIsIDEsIDAsICdwJyB9LAorCQl7ICJkaXNjYXJkIiwgIDIsIDAsICdkJyB9LAorCQl7ICJpZmV4aXN0cyIsIDAsIDAsICdlJyB9LAorCQl7ICJvcHRpb25zIiwgIDIsIDAsICdvJyB9LAorCQl7ICJzdW1tYXJ5IiwgIDAsIDAsICdzJyB9LAorCQl7ICJmaXhwZ3N6IiwgIDAsIDAsICdmJyB9LAorCQl7ICJhbGwiLCAgICAgIDAsIDAsICdhJyB9LAorCQl7ICJoZWxwIiwgICAgIDAsIDAsICdoJyB9LAorCQl7ICJ2ZXJib3NlIiwgIDAsIDAsICd2JyB9LAorCQl7ICJ2ZXJzaW9uIiwgIDAsIDAsICdWJyB9LAorCQl7ICJzaG93IiwgICAgIDIsIDAsIFNIT1dfT1BUSU9OIH0sCisJCXsgIm5vaGVhZGluZ3MiLCAwLCAwLCBOT0hFQURJTkdTX09QVElPTiB9LAorCQl7ICJyYXciLCAgICAgIDAsIDAsIFJBV19PUFRJT04gfSwKKwkJeyAiYnl0ZXMiLCAgICAwLCAwLCBCWVRFU19PUFRJT04gfSwKKwkJeyBOVUxMLCAwLCAwLCAwIH0KKwl9OworCisJc3RhdGljIGNvbnN0IHVsX2V4Y2xfdCBleGNsW10gPSB7ICAgICAgIC8qIHJvd3MgYW5kIGNvbHMgaW4gaW4gQVNDSUkgb3JkZXIgKi8KKwkJeyAnYScsJ28nLCdzJywgU0hPV19PUFRJT04gfSwKKwkJeyAnYScsJ28nLCBCWVRFU19PUFRJT04gfSwKKwkJeyAnYScsJ28nLCBOT0hFQURJTkdTX09QVElPTiB9LAorCQl7ICdhJywnbycsIFJBV19PUFRJT04gfSwKKwkJeyAwIH0KKwl9OworCWludCBleGNsX3N0W0FSUkFZX1NJWkUoZXhjbCldID0gVUxfRVhDTF9TVEFUVVNfSU5JVDsKKworCXN0cnVjdCBzd2Fwb25fY3RsIGN0bDsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwltZW1zZXQoJmN0bCwgMCwgc2l6ZW9mKHN0cnVjdCBzd2Fwb25fY3RsKSk7CisJY3RsLnByb3BzLnByaW9yaXR5ID0gLTE7CisKKwltbnRfaW5pdF9kZWJ1ZygwKTsKKwltbnRjYWNoZSA9IG1udF9uZXdfY2FjaGUoKTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJhaGQ6OmVmbzpwOnN2Vkw6VToiLAorCQkJCWxvbmdfb3B0cywgTlVMTCkpICE9IC0xKSB7CisKKwkJZXJyX2V4Y2x1c2l2ZV9vcHRpb25zKGMsIGxvbmdfb3B0cywgZXhjbCwgZXhjbF9zdCk7CisKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ2EnOgkJLyogYWxsICovCisJCQljdGwuYWxsID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdoJzoJCS8qIGhlbHAgKi8KKwkJCXVzYWdlKHN0ZG91dCk7CisJCQlicmVhazsKKwkJY2FzZSAnbyc6CisJCQlvcHRpb25zID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ3AnOgkJLyogcHJpb3JpdHkgKi8KKwkJCWN0bC5wcm9wcy5wcmlvcml0eSA9IHN0cnRvczE2X29yX2VycihvcHRhcmcsCisJCQkJCSAgIF8oImZhaWxlZCB0byBwYXJzZSBwcmlvcml0eSIpKTsKKwkJCWJyZWFrOworCQljYXNlICdMJzoKKwkJCWFkZF9sYWJlbChvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgJ1UnOgorCQkJYWRkX3V1aWQob3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICdkJzoKKwkJCWN0bC5wcm9wcy5kaXNjYXJkIHw9IFNXQVBfRkxBR19ESVNDQVJEOworCQkJaWYgKG9wdGFyZykgeworCQkJCWlmICgqb3B0YXJnID09ICc9JykKKwkJCQkJb3B0YXJnKys7CisKKwkJCQlpZiAoc3RyY21wKG9wdGFyZywgIm9uY2UiKSA9PSAwKQorCQkJCQljdGwucHJvcHMuZGlzY2FyZCB8PSBTV0FQX0ZMQUdfRElTQ0FSRF9PTkNFOworCQkJCWVsc2UgaWYgKHN0cmNtcChvcHRhcmcsICJwYWdlcyIpID09IDApCisJCQkJCWN0bC5wcm9wcy5kaXNjYXJkIHw9IFNXQVBfRkxBR19ESVNDQVJEX1BBR0VTOworCQkJCWVsc2UKKwkJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuc3VwcG9ydGVkIGRpc2NhcmQgcG9saWN5OiAlcyIpLCBvcHRhcmcpOworCQkJfQorCQkJYnJlYWs7CisJCWNhc2UgJ2UnOiAgICAgICAgICAgICAgIC8qIGlmZXhpc3RzICovCisJCQljdGwucHJvcHMubm9fZmFpbCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnZic6CisJCQljdGwuZml4X3BhZ2Vfc2l6ZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CQkvKiBzdGF0dXMgcmVwb3J0ICovCisJCQlzdGF0dXMgPSBkaXNwbGF5X3N1bW1hcnkoKTsKKwkJCXJldHVybiBzdGF0dXM7CisJCWNhc2UgJ3YnOgkJLyogYmUgY2hhdHR5ICovCisJCQljdGwudmVyYm9zZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBTSE9XX09QVElPTjoKKwkJCWlmIChvcHRhcmcpIHsKKwkJCQljdGwubmNvbHVtbnMgPSBzdHJpbmdfdG9faWRhcnJheShvcHRhcmcsCisJCQkJCQkJICAgICBjdGwuY29sdW1ucywKKwkJCQkJCQkgICAgIEFSUkFZX1NJWkUoY3RsLmNvbHVtbnMpLAorCQkJCQkJCSAgICAgY29sdW1uX25hbWVfdG9faWQpOworCQkJCWlmIChjdGwubmNvbHVtbnMgPCAwKQorCQkJCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCQkJfQorCQkJY3RsLnNob3cgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgTk9IRUFESU5HU19PUFRJT046CisJCQljdGwubm9faGVhZGluZyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBSQVdfT1BUSU9OOgorCQkJY3RsLnJhdyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBCWVRFU19PUFRJT046CisJCQljdGwuYnl0ZXMgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgkJLyogdmVyc2lvbiAqLworCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlIDA6CisJCQlicmVhazsKKwkJY2FzZSAnPyc6CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQl9CisJfQorCWFyZ3YgKz0gb3B0aW5kOworCisJaWYgKGN0bC5zaG93IHx8ICghY3RsLmFsbCAmJiAhbnVtb2ZfbGFiZWxzKCkgJiYgIW51bW9mX3V1aWRzKCkgJiYgKmFyZ3YgPT0gTlVMTCkpIHsKKwkJaWYgKCFjdGwubmNvbHVtbnMpIHsKKwkJCS8qIGRlZmF1bHQgY29sdW1ucyAqLworCQkJY3RsLmNvbHVtbnNbY3RsLm5jb2x1bW5zKytdID0gQ09MX1BBVEg7CisJCQljdGwuY29sdW1uc1tjdGwubmNvbHVtbnMrK10gPSBDT0xfVFlQRTsKKwkJCWN0bC5jb2x1bW5zW2N0bC5uY29sdW1ucysrXSA9IENPTF9TSVpFOworCQkJY3RsLmNvbHVtbnNbY3RsLm5jb2x1bW5zKytdID0gQ09MX1VTRUQ7CisJCQljdGwuY29sdW1uc1tjdGwubmNvbHVtbnMrK10gPSBDT0xfUFJJTzsKKwkJfQorCQlzdGF0dXMgPSBzaG93X3RhYmxlKCZjdGwpOworCQlyZXR1cm4gc3RhdHVzOworCX0KKworCWlmIChjdGwucHJvcHMubm9fZmFpbCAmJiAhY3RsLmFsbCkKKwkJdXNhZ2Uoc3RkZXJyKTsKKworCWlmIChjdGwuYWxsKQorCQlzdGF0dXMgfD0gc3dhcG9uX2FsbCgmY3RsKTsKKworCWlmIChvcHRpb25zKQorCQlwYXJzZV9vcHRpb25zKCZjdGwucHJvcHMsIG9wdGlvbnMpOworCisJZm9yIChpID0gMDsgaSA8IG51bW9mX2xhYmVscygpOyBpKyspCisJCXN0YXR1cyB8PSBzd2Fwb25fYnlfbGFiZWwoJmN0bCwgZ2V0X2xhYmVsKGkpKTsKKworCWZvciAoaSA9IDA7IGkgPCBudW1vZl91dWlkcygpOyBpKyspCisJCXN0YXR1cyB8PSBzd2Fwb25fYnlfdXVpZCgmY3RsLCBnZXRfdXVpZChpKSk7CisKKwl3aGlsZSAoKmFyZ3YgIT0gTlVMTCkKKwkJc3RhdHVzIHw9IGRvX3N3YXBvbigmY3RsLCAmY3RsLnByb3BzLCAqYXJndisrLCBGQUxTRSk7CisKKwlmcmVlX3RhYmxlcygpOworCW1udF91bnJlZl9jYWNoZShtbnRjYWNoZSk7CisKKwlyZXR1cm4gc3RhdHVzOworfQpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL3N3aXRjaF9yb290LjggYi9zeXMtdXRpbHMvc3dpdGNoX3Jvb3QuOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNmFkNDRkCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL3N3aXRjaF9yb290LjgKQEAgLTAsMCArMSw2MSBAQAorLlwiIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorLlRIIFNXSVRDSF9ST09UIDggIkp1bmUgMjAwOSIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQorc3dpdGNoX3Jvb3QgXC0gc3dpdGNoIHRvIGFub3RoZXIgZmlsZXN5c3RlbSBhcyB0aGUgcm9vdCBvZiB0aGUgbW91bnQgdHJlZQorLlNIIFNZTk9QU0lTCisuQiBzd2l0Y2hfcm9vdAorLlJCIFsgXC1oViBdCisuTFAKKy5CIHN3aXRjaF9yb290CisuSSBuZXdyb290CisuSSBpbml0CisuUkkgWyBhcmcgLi4uXQorLlNIIERFU0NSSVBUSU9OCisuQiBzd2l0Y2hfcm9vdAorbW92ZXMgYWxyZWFkeSBtb3VudGVkIC9wcm9jLCAvZGV2LCAvc3lzIGFuZCAvcnVuIHRvCisuSSBuZXdyb290CithbmQgbWFrZXMKKy5JIG5ld3Jvb3QKK3RoZSBuZXcgcm9vdCBmaWxlc3lzdGVtIGFuZCBzdGFydHMKKy5JIGluaXQKK3Byb2Nlc3MuCisKKy5CIFdBUk5JTkc6IHN3aXRjaF9yb290IHJlbW92ZXMgcmVjdXJzaXZlbHkgYWxsIGZpbGVzIGFuZCBkaXJlY3RvcmllcyBvbiB0aGUgY3VycmVudCByb290IGZpbGVzeXN0ZW0uCisKKy5TSCBPUFRJT05TCisuSVAgIlxmQlwtaCwgXC1cLWhlbHBcZlAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5JUCAiXGZCXC1WLCBcLVwtdmVyc2lvblxmUCIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKworLlNIIFJFVFVSTiBWQUxVRQorLkIgc3dpdGNoX3Jvb3QKK3JldHVybnMgMCBvbiBzdWNjZXNzIGFuZCAxIG9uIGZhaWx1cmUuCisKKy5TSCBOT1RFUworc3dpdGNoX3Jvb3Qgd2lsbCBmYWlsIHRvIGZ1bmN0aW9uIGlmCisuQiBuZXdyb290CitpcyBub3QgdGhlIHJvb3Qgb2YgYSBtb3VudC4gSWYgeW91IHdhbnQgdG8gc3dpdGNoIHJvb3QgaW50byBhIGRpcmVjdG9yeSB0aGF0Citkb2VzIG5vdCBtZWV0IHRoaXMgcmVxdWlyZW1lbnQgdGhlbiB5b3UgY2FuIGZpcnN0IHVzZSBhIGJpbmQtbW91bnRpbmcgdHJpY2sgdG8KK3R1cm4gYW55IGRpcmVjdG9yeSBpbnRvIGEgbW91bnQgcG9pbnQ6Cisuc3AKKy5uZgorLlJTCittb3VudCAtLWJpbmQgJERJUiAkRElSCisuUkUKKy5maQorCisuU0ggIlNFRSBBTFNPIgorLkJSIGNocm9vdCAoMiksCisuQlIgaW5pdCAoOCksCisuQlIgbWtpbml0cmQgKDgpLAorLkJSIG1vdW50ICg4KQorLlNIIEFVVEhPUlMKKy5uZgorUGV0ZXIgSm9uZXMgPHBqb25lc0ByZWRoYXQuY29tPgorSmVyZW15IEthdHogPGthdHpqQHJlZGhhdC5jb20+CitLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKy5maQorLlNIIEFWQUlMQUJJTElUWQorVGhlIHN3aXRjaF9yb290IGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL3N3aXRjaF9yb290LmMgYi9zeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZjU0NjhmCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL3N3aXRjaF9yb290LmMKQEAgLTAsMCArMSwyNDQgQEAKKy8qCisgKiBzd2l0Y2hyb290LmMgLSBzd2l0Y2ggdG8gbmV3IHJvb3QgZGlyZWN0b3J5IGFuZCBzdGFydCBpbml0LgorICoKKyAqIENvcHlyaWdodCAyMDAyLTIwMDkgUmVkIEhhdCwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICoKKyAqIEF1dGhvcnM6CisgKglQZXRlciBKb25lcyA8cGpvbmVzQHJlZGhhdC5jb20+CisgKglKZXJlbXkgS2F0eiA8a2F0empAcmVkaGF0LmNvbT4KKyAqLworI2luY2x1ZGUgPHN5cy9tb3VudC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3N0YXRmcy5oPgorI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8ZGlyZW50Lmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJzdGF0ZnNfbWFnaWMuaCIKKworI2lmbmRlZiBNU19NT1ZFCisjZGVmaW5lIE1TX01PVkUgODE5MgorI2VuZGlmCisKKyNpZm5kZWYgTU5UX0RFVEFDSAorI2RlZmluZSBNTlRfREVUQUNIICAgICAgIDB4MDAwMDAwMDIJLyogSnVzdCBkZXRhY2ggZnJvbSB0aGUgdHJlZSAqLworI2VuZGlmCisKKy8qIHJlbW92ZSBhbGwgZmlsZXMvZGlyZWN0b3JpZXMgYmVsb3cgZGlyTmFtZSAtLSBkb24ndCBjcm9zcyBtb3VudHBvaW50cyAqLworc3RhdGljIGludCByZWN1cnNpdmVSZW1vdmUoaW50IGZkKQoreworCXN0cnVjdCBzdGF0IHJiOworCURJUiAqZGlyOworCWludCByYyA9IC0xOworCWludCBkZmQ7CisKKwlpZiAoIShkaXIgPSBmZG9wZW5kaXIoZmQpKSkgeworCQl3YXJuKF8oImZhaWxlZCB0byBvcGVuIGRpcmVjdG9yeSIpKTsKKwkJZ290byBkb25lOworCX0KKworCS8qIGZkb3BlbmRpcigpIHByZWNsdWRlcyB1cyBmcm9tIGNvbnRpbnVpbmcgdG8gdXNlIHRoZSBpbnB1dCBmZCAqLworCWRmZCA9IGRpcmZkKGRpcik7CisKKwlpZiAoZnN0YXQoZGZkLCAmcmIpKSB7CisJCXdhcm4oXygic3RhdCBmYWlsZWQiKSk7CisJCWdvdG8gZG9uZTsKKwl9CisKKwl3aGlsZSgxKSB7CisJCXN0cnVjdCBkaXJlbnQgKmQ7CisJCWludCBpc2RpciA9IDA7CisKKwkJZXJybm8gPSAwOworCQlpZiAoIShkID0gcmVhZGRpcihkaXIpKSkgeworCQkJaWYgKGVycm5vKSB7CisJCQkJd2FybihfKCJmYWlsZWQgdG8gcmVhZCBkaXJlY3RvcnkiKSk7CisJCQkJZ290byBkb25lOworCQkJfQorCQkJYnJlYWs7CS8qIGVuZCBvZiBkaXJlY3RvcnkgKi8KKwkJfQorCisJCWlmICghc3RyY21wKGQtPmRfbmFtZSwgIi4iKSB8fCAhc3RyY21wKGQtPmRfbmFtZSwgIi4uIikpCisJCQljb250aW51ZTsKKyNpZmRlZiBfRElSRU5UX0hBVkVfRF9UWVBFCisJCWlmIChkLT5kX3R5cGUgPT0gRFRfRElSIHx8IGQtPmRfdHlwZSA9PSBEVF9VTktOT1dOKQorI2VuZGlmCisJCXsKKwkJCXN0cnVjdCBzdGF0IHNiOworCisJCQlpZiAoZnN0YXRhdChkZmQsIGQtPmRfbmFtZSwgJnNiLCBBVF9TWU1MSU5LX05PRk9MTE9XKSkgeworCQkJCXdhcm4oXygic3RhdCBvZiAlcyBmYWlsZWQiKSwgZC0+ZF9uYW1lKTsKKwkJCQljb250aW51ZTsKKwkJCX0KKworCQkJLyogcmVtb3ZlIHN1YmRpcmVjdG9yaWVzIGlmIGRldmljZSBpcyBzYW1lIGFzIGRpciAqLworCQkJaWYgKFNfSVNESVIoc2Iuc3RfbW9kZSkgJiYgc2Iuc3RfZGV2ID09IHJiLnN0X2RldikgeworCQkJCWludCBjZmQ7CisKKwkJCQljZmQgPSBvcGVuYXQoZGZkLCBkLT5kX25hbWUsIE9fUkRPTkxZKTsKKwkJCQlpZiAoY2ZkID49IDApIHsKKwkJCQkJcmVjdXJzaXZlUmVtb3ZlKGNmZCk7CisJCQkJCWNsb3NlKGNmZCk7CisJCQkJfQorCQkJCWlzZGlyID0gMTsKKwkJCX0gZWxzZQorCQkJCWNvbnRpbnVlOworCQl9CisKKwkJaWYgKHVubGlua2F0KGRmZCwgZC0+ZF9uYW1lLCBpc2RpciA/IEFUX1JFTU9WRURJUiA6IDApKQorCQkJd2FybihfKCJmYWlsZWQgdG8gdW5saW5rICVzIiksIGQtPmRfbmFtZSk7CisJfQorCisJcmMgPSAwOwkvKiBzdWNjZXNzICovCisKK2RvbmU6CisJaWYgKGRpcikKKwkJY2xvc2VkaXIoZGlyKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgc3dpdGNocm9vdChjb25zdCBjaGFyICpuZXdyb290KQoreworCS8qICBEb24ndCB0cnkgdG8gdW5tb3VudCB0aGUgb2xkICIvIiwgdGhlcmUncyBubyB3YXkgdG8gZG8gaXQuICovCisJY29uc3QgY2hhciAqdW1vdW50c1tdID0geyAiL2RldiIsICIvcHJvYyIsICIvc3lzIiwgIi9ydW4iLCBOVUxMIH07CisJaW50IGk7CisJaW50IGNmZDsKKwlwaWRfdCBwaWQ7CisJc3RydWN0IHN0YXQgbmV3cm9vdF9zdGF0LCBzYjsKKworCWlmIChzdGF0KG5ld3Jvb3QsICZuZXdyb290X3N0YXQpICE9IDApIHsKKwkJd2FybihfKCJzdGF0IG9mICVzIGZhaWxlZCIpLCBuZXdyb290KTsKKwkJcmV0dXJuIC0xOworCX0KKworCWZvciAoaSA9IDA7IHVtb3VudHNbaV0gIT0gTlVMTDsgaSsrKSB7CisJCWNoYXIgbmV3bW91bnRbUEFUSF9NQVhdOworCisJCXNucHJpbnRmKG5ld21vdW50LCBzaXplb2YobmV3bW91bnQpLCAiJXMlcyIsIG5ld3Jvb3QsIHVtb3VudHNbaV0pOworCisJCWlmICgoc3RhdChuZXdtb3VudCwgJnNiKSAhPSAwKSB8fCAoc2Iuc3RfZGV2ICE9IG5ld3Jvb3Rfc3RhdC5zdF9kZXYpKSB7CisJCQkvKiBtb3VudCBwb2ludCBzZWVtcyB0byBiZSBtb3VudGVkIGFscmVhZHkgb3Igc3RhdCBmYWlsZWQgKi8KKwkJCXVtb3VudDIodW1vdW50c1tpXSwgTU5UX0RFVEFDSCk7CisJCQljb250aW51ZTsKKwkJfQorCisJCWlmIChtb3VudCh1bW91bnRzW2ldLCBuZXdtb3VudCwgTlVMTCwgTVNfTU9WRSwgTlVMTCkgPCAwKSB7CisJCQl3YXJuKF8oImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gJXMiKSwKKwkJCQl1bW91bnRzW2ldLCBuZXdtb3VudCk7CisJCQl3YXJueChfKCJmb3JjaW5nIHVubW91bnQgb2YgJXMiKSwgdW1vdW50c1tpXSk7CisJCQl1bW91bnQyKHVtb3VudHNbaV0sIE1OVF9GT1JDRSk7CisJCX0KKwl9CisKKwlpZiAoY2hkaXIobmV3cm9vdCkpIHsKKwkJd2FybihfKCJmYWlsZWQgdG8gY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIpLCBuZXdyb290KTsKKwkJcmV0dXJuIC0xOworCX0KKworCWNmZCA9IG9wZW4oIi8iLCBPX1JET05MWSk7CisJaWYgKGNmZCA8IDApIHsKKwkJd2FybihfKCJjYW5ub3Qgb3BlbiAlcyIpLCAiLyIpOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKG1vdW50KG5ld3Jvb3QsICIvIiwgTlVMTCwgTVNfTU9WRSwgTlVMTCkgPCAwKSB7CisJCWNsb3NlKGNmZCk7CisJCXdhcm4oXygiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAvIiksIG5ld3Jvb3QpOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKGNocm9vdCgiLiIpKSB7CisJCWNsb3NlKGNmZCk7CisJCXdhcm4oXygiZmFpbGVkIHRvIGNoYW5nZSByb290IikpOworCQlyZXR1cm4gLTE7CisJfQorCisJcGlkID0gZm9yaygpOworCWlmIChwaWQgPD0gMCkgeworCQlzdHJ1Y3Qgc3RhdGZzIHN0ZnM7CisKKwkJaWYgKGZzdGF0ZnMoY2ZkLCAmc3RmcykgPT0gMCAmJgorCQkgICAgKEZfVFlQRV9FUVVBTChzdGZzLmZfdHlwZSwgU1RBVEZTX1JBTUZTX01BR0lDKSB8fAorCQkgICAgIEZfVFlQRV9FUVVBTChzdGZzLmZfdHlwZSwgU1RBVEZTX1RNUEZTX01BR0lDKSkpCisJCQlyZWN1cnNpdmVSZW1vdmUoY2ZkKTsKKwkJZWxzZQorCQkJd2FybihfKCJvbGQgcm9vdCBmaWxlc3lzdGVtIGlzIG5vdCBhbiBpbml0cmFtZnMiKSk7CisJCWlmIChwaWQgPT0gMCkKKwkJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwl9CisKKwljbG9zZShjZmQpOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZShGSUxFICpvdXRwdXQpCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXRwdXQpOworCWZwcmludGYob3V0cHV0LCBfKCIgJXMgW29wdGlvbnNdIDxuZXdyb290ZGlyPiA8aW5pdD4gPGFyZ3MgdG8gaW5pdD5cbiIpLAorCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dHB1dCk7CisJZnB1dHMoXygiU3dpdGNoIHRvIGFub3RoZXIgZmlsZXN5c3RlbSBhcyB0aGUgcm9vdCBvZiB0aGUgbW91bnQgdHJlZS5cbiIpLCBvdXRwdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0cHV0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXRwdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dHB1dCk7CisJZnByaW50ZihvdXRwdXQsIFVTQUdFX01BTl9UQUlMKCJzd2l0Y2hfcm9vdCg4KSIpKTsKKworCWV4aXQob3V0cHV0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY2hhciAqbmV3cm9vdCwgKmluaXQsICoqaW5pdGFyZ3M7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlpZiAoYXJndlsxXSAmJiAoIXN0cmNtcChhcmd2WzFdLCAiLS1oZWxwIikgfHwgIXN0cmNtcChhcmd2WzFdLCAiLWgiKSkpCisJCXVzYWdlKHN0ZG91dCk7CisJaWYgKGFyZ3ZbMV0gJiYgKCFzdHJjbXAoYXJndlsxXSwgIi0tdmVyc2lvbiIpIHx8ICFzdHJjbXAoYXJndlsxXSwgIi1WIikpKSB7CisJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCX0KKwlpZiAoYXJnYyA8IDMpCisJCXVzYWdlKHN0ZGVycik7CisKKwluZXdyb290ID0gYXJndlsxXTsKKwlpbml0ID0gYXJndlsyXTsKKwlpbml0YXJncyA9ICZhcmd2WzJdOworCisJaWYgKCEqbmV3cm9vdCB8fCAhKmluaXQpCisJCXVzYWdlKHN0ZGVycik7CisKKwlpZiAoc3dpdGNocm9vdChuZXdyb290KSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImZhaWxlZC4gU29ycnkuIikpOworCisJaWYgKGFjY2Vzcyhpbml0LCBYX09LKSkKKwkJd2FybihfKCJjYW5ub3QgYWNjZXNzICVzIiksIGluaXQpOworCisJZXhlY3YoaW5pdCwgaW5pdGFyZ3MpOworCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBleGVjdXRlICVzIiksIGluaXQpOworfQorCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvdHVuZWxwLjggYi9zeXMtdXRpbHMvdHVuZWxwLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDVjMTEyMgotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy90dW5lbHAuOApAQCAtMCwwICsxLDE0NiBAQAorLlwiIENvcHlyaWdodCAoQykgMTk5Mi0xOTk3IE1pY2hhZWwgSy4gSm9obnNvbiA8am9obnNvbm1AcmVkaGF0LmNvbT4KKy5cIiBDb3B5cmlnaHQgKEMpIDE5OTggICAgICBBbmRyZWEgQXJjYW5nZWxpICAgPGFuZHJlYUBlLW1pbmQuY29tPgorLlwiIEl0IG1heSBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLAorLlwiIHZlcnNpb24gMiwgb3IgYW55IGhpZ2hlciB2ZXJzaW9uLiAgU2VlIHNlY3Rpb24gQ09QWUlORyBvZiB0aGUgR05VIEdlbmVyYWwKKy5cIiBQdWJsaWMgbGljZW5zZSBmb3IgY29uZGl0aW9ucyB1bmRlciB3aGljaCB0aGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQuCisuXCIKKy5USCBUVU5FTFAgOCAiT2N0b2JlciAyMDExIiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCit0dW5lbHAgXC0gc2V0IHZhcmlvdXMgcGFyYW1ldGVycyBmb3IgdGhlIGxwIGRldmljZQorLlNIIFNZTk9QU0lTCisuQiB0dW5lbHAKK1tvcHRpb25zXQorLkkgZGV2aWNlCisuU0ggREVTQ1JJUFRJT04KK1xmQnR1bmVscFxmUCBzZXRzIHNldmVyYWwgcGFyYW1ldGVycyBmb3IgdGhlIC9kZXYvbHBcZkk/XGZQIGRldmljZXMsIGZvcgorYmV0dGVyIHBlcmZvcm1hbmNlIChvciBmb3IgYW55IHBlcmZvcm1hbmNlIGF0IGFsbCwgaWYgeW91ciBwcmludGVyIHdvbid0IHdvcmsKK3dpdGhvdXQgaXQuLi4pIFdpdGhvdXQgcGFyYW1ldGVycywgaXQgdGVsbHMgd2hldGhlciB0aGUgZGV2aWNlIGlzIHVzaW5nCitpbnRlcnJ1cHRzLCBhbmQgaWYgc28sIHdoaWNoIG9uZS4gIFdpdGggcGFyYW1ldGVycywgaXQgc2V0cyB0aGUgZGV2aWNlCitjaGFyYWN0ZXJpc3RpY3MgYWNjb3JkaW5nbHkuCisuU0ggT1BUSU9OUworLlRQCitcZkJcLWlcZlIsIFxmQlwtXC1pcnFcZlIgXGZJYXJndW1lbnRcZlIKK3NwZWNpZmllcyB0aGUgSVJRIHRvIHVzZSBmb3IgdGhlIHBhcmFsbGVsIHBvcnQgaW4gcXVlc3Rpb24uICBJZiB0aGlzIGlzIHNldAordG8gc29tZXRoaW5nIG5vbi16ZXJvLCBcLXQgYW5kIFwtYyBoYXZlIG5vIGVmZmVjdC4gIElmIHlvdXIgcG9ydCBkb2VzIG5vdCB1c2UKK2ludGVycnVwdHMsIHRoaXMgb3B0aW9uIHdpbGwgbWFrZSBwcmludGluZyBzdG9wLiAgVGhlIGNvbW1hbmQKKy5CIHR1bmVscCAtaSAwCityZXN0b3JlcyBub24taW50ZXJydXB0IGRyaXZlbiAocG9sbGluZykgYWN0aW9uLCBhbmQgeW91ciBwcmludGVyIHNob3VsZCB3b3JrCithZ2Fpbi4gIElmIHlvdXIgcGFyYWxsZWwgcG9ydCBkb2VzIHN1cHBvcnQgaW50ZXJydXB0cywgaW50ZXJydXB0LWRyaXZlbgorcHJpbnRpbmcgc2hvdWxkIGJlIHNvbWV3aGF0IGZhc3RlciBhbmQgZWZmaWNpZW50LCBhbmQgd2lsbCBwcm9iYWJseSBiZQorZGVzaXJhYmxlLgorLklQCitOT1RFOiBUaGlzIG9wdGlvbiB3aWxsIGhhdmUgbm8gZWZmZWN0IHdpdGgga2VybmVsIDIuMS4xMzEgb3IgbGF0ZXIgc2luY2UgdGhlCitpcnEgaXMgaGFuZGxlZCBieSB0aGUgcGFycG9ydCBkcml2ZXIuICBZb3UgY2FuIGNoYW5nZSB0aGUgcGFycG9ydCBpcnEgZm9yCitleGFtcGxlIHZpYQorLklSIC9wcm9jL3BhcnBvcnQvKi9pcnEgLgorUmVhZAorLkkgL3Vzci9zcmMvbGludXgvRG9jdW1lbnRhdGlvbi9wYXJwb3J0LnR4dAorZm9yIG1vcmUgZGV0YWlscyBvbiBwYXJwb3J0LgorLlRQCitcZkJcLXRcZlIsIFxmQlwtXC10aW1lXGZSIFxmSW1pbGxpc2Vjb25kc1xmUgoraXMgdGhlIGFtb3VudCBvZiB0aW1lIGluIGppZmZpZXMgdGhhdCB0aGUgZHJpdmVyIHdhaXRzIGlmIHRoZSBwcmludGVyIGRvZXNuJ3QKK3Rha2UgYSBjaGFyYWN0ZXIgZm9yIHRoZSBudW1iZXIgb2YgdHJpZXMgZGljdGF0ZWQgYnkgdGhlIFwtYyBwYXJhbWV0ZXIuICAxMAoraXMgdGhlIGRlZmF1bHQgdmFsdWUuICBJZiB5b3Ugd2FudCBmYXN0ZXN0IHBvc3NpYmxlIHByaW50aW5nLCBhbmQgZG9uJ3QgY2FyZQorYWJvdXQgc3lzdGVtIGxvYWQsIHlvdSBtYXkgc2V0IHRoaXMgdG8gMC4gIElmIHlvdSBkb24ndCBjYXJlIGhvdyBmYXN0IHlvdXIKK3ByaW50ZXIgZ29lcywgb3IgYXJlIHByaW50aW5nIHRleHQgb24gYSBzbG93IHByaW50ZXIgd2l0aCBhIGJ1ZmZlciwgdGhlbiA1MDAKKyg1IHNlY29uZHMpIHNob3VsZCBiZSBmaW5lLCBhbmQgd2lsbCBnaXZlIHlvdSB2ZXJ5IGxvdyBzeXN0ZW0gbG9hZC4gIFRoaXMKK3ZhbHVlIGdlbmVyYWxseSBzaG91bGQgYmUgbG93ZXIgZm9yIHByaW50aW5nIGdyYXBoaWNzIHRoYW4gdGV4dCwgYnkgYSBmYWN0b3IKK29mIGFwcHJveGltYXRlbHkgMTAsIGZvciBiZXN0IHBlcmZvcm1hbmNlLgorLlRQCitcZkJcLWNcZlIsIFxmQlwtXC1jaGFyc1xmUiBcZkljaGFyYWN0ZXJzXGZSCitpcyB0aGUgbnVtYmVyIG9mIHRpbWVzIHRvIHRyeSB0byBvdXRwdXQgYSBjaGFyYWN0ZXIgdG8gdGhlIHByaW50ZXIgYmVmb3JlCitzbGVlcGluZyBmb3IgXC10IFxmSVRJTUVcZlAuICBJdCBpcyB0aGUgbnVtYmVyIG9mIHRpbWVzIGFyb3VuZCBhIGxvb3AgdGhhdAordHJpZXMgdG8gc2VuZCBhIGNoYXJhY3RlciB0byB0aGUgcHJpbnRlci4gIDEyMCBhcHBlYXJzIHRvIGJlIGEgZ29vZCB2YWx1ZSBmb3IKK21vc3QgcHJpbnRlcnMgaW4gcG9sbGluZyBtb2RlLiAgMTAwMCBpcyB0aGUgZGVmYXVsdCwgYmVjYXVzZSB0aGVyZSBhcmUgc29tZQorcHJpbnRlcnMgdGhhdCBiZWNvbWUgamVya3kgb3RoZXJ3aXNlLCBidXQgeW91IFxmSW11c3RcZlAgc2V0IHRoaXMgdG8gYDEnIHRvCitoYW5kbGUgdGhlIG1heGltYWwgQ1BVIGVmZmljaWVuY3kgaWYgeW91IGFyZSB1c2luZyBpbnRlcnJ1cHRzLiAgSWYgeW91IGhhdmUgYQordmVyeSBmYXN0IHByaW50ZXIsIGEgdmFsdWUgb2YgMTAgbWlnaHQgbWFrZSBtb3JlIHNlbnNlIGV2ZW4gaWYgaW4gcG9sbGluZworbW9kZS4gIElmIHlvdSBoYXZlIGEgXGZJcmVhbGx5XGZQIG9sZCBwcmludGVyLCB5b3UgY2FuIGluY3JlYXNlIHRoaXMgZnVydGhlci4KKy5JUAorU2V0dGluZyBcLXQgXGZJVElNRVxmUCB0byAwIGlzIGVxdWl2YWxlbnQgdG8gc2V0dGluZyBcLWMgXGZJQ0hBUlNcZlAgdG8KK2luZmluaXR5LgorLlRQCitcZkJcLXdcZlIsIFxmQlwtXC13YWl0XGZSIFxmSW1pbGxpc2Vjb25kc1xmUgoraXMgdGhlIG51bWJlciBvZiB1c2VjIHdlIHdhaXQgd2hpbGUgcGxheWluZyB3aXRoIHRoZSBzdHJvYmUgc2lnbmFsLiAgV2hpbGUKK21vc3QgcHJpbnRlcnMgYXBwZWFyIHRvIGJlIGFibGUgdG8gZGVhbCB3aXRoIGFuIGV4dHJlbWVseSBzaG9ydCBzdHJvYmUsIHNvbWUKK3ByaW50ZXJzIGRlbWFuZCBhIGxvbmdlciBvbmUuICBJbmNyZWFzaW5nIHRoaXMgZnJvbSB0aGUgZGVmYXVsdCAxIG1heSBtYWtlIGl0Citwb3NzaWJsZSB0byBwcmludCB3aXRoIHRob3NlIHByaW50ZXJzLiAgVGhpcyBtYXkgYWxzbyBtYWtlIGl0IHBvc3NpYmxlIHRvIHVzZQorbG9uZ2VyIGNhYmxlcy4gIEl0J3MgYWxzbyBwb3NzaWJsZSB0byBkZWNyZWFzZSB0aGlzIHZhbHVlIHRvIDAgaWYgeW91cgorcHJpbnRlciBpcyBmYXN0IGVub3VnaCBvciB5b3VyIG1hY2hpbmUgaXMgc2xvdyBlbm91Z2guCisuVFAKK1xmQlwtYVxmUiwgXGZCXC1cLWFib3J0XGZSIFxmSTxvbnxvZmY+XGZSCitUaGlzIGlzIHdoZXRoZXIgdG8gYWJvcnQgb24gcHJpbnRlciBlcnJvciAtIHRoZSBkZWZhdWx0IGlzIG5vdCB0by4gIElmIHlvdQorYXJlIHNpdHRpbmcgYXQgeW91ciBjb21wdXRlciwgeW91IHByb2JhYmx5IHdhbnQgdG8gYmUgYWJsZSB0byBzZWUgYW4gZXJyb3IKK2FuZCBmaXggaXQsIGFuZCBoYXZlIHRoZSBwcmludGVyIGdvIG9uIHByaW50aW5nLiAgT24gdGhlIG90aGVyIGhhbmQsIGlmIHlvdQorYXJlbid0LCB5b3UgbWlnaHQgcmF0aGVyIHRoYXQgeW91ciBwcmludGVyIHNwb29sZXIgZmluZCBvdXQgdGhhdCB0aGUgcHJpbnRlcgoraXNuJ3QgcmVhZHksIHF1aXQgdHJ5aW5nLCBhbmQgc2VuZCB5b3UgbWFpbCBhYm91dCBpdC4gIFRoZSBjaG9pY2UgaXMgeW91cnMuCisuVFAKK1xmQlwtb1xmUiwgXGZCXC1cLWNoZWNrXC1zdGF0dXNcZlIgXGZJPG9ufG9mZj5cZlIKK1RoaXMgb3B0aW9uIGlzIG11Y2ggbGlrZSBcLWEuICBJdCBtYWtlcyBhbnkKKy5CUiBvcGVuICgyKQorb2YgdGhpcyBkZXZpY2UgY2hlY2sgdG8gc2VlIHRoYXQgdGhlIGRldmljZSBpcyBvbi1saW5lIGFuZCBub3QgcmVwb3J0aW5nIGFueQorb3V0IG9mIHBhcGVyIG9yIG90aGVyIGVycm9ycy4gIFRoaXMgaXMgdGhlIGNvcnJlY3Qgc2V0dGluZyBmb3IgbW9zdCB2ZXJzaW9ucworb2YgbHBkLgorLlRQCitcZkJcLUNcZlIsIFxmQlwtXC1jYXJlZnVsXGZSIFxmSTxvbnxvZmY+XGZSCitUaGlzIG9wdGlvbiBhZGRzIGV4dHJhICgiY2FyZWZ1bCIpIGVycm9yIGNoZWNraW5nLiAgV2hlbiB0aGlzIG9wdGlvbiBpcyBvbiwKK3RoZSBwcmludGVyIGRyaXZlciB3aWxsIGVuc3VyZSB0aGF0IHRoZSBwcmludGVyIGlzIG9uLWxpbmUgYW5kIG5vdCByZXBvcnRpbmcKK2FueSBvdXQgb2YgcGFwZXIgb3Igb3RoZXIgZXJyb3JzIGJlZm9yZSBzZW5kaW5nIGRhdGEuICBUaGlzIGlzIHBhcnRpY3VsYXJseQordXNlZnVsIGZvciBwcmludGVycyB0aGF0IG5vcm1hbGx5IGFwcGVhciB0byBhY2NlcHQgZGF0YSB3aGVuIHR1cm5lZCBvZmYuCisuSVAKK05PVEU6IFRoaXMgb3B0aW9uIGlzIG9ic29sZXRlIGJlY2F1c2UgaXQncyB0aGUgZGVmYXVsdCBpbiAyLjEuMTMxIGtlcm5lbCBvcgorbGF0ZXIuCisuVFAKK1xmQlwtc1xmUiwgXGZCXC1cLXN0YXR1c1xmUgorVGhpcyBvcHRpb24gcmV0dXJucyB0aGUgY3VycmVudCBwcmludGVyIHN0YXR1cywgYm90aCBhcyBhIGRlY2ltYWwgbnVtYmVyIGZyb20KKzAuLjI1NSwgYW5kIGFzIGEgbGlzdCBvZiBhY3RpdmUgZmxhZ3MuICBXaGVuIHRoaXMgb3B0aW9uIGlzIHNwZWNpZmllZCwgXC1xCitvZmYsIHR1cm5pbmcgb2ZmIHRoZSBkaXNwbGF5IG9mIHRoZSBjdXJyZW50IElSUSwgaXMgaW1wbGllZC4KKy5UUAorXGZCXC1UXGZSLCBcZkJcLVwtdHJ1c3RcLWlycVxmUiBcZkk8b258b2ZmPlxmUgorVGhpcyBvcHRpb24gaXMgb2Jzb2xldGUuIEl0IHdhcyBhZGRlZCBpbiBMaW51eCAyLjEuMTMxLCBhbmQgcmVtb3ZlZCBhZ2FpbiBpbgorTGludXggMi4zLjEwLiAgVGhlIGJlbG93IGlzIGZvciB0aGVzZSBvbGQga2VybmVscyBvbmx5LgorLklQCitUaGlzIG9wdGlvbiB0ZWxscyB0aGUgbHAgZHJpdmVyIHRvIHRydXN0IG9yIG5vdCB0aGUgSVJRLiAgVGhpcyBvcHRpb24gbWFrZXMKK3NlbnNlIG9ubHkgaWYgeW91IGFyZSB1c2luZyBpbnRlcnJ1cHRzLiAgSWYgeW91IHRlbGwgdGhlIGxwIGRyaXZlciB0byB0cnVzdAordGhlIGlycSwgdGhlbiwgd2hlbiB0aGUgbHAgZHJpdmVyIHdpbGwgZ2V0IGFuIGlycSwgaXQgd2lsbCBzZW5kIHRoZSBuZXh0CitwZW5kaW5nIGNoYXJhY3RlciB0byB0aGUgcHJpbnRlciB1bmNvbmRpdGlvbmFsbHksIGV2ZW4gaWYgdGhlIHByaW50ZXIgc3RpbGwKK2NsYWltcyB0byBiZSBCVVNZLiAgVGhpcyBpcyB0aGUgb25seSB3YXkgdG8gc2xlZXAgb24gaW50ZXJydXB0IChhbmQgc28gdGhlCitoYW5kbGUgdGhlIGlycSBwcmludGluZyBlZmZpY2llbnRseSkgYXQgbGVhc3Qgb24gRXBzb24gU3R5bHVzIENvbG9yIFByaW50ZXJzLgorVGhlIGxwIGRyaXZlciBhdXRvbWFnaWNhbGx5IGRldGVjdHMgaWYgeW91IGNvdWxkIGdldCBpbXByb3ZlZCBwZXJmb3JtYW5jZSBieQorc2V0dGluZyB0aGlzIGZsYWcsIGFuZCBpbiBzdWNoIGNhc2UgaXQgd2lsbCB3YXJuIHlvdSB3aXRoIGEga2VybmVsIG1lc3NhZ2UuCisuSVAKK05PVEU6IFRydXN0aW5nIHRoZSBpcnEgaXMgcmVwb3J0ZWQgdG8gY29ycnVwdCB0aGUgcHJpbnRpbmcgb24gc29tZSBoYXJkd2FyZSwKK3lvdSBtdXN0IHRyeSB0byBrbm93IGlmIHlvdXIgcHJpbnRlciB3aWxsIHdvcmsgb3Igbm90Li4uCisuVFAKK1xmQlwtclxmUiwgXGZCXC1cLXJlc2V0XGZSCitUaGlzIG9wdGlvbiByZXNldHMgdGhlIHBvcnQuICBJdCByZXF1aXJlcyBhIExpbnV4IGtlcm5lbCB2ZXJzaW9uIG9mIDEuMS44MCBvcgorbGF0ZXIuCisuVFAKK1xmQlwtcVxmUiwgXGZCXC1cLXByaW50XC1pcnFcZlIgXGZJPG9ufG9mZj5cZlIKK1RoaXMgb3B0aW9uIHNldHMgcHJpbnRpbmcgdGhlIGRpc3BsYXkgb2YgdGhlIGN1cnJlbnQgSVJRIHNldHRpbmcuCisuU0ggTk9URVMKKy5CUiBcLW8gLAorLkJSIFwtQyAsCithbmQKKy5CIFwtcworYWxsIHJlcXVpcmUgYSBMaW51eCBrZXJuZWwgdmVyc2lvbiBvZiAxLjEuNzYgb3IgbGF0ZXIuCisuUFAKKy5CIFwtQworcmVxdWlyZXMgYSBMaW51eCB2ZXJzaW9uIHByaW9yIHRvIDIuMS4xMzEuCisuUFAKKy5CIFwtVAorcmVxdWlyZXMgYSBMaW51eCB2ZXJzaW9uIG9mIDIuMS4xMzEgb3IgbGF0ZXIuCisuU0ggQlVHUworQnkgc29tZSB1bmZvcnR1bmF0ZSBjb2luY2lkZW5jZSB0aGUgaW9jdGwgTFBTVFJJQ1Qgb2YgMi4wLjM2IGhhcyB0aGUgc2FtZQorbnVtYmVyIGFzIHRoZSBpb2N0bCBMUFRSVVNUSVJRIGludHJvZHVjZWQgaW4gMi4xLjEzMS4gIFNvLCB1c2Ugb2YgdGhlIFwtVAorb3B0aW9uIG9uIGEgMi4wLjM2IGtlcm5lbCB3aXRoIGFuIHR1bmVscCBjb21waWxlZCB1bmRlciAyLjEuMTMxIG9yIGxhdGVyIG1heQoraGF2ZSB1bmV4cGVjdGVkIGVmZmVjdHMuCisuU0ggRklMRVMKKy5JIC9kZXYvbHA/CisuYnIKKy5JIC9wcm9jL3BhcnBvcnQvKi8qCisuU0ggQVZBSUxBQklMSVRZCitUaGUgdHVuZWxwICBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBmdHA6Ly9cOmZ0cC5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy90dW5lbHAuYyBiL3N5cy11dGlscy90dW5lbHAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZWE1YzAyCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL3R1bmVscC5jCkBAIC0wLDAgKzEsMzIzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAxOTkyLTE5OTcgTWljaGFlbCBLLiBKb2huc29uLCBqb2huc29ubUByZWRoYXQuY29tCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlLCB2ZXJzaW9uIDIsIG9yIGFueSBsYXRlciB2ZXJzaW9uLiAgU2VlIGZpbGUgQ09QWUlORyBmb3IKKyAqIGluZm9ybWF0aW9uIG9uIGRpc3RyaWJ1dGlvbiBjb25kaXRpb25zLgorICovCisKKy8qCisgKiBUaGlzIGNvbW1hbmQgaXMgZGVwcmVjYXRlZC4gIFRoZSB1dGlsaXR5IGlzIGluIG1haW50ZW5hbmNlIG1vZGUsCisgKiBtZWFuaW5nIHdlIGtlZXAgdGhlbSBpbiBzb3VyY2UgdHJlZSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eQorICogb25seS4gIERvIG5vdCB3YXN0ZSB0aW1lIG1ha2luZyB0aGlzIGNvbW1hbmQgYmV0dGVyLCB1bmxlc3MgdGhlCisgKiBmaXggaXMgYWJvdXQgc2VjdXJpdHkgb3Igb3RoZXIgdmVyeSBjcml0aWNhbCBpc3N1ZS4KKyAqCisgKiBTZWUgRG9jdW1lbnRhdGlvbi9kZXByZWNhdGVkLnR4dCBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKyAqLworCisvKgorICogJExvZzogdHVuZWxwLmMsdiAkCisgKiBSZXZpc2lvbiAxLjkgIDE5OTgvMDYvMDggMTk6Mzc6MTEgIGphbmwKKyAqIFRodXMgY29tcGlsZXMgdHVuZWxwIHdpdGggMi4xLjEwMyBrZXJuZWxzCisgKgorICogUmV2aXNpb24gMS44ICAxOTk3LzA3LzA2IDAwOjE0OjA2ICBhZWJyCisgKiBGaXhlcyB0byBzaWxlbmNlIC1XYWxsLgorICoKKyAqIFJldmlzaW9uIDEuNyAgMTk5Ny8wNi8yMCAxNjoxMDozOCAgamFubAorICogdHVuZWxwIHJlZnJlc2hlZCBmcm9tIGF1dGhvcnMgYXJjaGl2ZS4KKyAqCisgKiBSZXZpc2lvbiAxLjkgIDE5OTcvMDYvMjAgMTI6NTY6NDMgIGpvaG5zb25tCisgKiBGaW5pc2hlZCBmaXhpbmcgbGljZW5zZSB0ZXJtcy4KKyAqCisgKiBSZXZpc2lvbiAxLjggIDE5OTcvMDYvMjAgMTI6MzQ6NTkgIGpvaG5zb25tCisgKiBGaXhlZCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UuCisgKgorICogUmV2aXNpb24gMS43ICAxOTk1LzAzLzI5IDExOjE2OjIzICBqb2huc29ubQorICogVFlQTyBmaXhlZC4uLgorICoKKyAqIFJldmlzaW9uIDEuNiAgMTk5NS8wMy8yOSAgMTE6MTI6MTUgIGpvaG5zb25tCisgKiBBZGRlZCB0aGlyZCBhcmd1bWVudCB0byBpb2N0bCBuZWVkZWQgd2l0aCBuZXcga2VybmVscworICoKKyAqIFJldmlzaW9uIDEuNSAgMTk5NS8wMS8xMyAgMTA6MzM6NDMgIGpvaG5zb25tCisgKiBDaHJpcydzIGNoYW5nZXMgZm9yIG5ldyBpb2N0bCBudW1iZXJzIGFuZCBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQorICogYW5kIHRoZSByZXNldCBpb2N0bC4KKyAqCisgKiBSZXZpc2lvbiAxLjQgIDE5OTUvMDEvMDMgIDE3OjQyOjE0ICBqb2huc29ubQorICogLXMgaXNuJ3Qgc3VwcG9zZWQgdG8gdGFrZSBhbiBhcmd1bWVudDsgcmVtb3ZlZCA6IGFmdGVyIHMgaW4gZ2V0b3B0Li4uCisgKgorICogUmV2aXNpb24gMS4zICAxOTk1LzAxLzAzICAwNzozNjo0OSAgam9obnNvbm0KKyAqIEZpeGVkIHR5cG8KKyAqCisgKiBSZXZpc2lvbiAxLjIgIDE5OTUvMDEvMDMgIDA3OjMzOjQ0ICBqb2huc29ubQorICogcmV2aXNpb25zIGZvciBscCBkcml2ZXIgdXBkYXRlcyBpbiBMaW51eCAxLjEuNzYKKyAqCisgKiAxOTk5LTAyLTIyIEFya2FkaXVzeiBNacWba2lld2ljeiA8bWlzaWVrQHBsZC5PUkcuUEw+CisgKiAtIGFkZGVkIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0CisgKgorICogMTk5OS0wNS0wNyBNZXJnZWQgTFBUUlVTVElSUSBwYXRjaCBieSBBbmRyZWEgQXJjYW5nZWxpICgxOTk4LzExLzI5KSwgYWViCisgKgorICovCisKKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaW5jbHVkZSAibHAuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCisjZGVmaW5lIFNUUlRPWFhfRVhJVF9DT0RFCTMKKyNkZWZpbmUgRVhJVF9MUF9JT19FUlIJCTQKKworI2luY2x1ZGUgInN0cnV0aWxzLmgiCisKK3N0cnVjdCBjb21tYW5kIHsKKwlsb25nIG9wOworCWxvbmcgdmFsOworCXN0cnVjdCBjb21tYW5kICpuZXh0OworfTsKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgcHJpbnRfdXNhZ2UoRklMRSAqb3V0KQoreworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygiICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJTZXQgdmFyaW91cyBwYXJhbWV0ZXJzIGZvciB0aGUgbGluZSBwcmludGVyLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIHNwZWNpZnkgcGFyYWxsZWwgcG9ydCBpcnFcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdCwgLS10aW1lIDxtcz4gICAgICAgICAgICAgIGRyaXZlciB3YWl0IHRpbWUgaW4gbWlsbGlzZWNvbmRzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWMsIC0tY2hhcnMgPG51bT4gICAgICAgICAgICBudW1iZXIgb2Ygb3V0cHV0IGNoYXJhY3RlcnMgYmVmb3JlIHNsZWVwXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXcsIC0td2FpdCA8dXM+ICAgICAgICAgICAgICBzdHJvYmUgd2FpdCBpbiBtaWNybyBzZWNvbmRzXG4iKSwgb3V0KTsKKwkvKiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSA8b258b2ZmPiBhcmd1bWVudHMuIFRoZQorCSAgIGFyZ3VtZW50IHJlYWRlciBkb2VzIG5vdCByZWNvZ25pemUgbG9jYWxlLCB1bmxlc3MgYG9uJyBpcworCSAgIGV4YWN0bHkgdGhhdCB2ZXJ5IHNhbWUgc3RyaW5nLiAqLworCWZwdXRzKF8oIiAtYSwgLS1hYm9ydCA8b258b2ZmPiAgICAgICAgIGFib3J0IG9uIGVycm9yXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBjaGVjayBwcmludGVyIHN0YXR1cyBiZWZvcmUgcHJpbnRpbmdcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtQywgLS1jYXJlZnVsIDxvbnxvZmY+ICAgICAgIGV4dHJhIGNoZWNraW5nIHRvIHN0YXR1cyBjaGVja1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAgcXVlcnkgcHJpbnRlciBzdGF0dXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtVCwgLS10cnVzdC1pcnEgPG9ufG9mZj4gICAgIG1ha2UgZHJpdmVyIHRvIHRydXN0IGlycVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcmVzZXQgdGhlIHBvcnRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgIGRpc3BsYXkgY3VycmVudCBpcnEgc2V0dGluZ1xuIiksIG91dCk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKFVTQUdFX0hFTFAsIG91dCk7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoInR1bmVscCg4KSIpKTsKKworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlpbnQgYywgZmQsIGlycSwgc3RhdHVzLCBzaG93X2lycSwgb2Zmc2V0ID0gMCwgcmV0dmFsOworCWNoYXIgKmZpbGVuYW1lOworCXN0cnVjdCBzdGF0IHN0YXRidWY7CisJc3RydWN0IGNvbW1hbmQgKmNtZHMsICpjbWRzdDsKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ImlycSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnaSd9LAorCQl7InRpbWUiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3QnfSwKKwkJeyJjaGFycyIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnYyd9LAorCQl7IndhaXQiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3cnfSwKKwkJeyJhYm9ydCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnYSd9LAorCQl7ImNoZWNrLXN0YXR1cyIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbyd9LAorCQl7ImNhcmVmdWwiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ0MnfSwKKwkJeyJzdGF0dXMiLCBub19hcmd1bWVudCwgTlVMTCwgJ3MnfSwKKwkJeyJ0cnVzdC1pcnEiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ1QnfSwKKwkJeyJyZXNldCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAncid9LAorCQl7InByaW50LWlycSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAncSd9LAorCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1YnfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIE5VTEwsICdoJ30sCisJCXtOVUxMLCAwLCBOVUxMLCAwfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJaWYgKGFyZ2MgPCAyKQorCQlwcmludF91c2FnZShzdGRlcnIpOworCisJY21kc3QgPSBjbWRzID0geG1hbGxvYyhzaXplb2Yoc3RydWN0IGNvbW1hbmQpKTsKKwljbWRzLT5uZXh0ID0gMDsKKworCXNob3dfaXJxID0gMTsKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAidDpjOnc6YTppOmhvOkM6c3E6clQ6dlYiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisJCXN3aXRjaCAoYykgeworCQljYXNlICdoJzoKKwkJCXByaW50X3VzYWdlKHN0ZG91dCk7CisJCQlicmVhazsKKwkJY2FzZSAnaSc6CisJCQljbWRzLT5vcCA9IExQU0VUSVJROworCQkJY21kcy0+dmFsID0gc3RydG9sX29yX2VycihvcHRhcmcsIF8oImFyZ3VtZW50IGVycm9yIikpOworCQkJY21kcy0+bmV4dCA9IHhtYWxsb2Moc2l6ZW9mKHN0cnVjdCBjb21tYW5kKSk7CisJCQljbWRzID0gY21kcy0+bmV4dDsKKwkJCWNtZHMtPm5leHQgPSAwOworCQkJYnJlYWs7CisJCWNhc2UgJ3QnOgorCQkJY21kcy0+b3AgPSBMUFRJTUU7CisJCQljbWRzLT52YWwgPSBzdHJ0b2xfb3JfZXJyKG9wdGFyZywgXygiYXJndW1lbnQgZXJyb3IiKSk7CisJCQljbWRzLT5uZXh0ID0geG1hbGxvYyhzaXplb2Yoc3RydWN0IGNvbW1hbmQpKTsKKwkJCWNtZHMgPSBjbWRzLT5uZXh0OworCQkJY21kcy0+bmV4dCA9IDA7CisJCQlicmVhazsKKwkJY2FzZSAnYyc6CisJCQljbWRzLT5vcCA9IExQQ0hBUjsKKwkJCWNtZHMtPnZhbCA9IHN0cnRvbF9vcl9lcnIob3B0YXJnLCBfKCJhcmd1bWVudCBlcnJvciIpKTsKKwkJCWNtZHMtPm5leHQgPSB4bWFsbG9jKHNpemVvZihzdHJ1Y3QgY29tbWFuZCkpOworCQkJY21kcyA9IGNtZHMtPm5leHQ7CisJCQljbWRzLT5uZXh0ID0gMDsKKwkJCWJyZWFrOworCQljYXNlICd3JzoKKwkJCWNtZHMtPm9wID0gTFBXQUlUOworCQkJY21kcy0+dmFsID0gc3RydG9sX29yX2VycihvcHRhcmcsIF8oImFyZ3VtZW50IGVycm9yIikpOworCQkJY21kcy0+bmV4dCA9IHhtYWxsb2Moc2l6ZW9mKHN0cnVjdCBjb21tYW5kKSk7CisJCQljbWRzID0gY21kcy0+bmV4dDsKKwkJCWNtZHMtPm5leHQgPSAwOworCQkJYnJlYWs7CisJCWNhc2UgJ2EnOgorCQkJY21kcy0+b3AgPSBMUEFCT1JUOworCQkJY21kcy0+dmFsID0gcGFyc2Vfc3dpdGNoKG9wdGFyZywgXygiYXJndW1lbnQgZXJyb3IiKSwgIm9uIiwgIm9mZiIsIE5VTEwpOworCQkJY21kcy0+bmV4dCA9IHhtYWxsb2Moc2l6ZW9mKHN0cnVjdCBjb21tYW5kKSk7CisJCQljbWRzID0gY21kcy0+bmV4dDsKKwkJCWNtZHMtPm5leHQgPSAwOworCQkJYnJlYWs7CisJCWNhc2UgJ3EnOgorCQkJc2hvd19pcnEgPSBwYXJzZV9zd2l0Y2gob3B0YXJnLCBfKCJhcmd1bWVudCBlcnJvciIpLCAib24iLCAib2ZmIiwgTlVMTCk7CisJCQlicmVhazsKKwkJY2FzZSAnbyc6CisJCQljbWRzLT5vcCA9IExQQUJPUlRPUEVOOworCQkJY21kcy0+dmFsID0gcGFyc2Vfc3dpdGNoKG9wdGFyZywgXygiYXJndW1lbnQgZXJyb3IiKSwgIm9uIiwgIm9mZiIsIE5VTEwpOworCQkJY21kcy0+bmV4dCA9IHhtYWxsb2Moc2l6ZW9mKHN0cnVjdCBjb21tYW5kKSk7CisJCQljbWRzID0gY21kcy0+bmV4dDsKKwkJCWNtZHMtPm5leHQgPSAwOworCQkJYnJlYWs7CisJCWNhc2UgJ0MnOgorCQkJY21kcy0+b3AgPSBMUENBUkVGVUw7CisJCQljbWRzLT52YWwgPSBwYXJzZV9zd2l0Y2gob3B0YXJnLCBfKCJhcmd1bWVudCBlcnJvciIpLCAib24iLCAib2ZmIiwgTlVMTCk7CisJCQljbWRzLT5uZXh0ID0geG1hbGxvYyhzaXplb2Yoc3RydWN0IGNvbW1hbmQpKTsKKwkJCWNtZHMgPSBjbWRzLT5uZXh0OworCQkJY21kcy0+bmV4dCA9IDA7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQlzaG93X2lycSA9IDA7CisJCQljbWRzLT5vcCA9IExQR0VUU1RBVFVTOworCQkJY21kcy0+dmFsID0gMDsKKwkJCWNtZHMtPm5leHQgPSB4bWFsbG9jKHNpemVvZihzdHJ1Y3QgY29tbWFuZCkpOworCQkJY21kcyA9IGNtZHMtPm5leHQ7CisJCQljbWRzLT5uZXh0ID0gMDsKKwkJCWJyZWFrOworCQljYXNlICdyJzoKKwkJCWNtZHMtPm9wID0gTFBSRVNFVDsKKwkJCWNtZHMtPnZhbCA9IDA7CisJCQljbWRzLT5uZXh0ID0geG1hbGxvYyhzaXplb2Yoc3RydWN0IGNvbW1hbmQpKTsKKwkJCWNtZHMgPSBjbWRzLT5uZXh0OworCQkJY21kcy0+bmV4dCA9IDA7CisJCQlicmVhazsKKwkJY2FzZSAnVCc6CisJCQkvKiBOb3RlOiB0aGlzIHdpbGwgZG8gdGhlIHdyb25nIHRoaW5nIG9uCisJCQkgKiAyLjAuMzYgd2hlbiBjb21waWxlZCB1bmRlciAyLjIueAorCQkJICovCisJCQljbWRzLT5vcCA9IExQVFJVU1RJUlE7CisJCQljbWRzLT52YWwgPSBwYXJzZV9zd2l0Y2gob3B0YXJnLCBfKCJhcmd1bWVudCBlcnJvciIpLCAib24iLCAib2ZmIiwgTlVMTCk7CisJCQljbWRzLT5uZXh0ID0geG1hbGxvYyhzaXplb2Yoc3RydWN0IGNvbW1hbmQpKTsKKwkJCWNtZHMgPSBjbWRzLT5uZXh0OworCQkJY21kcy0+bmV4dCA9IDA7CisJCQlicmVhazsKKwkJY2FzZSAndic6CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQlkZWZhdWx0OgorCQkJcHJpbnRfdXNhZ2Uoc3RkZXJyKTsKKwkJfQorCX0KKworCWlmIChvcHRpbmQgIT0gYXJnYyAtIDEpCisJCXByaW50X3VzYWdlKHN0ZGVycik7CisKKwlmaWxlbmFtZSA9IHhzdHJkdXAoYXJndltvcHRpbmRdKTsKKwlmZCA9IG9wZW4oZmlsZW5hbWUsIE9fV1JPTkxZIHwgT19OT05CTE9DSywgMCk7CisJLyogTmVlZCB0byBvcGVuIE9fTk9OQkxPQ0sgaW4gY2FzZSBBQk9SVE9QRU4gaXMgYWxyZWFkeSBzZXQKKwkgKiBhbmQgcHJpbnRlciBpcyBvZmYgb3Igb2ZmLWxpbmUgb3IgaW4gYW4gZXJyb3IgY29uZGl0aW9uLgorCSAqIE90aGVyd2lzZSB3ZSB3b3VsZCBhYm9ydC4uLgorICAgICAgICAgKi8KKwlpZiAoZmQgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiJXMiLCBmaWxlbmFtZSk7CisKKwlpZiAoZnN0YXQoZmQsICZzdGF0YnVmKSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgIiVzOiBzdGF0KCkgZmFpbGVkIiwgZmlsZW5hbWUpOworCisJaWYgKCFTX0lTQ0hSKHN0YXRidWYuc3RfbW9kZSkpIHsKKwkJd2FybngoXygiJXMgbm90IGFuIGxwIGRldmljZSIpLCBmaWxlbmFtZSk7CisJCXByaW50X3VzYWdlKHN0ZGVycik7CisJfQorCS8qIEFsbG93IGZvciBiaW5hcmllcyBjb21waWxlZCB1bmRlciBhIG5ldyBrZXJuZWwgdG8gd29yayBvbgorCSAqIHRoZSBvbGQgb25lcyBUaGUgaXJxIGFyZ3VtZW50IHRvIGlvY3RsIGlzbid0IHRvdWNoZWQgYnkKKwkgKiB0aGUgb2xkIGtlcm5lbHMsIGJ1dCB3ZSBkb24ndCB3YW50IHRvIGNhdXNlIHRoZSBrZXJuZWwgdG8KKwkgKiBjb21wbGFpbiBpZiB3ZSBhcmUgdXNpbmcgYSBuZXcga2VybmVsCisJICovCisJaWYgKExQR0VUSVJRID49IDB4MDYwMCAmJiBpb2N0bChmZCwgTFBHRVRJUlEsICZpcnEpIDwgMAorCSAgICAmJiBlcnJubyA9PSBFSU5WQUwpCisJICAgICAgICAvKiBXZSBkb24ndCB1bmRlcnN0YW5kIHRoZSBuZXcgaW9jdGxzICovCisJCW9mZnNldCA9IDB4MDYwMDsKKworCWNtZHMgPSBjbWRzdDsKKwl3aGlsZSAoY21kcy0+bmV4dCkgeworCQlpZiAoY21kcy0+b3AgPT0gTFBHRVRTVEFUVVMpIHsKKwkJCXN0YXR1cyA9IDB4ZGVhZGJlZWY7CisJCQlyZXR2YWwgPSBpb2N0bChmZCwgTFBHRVRTVEFUVVMgLSBvZmZzZXQsICZzdGF0dXMpOworCQkJaWYgKHJldHZhbCA8IDApCisJCQkJd2FybngoXygiTFBHRVRTVEFUVVMgZXJyb3IiKSk7CisJCQllbHNlIHsKKwkJCQlpZiAoc3RhdHVzID09IChpbnQpMHhkZWFkYmVlZikKKwkJCQkJLyogYSBmZXcgMS4xLjd4IGtlcm5lbHMgd2lsbCBkbyB0aGlzICovCisJCQkJCXN0YXR1cyA9IHJldHZhbDsKKwkJCQlwcmludGYoXygiJXMgc3RhdHVzIGlzICVkIiksIGZpbGVuYW1lLCBzdGF0dXMpOworCQkJCWlmICghKHN0YXR1cyAmIExQX1BCVVNZKSkKKwkJCQkJcHJpbnRmKF8oIiwgYnVzeSIpKTsKKwkJCQlpZiAoIShzdGF0dXMgJiBMUF9QQUNLKSkKKwkJCQkJcHJpbnRmKF8oIiwgcmVhZHkiKSk7CisJCQkJaWYgKChzdGF0dXMgJiBMUF9QT1VUUEEpKQorCQkJCQlwcmludGYoXygiLCBvdXQgb2YgcGFwZXIiKSk7CisJCQkJaWYgKChzdGF0dXMgJiBMUF9QU0VMRUNEKSkKKwkJCQkJcHJpbnRmKF8oIiwgb24tbGluZSIpKTsKKwkJCQlpZiAoIShzdGF0dXMgJiBMUF9QRVJST1JQKSkKKwkJCQkJcHJpbnRmKF8oIiwgZXJyb3IiKSk7CisJCQkJcHJpbnRmKCJcbiIpOworCQkJfQorCQl9IGVsc2UKKwkJaWYgKGlvY3RsKGZkLCBjbWRzLT5vcCAtIG9mZnNldCwgY21kcy0+dmFsKSA8IDApCisJCQl3YXJuKF8oImlvY3RsIGZhaWxlZCIpKTsKKwkJY21kc3QgPSBjbWRzOworCQljbWRzID0gY21kcy0+bmV4dDsKKwkJZnJlZShjbWRzdCk7CisJfQorCisJaWYgKHNob3dfaXJxKSB7CisJCWlycSA9IDB4ZGVhZGJlZWY7CisJCXJldHZhbCA9IGlvY3RsKGZkLCBMUEdFVElSUSAtIG9mZnNldCwgJmlycSk7CisJCWlmIChyZXR2YWwgPT0gLTEpCisJCQllcnIoRVhJVF9MUF9JT19FUlIsIF8oIkxQR0VUSVJRIGVycm9yIikpOworCQlpZiAoaXJxID09IChpbnQpMHhkZWFkYmVlZikKKwkJICAgICAgICAvKiB1cCB0byAxLjEuNzcgd2lsbCBkbyB0aGlzICovCisJCQlpcnEgPSByZXR2YWw7CisJCWlmIChpcnEpCisJCQlwcmludGYoXygiJXMgdXNpbmcgSVJRICVkXG4iKSwgZmlsZW5hbWUsIGlycSk7CisJCWVsc2UKKwkJCXByaW50ZihfKCIlcyB1c2luZyBwb2xsaW5nXG4iKSwgZmlsZW5hbWUpOworCX0KKwlmcmVlKGZpbGVuYW1lKTsKKwljbG9zZShmZCk7CisKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL3Vtb3VudC44IGIvc3lzLXV0aWxzL3Vtb3VudC44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2Y2ZlZDAKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvdW1vdW50LjgKQEAgLTAsMCArMSwyMzMgQEAKKy5cIiBDb3B5cmlnaHQgKGMpIDE5OTYgQW5kcmllcyBCcm91d2VyCisuXCIgVGhpcyBwYWdlIGlzIHNvbWV3aGF0IGRlcml2ZWQgZnJvbSBhIHBhZ2UgdGhhdCB3YXMKKy5cIiAoYykgMTk4MCwgMTk4OSwgMTk5MSBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCisuXCIgYW5kIGhhZCBiZWVuIGhlYXZpbHkgbW9kaWZpZWQgYnkgUmlrIEZhaXRoIGFuZCBteXNlbGYuCisuXCIKKy5cIiBUaGlzIGlzIGZyZWUgZG9jdW1lbnRhdGlvbjsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisuXCIgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKKy5cIiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgorLlwiIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorLlwiCisuXCIgVGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlJ3MgcmVmZXJlbmNlcyB0byAib2JqZWN0IGNvZGUiCisuXCIgYW5kICJleGVjdXRhYmxlcyIgYXJlIHRvIGJlIGludGVycHJldGVkIGFzIHRoZSBvdXRwdXQgb2YgYW55CisuXCIgZG9jdW1lbnQgZm9ybWF0dGluZyBvciB0eXBlc2V0dGluZyBzeXN0ZW0sIGluY2x1ZGluZworLlwiIGludGVybWVkaWF0ZSBhbmQgcHJpbnRlZCBvdXRwdXQuCisuXCIKKy5cIiBUaGlzIG1hbnVhbCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorLlwiIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisuXCIgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorLlwiIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisuXCIKKy5cIiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworLlwiIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisuXCIgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKy5cIgorLlRIIFVNT1VOVCA4ICJKdWx5IDIwMTQiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK3Vtb3VudCBcLSB1bm1vdW50IGZpbGUgc3lzdGVtcworLlNIIFNZTk9QU0lTCisuQiB1bW91bnQgXC1hCisuUkIgWyBcLWRmbG5ydiBdCisuUkIgWyBcLXQKKy5JUiBmc3R5cGUgXQorLlJCIFsgXC1PCisuSVIgb3B0aW9uIC4uLl0KKy5zcAorLkIgdW1vdW50CisuUkIgWyBcLWRmbG5ydiBdCisuUkkgeyBkaXJlY3RvcnkgfCBkZXZpY2UgfS4uLgorLnNwCisuQiB1bW91bnQKKy5CUiBcLWggfCBcLVYKKworLlNIIERFU0NSSVBUSU9OCitUaGUKKy5CIHVtb3VudAorY29tbWFuZCBkZXRhY2hlcyB0aGUgbWVudGlvbmVkIGZpbGUgc3lzdGVtKHMpIGZyb20gdGhlIGZpbGUgaGllcmFyY2h5LiAgQQorZmlsZSBzeXN0ZW0gaXMgc3BlY2lmaWVkIGJ5IGdpdmluZyB0aGUgZGlyZWN0b3J5IHdoZXJlIGl0IGhhcyBiZWVuCittb3VudGVkLiAgR2l2aW5nIHRoZSBzcGVjaWFsIGRldmljZSBvbiB3aGljaCB0aGUgZmlsZSBzeXN0ZW0gbGl2ZXMgbWF5CithbHNvIHdvcmssIGJ1dCBpcyBvYnNvbGV0ZSwgbWFpbmx5IGJlY2F1c2UgaXQgd2lsbCBmYWlsIGluIGNhc2UgdGhpcworZGV2aWNlIHdhcyBtb3VudGVkIG9uIG1vcmUgdGhhbiBvbmUgZGlyZWN0b3J5LgorLlBQCitOb3RlIHRoYXQgYSBmaWxlIHN5c3RlbSBjYW5ub3QgYmUgdW5tb3VudGVkIHdoZW4gaXQgaXMgJ2J1c3knIC0gZm9yCitleGFtcGxlLCB3aGVuIHRoZXJlIGFyZSBvcGVuIGZpbGVzIG9uIGl0LCBvciB3aGVuIHNvbWUgcHJvY2VzcyBoYXMgaXRzCit3b3JraW5nIGRpcmVjdG9yeSB0aGVyZSwgb3Igd2hlbiBhIHN3YXAgZmlsZSBvbiBpdCBpcyBpbiB1c2UuICBUaGUKK29mZmVuZGluZyBwcm9jZXNzIGNvdWxkIGV2ZW4gYmUKKy5CIHVtb3VudAoraXRzZWxmIC0gaXQgb3BlbnMgbGliYywgYW5kIGxpYmMgaW4gaXRzIHR1cm4gbWF5IG9wZW4gZm9yIGV4YW1wbGUgbG9jYWxlCitmaWxlcy4gIEEgbGF6eSB1bm1vdW50IGF2b2lkcyB0aGlzIHByb2JsZW0uCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1hICwgIiBcLVwtYWxsIgorQWxsIG9mIHRoZSBmaWxlc3lzdGVtcyBkZXNjcmliZWQgaW4KKy5JIC9wcm9jL3NlbGYvbW91bnRpbmZvCisob3IgaW4gZGVwcmVjYXRlZCAvZXRjL210YWIpCithcmUgdW5tb3VudGVkLCBleGNlcHQgdGhlIHByb2MsIGRldmZzLCBkZXZwdHMsIHN5c2ZzLCBycGNfcGlwZWZzIGFuZCBuZnNkCitmaWxlc3lzdGVtcy4gVGhpcyBsaXN0IG9mIHRoZSBmaWxlc3lzdGVtcyBtYXkgYmUgcmVwbGFjZWQgYnkgXGZCXC1cLXR5cGVzXGZSCit1bW91bnQgb3B0aW9uLgorLlRQCisuQlIgXC1BICwgIiBcLVwtYWxsXC10YXJnZXRzIgorVW5tb3VudCBhbGwgbW91bnRwb2ludHMgaW4gdGhlIGN1cnJlbnQgbmFtZXNwYWNlIGZvciB0aGUgc3BlY2lmaWVkIGZpbGVzeXN0ZW0uCitUaGUgZmlsZXN5c3RlbSBjYW4gYmUgc3BlY2lmaWVkIGJ5IG9uZSBvZiB0aGUgbW91bnRwb2ludHMgb3IgdGhlIGRldmljZSBuYW1lIChvcgorVVVJRCwgZXRjLikuICBXaGVuIHRoaXMgb3B0aW9uIGlzIHVzZWQgdG9nZXRoZXIgd2l0aCBcZkJcLVwtcmVjdXJzaXZlXGZSLCB0aGVuCithbGwgbmVzdGVkIG1vdW50cyB3aXRoaW4gdGhlIGZpbGVzeXN0ZW0gYXJlIHJlY3Vyc2l2ZWx5IHVubW91bnRlZC4KK1RoaXMgb3B0aW9uIGlzIG9ubHkgc3VwcG9ydGVkIG9uIHN5c3RlbXMgd2hlcmUgL2V0Yy9tdGFiIGlzIGEgc3ltbGluawordG8gL3Byb2MvbW91bnRzLgorLlRQCisuQlIgXC1jICwgIiBcLVwtbm9cLWNhbm9uaWNhbGl6ZSIKK0RvIG5vdCBjYW5vbmljYWxpemUgcGF0aHMuICBGb3IgbW9yZSBkZXRhaWxzIGFib3V0IHRoaXMgb3B0aW9uIHNlZSB0aGUKKy5CUiBtb3VudCAoOCkKK21hbiBwYWdlLiAgTm90ZSB0aGF0IFxmQnVtb3VudFxmUiBkb2VzIG5vdCBwYXNzIHRoaXMgb3B0aW9uIHRvIHRoZQorLkJJIC9zYmluL3Vtb3VudC4gdHlwZQoraGVscGVycy4KKy5UUAorLkJSIFwtZCAsICIgXC1cLWRldGFjaFwtbG9vcCIKK1doZW4gdGhlIHVubW91bnRlZCBkZXZpY2Ugd2FzIGEgbG9vcCBkZXZpY2UsIGFsc28gZnJlZSB0aGlzIGxvb3AKK2RldmljZS4gVGhpcyBvcHRpb24gaXMgdW5uZWNlc3NhcnkgZm9yIGRldmljZXMgaW5pdGlhbGl6ZWQgYnkKKy5CUiBtb3VudCAoOCksCitpbiB0aGlzIGNhc2UgImF1dG9jbGVhciIgZnVuY3Rpb25hbGl0eSBpcyBlbmFibGVkIGJ5IGRlZmF1bHQuCisuVFAKKy5CIFwtXC1mYWtlCitDYXVzZXMgZXZlcnl0aGluZyB0byBiZSBkb25lIGV4Y2VwdCBmb3IgdGhlIGFjdHVhbCBzeXN0ZW0gY2FsbCBvciB1bW91bnQgaGVscGVyCitleGVjdXRpb247IHRoaXMgJ2Zha2VzJyB1bm1vdW50aW5nIHRoZSBmaWxlc3lzdGVtLiAgSXQgY2FuIGJlIHVzZWQgdG8gcmVtb3ZlCitlbnRyaWVzIGZyb20gdGhlIGRlcHJlY2F0ZWQKKy5JIC9ldGMvbXRhYgordGhhdCB3ZXJlIHVubW91bnRlZCBlYXJsaWVyIHdpdGggdGhlCisuQiBcLW4KK29wdGlvbi4KKy5UUAorLkJSIFwtZiAsICIgXC1cLWZvcmNlIgorRm9yY2UgYW4gdW5tb3VudCAoaW4gY2FzZSBvZiBhbiB1bnJlYWNoYWJsZSBORlMgc3lzdGVtKS4gIChSZXF1aXJlcyBrZXJuZWwKKzIuMS4xMTYgb3IgbGF0ZXIuKQorCitOb3RlIHRoYXQgdGhpcyBvcHRpb24gZG9lcyBub3QgZ3VhcmFudGVlIHRoYXQgdW1vdW50IGNvbW1hbmQgZG9lcyBub3QgaGFuZy4KK0l0J3Mgc3Ryb25nbHkgcmVjb21tZW5kZWQgdG8gdXNlIGFic29sdXRlIHBhdGhzIHdpdGhvdXQgc3ltbGlua3MgdG8gYXZvaWQKK3Vud2FudGVkIHJlYWRsaW5rIGFuZCBzdGF0IHN5c3RlbSBjYWxscyBvbiB1bnJlYWNoYWJsZSBORlMgaW4gdW1vdW50LgorLlRQCisuQlIgXC1pICwgIiBcLVwtaW50ZXJuYWxcLW9ubHkiCitEbyBub3QgY2FsbCB0aGUgXGZCL3NiaW4vdW1vdW50LlxmSWZpbGVzeXN0ZW1cZlIgaGVscGVyIGV2ZW4gaWYgaXQgZXhpc3RzLgorQnkgZGVmYXVsdCBzdWNoIGEgaGVscGVyIHByb2dyYW0gaXMgY2FsbGVkIGlmIGl0IGV4aXN0cy4KKy5UUAorLkJSIFwtbCAsICIgXC1cLWxhenkiCitMYXp5IHVubW91bnQuICBEZXRhY2ggdGhlIGZpbGVzeXN0ZW0gZnJvbSB0aGUgZmlsZSBoaWVyYXJjaHkgbm93LAorYW5kIGNsZWFuIHVwIGFsbCByZWZlcmVuY2VzIHRvIHRoaXMgZmlsZXN5c3RlbSBhcyBzb29uIGFzIGl0IGlzIG5vdCBidXN5Cithbnltb3JlLiAgKFJlcXVpcmVzIGtlcm5lbCAyLjQuMTEgb3IgbGF0ZXIuKQorLlRQCisuQlIgXC1uICwgIiBcLVwtbm9cLW10YWIiCitVbm1vdW50IHdpdGhvdXQgd3JpdGluZyBpbgorLklSIC9ldGMvbXRhYiAuCisuVFAKKy5CUiBcLU8gLCAiIFwtXC10ZXN0XC1vcHRzICIgXGZJb3B0aW9uXGZSLi4uCitVbm1vdW50IG9ubHkgdGhlIGZpbGVzeXN0ZW1zIHRoYXQgaGF2ZSB0aGUgc3BlY2lmaWVkIG9wdGlvbiBzZXQgaW4KKy5JUiAvZXRjL2ZzdGFiIC4KK01vcmUgdGhhbiBvbmUgb3B0aW9uIG1heSBiZSBzcGVjaWZpZWQgaW4gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdC4KK0VhY2ggb3B0aW9uIGNhbiBiZSBwcmVmaXhlZCB3aXRoCisuQiBubwordG8gaW5kaWNhdGUgdGhhdCBubyBhY3Rpb24gc2hvdWxkIGJlIHRha2VuIGZvciB0aGlzIG9wdGlvbi4KKy5UUAorLkJSIFwtUiAsICIgXC1cLXJlY3Vyc2l2ZSIKK1JlY3Vyc2l2ZWx5IHVubW91bnQgZWFjaCBzcGVjaWZpZWQgZGlyZWN0b3J5LiAgUmVjdXJzaW9uIGZvciBlYWNoIGRpcmVjdG9yeSB3aWxsCitzdG9wIGlmIGFueSB1bm1vdW50IG9wZXJhdGlvbiBpbiB0aGUgY2hhaW4gZmFpbHMgZm9yIGFueSByZWFzb24uICBUaGUgcmVsYXRpb25zaGlwCitiZXR3ZWVuIG1vdW50cG9pbnRzIGlzIGRldGVybWluZWQgYnkgL3Byb2Mvc2VsZi9tb3VudGluZm8gZW50cmllcy4gIFRoZSBmaWxlc3lzdGVtCittdXN0IGJlIHNwZWNpZmllZCBieSBtb3VudHBvaW50IHBhdGg7IGEgcmVjdXJzaXZlIHVubW91bnQgYnkgZGV2aWNlIG5hbWUgKG9yIFVVSUQpCitpcyB1bnN1cHBvcnRlZC4KKy5UUAorLkJSIFwtciAsICIgXC1cLXJlYWRcLW9ubHkiCitXaGVuIGFuIHVubW91bnQgZmFpbHMsIHRyeSB0byByZW1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtb25seS4KKy5UUAorLkJSIFwtdCAsICIgXC1cLXR5cGVzICIgXGZJdHlwZVxmUi4uLgorSW5kaWNhdGUgdGhhdCB0aGUgYWN0aW9ucyBzaG91bGQgb25seSBiZSB0YWtlbiBvbiBmaWxlc3lzdGVtcyBvZiB0aGUKK3NwZWNpZmllZAorLklSIHR5cGUgLgorTW9yZSB0aGFuIG9uZSB0eXBlIG1heSBiZSBzcGVjaWZpZWQgaW4gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdC4gIFRoZSBsaXN0CitvZiBmaWxlc3lzdGVtIHR5cGVzIGNhbiBiZSBwcmVmaXhlZCB3aXRoCisuQiBubwordG8gaW5kaWNhdGUgdGhhdCBubyBhY3Rpb24gc2hvdWxkIGJlIHRha2VuIGZvciBhbGwgb2YgdGhlIG1lbnRpb25lZCB0eXBlcy4KKy5CUgorTm90ZSB0aGF0CisuQiB1bW91bnQKK3JlYWRzIGluZm9ybWF0aW9uIGFib3V0IG1vdW50ZWQgZmlsZXN5c3RlbXMgZnJvbSBrZXJuZWwgKC9wcm9jL21vdW50cykgYW5kCitmaWxlc3lzdGVtIG5hbWVzIG1heSBiZSBkaWZmZXJlbnQgdGhhbiBmaWxlc3lzdGVtIG5hbWVzIHVzZWQgaW4gdGhlIC9ldGMvZnN0YWIKKyhlLmcuICJuZnM0IiB2cy4gIm5mcyIpLgorLlRQCisuQlIgXC12ICwgIiBcLVwtdmVyYm9zZSIKK1ZlcmJvc2UgbW9kZS4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggIkxPT1AgREVWSUNFIgorVGhlCisuQiB1bW91bnQKK2NvbW1hbmQgd2lsbCBhdXRvbWF0aWNhbGx5IGRldGFjaCBsb29wIGRldmljZSBwcmV2aW91c2x5IGluaXRpYWxpemVkIGJ5CisuQlIgbW91bnQgKDgpCitjb21tYW5kIGluZGVwZW5kZW50bHkgb2YgL2V0Yy9tdGFiLgorCitJbiB0aGlzIGNhc2UgdGhlIGRldmljZSBpcyBpbml0aWFsaXplZCB3aXRoICJhdXRvY2xlYXIiIGZsYWcgKHNlZQorLkJSIGxvc2V0dXAgKDgpCitvdXRwdXQgZm9yIG1vcmUgZGV0YWlscyksIG90aGVyd2lzZSBpdCdzIG5lY2Vzc2FyeSB0byB1c2UgdGhlIG9wdGlvbiBcZkIgXC1cLWRldGFjaFwtbG9vcFxmUgorb3IgY2FsbCBcZkJsb3NldHVwIC1kIDxkZXZpY2U+XGZSLiBUaGUgYXV0b2NsZWFyIGZlYXR1cmUgaXMgc3VwcG9ydGVkIHNpbmNlIExpbnV4IDIuNi4yNS4KKy5TSCBFWFRFUk5BTCBIRUxQRVJTCitUaGUgc3ludGF4IG9mIGV4dGVybmFsIHVubW91bnQgaGVscGVycyBpczoKKy5QUAorLlJTCisuQkkgdW1vdW50LiBzdWZmaXgKKy5SSSB7IGRpcmVjdG9yeSB8IGRldmljZSB9CisuUkIgWyBcLWZsbnJ2IF0KKy5SQiBbIFwtdAorLklSIHR5cGUgLiBzdWJ0eXBlIF0KKy5SRQorLlBQCit3aGVyZSBcZklzdWZmaXhcZlIgaXMgdGhlIGZpbGVzeXN0ZW0gdHlwZSAob3IgdGhlIHZhbHVlIGZyb20gYQorXGZCdWhlbHBlcj1cZlIgb3IgXGZCaGVscGVyPVxmUiBtYXJrZXIgaW4gdGhlIG10YWIgZmlsZSkuCitUaGUgXGZCXC10XGZSIG9wdGlvbiBjYW4gYmUgdXNlZCBmb3IgZmlsZXN5c3RlbXMgdGhhdAoraGF2ZSBzdWJ0eXBlIHN1cHBvcnQuICBGb3IgZXhhbXBsZToKKy5QUAorLlJTCisuQiB1bW91bnQuZnVzZSBcLXQgZnVzZS5zc2hmcworLlJFCisuUFAKK0EgXGZCdWhlbHBlcj1cZklzb21ldGhpbmdcZlIgbWFya2VyICh1bnByaXZpbGVnZWQgaGVscGVyKSBjYW4gYXBwZWFyIGluCit0aGUgXGZJL2V0Yy9tdGFiXGZSIGZpbGUgd2hlbiBvcmRpbmFyeSB1c2VycyBuZWVkIHRvIGJlIGFibGUgdG8gdW5tb3VudAorYSBtb3VudHBvaW50IHRoYXQgaXMgbm90IGRlZmluZWQgaW4gXGZJL2V0Yy9mc3RhYlxmUgorKGZvciBleGFtcGxlIGZvciBhIGRldmljZSB0aGF0IHdhcyBtb3VudGVkIGJ5IFxmQnVkaXNrc1xmUigxKSkuCisuUFAKK0EgXGZCaGVscGVyPVxmSXR5cGVcZlIgbWFya2VyIGluIHRoZSBtdGFiIGZpbGUgd2lsbCByZWRpcmVjdAorYWxsIHVubW91bnQgcmVxdWVzdHMKK3RvIHRoZSBcZkIvc2Jpbi91bW91bnQuXGZJdHlwZVxmUiBoZWxwZXIgaW5kZXBlbmRlbnRseSBvZiBVSUQuCisuUFAKK05vdGUgdGhhdCBcZkkvZXRjL210YWJcZlIgaXMgY3VycmVudGx5IGRlcHJlY2F0ZWQgYW5kIGhlbHBlcj0gYW5kIGFub3RoZXIKK3VzZXJzcGFjZSBtb3VudCBvcHRpb25zIGFyZSBtYWludGFpbmVkIGJ5IGxpYm1vdW50LgorLlNIIEZJTEVTCisuVFAKKy5JIC9ldGMvbXRhYgordGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtcyAoZGVwcmVjYXRlZCBhbmQgdXN1YWxseSByZXBsYWNlZCBieQorc3ltbGluayB0byAvcHJvYy9tb3VudHMpCisuVFAKKy5JIC9ldGMvZnN0YWIKK3RhYmxlIG9mIGtub3duIGZpbGVzeXN0ZW1zCisuVFAKKy5JIC9wcm9jL3NlbGYvbW91bnRpbmZvCit0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zIGdlbmVyYXRlZCBieSBrZXJuZWwuCisuU0ggRU5WSVJPTk1FTlQKKy5JUCBMSUJNT1VOVF9GU1RBQj08cGF0aD4KK292ZXJyaWRlcyB0aGUgZGVmYXVsdCBsb2NhdGlvbiBvZiB0aGUgZnN0YWIgZmlsZSAoaWdub3JlZCBmb3Igc3VpZCkKKy5JUCBMSUJNT1VOVF9NVEFCPTxwYXRoPgorb3ZlcnJpZGVzIHRoZSBkZWZhdWx0IGxvY2F0aW9uIG9mIHRoZSBtdGFiIGZpbGUgKGlnbm9yZWQgZm9yIHN1aWQpCisuSVAgTElCTU9VTlRfREVCVUc9YWxsCitlbmFibGVzIGxpYm1vdW50IGRlYnVnIG91dHB1dAorLlNIICJTRUUgQUxTTyIKKy5CUiB1bW91bnQgKDIpLAorLkJSIGxvc2V0dXAgKDgpLAorLkJSIG1vdW50ICg4KQorLlNIIEhJU1RPUlkKK0EKKy5CIHVtb3VudAorY29tbWFuZCBhcHBlYXJlZCBpbiBWZXJzaW9uIDYgQVQmVCBVTklYLgorLlNIIEFWQUlMQUJJTElUWQorVGhlIHVtb3VudCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBmdHA6Ly9cOmZ0cC5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy91bW91bnQuYyBiL3N5cy11dGlscy91bW91bnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTM2NDdmCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL3Vtb3VudC5jCkBAIC0wLDAgKzEsNjU2IEBACisvKgorICogdW1vdW50KDgpIC0tIG1vdW50IGEgZmlsZXN5c3RlbQorICoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBSZWQgSGF0LCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBXcml0dGVuIGJ5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd291bGQgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKyAqIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisgKiA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisKKyNpbmNsdWRlIDxsaWJtb3VudC5oPgorCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImVudi5oIgorI2luY2x1ZGUgIm9wdHV0aWxzLmgiCisjaW5jbHVkZSAiZXhpdGNvZGVzLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJjYW5vbmljYWxpemUuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKworc3RhdGljIGludCB0YWJsZV9wYXJzZXJfZXJyY2Ioc3RydWN0IGxpYm1udF90YWJsZSAqdGIgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpLAorCQkJY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCBsaW5lKQoreworCWlmIChmaWxlbmFtZSkKKwkJd2FybngoXygiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQgLS0gaWdub3JlZCIpLCBmaWxlbmFtZSwgbGluZSk7CisJcmV0dXJuIDE7Cit9CisKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgcHJpbnRfdmVyc2lvbih2b2lkKQoreworCWNvbnN0IGNoYXIgKnZlciA9IE5VTEw7CisJY29uc3QgY2hhciAqKmZlYXR1cmVzID0gTlVMTCwgKipwOworCisJbW50X2dldF9saWJyYXJ5X3ZlcnNpb24oJnZlcik7CisJbW50X2dldF9saWJyYXJ5X2ZlYXR1cmVzKCZmZWF0dXJlcyk7CisKKwlwcmludGYoXygiJXMgZnJvbSAlcyAobGlibW91bnQgJXMiKSwKKwkJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lLAorCQkJUEFDS0FHRV9TVFJJTkcsCisJCQl2ZXIpOworCXAgPSBmZWF0dXJlczsKKwl3aGlsZSAocCAmJiAqcCkgeworCQlmcHV0cyhwID09IGZlYXR1cmVzID8gIjogIiA6ICIsICIsIHN0ZG91dCk7CisJCWZwdXRzKCpwKyssIHN0ZG91dCk7CisJfQorCWZwdXRzKCIpXG4iLCBzdGRvdXQpOworCWV4aXQoTU9VTlRfRVhfU1VDQ0VTUyk7Cit9CitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZShGSUxFICpvdXQpCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKAorCQkiICUxJHMgWy1oVl1cbiIKKwkJIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorCQkiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IHwgPGRpcmVjdG9yeT5cbiIpLAorCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiVW5tb3VudCBmaWxlc3lzdGVtcy5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWEsIC0tYWxsICAgICAgICAgICAgICAgdW5tb3VudCBhbGwgZmlsZXN5c3RlbXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICB1bm1vdW50IGFsbCBtb3VudHBvaW50cyBmb3IgdGhlIGdpdmVuIGRldmljZSBpbiB0aGVcbiIKKwkgICAgICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50IG5hbWVzcGFjZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGlmIG1vdW50ZWQgbG9vcCBkZXZpY2UsIGFsc28gZnJlZSB0aGlzIGxvb3AgZGV2aWNlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgdW1vdW50KDIpIHN5c2NhbGxcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBmb3JjZSB1bm1vdW50IChpbiBjYXNlIG9mIGFuIHVucmVhY2hhYmxlIE5GUyBzeXN0ZW0pXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgdW1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgZGV0YWNoIHRoZSBmaWxlc3lzdGVtIG5vdywgY2xlYW4gdXAgdGhpbmdzIGxhdGVyXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVIsIC0tcmVjdXJzaXZlICAgICAgICAgcmVjdXJzaXZlbHkgdW5tb3VudCBhIHRhcmdldCB3aXRoIGFsbCBpdHMgY2hpbGRyZW5cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBpbiBjYXNlIHVubW91bnRpbmcgZmFpbHMsIHRyeSB0byByZW1vdW50IHJlYWQtb25seVxuIiksIG91dCk7CisJZnB1dHMoXygiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHNheSB3aGF0IGlzIGJlaW5nIGRvbmVcbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKFVTQUdFX0hFTFAsIG91dCk7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoInVtb3VudCg4KSIpKTsKKworCWV4aXQob3V0ID09IHN0ZGVyciA/IE1PVU5UX0VYX1VTQUdFIDogTU9VTlRfRVhfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIGV4aXRfbm9uX3Jvb3QoY29uc3QgY2hhciAqb3B0aW9uKQoreworCWNvbnN0IHVpZF90IHJ1aWQgPSBnZXR1aWQoKTsKKwljb25zdCB1aWRfdCBldWlkID0gZ2V0ZXVpZCgpOworCisJaWYgKHJ1aWQgPT0gMCAmJiBldWlkICE9IDApIHsKKwkJLyogdXNlciBpcyByb290LCBidXQgc2V0dWlkIHRvIG5vbi1yb290ICovCisJCWlmIChvcHRpb24pCisJCQllcnJ4KE1PVU5UX0VYX1VTQUdFLAorCQkJCV8oIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiAiCisJCQkJICIoZWZmZWN0aXZlIFVJRCBpcyAldSkiKSwKKwkJCQkJb3B0aW9uLCBldWlkKTsKKwkJZXJyeChNT1VOVF9FWF9VU0FHRSwgXygib25seSByb290IGNhbiBkbyB0aGF0ICIKKwkJCQkgIihlZmZlY3RpdmUgVUlEIGlzICV1KSIpLCBldWlkKTsKKwl9CisJaWYgKG9wdGlvbikKKwkJZXJyeChNT1VOVF9FWF9VU0FHRSwgXygib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIiksIG9wdGlvbik7CisJZXJyeChNT1VOVF9FWF9VU0FHRSwgXygib25seSByb290IGNhbiBkbyB0aGF0IikpOworfQorCitzdGF0aWMgdm9pZCBzdWNjZXNzX21lc3NhZ2Uoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJY29uc3QgY2hhciAqdGd0LCAqc3JjOworCisJaWYgKG1udF9jb250ZXh0X2hlbHBlcl9leGVjdXRlZChjeHQpCisJICAgIHx8IG1udF9jb250ZXh0X2dldF9zdGF0dXMoY3h0KSAhPSAxKQorCQlyZXR1cm47CisKKwl0Z3QgPSBtbnRfY29udGV4dF9nZXRfdGFyZ2V0KGN4dCk7CisJaWYgKCF0Z3QpCisJCXJldHVybjsKKworCXNyYyA9IG1udF9jb250ZXh0X2dldF9zb3VyY2UoY3h0KTsKKwlpZiAoc3JjKQorCQl3YXJueChfKCIlcyAoJXMpIHVubW91bnRlZCIpLCB0Z3QsIHNyYyk7CisJZWxzZQorCQl3YXJueChfKCIlcyB1bm1vdW50ZWQiKSwgdGd0KTsKK30KKworLyoKKyAqIEhhbmRsZXMgZ2VuZXJpYyBlcnJvcnMgbGlrZSBFTk9NRU0sIC4uLgorICoKKyAqIHJjID0gMCBzdWNjZXNzCisgKiAgICAgPDAgZXJyb3IgKHVzdWFsbHkgLWVycm5vKQorICoKKyAqIFJldHVybnMgZXhpdCBzdGF0dXMgKE1PVU5UX0VYXyopIGFuZCBwcmludHMgZXJyb3IgbWVzc2FnZS4KKyAqLworc3RhdGljIGludCBoYW5kbGVfZ2VuZXJpY19lcnJvcnMoaW50IHJjLCBjb25zdCBjaGFyICptc2csIC4uLikKK3sKKwl2YV9saXN0IHZhOworCisJdmFfc3RhcnQodmEsIG1zZyk7CisJZXJybm8gPSAtcmM7CisKKwlzd2l0Y2goZXJybm8pIHsKKwljYXNlIEVJTlZBTDoKKwljYXNlIEVQRVJNOgorCQl2d2Fybihtc2csIHZhKTsKKwkJcmMgPSBNT1VOVF9FWF9VU0FHRTsKKwkJYnJlYWs7CisJY2FzZSBFTk9NRU06CisJCXZ3YXJuKG1zZywgdmEpOworCQlyYyA9IE1PVU5UX0VYX1NZU0VSUjsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJdndhcm4obXNnLCB2YSk7CisJCXJjID0gTU9VTlRfRVhfRkFJTDsKKwkJYnJlYWs7CisJfQorCXZhX2VuZCh2YSk7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IG1rX2V4aXRfY29kZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgaW50IHJjKQoreworCWludCBzeXNlcnI7CisJY29uc3QgY2hhciAqdGd0ID0gbW50X2NvbnRleHRfZ2V0X3RhcmdldChjeHQpOworCisJaWYgKG1udF9jb250ZXh0X2hlbHBlcl9leGVjdXRlZChjeHQpKQorCQkvKgorCQkgKiAvc2Jpbi91bW91bnQuPHR5cGU+IGNhbGxlZCwgcmV0dXJuIHN0YXR1cworCQkgKi8KKwkJcmV0dXJuIG1udF9jb250ZXh0X2dldF9oZWxwZXJfc3RhdHVzKGN4dCk7CisKKwlpZiAocmMgPT0gMCAmJiBtbnRfY29udGV4dF9nZXRfc3RhdHVzKGN4dCkgPT0gMSkKKwkJLyoKKwkJICogTGlibW91bnQgc3VjY2VzcyAmJiBzeXNjYWxsIHN1Y2Nlc3MuCisJCSAqLworCQlyZXR1cm4gTU9VTlRfRVhfU1VDQ0VTUzsKKworCisJaWYgKCFtbnRfY29udGV4dF9zeXNjYWxsX2NhbGxlZChjeHQpKSB7CisJCS8qCisJCSAqIGxpYm1vdW50IGVycm9ycyAoZXh0cmEgbGlicmFyeSBjaGVja3MpCisJCSAqLworCQlpZiAocmMgPT0gLUVQRVJNICYmICFtbnRfY29udGV4dF90YWJfYXBwbGllZChjeHQpKSB7CisJCQkvKiBmYWlsZWQgdG8gZXZhbHVhdGUgcGVybWlzc2lvbnMgYmVjYXVzZSBub3QgZm91bmQKKwkJCSAqIHJlbGV2YW50IGVudHJ5IGluIG10YWIgKi8KKwkJCXdhcm54KF8oIiVzOiBub3QgbW91bnRlZCIpLCB0Z3QpOworCQkJcmV0dXJuIE1PVU5UX0VYX1VTQUdFOworCQl9CisJCXJldHVybiBoYW5kbGVfZ2VuZXJpY19lcnJvcnMocmMsIF8oIiVzOiB1bW91bnQgZmFpbGVkIiksIHRndCk7CisKKwl9IGVsc2UgaWYgKG1udF9jb250ZXh0X2dldF9zeXNjYWxsX2Vycm5vKGN4dCkgPT0gMCkgeworCQkvKgorCQkgKiB1bW91bnQoMikgc3lzY2FsbCBzdWNjZXNzLCBidXQgc29tZXRoaW5nIGVsc2UgZmFpbGVkCisJCSAqIChwcm9iYWJseSBlcnJvciBpbiBtdGFiIHByb2Nlc3NpbmcpLgorCQkgKi8KKwkJaWYgKHJjIDwgMCkKKwkJCXJldHVybiBoYW5kbGVfZ2VuZXJpY19lcnJvcnMocmMsCisJCQkJXygiJXM6IGZpbGVzeXN0ZW0gd2FzIHVubW91bnRlZCwgYnV0IG1vdW50KDgpIGZhaWxlZCIpLAorCQkJCXRndCk7CisKKwkJcmV0dXJuIE1PVU5UX0VYX1NPRlRXQVJFOwkvKiBpbnRlcm5hbCBlcnJvciAqLworCisJfQorCisJLyoKKwkgKiB1bW91bnQoMikgZXJyb3JzCisJICovCisJc3lzZXJyID0gbW50X2NvbnRleHRfZ2V0X3N5c2NhbGxfZXJybm8oY3h0KTsKKworCXN3aXRjaChzeXNlcnIpIHsKKwljYXNlIEVOWElPOgorCQl3YXJueChfKCIlczogaW52YWxpZCBibG9jayBkZXZpY2UiKSwgdGd0KTsJLyogPz8/ICovCisJCWJyZWFrOworCWNhc2UgRUlOVkFMOgorCQl3YXJueChfKCIlczogbm90IG1vdW50ZWQiKSwgdGd0KTsKKwkJYnJlYWs7CisJY2FzZSBFSU86CisJCXdhcm54KF8oIiVzOiBjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIiksIHRndCk7CisJCWJyZWFrOworCWNhc2UgRUJVU1k6CisJCXdhcm54KF8oIiVzOiB0YXJnZXQgaXMgYnVzeVxuIgorCQkgICAgICAgIiAgICAgICAgKEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gYWJvdXQgcHJvY2Vzc2VzIHRoYXRcbiIKKwkJICAgICAgICIgICAgICAgICB1c2UgdGhlIGRldmljZSBpcyBmb3VuZCBieSBsc29mKDgpIG9yIGZ1c2VyKDEpLikiKSwKKwkJCXRndCk7CisJCWJyZWFrOworCWNhc2UgRU5PRU5UOgorCQlpZiAodGd0ICYmICp0Z3QpCisJCQl3YXJueChfKCIlczogbW91bnRwb2ludCBub3QgZm91bmQiKSwgdGd0KTsKKwkJZWxzZQorCQkJd2FybngoXygidW5kZWZpbmVkIG1vdW50cG9pbnQiKSk7CisJCWJyZWFrOworCWNhc2UgRVBFUk06CisJCXdhcm54KF8oIiVzOiBtdXN0IGJlIHN1cGVydXNlciB0byB1bm1vdW50IiksIHRndCk7CisJCWJyZWFrOworCWNhc2UgRUFDQ0VTOgorCQl3YXJueChfKCIlczogYmxvY2sgZGV2aWNlcyBhcmUgbm90IHBlcm1pdHRlZCBvbiBmaWxlc3lzdGVtIiksIHRndCk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWVycm5vID0gc3lzZXJyOworCQl3YXJuKCIlcyIsIHRndCk7CisJCWJyZWFrOworCX0KKwlyZXR1cm4gTU9VTlRfRVhfRkFJTDsKK30KKworc3RhdGljIGludCB1bW91bnRfYWxsKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBsaWJtbnRfaXRlciAqaXRyOworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCWludCBtbnRyYywgaWdub3JlZCwgcmMgPSAwOworCisJaXRyID0gbW50X25ld19pdGVyKE1OVF9JVEVSX0JBQ0tXQVJEKTsKKwlpZiAoIWl0cikgeworCQl3YXJuKF8oImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGl0ZXJhdG9yIikpOworCQlyZXR1cm4gTU9VTlRfRVhfU1lTRVJSOworCX0KKworCXdoaWxlIChtbnRfY29udGV4dF9uZXh0X3Vtb3VudChjeHQsIGl0ciwgJmZzLCAmbW50cmMsICZpZ25vcmVkKSA9PSAwKSB7CisKKwkJY29uc3QgY2hhciAqdGd0ID0gbW50X2ZzX2dldF90YXJnZXQoZnMpOworCisJCWlmIChpZ25vcmVkKSB7CisJCQlpZiAobW50X2NvbnRleHRfaXNfdmVyYm9zZShjeHQpKQorCQkJCXByaW50ZihfKCIlLTI1czogaWdub3JlZFxuIiksIHRndCk7CisJCX0gZWxzZSB7CisJCQlpbnQgeHJjID0gbWtfZXhpdF9jb2RlKGN4dCwgbW50cmMpOworCisJCQlpZiAoeHJjID09IE1PVU5UX0VYX1NVQ0NFU1MKKwkJCSAgICAmJiBtbnRfY29udGV4dF9pc192ZXJib3NlKGN4dCkpCisJCQkJcHJpbnRmKCIlLTI1czogc3VjY2Vzc2Z1bGx5IHVubW91bnRlZFxuIiwgdGd0KTsKKwkJCXJjIHw9IHhyYzsKKwkJfQorCX0KKworCW1udF9mcmVlX2l0ZXIoaXRyKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdW1vdW50X29uZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqc3BlYykKK3sKKwlpbnQgcmM7CisKKwlpZiAoIXNwZWMpCisJCXJldHVybiBNT1VOVF9FWF9TT0ZUV0FSRTsKKworCWlmIChtbnRfY29udGV4dF9zZXRfdGFyZ2V0KGN4dCwgc3BlYykpCisJCWVycihNT1VOVF9FWF9TWVNFUlIsIF8oImZhaWxlZCB0byBzZXQgdW1vdW50IHRhcmdldCIpKTsKKworCXJjID0gbW50X2NvbnRleHRfdW1vdW50KGN4dCk7CisJcmMgPSBta19leGl0X2NvZGUoY3h0LCByYyk7CisKKwlpZiAocmMgPT0gTU9VTlRfRVhfU1VDQ0VTUyAmJiBtbnRfY29udGV4dF9pc192ZXJib3NlKGN4dCkpCisJCXN1Y2Nlc3NfbWVzc2FnZShjeHQpOworCisJbW50X3Jlc2V0X2NvbnRleHQoY3h0KTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgbGlibW50X3RhYmxlICpuZXdfbW91bnRpbmZvKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBsaWJtbnRfdGFibGUgKnRiID0gbW50X25ld190YWJsZSgpOworCWlmICghdGIpCisJCWVycihNT1VOVF9FWF9TWVNFUlIsIF8oImxpYm1vdW50IHRhYmxlIGFsbG9jYXRpb24gZmFpbGVkIikpOworCisJbW50X3RhYmxlX3NldF9wYXJzZXJfZXJyY2IodGIsIHRhYmxlX3BhcnNlcl9lcnJjYik7CisJbW50X3RhYmxlX3NldF9jYWNoZSh0YiwgbW50X2NvbnRleHRfZ2V0X2NhY2hlKGN4dCkpOworCisJaWYgKG1udF90YWJsZV9wYXJzZV9maWxlKHRiLCBfUEFUSF9QUk9DX01PVU5USU5GTykpIHsKKwkJd2FybihfKCJmYWlsZWQgdG8gcGFyc2UgJXMiKSwgX1BBVEhfUFJPQ19NT1VOVElORk8pOworCQltbnRfdW5yZWZfdGFibGUodGIpOworCQl0YiA9IE5VTEw7CisJfQorCisJcmV0dXJuIHRiOworfQorCisvKgorICogbGlrZSB1bW91bnRfb25lKCkgYnV0IGRvZXMgbm90IHJldHVybiBlcnJvciBpcyBAc3BlYyBub3QgbW91bnRlZAorICovCitzdGF0aWMgaW50IHVtb3VudF9vbmVfaWZfbW91bnRlZChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqc3BlYykKK3sKKwlpbnQgcmM7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisKKwlyYyA9IG1udF9jb250ZXh0X2ZpbmRfdW1vdW50X2ZzKGN4dCwgc3BlYywgJmZzKTsKKwlpZiAocmMgPT0gMSkgeworCQlyYyA9IE1PVU5UX0VYX1NVQ0NFU1M7CQkvKiBhbHJlYWR5IHVubW91bnRlZCAqLworCQltbnRfcmVzZXRfY29udGV4dChjeHQpOworCX0gZWxzZSBpZiAocmMgPCAwKSB7CisJCXJjID0gbWtfZXhpdF9jb2RlKGN4dCwgcmMpOwkvKiBlcnJvciAqLworCQltbnRfcmVzZXRfY29udGV4dChjeHQpOworCX0gZWxzZQorCQlyYyA9IHVtb3VudF9vbmUoY3h0LCBtbnRfZnNfZ2V0X3RhcmdldChmcykpOworCisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHVtb3VudF9kb19yZWN1cnNlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorCQlzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yiwgc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJc3RydWN0IGxpYm1udF9mcyAqY2hpbGQ7CisJc3RydWN0IGxpYm1udF9pdGVyICppdHIgPSBtbnRfbmV3X2l0ZXIoTU5UX0lURVJfQkFDS1dBUkQpOworCWludCByYzsKKworCWlmICghaXRyKQorCQllcnIoTU9VTlRfRVhfU1lTRVJSLCBfKCJsaWJtb3VudCBpdGVyYXRvciBhbGxvY2F0aW9uIGZhaWxlZCIpKTsKKworCS8qIHVtb3VudCBhbGwgY2hpbGRyZW4gKi8KKwlmb3IgKDs7KSB7CisJCXJjID0gbW50X3RhYmxlX25leHRfY2hpbGRfZnModGIsIGl0ciwgZnMsICZjaGlsZCk7CisJCWlmIChyYyA8IDApIHsKKwkJCXdhcm54KF8oImZhaWxlZCB0byBnZXQgY2hpbGQgZnMgb2YgJXMiKSwKKwkJCQkJbW50X2ZzX2dldF90YXJnZXQoZnMpKTsKKwkJCXJjID0gTU9VTlRfRVhfU09GVFdBUkU7CisJCQlnb3RvIGRvbmU7CisJCX0gZWxzZSBpZiAocmMgPT0gMSkKKwkJCWJyZWFrOwkJLyogbm8gbW9yZSBjaGlsZHJlbiAqLworCisJCXJjID0gdW1vdW50X2RvX3JlY3Vyc2UoY3h0LCB0YiwgY2hpbGQpOworCQlpZiAocmMgIT0gTU9VTlRfRVhfU1VDQ0VTUykKKwkJCWdvdG8gZG9uZTsKKwl9CisKKwlyYyA9IHVtb3VudF9vbmVfaWZfbW91bnRlZChjeHQsIG1udF9mc19nZXRfdGFyZ2V0KGZzKSk7Citkb25lOgorCW1udF9mcmVlX2l0ZXIoaXRyKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdW1vdW50X3JlY3Vyc2l2ZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqc3BlYykKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YjsKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKwlpbnQgcmM7CisKKwl0YiA9IG5ld19tb3VudGluZm8oY3h0KTsKKwlpZiAoIXRiKQorCQlyZXR1cm4gTU9VTlRfRVhfU09GVFdBUkU7CisKKwkvKiBpdCdzIGFsd2F5cyByZWFsIG1vdW50cG9pbnQsIGRvbid0IGFzc3VtZSB0aGF0IHRoZSB0YXJnZXQgbWF5YmUgYSBkZXZpY2UgKi8KKwltbnRfY29udGV4dF9kaXNhYmxlX3N3YXBtYXRjaChjeHQsIDEpOworCisJZnMgPSBtbnRfdGFibGVfZmluZF90YXJnZXQodGIsIHNwZWMsIE1OVF9JVEVSX0JBQ0tXQVJEKTsKKwlpZiAoZnMpCisJCXJjID0gdW1vdW50X2RvX3JlY3Vyc2UoY3h0LCB0YiwgZnMpOworCWVsc2UgeworCQlyYyA9IE1PVU5UX0VYX1VTQUdFOworCQl3YXJueChhY2Nlc3Moc3BlYywgRl9PSykgPT0gMCA/CisJCQkJXygiJXM6IG5vdCBtb3VudGVkIikgOgorCQkJCV8oIiVzOiBub3QgZm91bmQiKSwgc3BlYyk7CisJfQorCisJbW50X3VucmVmX3RhYmxlKHRiKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdW1vdW50X2FsbHRhcmdldHMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKnNwZWMsIGludCByZWMpCit7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJc3RydWN0IGxpYm1udF90YWJsZSAqdGI7CisJc3RydWN0IGxpYm1udF9pdGVyICppdHIgPSBOVUxMOworCWRldl90IGRldm5vID0gMDsKKwlpbnQgcmM7CisKKwkvKiBDb252ZXJ0IEBzcGVjIHRvIGRldmljZSBuYW1lLCBVc2UgdGhlIHNhbWUgbG9naWMgbGlrZSByZWd1bGFyCisJICogInVtb3VudCA8c3BlYz4iLgorCSAqLworCXJjID0gbW50X2NvbnRleHRfZmluZF91bW91bnRfZnMoY3h0LCBzcGVjLCAmZnMpOworCWlmIChyYyA9PSAxKSB7CisJCXJjID0gTU9VTlRfRVhfVVNBR0U7CisJCXdhcm54KGFjY2VzcyhzcGVjLCBGX09LKSA9PSAwID8KKwkJCQlfKCIlczogbm90IG1vdW50ZWQiKSA6CisJCQkJXygiJXM6IG5vdCBmb3VuZCIpLCBzcGVjKTsKKwkJcmV0dXJuIHJjOworCX0KKwlpZiAocmMgPCAwKQorCQlyZXR1cm4gbWtfZXhpdF9jb2RlKGN4dCwgcmMpOwkJLyogZXJyb3IgKi8KKworCWlmICghbW50X2ZzX2dldF9zcmNwYXRoKGZzKSB8fCAhbW50X2ZzX2dldF9kZXZubyhmcykpCisJCWVycngoTU9VTlRfRVhfVVNBR0UsIF8oIiVzOiBmYWlsZWQgdG8gZGV0ZXJtaW5lIHNvdXJjZSAiCisJCQkJIigtLWFsbC10YXJnZXRzIGlzIHVuc3VwcG9ydGVkIG9uIHN5c3RlbXMgd2l0aCAiCisJCQkJInJlZ3VsYXIgbXRhYiBmaWxlKS4iKSwgc3BlYyk7CisKKwlpdHIgPSBtbnRfbmV3X2l0ZXIoTU5UX0lURVJfQkFDS1dBUkQpOworCWlmICghaXRyKQorCQllcnIoTU9VTlRfRVhfU1lTRVJSLCBfKCJsaWJtb3VudCBpdGVyYXRvciBhbGxvY2F0aW9uIGZhaWxlZCIpKTsKKworCS8qIGdldCBvbiBAY3h0IGluZGVwZW5kZW50IG1vdW50aW5mbyAqLworCXRiID0gbmV3X21vdW50aW5mbyhjeHQpOworCWlmICghdGIpIHsKKwkJcmMgPSBNT1VOVF9FWF9TT0ZUV0FSRTsKKwkJZ290byBkb25lOworCX0KKworCS8qIE5vdGUgdGhhdCBAZnMgaXMgZnJvbSBtb3VudCBjb250ZXh0IGFuZCB0aGUgY29udGV4dCB3aWxsIGJlIHJlc2V0CisJICogYWZ0ZXIgZWFjaCB1bW91bnQoKSBjYWxsICovCisJZGV2bm8gPSBtbnRfZnNfZ2V0X2Rldm5vKGZzKTsKKwlmcyA9IE5VTEw7CisKKwltbnRfcmVzZXRfY29udGV4dChjeHQpOworCisJd2hpbGUgKG1udF90YWJsZV9uZXh0X2ZzKHRiLCBpdHIsICZmcykgPT0gMCkgeworCQlpZiAobW50X2ZzX2dldF9kZXZubyhmcykgIT0gZGV2bm8pCisJCQljb250aW51ZTsKKwkJbW50X2NvbnRleHRfZGlzYWJsZV9zd2FwbWF0Y2goY3h0LCAxKTsKKwkJaWYgKHJlYykKKwkJCXJjID0gdW1vdW50X2RvX3JlY3Vyc2UoY3h0LCB0YiwgZnMpOworCQllbHNlCisJCQlyYyA9IHVtb3VudF9vbmVfaWZfbW91bnRlZChjeHQsIG1udF9mc19nZXRfdGFyZ2V0KGZzKSk7CisKKwkJaWYgKHJjICE9IE1PVU5UX0VYX1NVQ0NFU1MpCisJCQlicmVhazsKKwl9CisKK2RvbmU6CisJbW50X2ZyZWVfaXRlcihpdHIpOworCW1udF91bnJlZl90YWJsZSh0Yik7CisKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBDaGVjayBwYXRoIC0tIG5vbi1yb290IHVzZXIgc2hvdWxkIG5vdCBiZSBhYmxlIHRvIHJlc29sdmUgcGF0aCB3aGljaCBpcworICogdW5yZWFkYWJsZSBmb3IgaGltLgorICovCitzdGF0aWMgY2hhciAqc2FuaXRpemVfcGF0aChjb25zdCBjaGFyICpwYXRoKQoreworCWNoYXIgKnA7CisKKwlpZiAoIXBhdGgpCisJCXJldHVybiBOVUxMOworCisJcCA9IGNhbm9uaWNhbGl6ZV9wYXRoX3Jlc3RyaWN0ZWQocGF0aCk7CisJaWYgKCFwKQorCQllcnIoTU9VTlRfRVhfVVNBR0UsICIlcyIsIHBhdGgpOworCisJcmV0dXJuIHA7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlpbnQgYywgcmMgPSAwLCBhbGwgPSAwLCByZWN1cnNpdmUgPSAwLCBhbGx0YXJnZXRzID0gMDsKKwlzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dDsKKwljaGFyICp0eXBlcyA9IE5VTEw7CisKKwllbnVtIHsKKwkJVU1PVU5UX09QVF9GQUtFID0gQ0hBUl9NQVggKyAxLAorCX07CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJhbGwiLCAwLCAwLCAnYScgfSwKKwkJeyAiYWxsLXRhcmdldHMiLCAwLCAwLCAnQScgfSwKKwkJeyAiZGV0YWNoLWxvb3AiLCAwLCAwLCAnZCcgfSwKKwkJeyAiZmFrZSIsIDAsIDAsIFVNT1VOVF9PUFRfRkFLRSB9LAorCQl7ICJmb3JjZSIsIDAsIDAsICdmJyB9LAorCQl7ICJoZWxwIiwgMCwgMCwgJ2gnIH0sCisJCXsgImludGVybmFsLW9ubHkiLCAwLCAwLCAnaScgfSwKKwkJeyAibGF6eSIsIDAsIDAsICdsJyB9LAorCQl7ICJuby1jYW5vbmljYWxpemUiLCAwLCAwLCAnYycgfSwKKwkJeyAibm8tbXRhYiIsIDAsIDAsICduJyB9LAorCQl7ICJyZWFkLW9ubHkiLCAwLCAwLCAncicgfSwKKwkJeyAicmVjdXJzaXZlIiwgMCwgMCwgJ1InIH0sCisJCXsgInRlc3Qtb3B0cyIsIDEsIDAsICdPJyB9LAorCQl7ICJ0eXBlcyIsIDEsIDAsICd0JyB9LAorCQl7ICJ2ZXJib3NlIiwgMCwgMCwgJ3YnIH0sCisJCXsgInZlcnNpb24iLCAwLCAwLCAnVicgfSwKKwkJeyBOVUxMLCAwLCAwLCAwIH0KKwl9OworCisJc3RhdGljIGNvbnN0IHVsX2V4Y2xfdCBleGNsW10gPSB7ICAgICAgIC8qIHJvd3MgYW5kIGNvbHMgaW4gaW4gQVNDSUkgb3JkZXIgKi8KKwkJeyAnQScsJ2EnIH0sCQkJLyogYWxsLXRhcmdldHMsYWxsICovCisJCXsgJ1InLCdhJyB9LAkJCS8qIHJlY3Vyc2l2ZSxhbGwgKi8KKwkJeyAnTycsJ1InLCd0J30sCQkJLyogb3B0aW9ucyxyZWN1cnNpdmUsdHlwZXMgKi8KKwkJeyAnUicsJ3InIH0sCQkJLyogcmVjdXJzaXZlLHJlYWQtb25seSAqLworCQl7IDAgfQorCX07CisJaW50IGV4Y2xfc3RbQVJSQVlfU0laRShleGNsKV0gPSBVTF9FWENMX1NUQVRVU19JTklUOworCisJc2FuaXRpemVfZW52KCk7CisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCW1udF9pbml0X2RlYnVnKDApOworCWN4dCA9IG1udF9uZXdfY29udGV4dCgpOworCWlmICghY3h0KQorCQllcnIoTU9VTlRfRVhfU1lTRVJSLCBfKCJsaWJtb3VudCBjb250ZXh0IGFsbG9jYXRpb24gZmFpbGVkIikpOworCisJbW50X2NvbnRleHRfc2V0X3RhYmxlc19lcnJjYihjeHQsIHRhYmxlX3BhcnNlcl9lcnJjYik7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiYUFjZGZoaWxuUnJPOnQ6dlYiLAorCQkJCQlsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisKKworCQkvKiBvbmx5IGZldyBvcHRpb25zIGFyZSBhbGxvd2VkIGZvciBub24tcm9vdCB1c2VycyAqLworCQlpZiAobW50X2NvbnRleHRfaXNfcmVzdHJpY3RlZChjeHQpICYmICFzdHJjaHIoImhkaWxWdiIsIGMpKQorCQkJZXhpdF9ub25fcm9vdChvcHRpb25fdG9fbG9uZ29wdChjLCBsb25nb3B0cykpOworCisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhjLCBsb25nb3B0cywgZXhjbCwgZXhjbF9zdCk7CisKKwkJc3dpdGNoKGMpIHsKKwkJY2FzZSAnYSc6CisJCQlhbGwgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ0EnOgorCQkJYWxsdGFyZ2V0cyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnYyc6CisJCQltbnRfY29udGV4dF9kaXNhYmxlX2Nhbm9uaWNhbGl6ZShjeHQsIFRSVUUpOworCQkJYnJlYWs7CisJCWNhc2UgJ2QnOgorCQkJbW50X2NvbnRleHRfZW5hYmxlX2xvb3BkZWwoY3h0LCBUUlVFKTsKKwkJCWJyZWFrOworCQljYXNlIFVNT1VOVF9PUFRfRkFLRToKKwkJCW1udF9jb250ZXh0X2VuYWJsZV9mYWtlKGN4dCwgVFJVRSk7CisJCQlicmVhazsKKwkJY2FzZSAnZic6CisJCQltbnRfY29udGV4dF9lbmFibGVfZm9yY2UoY3h0LCBUUlVFKTsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCQlicmVhazsKKwkJY2FzZSAnaSc6CisJCQltbnRfY29udGV4dF9kaXNhYmxlX2hlbHBlcnMoY3h0LCBUUlVFKTsKKwkJCWJyZWFrOworCQljYXNlICdsJzoKKwkJCW1udF9jb250ZXh0X2VuYWJsZV9sYXp5KGN4dCwgVFJVRSk7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQltbnRfY29udGV4dF9kaXNhYmxlX210YWIoY3h0LCBUUlVFKTsKKwkJCWJyZWFrOworCQljYXNlICdyJzoKKwkJCW1udF9jb250ZXh0X2VuYWJsZV9yZG9ubHlfdW1vdW50KGN4dCwgVFJVRSk7CisJCQlicmVhazsKKwkJY2FzZSAnUic6CisJCQlyZWN1cnNpdmUgPSBUUlVFOworCQkJYnJlYWs7CisJCWNhc2UgJ08nOgorCQkJaWYgKG1udF9jb250ZXh0X3NldF9vcHRpb25zX3BhdHRlcm4oY3h0LCBvcHRhcmcpKQorCQkJCWVycihNT1VOVF9FWF9TWVNFUlIsIF8oImZhaWxlZCB0byBzZXQgb3B0aW9ucyBwYXR0ZXJuIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ3QnOgorCQkJdHlwZXMgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAndic6CisJCQltbnRfY29udGV4dF9lbmFibGVfdmVyYm9zZShjeHQsIFRSVUUpOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRfdmVyc2lvbigpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlhcmdjIC09IG9wdGluZDsKKwlhcmd2ICs9IG9wdGluZDsKKworCWlmIChhbGwpIHsKKwkJaWYgKCF0eXBlcykKKwkJCXR5cGVzID0gIm5vcHJvYyxub2RldmZzLG5vZGV2cHRzLG5vc3lzZnMsbm9ycGNfcGlwZWZzLG5vbmZzZCxub3NlbGludXhmcyI7CisKKwkJbW50X2NvbnRleHRfc2V0X2ZzdHlwZV9wYXR0ZXJuKGN4dCwgdHlwZXMpOworCQlyYyA9IHVtb3VudF9hbGwoY3h0KTsKKworCX0gZWxzZSBpZiAoYXJnYyA8IDEpIHsKKwkJdXNhZ2Uoc3RkZXJyKTsKKworCX0gZWxzZSBpZiAoYWxsdGFyZ2V0cykgeworCQl3aGlsZSAoYXJnYy0tKQorCQkJcmMgKz0gdW1vdW50X2FsbHRhcmdldHMoY3h0LCAqYXJndisrLCByZWN1cnNpdmUpOworCX0gZWxzZSBpZiAocmVjdXJzaXZlKSB7CisJCXdoaWxlIChhcmdjLS0pCisJCQlyYyArPSB1bW91bnRfcmVjdXJzaXZlKGN4dCwgKmFyZ3YrKyk7CisJfSBlbHNlIHsKKwkJd2hpbGUgKGFyZ2MtLSkgeworCQkJY2hhciAqcGF0aCA9ICphcmd2OworCisJCQlpZiAobW50X2NvbnRleHRfaXNfcmVzdHJpY3RlZChjeHQpCisJCQkgICAgJiYgIW1udF90YWdfaXNfdmFsaWQocGF0aCkpCisJCQkJcGF0aCA9IHNhbml0aXplX3BhdGgocGF0aCk7CisKKwkJCXJjICs9IHVtb3VudF9vbmUoY3h0LCBwYXRoKTsKKworCQkJaWYgKHBhdGggIT0gKmFyZ3YpCisJCQkJZnJlZShwYXRoKTsKKwkJCWFyZ3YrKzsKKwkJfQorCX0KKworCW1udF9mcmVlX2NvbnRleHQoY3h0KTsKKwlyZXR1cm4gKHJjIDwgMjU2KSA/IHJjIDogMjU1OworfQorCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvdW5zaGFyZS4xIGIvc3lzLXV0aWxzL3Vuc2hhcmUuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZTU4YzdkCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL3Vuc2hhcmUuMQpAQCAtMCwwICsxLDI0MSBAQAorLlRIIFVOU0hBUkUgMSAiRmVicnVhcnkgMjAxNiIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK3Vuc2hhcmUgXC0gcnVuIHByb2dyYW0gd2l0aCBzb21lIG5hbWVzcGFjZXMgdW5zaGFyZWQgZnJvbSBwYXJlbnQKKy5TSCBTWU5PUFNJUworLkIgdW5zaGFyZQorW29wdGlvbnNdCisuSSBwcm9ncmFtCisuUkkgWyBhcmd1bWVudHMgXQorLlNIIERFU0NSSVBUSU9OCitVbnNoYXJlcyB0aGUgaW5kaWNhdGVkIG5hbWVzcGFjZXMgZnJvbSB0aGUgcGFyZW50IHByb2Nlc3MgYW5kIHRoZW4gZXhlY3V0ZXMKK3RoZSBzcGVjaWZpZWQgXGZJcHJvZ3JhbVxmUi4KKy5QUAorVGhlIG5hbWVzcGFjZXMgY2FuIG9wdGlvbmFsbHkgYmUgbWFkZSBwZXJzaXN0ZW50IGJ5IGJpbmQgbW91bnRpbmcKKy9wcm9jL1xmSXBpZFxmUi9ucy9cZkl0eXBlXGZSIGZpbGVzIHRvIGEgZmlsZXN5c3RlbSBwYXRoIGFuZCBlbnRlcmVkIHdpdGgKKy5CUiBcJW5zZW50ZXIgKDEpCitldmVuIGFmdGVyIHRoZSBcZklwcm9ncmFtXGZSIHRlcm1pbmF0ZXMuCitPbmNlIGEgcGVyc2lzdGVudCBcJW5hbWVzcGFjZSBpcyBubyBsb25nZXIgbmVlZGVkLCBpdCBjYW4gYmUgdW5wZXJzaXN0ZWQgd2l0aAorLkJSIHVtb3VudCAoOCkuCitTZWUgdGhlIFxmQkVYQU1QTEVTXGZSIHNlY3Rpb24gZm9yIG1vcmUgZGV0YWlscy4KKy5QUAorVGhlIG5hbWVzcGFjZXMgdG8gYmUgdW5zaGFyZWQgYXJlIGluZGljYXRlZCB2aWEgb3B0aW9ucy4gIFVuc2hhcmVhYmxlIG5hbWVzcGFjZXMgYXJlOgorLlRQCisuQlIgIm1vdW50IG5hbWVzcGFjZSIKK01vdW50aW5nIGFuZCB1bm1vdW50aW5nIGZpbGVzeXN0ZW1zIHdpbGwgbm90IGFmZmVjdCB0aGUgcmVzdCBvZiB0aGUgc3lzdGVtLAorZXhjZXB0IGZvciBmaWxlc3lzdGVtcyB3aGljaCBhcmUgZXhwbGljaXRseSBtYXJrZWQgYXMKK3NoYXJlZCAod2l0aCBcZkJtb3VudCAtLW1ha2Utc2hhcmVkXGZQOyBzZWUgXGZJL3Byb2Mvc2VsZi9tb3VudGluZm9cZlAgb3IKK1xmQmZpbmRtbnQgLW8rUFJPUEFHQVRJT05cZlAgZm9yIHRoZSBcZkJzaGFyZWRcZlAgZmxhZ3MpLgorRm9yIGZ1cnRoZXIgZGV0YWlscywgc2VlCisuQlIgbW91bnRfbmFtZXNwYWNlcyAoNykKK2FuZCB0aGUgZGlzY3Vzc2lvbiBvZiB0aGUKKy5CUiBDTE9ORV9ORVdOUworZmxhZyBpbgorLkJSIGNsb25lICgyKS4KKy5zcAorLkIgdW5zaGFyZQorc2luY2UgdXRpbC1saW51eCB2ZXJzaW9uIDIuMjcgYXV0b21hdGljYWxseSBzZXRzIHByb3BhZ2F0aW9uIHRvIFxmQnByaXZhdGVcZlAKK2luIGEgbmV3IG1vdW50IG5hbWVzcGFjZSB0byBtYWtlIHN1cmUgdGhhdCB0aGUgbmV3IG5hbWVzcGFjZSBpcyByZWFsbHkKK3Vuc2hhcmVkLiAgSXQncyBwb3NzaWJsZSB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZSB3aXRoIG9wdGlvbgorXGZCXC1cLXByb3BhZ2F0aW9uIHVuY2hhbmdlZFxmUC4KK05vdGUgdGhhdCBcZkJwcml2YXRlXGZQIGlzIHRoZSBrZXJuZWwgZGVmYXVsdC4KKy5UUAorLkJSICJVVFMgbmFtZXNwYWNlIgorU2V0dGluZyBob3N0bmFtZSBvciBkb21haW5uYW1lIHdpbGwgbm90IGFmZmVjdCB0aGUgcmVzdCBvZiB0aGUgc3lzdGVtLgorRm9yIGZ1cnRoZXIgZGV0YWlscywgc2VlCisuQlIgbmFtZXNwYWNlcyAoNykKK2FuZCB0aGUgZGlzY3Vzc2lvbiBvZiB0aGUKKy5CUiBDTE9ORV9ORVdVVFMKK2ZsYWcgaW4KKy5CUiBjbG9uZSAoMikuCisuVFAKKy5CUiAiSVBDIG5hbWVzcGFjZSIKK1RoZSBwcm9jZXNzIHdpbGwgaGF2ZSBhbiBpbmRlcGVuZGVudCBuYW1lc3BhY2UgZm9yIFBPU0lYIG1lc3NhZ2UgcXVldWVzCithcyB3ZWxsIGFzIFN5c3RlbSBWIFwlbWVzc2FnZSBxdWV1ZXMsCitzZW1hcGhvcmUgc2V0cyBhbmQgc2hhcmVkIG1lbW9yeSBzZWdtZW50cy4KK0ZvciBmdXJ0aGVyIGRldGFpbHMsIHNlZQorLkJSIG5hbWVzcGFjZXMgKDcpCithbmQgdGhlIGRpc2N1c3Npb24gb2YgdGhlCisuQlIgQ0xPTkVfTkVXSVBDCitmbGFnIGluCisuQlIgY2xvbmUgKDIpLgorLlRQCisuQlIgIm5ldHdvcmsgbmFtZXNwYWNlIgorVGhlIHByb2Nlc3Mgd2lsbCBoYXZlIGluZGVwZW5kZW50IElQdjQgYW5kIElQdjYgc3RhY2tzLCBJUCByb3V0aW5nIHRhYmxlcywKK2ZpcmV3YWxsIHJ1bGVzLCB0aGUgXGZJL3Byb2MvbmV0XGZQIGFuZCBcZkkvc3lzL2NsYXNzL25ldFxmUCBkaXJlY3RvcnkgdHJlZXMsCitzb2NrZXRzLCBldGMuCitGb3IgZnVydGhlciBkZXRhaWxzLCBzZWUKKy5CUiBuYW1lc3BhY2VzICg3KQorYW5kIHRoZSBkaXNjdXNzaW9uIG9mIHRoZQorLkJSIENMT05FX05FV05FVAorZmxhZyBpbgorLkJSIGNsb25lICgyKS4KKy5UUAorLkJSICJQSUQgbmFtZXNwYWNlIgorQ2hpbGRyZW4gd2lsbCBoYXZlIGEgZGlzdGluY3Qgc2V0IG9mIFBJRC10by1wcm9jZXNzIG1hcHBpbmdzIGZyb20gdGhlaXIgcGFyZW50LgorRm9yIGZ1cnRoZXIgZGV0YWlscywgc2VlCisuQlIgcGlkX25hbWVzcGFjZXMgKDcpCithbmQKK3RoZSBkaXNjdXNzaW9uIG9mIHRoZQorLkJSIENMT05FX05FV1BJRAorZmxhZyBpbgorLkJSIGNsb25lICgyKS4KKy5UUAorLkJSICJjZ3JvdXAgbmFtZXNwYWNlIgorVGhlIHByb2Nlc3Mgd2lsbCBoYXZlIGEgdmlydHVhbGl6ZWQgdmlldyBvZiBcZkkvcHJvY1w6L3NlbGZcOi9jZ3JvdXBcZlAsIGFuZCBuZXcKK2Nncm91cCBtb3VudHMgd2lsbCBiZSByb290ZWQgYXQgdGhlIG5hbWVzcGFjZSBjZ3JvdXAgcm9vdC4KK0ZvciBmdXJ0aGVyIGRldGFpbHMsIHNlZQorLkJSIGNncm91cF9uYW1lc3BhY2VzICg3KQorYW5kIHRoZSBkaXNjdXNzaW9uIG9mIHRoZQorLkJSIENMT05FX05FV0NHUk9VUAorZmxhZyBpbgorLkJSIGNsb25lICgyKS4KKy5UUAorLkJSICJ1c2VyIG5hbWVzcGFjZSIKK1RoZSBwcm9jZXNzIHdpbGwgaGF2ZSBhIGRpc3RpbmN0IHNldCBvZiBVSURzLCBHSURzIGFuZCBjYXBhYmlsaXRpZXMuCitGb3IgZnVydGhlciBkZXRhaWxzLCBzZWUKKy5CUiB1c2VyX25hbWVzcGFjZXMgKDcpCithbmQgdGhlIGRpc2N1c3Npb24gb2YgdGhlCisuQlIgQ0xPTkVfTkVXVVNFUgorZmxhZyBpbgorLkJSIGNsb25lICgyKS4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLWkgLCAiIFwtXC1pcGMiIFsgPVxmSWZpbGUgXQorVW5zaGFyZSB0aGUgSVBDIG5hbWVzcGFjZS4gIElmIFxmSWZpbGVcZlAgaXMgc3BlY2lmaWVkLCB0aGVuIGEgcGVyc2lzdGVudAorbmFtZXNwYWNlIGlzIGNyZWF0ZWQgYnkgYSBiaW5kIG1vdW50LgorLlRQCisuQlIgXC1tICwgIiBcLVwtbW91bnQiIFsgPVxmSWZpbGUgXQorVW5zaGFyZSB0aGUgbW91bnQgbmFtZXNwYWNlLiAgSWYgXGZJZmlsZVxmUCBpcyBzcGVjaWZpZWQsIHRoZW4gYSBwZXJzaXN0ZW50CituYW1lc3BhY2UgaXMgY3JlYXRlZCBieSBhIGJpbmQgbW91bnQuCitOb3RlIHRoYXQgXGZJZmlsZVxmUCBoYXMgdG8gYmUgbG9jYXRlZCBvbiBhIGZpbGVzeXN0ZW0gd2l0aCB0aGUgcHJvcGFnYXRpb24KK2ZsYWcgc2V0IHRvIFxmQnByaXZhdGVcZlAuICBVc2UgdGhlIGNvbW1hbmQgXGZCZmluZG1udCAtbytQUk9QQUdBVElPTlxmUAord2hlbiBub3Qgc3VyZSBhYm91dCB0aGUgY3VycmVudCBzZXR0aW5nLiAgU2VlIGFsc28gdGhlIGV4YW1wbGVzIGJlbG93LgorLlRQCisuQlIgXC1uICwgIiBcLVwtbmV0IiBbID1cZklmaWxlIF0KK1Vuc2hhcmUgdGhlIG5ldHdvcmsgbmFtZXNwYWNlLiAgSWYgXGZJZmlsZVxmUCBpcyBzcGVjaWZpZWQsIHRoZW4gYSBwZXJzaXN0ZW50CituYW1lc3BhY2UgaXMgY3JlYXRlZCBieSBhIGJpbmQgbW91bnQuCisuVFAKKy5CUiBcLXAgLCAiIFwtXC1waWQiIFsgPVxmSWZpbGUgXQorVW5zaGFyZSB0aGUgUElEIG5hbWVzcGFjZS4gIElmIFxmSWZpbGVcZlAgaXMgc3BlY2lmaWVkIHRoZW4gcGVyc2lzdGVudAorbmFtZXNwYWNlIGlzIGNyZWF0ZWQgYnkgYSBiaW5kIG1vdW50LiAgU2VlIGFsc28gdGhlIFxmQi0tZm9ya1xmUCBhbmQKK1xmQi0tbW91bnQtcHJvY1xmUCBvcHRpb25zLgorLlRQCisuQlIgXC11ICwgIiBcLVwtdXRzIiBbID1cZklmaWxlIF0KK1Vuc2hhcmUgdGhlIFVUUyBuYW1lc3BhY2UuICBJZiBcZklmaWxlXGZQIGlzIHNwZWNpZmllZCwgdGhlbiBhIHBlcnNpc3RlbnQKK25hbWVzcGFjZSBpcyBjcmVhdGVkIGJ5IGEgYmluZCBtb3VudC4KKy5UUAorLkJSIFwtVSAsICIgXC1cLXVzZXIiIFsgPVxmSWZpbGUgXQorVW5zaGFyZSB0aGUgdXNlciBuYW1lc3BhY2UuICBJZiBcZklmaWxlXGZQIGlzIHNwZWNpZmllZCwgdGhlbiBhIHBlcnNpc3RlbnQKK25hbWVzcGFjZSBpcyBjcmVhdGVkIGJ5IGEgYmluZCBtb3VudC4KKy5UUAorLkJSIFwtQyAsICIgXC1cLWNncm91cCJbPVxmSWZpbGVcZlBdCitVbnNoYXJlIHRoZSBjZ3JvdXAgbmFtZXNwYWNlLiBJZiBcZklmaWxlXGZQIGlzIHNwZWNpZmllZCB0aGVuIHBlcnNpc3RlbnQgbmFtZXNwYWNlIGlzIGNyZWF0ZWQKK2J5IGJpbmQgbW91bnQuCisuVFAKKy5CUiBcLWYgLCAiIFwtXC1mb3JrIgorRm9yayB0aGUgc3BlY2lmaWVkIFxmSXByb2dyYW1cZlIgYXMgYSBjaGlsZCBwcm9jZXNzIG9mIFxmQnVuc2hhcmVcZlIgcmF0aGVyIHRoYW4KK3J1bm5pbmcgaXQgZGlyZWN0bHkuICBUaGlzIGlzIHVzZWZ1bCB3aGVuIGNyZWF0aW5nIGEgbmV3IFBJRCBuYW1lc3BhY2UuCisuVFAKKy5CUiBcLVwtbW91bnRcLXByb2MgWyA9XGZJbW91bnRwb2ludCBdCitKdXN0IGJlZm9yZSBydW5uaW5nIHRoZSBwcm9ncmFtLCBtb3VudCB0aGUgcHJvYyBmaWxlc3lzdGVtIGF0IFxmSW1vdW50cG9pbnRcZlAKKyhkZWZhdWx0IGlzIC9wcm9jKS4gIFRoaXMgaXMgdXNlZnVsIHdoZW4gY3JlYXRpbmcgYSBuZXcgUElEIG5hbWVzcGFjZS4gIEl0IGFsc28KK2ltcGxpZXMgY3JlYXRpbmcgYSBuZXcgbW91bnQgbmFtZXNwYWNlIHNpbmNlIHRoZSAvcHJvYyBtb3VudCB3b3VsZCBvdGhlcndpc2UKK21lc3MgdXAgZXhpc3RpbmcgcHJvZ3JhbXMgb24gdGhlIHN5c3RlbS4gIFRoZSBuZXcgcHJvYyBmaWxlc3lzdGVtIGlzIGV4cGxpY2l0bHkKK21vdW50ZWQgYXMgcHJpdmF0ZSAod2l0aCBNU19QUklWQVRFfE1TX1JFQykuCisuVFAKKy5CUiBcLXIgLCAiIFwtXC1tYXBcLXJvb3RcLXVzZXIiCitSdW4gdGhlIHByb2dyYW0gb25seSBhZnRlciB0aGUgY3VycmVudCBlZmZlY3RpdmUgdXNlciBhbmQgZ3JvdXAgSURzIGhhdmUgYmVlbiBtYXBwZWQgdG8KK3RoZSBzdXBlcnVzZXIgVUlEIGFuZCBHSUQgaW4gdGhlIG5ld2x5IGNyZWF0ZWQgdXNlciBuYW1lc3BhY2UuICBUaGlzIG1ha2VzIGl0IHBvc3NpYmxlIHRvCitjb252ZW5pZW50bHkgZ2FpbiBjYXBhYmlsaXRpZXMgbmVlZGVkIHRvIG1hbmFnZSB2YXJpb3VzIGFzcGVjdHMgb2YgdGhlIG5ld2x5IGNyZWF0ZWQKK25hbWVzcGFjZXMgKHN1Y2ggYXMgY29uZmlndXJpbmcgaW50ZXJmYWNlcyBpbiB0aGUgbmV0d29yayBuYW1lc3BhY2Ugb3IgbW91bnRpbmcgZmlsZXN5c3RlbXMgaW4KK3RoZSBtb3VudCBuYW1lc3BhY2UpIGV2ZW4gd2hlbiBydW4gdW5wcml2aWxlZ2VkLiAgQXMgYSBtZXJlIGNvbnZlbmllbmNlIGZlYXR1cmUsIGl0IGRvZXMgbm90IHN1cHBvcnQKK21vcmUgc29waGlzdGljYXRlZCB1c2UgY2FzZXMsIHN1Y2ggYXMgbWFwcGluZyBtdWx0aXBsZSByYW5nZXMgb2YgVUlEcyBhbmQgR0lEcy4KK1RoaXMgb3B0aW9uIGltcGxpZXMgXGZCLS1zZXRncm91cHM9ZGVueVxmUi4KKy5UUAorLkJSICJcLVwtcHJvcGFnYXRpb24gcHJpdmF0ZSIgfCBzaGFyZWQgfCBzbGF2ZSB8IHVuY2hhbmdlZAorUmVjdXJzaXZlbHkgc2V0IHRoZSBtb3VudCBwcm9wYWdhdGlvbiBmbGFnIGluIHRoZSBuZXcgbW91bnQgbmFtZXNwYWNlLiAgVGhlIGRlZmF1bHQKK2lzIHRvIHNldCB0aGUgcHJvcGFnYXRpb24gdG8gXGZJcHJpdmF0ZVxmUC4gIEl0IGlzIHBvc3NpYmxlIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlCit3aXRoIHRoZSBhcmd1bWVudCBcZkJ1bmNoYW5nZWRcZlIuICBUaGUgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWQgd2hlbiB0aGUgbW91bnQKK25hbWVzcGFjZSAoXGZCXC1cLW1vdW50XGZQKSBpcyBub3QgcmVxdWVzdGVkLgorLlRQCisuQlIgIlwtXC1zZXRncm91cHMgYWxsb3ciIHwgZGVueQorQWxsb3cgb3IgZGVueSB0aGUKKy5CUiBzZXRncm91cHMgKDIpCitzeXN0ZW0gY2FsbCBpbiBhIHVzZXIgbmFtZXNwYWNlLgorLnNwCitUbyBiZSBhYmxlIHRvIGNhbGwKKy5CUiBzZXRncm91cHMgKDIpLAordGhlIGNhbGxpbmcgcHJvY2VzcyBtdXN0IGF0IGxlYXN0IGhhdmUgQ0FQX1NFVEdJRC4KK0J1dCBzaW5jZSBMaW51eCAzLjE5IGEgZnVydGhlciByZXN0cmljdGlvbiBhcHBsaWVzOgordGhlIGtlcm5lbCBnaXZlcyBwZXJtaXNzaW9uIHRvIGNhbGwKKy5CUiBcJXNldGdyb3VwcyAoMikKK29ubHkgYWZ0ZXIgdGhlIEdJRCBtYXAgKFxmQi9wcm9jL1xmSXBpZFxmQi9naWRfbWFwXGZSKSBoYXMgYmVlbiBzZXQuCitUaGUgR0lEIG1hcCBpcyB3cml0YWJsZSBieSByb290IHdoZW4KKy5CUiBcJXNldGdyb3VwcyAoMikKK2lzIGVuYWJsZWQgKGkuZS4gXGZCYWxsb3dcZlIsIHRoZSBkZWZhdWx0KSwgYW5kCit0aGUgR0lEIG1hcCBiZWNvbWVzIHdyaXRhYmxlIGJ5IHVucHJpdmlsZWdlZCBwcm9jZXNzZXMgd2hlbgorLkJSIFwlc2V0Z3JvdXBzICgyKQoraXMgcGVybWFuZW50bHkgZGlzYWJsZWQgKHdpdGggXGZCZGVueVxmUikuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIIEVYQU1QTEVTCisuVFAKKy5CICMgdW5zaGFyZSAtLWZvcmsgLS1waWQgLS1tb3VudC1wcm9jIHJlYWRsaW5rIC9wcm9jL3NlbGYKKy5UUQorMQorLmJyCitFc3RhYmxpc2ggYSBQSUQgbmFtZXNwYWNlLCBlbnN1cmUgd2UncmUgUElEIDEgaW4gaXQgYWdhaW5zdCBhIG5ld2x5IG1vdW50ZWQKK3Byb2NmcyBpbnN0YW5jZS4KKy5UUAorLkIgJCB1bnNoYXJlIC0tbWFwLXJvb3QtdXNlciAtLXVzZXIgc2ggLWMgd2hvYW1pCisuVFEKK3Jvb3QKKy5icgorRXN0YWJsaXNoIGEgdXNlciBuYW1lc3BhY2UgYXMgYW4gdW5wcml2aWxlZ2VkIHVzZXIgd2l0aCBhIHJvb3QgdXNlciB3aXRoaW4gaXQuCisuVFAKKy5CICMgdG91Y2ggL3Jvb3QvdXRzLW5zCisuVFEKKy5CICMgdW5zaGFyZSAtLXV0cz0vcm9vdC91dHMtbnMgaG9zdG5hbWUgRk9PCisuVFEKKy5CICMgbnNlbnRlciAtLXV0cz0vcm9vdC91dHMtbnMgaG9zdG5hbWUKKy5UUQorRk9PCisuVFEKKy5CICMgdW1vdW50IC9yb290L3V0cy1ucworLmJyCitFc3RhYmxpc2ggYSBwZXJzaXN0ZW50IFVUUyBuYW1lc3BhY2UsIGFuZCBtb2RpZnkgdGhlIGhvc3RuYW1lLiAgVGhlIG5hbWVzcGFjZQoraXMgdGhlbiBlbnRlcmVkIHdpdGggXGZCbnNlbnRlclxmUi4gIFRoZSBuYW1lc3BhY2UgaXMgZGVzdHJveWVkIGJ5IHVubW91bnRpbmcKK3RoZSBiaW5kIHJlZmVyZW5jZS4KKy5UUAorLkIgIyBtb3VudCAtLWJpbmQgL3Jvb3QvbmFtZXNwYWNlcyAvcm9vdC9uYW1lc3BhY2VzCisuVFEKKy5CICMgbW91bnQgLS1tYWtlLXByaXZhdGUgL3Jvb3QvbmFtZXNwYWNlcworLlRRCisuQiAjIHRvdWNoIC9yb290L25hbWVzcGFjZXMvbW50CisuVFEKKy5CICMgdW5zaGFyZSAtLW1vdW50PS9yb290L25hbWVzcGFjZXMvbW50CisuYnIKK0VzdGFibGlzaCBhIHBlcnNpc3RlbnQgbW91bnQgbmFtZXNwYWNlIHJlZmVyZW5jZWQgYnkgdGhlIGJpbmQgbW91bnQKKy9yb290L25hbWVzcGFjZXMvbW50LiAgVGhpcyBleGFtcGxlIHNob3dzIGEgcG9ydGFibGUgc29sdXRpb24sIGJlY2F1c2UgaXQKK21ha2VzIHN1cmUgdGhhdCB0aGUgYmluZCBtb3VudCBpcyBjcmVhdGVkIG9uIGEgc2hhcmVkIGZpbGVzeXN0ZW0uCisKKy5TSCBTRUUgQUxTTworLkJSIGNsb25lICgyKSwKKy5CUiB1bnNoYXJlICgyKSwKKy5CUiBuYW1lc3BhY2VzICg3KSwKKy5CUiBtb3VudCAoOCkKKy5TSCBBVVRIT1JTCisuVVIgZG90dGVkbWFnQGRvdHRlZG1hZy5uZXQKK01pa2hhaWwgR3VzYXJvdgorLlVFCisuYnIKKy5VUiBremFrQHJlZGhhdC5jb20KK0thcmVsIFphaworLlVFCisuU0ggQVZBSUxBQklMSVRZCitUaGUgdW5zaGFyZSBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2Z0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy91bnNoYXJlLmMgYi9zeXMtdXRpbHMvdW5zaGFyZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzNGM3NTAKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvdW5zaGFyZS5jCkBAIC0wLDAgKzEsNDY0IEBACisvKgorICogdW5zaGFyZSgxKSAtIGNvbW1hbmQtbGluZSBpbnRlcmZhY2UgZm9yIHVuc2hhcmUoMikKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgTWlraGFpbCBHdXNhcm92IDxkb3R0ZWRtYWdAZG90dGVkbWFnLm5ldD4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCisgKiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55CisgKiBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyAqIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKyAqIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisgKiA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorICovCisKKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHNjaGVkLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzeXMvd2FpdC5oPgorI2luY2x1ZGUgPHN5cy9tb3VudC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisKKy8qIHdlIG9ubHkgbmVlZCBzb21lIGRlZmluZXMgbWlzc2luZyBpbiBzeXMvbW91bnQuaCwgbm8gbGlibW91bnQgbGlua2FnZSAqLworI2luY2x1ZGUgPGxpYm1vdW50Lmg+CisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJuYW1lc3BhY2UuaCIKKyNpbmNsdWRlICJleGVjX3NoZWxsLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAiYWxsLWlvLmgiCisKKy8qIHN5bmNocm9uaXplIHBhcmVudCBhbmQgY2hpbGQgYnkgcGlwZSAqLworI2RlZmluZSBQSVBFX1NZTkNfQllURQkweDA2CisKKy8qICdwcml2YXRlJyBpcyBrZXJuZWwgZGVmYXVsdCAqLworI2RlZmluZSBVTlNIQVJFX1BST1BBR0FUSU9OX0RFRkFVTFQJKE1TX1JFQyB8IE1TX1BSSVZBVEUpCisKKy8qIC9wcm9jIG5hbWVzcGFjZSBmaWxlcyBhbmQgbW91bnRwb2ludHMgZm9yIGJpbmRzICovCitzdGF0aWMgc3RydWN0IG5hbWVzcGFjZV9maWxlIHsKKwlpbnQJCXR5cGU7CQkvKiBDTE9ORV9ORVcqICovCisJY29uc3QgY2hhcgkqbmFtZTsJCS8qIG5zLzx0eXBlPiAqLworCWNvbnN0IGNoYXIJKnRhcmdldDsJLyogdXNlciBzcGVjaWZpZWQgdGFyZ2V0IGZvciBiaW5kIG1vdW50ICovCit9IG5hbWVzcGFjZV9maWxlc1tdID0geworCXsgLnR5cGUgPSBDTE9ORV9ORVdVU0VSLCAgLm5hbWUgPSAibnMvdXNlciIgfSwKKwl7IC50eXBlID0gQ0xPTkVfTkVXQ0dST1VQLC5uYW1lID0gIm5zL2Nncm91cCIgfSwKKwl7IC50eXBlID0gQ0xPTkVfTkVXSVBDLCAgIC5uYW1lID0gIm5zL2lwYyIgIH0sCisJeyAudHlwZSA9IENMT05FX05FV1VUUywgICAubmFtZSA9ICJucy91dHMiICB9LAorCXsgLnR5cGUgPSBDTE9ORV9ORVdORVQsICAgLm5hbWUgPSAibnMvbmV0IiAgfSwKKwl7IC50eXBlID0gQ0xPTkVfTkVXUElELCAgIC5uYW1lID0gIm5zL3BpZCIgIH0sCisJeyAudHlwZSA9IENMT05FX05FV05TLCAgICAubmFtZSA9ICJucy9tbnQiICB9LAorCXsgLm5hbWUgPSBOVUxMIH0KK307CisKK3N0YXRpYyBpbnQgbnBlcnNpc3RzOwkvKiBudW1iZXIgb2YgcGVyc2lzdGVudCBuYW1lc3BhY2VzICovCisKKworZW51bSB7CisJU0VUR1JPVVBTX05PTkUgPSAtMSwKKwlTRVRHUk9VUFNfREVOWSA9IDAsCisJU0VUR1JPVVBTX0FMTE9XID0gMSwKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICpzZXRncm91cHNfc3RyaW5nc1tdID0KK3sKKwlbU0VUR1JPVVBTX0RFTlldID0gImRlbnkiLAorCVtTRVRHUk9VUFNfQUxMT1ddID0gImFsbG93IgorfTsKKworc3RhdGljIGludCBzZXRncm91cHNfc3RyMmlkKGNvbnN0IGNoYXIgKnN0cikKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHNldGdyb3Vwc19zdHJpbmdzKTsgaSsrKQorCQlpZiAoc3RyY21wKHN0ciwgc2V0Z3JvdXBzX3N0cmluZ3NbaV0pID09IDApCisJCQlyZXR1cm4gaTsKKworCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1bnN1cHBvcnRlZCAtLXNldGdyb3VwcyBhcmd1bWVudCAnJXMnIiksIHN0cik7Cit9CisKK3N0YXRpYyB2b2lkIHNldGdyb3Vwc19jb250cm9sKGludCBhY3Rpb24pCit7CisJY29uc3QgY2hhciAqZmlsZSA9IF9QQVRIX1BST0NfU0VUR1JPVVBTOworCWNvbnN0IGNoYXIgKmNtZDsKKwlpbnQgZmQ7CisKKwlpZiAoYWN0aW9uIDwgMCB8fCAoc2l6ZV90KSBhY3Rpb24gPj0gQVJSQVlfU0laRShzZXRncm91cHNfc3RyaW5ncykpCisJCXJldHVybjsKKwljbWQgPSBzZXRncm91cHNfc3RyaW5nc1thY3Rpb25dOworCisJZmQgPSBvcGVuKGZpbGUsIE9fV1JPTkxZKTsKKwlpZiAoZmQgPCAwKSB7CisJCWlmIChlcnJubyA9PSBFTk9FTlQpCisJCQlyZXR1cm47CisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksIGZpbGUpOworCX0KKworCWlmICh3cml0ZV9hbGwoZmQsIGNtZCwgc3RybGVuKGNtZCkpKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJ3cml0ZSBmYWlsZWQgJXMiKSwgZmlsZSk7CisJY2xvc2UoZmQpOworfQorCitzdGF0aWMgdm9pZCBtYXBfaWQoY29uc3QgY2hhciAqZmlsZSwgdWludDMyX3QgZnJvbSwgdWludDMyX3QgdG8pCit7CisJY2hhciAqYnVmOworCWludCBmZDsKKworCWZkID0gb3BlbihmaWxlLCBPX1dST05MWSk7CisJaWYgKGZkIDwgMCkKKwkJIGVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksIGZpbGUpOworCisJeGFzcHJpbnRmKCZidWYsICIldSAldSAxIiwgZnJvbSwgdG8pOworCWlmICh3cml0ZV9hbGwoZmQsIGJ1Ziwgc3RybGVuKGJ1ZikpKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJ3cml0ZSBmYWlsZWQgJXMiKSwgZmlsZSk7CisJZnJlZShidWYpOworCWNsb3NlKGZkKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgcGFyc2VfcHJvcGFnYXRpb24oY29uc3QgY2hhciAqc3RyKQoreworCXNpemVfdCBpOworCXN0YXRpYyBjb25zdCBzdHJ1Y3QgcHJvcF9vcHRzIHsKKwkJY29uc3QgY2hhciAqbmFtZTsKKwkJdW5zaWduZWQgbG9uZyBmbGFnOworCX0gb3B0c1tdID0geworCQl7ICJzbGF2ZSIsCU1TX1JFQyB8IE1TX1NMQVZFIH0sCisJCXsgInByaXZhdGUiLAlNU19SRUMgfCBNU19QUklWQVRFIH0sCisJCXsgInNoYXJlZCIsICAgICBNU19SRUMgfCBNU19TSEFSRUQgfSwKKwkJeyAidW5jaGFuZ2VkIiwgICAgICAgIDAgfQorCX07CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShvcHRzKTsgaSsrKSB7CisJCWlmIChzdHJjbXAob3B0c1tpXS5uYW1lLCBzdHIpID09IDApCisJCQlyZXR1cm4gb3B0c1tpXS5mbGFnOworCX0KKworCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1bnN1cHBvcnRlZCBwcm9wYWdhdGlvbiBtb2RlOiAlcyIpLCBzdHIpOworfQorCitzdGF0aWMgdm9pZCBzZXRfcHJvcGFnYXRpb24odW5zaWduZWQgbG9uZyBmbGFncykKK3sKKwlpZiAoZmxhZ3MgPT0gMCkKKwkJcmV0dXJuOworCisJaWYgKG1vdW50KCJub25lIiwgIi8iLCBOVUxMLCBmbGFncywgTlVMTCkgIT0gMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IGNoYW5nZSByb290IGZpbGVzeXN0ZW0gcHJvcGFnYXRpb24iKSk7Cit9CisKKworc3RhdGljIGludCBzZXRfbnNfdGFyZ2V0KGludCB0eXBlLCBjb25zdCBjaGFyICpwYXRoKQoreworCXN0cnVjdCBuYW1lc3BhY2VfZmlsZSAqbnM7CisKKwlmb3IgKG5zID0gbmFtZXNwYWNlX2ZpbGVzOyBucy0+bmFtZTsgbnMrKykgeworCQlpZiAobnMtPnR5cGUgIT0gdHlwZSkKKwkJCWNvbnRpbnVlOworCQlucy0+dGFyZ2V0ID0gcGF0aDsKKwkJbnBlcnNpc3RzKys7CisJCXJldHVybiAwOworCX0KKworCXJldHVybiAtRUlOVkFMOworfQorCitzdGF0aWMgaW50IGJpbmRfbnNfZmlsZXMocGlkX3QgcGlkKQoreworCXN0cnVjdCBuYW1lc3BhY2VfZmlsZSAqbnM7CisJY2hhciBzcmNbUEFUSF9NQVhdOworCisJZm9yIChucyA9IG5hbWVzcGFjZV9maWxlczsgbnMtPm5hbWU7IG5zKyspIHsKKwkJaWYgKCFucy0+dGFyZ2V0KQorCQkJY29udGludWU7CisKKwkJc25wcmludGYoc3JjLCBzaXplb2Yoc3JjKSwgIi9wcm9jLyV1LyVzIiwgKHVuc2lnbmVkKSBwaWQsIG5zLT5uYW1lKTsKKworCQlpZiAobW91bnQoc3JjLCBucy0+dGFyZ2V0LCBOVUxMLCBNU19CSU5ELCBOVUxMKSAhPSAwKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygibW91bnQgJXMgb24gJXMgZmFpbGVkIiksIHNyYywgbnMtPnRhcmdldCk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbm9fdCBnZXRfbW50X2lubyhwaWRfdCBwaWQpCit7CisJc3RydWN0IHN0YXQgc3Q7CisJY2hhciBwYXRoW1BBVEhfTUFYXTsKKworCXNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwgIi9wcm9jLyV1L25zL21udCIsICh1bnNpZ25lZCkgcGlkKTsKKworCWlmIChzdGF0KHBhdGgsICZzdCkgIT0gMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IHN0YXQgJXMiKSwgcGF0aCk7CisJcmV0dXJuIHN0LnN0X2lubzsKK30KKworc3RhdGljIHZvaWQgYmluZF9uc19maWxlc19mcm9tX2NoaWxkKHBpZF90ICpjaGlsZCwgaW50IGZkc1syXSkKK3sKKwljaGFyIGNoOworCXBpZF90IHBwaWQgPSBnZXRwaWQoKTsKKwlpbm9fdCBpbm8gPSBnZXRfbW50X2lubyhwcGlkKTsKKworCWlmIChwaXBlKGZkcykgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJwaXBlIGZhaWxlZCIpKTsKKworCSpjaGlsZCA9IGZvcmsoKTsKKworCXN3aXRjaCAoKmNoaWxkKSB7CisJY2FzZSAtMToKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZm9yayBmYWlsZWQiKSk7CisKKwljYXNlIDA6CS8qIGNoaWxkICovCisJCWNsb3NlKGZkc1sxXSk7CisJCWZkc1sxXSA9IC0xOworCisJCS8qIHdhaXQgZm9yIHBhcmVudCAqLworCQlpZiAocmVhZF9hbGwoZmRzWzBdLCAmY2gsIDEpICE9IDEgJiYgY2ggIT0gUElQRV9TWU5DX0JZVEUpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gcmVhZCBwaXBlIikpOworCQlpZiAoZ2V0X21udF9pbm8ocHBpZCkgPT0gaW5vKQorCQkJZXhpdChFWElUX0ZBSUxVUkUpOworCQliaW5kX25zX2ZpbGVzKHBwaWQpOworCQlleGl0KEVYSVRfU1VDQ0VTUyk7CisJCWJyZWFrOworCisJZGVmYXVsdDogLyogcGFyZW50ICovCisJCWNsb3NlKGZkc1swXSk7CisJCWZkc1swXSA9IC0xOworCQlicmVhazsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHVzYWdlKGludCBzdGF0dXMpCit7CisJRklMRSAqb3V0ID0gc3RhdHVzID09IEVYSVRfU1VDQ0VTUyA/IHN0ZG91dCA6IHN0ZGVycjsKKworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXG4iKSwKKwkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlJ1biBhIHByb2dyYW0gd2l0aCBzb21lIG5hbWVzcGFjZXMgdW5zaGFyZWQgZnJvbSB0aGUgcGFyZW50LlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWksIC0taXBjWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgcGlkIG5hbWVzcGFjZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgICAgdW5zaGFyZSBjZ3JvdXAgbmFtZXNwYWNlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICBmb3JrIGJlZm9yZSBsYXVuY2hpbmcgPHByb2dyYW0+XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tbW91bnQtcHJvY1s9PGRpcj5dICBtb3VudCBwcm9jIGZpbGVzeXN0ZW0gZmlyc3QgKGltcGxpZXMgLS1tb3VudClcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIG1hcCBjdXJyZW50IHVzZXIgdG8gcm9vdCAoaW1wbGllcyAtLXVzZXIpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisJICAgICAgICAiICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZ5IG1vdW50IHByb3BhZ2F0aW9uIGluIG1vdW50IG5hbWVzcGFjZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1zLCAtLXNldGdyb3VwcyBhbGxvd3xkZW55ICBjb250cm9sIHRoZSBzZXRncm91cHMgc3lzY2FsbCBpbiB1c2VyIG5hbWVzcGFjZXNcbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKFVTQUdFX0hFTFAsIG91dCk7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoInVuc2hhcmUoMSkiKSk7CisKKwlleGl0KHN0YXR1cyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJZW51bSB7CisJCU9QVF9NT1VOVFBST0MgPSBDSEFSX01BWCArIDEsCisJCU9QVF9QUk9QQUdBVElPTiwKKwkJT1BUX1NFVEdST1VQUworCX07CisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyAiaGVscCIsIG5vX2FyZ3VtZW50LCAwLCAnaCcgfSwKKwkJeyAidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCAwLCAnVid9LAorCisJCXsgIm1vdW50IiwgIG9wdGlvbmFsX2FyZ3VtZW50LCAwLCAnbScgfSwKKwkJeyAidXRzIiwgICAgb3B0aW9uYWxfYXJndW1lbnQsIDAsICd1JyB9LAorCQl7ICJpcGMiLCAgICBvcHRpb25hbF9hcmd1bWVudCwgMCwgJ2knIH0sCisJCXsgIm5ldCIsICAgIG9wdGlvbmFsX2FyZ3VtZW50LCAwLCAnbicgfSwKKwkJeyAicGlkIiwgICAgb3B0aW9uYWxfYXJndW1lbnQsIDAsICdwJyB9LAorCQl7ICJ1c2VyIiwgICBvcHRpb25hbF9hcmd1bWVudCwgMCwgJ1UnIH0sCisJCXsgImNncm91cCIsIG9wdGlvbmFsX2FyZ3VtZW50LCAwLCAnQycgfSwKKworCQl7ICJmb3JrIiwgbm9fYXJndW1lbnQsIDAsICdmJyB9LAorCQl7ICJtb3VudC1wcm9jIiwgb3B0aW9uYWxfYXJndW1lbnQsIDAsIE9QVF9NT1VOVFBST0MgfSwKKwkJeyAibWFwLXJvb3QtdXNlciIsIG5vX2FyZ3VtZW50LCAwLCAncicgfSwKKwkJeyAicHJvcGFnYXRpb24iLCByZXF1aXJlZF9hcmd1bWVudCwgMCwgT1BUX1BST1BBR0FUSU9OIH0sCisJCXsgInNldGdyb3VwcyIsIHJlcXVpcmVkX2FyZ3VtZW50LCAwLCBPUFRfU0VUR1JPVVBTIH0sCisJCXsgTlVMTCwgMCwgMCwgMCB9CisJfTsKKworCWludCBzZXRncnBjbWQgPSBTRVRHUk9VUFNfTk9ORTsKKwlpbnQgdW5zaGFyZV9mbGFncyA9IDA7CisJaW50IGMsIGZvcmtpdCA9IDAsIG1hcHJvb3QgPSAwOworCWNvbnN0IGNoYXIgKnByb2NtbnQgPSBOVUxMOworCXBpZF90IHBpZCA9IDA7CisJaW50IGZkc1syXTsKKwlpbnQgc3RhdHVzOworCXVuc2lnbmVkIGxvbmcgcHJvcGFnYXRpb24gPSBVTlNIQVJFX1BST1BBR0FUSU9OX0RFRkFVTFQ7CisJdWlkX3QgcmVhbF9ldWlkID0gZ2V0ZXVpZCgpOworCWdpZF90IHJlYWxfZWdpZCA9IGdldGVnaWQoKTs7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIitmaFZtdWlucENVciIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ2YnOgorCQkJZm9ya2l0ID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCXVzYWdlKEVYSVRfU1VDQ0VTUyk7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdtJzoKKwkJCXVuc2hhcmVfZmxhZ3MgfD0gQ0xPTkVfTkVXTlM7CisJCQlpZiAob3B0YXJnKQorCQkJCXNldF9uc190YXJnZXQoQ0xPTkVfTkVXTlMsIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAndSc6CisJCQl1bnNoYXJlX2ZsYWdzIHw9IENMT05FX05FV1VUUzsKKwkJCWlmIChvcHRhcmcpCisJCQkJc2V0X25zX3RhcmdldChDTE9ORV9ORVdVVFMsIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAnaSc6CisJCQl1bnNoYXJlX2ZsYWdzIHw9IENMT05FX05FV0lQQzsKKwkJCWlmIChvcHRhcmcpCisJCQkJc2V0X25zX3RhcmdldChDTE9ORV9ORVdJUEMsIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQl1bnNoYXJlX2ZsYWdzIHw9IENMT05FX05FV05FVDsKKwkJCWlmIChvcHRhcmcpCisJCQkJc2V0X25zX3RhcmdldChDTE9ORV9ORVdORVQsIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAncCc6CisJCQl1bnNoYXJlX2ZsYWdzIHw9IENMT05FX05FV1BJRDsKKwkJCWlmIChvcHRhcmcpCisJCQkJc2V0X25zX3RhcmdldChDTE9ORV9ORVdQSUQsIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAnVSc6CisJCQl1bnNoYXJlX2ZsYWdzIHw9IENMT05FX05FV1VTRVI7CisJCQlpZiAob3B0YXJnKQorCQkJCXNldF9uc190YXJnZXQoQ0xPTkVfTkVXVVNFUiwgb3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICdDJzoKKwkJCXVuc2hhcmVfZmxhZ3MgfD0gQ0xPTkVfTkVXQ0dST1VQOworCQkJaWYgKG9wdGFyZykKKwkJCQlzZXRfbnNfdGFyZ2V0KENMT05FX05FV0NHUk9VUCwgb3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9NT1VOVFBST0M6CisJCQl1bnNoYXJlX2ZsYWdzIHw9IENMT05FX05FV05TOworCQkJcHJvY21udCA9IG9wdGFyZyA/IG9wdGFyZyA6ICIvcHJvYyI7CisJCQlicmVhazsKKwkJY2FzZSAncic6CisJCQl1bnNoYXJlX2ZsYWdzIHw9IENMT05FX05FV1VTRVI7CisJCQltYXByb290ID0gMTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9TRVRHUk9VUFM6CisJCQlzZXRncnBjbWQgPSBzZXRncm91cHNfc3RyMmlkKG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfUFJPUEFHQVRJT046CisJCQlwcm9wYWdhdGlvbiA9IHBhcnNlX3Byb3BhZ2F0aW9uKG9wdGFyZyk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKEVYSVRfRkFJTFVSRSk7CisJCX0KKwl9CisKKwlpZiAobnBlcnNpc3RzICYmICh1bnNoYXJlX2ZsYWdzICYgQ0xPTkVfTkVXTlMpKQorCQliaW5kX25zX2ZpbGVzX2Zyb21fY2hpbGQoJnBpZCwgZmRzKTsKKworCWlmICgtMSA9PSB1bnNoYXJlKHVuc2hhcmVfZmxhZ3MpKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJ1bnNoYXJlIGZhaWxlZCIpKTsKKworCWlmIChucGVyc2lzdHMpIHsKKwkJaWYgKHBpZCAmJiAodW5zaGFyZV9mbGFncyAmIENMT05FX05FV05TKSkgeworCQkJaW50IHJjOworCQkJY2hhciBjaCA9IFBJUEVfU1lOQ19CWVRFOworCisJCQkvKiBzaWduYWwgY2hpbGQgd2UgYXJlIHJlYWR5ICovCisJCQl3cml0ZV9hbGwoZmRzWzFdLCAmY2gsIDEpOworCQkJY2xvc2UoZmRzWzFdKTsKKwkJCWZkc1sxXSA9IC0xOworCisJCQkvKiB3YWl0IGZvciBiaW5kX25zX2ZpbGVzX2Zyb21fY2hpbGQoKSAqLworCQkJZG8geworCQkJCXJjID0gd2FpdHBpZChwaWQsICZzdGF0dXMsIDApOworCQkJCWlmIChyYyA8IDApIHsKKwkJCQkJaWYgKGVycm5vID09IEVJTlRSKQorCQkJCQkJY29udGludWU7CisJCQkJCWVycihFWElUX0ZBSUxVUkUsIF8oIndhaXRwaWQgZmFpbGVkIikpOworCQkJCX0KKwkJCQlpZiAoV0lGRVhJVEVEKHN0YXR1cykgJiYKKwkJCQkgICAgV0VYSVRTVEFUVVMoc3RhdHVzKSAhPSBFWElUX1NVQ0NFU1MpCisJCQkJCXJldHVybiBXRVhJVFNUQVRVUyhzdGF0dXMpOworCQkJfSB3aGlsZSAocmMgPCAwKTsKKwkJfSBlbHNlCisJCQkvKiBzaW1wbGUgd2F5LCBqdXN0IGJpbmQgKi8KKwkJCWJpbmRfbnNfZmlsZXMoZ2V0cGlkKCkpOworCX0KKworCWlmIChmb3JraXQpIHsKKwkJcGlkID0gZm9yaygpOworCisJCXN3aXRjaChwaWQpIHsKKwkJY2FzZSAtMToKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZvcmsgZmFpbGVkIikpOworCQljYXNlIDA6CS8qIGNoaWxkICovCisJCQlicmVhazsKKwkJZGVmYXVsdDogLyogcGFyZW50ICovCisJCQlpZiAod2FpdHBpZChwaWQsICZzdGF0dXMsIDApID09IC0xKQorCQkJCWVycihFWElUX0ZBSUxVUkUsIF8oIndhaXRwaWQgZmFpbGVkIikpOworCQkJaWYgKFdJRkVYSVRFRChzdGF0dXMpKQorCQkJCXJldHVybiBXRVhJVFNUQVRVUyhzdGF0dXMpOworCQkJZWxzZSBpZiAoV0lGU0lHTkFMRUQoc3RhdHVzKSkKKwkJCQlraWxsKGdldHBpZCgpLCBXVEVSTVNJRyhzdGF0dXMpKTsKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImNoaWxkIGV4aXQgZmFpbGVkIikpOworCQl9CisJfQorCisKKwlpZiAobWFwcm9vdCkgeworCQlpZiAoc2V0Z3JwY21kID09IFNFVEdST1VQU19BTExPVykKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJvcHRpb25zIC0tc2V0Z3JvdXBzPWFsbG93IGFuZCAiCisJCQkJCSItLW1hcC1yb290LXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIpKTsKKworCQkvKiBzaW5jZSBMaW51eCAzLjE5IHVucHJpdmlsZWdlZCB3cml0aW5nIG9mIC9wcm9jL3NlbGYvZ2lkX21hcAorCQkgKiBoYXMgcyBiZWVuIGRpc2FibGVkIHVubGVzcyAvcHJvYy9zZWxmL3NldGdyb3VwcyBpcyB3cml0dGVuCisJCSAqIGZpcnN0IHRvIHBlcm1hbmVudGx5IGRpc2FibGUgdGhlIGFiaWxpdHkgdG8gY2FsbCBzZXRncm91cHMKKwkJICogaW4gdGhhdCB1c2VyIG5hbWVzcGFjZS4gKi8KKwkJc2V0Z3JvdXBzX2NvbnRyb2woU0VUR1JPVVBTX0RFTlkpOworCQltYXBfaWQoX1BBVEhfUFJPQ19VSURNQVAsIDAsIHJlYWxfZXVpZCk7CisJCW1hcF9pZChfUEFUSF9QUk9DX0dJRE1BUCwgMCwgcmVhbF9lZ2lkKTsKKworCX0gZWxzZSBpZiAoc2V0Z3JwY21kICE9IFNFVEdST1VQU19OT05FKQorCQlzZXRncm91cHNfY29udHJvbChzZXRncnBjbWQpOworCisJaWYgKCh1bnNoYXJlX2ZsYWdzICYgQ0xPTkVfTkVXTlMpICYmIHByb3BhZ2F0aW9uKQorCQlzZXRfcHJvcGFnYXRpb24ocHJvcGFnYXRpb24pOworCisJaWYgKHByb2NtbnQgJiYKKwkgICAgKG1vdW50KCJub25lIiwgcHJvY21udCwgTlVMTCwgTVNfUFJJVkFURXxNU19SRUMsIE5VTEwpICE9IDAgfHwKKwkgICAgIG1vdW50KCJwcm9jIiwgcHJvY21udCwgInByb2MiLCBNU19OT1NVSUR8TVNfTk9FWEVDfE1TX05PREVWLCBOVUxMKSAhPSAwKSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oIm1vdW50ICVzIGZhaWxlZCIpLCBwcm9jbW50KTsKKworCWlmIChvcHRpbmQgPCBhcmdjKSB7CisJCWV4ZWN2cChhcmd2W29wdGluZF0sIGFyZ3YgKyBvcHRpbmQpOworCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIpLCBhcmd2W29wdGluZF0pOworCX0KKwlleGVjX3NoZWxsKCk7Cit9CmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvd2RjdGwuOCBiL3N5cy11dGlscy93ZGN0bC44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmOTc3NmUKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvd2RjdGwuOApAQCAtMCwwICsxLDcwIEBACisuXCIgd2RjdGwuOCAtLQorLlwiIENvcHlyaWdodCAoQykgMjAxMiBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKy5cIiBNYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisuVEggV0RDVEwgIjgiICJKdWx5IDIwMTQiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK3dkY3RsIFwtIHNob3cgaGFyZHdhcmUgd2F0Y2hkb2cgc3RhdHVzCisuU0ggU1lOT1BTSVMKKy5CIHdkY3RsCitbb3B0aW9uc10KKy5SSSBbIGRldmljZSAuLi5dCisuU0ggREVTQ1JJUFRJT04KK1Nob3cgaGFyZHdhcmUgd2F0Y2hkb2cgc3RhdHVzLiAgVGhlIGRlZmF1bHQgZGV2aWNlIGlzCisuSVIgL2Rldi93YXRjaGRvZyAuCitJZiBtb3JlIHRoYW4gb25lIGRldmljZSBpcyBzcGVjaWZpZWQgdGhlbiB0aGUgb3V0cHV0IGlzIHNlcGFyYXRlZCBieQorb25lIGJsYW5rIGxpbmUuCisuUFAKK05vdGUgdGhhdCB0aGUgbnVtYmVyIG9mIHN1cHBvcnRlZCB3YXRjaGRvZyBmZWF0dXJlcyBpcyBoYXJkd2FyZSBzcGVjaWZpYy4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLWYgLCAiIFwtXC1mbGFncyAiIFxmSWxpc3QKK1ByaW50IG9ubHkgdGhlIHNwZWNpZmllZCBmbGFncy4KKy5UUAorLkJSIFwtRiAsICIgXC1cLW5vZmxhZ3MiCitEbyBub3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3MuCisuVFAKKy5CUiBcLUkgLCAiIFwtXC1ub2lkZW50IgorRG8gbm90IHByaW50IHdhdGNoZG9nIGlkZW50aXR5IGluZm9ybWF0aW9uLgorLlRQCisuQlIgXC1uICwgIiBcLVwtbm9oZWFkaW5ncyIKK0RvIG5vdCBwcmludCBhIGhlYWRlciBsaW5lIGZvciBmbGFncyB0YWJsZS4KKy5JUCAiXGZCXC1vXGZSLCBcZkJcLVwtb3V0cHV0IFxmSWxpc3RcZlAiCitEZWZpbmUgdGhlIG91dHB1dCBjb2x1bW5zIHRvIHVzZSBpbiB0YWJsZSBvZiB3YXRjaGRvZyBmbGFncy4gIElmIG5vCitvdXRwdXQgYXJyYW5nZW1lbnQgaXMgc3BlY2lmaWVkLCB0aGVuIGEgZGVmYXVsdCBzZXQgaXMgdXNlZC4gIFVzZQorLkIgXC1cLWhlbHAKK3RvIGdldCBsaXN0IG9mIGFsbCBzdXBwb3J0ZWQgY29sdW1ucy4KKy5UUAorLkJSIFwtTyAsICIgXC1cLW9uZWxpbmUiCitQcmludCBhbGwgd2FudGVkIGluZm9ybWF0aW9uIG9uIG9uZSBsaW5lIGluIGtleT0idmFsdWUiIG91dHB1dCBmb3JtYXQuCisuVFAKKy5CUiBcLXIgLCAiIFwtXC1yYXciCitVc2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0LgorLlRQCisuQlIgXC1zICwgIiBcLXNldHRpbWVvdXQgIiBcZklzZWNvbmRzCitTZXQgdGhlIHdhdGNoZG9nIHRpbWVvdXQgaW4gc2Vjb25kcy4KKy5UUAorLkJSIFwtVCAsICIgXC1cLW5vdGltZW91dHMiCitEbyBub3QgcHJpbnQgd2F0Y2hkb2cgdGltZW91dHMuCisuSVAgIlxmQlwteFxmUiwgXGZCXC1cLWZsYWdzXC1vbmx5XGZQIgorU2FtZSBhcyBcZkJcLUkgXC1UXGZQLgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBBVVRIT1JTCisuTVQga3pha0BcOnJlZGhhdFw6LmNvbQorS2FyZWwgWmFrCisuTUUKKy5icgorLk1UIGxlbm5hcnRAXDpwb2V0dGVyaW5nXDoubmV0CitMZW5uYXJ0IFBvZXR0ZXJpbmcKKy5NRQorLlNIIEFWQUlMQUJJTElUWQorVGhlCisuQiB3ZGN0bAorY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgZnRwOi8vXDpmdHAua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvd2RjdGwuYyBiL3N5cy11dGlscy93ZGN0bC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2MTE0MmYKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvd2RjdGwuYwpAQCAtMCwwICsxLDYxOSBAQAorLyoKKyAqIHdkY3RsKDgpIC0gc2hvdyBoYXJkd2FyZSB3YXRjaGRvZyBzdGF0dXMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgTGVubmFydCBQb2V0dGVyaW5nCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQorICogRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24pIGFueQorICogbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisgKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VCisgKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKyAqIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisgKiA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorICovCisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzaWduYWwuaD4KKyNpbmNsdWRlIDxhc3NlcnQuaD4KKyNpbmNsdWRlIDxsaW51eC93YXRjaGRvZy5oPgorCisjaW5jbHVkZSA8bGlic21hcnRjb2xzLmg+CisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJvcHR1dGlscy5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAiY2FyZWZ1bHB1dGMuaCIKKworLyoKKyAqIHNpbmNlIDIuNi4xOAorICovCisjaWZuZGVmIFdESU9DX1NFVFBSRVRJTUVPVVQKKyMgZGVmaW5lIFdESU9DX1NFVFBSRVRJTUVPVVQgICAgX0lPV1IoV0FUQ0hET0dfSU9DVExfQkFTRSwgOCwgaW50KQorIyBkZWZpbmUgV0RJT0NfR0VUUFJFVElNRU9VVAlfSU9SKFdBVENIRE9HX0lPQ1RMX0JBU0UsIDksIGludCkKKyMgZGVmaW5lIFdESU9DX0dFVFRJTUVMRUZUCV9JT1IoV0FUQ0hET0dfSU9DVExfQkFTRSwgMTAsIGludCkKKyMgZGVmaW5lIFdESU9GX1BPV0VST1ZFUgkweDAwNDAJLyogUG93ZXIgb3ZlciB2b2x0YWdlICovCisjIGRlZmluZSBXRElPRl9TRVRUSU1FT1VUCTB4MDA4MCAgLyogU2V0IHRpbWVvdXQgKGluIHNlY29uZHMpICovCisjIGRlZmluZSBXRElPRl9NQUdJQ0NMT1NFCTB4MDEwMAkvKiBTdXBwb3J0cyBtYWdpYyBjbG9zZSBjaGFyICovCisjIGRlZmluZSBXRElPRl9QUkVUSU1FT1VUCTB4MDIwMCAgLyogUHJldGltZW91dCAoaW4gc2Vjb25kcyksIGdldC9zZXQgKi8KKyMgZGVmaW5lIFdESU9GX0tFRVBBTElWRVBJTkcJMHg4MDAwCS8qIEtlZXAgYWxpdmUgcGluZyByZXBseSAqLworI2VuZGlmCisKKy8qCisgKiBzaW5jZSAzLjUKKyAqLworI2lmbmRlZiBXRElPRl9BTEFSTU9OTFkKKyMgZGVmaW5lIFdESU9GX0FMQVJNT05MWQkweDA0MDAJLyogV2F0Y2hkb2cgdHJpZ2dlcnMgYSBtYW5hZ2VtZW50IG9yCisJCQkJCSAgIG90aGVyIGV4dGVybmFsIGFsYXJtIG5vdCBhIHJlYm9vdCAqLworI2VuZGlmCisKKy8qIGJhc2ljIG91dHB1dCBmbGFncyAqLworc3RhdGljIGludCBub19oZWFkaW5nczsKK3N0YXRpYyBpbnQgcmF3OworCitzdHJ1Y3Qgd2RmbGFnIHsKKwl1aW50MzJfdAlmbGFnOworCWNvbnN0IGNoYXIJKm5hbWU7CisJY29uc3QgY2hhcgkqZGVzY3JpcHRpb247Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHdkZmxhZyB3ZGZsYWdzW10gPSB7CisJeyBXRElPRl9DQVJEUkVTRVQsICAgICAiQ0FSRFJFU0VUIiwgIE5fKCJDYXJkIHByZXZpb3VzbHkgcmVzZXQgdGhlIENQVSIpIH0sCisJeyBXRElPRl9FWFRFUk4xLCAgICAgICAiRVhURVJOMSIsICAgIE5fKCJFeHRlcm5hbCByZWxheSAxIikgfSwKKwl7IFdESU9GX0VYVEVSTjIsICAgICAgICJFWFRFUk4yIiwgICAgTl8oIkV4dGVybmFsIHJlbGF5IDIiKSB9LAorCXsgV0RJT0ZfRkFORkFVTFQsICAgICAgIkZBTkZBVUxUIiwgICBOXygiRmFuIGZhaWxlZCIpIH0sCisJeyBXRElPRl9LRUVQQUxJVkVQSU5HLCAiS0VFUEFMSVZFUElORyIsIE5fKCJLZWVwIGFsaXZlIHBpbmcgcmVwbHkiKSB9LAorCXsgV0RJT0ZfTUFHSUNDTE9TRSwgICAgIk1BR0lDQ0xPU0UiLCBOXygiU3VwcG9ydHMgbWFnaWMgY2xvc2UgY2hhciIpIH0sCisJeyBXRElPRl9PVkVSSEVBVCwgICAgICAiT1ZFUkhFQVQiLCAgIE5fKCJSZXNldCBkdWUgdG8gQ1BVIG92ZXJoZWF0IikgfSwKKwl7IFdESU9GX1BPV0VST1ZFUiwgICAgICJQT1dFUk9WRVIiLCAgTl8oIlBvd2VyIG92ZXIgdm9sdGFnZSIpIH0sCisJeyBXRElPRl9QT1dFUlVOREVSLCAgICAiUE9XRVJVTkRFUiIsIE5fKCJQb3dlciBiYWQvcG93ZXIgZmF1bHQiKSB9LAorCXsgV0RJT0ZfUFJFVElNRU9VVCwgICAgIlBSRVRJTUVPVVQiLCBOXygiUHJldGltZW91dCAoaW4gc2Vjb25kcykiKSB9LAorCXsgV0RJT0ZfU0VUVElNRU9VVCwgICAgIlNFVFRJTUVPVVQiLCBOXygiU2V0IHRpbWVvdXQgKGluIHNlY29uZHMpIikgfSwKKwl7IFdESU9GX0FMQVJNT05MWSwgICAgICJBTEFSTU9OTFkiLCAgTl8oIk5vdCB0cmlnZ2VyIHJlYm9vdCIpIH0KK307CisKKworLyogY29sdW1uIG5hbWVzICovCitzdHJ1Y3QgY29saW5mbyB7CisJY29uc3QgY2hhciAqbmFtZTsgLyogaGVhZGVyICovCisJZG91YmxlCSAgIHdoaW50OyAvKiB3aWR0aCBoaW50IChOIDwgMSBpcyBpbiBwZXJjZW50IG9mIHRlcm13aWR0aCkgKi8KKwlpbnQJICAgZmxhZ3M7IC8qIFNDT0xTX0ZMXyogKi8KKwljb25zdCBjaGFyICpoZWxwOworfTsKKworZW51bSB7IENPTF9GTEFHLCBDT0xfREVTQywgQ09MX1NUQVRVUywgQ09MX0JTVEFUVVMsIENPTF9ERVZJQ0UgfTsKKworLyogY29sdW1ucyBkZXNjcmlwdGlvbnMgKi8KK3N0YXRpYyBzdHJ1Y3QgY29saW5mbyBpbmZvc1tdID0geworCVtDT0xfRkxBR10gICAgPSB7ICJGTEFHIiwgICAgICAgIDE0LCAgMCwgTl8oImZsYWcgbmFtZSIpIH0sCisJW0NPTF9ERVNDXSAgICA9IHsgIkRFU0NSSVBUSU9OIiwgMC4xLCBTQ09MU19GTF9UUlVOQywgTl8oImZsYWcgZGVzY3JpcHRpb24iKSB9LAorCVtDT0xfU1RBVFVTXSAgPSB7ICJTVEFUVVMiLCAgICAgIDEsICAgU0NPTFNfRkxfUklHSFQsIE5fKCJmbGFnIHN0YXR1cyIpIH0sCisJW0NPTF9CU1RBVFVTXSA9IHsgIkJPT1QtU1RBVFVTIiwgMSwgICBTQ09MU19GTF9SSUdIVCwgTl8oImZsYWcgYm9vdCBzdGF0dXMiKSB9LAorCVtDT0xfREVWSUNFXSAgPSB7ICJERVZJQ0UiLCAgICAgIDAuMSwgMCwgTl8oIndhdGNoZG9nIGRldmljZSBuYW1lIikgfQorCit9OworCitzdGF0aWMgaW50IGNvbHVtbnNbQVJSQVlfU0laRShpbmZvcykgKiAyXTsKK3N0YXRpYyBpbnQgbmNvbHVtbnM7CisKK3N0cnVjdCB3ZGluZm8geworCWNoYXIJCSpkZXZpY2U7CisKKwlpbnQJCXRpbWVvdXQ7CisJaW50CQl0aW1lbGVmdDsKKwlpbnQJCXByZXRpbWVvdXQ7CisKKwl1aW50MzJfdAlzdGF0dXM7CisJdWludDMyX3QJYnN0YXR1czsKKworCXN0cnVjdCB3YXRjaGRvZ19pbmZvIGlkZW50OworCisJdW5zaWduZWQgaW50CWhhc190aW1lb3V0IDogMSwKKwkJCWhhc190aW1lbGVmdCA6IDEsCisJCQloYXNfcHJldGltZW91dCA6IDE7Cit9OworCisvKiBjb252ZXJ0cyBmbGFnIG5hbWUgdG8gZmxhZyBiaXQgKi8KK3N0YXRpYyBsb25nIG5hbWUyYml0KGNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBuYW1lc3opCit7CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3ZGZsYWdzKTsgaSsrKSB7CisJCWNvbnN0IGNoYXIgKmNuID0gd2RmbGFnc1tpXS5uYW1lOworCQlpZiAoIXN0cm5jYXNlY21wKG5hbWUsIGNuLCBuYW1lc3opICYmICEqKGNuICsgbmFtZXN6KSkKKwkJCXJldHVybiB3ZGZsYWdzW2ldLmZsYWc7CisJfQorCXdhcm54KF8oInVua25vd24gZmxhZzogJXMiKSwgbmFtZSk7CisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgaW50IGNvbHVtbjJpZChjb25zdCBjaGFyICpuYW1lLCBzaXplX3QgbmFtZXN6KQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoaW5mb3MpOyBpKyspIHsKKwkJY29uc3QgY2hhciAqY24gPSBpbmZvc1tpXS5uYW1lOworCQlpZiAoIXN0cm5jYXNlY21wKG5hbWUsIGNuLCBuYW1lc3opICYmICEqKGNuICsgbmFtZXN6KSkKKwkJCXJldHVybiBpOworCX0KKwl3YXJueChfKCJ1bmtub3duIGNvbHVtbjogJXMiKSwgbmFtZSk7CisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgaW50IGdldF9jb2x1bW5faWQoaW50IG51bSkKK3sKKwlhc3NlcnQobnVtIDwgbmNvbHVtbnMpOworCWFzc2VydChjb2x1bW5zW251bV0gPCAoaW50KSBBUlJBWV9TSVpFKGluZm9zKSk7CisKKwlyZXR1cm4gY29sdW1uc1tudW1dOworfQorCitzdGF0aWMgc3RydWN0IGNvbGluZm8gKmdldF9jb2x1bW5faW5mbyh1bnNpZ25lZCBudW0pCit7CisJcmV0dXJuICZpbmZvc1sgZ2V0X2NvbHVtbl9pZChudW0pIF07Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKSB1c2FnZShGSUxFICpvdXQpCit7CisJc2l6ZV90IGk7CisKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsCisJICAgICAgXygiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJTaG93IHRoZSBzdGF0dXMgb2YgdGhlIGhhcmR3YXJlIHdhdGNoZG9nLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtZiwgLS1mbGFncyA8bGlzdD4gICAgIHByaW50IHNlbGVjdGVkIGZsYWdzIG9ubHlcbiIKKwkJIiAtRiwgLS1ub2ZsYWdzICAgICAgICAgIGRvbid0IHByaW50IGluZm9ybWF0aW9uIGFib3V0IGZsYWdzXG4iCisJCSIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorCQkiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIGZsYWdzIHRhYmxlXG4iCisJCSIgLU8sIC0tb25lbGluZSAgICAgICAgICBwcmludCBhbGwgaW5mb3JtYXRpb24gb24gb25lIGxpbmVcbiIKKwkJIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorCQkiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0IGZvciBmbGFncyB0YWJsZVxuIgorCQkiIC1ULCAtLW5vdGltZW91dHMgICAgICAgZG9uJ3QgcHJpbnQgd2F0Y2hkb2cgdGltZW91dHNcbiIKKwkJIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisJCSIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICBwcmludCBvbmx5IGZsYWdzIHRhYmxlIChzYW1lIGFzIC1JIC1UKVxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoVVNBR0VfSEVMUCwgb3V0KTsKKwlmcHV0cyhVU0FHRV9WRVJTSU9OLCBvdXQpOworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKworCWZwcmludGYob3V0LCBfKCJUaGUgZGVmYXVsdCBkZXZpY2UgaXMgJXMuXG4iKSwgX1BBVEhfV0FUQ0hET0dfREVWKTsKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisKKwlmcHV0cyhfKCJBdmFpbGFibGUgY29sdW1uczpcbiIpLCBvdXQpOworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGluZm9zKTsgaSsrKQorCQlmcHJpbnRmKG91dCwgIiAlMTNzICAlc1xuIiwgaW5mb3NbaV0ubmFtZSwgXyhpbmZvc1tpXS5oZWxwKSk7CisKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoIndkY3RsKDgpIikpOworCisJZXhpdChvdXQgPT0gc3RkZXJyID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIHZvaWQgYWRkX2ZsYWdfbGluZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRhYmxlLCBzdHJ1Y3Qgd2RpbmZvICp3ZCwgY29uc3Qgc3RydWN0IHdkZmxhZyAqZmwpCit7CisJaW50IGk7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxpbmU7CisKKwlsaW5lID0gc2NvbHNfdGFibGVfbmV3X2xpbmUodGFibGUsIE5VTEwpOworCWlmICghbGluZSkgeworCQl3YXJuKF8oImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBsaW5lIikpOworCQlyZXR1cm47CisJfQorCisJZm9yIChpID0gMDsgaSA8IG5jb2x1bW5zOyBpKyspIHsKKwkJY29uc3QgY2hhciAqc3RyID0gTlVMTDsKKworCQlzd2l0Y2ggKGdldF9jb2x1bW5faWQoaSkpIHsKKwkJY2FzZSBDT0xfRkxBRzoKKwkJCXN0ciA9IGZsLT5uYW1lOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX0RFU0M6CisJCQlzdHIgPSBmbC0+ZGVzY3JpcHRpb247CisJCQlicmVhazsKKwkJY2FzZSBDT0xfU1RBVFVTOgorCQkJc3RyID0gd2QtPnN0YXR1cyAmIGZsLT5mbGFnID8gIjEiIDogIjAiOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX0JTVEFUVVM6CisJCQlzdHIgPSB3ZC0+YnN0YXR1cyAmIGZsLT5mbGFnID8gIjEiIDogIjAiOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX0RFVklDRToKKwkJCXN0ciA9IHdkLT5kZXZpY2U7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWJyZWFrOworCQl9CisKKwkJaWYgKHN0cikKKwkJCXNjb2xzX2xpbmVfc2V0X2RhdGEobGluZSwgaSwgc3RyKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgc2hvd19mbGFncyhzdHJ1Y3Qgd2RpbmZvICp3ZCwgdWludDMyX3Qgd2FudGVkKQoreworCXNpemVfdCBpOworCWludCByYyA9IC0xOworCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGFibGU7CisJdWludDMyX3QgZmxhZ3M7CisKKwlzY29sc19pbml0X2RlYnVnKDApOworCisJLyogY3JlYXRlIG91dHB1dCB0YWJsZSAqLworCXRhYmxlID0gc2NvbHNfbmV3X3RhYmxlKCk7CisJaWYgKCF0YWJsZSkgeworCQl3YXJuKF8oImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCB0YWJsZSIpKTsKKwkJcmV0dXJuIC0xOworCX0KKwlzY29sc190YWJsZV9lbmFibGVfcmF3KHRhYmxlLCByYXcpOworCXNjb2xzX3RhYmxlX2VuYWJsZV9ub2hlYWRpbmdzKHRhYmxlLCBub19oZWFkaW5ncyk7CisKKwkvKiBkZWZpbmUgY29sdW1ucyAqLworCWZvciAoaSA9IDA7IGkgPCAoc2l6ZV90KSBuY29sdW1uczsgaSsrKSB7CisJCXN0cnVjdCBjb2xpbmZvICpjb2wgPSBnZXRfY29sdW1uX2luZm8oaSk7CisKKwkJaWYgKCFzY29sc190YWJsZV9uZXdfY29sdW1uKHRhYmxlLCBjb2wtPm5hbWUsIGNvbC0+d2hpbnQsIGNvbC0+ZmxhZ3MpKSB7CisJCQl3YXJueChfKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIikpOworCQkJZ290byBkb25lOworCQl9CisJfQorCisJLyogZmlsbC1pbiB0YWJsZSB3aXRoIGRhdGEKKwkgKiAtLSBvbmUgbGluZSBmb3IgZWFjaCBzdXBwb3J0ZWQgZmxhZyAob3B0aW9uKQkgKi8KKwlmbGFncyA9IHdkLT5pZGVudC5vcHRpb25zOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUod2RmbGFncyk7IGkrKykgeworCQlpZiAod2FudGVkICYmICEod2FudGVkICYgd2RmbGFnc1tpXS5mbGFnKSkKKwkJCTsgLyogaWdub3JlICovCisJCWVsc2UgaWYgKGZsYWdzICYgd2RmbGFnc1tpXS5mbGFnKQorCQkJYWRkX2ZsYWdfbGluZSh0YWJsZSwgd2QsICZ3ZGZsYWdzW2ldKTsKKworCQlmbGFncyAmPSB+d2RmbGFnc1tpXS5mbGFnOworCX0KKworCWlmIChmbGFncykKKwkJd2FybngoXygiJXM6IHVua25vd24gZmxhZ3MgMHgleFxuIiksIHdkLT5kZXZpY2UsIGZsYWdzKTsKKworCXNjb2xzX3ByaW50X3RhYmxlKHRhYmxlKTsKKwlyYyA9IDA7Citkb25lOgorCXNjb2xzX3VucmVmX3RhYmxlKHRhYmxlKTsKKwlyZXR1cm4gcmM7Cit9CisvKgorICogV2FybmluZzogc3VjY2Vzc2Z1bGx5IG9wZW5lZCB3YXRjaGRvZyBoYXMgdG8gYmUgcHJvcGVybHkgY2xvc2VkIHdpdGggbWFnaWMKKyAqIGNsb3NlIGNoYXJhY3RlciBvdGhlcndpc2UgdGhlIG1hY2hpbmUgd2lsbCBiZSByZWJvb3RlZCEKKyAqCisgKiBEb24ndCB1c2UgZXJyKCkgb3IgZXhpdCgpIGhlcmUhCisgKi8KK3N0YXRpYyBpbnQgc2V0X3dhdGNoZG9nKHN0cnVjdCB3ZGluZm8gKndkLCBpbnQgdGltZW91dCkKK3sKKwlpbnQgZmQ7CisJc2lnc2V0X3Qgc2lncywgb2xkc2lnczsKKwlpbnQgcmMgPSAwOworCisJYXNzZXJ0KHdkLT5kZXZpY2UpOworCisJc2lnZW1wdHlzZXQoJm9sZHNpZ3MpOworCXNpZ2ZpbGxzZXQoJnNpZ3MpOworCXNpZ3Byb2NtYXNrKFNJR19CTE9DSywgJnNpZ3MsICZvbGRzaWdzKTsKKworCWZkID0gb3Blbih3ZC0+ZGV2aWNlLCBPX1dST05MWXxPX0NMT0VYRUMpOworCisJaWYgKGZkIDwgMCkgeworCQlpZiAoZXJybm8gPT0gRUJVU1kpCisJCQl3YXJueChfKCIlczogd2F0Y2hkb2cgYWxyZWFkeSBpbiB1c2UsIHRlcm1pbmF0aW5nLiIpLAorCQkJCQl3ZC0+ZGV2aWNlKTsKKwkJd2FybihfKCJjYW5ub3Qgb3BlbiAlcyIpLCB3ZC0+ZGV2aWNlKTsKKwkJcmV0dXJuIC0xOworCX0KKworCWZvciAoOzspIHsKKwkJLyogV2UganVzdCBvcGVuZWQgdGhpcyB0byBxdWVyeSB0aGUgc3RhdGUsIG5vdCB0byBhcm0KKwkJICogaXQgaGVuY2UgdXNlIHRoZSBtYWdpYyBjbG9zZSBjaGFyYWN0ZXIgKi8KKwkJc3RhdGljIGNvbnN0IGNoYXIgdiA9ICdWJzsKKworCQlpZiAod3JpdGUoZmQsICZ2LCAxKSA+PSAwKQorCQkJYnJlYWs7CisJCWlmIChlcnJubyAhPSBFSU5UUikgeworCQkJd2FybihfKCIlczogZmFpbGVkIHRvIGRpc2FybSB3YXRjaGRvZyIpLCB3ZC0+ZGV2aWNlKTsKKwkJCWJyZWFrOworCQl9CisJCS8qIExldCdzIHRyeSBoYXJkLCBzaW5jZSBpZiB3ZSBkb24ndCBnZXQgdGhpcyByaWdodAorCQkgKiB0aGUgbWFjaGluZSBtaWdodCBlbmQgdXAgcmVib290aW5nLiAqLworCX0KKworCWlmIChpb2N0bChmZCwgV0RJT0NfU0VUVElNRU9VVCwgJnRpbWVvdXQpICE9IDApIHsKKwkJcmMgPSBlcnJubzsKKwkJd2FybihfKCJjYW5ub3Qgc2V0IHRpbWVvdXQgZm9yICVzIiksIHdkLT5kZXZpY2UpOworCX0KKworCWlmIChjbG9zZV9mZChmZCkpCisJCXdhcm4oXygid3JpdGUgZmFpbGVkIikpOworCXNpZ3Byb2NtYXNrKFNJR19TRVRNQVNLLCAmb2xkc2lncywgTlVMTCk7CisJcHJpbnRmKFBfKCJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmQuXG4iLAorCQkgICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmRzLlxuIiwgdGltZW91dCksIHRpbWVvdXQpOworCisJcmV0dXJuIHJjOworfQorCisvKgorICogV2FybmluZzogc3VjY2Vzc2Z1bGx5IG9wZW5lZCB3YXRjaGRvZyBoYXMgdG8gYmUgcHJvcGVybHkgY2xvc2VkIHdpdGggbWFnaWMKKyAqIGNsb3NlIGNoYXJhY3RlciBvdGhlcndpc2UgdGhlIG1hY2hpbmUgd2lsbCBiZSByZWJvb3RlZCEKKyAqCisgKiBEb24ndCB1c2UgZXJyKCkgb3IgZXhpdCgpIGhlcmUhCisgKi8KK3N0YXRpYyBpbnQgcmVhZF93YXRjaGRvZyhzdHJ1Y3Qgd2RpbmZvICp3ZCkKK3sKKwlpbnQgZmQ7CisJc2lnc2V0X3Qgc2lncywgb2xkc2lnczsKKworCWFzc2VydCh3ZC0+ZGV2aWNlKTsKKworCXNpZ2VtcHR5c2V0KCZvbGRzaWdzKTsKKwlzaWdmaWxsc2V0KCZzaWdzKTsKKwlzaWdwcm9jbWFzayhTSUdfQkxPQ0ssICZzaWdzLCAmb2xkc2lncyk7CisKKwlmZCA9IG9wZW4od2QtPmRldmljZSwgT19XUk9OTFl8T19DTE9FWEVDKTsKKworCWlmIChmZCA8IDApIHsKKwkJaWYgKGVycm5vID09IEVCVVNZKQorCQkJd2FybngoXygiJXM6IHdhdGNoZG9nIGFscmVhZHkgaW4gdXNlLCB0ZXJtaW5hdGluZy4iKSwKKwkJCQkJd2QtPmRldmljZSk7CisJCXdhcm4oXygiY2Fubm90IG9wZW4gJXMiKSwgd2QtPmRldmljZSk7CisJCXJldHVybiAtMTsKKwl9CisKKwlpZiAoaW9jdGwoZmQsIFdESU9DX0dFVFNVUFBPUlQsICZ3ZC0+aWRlbnQpIDwgMCkKKwkJd2FybihfKCIlczogZmFpbGVkIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB3YXRjaGRvZyIpLCB3ZC0+ZGV2aWNlKTsKKwllbHNlIHsKKwkJaW9jdGwoZmQsIFdESU9DX0dFVFNUQVRVUywgJndkLT5zdGF0dXMpOworCQlpb2N0bChmZCwgV0RJT0NfR0VUQk9PVFNUQVRVUywgJndkLT5ic3RhdHVzKTsKKworCQlpZiAoaW9jdGwoZmQsIFdESU9DX0dFVFRJTUVPVVQsICZ3ZC0+dGltZW91dCkgPj0gMCkKKwkJCXdkLT5oYXNfdGltZW91dCA9IDE7CisJCWlmIChpb2N0bChmZCwgV0RJT0NfR0VUUFJFVElNRU9VVCwgJndkLT5wcmV0aW1lb3V0KSA+PSAwKQorCQkJd2QtPmhhc19wcmV0aW1lb3V0ID0gMTsKKwkJaWYgKGlvY3RsKGZkLCBXRElPQ19HRVRUSU1FTEVGVCwgJndkLT50aW1lbGVmdCkgPj0gMCkKKwkJCXdkLT5oYXNfdGltZWxlZnQgPSAxOworCX0KKworCWZvciAoOzspIHsKKwkJLyogV2UganVzdCBvcGVuZWQgdGhpcyB0byBxdWVyeSB0aGUgc3RhdGUsIG5vdCB0byBhcm0KKwkJICogaXQgaGVuY2UgdXNlIHRoZSBtYWdpYyBjbG9zZSBjaGFyYWN0ZXIgKi8KKwkJc3RhdGljIGNvbnN0IGNoYXIgdiA9ICdWJzsKKworCQlpZiAod3JpdGUoZmQsICZ2LCAxKSA+PSAwKQorCQkJYnJlYWs7CisJCWlmIChlcnJubyAhPSBFSU5UUikgeworCQkJd2FybihfKCIlczogZmFpbGVkIHRvIGRpc2FybSB3YXRjaGRvZyIpLCB3ZC0+ZGV2aWNlKTsKKwkJCWJyZWFrOworCQl9CisJCS8qIExldCdzIHRyeSBoYXJkLCBzaW5jZSBpZiB3ZSBkb24ndCBnZXQgdGhpcyByaWdodAorCQkgKiB0aGUgbWFjaGluZSBtaWdodCBlbmQgdXAgcmVib290aW5nLiAqLworCX0KKworCWlmIChjbG9zZV9mZChmZCkpCisJCXdhcm4oXygid3JpdGUgZmFpbGVkIikpOworCXNpZ3Byb2NtYXNrKFNJR19TRVRNQVNLLCAmb2xkc2lncywgTlVMTCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgcHJpbnRfb25lbGluZShzdHJ1Y3Qgd2RpbmZvICp3ZCwgdWludDMyX3Qgd2FudGVkLAorCQlpbnQgbm9pZGVudCwgaW50IG5vdGltZW91dHMsIGludCBub2ZsYWdzKQoreworCXByaW50ZigiJXM6Iiwgd2QtPmRldmljZSk7CisKKwlpZiAoIW5vaWRlbnQpIHsKKwkJcHJpbnRmKCIgVkVSU0lPTj1cIiV4XCIiLCB3ZC0+aWRlbnQuZmlybXdhcmVfdmVyc2lvbik7CisKKwkJcHJpbnRmKCIgSURFTlRJVFk9Iik7CisJCWZwdXRzX3F1b3RlZCgoY2hhciAqKSB3ZC0+aWRlbnQuaWRlbnRpdHksIHN0ZG91dCk7CisJfQorCWlmICghbm90aW1lb3V0cykgeworCQlpZiAod2QtPmhhc190aW1lb3V0KQorCQkJcHJpbnRmKCIgVElNRU9VVD1cIiVpXCIiLCB3ZC0+dGltZW91dCk7CisJCWlmICh3ZC0+aGFzX3ByZXRpbWVvdXQpCisJCQlwcmludGYoIiBQUkVUSU1FT1VUPVwiJWlcIiIsIHdkLT5wcmV0aW1lb3V0KTsKKwkJaWYgKHdkLT5oYXNfdGltZWxlZnQpCisJCQlwcmludGYoIiBUSU1FTEVGVD1cIiVpXCIiLCB3ZC0+dGltZWxlZnQpOworCX0KKworCWlmICghbm9mbGFncykgeworCQlzaXplX3QgaTsKKwkJdWludDMyX3QgZmxhZ3MgPSB3ZC0+aWRlbnQub3B0aW9uczsKKworCQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3ZGZsYWdzKTsgaSsrKSB7CisJCQljb25zdCBzdHJ1Y3Qgd2RmbGFnICpmbDsKKworCQkJaWYgKCh3YW50ZWQgJiYgISh3YW50ZWQgJiB3ZGZsYWdzW2ldLmZsYWcpKSB8fAorCQkJICAgICEoZmxhZ3MgJiB3ZGZsYWdzW2ldLmZsYWcpKQorCQkJCWNvbnRpbnVlOworCisJCQlmbD0gJndkZmxhZ3NbaV07CisKKwkJCXByaW50ZigiICVzPVwiJXNcIiIsIGZsLT5uYW1lLAorCQkJCQkgICAgIHdkLT5zdGF0dXMgJiBmbC0+ZmxhZyA/ICIxIiA6ICIwIik7CisJCQlwcmludGYoIiAlc19CT09UPVwiJXNcIiIsIGZsLT5uYW1lLAorCQkJCQkgICAgIHdkLT5ic3RhdHVzICYgZmwtPmZsYWcgPyAiMSIgOiAiMCIpOworCisJCX0KKwl9CisKKwlmcHV0YygnXG4nLCBzdGRvdXQpOworfQorCitzdGF0aWMgdm9pZCBzaG93X3RpbWVvdXRzKHN0cnVjdCB3ZGluZm8gKndkKQoreworCWlmICh3ZC0+aGFzX3RpbWVvdXQpCisJCXByaW50ZihQXygiJS0xNHMgJTJpIHNlY29uZFxuIiwgIiUtMTRzICUyaSBzZWNvbmRzXG4iLCB3ZC0+dGltZW91dCksCisJCQkgIF8oIlRpbWVvdXQ6IiksIHdkLT50aW1lb3V0KTsKKwlpZiAod2QtPmhhc19wcmV0aW1lb3V0KQorCQlwcmludGYoUF8oIiUtMTRzICUyaSBzZWNvbmRcbiIsICIlLTE0cyAlMmkgc2Vjb25kc1xuIiwgd2QtPnByZXRpbWVvdXQpLAorCQkJICBfKCJQcmUtdGltZW91dDoiKSwgd2QtPnByZXRpbWVvdXQpOworCWlmICh3ZC0+aGFzX3RpbWVsZWZ0KQorCQlwcmludGYoUF8oIiUtMTRzICUyaSBzZWNvbmRcbiIsICIlLTE0cyAlMmkgc2Vjb25kc1xuIiwgd2QtPnRpbWVsZWZ0KSwKKwkJCSAgXygiVGltZWxlZnQ6IiksIHdkLT50aW1lbGVmdCk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IHdkaW5mbyB3ZDsKKwlpbnQgYywgcmVzID0gRVhJVF9TVUNDRVNTLCBjb3VudCA9IDA7CisJY2hhciBub2ZsYWdzID0gMCwgbm9pZGVudCA9IDAsIG5vdGltZW91dHMgPSAwLCBvbmVsaW5lID0gMDsKKwl1aW50MzJfdCB3YW50ZWQgPSAwOworCWludCB0aW1lb3V0ID0gMDsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdfb3B0c1tdID0geworCQl7ICJmbGFncyIsICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdmJyB9LAorCQl7ICJmbGFncy1vbmx5Iiwgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICd4JyB9LAorCQl7ICJoZWxwIiwJbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdoJyB9LAorCQl7ICJub2ZsYWdzIiwgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdGJyB9LAorCQl7ICJub2hlYWRpbmdzIiwgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICduJyB9LAorCQl7ICJub2lkZW50IiwJbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdJJyB9LAorCQl7ICJub3RpbWVvdXRzIiwgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdUJyB9LAorCQl7ICJzZXR0aW1lb3V0IiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdzJyB9LAorCQl7ICJvdXRwdXQiLCAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdvJyB9LAorCQl7ICJvbmVsaW5lIiwgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdPJyB9LAorCQl7ICJyYXciLCAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdyJyB9LAorCQl7ICJ2ZXJzaW9uIiwgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdWJyB9LAorCQl7IE5VTEwsIDAsIE5VTEwsIDAgfQorCX07CisKKwlzdGF0aWMgY29uc3QgdWxfZXhjbF90IGV4Y2xbXSA9IHsgICAgICAgLyogcm93cyBhbmQgY29scyBpbiBpbiBBU0NJSSBvcmRlciAqLworCQl7ICdGJywnZicgfSwJCQkvKiBub2ZsYWdzLGZsYWdzKi8KKwkJeyAwIH0KKwl9OworCWludCBleGNsX3N0W0FSUkFZX1NJWkUoZXhjbCldID0gVUxfRVhDTF9TVEFUVVNfSU5JVDsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LAorCQkJCSJkOmY6aEZuSVRvOnM6T3JWeCIsIGxvbmdfb3B0cywgTlVMTCkpICE9IC0xKSB7CisKKwkJZXJyX2V4Y2x1c2l2ZV9vcHRpb25zKGMsIGxvbmdfb3B0cywgZXhjbCwgZXhjbF9zdCk7CisKKwkJc3dpdGNoKGMpIHsKKwkJY2FzZSAnbyc6CisJCQluY29sdW1ucyA9IHN0cmluZ190b19pZGFycmF5KG9wdGFyZywKKwkJCQkJCSAgICAgY29sdW1ucywgQVJSQVlfU0laRShjb2x1bW5zKSwKKwkJCQkJCSAgICAgY29sdW1uMmlkKTsKKwkJCWlmIChuY29sdW1ucyA8IDApCisJCQkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKwkJCWJyZWFrOworCQljYXNlICdzJzoKKwkJCXRpbWVvdXQgPSBzdHJ0b3MzMl9vcl9lcnIob3B0YXJnLCBfKCJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnZic6CisJCQlpZiAoc3RyaW5nX3RvX2JpdG1hc2sob3B0YXJnLCAodW5zaWduZWQgbG9uZyAqKSAmd2FudGVkLCBuYW1lMmJpdCkgIT0gMCkKKwkJCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCWNhc2UgJ0YnOgorCQkJbm9mbGFncyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnSSc6CisJCQlub2lkZW50ID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdUJzoKKwkJCW5vdGltZW91dHMgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJbm9faGVhZGluZ3MgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJcmF3ID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdPJzoKKwkJCW9uZWxpbmUgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3gnOgorCQkJbm9pZGVudCA9IDE7CisJCQlub3RpbWVvdXRzID0gMTsKKwkJCWJyZWFrOworCisJCWNhc2UgJz8nOgorCQlkZWZhdWx0OgorCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJfQorCX0KKworCWlmICghbmNvbHVtbnMpIHsKKwkJLyogZGVmYXVsdCBjb2x1bW5zICovCisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfRkxBRzsKKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9ERVNDOworCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX1NUQVRVUzsKKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9CU1RBVFVTOworCX0KKworCWRvIHsKKwkJaW50IHJjOworCisJCW1lbXNldCgmd2QsIDAsIHNpemVvZih3ZCkpOworCisJCWlmIChvcHRpbmQgPT0gYXJnYykKKwkJCXdkLmRldmljZSA9IF9QQVRIX1dBVENIRE9HX0RFVjsKKwkJZWxzZQorCQkJd2QuZGV2aWNlID0gYXJndltvcHRpbmQrK107CisKKwkJaWYgKGNvdW50KQorCQkJZnB1dGMoJ1xuJywgc3Rkb3V0KTsKKwkJY291bnQrKzsKKworCQlpZiAodGltZW91dCkgeworCQkJcmMgPSBzZXRfd2F0Y2hkb2coJndkLCB0aW1lb3V0KTsKKwkJCWlmIChyYykgeworCQkJCXJlcyA9IEVYSVRfRkFJTFVSRTsKKwkJCX0KKwkJfQorCisJCXJjID0gcmVhZF93YXRjaGRvZygmd2QpOworCQlpZiAocmMpIHsKKwkJCXJlcyA9IEVYSVRfRkFJTFVSRTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJaWYgKG9uZWxpbmUpIHsKKwkJCXByaW50X29uZWxpbmUoJndkLCB3YW50ZWQsIG5vaWRlbnQsIG5vdGltZW91dHMsIG5vZmxhZ3MpOworCQkJY29udGludWU7CisJCX0KKworCQkvKiBwcmV0dHkgb3V0cHV0ICovCisJCWlmICghbm9pZGVudCkgeworCQkJcHJpbnRmKCIlLTE1cyVzXG4iLCBfKCJEZXZpY2U6IiksIHdkLmRldmljZSk7CisJCQlwcmludGYoIiUtMTVzJXMgWyVzICV4XVxuIiwKKwkJCQkJXygiSWRlbnRpdHk6IiksCisJCQkJCXdkLmlkZW50LmlkZW50aXR5LAorCQkJCQlfKCJ2ZXJzaW9uIiksCisJCQkJCXdkLmlkZW50LmZpcm13YXJlX3ZlcnNpb24pOworCQl9CisJCWlmICghbm90aW1lb3V0cykKKwkJCXNob3dfdGltZW91dHMoJndkKTsKKwkJaWYgKCFub2ZsYWdzKQorCQkJc2hvd19mbGFncygmd2QsIHdhbnRlZCk7CisJfSB3aGlsZSAob3B0aW5kIDwgYXJnYyk7CisKKwlyZXR1cm4gcmVzOworfQpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL3pyYW1jdGwuOCBiL3N5cy11dGlscy96cmFtY3RsLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODk0OWU3ZQotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy96cmFtY3RsLjgKQEAgLTAsMCArMSwxMjMgQEAKKy5USCBaUkFNQ1RMIDggIkp1bHkgMjAxNCIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQorenJhbWN0bCBcLSBzZXQgdXAgYW5kIGNvbnRyb2wgenJhbSBkZXZpY2VzCisuU0ggU1lOT1BTSVMKKy5hZCBsCitHZXQgaW5mbzoKKy5zcAorLmluICs1CisuQlIgenJhbWN0bCAiIFtvcHRpb25zXSIKKy5zcAorLmluIC01CitSZXNldCB6cmFtOgorLnNwCisuaW4gKzUKKy5CICJ6cmFtY3RsIFwtciIKKy5JUiB6cmFtZGV2IC4uLgorLnNwCisuaW4gLTUKK1ByaW50IG5hbWUgb2YgZmlyc3QgdW51c2VkIHpyYW0gZGV2aWNlOgorLnNwCisuaW4gKzUKKy5CICJ6cmFtY3RsIFwtZiIKKy5zcAorLmluIC01CitTZXQgdXAgYSB6cmFtIGRldmljZToKKy5zcAorLmluICs1CisuQiB6cmFtY3RsCisuUkIgWyBcLWYgIiB8ICJcZkl6cmFtZGV2XGZQIF0KKy5SQiBbIFwtcworLklSIHNpemUgXQorLlJCIFsgXC10CisuSVIgbnVtYmVyIF0KKy5SQiBbIFwtYQorLklSIGFsZ29yaXRobSBdCisuc3AKKy5pbiAtNQorLmFkIGIKKy5TSCBERVNDUklQVElPTgorLkIgenJhbWN0bAoraXMgdXNlZCB0byBxdWlja2x5IHNldCB1cCB6cmFtIGRldmljZSBwYXJhbWV0ZXJzLCB0byByZXNldCB6cmFtIGRldmljZXMsIGFuZCB0bworcXVlcnkgdGhlIHN0YXR1cyBvZiB1c2VkIHpyYW0gZGV2aWNlcy4gIElmIG5vIG9wdGlvbiBpcyBnaXZlbiwgYWxsIHpyYW0gZGV2aWNlcworYXJlIHNob3duLgorCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1hICwgIiBcLVwtYWxnb3JpdGhtIGx6byIgfCBsejQKK1NldCB0aGUgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIGJlIHVzZWQgZm9yIGNvbXByZXNzaW5nIGRhdGEgaW4gdGhlIHpyYW0gZGV2aWNlLgorLlRQCisuQlIgXC1mICwgIiBcLVwtZmluZCIKK0ZpbmQgdGhlIGZpcnN0IHVudXNlZCB6cmFtIGRldmljZS4gIElmIGEgXGZCLS1zaXplXGZSIGFyZ3VtZW50IGlzIHByZXNlbnQsIHRoZW4KK2luaXRpYWxpemUgdGhlIGRldmljZS4KKy5UUAorLkJSIFwtbiAsICIgXC1cLW5vaGVhZGluZ3MiCitEbyBub3QgcHJpbnQgYSBoZWFkZXIgbGluZSBpbiBzdGF0dXMgb3V0cHV0LgorLlRQCisuQlIgXC1vICwgIiBcLVwtb3V0cHV0ICIgXGZJbGlzdAorRGVmaW5lIHRoZSBzdGF0dXMgb3V0cHV0IGNvbHVtbnMgdG8gYmUgdXNlZC4gIElmIG5vIG91dHB1dCBhcnJhbmdlbWVudCBpcworc3BlY2lmaWVkLCB0aGVuIGEgZGVmYXVsdCBzZXQgaXMgdXNlZC4KK1VzZSBcZkJcLVwtaGVscFxmUCB0byBnZXQgYSBsaXN0IG9mIGFsbCBzdXBwb3J0ZWQgY29sdW1ucy4KKy5UUAorLkIgXC1cLXJhdworVXNlIHRoZSByYXcgZm9ybWF0IGZvciBzdGF0dXMgb3V0cHV0LgorLlRQCisuQlIgXC1yICwgIiBcLVwtcmVzZXQiCitSZXNldCB0aGUgb3B0aW9ucyBvZiB0aGUgc3BlY2lmaWVkIHpyYW0gZGV2aWNlKHMpLiAgWnJhbSBkZXZpY2Ugc2V0dGluZ3MKK2NhbiBiZSBjaGFuZ2VkIG9ubHkgYWZ0ZXIgYSByZXNldC4KKy5UUAorLkJSIFwtcyAsICIgXC1cLXNpemUgIiBcZklzaXplCitDcmVhdGUgYSB6cmFtIGRldmljZSBvZiB0aGUgc3BlY2lmaWVkIFxmSXNpemVcZlIuCitacmFtIGRldmljZXMgYXJlIGFsaWduZWQgdG8gbWVtb3J5IHBhZ2VzOyB3aGVuIHRoZSByZXF1ZXN0ZWQgXGZJc2l6ZVxmUiBpcworbm90IGEgbXVsdGlwbGUgb2YgdGhlIHBhZ2Ugc2l6ZSwgaXQgd2lsbCBiZSByb3VuZGVkIHVwIHRvIHRoZSBuZXh0IG11bHRpcGxlLgorV2hlbiBub3Qgb3RoZXJ3aXNlIHNwZWNpZmllZCwgdGhlIHVuaXQgb2YgdGhlIFxmSXNpemVcZlIgcGFyYW1ldGVyIGlzIGJ5dGVzLgorLklQCitUaGUgXGZJc2l6ZVxmUiBhcmd1bWVudCBtYXkgYmUgZm9sbG93ZWQgYnkgdGhlIG11bHRpcGxpY2F0aXZlIHN1ZmZpeGVzIEtpQiAoPTEwMjQpLAorTWlCICg9MTAyNCoxMDI0KSwgYW5kIHNvIG9uIGZvciBHaUIsIFRpQiwgUGlCLCBFaUIsIFppQiBhbmQgWWlCICh0aGUgImlCIgoraXMgb3B0aW9uYWwsIGUuZy4sICJLIiBoYXMgdGhlIHNhbWUgbWVhbmluZyBhcyAiS2lCIikgb3IgdGhlIHN1ZmZpeGVzCitLQiAoPTEwMDApLCBNQiAoPTEwMDAqMTAwMCksIGFuZCBzbyBvbiBmb3IgR0IsIFRCLCBQQiwgRUIsIFpCIGFuZCBZQi4KKy5UUAorLkJSIFwtdCAsICIgXC1cLXN0cmVhbXMgIiBcZkludW1iZXIKK1NldCB0aGUgbWF4aW11bSBudW1iZXIgb2YgY29tcHJlc3Npb24gc3RyZWFtcyB0aGF0IGNhbiBiZSB1c2VkIGZvciB0aGUgZGV2aWNlLgorVGhlIGRlZmF1bHQgaXMgb25lIHN0cmVhbS4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisKKy5TSCBSRVRVUk4gVkFMVUUKKy5CIHpyYW1jdGwKK3JldHVybnMgMCBvbiBzdWNjZXNzLCBub256ZXJvIG9uIGZhaWx1cmUuCisKKy5TSCBGSUxFUworLlRQCisuSSAvZGV2L3pyYW1bMC4uTl0KK3pyYW0gYmxvY2sgZGV2aWNlcworCisuU0ggRVhBTVBMRQorVGhlIGZvbGxvd2luZyBjb21tYW5kcyBzZXQgdXAgYSB6cmFtIGRldmljZSB3aXRoIGEgc2l6ZSBvZiBvbmUgZ2lnYWJ5dGUKK2FuZCB1c2UgaXQgYXMgc3dhcCBkZXZpY2UuCisubmYKKy5JUAorIyB6cmFtY3RsIC0tZmluZCAtLXNpemUgMTAyNE0KKy9kZXYvenJhbTAKKyMgbWtzd2FwIC9kZXYvenJhbTAKKyMgc3dhcG9uIC9kZXYvenJhbTAKKyAuLi4KKyMgc3dhcG9mZiAvZGV2L3pyYW0wCisjIHpyYW1jdGwgLS1yZXNldCAvZGV2L3pyYW0wCisuZmkKKy5TSCBTRUUgQUxTTworLlVSIGh0dHA6Ly9naXQuXDprZXJuZWwuXDpvcmdcOi9jZ2l0XDovbGludXhcOi9rZXJuZWxcOi9naXRcOi90b3J2YWxkc1w6L2xpbnV4LmdpdFw6L3RyZWVcOi9Eb2N1bWVudGF0aW9uXDovYmxvY2tkZXZcOi96cmFtLnR4dAorTGludXgga2VybmVsIGRvY3VtZW50YXRpb24KKy5VRSAuCisuU0ggQVVUSE9SUworLm5mCitUaW1vZmV5IFRpdG92ZXRzIDxuZWZlbGltNGFnQGdtYWlsLmNvbT4KK0thcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorLmZpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgenJhbWN0bCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2Z0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy96cmFtY3RsLmMgYi9zeXMtdXRpbHMvenJhbWN0bC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1MzQwMWMKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvenJhbWN0bC5jCkBAIC0wLDAgKzEsNzM2IEBACisvKgorICogenJhbWN0bCAtIGNvbnRyb2wgY29tcHJlc3NlZCBibG9jayBkZXZpY2VzIGluIFJBTQorICoKKyAqIENvcHlyaWdodCAoYykgMjAxNCBUaW1vZmV5IFRpdG92ZXRzIDxOZWZlbGltNGFnQGdtYWlsLmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd291bGQgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKyAqIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisgKiA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorICovCisKKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxhc3NlcnQuaD4KKworI2luY2x1ZGUgPGxpYnNtYXJ0Y29scy5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJzeXNmcy5oIgorI2luY2x1ZGUgIm9wdHV0aWxzLmgiCisjaW5jbHVkZSAiaXNtb3VudGVkLmgiCisjaW5jbHVkZSAic3Rydi5oIgorI2luY2x1ZGUgInBhdGguaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKworLyojZGVmaW5lIENPTkZJR19aUkFNX0RFQlVHKi8KKworI2lmZGVmIENPTkZJR19aUkFNX0RFQlVHCisjIGRlZmluZSBEQkcoeCkJIGRvIHsgZnB1dHMoInpyYW06ICIsIHN0ZGVycik7IHg7IGZwdXRjKCdcbicsIHN0ZGVycik7IH0gd2hpbGUoMCkKKyNlbHNlCisjIGRlZmluZSBEQkcoeCkKKyNlbmRpZgorCisvKiBzdGF0dXMgb3V0cHV0IGNvbHVtbnMgKi8KK3N0cnVjdCBjb2xpbmZvIHsKKwljb25zdCBjaGFyICpuYW1lOworCWRvdWJsZSB3aGludDsKKwlpbnQgZmxhZ3M7CisJY29uc3QgY2hhciAqaGVscDsKK307CisKK2VudW0geworCUNPTF9OQU1FID0gMCwKKwlDT0xfRElTS1NJWkUsCisJQ09MX09SSUdfU0laRSwKKwlDT0xfQ09NUF9TSVpFLAorCUNPTF9BTEdPUklUSE0sCisJQ09MX1NUUkVBTVMsCisJQ09MX1pFUk9QQUdFUywKKwlDT0xfTUVNVE9UQUwsCisJQ09MX01FTUxJTUlULAorCUNPTF9NRU1VU0VELAorCUNPTF9NSUdSQVRFRCwKKwlDT0xfTU9VTlRQT0lOVAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBjb2xpbmZvIGluZm9zW10gPSB7CisJW0NPTF9OQU1FXSAgICAgID0geyAiTkFNRSIsICAgICAgMC4yNSwgMCwgTl8oInpyYW0gZGV2aWNlIG5hbWUiKSB9LAorCVtDT0xfRElTS1NJWkVdICA9IHsgIkRJU0tTSVpFIiwgICAgIDUsIFNDT0xTX0ZMX1JJR0hULCBOXygibGltaXQgb24gdGhlIHVuY29tcHJlc3NlZCBhbW91bnQgb2YgZGF0YSIpIH0sCisJW0NPTF9PUklHX1NJWkVdID0geyAiREFUQSIsICAgICAgICAgNSwgU0NPTFNfRkxfUklHSFQsIE5fKCJ1bmNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIpIH0sCisJW0NPTF9DT01QX1NJWkVdID0geyAiQ09NUFIiLCAgICAgICAgNSwgU0NPTFNfRkxfUklHSFQsIE5fKCJjb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiKSB9LAorCVtDT0xfQUxHT1JJVEhNXSA9IHsgIkFMR09SSVRITSIsICAgIDMsIDAsIE5fKCJ0aGUgc2VsZWN0ZWQgY29tcHJlc3Npb24gYWxnb3JpdGhtIikgfSwKKwlbQ09MX1NUUkVBTVNdICAgPSB7ICJTVFJFQU1TIiwgICAgICAzLCBTQ09MU19GTF9SSUdIVCwgTl8oIm51bWJlciBvZiBjb25jdXJyZW50IGNvbXByZXNzIG9wZXJhdGlvbnMiKSB9LAorCVtDT0xfWkVST1BBR0VTXSA9IHsgIlpFUk8tUEFHRVMiLCAgIDMsIFNDT0xTX0ZMX1JJR0hULCBOXygiZW1wdHkgcGFnZXMgd2l0aCBubyBhbGxvY2F0ZWQgbWVtb3J5IikgfSwKKwlbQ09MX01FTVRPVEFMXSAgPSB7ICJUT1RBTCIsICAgICAgICA1LCBTQ09MU19GTF9SSUdIVCwgTl8oImFsbCBtZW1vcnkgaW5jbHVkaW5nIGFsbG9jYXRvciBmcmFnbWVudGF0aW9uIGFuZCBtZXRhZGF0YSBvdmVyaGVhZCIpIH0sCisJW0NPTF9NRU1MSU1JVF0gID0geyAiTUVNLUxJTUlUIiwgICAgNSwgU0NPTFNfRkxfUklHSFQsIE5fKCJtZW1vcnkgbGltaXQgdXNlZCB0byBzdG9yZSBjb21wcmVzc2VkIGRhdGEiKSB9LAorCVtDT0xfTUVNVVNFRF0gICA9IHsgIk1FTS1VU0VEIiwgICAgIDUsIFNDT0xTX0ZMX1JJR0hULCBOXygibWVtb3J5IHpyYW0gaGF2ZSBiZWVuIGNvbnN1bWVkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIpIH0sCisJW0NPTF9NSUdSQVRFRF0gID0geyAiTUlHUkFURUQiLCAgICAgNSwgU0NPTFNfRkxfUklHSFQsIE5fKCJudW1iZXIgb2Ygb2JqZWN0cyBtaWdyYXRlZCBieSBjb21wYWN0aW9uIikgfSwKKwlbQ09MX01PVU5UUE9JTlRdPSB7ICJNT1VOVFBPSU5UIiwwLjEwLCBTQ09MU19GTF9UUlVOQywgTl8oIndoZXJlIHRoZSBkZXZpY2UgaXMgbW91bnRlZCIpIH0sCit9OworCitzdGF0aWMgaW50IGNvbHVtbnNbQVJSQVlfU0laRShpbmZvcykgKiAyXSA9IHstMX07CitzdGF0aWMgaW50IG5jb2x1bW5zOworCitlbnVtIHsKKwlNTV9PUklHX0RBVEFfU0laRSA9IDAsCisJTU1fQ09NUFJfREFUQV9TSVpFLAorCU1NX01FTV9VU0VEX1RPVEFMLAorCU1NX01FTV9MSU1JVCwKKwlNTV9NRU1fVVNFRF9NQVgsCisJTU1fWkVST19QQUdFUywKKwlNTV9OVU1fTUlHUkFURUQKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICptbV9zdGF0X25hbWVzW10gPSB7CisJW01NX09SSUdfREFUQV9TSVpFXSAgPSAib3JpZ19kYXRhX3NpemUiLAorCVtNTV9DT01QUl9EQVRBX1NJWkVdID0gImNvbXByX2RhdGFfc2l6ZSIsCisJW01NX01FTV9VU0VEX1RPVEFMXSAgPSAibWVtX3VzZWRfdG90YWwiLAorCVtNTV9NRU1fTElNSVRdICAgICAgID0gIm1lbV9saW1pdCIsCisJW01NX01FTV9VU0VEX01BWF0gICAgPSAibWVtX3VzZWRfbWF4IiwKKwlbTU1fWkVST19QQUdFU10gICAgICA9ICJ6ZXJvX3BhZ2VzIiwKKwlbTU1fTlVNX01JR1JBVEVEXSAgICA9ICJudW1fbWlncmF0ZWQiCit9OworCisKK3N0cnVjdCB6cmFtIHsKKwljaGFyCWRldm5hbWVbMzJdOworCXN0cnVjdCBzeXNmc19jeHQgc3lzZnM7CisJY2hhcgkqKm1tX3N0YXQ7CisKKwl1bnNpZ25lZCBpbnQgbW1fc3RhdF9wcm9iZWQgOiAxLAorCQkgICAgIGNvbnRyb2xfcHJvYmVkIDogMSwKKwkJICAgICBoYXNfY29udHJvbCA6IDE7CS8qIGhhcyAvc3lzL2NsYXNzL3pyYW0tY29udHJvbC8gKi8KK307CisKKyNkZWZpbmUgWlJBTV9FTVBUWQl7IC5kZXZuYW1lID0geyAnXDAnIH0sIC5zeXNmcyA9IFVMX1NZU0ZTQ1hUX0VNUFRZIH0KKworc3RhdGljIHVuc2lnbmVkIGludCByYXcsIG5vX2hlYWRpbmdzLCBpbmJ5dGVzOworCisKK3N0YXRpYyBpbnQgZ2V0X2NvbHVtbl9pZChpbnQgbnVtKQoreworCWFzc2VydChudW0gPCBuY29sdW1ucyk7CisJYXNzZXJ0KGNvbHVtbnNbbnVtXSA8IChpbnQpIEFSUkFZX1NJWkUoaW5mb3MpKTsKKwlyZXR1cm4gY29sdW1uc1tudW1dOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGNvbGluZm8gKmdldF9jb2x1bW5faW5mbyhpbnQgbnVtKQoreworCXJldHVybiAmaW5mb3NbIGdldF9jb2x1bW5faWQobnVtKSBdOworfQorCitzdGF0aWMgaW50IGNvbHVtbl9uYW1lX3RvX2lkKGNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBuYW1lc3opCit7CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShpbmZvcyk7IGkrKykgeworCQljb25zdCBjaGFyICpjbiA9IGluZm9zW2ldLm5hbWU7CisKKwkJaWYgKCFzdHJuY2FzZWNtcChuYW1lLCBjbiwgbmFtZXN6KSAmJiAhKihjbiArIG5hbWVzeikpCisJCQlyZXR1cm4gaTsKKwl9CisJd2FybngoXygidW5rbm93biBjb2x1bW46ICVzIiksIG5hbWUpOworCXJldHVybiAtMTsKK30KKworc3RhdGljIHZvaWQgenJhbV9yZXNldF9zdGF0KHN0cnVjdCB6cmFtICp6KQoreworCWlmICh6KSB7CisJCXN0cnZfZnJlZSh6LT5tbV9zdGF0KTsKKwkJei0+bW1fc3RhdCA9IE5VTEw7CisJCXotPm1tX3N0YXRfcHJvYmVkID0gMDsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHpyYW1fc2V0X2Rldm5hbWUoc3RydWN0IHpyYW0gKnosIGNvbnN0IGNoYXIgKmRldm5hbWUsIHNpemVfdCBuKQoreworCWFzc2VydCh6KTsKKworCWlmICghZGV2bmFtZSkKKwkJc25wcmludGYoei0+ZGV2bmFtZSwgc2l6ZW9mKHotPmRldm5hbWUpLCAiL2Rldi96cmFtJXp1Iiwgbik7CisJZWxzZSB7CisJCXN0cm5jcHkoei0+ZGV2bmFtZSwgZGV2bmFtZSwgc2l6ZW9mKHotPmRldm5hbWUpKTsKKwkJei0+ZGV2bmFtZVtzaXplb2Yoei0+ZGV2bmFtZSkgLSAxXSA9ICdcMCc7CisJfQorCisJREJHKGZwcmludGYoc3RkZXJyLCAic2V0IGRldm5hbWU6ICVzIiwgei0+ZGV2bmFtZSkpOworCXN5c2ZzX2RlaW5pdCgmei0+c3lzZnMpOworCXpyYW1fcmVzZXRfc3RhdCh6KTsKK30KKworc3RhdGljIGludCB6cmFtX2dldF9kZXZudW0oc3RydWN0IHpyYW0gKnopCit7CisJaW50IG47CisKKwlhc3NlcnQoeik7CisKKwlpZiAoc3NjYW5mKHotPmRldm5hbWUsICIvZGV2L3pyYW0lZCIsICZuKSA9PSAxKQorCQlyZXR1cm4gbjsKKwlyZXR1cm4gLUVJTlZBTDsKK30KKworc3RhdGljIHN0cnVjdCB6cmFtICpuZXdfenJhbShjb25zdCBjaGFyICpkZXZuYW1lKQoreworCXN0cnVjdCB6cmFtICp6ID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IHpyYW0pKTsKKworCURCRyhmcHJpbnRmKHN0ZGVyciwgIm5ldzogJXAiLCB6KSk7CisJaWYgKGRldm5hbWUpCisJCXpyYW1fc2V0X2Rldm5hbWUoeiwgZGV2bmFtZSwgMCk7CisJcmV0dXJuIHo7Cit9CisKK3N0YXRpYyB2b2lkIGZyZWVfenJhbShzdHJ1Y3QgenJhbSAqeikKK3sKKwlpZiAoIXopCisJCXJldHVybjsKKwlEQkcoZnByaW50ZihzdGRlcnIsICJmcmVlOiAlcCIsIHopKTsKKwlzeXNmc19kZWluaXQoJnotPnN5c2ZzKTsKKwl6cmFtX3Jlc2V0X3N0YXQoeik7CisJZnJlZSh6KTsKK30KKworc3RhdGljIHN0cnVjdCBzeXNmc19jeHQgKnpyYW1fZ2V0X3N5c2ZzKHN0cnVjdCB6cmFtICp6KQoreworCWFzc2VydCh6KTsKKworCWlmICghei0+c3lzZnMuZGV2bm8pIHsKKwkJZGV2X3QgZGV2bm8gPSBzeXNmc19kZXZuYW1lX3RvX2Rldm5vKHotPmRldm5hbWUsIE5VTEwpOworCQlpZiAoIWRldm5vKQorCQkJcmV0dXJuIE5VTEw7CisJCWlmIChzeXNmc19pbml0KCZ6LT5zeXNmcywgZGV2bm8sIE5VTEwpKQorCQkJcmV0dXJuIE5VTEw7CisJCWlmICgqei0+ZGV2bmFtZSAhPSAnLycpIHsKKwkJCS8qIGNhbm9uaWNhbGl6ZSB0aGUgZGV2aWNlIG5hbWUgYWNjb3JkaW5nIHRvIC9zeXMgKi8KKwkJCWNoYXIgbmFtZVtQQVRIX01BWF07CisJCQlpZiAoc3lzZnNfZ2V0X2Rldm5hbWUoJnotPnN5c2ZzLCBuYW1lLCBzaXplb2YobmFtZSkpKQorCQkJCXNucHJpbnRmKHotPmRldm5hbWUsIHNpemVvZih6LT5kZXZuYW1lKSwgIi9kZXYvJXMiLCBuYW1lKTsKKwkJfQorCX0KKworCXJldHVybiAmei0+c3lzZnM7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IHpyYW1fZXhpc3Qoc3RydWN0IHpyYW0gKnopCit7CisJYXNzZXJ0KHopOworCisJZXJybm8gPSAwOworCWlmICh6cmFtX2dldF9zeXNmcyh6KSA9PSBOVUxMKSB7CisJCWVycm5vID0gRU5PREVWOworCQlyZXR1cm4gMDsKKwl9CisKKwlEQkcoZnByaW50ZihzdGRlcnIsICIlcyBleGlzdHMiLCB6LT5kZXZuYW1lKSk7CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgenJhbV9zZXRfdTY0cGFybShzdHJ1Y3QgenJhbSAqeiwgY29uc3QgY2hhciAqYXR0ciwgdWludDY0X3QgbnVtKQoreworCXN0cnVjdCBzeXNmc19jeHQgKnN5c2ZzID0genJhbV9nZXRfc3lzZnMoeik7CisJaWYgKCFzeXNmcykKKwkJcmV0dXJuIC1FSU5WQUw7CisJREJHKGZwcmludGYoc3RkZXJyLCAiJXMgd3JpdGluZyAlanUgdG8gJXMiLCB6LT5kZXZuYW1lLCBudW0sIGF0dHIpKTsKKwlyZXR1cm4gc3lzZnNfd3JpdGVfdTY0KHN5c2ZzLCBhdHRyLCBudW0pOworfQorCitzdGF0aWMgaW50IHpyYW1fc2V0X3N0cnBhcm0oc3RydWN0IHpyYW0gKnosIGNvbnN0IGNoYXIgKmF0dHIsIGNvbnN0IGNoYXIgKnN0cikKK3sKKwlzdHJ1Y3Qgc3lzZnNfY3h0ICpzeXNmcyA9IHpyYW1fZ2V0X3N5c2ZzKHopOworCWlmICghc3lzZnMpCisJCXJldHVybiAtRUlOVkFMOworCURCRyhmcHJpbnRmKHN0ZGVyciwgIiVzIHdyaXRpbmcgJXMgdG8gJXMiLCB6LT5kZXZuYW1lLCBzdHIsIGF0dHIpKTsKKwlyZXR1cm4gc3lzZnNfd3JpdGVfc3RyaW5nKHN5c2ZzLCBhdHRyLCBzdHIpOworfQorCisKK3N0YXRpYyBpbnQgenJhbV91c2VkKHN0cnVjdCB6cmFtICp6KQoreworCXVpbnQ2NF90IHNpemU7CisJc3RydWN0IHN5c2ZzX2N4dCAqc3lzZnMgPSB6cmFtX2dldF9zeXNmcyh6KTsKKworCWlmIChzeXNmcyAmJgorCSAgICBzeXNmc19yZWFkX3U2NChzeXNmcywgImRpc2tzaXplIiwgJnNpemUpID09IDAgJiYKKwkgICAgc2l6ZSA+IDApIHsKKworCQlEQkcoZnByaW50ZihzdGRlcnIsICIlcyB1c2VkIiwgei0+ZGV2bmFtZSkpOworCQlyZXR1cm4gMTsKKwl9CisJREJHKGZwcmludGYoc3RkZXJyLCAiJXMgdW51c2VkIiwgei0+ZGV2bmFtZSkpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHpyYW1faGFzX2NvbnRyb2woc3RydWN0IHpyYW0gKnopCit7CisJaWYgKCF6LT5jb250cm9sX3Byb2JlZCkgeworCQl6LT5oYXNfY29udHJvbCA9IGFjY2VzcyhfUEFUSF9TWVNfQ0xBU1MgIi96cmFtLWNvbnRyb2wvIiwgRl9PSykgPT0gMCA/IDEgOiAwOworCQl6LT5jb250cm9sX3Byb2JlZCA9IDE7CisJCURCRyhmcHJpbnRmKHN0ZGVyciwgInpyYW0tY29udHJvbDogJXMiLCB6LT5oYXNfY29udHJvbCA/ICJ5ZXMiIDogIm5vIikpOworCX0KKworCXJldHVybiB6LT5oYXNfY29udHJvbDsKK30KKworc3RhdGljIGludCB6cmFtX2NvbnRyb2xfYWRkKHN0cnVjdCB6cmFtICp6KQoreworCWludCBuOworCisJaWYgKCF6cmFtX2hhc19jb250cm9sKHopKQorCQlyZXR1cm4gLUVOT1NZUzsKKworCW4gPSBwYXRoX3JlYWRfczMyKF9QQVRIX1NZU19DTEFTUyAiL3pyYW0tY29udHJvbC9ob3RfYWRkIik7CisJaWYgKG4gPCAwKQorCQlyZXR1cm4gbjsKKworCURCRyhmcHJpbnRmKHN0ZGVyciwgImhvdC1hZGQ6ICVkIiwgbikpOworCXpyYW1fc2V0X2Rldm5hbWUoeiwgTlVMTCwgbik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgenJhbV9jb250cm9sX3JlbW92ZShzdHJ1Y3QgenJhbSAqeikKK3sKKwljaGFyIHN0cltzaXplb2Ygc3RyaW5naWZ5X3ZhbHVlKElOVF9NQVgpXTsKKwlpbnQgbjsKKworCWlmICghenJhbV9oYXNfY29udHJvbCh6KSkKKwkJcmV0dXJuIC1FTk9TWVM7CisKKwluID0genJhbV9nZXRfZGV2bnVtKHopOworCWlmIChuIDwgMCkKKwkJcmV0dXJuIG47CisKKwlEQkcoZnByaW50ZihzdGRlcnIsICJob3QtcmVtb3ZlOiAlZCIsIG4pKTsKKwlzbnByaW50ZihzdHIsIHNpemVvZihzdHIpLCAiJWQiLCBuKTsKKwlyZXR1cm4gcGF0aF93cml0ZV9zdHIoc3RyLCBfUEFUSF9TWVNfQ0xBU1MgIi96cmFtLWNvbnRyb2wvaG90X3JlbW92ZSIpOworfQorCitzdGF0aWMgc3RydWN0IHpyYW0gKmZpbmRfZnJlZV96cmFtKHZvaWQpCit7CisJc3RydWN0IHpyYW0gKnogPSBuZXdfenJhbShOVUxMKTsKKwlzaXplX3QgaTsKKwlpbnQgaXNmcmVlID0gMDsKKworCWZvciAoaSA9IDA7IGlzZnJlZSA9PSAwOyBpKyspIHsKKwkJREJHKGZwcmludGYoc3RkZXJyLCAiZmluZCBmcmVlOiBjaGVja2luZyB6cmFtJXp1IiwgaSkpOworCQl6cmFtX3NldF9kZXZuYW1lKHosIE5VTEwsIGkpOworCQlpZiAoIXpyYW1fZXhpc3QoeikgJiYgenJhbV9jb250cm9sX2FkZCh6KSAhPSAwKQorCQkJYnJlYWs7CisJCWlzZnJlZSA9ICF6cmFtX3VzZWQoeik7CisJfQorCWlmICghaXNmcmVlKSB7CisJCWZyZWVfenJhbSh6KTsKKwkJeiA9IE5VTEw7CisJfQorCXJldHVybiB6OworfQorCitzdGF0aWMgY2hhciAqZ2V0X21tX3N0YXQoc3RydWN0IHpyYW0gKnosIHNpemVfdCBpZHgsIGludCBieXRlcykKK3sKKwlzdHJ1Y3Qgc3lzZnNfY3h0ICpzeXNmczsKKwljb25zdCBjaGFyICpuYW1lOworCXVpbnQ2NF90IG51bTsKKworCWFzc2VydChpZHggPCBBUlJBWV9TSVpFKG1tX3N0YXRfbmFtZXMpKTsKKwlhc3NlcnQoeik7CisKKwlzeXNmcyA9IHpyYW1fZ2V0X3N5c2ZzKHopOworCWlmICghc3lzZnMpCisJCXJldHVybiBOVUxMOworCisJLyogTGludXggPj0gNC4xIHVzZXMgL3N5cy9ibG9jay96cmFtPGlkPi9tbV9zdGF0ICovCisJaWYgKCF6LT5tbV9zdGF0ICYmICF6LT5tbV9zdGF0X3Byb2JlZCkgeworCQljaGFyICpzdHI7CisKKwkJc3RyID0gc3lzZnNfc3RyZHVwKHN5c2ZzLCAibW1fc3RhdCIpOworCQlpZiAoc3RyKSB7CisJCQl6LT5tbV9zdGF0ID0gc3Rydl9zcGxpdChzdHIsICIgIik7CisJCQlpZiAoc3Rydl9sZW5ndGgoei0+bW1fc3RhdCkgPCBBUlJBWV9TSVpFKG1tX3N0YXRfbmFtZXMpKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJGYWlsZWQgdG8gcGFyc2UgbW1fc3RhdCIpKTsKKwkJfQorCQl6LT5tbV9zdGF0X3Byb2JlZCA9IDE7CisJCWZyZWUoc3RyKTsKKworCX0KKworCWlmICh6LT5tbV9zdGF0KSB7CisJCWlmIChieXRlcykKKwkJCXJldHVybiB4c3RyZHVwKHotPm1tX3N0YXRbaWR4XSk7CisKKwkJbnVtID0gc3RydG91NjRfb3JfZXJyKHotPm1tX3N0YXRbaWR4XSwgXygiRmFpbGVkIHRvIHBhcnNlIG1tX3N0YXQiKSk7CisJCXJldHVybiBzaXplX3RvX2h1bWFuX3N0cmluZyhTSVpFX1NVRkZJWF8xTEVUVEVSLCBudW0pOworCX0KKworCS8qIExpbnV4IDwgNC4xIHVzZXMgL3N5cy9ibG9jay96cmFtPGlkPi88YXR0cm5hbWU+ICovCisJbmFtZSA9IG1tX3N0YXRfbmFtZXNbaWR4XTsKKwlpZiAoYnl0ZXMpCisJCXJldHVybiBzeXNmc19zdHJkdXAoc3lzZnMsIG5hbWUpOworCWVsc2UgaWYgKHN5c2ZzX3JlYWRfdTY0KHN5c2ZzLCBuYW1lLCAmbnVtKSA9PSAwKQorCQlyZXR1cm4gc2l6ZV90b19odW1hbl9zdHJpbmcoU0laRV9TVUZGSVhfMUxFVFRFUiwgbnVtKTsKKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIHZvaWQgZmlsbF90YWJsZV9yb3coc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yiwgc3RydWN0IHpyYW0gKnopCit7CisJc3RhdGljIHN0cnVjdCBsaWJzY29sc19saW5lICpsbjsKKwlzdHJ1Y3Qgc3lzZnNfY3h0ICpzeXNmczsKKwlzaXplX3QgaTsKKwl1aW50NjRfdCBudW07CisKKwlhc3NlcnQodGIpOworCWFzc2VydCh6KTsKKworCURCRyhmcHJpbnRmKHN0ZGVyciwgIiVzOiBmaWxsaW5nIHN0YXR1cyB0YWJsZSIsIHotPmRldm5hbWUpKTsKKworCXN5c2ZzID0genJhbV9nZXRfc3lzZnMoeik7CisJaWYgKCFzeXNmcykKKwkJcmV0dXJuOworCisJbG4gPSBzY29sc190YWJsZV9uZXdfbGluZSh0YiwgTlVMTCk7CisJaWYgKCFsbikKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGxpbmUiKSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgKHNpemVfdCkgbmNvbHVtbnM7IGkrKykgeworCQljaGFyICpzdHIgPSBOVUxMOworCisJCXN3aXRjaCAoZ2V0X2NvbHVtbl9pZChpKSkgeworCQljYXNlIENPTF9OQU1FOgorCQkJc3RyID0geHN0cmR1cCh6LT5kZXZuYW1lKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9ESVNLU0laRToKKwkJCWlmIChpbmJ5dGVzKQorCQkJCXN0ciA9IHN5c2ZzX3N0cmR1cChzeXNmcywgImRpc2tzaXplIik7CisJCQllbHNlIGlmIChzeXNmc19yZWFkX3U2NChzeXNmcywgImRpc2tzaXplIiwgJm51bSkgPT0gMCkKKwkJCQlzdHIgPSBzaXplX3RvX2h1bWFuX3N0cmluZyhTSVpFX1NVRkZJWF8xTEVUVEVSLCBudW0pOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX0FMR09SSVRITToKKwkJeworCQkJY2hhciAqYWxnID0gc3lzZnNfc3RyZHVwKHN5c2ZzLCAiY29tcF9hbGdvcml0aG0iKTsKKwkJCWlmICghYWxnKQorCQkJCWJyZWFrOworCQkJaWYgKHN0cnN0cihhbGcsICJbbHpvXSIpID09IE5VTEwpIHsKKwkJCQlpZiAoc3Ryc3RyKGFsZywgIltsejRdIikgPT0gTlVMTCkKKwkJCQkJOworCQkJCWVsc2UKKwkJCQkJc3RyID0geHN0cmR1cCgibHo0Iik7CisJCQl9IGVsc2UKKwkJCQlzdHIgPSB4c3RyZHVwKCJsem8iKTsKKwkJCWZyZWUoYWxnKTsKKwkJCWJyZWFrOworCQl9CisJCWNhc2UgQ09MX01PVU5UUE9JTlQ6CisJCXsKKwkJCWNoYXIgcGF0aFtQQVRIX01BWF0gPSB7ICdcMCcgfTsKKwkJCWludCBmbDsKKworCQkJY2hlY2tfbW91bnRfcG9pbnQoei0+ZGV2bmFtZSwgJmZsLCBwYXRoLCBzaXplb2YocGF0aCkpOworCQkJaWYgKCpwYXRoKQorCQkJCXN0ciA9IHhzdHJkdXAocGF0aCk7CisJCQlicmVhazsKKwkJfQorCQljYXNlIENPTF9TVFJFQU1TOgorCQkJc3RyID0gc3lzZnNfc3RyZHVwKHN5c2ZzLCAibWF4X2NvbXBfc3RyZWFtcyIpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1pFUk9QQUdFUzoKKwkJCXN0ciA9IGdldF9tbV9zdGF0KHosIE1NX1pFUk9fUEFHRVMsIDEpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX09SSUdfU0laRToKKwkJCXN0ciA9IGdldF9tbV9zdGF0KHosIE1NX09SSUdfREFUQV9TSVpFLCBpbmJ5dGVzKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9DT01QX1NJWkU6CisJCQlzdHIgPSBnZXRfbW1fc3RhdCh6LCBNTV9DT01QUl9EQVRBX1NJWkUsIGluYnl0ZXMpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX01FTVRPVEFMOgorCQkJc3RyID0gZ2V0X21tX3N0YXQoeiwgTU1fTUVNX1VTRURfVE9UQUwsIGluYnl0ZXMpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX01FTUxJTUlUOgorCQkJc3RyID0gZ2V0X21tX3N0YXQoeiwgTU1fTUVNX0xJTUlULCBpbmJ5dGVzKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9NRU1VU0VEOgorCQkJc3RyID0gZ2V0X21tX3N0YXQoeiwgTU1fTUVNX1VTRURfTUFYLCBpbmJ5dGVzKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9NSUdSQVRFRDoKKwkJCXN0ciA9IGdldF9tbV9zdGF0KHosIE1NX05VTV9NSUdSQVRFRCwgaW5ieXRlcyk7CisJCQlicmVhazsKKwkJfQorCQlpZiAoc3RyKQorCQkJc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBpLCBzdHIpOworCX0KK30KKworc3RhdGljIHZvaWQgc3RhdHVzKHN0cnVjdCB6cmFtICp6KQoreworCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGI7CisJc2l6ZV90IGk7CisKKwlzY29sc19pbml0X2RlYnVnKDApOworCisJdGIgPSBzY29sc19uZXdfdGFibGUoKTsKKwlpZiAoIXRiKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgdGFibGUiKSk7CisKKwlzY29sc190YWJsZV9lbmFibGVfcmF3KHRiLCByYXcpOworCXNjb2xzX3RhYmxlX2VuYWJsZV9ub2hlYWRpbmdzKHRiLCBub19oZWFkaW5ncyk7CisKKwlmb3IgKGkgPSAwOyBpIDwgKHNpemVfdCkgbmNvbHVtbnM7IGkrKykgeworCQljb25zdCBzdHJ1Y3QgY29saW5mbyAqY29sID0gZ2V0X2NvbHVtbl9pbmZvKGkpOworCisJCWlmICghc2NvbHNfdGFibGVfbmV3X2NvbHVtbih0YiwgY29sLT5uYW1lLCBjb2wtPndoaW50LCBjb2wtPmZsYWdzKSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iKSk7CisJfQorCisJaWYgKHopCisJCWZpbGxfdGFibGVfcm93KHRiLCB6KTsJCS8qIGp1c3Qgb25lIGRldmljZSBzcGVjaWZpZWQgKi8KKwllbHNlIHsKKwkJLyogbGlzdCBhbGwgdXNlZCBkZXZpY2VzICovCisJCXogPSBuZXdfenJhbShOVUxMKTsKKworCQlmb3IgKGkgPSAwOyA7IGkrKykgeworCQkJenJhbV9zZXRfZGV2bmFtZSh6LCBOVUxMLCBpKTsKKwkJCWlmICghenJhbV9leGlzdCh6KSkKKwkJCQlicmVhazsKKwkJCWlmICh6cmFtX3VzZWQoeikpCisJCQkJZmlsbF90YWJsZV9yb3codGIsIHopOworCQl9CisJCWZyZWVfenJhbSh6KTsKKwl9CisKKwlzY29sc19wcmludF90YWJsZSh0Yik7CisJc2NvbHNfdW5yZWZfdGFibGUodGIpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqIG91dCkKK3sKKwlzaXplX3QgaTsKKworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygJIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorCQkJIiAlMSRzIC1yIDxkZXZpY2U+IFsuLi5dXG4iCisJCQkiICUxJHMgW29wdGlvbnNdIC1mIHwgPGRldmljZT4gLXMgPHNpemU+XG4iKSwKKwkJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJTZXQgdXAgYW5kIGNvbnRyb2wgenJhbSBkZXZpY2VzLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NCAgIGNvbXByZXNzaW9uIGFsZ29yaXRobSB0byB1c2VcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgZmluZCBhIGZyZWUgZGV2aWNlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIHVzZSByYXcgc3RhdHVzIG91dHB1dCBmb3JtYXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCBzcGVjaWZpZWQgZGV2aWNlc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1zLCAtLXNpemUgPHNpemU+ICAgICAgICAgZGV2aWNlIHNpemVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdCwgLS1zdHJlYW1zIDxudW1iZXI+ICAgIG51bWJlciBvZiBjb21wcmVzc2lvbiBzdHJlYW1zXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dCk7CisKKwlmcHV0cyhfKCJcbkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1vdXRwdXQpOlxuIiksIG91dCk7CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoaW5mb3MpOyBpKyspCisJCWZwcmludGYob3V0LCAiICUxMXMgICVzXG4iLCBpbmZvc1tpXS5uYW1lLCBfKGluZm9zW2ldLmhlbHApKTsKKworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgienJhbWN0bCg4KSIpKTsKKwlleGl0KG91dCA9PSBzdGRlcnIgPyAxIDogRVhJVF9TVUNDRVNTKTsKK30KKworLyogYWN0aW9ucyAqLworZW51bSB7CisJQV9OT05FID0gMCwKKwlBX1NUQVRVUywKKwlBX0NSRUFURSwKKwlBX0ZJTkRPTkxZLAorCUFfUkVTRVQKK307CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwl1aW50bWF4X3Qgc2l6ZSA9IDAsIG5zdHJlYW1zID0gMDsKKwljaGFyICphbGdvcml0aG0gPSBOVUxMOworCWludCByYyA9IDAsIGMsIGZpbmQgPSAwLCBhY3QgPSBBX05PTkU7CisJc3RydWN0IHpyYW0gKnpyYW0gPSBOVUxMOworCisJZW51bSB7IE9QVF9SQVcgPSBDSEFSX01BWCArIDEgfTsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsgImFsZ29yaXRobSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnYScgfSwKKwkJeyAiYnl0ZXMiLCAgICAgbm9fYXJndW1lbnQsIE5VTEwsICdiJyB9LAorCQl7ICJmaW5kIiwgICAgICBub19hcmd1bWVudCwgTlVMTCwgJ2YnIH0sCisJCXsgImhlbHAiLCAgICAgIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCcgfSwKKwkJeyAib3V0cHV0IiwgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdvJyB9LAorCQl7ICJub2hlYWRpbmdzIixub19hcmd1bWVudCwgTlVMTCwgJ24nIH0sCisJCXsgInJlc2V0IiwgICAgIG5vX2FyZ3VtZW50LCBOVUxMLCAncicgfSwKKwkJeyAicmF3IiwgICAgICAgbm9fYXJndW1lbnQsIE5VTEwsIE9QVF9SQVcgfSwKKwkJeyAic2l6ZSIsICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdzJyB9LAorCQl7ICJzdHJlYW1zIiwgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3QnIH0sCisJCXsgInZlcnNpb24iLCAgIG5vX2FyZ3VtZW50LCBOVUxMLCAnVicgfSwKKwkJeyBOVUxMLCAwLCBOVUxMLCAwIH0KKwl9OworCisJc3RhdGljIGNvbnN0IHVsX2V4Y2xfdCBleGNsW10gPSB7CisJCXsgJ2YnLCAnbycsICdyJyB9LAorCQl7ICdvJywgJ3InLCAncycgfSwKKwkJeyAwIH0KKwl9OworCWludCBleGNsX3N0W0FSUkFZX1NJWkUoZXhjbCldID0gVUxfRVhDTF9TVEFUVVNfSU5JVDsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiYTpiZmhvOm5yczp0OlYiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisKKwkJZXJyX2V4Y2x1c2l2ZV9vcHRpb25zKGMsIGxvbmdvcHRzLCBleGNsLCBleGNsX3N0KTsKKworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnYSc6CisJCQlpZiAoc3RyY21wKG9wdGFyZywibHpvIikgJiYgc3RyY21wKG9wdGFyZywibHo0IikpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuc3VwcG9ydGVkIGFsZ29yaXRobTogJXMiKSwKKwkJCQkJICAgICBvcHRhcmcpOworCQkJYWxnb3JpdGhtID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ2InOgorCQkJaW5ieXRlcyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnZic6CisJCQlmaW5kID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdvJzoKKwkJCW5jb2x1bW5zID0gc3RyaW5nX3RvX2lkYXJyYXkob3B0YXJnLAorCQkJCQkJICAgICBjb2x1bW5zLCBBUlJBWV9TSVpFKGNvbHVtbnMpLAorCQkJCQkJICAgICBjb2x1bW5fbmFtZV90b19pZCk7CisJCQlpZiAobmNvbHVtbnMgPCAwKQorCQkJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQlzaXplID0gc3RydG9zaXplX29yX2VycihvcHRhcmcsIF8oImZhaWxlZCB0byBwYXJzZSBzaXplIikpOworCQkJYWN0ID0gQV9DUkVBVEU7CisJCQlicmVhazsKKwkJY2FzZSAndCc6CisJCQluc3RyZWFtcyA9IHN0cnRvdTY0X29yX2VycihvcHRhcmcsIF8oImZhaWxlZCB0byBwYXJzZSBzdHJlYW1zIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJYWN0ID0gQV9SRVNFVDsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9SQVc6CisJCQlyYXcgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJbm9faGVhZGluZ3MgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQl9CisJfQorCisJaWYgKGZpbmQgJiYgb3B0aW5kIDwgYXJnYykKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIm9wdGlvbiAtLWZpbmQgaXMgbXV0dWFsbHkgZXhjbHVzaXZlICIKKwkJCQkgICAgICJ3aXRoIDxkZXZpY2U+IikpOworCWlmIChhY3QgPT0gQV9OT05FKQorCQlhY3QgPSBmaW5kID8gQV9GSU5ET05MWSA6IEFfU1RBVFVTOworCisJaWYgKGFjdCAhPSBBX1JFU0VUICYmIG9wdGluZCArIDEgPCBhcmdjKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygib25seSBvbmUgPGRldmljZT4gYXQgYSB0aW1lIGlzIGFsbG93ZWQiKSk7CisKKwlpZiAoKGFjdCA9PSBBX1NUQVRVUyB8fCBhY3QgPT0gQV9GSU5ET05MWSkgJiYgKGFsZ29yaXRobSB8fCBuc3RyZWFtcykpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJvcHRpb25zIC0tYWxnb3JpdGhtIGFuZCAtLXN0cmVhbXMgIgorCQkJCSAgICAgIm11c3QgYmUgY29tYmluZWQgd2l0aCAtLXNpemUiKSk7CisKKwlzd2l0Y2ggKGFjdCkgeworCWNhc2UgQV9TVEFUVVM6CisJCWlmICghbmNvbHVtbnMpIHsJCS8qIGRlZmF1bHQgY29sdW1ucyAqLworCQkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9OQU1FOworCQkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9BTEdPUklUSE07CisJCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX0RJU0tTSVpFOworCQkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9PUklHX1NJWkU7CisJCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX0NPTVBfU0laRTsKKwkJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfTUVNVE9UQUw7CisJCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX1NUUkVBTVM7CisJCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX01PVU5UUE9JTlQ7CisJCX0KKwkJaWYgKG9wdGluZCA8IGFyZ2MpIHsKKwkJCXpyYW0gPSBuZXdfenJhbShhcmd2W29wdGluZCsrXSk7CisJCQlpZiAoIXpyYW1fZXhpc3QoenJhbSkpCisJCQkJZXJyKEVYSVRfRkFJTFVSRSwgIiVzIiwgenJhbS0+ZGV2bmFtZSk7CisJCX0KKwkJc3RhdHVzKHpyYW0pOworCQlmcmVlX3pyYW0oenJhbSk7CisJCWJyZWFrOworCWNhc2UgQV9SRVNFVDoKKwkJaWYgKG9wdGluZCA9PSBhcmdjKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIm5vIGRldmljZSBzcGVjaWZpZWQiKSk7CisJCXdoaWxlIChvcHRpbmQgPCBhcmdjKSB7CisJCQl6cmFtID0gbmV3X3pyYW0oYXJndltvcHRpbmRdKTsKKwkJCWlmICghenJhbV9leGlzdCh6cmFtKQorCQkJICAgIHx8IHpyYW1fc2V0X3U2NHBhcm0oenJhbSwgInJlc2V0IiwgMSkpIHsKKwkJCQl3YXJuKF8oIiVzOiBmYWlsZWQgdG8gcmVzZXQiKSwgenJhbS0+ZGV2bmFtZSk7CisJCQkJcmMgPSAxOworCQkJfQorCQkJenJhbV9jb250cm9sX3JlbW92ZSh6cmFtKTsKKwkJCWZyZWVfenJhbSh6cmFtKTsKKwkJCW9wdGluZCsrOworCQl9CisJCWJyZWFrOworCWNhc2UgQV9GSU5ET05MWToKKwkJenJhbSA9IGZpbmRfZnJlZV96cmFtKCk7CisJCWlmICghenJhbSkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBmcmVlIHpyYW0gZGV2aWNlIGZvdW5kIikpOworCQlwcmludGYoIiVzXG4iLCB6cmFtLT5kZXZuYW1lKTsKKwkJZnJlZV96cmFtKHpyYW0pOworCQlicmVhazsKKwljYXNlIEFfQ1JFQVRFOgorCQlpZiAoZmluZCkgeworCQkJenJhbSA9IGZpbmRfZnJlZV96cmFtKCk7CisJCQlpZiAoIXpyYW0pCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIm5vIGZyZWUgenJhbSBkZXZpY2UgZm91bmQiKSk7CisJCX0gZWxzZSBpZiAob3B0aW5kID09IGFyZ2MpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibm8gZGV2aWNlIHNwZWNpZmllZCIpKTsKKwkJZWxzZSB7CisJCQl6cmFtID0gbmV3X3pyYW0oYXJndltvcHRpbmRdKTsKKwkJCWlmICghenJhbV9leGlzdCh6cmFtKSkKKwkJCQllcnIoRVhJVF9GQUlMVVJFLCAiJXMiLCB6cmFtLT5kZXZuYW1lKTsKKwkJfQorCisJCWlmICh6cmFtX3NldF91NjRwYXJtKHpyYW0sICJyZXNldCIsIDEpKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiJXM6IGZhaWxlZCB0byByZXNldCIpLCB6cmFtLT5kZXZuYW1lKTsKKworCQlpZiAobnN0cmVhbXMgJiYKKwkJICAgIHpyYW1fc2V0X3U2NHBhcm0oenJhbSwgIm1heF9jb21wX3N0cmVhbXMiLCBuc3RyZWFtcykpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCIlczogZmFpbGVkIHRvIHNldCBudW1iZXIgb2Ygc3RyZWFtcyIpLCB6cmFtLT5kZXZuYW1lKTsKKworCQlpZiAoYWxnb3JpdGhtICYmCisJCSAgICB6cmFtX3NldF9zdHJwYXJtKHpyYW0sICJjb21wX2FsZ29yaXRobSIsIGFsZ29yaXRobSkpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCIlczogZmFpbGVkIHRvIHNldCBhbGdvcml0aG0iKSwgenJhbS0+ZGV2bmFtZSk7CisKKwkJaWYgKHpyYW1fc2V0X3U2NHBhcm0oenJhbSwgImRpc2tzaXplIiwgc2l6ZSkpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCIlczogZmFpbGVkIHRvIHNldCBkaXNrc2l6ZSAoJWp1IGJ5dGVzKSIpLAorCQkJCXpyYW0tPmRldm5hbWUsIHNpemUpOworCQlpZiAoZmluZCkKKwkJCXByaW50ZigiJXNcbiIsIHpyYW0tPmRldm5hbWUpOworCQlmcmVlX3pyYW0oenJhbSk7CisJCWJyZWFrOworCX0KKworCXJldHVybiByYyA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL3Rlcm0tdXRpbHMvTWFrZW1vZHVsZS5hbSBiL3Rlcm0tdXRpbHMvTWFrZW1vZHVsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjdjNWZjCi0tLSAvZGV2L251bGwKKysrIGIvdGVybS11dGlscy9NYWtlbW9kdWxlLmFtCkBAIC0wLDAgKzEsMTA3IEBACitpZiBCVUlMRF9TQ1JJUFQKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IHNjcmlwdAorZGlzdF9tYW5fTUFOUyArPSB0ZXJtLXV0aWxzL3NjcmlwdC4xCitzY3JpcHRfU09VUkNFUyA9IHRlcm0tdXRpbHMvc2NyaXB0LmMgbGliL21vbm90b25pYy5jCitzY3JpcHRfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1Xbm8tZm9ybWF0LXkyaworc2NyaXB0X0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhICQoUkVBTFRJTUVfTElCUykKK2lmIEhBVkVfVVRJTAorc2NyaXB0X0xEQUREICs9IC1sdXRpbAorZW5kaWYKK2lmIEhBVkVfVVRFTVBURVIKK3NjcmlwdF9MREFERCArPSAtbHV0ZW1wdGVyCitlbmRpZgorCitjaGVja19QUk9HUkFNUyArPSB0ZXN0X3NjcmlwdAordGVzdF9zY3JpcHRfU09VUkNFUyA9ICQoc2NyaXB0X1NPVVJDRVMpCit0ZXN0X3NjcmlwdF9MREFERCA9ICQoc2NyaXB0X0xEQUREKQordGVzdF9zY3JpcHRfQ0ZMQUdTID0gLURURVNUX1NDUklQVCAkKGxvZ2dlcl9DRkxBR1MpCitlbmRpZiAjIEJVSUxEX1NDUklQVAorCitpZiBCVUlMRF9TQ1JJUFRSRVBMQVkKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IHNjcmlwdHJlcGxheQorZGlzdF9tYW5fTUFOUyArPSB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS4xCitzY3JpcHRyZXBsYXlfU09VUkNFUyA9IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmMKK3NjcmlwdHJlcGxheV9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQorZW5kaWYgIyBCVUlMRF9TQ1JJUFRSRVBMQVkKKworCitpZiBCVUlMRF9BR0VUVFkKK3NiaW5fUFJPR1JBTVMgKz0gYWdldHR5CitkaXN0X21hbl9NQU5TICs9IHRlcm0tdXRpbHMvYWdldHR5LjgKK2FnZXR0eV9TT1VSQ0VTID0gdGVybS11dGlscy9hZ2V0dHkuYworYWdldHR5X0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCitpZiBCU0QKK2FnZXR0eV9MREFERCArPSAtbHV0aWwKK2VuZGlmCitlbmRpZiAjIEJVSUxEX0FHRVRUWQorCisKK2lmIEJVSUxEX1NFVFRFUk0KK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IHNldHRlcm0KK2Rpc3RfbWFuX01BTlMgKz0gdGVybS11dGlscy9zZXR0ZXJtLjEKK3NldHRlcm1fU09VUkNFUyA9IHRlcm0tdXRpbHMvc2V0dGVybS5jCitzZXR0ZXJtX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKQorc2V0dGVybV9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQoraWYgSEFWRV9USU5GTworc2V0dGVybV9MREFERCArPSAkKFRJTkZPX0xJQlMpCitzZXR0ZXJtX0NGTEFHUyArPSAkKFRJTkZPX0NGTEFHUykKK2Vsc2UKK3NldHRlcm1fTERBREQgKz0gJChOQ1VSU0VTX0xJQlMpCitzZXR0ZXJtX0NGTEFHUyArPSAkKE5DVVJTRVNfQ0ZMQUdTKQorZW5kaWYKK2VuZGlmCisKKworaWYgQlVJTERfUkVTRVQKK2Rpc3RfdXNyYmluX2V4ZWNfU0NSSVBUUyArPSB0ZXJtLXV0aWxzL3Jlc2V0CitkaXN0X21hbl9NQU5TICs9IHRlcm0tdXRpbHMvcmVzZXQuMQorZW5kaWYKKworCitpZiBCVUlMRF9NRVNHCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSBtZXNnCitkaXN0X21hbl9NQU5TICs9IHRlcm0tdXRpbHMvbWVzZy4xCittZXNnX1NPVVJDRVMgPSB0ZXJtLXV0aWxzL21lc2cuYworZW5kaWYKKworCitpZiBCVUlMRF9XQUxMCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSB3YWxsCit3YWxsX1NPVVJDRVMgPSBcCisJdGVybS11dGlscy93YWxsLmMgXAorCXRlcm0tdXRpbHMvdHR5bXNnLmMgXAorCXRlcm0tdXRpbHMvdHR5bXNnLmgKK2Rpc3RfbWFuX01BTlMgKz0gdGVybS11dGlscy93YWxsLjEKK3dhbGxfQ0ZMQUdTID0gJChTVUlEX0NGTEFHUykgJChBTV9DRkxBR1MpCit3YWxsX0xERkxBR1MgPSAkKFNVSURfTERGTEFHUykgJChBTV9MREZMQUdTKQord2FsbF9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQoraWYgVVNFX1RUWV9HUk9VUAoraWYgTUFLRUlOU1RBTExfRE9fQ0hPV04KK2luc3RhbGwtZXhlYy1ob29rLXdhbGw6OgorCWNoZ3JwIHR0eSAkKERFU1RESVIpJCh1c3JiaW5fZXhlY2Rpcikvd2FsbAorCWNobW9kIGcrcyAkKERFU1RESVIpJCh1c3JiaW5fZXhlY2Rpcikvd2FsbAorCitJTlNUQUxMX0VYRUNfSE9PS1MgKz0gaW5zdGFsbC1leGVjLWhvb2std2FsbAorZW5kaWYKK2VuZGlmCitlbmRpZiAjIEJVSUxEX1dBTEwKKworCitpZiBCVUlMRF9XUklURQordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gd3JpdGUKK2Rpc3RfbWFuX01BTlMgKz0gdGVybS11dGlscy93cml0ZS4xCit3cml0ZV9TT1VSQ0VTID0gdGVybS11dGlscy93cml0ZS5jCit3cml0ZV9DRkxBR1MgPSAkKFNVSURfQ0ZMQUdTKSAkKEFNX0NGTEFHUykKK3dyaXRlX0xERkxBR1MgPSAkKFNVSURfTERGTEFHUykgJChBTV9MREZMQUdTKQord3JpdGVfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEKKworaWYgVVNFX1RUWV9HUk9VUAoraWYgTUFLRUlOU1RBTExfRE9fQ0hPV04KK2luc3RhbGwtZXhlYy1ob29rLXdyaXRlOjoKKwljaGdycCB0dHkgJChERVNURElSKSQodXNyYmluX2V4ZWNkaXIpL3dyaXRlCisJY2htb2QgZytzICQoREVTVERJUikkKHVzcmJpbl9leGVjZGlyKS93cml0ZQorCitJTlNUQUxMX0VYRUNfSE9PS1MgKz0gaW5zdGFsbC1leGVjLWhvb2std3JpdGUKK2VuZGlmCitlbmRpZgorZW5kaWYgIyBCVUlMRF9XUklURQpkaWZmIC0tZ2l0IGEvdGVybS11dGlscy9hZ2V0dHkuOCBiL3Rlcm0tdXRpbHMvYWdldHR5LjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODA5MzJmYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlcm0tdXRpbHMvYWdldHR5LjgKQEAgLTAsMCArMSw0NjAgQEAKKy5USCBBR0VUVFkgOCAiRmVicnVhcnkgMjAxNiIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQorYWdldHR5IFwtIGFsdGVybmF0aXZlIExpbnV4IGdldHR5CisKKy5TSCBTWU5PUFNJUworLkIgYWdldHR5Citbb3B0aW9uc10KKy5JUiBwb3J0ICIgWyIgYmF1ZF9yYXRlICIuLi5dIFsiIHRlcm0gXQorCisuU0ggREVTQ1JJUFRJT04KKy5hZAorLmZpCitcZkJhZ2V0dHlcZlAgb3BlbnMgYSB0dHkgcG9ydCwgcHJvbXB0cyBmb3IgYSBsb2dpbiBuYW1lIGFuZCBpbnZva2VzCit0aGUgL2Jpbi9sb2dpbiBjb21tYW5kLiAgSXQgaXMgbm9ybWFsbHkgaW52b2tlZCBieSBcZkJpbml0XGZQKDgpLgorCitcZkJhZ2V0dHlcZlAgaGFzIHNldmVyYWwgXGZJbm9uLXN0YW5kYXJkXGZQIGZlYXR1cmVzIHRoYXQgYXJlIHVzZWZ1bAorZm9yIGhhcmR3aXJlZCBhbmQgZm9yIGRpYWwtaW4gbGluZXM6CisuSVAgXChidQorQWRhcHRzIHRoZSB0dHkgc2V0dGluZ3MgdG8gcGFyaXR5IGJpdHMgYW5kIHRvIGVyYXNlLCBraWxsLAorZW5kLW9mLWxpbmUgYW5kIHVwcGVyY2FzZSBjaGFyYWN0ZXJzIHdoZW4gaXQgcmVhZHMgYSBsb2dpbiBuYW1lLgorVGhlIHByb2dyYW0gY2FuIGhhbmRsZSA3LWJpdCBjaGFyYWN0ZXJzIHdpdGggZXZlbiwgb2RkLCBub25lIG9yIHNwYWNlCitwYXJpdHksIGFuZCA4LWJpdCBjaGFyYWN0ZXJzIHdpdGggbm8gcGFyaXR5LiAgVGhlIGZvbGxvd2luZyBzcGVjaWFsCitjaGFyYWN0ZXJzIGFyZSByZWNvZ25pemVkOiBDb250cm9sLVUgKGtpbGwpOyBERUwgYW5kCitiYWNrc3BhY2UgKGVyYXNlKTsgY2FycmlhZ2UgcmV0dXJuIGFuZCBsaW5lIGZlZWQgKGVuZCBvZiBsaW5lKS4KK1NlZSBhbHNvIHRoZSBcZkJcLVwtZXJhc2VcLWNoYXJzXGZQIGFuZCBcZkJcLVwta2lsbFwtY2hhcnNcZlAgb3B0aW9ucy4KKy5JUCBcKGJ1CitPcHRpb25hbGx5IGRlZHVjZXMgdGhlIGJhdWQgcmF0ZSBmcm9tIHRoZSBDT05ORUNUIG1lc3NhZ2VzIHByb2R1Y2VkIGJ5CitIYXllcyh0bSktY29tcGF0aWJsZSBtb2RlbXMuCisuSVAgXChidQorT3B0aW9uYWxseSBkb2VzIG5vdCBoYW5nIHVwIHdoZW4gaXQgaXMgZ2l2ZW4gYW4gYWxyZWFkeSBvcGVuZWQgbGluZQorKHVzZWZ1bCBmb3IgY2FsbC1iYWNrIGFwcGxpY2F0aW9ucykuCisuSVAgXChidQorT3B0aW9uYWxseSBkb2VzIG5vdCBkaXNwbGF5IHRoZSBjb250ZW50cyBvZiB0aGUgXGZJL2V0Yy9pc3N1ZVxmUCBmaWxlLgorLklQIFwoYnUKK09wdGlvbmFsbHkgZGlzcGxheXMgYW4gYWx0ZXJuYXRpdmUgaXNzdWUgZmlsZSBpbnN0ZWFkIG9mIFxmSS9ldGMvaXNzdWVcZlAuCisuSVAgXChidQorT3B0aW9uYWxseSBkb2VzIG5vdCBhc2sgZm9yIGEgbG9naW4gbmFtZS4KKy5JUCBcKGJ1CitPcHRpb25hbGx5IGludm9rZXMgYSBub24tc3RhbmRhcmQgbG9naW4gcHJvZ3JhbSBpbnN0ZWFkIG9mCitcZkkvYmluL2xvZ2luXGZQLgorLklQIFwoYnUKK09wdGlvbmFsbHkgdHVybnMgb24gaGFyZHdhcmUgZmxvdyBjb250cm9sLgorLklQIFwoYnUKK09wdGlvbmFsbHkgZm9yY2VzIHRoZSBsaW5lIHRvIGJlIGxvY2FsIHdpdGggbm8gbmVlZCBmb3IgY2FycmllciBkZXRlY3QuCisuUFAKK1RoaXMgcHJvZ3JhbSBkb2VzIG5vdCB1c2UgdGhlIFxmSS9ldGMvZ2V0dHlkZWZzXGZQIChTeXN0ZW0gVikgb3IKK1xmSS9ldGMvZ2V0dHl0YWJcZlAgKFN1bk9TIDQpIGZpbGVzLgorLlNIIEFSR1VNRU5UUworLm5hCisubmYKKy5maQorLmFkCisuVFAKKy5JIHBvcnQKK0EgcGF0aCBuYW1lIHJlbGF0aXZlIHRvIHRoZSBcZkkvZGV2XGZQIGRpcmVjdG9yeS4gIElmIGEgIlwtIiBpcworc3BlY2lmaWVkLCBcZkJhZ2V0dHlcZlAgYXNzdW1lcyB0aGF0IGl0cyBzdGFuZGFyZCBpbnB1dCBpcworYWxyZWFkeSBjb25uZWN0ZWQgdG8gYSB0dHkgcG9ydCBhbmQgdGhhdCBhIGNvbm5lY3Rpb24gdG8gYQorcmVtb3RlIHVzZXIgaGFzIGFscmVhZHkgYmVlbiBlc3RhYmxpc2hlZC4KKy5zcAorVW5kZXIgU3lzdGVtIFYsIGEgIlwtIiBcZklwb3J0XGZQIGFyZ3VtZW50IHNob3VsZCBiZSBwcmVjZWRlZAorYnkgYSAiXC1cLSIuCisuVFAKKy5JUiBiYXVkX3JhdGUgLC4uLgorQSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBvbmUgb3IgbW9yZSBiYXVkIHJhdGVzLiAgRWFjaCB0aW1lCitcZkJhZ2V0dHlcZlAgcmVjZWl2ZXMgYSBCUkVBSyBjaGFyYWN0ZXIgaXQgYWR2YW5jZXMgdGhyb3VnaAordGhlIGxpc3QsIHdoaWNoIGlzIHRyZWF0ZWQgYXMgaWYgaXQgd2VyZSBjaXJjdWxhci4KKy5zcAorQmF1ZCByYXRlcyBzaG91bGQgYmUgc3BlY2lmaWVkIGluIGRlc2NlbmRpbmcgb3JkZXIsIHNvIHRoYXQgdGhlCitudWxsIGNoYXJhY3RlciAoQ3RybFwtQCkgY2FuIGFsc28gYmUgdXNlZCBmb3IgYmF1ZC1yYXRlIHN3aXRjaGluZy4KKy5zcAorVGhpcyBhcmd1bWVudCBpcyBvcHRpb25hbCBhbmQgdW5uZWNlc3NhcnkgZm9yIFxmQnZpcnR1YWwgdGVybWluYWxzXGZQLgorLnNwCitUaGUgZGVmYXVsdCBmb3IgXGZCc2VyaWFsIHRlcm1pbmFsc1xmUCBpcyBrZWVwIHRoZSBjdXJyZW50IGJhdWQgcmF0ZQorKHNlZSBcZkJcLVwta2VlcFwtYmF1ZFxmUCkgYW5kIGlmIHVuc3VjY2Vzc2Z1bCB0aGVuIGRlZmF1bHQgdG8gJzk2MDAnLgorLlRQCisuSSB0ZXJtCitUaGUgdmFsdWUgdG8gYmUgdXNlZCBmb3IgdGhlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGUuICBUaGlzIG92ZXJyaWRlcword2hhdGV2ZXIgaW5pdCg4KSBtYXkgaGF2ZSBzZXQsIGFuZCBpcyBpbmhlcml0ZWQgYnkgbG9naW4gYW5kIHRoZSBzaGVsbC4KKy5zcAorVGhlIGRlZmF1bHQgaXMgJ3Z0MTAwJywgb3IgJ2xpbnV4JyBmb3IgTGludXggb24gYSB2aXJ0dWFsIHRlcm1pbmFsLAorb3IgJ2h1cmQnIGZvciBHTlUgSHVyZCBvbiBhIHZpcnR1YWwgdGVybWluYWwuCisuU0ggT1BUSU9OUworLm5hCisubmYKKy5maQorLmFkCisuVFAKK1wtOCwgXC1cLThiaXRzCitBc3N1bWUgdGhhdCB0aGUgdHR5IGlzIDgtYml0IGNsZWFuLCBoZW5jZSBkaXNhYmxlIHBhcml0eSBkZXRlY3Rpb24uCisuVFAKK1wtYSwgXC1cLWF1dG9sb2dpbiBcZkl1c2VybmFtZVxmUAorTG9nIHRoZSBzcGVjaWZpZWQgdXNlciBhdXRvbWF0aWNhbGx5IGluIHdpdGhvdXQgYXNraW5nIGZvciBhIGxvZ2luIG5hbWUgYW5kCitwYXNzd29yZC4gIFRoZSBcLWYgXGZJdXNlcm5hbWVcZlAgb3B0aW9uIGlzIGFkZGVkIHRvIHRoZSBcZkIvYmluL2xvZ2luXGZQCitjb21tYW5kIGxpbmUgYnkgZGVmYXVsdC4gIFRoZSBcLVwtbG9naW5cLW9wdGlvbnMgb3B0aW9uIGNoYW5nZXMgdGhpcyBkZWZhdWx0CitiZWhhdmlvciBhbmQgdGhlbiBvbmx5IFxcdSBpcyByZXBsYWNlZCBieSB0aGUgXGZJdXNlcm5hbWVcZlAgYW5kIG5vIG90aGVyCitvcHRpb24gaXMgYWRkZWQgdG8gdGhlIGxvZ2luIGNvbW1hbmQgbGluZS4KKy5UUAorXC1jLCBcLVwtbm9yZXNldAorRG9uJ3QgcmVzZXQgdGVybWluYWwgY2ZsYWdzIChjb250cm9sIG1vZGVzKS4gIFNlZSBcZkJ0ZXJtaW9zXGZQKDMpIGZvciBtb3JlCitkZXRhaWxzLgorLlRQCitcLUUsIFwtXC1yZW1vdGUKK0lmIGFuIFxmQlwtSFxmUCBcZklmYWtlaG9zdFxmUCBvcHRpb24gaXMgZ2l2ZW4sIHRoZW4gYW4gXGZCXC1yXGZQCitcZklmYWtlaG9zdFxmUCBvcHRpb24gaXMgYWRkZWQgdG8gdGhlIFxmQi9iaW4vbG9naW5cZlAgY29tbWFuZCBsaW5lLgorLlRQCitcLWYsIFwtXC1pc3N1ZVwtZmlsZSBcZklpc3N1ZV9maWxlXGZQCitEaXNwbGF5IHRoZSBjb250ZW50cyBvZiBcZklpc3N1ZV9maWxlXGZQIGluc3RlYWQgb2YgXGZJL2V0Yy9pc3N1ZVxmUC4KK1RoaXMgYWxsb3dzIGN1c3RvbSBtZXNzYWdlcyB0byBiZSBkaXNwbGF5ZWQgb24gZGlmZmVyZW50IHRlcm1pbmFscy4KK1RoZSBcLWkgb3B0aW9uIHdpbGwgb3ZlcnJpZGUgdGhpcyBvcHRpb24uCisuVFAKK1wtaCwgXC1cLWZsb3dcLWNvbnRyb2wKK0VuYWJsZSBoYXJkd2FyZSAoUlRTL0NUUykgZmxvdyBjb250cm9sLiAgSXQgaXMgbGVmdCB1cCB0byB0aGUKK2FwcGxpY2F0aW9uIHRvIGRpc2FibGUgc29mdHdhcmUgKFhPTi9YT0ZGKSBmbG93IHByb3RvY29sIHdoZXJlCithcHByb3ByaWF0ZS4KKy5UUAorXC1ILCBcLVwtaG9zdCBcZklsb2dpbl9ob3N0XGZQCitXcml0ZSB0aGUgc3BlY2lmaWVkIFxmSWxvZ2luX2hvc3RcZlAgaW50byB0aGUgdXRtcCBmaWxlLiAgKE5vcm1hbGx5LAorbm8gbG9naW4gaG9zdCBpcyBnaXZlbiwgc2luY2UgXGZCYWdldHR5XGZQIGlzIHVzZWQgZm9yIGxvY2FsIGhhcmR3aXJlZAorY29ubmVjdGlvbnMgYW5kIGNvbnNvbGVzLiAgSG93ZXZlciwgdGhpcyBvcHRpb24gY2FuIGJlIHVzZWZ1bCBmb3IKK2lkZW50aWZ5aW5nIHRlcm1pbmFsIGNvbmNlbnRyYXRvcnMgYW5kIHRoZSBsaWtlLikKKy5UUAorXC1pLCBcLVwtbm9pc3N1ZQorRG8gbm90IGRpc3BsYXkgdGhlIGNvbnRlbnRzIG9mIFxmSS9ldGMvaXNzdWVcZlAgKG9yIG90aGVyKSBiZWZvcmUgd3JpdGluZyB0aGUKK2xvZ2luIHByb21wdC4gIFRlcm1pbmFscyBvciBjb21tdW5pY2F0aW9ucyBoYXJkd2FyZSBtYXkgYmVjb21lIGNvbmZ1c2VkCit3aGVuIHJlY2VpdmluZyBsb3RzIG9mIHRleHQgYXQgdGhlIHdyb25nIGJhdWQgcmF0ZTsgZGlhbC11cCBzY3JpcHRzCittYXkgZmFpbCBpZiB0aGUgbG9naW4gcHJvbXB0IGlzIHByZWNlZGVkIGJ5IHRvbyBtdWNoIHRleHQuCisuVFAKK1wtSSwgXC1cLWluaXRcLXN0cmluZyBcZklpbml0c3RyaW5nXGZQCitTZXQgYW4gaW5pdGlhbCBzdHJpbmcgdG8gYmUgc2VudCB0byB0aGUgdHR5IG9yIG1vZGVtIGJlZm9yZSBzZW5kaW5nCithbnl0aGluZyBlbHNlLiAgVGhpcyBtYXkgYmUgdXNlZCB0byBpbml0aWFsaXplIGEgbW9kZW0uICBOb24tcHJpbnRhYmxlCitjaGFyYWN0ZXJzIG1heSBiZSBzZW50IGJ5IHdyaXRpbmcgdGhlaXIgb2N0YWwgY29kZSBwcmVjZWRlZCBieSBhCitiYWNrc2xhc2ggKFxcKS4gIEZvciBleGFtcGxlLCB0byBzZW5kIGEgbGluZWZlZWQgY2hhcmFjdGVyIChBU0NJSSAxMCwKK29jdGFsIDAxMiksIHdyaXRlIFxcMDEyLgorLlRQCitcLUosIFwtXC1ub2NsZWFyCitEbyBub3QgY2xlYXIgdGhlIHNjcmVlbiBiZWZvcmUgcHJvbXB0aW5nIGZvciB0aGUgbG9naW4gbmFtZQorKHRoZSBzY3JlZW4gaXMgbm9ybWFsbHkgY2xlYXJlZCkuCisuVFAKK1wtbCwgXC1cLWxvZ2luXC1wcm9ncmFtIFxmSWxvZ2luX3Byb2dyYW1cZlAKK0ludm9rZSB0aGUgc3BlY2lmaWVkIFxmSWxvZ2luX3Byb2dyYW1cZlAgaW5zdGVhZCBvZiAvYmluL2xvZ2luLgorVGhpcyBhbGxvd3MgdGhlIHVzZSBvZiBhIG5vbi1zdGFuZGFyZCBsb2dpbiBwcm9ncmFtIChmb3IgZXhhbXBsZSwKK29uZSB0aGF0IGFza3MgZm9yIGEgZGlhbC11cCBwYXNzd29yZCBvciB0aGF0IHVzZXMgYSBkaWZmZXJlbnQKK3Bhc3N3b3JkIGZpbGUpLgorLlRQCitcLUwsIFwtXC1sb2NhbFwtbGluZVs9XGZJbW9kZVxmUF0KK0NvbnRyb2wgdGhlIENMT0NBTCBsaW5lIGZsYWcuICBUaGUgb3B0aW9uYWwgXGZJbW9kZVxmUCBhcmd1bWVudCBpcyAnYXV0bycsICdhbHdheXMnIG9yICduZXZlcicuCitJZiB0aGUgXGZJbW9kZVxmUCBhcmd1bWVudCBpcyBvbWl0dGVkLCB0aGVuIHRoZSBkZWZhdWx0IGlzICdhbHdheXMnLiAgSWYgdGhlCitcLVwtbG9jYWxcLWxpbmUgb3B0aW9uIGlzIG5vdCBnaXZlbiBhdCBhbGwsIHRoZW4gdGhlIGRlZmF1bHQgaXMgJ2F1dG8nLgorCitUaGUgXGZJbW9kZVxmUCAnYWx3YXlzJyBmb3JjZXMgdGhlIGxpbmUgdG8gYmUgYSBsb2NhbCBsaW5lIHdpdGggbm8gbmVlZCBmb3IgY2FycmllciBkZXRlY3QuCitUaGlzIGNhbiBiZSB1c2VmdWwgd2hlbiB5b3UgaGF2ZSBhIGxvY2FsbHkgYXR0YWNoZWQgdGVybWluYWwgd2hlcmUgdGhlIHNlcmlhbCBsaW5lCitkb2VzIG5vdCBzZXQgdGhlIGNhcnJpZXItZGV0ZWN0IHNpZ25hbC4KKworVGhlIFxmSW1vZGVcZlAgJ25ldmVyJyBleHBsaWNpdGx5IGNsZWFycyB0aGUgQ0xPQ0FMIGZsYWcgZnJvbSB0aGUgbGluZSBzZXR0aW5nIGFuZAordGhlIGNhcnJpZXItZGV0ZWN0IHNpZ25hbCBpcyBleHBlY3RlZCBvbiB0aGUgbGluZS4KKworVGhlIFxmSW1vZGVcZlAgJ2F1dG8nIChhZ2V0dHkgZGVmYXVsdCkgZG9lcyBub3QgbW9kaWZ5IHRoZSBDTE9DQUwgc2V0dGluZworYW5kIGZvbGxvd3MgdGhlIHNldHRpbmcgZW5hYmxlZCBieSB0aGUga2VybmVsLgorLlRQCitcLW0sIFwtXC1leHRyYWN0XC1iYXVkCitUcnkgdG8gZXh0cmFjdCB0aGUgYmF1ZCByYXRlIGZyb20gdGhlIENPTk5FQ1Qgc3RhdHVzIG1lc3NhZ2UKK3Byb2R1Y2VkIGJ5IEhheWVzKHRtKVwtY29tcGF0aWJsZSBtb2RlbXMuICBUaGVzZSBzdGF0dXMKK21lc3NhZ2VzIGFyZSBvZiB0aGUgZm9ybTogIjxqdW5rPjxzcGVlZD48anVuaz4iLgorXGZCYWdldHR5XGZQIGFzc3VtZXMgdGhhdCB0aGUgbW9kZW0gZW1pdHMgaXRzIHN0YXR1cyBtZXNzYWdlIGF0Cit0aGUgc2FtZSBzcGVlZCBhcyBzcGVjaWZpZWQgd2l0aCAodGhlIGZpcnN0KSBcZkliYXVkX3JhdGVcZlAgdmFsdWUKK29uIHRoZSBjb21tYW5kIGxpbmUuCisuc3AKK1NpbmNlIHRoZSBcZkJcLW1cZlAgZmVhdHVyZSBtYXkgZmFpbCBvbiBoZWF2aWx5LWxvYWRlZCBzeXN0ZW1zLAoreW91IHN0aWxsIHNob3VsZCBlbmFibGUgQlJFQUsgcHJvY2Vzc2luZyBieSBlbnVtZXJhdGluZyBhbGwKK2V4cGVjdGVkIGJhdWQgcmF0ZXMgb24gdGhlIGNvbW1hbmQgbGluZS4KKy5UUAorXC1uLCBcLVwtc2tpcFwtbG9naW4KK0RvIG5vdCBwcm9tcHQgdGhlIHVzZXIgZm9yIGEgbG9naW4gbmFtZS4gIFRoaXMgY2FuIGJlIHVzZWQgaW4KK2Nvbm5lY3Rpb24gd2l0aCB0aGUgXGZCXC1sXGZQIG9wdGlvbiB0byBpbnZva2UgYSBub24tc3RhbmRhcmQgbG9naW4gcHJvY2VzcyBzdWNoCithcyBhIEJCUyBzeXN0ZW0uICBOb3RlIHRoYXQgd2l0aCB0aGUgXC1uIG9wdGlvbiwgXGZCYWdldHR5XGZSIGdldHMgbm8gaW5wdXQgZnJvbQordGhlIHVzZXIgd2hvIGxvZ3MgaW4gYW5kIHRoZXJlZm9yZSB3b24ndCBiZSBhYmxlIHRvIGZpZ3VyZSBvdXQgcGFyaXR5LAorY2hhcmFjdGVyIHNpemUsIGFuZCBuZXdsaW5lIHByb2Nlc3Npbmcgb2YgdGhlIGNvbm5lY3Rpb24uICBJdCBkZWZhdWx0cyB0bworc3BhY2UgcGFyaXR5LCA3IGJpdCBjaGFyYWN0ZXJzLCBhbmQgQVNDSUkgQ1IgKDEzKSBlbmQtb2YtbGluZSBjaGFyYWN0ZXIuCitCZXdhcmUgdGhhdCB0aGUgcHJvZ3JhbSB0aGF0IFxmQmFnZXR0eVxmUiBzdGFydHMgKHVzdWFsbHkgL2Jpbi9sb2dpbikKK2lzIHJ1biBhcyByb290LgorLlRQCitcLU4sIFwtXC1ub25ld2xpbmUKK0RvIG5vdCBwcmludCBhIG5ld2xpbmUgYmVmb3JlIHdyaXRpbmcgb3V0IC9ldGMvaXNzdWUuCisuVFAKK1wtbywgXC1cLWxvZ2luXC1vcHRpb25zICJcZklsb2dpbl9vcHRpb25zXGZQIgorT3B0aW9ucyAgdGhhdCAgYXJlIHBhc3NlZCB0byB0aGUgbG9naW4gcHJvZ3JhbS4gIFxcdSBpcyByZXBsYWNlZAorYnkgdGhlIGxvZ2luIG5hbWUuICBUaGUgZGVmYXVsdCBcZkIvYmluL2xvZ2luXGZQIGNvbW1hbmQgbGluZQoraXMgIi9iaW4vbG9naW4gLS0gPHVzZXJuYW1lPiIuCisKK1BsZWFzZSByZWFkIHRoZSBTRUNVUklUWSBOT1RJQ0UgYmVsb3cgaWYgeW91IHdhbnQgdG8gdXNlIHRoaXMuCisuVFAKK1wtcCwgXC1cLWxvZ2luXC1wYXVzZQorV2FpdCBmb3IgYW55IGtleSBiZWZvcmUgZHJvcHBpbmcgdG8gdGhlIGxvZ2luIHByb21wdC4gIENhbiBiZSBjb21iaW5lZAord2l0aCBcZkJcLVwtYXV0b2xvZ2luXGZQIHRvIHNhdmUgbWVtb3J5IGJ5IGxhemlseSBzcGF3bmluZyBzaGVsbHMuCisuVFAKK1wtciwgXC1cLWNocm9vdCBcZklkaXJlY3RvcnlcZlAKK0NoYW5nZSByb290IHRvIHRoZSBzcGVjaWZpZWQgZGlyZWN0b3J5LgorLlRQCitcLVIsIFwtXC1oYW5ndXAKK0NhbGwgdmhhbmd1cCgpIHRvIGRvIGEgdmlydHVhbCBoYW5ndXAgb2YgdGhlIHNwZWNpZmllZCB0ZXJtaW5hbC4KKy5UUAorXC1zLCBcLVwta2VlcFwtYmF1ZAorVHJ5IHRvIGtlZXAgdGhlIGV4aXN0aW5nIGJhdWQgcmF0ZS4gIFRoZSBiYXVkIHJhdGVzIGZyb20KK3RoZSBjb21tYW5kIGxpbmUgYXJlIHVzZWQgd2hlbiBhZ2V0dHkgcmVjZWl2ZXMgYSBCUkVBSyBjaGFyYWN0ZXIuCisuVFAKK1wtdCwgXC1cLXRpbWVvdXQgXGZJdGltZW91dFxmUAorVGVybWluYXRlIGlmIG5vIHVzZXIgbmFtZSBjb3VsZCBiZSByZWFkIHdpdGhpbiBcZkl0aW1lb3V0XGZQCitzZWNvbmRzLiAgVGhpcyBvcHRpb24gc2hvdWxkIHByb2JhYmx5IG5vdCBiZSB1c2VkIHdpdGggaGFyZHdpcmVkCitsaW5lcy4KKy5UUAorXC1VLCBcLVwtZGV0ZWN0XC1jYXNlCitUdXJuIG9uIHN1cHBvcnQgZm9yIGRldGVjdGluZyBhbiB1cHBlcmNhc2Utb25seSB0ZXJtaW5hbC4gIFRoaXMgc2V0dGluZword2lsbCBkZXRlY3QgYSBsb2dpbiBuYW1lIGNvbnRhaW5pbmcgb25seSBjYXBpdGFscyBhcyBpbmRpY2F0aW5nIGFuCit1cHBlcmNhc2Utb25seSB0ZXJtaW5hbCBhbmQgdHVybiBvbiBzb21lIHVwcGVyLXRvLWxvd2VyIGNhc2UgY29udmVyc2lvbnMuCitOb3RlIHRoYXQgdGhpcyBoYXMgbm8gc3VwcG9ydCBmb3IgYW55IFVuaWNvZGUgY2hhcmFjdGVycy4KKy5UUAorXC13LCBcLVwtd2FpdFwtY3IKK1dhaXQgZm9yIHRoZSB1c2VyIG9yIHRoZSBtb2RlbSB0byBzZW5kIGEgY2FycmlhZ2UtcmV0dXJuIG9yIGEKK2xpbmVmZWVkIGNoYXJhY3RlciBiZWZvcmUgc2VuZGluZyB0aGUgXGZJL2V0Yy9pc3N1ZVxmUCAob3Igb3RoZXIpIGZpbGUKK2FuZCB0aGUgbG9naW4gcHJvbXB0LiAgVmVyeSB1c2VmdWwgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSBcLUkgb3B0aW9uLgorLlRQCitcLVwtbm9oaW50cworRG8gbm90IHByaW50IGhpbnRzIGFib3V0IE51bSwgQ2FwcyBhbmQgU2Nyb2xsIExvY2tzLgorLlRQCitcLVwtbm9ob3N0bmFtZQorQnkgZGVmYXVsdCB0aGUgaG9zdG5hbWUgd2lsbCBiZSBwcmludGVkLiAgV2l0aCB0aGlzIG9wdGlvbiBlbmFibGVkLAorbm8gaG9zdG5hbWUgYXQgYWxsIHdpbGwgYmUgc2hvd24uCisuVFAKK1wtXC1sb25nXC1ob3N0bmFtZQorQnkgZGVmYXVsdCB0aGUgaG9zdG5hbWUgaXMgb25seSBwcmludGVkIHVudGlsIHRoZSBmaXJzdCBkb3QuICBXaXRoCit0aGlzIG9wdGlvbiBlbmFibGVkLCB0aGUgZnVsbHkgcXVhbGlmaWVkIGhvc3RuYW1lIGJ5IGdldGhvc3RuYW1lKCkKK29yIChpZiBub3QgZm91bmQpIGJ5IGdldGFkZHJpbmZvKCkgaXMgc2hvd24uCisuVFAKK1wtXC1lcmFzZVwtY2hhcnMgXGZJc3RyaW5nXGZQCitUaGlzIG9wdGlvbiBzcGVjaWZpZXMgYWRkaXRpb25hbCBjaGFyYWN0ZXJzIHRoYXQgc2hvdWxkIGJlIGludGVycHJldGVkIGFzIGEKK2JhY2tzcGFjZSAoImlnbm9yZSB0aGUgcHJldmlvdXMgY2hhcmFjdGVyIikgd2hlbiB0aGUgdXNlciB0eXBlcyB0aGUgbG9naW4gbmFtZS4KK1RoZSBkZWZhdWx0IGFkZGl0aW9uYWwgXCdlcmFzZVwnIGhhcyBiZWVuIFwnI1wnLCBidXQgc2luY2UgdXRpbC1saW51eCAyLjIzCitubyBhZGRpdGlvbmFsIGVyYXNlIGNoYXJhY3RlcnMgYXJlIGVuYWJsZWQgYnkgZGVmYXVsdC4KKy5UUAorXC1cLWtpbGxcLWNoYXJzIFxmSXN0cmluZ1xmUAorVGhpcyBvcHRpb24gc3BlY2lmaWVzIGFkZGl0aW9uYWwgY2hhcmFjdGVycyB0aGF0IHNob3VsZCBiZSBpbnRlcnByZXRlZCBhcyBhCitraWxsICgiaWdub3JlIGFsbCBwcmV2aW91cyBjaGFyYWN0ZXJzIikgd2hlbiB0aGUgdXNlciB0eXBlcyB0aGUgbG9naW4gbmFtZS4KK1RoZSBkZWZhdWx0IGFkZGl0aW9uYWwgXCdraWxsXCcgaGFzIGJlZW4gXCdAXCcsIGJ1dCBzaW5jZSB1dGlsLWxpbnV4IDIuMjMKK25vIGFkZGl0aW9uYWwga2lsbCBjaGFyYWN0ZXJzIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQuCisuVFAKK1wtXC1jaGRpciBcZklkaXJlY3RvcnlcZlAKK0NoYW5nZSBkaXJlY3RvcnkgYmVmb3JlIHRoZSBsb2dpbi4KKy5UUAorXC1cLWRlbGF5IFxmSW51bWJlclxmUAorU2xlZXAgc2Vjb25kcyBiZWZvcmUgb3BlbiB0dHkuCisuVFAKK1wtXC1uaWNlIFxmSW51bWJlclxmUAorUnVuIGxvZ2luIHdpdGggdGhpcyBwcmlvcml0eS4KKy5UUAorXC1cLXJlbG9hZAorQXNrIGFsbCBydW5uaW5nIGFnZXR0eSBpbnN0YW5jZXMgdG8gcmVsb2FkIGFuZCB1cGRhdGUgdGhlaXIgZGlzcGxheWVkIHByb21wdHMsCitpZiB0aGUgdXNlciBoYXMgbm90IHlldCBjb21tZW5jZWQgbG9nZ2luZyBpbi4gIEFmdGVyIGRvaW5nIHNvIHRoZSBjb21tYW5kIHdpbGwKK2V4aXQuICBUaGlzIGZlYXR1cmUgbWlnaHQgYmUgdW5zdXBwb3J0ZWQgb24gc3lzdGVtcyB3aXRob3V0IExpbnV4CisuQlIgaW5vdGlmeSAoNykuCisuVFAKK1wtXC12ZXJzaW9uCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKK1wtXC1oZWxwCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5QUAorLlNIIEVYQU1QTEVTCitUaGlzIHNlY3Rpb24gc2hvd3MgZXhhbXBsZXMgZm9yIHRoZSBwcm9jZXNzIGZpZWxkIG9mIGFuIGVudHJ5IGluIHRoZQorXGZJL2V0Yy9pbml0dGFiXGZQIGZpbGUuICBZb3UnbGwgaGF2ZSB0byBwcmVwZW5kIGFwcHJvcHJpYXRlIHZhbHVlcworZm9yIHRoZSBvdGhlciBmaWVsZHMuICBTZWUgXGZJaW5pdHRhYig1KVxmUCBmb3IgbW9yZSBkZXRhaWxzLgorCitGb3IgYSBoYXJkd2lyZWQgbGluZSBvciBhIGNvbnNvbGUgdHR5OgorCisuUlMKKy9zYmluL2FnZXR0eSA5NjAwIHR0eVMxCisuUkUKKworRm9yIGEgZGlyZWN0bHkgY29ubmVjdGVkIHRlcm1pbmFsIHdpdGhvdXQgcHJvcGVyIGNhcnJpZXItZGV0ZWN0IHdpcmluZworKHRyeSB0aGlzIGlmIHlvdXIgdGVybWluYWwganVzdCBzbGVlcHMgaW5zdGVhZCBvZiBnaXZpbmcgeW91IGEgcGFzc3dvcmQ6Citwcm9tcHQpOgorCisuUlMKKy9zYmluL2FnZXR0eSBcLUwgOTYwMCB0dHlTMSB2dDEwMAorLlJFCisKK0ZvciBhbiBvbGQtc3R5bGUgZGlhbC1pbiBsaW5lIHdpdGggYSA5NjAwLzI0MDAvMTIwMCBiYXVkIG1vZGVtOgorCisuUlMKKy9zYmluL2FnZXR0eSBcLW10NjAgdHR5UzEgOTYwMCwyNDAwLDEyMDAKKy5SRQorCitGb3IgYSBIYXllcyBtb2RlbSB3aXRoIGEgZml4ZWQgMTE1MjAwIGJwcyBpbnRlcmZhY2UgdG8gdGhlIG1hY2hpbmUKKyh0aGUgZXhhbXBsZSBpbml0IHN0cmluZyB0dXJucyBvZmYgbW9kZW0gZWNobyBhbmQgcmVzdWx0IGNvZGVzLCBtYWtlcworbW9kZW0vY29tcHV0ZXIgRENEIHRyYWNrIG1vZGVtL21vZGVtIERDRCwgbWFrZXMgYSBEVFIgZHJvcCBjYXVzZSBhCitkaXNjb25uZWN0aW9uLCBhbmQgdHVybnMgb24gYXV0by1hbnN3ZXIgYWZ0ZXIgMSByaW5nKToKKworLlJTCisvc2Jpbi9hZ2V0dHkgXC13IFwtSSAnQVRFMFExJkQyJkMxUzA9MVxcMDE1JyAxMTUyMDAgdHR5UzEKKy5SRQorCisuU0ggU0VDVVJJVFkgTk9USUNFCitJZiB5b3UgdXNlIHRoZSBcZkJcLVwtbG9naW5cLXByb2dyYW1cZlAgYW5kIFxmQlwtXC1sb2dpblwtb3B0aW9uc1xmUCBvcHRpb25zLAorYmUgYXdhcmUgdGhhdCBhIG1hbGljaW91cyB1c2VyIG1heSB0cnkgdG8gZW50ZXIgbG9nbmFtZXMgd2l0aCBlbWJlZGRlZCBvcHRpb25zLAord2hpY2ggdGhlbiBnZXQgcGFzc2VkIHRvIHRoZSB1c2VkIGxvZ2luIHByb2dyYW0uICBBZ2V0dHkgZG9lcyBjaGVjaworZm9yIGEgbGVhZGluZyAiXC0iIGFuZCBtYWtlcyBzdXJlIHRoZSBsb2duYW1lIGdldHMgcGFzc2VkIGFzIG9uZSBwYXJhbWV0ZXIKKyhzbyBlbWJlZGRlZCBzcGFjZXMgd2lsbCBub3QgY3JlYXRlIHlldCBhbm90aGVyIHBhcmFtZXRlciksIGJ1dCBkZXBlbmRpbmcKK29uIGhvdyB0aGUgbG9naW4gYmluYXJ5IHBhcnNlcyB0aGUgY29tbWFuZCBsaW5lIHRoYXQgbWlnaHQgbm90IGJlIHN1ZmZpY2llbnQuCitDaGVjayB0aGF0IHRoZSB1c2VkIGxvZ2luIHByb2dyYW0gY2FuIG5vdCBiZSBhYnVzZWQgdGhpcyB3YXkuCisuUFAKK1NvbWUgIHByb2dyYW1zIHVzZSAiXC1cLSIgdG8gaW5kaWNhdGUgdGhhdCB0aGUgcmVzdCBvZiB0aGUgY29tbWFuZGxpbmUgc2hvdWxkCitub3QgYmUgaW50ZXJwcmV0ZWQgYXMgb3B0aW9ucy4gIFVzZSB0aGlzIGZlYXR1cmUgaWYgYXZhaWxhYmxlIGJ5IHBhc3NpbmcgIlwtXC0iCitiZWZvcmUgdGhlIHVzZXJuYW1lIGdldHMgcGFzc2VkIGJ5IFxcdS4KKworLlNIIElTU1VFIEVTQ0FQRVMKK1RoZSBpc3N1ZS1maWxlIChcZkkvZXRjL2lzc3VlXGZQLCBvciB0aGUgZmlsZSBzZXQgd2l0aCB0aGUgXGZCXC1mXGZQIG9wdGlvbikKK21heSBjb250YWluIGNlcnRhaW4gZXNjYXBlIGNvZGVzIHRvIGRpc3BsYXkgdGhlIHN5c3RlbSBuYW1lLCBkYXRlLCB0aW1lCitldGNldGVyYS4gIEFsbCBlc2NhcGUgY29kZXMgY29uc2lzdCBvZiBhIGJhY2tzbGFzaCAoXFwpIGltbWVkaWF0ZWx5Citmb2xsb3dlZCBieSBvbmUgb2YgdGhlIGNoYXJhY3RlcnMgbGlzdGVkIGJlbG93LgorCisuVFAKKzQgb3IgNHtcZklpbnRlcmZhY2VcZlJ9CitJbnNlcnQgdGhlIElQdjQgYWRkcmVzcyBvZiB0aGUgc3BlY2lmaWVkIG5ldHdvcmsgaW50ZXJmYWNlIChmb3IgZXhhbXBsZTogXFw0e2V0aDB9KS4KK0lmIHRoZSBcZklpbnRlcmZhY2VcZlIgYXJndW1lbnQgaXMgbm90IHNwZWNpZmllZCwgdGhlbiBzZWxlY3QgdGhlIGZpcnN0IGZ1bGx5Citjb25maWd1cmVkIChVUCwgbm9uLUxPQ0FMQkFDSywgUlVOTklORykgaW50ZXJmYWNlLiAgSWYgbm90IGFueSBjb25maWd1cmVkCitpbnRlcmZhY2UgaXMgZm91bmQsIGZhbGwgYmFjayB0byB0aGUgSVAgYWRkcmVzcyBvZiB0aGUgbWFjaGluZSdzIGhvc3RuYW1lLgorLlRQCis2IG9yIDZ7XGZJaW50ZXJmYWNlXGZSfQorVGhlIHNhbWUgYXMgXFw0IGJ1dCBmb3IgSVB2Ni4KKy5UUAorYgorSW5zZXJ0IHRoZSBiYXVkcmF0ZSBvZiB0aGUgY3VycmVudCBsaW5lLgorLlRQCitkCitJbnNlcnQgdGhlIGN1cnJlbnQgZGF0ZS4KKy5UUAorZSBvciBle1xmSW5hbWVcZlJ9CitUcmFuc2xhdGUgdGhlIGh1bWFuLXJlYWRhYmxlIFxmSW5hbWVcZlAgdG8gYW4gZXNjYXBlIHNlcXVlbmNlIGFuZCBpbnNlcnQgaXQKKyhmb3IgZXhhbXBsZTogXFxle3JlZH1BbGVydCB0ZXh0LlxcZXtyZXNldH0pLiAgSWYgdGhlIFxmSW5hbWVcZlIgYXJndW1lbnQgaXMKK25vdCBzcGVjaWZpZWQsIHRoZW4gaW5zZXJ0IFxcMDMzLiAgVGhlIGN1cnJlbnRseSBzdXBwb3J0ZWQgbmFtZXMgYXJlOiBibGFjaywKK2JsaW5rLCBibHVlLCBib2xkLCBicm93biwgY3lhbiwKK2RhcmtncmF5LCBncmF5LCBncmVlbiwgaGFsZmJyaWdodCwgbGlnaHRibHVlLCBsaWdodGN5YW4sIGxpZ2h0Z3JheSwgbGlnaHRncmVlbiwKK2xpZ2h0bWFnZW50YSwgbGlnaHRyZWQsIG1hZ2VudGEsIHJlZCwgcmVzZXQsIHJldmVyc2UsIGFuZCB5ZWxsb3cuICBBbGwgdW5rbm93bgorbmFtZXMgYXJlIHNpbGVudGx5IGlnbm9yZWQuCisuVFAKK3MKK0luc2VydCB0aGUgc3lzdGVtIG5hbWUgKHRoZSBuYW1lIG9mIHRoZSBvcGVyYXRpbmcgc3lzdGVtKS4gIFNhbWUgYXMgYHVuYW1lIFwtcycuCitTZWUgYWxzbyB0aGUgXFxTIGVzY2FwZSBjb2RlLgorLlRQCitTIG9yIFN7VkFSSUFCTEV9CitJbnNlcnQgdGhlIFZBUklBQkxFIGRhdGEgZnJvbSBcZkkvZXRjL29zLXJlbGVhc2VcZlAuICBJZiB0aGlzIGZpbGUgZG9lcyBub3QgZXhpc3QKK3RoZW4gZmFsbCBiYWNrIHRvIFxmSS91c3IvbGliL29zLXJlbGVhc2VcZlAuICBJZiB0aGUgVkFSSUFCTEUgYXJndW1lbnQgaXMgbm90CitzcGVjaWZpZWQsIHRoZW4gdXNlIFBSRVRUWV9OQU1FIGZyb20gdGhlIGZpbGUgb3IgdGhlIHN5c3RlbSBuYW1lIChzZWUgXFxzKS4KK1RoaXMgZXNjYXBlIGNvZGUgYWxsb3dzIHRvIGtlZXAgXGZJL2V0Yy9pc3N1ZVxmUCBkaXN0cmlidXRpb24gYW5kIHJlbGVhc2UKK2luZGVwZW5kZW50LiAgTm90ZSB0aGF0IFxcU3tBTlNJX0NPTE9SfSBpcyBjb252ZXJ0ZWQgdG8gdGhlIHJlYWwgdGVybWluYWwKK2VzY2FwZSBzZXF1ZW5jZS4KKy5UUAorbAorSW5zZXJ0IHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IHR0eSBsaW5lLgorLlRQCittCitJbnNlcnQgdGhlIGFyY2hpdGVjdHVyZSBpZGVudGlmaWVyIG9mIHRoZSBtYWNoaW5lLiAgU2FtZSBhcyBgdW5hbWUgXC1tJy4KKy5UUAorbgorSW5zZXJ0IHRoZSBub2RlbmFtZSBvZiB0aGUgbWFjaGluZSwgYWxzbyBrbm93biBhcyB0aGUgaG9zdG5hbWUuICBTYW1lIGFzIGB1bmFtZSBcLW4nLgorLlRQCitvCitJbnNlcnQgdGhlIE5JUyBkb21haW5uYW1lIG9mIHRoZSBtYWNoaW5lLiAgU2FtZSBhcyBgaG9zdG5hbWUgXC1kJy4KKy5UUAorTworSW5zZXJ0IHRoZSBETlMgZG9tYWlubmFtZSBvZiB0aGUgbWFjaGluZS4KKy5UUAorcgorSW5zZXJ0IHRoZSByZWxlYXNlIG51bWJlciBvZiB0aGUgT1MuICBTYW1lIGFzIGB1bmFtZSBcLXInLgorLlRQCit0CitJbnNlcnQgdGhlIGN1cnJlbnQgdGltZS4KKy5UUAordQorSW5zZXJ0IHRoZSBudW1iZXIgb2YgY3VycmVudCB1c2VycyBsb2dnZWQgaW4uCisuVFAKK1UKK0luc2VydCB0aGUgc3RyaW5nICIxIHVzZXIiIG9yICI8bj4gdXNlcnMiIHdoZXJlIDxuPiBpcyB0aGUgbnVtYmVyIG9mIGN1cnJlbnQKK3VzZXJzIGxvZ2dlZCBpbi4KKy5UUAordgorSW5zZXJ0IHRoZSB2ZXJzaW9uIG9mIHRoZSBPUywgZS5nLiB0aGUgYnVpbGQtZGF0ZSBldGMuCisuUFAKK0FuIGV4YW1wbGUuICBPbiBteSBzeXN0ZW0sIHRoZSBmb2xsb3dpbmcgXGZJL2V0Yy9pc3N1ZVxmUCBmaWxlOgorLnNwCisubmEKKy5SUworLm5mCitUaGlzIGlzIFxcbi5cXG8gKFxccyBcXG0gXFxyKSBcXHQKKy5maQorLlJFCisuUFAKK2Rpc3BsYXlzIGFzOgorLnNwCisuUlMKKy5uZgorVGhpcyBpcyB0aGluZ29sLm9yY2FuLmRrIChMaW51eCBpMzg2IDEuMS45KSAxODoyOTozMAorLmZpCisuUkUKKworLlNIIEZJTEVTCisubmEKKy5UUAorLkkgL3Zhci9ydW4vdXRtcAordGhlIHN5c3RlbSBzdGF0dXMgZmlsZS4KKy5UUAorLkkgL2V0Yy9pc3N1ZQorcHJpbnRlZCBiZWZvcmUgdGhlIGxvZ2luIHByb21wdC4KKy5UUAorLkkgL2V0Yy9vcy1yZWxlYXNlIC91c3IvbGliL29zLXJlbGVhc2UKK29wZXJhdGluZyBzeXN0ZW0gaWRlbnRpZmljYXRpb24gZGF0YS4KKy5UUAorLkkgL2Rldi9jb25zb2xlCitwcm9ibGVtIHJlcG9ydHMgKGlmIHN5c2xvZygzKSBpcyBub3QgdXNlZCkuCisuVFAKKy5JIC9ldGMvaW5pdHRhYgorXGZJaW5pdFxmUCg4KSBjb25maWd1cmF0aW9uIGZpbGUgZm9yIFN5c1Ytc3R5bGUgaW5pdCBkYWVtb24uCisuU0ggQlVHUworLmFkCisuZmkKK1RoZSBiYXVkLXJhdGUgZGV0ZWN0aW9uIGZlYXR1cmUgKHRoZSBcZkJcLW1cZlAgb3B0aW9uKSByZXF1aXJlcyB0aGF0CitcZkJhZ2V0dHlcZlAgYmUgc2NoZWR1bGVkIHNvb24gZW5vdWdoIGFmdGVyIGNvbXBsZXRpb24gb2YgYSBkaWFsLWluCitjYWxsICh3aXRoaW4gMzAgbXMgd2l0aCBtb2RlbXMgdGhhdCB0YWxrIGF0IDI0MDAgYmF1ZCkuICBGb3Igcm9idXN0bmVzcywKK2Fsd2F5cyB1c2UgdGhlIFxmQlwtbVxmUCBvcHRpb24gaW4gY29tYmluYXRpb24gd2l0aCBhIG11bHRpcGxlIGJhdWQKK3JhdGUgY29tbWFuZC1saW5lIGFyZ3VtZW50LCBzbyB0aGF0IEJSRUFLIHByb2Nlc3NpbmcgaXMgZW5hYmxlZC4KKworVGhlIHRleHQgaW4gdGhlIFxmSS9ldGMvaXNzdWVcZlAgZmlsZSAob3Igb3RoZXIpIGFuZCB0aGUgbG9naW4gcHJvbXB0CithcmUgYWx3YXlzIG91dHB1dCB3aXRoIDctYml0IGNoYXJhY3RlcnMgYW5kIHNwYWNlIHBhcml0eS4KKworVGhlIGJhdWQtcmF0ZSBkZXRlY3Rpb24gZmVhdHVyZSAodGhlIFxmQlwtbVxmUCBvcHRpb24pIHJlcXVpcmVzIHRoYXQKK3RoZSBtb2RlbSBlbWl0cyBpdHMgc3RhdHVzIG1lc3NhZ2UgXGZJYWZ0ZXJcZlAgcmFpc2luZyB0aGUgRENEIGxpbmUuCisuU0ggRElBR05PU1RJQ1MKKy5hZAorLmZpCitEZXBlbmRpbmcgb24gaG93IHRoZSBwcm9ncmFtIHdhcyBjb25maWd1cmVkLCBhbGwgZGlhZ25vc3RpY3MgYXJlCit3cml0dGVuIHRvIHRoZSBjb25zb2xlIGRldmljZSBvciByZXBvcnRlZCB2aWEgdGhlIHN5c2xvZygzKSBmYWNpbGl0eS4KK0Vycm9yIG1lc3NhZ2VzIGFyZSBwcm9kdWNlZCBpZiB0aGUgXGZJcG9ydFxmUCBhcmd1bWVudCBkb2VzIG5vdAorc3BlY2lmeSBhIHRlcm1pbmFsIGRldmljZTsgaWYgdGhlcmUgaXMgbm8gdXRtcCBlbnRyeSBmb3IgdGhlCitjdXJyZW50IHByb2Nlc3MgKFN5c3RlbSBWIG9ubHkpOyBhbmQgc28gb24uCisuU0ggQVVUSE9SUworLlVSIHdlcm5lckBzdXNlLmRlCitXZXJuZXIgRmluaworLlVFCisuYnIKKy5VUiBremFrQHJlZGhhdC5jb20KK0thcmVsIFphaworLlVFCisuc3AKK1RoZSBvcmlnaW5hbAorLkIgYWdldHR5Citmb3Igc2VyaWFsIHRlcm1pbmFscyB3YXMgd3JpdHRlbiBieSBXLlouIFZlbmVtYSA8d2lldHNlQHd6di53aW4udHVlLm5sPgorYW5kIHBvcnRlZCB0byBMaW51eCBieSBQZXRlciBPcmJhZWsgPHBvZUBkYWltaS5hYXUuZGs+LgorCisuU0ggQVZBSUxBQklMSVRZCitUaGUgYWdldHR5IGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWxcLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL3Rlcm0tdXRpbHMvYWdldHR5LmMgYi90ZXJtLXV0aWxzL2FnZXR0eS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2Y2VjOGYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXJtLXV0aWxzL2FnZXR0eS5jCkBAIC0wLDAgKzEsMjYyNyBAQAorLyoKKyAqIEFsdGVybmF0ZSBHZXR0eSAoYWdldHR5KSAnYWdldHR5JyBpcyBhIHZlcnNhdGlsZSwgcG9ydGFibGUsIGVhc3kgdG8gdXNlCisgKiByZXBsYWNlbWVudCBmb3IgZ2V0dHkgb24gU3VuT1MgNC4xLnggb3IgdGhlIFNBQyB0dHltb24vdHR5YWRtL3NhY2FkbS9wbWFkbQorICogc3VpdGUgb24gU29sYXJpcyBhbmQgb3RoZXIgU1ZSNCBzeXN0ZW1zLiAnYWdldHR5JyB3YXMgd3JpdHRlbiBieSBXaWV0c2UKKyAqIFZlbmVtYSwgZW5oYW5jZWQgYnkgSm9obiBEaU1hcmNvLCBhbmQgZnVydGhlciBlbmhhbmNlZCBieSBEZW5uaXMgQ3JvbmluLgorICoKKyAqIFBvcnRlZCB0byBMaW51eCBieSBQZXRlciBPcmJhZWsgPHBvZUBkYWltaS5hYXUuZGs+CisgKiBBZG9wdCB0aGUgbWluZ2V0dHkgZmVhdHVyZXMgZm9yIGEgYmV0dGVyIHN1cHBvcnQKKyAqIG9mIHZpcnR1YWwgY29uc29sZXMgYnkgV2VybmVyIEZpbmsgPHdlcm5lckBzdXNlLmRlPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlbHkgZGlzdHJpYnV0YWJsZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx0ZXJtaW9zLmg+CisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy93YWl0Lmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHV0bXAuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDx0aW1lLmg+CisjaW5jbHVkZSA8c3lzL2ZpbGUuaD4KKyNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisjaW5jbHVkZSA8bGFuZ2luZm8uaD4KKyNpbmNsdWRlIDxncnAuaD4KKyNpbmNsdWRlIDxhcnBhL2luZXQuaD4KKyNpbmNsdWRlIDxuZXRkYi5oPgorI2luY2x1ZGUgPGlmYWRkcnMuaD4KKyNpbmNsdWRlIDxuZXQvaWYuaD4KKworI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAiYWxsLWlvLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIndpZGVjaGFyLmgiCisjaW5jbHVkZSAidHR5dXRpbHMuaCIKKyNpbmNsdWRlICJjb2xvci1uYW1lcy5oIgorI2luY2x1ZGUgImVudi5oIgorCisjaWZkZWYgVVNFX1BMWU1PVVRIX1NVUFBPUlQKKyMgaW5jbHVkZSAicGx5bW91dGgtY3RybC5oIgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX1NZU19QQVJBTV9ICisjIGluY2x1ZGUgPHN5cy9wYXJhbS5oPgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKF9fRnJlZUJTRF9rZXJuZWxfXykKKyNpbmNsdWRlIDxwdHkuaD4KKyNlbmRpZgorCisjaWZkZWYgX19saW51eF9fCisjICBpbmNsdWRlIDxzeXMva2QuaD4KKyMgIGRlZmluZSBVU0VfU1lTTE9HCisjICBpZm5kZWYgREVGQVVMVF9WQ1RFUk0KKyMgICAgZGVmaW5lIERFRkFVTFRfVkNURVJNICJsaW51eCIKKyMgIGVuZGlmCisjICBpZiBkZWZpbmVkIChfX3MzOTBfXykgfHwgZGVmaW5lZCAoX19zMzkweF9fKQorIyAgICBkZWZpbmUgREVGQVVMVF9UVFlTMCAgImR1bWIiCisjICAgIGRlZmluZSBERUZBVUxUX1RUWTMyICAiaWJtMzI3eCIKKyMgICAgZGVmaW5lIERFRkFVTFRfVFRZUzEgICJ2dDIyMCIKKyMgIGVuZGlmCisjICBpZm5kZWYgREVGQVVMVF9TVEVSTQorIyAgICBkZWZpbmUgREVGQVVMVF9TVEVSTSAgInZ0MTAyIgorIyAgZW5kaWYKKyNlbGlmIGRlZmluZWQoX19HTlVfXykKKyMgIGRlZmluZSBVU0VfU1lTTE9HCisjICBpZm5kZWYgREVGQVVMVF9WQ1RFUk0KKyMgICAgZGVmaW5lIERFRkFVTFRfVkNURVJNICJodXJkIgorIyAgZW5kaWYKKyMgIGlmbmRlZiBERUZBVUxUX1NURVJNCisjICAgIGRlZmluZSBERUZBVUxUX1NURVJNICAidnQxMDIiCisjICBlbmRpZgorI2Vsc2UKKyMgIGlmbmRlZiBERUZBVUxUX1ZDVEVSTQorIyAgICBkZWZpbmUgREVGQVVMVF9WQ1RFUk0gInZ0MTAwIgorIyAgZW5kaWYKKyMgIGlmbmRlZiBERUZBVUxUX1NURVJNCisjICAgIGRlZmluZSBERUZBVUxUX1NURVJNICAidnQxMDAiCisjICBlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBfX0ZyZWVCU0Rfa2VybmVsX18KKyNkZWZpbmUgVVNFX1NZU0xPRworI2VuZGlmCisKKy8qIElmIFVTRV9TWVNMT0cgaXMgdW5kZWZpbmVkIGFsbCBkaWFnbm9zdGljcyBnbyB0byAvZGV2L2NvbnNvbGUuICovCisjaWZkZWYJVVNFX1NZU0xPRworIyAgaW5jbHVkZSA8c3lzbG9nLmg+CisjZW5kaWYKKworLyoKKyAqIFNvbWUgaGV1cmlzdGljcyB0byBmaW5kIG91dCB3aGF0IGVudmlyb25tZW50IHdlIGFyZSBpbjogaWYgaXQgaXMgbm90CisgKiBTeXN0ZW0gViwgYXNzdW1lIGl0IGlzIFN1bk9TIDQuIFRoZSBMT0dJTl9QUk9DRVNTIGlzIGRlZmluZWQgaW4gU3lzdGVtIFYKKyAqIHV0bXAuaCwgd2hpY2ggd2lsbCBzZWxlY3QgU3lzdGVtIFYgc3R5bGUgZ2V0dHkuCisgKi8KKyNpZmRlZiBMT0dJTl9QUk9DRVNTCisjICBkZWZpbmUgU1lTVl9TVFlMRQorI2VuZGlmCisKKy8qCisgKiBUaGluZ3MgeW91IG1heSB3YW50IHRvIG1vZGlmeS4KKyAqCisgKiBJZiBJU1NVRSBpcyBub3QgZGVmaW5lZCwgYWdldHR5IHdpbGwgbmV2ZXIgZGlzcGxheSB0aGUgY29udGVudHMgb2YgdGhlCisgKiAvZXRjL2lzc3VlIGZpbGUuIFlvdSB3aWxsIG5vdCB3YW50IHRvIHNwaXQgb3V0IGxhcmdlICJpc3N1ZSIgZmlsZXMgYXQgdGhlCisgKiB3cm9uZyBiYXVkIHJhdGUuIFJlbGV2YW50IGZvciBTeXN0ZW0gViBvbmx5LgorICoKKyAqIFlvdSBtYXkgZGlzYWdyZWUgd2l0aCB0aGUgZGVmYXVsdCBsaW5lLWVkaXRpbmcgZXRjLiBjaGFyYWN0ZXJzIGRlZmluZWQKKyAqIGJlbG93LiBOb3RlLCBob3dldmVyLCB0aGF0IERFTCBjYW5ub3QgYmUgdXNlZCBmb3IgaW50ZXJydXB0IGdlbmVyYXRpb24KKyAqIGFuZCBmb3IgbGluZSBlZGl0aW5nIGF0IHRoZSBzYW1lIHRpbWUuCisgKi8KKworLyogRGlzcGxheWVkIGJlZm9yZSB0aGUgbG9naW4gcHJvbXB0LiAqLworI2lmZGVmCVNZU1ZfU1RZTEUKKyMgIGRlZmluZSBJU1NVRSBfUEFUSF9JU1NVRQorIyAgaW5jbHVkZSA8c3lzL3V0c25hbWUuaD4KKyNlbmRpZgorCisvKiBMb2dpbiBwcm9tcHQuICovCisjZGVmaW5lIExPR0lOCQkibG9naW46ICIKKyNkZWZpbmUgTE9HSU5fQVJHVl9NQVgJMTYJCS8qIE51bWJlcnMgb2YgYXJncyBmb3IgbG9naW4gKi8KKworLyoKKyAqIGFnZXR0eSAtLXJlbG9hZAorICovCisjaWZkZWYgQUdFVFRZX1JFTE9BRAorIyBpbmNsdWRlIDxzeXMvaW5vdGlmeS5oPgorIyBpbmNsdWRlIDxsaW51eC9uZXRsaW5rLmg+CisjIGluY2x1ZGUgPGxpbnV4L3J0bmV0bGluay5oPgorIyBkZWZpbmUgQUdFVFRZX1JFTE9BRF9GSUxFTkFNRSAiL3J1bi9hZ2V0dHkucmVsb2FkIgkvKiB0cmlnZ2VyIGZpbGUgKi8KKyMgZGVmaW5lIEFHRVRUWV9SRUxPQURfRkROT05FCS0yCQkJLyogdW5pbml0aWFsaXplZCBmZCAqLworc3RhdGljIGludCBpbm90aWZ5X2ZkID0gQUdFVFRZX1JFTE9BRF9GRE5PTkU7CitzdGF0aWMgaW50IG5ldGxpbmtfZmQgPSBBR0VUVFlfUkVMT0FEX0ZETk9ORTsKKyNlbmRpZgorCisvKgorICogV2hlbiBtdWx0aXBsZSBiYXVkIHJhdGVzIGFyZSBzcGVjaWZpZWQgb24gdGhlIGNvbW1hbmQgbGluZSwgdGhlIGZpcnN0IG9uZQorICogd2Ugd2lsbCB0cnkgaXMgdGhlIGZpcnN0IG9uZSBzcGVjaWZpZWQuCisgKi8KKyNkZWZpbmUJRklSU1RfU1BFRUQJMAorCisvKiBTdG9yYWdlIGZvciBjb21tYW5kLWxpbmUgb3B0aW9ucy4gKi8KKyNkZWZpbmUJTUFYX1NQRUVECTEwCS8qIG1heC4gbnIuIG9mIGJhdWQgcmF0ZXMgKi8KKworc3RydWN0IG9wdGlvbnMgeworCWludCBmbGFnczsJCQkvKiB0b2dnbGUgc3dpdGNoZXMsIHNlZSBiZWxvdyAqLworCXVuc2lnbmVkIGludCB0aW1lb3V0OwkJCS8qIHRpbWUtb3V0IHBlcmlvZCAqLworCWNoYXIgKmF1dG9sb2c7CQkJLyogbG9naW4gdGhlIHVzZXIgYXV0b21hdGljYWxseSAqLworCWNoYXIgKmNoZGlyOwkJCS8qIENoZGlyIGJlZm9yZSB0aGUgbG9naW4gKi8KKwljaGFyICpjaHJvb3Q7CQkJLyogQ2hyb290IGJlZm9yZSB0aGUgbG9naW4gKi8KKwljaGFyICpsb2dpbjsJCQkvKiBsb2dpbiBwcm9ncmFtICovCisJY2hhciAqbG9nb3B0OwkJCS8qIG9wdGlvbnMgZm9yIGxvZ2luIHByb2dyYW0gKi8KKwljaGFyICp0dHk7CQkJLyogbmFtZSBvZiB0dHkgKi8KKwljaGFyICp2Y2xpbmU7CQkJLyogbGluZSBvZiB2aXJ0dWFsIGNvbnNvbGUgKi8KKwljaGFyICp0ZXJtOwkJCS8qIHRlcm1pbmFsIHR5cGUgKi8KKwljaGFyICppbml0c3RyaW5nOwkJLyogbW9kZW0gaW5pdCBzdHJpbmcgKi8KKwljaGFyICppc3N1ZTsJCQkvKiBhbHRlcm5hdGl2ZSBpc3N1ZSBmaWxlICovCisJY2hhciAqZXJhc2VjaGFyczsJCS8qIHN0cmluZyB3aXRoIGVyYXNlIGNoYXJzICovCisJY2hhciAqa2lsbGNoYXJzOwkJLyogc3RyaW5nIHdpdGgga2lsbCBjaGFycyAqLworCWNoYXIgKm9zcmVsZWFzZTsJCS8qIC9ldGMvb3MtcmVsZWFzZSBkYXRhICovCisJdW5zaWduZWQgaW50IGRlbGF5OwkJCS8qIFNsZWVwIHNlY29uZHMgYmVmb3JlIHByb21wdCAqLworCWludCBuaWNlOwkJCS8qIFJ1biBsb2dpbiB3aXRoIHRoaXMgcHJpb3JpdHkgKi8KKwlpbnQgbnVtc3BlZWQ7CQkJLyogbnVtYmVyIG9mIGJhdWQgcmF0ZXMgdG8gdHJ5ICovCisJaW50IGNsb2NhbDsJCQkvKiBDTE9DQUxfTU9ERV8qICovCisJaW50IGtibW9kZTsJCQkvKiBLZXlib2FyZCBtb2RlIGlmIHZpcnR1YWwgY29uc29sZSAqLworCXNwZWVkX3Qgc3BlZWRzW01BWF9TUEVFRF07CS8qIGJhdWQgcmF0ZXMgdG8gYmUgdHJpZWQgKi8KK307CisKK2VudW0geworCUNMT0NBTF9NT0RFX0FVVE8gPSAwLAorCUNMT0NBTF9NT0RFX0FMV0FZUywKKwlDTE9DQUxfTU9ERV9ORVZFUgorfTsKKworI2RlZmluZQlGX1BBUlNFCQkoMTw8MCkJLyogcHJvY2VzcyBtb2RlbSBzdGF0dXMgbWVzc2FnZXMgKi8KKyNkZWZpbmUJRl9JU1NVRQkJKDE8PDEpCS8qIGRpc3BsYXkgL2V0Yy9pc3N1ZSAqLworI2RlZmluZQlGX1JUU0NUUwkoMTw8MikJLyogZW5hYmxlIFJUUy9DVFMgZmxvdyBjb250cm9sICovCisKKyNkZWZpbmUgRl9JTklUU1RSSU5HICAgICgxPDw0KQkvKiBpbml0c3RyaW5nIGlzIHNldCAqLworI2RlZmluZSBGX1dBSVRDUkxGCSgxPDw1KQkvKiB3YWl0IGZvciBDUiBvciBMRiAqLworI2RlZmluZSBGX0NVU1RJU1NVRQkoMTw8NikJLyogZ2l2ZSBhbHRlcm5hdGl2ZSBpc3N1ZSBmaWxlICovCisjZGVmaW5lIEZfTk9QUk9NUFQJKDE8PDcpCS8qIGRvIG5vdCBhc2sgZm9yIGxvZ2luIG5hbWUhICovCisjZGVmaW5lIEZfTENVQwkJKDE8PDgpCS8qIHN1cHBvcnQgZm9yICpMQ1VDIHN0dHkgbW9kZXMgKi8KKyNkZWZpbmUgRl9LRUVQU1BFRUQJKDE8PDkpCS8qIGZvbGxvdyBiYXVkIHJhdGUgZnJvbSBrZXJuZWwgKi8KKyNkZWZpbmUgRl9LRUVQQ0ZMQUdTCSgxPDwxMCkJLyogcmV1c2UgY19jZmxhZ3Mgc2V0dXAgZnJvbSBrZXJuZWwgKi8KKyNkZWZpbmUgRl9FSUdIVEJJVFMJKDE8PDExKQkvKiBBc3N1bWUgOGJpdC1jbGVhbiB0dHkgKi8KKyNkZWZpbmUgRl9WQ09OU09MRQkoMTw8MTIpCS8qIFRoaXMgaXMgYSB2aXJ0dWFsIGNvbnNvbGUgKi8KKyNkZWZpbmUgRl9IQU5HVVAJKDE8PDEzKQkvKiBEbyBjYWxsIHZoYW5ndXAoMikgKi8KKyNkZWZpbmUgRl9VVEY4CQkoMTw8MTQpCS8qIFdlIGNhbiBkbyBVVEY4ICovCisjZGVmaW5lIEZfTE9HSU5QQVVTRQkoMTw8MTUpCS8qIFdhaXQgZm9yIGFueSBrZXkgYmVmb3JlIGRyb3BwaW5nIGxvZ2luIHByb21wdCAqLworI2RlZmluZSBGX05PQ0xFQVIJKDE8PDE2KSAvKiBEbyBub3QgY2xlYXIgdGhlIHNjcmVlbiBiZWZvcmUgcHJvbXB0aW5nICovCisjZGVmaW5lIEZfTk9OTAkJKDE8PDE3KSAvKiBObyBuZXdsaW5lIGJlZm9yZSBpc3N1ZSAqLworI2RlZmluZSBGX05PSE9TVE5BTUUJKDE8PDE4KSAvKiBEbyBub3Qgc2hvdyB0aGUgaG9zdG5hbWUgKi8KKyNkZWZpbmUgRl9MT05HSE5BTUUJKDE8PDE5KSAvKiBTaG93IEZ1bGwgcXVhbGlmaWVkIGhvc3RuYW1lICovCisjZGVmaW5lIEZfTk9ISU5UUwkoMTw8MjApIC8qIERvbid0IHByaW50IGhpbnRzICovCisjZGVmaW5lIEZfUkVNT1RFCSgxPDwyMSkgLyogQWRkICctaCBmYWtlaG9zdCcgdG8gbG9naW4oMSkgY29tbWFuZCBsaW5lICovCisKKyNkZWZpbmUgc2VyaWFsX3R0eV9vcHRpb24ob3B0LCBmbGFnKQlcCisJKCgob3B0KS0+ZmxhZ3MgJiAoRl9WQ09OU09MRXwoZmxhZykpKSA9PSAoZmxhZykpCisKK3N0cnVjdCBTcGVlZHRhYiB7CisJbG9uZyBzcGVlZDsKKwlzcGVlZF90IGNvZGU7Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IFNwZWVkdGFiIHNwZWVkdGFiW10gPSB7CisJezUwLCBCNTB9LAorCXs3NSwgQjc1fSwKKwl7MTEwLCBCMTEwfSwKKwl7MTM0LCBCMTM0fSwKKwl7MTUwLCBCMTUwfSwKKwl7MjAwLCBCMjAwfSwKKwl7MzAwLCBCMzAwfSwKKwl7NjAwLCBCNjAwfSwKKwl7MTIwMCwgQjEyMDB9LAorCXsxODAwLCBCMTgwMH0sCisJezI0MDAsIEIyNDAwfSwKKwl7NDgwMCwgQjQ4MDB9LAorCXs5NjAwLCBCOTYwMH0sCisjaWZkZWYgQjE5MjAwCisJezE5MjAwLCBCMTkyMDB9LAorI2VsaWYgZGVmaW5lZChFWFRBKQorCXsxOTIwMCwgRVhUQX0sCisjZW5kaWYKKyNpZmRlZiBCMzg0MDAKKwl7Mzg0MDAsIEIzODQwMH0sCisjZWxpZiBkZWZpbmVkKEVYVEIpCisJezM4NDAwLCBFWFRCfSwKKyNlbmRpZgorI2lmZGVmIEI1NzYwMAorCXs1NzYwMCwgQjU3NjAwfSwKKyNlbmRpZgorI2lmZGVmIEIxMTUyMDAKKwl7MTE1MjAwLCBCMTE1MjAwfSwKKyNlbmRpZgorI2lmZGVmIEIyMzA0MDAKKwl7MjMwNDAwLCBCMjMwNDAwfSwKKyNlbmRpZgorI2lmZGVmIEI0NjA4MDAKKwl7NDYwODAwLCBCNDYwODAwfSwKKyNlbmRpZgorI2lmZGVmIEI1MDAwMDAKKwl7NTAwMDAwLCBCNTAwMDAwfSwKKyNlbmRpZgorI2lmZGVmIEI1NzYwMDAKKwl7NTc2MDAwLCBCNTc2MDAwfSwKKyNlbmRpZgorI2lmZGVmIEI5MjE2MDAKKwl7OTIxNjAwLCBCOTIxNjAwfSwKKyNlbmRpZgorI2lmZGVmIEIxMDAwMDAwCisJezEwMDAwMDAsIEIxMDAwMDAwfSwKKyNlbmRpZgorI2lmZGVmIEIxMTUyMDAwCisJezExNTIwMDAsIEIxMTUyMDAwfSwKKyNlbmRpZgorI2lmZGVmIEIxNTAwMDAwCisJezE1MDAwMDAsIEIxNTAwMDAwfSwKKyNlbmRpZgorI2lmZGVmIEIyMDAwMDAwCisJezIwMDAwMDAsIEIyMDAwMDAwfSwKKyNlbmRpZgorI2lmZGVmIEIyNTAwMDAwCisJezI1MDAwMDAsIEIyNTAwMDAwfSwKKyNlbmRpZgorI2lmZGVmIEIzMDAwMDAwCisJezMwMDAwMDAsIEIzMDAwMDAwfSwKKyNlbmRpZgorI2lmZGVmIEIzNTAwMDAwCisJezM1MDAwMDAsIEIzNTAwMDAwfSwKKyNlbmRpZgorI2lmZGVmIEI0MDAwMDAwCisJezQwMDAwMDAsIEI0MDAwMDAwfSwKKyNlbmRpZgorCXswLCAwfSwKK307CisKK3N0YXRpYyB2b2lkIGluaXRfc3BlY2lhbF9jaGFyKGNoYXIqIGFyZywgc3RydWN0IG9wdGlvbnMgKm9wKTsKK3N0YXRpYyB2b2lkIHBhcnNlX2FyZ3MoaW50IGFyZ2MsIGNoYXIgKiphcmd2LCBzdHJ1Y3Qgb3B0aW9ucyAqb3ApOworc3RhdGljIHZvaWQgcGFyc2Vfc3BlZWRzKHN0cnVjdCBvcHRpb25zICpvcCwgY2hhciAqYXJnKTsKK3N0YXRpYyB2b2lkIHVwZGF0ZV91dG1wKHN0cnVjdCBvcHRpb25zICpvcCk7CitzdGF0aWMgdm9pZCBvcGVuX3R0eShjaGFyICp0dHksIHN0cnVjdCB0ZXJtaW9zICp0cCwgc3RydWN0IG9wdGlvbnMgKm9wKTsKK3N0YXRpYyB2b2lkIHRlcm1pb19pbml0KHN0cnVjdCBvcHRpb25zICpvcCwgc3RydWN0IHRlcm1pb3MgKnRwKTsKK3N0YXRpYyB2b2lkIHJlc2V0X3ZjIChjb25zdCBzdHJ1Y3Qgb3B0aW9ucyAqb3AsIHN0cnVjdCB0ZXJtaW9zICp0cCk7CitzdGF0aWMgdm9pZCBhdXRvX2JhdWQoc3RydWN0IHRlcm1pb3MgKnRwKTsKK3N0YXRpYyB2b2lkIG91dHB1dF9zcGVjaWFsX2NoYXIgKHVuc2lnbmVkIGNoYXIgYywgc3RydWN0IG9wdGlvbnMgKm9wLAorCQlzdHJ1Y3QgdGVybWlvcyAqdHAsIEZJTEUgKmZwKTsKK3N0YXRpYyB2b2lkIGRvX3Byb21wdChzdHJ1Y3Qgb3B0aW9ucyAqb3AsIHN0cnVjdCB0ZXJtaW9zICp0cCk7CitzdGF0aWMgdm9pZCBuZXh0X3NwZWVkKHN0cnVjdCBvcHRpb25zICpvcCwgc3RydWN0IHRlcm1pb3MgKnRwKTsKK3N0YXRpYyBjaGFyICpnZXRfbG9nbmFtZShzdHJ1Y3Qgb3B0aW9ucyAqb3AsCisJCQkgc3RydWN0IHRlcm1pb3MgKnRwLCBzdHJ1Y3QgY2hhcmRhdGEgKmNwKTsKK3N0YXRpYyB2b2lkIHRlcm1pb19maW5hbChzdHJ1Y3Qgb3B0aW9ucyAqb3AsCisJCQkgc3RydWN0IHRlcm1pb3MgKnRwLCBzdHJ1Y3QgY2hhcmRhdGEgKmNwKTsKK3N0YXRpYyBpbnQgY2Fwc19sb2NrKGNoYXIgKnMpOworc3RhdGljIHNwZWVkX3QgYmNvZGUoY2hhciAqcyk7CitzdGF0aWMgdm9pZCB1c2FnZShGSUxFICogb3V0KSBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKTsKK3N0YXRpYyB2b2lkIGxvZ19lcnIoY29uc3QgY2hhciAqLCAuLi4pIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpCisJCQkgICAgICAgX19hdHRyaWJ1dGVfXygoX19mb3JtYXRfXyhwcmludGYsIDEsIDIpKSk7CitzdGF0aWMgdm9pZCBsb2dfd2FybiAoY29uc3QgY2hhciAqLCAuLi4pCisJCQkJX19hdHRyaWJ1dGVfXygoX19mb3JtYXRfXyhwcmludGYsIDEsIDIpKSk7CitzdGF0aWMgc3NpemVfdCBhcHBlbmQoY2hhciAqZGVzdCwgc2l6ZV90IGxlbiwgY29uc3QgY2hhciAgKnNlcCwgY29uc3QgY2hhciAqc3JjKTsKK3N0YXRpYyB2b2lkIGNoZWNrX3VzZXJuYW1lIChjb25zdCBjaGFyKiBubSk7CitzdGF0aWMgdm9pZCBsb2dpbl9vcHRpb25zX3RvX2FyZ3YoY2hhciAqYXJndltdLCBpbnQgKmFyZ2MsIGNoYXIgKnN0ciwgY2hhciAqdXNlcm5hbWUpOworc3RhdGljIHZvaWQgcmVsb2FkX2FnZXR0eXModm9pZCk7CisKKy8qIEZha2UgaG9zdG5hbWUgZm9yIHV0X2hvc3Qgc3BlY2lmaWVkIG9uIGNvbW1hbmQgbGluZS4gKi8KK3N0YXRpYyBjaGFyICpmYWtlaG9zdDsKKworI2lmZGVmIERFQlVHR0lORworIyBpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorIyBpZm5kZWYgREVCVUdfT1VUUFVUCisjICBkZWZpbmUgREVCVUdfT1VUUFVUICIvZGV2L3R0eTEwIgorIyBlbmRpZgorIyBkZWZpbmUgZGVidWcocykgZG8geyBmcHJpbnRmKGRiZixzKTsgZmZsdXNoKGRiZik7IH0gd2hpbGUgKDApCitGSUxFICpkYmY7CisjZWxzZQorIyBkZWZpbmUgZGVidWcocykgZG8geyA7IH0gd2hpbGUgKDApCisjZW5kaWYKKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWNoYXIgKnVzZXJuYW1lID0gTlVMTDsJCQkvKiBsb2dpbiBuYW1lLCBnaXZlbiB0byAvYmluL2xvZ2luICovCisJc3RydWN0IGNoYXJkYXRhIGNoYXJkYXRhOwkJLyogd2lsbCBiZSBzZXQgYnkgZ2V0X2xvZ25hbWUoKSAqLworCXN0cnVjdCB0ZXJtaW9zIHRlcm1pb3M7CQkJLyogdGVybWluYWwgbW9kZSBiaXRzICovCisJc3RydWN0IG9wdGlvbnMgb3B0aW9ucyA9IHsKKwkJLmZsYWdzICA9ICBGX0lTU1VFLAkJLyogc2hvdyAvZXRjL2lzc3VlIChTWVNWX1NUWUxFKSAqLworCQkubG9naW4gID0gIF9QQVRIX0xPR0lOLAkJLyogZGVmYXVsdCBsb2dpbiBwcm9ncmFtICovCisJCS50dHkgICAgPSAidHR5MSIsCQkvKiBkZWZhdWx0IHR0eSBsaW5lICovCisJCS5pc3N1ZSAgPSAgSVNTVUUJCS8qIGRlZmF1bHQgaXNzdWUgZmlsZSAqLworCX07CisJY2hhciAqbG9naW5fYXJndltMT0dJTl9BUkdWX01BWCArIDFdOworCWludCBsb2dpbl9hcmdjID0gMDsKKwlzdHJ1Y3Qgc2lnYWN0aW9uIHNhLCBzYV9odXAsIHNhX3F1aXQsIHNhX2ludDsKKwlzaWdzZXRfdCBzZXQ7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCisJLyogSW4gY2FzZSB2aGFuZ3VwKDIpIGhhcyB0byBjYWxsZWQgKi8KKwlzYS5zYV9oYW5kbGVyID0gU0lHX0lHTjsKKwlzYS5zYV9mbGFncyA9IFNBX1JFU1RBUlQ7CisJc2lnZW1wdHlzZXQgKCZzYS5zYV9tYXNrKTsKKwlzaWdhY3Rpb24oU0lHSFVQLCAmc2EsICZzYV9odXApOworCXNpZ2FjdGlvbihTSUdRVUlULCAmc2EsICZzYV9xdWl0KTsKKwlzaWdhY3Rpb24oU0lHSU5ULCAmc2EsICZzYV9pbnQpOworCisjaWZkZWYgREVCVUdHSU5HCisJZGJmID0gZm9wZW4oREVCVUdfT1VUUFVULCAidyIpOworCWZvciAoaW50IGkgPSAxOyBpIDwgYXJnYzsgaSsrKSB7CisJCWlmIChpID4gMSkKKwkJCWRlYnVnKCIgIik7CisJCWRlYnVnKGFyZ3ZbaV0pOworCX0KKwlkZWJ1ZygiXG4iKTsKKyNlbmRpZgkJCQkvKiBERUJVR0dJTkcgKi8KKworCS8qIFBhcnNlIGNvbW1hbmQtbGluZSBhcmd1bWVudHMuICovCisJcGFyc2VfYXJncyhhcmdjLCBhcmd2LCAmb3B0aW9ucyk7CisKKwlsb2dpbl9hcmd2W2xvZ2luX2FyZ2MrK10gPSBvcHRpb25zLmxvZ2luOwkvKiBzZXQgbG9naW4gcHJvZ3JhbSBuYW1lICovCisKKwkvKiBVcGRhdGUgdGhlIHV0bXAgZmlsZS4gKi8KKyNpZmRlZglTWVNWX1NUWUxFCisJdXBkYXRlX3V0bXAoJm9wdGlvbnMpOworI2VuZGlmCisJaWYgKG9wdGlvbnMuZGVsYXkpCisJICAgIHNsZWVwKG9wdGlvbnMuZGVsYXkpOworCisJZGVidWcoImNhbGxpbmcgb3Blbl90dHlcbiIpOworCisJLyogT3BlbiB0aGUgdHR5IGFzIHN0YW5kYXJkIHsgaW5wdXQsIG91dHB1dCwgZXJyb3IgfS4gKi8KKwlvcGVuX3R0eShvcHRpb25zLnR0eSwgJnRlcm1pb3MsICZvcHRpb25zKTsKKworCS8qIFVubWFzayBTSUdIVVAgaWYgaW5oZXJpdGVkICovCisJc2lnZW1wdHlzZXQoJnNldCk7CisJc2lnYWRkc2V0KCZzZXQsIFNJR0hVUCk7CisJc2lncHJvY21hc2soU0lHX1VOQkxPQ0ssICZzZXQsIE5VTEwpOworCXNpZ2FjdGlvbihTSUdIVVAsICZzYV9odXAsIE5VTEwpOworCisJdGNzZXRwZ3JwKFNURElOX0ZJTEVOTywgZ2V0cGlkKCkpOworCisJLyogRGVmYXVsdCBpcyB0byBmb2xsb3cgdGhlIGN1cnJlbnQgbGluZSBzcGVlZCBhbmQgdGhlbiBkZWZhdWx0IHRvIDk2MDAgKi8KKwlpZiAoKG9wdGlvbnMuZmxhZ3MgJiBGX1ZDT05TT0xFKSA9PSAwICYmIG9wdGlvbnMubnVtc3BlZWQgPT0gMCkgeworCQlvcHRpb25zLnNwZWVkc1tvcHRpb25zLm51bXNwZWVkKytdID0gYmNvZGUoIjk2MDAiKTsKKwkJb3B0aW9ucy5mbGFncyB8PSBGX0tFRVBTUEVFRDsKKwl9CisKKwkvKiBJbml0aWFsaXplIHRoZSB0ZXJtaW9zIHNldHRpbmdzIChyYXcgbW9kZSwgZWlnaHQtYml0LCBibG9ja2luZyBpL28pLiAqLworCWRlYnVnKCJjYWxsaW5nIHRlcm1pb19pbml0XG4iKTsKKwl0ZXJtaW9faW5pdCgmb3B0aW9ucywgJnRlcm1pb3MpOworCisJLyogV3JpdGUgdGhlIG1vZGVtIGluaXQgc3RyaW5nIGFuZCBETyBOT1QgZmx1c2ggdGhlIGJ1ZmZlcnMuICovCisJaWYgKHNlcmlhbF90dHlfb3B0aW9uKCZvcHRpb25zLCBGX0lOSVRTVFJJTkcpICYmCisJICAgIG9wdGlvbnMuaW5pdHN0cmluZyAmJiAqb3B0aW9ucy5pbml0c3RyaW5nICE9ICdcMCcpIHsKKwkJZGVidWcoIndyaXRpbmcgaW5pdCBzdHJpbmdcbiIpOworCQl3cml0ZV9hbGwoU1RET1VUX0ZJTEVOTywgb3B0aW9ucy5pbml0c3RyaW5nLAorCQkJICAgc3RybGVuKG9wdGlvbnMuaW5pdHN0cmluZykpOworCX0KKworCWlmIChvcHRpb25zLmZsYWdzICYgRl9WQ09OU09MRSB8fCBvcHRpb25zLmNsb2NhbCAhPSBDTE9DQUxfTU9ERV9BTFdBWVMpCisJCS8qIEdvIHRvIGJsb2NraW5nIG1vZGUgdW5sZXNzIC1MIGlzIHNwZWNpZmllZCwgdGhpcyBjaGFuZ2UKKwkJICogYWZmZWN0cyBzdGRvdXQsIHN0ZGluIGFuZCBzdGRlcnIgYXMgYWxsIHRoZSBmaWxlIGRlc2NyaXB0b3JzCisJCSAqIGFyZSBjcmVhdGVkIGJ5IGR1cCgpLiAgICovCisJCWZjbnRsKFNURE9VVF9GSUxFTk8sIEZfU0VURkwsCisJCSAgICAgIGZjbnRsKFNURE9VVF9GSUxFTk8sIEZfR0VURkwsIDApICYgfk9fTk9OQkxPQ0spOworCisJLyogT3B0aW9uYWxseSBkZXRlY3QgdGhlIGJhdWQgcmF0ZSBmcm9tIHRoZSBtb2RlbSBzdGF0dXMgbWVzc2FnZS4gKi8KKwlkZWJ1ZygiYmVmb3JlIGF1dG9iYXVkXG4iKTsKKwlpZiAoc2VyaWFsX3R0eV9vcHRpb24oJm9wdGlvbnMsIEZfUEFSU0UpKQorCQlhdXRvX2JhdWQoJnRlcm1pb3MpOworCisJLyogU2V0IHRoZSBvcHRpb25hbCB0aW1lci4gKi8KKwlpZiAob3B0aW9ucy50aW1lb3V0KQorCQlhbGFybShvcHRpb25zLnRpbWVvdXQpOworCisJLyogT3B0aW9uYWxseSB3YWl0IGZvciBDUiBvciBMRiBiZWZvcmUgd3JpdGluZyAvZXRjL2lzc3VlICovCisJaWYgKHNlcmlhbF90dHlfb3B0aW9uKCZvcHRpb25zLCBGX1dBSVRDUkxGKSkgeworCQljaGFyIGNoOworCisJCWRlYnVnKCJ3YWl0aW5nIGZvciBjci1sZlxuIik7CisJCXdoaWxlIChyZWFkKFNURElOX0ZJTEVOTywgJmNoLCAxKSA9PSAxKSB7CisJCQkvKiBTdHJpcCAicGFyaXR5IGJpdCIuICovCisJCQljaCAmPSAweDdmOworI2lmZGVmIERFQlVHR0lORworCQkJZnByaW50ZihkYmYsICJyZWFkICVjXG4iLCBjaCk7CisjZW5kaWYKKwkJCWlmIChjaCA9PSAnXG4nIHx8IGNoID09ICdccicpCisJCQkJYnJlYWs7CisJCX0KKwl9CisKKwlJTklUX0NIQVJEQVRBKCZjaGFyZGF0YSk7CisKKwlpZiAob3B0aW9ucy5hdXRvbG9nKSB7CisJCWRlYnVnKCJkb2luZyBhdXRvIGxvZ2luXG4iKTsKKwkJdXNlcm5hbWUgPSBvcHRpb25zLmF1dG9sb2c7CisJfQorCisJaWYgKChvcHRpb25zLmZsYWdzICYgRl9OT1BST01QVCkgPT0gMCkgeworCQlpZiAob3B0aW9ucy5hdXRvbG9nKSB7CisJCQkvKiBBdXRvbG9naW4gcHJvbXB0ICovCisJCQlkb19wcm9tcHQoJm9wdGlvbnMsICZ0ZXJtaW9zKTsKKwkJCXByaW50ZihfKCIlcyVzIChhdXRvbWF0aWMgbG9naW4pXG4iKSwgTE9HSU4sIG9wdGlvbnMuYXV0b2xvZyk7CisJCX0gZWxzZSB7CisJCQkvKiBSZWFkIHRoZSBsb2dpbiBuYW1lLiAqLworCQkJZGVidWcoInJlYWRpbmcgbG9naW4gbmFtZVxuIik7CisJCQl3aGlsZSAoKHVzZXJuYW1lID0KKwkJCQlnZXRfbG9nbmFtZSgmb3B0aW9ucywgJnRlcm1pb3MsICZjaGFyZGF0YSkpID09IE5VTEwpCisJCQkJaWYgKChvcHRpb25zLmZsYWdzICYgRl9WQ09OU09MRSkgPT0gMCAmJiBvcHRpb25zLm51bXNwZWVkKQorCQkJCQluZXh0X3NwZWVkKCZvcHRpb25zLCAmdGVybWlvcyk7CisJCX0KKwl9CisKKwkvKiBEaXNhYmxlIHRpbWVyLiAqLworCWlmIChvcHRpb25zLnRpbWVvdXQpCisJCWFsYXJtKDApOworCisJaWYgKChvcHRpb25zLmZsYWdzICYgRl9WQ09OU09MRSkgPT0gMCkgeworCQkvKiBGaW5hbGl6ZSB0aGUgdGVybWlvcyBzZXR0aW5ncy4gKi8KKwkJdGVybWlvX2ZpbmFsKCZvcHRpb25zLCAmdGVybWlvcywgJmNoYXJkYXRhKTsKKworCQkvKiBOb3cgdGhlIG5ld2xpbmUgY2hhcmFjdGVyIHNob3VsZCBiZSBwcm9wZXJseSB3cml0dGVuLiAqLworCQl3cml0ZV9hbGwoU1RET1VUX0ZJTEVOTywgIlxyXG4iLCAyKTsKKwl9CisKKwlzaWdhY3Rpb24oU0lHUVVJVCwgJnNhX3F1aXQsIE5VTEwpOworCXNpZ2FjdGlvbihTSUdJTlQsICZzYV9pbnQsIE5VTEwpOworCisJaWYgKHVzZXJuYW1lKQorCQljaGVja191c2VybmFtZSh1c2VybmFtZSk7CisKKwlpZiAob3B0aW9ucy5sb2dvcHQpIHsKKwkJLyoKKwkJICogVGhlIC0tbG9naW4tb3B0aW9ucyBjb21wbGV0ZWx5IG92ZXJ3cml0ZXMgdGhlIGRlZmF1bHQKKwkJICogd2F5IGhvdyBhZ2V0dHkgY29tcG9zZXMgbG9naW4oMSkgY29tbWFuZCBsaW5lLgorCQkgKi8KKwkJbG9naW5fb3B0aW9uc190b19hcmd2KGxvZ2luX2FyZ3YsICZsb2dpbl9hcmdjLAorCQkJCSAgICAgIG9wdGlvbnMubG9nb3B0LCB1c2VybmFtZSk7CisJfSBlbHNlIHsKKwkJaWYgKGZha2Vob3N0ICYmIChvcHRpb25zLmZsYWdzICYgRl9SRU1PVEUpKSB7CisJCQlsb2dpbl9hcmd2W2xvZ2luX2FyZ2MrK10gPSAiLWgiOworCQkJbG9naW5fYXJndltsb2dpbl9hcmdjKytdID0gZmFrZWhvc3Q7CisJCX0KKwkJaWYgKHVzZXJuYW1lKSB7CisJCQlpZiAob3B0aW9ucy5hdXRvbG9nKQorCQkJCWxvZ2luX2FyZ3ZbbG9naW5fYXJnYysrXSA9ICItZiI7CisJCQllbHNlCisJCQkJbG9naW5fYXJndltsb2dpbl9hcmdjKytdID0gIi0tIjsKKwkJCWxvZ2luX2FyZ3ZbbG9naW5fYXJnYysrXSA9IHVzZXJuYW1lOworCQl9CisJfQorCisJbG9naW5fYXJndltsb2dpbl9hcmdjXSA9IE5VTEw7CS8qIGxhc3QgbG9naW4gYXJndiAqLworCisJaWYgKG9wdGlvbnMuY2hyb290ICYmIGNocm9vdChvcHRpb25zLmNocm9vdCkgPCAwKQorCQlsb2dfZXJyKF8oIiVzOiBjYW4ndCBjaGFuZ2Ugcm9vdCBkaXJlY3RvcnkgJXM6ICVtIiksCisJCQlvcHRpb25zLnR0eSwgb3B0aW9ucy5jaHJvb3QpOworCWlmIChvcHRpb25zLmNoZGlyICYmIGNoZGlyKG9wdGlvbnMuY2hkaXIpIDwgMCkKKwkJbG9nX2VycihfKCIlczogY2FuJ3QgY2hhbmdlIHdvcmtpbmcgZGlyZWN0b3J5ICVzOiAlbSIpLAorCQkJb3B0aW9ucy50dHksIG9wdGlvbnMuY2hkaXIpOworCWlmIChvcHRpb25zLm5pY2UgJiYgbmljZShvcHRpb25zLm5pY2UpIDwgMCkKKwkJbG9nX3dhcm4oXygiJXM6IGNhbid0IGNoYW5nZSBwcm9jZXNzIHByaW9yaXR5OiAlbSIpLAorCQkJIG9wdGlvbnMudHR5KTsKKworCWZyZWUob3B0aW9ucy5vc3JlbGVhc2UpOworI2lmZGVmIERFQlVHR0lORworCWlmIChjbG9zZV9zdHJlYW0oZGJmKSAhPSAwKQorCQlsb2dfZXJyKCJ3cml0ZSBmYWlsZWQ6ICVzIiwgREVCVUdfT1VUUFVUKTsKKyNlbmRpZgorCisJLyogTGV0IHRoZSBsb2dpbiBwcm9ncmFtIHRha2UgY2FyZSBvZiBwYXNzd29yZCB2YWxpZGF0aW9uLiAqLworCWV4ZWN2KG9wdGlvbnMubG9naW4sIGxvZ2luX2FyZ3YpOworCWxvZ19lcnIoXygiJXM6IGNhbid0IGV4ZWMgJXM6ICVtIiksIG9wdGlvbnMudHR5LCBsb2dpbl9hcmd2WzBdKTsKK30KKworLyoKKyAqIFJldHVybnMgOiBAc3RyIGlmIFx1IG5vdCBmb3VuZAorICogICAgICAgICA6IEB1c2VybmFtZSBpZiBAc3RyIGVxdWFsIHRvICJcdSIKKyAqICAgICAgICAgOiBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nIGlmIFx1IG1peGVkIHdpdGggc29tZXRoaW5nIG90aGVyCisgKi8KK3N0YXRpYyBjaGFyICpyZXBsYWNlX3UoY2hhciAqc3RyLCBjaGFyICp1c2VybmFtZSkKK3sKKwljaGFyICplbnRyeSA9IE5VTEwsICpwID0gc3RyOworCXNpemVfdCB1c3ogPSB1c2VybmFtZSA/IHN0cmxlbih1c2VybmFtZSkgOiAwOworCisJd2hpbGUgKCpwKSB7CisJCXNpemVfdCBzejsKKwkJY2hhciAqdHAsICpvbGQgPSBlbnRyeTsKKworCQlpZiAobWVtY21wKHAsICJcXHUiLCAyKSkgeworCQkJcCsrOworCQkJY29udGludWU7CS8qIG5vIFx1ICovCisJCX0KKwkJc3ogPSBzdHJsZW4oc3RyKTsKKworCQlpZiAocCA9PSBzdHIgJiYgc3ogPT0gMikgeworCQkJLyogJ3N0cicgY29udGFpbnMgb25seSAnXHUnICovCisJCQlmcmVlKG9sZCk7CisJCQlyZXR1cm4gdXNlcm5hbWU7CisJCX0KKworCQl0cCA9IGVudHJ5ID0gbWFsbG9jKHN6ICsgdXN6KTsKKwkJaWYgKCF0cCkKKwkJCWxvZ19lcnIoXygiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeTogJW0iKSk7CisKKwkJaWYgKHAgIT0gc3RyKSB7CisJCQkvKiBjb3B5IGNoYXJzIGJlZm9yZSBcdSAqLworCQkJbWVtY3B5KHRwLCBzdHIsIHAgLSBzdHIpOworCQkJdHAgKz0gcCAtIHN0cjsKKwkJfQorCQlpZiAodXN6KSB7CisJCQkvKiBjb3B5IHVzZXJuYW1lICovCisJCQltZW1jcHkodHAsIHVzZXJuYW1lLCB1c3opOworCQkJdHAgKz0gdXN6OworCQl9CisJCWlmICgqKHAgKyAyKSkKKwkJCS8qIGNvcHkgY2hhcnMgYWZ0ZXIgXHUgKyBcMCAqLworCQkJbWVtY3B5KHRwLCBwICsgMiwgc3ogLSAocCAtIHN0cikgLSAxKTsKKwkJZWxzZQorCQkJKnRwID0gJ1wwJzsKKworCQlwID0gdHA7CisJCXN0ciA9IGVudHJ5OworCQlmcmVlKG9sZCk7CisJfQorCisJcmV0dXJuIGVudHJ5ID8gZW50cnkgOiBzdHI7Cit9CisKK3N0YXRpYyB2b2lkIGxvZ2luX29wdGlvbnNfdG9fYXJndihjaGFyICphcmd2W10sIGludCAqYXJnYywKKwkJCQkgIGNoYXIgKnN0ciwgY2hhciAqdXNlcm5hbWUpCit7CisJY2hhciAqcDsKKwlpbnQgaSA9ICphcmdjOworCisJd2hpbGUgKHN0ciAmJiBpc3NwYWNlKCpzdHIpKQorCQlzdHIrKzsKKwlwID0gc3RyOworCisJd2hpbGUgKHAgJiYgKnAgJiYgaSA8IExPR0lOX0FSR1ZfTUFYKSB7CisJCWlmIChpc3NwYWNlKCpwKSkgeworCQkJKnAgPSAnXDAnOworCQkJd2hpbGUgKGlzc3BhY2UoKisrcCkpCisJCQkJOworCQkJaWYgKCpwKSB7CisJCQkJYXJndltpKytdID0gcmVwbGFjZV91KHN0ciwgdXNlcm5hbWUpOworCQkJCXN0ciA9IHA7CisJCQl9CisJCX0gZWxzZQorCQkJcCsrOworCX0KKwlpZiAoc3RyICYmICpzdHIgJiYgaSA8IExPR0lOX0FSR1ZfTUFYKQorCQlhcmd2W2krK10gPSByZXBsYWNlX3Uoc3RyLCB1c2VybmFtZSk7CisJKmFyZ2MgPSBpOworfQorCisjZGVmaW5lIGlzX3NwZWVkKHN0cikgKHN0cmxlbigoc3RyKSkgPT0gc3Ryc3BuKChzdHIpLCAiMDEyMzQ1Njc4OSwiKSkKKworLyogUGFyc2UgY29tbWFuZC1saW5lIGFyZ3VtZW50cy4gKi8KK3N0YXRpYyB2b2lkIHBhcnNlX2FyZ3MoaW50IGFyZ2MsIGNoYXIgKiphcmd2LCBzdHJ1Y3Qgb3B0aW9ucyAqb3ApCit7CisJaW50IGM7CisKKwllbnVtIHsKKwkJVkVSU0lPTl9PUFRJT04gPSBDSEFSX01BWCArIDEsCisJCU5PSElOVFNfT1BUSU9OLAorCQlOT0hPU1ROQU1FX09QVElPTiwKKwkJTE9OR0hPU1ROQU1FX09QVElPTiwKKwkJSEVMUF9PUFRJT04sCisJCUVSQVNFX0NIQVJTX09QVElPTiwKKwkJS0lMTF9DSEFSU19PUFRJT04sCisJCVJFTE9BRF9PUFRJT04sCisJfTsKKwljb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsgICI4Yml0cyIsCSAgICAgbm9fYXJndW1lbnQsCSAwLCAgJzgnICB9LAorCQl7ICAiYXV0b2xvZ2luIiwJICAgICByZXF1aXJlZF9hcmd1bWVudCwJIDAsICAnYScgIH0sCisJCXsgICJub3Jlc2V0IiwJICAgICBub19hcmd1bWVudCwJIDAsICAnYycgIH0sCisJCXsgICJjaGRpciIsCSAgICAgcmVxdWlyZWRfYXJndW1lbnQsCSAwLCAgJ0MnICB9LAorCQl7ICAiZGVsYXkiLAkgICAgIHJlcXVpcmVkX2FyZ3VtZW50LAkgMCwgICdkJyAgfSwKKwkJeyAgInJlbW90ZSIsICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgICAwLCAgJ0UnICB9LAorCQl7ICAiaXNzdWUtZmlsZSIsICAgICByZXF1aXJlZF9hcmd1bWVudCwgIDAsICAnZicgIH0sCisJCXsgICJmbG93LWNvbnRyb2wiLCAgIG5vX2FyZ3VtZW50LAkgMCwgICdoJyAgfSwKKwkJeyAgImhvc3QiLAkgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCAgMCwgICdIJyAgfSwKKwkJeyAgIm5vaXNzdWUiLAkgICAgIG5vX2FyZ3VtZW50LAkgMCwgICdpJyAgfSwKKwkJeyAgImluaXQtc3RyaW5nIiwgICAgcmVxdWlyZWRfYXJndW1lbnQsICAwLCAgJ0knICB9LAorCQl7ICAibm9jbGVhciIsCSAgICAgbm9fYXJndW1lbnQsCSAwLCAgJ0onICB9LAorCQl7ICAibG9naW4tcHJvZ3JhbSIsICByZXF1aXJlZF9hcmd1bWVudCwgIDAsICAnbCcgIH0sCisJCXsgICJsb2NhbC1saW5lIiwgICAgIG9wdGlvbmFsX2FyZ3VtZW50LAkgMCwgICdMJyAgfSwKKwkJeyAgImV4dHJhY3QtYmF1ZCIsICAgbm9fYXJndW1lbnQsCSAwLCAgJ20nICB9LAorCQl7ICAic2tpcC1sb2dpbiIsICAgICBub19hcmd1bWVudCwJIDAsICAnbicgIH0sCisJCXsgICJub25ld2xpbmUiLAkgICAgIG5vX2FyZ3VtZW50LAkgMCwgICdOJyAgfSwKKwkJeyAgImxvZ2luLW9wdGlvbnMiLCAgcmVxdWlyZWRfYXJndW1lbnQsICAwLCAgJ28nICB9LAorCQl7ICAibG9naW4tcGF1c2UiLCAgICBub19hcmd1bWVudCwgICAgICAgIDAsICAncCcgIH0sCisJCXsgICJuaWNlIiwJICAgICByZXF1aXJlZF9hcmd1bWVudCwgIDAsICAnUCcgIH0sCisJCXsgICJjaHJvb3QiLAkgICAgIHJlcXVpcmVkX2FyZ3VtZW50LAkgMCwgICdyJyAgfSwKKwkJeyAgImhhbmd1cCIsCSAgICAgbm9fYXJndW1lbnQsCSAwLCAgJ1InICB9LAorCQl7ICAia2VlcC1iYXVkIiwgICAgICBub19hcmd1bWVudCwJIDAsICAncycgIH0sCisJCXsgICJ0aW1lb3V0IiwJICAgICByZXF1aXJlZF9hcmd1bWVudCwgIDAsICAndCcgIH0sCisJCXsgICJkZXRlY3QtY2FzZSIsICAgIG5vX2FyZ3VtZW50LAkgMCwgICdVJyAgfSwKKwkJeyAgIndhaXQtY3IiLAkgICAgIG5vX2FyZ3VtZW50LAkgMCwgICd3JyAgfSwKKwkJeyAgIm5vaGludHMiLCAgICAgICAgbm9fYXJndW1lbnQsICAgICAgICAwLCAgTk9ISU5UU19PUFRJT04gfSwKKwkJeyAgIm5vaG9zdG5hbWUiLCAgICAgbm9fYXJndW1lbnQsCSAwLCAgTk9IT1NUTkFNRV9PUFRJT04gfSwKKwkJeyAgImxvbmctaG9zdG5hbWUiLCAgbm9fYXJndW1lbnQsCSAwLCAgTE9OR0hPU1ROQU1FX09QVElPTiB9LAorCQl7ICAicmVsb2FkIiwgICAgICAgICBub19hcmd1bWVudCwgICAgICAgIDAsICBSRUxPQURfT1BUSU9OIH0sCisJCXsgICJ2ZXJzaW9uIiwJICAgICBub19hcmd1bWVudCwJIDAsICBWRVJTSU9OX09QVElPTiAgfSwKKwkJeyAgImhlbHAiLAkgICAgIG5vX2FyZ3VtZW50LAkgMCwgIEhFTFBfT1BUSU9OICAgICB9LAorCQl7ICAiZXJhc2UtY2hhcnMiLCAgICByZXF1aXJlZF9hcmd1bWVudCwgIDAsICBFUkFTRV9DSEFSU19PUFRJT04gfSwKKwkJeyAgImtpbGwtY2hhcnMiLCAgICAgcmVxdWlyZWRfYXJndW1lbnQsICAwLCAgS0lMTF9DSEFSU19PUFRJT04gfSwKKwkJeyBOVUxMLCAwLCAwLCAwIH0KKwl9OworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwKKwkJCSAgICI4YTpjQzpkOkVmOmhIOmlJOkpsOkw6Om1uTm86cFA6cjpSc3Q6VXciLCBsb25nb3B0cywKKwkJCSAgICBOVUxMKSkgIT0gLTEpIHsKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJzgnOgorCQkJb3AtPmZsYWdzIHw9IEZfRUlHSFRCSVRTOworCQkJYnJlYWs7CisJCWNhc2UgJ2EnOgorCQkJb3AtPmF1dG9sb2cgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnYyc6CisJCQlvcC0+ZmxhZ3MgfD0gRl9LRUVQQ0ZMQUdTOworCQkJYnJlYWs7CisJCWNhc2UgJ0MnOgorCQkJb3AtPmNoZGlyID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ2QnOgorCQkJb3AtPmRlbGF5ID0gc3RydG91MzJfb3JfZXJyKG9wdGFyZywgIF8oImludmFsaWQgZGVsYXkgYXJndW1lbnQiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnRSc6CisJCQlvcC0+ZmxhZ3MgfD0gRl9SRU1PVEU7CisJCQlicmVhazsKKwkJY2FzZSAnZic6CisJCQlvcC0+ZmxhZ3MgfD0gRl9DVVNUSVNTVUU7CisJCQlvcC0+aXNzdWUgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQlvcC0+ZmxhZ3MgfD0gRl9SVFNDVFM7CisJCQlicmVhazsKKwkJY2FzZSAnSCc6CisJCQlmYWtlaG9zdCA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdpJzoKKwkJCW9wLT5mbGFncyAmPSB+Rl9JU1NVRTsKKwkJCWJyZWFrOworCQljYXNlICdJJzoKKwkJCWluaXRfc3BlY2lhbF9jaGFyKG9wdGFyZywgb3ApOworCQkJb3AtPmZsYWdzIHw9IEZfSU5JVFNUUklORzsKKwkJCWJyZWFrOworCQljYXNlICdKJzoKKwkJCW9wLT5mbGFncyB8PSBGX05PQ0xFQVI7CisJCQlicmVhazsKKwkJY2FzZSAnbCc6CisJCQlvcC0+bG9naW4gPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnTCc6CisJCQkvKiAtTCBhbmQgLUw9YWx3YXlzIGhhdmUgdGhlIHNhbWUgbWVhbmluZyAqLworCQkJb3AtPmNsb2NhbCA9IENMT0NBTF9NT0RFX0FMV0FZUzsKKwkJCWlmIChvcHRhcmcpIHsKKwkJCQlpZiAoc3RyY21wKG9wdGFyZywgIj1hbHdheXMiKSA9PSAwKQorCQkJCQlvcC0+Y2xvY2FsID0gQ0xPQ0FMX01PREVfQUxXQVlTOworCQkJCWVsc2UgaWYgKHN0cmNtcChvcHRhcmcsICI9bmV2ZXIiKSA9PSAwKQorCQkJCQlvcC0+Y2xvY2FsID0gQ0xPQ0FMX01PREVfTkVWRVI7CisJCQkJZWxzZSBpZiAoc3RyY21wKG9wdGFyZywgIj1hdXRvIikgPT0gMCkKKwkJCQkJb3AtPmNsb2NhbCA9IENMT0NBTF9NT0RFX0FVVE87CisJCQkJZWxzZQorCQkJCQlsb2dfZXJyKF8oImludmFsaWQgYXJndW1lbnQgb2YgLS1sb2NhbC1saW5lIikpOworCQkJfQorCQkJYnJlYWs7CisJCWNhc2UgJ20nOgorCQkJb3AtPmZsYWdzIHw9IEZfUEFSU0U7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQlvcC0+ZmxhZ3MgfD0gRl9OT1BST01QVDsKKwkJCWJyZWFrOworCQljYXNlICdOJzoKKwkJCW9wLT5mbGFncyB8PSBGX05PTkw7CisJCQlicmVhazsKKwkJY2FzZSAnbyc6CisJCQlvcC0+bG9nb3B0ID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ3AnOgorCQkJb3AtPmZsYWdzIHw9IEZfTE9HSU5QQVVTRTsKKwkJCWJyZWFrOworCQljYXNlICdQJzoKKwkJCW9wLT5uaWNlID0gc3RydG9zMzJfb3JfZXJyKG9wdGFyZywgIF8oImludmFsaWQgbmljZSBhcmd1bWVudCIpKTsKKwkJCWJyZWFrOworCQljYXNlICdyJzoKKwkJCW9wLT5jaHJvb3QgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnUic6CisJCQlvcC0+ZmxhZ3MgfD0gRl9IQU5HVVA7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQlvcC0+ZmxhZ3MgfD0gRl9LRUVQU1BFRUQ7CisJCQlicmVhazsKKwkJY2FzZSAndCc6CisJCQlvcC0+dGltZW91dCA9IHN0cnRvdTMyX29yX2VycihvcHRhcmcsICBfKCJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnVSc6CisJCQlvcC0+ZmxhZ3MgfD0gRl9MQ1VDOworCQkJYnJlYWs7CisJCWNhc2UgJ3cnOgorCQkJb3AtPmZsYWdzIHw9IEZfV0FJVENSTEY7CisJCQlicmVhazsKKwkJY2FzZSBOT0hJTlRTX09QVElPTjoKKwkJCW9wLT5mbGFncyB8PSBGX05PSElOVFM7CisJCQlicmVhazsKKwkJY2FzZSBOT0hPU1ROQU1FX09QVElPTjoKKwkJCW9wLT5mbGFncyB8PSBGX05PSE9TVE5BTUU7CisJCQlicmVhazsKKwkJY2FzZSBMT05HSE9TVE5BTUVfT1BUSU9OOgorCQkJb3AtPmZsYWdzIHw9IEZfTE9OR0hOQU1FOworCQkJYnJlYWs7CisJCWNhc2UgRVJBU0VfQ0hBUlNfT1BUSU9OOgorCQkJb3AtPmVyYXNlY2hhcnMgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSBLSUxMX0NIQVJTX09QVElPTjoKKwkJCW9wLT5raWxsY2hhcnMgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSBSRUxPQURfT1BUSU9OOgorCQkJcmVsb2FkX2FnZXR0eXMoKTsKKwkJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwkJY2FzZSBWRVJTSU9OX09QVElPTjoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJZXhpdChFWElUX1NVQ0NFU1MpOworCQljYXNlIEhFTFBfT1BUSU9OOgorCQkJdXNhZ2Uoc3Rkb3V0KTsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKHN0ZGVycik7CisJCX0KKwl9CisKKwlkZWJ1ZygiYWZ0ZXIgZ2V0b3B0IGxvb3BcbiIpOworCisJaWYgKGFyZ2MgPCBvcHRpbmQgKyAxKSB7CisJCWxvZ193YXJuKF8oIm5vdCBlbm91Z2ggYXJndW1lbnRzIikpOworCQl1c2FnZShzdGRlcnIpOworCX0KKworCS8qIEFjY2VwdCAidHR5IiwgImJhdWRyYXRlIHR0eSIsIGFuZCAidHR5IGJhdWRyYXRlIi4gKi8KKwlpZiAoaXNfc3BlZWQoYXJndltvcHRpbmRdKSkgeworCQkvKiBBc3N1bWUgQlNEIHN0eWxlIHNwZWVkLiAqLworCQlwYXJzZV9zcGVlZHMob3AsIGFyZ3Zbb3B0aW5kKytdKTsKKwkJaWYgKGFyZ2MgPCBvcHRpbmQgKyAxKSB7CisJCQl3YXJuKF8oIm5vdCBlbm91Z2ggYXJndW1lbnRzIikpOworCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJfQorCQlvcC0+dHR5ID0gYXJndltvcHRpbmQrK107CisJfSBlbHNlIHsKKwkJb3AtPnR0eSA9IGFyZ3Zbb3B0aW5kKytdOworCQlpZiAoYXJnYyA+IG9wdGluZCkgeworCQkJY2hhciAqdiA9IGFyZ3Zbb3B0aW5kXTsKKwkJCWlmIChpc19zcGVlZCh2KSkgeworCQkJCXBhcnNlX3NwZWVkcyhvcCwgdik7CisJCQkJb3B0aW5kKys7CisJCQl9CisJCX0KKwl9CisKKwkvKiBPbiB2aXJ0dWFsIGNvbnNvbGUgcmVtZW1iZXIgdGhlIGxpbmUgd2hpY2ggaXMgdXNlZCBmb3IgKi8KKwlpZiAoc3RybmNtcChvcC0+dHR5LCAidHR5IiwgMykgPT0gMCAmJgorCSAgICBzdHJzcG4ob3AtPnR0eSArIDMsICIwMTIzNDU2Nzg5IikgPT0gc3RybGVuKG9wLT50dHkrMykpCisJCW9wLT52Y2xpbmUgPSBvcC0+dHR5KzM7CisKKwlpZiAoYXJnYyA+IG9wdGluZCAmJiBhcmd2W29wdGluZF0pCisJCW9wLT50ZXJtID0gYXJndltvcHRpbmRdOworCisjaWZkZWYgRE9fREVWRlNfRklERExJTkcKKwkvKgorCSAqIFNvbWUgZGV2ZnMganVuaywgZm9sbG93aW5nIEdvc3dpbiBCcmVkZXJsb3c6CisJICogICB0dXJuIHR0eVM8bj4gaW50byB0dHMvPG4+CisJICogICB0dXJuIHR0eTxuPiBpbnRvIHZjLzxuPgorCSAqIGh0dHA6Ly9idWdzLmRlYmlhbi5vcmcvY2dpLWJpbi9idWdyZXBvcnQuY2dpP2J1Zz03MjI0MQorCSAqLworCWlmIChvcC0+dHR5ICYmIHN0cmxlbihvcC0+dHR5KSA8IDkwKSB7CisJCWNoYXIgZGV2X25hbWVbMTAwXTsKKwkJc3RydWN0IHN0YXQgc3Q7CisKKwkJaWYgKHN0cm5jbXAob3AtPnR0eSwgInR0eVMiLCA0KSA9PSAwKSB7CisJCQlzdHJjcHkoZGV2X25hbWUsICIvZGV2LyIpOworCQkJc3RyY2F0KGRldl9uYW1lLCBvcC0+dHR5KTsKKwkJCWlmIChzdGF0KGRldl9uYW1lLCAmc3QpIDwgMCkgeworCQkJCXN0cmNweShkZXZfbmFtZSwgIi9kZXYvdHRzLyIpOworCQkJCXN0cmNhdChkZXZfbmFtZSwgb3AtPnR0eSArIDQpOworCQkJCWlmIChzdGF0KGRldl9uYW1lLCAmc3QpID09IDApIHsKKwkJCQkJb3AtPnR0eSA9IHN0cmR1cChkZXZfbmFtZSArIDUpOworCQkJCQlpZiAoIW9wLT50dHkpCisJCQkJCQlsb2dfZXJyKF8oImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnk6ICVtIikpOworCQkJCX0KKwkJCX0KKwkJfSBlbHNlIGlmIChzdHJuY21wKG9wLT50dHksICJ0dHkiLCAzKSA9PSAwKSB7CisJCQlzdHJjcHkoZGV2X25hbWUsICIvZGV2LyIpOworCQkJc3RybmNhdChkZXZfbmFtZSwgb3AtPnR0eSwgOTApOworCQkJaWYgKHN0YXQoZGV2X25hbWUsICZzdCkgPCAwKSB7CisJCQkJc3RyY3B5KGRldl9uYW1lLCAiL2Rldi92Yy8iKTsKKwkJCQlzdHJjYXQoZGV2X25hbWUsIG9wLT50dHkgKyAzKTsKKwkJCQlpZiAoc3RhdChkZXZfbmFtZSwgJnN0KSA9PSAwKSB7CisJCQkJCW9wLT50dHkgPSBzdHJkdXAoZGV2X25hbWUgKyA1KTsKKwkJCQkJaWYgKCFvcC0+dHR5KQorCQkJCQkJbG9nX2VycihfKCJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5OiAlbSIpKTsKKwkJCQl9CisJCQl9CisJCX0KKwl9CisjZW5kaWYJCQkJLyogRE9fREVWRlNfRklERExJTkcgKi8KKworCWRlYnVnKCJleGl0aW5nIHBhcnNlYXJnc1xuIik7Cit9CisKKy8qIFBhcnNlIGFsdGVybmF0ZSBiYXVkIHJhdGVzLiAqLworc3RhdGljIHZvaWQgcGFyc2Vfc3BlZWRzKHN0cnVjdCBvcHRpb25zICpvcCwgY2hhciAqYXJnKQoreworCWNoYXIgKmNwOworCWNoYXIgKnN0ciA9IHN0cmR1cChhcmcpOworCisJaWYgKCFzdHIpCisJCWxvZ19lcnIoXygiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeTogJW0iKSk7CisKKwlkZWJ1ZygiZW50ZXJlZCBwYXJzZV9zcGVlZHM6XG4iKTsKKwlmb3IgKGNwID0gc3RydG9rKHN0ciwgIiwiKTsgY3AgIT0gTlVMTDsgY3AgPSBzdHJ0b2soKGNoYXIgKikwLCAiLCIpKSB7CisJCWlmICgob3AtPnNwZWVkc1tvcC0+bnVtc3BlZWQrK10gPSBiY29kZShjcCkpIDw9IDApCisJCQlsb2dfZXJyKF8oImJhZCBzcGVlZDogJXMiKSwgY3ApOworCQlpZiAob3AtPm51bXNwZWVkID49IE1BWF9TUEVFRCkKKwkJCWxvZ19lcnIoXygidG9vIG1hbnkgYWx0ZXJuYXRlIHNwZWVkcyIpKTsKKwl9CisJZGVidWcoImV4aXRpbmcgcGFyc2VzcGVlZHNcbiIpOworCWZyZWUoc3RyKTsKK30KKworI2lmZGVmCVNZU1ZfU1RZTEUKKworLyogVXBkYXRlIG91ciB1dG1wIGVudHJ5LiAqLworc3RhdGljIHZvaWQgdXBkYXRlX3V0bXAoc3RydWN0IG9wdGlvbnMgKm9wKQoreworCXN0cnVjdCB1dG1wIHV0OworCXRpbWVfdCB0OworCXBpZF90IHBpZCA9IGdldHBpZCgpOworCXBpZF90IHNpZCA9IGdldHNpZCgwKTsKKwljaGFyICp2Y2xpbmUgPSBvcC0+dmNsaW5lOworCWNoYXIgKmxpbmUgICA9IG9wLT50dHk7CisJc3RydWN0IHV0bXAgKnV0cDsKKworCS8qCisJICogVGhlIHV0bXAgZmlsZSBob2xkcyBtaXNjZWxsYW5lb3VzIGluZm9ybWF0aW9uIGFib3V0IHRoaW5ncyBzdGFydGVkIGJ5CisJICogL3NiaW4vaW5pdCBhbmQgb3RoZXIgc3lzdGVtLXJlbGF0ZWQgZXZlbnRzLiBPdXIgcHVycG9zZSBpcyB0byB1cGRhdGUKKwkgKiB0aGUgdXRtcCBlbnRyeSBmb3IgdGhlIGN1cnJlbnQgcHJvY2VzcywgaW4gcGFydGljdWxhciB0aGUgcHJvY2VzcyB0eXBlCisJICogYW5kIHRoZSB0dHkgbGluZSB3ZSBhcmUgbGlzdGVuaW5nIHRvLiBSZXR1cm4gc3VjY2Vzc2Z1bGx5IG9ubHkgaWYgdGhlCisJICogdXRtcCBmaWxlIGNhbiBiZSBvcGVuZWQgZm9yIHVwZGF0ZSwgYW5kIGlmIHdlIGFyZSBhYmxlIHRvIGZpbmQgb3VyCisJICogZW50cnkgaW4gdGhlIHV0bXAgZmlsZS4KKwkgKi8KKwl1dG1wbmFtZShfUEFUSF9VVE1QKTsKKwlzZXR1dGVudCgpOworCisJLyoKKwkgKiBGaW5kIG15IHBpZCBpbiB1dG1wLgorCSAqCisJICogRklYTUU6IEVhcmxpZXIgKHdoZW4gd2FzIHRoYXQ/KSBjb2RlIGhlcmUgdGVzdGVkIG9ubHkgdXRwLT51dF90eXBlICE9CisJICogSU5JVF9QUk9DRVNTLCBzbyBtYXliZSB0aGUgPj0gaGVyZSBzaG91bGQgYmUgPi4KKwkgKgorCSAqIEZJWE1FOiBUaGUgcHJlc2VudCBjb2RlIGlzIHRha2VuIGZyb20gbG9naW4uYywgc28gaWYgdGhpcyBpcyBjaGFuZ2VkLAorCSAqIG1heWJlIGxvZ2luIGhhcyB0byBiZSBjaGFuZ2VkIGFzIHdlbGwgKGlzIHRoaXMgdHJ1ZT8pLgorCSAqLworCXdoaWxlICgodXRwID0gZ2V0dXRlbnQoKSkpCisJCWlmICh1dHAtPnV0X3BpZCA9PSBwaWQKKwkJCQkmJiB1dHAtPnV0X3R5cGUgPj0gSU5JVF9QUk9DRVNTCisJCQkJJiYgdXRwLT51dF90eXBlIDw9IERFQURfUFJPQ0VTUykKKwkJCWJyZWFrOworCisJaWYgKHV0cCkgeworCQltZW1jcHkoJnV0LCB1dHAsIHNpemVvZih1dCkpOworCX0gZWxzZSB7CisJCS8qIFNvbWUgaW5pdHMgZG8gbm90IGluaXRpYWxpemUgdXRtcC4gKi8KKwkJbWVtc2V0KCZ1dCwgMCwgc2l6ZW9mKHV0KSk7CisJCWlmICh2Y2xpbmUgJiYgKnZjbGluZSkKKwkJCS8qIFN0YW5kYXJkIHZpcnR1YWwgY29uc29sZSBkZXZpY2VzICovCisJCQlzdHJuY3B5KHV0LnV0X2lkLCB2Y2xpbmUsIHNpemVvZih1dC51dF9pZCkpOworCQllbHNlIHsKKwkJCXNpemVfdCBsZW4gPSBzdHJsZW4obGluZSk7CisJCQljaGFyICogcHRyOworCQkJaWYgKGxlbiA+PSBzaXplb2YodXQudXRfaWQpKQorCQkJCXB0ciA9IGxpbmUgKyBsZW4gLSBzaXplb2YodXQudXRfaWQpOworCQkJZWxzZQorCQkJCXB0ciA9IGxpbmU7CisJCQlzdHJuY3B5KHV0LnV0X2lkLCBwdHIsIHNpemVvZih1dC51dF9pZCkpOworCQl9CisJfQorCisJc3RybmNweSh1dC51dF91c2VyLCAiTE9HSU4iLCBzaXplb2YodXQudXRfdXNlcikpOworCXN0cm5jcHkodXQudXRfbGluZSwgbGluZSwgc2l6ZW9mKHV0LnV0X2xpbmUpKTsKKwlpZiAoZmFrZWhvc3QpCisJCXN0cm5jcHkodXQudXRfaG9zdCwgZmFrZWhvc3QsIHNpemVvZih1dC51dF9ob3N0KSk7CisJdGltZSgmdCk7CisjaWYgZGVmaW5lZChfSEFWRV9VVF9UVikKKwl1dC51dF90di50dl9zZWMgPSB0OworI2Vsc2UKKwl1dC51dF90aW1lID0gdDsKKyNlbmRpZgorCXV0LnV0X3R5cGUgPSBMT0dJTl9QUk9DRVNTOworCXV0LnV0X3BpZCA9IHBpZDsKKwl1dC51dF9zZXNzaW9uID0gc2lkOworCisJcHV0dXRsaW5lKCZ1dCk7CisJZW5kdXRlbnQoKTsKKworCXsKKyNpZmRlZiBIQVZFX1VQRFdUTVAKKwkJdXBkd3RtcChfUEFUSF9XVE1QLCAmdXQpOworI2Vsc2UKKwkJaW50IHV0X2ZkOworCQlpbnQgbGY7CisKKwkJaWYgKChsZiA9IG9wZW4oX1BBVEhfV1RNUExPQ0ssIE9fQ1JFQVQgfCBPX1dST05MWSwgMDY2MCkpID49IDApIHsKKwkJCWZsb2NrKGxmLCBMT0NLX0VYKTsKKwkJCWlmICgodXRfZmQgPQorCQkJICAgICBvcGVuKF9QQVRIX1dUTVAsIE9fQVBQRU5EIHwgT19XUk9OTFkpKSA+PSAwKSB7CisJCQkJd3JpdGVfYWxsKHV0X2ZkLCAmdXQsIHNpemVvZih1dCkpOworCQkJCWNsb3NlKHV0X2ZkKTsKKwkJCX0KKwkJCWZsb2NrKGxmLCBMT0NLX1VOKTsKKwkJCWNsb3NlKGxmKTsKKwkJfQorI2VuZGlmCQkJCS8qIEhBVkVfVVBEV1RNUCAqLworCX0KK30KKworI2VuZGlmCQkJCS8qIFNZU1ZfU1RZTEUgKi8KKworLyogU2V0IHVwIHR0eSBhcyBzdGRpbiwgc3Rkb3V0ICYgc3RkZXJyLiAqLworc3RhdGljIHZvaWQgb3Blbl90dHkoY2hhciAqdHR5LCBzdHJ1Y3QgdGVybWlvcyAqdHAsIHN0cnVjdCBvcHRpb25zICpvcCkKK3sKKwljb25zdCBwaWRfdCBwaWQgPSBnZXRwaWQoKTsKKwlpbnQgY2xvc2VkID0gMDsKKyNpZm5kZWYgS0RHS0JNT0RFCisJaW50IHNlcmlhbDsKKyNlbmRpZgorCisJLyogU2V0IHVwIG5ldyBzdGFuZGFyZCBpbnB1dCwgdW5sZXNzIHdlIGFyZSBnaXZlbiBhbiBhbHJlYWR5IG9wZW5lZCBwb3J0LiAqLworCisJaWYgKHN0cmNtcCh0dHksICItIikgIT0gMCkgeworCQljaGFyIGJ1ZltQQVRIX01BWCsxXTsKKwkJc3RydWN0IGdyb3VwICpnciA9IE5VTEw7CisJCXN0cnVjdCBzdGF0IHN0OworCQlpbnQgZmQsIGxlbjsKKwkJcGlkX3QgdGlkOworCQlnaWRfdCBnaWQgPSAwOworCisJCS8qIFVzZSB0dHkgZ3JvdXAgaWYgYXZhaWxhYmxlICovCisJCWlmICgoZ3IgPSBnZXRncm5hbSgidHR5IikpKQorCQkJZ2lkID0gZ3ItPmdyX2dpZDsKKworCQlsZW4gPSBzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiL2Rldi8lcyIsIHR0eSk7CisJCWlmIChsZW4gPCAwIHx8IChzaXplX3QpbGVuID49IHNpemVvZihidWYpKQorCQkJbG9nX2VycihfKCIvZGV2LyVzOiBjYW5ub3Qgb3BlbiBhcyBzdGFuZGFyZCBpbnB1dDogJW0iKSwgdHR5KTsKKworCQkvKiBPcGVuIHRoZSB0dHkgYXMgc3RhbmRhcmQgaW5wdXQuICovCisJCWlmICgoZmQgPSBvcGVuKGJ1ZiwgT19SRFdSfE9fTk9DVFRZfE9fTk9OQkxPQ0ssIDApKSA8IDApCisJCQlsb2dfZXJyKF8oIi9kZXYvJXM6IGNhbm5vdCBvcGVuIGFzIHN0YW5kYXJkIGlucHV0OiAlbSIpLCB0dHkpOworCisJCS8qCisJCSAqIFRoZXJlIGlzIGFsd2F5cyBhIHJhY2UgYmV0d2VlbiB0aGlzIHJlc2V0IGFuZCB0aGUgY2FsbCB0bworCQkgKiB2aGFuZ3VwKCkgdGhhdCBzLm8uIGNhbiB1c2UgdG8gZ2V0IGFjY2VzcyB0byB5b3VyIHR0eS4KKwkJICogTGludXggbG9naW4oMSkgd2lsbCBjaGFuZ2UgdHR5IHBlcm1pc3Npb25zLiBVc2Ugcm9vdCBvd25lciBhbmQgZ3JvdXAKKwkJICogd2l0aCBwZXJtaXNzaW9uIC1ydy0tLS0tLS0gZm9yIHRoZSBwZXJpb2QgYmV0d2VlbiBnZXR0eSBhbmQgbG9naW4uCisJCSAqLworCQlpZiAoZmNob3duKGZkLCAwLCBnaWQpIHx8IGZjaG1vZChmZCwgKGdpZCA/IDA2MjAgOiAwNjAwKSkpIHsKKwkJCWlmIChlcnJubyA9PSBFUk9GUykKKwkJCQlsb2dfd2FybigiJXM6ICVtIiwgYnVmKTsKKwkJCWVsc2UKKwkJCQlsb2dfZXJyKCIlczogJW0iLCBidWYpOworCQl9CisKKwkJLyogU2FuaXR5IGNoZWNrcy4uLiAqLworCQlpZiAoZnN0YXQoZmQsICZzdCkgPCAwKQorCQkJbG9nX2VycigiJXM6ICVtIiwgYnVmKTsKKwkJaWYgKChzdC5zdF9tb2RlICYgU19JRk1UKSAhPSBTX0lGQ0hSKQorCQkJbG9nX2VycihfKCIvZGV2LyVzOiBub3QgYSBjaGFyYWN0ZXIgZGV2aWNlIiksIHR0eSk7CisJCWlmICghaXNhdHR5KGZkKSkKKwkJCWxvZ19lcnIoXygiL2Rldi8lczogbm90IGEgdHR5IiksIHR0eSk7CisKKwkJaWYgKCgodGlkID0gdGNnZXRzaWQoZmQpKSA8IDApIHx8IChwaWQgIT0gdGlkKSkgeworCQkJaWYgKGlvY3RsKGZkLCBUSU9DU0NUVFksIDEpID09IC0xKQorCQkJCWxvZ193YXJuKF8oIi9kZXYvJXM6IGNhbm5vdCBnZXQgY29udHJvbGxpbmcgdHR5OiAlbSIpLCB0dHkpOworCQl9CisKKwkJY2xvc2UoU1RESU5fRklMRU5PKTsKKwkJZXJybm8gPSAwOworCisJCWlmIChvcC0+ZmxhZ3MgJiBGX0hBTkdVUCkgeworCisJCQlpZiAoaW9jdGwoZmQsIFRJT0NOT1RUWSkpCisJCQkJZGVidWcoIlRJT0NOT1RUWSBpb2N0bCBmYWlsZWRcbiIpOworCisJCQkvKgorCQkJICogTGV0J3MgY2xvc2UgYWxsIGZpbGUgZGVzY3JpcHRvcnMgYmVmb3JlIHZoYW5ndXAKKwkJCSAqIGh0dHBzOi8vbGttbC5vcmcvbGttbC8yMDEyLzYvNS8xNDUKKwkJCSAqLworCQkJY2xvc2UoZmQpOworCQkJY2xvc2UoU1RET1VUX0ZJTEVOTyk7CisJCQljbG9zZShTVERFUlJfRklMRU5PKTsKKwkJCWVycm5vID0gMDsKKwkJCWNsb3NlZCA9IDE7CisKKwkJCWlmICh2aGFuZ3VwKCkpCisJCQkJbG9nX2VycihfKCIvZGV2LyVzOiB2aGFuZ3VwKCkgZmFpbGVkOiAlbSIpLCB0dHkpOworCQl9IGVsc2UKKwkJCWNsb3NlKGZkKTsKKworCQlkZWJ1Zygib3BlbigyKVxuIik7CisJCWlmIChvcGVuKGJ1ZiwgT19SRFdSfE9fTk9DVFRZfE9fTk9OQkxPQ0ssIDApICE9IDApCisJCQlsb2dfZXJyKF8oIi9kZXYvJXM6IGNhbm5vdCBvcGVuIGFzIHN0YW5kYXJkIGlucHV0OiAlbSIpLCB0dHkpOworCisJCWlmICgoKHRpZCA9IHRjZ2V0c2lkKFNURElOX0ZJTEVOTykpIDwgMCkgfHwgKHBpZCAhPSB0aWQpKSB7CisJCQlpZiAoaW9jdGwoU1RESU5fRklMRU5PLCBUSU9DU0NUVFksIDEpID09IC0xKQorCQkJCWxvZ193YXJuKF8oIi9kZXYvJXM6IGNhbm5vdCBnZXQgY29udHJvbGxpbmcgdHR5OiAlbSIpLCB0dHkpOworCQl9CisKKwl9IGVsc2UgeworCisJCS8qCisJCSAqIFN0YW5kYXJkIGlucHV0IHNob3VsZCBhbHJlYWR5IGJlIGNvbm5lY3RlZCB0byBhbiBvcGVuIHBvcnQuIE1ha2UKKwkJICogc3VyZSBpdCBpcyBvcGVuIGZvciByZWFkL3dyaXRlLgorCQkgKi8KKworCQlpZiAoKGZjbnRsKFNURElOX0ZJTEVOTywgRl9HRVRGTCwgMCkgJiBPX1JEV1IpICE9IE9fUkRXUikKKwkJCWxvZ19lcnIoXygiJXM6IG5vdCBvcGVuIGZvciByZWFkL3dyaXRlIiksIHR0eSk7CisKKwl9CisKKwlpZiAodGNzZXRwZ3JwKFNURElOX0ZJTEVOTywgcGlkKSkKKwkJbG9nX3dhcm4oXygiL2Rldi8lczogY2Fubm90IHNldCBwcm9jZXNzIGdyb3VwOiAlbSIpLCB0dHkpOworCisJLyogR2V0IHJpZCBvZiB0aGUgcHJlc2VudCBvdXRwdXRzLiAqLworCWlmICghY2xvc2VkKSB7CisJCWNsb3NlKFNURE9VVF9GSUxFTk8pOworCQljbG9zZShTVERFUlJfRklMRU5PKTsKKwkJZXJybm8gPSAwOworCX0KKworCS8qIFNldCB1cCBzdGFuZGFyZCBvdXRwdXQgYW5kIHN0YW5kYXJkIGVycm9yIGZpbGUgZGVzY3JpcHRvcnMuICovCisJZGVidWcoImR1cGluZ1xuIik7CisKKwkvKiBzZXQgdXAgc3Rkb3V0IGFuZCBzdGRlcnIgKi8KKwlpZiAoZHVwKFNURElOX0ZJTEVOTykgIT0gMSB8fCBkdXAoU1RESU5fRklMRU5PKSAhPSAyKQorCQlsb2dfZXJyKF8oIiVzOiBkdXAgcHJvYmxlbTogJW0iKSwgdHR5KTsKKworCS8qIG1ha2Ugc3RkaW8gdW5idWZmZXJlZCBmb3Igc2xvdyBtb2RlbSBsaW5lcyAqLworCXNldHZidWYoc3Rkb3V0LCBOVUxMLCBfSU9OQkYsIDApOworCisJLyoKKwkgKiBUaGUgZm9sbG93aW5nIGlvY3RsIHdpbGwgZmFpbCBpZiBzdGRpbiBpcyBub3QgYSB0dHksIGJ1dCBhbHNvIHdoZW4KKwkgKiB0aGVyZSBpcyBub2lzZSBvbiB0aGUgbW9kZW0gY29udHJvbCBsaW5lcy4gSW4gdGhlIGxhdHRlciBjYXNlLCB0aGUKKwkgKiBjb21tb24gY291cnNlIG9mIGFjdGlvbiBpcyAoMSkgZml4IHlvdXIgY2FibGVzICgyKSBnaXZlIHRoZSBtb2RlbQorCSAqIG1vcmUgdGltZSB0byBwcm9wZXJseSByZXNldCBhZnRlciBoYW5naW5nIHVwLgorCSAqCisJICogU3VuT1MgdXNlcnMgY2FuIGFjaGlldmUgKDIpIGJ5IHBhdGNoaW5nIHRoZSBTdW5PUyBrZXJuZWwgdmFyaWFibGUKKwkgKiAienNhZHRybG93IiB0byBhIGxhcmdlciB2YWx1ZTsgNSBzZWNvbmRzIHNlZW1zIHRvIGJlIGEgZ29vZCB2YWx1ZS4KKwkgKiBodHRwOi8vd3d3LnN1bm1hbmFnZXJzLm9yZy9hcmNoaXZlcy8xOTkzLzA1NzQuaHRtbAorCSAqLworCW1lbXNldCh0cCwgMCwgc2l6ZW9mKHN0cnVjdCB0ZXJtaW9zKSk7CisJaWYgKHRjZ2V0YXR0cihTVERJTl9GSUxFTk8sIHRwKSA8IDApCisJCWxvZ19lcnIoXygiJXM6IGZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iKSwgdHR5KTsKKworI2lmIGRlZmluZWQgKF9fczM5MF9fKSB8fCBkZWZpbmVkIChfX3MzOTB4X18pCisJaWYgKCFvcC0+dGVybSkgeworCSAgICAgICAgLyoKKwkJICogU3BlY2lhbCB0ZXJtaW5hbCBvbiBmaXJzdCBzZXJpYWwgbGluZSBvbiBhIFMvMzkwKHgpIHdoaWNoCisJCSAqIGlzIGR1ZSBsZWdhY3kgcmVhc29ucyBhIGJsb2NrIHRlcm1pbmFsIG9mIHR5cGUgMzI3MCBvcgorCQkgKiBoaWdoZXIuICBXaGVyZWFzIHRoZSBzZWNvbmQgc2VyaWFsIGxpbmUgb24gYSBTLzM5MCh4KSBpcworCQkgKiBhIHJlYWwgY2hhcmFjdGVyIHRlcm1pbmFsIHdoaWNoIGlzIGNvbXBhdGlibGUgd2l0aCBWVDIyMC4KKwkJICovCisJCWlmIChzdHJjbXAob3AtPnR0eSwgInR0eVMwIikgPT0gMCkJCS8qIGxpbnV4L2RyaXZlcnMvczM5MC9jaGFyL2NvbjMyMTUuYyAqLworCQkJb3AtPnRlcm0gPSBERUZBVUxUX1RUWVMwOworCQllbHNlIGlmIChzdHJuY21wKG9wLT50dHksICIzMjcwL3R0eSIsIDgpID09IDApCS8qIGxpbnV4L2RyaXZlcnMvczM5MC9jaGFyL2NvbjMyNzAuYyAqLworCQkJb3AtPnRlcm0gPSBERUZBVUxUX1RUWTMyOworCQllbHNlIGlmIChzdHJjbXAob3AtPnR0eSwgInR0eVMxIikgPT0gMCkJCS8qIGxpbnV4L2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfdnQyMjAuYyAqLworCQkJb3AtPnRlcm0gPSBERUZBVUxUX1RUWVMxOworCX0KKyNlbmRpZgorCisjaWYgZGVmaW5lZChfX0ZyZWVCU0Rfa2VybmVsX18pCisJbG9naW5fdHR5ICgwKTsKKyNlbmRpZgorCisJLyoKKwkgKiBEZXRlY3QgaWYgdGhpcyBpcyBhIHZpcnR1YWwgY29uc29sZSBvciBzZXJpYWwvbW9kZW0gbGluZS4KKwkgKiBJbiBjYXNlIG9mIGEgdmlydHVhbCBjb25zb2xlIHRoZSBpb2N0bCBLREdLQk1PREUgc3VjY2VlZHMKKwkgKiB3aGVyZWFzIG9uIG90aGVyIGxpbmVzIGl0IHdpbGwgZmFpbHMuCisJICovCisjaWZkZWYgS0RHS0JNT0RFCisJaWYgKGlvY3RsKFNURElOX0ZJTEVOTywgS0RHS0JNT0RFLCAmb3AtPmtibW9kZSkgPT0gMCkKKyNlbHNlCisJaWYgKGlvY3RsKFNURElOX0ZJTEVOTywgVElPQ01HRVQsICZzZXJpYWwpIDwgMCAmJiAoZXJybm8gPT0gRUlOVkFMKSkKKyNlbmRpZgorCXsKKwkJb3AtPmZsYWdzIHw9IEZfVkNPTlNPTEU7CisJCWlmICghb3AtPnRlcm0pCisJCQlvcC0+dGVybSA9IERFRkFVTFRfVkNURVJNOworCX0gZWxzZSB7CisjaWZkZWYgS19SQVcKKwkJb3AtPmtibW9kZSA9IEtfUkFXOworI2VuZGlmCisJCWlmICghb3AtPnRlcm0pCisJCQlvcC0+dGVybSA9IERFRkFVTFRfU1RFUk07CisJfQorCisJaWYgKHNldGVudigiVEVSTSIsIG9wLT50ZXJtLCAxKSAhPSAwKQorCQlsb2dfZXJyKF8oImZhaWxlZCB0byBzZXQgdGhlICVzIGVudmlyb25tZW50IHZhcmlhYmxlIiksICJURVJNIik7Cit9CisKKy8qIEluaXRpYWxpemUgdGVybWlvcyBzZXR0aW5ncy4gKi8KK3N0YXRpYyB2b2lkIHRlcm1pb19jbGVhcihpbnQgZmQpCit7CisJLyoKKwkgKiBEbyBub3Qgd3JpdGUgYSBmdWxsIHJlc2V0IChFU0MgYykgYmVjYXVzZSB0aGlzIGRlc3Ryb3lzCisJICogdGhlIHVuaWNvZGUgbW9kZSBhZ2FpbiBpZiB0aGUgdGVybWluYWwgd2FzIGluIHVuaWNvZGUKKwkgKiBtb2RlLiAgQWxzbyBpdCBjbGVhcnMgdGhlIENPTlNPTEVfTUFHSUMgZmVhdHVyZXMgd2hpY2gKKwkgKiBhcmUgcmVxdWlyZWQgZm9yIHNvbWUgbGFuZ3VhZ2VzL2NvbnNvbGUtZm9udHMuCisJICogSnVzdCBwdXQgdGhlIGN1cnNvciB0byB0aGUgaG9tZSBwb3NpdGlvbiAoRVNDIFsgSCksCisJICogZXJhc2UgZXZlcnl0aGluZyBiZWxvdyB0aGUgY3Vyc29yIChFU0MgWyBKKSwgYW5kIHNldCB0aGUKKwkgKiBzY3JvbGxpbmcgcmVnaW9uIHRvIHRoZSBmdWxsIHdpbmRvdyAoRVNDIFsgcikKKwkgKi8KKwl3cml0ZV9hbGwoZmQsICJcMDMzW3JcMDMzW0hcMDMzW0oiLCA5KTsKK30KKworLyogSW5pdGlhbGl6ZSB0ZXJtaW9zIHNldHRpbmdzLiAqLworc3RhdGljIHZvaWQgdGVybWlvX2luaXQoc3RydWN0IG9wdGlvbnMgKm9wLCBzdHJ1Y3QgdGVybWlvcyAqdHApCit7CisJc3BlZWRfdCBpc3BlZWQsIG9zcGVlZDsKKwlzdHJ1Y3Qgd2luc2l6ZSB3czsKKyNpZmRlZiBVU0VfUExZTU9VVEhfU1VQUE9SVAorCXN0cnVjdCB0ZXJtaW9zIGxvY2s7CisJaW50IGkgPSAgKHBseW1vdXRoX2NvbW1hbmQoTUFHSUNfUElORykgPT0gMCkgPyBQTFlNT1VUSF9URVJNSU9TX0ZMQUdTX0RFTEFZIDogMDsKKwlpZiAoaSkKKwkJcGx5bW91dGhfY29tbWFuZChNQUdJQ19RVUlUKTsKKwl3aGlsZSAoaS0tID4gMCkgeworCQkvKgorCQkgKiBFdmVuIHdpdGggVFRZUmVzZXQ9bm8gaXQgc2VlbXMgd2l0aCBzeXN0ZW1kIG9yIHBseW1vdXRoCisJCSAqIHRoZSB0ZXJtaW9zIGZsYWdzIGJlY29tZSBjaGFuZ2VkIGZyb20gdW5kZXIgdGhlIGZpcnN0CisJCSAqIGFnZXR0eSBvbiBhIHNlcmlhbCBzeXN0ZW0gY29uc29sZSBhcyB0aGUgZmxhZ3MgYXJlIGxvY2tlZC4KKwkJICovCisJCW1lbXNldCgmbG9jaywgMCwgc2l6ZW9mKHN0cnVjdCB0ZXJtaW9zKSk7CisJCWlmIChpb2N0bChTVERJTl9GSUxFTk8sIFRJT0NHTENLVFJNSU9TLCAmbG9jaykgPCAwKQorCQkJYnJlYWs7CisJCWlmICghbG9jay5jX2lmbGFnICYmICFsb2NrLmNfb2ZsYWcgJiYgIWxvY2suY19jZmxhZyAmJiAhbG9jay5jX2xmbGFnKQorCQkJYnJlYWs7CisJCWRlYnVnKCJ0ZXJtaW9zIGxvY2tlZFxuIik7CisJCXNsZWVwKDEpOworCX0KKwltZW1zZXQoJmxvY2ssIDAsIHNpemVvZihzdHJ1Y3QgdGVybWlvcykpOworCWlvY3RsKFNURElOX0ZJTEVOTywgVElPQ1NMQ0tUUk1JT1MsICZsb2NrKTsKKyNlbmRpZgorCisJaWYgKG9wLT5mbGFncyAmIEZfVkNPTlNPTEUpIHsKKyNpZiBkZWZpbmVkKElVVEY4KSAmJiBkZWZpbmVkKEtER0tCTU9ERSkKKwkJc3dpdGNoKG9wLT5rYm1vZGUpIHsKKwkJY2FzZSBLX1VOSUNPREU6CisJCQlzZXRsb2NhbGUoTENfQ1RZUEUsICJDLlVURi04Iik7CisJCQlvcC0+ZmxhZ3MgfD0gRl9VVEY4OworCQkJYnJlYWs7CisJCWNhc2UgS19SQVc6CisJCWNhc2UgS19NRURJVU1SQVc6CisJCWNhc2UgS19YTEFURToKKwkJZGVmYXVsdDoKKwkJCXNldGxvY2FsZShMQ19DVFlQRSwgIlBPU0lYIik7CisJCQlvcC0+ZmxhZ3MgJj0gfkZfVVRGODsKKwkJCWJyZWFrOworCQl9CisjZWxzZQorCQlzZXRsb2NhbGUoTENfQ1RZUEUsICJQT1NJWCIpOworCQlvcC0+ZmxhZ3MgJj0gfkZfVVRGODsKKyNlbmRpZgorCQlyZXNldF92YyhvcCwgdHApOworCisJCWlmICgodHAtPmNfY2ZsYWcgJiAoQ1M4fFBBUk9ERHxQQVJFTkIpKSA9PSBDUzgpCisJCQlvcC0+ZmxhZ3MgfD0gRl9FSUdIVEJJVFM7CisKKwkJaWYgKChvcC0+ZmxhZ3MgJiBGX05PQ0xFQVIpID09IDApCisJCQl0ZXJtaW9fY2xlYXIoU1RET1VUX0ZJTEVOTyk7CisJCXJldHVybjsKKwl9CisKKwkvKgorCSAqIFNlcmlhbCBsaW5lCisJICovCisKKwlpZiAob3AtPmZsYWdzICYgRl9LRUVQU1BFRUQgfHwgIW9wLT5udW1zcGVlZCkgeworCQkvKiBTYXZlIHRoZSBvcmlnaW5hbCBzZXR0aW5nLiAqLworCQlpc3BlZWQgPSBjZmdldGlzcGVlZCh0cCk7CisJCW9zcGVlZCA9IGNmZ2V0b3NwZWVkKHRwKTsKKworCQlpZiAoIWlzcGVlZCkgaXNwZWVkID0gVFRZREVGX1NQRUVEOworCQlpZiAoIW9zcGVlZCkgb3NwZWVkID0gVFRZREVGX1NQRUVEOworCisJfSBlbHNlIHsKKwkJb3NwZWVkID0gaXNwZWVkID0gb3AtPnNwZWVkc1tGSVJTVF9TUEVFRF07CisJfQorCisJLyoKKwkgKiBJbml0aWFsIHRlcm1pb3Mgc2V0dGluZ3M6IDgtYml0IGNoYXJhY3RlcnMsIHJhdy1tb2RlLCBibG9ja2luZyBpL28uCisJICogU3BlY2lhbCBjaGFyYWN0ZXJzIGFyZSBzZXQgYWZ0ZXIgd2UgaGF2ZSByZWFkIHRoZSBsb2dpbiBuYW1lOyBhbGwKKwkgKiByZWFkcyB3aWxsIGJlIGRvbmUgaW4gcmF3IG1vZGUgYW55d2F5LiBFcnJvcnMgd2lsbCBiZSBkZWFsdCB3aXRoCisJICogbGF0ZXIgb24uCisJICovCisKKyNpZmRlZiBJVVRGOAorCXRwLT5jX2lmbGFnID0gdHAtPmNfaWZsYWcgJiBJVVRGODsKKwlpZiAodHAtPmNfaWZsYWcgJiBJVVRGOCkKKwkJb3AtPmZsYWdzIHw9IEZfVVRGODsKKyNlbHNlCisJdHAtPmNfaWZsYWcgPSAwOworI2VuZGlmCisJdHAtPmNfbGZsYWcgPSAwOworCXRwLT5jX29mbGFnICY9IE9QT1NUIHwgT05MQ1I7CisKKwlpZiAoKG9wLT5mbGFncyAmIEZfS0VFUENGTEFHUykgPT0gMCkKKwkJdHAtPmNfY2ZsYWcgPSBDUzggfCBIVVBDTCB8IENSRUFEIHwgKHRwLT5jX2NmbGFnICYgQ0xPQ0FMKTsKKworCS8qCisJICogTm90ZSB0aGF0IHRoZSBzcGVlZCBpcyBzdG9yZWQgaW4gdGhlIGNfY2ZsYWcgdGVybWlvcyBmaWVsZCwgc28gd2UgaGF2ZQorCSAqIHNldCB0aGUgc3BlZWQgYWx3YXlzIHdoZW4gdGhlIGNmbGFnIGlzIHJlc2V0LgorCSAqLworCWNmc2V0aXNwZWVkKHRwLCBpc3BlZWQpOworCWNmc2V0b3NwZWVkKHRwLCBvc3BlZWQpOworCisJLyogVGhlIGRlZmF1bHQgaXMgdG8gZm9sbG93IHNldHRpbmcgZnJvbSBrZXJuZWwsIGJ1dCBpdCdzIHBvc3NpYmxlCisJICogdG8gZXhwbGljaXRseSByZW1vdmUvYWRkIENMT0NBTCBmbGFnIGJ5IC1MWz08bW9kZT5dKi8KKwlzd2l0Y2ggKG9wLT5jbG9jYWwpIHsKKwljYXNlIENMT0NBTF9NT0RFX0FMV0FZUzoKKwkJdHAtPmNfY2ZsYWcgfD0gQ0xPQ0FMOwkJLyogLUwgb3IgLUw9YWx3YXlzICovCisJCWJyZWFrOworCWNhc2UgQ0xPQ0FMX01PREVfTkVWRVI6CisJCXRwLT5jX2NmbGFnICY9IH5DTE9DQUw7CQkvKiAtTD1uZXZlciAqLworCQlicmVhazsKKwljYXNlIENMT0NBTF9NT0RFX0FVVE86CQkJLyogLUw9YXV0byAqLworCQlicmVhazsKKwl9CisKKyNpZmRlZiBIQVZFX1NUUlVDVF9URVJNSU9TX0NfTElORQorCXRwLT5jX2xpbmUgPSAwOworI2VuZGlmCisJdHAtPmNfY2NbVk1JTl0gPSAxOworCXRwLT5jX2NjW1ZUSU1FXSA9IDA7CisKKwkvKiBDaGVjayBmb3IgdGVybWluYWwgc2l6ZSBhbmQgaWYgbm90IGZvdW5kIHNldCBkZWZhdWx0ICovCisJaWYgKGlvY3RsKFNURElOX0ZJTEVOTywgVElPQ0dXSU5TWiwgJndzKSA9PSAwKSB7CisJCWludCBzZXQgPSAwOworCQlpZiAod3Mud3Nfcm93ID09IDApIHsKKwkJCXdzLndzX3JvdyA9IDI0OworCQkJc2V0Kys7CisJCX0KKwkJaWYgKHdzLndzX2NvbCA9PSAwKSB7CisJCQl3cy53c19jb2wgPSA4MDsKKwkJCXNldCsrOworCQl9CisJCWlmIChpb2N0bChTVERJTl9GSUxFTk8sIFRJT0NTV0lOU1osICZ3cykpCisJCQlkZWJ1ZygiVElPQ1NXSU5TWiBpb2N0bCBmYWlsZWRcbiIpOworCX0KKworCS8qIE9wdGlvbmFsbHkgZW5hYmxlIGhhcmR3YXJlIGZsb3cgY29udHJvbC4gKi8KKyNpZmRlZglDUlRTQ1RTCisJaWYgKG9wLT5mbGFncyAmIEZfUlRTQ1RTKQorCQl0cC0+Y19jZmxhZyB8PSBDUlRTQ1RTOworI2VuZGlmCisJIC8qIEZsdXNoIGlucHV0IGFuZCBvdXRwdXQgcXVldWVzLCBpbXBvcnRhbnQgZm9yIG1vZGVtcyEgKi8KKwl0Y2ZsdXNoKFNURElOX0ZJTEVOTywgVENJT0ZMVVNIKTsKKworCWlmICh0Y3NldGF0dHIoU1RESU5fRklMRU5PLCBUQ1NBTk9XLCB0cCkpCisJCWxvZ193YXJuKF8oInNldHRpbmcgdGVybWluYWwgYXR0cmlidXRlcyBmYWlsZWQ6ICVtIikpOworCisJLyogR28gdG8gYmxvY2tpbmcgaW5wdXQgZXZlbiBpbiBsb2NhbCBtb2RlLiAqLworCWZjbnRsKFNURElOX0ZJTEVOTywgRl9TRVRGTCwKKwkgICAgICBmY250bChTVERJTl9GSUxFTk8sIEZfR0VURkwsIDApICYgfk9fTk9OQkxPQ0spOworCisJZGVidWcoInRlcm1faW8gMlxuIik7Cit9CisKKy8qIFJlc2V0IHZpcnR1YWwgY29uc29sZSBvbiBzdGRpbiB0byBpdHMgZGVmYXVsdHMgKi8KK3N0YXRpYyB2b2lkIHJlc2V0X3ZjKGNvbnN0IHN0cnVjdCBvcHRpb25zICpvcCwgc3RydWN0IHRlcm1pb3MgKnRwKQoreworCWludCBmbCA9IDA7CisKKwlmbCB8PSAob3AtPmZsYWdzICYgRl9LRUVQQ0ZMQUdTKSA9PSAwID8gMCA6IFVMX1RUWV9LRUVQQ0ZMQUdTOworCWZsIHw9IChvcC0+ZmxhZ3MgJiBGX1VURjgpICAgICAgID09IDAgPyAwIDogVUxfVFRZX1VURjg7CisKKwlyZXNldF92aXJ0dWFsX2NvbnNvbGUodHAsIGZsKTsKKworCWlmICh0Y3NldGF0dHIoU1RESU5fRklMRU5PLCBUQ1NBRFJBSU4sIHRwKSkKKwkJbG9nX3dhcm4oXygic2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZhaWxlZDogJW0iKSk7CisKKwkvKiBHbyB0byBibG9ja2luZyBpbnB1dCBldmVuIGluIGxvY2FsIG1vZGUuICovCisJZmNudGwoU1RESU5fRklMRU5PLCBGX1NFVEZMLAorCSAgICAgIGZjbnRsKFNURElOX0ZJTEVOTywgRl9HRVRGTCwgMCkgJiB+T19OT05CTE9DSyk7Cit9CisKKy8qIEV4dHJhY3QgYmF1ZCByYXRlIGZyb20gbW9kZW0gc3RhdHVzIG1lc3NhZ2UuICovCitzdGF0aWMgdm9pZCBhdXRvX2JhdWQoc3RydWN0IHRlcm1pb3MgKnRwKQoreworCXNwZWVkX3Qgc3BlZWQ7CisJaW50IHZtaW47CisJdW5zaWduZWQgaWZsYWc7CisJY2hhciBidWZbQlVGU0laXTsKKwljaGFyICpicDsKKwlpbnQgbnJlYWQ7CisKKwkvKgorCSAqIFRoaXMgd29ya3Mgb25seSBpZiB0aGUgbW9kZW0gcHJvZHVjZXMgaXRzIHN0YXR1cyBjb2RlIEFGVEVSIHJhaXNpbmcKKwkgKiB0aGUgRENEIGxpbmUsIGFuZCBpZiB0aGUgY29tcHV0ZXIgaXMgZmFzdCBlbm91Z2ggdG8gc2V0IHRoZSBwcm9wZXIKKwkgKiBiYXVkIHJhdGUgYmVmb3JlIHRoZSBtZXNzYWdlIGhhcyBnb25lIGJ5LiBXZSBleHBlY3QgYSBtZXNzYWdlIG9mIHRoZQorCSAqIGZvbGxvd2luZyBmb3JtYXQ6CisJICoKKwkgKiA8anVuaz48bnVtYmVyPjxqdW5rPgorCSAqCisJICogVGhlIG51bWJlciBpcyBpbnRlcnByZXRlZCBhcyB0aGUgYmF1ZCByYXRlIG9mIHRoZSBpbmNvbWluZyBjYWxsLiBJZiB0aGUKKwkgKiBtb2RlbSBkb2VzIG5vdCB0ZWxsIHVzIHRoZSBiYXVkIHJhdGUgd2l0aGluIG9uZSBzZWNvbmQsIHdlIHdpbGwga2VlcAorCSAqIHVzaW5nIHRoZSBjdXJyZW50IGJhdWQgcmF0ZS4gSXQgaXMgYWR2aXNhYmxlIHRvIGVuYWJsZSBCUkVBSworCSAqIHByb2Nlc3NpbmcgKGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGJhdWQgcmF0ZXMpIGlmIHRoZSBwcm9jZXNzaW5nIG9mCisJICogbW9kZW0gc3RhdHVzIG1lc3NhZ2VzIGlzIGVuYWJsZWQuCisJICovCisKKwkvKgorCSAqIFVzZSA3LWJpdCBjaGFyYWN0ZXJzLCBkb24ndCBibG9jayBpZiBpbnB1dCBxdWV1ZSBpcyBlbXB0eS4gRXJyb3JzIHdpbGwKKwkgKiBiZSBkZWFsdCB3aXRoIGxhdGVyIG9uLgorCSAqLworCWlmbGFnID0gdHAtPmNfaWZsYWc7CisJLyogRW5hYmxlIDh0aC1iaXQgc3RyaXBwaW5nLiAqLworCXRwLT5jX2lmbGFnIHw9IElTVFJJUDsKKwl2bWluID0gdHAtPmNfY2NbVk1JTl07CisJLyogRG8gbm90IGJsb2NrIHdoZW4gcXVldWUgaXMgZW1wdHkuICovCisJdHAtPmNfY2NbVk1JTl0gPSAwOworCXRjc2V0YXR0cihTVERJTl9GSUxFTk8sIFRDU0FOT1csIHRwKTsKKworCS8qCisJICogV2FpdCBmb3IgYSB3aGlsZSwgdGhlbiByZWFkIGV2ZXJ5dGhpbmcgdGhlIG1vZGVtIGhhcyBzYWlkIHNvIGZhciBhbmQKKwkgKiB0cnkgdG8gZXh0cmFjdCB0aGUgc3BlZWQgb2YgdGhlIGRpYWwtaW4gY2FsbC4KKwkgKi8KKwlzbGVlcCgxKTsKKwlpZiAoKG5yZWFkID0gcmVhZChTVERJTl9GSUxFTk8sIGJ1Ziwgc2l6ZW9mKGJ1ZikgLSAxKSkgPiAwKSB7CisJCWJ1ZltucmVhZF0gPSAnXDAnOworCQlmb3IgKGJwID0gYnVmOyBicCA8IGJ1ZiArIG5yZWFkOyBicCsrKQorCQkJaWYgKGlzYXNjaWkoKmJwKSAmJiBpc2RpZ2l0KCpicCkpIHsKKwkJCQlpZiAoKHNwZWVkID0gYmNvZGUoYnApKSkgeworCQkJCQljZnNldGlzcGVlZCh0cCwgc3BlZWQpOworCQkJCQljZnNldG9zcGVlZCh0cCwgc3BlZWQpOworCQkJCX0KKwkJCQlicmVhazsKKwkJCX0KKwl9CisKKwkvKiBSZXN0b3JlIHRlcm1pbmFsIHNldHRpbmdzLiBFcnJvcnMgd2lsbCBiZSBkZWFsdCB3aXRoIGxhdGVyIG9uLiAqLworCXRwLT5jX2lmbGFnID0gaWZsYWc7CisJdHAtPmNfY2NbVk1JTl0gPSB2bWluOworCXRjc2V0YXR0cihTVERJTl9GSUxFTk8sIFRDU0FOT1csIHRwKTsKK30KKworc3RhdGljIGNoYXIgKnhnZXRob3N0bmFtZSh2b2lkKQoreworCWNoYXIgKm5hbWU7CisJc2l6ZV90IHN6ID0gZ2V0X2hvc3RuYW1lX21heCgpICsgMTsKKworCW5hbWUgPSBtYWxsb2Moc2l6ZW9mKGNoYXIpICogc3opOworCWlmICghbmFtZSkKKwkJbG9nX2VycihfKCJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5OiAlbSIpKTsKKworCWlmIChnZXRob3N0bmFtZShuYW1lLCBzeikgIT0gMCkgeworCQlmcmVlKG5hbWUpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJbmFtZVtzeiAtIDFdID0gJ1wwJzsKKwlyZXR1cm4gbmFtZTsKK30KKworc3RhdGljIGNoYXIgKnhnZXRkb21haW5uYW1lKHZvaWQpCit7CisjaWZkZWYgSEFWRV9HRVRET01BSU5OQU1FCisJY2hhciAqbmFtZTsKKwljb25zdCBzaXplX3Qgc3ogPSBnZXRfaG9zdG5hbWVfbWF4KCkgKyAxOworCisJbmFtZSA9IG1hbGxvYyhzaXplb2YoY2hhcikgKiBzeik7CisJaWYgKCFuYW1lKQorCQlsb2dfZXJyKF8oImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnk6ICVtIikpOworCisJaWYgKGdldGRvbWFpbm5hbWUobmFtZSwgc3opICE9IDApIHsKKwkJZnJlZShuYW1lKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCW5hbWVbc3ogLSAxXSA9ICdcMCc7CisJcmV0dXJuIG5hbWU7CisjZWxzZQorCXJldHVybiBOVUxMOworI2VuZGlmCit9CisKK3N0YXRpYyBjaGFyICpyZWFkX29zX3JlbGVhc2Uoc3RydWN0IG9wdGlvbnMgKm9wLCBjb25zdCBjaGFyICp2YXJuYW1lKQoreworCWludCBmZCA9IC0xOworCXN0cnVjdCBzdGF0IHN0OworCXNpemVfdCB2YXJzeiA9IHN0cmxlbih2YXJuYW1lKTsKKwljaGFyICpwLCAqYnVmID0gTlVMTCwgKnJldCA9IE5VTEw7CisKKwkvKiByZWFkIHRoZSBmaWxlIG9ubHkgb25jZSAqLworCWlmICghb3AtPm9zcmVsZWFzZSkgeworCQlmZCA9IG9wZW4oX1BBVEhfT1NfUkVMRUFTRV9FVEMsIE9fUkRPTkxZKTsKKwkJaWYgKGZkID09IC0xKSB7CisJCQlmZCA9IG9wZW4oX1BBVEhfT1NfUkVMRUFTRV9VU1IsIE9fUkRPTkxZKTsKKwkJCWlmIChmZCA9PSAtMSkgeworCQkJCWxvZ193YXJuKF8oImNhbm5vdCBvcGVuIG9zLXJlbGVhc2UgZmlsZSIpKTsKKwkJCQlyZXR1cm4gTlVMTDsKKwkJCX0KKwkJfQorCisJCWlmIChmc3RhdChmZCwgJnN0KSA8IDAgfHwgc3Quc3Rfc2l6ZSA+IDQgKiAxMDI0ICogMTAyNCkKKwkJCWdvdG8gZG9uZTsKKworCQlvcC0+b3NyZWxlYXNlID0gbWFsbG9jKHN0LnN0X3NpemUgKyAxKTsKKwkJaWYgKCFvcC0+b3NyZWxlYXNlKQorCQkJbG9nX2VycihfKCJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5OiAlbSIpKTsKKwkJaWYgKHJlYWRfYWxsKGZkLCBvcC0+b3NyZWxlYXNlLCBzdC5zdF9zaXplKSAhPSAoc3NpemVfdCkgc3Quc3Rfc2l6ZSkgeworCQkJZnJlZShvcC0+b3NyZWxlYXNlKTsKKwkJCW9wLT5vc3JlbGVhc2UgPSBOVUxMOworCQkJZ290byBkb25lOworCQl9CisJCW9wLT5vc3JlbGVhc2Vbc3Quc3Rfc2l6ZV0gPSAwOworCX0KKwlidWYgPSBzdHJkdXAob3AtPm9zcmVsZWFzZSk7CisJaWYgKCFidWYpCisJCWxvZ19lcnIoXygiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeTogJW0iKSk7CisJcCA9IGJ1ZjsKKworCWZvciAoOzspIHsKKwkJY2hhciAqZW9sLCAqZW9uOworCisJCXAgKz0gc3Ryc3BuKHAsICJcblxyIik7CisJCXAgKz0gc3Ryc3BuKHAsICIgXHRcblxyIik7CisJCWlmICghKnApCisJCQlicmVhazsKKwkJaWYgKHN0cnNwbihwLCAiIztcbiIpICE9IDApIHsKKwkJCXAgKz0gc3RyY3NwbihwLCAiXG5cciIpOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKHN0cm5jbXAocCwgdmFybmFtZSwgdmFyc3opICE9IDApIHsKKwkJCXAgKz0gc3RyY3NwbihwLCAiXG5cciIpOworCQkJY29udGludWU7CisJCX0KKwkJcCArPSB2YXJzejsKKwkJcCArPSBzdHJzcG4ocCwgIiBcdFxuXHI9XCIiKTsKKwkJZW9sID0gcCArIHN0cmNzcG4ocCwgIlxuXHIiKTsKKwkJKmVvbCA9ICdcMCc7CisJCWVvbiA9IGVvbC0xOworCQl3aGlsZSAoZW9uID4gcCkgeworCQkJaWYgKCplb24gPT0gJ1x0JyB8fCAqZW9uID09ICcgJykgeworCQkJCWVvbi0tOworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJaWYgKCplb24gPT0gJyInKSB7CisJCQkJKmVvbiA9ICdcMCc7CisJCQkJYnJlYWs7CisJCQl9CisJCQlicmVhazsKKwkJfQorCQlmcmVlKHJldCk7CisJCXJldCA9IHN0cmR1cChwKTsKKwkJaWYgKCFyZXQpCisJCQlsb2dfZXJyKF8oImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnk6ICVtIikpOworCQlwID0gZW9sICsgMTsKKwl9Citkb25lOgorCWZyZWUoYnVmKTsKKwlpZiAoZmQgPj0gMCkKKwkJY2xvc2UoZmQpOworCXJldHVybiByZXQ7Cit9CisKKyNpZmRlZiBBR0VUVFlfUkVMT0FECitzdGF0aWMgdm9pZCBvcGVuX25ldGxpbmsodm9pZCkKK3sKKwlzdHJ1Y3Qgc29ja2FkZHJfbmwgYWRkciA9IHsgMCwgfTsKKwlpbnQgc29jazsKKworCWlmIChuZXRsaW5rX2ZkICE9IEFHRVRUWV9SRUxPQURfRkROT05FKQorCQlyZXR1cm47CisKKwlzb2NrID0gc29ja2V0KEFGX05FVExJTkssIFNPQ0tfUkFXLCBORVRMSU5LX1JPVVRFKTsKKwlpZiAoc29jayA+PSAwKSB7CisJCWFkZHIubmxfZmFtaWx5ID0gQUZfTkVUTElOSzsKKwkJYWRkci5ubF9waWQgPSBnZXRwaWQoKTsKKwkJYWRkci5ubF9ncm91cHMgPSBSVE1HUlBfSVBWNF9JRkFERFIgfCBSVE1HUlBfSVBWNl9JRkFERFI7CisJCWlmIChiaW5kKHNvY2ssIChzdHJ1Y3Qgc29ja2FkZHIgKikmYWRkciwgc2l6ZW9mKGFkZHIpKSA8IDApCisJCQljbG9zZShzb2NrKTsKKwkJZWxzZQorCQkJbmV0bGlua19mZCA9IHNvY2s7CisJfQorfQorCitzdGF0aWMgaW50IHByb2Nlc3NfbmV0bGlua19tc2coaW50ICpjaGFuZ2VkKQoreworCWNoYXIgYnVmWzQwOTZdOworCXN0cnVjdCBzb2NrYWRkcl9ubCBzbmw7CisJc3RydWN0IG5sbXNnaGRyICpoOworCWludCByYzsKKworCXN0cnVjdCBpb3ZlYyBpb3YgPSB7CisJCS5pb3ZfYmFzZSA9IGJ1ZiwKKwkJLmlvdl9sZW4gPSBzaXplb2YoYnVmKQorCX07CisJc3RydWN0IG1zZ2hkciBtc2cgPSB7CisJCS5tc2dfbmFtZSA9ICZzbmwsCisJCS5tc2dfbmFtZWxlbiA9IHNpemVvZihzbmwpLAorCQkubXNnX2lvdiA9ICZpb3YsCisJCS5tc2dfaW92bGVuID0gMSwKKwkJLm1zZ19jb250cm9sID0gTlVMTCwKKwkJLm1zZ19jb250cm9sbGVuID0gMCwKKwkJLm1zZ19mbGFncyA9IDAKKwl9OworCisJcmMgPSByZWN2bXNnKG5ldGxpbmtfZmQsICZtc2csIE1TR19ET05UV0FJVCk7CisJaWYgKHJjIDwgMCkgeworCQlpZiAoZXJybm8gPT0gRVdPVUxEQkxPQ0sgfHwgZXJybm8gPT0gRUFHQUlOKQorCQkJcmV0dXJuIDA7CisKKwkJLyogRmFpbHVyZSwganVzdCBzdG9wIGxpc3RlbmluZyBmb3IgY2hhbmdlcyAqLworCQljbG9zZShuZXRsaW5rX2ZkKTsKKwkJbmV0bGlua19mZCA9IEFHRVRUWV9SRUxPQURfRkROT05FOworCQlyZXR1cm4gMDsKKwl9CisKKwlmb3IgKGggPSAoc3RydWN0IG5sbXNnaGRyICopYnVmOyBOTE1TR19PSyhoLCAodW5zaWduZWQgaW50KXJjKTsgaCA9IE5MTVNHX05FWFQoaCwgcmMpKSB7CisJCWlmIChoLT5ubG1zZ190eXBlID09IE5MTVNHX0RPTkUgfHwKKwkJICAgIGgtPm5sbXNnX3R5cGUgPT0gTkxNU0dfRVJST1IpIHsKKwkJCWNsb3NlKG5ldGxpbmtfZmQpOworCQkJbmV0bGlua19mZCA9IEFHRVRUWV9SRUxPQURfRkROT05FOworCQkJcmV0dXJuIDA7CisJCX0KKworCQkqY2hhbmdlZCA9IDE7CisJCWJyZWFrOworCX0KKworCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IHByb2Nlc3NfbmV0bGluayh2b2lkKQoreworCWludCBjaGFuZ2VkID0gMDsKKwl3aGlsZSAocHJvY2Vzc19uZXRsaW5rX21zZygmY2hhbmdlZCkpOworCXJldHVybiBjaGFuZ2VkOworfQorCitzdGF0aWMgaW50IHdhaXRfZm9yX3Rlcm1faW5wdXQoaW50IGZkKQoreworCWNoYXIgYnVmZmVyW3NpemVvZihzdHJ1Y3QgaW5vdGlmeV9ldmVudCkgKyBOQU1FX01BWCArIDFdOworCXN0cnVjdCB0ZXJtaW9zIG9yaWcsIG5vbmM7CisJZmRfc2V0IHJmZHM7CisJaW50IGNvdW50LCBpOworCisJLyogT3VyIGFpbSBoZXJlIGlzIHRvIGZhbGwgdGhyb3VnaCBpZiBzb21ldGhpbmcgZmFpbHMKKyAgICAgICAgICogYW5kIG5vdCBiZSBzdHVjayB3YWl0aW5nLiBPbiBmYWlsdXJlIGFzc3VtZSB3ZSBoYXZlIGlucHV0ICovCisKKwlpZiAodGNnZXRhdHRyKGZkLCAmb3JpZykgIT0gMCkKKwkJcmV0dXJuIDE7CisKKwltZW1jcHkoJm5vbmMsICZvcmlnLCBzaXplb2YgKG5vbmMpKTsKKwlub25jLmNfbGZsYWcgJj0gfihJQ0FOT04gfCBFQ0hPIHwgRUNIT0UgfCBFQ0hPSyB8IEVDSE9LRSk7CisJbm9uYy5jX2NjW1ZNSU5dID0gMTsKKwlub25jLmNfY2NbVlRJTUVdID0gMDsKKworCWlmICh0Y3NldGF0dHIoZmQsIFRDU0FOT1csICZub25jKSAhPSAwKQorCQlyZXR1cm4gMTsKKworCWlmIChpbm90aWZ5X2ZkID09IEFHRVRUWV9SRUxPQURfRkROT05FKSB7CisJCS8qIG1ha2Ugc3VyZSB0aGUgcmVsb2FkIHRyaWdnZXIgZmlsZSBleGlzdHMgKi8KKwkJaW50IHJlbG9hZF9mZCA9IG9wZW4oQUdFVFRZX1JFTE9BRF9GSUxFTkFNRSwKKwkJCQkJT19DUkVBVHxPX0NMT0VYRUN8T19SRE9OTFksCisJCQkJCVNfSVJVU1J8U19JV1VTUik7CisKKwkJLyogaW5pdGlhbGl6ZSByZWxvYWQgdHJpZ2dlciBpbm90aWZ5IHN0dWZmICovCisJCWlmIChyZWxvYWRfZmQgPj0gMCkgeworCQkJaW5vdGlmeV9mZCA9IGlub3RpZnlfaW5pdDEoSU5fTk9OQkxPQ0sgfCBJTl9DTE9FWEVDKTsKKwkJCWlmIChpbm90aWZ5X2ZkID4gMCkKKwkJCQlpbm90aWZ5X2FkZF93YXRjaChpbm90aWZ5X2ZkLCBBR0VUVFlfUkVMT0FEX0ZJTEVOQU1FLAorCQkJCQkgIElOX0FUVFJJQiB8IElOX01PRElGWSk7CisKKwkJCWNsb3NlKHJlbG9hZF9mZCk7CisJCX0gZWxzZQorCQkJbG9nX3dhcm4oXygiZmFpbGVkIHRvIGNyZWF0ZSByZWxvYWQgZmlsZTogJXM6ICVtIiksCisJCQkJCUFHRVRUWV9SRUxPQURfRklMRU5BTUUpOworCX0KKworCXdoaWxlICgxKSB7CisJCWludCBuZmRzID0gZmQ7CisKKwkJRkRfWkVSTygmcmZkcyk7CisJCUZEX1NFVChmZCwgJnJmZHMpOworCisJCWlmIChpbm90aWZ5X2ZkID49IDApIHsKKwkJCUZEX1NFVChpbm90aWZ5X2ZkLCAmcmZkcyk7CisJCQluZmRzID0gbWF4KG5mZHMsIGlub3RpZnlfZmQpOworCQl9CisJCWlmIChuZXRsaW5rX2ZkID49IDApIHsKKwkJCUZEX1NFVChuZXRsaW5rX2ZkLCAmcmZkcyk7CisJCQluZmRzID0gbWF4KG5mZHMsIG5ldGxpbmtfZmQpOworCQl9CisKKwkJLyogSWYgd2FpdGluZyBmYWlscywganVzdCBmYWxsIHRocm91Z2gsIHByZXN1bWFibHkgcmVhZGluZyBpbnB1dCB3aWxsIGZhaWwgKi8KKwkJaWYgKHNlbGVjdChuZmRzICsgMSwgJnJmZHMsIE5VTEwsIE5VTEwsIE5VTEwpIDwgMCkKKwkJCXJldHVybiAxOworCisJCWlmIChGRF9JU1NFVChmZCwgJnJmZHMpKSB7CisJCQljb3VudCA9IHJlYWQoZmQsIGJ1ZmZlciwgc2l6ZW9mIChidWZmZXIpKTsKKworCQkJdGNzZXRhdHRyKGZkLCBUQ1NBTk9XLCAmb3JpZyk7CisKKwkJCS8qIFJlaW5qZWN0IHRoZSBieXRlcyB3ZSByZWFkIGJhY2sgaW50byB0aGUgYnVmZmVyLCB1c3VhbGx5IGp1c3Qgb25lIGJ5dGUgKi8KKwkJCWZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKQorCQkJCWlvY3RsKGZkLCBUSU9DU1RJLCBidWZmZXIgKyBpKTsKKworCQkJLyogSGF2ZSB0ZXJtaW5hbCBpbnB1dCAqLworCQkJcmV0dXJuIDE7CisKKwkJfSBlbHNlIGlmIChuZXRsaW5rX2ZkID49IDAgJiYgRkRfSVNTRVQobmV0bGlua19mZCwgJnJmZHMpKSB7CisJCQlpZiAoIXByb2Nlc3NfbmV0bGluaygpKQorCQkJCWNvbnRpbnVlOworCisJCS8qIEp1c3QgZHJhaW4gdGhlIGlub3RpZnkgYnVmZmVyICovCisJCX0gZWxzZSBpZiAoaW5vdGlmeV9mZCA+PSAwICYmIEZEX0lTU0VUKGlub3RpZnlfZmQsICZyZmRzKSkgeworCQkJd2hpbGUgKHJlYWQoaW5vdGlmeV9mZCwgYnVmZmVyLCBzaXplb2YgKGJ1ZmZlcikpID4gMCk7CisJCX0KKworCQl0Y3NldGF0dHIoZmQsIFRDU0FOT1csICZvcmlnKTsKKworCQkvKiBOZWVkIHRvIHJlcHJvbXB0ICovCisJCXJldHVybiAwOworCX0KK30KKyNlbmRpZiAgLyogQUdFVFRZX1JFTE9BRCAqLworc3RhdGljIHZvaWQgcHJpbnRfaXNzdWVfZmlsZShzdHJ1Y3Qgb3B0aW9ucyAqb3AsIHN0cnVjdCB0ZXJtaW9zICp0cCkKK3sKKyNpZmRlZglJU1NVRQorCUZJTEUgKmZkOworI2VuZGlmCisJaWYgKChvcC0+ZmxhZ3MgJiBGX05PTkwpID09IDApIHsKKwkJLyogSXNzdWUgbm90IGluIHVzZSwgc3RhcnQgd2l0aCBhIG5ldyBsaW5lLiAqLworCQl3cml0ZV9hbGwoU1RET1VUX0ZJTEVOTywgIlxyXG4iLCAyKTsKKwl9CisKKyNpZmRlZglJU1NVRQorCWlmICgob3AtPmZsYWdzICYgRl9JU1NVRSkgJiYgKGZkID0gZm9wZW4ob3AtPmlzc3VlLCAiciIpKSkgeworCQlpbnQgYywgb2ZsYWcgPSB0cC0+Y19vZmxhZzsJICAgIC8qIFNhdmUgY3VycmVudCBzZXR0aW5nLiAqLworCisJCWlmICgob3AtPmZsYWdzICYgRl9WQ09OU09MRSkgPT0gMCkgeworCQkJLyogTWFwIG5ldyBsaW5lIGluIG91dHB1dCB0byBjYXJyaWFnZSByZXR1cm4gJiBuZXcgbGluZS4gKi8KKwkJCXRwLT5jX29mbGFnIHw9IChPTkxDUiB8IE9QT1NUKTsKKwkJCXRjc2V0YXR0cihTVERJTl9GSUxFTk8sIFRDU0FEUkFJTiwgdHApOworCQl9CisKKwkJd2hpbGUgKChjID0gZ2V0YyhmZCkpICE9IEVPRikgeworCQkJaWYgKGMgPT0gJ1xcJykKKwkJCQlvdXRwdXRfc3BlY2lhbF9jaGFyKGdldGMoZmQpLCBvcCwgdHAsIGZkKTsKKwkJCWVsc2UKKwkJCQlwdXRjaGFyKGMpOworCQl9CisJCWZmbHVzaChzdGRvdXQpOworCisJCWlmICgob3AtPmZsYWdzICYgRl9WQ09OU09MRSkgPT0gMCkgeworCQkJLyogUmVzdG9yZSBzZXR0aW5ncy4gKi8KKwkJCXRwLT5jX29mbGFnID0gb2ZsYWc7CisJCQkvKiBXYWl0IHRpbGwgb3V0cHV0IGlzIGdvbmUuICovCisJCQl0Y3NldGF0dHIoU1RESU5fRklMRU5PLCBUQ1NBRFJBSU4sIHRwKTsKKwkJfQorCQlmY2xvc2UoZmQpOworCX0KKyNlbmRpZgkvKiBJU1NVRSAqLworfQorCisvKiBTaG93IGxvZ2luIHByb21wdCwgb3B0aW9uYWxseSBwcmVjZWRlZCBieSAvZXRjL2lzc3VlIGNvbnRlbnRzLiAqLworc3RhdGljIHZvaWQgZG9fcHJvbXB0KHN0cnVjdCBvcHRpb25zICpvcCwgc3RydWN0IHRlcm1pb3MgKnRwKQoreworI2lmZGVmIEFHRVRUWV9SRUxPQUQKK2FnYWluOgorI2VuZGlmCisJcHJpbnRfaXNzdWVfZmlsZShvcCwgdHApOworCisJaWYgKG9wLT5mbGFncyAmIEZfTE9HSU5QQVVTRSkgeworCQlwdXRzKF8oIltwcmVzcyBFTlRFUiB0byBsb2dpbl0iKSk7CisjaWZkZWYgQUdFVFRZX1JFTE9BRAorCQlpZiAoIXdhaXRfZm9yX3Rlcm1faW5wdXQoU1RESU5fRklMRU5PKSkgeworCQkJLyogcmVsb2FkIGlzc3VlICovCisJCQlpZiAob3AtPmZsYWdzICYgRl9WQ09OU09MRSkKKwkJCQl0ZXJtaW9fY2xlYXIoU1RET1VUX0ZJTEVOTyk7CisJCQlnb3RvIGFnYWluOworCQl9CisjZW5kaWYKKwkJZ2V0YyhzdGRpbik7CisJfQorI2lmZGVmIEtER0tCTEVECisJaWYgKCEob3AtPmZsYWdzICYgRl9OT0hJTlRTKSAmJiAhb3AtPmF1dG9sb2cgJiYKKwkgICAgKG9wLT5mbGFncyAmIEZfVkNPTlNPTEUpKSB7CisJCWludCBrYiA9IDA7CisKKwkJaWYgKGlvY3RsKFNURElOX0ZJTEVOTywgS0RHS0JMRUQsICZrYikgPT0gMCkgeworCQkJY2hhciBoaW50WzI1Nl0gPSB7ICdcMCcgfTsKKwkJCWludCBubCA9IDA7CisKKwkJCWlmIChhY2Nlc3MoX1BBVEhfTlVNTE9DS19PTiwgRl9PSykgPT0gMCkKKwkJCQlubCA9IDE7CisKKwkJCWlmIChubCAmJiAoa2IgJiAweDAyKSA9PSAwKQorCQkJCWFwcGVuZChoaW50LCBzaXplb2YoaGludCksIE5VTEwsIF8oIk51bSBMb2NrIG9mZiIpKTsKKworCQkJZWxzZSBpZiAobmwgPT0gMCAmJiAoa2IgJiAyKSAmJiAoa2IgJiAweDIwKSA9PSAwKQorCQkJCWFwcGVuZChoaW50LCBzaXplb2YoaGludCksIE5VTEwsIF8oIk51bSBMb2NrIG9uIikpOworCisJCQlpZiAoKGtiICYgMHgwNCkgJiYgKGtiICYgMHg0MCkgPT0gMCkKKwkJCQlhcHBlbmQoaGludCwgc2l6ZW9mKGhpbnQpLCAiLCAiLCBfKCJDYXBzIExvY2sgb24iKSk7CisKKwkJCWlmICgoa2IgJiAweDAxKSAmJiAoa2IgJiAweDEwKSA9PSAwKQorCQkJCWFwcGVuZChoaW50LCBzaXplb2YoaGludCksICIsICIsICBfKCJTY3JvbGwgTG9jayBvbiIpKTsKKworCQkJaWYgKCpoaW50KQorCQkJCXByaW50ZihfKCJIaW50OiAlc1xuXG4iKSwgaGludCk7CisJCX0KKwl9CisjZW5kaWYgLyogS0RHS0JMRUQgKi8KKwlpZiAoKG9wLT5mbGFncyAmIEZfTk9IT1NUTkFNRSkgPT0gMCkgeworCQljaGFyICpobiA9IHhnZXRob3N0bmFtZSgpOworCisJCWlmIChobikgeworCQkJY2hhciAqZG90ID0gc3RyY2hyKGhuLCAnLicpOworCQkJY2hhciAqY24gPSBobjsKKwkJCXN0cnVjdCBhZGRyaW5mbyAqcmVzID0gTlVMTDsKKworCQkJaWYgKChvcC0+ZmxhZ3MgJiBGX0xPTkdITkFNRSkgPT0gMCkgeworCQkJCWlmIChkb3QpCisJCQkJCSpkb3QgPSAnXDAnOworCisJCQl9IGVsc2UgaWYgKGRvdCA9PSBOVUxMKSB7CisJCQkJc3RydWN0IGFkZHJpbmZvIGhpbnRzOworCisJCQkJbWVtc2V0KCZoaW50cywgMCwgc2l6ZW9mKGhpbnRzKSk7CisJCQkJaGludHMuYWlfZmxhZ3MgPSBBSV9DQU5PTk5BTUU7CisKKwkJCQlpZiAoIWdldGFkZHJpbmZvKGhuLCBOVUxMLCAmaGludHMsICZyZXMpCisJCQkJICAgICYmIHJlcyAmJiByZXMtPmFpX2Nhbm9ubmFtZSkKKwkJCQkJY24gPSByZXMtPmFpX2Nhbm9ubmFtZTsKKwkJCX0KKworCQkJd3JpdGVfYWxsKFNURE9VVF9GSUxFTk8sIGNuLCBzdHJsZW4oY24pKTsKKwkJCXdyaXRlX2FsbChTVERPVVRfRklMRU5PLCAiICIsIDEpOworCisJCQlpZiAocmVzKQorCQkJCWZyZWVhZGRyaW5mbyhyZXMpOworCQkJZnJlZShobik7CisJCX0KKwl9CisJaWYgKCFvcC0+YXV0b2xvZykgeworCQkvKiBBbHdheXMgc2hvdyBsb2dpbiBwcm9tcHQuICovCisJCXdyaXRlX2FsbChTVERPVVRfRklMRU5PLCBMT0dJTiwgc2l6ZW9mKExPR0lOKSAtIDEpOworCX0KK30KKworLyogU2VsZWN0IG5leHQgYmF1ZCByYXRlLiAqLworc3RhdGljIHZvaWQgbmV4dF9zcGVlZChzdHJ1Y3Qgb3B0aW9ucyAqb3AsIHN0cnVjdCB0ZXJtaW9zICp0cCkKK3sKKwlzdGF0aWMgaW50IGJhdWRfaW5kZXggPSAtMTsKKworCWlmIChiYXVkX2luZGV4ID09IC0xKQorCQkvKgorCQkgKiBJZiB0aGUgRl9LRUVQU1BFRUQgZmxhZ3MgaXMgc2V0IHRoZW4gdGhlIEZJUlNUX1NQRUVEIGlzIG5vdAorCQkgKiB0ZXN0ZWQgeWV0IChzZWUgdGVybWlvX2luaXQoKSkuCisJCSAqLworCQliYXVkX2luZGV4ID0KKwkJICAgIChvcC0+ZmxhZ3MgJiBGX0tFRVBTUEVFRCkgPyBGSVJTVF9TUEVFRCA6IDEgJSBvcC0+bnVtc3BlZWQ7CisJZWxzZQorCQliYXVkX2luZGV4ID0gKGJhdWRfaW5kZXggKyAxKSAlIG9wLT5udW1zcGVlZDsKKworCWNmc2V0aXNwZWVkKHRwLCBvcC0+c3BlZWRzW2JhdWRfaW5kZXhdKTsKKwljZnNldG9zcGVlZCh0cCwgb3AtPnNwZWVkc1tiYXVkX2luZGV4XSk7CisJdGNzZXRhdHRyKFNURElOX0ZJTEVOTywgVENTQU5PVywgdHApOworfQorCisvKiBHZXQgdXNlciBuYW1lLCBlc3RhYmxpc2ggcGFyaXR5LCBzcGVlZCwgZXJhc2UsIGtpbGwgJiBlb2wuICovCitzdGF0aWMgY2hhciAqZ2V0X2xvZ25hbWUoc3RydWN0IG9wdGlvbnMgKm9wLCBzdHJ1Y3QgdGVybWlvcyAqdHAsIHN0cnVjdCBjaGFyZGF0YSAqY3ApCit7CisJc3RhdGljIGNoYXIgbG9nbmFtZVtCVUZTSVpdOworCWNoYXIgKmJwOworCWNoYXIgYzsJCQkvKiBpbnB1dCBjaGFyYWN0ZXIsIGZ1bGwgZWlnaHQgYml0cyAqLworCWNoYXIgYXNjdmFsOwkJLyogbG93IDcgYml0cyBvZiBpbnB1dCBjaGFyYWN0ZXIgKi8KKwlpbnQgZWlnaHRiaXQ7CisJc3RhdGljIGNoYXIgKmVyYXNlW10gPSB7CS8qIGJhY2tzcGFjZS1zcGFjZS1iYWNrc3BhY2UgKi8KKwkJIlwwMTBcMDQwXDAxMCIsCQkvKiBzcGFjZSBwYXJpdHkgKi8KKwkJIlwwMTBcMDQwXDAxMCIsCQkvKiBvZGQgcGFyaXR5ICovCisJCSJcMjEwXDI0MFwyMTAiLAkJLyogZXZlbiBwYXJpdHkgKi8KKwkJIlwyMTBcMjQwXDIxMCIsCQkvKiBubyBwYXJpdHkgKi8KKwl9OworCisJLyogSW5pdGlhbGl6ZSBraWxsLCBlcmFzZSwgcGFyaXR5IGV0Yy4gKGFsc28gYWZ0ZXIgc3dpdGNoaW5nIHNwZWVkcykuICovCisJSU5JVF9DSEFSREFUQShjcCk7CisKKwkvKgorCSAqIEZsdXNoIHBlbmRpbmcgaW5wdXQgKGVzcGVjaWFsbHkgaW1wb3J0YW50IGFmdGVyIHBhcnNpbmcgb3Igc3dpdGNoaW5nCisJICogdGhlIGJhdWQgcmF0ZSkuCisJICovCisJaWYgKChvcC0+ZmxhZ3MgJiBGX1ZDT05TT0xFKSA9PSAwKQorCQlzbGVlcCgxKTsKKwl0Y2ZsdXNoKFNURElOX0ZJTEVOTywgVENJRkxVU0gpOworCisJZWlnaHRiaXQgPSAob3AtPmZsYWdzICYgRl9FSUdIVEJJVFMpOworCWJwID0gbG9nbmFtZTsKKwkqYnAgPSAnXDAnOworCisJd2hpbGUgKCpsb2duYW1lID09ICdcMCcpIHsKKworCQkvKiBXcml0ZSBpc3N1ZSBmaWxlIGFuZCBwcm9tcHQgKi8KKwkJZG9fcHJvbXB0KG9wLCB0cCk7CisKKyNpZmRlZiBBR0VUVFlfUkVMT0FECisJCS8qIElmIGFza2VkIHRvIHJlcHJvbXB0ICpiZWZvcmUqIHRlcm1pbmFsIGlucHV0IGFycml2ZXMsIHRoZW4gZG8gc28gKi8KKwkJaWYgKCF3YWl0X2Zvcl90ZXJtX2lucHV0KFNURElOX0ZJTEVOTykpIHsKKwkJCWlmIChvcC0+ZmxhZ3MgJiBGX1ZDT05TT0xFKQorCQkJCXRlcm1pb19jbGVhcihTVERPVVRfRklMRU5PKTsKKwkJCWNvbnRpbnVlOworCQl9CisjZW5kaWYKKwkJY3AtPmVvbCA9ICdcMCc7CisKKwkJLyogUmVhZCBuYW1lLCB3YXRjaCBmb3IgYnJlYWsgYW5kIGVuZC1vZi1saW5lLiAqLworCQl3aGlsZSAoY3AtPmVvbCA9PSAnXDAnKSB7CisKKwkJCWNoYXIga2V5OworCisJCQlpZiAocmVhZChTVERJTl9GSUxFTk8sICZjLCAxKSA8IDEpIHsKKworCQkJCS8qIFRoZSB0ZXJtaW5hbCBjb3VsZCBiZSBvcGVuIHdpdGggT19OT05CTE9DSyB3aGVuCisJCQkJICogLUwgKGZvcmNlIENMT0NBTCkgaXMgc3BlY2lmaWVkLi4uICAqLworCQkJCWlmIChlcnJubyA9PSBFSU5UUiB8fCBlcnJubyA9PSBFQUdBSU4pIHsKKwkJCQkJeHVzbGVlcCgyNTAwMDApOworCQkJCQljb250aW51ZTsKKwkJCQl9CisJCQkJc3dpdGNoIChlcnJubykgeworCQkJCWNhc2UgMDoKKwkJCQljYXNlIEVJTzoKKwkJCQljYXNlIEVTUkNIOgorCQkJCWNhc2UgRUlOVkFMOgorCQkJCWNhc2UgRU5PRU5UOgorCQkJCQlicmVhazsKKwkJCQlkZWZhdWx0OgorCQkJCQlsb2dfZXJyKF8oIiVzOiByZWFkOiAlbSIpLCBvcC0+dHR5KTsKKwkJCQl9CisJCQl9CisKKwkJCS8qIERvIHBhcml0eSBiaXQgaGFuZGxpbmcuICovCisJCQlpZiAoZWlnaHRiaXQpCisJCQkJYXNjdmFsID0gYzsKKwkJCWVsc2UgaWYgKGMgIT0gKGFzY3ZhbCA9IChjICYgMDE3NykpKSB7CisJCQkJdWludDMyX3QgYml0czsJCQkvKiAjIG9mICIxIiBiaXRzIHBlciBjaGFyYWN0ZXIgKi8KKwkJCQl1aW50MzJfdCBtYXNrOwkJCS8qIG1hc2sgd2l0aCAxIGJpdCB1cCAqLworCQkJCWZvciAoYml0cyA9IDEsIG1hc2sgPSAxOyBtYXNrICYgMDE3NzsgbWFzayA8PD0gMSkgeworCQkJCQlpZiAobWFzayAmIGFzY3ZhbCkKKwkJCQkJCWJpdHMrKzsKKwkJCQl9CisJCQkJY3AtPnBhcml0eSB8PSAoKGJpdHMgJiAxKSA/IDEgOiAyKTsKKwkJCX0KKworCQkJaWYgKG9wLT5raWxsY2hhcnMgJiYgc3RyY2hyKG9wLT5raWxsY2hhcnMsIGFzY3ZhbCkpCisJCQkJa2V5ID0gQ1RMKCdVJyk7CisJCQllbHNlIGlmIChvcC0+ZXJhc2VjaGFycyAmJiBzdHJjaHIob3AtPmVyYXNlY2hhcnMsIGFzY3ZhbCkpCisJCQkJa2V5ID0gREVMOworCQkJZWxzZQorCQkJCWtleSA9IGFzY3ZhbDsKKworCQkJLyogRG8gZXJhc2UsIGtpbGwgYW5kIGVuZC1vZi1saW5lIHByb2Nlc3NpbmcuICovCisJCQlzd2l0Y2ggKGtleSkgeworCQkJY2FzZSAwOgorCQkJCSpicCA9IDA7CisJCQkJaWYgKG9wLT5udW1zcGVlZCA+IDEpCisJCQkJCXJldHVybiBOVUxMOworCQkJCWJyZWFrOworCQkJY2FzZSBDUjoKKwkJCWNhc2UgTkw6CisJCQkJKmJwID0gMDsJCQkvKiB0ZXJtaW5hdGUgbG9nbmFtZSAqLworCQkJCWNwLT5lb2wgPSBhc2N2YWw7CQkvKiBzZXQgZW5kLW9mLWxpbmUgY2hhciAqLworCQkJCWJyZWFrOworCQkJY2FzZSBCUzoKKwkJCWNhc2UgREVMOgorCQkJCWNwLT5lcmFzZSA9IGFzY3ZhbDsgLyogc2V0IGVyYXNlIGNoYXJhY3RlciAqLworCQkJCWlmIChicCA+IGxvZ25hbWUpIHsKKwkJCQkJaWYgKCh0cC0+Y19sZmxhZyAmIEVDSE8pID09IDApCisJCQkJCQl3cml0ZV9hbGwoMSwgZXJhc2VbY3AtPnBhcml0eV0sIDMpOworCQkJCQlicC0tOworCQkJCX0KKwkJCQlicmVhazsKKwkJCWNhc2UgQ1RMKCdVJyk6CisJCQkJY3AtPmtpbGwgPSBhc2N2YWw7CQkvKiBzZXQga2lsbCBjaGFyYWN0ZXIgKi8KKwkJCQl3aGlsZSAoYnAgPiBsb2duYW1lKSB7CisJCQkJCWlmICgodHAtPmNfbGZsYWcgJiBFQ0hPKSA9PSAwKQorCQkJCQkJd3JpdGVfYWxsKDEsIGVyYXNlW2NwLT5wYXJpdHldLCAzKTsKKwkJCQkJYnAtLTsKKwkJCQl9CisJCQkJYnJlYWs7CisJCQljYXNlIENUTCgnRCcpOgorCQkJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwkJCWRlZmF1bHQ6CisJCQkJaWYgKCFpc2FzY2lpKGFzY3ZhbCkgfHwgIWlzcHJpbnQoYXNjdmFsKSkKKwkJCQkJYnJlYWs7CisJCQkJaWYgKChzaXplX3QpKGJwIC0gbG9nbmFtZSkgPj0gc2l6ZW9mKGxvZ25hbWUpIC0gMSkKKwkJCQkJbG9nX2VycihfKCIlczogaW5wdXQgb3ZlcnJ1biIpLCBvcC0+dHR5KTsKKwkJCQlpZiAoKHRwLT5jX2xmbGFnICYgRUNITykgPT0gMCkKKwkJCQkJd3JpdGVfYWxsKDEsICZjLCAxKTsJLyogZWNobyB0aGUgY2hhcmFjdGVyICovCisJCQkJKmJwKysgPSBhc2N2YWw7CQkJLyogYW5kIHN0b3JlIGl0ICovCisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwl9CisjaWZkZWYgSEFWRV9XSURFQ0hBUgorCWlmICgob3AtPmZsYWdzICYgKEZfRUlHSFRCSVRTfEZfVVRGOCkpID09IChGX0VJR0hUQklUU3xGX1VURjgpKSB7CisJCS8qIENoZWNrIG91dCBVVEYtOCBtdWx0aWJ5dGUgY2hhcmFjdGVycyAqLworCQlzc2l6ZV90IGxlbjsKKwkJd2NoYXJfdCAqd2NzLCAqd2NwOworCisJCWxlbiA9IG1ic3Rvd2NzKCh3Y2hhcl90ICopMCwgbG9nbmFtZSwgMCk7CisJCWlmIChsZW4gPCAwKQorCQkJbG9nX2VycihfKCIlczogaW52YWxpZCBjaGFyYWN0ZXIgY29udmVyc2lvbiBmb3IgbG9naW4gbmFtZSIpLCBvcC0+dHR5KTsKKworCQl3Y3MgPSBtYWxsb2MoKGxlbiArIDEpICogc2l6ZW9mKHdjaGFyX3QpKTsKKwkJaWYgKCF3Y3MpCisJCQlsb2dfZXJyKF8oImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnk6ICVtIikpOworCisJCWxlbiA9IG1ic3Rvd2NzKHdjcywgbG9nbmFtZSwgbGVuICsgMSk7CisJCWlmIChsZW4gPCAwKQorCQkJbG9nX2VycihfKCIlczogaW52YWxpZCBjaGFyYWN0ZXIgY29udmVyc2lvbiBmb3IgbG9naW4gbmFtZSIpLCBvcC0+dHR5KTsKKworCQl3Y3AgPSB3Y3M7CisJCXdoaWxlICgqd2NwKSB7CisJCQljb25zdCB3aW50X3Qgd2MgPSAqd2NwKys7CisJCQlpZiAoIWlzd3ByaW50KHdjKSkKKwkJCQlsb2dfZXJyKF8oIiVzOiBpbnZhbGlkIGNoYXJhY3RlciAweCV4IGluIGxvZ2luIG5hbWUiKSwgb3AtPnR0eSwgd2MpOworCQl9CisJCWZyZWUod2NzKTsKKwl9IGVsc2UKKyNlbmRpZgorCWlmICgob3AtPmZsYWdzICYgRl9MQ1VDKSAmJiAoY3AtPmNhcHNsb2NrID0gY2Fwc19sb2NrKGxvZ25hbWUpKSkgeworCisJCS8qIEhhbmRsZSBuYW1lcyB3aXRoIHVwcGVyIGNhc2UgYW5kIG5vIGxvd2VyIGNhc2UuICovCisJCWZvciAoYnAgPSBsb2duYW1lOyAqYnA7IGJwKyspCisJCQlpZiAoaXN1cHBlcigqYnApKQorCQkJCSpicCA9IHRvbG93ZXIoKmJwKTsJCS8qIG1hcCBuYW1lIHRvIGxvd2VyIGNhc2UgKi8KKwl9CisKKwlyZXR1cm4gbG9nbmFtZTsKK30KKworLyogU2V0IHRoZSBmaW5hbCB0dHkgbW9kZSBiaXRzLiAqLworc3RhdGljIHZvaWQgdGVybWlvX2ZpbmFsKHN0cnVjdCBvcHRpb25zICpvcCwgc3RydWN0IHRlcm1pb3MgKnRwLCBzdHJ1Y3QgY2hhcmRhdGEgKmNwKQoreworCS8qIEdlbmVyYWwgdGVybWluYWwtaW5kZXBlbmRlbnQgc3R1ZmYuICovCisKKwkvKiAyLXdheSBmbG93IGNvbnRyb2wgKi8KKwl0cC0+Y19pZmxhZyB8PSBJWE9OIHwgSVhPRkY7CisJdHAtPmNfbGZsYWcgfD0gSUNBTk9OIHwgSVNJRyB8IEVDSE8gfCBFQ0hPRSB8IEVDSE9LIHwgRUNIT0tFOworCS8qIG5vIGxvbmdlcnwgRUNIT0NUTCB8IEVDSE9QUlQgKi8KKwl0cC0+Y19vZmxhZyB8PSBPUE9TVDsKKwkvKiB0cC0+Y19jZmxhZyA9IDA7ICovCisJdHAtPmNfY2NbVklOVFJdID0gREVGX0lOVFI7CisJdHAtPmNfY2NbVlFVSVRdID0gREVGX1FVSVQ7CisJdHAtPmNfY2NbVkVPRl0gPSBERUZfRU9GOworCXRwLT5jX2NjW1ZFT0xdID0gREVGX0VPTDsKKyNpZmRlZiBfX2xpbnV4X18KKwl0cC0+Y19jY1tWU1dUQ10gPSBERUZfU1dJVENIOworI2VsaWYgZGVmaW5lZChWU1dUQ0gpCisJdHAtPmNfY2NbVlNXVENIXSA9IERFRl9TV0lUQ0g7CisjZW5kaWYJCQkJLyogX19saW51eF9fICovCisKKwkvKiBBY2NvdW50IGZvciBzcGVjaWFsIGNoYXJhY3RlcnMgc2VlbiBpbiBpbnB1dC4gKi8KKwlpZiAoY3AtPmVvbCA9PSBDUikgeworCQl0cC0+Y19pZmxhZyB8PSBJQ1JOTDsKKwkJdHAtPmNfb2ZsYWcgfD0gT05MQ1I7CisJfQorCXRwLT5jX2NjW1ZFUkFTRV0gPSBjcC0+ZXJhc2U7CisJdHAtPmNfY2NbVktJTExdID0gY3AtPmtpbGw7CisKKwkvKiBBY2NvdW50IGZvciB0aGUgcHJlc2VuY2Ugb3IgYWJzZW5jZSBvZiBwYXJpdHkgYml0cyBpbiBpbnB1dC4gKi8KKwlzd2l0Y2ggKGNwLT5wYXJpdHkpIHsKKwljYXNlIDA6CisJCS8qIHNwYWNlIChhbHdheXMgMCkgcGFyaXR5ICovCisJCWJyZWFrOworCWNhc2UgMToKKwkJLyogb2RkIHBhcml0eSAqLworCQl0cC0+Y19jZmxhZyB8PSBQQVJPREQ7CisJCS8qIGRvIG5vdCBicmVhayAqLworCWNhc2UgMjoKKwkJLyogZXZlbiBwYXJpdHkgKi8KKwkJdHAtPmNfY2ZsYWcgfD0gUEFSRU5COworCQl0cC0+Y19pZmxhZyB8PSBJTlBDSyB8IElTVFJJUDsKKwkJLyogZG8gbm90IGJyZWFrICovCisJY2FzZSAoMSB8IDIpOgorCQkvKiBubyBwYXJpdHkgYml0ICovCisJCXRwLT5jX2NmbGFnICY9IH5DU0laRTsKKwkJdHAtPmNfY2ZsYWcgfD0gQ1M3OworCQlicmVhazsKKwl9CisJLyogQWNjb3VudCBmb3IgdXBwZXIgY2FzZSB3aXRob3V0IGxvd2VyIGNhc2UuICovCisJaWYgKGNwLT5jYXBzbG9jaykgeworI2lmZGVmIElVQ0xDCisJCXRwLT5jX2lmbGFnIHw9IElVQ0xDOworI2VuZGlmCisjaWZkZWYgWENBU0UKKwkJdHAtPmNfbGZsYWcgfD0gWENBU0U7CisjZW5kaWYKKyNpZmRlZiBPTENVQworCQl0cC0+Y19vZmxhZyB8PSBPTENVQzsKKyNlbmRpZgorCX0KKwkvKiBPcHRpb25hbGx5IGVuYWJsZSBoYXJkd2FyZSBmbG93IGNvbnRyb2wuICovCisjaWZkZWYJQ1JUU0NUUworCWlmIChvcC0+ZmxhZ3MgJiBGX1JUU0NUUykKKwkJdHAtPmNfY2ZsYWcgfD0gQ1JUU0NUUzsKKyNlbmRpZgorCisJLyogRmluYWxseSwgbWFrZSB0aGUgbmV3IHNldHRpbmdzIGVmZmVjdGl2ZS4gKi8KKwlpZiAodGNzZXRhdHRyKFNURElOX0ZJTEVOTywgVENTQU5PVywgdHApIDwgMCkKKwkJbG9nX2VycihfKCIlczogZmFpbGVkIHRvIHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIpLCBvcC0+dHR5KTsKK30KKworLyoKKyAqIFN0cmluZyBjb250YWlucyB1cHBlciBjYXNlIHdpdGhvdXQgbG93ZXIgY2FzZS4KKyAqIGh0dHA6Ly9idWdzLmRlYmlhbi5vcmcvY2dpLWJpbi9idWdyZXBvcnQuY2dpP2J1Zz01Mjk0MAorICogaHR0cDovL2J1Z3MuZGViaWFuLm9yZy9jZ2ktYmluL2J1Z3JlcG9ydC5jZ2k/YnVnPTE1NjI0MgorICovCitzdGF0aWMgaW50IGNhcHNfbG9jayhjaGFyICpzKQoreworCWludCBjYXBzbG9jazsKKworCWZvciAoY2Fwc2xvY2sgPSAwOyAqczsgcysrKSB7CisJCWlmIChpc2xvd2VyKCpzKSkKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWlmIChjYXBzbG9jayA9PSAwKQorCQkJY2Fwc2xvY2sgPSBpc3VwcGVyKCpzKTsKKwl9CisJcmV0dXJuIGNhcHNsb2NrOworfQorCisvKiBDb252ZXJ0IHNwZWVkIHN0cmluZyB0byBzcGVlZCBjb2RlOyByZXR1cm4gMCBvbiBmYWlsdXJlLiAqLworc3RhdGljIHNwZWVkX3QgYmNvZGUoY2hhciAqcykKK3sKKwljb25zdCBzdHJ1Y3QgU3BlZWR0YWIgKnNwOworCWxvbmcgc3BlZWQgPSBhdG9sKHMpOworCisJZm9yIChzcCA9IHNwZWVkdGFiOyBzcC0+c3BlZWQ7IHNwKyspCisJCWlmIChzcC0+c3BlZWQgPT0gc3BlZWQpCisJCQlyZXR1cm4gc3AtPmNvZGU7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKSB1c2FnZShGSUxFICpvdXQpCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJTEkcyBbb3B0aW9uc10gPGxpbmU+IFs8YmF1ZF9yYXRlPiwuLi5dIFs8dGVybXR5cGU+XVxuIgorCQkgICAgICAgIiAlMSRzIFtvcHRpb25zXSA8YmF1ZF9yYXRlPiwuLi4gPGxpbmU+IFs8dGVybXR5cGU+XVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJPcGVuIGEgdGVybWluYWwgYW5kIHNldCBpdHMgbW9kZS5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLTgsIC0tOGJpdHMgICAgICAgICAgICAgICAgYXNzdW1lIDgtYml0IHR0eVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWF1dG9sb2dpbiA8dXNlcj4gICAgIGxvZ2luIHRoZSBzcGVjaWZpZWQgdXNlciBhdXRvbWF0aWNhbGx5XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAgZG8gbm90IHJlc2V0IGNvbnRyb2wgbW9kZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1FLCAtLXJlbW90ZSAgICAgICAgICAgICAgIHVzZSAtciA8aG9zdG5hbWU+IGZvciBsb2dpbigxKVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1mLCAtLWlzc3VlLWZpbGUgPGZpbGU+ICAgIGRpc3BsYXkgaXNzdWUgZmlsZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIGVuYWJsZSBoYXJkd2FyZSBmbG93IGNvbnRyb2xcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtSCwgLS1ob3N0IDxob3N0bmFtZT4gICAgICBzcGVjaWZ5IGxvZ2luIGhvc3RcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICBkbyBub3QgZGlzcGxheSBpc3N1ZSBmaWxlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUksIC0taW5pdC1zdHJpbmcgPHN0cmluZz4gc2V0IGluaXQgc3RyaW5nXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUogIC0tbm9jbGVhciAgICAgICAgICAgICAgZG8gbm90IGNsZWFyIHRoZSBzY3JlZW4gYmVmb3JlIHByb21wdFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1sLCAtLWxvZ2luLXByb2dyYW0gPGZpbGU+IHNwZWNpZnkgbG9naW4gcHJvZ3JhbVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1MLCAtLWxvY2FsLWxpbmVbPTxtb2RlPl0gIGNvbnRyb2wgdGhlIGxvY2FsIGxpbmUgZmxhZ1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAgZG8gbm90IHByb21wdCBmb3IgbG9naW5cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtTiAgLS1ub25ld2xpbmUgICAgICAgICAgICBkbyBub3QgcHJpbnQgYSBuZXdsaW5lIGJlZm9yZSBpc3N1ZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPG9wdHM+IG9wdGlvbnMgdGhhdCBhcmUgcGFzc2VkIHRvIGxvZ2luXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXIsIC0tY2hyb290IDxkaXI+ICAgICAgICAgY2hhbmdlIHJvb3QgdG8gdGhlIGRpcmVjdG9yeVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgIGRvIHZpcnR1YWxseSBoYW5ndXAgb24gdGhlIHR0eVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIHRyeSB0byBrZWVwIGJhdWQgcmF0ZSBhZnRlciBicmVha1xuIiksIG91dCk7CisJZnB1dHMoXygiIC10LCAtLXRpbWVvdXQgPG51bWJlcj4gICAgIGxvZ2luIHByb2Nlc3MgdGltZW91dFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICB3YWl0IGNhcnJpYWdlLXJldHVyblxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIGRvIG5vdCBwcmludCBoaW50c1xuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgIG5vIGhvc3RuYW1lIGF0IGFsbCB3aWxsIGJlIHNob3duXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgc2hvdyBmdWxsIHF1YWxpZmllZCBob3N0bmFtZVxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLWVyYXNlLWNoYXJzIDxzdHJpbmc+IGFkZGl0aW9uYWwgYmFja3NwYWNlIGNoYXJzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0ta2lsbC1jaGFycyA8c3RyaW5nPiAgYWRkaXRpb25hbCBraWxsIGNoYXJzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tY2hkaXIgPGRpcmVjdG9yeT4gICAgY2hkaXIgYmVmb3JlIHRoZSBsb2dpblxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLWRlbGF5IDxudW1iZXI+ICAgICAgIHNsZWVwIHNlY29uZHMgYmVmb3JlIHByb21wdFxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLW5pY2UgPG51bWJlcj4gICAgICAgIHJ1biBsb2dpbiB3aXRoIHRoaXMgcHJpb3JpdHlcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1yZWxvYWQgICAgICAgICAgICAgICByZWxvYWQgcHJvbXB0cyBvbiBydW5uaW5nIGFnZXR0eSBpbnN0YW5jZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1oZWxwICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLXZlcnNpb24gICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iKSwgb3V0KTsKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoImFnZXR0eSg4KSIpKTsKKworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKKy8qCisgKiBIZWxwZXIgZnVuY3Rpb24gcmVwb3J0cyBlcnJvcnMgdG8gY29uc29sZSBvciBzeXNsb2cuCisgKiBXaWxsIGJlIHVzZWQgYnkgbG9nX2VycigpIGFuZCBsb2dfd2FybigpIHRoZXJlZm9yZQorICogaXQgdGFrZXMgYSBmb3JtYXQgYXMgd2VsbCBhcyB2YV9saXN0LgorICovCisjZGVmaW5lCXN0cjJjcHkoYixzMSxzMikJc3RyY2F0KHN0cmNweShiLHMxKSxzMikKKworc3RhdGljIHZvaWQgZG9sb2coaW50IHByaW9yaXR5LCBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXApCit7CisjaWZuZGVmCVVTRV9TWVNMT0cKKwlpbnQgZmQ7CisjZW5kaWYKKwljaGFyIGJ1ZltCVUZTSVpdOworCWNoYXIgKmJwOworCisJLyoKKwkgKiBJZiB0aGUgZGlhZ25vc3RpYyBpcyByZXBvcnRlZCB2aWEgc3lzbG9nKDMpLCB0aGUgcHJvY2VzcyBuYW1lIGlzCisJICogYXV0b21hdGljYWxseSBwcmVwZW5kZWQgdG8gdGhlIG1lc3NhZ2UuIElmIHdlIHdyaXRlIGRpcmVjdGx5IHRvCisJICogL2Rldi9jb25zb2xlLCB3ZSBtdXN0IHByZXBlbmQgdGhlIHByb2Nlc3MgbmFtZSBvdXJzZWx2ZXMuCisJICovCisjaWZkZWYgVVNFX1NZU0xPRworCWJ1ZlswXSA9ICdcMCc7CisJYnAgPSBidWY7CisjZWxzZQorCXN0cjJjcHkoYnVmLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSwgIjogIik7CisJYnAgPSBidWYgKyBzdHJsZW4oYnVmKTsKKyNlbmRpZgkJCQkvKiBVU0VfU1lTTE9HICovCisJdnNucHJpbnRmKGJwLCBzaXplb2YoYnVmKS1zdHJsZW4oYnVmKSwgZm10LCBhcCk7CisKKwkvKgorCSAqIFdyaXRlIHRoZSBkaWFnbm9zdGljIGRpcmVjdGx5IHRvIC9kZXYvY29uc29sZSBpZiB3ZSBkbyBub3QgdXNlIHRoZQorCSAqIHN5c2xvZygzKSBmYWNpbGl0eS4KKwkgKi8KKyNpZmRlZglVU0VfU1lTTE9HCisJb3BlbmxvZyhwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSwgTE9HX1BJRCwgTE9HX0FVVEhQUklWKTsKKwlzeXNsb2cocHJpb3JpdHksICIlcyIsIGJ1Zik7CisJY2xvc2Vsb2coKTsKKyNlbHNlCisJLyogVGVybWluYXRlIHdpdGggQ1ItTEYgc2luY2UgdGhlIGNvbnNvbGUgbW9kZSBpcyB1bmtub3duLiAqLworCXN0cmNhdChicCwgIlxyXG4iKTsKKwlpZiAoKGZkID0gb3BlbigiL2Rldi9jb25zb2xlIiwgMSkpID49IDApIHsKKwkJd3JpdGVfYWxsKGZkLCBidWYsIHN0cmxlbihidWYpKTsKKwkJY2xvc2UoZmQpOworCX0KKyNlbmRpZgkJCQkvKiBVU0VfU1lTTE9HICovCit9CisKK3N0YXRpYyB2b2lkIGxvZ19lcnIoY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKworCXZhX3N0YXJ0KGFwLCBmbXQpOworCWRvbG9nKExPR19FUlIsIGZtdCwgYXApOworCXZhX2VuZChhcCk7CisKKwkvKiBCZSBraW5kIHRvIGluaXQoOCkuICovCisJc2xlZXAoMTApOworCWV4aXQoRVhJVF9GQUlMVVJFKTsKK30KKworc3RhdGljIHZvaWQgbG9nX3dhcm4oY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKworCXZhX3N0YXJ0KGFwLCBmbXQpOworCWRvbG9nKExPR19XQVJOSU5HLCBmbXQsIGFwKTsKKwl2YV9lbmQoYXApOworfQorCitzdGF0aWMgdm9pZCBwcmludF9hZGRyKHNhX2ZhbWlseV90IGZhbWlseSwgdm9pZCAqYWRkcikKK3sKKwljaGFyIGJ1ZmZbSU5FVDZfQUREUlNUUkxFTiArIDFdOworCisJaW5ldF9udG9wKGZhbWlseSwgYWRkciwgYnVmZiwgc2l6ZW9mKGJ1ZmYpKTsKKwlwcmludGYoIiVzIiwgYnVmZik7Cit9CisKKy8qCisgKiBQcmludHMgSVAgZm9yIHRoZSBzcGVjaWZpZWQgaW50ZXJmYWNlIChAaWZhY2UpLCBpZiB0aGUgaW50ZXJmYWNlIGlzIG5vdAorICogc3BlY2lmaWVkIHRoZW4gcHJpbnRzIHRoZSAiYmVzdCIgb25lIChVUCwgUlVOTklORywgbm9uLUxPT1BCQUNLKS4gSWYgbm90CisgKiBmb3VuZCB0aGUgImJlc3QiIGludGVyZmFjZSB0aGVuIHByaW50cyBhdCBsZWFzdCBob3N0IElQLgorICovCitzdGF0aWMgdm9pZCBvdXRwdXRfaWZhY2VfaXAoc3RydWN0IGlmYWRkcnMgKmFkZHJzLAorCQkJICAgIGNvbnN0IGNoYXIgKmlmYWNlLAorCQkJICAgIHNhX2ZhbWlseV90IGZhbWlseSkKK3sKKwlzdHJ1Y3QgaWZhZGRycyAqcDsKKwlzdHJ1Y3QgYWRkcmluZm8gaGludHMsICppbmZvID0gTlVMTDsKKwljaGFyICpob3N0ID0gTlVMTDsKKwl2b2lkICphZGRyID0gTlVMTDsKKworCWlmICghYWRkcnMpCisJCXJldHVybjsKKworCWZvciAocCA9IGFkZHJzOyBwOyBwID0gcC0+aWZhX25leHQpIHsKKworCQlpZiAoIXAtPmlmYV9uYW1lIHx8CisJCSAgICAhcC0+aWZhX2FkZHIgfHwKKwkJICAgIHAtPmlmYV9hZGRyLT5zYV9mYW1pbHkgIT0gZmFtaWx5KQorCQkJY29udGludWU7CisKKwkJaWYgKGlmYWNlKSB7CisJCQkvKiBGaWx0ZXIgb3V0IGJ5IGludGVyZmFjZSBuYW1lICovCisJCSAgICAgICBpZiAoc3RyY21wKHAtPmlmYV9uYW1lLCBpZmFjZSkgIT0gMCkKKwkJCQljb250aW51ZTsKKwkJfSBlbHNlIHsKKwkJCS8qIFNlbGVjdCB0aGUgImJlc3QiIGludGVyZmFjZSAqLworCQkJaWYgKChwLT5pZmFfZmxhZ3MgJiBJRkZfTE9PUEJBQ0spIHx8CisJCQkgICAgIShwLT5pZmFfZmxhZ3MgJiBJRkZfVVApIHx8CisJCQkgICAgIShwLT5pZmFfZmxhZ3MgJiBJRkZfUlVOTklORykpCisJCQkJY29udGludWU7CisJCX0KKworCQlhZGRyID0gTlVMTDsKKwkJc3dpdGNoIChwLT5pZmFfYWRkci0+c2FfZmFtaWx5KSB7CisJCWNhc2UgQUZfSU5FVDoKKwkJCWFkZHIgPSAmKChzdHJ1Y3Qgc29ja2FkZHJfaW4gKikJcC0+aWZhX2FkZHIpLT5zaW5fYWRkcjsKKwkJCWJyZWFrOworCQljYXNlIEFGX0lORVQ2OgorCQkJYWRkciA9ICYoKHN0cnVjdCBzb2NrYWRkcl9pbjYgKikgcC0+aWZhX2FkZHIpLT5zaW42X2FkZHI7CisJCQlicmVhazsKKwkJfQorCisJCWlmIChhZGRyKSB7CisJCQlwcmludF9hZGRyKGZhbWlseSwgYWRkcik7CisJCQlyZXR1cm47CisJCX0KKwl9CisKKwlpZiAoaWZhY2UpCisJCXJldHVybjsKKworCS8qIEhtbS4uIG5vdCBmb3VuZCB0aGUgYmVzdCBpbnRlcmZhY2UsIHByaW50IGhvc3QgSVAgYXQgbGVhc3QgKi8KKwltZW1zZXQoJmhpbnRzLCAwLCBzaXplb2YoaGludHMpKTsKKwloaW50cy5haV9mYW1pbHkgPSBmYW1pbHk7CisJaWYgKGZhbWlseSA9PSBBRl9JTkVUNikKKwkJaGludHMuYWlfZmxhZ3MgPSBBSV9WNE1BUFBFRDsKKworCWhvc3QgPSB4Z2V0aG9zdG5hbWUoKTsKKwlpZiAoaG9zdCAmJiBnZXRhZGRyaW5mbyhob3N0LCBOVUxMLCAmaGludHMsICZpbmZvKSA9PSAwICYmIGluZm8pIHsKKwkJc3dpdGNoIChpbmZvLT5haV9mYW1pbHkpIHsKKwkJY2FzZSBBRl9JTkVUOgorCQkJYWRkciA9ICYoKHN0cnVjdCBzb2NrYWRkcl9pbiAqKSBpbmZvLT5haV9hZGRyKS0+c2luX2FkZHI7CisJCQlicmVhazsKKwkJY2FzZSBBRl9JTkVUNjoKKwkJCWFkZHIgPSAmKChzdHJ1Y3Qgc29ja2FkZHJfaW42ICopIGluZm8tPmFpX2FkZHIpLT5zaW42X2FkZHI7CisJCQlicmVhazsKKwkJfQorCQlpZiAoYWRkcikKKwkJCXByaW50X2FkZHIoZmFtaWx5LCBhZGRyKTsKKworCQlmcmVlYWRkcmluZm8oaW5mbyk7CisJfQorCWZyZWUoaG9zdCk7Cit9CisKKy8qCisgKiBwYXJzZXMgXHh7YXJndW1lbnR9LCBpZiBub3QgYXJndW1lbnQgc3BlY2lmaWVkIHRoZW4gcmV0dXJucyBOVUxMLCB0aGUgQGZkCisgKiBoYXMgdG8gcG9pbnQgdG8gb25lIGNoYXIgYWZ0ZXIgdGhlIHNlcXVlbmNlIChpdCBtZWFucyAneycpLgorICovCitzdGF0aWMgY2hhciAqZ2V0X2VzY2FwZV9hcmd1bWVudChGSUxFICpmZCwgY2hhciAqYnVmLCBzaXplX3QgYnVmc3opCit7CisJc2l6ZV90IGkgPSAwOworCWludCBjID0gZmdldGMoZmQpOworCisJaWYgKGMgPT0gRU9GIHx8ICh1bnNpZ25lZCBjaGFyKSBjICE9ICd7JykgeworCQl1bmdldGMoYywgZmQpOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlkbyB7CisJCWMgPSBmZ2V0YyhmZCk7CisJCWlmIChjID09IEVPRikKKwkJCXJldHVybiBOVUxMOworCQlpZiAoKHVuc2lnbmVkIGNoYXIpIGMgIT0gJ30nICYmIGkgPCBidWZzeiAtIDEpCisJCQlidWZbaSsrXSA9ICh1bnNpZ25lZCBjaGFyKSBjOworCisJfSB3aGlsZSAoKHVuc2lnbmVkIGNoYXIpIGMgIT0gJ30nKTsKKworCWJ1ZltpXSA9ICdcMCc7CisJcmV0dXJuIGJ1ZjsKK30KKworc3RhdGljIHZvaWQgb3V0cHV0X3NwZWNpYWxfY2hhcih1bnNpZ25lZCBjaGFyIGMsIHN0cnVjdCBvcHRpb25zICpvcCwKKwkJCQlzdHJ1Y3QgdGVybWlvcyAqdHAsIEZJTEUgKmZwKQoreworCXN0cnVjdCB1dHNuYW1lIHV0czsKKworCXN3aXRjaCAoYykgeworCWNhc2UgJ2UnOgorCXsKKwkJY2hhciBlc2NuYW1lW1VMX0NPTE9STkFNRV9NQVhTWl07CisKKwkJaWYgKGdldF9lc2NhcGVfYXJndW1lbnQoZnAsIGVzY25hbWUsIHNpemVvZihlc2NuYW1lKSkpIHsKKwkJCWNvbnN0IGNoYXIgKmVzYyA9IGNvbG9yX3NlcXVlbmNlX2Zyb21fY29sb3JuYW1lKGVzY25hbWUpOworCQkJaWYgKGVzYykKKwkJCQlmcHV0cyhlc2MsIHN0ZG91dCk7CisJCX0gZWxzZQorCQkJZnB1dHMoIlwwMzMiLCBzdGRvdXQpOworCQlicmVhazsKKwl9CisJY2FzZSAncyc6CisJCXVuYW1lKCZ1dHMpOworCQlwcmludGYoIiVzIiwgdXRzLnN5c25hbWUpOworCQlicmVhazsKKwljYXNlICduJzoKKwkJdW5hbWUoJnV0cyk7CisJCXByaW50ZigiJXMiLCB1dHMubm9kZW5hbWUpOworCQlicmVhazsKKwljYXNlICdyJzoKKwkJdW5hbWUoJnV0cyk7CisJCXByaW50ZigiJXMiLCB1dHMucmVsZWFzZSk7CisJCWJyZWFrOworCWNhc2UgJ3YnOgorCQl1bmFtZSgmdXRzKTsKKwkJcHJpbnRmKCIlcyIsIHV0cy52ZXJzaW9uKTsKKwkJYnJlYWs7CisJY2FzZSAnbSc6CisJCXVuYW1lKCZ1dHMpOworCQlwcmludGYoIiVzIiwgdXRzLm1hY2hpbmUpOworCQlicmVhazsKKwljYXNlICdvJzoKKwl7CisJCWNoYXIgKmRvbSA9IHhnZXRkb21haW5uYW1lKCk7CisKKwkJZnB1dHMoZG9tID8gZG9tIDogInVua25vd25fZG9tYWluIiwgc3Rkb3V0KTsKKwkJZnJlZShkb20pOworCQlicmVhazsKKwl9CisJY2FzZSAnTyc6CisJeworCQljaGFyICpkb20gPSBOVUxMOworCQljaGFyICpob3N0ID0geGdldGhvc3RuYW1lKCk7CisJCXN0cnVjdCBhZGRyaW5mbyBoaW50cywgKmluZm8gPSBOVUxMOworCisJCW1lbXNldCgmaGludHMsIDAsIHNpemVvZihoaW50cykpOworCQloaW50cy5haV9mbGFncyA9IEFJX0NBTk9OTkFNRTsKKworCQlpZiAoaG9zdCAmJiBnZXRhZGRyaW5mbyhob3N0LCBOVUxMLCAmaGludHMsICZpbmZvKSA9PSAwICYmIGluZm8pIHsKKwkJCWNoYXIgKmNhbm9uOworCisJCQlpZiAoaW5mby0+YWlfY2Fub25uYW1lICYmCisJCQkgICAgKGNhbm9uID0gc3RyY2hyKGluZm8tPmFpX2Nhbm9ubmFtZSwgJy4nKSkpCisJCQkJZG9tID0gY2Fub24gKyAxOworCQl9CisJCWZwdXRzKGRvbSA/IGRvbSA6ICJ1bmtub3duX2RvbWFpbiIsIHN0ZG91dCk7CisJCWlmIChpbmZvKQorCQkJZnJlZWFkZHJpbmZvKGluZm8pOworCQlmcmVlKGhvc3QpOworCQlicmVhazsKKwl9CisJY2FzZSAnZCc6CisJY2FzZSAndCc6CisJeworCQl0aW1lX3Qgbm93OworCQlzdHJ1Y3QgdG0gKnRtOworCisJCXRpbWUoJm5vdyk7CisJCXRtID0gbG9jYWx0aW1lKCZub3cpOworCisJCWlmICghdG0pCisJCQlicmVhazsKKworCQlpZiAoYyA9PSAnZCcpIC8qIElTTyA4NjAxICovCisJCQlwcmludGYoIiVzICVzICVkICAlZCIsCisJCQkJICAgICAgbmxfbGFuZ2luZm8oQUJEQVlfMSArIHRtLT50bV93ZGF5KSwKKwkJCQkgICAgICBubF9sYW5naW5mbyhBQk1PTl8xICsgdG0tPnRtX21vbiksCisJCQkJICAgICAgdG0tPnRtX21kYXksCisJCQkJICAgICAgdG0tPnRtX3llYXIgPCA3MCA/IHRtLT50bV95ZWFyICsgMjAwMCA6CisJCQkJICAgICAgdG0tPnRtX3llYXIgKyAxOTAwKTsKKwkJZWxzZQorCQkJcHJpbnRmKCIlMDJkOiUwMmQ6JTAyZCIsCisJCQkJICAgICAgdG0tPnRtX2hvdXIsIHRtLT50bV9taW4sIHRtLT50bV9zZWMpOworCQlicmVhazsKKwl9CisJY2FzZSAnbCc6CisJCXByaW50ZiAoIiVzIiwgb3AtPnR0eSk7CisJCWJyZWFrOworCWNhc2UgJ2InOgorCXsKKwkJY29uc3Qgc3BlZWRfdCBzcGVlZCA9IGNmZ2V0aXNwZWVkKHRwKTsKKwkJaW50IGk7CisKKwkJZm9yIChpID0gMDsgc3BlZWR0YWJbaV0uc3BlZWQ7IGkrKykgeworCQkJaWYgKHNwZWVkdGFiW2ldLmNvZGUgPT0gc3BlZWQpIHsKKwkJCQlwcmludGYoIiVsZCIsIHNwZWVkdGFiW2ldLnNwZWVkKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCQlicmVhazsKKwl9CisJY2FzZSAnUyc6CisJeworCQljaGFyICp2YXIgPSBOVUxMLCB2YXJuYW1lWzY0XTsKKworCQkvKiBcU3t2YXJuYW1lfSAqLworCQlpZiAoZ2V0X2VzY2FwZV9hcmd1bWVudChmcCwgdmFybmFtZSwgc2l6ZW9mKHZhcm5hbWUpKSkgeworCQkJdmFyID0gcmVhZF9vc19yZWxlYXNlKG9wLCB2YXJuYW1lKTsKKwkJCWlmICh2YXIpIHsKKwkJCQlpZiAoc3RyY21wKHZhcm5hbWUsICJBTlNJX0NPTE9SIikgPT0gMCkKKwkJCQkJcHJpbnRmKCJcMDMzWyVzbSIsIHZhcik7CisJCQkJZWxzZQorCQkJCQlmcHV0cyh2YXIsIHN0ZG91dCk7CisJCQl9CisJCS8qIFxTICovCisJCX0gZWxzZSBpZiAoKHZhciA9IHJlYWRfb3NfcmVsZWFzZShvcCwgIlBSRVRUWV9OQU1FIikpKSB7CisJCQlmcHV0cyh2YXIsIHN0ZG91dCk7CisKKwkJLyogXFMgYW5kIFBSRVRUWV9OQU1FIG5vdCBmb3VuZCAqLworCQl9IGVsc2UgeworCQkJdW5hbWUoJnV0cyk7CisJCQlmcHV0cyh1dHMuc3lzbmFtZSwgc3Rkb3V0KTsKKwkJfQorCQlicmVhazsKKwl9CisJY2FzZSAndSc6CisJY2FzZSAnVSc6CisJeworCQlpbnQgdXNlcnMgPSAwOworCQlzdHJ1Y3QgdXRtcCAqdXQ7CisJCXNldHV0ZW50KCk7CisJCXdoaWxlICgodXQgPSBnZXR1dGVudCgpKSkKKwkJCWlmICh1dC0+dXRfdHlwZSA9PSBVU0VSX1BST0NFU1MpCisJCQkJdXNlcnMrKzsKKwkJZW5kdXRlbnQoKTsKKwkJaWYgKGMgPT0gJ1UnKQorCQkJcHJpbnRmKFBfKCIlZCB1c2VyIiwgIiVkIHVzZXJzIiwgdXNlcnMpLCB1c2Vycyk7CisJCWVsc2UKKwkJCXByaW50ZiAoIiVkICIsIHVzZXJzKTsKKwkJYnJlYWs7CisJfQorCWNhc2UgJzQnOgorCWNhc2UgJzYnOgorCXsKKwkJc2FfZmFtaWx5X3QgZmFtaWx5ID0gYyA9PSAnNCcgPyBBRl9JTkVUIDogQUZfSU5FVDY7CisJCXN0cnVjdCBpZmFkZHJzICphZGRycyA9IE5VTEw7CisJCWNoYXIgaWZhY2VbMTI4XTsKKworI2lmZGVmIEFHRVRUWV9SRUxPQUQKKwkJb3Blbl9uZXRsaW5rKCk7CisjZW5kaWYKKworCQlpZiAoZ2V0aWZhZGRycygmYWRkcnMpKQorCQkJYnJlYWs7CisKKwkJaWYgKGdldF9lc2NhcGVfYXJndW1lbnQoZnAsIGlmYWNlLCBzaXplb2YoaWZhY2UpKSkKKwkJCW91dHB1dF9pZmFjZV9pcChhZGRycywgaWZhY2UsIGZhbWlseSk7CisJCWVsc2UKKwkJCW91dHB1dF9pZmFjZV9pcChhZGRycywgTlVMTCwgZmFtaWx5KTsKKworCQlmcmVlaWZhZGRycyhhZGRycyk7CisJCWJyZWFrOworCX0KKwlkZWZhdWx0OgorCQlwdXRjaGFyKGMpOworCQlicmVhazsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGluaXRfc3BlY2lhbF9jaGFyKGNoYXIqIGFyZywgc3RydWN0IG9wdGlvbnMgKm9wKQoreworCWNoYXIgY2gsICpwLCAqcTsKKwlpbnQgaTsKKworCW9wLT5pbml0c3RyaW5nID0gbWFsbG9jKHN0cmxlbihhcmcpICsgMSk7CisJaWYgKCFvcC0+aW5pdHN0cmluZykKKwkJbG9nX2VycihfKCJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5OiAlbSIpKTsKKworCS8qCisJICogQ29weSBvcHRhcmcgaW50byBvcC0+aW5pdHN0cmluZyBkZWNvZGluZyBcZGRkIG9jdGFsCisJICogY29kZXMgaW50byBjaGFycy4KKwkgKi8KKwlxID0gb3AtPmluaXRzdHJpbmc7CisJcCA9IGFyZzsKKwl3aGlsZSAoKnApIHsKKwkJLyogVGhlIFxcIGlzIGNvbnZlcnRlZCB0byBcICovCisJCWlmICgqcCA9PSAnXFwnKSB7CisJCQlwKys7CisJCQlpZiAoKnAgPT0gJ1xcJykgeworCQkJCWNoID0gJ1xcJzsKKwkJCQlwKys7CisJCQl9IGVsc2UgeworCQkJCS8qIEhhbmRsZSBcMDAwIC0gXDE3Ny4gKi8KKwkJCQljaCA9IDA7CisJCQkJZm9yIChpID0gMTsgaSA8PSAzOyBpKyspIHsKKwkJCQkJaWYgKCpwID49ICcwJyAmJiAqcCA8PSAnNycpIHsKKwkJCQkJCWNoIDw8PSAzOworCQkJCQkJY2ggKz0gKnAgLSAnMCc7CisJCQkJCQlwKys7CisJCQkJCX0gZWxzZSB7CisJCQkJCQlicmVhazsKKwkJCQkJfQorCQkJCX0KKwkJCX0KKwkJCSpxKysgPSBjaDsKKwkJfSBlbHNlCisJCQkqcSsrID0gKnArKzsKKwl9CisJKnEgPSAnXDAnOworfQorCisvKgorICogQXBwZW5kcyBAc3RyIHRvIEBkZXN0IGFuZCBpZiBAZGVzdCBpcyBub3QgZW1wdHkgdGhlbiB1c2UgdXNlIEBzZXAgYXMgYQorICogc2VwYXJhdG9yLiBUaGUgbWF4aW1hbCBmaW5hbCBsZW5ndGggb2YgdGhlIEBkZXN0IGlzIEBsZW4uCisgKgorICogUmV0dXJucyB0aGUgZmluYWwgQGRlc3QgbGVuZ3RoIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3N0YXRpYyBzc2l6ZV90IGFwcGVuZChjaGFyICpkZXN0LCBzaXplX3QgbGVuLCBjb25zdCBjaGFyICAqc2VwLCBjb25zdCBjaGFyICpzcmMpCit7CisJc2l6ZV90IGRzeiA9IDAsIHNzeiA9IDAsIHN6OworCWNoYXIgKnA7CisKKwlpZiAoIWRlc3QgfHwgIWxlbiB8fCAhc3JjKQorCQlyZXR1cm4gLTE7CisKKwlpZiAoKmRlc3QpCisJCWRzeiA9IHN0cmxlbihkZXN0KTsKKwlpZiAoZHN6ICYmIHNlcCkKKwkJc3N6ID0gc3RybGVuKHNlcCk7CisJc3ogPSBzdHJsZW4oc3JjKTsKKworCWlmIChkc3ogKyBzc3ogKyBzeiArIDEgPiBsZW4pCisJCXJldHVybiAtMTsKKworCXAgPSBkZXN0ICsgZHN6OworCWlmIChzc3opIHsKKwkJbWVtY3B5KHAsIHNlcCwgc3N6KTsKKwkJcCArPSBzc3o7CisJfQorCW1lbWNweShwLCBzcmMsIHN6KTsKKwkqKHAgKyBzeikgPSAnXDAnOworCisJcmV0dXJuIGRzeiArIHNzeiArIHN6OworfQorCisvKgorICogRG8gbm90IGFsbG93IHRoZSB1c2VyIHRvIHBhc3MgYW4gb3B0aW9uIGFzIGEgdXNlciBuYW1lCisgKiBUbyBiZSBtb3JlIHNhZmU6IFVzZSBgLS0nIHRvIG1ha2Ugc3VyZSB0aGUgcmVzdCBpcworICogaW50ZXJwcmV0ZWQgYXMgbm9uLW9wdGlvbnMgYnkgdGhlIHByb2dyYW0sIGlmIGl0IHN1cHBvcnRzIGl0LgorICovCitzdGF0aWMgdm9pZCBjaGVja191c2VybmFtZShjb25zdCBjaGFyKiBubSkKK3sKKwljb25zdCBjaGFyICpwID0gbm07CisJaWYgKCFubSkKKwkJZ290byBlcnI7CisJaWYgKHN0cmxlbihubSkgPiA0MikKKwkJZ290byBlcnI7CisJd2hpbGUgKGlzc3BhY2UoKnApKQorCQlwKys7CisJaWYgKCpwID09ICctJykKKwkJZ290byBlcnI7CisJcmV0dXJuOworZXJyOgorCWVycm5vID0gRVBFUk07CisJbG9nX2VycihfKCJjaGVja25hbWUgZmFpbGVkOiAlbSIpKTsKK30KKworc3RhdGljIHZvaWQgcmVsb2FkX2FnZXR0eXModm9pZCkKK3sKKyNpZmRlZiBBR0VUVFlfUkVMT0FECisJaW50IGZkID0gb3BlbihBR0VUVFlfUkVMT0FEX0ZJTEVOQU1FLCBPX0NSRUFUfE9fQ0xPRVhFQ3xPX1dST05MWSwKKwkJCQkJICAgICAgU19JUlVTUnxTX0lXVVNSKTsKKwlpZiAoZmQgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBBR0VUVFlfUkVMT0FEX0ZJTEVOQU1FKTsKKworCWlmIChmdXRpbWVucyhmZCwgTlVMTCkgPCAwIHx8IGNsb3NlKGZkKSA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCB0b3VjaCBmaWxlICVzIiksCisJCSAgICBBR0VUVFlfUkVMT0FEX0ZJTEVOQU1FKTsKKyNlbHNlCisJLyogdmVyeSB1bnVzdWFsICovCisJZXJyeChFWElUX0ZBSUxVUkUsIF8oIi0tcmVsb2FkIGlzIHVuc3VwcG9ydGVkIG9uIHlvdXIgc3lzdGVtIikpOworI2VuZGlmCit9CmRpZmYgLS1naXQgYS90ZXJtLXV0aWxzL21lc2cuMSBiL3Rlcm0tdXRpbHMvbWVzZy4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxNzlhNzkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXJtLXV0aWxzL21lc2cuMQpAQCAtMCwwICsxLDEwOSBAQAorLlwiIENvcHlyaWdodCAoYykgMTk4NywgMTk5MCwgMTk5MworLlwiCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorLlwiCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorLlwiICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKy5cIglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisuXCIJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisuXCIgNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKy5cIiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKy5cIiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy5cIgorLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisuXCIgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisuXCIgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKy5cIiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy5cIiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorLlwiIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisuXCIgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisuXCIgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKy5cIiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisuXCIgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorLlwiIFNVQ0ggREFNQUdFLgorLlwiCisuXCIJQCgjKW1lc2cuMQk4LjEgKEJlcmtlbGV5KSA2LzYvOTMKKy5cIgorLlRIIE1FU0cgMSAiSnVseSAyMDE0IiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQorbWVzZyBcLSBkaXNwbGF5IChvciBkbyBub3QgZGlzcGxheSkgbWVzc2FnZXMgZnJvbSBvdGhlciB1c2VycworLlNIIFNZTk9QU0lTCisuQiBtZXNnCitbb3B0aW9uXQorLlJCIFsgbiB8IHkgXQorLlNIIERFU0NSSVBUSU9OCitUaGUKKy5CIG1lc2cKK3V0aWxpdHkgaXMgaW52b2tlZCBieSBhIHVzZXIgdG8gY29udHJvbCB3cml0ZSBhY2Nlc3Mgb3RoZXJzIGhhdmUgdG8gdGhlCit0ZXJtaW5hbCBkZXZpY2UgYXNzb2NpYXRlZCB3aXRoIHN0YW5kYXJkIGVycm9yIG91dHB1dC4gIElmIHdyaXRlIGFjY2VzcworaXMgYWxsb3dlZCwgdGhlbiBwcm9ncmFtcyBzdWNoIGFzCisuQlIgdGFsayAoMSkKK2FuZAorLkJSIHdyaXRlICgxKQorbWF5IGRpc3BsYXkgbWVzc2FnZXMgb24gdGhlIHRlcm1pbmFsLgorLlBQCitUcmFkaXRpb25hbGx5LCB3cml0ZSBhY2Nlc3MgaXMgYWxsb3dlZCBieSBkZWZhdWx0LiAgSG93ZXZlciwgYXMgdXNlcnMKK2JlY29tZSBtb3JlIGNvbnNjaW91cyBvZiB2YXJpb3VzIHNlY3VyaXR5IHJpc2tzLCB0aGVyZSBpcyBhIHRyZW5kIHRvIHJlbW92ZQord3JpdGUgYWNjZXNzIGJ5IGRlZmF1bHQsIGF0IGxlYXN0IGZvciB0aGUgcHJpbWFyeSBsb2dpbiBzaGVsbC4gIFRvIG1ha2UKK3N1cmUgeW91ciB0dHlzIGFyZSBzZXQgdGhlIHdheSB5b3Ugd2FudCB0aGVtIHRvIGJlIHNldCwKKy5CIG1lc2cKK3Nob3VsZCBiZSBleGVjdXRlZCBpbiB5b3VyIGxvZ2luIHNjcmlwdHMuCisuU0ggQVJHVU1FTlRTCisuVFAKKy5CIG4KK0Rpc2FsbG93IG1lc3NhZ2VzLgorLlRQCisuQiB5CitBbGxvdyBtZXNzYWdlcyB0byBiZSBkaXNwbGF5ZWQuCisuUFAKK0lmIG5vIGFyZ3VtZW50cyBhcmUgZ2l2ZW4sCisuQiBtZXNnCitzaG93cyB0aGUgY3VycmVudCBtZXNzYWdlIHN0YXR1cyBvbiBzdGFuZGFyZCBlcnJvciBvdXRwdXQuCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC12ICwgIiBcLVwtdmVyYm9zZSIKK0V4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lLgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBFWElUIFNUQVRVUworVGhlCisuQiBtZXNnCit1dGlsaXR5IGV4aXRzIHdpdGggb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgorLlJTIDQKKy5UUAorLkIgIlwgMCIKK01lc3NhZ2VzIGFyZSBhbGxvd2VkLgorLlRQCisuQiAiXCAxIgorTWVzc2FnZXMgYXJlIG5vdCBhbGxvd2VkLgorLlRQCisuQiAiPjEiCitBbiBlcnJvciBoYXMgb2NjdXJyZWQuCisuUkUKKy5TSCBGSUxFUworLkkgL2Rldi9bcHRddHlbcHFdPworLlNIICJTRUUgQUxTTyIKKy5CUiBsb2dpbiAoMSksCisuQlIgdGFsayAoMSksCisuQlIgd3JpdGUgKDEpLAorLkJSIHdhbGwgKDEpLAorLkJSIHh0ZXJtICgxKQorLlNIIEhJU1RPUlkKK0EKKy5CIG1lc2cKK2NvbW1hbmQgYXBwZWFyZWQgaW4gVmVyc2lvbiA2IEFUJlQgVU5JWC4KKworLlNIIEFWQUlMQUJJTElUWQorVGhlIG1lc2cgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS90ZXJtLXV0aWxzL21lc2cuYyBiL3Rlcm0tdXRpbHMvbWVzZy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxODFhNTgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXJtLXV0aWxzL21lc2cuYwpAQCAtMCwwICsxLDE2OCBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk4NywgMTk5MworICoJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAoYykgVU5JWCBTeXN0ZW0gTGFib3JhdG9yaWVzLCBJbmMuCisgKiBBbGwgb3Igc29tZSBwb3J0aW9ucyBvZiB0aGlzIGZpbGUgYXJlIGRlcml2ZWQgZnJvbSBtYXRlcmlhbCBsaWNlbnNlZAorICogdG8gdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYSBieSBBbWVyaWNhbiBUZWxlcGhvbmUgYW5kIFRlbGVncmFwaAorICogQ28uIG9yIFVuaXggU3lzdGVtIExhYm9yYXRvcmllcywgSW5jLiBhbmQgYXJlIHJlcHJvZHVjZWQgaGVyZWluIHdpdGgKKyAqIHRoZSBwZXJtaXNzaW9uIG9mIFVOSVggU3lzdGVtIExhYm9yYXRvcmllcywgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisgKiAgICBtdXN0IGRpc3BsYXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnZW1lbnQ6CisgKglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisgKglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKyAqIDQuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKgorICogTW9kaWZpZWQgRnJpIE1hciAxMCAyMDoyNzoxOSAxOTk1LCBmYWl0aEBjcy51bmMuZWR1LCBmb3IgTGludXgKKyAqIE1vZGlmaWVkIE1vbiBKdWwgIDEgMTg6MTQ6MTAgMTk5NiwgamFubEBpZmkudWlvLm5vLCB3cml0aW5nIHRvIHN0ZG91dAorICoJYXMgc3VnZ2VzdGVkIGJ5IE1pY2hhZWwgTWVza2VzIDxtZXNrZXNASW5mb3JtYXRpay5SV1RILUFhY2hlbi5ERT4KKyAqCisgKiAxOTk5LTAyLTIyIEFya2FkaXVzeiBNacWba2lld2ljeiA8bWlzaWVrQHBsZC5PUkcuUEw+CisgKiAtIGFkZGVkIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0CisgKgorICogMjAxMC0xMi0wMSBNYXJlayBQb2xhY2VrIDxtbXBvbGFjZWtAZ21haWwuY29tPgorICogLSBjbGVhbnVwcworICovCisKKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKworI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgInJwbWF0Y2guaCIKKworLyogZXhpdCBjb2RlcyAqLworCisjZGVmaW5lIElTX0FMTE9XRUQgICAgICAgIDAgIC8qIFJlY2VpdmluZyBtZXNzYWdlcyBpcyBhbGxvd2VkLiAgKi8KKyNkZWZpbmUgSVNfTk9UX0FMTE9XRUQgICAgMSAgLyogUmVjZWl2aW5nIG1lc3NhZ2VzIGlzIG5vdCBhbGxvd2VkLiAgKi8KKyNkZWZpbmUgTUVTR19FWElUX0ZBSUxVUkUgMiAgLyogQW4gZXJyb3Igb2NjdXJyZWQuICAqLworCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqIG91dCkKK3sKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJLyogVFJBTlNMQVRPUlM6IHRoaXMgcHJvZ3JhbSB1c2VzIGZvciB5IGFuZCBuIHJwbWF0Y2goMyksCisJICogd2hpY2ggbWVhbnMgdGhleSBjYW4gYmUgdHJhbnNsYXRlZC4gICovCisJZnByaW50ZihvdXQsCisJICAgICAgXygiICVzIFtvcHRpb25zXSBbeSB8IG5dXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkNvbnRyb2wgd3JpdGUgYWNjZXNzIG9mIG90aGVyIHVzZXJzIHRvIHlvdXIgdGVybWluYWwuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC12LCAtLXZlcmJvc2UgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iKSwgb3V0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dCk7CisJZnByaW50ZihvdXQsIFVTQUdFX01BTl9UQUlMKCJtZXNnKDEpIikpOworCisJZXhpdChvdXQgPT0gc3RkZXJyID8gTUVTR19FWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBzdGF0IHNiOworCWNoYXIgKnR0eTsKKwlpbnQgY2gsIGZkLCB2ZXJib3NlID0gRkFMU0UsIHJldDsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsgInZlcmJvc2UiLCAgICBub19hcmd1bWVudCwgICAgICAgMCwgJ3YnIH0sCisJCXsgInZlcnNpb24iLCAgICBub19hcmd1bWVudCwgICAgICAgMCwgJ1YnIH0sCisJCXsgImhlbHAiLCAgICAgICBub19hcmd1bWVudCwgICAgICAgMCwgJ2gnIH0sCisJCXsgTlVMTCwgICAgICAgICAwLCAwLCAwIH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgoY2ggPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAidlZoIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkKKwkJc3dpdGNoIChjaCkgeworCQljYXNlICd2JzoKKwkJCXZlcmJvc2UgPSBUUlVFOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlleGl0KEVYSVRfU1VDQ0VTUyk7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2Uoc3Rkb3V0KTsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKHN0ZGVycik7CisJCX0KKworCWFyZ2MgLT0gb3B0aW5kOworCWFyZ3YgKz0gb3B0aW5kOworCisJaWYgKCh0dHkgPSB0dHluYW1lKFNUREVSUl9GSUxFTk8pKSA9PSBOVUxMKQorCQllcnIoTUVTR19FWElUX0ZBSUxVUkUsIF8oInR0eW5hbWUgZmFpbGVkIikpOworCWlmICgoZmQgPSBvcGVuKHR0eSwgT19SRE9OTFkpKSA8IDApCisJCWVycihNRVNHX0VYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgdHR5KTsKKwlpZiAoZnN0YXQoZmQsICZzYikpCisJCWVycihNRVNHX0VYSVRfRkFJTFVSRSwgXygic3RhdCBvZiAlcyBmYWlsZWQiKSwgdHR5KTsKKworCWlmICghKmFyZ3YpIHsKKwkJY2xvc2UoZmQpOworCQlpZiAoc2Iuc3RfbW9kZSAmIChTX0lXR1JQIHwgU19JV09USCkpIHsKKwkJCXB1dHMoXygiaXMgeSIpKTsKKwkJCXJldHVybiBJU19BTExPV0VEOworCQl9CisJCXB1dHMoXygiaXMgbiIpKTsKKwkJcmV0dXJuIElTX05PVF9BTExPV0VEOworCX0KKworCXN3aXRjaCAocnBtYXRjaChhcmd2WzBdKSkgeworCWNhc2UgUlBNQVRDSF9ZRVM6CisjaWZkZWYgVVNFX1RUWV9HUk9VUAorCQlpZiAoZmNobW9kKGZkLCBzYi5zdF9tb2RlIHwgU19JV0dSUCkgPCAwKQorI2Vsc2UKKwkJaWYgKGZjaG1vZChmZCwgc2Iuc3RfbW9kZSB8IFNfSVdHUlAgfCBTX0lXT1RIKSA8IDApCisjZW5kaWYKKwkJCWVycihNRVNHX0VYSVRfRkFJTFVSRSwgXygiY2hhbmdlICVzIG1vZGUgZmFpbGVkIiksIHR0eSk7CisJCWlmICh2ZXJib3NlKQorCQkJcHV0cyhfKCJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBhbGxvd2VkIikpOworCQlyZXQgPSBJU19BTExPV0VEOworCQlicmVhazsKKwljYXNlIFJQTUFUQ0hfTk86CisJCWlmIChmY2htb2QoZmQsIHNiLnN0X21vZGUgJiB+KFNfSVdHUlB8U19JV09USCkpIDwgMCkKKwkJCSBlcnIoTUVTR19FWElUX0ZBSUxVUkUsIF8oImNoYW5nZSAlcyBtb2RlIGZhaWxlZCIpLCB0dHkpOworCQlpZiAodmVyYm9zZSkKKwkJCXB1dHMoXygid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgZGVuaWVkIikpOworCQlyZXQgPSBJU19OT1RfQUxMT1dFRDsKKwkJYnJlYWs7CisJY2FzZSBSUE1BVENIX0lOVkFMSUQ6CisJCXdhcm54KF8oImludmFsaWQgYXJndW1lbnQ6ICVzIiksIGFyZ3ZbMF0pOworCQl1c2FnZShzdGRlcnIpOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgIGFib3J0KCk7CisJfQorCWNsb3NlKGZkKTsKKwlyZXR1cm4gcmV0OworfQpkaWZmIC0tZ2l0IGEvdGVybS11dGlscy9yZXNldCBiL3Rlcm0tdXRpbHMvcmVzZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDNmODNjYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlcm0tdXRpbHMvcmVzZXQKQEAgLTAsMCArMSwxOSBAQAorIyEvYmluL3NoCisjIFRoaXMgY29tbWFuZCBpcyBkZXByZWNhdGVkLiAgVGhlIHV0aWxpdHkgaXMgaW4gbWFpbnRlbmFuY2UgbW9kZSwKKyMgbWVhbmluZyB3ZSBrZWVwIHRoZW0gaW4gc291cmNlIHRyZWUgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkKKyMgb25seS4gIERvIG5vdCB3YXN0ZSB0aW1lIG1ha2luZyB0aGlzIGNvbW1hbmQgYmV0dGVyLCB1bmxlc3MgdGhlCisjIGZpeCBpcyBhYm91dCBzZWN1cml0eSBvciBvdGhlciB2ZXJ5IGNyaXRpY2FsIGlzc3VlLgorIworIyBTZWUgRG9jdW1lbnRhdGlvbi9kZXByZWNhdGVkLnR4dCBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KK3N0dHkgc2FuZQordHB1dCBjbGVhcgordHB1dCBybWFjcwordHB1dCBybW0KK3RwdXQgcm1zbwordHB1dCBybXVsCit0cHV0IHJzMQordHB1dCByczIKK3RwdXQgcnMzCitib3Q9JCgoJHtMSU5FUzotJCh0cHV0IGxpbmVzKX0gLSAxKSkKK2lmIHRlc3QgIiR7Ym90fSIgLWxlICIwIjsgdGhlbiBib3Q9MjQ7IGZpCit0cHV0IGNzciAwICR7Ym90fQpkaWZmIC0tZ2l0IGEvdGVybS11dGlscy9yZXNldC4xIGIvdGVybS11dGlscy9yZXNldC4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4YzNkZjcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXJtLXV0aWxzL3Jlc2V0LjEKQEAgLTAsMCArMSw0NSBAQAorLlwiIENvcHlyaWdodCAxOTkyIFJpY2thcmQgRS4gRmFpdGggKGZhaXRoQGNzLnVuYy5lZHUpCisuXCIgTWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLlRIIFJFU0VUIDEgIk9jdG9iZXIgMTk5MyIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK3Jlc2V0IFwtIHJlc2V0IHRoZSB0ZXJtaW5hbAorLlNIIFNZTk9QU0lTCisuQlIgcmVzZXQKKy5TSCBERVNDUklQVElPTgorLkIgcmVzZXQKK2NhbGxzCisuQlIgdHB1dCAoMSkKK3dpdGggdGhlCisuSVIgY2xlYXIgLAorLklSIHJtYWNzICwKKy5JUiBybW0gLAorLklSIHJtdWwgLAorLklSIHJzMSAsCisuSVIgcnMyICwKK2FuZAorLkkgcnMzCithcmd1bWVudHMuICBUaGlzIGNhdXNlcworLkIgdHB1dAordG8gc2VuZCBhcHByb3ByaWF0ZSByZXNldCBzdHJpbmdzIHRvIHRoZSB0ZXJtaW5hbCBiYXNlZCBvbiBpbmZvcm1hdGlvbiBpbgorLkkgL2V0Yy90ZXJtY2FwCisoZm9yIHRoZSBHTlUgb3IgQlNECisuQlIgdHB1dCApCitvciBpbiB0aGUgdGVybWluZm8gZGF0YWJhc2UKKyhmb3IgdGhlCisuQiBuY3Vyc2VzCisuQlIgdHB1dCApLgorVGhpcyBzZXF1ZW5jZSBzZWVtcyB0byBiZSBzdWZmaWNpZW50IHRvIHJlc2V0IGEgTGludXggVkMgd2hlbiBpdAorc3RhcnRzIHByaW50aW5nICJmdW5ueS1sb29raW5nIiBjaGFyYWN0ZXJzLiAgRm9yIGdvb2QgbWVhc3VyZSwKKy5CUiBzdHR5ICgxKQoraXMgY2FsbGVkIHdpdGggdGhlCisuSSBzYW5lCithcmd1bWVudCBpbiBhbiBhdHRlbXB0IHRvIGdldCBjb29rZWQgbW9kZSBiYWNrLgorLlNIICJTRUUgQUxTTyIKKy5CUiBjbGVhciAoMSksCisuQlIgc3R0eSAoMSksCisuQlIgdHB1dCAoMSkKKy5TSCBBVVRIT1IKK1JpayBGYWl0aCAoZmFpdGhAY3MudW5jLmVkdSkKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSByZXNldCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2Z0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL3Rlcm0tdXRpbHMvc2NyaXB0LjEgYi90ZXJtLXV0aWxzL3NjcmlwdC4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0ZWY2MjQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXJtLXV0aWxzL3NjcmlwdC4xCkBAIC0wLDAgKzEsMTkyIEBACisuXCIgQ29weXJpZ2h0IChjKSAxOTgwLCAxOTkwIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KKy5cIiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLlwiCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorLlwiICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKy5cIglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisuXCIJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisuXCIgNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKy5cIiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKy5cIiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy5cIgorLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisuXCIgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisuXCIgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKy5cIiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy5cIiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorLlwiIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisuXCIgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisuXCIgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKy5cIiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisuXCIgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorLlwiIFNVQ0ggREFNQUdFLgorLlwiCisuXCIJQCgjKXNjcmlwdC4xCTYuNSAoQmVya2VsZXkpIDcvMjcvOTEKKy5cIgorLlRIIFNDUklQVCAiMSIgIkp1bmUgMjAxNCIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK3NjcmlwdCBcLSBtYWtlIHR5cGVzY3JpcHQgb2YgdGVybWluYWwgc2Vzc2lvbgorLlNIIFNZTk9QU0lTCisuQiBzY3JpcHQKK1tvcHRpb25zXQorLlJJIFsgZmlsZSBdCisuU0ggREVTQ1JJUFRJT04KKy5CIHNjcmlwdAorbWFrZXMgYSB0eXBlc2NyaXB0IG9mIGV2ZXJ5dGhpbmcgZGlzcGxheWVkIG9uIHlvdXIgdGVybWluYWwuICBJdCBpcyB1c2VmdWwgZm9yCitzdHVkZW50cyB3aG8gbmVlZCBhIGhhcmRjb3B5IHJlY29yZCBvZiBhbiBpbnRlcmFjdGl2ZSBzZXNzaW9uIGFzIHByb29mIG9mIGFuCithc3NpZ25tZW50LCBhcyB0aGUgdHlwZXNjcmlwdCBmaWxlIGNhbiBiZSBwcmludGVkIG91dCBsYXRlciB3aXRoCisuQlIgbHByICgxKS4KKy5QUAorSWYgdGhlIGFyZ3VtZW50CisuSSBmaWxlCitpcyBnaXZlbiwKKy5CIHNjcmlwdAorc2F2ZXMgdGhlIGRpYWxvZ3VlIGluIHRoaXMKKy5JUiBmaWxlIC4KK0lmIG5vIGZpbGVuYW1lIGlzIGdpdmVuLCB0aGUgZGlhbG9ndWUgaXMgc2F2ZWQgaW4gdGhlIGZpbGUKKy5CUiB0eXBlc2NyaXB0IC4KKy5TSCBPUFRJT05TCisuVFAKK1xmQlwtYVxmUiwgXGZCXC1cLWFwcGVuZFxmUgorQXBwZW5kIHRoZSBvdXRwdXQgdG8KKy5JIGZpbGUKK29yIHRvCisuQlIgdHlwZXNjcmlwdCAsCityZXRhaW5pbmcgdGhlIHByaW9yIGNvbnRlbnRzLgorLlRQCitcZkJcLWNcZlIsIFxmQlwtXC1jb21tYW5kXGZSIFxmSWNvbW1hbmRcZlIKK1J1biB0aGUKKy5JIGNvbW1hbmQKK3JhdGhlciB0aGFuIGFuIGludGVyYWN0aXZlIHNoZWxsLiAgVGhpcyBtYWtlcyBpdCBlYXN5IGZvciBhIHNjcmlwdCB0byBjYXB0dXJlCit0aGUgb3V0cHV0IG9mIGEgcHJvZ3JhbSB0aGF0IGJlaGF2ZXMgZGlmZmVyZW50bHkgd2hlbiBpdHMgc3Rkb3V0IGlzIG5vdCBhCit0dHkuCisuVFAKK1xmQlwtZVxmUiwgXGZCXC1cLXJldHVyblxmUgorUmV0dXJuIHRoZSBleGl0IGNvZGUgb2YgdGhlIGNoaWxkIHByb2Nlc3MuICBVc2VzIHRoZSBzYW1lIGZvcm1hdCBhcyBiYXNoCit0ZXJtaW5hdGlvbiBvbiBzaWduYWwgdGVybWluYXRpb24gZXhpdCBjb2RlIGlzIDEyOCtuLgorLlRQCitcZkJcLWZcZlIsIFxmQlwtXC1mbHVzaFxmUgorRmx1c2ggb3V0cHV0IGFmdGVyIGVhY2ggd3JpdGUuICBUaGlzIGlzIG5pY2UgZm9yIHRlbGVjb29wZXJhdGlvbjogb25lIHBlcnNvbgorZG9lcyBgbWtmaWZvIGZvbzsgc2NyaXB0IC1mIGZvbycsIGFuZCBhbm90aGVyIGNhbiBzdXBlcnZpc2UgcmVhbC10aW1lIHdoYXQgaXMKK2JlaW5nIGRvbmUgdXNpbmcgYGNhdCBmb28nLgorLlRQCitcZkJcLVwtZm9yY2VcZlIKK0FsbG93IHRoZSBkZWZhdWx0IG91dHB1dCBkZXN0aW5hdGlvbiwgaS5lLiB0aGUgdHlwZXNjcmlwdCBmaWxlLCB0byBiZSBhIGhhcmQKK29yIHN5bWJvbGljIGxpbmsuICBUaGUgY29tbWFuZCB3aWxsIGZvbGxvdyBhIHN5bWJvbGljIGxpbmsuCisuVFAKK1xmQlwtcVxmUiwgXGZCXC1cLXF1aWV0XGZSCitCZSBxdWlldCAoZG8gbm90IHdyaXRlIHN0YXJ0IGFuZCBkb25lIG1lc3NhZ2VzIHRvIGVpdGhlciBzdGFuZGFyZCBvdXRwdXQKK29yIHRoZSB0eXBlc2NyaXB0IGZpbGUpLgorLlRQCitcZkJcLXRcZlIsIFxmQlwtXC10aW1pbmdcZlJbPVxmSWZpbGVcZlJdCitPdXRwdXQgdGltaW5nIGRhdGEgdG8gc3RhbmRhcmQgZXJyb3IsIG9yIHRvCisuSSBmaWxlCit3aGVuIGdpdmVuLiAgVGhpcyBkYXRhIGNvbnRhaW5zIHR3byBmaWVsZHMsIHNlcGFyYXRlZCBieSBhIHNwYWNlLiAgVGhlIGZpcnN0CitmaWVsZCBpbmRpY2F0ZXMgaG93IG11Y2ggdGltZSBlbGFwc2VkIHNpbmNlIHRoZSBwcmV2aW91cyBvdXRwdXQuICBUaGUgc2Vjb25kCitmaWVsZCBpbmRpY2F0ZXMgaG93IG1hbnkgY2hhcmFjdGVycyB3ZXJlIG91dHB1dCB0aGlzIHRpbWUuICBUaGlzIGluZm9ybWF0aW9uCitjYW4gYmUgdXNlZCB0byByZXBsYXkgdHlwZXNjcmlwdHMgd2l0aCByZWFsaXN0aWMgdHlwaW5nIGFuZCBvdXRwdXQgZGVsYXlzLgorLlRQCitcZkJcLVZcZlIsIFxmQlwtXC12ZXJzaW9uXGZSCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKK1xmQlwtaFxmUiwgXGZCXC1cLWhlbHBcZlIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIIE5PVEVTCitUaGUgc2NyaXB0IGVuZHMgd2hlbiB0aGUgZm9ya2VkIHNoZWxsIGV4aXRzIChhCisuSSBjb250cm9sLUQKK2ZvciB0aGUgQm91cm5lIHNoZWxsCisuUkIgKCBzaCAoMSkpLAorYW5kCisuSVIgZXhpdCAsCisuSSBsb2dvdXQKK29yCisuSSBjb250cm9sLWQKKyhpZgorLkkgaWdub3JlZW9mCitpcyBub3Qgc2V0KSBmb3IgdGhlCitDLXNoZWxsLAorLkJSIGNzaCAoMSkpLgorLlBQCitDZXJ0YWluIGludGVyYWN0aXZlIGNvbW1hbmRzLCBzdWNoIGFzCisuQlIgdmkgKDEpLAorY3JlYXRlIGdhcmJhZ2UgaW4gdGhlIHR5cGVzY3JpcHQgZmlsZS4KKy5CIHNjcmlwdAord29ya3MgYmVzdCB3aXRoIGNvbW1hbmRzIHRoYXQgZG8gbm90IG1hbmlwdWxhdGUgdGhlIHNjcmVlbiwgdGhlIHJlc3VsdHMgYXJlCittZWFudCB0byBlbXVsYXRlIGEgaGFyZGNvcHkgdGVybWluYWwuCisuUFAKK0l0IGlzIG5vdCByZWNvbW1lbmRlZCB0byBydW4KKy5CIHNjcmlwdAoraW4gbm9uLWludGVyYWN0aXZlIHNoZWxscy4gIFRoZSBpbm5lciBzaGVsbCBvZgorLkIgc2NyaXB0CitpcyBhbHdheXMgaW50ZXJhY3RpdmUsIGFuZCB0aGlzIGNvdWxkIGxlYWQgdG8gdW5leHBlY3RlZCByZXN1bHRzLiAgSWYgeW91IHVzZQorLkIgc2NyaXB0CitpbiB0aGUgc2hlbGwgaW5pdGlhbGl6YXRpb24gZmlsZSwgeW91IGhhdmUgdG8gYXZvaWQgZW50ZXJpbmcgYW4gaW5maW5pdGUKK2xvb3AuICBZb3UgY2FuIHVzZSBmb3IgZXhhbXBsZSB0aGUgXGZCXCUucHJvZmlsZVxmUiBmaWxlLCB3aGljaCBpcyByZWFkCitieSBsb2dpbiBzaGVsbHMgb25seToKKy5SUworLlJFCisuc3AKKy5uYQorLlJTCisubmYKK2lmIHRlc3QgLXQgMCA7IHRoZW4KKyAgICBzY3JpcHQKKyAgICBleGl0CitmaQorLmZpCisuUkUKKy5hZAorLlBQCitZb3Ugc2hvdWxkIGFsc28gYXZvaWQgdXNlIG9mIHNjcmlwdCBpbiBjb21tYW5kIHBpcGVzLCBhcworLkIgc2NyaXB0CitjYW4gcmVhZCBtb3JlIGlucHV0IHRoYW4geW91IHdvdWxkIGV4cGVjdC4KKy5QUAorLlNIIEVOVklST05NRU5UCitUaGUgZm9sbG93aW5nIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHV0aWxpemVkIGJ5CisuQlIgc2NyaXB0IDoKKy5UUAorLkIgU0hFTEwKK0lmIHRoZSB2YXJpYWJsZQorLkIgU0hFTEwKK2V4aXN0cywgdGhlIHNoZWxsIGZvcmtlZCBieQorLkIgc2NyaXB0Cit3aWxsIGJlIHRoYXQgc2hlbGwuICBJZgorLkIgU0hFTEwKK2lzIG5vdCBzZXQsIHRoZSBCb3VybmUgc2hlbGwgaXMgYXNzdW1lZC4gIChNb3N0IHNoZWxscyBzZXQgdGhpcyB2YXJpYWJsZQorYXV0b21hdGljYWxseSkuCisuU0ggU0VFIEFMU08KKy5CUiBjc2ggKDEpCisoZm9yIHRoZQorLkkgaGlzdG9yeQorbWVjaGFuaXNtKSwKKy5CUiBzY3JpcHRyZXBsYXkgKDEpCisuU0ggSElTVE9SWQorVGhlCisuQiBzY3JpcHQKK2NvbW1hbmQgYXBwZWFyZWQgaW4gMy4wQlNELgorLlNIIEJVR1MKKy5CIHNjcmlwdAorcGxhY2VzCisuSSBldmVyeXRoaW5nCitpbiB0aGUgbG9nIGZpbGUsIGluY2x1ZGluZyBsaW5lZmVlZHMgYW5kIGJhY2tzcGFjZXMuICBUaGlzIGlzIG5vdCB3aGF0IHRoZQorbmFpdmUgdXNlciBleHBlY3RzLgorLlBQCisuQiBzY3JpcHQKK2lzIHByaW1hcmlseSBkZXNpZ25lZCBmb3IgaW50ZXJhY3RpdmUgdGVybWluYWwgc2Vzc2lvbnMuICBXaGVuIHN0ZGluCitpcyBub3QgYSB0ZXJtaW5hbCAoZm9yIGV4YW1wbGU6IFxmQmVjaG8gZm9vIHwgc2NyaXB0XGZSKSwgdGhlbiB0aGUgc2Vzc2lvbgorY2FuIGhhbmcsIGJlY2F1c2UgdGhlIGludGVyYWN0aXZlIHNoZWxsIHdpdGhpbiB0aGUgc2NyaXB0IHNlc3Npb24gbWlzc2VzIEVPRiBhbmQKKy5CIHNjcmlwdAoraGFzIG5vIGNsdWUgd2hlbiB0byBjbG9zZSB0aGUgc2Vzc2lvbi4gIFNlZSB0aGUgXGZCTk9URVNcZlIgc2VjdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBzY3JpcHQgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgZnRwOi8vXDpmdHAua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS90ZXJtLXV0aWxzL3NjcmlwdC5jIGIvdGVybS11dGlscy9zY3JpcHQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OWExZTI4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVybS11dGlscy9zY3JpcHQuYwpAQCAtMCwwICsxLDc5MyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk4MCBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisgKiAgICBtdXN0IGRpc3BsYXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnZW1lbnQ6CisgKiAgICAgIFRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKyAqICAgICAgQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisgKiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKy8qCisgKiAxOTk5LTAyLTIyIEFya2FkaXVzeiBNacWba2lld2ljeiA8bWlzaWVrQHBsZC5PUkcuUEw+CisgKiAtIGFkZGVkIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0CisgKgorICogMjAwMC0wNy0zMCBQZXIgQW5kcmVhcyBCdWVyIDxwZXJAbGlucHJvLm5vPiAtIGFkZGVkICJxIi1vcHRpb24KKyAqCisgKiAyMDE0LTA1LTMwIENzYWJhIEtvcyA8Y3NhYmEua29zQGdtYWlsLmNvbT4KKyAqIC0gZml4ZWQgYSByYXJlIGRlYWRsb2NrIGFmdGVyIGNoaWxkIHRlcm1pbmF0aW9uCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8cGF0aHMuaD4KKyNpbmNsdWRlIDx0aW1lLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDx0ZXJtaW9zLmg+CisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNpbmNsdWRlIDxzaWduYWwuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8bG9jYWxlLmg+CisjaW5jbHVkZSA8c3RkZGVmLmg+CisjaW5jbHVkZSA8c3lzL3dhaXQuaD4KKyNpbmNsdWRlIDxwb2xsLmg+CisjaW5jbHVkZSA8c3lzL3NpZ25hbGZkLmg+CisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKworI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgInR0eXV0aWxzLmgiCisjaW5jbHVkZSAiYWxsLWlvLmgiCisjaW5jbHVkZSAibW9ub3RvbmljLmgiCisKKyNpbmNsdWRlICJkZWJ1Zy5oIgorCitVTF9ERUJVR19ERUZJTkVfTUFTSyhzY3JpcHQpOworVUxfREVCVUdfREVGSU5FX01BU0tOQU1FUyhzY3JpcHQpID0gVUxfREVCVUdfRU1QVFlfTUFTS05BTUVTOworCisjZGVmaW5lIFNDUklQVF9ERUJVR19JTklUCSgxIDw8IDEpCisjZGVmaW5lIFNDUklQVF9ERUJVR19QT0xMCSgxIDw8IDIpCisjZGVmaW5lIFNDUklQVF9ERUJVR19TSUdOQUwJKDEgPDwgMykKKyNkZWZpbmUgU0NSSVBUX0RFQlVHX0lPCQkoMSA8PCA0KQorI2RlZmluZSBTQ1JJUFRfREVCVUdfTUlTQwkoMSA8PCA1KQorI2RlZmluZSBTQ1JJUFRfREVCVUdfQUxMCTB4RkZGRgorCisjZGVmaW5lIERCRyhtLCB4KSAgICAgICBfX1VMX0RCRyhzY3JpcHQsIFNDUklQVF9ERUJVR18sIG0sIHgpCisjZGVmaW5lIE9OX0RCRyhtLCB4KSAgICBfX1VMX0RCR19DQUxMKHNjcmlwdCwgU0NSSVBUX0RFQlVHXywgbSwgeCkKKworI2lmIGRlZmluZWQoSEFWRV9MSUJVVElMKSAmJiBkZWZpbmVkKEhBVkVfUFRZX0gpCisjIGluY2x1ZGUgPHB0eS5oPgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0xJQlVURU1QVEVSCisjIGluY2x1ZGUgPHV0ZW1wdGVyLmg+CisjZW5kaWYKKworI2RlZmluZSBERUZBVUxUX1RZUEVTQ1JJUFRfRklMRU5BTUUgInR5cGVzY3JpcHQiCisKK3N0cnVjdCBzY3JpcHRfY29udHJvbCB7CisJY2hhciAqc2hlbGw7CQkvKiBzaGVsbCB0byBiZSBleGVjdXRlZCAqLworCWNoYXIgKmNvbW1hbmQ7CQkvKiBjb21tYW5kIHRvIGJlIGV4ZWN1dGVkICovCisJY2hhciAqZm5hbWU7CQkvKiBvdXRwdXQgZmlsZSBwYXRoICovCisJRklMRSAqdHlwZXNjcmlwdGZwOwkvKiBvdXRwdXQgZmlsZSBwb2ludGVyICovCisJY2hhciAqdG5hbWU7CQkvKiB0aW1pbmcgZmlsZSBwYXRoICovCisJRklMRSAqdGltaW5nZnA7CQkvKiB0aW1pbmcgZmlsZSBwb2ludGVyICovCisJc3RydWN0IHRpbWV2YWwgb2xkdGltZTsJLyogcHJldmlvdXMgd3JpdGUgb3IgY29tbWFuZCBzdGFydCB0aW1lICovCisJaW50IG1hc3RlcjsJCS8qIHBzZXVkb3Rlcm1pbmFsIG1hc3RlciBmaWxlIGRlc2NyaXB0b3IgKi8KKwlpbnQgc2xhdmU7CQkvKiBwc2V1ZG90ZXJtaW5hbCBzbGF2ZSBmaWxlIGRlc2NyaXB0b3IgKi8KKwlpbnQgcG9sbF90aW1lb3V0OwkvKiBwb2xsKCkgdGltZW91dCwgdXNlZCBpbiBlbmQgb2YgZXhlY3V0aW9uICovCisJcGlkX3QgY2hpbGQ7CQkvKiBjaGlsZCBwaWQgKi8KKwlpbnQgY2hpbGRzdGF0dXM7CS8qIGNoaWxkIHByb2Nlc3MgZXhpdCB2YWx1ZSAqLworCXN0cnVjdCB0ZXJtaW9zIGF0dHJzOwkvKiBzbGF2ZSB0ZXJtaW5hbCBydW50aW1lIGF0dHJpYnV0ZXMgKi8KKwlzdHJ1Y3Qgd2luc2l6ZSB3aW47CS8qIHRlcm1pbmFsIHdpbmRvdyBzaXplICovCisjaWYgIUhBVkVfTElCVVRJTCB8fCAhSEFWRV9QVFlfSAorCWNoYXIgKmxpbmU7CQkvKiB0ZXJtaW5hbCBsaW5lICovCisjZW5kaWYKKwl1bnNpZ25lZCBpbnQKKwkgYXBwZW5kOjEsCQkvKiBhcHBlbmQgb3V0cHV0ICovCisJIHJjX3dhbnRlZDoxLAkJLyogcmV0dXJuIGNoaWxkIGV4aXQgdmFsdWUgKi8KKwkgZmx1c2g6MSwJCS8qIGZsdXNoIGFmdGVyIGVhY2ggd3JpdGUgKi8KKwkgcXVpZXQ6MSwJCS8qIHN1cHByZXNzIG1vc3Qgb3V0cHV0ICovCisJIHRpbWluZzoxLAkJLyogaW5jbHVkZSB0aW1pbmcgZmlsZSAqLworCSBmb3JjZToxLAkJLyogd3JpdGUgb3V0cHV0IHRvIGxpbmtzICovCisJIGlzdGVybToxLAkJLyogaXMgY2hpbGQgcHJvY2VzcyBydW5uaW5nIGFzIHRlcm1pbmFsICovCisJIGRpZToxOwkJCS8qIHRlcm1pbmF0ZSBwcm9ncmFtICovCisKKwlzaWdzZXRfdCBzaWdzZXQ7CS8qIGNhdGNoIFNJR0NITEQgYW5kIFNJR1dJTkNIIHdpdGggc2lnbmFsZmQoKSAqLworCXNpZ3NldF90IHNpZ29yZzsJLyogb3JpZ2luYWwgc2lnbmFsIG1hc2sgKi8KKwlpbnQgc2lnZmQ7CQkvKiBmaWxlIGRlc2NyaXB0b3IgZm9yIHNpZ25hbGZkKCkgKi8KK307CisKK3N0YXRpYyB2b2lkIHNjcmlwdF9pbml0X2RlYnVnKHZvaWQpCit7CisJX19VTF9JTklUX0RFQlVHKHNjcmlwdCwgU0NSSVBUX0RFQlVHXywgMCwgU0NSSVBUX0RFQlVHKTsKK30KKworLyoKKyAqIEZvciB0ZXN0cyB3ZSB3YW50IHRvIGJlIGFibGUgdG8gY29udHJvbCB0aW1lIG91dHB1dAorICovCisjaWZkZWYgVEVTVF9TQ1JJUFQKK3N0YXRpYyBpbmxpbmUgdGltZV90IHNjcmlwdF90aW1lKHRpbWVfdCAqdCkKK3sKKwljb25zdCBjaGFyICpzdHIgPSBnZXRlbnYoIlNDUklQVF9URVNUX1NFQ09ORF9TSU5DRV9FUE9DSCIpOworCWludDY0X3Qgc2VjOworCisJaWYgKCFzdHIgfHwgc3NjYW5mKHN0ciwgIiUiU0NOaTY0LCAmc2VjKSAhPSAxKQorCQlyZXR1cm4gdGltZSh0KTsKKwlpZiAodCkKKwkJKnQgPSAodGltZV90KXNlYzsKKwlyZXR1cm4gKHRpbWVfdClzZWM7Cit9CisjZWxzZQkvKiAhVEVTVF9TQ1JJUFQgKi8KKyMgZGVmaW5lIHNjcmlwdF90aW1lKHgpIHRpbWUoeCkKKyNlbmRpZgorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZShGSUxFICpvdXQpCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJNYWtlIGEgdHlwZXNjcmlwdCBvZiBhIHRlcm1pbmFsIHNlc3Npb24uXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgIGFwcGVuZCB0aGUgb3V0cHV0XG4iCisJCSIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gcnVuIGNvbW1hbmQgcmF0aGVyIHRoYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKKwkJIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICByZXR1cm4gZXhpdCBjb2RlIG9mIHRoZSBjaGlsZCBwcm9jZXNzXG4iCisJCSIgLWYsIC0tZmx1c2ggICAgICAgICAgICAgcnVuIGZsdXNoIGFmdGVyIGVhY2ggd3JpdGVcbiIKKwkJIiAgICAgLS1mb3JjZSAgICAgICAgICAgICB1c2Ugb3V0cHV0IGZpbGUgZXZlbiB3aGVuIGl0IGlzIGEgbGlua1xuIgorCQkiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIGJlIHF1aWV0XG4iCisJCSIgLXQsIC0tdGltaW5nWz08ZmlsZT5dICAgb3V0cHV0IHRpbWluZyBkYXRhIHRvIHN0ZGVyciAob3IgdG8gRklMRSlcbiIKKwkJIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorCQkiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG5cbiIpLCBvdXQpOworCisJZnByaW50ZihvdXQsIFVTQUdFX01BTl9UQUlMKCJzY3JpcHQoMSkiKSk7CisJZXhpdChvdXQgPT0gc3RkZXJyID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIHZvaWQgZGllX2lmX2xpbmsoY29uc3Qgc3RydWN0IHNjcmlwdF9jb250cm9sICpjdGwpCit7CisJc3RydWN0IHN0YXQgczsKKworCWlmIChjdGwtPmZvcmNlKQorCQlyZXR1cm47CisJaWYgKGxzdGF0KGN0bC0+Zm5hbWUsICZzKSA9PSAwICYmIChTX0lTTE5LKHMuc3RfbW9kZSkgfHwgcy5zdF9ubGluayA+IDEpKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJICAgICBfKCJvdXRwdXQgZmlsZSBgJXMnIGlzIGEgbGlua1xuIgorCQkgICAgICAgIlVzZSAtLWZvcmNlIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuXG4iCisJCSAgICAgICAiUHJvZ3JhbSBub3Qgc3RhcnRlZC4iKSwgY3RsLT5mbmFtZSk7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIGRvbmUoc3RydWN0IHNjcmlwdF9jb250cm9sICpjdGwpCit7CisJREJHKE1JU0MsIHVsX2RlYnVnKCJkb25lISIpKTsKKworCWlmIChjdGwtPmlzdGVybSkKKwkJdGNzZXRhdHRyKFNURElOX0ZJTEVOTywgVENTQURSQUlOLCAmY3RsLT5hdHRycyk7CisJaWYgKCFjdGwtPnF1aWV0ICYmIGN0bC0+dHlwZXNjcmlwdGZwKQorCQlwcmludGYoXygiU2NyaXB0IGRvbmUsIGZpbGUgaXMgJXNcbiIpLCBjdGwtPmZuYW1lKTsKKyNpZmRlZiBIQVZFX0xJQlVURU1QVEVSCisJaWYgKGN0bC0+bWFzdGVyID49IDApCisJCXV0ZW1wdGVyX3JlbW92ZV9yZWNvcmQoY3RsLT5tYXN0ZXIpOworI2VuZGlmCisJa2lsbChjdGwtPmNoaWxkLCBTSUdURVJNKTsJLyogbWFrZSBzdXJlIHdlIGRvbid0IGNyZWF0ZSBvcnBoYW5zICovCisKKwlpZiAoY3RsLT50aW1pbmdmcCAmJiBjbG9zZV9zdHJlYW0oY3RsLT50aW1pbmdmcCkgIT0gMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgIndyaXRlIGZhaWxlZDogJXMiLCBjdGwtPnRuYW1lKTsKKwlpZiAoY3RsLT50eXBlc2NyaXB0ZnAgJiYgY2xvc2Vfc3RyZWFtKGN0bC0+dHlwZXNjcmlwdGZwKSAhPSAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCAid3JpdGUgZmFpbGVkOiAlcyIsIGN0bC0+Zm5hbWUpOworCisJaWYgKGN0bC0+cmNfd2FudGVkKSB7CisJCWlmIChXSUZTSUdOQUxFRChjdGwtPmNoaWxkc3RhdHVzKSkKKwkJCWV4aXQoV1RFUk1TSUcoY3RsLT5jaGlsZHN0YXR1cykgKyAweDgwKTsKKwkJZWxzZQorCQkJZXhpdChXRVhJVFNUQVRVUyhjdGwtPmNoaWxkc3RhdHVzKSk7CisJfQorCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgZmFpbChzdHJ1Y3Qgc2NyaXB0X2NvbnRyb2wgKmN0bCkKK3sKKwlEQkcoTUlTQywgdWxfZGVidWcoImZhaWwhIikpOworCWtpbGwoMCwgU0lHVEVSTSk7CisJZG9uZShjdGwpOworfQorCitzdGF0aWMgdm9pZCB3YWl0X2Zvcl9jaGlsZChzdHJ1Y3Qgc2NyaXB0X2NvbnRyb2wgKmN0bCwgaW50IHdhaXQpCit7CisJaW50IHN0YXR1czsKKwlwaWRfdCBwaWQ7CisJaW50IG9wdGlvbnMgPSB3YWl0ID8gMCA6IFdOT0hBTkc7CisKKwlEQkcoTUlTQywgdWxfZGVidWcoIndhaXRpbmcgZm9yIGNoaWxkIikpOworCisJd2hpbGUgKChwaWQgPSB3YWl0Mygmc3RhdHVzLCBvcHRpb25zLCBOVUxMKSkgPiAwKQorCQlpZiAocGlkID09IGN0bC0+Y2hpbGQpCisJCQljdGwtPmNoaWxkc3RhdHVzID0gc3RhdHVzOworfQorCitzdGF0aWMgdm9pZCB3cml0ZV9vdXRwdXQoc3RydWN0IHNjcmlwdF9jb250cm9sICpjdGwsIGNoYXIgKm9idWYsCisJCQkgICAgc3NpemVfdCBieXRlcykKK3sKKwlEQkcoSU8sIHVsX2RlYnVnKCIgd3JpdGluZyBvdXRwdXQiKSk7CisKKwlpZiAoY3RsLT50aW1pbmcgJiYgY3RsLT50aW1pbmdmcCkgeworCQlzdHJ1Y3QgdGltZXZhbCBub3csIGRlbHRhOworCisJCURCRyhJTywgdWxfZGVidWcoIiAgd3JpdGluZyB0aW1pbmcgaW5mbyIpKTsKKworCQlnZXR0aW1lX21vbm90b25pYygmbm93KTsKKwkJdGltZXJzdWIoJm5vdywgJmN0bC0+b2xkdGltZSwgJmRlbHRhKTsKKwkJZnByaW50ZihjdGwtPnRpbWluZ2ZwLCAiJWxkLiUwNmxkICV6ZFxuIiwKKwkJICAgICAgICAobG9uZylkZWx0YS50dl9zZWMsIChsb25nKWRlbHRhLnR2X3VzZWMsIGJ5dGVzKTsKKwkJaWYgKGN0bC0+Zmx1c2gpCisJCQlmZmx1c2goY3RsLT50aW1pbmdmcCk7CisJCWN0bC0+b2xkdGltZSA9IG5vdzsKKwl9CisKKwlEQkcoSU8sIHVsX2RlYnVnKCIgIHdyaXRpbmcgdG8gc2NyaXB0IGZpbGUiKSk7CisKKwlpZiAoZndyaXRlX2FsbChvYnVmLCAxLCBieXRlcywgY3RsLT50eXBlc2NyaXB0ZnApKSB7CisJCXdhcm4oXygiY2Fubm90IHdyaXRlIHNjcmlwdCBmaWxlIikpOworCQlmYWlsKGN0bCk7CisJfQorCWlmIChjdGwtPmZsdXNoKQorCQlmZmx1c2goY3RsLT50eXBlc2NyaXB0ZnApOworCisJREJHKElPLCB1bF9kZWJ1ZygiICB3cml0aW5nIHRvIG91dHB1dCIpKTsKKworCWlmICh3cml0ZV9hbGwoU1RET1VUX0ZJTEVOTywgb2J1ZiwgYnl0ZXMpKSB7CisJCURCRyhJTywgdWxfZGVidWcoIiAgd3JpdGluZyBvdXRwdXQgKmZhaWxlZCoiKSk7CisJCXdhcm4oXygid3JpdGUgZmFpbGVkIikpOworCQlmYWlsKGN0bCk7CisJfQorCisJREJHKElPLCB1bF9kZWJ1ZygiICB3cml0aW5nIG91dHB1dCAqZG9uZSoiKSk7Cit9CisKK3N0YXRpYyBpbnQgd3JpdGVfdG9fc2hlbGwoc3RydWN0IHNjcmlwdF9jb250cm9sICpjdGwsCisJCQkgIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnN6KQoreworCXJldHVybiB3cml0ZV9hbGwoY3RsLT5tYXN0ZXIsIGJ1ZiwgYnVmc3opOworfQorCisvKgorICogVGhlIHNjcmlwdCgxKSBpcyB1c3VhbGx5IGZhc3RlciB0aGFuIHNoZWxsLCBzbyBpdCdzIGEgZ29vZCBpZGVhIHRvIHdhaXQgdW50aWwKKyAqIHRoZSBwcmV2aW91cyBtZXNzYWdlIGhhcyBiZWVuIGFscmVhZHkgcmVhZCBieSBzaGVsbCBmcm9tIHNsYXZlIGJlZm9yZSB3ZQorICogd3JpdGUgdG8gbWFzdGVyLiBUaGlzIGlzIG5lY2Vzc2FyeSBlc3BlY2lhbGx5IGZvciBFT0Ygc2l0dWF0aW9uIHdoZW4gd2UgY2FuCisgKiBzZW5kIEVPRiB0byBtYXN0ZXIgYmVmb3JlIHNoZWxsIGlzIGZ1bGx5IGluaXRpYWxpemVkLCB0byB3b3JrYXJvdW5kIHRoaXMKKyAqIHByb2JsZW0gd2Ugd2FpdCB1bnRpbCBzbGF2ZSBpcyBlbXB0eS4gRm9yIGV4YW1wbGU6CisgKgorICogICBlY2hvICJkYXRlIiB8IHNjcmlwdAorICoKKyAqIFVuZm9ydHVuYXRlbHksIHRoZSBjaGlsZCAodXN1YWxseSBzaGVsbCkgY2FuIGlnbm9yZSBzdGRpbiBhdCBhbGwsIHNvIHdlCisgKiBkb24ndCB3YWl0IGZvcmV2ZXIgdG8gYXZvaWQgZGVhZCBsb2Nrcy4uLgorICoKKyAqIE5vdGUgdGhhdCBzY3JpcHQgaXMgcHJpbWFyaWx5IGRlc2lnbmVkIGZvciBpbnRlcmFjdGl2ZSBzZXNzaW9ucyBhcyBpdAorICogbWFpbnRhaW5zIG1hc3RlcitzbGF2ZSB0dHkgc3R1ZmYgd2l0aGluIHRoZSBzZXNzaW9uLiBVc2UgcGlwZSB0byB3cml0ZSB0bworICogc2NyaXB0KDEpIGFuZCBhc3N1bWUgbm9uLWludGVyYWN0aXZlICh0ZWUtbGlrZSkgYmVoYXZpb3IgaXMgTk9UIHdlbGwKKyAqIHN1cHBvcnRlZC4KKyAqLworc3RhdGljIHZvaWQgd3JpdGVfZW9mX3RvX3NoZWxsKHN0cnVjdCBzY3JpcHRfY29udHJvbCAqY3RsKQoreworCXVuc2lnbmVkIGludCB0cmllcyA9IDA7CisJc3RydWN0IHBvbGxmZCBmZHNbXSA9IHsKKwkgICAgICAgICAgIHsgLmZkID0gY3RsLT5zbGF2ZSwgLmV2ZW50cyA9IFBPTExJTiB9CisJfTsKKwljaGFyIGMgPSBERUZfRU9GOworCisJREJHKElPLCB1bF9kZWJ1ZygiIHdhaXRpbmcgZm9yIGVtcHR5IHNsYXZlIikpOworCXdoaWxlIChwb2xsKGZkcywgMSwgMTApID09IDEgJiYgdHJpZXMgPCA4KSB7CisJCURCRyhJTywgdWxfZGVidWcoIiAgIHNsYXZlIGlzIG5vdCBlbXB0eSIpKTsKKwkJeHVzbGVlcCgyNTAwMDApOworCQl0cmllcysrOworCX0KKwlpZiAodHJpZXMgPCA4KQorCQlEQkcoSU8sIHVsX2RlYnVnKCIgICBzbGF2ZSBpcyBlbXB0eSBub3ciKSk7CisKKwlEQkcoSU8sIHVsX2RlYnVnKCIgc2VuZGluZyBFT0YgdG8gbWFzdGVyIikpOworCXdyaXRlX3RvX3NoZWxsKGN0bCwgJmMsIHNpemVvZihjaGFyKSk7Cit9CisKK3N0YXRpYyB2b2lkIGhhbmRsZV9pbyhzdHJ1Y3Qgc2NyaXB0X2NvbnRyb2wgKmN0bCwgaW50IGZkLCBpbnQgKmVvZikKK3sKKwljaGFyIGJ1ZltCVUZTSVpdOworCXNzaXplX3QgYnl0ZXM7CisKKwlEQkcoSU8sIHVsX2RlYnVnKCIlZCBGRCBhY3RpdmUiLCBmZCkpOworCSplb2YgPSAwOworCisJLyogcmVhZCBmcm9tIGFjdGl2ZSBGRCAqLworCWJ5dGVzID0gcmVhZChmZCwgYnVmLCBzaXplb2YoYnVmKSk7CisJaWYgKGJ5dGVzIDwgMCkgeworCQlpZiAoZXJybm8gPT0gRUFHQUlOIHx8IGVycm5vID09IEVJTlRSKQorCQkJcmV0dXJuOworCQlmYWlsKGN0bCk7CisJfQorCisJaWYgKGJ5dGVzID09IDApIHsKKwkJKmVvZiA9IDE7CisJCXJldHVybjsKKwl9CisKKwkvKiBmcm9tIHN0ZGluICh1c2VyKSB0byBjb21tYW5kICovCisJaWYgKGZkID09IFNURElOX0ZJTEVOTykgeworCQlEQkcoSU8sIHVsX2RlYnVnKCIgc3RkaW4gLS0+IG1hc3RlciAlemQgYnl0ZXMiLCBieXRlcykpOworCisJCWlmICh3cml0ZV90b19zaGVsbChjdGwsIGJ1ZiwgYnl0ZXMpKSB7CisJCQl3YXJuKF8oIndyaXRlIGZhaWxlZCIpKTsKKwkJCWZhaWwoY3RsKTsKKwkJfQorCQkvKiB3aXRob3V0IHN5bmMgd3JpdGVfb3V0cHV0KCkgd2lsbCB3cml0ZSBib3RoIGlucHV0ICYKKwkJICogc2hlbGwgb3V0cHV0IHRoYXQgbG9va3MgbGlrZSBkb3VibGUgZWNob2luZyAqLworCQlmZGF0YXN5bmMoY3RsLT5tYXN0ZXIpOworCisJLyogZnJvbSBjb21tYW5kIChtYXN0ZXIpIHRvIHN0ZG91dCAqLworCX0gZWxzZSBpZiAoZmQgPT0gY3RsLT5tYXN0ZXIpIHsKKwkJREJHKElPLCB1bF9kZWJ1ZygiIG1hc3RlciAtLT4gc3Rkb3V0ICV6ZCBieXRlcyIsIGJ5dGVzKSk7CisJCXdyaXRlX291dHB1dChjdGwsIGJ1ZiwgYnl0ZXMpOworCX0KK30KKworc3RhdGljIHZvaWQgaGFuZGxlX3NpZ25hbChzdHJ1Y3Qgc2NyaXB0X2NvbnRyb2wgKmN0bCwgaW50IGZkKQoreworCXN0cnVjdCBzaWduYWxmZF9zaWdpbmZvIGluZm87CisJc3NpemVfdCBieXRlczsKKworCURCRyhTSUdOQUwsIHVsX2RlYnVnKCJzaWduYWwgRkQgJWQgYWN0aXZlIiwgZmQpKTsKKworCWJ5dGVzID0gcmVhZChmZCwgJmluZm8sIHNpemVvZihpbmZvKSk7CisJaWYgKGJ5dGVzICE9IHNpemVvZihpbmZvKSkgeworCQlpZiAoYnl0ZXMgPCAwICYmIChlcnJubyA9PSBFQUdBSU4gfHwgZXJybm8gPT0gRUlOVFIpKQorCQkJcmV0dXJuOworCQlmYWlsKGN0bCk7CisJfQorCisJc3dpdGNoIChpbmZvLnNzaV9zaWdubykgeworCWNhc2UgU0lHQ0hMRDoKKwkJREJHKFNJR05BTCwgdWxfZGVidWcoIiBnZXQgc2lnbmFsIFNJR0NITEQiKSk7CisJCXdhaXRfZm9yX2NoaWxkKGN0bCwgMCk7CisJCWN0bC0+cG9sbF90aW1lb3V0ID0gMTA7CisJCXJldHVybjsKKwljYXNlIFNJR1dJTkNIOgorCQlEQkcoU0lHTkFMLCB1bF9kZWJ1ZygiIGdldCBzaWduYWwgU0lHV0lOQ0giKSk7CisJCWlmIChjdGwtPmlzdGVybSkgeworCQkJaW9jdGwoU1RESU5fRklMRU5PLCBUSU9DR1dJTlNaLCAoY2hhciAqKSZjdGwtPndpbik7CisJCQlpb2N0bChjdGwtPnNsYXZlLCBUSU9DU1dJTlNaLCAoY2hhciAqKSZjdGwtPndpbik7CisJCX0KKwkJYnJlYWs7CisJY2FzZSBTSUdURVJNOgorCQkvKiBmYWxsdGhyb3VnaCAqLworCWNhc2UgU0lHSU5UOgorCQkvKiBmYWxsdGhyb3VnaCAqLworCWNhc2UgU0lHUVVJVDoKKwkJREJHKFNJR05BTCwgdWxfZGVidWcoIiBnZXQgc2lnbmFsIFNJR3tURVJNLElOVCxRVUlUfSIpKTsKKwkJZnByaW50ZihzdGRlcnIsIF8oIlxuU2Vzc2lvbiB0ZXJtaW5hdGVkLlxuIikpOworCQkvKiBDaGlsZCB0ZXJtaW5hdGlvbiBpcyBnb2luZyB0byBnZW5lcmF0ZSBTSUdDSElMRCAoc2VlIGFib3ZlKSAqLworCQlraWxsKGN0bC0+Y2hpbGQsIFNJR1RFUk0pOworCQlyZXR1cm47CisJZGVmYXVsdDoKKwkJYWJvcnQoKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGRvX2lvKHN0cnVjdCBzY3JpcHRfY29udHJvbCAqY3RsKQoreworCWludCByZXQsIGlnbm9yZV9zdGRpbiA9IDAsIGVvZiA9IDA7CisJdGltZV90IHR2ZWMgPSBzY3JpcHRfdGltZSgodGltZV90ICopTlVMTCk7CisJY2hhciBidWZbMTI4XTsKKwllbnVtIHsKKwkJUE9MTEZEX1NJR05BTCA9IDAsCisJCVBPTExGRF9NQVNURVIsCisJCVBPTExGRF9TVERJTgkvKiBvcHRpb25hbDsga2VlcCBpdCBsYXN0LCBzZWUgaWdub3JlX3N0ZGluICovCisKKwl9OworCXN0cnVjdCBwb2xsZmQgcGZkW10gPSB7CisJCVtQT0xMRkRfU0lHTkFMXSA9IHsgLmZkID0gY3RsLT5zaWdmZCwgICAuZXZlbnRzID0gUE9MTElOIHwgUE9MTEVSUiB8IFBPTExIVVAgfSwKKwkJW1BPTExGRF9NQVNURVJdID0geyAuZmQgPSBjdGwtPm1hc3RlciwgIC5ldmVudHMgPSBQT0xMSU4gfCBQT0xMRVJSIHwgUE9MTEhVUCB9LAorCQlbUE9MTEZEX1NURElOXQk9IHsgLmZkID0gU1RESU5fRklMRU5PLCAuZXZlbnRzID0gUE9MTElOIHwgUE9MTEVSUiB8IFBPTExIVVAgfQorCX07CisKKworCWlmICgoY3RsLT50eXBlc2NyaXB0ZnAgPQorCSAgICAgZm9wZW4oY3RsLT5mbmFtZSwgY3RsLT5hcHBlbmQgPyAiYSIgVUxfQ0xPRVhFQ1NUUiA6ICJ3IiBVTF9DTE9FWEVDU1RSKSkgPT0gTlVMTCkgeworCQl3YXJuKF8oImNhbm5vdCBvcGVuICVzIiksIGN0bC0+Zm5hbWUpOworCQlmYWlsKGN0bCk7CisJfQorCWlmIChjdGwtPnRpbWluZykgeworCQlpZiAoIWN0bC0+dG5hbWUpIHsKKwkJCWlmICghKGN0bC0+dGltaW5nZnAgPSBmb3BlbigiL2Rldi9zdGRlcnIiLCAidyIgVUxfQ0xPRVhFQ1NUUikpKQorCQkJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksICIvZGV2L3N0ZGVyciIpOworCQl9IGVsc2UgaWYgKCEoY3RsLT50aW1pbmdmcCA9IGZvcGVuKGN0bC0+dG5hbWUsICJ3IiBVTF9DTE9FWEVDU1RSKSkpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBjdGwtPnRuYW1lKTsKKwl9CisKKworCXN0cmZ0aW1lKGJ1Ziwgc2l6ZW9mIGJ1ZiwgIiVjXG4iLCBsb2NhbHRpbWUoJnR2ZWMpKTsKKwlmcHJpbnRmKGN0bC0+dHlwZXNjcmlwdGZwLCBfKCJTY3JpcHQgc3RhcnRlZCBvbiAlcyIpLCBidWYpOworCWdldHRpbWVfbW9ub3RvbmljKCZjdGwtPm9sZHRpbWUpOworCisJd2hpbGUgKCFjdGwtPmRpZSkgeworCQlzaXplX3QgaTsKKwkJaW50IGVycnN2OworCisJCURCRyhQT0xMLCB1bF9kZWJ1ZygiY2FsbGluZyBwb2xsKCkiKSk7CisKKwkJLyogd2FpdCBmb3IgaW5wdXQgb3Igc2lnbmFsICovCisJCXJldCA9IHBvbGwocGZkLCBBUlJBWV9TSVpFKHBmZCkgLSBpZ25vcmVfc3RkaW4sIGN0bC0+cG9sbF90aW1lb3V0KTsKKwkJZXJyc3YgPSBlcnJubzsKKwkJREJHKFBPTEwsIHVsX2RlYnVnKCJwb2xsKCkgcmM9JWQiLCByZXQpKTsKKworCQlpZiAocmV0IDwgMCkgeworCQkJaWYgKGVycnN2ID09IEVBR0FJTikKKwkJCQljb250aW51ZTsKKwkJCXdhcm4oXygicG9sbCBmYWlsZWQiKSk7CisJCQlmYWlsKGN0bCk7CisJCX0KKwkJaWYgKHJldCA9PSAwKSB7CisJCQlEQkcoUE9MTCwgdWxfZGVidWcoInNldHRpbmcgZGllPTEiKSk7CisJCQljdGwtPmRpZSA9IDE7CisJCQlicmVhazsKKwkJfQorCisJCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHBmZCkgLSBpZ25vcmVfc3RkaW47IGkrKykgeworCQkJaWYgKHBmZFtpXS5yZXZlbnRzID09IDApCisJCQkJY29udGludWU7CisKKwkJCURCRyhQT0xMLCB1bF9kZWJ1ZygiIGFjdGl2ZSBwZmRbJXNdLmZkPSVkICVzICVzICVzIiwKKwkJCQkJCWkgPT0gUE9MTEZEX1NURElOICA/ICJzdGRpbiIgOgorCQkJCQkJaSA9PSBQT0xMRkRfTUFTVEVSID8gIm1hc3RlciIgOgorCQkJCQkJaSA9PSBQT0xMRkRfU0lHTkFMID8gInNpZ25hbCIgOiAiPz8/IiwKKwkJCQkJCXBmZFtpXS5mZCwKKwkJCQkJCXBmZFtpXS5yZXZlbnRzICYgUE9MTElOICA/ICJQT0xMSU4iIDogIiIsCisJCQkJCQlwZmRbaV0ucmV2ZW50cyAmIFBPTExIVVAgPyAiUE9MTEhVUCIgOiAiIiwKKwkJCQkJCXBmZFtpXS5yZXZlbnRzICYgUE9MTEVSUiA/ICJQT0xMRVJSIiA6ICIiKSk7CisJCQlzd2l0Y2ggKGkpIHsKKwkJCWNhc2UgUE9MTEZEX1NURElOOgorCQkJY2FzZSBQT0xMRkRfTUFTVEVSOgorCQkJCS8qIGRhdGEgKi8KKwkJCQlpZiAocGZkW2ldLnJldmVudHMgJiBQT0xMSU4pCisJCQkJCWhhbmRsZV9pbyhjdGwsIHBmZFtpXS5mZCwgJmVvZik7CisJCQkJLyogRU9GIG1heWJlIGRldGVjdGVkIGJ5IHR3byB3YXlzOgorCQkJCSAqCUEpIHBvbGwoKSByZXR1cm4gUE9MTEhVUCBldmVudCBhZnRlciBjbG9zZSgpCisJCQkJICoJQikgcmVhZCgpIHJldHVybnMgMCAobm8gZGF0YSkgKi8KKwkJCQlpZiAoKHBmZFtpXS5yZXZlbnRzICYgUE9MTEhVUCkgfHwgZW9mKSB7CisJCQkJCURCRyhQT0xMLCB1bF9kZWJ1ZygiIGlnbm9yZSBGRCIpKTsKKwkJCQkJcGZkW2ldLmZkID0gLTE7CisJCQkJCS8qIGFjY29yZGluZyB0byBtYW4gcG9sbCgpIHNldCBGRCB0byAtMSBjYW4ndCBiZSB1c2VkIHRvIGlnbm9yZQorCQkJCQkgKiBTVERJTiwgc28gbGV0J3MgcmVtb3ZlIHRoZSBGRCBmcm9tIHBvb2wgYXQgYWxsICovCisJCQkJCWlmIChpID09IFBPTExGRF9TVERJTikgeworCQkJCQkJaWdub3JlX3N0ZGluID0gMTsKKwkJCQkJCXdyaXRlX2VvZl90b19zaGVsbChjdGwpOworCQkJCQkJREJHKFBPTEwsIHVsX2RlYnVnKCIgIGlnbm9yZSBTVERJTiIpKTsKKwkJCQkJfQorCQkJCX0KKwkJCQljb250aW51ZTsKKwkJCWNhc2UgUE9MTEZEX1NJR05BTDoKKwkJCQloYW5kbGVfc2lnbmFsKGN0bCwgcGZkW2ldLmZkKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCX0KKworCURCRyhQT0xMLCB1bF9kZWJ1ZygicG9sbCgpIGRvbmUiKSk7CisKKwlpZiAoIWN0bC0+ZGllKQorCQl3YWl0X2Zvcl9jaGlsZChjdGwsIDEpOworCWlmICghY3RsLT5xdWlldCAmJiBjdGwtPnR5cGVzY3JpcHRmcCkgeworCQl0dmVjID0gc2NyaXB0X3RpbWUoKHRpbWVfdCAqKU5VTEwpOworCQlzdHJmdGltZShidWYsIHNpemVvZiBidWYsICIlY1xuIiwgbG9jYWx0aW1lKCZ0dmVjKSk7CisJCWZwcmludGYoY3RsLT50eXBlc2NyaXB0ZnAsIF8oIlxuU2NyaXB0IGRvbmUgb24gJXMiKSwgYnVmKTsKKwl9CisJZG9uZShjdGwpOworfQorCitzdGF0aWMgdm9pZCBnZXRzbGF2ZShzdHJ1Y3Qgc2NyaXB0X2NvbnRyb2wgKmN0bCkKK3sKKyNpZm5kZWYgSEFWRV9MSUJVVElMCisJY3RsLT5saW5lW3N0cmxlbigiL2Rldi8iKV0gPSAndCc7CisJY3RsLT5zbGF2ZSA9IG9wZW4oY3RsLT5saW5lLCBPX1JEV1IgfCBPX0NMT0VYRUMpOworCWlmIChjdGwtPnNsYXZlIDwgMCkgeworCQl3YXJuKF8oImNhbm5vdCBvcGVuICVzIiksIGN0bC0+bGluZSk7CisJCWZhaWwoY3RsKTsKKwl9CisJaWYgKGN0bC0+aXN0ZXJtKSB7CisJCXRjc2V0YXR0cihjdGwtPnNsYXZlLCBUQ1NBTk9XLCAmY3RsLT5hdHRycyk7CisJCWlvY3RsKGN0bC0+c2xhdmUsIFRJT0NTV0lOU1osIChjaGFyICopJmN0bC0+d2luKTsKKwl9CisjZW5kaWYKKwlzZXRzaWQoKTsKKwlpb2N0bChjdGwtPnNsYXZlLCBUSU9DU0NUVFksIDApOworfQorCisvKiBkb24ndCB1c2UgREJHKCkgc3R1ZmYgaGVyZSBvdGhlcndpc2UgaXQgd2lsbCBiZSBpbiAgdGhlIHR5cGVzY3JpcHQgZmlsZSAqLworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgZG9fc2hlbGwoc3RydWN0IHNjcmlwdF9jb250cm9sICpjdGwpCit7CisJY2hhciAqc2huYW1lOworCisJZ2V0c2xhdmUoY3RsKTsKKworCS8qIGNsb3NlIHRoaW5ncyBpcnJlbGV2YW50IGZvciB0aGlzIHByb2Nlc3MgKi8KKwljbG9zZShjdGwtPm1hc3Rlcik7CisJY2xvc2UoY3RsLT5zaWdmZCk7CisKKwlkdXAyKGN0bC0+c2xhdmUsIFNURElOX0ZJTEVOTyk7CisJZHVwMihjdGwtPnNsYXZlLCBTVERPVVRfRklMRU5PKTsKKwlkdXAyKGN0bC0+c2xhdmUsIFNUREVSUl9GSUxFTk8pOworCWNsb3NlKGN0bC0+c2xhdmUpOworCisJY3RsLT5tYXN0ZXIgPSAtMTsKKworCXNobmFtZSA9IHN0cnJjaHIoY3RsLT5zaGVsbCwgJy8nKTsKKwlpZiAoc2huYW1lKQorCQlzaG5hbWUrKzsKKwllbHNlCisJCXNobmFtZSA9IGN0bC0+c2hlbGw7CisKKwlzaWdwcm9jbWFzayhTSUdfU0VUTUFTSywgJmN0bC0+c2lnb3JnLCBOVUxMKTsKKworCS8qCisJICogV2hlbiBpbnZva2VkIGZyb20gd2l0aGluIC9ldGMvY3NoLmxvZ2luLCBzY3JpcHQgc3Bhd25zIGEgY3NoIHNoZWxsCisJICogdGhhdCBzcGF3bnMgcHJvZ3JhbXMgdGhhdCBjYW5ub3QgYmUga2lsbGVkIHdpdGggYSBTSUdURVJNLiBUaGlzIGlzCisJICogYmVjYXVzZSBjc2ggaGFzIGEgZG9jdW1lbnRlZCBiZWhhdmlvciB3aGVyZWluIGl0IGRpc2FibGVzIGFsbAorCSAqIHNpZ25hbHMgd2hlbiBwcm9jZXNzaW5nIHRoZSAvZXRjL2NzaC4qIGZpbGVzLgorCSAqCisJICogTGV0J3MgcmVzdG9yZSB0aGUgZGVmYXVsdCBiZWhhdmlvci4KKwkgKi8KKwlzaWduYWwoU0lHVEVSTSwgU0lHX0RGTCk7CisKKwlpZiAoYWNjZXNzKGN0bC0+c2hlbGwsIFhfT0spID09IDApIHsKKwkJaWYgKGN0bC0+Y29tbWFuZCkKKwkJCWV4ZWNsKGN0bC0+c2hlbGwsIHNobmFtZSwgIi1jIiwgY3RsLT5jb21tYW5kLCBOVUxMKTsKKwkJZWxzZQorCQkJZXhlY2woY3RsLT5zaGVsbCwgc2huYW1lLCAiLWkiLCBOVUxMKTsKKwl9IGVsc2UgeworCQlpZiAoY3RsLT5jb21tYW5kKQorCQkJZXhlY2xwKHNobmFtZSwgIi1jIiwgY3RsLT5jb21tYW5kLCBOVUxMKTsKKwkJZWxzZQorCQkJZXhlY2xwKHNobmFtZSwgIi1pIiwgTlVMTCk7CisJfQorCXdhcm4oXygiZmFpbGVkIHRvIGV4ZWN1dGUgJXMiKSwgY3RsLT5zaGVsbCk7CisJZmFpbChjdGwpOworfQorCitzdGF0aWMgdm9pZCBmaXh0dHkoc3RydWN0IHNjcmlwdF9jb250cm9sICpjdGwpCit7CisJc3RydWN0IHRlcm1pb3MgcnR0OworCisJaWYgKCFjdGwtPmlzdGVybSkKKwkJcmV0dXJuOworCisJcnR0ID0gY3RsLT5hdHRyczsKKwljZm1ha2VyYXcoJnJ0dCk7CisJcnR0LmNfbGZsYWcgJj0gfkVDSE87CisJdGNzZXRhdHRyKFNURElOX0ZJTEVOTywgVENTQU5PVywgJnJ0dCk7Cit9CisKK3N0YXRpYyB2b2lkIGdldG1hc3RlcihzdHJ1Y3Qgc2NyaXB0X2NvbnRyb2wgKmN0bCkKK3sKKyNpZiBkZWZpbmVkKEhBVkVfTElCVVRJTCkgJiYgZGVmaW5lZChIQVZFX1BUWV9IKQorCWludCByYzsKKworCWN0bC0+aXN0ZXJtID0gaXNhdHR5KFNURElOX0ZJTEVOTyk7CisKKwlpZiAoY3RsLT5pc3Rlcm0pIHsKKwkJaWYgKHRjZ2V0YXR0cihTVERJTl9GSUxFTk8sICZjdGwtPmF0dHJzKSAhPSAwKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIikpOworCQlpb2N0bChTVERJTl9GSUxFTk8sIFRJT0NHV0lOU1osIChjaGFyICopJmN0bC0+d2luKTsKKwkJcmMgPSBvcGVucHR5KCZjdGwtPm1hc3RlciwgJmN0bC0+c2xhdmUsIE5VTEwsICZjdGwtPmF0dHJzLCAmY3RsLT53aW4pOworCX0gZWxzZQorCQlyYyA9IG9wZW5wdHkoJmN0bC0+bWFzdGVyLCAmY3RsLT5zbGF2ZSwgTlVMTCwgTlVMTCwgTlVMTCk7CisKKwlpZiAocmMgPCAwKSB7CisJCXdhcm4oXygib3BlbnB0eSBmYWlsZWQiKSk7CisJCWZhaWwoY3RsKTsKKwl9CisjZWxzZQorCWNoYXIgKnB0eSwgKmJhbmssICpjcDsKKworCWN0bC0+aXN0ZXJtID0gaXNhdHR5KFNURElOX0ZJTEVOTyk7CisKKwlwdHkgPSAmY3RsLT5saW5lW3N0cmxlbigiL2Rldi9wdHlwIildOworCWZvciAoYmFuayA9ICJwcXJzIjsgKmJhbms7IGJhbmsrKykgeworCQljdGwtPmxpbmVbc3RybGVuKCIvZGV2L3B0eSIpXSA9ICpiYW5rOworCQkqcHR5ID0gJzAnOworCQlpZiAoYWNjZXNzKGN0bC0+bGluZSwgRl9PSykgIT0gMCkKKwkJCWJyZWFrOworCQlmb3IgKGNwID0gIjAxMjM0NTY3ODlhYmNkZWYiOyAqY3A7IGNwKyspIHsKKwkJCSpwdHkgPSAqY3A7CisJCQljdGwtPm1hc3RlciA9IG9wZW4oY3RsLT5saW5lLCBPX1JEV1IgfCBPX0NMT0VYRUMpOworCQkJaWYgKGN0bC0+bWFzdGVyID49IDApIHsKKwkJCQljaGFyICp0cCA9ICZjdGwtPmxpbmVbc3RybGVuKCIvZGV2LyIpXTsKKwkJCQlpbnQgb2s7CisKKwkJCQkvKiB2ZXJpZnkgc2xhdmUgc2lkZSBpcyB1c2FibGUgKi8KKwkJCQkqdHAgPSAndCc7CisJCQkJb2sgPSBhY2Nlc3MoY3RsLT5saW5lLCBSX09LIHwgV19PSykgPT0gMDsKKwkJCQkqdHAgPSAncCc7CisJCQkJaWYgKG9rKSB7CisJCQkJCWlmIChjdGwtPmlzdGVybSkgeworCQkJCQkJdGNnZXRhdHRyKFNURElOX0ZJTEVOTywgJmN0bC0+YXR0cnMpOworCQkJCQkJaW9jdGwoU1RESU5fRklMRU5PLCBUSU9DR1dJTlNaLCAoY2hhciAqKSZjdGwtPndpbik7CisJCQkJCX0KKwkJCQkJcmV0dXJuOworCQkJCX0KKwkJCQljbG9zZShjdGwtPm1hc3Rlcik7CisJCQkJY3RsLT5tYXN0ZXIgPSAtMTsKKwkJCX0KKwkJfQorCX0KKwljdGwtPm1hc3RlciA9IC0xOworCXdhcm4oXygib3V0IG9mIHB0eSdzIikpOworCWZhaWwoY3RsKTsKKyNlbmRpZgkJCQkvKiBub3QgSEFWRV9MSUJVVElMICovCisKKwlEQkcoSU8sIHVsX2RlYnVnKCJtYXN0ZXIgZmQ6ICVkIiwgY3RsLT5tYXN0ZXIpKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCXN0cnVjdCBzY3JpcHRfY29udHJvbCBjdGwgPSB7CisjaWYgIUhBVkVfTElCVVRJTCB8fCAhSEFWRV9QVFlfSAorCQkubGluZSA9ICIvZGV2L3B0eVhYIiwKKyNlbmRpZgorCQkubWFzdGVyID0gLTEsCisJCS5wb2xsX3RpbWVvdXQgPSAtMSwKKwkJMAorCX07CisJaW50IGNoOworCisJZW51bSB7IEZPUkNFX09QVElPTiA9IENIQVJfTUFYICsgMSB9OworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJhcHBlbmQiLCBub19hcmd1bWVudCwgTlVMTCwgJ2EnfSwKKwkJeyJjb21tYW5kIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdjJ30sCisJCXsicmV0dXJuIiwgbm9fYXJndW1lbnQsIE5VTEwsICdlJ30sCisJCXsiZmx1c2giLCBub19hcmd1bWVudCwgTlVMTCwgJ2YnfSwKKwkJeyJmb3JjZSIsIG5vX2FyZ3VtZW50LCBOVUxMLCBGT1JDRV9PUFRJT04sfSwKKwkJeyJxdWlldCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAncSd9LAorCQl7InRpbWluZyIsIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAndCd9LAorCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1YnfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIE5VTEwsICdoJ30sCisJCXtOVUxMLCAwLCBOVUxMLCAwfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJLyoKKwkgKiBzY3JpcHQgLXQgcHJpbnRzIHRpbWUgZGVsYXlzIGFzIGZsb2F0aW5nIHBvaW50IG51bWJlcnMuICBUaGUgZXhhbXBsZQorCSAqIHByb2dyYW0gKHNjcmlwdHJlcGxheSkgdGhhdCB3ZSBwcm92aWRlIHRvIGhhbmRsZSB0aGlzIHRpbWluZyBvdXRwdXQKKwkgKiBpcyBhIHBlcmwgc2NyaXB0LCBhbmQgZG9lcyBub3QgaGFuZGxlIG51bWJlcnMgaW4gbG9jYWxlIGZvcm1hdCAobm90CisJICogZXZlbiB3aGVuICJ1c2UgbG9jYWxlOyIgaXMgYWRkZWQpLiAgU28sIHNpbmNlIHRoZXNlIG51bWJlcnMgYXJlIG5vdAorCSAqIGZvciBodW1hbiBjb25zdW1wdGlvbiwgaXQgc2VlbXMgZWFzaWVzdCB0byBzZXQgTENfTlVNRVJJQyBoZXJlLgorCSAqLworCXNldGxvY2FsZShMQ19OVU1FUklDLCAiQyIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXNjcmlwdF9pbml0X2RlYnVnKCk7CisKKwl3aGlsZSAoKGNoID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImFjOmVmcXQ6OlZoIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkKKwkJc3dpdGNoIChjaCkgeworCQljYXNlICdhJzoKKwkJCWN0bC5hcHBlbmQgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2MnOgorCQkJY3RsLmNvbW1hbmQgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnZSc6CisJCQljdGwucmNfd2FudGVkID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdmJzoKKwkJCWN0bC5mbHVzaCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBGT1JDRV9PUFRJT046CisJCQljdGwuZm9yY2UgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3EnOgorCQkJY3RsLnF1aWV0ID0gMTsKKwkJCWJyZWFrOworCQljYXNlICd0JzoKKwkJCWlmIChvcHRhcmcpCisJCQkJY3RsLnRuYW1lID0gb3B0YXJnOworCQkJY3RsLnRpbWluZyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKHN0ZGVycik7CisJCX0KKwlhcmdjIC09IG9wdGluZDsKKwlhcmd2ICs9IG9wdGluZDsKKworCWlmIChhcmdjID4gMCkKKwkJY3RsLmZuYW1lID0gYXJndlswXTsKKwllbHNlIHsKKwkJY3RsLmZuYW1lID0gREVGQVVMVF9UWVBFU0NSSVBUX0ZJTEVOQU1FOworCQlkaWVfaWZfbGluaygmY3RsKTsKKwl9CisKKwljdGwuc2hlbGwgPSBnZXRlbnYoIlNIRUxMIik7CisJaWYgKGN0bC5zaGVsbCA9PSBOVUxMKQorCQljdGwuc2hlbGwgPSBfUEFUSF9CU0hFTEw7CisKKwlnZXRtYXN0ZXIoJmN0bCk7CisJaWYgKCFjdGwucXVpZXQpCisJCXByaW50ZihfKCJTY3JpcHQgc3RhcnRlZCwgZmlsZSBpcyAlc1xuIiksIGN0bC5mbmFtZSk7CisJZml4dHR5KCZjdGwpOworCisjaWZkZWYgSEFWRV9MSUJVVEVNUFRFUgorCXV0ZW1wdGVyX2FkZF9yZWNvcmQoY3RsLm1hc3RlciwgTlVMTCk7CisjZW5kaWYKKwkvKiBzZXR1cCBzaWduYWwgaGFuZGxlciAqLworCXNpZ2VtcHR5c2V0KCZjdGwuc2lnc2V0KTsKKwlzaWdhZGRzZXQoJmN0bC5zaWdzZXQsIFNJR0NITEQpOworCXNpZ2FkZHNldCgmY3RsLnNpZ3NldCwgU0lHV0lOQ0gpOworCXNpZ2FkZHNldCgmY3RsLnNpZ3NldCwgU0lHVEVSTSk7CisJc2lnYWRkc2V0KCZjdGwuc2lnc2V0LCBTSUdJTlQpOworCXNpZ2FkZHNldCgmY3RsLnNpZ3NldCwgU0lHUVVJVCk7CisKKwkvKiBibG9jayBzaWduYWxzIHVzZWQgZm9yIHNpZ25hbGZkKCkgdG8gcHJldmVudCB0aGUgc2lnbmFscyBiZWluZworCSAqIGhhbmRsZWQgYWNjb3JkaW5nIHRvIHRoZWlyIGRlZmF1bHQgZGlzcG9zaXRpb25zICovCisJc2lncHJvY21hc2soU0lHX0JMT0NLLCAmY3RsLnNpZ3NldCwgJmN0bC5zaWdvcmcpOworCisJaWYgKChjdGwuc2lnZmQgPSBzaWduYWxmZCgtMSwgJmN0bC5zaWdzZXQsIFNGRF9DTE9FWEVDKSkgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIikpOworCisJREJHKFNJR05BTCwgdWxfZGVidWcoInNpZ25hbCBmZD0lZCIsIGN0bC5zaWdmZCkpOworCisJZmZsdXNoKHN0ZG91dCk7CisJY3RsLmNoaWxkID0gZm9yaygpOworCisJc3dpdGNoIChjdGwuY2hpbGQpIHsKKwljYXNlIC0xOiAvKiBlcnJvciAqLworCQl3YXJuKF8oImZvcmsgZmFpbGVkIikpOworCQlmYWlsKCZjdGwpOworCQlicmVhazsKKwljYXNlIDA6IC8qIGNoaWxkICovCisJCWRvX3NoZWxsKCZjdGwpOworCQlicmVhazsKKwlkZWZhdWx0OiAvKiBwYXJlbnQgKi8KKwkJZG9faW8oJmN0bCk7CisJCWJyZWFrOworCX0KKworCS8qIHNob3VsZCBub3QgaGFwcGVuLCBhbGwgdXNlZCBmdW5jdGlvbnMgYXJlIG5vbi1yZXR1cm4gKi8KKwlyZXR1cm4gRVhJVF9GQUlMVVJFOworfQpkaWZmIC0tZ2l0IGEvdGVybS11dGlscy9zY3JpcHRyZXBsYXkuMSBiL3Rlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzEyNTczYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LjEKQEAgLTAsMCArMSwxMTEgQEAKKy5USCBTQ1JJUFRSRVBMQVkgMSAiU2VwdGVtYmVyIDIwMTEiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCAiTkFNRSIKK3NjcmlwdHJlcGxheSBcLSBwbGF5IGJhY2sgdHlwZXNjcmlwdHMsIHVzaW5nIHRpbWluZyBpbmZvcm1hdGlvbgorLlNIICJTWU5PUFNJUyIKKy5CIHNjcmlwdHJlcGxheQorW29wdGlvbnNdCisuUkIgWyBcLXQgXQorLkkgdGltaW5nZmlsZQorLlJJIFsgdHlwZXNjcmlwdAorLlJJIFsgZGl2aXNvciBdXQorLlNIICJERVNDUklQVElPTiIKK1RoaXMgcHJvZ3JhbSByZXBsYXlzIGEgdHlwZXNjcmlwdCwgdXNpbmcgdGltaW5nIGluZm9ybWF0aW9uIHRvIGVuc3VyZSB0aGF0CitvdXRwdXQgaGFwcGVucyBpbiB0aGUgc2FtZSByaHl0aG0gYXMgaXQgb3JpZ2luYWxseSBhcHBlYXJlZCB3aGVuIHRoZSBzY3JpcHQKK3dhcyByZWNvcmRlZC4KKy5QUAorVGhlIHJlcGxheSBzaW1wbHkgZGlzcGxheXMgdGhlIGluZm9ybWF0aW9uIGFnYWluOyB0aGUgcHJvZ3JhbXMKK3RoYXQgd2VyZSBydW4gd2hlbiB0aGUgdHlwZXNjcmlwdCB3YXMgYmVpbmcgcmVjb3JkZWQgYXJlIG5vdCBydW4gYWdhaW4uCitTaW5jZSB0aGUgc2FtZSBpbmZvcm1hdGlvbiBpcyBzaW1wbHkgYmVpbmcgZGlzcGxheWVkLAorLkIgc2NyaXB0cmVwbGF5CitpcyBvbmx5IGd1YXJhbnRlZWQgdG8gd29yayBwcm9wZXJseSBpZiBydW4gb24gdGhlIHNhbWUgdHlwZSBvZgordGVybWluYWwgdGhlIHR5cGVzY3JpcHQgd2FzIHJlY29yZGVkIG9uLiAgT3RoZXJ3aXNlLCBhbnkgZXNjYXBlIGNoYXJhY3RlcnMKK2luIHRoZSB0eXBlc2NyaXB0IG1heSBiZSBpbnRlcnByZXRlZCBkaWZmZXJlbnRseSBieSB0aGUgdGVybWluYWwgdG8KK3doaWNoCisuQiBzY3JpcHRyZXBsYXkKK2lzIHNlbmRpbmcgaXRzIG91dHB1dC4KKy5QUAorVGhlIHRpbWluZyBpbmZvcm1hdGlvbiBpcyB3aGF0CisuQlIgc2NyaXB0ICgxKQorb3V0cHV0cyB0byBzdGFuZGFyZCBlcnJvciBpZiBpdCBpcworcnVuIHdpdGggdGhlCisuQiBcLXQKK3BhcmFtZXRlci4KKy5QUAorQnkgZGVmYXVsdCwgdGhlIHR5cGVzY3JpcHQgdG8gZGlzcGxheSBpcyBhc3N1bWVkIHRvIGJlIG5hbWVkCisuQlIgdHlwZXNjcmlwdCAsCitidXQgb3RoZXIgZmlsZW5hbWVzIG1heSBiZSBzcGVjaWZpZWQsIGFzIHRoZSBzZWNvbmQgcGFyYW1ldGVyIG9yIHdpdGggb3B0aW9uCisuQlIgXC1zIC4KKy5QUAorSWYgdGhlIHRoaXJkIHBhcmFtZXRlciBpcyBzcGVjaWZpZWQsIGl0IGlzIHVzZWQgYXMgYSBzcGVlZC11cCBtdWx0aXBsaWVyLgorRm9yIGV4YW1wbGUsIGEgc3BlZWQtdXAgb2YgMiBtYWtlcworLkIgc2NyaXB0cmVwbGF5CitnbyB0d2ljZSBhcyBmYXN0LCBhbmQgYSBzcGVlZC11cCBvZiAwLjEgbWFrZXMgaXQgZ28gdGVuIHRpbWVzIHNsb3dlcgordGhhbiB0aGUgb3JpZ2luYWwgc2Vzc2lvbi4KKy5TSCBPUFRJT05TCitUaGUgZmlyc3QgdGhyZWUgb3B0aW9ucyB3aWxsIG92ZXJyaWRlIG9sZC1zdHlsZSBhcmd1bWVudHMuCisuVFAKKy5CUiBcLXQgLCAiIFwtXC10aW1pbmcgIiBcZklmaWxlXGZSCitGaWxlIGNvbnRhaW5pbmcgXGZCc2NyaXB0XGZSJ3MgdGltaW5nIG91dHB1dC4KKy5UUAorLkJSIFwtcyAsICIgXC1cLXR5cGVzY3JpcHQgIiBcZklmaWxlXGZSCitGaWxlIGNvbnRhaW5pbmcgXGZCc2NyaXB0XGZSJ3MgdGVybWluYWwgb3V0cHV0LgorLlRQCisuQlIgXC1kICwgIiBcLVwtZGl2aXNvciAiIFxmSW51bWJlclxmUgorU3BlZWQgdXAgdGhlIHJlcGxheSBkaXNwbGF5aW5nIHRoaXMKKy5JIG51bWJlcgorb2YgdGltZXMuICBUaGUgYXJndW1lbnQgaXMgYSBmbG9hdGluZyBwb2ludCBudW1iZXIuICBJdCdzIGNhbGxlZCBkaXZpc29yCitiZWNhdXNlIGl0IGRpdmlkZXMgdGhlIHRpbWluZ3MgYnkgdGhpcyBmYWN0b3IuCisuVFAKKy5CUiBcLW0gLCAiIFwtXC1tYXhkZWxheSAiIFxmSW51bWJlclxmUgorU2V0IHRoZSBtYXhpbXVtIGRlbGF5IGJldHdlZW4gdHJhbnNjcmlwdCB1cGRhdGVzIHRvCisuSSBudW1iZXIKK29mIHNlY29uZHMuICBUaGUgYXJndW1lbnQgaXMgYSBmbG9hdGluZyBwb2ludCBudW1iZXIuICBUaGlzIGNhbiBiZSB1c2VkIHRvCithdm9pZCBsb25nIHBhdXNlcyBpbiB0aGUgdHJhbnNjcmlwdCByZXBsYXkuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIICJFWEFNUExFIgorLm5mCislIHNjcmlwdCAtLXRpbWluZz1maWxlLnRtIHNjcmlwdC5vdXQKK1NjcmlwdCBzdGFydGVkLCBmaWxlIGlzIHNjcmlwdC5vdXQKKyUgbHMKKzxldGMsIGV0Yz4KKyUgZXhpdAorU2NyaXB0IGRvbmUsIGZpbGUgaXMgc2NyaXB0Lm91dAorJSBzY3JpcHRyZXBsYXkgLS10aW1pbmcgZmlsZS50bSAtLXR5cGVzY3JpcHQgc2NyaXB0Lm91dAorLm5mCisuU0ggIlNFRSBBTFNPIgorLkJSIHNjcmlwdCAoMSkKKy5TSCAiQ09QWVJJR0hUIgorQ29weXJpZ2h0IFwoY28gMjAwOCBKYW1lcyBZb3VuZ21hbgorLmJyCitDb3B5cmlnaHQgXChjbyAyMDA4IEthcmVsIFphaworLlBQCitUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTword2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCitQVVJQT1NFLgorLlBQCitSZWxlYXNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIG9yIGxhdGVyLgorLlNIICJBVVRIT1IiCitUaGUgb3JpZ2luYWwKKy5CIHNjcmlwdHJlcGxheQorcHJvZ3JhbSB3YXMgd3JpdHRlbiBieQorLk1UIGpvZXlAXDpraXRlbmV0Lm5ldAorSm9leSBIZXNzCisuTUUgLgorVGhlIHByb2dyYW0gd2FzIHJlLXdyaXR0ZW4gaW4gQyBieQorLk1UIGpheUBcOmdudS5vcmcKK0phbWVzIFlvdW5nbWFuCisuTUUKK2FuZAorLk1UIGt6YWtAXDpyZWRoYXQuY29tCitLYXJlbCBaYWsKKy5NRSAuCisuU0ggQVZBSUxBQklMSVRZCitUaGUgc2NyaXB0cmVwbGF5IGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGZ0cDovL1w6ZnRwLmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYyBiL3Rlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTQ2MTMzNQotLS0gL2Rldi9udWxsCisrKyBiL3Rlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmMKQEAgLTAsMCArMSwyMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDA4LCBKYW1lcyBZb3VuZ21hbiA8amF5QGdudS5vcmc+CisgKgorICogVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqCisgKiBCYXNlZCBvbiBzY3JpcHRyZXBsYXkucGwgYnkgSm9leSBIZXNzIDxqb2V5QGtpdGVuZXQubmV0PgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8dGltZS5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPG1hdGguaD4KKyNpbmNsdWRlIDxzeXMvc2VsZWN0Lmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAiYy5oIgorCisjZGVmaW5lIFNDUklQVF9NSU5fREVMQVkgMC4wMDAxCQkvKiBmcm9tIG9yaWdpbmFsIHNyaXByZXBsYXkucGwgKi8KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkKK3VzYWdlKEZJTEUgKm91dCkKK3sKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsCisJICAgICAgXygiICVzIFstdF0gdGltaW5nZmlsZSBbdHlwZXNjcmlwdF0gW2Rpdmlzb3JdXG4iKSwKKwkgICAgICBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiUGxheSBiYWNrIHRlcm1pbmFsIHR5cGVzY3JpcHRzLCB1c2luZyB0aW1pbmcgaW5mb3JtYXRpb24uXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC10LCAtLXRpbWluZyA8ZmlsZT4gICAgIHNjcmlwdCB0aW1pbmcgb3V0cHV0IGZpbGVcbiIKKwkJIiAtcywgLS10eXBlc2NyaXB0IDxmaWxlPiBzY3JpcHQgdGVybWluYWwgc2Vzc2lvbiBvdXRwdXQgZmlsZVxuIgorCQkiIC1kLCAtLWRpdmlzb3IgPG51bT4gICAgIHNwZWVkIHVwIG9yIHNsb3cgZG93biBleGVjdXRpb24gd2l0aCB0aW1lIGRpdmlzb3JcbiIKKwkJIiAtbSwgLS1tYXhkZWxheSA8bnVtPiAgICB3YWl0IGF0IG1vc3QgdGhpcyBtYW55IHNlY29uZHMgYmV0d2VlbiB1cGRhdGVzXG4iCisJCSIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKwkJIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuXG4iKSwgb3V0KTsKKworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgic2NyaXB0cmVwbGF5KDEpIikpOworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyBkb3VibGUKK2dldG51bShjb25zdCBjaGFyICpzKQoreworCWNvbnN0IGRvdWJsZSBkID0gc3RydG9kX29yX2VycihzLCBfKCJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIikpOworCisJaWYgKGlzbmFuKGQpKSB7CisJCWVycm5vID0gRUlOVkFMOworCQllcnIoRVhJVF9GQUlMVVJFLCAiJXM6ICVzIiwgXygiZmFpbGVkIHRvIHBhcnNlIG51bWJlciIpLCBzKTsKKwl9CisJcmV0dXJuIGQ7Cit9CisKK3N0YXRpYyB2b2lkCitkZWxheV9mb3IoZG91YmxlIGRlbGF5KQoreworI2lmZGVmIEhBVkVfTkFOT1NMRUVQCisJc3RydWN0IHRpbWVzcGVjIHRzLCByZW1haW5kZXI7CisJdHMudHZfc2VjID0gKHRpbWVfdCkgZGVsYXk7CisJdHMudHZfbnNlYyA9IChkZWxheSAtIHRzLnR2X3NlYykgKiAxLjBlOTsKKworCXdoaWxlICgtMSA9PSBuYW5vc2xlZXAoJnRzLCAmcmVtYWluZGVyKSkgeworCQlpZiAoRUlOVFIgPT0gZXJybm8pCisJCQl0cyA9IHJlbWFpbmRlcjsKKwkJZWxzZQorCQkJYnJlYWs7CisJfQorI2Vsc2UKKwlzdHJ1Y3QgdGltZXZhbCB0djsKKwl0di50dl9zZWMgPSAobG9uZykgZGVsYXk7CisJdHYudHZfdXNlYyA9IChkZWxheSAtIHR2LnR2X3NlYykgKiAxLjBlNjsKKwlzZWxlY3QoMCwgTlVMTCwgTlVMTCwgTlVMTCwgJnR2KTsKKyNlbmRpZgorfQorCitzdGF0aWMgdm9pZAorZW1pdChGSUxFICpmZCwgY29uc3QgY2hhciAqZmlsZW5hbWUsIHNpemVfdCBjdCkKK3sKKwljaGFyIGJ1ZltCVUZTSVpdOworCisJd2hpbGUoY3QpIHsKKwkJc2l6ZV90IGxlbiwgY2M7CisKKwkJY2MgPSBjdCA+IHNpemVvZihidWYpID8gc2l6ZW9mKGJ1ZikgOiBjdDsKKwkJbGVuID0gZnJlYWQoYnVmLCAxLCBjYywgZmQpOworCisJCWlmICghbGVuKQorCQkgICAgICAgYnJlYWs7CisKKwkJY3QgLT0gbGVuOworCQljYyA9IHdyaXRlKFNURE9VVF9GSUxFTk8sIGJ1ZiwgbGVuKTsKKwkJaWYgKGNjICE9IGxlbikKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oIndyaXRlIHRvIHN0ZG91dCBmYWlsZWQiKSk7CisJfQorCisJaWYgKCFjdCkKKwkJcmV0dXJuOworCWlmIChmZW9mKGZkKSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUgb24gJXMiKSwgZmlsZW5hbWUpOworCisJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIHJlYWQgdHlwZXNjcmlwdCBmaWxlICVzIiksIGZpbGVuYW1lKTsKK30KKworCitpbnQKK21haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlGSUxFICp0ZmlsZSwgKnNmaWxlOworCWNvbnN0IGNoYXIgKnNuYW1lID0gTlVMTCwgKnRuYW1lID0gTlVMTDsKKwlkb3VibGUgZGl2aSA9IDEsIG1heGRlbGF5ID0gMDsKKwlpbnQgYywgZGl2aW9wdCA9IEZBTFNFLCBtYXhkZWxheW9wdCA9IEZBTFNFLCBpZHg7CisJdW5zaWduZWQgbG9uZyBsaW5lOworCWludCBjaDsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsgInRpbWluZyIsCXJlcXVpcmVkX2FyZ3VtZW50LAkwLCAndCcgfSwKKwkJeyAidHlwZXNjcmlwdCIsCXJlcXVpcmVkX2FyZ3VtZW50LAkwLCAncycgfSwKKwkJeyAiZGl2aXNvciIsCXJlcXVpcmVkX2FyZ3VtZW50LAkwLCAnZCcgfSwKKwkJeyAibWF4ZGVsYXkiLAlyZXF1aXJlZF9hcmd1bWVudCwJMCwgJ20nIH0sCisJCXsgInZlcnNpb24iLAlub19hcmd1bWVudCwJCTAsICdWJyB9LAorCQl7ICJoZWxwIiwJbm9fYXJndW1lbnQsCQkwLCAnaCcgfSwKKwkJeyBOVUxMLAkJMCwgMCwgMCB9CisJfTsKKworCS8qIEJlY2F1c2Ugd2UgdXNlIHNwYWNlIGFzIGEgc2VwYXJhdG9yLCB3ZSBjYW4ndCBhZmZvcmQgdG8gdXNlIGFueQorCSAqIGxvY2FsZSB3aGljaCB0b2xlcmF0ZXMgYSBzcGFjZSBpbiBhIG51bWJlci4gIEluIGFueSBjYXNlLCBzY3JpcHQuYworCSAqIHNldHMgdGhlIExDX05VTUVSSUMgbG9jYWxlIHRvIEMsIGFueXdheS4KKwkgKi8KKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJc2V0bG9jYWxlKExDX05VTUVSSUMsICJDIik7CisKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwl3aGlsZSAoKGNoID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgInQ6czpkOm06VmgiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKQorCQlzd2l0Y2goY2gpIHsKKwkJY2FzZSAndCc6CisJCQl0bmFtZSA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdzJzoKKwkJCXNuYW1lID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ2QnOgorCQkJZGl2aW9wdCA9IFRSVUU7CisJCQlkaXZpID0gZ2V0bnVtKG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAnbSc6CisJCQltYXhkZWxheW9wdCA9IFRSVUU7CisJCQltYXhkZWxheSA9IGdldG51bShvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlleGl0KEVYSVRfU1VDQ0VTUyk7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2Uoc3Rkb3V0KTsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKHN0ZGVycik7CisJCQl9CisJYXJnYyAtPSBvcHRpbmQ7CisJYXJndiArPSBvcHRpbmQ7CisJaWR4ID0gMDsKKworCWlmICgoYXJnYyA8IDEgJiYgIXRuYW1lKSB8fCBhcmdjID4gMykgeworCQl3YXJueChfKCJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIikpOworCQl1c2FnZShzdGRlcnIpOworCX0KKwlpZiAoIXRuYW1lKQorCQl0bmFtZSA9IGFyZ3ZbaWR4KytdOworCWlmICghc25hbWUpCisJCXNuYW1lID0gaWR4IDwgYXJnYyA/IGFyZ3ZbaWR4KytdIDogInR5cGVzY3JpcHQiOworCWlmICghZGl2aW9wdCkKKwkJZGl2aSA9IGlkeCA8IGFyZ2MgPyBnZXRudW0oYXJndltpZHhdKSA6IDE7CisJaWYgKG1heGRlbGF5IDwgMCkKKwkJbWF4ZGVsYXkgPSAwOworCXRmaWxlID0gZm9wZW4odG5hbWUsICJyIik7CisJaWYgKCF0ZmlsZSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgdG5hbWUpOworCXNmaWxlID0gZm9wZW4oc25hbWUsICJyIik7CisJaWYgKCFzZmlsZSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgc25hbWUpOworCisJLyogaWdub3JlIHRoZSBmaXJzdCB0eXBlc2NyaXB0IGxpbmUgKi8KKwl3aGlsZSgoYyA9IGZnZXRjKHNmaWxlKSkgIT0gRU9GICYmIGMgIT0gJ1xuJyk7CisKKwlmb3IobGluZSA9IDE7IDsgbGluZSsrKSB7CisJCWRvdWJsZSBkZWxheTsKKwkJc2l6ZV90IGJsazsKKwkJY2hhciBubDsKKwkJaWYgKGZzY2FuZih0ZmlsZSwgIiVsZiAlenUlY1xuIiwgJmRlbGF5LCAmYmxrLCAmbmwpICE9IDMgfHwKKwkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBubCAhPSAnXG4nKSB7CisJCQlpZiAoZmVvZih0ZmlsZSkpCisJCQkJYnJlYWs7CisJCQlpZiAoZmVycm9yKHRmaWxlKSkKKwkJCQllcnIoRVhJVF9GQUlMVVJFLAorCQkJCQlfKCJmYWlsZWQgdG8gcmVhZCB0aW1pbmcgZmlsZSAlcyIpLCB0bmFtZSk7CisJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCQlfKCJ0aW1pbmcgZmlsZSAlczogbGluZSAlbHU6IHVuZXhwZWN0ZWQgZm9ybWF0IiksCisJCQkJdG5hbWUsIGxpbmUpOworCQl9CisJCWRlbGF5IC89IGRpdmk7CisKKwkJaWYgKG1heGRlbGF5b3B0ICYmIGRlbGF5ID4gbWF4ZGVsYXkpCisJCQlkZWxheSA9IG1heGRlbGF5OworCisJCWlmIChkZWxheSA+IFNDUklQVF9NSU5fREVMQVkpCisJCQlkZWxheV9mb3IoZGVsYXkpOworCisJCWVtaXQoc2ZpbGUsIHNuYW1lLCBibGspOworCX0KKworCWZjbG9zZShzZmlsZSk7CisJZmNsb3NlKHRmaWxlKTsKKwlwcmludGYoIlxuIik7CisJZXhpdChFWElUX1NVQ0NFU1MpOworfQpkaWZmIC0tZ2l0IGEvdGVybS11dGlscy9zZXR0ZXJtLjEgYi90ZXJtLXV0aWxzL3NldHRlcm0uMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYzBjZWY2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVybS11dGlscy9zZXR0ZXJtLjEKQEAgLTAsMCArMSwyODAgQEAKKy5cIiBDb3B5cmlnaHQgMTk5MCBHb3Jkb24gSXJsYW0gKGdvcmRvbmlAY3MudWEub3ouYXUpCisuXCIgQ29weXJpZ2h0IDE5OTIgUmlja2FyZCBFLiBGYWl0aCAoZmFpdGhAY3MudW5jLmVkdSkKKy5cIiBDb3B5cmlnaHQgMjAwMCBDb2xpbiBXYXRzb24gKGNqdzQ0QGNhbS5hYy51aykKKy5cIiBEbyBub3QgcmVzdHJpY3QgZGlzdHJpYnV0aW9uLgorLlwiIE1heSBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy5cIgorLlRIIFNFVFRFUk0gMSAiTWF5IDIwMTQiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitzZXR0ZXJtIFwtIHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzCisuU0ggU1lOT1BTSVMKKy5CIHNldHRlcm0KK1tvcHRpb25zXQorLlNIIERFU0NSSVBUSU9OCisuQiBzZXR0ZXJtCit3cml0ZXMgdG8gc3RhbmRhcmQgb3V0cHV0IGEgY2hhcmFjdGVyIHN0cmluZyB0aGF0IHdpbGwgaW52b2tlIHRoZSBzcGVjaWZpZWQKK3Rlcm1pbmFsIGNhcGFiaWxpdGllcy4gIFdoZXJlIHBvc3NpYmxlCisuSSB0ZXJtaW5mbworaXMgY29uc3VsdGVkIHRvIGZpbmQgdGhlIHN0cmluZyB0byB1c2UuICBTb21lIG9wdGlvbnMgaG93ZXZlciAobWFya2VkICJ2aXJ0dWFsCitjb25zb2xlcyBvbmx5IiBiZWxvdykgZG8gbm90IGNvcnJlc3BvbmQgdG8gYQorLkJSIHRlcm1pbmZvICg1KQorY2FwYWJpbGl0eS4gIEluIHRoaXMgY2FzZSwgaWYgdGhlIHRlcm1pbmFsIHR5cGUgaXMgImNvbiIgb3IgImxpbnV4IiB0aGUgc3RyaW5nCit0aGF0IGludm9rZXMgdGhlIHNwZWNpZmllZCBjYXBhYmlsaXRpZXMgb24gdGhlIFBDIE1pbml4IHZpcnR1YWwgY29uc29sZSBkcml2ZXIKK2lzIG91dHB1dC4gIE9wdGlvbnMgdGhhdCBhcmUgbm90IGltcGxlbWVudGVkIGJ5IHRoZSB0ZXJtaW5hbCBhcmUgaWdub3JlZC4KKy5TSCBPUFRJT05TCitGb3IgYm9vbGVhbiBvcHRpb25zCisuUkIgKCBvbiAiIG9yICIgb2ZmICksCit0aGUgZGVmYXVsdCBpcworLkJSIG9uIC4KKy5QCitCZWxvdywgYW4KKy5JIDgtY29sb3IKK2NhbiBiZQorLkJSIGJsYWNrICwKKy5CUiByZWQgLAorLkJSIGdyZWVuICwKKy5CUiB5ZWxsb3cgLAorLkJSIGJsdWUgLAorLkJSIG1hZ2VudGEgLAorLkJSIGN5YW4gLAorb3IKKy5CUiB3aGl0ZSAuCisuUAorQQorLkkgMTYtY29sb3IKK2NhbiBiZSBhbgorLklSIDgtY29sb3IgLAorb3IKKy5CUiBncmV5ICwKK29yCisuQlIgYnJpZ2h0Citmb2xsb3dlZAorYnkKKy5CUiByZWQgLAorLkJSIGdyZWVuICwKKy5CUiB5ZWxsb3cgLAorLkJSIGJsdWUgLAorLkJSIG1hZ2VudGEgLAorLkJSIGN5YW4gLAorb3IKKy5CUiB3aGl0ZSAuCisuUAorVGhlIHZhcmlvdXMgY29sb3Igb3B0aW9ucyBtYXkgYmUgc2V0IGluZGVwZW5kZW50bHksIGF0IGxlYXN0IG9uIHZpcnR1YWwKK2NvbnNvbGVzLCB0aG91Z2ggdGhlIHJlc3VsdHMgb2Ygc2V0dGluZyBtdWx0aXBsZSBtb2RlcyAoZm9yIGV4YW1wbGUsCisuQiBcLVwtdW5kZXJsaW5lCithbmQKKy5CUiBcLVwtaGFsZlwtYnJpZ2h0ICkKK2FyZSBoYXJkd2FyZS1kZXBlbmRlbnQuCisuVFAKK1xmQlwtXC1hcHBjdXJzb3JrZXlzXGZQIFtcZkJvblxmUHxcZkJvZmZcZlBdICAodmlydHVhbCBjb25zb2xlcyBvbmx5KQorU2V0cyBDdXJzb3IgS2V5IEFwcGxpY2F0aW9uIE1vZGUgb24gb3Igb2ZmLiAgV2hlbiBvbiwgRVNDIE8gQSwgRVNDIE8gQiwgZXRjLgord2lsbCBiZSBzZW50IGZvciB0aGUgY3Vyc29yIGtleXMgaW5zdGVhZCBvZiBFU0MgWyBBLCBFU0MgWyBCLCBldGMuICBTZWUgdGhlCisuSSB2aSBhbmQgQ3Vyc29yLUtleXMKK3NlY3Rpb24gb2YgdGhlCisuSSBUZXh0LVRlcm1pbmFsLUhPV1RPCitmb3IgaG93IHRoaXMgY2FuIGNhdXNlIHByb2JsZW1zIGZvciBcZkJ2aVxmUiB1c2Vycy4KKy5UUAorXGZCXC1cLWFwcGVuZFxmUCBbXGZJY29uc29sZV9udW1iZXJcZlBdCitMaWtlCisuQlIgXC1cLWR1bXAgLAorYnV0IGFwcGVuZHMgdG8gdGhlIHNuYXBzaG90IGZpbGUgaW5zdGVhZCBvZiBvdmVyd3JpdGluZyBpdC4gIE9ubHkgd29ya3MgaWYgbm8KKy5CIFwtXC1kdW1wCitvcHRpb25zIGFyZSBnaXZlbi4KKy5UUAorXGZCXC1cLWJhY2tncm91bmRcZlAgXGZJOC1jb2xvclxmUHxcZkJkZWZhdWx0XGZQCitTZXRzIHRoZSBiYWNrZ3JvdW5kIHRleHQgY29sb3IuCisuVFAKK1xmQlwtXC1ibGFua1xmUCBbXGZCMC02MFxmUHxcZkJmb3JjZVxmUHxcZkJwb2tlXGZQXSAgKHZpcnR1YWwgY29uc29sZXMgb25seSkKK1NldHMgdGhlIGludGVydmFsIG9mIGluYWN0aXZpdHksIGluIG1pbnV0ZXMsIGFmdGVyIHdoaWNoIHRoZSBzY3JlZW4gd2lsbCBiZQorYXV0b21hdGljYWxseSBibGFua2VkICh1c2luZyBBUE0gaWYgYXZhaWxhYmxlKS4gIFdpdGhvdXQgYW4gYXJndW1lbnQsIGl0IGdldHMKK3RoZSBibGFuayBzdGF0dXMgKHJldHVybnMgd2hpY2ggdnQgd2FzIGJsYW5rZWQsIG9yIHplcm8gZm9yIGFuIHVuYmxhbmtlZCB2dCkuCisuSVAKK1RoZQorLkIgZm9yY2UKK29wdGlvbiBrZWVwcyB0aGUgc2NyZWVuIGJsYW5rIGV2ZW4gaWYgYSBrZXkgaXMgcHJlc3NlZC4KKy5JUAorVGhlCisuQiBwb2tlCitvcHRpb24gdW5ibGFua3MgdGhlIHNjcmVlbi4KKy5UUAorXGZCXC1cLWJmcmVxXGZQIFtcZkludW1iZXJcZlBdICAodmlydHVhbCBjb25zb2xlcyBvbmx5KQorU2V0cyB0aGUgYmVsbCBmcmVxdWVuY3kgaW4gSGVydHouICBXaXRob3V0IGFuIGFyZ3VtZW50LCBpdCBkZWZhdWx0cyB0bworLkJSIDAgLgorLlRQCitcZkJcLVwtYmxlbmd0aFxmUCBbXGZCMC0yMDAwXGZQXSAgKHZpcnR1YWwgY29uc29sZXMgb25seSkKK1NldHMgdGhlIGJlbGwgZHVyYXRpb24gaW4gbWlsbGlzZWNvbmRzLiAgV2l0aG91dCBhbiBhcmd1bWVudCwgaXQgZGVmYXVsdHMgdG8KKy5CUiAwIC4KKy5UUAorLkJSIFwtXC1ibGluayAiIFsiIG9uIHwgb2ZmIF0KK1R1cm5zIGJsaW5rIG1vZGUgb24gb3Igb2ZmLiAgRXhjZXB0IG9uIGEgdmlydHVhbCBjb25zb2xlLAorLkIgXC1cLWJsaW5rIG9mZgordHVybnMgb2ZmIGFsbCBhdHRyaWJ1dGVzIChib2xkLCBoYWxmLWJyaWdodG5lc3MsIGJsaW5rLCByZXZlcnNlKS4KKy5UUAorLkJSIFwtXC1ib2xkICIgWyIgb24gfCBvZmYgXQorVHVybnMgYm9sZCAoZXh0cmEgYnJpZ2h0KSBtb2RlIG9uIG9yIG9mZi4gIEV4Y2VwdCBvbiBhIHZpcnR1YWwgY29uc29sZSwKKy5CIFwtXC1ib2xkIG9mZgordHVybnMgb2ZmIGFsbCBhdHRyaWJ1dGVzIChib2xkLCBoYWxmLWJyaWdodG5lc3MsIGJsaW5rLCByZXZlcnNlKS4KKy5UUAorXGZCXC1cLWNsZWFyXGZQIFtcZkJhbGxcZlB8XGZCcmVzdFxmUF0KK1dpdGhvdXQgYW4gYXJndW1lbnQgb3Igd2l0aCB0aGUgYXJndW1lbnQKKy5CUiBhbGwgLAordGhlIGVudGlyZSBzY3JlZW4gaXMgY2xlYXJlZCBhbmQgdGhlIGN1cnNvciBpcyBzZXQgdG8gdGhlIGhvbWUgcG9zaXRpb24sCitqdXN0IGxpa2UKKy5CUiBjbGVhciAoMSkKK2RvZXMuICBXaXRoIHRoZSBhcmd1bWVudAorLkJSIHJlc3QgLAordGhlIHNjcmVlbiBpcyBjbGVhcmVkIGZyb20gdGhlIGN1cnJlbnQgY3Vyc29yIHBvc2l0aW9uIHRvIHRoZSBlbmQuCisuVFAKK1xmQlwtXC1jbHJ0YWJzXGZQIFtcZkl0YWIxIHRhYjIgdGFiM1xmUCAuLi5dICAodmlydHVhbCBjb25zb2xlcyBvbmx5KQorQ2xlYXJzIHRhYiBzdG9wcyBmcm9tIHRoZSBnaXZlbiBob3Jpem9udGFsIGN1cnNvciBwb3NpdGlvbnMsIGluIHRoZSByYW5nZQorLkJSIDEtMTYwIC4KK1dpdGhvdXQgYXJndW1lbnRzLCBpdCBjbGVhcnMgYWxsIHRhYiBzdG9wcy4KKy5UUAorLkJSIFwtXC1jdXJzb3IgIiBbIiBvbiB8IG9mZiBdCitUdXJucyB0aGUgdGVybWluYWwncyBjdXJzb3Igb24gb3Igb2ZmLgorLlRQCitcZkJcLVwtZGVmYXVsdFxmUAorU2V0cyB0aGUgdGVybWluYWwncyByZW5kZXJpbmcgb3B0aW9ucyB0byB0aGUgZGVmYXVsdCB2YWx1ZXMuCisuVFAKK1xmQlwtXC1kdW1wXGZQIFtcZkljb25zb2xlX251bWJlclxmUF0KK1dyaXRlcyBhIHNuYXBzaG90IG9mIHRoZSB2aXJ0dWFsIGNvbnNvbGUgd2l0aCB0aGUgZ2l2ZW4gbnVtYmVyCit0byB0aGUgZmlsZSBzcGVjaWZpZWQgd2l0aCB0aGUKKy5CIFwtXC1maWxlCitvcHRpb24sIG92ZXJ3cml0aW5nIGl0cyBjb250ZW50czsgdGhlIGRlZmF1bHQgaXMKKy5JUiBzY3JlZW4uZHVtcCAuCitXaXRob3V0IGFuIGFyZ3VtZW50LCBpdCBkdW1wcyB0aGUgY3VycmVudCB2aXJ0dWFsIGNvbnNvbGUuICBUaGlzIG92ZXJyaWRlcworLkJSIFwtXC1hcHBlbmQgLgorLlRQCitcZkJcLVwtZmlsZVxmUCBcZklmaWxlbmFtZVxmUAorU2V0cyB0aGUgc25hcHNob3QgZmlsZSBuYW1lIGZvciBhbnkKKy5CIFwtXC1kdW1wCitvcgorLkIgXC1cLWFwcGVuZAorb3B0aW9ucyBvbiB0aGUgc2FtZSBjb21tYW5kIGxpbmUuICBJZiB0aGlzIG9wdGlvbiBpcyBub3QgcHJlc2VudCwgdGhlIGRlZmF1bHQKK2lzCisuSSBzY3JlZW4uZHVtcAoraW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5LiAgQSBwYXRoIG5hbWUgdGhhdCBleGNlZWRzIHRoZSBzeXN0ZW0gbWF4aW11bSB3aWxsIGJlCit0cnVuY2F0ZWQsIHNlZSBQQVRIX01BWCBmcm9tIGxpbnV4L2xpbWl0cy5oIGZvciB0aGUgdmFsdWUuCisuVFAKK1xmQlwtXC1mb3JlZ3JvdW5kXGZQIFxmSTgtY29sb3JcZlB8XGZCZGVmYXVsdFxmUAorU2V0cyB0aGUgZm9yZWdyb3VuZCB0ZXh0IGNvbG9yLgorLlRQCisuQlIgXC1cLWhhbGZcLWJyaWdodCAiIFsiIG9uIHwgb2ZmIF0KK1R1cm5zIGRpbSAoaGFsZi1icmlnaHRuZXNzKSBtb2RlIG9uIG9yIG9mZi4gIEV4Y2VwdCBvbiBhIHZpcnR1YWwgY29uc29sZSwKKy5CIFwtXC1oYWxmXC1icmlnaHQgb2ZmCit0dXJucyBvZmYgYWxsIGF0dHJpYnV0ZXMgKGJvbGQsIGhhbGYtYnJpZ2h0bmVzcywgYmxpbmssIHJldmVyc2UpLgorLlRQCitcZkJcLVwtaGJjb2xvclxmUCBcZkkxNi1jb2xvclxmUAorU2V0cyB0aGUgY29sb3IgZm9yIGJvbGQgY2hhcmFjdGVycy4KKy5UUAorXGZCXC1cLWluaXRpYWxpemVcZlAKK0Rpc3BsYXlzIHRoZSB0ZXJtaW5hbCBpbml0aWFsaXphdGlvbiBzdHJpbmcsIHdoaWNoIHR5cGljYWxseSBzZXRzIHRoZQordGVybWluYWwncyByZW5kZXJpbmcgb3B0aW9ucywgYW5kIG90aGVyIGF0dHJpYnV0ZXMgdG8gdGhlIGRlZmF1bHQgdmFsdWVzLgorLlRQCisuQlIgXC1cLWludmVyc2VzY3JlZW4gIiBbIiBvbiB8IG9mZiBdCitTd2FwcyBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9ycyBmb3IgdGhlIHdob2xlIHNjcmVlbi4KKy5UUAorLkJSIFwtXC1saW5ld3JhcCAiIFsiIG9uIHwgb2ZmIF0KK01ha2VzIHRoZSB0ZXJtaW5hbCBjb250aW51ZSBvbiBhIG5ldyBsaW5lIHdoZW4gYSBsaW5lIGlzIGZ1bGwuCisuVFAKKy5CUiBcLVwtbXNnICIgWyIgb24gfCBvZmYgIl0gICh2aXJ0dWFsIGNvbnNvbGVzIG9ubHkpIgorRW5hYmxlcyBvciBkaXNhYmxlcyB0aGUgc2VuZGluZyBvZiBrZXJuZWwKKy5CUiBwcmludGsoKQorbWVzc2FnZXMgdG8gdGhlIGNvbnNvbGUuCisuVFAKK1xmQlwtXC1tc2dsZXZlbFxmUCBcZkIwLThcZlAgICh2aXJ0dWFsIGNvbnNvbGVzIG9ubHkpCitTZXRzIHRoZSBjb25zb2xlIGxvZ2dpbmcgbGV2ZWwgZm9yIGtlcm5lbAorLkIgcHJpbnRrKCkKK21lc3NhZ2VzLiAgQWxsIG1lc3NhZ2VzIHN0cmljdGx5IG1vcmUgaW1wb3J0YW50IHRoYW4gdGhpcyB3aWxsIGJlIHByaW50ZWQsIHNvIGEKK2xvZ2dpbmcgbGV2ZWwgb2YKKy5CIDAKK2hhcyB0aGUgc2FtZSBlZmZlY3QgYXMKKy5CIFwtXC1tc2cgb24KK2FuZCBhIGxvZ2dpbmcgbGV2ZWwgb2YKKy5CIDgKK3dpbGwgcHJpbnQgYWxsIGtlcm5lbCBtZXNzYWdlcy4KKy5CUiBrbG9nZCAoOCkKK21heSBiZSBhIG1vcmUgY29udmVuaWVudCBpbnRlcmZhY2UgdG8gdGhlIGxvZ2dpbmcgb2Yga2VybmVsIG1lc3NhZ2VzLgorLlRQCitcZkJcLVwtcG93ZXJkb3duXGZQIFtcZkIwLTYwXGZQXQorU2V0cyB0aGUgVkVTQSBwb3dlcmRvd24gaW50ZXJ2YWwgaW4gbWludXRlcy4gIFdpdGhvdXQgYW4gYXJndW1lbnQsIGl0IGRlZmF1bHRzCit0bworLkIgMAorKGRpc2FibGUgcG93ZXJkb3duKS4gIElmIHRoZSBjb25zb2xlIGlzIGJsYW5rZWQgb3IgdGhlIG1vbml0b3IgaXMgaW4gc3VzcGVuZAorbW9kZSwgdGhlbiB0aGUgbW9uaXRvciB3aWxsIGdvIGludG8gdnN5bmMgc3VzcGVuZCBtb2RlIG9yIHBvd2VyZG93biBtb2RlCityZXNwZWN0aXZlbHkgYWZ0ZXIgdGhpcyBwZXJpb2Qgb2YgdGltZSBoYXMgZWxhcHNlZC4KKy5UUAorXGZCXC1cLXBvd2Vyc2F2ZVxmUCBcZkJvZmZcZlAKK1R1cm5zIG9mZiBtb25pdG9yIFZFU0EgcG93ZXJzYXZpbmcgZmVhdHVyZXMuCisuVFAKK1xmQlwtXC1wb3dlcnNhdmVcZlAgXGZCb25cZlB8XGZCdnN5bmNcZlAKK1B1dHMgdGhlIG1vbml0b3IgaW50byBWRVNBIHZzeW5jIHN1c3BlbmQgbW9kZS4KKy5UUAorXGZCXC1cLXBvd2Vyc2F2ZVxmUCBcZkJwb3dlcmRvd25cZlAKK1B1dHMgdGhlIG1vbml0b3IgaW50byBWRVNBIHBvd2VyZG93biBtb2RlLgorLlRQCitcZkJcLVwtcG93ZXJzYXZlXGZQIFxmQmhzeW5jXGZQCitQdXRzIHRoZSBtb25pdG9yIGludG8gVkVTQSBoc3luYyBzdXNwZW5kIG1vZGUuCisuVFAKK1xmQlwtXC1yZWd0YWJzXGZQIFtcZkIxLTE2MFxmUF0gICh2aXJ0dWFsIGNvbnNvbGVzIG9ubHkpCitDbGVhcnMgYWxsIHRhYiBzdG9wcywgdGhlbiBzZXRzIGEgcmVndWxhciB0YWIgc3RvcCBwYXR0ZXJuLCB3aXRoIG9uZSB0YWIgZXZlcnkKK3NwZWNpZmllZCBudW1iZXIgb2YgcG9zaXRpb25zLiAgV2l0aG91dCBhbiBhcmd1bWVudCwgaXQgZGVmYXVsdHMgdG8KKy5CUiA4IC4KKy5UUAorLkJSIFwtXC1yZXBlYXQgIiBbIiBvbiB8IG9mZiAiXSAgKHZpcnR1YWwgY29uc29sZXMgb25seSkiCitUdXJucyBrZXlib2FyZCByZXBlYXQgb24gb3Igb2ZmLgorLlRQCitcZkJcLVwtcmVzZXRcZlAKK0Rpc3BsYXlzIHRoZSB0ZXJtaW5hbCByZXNldCBzdHJpbmcsIHdoaWNoIHR5cGljYWxseSByZXNldHMgdGhlIHRlcm1pbmFsIHRvCitpdHMgcG93ZXItb24gc3RhdGUuCisuVFAKK1xmQlwtXC1yZXZlcnNlXGZQIFtcZkJvblxmUHxcZkJvZmZcZlBdCitUdXJucyByZXZlcnNlIHZpZGVvIG1vZGUgb24gb3Igb2ZmLiAgRXhjZXB0IG9uIGEgdmlydHVhbCBjb25zb2xlLAorLkIgXC1cLXJldmVyc2Ugb2ZmCit0dXJucyBvZmYgYWxsIGF0dHJpYnV0ZXMgKGJvbGQsIGhhbGYtYnJpZ2h0bmVzcywgYmxpbmssIHJldmVyc2UpLgorLlRQCitcZkJcLVwtc3RvcmVcZlAgICh2aXJ0dWFsIGNvbnNvbGVzIG9ubHkpCitTdG9yZXMgdGhlIHRlcm1pbmFsJ3MgY3VycmVudCByZW5kZXJpbmcgb3B0aW9ucyAoZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZAorY29sb3JzKSBhcyB0aGUgdmFsdWVzIHRvIGJlIHVzZWQgYXQgcmVzZXQtdG8tZGVmYXVsdC4KKy5UUAorXGZCXC1cLXRhYnNcZlAgW1xmSXRhYjEgdGFiMiB0YWIzXGZQIC4uLl0KK1NldHMgdGFiIHN0b3BzIGF0IHRoZSBnaXZlbiBob3Jpem9udGFsIGN1cnNvciBwb3NpdGlvbnMsIGluIHRoZSByYW5nZQorLkJSIDEtMTYwIC4KK1dpdGhvdXQgYXJndW1lbnRzLCBpdCBzaG93cyB0aGUgY3VycmVudCB0YWIgc3RvcCBzZXR0aW5ncy4KKy5UUAorXGZCXC1cLXRlcm1cZlAgXGZJdGVybWluYWxfbmFtZVxmUAorT3ZlcnJpZGVzIHRoZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlLgorLlRQCitcZkJcLVwtdWxjb2xvclxmUCBcZkkxNi1jb2xvclxmUCAgKHZpcnR1YWwgY29uc29sZXMgb25seSkKK1NldHMgdGhlIGNvbG9yIGZvciB1bmRlcmxpbmVkIGNoYXJhY3RlcnMuCisuVFAKKy5CUiBcLVwtdW5kZXJsaW5lICIgWyIgb24gfCBvZmYgXQorVHVybnMgdW5kZXJsaW5lIG1vZGUgb24gb3Igb2ZmLgorLlRQCitcZkJcLVwtdmVyc2lvblxmUAorRGlzcGxheXMgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdHMuCisuVFAKK1xmQlwtXC1oZWxwXGZQCitEaXNwbGF5cyBhIGhlbHAgdGV4dCBhbmQgZXhpdHMuCisuU0ggQ09NUEFUSUJJTElUWQorU2luY2UgdmVyc2lvbiAyLjI1CisuQiBzZXR0ZXJtCitoYXMgc3VwcG9ydCBmb3IgbG9uZyBvcHRpb25zIHdpdGggdHdvIGh5cGhlbnMsIGZvciBleGFtcGxlCisuQlIgXC1cLWhlbHAgLAorYmVzaWRlIHRoZSBoaXN0b3JpY2FsIGxvbmcgb3B0aW9ucyB3aXRoIGEgc2luZ2xlIGh5cGhlbiwgZm9yIGV4YW1wbGUKKy5CUiBcLWhlbHAgLgorSW4gc2NyaXB0cyBpdCBpcyBiZXR0ZXIgdG8gdXNlIHRoZSBiYWNrd2FyZC1jb21wYXRpYmxlIHNpbmdsZSBoeXBoZW4KK3JhdGhlciB0aGFuIHRoZSBkb3VibGUgaHlwaGVuLiAgQ3VycmVudGx5IHRoZXJlIGFyZSBubyBwbGFucyBub3IgZ29vZAorcmVhc29ucyB0byBkaXNjb250aW51ZSBzaW5nbGUtaHlwaGVuIGNvbXBhdGliaWxpdHkuCisuU0ggIlNFRSBBTFNPIgorLkJSIHN0dHkgKDEpLAorLkJSIHRwdXQgKDEpLAorLkJSIHR0eSAoNCksCisuQlIgdGVybWluZm8gKDUpCisuU0ggQlVHUworRGlmZmVyZW5jZXMgYmV0d2VlbiB0aGUgTWluaXggYW5kIExpbnV4IHZlcnNpb25zIGFyZSBub3QgZG9jdW1lbnRlZC4KKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBzZXR0ZXJtIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGZ0cDovL1w6ZnRwLmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvdGVybS11dGlscy9zZXR0ZXJtLmMgYi90ZXJtLXV0aWxzL3NldHRlcm0uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMmM2MjdhCi0tLSAvZGV2L251bGwKKysrIGIvdGVybS11dGlscy9zZXR0ZXJtLmMKQEAgLTAsMCArMSwxMDc0IEBACisvKiBzZXR0ZXJtLmMsIHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzLgorICoKKyAqIENvcHlyaWdodCAoQykgMTk5MCBHb3Jkb24gSXJsYW0gKGdvcmRvbmlAY3MudWEub3ouYXUpLiAgQ29uZGl0aW9ucyBvZiB1c2UsCisgKiBtb2RpZmljYXRpb24sIGFuZCByZWRpc3RyaWJ1dGlvbiBhcmUgY29udGFpbmVkIGluIHRoZSBmaWxlIENPUFlSSUdIVCB0aGF0CisgKiBmb3JtcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLgorICogCisgKiBBZGFwdGlvbiB0byBMaW51eCBieSBQZXRlciBNYWNEb25hbGQuCisgKgorICogRW5oYW5jZW1lbnRzIGJ5IE1pa2EgTGlsamViZXJnIChsaWxqZWJlckBjcy5IZWxzaW5raS5GSSkKKyAqCisgKiBCZWVwIG1vZGlmaWNhdGlvbnMgYnkgQ2hyaXN0b3BoZSBKb2xpZiAoY2pvbGlmQHN0b3JtLmdhdGVsaW5rLmZyLm5ldCkKKyAqCisgKiBTYW5pdHkgaW5jcmVhc2VzIGJ5IENhZmVpbmUgQWRkaWN0IFtzaWNdLgorICoKKyAqIFBvd2Vyc2F2ZSBmZWF0dXJlcyBieSB0b2RkIGouIGRlcnIgPHRqZEB3b3Jkc21pdGgub3JnPgorICoKKyAqIENvbnZlcnRlZCB0byB0ZXJtaW5mbyBieSBLYXJzIGRlIEpvbmcgKGpvbmdrQGNzLnV0d2VudGUubmwpCisgKgorICogMTk5OS0wMi0yMiBBcmthZGl1c3ogTWnFm2tpZXdpY3ogPG1pc2lla0BwbGQuT1JHLlBMPgorICogLSBhZGRlZCBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAorICoKKyAqIFNlbWFudGljczoKKyAqCisgKiBTZXR0ZXJtIHdyaXRlcyB0byBzdGFuZGFyZCBvdXRwdXQgYSBjaGFyYWN0ZXIgc3RyaW5nIHRoYXQgd2lsbAorICogaW52b2tlIHRoZSBzcGVjaWZpZWQgdGVybWluYWwgY2FwYWJpbGl0aWVzLiAgV2hlcmUgcG9zc2libGUKKyAqIHRlcm1pbmZvIGlzIGNvbnN1bHRlZCB0byBmaW5kIHRoZSBzdHJpbmcgdG8gdXNlLiAgU29tZSBvcHRpb25zCisgKiBob3dldmVyIGRvIG5vdCBjb3JyZXNwb25kIHRvIGEgdGVybWluZm8gY2FwYWJpbGl0eS4gIEluIHRoaXMgY2FzZSBpZgorICogdGhlIHRlcm1pbmFsIHR5cGUgaXMgImNvbioiLCBvciAibGludXgqIiB0aGUgc3RyaW5nIHRoYXQgaW52b2tlcworICogdGhlIHNwZWNpZmllZCBjYXBhYmlsaXRpZXMgb24gdGhlIFBDIExpbnV4IHZpcnR1YWwgY29uc29sZSBkcml2ZXIKKyAqIGlzIG91dHB1dC4gIE9wdGlvbnMgdGhhdCBhcmUgbm90IGltcGxlbWVudGVkIGJ5IHRoZSB0ZXJtaW5hbCBhcmUKKyAqIGlnbm9yZWQuCisgKgorICogVGhlIGZvbGxvd2luZyBvcHRpb25zIGFyZSBub24tb2J2aW91cy4KKyAqCisgKiAgIC10ZXJtIGNhbiBiZSB1c2VkIHRvIG92ZXJyaWRlIHRoZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlLgorICoKKyAqICAgLXJlc2V0IGRpc3BsYXlzIHRoZSB0ZXJtaW5hbCByZXNldCBzdHJpbmcsIHdoaWNoIHR5cGljYWxseSByZXNldHMgdGhlCisgKiAgICAgIHRlcm1pbmFsIHRvIGl0cyBwb3dlciBvbiBzdGF0ZS4KKyAqCisgKiAgIC1pbml0aWFsaXplIGRpc3BsYXlzIHRoZSB0ZXJtaW5hbCBpbml0aWFsaXphdGlvbiBzdHJpbmcsIHdoaWNoIHR5cGljYWxseQorICogICAgICBzZXRzIHRoZSB0ZXJtaW5hbCdzIHJlbmRlcmluZyBvcHRpb25zLCBhbmQgb3RoZXIgYXR0cmlidXRlcyB0byB0aGUKKyAqICAgICAgZGVmYXVsdCB2YWx1ZXMuCisgKgorICogICAtZGVmYXVsdCBzZXRzIHRoZSB0ZXJtaW5hbCdzIHJlbmRlcmluZyBvcHRpb25zIHRvIHRoZSBkZWZhdWx0IHZhbHVlcy4KKyAqCisgKiAgIC1zdG9yZSBzdG9yZXMgdGhlIHRlcm1pbmFsJ3MgY3VycmVudCByZW5kZXJpbmcgb3B0aW9ucyBhcyB0aGUgZGVmYXVsdAorICogICAgICB2YWx1ZXMuICAqLworCisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyNpbmNsdWRlIDxzeXMva2xvZy5oPgorI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgkJLyogZm9yIE1BWFBBVEhMRU4gKi8KKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorI2luY2x1ZGUgPHRlcm1pb3MuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2lmbmRlZiBOQ1VSU0VTX0NPTlNUCisjIGRlZmluZSBOQ1VSU0VTX0NPTlNUIGNvbnN0CS8qIGRlZmluZSBiZWZvcmUgaW5jbHVkaW5nIHRlcm0uaCAqLworI2VuZGlmCisjaWZkZWYgSEFWRV9OQ1VSU0VTX0gKKyMgaW5jbHVkZSA8bmN1cnNlcy5oPgorI2VsaWYgZGVmaW5lZChIQVZFX05DVVJTRVNfTkNVUlNFU19IKQorIyBpbmNsdWRlIDxuY3Vyc2VzL25jdXJzZXMuaD4KKyNlbmRpZgorLyogbXVzdCBpbmNsdWRlIGFmdGVyIG5jdXJzZXMuaCAqLworI2luY2x1ZGUgPHRlcm0uaD4KKworI2lmZGVmIEhBVkVfTElOVVhfVElPQ0xfSAorIyBpbmNsdWRlIDxsaW51eC90aW9jbC5oPgorI2VuZGlmCisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJvcHR1dGlscy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisKKy8qIENvbnN0YW50cy4gKi8KKworLyogTm9uLXN0YW5kYXJkIHJldHVybiB2YWx1ZXMuICovCisjZGVmaW5lIEVYSVRfRFVNUEZJTEUJLTEKKworLyogQ29sb3JzLiAqLworZW51bSB7CisJQkxBQ0sgPSAwLAorCVJFRCwKKwlHUkVFTiwKKwlZRUxMT1csCisJQkxVRSwKKwlNQUdFTlRBLAorCUNZQU4sCisJV0hJVEUsCisJR1JFWSwKKwlERUZBVUxUCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqY29sb3JuYW1lc1tdID0geworCVtCTEFDS10gPSAiYmxhY2siLAorCVtSRURdCT0gInJlZCIsCisJW0dSRUVOXQk9ICJncmVlbiIsCisJW1lFTExPV109ICJ5ZWxsb3ciLAorCVtCTFVFXQk9ICJibHVlIiwKKwlbTUFHRU5UQV09Im1hZ2VudGEiLAorCVtDWUFOXQk9ICJjeWFuIiwKKwlbV0hJVEVdCT0gIndoaXRlIiwKKwlbR1JFWV0JPSAiZ3JleSIsCisJW0RFRkFVTFRdID0gImRlZmF1bHQiCit9OworCisjZGVmaW5lIGlzX3ZhbGlkX2NvbG9yKHgpCSh4ID49IDAgJiYgKHNpemVfdCkgeCA8IEFSUkFZX1NJWkUoY29sb3JuYW1lcykpCisKKy8qIEJsYW5rIGNvbW1hbmRzICovCitlbnVtIHsKKwlCTEFOS1NDUkVFTgk9IC0xLAorCVVOQkxBTktTQ1JFRU4JPSAtMiwKKwlCTEFOS0VEU0NSRUVOCT0gLTMKK307CisKKy8qIDxsaW51eC90aW9jbC5oPiBmYWxsYmFjayAqLworI2lmbmRlZiBUSU9DTF9CTEFOS1NDUkVFTgorZW51bSB7CisJVElPQ0xfVU5CTEFOS1NDUkVFTgk9ICA0LAkvKiB1bmJsYW5rIHNjcmVlbiAqLworCVRJT0NMX1NFVFZFU0FCTEFOSwk9IDEwLAkvKiBzZXQgdmVzYSBibGFua2luZyBtb2RlICovCisJVElPQ0xfQkxBTktTQ1JFRU4JPSAxNCwJLyoga2VlcCBzY3JlZW4gYmxhbmsgZXZlbiBpZiBhIGtleSBpcyBwcmVzc2VkICovCisJVElPQ0xfQkxBTktFRFNDUkVFTgk9IDE1CS8qIHJldHVybiB3aGljaCB2dCB3YXMgYmxhbmtlZCAqLworfTsKKyNlbmRpZgorCisvKiBQb3dlcnNhdmUgbW9kZXMgKi8KK2VudW0geworCVZFU0FfQkxBTktfTU9ERV9PRkYgPSAwLAorCVZFU0FfQkxBTktfTU9ERV9TVVNQRU5EViwKKwlWRVNBX0JMQU5LX01PREVfU1VTUEVOREgsCisJVkVTQV9CTEFOS19NT0RFX1BPV0VSRE9XTgorfTsKKworLyoga2xvZ2N0bCgpIGFjdGlvbnMgKi8KK2VudW0geworCVNZU0xPR19BQ1RJT05fQ09OU09MRV9PRkYJPSA2LAorCVNZU0xPR19BQ1RJT05fQ09OU09MRV9PTgk9IDcsCisJU1lTTE9HX0FDVElPTl9DT05TT0xFX0xFVkVMCT0gOAorfTsKKworLyogQ29uc29sZSBsb2cgbGV2ZWxzICovCitlbnVtIHsKKwlDT05TT0xFX0xFVkVMX01JTiA9IDAsCisJQ09OU09MRV9MRVZFTF9NQVggPSA4Cit9OworCisvKiBWYXJpb3VzIG51bWJlcnMgICovCisjZGVmaW5lIERFRkFVTFRfVEFCX0xFTgk4CisjZGVmaW5lCUJMQU5LX01BWAk2MAorI2RlZmluZQlUQUJTX01BWAkxNjAKKyNkZWZpbmUgQkxFTkdUSF9NQVgJMjAwMAorCisvKiBDb21tYW5kIGNvbnRyb2xzLiAqLworc3RydWN0IHNldHRlcm1fY29udHJvbCB7CisJY2hhciAqb3B0X3RlX3Rlcm1pbmFsX25hbWU7CS8qIHRlcm1pbmFsIG5hbWUgKi8KKwlpbnQgb3B0X2JsX21pbjsJCS8qIGJsYW5rIHNjcmVlbiAqLworCWludCBvcHRfYmxlbmd0aF9sOwkvKiBiZWxsIGR1cmF0aW9uIGluIG1pbGxpc2Vjb25kcyAqLworCWludCBvcHRfYmZyZXFfZjsJLyogYmVsbCBmcmVxdWVuY3kgaW4gSHogKi8KKwlpbnQgb3B0X3NuX251bTsJCS8qIGNvbnNvbGUgbnVtYmVyIHRvIGJlIHNuYXBzaG90ICovCisJY2hhciAqb3B0X3NuX25hbWU7CS8qIHBhdGggdG8gd3JpdGUgc25hcCAqLworCWNoYXIgKmluX2RldmljZTsJLyogZGV2aWNlIHRvIHNuYXBzaG90ICovCisJaW50IG9wdF9tc2dsZXZlbF9udW07CS8qIHByaW50aygpIGxvZ2dpbmcgbGV2ZWwgKi8KKwlpbnQgb3B0X3BzX21vZGU7CS8qIHBvd2Vyc2F2ZSBtb2RlICovCisJaW50IG9wdF9wZF9taW47CQkvKiBwb3dlcmRvd24gdGltZSAqLworCWludCBvcHRfcnRfbGVuOwkJLyogcmVndWxhciB0YWIgbGVuZ3RoICovCisJaW50IG9wdF90Yl9hcnJheVtUQUJTX01BWCArIDFdOwkvKiBhcnJheSBmb3IgdGFiIGxpc3QgKi8KKwkvKiBjb2xvcnMgKi8KKwlpbnQgb3B0X2ZvX2NvbG9yOjQsIG9wdF9iYV9jb2xvcjo0LCBvcHRfdWxfY29sb3I6NCwgb3B0X2hiX2NvbG9yOjQ7CisJLyogYm9vbGVhbiBvcHRpb25zICovCisJdW5zaWduZWQgaW50IG9wdF9jdV9vbjoxLCBvcHRfbGlfb246MSwgb3B0X2JvX29uOjEsIG9wdF9oYl9vbjoxLAorCSAgICBvcHRfYmxfb246MSwgb3B0X3JlX29uOjEsIG9wdF91bl9vbjoxLCBvcHRfcmVwX29uOjEsCisJICAgIG9wdF9hcHBja19vbjoxLCBvcHRfaW52c2Nfb246MSwgb3B0X21zZ19vbjoxLCBvcHRfY2xfYWxsOjEsCisJICAgIHZjdGVybToxOworCS8qIE9wdGlvbiBmbGFncy4gIFNldCB3aGVuIGFuIG9wdGlvbiBpcyBpbnZva2VkLiAqLworCXVpbnQ2NF90IG9wdF90ZXJtOjEsIG9wdF9yZXNldDoxLCBvcHRfaW5pdGlhbGl6ZToxLCBvcHRfY3Vyc29yOjEsCisJICAgIG9wdF9saW5ld3JhcDoxLCBvcHRfZGVmYXVsdDoxLCBvcHRfZm9yZWdyb3VuZDoxLAorCSAgICBvcHRfYmFja2dyb3VuZDoxLCBvcHRfYm9sZDoxLCBvcHRfYmxpbms6MSwgb3B0X3JldmVyc2U6MSwKKwkgICAgb3B0X3VuZGVybGluZToxLCBvcHRfc3RvcmU6MSwgb3B0X2NsZWFyOjEsIG9wdF9ibGFuazoxLAorCSAgICBvcHRfc25hcDoxLCBvcHRfc25hcGZpbGU6MSwgb3B0X2FwcGVuZDoxLCBvcHRfdWxjb2xvcjoxLAorCSAgICBvcHRfaGJjb2xvcjoxLCBvcHRfaGFsZmJyaWdodDoxLCBvcHRfcmVwZWF0OjEsIG9wdF90YWJzOjEsCisJICAgIG9wdF9jbHJ0YWJzOjEsIG9wdF9yZWd0YWJzOjEsIG9wdF9hcHBjdXJzb3JrZXlzOjEsCisJICAgIG9wdF9pbnZlcnNlc2NyZWVuOjEsIG9wdF9tc2c6MSwgb3B0X21zZ2xldmVsOjEsIG9wdF9wb3dlcnNhdmU6MSwKKwkgICAgb3B0X3Bvd2VyZG93bjoxLCBvcHRfYmxlbmd0aDoxLCBvcHRfYmZyZXE6MTsKK307CisKK3N0YXRpYyBpbnQgcGFyc2VfY29sb3IoY29uc3QgY2hhciAqYXJnKQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoY29sb3JuYW1lcyk7IGkrKykgeworCQlpZiAoc3RyY21wKGNvbG9ybmFtZXNbaV0sIGFyZykgPT0gMCkKKwkJCXJldHVybiBpOworCX0KKworCXJldHVybiAtRUlOVkFMOworfQorCitzdGF0aWMgaW50IHBhcnNlX2ZlYmdfY29sb3IoY29uc3QgY2hhciAqYXJnKQoreworCWludCBjb2xvciA9IHBhcnNlX2NvbG9yKGFyZyk7CisKKwlpZiAoY29sb3IgPCAwKQorCQljb2xvciA9IHN0cnRvczMyX29yX2VycihhcmcsIF8oImFyZ3VtZW50IGVycm9yIikpOworCisJaWYgKCFpc192YWxpZF9jb2xvcihjb2xvcikgfHwgY29sb3IgPT0gR1JFWSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsICIlczogJXMiLCBfKCJhcmd1bWVudCBlcnJvciIpLCBhcmcpOworCXJldHVybiBjb2xvcjsKK30KKworc3RhdGljIGludCBwYXJzZV91bGhiX2NvbG9yKGNoYXIgKiphdiwgaW50ICpvaSkKK3sKKwljaGFyICpjb2xvcl9uYW1lOworCWludCBicmlnaHQgPSAwOworCWludCBjb2xvciA9IC0xOworCisJaWYgKGF2WypvaV0gJiYgc3RyY21wKGF2WypvaSAtIDFdLCAiYnJpZ2h0IikgPT0gMCkgeworCQlicmlnaHQgPSAxOworCQljb2xvcl9uYW1lID0gYXZbKm9pXTsKKwkJKCpvaSkrKzsKKwl9IGVsc2UKKwkJY29sb3JfbmFtZSA9IGF2WypvaSAtIDFdOworCisJY29sb3IgPSBwYXJzZV9jb2xvcihjb2xvcl9uYW1lKTsKKwlpZiAoY29sb3IgPCAwKQorCQljb2xvciA9IHN0cnRvczMyX29yX2Vycihjb2xvcl9uYW1lLCBfKCJhcmd1bWVudCBlcnJvciIpKTsKKwlpZiAoIWlzX3ZhbGlkX2NvbG9yKGNvbG9yKSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsICIlczogJXMiLCBfKCJhcmd1bWVudCBlcnJvciIpLCBjb2xvcl9uYW1lKTsKKwlpZiAoYnJpZ2h0ICYmIChjb2xvciA9PSBCTEFDSyB8fCBjb2xvciA9PSBHUkVZKSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImFyZ3VtZW50IGVycm9yOiBicmlnaHQgJXMgaXMgbm90IHN1cHBvcnRlZCIpLCBjb2xvcl9uYW1lKTsKKworCXJldHVybiBjb2xvcjsKK30KKworc3RhdGljIGNoYXIgKmZpbmRfb3B0aW9uYWxfYXJnKGNoYXIgKiphdiwgY2hhciAqb2EsIGludCAqb2kpCit7CisJY2hhciAqYXJnOworCWlmIChvYSkKKwkJcmV0dXJuIG9hOworCWVsc2UgeworCQlhcmcgPSBhdlsqb2ldOworCQlpZiAoIWFyZyB8fCBhcmdbMF0gPT0gJy0nKQorCQkJcmV0dXJuIE5VTEw7CisJfQorCSgqb2kpKys7CisJcmV0dXJuIGFyZzsKK30KKworc3RhdGljIGludCBwYXJzZV9ibGFuayhjaGFyICoqYXYsIGNoYXIgKm9hLCBpbnQgKm9pKQoreworCWNoYXIgKmFyZzsKKworCWFyZyA9IGZpbmRfb3B0aW9uYWxfYXJnKGF2LCBvYSwgb2kpOworCWlmICghYXJnKQorCQlyZXR1cm4gQkxBTktFRFNDUkVFTjsKKwlpZiAoIXN0cmNtcChhcmcsICJmb3JjZSIpKQorCQlyZXR1cm4gQkxBTktTQ1JFRU47CisJZWxzZSBpZiAoIXN0cmNtcChhcmcsICJwb2tlIikpCisJCXJldHVybiBVTkJMQU5LU0NSRUVOOworCWVsc2UgeworCQlpbnQgcmV0OworCisJCXJldCA9IHN0cnRvczMyX29yX2VycihhcmcsIF8oImFyZ3VtZW50IGVycm9yIikpOworCQlpZiAocmV0IDwgMCB8fCBCTEFOS19NQVggPCByZXQpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgIiVzOiAlcyIsIF8oImFyZ3VtZW50IGVycm9yIiksIGFyZyk7CisJCXJldHVybiByZXQ7CisJfQorfQorCitzdGF0aWMgaW50IHBhcnNlX3Bvd2Vyc2F2ZShjb25zdCBjaGFyICphcmcpCit7CisJaWYgKHN0cmNtcChhcmcsICJvbiIpID09IDApCisJCXJldHVybiBWRVNBX0JMQU5LX01PREVfU1VTUEVORFY7CisJZWxzZSBpZiAoc3RyY21wKGFyZywgInZzeW5jIikgPT0gMCkKKwkJcmV0dXJuIFZFU0FfQkxBTktfTU9ERV9TVVNQRU5EVjsKKwllbHNlIGlmIChzdHJjbXAoYXJnLCAiaHN5bmMiKSA9PSAwKQorCQlyZXR1cm4gVkVTQV9CTEFOS19NT0RFX1NVU1BFTkRIOworCWVsc2UgaWYgKHN0cmNtcChhcmcsICJwb3dlcmRvd24iKSA9PSAwKQorCQlyZXR1cm4gVkVTQV9CTEFOS19NT0RFX1BPV0VSRE9XTjsKKwllbHNlIGlmIChzdHJjbXAoYXJnLCAib2ZmIikgPT0gMCkKKwkJcmV0dXJuIFZFU0FfQkxBTktfTU9ERV9PRkY7CisJZXJyeChFWElUX0ZBSUxVUkUsICIlczogJXMiLCBfKCJhcmd1bWVudCBlcnJvciIpLCBhcmcpOworfQorCitzdGF0aWMgaW50IHBhcnNlX21zZ2xldmVsKGNvbnN0IGNoYXIgKmFyZykKK3sKKwlpbnQgcmV0OworCisJcmV0ID0gc3RydG9zMzJfb3JfZXJyKGFyZywgXygiYXJndW1lbnQgZXJyb3IiKSk7CisJaWYgKHJldCA8IENPTlNPTEVfTEVWRUxfTUlOIHx8IENPTlNPTEVfTEVWRUxfTUFYIDwgcmV0KQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgIiVzOiAlcyIsIF8oImFyZ3VtZW50IGVycm9yIiksIGFyZyk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBwYXJzZV9zbmFwKGNoYXIgKiphdiwgY2hhciAqb2EsIGludCAqb2kpCit7CisJaW50IHJldDsKKwljaGFyICphcmc7CisKKwlhcmcgPSBmaW5kX29wdGlvbmFsX2FyZyhhdiwgb2EsIG9pKTsKKwlpZiAoIWFyZykKKwkJcmV0dXJuIDA7CisJcmV0ID0gc3RydG9zMzJfb3JfZXJyKGFyZywgXygiYXJndW1lbnQgZXJyb3IiKSk7CisJaWYgKHJldCA8IDEpCisJCWVycngoRVhJVF9GQUlMVVJFLCAiJXM6ICVzIiwgXygiYXJndW1lbnQgZXJyb3IiKSwgYXJnKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBwYXJzZV90YWJzKGNoYXIgKiphdiwgY2hhciAqb2EsIGludCAqb2ksIGludCAqdGFiX2FycmF5KQoreworCWludCBpID0gMDsKKworCWlmIChvYSkgeworCQl0YWJfYXJyYXlbaV0gPSBzdHJ0b3MzMl9vcl9lcnIob2EsIF8oImFyZ3VtZW50IGVycm9yIikpOworCQlpKys7CisJfQorCXdoaWxlIChhdlsqb2ldKSB7CisJCWlmIChUQUJTX01BWCA8IGkpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidG9vIG1hbnkgdGFicyIpKTsKKwkJaWYgKGF2WypvaV1bMF0gPT0gJy0nKQorCQkJYnJlYWs7CisJCXRhYl9hcnJheVtpXSA9IHN0cnRvczMyX29yX2Vycihhdlsqb2ldLCBfKCJhcmd1bWVudCBlcnJvciIpKTsKKwkJKCpvaSkrKzsKKwkJaSsrOworCX0KKwl0YWJfYXJyYXlbaV0gPSAtMTsKK30KKworc3RhdGljIGludCBwYXJzZV9yZWd0YWJzKGNoYXIgKiphdiwgY2hhciAqb2EsIGludCAqb2kpCit7CisJaW50IHJldDsKKwljaGFyICphcmc7CisKKwlhcmcgPSBmaW5kX29wdGlvbmFsX2FyZyhhdiwgb2EsIG9pKTsKKwlpZiAoIWFyZykKKwkJcmV0dXJuIERFRkFVTFRfVEFCX0xFTjsKKwlyZXQgPSBzdHJ0b3MzMl9vcl9lcnIoYXJnLCBfKCJhcmd1bWVudCBlcnJvciIpKTsKKwlpZiAocmV0IDwgMSB8fCBUQUJTX01BWCA8IHJldCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsICIlczogJXMiLCBfKCJhcmd1bWVudCBlcnJvciIpLCBhcmcpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgcGFyc2VfYmxlbmd0aChjaGFyICoqYXYsIGNoYXIgKm9hLCBpbnQgKm9pKQoreworCWludCByZXQgPSAtMTsKKwljaGFyICphcmc7CisKKwlhcmcgPSBmaW5kX29wdGlvbmFsX2FyZyhhdiwgb2EsIG9pKTsKKwlpZiAoIWFyZykKKwkJcmV0dXJuIDA7CisJcmV0ID0gc3RydG9zMzJfb3JfZXJyKGFyZywgXygiYXJndW1lbnQgZXJyb3IiKSk7CisJaWYgKHJldCA8IDAgfHwgQkxFTkdUSF9NQVggPCByZXQpCisJCWVycngoRVhJVF9GQUlMVVJFLCAiJXM6ICVzIiwgXygiYXJndW1lbnQgZXJyb3IiKSwgYXJnKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IHBhcnNlX2JmcmVxKGNoYXIgKiphdiwgY2hhciAqb2EsIGludCAqb2kpCit7CisJY2hhciAqYXJnOworCisJYXJnID0gZmluZF9vcHRpb25hbF9hcmcoYXYsIG9hLCBvaSk7CisJaWYgKCFhcmcpCisJCXJldHVybiAwOworCXJldHVybiBzdHJ0b3MzMl9vcl9lcnIoYXJnLCBfKCJhcmd1bWVudCBlcnJvciIpKTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqb3V0KQoreworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwKKwkgICAgICBfKCIgJXMgW29wdGlvbnNdXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlNldCB0aGUgYXR0cmlidXRlcyBvZiBhIHRlcm1pbmFsLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtLXRlcm0gICAgICAgICAgPHRlcm1pbmFsX25hbWU+ICAgb3ZlcnJpZGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCB0byBwb3dlci1vbiBzdGF0ZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC0taW5pdGlhbGl6ZSAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGluaXQgc3RyaW5nLCBhbmQgdXNlIGRlZmF1bHQgc2V0dGluZ3NcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLWRlZmF1bHQgICAgICAgICAgICAgICAgICAgICAgICAgdXNlIGRlZmF1bHQgdGVybWluYWwgc2V0dGluZ3NcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLXN0b3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IHRlcm1pbmFsIHNldHRpbmdzIGFzIGRlZmF1bHRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAgZGlzcGxheSBjdXJzb3JcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLXJlcGVhdCAgICAgICAgW29ufG9mZl0gICAgICAgICAga2V5Ym9hcmQgcmVwZWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdICAgICAgICAgIGN1cnNvciBrZXkgYXBwbGljYXRpb24gbW9kZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBjb250aW51ZSBvbiBhIG5ldyBsaW5lIHdoZW4gYSBsaW5lIGlzIGZ1bGxcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLWludmVyc2VzY3JlZW4gW29ufG9mZl0gICAgICAgICAgc3dhcCBjb2xvcnMgZm9yIHRoZSB3aG9sZSBzY3JlZW5cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLWZvcmVncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGZvcmVncm91bmQgY29sb3JcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGJhY2tncm91bmQgY29sb3JcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLXVsY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IHVuZGVybGluZWQgdGV4dCBjb2xvclxuIiksIG91dCk7CisJZnB1dHMoXygiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgYm9sZCB0ZXh0IGNvbG9yXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgICAgICAgICAgICAgIDxjb2xvcj46IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIiksIG91dCk7CisJZnB1dHMoXygiIC0tYm9sZCAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBib2xkXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1oYWxmLWJyaWdodCAgIFtvbnxvZmZdICAgICAgICAgIGRpbVxuIiksIG91dCk7CisJZnB1dHMoXygiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlua1xuIiksIG91dCk7CisJZnB1dHMoXygiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICB1bmRlcmxpbmVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLXJldmVyc2UgICAgICAgW29ufG9mZl0gICAgICAgICAgc3dhcCBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9yc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICBjbGVhciBzY3JlZW4gYW5kIHNldCBjdXJzb3IgcG9zaXRpb25cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLXRhYnMgICAgICAgICAgWzxudW1iZXI+Li4uXSAgICAgc2V0IHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3Igc2hvdyB0aGVtXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1jbHJ0YWJzICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIGNsZWFyIHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3IgYWxsXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1yZWd0YWJzICAgICAgIFsxLTE2MF0gICAgICAgICAgIHNldCBhIHJlZ3VsYXIgdGFiIHN0b3AgaW50ZXJ2YWxcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLWJsYW5rICAgICAgICAgWzAtNjB8Zm9yY2V8cG9rZV0gc2V0IHRpbWUgb2YgaW5hY3Rpdml0eSBiZWZvcmUgc2NyZWVuIGJsYW5rc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC0tZHVtcCAgICAgICAgICBbPG51bWJlcj5dICAgICAgICB3cml0ZSB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLWFwcGVuZCAgICAgICAgWzxudW1iZXI+XSAgICAgICAgYXBwZW5kIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC0tZmlsZSAgICAgICAgICA8ZmlsZW5hbWU+ICAgICAgICBuYW1lIG9mIHRoZSBkdW1wIGZpbGVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLW1zZyAgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgc2VuZCBrZXJuZWwgbWVzc2FnZXMgdG8gY29uc29sZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC0tbXNnbGV2ZWwgICAgICAwLTggICAgICAgICAgICAgICBrZXJuZWwgY29uc29sZSBsb2cgbGV2ZWxcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLXBvd2Vyc2F2ZSAgICAgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCB2ZXNhIHBvd2Vyc2F2aW5nIGZlYXR1cmVzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIHNldCB2ZXNhIHBvd2VyZG93biBpbnRlcnZhbCBpbiBtaW51dGVzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIGR1cmF0aW9uIG9mIHRoZSBiZWxsIGluIG1pbGxpc2Vjb25kc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC0tYmZyZXEgICAgICAgICA8bnVtYmVyPiAgICAgICAgICBiZWxsIGZyZXF1ZW5jeSBpbiBIZXJ0elxuIiksIG91dCk7CisJZnB1dHMoXygiIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICBzaG93IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIpLCBvdXQpOworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgic2V0dGVybSgxKSIpKTsKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgaW50IF9fYXR0cmlidXRlX18oKF9fcHVyZV9fKSkgc2V0X29wdF9mbGFnKGludCBvcHQpCit7CisJaWYgKG9wdCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImR1cGxpY2F0ZSB1c2Ugb2YgYW4gb3B0aW9uIikpOworCXJldHVybiAxOworfQorCitzdGF0aWMgdm9pZCBwYXJzZV9vcHRpb24oc3RydWN0IHNldHRlcm1fY29udHJvbCAqY3RsLCBpbnQgYWMsIGNoYXIgKiphdikKK3sKKwlpbnQgYzsKKwllbnVtIHsKKwkJT1BUX1RFUk0gPSBDSEFSX01BWCArIDEsCisJCU9QVF9SRVNFVCwKKwkJT1BUX0lOSVRJQUxJWkUsCisJCU9QVF9DVVJTT1IsCisJCU9QVF9SRVBFQVQsCisJCU9QVF9BUFBDVVJTT1JLRVlTLAorCQlPUFRfTElORVdSQVAsCisJCU9QVF9ERUZBVUxULAorCQlPUFRfRk9SRUdST1VORCwKKwkJT1BUX0JBQ0tHUk9VTkQsCisJCU9QVF9VTENPTE9SLAorCQlPUFRfSEJDT0xPUiwKKwkJT1BUX0lOVkVSU0VTQ1JFRU4sCisJCU9QVF9CT0xELAorCQlPUFRfSEFMRl9CUklHSFQsCisJCU9QVF9CTElOSywKKwkJT1BUX1JFVkVSU0UsCisJCU9QVF9VTkRFUkxJTkUsCisJCU9QVF9TVE9SRSwKKwkJT1BUX0NMRUFSLAorCQlPUFRfVEFCUywKKwkJT1BUX0NMUlRBQlMsCisJCU9QVF9SRUdUQUJTLAorCQlPUFRfQkxBTkssCisJCU9QVF9EVU1QLAorCQlPUFRfQVBQRU5ELAorCQlPUFRfRklMRSwKKwkJT1BUX01TRywKKwkJT1BUX01TR0xFVkVMLAorCQlPUFRfUE9XRVJTQVZFLAorCQlPUFRfUE9XRVJET1dOLAorCQlPUFRfQkxFTkdUSCwKKwkJT1BUX0JGUkVRLAorCQlPUFRfVkVSU0lPTiwKKwkJT1BUX0hFTFAKKwl9OworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsidGVybSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfVEVSTX0sCisJCXsicmVzZXQiLCBub19hcmd1bWVudCwgTlVMTCwgT1BUX1JFU0VUfSwKKwkJeyJpbml0aWFsaXplIiwgbm9fYXJndW1lbnQsIE5VTEwsIE9QVF9JTklUSUFMSVpFfSwKKwkJeyJjdXJzb3IiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgT1BUX0NVUlNPUn0sCisJCXsicmVwZWF0IiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIE9QVF9SRVBFQVR9LAorCQl7ImFwcGN1cnNvcmtleXMiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgT1BUX0FQUENVUlNPUktFWVN9LAorCQl7ImxpbmV3cmFwIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIE9QVF9MSU5FV1JBUH0sCisJCXsiZGVmYXVsdCIsIG5vX2FyZ3VtZW50LCBOVUxMLCBPUFRfREVGQVVMVH0sCisJCXsiZm9yZWdyb3VuZCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfRk9SRUdST1VORH0sCisJCXsiYmFja2dyb3VuZCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfQkFDS0dST1VORH0sCisJCXsidWxjb2xvciIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfVUxDT0xPUn0sCisJCXsiaGJjb2xvciIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfSEJDT0xPUn0sCisJCXsiaW52ZXJzZXNjcmVlbiIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfSU5WRVJTRVNDUkVFTn0sCisJCXsiYm9sZCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfQk9MRH0sCisJCXsiaGFsZi1icmlnaHQiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgT1BUX0hBTEZfQlJJR0hUfSwKKwkJeyJibGluayIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfQkxJTkt9LAorCQl7InJldmVyc2UiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgT1BUX1JFVkVSU0V9LAorCQl7InVuZGVybGluZSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfVU5ERVJMSU5FfSwKKwkJeyJzdG9yZSIsIG5vX2FyZ3VtZW50LCBOVUxMLCBPUFRfU1RPUkV9LAorCQl7ImNsZWFyIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIE9QVF9DTEVBUn0sCisJCXsidGFicyIsIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCBPUFRfVEFCU30sCisJCXsiY2xydGFicyIsIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCBPUFRfQ0xSVEFCU30sCisJCXsicmVndGFicyIsIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCBPUFRfUkVHVEFCU30sCisJCXsiYmxhbmsiLCBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgT1BUX0JMQU5LfSwKKwkJeyJkdW1wIiwgb3B0aW9uYWxfYXJndW1lbnQsIE5VTEwsIE9QVF9EVU1QfSwKKwkJeyJhcHBlbmQiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgT1BUX0FQUEVORH0sCisJCXsiZmlsZSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfRklMRX0sCisJCXsibXNnIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIE9QVF9NU0d9LAorCQl7Im1zZ2xldmVsIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIE9QVF9NU0dMRVZFTH0sCisJCXsicG93ZXJzYXZlIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIE9QVF9QT1dFUlNBVkV9LAorCQl7InBvd2VyZG93biIsIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCBPUFRfUE9XRVJET1dOfSwKKwkJeyJibGVuZ3RoIiwgb3B0aW9uYWxfYXJndW1lbnQsIE5VTEwsIE9QVF9CTEVOR1RIfSwKKwkJeyJiZnJlcSIsIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCBPUFRfQkZSRVF9LAorCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgT1BUX1ZFUlNJT059LAorCQl7ImhlbHAiLCBub19hcmd1bWVudCwgTlVMTCwgT1BUX0hFTFB9LAorCQl7TlVMTCwgMCwgTlVMTCwgMH0KKwl9OworCXN0YXRpYyBjb25zdCB1bF9leGNsX3QgZXhjbFtdID0geworCQl7IE9QVF9ERUZBVUxULCBPUFRfU1RPUkUgfSwKKwkJeyBPUFRfVEFCUywgT1BUX0NMUlRBQlMsIE9QVF9SRUdUQUJTIH0sCisJCXsgT1BUX01TRywgT1BUX01TR0xFVkVMIH0sCisJCXsgMCB9CisJfTsKKwlpbnQgZXhjbF9zdFtBUlJBWV9TSVpFKGV4Y2wpXSA9IFVMX0VYQ0xfU1RBVFVTX0lOSVQ7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZ19vbmx5KGFjLCBhdiwgIiIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKwkJZXJyX2V4Y2x1c2l2ZV9vcHRpb25zKGMsIGxvbmdvcHRzLCBleGNsLCBleGNsX3N0KTsKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgT1BUX1RFUk06CisJCQljdGwtPm9wdF90ZXJtID0gc2V0X29wdF9mbGFnKGN0bC0+b3B0X3Rlcm0pOworCQkJY3RsLT5vcHRfdGVfdGVybWluYWxfbmFtZSA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9SRVNFVDoKKwkJCWN0bC0+b3B0X3Jlc2V0ID0gc2V0X29wdF9mbGFnKGN0bC0+b3B0X3Jlc2V0KTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9JTklUSUFMSVpFOgorCQkJY3RsLT5vcHRfaW5pdGlhbGl6ZSA9IHNldF9vcHRfZmxhZyhjdGwtPm9wdF9pbml0aWFsaXplKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9DVVJTT1I6CisJCQljdGwtPm9wdF9jdXJzb3IgPSBzZXRfb3B0X2ZsYWcoY3RsLT5vcHRfY3Vyc29yKTsKKwkJCWN0bC0+b3B0X2N1X29uID0gcGFyc2Vfc3dpdGNoKG9wdGFyZywgXygiYXJndW1lbnQgZXJyb3IiKSwKKwkJCQkJCSJvbiIsICJvZmYiLCBOVUxMKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9SRVBFQVQ6CisJCQljdGwtPm9wdF9yZXBlYXQgPSBzZXRfb3B0X2ZsYWcoY3RsLT5vcHRfcmVwZWF0KTsKKwkJCWN0bC0+b3B0X3JlcF9vbiA9IHBhcnNlX3N3aXRjaChvcHRhcmcsIF8oImFyZ3VtZW50IGVycm9yIiksCisJCQkJCQkib24iLCAib2ZmIiwgTlVMTCk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfQVBQQ1VSU09SS0VZUzoKKwkJCWN0bC0+b3B0X2FwcGN1cnNvcmtleXMgPSBzZXRfb3B0X2ZsYWcoY3RsLT5vcHRfYXBwY3Vyc29ya2V5cyk7CisJCQljdGwtPm9wdF9hcHBja19vbiA9IHBhcnNlX3N3aXRjaChvcHRhcmcsIF8oImFyZ3VtZW50IGVycm9yIiksCisJCQkJCQkib24iLCAib2ZmIiwgTlVMTCk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfTElORVdSQVA6CisJCQljdGwtPm9wdF9saW5ld3JhcCA9IHNldF9vcHRfZmxhZyhjdGwtPm9wdF9saW5ld3JhcCk7CisJCQljdGwtPm9wdF9saV9vbiA9IHBhcnNlX3N3aXRjaChvcHRhcmcsIF8oImFyZ3VtZW50IGVycm9yIiksCisJCQkJCQkib24iLCAib2ZmIiwgTlVMTCk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfREVGQVVMVDoKKwkJCWN0bC0+b3B0X2RlZmF1bHQgPSBzZXRfb3B0X2ZsYWcoY3RsLT5vcHRfZGVmYXVsdCk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfRk9SRUdST1VORDoKKwkJCWN0bC0+b3B0X2ZvcmVncm91bmQgPSBzZXRfb3B0X2ZsYWcoY3RsLT5vcHRfZm9yZWdyb3VuZCk7CisJCQljdGwtPm9wdF9mb19jb2xvciA9IHBhcnNlX2ZlYmdfY29sb3Iob3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9CQUNLR1JPVU5EOgorCQkJY3RsLT5vcHRfYmFja2dyb3VuZCA9IHNldF9vcHRfZmxhZyhjdGwtPm9wdF9iYWNrZ3JvdW5kKTsKKwkJCWN0bC0+b3B0X2JhX2NvbG9yID0gcGFyc2VfZmViZ19jb2xvcihvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX1VMQ09MT1I6CisJCQljdGwtPm9wdF91bGNvbG9yID0gc2V0X29wdF9mbGFnKGN0bC0+b3B0X3VsY29sb3IpOworCQkJY3RsLT5vcHRfdWxfY29sb3IgPSBwYXJzZV91bGhiX2NvbG9yKGF2LCAmb3B0aW5kKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9IQkNPTE9SOgorCQkJY3RsLT5vcHRfaGJjb2xvciA9IHNldF9vcHRfZmxhZyhjdGwtPm9wdF9oYmNvbG9yKTsKKwkJCWN0bC0+b3B0X2hiX2NvbG9yID0gcGFyc2VfdWxoYl9jb2xvcihhdiwgJm9wdGluZCk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfSU5WRVJTRVNDUkVFTjoKKwkJCWN0bC0+b3B0X2ludmVyc2VzY3JlZW4gPSBzZXRfb3B0X2ZsYWcoY3RsLT5vcHRfaW52ZXJzZXNjcmVlbik7CisJCQljdGwtPm9wdF9pbnZzY19vbiA9IHBhcnNlX3N3aXRjaChvcHRhcmcsIF8oImFyZ3VtZW50IGVycm9yIiksCisJCQkJCQkib24iLCAib2ZmIiwgTlVMTCk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfQk9MRDoKKwkJCWN0bC0+b3B0X2JvbGQgPSBzZXRfb3B0X2ZsYWcoY3RsLT5vcHRfYm9sZCk7CisJCQljdGwtPm9wdF9ib19vbiA9IHBhcnNlX3N3aXRjaChvcHRhcmcsIF8oImFyZ3VtZW50IGVycm9yIiksCisJCQkJCQkib24iLCAib2ZmIiwgTlVMTCk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfSEFMRl9CUklHSFQ6CisJCQljdGwtPm9wdF9oYWxmYnJpZ2h0ID0gc2V0X29wdF9mbGFnKGN0bC0+b3B0X2hhbGZicmlnaHQpOworCQkJY3RsLT5vcHRfaGJfb24gPSBwYXJzZV9zd2l0Y2gob3B0YXJnLCBfKCJhcmd1bWVudCBlcnJvciIpLAorCQkJCQkJIm9uIiwgIm9mZiIsIE5VTEwpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0JMSU5LOgorCQkJY3RsLT5vcHRfYmxpbmsgPSBzZXRfb3B0X2ZsYWcoY3RsLT5vcHRfYmxpbmspOworCQkJY3RsLT5vcHRfYmxfb24gPSBwYXJzZV9zd2l0Y2gob3B0YXJnLCBfKCJhcmd1bWVudCBlcnJvciIpLAorCQkJCQkJIm9uIiwgIm9mZiIsIE5VTEwpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX1JFVkVSU0U6CisJCQljdGwtPm9wdF9yZXZlcnNlID0gc2V0X29wdF9mbGFnKGN0bC0+b3B0X3JldmVyc2UpOworCQkJY3RsLT5vcHRfcmVfb24gPSBwYXJzZV9zd2l0Y2gob3B0YXJnLCBfKCJhcmd1bWVudCBlcnJvciIpLAorCQkJCQkJIm9uIiwgIm9mZiIsIE5VTEwpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX1VOREVSTElORToKKwkJCWN0bC0+b3B0X3VuZGVybGluZSA9IHNldF9vcHRfZmxhZyhjdGwtPm9wdF91bmRlcmxpbmUpOworCQkJY3RsLT5vcHRfdW5fb24gPSBwYXJzZV9zd2l0Y2gob3B0YXJnLCBfKCJhcmd1bWVudCBlcnJvciIpLAorCQkJCQkJIm9uIiwgIm9mZiIsIE5VTEwpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX1NUT1JFOgorCQkJY3RsLT5vcHRfc3RvcmUgPSBzZXRfb3B0X2ZsYWcoY3RsLT5vcHRfc3RvcmUpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0NMRUFSOgorCQkJY3RsLT5vcHRfY2xlYXIgPSBzZXRfb3B0X2ZsYWcoY3RsLT5vcHRfY2xlYXIpOworCQkJY3RsLT5vcHRfY2xfYWxsID0gcGFyc2Vfc3dpdGNoKG9wdGFyZywgXygiYXJndW1lbnQgZXJyb3IiKSwKKwkJCQkJCSJhbGwiLCAicmVzZXQiLCBOVUxMKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9UQUJTOgorCQkJY3RsLT5vcHRfdGFicyA9IHNldF9vcHRfZmxhZyhjdGwtPm9wdF90YWJzKTsKKwkJCXBhcnNlX3RhYnMoYXYsIG9wdGFyZywgJm9wdGluZCwgY3RsLT5vcHRfdGJfYXJyYXkpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0NMUlRBQlM6CisJCQljdGwtPm9wdF9jbHJ0YWJzID0gc2V0X29wdF9mbGFnKGN0bC0+b3B0X2NscnRhYnMpOworCQkJcGFyc2VfdGFicyhhdiwgb3B0YXJnLCAmb3B0aW5kLCBjdGwtPm9wdF90Yl9hcnJheSk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfUkVHVEFCUzoKKwkJCWN0bC0+b3B0X3JlZ3RhYnMgPSBzZXRfb3B0X2ZsYWcoY3RsLT5vcHRfcmVndGFicyk7CisJCQljdGwtPm9wdF9ydF9sZW4gPSBwYXJzZV9yZWd0YWJzKGF2LCBvcHRhcmcsICZvcHRpbmQpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0JMQU5LOgorCQkJY3RsLT5vcHRfYmxhbmsgPSBzZXRfb3B0X2ZsYWcoY3RsLT5vcHRfYmxhbmspOworCQkJY3RsLT5vcHRfYmxfbWluID0gcGFyc2VfYmxhbmsoYXYsIG9wdGFyZywgJm9wdGluZCk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfRFVNUDoKKwkJCWN0bC0+b3B0X3NuYXAgPSBzZXRfb3B0X2ZsYWcoY3RsLT5vcHRfc25hcCk7CisJCQljdGwtPm9wdF9zbl9udW0gPSBwYXJzZV9zbmFwKGF2LCBvcHRhcmcsICZvcHRpbmQpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0FQUEVORDoKKwkJCWN0bC0+b3B0X2FwcGVuZCA9IHNldF9vcHRfZmxhZyhjdGwtPm9wdF9hcHBlbmQpOworCQkJY3RsLT5vcHRfc25fbnVtID0gcGFyc2Vfc25hcChhdiwgb3B0YXJnLCAmb3B0aW5kKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9GSUxFOgorCQkJY3RsLT5vcHRfc25hcGZpbGUgPSBzZXRfb3B0X2ZsYWcoY3RsLT5vcHRfc25hcGZpbGUpOworCQkJY3RsLT5vcHRfc25fbmFtZSA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9NU0c6CisJCQljdGwtPm9wdF9tc2cgPSBzZXRfb3B0X2ZsYWcoY3RsLT5vcHRfbXNnKTsKKwkJCWN0bC0+b3B0X21zZ19vbiA9IHBhcnNlX3N3aXRjaChvcHRhcmcsIF8oImFyZ3VtZW50IGVycm9yIiksCisJCQkJCQkib24iLCAib2ZmIiwgTlVMTCk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfTVNHTEVWRUw6CisJCQljdGwtPm9wdF9tc2dsZXZlbCA9IHNldF9vcHRfZmxhZyhjdGwtPm9wdF9tc2dsZXZlbCk7CisJCQljdGwtPm9wdF9tc2dsZXZlbF9udW0gPSBwYXJzZV9tc2dsZXZlbChvcHRhcmcpOworCQkJaWYgKGN0bC0+b3B0X21zZ2xldmVsX251bSA9PSAwKSB7CisJCQkJY3RsLT5vcHRfbXNnID0gc2V0X29wdF9mbGFnKGN0bC0+b3B0X21zZyk7CisJCQkJY3RsLT5vcHRfbXNnX29uIHw9IDE7CisJCQl9CisJCQlicmVhazsKKwkJY2FzZSBPUFRfUE9XRVJTQVZFOgorCQkJY3RsLT5vcHRfcG93ZXJzYXZlID0gc2V0X29wdF9mbGFnKGN0bC0+b3B0X3Bvd2Vyc2F2ZSk7CisJCQljdGwtPm9wdF9wc19tb2RlID0gcGFyc2VfcG93ZXJzYXZlKG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfUE9XRVJET1dOOgorCQkJY3RsLT5vcHRfcG93ZXJkb3duID0gc2V0X29wdF9mbGFnKGN0bC0+b3B0X3Bvd2VyZG93bik7CisJCQljdGwtPm9wdF9wZF9taW4gPSBwYXJzZV9ibGFuayhhdiwgb3B0YXJnLCAmb3B0aW5kKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9CTEVOR1RIOgorCQkJY3RsLT5vcHRfYmxlbmd0aCA9IHNldF9vcHRfZmxhZyhjdGwtPm9wdF9ibGVuZ3RoKTsKKwkJCWN0bC0+b3B0X2JsZW5ndGhfbCA9IHBhcnNlX2JsZW5ndGgoYXYsIG9wdGFyZywgJm9wdGluZCk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfQkZSRVE6CisJCQljdGwtPm9wdF9iZnJlcSA9IHNldF9vcHRfZmxhZyhjdGwtPm9wdF9iZnJlcSk7CisJCQljdGwtPm9wdF9iZnJlcV9mID0gcGFyc2VfYmZyZXEoYXYsIG9wdGFyZywgJm9wdGluZCk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfVkVSU0lPTjoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJZXhpdChFWElUX1NVQ0NFU1MpOworCQljYXNlIE9QVF9IRUxQOgorCQkJdXNhZ2Uoc3Rkb3V0KTsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKHN0ZGVycik7CisJCX0KKwl9Cit9CisKKy8qIFJldHVybiB0aGUgc3BlY2lmaWVkIHRlcm1pbmZvIHN0cmluZywgb3IgYW4gZW1wdHkgc3RyaW5nIGlmIG5vIHN1Y2gKKyAqIHRlcm1pbmZvIGNhcGFiaWxpdHkgZXhpc3RzLiAgKi8KK3N0YXRpYyBjaGFyICp0aV9lbnRyeShjb25zdCBjaGFyICpuYW1lKQoreworCWNoYXIgKmJ1Zl9wdHI7CisKKwlpZiAoKGJ1Zl9wdHIgPSB0aWdldHN0cigoY2hhciAqKW5hbWUpKSA9PSAoY2hhciAqKS0xKQorCQlidWZfcHRyID0gTlVMTDsKKwlyZXR1cm4gYnVmX3B0cjsKK30KKworc3RhdGljIHZvaWQgc2hvd190YWJzKHZvaWQpCit7CisJaW50IGksIGNvID0gdGlnZXRudW0oImNvbHMiKTsKKworCWlmIChjbyA+IDApIHsKKwkJcHJpbnRmKCJcciAgICAgICAgICIpOworCQlmb3IgKGkgPSAxMDsgaSA8IGNvIC0gMjsgaSArPSAxMCkKKwkJCXByaW50ZigiJS0xMGQiLCBpKTsKKwkJcHV0Y2hhcignXG4nKTsKKwkJZm9yIChpID0gMTsgaSA8PSBjbzsgaSsrKQorCQkJcHV0Y2hhcihpICUgMTAgKyAnMCcpOworCQlwdXRjaGFyKCdcbicpOworCQlmb3IgKGkgPSAxOyBpIDwgY287IGkrKykKKwkJCXByaW50ZigiXHRUXGIiKTsKKwkJcHV0Y2hhcignXG4nKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgb3Blbl9zbmFwc2hvdF9kZXZpY2Uoc3RydWN0IHNldHRlcm1fY29udHJvbCAqY3RsKQoreworCWludCBmZDsKKworCWlmIChjdGwtPm9wdF9zbl9udW0pCisJCXhhc3ByaW50ZigmY3RsLT5pbl9kZXZpY2UsICIvZGV2L3Zjc2ElZCIsIGN0bC0+b3B0X3NuX251bSk7CisJZWxzZQorCQl4YXNwcmludGYoJmN0bC0+aW5fZGV2aWNlLCAiL2Rldi92Y3NhIik7CisJZmQgPSBvcGVuKGN0bC0+aW5fZGV2aWNlLCBPX1JET05MWSk7CisJaWYgKGZkIDwgMCkKKwkJZXJyKEVYSVRfRFVNUEZJTEUsIF8oImNhbm5vdCByZWFkICVzIiksIGN0bC0+aW5fZGV2aWNlKTsKKwlyZXR1cm4gZmQ7Cit9CisKK3N0YXRpYyB2b2lkIHNldF9ibGFua2luZyhzdHJ1Y3Qgc2V0dGVybV9jb250cm9sICpjdGwpCit7CisJY2hhciBpb2N0bGFyZzsKKwlpbnQgcmV0OworCisJaWYgKDAgPD0gY3RsLT5vcHRfYmxfbWluKSB7CisJCXByaW50ZigiXDAzM1s5OyVkXSIsIGN0bC0+b3B0X2JsX21pbik7CisJCXJldHVybjsKKwl9CisJc3dpdGNoIChjdGwtPm9wdF9ibF9taW4pIHsKKwljYXNlIEJMQU5LU0NSRUVOOgorCQlpb2N0bGFyZyA9IFRJT0NMX0JMQU5LU0NSRUVOOworCQlpZiAoaW9jdGwoU1RESU5fRklMRU5PLCBUSU9DTElOVVgsICZpb2N0bGFyZykpCisJCQl3YXJuKF8oImNhbm5vdCBmb3JjZSBibGFuayIpKTsKKwkJYnJlYWs7CisJY2FzZSBVTkJMQU5LU0NSRUVOOgorCQlpb2N0bGFyZyA9IFRJT0NMX1VOQkxBTktTQ1JFRU47CisJCWlmIChpb2N0bChTVERJTl9GSUxFTk8sIFRJT0NMSU5VWCwgJmlvY3RsYXJnKSkKKwkJCXdhcm4oXygiY2Fubm90IGZvcmNlIHVuYmxhbmsiKSk7CisJCWJyZWFrOworCWNhc2UgQkxBTktFRFNDUkVFTjoKKwkJaW9jdGxhcmcgPSBUSU9DTF9CTEFOS0VEU0NSRUVOOworCQlyZXQgPSBpb2N0bChTVERJTl9GSUxFTk8sIFRJT0NMSU5VWCwgJmlvY3RsYXJnKTsKKwkJaWYgKHJldCA8IDApCisJCQl3YXJuKF8oImNhbm5vdCBnZXQgYmxhbmsgc3RhdHVzIikpOworCQllbHNlCisJCQlwcmludGYoIiVkXG4iLCByZXQpOworCQlicmVhazsKKwlkZWZhdWx0OgkJLyogc2hvdWxkIGJlIGltcG9zc2libGUgdG8gcmVhY2ggKi8KKwkJYWJvcnQoKTsKKwl9CisJcmV0dXJuOworfQorCitzdGF0aWMgdm9pZCBzY3JlZW5kdW1wKHN0cnVjdCBzZXR0ZXJtX2NvbnRyb2wgKmN0bCkKK3sKKwl1bnNpZ25lZCBjaGFyIGhlYWRlcls0XTsKKwl1bnNpZ25lZCBpbnQgcm93cywgY29sczsKKwlpbnQgZmQ7CisJRklMRSAqb3V0OworCXNpemVfdCBpLCBqOworCXNzaXplX3QgcmM7CisJY2hhciAqaW5idWYsICpvdXRidWYsICpwLCAqcTsKKworCS8qIG9wZW4gc291cmNlIGFuZCBkZXN0aW5hdGlvbiBmaWxlcyAqLworCWZkID0gb3Blbl9zbmFwc2hvdF9kZXZpY2UoY3RsKTsKKwlpZiAoIWN0bC0+b3B0X3NuX25hbWUpCisJCWN0bC0+b3B0X3NuX25hbWUgPSAic2NyZWVuLmR1bXAiOworCW91dCA9IGZvcGVuKGN0bC0+b3B0X3NuX25hbWUsIGN0bC0+b3B0X3NuYXAgPyAidyIgOiAiYSIpOworCWlmICghb3V0KQorCQllcnIoRVhJVF9EVU1QRklMRSwgXygiY2FuIG5vdCBvcGVuIGR1bXAgZmlsZSAlcyBmb3Igb3V0cHV0IiksIGN0bC0+b3B0X3NuX25hbWUpOworCS8qIGRldGVybWluZSBzbmFwc2hvdCBzaXplICovCisJaWYgKHJlYWQoZmQsIGhlYWRlciwgNCkgIT0gNCkKKwkJZXJyKEVYSVRfRFVNUEZJTEUsIF8oImNhbm5vdCByZWFkICVzIiksIGN0bC0+aW5fZGV2aWNlKTsKKwlyb3dzID0gaGVhZGVyWzBdOworCWNvbHMgPSBoZWFkZXJbMV07CisJaWYgKHJvd3MgKiBjb2xzID09IDApCisJCWVycihFWElUX0RVTVBGSUxFLCBfKCJjYW5ub3QgcmVhZCAlcyIpLCBjdGwtPmluX2RldmljZSk7CisJLyogYWxsb2NhdGUgYnVmZmVycyAqLworCWluYnVmID0geG1hbGxvYyhyb3dzICogY29scyAqIDIpOworCW91dGJ1ZiA9IHhtYWxsb2Mocm93cyAqIChjb2xzICsgMSkpOworCS8qIHJlYWQgaW5wdXQgKi8KKwlyYyA9IHJlYWQoZmQsIGluYnVmLCByb3dzICogY29scyAqIDIpOworCWlmIChyYyA8IDAgfHwgKHNpemVfdClyYyAhPSByb3dzICogY29scyAqIDIpCisJCWVycihFWElUX0RVTVBGSUxFLCBfKCJjYW5ub3QgcmVhZCAlcyIpLCBjdGwtPmluX2RldmljZSk7CisJcCA9IGluYnVmOworCXEgPSBvdXRidWY7CisJLyogY29weSBpbmJ1ZiB0byBvdXRidWYgKi8KKwlmb3IgKGkgPSAwOyBpIDwgcm93czsgaSsrKSB7CisJCWZvciAoaiA9IDA7IGogPCBjb2xzOyBqKyspIHsKKwkJCSpxKysgPSAqcDsKKwkJCXAgKz0gMjsKKwkJfQorCQl3aGlsZSAoai0tID4gMCAmJiBxWy0xXSA9PSAnICcpCisJCQlxLS07CisJCSpxKysgPSAnXG4nOworCX0KKwlmd3JpdGUob3V0YnVmLCAxLCBxIC0gb3V0YnVmLCBvdXQpOworCS8qIGNsZWFuIHVwIGFsbG9jYXRpb25zICovCisJY2xvc2UoZmQpOworCWZyZWUoaW5idWYpOworCWZyZWUob3V0YnVmKTsKKwlmcmVlKGN0bC0+aW5fZGV2aWNlKTsKKwlpZiAoY2xvc2Vfc3RyZWFtKG91dCkgIT0gMCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIndyaXRlIGVycm9yIikpOworCXJldHVybjsKK30KKworLyogU29tZSBvcHRpb25zIGFyZSBhcHBsaWNhYmxlIHdoZW4gdGVybWluYWwgaXMgdmlydHVhbCBjb25zb2xlLiAqLworc3RhdGljIGludCB2Y19vbmx5KHN0cnVjdCBzZXR0ZXJtX2NvbnRyb2wgKmN0bCwgY29uc3QgY2hhciAqZXJyKQoreworCWlmICghY3RsLT52Y3Rlcm0gJiYgZXJyKQorCQl3YXJueChfKCJ0ZXJtaW5hbCAlcyBkb2VzIG5vdCBzdXBwb3J0ICVzIiksCisJCSAgICAgIGN0bC0+b3B0X3RlX3Rlcm1pbmFsX25hbWUsIGVycik7CisJcmV0dXJuIGN0bC0+dmN0ZXJtOworfQorCitzdGF0aWMgdm9pZCBwZXJmb3JtX3NlcXVlbmNlKHN0cnVjdCBzZXR0ZXJtX2NvbnRyb2wgKmN0bCkKK3sKKwlpbnQgcmVzdWx0OworCisJLyogLXJlc2V0LiAqLworCWlmIChjdGwtPm9wdF9yZXNldCkKKwkJcHV0cCh0aV9lbnRyeSgicnMxIikpOworCisJLyogLWluaXRpYWxpemUuICovCisJaWYgKGN0bC0+b3B0X2luaXRpYWxpemUpCisJCXB1dHAodGlfZW50cnkoImlzMiIpKTsKKworCS8qIC1jdXJzb3IgW29ufG9mZl0uICovCisJaWYgKGN0bC0+b3B0X2N1cnNvcikgeworCQlpZiAoY3RsLT5vcHRfY3Vfb24pCisJCQlwdXRwKHRpX2VudHJ5KCJjbm9ybSIpKTsKKwkJZWxzZQorCQkJcHV0cCh0aV9lbnRyeSgiY2l2aXMiKSk7CisJfQorCisJLyogLWxpbmV3cmFwIFtvbnxvZmZdLiAqLworCWlmIChjdGwtPm9wdF9saW5ld3JhcCkKKwkJZnB1dHMoY3RsLT5vcHRfbGlfb24gPyAiXDAzM1s/N2giIDogIlwwMzNbPzdsIiwgc3Rkb3V0KTsKKworCS8qIC1yZXBlYXQgW29ufG9mZl0uICovCisJaWYgKGN0bC0+b3B0X3JlcGVhdCAmJiB2Y19vbmx5KGN0bCwgIi0tcmVwZWF0IikpCisJCWZwdXRzKGN0bC0+b3B0X3JlcF9vbiA/ICJcMDMzWz84aCIgOiAiXDAzM1s/OGwiLCBzdGRvdXQpOworCisJLyogLWFwcGN1cnNvcmtleXMgW29ufG9mZl0uICovCisJaWYgKGN0bC0+b3B0X2FwcGN1cnNvcmtleXMgJiYgdmNfb25seShjdGwsICItLWFwcGN1cnNvcmtleXMiKSkKKwkJZnB1dHMoY3RsLT5vcHRfYXBwY2tfb24gPyAiXDAzM1s/MWgiIDogIlwwMzNbPzFsIiwgc3Rkb3V0KTsKKworCS8qIC1kZWZhdWx0LiAgVmMgc2V0cyBkZWZhdWx0IHJlbmRpdGlvbiwgb3RoZXJ3aXNlIGNsZWFycyBhbGwKKwkgKiBhdHRyaWJ1dGVzLiAqLworCWlmIChjdGwtPm9wdF9kZWZhdWx0KSB7CisJCWlmICh2Y19vbmx5KGN0bCwgTlVMTCkpCisJCQlwcmludGYoIlwwMzNbMG0iKTsKKwkJZWxzZQorCQkJcHV0cCh0aV9lbnRyeSgic2dyMCIpKTsKKwl9CisKKwkvKiAtZm9yZWdyb3VuZCBibGFja3xyZWR8Z3JlZW58eWVsbG93fGJsdWV8bWFnZW50YXxjeWFufHdoaXRlfGRlZmF1bHQuICovCisJaWYgKGN0bC0+b3B0X2ZvcmVncm91bmQpCisJCXByaW50ZigiXDAzM1szJWMlcyIsICcwJyArIGN0bC0+b3B0X2ZvX2NvbG9yLCAibSIpOworCisJLyogLWJhY2tncm91bmQgYmxhY2t8cmVkfGdyZWVufHllbGxvd3xibHVlfG1hZ2VudGF8Y3lhbnx3aGl0ZXxkZWZhdWx0LiAqLworCWlmIChjdGwtPm9wdF9iYWNrZ3JvdW5kKQorCQlwcmludGYoIlwwMzNbNCVjJXMiLCAnMCcgKyBjdGwtPm9wdF9iYV9jb2xvciwgIm0iKTsKKworCS8qIC11bGNvbG9yIGJsYWNrfHJlZHxncmVlbnx5ZWxsb3d8Ymx1ZXxtYWdlbnRhfGN5YW58d2hpdGV8ZGVmYXVsdC4gKi8KKwlpZiAoY3RsLT5vcHRfdWxjb2xvciAmJiB2Y19vbmx5KGN0bCwgIi0tdWxjb2xvciIpKQorCQlwcmludGYoIlwwMzNbMTslZF0iLCBjdGwtPm9wdF91bF9jb2xvcik7CisKKwkvKiAtaGJjb2xvciBibGFja3xyZWR8Z3JlZW58eWVsbG93fGJsdWV8bWFnZW50YXxjeWFufHdoaXRlfGRlZmF1bHQuICovCisJaWYgKGN0bC0+b3B0X2hiY29sb3IpCisJCXByaW50ZigiXDAzM1syOyVkXSIsIGN0bC0+b3B0X2hiX2NvbG9yKTsKKworCS8qIC1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdLiAqLworCWlmIChjdGwtPm9wdF9pbnZlcnNlc2NyZWVuKQorCQlmcHV0cyhjdGwtPm9wdF9pbnZzY19vbiA/ICJcMDMzWz81aCIgOiAiXDAzM1s/NWwiLCBzdGRvdXQpOworCisJLyogLWJvbGQgW29ufG9mZl0uICBWYyBiZWhhdmVzIGFzIGV4cGVjdGVkLCBvdGhlcndpc2Ugb2ZmIHR1cm5zIG9mZgorCSAqIGFsbCBhdHRyaWJ1dGVzLiAqLworCWlmIChjdGwtPm9wdF9ib2xkKSB7CisJCWlmIChjdGwtPm9wdF9ib19vbikKKwkJCXB1dHAodGlfZW50cnkoImJvbGQiKSk7CisJCWVsc2UgeworCQkJaWYgKHZjX29ubHkoY3RsLCBOVUxMKSkKKwkJCQlmcHV0cygiXDAzM1syMm0iLCBzdGRvdXQpOworCQkJZWxzZQorCQkJCXB1dHAodGlfZW50cnkoInNncjAiKSk7CisJCX0KKwl9CisKKwkvKiAtaGFsZi1icmlnaHQgW29ufG9mZl0uICBWYyBiZWhhdmVzIGFzIGV4cGVjdGVkLCBvdGhlcndpc2Ugb2ZmCisJICogdHVybnMgb2ZmIGFsbCBhdHRyaWJ1dGVzLiAgKi8KKwlpZiAoY3RsLT5vcHRfaGFsZmJyaWdodCkgeworCQlpZiAoY3RsLT5vcHRfaGJfb24pCisJCQlwdXRwKHRpX2VudHJ5KCJkaW0iKSk7CisJCWVsc2UgeworCQkJaWYgKHZjX29ubHkoY3RsLCBOVUxMKSkKKwkJCQlmcHV0cygiXDAzM1syMm0iLCBzdGRvdXQpOworCQkJZWxzZQorCQkJCXB1dHAodGlfZW50cnkoInNncjAiKSk7CisJCX0KKwl9CisKKwkvKiAtYmxpbmsgW29ufG9mZl0uICBWYyBiZWhhdmVzIGFzIGV4cGVjdGVkLCBvdGhlcndpc2Ugb2ZmIHR1cm5zIG9mZgorCSAqIGFsbCBhdHRyaWJ1dGVzLiAqLworCWlmIChjdGwtPm9wdF9ibGluaykgeworCQlpZiAoY3RsLT5vcHRfYmxfb24pCisJCQlwdXRwKHRpX2VudHJ5KCJibGluayIpKTsKKwkJZWxzZSB7CisJCQlpZiAodmNfb25seShjdGwsIE5VTEwpKQorCQkJCWZwdXRzKCJcMDMzWzI1bSIsIHN0ZG91dCk7CisJCQllbHNlCisJCQkJcHV0cCh0aV9lbnRyeSgic2dyMCIpKTsKKwkJfQorCX0KKworCS8qIC1yZXZlcnNlIFtvbnxvZmZdLiAgVmMgYmVoYXZlcyBhcyBleHBlY3RlZCwgb3RoZXJ3aXNlIG9mZiB0dXJucworCSAqIG9mZiBhbGwgYXR0cmlidXRlcy4gKi8KKwlpZiAoY3RsLT5vcHRfcmV2ZXJzZSkgeworCQlpZiAoY3RsLT5vcHRfcmVfb24pCisJCQlwdXRwKHRpX2VudHJ5KCJyZXYiKSk7CisJCWVsc2UgeworCQkJaWYgKHZjX29ubHkoY3RsLCBOVUxMKSkKKwkJCQlmcHV0cygiXDAzM1syN20iLCBzdGRvdXQpOworCQkJZWxzZQorCQkJCXB1dHAodGlfZW50cnkoInNncjAiKSk7CisJCX0KKwl9CisKKwkvKiAtdW5kZXJsaW5lIFtvbnxvZmZdLiAqLworCWlmIChjdGwtPm9wdF91bmRlcmxpbmUpCisJCXB1dHAodGlfZW50cnkoY3RsLT5vcHRfdW5fb24gPyAic211bCIgOiAicm11bCIpKTsKKworCS8qIC1zdG9yZS4gKi8KKwlpZiAoY3RsLT5vcHRfc3RvcmUgJiYgdmNfb25seShjdGwsICItLXN0b3JlIikpCisJCWZwdXRzKCJcMDMzWzhdIiwgc3Rkb3V0KTsKKworCS8qIC1jbGVhciBbYWxsfHJlc3RdLiAqLworCWlmIChjdGwtPm9wdF9jbGVhcikKKwkJcHV0cCh0aV9lbnRyeShjdGwtPm9wdF9jbF9hbGwgPyAiY2xlYXIiIDogImVkIikpOworCisJLyogLXRhYnMuICovCisJaWYgKGN0bC0+b3B0X3RhYnMpIHsKKwkJaWYgKGN0bC0+b3B0X3RiX2FycmF5WzBdID09IC0xKQorCQkJc2hvd190YWJzKCk7CisJCWVsc2UgeworCQkJaW50IGk7CisKKwkJCWZvciAoaSA9IDA7IGN0bC0+b3B0X3RiX2FycmF5W2ldID4gMDsgaSsrKQorCQkJCXByaW50ZigiXDAzM1slZEdcMDMzSCIsIGN0bC0+b3B0X3RiX2FycmF5W2ldKTsKKwkJCXB1dGNoYXIoJ1xyJyk7CisJCX0KKwl9CisKKwkvKiAtY2xydGFicy4gKi8KKwlpZiAoY3RsLT5vcHRfY2xydGFicyAmJiB2Y19vbmx5KGN0bCwgIi0tY2xydGFicyIpKSB7CisJCWludCBpOworCisJCWlmIChjdGwtPm9wdF90Yl9hcnJheVswXSA9PSAtMSkKKwkJCWZwdXRzKCJcMDMzWzNnIiwgc3Rkb3V0KTsKKwkJZWxzZQorCQkJZm9yIChpID0gMDsgY3RsLT5vcHRfdGJfYXJyYXlbaV0gPiAwOyBpKyspCisJCQkJcHJpbnRmKCJcMDMzWyVkR1wwMzNbZyIsIGN0bC0+b3B0X3RiX2FycmF5W2ldKTsKKwkJcHV0Y2hhcignXHInKTsKKwl9CisKKwkvKiAtcmVndGFicy4gKi8KKwlpZiAoY3RsLT5vcHRfcmVndGFicyAmJiB2Y19vbmx5KGN0bCwgIi0tcmVndGFicyIpKSB7CisJCWludCBpOworCisJCWZwdXRzKCJcMDMzWzNnXHIiLCBzdGRvdXQpOworCQlmb3IgKGkgPSBjdGwtPm9wdF9ydF9sZW4gKyAxOyBpIDw9IFRBQlNfTUFYOyBpICs9IGN0bC0+b3B0X3J0X2xlbikKKwkJCXByaW50ZigiXDAzM1slZENcMDMzSCIsIGN0bC0+b3B0X3J0X2xlbik7CisJCXB1dGNoYXIoJ1xyJyk7CisJfQorCisJLyogLWJsYW5rIFswLTYwXS4gKi8KKwlpZiAoY3RsLT5vcHRfYmxhbmsgJiYgdmNfb25seShjdGwsICItLWJsYW5rIikpCisJCXNldF9ibGFua2luZyhjdGwpOworCisJLyogLXBvd2Vyc2F2ZSBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl0gKGNvbnNvbGUpICovCisJaWYgKGN0bC0+b3B0X3Bvd2Vyc2F2ZSkgeworCQljaGFyIGlvY3RsYXJnWzJdOworCQlpb2N0bGFyZ1swXSA9IFRJT0NMX1NFVFZFU0FCTEFOSzsKKwkJaW9jdGxhcmdbMV0gPSBjdGwtPm9wdF9wc19tb2RlOworCQlpZiAoaW9jdGwoU1RESU5fRklMRU5PLCBUSU9DTElOVVgsIGlvY3RsYXJnKSkKKwkJCXdhcm4oXygiY2Fubm90ICh1bilzZXQgcG93ZXJzYXZlIG1vZGUiKSk7CisJfQorCisJLyogLXBvd2VyZG93biBbMC02MF0uICovCisJaWYgKGN0bC0+b3B0X3Bvd2VyZG93bikKKwkJcHJpbnRmKCJcMDMzWzE0OyVkXSIsIGN0bC0+b3B0X3BkX21pbik7CisKKwkvKiAtc25hcCBbMS1OUl9DT05TXS4gKi8KKwlpZiAoY3RsLT5vcHRfc25hcCB8fCBjdGwtPm9wdF9hcHBlbmQpCisJCXNjcmVlbmR1bXAoY3RsKTsKKworCS8qIC1tc2cgW29ufG9mZl0uICBDb250cm9scyBwcmludGsncyB0byBjb25zb2xlLiAqLworCWlmIChjdGwtPm9wdF9tc2cgJiYgdmNfb25seShjdGwsICItLW1zZyIpKSB7CisJCWlmIChjdGwtPm9wdF9tc2dfb24pCisJCQlyZXN1bHQgPSBrbG9nY3RsKFNZU0xPR19BQ1RJT05fQ09OU09MRV9PTiwgTlVMTCwgMCk7CisJCWVsc2UKKwkJCXJlc3VsdCA9IGtsb2djdGwoU1lTTE9HX0FDVElPTl9DT05TT0xFX09GRiwgTlVMTCwgMCk7CisKKwkJaWYgKHJlc3VsdCAhPSAwKQorCQkJd2FybihfKCJrbG9nY3RsIGVycm9yIikpOworCX0KKworCS8qIC1tc2dsZXZlbCBbMC04XS4gIENvbnNvbGUgcHJpbnRrIG1lc3NhZ2UgbGV2ZWwuICovCisJaWYgKGN0bC0+b3B0X21zZ2xldmVsX251bSAmJiB2Y19vbmx5KGN0bCwgIi0tbXNnbGV2ZWwiKSkgeworCQlyZXN1bHQgPQorCQkgICAga2xvZ2N0bChTWVNMT0dfQUNUSU9OX0NPTlNPTEVfTEVWRUwsIE5VTEwsCisJCQkgICAgY3RsLT5vcHRfbXNnbGV2ZWxfbnVtKTsKKwkJaWYgKHJlc3VsdCAhPSAwKQorCQkJd2FybihfKCJrbG9nY3RsIGVycm9yIikpOworCX0KKworCS8qIC1ibGVuZ3RoIFswLTIwMDBdICovCisJaWYgKGN0bC0+b3B0X2JsZW5ndGggJiYgdmNfb25seShjdGwsICItLWJsZW5ndGgiKSkgeworCQlwcmludGYoIlwwMzNbMTE7JWRdIiwgY3RsLT5vcHRfYmxlbmd0aF9sKTsKKwl9CisKKwkvKiAtYmZyZXEgZnJlcW51bWJlciAqLworCWlmIChjdGwtPm9wdF9iZnJlcSAmJiB2Y19vbmx5KGN0bCwgIi0tYmZyZXEiKSkgeworCQlwcmludGYoIlwwMzNbMTA7JWRdIiwgY3RsLT5vcHRfYmZyZXFfZik7CisJfQorfQorCitzdGF0aWMgdm9pZCBpbml0X3Rlcm1pbmFsKHN0cnVjdCBzZXR0ZXJtX2NvbnRyb2wgKmN0bCkKK3sKKwlpbnQgdGVybV9lcnJubzsKKworCWlmICghY3RsLT5vcHRfdGVfdGVybWluYWxfbmFtZSkgeworCQljdGwtPm9wdF90ZV90ZXJtaW5hbF9uYW1lID0gZ2V0ZW52KCJURVJNIik7CisJCWlmIChjdGwtPm9wdF90ZV90ZXJtaW5hbF9uYW1lID09IE5VTEwpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJFRFUk0gaXMgbm90IGRlZmluZWQuIikpOworCX0KKworCS8qIEZpbmQgdGVybWluZm8gZW50cnkuICovCisJaWYgKHNldHVwdGVybShjdGwtPm9wdF90ZV90ZXJtaW5hbF9uYW1lLCBTVERPVVRfRklMRU5PLCAmdGVybV9lcnJubykpCisJCXN3aXRjaCAodGVybV9lcnJubykgeworCQljYXNlIC0xOgorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInRlcm1pbmZvIGRhdGFiYXNlIGNhbm5vdCBiZSBmb3VuZCIpKTsKKwkJY2FzZSAwOgorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzOiB1bmtub3duIHRlcm1pbmFsIHR5cGUiKSwgY3RsLT5vcHRfdGVfdGVybWluYWxfbmFtZSk7CisJCWNhc2UgMToKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ0ZXJtaW5hbCBpcyBoYXJkY29weSIpKTsKKwkJfQorCisJLyogU2VlIGlmIHRoZSB0ZXJtaW5hbCBpcyBhIHZpcnR1YWwgY29uc29sZSB0ZXJtaW5hbC4gKi8KKwljdGwtPnZjdGVybSA9ICghc3RybmNtcChjdGwtPm9wdF90ZV90ZXJtaW5hbF9uYW1lLCAiY29uIiwgMykgfHwKKwkJICAgICAgICFzdHJuY21wKGN0bC0+b3B0X3RlX3Rlcm1pbmFsX25hbWUsICJsaW51eCIsIDUpKTsKK30KKworCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJc3RydWN0IHNldHRlcm1fY29udHJvbCBjdGwgPSB7IDAgfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlpZiAoYXJnYyA8IDIpCisJCXVzYWdlKHN0ZGVycik7CisKKwlwYXJzZV9vcHRpb24oJmN0bCwgYXJnYywgYXJndik7CisJaW5pdF90ZXJtaW5hbCgmY3RsKTsKKwlwZXJmb3JtX3NlcXVlbmNlKCZjdGwpOworCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL3Rlcm0tdXRpbHMvdHR5bXNnLmMgYi90ZXJtLXV0aWxzL3R0eW1zZy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhYWI2OWYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXJtLXV0aWxzL3R0eW1zZy5jCkBAIC0wLDAgKzEsMTkwIEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTg5LCAxOTkzCisgKglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorICogICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorICoJVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgVW5pdmVyc2l0eSBvZgorICoJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisgKiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICoKKyAqIE1vZGlmaWVkIFN1biBNYXIgMTIgMTA6Mzk6MjIgMTk5NSwgZmFpdGhAY3MudW5jLmVkdSBmb3IgTGludXgKKyAqCisgKi8KKworIC8qIDE5OTktMDItMjIgQXJrYWRpdXN6IE1pxZtraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4KKyAgKiAtIGFkZGVkIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0CisgICogU3VuIE1hciAyMSAxOTk5IC0gQXJuYWxkbyBDYXJ2YWxobyBkZSBNZWxvIDxhY21lQGNvbmVjdGl2YS5jb20uYnI+CisgICogLSBmaXhlZCBzdHJlcnIoZXJybm8pIGluIGdldHRleHQgY2FsbHMKKyAgKi8KKworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgorI2luY2x1ZGUgPHN5cy91aW8uaD4KKyNpbmNsdWRlIDxzaWduYWwuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPGRpcmVudC5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8cGF0aHMuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJ0dHltc2cuaCIKKworI2RlZmluZSBFUlJfQlVGTEVOCShNQVhOQU1MRU4gKyAxMDI0KQorCisvKgorICogRGlzcGxheSB0aGUgY29udGVudHMgb2YgYSB1aW8gc3RydWN0dXJlIG9uIGEgdGVybWluYWwuICBVc2VkIGJ5IHdhbGwoMSksCisgKiBzeXNsb2dkKDgpLCBhbmQgdGFsa2QoOCkuICBGb3JrcyBhbmQgZmluaXNoZXMgaW4gY2hpbGQgaWYgd3JpdGUgd291bGQgYmxvY2ssCisgKiB3YWl0aW5nIHVwIHRvIHRtb3V0IHNlY29uZHMuICBSZXR1cm5zIHBvaW50ZXIgdG8gZXJyb3Igc3RyaW5nIG9uIHVuZXhwZWN0ZWQKKyAqIGVycm9yOyBzdHJpbmcgaXMgbm90IG5ld2xpbmUtdGVybWluYXRlZC4gIFZhcmlvdXMgIm5vcm1hbCIgZXJyb3JzIGFyZQorICogaWdub3JlZCAoZXhjbHVzaXZlLXVzZSwgbGFjayBvZiBwZXJtaXNzaW9uLCBldGMuKS4KKyAqLworY2hhciAqCit0dHltc2coc3RydWN0IGlvdmVjICppb3YsIHNpemVfdCBpb3ZjbnQsIGNoYXIgKmxpbmUsIGludCB0bW91dCkgeworCXN0YXRpYyBjaGFyIGRldmljZVtNQVhOQU1MRU5dOworCXN0YXRpYyBjaGFyIGVycmJ1ZltFUlJfQlVGTEVOXTsKKwlzaXplX3QgY250LCBsZWZ0OworCXNzaXplX3Qgd3JldDsKKwlzdHJ1Y3QgaW92ZWMgbG9jYWxpb3ZbNl07CisJaW50IGZkLCBmb3JrZWQgPSAwOworCXNzaXplX3QJbGVuID0gMDsKKworCWlmIChpb3ZjbnQgPiBBUlJBWV9TSVpFKGxvY2FsaW92KSkgeworCQlzbnByaW50ZihlcnJidWYsIHNpemVvZihlcnJidWYpLCBfKCJpbnRlcm5hbCBlcnJvcjogdG9vIG1hbnkgaW92J3MiKSk7CisJCXJldHVybiBlcnJidWY7CisJfQorCisJLyogVGhlIG9sZCBjb2RlIGhlcmUgcmVqZWN0ZWQgdGhlIGxpbmUgYXJndW1lbnQgd2hlbiBpdCBjb250YWluZWQgYSAnLycsCisJICAgc2F5aW5nOiAiQSBzbGFzaCBtYXkgYmUgYW4gYXR0ZW1wdCB0byBicmVhayBzZWN1cml0eS4uLiIuCisJICAgSG93ZXZlciwgaWYgYSB1c2VyIGNhbiBjb250cm9sIHRoZSBsaW5lIGFyZ3VtZW50IGhlcmUKKwkgICB0aGVuIGhlIGNhbiBtYWtlIHRoaXMgcm91dGluZSB3cml0ZSB0byAvZGV2L2hkYSBvciAvZGV2L3NkYQorCSAgIGFscmVhZHkuIFNvLCB0aGlzIHRlc3Qgd2FzIHdvcnRobGVzcywgYW5kIHRoZXNlIGRheXMgaXQgaXMKKwkgICBhbHNvIHdyb25nIHNpbmNlIHBlb3BsZSB1c2UgL2Rldi9wdHMveHh4LiAqLworCisJbGVuID0gc25wcmludGYoZGV2aWNlLCBzaXplb2YoZGV2aWNlKSwgIiVzJXMiLCBfUEFUSF9ERVYsIGxpbmUpOworCWlmIChsZW4gPCAwIHx8IChzaXplX3QpbGVuID49IHNpemVvZihkZXZpY2UpKSB7CisJCXNucHJpbnRmKGVycmJ1Ziwgc2l6ZW9mKGVycmJ1ZiksIF8oImV4Y2Vzc2l2ZWx5IGxvbmcgbGluZSBhcmciKSk7CisJCXJldHVybiBlcnJidWY7CisJfQorCisJLyoKKwkgKiBvcGVuIHdpbGwgZmFpbCBvbiBzbGlwIGxpbmVzIG9yIGV4Y2x1c2l2ZS11c2UgbGluZXMKKwkgKiBpZiBub3QgcnVubmluZyBhcyByb290OyBub3QgYW4gZXJyb3IuCisJICovCisJaWYgKChmZCA9IG9wZW4oZGV2aWNlLCBPX1dST05MWXxPX05PTkJMT0NLLCAwKSkgPCAwKSB7CisJCWlmIChlcnJubyA9PSBFQlVTWSB8fCBlcnJubyA9PSBFQUNDRVMpCisJCQlyZXR1cm4gTlVMTDsKKworCQlsZW4gPSBzbnByaW50ZihlcnJidWYsIHNpemVvZihlcnJidWYpLCAiJXM6ICVtIiwgZGV2aWNlKTsKKwkJaWYgKGxlbiA8IDAgfHwgKHNpemVfdClsZW4gPj0gc2l6ZW9mKGVycmJ1ZikpCisJCQlzbnByaW50ZihlcnJidWYsIHNpemVvZihlcnJidWYpLCBfKCJvcGVuIGZhaWxlZCIpKTsKKwkJcmV0dXJuIGVycmJ1ZjsKKwl9CisKKwlmb3IgKGNudCA9IGxlZnQgPSAwOyBjbnQgPCBpb3ZjbnQ7ICsrY250KQorCQlsZWZ0ICs9IGlvdltjbnRdLmlvdl9sZW47CisKKwlmb3IgKDs7KSB7CisJCXdyZXQgPSB3cml0ZXYoZmQsIGlvdiwgaW92Y250KTsKKwkJaWYgKHdyZXQgPj0gKHNzaXplX3QpIGxlZnQpCisJCQlicmVhazsKKwkJaWYgKHdyZXQgPj0gMCkgeworCQkJbGVmdCAtPSB3cmV0OworCQkJaWYgKGlvdiAhPSBsb2NhbGlvdikgeworCQkJCW1lbW1vdmUobG9jYWxpb3YsIGlvdiwKKwkJCQkgICAgaW92Y250ICogc2l6ZW9mKHN0cnVjdCBpb3ZlYykpOworCQkJCWlvdiA9IGxvY2FsaW92OworCQkJfQorCQkJZm9yIChjbnQgPSAwOyB3cmV0ID49IChzc2l6ZV90KSBpb3YtPmlvdl9sZW47ICsrY250KSB7CisJCQkJd3JldCAtPSBpb3YtPmlvdl9sZW47CisJCQkJKytpb3Y7CisJCQkJLS1pb3ZjbnQ7CisJCQl9CisJCQlpZiAod3JldCkgeworCQkJCWlvdi0+aW92X2Jhc2UgPSAoY2hhciAqKSBpb3YtPmlvdl9iYXNlICsgd3JldDsKKwkJCQlpb3YtPmlvdl9sZW4gLT0gd3JldDsKKwkJCX0KKwkJCWNvbnRpbnVlOworCQl9CisJCWlmIChlcnJubyA9PSBFV09VTERCTE9DSykgeworCQkJaW50IGNwaWQsIGZsYWdzOworCQkJc2lnc2V0X3Qgc2lnbWFzazsKKworCQkJaWYgKGZvcmtlZCkgeworCQkJCWNsb3NlKGZkKTsKKwkJCQlfZXhpdChFWElUX0ZBSUxVUkUpOworCQkJfQorCQkJY3BpZCA9IGZvcmsoKTsKKwkJCWlmIChjcGlkIDwgMCkgeworCQkJCWxlbiA9IHNucHJpbnRmKGVycmJ1Ziwgc2l6ZW9mKGVycmJ1ZiksIF8oImZvcms6ICVtIikpOworCQkJCWlmIChsZW4gPCAwIHx8IChzaXplX3QpbGVuID49IHNpemVvZihlcnJidWYpKQorCQkJCQlzbnByaW50ZihlcnJidWYsIHNpemVvZihlcnJidWYpLCBfKCJjYW5ub3QgZm9yayIpKTsKKwkJCQljbG9zZShmZCk7CisJCQkJcmV0dXJuIGVycmJ1ZjsKKwkJCX0KKwkJCWlmIChjcGlkKSB7CS8qIHBhcmVudCAqLworCQkJCWNsb3NlKGZkKTsKKwkJCQlyZXR1cm4gTlVMTDsKKwkJCX0KKwkJCWZvcmtlZCsrOworCQkJLyogd2FpdCBhdCBtb3N0IHRtb3V0IHNlY29uZHMgKi8KKwkJCXNpZ25hbChTSUdBTFJNLCBTSUdfREZMKTsKKwkJCXNpZ25hbChTSUdURVJNLCBTSUdfREZMKTsgLyogWFhYICovCisJCQlzaWdlbXB0eXNldCgmc2lnbWFzayk7CisJCQlzaWdwcm9jbWFzayAoU0lHX1NFVE1BU0ssICZzaWdtYXNrLCBOVUxMKTsKKwkJCWFsYXJtKCh1X2ludCl0bW91dCk7CisJCQlmbGFncyA9IGZjbnRsKGZkLCBGX0dFVEZMKTsKKwkJCWZjbnRsKGZsYWdzLCBGX1NFVEZMLCAobG9uZykgKGZsYWdzICYgfk9fTk9OQkxPQ0spKTsKKwkJCWNvbnRpbnVlOworCQl9CisJCS8qCisJCSAqIFdlIGdldCBFTk9ERVYgb24gYSBzbGlwIGxpbmUgaWYgd2UncmUgcnVubmluZyBhcyByb290LAorCQkgKiBhbmQgRUlPIGlmIHRoZSBsaW5lIGp1c3Qgd2VudCBhd2F5LgorCQkgKi8KKwkJaWYgKGVycm5vID09IEVOT0RFViB8fCBlcnJubyA9PSBFSU8pCisJCQlicmVhazsKKwkJaWYgKGNsb3NlX2ZkKGZkKSAhPSAwKQorCQkJd2FybihfKCJ3cml0ZSBmYWlsZWQ6ICVzIiksIGRldmljZSk7CisJCWlmIChmb3JrZWQpCisJCQlfZXhpdChFWElUX0ZBSUxVUkUpOworCisJCWxlbiA9IHNucHJpbnRmKGVycmJ1Ziwgc2l6ZW9mKGVycmJ1ZiksICIlczogJW0iLCBkZXZpY2UpOworCQlpZiAobGVuIDwgMCB8fCAoc2l6ZV90KWxlbiA+PSBzaXplb2YoZXJyYnVmKSkKKwkJCXNucHJpbnRmKGVycmJ1Ziwgc2l6ZW9mKGVycmJ1ZiksCisJCQkJCV8oIiVzOiBCQUQgRVJST1IsIG1lc3NhZ2UgaXMgIgorCQkJCQkgICJmYXIgdG9vIGxvbmciKSwgZGV2aWNlKTsKKwkJcmV0dXJuIGVycmJ1ZjsKKwl9CisKKwlpZiAoZm9ya2VkKQorCQlfZXhpdChFWElUX1NVQ0NFU1MpOworCXJldHVybiBOVUxMOworfQpkaWZmIC0tZ2l0IGEvdGVybS11dGlscy90dHltc2cuaCBiL3Rlcm0tdXRpbHMvdHR5bXNnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmNmYTczMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlcm0tdXRpbHMvdHR5bXNnLmgKQEAgLTAsMCArMSwyIEBACitjaGFyICp0dHltc2coc3RydWN0IGlvdmVjICppb3YsIHNpemVfdCBpb3ZjbnQsIGNoYXIgKmxpbmUsIGludCB0bW91dCk7CisKZGlmZiAtLWdpdCBhL3Rlcm0tdXRpbHMvd2FsbC4xIGIvdGVybS11dGlscy93YWxsLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDE1ZDFiOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlcm0tdXRpbHMvd2FsbC4xCkBAIC0wLDAgKzEsOTYgQEAKKy5cIiBDb3B5cmlnaHQgKGMpIDE5ODksIDE5OTAgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KKy5cIiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLlwiCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorLlwiICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKy5cIglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisuXCIJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisuXCIgNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKy5cIiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKy5cIiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy5cIgorLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisuXCIgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisuXCIgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKy5cIiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy5cIiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorLlwiIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisuXCIgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisuXCIgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKy5cIiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisuXCIgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorLlwiIFNVQ0ggREFNQUdFLgorLlwiCisuXCIgICAgIEAoIyl3YWxsLjEJNi41IChCZXJrZWxleSkgNC8yMy85MQorLlwiCisuVEggV0FMTCAiMSIgIkF1Z3VzdCAyMDEzIiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQord2FsbCBcLSB3cml0ZSBhIG1lc3NhZ2UgdG8gYWxsIHVzZXJzCisuU0ggU1lOT1BTSVMKKy5CIHdhbGwKKy5SQiBbIFwtbiBdCisuUkIgWyBcLXQKKy5JUiB0aW1lb3V0IF0KKy5SSSBbIG1lc3NhZ2UgIiB8ICIgZmlsZSBdCisuU0ggREVTQ1JJUFRJT04KKy5CIHdhbGwKK2Rpc3BsYXlzIGEKKy5JUiBtZXNzYWdlICwKK29yIHRoZSBjb250ZW50cyBvZiBhCisuSVIgZmlsZSAsCitvciBvdGhlcndpc2UgaXRzIHN0YW5kYXJkIGlucHV0LCBvbiB0aGUgdGVybWluYWxzIG9mIGFsbCBjdXJyZW50bHkgbG9nZ2VkCitpbiB1c2Vycy4gIFRoZSBjb21tYW5kIHdpbGwgd3JhcCBsaW5lcyB0aGF0IGFyZSBsb25nZXIgdGhhbiA3OSBjaGFyYWN0ZXJzLgorU2hvcnQgbGluZXMgYXJlIHdoaXRlc3BhY2UgcGFkZGVkIHRvIGhhdmUgNzkgY2hhcmFjdGVycy4gIFRoZSBjb21tYW5kIHdpbGwKK2Fsd2F5cyBwdXQgYSBjYXJyaWFnZSByZXR1cm4gYW5kIG5ldyBsaW5lIGF0IHRoZSBlbmQgb2YgZWFjaCBsaW5lLgorLlBQCitPbmx5IHRoZSBzdXBlcnVzZXIgY2FuIHdyaXRlIG9uIHRoZSB0ZXJtaW5hbHMgb2YgdXNlcnMgd2hvIGhhdmUgY2hvc2VuIHRvCitkZW55IG1lc3NhZ2VzIG9yIGFyZSB1c2luZyBhIHByb2dyYW0gd2hpY2ggYXV0b21hdGljYWxseSBkZW5pZXMgbWVzc2FnZXMuCisuUFAKK1JlYWRpbmcgZnJvbSBhCisuSSBmaWxlCitpcyByZWZ1c2VkIHdoZW4gdGhlIGludm9rZXIgaXMgbm90IHN1cGVydXNlciBhbmQgdGhlIHByb2dyYW0gaXMKK3NldC11c2VyLUlEIG9yIHNldC1ncm91cC1JRC4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLW4gLCAiIFwtXC1ub2Jhbm5lciIKK1N1cHByZXNzIHRoZSBiYW5uZXIuCisuVFAKKy5CUiBcLXQgLCAiIFwtXC10aW1lb3V0ICIgXGZJdGltZW91dFxmUgorQWJhbmRvbiB0aGUgd3JpdGUgYXR0ZW1wdCB0byB0aGUgdGVybWluYWxzIGFmdGVyIFxmSXRpbWVvdXRcZlIgc2Vjb25kcy4KK1RoaXMgXGZJdGltZW91dFxmUiBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlci4gIFRoZSBkZWZhdWx0IHZhbHVlCitpcyAzMDAgc2Vjb25kcywgd2hpY2ggaXMgYSBsZWdhY3kgZnJvbSB0aGUgdGltZSB3aGVuIHBlb3BsZSByYW4gdGVybWluYWxzIG92ZXIKK21vZGVtIGxpbmVzLgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBOT1RFUworU29tZSBzZXNzaW9ucywgc3VjaCBhcyB3ZG0sIHRoYXQgaGF2ZSBpbiB0aGUgYmVnaW5uaW5nIG9mCisuQlIgdXRtcCAoNSkKK3V0X3R5cGUgZGF0YSBhICc6JyBjaGFyYWN0ZXIgd2lsbCBub3QgZ2V0IHRoZSBtZXNzYWdlIGZyb20KKy5CUiB3YWxsIC4KK1RoaXMgaXMgZG9uZSB0byBhdm9pZCB3cml0ZSBlcnJvcnMuCisuU0ggU0VFIEFMU08KKy5CUiBtZXNnICgxKSwKKy5CUiB0YWxrICgxKSwKKy5CUiB3cml0ZSAoMSksCisuQlIgc2h1dGRvd24gKDgpCisuU0ggSElTVE9SWQorQQorLkIgd2FsbAorY29tbWFuZCBhcHBlYXJlZCBpbiBWZXJzaW9uIDcgQVQmVCBVTklYLgorLlNIIEFWQUlMQUJJTElUWQorVGhlIHdhbGwgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgZnRwOi8vXDpmdHAua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS90ZXJtLXV0aWxzL3dhbGwuYyBiL3Rlcm0tdXRpbHMvd2FsbC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhZDk0ZDgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXJtLXV0aWxzL3dhbGwuYwpAQCAtMCwwICsxLDM2MCBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk4OCwgMTk5MCwgMTk5MworICoJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKKyAqICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKyAqCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKyAqCUNhbGlmb3JuaWEsIEJlcmtlbGV5IGFuZCBpdHMgY29udHJpYnV0b3JzLgorICogNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqCisgKiBNb2RpZmllZCBTdW4gTWFyIDEyIDEwOjM0OjM0IDE5OTUsIGZhaXRoQGNzLnVuYy5lZHUsIGZvciBMaW51eAorICovCisKKy8qCisgKiBUaGlzIHByb2dyYW0gaXMgbm90IHJlbGF0ZWQgdG8gRGF2aWQgV2FsbCwgd2hvc2UgU3RhbmZvcmQgUGguRC4gdGhlc2lzCisgKiBpcyBlbnRpdGxlZCAiTWVjaGFuaXNtcyBmb3IgQnJvYWRjYXN0IGFuZCBTZWxlY3RpdmUgQnJvYWRjYXN0Ii4KKyAqCisgKiAxOTk5LTAyLTIyIEFya2FkaXVzeiBNacWba2lld2ljeiA8bWlzaWVrQHBsZC5PUkcuUEw+CisgKiAtIGFkZGVkIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0CisgKgorICovCisKKyNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjaW5jbHVkZSA8c3lzL3Vpby5oPgorCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxwYXRocy5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8cHdkLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx0aW1lLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8dXRtcC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJ0dHltc2cuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJjYXJlZnVscHV0Yy5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJmaWxldXRpbHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCisjZGVmaW5lCVRFUk1fV0lEVEgJNzkKKyNkZWZpbmUJV1JJVEVfVElNRV9PVVQJMzAwCQkvKiBpbiBzZWNvbmRzICovCisKKy8qIEZ1bmN0aW9uIHByb3RvdHlwZXMgKi8KK3N0YXRpYyBjaGFyICptYWtlbXNnKGNoYXIgKmZuYW1lLCBjaGFyICoqbXZlYywgaW50IG12ZWNzeiwKKwkJICAgIHNpemVfdCAqbWJ1ZnNpemUsIGludCBwcmludF9iYW5uZXIpOworCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZShGSUxFICpvdXQpCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LAorCSAgICAgIF8oIiAlcyBbb3B0aW9uc10gWzxmaWxlPiB8IDxtZXNzYWdlPl1cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiV3JpdGUgYSBtZXNzYWdlIHRvIGFsbCB1c2Vycy5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAgZG8gbm90IHByaW50IGJhbm5lciwgd29ya3Mgb25seSBmb3Igcm9vdFxuIiksIG91dCk7CisJZnB1dHMoXygiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIiksIG91dCk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKFVTQUdFX0hFTFAsIG91dCk7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoIndhbGwoMSkiKSk7CisKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IGNoOworCXN0cnVjdCBpb3ZlYyBpb3Y7CisJc3RydWN0IHV0bXAgKnV0bXBwdHI7CisJY2hhciAqcDsKKwljaGFyIGxpbmVbc2l6ZW9mKHV0bXBwdHItPnV0X2xpbmUpICsgMV07CisJaW50IHByaW50X2Jhbm5lciA9IFRSVUU7CisJY2hhciAqbWJ1ZiwgKmZuYW1lID0gTlVMTDsKKwlzaXplX3QgbWJ1ZnNpemU7CisJdW5zaWduZWQgdGltZW91dCA9IFdSSVRFX1RJTUVfT1VUOworCWNoYXIgKiptdmVjID0gTlVMTDsKKwlpbnQgbXZlY3N6ID0gMDsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsgIm5vYmFubmVyIiwJbm9fYXJndW1lbnQsCQkwLCAnbicgfSwKKwkJeyAidGltZW91dCIsCXJlcXVpcmVkX2FyZ3VtZW50LAkwLCAndCcgfSwKKwkJeyAidmVyc2lvbiIsCW5vX2FyZ3VtZW50LAkJMCwgJ1YnIH0sCisJCXsgImhlbHAiLAlub19hcmd1bWVudCwJCTAsICdoJyB9LAorCQl7IE5VTEwsCTAsIDAsIDAgfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChjaCA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJudDpWaCIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKwkJc3dpdGNoIChjaCkgeworCQljYXNlICduJzoKKwkJCWlmIChnZXRldWlkKCkgPT0gMCkKKwkJCQlwcmludF9iYW5uZXIgPSBGQUxTRTsKKwkJCWVsc2UKKwkJCQl3YXJueChfKCItLW5vYmFubmVyIGlzIGF2YWlsYWJsZSBvbmx5IGZvciByb290IikpOworCQkJYnJlYWs7CisJCWNhc2UgJ3QnOgorCQkJdGltZW91dCA9IHN0cnRvdTMyX29yX2VycihvcHRhcmcsIF8oImludmFsaWQgdGltZW91dCBhcmd1bWVudCIpKTsKKwkJCWlmICh0aW1lb3V0IDwgMSkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50OiAlcyIpLCBvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlleGl0KEVYSVRfU1VDQ0VTUyk7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2Uoc3Rkb3V0KTsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKHN0ZGVycik7CisJCX0KKwl9CisJYXJnYyAtPSBvcHRpbmQ7CisJYXJndiArPSBvcHRpbmQ7CisKKwlpZiAoYXJnYyA9PSAxICYmIGFjY2Vzcyhhcmd2WzBdLCBGX09LKSA9PSAwKQorCQlmbmFtZSA9IGFyZ3ZbMF07CisJZWxzZSBpZiAoYXJnYyA+PSAxKSB7CisJCW12ZWMgPSBhcmd2OworCQltdmVjc3ogPSBhcmdjOworCX0KKworCW1idWYgPSBtYWtlbXNnKGZuYW1lLCBtdmVjLCBtdmVjc3osICZtYnVmc2l6ZSwgcHJpbnRfYmFubmVyKTsKKworCWlvdi5pb3ZfYmFzZSA9IG1idWY7CisJaW92Lmlvdl9sZW4gPSBtYnVmc2l6ZTsKKwl3aGlsZSgodXRtcHB0ciA9IGdldHV0ZW50KCkpKSB7CisJCWlmICghdXRtcHB0ci0+dXRfdXNlclswXSkKKwkJCWNvbnRpbnVlOworI2lmZGVmIFVTRVJfUFJPQ0VTUworCQlpZiAodXRtcHB0ci0+dXRfdHlwZSAhPSBVU0VSX1BST0NFU1MpCisJCQljb250aW51ZTsKKyNlbmRpZgorCQkvKiBKb2V5IEhlc3MgcmVwb3J0cyB0aGF0IHVzZS1zZXNzcmVnIGluIC9ldGMvWDExL3dkbS8KKwkJICAgcHJvZHVjZXMgdXRfbGluZSBlbnRyaWVzIGxpa2UgOjAsIGFuZCBhIHdyaXRlCisJCSAgIHRvIC9kZXYvOjAgZmFpbHMuICovCisJCWlmICh1dG1wcHRyLT51dF9saW5lWzBdID09ICc6JykKKwkJCWNvbnRpbnVlOworCisJCXhzdHJuY3B5KGxpbmUsIHV0bXBwdHItPnV0X2xpbmUsIHNpemVvZih1dG1wcHRyLT51dF9saW5lKSk7CisJCWlmICgocCA9IHR0eW1zZygmaW92LCAxLCBsaW5lLCB0aW1lb3V0KSkgIT0gTlVMTCkKKwkJCXdhcm54KCIlcyIsIHApOworCX0KKwllbmR1dGVudCgpOworCWZyZWUobWJ1Zik7CisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitzdHJ1Y3QgYnVmZmVyIHsKKwlzaXplX3QJc3o7CisJc2l6ZV90CXVzZWQ7CisJY2hhcgkqZGF0YTsKK307CisKK3N0YXRpYyB2b2lkIGJ1Zl9lbmxhcmdlKHN0cnVjdCBidWZmZXIgKmJzLCBzaXplX3QgbGVuKQoreworCWlmIChicy0+c3ogPT0gMCB8fCBsZW4gPiBicy0+c3ogLSBicy0+dXNlZCkgeworCQlicy0+c3ogKz0gbGVuIDwgMTI4ID8gMTI4IDogbGVuOworCQlicy0+ZGF0YSA9IHhyZWFsbG9jKGJzLT5kYXRhLCBicy0+c3opOworCX0KK30KKworc3RhdGljIHZvaWQgYnVmX3B1dHMoc3RydWN0IGJ1ZmZlciAqYnMsIGNvbnN0IGNoYXIgKnMpCit7CisJc2l6ZV90IGxlbiA9IHN0cmxlbihzKTsKKworCWJ1Zl9lbmxhcmdlKGJzLCBsZW4gKyAxKTsKKwltZW1jcHkoYnMtPmRhdGEgKyBicy0+dXNlZCwgcywgbGVuICsgMSk7CisJYnMtPnVzZWQgKz0gbGVuOworfQorCitzdGF0aWMgdm9pZCBidWZfcHJpbnRmKHN0cnVjdCBidWZmZXIgKmJzLCBjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwlpbnQgcmM7CisJdmFfbGlzdCBhcDsKKwlzaXplX3QgbGltaXQ7CisKKwlidWZfZW5sYXJnZShicywgMCk7CS8qIGRlZmF1bHQgc2l6ZSAqLworCWxpbWl0ID0gYnMtPnN6IC0gYnMtPnVzZWQ7CisKKwl2YV9zdGFydChhcCwgZm10KTsKKwlyYyA9IHZzbnByaW50Zihicy0+ZGF0YSArIGJzLT51c2VkLCBsaW1pdCwgZm10LCBhcCk7CisJdmFfZW5kKGFwKTsKKworCWlmIChyYyA+PSAwICYmIChzaXplX3QpIHJjID49IGxpbWl0KSB7CS8qIG5vdCBlbm91Z2gsIGVubGFyZ2UgKi8KKwkJYnVmX2VubGFyZ2UoYnMsIChzaXplX3QpcmMgKyAxKTsKKwkJbGltaXQgPSBicy0+c3ogLSBicy0+dXNlZDsKKwkJdmFfc3RhcnQoYXAsIGZtdCk7CisJCXJjID0gdnNucHJpbnRmKGJzLT5kYXRhICArIGJzLT51c2VkLCBsaW1pdCwgZm10LCBhcCk7OworCQl2YV9lbmQoYXApOworCX0KKworCWlmIChyYyA+IDApCisJCWJzLT51c2VkICs9IHJjOworfQorCitzdGF0aWMgdm9pZCBidWZfcHV0Y19jYXJlZnVsKHN0cnVjdCBidWZmZXIgKmJzLCBpbnQgYykKK3sKKwlpZiAoaXNwcmludChjKSB8fCBjID09ICdcYScgfHwgYyA9PSAnXHQnIHx8IGMgPT0gJ1xyJyB8fCBjID09ICdcbicpIHsKKwkJYnVmX2VubGFyZ2UoYnMsIDEpOworCQlicy0+ZGF0YVticy0+dXNlZCsrXSA9IGM7CisJfSBlbHNlIGlmICghaXNhc2NpaShjKSkKKwkJYnVmX3ByaW50ZihicywgIlxcJTNvIiwgKHVuc2lnbmVkIGNoYXIpYyk7CisJZWxzZSB7CisJCWNoYXIgdG1wW10gPSB7ICdeJywgYyBeIDB4NDAsICdcMCcgfTsKKwkJYnVmX3B1dHMoYnMsIHRtcCk7CisJfQorfQorCitzdGF0aWMgY2hhciAqbWFrZW1zZyhjaGFyICpmbmFtZSwgY2hhciAqKm12ZWMsIGludCBtdmVjc3osCisJCSAgICAgc2l6ZV90ICptYnVmc2l6ZSwgaW50IHByaW50X2Jhbm5lcikKK3sKKwlzdHJ1Y3QgYnVmZmVyIF9icyA9IHsudXNlZCA9IDB9LCAqYnMgPSAmX2JzOworCXJlZ2lzdGVyIGludCBjaCwgY250OworCWNoYXIgKnAsICpsYnVmOworCWxvbmcgbGluZV9tYXg7CisKKwlsaW5lX21heCA9IHN5c2NvbmYoX1NDX0xJTkVfTUFYKTsKKwlpZiAobGluZV9tYXggPD0gMCkKKwkJbGluZV9tYXggPSA1MTI7CisKKwlsYnVmID0geG1hbGxvYyhsaW5lX21heCk7CisKKwlpZiAocHJpbnRfYmFubmVyID09IFRSVUUpIHsKKwkJY2hhciAqaG9zdG5hbWUgPSB4Z2V0aG9zdG5hbWUoKTsKKwkJY2hhciAqd2hvbSwgKndoZXJlLCAqZGF0ZTsKKwkJc3RydWN0IHBhc3N3ZCAqcHc7CisJCXRpbWVfdCBub3c7CisKKwkJaWYgKCEod2hvbSA9IGdldGxvZ2luKCkpIHx8ICEqd2hvbSkKKwkJCXdob20gPSAocHcgPSBnZXRwd3VpZChnZXR1aWQoKSkpID8gcHctPnB3X25hbWUgOiAiPz8/IjsKKwkJaWYgKCF3aG9tKSB7CisJCQl3aG9tID0gInNvbWVvbmUiOworCQkJd2FybihfKCJjYW5ub3QgZ2V0IHBhc3N3ZCB1aWQiKSk7CisJCX0KKwkJd2hlcmUgPSB0dHluYW1lKFNURE9VVF9GSUxFTk8pOworCQlpZiAoIXdoZXJlKSB7CisJCQl3aGVyZSA9ICJzb21ld2hlcmUiOworCQkJd2FybihfKCJjYW5ub3QgZ2V0IHR0eSBuYW1lIikpOworCQl9IGVsc2UgaWYgKHN0cm5jbXAod2hlcmUsICIvZGV2LyIsIDUpID09IDApCisJCQl3aGVyZSArPSA1OworCisJCXRpbWUoJm5vdyk7CisJCWRhdGUgPSB4c3RyZHVwKGN0aW1lKCZub3cpKTsKKwkJZGF0ZVtzdHJsZW4oZGF0ZSkgLSAxXSA9ICdcMCc7CisKKwkJLyoKKwkJICogYWxsIHRoaXMgc3R1ZmYgaXMgdG8gYmxhbmsgb3V0IGEgc3F1YXJlIGZvciB0aGUgbWVzc2FnZTsKKwkJICogd2Ugd3JhcCBtZXNzYWdlIGxpbmVzIGF0IGNvbHVtbiA3OSwgbm90IDgwLCBiZWNhdXNlIHNvbWUKKwkJICogdGVybWluYWxzIHdyYXAgYWZ0ZXIgNzksIHNvbWUgZG8gbm90LCBhbmQgd2UgY2FuJ3QgdGVsbC4KKwkJICogV2hpY2ggbWVhbnMgdGhhdCB3ZSBtYXkgbGVhdmUgYSBub24tYmxhbmsgY2hhcmFjdGVyCisJCSAqIGluIGNvbHVtbiA4MCwgYnV0IHRoYXQgY2FuJ3QgYmUgaGVscGVkLgorCQkgKi8KKwkJLyogc25wcmludGYgaXMgbm90IGFsd2F5cyBhdmFpbGFibGUsIGJ1dCB0aGUgc3ByaW50ZidzIGhlcmUKKwkJICAgd2lsbCBub3Qgb3ZlcmZsb3cgYXMgbG9uZyBhcyAlZCB0YWtlcyBhdCBtb3N0IDEwMCBjaGFycyAqLworCQlidWZfcHJpbnRmKGJzLCAiXHIlKnNcclxuIiwgVEVSTV9XSURUSCwgIiAiKTsKKworCQlzbnByaW50ZihsYnVmLCBsaW5lX21heCwKKwkJCQlfKCJCcm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzQCVzICglcykgKCVzKToiKSwKKwkJCQl3aG9tLCBob3N0bmFtZSwgd2hlcmUsIGRhdGUpOworCQlidWZfcHJpbnRmKGJzLCAiJS0qLipzXDAwN1wwMDdcclxuIiwgVEVSTV9XSURUSCwgVEVSTV9XSURUSCwgbGJ1Zik7CisJCWZyZWUoaG9zdG5hbWUpOworCQlmcmVlKGRhdGUpOworCX0KKwlidWZfcHJpbnRmKGJzLCAiJSpzXHJcbiIsIFRFUk1fV0lEVEgsICIgIik7CisKKwkgaWYgKG12ZWMpIHsKKwkJLyoKKwkJICogUmVhZCBtZXNzYWdlIGZyb20gYXJndltdCisJCSAqLworCQlpbnQgaTsKKworCQlmb3IgKGkgPSAwOyBpIDwgbXZlY3N6OyBpKyspIHsKKwkJCWJ1Zl9wdXRzKGJzLCBtdmVjW2ldKTsKKwkJCWlmIChpIDwgbXZlY3N6IC0gMSkKKwkJCQlidWZfcHV0cyhicywgIiAiKTsKKwkJfQorCQlidWZfcHV0cyhicywgIlxyXG4iKTsKKwl9IGVsc2UgeworCQkvKgorCQkgKiByZWFkIG1lc3NhZ2UgZnJvbSA8ZmlsZT4KKwkJICovCisJCWlmIChmbmFtZSkgeworCQkJLyoKKwkJCSAqIFdoZW4gd2UgYXJlIG5vdCByb290LCBidXQgc3VpZCBvciBzZ2lkLCByZWZ1c2UgdG8gcmVhZCBmaWxlcworCQkJICogKGUuZy4gZGV2aWNlIGZpbGVzKSB0aGF0IHRoZSB1c2VyIG1heSBub3QgaGF2ZSBhY2Nlc3MgdG8uCisJCQkgKiBBZnRlciBhbGwsIG91ciBpbnZva2VyIGNhbiBlYXNpbHkgZG8gIndhbGwgPCBmaWxlIgorCQkJICogaW5zdGVhZCBvZiAid2FsbCBmaWxlIi4KKwkJCSAqLworCQkJdWlkX3QgdWlkID0gZ2V0dWlkKCk7CisJCQlpZiAodWlkICYmICh1aWQgIT0gZ2V0ZXVpZCgpIHx8IGdldGdpZCgpICE9IGdldGVnaWQoKSkpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIndpbGwgbm90IHJlYWQgJXMgLSB1c2Ugc3RkaW4uIiksCisJCQkJICAgICBmbmFtZSk7CisKKwkJCWlmICghZnJlb3BlbihmbmFtZSwgInIiLCBzdGRpbikpCisJCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgZm5hbWUpOworCisJCX0KKworCQkvKgorCQkgKiBSZWFkIG1lc3NhZ2UgZnJvbSBzdGRpbi4KKwkJICovCisJCXdoaWxlIChmZ2V0cyhsYnVmLCBsaW5lX21heCwgc3RkaW4pKSB7CisJCQlmb3IgKGNudCA9IDAsIHAgPSBsYnVmOyAoY2ggPSAqcCkgIT0gJ1wwJzsgKytwLCArK2NudCkgeworCQkJCWlmIChjbnQgPT0gVEVSTV9XSURUSCB8fCBjaCA9PSAnXG4nKSB7CisJCQkJCWZvciAoOyBjbnQgPCBURVJNX1dJRFRIOyArK2NudCkKKwkJCQkJCWJ1Zl9wdXRzKGJzLCAiICIpOworCQkJCQlidWZfcHV0cyhicywgIlxyXG4iKTsKKwkJCQkJY250ID0gMDsKKwkJCQl9CisJCQkJaWYgKGNoID09ICdcdCcpCisJCQkJCWNudCArPSAoNyAtIChjbnQgJSA4KSk7CisJCQkJaWYgKGNoICE9ICdcbicpCisJCQkJCWJ1Zl9wdXRjX2NhcmVmdWwoYnMsIGNoKTsKKwkJCX0KKwkJfQorCX0KKwlidWZfcHJpbnRmKGJzLCAiJSpzXHJcbiIsIFRFUk1fV0lEVEgsICIgIik7CisKKwlmcmVlKGxidWYpOworCisJYnMtPmRhdGFbYnMtPnVzZWRdID0gJ1wwJzsJLyogYmUgcGFyYW5vaWQgKi8KKwkqbWJ1ZnNpemUgPSBicy0+dXNlZDsKKwlyZXR1cm4gYnMtPmRhdGE7Cit9CmRpZmYgLS1naXQgYS90ZXJtLXV0aWxzL3dyaXRlLjEgYi90ZXJtLXV0aWxzL3dyaXRlLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWFkNThiMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlcm0tdXRpbHMvd3JpdGUuMQpAQCAtMCwwICsxLDEwMSBAQAorLlwiIENvcHlyaWdodCAoYykgMTk4OSwgMTk5MworLlwiCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorLlwiCisuXCIgVGhpcyBjb2RlIGlzIGRlcml2ZWQgZnJvbSBzb2Z0d2FyZSBjb250cmlidXRlZCB0byBCZXJrZWxleSBieQorLlwiIEplZiBQb3NrYW56ZXIgYW5kIENyYWlnIExlcmVzIG9mIHRoZSBMYXdyZW5jZSBCZXJrZWxleSBMYWJvcmF0b3J5LgorLlwiCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorLlwiICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKy5cIglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisuXCIJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisuXCIgNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKy5cIiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKy5cIiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy5cIgorLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisuXCIgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisuXCIgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKy5cIiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy5cIiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorLlwiIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisuXCIgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisuXCIgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKy5cIiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisuXCIgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorLlwiIFNVQ0ggREFNQUdFLgorLlwiCisuXCIgICAgIEAoIyl3cml0ZS4xCTguMSAoQmVya2VsZXkpIDYvNi85MworLlwiCisuVEggV1JJVEUgMSAiTWFyY2ggMTk5NSIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK3dyaXRlIFwtIHNlbmQgYSBtZXNzYWdlIHRvIGFub3RoZXIgdXNlcgorLlNIIFNZTk9QU0lTCisuQiB3cml0ZQorLkkgdXNlcgorLlJJIFsgdHR5bmFtZSBdCisuU0ggREVTQ1JJUFRJT04KKy5CIHdyaXRlCithbGxvd3MgeW91IHRvIGNvbW11bmljYXRlIHdpdGggb3RoZXIgdXNlcnMsIGJ5IGNvcHlpbmcgbGluZXMgZnJvbQoreW91ciB0ZXJtaW5hbCB0byB0aGVpcnMuCisuUFAKK1doZW4geW91IHJ1biB0aGUKKy5CIHdyaXRlCitjb21tYW5kLCB0aGUgdXNlciB5b3UgYXJlIHdyaXRpbmcgdG8gZ2V0cyBhIG1lc3NhZ2Ugb2YgdGhlIGZvcm06CisuUFAKKy5SUworTWVzc2FnZSBmcm9tIHlvdXJuYW1lQHlvdXJob3N0IG9uIHlvdXJ0dHkgYXQgaGg6bW0gLi4uCisuUkUKKy5QUAorQW55IGZ1cnRoZXIgbGluZXMgeW91IGVudGVyIHdpbGwgYmUgY29waWVkIHRvIHRoZSBzcGVjaWZpZWQgdXNlcidzCit0ZXJtaW5hbC4gIElmIHRoZSBvdGhlciB1c2VyIHdhbnRzIHRvIHJlcGx5LCB0aGV5IG11c3QgcnVuCisuQiB3cml0ZQorYXMgd2VsbC4KKy5QUAorV2hlbiB5b3UgYXJlIGRvbmUsIHR5cGUgYW4gZW5kLW9mLWZpbGUgb3IgaW50ZXJydXB0IGNoYXJhY3Rlci4gIFRoZSBvdGhlcgordXNlciB3aWxsIHNlZSB0aGUgbWVzc2FnZQorLkIgRU9GCitpbmRpY2F0aW5nIHRoYXQgdGhlIGNvbnZlcnNhdGlvbiBpcyBvdmVyLgorLlBQCitZb3UgY2FuIHByZXZlbnQgcGVvcGxlIChvdGhlciB0aGFuIHRoZSBzdXBlcnVzZXIpIGZyb20gd3JpdGluZyB0byB5b3Ugd2l0aAordGhlCisuQlIgbWVzZyAoMSkKK2NvbW1hbmQuICBTb21lIGNvbW1hbmRzLCBmb3IgZXhhbXBsZQorLkJSIG5yb2ZmICgxKQorYW5kCisuQlIgcHIgKDEpLAorbWF5IGF1dG9tYXRpY2FsbHkgZGlzYWxsb3cgd3JpdGluZywgc28gdGhhdCB0aGUgb3V0cHV0IHRoZXkgcHJvZHVjZQoraXNuJ3Qgb3ZlcndyaXR0ZW4uCisuUFAKK0lmIHRoZSB1c2VyIHlvdSB3YW50IHRvIHdyaXRlIHRvIGlzIGxvZ2dlZCBpbiBvbiBtb3JlIHRoYW4gb25lIHRlcm1pbmFsLAoreW91IGNhbiBzcGVjaWZ5IHdoaWNoIHRlcm1pbmFsIHRvIHdyaXRlIHRvIGJ5IGdpdmluZyB0aGUgdGVybWluYWwKK25hbWUgYXMgdGhlIHNlY29uZCBvcGVyYW5kIHRvIHRoZQorLkIgd3JpdGUKK2NvbW1hbmQuICBBbHRlcm5hdGl2ZWx5LCB5b3UgY2FuIGxldAorLkIgd3JpdGUKK3NlbGVjdCBvbmUgb2YgdGhlIHRlcm1pbmFscyBcLSBpdCB3aWxsIHBpY2sgdGhlIG9uZSB3aXRoIHRoZSBzaG9ydGVzdCBpZGxlCit0aW1lLiAgVGhpcyBpcyBzbyB0aGF0IGlmIHRoZSB1c2VyIGlzIGxvZ2dlZCBpbiBhdCB3b3JrIGFuZCBhbHNvIGRpYWxlZCB1cAorZnJvbSBob21lLCB0aGUgbWVzc2FnZSB3aWxsIGdvIHRvIHRoZSByaWdodCBwbGFjZS4KKy5QUAorVGhlIHRyYWRpdGlvbmFsIHByb3RvY29sIGZvciB3cml0aW5nIHRvIHNvbWVvbmUgaXMgdGhhdCB0aGUgc3RyaW5nIGBcLW8nLAorZWl0aGVyIGF0IHRoZSBlbmQgb2YgYSBsaW5lIG9yIG9uIGEgbGluZSBieSBpdHNlbGYsIG1lYW5zIHRoYXQgaXQncyB0aGUKK290aGVyIHBlcnNvbidzIHR1cm4gdG8gdGFsay4gIFRoZSBzdHJpbmcgYG9vJyBtZWFucyB0aGF0IHRoZSBwZXJzb24KK2JlbGlldmVzIHRoZSBjb252ZXJzYXRpb24gdG8gYmUgb3Zlci4KKy5TSCAiU0VFIEFMU08iCisuQlIgbWVzZyAoMSksCisuQlIgdGFsayAoMSksCisuQlIgd2hvICgxKQorLlNIIEhJU1RPUlkKK0EKKy5CIHdyaXRlCitjb21tYW5kIGFwcGVhcmVkIGluIFZlcnNpb24gNiBBVCZUIFVOSVguCisuU0ggQVZBSUxBQklMSVRZCitUaGUgd3JpdGUgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS90ZXJtLXV0aWxzL3dyaXRlLmMgYi90ZXJtLXV0aWxzL3dyaXRlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTM5Yjg0OAotLS0gL2Rldi9udWxsCisrKyBiL3Rlcm0tdXRpbHMvd3JpdGUuYwpAQCAtMCwwICsxLDM2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk4OSwgMTk5MworICoJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBjb2RlIGlzIGRlcml2ZWQgZnJvbSBzb2Z0d2FyZSBjb250cmlidXRlZCB0byBCZXJrZWxleSBieQorICogSmVmIFBvc2thbnplciBhbmQgQ3JhaWcgTGVyZXMgb2YgdGhlIExhd3JlbmNlIEJlcmtlbGV5IExhYm9yYXRvcnkuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKKyAqICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKyAqCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKyAqCUNhbGlmb3JuaWEsIEJlcmtlbGV5IGFuZCBpdHMgY29udHJpYnV0b3JzLgorICogNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqCisgKiBNb2RpZmllZCBmb3IgTGludXgsIE1vbiBNYXIgIDggMTg6MTY6MjQgMTk5MywgZmFpdGhAY3MudW5jLmVkdQorICogV2VkIEp1biAyMiAyMTo0MTo1NiAxOTk0LCBmYWl0aEBjcy51bmMuZWR1OgorICogICAgICBBZGRlZCBmaXggZnJvbSBNaWtlIEdydXBlbmhvZmYgKGthc2htaXJAdW1pYWNzLnVtZC5lZHUpCisgKiBNb24gSnVsICAxIDE3OjAxOjM5IE1FVCBEU1QgMTk5NiwgamFubEBtYXRoLnVpby5ubzoKKyAqICAgICAgLSBBZGRlZCBmaXggZnJvbSBEYXZpZC5DaGFwZWxsQG1haWwudHJpbmNvbGwuZWR1IGVuYWJsaW5nIGRhZW1vbnMKKyAqCSAgdG8gdXNlIHdyaXRlLgorICogICAgICAtIEFOU0llZCBpdCBzaW5jZSBJIHdhcyB3b3JraW5nIG9uIGl0IGFueXdheS4KKyAqIDE5OTktMDItMjIgQXJrYWRpdXN6IE1pxZtraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4KKyAqIC0gYWRkZWQgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKKyAqCisgKi8KKworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8cGF0aHMuaD4KKyNpbmNsdWRlIDxwd2QuaD4KKyNpbmNsdWRlIDxzaWduYWwuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8dGltZS5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHV0bXAuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJjYXJlZnVscHV0Yy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJ0dHl1dGlscy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorCitzdGF0aWMgc2lnX2F0b21pY190IHNpZ25hbF9yZWNlaXZlZCA9IDA7CisKK3N0cnVjdCB3cml0ZV9jb250cm9sIHsKKwl1aWRfdCBzcmNfdWlkOworCWNvbnN0IGNoYXIgKnNyY19sb2dpbjsKKwljb25zdCBjaGFyICpzcmNfdHR5X3BhdGg7CisJY29uc3QgY2hhciAqc3JjX3R0eV9uYW1lOworCWNvbnN0IGNoYXIgKmRzdF9sb2dpbjsKKwljaGFyICpkc3RfdHR5X3BhdGg7CisJY29uc3QgY2hhciAqZHN0X3R0eV9uYW1lOworfTsKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqb3V0KQoreworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwKKwkgICAgICBfKCIgJXMgW29wdGlvbnNdIDx1c2VyPiBbPHR0eW5hbWU+XVxuIiksCisJICAgICAgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlNlbmQgYSBtZXNzYWdlIHRvIGFub3RoZXIgdXNlci5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dCk7CisKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoIndyaXRlKDEpIikpOworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKKy8qCisgKiBjaGVja190dHkgLSBjaGVjayB0aGF0IGEgdGVybWluYWwgZXhpc3RzLCBhbmQgZ2V0IHRoZSBtZXNzYWdlIGJpdAorICogICAgIGFuZCB0aGUgYWNjZXNzIHRpbWUKKyAqLworc3RhdGljIGludCBjaGVja190dHkoY29uc3QgY2hhciAqdHR5LCBpbnQgKnR0eV93cml0ZWFibGUsIHRpbWVfdCAqdHR5X2F0aW1lLCBpbnQgc2hvd2Vycm9yKQoreworCXN0cnVjdCBzdGF0IHM7CisKKwlpZiAoc3RhdCh0dHksICZzKSA8IDApIHsKKwkJaWYgKHNob3dlcnJvcikKKwkJCXdhcm4oIiVzIiwgdHR5KTsKKwkJcmV0dXJuIDE7CisJfQorCWlmIChnZXR1aWQoKSA9PSAwKQkvKiByb290IGNhbiBhbHdheXMgd3JpdGUgKi8KKwkJKnR0eV93cml0ZWFibGUgPSAxOworCWVsc2UgeworCQlpZiAoZ2V0ZWdpZCgpICE9IHMuc3RfZ2lkKSB7CisJCQl3YXJueChfKCJlZmZlY3RpdmUgZ2lkIGRvZXMgbm90IG1hdGNoIGdyb3VwIG9mICVzIiksIHR0eSk7CisJCQlyZXR1cm4gMTsKKwkJfQorCQkqdHR5X3dyaXRlYWJsZSA9IHMuc3RfbW9kZSAmIFNfSVdHUlA7CisJfQorCWlmICh0dHlfYXRpbWUpCisJCSp0dHlfYXRpbWUgPSBzLnN0X2F0aW1lOworCXJldHVybiAwOworfQorCisvKgorICogY2hlY2tfdXRtcCAtIGNoZWNrcyB0aGF0IHRoZSBnaXZlbiB1c2VyIGlzIGFjdHVhbGx5IGxvZ2dlZCBpbiBvbgorICogICAgIHRoZSBnaXZlbiB0dHkKKyAqLworc3RhdGljIGludCBjaGVja191dG1wKGNvbnN0IHN0cnVjdCB3cml0ZV9jb250cm9sICpjdGwpCit7CisJc3RydWN0IHV0bXAgKnU7CisJaW50IHJlcyA9IDE7CisKKwl1dG1wbmFtZShfUEFUSF9VVE1QKTsKKwlzZXR1dGVudCgpOworCisJd2hpbGUgKCh1ID0gZ2V0dXRlbnQoKSkpIHsKKwkJaWYgKHN0cm5jbXAoY3RsLT5kc3RfbG9naW4sIHUtPnV0X3VzZXIsIHNpemVvZih1LT51dF91c2VyKSkgPT0gMCAmJgorCQkgICAgc3RybmNtcChjdGwtPmRzdF90dHlfbmFtZSwgdS0+dXRfbGluZSwgc2l6ZW9mKHUtPnV0X2xpbmUpKSA9PSAwKSB7CisJCQlyZXMgPSAwOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwllbmR1dGVudCgpOworCXJldHVybiByZXM7Cit9CisKKy8qCisgKiBzZWFyY2hfdXRtcCAtIHNlYXJjaCB1dG1wIGZvciB0aGUgImJlc3QiIHRlcm1pbmFsIHRvIHdyaXRlIHRvCisgKgorICogSWdub3JlcyB0ZXJtaW5hbHMgd2l0aCBtZXNzYWdlcyBkaXNhYmxlZCwgYW5kIG9mIHRoZSByZXN0LCByZXR1cm5zCisgKiB0aGUgb25lIHdpdGggdGhlIG1vc3QgcmVjZW50IGFjY2VzcyB0aW1lLiAgUmV0dXJucyBhcyB2YWx1ZSB0aGUgbnVtYmVyCisgKiBvZiB0aGUgdXNlcidzIHRlcm1pbmFscyB3aXRoIG1lc3NhZ2VzIGVuYWJsZWQsIG9yIC0xIGlmIHRoZSB1c2VyIGlzCisgKiBub3QgbG9nZ2VkIGluIGF0IGFsbC4KKyAqCisgKiBTcGVjaWFsIGNhc2UgZm9yIHdyaXRpbmcgdG8geW91cnNlbGYgLSBpZ25vcmUgdGhlIHRlcm1pbmFsIHlvdSdyZQorICogd3JpdGluZyBmcm9tLCB1bmxlc3MgdGhhdCdzIHRoZSBvbmx5IHRlcm1pbmFsIHdpdGggbWVzc2FnZXMgZW5hYmxlZC4KKyAqLworc3RhdGljIHZvaWQgc2VhcmNoX3V0bXAoc3RydWN0IHdyaXRlX2NvbnRyb2wgKmN0bCkKK3sKKwlzdHJ1Y3QgdXRtcCAqdTsKKwl0aW1lX3QgYmVzdF9hdGltZSA9IDAsIHR0eV9hdGltZTsKKwlpbnQgbnVtX3R0eXMgPSAwLCB2YWxpZF90dHlzID0gMCwgdHR5X3dyaXRlYWJsZSA9IDAsIHVzZXJfaXNfbWUgPSAwOworCWNoYXIgcGF0aFtVVF9MSU5FU0laRSArIDZdOworCisJdXRtcG5hbWUoX1BBVEhfVVRNUCk7CisJc2V0dXRlbnQoKTsKKworCXdoaWxlICgodSA9IGdldHV0ZW50KCkpKSB7CisJCWlmIChzdHJuY21wKGN0bC0+ZHN0X2xvZ2luLCB1LT51dF91c2VyLCBzaXplb2YodS0+dXRfdXNlcikpICE9IDApCisJCQljb250aW51ZTsKKwkJbnVtX3R0eXMrKzsKKwkJc3ByaW50ZihwYXRoLCAiL2Rldi8lcyIsIHUtPnV0X2xpbmUpOworCQlpZiAoY2hlY2tfdHR5KHBhdGgsICZ0dHlfd3JpdGVhYmxlLCAmdHR5X2F0aW1lLCAwKSkKKwkJCS8qIGJhZCB0ZXJtPyBza2lwICovCisJCQljb250aW51ZTsKKwkJaWYgKGN0bC0+c3JjX3VpZCAmJiAhdHR5X3dyaXRlYWJsZSkKKwkJCS8qIHNraXAgdHR5cyB3aXRoIG1zZ3Mgb2ZmICovCisJCQljb250aW51ZTsKKwkJaWYgKHN0cmNtcCh1LT51dF9saW5lLCBjdGwtPnNyY190dHlfbmFtZSkgPT0gMCkgeworCQkJdXNlcl9pc19tZSA9IDE7CisJCQkvKiBkb24ndCB3cml0ZSB0byB5b3Vyc2VsZiAqLworCQkJY29udGludWU7CisJCX0KKwkJaWYgKHUtPnV0X3R5cGUgIT0gVVNFUl9QUk9DRVNTKQorCQkJLyogaXQncyBub3QgYSB2YWxpZCBlbnRyeSAqLworCQkJY29udGludWU7CisJCXZhbGlkX3R0eXMrKzsKKwkJaWYgKGJlc3RfYXRpbWUgPCB0dHlfYXRpbWUpIHsKKwkJCWJlc3RfYXRpbWUgPSB0dHlfYXRpbWU7CisJCQlmcmVlKGN0bC0+ZHN0X3R0eV9wYXRoKTsKKwkJCWN0bC0+ZHN0X3R0eV9wYXRoID0geHN0cmR1cChwYXRoKTsKKwkJCWN0bC0+ZHN0X3R0eV9uYW1lID0gY3RsLT5kc3RfdHR5X3BhdGggKyA1OworCQl9CisJfQorCisJZW5kdXRlbnQoKTsKKwlpZiAobnVtX3R0eXMgPT0gMCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzIGlzIG5vdCBsb2dnZWQgaW4iKSwgY3RsLT5kc3RfbG9naW4pOworCWlmICh2YWxpZF90dHlzID09IDApIHsKKwkJaWYgKHVzZXJfaXNfbWUpIHsKKwkJCS8qIG9rLCBzbyB3cml0ZSB0byB5b3Vyc2VsZiEgKi8KKwkJCWlmICghY3RsLT5zcmNfdHR5X3BhdGgpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImNhbid0IGZpbmQgeW91ciB0dHkncyBuYW1lIikpOworCQkJY3RsLT5kc3RfdHR5X3BhdGggPSB4c3RyZHVwKGN0bC0+c3JjX3R0eV9wYXRoKTsKKwkJCWN0bC0+ZHN0X3R0eV9uYW1lID0gY3RsLT5kc3RfdHR5X3BhdGggKyA1OworCQkJcmV0dXJuOworCQl9CisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQiKSwgY3RsLT5kc3RfbG9naW4pOworCX0KKwlpZiAoMSA8IHZhbGlkX3R0eXMpCisJCXdhcm54KF8oIiVzIGlzIGxvZ2dlZCBpbiBtb3JlIHRoYW4gb25jZTsgd3JpdGluZyB0byAlcyIpLAorCQkgICAgICBjdGwtPmRzdF9sb2dpbiwgY3RsLT5kc3RfdHR5X25hbWUpOworfQorCisvKgorICogc2lnbmFsX2hhbmRsZXIgLSBjYXVzZSB3cml0ZSBsb29wIHRvIGV4aXQKKyAqLworc3RhdGljIHZvaWQgc2lnbmFsX2hhbmRsZXIoaW50IHNpZ25vKQoreworCXNpZ25hbF9yZWNlaXZlZCA9IHNpZ25vOworfQorCisvKgorICogd3JpdGVfbGluZSAtIGxpa2UgZnB1dHMoKSwgYnV0IG1ha2VzIGNvbnRyb2wgY2hhcmFjdGVycyB2aXNpYmxlIGFuZAorICogICAgIHR1cm5zIFxuIGludG8gXHJcbi4KKyAqLworc3RhdGljIHZvaWQgd3JpdGVfbGluZShjaGFyICpzKQoreworCXdoaWxlICgqcykgeworCQljb25zdCBpbnQgYyA9ICpzKys7CisKKwkJaWYgKChjID09ICdcbicgJiYgZnB1dGNfY2FyZWZ1bCgnXHInLCBzdGRvdXQsICdeJykgPT0gRU9GKQorCQkgICAgfHwgZnB1dGNfY2FyZWZ1bChjLCBzdGRvdXQsICdeJykgPT0gRU9GKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2FyZWZ1bHB1dGMgZmFpbGVkIikpOworCX0KK30KKworLyoKKyAqIGRvX3dyaXRlIC0gYWN0dWFsbHkgbWFrZSB0aGUgY29ubmVjdGlvbgorICovCitzdGF0aWMgdm9pZCBkb193cml0ZShjb25zdCBzdHJ1Y3Qgd3JpdGVfY29udHJvbCAqY3RsKQoreworCWNoYXIgKmxvZ2luLCAqcHd1aWQ7CisJc3RydWN0IHBhc3N3ZCAqcHdkOworCXRpbWVfdCBub3c7CisJc3RydWN0IHRtICp0bTsKKwljaGFyICpob3N0LCBsaW5lWzUxMl07CisJc3RydWN0IHNpZ2FjdGlvbiBzaWdhY3Q7CisKKwkvKiBEZXRlcm1pbmUgb3VyIGxvZ2luIG5hbWUocykgYmVmb3JlIHRoZSB3ZSByZW9wZW4oKSBzdGRvdXQgKi8KKwlpZiAoKHB3ZCA9IGdldHB3dWlkKGN0bC0+c3JjX3VpZCkpICE9IE5VTEwpCisJCXB3dWlkID0gcHdkLT5wd19uYW1lOworCWVsc2UKKwkJcHd1aWQgPSAiPz8/IjsKKwlpZiAoKGxvZ2luID0gZ2V0bG9naW4oKSkgPT0gTlVMTCkKKwkJbG9naW4gPSBwd3VpZDsKKworCWlmICgoZnJlb3BlbihjdGwtPmRzdF90dHlfcGF0aCwgInciLCBzdGRvdXQpKSA9PSBOVUxMKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiJXMiLCBjdGwtPmRzdF90dHlfcGF0aCk7CisKKwlzaWdhY3Quc2FfaGFuZGxlciA9IHNpZ25hbF9oYW5kbGVyOworCXNpZ2VtcHR5c2V0KCZzaWdhY3Quc2FfbWFzayk7CisJc2lnYWN0LnNhX2ZsYWdzID0gMDsKKwlzaWdhY3Rpb24oU0lHSU5ULCAmc2lnYWN0LCBOVUxMKTsKKwlzaWdhY3Rpb24oU0lHSFVQLCAmc2lnYWN0LCBOVUxMKTsKKworCWhvc3QgPSB4Z2V0aG9zdG5hbWUoKTsKKwlpZiAoIWhvc3QpCisJCWhvc3QgPSB4c3RyZHVwKCI/Pz8iKTsKKworCW5vdyA9IHRpbWUoKHRpbWVfdCAqKU5VTEwpOworCXRtID0gbG9jYWx0aW1lKCZub3cpOworCS8qIHByaW50IGdyZWV0aW5nICovCisJcHJpbnRmKCJcclxuXGFcYVxhIik7CisJaWYgKHN0cmNtcChsb2dpbiwgcHd1aWQpKQorCQlwcmludGYoXygiTWVzc2FnZSBmcm9tICVzQCVzIChhcyAlcykgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIpLAorCQkgICAgICAgbG9naW4sIGhvc3QsIHB3dWlkLCBjdGwtPnNyY190dHlfbmFtZSwKKwkJICAgICAgIHRtLT50bV9ob3VyLCB0bS0+dG1fbWluKTsKKwllbHNlCisJCXByaW50ZihfKCJNZXNzYWdlIGZyb20gJXNAJXMgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIpLAorCQkgICAgICAgbG9naW4sIGhvc3QsIGN0bC0+c3JjX3R0eV9uYW1lLAorCQkgICAgICAgdG0tPnRtX2hvdXIsIHRtLT50bV9taW4pOworCWZyZWUoaG9zdCk7CisJcHJpbnRmKCJcclxuIik7CisKKwl3aGlsZSAoZmdldHMobGluZSwgc2l6ZW9mKGxpbmUpLCBzdGRpbikgIT0gTlVMTCkgeworCQlpZiAoc2lnbmFsX3JlY2VpdmVkKQorCQkJYnJlYWs7CisJCXdyaXRlX2xpbmUobGluZSk7CisJfQorCXByaW50ZigiRU9GXHJcbiIpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IHR0eV93cml0ZWFibGUgPSAwLCBjOworCXN0cnVjdCB3cml0ZV9jb250cm9sIGN0bCA9IHsgMCB9OworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsIE5VTEwsICdWJ30sCisJCXsiaGVscCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCd9LAorCQl7TlVMTCwgMCwgTlVMTCwgMH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJWaCIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpCisJCXN3aXRjaCAoYykgeworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShzdGRvdXQpOworCQlkZWZhdWx0OgorCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJfQorCisJaWYgKGdldF90ZXJtaW5hbF9uYW1lKCZjdGwuc3JjX3R0eV9wYXRoLCAmY3RsLnNyY190dHlfbmFtZSwgTlVMTCkgPT0gMCkgeworCQkvKiBjaGVjayB0aGF0IHNlbmRlciBoYXMgd3JpdGUgZW5hYmxlZCAqLworCQlpZiAoY2hlY2tfdHR5KGN0bC5zcmNfdHR5X3BhdGgsICZ0dHlfd3JpdGVhYmxlLCBOVUxMLCAxKSkKKwkJCWV4aXQoRVhJVF9GQUlMVVJFKTsKKwkJaWYgKCF0dHlfd3JpdGVhYmxlKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkgICAgIF8oInlvdSBoYXZlIHdyaXRlIHBlcm1pc3Npb24gdHVybmVkIG9mZiIpKTsKKwkJdHR5X3dyaXRlYWJsZSA9IDA7CisJfSBlbHNlCisJCWN0bC5zcmNfdHR5X25hbWUgPSAiPG5vIHR0eT4iOworCisJY3RsLnNyY191aWQgPSBnZXR1aWQoKTsKKworCS8qIGNoZWNrIGFyZ3MgKi8KKwlzd2l0Y2ggKGFyZ2MpIHsKKwljYXNlIDI6CisJCWN0bC5kc3RfbG9naW4gPSBhcmd2WzFdOworCQlzZWFyY2hfdXRtcCgmY3RsKTsKKwkJZG9fd3JpdGUoJmN0bCk7CisJCWJyZWFrOworCWNhc2UgMzoKKwkJY3RsLmRzdF9sb2dpbiA9IGFyZ3ZbMV07CisJCWlmICghc3RybmNtcChhcmd2WzJdLCAiL2Rldi8iLCA1KSkKKwkJCWN0bC5kc3RfdHR5X3BhdGggPSB4c3RyZHVwKGFyZ3ZbMl0pOworCQllbHNlCisJCQl4YXNwcmludGYoJmN0bC5kc3RfdHR5X3BhdGgsICIvZGV2LyVzIiwgYXJndlsyXSk7CisJCWN0bC5kc3RfdHR5X25hbWUgPSBjdGwuZHN0X3R0eV9wYXRoICsgNTsKKwkJaWYgKGNoZWNrX3V0bXAoJmN0bCkpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCSAgICAgXygiJXMgaXMgbm90IGxvZ2dlZCBpbiBvbiAlcyIpLAorCQkJICAgICBjdGwuZHN0X2xvZ2luLCBjdGwuZHN0X3R0eV9uYW1lKTsKKwkJaWYgKGNoZWNrX3R0eShjdGwuZHN0X3R0eV9wYXRoLCAmdHR5X3dyaXRlYWJsZSwgTlVMTCwgMSkpCisJCQlleGl0KEVYSVRfRkFJTFVSRSk7CisJCWlmIChjdGwuc3JjX3VpZCAmJiAhdHR5X3dyaXRlYWJsZSkKKwkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJICAgICBfKCIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQgb24gJXMiKSwKKwkJCSAgICAgY3RsLmRzdF9sb2dpbiwgY3RsLmRzdF90dHlfbmFtZSk7CisJCWRvX3dyaXRlKCZjdGwpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQl1c2FnZShzdGRlcnIpOworCX0KKwlmcmVlKGN0bC5kc3RfdHR5X3BhdGgpOworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS90ZXN0cy8uZ2l0aWdub3JlIGIvdGVzdHMvLmdpdGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTM3YzdmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvLmdpdGlnbm9yZQpAQCAtMCwwICsxLDIgQEAKK2RpZmYKK291dHB1dApkaWZmIC0tZ2l0IGEvdGVzdHMvTWFrZW1vZHVsZS5hbSBiL3Rlc3RzL01ha2Vtb2R1bGUuYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjE3OThjOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL01ha2Vtb2R1bGUuYW0KQEAgLTAsMCArMSwyNCBAQAorCitpbmNsdWRlIHRlc3RzL2hlbHBlcnMvTWFrZW1vZHVsZS5hbQorCitFWFRSQV9ESVNUICs9IFwKKwl0ZXN0cy9leHBlY3RlZCBcCisJdGVzdHMvZnVuY3Rpb25zLnNoIFwKKwl0ZXN0cy9jb21tYW5kcy5zaCBcCisJdGVzdHMvcnVuLnNoIFwKKwl0ZXN0cy90cworCitjbGVhbi1sb2NhbC10ZXN0czoKKwlybSAtcmYgJCh0b3BfYnVpbGRkaXIpL3Rlc3RzL291dHB1dCAkKHRvcF9idWlsZGRpcikvdGVzdHMvZGlmZgorCitDTEVBTl9MT0NBTFMgKz0gY2xlYW4tbG9jYWwtdGVzdHMKKworVFNfT1BUUyA9IC0tbm9ucm9vdAorVFNfQ09NTUFORCA9ICQodG9wX3NyY2RpcikvdGVzdHMvcnVuLnNoIFwKKwktLXNyY2Rpcj0kKGFic190b3Bfc3JjZGlyKSAtLWJ1aWxkZGlyPSQoYWJzX3RvcF9idWlsZGRpcikgXAorCS0tcGFyYWxsZWwgJChUU19PUFRTKQorCitjaGVjay1sb2NhbC10ZXN0czogJChjaGVja19QUk9HUkFNUykKKwkkKEFNX1ZfR0VOKSAkKFRTX0NPTU1BTkQpCisKK0NIRUNLX0xPQ0FMUyArPSBjaGVjay1sb2NhbC10ZXN0cwpkaWZmIC0tZ2l0IGEvdGVzdHMvY29tbWFuZHMuc2ggYi90ZXN0cy9jb21tYW5kcy5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYzRhNDkwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvY29tbWFuZHMuc2gKQEAgLTAsMCArMSw5NyBAQAorIyBNaXNjIHNldHRpbmdzCitUU19URVNUVVNFUj0ke1RTX1RFU1RVU0VSOi0ibm9ib2R5In0KKworIyBoZWxwZXJzCitUU19IRUxQRVJfQllURVNXQVA9IiR0b3BfYnVpbGRkaXIvdGVzdF9ieXRlc3dhcCIKK1RTX0hFTFBFUl9DUFVTRVQ9IiR0b3BfYnVpbGRkaXIvdGVzdF9jcHVzZXQiCitUU19IRUxQRVJfRE1FU0c9IiR0b3BfYnVpbGRkaXIvdGVzdF9kbWVzZyIKK1RTX0hFTFBFUl9JU0xPQ0FMPSIkdG9wX2J1aWxkZGlyL3Rlc3RfaXNsb2NhbCIKK1RTX0hFTFBFUl9JU01PVU5URUQ9IiR0b3BfYnVpbGRkaXIvdGVzdF9pc21vdW50ZWQiCitUU19IRUxQRVJfTElCRkRJU0tfR1BUPSIkdG9wX2J1aWxkZGlyL3Rlc3RfZmRpc2tfZ3B0IgorVFNfSEVMUEVSX0xJQk1PVU5UX0NPTlRFWFQ9IiR0b3BfYnVpbGRkaXIvdGVzdF9tb3VudF9jb250ZXh0IgorVFNfSEVMUEVSX0xJQk1PVU5UX0xPQ0s9IiR0b3BfYnVpbGRkaXIvdGVzdF9tb3VudF9sb2NrIgorVFNfSEVMUEVSX0xJQk1PVU5UX09QVFNUUj0iJHRvcF9idWlsZGRpci90ZXN0X21vdW50X29wdHN0ciIKK1RTX0hFTFBFUl9MSUJNT1VOVF9UQUJESUZGPSIkdG9wX2J1aWxkZGlyL3Rlc3RfbW91bnRfdGFiX2RpZmYiCitUU19IRUxQRVJfTElCTU9VTlRfVEFCPSIkdG9wX2J1aWxkZGlyL3Rlc3RfbW91bnRfdGFiIgorVFNfSEVMUEVSX0xJQk1PVU5UX1VQREFURT0iJHRvcF9idWlsZGRpci90ZXN0X21vdW50X3RhYl91cGRhdGUiCitUU19IRUxQRVJfTElCTU9VTlRfVVRJTFM9IiR0b3BfYnVpbGRkaXIvdGVzdF9tb3VudF91dGlscyIKK1RTX0hFTFBFUl9MSUJNT1VOVF9ERUJVRz0iJHRvcF9idWlsZGRpci90ZXN0X21vdW50X2RlYnVnIgorVFNfSEVMUEVSX0xJQlNNQVJUQ09MU19GUk9NRklMRT0iJHRvcF9idWlsZGRpci9zYW1wbGUtc2NvbHMtZnJvbWZpbGUiCitUU19IRUxQRVJfTElCU01BUlRDT0xTX1RJVExFPSIkdG9wX2J1aWxkZGlyL3NhbXBsZS1zY29scy10aXRsZSIKK1RTX0hFTFBFUl9QWUxJQk1PVU5UX0NPTlRFWFQ9IiR0b3Bfc3JjZGlyL2xpYm1vdW50L3B5dGhvbi90ZXN0X21vdW50X2NvbnRleHQucHkiCitUU19IRUxQRVJfUFlMSUJNT1VOVF9UQUI9IiR0b3Bfc3JjZGlyL2xpYm1vdW50L3B5dGhvbi90ZXN0X21vdW50X3RhYi5weSIKK1RTX0hFTFBFUl9QWUxJQk1PVU5UX1VQREFURT0iJHRvcF9zcmNkaXIvbGlibW91bnQvcHl0aG9uL3Rlc3RfbW91bnRfdGFiX3VwZGF0ZS5weSIKK1RTX0hFTFBFUl9MT0dHRVI9IiR0b3BfYnVpbGRkaXIvdGVzdF9sb2dnZXIiCitUU19IRUxQRVJfTE9HSU5ERUZTPSIkdG9wX2J1aWxkZGlyL3Rlc3RfbG9naW5kZWZzIgorVFNfSEVMUEVSX01ENT0iJHRvcF9idWlsZGRpci90ZXN0X21kNSIKK1RTX0hFTFBFUl9NS0ZTX01JTklYPSIkdG9wX2J1aWxkZGlyL3Rlc3RfbWtmc19taW5peCIKK1RTX0hFTFBFUl9NT1JFPSR7VFNfSEVMUEVSX01PUkUtIiR0b3BfYnVpbGRkaXIvdGVzdF9tb3JlIn0KK1RTX0hFTFBFUl9QQVJUSVRJT05TPSIkdG9wX2J1aWxkZGlyL3NhbXBsZS1wYXJ0aXRpb25zIgorVFNfSEVMUEVSX1BBVEhTPSIkdG9wX2J1aWxkZGlyL3Rlc3RfcGF0aG5hbWVzIgorVFNfSEVMUEVSX1NDUklQVD0iJHRvcF9idWlsZGRpci90ZXN0X3NjcmlwdCIKK1RTX0hFTFBFUl9TSUdSRUNFSVZFPSIkdG9wX2J1aWxkZGlyL3Rlc3Rfc2lncmVjZWl2ZSIKK1RTX0hFTFBFUl9TVFJVVElMUz0iJHRvcF9idWlsZGRpci90ZXN0X3N0cnV0aWxzIgorVFNfSEVMUEVSX1NZU0lORk89IiR0b3BfYnVpbGRkaXIvdGVzdF9zeXNpbmZvIgorVFNfSEVMUEVSX1RJT0NTVEk9IiR0b3BfYnVpbGRkaXIvdGVzdF90aW9jc3RpIgorVFNfSEVMUEVSX1VVSURfUEFSU0VSPSIkdG9wX2J1aWxkZGlyL3Rlc3RfdXVpZF9wYXJzZXIiCisKKyMgcGF0aHMgdG8gY29tbWFuZHMKK1RTX0NNRF9BRERQQVJUPSR7VFNfQ01EX0FERFBBUlQ6LSIkdG9wX2J1aWxkZGlyL2FkZHBhcnQifQorVFNfQ01EX0RFTFBBUlQ9JHtUU19DTURfREVMUEFSVDotIiR0b3BfYnVpbGRkaXIvZGVscGFydCJ9CitUU19DTURfQkxLRElTQ0FSRD0ke1RTX0NNRF9CTEtJRC0iJHRvcF9idWlsZGRpci9ibGtkaXNjYXJkIn0KK1RTX0NNRF9CTEtJRD0ke1RTX0NNRF9CTEtJRC0iJHRvcF9idWlsZGRpci9ibGtpZCJ9CitUU19DTURfQ0FMPSR7VFNfQ01EX0NBTC0iJHRvcF9idWlsZGRpci9jYWwifQorVFNfQ01EX0NPTENSVD0ke1RTX0NNRF9DT0xDUlQ6LSIkdG9wX2J1aWxkZGlyL2NvbGNydCJ9CitUU19DTURfQ09MUk09JHtUU19DTURfQ09MUk06LSIkdG9wX2J1aWxkZGlyL2NvbHJtIn0KK1RTX0NNRF9DT0w9JHtUU19DTURfQ09MOi0iJHRvcF9idWlsZGRpci9jb2wifQorVFNfQ01EX0NPTFVNTj0ke1RTX0NNRF9DT0xVTU46LSIkdG9wX2J1aWxkZGlyL2NvbHVtbiJ9CitUU19DTURfRUpFQ1Q9JHtUU19DTURfRUpFQ1QtIiR0b3BfYnVpbGRkaXIvZWplY3QifQorVFNfQ01EX0ZBTExPQ0FURT0ke1RTX0NNRF9GQUxMT0NBVEUtIiR0b3BfYnVpbGRkaXIvZmFsbG9jYXRlIn0KK1RTX0NNRF9GRElTSz0ke1RTX0NNRF9GRElTSy0iJHRvcF9idWlsZGRpci9mZGlzayJ9CitUU19DTURfRkxPQ0s9JHtUU19DTURfRkxPQ0stIiR0b3BfYnVpbGRkaXIvZmxvY2sifQorVFNfQ01EX1NGRElTSz0ke1RTX0NNRF9TRkRJU0stIiR0b3BfYnVpbGRkaXIvc2ZkaXNrIn0KK1RTX0NNRF9GSU5ETU5UPSR7VFNfQ01EX0ZJTkRNTlQtIiR0b3BfYnVpbGRkaXIvZmluZG1udCJ9CitUU19DTURfRlNDS0NSQU1GUz0ke1RTX0NNRF9GU0NLQ1JBTUZTOi0iJHRvcF9idWlsZGRpci9mc2NrLmNyYW1mcyJ9CitUU19DTURfRlNDS01JTklYPSR7VFNfQ01EX0ZTQ0tNSU5JWDotIiR0b3BfYnVpbGRkaXIvZnNjay5taW5peCJ9CitUU19DTURfR0VUT1BUPSR7VFNfQ01EX0dFVE9QVC0iJHRvcF9idWlsZGRpci9nZXRvcHQifQorVFNfQ01EX0hFWERVTVA9JHtUU19DTURfSEVYRFVNUC0iJHRvcF9idWlsZGRpci9oZXhkdW1wIn0KK1RTX0NNRF9IV0NMT0NLPSR7VFNfQ01EX0hXQ0xPQ0stIiR0b3BfYnVpbGRkaXIvaHdjbG9jayJ9CitUU19DTURfSU9OSUNFPSR7VFNfQ01EX0lPTklDRS0iJHRvcF9idWlsZGRpci9pb25pY2UifQorVFNfQ01EX0lQQ01LPSR7VFNfQ01EX0lQQ01LLSIkdG9wX2J1aWxkZGlyL2lwY21rIn0KK1RTX0NNRF9JUENSTT0ke1RTX0NNRF9JUENSTS0iJHRvcF9idWlsZGRpci9pcGNybSJ9CitUU19DTURfSVBDUz0ke1RTX0NNRF9JUENTOi0iJHRvcF9idWlsZGRpci9pcGNzIn0KK1RTX0NNRF9JU09TSVpFPSR7VFNfQ01EX0lTT1NJWkUtIiR0b3BfYnVpbGRkaXIvaXNvc2l6ZSJ9CitUU19DTURfS0lMTD0ke1RTX0NNRF9LSUxMLSIkdG9wX2J1aWxkZGlyL2tpbGwifQorVFNfQ01EX0xBU1Q9JHtUU19DTURfTEFTVC0iJHRvcF9idWlsZGRpci9sYXN0In0KK1RTX0NNRF9MSU5FPSR7VFNfQ01EX0xJTkUtIiR0b3BfYnVpbGRkaXIvbGluZSJ9CitUU19DTURfTE9PSz0ke1RTX0NNRF9MT09LLSIkdG9wX2J1aWxkZGlyL2xvb2sifQorVFNfQ01EX0xPU0VUVVA9JHtUU19DTURfTE9TRVRVUDotIiR0b3BfYnVpbGRkaXIvbG9zZXR1cCJ9CitUU19DTURfTFNCTEs9JHtUU19DTURfTFNCTEstIiR0b3BfYnVpbGRkaXIvbHNibGsifQorVFNfQ01EX0xTQ1BVPSR7VFNfQ01EX0xTQ1BVLSIkdG9wX2J1aWxkZGlyL2xzY3B1In0KK1RTX0NNRF9NQ09PS0lFPSR7VFNfQ01EX01DT09LSUUtIiR0b3BfYnVpbGRkaXIvbWNvb2tpZSJ9CitUU19DTURfTUtDUkFNRlM9JHtUU19DTURfTUtDUkFNRlM6LSIkdG9wX2J1aWxkZGlyL21rZnMuY3JhbWZzIn0KK1RTX0NNRF9NS01JTklYPSR7VFNfQ01EX01LTUlOSVg6LSIkdG9wX2J1aWxkZGlyL21rZnMubWluaXgifQorVFNfQ01EX01LU1dBUD0ke1RTX0NNRF9NS1NXQVA6LSIkdG9wX2J1aWxkZGlyL21rc3dhcCJ9CitUU19DTURfTU9VTlQ9JHtUU19DTURfTU9VTlQ6LSIkdG9wX2J1aWxkZGlyL21vdW50In0KK1RTX0NNRF9NT1VOVFBPSU5UPSR7VFNfQ01EX01PVU5UUE9JTlQ6LSIkdG9wX2J1aWxkZGlyL21vdW50cG9pbnQifQorVFNfQ01EX05BTUVJPSR7VFNfQ01EX05BTUVJLSIkdG9wX2J1aWxkZGlyL25hbWVpIn0KK1RTX0NNRF9QQVJUWD0ke1RTX0NNRF9QQVJUWC0iJHRvcF9idWlsZGRpci9wYXJ0eCJ9CitUU19DTURfUkVOQU1FPSR7VFNfQ01EX1JFTkFNRS0iJHRvcF9idWlsZGRpci9yZW5hbWUifQorVFNfQ01EX1JVTlVTRVI9JHtUU19DTURfUlVOVVNFUi0iJHRvcF9idWlsZGRpci9ydW51c2VyIn0KK1RTX0NNRF9SRVY9JHtUU19DTURfUkVWOi0iJHRvcF9idWlsZGRpci9yZXYifQorVFNfQ01EX1NDUklQVD0ke1RTX0NNRF9TQ1JJUFQtIiR0b3BfYnVpbGRkaXIvc2NyaXB0In0KK1RTX0NNRF9TQ1JJUFRSRVBMQVk9JHtUU19DTURfU0NSSVBUUkVQTEFZLSIkdG9wX2J1aWxkZGlyL3NjcmlwdHJlcGxheSJ9CitUU19DTURfU0VUQVJDSD0ke1RTX0NNRF9TRVRBUkNILSIkdG9wX2J1aWxkZGlyL3NldGFyY2gifQorVFNfQ01EX1NFVFNJRD0ke1RTX0NNRF9TRVRTSUQtIiR0b3BfYnVpbGRkaXIvc2V0c2lkIn0KK1RTX0NNRF9TV0FQTEFCRUw9JHtUU19DTURfU1dBUExBQkVMOi0iJHRvcF9idWlsZGRpci9zd2FwbGFiZWwifQorVFNfQ01EX1NXQVBPRkY9JHtUU19DTURfU1dBUE9GRjotIiR0b3BfYnVpbGRkaXIvc3dhcG9mZiJ9CitUU19DTURfU1dBUE9OPSR7VFNfQ01EX1NXQVBPTjotIiR0b3BfYnVpbGRkaXIvc3dhcG9uIn0KK1RTX0NNRF9UQUlMRj0ke1RTX0NNRF9UQUlMRi0iJHRvcF9idWlsZGRpci90YWlsZiJ9CitUU19DTURfVUw9JHtUU19DTURfVUwtIiR0b3BfYnVpbGRkaXIvdWwifQorVFNfQ01EX1VNT1VOVD0ke1RTX0NNRF9VTU9VTlQ6LSIkdG9wX2J1aWxkZGlyL3Vtb3VudCJ9CitUU19DTURfVVRNUERVTVA9JHtUU19DTURfVVRNUERVTVAtIiR0b3BfYnVpbGRkaXIvdXRtcGR1bXAifQorVFNfQ01EX1VVSUREPSR7VFNfQ01EX1VVSURELSIkdG9wX2J1aWxkZGlyL3V1aWRkIn0KK1RTX0NNRF9VVUlER0VOPSR7VFNfQ01EX1VVSURHRU4tIiR0b3BfYnVpbGRkaXIvdXVpZGdlbiJ9CitUU19DTURfV0hFUkVJUz0ke1RTX0NNRF9XSEVSRUlTLSIkdG9wX2J1aWxkZGlyL3doZXJlaXMifQorVFNfQ01EX1dJUEVGUz0ke1RTX0NNRF9XSVBFRlMtIiR0b3BfYnVpbGRkaXIvd2lwZWZzIn0KK1RTX0NNRF9DSFJUPSR7VFNfQ01EX0NIUlQtIiR0b3BfYnVpbGRkaXIvY2hydCJ9CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9iaXRvcHMvc3dhcGJ5dGVzIGIvdGVzdHMvZXhwZWN0ZWQvYml0b3BzL3N3YXBieXRlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOTQ2OGE3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYml0b3BzL3N3YXBieXRlcwpAQCAtMCwwICsxLDIxIEBACitUZXN0aW5nIHN3YWIxNgorc3dhYjE2KDB4MDAwMSkgPSAweDAxMDAKK3N3YWIxNigweDEyMzQpID0gMHgzNDEyCitzd2FiMTYoMHhmZjAwKSA9IDB4MDBmZgorc3dhYjE2KDB4NDAwMCkgPSAweDAwNDAKK3N3YWIxNigweGZlZmYpID0gMHhmZmZlCitUZXN0aW5nIHN3YWIzMgorc3dhYjMyKDB4MDAwMDAwMDEpID0gMHgwMTAwMDAwMAorc3dhYjMyKDB4ODAwMDAwMDApID0gMHgwMDAwMDA4MAorc3dhYjMyKDB4MTIzNDU2NzgpID0gMHg3ODU2MzQxMgorc3dhYjMyKDB4ZmZmZjAwMDApID0gMHgwMDAwZmZmZgorc3dhYjMyKDB4MDBmZjAwMDApID0gMHgwMDAwZmYwMAorc3dhYjMyKDB4ZmYwMDAwMDApID0gMHgwMDAwMDBmZgorVGVzdGluZyBzd2FiNjQKK3N3YWI2NCgweDAwMDAwMDAwMDAwMDAwMDEpID0gMHgwMTAwMDAwMDAwMDAwMDAwCitzd2FiNjQoMHg4MDAwMDAwMDAwMDAwMDAwKSA9IDB4MDAwMDAwMDAwMDAwMDA4MAorc3dhYjY0KDB4MTIzNDU2NzgxMjM0NTY3OCkgPSAweDc4NTYzNDEyNzg1NjM0MTIKK3N3YWI2NCgweGZmZmZmZmZmMDAwMDAwMDApID0gMHgwMDAwMDAwMGZmZmZmZmZmCitzd2FiNjQoMHgwMGZmMDAwMDAwMDAwMDAwKSA9IDB4MDAwMDAwMDAwMDAwZmYwMAorc3dhYjY0KDB4ZmYwMDAwMDAwMDAwMDAwMCkgPSAweDAwMDAwMDAwMDAwMDAwZmYKK05vIGVycm9ycyBmb3VuZCBpbiB0aGUgYnl0ZXN3YXAgaW1wbGVtZW50YXRpb24KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2Rpc2NhcmQvb2Zmc2V0cyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2Rpc2NhcmQvb2Zmc2V0cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTkwZjJmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxrZGlzY2FyZC9vZmZzZXRzCkBAIC0wLDAgKzEsNzAgQEAKK2NyZWF0ZSBsb29wIGRldmljZSBmcm9tIGltYWdlCit0ZXN0aW5nIG9mZnNldHMgd2l0aCBmdWxsIGJsb2NrIHNpemUKK0Rpc2NhcmRlZCAxMDQ4NTc2MCBieXRlcyBmcm9tIHRoZSBvZmZzZXQgMAorcmV0OiAwCitibGtkaXNjYXJkOiBvZmZzZXQgMSBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSA1MTIKK3JldDogMQorYmxrZGlzY2FyZDogb2Zmc2V0IDUxMSBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSA1MTIKK3JldDogMQorRGlzY2FyZGVkIDEwNDg1MjQ4IGJ5dGVzIGZyb20gdGhlIG9mZnNldCA1MTIKK3JldDogMAorRGlzY2FyZGVkIDEwNDg0NzM2IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAxMDI0CityZXQ6IDAKK3Rlc3Rpbmcgb2Zmc2V0cyB3aXRoIHNwZWNpZmljIGxlbmd0aAorRGlzY2FyZGVkIDUyNDI4ODAgYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0IDAKK3JldDogMAorYmxrZGlzY2FyZDogbGVuZ3RoIDUyNDI4ODEgaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgNTEyCityZXQ6IDEKK2Jsa2Rpc2NhcmQ6IGxlbmd0aCA1MjQzMzkxIGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplIDUxMgorcmV0OiAxCitibGtkaXNjYXJkOiBvZmZzZXQgMSBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSA1MTIKK3JldDogMQorYmxrZGlzY2FyZDogb2Zmc2V0IDUxMSBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSA1MTIKK3JldDogMQorRGlzY2FyZGVkIDUyNDI4ODAgYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0IDUxMgorcmV0OiAwCitEaXNjYXJkZWQgNTI0Mjg4MCBieXRlcyBmcm9tIHRoZSBvZmZzZXQgMTAyNAorcmV0OiAwCit0ZXN0aW5nIGFsaWduZWQgc3RlcHMgZnVsbCBkZXZpY2UKK0Rpc2NhcmRlZCAxMDQ4NTc2MCBieXRlcyBmcm9tIHRoZSBvZmZzZXQgMAorcmV0OiAwCitEaXNjYXJkZWQgMTA0ODU3NjAgYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0IDAKK3JldDogMAordGVzdGluZyBhbGlnbmVkIHN0ZXBzIHdpdGggb2Zmc2V0cyBhbmQgbGVuZ3RoCitEaXNjYXJkZWQgMTAyNCBieXRlcyBmcm9tIHRoZSBvZmZzZXQgMAorcmV0OiAwCitibGtkaXNjYXJkOiBvZmZzZXQgMSBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSA1MTIKK3JldDogMQorYmxrZGlzY2FyZDogb2Zmc2V0IDEgaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgNTEyCityZXQ6IDEKK2Jsa2Rpc2NhcmQ6IG9mZnNldCA1MTEgaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgNTEyCityZXQ6IDEKK0Rpc2NhcmRlZCAxNTM2IGJ5dGVzIGZyb20gdGhlIG9mZnNldCA1MTIKK3JldDogMAorRGlzY2FyZGVkIDEwMjQgYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0IDEwMjQKK3JldDogMAordGVzdGluZyBtaXNhbGlnbmVkIHN0ZXBzIGZ1bGwgZGV2aWNlCitibGtkaXNjYXJkOiBsZW5ndGggMSBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSA1MTIKK3JldDogMQorYmxrZGlzY2FyZDogbGVuZ3RoIDI1NiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSA1MTIKK3JldDogMQorYmxrZGlzY2FyZDogbGVuZ3RoIDUxMSBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSA1MTIKK3JldDogMQorYmxrZGlzY2FyZDogbGVuZ3RoIDUxMyBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSA1MTIKK3JldDogMQorYmxrZGlzY2FyZDogbGVuZ3RoIDc2OCBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSA1MTIKK3JldDogMQordGVzdGluZyBtaXNhbGlnbmVkIHN0ZXBzIHdpdGggb2Zmc2V0cyBhbmQgbGVuZ3RoCitibGtkaXNjYXJkOiBsZW5ndGggNTExIGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplIDUxMgorcmV0OiAxCitibGtkaXNjYXJkOiBvZmZzZXQgMSBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSA1MTIKK3JldDogMQorYmxrZGlzY2FyZDogb2Zmc2V0IDUxMSBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSA1MTIKK3JldDogMQorYmxrZGlzY2FyZDogbGVuZ3RoIDUxMSBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSA1MTIKK3JldDogMQorYmxrZGlzY2FyZDogb2Zmc2V0IDEgaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgNTEyCityZXQ6IDEKK2Jsa2Rpc2NhcmQ6IG9mZnNldCA1MTEgaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgNTEyCityZXQ6IDEKK2RldGFjaCBsb29wIGRldmljZSBmcm9tIGltYWdlCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9kbS1lcnIgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9kbS1lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjZjODI0NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2RtLWVycgpAQCAtMCwwICsxLDQgQEAKK0luaXRpYWxpemUgZGV2aWNlCitQcm9iZSBkZXZpY2UKK1JldHVybiBjb2RlOiAyCitEZWluaXRpYWxpemUgZGV2aWNlCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtYWRhcHRlYy1yYWlkIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWFkYXB0ZWMtcmFpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OWE1ODg4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWFkYXB0ZWMtcmFpZApAQCAtMCwwICsxLDMgQEAKK0lEX0ZTX1RZUEU9YWRhcHRlY19yYWlkX21lbWJlcgorSURfRlNfVVNBR0U9cmFpZAorSURfRlNfVkVSU0lPTj04CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtYmNhY2hlLUIgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtYmNhY2hlLUIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzM5NjYzMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1iY2FjaGUtQgpAQCAtMCwwICsxLDQgQEAKK0lEX0ZTX1RZUEU9YmNhY2hlCitJRF9GU19VU0FHRT1vdGhlcgorSURfRlNfVVVJRD04ZmI3ZjcxNi00YzE5LTQ1MTctYmZiYi02ZjRhMmJlY2FkNjAKK0lEX0ZTX1VVSURfRU5DPThmYjdmNzE2LTRjMTktNDUxNy1iZmJiLTZmNGEyYmVjYWQ2MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWJjYWNoZS1DIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWJjYWNoZS1DCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzYzVmODgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtYmNhY2hlLUMKQEAgLTAsMCArMSw0IEBACitJRF9GU19UWVBFPWJjYWNoZQorSURfRlNfVVNBR0U9b3RoZXIKK0lEX0ZTX1VVSUQ9N2EzNDM2MjctYWM4Ny00YmYwLWI3NmYtNDYwNjdjYmM5YjhjCitJRF9GU19VVUlEX0VOQz03YTM0MzYyNy1hYzg3LTRiZjAtYjc2Zi00NjA2N2NiYzliOGMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1iZWZzIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWJlZnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjdmMjVjZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1iZWZzCkBAIC0wLDAgKzEsNyBAQAorSURfRlNfTEFCRUw9YmVmc190ZXN0CitJRF9GU19MQUJFTF9FTkM9YmVmc190ZXN0CitJRF9GU19UWVBFPWJlZnMKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KK0lEX0ZTX1VVSUQ9OTVkODlkZWM4MmY2YjczYgorSURfRlNfVVVJRF9FTkM9OTVkODlkZWM4MmY2YjczYgorSURfRlNfVkVSU0lPTj1saXR0bGUtZW5kaWFuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtYmZzIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWJmcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Mjg3MzA0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWJmcwpAQCAtMCwwICsxLDIgQEAKK0lEX0ZTX1RZUEU9YmZzCitJRF9GU19VU0FHRT1maWxlc3lzdGVtCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtY3JhbWZzIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWNyYW1mcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ODk4YTM2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWNyYW1mcwpAQCAtMCwwICsxLDQgQEAKK0lEX0ZTX0xBQkVMPXRlc3QtY3JhbQorSURfRlNfTEFCRUxfRU5DPXRlc3QtY3JhbQorSURfRlNfVFlQRT1jcmFtZnMKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1kZGYtcmFpZCBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1kZGYtcmFpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OTU2ZGNkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWRkZi1yYWlkCkBAIC0wLDAgKzEsNSBAQAorSURfRlNfVFlQRT1kZGZfcmFpZF9tZW1iZXIKK0lEX0ZTX1VTQUdFPXJhaWQKK0lEX0ZTX1VVSUQ9TGludXgtTUTerV9fCitJRF9GU19VVUlEX0VOQz1MaW51eC1NRN6tXHhiZVx4ZWYKK0lEX0ZTX1ZFUlNJT049MDEuMDIuMDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1kcmJkbWFuYWdlLWNvbnRyb2wtdm9sdW1lIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWRyYmRtYW5hZ2UtY29udHJvbC12b2x1bWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzMwZTJjZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1kcmJkbWFuYWdlLWNvbnRyb2wtdm9sdW1lCkBAIC0wLDAgKzEsNSBAQAorSURfRlNfVFlQRT1kcmJkbWFuYWdlX2NvbnRyb2xfdm9sdW1lCitJRF9GU19VU0FHRT1vdGhlcgorSURfRlNfVVVJRD04NzY1ZjQwMmRjYjI0NjUyOWFjZWUyNjliMGJhOGYyZQorSURfRlNfVVVJRF9FTkM9ODc2NWY0MDJkY2IyNDY1MjlhY2VlMjY5YjBiYThmMmUKK0lEX0ZTX1ZFUlNJT049MQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWV4ZmF0IGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWV4ZmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5ZGVmYmQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZXhmYXQKQEAgLTAsMCArMSw3IEBACitJRF9GU19MQUJFTD3QndC+0LLRi9C5X9GC0L7QvAorSURfRlNfTEFCRUxfRU5DPdCd0L7QstGL0LlceDIw0YLQvtC8CitJRF9GU19UWVBFPWV4ZmF0CitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPTlDMjMtODg3NworSURfRlNfVVVJRF9FTkM9OUMyMy04ODc3CitJRF9GU19WRVJTSU9OPTEuMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWV4dDIgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZXh0MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNzBiODU2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWV4dDIKQEAgLTAsMCArMSw3IEBACitJRF9GU19MQUJFTD10ZXN0LWV4dDIKK0lEX0ZTX0xBQkVMX0VOQz10ZXN0LWV4dDIKK0lEX0ZTX1RZUEU9ZXh0MgorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD0yMmYwZWFjMy01Yzg5LTRlYzEtOTA3Ni02MDc5OTExOWFhZWEKK0lEX0ZTX1VVSURfRU5DPTIyZjBlYWMzLTVjODktNGVjMS05MDc2LTYwNzk5MTE5YWFlYQorSURfRlNfVkVSU0lPTj0xLjAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1leHQzIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWV4dDMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGJhYzQzZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1leHQzCkBAIC0wLDAgKzEsOCBAQAorSURfRlNfTEFCRUw9dGVzdC1leHQzCitJRF9GU19MQUJFTF9FTkM9dGVzdC1leHQzCitJRF9GU19TRUNfVFlQRT1leHQyCitJRF9GU19UWVBFPWV4dDMKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KK0lEX0ZTX1VVSUQ9MzVmNjZkYWItNDc3ZS00MDkwLWE4NzItOTVlZTBlNDkzYWQ2CitJRF9GU19VVUlEX0VOQz0zNWY2NmRhYi00NzdlLTQwOTAtYTg3Mi05NWVlMGU0OTNhZDYKK0lEX0ZTX1ZFUlNJT049MS4wCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZjJmcyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mMmZzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlMzI4NjQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZjJmcwpAQCAtMCwwICsxLDcgQEAKK0lEX0ZTX0xBQkVMPXRlc3QtZjJmcworSURfRlNfTEFCRUxfRU5DPXRlc3QtZjJmcworSURfRlNfVFlQRT1mMmZzCitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPWY2YWVlNWI5LThjYzItNGRhNy05ZjhkLWM5NWFhYzkwZTE3ZAorSURfRlNfVVVJRF9FTkM9ZjZhZWU1YjktOGNjMi00ZGE3LTlmOGQtYzk1YWFjOTBlMTdkCitJRF9GU19WRVJTSU9OPTEuMQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWZhdCBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDIwMTIxMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQKQEAgLTAsMCArMSw4IEBACitJRF9GU19MQUJFTD1URVNULUZBVAorSURfRlNfTEFCRUxfRU5DPVRFU1QtRkFUCitJRF9GU19TRUNfVFlQRT1tc2RvcworSURfRlNfVFlQRT12ZmF0CitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPURFQUQtQkVFRgorSURfRlNfVVVJRF9FTkM9REVBRC1CRUVGCitJRF9GU19WRVJTSU9OPUZBVDEyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0MTZfbm9oZWFkcyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQxNl9ub2hlYWRzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhNDcwNzgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0MTZfbm9oZWFkcwpAQCAtMCwwICsxLDggQEAKK0lEX0ZTX0xBQkVMPVZUZWNoXzEwNzAKK0lEX0ZTX0xBQkVMX0VOQz1WVGVjaFx4MjAxMDcwCitJRF9GU19TRUNfVFlQRT1tc2RvcworSURfRlNfVFlQRT12ZmF0CitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPTIwMDQtMTAxNAorSURfRlNfVVVJRF9FTkM9MjAwNC0xMDE0CitJRF9GU19WRVJTSU9OPUZBVDE2CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0MzJfbGFiZWxfNjRNQiBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQzMl9sYWJlbF82NE1CCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjExNzk0OTAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0MzJfbGFiZWxfNjRNQgpAQCAtMCwwICsxLDcgQEAKK0lEX0ZTX0xBQkVMPUJJTkdPCitJRF9GU19MQUJFTF9FTkM9QklOR08KK0lEX0ZTX1RZUEU9dmZhdAorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD04Q0I1LUJBNDkKK0lEX0ZTX1VVSURfRU5DPThDQjUtQkE0OQorSURfRlNfVkVSU0lPTj1GQVQzMgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWdmczIgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZ2ZzMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZDVhNjY0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWdmczIKQEAgLTAsMCArMSw1IEBACitJRF9GU19MQUJFTD1teWNsdXN0ZXI6bXlnZnMyCitJRF9GU19MQUJFTF9FTkM9bXljbHVzdGVyOm15Z2ZzMgorSURfRlNfVFlQRT1nZnMyCitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19WRVJTSU9OPTEKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1oZnMgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtaGZzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0Y2JiNWMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtaGZzCkBAIC0wLDAgKzEsNCBAQAorSURfRlNfTEFCRUw9QkJCCitJRF9GU19MQUJFTF9FTkM9QkJCCitJRF9GU19UWVBFPWhmcworSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWhmc3BsdXMgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtaGZzcGx1cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTRiNTlmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWhmc3BsdXMKQEAgLTAsMCArMSw0IEBACitJRF9GU19MQUJFTD0xMjM0NTY3ODlBQkNERQorSURfRlNfTEFCRUxfRU5DPTEyMzQ1Njc4OUFCQ0RFCitJRF9GU19UWVBFPWhmc3BsdXMKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1ocGZzIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWhwZnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDdhZTFhZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1ocGZzCkBAIC0wLDAgKzEsNyBAQAorSURfRlNfTEFCRUw9UDAxX1MxNkEKK0lEX0ZTX0xBQkVMX0VOQz1QMDFceDIwUzE2QQorSURfRlNfVFlQRT1ocGZzCitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPTNCQzItMzJENQorSURfRlNfVVVJRF9FTkM9M0JDMi0zMkQ1CitJRF9GU19WRVJTSU9OPTIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1ocHQzN3gtcmFpZCBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1ocHQzN3gtcmFpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MWY2ZGVjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWhwdDM3eC1yYWlkCkBAIC0wLDAgKzEsMiBAQAorSURfRlNfVFlQRT1ocHQzN3hfcmFpZF9tZW1iZXIKK0lEX0ZTX1VTQUdFPXJhaWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1ocHQ0NXgtcmFpZCBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1ocHQ0NXgtcmFpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZWI5NTUyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWhwdDQ1eC1yYWlkCkBAIC0wLDAgKzEsMiBAQAorSURfRlNfVFlQRT1ocHQ0NXhfcmFpZF9tZW1iZXIKK0lEX0ZTX1VTQUdFPXJhaWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1pc28gYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtaXNvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmOTkwOGEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtaXNvCkBAIC0wLDAgKzEsOCBAQAorSURfRlNfQVBQTElDQVRJT05fSUQ9R0VOSVNPSU1BR0UgSVNPIDk2NjAvSEZTIEZJTEVTWVNURU0gQ1JFQVRPUiAoQykgMTk5MyBFLllPVU5HREFMRSAoQykgMTk5Ny0yMDA2IEouUEVBUlNPTi9KLlNDSElMTElORyAoQykgMjAwNi0yMDA3IENEUktJVCBURUFNCitJRF9GU19MQUJFTD1Jc29Wb2x1bWVOYW1lCitJRF9GU19MQUJFTF9FTkM9SXNvVm9sdW1lTmFtZQorSURfRlNfU1lTVEVNX0lEPUxJTlVYCitJRF9GU19UWVBFPWlzbzk2NjAKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KK0lEX0ZTX1VVSUQ9MjAwOS0wOS0yNC0xMC0zNC00MC0wMAorSURfRlNfVVVJRF9FTkM9MjAwOS0wOS0yNC0xMC0zNC00MC0wMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWlzby1qb2xpZXQgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtaXNvLWpvbGlldApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMjI5YTBkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWlzby1qb2xpZXQKQEAgLTAsMCArMSw5IEBACitJRF9GU19BUFBMSUNBVElPTl9JRD1HRU5JU09JTUFHRSBJU08gOTY2MC9IRlMgRklMRVNZU1RFTSBDUkVBVE9SIChDKSAxOTkzIEUuWU9VTkdEQUxFIChDKSAxOTk3LTIwMDYgSi5QRUFSU09OL0ouU0NISUxMSU5HIChDKSAyMDA2LTIwMDcgQ0RSS0lUIFRFQU0KK0lEX0ZTX0xBQkVMPVRoaXNXb25kZXJmdWxMYWJlbElzVmVyeVZlcnlMb25nCitJRF9GU19MQUJFTF9FTkM9VGhpc1dvbmRlcmZ1bExhYmVsSXNWZXJ5VmVyeUxvbmcKK0lEX0ZTX1NZU1RFTV9JRD1MSU5VWAorSURfRlNfVFlQRT1pc285NjYwCitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPTIwMDktMDktMjItMTItNTItMjMtMDAKK0lEX0ZTX1VVSURfRU5DPTIwMDktMDktMjItMTItNTItMjMtMDAKK0lEX0ZTX1ZFUlNJT049Sm9saWV0XHgyMEV4dGVuc2lvbgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWlzby1yci1qb2xpZXQgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtaXNvLXJyLWpvbGlldApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNGQ1NTBlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWlzby1yci1qb2xpZXQKQEAgLTAsMCArMSw5IEBACitJRF9GU19BUFBMSUNBVElPTl9JRD1HRU5JU09JTUFHRSBJU08gOTY2MC9IRlMgRklMRVNZU1RFTSBDUkVBVE9SIChDKSAxOTkzIEUuWU9VTkdEQUxFIChDKSAxOTk3LTIwMDYgSi5QRUFSU09OL0ouU0NISUxMSU5HIChDKSAyMDA2LTIwMDcgQ0RSS0lUIFRFQU0KK0lEX0ZTX0xBQkVMPVRoaXNJc1ZvbHVtZU5hbWUKK0lEX0ZTX0xBQkVMX0VOQz1UaGlzSXNWb2x1bWVOYW1lCitJRF9GU19TWVNURU1fSUQ9TElOVVgKK0lEX0ZTX1RZUEU9aXNvOTY2MAorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD0yMDA5LTA5LTI0LTEwLTMyLTQzLTAwCitJRF9GU19VVUlEX0VOQz0yMDA5LTA5LTI0LTEwLTMyLTQzLTAwCitJRF9GU19WRVJTSU9OPUpvbGlldFx4MjBFeHRlbnNpb24KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1pc3ctcmFpZCBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1pc3ctcmFpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MjQxOWM1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWlzdy1yYWlkCkBAIC0wLDAgKzEsMyBAQAorSURfRlNfVFlQRT1pc3dfcmFpZF9tZW1iZXIKK0lEX0ZTX1VTQUdFPXJhaWQKK0lEX0ZTX1ZFUlNJT049MS4wLjAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtamJkIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWpiZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZGJjZGJjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWpiZApAQCAtMCwwICsxLDYgQEAKK0lEX0ZTX0xPR1VVSUQ9MGQ3YTA3ZGYtN2IwNi00ODI5LWJjZTctM2I5YzNlY2U1NzBjCitJRF9GU19UWVBFPWpiZAorSURfRlNfVVNBR0U9b3RoZXIKK0lEX0ZTX1VVSUQ9MGQ3YTA3ZGYtN2IwNi00ODI5LWJjZTctM2I5YzNlY2U1NzBjCitJRF9GU19VVUlEX0VOQz0wZDdhMDdkZi03YjA2LTQ4MjktYmNlNy0zYjljM2VjZTU3MGMKK0lEX0ZTX1ZFUlNJT049MS4wCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtamZzIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWpmcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NzdmZDE2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWpmcwpAQCAtMCwwICsxLDYgQEAKK0lEX0ZTX0xBQkVMPXRlc3QtamZzCitJRF9GU19MQUJFTF9FTkM9dGVzdC1qZnMKK0lEX0ZTX1RZUEU9amZzCitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPTliZjdiODJlLTc1ODMtNGM3NC05OWE0LTE4OWE2OTFmMjdiNQorSURfRlNfVVVJRF9FTkM9OWJmN2I4MmUtNzU4My00Yzc0LTk5YTQtMTg5YTY5MWYyN2I1CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtam1pY3Jvbi1yYWlkIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWptaWNyb24tcmFpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzU3MmI3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWptaWNyb24tcmFpZApAQCAtMCwwICsxLDMgQEAKK0lEX0ZTX1RZUEU9am1pY3Jvbl9yYWlkX21lbWJlcgorSURfRlNfVVNBR0U9cmFpZAorSURfRlNfVkVSU0lPTj0wLjEKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1sc2ktcmFpZCBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1sc2ktcmFpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OGY3MTE0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWxzaS1yYWlkCkBAIC0wLDAgKzEsMiBAQAorSURfRlNfVFlQRT1sc2lfbWVnYV9yYWlkX21lbWJlcgorSURfRlNfVVNBR0U9cmFpZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWx2bTIgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtbHZtMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOWFlZDJhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWx2bTIKQEAgLTAsMCArMSw1IEBACitJRF9GU19UWVBFPUxWTTJfbWVtYmVyCitJRF9GU19VU0FHRT1yYWlkCitJRF9GU19VVUlEPVZ5bnY0ay1BUEg4LXhRRVItSFNCYi04VkozLVN2RkYtUEI1TzFVCitJRF9GU19VVUlEX0VOQz1WeW52NGstQVBIOC14UUVSLUhTQmItOFZKMy1TdkZGLVBCNU8xVQorSURfRlNfVkVSU0lPTj1MVk0yXHgyMDAwMQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLW1kcmFpZCBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1tZHJhaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDYxM2RmZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1tZHJhaWQKQEAgLTAsMCArMSw1IEBACitJRF9GU19UWVBFPWxpbnV4X3JhaWRfbWVtYmVyCitJRF9GU19VU0FHRT1yYWlkCitJRF9GU19VVUlEPTM3Yzc2YjkxLTAxMWEtMDVjNS1kMzBjLTFmZDRjNWMzZGJiYworSURfRlNfVVVJRF9FTkM9MzdjNzZiOTEtMDExYS0wNWM1LWQzMGMtMWZkNGM1YzNkYmJjCitJRF9GU19WRVJTSU9OPTAuOTAuMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLW1pbml4LUJFIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLW1pbml4LUJFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2Mjc3OTkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtbWluaXgtQkUKQEAgLTAsMCArMSwzIEBACitJRF9GU19UWVBFPW1pbml4CitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19WRVJTSU9OPTEKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1taW5peC1MRSBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1taW5peC1MRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NjI3Nzk5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLW1pbml4LUxFCkBAIC0wLDAgKzEsMyBAQAorSURfRlNfVFlQRT1taW5peAorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVkVSU0lPTj0xCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtbmV0d2FyZSBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1uZXR3YXJlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5NGQ1YzkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtbmV0d2FyZQpAQCAtMCwwICsxLDUgQEAKK0lEX0ZTX1RZUEU9bnNzCitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPTY0ZmJhNmJiLWViYWQtZDkwMS04MDAwLTM2MWQ5YWJmMjU2MAorSURfRlNfVVVJRF9FTkM9NjRmYmE2YmItZWJhZC1kOTAxLTgwMDAtMzYxZDlhYmYyNTYwCitJRF9GU19WRVJTSU9OPTQzLjAyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtbmlsZnMyIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLW5pbGZzMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNmM5Y2FiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLW5pbGZzMgpAQCAtMCwwICsxLDcgQEAKK0lEX0ZTX0xBQkVMPXRlc3QtbmlsZnMyCitJRF9GU19MQUJFTF9FTkM9dGVzdC1uaWxmczIKK0lEX0ZTX1RZUEU9bmlsZnMyCitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPTUyNDAyNWZiLTZkMzEtNDBlNi1iYWFkLTFkYjM2Y2ZkZjgwNgorSURfRlNfVVVJRF9FTkM9NTI0MDI1ZmItNmQzMS00MGU2LWJhYWQtMWRiMzZjZmRmODA2CitJRF9GU19WRVJTSU9OPTIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1udGZzIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLW50ZnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWFhYTA3NwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1udGZzCkBAIC0wLDAgKzEsNiBAQAorSURfRlNfTEFCRUw90J3QvtCy0YvQuV/RgtC+0LwKK0lEX0ZTX0xBQkVMX0VOQz3QndC+0LLRi9C5XHgyMNGC0L7QvAorSURfRlNfVFlQRT1udGZzCitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPTA5Q0JCNkRFMzBDODczMTAKK0lEX0ZTX1VVSURfRU5DPTA5Q0JCNkRFMzBDODczMTAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1udmlkaWEtcmFpZCBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1udmlkaWEtcmFpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTQzZWE3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLW52aWRpYS1yYWlkCkBAIC0wLDAgKzEsMyBAQAorSURfRlNfVFlQRT1udmlkaWFfcmFpZF9tZW1iZXIKK0lEX0ZTX1VTQUdFPXJhaWQKK0lEX0ZTX1ZFUlNJT049MTAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtb2NmczIgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtb2NmczIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjMyOGQyMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1vY2ZzMgpAQCAtMCwwICsxLDcgQEAKK0lEX0ZTX0xBQkVMPXRlc3Qtb2NmczIKK0lEX0ZTX0xBQkVMX0VOQz10ZXN0LW9jZnMyCitJRF9GU19UWVBFPW9jZnMyCitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPTZiNmJmYmVhLTNhNzktNGYwYy1iMTY2LWEyMDc3NjEwMjQ0NQorSURfRlNfVVVJRF9FTkM9NmI2YmZiZWEtM2E3OS00ZjBjLWIxNjYtYTIwNzc2MTAyNDQ1CitJRF9GU19WRVJTSU9OPTAuOTAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1wcm9taXNlLXJhaWQgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtcHJvbWlzZS1yYWlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyYTgyZDAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtcHJvbWlzZS1yYWlkCkBAIC0wLDAgKzEsMiBAQAorSURfRlNfVFlQRT1wcm9taXNlX2Zhc3R0cmFja19yYWlkX21lbWJlcgorSURfRlNfVVNBR0U9cmFpZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXJlaXNlcjMgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtcmVpc2VyMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzc2ZWNhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXJlaXNlcjMKQEAgLTAsMCArMSw3IEBACitJRF9GU19MQUJFTD1URVNUUkVJU0VSCitJRF9GU19MQUJFTF9FTkM9VEVTVFJFSVNFUgorSURfRlNfVFlQRT1yZWlzZXJmcworSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD05ZWZlNzg2My1iMTI0LTQ2ZGMtYWQ2OC04ZWNkMDQyMzBhN2IKK0lEX0ZTX1VVSURfRU5DPTllZmU3ODYzLWIxMjQtNDZkYy1hZDY4LThlY2QwNDIzMGE3YgorSURfRlNfVkVSU0lPTj1KUgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXJlaXNlcjQgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtcmVpc2VyNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NWQ2M2FhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXJlaXNlcjQKQEAgLTAsMCArMSw3IEBACitJRF9GU19MQUJFTD1URVNUUjQKK0lEX0ZTX0xBQkVMX0VOQz1URVNUUjQKK0lEX0ZTX1RZUEU9cmVpc2VyNAorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD05NzIyNjMzYy1kNjlhLTQ4ODEtYjFjOC1iZWRlY2JiZjM5ZDIKK0lEX0ZTX1VVSURfRU5DPTk3MjI2MzNjLWQ2OWEtNDg4MS1iMWM4LWJlZGVjYmJmMzlkMgorSURfRlNfVkVSU0lPTj00CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtcm9tZnMgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtcm9tZnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmViOTgyYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1yb21mcwpAQCAtMCwwICsxLDQgQEAKK0lEX0ZTX0xBQkVMPXRlc3Qtcm9tZnMKK0lEX0ZTX0xBQkVMX0VOQz10ZXN0LXJvbWZzCitJRF9GU19UWVBFPXJvbWZzCitJRF9GU19VU0FHRT1maWxlc3lzdGVtCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtc2lsaWNvbi1yYWlkIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXNpbGljb24tcmFpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNWFiNjVmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXNpbGljb24tcmFpZApAQCAtMCwwICsxLDMgQEAKK0lEX0ZTX1RZUEU9c2lsaWNvbl9tZWRsZXlfcmFpZF9tZW1iZXIKK0lEX0ZTX1VTQUdFPXJhaWQKK0lEX0ZTX1ZFUlNJT049Mi4zCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtc21hbGwtZmF0MzIgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtc21hbGwtZmF0MzIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzkyMzllNgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1zbWFsbC1mYXQzMgpAQCAtMCwwICsxLDcgQEAKK0lEX0ZTX0xBQkVMPVRFU1RWRkFUCitJRF9GU19MQUJFTF9FTkM9VEVTVFZGQVQKK0lEX0ZTX1RZUEU9dmZhdAorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD0xNDIzLUFBRTEKK0lEX0ZTX1VVSURfRU5DPTE0MjMtQUFFMQorSURfRlNfVkVSU0lPTj1GQVQzMgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXN3YXAwIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXN3YXAwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiY2Q5OTgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtc3dhcDAKQEAgLTAsMCArMSwzIEBACitJRF9GU19UWVBFPXN3YXAKK0lEX0ZTX1VTQUdFPW90aGVyCitJRF9GU19WRVJTSU9OPTAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1zd2FwMSBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1zd2FwMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZmFjMjhlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXN3YXAxCkBAIC0wLDAgKzEsNyBAQAorSURfRlNfTEFCRUw9U1dBUC1URVNUCitJRF9GU19MQUJFTF9FTkM9U1dBUC1URVNUCitJRF9GU19UWVBFPXN3YXAKK0lEX0ZTX1VTQUdFPW90aGVyCitJRF9GU19VVUlEPThmZjhlNzdmLTg1NTMtNDg1ZS04NjU2LTU4YmU2N2E4MTY2NgorSURfRlNfVVVJRF9FTkM9OGZmOGU3N2YtODU1My00ODVlLTg2NTYtNThiZTY3YTgxNjY2CitJRF9GU19WRVJTSU9OPTEKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS10dXhvbmljZSBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS10dXhvbmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZmQ1YTk0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXR1eG9uaWNlCkBAIC0wLDAgKzEsNSBAQAorSURfRlNfVFlQRT1zd3N1c3BlbmQKK0lEX0ZTX1VTQUdFPW90aGVyCitJRF9GU19VVUlEPTdlYzFlOGU0LTBhNjktNDU2NS04NjBjLTNmMTNiMGY3OTgzOAorSURfRlNfVVVJRF9FTkM9N2VjMWU4ZTQtMGE2OS00NTY1LTg2MGMtM2YxM2IwZjc5ODM4CitJRF9GU19WRVJTSU9OPXR1eG9uaWNlCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWJpZnMgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWJpZnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDE2NGRiNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS11YmlmcwpAQCAtMCwwICsxLDUgQEAKK0lEX0ZTX1RZUEU9dWJpZnMKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KK0lEX0ZTX1VVSUQ9YmFmZTQ2YzItNWVkOS00NDA1LThlODEtN2ZjMzE3ZmFiOGYwCitJRF9GU19VVUlEX0VOQz1iYWZlNDZjMi01ZWQ5LTQ0MDUtOGU4MS03ZmMzMTdmYWI4ZjAKK0lEX0ZTX1ZFUlNJT049dzRyMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVkZiBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS11ZGYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjZmYmVmMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS11ZGYKQEAgLTAsMCArMSwxMiBAQAorSURfRlNfQVBQTElDQVRJT05fSUQ9R0VOSVNPSU1BR0UgSVNPIDk2NjAvSEZTIEZJTEVTWVNURU0gQ1JFQVRPUiAoQykgMTk5MyBFLllPVU5HREFMRSAoQykgMTk5Ny0yMDA2IEouUEVBUlNPTi9KLlNDSElMTElORyAoQykgMjAwNi0yMDA3IENEUktJVCBURUFNCitJRF9GU19MQUJFTD10ZXN0LXVkZgorSURfRlNfTEFCRUxfRU5DPXRlc3QtdWRmCitJRF9GU19MT0dJQ0FMX1ZPTFVNRV9JRD10ZXN0LXVkZgorSURfRlNfU1lTVEVNX0lEPUxJTlVYCitJRF9GU19UWVBFPXVkZgorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD0yMDA4LTAyLTA1LTEyLTI5LTIwLTAwCitJRF9GU19VVUlEX0VOQz0yMDA4LTAyLTA1LTEyLTI5LTIwLTAwCitJRF9GU19WRVJTSU9OPUpvbGlldFx4MjBFeHRlbnNpb24KK0lEX0ZTX1ZPTFVNRV9JRD10ZXN0LXVkZgorSURfRlNfVk9MVU1FX1NFVF9JRD00N0E4M0E4MDAwMDAwMDAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWRmLWhkZC1ta3VkZmZzIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVkZi1oZGQtbWt1ZGZmcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MjJlMGFkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVkZi1oZGQtbWt1ZGZmcwpAQCAtMCwwICsxLDkgQEAKK0lEX0ZTX0xBQkVMPUxpbnV4VURGCitJRF9GU19MQUJFTF9FTkM9TGludXhVREYKK0lEX0ZTX0xPR0lDQUxfVk9MVU1FX0lEPUxpbnV4VURGCitJRF9GU19UWVBFPXVkZgorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD01NGFlYjI1MkxpbnV4VURGCitJRF9GU19VVUlEX0VOQz01NGFlYjI1MkxpbnV4VURGCitJRF9GU19WT0xVTUVfSUQ9TGludXhVREYKK0lEX0ZTX1ZPTFVNRV9TRVRfSUQ9NTRhZWIyNTJMaW51eFVERgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVkZi1oZGQtbWt1ZGZmczIgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWRmLWhkZC1ta3VkZmZzMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hODJjYzM0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVkZi1oZGQtbWt1ZGZmczIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVkZi1oZGQtdWRmY2xpZW50LTAuNy41IGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVkZi1oZGQtdWRmY2xpZW50LTAuNy41Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhODJmMDAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWRmLWhkZC11ZGZjbGllbnQtMC43LjUKQEAgLTAsMCArMSw5IEBACitJRF9GU19MQUJFTD1kaXNjbmFtZQorSURfRlNfTEFCRUxfRU5DPWRpc2NuYW1lCitJRF9GU19MT0dJQ0FMX1ZPTFVNRV9JRD1kaXNjbmFtZQorSURfRlNfVFlQRT11ZGYKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KK0lEX0ZTX1VVSUQ9MjBjNjI0YWMKK0lEX0ZTX1VVSURfRU5DPTIwYzYyNGFjCitJRF9GU19WT0xVTUVfSUQ9MjliNzcxMmUKK0lEX0ZTX1ZPTFVNRV9TRVRfSUQ9MjBjNjI0YWMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS11ZGYtaGRkLXVkZmNsaWVudC0wLjcuNyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS11ZGYtaGRkLXVkZmNsaWVudC0wLjcuNwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMzNiZTVmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVkZi1oZGQtdWRmY2xpZW50LTAuNy43CkBAIC0wLDAgKzEsOSBAQAorSURfRlNfTEFCRUw9ZGlzY25hbWUKK0lEX0ZTX0xBQkVMX0VOQz1kaXNjbmFtZQorSURfRlNfTE9HSUNBTF9WT0xVTUVfSUQ9ZGlzY25hbWUKK0lEX0ZTX1RZUEU9dWRmCitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPTU0YWViM2I2NmRkNDFmZGUKK0lEX0ZTX1VVSURfRU5DPTU0YWViM2I2NmRkNDFmZGUKK0lEX0ZTX1ZPTFVNRV9JRD01ZWExYTE5NworSURfRlNfVk9MVU1FX1NFVF9JRD01NGFlYjNiNjZkZDQxZmRlCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWRmLWhkZC13aW43IGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVkZi1oZGQtd2luNwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzZkYTFkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVkZi1oZGQtd2luNwpAQCAtMCwwICsxLDkgQEAKK0lEX0ZTX0xBQkVMPU15X3ZvbHVtZV9sYWJlbAorSURfRlNfTEFCRUxfRU5DPU15XHgyMHZvbHVtZVx4MjBsYWJlbAorSURfRlNfTE9HSUNBTF9WT0xVTUVfSUQ9TXkgdm9sdW1lIGxhYmVsCitJRF9GU19UWVBFPXVkZgorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD0xMDNBM0IzQjIwNTU0NDQ2CitJRF9GU19VVUlEX0VOQz0xMDNBM0IzQjIwNTU0NDQ2CitJRF9GU19WT0xVTUVfSUQ9VURGIFZvbHVtZQorSURfRlNfVk9MVU1FX1NFVF9JRD0xMDNBM0IzQiBVREYgVm9sdW1lIFNldApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVmcyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS11ZnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTY4MjhkNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS11ZnMKQEAgLTAsMCArMSw1IEBACitJRF9GU19UWVBFPXVmcworSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD00YjBlNjQwYWVjNTZhYzcwCitJRF9GU19VVUlEX0VOQz00YjBlNjQwYWVjNTZhYzcwCitJRF9GU19WRVJTSU9OPTIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS12aWEtcmFpZCBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS12aWEtcmFpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZGQwZThjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXZpYS1yYWlkCkBAIC0wLDAgKzEsMyBAQAorSURfRlNfVFlQRT12aWFfcmFpZF9tZW1iZXIKK0lEX0ZTX1VTQUdFPXJhaWQKK0lEX0ZTX1ZFUlNJT049MQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXZtZnMgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdm1mcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTkxNGIwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXZtZnMKQEAgLTAsMCArMSw3IEBACitJRF9GU19MQUJFTD10b3RvCitJRF9GU19MQUJFTF9FTkM9dG90bworSURfRlNfVFlQRT1WTUZTCitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPTQ5ZWRmODQ0LWViZmMyOGYzLTY1Y2ItMDAyMTI4MDA4M2NmCitJRF9GU19VVUlEX0VOQz00OWVkZjg0NC1lYmZjMjhmMy02NWNiLTAwMjEyODAwODNjZgorSURfRlNfVkVSU0lPTj0zMQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXZtZnNfdm9sdW1lIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXZtZnNfdm9sdW1lCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkNGRkODMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdm1mc192b2x1bWUKQEAgLTAsMCArMSw3IEBACitJRF9GU19UWVBFPVZNRlNfdm9sdW1lX21lbWJlcgorSURfRlNfVVNBR0U9cmFpZAorSURfRlNfVVVJRD00OWVkZjg0Mi1kY2IzNWQzNy1iMzgzLTAwMjEyODAwODNjZgorSURfRlNfVVVJRF9FTkM9NDllZGY4NDItZGNiMzVkMzctYjM4My0wMDIxMjgwMDgzY2YKK0lEX0ZTX1VVSURfU1VCPTQ5ZWRmODQ0LWRhMmRkZTE5LTc0N2ItMDAyMTI4MDA4M2NmCitJRF9GU19VVUlEX1NVQl9FTkM9NDllZGY4NDQtZGEyZGRlMTktNzQ3Yi0wMDIxMjgwMDgzY2YKK0lEX0ZTX1ZFUlNJT049MwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXhmcyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS14ZnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjIxZDg4MQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS14ZnMKQEAgLTAsMCArMSw2IEBACitJRF9GU19MQUJFTD10ZXN0LXhmcworSURfRlNfTEFCRUxfRU5DPXRlc3QteGZzCitJRF9GU19UWVBFPXhmcworSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD04YzhhMGE1YS05ZjU3LTQ5MmUtOTYxMC00NWE2MWYzOGY1OGEKK0lEX0ZTX1VVSURfRU5DPThjOGEwYTVhLTlmNTctNDkyZS05NjEwLTQ1YTYxZjM4ZjU4YQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXhmcy1sb2cgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUteGZzLWxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Y2ZiMTgwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXhmcy1sb2cKQEAgLTAsMCArMSwzIEBACitJRF9GU19MT0dVVUlEPTQwNjNkNDUzLTVjMDEtNDZjZS1iOTJmLTk1MjNkNjRhZWNjNworSURfRlNfVFlQRT14ZnNfZXh0ZXJuYWxfbG9nCitJRF9GU19VU0FHRT1vdGhlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXpmcyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS16ZnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTUyZTBlNQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS16ZnMKQEAgLTAsMCArMSw5IEBACitJRF9GU19MQUJFTD10YW5rCitJRF9GU19MQUJFTF9FTkM9dGFuaworSURfRlNfVFlQRT16ZnNfbWVtYmVyCitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPTE3ODIwMzY1NDYzMTEzMDA5ODAKK0lEX0ZTX1VVSURfRU5DPTE3ODIwMzY1NDYzMTEzMDA5ODAKK0lEX0ZTX1VVSURfU1VCPTEzMTc5MjgwMTI3Mzc5ODUwNTE0CitJRF9GU19VVUlEX1NVQl9FTkM9MTMxNzkyODAxMjczNzk4NTA1MTQKK0lEX0ZTX1ZFUlNJT049OApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93cHJvYmUtcHQtYnNkIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93cHJvYmUtcHQtYnNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyMmFhYzQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3dwcm9iZS1wdC1ic2QKQEAgLTAsMCArMSw0IEBACitzaXplOiA0NDU2NDQ4LCBzZWN0b3Igc2l6ZTogNTEyLCBQVDogYnNkLCBvZmZzZXQ6IDUxMiwgaWQ9KG51bGwpCistLS0KKyMxOiAgICAgICA3OTM2ICAgICAgIDQ4NjQgIDB4NworIzI6ICAgICAgMTI1NDQgICAgICAgMzU4NCAgMHg3CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3dwcm9iZS1wdC1kb3MrYnNkIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93cHJvYmUtcHQtZG9zK2JzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOTllOThjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93cHJvYmUtcHQtZG9zK2JzZApAQCAtMCwwICsxLDYgQEAKK3NpemU6IDgzODg2MDgsIHNlY3RvciBzaXplOiA1MTIsIFBUOiBkb3MsIG9mZnNldDogNDQ2LCBpZD04ZjgzNzhjMAorLS0tCisjMTogICAgICAgICAzMiAgICAgICA3NjQ4ICAweDgzIHV1aWQ9JzhmODM3OGMwLTAxJworIzI6ICAgICAgIDc2ODAgICAgICAgODcwNCAgMHhhNSB1dWlkPSc4ZjgzNzhjMC0wMicKKyM1OiAgICAgICA3OTM2ICAgICAgIDQ4NjQgIDB4NyAoZnJlZWJzZCkKKyM2OiAgICAgIDEyNTQ0ICAgICAgIDM1ODQgIDB4NyAoZnJlZWJzZCkKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvd3Byb2JlLXB0LWdwdCBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvd3Byb2JlLXB0LWdwdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODgxNGUxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93cHJvYmUtcHQtZ3B0CkBAIC0wLDAgKzEsNyBAQAorc2l6ZTogMTA0ODU3NjAsIHNlY3RvciBzaXplOiA1MTIsIFBUOiBncHQsIG9mZnNldDogNTEyLCBpZD1kZDI3Zjk4ZC03NTE5LTRjOWUtODA0MS1mMmJmYTdiMWVmNjEKKy0tLQorIzE6ICAgICAgICAgMzQgICAgICAgMjAxNCAgMHgwIG5hbWU9J1RoaXNJc05hbWUnIHV1aWQ9JzFkY2YxMGJjLTYzN2UtNGM1Mi04MjAzLTA4N2FlMTBhODIwYicgdHlwZT0nZWJkMGEwYTItYjllNS00NDMzLTg3YzAtNjhiNmI3MjY5OWM3JworIzI6ICAgICAgIDIwNDggICAgICAgMjA0OCAgMHgwIG5hbWU9J1RoaXNJc090aGVyTmFtZScgdXVpZD0nYTFkMDNhOTYtNzIzOC00NmM2LWJiYjMtNzg5Y2JlMTczZWM3JyB0eXBlPSdlYmQwYTBhMi1iOWU1LTQ0MzMtODdjMC02OGI2YjcyNjk5YzcnCisjMzogICAgICAgNDA5NiAgICAgICAyMDQ4ICAweDAgbmFtZT0ncHJpbWFyeScgdXVpZD0nYTcxMDFiNmMtNDY4Yy00N2RmLWFmZjYtY2Q0NDRkMTJhZjYxJyB0eXBlPSdlYmQwYTBhMi1iOWU1LTQ0MzMtODdjMC02OGI2YjcyNjk5YzcnCisjNDogICAgICAgNjE0NCAgICAgICAyMDQ4ICAweDAgbmFtZT0ncHJpbWFyeScgdXVpZD0nYWZjNDk1MGEtZjBmMS00YWRkLTgwMmMtNTk1NzEzMzQ4NmQxJyB0eXBlPSdlYmQwYTBhMi1iOWU1LTQ0MzMtODdjMC02OGI2YjcyNjk5YzcnCisjNTogICAgICAgODE5MiAgICAgICAyMDQ4ICAweDAgbmFtZT0ncHJpbWFyeScgdXVpZD0nMGRiMGE3ODctYzE2Yi00ODg2LWFmM2EtZmJiOTcyOTk2NzdjJyB0eXBlPSdlYmQwYTBhMi1iOWU1LTQ0MzMtODdjMC02OGI2YjcyNjk5YzcnCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3dwcm9iZS1wdC1zZ2kgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3dwcm9iZS1wdC1zZ2kKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzljZGRlOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvd3Byb2JlLXB0LXNnaQpAQCAtMCwwICsxLDYgQEAKK3NpemU6IDEwNDg1NzYwLCBzZWN0b3Igc2l6ZTogNTEyLCBQVDogc2dpLCBvZmZzZXQ6IDAsIGlkPShudWxsKQorLS0tCisjMTogICAgICAgICA2MyAgICAxNjA2NDM3ICAweDgzCisjMjogICAgMTYwNjUwMCAgIDMwNTIzNTAwICAweDgzCisjOTogICAgICAgICAgMCAgICAgICA0MDk2ICAweDAKKyMxMTogICAgICAgICAgMCAgIDMyMTMwMDAwICAweDYKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvd3Byb2JlLXB0LXN1biBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvd3Byb2JlLXB0LXN1bgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZmM1Y2YzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93cHJvYmUtcHQtc3VuCkBAIC0wLDAgKzEsNCBAQAorc2l6ZTogMTA0ODU3NjAsIHNlY3RvciBzaXplOiA1MTIsIFBUOiBzdW4sIG9mZnNldDogMCwgaWQ9KG51bGwpCistLS0KKyMxOiAgICAgICAgICAwICAgICAgODczODAgIDB4ODMKKyMyOiAgICAgIDg3MzgwICAgICAgNDM2OTAgIDB4ODIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL21ici13aG9sZWRpc2stZmFrZS12ZmF0IGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbWJyLXdob2xlZGlzay1mYWtlLXZmYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmZmOGFlYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL21ici13aG9sZWRpc2stZmFrZS12ZmF0CkBAIC0wLDAgKzEsMiBAQAorSURfUEFSVF9UQUJMRV9VVUlEPTUwMGEwZGZmCitJRF9QQVJUX1RBQkxFX1RZUEU9ZG9zCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9tZC1yYWlkMC13aG9sZSBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL21kLXJhaWQwLXdob2xlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxZWNiYTAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9tZC1yYWlkMC13aG9sZQpAQCAtMCwwICsxLDUyIEBACitJbml0aWFsaXplIGRldmljZXMKK0NyZWF0ZSBSQUlEIGRldmljZQorQ3JlYXRlIHBhcnRpdGlvbnMgb24gUkFJRCBkZXZpY2UKKworV2VsY29tZSB0byBmZGlzayA8cmVtb3ZlZD4uCitDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uCitCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC4KKworRGV2aWNlIGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZS4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogUGFydGl0aW9uIHR5cGUKKyAgIHAgICBwcmltYXJ5ICgwIHByaW1hcnksIDAgZXh0ZW5kZWQsIDQgZnJlZSkKKyAgIGUgICBleHRlbmRlZCAoY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMpCitTZWxlY3QgKGRlZmF1bHQgcCk6IFBhcnRpdGlvbiBudW1iZXIgKDEtNCwgZGVmYXVsdCAxKTogRmlyc3Qgc2VjdG9yICgyMDQ4LTIwNDU0MywgZGVmYXVsdCAyMDQ4KTogTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0gKDIwNDgtMjA0NTQzLCBkZWZhdWx0IDIwNDU0Myk6IAorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBQYXJ0aXRpb24gdHlwZQorICAgcCAgIHByaW1hcnkgKDEgcHJpbWFyeSwgMCBleHRlbmRlZCwgMyBmcmVlKQorICAgZSAgIGV4dGVuZGVkIChjb250YWluZXIgZm9yIGxvZ2ljYWwgcGFydGl0aW9ucykKK1NlbGVjdCAoZGVmYXVsdCBwKTogUGFydGl0aW9uIG51bWJlciAoMi00LCBkZWZhdWx0IDIpOiBGaXJzdCBzZWN0b3IgKDIyNTI4LTIwNDU0MywgZGVmYXVsdCAyMjUyOCk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICgyMjUyOC0yMDQ1NDMsIGRlZmF1bHQgMjA0NTQzKTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IERpc2sgPHJlbW92ZWQ+OiA5OS45IE1pQiwgMTA0NzI2NTI4IGJ5dGVzLCAyMDQ1NDQgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA2NTUzNiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgIEVuZCBTZWN0b3JzICBTaXplIElkIFR5cGUKKzxyZW1vdmVkPnAxICAgICAgIDIwNDggIDIyNTI3ICAgMjA0ODAgICAxME0gODMgTGludXgKKzxyZW1vdmVkPnAyICAgICAgMjI1MjggMjA0NTQzICAxODIwMTYgODguOU0gODMgTGludXgKKworQ29tbWFuZCAobSBmb3IgaGVscCk6IFRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCisKK1Byb2JlIGZpcnN0IFJBSUQgbWVtYmVyCitJRF9GU19UWVBFPWxpbnV4X3JhaWRfbWVtYmVyCitJRF9GU19VU0FHRT1yYWlkCisKKworSURfRlNfVkVSU0lPTj0wLjkwLjAKK1Byb2JlIHNlY29uZCBSQUlEIG1lbWJlcgorSURfRlNfVFlQRT1saW51eF9yYWlkX21lbWJlcgorSURfRlNfVVNBR0U9cmFpZAorCisKK0lEX0ZTX1ZFUlNJT049MC45MC4wCitTdG9wIFJBSUQgZGV2aWNlCitEZWluaXRpYWxpemUgZGV2aWNlcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbWQtcmFpZDEtcGFydCBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL21kLXJhaWQxLXBhcnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzgxYzY1YwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL21kLXJhaWQxLXBhcnQKQEAgLTAsMCArMSw2NiBAQAorQ3JlYXRlIHBhcnRpdGlvbnMKKworV2VsY29tZSB0byBmZGlzayA8cmVtb3ZlZD4uCitDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uCitCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC4KKworRGV2aWNlIGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZS4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogUGFydGl0aW9uIHR5cGUKKyAgIHAgICBwcmltYXJ5ICgwIHByaW1hcnksIDAgZXh0ZW5kZWQsIDQgZnJlZSkKKyAgIGUgICBleHRlbmRlZCAoY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMpCitTZWxlY3QgKGRlZmF1bHQgcCk6IFBhcnRpdGlvbiBudW1iZXIgKDEtNCwgZGVmYXVsdCAxKTogRmlyc3Qgc2VjdG9yICgyMDQ4LTEwNDQ0NywgZGVmYXVsdCAyMDQ4KTogTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0gKDIwNDgtMTA0NDQ3LCBkZWZhdWx0IDEwNDQ0Nyk6IAorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBQYXJ0aXRpb24gdHlwZQorICAgcCAgIHByaW1hcnkgKDEgcHJpbWFyeSwgMCBleHRlbmRlZCwgMyBmcmVlKQorICAgZSAgIGV4dGVuZGVkIChjb250YWluZXIgZm9yIGxvZ2ljYWwgcGFydGl0aW9ucykKK1NlbGVjdCAoZGVmYXVsdCBwKTogUGFydGl0aW9uIG51bWJlciAoMi00LCBkZWZhdWx0IDIpOiBGaXJzdCBzZWN0b3IgKDUzMjQ4LTEwNDQ0NywgZGVmYXVsdCA1MzI0OCk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICg1MzI0OC0xMDQ0NDcsIGRlZmF1bHQgMTA0NDQ3KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IERpc2sgPHJlbW92ZWQ+OiA1MSBNaUIsIDUzNDc3Mzc2IGJ5dGVzLCAxMDQ0NDggc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgIDIwNDggIDUzMjQ3ICAgNTEyMDAgIDI1TSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICA1MzI0OCAxMDQ0NDcgICA1MTIwMCAgMjVNIDgzIExpbnV4CisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgorCitDcmVhdGUgUkFJRDEgZGV2aWNlCitQcm9iZSB3aG9sZS1kaXNrCitJRF9QQVJUX1RBQkxFX1RZUEU9ZG9zCitJRF9QQVJUX1RBQkxFX1VVSUQ9MDAwMDAwMDEKK1Byb2JlIGZpcnN0IFJBSUQgbWVtYmVyCitJRF9GU19UWVBFPWxpbnV4X3JhaWRfbWVtYmVyCitJRF9GU19VU0FHRT1yYWlkCitJRF9GU19VVUlEPV9fdHNfdXVpZF9fCitJRF9GU19VVUlEX0VOQz1fX3RzX3V1aWRfZW5jX18KK0lEX0ZTX1ZFUlNJT049MC45MC4wCitJRF9QQVJUX0VOVFJZX0RJU0s9X190c19tYWpvcm1pbm9yX18KK0lEX1BBUlRfRU5UUllfTlVNQkVSPTEKK0lEX1BBUlRfRU5UUllfT0ZGU0VUPTIwNDgKK0lEX1BBUlRfRU5UUllfU0NIRU1FPWRvcworSURfUEFSVF9FTlRSWV9TSVpFPTUxMjAwCitJRF9QQVJUX0VOVFJZX1RZUEU9MHg4MworSURfUEFSVF9FTlRSWV9VVUlEPTAwMDAwMDAxLTAxCitQcm9iZSBzZWNvbmQgUkFJRCBtZW1iZXIKK0lEX0ZTX1RZUEU9bGludXhfcmFpZF9tZW1iZXIKK0lEX0ZTX1VTQUdFPXJhaWQKK0lEX0ZTX1VVSUQ9X190c191dWlkX18KK0lEX0ZTX1VVSURfRU5DPV9fdHNfdXVpZF9lbmNfXworSURfRlNfVkVSU0lPTj0wLjkwLjAKK0lEX1BBUlRfRU5UUllfRElTSz1fX3RzX21ham9ybWlub3JfXworSURfUEFSVF9FTlRSWV9OVU1CRVI9MgorSURfUEFSVF9FTlRSWV9PRkZTRVQ9NTMyNDgKK0lEX1BBUlRfRU5UUllfU0NIRU1FPWRvcworSURfUEFSVF9FTlRSWV9TSVpFPTUxMjAwCitJRF9QQVJUX0VOVFJZX1RZUEU9MHg4MworSURfUEFSVF9FTlRSWV9VVUlEPTAwMDAwMDAxLTAyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9tZC1yYWlkMS13aG9sZSBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL21kLXJhaWQxLXdob2xlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlNWE5NWQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9tZC1yYWlkMS13aG9sZQpAQCAtMCwwICsxLDUyIEBACitJbml0aWFsaXplIGRldmljZXMKK0NyZWF0ZSBSQUlEIGRldmljZQorQ3JlYXRlIHBhcnRpdGlvbnMgb24gUkFJRCBkZXZpY2UKKworV2VsY29tZSB0byBmZGlzayA8cmVtb3ZlZD4uCitDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uCitCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC4KKworRGV2aWNlIGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZS4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogUGFydGl0aW9uIHR5cGUKKyAgIHAgICBwcmltYXJ5ICgwIHByaW1hcnksIDAgZXh0ZW5kZWQsIDQgZnJlZSkKKyAgIGUgICBleHRlbmRlZCAoY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMpCitTZWxlY3QgKGRlZmF1bHQgcCk6IFBhcnRpdGlvbiBudW1iZXIgKDEtNCwgZGVmYXVsdCAxKTogRmlyc3Qgc2VjdG9yICgyMDQ4LTEwMjI3MSwgZGVmYXVsdCAyMDQ4KTogTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0gKDIwNDgtMTAyMjcxLCBkZWZhdWx0IDEwMjI3MSk6IAorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBQYXJ0aXRpb24gdHlwZQorICAgcCAgIHByaW1hcnkgKDEgcHJpbWFyeSwgMCBleHRlbmRlZCwgMyBmcmVlKQorICAgZSAgIGV4dGVuZGVkIChjb250YWluZXIgZm9yIGxvZ2ljYWwgcGFydGl0aW9ucykKK1NlbGVjdCAoZGVmYXVsdCBwKTogUGFydGl0aW9uIG51bWJlciAoMi00LCBkZWZhdWx0IDIpOiBGaXJzdCBzZWN0b3IgKDIyNTI4LTEwMjI3MSwgZGVmYXVsdCAyMjUyOCk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICgyMjUyOC0xMDIyNzEsIGRlZmF1bHQgMTAyMjcxKTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IERpc2sgL2Rldi9tZDg6IDUwIE1pQiwgNTIzNjMyNjQgYnl0ZXMsIDEwMjI3MiBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDxyZW1vdmVkPiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCisvZGV2L21kOHAxICAgICAgIDIwNDggMjI1MjcgICAyMDQ4MCAgMTBNIDgzIExpbnV4CisvZGV2L21kOHAyICAgICAgMjI1MjggNDMwMDcgICAyMDQ4MCAgMTBNIDgzIExpbnV4CisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgorCitQcm9iZSBmaXJzdCBSQUlEIG1lbWJlcgorSURfRlNfVFlQRT1saW51eF9yYWlkX21lbWJlcgorSURfRlNfVVNBR0U9cmFpZAorCisKK0lEX0ZTX1ZFUlNJT049MC45MC4wCitQcm9iZSBzZWNvbmQgUkFJRCBtZW1iZXIKK0lEX0ZTX1RZUEU9bGludXhfcmFpZF9tZW1iZXIKK0lEX0ZTX1VTQUdFPXJhaWQKKworCitJRF9GU19WRVJTSU9OPTAuOTAuMAorU3RvcCBSQUlEIGRldmljZQorRGVpbml0aWFsaXplIGRldmljZXMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctYWxsIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1hbGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjY4NzMxNgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctYWxsCkBAIC0wLDAgKzEsMTEzIEBACitibGtpZDogIGxpYmJsa2lkIGxpYnV1aWQgCitjZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJtb3VudCBsaWJuY3Vyc2VzdyBsaWJydCBsaWJzbWFydGNvbHMgbGlidGluZm8gbGlidXVpZCAKK2VqZWN0OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK2ZkaXNrOiAgbGliYmxraWQgbGliZmRpc2sgbGlicmVhZGxpbmUgbGlic21hcnRjb2xzIGxpYnRpbmZvIGxpYnV1aWQgCitmaW5kZnM6ICBsaWJibGtpZCBsaWJ1dWlkIAorZmluZG1udDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitmc2NrOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK2ZzdHJpbTogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitsaWJibGtpZC5zby4xLjEuMDogIGxpYnV1aWQgCitsaWJmZGlzay5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnV1aWQgCitsaWJtb3VudC5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnJ0IGxpYnV1aWQgCitsaWJzbWFydGNvbHMuc28uMS4xLjA6ICAKK2xpYnV1aWQuc28uMS4zLjA6ICAKK2xvc2V0dXA6ICBsaWJzbWFydGNvbHMgCitsc2JsazogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitsc2NwdTogIGxpYnNtYXJ0Y29scyAKK2xzaXBjOiAgbGlic21hcnRjb2xzIAorbHNsb2NrczogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorbHNsb2dpbnM6ICBsaWJzbWFydGNvbHMgbGlic3lzdGVtZCAKK2xzbnM6ICBsaWJzbWFydGNvbHMgCitta3N3YXA6ICBsaWJibGtpZCBsaWJ1dWlkIAorbW91bnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJ1dWlkIAorbW91bnRwb2ludDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitwYXJ0eDogIGxpYmJsa2lkIGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorcHJsaW1pdDogIGxpYnNtYXJ0Y29scyAKK3B5bGlibW91bnQuc286ICBsaWJibGtpZCBsaWJtb3VudCBsaWJweXRob24yIGxpYnJ0IGxpYnV1aWQgCitzZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJyZWFkbGluZSBsaWJzbWFydGNvbHMgbGlidGluZm8gbGlidXVpZCAKK3N3YXBsYWJlbDogIGxpYmJsa2lkIGxpYnV1aWQgCitzd2Fwb2ZmOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK3N3YXBvbjogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAordW1vdW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK3V1aWRkOiAgbGlicnQgbGlic3lzdGVtZCBsaWJ1dWlkIAordXVpZGdlbjogIGxpYnV1aWQgCit3ZGN0bDogIGxpYnNtYXJ0Y29scyAKK3dpcGVmczogIGxpYmJsa2lkIGxpYnV1aWQgCit6cmFtY3RsOiAgbGlic21hcnRjb2xzIAorYWRkcGFydDogIAorYWdldHR5OiAgCitibGtkaXNjYXJkOiAgbGlicnQgCitibG9ja2RldjogIAorY2FsOiAgbGlibmN1cnNlc3cgbGlidGluZm8gCitjaGNwdTogIAorY2hmbjogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnVzZXIgCitjaHJ0OiAgCitjaHNoOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnB0aHJlYWQgbGlidXNlciAKK2NvbDogIAorY29sY3J0OiAgCitjb2xybTogIAorY29sdW1uOiAgCitjdHJsYWx0ZGVsOiAgCitkZWxwYXJ0OiAgCitkbWVzZzogIGxpYnJ0IGxpYnRpbmZvIAorZmFsbG9jYXRlOiAgCitmZGZvcm1hdDogIAorZmxvY2s6ICBsaWJydCAKK2ZzY2suY3JhbWZzOiAgbGlieiAKK2ZzY2subWluaXg6ICAKK2ZzZnJlZXplOiAgCitnZXRvcHQ6ICAKK2hleGR1bXA6ICBsaWJ0aW5mbyAKK2h3Y2xvY2s6ICAKK2lvbmljZTogIAoraXBjbWs6ICAKK2lwY3JtOiAgCitpcGNzOiAgCitpc29zaXplOiAgCitraWxsOiAgCitsYXN0OiAgbGlicnQgCitsZGF0dGFjaDogIAorbGluZTogIAorbG9nZ2VyOiAgbGlic3lzdGVtZCAKK2xvZ2luOiAgbGlicGFtIGxpYnBhbV9taXNjIAorbG9vazogIAorbWNvb2tpZTogIAorbWVzZzogIAorbWtmczogIAorbWtmcy5iZnM6ICAKK21rZnMuY3JhbWZzOiAgbGlieiAKK21rZnMubWluaXg6ICAKK21vcmU6ICBsaWJ0aW5mbyAKK25hbWVpOiAgCituZXdncnA6ICByeXB0IAorbm9sb2dpbjogIAorbnNlbnRlcjogIAorcGc6ICBsaWJuY3Vyc2VzdyBsaWJ0aW5mbyAKK3Bpdm90X3Jvb3Q6ICAKK3JhdzogIAorcmVhZHByb2ZpbGU6ICAKK3JlbmFtZTogIAorcmVuaWNlOiAgCityZXNpemVwYXJ0OiAgCityZXY6ICAKK3J0Y3dha2U6ICAKK3J1bnVzZXI6ICBsaWJwYW0gbGlicGFtX21pc2MgCitzY3JpcHQ6ICBsaWJydCBsaWJ1dGlsIAorc2NyaXB0cmVwbGF5OiAgCitzZXRhcmNoOiAgCitzZXRwcml2OiAgYXAtbmcgCitzZXRzaWQ6ICAKK3NldHRlcm06ICBsaWJ0aW5mbyAKK3N1OiAgbGlicGFtIGxpYnBhbV9taXNjIAorc3Vsb2dpbjogIHJ5cHQgCitzd2l0Y2hfcm9vdDogIAordGFpbGY6ICAKK3Rhc2tzZXQ6ICAKK3R1bmVscDogIAordWw6ICBsaWJ0aW5mbyAKK3Vuc2hhcmU6ICAKK3V0bXBkdW1wOiAgCit2aXB3OiAgCit3YWxsOiAgCit3aGVyZWlzOiAgCit3cml0ZTogIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1hbGwtZGV2ZWwgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWFsbC1kZXZlbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MTI3NzdkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1hbGwtZGV2ZWwKQEAgLTAsMCArMSwxMTYgQEAKK21rc3dhcDogIGxpYmJsa2lkIGxpYnNlbGludXggbGlidXVpZCAKK3N3YXBsYWJlbDogIGxpYmJsa2lkIGxpYnV1aWQgCitibG9ja2RldjogIAorZmRmb3JtYXQ6ICAKK2ZzY2suY3JhbWZzOiAgbGlieiAKK2ZzY2subWluaXg6ICAKK2lzb3NpemU6ICAKK21rZnM6ICAKK21rZnMuYmZzOiAgCitta2ZzLmNyYW1mczogIGxpYnogCitta2ZzLm1pbml4OiAgCityYXc6ICAKK2NmZGlzazogIGxpYmJsa2lkIGxpYm5jdXJzZXN3IGxpYnRpbmZvIGxpYnV1aWQgCitmZGlzazogIGxpYmJsa2lkIGxpYnV1aWQgCitzZmRpc2s6ICAKK2ZzY2s6ICBsaWJibGtpZCBsaWJ1dWlkIAorZ2V0b3B0OiAgCitod2Nsb2NrOiAgbGliYXVkaXQgCit0ZXN0X2F0OiAgCit0ZXN0X2Jsa2RldjogIAordGVzdF9jYW5vbmljYWxpemU6ICAKK3Rlc3RfY3B1c2V0OiAgCit0ZXN0X2lzbW91bnRlZDogIAordGVzdF9sb29wZGV2OiAgCit0ZXN0X21hbmdsZTogIAordGVzdF9wcm9jdXRpbHM6ICAKK3Rlc3Rfc3RydXRpbHM6ICAKK3Rlc3Rfc3lzZnM6ICAKK3Rlc3Rfd2hvbGVkaXNrOiAgCitta2ZzOiAgbGliYmxraWQgbGlidXVpZCAKK3BhcnRpdGlvbnM6ICBsaWJibGtpZCBsaWJ1dWlkIAorc3VwZXJibG9ja3M6ICBsaWJibGtpZCBsaWJ1dWlkIAordG9wb2xvZ3k6ICBsaWJibGtpZCBsaWJ1dWlkIAorbGliYmxraWQuc28uMS4xLjA6ICBsaWJ1dWlkIAorbW91bnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJzZWxpbnV4IGxpYnNlcG9sIGxpYnV1aWQgCitsaWJtb3VudC5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnNlbGludXggbGlic2Vwb2wgbGlidXVpZCAKK2xpYnV1aWQuc28uMS4zLjA6ICBsZC1saW51eC14ODYtNjQgCit0c3RfdXVpZDogIGxpYnV1aWQgCitjaGZuOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnNlbGludXggCitjaHNoOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnNlbGludXggCitsYXN0OiAgCitsb2dpbjogIGxpYmF1ZGl0IGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJzZWxpbnV4IAorbmV3Z3JwOiAgcnlwdCAKK3Rlc3RfaXNsb2NhbDogIAordGVzdF9sb2dpbmRlZnM6ICAKK3ZpcHc6ICBsaWJzZWxpbnV4IAorYmxraWQ6ICBsaWJibGtpZCBsaWJ1dWlkIAorZmluZGZzOiAgbGliYmxraWQgbGlidXVpZCAKK2ZpbmRtbnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJzZWxpbnV4IGxpYnNlcG9sIGxpYnV1aWQgCitsc2JsazogIGxpYmJsa2lkIGxpYnVkZXYgbGlidXVpZCAKK3V1aWRkOiAgbGlidXVpZCAKK3V1aWRnZW46ICBsaWJ1dWlkIAord2lwZWZzOiAgbGliYmxraWQgbGlidXVpZCAKK2NhbDogIGxpYm5jdXJzZXN3IGxpYnRpbmZvIAora2lsbDogIAorbG9nZ2VyOiAgCitsb29rOiAgCittY29va2llOiAgCituYW1laTogIAorcmVuYW1lOiAgCit3aGVyZWlzOiAgCittb3VudDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnNlbGludXggbGlic2Vwb2wgbGlidXVpZCAKK3N3YXBvbjogIGxpYmJsa2lkIGxpYnV1aWQgCit1bW91bnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJzZWxpbnV4IGxpYnNlcG9sIGxpYnV1aWQgCitsb3NldHVwOiAgCitwYXJ0eDogIGxpYmJsa2lkIGxpYnV1aWQgCithZGRwYXJ0OiAgCitkZWxwYXJ0OiAgCitjaHJ0OiAgCitpb25pY2U6ICAKK3Rhc2tzZXQ6ICAKK21vdW50cG9pbnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJzZWxpbnV4IGxpYnNlcG9sIGxpYnV1aWQgCithcmNoOiAgCitjaGNwdTogIAorY3RybGFsdGRlbDogIAorZG1lc2c6ICAKK2ZhbGxvY2F0ZTogIAorZmxvY2s6ICAKK2ZzZnJlZXplOiAgCitmc3RyaW06ICAKK2lwY21rOiAgCitpcGNybTogIAoraXBjczogIAorbGRhdHRhY2g6ICAKK2xzY3B1OiAgCitwaXZvdF9yb290OiAgCitwcmxpbWl0OiAgCityZWFkcHJvZmlsZTogIAorcmVuaWNlOiAgCitydGN3YWtlOiAgCitzZXRhcmNoOiAgCitzZXRzaWQ6ICAKK3N3aXRjaF9yb290OiAgCit0dW5lbHA6ICAKK3Vuc2hhcmU6ICAKK2FnZXR0eTogIAorbWVzZzogIAorc2NyaXB0OiAgbGlidXRlbXB0ZXIgbGlidXRpbCAKK3NjcmlwdHJlcGxheTogIAorc2V0dGVybTogIGxpYnRpbmZvIAord3JpdGU6ICAKK3Rlc3RfYnl0ZXN3YXA6ICAKK3Rlc3RfbWQ1OiAgCit0ZXN0X3BhdGhuYW1lczogIAordGVzdF9zeXNpbmZvOiAgCitjb2w6ICAKK2NvbGNydDogIAorY29scm06ICAKK2NvbHVtbjogIAoraGV4ZHVtcDogIAorbGluZTogIAorbW9yZTogIGxpYnRpbmZvIAorcGc6ICBsaWJuY3Vyc2VzdyBsaWJ0aW5mbyAKK3JldjogIAordGFpbGY6ICAKK3VsOiAgbGlidGluZm8gCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWFsbC1ub24tbmxzIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1hbGwtbm9uLW5scwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNjg3MzE2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1hbGwtbm9uLW5scwpAQCAtMCwwICsxLDExMyBAQAorYmxraWQ6ICBsaWJibGtpZCBsaWJ1dWlkIAorY2ZkaXNrOiAgbGliYmxraWQgbGliZmRpc2sgbGlibW91bnQgbGlibmN1cnNlc3cgbGlicnQgbGlic21hcnRjb2xzIGxpYnRpbmZvIGxpYnV1aWQgCitlamVjdDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitmZGlzazogIGxpYmJsa2lkIGxpYmZkaXNrIGxpYnJlYWRsaW5lIGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorZmluZGZzOiAgbGliYmxraWQgbGlidXVpZCAKK2ZpbmRtbnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzbWFydGNvbHMgbGlidWRldiBsaWJ1dWlkIAorZnNjazogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitmc3RyaW06ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJ1dWlkIAorbGliYmxraWQuc28uMS4xLjA6ICBsaWJ1dWlkIAorbGliZmRpc2suc28uMS4xLjA6ICBsaWJibGtpZCBsaWJ1dWlkIAorbGlibW91bnQuc28uMS4xLjA6ICBsaWJibGtpZCBsaWJydCBsaWJ1dWlkIAorbGlic21hcnRjb2xzLnNvLjEuMS4wOiAgCitsaWJ1dWlkLnNvLjEuMy4wOiAgCitsb3NldHVwOiAgbGlic21hcnRjb2xzIAorbHNibGs6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzbWFydGNvbHMgbGlidWRldiBsaWJ1dWlkIAorbHNjcHU6ICBsaWJzbWFydGNvbHMgCitsc2lwYzogIGxpYnNtYXJ0Y29scyAKK2xzbG9ja3M6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK2xzbG9naW5zOiAgbGlic21hcnRjb2xzIGxpYnN5c3RlbWQgCitsc25zOiAgbGlic21hcnRjb2xzIAorbWtzd2FwOiAgbGliYmxraWQgbGlidXVpZCAKK21vdW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK21vdW50cG9pbnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJ1dWlkIAorcGFydHg6ICBsaWJibGtpZCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3BybGltaXQ6ICBsaWJzbWFydGNvbHMgCitweWxpYm1vdW50LnNvOiAgbGliYmxraWQgbGlibW91bnQgbGlicHl0aG9uMiBsaWJydCBsaWJ1dWlkIAorc2ZkaXNrOiAgbGliYmxraWQgbGliZmRpc2sgbGlicmVhZGxpbmUgbGlic21hcnRjb2xzIGxpYnRpbmZvIGxpYnV1aWQgCitzd2FwbGFiZWw6ICBsaWJibGtpZCBsaWJ1dWlkIAorc3dhcG9mZjogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitzd2Fwb246ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3Vtb3VudDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCit1dWlkZDogIGxpYnJ0IGxpYnN5c3RlbWQgbGlidXVpZCAKK3V1aWRnZW46ICBsaWJ1dWlkIAord2RjdGw6ICBsaWJzbWFydGNvbHMgCit3aXBlZnM6ICBsaWJibGtpZCBsaWJ1dWlkIAorenJhbWN0bDogIGxpYnNtYXJ0Y29scyAKK2FkZHBhcnQ6ICAKK2FnZXR0eTogIAorYmxrZGlzY2FyZDogIGxpYnJ0IAorYmxvY2tkZXY6ICAKK2NhbDogIGxpYm5jdXJzZXN3IGxpYnRpbmZvIAorY2hjcHU6ICAKK2NoZm46ICBsaWJwYW0gbGlicGFtX21pc2MgbGlicHRocmVhZCBsaWJ1c2VyIAorY2hydDogIAorY2hzaDogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnVzZXIgCitjb2w6ICAKK2NvbGNydDogIAorY29scm06ICAKK2NvbHVtbjogIAorY3RybGFsdGRlbDogIAorZGVscGFydDogIAorZG1lc2c6ICBsaWJydCBsaWJ0aW5mbyAKK2ZhbGxvY2F0ZTogIAorZmRmb3JtYXQ6ICAKK2Zsb2NrOiAgbGlicnQgCitmc2NrLmNyYW1mczogIGxpYnogCitmc2NrLm1pbml4OiAgCitmc2ZyZWV6ZTogIAorZ2V0b3B0OiAgCitoZXhkdW1wOiAgbGlidGluZm8gCitod2Nsb2NrOiAgCitpb25pY2U6ICAKK2lwY21rOiAgCitpcGNybTogIAoraXBjczogIAoraXNvc2l6ZTogIAora2lsbDogIAorbGFzdDogIGxpYnJ0IAorbGRhdHRhY2g6ICAKK2xpbmU6ICAKK2xvZ2dlcjogIGxpYnN5c3RlbWQgCitsb2dpbjogIGxpYnBhbSBsaWJwYW1fbWlzYyAKK2xvb2s6ICAKK21jb29raWU6ICAKK21lc2c6ICAKK21rZnM6ICAKK21rZnMuYmZzOiAgCitta2ZzLmNyYW1mczogIGxpYnogCitta2ZzLm1pbml4OiAgCittb3JlOiAgbGlidGluZm8gCituYW1laTogIAorbmV3Z3JwOiAgcnlwdCAKK25vbG9naW46ICAKK25zZW50ZXI6ICAKK3BnOiAgbGlibmN1cnNlc3cgbGlidGluZm8gCitwaXZvdF9yb290OiAgCityYXc6ICAKK3JlYWRwcm9maWxlOiAgCityZW5hbWU6ICAKK3JlbmljZTogIAorcmVzaXplcGFydDogIAorcmV2OiAgCitydGN3YWtlOiAgCitydW51c2VyOiAgbGlicGFtIGxpYnBhbV9taXNjIAorc2NyaXB0OiAgbGlicnQgbGlidXRpbCAKK3NjcmlwdHJlcGxheTogIAorc2V0YXJjaDogIAorc2V0cHJpdjogIGFwLW5nIAorc2V0c2lkOiAgCitzZXR0ZXJtOiAgbGlidGluZm8gCitzdTogIGxpYnBhbSBsaWJwYW1fbWlzYyAKK3N1bG9naW46ICByeXB0IAorc3dpdGNoX3Jvb3Q6ICAKK3RhaWxmOiAgCit0YXNrc2V0OiAgCit0dW5lbHA6ICAKK3VsOiAgbGlidGluZm8gCit1bnNoYXJlOiAgCit1dG1wZHVtcDogIAordmlwdzogIAord2FsbDogIAord2hlcmVpczogIAord3JpdGU6ICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctYXVkaXQgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWF1ZGl0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3ZjJhMjQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWF1ZGl0CkBAIC0wLDAgKzEsMTA3IEBACitibGtpZDogIGxpYmJsa2lkIGxpYnV1aWQgCitjZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJtb3VudCBsaWJuY3Vyc2VzdyBsaWJydCBsaWJzbWFydGNvbHMgbGlidGluZm8gbGlidXVpZCAKK2VqZWN0OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK2ZkaXNrOiAgbGliYmxraWQgbGliZmRpc2sgbGlicmVhZGxpbmUgbGlic21hcnRjb2xzIGxpYnRpbmZvIGxpYnV1aWQgCitmaW5kZnM6ICBsaWJibGtpZCBsaWJ1dWlkIAorZmluZG1udDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitmc2NrOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK2ZzdHJpbTogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitsaWJibGtpZC5zby4xLjEuMDogIGxpYnV1aWQgCitsaWJmZGlzay5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnV1aWQgCitsaWJtb3VudC5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnJ0IGxpYnV1aWQgCitsaWJzbWFydGNvbHMuc28uMS4xLjA6ICAKK2xpYnV1aWQuc28uMS4zLjA6ICAKK2xvc2V0dXA6ICBsaWJzbWFydGNvbHMgCitsc2JsazogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitsc2NwdTogIGxpYnNtYXJ0Y29scyAKK2xzaXBjOiAgbGlic21hcnRjb2xzIAorbHNsb2NrczogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorbHNsb2dpbnM6ICBsaWJzbWFydGNvbHMgbGlic3lzdGVtZCAKK2xzbnM6ICBsaWJzbWFydGNvbHMgCitta3N3YXA6ICBsaWJibGtpZCBsaWJ1dWlkIAorbW91bnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJ1dWlkIAorbW91bnRwb2ludDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitwYXJ0eDogIGxpYmJsa2lkIGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorcHJsaW1pdDogIGxpYnNtYXJ0Y29scyAKK3B5bGlibW91bnQuc286ICBsaWJibGtpZCBsaWJtb3VudCBsaWJweXRob24yIGxpYnJ0IGxpYnV1aWQgCitzZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJyZWFkbGluZSBsaWJzbWFydGNvbHMgbGlidGluZm8gbGlidXVpZCAKK3N3YXBsYWJlbDogIGxpYmJsa2lkIGxpYnV1aWQgCitzd2Fwb2ZmOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK3N3YXBvbjogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAordW1vdW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK3V1aWRkOiAgbGlicnQgbGlic3lzdGVtZCBsaWJ1dWlkIAordXVpZGdlbjogIGxpYnV1aWQgCit3ZGN0bDogIGxpYnNtYXJ0Y29scyAKK3dpcGVmczogIGxpYmJsa2lkIGxpYnV1aWQgCit6cmFtY3RsOiAgbGlic21hcnRjb2xzIAorYWRkcGFydDogIAorYWdldHR5OiAgCitibGtkaXNjYXJkOiAgbGlicnQgCitibG9ja2RldjogIAorY2FsOiAgbGlibmN1cnNlc3cgbGlidGluZm8gCitjaGNwdTogIAorY2hmbjogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnVzZXIgCitjaHJ0OiAgCitjaHNoOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnB0aHJlYWQgbGlidXNlciAKK2NvbDogIAorY29sY3J0OiAgCitjb2xybTogIAorY29sdW1uOiAgCitjdHJsYWx0ZGVsOiAgCitkZWxwYXJ0OiAgCitkbWVzZzogIGxpYnJ0IGxpYnRpbmZvIAorZmFsbG9jYXRlOiAgCitmZGZvcm1hdDogIAorZmxvY2s6ICBsaWJydCAKK2ZzY2suY3JhbWZzOiAgbGlieiAKK2ZzY2subWluaXg6ICAKK2ZzZnJlZXplOiAgCitnZXRvcHQ6ICAKK2hleGR1bXA6ICBsaWJ0aW5mbyAKK2h3Y2xvY2s6ICBsaWJhdWRpdCAKK2lvbmljZTogIAoraXBjbWs6ICAKK2lwY3JtOiAgCitpcGNzOiAgCitpc29zaXplOiAgCitraWxsOiAgCitsYXN0OiAgbGlicnQgCitsZGF0dGFjaDogIAorbG9nZ2VyOiAgbGlic3lzdGVtZCAKK2xvZ2luOiAgbGliYXVkaXQgbGlicGFtIGxpYnBhbV9taXNjIAorbG9vazogIAorbWNvb2tpZTogIAorbWVzZzogIAorbWtmczogIAorbWtmcy5iZnM6ICAKK21rZnMuY3JhbWZzOiAgbGlieiAKK21rZnMubWluaXg6ICAKK21vcmU6ICBsaWJ0aW5mbyAKK25hbWVpOiAgCitub2xvZ2luOiAgCituc2VudGVyOiAgCitwaXZvdF9yb290OiAgCityYXc6ICAKK3JlYWRwcm9maWxlOiAgCityZW5hbWU6ICAKK3JlbmljZTogIAorcmVzaXplcGFydDogIAorcmV2OiAgCitydGN3YWtlOiAgCitydW51c2VyOiAgbGlicGFtIGxpYnBhbV9taXNjIAorc2NyaXB0OiAgbGlicnQgbGlidXRpbCAKK3NjcmlwdHJlcGxheTogIAorc2V0YXJjaDogIAorc2V0cHJpdjogIGFwLW5nIAorc2V0c2lkOiAgCitzZXR0ZXJtOiAgbGlidGluZm8gCitzdTogIGxpYnBhbSBsaWJwYW1fbWlzYyAKK3N1bG9naW46ICByeXB0IAorc3dpdGNoX3Jvb3Q6ICAKK3RhaWxmOiAgCit0YXNrc2V0OiAgCit1bDogIGxpYnRpbmZvIAordW5zaGFyZTogIAordXRtcGR1bXA6ICAKK3dhbGw6ICAKK3doZXJlaXM6ICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctY2hmbnNoLWxpYnVzZXIgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWNoZm5zaC1saWJ1c2VyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5NGMzNjEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWNoZm5zaC1saWJ1c2VyCkBAIC0wLDAgKzEsMTA3IEBACitibGtpZDogIGxpYmJsa2lkIGxpYnV1aWQgCitjZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJtb3VudCBsaWJuY3Vyc2VzdyBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorZWplY3Q6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitmZGlzazogIGxpYmJsa2lkIGxpYmZkaXNrIGxpYnJlYWRsaW5lIGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorZmluZGZzOiAgbGliYmxraWQgbGlidXVpZCAKK2ZpbmRtbnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitmc2NrOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorZnN0cmltOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorbGliYmxraWQuc28uMS4xLjA6ICBsaWJ1dWlkIAorbGliZmRpc2suc28uMS4xLjA6ICBsaWJibGtpZCBsaWJ1dWlkIAorbGlibW91bnQuc28uMS4xLjA6ICBsaWJibGtpZCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitsaWJzbWFydGNvbHMuc28uMS4xLjA6ICAKK2xpYnV1aWQuc28uMS4zLjA6ICAKK2xvc2V0dXA6ICBsaWJzbWFydGNvbHMgCitsc2JsazogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlic21hcnRjb2xzIGxpYnVkZXYgbGlidXVpZCAKK2xzY3B1OiAgbGlic21hcnRjb2xzIAorbHNpcGM6ICBsaWJzbWFydGNvbHMgCitsc2xvY2tzOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK2xzbG9naW5zOiAgbGlic2VsaW51eCBsaWJzbWFydGNvbHMgbGlic3lzdGVtZCAKK2xzbnM6ICBsaWJzbWFydGNvbHMgCitta3N3YXA6ICBsaWJibGtpZCBsaWJzZWxpbnV4IGxpYnV1aWQgCittb3VudDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK21vdW50cG9pbnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitwYXJ0eDogIGxpYmJsa2lkIGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorcHJsaW1pdDogIGxpYnNtYXJ0Y29scyAKK3B5bGlibW91bnQuc286ICBsaWJibGtpZCBsaWJtb3VudCBsaWJweXRob24yIGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK3NmZGlzazogIGxpYmJsa2lkIGxpYmZkaXNrIGxpYnJlYWRsaW5lIGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorc3dhcGxhYmVsOiAgbGliYmxraWQgbGlidXVpZCAKK3N3YXBvZmY6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitzd2Fwb246ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAordW1vdW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAordXVpZGQ6ICBsaWJydCBsaWJzeXN0ZW1kIGxpYnV1aWQgCit1dWlkZ2VuOiAgbGlidXVpZCAKK3dkY3RsOiAgbGlic21hcnRjb2xzIAord2lwZWZzOiAgbGliYmxraWQgbGlidXVpZCAKK3pyYW1jdGw6ICBsaWJzbWFydGNvbHMgCithZGRwYXJ0OiAgCithZ2V0dHk6ICAKK2Jsa2Rpc2NhcmQ6ICBsaWJydCAKK2Jsb2NrZGV2OiAgCitjYWw6ICBsaWJuY3Vyc2VzdyBsaWJ0aW5mbyAKK2NoY3B1OiAgCitjaGZuOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnB0aHJlYWQgbGlic2VsaW51eCBsaWJ1c2VyIAorY2hydDogIAorY2hzaDogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnNlbGludXggbGlidXNlciAKK2NvbDogIAorY29sY3J0OiAgCitjb2xybTogIAorY29sdW1uOiAgCitjdHJsYWx0ZGVsOiAgCitkZWxwYXJ0OiAgCitkbWVzZzogIGxpYnJ0IGxpYnRpbmZvIAorZmFsbG9jYXRlOiAgCitmZGZvcm1hdDogIAorZmxvY2s6ICBsaWJydCAKK2ZzY2suY3JhbWZzOiAgbGlieiAKK2ZzY2subWluaXg6ICAKK2ZzZnJlZXplOiAgCitnZXRvcHQ6ICAKK2hleGR1bXA6ICBsaWJ0aW5mbyAKK2h3Y2xvY2s6ICBsaWJhdWRpdCAKK2lvbmljZTogIAoraXBjbWs6ICAKK2lwY3JtOiAgCitpcGNzOiAgCitpc29zaXplOiAgCitraWxsOiAgCitsYXN0OiAgbGlicnQgCitsZGF0dGFjaDogIAorbG9nZ2VyOiAgbGlic3lzdGVtZCAKK2xvZ2luOiAgbGliYXVkaXQgbGlicGFtIGxpYnBhbV9taXNjIGxpYnNlbGludXggCitsb29rOiAgCittY29va2llOiAgCittZXNnOiAgCitta2ZzOiAgCitta2ZzLmJmczogIAorbWtmcy5jcmFtZnM6ICBsaWJ6IAorbWtmcy5taW5peDogIAorbW9yZTogIGxpYnRpbmZvIAorbmFtZWk6ICAKK25vbG9naW46ICAKK25zZW50ZXI6ICBsaWJzZWxpbnV4IAorcGl2b3Rfcm9vdDogIAorcmF3OiAgCityZWFkcHJvZmlsZTogIAorcmVuYW1lOiAgCityZW5pY2U6ICAKK3Jlc2l6ZXBhcnQ6ICAKK3JldjogIAorcnRjd2FrZTogIAorcnVudXNlcjogIGxpYnBhbSBsaWJwYW1fbWlzYyAKK3NjcmlwdDogIGxpYnJ0IGxpYnV0aWwgCitzY3JpcHRyZXBsYXk6ICAKK3NldGFyY2g6ICAKK3NldHByaXY6ICBhcC1uZyAKK3NldHNpZDogIAorc2V0dGVybTogIGxpYnRpbmZvIAorc3U6ICBsaWJwYW0gbGlicGFtX21pc2MgCitzdWxvZ2luOiAgbGlic2VsaW51eCByeXB0IAorc3dpdGNoX3Jvb3Q6ICAKK3RhaWxmOiAgCit0YXNrc2V0OiAgCit1bDogIGxpYnRpbmZvIAordW5zaGFyZTogIAordXRtcGR1bXA6ICAKK3dhbGw6ICAKK3doZXJlaXM6ICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctY2hmbnNoLW5vLXBhc3N3b3JkIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1jaGZuc2gtbm8tcGFzc3dvcmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzVmOWM5YQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctY2hmbnNoLW5vLXBhc3N3b3JkCkBAIC0wLDAgKzEsMTA3IEBACitibGtpZDogIGxpYmJsa2lkIGxpYnV1aWQgCitjZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJtb3VudCBsaWJuY3Vyc2VzdyBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorZWplY3Q6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitmZGlzazogIGxpYmJsa2lkIGxpYmZkaXNrIGxpYnJlYWRsaW5lIGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorZmluZGZzOiAgbGliYmxraWQgbGlidXVpZCAKK2ZpbmRtbnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitmc2NrOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorZnN0cmltOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorbGliYmxraWQuc28uMS4xLjA6ICBsaWJ1dWlkIAorbGliZmRpc2suc28uMS4xLjA6ICBsaWJibGtpZCBsaWJ1dWlkIAorbGlibW91bnQuc28uMS4xLjA6ICBsaWJibGtpZCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitsaWJzbWFydGNvbHMuc28uMS4xLjA6ICAKK2xpYnV1aWQuc28uMS4zLjA6ICAKK2xvc2V0dXA6ICBsaWJzbWFydGNvbHMgCitsc2JsazogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlic21hcnRjb2xzIGxpYnVkZXYgbGlidXVpZCAKK2xzY3B1OiAgbGlic21hcnRjb2xzIAorbHNpcGM6ICBsaWJzbWFydGNvbHMgCitsc2xvY2tzOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK2xzbG9naW5zOiAgbGlic2VsaW51eCBsaWJzbWFydGNvbHMgbGlic3lzdGVtZCAKK2xzbnM6ICBsaWJzbWFydGNvbHMgCitta3N3YXA6ICBsaWJibGtpZCBsaWJzZWxpbnV4IGxpYnV1aWQgCittb3VudDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK21vdW50cG9pbnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitwYXJ0eDogIGxpYmJsa2lkIGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorcHJsaW1pdDogIGxpYnNtYXJ0Y29scyAKK3B5bGlibW91bnQuc286ICBsaWJibGtpZCBsaWJtb3VudCBsaWJweXRob24yIGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK3NmZGlzazogIGxpYmJsa2lkIGxpYmZkaXNrIGxpYnJlYWRsaW5lIGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorc3dhcGxhYmVsOiAgbGliYmxraWQgbGlidXVpZCAKK3N3YXBvZmY6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitzd2Fwb246ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAordW1vdW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAordXVpZGQ6ICBsaWJydCBsaWJzeXN0ZW1kIGxpYnV1aWQgCit1dWlkZ2VuOiAgbGlidXVpZCAKK3dkY3RsOiAgbGlic21hcnRjb2xzIAord2lwZWZzOiAgbGliYmxraWQgbGlidXVpZCAKK3pyYW1jdGw6ICBsaWJzbWFydGNvbHMgCithZGRwYXJ0OiAgCithZ2V0dHk6ICAKK2Jsa2Rpc2NhcmQ6ICBsaWJydCAKK2Jsb2NrZGV2OiAgCitjYWw6ICBsaWJuY3Vyc2VzdyBsaWJ0aW5mbyAKK2NoY3B1OiAgCitjaGZuOiAgbGlic2VsaW51eCAKK2NocnQ6ICAKK2Noc2g6ICBsaWJzZWxpbnV4IAorY29sOiAgCitjb2xjcnQ6ICAKK2NvbHJtOiAgCitjb2x1bW46ICAKK2N0cmxhbHRkZWw6ICAKK2RlbHBhcnQ6ICAKK2RtZXNnOiAgbGlicnQgbGlidGluZm8gCitmYWxsb2NhdGU6ICAKK2ZkZm9ybWF0OiAgCitmbG9jazogIGxpYnJ0IAorZnNjay5jcmFtZnM6ICBsaWJ6IAorZnNjay5taW5peDogIAorZnNmcmVlemU6ICAKK2dldG9wdDogIAoraGV4ZHVtcDogIGxpYnRpbmZvIAoraHdjbG9jazogIGxpYmF1ZGl0IAoraW9uaWNlOiAgCitpcGNtazogIAoraXBjcm06ICAKK2lwY3M6ICAKK2lzb3NpemU6ICAKK2tpbGw6ICAKK2xhc3Q6ICBsaWJydCAKK2xkYXR0YWNoOiAgCitsb2dnZXI6ICBsaWJzeXN0ZW1kIAorbG9naW46ICBsaWJhdWRpdCBsaWJwYW0gbGlicGFtX21pc2MgbGlic2VsaW51eCAKK2xvb2s6ICAKK21jb29raWU6ICAKK21lc2c6ICAKK21rZnM6ICAKK21rZnMuYmZzOiAgCitta2ZzLmNyYW1mczogIGxpYnogCitta2ZzLm1pbml4OiAgCittb3JlOiAgbGlidGluZm8gCituYW1laTogIAorbm9sb2dpbjogIAorbnNlbnRlcjogIGxpYnNlbGludXggCitwaXZvdF9yb290OiAgCityYXc6ICAKK3JlYWRwcm9maWxlOiAgCityZW5hbWU6ICAKK3JlbmljZTogIAorcmVzaXplcGFydDogIAorcmV2OiAgCitydGN3YWtlOiAgCitydW51c2VyOiAgbGlicGFtIGxpYnBhbV9taXNjIAorc2NyaXB0OiAgbGlicnQgbGlidXRpbCAKK3NjcmlwdHJlcGxheTogIAorc2V0YXJjaDogIAorc2V0cHJpdjogIGFwLW5nIAorc2V0c2lkOiAgCitzZXR0ZXJtOiAgbGlidGluZm8gCitzdTogIGxpYnBhbSBsaWJwYW1fbWlzYyAKK3N1bG9naW46ICBsaWJzZWxpbnV4IHJ5cHQgCitzd2l0Y2hfcm9vdDogIAordGFpbGY6ICAKK3Rhc2tzZXQ6ICAKK3VsOiAgbGlidGluZm8gCit1bnNoYXJlOiAgCit1dG1wZHVtcDogIAord2FsbDogIAord2hlcmVpczogIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1jaGZuc2gtcGFtIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1jaGZuc2gtcGFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3YmVlN2IKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWNoZm5zaC1wYW0KQEAgLTAsMCArMSwxMDcgQEAKK2Jsa2lkOiAgbGliYmxraWQgbGlidXVpZCAKK2NmZGlzazogIGxpYmJsa2lkIGxpYmZkaXNrIGxpYm1vdW50IGxpYm5jdXJzZXN3IGxpYnJ0IGxpYnNlbGludXggbGlic21hcnRjb2xzIGxpYnRpbmZvIGxpYnV1aWQgCitlamVjdDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK2ZkaXNrOiAgbGliYmxraWQgbGliZmRpc2sgbGlicmVhZGxpbmUgbGlic21hcnRjb2xzIGxpYnRpbmZvIGxpYnV1aWQgCitmaW5kZnM6ICBsaWJibGtpZCBsaWJ1dWlkIAorZmluZG1udDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlic21hcnRjb2xzIGxpYnVkZXYgbGlidXVpZCAKK2ZzY2s6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitmc3RyaW06ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitsaWJibGtpZC5zby4xLjEuMDogIGxpYnV1aWQgCitsaWJmZGlzay5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnV1aWQgCitsaWJtb3VudC5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK2xpYnNtYXJ0Y29scy5zby4xLjEuMDogIAorbGlidXVpZC5zby4xLjMuMDogIAorbG9zZXR1cDogIGxpYnNtYXJ0Y29scyAKK2xzYmxrOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJzbWFydGNvbHMgbGlidWRldiBsaWJ1dWlkIAorbHNjcHU6ICBsaWJzbWFydGNvbHMgCitsc2lwYzogIGxpYnNtYXJ0Y29scyAKK2xzbG9ja3M6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorbHNsb2dpbnM6ICBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJzeXN0ZW1kIAorbHNuczogIGxpYnNtYXJ0Y29scyAKK21rc3dhcDogIGxpYmJsa2lkIGxpYnNlbGludXggbGlidXVpZCAKK21vdW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorbW91bnRwb2ludDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK3BhcnR4OiAgbGliYmxraWQgbGlic21hcnRjb2xzIGxpYnV1aWQgCitwcmxpbWl0OiAgbGlic21hcnRjb2xzIAorcHlsaWJtb3VudC5zbzogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnB5dGhvbjIgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorc2ZkaXNrOiAgbGliYmxraWQgbGliZmRpc2sgbGlicmVhZGxpbmUgbGlic21hcnRjb2xzIGxpYnRpbmZvIGxpYnV1aWQgCitzd2FwbGFiZWw6ICBsaWJibGtpZCBsaWJ1dWlkIAorc3dhcG9mZjogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK3N3YXBvbjogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlic21hcnRjb2xzIGxpYnV1aWQgCit1bW91bnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCit1dWlkZDogIGxpYnJ0IGxpYnN5c3RlbWQgbGlidXVpZCAKK3V1aWRnZW46ICBsaWJ1dWlkIAord2RjdGw6ICBsaWJzbWFydGNvbHMgCit3aXBlZnM6ICBsaWJibGtpZCBsaWJ1dWlkIAorenJhbWN0bDogIGxpYnNtYXJ0Y29scyAKK2FkZHBhcnQ6ICAKK2FnZXR0eTogIAorYmxrZGlzY2FyZDogIGxpYnJ0IAorYmxvY2tkZXY6ICAKK2NhbDogIGxpYm5jdXJzZXN3IGxpYnRpbmZvIAorY2hjcHU6ICAKK2NoZm46ICBsaWJwYW0gbGlicGFtX21pc2MgbGlic2VsaW51eCAKK2NocnQ6ICAKK2Noc2g6ICBsaWJwYW0gbGlicGFtX21pc2MgbGlic2VsaW51eCAKK2NvbDogIAorY29sY3J0OiAgCitjb2xybTogIAorY29sdW1uOiAgCitjdHJsYWx0ZGVsOiAgCitkZWxwYXJ0OiAgCitkbWVzZzogIGxpYnJ0IGxpYnRpbmZvIAorZmFsbG9jYXRlOiAgCitmZGZvcm1hdDogIAorZmxvY2s6ICBsaWJydCAKK2ZzY2suY3JhbWZzOiAgbGlieiAKK2ZzY2subWluaXg6ICAKK2ZzZnJlZXplOiAgCitnZXRvcHQ6ICAKK2hleGR1bXA6ICBsaWJ0aW5mbyAKK2h3Y2xvY2s6ICBsaWJhdWRpdCAKK2lvbmljZTogIAoraXBjbWs6ICAKK2lwY3JtOiAgCitpcGNzOiAgCitpc29zaXplOiAgCitraWxsOiAgCitsYXN0OiAgbGlicnQgCitsZGF0dGFjaDogIAorbG9nZ2VyOiAgbGlic3lzdGVtZCAKK2xvZ2luOiAgbGliYXVkaXQgbGlicGFtIGxpYnBhbV9taXNjIGxpYnNlbGludXggCitsb29rOiAgCittY29va2llOiAgCittZXNnOiAgCitta2ZzOiAgCitta2ZzLmJmczogIAorbWtmcy5jcmFtZnM6ICBsaWJ6IAorbWtmcy5taW5peDogIAorbW9yZTogIGxpYnRpbmZvIAorbmFtZWk6ICAKK25vbG9naW46ICAKK25zZW50ZXI6ICBsaWJzZWxpbnV4IAorcGl2b3Rfcm9vdDogIAorcmF3OiAgCityZWFkcHJvZmlsZTogIAorcmVuYW1lOiAgCityZW5pY2U6ICAKK3Jlc2l6ZXBhcnQ6ICAKK3JldjogIAorcnRjd2FrZTogIAorcnVudXNlcjogIGxpYnBhbSBsaWJwYW1fbWlzYyAKK3NjcmlwdDogIGxpYnJ0IGxpYnV0aWwgCitzY3JpcHRyZXBsYXk6ICAKK3NldGFyY2g6ICAKK3NldHByaXY6ICBhcC1uZyAKK3NldHNpZDogIAorc2V0dGVybTogIGxpYnRpbmZvIAorc3U6ICBsaWJwYW0gbGlicGFtX21pc2MgCitzdWxvZ2luOiAgbGlic2VsaW51eCByeXB0IAorc3dpdGNoX3Jvb3Q6ICAKK3RhaWxmOiAgCit0YXNrc2V0OiAgCit1bDogIGxpYnRpbmZvIAordW5zaGFyZTogIAordXRtcGR1bXA6ICAKK3dhbGw6ICAKK3doZXJlaXM6ICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctY29yZSBiL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctY29yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OWY1MjhkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1jb3JlCkBAIC0wLDAgKzEsMTA3IEBACitibGtpZDogIGxpYmJsa2lkIGxpYnV1aWQgCitjZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJtb3VudCBsaWJuY3Vyc2VzdyBsaWJydCBsaWJzbWFydGNvbHMgbGlidGluZm8gbGlidXVpZCAKK2VqZWN0OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK2ZkaXNrOiAgbGliYmxraWQgbGliZmRpc2sgbGlicmVhZGxpbmUgbGlic21hcnRjb2xzIGxpYnRpbmZvIGxpYnV1aWQgCitmaW5kZnM6ICBsaWJibGtpZCBsaWJ1dWlkIAorZmluZG1udDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitmc2NrOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK2ZzdHJpbTogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitsaWJibGtpZC5zby4xLjEuMDogIGxpYnV1aWQgCitsaWJmZGlzay5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnV1aWQgCitsaWJtb3VudC5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnJ0IGxpYnV1aWQgCitsaWJzbWFydGNvbHMuc28uMS4xLjA6ICAKK2xpYnV1aWQuc28uMS4zLjA6ICAKK2xvc2V0dXA6ICBsaWJzbWFydGNvbHMgCitsc2JsazogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitsc2NwdTogIGxpYnNtYXJ0Y29scyAKK2xzaXBjOiAgbGlic21hcnRjb2xzIAorbHNsb2NrczogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorbHNsb2dpbnM6ICBsaWJzbWFydGNvbHMgbGlic3lzdGVtZCAKK2xzbnM6ICBsaWJzbWFydGNvbHMgCitta3N3YXA6ICBsaWJibGtpZCBsaWJ1dWlkIAorbW91bnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJ1dWlkIAorbW91bnRwb2ludDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitwYXJ0eDogIGxpYmJsa2lkIGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorcHJsaW1pdDogIGxpYnNtYXJ0Y29scyAKK3B5bGlibW91bnQuc286ICBsaWJibGtpZCBsaWJtb3VudCBsaWJweXRob24yIGxpYnJ0IGxpYnV1aWQgCitzZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJyZWFkbGluZSBsaWJzbWFydGNvbHMgbGlidGluZm8gbGlidXVpZCAKK3N3YXBsYWJlbDogIGxpYmJsa2lkIGxpYnV1aWQgCitzd2Fwb2ZmOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK3N3YXBvbjogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAordW1vdW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK3V1aWRkOiAgbGlicnQgbGlic3lzdGVtZCBsaWJ1dWlkIAordXVpZGdlbjogIGxpYnV1aWQgCit3ZGN0bDogIGxpYnNtYXJ0Y29scyAKK3dpcGVmczogIGxpYmJsa2lkIGxpYnV1aWQgCit6cmFtY3RsOiAgbGlic21hcnRjb2xzIAorYWRkcGFydDogIAorYWdldHR5OiAgCitibGtkaXNjYXJkOiAgbGlicnQgCitibG9ja2RldjogIAorY2FsOiAgbGlibmN1cnNlc3cgbGlidGluZm8gCitjaGNwdTogIAorY2hmbjogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnVzZXIgCitjaHJ0OiAgCitjaHNoOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnB0aHJlYWQgbGlidXNlciAKK2NvbDogIAorY29sY3J0OiAgCitjb2xybTogIAorY29sdW1uOiAgCitjdHJsYWx0ZGVsOiAgCitkZWxwYXJ0OiAgCitkbWVzZzogIGxpYnJ0IGxpYnRpbmZvIAorZmFsbG9jYXRlOiAgCitmZGZvcm1hdDogIAorZmxvY2s6ICBsaWJydCAKK2ZzY2suY3JhbWZzOiAgbGlieiAKK2ZzY2subWluaXg6ICAKK2ZzZnJlZXplOiAgCitnZXRvcHQ6ICAKK2hleGR1bXA6ICBsaWJ0aW5mbyAKK2h3Y2xvY2s6ICAKK2lvbmljZTogIAoraXBjbWs6ICAKK2lwY3JtOiAgCitpcGNzOiAgCitpc29zaXplOiAgCitraWxsOiAgCitsYXN0OiAgbGlicnQgCitsZGF0dGFjaDogIAorbG9nZ2VyOiAgbGlic3lzdGVtZCAKK2xvZ2luOiAgbGlicGFtIGxpYnBhbV9taXNjIAorbG9vazogIAorbWNvb2tpZTogIAorbWVzZzogIAorbWtmczogIAorbWtmcy5iZnM6ICAKK21rZnMuY3JhbWZzOiAgbGlieiAKK21rZnMubWluaXg6ICAKK21vcmU6ICBsaWJ0aW5mbyAKK25hbWVpOiAgCitub2xvZ2luOiAgCituc2VudGVyOiAgCitwaXZvdF9yb290OiAgCityYXc6ICAKK3JlYWRwcm9maWxlOiAgCityZW5hbWU6ICAKK3JlbmljZTogIAorcmVzaXplcGFydDogIAorcmV2OiAgCitydGN3YWtlOiAgCitydW51c2VyOiAgbGlicGFtIGxpYnBhbV9taXNjIAorc2NyaXB0OiAgbGlicnQgbGlidXRpbCAKK3NjcmlwdHJlcGxheTogIAorc2V0YXJjaDogIAorc2V0cHJpdjogIGFwLW5nIAorc2V0c2lkOiAgCitzZXR0ZXJtOiAgbGlidGluZm8gCitzdTogIGxpYnBhbSBsaWJwYW1fbWlzYyAKK3N1bG9naW46ICByeXB0IAorc3dpdGNoX3Jvb3Q6ICAKK3RhaWxmOiAgCit0YXNrc2V0OiAgCit1bDogIGxpYnRpbmZvIAordW5zaGFyZTogIAordXRtcGR1bXA6ICAKK3dhbGw6ICAKK3doZXJlaXM6ICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctZGV2ZWwgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWRldmVsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1NDRkNjMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWRldmVsCkBAIC0wLDAgKzEsMTEzIEBACitibGtpZDogIGxpYmJsa2lkIGxpYnV1aWQgCitjZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJtb3VudCBsaWJuY3Vyc2VzdyBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorZWplY3Q6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitmZGlzazogIGxpYmJsa2lkIGxpYmZkaXNrIGxpYnJlYWRsaW5lIGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorZmluZGZzOiAgbGliYmxraWQgbGlidXVpZCAKK2ZpbmRtbnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitmc2NrOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorZnN0cmltOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorbGliYmxraWQuc28uMS4xLjA6ICBsaWJ1dWlkIAorbGliZmRpc2suc28uMS4xLjA6ICBsaWJibGtpZCBsaWJ1dWlkIAorbGlibW91bnQuc28uMS4xLjA6ICBsaWJibGtpZCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitsaWJzbWFydGNvbHMuc28uMS4xLjA6ICAKK2xpYnV1aWQuc28uMS4zLjA6ICAKK2xvc2V0dXA6ICBsaWJzbWFydGNvbHMgCitsc2JsazogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlic21hcnRjb2xzIGxpYnVkZXYgbGlidXVpZCAKK2xzY3B1OiAgbGlic21hcnRjb2xzIAorbHNpcGM6ICBsaWJzbWFydGNvbHMgCitsc2xvY2tzOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK2xzbG9naW5zOiAgbGlic2VsaW51eCBsaWJzbWFydGNvbHMgbGlic3lzdGVtZCAKK2xzbnM6ICBsaWJzbWFydGNvbHMgCitta3N3YXA6ICBsaWJibGtpZCBsaWJzZWxpbnV4IGxpYnV1aWQgCittb3VudDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK21vdW50cG9pbnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitwYXJ0eDogIGxpYmJsa2lkIGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorcHJsaW1pdDogIGxpYnNtYXJ0Y29scyAKK3B5bGlibW91bnQuc286ICBsaWJibGtpZCBsaWJtb3VudCBsaWJweXRob24yIGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK3NmZGlzazogIGxpYmJsa2lkIGxpYmZkaXNrIGxpYnJlYWRsaW5lIGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorc3dhcGxhYmVsOiAgbGliYmxraWQgbGlidXVpZCAKK3N3YXBvZmY6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitzd2Fwb246ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAordW1vdW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAordXVpZGQ6ICBsaWJydCBsaWJzeXN0ZW1kIGxpYnV1aWQgCit1dWlkZ2VuOiAgbGlidXVpZCAKK3dkY3RsOiAgbGlic21hcnRjb2xzIAord2lwZWZzOiAgbGliYmxraWQgbGlidXVpZCAKK3pyYW1jdGw6ICBsaWJzbWFydGNvbHMgCithZGRwYXJ0OiAgCithZ2V0dHk6ICAKK2Jsa2Rpc2NhcmQ6ICBsaWJydCAKK2Jsb2NrZGV2OiAgCitjYWw6ICBsaWJuY3Vyc2VzdyBsaWJ0aW5mbyAKK2NoY3B1OiAgCitjaGZuOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnB0aHJlYWQgbGlic2VsaW51eCBsaWJ1c2VyIAorY2hydDogIAorY2hzaDogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnNlbGludXggbGlidXNlciAKK2NvbDogIAorY29sY3J0OiAgCitjb2xybTogIAorY29sdW1uOiAgCitjdHJsYWx0ZGVsOiAgCitkZWxwYXJ0OiAgCitkbWVzZzogIGxpYnJ0IGxpYnRpbmZvIAorZmFsbG9jYXRlOiAgCitmZGZvcm1hdDogIAorZmxvY2s6ICBsaWJydCAKK2ZzY2suY3JhbWZzOiAgbGlieiAKK2ZzY2subWluaXg6ICAKK2ZzZnJlZXplOiAgCitnZXRvcHQ6ICAKK2hleGR1bXA6ICBsaWJ0aW5mbyAKK2h3Y2xvY2s6ICBsaWJhdWRpdCAKK2lvbmljZTogIAoraXBjbWs6ICAKK2lwY3JtOiAgCitpcGNzOiAgCitpc29zaXplOiAgCitraWxsOiAgCitsYXN0OiAgbGlicnQgCitsZGF0dGFjaDogIAorbGluZTogIAorbG9nZ2VyOiAgbGlic3lzdGVtZCAKK2xvZ2luOiAgbGliYXVkaXQgbGlicGFtIGxpYnBhbV9taXNjIGxpYnNlbGludXggCitsb29rOiAgCittY29va2llOiAgCittZXNnOiAgCitta2ZzOiAgCitta2ZzLmJmczogIAorbWtmcy5jcmFtZnM6ICBsaWJ6IAorbWtmcy5taW5peDogIAorbW9yZTogIGxpYnRpbmZvIAorbmFtZWk6ICAKK25ld2dycDogIHJ5cHQgCitub2xvZ2luOiAgCituc2VudGVyOiAgbGlic2VsaW51eCAKK3BnOiAgbGlibmN1cnNlc3cgbGlidGluZm8gCitwaXZvdF9yb290OiAgCityYXc6ICAKK3JlYWRwcm9maWxlOiAgCityZW5hbWU6ICAKK3JlbmljZTogIAorcmVzaXplcGFydDogIAorcmV2OiAgCitydGN3YWtlOiAgCitydW51c2VyOiAgbGlicGFtIGxpYnBhbV9taXNjIAorc2NyaXB0OiAgbGlicnQgbGlidXRlbXB0ZXIgbGlidXRpbCAKK3NjcmlwdHJlcGxheTogIAorc2V0YXJjaDogIAorc2V0cHJpdjogIGFwLW5nIAorc2V0c2lkOiAgCitzZXR0ZXJtOiAgbGlidGluZm8gCitzdTogIGxpYnBhbSBsaWJwYW1fbWlzYyAKK3N1bG9naW46ICBsaWJzZWxpbnV4IHJ5cHQgCitzd2l0Y2hfcm9vdDogIAordGFpbGY6ICAKK3Rhc2tzZXQ6ICAKK3R1bmVscDogIAordWw6ICBsaWJ0aW5mbyAKK3Vuc2hhcmU6ICAKK3V0bXBkdW1wOiAgCit2aXB3OiAgbGlic2VsaW51eCAKK3dhbGw6ICAKK3doZXJlaXM6ICAKK3dyaXRlOiAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWRldmVsLW5ldy1tb3VudCBiL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctZGV2ZWwtbmV3LW1vdW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1NmJlNmMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWRldmVsLW5ldy1tb3VudApAQCAtMCwwICsxLDEyMyBAQAorbWtzd2FwOiAgbGliYmxraWQgbGlic2VsaW51eCBsaWJ1dWlkIAorc3dhcGxhYmVsOiAgbGliYmxraWQgbGlidXVpZCAKK2Jsb2NrZGV2OiAgCitmZGZvcm1hdDogIAorZnNjay5jcmFtZnM6ICBsaWJ6IAorZnNjay5taW5peDogIAoraXNvc2l6ZTogIAorbWtmczogIAorbWtmcy5iZnM6ICAKK21rZnMuY3JhbWZzOiAgbGlieiAKK21rZnMubWluaXg6ICAKK3JhdzogIAorY2ZkaXNrOiAgbGliYmxraWQgbGlibmN1cnNlc3cgbGlidGluZm8gbGlidXVpZCAKK2ZkaXNrOiAgbGliYmxraWQgbGlidXVpZCAKK2ZkaXNrLnN0YXRpYzogU1RBVElDCitzZmRpc2s6ICAKK3NmZGlzay5zdGF0aWM6IFNUQVRJQworZnNjazogIGxpYmJsa2lkIGxpYnV1aWQgCitnZXRvcHQ6ICAKK2h3Y2xvY2s6ICBsaWJhdWRpdCAKK3Rlc3RfYXQ6ICAKK3Rlc3RfYmxrZGV2OiAgCit0ZXN0X2Nhbm9uaWNhbGl6ZTogIAordGVzdF9jcHVzZXQ6ICAKK3Rlc3RfaXNtb3VudGVkOiAgCit0ZXN0X2xvb3BkZXY6ICAKK3Rlc3RfbWFuZ2xlOiAgCit0ZXN0X3Byb2N1dGlsczogIAordGVzdF9zdHJ1dGlsczogIAordGVzdF9zeXNmczogIAordGVzdF93aG9sZWRpc2s6ICAKK21rZnM6ICBsaWJibGtpZCBsaWJ1dWlkIAorcGFydGl0aW9uczogIGxpYmJsa2lkIGxpYnV1aWQgCitzdXBlcmJsb2NrczogIGxpYmJsa2lkIGxpYnV1aWQgCit0b3BvbG9neTogIGxpYmJsa2lkIGxpYnV1aWQgCitsaWJibGtpZC5zby4xLjEuMDogIGxpYnV1aWQgCitsaWJtb3VudC5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnNlbGludXggbGlic2Vwb2wgbGlidXVpZCAKK2xpYnV1aWQuc28uMS4zLjA6ICBsZC1saW51eC14ODYtNjQgCit0c3RfdXVpZDogIGxpYnV1aWQgCitjaGZuOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnNlbGludXggCitjaHNoOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnNlbGludXggCitsYXN0OiAgCitsb2dpbjogIGxpYmF1ZGl0IGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJzZWxpbnV4IAorbmV3Z3JwOiAgcnlwdCAKK3Rlc3RfaXNsb2NhbDogIAordGVzdF9sb2dpbmRlZnM6ICAKK3ZpcHc6ICBsaWJzZWxpbnV4IAorYmxraWQ6ICBsaWJibGtpZCBsaWJ1dWlkIAorZmluZGZzOiAgbGliYmxraWQgbGlidXVpZCAKK2ZpbmRtbnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJzZWxpbnV4IGxpYnNlcG9sIGxpYnV1aWQgCitsc2JsazogIGxpYmJsa2lkIGxpYnVkZXYgbGlidXVpZCAKK3V1aWRkOiAgbGlidXVpZCAKK3V1aWRnZW46ICBsaWJ1dWlkIAord2lwZWZzOiAgbGliYmxraWQgbGlidXVpZCAKK2Jsa2lkLnN0YXRpYzogU1RBVElDCitjYWw6ICBsaWJuY3Vyc2VzdyBsaWJ0aW5mbyAKK2tpbGw6ICAKK2xvZ2dlcjogIAorbG9vazogIAorbHNsb2NrczogIAorbWNvb2tpZTogIAorbmFtZWk6ICAKK3JlbmFtZTogIAord2hlcmVpczogIAorcGFydHg6ICBsaWJibGtpZCBsaWJ1dWlkIAorYWRkcGFydDogIAorZGVscGFydDogIAorY2hydDogIAoraW9uaWNlOiAgCit0YXNrc2V0OiAgCittb3VudDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnNlbGludXggbGlic2Vwb2wgbGlidXVpZCAKK21vdW50cG9pbnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJzZWxpbnV4IGxpYnNlcG9sIGxpYnV1aWQgCitzd2Fwb246ICBsaWJibGtpZCBsaWJ1dWlkIAordW1vdW50OiAgbGliYmxraWQgbGlibW91bnQgbGlic2VsaW51eCBsaWJzZXBvbCBsaWJ1dWlkIAorYXJjaDogIAorY2hjcHU6ICAKK2N0cmxhbHRkZWw6ICAKK2RtZXNnOiAgCitmYWxsb2NhdGU6ICAKK2Zsb2NrOiAgCitmc2ZyZWV6ZTogIAorZnN0cmltOiAgCitpcGNtazogIAoraXBjcm06ICAKK2lwY3M6ICAKK2xkYXR0YWNoOiAgCitsb3NldHVwOiAgCitsb3NldHVwLnN0YXRpYzogU1RBVElDCitsc2NwdTogIAorbW91bnQuc3RhdGljOiBTVEFUSUMKK3Bpdm90X3Jvb3Q6ICAKK3BybGltaXQ6ICAKK3JlYWRwcm9maWxlOiAgCityZW5pY2U6ICAKK3J0Y3dha2U6ICAKK3NldGFyY2g6ICAKK3NldHNpZDogIAorc3dpdGNoX3Jvb3Q6ICAKK3R1bmVscDogIAordW1vdW50LnN0YXRpYzogU1RBVElDCit1bnNoYXJlOiAgCithZ2V0dHk6ICAKK21lc2c6ICAKK3NjcmlwdDogIGxpYnV0ZW1wdGVyIGxpYnV0aWwgCitzY3JpcHRyZXBsYXk6ICAKK3NldHRlcm06ICBsaWJ0aW5mbyAKK3dhbGw6ICAKK3dyaXRlOiAgCit0ZXN0X2J5dGVzd2FwOiAgCit0ZXN0X21kNTogIAordGVzdF9wYXRobmFtZXM6ICAKK3Rlc3Rfc3lzaW5mbzogIAorY29sOiAgCitjb2xjcnQ6ICAKK2NvbHJtOiAgCitjb2x1bW46ICAKK2hleGR1bXA6ICAKK2xpbmU6ICAKK21vcmU6ICBsaWJ0aW5mbyAKK3BnOiAgbGlibmN1cnNlc3cgbGlidGluZm8gCityZXY6ICAKK3RhaWxmOiAgCit1bDogIGxpYnRpbmZvIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1kZXZlbC1ub24tZG9jcyBiL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctZGV2ZWwtbm9uLWRvY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjU0NGQ2MwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctZGV2ZWwtbm9uLWRvY3MKQEAgLTAsMCArMSwxMTMgQEAKK2Jsa2lkOiAgbGliYmxraWQgbGlidXVpZCAKK2NmZGlzazogIGxpYmJsa2lkIGxpYmZkaXNrIGxpYm1vdW50IGxpYm5jdXJzZXN3IGxpYnJ0IGxpYnNlbGludXggbGlic21hcnRjb2xzIGxpYnRpbmZvIGxpYnV1aWQgCitlamVjdDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK2ZkaXNrOiAgbGliYmxraWQgbGliZmRpc2sgbGlicmVhZGxpbmUgbGlic21hcnRjb2xzIGxpYnRpbmZvIGxpYnV1aWQgCitmaW5kZnM6ICBsaWJibGtpZCBsaWJ1dWlkIAorZmluZG1udDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlic21hcnRjb2xzIGxpYnVkZXYgbGlidXVpZCAKK2ZzY2s6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitmc3RyaW06ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitsaWJibGtpZC5zby4xLjEuMDogIGxpYnV1aWQgCitsaWJmZGlzay5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnV1aWQgCitsaWJtb3VudC5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK2xpYnNtYXJ0Y29scy5zby4xLjEuMDogIAorbGlidXVpZC5zby4xLjMuMDogIAorbG9zZXR1cDogIGxpYnNtYXJ0Y29scyAKK2xzYmxrOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJzbWFydGNvbHMgbGlidWRldiBsaWJ1dWlkIAorbHNjcHU6ICBsaWJzbWFydGNvbHMgCitsc2lwYzogIGxpYnNtYXJ0Y29scyAKK2xzbG9ja3M6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorbHNsb2dpbnM6ICBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJzeXN0ZW1kIAorbHNuczogIGxpYnNtYXJ0Y29scyAKK21rc3dhcDogIGxpYmJsa2lkIGxpYnNlbGludXggbGlidXVpZCAKK21vdW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorbW91bnRwb2ludDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK3BhcnR4OiAgbGliYmxraWQgbGlic21hcnRjb2xzIGxpYnV1aWQgCitwcmxpbWl0OiAgbGlic21hcnRjb2xzIAorcHlsaWJtb3VudC5zbzogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnB5dGhvbjIgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorc2ZkaXNrOiAgbGliYmxraWQgbGliZmRpc2sgbGlicmVhZGxpbmUgbGlic21hcnRjb2xzIGxpYnRpbmZvIGxpYnV1aWQgCitzd2FwbGFiZWw6ICBsaWJibGtpZCBsaWJ1dWlkIAorc3dhcG9mZjogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK3N3YXBvbjogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlic21hcnRjb2xzIGxpYnV1aWQgCit1bW91bnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCit1dWlkZDogIGxpYnJ0IGxpYnN5c3RlbWQgbGlidXVpZCAKK3V1aWRnZW46ICBsaWJ1dWlkIAord2RjdGw6ICBsaWJzbWFydGNvbHMgCit3aXBlZnM6ICBsaWJibGtpZCBsaWJ1dWlkIAorenJhbWN0bDogIGxpYnNtYXJ0Y29scyAKK2FkZHBhcnQ6ICAKK2FnZXR0eTogIAorYmxrZGlzY2FyZDogIGxpYnJ0IAorYmxvY2tkZXY6ICAKK2NhbDogIGxpYm5jdXJzZXN3IGxpYnRpbmZvIAorY2hjcHU6ICAKK2NoZm46ICBsaWJwYW0gbGlicGFtX21pc2MgbGlicHRocmVhZCBsaWJzZWxpbnV4IGxpYnVzZXIgCitjaHJ0OiAgCitjaHNoOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnB0aHJlYWQgbGlic2VsaW51eCBsaWJ1c2VyIAorY29sOiAgCitjb2xjcnQ6ICAKK2NvbHJtOiAgCitjb2x1bW46ICAKK2N0cmxhbHRkZWw6ICAKK2RlbHBhcnQ6ICAKK2RtZXNnOiAgbGlicnQgbGlidGluZm8gCitmYWxsb2NhdGU6ICAKK2ZkZm9ybWF0OiAgCitmbG9jazogIGxpYnJ0IAorZnNjay5jcmFtZnM6ICBsaWJ6IAorZnNjay5taW5peDogIAorZnNmcmVlemU6ICAKK2dldG9wdDogIAoraGV4ZHVtcDogIGxpYnRpbmZvIAoraHdjbG9jazogIGxpYmF1ZGl0IAoraW9uaWNlOiAgCitpcGNtazogIAoraXBjcm06ICAKK2lwY3M6ICAKK2lzb3NpemU6ICAKK2tpbGw6ICAKK2xhc3Q6ICBsaWJydCAKK2xkYXR0YWNoOiAgCitsaW5lOiAgCitsb2dnZXI6ICBsaWJzeXN0ZW1kIAorbG9naW46ICBsaWJhdWRpdCBsaWJwYW0gbGlicGFtX21pc2MgbGlic2VsaW51eCAKK2xvb2s6ICAKK21jb29raWU6ICAKK21lc2c6ICAKK21rZnM6ICAKK21rZnMuYmZzOiAgCitta2ZzLmNyYW1mczogIGxpYnogCitta2ZzLm1pbml4OiAgCittb3JlOiAgbGlidGluZm8gCituYW1laTogIAorbmV3Z3JwOiAgcnlwdCAKK25vbG9naW46ICAKK25zZW50ZXI6ICBsaWJzZWxpbnV4IAorcGc6ICBsaWJuY3Vyc2VzdyBsaWJ0aW5mbyAKK3Bpdm90X3Jvb3Q6ICAKK3JhdzogIAorcmVhZHByb2ZpbGU6ICAKK3JlbmFtZTogIAorcmVuaWNlOiAgCityZXNpemVwYXJ0OiAgCityZXY6ICAKK3J0Y3dha2U6ICAKK3J1bnVzZXI6ICBsaWJwYW0gbGlicGFtX21pc2MgCitzY3JpcHQ6ICBsaWJydCBsaWJ1dGVtcHRlciBsaWJ1dGlsIAorc2NyaXB0cmVwbGF5OiAgCitzZXRhcmNoOiAgCitzZXRwcml2OiAgYXAtbmcgCitzZXRzaWQ6ICAKK3NldHRlcm06ICBsaWJ0aW5mbyAKK3N1OiAgbGlicGFtIGxpYnBhbV9taXNjIAorc3Vsb2dpbjogIGxpYnNlbGludXggcnlwdCAKK3N3aXRjaF9yb290OiAgCit0YWlsZjogIAordGFza3NldDogIAordHVuZWxwOiAgCit1bDogIGxpYnRpbmZvIAordW5zaGFyZTogIAordXRtcGR1bXA6ICAKK3ZpcHc6ICBsaWJzZWxpbnV4IAord2FsbDogIAord2hlcmVpczogIAord3JpdGU6ICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctZGlzYWJsZS1hbGwgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWRpc2FibGUtYWxsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWRpc2FibGUtYWxsCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWVuYWJsZS1zY2hlZHV0aWxzIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1lbmFibGUtc2NoZWR1dGlscwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZDM0YzhlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1lbmFibGUtc2NoZWR1dGlscwpAQCAtMCwwICsxLDMgQEAKK2NocnQ6ICAKK2lvbmljZTogIAordGFza3NldDogIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1ub24tbGliYmxraWQgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLW5vbi1saWJibGtpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNGEyOWVjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1ub24tbGliYmxraWQKQEAgLTAsMCArMSw4NSBAQAorY2ZkaXNrOiAgbGliZmRpc2sgbGlibmN1cnNlc3cgbGlic21hcnRjb2xzIGxpYnRpbmZvIGxpYnV1aWQgCitmZGlzazogIGxpYmZkaXNrIGxpYnJlYWRsaW5lIGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorbGliZmRpc2suc28uMS4xLjA6ICBsaWJ1dWlkIAorbGlic21hcnRjb2xzLnNvLjEuMS4wOiAgCitsaWJ1dWlkLnNvLjEuMy4wOiAgCitsb3NldHVwOiAgbGlic21hcnRjb2xzIAorbHNjcHU6ICBsaWJzbWFydGNvbHMgCitsc2lwYzogIGxpYnNtYXJ0Y29scyAKK2xzbG9naW5zOiAgbGlic21hcnRjb2xzIGxpYnN5c3RlbWQgCitsc25zOiAgbGlic21hcnRjb2xzIAorbWtzd2FwOiAgbGlidXVpZCAKK3BybGltaXQ6ICBsaWJzbWFydGNvbHMgCitzZmRpc2s6ICBsaWJmZGlzayBsaWJyZWFkbGluZSBsaWJzbWFydGNvbHMgbGlidGluZm8gbGlidXVpZCAKK3V1aWRkOiAgbGlicnQgbGlic3lzdGVtZCBsaWJ1dWlkIAordXVpZGdlbjogIGxpYnV1aWQgCit3ZGN0bDogIGxpYnNtYXJ0Y29scyAKK3pyYW1jdGw6ICBsaWJzbWFydGNvbHMgCithZ2V0dHk6ICAKK2Jsa2Rpc2NhcmQ6ICBsaWJydCAKK2Jsb2NrZGV2OiAgCitjYWw6ICBsaWJuY3Vyc2VzdyBsaWJ0aW5mbyAKK2NoY3B1OiAgCitjaGZuOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnB0aHJlYWQgbGlidXNlciAKK2NocnQ6ICAKK2Noc2g6ICBsaWJwYW0gbGlicGFtX21pc2MgbGlicHRocmVhZCBsaWJ1c2VyIAorY29sOiAgCitjb2xjcnQ6ICAKK2NvbHJtOiAgCitjb2x1bW46ICAKK2N0cmxhbHRkZWw6ICAKK2RtZXNnOiAgbGlicnQgbGlidGluZm8gCitmYWxsb2NhdGU6ICAKK2ZkZm9ybWF0OiAgCitmbG9jazogIGxpYnJ0IAorZnNjay5jcmFtZnM6ICBsaWJ6IAorZnNjay5taW5peDogIAorZnNmcmVlemU6ICAKK2dldG9wdDogIAoraGV4ZHVtcDogIGxpYnRpbmZvIAoraHdjbG9jazogIAoraW9uaWNlOiAgCitpcGNtazogIAoraXBjcm06ICAKK2lwY3M6ICAKK2lzb3NpemU6ICAKK2tpbGw6ICAKK2xhc3Q6ICBsaWJydCAKK2xkYXR0YWNoOiAgCitsb2dnZXI6ICBsaWJzeXN0ZW1kIAorbG9naW46ICBsaWJwYW0gbGlicGFtX21pc2MgCitsb29rOiAgCittY29va2llOiAgCittZXNnOiAgCitta2ZzOiAgCitta2ZzLmJmczogIAorbWtmcy5jcmFtZnM6ICBsaWJ6IAorbWtmcy5taW5peDogIAorbW9yZTogIGxpYnRpbmZvIAorbmFtZWk6ICAKK25vbG9naW46ICAKK25zZW50ZXI6ICAKK3Bpdm90X3Jvb3Q6ICAKK3JhdzogIAorcmVhZHByb2ZpbGU6ICAKK3JlbmFtZTogIAorcmVuaWNlOiAgCityZXY6ICAKK3J0Y3dha2U6ICAKK3J1bnVzZXI6ICBsaWJwYW0gbGlicGFtX21pc2MgCitzY3JpcHQ6ICBsaWJydCBsaWJ1dGlsIAorc2NyaXB0cmVwbGF5OiAgCitzZXRhcmNoOiAgCitzZXRwcml2OiAgYXAtbmcgCitzZXRzaWQ6ICAKK3NldHRlcm06ICBsaWJ0aW5mbyAKK3N1OiAgbGlicGFtIGxpYnBhbV9taXNjIAorc3Vsb2dpbjogIHJ5cHQgCitzd2l0Y2hfcm9vdDogIAordGFpbGY6ICAKK3Rhc2tzZXQ6ICAKK3VsOiAgbGlidGluZm8gCit1bnNoYXJlOiAgCit1dG1wZHVtcDogIAord2FsbDogIAord2hlcmVpczogIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1ub24tbGlibW91bnQgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLW5vbi1saWJtb3VudApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OWQwMjdiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1ub24tbGlibW91bnQKQEAgLTAsMCArMSw5NCBAQAorYmxraWQ6ICBsaWJibGtpZCBsaWJ1dWlkIAorY2ZkaXNrOiAgbGliYmxraWQgbGliZmRpc2sgbGlibmN1cnNlc3cgbGlic21hcnRjb2xzIGxpYnRpbmZvIGxpYnV1aWQgCitmZGlzazogIGxpYmJsa2lkIGxpYmZkaXNrIGxpYnJlYWRsaW5lIGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorZmluZGZzOiAgbGliYmxraWQgbGlidXVpZCAKK2xpYmJsa2lkLnNvLjEuMS4wOiAgbGlidXVpZCAKK2xpYmZkaXNrLnNvLjEuMS4wOiAgbGliYmxraWQgbGlidXVpZCAKK2xpYnNtYXJ0Y29scy5zby4xLjEuMDogIAorbGlidXVpZC5zby4xLjMuMDogIAorbG9zZXR1cDogIGxpYnNtYXJ0Y29scyAKK2xzY3B1OiAgbGlic21hcnRjb2xzIAorbHNpcGM6ICBsaWJzbWFydGNvbHMgCitsc2xvZ2luczogIGxpYnNtYXJ0Y29scyBsaWJzeXN0ZW1kIAorbHNuczogIGxpYnNtYXJ0Y29scyAKK21rc3dhcDogIGxpYmJsa2lkIGxpYnV1aWQgCitwYXJ0eDogIGxpYmJsa2lkIGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorcHJsaW1pdDogIGxpYnNtYXJ0Y29scyAKK3NmZGlzazogIGxpYmJsa2lkIGxpYmZkaXNrIGxpYnJlYWRsaW5lIGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorc3dhcGxhYmVsOiAgbGliYmxraWQgbGlidXVpZCAKK3V1aWRkOiAgbGlicnQgbGlic3lzdGVtZCBsaWJ1dWlkIAordXVpZGdlbjogIGxpYnV1aWQgCit3ZGN0bDogIGxpYnNtYXJ0Y29scyAKK3dpcGVmczogIGxpYmJsa2lkIGxpYnV1aWQgCit6cmFtY3RsOiAgbGlic21hcnRjb2xzIAorYWRkcGFydDogIAorYWdldHR5OiAgCitibGtkaXNjYXJkOiAgbGlicnQgCitibG9ja2RldjogIAorY2FsOiAgbGlibmN1cnNlc3cgbGlidGluZm8gCitjaGNwdTogIAorY2hmbjogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnVzZXIgCitjaHJ0OiAgCitjaHNoOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnB0aHJlYWQgbGlidXNlciAKK2NvbDogIAorY29sY3J0OiAgCitjb2xybTogIAorY29sdW1uOiAgCitjdHJsYWx0ZGVsOiAgCitkZWxwYXJ0OiAgCitkbWVzZzogIGxpYnJ0IGxpYnRpbmZvIAorZmFsbG9jYXRlOiAgCitmZGZvcm1hdDogIAorZmxvY2s6ICBsaWJydCAKK2ZzY2suY3JhbWZzOiAgbGlieiAKK2ZzY2subWluaXg6ICAKK2ZzZnJlZXplOiAgCitnZXRvcHQ6ICAKK2hleGR1bXA6ICBsaWJ0aW5mbyAKK2h3Y2xvY2s6ICAKK2lvbmljZTogIAoraXBjbWs6ICAKK2lwY3JtOiAgCitpcGNzOiAgCitpc29zaXplOiAgCitraWxsOiAgCitsYXN0OiAgbGlicnQgCitsZGF0dGFjaDogIAorbG9nZ2VyOiAgbGlic3lzdGVtZCAKK2xvZ2luOiAgbGlicGFtIGxpYnBhbV9taXNjIAorbG9vazogIAorbWNvb2tpZTogIAorbWVzZzogIAorbWtmczogIAorbWtmcy5iZnM6ICAKK21rZnMuY3JhbWZzOiAgbGlieiAKK21rZnMubWluaXg6ICAKK21vcmU6ICBsaWJ0aW5mbyAKK25hbWVpOiAgCitub2xvZ2luOiAgCituc2VudGVyOiAgCitwaXZvdF9yb290OiAgCityYXc6ICAKK3JlYWRwcm9maWxlOiAgCityZW5hbWU6ICAKK3JlbmljZTogIAorcmVzaXplcGFydDogIAorcmV2OiAgCitydGN3YWtlOiAgCitydW51c2VyOiAgbGlicGFtIGxpYnBhbV9taXNjIAorc2NyaXB0OiAgbGlicnQgbGlidXRpbCAKK3NjcmlwdHJlcGxheTogIAorc2V0YXJjaDogIAorc2V0cHJpdjogIGFwLW5nIAorc2V0c2lkOiAgCitzZXR0ZXJtOiAgbGlidGluZm8gCitzdTogIGxpYnBhbSBsaWJwYW1fbWlzYyAKK3N1bG9naW46ICByeXB0IAorc3dpdGNoX3Jvb3Q6ICAKK3RhaWxmOiAgCit0YXNrc2V0OiAgCit1bDogIGxpYnRpbmZvIAordW5zaGFyZTogIAordXRtcGR1bXA6ICAKK3dhbGw6ICAKK3doZXJlaXM6ICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctbm9uLWxpYnMgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLW5vbi1saWJzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjNjY2ZDkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLW5vbi1saWJzCkBAIC0wLDAgKzEsNjkgQEAKK2FnZXR0eTogIAorYmxrZGlzY2FyZDogIGxpYnJ0IAorYmxvY2tkZXY6ICAKK2NhbDogIGxpYm5jdXJzZXN3IGxpYnRpbmZvIAorY2hjcHU6ICAKK2NoZm46ICBsaWJwYW0gbGlicGFtX21pc2MgbGlicHRocmVhZCBsaWJ1c2VyIAorY2hydDogIAorY2hzaDogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnVzZXIgCitjb2w6ICAKK2NvbGNydDogIAorY29scm06ICAKK2NvbHVtbjogIAorY3RybGFsdGRlbDogIAorZG1lc2c6ICBsaWJydCBsaWJ0aW5mbyAKK2ZhbGxvY2F0ZTogIAorZmRmb3JtYXQ6ICAKK2Zsb2NrOiAgbGlicnQgCitmc2NrLmNyYW1mczogIGxpYnogCitmc2NrLm1pbml4OiAgCitmc2ZyZWV6ZTogIAorZ2V0b3B0OiAgCitoZXhkdW1wOiAgbGlidGluZm8gCitod2Nsb2NrOiAgCitpb25pY2U6ICAKK2lwY21rOiAgCitpcGNybTogIAoraXBjczogIAoraXNvc2l6ZTogIAora2lsbDogIAorbGFzdDogIGxpYnJ0IAorbGRhdHRhY2g6ICAKK2xvZ2dlcjogIGxpYnN5c3RlbWQgCitsb2dpbjogIGxpYnBhbSBsaWJwYW1fbWlzYyAKK2xvb2s6ICAKK21jb29raWU6ICAKK21lc2c6ICAKK21rZnM6ICAKK21rZnMuYmZzOiAgCitta2ZzLmNyYW1mczogIGxpYnogCitta2ZzLm1pbml4OiAgCitta3N3YXA6ICAKK21vcmU6ICBsaWJ0aW5mbyAKK25hbWVpOiAgCitub2xvZ2luOiAgCituc2VudGVyOiAgCitwaXZvdF9yb290OiAgCityYXc6ICAKK3JlYWRwcm9maWxlOiAgCityZW5hbWU6ICAKK3JlbmljZTogIAorcmV2OiAgCitydGN3YWtlOiAgCitydW51c2VyOiAgbGlicGFtIGxpYnBhbV9taXNjIAorc2NyaXB0OiAgbGlicnQgbGlidXRpbCAKK3NjcmlwdHJlcGxheTogIAorc2V0YXJjaDogIAorc2V0cHJpdjogIGFwLW5nIAorc2V0c2lkOiAgCitzZXR0ZXJtOiAgbGlidGluZm8gCitzdTogIGxpYnBhbSBsaWJwYW1fbWlzYyAKK3N1bG9naW46ICByeXB0IAorc3dpdGNoX3Jvb3Q6ICAKK3RhaWxmOiAgCit0YXNrc2V0OiAgCit1bDogIGxpYnRpbmZvIAordW5zaGFyZTogIAordXRtcGR1bXA6ICAKK3dhbGw6ICAKK3doZXJlaXM6ICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctbm9uLWxpYnNtYXJ0Y29scyBiL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctbm9uLWxpYnNtYXJ0Y29scwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YzRkMDI0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1ub24tbGlic21hcnRjb2xzCkBAIC0wLDAgKzEsODYgQEAKK2Jsa2lkOiAgbGliYmxraWQgbGlidXVpZCAKK2VqZWN0OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK2ZpbmRmczogIGxpYmJsa2lkIGxpYnV1aWQgCitmc2NrOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK2ZzdHJpbTogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitsaWJibGtpZC5zby4xLjEuMDogIGxpYnV1aWQgCitsaWJmZGlzay5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnV1aWQgCitsaWJtb3VudC5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnJ0IGxpYnV1aWQgCitsaWJ1dWlkLnNvLjEuMy4wOiAgCitta3N3YXA6ICBsaWJibGtpZCBsaWJ1dWlkIAorbW91bnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJ1dWlkIAorbW91bnRwb2ludDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitweWxpYm1vdW50LnNvOiAgbGliYmxraWQgbGlibW91bnQgbGlicHl0aG9uMiBsaWJydCBsaWJ1dWlkIAorc3dhcGxhYmVsOiAgbGliYmxraWQgbGlidXVpZCAKK3Vtb3VudDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCit1dWlkZDogIGxpYnJ0IGxpYnN5c3RlbWQgbGlidXVpZCAKK3V1aWRnZW46ICBsaWJ1dWlkIAord2lwZWZzOiAgbGliYmxraWQgbGlidXVpZCAKK2FnZXR0eTogIAorYmxrZGlzY2FyZDogIGxpYnJ0IAorYmxvY2tkZXY6ICAKK2NhbDogIGxpYm5jdXJzZXN3IGxpYnRpbmZvIAorY2hjcHU6ICAKK2NoZm46ICBsaWJwYW0gbGlicGFtX21pc2MgbGlicHRocmVhZCBsaWJ1c2VyIAorY2hydDogIAorY2hzaDogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnVzZXIgCitjb2w6ICAKK2NvbGNydDogIAorY29scm06ICAKK2NvbHVtbjogIAorY3RybGFsdGRlbDogIAorZG1lc2c6ICBsaWJydCBsaWJ0aW5mbyAKK2ZhbGxvY2F0ZTogIAorZmRmb3JtYXQ6ICAKK2Zsb2NrOiAgbGlicnQgCitmc2NrLmNyYW1mczogIGxpYnogCitmc2NrLm1pbml4OiAgCitmc2ZyZWV6ZTogIAorZ2V0b3B0OiAgCitoZXhkdW1wOiAgbGlidGluZm8gCitod2Nsb2NrOiAgCitpb25pY2U6ICAKK2lwY21rOiAgCitpcGNybTogIAoraXBjczogIAoraXNvc2l6ZTogIAora2lsbDogIAorbGFzdDogIGxpYnJ0IAorbGRhdHRhY2g6ICAKK2xvZ2dlcjogIGxpYnN5c3RlbWQgCitsb2dpbjogIGxpYnBhbSBsaWJwYW1fbWlzYyAKK2xvb2s6ICAKK21jb29raWU6ICAKK21lc2c6ICAKK21rZnM6ICAKK21rZnMuYmZzOiAgCitta2ZzLmNyYW1mczogIGxpYnogCitta2ZzLm1pbml4OiAgCittb3JlOiAgbGlidGluZm8gCituYW1laTogIAorbm9sb2dpbjogIAorbnNlbnRlcjogIAorcGl2b3Rfcm9vdDogIAorcmF3OiAgCityZWFkcHJvZmlsZTogIAorcmVuYW1lOiAgCityZW5pY2U6ICAKK3JldjogIAorcnRjd2FrZTogIAorcnVudXNlcjogIGxpYnBhbSBsaWJwYW1fbWlzYyAKK3NjcmlwdDogIGxpYnJ0IGxpYnV0aWwgCitzY3JpcHRyZXBsYXk6ICAKK3NldGFyY2g6ICAKK3NldHByaXY6ICBhcC1uZyAKK3NldHNpZDogIAorc2V0dGVybTogIGxpYnRpbmZvIAorc3U6ICBsaWJwYW0gbGlicGFtX21pc2MgCitzdWxvZ2luOiAgcnlwdCAKK3N3aXRjaF9yb290OiAgCit0YWlsZjogIAordGFza3NldDogIAordWw6ICBsaWJ0aW5mbyAKK3Vuc2hhcmU6ICAKK3V0bXBkdW1wOiAgCit3YWxsOiAgCit3aGVyZWlzOiAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLW5vbi1saWJ1dWlkIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1ub24tbGlidXVpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzQ1Nzc5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1ub24tbGlidXVpZApAQCAtMCwwICsxLDEwMCBAQAorYmxraWQ6ICBsaWJibGtpZCAKK2VqZWN0OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgCitmaW5kZnM6ICBsaWJibGtpZCAKK2ZpbmRtbnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzbWFydGNvbHMgbGlidWRldiAKK2ZzY2s6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCAKK2ZzdHJpbTogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IAorbGliYmxraWQuc28uMS4xLjA6ICAKK2xpYm1vdW50LnNvLjEuMS4wOiAgbGliYmxraWQgbGlicnQgCitsaWJzbWFydGNvbHMuc28uMS4xLjA6ICAKK2xvc2V0dXA6ICBsaWJzbWFydGNvbHMgCitsc2JsazogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IAorbHNjcHU6ICBsaWJzbWFydGNvbHMgCitsc2lwYzogIGxpYnNtYXJ0Y29scyAKK2xzbG9ja3M6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzbWFydGNvbHMgCitsc2xvZ2luczogIGxpYnNtYXJ0Y29scyBsaWJzeXN0ZW1kIAorbHNuczogIGxpYnNtYXJ0Y29scyAKK21rc3dhcDogIGxpYmJsa2lkIAorbW91bnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCAKK21vdW50cG9pbnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCAKK3BhcnR4OiAgbGliYmxraWQgbGlic21hcnRjb2xzIAorcHJsaW1pdDogIGxpYnNtYXJ0Y29scyAKK3B5bGlibW91bnQuc286ICBsaWJibGtpZCBsaWJtb3VudCBsaWJweXRob24yIGxpYnJ0IAorc3dhcGxhYmVsOiAgbGliYmxraWQgCitzd2Fwb2ZmOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgCitzd2Fwb246ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzbWFydGNvbHMgCit1bW91bnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCAKK3dkY3RsOiAgbGlic21hcnRjb2xzIAord2lwZWZzOiAgbGliYmxraWQgCit6cmFtY3RsOiAgbGlic21hcnRjb2xzIAorYWRkcGFydDogIAorYWdldHR5OiAgCitibGtkaXNjYXJkOiAgbGlicnQgCitibG9ja2RldjogIAorY2FsOiAgbGlibmN1cnNlc3cgbGlidGluZm8gCitjaGNwdTogIAorY2hmbjogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnVzZXIgCitjaHJ0OiAgCitjaHNoOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnB0aHJlYWQgbGlidXNlciAKK2NvbDogIAorY29sY3J0OiAgCitjb2xybTogIAorY29sdW1uOiAgCitjdHJsYWx0ZGVsOiAgCitkZWxwYXJ0OiAgCitkbWVzZzogIGxpYnJ0IGxpYnRpbmZvIAorZmFsbG9jYXRlOiAgCitmZGZvcm1hdDogIAorZmxvY2s6ICBsaWJydCAKK2ZzY2suY3JhbWZzOiAgbGlieiAKK2ZzY2subWluaXg6ICAKK2ZzZnJlZXplOiAgCitnZXRvcHQ6ICAKK2hleGR1bXA6ICBsaWJ0aW5mbyAKK2h3Y2xvY2s6ICAKK2lvbmljZTogIAoraXBjbWs6ICAKK2lwY3JtOiAgCitpcGNzOiAgCitpc29zaXplOiAgCitraWxsOiAgCitsYXN0OiAgbGlicnQgCitsZGF0dGFjaDogIAorbG9nZ2VyOiAgbGlic3lzdGVtZCAKK2xvZ2luOiAgbGlicGFtIGxpYnBhbV9taXNjIAorbG9vazogIAorbWNvb2tpZTogIAorbWVzZzogIAorbWtmczogIAorbWtmcy5iZnM6ICAKK21rZnMuY3JhbWZzOiAgbGlieiAKK21rZnMubWluaXg6ICAKK21vcmU6ICBsaWJ0aW5mbyAKK25hbWVpOiAgCitub2xvZ2luOiAgCituc2VudGVyOiAgCitwaXZvdF9yb290OiAgCityYXc6ICAKK3JlYWRwcm9maWxlOiAgCityZW5hbWU6ICAKK3JlbmljZTogIAorcmVzaXplcGFydDogIAorcmV2OiAgCitydGN3YWtlOiAgCitydW51c2VyOiAgbGlicGFtIGxpYnBhbV9taXNjIAorc2NyaXB0OiAgbGlicnQgbGlidXRpbCAKK3NjcmlwdHJlcGxheTogIAorc2V0YXJjaDogIAorc2V0cHJpdjogIGFwLW5nIAorc2V0c2lkOiAgCitzZXR0ZXJtOiAgbGlidGluZm8gCitzdTogIGxpYnBhbSBsaWJwYW1fbWlzYyAKK3N1bG9naW46ICByeXB0IAorc3dpdGNoX3Jvb3Q6ICAKK3RhaWxmOiAgCit0YXNrc2V0OiAgCit1bDogIGxpYnRpbmZvIAordW5zaGFyZTogIAordXRtcGR1bXA6ICAKK3dhbGw6ICAKK3doZXJlaXM6ICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctbm9uLW5scyBiL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctbm9uLW5scwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OWY1MjhkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1ub24tbmxzCkBAIC0wLDAgKzEsMTA3IEBACitibGtpZDogIGxpYmJsa2lkIGxpYnV1aWQgCitjZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJtb3VudCBsaWJuY3Vyc2VzdyBsaWJydCBsaWJzbWFydGNvbHMgbGlidGluZm8gbGlidXVpZCAKK2VqZWN0OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK2ZkaXNrOiAgbGliYmxraWQgbGliZmRpc2sgbGlicmVhZGxpbmUgbGlic21hcnRjb2xzIGxpYnRpbmZvIGxpYnV1aWQgCitmaW5kZnM6ICBsaWJibGtpZCBsaWJ1dWlkIAorZmluZG1udDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitmc2NrOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK2ZzdHJpbTogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitsaWJibGtpZC5zby4xLjEuMDogIGxpYnV1aWQgCitsaWJmZGlzay5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnV1aWQgCitsaWJtb3VudC5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnJ0IGxpYnV1aWQgCitsaWJzbWFydGNvbHMuc28uMS4xLjA6ICAKK2xpYnV1aWQuc28uMS4zLjA6ICAKK2xvc2V0dXA6ICBsaWJzbWFydGNvbHMgCitsc2JsazogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitsc2NwdTogIGxpYnNtYXJ0Y29scyAKK2xzaXBjOiAgbGlic21hcnRjb2xzIAorbHNsb2NrczogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorbHNsb2dpbnM6ICBsaWJzbWFydGNvbHMgbGlic3lzdGVtZCAKK2xzbnM6ICBsaWJzbWFydGNvbHMgCitta3N3YXA6ICBsaWJibGtpZCBsaWJ1dWlkIAorbW91bnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJ1dWlkIAorbW91bnRwb2ludDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitwYXJ0eDogIGxpYmJsa2lkIGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorcHJsaW1pdDogIGxpYnNtYXJ0Y29scyAKK3B5bGlibW91bnQuc286ICBsaWJibGtpZCBsaWJtb3VudCBsaWJweXRob24yIGxpYnJ0IGxpYnV1aWQgCitzZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJyZWFkbGluZSBsaWJzbWFydGNvbHMgbGlidGluZm8gbGlidXVpZCAKK3N3YXBsYWJlbDogIGxpYmJsa2lkIGxpYnV1aWQgCitzd2Fwb2ZmOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK3N3YXBvbjogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAordW1vdW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK3V1aWRkOiAgbGlicnQgbGlic3lzdGVtZCBsaWJ1dWlkIAordXVpZGdlbjogIGxpYnV1aWQgCit3ZGN0bDogIGxpYnNtYXJ0Y29scyAKK3dpcGVmczogIGxpYmJsa2lkIGxpYnV1aWQgCit6cmFtY3RsOiAgbGlic21hcnRjb2xzIAorYWRkcGFydDogIAorYWdldHR5OiAgCitibGtkaXNjYXJkOiAgbGlicnQgCitibG9ja2RldjogIAorY2FsOiAgbGlibmN1cnNlc3cgbGlidGluZm8gCitjaGNwdTogIAorY2hmbjogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnVzZXIgCitjaHJ0OiAgCitjaHNoOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnB0aHJlYWQgbGlidXNlciAKK2NvbDogIAorY29sY3J0OiAgCitjb2xybTogIAorY29sdW1uOiAgCitjdHJsYWx0ZGVsOiAgCitkZWxwYXJ0OiAgCitkbWVzZzogIGxpYnJ0IGxpYnRpbmZvIAorZmFsbG9jYXRlOiAgCitmZGZvcm1hdDogIAorZmxvY2s6ICBsaWJydCAKK2ZzY2suY3JhbWZzOiAgbGlieiAKK2ZzY2subWluaXg6ICAKK2ZzZnJlZXplOiAgCitnZXRvcHQ6ICAKK2hleGR1bXA6ICBsaWJ0aW5mbyAKK2h3Y2xvY2s6ICAKK2lvbmljZTogIAoraXBjbWs6ICAKK2lwY3JtOiAgCitpcGNzOiAgCitpc29zaXplOiAgCitraWxsOiAgCitsYXN0OiAgbGlicnQgCitsZGF0dGFjaDogIAorbG9nZ2VyOiAgbGlic3lzdGVtZCAKK2xvZ2luOiAgbGlicGFtIGxpYnBhbV9taXNjIAorbG9vazogIAorbWNvb2tpZTogIAorbWVzZzogIAorbWtmczogIAorbWtmcy5iZnM6ICAKK21rZnMuY3JhbWZzOiAgbGlieiAKK21rZnMubWluaXg6ICAKK21vcmU6ICBsaWJ0aW5mbyAKK25hbWVpOiAgCitub2xvZ2luOiAgCituc2VudGVyOiAgCitwaXZvdF9yb290OiAgCityYXc6ICAKK3JlYWRwcm9maWxlOiAgCityZW5hbWU6ICAKK3JlbmljZTogIAorcmVzaXplcGFydDogIAorcmV2OiAgCitydGN3YWtlOiAgCitydW51c2VyOiAgbGlicGFtIGxpYnBhbV9taXNjIAorc2NyaXB0OiAgbGlicnQgbGlidXRpbCAKK3NjcmlwdHJlcGxheTogIAorc2V0YXJjaDogIAorc2V0cHJpdjogIGFwLW5nIAorc2V0c2lkOiAgCitzZXR0ZXJtOiAgbGlidGluZm8gCitzdTogIGxpYnBhbSBsaWJwYW1fbWlzYyAKK3N1bG9naW46ICByeXB0IAorc3dpdGNoX3Jvb3Q6ICAKK3RhaWxmOiAgCit0YXNrc2V0OiAgCit1bDogIGxpYnRpbmZvIAordW5zaGFyZTogIAordXRtcGR1bXA6ICAKK3dhbGw6ICAKK3doZXJlaXM6ICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctc2VsaW51eCBiL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctc2VsaW51eApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYjJiMjE1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1zZWxpbnV4CkBAIC0wLDAgKzEsMTA3IEBACitibGtpZDogIGxpYmJsa2lkIGxpYnV1aWQgCitjZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJtb3VudCBsaWJuY3Vyc2VzdyBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorZWplY3Q6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitmZGlzazogIGxpYmJsa2lkIGxpYmZkaXNrIGxpYnJlYWRsaW5lIGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorZmluZGZzOiAgbGliYmxraWQgbGlidXVpZCAKK2ZpbmRtbnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitmc2NrOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorZnN0cmltOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorbGliYmxraWQuc28uMS4xLjA6ICBsaWJ1dWlkIAorbGliZmRpc2suc28uMS4xLjA6ICBsaWJibGtpZCBsaWJ1dWlkIAorbGlibW91bnQuc28uMS4xLjA6ICBsaWJibGtpZCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitsaWJzbWFydGNvbHMuc28uMS4xLjA6ICAKK2xpYnV1aWQuc28uMS4zLjA6ICAKK2xvc2V0dXA6ICBsaWJzbWFydGNvbHMgCitsc2JsazogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlic21hcnRjb2xzIGxpYnVkZXYgbGlidXVpZCAKK2xzY3B1OiAgbGlic21hcnRjb2xzIAorbHNpcGM6ICBsaWJzbWFydGNvbHMgCitsc2xvY2tzOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK2xzbG9naW5zOiAgbGlic2VsaW51eCBsaWJzbWFydGNvbHMgbGlic3lzdGVtZCAKK2xzbnM6ICBsaWJzbWFydGNvbHMgCitta3N3YXA6ICBsaWJibGtpZCBsaWJzZWxpbnV4IGxpYnV1aWQgCittb3VudDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK21vdW50cG9pbnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitwYXJ0eDogIGxpYmJsa2lkIGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorcHJsaW1pdDogIGxpYnNtYXJ0Y29scyAKK3B5bGlibW91bnQuc286ICBsaWJibGtpZCBsaWJtb3VudCBsaWJweXRob24yIGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK3NmZGlzazogIGxpYmJsa2lkIGxpYmZkaXNrIGxpYnJlYWRsaW5lIGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorc3dhcGxhYmVsOiAgbGliYmxraWQgbGlidXVpZCAKK3N3YXBvZmY6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitzd2Fwb246ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAordW1vdW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAordXVpZGQ6ICBsaWJydCBsaWJzeXN0ZW1kIGxpYnV1aWQgCit1dWlkZ2VuOiAgbGlidXVpZCAKK3dkY3RsOiAgbGlic21hcnRjb2xzIAord2lwZWZzOiAgbGliYmxraWQgbGlidXVpZCAKK3pyYW1jdGw6ICBsaWJzbWFydGNvbHMgCithZGRwYXJ0OiAgCithZ2V0dHk6ICAKK2Jsa2Rpc2NhcmQ6ICBsaWJydCAKK2Jsb2NrZGV2OiAgCitjYWw6ICBsaWJuY3Vyc2VzdyBsaWJ0aW5mbyAKK2NoY3B1OiAgCitjaGZuOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnB0aHJlYWQgbGlic2VsaW51eCBsaWJ1c2VyIAorY2hydDogIAorY2hzaDogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnNlbGludXggbGlidXNlciAKK2NvbDogIAorY29sY3J0OiAgCitjb2xybTogIAorY29sdW1uOiAgCitjdHJsYWx0ZGVsOiAgCitkZWxwYXJ0OiAgCitkbWVzZzogIGxpYnJ0IGxpYnRpbmZvIAorZmFsbG9jYXRlOiAgCitmZGZvcm1hdDogIAorZmxvY2s6ICBsaWJydCAKK2ZzY2suY3JhbWZzOiAgbGlieiAKK2ZzY2subWluaXg6ICAKK2ZzZnJlZXplOiAgCitnZXRvcHQ6ICAKK2hleGR1bXA6ICBsaWJ0aW5mbyAKK2h3Y2xvY2s6ICAKK2lvbmljZTogIAoraXBjbWs6ICAKK2lwY3JtOiAgCitpcGNzOiAgCitpc29zaXplOiAgCitraWxsOiAgCitsYXN0OiAgbGlicnQgCitsZGF0dGFjaDogIAorbG9nZ2VyOiAgbGlic3lzdGVtZCAKK2xvZ2luOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnNlbGludXggCitsb29rOiAgCittY29va2llOiAgCittZXNnOiAgCitta2ZzOiAgCitta2ZzLmJmczogIAorbWtmcy5jcmFtZnM6ICBsaWJ6IAorbWtmcy5taW5peDogIAorbW9yZTogIGxpYnRpbmZvIAorbmFtZWk6ICAKK25vbG9naW46ICAKK25zZW50ZXI6ICBsaWJzZWxpbnV4IAorcGl2b3Rfcm9vdDogIAorcmF3OiAgCityZWFkcHJvZmlsZTogIAorcmVuYW1lOiAgCityZW5pY2U6ICAKK3Jlc2l6ZXBhcnQ6ICAKK3JldjogIAorcnRjd2FrZTogIAorcnVudXNlcjogIGxpYnBhbSBsaWJwYW1fbWlzYyAKK3NjcmlwdDogIGxpYnJ0IGxpYnV0aWwgCitzY3JpcHRyZXBsYXk6ICAKK3NldGFyY2g6ICAKK3NldHByaXY6ICBhcC1uZyAKK3NldHNpZDogIAorc2V0dGVybTogIGxpYnRpbmZvIAorc3U6ICBsaWJwYW0gbGlicGFtX21pc2MgCitzdWxvZ2luOiAgbGlic2VsaW51eCByeXB0IAorc3dpdGNoX3Jvb3Q6ICAKK3RhaWxmOiAgCit0YXNrc2V0OiAgCit1bDogIGxpYnRpbmZvIAordW5zaGFyZTogIAordXRtcGR1bXA6ICAKK3dhbGw6ICAKK3doZXJlaXM6ICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctc2xhbmcgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLXNsYW5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjZmI1YjUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLXNsYW5nCkBAIC0wLDAgKzEsMTA3IEBACitibGtpZDogIGxpYmJsa2lkIGxpYnV1aWQgCitjZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJtb3VudCBsaWJydCBsaWJzbGFuZyBsaWJzbWFydGNvbHMgbGlidGluZm8gbGlidXVpZCAKK2VqZWN0OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK2ZkaXNrOiAgbGliYmxraWQgbGliZmRpc2sgbGlicmVhZGxpbmUgbGlic21hcnRjb2xzIGxpYnRpbmZvIGxpYnV1aWQgCitmaW5kZnM6ICBsaWJibGtpZCBsaWJ1dWlkIAorZmluZG1udDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitmc2NrOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK2ZzdHJpbTogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitsaWJibGtpZC5zby4xLjEuMDogIGxpYnV1aWQgCitsaWJmZGlzay5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnV1aWQgCitsaWJtb3VudC5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnJ0IGxpYnV1aWQgCitsaWJzbWFydGNvbHMuc28uMS4xLjA6ICAKK2xpYnV1aWQuc28uMS4zLjA6ICAKK2xvc2V0dXA6ICBsaWJzbWFydGNvbHMgCitsc2JsazogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitsc2NwdTogIGxpYnNtYXJ0Y29scyAKK2xzaXBjOiAgbGlic21hcnRjb2xzIAorbHNsb2NrczogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorbHNsb2dpbnM6ICBsaWJzbWFydGNvbHMgbGlic3lzdGVtZCAKK2xzbnM6ICBsaWJzbWFydGNvbHMgCitta3N3YXA6ICBsaWJibGtpZCBsaWJ1dWlkIAorbW91bnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJ1dWlkIAorbW91bnRwb2ludDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitwYXJ0eDogIGxpYmJsa2lkIGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorcHJsaW1pdDogIGxpYnNtYXJ0Y29scyAKK3B5bGlibW91bnQuc286ICBsaWJibGtpZCBsaWJtb3VudCBsaWJweXRob24yIGxpYnJ0IGxpYnV1aWQgCitzZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJyZWFkbGluZSBsaWJzbWFydGNvbHMgbGlidGluZm8gbGlidXVpZCAKK3N3YXBsYWJlbDogIGxpYmJsa2lkIGxpYnV1aWQgCitzd2Fwb2ZmOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK3N3YXBvbjogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAordW1vdW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK3V1aWRkOiAgbGlicnQgbGlic3lzdGVtZCBsaWJ1dWlkIAordXVpZGdlbjogIGxpYnV1aWQgCit3ZGN0bDogIGxpYnNtYXJ0Y29scyAKK3dpcGVmczogIGxpYmJsa2lkIGxpYnV1aWQgCit6cmFtY3RsOiAgbGlic21hcnRjb2xzIAorYWRkcGFydDogIAorYWdldHR5OiAgCitibGtkaXNjYXJkOiAgbGlicnQgCitibG9ja2RldjogIAorY2FsOiAgbGlibmN1cnNlc3cgbGlidGluZm8gCitjaGNwdTogIAorY2hmbjogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnVzZXIgCitjaHJ0OiAgCitjaHNoOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnB0aHJlYWQgbGlidXNlciAKK2NvbDogIAorY29sY3J0OiAgCitjb2xybTogIAorY29sdW1uOiAgCitjdHJsYWx0ZGVsOiAgCitkZWxwYXJ0OiAgCitkbWVzZzogIGxpYnJ0IGxpYnRpbmZvIAorZmFsbG9jYXRlOiAgCitmZGZvcm1hdDogIAorZmxvY2s6ICBsaWJydCAKK2ZzY2suY3JhbWZzOiAgbGlieiAKK2ZzY2subWluaXg6ICAKK2ZzZnJlZXplOiAgCitnZXRvcHQ6ICAKK2hleGR1bXA6ICBsaWJ0aW5mbyAKK2h3Y2xvY2s6ICAKK2lvbmljZTogIAoraXBjbWs6ICAKK2lwY3JtOiAgCitpcGNzOiAgCitpc29zaXplOiAgCitraWxsOiAgCitsYXN0OiAgbGlicnQgCitsZGF0dGFjaDogIAorbG9nZ2VyOiAgbGlic3lzdGVtZCAKK2xvZ2luOiAgbGlicGFtIGxpYnBhbV9taXNjIAorbG9vazogIAorbWNvb2tpZTogIAorbWVzZzogIAorbWtmczogIAorbWtmcy5iZnM6ICAKK21rZnMuY3JhbWZzOiAgbGlieiAKK21rZnMubWluaXg6ICAKK21vcmU6ICBsaWJ0aW5mbyAKK25hbWVpOiAgCitub2xvZ2luOiAgCituc2VudGVyOiAgCitwaXZvdF9yb290OiAgCityYXc6ICAKK3JlYWRwcm9maWxlOiAgCityZW5hbWU6ICAKK3JlbmljZTogIAorcmVzaXplcGFydDogIAorcmV2OiAgCitydGN3YWtlOiAgCitydW51c2VyOiAgbGlicGFtIGxpYnBhbV9taXNjIAorc2NyaXB0OiAgbGlicnQgbGlidXRpbCAKK3NjcmlwdHJlcGxheTogIAorc2V0YXJjaDogIAorc2V0cHJpdjogIGFwLW5nIAorc2V0c2lkOiAgCitzZXR0ZXJtOiAgbGlidGluZm8gCitzdTogIGxpYnBhbSBsaWJwYW1fbWlzYyAKK3N1bG9naW46ICByeXB0IAorc3dpdGNoX3Jvb3Q6ICAKK3RhaWxmOiAgCit0YXNrc2V0OiAgCit1bDogIGxpYnRpbmZvIAordW5zaGFyZTogIAordXRtcGR1bXA6ICAKK3dhbGw6ICAKK3doZXJlaXM6ICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctc3RhdGljIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1zdGF0aWMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDM0Njg1OAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctc3RhdGljCkBAIC0wLDAgKzEsMTE1IEBACitibGtpZDogIGxpYmJsa2lkIGxpYnV1aWQgCitjZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJtb3VudCBsaWJuY3Vyc2VzdyBsaWJydCBsaWJzbWFydGNvbHMgbGlidGluZm8gbGlidXVpZCAKK2VqZWN0OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK2ZkaXNrOiAgbGliYmxraWQgbGliZmRpc2sgbGlicmVhZGxpbmUgbGlic21hcnRjb2xzIGxpYnRpbmZvIGxpYnV1aWQgCitmaW5kZnM6ICBsaWJibGtpZCBsaWJ1dWlkIAorZmluZG1udDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitmc2NrOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK2ZzdHJpbTogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitsaWJibGtpZC5zby4xLjEuMDogIGxpYnV1aWQgCitsaWJmZGlzay5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnV1aWQgCitsaWJtb3VudC5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnJ0IGxpYnV1aWQgCitsaWJzbWFydGNvbHMuc28uMS4xLjA6ICAKK2xpYnV1aWQuc28uMS4zLjA6ICAKK2xvc2V0dXA6ICBsaWJzbWFydGNvbHMgCitsc2JsazogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitsc2NwdTogIGxpYnNtYXJ0Y29scyAKK2xzaXBjOiAgbGlic21hcnRjb2xzIAorbHNsb2NrczogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorbHNsb2dpbnM6ICBsaWJzbWFydGNvbHMgbGlic3lzdGVtZCAKK2xzbnM6ICBsaWJzbWFydGNvbHMgCitta3N3YXA6ICBsaWJibGtpZCBsaWJ1dWlkIAorbW91bnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJ1dWlkIAorbW91bnRwb2ludDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitwYXJ0eDogIGxpYmJsa2lkIGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorcHJsaW1pdDogIGxpYnNtYXJ0Y29scyAKK3B5bGlibW91bnQuc286ICBsaWJibGtpZCBsaWJtb3VudCBsaWJweXRob24yIGxpYnJ0IGxpYnV1aWQgCitzZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJyZWFkbGluZSBsaWJzbWFydGNvbHMgbGlidGluZm8gbGlidXVpZCAKK3N3YXBsYWJlbDogIGxpYmJsa2lkIGxpYnV1aWQgCitzd2Fwb2ZmOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK3N3YXBvbjogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAordW1vdW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK3V1aWRkOiAgbGlicnQgbGlic3lzdGVtZCBsaWJ1dWlkIAordXVpZGdlbjogIGxpYnV1aWQgCit3ZGN0bDogIGxpYnNtYXJ0Y29scyAKK3dpcGVmczogIGxpYmJsa2lkIGxpYnV1aWQgCit6cmFtY3RsOiAgbGlic21hcnRjb2xzIAorYWRkcGFydDogIAorYWdldHR5OiAgCitibGtkaXNjYXJkOiAgbGlicnQgCitibGtpZC5zdGF0aWM6IFNUQVRJQworYmxvY2tkZXY6ICAKK2NhbDogIGxpYm5jdXJzZXN3IGxpYnRpbmZvIAorY2hjcHU6ICAKK2NoZm46ICBsaWJwYW0gbGlicGFtX21pc2MgbGlicHRocmVhZCBsaWJ1c2VyIAorY2hydDogIAorY2hzaDogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnVzZXIgCitjb2w6ICAKK2NvbGNydDogIAorY29scm06ICAKK2NvbHVtbjogIAorY3RybGFsdGRlbDogIAorZGVscGFydDogIAorZG1lc2c6ICBsaWJydCBsaWJ0aW5mbyAKK2ZhbGxvY2F0ZTogIAorZmRmb3JtYXQ6ICAKK2ZkaXNrLnN0YXRpYzogU1RBVElDCitmbG9jazogIGxpYnJ0IAorZnNjay5jcmFtZnM6ICBsaWJ6IAorZnNjay5taW5peDogIAorZnNmcmVlemU6ICAKK2dldG9wdDogIAoraGV4ZHVtcDogIGxpYnRpbmZvIAoraHdjbG9jazogIAoraW9uaWNlOiAgCitpcGNtazogIAoraXBjcm06ICAKK2lwY3M6ICAKK2lzb3NpemU6ICAKK2tpbGw6ICAKK2xhc3Q6ICBsaWJydCAKK2xkYXR0YWNoOiAgCitsb2dnZXI6ICBsaWJzeXN0ZW1kIAorbG9naW46ICBsaWJwYW0gbGlicGFtX21pc2MgCitsb29rOiAgCitsb3NldHVwLnN0YXRpYzogU1RBVElDCittY29va2llOiAgCittZXNnOiAgCitta2ZzOiAgCitta2ZzLmJmczogIAorbWtmcy5jcmFtZnM6ICBsaWJ6IAorbWtmcy5taW5peDogIAorbW9yZTogIGxpYnRpbmZvIAorbW91bnQuc3RhdGljOiBTVEFUSUMKK25hbWVpOiAgCitub2xvZ2luOiAgCituc2VudGVyOiAgCituc2VudGVyLnN0YXRpYzogU1RBVElDCitwaXZvdF9yb290OiAgCityYXc6ICAKK3JlYWRwcm9maWxlOiAgCityZW5hbWU6ICAKK3JlbmljZTogIAorcmVzaXplcGFydDogIAorcmV2OiAgCitydGN3YWtlOiAgCitydW51c2VyOiAgbGlicGFtIGxpYnBhbV9taXNjIAorc2NyaXB0OiAgbGlicnQgbGlidXRpbCAKK3NjcmlwdHJlcGxheTogIAorc2V0YXJjaDogIAorc2V0cHJpdjogIGFwLW5nIAorc2V0c2lkOiAgCitzZXR0ZXJtOiAgbGlidGluZm8gCitzZmRpc2suc3RhdGljOiBTVEFUSUMKK3N1OiAgbGlicGFtIGxpYnBhbV9taXNjIAorc3Vsb2dpbjogIHJ5cHQgCitzd2l0Y2hfcm9vdDogIAordGFpbGY6ICAKK3Rhc2tzZXQ6ICAKK3VsOiAgbGlidGluZm8gCit1bW91bnQuc3RhdGljOiBTVEFUSUMKK3Vuc2hhcmU6ICAKK3Vuc2hhcmUuc3RhdGljOiBTVEFUSUMKK3V0bXBkdW1wOiAgCit3YWxsOiAgCit3aGVyZWlzOiAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvMW0gYi90ZXN0cy9leHBlY3RlZC9jYWwvMW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWZlN2Y3MQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC8xbQpAQCAtMCwwICsxLDM3IEBACisKK0dyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrCisgICBTZXB0ZW1iZXIgMjAwNiAgIAorTW8gVHUgV2UgVGggRnIgU2EgU3UKKyAgICAgICAgICAgICAxICAyICAzIAorIDQgIDUgIDYgIDcgIDggIDkgMTAgCisxMSAxMiAxMyAxNCAxNSAxNiAxNyAKKzE4IDE5IDIwIDIxIDIyIDIzIDI0IAorMjUgMjYgMjcgMjggMjkgMzAgICAgCisgICAgICAgICAgICAgICAgICAgICAKK0dyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCB3ZWVrCisgICBTZXB0ZW1iZXIgMjAwNiAgIAorU3UgTW8gVHUgV2UgVGggRnIgU2EKKyAgICAgICAgICAgICAgICAxICAyIAorIDMgIDQgIDUgIDYgIDcgIDggIDkgCisxMCAxMSAxMiAxMyAxNCAxNSAxNiAKKzE3IDE4IDE5IDIwIDIxIDIyIDIzIAorMjQgMjUgMjYgMjcgMjggMjkgMzAgCisgICAgICAgICAgICAgICAgICAgICAKK0p1bGlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrCisgICAgICAgU2VwdGVtYmVyIDIwMDYgICAgICAKK01vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorICAgICAgICAgICAgICAgIDI0NCAyNDUgMjQ2IAorMjQ3IDI0OCAyNDkgMjUwIDI1MSAyNTIgMjUzIAorMjU0IDI1NSAyNTYgMjU3IDI1OCAyNTkgMjYwIAorMjYxIDI2MiAyNjMgMjY0IDI2NSAyNjYgMjY3IAorMjY4IDI2OSAyNzAgMjcxIDI3MiAyNzMgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorSnVsaWFuIC0gU3VuZGF5LWJhc2VkIHdlZWsKKyAgICAgICBTZXB0ZW1iZXIgMjAwNiAgICAgIAorU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisgICAgICAgICAgICAgICAgICAgIDI0NCAyNDUgCisyNDYgMjQ3IDI0OCAyNDkgMjUwIDI1MSAyNTIgCisyNTMgMjU0IDI1NSAyNTYgMjU3IDI1OCAyNTkgCisyNjAgMjYxIDI2MiAyNjMgMjY0IDI2NSAyNjYgCisyNjcgMjY4IDI2OSAyNzAgMjcxIDI3MiAyNzMgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvMW13IGIvdGVzdHMvZXhwZWN0ZWQvY2FsLzFtdwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMjk4MGU2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsLzFtdwpAQCAtMCwwICsxLDM3IEBACisKK0dyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzCisgICAgIFNlcHRlbWJlciAyMDA2ICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKzM1ICAgICAgICAgICAgICAxICAyICAzIAorMzYgIDQgIDUgIDYgIDcgIDggIDkgMTAgCiszNyAxMSAxMiAxMyAxNCAxNSAxNiAxNyAKKzM4IDE4IDE5IDIwIDIxIDIyIDIzIDI0IAorMzkgMjUgMjYgMjcgMjggMjkgMzAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAKK0dyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzCisgICAgIFNlcHRlbWJlciAyMDA2ICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzM1ICAgICAgICAgICAgICAgICAxICAyIAorMzYgIDMgIDQgIDUgIDYgIDcgIDggIDkgCiszNyAxMCAxMSAxMiAxMyAxNCAxNSAxNiAKKzM4IDE3IDE4IDE5IDIwIDIxIDIyIDIzIAorMzkgMjQgMjUgMjYgMjcgMjggMjkgMzAgCisgICAgICAgICAgICAgICAgICAgICAgICAKK0p1bGlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzCisgICAgICAgIFNlcHRlbWJlciAyMDA2ICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorMzUgICAgICAgICAgICAgICAgIDI0NCAyNDUgMjQ2IAorMzYgMjQ3IDI0OCAyNDkgMjUwIDI1MSAyNTIgMjUzIAorMzcgMjU0IDI1NSAyNTYgMjU3IDI1OCAyNTkgMjYwIAorMzggMjYxIDI2MiAyNjMgMjY0IDI2NSAyNjYgMjY3IAorMzkgMjY4IDI2OSAyNzAgMjcxIDI3MiAyNzMgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorSnVsaWFuIC0gU3VuZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMKKyAgICAgICAgU2VwdGVtYmVyIDIwMDYgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CiszNSAgICAgICAgICAgICAgICAgICAgIDI0NCAyNDUgCiszNiAyNDYgMjQ3IDI0OCAyNDkgMjUwIDI1MSAyNTIgCiszNyAyNTMgMjU0IDI1NSAyNTYgMjU3IDI1OCAyNTkgCiszOCAyNjAgMjYxIDI2MiAyNjMgMjY0IDI2NSAyNjYgCiszOSAyNjcgMjY4IDI2OSAyNzAgMjcxIDI3MiAyNzMgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvM20gYi90ZXN0cy9leHBlY3RlZC9jYWwvM20KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjFiNmQzMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC8zbQpAQCAtMCwwICsxLDM3IEBACisKK0dyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrCisgICAgIEF1Z3VzdCAyMDA2ICAgICAgICAgU2VwdGVtYmVyIDIwMDYgICAgICAgICBPY3RvYmVyIDIwMDYgICAgCitNbyBUdSBXZSBUaCBGciBTYSBTdSAgTW8gVHUgV2UgVGggRnIgU2EgU3UgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CisgICAgMSAgMiAgMyAgNCAgNSAgNiAgICAgICAgICAgICAgIDEgIDIgIDMgICAgICAgICAgICAgICAgICAgICAxIAorIDcgIDggIDkgMTAgMTEgMTIgMTMgICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgMiAgMyAgNCAgNSAgNiAgNyAgOCAKKzE0IDE1IDE2IDE3IDE4IDE5IDIwICAxMSAxMiAxMyAxNCAxNSAxNiAxNyAgIDkgMTAgMTEgMTIgMTMgMTQgMTUgCisyMSAyMiAyMyAyNCAyNSAyNiAyNyAgMTggMTkgMjAgMjEgMjIgMjMgMjQgIDE2IDE3IDE4IDE5IDIwIDIxIDIyIAorMjggMjkgMzAgMzEgICAgICAgICAgIDI1IDI2IDI3IDI4IDI5IDMwICAgICAyMyAyNCAyNSAyNiAyNyAyOCAyOSAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzAgMzEgICAgICAgICAgICAgICAgCitHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgd2VlaworICAgICBBdWd1c3QgMjAwNiAgICAgICAgIFNlcHRlbWJlciAyMDA2ICAgICAgICAgT2N0b2JlciAyMDA2ICAgIAorU3UgTW8gVHUgV2UgVGggRnIgU2EgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICBTdSBNbyBUdSBXZSBUaCBGciBTYQorICAgICAgIDEgIDIgIDMgIDQgIDUgICAgICAgICAgICAgICAgICAxICAyICAgMSAgMiAgMyAgNCAgNSAgNiAgNyAKKyA2ICA3ICA4ICA5IDEwIDExIDEyICAgMyAgNCAgNSAgNiAgNyAgOCAgOSAgIDggIDkgMTAgMTEgMTIgMTMgMTQgCisxMyAxNCAxNSAxNiAxNyAxOCAxOSAgMTAgMTEgMTIgMTMgMTQgMTUgMTYgIDE1IDE2IDE3IDE4IDE5IDIwIDIxIAorMjAgMjEgMjIgMjMgMjQgMjUgMjYgIDE3IDE4IDE5IDIwIDIxIDIyIDIzICAyMiAyMyAyNCAyNSAyNiAyNyAyOCAKKzI3IDI4IDI5IDMwIDMxICAgICAgICAyNCAyNSAyNiAyNyAyOCAyOSAzMCAgMjkgMzAgMzEgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorSnVsaWFuIC0gTW9uZGF5LWJhc2VkIHdlZWsKKyAgICAgICAgQXVndXN0IDIwMDYgICAgICAgICAgICAgICAgIFNlcHRlbWJlciAyMDA2ICAgICAgICAgICAgICAgIE9jdG9iZXIgMjAwNiAgICAgICAKK01vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKyAgICAyMTMgMjE0IDIxNSAyMTYgMjE3IDIxOCAgICAgICAgICAgICAgICAgIDI0NCAyNDUgMjQ2ICAgICAgICAgICAgICAgICAgICAgICAgICAyNzQgCisyMTkgMjIwIDIyMSAyMjIgMjIzIDIyNCAyMjUgIDI0NyAyNDggMjQ5IDI1MCAyNTEgMjUyIDI1MyAgMjc1IDI3NiAyNzcgMjc4IDI3OSAyODAgMjgxIAorMjI2IDIyNyAyMjggMjI5IDIzMCAyMzEgMjMyICAyNTQgMjU1IDI1NiAyNTcgMjU4IDI1OSAyNjAgIDI4MiAyODMgMjg0IDI4NSAyODYgMjg3IDI4OCAKKzIzMyAyMzQgMjM1IDIzNiAyMzcgMjM4IDIzOSAgMjYxIDI2MiAyNjMgMjY0IDI2NSAyNjYgMjY3ICAyODkgMjkwIDI5MSAyOTIgMjkzIDI5NCAyOTUgCisyNDAgMjQxIDI0MiAyNDMgICAgICAgICAgICAgIDI2OCAyNjkgMjcwIDI3MSAyNzIgMjczICAgICAgMjk2IDI5NyAyOTggMjk5IDMwMCAzMDEgMzAyIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwMyAzMDQgICAgICAgICAgICAgICAgICAgICAKK0p1bGlhbiAtIFN1bmRheS1iYXNlZCB3ZWVrCisgICAgICAgIEF1Z3VzdCAyMDA2ICAgICAgICAgICAgICAgICBTZXB0ZW1iZXIgMjAwNiAgICAgICAgICAgICAgICBPY3RvYmVyIDIwMDYgICAgICAgCitTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisgICAgICAgIDIxMyAyMTQgMjE1IDIxNiAyMTcgICAgICAgICAgICAgICAgICAgICAgMjQ0IDI0NSAgMjc0IDI3NSAyNzYgMjc3IDI3OCAyNzkgMjgwIAorMjE4IDIxOSAyMjAgMjIxIDIyMiAyMjMgMjI0ICAyNDYgMjQ3IDI0OCAyNDkgMjUwIDI1MSAyNTIgIDI4MSAyODIgMjgzIDI4NCAyODUgMjg2IDI4NyAKKzIyNSAyMjYgMjI3IDIyOCAyMjkgMjMwIDIzMSAgMjUzIDI1NCAyNTUgMjU2IDI1NyAyNTggMjU5ICAyODggMjg5IDI5MCAyOTEgMjkyIDI5MyAyOTQgCisyMzIgMjMzIDIzNCAyMzUgMjM2IDIzNyAyMzggIDI2MCAyNjEgMjYyIDI2MyAyNjQgMjY1IDI2NiAgMjk1IDI5NiAyOTcgMjk4IDI5OSAzMDAgMzAxIAorMjM5IDI0MCAyNDEgMjQyIDI0MyAgICAgICAgICAyNjcgMjY4IDI2OSAyNzAgMjcxIDI3MiAyNzMgIDMwMiAzMDMgMzA0ICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvM213IGIvdGVzdHMvZXhwZWN0ZWQvY2FsLzNtdwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYWZlYTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsLzNtdwpAQCAtMCwwICsxLDM3IEBACisKK0dyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzCisgICAgICBBdWd1c3QgMjAwNiAgICAgICAgICAgICBTZXB0ZW1iZXIgMjAwNiAgICAgICAgICAgIE9jdG9iZXIgMjAwNiAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CiszMSAgICAgMSAgMiAgMyAgNCAgNSAgNiAgMzUgICAgICAgICAgICAgIDEgIDIgIDMgIDM5ICAgICAgICAgICAgICAgICAgICAxIAorMzIgIDcgIDggIDkgMTAgMTEgMTIgMTMgIDM2ICA0ICA1ICA2ICA3ICA4ICA5IDEwICA0MCAgMiAgMyAgNCAgNSAgNiAgNyAgOCAKKzMzIDE0IDE1IDE2IDE3IDE4IDE5IDIwICAzNyAxMSAxMiAxMyAxNCAxNSAxNiAxNyAgNDEgIDkgMTAgMTEgMTIgMTMgMTQgMTUgCiszNCAyMSAyMiAyMyAyNCAyNSAyNiAyNyAgMzggMTggMTkgMjAgMjEgMjIgMjMgMjQgIDQyIDE2IDE3IDE4IDE5IDIwIDIxIDIyIAorMzUgMjggMjkgMzAgMzEgICAgICAgICAgIDM5IDI1IDI2IDI3IDI4IDI5IDMwICAgICA0MyAyMyAyNCAyNSAyNiAyNyAyOCAyOSAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDQgMzAgMzEgICAgICAgICAgICAgICAgCitHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycworICAgICAgQXVndXN0IDIwMDYgICAgICAgICAgICAgU2VwdGVtYmVyIDIwMDYgICAgICAgICAgICBPY3RvYmVyIDIwMDYgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorMzEgICAgICAgIDEgIDIgIDMgIDQgIDUgIDM1ICAgICAgICAgICAgICAgICAxICAyICA0MCAgMSAgMiAgMyAgNCAgNSAgNiAgNyAKKzMyICA2ICA3ICA4ICA5IDEwIDExIDEyICAzNiAgMyAgNCAgNSAgNiAgNyAgOCAgOSAgNDEgIDggIDkgMTAgMTEgMTIgMTMgMTQgCiszMyAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgMzcgMTAgMTEgMTIgMTMgMTQgMTUgMTYgIDQyIDE1IDE2IDE3IDE4IDE5IDIwIDIxIAorMzQgMjAgMjEgMjIgMjMgMjQgMjUgMjYgIDM4IDE3IDE4IDE5IDIwIDIxIDIyIDIzICA0MyAyMiAyMyAyNCAyNSAyNiAyNyAyOCAKKzM1IDI3IDI4IDI5IDMwIDMxICAgICAgICAzOSAyNCAyNSAyNiAyNyAyOCAyOSAzMCAgNDQgMjkgMzAgMzEgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorSnVsaWFuIC0gTW9uZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMKKyAgICAgICAgICBBdWd1c3QgMjAwNiAgICAgICAgICAgICAgICAgICBTZXB0ZW1iZXIgMjAwNiAgICAgICAgICAgICAgICAgICBPY3RvYmVyIDIwMDYgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzMxICAgICAyMTMgMjE0IDIxNSAyMTYgMjE3IDIxOCAgMzUgICAgICAgICAgICAgICAgIDI0NCAyNDUgMjQ2ICAzOSAgICAgICAgICAgICAgICAgICAgICAgICAyNzQgCiszMiAyMTkgMjIwIDIyMSAyMjIgMjIzIDIyNCAyMjUgIDM2IDI0NyAyNDggMjQ5IDI1MCAyNTEgMjUyIDI1MyAgNDAgMjc1IDI3NiAyNzcgMjc4IDI3OSAyODAgMjgxIAorMzMgMjI2IDIyNyAyMjggMjI5IDIzMCAyMzEgMjMyICAzNyAyNTQgMjU1IDI1NiAyNTcgMjU4IDI1OSAyNjAgIDQxIDI4MiAyODMgMjg0IDI4NSAyODYgMjg3IDI4OCAKKzM0IDIzMyAyMzQgMjM1IDIzNiAyMzcgMjM4IDIzOSAgMzggMjYxIDI2MiAyNjMgMjY0IDI2NSAyNjYgMjY3ICA0MiAyODkgMjkwIDI5MSAyOTIgMjkzIDI5NCAyOTUgCiszNSAyNDAgMjQxIDI0MiAyNDMgICAgICAgICAgICAgIDM5IDI2OCAyNjkgMjcwIDI3MSAyNzIgMjczICAgICAgNDMgMjk2IDI5NyAyOTggMjk5IDMwMCAzMDEgMzAyIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0IDMwMyAzMDQgICAgICAgICAgICAgICAgICAgICAKK0p1bGlhbiAtIFN1bmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzCisgICAgICAgICAgQXVndXN0IDIwMDYgICAgICAgICAgICAgICAgICAgU2VwdGVtYmVyIDIwMDYgICAgICAgICAgICAgICAgICAgT2N0b2JlciAyMDA2ICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CiszMSAgICAgICAgIDIxMyAyMTQgMjE1IDIxNiAyMTcgIDM1ICAgICAgICAgICAgICAgICAgICAgMjQ0IDI0NSAgNDAgMjc0IDI3NSAyNzYgMjc3IDI3OCAyNzkgMjgwIAorMzIgMjE4IDIxOSAyMjAgMjIxIDIyMiAyMjMgMjI0ICAzNiAyNDYgMjQ3IDI0OCAyNDkgMjUwIDI1MSAyNTIgIDQxIDI4MSAyODIgMjgzIDI4NCAyODUgMjg2IDI4NyAKKzMzIDIyNSAyMjYgMjI3IDIyOCAyMjkgMjMwIDIzMSAgMzcgMjUzIDI1NCAyNTUgMjU2IDI1NyAyNTggMjU5ICA0MiAyODggMjg5IDI5MCAyOTEgMjkyIDI5MyAyOTQgCiszNCAyMzIgMjMzIDIzNCAyMzUgMjM2IDIzNyAyMzggIDM4IDI2MCAyNjEgMjYyIDI2MyAyNjQgMjY1IDI2NiAgNDMgMjk1IDI5NiAyOTcgMjk4IDI5OSAzMDAgMzAxIAorMzUgMjM5IDI0MCAyNDEgMjQyIDI0MyAgICAgICAgICAzOSAyNjcgMjY4IDI2OSAyNzAgMjcxIDI3MiAyNzMgIDQ0IDMwMiAzMDMgMzA0ICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvYmlneWVhciBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyMmE4MTAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvYmlneWVhcgpAQCAtMCwwICsxLDI0OSBAQAorCitHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgbW9udGgKKyBEZWNlbWJlciAyMTQ3NDgzNjQ2CitNbyBUdSBXZSBUaCBGciBTYSBTdQorICAgICAgICAgICAgICAgIDEgIDIgCisgMyAgNCAgNSAgNiAgNyAgOCAgOSAKKzEwIDExIDEyIDEzIDE0IDE1IDE2IAorMTcgMTggMTkgMjAgMjEgMjIgMjMgCisyNCAyNSAyNiAyNyAyOCAyOSAzMCAKKzMxICAgICAgICAgICAgICAgICAgIAorR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIG1vbnRoCisgRGVjZW1iZXIgMjE0NzQ4MzY0NgorU3UgTW8gVHUgV2UgVGggRnIgU2EKKyAgICAgICAgICAgICAgICAgICAxIAorIDIgIDMgIDQgIDUgIDYgIDcgIDggCisgOSAxMCAxMSAxMiAxMyAxNCAxNSAKKzE2IDE3IDE4IDE5IDIwIDIxIDIyIAorMjMgMjQgMjUgMjYgMjcgMjggMjkgCiszMCAzMSAgICAgICAgICAgICAgICAKK0p1bGlhbiAtIE1vbmRheS1iYXNlZCBtb250aAorICAgIERlY2VtYmVyIDIxNDc0ODM2NDYgICAgCitNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKyAgICAgICAgICAgICAgICAgICAgMzM1IDMzNiAKKzMzNyAzMzggMzM5IDM0MCAzNDEgMzQyIDM0MyAKKzM0NCAzNDUgMzQ2IDM0NyAzNDggMzQ5IDM1MCAKKzM1MSAzNTIgMzUzIDM1NCAzNTUgMzU2IDM1NyAKKzM1OCAzNTkgMzYwIDM2MSAzNjIgMzYzIDM2NCAKKzM2NSAgICAgICAgICAgICAgICAgICAgICAgICAKK0p1bGlhbiAtIFN1bmRheS1iYXNlZCBtb250aAorICAgIERlY2VtYmVyIDIxNDc0ODM2NDYgICAgCitTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKyAgICAgICAgICAgICAgICAgICAgICAgIDMzNSAKKzMzNiAzMzcgMzM4IDMzOSAzNDAgMzQxIDM0MiAKKzM0MyAzNDQgMzQ1IDM0NiAzNDcgMzQ4IDM0OSAKKzM1MCAzNTEgMzUyIDM1MyAzNTQgMzU1IDM1NiAKKzM1NyAzNTggMzU5IDM2MCAzNjEgMzYyIDM2MyAKKzM2NCAzNjUgICAgICAgICAgICAgICAgICAgICAKK0dyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCB0aHJlZSBtb250aHMKKyBOb3ZlbWJlciAyMTQ3NDgzNjQ2ICAgRGVjZW1iZXIgMjE0NzQ4MzY0NiAgIEphbnVhcnkgMjE0NzQ4MzY0NyAKK01vIFR1IFdlIFRoIEZyIFNhIFN1ICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKyAgICAgICAgICAxICAyICAzICA0ICAgICAgICAgICAgICAgICAgMSAgMiAgICAgIDEgIDIgIDMgIDQgIDUgIDYgCisgNSAgNiAgNyAgOCAgOSAxMCAxMSAgIDMgIDQgIDUgIDYgIDcgIDggIDkgICA3ICA4ICA5IDEwIDExIDEyIDEzIAorMTIgMTMgMTQgMTUgMTYgMTcgMTggIDEwIDExIDEyIDEzIDE0IDE1IDE2ICAxNCAxNSAxNiAxNyAxOCAxOSAyMCAKKzE5IDIwIDIxIDIyIDIzIDI0IDI1ICAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgMjEgMjIgMjMgMjQgMjUgMjYgMjcgCisyNiAyNyAyOCAyOSAzMCAgICAgICAgMjQgMjUgMjYgMjcgMjggMjkgMzAgIDI4IDI5IDMwIDMxICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK0dyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCB0aHJlZSBtb250aHMKKyBOb3ZlbWJlciAyMTQ3NDgzNjQ2ICAgRGVjZW1iZXIgMjE0NzQ4MzY0NiAgIEphbnVhcnkgMjE0NzQ4MzY0NyAKK1N1IE1vIFR1IFdlIFRoIEZyIFNhICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKyAgICAgICAgICAgICAxICAyICAzICAgICAgICAgICAgICAgICAgICAgMSAgICAgICAgIDEgIDIgIDMgIDQgIDUgCisgNCAgNSAgNiAgNyAgOCAgOSAxMCAgIDIgIDMgIDQgIDUgIDYgIDcgIDggICA2ICA3ICA4ICA5IDEwIDExIDEyIAorMTEgMTIgMTMgMTQgMTUgMTYgMTcgICA5IDEwIDExIDEyIDEzIDE0IDE1ICAxMyAxNCAxNSAxNiAxNyAxOCAxOSAKKzE4IDE5IDIwIDIxIDIyIDIzIDI0ICAxNiAxNyAxOCAxOSAyMCAyMSAyMiAgMjAgMjEgMjIgMjMgMjQgMjUgMjYgCisyNSAyNiAyNyAyOCAyOSAzMCAgICAgMjMgMjQgMjUgMjYgMjcgMjggMjkgIDI3IDI4IDI5IDMwIDMxICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgIDMwIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK0p1bGlhbiAtIE1vbmRheS1iYXNlZCB0aHJlZSBtb250aHMKKyAgICBOb3ZlbWJlciAyMTQ3NDgzNjQ2ICAgICAgICAgIERlY2VtYmVyIDIxNDc0ODM2NDYgICAgICAgICAgIEphbnVhcnkgMjE0NzQ4MzY0NyAgICAKK01vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKyAgICAgICAgICAgIDMwNSAzMDYgMzA3IDMwOCAgICAgICAgICAgICAgICAgICAgICAzMzUgMzM2ICAgICAgICAxICAgMiAgIDMgICA0ICAgNSAgIDYgCiszMDkgMzEwIDMxMSAzMTIgMzEzIDMxNCAzMTUgIDMzNyAzMzggMzM5IDM0MCAzNDEgMzQyIDM0MyAgICA3ICAgOCAgIDkgIDEwICAxMSAgMTIgIDEzIAorMzE2IDMxNyAzMTggMzE5IDMyMCAzMjEgMzIyICAzNDQgMzQ1IDM0NiAzNDcgMzQ4IDM0OSAzNTAgICAxNCAgMTUgIDE2ICAxNyAgMTggIDE5ICAyMCAKKzMyMyAzMjQgMzI1IDMyNiAzMjcgMzI4IDMyOSAgMzUxIDM1MiAzNTMgMzU0IDM1NSAzNTYgMzU3ICAgMjEgIDIyICAyMyAgMjQgIDI1ICAyNiAgMjcgCiszMzAgMzMxIDMzMiAzMzMgMzM0ICAgICAgICAgIDM1OCAzNTkgMzYwIDM2MSAzNjIgMzYzIDM2NCAgIDI4ICAyOSAgMzAgIDMxICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNjUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK0p1bGlhbiAtIFN1bmRheS1iYXNlZCB0aHJlZSBtb250aHMKKyAgICBOb3ZlbWJlciAyMTQ3NDgzNjQ2ICAgICAgICAgIERlY2VtYmVyIDIxNDc0ODM2NDYgICAgICAgICAgIEphbnVhcnkgMjE0NzQ4MzY0NyAgICAKK1N1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKyAgICAgICAgICAgICAgICAzMDUgMzA2IDMwNyAgICAgICAgICAgICAgICAgICAgICAgICAgMzM1ICAgICAgICAgICAgMSAgIDIgICAzICAgNCAgIDUgCiszMDggMzA5IDMxMCAzMTEgMzEyIDMxMyAzMTQgIDMzNiAzMzcgMzM4IDMzOSAzNDAgMzQxIDM0MiAgICA2ICAgNyAgIDggICA5ICAxMCAgMTEgIDEyIAorMzE1IDMxNiAzMTcgMzE4IDMxOSAzMjAgMzIxICAzNDMgMzQ0IDM0NSAzNDYgMzQ3IDM0OCAzNDkgICAxMyAgMTQgIDE1ICAxNiAgMTcgIDE4ICAxOSAKKzMyMiAzMjMgMzI0IDMyNSAzMjYgMzI3IDMyOCAgMzUwIDM1MSAzNTIgMzUzIDM1NCAzNTUgMzU2ICAgMjAgIDIxICAyMiAgMjMgIDI0ICAyNSAgMjYgCiszMjkgMzMwIDMzMSAzMzIgMzMzIDMzNCAgICAgIDM1NyAzNTggMzU5IDM2MCAzNjEgMzYyIDM2MyAgIDI3ICAyOCAgMjkgIDMwICAzMSAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNjQgMzY1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK0dyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCB5ZWFyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjE0NzQ4MzY0NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgICAgICAgTWFyY2ggICAgICAgCitNbyBUdSBXZSBUaCBGciBTYSBTdSAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKyAxICAyICAzICA0ICA1ICA2ICA3ICAgICAgICAgICAgIDEgIDIgIDMgIDQgICAgICAgICAgICAgMSAgMiAgMyAgNCAgIAorIDggIDkgMTAgMTEgMTIgMTMgMTQgICAgNSAgNiAgNyAgOCAgOSAxMCAxMSAgICA1ICA2ICA3ICA4ICA5IDEwIDExICAgCisxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgMTIgMTMgMTQgMTUgMTYgMTcgMTggICAKKzIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgMTkgMjAgMjEgMjIgMjMgMjQgMjUgICAxOSAyMCAyMSAyMiAyMyAyNCAyNSAgIAorMjkgMzAgMzEgICAgICAgICAgICAgICAyNiAyNyAyOCAgICAgICAgICAgICAgIDI2IDI3IDI4IDI5IDMwIDMxICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgQXByaWwgICAgICAgICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgIAorTW8gVHUgV2UgVGggRnIgU2EgU3UgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CisgICAgICAgICAgICAgICAgICAgMSAgICAgICAxICAyICAzICA0ICA1ICA2ICAgICAgICAgICAgICAgIDEgIDIgIDMgICAKKyAyICAzICA0ICA1ICA2ICA3ICA4ICAgIDcgIDggIDkgMTAgMTEgMTIgMTMgICAgNCAgNSAgNiAgNyAgOCAgOSAxMCAgIAorIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAxNCAxNSAxNiAxNyAxOCAxOSAyMCAgIDExIDEyIDEzIDE0IDE1IDE2IDE3ICAgCisxNiAxNyAxOCAxOSAyMCAyMSAyMiAgIDIxIDIyIDIzIDI0IDI1IDI2IDI3ICAgMTggMTkgMjAgMjEgMjIgMjMgMjQgICAKKzIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgMjggMjkgMzAgMzEgICAgICAgICAgICAyNSAyNiAyNyAyOCAyOSAzMCAgICAgIAorMzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAgICAgU2VwdGVtYmVyICAgICAKK01vIFR1IFdlIFRoIEZyIFNhIFN1ICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorICAgICAgICAgICAgICAgICAgIDEgICAgICAgICAgMSAgMiAgMyAgNCAgNSAgICAgICAgICAgICAgICAgICAxICAyICAgCisgMiAgMyAgNCAgNSAgNiAgNyAgOCAgICA2ICA3ICA4ICA5IDEwIDExIDEyICAgIDMgIDQgIDUgIDYgIDcgIDggIDkgICAKKyA5IDEwIDExIDEyIDEzIDE0IDE1ICAgMTMgMTQgMTUgMTYgMTcgMTggMTkgICAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgIAorMTYgMTcgMTggMTkgMjAgMjEgMjIgICAyMCAyMSAyMiAyMyAyNCAyNSAyNiAgIDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgCisyMyAyNCAyNSAyNiAyNyAyOCAyOSAgIDI3IDI4IDI5IDMwIDMxICAgICAgICAgMjQgMjUgMjYgMjcgMjggMjkgMzAgICAKKzMwIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgIE9jdG9iZXIgICAgICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgCitNbyBUdSBXZSBUaCBGciBTYSBTdSAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKyAxICAyICAzICA0ICA1ICA2ICA3ICAgICAgICAgICAgIDEgIDIgIDMgIDQgICAgICAgICAgICAgICAgICAgMSAgMiAgIAorIDggIDkgMTAgMTEgMTIgMTMgMTQgICAgNSAgNiAgNyAgOCAgOSAxMCAxMSAgICAzICA0ICA1ICA2ICA3ICA4ICA5ICAgCisxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgMTAgMTEgMTIgMTMgMTQgMTUgMTYgICAKKzIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgMTkgMjAgMjEgMjIgMjMgMjQgMjUgICAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgIAorMjkgMzAgMzEgICAgICAgICAgICAgICAyNiAyNyAyOCAyOSAzMCAgICAgICAgIDI0IDI1IDI2IDI3IDI4IDI5IDMwICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzEgICAgICAgICAgICAgICAgICAgICAKKworR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIHllYXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMTQ3NDgzNjQ2ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgIEZlYnJ1YXJ5ICAgICAgICAgICAgICAgICBNYXJjaCAgICAgICAKK1N1IE1vIFR1IFdlIFRoIEZyIFNhICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorICAgIDEgIDIgIDMgIDQgIDUgIDYgICAgICAgICAgICAgICAgMSAgMiAgMyAgICAgICAgICAgICAgICAxICAyICAzICAgCisgNyAgOCAgOSAxMCAxMSAxMiAxMyAgICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgIDQgIDUgIDYgIDcgIDggIDkgMTAgICAKKzE0IDE1IDE2IDE3IDE4IDE5IDIwICAgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICAxMSAxMiAxMyAxNCAxNSAxNiAxNyAgIAorMjEgMjIgMjMgMjQgMjUgMjYgMjcgICAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgIDE4IDE5IDIwIDIxIDIyIDIzIDI0ICAgCisyOCAyOSAzMCAzMSAgICAgICAgICAgIDI1IDI2IDI3IDI4ICAgICAgICAgICAgMjUgMjYgMjcgMjggMjkgMzAgMzEgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICBBcHJpbCAgICAgICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgCitTdSBNbyBUdSBXZSBUaCBGciBTYSAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKyAxICAyICAzICA0ICA1ICA2ICA3ICAgICAgICAgIDEgIDIgIDMgIDQgIDUgICAgICAgICAgICAgICAgICAgMSAgMiAgIAorIDggIDkgMTAgMTEgMTIgMTMgMTQgICAgNiAgNyAgOCAgOSAxMCAxMSAxMiAgICAzICA0ICA1ICA2ICA3ICA4ICA5ICAgCisxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIDEzIDE0IDE1IDE2IDE3IDE4IDE5ICAgMTAgMTEgMTIgMTMgMTQgMTUgMTYgICAKKzIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgMjAgMjEgMjIgMjMgMjQgMjUgMjYgICAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgIAorMjkgMzAgICAgICAgICAgICAgICAgICAyNyAyOCAyOSAzMCAzMSAgICAgICAgIDI0IDI1IDI2IDI3IDI4IDI5IDMwICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgSnVseSAgICAgICAgICAgICAgICAgIEF1Z3VzdCAgICAgICAgICAgICAgICBTZXB0ZW1iZXIgICAgIAorU3UgTW8gVHUgV2UgVGggRnIgU2EgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCisgMSAgMiAgMyAgNCAgNSAgNiAgNyAgICAgICAgICAgICAxICAyICAzICA0ICAgICAgICAgICAgICAgICAgICAgIDEgICAKKyA4ICA5IDEwIDExIDEyIDEzIDE0ICAgIDUgIDYgIDcgIDggIDkgMTAgMTEgICAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgIAorMTUgMTYgMTcgMTggMTkgMjAgMjEgICAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgICA5IDEwIDExIDEyIDEzIDE0IDE1ICAgCisyMiAyMyAyNCAyNSAyNiAyNyAyOCAgIDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgMTYgMTcgMTggMTkgMjAgMjEgMjIgICAKKzI5IDMwIDMxICAgICAgICAgICAgICAgMjYgMjcgMjggMjkgMzAgMzEgICAgICAyMyAyNCAyNSAyNiAyNyAyOCAyOSAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgT2N0b2JlciAgICAgICAgICAgICAgIE5vdmVtYmVyICAgICAgICAgICAgICAgRGVjZW1iZXIgICAgICAKK1N1IE1vIFR1IFdlIFRoIEZyIFNhICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorICAgIDEgIDIgIDMgIDQgIDUgIDYgICAgICAgICAgICAgICAgMSAgMiAgMyAgICAgICAgICAgICAgICAgICAgICAxICAgCisgNyAgOCAgOSAxMCAxMSAxMiAxMyAgICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgIDIgIDMgIDQgIDUgIDYgIDcgIDggICAKKzE0IDE1IDE2IDE3IDE4IDE5IDIwICAgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICAgOSAxMCAxMSAxMiAxMyAxNCAxNSAgIAorMjEgMjIgMjMgMjQgMjUgMjYgMjcgICAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgIDE2IDE3IDE4IDE5IDIwIDIxIDIyICAgCisyOCAyOSAzMCAzMSAgICAgICAgICAgIDI1IDI2IDI3IDI4IDI5IDMwICAgICAgMjMgMjQgMjUgMjYgMjcgMjggMjkgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMCAzMSAgICAgICAgICAgICAgICAgIAorCitKdWxpYW4gLSBNb25kYXktYmFzZWQgeWVhcgorICAgICAgICAgICAgICAgICAgICAgICAgMjE0NzQ4MzY0NiAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgICBKYW51YXJ5ICAgICAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgIAorTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisgIDEgICAyICAgMyAgIDQgICA1ICAgNiAgIDcgICAgICAgICAgICAgICAgMzIgIDMzICAzNCAgMzUgICAKKyAgOCAgIDkgIDEwICAxMSAgMTIgIDEzICAxNCAgICAzNiAgMzcgIDM4ICAzOSAgNDAgIDQxICA0MiAgIAorIDE1ICAxNiAgMTcgIDE4ICAxOSAgMjAgIDIxICAgIDQzICA0NCAgNDUgIDQ2ICA0NyAgNDggIDQ5ICAgCisgMjIgIDIzICAyNCAgMjUgIDI2ICAyNyAgMjggICAgNTAgIDUxICA1MiAgNTMgIDU0ICA1NSAgNTYgICAKKyAyOSAgMzAgIDMxICAgICAgICAgICAgICAgICAgICA1NyAgNTggIDU5ICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgIE1hcmNoICAgICAgICAgICAgICAgICAgICAgICAgIEFwcmlsICAgICAgICAgICAKK01vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorICAgICAgICAgICAgIDYwICA2MSAgNjIgIDYzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDkxICAgCisgNjQgIDY1ICA2NiAgNjcgIDY4ICA2OSAgNzAgICAgOTIgIDkzICA5NCAgOTUgIDk2ICA5NyAgOTggICAKKyA3MSAgNzIgIDczICA3NCAgNzUgIDc2ICA3NyAgICA5OSAxMDAgMTAxIDEwMiAxMDMgMTA0IDEwNSAgIAorIDc4ICA3OSAgODAgIDgxICA4MiAgODMgIDg0ICAgMTA2IDEwNyAxMDggMTA5IDExMCAxMTEgMTEyICAgCisgODUgIDg2ICA4NyAgODggIDg5ICA5MCAgICAgICAxMTMgMTE0IDExNSAxMTYgMTE3IDExOCAxMTkgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEyMCAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgICAgCitNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKyAgICAxMjEgMTIyIDEyMyAxMjQgMTI1IDEyNiAgICAgICAgICAgICAgICAgICAxNTIgMTUzIDE1NCAgIAorMTI3IDEyOCAxMjkgMTMwIDEzMSAxMzIgMTMzICAgMTU1IDE1NiAxNTcgMTU4IDE1OSAxNjAgMTYxICAgCisxMzQgMTM1IDEzNiAxMzcgMTM4IDEzOSAxNDAgICAxNjIgMTYzIDE2NCAxNjUgMTY2IDE2NyAxNjggICAKKzE0MSAxNDIgMTQzIDE0NCAxNDUgMTQ2IDE0NyAgIDE2OSAxNzAgMTcxIDE3MiAxNzMgMTc0IDE3NSAgIAorMTQ4IDE0OSAxNTAgMTUxICAgICAgICAgICAgICAgMTc2IDE3NyAxNzggMTc5IDE4MCAxODEgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgIAorTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisgICAgICAgICAgICAgICAgICAgICAgICAxODIgICAgICAgICAgIDIxMyAyMTQgMjE1IDIxNiAyMTcgICAKKzE4MyAxODQgMTg1IDE4NiAxODcgMTg4IDE4OSAgIDIxOCAyMTkgMjIwIDIyMSAyMjIgMjIzIDIyNCAgIAorMTkwIDE5MSAxOTIgMTkzIDE5NCAxOTUgMTk2ICAgMjI1IDIyNiAyMjcgMjI4IDIyOSAyMzAgMjMxICAgCisxOTcgMTk4IDE5OSAyMDAgMjAxIDIwMiAyMDMgICAyMzIgMjMzIDIzNCAyMzUgMjM2IDIzNyAyMzggICAKKzIwNCAyMDUgMjA2IDIwNyAyMDggMjA5IDIxMCAgIDIzOSAyNDAgMjQxIDI0MiAyNDMgICAgICAgICAgIAorMjExIDIxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICBTZXB0ZW1iZXIgICAgICAgICAgICAgICAgICAgICAgT2N0b2JlciAgICAgICAgICAKK01vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorICAgICAgICAgICAgICAgICAgICAyNDQgMjQ1ICAgMjc0IDI3NSAyNzYgMjc3IDI3OCAyNzkgMjgwICAgCisyNDYgMjQ3IDI0OCAyNDkgMjUwIDI1MSAyNTIgICAyODEgMjgyIDI4MyAyODQgMjg1IDI4NiAyODcgICAKKzI1MyAyNTQgMjU1IDI1NiAyNTcgMjU4IDI1OSAgIDI4OCAyODkgMjkwIDI5MSAyOTIgMjkzIDI5NCAgIAorMjYwIDI2MSAyNjIgMjYzIDI2NCAyNjUgMjY2ICAgMjk1IDI5NiAyOTcgMjk4IDI5OSAzMDAgMzAxICAgCisyNjcgMjY4IDI2OSAyNzAgMjcxIDI3MiAyNzMgICAzMDIgMzAzIDMwNCAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgIE5vdmVtYmVyICAgICAgICAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgICAgCitNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKyAgICAgICAgICAgIDMwNSAzMDYgMzA3IDMwOCAgICAgICAgICAgICAgICAgICAgICAgMzM1IDMzNiAgIAorMzA5IDMxMCAzMTEgMzEyIDMxMyAzMTQgMzE1ICAgMzM3IDMzOCAzMzkgMzQwIDM0MSAzNDIgMzQzICAgCiszMTYgMzE3IDMxOCAzMTkgMzIwIDMyMSAzMjIgICAzNDQgMzQ1IDM0NiAzNDcgMzQ4IDM0OSAzNTAgICAKKzMyMyAzMjQgMzI1IDMyNiAzMjcgMzI4IDMyOSAgIDM1MSAzNTIgMzUzIDM1NCAzNTUgMzU2IDM1NyAgIAorMzMwIDMzMSAzMzIgMzMzIDMzNCAgICAgICAgICAgMzU4IDM1OSAzNjAgMzYxIDM2MiAzNjMgMzY0ICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNjUgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworSnVsaWFuIC0gU3VuZGF5LWJhc2VkIHllYXIKKyAgICAgICAgICAgICAgICAgICAgICAgIDIxNDc0ODM2NDYgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAKK1N1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorICAgICAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgICAgICAgICAgICAgICAgICAzMiAgMzMgIDM0ICAgCisgIDcgICA4ICAgOSAgMTAgIDExICAxMiAgMTMgICAgMzUgIDM2ICAzNyAgMzggIDM5ICA0MCAgNDEgICAKKyAxNCAgMTUgIDE2ICAxNyAgMTggIDE5ICAyMCAgICA0MiAgNDMgIDQ0ICA0NSAgNDYgIDQ3ICA0OCAgIAorIDIxICAyMiAgMjMgIDI0ICAyNSAgMjYgIDI3ICAgIDQ5ICA1MCAgNTEgIDUyICA1MyAgNTQgIDU1ICAgCisgMjggIDI5ICAzMCAgMzEgICAgICAgICAgICAgICAgNTYgIDU3ICA1OCAgNTkgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICBNYXJjaCAgICAgICAgICAgICAgICAgICAgICAgICBBcHJpbCAgICAgICAgICAgCitTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKyAgICAgICAgICAgICAgICAgNjAgIDYxICA2MiAgICA5MSAgOTIgIDkzICA5NCAgOTUgIDk2ICA5NyAgIAorIDYzICA2NCAgNjUgIDY2ICA2NyAgNjggIDY5ICAgIDk4ICA5OSAxMDAgMTAxIDEwMiAxMDMgMTA0ICAgCisgNzAgIDcxICA3MiAgNzMgIDc0ICA3NSAgNzYgICAxMDUgMTA2IDEwNyAxMDggMTA5IDExMCAxMTEgICAKKyA3NyAgNzggIDc5ICA4MCAgODEgIDgyICA4MyAgIDExMiAxMTMgMTE0IDExNSAxMTYgMTE3IDExOCAgIAorIDg0ICA4NSAgODYgIDg3ICA4OCAgODkgIDkwICAgMTE5IDEyMCAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAgIAorU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisgICAgICAgIDEyMSAxMjIgMTIzIDEyNCAxMjUgICAgICAgICAgICAgICAgICAgICAgIDE1MiAxNTMgICAKKzEyNiAxMjcgMTI4IDEyOSAxMzAgMTMxIDEzMiAgIDE1NCAxNTUgMTU2IDE1NyAxNTggMTU5IDE2MCAgIAorMTMzIDEzNCAxMzUgMTM2IDEzNyAxMzggMTM5ICAgMTYxIDE2MiAxNjMgMTY0IDE2NSAxNjYgMTY3ICAgCisxNDAgMTQxIDE0MiAxNDMgMTQ0IDE0NSAxNDYgICAxNjggMTY5IDE3MCAxNzEgMTcyIDE3MyAxNzQgICAKKzE0NyAxNDggMTQ5IDE1MCAxNTEgICAgICAgICAgIDE3NSAxNzYgMTc3IDE3OCAxNzkgMTgwIDE4MSAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgICAgICAgIEF1Z3VzdCAgICAgICAgICAKK1N1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorMTgyIDE4MyAxODQgMTg1IDE4NiAxODcgMTg4ICAgICAgICAgICAgICAgMjEzIDIxNCAyMTUgMjE2ICAgCisxODkgMTkwIDE5MSAxOTIgMTkzIDE5NCAxOTUgICAyMTcgMjE4IDIxOSAyMjAgMjIxIDIyMiAyMjMgICAKKzE5NiAxOTcgMTk4IDE5OSAyMDAgMjAxIDIwMiAgIDIyNCAyMjUgMjI2IDIyNyAyMjggMjI5IDIzMCAgIAorMjAzIDIwNCAyMDUgMjA2IDIwNyAyMDggMjA5ICAgMjMxIDIzMiAyMzMgMjM0IDIzNSAyMzYgMjM3ICAgCisyMTAgMjExIDIxMiAgICAgICAgICAgICAgICAgICAyMzggMjM5IDI0MCAyNDEgMjQyIDI0MyAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgU2VwdGVtYmVyICAgICAgICAgICAgICAgICAgICAgIE9jdG9iZXIgICAgICAgICAgCitTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKyAgICAgICAgICAgICAgICAgICAgICAgIDI0NCAgICAgICAyNzQgMjc1IDI3NiAyNzcgMjc4IDI3OSAgIAorMjQ1IDI0NiAyNDcgMjQ4IDI0OSAyNTAgMjUxICAgMjgwIDI4MSAyODIgMjgzIDI4NCAyODUgMjg2ICAgCisyNTIgMjUzIDI1NCAyNTUgMjU2IDI1NyAyNTggICAyODcgMjg4IDI4OSAyOTAgMjkxIDI5MiAyOTMgICAKKzI1OSAyNjAgMjYxIDI2MiAyNjMgMjY0IDI2NSAgIDI5NCAyOTUgMjk2IDI5NyAyOTggMjk5IDMwMCAgIAorMjY2IDI2NyAyNjggMjY5IDI3MCAyNzEgMjcyICAgMzAxIDMwMiAzMDMgMzA0ICAgICAgICAgICAgICAgCisyNzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAgIAorU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisgICAgICAgICAgICAgICAgMzA1IDMwNiAzMDcgICAgICAgICAgICAgICAgICAgICAgICAgICAzMzUgICAKKzMwOCAzMDkgMzEwIDMxMSAzMTIgMzEzIDMxNCAgIDMzNiAzMzcgMzM4IDMzOSAzNDAgMzQxIDM0MiAgIAorMzE1IDMxNiAzMTcgMzE4IDMxOSAzMjAgMzIxICAgMzQzIDM0NCAzNDUgMzQ2IDM0NyAzNDggMzQ5ICAgCiszMjIgMzIzIDMyNCAzMjUgMzI2IDMyNyAzMjggICAzNTAgMzUxIDM1MiAzNTMgMzU0IDM1NSAzNTYgICAKKzMyOSAzMzAgMzMxIDMzMiAzMzMgMzM0ICAgICAgIDM1NyAzNTggMzU5IDM2MCAzNjEgMzYyIDM2MyAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzY0IDM2NSAgICAgICAgICAgICAgICAgICAgICAgCisKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFydyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFydwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYWNhNWYxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL2JpZ3llYXJ3CkBAIC0wLDAgKzEsMjQ5IEBACisKK0dyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCBtb250aCB3aXRoIHdlZWsgbnVtYmVycworICBEZWNlbWJlciAyMTQ3NDgzNjQ2ICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1Cis0OCAgICAgICAgICAgICAgICAgMSAgMiAKKzQ5ICAzICA0ICA1ICA2ICA3ICA4ICA5IAorNTAgMTAgMTEgMTIgMTMgMTQgMTUgMTYgCis1MSAxNyAxOCAxOSAyMCAyMSAyMiAyMyAKKzUyIDI0IDI1IDI2IDI3IDI4IDI5IDMwIAorIDEgMzEgICAgICAgICAgICAgICAgICAgCitHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgbW9udGggd2l0aCB3ZWVrIG51bWJlcnMKKyAgRGVjZW1iZXIgMjE0NzQ4MzY0NiAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorNDggICAgICAgICAgICAgICAgICAgIDEgCis0OSAgMiAgMyAgNCAgNSAgNiAgNyAgOCAKKzUwICA5IDEwIDExIDEyIDEzIDE0IDE1IAorNTEgMTYgMTcgMTggMTkgMjAgMjEgMjIgCis1MiAyMyAyNCAyNSAyNiAyNyAyOCAyOSAKKzUzIDMwIDMxICAgICAgICAgICAgICAgIAorSnVsaWFuIC0gTW9uZGF5LWJhc2VkIG1vbnRoIHdpdGggd2VlayBudW1iZXJzCisgICAgICBEZWNlbWJlciAyMTQ3NDgzNjQ2ICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorNDggICAgICAgICAgICAgICAgICAgICAzMzUgMzM2IAorNDkgMzM3IDMzOCAzMzkgMzQwIDM0MSAzNDIgMzQzIAorNTAgMzQ0IDM0NSAzNDYgMzQ3IDM0OCAzNDkgMzUwIAorNTEgMzUxIDM1MiAzNTMgMzU0IDM1NSAzNTYgMzU3IAorNTIgMzU4IDM1OSAzNjAgMzYxIDM2MiAzNjMgMzY0IAorIDEgMzY1ICAgICAgICAgICAgICAgICAgICAgICAgIAorSnVsaWFuIC0gU3VuZGF5LWJhc2VkIG1vbnRoIHdpdGggd2VlayBudW1iZXJzCisgICAgICBEZWNlbWJlciAyMTQ3NDgzNjQ2ICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorNDggICAgICAgICAgICAgICAgICAgICAgICAgMzM1IAorNDkgMzM2IDMzNyAzMzggMzM5IDM0MCAzNDEgMzQyIAorNTAgMzQzIDM0NCAzNDUgMzQ2IDM0NyAzNDggMzQ5IAorNTEgMzUwIDM1MSAzNTIgMzUzIDM1NCAzNTUgMzU2IAorNTIgMzU3IDM1OCAzNTkgMzYwIDM2MSAzNjIgMzYzIAorNTMgMzY0IDM2NSAgICAgICAgICAgICAgICAgICAgIAorR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkIHRocmVlIG1vbnRocyB3aXRoIHdlZWsgbnVtYmVycworICBOb3ZlbWJlciAyMTQ3NDgzNjQ2ICAgICAgRGVjZW1iZXIgMjE0NzQ4MzY0NiAgICAgICBKYW51YXJ5IDIxNDc0ODM2NDcgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorNDQgICAgICAgICAgIDEgIDIgIDMgIDQgIDQ4ICAgICAgICAgICAgICAgICAxICAyICAgMSAgICAgMSAgMiAgMyAgNCAgNSAgNiAKKzQ1ICA1ICA2ICA3ICA4ICA5IDEwIDExICA0OSAgMyAgNCAgNSAgNiAgNyAgOCAgOSAgIDIgIDcgIDggIDkgMTAgMTEgMTIgMTMgCis0NiAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgNTAgMTAgMTEgMTIgMTMgMTQgMTUgMTYgICAzIDE0IDE1IDE2IDE3IDE4IDE5IDIwIAorNDcgMTkgMjAgMjEgMjIgMjMgMjQgMjUgIDUxIDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgNCAyMSAyMiAyMyAyNCAyNSAyNiAyNyAKKzQ4IDI2IDI3IDI4IDI5IDMwICAgICAgICA1MiAyNCAyNSAyNiAyNyAyOCAyOSAzMCAgIDUgMjggMjkgMzAgMzEgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgIDEgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIHRocmVlIG1vbnRocyB3aXRoIHdlZWsgbnVtYmVycworICBOb3ZlbWJlciAyMTQ3NDgzNjQ2ICAgICAgRGVjZW1iZXIgMjE0NzQ4MzY0NiAgICAgICBKYW51YXJ5IDIxNDc0ODM2NDcgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorNDQgICAgICAgICAgICAgIDEgIDIgIDMgIDQ4ICAgICAgICAgICAgICAgICAgICAxICAgMSAgICAgICAgMSAgMiAgMyAgNCAgNSAKKzQ1ICA0ICA1ICA2ICA3ICA4ICA5IDEwICA0OSAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgIDIgIDYgIDcgIDggIDkgMTAgMTEgMTIgCis0NiAxMSAxMiAxMyAxNCAxNSAxNiAxNyAgNTAgIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAzIDEzIDE0IDE1IDE2IDE3IDE4IDE5IAorNDcgMTggMTkgMjAgMjEgMjIgMjMgMjQgIDUxIDE2IDE3IDE4IDE5IDIwIDIxIDIyICAgNCAyMCAyMSAyMiAyMyAyNCAyNSAyNiAKKzQ4IDI1IDI2IDI3IDI4IDI5IDMwICAgICA1MiAyMyAyNCAyNSAyNiAyNyAyOCAyOSAgIDUgMjcgMjggMjkgMzAgMzEgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgNTMgMzAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorSnVsaWFuIC0gTW9uZGF5LWJhc2VkIHRocmVlIG1vbnRocyB3aXRoIHdlZWsgbnVtYmVycworICAgICAgTm92ZW1iZXIgMjE0NzQ4MzY0NiAgICAgICAgICAgICBEZWNlbWJlciAyMTQ3NDgzNjQ2ICAgICAgICAgICAgIEphbnVhcnkgMjE0NzQ4MzY0NyAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorNDQgICAgICAgICAgICAgMzA1IDMwNiAzMDcgMzA4ICA0OCAgICAgICAgICAgICAgICAgICAgIDMzNSAzMzYgICAxICAgICAgIDEgICAyICAgMyAgIDQgICA1ICAgNiAKKzQ1IDMwOSAzMTAgMzExIDMxMiAzMTMgMzE0IDMxNSAgNDkgMzM3IDMzOCAzMzkgMzQwIDM0MSAzNDIgMzQzICAgMiAgIDcgICA4ICAgOSAgMTAgIDExICAxMiAgMTMgCis0NiAzMTYgMzE3IDMxOCAzMTkgMzIwIDMyMSAzMjIgIDUwIDM0NCAzNDUgMzQ2IDM0NyAzNDggMzQ5IDM1MCAgIDMgIDE0ICAxNSAgMTYgIDE3ICAxOCAgMTkgIDIwIAorNDcgMzIzIDMyNCAzMjUgMzI2IDMyNyAzMjggMzI5ICA1MSAzNTEgMzUyIDM1MyAzNTQgMzU1IDM1NiAzNTcgICA0ICAyMSAgMjIgIDIzICAyNCAgMjUgIDI2ICAyNyAKKzQ4IDMzMCAzMzEgMzMyIDMzMyAzMzQgICAgICAgICAgNTIgMzU4IDM1OSAzNjAgMzYxIDM2MiAzNjMgMzY0ICAgNSAgMjggIDI5ICAzMCAgMzEgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxIDM2NSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorSnVsaWFuIC0gU3VuZGF5LWJhc2VkIHRocmVlIG1vbnRocyB3aXRoIHdlZWsgbnVtYmVycworICAgICAgTm92ZW1iZXIgMjE0NzQ4MzY0NiAgICAgICAgICAgICBEZWNlbWJlciAyMTQ3NDgzNjQ2ICAgICAgICAgICAgIEphbnVhcnkgMjE0NzQ4MzY0NyAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorNDQgICAgICAgICAgICAgICAgIDMwNSAzMDYgMzA3ICA0OCAgICAgICAgICAgICAgICAgICAgICAgICAzMzUgICAxICAgICAgICAgICAxICAgMiAgIDMgICA0ICAgNSAKKzQ1IDMwOCAzMDkgMzEwIDMxMSAzMTIgMzEzIDMxNCAgNDkgMzM2IDMzNyAzMzggMzM5IDM0MCAzNDEgMzQyICAgMiAgIDYgICA3ICAgOCAgIDkgIDEwICAxMSAgMTIgCis0NiAzMTUgMzE2IDMxNyAzMTggMzE5IDMyMCAzMjEgIDUwIDM0MyAzNDQgMzQ1IDM0NiAzNDcgMzQ4IDM0OSAgIDMgIDEzICAxNCAgMTUgIDE2ICAxNyAgMTggIDE5IAorNDcgMzIyIDMyMyAzMjQgMzI1IDMyNiAzMjcgMzI4ICA1MSAzNTAgMzUxIDM1MiAzNTMgMzU0IDM1NSAzNTYgICA0ICAyMCAgMjEgIDIyICAyMyAgMjQgIDI1ICAyNiAKKzQ4IDMyOSAzMzAgMzMxIDMzMiAzMzMgMzM0ICAgICAgNTIgMzU3IDM1OCAzNTkgMzYwIDM2MSAzNjIgMzYzICAgNSAgMjcgIDI4ICAyOSAgMzAgIDMxICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUzIDM2NCAzNjUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkIHllYXIgd2l0aCB3ZWVrIG51bWJlcnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIxNDc0ODM2NDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgICAgICAgICAgTWFyY2ggICAgICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorIDEgIDEgIDIgIDMgIDQgIDUgIDYgIDcgICAgNSAgICAgICAgICAgMSAgMiAgMyAgNCAgICA5ICAgICAgICAgICAxICAyICAzICA0ICAgCisgMiAgOCAgOSAxMCAxMSAxMiAxMyAxNCAgICA2ICA1ICA2ICA3ICA4ICA5IDEwIDExICAgMTAgIDUgIDYgIDcgIDggIDkgMTAgMTEgICAKKyAzIDE1IDE2IDE3IDE4IDE5IDIwIDIxICAgIDcgMTIgMTMgMTQgMTUgMTYgMTcgMTggICAxMSAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIAorIDQgMjIgMjMgMjQgMjUgMjYgMjcgMjggICAgOCAxOSAyMCAyMSAyMiAyMyAyNCAyNSAgIDEyIDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgCisgNSAyOSAzMCAzMSAgICAgICAgICAgICAgICA5IDI2IDI3IDI4ICAgICAgICAgICAgICAgMTMgMjYgMjcgMjggMjkgMzAgMzEgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgQXByaWwgICAgICAgICAgICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKzEzICAgICAgICAgICAgICAgICAgICAxICAgMTggICAgIDEgIDIgIDMgIDQgIDUgIDYgICAyMiAgICAgICAgICAgICAgMSAgMiAgMyAgIAorMTQgIDIgIDMgIDQgIDUgIDYgIDcgIDggICAxOSAgNyAgOCAgOSAxMCAxMSAxMiAxMyAgIDIzICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgCisxNSAgOSAxMCAxMSAxMiAxMyAxNCAxNSAgIDIwIDE0IDE1IDE2IDE3IDE4IDE5IDIwICAgMjQgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICAKKzE2IDE2IDE3IDE4IDE5IDIwIDIxIDIyICAgMjEgMjEgMjIgMjMgMjQgMjUgMjYgMjcgICAyNSAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgIAorMTcgMjMgMjQgMjUgMjYgMjcgMjggMjkgICAyMiAyOCAyOSAzMCAzMSAgICAgICAgICAgIDI2IDI1IDI2IDI3IDI4IDI5IDMwICAgICAgCisxOCAzMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgICAgICAgU2VwdGVtYmVyICAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CisyNiAgICAgICAgICAgICAgICAgICAgMSAgIDMxICAgICAgICAxICAyICAzICA0ICA1ICAgMzUgICAgICAgICAgICAgICAgIDEgIDIgICAKKzI3ICAyICAzICA0ICA1ICA2ICA3ICA4ICAgMzIgIDYgIDcgIDggIDkgMTAgMTEgMTIgICAzNiAgMyAgNCAgNSAgNiAgNyAgOCAgOSAgIAorMjggIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAzMyAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgIDM3IDEwIDExIDEyIDEzIDE0IDE1IDE2ICAgCisyOSAxNiAxNyAxOCAxOSAyMCAyMSAyMiAgIDM0IDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgMzggMTcgMTggMTkgMjAgMjEgMjIgMjMgICAKKzMwIDIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgMzUgMjcgMjggMjkgMzAgMzEgICAgICAgICAzOSAyNCAyNSAyNiAyNyAyOCAyOSAzMCAgIAorMzEgMzAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgIE9jdG9iZXIgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorNDAgIDEgIDIgIDMgIDQgIDUgIDYgIDcgICA0NCAgICAgICAgICAgMSAgMiAgMyAgNCAgIDQ4ICAgICAgICAgICAgICAgICAxICAyICAgCis0MSAgOCAgOSAxMCAxMSAxMiAxMyAxNCAgIDQ1ICA1ICA2ICA3ICA4ICA5IDEwIDExICAgNDkgIDMgIDQgIDUgIDYgIDcgIDggIDkgICAKKzQyIDE1IDE2IDE3IDE4IDE5IDIwIDIxICAgNDYgMTIgMTMgMTQgMTUgMTYgMTcgMTggICA1MCAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgIAorNDMgMjIgMjMgMjQgMjUgMjYgMjcgMjggICA0NyAxOSAyMCAyMSAyMiAyMyAyNCAyNSAgIDUxIDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgCis0NCAyOSAzMCAzMSAgICAgICAgICAgICAgIDQ4IDI2IDI3IDI4IDI5IDMwICAgICAgICAgNTIgMjQgMjUgMjYgMjcgMjggMjkgMzAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAzMSAgICAgICAgICAgICAgICAgICAgIAorCitHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgeWVhciB3aXRoIHdlZWsgbnVtYmVycworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjE0NzQ4MzY0NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgICAgICAgICBNYXJjaCAgICAgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCisgMSAgICAgMSAgMiAgMyAgNCAgNSAgNiAgICA1ICAgICAgICAgICAgICAxICAyICAzICAgIDkgICAgICAgICAgICAgIDEgIDIgIDMgICAKKyAyICA3ICA4ICA5IDEwIDExIDEyIDEzICAgIDYgIDQgIDUgIDYgIDcgIDggIDkgMTAgICAxMCAgNCAgNSAgNiAgNyAgOCAgOSAxMCAgIAorIDMgMTQgMTUgMTYgMTcgMTggMTkgMjAgICAgNyAxMSAxMiAxMyAxNCAxNSAxNiAxNyAgIDExIDExIDEyIDEzIDE0IDE1IDE2IDE3ICAgCisgNCAyMSAyMiAyMyAyNCAyNSAyNiAyNyAgICA4IDE4IDE5IDIwIDIxIDIyIDIzIDI0ICAgMTIgMTggMTkgMjAgMjEgMjIgMjMgMjQgICAKKyA1IDI4IDI5IDMwIDMxICAgICAgICAgICAgIDkgMjUgMjYgMjcgMjggICAgICAgICAgICAxMyAyNSAyNiAyNyAyOCAyOSAzMCAzMSAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICBBcHJpbCAgICAgICAgICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorMTQgIDEgIDIgIDMgIDQgIDUgIDYgIDcgICAxOCAgICAgICAgMSAgMiAgMyAgNCAgNSAgIDIyICAgICAgICAgICAgICAgICAxICAyICAgCisxNSAgOCAgOSAxMCAxMSAxMiAxMyAxNCAgIDE5ICA2ICA3ICA4ICA5IDEwIDExIDEyICAgMjMgIDMgIDQgIDUgIDYgIDcgIDggIDkgICAKKzE2IDE1IDE2IDE3IDE4IDE5IDIwIDIxICAgMjAgMTMgMTQgMTUgMTYgMTcgMTggMTkgICAyNCAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgIAorMTcgMjIgMjMgMjQgMjUgMjYgMjcgMjggICAyMSAyMCAyMSAyMiAyMyAyNCAyNSAyNiAgIDI1IDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgCisxOCAyOSAzMCAgICAgICAgICAgICAgICAgIDIyIDI3IDI4IDI5IDMwIDMxICAgICAgICAgMjYgMjQgMjUgMjYgMjcgMjggMjkgMzAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAgICAgICBTZXB0ZW1iZXIgICAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzI3ICAxICAyICAzICA0ICA1ICA2ICA3ICAgMzEgICAgICAgICAgIDEgIDIgIDMgIDQgICAzNSAgICAgICAgICAgICAgICAgICAgMSAgIAorMjggIDggIDkgMTAgMTEgMTIgMTMgMTQgICAzMiAgNSAgNiAgNyAgOCAgOSAxMCAxMSAgIDM2ICAyICAzICA0ICA1ICA2ICA3ICA4ICAgCisyOSAxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIDMzIDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgMzcgIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAKKzMwIDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgMzQgMTkgMjAgMjEgMjIgMjMgMjQgMjUgICAzOCAxNiAxNyAxOCAxOSAyMCAyMSAyMiAgIAorMzEgMjkgMzAgMzEgICAgICAgICAgICAgICAzNSAyNiAyNyAyOCAyOSAzMCAzMSAgICAgIDM5IDIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDAgMzAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgT2N0b2JlciAgICAgICAgICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCis0MCAgICAgMSAgMiAgMyAgNCAgNSAgNiAgIDQ0ICAgICAgICAgICAgICAxICAyICAzICAgNDggICAgICAgICAgICAgICAgICAgIDEgICAKKzQxICA3ICA4ICA5IDEwIDExIDEyIDEzICAgNDUgIDQgIDUgIDYgIDcgIDggIDkgMTAgICA0OSAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgIAorNDIgMTQgMTUgMTYgMTcgMTggMTkgMjAgICA0NiAxMSAxMiAxMyAxNCAxNSAxNiAxNyAgIDUwICA5IDEwIDExIDEyIDEzIDE0IDE1ICAgCis0MyAyMSAyMiAyMyAyNCAyNSAyNiAyNyAgIDQ3IDE4IDE5IDIwIDIxIDIyIDIzIDI0ICAgNTEgMTYgMTcgMTggMTkgMjAgMjEgMjIgICAKKzQ0IDI4IDI5IDMwIDMxICAgICAgICAgICAgNDggMjUgMjYgMjcgMjggMjkgMzAgICAgICA1MiAyMyAyNCAyNSAyNiAyNyAyOCAyOSAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUzIDMwIDMxICAgICAgICAgICAgICAgICAgCisKK0p1bGlhbiAtIE1vbmRheS1iYXNlZCB5ZWFyIHdpdGggd2VlayBudW1iZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAyMTQ3NDgzNjQ2ICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAgICAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKyAxICAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgNyAgICA1ICAgICAgICAgICAgICAzMiAgMzMgIDM0ICAzNSAgIAorIDIgICA4ICAgOSAgMTAgIDExICAxMiAgMTMgIDE0ICAgIDYgIDM2ICAzNyAgMzggIDM5ICA0MCAgNDEgIDQyICAgCisgMyAgMTUgIDE2ICAxNyAgMTggIDE5ICAyMCAgMjEgICAgNyAgNDMgIDQ0ICA0NSAgNDYgIDQ3ICA0OCAgNDkgICAKKyA0ICAyMiAgMjMgIDI0ICAyNSAgMjYgIDI3ICAyOCAgICA4ICA1MCAgNTEgIDUyICA1MyAgNTQgIDU1ICA1NiAgIAorIDUgIDI5ICAzMCAgMzEgICAgICAgICAgICAgICAgICAgIDkgIDU3ICA1OCAgNTkgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICBNYXJjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcHJpbCAgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisgOSAgICAgICAgICAgICAgNjAgIDYxICA2MiAgNjMgICAxMyAgICAgICAgICAgICAgICAgICAgICAgICAgOTEgICAKKzEwICA2NCAgNjUgIDY2ICA2NyAgNjggIDY5ICA3MCAgIDE0ICA5MiAgOTMgIDk0ICA5NSAgOTYgIDk3ICA5OCAgIAorMTEgIDcxICA3MiAgNzMgIDc0ICA3NSAgNzYgIDc3ICAgMTUgIDk5IDEwMCAxMDEgMTAyIDEwMyAxMDQgMTA1ICAgCisxMiAgNzggIDc5ICA4MCAgODEgIDgyICA4MyAgODQgICAxNiAxMDYgMTA3IDEwOCAxMDkgMTEwIDExMSAxMTIgICAKKzEzICA4NSAgODYgIDg3ICA4OCAgODkgIDkwICAgICAgIDE3IDExMyAxMTQgMTE1IDExNiAxMTcgMTE4IDExOSAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTggMTIwICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorMTggICAgIDEyMSAxMjIgMTIzIDEyNCAxMjUgMTI2ICAgMjIgICAgICAgICAgICAgICAgIDE1MiAxNTMgMTU0ICAgCisxOSAxMjcgMTI4IDEyOSAxMzAgMTMxIDEzMiAxMzMgICAyMyAxNTUgMTU2IDE1NyAxNTggMTU5IDE2MCAxNjEgICAKKzIwIDEzNCAxMzUgMTM2IDEzNyAxMzggMTM5IDE0MCAgIDI0IDE2MiAxNjMgMTY0IDE2NSAxNjYgMTY3IDE2OCAgIAorMjEgMTQxIDE0MiAxNDMgMTQ0IDE0NSAxNDYgMTQ3ICAgMjUgMTY5IDE3MCAxNzEgMTcyIDE3MyAxNzQgMTc1ICAgCisyMiAxNDggMTQ5IDE1MCAxNTEgICAgICAgICAgICAgICAyNiAxNzYgMTc3IDE3OCAxNzkgMTgwIDE4MSAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzI2ICAgICAgICAgICAgICAgICAgICAgICAgIDE4MiAgIDMxICAgICAgICAgMjEzIDIxNCAyMTUgMjE2IDIxNyAgIAorMjcgMTgzIDE4NCAxODUgMTg2IDE4NyAxODggMTg5ICAgMzIgMjE4IDIxOSAyMjAgMjIxIDIyMiAyMjMgMjI0ICAgCisyOCAxOTAgMTkxIDE5MiAxOTMgMTk0IDE5NSAxOTYgICAzMyAyMjUgMjI2IDIyNyAyMjggMjI5IDIzMCAyMzEgICAKKzI5IDE5NyAxOTggMTk5IDIwMCAyMDEgMjAyIDIwMyAgIDM0IDIzMiAyMzMgMjM0IDIzNSAyMzYgMjM3IDIzOCAgIAorMzAgMjA0IDIwNSAyMDYgMjA3IDIwOCAyMDkgMjEwICAgMzUgMjM5IDI0MCAyNDEgMjQyIDI0MyAgICAgICAgICAgCiszMSAyMTEgMjEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgU2VwdGVtYmVyICAgICAgICAgICAgICAgICAgICAgICAgIE9jdG9iZXIgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCiszNSAgICAgICAgICAgICAgICAgICAgIDI0NCAyNDUgICA0MCAyNzQgMjc1IDI3NiAyNzcgMjc4IDI3OSAyODAgICAKKzM2IDI0NiAyNDcgMjQ4IDI0OSAyNTAgMjUxIDI1MiAgIDQxIDI4MSAyODIgMjgzIDI4NCAyODUgMjg2IDI4NyAgIAorMzcgMjUzIDI1NCAyNTUgMjU2IDI1NyAyNTggMjU5ICAgNDIgMjg4IDI4OSAyOTAgMjkxIDI5MiAyOTMgMjk0ICAgCiszOCAyNjAgMjYxIDI2MiAyNjMgMjY0IDI2NSAyNjYgICA0MyAyOTUgMjk2IDI5NyAyOTggMjk5IDMwMCAzMDEgICAKKzM5IDI2NyAyNjggMjY5IDI3MCAyNzEgMjcyIDI3MyAgIDQ0IDMwMiAzMDMgMzA0ICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgIE5vdmVtYmVyICAgICAgICAgICAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorNDQgICAgICAgICAgICAgMzA1IDMwNiAzMDcgMzA4ICAgNDggICAgICAgICAgICAgICAgICAgICAzMzUgMzM2ICAgCis0NSAzMDkgMzEwIDMxMSAzMTIgMzEzIDMxNCAzMTUgICA0OSAzMzcgMzM4IDMzOSAzNDAgMzQxIDM0MiAzNDMgICAKKzQ2IDMxNiAzMTcgMzE4IDMxOSAzMjAgMzIxIDMyMiAgIDUwIDM0NCAzNDUgMzQ2IDM0NyAzNDggMzQ5IDM1MCAgIAorNDcgMzIzIDMyNCAzMjUgMzI2IDMyNyAzMjggMzI5ICAgNTEgMzUxIDM1MiAzNTMgMzU0IDM1NSAzNTYgMzU3ICAgCis0OCAzMzAgMzMxIDMzMiAzMzMgMzM0ICAgICAgICAgICA1MiAzNTggMzU5IDM2MCAzNjEgMzYyIDM2MyAzNjQgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxIDM2NSAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCitKdWxpYW4gLSBTdW5kYXktYmFzZWQgeWVhciB3aXRoIHdlZWsgbnVtYmVycworICAgICAgICAgICAgICAgICAgICAgICAgICAgMjE0NzQ4MzY0NiAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisgMSAgICAgICAxICAgMiAgIDMgICA0ICAgNSAgIDYgICAgNSAgICAgICAgICAgICAgICAgIDMyICAzMyAgMzQgICAKKyAyICAgNyAgIDggICA5ICAxMCAgMTEgIDEyICAxMyAgICA2ICAzNSAgMzYgIDM3ICAzOCAgMzkgIDQwICA0MSAgIAorIDMgIDE0ICAxNSAgMTYgIDE3ICAxOCAgMTkgIDIwICAgIDcgIDQyICA0MyAgNDQgIDQ1ICA0NiAgNDcgIDQ4ICAgCisgNCAgMjEgIDIyICAyMyAgMjQgIDI1ICAyNiAgMjcgICAgOCAgNDkgIDUwICA1MSAgNTIgIDUzICA1NCAgNTUgICAKKyA1ICAyOCAgMjkgIDMwICAzMSAgICAgICAgICAgICAgICA5ICA1NiAgNTcgIDU4ICA1OSAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgTWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgQXByaWwgICAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorIDkgICAgICAgICAgICAgICAgICA2MCAgNjEgIDYyICAgMTQgIDkxICA5MiAgOTMgIDk0ICA5NSAgOTYgIDk3ICAgCisxMCAgNjMgIDY0ICA2NSAgNjYgIDY3ICA2OCAgNjkgICAxNSAgOTggIDk5IDEwMCAxMDEgMTAyIDEwMyAxMDQgICAKKzExICA3MCAgNzEgIDcyICA3MyAgNzQgIDc1ICA3NiAgIDE2IDEwNSAxMDYgMTA3IDEwOCAxMDkgMTEwIDExMSAgIAorMTIgIDc3ICA3OCAgNzkgIDgwICA4MSAgODIgIDgzICAgMTcgMTEyIDExMyAxMTQgMTE1IDExNiAxMTcgMTE4ICAgCisxMyAgODQgIDg1ICA4NiAgODcgIDg4ICA4OSAgOTAgICAxOCAxMTkgMTIwICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzE4ICAgICAgICAgMTIxIDEyMiAxMjMgMTI0IDEyNSAgIDIyICAgICAgICAgICAgICAgICAgICAgMTUyIDE1MyAgIAorMTkgMTI2IDEyNyAxMjggMTI5IDEzMCAxMzEgMTMyICAgMjMgMTU0IDE1NSAxNTYgMTU3IDE1OCAxNTkgMTYwICAgCisyMCAxMzMgMTM0IDEzNSAxMzYgMTM3IDEzOCAxMzkgICAyNCAxNjEgMTYyIDE2MyAxNjQgMTY1IDE2NiAxNjcgICAKKzIxIDE0MCAxNDEgMTQyIDE0MyAxNDQgMTQ1IDE0NiAgIDI1IDE2OCAxNjkgMTcwIDE3MSAxNzIgMTczIDE3NCAgIAorMjIgMTQ3IDE0OCAxNDkgMTUwIDE1MSAgICAgICAgICAgMjYgMTc1IDE3NiAxNzcgMTc4IDE3OSAxODAgMTgxICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1Z3VzdCAgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisyNyAxODIgMTgzIDE4NCAxODUgMTg2IDE4NyAxODggICAzMSAgICAgICAgICAgICAyMTMgMjE0IDIxNSAyMTYgICAKKzI4IDE4OSAxOTAgMTkxIDE5MiAxOTMgMTk0IDE5NSAgIDMyIDIxNyAyMTggMjE5IDIyMCAyMjEgMjIyIDIyMyAgIAorMjkgMTk2IDE5NyAxOTggMTk5IDIwMCAyMDEgMjAyICAgMzMgMjI0IDIyNSAyMjYgMjI3IDIyOCAyMjkgMjMwICAgCiszMCAyMDMgMjA0IDIwNSAyMDYgMjA3IDIwOCAyMDkgICAzNCAyMzEgMjMyIDIzMyAyMzQgMjM1IDIzNiAyMzcgICAKKzMxIDIxMCAyMTEgMjEyICAgICAgICAgICAgICAgICAgIDM1IDIzOCAyMzkgMjQwIDI0MSAyNDIgMjQzICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgIFNlcHRlbWJlciAgICAgICAgICAgICAgICAgICAgICAgICBPY3RvYmVyICAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorMzUgICAgICAgICAgICAgICAgICAgICAgICAgMjQ0ICAgNDAgICAgIDI3NCAyNzUgMjc2IDI3NyAyNzggMjc5ICAgCiszNiAyNDUgMjQ2IDI0NyAyNDggMjQ5IDI1MCAyNTEgICA0MSAyODAgMjgxIDI4MiAyODMgMjg0IDI4NSAyODYgICAKKzM3IDI1MiAyNTMgMjU0IDI1NSAyNTYgMjU3IDI1OCAgIDQyIDI4NyAyODggMjg5IDI5MCAyOTEgMjkyIDI5MyAgIAorMzggMjU5IDI2MCAyNjEgMjYyIDI2MyAyNjQgMjY1ICAgNDMgMjk0IDI5NSAyOTYgMjk3IDI5OCAyOTkgMzAwICAgCiszOSAyNjYgMjY3IDI2OCAyNjkgMjcwIDI3MSAyNzIgICA0NCAzMDEgMzAyIDMwMyAzMDQgICAgICAgICAgICAgICAKKzQwIDI3MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzQ0ICAgICAgICAgICAgICAgICAzMDUgMzA2IDMwNyAgIDQ4ICAgICAgICAgICAgICAgICAgICAgICAgIDMzNSAgIAorNDUgMzA4IDMwOSAzMTAgMzExIDMxMiAzMTMgMzE0ICAgNDkgMzM2IDMzNyAzMzggMzM5IDM0MCAzNDEgMzQyICAgCis0NiAzMTUgMzE2IDMxNyAzMTggMzE5IDMyMCAzMjEgICA1MCAzNDMgMzQ0IDM0NSAzNDYgMzQ3IDM0OCAzNDkgICAKKzQ3IDMyMiAzMjMgMzI0IDMyNSAzMjYgMzI3IDMyOCAgIDUxIDM1MCAzNTEgMzUyIDM1MyAzNTQgMzU1IDM1NiAgIAorNDggMzI5IDMzMCAzMzEgMzMyIDMzMyAzMzQgICAgICAgNTIgMzU3IDM1OCAzNTkgMzYwIDM2MSAzNjIgMzYzICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MyAzNjQgMzY1ICAgICAgICAgICAgICAgICAgICAgICAKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL2NvbG9yIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL2NvbG9yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5MzZhYzIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvY29sb3IKQEAgLTAsMCArMSw1NSBAQAorCitGaXJzdCBkYXkKKyAgICBKYW51YXJ5IDAwMDEgICAgCitTdSBNbyBUdSBXZSBUaCBGciBTYQorICAgICAgICAgICAgICAgICAgG1s3bSAxG1syN20gCisgMiAgMyAgNCAgNSAgNiAgNyAgOCAKKyA5IDEwIDExIDEyIDEzIDE0IDE1IAorMTYgMTcgMTggMTkgMjAgMjEgMjIgCisyMyAyNCAyNSAyNiAyNyAyOCAyOSAKKzMwIDMxICAgICAgICAgICAgICAgIAorUmVmb3JtYXRpb24gY29ybmVyIGNhc2VzIDEKKyAgIFNlcHRlbWJlciAxNzUyICAgCitTdSBNbyBUdSBXZSBUaCBGciBTYQorICAgICAgIDEgG1s3bSAyG1syN20gMTQgMTUgMTYgCisxNyAxOCAxOSAyMCAyMSAyMiAyMyAKKzI0IDI1IDI2IDI3IDI4IDI5IDMwIAorICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgIAorUmVmb3JtYXRpb24gY29ybmVyIGNhc2VzIDIKKyAgIFNlcHRlbWJlciAxNzUyICAgCitTdSBNbyBUdSBXZSBUaCBGciBTYQorICAgICAgIDEgIDIgMTQgMTUgMTYgCisxNyAxOCAxOSAyMCAyMSAyMiAyMyAKKzI0IDI1IDI2IDI3IDI4IDI5IDMwIAorICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgIAorUmVmb3JtYXRpb24gY29ybmVyIGNhc2VzIDMKKyAgIFNlcHRlbWJlciAxNzUyICAgCitTdSBNbyBUdSBXZSBUaCBGciBTYQorICAgICAgIDEgIDIgMTQgMTUgMTYgCisxNyAxOCAxOSAyMCAyMSAyMiAyMyAKKzI0IDI1IDI2IDI3IDI4IDI5IDMwIAorICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgIAorUmVmb3JtYXRpb24gY29ybmVyIGNhc2VzIDQKKyAgIFNlcHRlbWJlciAxNzUyICAgCitTdSBNbyBUdSBXZSBUaCBGciBTYQorICAgICAgIDEgIDIgG1s3bTE0G1syN20gMTUgMTYgCisxNyAxOCAxOSAyMCAyMSAyMiAyMyAKKzI0IDI1IDI2IDI3IDI4IDI5IDMwIAorICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgIAorTGFzdCBkYXkKKyAgICBOb3ZlbWJlciA5OTk5ICAgICAgICAgRGVjZW1iZXIgOTk5OSAgICAgICAgIEphbnVhcnkgMTAwMDAgICAKK1N1IE1vIFR1IFdlIFRoIEZyIFNhICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKyAgICAxICAyICAzICA0ICA1ICA2ICAgICAgICAgICAgMSAgMiAgMyAgNCAgICAgICAgICAgICAgICAgICAgIDEgCisgNyAgOCAgOSAxMCAxMSAxMiAxMyAgIDUgIDYgIDcgIDggIDkgMTAgMTEgICAyICAzICA0ICA1ICA2ICA3ICA4IAorMTQgMTUgMTYgMTcgMTggMTkgMjAgIDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgOSAxMCAxMSAxMiAxMyAxNCAxNSAKKzIxIDIyIDIzIDI0IDI1IDI2IDI3ICAxOSAyMCAyMSAyMiAyMyAyNCAyNSAgMTYgMTcgMTggMTkgMjAgMjEgMjIgCisyOCAyOSAzMCAgICAgICAgICAgICAgMjYgMjcgMjggMjkgMzAgG1s3bTMxG1syN20gICAgIDIzIDI0IDI1IDI2IDI3IDI4IDI5IAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMCAzMSAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC9jb2xvcncgYi90ZXN0cy9leHBlY3RlZC9jYWwvY29sb3J3Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhMDcyN2MKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvY29sb3J3CkBAIC0wLDAgKzEsNTUgQEAKKworRmlyc3QgZGF5IHdpdGggd2VlayBudW1iZXJzCisgICAgICBKYW51YXJ5IDAwMDEgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKyAxICAgICAgICAgICAgICAgICAgIBtbN20gMRtbMjdtIAorIDIgIDIgIDMgIDQgIDUgIDYgIDcgIDggCisgMyAgOSAxMCAxMSAxMiAxMyAxNCAxNSAKKyA0IDE2IDE3IDE4IDE5IDIwIDIxIDIyIAorIDUgMjMgMjQgMjUgMjYgMjcgMjggMjkgCisgNiAzMCAzMSAgICAgICAgICAgICAgICAKK1JlZm9ybWF0aW9uIGNvcm5lciBjYXNlcyAxIHdpdGggd2VlayBudW1iZXJzCisgICAgIFNlcHRlbWJlciAxNzUyICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzM2ICAgICAgICAxIBtbN20gMhtbMjdtIDE0IDE1IDE2IAorMzcgMTcgMTggMTkgMjAgMjEgMjIgMjMgCiszOCAyNCAyNSAyNiAyNyAyOCAyOSAzMCAKKyAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAKK1JlZm9ybWF0aW9uIGNvcm5lciBjYXNlcyAyIHdpdGggd2VlayBudW1iZXJzCisgICAgIFNlcHRlbWJlciAxNzUyICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzM2ICAgICAgICAxICAyIDE0IDE1IDE2IAorMzcgMTcgMTggMTkgMjAgMjEgMjIgMjMgCiszOCAyNCAyNSAyNiAyNyAyOCAyOSAzMCAKKyAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAKK1JlZm9ybWF0aW9uIGNvcm5lciBjYXNlcyAzIHdpdGggd2VlayBudW1iZXJzCisgICAgIFNlcHRlbWJlciAxNzUyICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzM2ICAgICAgICAxICAyIDE0IDE1IDE2IAorMzcgMTcgMTggMTkgMjAgMjEgMjIgMjMgCiszOCAyNCAyNSAyNiAyNyAyOCAyOSAzMCAKKyAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAKK1JlZm9ybWF0aW9uIGNvcm5lciBjYXNlcyA0IHdpdGggd2VlayBudW1iZXJzCisgICAgIFNlcHRlbWJlciAxNzUyICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzM2ICAgICAgICAxICAyIBtbN20xNBtbMjdtIDE1IDE2IAorMzcgMTcgMTggMTkgMjAgMjEgMjIgMjMgCiszOCAyNCAyNSAyNiAyNyAyOCAyOSAzMCAKKyAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAKK0xhc3QgZGF5IHdpdGggd2VlayBudW1iZXJzCisgICAgIE5vdmVtYmVyIDk5OTkgICAgICAgICAgICBEZWNlbWJlciA5OTk5ICAgICAgICAgICAgSmFudWFyeSAxMDAwMCAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCis0NSAgICAgMSAgMiAgMyAgNCAgNSAgNiAgNDkgICAgICAgICAgIDEgIDIgIDMgIDQgICAxICAgICAgICAgICAgICAgICAgICAxIAorNDYgIDcgIDggIDkgMTAgMTEgMTIgMTMgIDUwICA1ICA2ICA3ICA4ICA5IDEwIDExICAgMiAgMiAgMyAgNCAgNSAgNiAgNyAgOCAKKzQ3IDE0IDE1IDE2IDE3IDE4IDE5IDIwICA1MSAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIDMgIDkgMTAgMTEgMTIgMTMgMTQgMTUgCis0OCAyMSAyMiAyMyAyNCAyNSAyNiAyNyAgNTIgMTkgMjAgMjEgMjIgMjMgMjQgMjUgICA0IDE2IDE3IDE4IDE5IDIwIDIxIDIyIAorNDkgMjggMjkgMzAgICAgICAgICAgICAgIDUzIDI2IDI3IDI4IDI5IDMwIBtbN20zMRtbMjdtICAgICAgNSAyMyAyNCAyNSAyNiAyNyAyOCAyOSAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYgMzAgMzEgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvamFuMTc1MyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9qYW4xNzUzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhZTEwNmIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvamFuMTc1MwpAQCAtMCwwICsxLDE5IEBACisKK01vbmRheS1iYXNlZCAxNzUzIHdlZWsgbnVtYmVycworICAgICBEZWNlbWJlciAxNzUyICAgICAgICAgICAgIEphbnVhcnkgMTc1MyAgICAgICAgICAgIEZlYnJ1YXJ5IDE3NTMgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorNDcgICAgICAgICAgICAgIDEgIDIgIDMgICAxICAxICAyICAzICA0ICA1ICA2ICA3ICAgNSAgICAgICAgICAgMSAgMiAgMyAgNCAKKzQ4ICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgMiAgOCAgOSAxMCAxMSAxMiAxMyAxNCAgIDYgIDUgIDYgIDcgIDggIDkgMTAgMTEgCis0OSAxMSAxMiAxMyAxNCAxNSAxNiAxNyAgIDMgMTUgMTYgMTcgMTggMTkgMjAgMjEgICA3IDEyIDEzIDE0IDE1IDE2IDE3IDE4IAorNTAgMTggMTkgMjAgMjEgMjIgMjMgMjQgICA0IDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgOCAxOSAyMCAyMSAyMiAyMyAyNCAyNSAKKzUxIDI1IDI2IDI3IDI4IDI5IDMwIDMxICAgNSAyOSAzMCAzMSAgICAgICAgICAgICAgIDkgMjYgMjcgMjggICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorU3VuZGF5LWJhc2VkIDE3NTMgd2VlayBudW1iZXJzCisgICAgIERlY2VtYmVyIDE3NTIgICAgICAgICAgICAgSmFudWFyeSAxNzUzICAgICAgICAgICAgRmVicnVhcnkgMTc1MyAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCis0NyAgICAgICAgICAgICAgICAgMSAgMiAgIDEgICAgIDEgIDIgIDMgIDQgIDUgIDYgICA1ICAgICAgICAgICAgICAxICAyICAzIAorNDggIDMgIDQgIDUgIDYgIDcgIDggIDkgICAyICA3ICA4ICA5IDEwIDExIDEyIDEzICAgNiAgNCAgNSAgNiAgNyAgOCAgOSAxMCAKKzQ5IDEwIDExIDEyIDEzIDE0IDE1IDE2ICAgMyAxNCAxNSAxNiAxNyAxOCAxOSAyMCAgIDcgMTEgMTIgMTMgMTQgMTUgMTYgMTcgCis1MCAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgIDQgMjEgMjIgMjMgMjQgMjUgMjYgMjcgICA4IDE4IDE5IDIwIDIxIDIyIDIzIDI0IAorNTEgMjQgMjUgMjYgMjcgMjggMjkgMzAgICA1IDI4IDI5IDMwIDMxICAgICAgICAgICAgOSAyNSAyNiAyNyAyOCAgICAgICAgICAKKzUyIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvc2VwMTc1MiBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViNTI3MDIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvc2VwMTc1MgpAQCAtMCwwICsxLDI0OSBAQAorCitHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgbW9udGgKKyAgIFNlcHRlbWJlciAxNzUyICAgCitNbyBUdSBXZSBUaCBGciBTYSBTdQorICAgIDEgIDIgMTQgMTUgMTYgMTcgCisxOCAxOSAyMCAyMSAyMiAyMyAyNCAKKzI1IDI2IDI3IDI4IDI5IDMwICAgIAorICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgIAorR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIG1vbnRoCisgICBTZXB0ZW1iZXIgMTc1MiAgIAorU3UgTW8gVHUgV2UgVGggRnIgU2EKKyAgICAgICAxICAyIDE0IDE1IDE2IAorMTcgMTggMTkgMjAgMjEgMjIgMjMgCisyNCAyNSAyNiAyNyAyOCAyOSAzMCAKKyAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAKK0p1bGlhbiAtIE1vbmRheS1iYXNlZCBtb250aAorICAgICAgIFNlcHRlbWJlciAxNzUyICAgICAgCitNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKyAgICAyNDUgMjQ2IDI1OCAyNTkgMjYwIDI2MSAKKzI2MiAyNjMgMjY0IDI2NSAyNjYgMjY3IDI2OCAKKzI2OSAyNzAgMjcxIDI3MiAyNzMgMjc0ICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK0p1bGlhbiAtIFN1bmRheS1iYXNlZCBtb250aAorICAgICAgIFNlcHRlbWJlciAxNzUyICAgICAgCitTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKyAgICAgICAgMjQ1IDI0NiAyNTggMjU5IDI2MCAKKzI2MSAyNjIgMjYzIDI2NCAyNjUgMjY2IDI2NyAKKzI2OCAyNjkgMjcwIDI3MSAyNzIgMjczIDI3NCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK0dyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCB0aHJlZSBtb250aHMKKyAgICAgQXVndXN0IDE3NTIgICAgICAgICBTZXB0ZW1iZXIgMTc1MiAgICAgICAgIE9jdG9iZXIgMTc1MiAgICAKK01vIFR1IFdlIFRoIEZyIFNhIFN1ICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKyAgICAgICAgICAgICAgICAxICAyICAgICAgMSAgMiAxNCAxNSAxNiAxNyAgICAgICAgICAgICAgICAgICAgIDEgCisgMyAgNCAgNSAgNiAgNyAgOCAgOSAgMTggMTkgMjAgMjEgMjIgMjMgMjQgICAyICAzICA0ICA1ICA2ICA3ICA4IAorMTAgMTEgMTIgMTMgMTQgMTUgMTYgIDI1IDI2IDI3IDI4IDI5IDMwICAgICAgOSAxMCAxMSAxMiAxMyAxNCAxNSAKKzE3IDE4IDE5IDIwIDIxIDIyIDIzICAgICAgICAgICAgICAgICAgICAgICAgMTYgMTcgMTggMTkgMjAgMjEgMjIgCisyNCAyNSAyNiAyNyAyOCAyOSAzMCAgICAgICAgICAgICAgICAgICAgICAgIDIzIDI0IDI1IDI2IDI3IDI4IDI5IAorMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMCAzMSAgICAgICAgICAgICAgICAKK0dyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCB0aHJlZSBtb250aHMKKyAgICAgQXVndXN0IDE3NTIgICAgICAgICBTZXB0ZW1iZXIgMTc1MiAgICAgICAgIE9jdG9iZXIgMTc1MiAgICAKK1N1IE1vIFR1IFdlIFRoIEZyIFNhICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKyAgICAgICAgICAgICAgICAgICAxICAgICAgICAgMSAgMiAxNCAxNSAxNiAgIDEgIDIgIDMgIDQgIDUgIDYgIDcgCisgMiAgMyAgNCAgNSAgNiAgNyAgOCAgMTcgMTggMTkgMjAgMjEgMjIgMjMgICA4ICA5IDEwIDExIDEyIDEzIDE0IAorIDkgMTAgMTEgMTIgMTMgMTQgMTUgIDI0IDI1IDI2IDI3IDI4IDI5IDMwICAxNSAxNiAxNyAxOCAxOSAyMCAyMSAKKzE2IDE3IDE4IDE5IDIwIDIxIDIyICAgICAgICAgICAgICAgICAgICAgICAgMjIgMjMgMjQgMjUgMjYgMjcgMjggCisyMyAyNCAyNSAyNiAyNyAyOCAyOSAgICAgICAgICAgICAgICAgICAgICAgIDI5IDMwIDMxICAgICAgICAgICAgIAorMzAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK0p1bGlhbiAtIE1vbmRheS1iYXNlZCB0aHJlZSBtb250aHMKKyAgICAgICAgQXVndXN0IDE3NTIgICAgICAgICAgICAgICAgIFNlcHRlbWJlciAxNzUyICAgICAgICAgICAgICAgIE9jdG9iZXIgMTc1MiAgICAgICAKK01vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKyAgICAgICAgICAgICAgICAgICAgMjE0IDIxNSAgICAgIDI0NSAyNDYgMjU4IDI1OSAyNjAgMjYxICAgICAgICAgICAgICAgICAgICAgICAgICAyNzUgCisyMTYgMjE3IDIxOCAyMTkgMjIwIDIyMSAyMjIgIDI2MiAyNjMgMjY0IDI2NSAyNjYgMjY3IDI2OCAgMjc2IDI3NyAyNzggMjc5IDI4MCAyODEgMjgyIAorMjIzIDIyNCAyMjUgMjI2IDIyNyAyMjggMjI5ICAyNjkgMjcwIDI3MSAyNzIgMjczIDI3NCAgICAgIDI4MyAyODQgMjg1IDI4NiAyODcgMjg4IDI4OSAKKzIzMCAyMzEgMjMyIDIzMyAyMzQgMjM1IDIzNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyOTAgMjkxIDI5MiAyOTMgMjk0IDI5NSAyOTYgCisyMzcgMjM4IDIzOSAyNDAgMjQxIDI0MiAyNDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjk3IDI5OCAyOTkgMzAwIDMwMSAzMDIgMzAzIAorMjQ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwNCAzMDUgICAgICAgICAgICAgICAgICAgICAKK0p1bGlhbiAtIFN1bmRheS1iYXNlZCB0aHJlZSBtb250aHMKKyAgICAgICAgQXVndXN0IDE3NTIgICAgICAgICAgICAgICAgIFNlcHRlbWJlciAxNzUyICAgICAgICAgICAgICAgIE9jdG9iZXIgMTc1MiAgICAgICAKK1N1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKyAgICAgICAgICAgICAgICAgICAgICAgIDIxNCAgICAgICAgICAyNDUgMjQ2IDI1OCAyNTkgMjYwICAyNzUgMjc2IDI3NyAyNzggMjc5IDI4MCAyODEgCisyMTUgMjE2IDIxNyAyMTggMjE5IDIyMCAyMjEgIDI2MSAyNjIgMjYzIDI2NCAyNjUgMjY2IDI2NyAgMjgyIDI4MyAyODQgMjg1IDI4NiAyODcgMjg4IAorMjIyIDIyMyAyMjQgMjI1IDIyNiAyMjcgMjI4ICAyNjggMjY5IDI3MCAyNzEgMjcyIDI3MyAyNzQgIDI4OSAyOTAgMjkxIDI5MiAyOTMgMjk0IDI5NSAKKzIyOSAyMzAgMjMxIDIzMiAyMzMgMjM0IDIzNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyOTYgMjk3IDI5OCAyOTkgMzAwIDMwMSAzMDIgCisyMzYgMjM3IDIzOCAyMzkgMjQwIDI0MSAyNDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzAzIDMwNCAzMDUgICAgICAgICAgICAgICAgIAorMjQzIDI0NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK0dyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCB5ZWFyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTc1MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgICAgICAgTWFyY2ggICAgICAgCitNbyBUdSBXZSBUaCBGciBTYSBTdSAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKyAgICAgICAxICAyICAzICA0ICA1ICAgICAgICAgICAgICAgICAgIDEgIDIgICAgICAgICAgICAgICAgICAgICAgMSAgIAorIDYgIDcgIDggIDkgMTAgMTEgMTIgICAgMyAgNCAgNSAgNiAgNyAgOCAgOSAgICAyICAzICA0ICA1ICA2ICA3ICA4ICAgCisxMyAxNCAxNSAxNiAxNyAxOCAxOSAgIDEwIDExIDEyIDEzIDE0IDE1IDE2ICAgIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAKKzIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgMTcgMTggMTkgMjAgMjEgMjIgMjMgICAxNiAxNyAxOCAxOSAyMCAyMSAyMiAgIAorMjcgMjggMjkgMzAgMzEgICAgICAgICAyNCAyNSAyNiAyNyAyOCAyOSAgICAgIDIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzAgMzEgICAgICAgICAgICAgICAgICAKKyAgICAgICAgQXByaWwgICAgICAgICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgIAorTW8gVHUgV2UgVGggRnIgU2EgU3UgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CisgICAgICAgMSAgMiAgMyAgNCAgNSAgICAgICAgICAgICAgICAxICAyICAzICAgIDEgIDIgIDMgIDQgIDUgIDYgIDcgICAKKyA2ICA3ICA4ICA5IDEwIDExIDEyICAgIDQgIDUgIDYgIDcgIDggIDkgMTAgICAgOCAgOSAxMCAxMSAxMiAxMyAxNCAgIAorMTMgMTQgMTUgMTYgMTcgMTggMTkgICAxMSAxMiAxMyAxNCAxNSAxNiAxNyAgIDE1IDE2IDE3IDE4IDE5IDIwIDIxICAgCisyMCAyMSAyMiAyMyAyNCAyNSAyNiAgIDE4IDE5IDIwIDIxIDIyIDIzIDI0ICAgMjIgMjMgMjQgMjUgMjYgMjcgMjggICAKKzI3IDI4IDI5IDMwICAgICAgICAgICAgMjUgMjYgMjcgMjggMjkgMzAgMzEgICAyOSAzMCAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAgICAgU2VwdGVtYmVyICAgICAKK01vIFR1IFdlIFRoIEZyIFNhIFN1ICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorICAgICAgIDEgIDIgIDMgIDQgIDUgICAgICAgICAgICAgICAgICAgMSAgMiAgICAgICAxICAyIDE0IDE1IDE2IDE3ICAgCisgNiAgNyAgOCAgOSAxMCAxMSAxMiAgICAzICA0ICA1ICA2ICA3ICA4ICA5ICAgMTggMTkgMjAgMjEgMjIgMjMgMjQgICAKKzEzIDE0IDE1IDE2IDE3IDE4IDE5ICAgMTAgMTEgMTIgMTMgMTQgMTUgMTYgICAyNSAyNiAyNyAyOCAyOSAzMCAgICAgIAorMjAgMjEgMjIgMjMgMjQgMjUgMjYgICAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgICAgICAgICAgICAgICAgICAgICAgICAgCisyNyAyOCAyOSAzMCAzMSAgICAgICAgIDI0IDI1IDI2IDI3IDI4IDI5IDMwICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgIE9jdG9iZXIgICAgICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgCitNbyBUdSBXZSBUaCBGciBTYSBTdSAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKyAgICAgICAgICAgICAgICAgICAxICAgICAgICAgIDEgIDIgIDMgIDQgIDUgICAgICAgICAgICAgICAgMSAgMiAgMyAgIAorIDIgIDMgIDQgIDUgIDYgIDcgIDggICAgNiAgNyAgOCAgOSAxMCAxMSAxMiAgICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgCisgOSAxMCAxMSAxMiAxMyAxNCAxNSAgIDEzIDE0IDE1IDE2IDE3IDE4IDE5ICAgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICAKKzE2IDE3IDE4IDE5IDIwIDIxIDIyICAgMjAgMjEgMjIgMjMgMjQgMjUgMjYgICAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgIAorMjMgMjQgMjUgMjYgMjcgMjggMjkgICAyNyAyOCAyOSAzMCAgICAgICAgICAgIDI1IDI2IDI3IDI4IDI5IDMwIDMxICAgCiszMCAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIHllYXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNzUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgIEZlYnJ1YXJ5ICAgICAgICAgICAgICAgICBNYXJjaCAgICAgICAKK1N1IE1vIFR1IFdlIFRoIEZyIFNhICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorICAgICAgICAgIDEgIDIgIDMgIDQgICAgICAgICAgICAgICAgICAgICAgMSAgICAxICAyICAzICA0ICA1ICA2ICA3ICAgCisgNSAgNiAgNyAgOCAgOSAxMCAxMSAgICAyICAzICA0ICA1ICA2ICA3ICA4ICAgIDggIDkgMTAgMTEgMTIgMTMgMTQgICAKKzEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIAorMTkgMjAgMjEgMjIgMjMgMjQgMjUgICAxNiAxNyAxOCAxOSAyMCAyMSAyMiAgIDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgCisyNiAyNyAyOCAyOSAzMCAzMSAgICAgIDIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgMjkgMzAgMzEgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICBBcHJpbCAgICAgICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgCitTdSBNbyBUdSBXZSBUaCBGciBTYSAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKyAgICAgICAgICAxICAyICAzICA0ICAgICAgICAgICAgICAgICAgIDEgIDIgICAgICAgMSAgMiAgMyAgNCAgNSAgNiAgIAorIDUgIDYgIDcgIDggIDkgMTAgMTEgICAgMyAgNCAgNSAgNiAgNyAgOCAgOSAgICA3ICA4ICA5IDEwIDExIDEyIDEzICAgCisxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIDEwIDExIDEyIDEzIDE0IDE1IDE2ICAgMTQgMTUgMTYgMTcgMTggMTkgMjAgICAKKzE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgMTcgMTggMTkgMjAgMjEgMjIgMjMgICAyMSAyMiAyMyAyNCAyNSAyNiAyNyAgIAorMjYgMjcgMjggMjkgMzAgICAgICAgICAyNCAyNSAyNiAyNyAyOCAyOSAzMCAgIDI4IDI5IDMwICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgSnVseSAgICAgICAgICAgICAgICAgIEF1Z3VzdCAgICAgICAgICAgICAgICBTZXB0ZW1iZXIgICAgIAorU3UgTW8gVHUgV2UgVGggRnIgU2EgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCisgICAgICAgICAgMSAgMiAgMyAgNCAgICAgICAgICAgICAgICAgICAgICAxICAgICAgICAgIDEgIDIgMTQgMTUgMTYgICAKKyA1ICA2ICA3ICA4ICA5IDEwIDExICAgIDIgIDMgIDQgIDUgIDYgIDcgIDggICAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgIAorMTIgMTMgMTQgMTUgMTYgMTcgMTggICAgOSAxMCAxMSAxMiAxMyAxNCAxNSAgIDI0IDI1IDI2IDI3IDI4IDI5IDMwICAgCisxOSAyMCAyMSAyMiAyMyAyNCAyNSAgIDE2IDE3IDE4IDE5IDIwIDIxIDIyICAgICAgICAgICAgICAgICAgICAgICAgICAKKzI2IDI3IDI4IDI5IDMwIDMxICAgICAgMjMgMjQgMjUgMjYgMjcgMjggMjkgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAzMCAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgT2N0b2JlciAgICAgICAgICAgICAgIE5vdmVtYmVyICAgICAgICAgICAgICAgRGVjZW1iZXIgICAgICAKK1N1IE1vIFR1IFdlIFRoIEZyIFNhICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorIDEgIDIgIDMgIDQgIDUgIDYgIDcgICAgICAgICAgICAgMSAgMiAgMyAgNCAgICAgICAgICAgICAgICAgICAxICAyICAgCisgOCAgOSAxMCAxMSAxMiAxMyAxNCAgICA1ICA2ICA3ICA4ICA5IDEwIDExICAgIDMgIDQgIDUgIDYgIDcgIDggIDkgICAKKzE1IDE2IDE3IDE4IDE5IDIwIDIxICAgMTIgMTMgMTQgMTUgMTYgMTcgMTggICAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgIAorMjIgMjMgMjQgMjUgMjYgMjcgMjggICAxOSAyMCAyMSAyMiAyMyAyNCAyNSAgIDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgCisyOSAzMCAzMSAgICAgICAgICAgICAgIDI2IDI3IDI4IDI5IDMwICAgICAgICAgMjQgMjUgMjYgMjcgMjggMjkgMzAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMSAgICAgICAgICAgICAgICAgICAgIAorCitKdWxpYW4gLSBNb25kYXktYmFzZWQgeWVhcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgMTc1MiAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgICBKYW51YXJ5ICAgICAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgIAorTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisgICAgICAgICAgMSAgIDIgICAzICAgNCAgIDUgICAgICAgICAgICAgICAgICAgICAgICAzMiAgMzMgICAKKyAgNiAgIDcgICA4ICAgOSAgMTAgIDExICAxMiAgICAzNCAgMzUgIDM2ICAzNyAgMzggIDM5ICA0MCAgIAorIDEzICAxNCAgMTUgIDE2ICAxNyAgMTggIDE5ICAgIDQxICA0MiAgNDMgIDQ0ICA0NSAgNDYgIDQ3ICAgCisgMjAgIDIxICAyMiAgMjMgIDI0ICAyNSAgMjYgICAgNDggIDQ5ICA1MCAgNTEgIDUyICA1MyAgNTQgICAKKyAyNyAgMjggIDI5ICAzMCAgMzEgICAgICAgICAgICA1NSAgNTYgIDU3ICA1OCAgNTkgIDYwICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgIE1hcmNoICAgICAgICAgICAgICAgICAgICAgICAgIEFwcmlsICAgICAgICAgICAKK01vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorICAgICAgICAgICAgICAgICAgICAgICAgIDYxICAgICAgICAgICAgOTIgIDkzICA5NCAgOTUgIDk2ICAgCisgNjIgIDYzICA2NCAgNjUgIDY2ICA2NyAgNjggICAgOTcgIDk4ICA5OSAxMDAgMTAxIDEwMiAxMDMgICAKKyA2OSAgNzAgIDcxICA3MiAgNzMgIDc0ICA3NSAgIDEwNCAxMDUgMTA2IDEwNyAxMDggMTA5IDExMCAgIAorIDc2ICA3NyAgNzggIDc5ICA4MCAgODEgIDgyICAgMTExIDExMiAxMTMgMTE0IDExNSAxMTYgMTE3ICAgCisgODMgIDg0ICA4NSAgODYgIDg3ICA4OCAgODkgICAxMTggMTE5IDEyMCAxMjEgICAgICAgICAgICAgICAKKyA5MCAgOTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgICAgCitNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKyAgICAgICAgICAgICAgICAxMjIgMTIzIDEyNCAgIDE1MyAxNTQgMTU1IDE1NiAxNTcgMTU4IDE1OSAgIAorMTI1IDEyNiAxMjcgMTI4IDEyOSAxMzAgMTMxICAgMTYwIDE2MSAxNjIgMTYzIDE2NCAxNjUgMTY2ICAgCisxMzIgMTMzIDEzNCAxMzUgMTM2IDEzNyAxMzggICAxNjcgMTY4IDE2OSAxNzAgMTcxIDE3MiAxNzMgICAKKzEzOSAxNDAgMTQxIDE0MiAxNDMgMTQ0IDE0NSAgIDE3NCAxNzUgMTc2IDE3NyAxNzggMTc5IDE4MCAgIAorMTQ2IDE0NyAxNDggMTQ5IDE1MCAxNTEgMTUyICAgMTgxIDE4MiAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgIAorTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisgICAgICAgIDE4MyAxODQgMTg1IDE4NiAxODcgICAgICAgICAgICAgICAgICAgICAgIDIxNCAyMTUgICAKKzE4OCAxODkgMTkwIDE5MSAxOTIgMTkzIDE5NCAgIDIxNiAyMTcgMjE4IDIxOSAyMjAgMjIxIDIyMiAgIAorMTk1IDE5NiAxOTcgMTk4IDE5OSAyMDAgMjAxICAgMjIzIDIyNCAyMjUgMjI2IDIyNyAyMjggMjI5ICAgCisyMDIgMjAzIDIwNCAyMDUgMjA2IDIwNyAyMDggICAyMzAgMjMxIDIzMiAyMzMgMjM0IDIzNSAyMzYgICAKKzIwOSAyMTAgMjExIDIxMiAyMTMgICAgICAgICAgIDIzNyAyMzggMjM5IDI0MCAyNDEgMjQyIDI0MyAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjQ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICBTZXB0ZW1iZXIgICAgICAgICAgICAgICAgICAgICAgT2N0b2JlciAgICAgICAgICAKK01vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorICAgIDI0NSAyNDYgMjU4IDI1OSAyNjAgMjYxICAgICAgICAgICAgICAgICAgICAgICAgICAgMjc1ICAgCisyNjIgMjYzIDI2NCAyNjUgMjY2IDI2NyAyNjggICAyNzYgMjc3IDI3OCAyNzkgMjgwIDI4MSAyODIgICAKKzI2OSAyNzAgMjcxIDI3MiAyNzMgMjc0ICAgICAgIDI4MyAyODQgMjg1IDI4NiAyODcgMjg4IDI4OSAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjkwIDI5MSAyOTIgMjkzIDI5NCAyOTUgMjk2ICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyOTcgMjk4IDI5OSAzMDAgMzAxIDMwMiAzMDMgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwNCAzMDUgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgIE5vdmVtYmVyICAgICAgICAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgICAgCitNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKyAgICAgICAgMzA2IDMwNyAzMDggMzA5IDMxMCAgICAgICAgICAgICAgICAgICAzMzYgMzM3IDMzOCAgIAorMzExIDMxMiAzMTMgMzE0IDMxNSAzMTYgMzE3ICAgMzM5IDM0MCAzNDEgMzQyIDM0MyAzNDQgMzQ1ICAgCiszMTggMzE5IDMyMCAzMjEgMzIyIDMyMyAzMjQgICAzNDYgMzQ3IDM0OCAzNDkgMzUwIDM1MSAzNTIgICAKKzMyNSAzMjYgMzI3IDMyOCAzMjkgMzMwIDMzMSAgIDM1MyAzNTQgMzU1IDM1NiAzNTcgMzU4IDM1OSAgIAorMzMyIDMzMyAzMzQgMzM1ICAgICAgICAgICAgICAgMzYwIDM2MSAzNjIgMzYzIDM2NCAzNjUgMzY2ICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworSnVsaWFuIC0gU3VuZGF5LWJhc2VkIHllYXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDE3NTIgICAgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAKK1N1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorICAgICAgICAgICAgICAxICAgMiAgIDMgICA0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMyICAgCisgIDUgICA2ICAgNyAgIDggICA5ICAxMCAgMTEgICAgMzMgIDM0ICAzNSAgMzYgIDM3ICAzOCAgMzkgICAKKyAxMiAgMTMgIDE0ICAxNSAgMTYgIDE3ICAxOCAgICA0MCAgNDEgIDQyICA0MyAgNDQgIDQ1ICA0NiAgIAorIDE5ICAyMCAgMjEgIDIyICAyMyAgMjQgIDI1ICAgIDQ3ICA0OCAgNDkgIDUwICA1MSAgNTIgIDUzICAgCisgMjYgIDI3ICAyOCAgMjkgIDMwICAzMSAgICAgICAgNTQgIDU1ICA1NiAgNTcgIDU4ICA1OSAgNjAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICBNYXJjaCAgICAgICAgICAgICAgICAgICAgICAgICBBcHJpbCAgICAgICAgICAgCitTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKyA2MSAgNjIgIDYzICA2NCAgNjUgIDY2ICA2NyAgICAgICAgICAgICAgICA5MiAgOTMgIDk0ICA5NSAgIAorIDY4ICA2OSAgNzAgIDcxICA3MiAgNzMgIDc0ICAgIDk2ICA5NyAgOTggIDk5IDEwMCAxMDEgMTAyICAgCisgNzUgIDc2ICA3NyAgNzggIDc5ICA4MCAgODEgICAxMDMgMTA0IDEwNSAxMDYgMTA3IDEwOCAxMDkgICAKKyA4MiAgODMgIDg0ICA4NSAgODYgIDg3ICA4OCAgIDExMCAxMTEgMTEyIDExMyAxMTQgMTE1IDExNiAgIAorIDg5ICA5MCAgOTEgICAgICAgICAgICAgICAgICAgMTE3IDExOCAxMTkgMTIwIDEyMSAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAgIAorU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisgICAgICAgICAgICAgICAgICAgIDEyMiAxMjMgICAgICAgMTUzIDE1NCAxNTUgMTU2IDE1NyAxNTggICAKKzEyNCAxMjUgMTI2IDEyNyAxMjggMTI5IDEzMCAgIDE1OSAxNjAgMTYxIDE2MiAxNjMgMTY0IDE2NSAgIAorMTMxIDEzMiAxMzMgMTM0IDEzNSAxMzYgMTM3ICAgMTY2IDE2NyAxNjggMTY5IDE3MCAxNzEgMTcyICAgCisxMzggMTM5IDE0MCAxNDEgMTQyIDE0MyAxNDQgICAxNzMgMTc0IDE3NSAxNzYgMTc3IDE3OCAxNzkgICAKKzE0NSAxNDYgMTQ3IDE0OCAxNDkgMTUwIDE1MSAgIDE4MCAxODEgMTgyICAgICAgICAgICAgICAgICAgIAorMTUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgICAgICAgIEF1Z3VzdCAgICAgICAgICAKK1N1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorICAgICAgICAgICAgMTgzIDE4NCAxODUgMTg2ICAgICAgICAgICAgICAgICAgICAgICAgICAgMjE0ICAgCisxODcgMTg4IDE4OSAxOTAgMTkxIDE5MiAxOTMgICAyMTUgMjE2IDIxNyAyMTggMjE5IDIyMCAyMjEgICAKKzE5NCAxOTUgMTk2IDE5NyAxOTggMTk5IDIwMCAgIDIyMiAyMjMgMjI0IDIyNSAyMjYgMjI3IDIyOCAgIAorMjAxIDIwMiAyMDMgMjA0IDIwNSAyMDYgMjA3ICAgMjI5IDIzMCAyMzEgMjMyIDIzMyAyMzQgMjM1ICAgCisyMDggMjA5IDIxMCAyMTEgMjEyIDIxMyAgICAgICAyMzYgMjM3IDIzOCAyMzkgMjQwIDI0MSAyNDIgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI0MyAyNDQgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgU2VwdGVtYmVyICAgICAgICAgICAgICAgICAgICAgIE9jdG9iZXIgICAgICAgICAgCitTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKyAgICAgICAgMjQ1IDI0NiAyNTggMjU5IDI2MCAgIDI3NSAyNzYgMjc3IDI3OCAyNzkgMjgwIDI4MSAgIAorMjYxIDI2MiAyNjMgMjY0IDI2NSAyNjYgMjY3ICAgMjgyIDI4MyAyODQgMjg1IDI4NiAyODcgMjg4ICAgCisyNjggMjY5IDI3MCAyNzEgMjcyIDI3MyAyNzQgICAyODkgMjkwIDI5MSAyOTIgMjkzIDI5NCAyOTUgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI5NiAyOTcgMjk4IDI5OSAzMDAgMzAxIDMwMiAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzAzIDMwNCAzMDUgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAgIAorU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisgICAgICAgICAgICAzMDYgMzA3IDMwOCAzMDkgICAgICAgICAgICAgICAgICAgICAgIDMzNiAzMzcgICAKKzMxMCAzMTEgMzEyIDMxMyAzMTQgMzE1IDMxNiAgIDMzOCAzMzkgMzQwIDM0MSAzNDIgMzQzIDM0NCAgIAorMzE3IDMxOCAzMTkgMzIwIDMyMSAzMjIgMzIzICAgMzQ1IDM0NiAzNDcgMzQ4IDM0OSAzNTAgMzUxICAgCiszMjQgMzI1IDMyNiAzMjcgMzI4IDMyOSAzMzAgICAzNTIgMzUzIDM1NCAzNTUgMzU2IDM1NyAzNTggICAKKzMzMSAzMzIgMzMzIDMzNCAzMzUgICAgICAgICAgIDM1OSAzNjAgMzYxIDM2MiAzNjMgMzY0IDM2NSAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzY2ICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUydyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUydwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZjRjZWM5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3NlcDE3NTJ3CkBAIC0wLDAgKzEsMjQ5IEBACisKK0dyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCBtb250aCB3aXRoIHdlZWsgbnVtYmVycworICAgICBTZXB0ZW1iZXIgMTc1MiAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CiszNiAgICAgMSAgMiAxNCAxNSAxNiAxNyAKKzM3IDE4IDE5IDIwIDIxIDIyIDIzIDI0IAorMzggMjUgMjYgMjcgMjggMjkgMzAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgCitHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgbW9udGggd2l0aCB3ZWVrIG51bWJlcnMKKyAgICAgU2VwdGVtYmVyIDE3NTIgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorMzYgICAgICAgIDEgIDIgMTQgMTUgMTYgCiszNyAxNyAxOCAxOSAyMCAyMSAyMiAyMyAKKzM4IDI0IDI1IDI2IDI3IDI4IDI5IDMwIAorICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgIAorSnVsaWFuIC0gTW9uZGF5LWJhc2VkIG1vbnRoIHdpdGggd2VlayBudW1iZXJzCisgICAgICAgIFNlcHRlbWJlciAxNzUyICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorMzYgICAgIDI0NSAyNDYgMjU4IDI1OSAyNjAgMjYxIAorMzcgMjYyIDI2MyAyNjQgMjY1IDI2NiAyNjcgMjY4IAorMzggMjY5IDI3MCAyNzEgMjcyIDI3MyAyNzQgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorSnVsaWFuIC0gU3VuZGF5LWJhc2VkIG1vbnRoIHdpdGggd2VlayBudW1iZXJzCisgICAgICAgIFNlcHRlbWJlciAxNzUyICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorMzYgICAgICAgICAyNDUgMjQ2IDI1OCAyNTkgMjYwIAorMzcgMjYxIDI2MiAyNjMgMjY0IDI2NSAyNjYgMjY3IAorMzggMjY4IDI2OSAyNzAgMjcxIDI3MiAyNzMgMjc0IAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkIHRocmVlIG1vbnRocyB3aXRoIHdlZWsgbnVtYmVycworICAgICAgQXVndXN0IDE3NTIgICAgICAgICAgICAgU2VwdGVtYmVyIDE3NTIgICAgICAgICAgICBPY3RvYmVyIDE3NTIgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorMzEgICAgICAgICAgICAgICAgIDEgIDIgIDM2ICAgICAxICAyIDE0IDE1IDE2IDE3ICAzOCAgICAgICAgICAgICAgICAgICAgMSAKKzMyICAzICA0ICA1ICA2ICA3ICA4ICA5ICAzNyAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgMzkgIDIgIDMgIDQgIDUgIDYgIDcgIDggCiszMyAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgMzggMjUgMjYgMjcgMjggMjkgMzAgICAgIDQwICA5IDEwIDExIDEyIDEzIDE0IDE1IAorMzQgMTcgMTggMTkgMjAgMjEgMjIgMjMgICAgICAgICAgICAgICAgICAgICAgICAgICA0MSAxNiAxNyAxOCAxOSAyMCAyMSAyMiAKKzM1IDI0IDI1IDI2IDI3IDI4IDI5IDMwICAgICAgICAgICAgICAgICAgICAgICAgICAgNDIgMjMgMjQgMjUgMjYgMjcgMjggMjkgCiszNiAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQzIDMwIDMxICAgICAgICAgICAgICAgIAorR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIHRocmVlIG1vbnRocyB3aXRoIHdlZWsgbnVtYmVycworICAgICAgQXVndXN0IDE3NTIgICAgICAgICAgICAgU2VwdGVtYmVyIDE3NTIgICAgICAgICAgICBPY3RvYmVyIDE3NTIgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorMzEgICAgICAgICAgICAgICAgICAgIDEgIDM2ICAgICAgICAxICAyIDE0IDE1IDE2ICAzOSAgMSAgMiAgMyAgNCAgNSAgNiAgNyAKKzMyICAyICAzICA0ICA1ICA2ICA3ICA4ICAzNyAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgNDAgIDggIDkgMTAgMTEgMTIgMTMgMTQgCiszMyAgOSAxMCAxMSAxMiAxMyAxNCAxNSAgMzggMjQgMjUgMjYgMjcgMjggMjkgMzAgIDQxIDE1IDE2IDE3IDE4IDE5IDIwIDIxIAorMzQgMTYgMTcgMTggMTkgMjAgMjEgMjIgICAgICAgICAgICAgICAgICAgICAgICAgICA0MiAyMiAyMyAyNCAyNSAyNiAyNyAyOCAKKzM1IDIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgICAgICAgICAgICAgICAgICAgICAgICAgNDMgMjkgMzAgMzEgICAgICAgICAgICAgCiszNiAzMCAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorSnVsaWFuIC0gTW9uZGF5LWJhc2VkIHRocmVlIG1vbnRocyB3aXRoIHdlZWsgbnVtYmVycworICAgICAgICAgIEF1Z3VzdCAxNzUyICAgICAgICAgICAgICAgICAgIFNlcHRlbWJlciAxNzUyICAgICAgICAgICAgICAgICAgIE9jdG9iZXIgMTc1MiAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorMzEgICAgICAgICAgICAgICAgICAgICAyMTQgMjE1ICAzNiAgICAgMjQ1IDI0NiAyNTggMjU5IDI2MCAyNjEgIDM4ICAgICAgICAgICAgICAgICAgICAgICAgIDI3NSAKKzMyIDIxNiAyMTcgMjE4IDIxOSAyMjAgMjIxIDIyMiAgMzcgMjYyIDI2MyAyNjQgMjY1IDI2NiAyNjcgMjY4ICAzOSAyNzYgMjc3IDI3OCAyNzkgMjgwIDI4MSAyODIgCiszMyAyMjMgMjI0IDIyNSAyMjYgMjI3IDIyOCAyMjkgIDM4IDI2OSAyNzAgMjcxIDI3MiAyNzMgMjc0ICAgICAgNDAgMjgzIDI4NCAyODUgMjg2IDI4NyAyODggMjg5IAorMzQgMjMwIDIzMSAyMzIgMjMzIDIzNCAyMzUgMjM2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQxIDI5MCAyOTEgMjkyIDI5MyAyOTQgMjk1IDI5NiAKKzM1IDIzNyAyMzggMjM5IDI0MCAyNDEgMjQyIDI0MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0MiAyOTcgMjk4IDI5OSAzMDAgMzAxIDMwMiAzMDMgCiszNiAyNDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDMgMzA0IDMwNSAgICAgICAgICAgICAgICAgICAgIAorSnVsaWFuIC0gU3VuZGF5LWJhc2VkIHRocmVlIG1vbnRocyB3aXRoIHdlZWsgbnVtYmVycworICAgICAgICAgIEF1Z3VzdCAxNzUyICAgICAgICAgICAgICAgICAgIFNlcHRlbWJlciAxNzUyICAgICAgICAgICAgICAgICAgIE9jdG9iZXIgMTc1MiAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorMzEgICAgICAgICAgICAgICAgICAgICAgICAgMjE0ICAzNiAgICAgICAgIDI0NSAyNDYgMjU4IDI1OSAyNjAgIDM5IDI3NSAyNzYgMjc3IDI3OCAyNzkgMjgwIDI4MSAKKzMyIDIxNSAyMTYgMjE3IDIxOCAyMTkgMjIwIDIyMSAgMzcgMjYxIDI2MiAyNjMgMjY0IDI2NSAyNjYgMjY3ICA0MCAyODIgMjgzIDI4NCAyODUgMjg2IDI4NyAyODggCiszMyAyMjIgMjIzIDIyNCAyMjUgMjI2IDIyNyAyMjggIDM4IDI2OCAyNjkgMjcwIDI3MSAyNzIgMjczIDI3NCAgNDEgMjg5IDI5MCAyOTEgMjkyIDI5MyAyOTQgMjk1IAorMzQgMjI5IDIzMCAyMzEgMjMyIDIzMyAyMzQgMjM1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQyIDI5NiAyOTcgMjk4IDI5OSAzMDAgMzAxIDMwMiAKKzM1IDIzNiAyMzcgMjM4IDIzOSAyNDAgMjQxIDI0MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0MyAzMDMgMzA0IDMwNSAgICAgICAgICAgICAgICAgCiszNiAyNDMgMjQ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkIHllYXIgd2l0aCB3ZWVrIG51bWJlcnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE3NTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgICAgICAgICAgTWFyY2ggICAgICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorIDEgICAgICAgIDEgIDIgIDMgIDQgIDUgICAgNSAgICAgICAgICAgICAgICAgMSAgMiAgICA5ICAgICAgICAgICAgICAgICAgICAxICAgCisgMiAgNiAgNyAgOCAgOSAxMCAxMSAxMiAgICA2ICAzICA0ICA1ICA2ICA3ICA4ICA5ICAgMTAgIDIgIDMgIDQgIDUgIDYgIDcgIDggICAKKyAzIDEzIDE0IDE1IDE2IDE3IDE4IDE5ICAgIDcgMTAgMTEgMTIgMTMgMTQgMTUgMTYgICAxMSAgOSAxMCAxMSAxMiAxMyAxNCAxNSAgIAorIDQgMjAgMjEgMjIgMjMgMjQgMjUgMjYgICAgOCAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgIDEyIDE2IDE3IDE4IDE5IDIwIDIxIDIyICAgCisgNSAyNyAyOCAyOSAzMCAzMSAgICAgICAgICA5IDI0IDI1IDI2IDI3IDI4IDI5ICAgICAgMTMgMjMgMjQgMjUgMjYgMjcgMjggMjkgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNCAzMCAzMSAgICAgICAgICAgICAgICAgIAorICAgICAgICAgQXByaWwgICAgICAgICAgICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKzE0ICAgICAgICAxICAyICAzICA0ICA1ICAgMTggICAgICAgICAgICAgIDEgIDIgIDMgICAyMyAgMSAgMiAgMyAgNCAgNSAgNiAgNyAgIAorMTUgIDYgIDcgIDggIDkgMTAgMTEgMTIgICAxOSAgNCAgNSAgNiAgNyAgOCAgOSAxMCAgIDI0ICA4ICA5IDEwIDExIDEyIDEzIDE0ICAgCisxNiAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgIDIwIDExIDEyIDEzIDE0IDE1IDE2IDE3ICAgMjUgMTUgMTYgMTcgMTggMTkgMjAgMjEgICAKKzE3IDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgMjEgMTggMTkgMjAgMjEgMjIgMjMgMjQgICAyNiAyMiAyMyAyNCAyNSAyNiAyNyAyOCAgIAorMTggMjcgMjggMjkgMzAgICAgICAgICAgICAyMiAyNSAyNiAyNyAyOCAyOSAzMCAzMSAgIDI3IDI5IDMwICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgICAgICAgU2VwdGVtYmVyICAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CisyNyAgICAgICAgMSAgMiAgMyAgNCAgNSAgIDMxICAgICAgICAgICAgICAgICAxICAyICAgMzYgICAgIDEgIDIgMTQgMTUgMTYgMTcgICAKKzI4ICA2ICA3ICA4ICA5IDEwIDExIDEyICAgMzIgIDMgIDQgIDUgIDYgIDcgIDggIDkgICAzNyAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgIAorMjkgMTMgMTQgMTUgMTYgMTcgMTggMTkgICAzMyAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgIDM4IDI1IDI2IDI3IDI4IDI5IDMwICAgICAgCiszMCAyMCAyMSAyMiAyMyAyNCAyNSAyNiAgIDM0IDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKzMxIDI3IDI4IDI5IDMwIDMxICAgICAgICAgMzUgMjQgMjUgMjYgMjcgMjggMjkgMzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAzNiAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgIE9jdG9iZXIgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorMzggICAgICAgICAgICAgICAgICAgIDEgICA0MyAgICAgICAgMSAgMiAgMyAgNCAgNSAgIDQ3ICAgICAgICAgICAgICAxICAyICAzICAgCiszOSAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgIDQ0ICA2ICA3ICA4ICA5IDEwIDExIDEyICAgNDggIDQgIDUgIDYgIDcgIDggIDkgMTAgICAKKzQwICA5IDEwIDExIDEyIDEzIDE0IDE1ICAgNDUgMTMgMTQgMTUgMTYgMTcgMTggMTkgICA0OSAxMSAxMiAxMyAxNCAxNSAxNiAxNyAgIAorNDEgMTYgMTcgMTggMTkgMjAgMjEgMjIgICA0NiAyMCAyMSAyMiAyMyAyNCAyNSAyNiAgIDUwIDE4IDE5IDIwIDIxIDIyIDIzIDI0ICAgCis0MiAyMyAyNCAyNSAyNiAyNyAyOCAyOSAgIDQ3IDI3IDI4IDI5IDMwICAgICAgICAgICAgNTEgMjUgMjYgMjcgMjggMjkgMzAgMzEgICAKKzQzIDMwIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCitHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgeWVhciB3aXRoIHdlZWsgbnVtYmVycworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTc1MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgICAgICAgICBNYXJjaCAgICAgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCisgMSAgICAgICAgICAgMSAgMiAgMyAgNCAgICA1ICAgICAgICAgICAgICAgICAgICAxICAgMTAgIDEgIDIgIDMgIDQgIDUgIDYgIDcgICAKKyAyICA1ICA2ICA3ICA4ICA5IDEwIDExICAgIDYgIDIgIDMgIDQgIDUgIDYgIDcgIDggICAxMSAgOCAgOSAxMCAxMSAxMiAxMyAxNCAgIAorIDMgMTIgMTMgMTQgMTUgMTYgMTcgMTggICAgNyAgOSAxMCAxMSAxMiAxMyAxNCAxNSAgIDEyIDE1IDE2IDE3IDE4IDE5IDIwIDIxICAgCisgNCAxOSAyMCAyMSAyMiAyMyAyNCAyNSAgICA4IDE2IDE3IDE4IDE5IDIwIDIxIDIyICAgMTMgMjIgMjMgMjQgMjUgMjYgMjcgMjggICAKKyA1IDI2IDI3IDI4IDI5IDMwIDMxICAgICAgIDkgMjMgMjQgMjUgMjYgMjcgMjggMjkgICAxNCAyOSAzMCAzMSAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICBBcHJpbCAgICAgICAgICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorMTQgICAgICAgICAgIDEgIDIgIDMgIDQgICAxOCAgICAgICAgICAgICAgICAgMSAgMiAgIDIzICAgICAxICAyICAzICA0ICA1ICA2ICAgCisxNSAgNSAgNiAgNyAgOCAgOSAxMCAxMSAgIDE5ICAzICA0ICA1ICA2ICA3ICA4ICA5ICAgMjQgIDcgIDggIDkgMTAgMTEgMTIgMTMgICAKKzE2IDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgMjAgMTAgMTEgMTIgMTMgMTQgMTUgMTYgICAyNSAxNCAxNSAxNiAxNyAxOCAxOSAyMCAgIAorMTcgMTkgMjAgMjEgMjIgMjMgMjQgMjUgICAyMSAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgIDI2IDIxIDIyIDIzIDI0IDI1IDI2IDI3ICAgCisxOCAyNiAyNyAyOCAyOSAzMCAgICAgICAgIDIyIDI0IDI1IDI2IDI3IDI4IDI5IDMwICAgMjcgMjggMjkgMzAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgMjMgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAgICAgICBTZXB0ZW1iZXIgICAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzI3ICAgICAgICAgICAxICAyICAzICA0ICAgMzEgICAgICAgICAgICAgICAgICAgIDEgICAzNiAgICAgICAgMSAgMiAxNCAxNSAxNiAgIAorMjggIDUgIDYgIDcgIDggIDkgMTAgMTEgICAzMiAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgIDM3IDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgCisyOSAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIDMzICA5IDEwIDExIDEyIDEzIDE0IDE1ICAgMzggMjQgMjUgMjYgMjcgMjggMjkgMzAgICAKKzMwIDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgMzQgMTYgMTcgMTggMTkgMjAgMjEgMjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorMzEgMjYgMjcgMjggMjkgMzAgMzEgICAgICAzNSAyMyAyNCAyNSAyNiAyNyAyOCAyOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgIDM2IDMwIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgT2N0b2JlciAgICAgICAgICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCiszOSAgMSAgMiAgMyAgNCAgNSAgNiAgNyAgIDQzICAgICAgICAgICAxICAyICAzICA0ICAgNDcgICAgICAgICAgICAgICAgIDEgIDIgICAKKzQwICA4ICA5IDEwIDExIDEyIDEzIDE0ICAgNDQgIDUgIDYgIDcgIDggIDkgMTAgMTEgICA0OCAgMyAgNCAgNSAgNiAgNyAgOCAgOSAgIAorNDEgMTUgMTYgMTcgMTggMTkgMjAgMjEgICA0NSAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIDQ5IDEwIDExIDEyIDEzIDE0IDE1IDE2ICAgCis0MiAyMiAyMyAyNCAyNSAyNiAyNyAyOCAgIDQ2IDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgNTAgMTcgMTggMTkgMjAgMjEgMjIgMjMgICAKKzQzIDI5IDMwIDMxICAgICAgICAgICAgICAgNDcgMjYgMjcgMjggMjkgMzAgICAgICAgICA1MSAyNCAyNSAyNiAyNyAyOCAyOSAzMCAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUyIDMxICAgICAgICAgICAgICAgICAgICAgCisKK0p1bGlhbiAtIE1vbmRheS1iYXNlZCB5ZWFyIHdpdGggd2VlayBudW1iZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNzUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAgICAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKyAxICAgICAgICAgICAxICAgMiAgIDMgICA0ICAgNSAgICA1ICAgICAgICAgICAgICAgICAgICAgIDMyICAzMyAgIAorIDIgICA2ICAgNyAgIDggICA5ICAxMCAgMTEgIDEyICAgIDYgIDM0ICAzNSAgMzYgIDM3ICAzOCAgMzkgIDQwICAgCisgMyAgMTMgIDE0ICAxNSAgMTYgIDE3ICAxOCAgMTkgICAgNyAgNDEgIDQyICA0MyAgNDQgIDQ1ICA0NiAgNDcgICAKKyA0ICAyMCAgMjEgIDIyICAyMyAgMjQgIDI1ICAyNiAgICA4ICA0OCAgNDkgIDUwICA1MSAgNTIgIDUzICA1NCAgIAorIDUgIDI3ICAyOCAgMjkgIDMwICAzMSAgICAgICAgICAgIDkgIDU1ICA1NiAgNTcgIDU4ICA1OSAgNjAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICBNYXJjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcHJpbCAgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisgOSAgICAgICAgICAgICAgICAgICAgICAgICAgNjEgICAxNCAgICAgICAgICA5MiAgOTMgIDk0ICA5NSAgOTYgICAKKzEwICA2MiAgNjMgIDY0ICA2NSAgNjYgIDY3ICA2OCAgIDE1ICA5NyAgOTggIDk5IDEwMCAxMDEgMTAyIDEwMyAgIAorMTEgIDY5ICA3MCAgNzEgIDcyICA3MyAgNzQgIDc1ICAgMTYgMTA0IDEwNSAxMDYgMTA3IDEwOCAxMDkgMTEwICAgCisxMiAgNzYgIDc3ICA3OCAgNzkgIDgwICA4MSAgODIgICAxNyAxMTEgMTEyIDExMyAxMTQgMTE1IDExNiAxMTcgICAKKzEzICA4MyAgODQgIDg1ICA4NiAgODcgIDg4ICA4OSAgIDE4IDExOCAxMTkgMTIwIDEyMSAgICAgICAgICAgICAgIAorMTQgIDkwICA5MSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorMTggICAgICAgICAgICAgICAgIDEyMiAxMjMgMTI0ICAgMjMgMTUzIDE1NCAxNTUgMTU2IDE1NyAxNTggMTU5ICAgCisxOSAxMjUgMTI2IDEyNyAxMjggMTI5IDEzMCAxMzEgICAyNCAxNjAgMTYxIDE2MiAxNjMgMTY0IDE2NSAxNjYgICAKKzIwIDEzMiAxMzMgMTM0IDEzNSAxMzYgMTM3IDEzOCAgIDI1IDE2NyAxNjggMTY5IDE3MCAxNzEgMTcyIDE3MyAgIAorMjEgMTM5IDE0MCAxNDEgMTQyIDE0MyAxNDQgMTQ1ICAgMjYgMTc0IDE3NSAxNzYgMTc3IDE3OCAxNzkgMTgwICAgCisyMiAxNDYgMTQ3IDE0OCAxNDkgMTUwIDE1MSAxNTIgICAyNyAxODEgMTgyICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzI3ICAgICAgICAgMTgzIDE4NCAxODUgMTg2IDE4NyAgIDMxICAgICAgICAgICAgICAgICAgICAgMjE0IDIxNSAgIAorMjggMTg4IDE4OSAxOTAgMTkxIDE5MiAxOTMgMTk0ICAgMzIgMjE2IDIxNyAyMTggMjE5IDIyMCAyMjEgMjIyICAgCisyOSAxOTUgMTk2IDE5NyAxOTggMTk5IDIwMCAyMDEgICAzMyAyMjMgMjI0IDIyNSAyMjYgMjI3IDIyOCAyMjkgICAKKzMwIDIwMiAyMDMgMjA0IDIwNSAyMDYgMjA3IDIwOCAgIDM0IDIzMCAyMzEgMjMyIDIzMyAyMzQgMjM1IDIzNiAgIAorMzEgMjA5IDIxMCAyMTEgMjEyIDIxMyAgICAgICAgICAgMzUgMjM3IDIzOCAyMzkgMjQwIDI0MSAyNDIgMjQzICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNiAyNDQgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgU2VwdGVtYmVyICAgICAgICAgICAgICAgICAgICAgICAgIE9jdG9iZXIgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCiszNiAgICAgMjQ1IDI0NiAyNTggMjU5IDI2MCAyNjEgICAzOCAgICAgICAgICAgICAgICAgICAgICAgICAyNzUgICAKKzM3IDI2MiAyNjMgMjY0IDI2NSAyNjYgMjY3IDI2OCAgIDM5IDI3NiAyNzcgMjc4IDI3OSAyODAgMjgxIDI4MiAgIAorMzggMjY5IDI3MCAyNzEgMjcyIDI3MyAyNzQgICAgICAgNDAgMjgzIDI4NCAyODUgMjg2IDI4NyAyODggMjg5ICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0MSAyOTAgMjkxIDI5MiAyOTMgMjk0IDI5NSAyOTYgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQyIDI5NyAyOTggMjk5IDMwMCAzMDEgMzAyIDMwMyAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDMgMzA0IDMwNSAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgIE5vdmVtYmVyICAgICAgICAgICAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorNDMgICAgICAgICAzMDYgMzA3IDMwOCAzMDkgMzEwICAgNDcgICAgICAgICAgICAgICAgIDMzNiAzMzcgMzM4ICAgCis0NCAzMTEgMzEyIDMxMyAzMTQgMzE1IDMxNiAzMTcgICA0OCAzMzkgMzQwIDM0MSAzNDIgMzQzIDM0NCAzNDUgICAKKzQ1IDMxOCAzMTkgMzIwIDMyMSAzMjIgMzIzIDMyNCAgIDQ5IDM0NiAzNDcgMzQ4IDM0OSAzNTAgMzUxIDM1MiAgIAorNDYgMzI1IDMyNiAzMjcgMzI4IDMyOSAzMzAgMzMxICAgNTAgMzUzIDM1NCAzNTUgMzU2IDM1NyAzNTggMzU5ICAgCis0NyAzMzIgMzMzIDMzNCAzMzUgICAgICAgICAgICAgICA1MSAzNjAgMzYxIDM2MiAzNjMgMzY0IDM2NSAzNjYgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCitKdWxpYW4gLSBTdW5kYXktYmFzZWQgeWVhciB3aXRoIHdlZWsgbnVtYmVycworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTc1MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisgMSAgICAgICAgICAgICAgIDEgICAyICAgMyAgIDQgICAgNSAgICAgICAgICAgICAgICAgICAgICAgICAgMzIgICAKKyAyICAgNSAgIDYgICA3ICAgOCAgIDkgIDEwICAxMSAgICA2ICAzMyAgMzQgIDM1ICAzNiAgMzcgIDM4ICAzOSAgIAorIDMgIDEyICAxMyAgMTQgIDE1ICAxNiAgMTcgIDE4ICAgIDcgIDQwICA0MSAgNDIgIDQzICA0NCAgNDUgIDQ2ICAgCisgNCAgMTkgIDIwICAyMSAgMjIgIDIzICAyNCAgMjUgICAgOCAgNDcgIDQ4ICA0OSAgNTAgIDUxICA1MiAgNTMgICAKKyA1ICAyNiAgMjcgIDI4ICAyOSAgMzAgIDMxICAgICAgICA5ICA1NCAgNTUgIDU2ICA1NyAgNTggIDU5ICA2MCAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgTWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgQXByaWwgICAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorMTAgIDYxICA2MiAgNjMgIDY0ICA2NSAgNjYgIDY3ICAgMTQgICAgICAgICAgICAgIDkyICA5MyAgOTQgIDk1ICAgCisxMSAgNjggIDY5ICA3MCAgNzEgIDcyICA3MyAgNzQgICAxNSAgOTYgIDk3ICA5OCAgOTkgMTAwIDEwMSAxMDIgICAKKzEyICA3NSAgNzYgIDc3ICA3OCAgNzkgIDgwICA4MSAgIDE2IDEwMyAxMDQgMTA1IDEwNiAxMDcgMTA4IDEwOSAgIAorMTMgIDgyICA4MyAgODQgIDg1ICA4NiAgODcgIDg4ICAgMTcgMTEwIDExMSAxMTIgMTEzIDExNCAxMTUgMTE2ICAgCisxNCAgODkgIDkwICA5MSAgICAgICAgICAgICAgICAgICAxOCAxMTcgMTE4IDExOSAxMjAgMTIxICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzE4ICAgICAgICAgICAgICAgICAgICAgMTIyIDEyMyAgIDIzICAgICAxNTMgMTU0IDE1NSAxNTYgMTU3IDE1OCAgIAorMTkgMTI0IDEyNSAxMjYgMTI3IDEyOCAxMjkgMTMwICAgMjQgMTU5IDE2MCAxNjEgMTYyIDE2MyAxNjQgMTY1ICAgCisyMCAxMzEgMTMyIDEzMyAxMzQgMTM1IDEzNiAxMzcgICAyNSAxNjYgMTY3IDE2OCAxNjkgMTcwIDE3MSAxNzIgICAKKzIxIDEzOCAxMzkgMTQwIDE0MSAxNDIgMTQzIDE0NCAgIDI2IDE3MyAxNzQgMTc1IDE3NiAxNzcgMTc4IDE3OSAgIAorMjIgMTQ1IDE0NiAxNDcgMTQ4IDE0OSAxNTAgMTUxICAgMjcgMTgwIDE4MSAxODIgICAgICAgICAgICAgICAgICAgCisyMyAxNTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1Z3VzdCAgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisyNyAgICAgICAgICAgICAxODMgMTg0IDE4NSAxODYgICAzMSAgICAgICAgICAgICAgICAgICAgICAgICAyMTQgICAKKzI4IDE4NyAxODggMTg5IDE5MCAxOTEgMTkyIDE5MyAgIDMyIDIxNSAyMTYgMjE3IDIxOCAyMTkgMjIwIDIyMSAgIAorMjkgMTk0IDE5NSAxOTYgMTk3IDE5OCAxOTkgMjAwICAgMzMgMjIyIDIyMyAyMjQgMjI1IDIyNiAyMjcgMjI4ICAgCiszMCAyMDEgMjAyIDIwMyAyMDQgMjA1IDIwNiAyMDcgICAzNCAyMjkgMjMwIDIzMSAyMzIgMjMzIDIzNCAyMzUgICAKKzMxIDIwOCAyMDkgMjEwIDIxMSAyMTIgMjEzICAgICAgIDM1IDIzNiAyMzcgMjM4IDIzOSAyNDAgMjQxIDI0MiAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzYgMjQzIDI0NCAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgIFNlcHRlbWJlciAgICAgICAgICAgICAgICAgICAgICAgICBPY3RvYmVyICAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorMzYgICAgICAgICAyNDUgMjQ2IDI1OCAyNTkgMjYwICAgMzkgMjc1IDI3NiAyNzcgMjc4IDI3OSAyODAgMjgxICAgCiszNyAyNjEgMjYyIDI2MyAyNjQgMjY1IDI2NiAyNjcgICA0MCAyODIgMjgzIDI4NCAyODUgMjg2IDI4NyAyODggICAKKzM4IDI2OCAyNjkgMjcwIDI3MSAyNzIgMjczIDI3NCAgIDQxIDI4OSAyOTAgMjkxIDI5MiAyOTMgMjk0IDI5NSAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDIgMjk2IDI5NyAyOTggMjk5IDMwMCAzMDEgMzAyICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0MyAzMDMgMzA0IDMwNSAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzQzICAgICAgICAgICAgIDMwNiAzMDcgMzA4IDMwOSAgIDQ3ICAgICAgICAgICAgICAgICAgICAgMzM2IDMzNyAgIAorNDQgMzEwIDMxMSAzMTIgMzEzIDMxNCAzMTUgMzE2ICAgNDggMzM4IDMzOSAzNDAgMzQxIDM0MiAzNDMgMzQ0ICAgCis0NSAzMTcgMzE4IDMxOSAzMjAgMzIxIDMyMiAzMjMgICA0OSAzNDUgMzQ2IDM0NyAzNDggMzQ5IDM1MCAzNTEgICAKKzQ2IDMyNCAzMjUgMzI2IDMyNyAzMjggMzI5IDMzMCAgIDUwIDM1MiAzNTMgMzU0IDM1NSAzNTYgMzU3IDM1OCAgIAorNDcgMzMxIDMzMiAzMzMgMzM0IDMzNSAgICAgICAgICAgNTEgMzU5IDM2MCAzNjEgMzYyIDM2MyAzNjQgMzY1ICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MiAzNjYgICAgICAgICAgICAgICAgICAgICAgICAgICAKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL3dlZWthcmcgYi90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla2FyZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2ZjNTNjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3dlZWthcmcKQEAgLTAsMCArMSwxNDcgQEAKKworR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkLCB3ZWVrIDQwLCAzIG1vbnRoIAorICAgICBTZXB0ZW1iZXIgMjAxMyAgICAgICAgICAgIE9jdG9iZXIgMjAxMyAgICAgICAgICAgIE5vdmVtYmVyIDIwMTMgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorMzUgICAgICAgICAgICAgICAgICAgIDEgIDQwICAgICAxICAyICAzICA0ICA1ICA2ICA0NCAgICAgICAgICAgICAgMSAgMiAgMyAKKzM2ICAyICAzICA0ICA1ICA2ICA3ICA4ICA0MSAgNyAgOCAgOSAxMCAxMSAxMiAxMyAgNDUgIDQgIDUgIDYgIDcgIDggIDkgMTAgCiszNyAgOSAxMCAxMSAxMiAxMyAxNCAxNSAgNDIgMTQgMTUgMTYgMTcgMTggMTkgMjAgIDQ2IDExIDEyIDEzIDE0IDE1IDE2IDE3IAorMzggMTYgMTcgMTggMTkgMjAgMjEgMjIgIDQzIDIxIDIyIDIzIDI0IDI1IDI2IDI3ICA0NyAxOCAxOSAyMCAyMSAyMiAyMyAyNCAKKzM5IDIzIDI0IDI1IDI2IDI3IDI4IDI5ICA0NCAyOCAyOSAzMCAzMSAgICAgICAgICAgNDggMjUgMjYgMjcgMjggMjkgMzAgICAgCis0MCAzMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkLCB3ZWVrIDQwLCAzIG1vbnRoIAorICAgICBTZXB0ZW1iZXIgMjAxMyAgICAgICAgICAgIE9jdG9iZXIgMjAxMyAgICAgICAgICAgIE5vdmVtYmVyIDIwMTMgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorMzYgIDEgIDIgIDMgIDQgIDUgIDYgIDcgIDQwICAgICAgICAxICAyICAzICA0ICA1ICA0NCAgICAgICAgICAgICAgICAgMSAgMiAKKzM3ICA4ICA5IDEwIDExIDEyIDEzIDE0ICA0MSAgNiAgNyAgOCAgOSAxMCAxMSAxMiAgNDUgIDMgIDQgIDUgIDYgIDcgIDggIDkgCiszOCAxNSAxNiAxNyAxOCAxOSAyMCAyMSAgNDIgMTMgMTQgMTUgMTYgMTcgMTggMTkgIDQ2IDEwIDExIDEyIDEzIDE0IDE1IDE2IAorMzkgMjIgMjMgMjQgMjUgMjYgMjcgMjggIDQzIDIwIDIxIDIyIDIzIDI0IDI1IDI2ICA0NyAxNyAxOCAxOSAyMCAyMSAyMiAyMyAKKzQwIDI5IDMwICAgICAgICAgICAgICAgICA0NCAyNyAyOCAyOSAzMCAzMSAgICAgICAgNDggMjQgMjUgMjYgMjcgMjggMjkgMzAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorSnVsaWFuIC0gTW9uZGF5LWJhc2VkLCB3ZWVrIDQwLCAzIG1vbnRoIAorICAgICAgICBTZXB0ZW1iZXIgMjAxMyAgICAgICAgICAgICAgICAgICBPY3RvYmVyIDIwMTMgICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyIDIwMTMgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorMzUgICAgICAgICAgICAgICAgICAgICAgICAgMjQ0ICA0MCAgICAgMjc0IDI3NSAyNzYgMjc3IDI3OCAyNzkgIDQ0ICAgICAgICAgICAgICAgICAzMDUgMzA2IDMwNyAKKzM2IDI0NSAyNDYgMjQ3IDI0OCAyNDkgMjUwIDI1MSAgNDEgMjgwIDI4MSAyODIgMjgzIDI4NCAyODUgMjg2ICA0NSAzMDggMzA5IDMxMCAzMTEgMzEyIDMxMyAzMTQgCiszNyAyNTIgMjUzIDI1NCAyNTUgMjU2IDI1NyAyNTggIDQyIDI4NyAyODggMjg5IDI5MCAyOTEgMjkyIDI5MyAgNDYgMzE1IDMxNiAzMTcgMzE4IDMxOSAzMjAgMzIxIAorMzggMjU5IDI2MCAyNjEgMjYyIDI2MyAyNjQgMjY1ICA0MyAyOTQgMjk1IDI5NiAyOTcgMjk4IDI5OSAzMDAgIDQ3IDMyMiAzMjMgMzI0IDMyNSAzMjYgMzI3IDMyOCAKKzM5IDI2NiAyNjcgMjY4IDI2OSAyNzAgMjcxIDI3MiAgNDQgMzAxIDMwMiAzMDMgMzA0ICAgICAgICAgICAgICA0OCAzMjkgMzMwIDMzMSAzMzIgMzMzIDMzNCAgICAgCis0MCAyNzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorSnVsaWFuIC0gU3VuZGF5LWJhc2VkLCB3ZWVrIDQwLCAzIG1vbnRoIAorICAgICAgICBTZXB0ZW1iZXIgMjAxMyAgICAgICAgICAgICAgICAgICBPY3RvYmVyIDIwMTMgICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyIDIwMTMgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorMzYgMjQ0IDI0NSAyNDYgMjQ3IDI0OCAyNDkgMjUwICA0MCAgICAgICAgIDI3NCAyNzUgMjc2IDI3NyAyNzggIDQ0ICAgICAgICAgICAgICAgICAgICAgMzA1IDMwNiAKKzM3IDI1MSAyNTIgMjUzIDI1NCAyNTUgMjU2IDI1NyAgNDEgMjc5IDI4MCAyODEgMjgyIDI4MyAyODQgMjg1ICA0NSAzMDcgMzA4IDMwOSAzMTAgMzExIDMxMiAzMTMgCiszOCAyNTggMjU5IDI2MCAyNjEgMjYyIDI2MyAyNjQgIDQyIDI4NiAyODcgMjg4IDI4OSAyOTAgMjkxIDI5MiAgNDYgMzE0IDMxNSAzMTYgMzE3IDMxOCAzMTkgMzIwIAorMzkgMjY1IDI2NiAyNjcgMjY4IDI2OSAyNzAgMjcxICA0MyAyOTMgMjk0IDI5NSAyOTYgMjk3IDI5OCAyOTkgIDQ3IDMyMSAzMjIgMzIzIDMyNCAzMjUgMzI2IDMyNyAKKzQwIDI3MiAyNzMgICAgICAgICAgICAgICAgICAgICAgNDQgMzAwIDMwMSAzMDIgMzAzIDMwNCAgICAgICAgICA0OCAzMjggMzI5IDMzMCAzMzEgMzMyIDMzMyAzMzQgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkLCB3ZWVrIDQwLCAxIG1vbnRoIAorICAgICAgT2N0b2JlciAyMDEzICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1Cis0MCAgICAgMSAgMiAgMyAgNCAgNSAgNiAKKzQxICA3ICA4ICA5IDEwIDExIDEyIDEzIAorNDIgMTQgMTUgMTYgMTcgMTggMTkgMjAgCis0MyAyMSAyMiAyMyAyNCAyNSAyNiAyNyAKKzQ0IDI4IDI5IDMwIDMxICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgCitHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQsIHdlZWsgNDAsIDEgbW9udGggCisgICAgICBPY3RvYmVyIDIwMTMgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzQwICAgICAgICAxICAyICAzICA0ICA1IAorNDEgIDYgIDcgIDggIDkgMTAgMTEgMTIgCis0MiAxMyAxNCAxNSAxNiAxNyAxOCAxOSAKKzQzIDIwIDIxIDIyIDIzIDI0IDI1IDI2IAorNDQgMjcgMjggMjkgMzAgMzEgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAKK0p1bGlhbiAtIE1vbmRheS1iYXNlZCwgd2VlayA0MCwgMSBtb250aCAKKyAgICAgICAgIE9jdG9iZXIgMjAxMyAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCis0MCAgICAgMjc0IDI3NSAyNzYgMjc3IDI3OCAyNzkgCis0MSAyODAgMjgxIDI4MiAyODMgMjg0IDI4NSAyODYgCis0MiAyODcgMjg4IDI4OSAyOTAgMjkxIDI5MiAyOTMgCis0MyAyOTQgMjk1IDI5NiAyOTcgMjk4IDI5OSAzMDAgCis0NCAzMDEgMzAyIDMwMyAzMDQgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCitKdWxpYW4gLSBTdW5kYXktYmFzZWQsIHdlZWsgNDAsIDEgbW9udGggCisgICAgICAgICBPY3RvYmVyIDIwMTMgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorNDAgICAgICAgICAyNzQgMjc1IDI3NiAyNzcgMjc4IAorNDEgMjc5IDI4MCAyODEgMjgyIDI4MyAyODQgMjg1IAorNDIgMjg2IDI4NyAyODggMjg5IDI5MCAyOTEgMjkyIAorNDMgMjkzIDI5NCAyOTUgMjk2IDI5NyAyOTggMjk5IAorNDQgMzAwIDMwMSAzMDIgMzAzIDMwNCAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkLCB3ZWVrIDUzLCAxIG1vbnRoIAorICAgICAgSmFudWFyeSAyMDEwICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1Cis1MyAgICAgICAgICAgICAgMSAgMiAgMyAKKyAxICA0ICA1ICA2ICA3ICA4ICA5IDEwIAorIDIgMTEgMTIgMTMgMTQgMTUgMTYgMTcgCisgMyAxOCAxOSAyMCAyMSAyMiAyMyAyNCAKKyA0IDI1IDI2IDI3IDI4IDI5IDMwIDMxIAorICAgICAgICAgICAgICAgICAgICAgICAgCitKdWxpYW4gLSBNb25kYXktYmFzZWQsIHdlZWsgNTMsIDEgbW9udGggCisgICAgICAgICBKYW51YXJ5IDIwMTAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorNTMgICAgICAgICAgICAgICAgICAgMSAgIDIgICAzIAorIDEgICA0ICAgNSAgIDYgICA3ICAgOCAgIDkgIDEwIAorIDIgIDExICAxMiAgMTMgIDE0ICAxNSAgMTYgIDE3IAorIDMgIDE4ICAxOSAgMjAgIDIxICAyMiAgMjMgIDI0IAorIDQgIDI1ICAyNiAgMjcgIDI4ICAyOSAgMzAgIDMxIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkLCB3ZWVrIDUzIHdpdGggY29sb3JzLCAxIG1vbnRoIAorICAgICAgSmFudWFyeSAyMDEwICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CisbWzdtNTMbWzI3bSAgICAgICAgICAgICAgMSAgMiAgMyAKKyAxICA0ICA1ICA2ICA3ICA4ICA5IDEwIAorIDIgMTEgMTIgMTMgMTQgMTUgMTYgMTcgCisgMyAxOCAxOSAyMCAyMSAyMiAyMyAyNCAKKyA0IDI1IDI2IDI3IDI4IDI5IDMwIDMxIAorICAgICAgICAgICAgICAgICAgICAgICAgCitKdWxpYW4gLSBNb25kYXktYmFzZWQsIHdlZWsgNTMgd2l0aCBjb2xvcnMsIDEgbW9udGggCisgICAgICAgICBKYW51YXJ5IDIwMTAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorG1s3bTUzG1syN20gICAgICAgICAgICAgICAgICAgMSAgIDIgICAzIAorIDEgICA0ICAgNSAgIDYgICA3ICAgOCAgIDkgIDEwIAorIDIgIDExICAxMiAgMTMgIDE0ICAxNSAgMTYgIDE3IAorIDMgIDE4ICAxOSAgMjAgIDIxICAyMiAgMjMgIDI0IAorIDQgIDI1ICAyNiAgMjcgIDI4ICAyOSAgMzAgIDMxIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkLCB3ZWVrIDQwIHdpdGggY29sb3JzLCAzIG1vbnRoIAorICAgICBTZXB0ZW1iZXIgMjAxMyAgICAgICAgICAgIE9jdG9iZXIgMjAxMyAgICAgICAgICAgIE5vdmVtYmVyIDIwMTMgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorMzUgICAgICAgICAgICAgICAgICAgIDEgIBtbN200MBtbMjdtICAgICAxICAyICAzICA0ICA1ICA2ICA0NCAgICAgICAgICAgICAgMSAgMiAgMyAKKzM2ICAyICAzICA0ICA1ICA2ICA3ICA4ICA0MSAbWzdtIDcbWzI3bSAgOCAgOSAxMCAxMSAxMiAxMyAgNDUgIDQgIDUgIDYgIDcgIDggIDkgMTAgCiszNyAgOSAxMCAxMSAxMiAxMyAxNCAxNSAgNDIgMTQgMTUgMTYgMTcgMTggMTkgMjAgIDQ2IDExIDEyIDEzIDE0IDE1IDE2IDE3IAorMzggMTYgMTcgMTggMTkgMjAgMjEgMjIgIDQzIDIxIDIyIDIzIDI0IDI1IDI2IDI3ICA0NyAxOCAxOSAyMCAyMSAyMiAyMyAyNCAKKzM5IDIzIDI0IDI1IDI2IDI3IDI4IDI5ICA0NCAyOCAyOSAzMCAzMSAgICAgICAgICAgNDggMjUgMjYgMjcgMjggMjkgMzAgICAgCisbWzdtNDAbWzI3bSAzMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorSnVsaWFuIC0gTW9uZGF5LWJhc2VkLCB3ZWVrIDQwIHdpdGggY29sb3JzLCAzIG1vbnRoIAorICAgICAgICBTZXB0ZW1iZXIgMjAxMyAgICAgICAgICAgICAgICAgICBPY3RvYmVyIDIwMTMgICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyIDIwMTMgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorMzUgICAgICAgICAgICAgICAgICAgICAgICAgMjQ0ICAbWzdtNDAbWzI3bSAgICAgMjc0IDI3NSAyNzYgMjc3IDI3OCAyNzkgIDQ0ICAgICAgICAgICAgICAgICAzMDUgMzA2IDMwNyAKKzM2IDI0NSAyNDYgMjQ3IDI0OCAyNDkgMjUwIDI1MSAgNDEgG1s3bTI4MBtbMjdtIDI4MSAyODIgMjgzIDI4NCAyODUgMjg2ICA0NSAzMDggMzA5IDMxMCAzMTEgMzEyIDMxMyAzMTQgCiszNyAyNTIgMjUzIDI1NCAyNTUgMjU2IDI1NyAyNTggIDQyIDI4NyAyODggMjg5IDI5MCAyOTEgMjkyIDI5MyAgNDYgMzE1IDMxNiAzMTcgMzE4IDMxOSAzMjAgMzIxIAorMzggMjU5IDI2MCAyNjEgMjYyIDI2MyAyNjQgMjY1ICA0MyAyOTQgMjk1IDI5NiAyOTcgMjk4IDI5OSAzMDAgIDQ3IDMyMiAzMjMgMzI0IDMyNSAzMjYgMzI3IDMyOCAKKzM5IDI2NiAyNjcgMjY4IDI2OSAyNzAgMjcxIDI3MiAgNDQgMzAxIDMwMiAzMDMgMzA0ICAgICAgICAgICAgICA0OCAzMjkgMzMwIDMzMSAzMzIgMzMzIDMzNCAgICAgCisbWzdtNDAbWzI3bSAyNzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkLCB3ZWVrIDU0IHdpdGggY29sb3JzLCAzIG1vbnRoIAorICAgICBOb3ZlbWJlciAyMDAwICAgICAgICAgICAgRGVjZW1iZXIgMjAwMCAgICAgICAgICAgICBKYW51YXJ5IDIwMDEgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorNDUgICAgICAgICAgIDEgIDIgIDMgIDQgIDQ5ICAgICAgICAgICAgICAgICAxICAyICAgMSAgICAgMSAgMiAgMyAgNCAgNSAgNiAKKzQ2ICA1ICA2ICA3ICA4ICA5IDEwIDExICA1MCAgMyAgNCAgNSAgNiAgNyAgOCAgOSAgIDIgIDcgIDggIDkgMTAgMTEgMTIgMTMgCis0NyAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgNTEgMTAgMTEgMTIgMTMgMTQgMTUgMTYgICAzIDE0IDE1IDE2IDE3IDE4IDE5IDIwIAorNDggMTkgMjAgMjEgMjIgMjMgMjQgMjUgIDUyIDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgNCAyMSAyMiAyMyAyNCAyNSAyNiAyNyAKKzQ5IDI2IDI3IDI4IDI5IDMwICAgICAgICA1MyAyNCAyNSAyNiAyNyAyOCAyOSAzMCAgIDUgMjggMjkgMzAgMzEgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgG1s3bTU0G1syN20gG1s3bTMxG1syN20gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkLCB3ZWVrIDUzIHdpdGggY29sb3JzLCAzIG1vbnRoIAorY2FsOiBpbGxlZ2FsIHdlZWsgdmFsdWU6IHllYXIgMjAwMCBkb2Vzbid0IGhhdmUgd2VlayA1MworR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkLCB3ZWVrIDUyIHdpdGggY29sb3JzLCAzIG1vbnRoIAorICAgICBOb3ZlbWJlciAyMDAwICAgICAgICAgICAgRGVjZW1iZXIgMjAwMCAgICAgICAgICAgICBKYW51YXJ5IDIwMDEgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorNDQgICAgICAgIDEgIDIgIDMgIDQgIDUgIDQ4ICAgICAgICAgICAgICAxICAyICAzICAgMSAgMSAgMiAgMyAgNCAgNSAgNiAgNyAKKzQ1ICA2ICA3ICA4ICA5IDEwIDExIDEyICA0OSAgNCAgNSAgNiAgNyAgOCAgOSAxMCAgIDIgIDggIDkgMTAgMTEgMTIgMTMgMTQgCis0NiAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgNTAgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICAzIDE1IDE2IDE3IDE4IDE5IDIwIDIxIAorNDcgMjAgMjEgMjIgMjMgMjQgMjUgMjYgIDUxIDE4IDE5IDIwIDIxIDIyIDIzIDI0ICAgNCAyMiAyMyAyNCAyNSAyNiAyNyAyOCAKKzQ4IDI3IDI4IDI5IDMwICAgICAgICAgICAbWzdtNTIbWzI3bSAyNSAyNiAyNyAyOCAyOSAzMCAbWzdtMzEbWzI3bSAgIDUgMjkgMzAgMzEgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL3dlZWtudW0gYi90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla251bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzNmMDYxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3dlZWtudW0KQEAgLTAsMCArMSwxNDg1IEBACisKK0dyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIC0geWVhciAyMDAxCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDAxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAgICAgICBKYW51YXJ5ICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5ICAgICAgICAgICAgICAgICAgIE1hcmNoICAgICAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKyAxICAxICAyICAzICA0ICA1ICA2ICA3ICAgIDUgICAgICAgICAgIDEgIDIgIDMgIDQgICAgOSAgICAgICAgICAgMSAgMiAgMyAgNCAgIAorIDIgIDggIDkgMTAgMTEgMTIgMTMgMTQgICAgNiAgNSAgNiAgNyAgOCAgOSAxMCAxMSAgIDEwICA1ICA2ICA3ICA4ICA5IDEwIDExICAgCisgMyAxNSAxNiAxNyAxOCAxOSAyMCAyMSAgICA3IDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgMTEgMTIgMTMgMTQgMTUgMTYgMTcgMTggICAKKyA0IDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgIDggMTkgMjAgMjEgMjIgMjMgMjQgMjUgICAxMiAxOSAyMCAyMSAyMiAyMyAyNCAyNSAgIAorIDUgMjkgMzAgMzEgICAgICAgICAgICAgICAgOSAyNiAyNyAyOCAgICAgICAgICAgICAgIDEzIDI2IDI3IDI4IDI5IDMwIDMxICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgIEFwcmlsICAgICAgICAgICAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CisxMyAgICAgICAgICAgICAgICAgICAgMSAgIDE4ICAgICAxICAyICAzICA0ICA1ICA2ICAgMjIgICAgICAgICAgICAgIDEgIDIgIDMgICAKKzE0ICAyICAzICA0ICA1ICA2ICA3ICA4ICAgMTkgIDcgIDggIDkgMTAgMTEgMTIgMTMgICAyMyAgNCAgNSAgNiAgNyAgOCAgOSAxMCAgIAorMTUgIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAyMCAxNCAxNSAxNiAxNyAxOCAxOSAyMCAgIDI0IDExIDEyIDEzIDE0IDE1IDE2IDE3ICAgCisxNiAxNiAxNyAxOCAxOSAyMCAyMSAyMiAgIDIxIDIxIDIyIDIzIDI0IDI1IDI2IDI3ICAgMjUgMTggMTkgMjAgMjEgMjIgMjMgMjQgICAKKzE3IDIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgMjIgMjggMjkgMzAgMzEgICAgICAgICAgICAyNiAyNSAyNiAyNyAyOCAyOSAzMCAgICAgIAorMTggMzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgSnVseSAgICAgICAgICAgICAgICAgICAgIEF1Z3VzdCAgICAgICAgICAgICAgICAgIFNlcHRlbWJlciAgICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorMjYgICAgICAgICAgICAgICAgICAgIDEgICAzMSAgICAgICAgMSAgMiAgMyAgNCAgNSAgIDM1ICAgICAgICAgICAgICAgICAxICAyICAgCisyNyAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgIDMyICA2ICA3ICA4ICA5IDEwIDExIDEyICAgMzYgIDMgIDQgIDUgIDYgIDcgIDggIDkgICAKKzI4ICA5IDEwIDExIDEyIDEzIDE0IDE1ICAgMzMgMTMgMTQgMTUgMTYgMTcgMTggMTkgICAzNyAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgIAorMjkgMTYgMTcgMTggMTkgMjAgMjEgMjIgICAzNCAyMCAyMSAyMiAyMyAyNCAyNSAyNiAgIDM4IDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgCiszMCAyMyAyNCAyNSAyNiAyNyAyOCAyOSAgIDM1IDI3IDI4IDI5IDMwIDMxICAgICAgICAgMzkgMjQgMjUgMjYgMjcgMjggMjkgMzAgICAKKzMxIDMwIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICBPY3RvYmVyICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgICAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKzQwICAxICAyICAzICA0ICA1ICA2ICA3ICAgNDQgICAgICAgICAgIDEgIDIgIDMgIDQgICA0OCAgICAgICAgICAgICAgICAgMSAgMiAgIAorNDEgIDggIDkgMTAgMTEgMTIgMTMgMTQgICA0NSAgNSAgNiAgNyAgOCAgOSAxMCAxMSAgIDQ5ICAzICA0ICA1ICA2ICA3ICA4ICA5ICAgCis0MiAxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIDQ2IDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgNTAgMTAgMTEgMTIgMTMgMTQgMTUgMTYgICAKKzQzIDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgNDcgMTkgMjAgMjEgMjIgMjMgMjQgMjUgICA1MSAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgIAorNDQgMjkgMzAgMzEgICAgICAgICAgICAgICA0OCAyNiAyNyAyOCAyOSAzMCAgICAgICAgIDUyIDI0IDI1IDI2IDI3IDI4IDI5IDMwICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgMzEgICAgICAgICAgICAgICAgICAgICAKKworR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMgLSB5ZWFyIDIwMDEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgICAgICAgICAgTWFyY2ggICAgICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorIDEgICAgIDEgIDIgIDMgIDQgIDUgIDYgICAgNSAgICAgICAgICAgICAgMSAgMiAgMyAgICA5ICAgICAgICAgICAgICAxICAyICAzICAgCisgMiAgNyAgOCAgOSAxMCAxMSAxMiAxMyAgICA2ICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgMTAgIDQgIDUgIDYgIDcgIDggIDkgMTAgICAKKyAzIDE0IDE1IDE2IDE3IDE4IDE5IDIwICAgIDcgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICAxMSAxMSAxMiAxMyAxNCAxNSAxNiAxNyAgIAorIDQgMjEgMjIgMjMgMjQgMjUgMjYgMjcgICAgOCAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgIDEyIDE4IDE5IDIwIDIxIDIyIDIzIDI0ICAgCisgNSAyOCAyOSAzMCAzMSAgICAgICAgICAgICA5IDI1IDI2IDI3IDI4ICAgICAgICAgICAgMTMgMjUgMjYgMjcgMjggMjkgMzAgMzEgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgQXByaWwgICAgICAgICAgICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzE0ICAxICAyICAzICA0ICA1ICA2ICA3ICAgMTggICAgICAgIDEgIDIgIDMgIDQgIDUgICAyMiAgICAgICAgICAgICAgICAgMSAgMiAgIAorMTUgIDggIDkgMTAgMTEgMTIgMTMgMTQgICAxOSAgNiAgNyAgOCAgOSAxMCAxMSAxMiAgIDIzICAzICA0ICA1ICA2ICA3ICA4ICA5ICAgCisxNiAxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIDIwIDEzIDE0IDE1IDE2IDE3IDE4IDE5ICAgMjQgMTAgMTEgMTIgMTMgMTQgMTUgMTYgICAKKzE3IDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgMjEgMjAgMjEgMjIgMjMgMjQgMjUgMjYgICAyNSAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgIAorMTggMjkgMzAgICAgICAgICAgICAgICAgICAyMiAyNyAyOCAyOSAzMCAzMSAgICAgICAgIDI2IDI0IDI1IDI2IDI3IDI4IDI5IDMwICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgICAgICAgU2VwdGVtYmVyICAgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCisyNyAgMSAgMiAgMyAgNCAgNSAgNiAgNyAgIDMxICAgICAgICAgICAxICAyICAzICA0ICAgMzUgICAgICAgICAgICAgICAgICAgIDEgICAKKzI4ICA4ICA5IDEwIDExIDEyIDEzIDE0ICAgMzIgIDUgIDYgIDcgIDggIDkgMTAgMTEgICAzNiAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgIAorMjkgMTUgMTYgMTcgMTggMTkgMjAgMjEgICAzMyAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIDM3ICA5IDEwIDExIDEyIDEzIDE0IDE1ICAgCiszMCAyMiAyMyAyNCAyNSAyNiAyNyAyOCAgIDM0IDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgMzggMTYgMTcgMTggMTkgMjAgMjEgMjIgICAKKzMxIDI5IDMwIDMxICAgICAgICAgICAgICAgMzUgMjYgMjcgMjggMjkgMzAgMzEgICAgICAzOSAyMyAyNCAyNSAyNiAyNyAyOCAyOSAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQwIDMwICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgIE9jdG9iZXIgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorNDAgICAgIDEgIDIgIDMgIDQgIDUgIDYgICA0NCAgICAgICAgICAgICAgMSAgMiAgMyAgIDQ4ICAgICAgICAgICAgICAgICAgICAxICAgCis0MSAgNyAgOCAgOSAxMCAxMSAxMiAxMyAgIDQ1ICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgNDkgIDIgIDMgIDQgIDUgIDYgIDcgIDggICAKKzQyIDE0IDE1IDE2IDE3IDE4IDE5IDIwICAgNDYgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICA1MCAgOSAxMCAxMSAxMiAxMyAxNCAxNSAgIAorNDMgMjEgMjIgMjMgMjQgMjUgMjYgMjcgICA0NyAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgIDUxIDE2IDE3IDE4IDE5IDIwIDIxIDIyICAgCis0NCAyOCAyOSAzMCAzMSAgICAgICAgICAgIDQ4IDI1IDI2IDI3IDI4IDI5IDMwICAgICAgNTIgMjMgMjQgMjUgMjYgMjcgMjggMjkgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MyAzMCAzMSAgICAgICAgICAgICAgICAgIAorCitKdWxpYW4gLSBNb25kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyAtIHllYXIgMjAwMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisgMSAgIDEgICAyICAgMyAgIDQgICA1ICAgNiAgIDcgICAgNSAgICAgICAgICAgICAgMzIgIDMzICAzNCAgMzUgICAKKyAyICAgOCAgIDkgIDEwICAxMSAgMTIgIDEzICAxNCAgICA2ICAzNiAgMzcgIDM4ICAzOSAgNDAgIDQxICA0MiAgIAorIDMgIDE1ICAxNiAgMTcgIDE4ICAxOSAgMjAgIDIxICAgIDcgIDQzICA0NCAgNDUgIDQ2ICA0NyAgNDggIDQ5ICAgCisgNCAgMjIgIDIzICAyNCAgMjUgIDI2ICAyNyAgMjggICAgOCAgNTAgIDUxICA1MiAgNTMgIDU0ICA1NSAgNTYgICAKKyA1ICAyOSAgMzAgIDMxICAgICAgICAgICAgICAgICAgICA5ICA1NyAgNTggIDU5ICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgTWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgQXByaWwgICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorIDkgICAgICAgICAgICAgIDYwICA2MSAgNjIgIDYzICAgMTMgICAgICAgICAgICAgICAgICAgICAgICAgIDkxICAgCisxMCAgNjQgIDY1ICA2NiAgNjcgIDY4ICA2OSAgNzAgICAxNCAgOTIgIDkzICA5NCAgOTUgIDk2ICA5NyAgOTggICAKKzExICA3MSAgNzIgIDczICA3NCAgNzUgIDc2ICA3NyAgIDE1ICA5OSAxMDAgMTAxIDEwMiAxMDMgMTA0IDEwNSAgIAorMTIgIDc4ICA3OSAgODAgIDgxICA4MiAgODMgIDg0ICAgMTYgMTA2IDEwNyAxMDggMTA5IDExMCAxMTEgMTEyICAgCisxMyAgODUgIDg2ICA4NyAgODggIDg5ICA5MCAgICAgICAxNyAxMTMgMTE0IDExNSAxMTYgMTE3IDExOCAxMTkgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE4IDEyMCAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzE4ICAgICAxMjEgMTIyIDEyMyAxMjQgMTI1IDEyNiAgIDIyICAgICAgICAgICAgICAgICAxNTIgMTUzIDE1NCAgIAorMTkgMTI3IDEyOCAxMjkgMTMwIDEzMSAxMzIgMTMzICAgMjMgMTU1IDE1NiAxNTcgMTU4IDE1OSAxNjAgMTYxICAgCisyMCAxMzQgMTM1IDEzNiAxMzcgMTM4IDEzOSAxNDAgICAyNCAxNjIgMTYzIDE2NCAxNjUgMTY2IDE2NyAxNjggICAKKzIxIDE0MSAxNDIgMTQzIDE0NCAxNDUgMTQ2IDE0NyAgIDI1IDE2OSAxNzAgMTcxIDE3MiAxNzMgMTc0IDE3NSAgIAorMjIgMTQ4IDE0OSAxNTAgMTUxICAgICAgICAgICAgICAgMjYgMTc2IDE3NyAxNzggMTc5IDE4MCAxODEgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1Z3VzdCAgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisyNiAgICAgICAgICAgICAgICAgICAgICAgICAxODIgICAzMSAgICAgICAgIDIxMyAyMTQgMjE1IDIxNiAyMTcgICAKKzI3IDE4MyAxODQgMTg1IDE4NiAxODcgMTg4IDE4OSAgIDMyIDIxOCAyMTkgMjIwIDIyMSAyMjIgMjIzIDIyNCAgIAorMjggMTkwIDE5MSAxOTIgMTkzIDE5NCAxOTUgMTk2ICAgMzMgMjI1IDIyNiAyMjcgMjI4IDIyOSAyMzAgMjMxICAgCisyOSAxOTcgMTk4IDE5OSAyMDAgMjAxIDIwMiAyMDMgICAzNCAyMzIgMjMzIDIzNCAyMzUgMjM2IDIzNyAyMzggICAKKzMwIDIwNCAyMDUgMjA2IDIwNyAyMDggMjA5IDIxMCAgIDM1IDIzOSAyNDAgMjQxIDI0MiAyNDMgICAgICAgICAgIAorMzEgMjExIDIxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgIFNlcHRlbWJlciAgICAgICAgICAgICAgICAgICAgICAgICBPY3RvYmVyICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorMzUgICAgICAgICAgICAgICAgICAgICAyNDQgMjQ1ICAgNDAgMjc0IDI3NSAyNzYgMjc3IDI3OCAyNzkgMjgwICAgCiszNiAyNDYgMjQ3IDI0OCAyNDkgMjUwIDI1MSAyNTIgICA0MSAyODEgMjgyIDI4MyAyODQgMjg1IDI4NiAyODcgICAKKzM3IDI1MyAyNTQgMjU1IDI1NiAyNTcgMjU4IDI1OSAgIDQyIDI4OCAyODkgMjkwIDI5MSAyOTIgMjkzIDI5NCAgIAorMzggMjYwIDI2MSAyNjIgMjYzIDI2NCAyNjUgMjY2ICAgNDMgMjk1IDI5NiAyOTcgMjk4IDI5OSAzMDAgMzAxICAgCiszOSAyNjcgMjY4IDI2OSAyNzAgMjcxIDI3MiAyNzMgICA0NCAzMDIgMzAzIDMwNCAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzQ0ICAgICAgICAgICAgIDMwNSAzMDYgMzA3IDMwOCAgIDQ4ICAgICAgICAgICAgICAgICAgICAgMzM1IDMzNiAgIAorNDUgMzA5IDMxMCAzMTEgMzEyIDMxMyAzMTQgMzE1ICAgNDkgMzM3IDMzOCAzMzkgMzQwIDM0MSAzNDIgMzQzICAgCis0NiAzMTYgMzE3IDMxOCAzMTkgMzIwIDMyMSAzMjIgICA1MCAzNDQgMzQ1IDM0NiAzNDcgMzQ4IDM0OSAzNTAgICAKKzQ3IDMyMyAzMjQgMzI1IDMyNiAzMjcgMzI4IDMyOSAgIDUxIDM1MSAzNTIgMzUzIDM1NCAzNTUgMzU2IDM1NyAgIAorNDggMzMwIDMzMSAzMzIgMzMzIDMzNCAgICAgICAgICAgNTIgMzU4IDM1OSAzNjAgMzYxIDM2MiAzNjMgMzY0ICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAzNjUgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworSnVsaWFuIC0gU3VuZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMgLSB5ZWFyIDIwMDEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgICAgICBKYW51YXJ5ICAgICAgICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5ICAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorIDEgICAgICAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgIDUgICAgICAgICAgICAgICAgICAzMiAgMzMgIDM0ICAgCisgMiAgIDcgICA4ICAgOSAgMTAgIDExICAxMiAgMTMgICAgNiAgMzUgIDM2ICAzNyAgMzggIDM5ICA0MCAgNDEgICAKKyAzICAxNCAgMTUgIDE2ICAxNyAgMTggIDE5ICAyMCAgICA3ICA0MiAgNDMgIDQ0ICA0NSAgNDYgIDQ3ICA0OCAgIAorIDQgIDIxICAyMiAgMjMgIDI0ICAyNSAgMjYgIDI3ICAgIDggIDQ5ICA1MCAgNTEgIDUyICA1MyAgNTQgIDU1ICAgCisgNSAgMjggIDI5ICAzMCAgMzEgICAgICAgICAgICAgICAgOSAgNTYgIDU3ICA1OCAgNTkgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgIE1hcmNoICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFwcmlsICAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKyA5ICAgICAgICAgICAgICAgICAgNjAgIDYxICA2MiAgIDE0ICA5MSAgOTIgIDkzICA5NCAgOTUgIDk2ICA5NyAgIAorMTAgIDYzICA2NCAgNjUgIDY2ICA2NyAgNjggIDY5ICAgMTUgIDk4ICA5OSAxMDAgMTAxIDEwMiAxMDMgMTA0ICAgCisxMSAgNzAgIDcxICA3MiAgNzMgIDc0ICA3NSAgNzYgICAxNiAxMDUgMTA2IDEwNyAxMDggMTA5IDExMCAxMTEgICAKKzEyICA3NyAgNzggIDc5ICA4MCAgODEgIDgyICA4MyAgIDE3IDExMiAxMTMgMTE0IDExNSAxMTYgMTE3IDExOCAgIAorMTMgIDg0ICA4NSAgODYgIDg3ICA4OCAgODkgIDkwICAgMTggMTE5IDEyMCAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisxOCAgICAgICAgIDEyMSAxMjIgMTIzIDEyNCAxMjUgICAyMiAgICAgICAgICAgICAgICAgICAgIDE1MiAxNTMgICAKKzE5IDEyNiAxMjcgMTI4IDEyOSAxMzAgMTMxIDEzMiAgIDIzIDE1NCAxNTUgMTU2IDE1NyAxNTggMTU5IDE2MCAgIAorMjAgMTMzIDEzNCAxMzUgMTM2IDEzNyAxMzggMTM5ICAgMjQgMTYxIDE2MiAxNjMgMTY0IDE2NSAxNjYgMTY3ICAgCisyMSAxNDAgMTQxIDE0MiAxNDMgMTQ0IDE0NSAxNDYgICAyNSAxNjggMTY5IDE3MCAxNzEgMTcyIDE3MyAxNzQgICAKKzIyIDE0NyAxNDggMTQ5IDE1MCAxNTEgICAgICAgICAgIDI2IDE3NSAxNzYgMTc3IDE3OCAxNzkgMTgwIDE4MSAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgSnVseSAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorMjcgMTgyIDE4MyAxODQgMTg1IDE4NiAxODcgMTg4ICAgMzEgICAgICAgICAgICAgMjEzIDIxNCAyMTUgMjE2ICAgCisyOCAxODkgMTkwIDE5MSAxOTIgMTkzIDE5NCAxOTUgICAzMiAyMTcgMjE4IDIxOSAyMjAgMjIxIDIyMiAyMjMgICAKKzI5IDE5NiAxOTcgMTk4IDE5OSAyMDAgMjAxIDIwMiAgIDMzIDIyNCAyMjUgMjI2IDIyNyAyMjggMjI5IDIzMCAgIAorMzAgMjAzIDIwNCAyMDUgMjA2IDIwNyAyMDggMjA5ICAgMzQgMjMxIDIzMiAyMzMgMjM0IDIzNSAyMzYgMjM3ICAgCiszMSAyMTAgMjExIDIxMiAgICAgICAgICAgICAgICAgICAzNSAyMzggMjM5IDI0MCAyNDEgMjQyIDI0MyAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICBTZXB0ZW1iZXIgICAgICAgICAgICAgICAgICAgICAgICAgT2N0b2JlciAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzM1ICAgICAgICAgICAgICAgICAgICAgICAgIDI0NCAgIDQwICAgICAyNzQgMjc1IDI3NiAyNzcgMjc4IDI3OSAgIAorMzYgMjQ1IDI0NiAyNDcgMjQ4IDI0OSAyNTAgMjUxICAgNDEgMjgwIDI4MSAyODIgMjgzIDI4NCAyODUgMjg2ICAgCiszNyAyNTIgMjUzIDI1NCAyNTUgMjU2IDI1NyAyNTggICA0MiAyODcgMjg4IDI4OSAyOTAgMjkxIDI5MiAyOTMgICAKKzM4IDI1OSAyNjAgMjYxIDI2MiAyNjMgMjY0IDI2NSAgIDQzIDI5NCAyOTUgMjk2IDI5NyAyOTggMjk5IDMwMCAgIAorMzkgMjY2IDI2NyAyNjggMjY5IDI3MCAyNzEgMjcyICAgNDQgMzAxIDMwMiAzMDMgMzA0ICAgICAgICAgICAgICAgCis0MCAyNzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0Cis0NCAgICAgICAgICAgICAgICAgMzA1IDMwNiAzMDcgICA0OCAgICAgICAgICAgICAgICAgICAgICAgICAzMzUgICAKKzQ1IDMwOCAzMDkgMzEwIDMxMSAzMTIgMzEzIDMxNCAgIDQ5IDMzNiAzMzcgMzM4IDMzOSAzNDAgMzQxIDM0MiAgIAorNDYgMzE1IDMxNiAzMTcgMzE4IDMxOSAzMjAgMzIxICAgNTAgMzQzIDM0NCAzNDUgMzQ2IDM0NyAzNDggMzQ5ICAgCis0NyAzMjIgMzIzIDMyNCAzMjUgMzI2IDMyNyAzMjggICA1MSAzNTAgMzUxIDM1MiAzNTMgMzU0IDM1NSAzNTYgICAKKzQ4IDMyOSAzMzAgMzMxIDMzMiAzMzMgMzM0ICAgICAgIDUyIDM1NyAzNTggMzU5IDM2MCAzNjEgMzYyIDM2MyAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTMgMzY0IDM2NSAgICAgICAgICAgICAgICAgICAgICAgCisKK0dyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIC0gMyBtb250aCAyMDAxCisgICAgIERlY2VtYmVyIDIwMDAgICAgICAgICAgICAgSmFudWFyeSAyMDAxICAgICAgICAgICAgRmVicnVhcnkgMjAwMSAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1Cis0OCAgICAgICAgICAgICAgMSAgMiAgMyAgIDEgIDEgIDIgIDMgIDQgIDUgIDYgIDcgICA1ICAgICAgICAgICAxICAyICAzICA0IAorNDkgIDQgIDUgIDYgIDcgIDggIDkgMTAgICAyICA4ICA5IDEwIDExIDEyIDEzIDE0ICAgNiAgNSAgNiAgNyAgOCAgOSAxMCAxMSAKKzUwIDExIDEyIDEzIDE0IDE1IDE2IDE3ICAgMyAxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIDcgMTIgMTMgMTQgMTUgMTYgMTcgMTggCis1MSAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgIDQgMjIgMjMgMjQgMjUgMjYgMjcgMjggICA4IDE5IDIwIDIxIDIyIDIzIDI0IDI1IAorNTIgMjUgMjYgMjcgMjggMjkgMzAgMzEgICA1IDI5IDMwIDMxICAgICAgICAgICAgICAgOSAyNiAyNyAyOCAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCitHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyAtIDMgbW9udGggMjAwMQorICAgICBEZWNlbWJlciAyMDAwICAgICAgICAgICAgIEphbnVhcnkgMjAwMSAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDEgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorNDkgICAgICAgICAgICAgICAgIDEgIDIgICAxICAgICAxICAyICAzICA0ICA1ICA2ICAgNSAgICAgICAgICAgICAgMSAgMiAgMyAKKzUwICAzICA0ICA1ICA2ICA3ICA4ICA5ICAgMiAgNyAgOCAgOSAxMCAxMSAxMiAxMyAgIDYgIDQgIDUgIDYgIDcgIDggIDkgMTAgCis1MSAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgIDMgMTQgMTUgMTYgMTcgMTggMTkgMjAgICA3IDExIDEyIDEzIDE0IDE1IDE2IDE3IAorNTIgMTcgMTggMTkgMjAgMjEgMjIgMjMgICA0IDIxIDIyIDIzIDI0IDI1IDI2IDI3ICAgOCAxOCAxOSAyMCAyMSAyMiAyMyAyNCAKKzUzIDI0IDI1IDI2IDI3IDI4IDI5IDMwICAgNSAyOCAyOSAzMCAzMSAgICAgICAgICAgIDkgMjUgMjYgMjcgMjggICAgICAgICAgCis1NCAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorSnVsaWFuIC0gTW9uZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMgLSAzIG1vbnRoIDIwMDEKKyAgICAgICAgIERlY2VtYmVyIDIwMDAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDAxICAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAyMDAxICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzQ4ICAgICAgICAgICAgICAgICAzMzYgMzM3IDMzOCAgIDEgICAxICAgMiAgIDMgICA0ICAgNSAgIDYgICA3ICAgNSAgICAgICAgICAgICAgMzIgIDMzICAzNCAgMzUgCis0OSAzMzkgMzQwIDM0MSAzNDIgMzQzIDM0NCAzNDUgICAyICAgOCAgIDkgIDEwICAxMSAgMTIgIDEzICAxNCAgIDYgIDM2ICAzNyAgMzggIDM5ICA0MCAgNDEgIDQyIAorNTAgMzQ2IDM0NyAzNDggMzQ5IDM1MCAzNTEgMzUyICAgMyAgMTUgIDE2ICAxNyAgMTggIDE5ICAyMCAgMjEgICA3ICA0MyAgNDQgIDQ1ICA0NiAgNDcgIDQ4ICA0OSAKKzUxIDM1MyAzNTQgMzU1IDM1NiAzNTcgMzU4IDM1OSAgIDQgIDIyICAyMyAgMjQgIDI1ICAyNiAgMjcgIDI4ICAgOCAgNTAgIDUxICA1MiAgNTMgIDU0ICA1NSAgNTYgCis1MiAzNjAgMzYxIDM2MiAzNjMgMzY0IDM2NSAzNjYgICA1ICAyOSAgMzAgIDMxICAgICAgICAgICAgICAgICAgIDkgIDU3ICA1OCAgNTkgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK0p1bGlhbiAtIFN1bmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIC0gMyBtb250aCAyMDAxCisgICAgICAgICBEZWNlbWJlciAyMDAwICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAwMSAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgMjAwMSAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0Cis0OSAgICAgICAgICAgICAgICAgICAgIDMzNiAzMzcgICAxICAgICAgIDEgICAyICAgMyAgIDQgICA1ICAgNiAgIDUgICAgICAgICAgICAgICAgICAzMiAgMzMgIDM0IAorNTAgMzM4IDMzOSAzNDAgMzQxIDM0MiAzNDMgMzQ0ICAgMiAgIDcgICA4ICAgOSAgMTAgIDExICAxMiAgMTMgICA2ICAzNSAgMzYgIDM3ICAzOCAgMzkgIDQwICA0MSAKKzUxIDM0NSAzNDYgMzQ3IDM0OCAzNDkgMzUwIDM1MSAgIDMgIDE0ICAxNSAgMTYgIDE3ICAxOCAgMTkgIDIwICAgNyAgNDIgIDQzICA0NCAgNDUgIDQ2ICA0NyAgNDggCis1MiAzNTIgMzUzIDM1NCAzNTUgMzU2IDM1NyAzNTggICA0ICAyMSAgMjIgIDIzICAyNCAgMjUgIDI2ICAyNyAgIDggIDQ5ICA1MCAgNTEgIDUyICA1MyAgNTQgIDU1IAorNTMgMzU5IDM2MCAzNjEgMzYyIDM2MyAzNjQgMzY1ICAgNSAgMjggIDI5ICAzMCAgMzEgICAgICAgICAgICAgICA5ICA1NiAgNTcgIDU4ICA1OSAgICAgICAgICAgICAKKzU0IDM2NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCitHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyAtIHllYXIgMjAwMgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgICAgICAgICBNYXJjaCAgICAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CisgMSAgICAgMSAgMiAgMyAgNCAgNSAgNiAgICA1ICAgICAgICAgICAgICAxICAyICAzICAgIDkgICAgICAgICAgICAgIDEgIDIgIDMgICAKKyAyICA3ICA4ICA5IDEwIDExIDEyIDEzICAgIDYgIDQgIDUgIDYgIDcgIDggIDkgMTAgICAxMCAgNCAgNSAgNiAgNyAgOCAgOSAxMCAgIAorIDMgMTQgMTUgMTYgMTcgMTggMTkgMjAgICAgNyAxMSAxMiAxMyAxNCAxNSAxNiAxNyAgIDExIDExIDEyIDEzIDE0IDE1IDE2IDE3ICAgCisgNCAyMSAyMiAyMyAyNCAyNSAyNiAyNyAgICA4IDE4IDE5IDIwIDIxIDIyIDIzIDI0ICAgMTIgMTggMTkgMjAgMjEgMjIgMjMgMjQgICAKKyA1IDI4IDI5IDMwIDMxICAgICAgICAgICAgIDkgMjUgMjYgMjcgMjggICAgICAgICAgICAxMyAyNSAyNiAyNyAyOCAyOSAzMCAzMSAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICBBcHJpbCAgICAgICAgICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorMTQgIDEgIDIgIDMgIDQgIDUgIDYgIDcgICAxOCAgICAgICAgMSAgMiAgMyAgNCAgNSAgIDIyICAgICAgICAgICAgICAgICAxICAyICAgCisxNSAgOCAgOSAxMCAxMSAxMiAxMyAxNCAgIDE5ICA2ICA3ICA4ICA5IDEwIDExIDEyICAgMjMgIDMgIDQgIDUgIDYgIDcgIDggIDkgICAKKzE2IDE1IDE2IDE3IDE4IDE5IDIwIDIxICAgMjAgMTMgMTQgMTUgMTYgMTcgMTggMTkgICAyNCAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgIAorMTcgMjIgMjMgMjQgMjUgMjYgMjcgMjggICAyMSAyMCAyMSAyMiAyMyAyNCAyNSAyNiAgIDI1IDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgCisxOCAyOSAzMCAgICAgICAgICAgICAgICAgIDIyIDI3IDI4IDI5IDMwIDMxICAgICAgICAgMjYgMjQgMjUgMjYgMjcgMjggMjkgMzAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAgICAgICBTZXB0ZW1iZXIgICAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKzI3ICAxICAyICAzICA0ICA1ICA2ICA3ICAgMzEgICAgICAgICAgIDEgIDIgIDMgIDQgICAzNSAgICAgICAgICAgICAgICAgICAgMSAgIAorMjggIDggIDkgMTAgMTEgMTIgMTMgMTQgICAzMiAgNSAgNiAgNyAgOCAgOSAxMCAxMSAgIDM2ICAyICAzICA0ICA1ICA2ICA3ICA4ICAgCisyOSAxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIDMzIDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgMzcgIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAKKzMwIDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgMzQgMTkgMjAgMjEgMjIgMjMgMjQgMjUgICAzOCAxNiAxNyAxOCAxOSAyMCAyMSAyMiAgIAorMzEgMjkgMzAgMzEgICAgICAgICAgICAgICAzNSAyNiAyNyAyOCAyOSAzMCAzMSAgICAgIDM5IDIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDAgMzAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgT2N0b2JlciAgICAgICAgICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1Cis0MCAgICAgMSAgMiAgMyAgNCAgNSAgNiAgIDQ0ICAgICAgICAgICAgICAxICAyICAzICAgNDggICAgICAgICAgICAgICAgICAgIDEgICAKKzQxICA3ICA4ICA5IDEwIDExIDEyIDEzICAgNDUgIDQgIDUgIDYgIDcgIDggIDkgMTAgICA0OSAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgIAorNDIgMTQgMTUgMTYgMTcgMTggMTkgMjAgICA0NiAxMSAxMiAxMyAxNCAxNSAxNiAxNyAgIDUwICA5IDEwIDExIDEyIDEzIDE0IDE1ICAgCis0MyAyMSAyMiAyMyAyNCAyNSAyNiAyNyAgIDQ3IDE4IDE5IDIwIDIxIDIyIDIzIDI0ICAgNTEgMTYgMTcgMTggMTkgMjAgMjEgMjIgICAKKzQ0IDI4IDI5IDMwIDMxICAgICAgICAgICAgNDggMjUgMjYgMjcgMjggMjkgMzAgICAgICA1MiAyMyAyNCAyNSAyNiAyNyAyOCAyOSAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxIDMwIDMxICAgICAgICAgICAgICAgICAgCisKK0dyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIC0geWVhciAyMDAyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDAyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAgICAgICBKYW51YXJ5ICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5ICAgICAgICAgICAgICAgICAgIE1hcmNoICAgICAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKyAxICAgICAgICAxICAyICAzICA0ICA1ICAgIDUgICAgICAgICAgICAgICAgIDEgIDIgICAgOSAgICAgICAgICAgICAgICAgMSAgMiAgIAorIDIgIDYgIDcgIDggIDkgMTAgMTEgMTIgICAgNiAgMyAgNCAgNSAgNiAgNyAgOCAgOSAgIDEwICAzICA0ICA1ICA2ICA3ICA4ICA5ICAgCisgMyAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgICA3IDEwIDExIDEyIDEzIDE0IDE1IDE2ICAgMTEgMTAgMTEgMTIgMTMgMTQgMTUgMTYgICAKKyA0IDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgIDggMTcgMTggMTkgMjAgMjEgMjIgMjMgICAxMiAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgIAorIDUgMjcgMjggMjkgMzAgMzEgICAgICAgICAgOSAyNCAyNSAyNiAyNyAyOCAgICAgICAgIDEzIDI0IDI1IDI2IDI3IDI4IDI5IDMwICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTQgMzEgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgIEFwcmlsICAgICAgICAgICAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCisxNCAgICAgMSAgMiAgMyAgNCAgNSAgNiAgIDE4ICAgICAgICAgICAxICAyICAzICA0ICAgMjIgICAgICAgICAgICAgICAgICAgIDEgICAKKzE1ICA3ICA4ICA5IDEwIDExIDEyIDEzICAgMTkgIDUgIDYgIDcgIDggIDkgMTAgMTEgICAyMyAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgIAorMTYgMTQgMTUgMTYgMTcgMTggMTkgMjAgICAyMCAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIDI0ICA5IDEwIDExIDEyIDEzIDE0IDE1ICAgCisxNyAyMSAyMiAyMyAyNCAyNSAyNiAyNyAgIDIxIDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgMjUgMTYgMTcgMTggMTkgMjAgMjEgMjIgICAKKzE4IDI4IDI5IDMwICAgICAgICAgICAgICAgMjIgMjYgMjcgMjggMjkgMzAgMzEgICAgICAyNiAyMyAyNCAyNSAyNiAyNyAyOCAyOSAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI3IDMwICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgSnVseSAgICAgICAgICAgICAgICAgICAgIEF1Z3VzdCAgICAgICAgICAgICAgICAgIFNlcHRlbWJlciAgICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorMjcgICAgIDEgIDIgIDMgIDQgIDUgIDYgICAzMSAgICAgICAgICAgICAgMSAgMiAgMyAgIDM2ICAxICAyICAzICA0ICA1ICA2ICA3ICAgCisyOCAgNyAgOCAgOSAxMCAxMSAxMiAxMyAgIDMyICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgMzcgIDggIDkgMTAgMTEgMTIgMTMgMTQgICAKKzI5IDE0IDE1IDE2IDE3IDE4IDE5IDIwICAgMzMgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICAzOCAxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIAorMzAgMjEgMjIgMjMgMjQgMjUgMjYgMjcgICAzNCAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgIDM5IDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgCiszMSAyOCAyOSAzMCAzMSAgICAgICAgICAgIDM1IDI1IDI2IDI3IDI4IDI5IDMwIDMxICAgNDAgMjkgMzAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICBPY3RvYmVyICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgICAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzQwICAgICAgICAxICAyICAzICA0ICA1ICAgNDQgICAgICAgICAgICAgICAgIDEgIDIgICA0OSAgMSAgMiAgMyAgNCAgNSAgNiAgNyAgIAorNDEgIDYgIDcgIDggIDkgMTAgMTEgMTIgICA0NSAgMyAgNCAgNSAgNiAgNyAgOCAgOSAgIDUwICA4ICA5IDEwIDExIDEyIDEzIDE0ICAgCis0MiAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgIDQ2IDEwIDExIDEyIDEzIDE0IDE1IDE2ICAgNTEgMTUgMTYgMTcgMTggMTkgMjAgMjEgICAKKzQzIDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgNDcgMTcgMTggMTkgMjAgMjEgMjIgMjMgICA1MiAyMiAyMyAyNCAyNSAyNiAyNyAyOCAgIAorNDQgMjcgMjggMjkgMzAgMzEgICAgICAgICA0OCAyNCAyNSAyNiAyNyAyOCAyOSAzMCAgIDUzIDI5IDMwIDMxICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworSnVsaWFuIC0gTW9uZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMgLSB5ZWFyIDIwMDIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgICAgICBKYW51YXJ5ICAgICAgICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5ICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorIDEgICAgICAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgIDUgICAgICAgICAgICAgICAgICAzMiAgMzMgIDM0ICAgCisgMiAgIDcgICA4ICAgOSAgMTAgIDExICAxMiAgMTMgICAgNiAgMzUgIDM2ICAzNyAgMzggIDM5ICA0MCAgNDEgICAKKyAzICAxNCAgMTUgIDE2ICAxNyAgMTggIDE5ICAyMCAgICA3ICA0MiAgNDMgIDQ0ICA0NSAgNDYgIDQ3ICA0OCAgIAorIDQgIDIxICAyMiAgMjMgIDI0ICAyNSAgMjYgIDI3ICAgIDggIDQ5ICA1MCAgNTEgIDUyICA1MyAgNTQgIDU1ICAgCisgNSAgMjggIDI5ICAzMCAgMzEgICAgICAgICAgICAgICAgOSAgNTYgIDU3ICA1OCAgNTkgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgIE1hcmNoICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFwcmlsICAgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKyA5ICAgICAgICAgICAgICAgICAgNjAgIDYxICA2MiAgIDE0ICA5MSAgOTIgIDkzICA5NCAgOTUgIDk2ICA5NyAgIAorMTAgIDYzICA2NCAgNjUgIDY2ICA2NyAgNjggIDY5ICAgMTUgIDk4ICA5OSAxMDAgMTAxIDEwMiAxMDMgMTA0ICAgCisxMSAgNzAgIDcxICA3MiAgNzMgIDc0ICA3NSAgNzYgICAxNiAxMDUgMTA2IDEwNyAxMDggMTA5IDExMCAxMTEgICAKKzEyICA3NyAgNzggIDc5ICA4MCAgODEgIDgyICA4MyAgIDE3IDExMiAxMTMgMTE0IDExNSAxMTYgMTE3IDExOCAgIAorMTMgIDg0ICA4NSAgODYgIDg3ICA4OCAgODkgIDkwICAgMTggMTE5IDEyMCAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisxOCAgICAgICAgIDEyMSAxMjIgMTIzIDEyNCAxMjUgICAyMiAgICAgICAgICAgICAgICAgICAgIDE1MiAxNTMgICAKKzE5IDEyNiAxMjcgMTI4IDEyOSAxMzAgMTMxIDEzMiAgIDIzIDE1NCAxNTUgMTU2IDE1NyAxNTggMTU5IDE2MCAgIAorMjAgMTMzIDEzNCAxMzUgMTM2IDEzNyAxMzggMTM5ICAgMjQgMTYxIDE2MiAxNjMgMTY0IDE2NSAxNjYgMTY3ICAgCisyMSAxNDAgMTQxIDE0MiAxNDMgMTQ0IDE0NSAxNDYgICAyNSAxNjggMTY5IDE3MCAxNzEgMTcyIDE3MyAxNzQgICAKKzIyIDE0NyAxNDggMTQ5IDE1MCAxNTEgICAgICAgICAgIDI2IDE3NSAxNzYgMTc3IDE3OCAxNzkgMTgwIDE4MSAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgSnVseSAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorMjcgMTgyIDE4MyAxODQgMTg1IDE4NiAxODcgMTg4ICAgMzEgICAgICAgICAgICAgMjEzIDIxNCAyMTUgMjE2ICAgCisyOCAxODkgMTkwIDE5MSAxOTIgMTkzIDE5NCAxOTUgICAzMiAyMTcgMjE4IDIxOSAyMjAgMjIxIDIyMiAyMjMgICAKKzI5IDE5NiAxOTcgMTk4IDE5OSAyMDAgMjAxIDIwMiAgIDMzIDIyNCAyMjUgMjI2IDIyNyAyMjggMjI5IDIzMCAgIAorMzAgMjAzIDIwNCAyMDUgMjA2IDIwNyAyMDggMjA5ICAgMzQgMjMxIDIzMiAyMzMgMjM0IDIzNSAyMzYgMjM3ICAgCiszMSAyMTAgMjExIDIxMiAgICAgICAgICAgICAgICAgICAzNSAyMzggMjM5IDI0MCAyNDEgMjQyIDI0MyAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICBTZXB0ZW1iZXIgICAgICAgICAgICAgICAgICAgICAgICAgT2N0b2JlciAgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzM1ICAgICAgICAgICAgICAgICAgICAgICAgIDI0NCAgIDQwICAgICAyNzQgMjc1IDI3NiAyNzcgMjc4IDI3OSAgIAorMzYgMjQ1IDI0NiAyNDcgMjQ4IDI0OSAyNTAgMjUxICAgNDEgMjgwIDI4MSAyODIgMjgzIDI4NCAyODUgMjg2ICAgCiszNyAyNTIgMjUzIDI1NCAyNTUgMjU2IDI1NyAyNTggICA0MiAyODcgMjg4IDI4OSAyOTAgMjkxIDI5MiAyOTMgICAKKzM4IDI1OSAyNjAgMjYxIDI2MiAyNjMgMjY0IDI2NSAgIDQzIDI5NCAyOTUgMjk2IDI5NyAyOTggMjk5IDMwMCAgIAorMzkgMjY2IDI2NyAyNjggMjY5IDI3MCAyNzEgMjcyICAgNDQgMzAxIDMwMiAzMDMgMzA0ICAgICAgICAgICAgICAgCis0MCAyNzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCis0NCAgICAgICAgICAgICAgICAgMzA1IDMwNiAzMDcgICA0OCAgICAgICAgICAgICAgICAgICAgICAgICAzMzUgICAKKzQ1IDMwOCAzMDkgMzEwIDMxMSAzMTIgMzEzIDMxNCAgIDQ5IDMzNiAzMzcgMzM4IDMzOSAzNDAgMzQxIDM0MiAgIAorNDYgMzE1IDMxNiAzMTcgMzE4IDMxOSAzMjAgMzIxICAgNTAgMzQzIDM0NCAzNDUgMzQ2IDM0NyAzNDggMzQ5ICAgCis0NyAzMjIgMzIzIDMyNCAzMjUgMzI2IDMyNyAzMjggICA1MSAzNTAgMzUxIDM1MiAzNTMgMzU0IDM1NSAzNTYgICAKKzQ4IDMyOSAzMzAgMzMxIDMzMiAzMzMgMzM0ICAgICAgIDUyIDM1NyAzNTggMzU5IDM2MCAzNjEgMzYyIDM2MyAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgMzY0IDM2NSAgICAgICAgICAgICAgICAgICAgICAgCisKK0p1bGlhbiAtIFN1bmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIC0geWVhciAyMDAyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDAyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAgICAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKyAxICAgICAgICAgICAxICAgMiAgIDMgICA0ICAgNSAgICA1ICAgICAgICAgICAgICAgICAgICAgIDMyICAzMyAgIAorIDIgICA2ICAgNyAgIDggICA5ICAxMCAgMTEgIDEyICAgIDYgIDM0ICAzNSAgMzYgIDM3ICAzOCAgMzkgIDQwICAgCisgMyAgMTMgIDE0ICAxNSAgMTYgIDE3ICAxOCAgMTkgICAgNyAgNDEgIDQyICA0MyAgNDQgIDQ1ICA0NiAgNDcgICAKKyA0ICAyMCAgMjEgIDIyICAyMyAgMjQgIDI1ICAyNiAgICA4ICA0OCAgNDkgIDUwICA1MSAgNTIgIDUzICA1NCAgIAorIDUgIDI3ICAyOCAgMjkgIDMwICAzMSAgICAgICAgICAgIDkgIDU1ICA1NiAgNTcgIDU4ICA1OSAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICBNYXJjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcHJpbCAgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisgOSAgICAgICAgICAgICAgICAgICAgICA2MCAgNjEgICAxNCAgICAgIDkxICA5MiAgOTMgIDk0ICA5NSAgOTYgICAKKzEwICA2MiAgNjMgIDY0ICA2NSAgNjYgIDY3ICA2OCAgIDE1ICA5NyAgOTggIDk5IDEwMCAxMDEgMTAyIDEwMyAgIAorMTEgIDY5ICA3MCAgNzEgIDcyICA3MyAgNzQgIDc1ICAgMTYgMTA0IDEwNSAxMDYgMTA3IDEwOCAxMDkgMTEwICAgCisxMiAgNzYgIDc3ICA3OCAgNzkgIDgwICA4MSAgODIgICAxNyAxMTEgMTEyIDExMyAxMTQgMTE1IDExNiAxMTcgICAKKzEzICA4MyAgODQgIDg1ICA4NiAgODcgIDg4ICA4OSAgIDE4IDExOCAxMTkgMTIwICAgICAgICAgICAgICAgICAgIAorMTQgIDkwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorMTggICAgICAgICAgICAgMTIxIDEyMiAxMjMgMTI0ICAgMjIgICAgICAgICAgICAgICAgICAgICAgICAgMTUyICAgCisxOSAxMjUgMTI2IDEyNyAxMjggMTI5IDEzMCAxMzEgICAyMyAxNTMgMTU0IDE1NSAxNTYgMTU3IDE1OCAxNTkgICAKKzIwIDEzMiAxMzMgMTM0IDEzNSAxMzYgMTM3IDEzOCAgIDI0IDE2MCAxNjEgMTYyIDE2MyAxNjQgMTY1IDE2NiAgIAorMjEgMTM5IDE0MCAxNDEgMTQyIDE0MyAxNDQgMTQ1ICAgMjUgMTY3IDE2OCAxNjkgMTcwIDE3MSAxNzIgMTczICAgCisyMiAxNDYgMTQ3IDE0OCAxNDkgMTUwIDE1MSAgICAgICAyNiAxNzQgMTc1IDE3NiAxNzcgMTc4IDE3OSAxODAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI3IDE4MSAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzI3ICAgICAxODIgMTgzIDE4NCAxODUgMTg2IDE4NyAgIDMxICAgICAgICAgICAgICAgICAyMTMgMjE0IDIxNSAgIAorMjggMTg4IDE4OSAxOTAgMTkxIDE5MiAxOTMgMTk0ICAgMzIgMjE2IDIxNyAyMTggMjE5IDIyMCAyMjEgMjIyICAgCisyOSAxOTUgMTk2IDE5NyAxOTggMTk5IDIwMCAyMDEgICAzMyAyMjMgMjI0IDIyNSAyMjYgMjI3IDIyOCAyMjkgICAKKzMwIDIwMiAyMDMgMjA0IDIwNSAyMDYgMjA3IDIwOCAgIDM0IDIzMCAyMzEgMjMyIDIzMyAyMzQgMjM1IDIzNiAgIAorMzEgMjA5IDIxMCAyMTEgMjEyICAgICAgICAgICAgICAgMzUgMjM3IDIzOCAyMzkgMjQwIDI0MSAyNDIgMjQzICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgU2VwdGVtYmVyICAgICAgICAgICAgICAgICAgICAgICAgIE9jdG9iZXIgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CiszNiAyNDQgMjQ1IDI0NiAyNDcgMjQ4IDI0OSAyNTAgICA0MCAgICAgICAgIDI3NCAyNzUgMjc2IDI3NyAyNzggICAKKzM3IDI1MSAyNTIgMjUzIDI1NCAyNTUgMjU2IDI1NyAgIDQxIDI3OSAyODAgMjgxIDI4MiAyODMgMjg0IDI4NSAgIAorMzggMjU4IDI1OSAyNjAgMjYxIDI2MiAyNjMgMjY0ICAgNDIgMjg2IDI4NyAyODggMjg5IDI5MCAyOTEgMjkyICAgCiszOSAyNjUgMjY2IDI2NyAyNjggMjY5IDI3MCAyNzEgICA0MyAyOTMgMjk0IDI5NSAyOTYgMjk3IDI5OCAyOTkgICAKKzQwIDI3MiAyNzMgICAgICAgICAgICAgICAgICAgICAgIDQ0IDMwMCAzMDEgMzAyIDMwMyAzMDQgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgIE5vdmVtYmVyICAgICAgICAgICAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorNDQgICAgICAgICAgICAgICAgICAgICAzMDUgMzA2ICAgNDkgMzM1IDMzNiAzMzcgMzM4IDMzOSAzNDAgMzQxICAgCis0NSAzMDcgMzA4IDMwOSAzMTAgMzExIDMxMiAzMTMgICA1MCAzNDIgMzQzIDM0NCAzNDUgMzQ2IDM0NyAzNDggICAKKzQ2IDMxNCAzMTUgMzE2IDMxNyAzMTggMzE5IDMyMCAgIDUxIDM0OSAzNTAgMzUxIDM1MiAzNTMgMzU0IDM1NSAgIAorNDcgMzIxIDMyMiAzMjMgMzI0IDMyNSAzMjYgMzI3ICAgNTIgMzU2IDM1NyAzNTggMzU5IDM2MCAzNjEgMzYyICAgCis0OCAzMjggMzI5IDMzMCAzMzEgMzMyIDMzMyAzMzQgICA1MyAzNjMgMzY0IDM2NSAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCitHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyAtIDMgbW9udGggMjAwMgorICAgICBEZWNlbWJlciAyMDAxICAgICAgICAgICAgIEphbnVhcnkgMjAwMiAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDIgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorNDggICAgICAgICAgICAgICAgIDEgIDIgICAxICAgICAxICAyICAzICA0ICA1ICA2ICAgNSAgICAgICAgICAgICAgMSAgMiAgMyAKKzQ5ICAzICA0ICA1ICA2ICA3ICA4ICA5ICAgMiAgNyAgOCAgOSAxMCAxMSAxMiAxMyAgIDYgIDQgIDUgIDYgIDcgIDggIDkgMTAgCis1MCAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgIDMgMTQgMTUgMTYgMTcgMTggMTkgMjAgICA3IDExIDEyIDEzIDE0IDE1IDE2IDE3IAorNTEgMTcgMTggMTkgMjAgMjEgMjIgMjMgICA0IDIxIDIyIDIzIDI0IDI1IDI2IDI3ICAgOCAxOCAxOSAyMCAyMSAyMiAyMyAyNCAKKzUyIDI0IDI1IDI2IDI3IDI4IDI5IDMwICAgNSAyOCAyOSAzMCAzMSAgICAgICAgICAgIDkgMjUgMjYgMjcgMjggICAgICAgICAgCisgMSAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMgLSAzIG1vbnRoIDIwMDIKKyAgICAgRGVjZW1iZXIgMjAwMSAgICAgICAgICAgICBKYW51YXJ5IDIwMDIgICAgICAgICAgICBGZWJydWFyeSAyMDAyICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzQ4ICAgICAgICAgICAgICAgICAgICAxICAgMSAgICAgICAgMSAgMiAgMyAgNCAgNSAgIDUgICAgICAgICAgICAgICAgIDEgIDIgCis0OSAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgIDIgIDYgIDcgIDggIDkgMTAgMTEgMTIgICA2ICAzICA0ICA1ICA2ICA3ICA4ICA5IAorNTAgIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAzIDEzIDE0IDE1IDE2IDE3IDE4IDE5ICAgNyAxMCAxMSAxMiAxMyAxNCAxNSAxNiAKKzUxIDE2IDE3IDE4IDE5IDIwIDIxIDIyICAgNCAyMCAyMSAyMiAyMyAyNCAyNSAyNiAgIDggMTcgMTggMTkgMjAgMjEgMjIgMjMgCis1MiAyMyAyNCAyNSAyNiAyNyAyOCAyOSAgIDUgMjcgMjggMjkgMzAgMzEgICAgICAgICA5IDI0IDI1IDI2IDI3IDI4ICAgICAgIAorNTMgMzAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK0p1bGlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIC0gMyBtb250aCAyMDAyCisgICAgICAgICBEZWNlbWJlciAyMDAxICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAwMiAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgMjAwMiAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCis0OCAgICAgICAgICAgICAgICAgICAgIDMzNSAzMzYgICAxICAgICAgIDEgICAyICAgMyAgIDQgICA1ICAgNiAgIDUgICAgICAgICAgICAgICAgICAzMiAgMzMgIDM0IAorNDkgMzM3IDMzOCAzMzkgMzQwIDM0MSAzNDIgMzQzICAgMiAgIDcgICA4ICAgOSAgMTAgIDExICAxMiAgMTMgICA2ICAzNSAgMzYgIDM3ICAzOCAgMzkgIDQwICA0MSAKKzUwIDM0NCAzNDUgMzQ2IDM0NyAzNDggMzQ5IDM1MCAgIDMgIDE0ICAxNSAgMTYgIDE3ICAxOCAgMTkgIDIwICAgNyAgNDIgIDQzICA0NCAgNDUgIDQ2ICA0NyAgNDggCis1MSAzNTEgMzUyIDM1MyAzNTQgMzU1IDM1NiAzNTcgICA0ICAyMSAgMjIgIDIzICAyNCAgMjUgIDI2ICAyNyAgIDggIDQ5ICA1MCAgNTEgIDUyICA1MyAgNTQgIDU1IAorNTIgMzU4IDM1OSAzNjAgMzYxIDM2MiAzNjMgMzY0ICAgNSAgMjggIDI5ICAzMCAgMzEgICAgICAgICAgICAgICA5ICA1NiAgNTcgIDU4ICA1OSAgICAgICAgICAgICAKKyAxIDM2NSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCitKdWxpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyAtIDMgbW9udGggMjAwMgorICAgICAgICAgRGVjZW1iZXIgMjAwMSAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDIwMDIgICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDIgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorNDggICAgICAgICAgICAgICAgICAgICAgICAgMzM1ICAgMSAgICAgICAgICAgMSAgIDIgICAzICAgNCAgIDUgICA1ICAgICAgICAgICAgICAgICAgICAgIDMyICAzMyAKKzQ5IDMzNiAzMzcgMzM4IDMzOSAzNDAgMzQxIDM0MiAgIDIgICA2ICAgNyAgIDggICA5ICAxMCAgMTEgIDEyICAgNiAgMzQgIDM1ICAzNiAgMzcgIDM4ICAzOSAgNDAgCis1MCAzNDMgMzQ0IDM0NSAzNDYgMzQ3IDM0OCAzNDkgICAzICAxMyAgMTQgIDE1ICAxNiAgMTcgIDE4ICAxOSAgIDcgIDQxICA0MiAgNDMgIDQ0ICA0NSAgNDYgIDQ3IAorNTEgMzUwIDM1MSAzNTIgMzUzIDM1NCAzNTUgMzU2ICAgNCAgMjAgIDIxICAyMiAgMjMgIDI0ICAyNSAgMjYgICA4ICA0OCAgNDkgIDUwICA1MSAgNTIgIDUzICA1NCAKKzUyIDM1NyAzNTggMzU5IDM2MCAzNjEgMzYyIDM2MyAgIDUgIDI3ICAyOCAgMjkgIDMwICAzMSAgICAgICAgICAgOSAgNTUgIDU2ICA1NyAgNTggIDU5ICAgICAgICAgCis1MyAzNjQgMzY1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMgLSB5ZWFyIDIwMDMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgICAgICAgICAgTWFyY2ggICAgICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorIDEgICAgICAgIDEgIDIgIDMgIDQgIDUgICAgNSAgICAgICAgICAgICAgICAgMSAgMiAgICA5ICAgICAgICAgICAgICAgICAxICAyICAgCisgMiAgNiAgNyAgOCAgOSAxMCAxMSAxMiAgICA2ICAzICA0ICA1ICA2ICA3ICA4ICA5ICAgMTAgIDMgIDQgIDUgIDYgIDcgIDggIDkgICAKKyAzIDEzIDE0IDE1IDE2IDE3IDE4IDE5ICAgIDcgMTAgMTEgMTIgMTMgMTQgMTUgMTYgICAxMSAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgIAorIDQgMjAgMjEgMjIgMjMgMjQgMjUgMjYgICAgOCAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgIDEyIDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgCisgNSAyNyAyOCAyOSAzMCAzMSAgICAgICAgICA5IDI0IDI1IDI2IDI3IDI4ICAgICAgICAgMTMgMjQgMjUgMjYgMjcgMjggMjkgMzAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNCAzMSAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgQXByaWwgICAgICAgICAgICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKzE0ICAgICAxICAyICAzICA0ICA1ICA2ICAgMTggICAgICAgICAgIDEgIDIgIDMgIDQgICAyMiAgICAgICAgICAgICAgICAgICAgMSAgIAorMTUgIDcgIDggIDkgMTAgMTEgMTIgMTMgICAxOSAgNSAgNiAgNyAgOCAgOSAxMCAxMSAgIDIzICAyICAzICA0ICA1ICA2ICA3ICA4ICAgCisxNiAxNCAxNSAxNiAxNyAxOCAxOSAyMCAgIDIwIDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgMjQgIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAKKzE3IDIxIDIyIDIzIDI0IDI1IDI2IDI3ICAgMjEgMTkgMjAgMjEgMjIgMjMgMjQgMjUgICAyNSAxNiAxNyAxOCAxOSAyMCAyMSAyMiAgIAorMTggMjggMjkgMzAgICAgICAgICAgICAgICAyMiAyNiAyNyAyOCAyOSAzMCAzMSAgICAgIDI2IDIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjcgMzAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgICAgICAgU2VwdGVtYmVyICAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CisyNyAgICAgMSAgMiAgMyAgNCAgNSAgNiAgIDMxICAgICAgICAgICAgICAxICAyICAzICAgMzYgIDEgIDIgIDMgIDQgIDUgIDYgIDcgICAKKzI4ICA3ICA4ICA5IDEwIDExIDEyIDEzICAgMzIgIDQgIDUgIDYgIDcgIDggIDkgMTAgICAzNyAgOCAgOSAxMCAxMSAxMiAxMyAxNCAgIAorMjkgMTQgMTUgMTYgMTcgMTggMTkgMjAgICAzMyAxMSAxMiAxMyAxNCAxNSAxNiAxNyAgIDM4IDE1IDE2IDE3IDE4IDE5IDIwIDIxICAgCiszMCAyMSAyMiAyMyAyNCAyNSAyNiAyNyAgIDM0IDE4IDE5IDIwIDIxIDIyIDIzIDI0ICAgMzkgMjIgMjMgMjQgMjUgMjYgMjcgMjggICAKKzMxIDI4IDI5IDMwIDMxICAgICAgICAgICAgMzUgMjUgMjYgMjcgMjggMjkgMzAgMzEgICA0MCAyOSAzMCAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgIE9jdG9iZXIgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorNDAgICAgICAgIDEgIDIgIDMgIDQgIDUgICA0NCAgICAgICAgICAgICAgICAgMSAgMiAgIDQ5ICAxICAyICAzICA0ICA1ICA2ICA3ICAgCis0MSAgNiAgNyAgOCAgOSAxMCAxMSAxMiAgIDQ1ICAzICA0ICA1ICA2ICA3ICA4ICA5ICAgNTAgIDggIDkgMTAgMTEgMTIgMTMgMTQgICAKKzQyIDEzIDE0IDE1IDE2IDE3IDE4IDE5ICAgNDYgMTAgMTEgMTIgMTMgMTQgMTUgMTYgICA1MSAxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIAorNDMgMjAgMjEgMjIgMjMgMjQgMjUgMjYgICA0NyAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgIDUyIDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgCis0NCAyNyAyOCAyOSAzMCAzMSAgICAgICAgIDQ4IDI0IDI1IDI2IDI3IDI4IDI5IDMwICAgIDEgMjkgMzAgMzEgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCitHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyAtIHllYXIgMjAwMworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgICAgICAgICBNYXJjaCAgICAgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCisgMSAgICAgICAgICAgMSAgMiAgMyAgNCAgICA1ICAgICAgICAgICAgICAgICAgICAxICAgIDkgICAgICAgICAgICAgICAgICAgIDEgICAKKyAyICA1ICA2ICA3ICA4ICA5IDEwIDExICAgIDYgIDIgIDMgIDQgIDUgIDYgIDcgIDggICAxMCAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgIAorIDMgMTIgMTMgMTQgMTUgMTYgMTcgMTggICAgNyAgOSAxMCAxMSAxMiAxMyAxNCAxNSAgIDExICA5IDEwIDExIDEyIDEzIDE0IDE1ICAgCisgNCAxOSAyMCAyMSAyMiAyMyAyNCAyNSAgICA4IDE2IDE3IDE4IDE5IDIwIDIxIDIyICAgMTIgMTYgMTcgMTggMTkgMjAgMjEgMjIgICAKKyA1IDI2IDI3IDI4IDI5IDMwIDMxICAgICAgIDkgMjMgMjQgMjUgMjYgMjcgMjggICAgICAxMyAyMyAyNCAyNSAyNiAyNyAyOCAyOSAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE0IDMwIDMxICAgICAgICAgICAgICAgICAgCisgICAgICAgICBBcHJpbCAgICAgICAgICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorMTQgICAgICAgIDEgIDIgIDMgIDQgIDUgICAxOCAgICAgICAgICAgICAgMSAgMiAgMyAgIDIzICAxICAyICAzICA0ICA1ICA2ICA3ICAgCisxNSAgNiAgNyAgOCAgOSAxMCAxMSAxMiAgIDE5ICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgMjQgIDggIDkgMTAgMTEgMTIgMTMgMTQgICAKKzE2IDEzIDE0IDE1IDE2IDE3IDE4IDE5ICAgMjAgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICAyNSAxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIAorMTcgMjAgMjEgMjIgMjMgMjQgMjUgMjYgICAyMSAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgIDI2IDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgCisxOCAyNyAyOCAyOSAzMCAgICAgICAgICAgIDIyIDI1IDI2IDI3IDI4IDI5IDMwIDMxICAgMjcgMjkgMzAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAgICAgICBTZXB0ZW1iZXIgICAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzI3ICAgICAgICAxICAyICAzICA0ICA1ICAgMzEgICAgICAgICAgICAgICAgIDEgIDIgICAzNiAgICAgMSAgMiAgMyAgNCAgNSAgNiAgIAorMjggIDYgIDcgIDggIDkgMTAgMTEgMTIgICAzMiAgMyAgNCAgNSAgNiAgNyAgOCAgOSAgIDM3ICA3ICA4ICA5IDEwIDExIDEyIDEzICAgCisyOSAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgIDMzIDEwIDExIDEyIDEzIDE0IDE1IDE2ICAgMzggMTQgMTUgMTYgMTcgMTggMTkgMjAgICAKKzMwIDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgMzQgMTcgMTggMTkgMjAgMjEgMjIgMjMgICAzOSAyMSAyMiAyMyAyNCAyNSAyNiAyNyAgIAorMzEgMjcgMjggMjkgMzAgMzEgICAgICAgICAzNSAyNCAyNSAyNiAyNyAyOCAyOSAzMCAgIDQwIDI4IDI5IDMwICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgIDM2IDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgT2N0b2JlciAgICAgICAgICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCis0MCAgICAgICAgICAgMSAgMiAgMyAgNCAgIDQ0ICAgICAgICAgICAgICAgICAgICAxICAgNDkgICAgIDEgIDIgIDMgIDQgIDUgIDYgICAKKzQxICA1ICA2ICA3ICA4ICA5IDEwIDExICAgNDUgIDIgIDMgIDQgIDUgIDYgIDcgIDggICA1MCAgNyAgOCAgOSAxMCAxMSAxMiAxMyAgIAorNDIgMTIgMTMgMTQgMTUgMTYgMTcgMTggICA0NiAgOSAxMCAxMSAxMiAxMyAxNCAxNSAgIDUxIDE0IDE1IDE2IDE3IDE4IDE5IDIwICAgCis0MyAxOSAyMCAyMSAyMiAyMyAyNCAyNSAgIDQ3IDE2IDE3IDE4IDE5IDIwIDIxIDIyICAgNTIgMjEgMjIgMjMgMjQgMjUgMjYgMjcgICAKKzQ0IDI2IDI3IDI4IDI5IDMwIDMxICAgICAgNDggMjMgMjQgMjUgMjYgMjcgMjggMjkgICA1MyAyOCAyOSAzMCAzMSAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICA0OSAzMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKK0p1bGlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIC0geWVhciAyMDAzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDAzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAgICAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKyAxICAgICAgICAgICAxICAgMiAgIDMgICA0ICAgNSAgICA1ICAgICAgICAgICAgICAgICAgICAgIDMyICAzMyAgIAorIDIgICA2ICAgNyAgIDggICA5ICAxMCAgMTEgIDEyICAgIDYgIDM0ICAzNSAgMzYgIDM3ICAzOCAgMzkgIDQwICAgCisgMyAgMTMgIDE0ICAxNSAgMTYgIDE3ICAxOCAgMTkgICAgNyAgNDEgIDQyICA0MyAgNDQgIDQ1ICA0NiAgNDcgICAKKyA0ICAyMCAgMjEgIDIyICAyMyAgMjQgIDI1ICAyNiAgICA4ICA0OCAgNDkgIDUwICA1MSAgNTIgIDUzICA1NCAgIAorIDUgIDI3ICAyOCAgMjkgIDMwICAzMSAgICAgICAgICAgIDkgIDU1ICA1NiAgNTcgIDU4ICA1OSAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICBNYXJjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcHJpbCAgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisgOSAgICAgICAgICAgICAgICAgICAgICA2MCAgNjEgICAxNCAgICAgIDkxICA5MiAgOTMgIDk0ICA5NSAgOTYgICAKKzEwICA2MiAgNjMgIDY0ICA2NSAgNjYgIDY3ICA2OCAgIDE1ICA5NyAgOTggIDk5IDEwMCAxMDEgMTAyIDEwMyAgIAorMTEgIDY5ICA3MCAgNzEgIDcyICA3MyAgNzQgIDc1ICAgMTYgMTA0IDEwNSAxMDYgMTA3IDEwOCAxMDkgMTEwICAgCisxMiAgNzYgIDc3ICA3OCAgNzkgIDgwICA4MSAgODIgICAxNyAxMTEgMTEyIDExMyAxMTQgMTE1IDExNiAxMTcgICAKKzEzICA4MyAgODQgIDg1ICA4NiAgODcgIDg4ICA4OSAgIDE4IDExOCAxMTkgMTIwICAgICAgICAgICAgICAgICAgIAorMTQgIDkwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorMTggICAgICAgICAgICAgMTIxIDEyMiAxMjMgMTI0ICAgMjIgICAgICAgICAgICAgICAgICAgICAgICAgMTUyICAgCisxOSAxMjUgMTI2IDEyNyAxMjggMTI5IDEzMCAxMzEgICAyMyAxNTMgMTU0IDE1NSAxNTYgMTU3IDE1OCAxNTkgICAKKzIwIDEzMiAxMzMgMTM0IDEzNSAxMzYgMTM3IDEzOCAgIDI0IDE2MCAxNjEgMTYyIDE2MyAxNjQgMTY1IDE2NiAgIAorMjEgMTM5IDE0MCAxNDEgMTQyIDE0MyAxNDQgMTQ1ICAgMjUgMTY3IDE2OCAxNjkgMTcwIDE3MSAxNzIgMTczICAgCisyMiAxNDYgMTQ3IDE0OCAxNDkgMTUwIDE1MSAgICAgICAyNiAxNzQgMTc1IDE3NiAxNzcgMTc4IDE3OSAxODAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI3IDE4MSAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzI3ICAgICAxODIgMTgzIDE4NCAxODUgMTg2IDE4NyAgIDMxICAgICAgICAgICAgICAgICAyMTMgMjE0IDIxNSAgIAorMjggMTg4IDE4OSAxOTAgMTkxIDE5MiAxOTMgMTk0ICAgMzIgMjE2IDIxNyAyMTggMjE5IDIyMCAyMjEgMjIyICAgCisyOSAxOTUgMTk2IDE5NyAxOTggMTk5IDIwMCAyMDEgICAzMyAyMjMgMjI0IDIyNSAyMjYgMjI3IDIyOCAyMjkgICAKKzMwIDIwMiAyMDMgMjA0IDIwNSAyMDYgMjA3IDIwOCAgIDM0IDIzMCAyMzEgMjMyIDIzMyAyMzQgMjM1IDIzNiAgIAorMzEgMjA5IDIxMCAyMTEgMjEyICAgICAgICAgICAgICAgMzUgMjM3IDIzOCAyMzkgMjQwIDI0MSAyNDIgMjQzICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgU2VwdGVtYmVyICAgICAgICAgICAgICAgICAgICAgICAgIE9jdG9iZXIgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCiszNiAyNDQgMjQ1IDI0NiAyNDcgMjQ4IDI0OSAyNTAgICA0MCAgICAgICAgIDI3NCAyNzUgMjc2IDI3NyAyNzggICAKKzM3IDI1MSAyNTIgMjUzIDI1NCAyNTUgMjU2IDI1NyAgIDQxIDI3OSAyODAgMjgxIDI4MiAyODMgMjg0IDI4NSAgIAorMzggMjU4IDI1OSAyNjAgMjYxIDI2MiAyNjMgMjY0ICAgNDIgMjg2IDI4NyAyODggMjg5IDI5MCAyOTEgMjkyICAgCiszOSAyNjUgMjY2IDI2NyAyNjggMjY5IDI3MCAyNzEgICA0MyAyOTMgMjk0IDI5NSAyOTYgMjk3IDI5OCAyOTkgICAKKzQwIDI3MiAyNzMgICAgICAgICAgICAgICAgICAgICAgIDQ0IDMwMCAzMDEgMzAyIDMwMyAzMDQgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgIE5vdmVtYmVyICAgICAgICAgICAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorNDQgICAgICAgICAgICAgICAgICAgICAzMDUgMzA2ICAgNDkgMzM1IDMzNiAzMzcgMzM4IDMzOSAzNDAgMzQxICAgCis0NSAzMDcgMzA4IDMwOSAzMTAgMzExIDMxMiAzMTMgICA1MCAzNDIgMzQzIDM0NCAzNDUgMzQ2IDM0NyAzNDggICAKKzQ2IDMxNCAzMTUgMzE2IDMxNyAzMTggMzE5IDMyMCAgIDUxIDM0OSAzNTAgMzUxIDM1MiAzNTMgMzU0IDM1NSAgIAorNDcgMzIxIDMyMiAzMjMgMzI0IDMyNSAzMjYgMzI3ICAgNTIgMzU2IDM1NyAzNTggMzU5IDM2MCAzNjEgMzYyICAgCis0OCAzMjggMzI5IDMzMCAzMzEgMzMyIDMzMyAzMzQgICAgMSAzNjMgMzY0IDM2NSAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCitKdWxpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyAtIHllYXIgMjAwMworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisgMSAgICAgICAgICAgICAgIDEgICAyICAgMyAgIDQgICAgNSAgICAgICAgICAgICAgICAgICAgICAgICAgMzIgICAKKyAyICAgNSAgIDYgICA3ICAgOCAgIDkgIDEwICAxMSAgICA2ICAzMyAgMzQgIDM1ICAzNiAgMzcgIDM4ICAzOSAgIAorIDMgIDEyICAxMyAgMTQgIDE1ICAxNiAgMTcgIDE4ICAgIDcgIDQwICA0MSAgNDIgIDQzICA0NCAgNDUgIDQ2ICAgCisgNCAgMTkgIDIwICAyMSAgMjIgIDIzICAyNCAgMjUgICAgOCAgNDcgIDQ4ICA0OSAgNTAgIDUxICA1MiAgNTMgICAKKyA1ICAyNiAgMjcgIDI4ICAyOSAgMzAgIDMxICAgICAgICA5ICA1NCAgNTUgIDU2ICA1NyAgNTggIDU5ICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgTWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgQXByaWwgICAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorIDkgICAgICAgICAgICAgICAgICAgICAgICAgIDYwICAgMTQgICAgICAgICAgOTEgIDkyICA5MyAgOTQgIDk1ICAgCisxMCAgNjEgIDYyICA2MyAgNjQgIDY1ICA2NiAgNjcgICAxNSAgOTYgIDk3ICA5OCAgOTkgMTAwIDEwMSAxMDIgICAKKzExICA2OCAgNjkgIDcwICA3MSAgNzIgIDczICA3NCAgIDE2IDEwMyAxMDQgMTA1IDEwNiAxMDcgMTA4IDEwOSAgIAorMTIgIDc1ICA3NiAgNzcgIDc4ICA3OSAgODAgIDgxICAgMTcgMTEwIDExMSAxMTIgMTEzIDExNCAxMTUgMTE2ICAgCisxMyAgODIgIDgzICA4NCAgODUgIDg2ICA4NyAgODggICAxOCAxMTcgMTE4IDExOSAxMjAgICAgICAgICAgICAgICAKKzE0ICA4OSAgOTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzE4ICAgICAgICAgICAgICAgICAxMjEgMTIyIDEyMyAgIDIzIDE1MiAxNTMgMTU0IDE1NSAxNTYgMTU3IDE1OCAgIAorMTkgMTI0IDEyNSAxMjYgMTI3IDEyOCAxMjkgMTMwICAgMjQgMTU5IDE2MCAxNjEgMTYyIDE2MyAxNjQgMTY1ICAgCisyMCAxMzEgMTMyIDEzMyAxMzQgMTM1IDEzNiAxMzcgICAyNSAxNjYgMTY3IDE2OCAxNjkgMTcwIDE3MSAxNzIgICAKKzIxIDEzOCAxMzkgMTQwIDE0MSAxNDIgMTQzIDE0NCAgIDI2IDE3MyAxNzQgMTc1IDE3NiAxNzcgMTc4IDE3OSAgIAorMjIgMTQ1IDE0NiAxNDcgMTQ4IDE0OSAxNTAgMTUxICAgMjcgMTgwIDE4MSAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1Z3VzdCAgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisyNyAgICAgICAgIDE4MiAxODMgMTg0IDE4NSAxODYgICAzMSAgICAgICAgICAgICAgICAgICAgIDIxMyAyMTQgICAKKzI4IDE4NyAxODggMTg5IDE5MCAxOTEgMTkyIDE5MyAgIDMyIDIxNSAyMTYgMjE3IDIxOCAyMTkgMjIwIDIyMSAgIAorMjkgMTk0IDE5NSAxOTYgMTk3IDE5OCAxOTkgMjAwICAgMzMgMjIyIDIyMyAyMjQgMjI1IDIyNiAyMjcgMjI4ICAgCiszMCAyMDEgMjAyIDIwMyAyMDQgMjA1IDIwNiAyMDcgICAzNCAyMjkgMjMwIDIzMSAyMzIgMjMzIDIzNCAyMzUgICAKKzMxIDIwOCAyMDkgMjEwIDIxMSAyMTIgICAgICAgICAgIDM1IDIzNiAyMzcgMjM4IDIzOSAyNDAgMjQxIDI0MiAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzYgMjQzICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgIFNlcHRlbWJlciAgICAgICAgICAgICAgICAgICAgICAgICBPY3RvYmVyICAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorMzYgICAgIDI0NCAyNDUgMjQ2IDI0NyAyNDggMjQ5ICAgNDAgICAgICAgICAgICAgMjc0IDI3NSAyNzYgMjc3ICAgCiszNyAyNTAgMjUxIDI1MiAyNTMgMjU0IDI1NSAyNTYgICA0MSAyNzggMjc5IDI4MCAyODEgMjgyIDI4MyAyODQgICAKKzM4IDI1NyAyNTggMjU5IDI2MCAyNjEgMjYyIDI2MyAgIDQyIDI4NSAyODYgMjg3IDI4OCAyODkgMjkwIDI5MSAgIAorMzkgMjY0IDI2NSAyNjYgMjY3IDI2OCAyNjkgMjcwICAgNDMgMjkyIDI5MyAyOTQgMjk1IDI5NiAyOTcgMjk4ICAgCis0MCAyNzEgMjcyIDI3MyAgICAgICAgICAgICAgICAgICA0NCAyOTkgMzAwIDMwMSAzMDIgMzAzIDMwNCAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzQ0ICAgICAgICAgICAgICAgICAgICAgICAgIDMwNSAgIDQ5ICAgICAzMzUgMzM2IDMzNyAzMzggMzM5IDM0MCAgIAorNDUgMzA2IDMwNyAzMDggMzA5IDMxMCAzMTEgMzEyICAgNTAgMzQxIDM0MiAzNDMgMzQ0IDM0NSAzNDYgMzQ3ICAgCis0NiAzMTMgMzE0IDMxNSAzMTYgMzE3IDMxOCAzMTkgICA1MSAzNDggMzQ5IDM1MCAzNTEgMzUyIDM1MyAzNTQgICAKKzQ3IDMyMCAzMjEgMzIyIDMyMyAzMjQgMzI1IDMyNiAgIDUyIDM1NSAzNTYgMzU3IDM1OCAzNTkgMzYwIDM2MSAgIAorNDggMzI3IDMyOCAzMjkgMzMwIDMzMSAzMzIgMzMzICAgNTMgMzYyIDM2MyAzNjQgMzY1ICAgICAgICAgICAgICAgCis0OSAzMzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMgLSAzIG1vbnRoIDIwMDMKKyAgICAgRGVjZW1iZXIgMjAwMiAgICAgICAgICAgICBKYW51YXJ5IDIwMDMgICAgICAgICAgICBGZWJydWFyeSAyMDAzICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKzQ4ICAgICAgICAgICAgICAgICAgICAxICAgMSAgICAgICAgMSAgMiAgMyAgNCAgNSAgIDUgICAgICAgICAgICAgICAgIDEgIDIgCis0OSAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgIDIgIDYgIDcgIDggIDkgMTAgMTEgMTIgICA2ICAzICA0ICA1ICA2ICA3ICA4ICA5IAorNTAgIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAzIDEzIDE0IDE1IDE2IDE3IDE4IDE5ICAgNyAxMCAxMSAxMiAxMyAxNCAxNSAxNiAKKzUxIDE2IDE3IDE4IDE5IDIwIDIxIDIyICAgNCAyMCAyMSAyMiAyMyAyNCAyNSAyNiAgIDggMTcgMTggMTkgMjAgMjEgMjIgMjMgCis1MiAyMyAyNCAyNSAyNiAyNyAyOCAyOSAgIDUgMjcgMjggMjkgMzAgMzEgICAgICAgICA5IDI0IDI1IDI2IDI3IDI4ICAgICAgIAorIDEgMzAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK0dyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIC0gMyBtb250aCAyMDAzCisgICAgIERlY2VtYmVyIDIwMDIgICAgICAgICAgICAgSmFudWFyeSAyMDAzICAgICAgICAgICAgRmVicnVhcnkgMjAwMyAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCis0OSAgMSAgMiAgMyAgNCAgNSAgNiAgNyAgIDEgICAgICAgICAgIDEgIDIgIDMgIDQgICA1ICAgICAgICAgICAgICAgICAgICAxIAorNTAgIDggIDkgMTAgMTEgMTIgMTMgMTQgICAyICA1ICA2ICA3ICA4ICA5IDEwIDExICAgNiAgMiAgMyAgNCAgNSAgNiAgNyAgOCAKKzUxIDE1IDE2IDE3IDE4IDE5IDIwIDIxICAgMyAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIDcgIDkgMTAgMTEgMTIgMTMgMTQgMTUgCis1MiAyMiAyMyAyNCAyNSAyNiAyNyAyOCAgIDQgMTkgMjAgMjEgMjIgMjMgMjQgMjUgICA4IDE2IDE3IDE4IDE5IDIwIDIxIDIyIAorNTMgMjkgMzAgMzEgICAgICAgICAgICAgICA1IDI2IDI3IDI4IDI5IDMwIDMxICAgICAgOSAyMyAyNCAyNSAyNiAyNyAyOCAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCitKdWxpYW4gLSBNb25kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyAtIDMgbW9udGggMjAwMworICAgICAgICAgRGVjZW1iZXIgMjAwMiAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDIwMDMgICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDMgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorNDggICAgICAgICAgICAgICAgICAgICAgICAgMzM1ICAgMSAgICAgICAgICAgMSAgIDIgICAzICAgNCAgIDUgICA1ICAgICAgICAgICAgICAgICAgICAgIDMyICAzMyAKKzQ5IDMzNiAzMzcgMzM4IDMzOSAzNDAgMzQxIDM0MiAgIDIgICA2ICAgNyAgIDggICA5ICAxMCAgMTEgIDEyICAgNiAgMzQgIDM1ICAzNiAgMzcgIDM4ICAzOSAgNDAgCis1MCAzNDMgMzQ0IDM0NSAzNDYgMzQ3IDM0OCAzNDkgICAzICAxMyAgMTQgIDE1ICAxNiAgMTcgIDE4ICAxOSAgIDcgIDQxICA0MiAgNDMgIDQ0ICA0NSAgNDYgIDQ3IAorNTEgMzUwIDM1MSAzNTIgMzUzIDM1NCAzNTUgMzU2ICAgNCAgMjAgIDIxICAyMiAgMjMgIDI0ICAyNSAgMjYgICA4ICA0OCAgNDkgIDUwICA1MSAgNTIgIDUzICA1NCAKKzUyIDM1NyAzNTggMzU5IDM2MCAzNjEgMzYyIDM2MyAgIDUgIDI3ICAyOCAgMjkgIDMwICAzMSAgICAgICAgICAgOSAgNTUgIDU2ICA1NyAgNTggIDU5ICAgICAgICAgCisgMSAzNjQgMzY1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorSnVsaWFuIC0gU3VuZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMgLSAzIG1vbnRoIDIwMDMKKyAgICAgICAgIERlY2VtYmVyIDIwMDIgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDAzICAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAyMDAzICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzQ5IDMzNSAzMzYgMzM3IDMzOCAzMzkgMzQwIDM0MSAgIDEgICAgICAgICAgICAgICAxICAgMiAgIDMgICA0ICAgNSAgICAgICAgICAgICAgICAgICAgICAgICAgMzIgCis1MCAzNDIgMzQzIDM0NCAzNDUgMzQ2IDM0NyAzNDggICAyICAgNSAgIDYgICA3ICAgOCAgIDkgIDEwICAxMSAgIDYgIDMzICAzNCAgMzUgIDM2ICAzNyAgMzggIDM5IAorNTEgMzQ5IDM1MCAzNTEgMzUyIDM1MyAzNTQgMzU1ICAgMyAgMTIgIDEzICAxNCAgMTUgIDE2ICAxNyAgMTggICA3ICA0MCAgNDEgIDQyICA0MyAgNDQgIDQ1ICA0NiAKKzUyIDM1NiAzNTcgMzU4IDM1OSAzNjAgMzYxIDM2MiAgIDQgIDE5ICAyMCAgMjEgIDIyICAyMyAgMjQgIDI1ICAgOCAgNDcgIDQ4ICA0OSAgNTAgIDUxICA1MiAgNTMgCis1MyAzNjMgMzY0IDM2NSAgICAgICAgICAgICAgICAgICA1ICAyNiAgMjcgIDI4ICAyOSAgMzAgIDMxICAgICAgIDkgIDU0ICA1NSAgNTYgIDU3ICA1OCAgNTkgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK0dyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIC0geWVhciAyMDA5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDA5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAgICAgICBKYW51YXJ5ICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5ICAgICAgICAgICAgICAgICAgIE1hcmNoICAgICAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKyAxICAgICAgICAgICAxICAyICAzICA0ICAgIDUgICAgICAgICAgICAgICAgICAgIDEgICAgOSAgICAgICAgICAgICAgICAgICAgMSAgIAorIDIgIDUgIDYgIDcgIDggIDkgMTAgMTEgICAgNiAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgIDEwICAyICAzICA0ICA1ICA2ICA3ICA4ICAgCisgMyAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgICA3ICA5IDEwIDExIDEyIDEzIDE0IDE1ICAgMTEgIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAKKyA0IDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgIDggMTYgMTcgMTggMTkgMjAgMjEgMjIgICAxMiAxNiAxNyAxOCAxOSAyMCAyMSAyMiAgIAorIDUgMjYgMjcgMjggMjkgMzAgMzEgICAgICAgOSAyMyAyNCAyNSAyNiAyNyAyOCAgICAgIDEzIDIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTQgMzAgMzEgICAgICAgICAgICAgICAgICAKKyAgICAgICAgIEFwcmlsICAgICAgICAgICAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CisxNCAgICAgICAgMSAgMiAgMyAgNCAgNSAgIDE4ICAgICAgICAgICAgICAxICAyICAzICAgMjMgIDEgIDIgIDMgIDQgIDUgIDYgIDcgICAKKzE1ICA2ICA3ICA4ICA5IDEwIDExIDEyICAgMTkgIDQgIDUgIDYgIDcgIDggIDkgMTAgICAyNCAgOCAgOSAxMCAxMSAxMiAxMyAxNCAgIAorMTYgMTMgMTQgMTUgMTYgMTcgMTggMTkgICAyMCAxMSAxMiAxMyAxNCAxNSAxNiAxNyAgIDI1IDE1IDE2IDE3IDE4IDE5IDIwIDIxICAgCisxNyAyMCAyMSAyMiAyMyAyNCAyNSAyNiAgIDIxIDE4IDE5IDIwIDIxIDIyIDIzIDI0ICAgMjYgMjIgMjMgMjQgMjUgMjYgMjcgMjggICAKKzE4IDI3IDI4IDI5IDMwICAgICAgICAgICAgMjIgMjUgMjYgMjcgMjggMjkgMzAgMzEgICAyNyAyOSAzMCAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgSnVseSAgICAgICAgICAgICAgICAgICAgIEF1Z3VzdCAgICAgICAgICAgICAgICAgIFNlcHRlbWJlciAgICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorMjcgICAgICAgIDEgIDIgIDMgIDQgIDUgICAzMSAgICAgICAgICAgICAgICAgMSAgMiAgIDM2ICAgICAxICAyICAzICA0ICA1ICA2ICAgCisyOCAgNiAgNyAgOCAgOSAxMCAxMSAxMiAgIDMyICAzICA0ICA1ICA2ICA3ICA4ICA5ICAgMzcgIDcgIDggIDkgMTAgMTEgMTIgMTMgICAKKzI5IDEzIDE0IDE1IDE2IDE3IDE4IDE5ICAgMzMgMTAgMTEgMTIgMTMgMTQgMTUgMTYgICAzOCAxNCAxNSAxNiAxNyAxOCAxOSAyMCAgIAorMzAgMjAgMjEgMjIgMjMgMjQgMjUgMjYgICAzNCAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgIDM5IDIxIDIyIDIzIDI0IDI1IDI2IDI3ICAgCiszMSAyNyAyOCAyOSAzMCAzMSAgICAgICAgIDM1IDI0IDI1IDI2IDI3IDI4IDI5IDMwICAgNDAgMjggMjkgMzAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgMzYgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICBPY3RvYmVyICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgICAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKzQwICAgICAgICAgICAxICAyICAzICA0ICAgNDQgICAgICAgICAgICAgICAgICAgIDEgICA0OSAgICAgMSAgMiAgMyAgNCAgNSAgNiAgIAorNDEgIDUgIDYgIDcgIDggIDkgMTAgMTEgICA0NSAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgIDUwICA3ICA4ICA5IDEwIDExIDEyIDEzICAgCis0MiAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIDQ2ICA5IDEwIDExIDEyIDEzIDE0IDE1ICAgNTEgMTQgMTUgMTYgMTcgMTggMTkgMjAgICAKKzQzIDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgNDcgMTYgMTcgMTggMTkgMjAgMjEgMjIgICA1MiAyMSAyMiAyMyAyNCAyNSAyNiAyNyAgIAorNDQgMjYgMjcgMjggMjkgMzAgMzEgICAgICA0OCAyMyAyNCAyNSAyNiAyNyAyOCAyOSAgIDUzIDI4IDI5IDMwIDMxICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgIDQ5IDMwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMgLSB5ZWFyIDIwMDkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMDkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgICAgICAgICAgTWFyY2ggICAgICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorIDEgICAgICAgICAgICAgIDEgIDIgIDMgICAgNiAgMSAgMiAgMyAgNCAgNSAgNiAgNyAgIDEwICAxICAyICAzICA0ICA1ICA2ICA3ICAgCisgMiAgNCAgNSAgNiAgNyAgOCAgOSAxMCAgICA3ICA4ICA5IDEwIDExIDEyIDEzIDE0ICAgMTEgIDggIDkgMTAgMTEgMTIgMTMgMTQgICAKKyAzIDExIDEyIDEzIDE0IDE1IDE2IDE3ICAgIDggMTUgMTYgMTcgMTggMTkgMjAgMjEgICAxMiAxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIAorIDQgMTggMTkgMjAgMjEgMjIgMjMgMjQgICAgOSAyMiAyMyAyNCAyNSAyNiAyNyAyOCAgIDEzIDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgCisgNSAyNSAyNiAyNyAyOCAyOSAzMCAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTQgMjkgMzAgMzEgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgQXByaWwgICAgICAgICAgICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzE0ICAgICAgICAgICAxICAyICAzICA0ICAgMTggICAgICAgICAgICAgICAgIDEgIDIgICAyMyAgICAgMSAgMiAgMyAgNCAgNSAgNiAgIAorMTUgIDUgIDYgIDcgIDggIDkgMTAgMTEgICAxOSAgMyAgNCAgNSAgNiAgNyAgOCAgOSAgIDI0ICA3ICA4ICA5IDEwIDExIDEyIDEzICAgCisxNiAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIDIwIDEwIDExIDEyIDEzIDE0IDE1IDE2ICAgMjUgMTQgMTUgMTYgMTcgMTggMTkgMjAgICAKKzE3IDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgMjEgMTcgMTggMTkgMjAgMjEgMjIgMjMgICAyNiAyMSAyMiAyMyAyNCAyNSAyNiAyNyAgIAorMTggMjYgMjcgMjggMjkgMzAgICAgICAgICAyMiAyNCAyNSAyNiAyNyAyOCAyOSAzMCAgIDI3IDI4IDI5IDMwICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgIDIzIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgICAgICAgU2VwdGVtYmVyICAgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCisyNyAgICAgICAgICAgMSAgMiAgMyAgNCAgIDMxICAgICAgICAgICAgICAgICAgICAxICAgMzYgICAgICAgIDEgIDIgIDMgIDQgIDUgICAKKzI4ICA1ICA2ICA3ICA4ICA5IDEwIDExICAgMzIgIDIgIDMgIDQgIDUgIDYgIDcgIDggICAzNyAgNiAgNyAgOCAgOSAxMCAxMSAxMiAgIAorMjkgMTIgMTMgMTQgMTUgMTYgMTcgMTggICAzMyAgOSAxMCAxMSAxMiAxMyAxNCAxNSAgIDM4IDEzIDE0IDE1IDE2IDE3IDE4IDE5ICAgCiszMCAxOSAyMCAyMSAyMiAyMyAyNCAyNSAgIDM0IDE2IDE3IDE4IDE5IDIwIDIxIDIyICAgMzkgMjAgMjEgMjIgMjMgMjQgMjUgMjYgICAKKzMxIDI2IDI3IDI4IDI5IDMwIDMxICAgICAgMzUgMjMgMjQgMjUgMjYgMjcgMjggMjkgICA0MCAyNyAyOCAyOSAzMCAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAzNiAzMCAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgIE9jdG9iZXIgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorNDAgICAgICAgICAgICAgIDEgIDIgIDMgICA0NSAgMSAgMiAgMyAgNCAgNSAgNiAgNyAgIDQ5ICAgICAgICAxICAyICAzICA0ICA1ICAgCis0MSAgNCAgNSAgNiAgNyAgOCAgOSAxMCAgIDQ2ICA4ICA5IDEwIDExIDEyIDEzIDE0ICAgNTAgIDYgIDcgIDggIDkgMTAgMTEgMTIgICAKKzQyIDExIDEyIDEzIDE0IDE1IDE2IDE3ICAgNDcgMTUgMTYgMTcgMTggMTkgMjAgMjEgICA1MSAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgIAorNDMgMTggMTkgMjAgMjEgMjIgMjMgMjQgICA0OCAyMiAyMyAyNCAyNSAyNiAyNyAyOCAgIDUyIDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgCis0NCAyNSAyNiAyNyAyOCAyOSAzMCAzMSAgIDQ5IDI5IDMwICAgICAgICAgICAgICAgICAgNTMgMjcgMjggMjkgMzAgMzEgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCitKdWxpYW4gLSBNb25kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyAtIHllYXIgMjAwOQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisgMSAgICAgICAgICAgICAgIDEgICAyICAgMyAgIDQgICAgNSAgICAgICAgICAgICAgICAgICAgICAgICAgMzIgICAKKyAyICAgNSAgIDYgICA3ICAgOCAgIDkgIDEwICAxMSAgICA2ICAzMyAgMzQgIDM1ICAzNiAgMzcgIDM4ICAzOSAgIAorIDMgIDEyICAxMyAgMTQgIDE1ICAxNiAgMTcgIDE4ICAgIDcgIDQwICA0MSAgNDIgIDQzICA0NCAgNDUgIDQ2ICAgCisgNCAgMTkgIDIwICAyMSAgMjIgIDIzICAyNCAgMjUgICAgOCAgNDcgIDQ4ICA0OSAgNTAgIDUxICA1MiAgNTMgICAKKyA1ICAyNiAgMjcgIDI4ICAyOSAgMzAgIDMxICAgICAgICA5ICA1NCAgNTUgIDU2ICA1NyAgNTggIDU5ICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgTWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgQXByaWwgICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorIDkgICAgICAgICAgICAgICAgICAgICAgICAgIDYwICAgMTQgICAgICAgICAgOTEgIDkyICA5MyAgOTQgIDk1ICAgCisxMCAgNjEgIDYyICA2MyAgNjQgIDY1ICA2NiAgNjcgICAxNSAgOTYgIDk3ICA5OCAgOTkgMTAwIDEwMSAxMDIgICAKKzExICA2OCAgNjkgIDcwICA3MSAgNzIgIDczICA3NCAgIDE2IDEwMyAxMDQgMTA1IDEwNiAxMDcgMTA4IDEwOSAgIAorMTIgIDc1ICA3NiAgNzcgIDc4ICA3OSAgODAgIDgxICAgMTcgMTEwIDExMSAxMTIgMTEzIDExNCAxMTUgMTE2ICAgCisxMyAgODIgIDgzICA4NCAgODUgIDg2ICA4NyAgODggICAxOCAxMTcgMTE4IDExOSAxMjAgICAgICAgICAgICAgICAKKzE0ICA4OSAgOTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzE4ICAgICAgICAgICAgICAgICAxMjEgMTIyIDEyMyAgIDIzIDE1MiAxNTMgMTU0IDE1NSAxNTYgMTU3IDE1OCAgIAorMTkgMTI0IDEyNSAxMjYgMTI3IDEyOCAxMjkgMTMwICAgMjQgMTU5IDE2MCAxNjEgMTYyIDE2MyAxNjQgMTY1ICAgCisyMCAxMzEgMTMyIDEzMyAxMzQgMTM1IDEzNiAxMzcgICAyNSAxNjYgMTY3IDE2OCAxNjkgMTcwIDE3MSAxNzIgICAKKzIxIDEzOCAxMzkgMTQwIDE0MSAxNDIgMTQzIDE0NCAgIDI2IDE3MyAxNzQgMTc1IDE3NiAxNzcgMTc4IDE3OSAgIAorMjIgMTQ1IDE0NiAxNDcgMTQ4IDE0OSAxNTAgMTUxICAgMjcgMTgwIDE4MSAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1Z3VzdCAgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisyNyAgICAgICAgIDE4MiAxODMgMTg0IDE4NSAxODYgICAzMSAgICAgICAgICAgICAgICAgICAgIDIxMyAyMTQgICAKKzI4IDE4NyAxODggMTg5IDE5MCAxOTEgMTkyIDE5MyAgIDMyIDIxNSAyMTYgMjE3IDIxOCAyMTkgMjIwIDIyMSAgIAorMjkgMTk0IDE5NSAxOTYgMTk3IDE5OCAxOTkgMjAwICAgMzMgMjIyIDIyMyAyMjQgMjI1IDIyNiAyMjcgMjI4ICAgCiszMCAyMDEgMjAyIDIwMyAyMDQgMjA1IDIwNiAyMDcgICAzNCAyMjkgMjMwIDIzMSAyMzIgMjMzIDIzNCAyMzUgICAKKzMxIDIwOCAyMDkgMjEwIDIxMSAyMTIgICAgICAgICAgIDM1IDIzNiAyMzcgMjM4IDIzOSAyNDAgMjQxIDI0MiAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzYgMjQzICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgIFNlcHRlbWJlciAgICAgICAgICAgICAgICAgICAgICAgICBPY3RvYmVyICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorMzYgICAgIDI0NCAyNDUgMjQ2IDI0NyAyNDggMjQ5ICAgNDAgICAgICAgICAgICAgMjc0IDI3NSAyNzYgMjc3ICAgCiszNyAyNTAgMjUxIDI1MiAyNTMgMjU0IDI1NSAyNTYgICA0MSAyNzggMjc5IDI4MCAyODEgMjgyIDI4MyAyODQgICAKKzM4IDI1NyAyNTggMjU5IDI2MCAyNjEgMjYyIDI2MyAgIDQyIDI4NSAyODYgMjg3IDI4OCAyODkgMjkwIDI5MSAgIAorMzkgMjY0IDI2NSAyNjYgMjY3IDI2OCAyNjkgMjcwICAgNDMgMjkyIDI5MyAyOTQgMjk1IDI5NiAyOTcgMjk4ICAgCis0MCAyNzEgMjcyIDI3MyAgICAgICAgICAgICAgICAgICA0NCAyOTkgMzAwIDMwMSAzMDIgMzAzIDMwNCAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzQ0ICAgICAgICAgICAgICAgICAgICAgICAgIDMwNSAgIDQ5ICAgICAzMzUgMzM2IDMzNyAzMzggMzM5IDM0MCAgIAorNDUgMzA2IDMwNyAzMDggMzA5IDMxMCAzMTEgMzEyICAgNTAgMzQxIDM0MiAzNDMgMzQ0IDM0NSAzNDYgMzQ3ICAgCis0NiAzMTMgMzE0IDMxNSAzMTYgMzE3IDMxOCAzMTkgICA1MSAzNDggMzQ5IDM1MCAzNTEgMzUyIDM1MyAzNTQgICAKKzQ3IDMyMCAzMjEgMzIyIDMyMyAzMjQgMzI1IDMyNiAgIDUyIDM1NSAzNTYgMzU3IDM1OCAzNTkgMzYwIDM2MSAgIAorNDggMzI3IDMyOCAzMjkgMzMwIDMzMSAzMzIgMzMzICAgNTMgMzYyIDM2MyAzNjQgMzY1ICAgICAgICAgICAgICAgCis0OSAzMzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworSnVsaWFuIC0gU3VuZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMgLSB5ZWFyIDIwMDkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMDkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgICAgICBKYW51YXJ5ICAgICAgICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5ICAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorIDEgICAgICAgICAgICAgICAgICAgMSAgIDIgICAzICAgIDYgIDMyICAzMyAgMzQgIDM1ICAzNiAgMzcgIDM4ICAgCisgMiAgIDQgICA1ICAgNiAgIDcgICA4ICAgOSAgMTAgICAgNyAgMzkgIDQwICA0MSAgNDIgIDQzICA0NCAgNDUgICAKKyAzICAxMSAgMTIgIDEzICAxNCAgMTUgIDE2ICAxNyAgICA4ICA0NiAgNDcgIDQ4ICA0OSAgNTAgIDUxICA1MiAgIAorIDQgIDE4ICAxOSAgMjAgIDIxICAyMiAgMjMgIDI0ICAgIDkgIDUzICA1NCAgNTUgIDU2ICA1NyAgNTggIDU5ICAgCisgNSAgMjUgIDI2ICAyNyAgMjggIDI5ICAzMCAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgIE1hcmNoICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFwcmlsICAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzEwICA2MCAgNjEgIDYyICA2MyAgNjQgIDY1ICA2NiAgIDE0ICAgICAgICAgICAgICA5MSAgOTIgIDkzICA5NCAgIAorMTEgIDY3ICA2OCAgNjkgIDcwICA3MSAgNzIgIDczICAgMTUgIDk1ICA5NiAgOTcgIDk4ICA5OSAxMDAgMTAxICAgCisxMiAgNzQgIDc1ICA3NiAgNzcgIDc4ICA3OSAgODAgICAxNiAxMDIgMTAzIDEwNCAxMDUgMTA2IDEwNyAxMDggICAKKzEzICA4MSAgODIgIDgzICA4NCAgODUgIDg2ICA4NyAgIDE3IDEwOSAxMTAgMTExIDExMiAxMTMgMTE0IDExNSAgIAorMTQgIDg4ICA4OSAgOTAgICAgICAgICAgICAgICAgICAgMTggMTE2IDExNyAxMTggMTE5IDEyMCAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisxOCAgICAgICAgICAgICAgICAgICAgIDEyMSAxMjIgICAyMyAgICAgMTUyIDE1MyAxNTQgMTU1IDE1NiAxNTcgICAKKzE5IDEyMyAxMjQgMTI1IDEyNiAxMjcgMTI4IDEyOSAgIDI0IDE1OCAxNTkgMTYwIDE2MSAxNjIgMTYzIDE2NCAgIAorMjAgMTMwIDEzMSAxMzIgMTMzIDEzNCAxMzUgMTM2ICAgMjUgMTY1IDE2NiAxNjcgMTY4IDE2OSAxNzAgMTcxICAgCisyMSAxMzcgMTM4IDEzOSAxNDAgMTQxIDE0MiAxNDMgICAyNiAxNzIgMTczIDE3NCAxNzUgMTc2IDE3NyAxNzggICAKKzIyIDE0NCAxNDUgMTQ2IDE0NyAxNDggMTQ5IDE1MCAgIDI3IDE3OSAxODAgMTgxICAgICAgICAgICAgICAgICAgIAorMjMgMTUxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgSnVseSAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorMjcgICAgICAgICAgICAgMTgyIDE4MyAxODQgMTg1ICAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgMjEzICAgCisyOCAxODYgMTg3IDE4OCAxODkgMTkwIDE5MSAxOTIgICAzMiAyMTQgMjE1IDIxNiAyMTcgMjE4IDIxOSAyMjAgICAKKzI5IDE5MyAxOTQgMTk1IDE5NiAxOTcgMTk4IDE5OSAgIDMzIDIyMSAyMjIgMjIzIDIyNCAyMjUgMjI2IDIyNyAgIAorMzAgMjAwIDIwMSAyMDIgMjAzIDIwNCAyMDUgMjA2ICAgMzQgMjI4IDIyOSAyMzAgMjMxIDIzMiAyMzMgMjM0ICAgCiszMSAyMDcgMjA4IDIwOSAyMTAgMjExIDIxMiAgICAgICAzNSAyMzUgMjM2IDIzNyAyMzggMjM5IDI0MCAyNDEgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM2IDI0MiAyNDMgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICBTZXB0ZW1iZXIgICAgICAgICAgICAgICAgICAgICAgICAgT2N0b2JlciAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzM2ICAgICAgICAgMjQ0IDI0NSAyNDYgMjQ3IDI0OCAgIDQwICAgICAgICAgICAgICAgICAyNzQgMjc1IDI3NiAgIAorMzcgMjQ5IDI1MCAyNTEgMjUyIDI1MyAyNTQgMjU1ICAgNDEgMjc3IDI3OCAyNzkgMjgwIDI4MSAyODIgMjgzICAgCiszOCAyNTYgMjU3IDI1OCAyNTkgMjYwIDI2MSAyNjIgICA0MiAyODQgMjg1IDI4NiAyODcgMjg4IDI4OSAyOTAgICAKKzM5IDI2MyAyNjQgMjY1IDI2NiAyNjcgMjY4IDI2OSAgIDQzIDI5MSAyOTIgMjkzIDI5NCAyOTUgMjk2IDI5NyAgIAorNDAgMjcwIDI3MSAyNzIgMjczICAgICAgICAgICAgICAgNDQgMjk4IDI5OSAzMDAgMzAxIDMwMiAzMDMgMzA0ICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0Cis0NSAzMDUgMzA2IDMwNyAzMDggMzA5IDMxMCAzMTEgICA0OSAgICAgICAgIDMzNSAzMzYgMzM3IDMzOCAzMzkgICAKKzQ2IDMxMiAzMTMgMzE0IDMxNSAzMTYgMzE3IDMxOCAgIDUwIDM0MCAzNDEgMzQyIDM0MyAzNDQgMzQ1IDM0NiAgIAorNDcgMzE5IDMyMCAzMjEgMzIyIDMyMyAzMjQgMzI1ICAgNTEgMzQ3IDM0OCAzNDkgMzUwIDM1MSAzNTIgMzUzICAgCis0OCAzMjYgMzI3IDMyOCAzMjkgMzMwIDMzMSAzMzIgICA1MiAzNTQgMzU1IDM1NiAzNTcgMzU4IDM1OSAzNjAgICAKKzQ5IDMzMyAzMzQgICAgICAgICAgICAgICAgICAgICAgIDUzIDM2MSAzNjIgMzYzIDM2NCAzNjUgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKK0dyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIC0gMyBtb250aCAyMDA5CisgICAgIERlY2VtYmVyIDIwMDggICAgICAgICAgICAgSmFudWFyeSAyMDA5ICAgICAgICAgICAgRmVicnVhcnkgMjAwOSAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1Cis0OSAgMSAgMiAgMyAgNCAgNSAgNiAgNyAgIDEgICAgICAgICAgIDEgIDIgIDMgIDQgICA1ICAgICAgICAgICAgICAgICAgICAxIAorNTAgIDggIDkgMTAgMTEgMTIgMTMgMTQgICAyICA1ICA2ICA3ICA4ICA5IDEwIDExICAgNiAgMiAgMyAgNCAgNSAgNiAgNyAgOCAKKzUxIDE1IDE2IDE3IDE4IDE5IDIwIDIxICAgMyAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIDcgIDkgMTAgMTEgMTIgMTMgMTQgMTUgCis1MiAyMiAyMyAyNCAyNSAyNiAyNyAyOCAgIDQgMTkgMjAgMjEgMjIgMjMgMjQgMjUgICA4IDE2IDE3IDE4IDE5IDIwIDIxIDIyIAorIDEgMjkgMzAgMzEgICAgICAgICAgICAgICA1IDI2IDI3IDI4IDI5IDMwIDMxICAgICAgOSAyMyAyNCAyNSAyNiAyNyAyOCAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCitHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyAtIDMgbW9udGggMjAwOQorICAgICBEZWNlbWJlciAyMDA4ICAgICAgICAgICAgIEphbnVhcnkgMjAwOSAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDkgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorNDkgICAgIDEgIDIgIDMgIDQgIDUgIDYgICAxICAgICAgICAgICAgICAxICAyICAzICAgNiAgMSAgMiAgMyAgNCAgNSAgNiAgNyAKKzUwICA3ICA4ICA5IDEwIDExIDEyIDEzICAgMiAgNCAgNSAgNiAgNyAgOCAgOSAxMCAgIDcgIDggIDkgMTAgMTEgMTIgMTMgMTQgCis1MSAxNCAxNSAxNiAxNyAxOCAxOSAyMCAgIDMgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICA4IDE1IDE2IDE3IDE4IDE5IDIwIDIxIAorNTIgMjEgMjIgMjMgMjQgMjUgMjYgMjcgICA0IDE4IDE5IDIwIDIxIDIyIDIzIDI0ICAgOSAyMiAyMyAyNCAyNSAyNiAyNyAyOCAKKzUzIDI4IDI5IDMwIDMxICAgICAgICAgICAgNSAyNSAyNiAyNyAyOCAyOSAzMCAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorSnVsaWFuIC0gTW9uZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMgLSAzIG1vbnRoIDIwMDkKKyAgICAgICAgIERlY2VtYmVyIDIwMDggICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDA5ICAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAyMDA5ICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzQ5IDMzNiAzMzcgMzM4IDMzOSAzNDAgMzQxIDM0MiAgIDEgICAgICAgICAgICAgICAxICAgMiAgIDMgICA0ICAgNSAgICAgICAgICAgICAgICAgICAgICAgICAgMzIgCis1MCAzNDMgMzQ0IDM0NSAzNDYgMzQ3IDM0OCAzNDkgICAyICAgNSAgIDYgICA3ICAgOCAgIDkgIDEwICAxMSAgIDYgIDMzICAzNCAgMzUgIDM2ICAzNyAgMzggIDM5IAorNTEgMzUwIDM1MSAzNTIgMzUzIDM1NCAzNTUgMzU2ICAgMyAgMTIgIDEzICAxNCAgMTUgIDE2ICAxNyAgMTggICA3ICA0MCAgNDEgIDQyICA0MyAgNDQgIDQ1ICA0NiAKKzUyIDM1NyAzNTggMzU5IDM2MCAzNjEgMzYyIDM2MyAgIDQgIDE5ICAyMCAgMjEgIDIyICAyMyAgMjQgIDI1ICAgOCAgNDcgIDQ4ICA0OSAgNTAgIDUxICA1MiAgNTMgCisgMSAzNjQgMzY1IDM2NiAgICAgICAgICAgICAgICAgICA1ICAyNiAgMjcgIDI4ICAyOSAgMzAgIDMxICAgICAgIDkgIDU0ICA1NSAgNTYgIDU3ICA1OCAgNTkgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK0p1bGlhbiAtIFN1bmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIC0gMyBtb250aCAyMDA5CisgICAgICAgICBEZWNlbWJlciAyMDA4ICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAwOSAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgMjAwOSAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0Cis0OSAgICAgMzM2IDMzNyAzMzggMzM5IDM0MCAzNDEgICAxICAgICAgICAgICAgICAgICAgIDEgICAyICAgMyAgIDYgIDMyICAzMyAgMzQgIDM1ICAzNiAgMzcgIDM4IAorNTAgMzQyIDM0MyAzNDQgMzQ1IDM0NiAzNDcgMzQ4ICAgMiAgIDQgICA1ICAgNiAgIDcgICA4ICAgOSAgMTAgICA3ICAzOSAgNDAgIDQxICA0MiAgNDMgIDQ0ICA0NSAKKzUxIDM0OSAzNTAgMzUxIDM1MiAzNTMgMzU0IDM1NSAgIDMgIDExICAxMiAgMTMgIDE0ICAxNSAgMTYgIDE3ICAgOCAgNDYgIDQ3ICA0OCAgNDkgIDUwICA1MSAgNTIgCis1MiAzNTYgMzU3IDM1OCAzNTkgMzYwIDM2MSAzNjIgICA0ICAxOCAgMTkgIDIwICAyMSAgMjIgIDIzICAyNCAgIDkgIDUzICA1NCAgNTUgIDU2ICA1NyAgNTggIDU5IAorNTMgMzYzIDM2NCAzNjUgMzY2ICAgICAgICAgICAgICAgNSAgMjUgIDI2ICAyNyAgMjggIDI5ICAzMCAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCitHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyAtIHllYXIgMjAxMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAxMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgICAgICAgICBNYXJjaCAgICAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1Cis1MyAgICAgICAgICAgICAgMSAgMiAgMyAgICA1ICAxICAyICAzICA0ICA1ICA2ICA3ICAgIDkgIDEgIDIgIDMgIDQgIDUgIDYgIDcgICAKKyAxICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgIDYgIDggIDkgMTAgMTEgMTIgMTMgMTQgICAxMCAgOCAgOSAxMCAxMSAxMiAxMyAxNCAgIAorIDIgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICAgNyAxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIDExIDE1IDE2IDE3IDE4IDE5IDIwIDIxICAgCisgMyAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgICA4IDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgMTIgMjIgMjMgMjQgMjUgMjYgMjcgMjggICAKKyA0IDI1IDI2IDI3IDI4IDI5IDMwIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMyAyOSAzMCAzMSAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICBBcHJpbCAgICAgICAgICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorMTMgICAgICAgICAgIDEgIDIgIDMgIDQgICAxNyAgICAgICAgICAgICAgICAgMSAgMiAgIDIyICAgICAxICAyICAzICA0ICA1ICA2ICAgCisxNCAgNSAgNiAgNyAgOCAgOSAxMCAxMSAgIDE4ICAzICA0ICA1ICA2ICA3ICA4ICA5ICAgMjMgIDcgIDggIDkgMTAgMTEgMTIgMTMgICAKKzE1IDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgMTkgMTAgMTEgMTIgMTMgMTQgMTUgMTYgICAyNCAxNCAxNSAxNiAxNyAxOCAxOSAyMCAgIAorMTYgMTkgMjAgMjEgMjIgMjMgMjQgMjUgICAyMCAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgIDI1IDIxIDIyIDIzIDI0IDI1IDI2IDI3ICAgCisxNyAyNiAyNyAyOCAyOSAzMCAgICAgICAgIDIxIDI0IDI1IDI2IDI3IDI4IDI5IDMwICAgMjYgMjggMjkgMzAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgMjIgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAgICAgICBTZXB0ZW1iZXIgICAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKzI2ICAgICAgICAgICAxICAyICAzICA0ICAgMzAgICAgICAgICAgICAgICAgICAgIDEgICAzNSAgICAgICAgMSAgMiAgMyAgNCAgNSAgIAorMjcgIDUgIDYgIDcgIDggIDkgMTAgMTEgICAzMSAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgIDM2ICA2ICA3ICA4ICA5IDEwIDExIDEyICAgCisyOCAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIDMyICA5IDEwIDExIDEyIDEzIDE0IDE1ICAgMzcgMTMgMTQgMTUgMTYgMTcgMTggMTkgICAKKzI5IDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgMzMgMTYgMTcgMTggMTkgMjAgMjEgMjIgICAzOCAyMCAyMSAyMiAyMyAyNCAyNSAyNiAgIAorMzAgMjYgMjcgMjggMjkgMzAgMzEgICAgICAzNCAyMyAyNCAyNSAyNiAyNyAyOCAyOSAgIDM5IDI3IDI4IDI5IDMwICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgIDM1IDMwIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgT2N0b2JlciAgICAgICAgICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CiszOSAgICAgICAgICAgICAgMSAgMiAgMyAgIDQ0ICAxICAyICAzICA0ICA1ICA2ICA3ICAgNDggICAgICAgIDEgIDIgIDMgIDQgIDUgICAKKzQwICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgNDUgIDggIDkgMTAgMTEgMTIgMTMgMTQgICA0OSAgNiAgNyAgOCAgOSAxMCAxMSAxMiAgIAorNDEgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICA0NiAxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIDUwIDEzIDE0IDE1IDE2IDE3IDE4IDE5ICAgCis0MiAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgIDQ3IDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgNTEgMjAgMjEgMjIgMjMgMjQgMjUgMjYgICAKKzQzIDI1IDI2IDI3IDI4IDI5IDMwIDMxICAgNDggMjkgMzAgICAgICAgICAgICAgICAgICA1MiAyNyAyOCAyOSAzMCAzMSAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKK0dyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIC0geWVhciAyMDEwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAgICAgICBKYW51YXJ5ICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5ICAgICAgICAgICAgICAgICAgIE1hcmNoICAgICAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKyAxICAgICAgICAgICAgICAgICAxICAyICAgIDYgICAgIDEgIDIgIDMgIDQgIDUgIDYgICAxMCAgICAgMSAgMiAgMyAgNCAgNSAgNiAgIAorIDIgIDMgIDQgIDUgIDYgIDcgIDggIDkgICAgNyAgNyAgOCAgOSAxMCAxMSAxMiAxMyAgIDExICA3ICA4ICA5IDEwIDExIDEyIDEzICAgCisgMyAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgICA4IDE0IDE1IDE2IDE3IDE4IDE5IDIwICAgMTIgMTQgMTUgMTYgMTcgMTggMTkgMjAgICAKKyA0IDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgIDkgMjEgMjIgMjMgMjQgMjUgMjYgMjcgICAxMyAyMSAyMiAyMyAyNCAyNSAyNiAyNyAgIAorIDUgMjQgMjUgMjYgMjcgMjggMjkgMzAgICAxMCAyOCAgICAgICAgICAgICAgICAgICAgIDE0IDI4IDI5IDMwIDMxICAgICAgICAgICAgCisgNiAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgIEFwcmlsICAgICAgICAgICAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCisxNCAgICAgICAgICAgICAgMSAgMiAgMyAgIDE4ICAgICAgICAgICAgICAgICAgICAxICAgMjMgICAgICAgIDEgIDIgIDMgIDQgIDUgICAKKzE1ICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgMTkgIDIgIDMgIDQgIDUgIDYgIDcgIDggICAyNCAgNiAgNyAgOCAgOSAxMCAxMSAxMiAgIAorMTYgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICAyMCAgOSAxMCAxMSAxMiAxMyAxNCAxNSAgIDI1IDEzIDE0IDE1IDE2IDE3IDE4IDE5ICAgCisxNyAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgIDIxIDE2IDE3IDE4IDE5IDIwIDIxIDIyICAgMjYgMjAgMjEgMjIgMjMgMjQgMjUgMjYgICAKKzE4IDI1IDI2IDI3IDI4IDI5IDMwICAgICAgMjIgMjMgMjQgMjUgMjYgMjcgMjggMjkgICAyNyAyNyAyOCAyOSAzMCAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAyMyAzMCAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgSnVseSAgICAgICAgICAgICAgICAgICAgIEF1Z3VzdCAgICAgICAgICAgICAgICAgIFNlcHRlbWJlciAgICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorMjcgICAgICAgICAgICAgIDEgIDIgIDMgICAzMiAgMSAgMiAgMyAgNCAgNSAgNiAgNyAgIDM2ICAgICAgICAgICAxICAyICAzICA0ICAgCisyOCAgNCAgNSAgNiAgNyAgOCAgOSAxMCAgIDMzICA4ICA5IDEwIDExIDEyIDEzIDE0ICAgMzcgIDUgIDYgIDcgIDggIDkgMTAgMTEgICAKKzI5IDExIDEyIDEzIDE0IDE1IDE2IDE3ICAgMzQgMTUgMTYgMTcgMTggMTkgMjAgMjEgICAzOCAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIAorMzAgMTggMTkgMjAgMjEgMjIgMjMgMjQgICAzNSAyMiAyMyAyNCAyNSAyNiAyNyAyOCAgIDM5IDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgCiszMSAyNSAyNiAyNyAyOCAyOSAzMCAzMSAgIDM2IDI5IDMwIDMxICAgICAgICAgICAgICAgNDAgMjYgMjcgMjggMjkgMzAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICBPY3RvYmVyICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgICAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzQwICAgICAgICAgICAgICAgICAxICAyICAgNDUgICAgIDEgIDIgIDMgIDQgIDUgIDYgICA0OSAgICAgICAgICAgMSAgMiAgMyAgNCAgIAorNDEgIDMgIDQgIDUgIDYgIDcgIDggIDkgICA0NiAgNyAgOCAgOSAxMCAxMSAxMiAxMyAgIDUwICA1ICA2ICA3ICA4ICA5IDEwIDExICAgCis0MiAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgIDQ3IDE0IDE1IDE2IDE3IDE4IDE5IDIwICAgNTEgMTIgMTMgMTQgMTUgMTYgMTcgMTggICAKKzQzIDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgNDggMjEgMjIgMjMgMjQgMjUgMjYgMjcgICA1MiAxOSAyMCAyMSAyMiAyMyAyNCAyNSAgIAorNDQgMjQgMjUgMjYgMjcgMjggMjkgMzAgICA0OSAyOCAyOSAzMCAgICAgICAgICAgICAgIDUzIDI2IDI3IDI4IDI5IDMwIDMxICAgICAgCis0NSAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworSnVsaWFuIC0gTW9uZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMgLSB5ZWFyIDIwMTAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgICAgICBKYW51YXJ5ICAgICAgICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5ICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorNTMgICAgICAgICAgICAgICAgICAgMSAgIDIgICAzICAgIDUgIDMyICAzMyAgMzQgIDM1ICAzNiAgMzcgIDM4ICAgCisgMSAgIDQgICA1ICAgNiAgIDcgICA4ICAgOSAgMTAgICAgNiAgMzkgIDQwICA0MSAgNDIgIDQzICA0NCAgNDUgICAKKyAyICAxMSAgMTIgIDEzICAxNCAgMTUgIDE2ICAxNyAgICA3ICA0NiAgNDcgIDQ4ICA0OSAgNTAgIDUxICA1MiAgIAorIDMgIDE4ICAxOSAgMjAgIDIxICAyMiAgMjMgIDI0ICAgIDggIDUzICA1NCAgNTUgIDU2ICA1NyAgNTggIDU5ICAgCisgNCAgMjUgIDI2ICAyNyAgMjggIDI5ICAzMCAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgIE1hcmNoICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFwcmlsICAgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKyA5ICA2MCAgNjEgIDYyICA2MyAgNjQgIDY1ICA2NiAgIDEzICAgICAgICAgICAgICA5MSAgOTIgIDkzICA5NCAgIAorMTAgIDY3ICA2OCAgNjkgIDcwICA3MSAgNzIgIDczICAgMTQgIDk1ICA5NiAgOTcgIDk4ICA5OSAxMDAgMTAxICAgCisxMSAgNzQgIDc1ICA3NiAgNzcgIDc4ICA3OSAgODAgICAxNSAxMDIgMTAzIDEwNCAxMDUgMTA2IDEwNyAxMDggICAKKzEyICA4MSAgODIgIDgzICA4NCAgODUgIDg2ICA4NyAgIDE2IDEwOSAxMTAgMTExIDExMiAxMTMgMTE0IDExNSAgIAorMTMgIDg4ICA4OSAgOTAgICAgICAgICAgICAgICAgICAgMTcgMTE2IDExNyAxMTggMTE5IDEyMCAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisxNyAgICAgICAgICAgICAgICAgICAgIDEyMSAxMjIgICAyMiAgICAgMTUyIDE1MyAxNTQgMTU1IDE1NiAxNTcgICAKKzE4IDEyMyAxMjQgMTI1IDEyNiAxMjcgMTI4IDEyOSAgIDIzIDE1OCAxNTkgMTYwIDE2MSAxNjIgMTYzIDE2NCAgIAorMTkgMTMwIDEzMSAxMzIgMTMzIDEzNCAxMzUgMTM2ICAgMjQgMTY1IDE2NiAxNjcgMTY4IDE2OSAxNzAgMTcxICAgCisyMCAxMzcgMTM4IDEzOSAxNDAgMTQxIDE0MiAxNDMgICAyNSAxNzIgMTczIDE3NCAxNzUgMTc2IDE3NyAxNzggICAKKzIxIDE0NCAxNDUgMTQ2IDE0NyAxNDggMTQ5IDE1MCAgIDI2IDE3OSAxODAgMTgxICAgICAgICAgICAgICAgICAgIAorMjIgMTUxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgSnVseSAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorMjYgICAgICAgICAgICAgMTgyIDE4MyAxODQgMTg1ICAgMzAgICAgICAgICAgICAgICAgICAgICAgICAgMjEzICAgCisyNyAxODYgMTg3IDE4OCAxODkgMTkwIDE5MSAxOTIgICAzMSAyMTQgMjE1IDIxNiAyMTcgMjE4IDIxOSAyMjAgICAKKzI4IDE5MyAxOTQgMTk1IDE5NiAxOTcgMTk4IDE5OSAgIDMyIDIyMSAyMjIgMjIzIDIyNCAyMjUgMjI2IDIyNyAgIAorMjkgMjAwIDIwMSAyMDIgMjAzIDIwNCAyMDUgMjA2ICAgMzMgMjI4IDIyOSAyMzAgMjMxIDIzMiAyMzMgMjM0ICAgCiszMCAyMDcgMjA4IDIwOSAyMTAgMjExIDIxMiAgICAgICAzNCAyMzUgMjM2IDIzNyAyMzggMjM5IDI0MCAyNDEgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM1IDI0MiAyNDMgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICBTZXB0ZW1iZXIgICAgICAgICAgICAgICAgICAgICAgICAgT2N0b2JlciAgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzM1ICAgICAgICAgMjQ0IDI0NSAyNDYgMjQ3IDI0OCAgIDM5ICAgICAgICAgICAgICAgICAyNzQgMjc1IDI3NiAgIAorMzYgMjQ5IDI1MCAyNTEgMjUyIDI1MyAyNTQgMjU1ICAgNDAgMjc3IDI3OCAyNzkgMjgwIDI4MSAyODIgMjgzICAgCiszNyAyNTYgMjU3IDI1OCAyNTkgMjYwIDI2MSAyNjIgICA0MSAyODQgMjg1IDI4NiAyODcgMjg4IDI4OSAyOTAgICAKKzM4IDI2MyAyNjQgMjY1IDI2NiAyNjcgMjY4IDI2OSAgIDQyIDI5MSAyOTIgMjkzIDI5NCAyOTUgMjk2IDI5NyAgIAorMzkgMjcwIDI3MSAyNzIgMjczICAgICAgICAgICAgICAgNDMgMjk4IDI5OSAzMDAgMzAxIDMwMiAzMDMgMzA0ICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCis0NCAzMDUgMzA2IDMwNyAzMDggMzA5IDMxMCAzMTEgICA0OCAgICAgICAgIDMzNSAzMzYgMzM3IDMzOCAzMzkgICAKKzQ1IDMxMiAzMTMgMzE0IDMxNSAzMTYgMzE3IDMxOCAgIDQ5IDM0MCAzNDEgMzQyIDM0MyAzNDQgMzQ1IDM0NiAgIAorNDYgMzE5IDMyMCAzMjEgMzIyIDMyMyAzMjQgMzI1ICAgNTAgMzQ3IDM0OCAzNDkgMzUwIDM1MSAzNTIgMzUzICAgCis0NyAzMjYgMzI3IDMyOCAzMjkgMzMwIDMzMSAzMzIgICA1MSAzNTQgMzU1IDM1NiAzNTcgMzU4IDM1OSAzNjAgICAKKzQ4IDMzMyAzMzQgICAgICAgICAgICAgICAgICAgICAgIDUyIDM2MSAzNjIgMzYzIDM2NCAzNjUgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKK0p1bGlhbiAtIFN1bmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIC0geWVhciAyMDEwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAgICAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKyAxICAgICAgICAgICAgICAgICAgICAgICAxICAgMiAgICA2ICAgICAgMzIgIDMzICAzNCAgMzUgIDM2ICAzNyAgIAorIDIgICAzICAgNCAgIDUgICA2ICAgNyAgIDggICA5ICAgIDcgIDM4ICAzOSAgNDAgIDQxICA0MiAgNDMgIDQ0ICAgCisgMyAgMTAgIDExICAxMiAgMTMgIDE0ICAxNSAgMTYgICAgOCAgNDUgIDQ2ICA0NyAgNDggIDQ5ICA1MCAgNTEgICAKKyA0ICAxNyAgMTggIDE5ICAyMCAgMjEgIDIyICAyMyAgICA5ICA1MiAgNTMgIDU0ICA1NSAgNTYgIDU3ICA1OCAgIAorIDUgIDI0ICAyNSAgMjYgIDI3ICAyOCAgMjkgIDMwICAgMTAgIDU5ICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgNiAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICBNYXJjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcHJpbCAgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisxMCAgICAgIDYwICA2MSAgNjIgIDYzICA2NCAgNjUgICAxNCAgICAgICAgICAgICAgICAgIDkxICA5MiAgOTMgICAKKzExICA2NiAgNjcgIDY4ICA2OSAgNzAgIDcxICA3MiAgIDE1ICA5NCAgOTUgIDk2ICA5NyAgOTggIDk5IDEwMCAgIAorMTIgIDczICA3NCAgNzUgIDc2ICA3NyAgNzggIDc5ICAgMTYgMTAxIDEwMiAxMDMgMTA0IDEwNSAxMDYgMTA3ICAgCisxMyAgODAgIDgxICA4MiAgODMgIDg0ICA4NSAgODYgICAxNyAxMDggMTA5IDExMCAxMTEgMTEyIDExMyAxMTQgICAKKzE0ICA4NyAgODggIDg5ICA5MCAgICAgICAgICAgICAgIDE4IDExNSAxMTYgMTE3IDExOCAxMTkgMTIwICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorMTggICAgICAgICAgICAgICAgICAgICAgICAgMTIxICAgMjMgICAgICAgICAxNTIgMTUzIDE1NCAxNTUgMTU2ICAgCisxOSAxMjIgMTIzIDEyNCAxMjUgMTI2IDEyNyAxMjggICAyNCAxNTcgMTU4IDE1OSAxNjAgMTYxIDE2MiAxNjMgICAKKzIwIDEyOSAxMzAgMTMxIDEzMiAxMzMgMTM0IDEzNSAgIDI1IDE2NCAxNjUgMTY2IDE2NyAxNjggMTY5IDE3MCAgIAorMjEgMTM2IDEzNyAxMzggMTM5IDE0MCAxNDEgMTQyICAgMjYgMTcxIDE3MiAxNzMgMTc0IDE3NSAxNzYgMTc3ICAgCisyMiAxNDMgMTQ0IDE0NSAxNDYgMTQ3IDE0OCAxNDkgICAyNyAxNzggMTc5IDE4MCAxODEgICAgICAgICAgICAgICAKKzIzIDE1MCAxNTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzI3ICAgICAgICAgICAgICAgICAxODIgMTgzIDE4NCAgIDMyIDIxMyAyMTQgMjE1IDIxNiAyMTcgMjE4IDIxOSAgIAorMjggMTg1IDE4NiAxODcgMTg4IDE4OSAxOTAgMTkxICAgMzMgMjIwIDIyMSAyMjIgMjIzIDIyNCAyMjUgMjI2ICAgCisyOSAxOTIgMTkzIDE5NCAxOTUgMTk2IDE5NyAxOTggICAzNCAyMjcgMjI4IDIyOSAyMzAgMjMxIDIzMiAyMzMgICAKKzMwIDE5OSAyMDAgMjAxIDIwMiAyMDMgMjA0IDIwNSAgIDM1IDIzNCAyMzUgMjM2IDIzNyAyMzggMjM5IDI0MCAgIAorMzEgMjA2IDIwNyAyMDggMjA5IDIxMCAyMTEgMjEyICAgMzYgMjQxIDI0MiAyNDMgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgU2VwdGVtYmVyICAgICAgICAgICAgICAgICAgICAgICAgIE9jdG9iZXIgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CiszNiAgICAgICAgICAgICAyNDQgMjQ1IDI0NiAyNDcgICA0MCAgICAgICAgICAgICAgICAgICAgIDI3NCAyNzUgICAKKzM3IDI0OCAyNDkgMjUwIDI1MSAyNTIgMjUzIDI1NCAgIDQxIDI3NiAyNzcgMjc4IDI3OSAyODAgMjgxIDI4MiAgIAorMzggMjU1IDI1NiAyNTcgMjU4IDI1OSAyNjAgMjYxICAgNDIgMjgzIDI4NCAyODUgMjg2IDI4NyAyODggMjg5ICAgCiszOSAyNjIgMjYzIDI2NCAyNjUgMjY2IDI2NyAyNjggICA0MyAyOTAgMjkxIDI5MiAyOTMgMjk0IDI5NSAyOTYgICAKKzQwIDI2OSAyNzAgMjcxIDI3MiAyNzMgICAgICAgICAgIDQ0IDI5NyAyOTggMjk5IDMwMCAzMDEgMzAyIDMwMyAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDUgMzA0ICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgIE5vdmVtYmVyICAgICAgICAgICAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorNDUgICAgIDMwNSAzMDYgMzA3IDMwOCAzMDkgMzEwICAgNDkgICAgICAgICAgICAgMzM1IDMzNiAzMzcgMzM4ICAgCis0NiAzMTEgMzEyIDMxMyAzMTQgMzE1IDMxNiAzMTcgICA1MCAzMzkgMzQwIDM0MSAzNDIgMzQzIDM0NCAzNDUgICAKKzQ3IDMxOCAzMTkgMzIwIDMyMSAzMjIgMzIzIDMyNCAgIDUxIDM0NiAzNDcgMzQ4IDM0OSAzNTAgMzUxIDM1MiAgIAorNDggMzI1IDMyNiAzMjcgMzI4IDMyOSAzMzAgMzMxICAgNTIgMzUzIDM1NCAzNTUgMzU2IDM1NyAzNTggMzU5ICAgCis0OSAzMzIgMzMzIDMzNCAgICAgICAgICAgICAgICAgICA1MyAzNjAgMzYxIDM2MiAzNjMgMzY0IDM2NSAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCitHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyAtIDMgbW9udGggMjAxMAorICAgICBEZWNlbWJlciAyMDA5ICAgICAgICAgICAgIEphbnVhcnkgMjAxMCAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMTAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorNDkgICAgIDEgIDIgIDMgIDQgIDUgIDYgIDUzICAgICAgICAgICAgICAxICAyICAzICAgNSAgMSAgMiAgMyAgNCAgNSAgNiAgNyAKKzUwICA3ICA4ICA5IDEwIDExIDEyIDEzICAgMSAgNCAgNSAgNiAgNyAgOCAgOSAxMCAgIDYgIDggIDkgMTAgMTEgMTIgMTMgMTQgCis1MSAxNCAxNSAxNiAxNyAxOCAxOSAyMCAgIDIgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICA3IDE1IDE2IDE3IDE4IDE5IDIwIDIxIAorNTIgMjEgMjIgMjMgMjQgMjUgMjYgMjcgICAzIDE4IDE5IDIwIDIxIDIyIDIzIDI0ICAgOCAyMiAyMyAyNCAyNSAyNiAyNyAyOCAKKzUzIDI4IDI5IDMwIDMxICAgICAgICAgICAgNCAyNSAyNiAyNyAyOCAyOSAzMCAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMgLSAzIG1vbnRoIDIwMTAKKyAgICAgRGVjZW1iZXIgMjAwOSAgICAgICAgICAgICBKYW51YXJ5IDIwMTAgICAgICAgICAgICBGZWJydWFyeSAyMDEwICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzQ5ICAgICAgICAxICAyICAzICA0ICA1ICAgMSAgICAgICAgICAgICAgICAgMSAgMiAgIDYgICAgIDEgIDIgIDMgIDQgIDUgIDYgCis1MCAgNiAgNyAgOCAgOSAxMCAxMSAxMiAgIDIgIDMgIDQgIDUgIDYgIDcgIDggIDkgICA3ICA3ICA4ICA5IDEwIDExIDEyIDEzIAorNTEgMTMgMTQgMTUgMTYgMTcgMTggMTkgICAzIDEwIDExIDEyIDEzIDE0IDE1IDE2ICAgOCAxNCAxNSAxNiAxNyAxOCAxOSAyMCAKKzUyIDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgNCAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgIDkgMjEgMjIgMjMgMjQgMjUgMjYgMjcgCis1MyAyNyAyOCAyOSAzMCAzMSAgICAgICAgIDUgMjQgMjUgMjYgMjcgMjggMjkgMzAgIDEwIDI4ICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICA2IDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK0p1bGlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIC0gMyBtb250aCAyMDEwCisgICAgICAgICBEZWNlbWJlciAyMDA5ICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxMCAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgMjAxMCAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCis0OSAgICAgMzM1IDMzNiAzMzcgMzM4IDMzOSAzNDAgIDUzICAgICAgICAgICAgICAgICAgIDEgICAyICAgMyAgIDUgIDMyICAzMyAgMzQgIDM1ICAzNiAgMzcgIDM4IAorNTAgMzQxIDM0MiAzNDMgMzQ0IDM0NSAzNDYgMzQ3ICAgMSAgIDQgICA1ICAgNiAgIDcgICA4ICAgOSAgMTAgICA2ICAzOSAgNDAgIDQxICA0MiAgNDMgIDQ0ICA0NSAKKzUxIDM0OCAzNDkgMzUwIDM1MSAzNTIgMzUzIDM1NCAgIDIgIDExICAxMiAgMTMgIDE0ICAxNSAgMTYgIDE3ICAgNyAgNDYgIDQ3ICA0OCAgNDkgIDUwICA1MSAgNTIgCis1MiAzNTUgMzU2IDM1NyAzNTggMzU5IDM2MCAzNjEgICAzICAxOCAgMTkgIDIwICAyMSAgMjIgIDIzICAyNCAgIDggIDUzICA1NCAgNTUgIDU2ICA1NyAgNTggIDU5IAorNTMgMzYyIDM2MyAzNjQgMzY1ICAgICAgICAgICAgICAgNCAgMjUgIDI2ICAyNyAgMjggIDI5ICAzMCAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCitKdWxpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyAtIDMgbW9udGggMjAxMAorICAgICAgICAgRGVjZW1iZXIgMjAwOSAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDIwMTAgICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMTAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorNDkgICAgICAgICAzMzUgMzM2IDMzNyAzMzggMzM5ICAgMSAgICAgICAgICAgICAgICAgICAgICAgMSAgIDIgICA2ICAgICAgMzIgIDMzICAzNCAgMzUgIDM2ICAzNyAKKzUwIDM0MCAzNDEgMzQyIDM0MyAzNDQgMzQ1IDM0NiAgIDIgICAzICAgNCAgIDUgICA2ICAgNyAgIDggICA5ICAgNyAgMzggIDM5ICA0MCAgNDEgIDQyICA0MyAgNDQgCis1MSAzNDcgMzQ4IDM0OSAzNTAgMzUxIDM1MiAzNTMgICAzICAxMCAgMTEgIDEyICAxMyAgMTQgIDE1ICAxNiAgIDggIDQ1ICA0NiAgNDcgIDQ4ICA0OSAgNTAgIDUxIAorNTIgMzU0IDM1NSAzNTYgMzU3IDM1OCAzNTkgMzYwICAgNCAgMTcgIDE4ICAxOSAgMjAgIDIxICAyMiAgMjMgICA5ICA1MiAgNTMgIDU0ICA1NSAgNTYgIDU3ICA1OCAKKzUzIDM2MSAzNjIgMzYzIDM2NCAzNjUgICAgICAgICAgIDUgIDI0ICAyNSAgMjYgIDI3ICAyOCAgMjkgIDMwICAxMCAgNTkgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2ICAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMgLSB5ZWFyIDIwMTEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgICAgICAgICAgTWFyY2ggICAgICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorNTIgICAgICAgICAgICAgICAgIDEgIDIgICAgNSAgICAgMSAgMiAgMyAgNCAgNSAgNiAgICA5ICAgICAxICAyICAzICA0ICA1ICA2ICAgCisgMSAgMyAgNCAgNSAgNiAgNyAgOCAgOSAgICA2ICA3ICA4ICA5IDEwIDExIDEyIDEzICAgMTAgIDcgIDggIDkgMTAgMTEgMTIgMTMgICAKKyAyIDEwIDExIDEyIDEzIDE0IDE1IDE2ICAgIDcgMTQgMTUgMTYgMTcgMTggMTkgMjAgICAxMSAxNCAxNSAxNiAxNyAxOCAxOSAyMCAgIAorIDMgMTcgMTggMTkgMjAgMjEgMjIgMjMgICAgOCAyMSAyMiAyMyAyNCAyNSAyNiAyNyAgIDEyIDIxIDIyIDIzIDI0IDI1IDI2IDI3ICAgCisgNCAyNCAyNSAyNiAyNyAyOCAyOSAzMCAgICA5IDI4ICAgICAgICAgICAgICAgICAgICAgMTMgMjggMjkgMzAgMzEgICAgICAgICAgICAKKyA1IDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgQXByaWwgICAgICAgICAgICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKzEzICAgICAgICAgICAgICAxICAyICAzICAgMTcgICAgICAgICAgICAgICAgICAgIDEgICAyMiAgICAgICAgMSAgMiAgMyAgNCAgNSAgIAorMTQgIDQgIDUgIDYgIDcgIDggIDkgMTAgICAxOCAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgIDIzICA2ICA3ICA4ICA5IDEwIDExIDEyICAgCisxNSAxMSAxMiAxMyAxNCAxNSAxNiAxNyAgIDE5ICA5IDEwIDExIDEyIDEzIDE0IDE1ICAgMjQgMTMgMTQgMTUgMTYgMTcgMTggMTkgICAKKzE2IDE4IDE5IDIwIDIxIDIyIDIzIDI0ICAgMjAgMTYgMTcgMTggMTkgMjAgMjEgMjIgICAyNSAyMCAyMSAyMiAyMyAyNCAyNSAyNiAgIAorMTcgMjUgMjYgMjcgMjggMjkgMzAgICAgICAyMSAyMyAyNCAyNSAyNiAyNyAyOCAyOSAgIDI2IDI3IDI4IDI5IDMwICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgIDIyIDMwIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgICAgICAgU2VwdGVtYmVyICAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CisyNiAgICAgICAgICAgICAgMSAgMiAgMyAgIDMxICAxICAyICAzICA0ICA1ICA2ICA3ICAgMzUgICAgICAgICAgIDEgIDIgIDMgIDQgICAKKzI3ICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgMzIgIDggIDkgMTAgMTEgMTIgMTMgMTQgICAzNiAgNSAgNiAgNyAgOCAgOSAxMCAxMSAgIAorMjggMTEgMTIgMTMgMTQgMTUgMTYgMTcgICAzMyAxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIDM3IDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgCisyOSAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgIDM0IDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgMzggMTkgMjAgMjEgMjIgMjMgMjQgMjUgICAKKzMwIDI1IDI2IDI3IDI4IDI5IDMwIDMxICAgMzUgMjkgMzAgMzEgICAgICAgICAgICAgICAzOSAyNiAyNyAyOCAyOSAzMCAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgIE9jdG9iZXIgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorMzkgICAgICAgICAgICAgICAgIDEgIDIgICA0NCAgICAgMSAgMiAgMyAgNCAgNSAgNiAgIDQ4ICAgICAgICAgICAxICAyICAzICA0ICAgCis0MCAgMyAgNCAgNSAgNiAgNyAgOCAgOSAgIDQ1ICA3ICA4ICA5IDEwIDExIDEyIDEzICAgNDkgIDUgIDYgIDcgIDggIDkgMTAgMTEgICAKKzQxIDEwIDExIDEyIDEzIDE0IDE1IDE2ICAgNDYgMTQgMTUgMTYgMTcgMTggMTkgMjAgICA1MCAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIAorNDIgMTcgMTggMTkgMjAgMjEgMjIgMjMgICA0NyAyMSAyMiAyMyAyNCAyNSAyNiAyNyAgIDUxIDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgCis0MyAyNCAyNSAyNiAyNyAyOCAyOSAzMCAgIDQ4IDI4IDI5IDMwICAgICAgICAgICAgICAgNTIgMjYgMjcgMjggMjkgMzAgMzEgICAgICAKKzQ0IDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCitHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyAtIHllYXIgMjAxMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAxMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgICAgICAgICBNYXJjaCAgICAgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCisgMSAgICAgICAgICAgICAgICAgICAgMSAgICA2ICAgICAgICAxICAyICAzICA0ICA1ICAgMTAgICAgICAgIDEgIDIgIDMgIDQgIDUgICAKKyAyICAyICAzICA0ICA1ICA2ICA3ICA4ICAgIDcgIDYgIDcgIDggIDkgMTAgMTEgMTIgICAxMSAgNiAgNyAgOCAgOSAxMCAxMSAxMiAgIAorIDMgIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAgOCAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgIDEyIDEzIDE0IDE1IDE2IDE3IDE4IDE5ICAgCisgNCAxNiAxNyAxOCAxOSAyMCAyMSAyMiAgICA5IDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgMTMgMjAgMjEgMjIgMjMgMjQgMjUgMjYgICAKKyA1IDIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgMTAgMjcgMjggICAgICAgICAgICAgICAgICAxNCAyNyAyOCAyOSAzMCAzMSAgICAgICAgIAorIDYgMzAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICBBcHJpbCAgICAgICAgICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorMTQgICAgICAgICAgICAgICAgIDEgIDIgICAxOSAgMSAgMiAgMyAgNCAgNSAgNiAgNyAgIDIzICAgICAgICAgICAxICAyICAzICA0ICAgCisxNSAgMyAgNCAgNSAgNiAgNyAgOCAgOSAgIDIwICA4ICA5IDEwIDExIDEyIDEzIDE0ICAgMjQgIDUgIDYgIDcgIDggIDkgMTAgMTEgICAKKzE2IDEwIDExIDEyIDEzIDE0IDE1IDE2ICAgMjEgMTUgMTYgMTcgMTggMTkgMjAgMjEgICAyNSAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIAorMTcgMTcgMTggMTkgMjAgMjEgMjIgMjMgICAyMiAyMiAyMyAyNCAyNSAyNiAyNyAyOCAgIDI2IDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgCisxOCAyNCAyNSAyNiAyNyAyOCAyOSAzMCAgIDIzIDI5IDMwIDMxICAgICAgICAgICAgICAgMjcgMjYgMjcgMjggMjkgMzAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAgICAgICBTZXB0ZW1iZXIgICAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzI3ICAgICAgICAgICAgICAgICAxICAyICAgMzIgICAgIDEgIDIgIDMgIDQgIDUgIDYgICAzNiAgICAgICAgICAgICAgMSAgMiAgMyAgIAorMjggIDMgIDQgIDUgIDYgIDcgIDggIDkgICAzMyAgNyAgOCAgOSAxMCAxMSAxMiAxMyAgIDM3ICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgCisyOSAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgIDM0IDE0IDE1IDE2IDE3IDE4IDE5IDIwICAgMzggMTEgMTIgMTMgMTQgMTUgMTYgMTcgICAKKzMwIDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgMzUgMjEgMjIgMjMgMjQgMjUgMjYgMjcgICAzOSAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgIAorMzEgMjQgMjUgMjYgMjcgMjggMjkgMzAgICAzNiAyOCAyOSAzMCAzMSAgICAgICAgICAgIDQwIDI1IDI2IDI3IDI4IDI5IDMwICAgICAgCiszMiAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgT2N0b2JlciAgICAgICAgICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCis0MCAgICAgICAgICAgICAgICAgICAgMSAgIDQ1ICAgICAgICAxICAyICAzICA0ICA1ICAgNDkgICAgICAgICAgICAgIDEgIDIgIDMgICAKKzQxICAyICAzICA0ICA1ICA2ICA3ICA4ICAgNDYgIDYgIDcgIDggIDkgMTAgMTEgMTIgICA1MCAgNCAgNSAgNiAgNyAgOCAgOSAxMCAgIAorNDIgIDkgMTAgMTEgMTIgMTMgMTQgMTUgICA0NyAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgIDUxIDExIDEyIDEzIDE0IDE1IDE2IDE3ICAgCis0MyAxNiAxNyAxOCAxOSAyMCAyMSAyMiAgIDQ4IDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgNTIgMTggMTkgMjAgMjEgMjIgMjMgMjQgICAKKzQ0IDIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgNDkgMjcgMjggMjkgMzAgICAgICAgICAgICA1MyAyNSAyNiAyNyAyOCAyOSAzMCAzMSAgIAorNDUgMzAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKK0p1bGlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIC0geWVhciAyMDExCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDExICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAgICAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzUyICAgICAgICAgICAgICAgICAgICAgICAxICAgMiAgICA1ICAgICAgMzIgIDMzICAzNCAgMzUgIDM2ICAzNyAgIAorIDEgICAzICAgNCAgIDUgICA2ICAgNyAgIDggICA5ICAgIDYgIDM4ICAzOSAgNDAgIDQxICA0MiAgNDMgIDQ0ICAgCisgMiAgMTAgIDExICAxMiAgMTMgIDE0ICAxNSAgMTYgICAgNyAgNDUgIDQ2ICA0NyAgNDggIDQ5ICA1MCAgNTEgICAKKyAzICAxNyAgMTggIDE5ICAyMCAgMjEgIDIyICAyMyAgICA4ICA1MiAgNTMgIDU0ICA1NSAgNTYgIDU3ICA1OCAgIAorIDQgIDI0ICAyNSAgMjYgIDI3ICAyOCAgMjkgIDMwICAgIDkgIDU5ICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgNSAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICBNYXJjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcHJpbCAgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisgOSAgICAgIDYwICA2MSAgNjIgIDYzICA2NCAgNjUgICAxMyAgICAgICAgICAgICAgICAgIDkxICA5MiAgOTMgICAKKzEwICA2NiAgNjcgIDY4ICA2OSAgNzAgIDcxICA3MiAgIDE0ICA5NCAgOTUgIDk2ICA5NyAgOTggIDk5IDEwMCAgIAorMTEgIDczICA3NCAgNzUgIDc2ICA3NyAgNzggIDc5ICAgMTUgMTAxIDEwMiAxMDMgMTA0IDEwNSAxMDYgMTA3ICAgCisxMiAgODAgIDgxICA4MiAgODMgIDg0ICA4NSAgODYgICAxNiAxMDggMTA5IDExMCAxMTEgMTEyIDExMyAxMTQgICAKKzEzICA4NyAgODggIDg5ICA5MCAgICAgICAgICAgICAgIDE3IDExNSAxMTYgMTE3IDExOCAxMTkgMTIwICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorMTcgICAgICAgICAgICAgICAgICAgICAgICAgMTIxICAgMjIgICAgICAgICAxNTIgMTUzIDE1NCAxNTUgMTU2ICAgCisxOCAxMjIgMTIzIDEyNCAxMjUgMTI2IDEyNyAxMjggICAyMyAxNTcgMTU4IDE1OSAxNjAgMTYxIDE2MiAxNjMgICAKKzE5IDEyOSAxMzAgMTMxIDEzMiAxMzMgMTM0IDEzNSAgIDI0IDE2NCAxNjUgMTY2IDE2NyAxNjggMTY5IDE3MCAgIAorMjAgMTM2IDEzNyAxMzggMTM5IDE0MCAxNDEgMTQyICAgMjUgMTcxIDE3MiAxNzMgMTc0IDE3NSAxNzYgMTc3ICAgCisyMSAxNDMgMTQ0IDE0NSAxNDYgMTQ3IDE0OCAxNDkgICAyNiAxNzggMTc5IDE4MCAxODEgICAgICAgICAgICAgICAKKzIyIDE1MCAxNTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzI2ICAgICAgICAgICAgICAgICAxODIgMTgzIDE4NCAgIDMxIDIxMyAyMTQgMjE1IDIxNiAyMTcgMjE4IDIxOSAgIAorMjcgMTg1IDE4NiAxODcgMTg4IDE4OSAxOTAgMTkxICAgMzIgMjIwIDIyMSAyMjIgMjIzIDIyNCAyMjUgMjI2ICAgCisyOCAxOTIgMTkzIDE5NCAxOTUgMTk2IDE5NyAxOTggICAzMyAyMjcgMjI4IDIyOSAyMzAgMjMxIDIzMiAyMzMgICAKKzI5IDE5OSAyMDAgMjAxIDIwMiAyMDMgMjA0IDIwNSAgIDM0IDIzNCAyMzUgMjM2IDIzNyAyMzggMjM5IDI0MCAgIAorMzAgMjA2IDIwNyAyMDggMjA5IDIxMCAyMTEgMjEyICAgMzUgMjQxIDI0MiAyNDMgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgU2VwdGVtYmVyICAgICAgICAgICAgICAgICAgICAgICAgIE9jdG9iZXIgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCiszNSAgICAgICAgICAgICAyNDQgMjQ1IDI0NiAyNDcgICAzOSAgICAgICAgICAgICAgICAgICAgIDI3NCAyNzUgICAKKzM2IDI0OCAyNDkgMjUwIDI1MSAyNTIgMjUzIDI1NCAgIDQwIDI3NiAyNzcgMjc4IDI3OSAyODAgMjgxIDI4MiAgIAorMzcgMjU1IDI1NiAyNTcgMjU4IDI1OSAyNjAgMjYxICAgNDEgMjgzIDI4NCAyODUgMjg2IDI4NyAyODggMjg5ICAgCiszOCAyNjIgMjYzIDI2NCAyNjUgMjY2IDI2NyAyNjggICA0MiAyOTAgMjkxIDI5MiAyOTMgMjk0IDI5NSAyOTYgICAKKzM5IDI2OSAyNzAgMjcxIDI3MiAyNzMgICAgICAgICAgIDQzIDI5NyAyOTggMjk5IDMwMCAzMDEgMzAyIDMwMyAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDQgMzA0ICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgIE5vdmVtYmVyICAgICAgICAgICAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorNDQgICAgIDMwNSAzMDYgMzA3IDMwOCAzMDkgMzEwICAgNDggICAgICAgICAgICAgMzM1IDMzNiAzMzcgMzM4ICAgCis0NSAzMTEgMzEyIDMxMyAzMTQgMzE1IDMxNiAzMTcgICA0OSAzMzkgMzQwIDM0MSAzNDIgMzQzIDM0NCAzNDUgICAKKzQ2IDMxOCAzMTkgMzIwIDMyMSAzMjIgMzIzIDMyNCAgIDUwIDM0NiAzNDcgMzQ4IDM0OSAzNTAgMzUxIDM1MiAgIAorNDcgMzI1IDMyNiAzMjcgMzI4IDMyOSAzMzAgMzMxICAgNTEgMzUzIDM1NCAzNTUgMzU2IDM1NyAzNTggMzU5ICAgCis0OCAzMzIgMzMzIDMzNCAgICAgICAgICAgICAgICAgICA1MiAzNjAgMzYxIDM2MiAzNjMgMzY0IDM2NSAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCitKdWxpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyAtIHllYXIgMjAxMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAxMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisgMSAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgICAgNiAgICAgICAgICAzMiAgMzMgIDM0ICAzNSAgMzYgICAKKyAyICAgMiAgIDMgICA0ICAgNSAgIDYgICA3ICAgOCAgICA3ICAzNyAgMzggIDM5ICA0MCAgNDEgIDQyICA0MyAgIAorIDMgICA5ICAxMCAgMTEgIDEyICAxMyAgMTQgIDE1ICAgIDggIDQ0ICA0NSAgNDYgIDQ3ICA0OCAgNDkgIDUwICAgCisgNCAgMTYgIDE3ICAxOCAgMTkgIDIwICAyMSAgMjIgICAgOSAgNTEgIDUyICA1MyAgNTQgIDU1ICA1NiAgNTcgICAKKyA1ICAyMyAgMjQgIDI1ICAyNiAgMjcgIDI4ICAyOSAgIDEwICA1OCAgNTkgICAgICAgICAgICAgICAgICAgICAgIAorIDYgIDMwICAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgTWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgQXByaWwgICAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorMTAgICAgICAgICAgNjAgIDYxICA2MiAgNjMgIDY0ICAgMTQgICAgICAgICAgICAgICAgICAgICAgOTEgIDkyICAgCisxMSAgNjUgIDY2ICA2NyAgNjggIDY5ICA3MCAgNzEgICAxNSAgOTMgIDk0ICA5NSAgOTYgIDk3ICA5OCAgOTkgICAKKzEyICA3MiAgNzMgIDc0ICA3NSAgNzYgIDc3ICA3OCAgIDE2IDEwMCAxMDEgMTAyIDEwMyAxMDQgMTA1IDEwNiAgIAorMTMgIDc5ICA4MCAgODEgIDgyICA4MyAgODQgIDg1ICAgMTcgMTA3IDEwOCAxMDkgMTEwIDExMSAxMTIgMTEzICAgCisxNCAgODYgIDg3ICA4OCAgODkgIDkwICAgICAgICAgICAxOCAxMTQgMTE1IDExNiAxMTcgMTE4IDExOSAxMjAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzE5IDEyMSAxMjIgMTIzIDEyNCAxMjUgMTI2IDEyNyAgIDIzICAgICAgICAgICAgIDE1MiAxNTMgMTU0IDE1NSAgIAorMjAgMTI4IDEyOSAxMzAgMTMxIDEzMiAxMzMgMTM0ICAgMjQgMTU2IDE1NyAxNTggMTU5IDE2MCAxNjEgMTYyICAgCisyMSAxMzUgMTM2IDEzNyAxMzggMTM5IDE0MCAxNDEgICAyNSAxNjMgMTY0IDE2NSAxNjYgMTY3IDE2OCAxNjkgICAKKzIyIDE0MiAxNDMgMTQ0IDE0NSAxNDYgMTQ3IDE0OCAgIDI2IDE3MCAxNzEgMTcyIDE3MyAxNzQgMTc1IDE3NiAgIAorMjMgMTQ5IDE1MCAxNTEgICAgICAgICAgICAgICAgICAgMjcgMTc3IDE3OCAxNzkgMTgwIDE4MSAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1Z3VzdCAgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisyNyAgICAgICAgICAgICAgICAgICAgIDE4MiAxODMgICAzMiAgICAgMjEzIDIxNCAyMTUgMjE2IDIxNyAyMTggICAKKzI4IDE4NCAxODUgMTg2IDE4NyAxODggMTg5IDE5MCAgIDMzIDIxOSAyMjAgMjIxIDIyMiAyMjMgMjI0IDIyNSAgIAorMjkgMTkxIDE5MiAxOTMgMTk0IDE5NSAxOTYgMTk3ICAgMzQgMjI2IDIyNyAyMjggMjI5IDIzMCAyMzEgMjMyICAgCiszMCAxOTggMTk5IDIwMCAyMDEgMjAyIDIwMyAyMDQgICAzNSAyMzMgMjM0IDIzNSAyMzYgMjM3IDIzOCAyMzkgICAKKzMxIDIwNSAyMDYgMjA3IDIwOCAyMDkgMjEwIDIxMSAgIDM2IDI0MCAyNDEgMjQyIDI0MyAgICAgICAgICAgICAgIAorMzIgMjEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgIFNlcHRlbWJlciAgICAgICAgICAgICAgICAgICAgICAgICBPY3RvYmVyICAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorMzYgICAgICAgICAgICAgICAgIDI0NCAyNDUgMjQ2ICAgNDAgICAgICAgICAgICAgICAgICAgICAgICAgMjc0ICAgCiszNyAyNDcgMjQ4IDI0OSAyNTAgMjUxIDI1MiAyNTMgICA0MSAyNzUgMjc2IDI3NyAyNzggMjc5IDI4MCAyODEgICAKKzM4IDI1NCAyNTUgMjU2IDI1NyAyNTggMjU5IDI2MCAgIDQyIDI4MiAyODMgMjg0IDI4NSAyODYgMjg3IDI4OCAgIAorMzkgMjYxIDI2MiAyNjMgMjY0IDI2NSAyNjYgMjY3ICAgNDMgMjg5IDI5MCAyOTEgMjkyIDI5MyAyOTQgMjk1ICAgCis0MCAyNjggMjY5IDI3MCAyNzEgMjcyIDI3MyAgICAgICA0NCAyOTYgMjk3IDI5OCAyOTkgMzAwIDMwMSAzMDIgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ1IDMwMyAzMDQgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzQ1ICAgICAgICAgMzA1IDMwNiAzMDcgMzA4IDMwOSAgIDQ5ICAgICAgICAgICAgICAgICAzMzUgMzM2IDMzNyAgIAorNDYgMzEwIDMxMSAzMTIgMzEzIDMxNCAzMTUgMzE2ICAgNTAgMzM4IDMzOSAzNDAgMzQxIDM0MiAzNDMgMzQ0ICAgCis0NyAzMTcgMzE4IDMxOSAzMjAgMzIxIDMyMiAzMjMgICA1MSAzNDUgMzQ2IDM0NyAzNDggMzQ5IDM1MCAzNTEgICAKKzQ4IDMyNCAzMjUgMzI2IDMyNyAzMjggMzI5IDMzMCAgIDUyIDM1MiAzNTMgMzU0IDM1NSAzNTYgMzU3IDM1OCAgIAorNDkgMzMxIDMzMiAzMzMgMzM0ICAgICAgICAgICAgICAgNTMgMzU5IDM2MCAzNjEgMzYyIDM2MyAzNjQgMzY1ICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMgLSAzIG1vbnRoIDIwMTEKKyAgICAgRGVjZW1iZXIgMjAxMCAgICAgICAgICAgICBKYW51YXJ5IDIwMTEgICAgICAgICAgICBGZWJydWFyeSAyMDExICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKzQ4ICAgICAgICAxICAyICAzICA0ICA1ICA1MiAgICAgICAgICAgICAgICAgMSAgMiAgIDUgICAgIDEgIDIgIDMgIDQgIDUgIDYgCis0OSAgNiAgNyAgOCAgOSAxMCAxMSAxMiAgIDEgIDMgIDQgIDUgIDYgIDcgIDggIDkgICA2ICA3ICA4ICA5IDEwIDExIDEyIDEzIAorNTAgMTMgMTQgMTUgMTYgMTcgMTggMTkgICAyIDEwIDExIDEyIDEzIDE0IDE1IDE2ICAgNyAxNCAxNSAxNiAxNyAxOCAxOSAyMCAKKzUxIDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgMyAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgIDggMjEgMjIgMjMgMjQgMjUgMjYgMjcgCis1MiAyNyAyOCAyOSAzMCAzMSAgICAgICAgIDQgMjQgMjUgMjYgMjcgMjggMjkgMzAgICA5IDI4ICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICA1IDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK0dyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIC0gMyBtb250aCAyMDExCisgICAgIERlY2VtYmVyIDIwMTAgICAgICAgICAgICAgSmFudWFyeSAyMDExICAgICAgICAgICAgRmVicnVhcnkgMjAxMSAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCis0OSAgICAgICAgICAgMSAgMiAgMyAgNCAgIDEgICAgICAgICAgICAgICAgICAgIDEgICA2ICAgICAgICAxICAyICAzICA0ICA1IAorNTAgIDUgIDYgIDcgIDggIDkgMTAgMTEgICAyICAyICAzICA0ICA1ICA2ICA3ICA4ICAgNyAgNiAgNyAgOCAgOSAxMCAxMSAxMiAKKzUxIDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgMyAgOSAxMCAxMSAxMiAxMyAxNCAxNSAgIDggMTMgMTQgMTUgMTYgMTcgMTggMTkgCis1MiAxOSAyMCAyMSAyMiAyMyAyNCAyNSAgIDQgMTYgMTcgMTggMTkgMjAgMjEgMjIgICA5IDIwIDIxIDIyIDIzIDI0IDI1IDI2IAorNTMgMjYgMjcgMjggMjkgMzAgMzEgICAgICA1IDIzIDI0IDI1IDI2IDI3IDI4IDI5ICAxMCAyNyAyOCAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgNiAzMCAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCitKdWxpYW4gLSBNb25kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyAtIDMgbW9udGggMjAxMQorICAgICAgICAgRGVjZW1iZXIgMjAxMCAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDIwMTEgICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMTEgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorNDggICAgICAgICAzMzUgMzM2IDMzNyAzMzggMzM5ICA1MiAgICAgICAgICAgICAgICAgICAgICAgMSAgIDIgICA1ICAgICAgMzIgIDMzICAzNCAgMzUgIDM2ICAzNyAKKzQ5IDM0MCAzNDEgMzQyIDM0MyAzNDQgMzQ1IDM0NiAgIDEgICAzICAgNCAgIDUgICA2ICAgNyAgIDggICA5ICAgNiAgMzggIDM5ICA0MCAgNDEgIDQyICA0MyAgNDQgCis1MCAzNDcgMzQ4IDM0OSAzNTAgMzUxIDM1MiAzNTMgICAyICAxMCAgMTEgIDEyICAxMyAgMTQgIDE1ICAxNiAgIDcgIDQ1ICA0NiAgNDcgIDQ4ICA0OSAgNTAgIDUxIAorNTEgMzU0IDM1NSAzNTYgMzU3IDM1OCAzNTkgMzYwICAgMyAgMTcgIDE4ICAxOSAgMjAgIDIxICAyMiAgMjMgICA4ICA1MiAgNTMgIDU0ICA1NSAgNTYgIDU3ICA1OCAKKzUyIDM2MSAzNjIgMzYzIDM2NCAzNjUgICAgICAgICAgIDQgIDI0ICAyNSAgMjYgIDI3ICAyOCAgMjkgIDMwICAgOSAgNTkgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1ICAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorSnVsaWFuIC0gU3VuZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMgLSAzIG1vbnRoIDIwMTEKKyAgICAgICAgIERlY2VtYmVyIDIwMTAgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDExICAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAyMDExICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzQ5ICAgICAgICAgICAgIDMzNSAzMzYgMzM3IDMzOCAgIDEgICAgICAgICAgICAgICAgICAgICAgICAgICAxICAgNiAgICAgICAgICAzMiAgMzMgIDM0ICAzNSAgMzYgCis1MCAzMzkgMzQwIDM0MSAzNDIgMzQzIDM0NCAzNDUgICAyICAgMiAgIDMgICA0ICAgNSAgIDYgICA3ICAgOCAgIDcgIDM3ICAzOCAgMzkgIDQwICA0MSAgNDIgIDQzIAorNTEgMzQ2IDM0NyAzNDggMzQ5IDM1MCAzNTEgMzUyICAgMyAgIDkgIDEwICAxMSAgMTIgIDEzICAxNCAgMTUgICA4ICA0NCAgNDUgIDQ2ICA0NyAgNDggIDQ5ICA1MCAKKzUyIDM1MyAzNTQgMzU1IDM1NiAzNTcgMzU4IDM1OSAgIDQgIDE2ICAxNyAgMTggIDE5ICAyMCAgMjEgIDIyICAgOSAgNTEgIDUyICA1MyAgNTQgIDU1ICA1NiAgNTcgCis1MyAzNjAgMzYxIDM2MiAzNjMgMzY0IDM2NSAgICAgICA1ICAyMyAgMjQgIDI1ICAyNiAgMjcgIDI4ICAyOSAgMTAgIDU4ICA1OSAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNiAgMzAgIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK0dyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIC0geWVhciAyMDEyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAgICAgICBKYW51YXJ5ICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5ICAgICAgICAgICAgICAgICAgIE1hcmNoICAgICAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKzUyICAgICAgICAgICAgICAgICAgICAxICAgIDUgICAgICAgIDEgIDIgIDMgIDQgIDUgICAgOSAgICAgICAgICAgMSAgMiAgMyAgNCAgIAorIDEgIDIgIDMgIDQgIDUgIDYgIDcgIDggICAgNiAgNiAgNyAgOCAgOSAxMCAxMSAxMiAgIDEwICA1ICA2ICA3ICA4ICA5IDEwIDExICAgCisgMiAgOSAxMCAxMSAxMiAxMyAxNCAxNSAgICA3IDEzIDE0IDE1IDE2IDE3IDE4IDE5ICAgMTEgMTIgMTMgMTQgMTUgMTYgMTcgMTggICAKKyAzIDE2IDE3IDE4IDE5IDIwIDIxIDIyICAgIDggMjAgMjEgMjIgMjMgMjQgMjUgMjYgICAxMiAxOSAyMCAyMSAyMiAyMyAyNCAyNSAgIAorIDQgMjMgMjQgMjUgMjYgMjcgMjggMjkgICAgOSAyNyAyOCAyOSAgICAgICAgICAgICAgIDEzIDI2IDI3IDI4IDI5IDMwIDMxICAgICAgCisgNSAzMCAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgIEFwcmlsICAgICAgICAgICAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CisxMyAgICAgICAgICAgICAgICAgICAgMSAgIDE4ICAgICAxICAyICAzICA0ICA1ICA2ICAgMjIgICAgICAgICAgICAgIDEgIDIgIDMgICAKKzE0ICAyICAzICA0ICA1ICA2ICA3ICA4ICAgMTkgIDcgIDggIDkgMTAgMTEgMTIgMTMgICAyMyAgNCAgNSAgNiAgNyAgOCAgOSAxMCAgIAorMTUgIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAyMCAxNCAxNSAxNiAxNyAxOCAxOSAyMCAgIDI0IDExIDEyIDEzIDE0IDE1IDE2IDE3ICAgCisxNiAxNiAxNyAxOCAxOSAyMCAyMSAyMiAgIDIxIDIxIDIyIDIzIDI0IDI1IDI2IDI3ICAgMjUgMTggMTkgMjAgMjEgMjIgMjMgMjQgICAKKzE3IDIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgMjIgMjggMjkgMzAgMzEgICAgICAgICAgICAyNiAyNSAyNiAyNyAyOCAyOSAzMCAgICAgIAorMTggMzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgSnVseSAgICAgICAgICAgICAgICAgICAgIEF1Z3VzdCAgICAgICAgICAgICAgICAgIFNlcHRlbWJlciAgICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorMjYgICAgICAgICAgICAgICAgICAgIDEgICAzMSAgICAgICAgMSAgMiAgMyAgNCAgNSAgIDM1ICAgICAgICAgICAgICAgICAxICAyICAgCisyNyAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgIDMyICA2ICA3ICA4ICA5IDEwIDExIDEyICAgMzYgIDMgIDQgIDUgIDYgIDcgIDggIDkgICAKKzI4ICA5IDEwIDExIDEyIDEzIDE0IDE1ICAgMzMgMTMgMTQgMTUgMTYgMTcgMTggMTkgICAzNyAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgIAorMjkgMTYgMTcgMTggMTkgMjAgMjEgMjIgICAzNCAyMCAyMSAyMiAyMyAyNCAyNSAyNiAgIDM4IDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgCiszMCAyMyAyNCAyNSAyNiAyNyAyOCAyOSAgIDM1IDI3IDI4IDI5IDMwIDMxICAgICAgICAgMzkgMjQgMjUgMjYgMjcgMjggMjkgMzAgICAKKzMxIDMwIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICBPY3RvYmVyICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgICAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKzQwICAxICAyICAzICA0ICA1ICA2ICA3ICAgNDQgICAgICAgICAgIDEgIDIgIDMgIDQgICA0OCAgICAgICAgICAgICAgICAgMSAgMiAgIAorNDEgIDggIDkgMTAgMTEgMTIgMTMgMTQgICA0NSAgNSAgNiAgNyAgOCAgOSAxMCAxMSAgIDQ5ICAzICA0ICA1ICA2ICA3ICA4ICA5ICAgCis0MiAxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIDQ2IDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgNTAgMTAgMTEgMTIgMTMgMTQgMTUgMTYgICAKKzQzIDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgNDcgMTkgMjAgMjEgMjIgMjMgMjQgMjUgICA1MSAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgIAorNDQgMjkgMzAgMzEgICAgICAgICAgICAgICA0OCAyNiAyNyAyOCAyOSAzMCAgICAgICAgIDUyIDI0IDI1IDI2IDI3IDI4IDI5IDMwICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgMzEgICAgICAgICAgICAgICAgICAgICAKKworR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMgLSB5ZWFyIDIwMTIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgICAgICAgICAgTWFyY2ggICAgICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorIDEgIDEgIDIgIDMgIDQgIDUgIDYgIDcgICAgNSAgICAgICAgICAgMSAgMiAgMyAgNCAgICA5ICAgICAgICAgICAgICAxICAyICAzICAgCisgMiAgOCAgOSAxMCAxMSAxMiAxMyAxNCAgICA2ICA1ICA2ICA3ICA4ICA5IDEwIDExICAgMTAgIDQgIDUgIDYgIDcgIDggIDkgMTAgICAKKyAzIDE1IDE2IDE3IDE4IDE5IDIwIDIxICAgIDcgMTIgMTMgMTQgMTUgMTYgMTcgMTggICAxMSAxMSAxMiAxMyAxNCAxNSAxNiAxNyAgIAorIDQgMjIgMjMgMjQgMjUgMjYgMjcgMjggICAgOCAxOSAyMCAyMSAyMiAyMyAyNCAyNSAgIDEyIDE4IDE5IDIwIDIxIDIyIDIzIDI0ICAgCisgNSAyOSAzMCAzMSAgICAgICAgICAgICAgICA5IDI2IDI3IDI4IDI5ICAgICAgICAgICAgMTMgMjUgMjYgMjcgMjggMjkgMzAgMzEgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgQXByaWwgICAgICAgICAgICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzE0ICAxICAyICAzICA0ICA1ICA2ICA3ICAgMTggICAgICAgIDEgIDIgIDMgIDQgIDUgICAyMiAgICAgICAgICAgICAgICAgMSAgMiAgIAorMTUgIDggIDkgMTAgMTEgMTIgMTMgMTQgICAxOSAgNiAgNyAgOCAgOSAxMCAxMSAxMiAgIDIzICAzICA0ICA1ICA2ICA3ICA4ICA5ICAgCisxNiAxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIDIwIDEzIDE0IDE1IDE2IDE3IDE4IDE5ICAgMjQgMTAgMTEgMTIgMTMgMTQgMTUgMTYgICAKKzE3IDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgMjEgMjAgMjEgMjIgMjMgMjQgMjUgMjYgICAyNSAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgIAorMTggMjkgMzAgICAgICAgICAgICAgICAgICAyMiAyNyAyOCAyOSAzMCAzMSAgICAgICAgIDI2IDI0IDI1IDI2IDI3IDI4IDI5IDMwICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgICAgICAgU2VwdGVtYmVyICAgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCisyNyAgMSAgMiAgMyAgNCAgNSAgNiAgNyAgIDMxICAgICAgICAgICAxICAyICAzICA0ICAgMzUgICAgICAgICAgICAgICAgICAgIDEgICAKKzI4ICA4ICA5IDEwIDExIDEyIDEzIDE0ICAgMzIgIDUgIDYgIDcgIDggIDkgMTAgMTEgICAzNiAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgIAorMjkgMTUgMTYgMTcgMTggMTkgMjAgMjEgICAzMyAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIDM3ICA5IDEwIDExIDEyIDEzIDE0IDE1ICAgCiszMCAyMiAyMyAyNCAyNSAyNiAyNyAyOCAgIDM0IDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgMzggMTYgMTcgMTggMTkgMjAgMjEgMjIgICAKKzMxIDI5IDMwIDMxICAgICAgICAgICAgICAgMzUgMjYgMjcgMjggMjkgMzAgMzEgICAgICAzOSAyMyAyNCAyNSAyNiAyNyAyOCAyOSAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQwIDMwICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgIE9jdG9iZXIgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorNDAgICAgIDEgIDIgIDMgIDQgIDUgIDYgICA0NCAgICAgICAgICAgICAgMSAgMiAgMyAgIDQ4ICAgICAgICAgICAgICAgICAgICAxICAgCis0MSAgNyAgOCAgOSAxMCAxMSAxMiAxMyAgIDQ1ICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgNDkgIDIgIDMgIDQgIDUgIDYgIDcgIDggICAKKzQyIDE0IDE1IDE2IDE3IDE4IDE5IDIwICAgNDYgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICA1MCAgOSAxMCAxMSAxMiAxMyAxNCAxNSAgIAorNDMgMjEgMjIgMjMgMjQgMjUgMjYgMjcgICA0NyAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgIDUxIDE2IDE3IDE4IDE5IDIwIDIxIDIyICAgCis0NCAyOCAyOSAzMCAzMSAgICAgICAgICAgIDQ4IDI1IDI2IDI3IDI4IDI5IDMwICAgICAgNTIgMjMgMjQgMjUgMjYgMjcgMjggMjkgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MyAzMCAzMSAgICAgICAgICAgICAgICAgIAorCitKdWxpYW4gLSBNb25kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyAtIHllYXIgMjAxMgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCis1MiAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgICAgNSAgICAgICAgICAzMiAgMzMgIDM0ICAzNSAgMzYgICAKKyAxICAgMiAgIDMgICA0ICAgNSAgIDYgICA3ICAgOCAgICA2ICAzNyAgMzggIDM5ICA0MCAgNDEgIDQyICA0MyAgIAorIDIgICA5ICAxMCAgMTEgIDEyICAxMyAgMTQgIDE1ICAgIDcgIDQ0ICA0NSAgNDYgIDQ3ICA0OCAgNDkgIDUwICAgCisgMyAgMTYgIDE3ICAxOCAgMTkgIDIwICAyMSAgMjIgICAgOCAgNTEgIDUyICA1MyAgNTQgIDU1ICA1NiAgNTcgICAKKyA0ICAyMyAgMjQgIDI1ICAyNiAgMjcgIDI4ICAyOSAgICA5ICA1OCAgNTkgIDYwICAgICAgICAgICAgICAgICAgIAorIDUgIDMwICAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgTWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgQXByaWwgICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorIDkgICAgICAgICAgICAgIDYxICA2MiAgNjMgIDY0ICAgMTMgICAgICAgICAgICAgICAgICAgICAgICAgIDkyICAgCisxMCAgNjUgIDY2ICA2NyAgNjggIDY5ICA3MCAgNzEgICAxNCAgOTMgIDk0ICA5NSAgOTYgIDk3ICA5OCAgOTkgICAKKzExICA3MiAgNzMgIDc0ICA3NSAgNzYgIDc3ICA3OCAgIDE1IDEwMCAxMDEgMTAyIDEwMyAxMDQgMTA1IDEwNiAgIAorMTIgIDc5ICA4MCAgODEgIDgyICA4MyAgODQgIDg1ICAgMTYgMTA3IDEwOCAxMDkgMTEwIDExMSAxMTIgMTEzICAgCisxMyAgODYgIDg3ICA4OCAgODkgIDkwICA5MSAgICAgICAxNyAxMTQgMTE1IDExNiAxMTcgMTE4IDExOSAxMjAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE4IDEyMSAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzE4ICAgICAxMjIgMTIzIDEyNCAxMjUgMTI2IDEyNyAgIDIyICAgICAgICAgICAgICAgICAxNTMgMTU0IDE1NSAgIAorMTkgMTI4IDEyOSAxMzAgMTMxIDEzMiAxMzMgMTM0ICAgMjMgMTU2IDE1NyAxNTggMTU5IDE2MCAxNjEgMTYyICAgCisyMCAxMzUgMTM2IDEzNyAxMzggMTM5IDE0MCAxNDEgICAyNCAxNjMgMTY0IDE2NSAxNjYgMTY3IDE2OCAxNjkgICAKKzIxIDE0MiAxNDMgMTQ0IDE0NSAxNDYgMTQ3IDE0OCAgIDI1IDE3MCAxNzEgMTcyIDE3MyAxNzQgMTc1IDE3NiAgIAorMjIgMTQ5IDE1MCAxNTEgMTUyICAgICAgICAgICAgICAgMjYgMTc3IDE3OCAxNzkgMTgwIDE4MSAxODIgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1Z3VzdCAgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisyNiAgICAgICAgICAgICAgICAgICAgICAgICAxODMgICAzMSAgICAgICAgIDIxNCAyMTUgMjE2IDIxNyAyMTggICAKKzI3IDE4NCAxODUgMTg2IDE4NyAxODggMTg5IDE5MCAgIDMyIDIxOSAyMjAgMjIxIDIyMiAyMjMgMjI0IDIyNSAgIAorMjggMTkxIDE5MiAxOTMgMTk0IDE5NSAxOTYgMTk3ICAgMzMgMjI2IDIyNyAyMjggMjI5IDIzMCAyMzEgMjMyICAgCisyOSAxOTggMTk5IDIwMCAyMDEgMjAyIDIwMyAyMDQgICAzNCAyMzMgMjM0IDIzNSAyMzYgMjM3IDIzOCAyMzkgICAKKzMwIDIwNSAyMDYgMjA3IDIwOCAyMDkgMjEwIDIxMSAgIDM1IDI0MCAyNDEgMjQyIDI0MyAyNDQgICAgICAgICAgIAorMzEgMjEyIDIxMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgIFNlcHRlbWJlciAgICAgICAgICAgICAgICAgICAgICAgICBPY3RvYmVyICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorMzUgICAgICAgICAgICAgICAgICAgICAyNDUgMjQ2ICAgNDAgMjc1IDI3NiAyNzcgMjc4IDI3OSAyODAgMjgxICAgCiszNiAyNDcgMjQ4IDI0OSAyNTAgMjUxIDI1MiAyNTMgICA0MSAyODIgMjgzIDI4NCAyODUgMjg2IDI4NyAyODggICAKKzM3IDI1NCAyNTUgMjU2IDI1NyAyNTggMjU5IDI2MCAgIDQyIDI4OSAyOTAgMjkxIDI5MiAyOTMgMjk0IDI5NSAgIAorMzggMjYxIDI2MiAyNjMgMjY0IDI2NSAyNjYgMjY3ICAgNDMgMjk2IDI5NyAyOTggMjk5IDMwMCAzMDEgMzAyICAgCiszOSAyNjggMjY5IDI3MCAyNzEgMjcyIDI3MyAyNzQgICA0NCAzMDMgMzA0IDMwNSAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzQ0ICAgICAgICAgICAgIDMwNiAzMDcgMzA4IDMwOSAgIDQ4ICAgICAgICAgICAgICAgICAgICAgMzM2IDMzNyAgIAorNDUgMzEwIDMxMSAzMTIgMzEzIDMxNCAzMTUgMzE2ICAgNDkgMzM4IDMzOSAzNDAgMzQxIDM0MiAzNDMgMzQ0ICAgCis0NiAzMTcgMzE4IDMxOSAzMjAgMzIxIDMyMiAzMjMgICA1MCAzNDUgMzQ2IDM0NyAzNDggMzQ5IDM1MCAzNTEgICAKKzQ3IDMyNCAzMjUgMzI2IDMyNyAzMjggMzI5IDMzMCAgIDUxIDM1MiAzNTMgMzU0IDM1NSAzNTYgMzU3IDM1OCAgIAorNDggMzMxIDMzMiAzMzMgMzM0IDMzNSAgICAgICAgICAgNTIgMzU5IDM2MCAzNjEgMzYyIDM2MyAzNjQgMzY1ICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAzNjYgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworSnVsaWFuIC0gU3VuZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMgLSB5ZWFyIDIwMTIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgICAgICBKYW51YXJ5ICAgICAgICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5ICAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorIDEgICAxICAgMiAgIDMgICA0ICAgNSAgIDYgICA3ICAgIDUgICAgICAgICAgICAgIDMyICAzMyAgMzQgIDM1ICAgCisgMiAgIDggICA5ICAxMCAgMTEgIDEyICAxMyAgMTQgICAgNiAgMzYgIDM3ICAzOCAgMzkgIDQwICA0MSAgNDIgICAKKyAzICAxNSAgMTYgIDE3ICAxOCAgMTkgIDIwICAyMSAgICA3ICA0MyAgNDQgIDQ1ICA0NiAgNDcgIDQ4ICA0OSAgIAorIDQgIDIyICAyMyAgMjQgIDI1ICAyNiAgMjcgIDI4ICAgIDggIDUwICA1MSAgNTIgIDUzICA1NCAgNTUgIDU2ICAgCisgNSAgMjkgIDMwICAzMSAgICAgICAgICAgICAgICAgICAgOSAgNTcgIDU4ICA1OSAgNjAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgIE1hcmNoICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFwcmlsICAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKyA5ICAgICAgICAgICAgICAgICAgNjEgIDYyICA2MyAgIDE0ICA5MiAgOTMgIDk0ICA5NSAgOTYgIDk3ICA5OCAgIAorMTAgIDY0ICA2NSAgNjYgIDY3ICA2OCAgNjkgIDcwICAgMTUgIDk5IDEwMCAxMDEgMTAyIDEwMyAxMDQgMTA1ICAgCisxMSAgNzEgIDcyICA3MyAgNzQgIDc1ICA3NiAgNzcgICAxNiAxMDYgMTA3IDEwOCAxMDkgMTEwIDExMSAxMTIgICAKKzEyICA3OCAgNzkgIDgwICA4MSAgODIgIDgzICA4NCAgIDE3IDExMyAxMTQgMTE1IDExNiAxMTcgMTE4IDExOSAgIAorMTMgIDg1ICA4NiAgODcgIDg4ICA4OSAgOTAgIDkxICAgMTggMTIwIDEyMSAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisxOCAgICAgICAgIDEyMiAxMjMgMTI0IDEyNSAxMjYgICAyMiAgICAgICAgICAgICAgICAgICAgIDE1MyAxNTQgICAKKzE5IDEyNyAxMjggMTI5IDEzMCAxMzEgMTMyIDEzMyAgIDIzIDE1NSAxNTYgMTU3IDE1OCAxNTkgMTYwIDE2MSAgIAorMjAgMTM0IDEzNSAxMzYgMTM3IDEzOCAxMzkgMTQwICAgMjQgMTYyIDE2MyAxNjQgMTY1IDE2NiAxNjcgMTY4ICAgCisyMSAxNDEgMTQyIDE0MyAxNDQgMTQ1IDE0NiAxNDcgICAyNSAxNjkgMTcwIDE3MSAxNzIgMTczIDE3NCAxNzUgICAKKzIyIDE0OCAxNDkgMTUwIDE1MSAxNTIgICAgICAgICAgIDI2IDE3NiAxNzcgMTc4IDE3OSAxODAgMTgxIDE4MiAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgSnVseSAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorMjcgMTgzIDE4NCAxODUgMTg2IDE4NyAxODggMTg5ICAgMzEgICAgICAgICAgICAgMjE0IDIxNSAyMTYgMjE3ICAgCisyOCAxOTAgMTkxIDE5MiAxOTMgMTk0IDE5NSAxOTYgICAzMiAyMTggMjE5IDIyMCAyMjEgMjIyIDIyMyAyMjQgICAKKzI5IDE5NyAxOTggMTk5IDIwMCAyMDEgMjAyIDIwMyAgIDMzIDIyNSAyMjYgMjI3IDIyOCAyMjkgMjMwIDIzMSAgIAorMzAgMjA0IDIwNSAyMDYgMjA3IDIwOCAyMDkgMjEwICAgMzQgMjMyIDIzMyAyMzQgMjM1IDIzNiAyMzcgMjM4ICAgCiszMSAyMTEgMjEyIDIxMyAgICAgICAgICAgICAgICAgICAzNSAyMzkgMjQwIDI0MSAyNDIgMjQzIDI0NCAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICBTZXB0ZW1iZXIgICAgICAgICAgICAgICAgICAgICAgICAgT2N0b2JlciAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzM1ICAgICAgICAgICAgICAgICAgICAgICAgIDI0NSAgIDQwICAgICAyNzUgMjc2IDI3NyAyNzggMjc5IDI4MCAgIAorMzYgMjQ2IDI0NyAyNDggMjQ5IDI1MCAyNTEgMjUyICAgNDEgMjgxIDI4MiAyODMgMjg0IDI4NSAyODYgMjg3ICAgCiszNyAyNTMgMjU0IDI1NSAyNTYgMjU3IDI1OCAyNTkgICA0MiAyODggMjg5IDI5MCAyOTEgMjkyIDI5MyAyOTQgICAKKzM4IDI2MCAyNjEgMjYyIDI2MyAyNjQgMjY1IDI2NiAgIDQzIDI5NSAyOTYgMjk3IDI5OCAyOTkgMzAwIDMwMSAgIAorMzkgMjY3IDI2OCAyNjkgMjcwIDI3MSAyNzIgMjczICAgNDQgMzAyIDMwMyAzMDQgMzA1ICAgICAgICAgICAgICAgCis0MCAyNzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0Cis0NCAgICAgICAgICAgICAgICAgMzA2IDMwNyAzMDggICA0OCAgICAgICAgICAgICAgICAgICAgICAgICAzMzYgICAKKzQ1IDMwOSAzMTAgMzExIDMxMiAzMTMgMzE0IDMxNSAgIDQ5IDMzNyAzMzggMzM5IDM0MCAzNDEgMzQyIDM0MyAgIAorNDYgMzE2IDMxNyAzMTggMzE5IDMyMCAzMjEgMzIyICAgNTAgMzQ0IDM0NSAzNDYgMzQ3IDM0OCAzNDkgMzUwICAgCis0NyAzMjMgMzI0IDMyNSAzMjYgMzI3IDMyOCAzMjkgICA1MSAzNTEgMzUyIDM1MyAzNTQgMzU1IDM1NiAzNTcgICAKKzQ4IDMzMCAzMzEgMzMyIDMzMyAzMzQgMzM1ICAgICAgIDUyIDM1OCAzNTkgMzYwIDM2MSAzNjIgMzYzIDM2NCAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTMgMzY1IDM2NiAgICAgICAgICAgICAgICAgICAgICAgCisKK0dyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIC0gMyBtb250aCAyMDEyCisgICAgIERlY2VtYmVyIDIwMTEgICAgICAgICAgICAgSmFudWFyeSAyMDEyICAgICAgICAgICAgRmVicnVhcnkgMjAxMiAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1Cis0OCAgICAgICAgICAgMSAgMiAgMyAgNCAgNTIgICAgICAgICAgICAgICAgICAgIDEgICA1ICAgICAgICAxICAyICAzICA0ICA1IAorNDkgIDUgIDYgIDcgIDggIDkgMTAgMTEgICAxICAyICAzICA0ICA1ICA2ICA3ICA4ICAgNiAgNiAgNyAgOCAgOSAxMCAxMSAxMiAKKzUwIDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgMiAgOSAxMCAxMSAxMiAxMyAxNCAxNSAgIDcgMTMgMTQgMTUgMTYgMTcgMTggMTkgCis1MSAxOSAyMCAyMSAyMiAyMyAyNCAyNSAgIDMgMTYgMTcgMTggMTkgMjAgMjEgMjIgICA4IDIwIDIxIDIyIDIzIDI0IDI1IDI2IAorNTIgMjYgMjcgMjggMjkgMzAgMzEgICAgICA0IDIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgOSAyNyAyOCAyOSAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgNSAzMCAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCitHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyAtIDMgbW9udGggMjAxMgorICAgICBEZWNlbWJlciAyMDExICAgICAgICAgICAgIEphbnVhcnkgMjAxMiAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMTIgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorNDkgICAgICAgICAgICAgIDEgIDIgIDMgICAxICAxICAyICAzICA0ICA1ICA2ICA3ICAgNSAgICAgICAgICAgMSAgMiAgMyAgNCAKKzUwICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgMiAgOCAgOSAxMCAxMSAxMiAxMyAxNCAgIDYgIDUgIDYgIDcgIDggIDkgMTAgMTEgCis1MSAxMSAxMiAxMyAxNCAxNSAxNiAxNyAgIDMgMTUgMTYgMTcgMTggMTkgMjAgMjEgICA3IDEyIDEzIDE0IDE1IDE2IDE3IDE4IAorNTIgMTggMTkgMjAgMjEgMjIgMjMgMjQgICA0IDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgOCAxOSAyMCAyMSAyMiAyMyAyNCAyNSAKKzUzIDI1IDI2IDI3IDI4IDI5IDMwIDMxICAgNSAyOSAzMCAzMSAgICAgICAgICAgICAgIDkgMjYgMjcgMjggMjkgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorSnVsaWFuIC0gTW9uZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMgLSAzIG1vbnRoIDIwMTIKKyAgICAgICAgIERlY2VtYmVyIDIwMTEgICAgICAgICAgICAgICAgICAgSmFudWFyeSAyMDEyICAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAyMDEyICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzQ4ICAgICAgICAgICAgIDMzNSAzMzYgMzM3IDMzOCAgNTIgICAgICAgICAgICAgICAgICAgICAgICAgICAxICAgNSAgICAgICAgICAzMiAgMzMgIDM0ICAzNSAgMzYgCis0OSAzMzkgMzQwIDM0MSAzNDIgMzQzIDM0NCAzNDUgICAxICAgMiAgIDMgICA0ICAgNSAgIDYgICA3ICAgOCAgIDYgIDM3ICAzOCAgMzkgIDQwICA0MSAgNDIgIDQzIAorNTAgMzQ2IDM0NyAzNDggMzQ5IDM1MCAzNTEgMzUyICAgMiAgIDkgIDEwICAxMSAgMTIgIDEzICAxNCAgMTUgICA3ICA0NCAgNDUgIDQ2ICA0NyAgNDggIDQ5ICA1MCAKKzUxIDM1MyAzNTQgMzU1IDM1NiAzNTcgMzU4IDM1OSAgIDMgIDE2ICAxNyAgMTggIDE5ICAyMCAgMjEgIDIyICAgOCAgNTEgIDUyICA1MyAgNTQgIDU1ICA1NiAgNTcgCis1MiAzNjAgMzYxIDM2MiAzNjMgMzY0IDM2NSAgICAgICA0ICAyMyAgMjQgIDI1ICAyNiAgMjcgIDI4ICAyOSAgIDkgIDU4ICA1OSAgNjAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNSAgMzAgIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK0p1bGlhbiAtIFN1bmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIC0gMyBtb250aCAyMDEyCisgICAgICAgICBEZWNlbWJlciAyMDExICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxMiAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgMjAxMiAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0Cis0OSAgICAgICAgICAgICAgICAgMzM1IDMzNiAzMzcgICAxICAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgNyAgIDUgICAgICAgICAgICAgIDMyICAzMyAgMzQgIDM1IAorNTAgMzM4IDMzOSAzNDAgMzQxIDM0MiAzNDMgMzQ0ICAgMiAgIDggICA5ICAxMCAgMTEgIDEyICAxMyAgMTQgICA2ICAzNiAgMzcgIDM4ICAzOSAgNDAgIDQxICA0MiAKKzUxIDM0NSAzNDYgMzQ3IDM0OCAzNDkgMzUwIDM1MSAgIDMgIDE1ICAxNiAgMTcgIDE4ICAxOSAgMjAgIDIxICAgNyAgNDMgIDQ0ICA0NSAgNDYgIDQ3ICA0OCAgNDkgCis1MiAzNTIgMzUzIDM1NCAzNTUgMzU2IDM1NyAzNTggICA0ICAyMiAgMjMgIDI0ICAyNSAgMjYgIDI3ICAyOCAgIDggIDUwICA1MSAgNTIgIDUzICA1NCAgNTUgIDU2IAorNTMgMzU5IDM2MCAzNjEgMzYyIDM2MyAzNjQgMzY1ICAgNSAgMjkgIDMwICAzMSAgICAgICAgICAgICAgICAgICA5ICA1NyAgNTggIDU5ICA2MCAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwveWVhciBiL3Rlc3RzL2V4cGVjdGVkL2NhbC95ZWFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmZDg4ZDMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwveWVhcgpAQCAtMCwwICsxLDE3NyBAQAorCitHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgd2VlaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICBKYW51YXJ5ICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgICAgICAgIE1hcmNoICAgICAgIAorTW8gVHUgV2UgVGggRnIgU2EgU3UgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CisgICAgICAgICAgICAgICAgICAgMSAgICAgICAgICAxICAyICAzICA0ICA1ICAgICAgICAgIDEgIDIgIDMgIDQgIDUgICAKKyAyICAzICA0ICA1ICA2ICA3ICA4ICAgIDYgIDcgIDggIDkgMTAgMTEgMTIgICAgNiAgNyAgOCAgOSAxMCAxMSAxMiAgIAorIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgIDEzIDE0IDE1IDE2IDE3IDE4IDE5ICAgCisxNiAxNyAxOCAxOSAyMCAyMSAyMiAgIDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgMjAgMjEgMjIgMjMgMjQgMjUgMjYgICAKKzIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgMjcgMjggICAgICAgICAgICAgICAgICAyNyAyOCAyOSAzMCAzMSAgICAgICAgIAorMzAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgIEFwcmlsICAgICAgICAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAKK01vIFR1IFdlIFRoIEZyIFNhIFN1ICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorICAgICAgICAgICAgICAgIDEgIDIgICAgMSAgMiAgMyAgNCAgNSAgNiAgNyAgICAgICAgICAgICAxICAyICAzICA0ICAgCisgMyAgNCAgNSAgNiAgNyAgOCAgOSAgICA4ICA5IDEwIDExIDEyIDEzIDE0ICAgIDUgIDYgIDcgIDggIDkgMTAgMTEgICAKKzEwIDExIDEyIDEzIDE0IDE1IDE2ICAgMTUgMTYgMTcgMTggMTkgMjAgMjEgICAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIAorMTcgMTggMTkgMjAgMjEgMjIgMjMgICAyMiAyMyAyNCAyNSAyNiAyNyAyOCAgIDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgCisyNCAyNSAyNiAyNyAyOCAyOSAzMCAgIDI5IDMwIDMxICAgICAgICAgICAgICAgMjYgMjcgMjggMjkgMzAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgICAgIFNlcHRlbWJlciAgICAgCitNbyBUdSBXZSBUaCBGciBTYSBTdSAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKyAgICAgICAgICAgICAgICAxICAyICAgICAgIDEgIDIgIDMgIDQgIDUgIDYgICAgICAgICAgICAgICAgMSAgMiAgMyAgIAorIDMgIDQgIDUgIDYgIDcgIDggIDkgICAgNyAgOCAgOSAxMCAxMSAxMiAxMyAgICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgCisxMCAxMSAxMiAxMyAxNCAxNSAxNiAgIDE0IDE1IDE2IDE3IDE4IDE5IDIwICAgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICAKKzE3IDE4IDE5IDIwIDIxIDIyIDIzICAgMjEgMjIgMjMgMjQgMjUgMjYgMjcgICAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgIAorMjQgMjUgMjYgMjcgMjggMjkgMzAgICAyOCAyOSAzMCAzMSAgICAgICAgICAgIDI1IDI2IDI3IDI4IDI5IDMwICAgICAgCiszMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICBPY3RvYmVyICAgICAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgIAorTW8gVHUgV2UgVGggRnIgU2EgU3UgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CisgICAgICAgICAgICAgICAgICAgMSAgICAgICAgICAxICAyICAzICA0ICA1ICAgICAgICAgICAgICAgIDEgIDIgIDMgICAKKyAyICAzICA0ICA1ICA2ICA3ICA4ICAgIDYgIDcgIDggIDkgMTAgMTEgMTIgICAgNCAgNSAgNiAgNyAgOCAgOSAxMCAgIAorIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgIDExIDEyIDEzIDE0IDE1IDE2IDE3ICAgCisxNiAxNyAxOCAxOSAyMCAyMSAyMiAgIDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgMTggMTkgMjAgMjEgMjIgMjMgMjQgICAKKzIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgMjcgMjggMjkgMzAgICAgICAgICAgICAyNSAyNiAyNyAyOCAyOSAzMCAzMSAgIAorMzAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKK0dyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCB3ZWVrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgICAgICAgTWFyY2ggICAgICAgCitTdSBNbyBUdSBXZSBUaCBGciBTYSAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKyAxICAyICAzICA0ICA1ICA2ICA3ICAgICAgICAgICAgIDEgIDIgIDMgIDQgICAgICAgICAgICAgMSAgMiAgMyAgNCAgIAorIDggIDkgMTAgMTEgMTIgMTMgMTQgICAgNSAgNiAgNyAgOCAgOSAxMCAxMSAgICA1ICA2ICA3ICA4ICA5IDEwIDExICAgCisxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgMTIgMTMgMTQgMTUgMTYgMTcgMTggICAKKzIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgMTkgMjAgMjEgMjIgMjMgMjQgMjUgICAxOSAyMCAyMSAyMiAyMyAyNCAyNSAgIAorMjkgMzAgMzEgICAgICAgICAgICAgICAyNiAyNyAyOCAgICAgICAgICAgICAgIDI2IDI3IDI4IDI5IDMwIDMxICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgQXByaWwgICAgICAgICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgIAorU3UgTW8gVHUgV2UgVGggRnIgU2EgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCisgICAgICAgICAgICAgICAgICAgMSAgICAgICAxICAyICAzICA0ICA1ICA2ICAgICAgICAgICAgICAgIDEgIDIgIDMgICAKKyAyICAzICA0ICA1ICA2ICA3ICA4ICAgIDcgIDggIDkgMTAgMTEgMTIgMTMgICAgNCAgNSAgNiAgNyAgOCAgOSAxMCAgIAorIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAxNCAxNSAxNiAxNyAxOCAxOSAyMCAgIDExIDEyIDEzIDE0IDE1IDE2IDE3ICAgCisxNiAxNyAxOCAxOSAyMCAyMSAyMiAgIDIxIDIyIDIzIDI0IDI1IDI2IDI3ICAgMTggMTkgMjAgMjEgMjIgMjMgMjQgICAKKzIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgMjggMjkgMzAgMzEgICAgICAgICAgICAyNSAyNiAyNyAyOCAyOSAzMCAgICAgIAorMzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAgICAgU2VwdGVtYmVyICAgICAKK1N1IE1vIFR1IFdlIFRoIEZyIFNhICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorICAgICAgICAgICAgICAgICAgIDEgICAgICAgICAgMSAgMiAgMyAgNCAgNSAgICAgICAgICAgICAgICAgICAxICAyICAgCisgMiAgMyAgNCAgNSAgNiAgNyAgOCAgICA2ICA3ICA4ICA5IDEwIDExIDEyICAgIDMgIDQgIDUgIDYgIDcgIDggIDkgICAKKyA5IDEwIDExIDEyIDEzIDE0IDE1ICAgMTMgMTQgMTUgMTYgMTcgMTggMTkgICAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgIAorMTYgMTcgMTggMTkgMjAgMjEgMjIgICAyMCAyMSAyMiAyMyAyNCAyNSAyNiAgIDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgCisyMyAyNCAyNSAyNiAyNyAyOCAyOSAgIDI3IDI4IDI5IDMwIDMxICAgICAgICAgMjQgMjUgMjYgMjcgMjggMjkgMzAgICAKKzMwIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgIE9jdG9iZXIgICAgICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgCitTdSBNbyBUdSBXZSBUaCBGciBTYSAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKyAxICAyICAzICA0ICA1ICA2ICA3ICAgICAgICAgICAgIDEgIDIgIDMgIDQgICAgICAgICAgICAgICAgICAgMSAgMiAgIAorIDggIDkgMTAgMTEgMTIgMTMgMTQgICAgNSAgNiAgNyAgOCAgOSAxMCAxMSAgICAzICA0ICA1ICA2ICA3ICA4ICA5ICAgCisxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgMTAgMTEgMTIgMTMgMTQgMTUgMTYgICAKKzIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgMTkgMjAgMjEgMjIgMjMgMjQgMjUgICAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgIAorMjkgMzAgMzEgICAgICAgICAgICAgICAyNiAyNyAyOCAyOSAzMCAgICAgICAgIDI0IDI1IDI2IDI3IDI4IDI5IDMwICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzEgICAgICAgICAgICAgICAgICAgICAKKworSnVsaWFuIC0gTW9uZGF5LWJhc2VkIHdlZWsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMDYgICAgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAKK01vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorICAgICAgICAgICAgICAgICAgICAgICAgICAxICAgICAgICAgICAgMzIgIDMzICAzNCAgMzUgIDM2ICAgCisgIDIgICAzICAgNCAgIDUgICA2ICAgNyAgIDggICAgMzcgIDM4ICAzOSAgNDAgIDQxICA0MiAgNDMgICAKKyAgOSAgMTAgIDExICAxMiAgMTMgIDE0ICAxNSAgICA0NCAgNDUgIDQ2ICA0NyAgNDggIDQ5ICA1MCAgIAorIDE2ICAxNyAgMTggIDE5ICAyMCAgMjEgIDIyICAgIDUxICA1MiAgNTMgIDU0ICA1NSAgNTYgIDU3ICAgCisgMjMgIDI0ICAyNSAgMjYgIDI3ICAyOCAgMjkgICAgNTggIDU5ICAgICAgICAgICAgICAgICAgICAgICAKKyAzMCAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICBNYXJjaCAgICAgICAgICAgICAgICAgICAgICAgICBBcHJpbCAgICAgICAgICAgCitNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKyAgICAgICAgIDYwICA2MSAgNjIgIDYzICA2NCAgICAgICAgICAgICAgICAgICAgICAgIDkxICA5MiAgIAorIDY1ICA2NiAgNjcgIDY4ICA2OSAgNzAgIDcxICAgIDkzICA5NCAgOTUgIDk2ICA5NyAgOTggIDk5ICAgCisgNzIgIDczICA3NCAgNzUgIDc2ICA3NyAgNzggICAxMDAgMTAxIDEwMiAxMDMgMTA0IDEwNSAxMDYgICAKKyA3OSAgODAgIDgxICA4MiAgODMgIDg0ICA4NSAgIDEwNyAxMDggMTA5IDExMCAxMTEgMTEyIDExMyAgIAorIDg2ICA4NyAgODggIDg5ICA5MCAgICAgICAgICAgMTE0IDExNSAxMTYgMTE3IDExOCAxMTkgMTIwICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAgIAorTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisxMjEgMTIyIDEyMyAxMjQgMTI1IDEyNiAxMjcgICAgICAgICAgICAgICAxNTIgMTUzIDE1NCAxNTUgICAKKzEyOCAxMjkgMTMwIDEzMSAxMzIgMTMzIDEzNCAgIDE1NiAxNTcgMTU4IDE1OSAxNjAgMTYxIDE2MiAgIAorMTM1IDEzNiAxMzcgMTM4IDEzOSAxNDAgMTQxICAgMTYzIDE2NCAxNjUgMTY2IDE2NyAxNjggMTY5ICAgCisxNDIgMTQzIDE0NCAxNDUgMTQ2IDE0NyAxNDggICAxNzAgMTcxIDE3MiAxNzMgMTc0IDE3NSAxNzYgICAKKzE0OSAxNTAgMTUxICAgICAgICAgICAgICAgICAgIDE3NyAxNzggMTc5IDE4MCAxODEgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgICAgICAgIEF1Z3VzdCAgICAgICAgICAKK01vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorICAgICAgICAgICAgICAgICAgICAxODIgMTgzICAgICAgIDIxMyAyMTQgMjE1IDIxNiAyMTcgMjE4ICAgCisxODQgMTg1IDE4NiAxODcgMTg4IDE4OSAxOTAgICAyMTkgMjIwIDIyMSAyMjIgMjIzIDIyNCAyMjUgICAKKzE5MSAxOTIgMTkzIDE5NCAxOTUgMTk2IDE5NyAgIDIyNiAyMjcgMjI4IDIyOSAyMzAgMjMxIDIzMiAgIAorMTk4IDE5OSAyMDAgMjAxIDIwMiAyMDMgMjA0ICAgMjMzIDIzNCAyMzUgMjM2IDIzNyAyMzggMjM5ICAgCisyMDUgMjA2IDIwNyAyMDggMjA5IDIxMCAyMTEgICAyNDAgMjQxIDI0MiAyNDMgICAgICAgICAgICAgICAKKzIxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgU2VwdGVtYmVyICAgICAgICAgICAgICAgICAgICAgIE9jdG9iZXIgICAgICAgICAgCitNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKyAgICAgICAgICAgICAgICAyNDQgMjQ1IDI0NiAgICAgICAgICAgICAgICAgICAgICAgICAgIDI3NCAgIAorMjQ3IDI0OCAyNDkgMjUwIDI1MSAyNTIgMjUzICAgMjc1IDI3NiAyNzcgMjc4IDI3OSAyODAgMjgxICAgCisyNTQgMjU1IDI1NiAyNTcgMjU4IDI1OSAyNjAgICAyODIgMjgzIDI4NCAyODUgMjg2IDI4NyAyODggICAKKzI2MSAyNjIgMjYzIDI2NCAyNjUgMjY2IDI2NyAgIDI4OSAyOTAgMjkxIDI5MiAyOTMgMjk0IDI5NSAgIAorMjY4IDI2OSAyNzAgMjcxIDI3MiAyNzMgICAgICAgMjk2IDI5NyAyOTggMjk5IDMwMCAzMDEgMzAyICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMDMgMzA0ICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAgIAorTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisgICAgICAgIDMwNSAzMDYgMzA3IDMwOCAzMDkgICAgICAgICAgICAgICAgICAgMzM1IDMzNiAzMzcgICAKKzMxMCAzMTEgMzEyIDMxMyAzMTQgMzE1IDMxNiAgIDMzOCAzMzkgMzQwIDM0MSAzNDIgMzQzIDM0NCAgIAorMzE3IDMxOCAzMTkgMzIwIDMyMSAzMjIgMzIzICAgMzQ1IDM0NiAzNDcgMzQ4IDM0OSAzNTAgMzUxICAgCiszMjQgMzI1IDMyNiAzMjcgMzI4IDMyOSAzMzAgICAzNTIgMzUzIDM1NCAzNTUgMzU2IDM1NyAzNTggICAKKzMzMSAzMzIgMzMzIDMzNCAgICAgICAgICAgICAgIDM1OSAzNjAgMzYxIDM2MiAzNjMgMzY0IDM2NSAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKK0p1bGlhbiAtIFN1bmRheS1iYXNlZCB3ZWVrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDA2ICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAgICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5ICAgICAgICAgCitTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKyAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgNyAgICAgICAgICAgICAgICAzMiAgMzMgIDM0ICAzNSAgIAorICA4ICAgOSAgMTAgIDExICAxMiAgMTMgIDE0ICAgIDM2ICAzNyAgMzggIDM5ICA0MCAgNDEgIDQyICAgCisgMTUgIDE2ICAxNyAgMTggIDE5ICAyMCAgMjEgICAgNDMgIDQ0ICA0NSAgNDYgIDQ3ICA0OCAgNDkgICAKKyAyMiAgMjMgIDI0ICAyNSAgMjYgIDI3ICAyOCAgICA1MCAgNTEgIDUyICA1MyAgNTQgIDU1ICA1NiAgIAorIDI5ICAzMCAgMzEgICAgICAgICAgICAgICAgICAgIDU3ICA1OCAgNTkgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgTWFyY2ggICAgICAgICAgICAgICAgICAgICAgICAgQXByaWwgICAgICAgICAgIAorU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisgICAgICAgICAgICAgNjAgIDYxICA2MiAgNjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgOTEgICAKKyA2NCAgNjUgIDY2ICA2NyAgNjggIDY5ICA3MCAgICA5MiAgOTMgIDk0ICA5NSAgOTYgIDk3ICA5OCAgIAorIDcxICA3MiAgNzMgIDc0ICA3NSAgNzYgIDc3ICAgIDk5IDEwMCAxMDEgMTAyIDEwMyAxMDQgMTA1ICAgCisgNzggIDc5ICA4MCAgODEgIDgyICA4MyAgODQgICAxMDYgMTA3IDEwOCAxMDkgMTEwIDExMSAxMTIgICAKKyA4NSAgODYgIDg3ICA4OCAgODkgIDkwICAgICAgIDExMyAxMTQgMTE1IDExNiAxMTcgMTE4IDExOSAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTIwICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAgICAKK1N1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorICAgIDEyMSAxMjIgMTIzIDEyNCAxMjUgMTI2ICAgICAgICAgICAgICAgICAgIDE1MiAxNTMgMTU0ICAgCisxMjcgMTI4IDEyOSAxMzAgMTMxIDEzMiAxMzMgICAxNTUgMTU2IDE1NyAxNTggMTU5IDE2MCAxNjEgICAKKzEzNCAxMzUgMTM2IDEzNyAxMzggMTM5IDE0MCAgIDE2MiAxNjMgMTY0IDE2NSAxNjYgMTY3IDE2OCAgIAorMTQxIDE0MiAxNDMgMTQ0IDE0NSAxNDYgMTQ3ICAgMTY5IDE3MCAxNzEgMTcyIDE3MyAxNzQgMTc1ICAgCisxNDggMTQ5IDE1MCAxNTEgICAgICAgICAgICAgICAxNzYgMTc3IDE3OCAxNzkgMTgwIDE4MSAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgSnVseSAgICAgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgCitTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKyAgICAgICAgICAgICAgICAgICAgICAgIDE4MiAgICAgICAgICAgMjEzIDIxNCAyMTUgMjE2IDIxNyAgIAorMTgzIDE4NCAxODUgMTg2IDE4NyAxODggMTg5ICAgMjE4IDIxOSAyMjAgMjIxIDIyMiAyMjMgMjI0ICAgCisxOTAgMTkxIDE5MiAxOTMgMTk0IDE5NSAxOTYgICAyMjUgMjI2IDIyNyAyMjggMjI5IDIzMCAyMzEgICAKKzE5NyAxOTggMTk5IDIwMCAyMDEgMjAyIDIwMyAgIDIzMiAyMzMgMjM0IDIzNSAyMzYgMjM3IDIzOCAgIAorMjA0IDIwNSAyMDYgMjA3IDIwOCAyMDkgMjEwICAgMjM5IDI0MCAyNDEgMjQyIDI0MyAgICAgICAgICAgCisyMTEgMjEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgIFNlcHRlbWJlciAgICAgICAgICAgICAgICAgICAgICBPY3RvYmVyICAgICAgICAgIAorU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisgICAgICAgICAgICAgICAgICAgIDI0NCAyNDUgICAyNzQgMjc1IDI3NiAyNzcgMjc4IDI3OSAyODAgICAKKzI0NiAyNDcgMjQ4IDI0OSAyNTAgMjUxIDI1MiAgIDI4MSAyODIgMjgzIDI4NCAyODUgMjg2IDI4NyAgIAorMjUzIDI1NCAyNTUgMjU2IDI1NyAyNTggMjU5ICAgMjg4IDI4OSAyOTAgMjkxIDI5MiAyOTMgMjk0ICAgCisyNjAgMjYxIDI2MiAyNjMgMjY0IDI2NSAyNjYgICAyOTUgMjk2IDI5NyAyOTggMjk5IDMwMCAzMDEgICAKKzI2NyAyNjggMjY5IDI3MCAyNzEgMjcyIDI3MyAgIDMwMiAzMDMgMzA0ICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgICAgICAgICAKK1N1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorICAgICAgICAgICAgMzA1IDMwNiAzMDcgMzA4ICAgICAgICAgICAgICAgICAgICAgICAzMzUgMzM2ICAgCiszMDkgMzEwIDMxMSAzMTIgMzEzIDMxNCAzMTUgICAzMzcgMzM4IDMzOSAzNDAgMzQxIDM0MiAzNDMgICAKKzMxNiAzMTcgMzE4IDMxOSAzMjAgMzIxIDMyMiAgIDM0NCAzNDUgMzQ2IDM0NyAzNDggMzQ5IDM1MCAgIAorMzIzIDMyNCAzMjUgMzI2IDMyNyAzMjggMzI5ICAgMzUxIDM1MiAzNTMgMzU0IDM1NSAzNTYgMzU3ICAgCiszMzAgMzMxIDMzMiAzMzMgMzM0ICAgICAgICAgICAzNTggMzU5IDM2MCAzNjEgMzYyIDM2MyAzNjQgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM2NSAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwveWVhcncgYi90ZXN0cy9leHBlY3RlZC9jYWwveWVhcncKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTNkZWJiYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC95ZWFydwpAQCAtMCwwICsxLDE3NyBAQAorCitHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgICAgICAgICBNYXJjaCAgICAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1Cis1MiAgICAgICAgICAgICAgICAgICAgMSAgICA1ICAgICAgICAxICAyICAzICA0ICA1ICAgIDkgICAgICAgIDEgIDIgIDMgIDQgIDUgICAKKyAxICAyICAzICA0ICA1ICA2ICA3ICA4ICAgIDYgIDYgIDcgIDggIDkgMTAgMTEgMTIgICAxMCAgNiAgNyAgOCAgOSAxMCAxMSAxMiAgIAorIDIgIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAgNyAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgIDExIDEzIDE0IDE1IDE2IDE3IDE4IDE5ICAgCisgMyAxNiAxNyAxOCAxOSAyMCAyMSAyMiAgICA4IDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgMTIgMjAgMjEgMjIgMjMgMjQgMjUgMjYgICAKKyA0IDIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgIDkgMjcgMjggICAgICAgICAgICAgICAgICAxMyAyNyAyOCAyOSAzMCAzMSAgICAgICAgIAorIDUgMzAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICBBcHJpbCAgICAgICAgICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorMTMgICAgICAgICAgICAgICAgIDEgIDIgICAxOCAgMSAgMiAgMyAgNCAgNSAgNiAgNyAgIDIyICAgICAgICAgICAxICAyICAzICA0ICAgCisxNCAgMyAgNCAgNSAgNiAgNyAgOCAgOSAgIDE5ICA4ICA5IDEwIDExIDEyIDEzIDE0ICAgMjMgIDUgIDYgIDcgIDggIDkgMTAgMTEgICAKKzE1IDEwIDExIDEyIDEzIDE0IDE1IDE2ICAgMjAgMTUgMTYgMTcgMTggMTkgMjAgMjEgICAyNCAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIAorMTYgMTcgMTggMTkgMjAgMjEgMjIgMjMgICAyMSAyMiAyMyAyNCAyNSAyNiAyNyAyOCAgIDI1IDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgCisxNyAyNCAyNSAyNiAyNyAyOCAyOSAzMCAgIDIyIDI5IDMwIDMxICAgICAgICAgICAgICAgMjYgMjYgMjcgMjggMjkgMzAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAgICAgICBTZXB0ZW1iZXIgICAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKzI2ICAgICAgICAgICAgICAgICAxICAyICAgMzEgICAgIDEgIDIgIDMgIDQgIDUgIDYgICAzNSAgICAgICAgICAgICAgMSAgMiAgMyAgIAorMjcgIDMgIDQgIDUgIDYgIDcgIDggIDkgICAzMiAgNyAgOCAgOSAxMCAxMSAxMiAxMyAgIDM2ICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgCisyOCAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgIDMzIDE0IDE1IDE2IDE3IDE4IDE5IDIwICAgMzcgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICAKKzI5IDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgMzQgMjEgMjIgMjMgMjQgMjUgMjYgMjcgICAzOCAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgIAorMzAgMjQgMjUgMjYgMjcgMjggMjkgMzAgICAzNSAyOCAyOSAzMCAzMSAgICAgICAgICAgIDM5IDI1IDI2IDI3IDI4IDI5IDMwICAgICAgCiszMSAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgT2N0b2JlciAgICAgICAgICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CiszOSAgICAgICAgICAgICAgICAgICAgMSAgIDQ0ICAgICAgICAxICAyICAzICA0ICA1ICAgNDggICAgICAgICAgICAgIDEgIDIgIDMgICAKKzQwICAyICAzICA0ICA1ICA2ICA3ICA4ICAgNDUgIDYgIDcgIDggIDkgMTAgMTEgMTIgICA0OSAgNCAgNSAgNiAgNyAgOCAgOSAxMCAgIAorNDEgIDkgMTAgMTEgMTIgMTMgMTQgMTUgICA0NiAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgIDUwIDExIDEyIDEzIDE0IDE1IDE2IDE3ICAgCis0MiAxNiAxNyAxOCAxOSAyMCAyMSAyMiAgIDQ3IDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgNTEgMTggMTkgMjAgMjEgMjIgMjMgMjQgICAKKzQzIDIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgNDggMjcgMjggMjkgMzAgICAgICAgICAgICA1MiAyNSAyNiAyNyAyOCAyOSAzMCAzMSAgIAorNDQgMzAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKK0dyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDA2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAgICAgICBKYW51YXJ5ICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5ICAgICAgICAgICAgICAgICAgIE1hcmNoICAgICAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKyAxICAxICAyICAzICA0ICA1ICA2ICA3ICAgIDUgICAgICAgICAgIDEgIDIgIDMgIDQgICAgOSAgICAgICAgICAgMSAgMiAgMyAgNCAgIAorIDIgIDggIDkgMTAgMTEgMTIgMTMgMTQgICAgNiAgNSAgNiAgNyAgOCAgOSAxMCAxMSAgIDEwICA1ICA2ICA3ICA4ICA5IDEwIDExICAgCisgMyAxNSAxNiAxNyAxOCAxOSAyMCAyMSAgICA3IDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgMTEgMTIgMTMgMTQgMTUgMTYgMTcgMTggICAKKyA0IDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgIDggMTkgMjAgMjEgMjIgMjMgMjQgMjUgICAxMiAxOSAyMCAyMSAyMiAyMyAyNCAyNSAgIAorIDUgMjkgMzAgMzEgICAgICAgICAgICAgICAgOSAyNiAyNyAyOCAgICAgICAgICAgICAgIDEzIDI2IDI3IDI4IDI5IDMwIDMxICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgIEFwcmlsICAgICAgICAgICAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCisxMyAgICAgICAgICAgICAgICAgICAgMSAgIDE4ICAgICAxICAyICAzICA0ICA1ICA2ICAgMjIgICAgICAgICAgICAgIDEgIDIgIDMgICAKKzE0ICAyICAzICA0ICA1ICA2ICA3ICA4ICAgMTkgIDcgIDggIDkgMTAgMTEgMTIgMTMgICAyMyAgNCAgNSAgNiAgNyAgOCAgOSAxMCAgIAorMTUgIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAyMCAxNCAxNSAxNiAxNyAxOCAxOSAyMCAgIDI0IDExIDEyIDEzIDE0IDE1IDE2IDE3ICAgCisxNiAxNiAxNyAxOCAxOSAyMCAyMSAyMiAgIDIxIDIxIDIyIDIzIDI0IDI1IDI2IDI3ICAgMjUgMTggMTkgMjAgMjEgMjIgMjMgMjQgICAKKzE3IDIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgMjIgMjggMjkgMzAgMzEgICAgICAgICAgICAyNiAyNSAyNiAyNyAyOCAyOSAzMCAgICAgIAorMTggMzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgSnVseSAgICAgICAgICAgICAgICAgICAgIEF1Z3VzdCAgICAgICAgICAgICAgICAgIFNlcHRlbWJlciAgICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorMjYgICAgICAgICAgICAgICAgICAgIDEgICAzMSAgICAgICAgMSAgMiAgMyAgNCAgNSAgIDM1ICAgICAgICAgICAgICAgICAxICAyICAgCisyNyAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgIDMyICA2ICA3ICA4ICA5IDEwIDExIDEyICAgMzYgIDMgIDQgIDUgIDYgIDcgIDggIDkgICAKKzI4ICA5IDEwIDExIDEyIDEzIDE0IDE1ICAgMzMgMTMgMTQgMTUgMTYgMTcgMTggMTkgICAzNyAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgIAorMjkgMTYgMTcgMTggMTkgMjAgMjEgMjIgICAzNCAyMCAyMSAyMiAyMyAyNCAyNSAyNiAgIDM4IDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgCiszMCAyMyAyNCAyNSAyNiAyNyAyOCAyOSAgIDM1IDI3IDI4IDI5IDMwIDMxICAgICAgICAgMzkgMjQgMjUgMjYgMjcgMjggMjkgMzAgICAKKzMxIDMwIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICBPY3RvYmVyICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgICAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzQwICAxICAyICAzICA0ICA1ICA2ICA3ICAgNDQgICAgICAgICAgIDEgIDIgIDMgIDQgICA0OCAgICAgICAgICAgICAgICAgMSAgMiAgIAorNDEgIDggIDkgMTAgMTEgMTIgMTMgMTQgICA0NSAgNSAgNiAgNyAgOCAgOSAxMCAxMSAgIDQ5ICAzICA0ICA1ICA2ICA3ICA4ICA5ICAgCis0MiAxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIDQ2IDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgNTAgMTAgMTEgMTIgMTMgMTQgMTUgMTYgICAKKzQzIDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgNDcgMTkgMjAgMjEgMjIgMjMgMjQgMjUgICA1MSAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgIAorNDQgMjkgMzAgMzEgICAgICAgICAgICAgICA0OCAyNiAyNyAyOCAyOSAzMCAgICAgICAgIDUyIDI0IDI1IDI2IDI3IDI4IDI5IDMwICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTMgMzEgICAgICAgICAgICAgICAgICAgICAKKworSnVsaWFuIC0gTW9uZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgICAgICBKYW51YXJ5ICAgICAgICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5ICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorNTIgICAgICAgICAgICAgICAgICAgICAgICAgICAxICAgIDUgICAgICAgICAgMzIgIDMzICAzNCAgMzUgIDM2ICAgCisgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgNyAgIDggICAgNiAgMzcgIDM4ICAzOSAgNDAgIDQxICA0MiAgNDMgICAKKyAyICAgOSAgMTAgIDExICAxMiAgMTMgIDE0ICAxNSAgICA3ICA0NCAgNDUgIDQ2ICA0NyAgNDggIDQ5ICA1MCAgIAorIDMgIDE2ICAxNyAgMTggIDE5ICAyMCAgMjEgIDIyICAgIDggIDUxICA1MiAgNTMgIDU0ICA1NSAgNTYgIDU3ICAgCisgNCAgMjMgIDI0ICAyNSAgMjYgIDI3ICAyOCAgMjkgICAgOSAgNTggIDU5ICAgICAgICAgICAgICAgICAgICAgICAKKyA1ICAzMCAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgIE1hcmNoICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFwcmlsICAgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKyA5ICAgICAgICAgIDYwICA2MSAgNjIgIDYzICA2NCAgIDEzICAgICAgICAgICAgICAgICAgICAgIDkxICA5MiAgIAorMTAgIDY1ICA2NiAgNjcgIDY4ICA2OSAgNzAgIDcxICAgMTQgIDkzICA5NCAgOTUgIDk2ICA5NyAgOTggIDk5ICAgCisxMSAgNzIgIDczICA3NCAgNzUgIDc2ICA3NyAgNzggICAxNSAxMDAgMTAxIDEwMiAxMDMgMTA0IDEwNSAxMDYgICAKKzEyICA3OSAgODAgIDgxICA4MiAgODMgIDg0ICA4NSAgIDE2IDEwNyAxMDggMTA5IDExMCAxMTEgMTEyIDExMyAgIAorMTMgIDg2ICA4NyAgODggIDg5ICA5MCAgICAgICAgICAgMTcgMTE0IDExNSAxMTYgMTE3IDExOCAxMTkgMTIwICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisxOCAxMjEgMTIyIDEyMyAxMjQgMTI1IDEyNiAxMjcgICAyMiAgICAgICAgICAgICAxNTIgMTUzIDE1NCAxNTUgICAKKzE5IDEyOCAxMjkgMTMwIDEzMSAxMzIgMTMzIDEzNCAgIDIzIDE1NiAxNTcgMTU4IDE1OSAxNjAgMTYxIDE2MiAgIAorMjAgMTM1IDEzNiAxMzcgMTM4IDEzOSAxNDAgMTQxICAgMjQgMTYzIDE2NCAxNjUgMTY2IDE2NyAxNjggMTY5ICAgCisyMSAxNDIgMTQzIDE0NCAxNDUgMTQ2IDE0NyAxNDggICAyNSAxNzAgMTcxIDE3MiAxNzMgMTc0IDE3NSAxNzYgICAKKzIyIDE0OSAxNTAgMTUxICAgICAgICAgICAgICAgICAgIDI2IDE3NyAxNzggMTc5IDE4MCAxODEgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgSnVseSAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorMjYgICAgICAgICAgICAgICAgICAgICAxODIgMTgzICAgMzEgICAgIDIxMyAyMTQgMjE1IDIxNiAyMTcgMjE4ICAgCisyNyAxODQgMTg1IDE4NiAxODcgMTg4IDE4OSAxOTAgICAzMiAyMTkgMjIwIDIyMSAyMjIgMjIzIDIyNCAyMjUgICAKKzI4IDE5MSAxOTIgMTkzIDE5NCAxOTUgMTk2IDE5NyAgIDMzIDIyNiAyMjcgMjI4IDIyOSAyMzAgMjMxIDIzMiAgIAorMjkgMTk4IDE5OSAyMDAgMjAxIDIwMiAyMDMgMjA0ICAgMzQgMjMzIDIzNCAyMzUgMjM2IDIzNyAyMzggMjM5ICAgCiszMCAyMDUgMjA2IDIwNyAyMDggMjA5IDIxMCAyMTEgICAzNSAyNDAgMjQxIDI0MiAyNDMgICAgICAgICAgICAgICAKKzMxIDIxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICBTZXB0ZW1iZXIgICAgICAgICAgICAgICAgICAgICAgICAgT2N0b2JlciAgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzM1ICAgICAgICAgICAgICAgICAyNDQgMjQ1IDI0NiAgIDM5ICAgICAgICAgICAgICAgICAgICAgICAgIDI3NCAgIAorMzYgMjQ3IDI0OCAyNDkgMjUwIDI1MSAyNTIgMjUzICAgNDAgMjc1IDI3NiAyNzcgMjc4IDI3OSAyODAgMjgxICAgCiszNyAyNTQgMjU1IDI1NiAyNTcgMjU4IDI1OSAyNjAgICA0MSAyODIgMjgzIDI4NCAyODUgMjg2IDI4NyAyODggICAKKzM4IDI2MSAyNjIgMjYzIDI2NCAyNjUgMjY2IDI2NyAgIDQyIDI4OSAyOTAgMjkxIDI5MiAyOTMgMjk0IDI5NSAgIAorMzkgMjY4IDI2OSAyNzAgMjcxIDI3MiAyNzMgICAgICAgNDMgMjk2IDI5NyAyOTggMjk5IDMwMCAzMDEgMzAyICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NCAzMDMgMzA0ICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCis0NCAgICAgICAgIDMwNSAzMDYgMzA3IDMwOCAzMDkgICA0OCAgICAgICAgICAgICAgICAgMzM1IDMzNiAzMzcgICAKKzQ1IDMxMCAzMTEgMzEyIDMxMyAzMTQgMzE1IDMxNiAgIDQ5IDMzOCAzMzkgMzQwIDM0MSAzNDIgMzQzIDM0NCAgIAorNDYgMzE3IDMxOCAzMTkgMzIwIDMyMSAzMjIgMzIzICAgNTAgMzQ1IDM0NiAzNDcgMzQ4IDM0OSAzNTAgMzUxICAgCis0NyAzMjQgMzI1IDMyNiAzMjcgMzI4IDMyOSAzMzAgICA1MSAzNTIgMzUzIDM1NCAzNTUgMzU2IDM1NyAzNTggICAKKzQ4IDMzMSAzMzIgMzMzIDMzNCAgICAgICAgICAgICAgIDUyIDM1OSAzNjAgMzYxIDM2MiAzNjMgMzY0IDM2NSAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKK0p1bGlhbiAtIFN1bmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDA2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAgICAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKyAxICAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgNyAgICA1ICAgICAgICAgICAgICAzMiAgMzMgIDM0ICAzNSAgIAorIDIgICA4ICAgOSAgMTAgIDExICAxMiAgMTMgIDE0ICAgIDYgIDM2ICAzNyAgMzggIDM5ICA0MCAgNDEgIDQyICAgCisgMyAgMTUgIDE2ICAxNyAgMTggIDE5ICAyMCAgMjEgICAgNyAgNDMgIDQ0ICA0NSAgNDYgIDQ3ICA0OCAgNDkgICAKKyA0ICAyMiAgMjMgIDI0ICAyNSAgMjYgIDI3ICAyOCAgICA4ICA1MCAgNTEgIDUyICA1MyAgNTQgIDU1ICA1NiAgIAorIDUgIDI5ICAzMCAgMzEgICAgICAgICAgICAgICAgICAgIDkgIDU3ICA1OCAgNTkgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICBNYXJjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcHJpbCAgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisgOSAgICAgICAgICAgICAgNjAgIDYxICA2MiAgNjMgICAxMyAgICAgICAgICAgICAgICAgICAgICAgICAgOTEgICAKKzEwICA2NCAgNjUgIDY2ICA2NyAgNjggIDY5ICA3MCAgIDE0ICA5MiAgOTMgIDk0ICA5NSAgOTYgIDk3ICA5OCAgIAorMTEgIDcxICA3MiAgNzMgIDc0ICA3NSAgNzYgIDc3ICAgMTUgIDk5IDEwMCAxMDEgMTAyIDEwMyAxMDQgMTA1ICAgCisxMiAgNzggIDc5ICA4MCAgODEgIDgyICA4MyAgODQgICAxNiAxMDYgMTA3IDEwOCAxMDkgMTEwIDExMSAxMTIgICAKKzEzICA4NSAgODYgIDg3ICA4OCAgODkgIDkwICAgICAgIDE3IDExMyAxMTQgMTE1IDExNiAxMTcgMTE4IDExOSAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTggMTIwICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorMTggICAgIDEyMSAxMjIgMTIzIDEyNCAxMjUgMTI2ICAgMjIgICAgICAgICAgICAgICAgIDE1MiAxNTMgMTU0ICAgCisxOSAxMjcgMTI4IDEyOSAxMzAgMTMxIDEzMiAxMzMgICAyMyAxNTUgMTU2IDE1NyAxNTggMTU5IDE2MCAxNjEgICAKKzIwIDEzNCAxMzUgMTM2IDEzNyAxMzggMTM5IDE0MCAgIDI0IDE2MiAxNjMgMTY0IDE2NSAxNjYgMTY3IDE2OCAgIAorMjEgMTQxIDE0MiAxNDMgMTQ0IDE0NSAxNDYgMTQ3ICAgMjUgMTY5IDE3MCAxNzEgMTcyIDE3MyAxNzQgMTc1ICAgCisyMiAxNDggMTQ5IDE1MCAxNTEgICAgICAgICAgICAgICAyNiAxNzYgMTc3IDE3OCAxNzkgMTgwIDE4MSAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzI2ICAgICAgICAgICAgICAgICAgICAgICAgIDE4MiAgIDMxICAgICAgICAgMjEzIDIxNCAyMTUgMjE2IDIxNyAgIAorMjcgMTgzIDE4NCAxODUgMTg2IDE4NyAxODggMTg5ICAgMzIgMjE4IDIxOSAyMjAgMjIxIDIyMiAyMjMgMjI0ICAgCisyOCAxOTAgMTkxIDE5MiAxOTMgMTk0IDE5NSAxOTYgICAzMyAyMjUgMjI2IDIyNyAyMjggMjI5IDIzMCAyMzEgICAKKzI5IDE5NyAxOTggMTk5IDIwMCAyMDEgMjAyIDIwMyAgIDM0IDIzMiAyMzMgMjM0IDIzNSAyMzYgMjM3IDIzOCAgIAorMzAgMjA0IDIwNSAyMDYgMjA3IDIwOCAyMDkgMjEwICAgMzUgMjM5IDI0MCAyNDEgMjQyIDI0MyAgICAgICAgICAgCiszMSAyMTEgMjEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgU2VwdGVtYmVyICAgICAgICAgICAgICAgICAgICAgICAgIE9jdG9iZXIgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CiszNSAgICAgICAgICAgICAgICAgICAgIDI0NCAyNDUgICA0MCAyNzQgMjc1IDI3NiAyNzcgMjc4IDI3OSAyODAgICAKKzM2IDI0NiAyNDcgMjQ4IDI0OSAyNTAgMjUxIDI1MiAgIDQxIDI4MSAyODIgMjgzIDI4NCAyODUgMjg2IDI4NyAgIAorMzcgMjUzIDI1NCAyNTUgMjU2IDI1NyAyNTggMjU5ICAgNDIgMjg4IDI4OSAyOTAgMjkxIDI5MiAyOTMgMjk0ICAgCiszOCAyNjAgMjYxIDI2MiAyNjMgMjY0IDI2NSAyNjYgICA0MyAyOTUgMjk2IDI5NyAyOTggMjk5IDMwMCAzMDEgICAKKzM5IDI2NyAyNjggMjY5IDI3MCAyNzEgMjcyIDI3MyAgIDQ0IDMwMiAzMDMgMzA0ICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgIE5vdmVtYmVyICAgICAgICAgICAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorNDQgICAgICAgICAgICAgMzA1IDMwNiAzMDcgMzA4ICAgNDggICAgICAgICAgICAgICAgICAgICAzMzUgMzM2ICAgCis0NSAzMDkgMzEwIDMxMSAzMTIgMzEzIDMxNCAzMTUgICA0OSAzMzcgMzM4IDMzOSAzNDAgMzQxIDM0MiAzNDMgICAKKzQ2IDMxNiAzMTcgMzE4IDMxOSAzMjAgMzIxIDMyMiAgIDUwIDM0NCAzNDUgMzQ2IDM0NyAzNDggMzQ5IDM1MCAgIAorNDcgMzIzIDMyNCAzMjUgMzI2IDMyNyAzMjggMzI5ICAgNTEgMzUxIDM1MiAzNTMgMzU0IDM1NSAzNTYgMzU3ICAgCis0OCAzMzAgMzMxIDMzMiAzMzMgMzM0ICAgICAgICAgICA1MiAzNTggMzU5IDM2MCAzNjEgMzYyIDM2MyAzNjQgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUzIDM2NSAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jb2wvbXVsdGlieXRlIGIvdGVzdHMvZXhwZWN0ZWQvY29sL211bHRpYnl0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNmQzNmNjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY29sL211bHRpYnl0ZQpAQCAtMCwwICsxIEBACitjb2w6IEludmFsaWQgb3IgaW5jb21wbGV0ZSBtdWx0aWJ5dGUgb3Igd2lkZSBjaGFyYWN0ZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NvbGNydC9mdW5jdGlvbmFsLWhhbGYtbGluZXMgYi90ZXN0cy9leHBlY3RlZC9jb2xjcnQvZnVuY3Rpb25hbC1oYWxmLWxpbmVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3OTU3ZjgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jb2xjcnQvZnVuY3Rpb25hbC1oYWxmLWxpbmVzCkBAIC0wLDAgKzEsODkgQEAKKworICAgMTAwCisgICAgICAgIC0KKyAgIDEwMQorICAgICAgICAtLQorICAgMTAyCisgICAgICAgIC0tLQorICAgMTAzICAgeAorICAgICAgICAtIC0tCisgICAxMDQgIHNoaWZ0CisKKyAgIDEwNSAgZXNjOQorCisgICAxMDYgIGVzYzgKKworICAgMTA3ICBlc2MKKworICAgMTA4ICBlc2M2CisKKyAgIDEwOSAgYmFja3NwYWNlCisKKyAgIDExMCAgdGFiICAgICB0YWIKKworICAgMTExICBhYmMgIGVmZworICAgICAgICAgICAtICAgIC0KKyAgIDExMiAgfC0tLXwKKworICAgMTEzICB8IHggfAorCisgICAxMTQgIHwgICB8CisgICAgICAgICAtLS0KKyAgIDExNSAgbGluZSBsb25nZXIgdGhhbiAxMzIgY2hhcmFjdGVycyBsaW5lIGxvbmdlciB0aGFuIDEzMiBjaGFyYWN0ZXJzIGxpbmUgbG9uZ2VyIHRoYW4gMTMyIGNoYXJhY3RlcnMgbGluZSBsb25nZXIgdGhhbiAxMzIgY2gwMTIzNAorICAgICAgICAgICAgLSAgICAgIC0gICAgLSAgIC0gICAgICAgICAgLSAgICAtICAgICAgLSAgICAtICAgLSAgICAgICAgICAtICAgIC0gICAgICAtICAgIC0gICAtICAgICAgICAgIC0gICAgLSAgICAgIC0gICAgLSAgIC0KKyAgIDExNiAgbnVsbHMKKworICAgMTE3ICBuZXh0IGxpbmUgYXNjaWkgMCAtIDEyNworCisgICAxMTgKKworICAgMTE5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtCisKKyAgIDIwMAorICAgICAgICAtLS0KKyAgIDIwMSAgYWJjCisKKyAgIDIwMiAgIGFiYworICAgICAgICAtCisgICAyMDMgIGEgYmMKKyAgICAgICAgIC0KKyAgIDIwNCAgYWIgYworICAgICAgICAgIC0KKyAgIDIwNSAgYWJjCisgICAgICAgICAgIC0KKyAgIDIwNiAgICBhYmMKKyAgICAgICAgLS0KKyAgIDIwNyAgYSAgYmMKKyAgICAgICAgIC0tCisgICAyMDggIGFiICBjCisgICAgICAgICAgLS0KKyAgIDIwOSAgYWJjCisgICAgICAgICAgIC0tCisgICAyMTAgICBhIGJjCisgICAgICAgIC0gLQorICAgMjExICAgYWIgYworICAgICAgICAtICAtCisgICAyMTIgIGEgYiBjCisgICAgICAgICAtIC0KKyAgIDIxMyAgYSAgYmMKKyAgICAgICAgIC0tCisgICAyMTQgIGEgYmMKKyAgICAgICAgIC0gIC0KKyAgIDIxNSAgYWJjCisgICAgICAgICAgIC0tCisgICAyMTYgICBhYmMKKyAgICAgICAgLSAgIC0KKyAgIDIxNyAgIGEgYiBjCisgICAgICAgIC0gLSAtCisgICAyMTggICBhICBiYworICAgICAgICAtIC0tCisgICAyMTkgIGEgIGJjCisgICAgICAgICAtLSAgLQorICAgMjIwICAgYWJjCisgICAgICAgIC0gICAtLQorICAgMjIxICAgICBhYmMKKyAgICAgICAgLS0tCisgICAyMjIgIGFiYworICAgICAgICAgICAtLS0KK3JldHVybiB2YWx1ZTogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY29sY3J0L2Z1bmN0aW9uYWwtbm8tb3B0aW9ucyBiL3Rlc3RzL2V4cGVjdGVkL2NvbGNydC9mdW5jdGlvbmFsLW5vLW9wdGlvbnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGI0MWIwNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NvbGNydC9mdW5jdGlvbmFsLW5vLW9wdGlvbnMKQEAgLTAsMCArMSw3NCBAQAorICAgMTAwCisgICAgICAgIC0KKyAgIDEwMQorICAgICAgICAtLQorICAgMTAyCisgICAgICAgIC0tLQorICAgMTAzICAgeAorICAgICAgICAtIC0tCisgICAxMDQgIHNoaWZ0CisgICAxMDUgIGVzYzkKKyAgIDEwNiAgZXNjOAorICAgMTA3ICBlc2MKKyAgIDEwOCAgZXNjNgorICAgMTA5ICBiYWNrc3BhY2UKKyAgIDExMCAgdGFiICAgICB0YWIKKyAgIDExMSAgYWJjICBlZmcKKyAgICAgICAgICAgLSAgICAtCisgICAxMTIgIHwtLS18CisgICAxMTMgIHwgeCB8CisgICAxMTQgIHwgICB8CisgICAgICAgICAtLS0KKyAgIDExNSAgbGluZSBsb25nZXIgdGhhbiAxMzIgY2hhcmFjdGVycyBsaW5lIGxvbmdlciB0aGFuIDEzMiBjaGFyYWN0ZXJzIGxpbmUgbG9uZ2VyIHRoYW4gMTMyIGNoYXJhY3RlcnMgbGluZSBsb25nZXIgdGhhbiAxMzIgY2gwMTIzNAorICAgICAgICAgICAgLSAgICAgIC0gICAgLSAgIC0gICAgICAgICAgLSAgICAtICAgICAgLSAgICAtICAgLSAgICAgICAgICAtICAgIC0gICAgICAtICAgIC0gICAtICAgICAgICAgIC0gICAgLSAgICAgIC0gICAgLSAgIC0KKyAgIDExNiAgbnVsbHMKKyAgIDExNyAgbmV4dCBsaW5lIGFzY2lpIDAgLSAxMjcKKyAgIDExOAorICAgMTE5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtCisgICAyMDAKKyAgICAgICAgLS0tCisgICAyMDEgIGFiYworICAgMjAyICAgYWJjCisgICAgICAgIC0KKyAgIDIwMyAgYSBiYworICAgICAgICAgLQorICAgMjA0ICBhYiBjCisgICAgICAgICAgLQorICAgMjA1ICBhYmMKKyAgICAgICAgICAgLQorICAgMjA2ICAgIGFiYworICAgICAgICAtLQorICAgMjA3ICBhICBiYworICAgICAgICAgLS0KKyAgIDIwOCAgYWIgIGMKKyAgICAgICAgICAtLQorICAgMjA5ICBhYmMKKyAgICAgICAgICAgLS0KKyAgIDIxMCAgIGEgYmMKKyAgICAgICAgLSAtCisgICAyMTEgICBhYiBjCisgICAgICAgIC0gIC0KKyAgIDIxMiAgYSBiIGMKKyAgICAgICAgIC0gLQorICAgMjEzICBhICBiYworICAgICAgICAgLS0KKyAgIDIxNCAgYSBiYworICAgICAgICAgLSAgLQorICAgMjE1ICBhYmMKKyAgICAgICAgICAgLS0KKyAgIDIxNiAgIGFiYworICAgICAgICAtICAgLQorICAgMjE3ICAgYSBiIGMKKyAgICAgICAgLSAtIC0KKyAgIDIxOCAgIGEgIGJjCisgICAgICAgIC0gLS0KKyAgIDIxOSAgYSAgYmMKKyAgICAgICAgIC0tICAtCisgICAyMjAgICBhYmMKKyAgICAgICAgLSAgIC0tCisgICAyMjEgICAgIGFiYworICAgICAgICAtLS0KKyAgIDIyMiAgYWJjCisgICAgICAgICAgIC0tLQorcmV0dXJuIHZhbHVlOiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jb2xjcnQvZnVuY3Rpb25hbC1uby11bmRlcmxpbmluZyBiL3Rlc3RzL2V4cGVjdGVkL2NvbGNydC9mdW5jdGlvbmFsLW5vLXVuZGVybGluaW5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwNjczNGMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jb2xjcnQvZnVuY3Rpb25hbC1uby11bmRlcmxpbmluZwpAQCAtMCwwICsxLDQ0IEBACisgICAxMDAKKyAgIDEwMQorICAgMTAyCisgICAxMDMgICB4CisgICAxMDQgIHNoaWZ0CisgICAxMDUgIGVzYzkKKyAgIDEwNiAgZXNjOAorICAgMTA3ICBlc2MKKyAgIDEwOCAgZXNjNgorICAgMTA5ICBiYWNrc3BhY2UKKyAgIDExMCAgdGFiICAgICB0YWIKKyAgIDExMSAgYWJjICBlZmcKKyAgIDExMiAgfC0tLXwKKyAgIDExMyAgfCB4IHwKKyAgIDExNCAgfCAgIHwKKyAgIDExNSAgbGluZSBsb25nZXIgdGhhbiAxMzIgY2hhcmFjdGVycyBsaW5lIGxvbmdlciB0aGFuIDEzMiBjaGFyYWN0ZXJzIGxpbmUgbG9uZ2VyIHRoYW4gMTMyIGNoYXJhY3RlcnMgbGluZSBsb25nZXIgdGhhbiAxMzIgY2gwMTIzNAorICAgMTE2ICBudWxscworICAgMTE3ICBuZXh0IGxpbmUgYXNjaWkgMCAtIDEyNworICAgMTE4CisgICAxMTkKKyAgIDIwMAorICAgMjAxICBhYmMKKyAgIDIwMiAgIGFiYworICAgMjAzICBhIGJjCisgICAyMDQgIGFiIGMKKyAgIDIwNSAgYWJjCisgICAyMDYgICAgYWJjCisgICAyMDcgIGEgIGJjCisgICAyMDggIGFiICBjCisgICAyMDkgIGFiYworICAgMjEwICAgYSBiYworICAgMjExICAgYWIgYworICAgMjEyICBhIGIgYworICAgMjEzICBhICBiYworICAgMjE0ICBhIGJjCisgICAyMTUgIGFiYworICAgMjE2ICAgYWJjCisgICAyMTcgICBhIGIgYworICAgMjE4ICAgYSAgYmMKKyAgIDIxOSAgYSAgYmMKKyAgIDIyMCAgIGFiYworICAgMjIxICAgICBhYmMKKyAgIDIyMiAgYWJjCityZXR1cm4gdmFsdWU6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NvbGNydC9mdW5jdGlvbmFsLXNob3J0LW9wdGlvbnMgYi90ZXN0cy9leHBlY3RlZC9jb2xjcnQvZnVuY3Rpb25hbC1zaG9ydC1vcHRpb25zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkMmQ0NGIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jb2xjcnQvZnVuY3Rpb25hbC1zaG9ydC1vcHRpb25zCkBAIC0wLDAgKzEsODkgQEAKKworICAgMTAwCisKKyAgIDEwMQorCisgICAxMDIKKworICAgMTAzICAgeAorCisgICAxMDQgIHNoaWZ0CisKKyAgIDEwNSAgZXNjOQorCisgICAxMDYgIGVzYzgKKworICAgMTA3ICBlc2MKKworICAgMTA4ICBlc2M2CisKKyAgIDEwOSAgYmFja3NwYWNlCisKKyAgIDExMCAgdGFiICAgICB0YWIKKworICAgMTExICBhYmMgIGVmZworCisgICAxMTIgIHwtLS18CisKKyAgIDExMyAgfCB4IHwKKworICAgMTE0ICB8ICAgfAorCisgICAxMTUgIGxpbmUgbG9uZ2VyIHRoYW4gMTMyIGNoYXJhY3RlcnMgbGluZSBsb25nZXIgdGhhbiAxMzIgY2hhcmFjdGVycyBsaW5lIGxvbmdlciB0aGFuIDEzMiBjaGFyYWN0ZXJzIGxpbmUgbG9uZ2VyIHRoYW4gMTMyIGNoMDEyMzQKKworICAgMTE2ICBudWxscworCisgICAxMTcgIG5leHQgbGluZSBhc2NpaSAwIC0gMTI3CisKKyAgIDExOAorCisgICAxMTkKKworCisgICAyMDAKKworICAgMjAxICBhYmMKKworICAgMjAyICAgYWJjCisKKyAgIDIwMyAgYSBiYworCisgICAyMDQgIGFiIGMKKworICAgMjA1ICBhYmMKKworICAgMjA2ICAgIGFiYworCisgICAyMDcgIGEgIGJjCisKKyAgIDIwOCAgYWIgIGMKKworICAgMjA5ICBhYmMKKworICAgMjEwICAgYSBiYworCisgICAyMTEgICBhYiBjCisKKyAgIDIxMiAgYSBiIGMKKworICAgMjEzICBhICBiYworCisgICAyMTQgIGEgYmMKKworICAgMjE1ICBhYmMKKworICAgMjE2ICAgYWJjCisKKyAgIDIxNyAgIGEgYiBjCisKKyAgIDIxOCAgIGEgIGJjCisKKyAgIDIxOSAgYSAgYmMKKworICAgMjIwICAgYWJjCisKKyAgIDIyMSAgICAgYWJjCisKKyAgIDIyMiAgYWJjCisKK3JldHVybiB2YWx1ZTogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY29sY3J0L3JlZ3Jlc3Npb25zLWNyYXNoMSBiL3Rlc3RzL2V4cGVjdGVkL2NvbGNydC9yZWdyZXNzaW9ucy1jcmFzaDEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjdhN2IxYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NvbGNydC9yZWdyZXNzaW9ucy1jcmFzaDEKQEAgLTAsMCArMSwyIEBACisgVyBVOyAgICBVOyAgRCAgZiBVOyAgRCAgZiAgICBEICBmICAgID4gICAgIEBXICBdfiAgIEstIC0gIC0tLS0gIC0tIC0tIC0gIC0tIC0tIC0tLS0gLS0gLS0tLSAtLSAgLSAgLS0gIC0tLSAtLQorcmV0dXJuIHZhbHVlOiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jb2xjcnQvcmVncmVzc2lvbnMtY3Jhc2gyIGIvdGVzdHMvZXhwZWN0ZWQvY29sY3J0L3JlZ3Jlc3Npb25zLWNyYXNoMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMWViZjc0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY29sY3J0L3JlZ3Jlc3Npb25zLWNyYXNoMgpAQCAtMCwwICsxLDEwIEBACisKK0ZHSElLSUpLTlwKK01OOXwKK1hZWlJuVCBSblRVVnwgICBOWFA6dworTU4KKydRUm5UVVZXWFlaUVJuVFUKK01OOXwKK1hZWiBuVCBSblRVVnwgICBOWFA6dworICAgLQorTU5PUC5yZXR1cm4gdmFsdWU6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NvbGNydC9yZWdyZXNzaW9ucy1oYW5nMSBiL3Rlc3RzL2V4cGVjdGVkL2NvbGNydC9yZWdyZXNzaW9ucy1oYW5nMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjE2ZTQ2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY29sY3J0L3JlZ3Jlc3Npb25zLWhhbmcxCkBAIC0wLDAgKzEsMyBAQAorNzg5Ojs8PT49Pj9JQUJVVk5YWVpbIGBhYmNkZWZnZyAhIiMkJSYnKCkqKywtLi8wMTIzNCkqOiwtLi8wMTIzNDU2Nzg5OjtbPT4/MTIzNCkqOiwtLi8wMTIzNDU2Nzg5OjtbPT4/NDQ1Njc4OTo7PD0+P0lBQlVWTmBhYmNkZWZnICEiCisgICAgICAgICAgICAgICAgICAgICAtCityZXR1cm4gdmFsdWU6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NvbHJtL3JtMi0yIGIvdGVzdHMvZXhwZWN0ZWQvY29scm0vcm0yLTIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmRkNDVhZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NvbHJtL3JtMi0yCkBAIC0wLDAgKzEsMyBAQAorYSAgICAgIGIKK2MgICAgICBkCitlCAlnCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jb2x1bW4vZmlsbHJvdyBiL3Rlc3RzL2V4cGVjdGVkL2NvbHVtbi9maWxscm93Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3Zjk5NTIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jb2x1bW4vZmlsbHJvdwpAQCAtMCwwICsxLDQgQEAKKzAgMSAyIDMgNCA1CTAgMSAyIDMgNCA1CTAgMSAyIDMgNCA1CiswIDEgMiAzIDQgNQkwIDEgMiAzIDQgNQkwIDEgMiAzIDQgNQorMCAxIDIgMyA0IDUJMCAxIDIgMyA0IDUJMCAxIDIgMyA0IDUKKzAgMSAyIDMgNCA1CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jb2x1bW4vaW52YWxpZC1tdWx0aWJ5dGUgYi90ZXN0cy9leHBlY3RlZC9jb2x1bW4vaW52YWxpZC1tdWx0aWJ5dGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E4OTQ3MgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NvbHVtbi9pbnZhbGlkLW11bHRpYnl0ZQpAQCAtMCwwICsxIEBACitjb2x1bW46IHJlYWQgZmFpbGVkOiBJbnZhbGlkIG9yIGluY29tcGxldGUgbXVsdGlieXRlIG9yIHdpZGUgY2hhcmFjdGVyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jb2x1bW4vbXVsdGktZmlsZSBiL3Rlc3RzL2V4cGVjdGVkL2NvbHVtbi9tdWx0aS1maWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMwZWUzMmQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jb2x1bW4vbXVsdGktZmlsZQpAQCAtMCwwICsxLDEwIEBACiswIDEgMiAzIDQgNQkwIDEgMiAzIDQgNQkwIDEgMiAzIDQgNQorMCAxIDIgMyA0IDUJMCAxIDIgMyA0IDUJMCAxIDIgMyA0IDUKKzAgMSAyIDMgNCA1CTAgMSAyIDMgNCA1CTAgMSAyIDMgNCA1CiswIDEgMiAzIDQgNQkwIDEgMiAzIDQgNQkwIDEgMiAzIDQgNQorMCAxIDIgMyA0IDUJMCAxIDIgMyA0IDUJMCAxIDIgMyA0IDUKKzAgMSAyIDMgNCA1CTAgMSAyIDMgNCA1CTAgMSAyIDMgNCA1CiswIDEgMiAzIDQgNQkwIDEgMiAzIDQgNQkwIDEgMiAzIDQgNQorMCAxIDIgMyA0IDUJMCAxIDIgMyA0IDUJMCAxIDIgMyA0IDUKKzAgMSAyIDMgNCA1CTAgMSAyIDMgNCA1CTAgMSAyIDMgNCA1CiswIDEgMiAzIDQgNQkwIDEgMiAzIDQgNQkwIDEgMiAzIDQgNQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL3NlcGFyYXRvcl90YWJsZSBiL3Rlc3RzL2V4cGVjdGVkL2NvbHVtbi9zZXBhcmF0b3JfdGFibGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmY5NzRjMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NvbHVtbi9zZXBhcmF0b3JfdGFibGUKQEAgLTAsMCArMSwxMCBAQAorMCAxICAgIDMgNCA1CiswIDEgICAgMyA0IDUKKzAgMSAgICAzIDQgNQorMCAxICAgIDMgNCA1CiswIDEgICAgMyA0IDUKKzAgMSAgICAzIDQgNQorMCAxICAgIDMgNCA1CiswIDEgICAgMyA0IDUKKzAgMSAgICAzIDQgNQorMCAxICAgIDMgNCA1CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jcmFtZnMvZG91YmxlcyBiL3Rlc3RzL2V4cGVjdGVkL2NyYW1mcy9kb3VibGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2NDFjNjYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jcmFtZnMvZG91YmxlcwpAQCAtMCwwICsxLDMgQEAKK2NyZWF0ZSBtb3VudHBvaW50IGRpcgorY3JlYXRlIGNyYW1mcyBpbWFnZQordW1vdW50IHRoZSBpbWFnZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY3JhbWZzL2ZzY2stZW5kaWFubmVzcyBiL3Rlc3RzL2V4cGVjdGVkL2NyYW1mcy9mc2NrLWVuZGlhbm5lc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTc1OTFiNgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NyYW1mcy9mc2NrLWVuZGlhbm5lc3MKQEAgLTAsMCArMSw4IEBACitleHRyYWN0IGZyb20gbGl0dGxlIGVuZGlhbgorbGl0dGxlCitjcmVhdGUgYmlnIGVuZGlhbgorYmMwYjdiYmVmMDI3NjVkMzJlMDdmYWE3MzVkMmUwYzYKK2V4dHJhY3QgZnJvbSBiaWcgZW5kaWFuCitiaWcKK2NyZWF0ZSBsaXR0bGUgZW5kaWFuCis0NjY2ZjBkMmI2NjFmOWYzOTYyODc3ZWRhYmFkYjIxMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY3JhbWZzL21rZnMgYi90ZXN0cy9leHBlY3RlZC9jcmFtZnMvbWtmcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYzQ0MDk3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY3JhbWZzL21rZnMKQEAgLTAsMCArMSw0MTI0IEBACitjcmVhdGUgbW91bnRwb2ludCBkaXIKK2dlbmVyYXRlIGRhdGEKK2xpc3QgY2hlY2tzdW1zIGZyb20gb3JpZ2luYWwgZGF0YQorMDAxMWE3MmYzOGRhNjY4Zjk0ZWRmYTFkNTA3NDNlMmEgIC4vZGlyLTAwOS9kYXRhLjAwOQorMDA3MWJlYjRiYWE1OTkxNDFhN2U0NDYzMzRkNTgzMDAgIC4vZGlyLTA5Ny9kYXRhLjAwMQorMDA4NzNjODc1ZjM0NjFmYjlmNWJhYTlhMDM5ZjIxOGYgIC4vZGlyLTA5My9kYXRhLjAwMgorMDEyMGZiODEyNjk1OTg0MzhlODRmM2ZlMTBiMjQ2NTggIC4vZGlyLTEwMC9kYXRhLjAxMAorMDEzYjhhZTVjNGIwMTFiODdiMTQyZTVkNjA2NDVmOTggIC4vZGlyLTAyMC9kYXRhLjAxMAorMDE2Nzc5MTQ2MmZmY2FiYThjMjIxNDI2YzI1Y2Y0NTUgIC4vZGlyLTA5Mi9kYXRhLjAwMAorMDE5MzZjMzcxNjljYzc4NmNkYzcyNGFiYmYxOTYxZTMgIC4vZGlyLTA5NC9kYXRhLjAwMworMDFlNWE4YmVlODY0Zjk5YmNmZGU5MWIyZjUwMWZhNTYgIC4vZGlyLTA2Mi9kYXRhLjAwNAorMDI0YjFkNGNiOTM2NjBmMTI1ZTZmNDc4M2UyNjk3MmMgIC4vZGlyLTA3Mi9kYXRhLjAwMworMDI5YzExOTlkMTZiYzhkYTJhZmQyZmUxYzQ3YjY4NTkgIC4vZGlyLTA3Ny9kYXRhLjAwMQorMDJhMWMwYTgyNzcxYzU5MjM2ZWI5ZjMzN2RkMGI0ZGEgIC4vZGlyLTA3My9kYXRhLjAwMAorMDMyY2RiMWFjMjIzYWRmOWVkNDUyNzhlNjRmMjY1ZjAgIC4vZGlyLTA4My9kYXRhLjAwNworMDM2NTVkMDgxY2U1NjdhNGQ1ZmM4ZTBjM2RjNTllM2EgIC4vZGlyLTA4NS9kYXRhLjAwNgorMDM5N2UwMWNmNjgwNTcyODI1NmZhOTI3MmFiNjcyYzQgIC4vZGlyLTA2Mi9kYXRhLjAwMworMDNhNThjZWM1OGY3Yjc0YzBkODgwM2U1YTA1ZGEyMGQgIC4vZGlyLTEwNy9kYXRhLjAwNAorMDNiM2IxNjU0N2IyNWU5NDg0YzUxNmY1ZTg4ZTVjNzUgIC4vZGlyLTA4OS9kYXRhLjAwNgorMDNiNGVkNzBmOTZkNWM2OTNiY2Y3ZjVhNDc5ZWNkOWYgIC4vZGlyLTAxNC9kYXRhLjAwNworMDNkOGE0YWM1YWRkNWE5NWYzZDljYWM4Zjg0N2M4ZTcgIC4vZGlyLTAyMy9kYXRhLjAwMAorMDNkZTJmMDk1OGE3NmU5ZDAxMzg5YjkxOWM2OWVjOTYgIC4vZGlyLTA3OS9kYXRhLjAwNAorMDQzZmE2Y2JhMDg5NDZhZDUwOGNhODkwYTQyZjA2NDQgIC4vZGlyLTAwNS9kYXRhLjAwNAorMDRiZWFjNDllNmQxZjFmOTA2N2RhMjQ5Zjg5NTNmZTkgIC4vZGlyLTA0MS9kYXRhLjAwMgorMDRiZjM2NzIxYzlkYTU1YjJmZDY3ODBhNWE2ZGNlZjAgIC4vZGlyLTAxMi9kYXRhLjAwOQorMDUyYWM3ZmYwNDc5MjhhNGYxYzBkOGJmMzgzMjA0ODMgIC4vZGlyLTAwMC9kYXRhLjAwMworMDUzYjE1Mzk2MDk2YzI3NTFkOWUzMmIxODZiZjA5NDggIC4vZGlyLTAzNS9kYXRhLjAwNQorMDU4ODc5ZTA3MGQ1MWMxZTI0ODdkNDgxZjljNDNiNzggIC4vZGlyLTA3MS9kYXRhLjAwNworMDViZDQzOGQ3YTE1MWViZWMyNGNjZWZmYjc5MmMzYmIgIC4vZGlyLTEwNC9kYXRhLjAwOQorMDViZDliNjkyZWYyZmYyYzNlMmUyMmE1ODJiZmMyNWMgIC4vZGlyLTAyMS9kYXRhLjAwNgorMDY0OTJkZWU1MDE1N2YzNzllYWJiZTgxMWJjYjVhYzcgIC4vZGlyLTA3My9kYXRhLjAwOQorMDY4YzcyNGU3NmRiYTBjODg3YzUzMjNkZTdiN2E0MzQgIC4vZGlyLTAyMS9kYXRhLjAwNAorMDY5Mzc5YWJmZDlmMjZlMjAzYzUzOTIzNDQzZTU4YTQgIC4vZGlyLTA5NC9kYXRhLjAwNgorMDZjMzZmNWRiMGMwMjEyN2RiYmNhNzVjNWQ3YzEzMGMgIC4vZGlyLTEwNC9kYXRhLjAwNgorMDZkMjE5ZDgzZDBkMjE0MmU5ZjdhMDYzNzJlODJmODEgIC4vZGlyLTExMC9kYXRhLjAxMAorMDZkZjcxOGY4ODVmZDcxZjI1Njg5NDBiNjE2NTI4YzMgIC4vZGlyLTA1OS9kYXRhLjAwMQorMDcwMTc4MjMwZWE0N2U5MGQwMGY5YTZmYTE5NzVmZDIgIC4vZGlyLTA3OS9kYXRhLjAwNQorMDcyYzFkMTc1NWE0YWY3ODU1ZGZlYTNjNjhjZjI3MGEgIC4vZGlyLTA2NS9kYXRhLjAwOAorMDdjZDc2N2VmMjRkNGVjMDU3YWI5OGQwYjRiMzg4YTkgIC4vZGlyLTA5MS9kYXRhLjAwMgorMDgxMDI5YjdkOGJiMjdmNmM0Zjc5YTJlNGJhNjdkODUgIC4vZGlyLTA3MC9kYXRhLjAwNQorMDgyNjgwODgyNTQyNTZjMjU4OTRjNmQ3NjkwMmNkNjEgIC4vZGlyLTAzNy9kYXRhLjAwNworMDgyOWMyMGM4MTExM2VlYzA3NTllNWZkZDc0YjFkM2UgIC4vZGlyLTA1Ni9kYXRhLjAwNQorMDgzMTBhZDc4Y2JkM2Q2ZWUxODY0ZTVjMTQ1MjQ4ZDkgIC4vZGlyLTEwMy9kYXRhLjAwMQorMDg0NzhjN2E1MjNhODcyNTEwN2FkODA0YTdkY2RhMWUgIC4vZGlyLTA5Ni9kYXRhLjAwMworMDg3NjNkMjM4ZTAyZDdhYjU3ZDc2MmI1ODAzOGUzOGMgIC4vZGlyLTA1NC9kYXRhLjAwMAorMDhmOTZiZjY4ZWVhOGI4MmJjZTFhNWMxNTY1MDc1YmUgIC4vZGlyLTA2MC9kYXRhLjAwMworMDkwZWQ4ODAzNmE5NjE4ZTRjNDQ4NThkYjM5OTc5M2QgIC4vZGlyLTA0NC9kYXRhLjAwOAorMDkyYmFhOGQyNjU5ZWQ5NDgwM2U2NTJiZTRjOGFmZTQgIC4vZGlyLTA5OS9kYXRhLjAwOQorMDkzZDJkNDU5NzAxNWNhZTQyZGY3ZDNlMmUzYmY4MDIgIC4vZGlyLTA2Mi9kYXRhLjAwOQorMDk2YjdhNGY2N2E1NjFmYTI5MzNiYmVmYmEwMzJjNjcgIC4vZGlyLTAyNS9kYXRhLjAxMAorMDk5YmY0MTA3YWUwMDk0OTdhYmY1MmQ2ZDA4ZjViMzYgIC4vZGlyLTAxMy9kYXRhLjAwNgorMDliNGY1YTJiNDljZWJhNzUyYTYwNDI5N2FiNjA2MzUgIC4vZGlyLTA0OS9kYXRhLjAwNgorMDljYTI1MDliNDE4YjU3MjExODhlYTA0NGVmNmI0YzIgIC4vZGlyLTA2Mi9kYXRhLjAwNQorMDlkNmE4NDRhMGYxOTRmODg0YzhiZmE2ZWQ4MzBhMGUgIC4vZGlyLTEwNi9kYXRhLjAwNworMDlkOTg2N2Y1NjFkMzVkMmRlMzdkOWFlMjk0MDBlZTAgIC4vZGlyLTA4NC9kYXRhLjAwMQorMGE0ZjkxNjEwOTZlY2Y4ZmY4Mzk3Y2ZmY2Q5YmYyYzcgIC4vZGlyLTAwMC9kYXRhLjAwMgorMGE1NGYyYTgzNDdjYWQ3ZTgwNmNkMDI4MGI2MTc0NjMgIC4vZGlyLTAxNy9kYXRhLjAwNQorMGFkYTA0MjgyOGE3MDBhZDI0ODlhMjM0NzNkOGU5MGUgIC4vZGlyLTAwMy9kYXRhLjAwNAorMGFmZDNiNDlmMTZkMjllYmJjNmY0NzlhMzljZTdiZmEgIC4vZGlyLTAzNy9kYXRhLjAwMworMGIwZmI3MmYwM2RiOTljYzcyMmQ0YWFmMmE5OGU1YjYgIC4vZGlyLTAxMC9kYXRhLjAwNQorMGI1MDhiNTAyMWVmZTQ4YWJlYWZiNTliY2U2YTNmNmQgIC4vZGlyLTA5NC9kYXRhLjAwOQorMGI5MzhmMGZlN2JiYjY1MWIxZDI1Zjc3NjNhZTZkNTIgIC4vZGlyLTA1Mi9kYXRhLjAwNAorMGI5OTc0NmYwNDhiNmU0MjFhNDUyZTkzMDI1M2JiMTUgIC4vZGlyLTA1Ni9kYXRhLjAwOAorMGJhYWFlZTFlY2FlYjVmOWNmOGI3NTY3YWZkNGVmODkgIC4vZGlyLTAyNi9kYXRhLjAwMQorMGJiY2NmMDQxMDliMjZmOGQ0ZjFjY2NiMDBmNzI3ZTkgIC4vZGlyLTA1My9kYXRhLjAwNAorMGMxZTNjODY5YjBhZGFhN2NlOTM4NzlhMTUxNzc2ZGYgIC4vZGlyLTAwMS9kYXRhLjAwNgorMGM4MjExZWY0MmQ3NTg5MmM3MDdmMDIyZTJhN2Q0NTIgIC4vZGlyLTA0My9kYXRhLjAwNAorMGM5Mjk4YWVmZTcyMDA0ZDM0NjQzZWRkZWY4ZjRmMWYgIC4vZGlyLTEwOS9kYXRhLjAwNworMGNmY2MxNTIyMzVhYzJmMTU2OWMzOTAwODRiNmQ0NDIgIC4vZGlyLTAxMi9kYXRhLjAwNgorMGQxMzU1N2Y1NjY2NzgzMWE4NTNkNDIyZjQwY2I4OGQgIC4vZGlyLTAxNC9kYXRhLjAwNgorMGQzY2Q5YjIyYjkxMzkxZDE3YzMwZTc5ZmM4OTJhNjIgIC4vZGlyLTA2Mi9kYXRhLjAwOAorMGRhMTE3NTMyY2FkZTQzYTliNDJiNjgxZGJiNGQ5N2IgIC4vZGlyLTA0Ny9kYXRhLjAwMAorMGRiOGFlYTVlY2VmMDQwNzQyZTRkOWIzYmFhNzZkZDYgIC4vZGlyLTAzMC9kYXRhLjAwMQorMGRiYWMxZDY5N2NjNzc2ODVlMWZiODg0OTE2YzFhZTUgIC4vZGlyLTAyNi9kYXRhLjAwNAorMGRiZGVkNGQyMjQ1M2M3NGVkOGNhODc2Yzc1OWMxZDAgIC4vZGlyLTAyNS9kYXRhLjAwNgorMGRjODlhZDkxNjA1NWM3MzIxYWQ4OWUxMzVkNWI1NjUgIC4vZGlyLTA1MS9kYXRhLjAwNgorMGRjYzFiYjViOGM2NzFmYTkwNmE0YzAyN2Y3ODExNDkgIC4vZGlyLTAwMi9kYXRhLjAwOAorMGRlZjllNDlkNDZmODE4ODdhZmQ2MDA0YmEyNzk2NmUgIC4vZGlyLTAxNy9kYXRhLjAwMworMGUxMjU3N2U0NTRhNDQ4NjZmNTRmOTk3Mzg2MzdkM2UgIC4vZGlyLTA1OS9kYXRhLjAwNAorMGUyMGE3MTg5ZjBhOWQyNDM1ZjNiY2ExYzNhNjExMWIgIC4vZGlyLTA1My9kYXRhLjAwMworMGUzODdkNGUxZDI2NjllZGQ1NTI3Njc2ZGM1YWVjODggIC4vZGlyLTA5Mi9kYXRhLjAwMQorMGU0ZDYxNWMyYWFmZGE3Y2E5ZTI0Y2U1YzQ2MzcwNDcgIC4vZGlyLTA0Ni9kYXRhLjAwNgorMGU2NGMzNTZiNDZmNzY5MjMxOTVmZDQ5ZDQ1MmNkYTkgIC4vZGlyLTA5Mi9kYXRhLjAwNAorMGU4ZDk5YTNiMzQ3MzM0ODhkNGQwZTkxODM3YWU2MjUgIC4vZGlyLTAxMC9kYXRhLjAwMworMGU5M2NiODIwNmIzZDkyYzZiMzc3ZjVmMGFlNmMzY2EgIC4vZGlyLTEwMS9kYXRhLjAwOAorMGYwNDhiOWJkYTZmNjk0ZDkwZTk2MWE1ZjgzYWUyMDAgIC4vZGlyLTAzOS9kYXRhLjAwOQorMGY1Y2RjNjVlZjg0NzNmMzI1MzNlM2Y1NmRjYTJlYTQgIC4vZGlyLTAzOS9kYXRhLjAxMAorMGY5OWRmZmJiNzgwYmY0YWM1MzgxZjJmMTQ3ODJhNmUgIC4vZGlyLTA0MS9kYXRhLjAwMAorMTAyOWU5MTJmNmVjYzkzMDU1ODVlODMzM2Q3MTYwMmMgIC4vZGlyLTEwMS9kYXRhLjAwNAorMTAzYjhlMjk5YjZlZDViNDdkNWViNmFmN2QwNGQ4NWYgIC4vZGlyLTAwMS9kYXRhLjAwOAorMTA0MTc5MDNiMzEyODQ5N2ZmYWU1MTJlOTQxM2QyYmIgIC4vZGlyLTA2OS9kYXRhLjAwMAorMTA4YzYxNTYyN2UzYTI4NzRmZmNkMGM3ZGFmOTNmYWIgIC4vZGlyLTA0OS9kYXRhLjAwMgorMTBlNmUxMDk3YzlhNGMxN2FlYjIxMWEyOTIwZTg3MmEgIC4vZGlyLTA4MC9kYXRhLjAxMAorMTBmYjVkYTA0MTM0YzY2M2IwNTU0YWYwODRlMmE3ZWMgIC4vZGlyLTA5NS9kYXRhLjAwMAorMTE0ZjZiYzBmY2Q4NzYzNWE2YmYzMDQwMDhlOWI1YzQgIC4vZGlyLTA5My9kYXRhLjAwMAorMTE1MWFlNjJkYjE1NWEwMTU3MWQ3Yzc5ZWU5MzA3ZDMgIC4vZGlyLTAwMi9kYXRhLjAxMAorMTFiM2RlYzJiZmY5NjVhZjZiMzY2NzBkZmQ3YWU1NzMgIC4vZGlyLTA1Ni9kYXRhLjAwMQorMTFlMzYxYjc1ZGZmYmUwZWQwOWNkYTYzOGQ4N2UyY2QgIC4vZGlyLTA0Ny9kYXRhLjAwNworMTFlOWMwNmMwZDdjMzU1ZjFiYjBiZjhhZDMzNzZhY2IgIC4vZGlyLTA4My9kYXRhLjAwMQorMTFmYjU5Y2IzNTU3MDgxZWQ3MjE5NjY2Yjc0Mzc0YjQgIC4vZGlyLTAwNC9kYXRhLjAwNQorMTI1MTgwM2Q5YjMxY2ViMWVlMjkwMGE4NDA3Yzc2MmYgIC4vZGlyLTAxOC9kYXRhLjAwNAorMTI1ZjcxYzUwMTZlOTJiMzY1OTA3MGVkMDRmNThiZTYgIC4vZGlyLTA2MC9kYXRhLjAwNworMTJhYTVkMGRhYzBlYjUxZTdkMjJiODgyNDYyODJmMDMgIC4vZGlyLTA5My9kYXRhLjAwNgorMTJjZmIzYWY4NmI3Y2MxNDFhM2ZlOWE2MjY4NzI2YTUgIC4vZGlyLTAyNC9kYXRhLjAwNQorMTMyYWY3MDA1MjU1Y2M0YjAzOGFkOTAyMWVjYTM4NDAgIC4vZGlyLTA2Ni9kYXRhLjAwNQorMTNjOGViMDcxYzhlOGJkNjg0MjFkMzdmOTI1NjAxZTQgIC4vZGlyLTAxNi9kYXRhLjAwMAorMTNkZDE0ZTU1Y2RhOTJkZWY2ZjExZGI0ODI0MzRhMDAgIC4vZGlyLTAyMi9kYXRhLjAwOAorMTNmNjczNjZlZTVjOGFkYjQwZTgwZDNhNWNkMTdmYjcgIC4vZGlyLTA2Ni9kYXRhLjAwMQorMTNmYjIzNmU1ZjI3Yjc4OWZjMzFmMWNmNWIxYjg4OTIgIC4vZGlyLTAxNS9kYXRhLjAwMworMTQ1MDZjMTg4MDRkZWJjZWJmMjdhMzc3YWEwNGVhYTYgIC4vZGlyLTA4Ny9kYXRhLjAwNworMTQ1MjhiZmFhMGExYWNhNjNjYmM4MGFjYWI5NmY4MDAgIC4vZGlyLTA1MS9kYXRhLjAwOAorMTQ4Y2Y1YzVmZWI3MjIwOTI0NDFlYzg3YjdhNTYxMWEgIC4vZGlyLTAyNS9kYXRhLjAwNworMTQ5Yjc2NzRhOTI3OTZiZWM3ZjYwNjZiYmRlZjlhM2MgIC4vZGlyLTAyNy9kYXRhLjAwNworMTRkYTA4YjJkODViZmM4MWMwYjBiOTI4MTc5ODk3OTEgIC4vZGlyLTAzMy9kYXRhLjAwMgorMTUwMGE0YzUwNTRkODdkZDYxYzM5MmYzMzg2OGRhNGIgIC4vZGlyLTAzOC9kYXRhLjAxMAorMTU5ODdjYjNkYTYyZjQ1YzdhZWU3YTBhYjk1MTgyMDYgIC4vZGlyLTA4OS9kYXRhLjAwMQorMTVjMDUzMjdmMzM3YzdkNzQxNGQ0NzJmYTc3MGVjM2MgIC4vZGlyLTAzOC9kYXRhLjAwMworMTVjY2Q1YTMxMmViNzcyYzg1YTQ0YTYzMDk5MzIyYWYgIC4vZGlyLTA0NS9kYXRhLjAwNQorMTVmMzBhMzI2NGMwZjhjNTdlNmQ3NDk3YTQwNjRmZWQgIC4vZGlyLTEwMC9kYXRhLjAwMworMTYxNTY3MThiZWNlYmYwZjk3NTEzNmRjYTZjNmFlNTYgIC4vZGlyLTA0Mi9kYXRhLjAwNQorMTYyNGQyYTRlYWQ2MWNiM2M4ZTI1YzIxNzk0ZWE2NzkgIC4vZGlyLTEwNi9kYXRhLjAwNgorMTY4Yjk3YmRhOGFhNmY3OTVkOGY3MjcyMTk0ZDFkNWEgIC4vZGlyLTAyMC9kYXRhLjAwNgorMTY4ZjdlYjgyZGQ3ZWI3OGM0YTUyMjFkMmU1ODFkZGUgIC4vZGlyLTA2NS9kYXRhLjAwMgorMTZjZjhjNmFjZDNjZDFjYTJmYzRiZmM5YjU0Mzk4MmEgIC4vZGlyLTAwNy9kYXRhLjAwOQorMTcxNDkzM2IxMWE0YThlNjAwMDU3NTY1ODY2ZWM0MjMgIC4vZGlyLTA4MC9kYXRhLjAwOQorMTc0NTY1NmY5NjAxZmJkNTE2MzE0NDUwMGVkYTY1NjggIC4vZGlyLTA1Ny9kYXRhLjAwNAorMTc5MzUzY2UxNDhjMzc0MjVkNzY2ZWE1YjQzZGMzMmIgIC4vZGlyLTAyMy9kYXRhLjAwNworMTdmNzc4NzQ1N2U1ZmQxYTg2MDFkZDIzNzVlZWE3NzcgIC4vZGlyLTAzNi9kYXRhLjAwMworMTgxNWM2MzE3NTI4Y2FmZDJhMWU2MTQyOWQyOWUxY2YgIC4vZGlyLTAwOC9kYXRhLjAwMworMTgzNmZkMzliMDVkOTRhODYwZDcyN2Y5NzJhMTg3MjkgIC4vZGlyLTAyOS9kYXRhLjAwNworMTg2OTkyNTcyZTk3ZGMwYTM2ODhiMjIwMmMwNjZhNzAgIC4vZGlyLTA2Ni9kYXRhLjAwOAorMThiNGE0MzdkODFhY2Y1OTRjYzE0ODIwMzE5ODdmNjEgIC4vZGlyLTA1OC9kYXRhLjAwOQorMThkOTc4YzZmNTRiNTBiYWNjNTFiNWJlMmE2YmE2ZGUgIC4vZGlyLTA1MS9kYXRhLjAwMgorMThlZGYzM2RhMmM3ZTg1YjZhMmQ1NGIwNGY3OTY2NWUgIC4vZGlyLTA5My9kYXRhLjAwOQorMTk0NzY4MWViZGI2NWNmYzZhNDg1NTZlYTlkOTIzZDkgIC4vZGlyLTAyMy9kYXRhLjAwNQorMTk2OWVjZDIyNWI5ZDZmYTQwMjliZjY3M2RiZWE0ZGUgIC4vZGlyLTAzNi9kYXRhLjAwNworMTlhMzRmOGM5MDE2Y2VhOGQ1OGYwMmI4MTZkNDQ3NWQgIC4vZGlyLTA2NS9kYXRhLjAwMworMTljM2Y3YmE2M2Y2NGNkNmU4NGQyOGU5NzQ4MzQxMDEgIC4vZGlyLTAxMi9kYXRhLjAwMgorMWEzNWUxOWM2ZmFiNGZhMWQ4MThlNmVmYjc5YTdiMTggIC4vZGlyLTA1Mi9kYXRhLjAwMworMWE5MmZkNWE0ODIxZTkyNDQ2MTQyOTU3NzQ5MTQwN2QgIC4vZGlyLTAwMi9kYXRhLjAwMQorMWE5NzNmMmMwMGQwMDkwNjA3YTA1ZDYwOGI4MTg5N2YgIC4vZGlyLTA4OC9kYXRhLjAwNQorMWFjZGFiNDgwYzUyYTQ1NGJhNTU1MmMyOTUxNmQ5MzMgIC4vZGlyLTA3My9kYXRhLjAwNgorMWFkMTdjNDYwMzYwOWEzNmE3MDQ5MTRlNmY5MWQxZTYgIC4vZGlyLTAzNC9kYXRhLjAwMgorMWIxZGRmYjg4ZjBjZjM3ZDk2YTQ0ZWRlYjI2NjI5ZjkgIC4vZGlyLTA0My9kYXRhLjAxMAorMWJiNTM3NDdiZTZhZDhhM2U3ZGE1N2M2MGFlNTRiZjQgIC4vZGlyLTA0Ny9kYXRhLjAxMAorMWJiYjZiMWVhNzgwNmI5MmU0MzFhYTQ4MWJhNTMyNTYgIC4vZGlyLTA1OS9kYXRhLjAwOQorMWJlZmNjMDA0MGM2YTNiN2U5MzZhODliN2RjYzhkMWYgIC4vZGlyLTA1NC9kYXRhLjAwMworMWJmM2Q5NmM2M2YwODI1YTAyMzhiM2M3MTFiMmFkZDEgIC4vZGlyLTEwNC9kYXRhLjAwNAorMWJmZTYzNjdjNDZlNTBlMzRmOWY2OGRlYmUyZmQ5ZTUgIC4vZGlyLTA2Mi9kYXRhLjAwMgorMWMwNWYzMTQ2NmE2YjA1ZjFkNzMxMjA3NjA0MjFiMDcgIC4vZGlyLTAxNy9kYXRhLjAwMgorMWMxMDBmYTRhOTlhNjM1YjM5ODI2ZmJmMzJhMTg1ZWEgIC4vZGlyLTA0Ni9kYXRhLjAwMAorMWM0MDcwZjZmMjUwNmE1ZDU5ZGFjNjM1NzlkYjVjNWYgIC4vZGlyLTAwOS9kYXRhLjAxMAorMWQyODZhYzVhN2Y0NDc3YjA3Y2JmMmI4ZmE2MDhmMzEgIC4vZGlyLTAyMi9kYXRhLjAwNworMWQ4NDJmOTUyODUwZWNiMDdiOWY4YWI1OWNkYmJkZmMgIC4vZGlyLTA3NC9kYXRhLjAwOQorMWRhYmU3N2JlMTMwMDc3YTFlMmRlN2IxYjI0MzYzOGYgIC4vZGlyLTEwOC9kYXRhLjAwMQorMWU0YjkwZTcwYzU1MzExOTNiODJjYzNiNjE1ODUzYTMgIC4vZGlyLTA4My9kYXRhLjAxMAorMWU0Yjk5YzBjNmM5N2NiZTU5YzAxYjZiODFjZGQ1NWEgIC4vZGlyLTAwMC9kYXRhLjAwNAorMWU2ZmQ0ZWU0NzM3ZWU0NDdhZGUyMTY1MTA0ZjRkYzMgIC4vZGlyLTA0NC9kYXRhLjAwMQorMWU4MmE1ZTk3N2U3NWQ2ZmYxMmJhNGU0YjgxMjE5OTQgIC4vZGlyLTAyNS9kYXRhLjAwMQorMWYwYTdhZDkzMzA4MTgxNTNlNmQxMzcwNTM4OWY1MDYgIC4vZGlyLTA5OC9kYXRhLjAwNAorMWZhYTEwZmY1NGM1MWU5ZTZhNjkxZDIwMjBiMjgxODAgIC4vZGlyLTAxMy9kYXRhLjAwOQorMWZiYWZkMDUzMWY1ZGJmM2U4NGE4NWMzYWZlZjcxNTkgIC4vZGlyLTA5MS9kYXRhLjAwNAorMjAxODgyNzA4MTg1ZmQxNWFiMTY0ODI2ZTdlNGFiM2IgIC4vZGlyLTAwNy9kYXRhLjAwNQorMjAyOGUyNWVlN2VhMjQxMGIwNWM5NmUyNTMxOTk5YWYgIC4vZGlyLTAwOC9kYXRhLjAwOQorMjA0ZjY0Y2E5MzQ0ODljOWMzMjFiNzcxNmFiZTYxMzcgIC4vZGlyLTAxMy9kYXRhLjAxMAorMjA5Y2ExMTg1NzQ5ZjVmNzYwZjNjMmIxZWVhYmNmOTQgIC4vZGlyLTA4MC9kYXRhLjAwNworMjEwNGJmYTBkNWNjODE2NjJmMGYyNTFkYzg4ZWQxZjAgIC4vZGlyLTAwMi9kYXRhLjAwNworMjEzMzU2YzZlMDUwYWExZjQ0ZmRiNjc1NTRkOTk4N2QgIC4vZGlyLTEwMC9kYXRhLjAwNgorMjFjZTk1ODc1YjM0OWFjOGM0YTU2NjFlYzdmYjFjNWEgIC4vZGlyLTEwOC9kYXRhLjAwOQorMjI1MTE3ODk5YmRkNTBiNmZkNzU0ZmFjNDY4NTIzZTYgIC4vZGlyLTA0Ni9kYXRhLjAwNAorMjJjN2M0ZDYxYjI1NGU2N2JmYjYyMjkyZjY4MTMzMDAgIC4vZGlyLTAwNi9kYXRhLjAwOQorMjMwNWNkZDUxNWVhMDNlMGUzZDlkZDc4OTNjNDhlNWUgIC4vZGlyLTA5My9kYXRhLjAwNworMjM0Mzk0N2JjYjJhY2E1YTU4MzQzNGUyMGI5YWZlODMgIC4vZGlyLTAzMS9kYXRhLjAwMQorMjM3YzVkM2I3YTU1NjY3MGExMTliNmJlZGY0YTdhNDQgIC4vZGlyLTA2NC9kYXRhLjAwNQorMjM4ODdmYzk3ZDVkZTg0NmRiYjliMjZmZTQ4NTYwZTIgIC4vZGlyLTEwNS9kYXRhLjAwMworMjNlOThjOTljMTRkYzc0YmYzM2Y0MGY4NDM4ZDU5NDcgIC4vZGlyLTAzNS9kYXRhLjAwMgorMjNmMmRjZjZiYjA0NTRmZDIwNTg0NDJhYjZjOTJiMzIgIC4vZGlyLTA1OS9kYXRhLjAwOAorMjNmYWNkNTA3ODRiOTFlZmUyZTVlODE2NzhiZjA0YmIgIC4vZGlyLTA2OS9kYXRhLjAwNgorMjQyYmU2OGIzNzIwZTU4NjhlN2Y3NjUyZGE1YWYwNDMgIC4vZGlyLTAwNi9kYXRhLjAwMQorMjRhODYzOTczZjhlZjY3NGIzNTdlMTE4OWI0MGRlNjkgIC4vZGlyLTA2MC9kYXRhLjAwMAorMjRjOWY0MzcxYzkzNjdlYjU0NDc5MTk4ZGIwNjE3NDggIC4vZGlyLTA3MC9kYXRhLjAxMAorMjUzNzUxMGNlZjVlNjYxMjZhYjRhNWYyMDM4ZGU5OGIgIC4vZGlyLTAxMS9kYXRhLjAwNAorMjUzZTdkYzAzMDdlNTQ1ZmI0NGZiNWU2MjE4ODM4OTUgIC4vZGlyLTAwMi9kYXRhLjAwMAorMjU3Mzk0YzlkY2EzZGI3ZTczN2ZmYTFkMDQxOTMxN2QgIC4vZGlyLTA3NC9kYXRhLjAwMAorMjU4NWRjZmFlNDZiYzRjNDQ0ZjM0NDE2ZTQ4ZGEzNzEgIC4vZGlyLTA1MC9kYXRhLjAwOQorMjU5NWM1ZDVmMTU2NDhmNWI3ODRjYzMyN2EwYjk0ODAgIC4vZGlyLTA3Ny9kYXRhLjAxMAorMjVkODNkZTA5ZDA3NTAzNmMzN2Y0ZmE0MDg0ZTgxZjMgIC4vZGlyLTA2Ni9kYXRhLjAwNgorMjVkYWJiNjNkYjdlNjllNDlhMjAwNzhlM2YxYzczOTggIC4vZGlyLTEwMy9kYXRhLjAwNAorMjY1OTA1ZTU4MzYwZDRlZTRjYWJlN2ZhMjRlYjQ5YmMgIC4vZGlyLTA4Ni9kYXRhLjAwNworMjY5YmM0YjdmNGQxNmM2NjkwN2Q0NTAzNTY2NjFiNmUgIC4vZGlyLTA4OC9kYXRhLjAwOAorMjZiNmE3NGUzZGFiZmQzYzlhNDY1ZjcwNTMzODdmMTkgIC4vZGlyLTAxMy9kYXRhLjAwMAorMjZiNzFkMmEwZTQzYzk4MzdkNTY3NjYyYmY5YzdhMDEgIC4vZGlyLTAzNi9kYXRhLjAwNgorMjZiYTllN2JmMWZmYTI3NTYwMmFjMjM1NjQyYWVjMjIgIC4vZGlyLTA2My9kYXRhLjAwNgorMjcwYzYzYjE5ZDliNGM5ODY2ZGYxYTdhOWQ5NjRiYTMgIC4vZGlyLTA1OC9kYXRhLjAwMQorMjc0N2Q1ZGZkYmQ0ZjVjZTc2NjQyOTExZmQxY2Q3YmEgIC4vZGlyLTAzNy9kYXRhLjAwNgorMjc1NzE5YTdkMmUxMGZkMGNjMGRiZDQwNmE1ZGQyODQgIC4vZGlyLTAzMC9kYXRhLjAwMworMjc5NzRhYTQ4MDFhN2MzYWY4NDI4OTkyNzJiOWY2ZDUgIC4vZGlyLTAzMi9kYXRhLjAwMgorMjdhMWE4MjdkODAzOTk2NjUwYmU3NTU0NzkwMjA5YmIgIC4vZGlyLTA5OC9kYXRhLjAxMAorMjgzYzlmOGQzZGM1OWNmZjQ4NTBjYTZkOTc2NTQ1ZDAgIC4vZGlyLTAxMC9kYXRhLjAxMAorMjg1MDNjODU5Yzg5YjVkOTk1M2Y1YmYwODRiNDQ0MDkgIC4vZGlyLTA5Ni9kYXRhLjAwNgorMjhiYTgzMDE4YzdmOGQ3OWE0YmZiMmFhOTRlY2Y3NzcgIC4vZGlyLTEwNy9kYXRhLjAwNworMjhmMmM3NDA4Mjc3NjU3ZTRjMmM1YjJlODAxN2JjYWYgIC4vZGlyLTA4OC9kYXRhLjAwNgorMjkwNjE2MDA3ZDc2YmJlMDVhNjFjNzM2OTNhOWIwNzAgIC4vZGlyLTAwMS9kYXRhLjAxMAorMjkwOTJlOTRiZTNlNzRhMjQ2YzI0MzgzZjkyMDc1M2YgIC4vZGlyLTAzNS9kYXRhLjAwNgorMjk1N2FlOTY2MzQwNDRhNDJiYmM0YmIwNzA3Y2QyMDIgIC4vZGlyLTA2Ny9kYXRhLjAwNgorMmExMWQ3ZWNlYjM1ZDhmZjgyNDhmMGVjNjdhNGVlNTUgIC4vZGlyLTAwNC9kYXRhLjAwMgorMmEzOWY3NDkzZTU2NDZhMzhlOWY3MWViMjAyZGJjMmQgIC4vZGlyLTAyOS9kYXRhLjAwNQorMmE0YjRmZjQ3ZDdhYjk3MTE3NTc2MzdmNDgwYzA1ODYgIC4vZGlyLTA5Ni9kYXRhLjAwNAorMmE1YTc0OGQ2NTk5MWY2M2Y2ZGEzOWE5N2EyMmNjZmQgIC4vZGlyLTEwOC9kYXRhLjAwMAorMmE4ODYwNzM5ZjlkMmRiZGE2NWU0ZDg1MmUwZmQzMDkgIC4vZGlyLTA3Ni9kYXRhLjAwMQorMmE4ZDcwNWI5MGI4MmFmNDU1YWNmYTdkOWMwZmMzYzkgIC4vZGlyLTA2OS9kYXRhLjAwOQorMmFjZTRiMGQ4ZWYxMjJiZDkxOGU4ZDUzODcxNGVlNzMgIC4vZGlyLTA4NC9kYXRhLjAwMgorMmIwOGMyZjE3ODNmODY1MDUxMzY5YmY0MWI0N2Y5NjAgIC4vZGlyLTAyMy9kYXRhLjAwMworMmIzMWI2OGQxN2VjNjNiMGUxYTUwMTc2YzQ5MDMwZTQgIC4vZGlyLTA3Ni9kYXRhLjAwNworMmIzNjBlOWM1MDIyNWUxZWJmOGJmOTVmYzA5MzllMmYgIC4vZGlyLTAwNi9kYXRhLjAwNQorMmI1NDVlNmU2Y2EzYjY2MzhiNjE4YzM0YWFlZmRiZjIgIC4vZGlyLTEwMC9kYXRhLjAwMQorMmI1ZDE4MTA4ZTAzMDkzNTRiNGY4MGIxODVlMjMyM2EgIC4vZGlyLTA1Ny9kYXRhLjAxMAorMmI4MjQ0OGU2ZmNjYWMzNDQxZDlmN2Q3YTEzMDc0ZDQgIC4vZGlyLTAzMS9kYXRhLjAwNworMmJjYzI4MTlhMjg4ZWU0ZWMyYzljMDBjNTg1ZjY3ZDkgIC4vZGlyLTAyNy9kYXRhLjAwMQorMmNiYzliMzkyMmU1ZDc1YThjNGU1NzVlNTMwNjVmMmYgIC4vZGlyLTEwOS9kYXRhLjAwMAorMmNlN2M5ZDVlMWE0YWVkMWU5ZGVjMWFhODUwMjFmNGMgIC4vZGlyLTAxMC9kYXRhLjAwNgorMmNmN2M2ZTAzOGQzNzQ0Mjc1ZDhmZmI4YjRhYjUyZDAgIC4vZGlyLTA5Ni9kYXRhLjAwMQorMmQwNDk0YTM1MGE1NzBiZjg2NTk2ZWI1ZGNkM2U1NzUgIC4vZGlyLTA1OS9kYXRhLjAwNworMmQxY2FlM2Q1MTUxYmViZTEyYWU3ZDk3ZDllZmI5MmQgIC4vZGlyLTAwOC9kYXRhLjAwNAorMmQyN2VjMGQzMThjZjU2ZDhlY2MyMjZhOTcyZGI2NzcgIC4vZGlyLTAyNy9kYXRhLjAwMgorMmQzOTJhN2IzZGNmYTZlZTEzOTlkZTk0MTZhNDFiNjAgIC4vZGlyLTA4My9kYXRhLjAwNQorMmQ0NDMzYjZlMzJiZGE4ZTU2M2YwNDJmYjc5OWU4NmQgIC4vZGlyLTExMC9kYXRhLjAwMgorMmQ3MGMxMjlkODU3ZDIyYTgyNjZjMmU1ZjNlZTQ1NjMgIC4vZGlyLTA0OC9kYXRhLjAwMQorMmQ3NmI5Nzg0YmJiNjhjNjcwYWVhZTEzNGYxYzZjMzIgIC4vZGlyLTA5NS9kYXRhLjAwMQorMmRiZWYwNDQ1ZDFiNDUwYjg4YjllNTgxNzc0MWYyOTUgIC4vZGlyLTA3Mi9kYXRhLjAwMgorMmRjMTg0ZThlY2U3NzQ0ZGU5OTEyZDQ2NzFmMmYxMTYgIC4vZGlyLTA0NC9kYXRhLjAwOQorMmRmNTg3N2RmZjdmNzdlNDhhYTQ1YmI5NmRlOWYzNjIgIC4vZGlyLTA3MS9kYXRhLjAxMAorMmUwM2Y3YjI1OGQwMGMwYzVmZjEwNDI1YTcwMWI0NTcgIC4vZGlyLTA4Mi9kYXRhLjAxMAorMmUwYmY5MDMwMDkyZGQ3N2VkNDRjZDdhMjU0OTc0OTYgIC4vZGlyLTA3Mi9kYXRhLjAwNgorMmUwZWU3OTY2NjkwNGUzNjI5YzgwMWYyZTM5ZWVlZjQgIC4vZGlyLTAwOS9kYXRhLjAwMQorMmU0M2FkYTIzNDc3NWFkYjc3MTg4YTg0MGVlZTE1MjUgIC4vZGlyLTAyMC9kYXRhLjAwOQorMmU2NDhhMTM4ZjA0ZGFiYTNlYzMwZDllZTg1MDJhMDMgIC4vZGlyLTAyOC9kYXRhLjAwMgorMmU5MGNkNTRmODAzNTJlYzdkMDNmYTk4NzM3MjQ1YjUgIC4vZGlyLTAzNC9kYXRhLjAwOQorMmYyNTNjYjVjMDY1YzkwY2JjNWQ2NjY3NDEzODYyYTggIC4vZGlyLTA2Ni9kYXRhLjAwOQorMmY1MTYwOGNkMWMwYWVkNjRmMmIwYjY1ZmExMDIwYzMgIC4vZGlyLTAyNS9kYXRhLjAwOQorMmY4ZDY4YmM4ZWMxYzVkYjhjZTJmNzBjODdmOTFlNjggIC4vZGlyLTA2Ny9kYXRhLjAwMworMmZhMDFhNmIxNGVhOTFjMDI0NjBjMGJlYjcwZjY5YzcgIC4vZGlyLTAwMy9kYXRhLjAwNQorMmZkNzZmYWRiMTI0YzcwMWU4NTI3NjMxMzE0ODA0NTcgIC4vZGlyLTAwOS9kYXRhLjAwNworMzAxZTk2OTI1NDI5YTU3N2NmZmQzODA1YzJiNjc4MWUgIC4vZGlyLTA2MC9kYXRhLjAwNQorMzA0ZDAzNGMxMGMzZjJlODY1OWIyNTA0OTAyOGRkNjAgIC4vZGlyLTEwNC9kYXRhLjAwMworMzA1ZWIwMjdhYjIyMzc1ZTI5ZjZjZTU0NGZiZDA3YmMgIC4vZGlyLTA2My9kYXRhLjAwMgorMzBhNDRlYWNkMGFmNjc0ZjE3MjVmZGEzYjc0NDhmNGQgIC4vZGlyLTEwMS9kYXRhLjAwOQorMzExNzljNTBiYzE1NTNjY2UyMzVjOWFhNjI1YzE2YWUgIC4vZGlyLTEwNS9kYXRhLjAxMAorMzEzZmRiODU4NWMxNmZmZGViMDA5YzBkMzI1NmEzYjEgIC4vZGlyLTA3OC9kYXRhLjAwMAorMzE2OWNkZjUyNGJhMjAwNTY0NGQwOWNlMmQ3MmQ2OTQgIC4vZGlyLTEwMC9kYXRhLjAwMAorMzFjNWI3MzY1NzUwY2E3ZmJmNzg5YzRjYTMyNTAxOGQgIC4vZGlyLTEwNy9kYXRhLjAwOQorMzI5Mjg2NTBkYzcyZjg4MTAwMDdlZmZhOGRiMDAxMTkgIC4vZGlyLTAzNS9kYXRhLjAwOAorMzJhZjkyZTIzZTQ1M2M3MjQxN2FjZjU2ZDNhYjZmZGUgIC4vZGlyLTAzMy9kYXRhLjAwNworMzJjZjFkZmNiOWJkNzIzNTNmNDY5OTMwMDZjYjJkMGMgIC4vZGlyLTAwMy9kYXRhLjAwNworMzJlM2Y3MmIxZmNhNWFjMzE3NmU4ZGJlMTEwZTc1N2EgIC4vZGlyLTEwNC9kYXRhLjAwNQorMzM5OGJmNzMzZDRkMjZhN2E4MzA0NzQwMzgxYTgzMzMgIC4vZGlyLTAzNi9kYXRhLjAwOAorMzNlODJkYmViYmY3MTBhMWIyMDM2NTU1MTA0NDNmZjEgIC4vZGlyLTAzNy9kYXRhLjAwOQorMzNmYzUwMmEwZDA2MTZmNzY1NTE0NDZlZjE5NjVjMzAgIC4vZGlyLTA2NS9kYXRhLjAwNQorMzQ4MWU4YjIxODE0MWU2ZTZkYzliNzUyOTY1MDhiMTUgIC4vZGlyLTAzMy9kYXRhLjAwNAorMzRhMTk5N2NhODg2ZDdjMTNiYTQ5MzZmNGM4ZTBkYWEgIC4vZGlyLTAxOS9kYXRhLjAwNQorMzRjOTkzNmM0NmE4NDcxNTIxMjVlNTgzODM5YzEyYzYgIC4vZGlyLTA0My9kYXRhLjAwMworMzRmMTAyYjYzZTUzMDg5NjRlMmY5NzI1Y2FmNmVjMmMgIC4vZGlyLTA4OC9kYXRhLjAwMAorMzRmMTYyNzc4NmQ4ZDc3MTU4NDJhZjJiY2JjOTJkZDggIC4vZGlyLTAyMi9kYXRhLjAwMAorMzU3NjcxZTIwZjU5MDkwMGEzODY5YmMyOWRiZWUxZmQgIC4vZGlyLTA1MS9kYXRhLjAwOQorMzVkM2ExYmQ1ZGQxYTNmN2QwYjUwZmIyYzU0MDY2NDUgIC4vZGlyLTAzOS9kYXRhLjAwMworMzVlY2MwMTQ0YmNhMzVmNTE5OTg1YWFhMTViZTI2Y2IgIC4vZGlyLTEwNi9kYXRhLjAwNAorMzVmZmJlNmU2MmRhNWIwYWU5YzA2MzYzNjAwYjA3MTUgIC4vZGlyLTA0OS9kYXRhLjAwMAorMzYwM2RkOGMxZjIzNDZlZDA3NzBhYTU0ODUxM2ViMzQgIC4vZGlyLTAyNC9kYXRhLjAwMgorMzYxYjg0NWFhMzBkYmQ0NDJjZjJmMGI4N2FkNDc0MWEgIC4vZGlyLTA1NS9kYXRhLjAwMgorMzYxZmQ5YjY2NDhmOTVmZjdlZWM4ZDcxN2QxNzliYzAgIC4vZGlyLTA4OS9kYXRhLjAwOAorMzYyNzBhNDE1MDk3ODY1ZGJhNjg0NzhmNjk2MjhkYjEgIC4vZGlyLTAwMy9kYXRhLjAwNgorMzY1M2E5ODliOTc2NGIyZmQ1MzAzMjRhOThlYzgyMTggIC4vZGlyLTA2Ny9kYXRhLjAwNAorMzY1NTFhZjc3NzA2YWU1NmRjMjI4YzExNTFjYWE3YTYgIC4vZGlyLTA2Mi9kYXRhLjAwMAorMzZiNTVmNzc1NzBkMWI0NjM4MGQ2MDE4ZjUyNjYxZTcgIC4vZGlyLTEwOS9kYXRhLjAwNAorMzZkNjhiOWNmYzUxYWFjY2UwODA2NWQzN2ViNTAwYzYgIC4vZGlyLTEwMi9kYXRhLjAwMworMzZmYzMxYmFiYWQ4OWVmMjZhY2QwMzM3YTc5Mjg2ZDMgIC4vZGlyLTA0OS9kYXRhLjAwNAorMzcwNGM1ZmQ2YTQ0NmQ1MzBiY2NhMTgwMDRmMmIzMWQgIC4vZGlyLTA4MS9kYXRhLjAwOAorMzcwNzc2MDc5OGQ0ZTUwZGE3MGJhZTBlOGQyYzRjMjggIC4vZGlyLTA5NS9kYXRhLjAxMAorMzcxNzE5ZmU1Y2QwNTJiZTJhNjNjNjQ0NGVjNzc0MTMgIC4vZGlyLTA0NC9kYXRhLjAwMgorMzc1OTRiZTQxZDgyOTNjMDM1MTg2NWE3MDhlMmFmMDUgIC4vZGlyLTA2My9kYXRhLjAwNworMzc5MGEyYmNlNDIwYTgwMGZmNzZkZGM1NWQ0YzBkMGIgIC4vZGlyLTA4Ni9kYXRhLjAwMQorMzdkOWUwZjJkOWEzOWRiZDlmYjA2YzRkYmMxZDkzMmUgIC4vZGlyLTA2NS9kYXRhLjAwMAorMzgxMzFiNWZjYjFiYTdmNzRiYzNmYjg5MDkxZDY3ZmMgIC4vZGlyLTEwNC9kYXRhLjAwMQorMzgyMDg1ZGY1ZjE0MmZkZTAyYjQ5MjU2OWIyN2Y3ZDMgIC4vZGlyLTA3OC9kYXRhLjAwMQorMzgzMDdlYWJmMTEwOWI3ODY3NjAzODRkYmU3MDEzYTIgIC4vZGlyLTA3NC9kYXRhLjAxMAorMzgzYWVjM2QyMzZiZGUzMTM0YmJiODExNDg3NTk0YWUgIC4vZGlyLTA3MS9kYXRhLjAwNgorMzg2YmQzMTNiNzE0NGJkYjcxMjFkOWQzY2ZmZDgwMTkgIC4vZGlyLTA5NS9kYXRhLjAwMgorMzg4MzdjMDM2NTc2YWQyYWZiMTM4MmUxMGQyMjk2NTggIC4vZGlyLTEwOS9kYXRhLjAwMQorMzg5OTNhOTA0ZjJkMzcwODdhNWM0ZWQ0MTNkMzMxZDQgIC4vZGlyLTA4MS9kYXRhLjAwNworMzhkODJjNGJiY2QyZGVmNDE2MzZmMDIxNTFiZjUzMTkgIC4vZGlyLTA4NC9kYXRhLjAwNAorMzkyY2NmNTg2NWZkZjBkY2ZhNTk5MDM0OTM0ZTRmY2YgIC4vZGlyLTA3Mi9kYXRhLjAwOQorMzkyZDZjMjNkNWI2YTU4YmE0NTUzY2ZlZjUyNDUxOTEgIC4vZGlyLTEwOS9kYXRhLjAwOQorMzk3MzI0NjU3MWQ0OGY1ZmJlOWRkYzMzN2NhMmM4YzkgIC4vZGlyLTAxNy9kYXRhLjAwMQorMzlkZTk0NWE3NjNiZDgzYmRlNzg3ODc5Mjk0YzliNDkgIC4vZGlyLTAwNS9kYXRhLjAwMgorM2E0ZjM5NzI2MmUyYjgzMGZiYWZmZWQ0ZDAzYjM3ZTkgIC4vZGlyLTAxNi9kYXRhLjAwMgorM2E4MzYzZmMzOWU0MjExYWZlM2VkZTU2ODhmOTQ3MDUgIC4vZGlyLTA3Ny9kYXRhLjAwNAorM2E4OTdhNjg0ZGQyYjMyYjRmY2MyMjc1OTg4ZmQwODAgIC4vZGlyLTAxOC9kYXRhLjAwOAorM2E5NGNhODVhYzk5NGY0N2U4MDEwMDExZmM1Yzk1ODIgIC4vZGlyLTAwMC9kYXRhLjAwNgorM2FmOGVkOWM1OTliMDZmZjJkOTlmZTU1NjMzODBjMzAgIC4vZGlyLTEwMy9kYXRhLjAwMworM2IxOTIyZmI0M2ZiMjIyYjU3M2E5ZjQ0YmI4MDVlMGQgIC4vZGlyLTAyOS9kYXRhLjAwOQorM2I3MmI4YjQ5ODRjZDUxZTY3ZWQwM2Y1OWRhNzE2YjAgIC4vZGlyLTAyMy9kYXRhLjAwNAorM2I4YTY1Njk3MzE3OGM1ODE1NDUxZDhjNjRmYTFkMjEgIC4vZGlyLTAwOS9kYXRhLjAwMgorM2JhNzJjNDVmZDAxNzdkNDhmNmE3YTUxMjFmYWI1YTUgIC4vZGlyLTAwMy9kYXRhLjAwMQorM2JlYmQ5YjZmYTRhZWI5NzcyY2EyMzhmYjg4ZGRjZjQgIC4vZGlyLTA3My9kYXRhLjAxMAorM2M5OWNlMDg4MjNjMWMxYjI0ZTFjNzc1NzRjYjdiZGQgIC4vZGlyLTA3NS9kYXRhLjAwNQorM2NhNTBhMzc0ZTBjNDZjY2MzNWNhYmEwNjI0NGE1OTIgIC4vZGlyLTA3My9kYXRhLjAwNAorM2NlMGM3MzkwODNjYzIxYWU2ZjE5ZWIzNzcyNThmYjMgIC4vZGlyLTA5Ny9kYXRhLjAwNgorM2NlYTQyMDUyYTgzM2ExYzY1YWI2ZDNkZTdkYjk1ZmYgIC4vZGlyLTA0NC9kYXRhLjAwNQorM2QwNWMxZWJiN2FkYmQ3MmVhZTA2NGIyYjE2ZWQ1YmQgIC4vZGlyLTAxNS9kYXRhLjAwOAorM2QzNjJkNGFmN2FjNDQyYjBiZThhNmUxZWFlZDEyMjIgIC4vZGlyLTA1OC9kYXRhLjAwMworM2QzZmE2OWVmNzhmZjRlZWM3MmM0YTdkNjJkNDQzMjAgIC4vZGlyLTA1Ny9kYXRhLjAwMQorM2RhMTAzMTFhYjM1YjMxM2JjZWEwYjNkY2QzZWMzMjAgIC4vZGlyLTA4NS9kYXRhLjAwNworM2RhNWJmYzFmMTIxZGE0YTM1YzVjMWEyNmJkZjI4NzEgIC4vZGlyLTA4MC9kYXRhLjAwNgorM2RmZDIwM2I2MTYwNjAxMmUzZmU0ZDc5NDAyNmRlNDUgIC4vZGlyLTA2MC9kYXRhLjAwOAorM2ViODM1Mzg1YmJhYTRjMTJkYzY2YWQ1YTU3ODdhYzMgIC4vZGlyLTExMC9kYXRhLjAwMworM2ViZjE0YmVhNWY3NzRlZDY4ZGMzYWFlY2ZkNGM3YTcgIC4vZGlyLTA4Ni9kYXRhLjAwNgorM2VjYWJmZTNkN2UwZjM5ZDFiNzdmZWIzMGJiMjE0OWEgIC4vZGlyLTEwOC9kYXRhLjAwNgorNDAxNzIxN2MxZmMzNjIwZjAwYTYzYmY3NDUxZDdkNTggIC4vZGlyLTAxMS9kYXRhLjAwNQorNDA1NjVlNmU5ZWFlYmE5NTM4ZTA2OGQ3ZmMyMTIwMjUgIC4vZGlyLTAzMC9kYXRhLjAwNworNDA5ODAzOTA4ZTEyNDlkODExNDIxZmRmNWU3MjIxYWEgIC4vZGlyLTAxMS9kYXRhLjAwNgorNDA5ZjFhNWRmMzJiNDhjYzYxNWI4MGY4OTUzMzMxMjUgIC4vZGlyLTA3MC9kYXRhLjAwNgorNDBkYTIzNmRjZmIzNzYyOGE3MzgzZjExMGEzNGNhOTEgIC4vZGlyLTAxOC9kYXRhLjAwMworNDExYmNlYWUzYTE2NDk1NTUzM2RiYWQ2MThkY2RiMTkgIC4vZGlyLTA0Mi9kYXRhLjAwMAorNDEyOWIwNTE3M2M5ZGM4MDBjODExYzFjNmFiNTU0ZjUgIC4vZGlyLTA0Ni9kYXRhLjAwOAorNDEyZWZkYWIwMjY3NGFiNTkxZWUwMmMxZTVmMzFkMGYgIC4vZGlyLTEwMi9kYXRhLjAwNQorNDEzMTVkM2Q1NzUxMDhhNTJlMGZjNWIwN2M1MDMxNzcgIC4vZGlyLTAzNC9kYXRhLjAwMQorNDE0MWFhMDUzMjVmZmI1YzUzMDM5MWQ4OTljZDJiY2MgIC4vZGlyLTA5OS9kYXRhLjAwMworNDE3NGU2MTY5ZDY0NTMwN2NhODY3NTIwNWQ0MGM4NTMgIC4vZGlyLTAwNC9kYXRhLjAwOQorNDFiY2ZmYjRlNzE3ODBkYjhmZWQ5ODE4MTI0ZTViNmMgIC4vZGlyLTA2My9kYXRhLjAwMworNDFjZTY3YjM1ZWU2NGI5ZTg2YzEzZWZjZmRkMjZjZTMgIC4vZGlyLTA1MC9kYXRhLjAxMAorNDM0YjBmYTU3OWIyNTU0MzAyMTRkZTM1MjE1MWQxMTIgIC4vZGlyLTA0MS9kYXRhLjAwOAorNDM0YjI2ZjAwYzE3NWYyNzZhNTQxMDUxNzEyNTFkNTIgIC4vZGlyLTEwNi9kYXRhLjAwNQorNDM1Y2EyMzM1MDNlZWZiYWM5NDZkM2NhNjU0ZjljYzAgIC4vZGlyLTA3Mi9kYXRhLjAxMAorNDM3YmEzYmI4ZGJiNjc1YjE1OGRhZTBmNTlkNmE0NDUgIC4vZGlyLTA2MS9kYXRhLjAxMAorNDNjNDk1NzMzNTdlZDUzZGNjMmUzNjRjZTExMmI2MmQgIC4vZGlyLTA2MS9kYXRhLjAwNQorNDQwNGI2ZTRmNTlhODQxZmU5YTNhZTJlNDFjNGM0ODggIC4vZGlyLTA3MS9kYXRhLjAwMAorNDQyNmFhNDI0ZGQyNWNlOTcyYjYzYjVjNDdiOTUzMGYgIC4vZGlyLTA5MC9kYXRhLjAwNgorNDQ0OGQ2YzhiNjBkN2E0YjA4YjUzNGFjMTA1OWQ2NjggIC4vZGlyLTA4OS9kYXRhLjAwMgorNDQ3MmJhMDBiNzdhNGRjZTkwNDU4OWM0NTdiMWJjOTcgIC4vZGlyLTEwNi9kYXRhLjAwMQorNDQ4NjFlOGUxNjRlYTUxNzA5YzA2OWZhMjg2MTM0YzYgIC4vZGlyLTA1Ni9kYXRhLjAwMgorNDQ5NjE0NjhmMDhlZTgwYzYxOWFkZjAxNTRlOTZhOWYgIC4vZGlyLTEwMS9kYXRhLjAxMAorNDRiNzAyODA1YTU4ZjE0NDkzYmFlM2MyZjI3MTZkYzcgIC4vZGlyLTA4OC9kYXRhLjAwNworNDRjN2Q5NTJkNWI5NTI4YzEyNjNlZDExYjVkYzJhZTUgIC4vZGlyLTAxMi9kYXRhLjAwMAorNDRjODI1ZmJmMWQyM2ZjYWJmNDVlNDJlMzk1NDIzY2QgIC4vZGlyLTA4NS9kYXRhLjAwOAorNDRlM2VjOGYxMDI1NWQxMDk3NzNmMzIwNGE1MDIwZTkgIC4vZGlyLTAyMi9kYXRhLjAwNgorNDUwMzRmMTA1Mjk4N2U1ZDllMmQ0YmMwZjQ2M2VjN2EgIC4vZGlyLTAyNS9kYXRhLjAwNAorNDUxZWU0ZjllOTI2NzY1YTJjMDdmODliMWEyZmUwNzggIC4vZGlyLTAwMC9kYXRhLjAwNworNDUyYjRiNDMyMDBkMmVjZTMwMDE2YWU5NjQxNTcxOGEgIC4vZGlyLTA4NC9kYXRhLjAwOQorNDUzNWY1ZDk5YWJlZTMwZmUyZTBkNjcwOThkYWJjNjIgIC4vZGlyLTA5OC9kYXRhLjAwMAorNDU2MjJhYzRlZTI4NzUyZWI1NmVhY2NmYjU0NjJjNTAgIC4vZGlyLTAxNi9kYXRhLjAxMAorNDU5YmEyNGQwZTAzYTgxZjhmNmVkMzU3MDBmNDY0NjAgIC4vZGlyLTEwMS9kYXRhLjAwMgorNDVhZjJkY2EyZWViYzcxNGNkMGFkNjNmNzdjZWFhYTYgIC4vZGlyLTA0MC9kYXRhLjAwOAorNDViZTA2ZmU2ZTUwOWI0M2I2ZjY4YzUyODM1ZDU0YjggIC4vZGlyLTAxNi9kYXRhLjAwMworNDVjMjUwZDk1NzA3MTYwMTBmNDE2MWYxYmZmNWU0NTAgIC4vZGlyLTAyNi9kYXRhLjAwNQorNDVlZDdhNWE1NDU3OGQ1OTg1MTUzZmY3MDMzMGMyMjggIC4vZGlyLTAxMS9kYXRhLjAwOAorNDVmZTlmY2FlMTY1YTlkODhhZmEyN2ZjM2M5MzM0MDYgIC4vZGlyLTA5NS9kYXRhLjAwOAorNDYxYjA3ODY1OTA1NTZhNTcyOWUxZTIzNTEyZGI0OWUgIC4vZGlyLTAzNy9kYXRhLjAwNQorNDY0N2NiMjA0M2Y2MjNiYWU4ODYwZTdlOGI1ODgzNGEgIC4vZGlyLTAxMy9kYXRhLjAwOAorNDY4MTcxY2RkMzJiMGU5NGM5NmE5YmUxZjI5ODczOGEgIC4vZGlyLTA0NC9kYXRhLjAwMAorNDY5MGRkMzNmZmEyMzI5ZTViYzQ1NmNhMjRlYzdmNzIgIC4vZGlyLTAzMS9kYXRhLjAwOQorNDZmNzUxOThlNDQwZDhkZmI0MzIwN2ViNDk2NWMyYzYgIC4vZGlyLTAyOC9kYXRhLjAwNgorNDcxMGVhY2Q2YjZkZjZmYzZhYzJkYTVlYmNhOTQ1NDYgIC4vZGlyLTAwMy9kYXRhLjAwOQorNDcyY2YwZWNkMWIxNjkxYmZhYThkNWZiODZjMjEzNjYgIC4vZGlyLTA3NS9kYXRhLjAwMgorNDczNDRmM2YzZjNhODA2ZmY2MzYyNjdlYjM5MzY5ZTAgIC4vZGlyLTA4Mi9kYXRhLjAwNgorNDdkNmM3MzA0ZjkyMTBlZTE2ZGMyZGM1ZmMyYTk1ZWQgIC4vZGlyLTA0OC9kYXRhLjAwNQorNDgyOWY2MjliMWU1NDVmNGNmNjhmNTBlOWY1ZTYyMDkgIC4vZGlyLTAyMi9kYXRhLjAwNQorNDg0YTI5MTYzOGY4MjI0ZWI0MDQ0MjM1MWYzZTdmNDEgIC4vZGlyLTA1NC9kYXRhLjAwNgorNDhlNDI4OTFiZjJmZTA1MzUzODg4NDEyN2IwYTUwY2UgIC4vZGlyLTAyMS9kYXRhLjAwMQorNDkwNzdlNTk0M2ExMDBiNjc3MWE0NGJlMDc3MDRhNGIgIC4vZGlyLTAxMC9kYXRhLjAwMQorNDkzZTg0YmFmNmMwMmIzODMyNDA3MWM4N2YwYWZiNGMgIC4vZGlyLTAyNC9kYXRhLjAwMworNDlhMDJjMzQxZTVkZTRiZmQ5MzhlYTAzMjZkZGQ4MTEgIC4vZGlyLTA5Ni9kYXRhLjAwOQorNDliMTEyNzlmODNmMjJmZjUzNzEzNGJiY2M4NGZmOTIgIC4vZGlyLTA5OS9kYXRhLjAwMgorNDlkNmFiODViNTBhYjUzODZmODI4MmE3Yjk4YTIwODMgIC4vZGlyLTAyNi9kYXRhLjAwMgorNGExMTEzYTg2MmVlYzZmYzFhMjlhNzVhOTg1ZjAyY2EgIC4vZGlyLTA0NC9kYXRhLjAwNworNGEyMDk1ODVlNDQyNjVjYjBmMzYzNzU2NjAyZmNhMGMgIC4vZGlyLTAyNy9kYXRhLjAxMAorNGEzYTY1NDNmZWZiNTYwZjIzODM2MTVkOTA1YTZhOTYgIC4vZGlyLTA1My9kYXRhLjAwNworNGE0YzFjYzNjNzc4Y2E4YTVlY2UzNTI5NTU5MWM0MjMgIC4vZGlyLTA4OS9kYXRhLjAxMAorNGE4YTBlMGM2OGVlOTViNTQxYmNmMzdjZWI2ZmNhMzggIC4vZGlyLTAzMi9kYXRhLjAwMAorNGI3YmUxMmYyYWZhZmE5NDI2NjNhZjg4YTJhMzQ3OTcgIC4vZGlyLTEwNy9kYXRhLjAwMgorNGJkZjhiZjMxNTY5YTA2ODgwYjg1ZTE3NjcwM2QzYzUgIC4vZGlyLTAzOC9kYXRhLjAwOQorNGJmNDg5ZmY2NTZmZWY3YmEwZjY0M2NlNjRmM2FiYzAgIC4vZGlyLTAzOC9kYXRhLjAwOAorNGMwMTBmOTJjZmQwMWRiNDkyYjk4MWYyMzRhNjg0MzcgIC4vZGlyLTAxNS9kYXRhLjAwOQorNGM3YmFkZmZhMzc0ZGMxMThjODFmZjBkMDRmMzE2YjQgIC4vZGlyLTAzMi9kYXRhLjAwNworNGM4ZjY1MWNhZTE4ZGI0NDVjOGJiMDNlZmFmNTc2MjIgIC4vZGlyLTA1NS9kYXRhLjAwNgorNGNiNGMxZjFkM2JiZjRmZGE3NjhiOTcyNjYxNTY3ZmEgIC4vZGlyLTAzMy9kYXRhLjAwMQorNGNiYzZjYzI5NmM4NzAyN2VkOTY5NWMwMThhYjUzMDcgIC4vZGlyLTA2OC9kYXRhLjAwNAorNGQwNjRkNDk1OWE3OWFiYzhlM2QwNzM2NzVkNmMwMDEgIC4vZGlyLTAwMi9kYXRhLjAwOQorNGQwZTEzN2FlOWJkNmUwMTFjYzk3NGRhZjQ3ZTUxNGYgIC4vZGlyLTAyMC9kYXRhLjAwNworNGRmYWU0YTllZjRlODk0YjNjZDgyMDlhNGFlNzhiY2UgIC4vZGlyLTA2OC9kYXRhLjAwNgorNGUwZjkzMjA0N2RjMzI0NGMyZmUyMTUwMDJlYThhZDIgIC4vZGlyLTA5OS9kYXRhLjAwMAorNGUyNmVmMzdlOWM1YjY5MjVhZDI5MzhlOWI1ZDY4ZjEgIC4vZGlyLTA0My9kYXRhLjAwNgorNGU0MWZmNjJlMTA1MzU4MTI1ZTBiMDMzMGEwNDJmZGMgIC4vZGlyLTAwMS9kYXRhLjAwNworNGU0NWE0YjdjY2JkNzkwMDMyODNiNmU0N2Q2OTMyN2MgIC4vZGlyLTA5My9kYXRhLjAwNAorNGU1NDhmMzRkNWJiZWI1NmZhN2ViNThjYjQyMjI4MzcgIC4vZGlyLTA5OC9kYXRhLjAwOQorNGViMjA5NmUxMTViNmUyZTc2Mzk4ODFjZTczNGNhMDkgIC4vZGlyLTAxMi9kYXRhLjAwOAorNGVjOTZhYjM0NjZjOTAxMWNkMTU1NWFiZTY5OTJhY2YgIC4vZGlyLTAyOS9kYXRhLjAwMgorNGVjOWJkMTA4ZjBkZjBiMTg2ZjA3NzdiNjBkYmU5NDEgIC4vZGlyLTAxMS9kYXRhLjAwMworNGVkNTEyNWMwNmU0MTg4YThlNzMzNjljZWM3NThiOWQgIC4vZGlyLTAyOC9kYXRhLjAwMQorNGVkNmMyMWY1Yjc1YzMxMzM2Y2M3ODczZTc5NWVhNGQgIC4vZGlyLTA2My9kYXRhLjAwMAorNGYxNGNmYTI2OThhZjQyMGFlMWFlNWU0MGNlNDVhNWUgIC4vZGlyLTAzMy9kYXRhLjAwMworNGYzZmY3NTllYjEwZDU1ODk4ZjNiMTg5YzZiOGM4MGQgIC4vZGlyLTAwMC9kYXRhLjAwOQorNGY2NmQzNWZhYzgyYWEzNTMyMmFkM2NjNWI2OTA1ZGIgIC4vZGlyLTAwMS9kYXRhLjAwMAorNGY4OTg5MTYwMTBlYjhhYWRiNzJlNDU1ZDViODIxYTUgIC4vZGlyLTA1MS9kYXRhLjAwMAorNTAyNmZkOGUwOWM4ZGFlZjBhMWRhOTZhMjg4MzMxNTAgIC4vZGlyLTA4MS9kYXRhLjAwNQorNTAzODlhNGU3M2E5YTQ3MmI1YTVjNGE4OTEwZDdlOTYgIC4vZGlyLTAxMS9kYXRhLjAwMAorNTAzYjUxNGM5ODRkYWU4ZmY2OWY4YmZlZmE4MjRmYjkgIC4vZGlyLTAxNi9kYXRhLjAwMQorNTA0OGJlOGMyZThlNzY1ZGRiNjNjM2IzNzE4NTJiNzIgIC4vZGlyLTA1My9kYXRhLjAwMgorNTA2NzQxOTg2OWZhZWM0M2Y4NWM4YzMyN2MzZDM3OGQgIC4vZGlyLTAwOC9kYXRhLjAwMAorNTA3MjVhNTk0MWQyNmIyOTQ3Njc3YmZlMGM3NzYxZmUgIC4vZGlyLTA2Ni9kYXRhLjAxMAorNTA3NzFjNzZhODIxMzI0NWJlNDk5YWRmMWQ0MzExZDMgIC4vZGlyLTEwMC9kYXRhLjAwNAorNTExOGFjNTNkM2M3YjMxMDcyODMzZjk2NmVmYTdlOWYgIC4vZGlyLTA2NC9kYXRhLjAwNgorNTE0NGM0ZGEwZTJhMzc0ZDk1ZmY0OGEzNGMzMjk3YzkgIC4vZGlyLTA5Mi9kYXRhLjAwMgorNTE0YjA3NmUwZjA1MTFmMjE2Mzc5OTUwZjI3MTRmOTAgIC4vZGlyLTAyNC9kYXRhLjAwNAorNTE1ZWU0NjM5MzdjZjJhM2ZmMTU3Yjc4OTFmOTZlYjYgIC4vZGlyLTA1Mi9kYXRhLjAwOQorNTE2MjY0ZTZjZDM3MDU4YzY3YTY3OTFkNTk0ODJkZGEgIC4vZGlyLTA4MC9kYXRhLjAwNQorNTE2MzJjYjdmNDRmNWJhYzMwZjVkNmY0YTllZGVjNzkgIC4vZGlyLTA5Ny9kYXRhLjAwOQorNTE2ZTZiYmI5NmY2OTI2MmQ1N2YzYTY2MGJjODAxYjIgIC4vZGlyLTA5MC9kYXRhLjAwMworNTFjZTczYjEyMzBjMDZkMTUzOWU2ZGU1NDJiNjMwMDYgIC4vZGlyLTAwNy9kYXRhLjAwNgorNTFkYmUyNGQzNjBjYTM4ZmVhYzFiNDM2NzU0ZjliNGQgIC4vZGlyLTA4OS9kYXRhLjAwNworNTFlYWVkYmFmMzM5ODhhNDhlNmFmNjVhNWIxMTdkMzggIC4vZGlyLTAxNi9kYXRhLjAwNQorNTIxZGQ3NzNmYzQxNzFkZTE1MGI1Zjg5OTVhODhkMjEgIC4vZGlyLTAwOS9kYXRhLjAwNgorNTI2OTNiZDU0MDdhMjQ3MWNmNTE1NmFmZWZkYWY4ODggIC4vZGlyLTAyNy9kYXRhLjAwNgorNTI3MzFlMGFkMzAyOGM1MzBiYjQ4MDJhNDc1NGM0MDggIC4vZGlyLTAwOC9kYXRhLjAwMQorNTJkZGZmOTdiMzE2YTQ5NGY0NzM3ZTA2MTQ4NTBmNTcgIC4vZGlyLTA2OS9kYXRhLjAwMgorNTMwMTg0NGM5NjhkMDUyNTdmMWU2NTMxZThjZTBkNTQgIC4vZGlyLTAwMy9kYXRhLjAwOAorNTM3NjNmZDBhODk0YjhlMTIxYzI4MWNlZTAxZjk0MDIgIC4vZGlyLTA2OC9kYXRhLjAwNQorNTNkNDUwN2EyZGY4ZDIyMDc2ZDgxZGE1YzAxMDBlYmMgIC4vZGlyLTAwOC9kYXRhLjAwMgorNTNmNWNjMDlkNTdhZjYwZmU3MjU1OWVjYTJmMWE2MDMgIC4vZGlyLTAxMS9kYXRhLjAwNworNTQ2NjYyYzYyODJiNWQ0MjI0MTNmNTMwMzdkZjBkNTQgIC4vZGlyLTA3My9kYXRhLjAwMQorNTQ4MmIyNTA3ZGM5NGM4ZWRkZTg0MGI2MTliMzQ5NDQgIC4vZGlyLTA4MS9kYXRhLjAwMgorNTRhNmI1MTkyYTRmYjJkMWYyYjI2ODY2ZDEzYzA1YzIgIC4vZGlyLTA4OC9kYXRhLjAxMAorNTRjM2E1MzI4Mjc2ZGUwOTI5MTliZjk2NmU5ZGQ3YWQgIC4vZGlyLTA2Ni9kYXRhLjAwMworNTRlNzg0MTliYTdjZjI5MWUyNmYxMTYwYmNkMDk0NjkgIC4vZGlyLTAyOC9kYXRhLjAwNworNTUyNDFkMjQ3NGIwYmVlNzBmNTBlNzYyOWZiYTNhMTAgIC4vZGlyLTA3MC9kYXRhLjAwNworNTUzZTY1Y2IzZWUwYTlhNTU3MjgyNmZmNDQwMTQ4N2MgIC4vZGlyLTA1NC9kYXRhLjAwMgorNTVhZGY1MTgyODBhNTQ1MzJkZTZjMzNjMjU4YThlNmMgIC4vZGlyLTA4MC9kYXRhLjAwOAorNTViOGQ1N2YzYmVlYzZhODA3NTIyMWYwODc1MmZmNDIgIC4vZGlyLTEwMi9kYXRhLjAwNAorNTVjNzZiZGI4MmY4ZmE0ZTBkMjJmOWU0MWFkM2FkMGEgIC4vZGlyLTA3NS9kYXRhLjAwMQorNTVjOGQxM2Y2ODJhNjIzMDZjOGQyOTc0NmJkN2U2ZmEgIC4vZGlyLTAyNi9kYXRhLjAwOQorNTVkNTlmY2I0OWMwN2VmMTY1YjMxMDg2MjFmMDhhYjAgIC4vZGlyLTA3MS9kYXRhLjAwMQorNTVkNjZkNzQyMDFhM2EzZTViMmQ1M2Y5ZmJiNTJiYmMgIC4vZGlyLTAxOS9kYXRhLjAwOQorNTVkODkxYWRhNTFlZGM1ZGVjMzgzN2NiYTdjNWYyZmEgIC4vZGlyLTA0MS9kYXRhLjAwNgorNTVkZTdhZWQ0YzY5ZTMyMzc4MzUyZTZkZDlhM2U1Y2UgIC4vZGlyLTA1Ny9kYXRhLjAwOAorNTY5ZjY0NTkyMGNiMWE1NDA5M2RlNTQ3Y2Q5MmYzMzcgIC4vZGlyLTA4NS9kYXRhLjAwMworNTZlZjJmNzQ3Nzg5YWEyYWIxZWY2Yzc5NDdiNTBlZDQgIC4vZGlyLTA2Ny9kYXRhLjAwMAorNTcxYWRhNGM4MzJhYTllZDY2NDAzMzUyYjA2YTA3ZGYgIC4vZGlyLTAxNi9kYXRhLjAwNgorNTc0Y2UyMjczZjRlMTdjZDY3MzlhMTc3MmQ0M2ZiNjcgIC4vZGlyLTA5MC9kYXRhLjAwMQorNTg3ZTc0MDQzMmRlNTQ5MzJiNDlmNGIwYjFhOWQ4Y2QgIC4vZGlyLTA2Ny9kYXRhLjAwOAorNTkyMjYwMzJlZjJlZmI5OTFmZmZjNWQyZDJhNjdkZDAgIC4vZGlyLTA5OC9kYXRhLjAwNgorNTkyZTI5MjdlMDQ2OGFmMmE4NmJiMTBlMmE1Y2JmZmMgIC4vZGlyLTA2OC9kYXRhLjAwNworNTk0ZjFhMjFiOThjYTRhOGI4OTgxMTY0ZjQ2ZWRkMGEgIC4vZGlyLTAyMy9kYXRhLjAwNgorNTlhM2Y2ZmZiNjQzMmE3NjhmZmNmYzM5MGJhMGQ1ZTQgIC4vZGlyLTAwNS9kYXRhLjAwNworNTlhNTc1MWE0NDQ3ODc4OWFhMDg4NTNhN2ZiY2I0ZmMgIC4vZGlyLTAzNS9kYXRhLjAwNAorNWEwMzRhMmNkYjFiMzk3YjQzNWM3MTE5YTcyNWU2MjIgIC4vZGlyLTEwOC9kYXRhLjAwMworNWFhYmQ4MTNjZTcyNTE0NmY0N2JjNzNkOTQ0OWI1MGUgIC4vZGlyLTEwNy9kYXRhLjAwNQorNWFjNDQ1YzJiNDZjNTA0OTdkZWIxZTJkZjM5ODc2NDYgIC4vZGlyLTA2NS9kYXRhLjAwNgorNWI2MmMxNGQ2MDdjMzkzODg1Y2QwYTc3YjQ0NWEwZTMgIC4vZGlyLTAxNC9kYXRhLjAwOAorNWI4YjQwNTA0OTI1NjVkODY2MWE0NDMxYzdkOWYwZjMgIC4vZGlyLTAxMC9kYXRhLjAwOQorNWJiYWM0ZWM2N2ZhODRkNDBkOGE4YTRiYTlkMDBkMzEgIC4vZGlyLTAxNS9kYXRhLjAxMAorNWMwMjUyY2RkN2NkMGQxNDQ1ODNjNjczZTI2YTRjYzYgIC4vZGlyLTA0Mi9kYXRhLjAwMgorNWMxODQwNTgwZGYwYTUyODA1OTA4OGU0NWYyM2Y4MzcgIC4vZGlyLTA5MS9kYXRhLjAxMAorNWMyNDE3NTM0NmRjNDMxNzIwYTgzM2RhNDM0OGFhNzggIC4vZGlyLTEwNS9kYXRhLjAwNAorNWMyZTRiMThiYjZlNzhlYTA5Yjk1OGYwM2JhMGU3NTAgIC4vZGlyLTA2OC9kYXRhLjAxMAorNWM0YzQxNmNlZTIwMGVlNjdiZWMyMDI5Y2I1NmI2ZGIgIC4vZGlyLTA3Ny9kYXRhLjAwMgorNWM1MzVlMTRiN2NkNDQ5YTQwODkzZWU2YTIyZjYwZTEgIC4vZGlyLTAzMS9kYXRhLjAwNgorNWNkNjMxZjE2NmEyOTcwZjdhZWI4OTYwYWNlMGY4ZWYgIC4vZGlyLTA4Mi9kYXRhLjAwMAorNWQ2YTgyM2MyNDQ2MGIzNDNjNmUxY2I3NGY5YmRiOGUgIC4vZGlyLTAzOC9kYXRhLjAwMAorNWQ4Njk5MDVmZGJkNDQwOWQ4N2Q0ODRkYjhjZmQ3ZWUgIC4vZGlyLTA1OC9kYXRhLjAwNgorNWRlOTRjMGRlM2M0Njg4YjU2YjBkMmZkMmE4OTJiOTggIC4vZGlyLTAyNi9kYXRhLjAxMAorNWU1NzQyZWYzYTNlNGY0Mzg0ZWNmYmQ5NjYzYTE4ZWIgIC4vZGlyLTEwNS9kYXRhLjAwNgorNWU1YTYwN2E5YjY5NDVhMWY0ZDE3OTIyNDY2Zjg2ZWIgIC4vZGlyLTAyOC9kYXRhLjAwOAorNWU4MjRlMGFkZDkwNTQ4YjUwZThkZWYwZTBlYTE1YWYgIC4vZGlyLTA1MS9kYXRhLjAwNAorNWVkYWVlYmFmMjIwNTY0YzBmOWZhZTUzY2FiM2I4YWQgIC4vZGlyLTA2NC9kYXRhLjAwMgorNWYyZWJmYzA4MTAxNzAzMDU2MDlhYWExN2QzYjYxYTMgIC4vZGlyLTA5Ni9kYXRhLjAwNQorNWY0OTUxMTZjYWJkMjQzMTdjZmY4OWUxYjk0NmY5M2IgIC4vZGlyLTA2OC9kYXRhLjAwMAorNWY4MmMwM2FlZTA0YmJjN2IxM2JiZTgxZDg2ZjM5ZDIgIC4vZGlyLTAzNi9kYXRhLjAwMQorNWZiNmI3NDlhMDZhMWNkOGU5ZThiMjkzODNiZmJmNGQgIC4vZGlyLTA5MC9kYXRhLjAwOAorNWZjMzY5YmVmNzJmMzc5ODdlYjIyODk5ZThhYmU4MTYgIC4vZGlyLTA3Ni9kYXRhLjAwMAorNjAyZGZkN2RjMTNkY2E3MmU1Y2RiMmE1NWQxMGUyZDcgIC4vZGlyLTAwNS9kYXRhLjAwNgorNjAzYzRhMmIyNTkxNTE0ZmUzZjg5ODQ3ZmU0NWM5YjkgIC4vZGlyLTEwMS9kYXRhLjAwNworNjA2OTc5OWZjZTAzODQ1MjhiNWI2ZjI5NzhhNTkyM2MgIC4vZGlyLTEwMS9kYXRhLjAwMQorNjBhMTZmNGViYTVmY2FjMzVhNDQ5NjkyZTQ3NWNjYWUgIC4vZGlyLTA4OC9kYXRhLjAwMworNjBhMzI3NjMyMzQyNWQzOTQyYzM4YTlkOTE2ZmJjYWMgIC4vZGlyLTAzOS9kYXRhLjAwOAorNjBhNjU4ZDUyZjU5Mzg5Nzg5Y2JjZmNhYWI0MWExZDggIC4vZGlyLTA2My9kYXRhLjAwOAorNjBkNmM3OWRmNDgyMDI2MzcwODJjMjIxM2Q0Y2NmZGYgIC4vZGlyLTA3NS9kYXRhLjAwNAorNjBkODdmYjFkYTdiYWE0Mzk4MjIyNjlmZDA1NDY3ZGMgIC4vZGlyLTAyOC9kYXRhLjAwNQorNjBmOTM5YTc1MDI2NGNlNTk3MDAyYTRjNWFhMzhiMGMgIC4vZGlyLTAxMi9kYXRhLjAwNworNjE3MjRiZjlkODgyNzM0ZDAwY2JmMjE3NDU4NmNmMWUgIC4vZGlyLTA4MS9kYXRhLjAwMAorNjFiYWNhOWQ0ZjBjMGUxYWQ0NDBmNTE2ZWVlY2NmMjQgIC4vZGlyLTA0MC9kYXRhLjAwMgorNjFiZDBlNjQ4YmMxOTExZDQ1MmRlODlkNGVkY2FjODEgIC4vZGlyLTAzOC9kYXRhLjAwNgorNjFlMTNhZGNlZGZhMmRjOTdjNmZiMTMxYzQ4MTQzYWYgIC4vZGlyLTA3OC9kYXRhLjAwOQorNjIxMDJlMGJiNmU0YTAzNGQwZGYxOTA4NjRkMzAzNGIgIC4vZGlyLTA3OC9kYXRhLjAwNQorNjI0ZmU4Njk2NGE4ODY2YWEwNzJjYTk4OTQ0ZDFjZmMgIC4vZGlyLTA3Mi9kYXRhLjAwNQorNjI4YTNhYzRjODczYTE2OWQ4YTNmYTlkZjY2MTVmNGMgIC4vZGlyLTEwOS9kYXRhLjAxMAorNjJlMTA4MjFkYzJmODBiNjA4ZjdkNzg5ZmU4MzkyM2MgIC4vZGlyLTA2MC9kYXRhLjAxMAorNjMzNzI2Y2Q0YjQxMTc4YzU1MDZkZDJiMmVhZTAyODEgIC4vZGlyLTAxMi9kYXRhLjAwNQorNjM2ZjNiNGJiYzVlMGQ4YjkwNDJmMWRiYjM1MDc5YWIgIC4vZGlyLTA3NC9kYXRhLjAwOAorNjM3ZGI4OTQyNTk3NjUyMTA2YmQ4NGQxYzE1MzQxZTQgIC4vZGlyLTA5Ny9kYXRhLjAwNAorNjNlYjMzZTg4MjQxMjEwYzA1MDk0MmNhOTdhNTc2ZWMgIC4vZGlyLTA0MC9kYXRhLjAwNworNjQwNDZiOTgyYTU5NDQyODM5YTJkMDliNzQ3MGNmNTIgIC4vZGlyLTA1My9kYXRhLjAwOAorNjQwYjU1MGUxODBkN2M0MmMyZDQ0ZjJlZDJkN2E0M2YgIC4vZGlyLTAxNS9kYXRhLjAwNQorNjQyYWVkNjlhMjhhOTRiYzNmYTQ4OGZjNjUyN2IyMGYgIC4vZGlyLTAxNi9kYXRhLjAwOQorNjRiZjcwYTFjZDk0NWNmNDU5YTA3ZWM0NjMxZWFmMGMgIC4vZGlyLTA5OC9kYXRhLjAwMQorNjU0ZWIzNDI2YTBjZmNjYmY1MWQxNDdmMjlmOGViNGUgIC4vZGlyLTAyMi9kYXRhLjAwMQorNjViZDg2Y2FlMTAwODMwZjQyMGNiNTVkYWMyZTE1YTQgIC4vZGlyLTExMC9kYXRhLjAwNQorNjVjZWRjNThmMGM0MWM4ZmRhZTQyMjAzNWIzNzUwYjggIC4vZGlyLTA5MC9kYXRhLjAwMgorNjY2NDAyZTEzNGU2ZmY3MGNiYTAyOWM5ODUyYjBmOTcgIC4vZGlyLTAxNS9kYXRhLjAwMAorNjY3NTQ4ZmQ2ODgxMGUyMDllYTk3ZmU3YjNmY2ExZjYgIC4vZGlyLTAxMi9kYXRhLjAwMworNjY3NWQ1MDgyZWE1MTMzZjY4MzE0OTljOTU3Mzk1OTQgIC4vZGlyLTAxMS9kYXRhLjAwMQorNjY5ZmZjMTYzYjY2ZmMzYWJhYzY2MTE3NTg2MTNhNWQgIC4vZGlyLTA4OS9kYXRhLjAwNAorNjcxZTJiMjI4MDYzOGQ4ZTFkM2E4ZjZiMWQ3ZWE4ZTcgIC4vZGlyLTAzMi9kYXRhLjAwNAorNjc1ZGUwM2JhZjhkYjZmODA5NjJlZDI3OGI2ZTdhMTEgIC4vZGlyLTExMC9kYXRhLjAwMAorNjdhOGVmMjU0MjAwOWU3NTVkZjVjOWFjNmY4NTNkODAgIC4vZGlyLTAyNi9kYXRhLjAwMAorNjdiZDM0YTMwYTA1ZWIyNmIzZjYyYTA3NWNkODU2ZjQgIC4vZGlyLTAzOC9kYXRhLjAwMgorNjdjZmZhYWRhOTgwNWE5MGIxMTM1NTQwMmU2MzVjYWUgIC4vZGlyLTA1Ni9kYXRhLjAwNworNjdkZGZhOWI0MTUwNzM3ZGVmZjQ5MTRjYjM1ZmQ3MTMgIC4vZGlyLTAyNy9kYXRhLjAwOAorNjgyMGIzNDI0NDA1ODNmNTE3MjJiOWViNjFiNDhkNjMgIC4vZGlyLTA4OC9kYXRhLjAwNAorNjgzMzZiNjgxMTAyZTE2ZTY0Zjg4YTk1Y2Y0NzBiNzIgIC4vZGlyLTAzOC9kYXRhLjAwNworNjgzYWE3OWJkM2NkY2RhYzdhYTEwYWQxZTJiMGUwMjggIC4vZGlyLTAzMy9kYXRhLjAwMAorNjg1Njk5MWNhYTY5NGU4M2NhZjZjMGZjYTAyMzNiODIgIC4vZGlyLTA5Mi9kYXRhLjAwOAorNjhhNDYwNTUxMDNmNmU3MzNlNWNjZWI3MDdmNmRkMGYgIC4vZGlyLTAwNC9kYXRhLjAwMworNjhlOWU2NTFkYzdhNTY0ZGUyMTRiMjgyYjliNWM3NTcgIC4vZGlyLTAwOC9kYXRhLjAwNworNjkwN2RmZTE4YTM3NjQzOTE2NzQyYmE5NjRiZGFiNWQgIC4vZGlyLTAyNy9kYXRhLjAwNQorNjkzZjljOGIyMGE4YTkyNzljNGQ0M2M4MGMzZmE5ODQgIC4vZGlyLTA5Ny9kYXRhLjAwOAorNjk0ZTk5ZjNiNWRjNTZiYTA2MmZmZmU4MzgxZjg3MzEgIC4vZGlyLTAwMC9kYXRhLjAwMQorNjk1Y2RjNWJjN2JhNDZlNmFhMzg5NTBkYWFiNzE2MzYgIC4vZGlyLTA1MC9kYXRhLjAwNQorNjk2N2FmODE1NjU3M2U0NDJhMWI2YmQ1NmQwYTQ4OTMgIC4vZGlyLTAzNS9kYXRhLjAwMworNjljMWE1MmQ1MzhhNjdiZjJhN2U1YzMzMzc5NTMzYjggIC4vZGlyLTAxNy9kYXRhLjAwMAorNmExYmQ0MWRhNjJkMjYwZjc0NmUwYjAxYzdhMTM0MDMgIC4vZGlyLTA1Mi9kYXRhLjAwMAorNmE3MWFhMTU1ZDU5OGI1YWQyZmQ2NzU2ZGEzYzI3OGEgIC4vZGlyLTA5OC9kYXRhLjAwMworNmE4NTU5NmY4MTUyMmMzOGM5NTg5MTBhNGMwNDg3ZDcgIC4vZGlyLTA2MC9kYXRhLjAwNAorNmFhM2JiYjQ1YjYyMzE1MTNlMGJlZTYyZTlhMTJhOWIgIC4vZGlyLTA4MC9kYXRhLjAwMworNmFlMTllMzlmNzg1N2YxNzZmMDIxYThjZmU3NjhhNjYgIC4vZGlyLTAyMy9kYXRhLjAwMgorNmFmNzI1NWIzMzE4NjA3YjFkNWE3ODk0ZDhjYWFjMjUgIC4vZGlyLTA4Mi9kYXRhLjAwNAorNmI3ODBlN2Y3MmJlM2RmOWRiNzEyNTgwYWNhZmQwZmEgIC4vZGlyLTEwMi9kYXRhLjAxMAorNmI3Y2FkY2JmODc1ZWU1YWQ1M2I0NzI5OGFiZmFhZTAgIC4vZGlyLTA4MC9kYXRhLjAwMQorNmI4NTMzZGJmZmViYjZlZjJjMWZkNDhlMWRmNmVkMTkgIC4vZGlyLTA1MC9kYXRhLjAwNAorNmJjOWUzMjAzZTI3MzhlZTIyNWJlNmE0NWRhNmQwNzcgIC4vZGlyLTA1OS9kYXRhLjAxMAorNmJkZmJhYjhhNGIyMGQ3MWFjYTVhZWM2NmNmNGMwN2YgIC4vZGlyLTA3MS9kYXRhLjAwMgorNmJlM2MzNWYyOGY2ODg2MTg0MGYwMzQ1ZjcwZmY1MTEgIC4vZGlyLTAxMS9kYXRhLjAxMAorNmJmYTgzZDQ3ZDg5NWFjMDZmNzRhYmNkZmUyNGRiZDUgIC4vZGlyLTA2Ny9kYXRhLjAwOQorNmMzMjRlMTg1Y2YyNDYyM2I4ZWFiN2RhYTAxMGUyMjIgIC4vZGlyLTAyMy9kYXRhLjAwOAorNmMzMmYzZDVkMjcwYmY1MDdmNTdlZGYyOGFjMjAyMTQgIC4vZGlyLTEwNS9kYXRhLjAwOQorNmM4Y2I1NmJkODFlMzBlYmRiMDE2N2VhOWMzN2YxNGQgIC4vZGlyLTAwMS9kYXRhLjAwNQorNmM5M2FhYzQ1ZDllMDE5ZTdiZWVjNGE3MDhhMzAzM2YgIC4vZGlyLTA4Ny9kYXRhLjAwOAorNmNhZjQxNGQwNGMzNDJmODI5ODg3NTcwOTkzNTc5ZDcgIC4vZGlyLTA4OS9kYXRhLjAwMworNmQyMjI5YTAyOWZlNjQ4MTU5MDQxM2YyZGI5OGFhMDIgIC4vZGlyLTAwMi9kYXRhLjAwNQorNmQyYTI0ZGZjODNlYzUwNjkyYTEzOWJiMmM0YzYxZDYgIC4vZGlyLTA4Mi9kYXRhLjAwMQorNmQzOGRlYWI5YTA5NmEwNDg3ZTkzMTgyNjU4Mzc1ODkgIC4vZGlyLTAyMi9kYXRhLjAwMgorNmQzYTJmMTdkZjJjNzIxMDg1MWEyYzBkNTIzOTNjMGMgIC4vZGlyLTAyMy9kYXRhLjAxMAorNmQ3NWRmMzc2YzQ5MTM3MTk5MGViMWRlMDA0MjI3ZWEgIC4vZGlyLTA2Ny9kYXRhLjAwMQorNmQ5MzFiMDMyYzk3N2JkNDhlZWNlMzkwMGNiNzVjYmMgIC4vZGlyLTAzMS9kYXRhLjAxMAorNmRkMjJiOWRkYTZkNjM0N2MxYmQ5YWZlYzQ3OTNhNGYgIC4vZGlyLTA3MC9kYXRhLjAwMgorNmRkNzgxMWEwYzZmYzRkMDc0MmQ0NjcwNzE0NWEzZTUgIC4vZGlyLTAwNC9kYXRhLjAwNAorNmUzMmE3MzU5MzA3ODM3ZThhYzk4MjNkZTgyMzU1NWMgIC4vZGlyLTA0Ni9kYXRhLjAxMAorNmU1Y2M4ZjVmOGMyYTA3YjlkZTRhOGI3ODFkNWI1ZTUgIC4vZGlyLTA1MC9kYXRhLjAwNgorNmU4NDM3MzBkZjY2M2U1NjQ3ZGU3YWM1YmQ0NWE5ZTQgIC4vZGlyLTA3NC9kYXRhLjAwMQorNmVkZDQ2MmJjMjFjZjY2Y2JjYmE0MDA2NjlhOGJiNWUgIC4vZGlyLTAwNy9kYXRhLjAxMAorNmVlMDk3MzdlOTJhNzk2ZDQ5NGZmODU3MjExODVkYTMgIC4vZGlyLTA3OS9kYXRhLjAwMQorNmVmNmU3ZDg2NTgwZjVkMGY3NzM2YmI1N2U5M2Y0YjIgIC4vZGlyLTA0OC9kYXRhLjAwOQorNmYzMTRhZGE2NDA3Y2MzMmIxZjNlOGQ5MDNiNWM5YjUgIC4vZGlyLTAxNy9kYXRhLjAwOAorNmY0OWRhMDEyMDExOWVmYTVlNGY4OWRlMTk1YjRkMmUgIC4vZGlyLTA0OC9kYXRhLjAwMAorNmY2OTI1NzIyN2EyNjAxMjdhNjVhMTMzNTA4YjAzMTkgIC4vZGlyLTEwOS9kYXRhLjAwNQorNmY4NmM5YzlkZGYzMWZmZjQxYTZlNDhiNTJlMDVhMDYgIC4vZGlyLTA3OC9kYXRhLjAwMworNmY5NTc5NDk5NzM5MDVlNDBiZWVhNmUzM2U0NjVkMGEgIC4vZGlyLTA5Mi9kYXRhLjAwNgorNmZiZTM2NDRiZTJkZTM0MjMyMDRkNzliY2UwNmM0MGYgIC4vZGlyLTEwNi9kYXRhLjAwMworNzAyOTZjOTM4YzEyMjBiZjcyNjE5N2ZjNTIxYzVkYTIgIC4vZGlyLTA4My9kYXRhLjAwNgorNzA0N2UxYjhhNjM1MWRhMzUwNDk3N2E0Yzk2ZWRiNzIgIC4vZGlyLTA5Ny9kYXRhLjAwMgorNzA1MWJlODFjMjJiZjBlMzk0ZThkODlhNmNjNzhhMjAgIC4vZGlyLTAyOC9kYXRhLjAwNAorNzA3N2NhYzY0NmE1YjM3YTQxODY2NGQzNjZkZThkMmEgIC4vZGlyLTA4Ni9kYXRhLjAwOAorNzBjOTEzYmJjMzQ1NGQzYWYxZDNiOTdhMDg1MWI5MDMgIC4vZGlyLTA4NS9kYXRhLjAwMAorNzBkYmIwZGNhZjI2MTJiNDk1MmIzNDE2NTFhZDBjMWUgIC4vZGlyLTA2NS9kYXRhLjAwNworNzEyMTRmZWNkZWU3ODY3NWFkOTViNDkyZGY0MDE3ZWYgIC4vZGlyLTA0MC9kYXRhLjAwNAorNzE3MWM3YTE3OTZjYmMyMzU1YzZhZGIwM2MzMTJkYWEgIC4vZGlyLTAzMi9kYXRhLjAwMQorNzE4NDFmOTFhYjFjODczOTM4ZmY0YjRmMDE4YjIyMjEgIC4vZGlyLTAxNC9kYXRhLjAwMgorNzFhMjI5NDQxMmIzMDI5ZjIzNmEyNTRjYjMzNWFjOTggIC4vZGlyLTEwMy9kYXRhLjAwOAorNzFhNjk5NGVmMmJmODM2OGFhYTIzNjJiY2ZjY2RjYTcgIC4vZGlyLTAxOS9kYXRhLjAwNworNzFiNGRhOTFiZDUxNDJkMzM0MmQ2N2QzMjJmZWYyZTUgIC4vZGlyLTA4NC9kYXRhLjAwNworNzFkYmZjOTA1N2ZjYTU0YTVhMTgzNDQ2Nzc1ZTMyYjggIC4vZGlyLTAxNi9kYXRhLjAwOAorNzIxNGZjZmYwMmQwNzQzMjEwZDc1NGEzN2ZiOThiMGMgIC4vZGlyLTEwMi9kYXRhLjAwOAorNzJjZTBmZjNkNzg4Mzc2NzVjNTM4ZTZhMDJhNjc1NTcgIC4vZGlyLTA2OC9kYXRhLjAwMworNzJlZGMyOGU3MWMyNGE4YzA0ZmFhYTNjMjY0NWQ5MzYgIC4vZGlyLTA2NC9kYXRhLjAwMworNzJlZTBiN2YyMzZkMGMxZGUxNzFjODYxOGE4ZThjN2YgIC4vZGlyLTA3OC9kYXRhLjAwOAorNzMyYjFlMGYwYWI1Njg5ODc5MzU4OWJlZjI1ZjI5ZjMgIC4vZGlyLTAxNy9kYXRhLjAwNgorNzNiY2I0OWNhNWNhNjA5Y2JiNjUxNDdjZmQ0MDVmM2YgIC4vZGlyLTEwNS9kYXRhLjAwMQorNzNmZDI4ZjkwOTljMzlkNmQyYzkyMzU1YzA2MGQ2ZWQgIC4vZGlyLTA2OC9kYXRhLjAwOQorNzQzNzRkZWM4NzY1MTUxZjgyNzAyMDlkY2E2ZmM1YzYgIC4vZGlyLTA5OC9kYXRhLjAwNworNzUwMmFlMDVkYjY1YTMyNDU5YTJiOTc5OTY0MTkwNjUgIC4vZGlyLTA0Ni9kYXRhLjAwNQorNzUyZTZlMDAzYjJhNjNlZTUzMjlkOTYyOWZjMTFlMzcgIC4vZGlyLTA2Ni9kYXRhLjAwNworNzUzYjViOTI1YTM2ZWYyNjg3NGI1M2RmMmViZmEwNjEgIC4vZGlyLTA3NS9kYXRhLjAwNgorNzUzZTA2NTE0MTE3NmZmNTk2YmYyZTFhZTYxZWU3ZWIgIC4vZGlyLTA1MS9kYXRhLjAwNworNzU2NDMyZDhmNzJhYWQwMzhlNTQ4NWJiZTI0YmFmYWYgIC4vZGlyLTEwNi9kYXRhLjAwMAorNzU2NWQxNjc0MTY0YTAxNWM0MmEyZjUwMTFjYzA4N2YgIC4vZGlyLTAwMC9kYXRhLjAxMAorNzVhZWIzZWE0ZmJkMWQ1MDQzMGJiZTA0ZTI5MzJiMTYgIC4vZGlyLTA5My9kYXRhLjAwMQorNzViNzEzZjc4NWFjNGE5YjFkMDg4NDIxZjIzZWQxZGQgIC4vZGlyLTAwOC9kYXRhLjAwNgorNzVkZjdmMzZlZWZhNDJjMzYzOGJjNWI2YTk3ZDU1Y2MgIC4vZGlyLTA2Mi9kYXRhLjAwNgorNzVmNGFjZWRjY2UzZGU4OWEwNWI0YzA5OGI0ZjgxMTggIC4vZGlyLTA4NC9kYXRhLjAwMAorNzYxYzhlNDE1ZGZlYTIyNmY1M2JlMjk1Nzc4MGJhNjkgIC4vZGlyLTAwMC9kYXRhLjAwMAorNzYzYzdkNDEyMTBhMGNhOTc1ZWI5OWQwZTE3ZjRiMjAgIC4vZGlyLTA1OC9kYXRhLjAwNworNzY1Mjg0NjkzMmJkNTQ3YzgxNGVhODY0NjI4OTFmZTUgIC4vZGlyLTAzNi9kYXRhLjAwMAorNzY2YmUyYTAwNGNlYTJmODRmOWFlYjQwZWI5ZTUxMjQgIC4vZGlyLTAwNi9kYXRhLjAwNAorNzY3MmEzYTYzMWQ4Y2ViYWVlYjEwYjRlZWVlMmYzNzQgIC4vZGlyLTA5Ny9kYXRhLjAxMAorNzY3ZDBjNDc2Yzk0NjhkNjNlMDg3MWFmMmNlZjE3MzggIC4vZGlyLTA2MC9kYXRhLjAwOQorNzZjOWVmZWZhYTYwZWUzZmJhNzg1OTdiMzNjNWY1NzUgIC4vZGlyLTA5MC9kYXRhLjAwNAorNzZlMGExODE5NmU2YjllOGYxODYwNzkxZDVlNzAxNDYgIC4vZGlyLTA3NS9kYXRhLjAwOAorNzcxYjA1ZmVhNWJhNmRhNGNkYmE4NDY4M2MwNzBjOTUgIC4vZGlyLTA1My9kYXRhLjAwNgorNzc1ODZiMGMyMTFhZTkwNmJlOTA5NGQwNDkzNzA2NzggIC4vZGlyLTAyMS9kYXRhLjAwMworNzdjMzA2ZDg1MGJlZDcwYWY5YTQzM2E2ODU4MjA0MzEgIC4vZGlyLTA1MC9kYXRhLjAwMAorNzg3ZDdlMDg5YjI1MjBmYjMyMzgyNWMwZjM0ZjEwMTkgIC4vZGlyLTA0Ny9kYXRhLjAwNAorNzg5YWU3ZTk5YTNhM2ZmNDE2ODhkMGRhMGJhYTU0OTEgIC4vZGlyLTA0OS9kYXRhLjAwOAorNzhiYzAyMDE4OGE1OTI3ZDFiZGQ4YTAwOTE2ZTdiZGMgIC4vZGlyLTA0Ny9kYXRhLjAwMworNzhlNGEyOWQ4NjZlZWVlNmYxNmRhYzI5MjNmZjkwMzkgIC4vZGlyLTAyMC9kYXRhLjAwMgorNzlhZGZiM2QyYTc0ODc5MzI1MTFhNWE0Mjc5YjYxZDQgIC4vZGlyLTAyNy9kYXRhLjAwMAorN2EyN2E2NjZlMjczNzg0MTM2NzA1NmE5ZDhmZDlkNWMgIC4vZGlyLTA2MC9kYXRhLjAwMgorN2E1M2RkZGI3MGFlZTU4ZTU2NjE0MjcyNDllZTcwMzggIC4vZGlyLTA3Ni9kYXRhLjAwOAorN2E5NWE5NGZhMDJlZmZhMDk4OTViNGNmOWY4MDZmYTggIC4vZGlyLTA1My9kYXRhLjAwOQorN2FkZWY2MDQxNjdjMmE3MDMxZDExYTYxODc2ZjVlM2YgIC4vZGlyLTA1Ni9kYXRhLjAwNgorN2FmY2MxOGZkZWVkMjRhNGI2NTgyZjBjYjhjOGQ2M2EgIC4vZGlyLTA3OS9kYXRhLjAwNworN2I4MDZjMGEzYmQxMjk3M2M1NTQwYTRhNjYxZWE2OTggIC4vZGlyLTAxMC9kYXRhLjAwMAorN2I5MWQxMGRjOWE3MzUwMWUyNjk1ZmQwM2VmY2E4YTUgIC4vZGlyLTA2NC9kYXRhLjAwNAorN2JhNjc4MWI5ZjZhMjEwMmY2ZWU3N2U0YmNkNjdlN2QgIC4vZGlyLTEwMi9kYXRhLjAwNworN2JiYzZhM2QwOGM4YWFmZTQ5ZjM4Mjg2ZWExOTA3MzYgIC4vZGlyLTA1NC9kYXRhLjAwOAorN2JjMGZmOGY1OGIwNTBlMzU4OGE3MGVhNWE4OTljMmEgIC4vZGlyLTA2OS9kYXRhLjAwNworN2MyOTU1Y2JlOGQ4NjM1YjQzZjA2N2I3ODJhOGQyMmEgIC4vZGlyLTAxMy9kYXRhLjAwMgorN2M5NmVlZWI2MGEwNzM5MjkwMTdlODgzMDI4N2Y3YWQgIC4vZGlyLTA5NC9kYXRhLjAwNworN2NlZGY4OThhOGZlMGRjZDllNmUyZmQ5OGE3NGFiOGIgIC4vZGlyLTA4Mi9kYXRhLjAwNQorN2QzMjQyNWI3YzEwNDYwNGY5MGVmNTA4MWEwNjZkNjUgIC4vZGlyLTAxNS9kYXRhLjAwMgorN2RiYzRkMGI1ZTA5MmVjMDdkNzE4MjFkMDZjZWMxNTAgIC4vZGlyLTA4Ni9kYXRhLjAwMworN2RlYWJmZGRhNjhjMDljYTcyMTJlYTA1NjU5ZTk5MjcgIC4vZGlyLTAxNy9kYXRhLjAwNAorN2UyNmNjMzA2MTIzNTZhMzQzYjM5ZjAyMjlhYzNkNDYgIC4vZGlyLTAxOS9kYXRhLjAwMworN2U3YzJiYWYxY2M3NTYyYjQwN2ZjYTEwODVjMDVkMTYgIC4vZGlyLTA3NC9kYXRhLjAwNAorN2U5YjBmZjY2ZWY4MGJiNTI1NzgzMWY3ZDA0OTYxYjUgIC4vZGlyLTAyMC9kYXRhLjAwOAorN2ViZTgzNmQ4NDFiNjM2NjJlZWFkNmJlYjQxMmQ0YmMgIC4vZGlyLTEwNy9kYXRhLjAwMAorN2Y0OWU3OTg1MWI3YjQ1Y2QyZDMzMTc1ZmExYjI5NjkgIC4vZGlyLTA4MS9kYXRhLjAwMQorN2Y2NjdmYmQzY2MzZjI4NTkzMmFhZjkyZGExODlkMWMgIC4vZGlyLTA0NC9kYXRhLjAwNAorN2Y4NGFkMjIyNjk1MmRjM2EyY2FkMzhjM2VlMjk3MGMgIC4vZGlyLTAwNy9kYXRhLjAwMQorODA0NTE1MTE5MmI0OWE4ZGE0ZDJjOGU2NzYyY2NiYTIgIC4vZGlyLTEwNy9kYXRhLjAxMAorODA0OGUwY2JhMjIyY2MxNjU1NzVlYWNlMzkyMmU1YjAgIC4vZGlyLTAzOS9kYXRhLjAwMAorODA0OWFhNzVlZTRjYjFiNGMzYmJhNTlkZjY3ZTQ3ZGQgIC4vZGlyLTA2OC9kYXRhLjAwMgorODA4YWFkODI0YjllMmU0NjViY2E0MWVmZDFmNTI5NTQgIC4vZGlyLTEwMC9kYXRhLjAwNQorODA5NDBmYWQ3NWM3MjRhOTkwNzZjMzc2ODkyMDgzZjUgIC4vZGlyLTAwOC9kYXRhLjAxMAorODA5YWQ4Zjg3YjFkMzQ5NTM4NDc5ZWI4MjU1ZmJkOTUgIC4vZGlyLTA4Ny9kYXRhLjAxMAorODBiMTI2MzEzMjhiMGRhMTVkZWY1YWI3ZmY1OTIzZmEgIC4vZGlyLTA5NC9kYXRhLjAwMgorODBiM2FkYmVhZjc3NTJmNGIyODY5MGJmMzQyNzdhOTcgIC4vZGlyLTA4Mi9kYXRhLjAwOQorODExZjIyMjJiZjNlMzI2MWVkZGZhN2M1YjNkMDgxYjkgIC4vZGlyLTA0Ni9kYXRhLjAwOQorODEyMDA4NDY0ZTYzNzhmNDFkNjk5MmI1ZmZjYmViODQgIC4vZGlyLTA0Ni9kYXRhLjAwMworODE3NzQ5Mjc5OTU4NDI4OGI2ZDA5MTJkZGMzYzU3ODggIC4vZGlyLTAxMC9kYXRhLjAwMgorODFmZDEzODc4NDA2NTQ0ZDM5NmZiMGQ5MDdjOWE0MWIgIC4vZGlyLTA0NS9kYXRhLjAwNgorODIwMGJkYzEwNDgwYzBmMzJlMmY4M2NkNjg1MTVmN2UgIC4vZGlyLTA4NC9kYXRhLjAwNgorODIwNDA4YWNlMzQ5MzI1MGQ5OGU4Njc0YjgxODdhOTEgIC4vZGlyLTA1Mi9kYXRhLjAxMAorODIxMTcyZTU0ZTRhZmQ2MmY3MDVkMjI2MzMxYzdmYjUgIC4vZGlyLTA4NS9kYXRhLjAwNQorODI2ODEyYTM2MTA1ZmNkZjRkNTUwMGE2ZGYwZjA4ZDIgIC4vZGlyLTA4NS9kYXRhLjAwOQorODJlMTYwY2I2OGZjZDczMWZmZDhjOTgyZWI2Njk5MjIgIC4vZGlyLTAzNC9kYXRhLjAwMAorODJmMmJkY2I0NzI4ZTNhZDJhZDQyNjg4Yzc3NjA1MWYgIC4vZGlyLTAwNi9kYXRhLjAwOAorODJmZDBjN2I3MjM5OTkyMmM5MTVkNTZmZjY5NjZmMDkgIC4vZGlyLTEwNS9kYXRhLjAwNworODM5NjFjYTNhN2ZkY2U3ZWM3MDY5NmUyMTc0NjUzYzcgIC4vZGlyLTA4Ni9kYXRhLjAwNAorODM5OTFkNTczYmJkNjQzNDkzYzk0ZmU3NmZjYTc3ZmMgIC4vZGlyLTAwNi9kYXRhLjAwNworODQ0NTVlMjc5NTI3NjgyZGMxNjU5N2NjZDY0YmEyNjAgIC4vZGlyLTEwMy9kYXRhLjAxMAorODQ3Y2U5MWM0ZjM3OTYwYmZmNWQzNDAyMGI0MmVkNTIgIC4vZGlyLTA2OS9kYXRhLjAwMworODQ3ZTk0MTU0ZmUzOWZjYjQwOTc0OTAxZmQwNWI1OWQgIC4vZGlyLTA1Ny9kYXRhLjAwOQorODRhN2NlMzhjNjIwMmZkYjZiODk4ZGYyODU0NDY2NjMgIC4vZGlyLTEwNi9kYXRhLjAwOAorODRhYmEyZjU2MTgxM2E5YmFjMGI0YzA2NjIwMTUyYWUgIC4vZGlyLTA1MS9kYXRhLjAwMQorODRjNTc1YmMzOWQ2YzBjOTE2MDBhMmRkOWU0NTM2OTggIC4vZGlyLTA3OC9kYXRhLjAwMgorODUxMmUwMmU0NDEwM2Y2NzY3YjMzNDM0NWRjNzM1NzUgIC4vZGlyLTA0OS9kYXRhLjAwMworODUyMGJkY2QzNjVkYmJlYTU2YjQ4ZTE4MWU4OTJlNmYgIC4vZGlyLTAzNS9kYXRhLjAxMAorODU2MTZjMGRhNjYyZjM5NmQzMDFjYjFlNmJkZDdiZDQgIC4vZGlyLTAxMy9kYXRhLjAwNAorODVlYzgzNmU2N2U2ZjJiYWVlYzAxZjY2NWViMjNlMjkgIC4vZGlyLTA5NS9kYXRhLjAwMworODYwMzA2N2MxOTNlNGExYzM1NzgwMWIzODE2NDFkZmIgIC4vZGlyLTA5Mi9kYXRhLjAwMworODYxMWE2NmFiMDExMDMzYjNjOTA2YmE3Yjg5ZTZjMmQgIC4vZGlyLTAzNy9kYXRhLjAwMAorODYzNzhjMmVhMzk2NTg1Mjk3ZjE2NTUzMWU2Yzc4OTAgIC4vZGlyLTAyNS9kYXRhLjAwMAorODY2NDMwYjVkMzkxMWM3MzYzNzZkN2U2NjBhODFmMDAgIC4vZGlyLTA0Mi9kYXRhLjAwNworODZiYzM2MmRkYzBjZWNkYjQ4ZTRlZjQ4OWVmZTlkZDkgIC4vZGlyLTAwNS9kYXRhLjAwOAorODcyYTczYmJjZTJjODQ4YTU4NGU5MzgyZDYyYTdhOGEgIC4vZGlyLTA5MC9kYXRhLjAwNworODc0YzkzZTA1ZjRmMzJiZWZmNTA1MWM0YWY4NmI4ZTQgIC4vZGlyLTA3Mi9kYXRhLjAwMAorODc2YTJkZDNkNjMwZDk4MTQzMjAzNjkzODc0ZjYwZDAgIC4vZGlyLTA5MS9kYXRhLjAwMAorODdhNGExM2ExNWIxNzViOGI5NDNjZWZkZmUzZTc0ZTkgIC4vZGlyLTA5MS9kYXRhLjAwOAorODdkY2VkODI0ZTg0MTNlMDJjZGJmNTM5ZjhkZTA2MWIgIC4vZGlyLTA4Ni9kYXRhLjAxMAorODdmNTg4MWQ1YzRhODk0MDg1MzA3YWExMGZkYjEwNWEgIC4vZGlyLTA0MS9kYXRhLjAwOQorODdmOGU5MmM4ZjFhMWM4NDMzMzk4ODA4YWJhZjgxNjUgIC4vZGlyLTEwOS9kYXRhLjAwMworODgxMjQzNzE2YmE0ZTNjNWZmM2RkMzQyYzIxYzA0MGIgIC4vZGlyLTA4Mi9kYXRhLjAwMworODg4ZGEzZDI2NjU2NDQyYWExYzE5ZTJlNDc3ZTU5ZGUgIC4vZGlyLTA4My9kYXRhLjAwOQorODhmYTFiZDg3ZmEzMWQ4NTNlMzZiZDUwMzUyNjIyN2QgIC4vZGlyLTA0My9kYXRhLjAwNQorODkyMjFkMDFjODk0MjYyZTk3YjE1ZTdmNTc5MWUxNGQgIC4vZGlyLTAxNC9kYXRhLjAwMQorODk3ZWQzZDk4NGJmNWYxMzY4ZmFiZjQ5ZjNiMGYxMmIgIC4vZGlyLTA3Mi9kYXRhLjAwMQorODlhNTAzZjVkMWExZDliOTRlYWRmMTRhM2Q3YTdkZDUgIC4vZGlyLTA0NS9kYXRhLjAwMAorODllNjA4MWMzNWNkZDNiODZhODM2Y2ZmNTE5NzExODQgIC4vZGlyLTA2NS9kYXRhLjAwOQorODlmMGFjZDc1Y2E5NjNiZWFiMGNhYmJmZmQ2Mjg3MjQgIC4vZGlyLTA5MS9kYXRhLjAwMQorODlmNDk5YjBkYTQwYWY3NjgwMmYwZTAzZGE3N2Y2ZjYgIC4vZGlyLTA0MC9kYXRhLjAxMAorOGEwMTBiMTRlZjY3NmQ0MzA0ZWVmNzNiMWYxZjc4ZTIgIC4vZGlyLTAwNC9kYXRhLjAwNworOGExMjgzNDkzZWU2MGI0OTRhNThlNmFjZTc0NTI5MDcgIC4vZGlyLTA4OS9kYXRhLjAwOQorOGE2MmE4NzQyZWQ3ODAyMzA0M2Q0ZWFlYzViMWU5MDQgIC4vZGlyLTA5OC9kYXRhLjAwMgorOGE2YjBjNGYyYzA0ZTk2ZDUzMTU4Njg5OTZmY2RkYTcgIC4vZGlyLTEwOC9kYXRhLjAwNAorOGE4MmZmNDllNzEwYmQ4ODQ1MDg2N2EzZjQ0MGIwZGEgIC4vZGlyLTA3NS9kYXRhLjAwOQorOGE4N2I0ZTAwYzUzMWNkNTc3YTM5MDEyMzk3YTBmODcgIC4vZGlyLTA3OS9kYXRhLjAwMAorOGFiOTNiZmRkOWU2MmYzZDZkYTBkYmJjNTNlYmZmYTEgIC4vZGlyLTA3Ni9kYXRhLjAwNAorOGIwOWI3ZDYyYTM3MzU2ODFkYTM2MzcxNjU3ZTE0ZjMgIC4vZGlyLTAzOS9kYXRhLjAwNworOGI5M2YwNGI1MmJkMWZiMDc4MWY5ZDQ2YWM3YTI5MGYgIC4vZGlyLTAyNS9kYXRhLjAwMgorOGJkNTY1MGIwZTdkNGZiZjY5NzMyMTRjMmY1MDc4MDEgIC4vZGlyLTA0Ny9kYXRhLjAwMgorOGJkNWJmYWMxMDZjNjhjZmZiM2EwOThjNGQxNTdjZjEgIC4vZGlyLTA2My9kYXRhLjAxMAorOGM0ZmY4Zjc4MGE5OGUzOTI5NWY1MDAyNzhhMWQ4ODcgIC4vZGlyLTA5NS9kYXRhLjAwOQorOGQxMTEwZjlhY2NjODA0ZmM0OGJiMmVlNGFmNmJiZjEgIC4vZGlyLTExMC9kYXRhLjAwOQorOGQ0MjYxZTgwMzUyMDcwZDI4MDBmNTI4OTMyZTM3ZjQgIC4vZGlyLTA1NS9kYXRhLjAwMAorOGRiMDhmNjZkZWUxOWE1NDhiM2U2ZWIzYTE1NjA5ODAgIC4vZGlyLTA5NC9kYXRhLjAxMAorOGRmNzVmZTcxMGRkZjIzMTZkZDEzZjgwNjVlNGJmNDEgIC4vZGlyLTA4Ny9kYXRhLjAwMQorOGRmODAyNzlmMmIyMDUxZDY1YmNmMWY3YTdkZWE3ZDkgIC4vZGlyLTA5Ny9kYXRhLjAwMAorOGU1OGE0MmNmMzgzMTczYzBkY2Q2Njk0NDAyYmM5NDYgIC4vZGlyLTAxNC9kYXRhLjAwMworOGU5OTMzOTM2ZTAyNjE1OTUzNGY0NTFjZDA1NDhkNGIgIC4vZGlyLTAyOS9kYXRhLjAwMQorOGU5ZTQ1MjE4ZDE3YWUxYWFjNTdkMjRiYTQ0MTdkOWMgIC4vZGlyLTA3MC9kYXRhLjAwMAorOGVhYjJiMWQxZWEyYTU5MjZlYTVlMjc2NTg3NTQzYzQgIC4vZGlyLTAyNC9kYXRhLjAwMAorOGVlNjVlODBkYTM0NDk0MjVkNmM4Y2VkYzdiZTcyZmMgIC4vZGlyLTA5OS9kYXRhLjAwMQorOGVmNjQ4NzVhOWI5OTY5ODY5Y2IwZjI1YTMyZmEwZmQgIC4vZGlyLTAzOS9kYXRhLjAwNAorOGY3Yjg4YWZhMmNmYWUwYTMzN2UxZTMzMGU5NTA3YWEgIC4vZGlyLTA3NS9kYXRhLjAxMAorOGZkNGVhYjc2OGM0YjU5MDVlNDE2NzI1ZGU0MjNmNTUgIC4vZGlyLTA4Ny9kYXRhLjAwNgorOGZmYzkyN2RmODZkZDRjNWUzOTY2ZTlkMDU2NmU0NDkgIC4vZGlyLTAxNC9kYXRhLjAwMAorOTA0YTZkMWIyOWI2YjM0NmQxN2ZlNTU0OGI5MGNiNmIgIC4vZGlyLTA1OS9kYXRhLjAwNQorOTA0ZjYxOGZlODQ5NjBmNGQ0OTVhMmNiZjQ5NGExNzkgIC4vZGlyLTAyNi9kYXRhLjAwOAorOTBlNjQzYTBlYWQyNGYxMTQ0OWJlMmMxM2Q3MzlhNTMgIC4vZGlyLTAxNy9kYXRhLjAwNworOTEzNjFmYzk0YTE3ZDZiZDAwMWQxMzYzNTViODUzNTQgIC4vZGlyLTAyNC9kYXRhLjAwOAorOTE4NTBhYTM4MzFhODIxZDM3NWM0MTZjZjA0OGQ4MzAgIC4vZGlyLTAxMi9kYXRhLjAxMAorOTFmMTQ5OWY5ZmMyMWU3NDg3OTQ1OTYwMGE4MjU2NTQgIC4vZGlyLTEwMy9kYXRhLjAwMAorOTIwN2VjODc3YzJmYzBjODg3YWRiZTgxYjk3ZDcxNjAgIC4vZGlyLTAyMy9kYXRhLjAwOQorOTIzZmFlMWFhZDFmN2YwODdmN2Q1NmJlMGE5NDlhYmIgIC4vZGlyLTAyNC9kYXRhLjAwNworOTI0ZTYwOGUxNmQxODU4OWE5OTMyZmM3NmFiN2RhZDAgIC4vZGlyLTA5MC9kYXRhLjAwNQorOTI3OTY4ODI4ZDVjMzA2NTgwNDQ2NmMwYjY1NGRmYjQgIC4vZGlyLTA1NC9kYXRhLjAwNQorOTI5N2M4ZTMyMDlhZDZjM2U5ZWI4MDNkNTExNDc1M2MgIC4vZGlyLTAzMC9kYXRhLjAwOAorOTJiMzg4NzE3OTM2MjU1N2E5MDYzYWRmNTQ4YjJiZDcgIC4vZGlyLTA4MS9kYXRhLjAxMAorOTJmNjYyZjE2YzM3NjhkYjVlZWRhM2I2MGY0ZjBhZGUgIC4vZGlyLTAyMi9kYXRhLjAwMworOTNiN2M0ZDUzNzNhMzY0YjhlM2UyNmQwNzdjOTgwYzcgIC4vZGlyLTA3OS9kYXRhLjAwMgorOTNlYjE1YjUzZTY4NzllYmE5ZTIzYzJmNjM2ZTczYTYgIC4vZGlyLTA2MS9kYXRhLjAwMAorOTQwYmVlMWQzMzAwMDJjZjIzNGEzMzhiNjNkMDc5MTEgIC4vZGlyLTA2OC9kYXRhLjAwMQorOTQxNzJlOTI0YTdjZGRhNjI5ZjIwMmUxMTVlODZlOTYgIC4vZGlyLTA2Mi9kYXRhLjAwNworOTQ0NDkyMjBmY2E2YTk1ODkzODU3YTQ1OWVlZWVlYzYgIC4vZGlyLTAwMC9kYXRhLjAwNQorOTQ0YTYwYzU4MjA4ODlhYzZjMjA0Mzc4YWI4ZWM2ODQgIC4vZGlyLTA2NS9kYXRhLjAxMAorOTQ2MTFmOTdmMzBiMzIxNmVlMzA2YTk3ZWUwNjMyODUgIC4vZGlyLTEwNi9kYXRhLjAwMgorOTVjNGY0NGRiYzY2MmExYjgwZjIzMWMwM2ExODMxYTIgIC4vZGlyLTAzMS9kYXRhLjAwNQorOTVmMzRiZjU2MDk3N2FhYmY1NmIyMzc0YmZkODAxZmMgIC4vZGlyLTAzMS9kYXRhLjAwMAorOTYwYjM0MzNhZGRiZTQxOTQ0NTUwNmU0MDcwZTcwNGMgIC4vZGlyLTAzMS9kYXRhLjAwNAorOTZmY2M1ZGYzMzljYWZmMTQzMTFhMjRhODExMzQ3MTQgIC4vZGlyLTA0Mi9kYXRhLjAwNgorOTcwNmRkN2E3YWU5NzliODU4MTU1ZGVhOGQ1NGNiNGUgIC4vZGlyLTAzMy9kYXRhLjAwOAorOTg3M2ZjYWFhZjEyOWQ5MjJjYjI5YzEwZGQ3NjY1YTEgIC4vZGlyLTA2Ni9kYXRhLjAwMgorOTg5MzQ4MTIzZGNkMDhlZTMzYzM1MWU5MTU2ZGQ1ODEgIC4vZGlyLTAwNS9kYXRhLjAwOQorOThhZjIzYWM0ZGM4OTEzM2M3NDljYjc5Njg4Nzg4NTkgIC4vZGlyLTA0MS9kYXRhLjAwNQorOThiNzJmYTE1MjZlMjBjMTZhYjAyNTQ2YjY1NmE5MjUgIC4vZGlyLTA2OS9kYXRhLjAwNQorOTkwMTllNWZlZWFjZWNkNjI4Yjc5YjFlYjdlMTYxZjcgIC4vZGlyLTA3MS9kYXRhLjAwOAorOTkxNGJlYWMxNDY4MTQ5M2Y3YTdhYTE5YTBmMWJkOGUgIC4vZGlyLTAzNS9kYXRhLjAwMAorOTkzYzJjMWI2NGQ0ZDkwNDlkZjZkNWQ3Y2I1NmM0YzcgIC4vZGlyLTA1MS9kYXRhLjAxMAorOTk5NDkwYmMzM2VjMmE1NmFiMjMwYjZkYThiMWMxZDEgIC4vZGlyLTA0NS9kYXRhLjAwMgorOTliNzBhM2I1MjM1ZWJmZDFkZTZlMDk2ZDU0YWI0MWYgIC4vZGlyLTA4My9kYXRhLjAwOAorOTliODFiMTAyNDEyOTk5MWUxOWIwMTBlZTBmMTI5OWUgIC4vZGlyLTEwOC9kYXRhLjAxMAorOWEwZTBjYjlhMmY4OWZhOGM4ODhhNzMxMGI0OTFhYTMgIC4vZGlyLTA3NC9kYXRhLjAwMgorOWEyZDYzYzFiNDdhYTM1YTBkNjQ3ZDI3OGQ3YjEzYjMgIC4vZGlyLTAyMC9kYXRhLjAwNQorOWE3N2IwMTdjYjcxNDY0OGJiMzM4ODUzNzE3YWQ3ZTggIC4vZGlyLTA1OS9kYXRhLjAwNgorOWFmMzA1MmQ3OWUwMzIzNGQ1MTc5MGJjYTNmNjJhYmQgIC4vZGlyLTEwMy9kYXRhLjAwNgorOWIxMzA4ZDlhNzFmM2QwN2RmMjBjNjRlZTk0ODUyMTUgIC4vZGlyLTAwOS9kYXRhLjAwNAorOWIyNDNlNzkyMzIwN2ZlZWJhNDRlZjg5Njc4MzUyMTMgIC4vZGlyLTAyOS9kYXRhLjAwNgorOWIyNWNjNzdlYzM4ODRiOWIxMTVmMzRhNjFhYTZiMWEgIC4vZGlyLTAzNi9kYXRhLjAwMgorOWI0NDc1ZDY4ZDk5YjBkOGI1YjcyNGIxNjFlYzM4NTggIC4vZGlyLTA3OS9kYXRhLjAwMworOWI3YmZhM2RmYjEyMjNjMDg0YTczMmE0NjAwMTBiYTYgIC4vZGlyLTAyNy9kYXRhLjAwNAorOWJkMjM5M2Y0MTY3MTA0YzYwMmY0NjJjZmY5NzNjOWYgIC4vZGlyLTA1OC9kYXRhLjAwNQorOWM0MzBlNmRiOGYxNTMwZGZjYWI0MGRlMWFlMzIwZWUgIC4vZGlyLTA1OC9kYXRhLjAwMAorOWM0OGZmMGU5ZmMyMTNjYjJiNDgzZGIyMzBmZWIzNDUgIC4vZGlyLTAyMi9kYXRhLjAwOQorOWM5YTNlZmY1NDlkZWU4OGEzNWM1ODlkZGQ5ZDIxOGIgIC4vZGlyLTAxOC9kYXRhLjAwMQorOWNjZDA1YWM5NmZlOTE5MmE2ZTNjOWI4NjRmNTFjYzUgIC4vZGlyLTA0My9kYXRhLjAwMgorOWNmMzNhN2M4OTFkNmM3NDcyMjY3ZDU3Y2E2Y2JjNjYgIC4vZGlyLTA0Ni9kYXRhLjAwMgorOWQyMWZiMzBhZmFhZWY3OWFlY2IwZGE5ODE1YzM0N2IgIC4vZGlyLTA1MC9kYXRhLjAwMQorOWRmMmNkOWY5NWZlOTk3YzhkZTYyYzU0ODFkM2M5M2YgIC4vZGlyLTAzNC9kYXRhLjAwMworOWUzYjg0MzBjN2NiODcwODAzZWMyODZjMTM3MThiMDIgIC4vZGlyLTAwMy9kYXRhLjAwMworOWVhOWM3ZDZiOWZiMzE4OGJhMDgyMTEzNmMyMjhlN2UgIC4vZGlyLTA5NS9kYXRhLjAwNAorOWVkZjlhMDU2MDc1MjAwOGNlYWFhNGFlM2VkNTc4NWUgIC4vZGlyLTA3MS9kYXRhLjAwNQorOWY1NDk2NTY0NjZmNzBmNjIyYzlkZjFjNGNjYzk1MjEgIC4vZGlyLTAzMy9kYXRhLjAwNQorOWY4MDk1ODE0MGQ2NWI1ZTBmYjlhNTIxNjdiMWM0MjIgIC4vZGlyLTA5OS9kYXRhLjAwNgorOWZhN2Y5MmEyMWJhNTAwMTQwYWZmMTdkODc2MmE2YWEgIC4vZGlyLTA3Ni9kYXRhLjAxMAorOWZkM2IyODA0ZjU5MzM3NGRlZjVhMzAyYThiNDUwYzQgIC4vZGlyLTA3NC9kYXRhLjAwNQorYTAzMzlkZTJjMDEzZjJkMDNmNzU2YTgxNDQ2Mzk4OTcgIC4vZGlyLTA2MS9kYXRhLjAwOQorYTBhMjcwY2UzNzlmZDRkOTkxZDljYTcyOGQ2M2IzNmEgIC4vZGlyLTAxMi9kYXRhLjAwNAorYTEyMWIzMGZhMGFkNTBiNGU4MjlhNDU4NzljYzVlZGYgIC4vZGlyLTEwMS9kYXRhLjAwNgorYTE4YjY4Yzc3Y2U5MGI5YmRhY2ExYWU1NTI4MjMzN2QgIC4vZGlyLTExMC9kYXRhLjAwNAorYTFlMmNhZDhlOTdjODJmMzI1MzQ0MmNmZjk5N2JjZjAgIC4vZGlyLTA4MC9kYXRhLjAwMAorYTIzOGUyNTA3MjNiNDExMDFmMDdjZmNhMTdmMTE1NjQgIC4vZGlyLTA0NS9kYXRhLjAwOAorYTI0NmM1YzZjMWY4MjNlYjQxM2FmMzdkMzRiM2JmZmYgIC4vZGlyLTA3Ny9kYXRhLjAwOAorYTI5YzI0ZTIxZTZmNjA3NTcwZjc2ZTU2MjVkM2RjOTkgIC4vZGlyLTAzMi9kYXRhLjAwMworYTM0MWQ4YjE1MmJlOGQzNDE3ODJkYjVhYjFkN2FhYmYgIC4vZGlyLTA4NC9kYXRhLjAxMAorYTM1ZWM4NmIzMWQ3Mzg0OTE0Nzg4MGVlYTQyOTdmZDAgIC4vZGlyLTA2My9kYXRhLjAwMQorYTM4OTFjZDY4NTVjMzQ2YjA3ZjZkMWNkMzg1YzQ5YjUgIC4vZGlyLTA5NC9kYXRhLjAwNAorYTNkOTQxMGVmYjBiMWZmNjYwMGIzZjYyNzk3MWZkMTYgIC4vZGlyLTA0Mi9kYXRhLjAwMQorYTQwNTg3MTM4Y2VkMDRiMjBmYjI1MjczNTQ2MDZmMmMgIC4vZGlyLTA3Ni9kYXRhLjAwNgorYTQ2OTgxMGU0ZDFkYWExM2YzZTliMmU2ZjY4YjhkMTMgIC4vZGlyLTAwNC9kYXRhLjAwNgorYTRjMTNkYTkwY2JjZjJmMTYyNGE0YjJjMmE5YmIyMzMgIC4vZGlyLTEwOS9kYXRhLjAwOAorYTRkNGQ0OTIxNzllYjJkY2E3Y2UzMDU3MWM4ZWYzYmEgIC4vZGlyLTAwNy9kYXRhLjAwNAorYTUyZGEwYWExYTdhY2Q4Nzc4ZmU2ZjQwZjBmOGMwYTkgIC4vZGlyLTA2MS9kYXRhLjAwNAorYTU1NGI5MDY4ZWY0MDZjYTM3MmY5MTg5MzA0YTgyYjcgIC4vZGlyLTA1OS9kYXRhLjAwMworYTU4MWU3NWY4NGY0YWM2YWQ5ZTcwZTViNmJlYTUzYTQgIC4vZGlyLTA5NS9kYXRhLjAwNgorYTYwNTVkMDA0N2Q4MTRhMzFmMzJlNDE4NTQ0MWQ0YTEgIC4vZGlyLTAwNy9kYXRhLjAwNworYTYwNzQxZTIwOWI3MjZmZGE0ZTk2OWJmMzQ0ZjRhZWEgIC4vZGlyLTA2OS9kYXRhLjAwMQorYTYzOTVhOWJjZjUzNTA2Y2VmMWM2YjYyY2MzN2YyZDQgIC4vZGlyLTAwMy9kYXRhLjAwMAorYTY1MDQwOTU1ODg0ZDFjNmU0ZDU0YWQ5Mjk5YTA4ZTIgIC4vZGlyLTA2Mi9kYXRhLjAwMQorYTY1NDU3NTUwZDIzODA3YjIxYzFhZmE5M2U5ZDIxZWYgIC4vZGlyLTAzNS9kYXRhLjAwOQorYTY2ZTJhZWY4MDJmOTIzODViZjM4YjAxY2U4YjBjODAgIC4vZGlyLTAzMS9kYXRhLjAwMworYTY5NTJjODNmNmE0MDZlZDFiYWEyYjEyNTFiY2NmZmYgIC4vZGlyLTAzMi9kYXRhLjAxMAorYTczYWEyNmY2MmRlOTllOTdlNjkxMzc5ZmY2NGU4MzggIC4vZGlyLTA1NS9kYXRhLjAxMAorYTczYWQ2Yjg0N2FmODBiNjZmNGIzN2JmNzUyZTEwOTcgIC4vZGlyLTA5Ni9kYXRhLjAwMgorYTc4ZDUzZTYxN2QzMWQyOWQwN2ExYmM4ZDQ2M2U0NTYgIC4vZGlyLTA5Ni9kYXRhLjAxMAorYTc5MDMzMzRkYWIyYzk5NDhhOTQ2MGQ5NGZmZDI3ZWIgIC4vZGlyLTA4Mi9kYXRhLjAwMgorYTc5NTdjZDFiZmIzOGJiMjY1YzJkOTA5YmY0ZjBiMjEgIC4vZGlyLTAyNi9kYXRhLjAwNworYTc5ZGY2MTUyZGE0Yjc4ZWNlNjYzZjRiOTVkMjBjZDMgIC4vZGlyLTA0MS9kYXRhLjAxMAorYTdhYTdmMDIxM2Q0MWRiOWI3YTJkNjNjOTBmNzc3NzIgIC4vZGlyLTA1My9kYXRhLjAwMQorYTgxMTFhNDQzOTI0NGVkOWRlNmUwYzU5NDRkN2ZmYTEgIC4vZGlyLTAyOS9kYXRhLjAwOAorYTgyYjFlNzY5YzMzZmU3MDExOTRkOTVmY2NmMDI5YzggIC4vZGlyLTAxMC9kYXRhLjAwNAorYTg1NzNjYTg3MTk5MTBkM2VhMjU4MzljZjUyOWQ0NDEgIC4vZGlyLTA5MS9kYXRhLjAwOQorYTg1YzY2MjlkYTUzZDMyYTBlZDBkM2M4YjBhMjZjNzIgIC4vZGlyLTA3Ny9kYXRhLjAwNQorYThhMTM3ZGYwNGI4N2FjNzM2ZTE1ODUxNWVjNzFhNDIgIC4vZGlyLTA4Ny9kYXRhLjAwMAorYThhN2FjODdjNDI2YWEwNDdiNTczYjJkY2JjNGEwZTYgIC4vZGlyLTA1OC9kYXRhLjAwOAorYThjMDM4YTAzZjViYzJlNmI1MmYwMmI4YzVjNTJjYjIgIC4vZGlyLTA1NC9kYXRhLjAwOQorYThjNGMxZjkyNDEzM2VjMGM4MzYwOTAxYmNmNmMxOTkgIC4vZGlyLTA5NC9kYXRhLjAwMQorYThlMDZjOTgxNDQ4MTlkOThlODA5NDkyZjA4YWEyOWMgIC4vZGlyLTAzNS9kYXRhLjAwMQorYTkzYTQ5ZmQ3ODRjNmFkOTAzODVlYTAyMmVjZDIzNDMgIC4vZGlyLTA0NS9kYXRhLjAxMAorYTk1YzQ2YWM3MDQ3Yjg4NjZkZDkyMjVlZTRkNjQ4YzYgIC4vZGlyLTA1NC9kYXRhLjAwNworYTk3ZjljNmM1MjNmNTQ3OTA0NjM3N2VjYTc5M2VmNTMgIC4vZGlyLTA0MC9kYXRhLjAwMAorYTlhNTBlZDJiMTY1ZDU0OGExYWNhMmU0YjMwNmQwNmIgIC4vZGlyLTA0OC9kYXRhLjAwNgorYTliYTA5ZGY1NDY5MzBiYTI3NjYzZGYwMjI3YjA0N2EgIC4vZGlyLTAwMi9kYXRhLjAwMworYWExMjJiZmQ3NjBlYTRkYzUwYWVjZjRmNTMzYzY1YWEgIC4vZGlyLTAxNi9kYXRhLjAwNAorYWEzZWI1M2M3YTdhNzc2OTBlOTk2YTVjMGMxY2NmYWUgIC4vZGlyLTAyNC9kYXRhLjAxMAorYWE2MWE1ZDVmMzM2YjBiNTBlNmIxZDA3OTZiODkwYWUgIC4vZGlyLTA4OC9kYXRhLjAwOQorYWE2ZmVmNjNjM2IyYmJiOWMxN2M5YmQ3MzA4YzUzMDYgIC4vZGlyLTAzNi9kYXRhLjAwNAorYWIwZjg4MWY4NzI1NjNiZDc4NDZjMzQzMmVmN2ZjZTYgIC4vZGlyLTAwMy9kYXRhLjAxMAorYWIxZWExZmU5NWIzYWY3ZGI2NGFhOGZhMTQ2NzYwYmMgIC4vZGlyLTA5My9kYXRhLjAwOAorYWI1YWNkNmM1OTQxNWUxM2RjNzkxZTNmMzAwYmNjZDIgIC4vZGlyLTAzOS9kYXRhLjAwMQorYWJmMTc1ZWZmZDZjMDRkYmVkYzA0YTMxZjAwOWVmNzIgIC4vZGlyLTAzOC9kYXRhLjAwNAorYWMwMGJiNjAwMWUzNTRhNjA0MDYzZjFlMzFhOGZlM2MgIC4vZGlyLTAyOC9kYXRhLjAwMAorYWMwZWVlNDllNDczNzI2ZGViNTZkNDdhODIzMTk4ZDkgIC4vZGlyLTA4Ni9kYXRhLjAwOQorYWM2ZTFmNjE2ZmNhYjkzYmViZWExMmMzZGQxZmVmZWUgIC4vZGlyLTA2NS9kYXRhLjAwMQorYWM4ZTU5NmZkZjYyNzllNDBmZDAwODViYjBmMzQxNjUgIC4vZGlyLTA4NC9kYXRhLjAwNQorYWNjMWVlN2ZlYmQxMDBhYjIzYjZhNDc5ZDMwMDE4MjUgIC4vZGlyLTA2MS9kYXRhLjAwMQorYWNkYmUyZTQ5NmQ2YWUyM2MwZjBkY2ZiMGVhNmZhYTggIC4vZGlyLTAwNS9kYXRhLjAwNQorYWNlOWM4YjVkZDhlNTVkZDEzNzM1YzY0OWM5ZDRhZjUgIC4vZGlyLTA5OS9kYXRhLjAwOAorYWNmNWNiMmM3YjFlYjQzOTBhNjBhMTc3NGJjNGJhYjAgIC4vZGlyLTA5MC9kYXRhLjAwOQorYWQyNDExNGM5Y2I4ZjAzNWFkZTJlODYyZDlhYmFmYTggIC4vZGlyLTA1My9kYXRhLjAxMAorYWQzMjBjZGJmYmZhNWNmNmM3YjdhOGM0MGE2ODYxOTMgIC4vZGlyLTAyMS9kYXRhLjAwMAorYWQ1YjJkNTQ4ZGJiZmU2YWIwZTIxNDM3YmIyZTFmMmQgIC4vZGlyLTAxOS9kYXRhLjAwMQorYWRlOThhZGViNDVhYjE5YzdjZThkNDI3ODJkYzA0YTcgIC4vZGlyLTA4Ny9kYXRhLjAwNQorYWRlZmM1ODU2ZDJhNDU5NWJlZWIxYWRjYmQxNzIyMjEgIC4vZGlyLTAxOS9kYXRhLjAwOAorYWU4MWM5NTM3ODZjZWM4MmQwZjFmOTQzNWIwZDBjMGQgIC4vZGlyLTA1Ni9kYXRhLjAwOQorYWViYmVlYjVlNDIxY2I4YWQyZTgzMWEzMDI3NDJhNmUgIC4vZGlyLTA4MS9kYXRhLjAwMworYWVjNDk3OGI4MTQ0MWRhOWNiYTkwMDg1NDlmZDU4YjQgIC4vZGlyLTEwMy9kYXRhLjAwNworYWVmNjI4ZDc2NzZhZTIxMTUzYTg3ZTBmMWVlMDgyN2QgIC4vZGlyLTA1My9kYXRhLjAwMAorYWY5Mzg1Yjc2MjU2ODRjM2QxNTM4NTRiZmJjNDI3ZmIgIC4vZGlyLTA1Ny9kYXRhLjAwNworYWY5NDllMjkyYzczNmRlYzY0YzI5YjM1ZGJjOTRjZjMgIC4vZGlyLTEwNC9kYXRhLjAwOAorYWZiNjhkZDkwOTU2YzcyOWM0OTIxMWFhNWNjOTc0ZDMgIC4vZGlyLTAxOC9kYXRhLjAwMAorYWZjNWNjZWFlZDkwMWUzYmFmMjY0MTBlNTMwYjIxMTIgIC4vZGlyLTA0My9kYXRhLjAwNworYWZkMDUxNDFiZTZmODY1YTY0ZTkzOTA4ZTA1YWIyZTcgIC4vZGlyLTA3MC9kYXRhLjAwNAorYjA1MGY2ZjBiNTVjYWZkOTFhZjhiNWJmZWQ5ZDdlZjAgIC4vZGlyLTEwNi9kYXRhLjAxMAorYjA2YmNhNTNiMTMxMzA0YTg5ZDE1MmZhODY5ZThkNDQgIC4vZGlyLTAwNi9kYXRhLjAwNgorYjA3ZTA3ZDllYjViOTc2NWQ1OTE2OTEwZDMwMjJhMTUgIC4vZGlyLTA0MS9kYXRhLjAwMworYjA5OTY2MWQwZGM3ZTc3N2U5NGI4OGE3Njg3OTJhYmEgIC4vZGlyLTAyOS9kYXRhLjAwMAorYjBmOWZiYzM4ODk4NDM3NTZjMmZiYmRiYzhlOTVjODAgIC4vZGlyLTA1Mi9kYXRhLjAwNworYjE0MWUwNzQ2ZDc3MWI2NDJiODA3ODllMmNlZTc4YjcgIC4vZGlyLTA1NS9kYXRhLjAwNQorYjE1NDU4YjhkMjhiNGZmMjc3YWExOWQ2NDRjM2YwMWUgIC4vZGlyLTA3OC9kYXRhLjAwNAorYjE5NjkyYmZjYzg4N2EwMzI2ZWEwZDlmZjc3N2I3MDggIC4vZGlyLTA4Mi9kYXRhLjAwOAorYjFhMGY2N2MyMjIxMWI2MGVhYTNhZDA0MzMwMGVjMzkgIC4vZGlyLTA3Ny9kYXRhLjAwNworYjFjYjA3ZDdmNGFiMDMxNTIyYTEwOTJjZGEwMDllYTUgIC4vZGlyLTAyNC9kYXRhLjAwOQorYjIyODM5MWU1YjY3NGY2ZTMyMGY0NmM5MmEyMzFhNmQgIC4vZGlyLTAxMy9kYXRhLjAwMQorYjIzMWIxNjkzODkyMmI2MmJjMzEzYzRkYzc5MWU4OWYgIC4vZGlyLTA0MC9kYXRhLjAwMQorYjIzNWU2NjdmZTA2ZTIzMzNkM2Q0ZjRjZmViMTFkOGUgIC4vZGlyLTA2MS9kYXRhLjAwNworYjI1ZTQ3YjhlNjA4NGE3NzEwODJhNzlkMjk2NDEyNWQgIC4vZGlyLTA0Mi9kYXRhLjAwOAorYjJhNTAxN2U5MTNhMjU0YjMzYzhmYzUxYTAzMDQ3NDUgIC4vZGlyLTAxOC9kYXRhLjAwNQorYjMyOWRhZDZhZDg1YzY1YTkyMjJiOGIyNjFlODYzNjEgIC4vZGlyLTAwOC9kYXRhLjAwOAorYjMzY2QwZTE4YjVhMjM4NGRjMDVhNDZmNjliMDkwNTkgIC4vZGlyLTAwNy9kYXRhLjAwMAorYjMzZjEzNjI0YTdhN2NmYzUwZmVmMDQ1NmQ3NDk0N2EgIC4vZGlyLTA5Ny9kYXRhLjAwNQorYjM2N2EwMzYzYjU3NGE4NDU1Yjg0MWNhZGEwNGFjY2QgIC4vZGlyLTA0Ny9kYXRhLjAwNQorYjNjNWFjOWFmNGQ3YTA0MzI1MTgyODA2NDUzOTU4YmEgIC4vZGlyLTEwMy9kYXRhLjAwNQorYjNkZmM4YjBmYjc2MTYyODdhZjZmNzc1NzIwN2I2YjggIC4vZGlyLTAzMy9kYXRhLjAwOQorYjQxZDBhZmE0ZDU3ODIzZTM0ZDExZTY0YmQ2NTM0YTYgIC4vZGlyLTA4Ny9kYXRhLjAwOQorYjQ0NWI3ZTYyNGU3ZjFmN2E1YmU2NTQxYTNhOTNhOGEgIC4vZGlyLTA0My9kYXRhLjAwOQorYjQ2Y2Y0YTc2N2EyZDM4OTgwMGRkYTAzNzQ5MTc0MjcgIC4vZGlyLTA1Ny9kYXRhLjAwMgorYjRjNjUxNjYxODBjMTZlNTQzN2ZiZmUwM2FmNGI1ZDQgIC4vZGlyLTAxNS9kYXRhLjAwNAorYjRjY2Y4ZGExNDk5OGNiZTcyMWM5OTBkZTQ2YzllZGMgIC4vZGlyLTAzMi9kYXRhLjAwOAorYjU0YjM5MmI0Y2ZmOTJmODE1MWQ1OGNiOTJlNjg4YTAgIC4vZGlyLTA2Ny9kYXRhLjAwNworYjU5MzRjYmNlMTY1MWMxMmNiYjRlNjE4ZTA5MWY0MzUgIC4vZGlyLTEwMi9kYXRhLjAwMQorYjVjMWU1N2ZmYTBjZWIwOTQ3MTcwZjYxMDA3NWYzYjAgIC4vZGlyLTA0My9kYXRhLjAwMQorYjVjOGY0Y2E5ZDJjZmY1MjQ1Yjg0N2UyMWM3ZGYwNDkgIC4vZGlyLTA1MC9kYXRhLjAwMgorYjYxYmYzMTljNTdkYTRlYjRmMTIxZmQ1YzUzNTc2MGMgIC4vZGlyLTAxNS9kYXRhLjAwNworYjY3ZmI1ZWU3YjkzMDYxYWRlNjQ5Mjk0OTI1OTBmNWMgIC4vZGlyLTA5Ny9kYXRhLjAwMworYjY5MDA3N2ViYjI1YzI2MDVlZjBlZTMzNzI4OTRjZWMgIC4vZGlyLTA0NC9kYXRhLjAwMworYjZjMjBjZWQ5ZmZlMGU5MWZiZjdjNGQ3MWNjNDUxYmMgIC4vZGlyLTA3NS9kYXRhLjAwNworYjc1MzhmODgwZDkxYTA3MDM3MjkwZjk4MDI3ZWQzMDYgIC4vZGlyLTA0MC9kYXRhLjAwOQorYjc5ZjFiZGI1YmJiNDdlNWQ5NjVlOTAxMzdkZGYyNmUgIC4vZGlyLTAxNS9kYXRhLjAwNgorYjdiN2NhZDg3MjBkMGY5OWZkYmQ3OTg0Y2FhZDg4MzEgIC4vZGlyLTA2MS9kYXRhLjAwNgorYjdmNTZjOWViYWRjYWU4YmQ3YjMwZTE0YmRlMGI1ZDIgIC4vZGlyLTAxNC9kYXRhLjAwNQorYjdmNmQxMTE4ZWU5MzJjNjVmMWU1YTE5MzFkNmM4ZmYgIC4vZGlyLTAxNC9kYXRhLjAwOQorYjg0YWM5NmNlZGI0NDJmZTIzNWNmZmM4YWEzMTE5OWYgIC4vZGlyLTAxNy9kYXRhLjAxMAorYjg4YzU3YWJhMjZmOGUxYzA4NWNmYzdhZTExODg4ZDAgIC4vZGlyLTA3My9kYXRhLjAwNQorYjhiZjE3MWVkNGY1ZjkwNWNmOGY3ZGFiNmE4MmE3ZDMgIC4vZGlyLTAyMS9kYXRhLjAwMgorYjhjMzM2ZGQ2ZWM3ZGY1Y2IzZjcwYWM3OWUxNjkyMjEgIC4vZGlyLTEwOC9kYXRhLjAwNQorYjhkZTg0N2Q4YWY4MzI5MjA2YjUxNmY4MjU5NDU0MzkgIC4vZGlyLTEwNy9kYXRhLjAwOAorYjkxMDUzMDU4ZjVjYjg2OGE2NWViMDBmZmM4Yzg1ZGIgIC4vZGlyLTAxOC9kYXRhLjAwNworYjk4M2VjNWUyNjk2ZGVjNDJlODg2ZTRhYWYyNGMyZGQgIC4vZGlyLTA0MS9kYXRhLjAwMQorYmExOGU2YWY0ODA3OTljYjYxYWNmMGUzOTg0NDEzZDkgIC4vZGlyLTAyMy9kYXRhLjAwMQorYmExYzg2YjRjNzUxOWU5OTg3ZmM2MmUwNGUxNGI5M2YgIC4vZGlyLTEwMC9kYXRhLjAwOQorYmEzZDM3MzVkYjc1MDFiYjQ1YTFiYzM3YTFjOTBkOTEgIC4vZGlyLTAzOS9kYXRhLjAwNgorYmE1ZGZmNDQ1OGU0MzhhMzdmNzAyMGE2OTk3Y2IzZWIgIC4vZGlyLTEwMi9kYXRhLjAwMgorYmE3MWVhNjY4ODUzMzllZmM1MDRmNTgxZmE5ZDA1ZmEgIC4vZGlyLTAyMS9kYXRhLjAxMAorYmFiNzM0MDIzMGNhZmZkOWFiZTQ1YTIxM2NjN2M5NGQgIC4vZGlyLTA0NC9kYXRhLjAwNgorYmFjZjc1OTA5OWQzY2UzM2NkZTEwNGYwZmQwOTQwNGIgIC4vZGlyLTEwNy9kYXRhLjAwNgorYmIzZGM5ZDkyZTdjMTMxOTE1MDJmOWNhMmQ5YTJhNDYgIC4vZGlyLTAzNC9kYXRhLjAwNgorYmJmNjJkYjNlMjc3ODkzYWU3MDViOTVkZjA1N2M2NzYgIC4vZGlyLTA0Ni9kYXRhLjAwMQorYmM5YTE1ZWU1MzU3MWJlMDRjYTE5OTI3NTRkNDA3YmMgIC4vZGlyLTAzNy9kYXRhLjAwMQorYmNhZGQ2M2UwMGZhZDRiN2YwOWYzMmNmNTBjNjA2ZjggIC4vZGlyLTA3OC9kYXRhLjAxMAorYmNlNDNmNGJjMzJlM2I0MzFjZTg4ZTcxNGViZGU0ZTcgIC4vZGlyLTA3OC9kYXRhLjAwNworYmQ1N2NhMjU1MmEzNTE5NjQyMmViMjU0ZDBiNjY4OWIgIC4vZGlyLTAxMC9kYXRhLjAwNworYmQ2ZDk2NjFlZjQ0ZWU5NGYzYTU3Njc5NGJhMmU5NzIgIC4vZGlyLTA4My9kYXRhLjAwMAorYmQ4NWU4YzhjMGZkNGZmZDBhOGFiZGQzODY3NWU0YTcgIC4vZGlyLTA2MS9kYXRhLjAwMgorYmQ4ZTljMzkyYmM3NmMzZDA0Y2UyM2EzNzZjZjc5NDEgIC4vZGlyLTEwNC9kYXRhLjAxMAorYmRhOGQ1M2M0NWM1MjFjNWE3ZmNjY2YxOWUwZmQ0ZDIgIC4vZGlyLTA1Mi9kYXRhLjAwNgorYmRhOTQ2ZDcyOTMwODlmNDg3ZGJjZjY0NTY0YjdkNzkgIC4vZGlyLTA1MS9kYXRhLjAwMworYmRkMjg1MDkyZmFmNWExOWM5YThiM2ZiZDExNjJkNjQgIC4vZGlyLTEwMS9kYXRhLjAwMAorYmRmMzliODkzNTY3YjNhNjMyOWEzNmRhYzQ4YjUxNmMgIC4vZGlyLTA5OS9kYXRhLjAwNQorYmRmNTZhZGUzNDYyOGQ5YTJlNzU3YjJiYzZlYjBlMGMgIC4vZGlyLTAxMy9kYXRhLjAwNworYmU1MDdhODMwZGMwOWI4YzZkODAyZDQ1NjQ3ZWRiNTUgIC4vZGlyLTEwNC9kYXRhLjAwMgorYmYxMDZhNjBlZWQxOTYzY2QzZTU4NDYxYzM4Y2RhODcgIC4vZGlyLTAzNC9kYXRhLjAxMAorYmYyMWU0OTNkNTM2Mzg1YzQ1ZGYwMzdiMmU5Y2RiNDUgIC4vZGlyLTA4OS9kYXRhLjAwMAorYmZiMGY0YmE5YTg1ODhiZWMzY2VmNGVkZTZhM2JiNTcgIC4vZGlyLTEwNi9kYXRhLjAwOQorYmZkYTg2ODI3N2E2YzZjMGUyNTc5NWFkNzMzMTYwNzQgIC4vZGlyLTAzMi9kYXRhLjAwNgorYmZkYWMyYzk4OGRlMzljZWM5NWE1OWY4YTA5MDYzNmQgIC4vZGlyLTA5Mi9kYXRhLjAwOQorYzAxYmRlNGU5ZmQ3NzMzYjZhOTE1Mjg0YWMxMmM0ZTggIC4vZGlyLTEwOC9kYXRhLjAwNworYzA1NmZmNzJhOWIxODczMzJkY2EzMDBmYmI4MTIyNmUgIC4vZGlyLTAyNi9kYXRhLjAwMworYzBiMjE4MmRlMTljMTY5NWI3MTI3N2Q0ZmJmYWNjMTggIC4vZGlyLTA1Mi9kYXRhLjAwMQorYzBiOTRhNTM4MTc2YWE2OTg2Y2FmYTJlMmZkOGZlOGMgIC4vZGlyLTA0NS9kYXRhLjAwNAorYzBlMTZhOTYwMTRhMTM5OTVlNTM3ZThlMzliMDE1NWUgIC4vZGlyLTA1Mi9kYXRhLjAwMgorYzFjZjE0ZTM4MTJhOGI5OTMzOTExZGE2NzljNDlmOGYgIC4vZGlyLTA3Mi9kYXRhLjAwNworYzFlZjBlYzFmZTNjYzY0ZDcwNWQ1NDk5YjZlZTYyMmUgIC4vZGlyLTExMC9kYXRhLjAwMQorYzIxMjkxMjBiYzk2NzAzZDI4OTI4ZDU2N2JjNWRmNTggIC4vZGlyLTAyNS9kYXRhLjAwNQorYzI0MjlkYmNmNDkyOWVmODg2YjYxMjE0N2U4ZWZiYjMgIC4vZGlyLTA0OC9kYXRhLjAwOAorYzI4MWY5YTQyYjUxZWE3YWY5M2U1YTg4YzEyMTYxMjAgIC4vZGlyLTA4NC9kYXRhLjAwOAorYzJjMmFiYjllODcwZDE0NGRkZTA1ZWM2ZDdhOTc5ZGEgIC4vZGlyLTAyOC9kYXRhLjAwMworYzJmMTg0NjAyNTI5M2MyNTYwZWY0NGEyMjg3Y2E5NDggIC4vZGlyLTAwNy9kYXRhLjAwMgorYzJmNmRhMDhlM2U2YzA0ZmEwNGRiZTQ3ZDlkOTFlYWQgIC4vZGlyLTA4NS9kYXRhLjAwMQorYzM1MzczZmI5ODg4YzMwMjcyZDJmNTc0YzBhOTQyM2IgIC4vZGlyLTA3OS9kYXRhLjAxMAorYzM3MmUzNTE3N2FhMzI4NmNiNTUwODU5MGIxOTEzMDIgIC4vZGlyLTA1MS9kYXRhLjAwNQorYzNjYzkwZGQzM2I2ZTVlZDEwMDgxNDU2ZjA3MGM0NDcgIC4vZGlyLTA4NS9kYXRhLjAwMgorYzQ3MDExZjk0ODhhOGI4YjU1MTBhYTk2ZWYxMWZlNTcgIC4vZGlyLTAzOS9kYXRhLjAwNQorYzQ5NThmYjA5ZWZmMGRkNTE4YjhhNjk5N2M2YjcxZmMgIC4vZGlyLTAxNy9kYXRhLjAwOQorYzUzODQ5MjQ5ZmFkMGRlZmRmODM3YmJkZGZhMTU0ODkgIC4vZGlyLTA3Ny9kYXRhLjAwMAorYzU2Nzc1NjkwYjk2MWJkMDQyNWRmZDNkODNkYzRmYTcgIC4vZGlyLTA2Ni9kYXRhLjAwMAorYzU4MDQzMTEyMTUwNzhhYWNkYTg5NTkxYzQwYmI0YzIgIC4vZGlyLTAwNS9kYXRhLjAwMQorYzViMzIyN2FhNTQ4NDkxOWRjYTBkYTk0NzM5MDQxOWEgIC4vZGlyLTA5Ni9kYXRhLjAwMAorYzVjYWY4NTc1MDM4Y2VjYTkxYjE0MGQ5ZDBlM2IyNGUgIC4vZGlyLTA2OS9kYXRhLjAwOAorYzYxZmNhM2UwNWY5YTg1OTZmZmVkM2YxNTEyYzhmZDkgIC4vZGlyLTAyNC9kYXRhLjAwMQorYzY3MmQ3YjE2NjkzYzE4NDhmYjIzMzFmZDQ4M2JhNWQgIC4vZGlyLTA2Ny9kYXRhLjAxMAorYzZjNjRlMWEzMWI2NTkzZjJlMzU3OThjZGZiOWE2N2UgIC4vZGlyLTEwMy9kYXRhLjAwOQorYzZlNzc0MWYzZDQ5OWNiNTkyZTg0ZWU1MDFhZTdjMTIgIC4vZGlyLTA1Ni9kYXRhLjAwMAorYzczNGY0NTBlZDIwZTBlNmViZTdlNTJlYmViNDBjMjcgIC4vZGlyLTA5NS9kYXRhLjAwNworYzc2NWFjZDBmZGRmZGQ4ZGQyNWMxZTNiNTc4YWI4ZDIgIC4vZGlyLTAyMS9kYXRhLjAwNQorYzc3ODMxY2NmZDJhMWMxODQyYzQ3NWYyMzk1ZTU4NmMgIC4vZGlyLTAwNC9kYXRhLjAxMAorYzc4YjMyYTI0ZjJmZmFhN2E2NGE5MTA4NzFjN2MyZGEgIC4vZGlyLTA4Ni9kYXRhLjAwNQorYzdhYTllYzhmNGE5MWQ5OTNlYmMzNTdmN2M0ZDYyNGMgIC4vZGlyLTAxMi9kYXRhLjAwMQorYzdiNjI3NmRkOWM1M2FiYzc4MjRiMTcyMzc3ZmE1NjYgIC4vZGlyLTA3My9kYXRhLjAwOAorYzdiZDdmODFiODFmM2EzZGZmYzlhYTZkODkwM2E1ZDQgIC4vZGlyLTAyMC9kYXRhLjAwNAorYzdkMzA4OGRiYjQ3MGIxZjhlNjU5Nzk1ZTlhZTAwMWEgIC4vZGlyLTA3Mi9kYXRhLjAwNAorYzdkYjMwZTQ5MDEwYWNkNDQxY2EwNzFiMTU5ZTg5NTIgIC4vZGlyLTA5My9kYXRhLjAwNQorYzg3YTcwNjY1ZTQ5Mjk4NTU4YzU0ZTdiMTExNTBiZGMgIC4vZGlyLTA3My9kYXRhLjAwNworYzhjNTI3NzZhOGU5YjNmNDNiNTVjMTEyZGU0YjM2MTUgIC4vZGlyLTA1NS9kYXRhLjAwMQorYzkwZGQ3YWQ1MzAyMmUyZWM3NzdiNDAxYTIwNTY3OTQgIC4vZGlyLTAzMi9kYXRhLjAwOQorYzkxNjc5ZDljY2VjNjBlYzU4ZmVjNmU1ZWNiNzFjZGUgIC4vZGlyLTAwMS9kYXRhLjAwNAorYzkyODNkMWRiNjE5OTQzNzA4YTU4YTBkNGUwNzI0OTAgIC4vZGlyLTA5OC9kYXRhLjAwOAorYzk3MTAwZWFhMGQ1YjUwYzI5ODZhZDJkN2E0YWI0YzYgIC4vZGlyLTEwNS9kYXRhLjAwMgorYzljYTkzYzhiOTFlMjNjN2Q4ODQ5ODUyNjFjNzI3YmQgIC4vZGlyLTA4Ny9kYXRhLjAwMworYzlmNjEzZTM2MDU5ZjZhMmViYjIxZGNiNWFjMmU1NDQgIC4vZGlyLTA5OC9kYXRhLjAwNQorYzlmYjdkMDhiNzYyODZmNzI2ZDM0OTkzMzQ1M2NkYWEgIC4vZGlyLTEwMi9kYXRhLjAwMAorY2EwMjZlMWZjZTczNDJlZWE4ZDU5YjVlZjE1YWUxYjkgIC4vZGlyLTAxOC9kYXRhLjAwMgorY2ExYjYyNGNmZTAzOTg0NDg1Njc4NjJhY2I0OTY3MjEgIC4vZGlyLTAwMi9kYXRhLjAwNgorY2E1ZGQ4OTRhMDA1YzEzNzAyZTk2NmQwNGE1ODY1N2EgIC4vZGlyLTA3NC9kYXRhLjAwNworY2E2OTBkZGYxZDk0ODhkM2FhZTVkZTY2N2I0NmUzYzYgIC4vZGlyLTA3MS9kYXRhLjAwOQorY2FiYjI5NDBmYWZlN2RkZjI2NDM4MzBmNzU0MmNjNGYgIC4vZGlyLTA3MC9kYXRhLjAwOAorY2FjYzk4Y2VhNzUyNWJlNjcwZmJhMDYyZTkyMTM4NmYgIC4vZGlyLTAyNy9kYXRhLjAwOQorY2FmOTMwNzMxYTIxMjQ1MjBiZTcxZjdiZGJmNTE0N2YgIC4vZGlyLTAzMC9kYXRhLjAwNQorY2IzMGZhM2QyMmMzMmZmNWI0NjZhMjE2ZDdlNDE3NGMgIC4vZGlyLTA0MS9kYXRhLjAwNworY2IzNTNjYzkwMGExMGMwMDIwZmNjNDBkMjBmYjc3MmMgIC4vZGlyLTA1MC9kYXRhLjAwMworY2JhODE5MTExOGUxODIzYmIzOGY4MDMyMWI5OGQ3YTUgIC4vZGlyLTAzMi9kYXRhLjAwNQorY2JmNjgyMDI3NDFjOTJhNmExYTEzNDViYTQwZGJjMWMgIC4vZGlyLTAxOS9kYXRhLjAwNAorY2JmOTY2N2FjMTgxZjUxMDBjZjNkN2QxNzlmMDdjMjYgIC4vZGlyLTAxNC9kYXRhLjAxMAorY2JmZTI0ZDdmMWFlZjIwNzQ2YWRkYTA5ZWRmYTBiMTIgIC4vZGlyLTA3Mi9kYXRhLjAwOAorY2MyNTY3YTIzNTBmZWU0YzUxODdhMDBiYzA2MTVkNWUgIC4vZGlyLTA1NC9kYXRhLjAwNAorY2M3OTg2MTVjMGIwMmQ1M2Y2ODI3MjQwZWU2NTRmOTggIC4vZGlyLTA2NC9kYXRhLjAxMAorY2M4M2Q1Yjc4YWEzNGZmM2Q4Mjk1N2M3ZDY5ZWUxNmEgIC4vZGlyLTAxMy9kYXRhLjAwMworY2NhNWMwYmRkNmQwZWIxOGI3Y2RlYzJiY2JiNTk3NTQgIC4vZGlyLTA3Ni9kYXRhLjAwOQorY2Q2YmU0YjFiMjVkZTliZmY2NmFkODE5MWVhYzdkNGMgIC4vZGlyLTA0Mi9kYXRhLjAwNAorY2RjZDUyNDBlNzhjMTMzNTcyODExNTNjNGE0MTM5NWUgIC4vZGlyLTA4Ny9kYXRhLjAwNAorY2UwZGVjNjEyZGI4MGE5MmExNzZjZTE5MGIxOWE3NTQgIC4vZGlyLTA3MC9kYXRhLjAwMQorY2UzMzkyY2Q0ZDgxZGUwMDFmYjM5N2JhMTY1NWMwYzggIC4vZGlyLTAxMC9kYXRhLjAwOAorY2U1OGEwZTUwZDE2ZDc1YzQ1Y2U5NDQ3YmM4NjhiNDUgIC4vZGlyLTAxOC9kYXRhLjAwOQorY2Y1ZmI4Y2JmZTcyMzU1MjFmZDc4NzhkOTY0YmFkYWYgIC4vZGlyLTAyMi9kYXRhLjAwNAorY2ZiZTBmNjliMzViYWE5MTMzYjYzNTVjZDJiZDZkMDggIC4vZGlyLTA5NC9kYXRhLjAwOAorY2ZjMDE3OTkzMzI1NDk1MjJhODIzMDc3MTQ3YWRmZjAgIC4vZGlyLTA1Ni9kYXRhLjAwMworY2ZkZTY0YzM2MjgzNWE3MmM4Y2VkZmU2NDc3YmRhNTYgIC4vZGlyLTA3OS9kYXRhLjAwOAorY2ZmNmYyOWMxNTM2MjkxZDU0NDk4ZmI1MzljNjY4MWYgIC4vZGlyLTAwMi9kYXRhLjAwMgorZDExOTIyM2UwZGEwN2YwMDUwMTJiZjZmZWY0MTViNWMgIC4vZGlyLTA4Mi9kYXRhLjAwNworZDE2ZGJiNDBhZDA0Y2ZlMDkwNDhkZmE1Njk3N2NhM2MgIC4vZGlyLTA0NC9kYXRhLjAxMAorZDFkYmZkZGYyMDlmNmEwNzBiY2Y0ODM1M2FiZGJkOGIgIC4vZGlyLTA0MC9kYXRhLjAwMworZDFlNTgwNmJkYzA2YWUyMjMxYjZmOWIxYTNmYTFmMGMgIC4vZGlyLTAwMS9kYXRhLjAwMQorZDIyMjljNWE2MWMwY2NmN2IxMzk3MTQ0ODQyMzFhODQgIC4vZGlyLTAwMS9kYXRhLjAwOQorZDI0NDIwNGIwZTYzZDdjMzNiMmRkM2U1ZDIyMzc3NDggIC4vZGlyLTAzNi9kYXRhLjAwNQorZDI1M2QwOWViZTZkZjk2Yjg0NTY1YjNiZjI2ZThiYmMgIC4vZGlyLTAzMC9kYXRhLjAwMgorZDI3MDNkZmNiMjI4YTk4ODVkNThlYjZiZjhjNDMxOGEgIC4vZGlyLTA4OC9kYXRhLjAwMgorZDI3Yzc4NzEzZjI1MmUyMzkzZWE5NDJhYmNmNGE0YWMgIC4vZGlyLTA0OC9kYXRhLjAwNworZDJiNmUxZGI3YWI4ODIzMzAxNWU3ZDhmYTVhNmJiODEgIC4vZGlyLTAyMS9kYXRhLjAwOQorZDJiZTgxNGQyYWU1ZjMzNzIzY2M4Nzk0NjE0NDgzZmIgIC4vZGlyLTAwOC9kYXRhLjAwNQorZDJiZjdjMjM0NjViOTQ1NWEzY2EyN2I1MGNjMTIzZmYgIC4vZGlyLTA3My9kYXRhLjAwMgorZDJjMWIyYjZjYTE2ZjRlNGZmOTc1MDkyNmFlZmFjZDQgIC4vZGlyLTAzMC9kYXRhLjAxMAorZDM0MzYyYzBiODZhOTM0ZTg0ODQ3ODA2Nzc2MGM4NjMgIC4vZGlyLTAyMS9kYXRhLjAwOAorZDM0Nzk5OTMxZWVlZmE5MTQ3MjdlMDgyMmM2NjdmYzUgIC4vZGlyLTAzMS9kYXRhLjAwOAorZDM1YTYyZWY5OTU3MGM1ZWY1YmI2MjkxYmJiMzZjYzkgIC4vZGlyLTEwMS9kYXRhLjAwMworZDM5ZmRiYmZjZDFlMTVmZGExNDY5NzcyMjQxMjZmOGIgIC4vZGlyLTAxMS9kYXRhLjAwOQorZDNlYjBmNGJiM2IwNGI0MTI5MDdlNDUzYzgyYmI4OWYgIC4vZGlyLTAzNS9kYXRhLjAwNworZDQwZjBmMzMzZmMyZjAyYTQyNjZkMzYzODk3ZjMzMzQgIC4vZGlyLTA0NS9kYXRhLjAwOQorZDQ0ZmZmNmRlMjQzODJmMTRiMDQyNjEwMWU3MzczNTQgIC4vZGlyLTExMC9kYXRhLjAwOAorZDQ2MDY4NmQ1ZjM3NDAxNzQ1MmZlNjJlM2Y5NWI0ZDQgIC4vZGlyLTEwNS9kYXRhLjAwOAorZDQ2MWNjODRlYjAzY2M2ZGI3OGUwNzIwNjQ4ZDE1ZTQgIC4vZGlyLTA2MS9kYXRhLjAwMworZDQ2MzM3OWQxODExMjQxZGM1NmE0Y2NjOWJmNjhkZmMgIC4vZGlyLTA3Ni9kYXRhLjAwNQorZDQ2YzhjN2I3YzBiNTRlYmQwNDZjNjIwOWQxZjhhZmEgIC4vZGlyLTA1NC9kYXRhLjAwMQorZDRkMGZhZTM1NGFmNmNkY2MzMjAyYzlhYThmZjJlOWEgIC4vZGlyLTAxOS9kYXRhLjAwMgorZDRmMzA0MGNhYmI1ZmJjZTg1NTI4ZTI1ZjIwY2RlYWIgIC4vZGlyLTA2MS9kYXRhLjAwOAorZDUxYmU2YzgyNGQwNTNkNGU3NTcyMGQ2YzhmNTE1ZmYgIC4vZGlyLTAwMS9kYXRhLjAwMgorZDU0MGVmNzhhYzgyOTU1NmY5OTMzZGQ2NTc5ZGI3YWUgIC4vZGlyLTA5MS9kYXRhLjAwMworZDU0ZjE4ODI0MGJhODNkZjA5MzJkZmZiYjM2MDA3ZmIgIC4vZGlyLTAyMS9kYXRhLjAwNworZDViNTJjN2MwNTRhMjdiYTM0MmJjN2U1M2JmZTEzMWUgIC4vZGlyLTA4MS9kYXRhLjAwOQorZDVjN2NkODM1ZmYxOWNiN2M3MGUxN2QzMTM0MjYzYmYgIC4vZGlyLTA3NC9kYXRhLjAwNgorZDVmYjMyMDRkNzBkOTA2YTc0Yjc2MDk5OWU1YjI2NmMgIC4vZGlyLTA0Mi9kYXRhLjAwMworZDY3NDkzZWZjN2YxMDkxMGRhYWIxNDAxNjU0NmE0N2IgIC4vZGlyLTA1OS9kYXRhLjAwMAorZDY4ZWQxNTUzZDI2NjBmNTA5NjEyZDhkZGQ4YmNkNjIgIC4vZGlyLTA1Ni9kYXRhLjAwNAorZDZmMDk3YzgzZTYyODc3Yjk4OTUxYmVhZDAyODJkZmYgIC4vZGlyLTA0MC9kYXRhLjAwNQorZDZmZmM1MTNjZWQ3YjBjMTAwNWRkMTFmMTA5MjRiODggIC4vZGlyLTA1NS9kYXRhLjAwOAorZDdhNjkzMTkyNzJjMjZiMjQ2MzFjYzBhYmIxNTIxZWIgIC4vZGlyLTA1My9kYXRhLjAwNQorZDdjMjQ0N2M3OWY1ODRjNWE0YjJlYzUyNWM1ODYxMjkgIC4vZGlyLTAzMS9kYXRhLjAwMgorZDdlNTUyMDU3YjQyMGRhYmYwMjJhYTZiODI2Nzk0NmEgIC4vZGlyLTAzMC9kYXRhLjAwNgorZDg3MjYwYmQ3YmY0YWE2ZWM1NTZkNzdiZjk1OGEzNmQgIC4vZGlyLTA2MC9kYXRhLjAwMQorZDg3ZjUzZmEwZmFkOWFmODIxOGEyN2ZhMWI2OWMwNzAgIC4vZGlyLTA4MC9kYXRhLjAwMgorZDhmMzc5ZGYxZmViZTc3Yzg2OTkwMDE3NzQ1ZWRlYmMgIC4vZGlyLTAzNC9kYXRhLjAwNQorZDk0NWQ1YTA3MGI5OTUxNjIyOTNmMWM3N2ZmMTU1MjcgIC4vZGlyLTAxOC9kYXRhLjAxMAorZDllZDQ5ZTk5ZjYzNTgxY2NhZmU5MTViNzZmM2Y5NmQgIC4vZGlyLTEwMi9kYXRhLjAwNgorZDlmY2EzOTIyZmEwZTAxZmQ1MjdmOGRiNjk1ODk0MjUgIC4vZGlyLTA4OC9kYXRhLjAwMQorZGEwOWRmZTRjYjliZDA2YzM3NDczMjU0ZTg1NzEzOWMgIC4vZGlyLTA3Ni9kYXRhLjAwMworZGExOGM5MzUxYmNlYjdmMzQyNzE4ZDUwZmIwNjI1NDQgIC4vZGlyLTAwNi9kYXRhLjAwMworZGEyNDdmYzZjOWUxZjg0MGQ3ZWY1OGU4NmJiZWQyMjAgIC4vZGlyLTAxOS9kYXRhLjAwMAorZGEyZTRmZDg1YTQ5YmE2YjBjNzY1OWM3YWJmOTlhZDEgIC4vZGlyLTA4OS9kYXRhLjAwNQorZGE1N2JiNDQxMTYwZTY1NTViMzBjNzU5MTUyODhiZjUgIC4vZGlyLTA5OS9kYXRhLjAwNAorZGE5MjE4NDUzZDRjOTk2NzJlNzAyZjBmZDdiOWMwYzAgIC4vZGlyLTAxNC9kYXRhLjAwNAorZGFiMmJlYzc3NTE0MGU2MjAzZGFhNmVjMTIyZjA0OWUgIC4vZGlyLTA3MS9kYXRhLjAwMworZGFiOTlkM2Q5ZGZjOWQ1YzlmMGQ1MjU3MTYxNTM1NjIgIC4vZGlyLTA3NS9kYXRhLjAwMworZGFkYzZjNDFmNDFiM2ZmMjg3MDZkZjY3NWVhYTk2YjUgIC4vZGlyLTAwNC9kYXRhLjAwMAorZGFmZjJkNmFmMDk3MThlNDgyNWIyMmI5OGYwMGI3ZTkgIC4vZGlyLTAwMy9kYXRhLjAwMgorZGFmZjYzZTlkMWFlMzczNGQwNjlkMGRjMDMwNWJlNzIgIC4vZGlyLTEwOS9kYXRhLjAwNgorZGIyMTBiODliMTAwNGYwMzFlYWRkODQ3ZTVhMDY0NWIgIC4vZGlyLTA0My9kYXRhLjAwOAorZGIyYjAxNTgzODhlZTI1MTk3MGM2NDU0YzhjZDlhOTcgIC4vZGlyLTA4My9kYXRhLjAwMgorZGI0OWExM2JkN2UyMzIwMjEwZGYzYTAwNmY3ZTlmNmYgIC4vZGlyLTA0My9kYXRhLjAwMAorZGJkYmE5NjA3ZjJkNzc3ZTEwZGRjNjdmNTA5NTBlMmUgIC4vZGlyLTA1Ny9kYXRhLjAwNQorZGMwOWU4YTQxZGIyMTRkMjQ4MTQ4ZWZiZjk2MDVmOTUgIC4vZGlyLTA4MS9kYXRhLjAwNAorZGMwYTcwMDc2NzUwNDFiMzAzMTdhZmFmNDRlZTcwOGUgIC4vZGlyLTA2NC9kYXRhLjAwMQorZGMxNTNhZTcxNDUzMmUyZDM0ZjFiN2VhMDQ0YjZmZjkgIC4vZGlyLTA5Ni9kYXRhLjAwOAorZGMxZjRkYTc4NTczM2JiYjI4OTdkOTRjZTc4YmM3YmYgIC4vZGlyLTA3MS9kYXRhLjAwNAorZGMyZjIyZGFlM2EzZDM0YTE4OTI5NTA2Y2ZjNmYyNzcgIC4vZGlyLTAyOS9kYXRhLjAwMworZGM0MGY5YTU3ZGZhY2QyMWQ2MDIyMTg4OThhYjkzZTcgIC4vZGlyLTA1OC9kYXRhLjAwNAorZGM5ODc1OGM2YTliMzlhNmEzZGVhZTI5OGQ1NzljNGUgIC4vZGlyLTA0Mi9kYXRhLjAwOQorZGNjZDU2MmE0YTk4NjUzYTNmZTk2ZDc3NzQxZGRiZWIgIC4vZGlyLTEwNC9kYXRhLjAwMAorZGNlN2U3YzIzYjVjYmE1Yjk2YjExZDUzMDBlMDBhZmUgIC4vZGlyLTA1Ni9kYXRhLjAxMAorZGQwMDYwNTJhMjg1NTJmYTA2OWFiZjUwNDM0NjI1NzAgIC4vZGlyLTA0OS9kYXRhLjAwOQorZGQwNzliZDA1MGRkN2I4M2ZmNmE4ZTJmYjU3NzNlZDQgIC4vZGlyLTA0OS9kYXRhLjAxMAorZGQ4OThhNmFiODczOWMwY2YxNmRkNzIwMzRiYzc2NjggIC4vZGlyLTA0Ni9kYXRhLjAwNworZGQ4YzIzM2I5OTJkYTZiYWJiY2JjOWNlNzg3OTA1MWIgIC4vZGlyLTA5Ny9kYXRhLjAwNworZGQ5ODEzMDQ4OTdiYzMzMGY2OTBkMjA0MGFhMWU1M2YgIC4vZGlyLTA0Ny9kYXRhLjAwOQorZGRjZDdlYTEzY2FlNTc0OTgwODhjMTk5NDYxOWIzYmUgIC4vZGlyLTAyMC9kYXRhLjAwMQorZGU3ZmUyNzRlNzcwYjRkYWJkZWI4NjdmYTkyYTEyYmMgIC4vZGlyLTEwOS9kYXRhLjAwMgorZGU4YTcwZWVlM2U1MDhhNzIzZDNiNWQyYTk5MDEzMTYgIC4vZGlyLTA1NS9kYXRhLjAwNAorZGViOTYwYjEyNjg3MDVhNDcyZTNiNDYxODFjY2ViZmUgIC4vZGlyLTA0Mi9kYXRhLjAxMAorZGViZjA4MWI2ODI0ZjA3YzVmNmMyMmRiNmJjMTUyYTYgIC4vZGlyLTA4Ni9kYXRhLjAwMgorZTAwM2FhZWNiNzdkZjkxZjA0OTkwY2Q0NWVmZjJkYmMgIC4vZGlyLTAxOC9kYXRhLjAwNgorZTA1OTZjZTFmODMzMTk3MDUyYmY3MmZhNGU0NWVjMjggIC4vZGlyLTA3NC9kYXRhLjAwMworZTA2ZTQ1ZTM2OWRjMmZhOThiMThjMzUyNjhlZjgxYzcgIC4vZGlyLTAzNy9kYXRhLjAxMAorZTBjMmYyZDM3NWIzZmE4YzBjNDdhMDI5YmIxOGNjMzkgIC4vZGlyLTAwOS9kYXRhLjAwMAorZTBkNDgyNDdmY2ZhYTgzOTMwNTU1ZWRmOGE2NjQ3ZGYgIC4vZGlyLTA0MS9kYXRhLjAwNAorZTBmZTE2MzAzZDk5ZWMyMWU2ZGQxM2FjMjdkMmI1ZmEgIC4vZGlyLTA4My9kYXRhLjAwNAorZTEzMDA3NTQwYmZkMGJjY2RjZWRhMmY4MjRhZTMyMzYgIC4vZGlyLTA5Mi9kYXRhLjAxMAorZTEzMWE4M2Q3YjcwNjEwNGI4MDBiY2JhN2U4OWE5ZjAgIC4vZGlyLTAwOS9kYXRhLjAwOAorZTE2OTc5MDFmYjQ0ZWJjY2Y0MzhmYjA1NmMxY2JiMDMgIC4vZGlyLTAwNy9kYXRhLjAwMworZTFiZTE1Y2FkOTBiNjUxMTRhZmY4MGUwZjkyMmU5ODggIC4vZGlyLTAzNC9kYXRhLjAwOAorZTJlMzQwMjdhZmQ0MzFhZjJiNWVmMGJjODE1YTE2MjMgIC4vZGlyLTEwMC9kYXRhLjAwMgorZTMyMTc0ZGU2NGQ4NzFiNDdiMzhhYjg3NGFhNTBhMzkgIC4vZGlyLTEwMi9kYXRhLjAwOQorZTMzZGNjOGQ3ZmZkMWUwZmNjZmI3MWM2NzE1ZjZlNTYgIC4vZGlyLTA0OS9kYXRhLjAwNworZTM4MmE0NWRmMzAyNGFkOTc1NjNmOWMxM2ExOTUxODEgIC4vZGlyLTEwNS9kYXRhLjAwNQorZTNhMTA0MTkwZDFjNDYxZmZkYWM0NjJkNjZkZWU3YWQgIC4vZGlyLTA5MC9kYXRhLjAxMAorZTQ1YzY3NTJhYjA2NzYwMmE3ZTlhNzFiOWY5MTA1ZTMgIC4vZGlyLTA0NS9kYXRhLjAwMworZTQ5MmQ0NjgzNjQ4NzIxODdkNTAwMjFhYTQ5MGMzNjcgIC4vZGlyLTA5Mi9kYXRhLjAwNworZTQ5ZmY1YjkwZTdlNzcwNGQ1YzgyOWM0MWE4NTljODYgIC4vZGlyLTA0Ny9kYXRhLjAwMQorZTRhMDc1NmUzZTkyYWM2YjI2NmM0YjI2ZGQ0M2QyN2UgIC4vZGlyLTA2NC9kYXRhLjAwOAorZTRhMGRiYjhlZDAwMjA4ZTlhNGQyOTNkMWMyNTk5ODkgIC4vZGlyLTEwNS9kYXRhLjAwMAorZTRlNWU1YjI2NDJkMzIyZTFiOTUzOWJiMDIxZTEyMjggIC4vZGlyLTA2NC9kYXRhLjAwOQorZTRlOTQ0N2NkZDNlZTZmNGE3NTNhOWZhM2JjMTgyM2YgIC4vZGlyLTAzNy9kYXRhLjAwNAorZTVjMjFhMjYxNDc3NWViYjc5ODc1MmU0ZGJiYTdmNTIgIC4vZGlyLTEwNy9kYXRhLjAwMQorZTVkODdkMjViOGZkY2U2ZDZmMzBiNTIyMzA3NjE4ODQgIC4vZGlyLTA3MC9kYXRhLjAwOQorZTVmMjc4Mzg5NmE4OWJhZWVmMGM1ZjY4ZDBmNDczODIgIC4vZGlyLTExMC9kYXRhLjAwNworZTZiNzUyODRjYzZiZTViODBjNTdkYzYxMzM3M2VlYzUgIC4vZGlyLTA4Ni9kYXRhLjAwMAorZTZlZWNmOGE3MjdmNGVlNjg1MmUyZjYyZmI5NDFiNzAgIC4vZGlyLTAzOS9kYXRhLjAwMgorZTcwNjhmNTkxOGI0Y2U1MjM0NDgwOGY2OGFkMGEwODUgIC4vZGlyLTAwMi9kYXRhLjAwNAorZTc2ZDE1NmM4MTgyOWU4NGZlNjY4ODI2NmZiNTJlMzcgIC4vZGlyLTA0OC9kYXRhLjAwNAorZTc3NjEyNmMzOGYwNzVkNGQyZDNlYTVlODFlMzZlMjggIC4vZGlyLTA5NC9kYXRhLjAwNQorZTc4M2NiMDU2MmE1OTE3OTNmODE3YTY1OWU3MDg0NzAgIC4vZGlyLTA3MC9kYXRhLjAwMworZTdiZDkwNmZjZTYyYjExNmY5MDg4YjU4NzM3YjMyYzkgIC4vZGlyLTA5MS9kYXRhLjAwNgorZTdjNzEwZmU5NDc1NGY5MGZiNjRmOWU3ZTg5MzUxZmMgIC4vZGlyLTA2OS9kYXRhLjAxMAorZTgxZWZmMjliNzcyOTY1NmNmMmUwNmVjNGE2MDQxODUgIC4vZGlyLTA0OC9kYXRhLjAxMAorZTgyNjI3MDY3YzVjMTU5NzA1ODBhY2Y1OTM5YmUyMTYgIC4vZGlyLTAzMC9kYXRhLjAwMAorZTg0NTUzN2MxOTc3ZjY2MDA0YzA3OWJlYjlhZjVkNzQgIC4vZGlyLTA2Ny9kYXRhLjAwMgorZTg2NDlhM2M2NjAwZTM2MjRmNmYyYzFhYjM2YmQ1ZmMgIC4vZGlyLTAzNi9kYXRhLjAwOQorZTg4Mjg5MzAwYjJmMmRiY2NhNGM2OWI5NmFiYjMxZTMgIC4vZGlyLTA2MC9kYXRhLjAwNgorZTkyZjdmMWIwYTA3YWM2MGIwNTc4NmQ1NzI1OTY3YWUgIC4vZGlyLTAwNS9kYXRhLjAwMworZTlkNjE4ODVlMGJiZTEzNDFhNzc4OWVjYmExMjdhYjMgIC4vZGlyLTAyMC9kYXRhLjAwMworZTlkOWZiMTI1ZGE2ZjcyOTZjMGVlNjkyMzVmZGM1NWQgIC4vZGlyLTA0MC9kYXRhLjAwNgorZTllYmRjYzdmYzVjZTNlYzQwZWMyYzIyYjU2YTBjNWUgIC4vZGlyLTA1Ny9kYXRhLjAwMworZTllZWVhY2NkN2MyNjBmNjEwMjI2ZDE5OWRjYzExMzMgIC4vZGlyLTAwMS9kYXRhLjAwMworZTlmZTJkZDQzN2M3MTE4MDU1OGMwMDY2NGQ5NjkzNmUgIC4vZGlyLTA1Ny9kYXRhLjAwMAorZWEyZDIwYjU5NDgyNzhmNTVmODcwMGJiN2NmYjUyNWUgIC4vZGlyLTA5NC9kYXRhLjAwMAorZWEzYTQwYTZlZDdjNWM3YmFkY2RkYzgyOTI0MDQ1MWYgIC4vZGlyLTAwMC9kYXRhLjAwOAorZWE2MGI4OTg0NmZmZTkwOThmMzc2MTAwYTE1ZmQ2MjMgIC4vZGlyLTAxOS9kYXRhLjAwNgorZWFiMGRmN2UzNTRiZGQyMDMyNGZmNzVhYTM1NGM2N2UgIC4vZGlyLTAzNi9kYXRhLjAxMAorZWFjNGFkOWU2Nzg5NzAyNzI5ZjE0ZDQ4MDI1NGRmMTMgIC4vZGlyLTA3OC9kYXRhLjAwNgorZWFlNzUxYjJmNTg5MGE4YTJlNjY4NDI1MDA4NzU0ODkgIC4vZGlyLTA2NC9kYXRhLjAwNworZWIyMTNkZWY4NTgyYmY5YzM5MTAzMmFiODEwMjI0YTQgIC4vZGlyLTAzMC9kYXRhLjAwNAorZWIyMjM5ZGMxYzMyODRhNzQzZWMyNDgwYjY2YTQ0MGEgIC4vZGlyLTA5NS9kYXRhLjAwNQorZWIzOTMzNTQ3NGE1ZjExNDQ5NmU0NTg1NWQ2NTk2NWIgIC4vZGlyLTAzMC9kYXRhLjAwOQorZWI0OWM2NTJhM2E5YjY3ZjQ4YmVkNWY0NTNjNTEzZmIgIC4vZGlyLTA5MS9kYXRhLjAwNQorZWI4YWI4YWRmMWZkOGUyZTgxZWNlYWEyZTQwNWJlY2YgIC4vZGlyLTAxNS9kYXRhLjAwMQorZWMxMTFiZGQ5NTYyOTAyZWQwNDdjZGRjNGUyOTFlMGYgIC4vZGlyLTAxMS9kYXRhLjAwMgorZWQ2NzM4MTk4ODc3YmE2NzIxNzRhMjNiMzlhYWYwY2EgIC4vZGlyLTA1MC9kYXRhLjAwOAorZWQ4N2M0NDI1N2U0NGJhYTA0ODY3ODQ0ODlmZTFlYjcgIC4vZGlyLTA5My9kYXRhLjAwMworZWRhZTJmOTc3ZTg4ODVhYWJjYWZlYTE0MGU0ZWE0NDUgIC4vZGlyLTEwMy9kYXRhLjAwMgorZWUwM2MzYzVjODBjNTQzYmY1MjAyOTM4MTQ1NWUwZGEgIC4vZGlyLTA5My9kYXRhLjAxMAorZWU5MGQ4ZDhhNjdjNWYwNmRlOWEzNWE1MDViZDRkODIgIC4vZGlyLTAwNS9kYXRhLjAxMAorZWU5OGFjYzRiYTdmNTk0YTQ5Yjg2MzY0ZWRjZjQzMTIgIC4vZGlyLTA0Ny9kYXRhLjAwNgorZWY0NWEwMTM1NTE1N2Q1YzRhOGFjOTc4M2QzMGIwMDAgIC4vZGlyLTA5OS9kYXRhLjAxMAorZWZlNmRhYjY5ZWIzNTAzODg2YjYyM2FiMjRhZTMyZTAgIC4vZGlyLTAzMy9kYXRhLjAwNgorZjAyMzBjNTNkYjhmYjlmZjFhNjZlZWMxMmIyOGQzYzAgIC4vZGlyLTAyOS9kYXRhLjAxMAorZjAzOGEyMDJjY2U1NzllMjllZDc1ZWYyZjhlYzkyMDUgIC4vZGlyLTA3Ny9kYXRhLjAwOQorZjA2N2VmMzM5ZGJmYTM3Mzg0MmQ2YmViNWQ0YzU4MzkgIC4vZGlyLTAwNi9kYXRhLjAwMAorZjA2YWYzODg3YTY2MmNhZWQyMjBlOWZlOThjMTJmNmYgIC4vZGlyLTAwNy9kYXRhLjAwOAorZjA5MzExZTMwYjU1ZjMxOTlkNmI1ODkxY2Y3MTdiYjUgIC4vZGlyLTA4MC9kYXRhLjAwNAorZjBiNjlkMjE4NDc1M2U1MzQxNjgxZGRmOWJjMGRmMzIgIC4vZGlyLTAzNy9kYXRhLjAwOAorZjBkYjNmNzBhMzdmNjYwY2UzMWJmZTA2MDBiODBiNDkgIC4vZGlyLTA4Ny9kYXRhLjAwMgorZjEyN2JlYWQ1MjFjMGRhNjJmNGE2MDdlYmQ2NjI3YjYgIC4vZGlyLTA1Ny9kYXRhLjAwNgorZjE4YmE1YjAyYmJmMDNhYmUxMmZjYTY1NTY0ZGNiOTUgIC4vZGlyLTEwOC9kYXRhLjAwOAorZjFiZjA0NjY0MzUwYWZiNGNlNWE1ZjBkZDI0NWQyYzUgIC4vZGlyLTAzOC9kYXRhLjAwMQorZjFkMzY3ZGVhN2JiOThhOWJkZGQ0ZjVjYzdhOTc5OGUgIC4vZGlyLTA2NS9kYXRhLjAwNAorZjFlNjQ2ZjQ2YzM2NDQ5YzM0MTJhZWQ0Y2IxNjQ5NjggIC4vZGlyLTExMC9kYXRhLjAwNgorZjIxNGNhNDg4MjIxYzgwNGE1NTU3YTliODA5YWZkNjUgIC4vZGlyLTA0NS9kYXRhLjAwNworZjIzN2QwNTk4NTg5YTU0MjgxNWZiZjVlZjU5NzUxY2MgIC4vZGlyLTA1NC9kYXRhLjAxMAorZjI1NzdhYTgyNzkxZWNiZjI3YjkwODVhMjJjMjNmZjkgIC4vZGlyLTA1OS9kYXRhLjAwMgorZjI2MTZiMmVhMGIzY2U4NTY1ZTU2OGMwZWQ4ZWZhY2MgIC4vZGlyLTA3OS9kYXRhLjAwOQorZjJjYzQ0MzM2MmIxNTZhMjIyOGY0YTY5ZmU0MTAyYmYgIC4vZGlyLTA4NC9kYXRhLjAwMworZjJkZjNiNWJiY2IyMjVkZjg5NWNkYWMzODQxNDVkODQgIC4vZGlyLTAyMC9kYXRhLjAwMAorZjMyOTczNmNhZjRjZTdkODAyMTNkZWZhMTFmM2M2NWEgIC4vZGlyLTAyNS9kYXRhLjAwMworZjM0ZmQ0ZmY2NzhiMjE4ZTg3ODA3MjRkM2JkMmE0MjAgIC4vZGlyLTAyOS9kYXRhLjAwNAorZjM5MjQzYmViZTFiYmM3MWU4NWRlMmIzZDhkNzEyMmEgIC4vZGlyLTEwNy9kYXRhLjAwMworZjQ5YjA1MzUxMzk3NGQ1OTNkY2MyYzQ2MWM5NmUyYTAgIC4vZGlyLTAyOC9kYXRhLjAxMAorZjRjMGQyMGZlY2MwNGRiZjdhMjA0ZTEwNWY4MzY4OTMgIC4vZGlyLTEwMS9kYXRhLjAwNQorZjRjZmIwYmVjZWQ5MGUyYWRmOTZkM2YyZmEyYmE0NjUgIC4vZGlyLTAzNC9kYXRhLjAwNworZjRkNzQ1YzM4NWYwMzdhYWZlZjA4MzEwZmIxOTRhMmMgIC4vZGlyLTA2Ni9kYXRhLjAwNAorZjUwODRhZTlkZWQ5ODMzZWU4YzYzMjgxZjVlZDE2NDEgIC4vZGlyLTA1OC9kYXRhLjAwMgorZjUxOWRkMmZjZmMzMDQ3MTAxZmFmOTBiY2YxODY1NGQgIC4vZGlyLTA0OS9kYXRhLjAwNQorZjUyNTgzMDJmNmFiOGEzOGE3YjZiMDViMTBkMzUwOTcgIC4vZGlyLTA1NS9kYXRhLjAwOQorZjUzMjNkNGQ5MTVkNjdmOWQ3NzdkNTIzNzRjZDI3YzAgIC4vZGlyLTAxNi9kYXRhLjAwNworZjVlNzczOGE5ZjJjM2QwMjkyOWQwMDk3MjQzMzYwMjMgIC4vZGlyLTA2Ny9kYXRhLjAwNQorZjYyZDBjM2I3OTliMjU3MzBmYjZhNDNkMDAxNGYyMjAgIC4vZGlyLTAyMi9kYXRhLjAxMAorZjZhYmZkYjYzZmI0Yzk4MTgxNDcwNGZlZGQ0YjE4ZDAgIC4vZGlyLTA1OC9kYXRhLjAxMAorZjZmN2Q0Mjg3OWRiNzYyMWFkMjA5ZDQ1YmQ5ZDZhMGEgIC4vZGlyLTAxMy9kYXRhLjAwNQorZjcwZmE4NTZhYTE3NDBiN2VkODI0YTU0Mzk2NjViMGYgIC4vZGlyLTA2Mi9kYXRhLjAxMAorZjcyZGYwMWY4ZjI5MGJjNmUwNWY5NzJkYjdhMDFmOTAgIC4vZGlyLTA0OC9kYXRhLjAwMgorZjczYTE4M2VhYjNmZmU0MDcwMjc3YjllN2YyM2RhNTYgIC4vZGlyLTAzNy9kYXRhLjAwMgorZjdmN2IyZjFiMTM2YTAxZDhhOWIzZjFmNmMzZjllODggIC4vZGlyLTAyNS9kYXRhLjAwOAorZjgxYzA4OGM3MDFhODhkOWIzOTZlMzBmOTg3NzYwNjQgIC4vZGlyLTAzMy9kYXRhLjAxMAorZjg5N2U3NzM1ZWYxODA4YTVhN2JmNjEyOWNmMGUwYzkgIC4vZGlyLTA5Mi9kYXRhLjAwNQorZjhhNjk2NzE3YmI1YTVhZGVjZjAwZGRkMDk3ZDhkMGMgIC4vZGlyLTA5MS9kYXRhLjAwNworZjhlMjE4NmYwNGQ0Y2I2ODAxYWNjMmMwYTY4ZDgxMGEgIC4vZGlyLTA0OS9kYXRhLjAwMQorZjhmNzc0OTk3YzkzODhiYjdhNmQ1OTNlNjIyNGU5OTggIC4vZGlyLTEwNC9kYXRhLjAwNworZjkwZTU0YzA4YmUxMWU0YWFjZGYzYzAyZGZmOGVlMWIgIC4vZGlyLTA4My9kYXRhLjAwMworZjkxMTFiYjk5MzBkODBjZWE3YjdkYjY0ZjA5MmQ1OTcgIC4vZGlyLTA2OC9kYXRhLjAwOAorZjk2OWRlNDYyZGQxYjU4YTY0YmM3NWFkYmU3MzAxNmQgIC4vZGlyLTA0NS9kYXRhLjAwMQorZjk4NGY4NWE3N2Q1N2M2YmQzYjM2Njc3MWZkOThlYTQgIC4vZGlyLTA2My9kYXRhLjAwNQorZjlhNDY4NTA4ZmQ3ZTZkYjVhNzdlMzEwMWRhZjIyYjMgIC4vZGlyLTEwMC9kYXRhLjAwOAorZjljOGU2YzNhMGM0YTkzOGNlYjAzM2YxNTFlNTQxZWEgIC4vZGlyLTA3Ny9kYXRhLjAwMworZjlmOTA5OTgyZWEzM2U3NzZiOTg1ZWU1YWNhNTM3OGEgIC4vZGlyLTA1Mi9kYXRhLjAwNQorZmE0MTFmMWY5ZjU1OWI0ZWUzZGQxMDljMmU1OWIxMDYgIC4vZGlyLTA4MS9kYXRhLjAwNgorZmFhMmJiZjgyMGY3OGIzOTQ1NGM0ZmVlYmUwOGEzYzUgIC4vZGlyLTAwNC9kYXRhLjAwMQorZmFiNGZlZmQyZDhlYjc3YzRmMzZjODk5NTlhZTc5ODAgIC4vZGlyLTA3My9kYXRhLjAwMworZmIyMzg4ZDAzYzI3MjNmMTU3MjhiZGE5YzFkYzI3NjIgIC4vZGlyLTAyNC9kYXRhLjAwNgorZmI1MjRlM2JiNzU4ZjMyZTdkMzRlNTM4YTVlNDA1NjAgIC4vZGlyLTAxOS9kYXRhLjAxMAorZmI1MzlmYjA4MWY0YTk1YWM1YjViNWUxMTM0M2UyYjcgIC4vZGlyLTA1Mi9kYXRhLjAwOAorZmI3ZGQ0OGYzNWMxMjgyMTJiNzg1NTFjY2VkYTI0NGMgIC4vZGlyLTAzOC9kYXRhLjAwNQorZmI4YWExNmFjYjlmNzI5MjM4NGUyNjU1ODVmNGRkMzcgIC4vZGlyLTA1NS9kYXRhLjAwMworZmJkMWRiNGRhODdjMWVkODA4MmQ5Y2Y5NGZjNDI0YWEgIC4vZGlyLTAyNy9kYXRhLjAwMworZmMwNGU4NGJiNmM2NDBmODkwODU0ZmM1Nzc1YjlkOGEgIC4vZGlyLTAzNC9kYXRhLjAwNAorZmMyMWEwNDM5OTBkMDM3MDMwMDNhNTA2YjA2NjI4MjEgIC4vZGlyLTAwNS9kYXRhLjAwMAorZmMyYTQ1ZjEwZTUyZTE4OTE4ZDI1ZDY0MGY3NTE0NTcgIC4vZGlyLTA5OS9kYXRhLjAwNworZmMyZTQ3NmE2ZDFiN2NlNzFiNTFiZDQzODE2ODkxYTMgIC4vZGlyLTA5Ni9kYXRhLjAwNworZmMzMDQ2MTZmMjQzMjJlMjZhNDY2NmMwZTcxODFlN2UgIC4vZGlyLTAwNi9kYXRhLjAwMgorZmM5MDZkMTNkZjU2ZGZjNTU4MGFmODIzY2ExYWY2MTAgIC4vZGlyLTA3Ny9kYXRhLjAwNgorZmM5N2IwNjZjMGFmOGYyZmE0MGYyYmM5MWNhZTNiNTYgIC4vZGlyLTA2My9kYXRhLjAwOQorZmM5YmQ1OGY4ZjEyNmE4NDA2OTg3MzYwYjY0YTkxZmUgIC4vZGlyLTAwNC9kYXRhLjAwOAorZmNiYWYzMDEwMDA1MGNjMWJiOTkwZTk4ZDMwNjA1YjkgIC4vZGlyLTAwNi9kYXRhLjAxMAorZmNkN2E2Yjc5MjQyNjBiOTk3YWU2MDNlYWRmYWU1OWYgIC4vZGlyLTA5MC9kYXRhLjAwMAorZmQxZGVjYjMxNDgzNWNiYjk1ZDRhYTZlN2JkZjMzNTkgIC4vZGlyLTA3NS9kYXRhLjAwMAorZmQzOGQwZGRkNjA0MjliM2M3MDcxODY3YThmY2ZiYzAgIC4vZGlyLTA0Ny9kYXRhLjAwOAorZmQzZTRjNDg3Y2FlMWM2OGYwNWVhMmRjODFjYmE3NGMgIC4vZGlyLTA1NS9kYXRhLjAwNworZmQ2MzAwNGFlODg2Y2U4ZTUyMDc1NmM2ZWZmMDQ4MzUgIC4vZGlyLTAwOS9kYXRhLjAwMworZmUwODZiNzlhMmMyOWYxMzQzN2MxMzQ2YThjYjUzZjQgIC4vZGlyLTAwOS9kYXRhLjAwNQorZmUzNTA1ZGYxNjQyZTlkMzA2MjY5ZTJlMDdhYjEwODkgIC4vZGlyLTA2NC9kYXRhLjAwMAorZmU0ZjMxMGI3NzZlMzA5NTAzZjUyM2I4YTI2ZDNiYTggIC4vZGlyLTA4NS9kYXRhLjAxMAorZmU2OGVjNjYwN2MxNWYwY2VhYmFkYTEwMWIzODJiMGUgIC4vZGlyLTA2OS9kYXRhLjAwNAorZmU3NzUxYTU0ODcxNzIzMDNkZTY0ODY3MjYwMmMyOGEgIC4vZGlyLTA3Ni9kYXRhLjAwMgorZmViOGI2OWU2MjI0YTdlYTcyZTg4MWUzZjRhNDViMzIgIC4vZGlyLTAyOC9kYXRhLjAwOQorZmVkNTQwYTExZjAwZjFmODA0NzBiZTdiNDkxZmM0NWMgIC4vZGlyLTEwOC9kYXRhLjAwMgorZmVkNWUwMGRjOTRlZDc1MTA2MTE5NGVjY2YyYzc3ZTIgIC4vZGlyLTA1MC9kYXRhLjAwNworZmYxMGM3YjM3ZDcwNWJjNDhhMWZkZWU2MmVhNzY2MWYgIC4vZGlyLTA3OS9kYXRhLjAwNgorZmYxM2Q0OTMyNmZmODc1OTExOWU3ODk1OWRlNjI4ZTkgIC4vZGlyLTA0OC9kYXRhLjAwMworZmYyMTZmMGYyZTU0MGU5MDU3ODc0YjBjYjRmZGNkYjEgIC4vZGlyLTEwMC9kYXRhLjAwNworZmY5MmJmMDQ2MzRlMjZhMjk4MGZmYjZhZDQ3ZjljMDUgIC4vZGlyLTAyNi9kYXRhLjAwNgorZmZlMDc4ZGUzNTgzMDI1YzQ3ODBjOGY0MzA1NzcyYzMgIC4vZGlyLTA4NS9kYXRhLjAwNAorZmZmNjAxNWMzYjhmNzkxZjQwMjc3OTFhYzBiNWY1OTMgIC4vZGlyLTA2My9kYXRhLjAwNAorCitjcmVhdGUgY3JhbWZzIGltYWdlCitjb3VudCBNRDUgZnJvbSB0aGUgaW1hZ2UKKworY3JlYXRlIGxvb3AgZGV2aWNlIGZyb20gaW1hZ2UKK2NoZWNrIHRoZSBpbWFnZQorbW91bnQgdGhlIGltYWdlCitsaXN0IHRoZSBpbWFnZQorLjoKK3RvdGFsIDU2Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wMDAKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTAwMQorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDAyCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wMDMKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTAwNAorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDA1Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wMDYKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTAwNworZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDA4Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wMDkKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTAxMAorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDExCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wMTIKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTAxMworZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDE0Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wMTUKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTAxNgorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDE3Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wMTgKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTAxOQorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDIwCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wMjEKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTAyMgorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDIzCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wMjQKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTAyNQorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDI2Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wMjcKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTAyOAorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDI5Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wMzAKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTAzMQorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDMyCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wMzMKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTAzNAorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDM1Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wMzYKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTAzNworZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDM4Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wMzkKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA0MAorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDQxCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wNDIKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA0MworZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDQ0Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wNDUKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA0NgorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDQ3Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wNDgKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA0OQorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDUwCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wNTEKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA1MgorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDUzCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wNTQKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA1NQorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDU2Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wNTcKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA1OAorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDU5Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wNjAKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA2MQorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDYyCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wNjMKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA2NAorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDY1Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wNjYKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA2NworZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDY4Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wNjkKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA3MAorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDcxCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wNzIKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA3MworZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDc0Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wNzUKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA3NgorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDc3Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wNzgKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA3OQorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDgwCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wODEKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA4MgorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDgzCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wODQKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA4NQorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDg2Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wODcKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA4OAorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDg5Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wOTAKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA5MQorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDkyCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wOTMKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA5NAorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDk1Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wOTYKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA5NworZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDk4Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wOTkKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTEwMAorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMTAxCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0xMDIKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTEwMworZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMTA0Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0xMDUKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTEwNgorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMTA3Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0xMDgKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTEwOQorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMTEwCisKKy4vZGlyLTAwMDoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAwMToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAwMjoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAwMzoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAwNDoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAwNToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAwNjoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAwNzoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAwODoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAwOToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAxMDoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAxMToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAxMjoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAxMzoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAxNDoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAxNToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAxNjoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAxNzoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAxODoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAxOToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAyMDoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAyMToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAyMjoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAyMzoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAyNDoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAyNToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAyNjoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAyNzoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAyODoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAyOToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAzMDoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAzMToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAzMjoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAzMzoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAzNDoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAzNToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAzNjoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAzNzoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAzODoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTAzOToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA0MDoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA0MToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA0MjoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA0MzoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA0NDoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA0NToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA0NjoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA0NzoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA0ODoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA0OToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA1MDoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA1MToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA1MjoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA1MzoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA1NDoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA1NToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA1NjoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA1NzoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA1ODoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA1OToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA2MDoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA2MToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA2MjoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA2MzoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA2NDoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA2NToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA2NjoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA2NzoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA2ODoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA2OToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA3MDoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA3MToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA3MjoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA3MzoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA3NDoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA3NToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA3NjoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA3NzoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA3ODoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA3OToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA4MDoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA4MToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA4MjoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA4MzoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA4NDoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA4NToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA4NjoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA4NzoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA4ODoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA4OToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA5MDoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA5MToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA5MjoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA5MzoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA5NDoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA5NToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA5NjoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA5NzoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA5ODoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTA5OToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTEwMDoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTEwMToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTEwMjoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTEwMzoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTEwNDoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTEwNToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTEwNjoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTEwNzoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTEwODoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTEwOToKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKKy4vZGlyLTExMDoKK3RvdGFsIDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAxCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDIKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA0Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDUKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA3Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDgKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwOQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDEwCisKK2xpc3QgY2hlY2tzdW1zIGZyb20gbmV3IGRhdGEKKzAwMTFhNzJmMzhkYTY2OGY5NGVkZmExZDUwNzQzZTJhICAuL2Rpci0wMDkvZGF0YS4wMDkKKzAwNzFiZWI0YmFhNTk5MTQxYTdlNDQ2MzM0ZDU4MzAwICAuL2Rpci0wOTcvZGF0YS4wMDEKKzAwODczYzg3NWYzNDYxZmI5ZjViYWE5YTAzOWYyMThmICAuL2Rpci0wOTMvZGF0YS4wMDIKKzAxMjBmYjgxMjY5NTk4NDM4ZTg0ZjNmZTEwYjI0NjU4ICAuL2Rpci0xMDAvZGF0YS4wMTAKKzAxM2I4YWU1YzRiMDExYjg3YjE0MmU1ZDYwNjQ1Zjk4ICAuL2Rpci0wMjAvZGF0YS4wMTAKKzAxNjc3OTE0NjJmZmNhYmE4YzIyMTQyNmMyNWNmNDU1ICAuL2Rpci0wOTIvZGF0YS4wMDAKKzAxOTM2YzM3MTY5Y2M3ODZjZGM3MjRhYmJmMTk2MWUzICAuL2Rpci0wOTQvZGF0YS4wMDMKKzAxZTVhOGJlZTg2NGY5OWJjZmRlOTFiMmY1MDFmYTU2ICAuL2Rpci0wNjIvZGF0YS4wMDQKKzAyNGIxZDRjYjkzNjYwZjEyNWU2ZjQ3ODNlMjY5NzJjICAuL2Rpci0wNzIvZGF0YS4wMDMKKzAyOWMxMTk5ZDE2YmM4ZGEyYWZkMmZlMWM0N2I2ODU5ICAuL2Rpci0wNzcvZGF0YS4wMDEKKzAyYTFjMGE4Mjc3MWM1OTIzNmViOWYzMzdkZDBiNGRhICAuL2Rpci0wNzMvZGF0YS4wMDAKKzAzMmNkYjFhYzIyM2FkZjllZDQ1Mjc4ZTY0ZjI2NWYwICAuL2Rpci0wODMvZGF0YS4wMDcKKzAzNjU1ZDA4MWNlNTY3YTRkNWZjOGUwYzNkYzU5ZTNhICAuL2Rpci0wODUvZGF0YS4wMDYKKzAzOTdlMDFjZjY4MDU3MjgyNTZmYTkyNzJhYjY3MmM0ICAuL2Rpci0wNjIvZGF0YS4wMDMKKzAzYTU4Y2VjNThmN2I3NGMwZDg4MDNlNWEwNWRhMjBkICAuL2Rpci0xMDcvZGF0YS4wMDQKKzAzYjNiMTY1NDdiMjVlOTQ4NGM1MTZmNWU4OGU1Yzc1ICAuL2Rpci0wODkvZGF0YS4wMDYKKzAzYjRlZDcwZjk2ZDVjNjkzYmNmN2Y1YTQ3OWVjZDlmICAuL2Rpci0wMTQvZGF0YS4wMDcKKzAzZDhhNGFjNWFkZDVhOTVmM2Q5Y2FjOGY4NDdjOGU3ICAuL2Rpci0wMjMvZGF0YS4wMDAKKzAzZGUyZjA5NThhNzZlOWQwMTM4OWI5MTljNjllYzk2ICAuL2Rpci0wNzkvZGF0YS4wMDQKKzA0M2ZhNmNiYTA4OTQ2YWQ1MDhjYTg5MGE0MmYwNjQ0ICAuL2Rpci0wMDUvZGF0YS4wMDQKKzA0YmVhYzQ5ZTZkMWYxZjkwNjdkYTI0OWY4OTUzZmU5ICAuL2Rpci0wNDEvZGF0YS4wMDIKKzA0YmYzNjcyMWM5ZGE1NWIyZmQ2NzgwYTVhNmRjZWYwICAuL2Rpci0wMTIvZGF0YS4wMDkKKzA1MmFjN2ZmMDQ3OTI4YTRmMWMwZDhiZjM4MzIwNDgzICAuL2Rpci0wMDAvZGF0YS4wMDMKKzA1M2IxNTM5NjA5NmMyNzUxZDllMzJiMTg2YmYwOTQ4ICAuL2Rpci0wMzUvZGF0YS4wMDUKKzA1ODg3OWUwNzBkNTFjMWUyNDg3ZDQ4MWY5YzQzYjc4ICAuL2Rpci0wNzEvZGF0YS4wMDcKKzA1YmQ0MzhkN2ExNTFlYmVjMjRjY2VmZmI3OTJjM2JiICAuL2Rpci0xMDQvZGF0YS4wMDkKKzA1YmQ5YjY5MmVmMmZmMmMzZTJlMjJhNTgyYmZjMjVjICAuL2Rpci0wMjEvZGF0YS4wMDYKKzA2NDkyZGVlNTAxNTdmMzc5ZWFiYmU4MTFiY2I1YWM3ICAuL2Rpci0wNzMvZGF0YS4wMDkKKzA2OGM3MjRlNzZkYmEwYzg4N2M1MzIzZGU3YjdhNDM0ICAuL2Rpci0wMjEvZGF0YS4wMDQKKzA2OTM3OWFiZmQ5ZjI2ZTIwM2M1MzkyMzQ0M2U1OGE0ICAuL2Rpci0wOTQvZGF0YS4wMDYKKzA2YzM2ZjVkYjBjMDIxMjdkYmJjYTc1YzVkN2MxMzBjICAuL2Rpci0xMDQvZGF0YS4wMDYKKzA2ZDIxOWQ4M2QwZDIxNDJlOWY3YTA2MzcyZTgyZjgxICAuL2Rpci0xMTAvZGF0YS4wMTAKKzA2ZGY3MThmODg1ZmQ3MWYyNTY4OTQwYjYxNjUyOGMzICAuL2Rpci0wNTkvZGF0YS4wMDEKKzA3MDE3ODIzMGVhNDdlOTBkMDBmOWE2ZmExOTc1ZmQyICAuL2Rpci0wNzkvZGF0YS4wMDUKKzA3MmMxZDE3NTVhNGFmNzg1NWRmZWEzYzY4Y2YyNzBhICAuL2Rpci0wNjUvZGF0YS4wMDgKKzA3Y2Q3NjdlZjI0ZDRlYzA1N2FiOThkMGI0YjM4OGE5ICAuL2Rpci0wOTEvZGF0YS4wMDIKKzA4MTAyOWI3ZDhiYjI3ZjZjNGY3OWEyZTRiYTY3ZDg1ICAuL2Rpci0wNzAvZGF0YS4wMDUKKzA4MjY4MDg4MjU0MjU2YzI1ODk0YzZkNzY5MDJjZDYxICAuL2Rpci0wMzcvZGF0YS4wMDcKKzA4MjljMjBjODExMTNlZWMwNzU5ZTVmZGQ3NGIxZDNlICAuL2Rpci0wNTYvZGF0YS4wMDUKKzA4MzEwYWQ3OGNiZDNkNmVlMTg2NGU1YzE0NTI0OGQ5ICAuL2Rpci0xMDMvZGF0YS4wMDEKKzA4NDc4YzdhNTIzYTg3MjUxMDdhZDgwNGE3ZGNkYTFlICAuL2Rpci0wOTYvZGF0YS4wMDMKKzA4NzYzZDIzOGUwMmQ3YWI1N2Q3NjJiNTgwMzhlMzhjICAuL2Rpci0wNTQvZGF0YS4wMDAKKzA4Zjk2YmY2OGVlYThiODJiY2UxYTVjMTU2NTA3NWJlICAuL2Rpci0wNjAvZGF0YS4wMDMKKzA5MGVkODgwMzZhOTYxOGU0YzQ0ODU4ZGIzOTk3OTNkICAuL2Rpci0wNDQvZGF0YS4wMDgKKzA5MmJhYThkMjY1OWVkOTQ4MDNlNjUyYmU0YzhhZmU0ICAuL2Rpci0wOTkvZGF0YS4wMDkKKzA5M2QyZDQ1OTcwMTVjYWU0MmRmN2QzZTJlM2JmODAyICAuL2Rpci0wNjIvZGF0YS4wMDkKKzA5NmI3YTRmNjdhNTYxZmEyOTMzYmJlZmJhMDMyYzY3ICAuL2Rpci0wMjUvZGF0YS4wMTAKKzA5OWJmNDEwN2FlMDA5NDk3YWJmNTJkNmQwOGY1YjM2ICAuL2Rpci0wMTMvZGF0YS4wMDYKKzA5YjRmNWEyYjQ5Y2ViYTc1MmE2MDQyOTdhYjYwNjM1ICAuL2Rpci0wNDkvZGF0YS4wMDYKKzA5Y2EyNTA5YjQxOGI1NzIxMTg4ZWEwNDRlZjZiNGMyICAuL2Rpci0wNjIvZGF0YS4wMDUKKzA5ZDZhODQ0YTBmMTk0Zjg4NGM4YmZhNmVkODMwYTBlICAuL2Rpci0xMDYvZGF0YS4wMDcKKzA5ZDk4NjdmNTYxZDM1ZDJkZTM3ZDlhZTI5NDAwZWUwICAuL2Rpci0wODQvZGF0YS4wMDEKKzBhNGY5MTYxMDk2ZWNmOGZmODM5N2NmZmNkOWJmMmM3ICAuL2Rpci0wMDAvZGF0YS4wMDIKKzBhNTRmMmE4MzQ3Y2FkN2U4MDZjZDAyODBiNjE3NDYzICAuL2Rpci0wMTcvZGF0YS4wMDUKKzBhZGEwNDI4MjhhNzAwYWQyNDg5YTIzNDczZDhlOTBlICAuL2Rpci0wMDMvZGF0YS4wMDQKKzBhZmQzYjQ5ZjE2ZDI5ZWJiYzZmNDc5YTM5Y2U3YmZhICAuL2Rpci0wMzcvZGF0YS4wMDMKKzBiMGZiNzJmMDNkYjk5Y2M3MjJkNGFhZjJhOThlNWI2ICAuL2Rpci0wMTAvZGF0YS4wMDUKKzBiNTA4YjUwMjFlZmU0OGFiZWFmYjU5YmNlNmEzZjZkICAuL2Rpci0wOTQvZGF0YS4wMDkKKzBiOTM4ZjBmZTdiYmI2NTFiMWQyNWY3NzYzYWU2ZDUyICAuL2Rpci0wNTIvZGF0YS4wMDQKKzBiOTk3NDZmMDQ4YjZlNDIxYTQ1MmU5MzAyNTNiYjE1ICAuL2Rpci0wNTYvZGF0YS4wMDgKKzBiYWFhZWUxZWNhZWI1ZjljZjhiNzU2N2FmZDRlZjg5ICAuL2Rpci0wMjYvZGF0YS4wMDEKKzBiYmNjZjA0MTA5YjI2ZjhkNGYxY2NjYjAwZjcyN2U5ICAuL2Rpci0wNTMvZGF0YS4wMDQKKzBjMWUzYzg2OWIwYWRhYTdjZTkzODc5YTE1MTc3NmRmICAuL2Rpci0wMDEvZGF0YS4wMDYKKzBjODIxMWVmNDJkNzU4OTJjNzA3ZjAyMmUyYTdkNDUyICAuL2Rpci0wNDMvZGF0YS4wMDQKKzBjOTI5OGFlZmU3MjAwNGQzNDY0M2VkZGVmOGY0ZjFmICAuL2Rpci0xMDkvZGF0YS4wMDcKKzBjZmNjMTUyMjM1YWMyZjE1NjljMzkwMDg0YjZkNDQyICAuL2Rpci0wMTIvZGF0YS4wMDYKKzBkMTM1NTdmNTY2Njc4MzFhODUzZDQyMmY0MGNiODhkICAuL2Rpci0wMTQvZGF0YS4wMDYKKzBkM2NkOWIyMmI5MTM5MWQxN2MzMGU3OWZjODkyYTYyICAuL2Rpci0wNjIvZGF0YS4wMDgKKzBkYTExNzUzMmNhZGU0M2E5YjQyYjY4MWRiYjRkOTdiICAuL2Rpci0wNDcvZGF0YS4wMDAKKzBkYjhhZWE1ZWNlZjA0MDc0MmU0ZDliM2JhYTc2ZGQ2ICAuL2Rpci0wMzAvZGF0YS4wMDEKKzBkYmFjMWQ2OTdjYzc3Njg1ZTFmYjg4NDkxNmMxYWU1ICAuL2Rpci0wMjYvZGF0YS4wMDQKKzBkYmRlZDRkMjI0NTNjNzRlZDhjYTg3NmM3NTljMWQwICAuL2Rpci0wMjUvZGF0YS4wMDYKKzBkYzg5YWQ5MTYwNTVjNzMyMWFkODllMTM1ZDViNTY1ICAuL2Rpci0wNTEvZGF0YS4wMDYKKzBkY2MxYmI1YjhjNjcxZmE5MDZhNGMwMjdmNzgxMTQ5ICAuL2Rpci0wMDIvZGF0YS4wMDgKKzBkZWY5ZTQ5ZDQ2ZjgxODg3YWZkNjAwNGJhMjc5NjZlICAuL2Rpci0wMTcvZGF0YS4wMDMKKzBlMTI1NzdlNDU0YTQ0ODY2ZjU0Zjk5NzM4NjM3ZDNlICAuL2Rpci0wNTkvZGF0YS4wMDQKKzBlMjBhNzE4OWYwYTlkMjQzNWYzYmNhMWMzYTYxMTFiICAuL2Rpci0wNTMvZGF0YS4wMDMKKzBlMzg3ZDRlMWQyNjY5ZWRkNTUyNzY3NmRjNWFlYzg4ICAuL2Rpci0wOTIvZGF0YS4wMDEKKzBlNGQ2MTVjMmFhZmRhN2NhOWUyNGNlNWM0NjM3MDQ3ICAuL2Rpci0wNDYvZGF0YS4wMDYKKzBlNjRjMzU2YjQ2Zjc2OTIzMTk1ZmQ0OWQ0NTJjZGE5ICAuL2Rpci0wOTIvZGF0YS4wMDQKKzBlOGQ5OWEzYjM0NzMzNDg4ZDRkMGU5MTgzN2FlNjI1ICAuL2Rpci0wMTAvZGF0YS4wMDMKKzBlOTNjYjgyMDZiM2Q5MmM2YjM3N2Y1ZjBhZTZjM2NhICAuL2Rpci0xMDEvZGF0YS4wMDgKKzBmMDQ4YjliZGE2ZjY5NGQ5MGU5NjFhNWY4M2FlMjAwICAuL2Rpci0wMzkvZGF0YS4wMDkKKzBmNWNkYzY1ZWY4NDczZjMyNTMzZTNmNTZkY2EyZWE0ICAuL2Rpci0wMzkvZGF0YS4wMTAKKzBmOTlkZmZiYjc4MGJmNGFjNTM4MWYyZjE0NzgyYTZlICAuL2Rpci0wNDEvZGF0YS4wMDAKKzEwMjllOTEyZjZlY2M5MzA1NTg1ZTgzMzNkNzE2MDJjICAuL2Rpci0xMDEvZGF0YS4wMDQKKzEwM2I4ZTI5OWI2ZWQ1YjQ3ZDVlYjZhZjdkMDRkODVmICAuL2Rpci0wMDEvZGF0YS4wMDgKKzEwNDE3OTAzYjMxMjg0OTdmZmFlNTEyZTk0MTNkMmJiICAuL2Rpci0wNjkvZGF0YS4wMDAKKzEwOGM2MTU2MjdlM2EyODc0ZmZjZDBjN2RhZjkzZmFiICAuL2Rpci0wNDkvZGF0YS4wMDIKKzEwZTZlMTA5N2M5YTRjMTdhZWIyMTFhMjkyMGU4NzJhICAuL2Rpci0wODAvZGF0YS4wMTAKKzEwZmI1ZGEwNDEzNGM2NjNiMDU1NGFmMDg0ZTJhN2VjICAuL2Rpci0wOTUvZGF0YS4wMDAKKzExNGY2YmMwZmNkODc2MzVhNmJmMzA0MDA4ZTliNWM0ICAuL2Rpci0wOTMvZGF0YS4wMDAKKzExNTFhZTYyZGIxNTVhMDE1NzFkN2M3OWVlOTMwN2QzICAuL2Rpci0wMDIvZGF0YS4wMTAKKzExYjNkZWMyYmZmOTY1YWY2YjM2NjcwZGZkN2FlNTczICAuL2Rpci0wNTYvZGF0YS4wMDEKKzExZTM2MWI3NWRmZmJlMGVkMDljZGE2MzhkODdlMmNkICAuL2Rpci0wNDcvZGF0YS4wMDcKKzExZTljMDZjMGQ3YzM1NWYxYmIwYmY4YWQzMzc2YWNiICAuL2Rpci0wODMvZGF0YS4wMDEKKzExZmI1OWNiMzU1NzA4MWVkNzIxOTY2NmI3NDM3NGI0ICAuL2Rpci0wMDQvZGF0YS4wMDUKKzEyNTE4MDNkOWIzMWNlYjFlZTI5MDBhODQwN2M3NjJmICAuL2Rpci0wMTgvZGF0YS4wMDQKKzEyNWY3MWM1MDE2ZTkyYjM2NTkwNzBlZDA0ZjU4YmU2ICAuL2Rpci0wNjAvZGF0YS4wMDcKKzEyYWE1ZDBkYWMwZWI1MWU3ZDIyYjg4MjQ2MjgyZjAzICAuL2Rpci0wOTMvZGF0YS4wMDYKKzEyY2ZiM2FmODZiN2NjMTQxYTNmZTlhNjI2ODcyNmE1ICAuL2Rpci0wMjQvZGF0YS4wMDUKKzEzMmFmNzAwNTI1NWNjNGIwMzhhZDkwMjFlY2EzODQwICAuL2Rpci0wNjYvZGF0YS4wMDUKKzEzYzhlYjA3MWM4ZThiZDY4NDIxZDM3ZjkyNTYwMWU0ICAuL2Rpci0wMTYvZGF0YS4wMDAKKzEzZGQxNGU1NWNkYTkyZGVmNmYxMWRiNDgyNDM0YTAwICAuL2Rpci0wMjIvZGF0YS4wMDgKKzEzZjY3MzY2ZWU1YzhhZGI0MGU4MGQzYTVjZDE3ZmI3ICAuL2Rpci0wNjYvZGF0YS4wMDEKKzEzZmIyMzZlNWYyN2I3ODlmYzMxZjFjZjViMWI4ODkyICAuL2Rpci0wMTUvZGF0YS4wMDMKKzE0NTA2YzE4ODA0ZGViY2ViZjI3YTM3N2FhMDRlYWE2ICAuL2Rpci0wODcvZGF0YS4wMDcKKzE0NTI4YmZhYTBhMWFjYTYzY2JjODBhY2FiOTZmODAwICAuL2Rpci0wNTEvZGF0YS4wMDgKKzE0OGNmNWM1ZmViNzIyMDkyNDQxZWM4N2I3YTU2MTFhICAuL2Rpci0wMjUvZGF0YS4wMDcKKzE0OWI3Njc0YTkyNzk2YmVjN2Y2MDY2YmJkZWY5YTNjICAuL2Rpci0wMjcvZGF0YS4wMDcKKzE0ZGEwOGIyZDg1YmZjODFjMGIwYjkyODE3OTg5NzkxICAuL2Rpci0wMzMvZGF0YS4wMDIKKzE1MDBhNGM1MDU0ZDg3ZGQ2MWMzOTJmMzM4NjhkYTRiICAuL2Rpci0wMzgvZGF0YS4wMTAKKzE1OTg3Y2IzZGE2MmY0NWM3YWVlN2EwYWI5NTE4MjA2ICAuL2Rpci0wODkvZGF0YS4wMDEKKzE1YzA1MzI3ZjMzN2M3ZDc0MTRkNDcyZmE3NzBlYzNjICAuL2Rpci0wMzgvZGF0YS4wMDMKKzE1Y2NkNWEzMTJlYjc3MmM4NWE0NGE2MzA5OTMyMmFmICAuL2Rpci0wNDUvZGF0YS4wMDUKKzE1ZjMwYTMyNjRjMGY4YzU3ZTZkNzQ5N2E0MDY0ZmVkICAuL2Rpci0xMDAvZGF0YS4wMDMKKzE2MTU2NzE4YmVjZWJmMGY5NzUxMzZkY2E2YzZhZTU2ICAuL2Rpci0wNDIvZGF0YS4wMDUKKzE2MjRkMmE0ZWFkNjFjYjNjOGUyNWMyMTc5NGVhNjc5ICAuL2Rpci0xMDYvZGF0YS4wMDYKKzE2OGI5N2JkYThhYTZmNzk1ZDhmNzI3MjE5NGQxZDVhICAuL2Rpci0wMjAvZGF0YS4wMDYKKzE2OGY3ZWI4MmRkN2ViNzhjNGE1MjIxZDJlNTgxZGRlICAuL2Rpci0wNjUvZGF0YS4wMDIKKzE2Y2Y4YzZhY2QzY2QxY2EyZmM0YmZjOWI1NDM5ODJhICAuL2Rpci0wMDcvZGF0YS4wMDkKKzE3MTQ5MzNiMTFhNGE4ZTYwMDA1NzU2NTg2NmVjNDIzICAuL2Rpci0wODAvZGF0YS4wMDkKKzE3NDU2NTZmOTYwMWZiZDUxNjMxNDQ1MDBlZGE2NTY4ICAuL2Rpci0wNTcvZGF0YS4wMDQKKzE3OTM1M2NlMTQ4YzM3NDI1ZDc2NmVhNWI0M2RjMzJiICAuL2Rpci0wMjMvZGF0YS4wMDcKKzE3Zjc3ODc0NTdlNWZkMWE4NjAxZGQyMzc1ZWVhNzc3ICAuL2Rpci0wMzYvZGF0YS4wMDMKKzE4MTVjNjMxNzUyOGNhZmQyYTFlNjE0MjlkMjllMWNmICAuL2Rpci0wMDgvZGF0YS4wMDMKKzE4MzZmZDM5YjA1ZDk0YTg2MGQ3MjdmOTcyYTE4NzI5ICAuL2Rpci0wMjkvZGF0YS4wMDcKKzE4Njk5MjU3MmU5N2RjMGEzNjg4YjIyMDJjMDY2YTcwICAuL2Rpci0wNjYvZGF0YS4wMDgKKzE4YjRhNDM3ZDgxYWNmNTk0Y2MxNDgyMDMxOTg3ZjYxICAuL2Rpci0wNTgvZGF0YS4wMDkKKzE4ZDk3OGM2ZjU0YjUwYmFjYzUxYjViZTJhNmJhNmRlICAuL2Rpci0wNTEvZGF0YS4wMDIKKzE4ZWRmMzNkYTJjN2U4NWI2YTJkNTRiMDRmNzk2NjVlICAuL2Rpci0wOTMvZGF0YS4wMDkKKzE5NDc2ODFlYmRiNjVjZmM2YTQ4NTU2ZWE5ZDkyM2Q5ICAuL2Rpci0wMjMvZGF0YS4wMDUKKzE5NjllY2QyMjViOWQ2ZmE0MDI5YmY2NzNkYmVhNGRlICAuL2Rpci0wMzYvZGF0YS4wMDcKKzE5YTM0ZjhjOTAxNmNlYThkNThmMDJiODE2ZDQ0NzVkICAuL2Rpci0wNjUvZGF0YS4wMDMKKzE5YzNmN2JhNjNmNjRjZDZlODRkMjhlOTc0ODM0MTAxICAuL2Rpci0wMTIvZGF0YS4wMDIKKzFhMzVlMTljNmZhYjRmYTFkODE4ZTZlZmI3OWE3YjE4ICAuL2Rpci0wNTIvZGF0YS4wMDMKKzFhOTJmZDVhNDgyMWU5MjQ0NjE0Mjk1Nzc0OTE0MDdkICAuL2Rpci0wMDIvZGF0YS4wMDEKKzFhOTczZjJjMDBkMDA5MDYwN2EwNWQ2MDhiODE4OTdmICAuL2Rpci0wODgvZGF0YS4wMDUKKzFhY2RhYjQ4MGM1MmE0NTRiYTU1NTJjMjk1MTZkOTMzICAuL2Rpci0wNzMvZGF0YS4wMDYKKzFhZDE3YzQ2MDM2MDlhMzZhNzA0OTE0ZTZmOTFkMWU2ICAuL2Rpci0wMzQvZGF0YS4wMDIKKzFiMWRkZmI4OGYwY2YzN2Q5NmE0NGVkZWIyNjYyOWY5ICAuL2Rpci0wNDMvZGF0YS4wMTAKKzFiYjUzNzQ3YmU2YWQ4YTNlN2RhNTdjNjBhZTU0YmY0ICAuL2Rpci0wNDcvZGF0YS4wMTAKKzFiYmI2YjFlYTc4MDZiOTJlNDMxYWE0ODFiYTUzMjU2ICAuL2Rpci0wNTkvZGF0YS4wMDkKKzFiZWZjYzAwNDBjNmEzYjdlOTM2YTg5YjdkY2M4ZDFmICAuL2Rpci0wNTQvZGF0YS4wMDMKKzFiZjNkOTZjNjNmMDgyNWEwMjM4YjNjNzExYjJhZGQxICAuL2Rpci0xMDQvZGF0YS4wMDQKKzFiZmU2MzY3YzQ2ZTUwZTM0ZjlmNjhkZWJlMmZkOWU1ICAuL2Rpci0wNjIvZGF0YS4wMDIKKzFjMDVmMzE0NjZhNmIwNWYxZDczMTIwNzYwNDIxYjA3ICAuL2Rpci0wMTcvZGF0YS4wMDIKKzFjMTAwZmE0YTk5YTYzNWIzOTgyNmZiZjMyYTE4NWVhICAuL2Rpci0wNDYvZGF0YS4wMDAKKzFjNDA3MGY2ZjI1MDZhNWQ1OWRhYzYzNTc5ZGI1YzVmICAuL2Rpci0wMDkvZGF0YS4wMTAKKzFkMjg2YWM1YTdmNDQ3N2IwN2NiZjJiOGZhNjA4ZjMxICAuL2Rpci0wMjIvZGF0YS4wMDcKKzFkODQyZjk1Mjg1MGVjYjA3YjlmOGFiNTljZGJiZGZjICAuL2Rpci0wNzQvZGF0YS4wMDkKKzFkYWJlNzdiZTEzMDA3N2ExZTJkZTdiMWIyNDM2MzhmICAuL2Rpci0xMDgvZGF0YS4wMDEKKzFlNGI5MGU3MGM1NTMxMTkzYjgyY2MzYjYxNTg1M2EzICAuL2Rpci0wODMvZGF0YS4wMTAKKzFlNGI5OWMwYzZjOTdjYmU1OWMwMWI2YjgxY2RkNTVhICAuL2Rpci0wMDAvZGF0YS4wMDQKKzFlNmZkNGVlNDczN2VlNDQ3YWRlMjE2NTEwNGY0ZGMzICAuL2Rpci0wNDQvZGF0YS4wMDEKKzFlODJhNWU5NzdlNzVkNmZmMTJiYTRlNGI4MTIxOTk0ICAuL2Rpci0wMjUvZGF0YS4wMDEKKzFmMGE3YWQ5MzMwODE4MTUzZTZkMTM3MDUzODlmNTA2ICAuL2Rpci0wOTgvZGF0YS4wMDQKKzFmYWExMGZmNTRjNTFlOWU2YTY5MWQyMDIwYjI4MTgwICAuL2Rpci0wMTMvZGF0YS4wMDkKKzFmYmFmZDA1MzFmNWRiZjNlODRhODVjM2FmZWY3MTU5ICAuL2Rpci0wOTEvZGF0YS4wMDQKKzIwMTg4MjcwODE4NWZkMTVhYjE2NDgyNmU3ZTRhYjNiICAuL2Rpci0wMDcvZGF0YS4wMDUKKzIwMjhlMjVlZTdlYTI0MTBiMDVjOTZlMjUzMTk5OWFmICAuL2Rpci0wMDgvZGF0YS4wMDkKKzIwNGY2NGNhOTM0NDg5YzljMzIxYjc3MTZhYmU2MTM3ICAuL2Rpci0wMTMvZGF0YS4wMTAKKzIwOWNhMTE4NTc0OWY1Zjc2MGYzYzJiMWVlYWJjZjk0ICAuL2Rpci0wODAvZGF0YS4wMDcKKzIxMDRiZmEwZDVjYzgxNjYyZjBmMjUxZGM4OGVkMWYwICAuL2Rpci0wMDIvZGF0YS4wMDcKKzIxMzM1NmM2ZTA1MGFhMWY0NGZkYjY3NTU0ZDk5ODdkICAuL2Rpci0xMDAvZGF0YS4wMDYKKzIxY2U5NTg3NWIzNDlhYzhjNGE1NjYxZWM3ZmIxYzVhICAuL2Rpci0xMDgvZGF0YS4wMDkKKzIyNTExNzg5OWJkZDUwYjZmZDc1NGZhYzQ2ODUyM2U2ICAuL2Rpci0wNDYvZGF0YS4wMDQKKzIyYzdjNGQ2MWIyNTRlNjdiZmI2MjI5MmY2ODEzMzAwICAuL2Rpci0wMDYvZGF0YS4wMDkKKzIzMDVjZGQ1MTVlYTAzZTBlM2Q5ZGQ3ODkzYzQ4ZTVlICAuL2Rpci0wOTMvZGF0YS4wMDcKKzIzNDM5NDdiY2IyYWNhNWE1ODM0MzRlMjBiOWFmZTgzICAuL2Rpci0wMzEvZGF0YS4wMDEKKzIzN2M1ZDNiN2E1NTY2NzBhMTE5YjZiZWRmNGE3YTQ0ICAuL2Rpci0wNjQvZGF0YS4wMDUKKzIzODg3ZmM5N2Q1ZGU4NDZkYmI5YjI2ZmU0ODU2MGUyICAuL2Rpci0xMDUvZGF0YS4wMDMKKzIzZTk4Yzk5YzE0ZGM3NGJmMzNmNDBmODQzOGQ1OTQ3ICAuL2Rpci0wMzUvZGF0YS4wMDIKKzIzZjJkY2Y2YmIwNDU0ZmQyMDU4NDQyYWI2YzkyYjMyICAuL2Rpci0wNTkvZGF0YS4wMDgKKzIzZmFjZDUwNzg0YjkxZWZlMmU1ZTgxNjc4YmYwNGJiICAuL2Rpci0wNjkvZGF0YS4wMDYKKzI0MmJlNjhiMzcyMGU1ODY4ZTdmNzY1MmRhNWFmMDQzICAuL2Rpci0wMDYvZGF0YS4wMDEKKzI0YTg2Mzk3M2Y4ZWY2NzRiMzU3ZTExODliNDBkZTY5ICAuL2Rpci0wNjAvZGF0YS4wMDAKKzI0YzlmNDM3MWM5MzY3ZWI1NDQ3OTE5OGRiMDYxNzQ4ICAuL2Rpci0wNzAvZGF0YS4wMTAKKzI1Mzc1MTBjZWY1ZTY2MTI2YWI0YTVmMjAzOGRlOThiICAuL2Rpci0wMTEvZGF0YS4wMDQKKzI1M2U3ZGMwMzA3ZTU0NWZiNDRmYjVlNjIxODgzODk1ICAuL2Rpci0wMDIvZGF0YS4wMDAKKzI1NzM5NGM5ZGNhM2RiN2U3MzdmZmExZDA0MTkzMTdkICAuL2Rpci0wNzQvZGF0YS4wMDAKKzI1ODVkY2ZhZTQ2YmM0YzQ0NGYzNDQxNmU0OGRhMzcxICAuL2Rpci0wNTAvZGF0YS4wMDkKKzI1OTVjNWQ1ZjE1NjQ4ZjViNzg0Y2MzMjdhMGI5NDgwICAuL2Rpci0wNzcvZGF0YS4wMTAKKzI1ZDgzZGUwOWQwNzUwMzZjMzdmNGZhNDA4NGU4MWYzICAuL2Rpci0wNjYvZGF0YS4wMDYKKzI1ZGFiYjYzZGI3ZTY5ZTQ5YTIwMDc4ZTNmMWM3Mzk4ICAuL2Rpci0xMDMvZGF0YS4wMDQKKzI2NTkwNWU1ODM2MGQ0ZWU0Y2FiZTdmYTI0ZWI0OWJjICAuL2Rpci0wODYvZGF0YS4wMDcKKzI2OWJjNGI3ZjRkMTZjNjY5MDdkNDUwMzU2NjYxYjZlICAuL2Rpci0wODgvZGF0YS4wMDgKKzI2YjZhNzRlM2RhYmZkM2M5YTQ2NWY3MDUzMzg3ZjE5ICAuL2Rpci0wMTMvZGF0YS4wMDAKKzI2YjcxZDJhMGU0M2M5ODM3ZDU2NzY2MmJmOWM3YTAxICAuL2Rpci0wMzYvZGF0YS4wMDYKKzI2YmE5ZTdiZjFmZmEyNzU2MDJhYzIzNTY0MmFlYzIyICAuL2Rpci0wNjMvZGF0YS4wMDYKKzI3MGM2M2IxOWQ5YjRjOTg2NmRmMWE3YTlkOTY0YmEzICAuL2Rpci0wNTgvZGF0YS4wMDEKKzI3NDdkNWRmZGJkNGY1Y2U3NjY0MjkxMWZkMWNkN2JhICAuL2Rpci0wMzcvZGF0YS4wMDYKKzI3NTcxOWE3ZDJlMTBmZDBjYzBkYmQ0MDZhNWRkMjg0ICAuL2Rpci0wMzAvZGF0YS4wMDMKKzI3OTc0YWE0ODAxYTdjM2FmODQyODk5MjcyYjlmNmQ1ICAuL2Rpci0wMzIvZGF0YS4wMDIKKzI3YTFhODI3ZDgwMzk5NjY1MGJlNzU1NDc5MDIwOWJiICAuL2Rpci0wOTgvZGF0YS4wMTAKKzI4M2M5ZjhkM2RjNTljZmY0ODUwY2E2ZDk3NjU0NWQwICAuL2Rpci0wMTAvZGF0YS4wMTAKKzI4NTAzYzg1OWM4OWI1ZDk5NTNmNWJmMDg0YjQ0NDA5ICAuL2Rpci0wOTYvZGF0YS4wMDYKKzI4YmE4MzAxOGM3ZjhkNzlhNGJmYjJhYTk0ZWNmNzc3ICAuL2Rpci0xMDcvZGF0YS4wMDcKKzI4ZjJjNzQwODI3NzY1N2U0YzJjNWIyZTgwMTdiY2FmICAuL2Rpci0wODgvZGF0YS4wMDYKKzI5MDYxNjAwN2Q3NmJiZTA1YTYxYzczNjkzYTliMDcwICAuL2Rpci0wMDEvZGF0YS4wMTAKKzI5MDkyZTk0YmUzZTc0YTI0NmMyNDM4M2Y5MjA3NTNmICAuL2Rpci0wMzUvZGF0YS4wMDYKKzI5NTdhZTk2NjM0MDQ0YTQyYmJjNGJiMDcwN2NkMjAyICAuL2Rpci0wNjcvZGF0YS4wMDYKKzJhMTFkN2VjZWIzNWQ4ZmY4MjQ4ZjBlYzY3YTRlZTU1ICAuL2Rpci0wMDQvZGF0YS4wMDIKKzJhMzlmNzQ5M2U1NjQ2YTM4ZTlmNzFlYjIwMmRiYzJkICAuL2Rpci0wMjkvZGF0YS4wMDUKKzJhNGI0ZmY0N2Q3YWI5NzExNzU3NjM3ZjQ4MGMwNTg2ICAuL2Rpci0wOTYvZGF0YS4wMDQKKzJhNWE3NDhkNjU5OTFmNjNmNmRhMzlhOTdhMjJjY2ZkICAuL2Rpci0xMDgvZGF0YS4wMDAKKzJhODg2MDczOWY5ZDJkYmRhNjVlNGQ4NTJlMGZkMzA5ICAuL2Rpci0wNzYvZGF0YS4wMDEKKzJhOGQ3MDViOTBiODJhZjQ1NWFjZmE3ZDljMGZjM2M5ICAuL2Rpci0wNjkvZGF0YS4wMDkKKzJhY2U0YjBkOGVmMTIyYmQ5MThlOGQ1Mzg3MTRlZTczICAuL2Rpci0wODQvZGF0YS4wMDIKKzJiMDhjMmYxNzgzZjg2NTA1MTM2OWJmNDFiNDdmOTYwICAuL2Rpci0wMjMvZGF0YS4wMDMKKzJiMzFiNjhkMTdlYzYzYjBlMWE1MDE3NmM0OTAzMGU0ICAuL2Rpci0wNzYvZGF0YS4wMDcKKzJiMzYwZTljNTAyMjVlMWViZjhiZjk1ZmMwOTM5ZTJmICAuL2Rpci0wMDYvZGF0YS4wMDUKKzJiNTQ1ZTZlNmNhM2I2NjM4YjYxOGMzNGFhZWZkYmYyICAuL2Rpci0xMDAvZGF0YS4wMDEKKzJiNWQxODEwOGUwMzA5MzU0YjRmODBiMTg1ZTIzMjNhICAuL2Rpci0wNTcvZGF0YS4wMTAKKzJiODI0NDhlNmZjY2FjMzQ0MWQ5ZjdkN2ExMzA3NGQ0ICAuL2Rpci0wMzEvZGF0YS4wMDcKKzJiY2MyODE5YTI4OGVlNGVjMmM5YzAwYzU4NWY2N2Q5ICAuL2Rpci0wMjcvZGF0YS4wMDEKKzJjYmM5YjM5MjJlNWQ3NWE4YzRlNTc1ZTUzMDY1ZjJmICAuL2Rpci0xMDkvZGF0YS4wMDAKKzJjZTdjOWQ1ZTFhNGFlZDFlOWRlYzFhYTg1MDIxZjRjICAuL2Rpci0wMTAvZGF0YS4wMDYKKzJjZjdjNmUwMzhkMzc0NDI3NWQ4ZmZiOGI0YWI1MmQwICAuL2Rpci0wOTYvZGF0YS4wMDEKKzJkMDQ5NGEzNTBhNTcwYmY4NjU5NmViNWRjZDNlNTc1ICAuL2Rpci0wNTkvZGF0YS4wMDcKKzJkMWNhZTNkNTE1MWJlYmUxMmFlN2Q5N2Q5ZWZiOTJkICAuL2Rpci0wMDgvZGF0YS4wMDQKKzJkMjdlYzBkMzE4Y2Y1NmQ4ZWNjMjI2YTk3MmRiNjc3ICAuL2Rpci0wMjcvZGF0YS4wMDIKKzJkMzkyYTdiM2RjZmE2ZWUxMzk5ZGU5NDE2YTQxYjYwICAuL2Rpci0wODMvZGF0YS4wMDUKKzJkNDQzM2I2ZTMyYmRhOGU1NjNmMDQyZmI3OTllODZkICAuL2Rpci0xMTAvZGF0YS4wMDIKKzJkNzBjMTI5ZDg1N2QyMmE4MjY2YzJlNWYzZWU0NTYzICAuL2Rpci0wNDgvZGF0YS4wMDEKKzJkNzZiOTc4NGJiYjY4YzY3MGFlYWUxMzRmMWM2YzMyICAuL2Rpci0wOTUvZGF0YS4wMDEKKzJkYmVmMDQ0NWQxYjQ1MGI4OGI5ZTU4MTc3NDFmMjk1ICAuL2Rpci0wNzIvZGF0YS4wMDIKKzJkYzE4NGU4ZWNlNzc0NGRlOTkxMmQ0NjcxZjJmMTE2ICAuL2Rpci0wNDQvZGF0YS4wMDkKKzJkZjU4NzdkZmY3Zjc3ZTQ4YWE0NWJiOTZkZTlmMzYyICAuL2Rpci0wNzEvZGF0YS4wMTAKKzJlMDNmN2IyNThkMDBjMGM1ZmYxMDQyNWE3MDFiNDU3ICAuL2Rpci0wODIvZGF0YS4wMTAKKzJlMGJmOTAzMDA5MmRkNzdlZDQ0Y2Q3YTI1NDk3NDk2ICAuL2Rpci0wNzIvZGF0YS4wMDYKKzJlMGVlNzk2NjY5MDRlMzYyOWM4MDFmMmUzOWVlZWY0ICAuL2Rpci0wMDkvZGF0YS4wMDEKKzJlNDNhZGEyMzQ3NzVhZGI3NzE4OGE4NDBlZWUxNTI1ICAuL2Rpci0wMjAvZGF0YS4wMDkKKzJlNjQ4YTEzOGYwNGRhYmEzZWMzMGQ5ZWU4NTAyYTAzICAuL2Rpci0wMjgvZGF0YS4wMDIKKzJlOTBjZDU0ZjgwMzUyZWM3ZDAzZmE5ODczNzI0NWI1ICAuL2Rpci0wMzQvZGF0YS4wMDkKKzJmMjUzY2I1YzA2NWM5MGNiYzVkNjY2NzQxMzg2MmE4ICAuL2Rpci0wNjYvZGF0YS4wMDkKKzJmNTE2MDhjZDFjMGFlZDY0ZjJiMGI2NWZhMTAyMGMzICAuL2Rpci0wMjUvZGF0YS4wMDkKKzJmOGQ2OGJjOGVjMWM1ZGI4Y2UyZjcwYzg3ZjkxZTY4ICAuL2Rpci0wNjcvZGF0YS4wMDMKKzJmYTAxYTZiMTRlYTkxYzAyNDYwYzBiZWI3MGY2OWM3ICAuL2Rpci0wMDMvZGF0YS4wMDUKKzJmZDc2ZmFkYjEyNGM3MDFlODUyNzYzMTMxNDgwNDU3ICAuL2Rpci0wMDkvZGF0YS4wMDcKKzMwMWU5NjkyNTQyOWE1NzdjZmZkMzgwNWMyYjY3ODFlICAuL2Rpci0wNjAvZGF0YS4wMDUKKzMwNGQwMzRjMTBjM2YyZTg2NTliMjUwNDkwMjhkZDYwICAuL2Rpci0xMDQvZGF0YS4wMDMKKzMwNWViMDI3YWIyMjM3NWUyOWY2Y2U1NDRmYmQwN2JjICAuL2Rpci0wNjMvZGF0YS4wMDIKKzMwYTQ0ZWFjZDBhZjY3NGYxNzI1ZmRhM2I3NDQ4ZjRkICAuL2Rpci0xMDEvZGF0YS4wMDkKKzMxMTc5YzUwYmMxNTUzY2NlMjM1YzlhYTYyNWMxNmFlICAuL2Rpci0xMDUvZGF0YS4wMTAKKzMxM2ZkYjg1ODVjMTZmZmRlYjAwOWMwZDMyNTZhM2IxICAuL2Rpci0wNzgvZGF0YS4wMDAKKzMxNjljZGY1MjRiYTIwMDU2NDRkMDljZTJkNzJkNjk0ICAuL2Rpci0xMDAvZGF0YS4wMDAKKzMxYzViNzM2NTc1MGNhN2ZiZjc4OWM0Y2EzMjUwMThkICAuL2Rpci0xMDcvZGF0YS4wMDkKKzMyOTI4NjUwZGM3MmY4ODEwMDA3ZWZmYThkYjAwMTE5ICAuL2Rpci0wMzUvZGF0YS4wMDgKKzMyYWY5MmUyM2U0NTNjNzI0MTdhY2Y1NmQzYWI2ZmRlICAuL2Rpci0wMzMvZGF0YS4wMDcKKzMyY2YxZGZjYjliZDcyMzUzZjQ2OTkzMDA2Y2IyZDBjICAuL2Rpci0wMDMvZGF0YS4wMDcKKzMyZTNmNzJiMWZjYTVhYzMxNzZlOGRiZTExMGU3NTdhICAuL2Rpci0xMDQvZGF0YS4wMDUKKzMzOThiZjczM2Q0ZDI2YTdhODMwNDc0MDM4MWE4MzMzICAuL2Rpci0wMzYvZGF0YS4wMDgKKzMzZTgyZGJlYmJmNzEwYTFiMjAzNjU1NTEwNDQzZmYxICAuL2Rpci0wMzcvZGF0YS4wMDkKKzMzZmM1MDJhMGQwNjE2Zjc2NTUxNDQ2ZWYxOTY1YzMwICAuL2Rpci0wNjUvZGF0YS4wMDUKKzM0ODFlOGIyMTgxNDFlNmU2ZGM5Yjc1Mjk2NTA4YjE1ICAuL2Rpci0wMzMvZGF0YS4wMDQKKzM0YTE5OTdjYTg4NmQ3YzEzYmE0OTM2ZjRjOGUwZGFhICAuL2Rpci0wMTkvZGF0YS4wMDUKKzM0Yzk5MzZjNDZhODQ3MTUyMTI1ZTU4MzgzOWMxMmM2ICAuL2Rpci0wNDMvZGF0YS4wMDMKKzM0ZjEwMmI2M2U1MzA4OTY0ZTJmOTcyNWNhZjZlYzJjICAuL2Rpci0wODgvZGF0YS4wMDAKKzM0ZjE2Mjc3ODZkOGQ3NzE1ODQyYWYyYmNiYzkyZGQ4ICAuL2Rpci0wMjIvZGF0YS4wMDAKKzM1NzY3MWUyMGY1OTA5MDBhMzg2OWJjMjlkYmVlMWZkICAuL2Rpci0wNTEvZGF0YS4wMDkKKzM1ZDNhMWJkNWRkMWEzZjdkMGI1MGZiMmM1NDA2NjQ1ICAuL2Rpci0wMzkvZGF0YS4wMDMKKzM1ZWNjMDE0NGJjYTM1ZjUxOTk4NWFhYTE1YmUyNmNiICAuL2Rpci0xMDYvZGF0YS4wMDQKKzM1ZmZiZTZlNjJkYTViMGFlOWMwNjM2MzYwMGIwNzE1ICAuL2Rpci0wNDkvZGF0YS4wMDAKKzM2MDNkZDhjMWYyMzQ2ZWQwNzcwYWE1NDg1MTNlYjM0ICAuL2Rpci0wMjQvZGF0YS4wMDIKKzM2MWI4NDVhYTMwZGJkNDQyY2YyZjBiODdhZDQ3NDFhICAuL2Rpci0wNTUvZGF0YS4wMDIKKzM2MWZkOWI2NjQ4Zjk1ZmY3ZWVjOGQ3MTdkMTc5YmMwICAuL2Rpci0wODkvZGF0YS4wMDgKKzM2MjcwYTQxNTA5Nzg2NWRiYTY4NDc4ZjY5NjI4ZGIxICAuL2Rpci0wMDMvZGF0YS4wMDYKKzM2NTNhOTg5Yjk3NjRiMmZkNTMwMzI0YTk4ZWM4MjE4ICAuL2Rpci0wNjcvZGF0YS4wMDQKKzM2NTUxYWY3NzcwNmFlNTZkYzIyOGMxMTUxY2FhN2E2ICAuL2Rpci0wNjIvZGF0YS4wMDAKKzM2YjU1Zjc3NTcwZDFiNDYzODBkNjAxOGY1MjY2MWU3ICAuL2Rpci0xMDkvZGF0YS4wMDQKKzM2ZDY4YjljZmM1MWFhY2NlMDgwNjVkMzdlYjUwMGM2ICAuL2Rpci0xMDIvZGF0YS4wMDMKKzM2ZmMzMWJhYmFkODllZjI2YWNkMDMzN2E3OTI4NmQzICAuL2Rpci0wNDkvZGF0YS4wMDQKKzM3MDRjNWZkNmE0NDZkNTMwYmNjYTE4MDA0ZjJiMzFkICAuL2Rpci0wODEvZGF0YS4wMDgKKzM3MDc3NjA3OThkNGU1MGRhNzBiYWUwZThkMmM0YzI4ICAuL2Rpci0wOTUvZGF0YS4wMTAKKzM3MTcxOWZlNWNkMDUyYmUyYTYzYzY0NDRlYzc3NDEzICAuL2Rpci0wNDQvZGF0YS4wMDIKKzM3NTk0YmU0MWQ4MjkzYzAzNTE4NjVhNzA4ZTJhZjA1ICAuL2Rpci0wNjMvZGF0YS4wMDcKKzM3OTBhMmJjZTQyMGE4MDBmZjc2ZGRjNTVkNGMwZDBiICAuL2Rpci0wODYvZGF0YS4wMDEKKzM3ZDllMGYyZDlhMzlkYmQ5ZmIwNmM0ZGJjMWQ5MzJlICAuL2Rpci0wNjUvZGF0YS4wMDAKKzM4MTMxYjVmY2IxYmE3Zjc0YmMzZmI4OTA5MWQ2N2ZjICAuL2Rpci0xMDQvZGF0YS4wMDEKKzM4MjA4NWRmNWYxNDJmZGUwMmI0OTI1NjliMjdmN2QzICAuL2Rpci0wNzgvZGF0YS4wMDEKKzM4MzA3ZWFiZjExMDliNzg2NzYwMzg0ZGJlNzAxM2EyICAuL2Rpci0wNzQvZGF0YS4wMTAKKzM4M2FlYzNkMjM2YmRlMzEzNGJiYjgxMTQ4NzU5NGFlICAuL2Rpci0wNzEvZGF0YS4wMDYKKzM4NmJkMzEzYjcxNDRiZGI3MTIxZDlkM2NmZmQ4MDE5ICAuL2Rpci0wOTUvZGF0YS4wMDIKKzM4ODM3YzAzNjU3NmFkMmFmYjEzODJlMTBkMjI5NjU4ICAuL2Rpci0xMDkvZGF0YS4wMDEKKzM4OTkzYTkwNGYyZDM3MDg3YTVjNGVkNDEzZDMzMWQ0ICAuL2Rpci0wODEvZGF0YS4wMDcKKzM4ZDgyYzRiYmNkMmRlZjQxNjM2ZjAyMTUxYmY1MzE5ICAuL2Rpci0wODQvZGF0YS4wMDQKKzM5MmNjZjU4NjVmZGYwZGNmYTU5OTAzNDkzNGU0ZmNmICAuL2Rpci0wNzIvZGF0YS4wMDkKKzM5MmQ2YzIzZDViNmE1OGJhNDU1M2NmZWY1MjQ1MTkxICAuL2Rpci0xMDkvZGF0YS4wMDkKKzM5NzMyNDY1NzFkNDhmNWZiZTlkZGMzMzdjYTJjOGM5ICAuL2Rpci0wMTcvZGF0YS4wMDEKKzM5ZGU5NDVhNzYzYmQ4M2JkZTc4Nzg3OTI5NGM5YjQ5ICAuL2Rpci0wMDUvZGF0YS4wMDIKKzNhNGYzOTcyNjJlMmI4MzBmYmFmZmVkNGQwM2IzN2U5ICAuL2Rpci0wMTYvZGF0YS4wMDIKKzNhODM2M2ZjMzllNDIxMWFmZTNlZGU1Njg4Zjk0NzA1ICAuL2Rpci0wNzcvZGF0YS4wMDQKKzNhODk3YTY4NGRkMmIzMmI0ZmNjMjI3NTk4OGZkMDgwICAuL2Rpci0wMTgvZGF0YS4wMDgKKzNhOTRjYTg1YWM5OTRmNDdlODAxMDAxMWZjNWM5NTgyICAuL2Rpci0wMDAvZGF0YS4wMDYKKzNhZjhlZDljNTk5YjA2ZmYyZDk5ZmU1NTYzMzgwYzMwICAuL2Rpci0xMDMvZGF0YS4wMDMKKzNiMTkyMmZiNDNmYjIyMmI1NzNhOWY0NGJiODA1ZTBkICAuL2Rpci0wMjkvZGF0YS4wMDkKKzNiNzJiOGI0OTg0Y2Q1MWU2N2VkMDNmNTlkYTcxNmIwICAuL2Rpci0wMjMvZGF0YS4wMDQKKzNiOGE2NTY5NzMxNzhjNTgxNTQ1MWQ4YzY0ZmExZDIxICAuL2Rpci0wMDkvZGF0YS4wMDIKKzNiYTcyYzQ1ZmQwMTc3ZDQ4ZjZhN2E1MTIxZmFiNWE1ICAuL2Rpci0wMDMvZGF0YS4wMDEKKzNiZWJkOWI2ZmE0YWViOTc3MmNhMjM4ZmI4OGRkY2Y0ICAuL2Rpci0wNzMvZGF0YS4wMTAKKzNjOTljZTA4ODIzYzFjMWIyNGUxYzc3NTc0Y2I3YmRkICAuL2Rpci0wNzUvZGF0YS4wMDUKKzNjYTUwYTM3NGUwYzQ2Y2NjMzVjYWJhMDYyNDRhNTkyICAuL2Rpci0wNzMvZGF0YS4wMDQKKzNjZTBjNzM5MDgzY2MyMWFlNmYxOWViMzc3MjU4ZmIzICAuL2Rpci0wOTcvZGF0YS4wMDYKKzNjZWE0MjA1MmE4MzNhMWM2NWFiNmQzZGU3ZGI5NWZmICAuL2Rpci0wNDQvZGF0YS4wMDUKKzNkMDVjMWViYjdhZGJkNzJlYWUwNjRiMmIxNmVkNWJkICAuL2Rpci0wMTUvZGF0YS4wMDgKKzNkMzYyZDRhZjdhYzQ0MmIwYmU4YTZlMWVhZWQxMjIyICAuL2Rpci0wNTgvZGF0YS4wMDMKKzNkM2ZhNjllZjc4ZmY0ZWVjNzJjNGE3ZDYyZDQ0MzIwICAuL2Rpci0wNTcvZGF0YS4wMDEKKzNkYTEwMzExYWIzNWIzMTNiY2VhMGIzZGNkM2VjMzIwICAuL2Rpci0wODUvZGF0YS4wMDcKKzNkYTViZmMxZjEyMWRhNGEzNWM1YzFhMjZiZGYyODcxICAuL2Rpci0wODAvZGF0YS4wMDYKKzNkZmQyMDNiNjE2MDYwMTJlM2ZlNGQ3OTQwMjZkZTQ1ICAuL2Rpci0wNjAvZGF0YS4wMDgKKzNlYjgzNTM4NWJiYWE0YzEyZGM2NmFkNWE1Nzg3YWMzICAuL2Rpci0xMTAvZGF0YS4wMDMKKzNlYmYxNGJlYTVmNzc0ZWQ2OGRjM2FhZWNmZDRjN2E3ICAuL2Rpci0wODYvZGF0YS4wMDYKKzNlY2FiZmUzZDdlMGYzOWQxYjc3ZmViMzBiYjIxNDlhICAuL2Rpci0xMDgvZGF0YS4wMDYKKzQwMTcyMTdjMWZjMzYyMGYwMGE2M2JmNzQ1MWQ3ZDU4ICAuL2Rpci0wMTEvZGF0YS4wMDUKKzQwNTY1ZTZlOWVhZWJhOTUzOGUwNjhkN2ZjMjEyMDI1ICAuL2Rpci0wMzAvZGF0YS4wMDcKKzQwOTgwMzkwOGUxMjQ5ZDgxMTQyMWZkZjVlNzIyMWFhICAuL2Rpci0wMTEvZGF0YS4wMDYKKzQwOWYxYTVkZjMyYjQ4Y2M2MTViODBmODk1MzMzMTI1ICAuL2Rpci0wNzAvZGF0YS4wMDYKKzQwZGEyMzZkY2ZiMzc2MjhhNzM4M2YxMTBhMzRjYTkxICAuL2Rpci0wMTgvZGF0YS4wMDMKKzQxMWJjZWFlM2ExNjQ5NTU1MzNkYmFkNjE4ZGNkYjE5ICAuL2Rpci0wNDIvZGF0YS4wMDAKKzQxMjliMDUxNzNjOWRjODAwYzgxMWMxYzZhYjU1NGY1ICAuL2Rpci0wNDYvZGF0YS4wMDgKKzQxMmVmZGFiMDI2NzRhYjU5MWVlMDJjMWU1ZjMxZDBmICAuL2Rpci0xMDIvZGF0YS4wMDUKKzQxMzE1ZDNkNTc1MTA4YTUyZTBmYzViMDdjNTAzMTc3ICAuL2Rpci0wMzQvZGF0YS4wMDEKKzQxNDFhYTA1MzI1ZmZiNWM1MzAzOTFkODk5Y2QyYmNjICAuL2Rpci0wOTkvZGF0YS4wMDMKKzQxNzRlNjE2OWQ2NDUzMDdjYTg2NzUyMDVkNDBjODUzICAuL2Rpci0wMDQvZGF0YS4wMDkKKzQxYmNmZmI0ZTcxNzgwZGI4ZmVkOTgxODEyNGU1YjZjICAuL2Rpci0wNjMvZGF0YS4wMDMKKzQxY2U2N2IzNWVlNjRiOWU4NmMxM2VmY2ZkZDI2Y2UzICAuL2Rpci0wNTAvZGF0YS4wMTAKKzQzNGIwZmE1NzliMjU1NDMwMjE0ZGUzNTIxNTFkMTEyICAuL2Rpci0wNDEvZGF0YS4wMDgKKzQzNGIyNmYwMGMxNzVmMjc2YTU0MTA1MTcxMjUxZDUyICAuL2Rpci0xMDYvZGF0YS4wMDUKKzQzNWNhMjMzNTAzZWVmYmFjOTQ2ZDNjYTY1NGY5Y2MwICAuL2Rpci0wNzIvZGF0YS4wMTAKKzQzN2JhM2JiOGRiYjY3NWIxNThkYWUwZjU5ZDZhNDQ1ICAuL2Rpci0wNjEvZGF0YS4wMTAKKzQzYzQ5NTczMzU3ZWQ1M2RjYzJlMzY0Y2UxMTJiNjJkICAuL2Rpci0wNjEvZGF0YS4wMDUKKzQ0MDRiNmU0ZjU5YTg0MWZlOWEzYWUyZTQxYzRjNDg4ICAuL2Rpci0wNzEvZGF0YS4wMDAKKzQ0MjZhYTQyNGRkMjVjZTk3MmI2M2I1YzQ3Yjk1MzBmICAuL2Rpci0wOTAvZGF0YS4wMDYKKzQ0NDhkNmM4YjYwZDdhNGIwOGI1MzRhYzEwNTlkNjY4ICAuL2Rpci0wODkvZGF0YS4wMDIKKzQ0NzJiYTAwYjc3YTRkY2U5MDQ1ODljNDU3YjFiYzk3ICAuL2Rpci0xMDYvZGF0YS4wMDEKKzQ0ODYxZThlMTY0ZWE1MTcwOWMwNjlmYTI4NjEzNGM2ICAuL2Rpci0wNTYvZGF0YS4wMDIKKzQ0OTYxNDY4ZjA4ZWU4MGM2MTlhZGYwMTU0ZTk2YTlmICAuL2Rpci0xMDEvZGF0YS4wMTAKKzQ0YjcwMjgwNWE1OGYxNDQ5M2JhZTNjMmYyNzE2ZGM3ICAuL2Rpci0wODgvZGF0YS4wMDcKKzQ0YzdkOTUyZDViOTUyOGMxMjYzZWQxMWI1ZGMyYWU1ICAuL2Rpci0wMTIvZGF0YS4wMDAKKzQ0YzgyNWZiZjFkMjNmY2FiZjQ1ZTQyZTM5NTQyM2NkICAuL2Rpci0wODUvZGF0YS4wMDgKKzQ0ZTNlYzhmMTAyNTVkMTA5NzczZjMyMDRhNTAyMGU5ICAuL2Rpci0wMjIvZGF0YS4wMDYKKzQ1MDM0ZjEwNTI5ODdlNWQ5ZTJkNGJjMGY0NjNlYzdhICAuL2Rpci0wMjUvZGF0YS4wMDQKKzQ1MWVlNGY5ZTkyNjc2NWEyYzA3Zjg5YjFhMmZlMDc4ICAuL2Rpci0wMDAvZGF0YS4wMDcKKzQ1MmI0YjQzMjAwZDJlY2UzMDAxNmFlOTY0MTU3MThhICAuL2Rpci0wODQvZGF0YS4wMDkKKzQ1MzVmNWQ5OWFiZWUzMGZlMmUwZDY3MDk4ZGFiYzYyICAuL2Rpci0wOTgvZGF0YS4wMDAKKzQ1NjIyYWM0ZWUyODc1MmViNTZlYWNjZmI1NDYyYzUwICAuL2Rpci0wMTYvZGF0YS4wMTAKKzQ1OWJhMjRkMGUwM2E4MWY4ZjZlZDM1NzAwZjQ2NDYwICAuL2Rpci0xMDEvZGF0YS4wMDIKKzQ1YWYyZGNhMmVlYmM3MTRjZDBhZDYzZjc3Y2VhYWE2ICAuL2Rpci0wNDAvZGF0YS4wMDgKKzQ1YmUwNmZlNmU1MDliNDNiNmY2OGM1MjgzNWQ1NGI4ICAuL2Rpci0wMTYvZGF0YS4wMDMKKzQ1YzI1MGQ5NTcwNzE2MDEwZjQxNjFmMWJmZjVlNDUwICAuL2Rpci0wMjYvZGF0YS4wMDUKKzQ1ZWQ3YTVhNTQ1NzhkNTk4NTE1M2ZmNzAzMzBjMjI4ICAuL2Rpci0wMTEvZGF0YS4wMDgKKzQ1ZmU5ZmNhZTE2NWE5ZDg4YWZhMjdmYzNjOTMzNDA2ICAuL2Rpci0wOTUvZGF0YS4wMDgKKzQ2MWIwNzg2NTkwNTU2YTU3MjllMWUyMzUxMmRiNDllICAuL2Rpci0wMzcvZGF0YS4wMDUKKzQ2NDdjYjIwNDNmNjIzYmFlODg2MGU3ZThiNTg4MzRhICAuL2Rpci0wMTMvZGF0YS4wMDgKKzQ2ODE3MWNkZDMyYjBlOTRjOTZhOWJlMWYyOTg3MzhhICAuL2Rpci0wNDQvZGF0YS4wMDAKKzQ2OTBkZDMzZmZhMjMyOWU1YmM0NTZjYTI0ZWM3ZjcyICAuL2Rpci0wMzEvZGF0YS4wMDkKKzQ2Zjc1MTk4ZTQ0MGQ4ZGZiNDMyMDdlYjQ5NjVjMmM2ICAuL2Rpci0wMjgvZGF0YS4wMDYKKzQ3MTBlYWNkNmI2ZGY2ZmM2YWMyZGE1ZWJjYTk0NTQ2ICAuL2Rpci0wMDMvZGF0YS4wMDkKKzQ3MmNmMGVjZDFiMTY5MWJmYWE4ZDVmYjg2YzIxMzY2ICAuL2Rpci0wNzUvZGF0YS4wMDIKKzQ3MzQ0ZjNmM2YzYTgwNmZmNjM2MjY3ZWIzOTM2OWUwICAuL2Rpci0wODIvZGF0YS4wMDYKKzQ3ZDZjNzMwNGY5MjEwZWUxNmRjMmRjNWZjMmE5NWVkICAuL2Rpci0wNDgvZGF0YS4wMDUKKzQ4MjlmNjI5YjFlNTQ1ZjRjZjY4ZjUwZTlmNWU2MjA5ICAuL2Rpci0wMjIvZGF0YS4wMDUKKzQ4NGEyOTE2MzhmODIyNGViNDA0NDIzNTFmM2U3ZjQxICAuL2Rpci0wNTQvZGF0YS4wMDYKKzQ4ZTQyODkxYmYyZmUwNTM1Mzg4ODQxMjdiMGE1MGNlICAuL2Rpci0wMjEvZGF0YS4wMDEKKzQ5MDc3ZTU5NDNhMTAwYjY3NzFhNDRiZTA3NzA0YTRiICAuL2Rpci0wMTAvZGF0YS4wMDEKKzQ5M2U4NGJhZjZjMDJiMzgzMjQwNzFjODdmMGFmYjRjICAuL2Rpci0wMjQvZGF0YS4wMDMKKzQ5YTAyYzM0MWU1ZGU0YmZkOTM4ZWEwMzI2ZGRkODExICAuL2Rpci0wOTYvZGF0YS4wMDkKKzQ5YjExMjc5ZjgzZjIyZmY1MzcxMzRiYmNjODRmZjkyICAuL2Rpci0wOTkvZGF0YS4wMDIKKzQ5ZDZhYjg1YjUwYWI1Mzg2ZjgyODJhN2I5OGEyMDgzICAuL2Rpci0wMjYvZGF0YS4wMDIKKzRhMTExM2E4NjJlZWM2ZmMxYTI5YTc1YTk4NWYwMmNhICAuL2Rpci0wNDQvZGF0YS4wMDcKKzRhMjA5NTg1ZTQ0MjY1Y2IwZjM2Mzc1NjYwMmZjYTBjICAuL2Rpci0wMjcvZGF0YS4wMTAKKzRhM2E2NTQzZmVmYjU2MGYyMzgzNjE1ZDkwNWE2YTk2ICAuL2Rpci0wNTMvZGF0YS4wMDcKKzRhNGMxY2MzYzc3OGNhOGE1ZWNlMzUyOTU1OTFjNDIzICAuL2Rpci0wODkvZGF0YS4wMTAKKzRhOGEwZTBjNjhlZTk1YjU0MWJjZjM3Y2ViNmZjYTM4ICAuL2Rpci0wMzIvZGF0YS4wMDAKKzRiN2JlMTJmMmFmYWZhOTQyNjYzYWY4OGEyYTM0Nzk3ICAuL2Rpci0xMDcvZGF0YS4wMDIKKzRiZGY4YmYzMTU2OWEwNjg4MGI4NWUxNzY3MDNkM2M1ICAuL2Rpci0wMzgvZGF0YS4wMDkKKzRiZjQ4OWZmNjU2ZmVmN2JhMGY2NDNjZTY0ZjNhYmMwICAuL2Rpci0wMzgvZGF0YS4wMDgKKzRjMDEwZjkyY2ZkMDFkYjQ5MmI5ODFmMjM0YTY4NDM3ICAuL2Rpci0wMTUvZGF0YS4wMDkKKzRjN2JhZGZmYTM3NGRjMTE4YzgxZmYwZDA0ZjMxNmI0ICAuL2Rpci0wMzIvZGF0YS4wMDcKKzRjOGY2NTFjYWUxOGRiNDQ1YzhiYjAzZWZhZjU3NjIyICAuL2Rpci0wNTUvZGF0YS4wMDYKKzRjYjRjMWYxZDNiYmY0ZmRhNzY4Yjk3MjY2MTU2N2ZhICAuL2Rpci0wMzMvZGF0YS4wMDEKKzRjYmM2Y2MyOTZjODcwMjdlZDk2OTVjMDE4YWI1MzA3ICAuL2Rpci0wNjgvZGF0YS4wMDQKKzRkMDY0ZDQ5NTlhNzlhYmM4ZTNkMDczNjc1ZDZjMDAxICAuL2Rpci0wMDIvZGF0YS4wMDkKKzRkMGUxMzdhZTliZDZlMDExY2M5NzRkYWY0N2U1MTRmICAuL2Rpci0wMjAvZGF0YS4wMDcKKzRkZmFlNGE5ZWY0ZTg5NGIzY2Q4MjA5YTRhZTc4YmNlICAuL2Rpci0wNjgvZGF0YS4wMDYKKzRlMGY5MzIwNDdkYzMyNDRjMmZlMjE1MDAyZWE4YWQyICAuL2Rpci0wOTkvZGF0YS4wMDAKKzRlMjZlZjM3ZTljNWI2OTI1YWQyOTM4ZTliNWQ2OGYxICAuL2Rpci0wNDMvZGF0YS4wMDYKKzRlNDFmZjYyZTEwNTM1ODEyNWUwYjAzMzBhMDQyZmRjICAuL2Rpci0wMDEvZGF0YS4wMDcKKzRlNDVhNGI3Y2NiZDc5MDAzMjgzYjZlNDdkNjkzMjdjICAuL2Rpci0wOTMvZGF0YS4wMDQKKzRlNTQ4ZjM0ZDViYmViNTZmYTdlYjU4Y2I0MjIyODM3ICAuL2Rpci0wOTgvZGF0YS4wMDkKKzRlYjIwOTZlMTE1YjZlMmU3NjM5ODgxY2U3MzRjYTA5ICAuL2Rpci0wMTIvZGF0YS4wMDgKKzRlYzk2YWIzNDY2YzkwMTFjZDE1NTVhYmU2OTkyYWNmICAuL2Rpci0wMjkvZGF0YS4wMDIKKzRlYzliZDEwOGYwZGYwYjE4NmYwNzc3YjYwZGJlOTQxICAuL2Rpci0wMTEvZGF0YS4wMDMKKzRlZDUxMjVjMDZlNDE4OGE4ZTczMzY5Y2VjNzU4YjlkICAuL2Rpci0wMjgvZGF0YS4wMDEKKzRlZDZjMjFmNWI3NWMzMTMzNmNjNzg3M2U3OTVlYTRkICAuL2Rpci0wNjMvZGF0YS4wMDAKKzRmMTRjZmEyNjk4YWY0MjBhZTFhZTVlNDBjZTQ1YTVlICAuL2Rpci0wMzMvZGF0YS4wMDMKKzRmM2ZmNzU5ZWIxMGQ1NTg5OGYzYjE4OWM2YjhjODBkICAuL2Rpci0wMDAvZGF0YS4wMDkKKzRmNjZkMzVmYWM4MmFhMzUzMjJhZDNjYzViNjkwNWRiICAuL2Rpci0wMDEvZGF0YS4wMDAKKzRmODk4OTE2MDEwZWI4YWFkYjcyZTQ1NWQ1YjgyMWE1ICAuL2Rpci0wNTEvZGF0YS4wMDAKKzUwMjZmZDhlMDljOGRhZWYwYTFkYTk2YTI4ODMzMTUwICAuL2Rpci0wODEvZGF0YS4wMDUKKzUwMzg5YTRlNzNhOWE0NzJiNWE1YzRhODkxMGQ3ZTk2ICAuL2Rpci0wMTEvZGF0YS4wMDAKKzUwM2I1MTRjOTg0ZGFlOGZmNjlmOGJmZWZhODI0ZmI5ICAuL2Rpci0wMTYvZGF0YS4wMDEKKzUwNDhiZThjMmU4ZTc2NWRkYjYzYzNiMzcxODUyYjcyICAuL2Rpci0wNTMvZGF0YS4wMDIKKzUwNjc0MTk4NjlmYWVjNDNmODVjOGMzMjdjM2QzNzhkICAuL2Rpci0wMDgvZGF0YS4wMDAKKzUwNzI1YTU5NDFkMjZiMjk0NzY3N2JmZTBjNzc2MWZlICAuL2Rpci0wNjYvZGF0YS4wMTAKKzUwNzcxYzc2YTgyMTMyNDViZTQ5OWFkZjFkNDMxMWQzICAuL2Rpci0xMDAvZGF0YS4wMDQKKzUxMThhYzUzZDNjN2IzMTA3MjgzM2Y5NjZlZmE3ZTlmICAuL2Rpci0wNjQvZGF0YS4wMDYKKzUxNDRjNGRhMGUyYTM3NGQ5NWZmNDhhMzRjMzI5N2M5ICAuL2Rpci0wOTIvZGF0YS4wMDIKKzUxNGIwNzZlMGYwNTExZjIxNjM3OTk1MGYyNzE0ZjkwICAuL2Rpci0wMjQvZGF0YS4wMDQKKzUxNWVlNDYzOTM3Y2YyYTNmZjE1N2I3ODkxZjk2ZWI2ICAuL2Rpci0wNTIvZGF0YS4wMDkKKzUxNjI2NGU2Y2QzNzA1OGM2N2E2NzkxZDU5NDgyZGRhICAuL2Rpci0wODAvZGF0YS4wMDUKKzUxNjMyY2I3ZjQ0ZjViYWMzMGY1ZDZmNGE5ZWRlYzc5ICAuL2Rpci0wOTcvZGF0YS4wMDkKKzUxNmU2YmJiOTZmNjkyNjJkNTdmM2E2NjBiYzgwMWIyICAuL2Rpci0wOTAvZGF0YS4wMDMKKzUxY2U3M2IxMjMwYzA2ZDE1MzllNmRlNTQyYjYzMDA2ICAuL2Rpci0wMDcvZGF0YS4wMDYKKzUxZGJlMjRkMzYwY2EzOGZlYWMxYjQzNjc1NGY5YjRkICAuL2Rpci0wODkvZGF0YS4wMDcKKzUxZWFlZGJhZjMzOTg4YTQ4ZTZhZjY1YTViMTE3ZDM4ICAuL2Rpci0wMTYvZGF0YS4wMDUKKzUyMWRkNzczZmM0MTcxZGUxNTBiNWY4OTk1YTg4ZDIxICAuL2Rpci0wMDkvZGF0YS4wMDYKKzUyNjkzYmQ1NDA3YTI0NzFjZjUxNTZhZmVmZGFmODg4ICAuL2Rpci0wMjcvZGF0YS4wMDYKKzUyNzMxZTBhZDMwMjhjNTMwYmI0ODAyYTQ3NTRjNDA4ICAuL2Rpci0wMDgvZGF0YS4wMDEKKzUyZGRmZjk3YjMxNmE0OTRmNDczN2UwNjE0ODUwZjU3ICAuL2Rpci0wNjkvZGF0YS4wMDIKKzUzMDE4NDRjOTY4ZDA1MjU3ZjFlNjUzMWU4Y2UwZDU0ICAuL2Rpci0wMDMvZGF0YS4wMDgKKzUzNzYzZmQwYTg5NGI4ZTEyMWMyODFjZWUwMWY5NDAyICAuL2Rpci0wNjgvZGF0YS4wMDUKKzUzZDQ1MDdhMmRmOGQyMjA3NmQ4MWRhNWMwMTAwZWJjICAuL2Rpci0wMDgvZGF0YS4wMDIKKzUzZjVjYzA5ZDU3YWY2MGZlNzI1NTllY2EyZjFhNjAzICAuL2Rpci0wMTEvZGF0YS4wMDcKKzU0NjY2MmM2MjgyYjVkNDIyNDEzZjUzMDM3ZGYwZDU0ICAuL2Rpci0wNzMvZGF0YS4wMDEKKzU0ODJiMjUwN2RjOTRjOGVkZGU4NDBiNjE5YjM0OTQ0ICAuL2Rpci0wODEvZGF0YS4wMDIKKzU0YTZiNTE5MmE0ZmIyZDFmMmIyNjg2NmQxM2MwNWMyICAuL2Rpci0wODgvZGF0YS4wMTAKKzU0YzNhNTMyODI3NmRlMDkyOTE5YmY5NjZlOWRkN2FkICAuL2Rpci0wNjYvZGF0YS4wMDMKKzU0ZTc4NDE5YmE3Y2YyOTFlMjZmMTE2MGJjZDA5NDY5ICAuL2Rpci0wMjgvZGF0YS4wMDcKKzU1MjQxZDI0NzRiMGJlZTcwZjUwZTc2MjlmYmEzYTEwICAuL2Rpci0wNzAvZGF0YS4wMDcKKzU1M2U2NWNiM2VlMGE5YTU1NzI4MjZmZjQ0MDE0ODdjICAuL2Rpci0wNTQvZGF0YS4wMDIKKzU1YWRmNTE4MjgwYTU0NTMyZGU2YzMzYzI1OGE4ZTZjICAuL2Rpci0wODAvZGF0YS4wMDgKKzU1YjhkNTdmM2JlZWM2YTgwNzUyMjFmMDg3NTJmZjQyICAuL2Rpci0xMDIvZGF0YS4wMDQKKzU1Yzc2YmRiODJmOGZhNGUwZDIyZjllNDFhZDNhZDBhICAuL2Rpci0wNzUvZGF0YS4wMDEKKzU1YzhkMTNmNjgyYTYyMzA2YzhkMjk3NDZiZDdlNmZhICAuL2Rpci0wMjYvZGF0YS4wMDkKKzU1ZDU5ZmNiNDljMDdlZjE2NWIzMTA4NjIxZjA4YWIwICAuL2Rpci0wNzEvZGF0YS4wMDEKKzU1ZDY2ZDc0MjAxYTNhM2U1YjJkNTNmOWZiYjUyYmJjICAuL2Rpci0wMTkvZGF0YS4wMDkKKzU1ZDg5MWFkYTUxZWRjNWRlYzM4MzdjYmE3YzVmMmZhICAuL2Rpci0wNDEvZGF0YS4wMDYKKzU1ZGU3YWVkNGM2OWUzMjM3ODM1MmU2ZGQ5YTNlNWNlICAuL2Rpci0wNTcvZGF0YS4wMDgKKzU2OWY2NDU5MjBjYjFhNTQwOTNkZTU0N2NkOTJmMzM3ICAuL2Rpci0wODUvZGF0YS4wMDMKKzU2ZWYyZjc0Nzc4OWFhMmFiMWVmNmM3OTQ3YjUwZWQ0ICAuL2Rpci0wNjcvZGF0YS4wMDAKKzU3MWFkYTRjODMyYWE5ZWQ2NjQwMzM1MmIwNmEwN2RmICAuL2Rpci0wMTYvZGF0YS4wMDYKKzU3NGNlMjI3M2Y0ZTE3Y2Q2NzM5YTE3NzJkNDNmYjY3ICAuL2Rpci0wOTAvZGF0YS4wMDEKKzU4N2U3NDA0MzJkZTU0OTMyYjQ5ZjRiMGIxYTlkOGNkICAuL2Rpci0wNjcvZGF0YS4wMDgKKzU5MjI2MDMyZWYyZWZiOTkxZmZmYzVkMmQyYTY3ZGQwICAuL2Rpci0wOTgvZGF0YS4wMDYKKzU5MmUyOTI3ZTA0NjhhZjJhODZiYjEwZTJhNWNiZmZjICAuL2Rpci0wNjgvZGF0YS4wMDcKKzU5NGYxYTIxYjk4Y2E0YThiODk4MTE2NGY0NmVkZDBhICAuL2Rpci0wMjMvZGF0YS4wMDYKKzU5YTNmNmZmYjY0MzJhNzY4ZmZjZmMzOTBiYTBkNWU0ICAuL2Rpci0wMDUvZGF0YS4wMDcKKzU5YTU3NTFhNDQ0Nzg3ODlhYTA4ODUzYTdmYmNiNGZjICAuL2Rpci0wMzUvZGF0YS4wMDQKKzVhMDM0YTJjZGIxYjM5N2I0MzVjNzExOWE3MjVlNjIyICAuL2Rpci0xMDgvZGF0YS4wMDMKKzVhYWJkODEzY2U3MjUxNDZmNDdiYzczZDk0NDliNTBlICAuL2Rpci0xMDcvZGF0YS4wMDUKKzVhYzQ0NWMyYjQ2YzUwNDk3ZGViMWUyZGYzOTg3NjQ2ICAuL2Rpci0wNjUvZGF0YS4wMDYKKzViNjJjMTRkNjA3YzM5Mzg4NWNkMGE3N2I0NDVhMGUzICAuL2Rpci0wMTQvZGF0YS4wMDgKKzViOGI0MDUwNDkyNTY1ZDg2NjFhNDQzMWM3ZDlmMGYzICAuL2Rpci0wMTAvZGF0YS4wMDkKKzViYmFjNGVjNjdmYTg0ZDQwZDhhOGE0YmE5ZDAwZDMxICAuL2Rpci0wMTUvZGF0YS4wMTAKKzVjMDI1MmNkZDdjZDBkMTQ0NTgzYzY3M2UyNmE0Y2M2ICAuL2Rpci0wNDIvZGF0YS4wMDIKKzVjMTg0MDU4MGRmMGE1MjgwNTkwODhlNDVmMjNmODM3ICAuL2Rpci0wOTEvZGF0YS4wMTAKKzVjMjQxNzUzNDZkYzQzMTcyMGE4MzNkYTQzNDhhYTc4ICAuL2Rpci0xMDUvZGF0YS4wMDQKKzVjMmU0YjE4YmI2ZTc4ZWEwOWI5NThmMDNiYTBlNzUwICAuL2Rpci0wNjgvZGF0YS4wMTAKKzVjNGM0MTZjZWUyMDBlZTY3YmVjMjAyOWNiNTZiNmRiICAuL2Rpci0wNzcvZGF0YS4wMDIKKzVjNTM1ZTE0YjdjZDQ0OWE0MDg5M2VlNmEyMmY2MGUxICAuL2Rpci0wMzEvZGF0YS4wMDYKKzVjZDYzMWYxNjZhMjk3MGY3YWViODk2MGFjZTBmOGVmICAuL2Rpci0wODIvZGF0YS4wMDAKKzVkNmE4MjNjMjQ0NjBiMzQzYzZlMWNiNzRmOWJkYjhlICAuL2Rpci0wMzgvZGF0YS4wMDAKKzVkODY5OTA1ZmRiZDQ0MDlkODdkNDg0ZGI4Y2ZkN2VlICAuL2Rpci0wNTgvZGF0YS4wMDYKKzVkZTk0YzBkZTNjNDY4OGI1NmIwZDJmZDJhODkyYjk4ICAuL2Rpci0wMjYvZGF0YS4wMTAKKzVlNTc0MmVmM2EzZTRmNDM4NGVjZmJkOTY2M2ExOGViICAuL2Rpci0xMDUvZGF0YS4wMDYKKzVlNWE2MDdhOWI2OTQ1YTFmNGQxNzkyMjQ2NmY4NmViICAuL2Rpci0wMjgvZGF0YS4wMDgKKzVlODI0ZTBhZGQ5MDU0OGI1MGU4ZGVmMGUwZWExNWFmICAuL2Rpci0wNTEvZGF0YS4wMDQKKzVlZGFlZWJhZjIyMDU2NGMwZjlmYWU1M2NhYjNiOGFkICAuL2Rpci0wNjQvZGF0YS4wMDIKKzVmMmViZmMwODEwMTcwMzA1NjA5YWFhMTdkM2I2MWEzICAuL2Rpci0wOTYvZGF0YS4wMDUKKzVmNDk1MTE2Y2FiZDI0MzE3Y2ZmODllMWI5NDZmOTNiICAuL2Rpci0wNjgvZGF0YS4wMDAKKzVmODJjMDNhZWUwNGJiYzdiMTNiYmU4MWQ4NmYzOWQyICAuL2Rpci0wMzYvZGF0YS4wMDEKKzVmYjZiNzQ5YTA2YTFjZDhlOWU4YjI5MzgzYmZiZjRkICAuL2Rpci0wOTAvZGF0YS4wMDgKKzVmYzM2OWJlZjcyZjM3OTg3ZWIyMjg5OWU4YWJlODE2ICAuL2Rpci0wNzYvZGF0YS4wMDAKKzYwMmRmZDdkYzEzZGNhNzJlNWNkYjJhNTVkMTBlMmQ3ICAuL2Rpci0wMDUvZGF0YS4wMDYKKzYwM2M0YTJiMjU5MTUxNGZlM2Y4OTg0N2ZlNDVjOWI5ICAuL2Rpci0xMDEvZGF0YS4wMDcKKzYwNjk3OTlmY2UwMzg0NTI4YjViNmYyOTc4YTU5MjNjICAuL2Rpci0xMDEvZGF0YS4wMDEKKzYwYTE2ZjRlYmE1ZmNhYzM1YTQ0OTY5MmU0NzVjY2FlICAuL2Rpci0wODgvZGF0YS4wMDMKKzYwYTMyNzYzMjM0MjVkMzk0MmMzOGE5ZDkxNmZiY2FjICAuL2Rpci0wMzkvZGF0YS4wMDgKKzYwYTY1OGQ1MmY1OTM4OTc4OWNiY2ZjYWFiNDFhMWQ4ICAuL2Rpci0wNjMvZGF0YS4wMDgKKzYwZDZjNzlkZjQ4MjAyNjM3MDgyYzIyMTNkNGNjZmRmICAuL2Rpci0wNzUvZGF0YS4wMDQKKzYwZDg3ZmIxZGE3YmFhNDM5ODIyMjY5ZmQwNTQ2N2RjICAuL2Rpci0wMjgvZGF0YS4wMDUKKzYwZjkzOWE3NTAyNjRjZTU5NzAwMmE0YzVhYTM4YjBjICAuL2Rpci0wMTIvZGF0YS4wMDcKKzYxNzI0YmY5ZDg4MjczNGQwMGNiZjIxNzQ1ODZjZjFlICAuL2Rpci0wODEvZGF0YS4wMDAKKzYxYmFjYTlkNGYwYzBlMWFkNDQwZjUxNmVlZWNjZjI0ICAuL2Rpci0wNDAvZGF0YS4wMDIKKzYxYmQwZTY0OGJjMTkxMWQ0NTJkZTg5ZDRlZGNhYzgxICAuL2Rpci0wMzgvZGF0YS4wMDYKKzYxZTEzYWRjZWRmYTJkYzk3YzZmYjEzMWM0ODE0M2FmICAuL2Rpci0wNzgvZGF0YS4wMDkKKzYyMTAyZTBiYjZlNGEwMzRkMGRmMTkwODY0ZDMwMzRiICAuL2Rpci0wNzgvZGF0YS4wMDUKKzYyNGZlODY5NjRhODg2NmFhMDcyY2E5ODk0NGQxY2ZjICAuL2Rpci0wNzIvZGF0YS4wMDUKKzYyOGEzYWM0Yzg3M2ExNjlkOGEzZmE5ZGY2NjE1ZjRjICAuL2Rpci0xMDkvZGF0YS4wMTAKKzYyZTEwODIxZGMyZjgwYjYwOGY3ZDc4OWZlODM5MjNjICAuL2Rpci0wNjAvZGF0YS4wMTAKKzYzMzcyNmNkNGI0MTE3OGM1NTA2ZGQyYjJlYWUwMjgxICAuL2Rpci0wMTIvZGF0YS4wMDUKKzYzNmYzYjRiYmM1ZTBkOGI5MDQyZjFkYmIzNTA3OWFiICAuL2Rpci0wNzQvZGF0YS4wMDgKKzYzN2RiODk0MjU5NzY1MjEwNmJkODRkMWMxNTM0MWU0ICAuL2Rpci0wOTcvZGF0YS4wMDQKKzYzZWIzM2U4ODI0MTIxMGMwNTA5NDJjYTk3YTU3NmVjICAuL2Rpci0wNDAvZGF0YS4wMDcKKzY0MDQ2Yjk4MmE1OTQ0MjgzOWEyZDA5Yjc0NzBjZjUyICAuL2Rpci0wNTMvZGF0YS4wMDgKKzY0MGI1NTBlMTgwZDdjNDJjMmQ0NGYyZWQyZDdhNDNmICAuL2Rpci0wMTUvZGF0YS4wMDUKKzY0MmFlZDY5YTI4YTk0YmMzZmE0ODhmYzY1MjdiMjBmICAuL2Rpci0wMTYvZGF0YS4wMDkKKzY0YmY3MGExY2Q5NDVjZjQ1OWEwN2VjNDYzMWVhZjBjICAuL2Rpci0wOTgvZGF0YS4wMDEKKzY1NGViMzQyNmEwY2ZjY2JmNTFkMTQ3ZjI5ZjhlYjRlICAuL2Rpci0wMjIvZGF0YS4wMDEKKzY1YmQ4NmNhZTEwMDgzMGY0MjBjYjU1ZGFjMmUxNWE0ICAuL2Rpci0xMTAvZGF0YS4wMDUKKzY1Y2VkYzU4ZjBjNDFjOGZkYWU0MjIwMzViMzc1MGI4ICAuL2Rpci0wOTAvZGF0YS4wMDIKKzY2NjQwMmUxMzRlNmZmNzBjYmEwMjljOTg1MmIwZjk3ICAuL2Rpci0wMTUvZGF0YS4wMDAKKzY2NzU0OGZkNjg4MTBlMjA5ZWE5N2ZlN2IzZmNhMWY2ICAuL2Rpci0wMTIvZGF0YS4wMDMKKzY2NzVkNTA4MmVhNTEzM2Y2ODMxNDk5Yzk1NzM5NTk0ICAuL2Rpci0wMTEvZGF0YS4wMDEKKzY2OWZmYzE2M2I2NmZjM2FiYWM2NjExNzU4NjEzYTVkICAuL2Rpci0wODkvZGF0YS4wMDQKKzY3MWUyYjIyODA2MzhkOGUxZDNhOGY2YjFkN2VhOGU3ICAuL2Rpci0wMzIvZGF0YS4wMDQKKzY3NWRlMDNiYWY4ZGI2ZjgwOTYyZWQyNzhiNmU3YTExICAuL2Rpci0xMTAvZGF0YS4wMDAKKzY3YThlZjI1NDIwMDllNzU1ZGY1YzlhYzZmODUzZDgwICAuL2Rpci0wMjYvZGF0YS4wMDAKKzY3YmQzNGEzMGEwNWViMjZiM2Y2MmEwNzVjZDg1NmY0ICAuL2Rpci0wMzgvZGF0YS4wMDIKKzY3Y2ZmYWFkYTk4MDVhOTBiMTEzNTU0MDJlNjM1Y2FlICAuL2Rpci0wNTYvZGF0YS4wMDcKKzY3ZGRmYTliNDE1MDczN2RlZmY0OTE0Y2IzNWZkNzEzICAuL2Rpci0wMjcvZGF0YS4wMDgKKzY4MjBiMzQyNDQwNTgzZjUxNzIyYjllYjYxYjQ4ZDYzICAuL2Rpci0wODgvZGF0YS4wMDQKKzY4MzM2YjY4MTEwMmUxNmU2NGY4OGE5NWNmNDcwYjcyICAuL2Rpci0wMzgvZGF0YS4wMDcKKzY4M2FhNzliZDNjZGNkYWM3YWExMGFkMWUyYjBlMDI4ICAuL2Rpci0wMzMvZGF0YS4wMDAKKzY4NTY5OTFjYWE2OTRlODNjYWY2YzBmY2EwMjMzYjgyICAuL2Rpci0wOTIvZGF0YS4wMDgKKzY4YTQ2MDU1MTAzZjZlNzMzZTVjY2ViNzA3ZjZkZDBmICAuL2Rpci0wMDQvZGF0YS4wMDMKKzY4ZTllNjUxZGM3YTU2NGRlMjE0YjI4MmI5YjVjNzU3ICAuL2Rpci0wMDgvZGF0YS4wMDcKKzY5MDdkZmUxOGEzNzY0MzkxNjc0MmJhOTY0YmRhYjVkICAuL2Rpci0wMjcvZGF0YS4wMDUKKzY5M2Y5YzhiMjBhOGE5Mjc5YzRkNDNjODBjM2ZhOTg0ICAuL2Rpci0wOTcvZGF0YS4wMDgKKzY5NGU5OWYzYjVkYzU2YmEwNjJmZmZlODM4MWY4NzMxICAuL2Rpci0wMDAvZGF0YS4wMDEKKzY5NWNkYzViYzdiYTQ2ZTZhYTM4OTUwZGFhYjcxNjM2ICAuL2Rpci0wNTAvZGF0YS4wMDUKKzY5NjdhZjgxNTY1NzNlNDQyYTFiNmJkNTZkMGE0ODkzICAuL2Rpci0wMzUvZGF0YS4wMDMKKzY5YzFhNTJkNTM4YTY3YmYyYTdlNWMzMzM3OTUzM2I4ICAuL2Rpci0wMTcvZGF0YS4wMDAKKzZhMWJkNDFkYTYyZDI2MGY3NDZlMGIwMWM3YTEzNDAzICAuL2Rpci0wNTIvZGF0YS4wMDAKKzZhNzFhYTE1NWQ1OThiNWFkMmZkNjc1NmRhM2MyNzhhICAuL2Rpci0wOTgvZGF0YS4wMDMKKzZhODU1OTZmODE1MjJjMzhjOTU4OTEwYTRjMDQ4N2Q3ICAuL2Rpci0wNjAvZGF0YS4wMDQKKzZhYTNiYmI0NWI2MjMxNTEzZTBiZWU2MmU5YTEyYTliICAuL2Rpci0wODAvZGF0YS4wMDMKKzZhZTE5ZTM5Zjc4NTdmMTc2ZjAyMWE4Y2ZlNzY4YTY2ICAuL2Rpci0wMjMvZGF0YS4wMDIKKzZhZjcyNTViMzMxODYwN2IxZDVhNzg5NGQ4Y2FhYzI1ICAuL2Rpci0wODIvZGF0YS4wMDQKKzZiNzgwZTdmNzJiZTNkZjlkYjcxMjU4MGFjYWZkMGZhICAuL2Rpci0xMDIvZGF0YS4wMTAKKzZiN2NhZGNiZjg3NWVlNWFkNTNiNDcyOThhYmZhYWUwICAuL2Rpci0wODAvZGF0YS4wMDEKKzZiODUzM2RiZmZlYmI2ZWYyYzFmZDQ4ZTFkZjZlZDE5ICAuL2Rpci0wNTAvZGF0YS4wMDQKKzZiYzllMzIwM2UyNzM4ZWUyMjViZTZhNDVkYTZkMDc3ICAuL2Rpci0wNTkvZGF0YS4wMTAKKzZiZGZiYWI4YTRiMjBkNzFhY2E1YWVjNjZjZjRjMDdmICAuL2Rpci0wNzEvZGF0YS4wMDIKKzZiZTNjMzVmMjhmNjg4NjE4NDBmMDM0NWY3MGZmNTExICAuL2Rpci0wMTEvZGF0YS4wMTAKKzZiZmE4M2Q0N2Q4OTVhYzA2Zjc0YWJjZGZlMjRkYmQ1ICAuL2Rpci0wNjcvZGF0YS4wMDkKKzZjMzI0ZTE4NWNmMjQ2MjNiOGVhYjdkYWEwMTBlMjIyICAuL2Rpci0wMjMvZGF0YS4wMDgKKzZjMzJmM2Q1ZDI3MGJmNTA3ZjU3ZWRmMjhhYzIwMjE0ICAuL2Rpci0xMDUvZGF0YS4wMDkKKzZjOGNiNTZiZDgxZTMwZWJkYjAxNjdlYTljMzdmMTRkICAuL2Rpci0wMDEvZGF0YS4wMDUKKzZjOTNhYWM0NWQ5ZTAxOWU3YmVlYzRhNzA4YTMwMzNmICAuL2Rpci0wODcvZGF0YS4wMDgKKzZjYWY0MTRkMDRjMzQyZjgyOTg4NzU3MDk5MzU3OWQ3ICAuL2Rpci0wODkvZGF0YS4wMDMKKzZkMjIyOWEwMjlmZTY0ODE1OTA0MTNmMmRiOThhYTAyICAuL2Rpci0wMDIvZGF0YS4wMDUKKzZkMmEyNGRmYzgzZWM1MDY5MmExMzliYjJjNGM2MWQ2ICAuL2Rpci0wODIvZGF0YS4wMDEKKzZkMzhkZWFiOWEwOTZhMDQ4N2U5MzE4MjY1ODM3NTg5ICAuL2Rpci0wMjIvZGF0YS4wMDIKKzZkM2EyZjE3ZGYyYzcyMTA4NTFhMmMwZDUyMzkzYzBjICAuL2Rpci0wMjMvZGF0YS4wMTAKKzZkNzVkZjM3NmM0OTEzNzE5OTBlYjFkZTAwNDIyN2VhICAuL2Rpci0wNjcvZGF0YS4wMDEKKzZkOTMxYjAzMmM5NzdiZDQ4ZWVjZTM5MDBjYjc1Y2JjICAuL2Rpci0wMzEvZGF0YS4wMTAKKzZkZDIyYjlkZGE2ZDYzNDdjMWJkOWFmZWM0NzkzYTRmICAuL2Rpci0wNzAvZGF0YS4wMDIKKzZkZDc4MTFhMGM2ZmM0ZDA3NDJkNDY3MDcxNDVhM2U1ICAuL2Rpci0wMDQvZGF0YS4wMDQKKzZlMzJhNzM1OTMwNzgzN2U4YWM5ODIzZGU4MjM1NTVjICAuL2Rpci0wNDYvZGF0YS4wMTAKKzZlNWNjOGY1ZjhjMmEwN2I5ZGU0YThiNzgxZDViNWU1ICAuL2Rpci0wNTAvZGF0YS4wMDYKKzZlODQzNzMwZGY2NjNlNTY0N2RlN2FjNWJkNDVhOWU0ICAuL2Rpci0wNzQvZGF0YS4wMDEKKzZlZGQ0NjJiYzIxY2Y2NmNiY2JhNDAwNjY5YThiYjVlICAuL2Rpci0wMDcvZGF0YS4wMTAKKzZlZTA5NzM3ZTkyYTc5NmQ0OTRmZjg1NzIxMTg1ZGEzICAuL2Rpci0wNzkvZGF0YS4wMDEKKzZlZjZlN2Q4NjU4MGY1ZDBmNzczNmJiNTdlOTNmNGIyICAuL2Rpci0wNDgvZGF0YS4wMDkKKzZmMzE0YWRhNjQwN2NjMzJiMWYzZThkOTAzYjVjOWI1ICAuL2Rpci0wMTcvZGF0YS4wMDgKKzZmNDlkYTAxMjAxMTllZmE1ZTRmODlkZTE5NWI0ZDJlICAuL2Rpci0wNDgvZGF0YS4wMDAKKzZmNjkyNTcyMjdhMjYwMTI3YTY1YTEzMzUwOGIwMzE5ICAuL2Rpci0xMDkvZGF0YS4wMDUKKzZmODZjOWM5ZGRmMzFmZmY0MWE2ZTQ4YjUyZTA1YTA2ICAuL2Rpci0wNzgvZGF0YS4wMDMKKzZmOTU3OTQ5OTczOTA1ZTQwYmVlYTZlMzNlNDY1ZDBhICAuL2Rpci0wOTIvZGF0YS4wMDYKKzZmYmUzNjQ0YmUyZGUzNDIzMjA0ZDc5YmNlMDZjNDBmICAuL2Rpci0xMDYvZGF0YS4wMDMKKzcwMjk2YzkzOGMxMjIwYmY3MjYxOTdmYzUyMWM1ZGEyICAuL2Rpci0wODMvZGF0YS4wMDYKKzcwNDdlMWI4YTYzNTFkYTM1MDQ5NzdhNGM5NmVkYjcyICAuL2Rpci0wOTcvZGF0YS4wMDIKKzcwNTFiZTgxYzIyYmYwZTM5NGU4ZDg5YTZjYzc4YTIwICAuL2Rpci0wMjgvZGF0YS4wMDQKKzcwNzdjYWM2NDZhNWIzN2E0MTg2NjRkMzY2ZGU4ZDJhICAuL2Rpci0wODYvZGF0YS4wMDgKKzcwYzkxM2JiYzM0NTRkM2FmMWQzYjk3YTA4NTFiOTAzICAuL2Rpci0wODUvZGF0YS4wMDAKKzcwZGJiMGRjYWYyNjEyYjQ5NTJiMzQxNjUxYWQwYzFlICAuL2Rpci0wNjUvZGF0YS4wMDcKKzcxMjE0ZmVjZGVlNzg2NzVhZDk1YjQ5MmRmNDAxN2VmICAuL2Rpci0wNDAvZGF0YS4wMDQKKzcxNzFjN2ExNzk2Y2JjMjM1NWM2YWRiMDNjMzEyZGFhICAuL2Rpci0wMzIvZGF0YS4wMDEKKzcxODQxZjkxYWIxYzg3MzkzOGZmNGI0ZjAxOGIyMjIxICAuL2Rpci0wMTQvZGF0YS4wMDIKKzcxYTIyOTQ0MTJiMzAyOWYyMzZhMjU0Y2IzMzVhYzk4ICAuL2Rpci0xMDMvZGF0YS4wMDgKKzcxYTY5OTRlZjJiZjgzNjhhYWEyMzYyYmNmY2NkY2E3ICAuL2Rpci0wMTkvZGF0YS4wMDcKKzcxYjRkYTkxYmQ1MTQyZDMzNDJkNjdkMzIyZmVmMmU1ICAuL2Rpci0wODQvZGF0YS4wMDcKKzcxZGJmYzkwNTdmY2E1NGE1YTE4MzQ0Njc3NWUzMmI4ICAuL2Rpci0wMTYvZGF0YS4wMDgKKzcyMTRmY2ZmMDJkMDc0MzIxMGQ3NTRhMzdmYjk4YjBjICAuL2Rpci0xMDIvZGF0YS4wMDgKKzcyY2UwZmYzZDc4ODM3Njc1YzUzOGU2YTAyYTY3NTU3ICAuL2Rpci0wNjgvZGF0YS4wMDMKKzcyZWRjMjhlNzFjMjRhOGMwNGZhYWEzYzI2NDVkOTM2ICAuL2Rpci0wNjQvZGF0YS4wMDMKKzcyZWUwYjdmMjM2ZDBjMWRlMTcxYzg2MThhOGU4YzdmICAuL2Rpci0wNzgvZGF0YS4wMDgKKzczMmIxZTBmMGFiNTY4OTg3OTM1ODliZWYyNWYyOWYzICAuL2Rpci0wMTcvZGF0YS4wMDYKKzczYmNiNDljYTVjYTYwOWNiYjY1MTQ3Y2ZkNDA1ZjNmICAuL2Rpci0xMDUvZGF0YS4wMDEKKzczZmQyOGY5MDk5YzM5ZDZkMmM5MjM1NWMwNjBkNmVkICAuL2Rpci0wNjgvZGF0YS4wMDkKKzc0Mzc0ZGVjODc2NTE1MWY4MjcwMjA5ZGNhNmZjNWM2ICAuL2Rpci0wOTgvZGF0YS4wMDcKKzc1MDJhZTA1ZGI2NWEzMjQ1OWEyYjk3OTk2NDE5MDY1ICAuL2Rpci0wNDYvZGF0YS4wMDUKKzc1MmU2ZTAwM2IyYTYzZWU1MzI5ZDk2MjlmYzExZTM3ICAuL2Rpci0wNjYvZGF0YS4wMDcKKzc1M2I1YjkyNWEzNmVmMjY4NzRiNTNkZjJlYmZhMDYxICAuL2Rpci0wNzUvZGF0YS4wMDYKKzc1M2UwNjUxNDExNzZmZjU5NmJmMmUxYWU2MWVlN2ViICAuL2Rpci0wNTEvZGF0YS4wMDcKKzc1NjQzMmQ4ZjcyYWFkMDM4ZTU0ODViYmUyNGJhZmFmICAuL2Rpci0xMDYvZGF0YS4wMDAKKzc1NjVkMTY3NDE2NGEwMTVjNDJhMmY1MDExY2MwODdmICAuL2Rpci0wMDAvZGF0YS4wMTAKKzc1YWViM2VhNGZiZDFkNTA0MzBiYmUwNGUyOTMyYjE2ICAuL2Rpci0wOTMvZGF0YS4wMDEKKzc1YjcxM2Y3ODVhYzRhOWIxZDA4ODQyMWYyM2VkMWRkICAuL2Rpci0wMDgvZGF0YS4wMDYKKzc1ZGY3ZjM2ZWVmYTQyYzM2MzhiYzViNmE5N2Q1NWNjICAuL2Rpci0wNjIvZGF0YS4wMDYKKzc1ZjRhY2VkY2NlM2RlODlhMDViNGMwOThiNGY4MTE4ICAuL2Rpci0wODQvZGF0YS4wMDAKKzc2MWM4ZTQxNWRmZWEyMjZmNTNiZTI5NTc3ODBiYTY5ICAuL2Rpci0wMDAvZGF0YS4wMDAKKzc2M2M3ZDQxMjEwYTBjYTk3NWViOTlkMGUxN2Y0YjIwICAuL2Rpci0wNTgvZGF0YS4wMDcKKzc2NTI4NDY5MzJiZDU0N2M4MTRlYTg2NDYyODkxZmU1ICAuL2Rpci0wMzYvZGF0YS4wMDAKKzc2NmJlMmEwMDRjZWEyZjg0ZjlhZWI0MGViOWU1MTI0ICAuL2Rpci0wMDYvZGF0YS4wMDQKKzc2NzJhM2E2MzFkOGNlYmFlZWIxMGI0ZWVlZTJmMzc0ICAuL2Rpci0wOTcvZGF0YS4wMTAKKzc2N2QwYzQ3NmM5NDY4ZDYzZTA4NzFhZjJjZWYxNzM4ICAuL2Rpci0wNjAvZGF0YS4wMDkKKzc2YzllZmVmYWE2MGVlM2ZiYTc4NTk3YjMzYzVmNTc1ICAuL2Rpci0wOTAvZGF0YS4wMDQKKzc2ZTBhMTgxOTZlNmI5ZThmMTg2MDc5MWQ1ZTcwMTQ2ICAuL2Rpci0wNzUvZGF0YS4wMDgKKzc3MWIwNWZlYTViYTZkYTRjZGJhODQ2ODNjMDcwYzk1ICAuL2Rpci0wNTMvZGF0YS4wMDYKKzc3NTg2YjBjMjExYWU5MDZiZTkwOTRkMDQ5MzcwNjc4ICAuL2Rpci0wMjEvZGF0YS4wMDMKKzc3YzMwNmQ4NTBiZWQ3MGFmOWE0MzNhNjg1ODIwNDMxICAuL2Rpci0wNTAvZGF0YS4wMDAKKzc4N2Q3ZTA4OWIyNTIwZmIzMjM4MjVjMGYzNGYxMDE5ICAuL2Rpci0wNDcvZGF0YS4wMDQKKzc4OWFlN2U5OWEzYTNmZjQxNjg4ZDBkYTBiYWE1NDkxICAuL2Rpci0wNDkvZGF0YS4wMDgKKzc4YmMwMjAxODhhNTkyN2QxYmRkOGEwMDkxNmU3YmRjICAuL2Rpci0wNDcvZGF0YS4wMDMKKzc4ZTRhMjlkODY2ZWVlZTZmMTZkYWMyOTIzZmY5MDM5ICAuL2Rpci0wMjAvZGF0YS4wMDIKKzc5YWRmYjNkMmE3NDg3OTMyNTExYTVhNDI3OWI2MWQ0ICAuL2Rpci0wMjcvZGF0YS4wMDAKKzdhMjdhNjY2ZTI3Mzc4NDEzNjcwNTZhOWQ4ZmQ5ZDVjICAuL2Rpci0wNjAvZGF0YS4wMDIKKzdhNTNkZGRiNzBhZWU1OGU1NjYxNDI3MjQ5ZWU3MDM4ICAuL2Rpci0wNzYvZGF0YS4wMDgKKzdhOTVhOTRmYTAyZWZmYTA5ODk1YjRjZjlmODA2ZmE4ICAuL2Rpci0wNTMvZGF0YS4wMDkKKzdhZGVmNjA0MTY3YzJhNzAzMWQxMWE2MTg3NmY1ZTNmICAuL2Rpci0wNTYvZGF0YS4wMDYKKzdhZmNjMThmZGVlZDI0YTRiNjU4MmYwY2I4YzhkNjNhICAuL2Rpci0wNzkvZGF0YS4wMDcKKzdiODA2YzBhM2JkMTI5NzNjNTU0MGE0YTY2MWVhNjk4ICAuL2Rpci0wMTAvZGF0YS4wMDAKKzdiOTFkMTBkYzlhNzM1MDFlMjY5NWZkMDNlZmNhOGE1ICAuL2Rpci0wNjQvZGF0YS4wMDQKKzdiYTY3ODFiOWY2YTIxMDJmNmVlNzdlNGJjZDY3ZTdkICAuL2Rpci0xMDIvZGF0YS4wMDcKKzdiYmM2YTNkMDhjOGFhZmU0OWYzODI4NmVhMTkwNzM2ICAuL2Rpci0wNTQvZGF0YS4wMDgKKzdiYzBmZjhmNThiMDUwZTM1ODhhNzBlYTVhODk5YzJhICAuL2Rpci0wNjkvZGF0YS4wMDcKKzdjMjk1NWNiZThkODYzNWI0M2YwNjdiNzgyYThkMjJhICAuL2Rpci0wMTMvZGF0YS4wMDIKKzdjOTZlZWViNjBhMDczOTI5MDE3ZTg4MzAyODdmN2FkICAuL2Rpci0wOTQvZGF0YS4wMDcKKzdjZWRmODk4YThmZTBkY2Q5ZTZlMmZkOThhNzRhYjhiICAuL2Rpci0wODIvZGF0YS4wMDUKKzdkMzI0MjViN2MxMDQ2MDRmOTBlZjUwODFhMDY2ZDY1ICAuL2Rpci0wMTUvZGF0YS4wMDIKKzdkYmM0ZDBiNWUwOTJlYzA3ZDcxODIxZDA2Y2VjMTUwICAuL2Rpci0wODYvZGF0YS4wMDMKKzdkZWFiZmRkYTY4YzA5Y2E3MjEyZWEwNTY1OWU5OTI3ICAuL2Rpci0wMTcvZGF0YS4wMDQKKzdlMjZjYzMwNjEyMzU2YTM0M2IzOWYwMjI5YWMzZDQ2ICAuL2Rpci0wMTkvZGF0YS4wMDMKKzdlN2MyYmFmMWNjNzU2MmI0MDdmY2ExMDg1YzA1ZDE2ICAuL2Rpci0wNzQvZGF0YS4wMDQKKzdlOWIwZmY2NmVmODBiYjUyNTc4MzFmN2QwNDk2MWI1ICAuL2Rpci0wMjAvZGF0YS4wMDgKKzdlYmU4MzZkODQxYjYzNjYyZWVhZDZiZWI0MTJkNGJjICAuL2Rpci0xMDcvZGF0YS4wMDAKKzdmNDllNzk4NTFiN2I0NWNkMmQzMzE3NWZhMWIyOTY5ICAuL2Rpci0wODEvZGF0YS4wMDEKKzdmNjY3ZmJkM2NjM2YyODU5MzJhYWY5MmRhMTg5ZDFjICAuL2Rpci0wNDQvZGF0YS4wMDQKKzdmODRhZDIyMjY5NTJkYzNhMmNhZDM4YzNlZTI5NzBjICAuL2Rpci0wMDcvZGF0YS4wMDEKKzgwNDUxNTExOTJiNDlhOGRhNGQyYzhlNjc2MmNjYmEyICAuL2Rpci0xMDcvZGF0YS4wMTAKKzgwNDhlMGNiYTIyMmNjMTY1NTc1ZWFjZTM5MjJlNWIwICAuL2Rpci0wMzkvZGF0YS4wMDAKKzgwNDlhYTc1ZWU0Y2IxYjRjM2JiYTU5ZGY2N2U0N2RkICAuL2Rpci0wNjgvZGF0YS4wMDIKKzgwOGFhZDgyNGI5ZTJlNDY1YmNhNDFlZmQxZjUyOTU0ICAuL2Rpci0xMDAvZGF0YS4wMDUKKzgwOTQwZmFkNzVjNzI0YTk5MDc2YzM3Njg5MjA4M2Y1ICAuL2Rpci0wMDgvZGF0YS4wMTAKKzgwOWFkOGY4N2IxZDM0OTUzODQ3OWViODI1NWZiZDk1ICAuL2Rpci0wODcvZGF0YS4wMTAKKzgwYjEyNjMxMzI4YjBkYTE1ZGVmNWFiN2ZmNTkyM2ZhICAuL2Rpci0wOTQvZGF0YS4wMDIKKzgwYjNhZGJlYWY3NzUyZjRiMjg2OTBiZjM0Mjc3YTk3ICAuL2Rpci0wODIvZGF0YS4wMDkKKzgxMWYyMjIyYmYzZTMyNjFlZGRmYTdjNWIzZDA4MWI5ICAuL2Rpci0wNDYvZGF0YS4wMDkKKzgxMjAwODQ2NGU2Mzc4ZjQxZDY5OTJiNWZmY2JlYjg0ICAuL2Rpci0wNDYvZGF0YS4wMDMKKzgxNzc0OTI3OTk1ODQyODhiNmQwOTEyZGRjM2M1Nzg4ICAuL2Rpci0wMTAvZGF0YS4wMDIKKzgxZmQxMzg3ODQwNjU0NGQzOTZmYjBkOTA3YzlhNDFiICAuL2Rpci0wNDUvZGF0YS4wMDYKKzgyMDBiZGMxMDQ4MGMwZjMyZTJmODNjZDY4NTE1ZjdlICAuL2Rpci0wODQvZGF0YS4wMDYKKzgyMDQwOGFjZTM0OTMyNTBkOThlODY3NGI4MTg3YTkxICAuL2Rpci0wNTIvZGF0YS4wMTAKKzgyMTE3MmU1NGU0YWZkNjJmNzA1ZDIyNjMzMWM3ZmI1ICAuL2Rpci0wODUvZGF0YS4wMDUKKzgyNjgxMmEzNjEwNWZjZGY0ZDU1MDBhNmRmMGYwOGQyICAuL2Rpci0wODUvZGF0YS4wMDkKKzgyZTE2MGNiNjhmY2Q3MzFmZmQ4Yzk4MmViNjY5OTIyICAuL2Rpci0wMzQvZGF0YS4wMDAKKzgyZjJiZGNiNDcyOGUzYWQyYWQ0MjY4OGM3NzYwNTFmICAuL2Rpci0wMDYvZGF0YS4wMDgKKzgyZmQwYzdiNzIzOTk5MjJjOTE1ZDU2ZmY2OTY2ZjA5ICAuL2Rpci0xMDUvZGF0YS4wMDcKKzgzOTYxY2EzYTdmZGNlN2VjNzA2OTZlMjE3NDY1M2M3ICAuL2Rpci0wODYvZGF0YS4wMDQKKzgzOTkxZDU3M2JiZDY0MzQ5M2M5NGZlNzZmY2E3N2ZjICAuL2Rpci0wMDYvZGF0YS4wMDcKKzg0NDU1ZTI3OTUyNzY4MmRjMTY1OTdjY2Q2NGJhMjYwICAuL2Rpci0xMDMvZGF0YS4wMTAKKzg0N2NlOTFjNGYzNzk2MGJmZjVkMzQwMjBiNDJlZDUyICAuL2Rpci0wNjkvZGF0YS4wMDMKKzg0N2U5NDE1NGZlMzlmY2I0MDk3NDkwMWZkMDViNTlkICAuL2Rpci0wNTcvZGF0YS4wMDkKKzg0YTdjZTM4YzYyMDJmZGI2Yjg5OGRmMjg1NDQ2NjYzICAuL2Rpci0xMDYvZGF0YS4wMDgKKzg0YWJhMmY1NjE4MTNhOWJhYzBiNGMwNjYyMDE1MmFlICAuL2Rpci0wNTEvZGF0YS4wMDEKKzg0YzU3NWJjMzlkNmMwYzkxNjAwYTJkZDllNDUzNjk4ICAuL2Rpci0wNzgvZGF0YS4wMDIKKzg1MTJlMDJlNDQxMDNmNjc2N2IzMzQzNDVkYzczNTc1ICAuL2Rpci0wNDkvZGF0YS4wMDMKKzg1MjBiZGNkMzY1ZGJiZWE1NmI0OGUxODFlODkyZTZmICAuL2Rpci0wMzUvZGF0YS4wMTAKKzg1NjE2YzBkYTY2MmYzOTZkMzAxY2IxZTZiZGQ3YmQ0ICAuL2Rpci0wMTMvZGF0YS4wMDQKKzg1ZWM4MzZlNjdlNmYyYmFlZWMwMWY2NjVlYjIzZTI5ICAuL2Rpci0wOTUvZGF0YS4wMDMKKzg2MDMwNjdjMTkzZTRhMWMzNTc4MDFiMzgxNjQxZGZiICAuL2Rpci0wOTIvZGF0YS4wMDMKKzg2MTFhNjZhYjAxMTAzM2IzYzkwNmJhN2I4OWU2YzJkICAuL2Rpci0wMzcvZGF0YS4wMDAKKzg2Mzc4YzJlYTM5NjU4NTI5N2YxNjU1MzFlNmM3ODkwICAuL2Rpci0wMjUvZGF0YS4wMDAKKzg2NjQzMGI1ZDM5MTFjNzM2Mzc2ZDdlNjYwYTgxZjAwICAuL2Rpci0wNDIvZGF0YS4wMDcKKzg2YmMzNjJkZGMwY2VjZGI0OGU0ZWY0ODllZmU5ZGQ5ICAuL2Rpci0wMDUvZGF0YS4wMDgKKzg3MmE3M2JiY2UyYzg0OGE1ODRlOTM4MmQ2MmE3YThhICAuL2Rpci0wOTAvZGF0YS4wMDcKKzg3NGM5M2UwNWY0ZjMyYmVmZjUwNTFjNGFmODZiOGU0ICAuL2Rpci0wNzIvZGF0YS4wMDAKKzg3NmEyZGQzZDYzMGQ5ODE0MzIwMzY5Mzg3NGY2MGQwICAuL2Rpci0wOTEvZGF0YS4wMDAKKzg3YTRhMTNhMTViMTc1YjhiOTQzY2VmZGZlM2U3NGU5ICAuL2Rpci0wOTEvZGF0YS4wMDgKKzg3ZGNlZDgyNGU4NDEzZTAyY2RiZjUzOWY4ZGUwNjFiICAuL2Rpci0wODYvZGF0YS4wMTAKKzg3ZjU4ODFkNWM0YTg5NDA4NTMwN2FhMTBmZGIxMDVhICAuL2Rpci0wNDEvZGF0YS4wMDkKKzg3ZjhlOTJjOGYxYTFjODQzMzM5ODgwOGFiYWY4MTY1ICAuL2Rpci0xMDkvZGF0YS4wMDMKKzg4MTI0MzcxNmJhNGUzYzVmZjNkZDM0MmMyMWMwNDBiICAuL2Rpci0wODIvZGF0YS4wMDMKKzg4OGRhM2QyNjY1NjQ0MmFhMWMxOWUyZTQ3N2U1OWRlICAuL2Rpci0wODMvZGF0YS4wMDkKKzg4ZmExYmQ4N2ZhMzFkODUzZTM2YmQ1MDM1MjYyMjdkICAuL2Rpci0wNDMvZGF0YS4wMDUKKzg5MjIxZDAxYzg5NDI2MmU5N2IxNWU3ZjU3OTFlMTRkICAuL2Rpci0wMTQvZGF0YS4wMDEKKzg5N2VkM2Q5ODRiZjVmMTM2OGZhYmY0OWYzYjBmMTJiICAuL2Rpci0wNzIvZGF0YS4wMDEKKzg5YTUwM2Y1ZDFhMWQ5Yjk0ZWFkZjE0YTNkN2E3ZGQ1ICAuL2Rpci0wNDUvZGF0YS4wMDAKKzg5ZTYwODFjMzVjZGQzYjg2YTgzNmNmZjUxOTcxMTg0ICAuL2Rpci0wNjUvZGF0YS4wMDkKKzg5ZjBhY2Q3NWNhOTYzYmVhYjBjYWJiZmZkNjI4NzI0ICAuL2Rpci0wOTEvZGF0YS4wMDEKKzg5ZjQ5OWIwZGE0MGFmNzY4MDJmMGUwM2RhNzdmNmY2ICAuL2Rpci0wNDAvZGF0YS4wMTAKKzhhMDEwYjE0ZWY2NzZkNDMwNGVlZjczYjFmMWY3OGUyICAuL2Rpci0wMDQvZGF0YS4wMDcKKzhhMTI4MzQ5M2VlNjBiNDk0YTU4ZTZhY2U3NDUyOTA3ICAuL2Rpci0wODkvZGF0YS4wMDkKKzhhNjJhODc0MmVkNzgwMjMwNDNkNGVhZWM1YjFlOTA0ICAuL2Rpci0wOTgvZGF0YS4wMDIKKzhhNmIwYzRmMmMwNGU5NmQ1MzE1ODY4OTk2ZmNkZGE3ICAuL2Rpci0xMDgvZGF0YS4wMDQKKzhhODJmZjQ5ZTcxMGJkODg0NTA4NjdhM2Y0NDBiMGRhICAuL2Rpci0wNzUvZGF0YS4wMDkKKzhhODdiNGUwMGM1MzFjZDU3N2EzOTAxMjM5N2EwZjg3ICAuL2Rpci0wNzkvZGF0YS4wMDAKKzhhYjkzYmZkZDllNjJmM2Q2ZGEwZGJiYzUzZWJmZmExICAuL2Rpci0wNzYvZGF0YS4wMDQKKzhiMDliN2Q2MmEzNzM1NjgxZGEzNjM3MTY1N2UxNGYzICAuL2Rpci0wMzkvZGF0YS4wMDcKKzhiOTNmMDRiNTJiZDFmYjA3ODFmOWQ0NmFjN2EyOTBmICAuL2Rpci0wMjUvZGF0YS4wMDIKKzhiZDU2NTBiMGU3ZDRmYmY2OTczMjE0YzJmNTA3ODAxICAuL2Rpci0wNDcvZGF0YS4wMDIKKzhiZDViZmFjMTA2YzY4Y2ZmYjNhMDk4YzRkMTU3Y2YxICAuL2Rpci0wNjMvZGF0YS4wMTAKKzhjNGZmOGY3ODBhOThlMzkyOTVmNTAwMjc4YTFkODg3ICAuL2Rpci0wOTUvZGF0YS4wMDkKKzhkMTExMGY5YWNjYzgwNGZjNDhiYjJlZTRhZjZiYmYxICAuL2Rpci0xMTAvZGF0YS4wMDkKKzhkNDI2MWU4MDM1MjA3MGQyODAwZjUyODkzMmUzN2Y0ICAuL2Rpci0wNTUvZGF0YS4wMDAKKzhkYjA4ZjY2ZGVlMTlhNTQ4YjNlNmViM2ExNTYwOTgwICAuL2Rpci0wOTQvZGF0YS4wMTAKKzhkZjc1ZmU3MTBkZGYyMzE2ZGQxM2Y4MDY1ZTRiZjQxICAuL2Rpci0wODcvZGF0YS4wMDEKKzhkZjgwMjc5ZjJiMjA1MWQ2NWJjZjFmN2E3ZGVhN2Q5ICAuL2Rpci0wOTcvZGF0YS4wMDAKKzhlNThhNDJjZjM4MzE3M2MwZGNkNjY5NDQwMmJjOTQ2ICAuL2Rpci0wMTQvZGF0YS4wMDMKKzhlOTkzMzkzNmUwMjYxNTk1MzRmNDUxY2QwNTQ4ZDRiICAuL2Rpci0wMjkvZGF0YS4wMDEKKzhlOWU0NTIxOGQxN2FlMWFhYzU3ZDI0YmE0NDE3ZDljICAuL2Rpci0wNzAvZGF0YS4wMDAKKzhlYWIyYjFkMWVhMmE1OTI2ZWE1ZTI3NjU4NzU0M2M0ICAuL2Rpci0wMjQvZGF0YS4wMDAKKzhlZTY1ZTgwZGEzNDQ5NDI1ZDZjOGNlZGM3YmU3MmZjICAuL2Rpci0wOTkvZGF0YS4wMDEKKzhlZjY0ODc1YTliOTk2OTg2OWNiMGYyNWEzMmZhMGZkICAuL2Rpci0wMzkvZGF0YS4wMDQKKzhmN2I4OGFmYTJjZmFlMGEzMzdlMWUzMzBlOTUwN2FhICAuL2Rpci0wNzUvZGF0YS4wMTAKKzhmZDRlYWI3NjhjNGI1OTA1ZTQxNjcyNWRlNDIzZjU1ICAuL2Rpci0wODcvZGF0YS4wMDYKKzhmZmM5MjdkZjg2ZGQ0YzVlMzk2NmU5ZDA1NjZlNDQ5ICAuL2Rpci0wMTQvZGF0YS4wMDAKKzkwNGE2ZDFiMjliNmIzNDZkMTdmZTU1NDhiOTBjYjZiICAuL2Rpci0wNTkvZGF0YS4wMDUKKzkwNGY2MThmZTg0OTYwZjRkNDk1YTJjYmY0OTRhMTc5ICAuL2Rpci0wMjYvZGF0YS4wMDgKKzkwZTY0M2EwZWFkMjRmMTE0NDliZTJjMTNkNzM5YTUzICAuL2Rpci0wMTcvZGF0YS4wMDcKKzkxMzYxZmM5NGExN2Q2YmQwMDFkMTM2MzU1Yjg1MzU0ICAuL2Rpci0wMjQvZGF0YS4wMDgKKzkxODUwYWEzODMxYTgyMWQzNzVjNDE2Y2YwNDhkODMwICAuL2Rpci0wMTIvZGF0YS4wMTAKKzkxZjE0OTlmOWZjMjFlNzQ4Nzk0NTk2MDBhODI1NjU0ICAuL2Rpci0xMDMvZGF0YS4wMDAKKzkyMDdlYzg3N2MyZmMwYzg4N2FkYmU4MWI5N2Q3MTYwICAuL2Rpci0wMjMvZGF0YS4wMDkKKzkyM2ZhZTFhYWQxZjdmMDg3ZjdkNTZiZTBhOTQ5YWJiICAuL2Rpci0wMjQvZGF0YS4wMDcKKzkyNGU2MDhlMTZkMTg1ODlhOTkzMmZjNzZhYjdkYWQwICAuL2Rpci0wOTAvZGF0YS4wMDUKKzkyNzk2ODgyOGQ1YzMwNjU4MDQ0NjZjMGI2NTRkZmI0ICAuL2Rpci0wNTQvZGF0YS4wMDUKKzkyOTdjOGUzMjA5YWQ2YzNlOWViODAzZDUxMTQ3NTNjICAuL2Rpci0wMzAvZGF0YS4wMDgKKzkyYjM4ODcxNzkzNjI1NTdhOTA2M2FkZjU0OGIyYmQ3ICAuL2Rpci0wODEvZGF0YS4wMTAKKzkyZjY2MmYxNmMzNzY4ZGI1ZWVkYTNiNjBmNGYwYWRlICAuL2Rpci0wMjIvZGF0YS4wMDMKKzkzYjdjNGQ1MzczYTM2NGI4ZTNlMjZkMDc3Yzk4MGM3ICAuL2Rpci0wNzkvZGF0YS4wMDIKKzkzZWIxNWI1M2U2ODc5ZWJhOWUyM2MyZjYzNmU3M2E2ICAuL2Rpci0wNjEvZGF0YS4wMDAKKzk0MGJlZTFkMzMwMDAyY2YyMzRhMzM4YjYzZDA3OTExICAuL2Rpci0wNjgvZGF0YS4wMDEKKzk0MTcyZTkyNGE3Y2RkYTYyOWYyMDJlMTE1ZTg2ZTk2ICAuL2Rpci0wNjIvZGF0YS4wMDcKKzk0NDQ5MjIwZmNhNmE5NTg5Mzg1N2E0NTllZWVlZWM2ICAuL2Rpci0wMDAvZGF0YS4wMDUKKzk0NGE2MGM1ODIwODg5YWM2YzIwNDM3OGFiOGVjNjg0ICAuL2Rpci0wNjUvZGF0YS4wMTAKKzk0NjExZjk3ZjMwYjMyMTZlZTMwNmE5N2VlMDYzMjg1ICAuL2Rpci0xMDYvZGF0YS4wMDIKKzk1YzRmNDRkYmM2NjJhMWI4MGYyMzFjMDNhMTgzMWEyICAuL2Rpci0wMzEvZGF0YS4wMDUKKzk1ZjM0YmY1NjA5NzdhYWJmNTZiMjM3NGJmZDgwMWZjICAuL2Rpci0wMzEvZGF0YS4wMDAKKzk2MGIzNDMzYWRkYmU0MTk0NDU1MDZlNDA3MGU3MDRjICAuL2Rpci0wMzEvZGF0YS4wMDQKKzk2ZmNjNWRmMzM5Y2FmZjE0MzExYTI0YTgxMTM0NzE0ICAuL2Rpci0wNDIvZGF0YS4wMDYKKzk3MDZkZDdhN2FlOTc5Yjg1ODE1NWRlYThkNTRjYjRlICAuL2Rpci0wMzMvZGF0YS4wMDgKKzk4NzNmY2FhYWYxMjlkOTIyY2IyOWMxMGRkNzY2NWExICAuL2Rpci0wNjYvZGF0YS4wMDIKKzk4OTM0ODEyM2RjZDA4ZWUzM2MzNTFlOTE1NmRkNTgxICAuL2Rpci0wMDUvZGF0YS4wMDkKKzk4YWYyM2FjNGRjODkxMzNjNzQ5Y2I3OTY4ODc4ODU5ICAuL2Rpci0wNDEvZGF0YS4wMDUKKzk4YjcyZmExNTI2ZTIwYzE2YWIwMjU0NmI2NTZhOTI1ICAuL2Rpci0wNjkvZGF0YS4wMDUKKzk5MDE5ZTVmZWVhY2VjZDYyOGI3OWIxZWI3ZTE2MWY3ICAuL2Rpci0wNzEvZGF0YS4wMDgKKzk5MTRiZWFjMTQ2ODE0OTNmN2E3YWExOWEwZjFiZDhlICAuL2Rpci0wMzUvZGF0YS4wMDAKKzk5M2MyYzFiNjRkNGQ5MDQ5ZGY2ZDVkN2NiNTZjNGM3ICAuL2Rpci0wNTEvZGF0YS4wMTAKKzk5OTQ5MGJjMzNlYzJhNTZhYjIzMGI2ZGE4YjFjMWQxICAuL2Rpci0wNDUvZGF0YS4wMDIKKzk5YjcwYTNiNTIzNWViZmQxZGU2ZTA5NmQ1NGFiNDFmICAuL2Rpci0wODMvZGF0YS4wMDgKKzk5YjgxYjEwMjQxMjk5OTFlMTliMDEwZWUwZjEyOTllICAuL2Rpci0xMDgvZGF0YS4wMTAKKzlhMGUwY2I5YTJmODlmYThjODg4YTczMTBiNDkxYWEzICAuL2Rpci0wNzQvZGF0YS4wMDIKKzlhMmQ2M2MxYjQ3YWEzNWEwZDY0N2QyNzhkN2IxM2IzICAuL2Rpci0wMjAvZGF0YS4wMDUKKzlhNzdiMDE3Y2I3MTQ2NDhiYjMzODg1MzcxN2FkN2U4ICAuL2Rpci0wNTkvZGF0YS4wMDYKKzlhZjMwNTJkNzllMDMyMzRkNTE3OTBiY2EzZjYyYWJkICAuL2Rpci0xMDMvZGF0YS4wMDYKKzliMTMwOGQ5YTcxZjNkMDdkZjIwYzY0ZWU5NDg1MjE1ICAuL2Rpci0wMDkvZGF0YS4wMDQKKzliMjQzZTc5MjMyMDdmZWViYTQ0ZWY4OTY3ODM1MjEzICAuL2Rpci0wMjkvZGF0YS4wMDYKKzliMjVjYzc3ZWMzODg0YjliMTE1ZjM0YTYxYWE2YjFhICAuL2Rpci0wMzYvZGF0YS4wMDIKKzliNDQ3NWQ2OGQ5OWIwZDhiNWI3MjRiMTYxZWMzODU4ICAuL2Rpci0wNzkvZGF0YS4wMDMKKzliN2JmYTNkZmIxMjIzYzA4NGE3MzJhNDYwMDEwYmE2ICAuL2Rpci0wMjcvZGF0YS4wMDQKKzliZDIzOTNmNDE2NzEwNGM2MDJmNDYyY2ZmOTczYzlmICAuL2Rpci0wNTgvZGF0YS4wMDUKKzljNDMwZTZkYjhmMTUzMGRmY2FiNDBkZTFhZTMyMGVlICAuL2Rpci0wNTgvZGF0YS4wMDAKKzljNDhmZjBlOWZjMjEzY2IyYjQ4M2RiMjMwZmViMzQ1ICAuL2Rpci0wMjIvZGF0YS4wMDkKKzljOWEzZWZmNTQ5ZGVlODhhMzVjNTg5ZGRkOWQyMThiICAuL2Rpci0wMTgvZGF0YS4wMDEKKzljY2QwNWFjOTZmZTkxOTJhNmUzYzliODY0ZjUxY2M1ICAuL2Rpci0wNDMvZGF0YS4wMDIKKzljZjMzYTdjODkxZDZjNzQ3MjI2N2Q1N2NhNmNiYzY2ICAuL2Rpci0wNDYvZGF0YS4wMDIKKzlkMjFmYjMwYWZhYWVmNzlhZWNiMGRhOTgxNWMzNDdiICAuL2Rpci0wNTAvZGF0YS4wMDEKKzlkZjJjZDlmOTVmZTk5N2M4ZGU2MmM1NDgxZDNjOTNmICAuL2Rpci0wMzQvZGF0YS4wMDMKKzllM2I4NDMwYzdjYjg3MDgwM2VjMjg2YzEzNzE4YjAyICAuL2Rpci0wMDMvZGF0YS4wMDMKKzllYTljN2Q2YjlmYjMxODhiYTA4MjExMzZjMjI4ZTdlICAuL2Rpci0wOTUvZGF0YS4wMDQKKzllZGY5YTA1NjA3NTIwMDhjZWFhYTRhZTNlZDU3ODVlICAuL2Rpci0wNzEvZGF0YS4wMDUKKzlmNTQ5NjU2NDY2ZjcwZjYyMmM5ZGYxYzRjY2M5NTIxICAuL2Rpci0wMzMvZGF0YS4wMDUKKzlmODA5NTgxNDBkNjViNWUwZmI5YTUyMTY3YjFjNDIyICAuL2Rpci0wOTkvZGF0YS4wMDYKKzlmYTdmOTJhMjFiYTUwMDE0MGFmZjE3ZDg3NjJhNmFhICAuL2Rpci0wNzYvZGF0YS4wMTAKKzlmZDNiMjgwNGY1OTMzNzRkZWY1YTMwMmE4YjQ1MGM0ICAuL2Rpci0wNzQvZGF0YS4wMDUKK2EwMzM5ZGUyYzAxM2YyZDAzZjc1NmE4MTQ0NjM5ODk3ICAuL2Rpci0wNjEvZGF0YS4wMDkKK2EwYTI3MGNlMzc5ZmQ0ZDk5MWQ5Y2E3MjhkNjNiMzZhICAuL2Rpci0wMTIvZGF0YS4wMDQKK2ExMjFiMzBmYTBhZDUwYjRlODI5YTQ1ODc5Y2M1ZWRmICAuL2Rpci0xMDEvZGF0YS4wMDYKK2ExOGI2OGM3N2NlOTBiOWJkYWNhMWFlNTUyODIzMzdkICAuL2Rpci0xMTAvZGF0YS4wMDQKK2ExZTJjYWQ4ZTk3YzgyZjMyNTM0NDJjZmY5OTdiY2YwICAuL2Rpci0wODAvZGF0YS4wMDAKK2EyMzhlMjUwNzIzYjQxMTAxZjA3Y2ZjYTE3ZjExNTY0ICAuL2Rpci0wNDUvZGF0YS4wMDgKK2EyNDZjNWM2YzFmODIzZWI0MTNhZjM3ZDM0YjNiZmZmICAuL2Rpci0wNzcvZGF0YS4wMDgKK2EyOWMyNGUyMWU2ZjYwNzU3MGY3NmU1NjI1ZDNkYzk5ICAuL2Rpci0wMzIvZGF0YS4wMDMKK2EzNDFkOGIxNTJiZThkMzQxNzgyZGI1YWIxZDdhYWJmICAuL2Rpci0wODQvZGF0YS4wMTAKK2EzNWVjODZiMzFkNzM4NDkxNDc4ODBlZWE0Mjk3ZmQwICAuL2Rpci0wNjMvZGF0YS4wMDEKK2EzODkxY2Q2ODU1YzM0NmIwN2Y2ZDFjZDM4NWM0OWI1ICAuL2Rpci0wOTQvZGF0YS4wMDQKK2EzZDk0MTBlZmIwYjFmZjY2MDBiM2Y2Mjc5NzFmZDE2ICAuL2Rpci0wNDIvZGF0YS4wMDEKK2E0MDU4NzEzOGNlZDA0YjIwZmIyNTI3MzU0NjA2ZjJjICAuL2Rpci0wNzYvZGF0YS4wMDYKK2E0Njk4MTBlNGQxZGFhMTNmM2U5YjJlNmY2OGI4ZDEzICAuL2Rpci0wMDQvZGF0YS4wMDYKK2E0YzEzZGE5MGNiY2YyZjE2MjRhNGIyYzJhOWJiMjMzICAuL2Rpci0xMDkvZGF0YS4wMDgKK2E0ZDRkNDkyMTc5ZWIyZGNhN2NlMzA1NzFjOGVmM2JhICAuL2Rpci0wMDcvZGF0YS4wMDQKK2E1MmRhMGFhMWE3YWNkODc3OGZlNmY0MGYwZjhjMGE5ICAuL2Rpci0wNjEvZGF0YS4wMDQKK2E1NTRiOTA2OGVmNDA2Y2EzNzJmOTE4OTMwNGE4MmI3ICAuL2Rpci0wNTkvZGF0YS4wMDMKK2E1ODFlNzVmODRmNGFjNmFkOWU3MGU1YjZiZWE1M2E0ICAuL2Rpci0wOTUvZGF0YS4wMDYKK2E2MDU1ZDAwNDdkODE0YTMxZjMyZTQxODU0NDFkNGExICAuL2Rpci0wMDcvZGF0YS4wMDcKK2E2MDc0MWUyMDliNzI2ZmRhNGU5NjliZjM0NGY0YWVhICAuL2Rpci0wNjkvZGF0YS4wMDEKK2E2Mzk1YTliY2Y1MzUwNmNlZjFjNmI2MmNjMzdmMmQ0ICAuL2Rpci0wMDMvZGF0YS4wMDAKK2E2NTA0MDk1NTg4NGQxYzZlNGQ1NGFkOTI5OWEwOGUyICAuL2Rpci0wNjIvZGF0YS4wMDEKK2E2NTQ1NzU1MGQyMzgwN2IyMWMxYWZhOTNlOWQyMWVmICAuL2Rpci0wMzUvZGF0YS4wMDkKK2E2NmUyYWVmODAyZjkyMzg1YmYzOGIwMWNlOGIwYzgwICAuL2Rpci0wMzEvZGF0YS4wMDMKK2E2OTUyYzgzZjZhNDA2ZWQxYmFhMmIxMjUxYmNjZmZmICAuL2Rpci0wMzIvZGF0YS4wMTAKK2E3M2FhMjZmNjJkZTk5ZTk3ZTY5MTM3OWZmNjRlODM4ICAuL2Rpci0wNTUvZGF0YS4wMTAKK2E3M2FkNmI4NDdhZjgwYjY2ZjRiMzdiZjc1MmUxMDk3ICAuL2Rpci0wOTYvZGF0YS4wMDIKK2E3OGQ1M2U2MTdkMzFkMjlkMDdhMWJjOGQ0NjNlNDU2ICAuL2Rpci0wOTYvZGF0YS4wMTAKK2E3OTAzMzM0ZGFiMmM5OTQ4YTk0NjBkOTRmZmQyN2ViICAuL2Rpci0wODIvZGF0YS4wMDIKK2E3OTU3Y2QxYmZiMzhiYjI2NWMyZDkwOWJmNGYwYjIxICAuL2Rpci0wMjYvZGF0YS4wMDcKK2E3OWRmNjE1MmRhNGI3OGVjZTY2M2Y0Yjk1ZDIwY2QzICAuL2Rpci0wNDEvZGF0YS4wMTAKK2E3YWE3ZjAyMTNkNDFkYjliN2EyZDYzYzkwZjc3NzcyICAuL2Rpci0wNTMvZGF0YS4wMDEKK2E4MTExYTQ0MzkyNDRlZDlkZTZlMGM1OTQ0ZDdmZmExICAuL2Rpci0wMjkvZGF0YS4wMDgKK2E4MmIxZTc2OWMzM2ZlNzAxMTk0ZDk1ZmNjZjAyOWM4ICAuL2Rpci0wMTAvZGF0YS4wMDQKK2E4NTczY2E4NzE5OTEwZDNlYTI1ODM5Y2Y1MjlkNDQxICAuL2Rpci0wOTEvZGF0YS4wMDkKK2E4NWM2NjI5ZGE1M2QzMmEwZWQwZDNjOGIwYTI2YzcyICAuL2Rpci0wNzcvZGF0YS4wMDUKK2E4YTEzN2RmMDRiODdhYzczNmUxNTg1MTVlYzcxYTQyICAuL2Rpci0wODcvZGF0YS4wMDAKK2E4YTdhYzg3YzQyNmFhMDQ3YjU3M2IyZGNiYzRhMGU2ICAuL2Rpci0wNTgvZGF0YS4wMDgKK2E4YzAzOGEwM2Y1YmMyZTZiNTJmMDJiOGM1YzUyY2IyICAuL2Rpci0wNTQvZGF0YS4wMDkKK2E4YzRjMWY5MjQxMzNlYzBjODM2MDkwMWJjZjZjMTk5ICAuL2Rpci0wOTQvZGF0YS4wMDEKK2E4ZTA2Yzk4MTQ0ODE5ZDk4ZTgwOTQ5MmYwOGFhMjljICAuL2Rpci0wMzUvZGF0YS4wMDEKK2E5M2E0OWZkNzg0YzZhZDkwMzg1ZWEwMjJlY2QyMzQzICAuL2Rpci0wNDUvZGF0YS4wMTAKK2E5NWM0NmFjNzA0N2I4ODY2ZGQ5MjI1ZWU0ZDY0OGM2ICAuL2Rpci0wNTQvZGF0YS4wMDcKK2E5N2Y5YzZjNTIzZjU0NzkwNDYzNzdlY2E3OTNlZjUzICAuL2Rpci0wNDAvZGF0YS4wMDAKK2E5YTUwZWQyYjE2NWQ1NDhhMWFjYTJlNGIzMDZkMDZiICAuL2Rpci0wNDgvZGF0YS4wMDYKK2E5YmEwOWRmNTQ2OTMwYmEyNzY2M2RmMDIyN2IwNDdhICAuL2Rpci0wMDIvZGF0YS4wMDMKK2FhMTIyYmZkNzYwZWE0ZGM1MGFlY2Y0ZjUzM2M2NWFhICAuL2Rpci0wMTYvZGF0YS4wMDQKK2FhM2ViNTNjN2E3YTc3NjkwZTk5NmE1YzBjMWNjZmFlICAuL2Rpci0wMjQvZGF0YS4wMTAKK2FhNjFhNWQ1ZjMzNmIwYjUwZTZiMWQwNzk2Yjg5MGFlICAuL2Rpci0wODgvZGF0YS4wMDkKK2FhNmZlZjYzYzNiMmJiYjljMTdjOWJkNzMwOGM1MzA2ICAuL2Rpci0wMzYvZGF0YS4wMDQKK2FiMGY4ODFmODcyNTYzYmQ3ODQ2YzM0MzJlZjdmY2U2ICAuL2Rpci0wMDMvZGF0YS4wMTAKK2FiMWVhMWZlOTViM2FmN2RiNjRhYThmYTE0Njc2MGJjICAuL2Rpci0wOTMvZGF0YS4wMDgKK2FiNWFjZDZjNTk0MTVlMTNkYzc5MWUzZjMwMGJjY2QyICAuL2Rpci0wMzkvZGF0YS4wMDEKK2FiZjE3NWVmZmQ2YzA0ZGJlZGMwNGEzMWYwMDllZjcyICAuL2Rpci0wMzgvZGF0YS4wMDQKK2FjMDBiYjYwMDFlMzU0YTYwNDA2M2YxZTMxYThmZTNjICAuL2Rpci0wMjgvZGF0YS4wMDAKK2FjMGVlZTQ5ZTQ3MzcyNmRlYjU2ZDQ3YTgyMzE5OGQ5ICAuL2Rpci0wODYvZGF0YS4wMDkKK2FjNmUxZjYxNmZjYWI5M2JlYmVhMTJjM2RkMWZlZmVlICAuL2Rpci0wNjUvZGF0YS4wMDEKK2FjOGU1OTZmZGY2Mjc5ZTQwZmQwMDg1YmIwZjM0MTY1ICAuL2Rpci0wODQvZGF0YS4wMDUKK2FjYzFlZTdmZWJkMTAwYWIyM2I2YTQ3OWQzMDAxODI1ICAuL2Rpci0wNjEvZGF0YS4wMDEKK2FjZGJlMmU0OTZkNmFlMjNjMGYwZGNmYjBlYTZmYWE4ICAuL2Rpci0wMDUvZGF0YS4wMDUKK2FjZTljOGI1ZGQ4ZTU1ZGQxMzczNWM2NDljOWQ0YWY1ICAuL2Rpci0wOTkvZGF0YS4wMDgKK2FjZjVjYjJjN2IxZWI0MzkwYTYwYTE3NzRiYzRiYWIwICAuL2Rpci0wOTAvZGF0YS4wMDkKK2FkMjQxMTRjOWNiOGYwMzVhZGUyZTg2MmQ5YWJhZmE4ICAuL2Rpci0wNTMvZGF0YS4wMTAKK2FkMzIwY2RiZmJmYTVjZjZjN2I3YThjNDBhNjg2MTkzICAuL2Rpci0wMjEvZGF0YS4wMDAKK2FkNWIyZDU0OGRiYmZlNmFiMGUyMTQzN2JiMmUxZjJkICAuL2Rpci0wMTkvZGF0YS4wMDEKK2FkZTk4YWRlYjQ1YWIxOWM3Y2U4ZDQyNzgyZGMwNGE3ICAuL2Rpci0wODcvZGF0YS4wMDUKK2FkZWZjNTg1NmQyYTQ1OTViZWViMWFkY2JkMTcyMjIxICAuL2Rpci0wMTkvZGF0YS4wMDgKK2FlODFjOTUzNzg2Y2VjODJkMGYxZjk0MzViMGQwYzBkICAuL2Rpci0wNTYvZGF0YS4wMDkKK2FlYmJlZWI1ZTQyMWNiOGFkMmU4MzFhMzAyNzQyYTZlICAuL2Rpci0wODEvZGF0YS4wMDMKK2FlYzQ5NzhiODE0NDFkYTljYmE5MDA4NTQ5ZmQ1OGI0ICAuL2Rpci0xMDMvZGF0YS4wMDcKK2FlZjYyOGQ3Njc2YWUyMTE1M2E4N2UwZjFlZTA4MjdkICAuL2Rpci0wNTMvZGF0YS4wMDAKK2FmOTM4NWI3NjI1Njg0YzNkMTUzODU0YmZiYzQyN2ZiICAuL2Rpci0wNTcvZGF0YS4wMDcKK2FmOTQ5ZTI5MmM3MzZkZWM2NGMyOWIzNWRiYzk0Y2YzICAuL2Rpci0xMDQvZGF0YS4wMDgKK2FmYjY4ZGQ5MDk1NmM3MjljNDkyMTFhYTVjYzk3NGQzICAuL2Rpci0wMTgvZGF0YS4wMDAKK2FmYzVjY2VhZWQ5MDFlM2JhZjI2NDEwZTUzMGIyMTEyICAuL2Rpci0wNDMvZGF0YS4wMDcKK2FmZDA1MTQxYmU2Zjg2NWE2NGU5MzkwOGUwNWFiMmU3ICAuL2Rpci0wNzAvZGF0YS4wMDQKK2IwNTBmNmYwYjU1Y2FmZDkxYWY4YjViZmVkOWQ3ZWYwICAuL2Rpci0xMDYvZGF0YS4wMTAKK2IwNmJjYTUzYjEzMTMwNGE4OWQxNTJmYTg2OWU4ZDQ0ICAuL2Rpci0wMDYvZGF0YS4wMDYKK2IwN2UwN2Q5ZWI1Yjk3NjVkNTkxNjkxMGQzMDIyYTE1ICAuL2Rpci0wNDEvZGF0YS4wMDMKK2IwOTk2NjFkMGRjN2U3NzdlOTRiODhhNzY4NzkyYWJhICAuL2Rpci0wMjkvZGF0YS4wMDAKK2IwZjlmYmMzODg5ODQzNzU2YzJmYmJkYmM4ZTk1YzgwICAuL2Rpci0wNTIvZGF0YS4wMDcKK2IxNDFlMDc0NmQ3NzFiNjQyYjgwNzg5ZTJjZWU3OGI3ICAuL2Rpci0wNTUvZGF0YS4wMDUKK2IxNTQ1OGI4ZDI4YjRmZjI3N2FhMTlkNjQ0YzNmMDFlICAuL2Rpci0wNzgvZGF0YS4wMDQKK2IxOTY5MmJmY2M4ODdhMDMyNmVhMGQ5ZmY3NzdiNzA4ICAuL2Rpci0wODIvZGF0YS4wMDgKK2IxYTBmNjdjMjIyMTFiNjBlYWEzYWQwNDMzMDBlYzM5ICAuL2Rpci0wNzcvZGF0YS4wMDcKK2IxY2IwN2Q3ZjRhYjAzMTUyMmExMDkyY2RhMDA5ZWE1ICAuL2Rpci0wMjQvZGF0YS4wMDkKK2IyMjgzOTFlNWI2NzRmNmUzMjBmNDZjOTJhMjMxYTZkICAuL2Rpci0wMTMvZGF0YS4wMDEKK2IyMzFiMTY5Mzg5MjJiNjJiYzMxM2M0ZGM3OTFlODlmICAuL2Rpci0wNDAvZGF0YS4wMDEKK2IyMzVlNjY3ZmUwNmUyMzMzZDNkNGY0Y2ZlYjExZDhlICAuL2Rpci0wNjEvZGF0YS4wMDcKK2IyNWU0N2I4ZTYwODRhNzcxMDgyYTc5ZDI5NjQxMjVkICAuL2Rpci0wNDIvZGF0YS4wMDgKK2IyYTUwMTdlOTEzYTI1NGIzM2M4ZmM1MWEwMzA0NzQ1ICAuL2Rpci0wMTgvZGF0YS4wMDUKK2IzMjlkYWQ2YWQ4NWM2NWE5MjIyYjhiMjYxZTg2MzYxICAuL2Rpci0wMDgvZGF0YS4wMDgKK2IzM2NkMGUxOGI1YTIzODRkYzA1YTQ2ZjY5YjA5MDU5ICAuL2Rpci0wMDcvZGF0YS4wMDAKK2IzM2YxMzYyNGE3YTdjZmM1MGZlZjA0NTZkNzQ5NDdhICAuL2Rpci0wOTcvZGF0YS4wMDUKK2IzNjdhMDM2M2I1NzRhODQ1NWI4NDFjYWRhMDRhY2NkICAuL2Rpci0wNDcvZGF0YS4wMDUKK2IzYzVhYzlhZjRkN2EwNDMyNTE4MjgwNjQ1Mzk1OGJhICAuL2Rpci0xMDMvZGF0YS4wMDUKK2IzZGZjOGIwZmI3NjE2Mjg3YWY2Zjc3NTcyMDdiNmI4ICAuL2Rpci0wMzMvZGF0YS4wMDkKK2I0MWQwYWZhNGQ1NzgyM2UzNGQxMWU2NGJkNjUzNGE2ICAuL2Rpci0wODcvZGF0YS4wMDkKK2I0NDViN2U2MjRlN2YxZjdhNWJlNjU0MWEzYTkzYThhICAuL2Rpci0wNDMvZGF0YS4wMDkKK2I0NmNmNGE3NjdhMmQzODk4MDBkZGEwMzc0OTE3NDI3ICAuL2Rpci0wNTcvZGF0YS4wMDIKK2I0YzY1MTY2MTgwYzE2ZTU0MzdmYmZlMDNhZjRiNWQ0ICAuL2Rpci0wMTUvZGF0YS4wMDQKK2I0Y2NmOGRhMTQ5OThjYmU3MjFjOTkwZGU0NmM5ZWRjICAuL2Rpci0wMzIvZGF0YS4wMDgKK2I1NGIzOTJiNGNmZjkyZjgxNTFkNThjYjkyZTY4OGEwICAuL2Rpci0wNjcvZGF0YS4wMDcKK2I1OTM0Y2JjZTE2NTFjMTJjYmI0ZTYxOGUwOTFmNDM1ICAuL2Rpci0xMDIvZGF0YS4wMDEKK2I1YzFlNTdmZmEwY2ViMDk0NzE3MGY2MTAwNzVmM2IwICAuL2Rpci0wNDMvZGF0YS4wMDEKK2I1YzhmNGNhOWQyY2ZmNTI0NWI4NDdlMjFjN2RmMDQ5ICAuL2Rpci0wNTAvZGF0YS4wMDIKK2I2MWJmMzE5YzU3ZGE0ZWI0ZjEyMWZkNWM1MzU3NjBjICAuL2Rpci0wMTUvZGF0YS4wMDcKK2I2N2ZiNWVlN2I5MzA2MWFkZTY0OTI5NDkyNTkwZjVjICAuL2Rpci0wOTcvZGF0YS4wMDMKK2I2OTAwNzdlYmIyNWMyNjA1ZWYwZWUzMzcyODk0Y2VjICAuL2Rpci0wNDQvZGF0YS4wMDMKK2I2YzIwY2VkOWZmZTBlOTFmYmY3YzRkNzFjYzQ1MWJjICAuL2Rpci0wNzUvZGF0YS4wMDcKK2I3NTM4Zjg4MGQ5MWEwNzAzNzI5MGY5ODAyN2VkMzA2ICAuL2Rpci0wNDAvZGF0YS4wMDkKK2I3OWYxYmRiNWJiYjQ3ZTVkOTY1ZTkwMTM3ZGRmMjZlICAuL2Rpci0wMTUvZGF0YS4wMDYKK2I3YjdjYWQ4NzIwZDBmOTlmZGJkNzk4NGNhYWQ4ODMxICAuL2Rpci0wNjEvZGF0YS4wMDYKK2I3ZjU2YzllYmFkY2FlOGJkN2IzMGUxNGJkZTBiNWQyICAuL2Rpci0wMTQvZGF0YS4wMDUKK2I3ZjZkMTExOGVlOTMyYzY1ZjFlNWExOTMxZDZjOGZmICAuL2Rpci0wMTQvZGF0YS4wMDkKK2I4NGFjOTZjZWRiNDQyZmUyMzVjZmZjOGFhMzExOTlmICAuL2Rpci0wMTcvZGF0YS4wMTAKK2I4OGM1N2FiYTI2ZjhlMWMwODVjZmM3YWUxMTg4OGQwICAuL2Rpci0wNzMvZGF0YS4wMDUKK2I4YmYxNzFlZDRmNWY5MDVjZjhmN2RhYjZhODJhN2QzICAuL2Rpci0wMjEvZGF0YS4wMDIKK2I4YzMzNmRkNmVjN2RmNWNiM2Y3MGFjNzllMTY5MjIxICAuL2Rpci0xMDgvZGF0YS4wMDUKK2I4ZGU4NDdkOGFmODMyOTIwNmI1MTZmODI1OTQ1NDM5ICAuL2Rpci0xMDcvZGF0YS4wMDgKK2I5MTA1MzA1OGY1Y2I4NjhhNjVlYjAwZmZjOGM4NWRiICAuL2Rpci0wMTgvZGF0YS4wMDcKK2I5ODNlYzVlMjY5NmRlYzQyZTg4NmU0YWFmMjRjMmRkICAuL2Rpci0wNDEvZGF0YS4wMDEKK2JhMThlNmFmNDgwNzk5Y2I2MWFjZjBlMzk4NDQxM2Q5ICAuL2Rpci0wMjMvZGF0YS4wMDEKK2JhMWM4NmI0Yzc1MTllOTk4N2ZjNjJlMDRlMTRiOTNmICAuL2Rpci0xMDAvZGF0YS4wMDkKK2JhM2QzNzM1ZGI3NTAxYmI0NWExYmMzN2ExYzkwZDkxICAuL2Rpci0wMzkvZGF0YS4wMDYKK2JhNWRmZjQ0NThlNDM4YTM3ZjcwMjBhNjk5N2NiM2ViICAuL2Rpci0xMDIvZGF0YS4wMDIKK2JhNzFlYTY2ODg1MzM5ZWZjNTA0ZjU4MWZhOWQwNWZhICAuL2Rpci0wMjEvZGF0YS4wMTAKK2JhYjczNDAyMzBjYWZmZDlhYmU0NWEyMTNjYzdjOTRkICAuL2Rpci0wNDQvZGF0YS4wMDYKK2JhY2Y3NTkwOTlkM2NlMzNjZGUxMDRmMGZkMDk0MDRiICAuL2Rpci0xMDcvZGF0YS4wMDYKK2JiM2RjOWQ5MmU3YzEzMTkxNTAyZjljYTJkOWEyYTQ2ICAuL2Rpci0wMzQvZGF0YS4wMDYKK2JiZjYyZGIzZTI3Nzg5M2FlNzA1Yjk1ZGYwNTdjNjc2ICAuL2Rpci0wNDYvZGF0YS4wMDEKK2JjOWExNWVlNTM1NzFiZTA0Y2ExOTkyNzU0ZDQwN2JjICAuL2Rpci0wMzcvZGF0YS4wMDEKK2JjYWRkNjNlMDBmYWQ0YjdmMDlmMzJjZjUwYzYwNmY4ICAuL2Rpci0wNzgvZGF0YS4wMTAKK2JjZTQzZjRiYzMyZTNiNDMxY2U4OGU3MTRlYmRlNGU3ICAuL2Rpci0wNzgvZGF0YS4wMDcKK2JkNTdjYTI1NTJhMzUxOTY0MjJlYjI1NGQwYjY2ODliICAuL2Rpci0wMTAvZGF0YS4wMDcKK2JkNmQ5NjYxZWY0NGVlOTRmM2E1NzY3OTRiYTJlOTcyICAuL2Rpci0wODMvZGF0YS4wMDAKK2JkODVlOGM4YzBmZDRmZmQwYThhYmRkMzg2NzVlNGE3ICAuL2Rpci0wNjEvZGF0YS4wMDIKK2JkOGU5YzM5MmJjNzZjM2QwNGNlMjNhMzc2Y2Y3OTQxICAuL2Rpci0xMDQvZGF0YS4wMTAKK2JkYThkNTNjNDVjNTIxYzVhN2ZjY2NmMTllMGZkNGQyICAuL2Rpci0wNTIvZGF0YS4wMDYKK2JkYTk0NmQ3MjkzMDg5ZjQ4N2RiY2Y2NDU2NGI3ZDc5ICAuL2Rpci0wNTEvZGF0YS4wMDMKK2JkZDI4NTA5MmZhZjVhMTljOWE4YjNmYmQxMTYyZDY0ICAuL2Rpci0xMDEvZGF0YS4wMDAKK2JkZjM5Yjg5MzU2N2IzYTYzMjlhMzZkYWM0OGI1MTZjICAuL2Rpci0wOTkvZGF0YS4wMDUKK2JkZjU2YWRlMzQ2MjhkOWEyZTc1N2IyYmM2ZWIwZTBjICAuL2Rpci0wMTMvZGF0YS4wMDcKK2JlNTA3YTgzMGRjMDliOGM2ZDgwMmQ0NTY0N2VkYjU1ICAuL2Rpci0xMDQvZGF0YS4wMDIKK2JmMTA2YTYwZWVkMTk2M2NkM2U1ODQ2MWMzOGNkYTg3ICAuL2Rpci0wMzQvZGF0YS4wMTAKK2JmMjFlNDkzZDUzNjM4NWM0NWRmMDM3YjJlOWNkYjQ1ICAuL2Rpci0wODkvZGF0YS4wMDAKK2JmYjBmNGJhOWE4NTg4YmVjM2NlZjRlZGU2YTNiYjU3ICAuL2Rpci0xMDYvZGF0YS4wMDkKK2JmZGE4NjgyNzdhNmM2YzBlMjU3OTVhZDczMzE2MDc0ICAuL2Rpci0wMzIvZGF0YS4wMDYKK2JmZGFjMmM5ODhkZTM5Y2VjOTVhNTlmOGEwOTA2MzZkICAuL2Rpci0wOTIvZGF0YS4wMDkKK2MwMWJkZTRlOWZkNzczM2I2YTkxNTI4NGFjMTJjNGU4ICAuL2Rpci0xMDgvZGF0YS4wMDcKK2MwNTZmZjcyYTliMTg3MzMyZGNhMzAwZmJiODEyMjZlICAuL2Rpci0wMjYvZGF0YS4wMDMKK2MwYjIxODJkZTE5YzE2OTViNzEyNzdkNGZiZmFjYzE4ICAuL2Rpci0wNTIvZGF0YS4wMDEKK2MwYjk0YTUzODE3NmFhNjk4NmNhZmEyZTJmZDhmZThjICAuL2Rpci0wNDUvZGF0YS4wMDQKK2MwZTE2YTk2MDE0YTEzOTk1ZTUzN2U4ZTM5YjAxNTVlICAuL2Rpci0wNTIvZGF0YS4wMDIKK2MxY2YxNGUzODEyYThiOTkzMzkxMWRhNjc5YzQ5ZjhmICAuL2Rpci0wNzIvZGF0YS4wMDcKK2MxZWYwZWMxZmUzY2M2NGQ3MDVkNTQ5OWI2ZWU2MjJlICAuL2Rpci0xMTAvZGF0YS4wMDEKK2MyMTI5MTIwYmM5NjcwM2QyODkyOGQ1NjdiYzVkZjU4ICAuL2Rpci0wMjUvZGF0YS4wMDUKK2MyNDI5ZGJjZjQ5MjllZjg4NmI2MTIxNDdlOGVmYmIzICAuL2Rpci0wNDgvZGF0YS4wMDgKK2MyODFmOWE0MmI1MWVhN2FmOTNlNWE4OGMxMjE2MTIwICAuL2Rpci0wODQvZGF0YS4wMDgKK2MyYzJhYmI5ZTg3MGQxNDRkZGUwNWVjNmQ3YTk3OWRhICAuL2Rpci0wMjgvZGF0YS4wMDMKK2MyZjE4NDYwMjUyOTNjMjU2MGVmNDRhMjI4N2NhOTQ4ICAuL2Rpci0wMDcvZGF0YS4wMDIKK2MyZjZkYTA4ZTNlNmMwNGZhMDRkYmU0N2Q5ZDkxZWFkICAuL2Rpci0wODUvZGF0YS4wMDEKK2MzNTM3M2ZiOTg4OGMzMDI3MmQyZjU3NGMwYTk0MjNiICAuL2Rpci0wNzkvZGF0YS4wMTAKK2MzNzJlMzUxNzdhYTMyODZjYjU1MDg1OTBiMTkxMzAyICAuL2Rpci0wNTEvZGF0YS4wMDUKK2MzY2M5MGRkMzNiNmU1ZWQxMDA4MTQ1NmYwNzBjNDQ3ICAuL2Rpci0wODUvZGF0YS4wMDIKK2M0NzAxMWY5NDg4YThiOGI1NTEwYWE5NmVmMTFmZTU3ICAuL2Rpci0wMzkvZGF0YS4wMDUKK2M0OTU4ZmIwOWVmZjBkZDUxOGI4YTY5OTdjNmI3MWZjICAuL2Rpci0wMTcvZGF0YS4wMDkKK2M1Mzg0OTI0OWZhZDBkZWZkZjgzN2JiZGRmYTE1NDg5ICAuL2Rpci0wNzcvZGF0YS4wMDAKK2M1Njc3NTY5MGI5NjFiZDA0MjVkZmQzZDgzZGM0ZmE3ICAuL2Rpci0wNjYvZGF0YS4wMDAKK2M1ODA0MzExMjE1MDc4YWFjZGE4OTU5MWM0MGJiNGMyICAuL2Rpci0wMDUvZGF0YS4wMDEKK2M1YjMyMjdhYTU0ODQ5MTlkY2EwZGE5NDczOTA0MTlhICAuL2Rpci0wOTYvZGF0YS4wMDAKK2M1Y2FmODU3NTAzOGNlY2E5MWIxNDBkOWQwZTNiMjRlICAuL2Rpci0wNjkvZGF0YS4wMDgKK2M2MWZjYTNlMDVmOWE4NTk2ZmZlZDNmMTUxMmM4ZmQ5ICAuL2Rpci0wMjQvZGF0YS4wMDEKK2M2NzJkN2IxNjY5M2MxODQ4ZmIyMzMxZmQ0ODNiYTVkICAuL2Rpci0wNjcvZGF0YS4wMTAKK2M2YzY0ZTFhMzFiNjU5M2YyZTM1Nzk4Y2RmYjlhNjdlICAuL2Rpci0xMDMvZGF0YS4wMDkKK2M2ZTc3NDFmM2Q0OTljYjU5MmU4NGVlNTAxYWU3YzEyICAuL2Rpci0wNTYvZGF0YS4wMDAKK2M3MzRmNDUwZWQyMGUwZTZlYmU3ZTUyZWJlYjQwYzI3ICAuL2Rpci0wOTUvZGF0YS4wMDcKK2M3NjVhY2QwZmRkZmRkOGRkMjVjMWUzYjU3OGFiOGQyICAuL2Rpci0wMjEvZGF0YS4wMDUKK2M3NzgzMWNjZmQyYTFjMTg0MmM0NzVmMjM5NWU1ODZjICAuL2Rpci0wMDQvZGF0YS4wMTAKK2M3OGIzMmEyNGYyZmZhYTdhNjRhOTEwODcxYzdjMmRhICAuL2Rpci0wODYvZGF0YS4wMDUKK2M3YWE5ZWM4ZjRhOTFkOTkzZWJjMzU3ZjdjNGQ2MjRjICAuL2Rpci0wMTIvZGF0YS4wMDEKK2M3YjYyNzZkZDljNTNhYmM3ODI0YjE3MjM3N2ZhNTY2ICAuL2Rpci0wNzMvZGF0YS4wMDgKK2M3YmQ3ZjgxYjgxZjNhM2RmZmM5YWE2ZDg5MDNhNWQ0ICAuL2Rpci0wMjAvZGF0YS4wMDQKK2M3ZDMwODhkYmI0NzBiMWY4ZTY1OTc5NWU5YWUwMDFhICAuL2Rpci0wNzIvZGF0YS4wMDQKK2M3ZGIzMGU0OTAxMGFjZDQ0MWNhMDcxYjE1OWU4OTUyICAuL2Rpci0wOTMvZGF0YS4wMDUKK2M4N2E3MDY2NWU0OTI5ODU1OGM1NGU3YjExMTUwYmRjICAuL2Rpci0wNzMvZGF0YS4wMDcKK2M4YzUyNzc2YThlOWIzZjQzYjU1YzExMmRlNGIzNjE1ICAuL2Rpci0wNTUvZGF0YS4wMDEKK2M5MGRkN2FkNTMwMjJlMmVjNzc3YjQwMWEyMDU2Nzk0ICAuL2Rpci0wMzIvZGF0YS4wMDkKK2M5MTY3OWQ5Y2NlYzYwZWM1OGZlYzZlNWVjYjcxY2RlICAuL2Rpci0wMDEvZGF0YS4wMDQKK2M5MjgzZDFkYjYxOTk0MzcwOGE1OGEwZDRlMDcyNDkwICAuL2Rpci0wOTgvZGF0YS4wMDgKK2M5NzEwMGVhYTBkNWI1MGMyOTg2YWQyZDdhNGFiNGM2ICAuL2Rpci0xMDUvZGF0YS4wMDIKK2M5Y2E5M2M4YjkxZTIzYzdkODg0OTg1MjYxYzcyN2JkICAuL2Rpci0wODcvZGF0YS4wMDMKK2M5ZjYxM2UzNjA1OWY2YTJlYmIyMWRjYjVhYzJlNTQ0ICAuL2Rpci0wOTgvZGF0YS4wMDUKK2M5ZmI3ZDA4Yjc2Mjg2ZjcyNmQzNDk5MzM0NTNjZGFhICAuL2Rpci0xMDIvZGF0YS4wMDAKK2NhMDI2ZTFmY2U3MzQyZWVhOGQ1OWI1ZWYxNWFlMWI5ICAuL2Rpci0wMTgvZGF0YS4wMDIKK2NhMWI2MjRjZmUwMzk4NDQ4NTY3ODYyYWNiNDk2NzIxICAuL2Rpci0wMDIvZGF0YS4wMDYKK2NhNWRkODk0YTAwNWMxMzcwMmU5NjZkMDRhNTg2NTdhICAuL2Rpci0wNzQvZGF0YS4wMDcKK2NhNjkwZGRmMWQ5NDg4ZDNhYWU1ZGU2NjdiNDZlM2M2ICAuL2Rpci0wNzEvZGF0YS4wMDkKK2NhYmIyOTQwZmFmZTdkZGYyNjQzODMwZjc1NDJjYzRmICAuL2Rpci0wNzAvZGF0YS4wMDgKK2NhY2M5OGNlYTc1MjViZTY3MGZiYTA2MmU5MjEzODZmICAuL2Rpci0wMjcvZGF0YS4wMDkKK2NhZjkzMDczMWEyMTI0NTIwYmU3MWY3YmRiZjUxNDdmICAuL2Rpci0wMzAvZGF0YS4wMDUKK2NiMzBmYTNkMjJjMzJmZjViNDY2YTIxNmQ3ZTQxNzRjICAuL2Rpci0wNDEvZGF0YS4wMDcKK2NiMzUzY2M5MDBhMTBjMDAyMGZjYzQwZDIwZmI3NzJjICAuL2Rpci0wNTAvZGF0YS4wMDMKK2NiYTgxOTExMThlMTgyM2JiMzhmODAzMjFiOThkN2E1ICAuL2Rpci0wMzIvZGF0YS4wMDUKK2NiZjY4MjAyNzQxYzkyYTZhMWExMzQ1YmE0MGRiYzFjICAuL2Rpci0wMTkvZGF0YS4wMDQKK2NiZjk2NjdhYzE4MWY1MTAwY2YzZDdkMTc5ZjA3YzI2ICAuL2Rpci0wMTQvZGF0YS4wMTAKK2NiZmUyNGQ3ZjFhZWYyMDc0NmFkZGEwOWVkZmEwYjEyICAuL2Rpci0wNzIvZGF0YS4wMDgKK2NjMjU2N2EyMzUwZmVlNGM1MTg3YTAwYmMwNjE1ZDVlICAuL2Rpci0wNTQvZGF0YS4wMDQKK2NjNzk4NjE1YzBiMDJkNTNmNjgyNzI0MGVlNjU0Zjk4ICAuL2Rpci0wNjQvZGF0YS4wMTAKK2NjODNkNWI3OGFhMzRmZjNkODI5NTdjN2Q2OWVlMTZhICAuL2Rpci0wMTMvZGF0YS4wMDMKK2NjYTVjMGJkZDZkMGViMThiN2NkZWMyYmNiYjU5NzU0ICAuL2Rpci0wNzYvZGF0YS4wMDkKK2NkNmJlNGIxYjI1ZGU5YmZmNjZhZDgxOTFlYWM3ZDRjICAuL2Rpci0wNDIvZGF0YS4wMDQKK2NkY2Q1MjQwZTc4YzEzMzU3MjgxMTUzYzRhNDEzOTVlICAuL2Rpci0wODcvZGF0YS4wMDQKK2NlMGRlYzYxMmRiODBhOTJhMTc2Y2UxOTBiMTlhNzU0ICAuL2Rpci0wNzAvZGF0YS4wMDEKK2NlMzM5MmNkNGQ4MWRlMDAxZmIzOTdiYTE2NTVjMGM4ICAuL2Rpci0wMTAvZGF0YS4wMDgKK2NlNThhMGU1MGQxNmQ3NWM0NWNlOTQ0N2JjODY4YjQ1ICAuL2Rpci0wMTgvZGF0YS4wMDkKK2NmNWZiOGNiZmU3MjM1NTIxZmQ3ODc4ZDk2NGJhZGFmICAuL2Rpci0wMjIvZGF0YS4wMDQKK2NmYmUwZjY5YjM1YmFhOTEzM2I2MzU1Y2QyYmQ2ZDA4ICAuL2Rpci0wOTQvZGF0YS4wMDgKK2NmYzAxNzk5MzMyNTQ5NTIyYTgyMzA3NzE0N2FkZmYwICAuL2Rpci0wNTYvZGF0YS4wMDMKK2NmZGU2NGMzNjI4MzVhNzJjOGNlZGZlNjQ3N2JkYTU2ICAuL2Rpci0wNzkvZGF0YS4wMDgKK2NmZjZmMjljMTUzNjI5MWQ1NDQ5OGZiNTM5YzY2ODFmICAuL2Rpci0wMDIvZGF0YS4wMDIKK2QxMTkyMjNlMGRhMDdmMDA1MDEyYmY2ZmVmNDE1YjVjICAuL2Rpci0wODIvZGF0YS4wMDcKK2QxNmRiYjQwYWQwNGNmZTA5MDQ4ZGZhNTY5NzdjYTNjICAuL2Rpci0wNDQvZGF0YS4wMTAKK2QxZGJmZGRmMjA5ZjZhMDcwYmNmNDgzNTNhYmRiZDhiICAuL2Rpci0wNDAvZGF0YS4wMDMKK2QxZTU4MDZiZGMwNmFlMjIzMWI2ZjliMWEzZmExZjBjICAuL2Rpci0wMDEvZGF0YS4wMDEKK2QyMjI5YzVhNjFjMGNjZjdiMTM5NzE0NDg0MjMxYTg0ICAuL2Rpci0wMDEvZGF0YS4wMDkKK2QyNDQyMDRiMGU2M2Q3YzMzYjJkZDNlNWQyMjM3NzQ4ICAuL2Rpci0wMzYvZGF0YS4wMDUKK2QyNTNkMDllYmU2ZGY5NmI4NDU2NWIzYmYyNmU4YmJjICAuL2Rpci0wMzAvZGF0YS4wMDIKK2QyNzAzZGZjYjIyOGE5ODg1ZDU4ZWI2YmY4YzQzMThhICAuL2Rpci0wODgvZGF0YS4wMDIKK2QyN2M3ODcxM2YyNTJlMjM5M2VhOTQyYWJjZjRhNGFjICAuL2Rpci0wNDgvZGF0YS4wMDcKK2QyYjZlMWRiN2FiODgyMzMwMTVlN2Q4ZmE1YTZiYjgxICAuL2Rpci0wMjEvZGF0YS4wMDkKK2QyYmU4MTRkMmFlNWYzMzcyM2NjODc5NDYxNDQ4M2ZiICAuL2Rpci0wMDgvZGF0YS4wMDUKK2QyYmY3YzIzNDY1Yjk0NTVhM2NhMjdiNTBjYzEyM2ZmICAuL2Rpci0wNzMvZGF0YS4wMDIKK2QyYzFiMmI2Y2ExNmY0ZTRmZjk3NTA5MjZhZWZhY2Q0ICAuL2Rpci0wMzAvZGF0YS4wMTAKK2QzNDM2MmMwYjg2YTkzNGU4NDg0NzgwNjc3NjBjODYzICAuL2Rpci0wMjEvZGF0YS4wMDgKK2QzNDc5OTkzMWVlZWZhOTE0NzI3ZTA4MjJjNjY3ZmM1ICAuL2Rpci0wMzEvZGF0YS4wMDgKK2QzNWE2MmVmOTk1NzBjNWVmNWJiNjI5MWJiYjM2Y2M5ICAuL2Rpci0xMDEvZGF0YS4wMDMKK2QzOWZkYmJmY2QxZTE1ZmRhMTQ2OTc3MjI0MTI2ZjhiICAuL2Rpci0wMTEvZGF0YS4wMDkKK2QzZWIwZjRiYjNiMDRiNDEyOTA3ZTQ1M2M4MmJiODlmICAuL2Rpci0wMzUvZGF0YS4wMDcKK2Q0MGYwZjMzM2ZjMmYwMmE0MjY2ZDM2Mzg5N2YzMzM0ICAuL2Rpci0wNDUvZGF0YS4wMDkKK2Q0NGZmZjZkZTI0MzgyZjE0YjA0MjYxMDFlNzM3MzU0ICAuL2Rpci0xMTAvZGF0YS4wMDgKK2Q0NjA2ODZkNWYzNzQwMTc0NTJmZTYyZTNmOTViNGQ0ICAuL2Rpci0xMDUvZGF0YS4wMDgKK2Q0NjFjYzg0ZWIwM2NjNmRiNzhlMDcyMDY0OGQxNWU0ICAuL2Rpci0wNjEvZGF0YS4wMDMKK2Q0NjMzNzlkMTgxMTI0MWRjNTZhNGNjYzliZjY4ZGZjICAuL2Rpci0wNzYvZGF0YS4wMDUKK2Q0NmM4YzdiN2MwYjU0ZWJkMDQ2YzYyMDlkMWY4YWZhICAuL2Rpci0wNTQvZGF0YS4wMDEKK2Q0ZDBmYWUzNTRhZjZjZGNjMzIwMmM5YWE4ZmYyZTlhICAuL2Rpci0wMTkvZGF0YS4wMDIKK2Q0ZjMwNDBjYWJiNWZiY2U4NTUyOGUyNWYyMGNkZWFiICAuL2Rpci0wNjEvZGF0YS4wMDgKK2Q1MWJlNmM4MjRkMDUzZDRlNzU3MjBkNmM4ZjUxNWZmICAuL2Rpci0wMDEvZGF0YS4wMDIKK2Q1NDBlZjc4YWM4Mjk1NTZmOTkzM2RkNjU3OWRiN2FlICAuL2Rpci0wOTEvZGF0YS4wMDMKK2Q1NGYxODgyNDBiYTgzZGYwOTMyZGZmYmIzNjAwN2ZiICAuL2Rpci0wMjEvZGF0YS4wMDcKK2Q1YjUyYzdjMDU0YTI3YmEzNDJiYzdlNTNiZmUxMzFlICAuL2Rpci0wODEvZGF0YS4wMDkKK2Q1YzdjZDgzNWZmMTljYjdjNzBlMTdkMzEzNDI2M2JmICAuL2Rpci0wNzQvZGF0YS4wMDYKK2Q1ZmIzMjA0ZDcwZDkwNmE3NGI3NjA5OTllNWIyNjZjICAuL2Rpci0wNDIvZGF0YS4wMDMKK2Q2NzQ5M2VmYzdmMTA5MTBkYWFiMTQwMTY1NDZhNDdiICAuL2Rpci0wNTkvZGF0YS4wMDAKK2Q2OGVkMTU1M2QyNjYwZjUwOTYxMmQ4ZGRkOGJjZDYyICAuL2Rpci0wNTYvZGF0YS4wMDQKK2Q2ZjA5N2M4M2U2Mjg3N2I5ODk1MWJlYWQwMjgyZGZmICAuL2Rpci0wNDAvZGF0YS4wMDUKK2Q2ZmZjNTEzY2VkN2IwYzEwMDVkZDExZjEwOTI0Yjg4ICAuL2Rpci0wNTUvZGF0YS4wMDgKK2Q3YTY5MzE5MjcyYzI2YjI0NjMxY2MwYWJiMTUyMWViICAuL2Rpci0wNTMvZGF0YS4wMDUKK2Q3YzI0NDdjNzlmNTg0YzVhNGIyZWM1MjVjNTg2MTI5ICAuL2Rpci0wMzEvZGF0YS4wMDIKK2Q3ZTU1MjA1N2I0MjBkYWJmMDIyYWE2YjgyNjc5NDZhICAuL2Rpci0wMzAvZGF0YS4wMDYKK2Q4NzI2MGJkN2JmNGFhNmVjNTU2ZDc3YmY5NThhMzZkICAuL2Rpci0wNjAvZGF0YS4wMDEKK2Q4N2Y1M2ZhMGZhZDlhZjgyMThhMjdmYTFiNjljMDcwICAuL2Rpci0wODAvZGF0YS4wMDIKK2Q4ZjM3OWRmMWZlYmU3N2M4Njk5MDAxNzc0NWVkZWJjICAuL2Rpci0wMzQvZGF0YS4wMDUKK2Q5NDVkNWEwNzBiOTk1MTYyMjkzZjFjNzdmZjE1NTI3ICAuL2Rpci0wMTgvZGF0YS4wMTAKK2Q5ZWQ0OWU5OWY2MzU4MWNjYWZlOTE1Yjc2ZjNmOTZkICAuL2Rpci0xMDIvZGF0YS4wMDYKK2Q5ZmNhMzkyMmZhMGUwMWZkNTI3ZjhkYjY5NTg5NDI1ICAuL2Rpci0wODgvZGF0YS4wMDEKK2RhMDlkZmU0Y2I5YmQwNmMzNzQ3MzI1NGU4NTcxMzljICAuL2Rpci0wNzYvZGF0YS4wMDMKK2RhMThjOTM1MWJjZWI3ZjM0MjcxOGQ1MGZiMDYyNTQ0ICAuL2Rpci0wMDYvZGF0YS4wMDMKK2RhMjQ3ZmM2YzllMWY4NDBkN2VmNThlODZiYmVkMjIwICAuL2Rpci0wMTkvZGF0YS4wMDAKK2RhMmU0ZmQ4NWE0OWJhNmIwYzc2NTljN2FiZjk5YWQxICAuL2Rpci0wODkvZGF0YS4wMDUKK2RhNTdiYjQ0MTE2MGU2NTU1YjMwYzc1OTE1Mjg4YmY1ICAuL2Rpci0wOTkvZGF0YS4wMDQKK2RhOTIxODQ1M2Q0Yzk5NjcyZTcwMmYwZmQ3YjljMGMwICAuL2Rpci0wMTQvZGF0YS4wMDQKK2RhYjJiZWM3NzUxNDBlNjIwM2RhYTZlYzEyMmYwNDllICAuL2Rpci0wNzEvZGF0YS4wMDMKK2RhYjk5ZDNkOWRmYzlkNWM5ZjBkNTI1NzE2MTUzNTYyICAuL2Rpci0wNzUvZGF0YS4wMDMKK2RhZGM2YzQxZjQxYjNmZjI4NzA2ZGY2NzVlYWE5NmI1ICAuL2Rpci0wMDQvZGF0YS4wMDAKK2RhZmYyZDZhZjA5NzE4ZTQ4MjViMjJiOThmMDBiN2U5ICAuL2Rpci0wMDMvZGF0YS4wMDIKK2RhZmY2M2U5ZDFhZTM3MzRkMDY5ZDBkYzAzMDViZTcyICAuL2Rpci0xMDkvZGF0YS4wMDYKK2RiMjEwYjg5YjEwMDRmMDMxZWFkZDg0N2U1YTA2NDViICAuL2Rpci0wNDMvZGF0YS4wMDgKK2RiMmIwMTU4Mzg4ZWUyNTE5NzBjNjQ1NGM4Y2Q5YTk3ICAuL2Rpci0wODMvZGF0YS4wMDIKK2RiNDlhMTNiZDdlMjMyMDIxMGRmM2EwMDZmN2U5ZjZmICAuL2Rpci0wNDMvZGF0YS4wMDAKK2RiZGJhOTYwN2YyZDc3N2UxMGRkYzY3ZjUwOTUwZTJlICAuL2Rpci0wNTcvZGF0YS4wMDUKK2RjMDllOGE0MWRiMjE0ZDI0ODE0OGVmYmY5NjA1Zjk1ICAuL2Rpci0wODEvZGF0YS4wMDQKK2RjMGE3MDA3Njc1MDQxYjMwMzE3YWZhZjQ0ZWU3MDhlICAuL2Rpci0wNjQvZGF0YS4wMDEKK2RjMTUzYWU3MTQ1MzJlMmQzNGYxYjdlYTA0NGI2ZmY5ICAuL2Rpci0wOTYvZGF0YS4wMDgKK2RjMWY0ZGE3ODU3MzNiYmIyODk3ZDk0Y2U3OGJjN2JmICAuL2Rpci0wNzEvZGF0YS4wMDQKK2RjMmYyMmRhZTNhM2QzNGExODkyOTUwNmNmYzZmMjc3ICAuL2Rpci0wMjkvZGF0YS4wMDMKK2RjNDBmOWE1N2RmYWNkMjFkNjAyMjE4ODk4YWI5M2U3ICAuL2Rpci0wNTgvZGF0YS4wMDQKK2RjOTg3NThjNmE5YjM5YTZhM2RlYWUyOThkNTc5YzRlICAuL2Rpci0wNDIvZGF0YS4wMDkKK2RjY2Q1NjJhNGE5ODY1M2EzZmU5NmQ3Nzc0MWRkYmViICAuL2Rpci0xMDQvZGF0YS4wMDAKK2RjZTdlN2MyM2I1Y2JhNWI5NmIxMWQ1MzAwZTAwYWZlICAuL2Rpci0wNTYvZGF0YS4wMTAKK2RkMDA2MDUyYTI4NTUyZmEwNjlhYmY1MDQzNDYyNTcwICAuL2Rpci0wNDkvZGF0YS4wMDkKK2RkMDc5YmQwNTBkZDdiODNmZjZhOGUyZmI1NzczZWQ0ICAuL2Rpci0wNDkvZGF0YS4wMTAKK2RkODk4YTZhYjg3MzljMGNmMTZkZDcyMDM0YmM3NjY4ICAuL2Rpci0wNDYvZGF0YS4wMDcKK2RkOGMyMzNiOTkyZGE2YmFiYmNiYzljZTc4NzkwNTFiICAuL2Rpci0wOTcvZGF0YS4wMDcKK2RkOTgxMzA0ODk3YmMzMzBmNjkwZDIwNDBhYTFlNTNmICAuL2Rpci0wNDcvZGF0YS4wMDkKK2RkY2Q3ZWExM2NhZTU3NDk4MDg4YzE5OTQ2MTliM2JlICAuL2Rpci0wMjAvZGF0YS4wMDEKK2RlN2ZlMjc0ZTc3MGI0ZGFiZGViODY3ZmE5MmExMmJjICAuL2Rpci0xMDkvZGF0YS4wMDIKK2RlOGE3MGVlZTNlNTA4YTcyM2QzYjVkMmE5OTAxMzE2ICAuL2Rpci0wNTUvZGF0YS4wMDQKK2RlYjk2MGIxMjY4NzA1YTQ3MmUzYjQ2MTgxY2NlYmZlICAuL2Rpci0wNDIvZGF0YS4wMTAKK2RlYmYwODFiNjgyNGYwN2M1ZjZjMjJkYjZiYzE1MmE2ICAuL2Rpci0wODYvZGF0YS4wMDIKK2UwMDNhYWVjYjc3ZGY5MWYwNDk5MGNkNDVlZmYyZGJjICAuL2Rpci0wMTgvZGF0YS4wMDYKK2UwNTk2Y2UxZjgzMzE5NzA1MmJmNzJmYTRlNDVlYzI4ICAuL2Rpci0wNzQvZGF0YS4wMDMKK2UwNmU0NWUzNjlkYzJmYTk4YjE4YzM1MjY4ZWY4MWM3ICAuL2Rpci0wMzcvZGF0YS4wMTAKK2UwYzJmMmQzNzViM2ZhOGMwYzQ3YTAyOWJiMThjYzM5ICAuL2Rpci0wMDkvZGF0YS4wMDAKK2UwZDQ4MjQ3ZmNmYWE4MzkzMDU1NWVkZjhhNjY0N2RmICAuL2Rpci0wNDEvZGF0YS4wMDQKK2UwZmUxNjMwM2Q5OWVjMjFlNmRkMTNhYzI3ZDJiNWZhICAuL2Rpci0wODMvZGF0YS4wMDQKK2UxMzAwNzU0MGJmZDBiY2NkY2VkYTJmODI0YWUzMjM2ICAuL2Rpci0wOTIvZGF0YS4wMTAKK2UxMzFhODNkN2I3MDYxMDRiODAwYmNiYTdlODlhOWYwICAuL2Rpci0wMDkvZGF0YS4wMDgKK2UxNjk3OTAxZmI0NGViY2NmNDM4ZmIwNTZjMWNiYjAzICAuL2Rpci0wMDcvZGF0YS4wMDMKK2UxYmUxNWNhZDkwYjY1MTE0YWZmODBlMGY5MjJlOTg4ICAuL2Rpci0wMzQvZGF0YS4wMDgKK2UyZTM0MDI3YWZkNDMxYWYyYjVlZjBiYzgxNWExNjIzICAuL2Rpci0xMDAvZGF0YS4wMDIKK2UzMjE3NGRlNjRkODcxYjQ3YjM4YWI4NzRhYTUwYTM5ICAuL2Rpci0xMDIvZGF0YS4wMDkKK2UzM2RjYzhkN2ZmZDFlMGZjY2ZiNzFjNjcxNWY2ZTU2ICAuL2Rpci0wNDkvZGF0YS4wMDcKK2UzODJhNDVkZjMwMjRhZDk3NTYzZjljMTNhMTk1MTgxICAuL2Rpci0xMDUvZGF0YS4wMDUKK2UzYTEwNDE5MGQxYzQ2MWZmZGFjNDYyZDY2ZGVlN2FkICAuL2Rpci0wOTAvZGF0YS4wMTAKK2U0NWM2NzUyYWIwNjc2MDJhN2U5YTcxYjlmOTEwNWUzICAuL2Rpci0wNDUvZGF0YS4wMDMKK2U0OTJkNDY4MzY0ODcyMTg3ZDUwMDIxYWE0OTBjMzY3ICAuL2Rpci0wOTIvZGF0YS4wMDcKK2U0OWZmNWI5MGU3ZTc3MDRkNWM4MjljNDFhODU5Yzg2ICAuL2Rpci0wNDcvZGF0YS4wMDEKK2U0YTA3NTZlM2U5MmFjNmIyNjZjNGIyNmRkNDNkMjdlICAuL2Rpci0wNjQvZGF0YS4wMDgKK2U0YTBkYmI4ZWQwMDIwOGU5YTRkMjkzZDFjMjU5OTg5ICAuL2Rpci0xMDUvZGF0YS4wMDAKK2U0ZTVlNWIyNjQyZDMyMmUxYjk1MzliYjAyMWUxMjI4ICAuL2Rpci0wNjQvZGF0YS4wMDkKK2U0ZTk0NDdjZGQzZWU2ZjRhNzUzYTlmYTNiYzE4MjNmICAuL2Rpci0wMzcvZGF0YS4wMDQKK2U1YzIxYTI2MTQ3NzVlYmI3OTg3NTJlNGRiYmE3ZjUyICAuL2Rpci0xMDcvZGF0YS4wMDEKK2U1ZDg3ZDI1YjhmZGNlNmQ2ZjMwYjUyMjMwNzYxODg0ICAuL2Rpci0wNzAvZGF0YS4wMDkKK2U1ZjI3ODM4OTZhODliYWVlZjBjNWY2OGQwZjQ3MzgyICAuL2Rpci0xMTAvZGF0YS4wMDcKK2U2Yjc1Mjg0Y2M2YmU1YjgwYzU3ZGM2MTMzNzNlZWM1ICAuL2Rpci0wODYvZGF0YS4wMDAKK2U2ZWVjZjhhNzI3ZjRlZTY4NTJlMmY2MmZiOTQxYjcwICAuL2Rpci0wMzkvZGF0YS4wMDIKK2U3MDY4ZjU5MThiNGNlNTIzNDQ4MDhmNjhhZDBhMDg1ICAuL2Rpci0wMDIvZGF0YS4wMDQKK2U3NmQxNTZjODE4MjllODRmZTY2ODgyNjZmYjUyZTM3ICAuL2Rpci0wNDgvZGF0YS4wMDQKK2U3NzYxMjZjMzhmMDc1ZDRkMmQzZWE1ZTgxZTM2ZTI4ICAuL2Rpci0wOTQvZGF0YS4wMDUKK2U3ODNjYjA1NjJhNTkxNzkzZjgxN2E2NTllNzA4NDcwICAuL2Rpci0wNzAvZGF0YS4wMDMKK2U3YmQ5MDZmY2U2MmIxMTZmOTA4OGI1ODczN2IzMmM5ICAuL2Rpci0wOTEvZGF0YS4wMDYKK2U3YzcxMGZlOTQ3NTRmOTBmYjY0ZjllN2U4OTM1MWZjICAuL2Rpci0wNjkvZGF0YS4wMTAKK2U4MWVmZjI5Yjc3Mjk2NTZjZjJlMDZlYzRhNjA0MTg1ICAuL2Rpci0wNDgvZGF0YS4wMTAKK2U4MjYyNzA2N2M1YzE1OTcwNTgwYWNmNTkzOWJlMjE2ICAuL2Rpci0wMzAvZGF0YS4wMDAKK2U4NDU1MzdjMTk3N2Y2NjAwNGMwNzliZWI5YWY1ZDc0ICAuL2Rpci0wNjcvZGF0YS4wMDIKK2U4NjQ5YTNjNjYwMGUzNjI0ZjZmMmMxYWIzNmJkNWZjICAuL2Rpci0wMzYvZGF0YS4wMDkKK2U4ODI4OTMwMGIyZjJkYmNjYTRjNjliOTZhYmIzMWUzICAuL2Rpci0wNjAvZGF0YS4wMDYKK2U5MmY3ZjFiMGEwN2FjNjBiMDU3ODZkNTcyNTk2N2FlICAuL2Rpci0wMDUvZGF0YS4wMDMKK2U5ZDYxODg1ZTBiYmUxMzQxYTc3ODllY2JhMTI3YWIzICAuL2Rpci0wMjAvZGF0YS4wMDMKK2U5ZDlmYjEyNWRhNmY3Mjk2YzBlZTY5MjM1ZmRjNTVkICAuL2Rpci0wNDAvZGF0YS4wMDYKK2U5ZWJkY2M3ZmM1Y2UzZWM0MGVjMmMyMmI1NmEwYzVlICAuL2Rpci0wNTcvZGF0YS4wMDMKK2U5ZWVlYWNjZDdjMjYwZjYxMDIyNmQxOTlkY2MxMTMzICAuL2Rpci0wMDEvZGF0YS4wMDMKK2U5ZmUyZGQ0MzdjNzExODA1NThjMDA2NjRkOTY5MzZlICAuL2Rpci0wNTcvZGF0YS4wMDAKK2VhMmQyMGI1OTQ4Mjc4ZjU1Zjg3MDBiYjdjZmI1MjVlICAuL2Rpci0wOTQvZGF0YS4wMDAKK2VhM2E0MGE2ZWQ3YzVjN2JhZGNkZGM4MjkyNDA0NTFmICAuL2Rpci0wMDAvZGF0YS4wMDgKK2VhNjBiODk4NDZmZmU5MDk4ZjM3NjEwMGExNWZkNjIzICAuL2Rpci0wMTkvZGF0YS4wMDYKK2VhYjBkZjdlMzU0YmRkMjAzMjRmZjc1YWEzNTRjNjdlICAuL2Rpci0wMzYvZGF0YS4wMTAKK2VhYzRhZDllNjc4OTcwMjcyOWYxNGQ0ODAyNTRkZjEzICAuL2Rpci0wNzgvZGF0YS4wMDYKK2VhZTc1MWIyZjU4OTBhOGEyZTY2ODQyNTAwODc1NDg5ICAuL2Rpci0wNjQvZGF0YS4wMDcKK2ViMjEzZGVmODU4MmJmOWMzOTEwMzJhYjgxMDIyNGE0ICAuL2Rpci0wMzAvZGF0YS4wMDQKK2ViMjIzOWRjMWMzMjg0YTc0M2VjMjQ4MGI2NmE0NDBhICAuL2Rpci0wOTUvZGF0YS4wMDUKK2ViMzkzMzU0NzRhNWYxMTQ0OTZlNDU4NTVkNjU5NjViICAuL2Rpci0wMzAvZGF0YS4wMDkKK2ViNDljNjUyYTNhOWI2N2Y0OGJlZDVmNDUzYzUxM2ZiICAuL2Rpci0wOTEvZGF0YS4wMDUKK2ViOGFiOGFkZjFmZDhlMmU4MWVjZWFhMmU0MDViZWNmICAuL2Rpci0wMTUvZGF0YS4wMDEKK2VjMTExYmRkOTU2MjkwMmVkMDQ3Y2RkYzRlMjkxZTBmICAuL2Rpci0wMTEvZGF0YS4wMDIKK2VkNjczODE5ODg3N2JhNjcyMTc0YTIzYjM5YWFmMGNhICAuL2Rpci0wNTAvZGF0YS4wMDgKK2VkODdjNDQyNTdlNDRiYWEwNDg2Nzg0NDg5ZmUxZWI3ICAuL2Rpci0wOTMvZGF0YS4wMDMKK2VkYWUyZjk3N2U4ODg1YWFiY2FmZWExNDBlNGVhNDQ1ICAuL2Rpci0xMDMvZGF0YS4wMDIKK2VlMDNjM2M1YzgwYzU0M2JmNTIwMjkzODE0NTVlMGRhICAuL2Rpci0wOTMvZGF0YS4wMTAKK2VlOTBkOGQ4YTY3YzVmMDZkZTlhMzVhNTA1YmQ0ZDgyICAuL2Rpci0wMDUvZGF0YS4wMTAKK2VlOThhY2M0YmE3ZjU5NGE0OWI4NjM2NGVkY2Y0MzEyICAuL2Rpci0wNDcvZGF0YS4wMDYKK2VmNDVhMDEzNTUxNTdkNWM0YThhYzk3ODNkMzBiMDAwICAuL2Rpci0wOTkvZGF0YS4wMTAKK2VmZTZkYWI2OWViMzUwMzg4NmI2MjNhYjI0YWUzMmUwICAuL2Rpci0wMzMvZGF0YS4wMDYKK2YwMjMwYzUzZGI4ZmI5ZmYxYTY2ZWVjMTJiMjhkM2MwICAuL2Rpci0wMjkvZGF0YS4wMTAKK2YwMzhhMjAyY2NlNTc5ZTI5ZWQ3NWVmMmY4ZWM5MjA1ICAuL2Rpci0wNzcvZGF0YS4wMDkKK2YwNjdlZjMzOWRiZmEzNzM4NDJkNmJlYjVkNGM1ODM5ICAuL2Rpci0wMDYvZGF0YS4wMDAKK2YwNmFmMzg4N2E2NjJjYWVkMjIwZTlmZTk4YzEyZjZmICAuL2Rpci0wMDcvZGF0YS4wMDgKK2YwOTMxMWUzMGI1NWYzMTk5ZDZiNTg5MWNmNzE3YmI1ICAuL2Rpci0wODAvZGF0YS4wMDQKK2YwYjY5ZDIxODQ3NTNlNTM0MTY4MWRkZjliYzBkZjMyICAuL2Rpci0wMzcvZGF0YS4wMDgKK2YwZGIzZjcwYTM3ZjY2MGNlMzFiZmUwNjAwYjgwYjQ5ICAuL2Rpci0wODcvZGF0YS4wMDIKK2YxMjdiZWFkNTIxYzBkYTYyZjRhNjA3ZWJkNjYyN2I2ICAuL2Rpci0wNTcvZGF0YS4wMDYKK2YxOGJhNWIwMmJiZjAzYWJlMTJmY2E2NTU2NGRjYjk1ICAuL2Rpci0xMDgvZGF0YS4wMDgKK2YxYmYwNDY2NDM1MGFmYjRjZTVhNWYwZGQyNDVkMmM1ICAuL2Rpci0wMzgvZGF0YS4wMDEKK2YxZDM2N2RlYTdiYjk4YTliZGRkNGY1Y2M3YTk3OThlICAuL2Rpci0wNjUvZGF0YS4wMDQKK2YxZTY0NmY0NmMzNjQ0OWMzNDEyYWVkNGNiMTY0OTY4ICAuL2Rpci0xMTAvZGF0YS4wMDYKK2YyMTRjYTQ4ODIyMWM4MDRhNTU1N2E5YjgwOWFmZDY1ICAuL2Rpci0wNDUvZGF0YS4wMDcKK2YyMzdkMDU5ODU4OWE1NDI4MTVmYmY1ZWY1OTc1MWNjICAuL2Rpci0wNTQvZGF0YS4wMTAKK2YyNTc3YWE4Mjc5MWVjYmYyN2I5MDg1YTIyYzIzZmY5ICAuL2Rpci0wNTkvZGF0YS4wMDIKK2YyNjE2YjJlYTBiM2NlODU2NWU1NjhjMGVkOGVmYWNjICAuL2Rpci0wNzkvZGF0YS4wMDkKK2YyY2M0NDMzNjJiMTU2YTIyMjhmNGE2OWZlNDEwMmJmICAuL2Rpci0wODQvZGF0YS4wMDMKK2YyZGYzYjViYmNiMjI1ZGY4OTVjZGFjMzg0MTQ1ZDg0ICAuL2Rpci0wMjAvZGF0YS4wMDAKK2YzMjk3MzZjYWY0Y2U3ZDgwMjEzZGVmYTExZjNjNjVhICAuL2Rpci0wMjUvZGF0YS4wMDMKK2YzNGZkNGZmNjc4YjIxOGU4NzgwNzI0ZDNiZDJhNDIwICAuL2Rpci0wMjkvZGF0YS4wMDQKK2YzOTI0M2JlYmUxYmJjNzFlODVkZTJiM2Q4ZDcxMjJhICAuL2Rpci0xMDcvZGF0YS4wMDMKK2Y0OWIwNTM1MTM5NzRkNTkzZGNjMmM0NjFjOTZlMmEwICAuL2Rpci0wMjgvZGF0YS4wMTAKK2Y0YzBkMjBmZWNjMDRkYmY3YTIwNGUxMDVmODM2ODkzICAuL2Rpci0xMDEvZGF0YS4wMDUKK2Y0Y2ZiMGJlY2VkOTBlMmFkZjk2ZDNmMmZhMmJhNDY1ICAuL2Rpci0wMzQvZGF0YS4wMDcKK2Y0ZDc0NWMzODVmMDM3YWFmZWYwODMxMGZiMTk0YTJjICAuL2Rpci0wNjYvZGF0YS4wMDQKK2Y1MDg0YWU5ZGVkOTgzM2VlOGM2MzI4MWY1ZWQxNjQxICAuL2Rpci0wNTgvZGF0YS4wMDIKK2Y1MTlkZDJmY2ZjMzA0NzEwMWZhZjkwYmNmMTg2NTRkICAuL2Rpci0wNDkvZGF0YS4wMDUKK2Y1MjU4MzAyZjZhYjhhMzhhN2I2YjA1YjEwZDM1MDk3ICAuL2Rpci0wNTUvZGF0YS4wMDkKK2Y1MzIzZDRkOTE1ZDY3ZjlkNzc3ZDUyMzc0Y2QyN2MwICAuL2Rpci0wMTYvZGF0YS4wMDcKK2Y1ZTc3MzhhOWYyYzNkMDI5MjlkMDA5NzI0MzM2MDIzICAuL2Rpci0wNjcvZGF0YS4wMDUKK2Y2MmQwYzNiNzk5YjI1NzMwZmI2YTQzZDAwMTRmMjIwICAuL2Rpci0wMjIvZGF0YS4wMTAKK2Y2YWJmZGI2M2ZiNGM5ODE4MTQ3MDRmZWRkNGIxOGQwICAuL2Rpci0wNTgvZGF0YS4wMTAKK2Y2ZjdkNDI4NzlkYjc2MjFhZDIwOWQ0NWJkOWQ2YTBhICAuL2Rpci0wMTMvZGF0YS4wMDUKK2Y3MGZhODU2YWExNzQwYjdlZDgyNGE1NDM5NjY1YjBmICAuL2Rpci0wNjIvZGF0YS4wMTAKK2Y3MmRmMDFmOGYyOTBiYzZlMDVmOTcyZGI3YTAxZjkwICAuL2Rpci0wNDgvZGF0YS4wMDIKK2Y3M2ExODNlYWIzZmZlNDA3MDI3N2I5ZTdmMjNkYTU2ICAuL2Rpci0wMzcvZGF0YS4wMDIKK2Y3ZjdiMmYxYjEzNmEwMWQ4YTliM2YxZjZjM2Y5ZTg4ICAuL2Rpci0wMjUvZGF0YS4wMDgKK2Y4MWMwODhjNzAxYTg4ZDliMzk2ZTMwZjk4Nzc2MDY0ICAuL2Rpci0wMzMvZGF0YS4wMTAKK2Y4OTdlNzczNWVmMTgwOGE1YTdiZjYxMjljZjBlMGM5ICAuL2Rpci0wOTIvZGF0YS4wMDUKK2Y4YTY5NjcxN2JiNWE1YWRlY2YwMGRkZDA5N2Q4ZDBjICAuL2Rpci0wOTEvZGF0YS4wMDcKK2Y4ZTIxODZmMDRkNGNiNjgwMWFjYzJjMGE2OGQ4MTBhICAuL2Rpci0wNDkvZGF0YS4wMDEKK2Y4Zjc3NDk5N2M5Mzg4YmI3YTZkNTkzZTYyMjRlOTk4ICAuL2Rpci0xMDQvZGF0YS4wMDcKK2Y5MGU1NGMwOGJlMTFlNGFhY2RmM2MwMmRmZjhlZTFiICAuL2Rpci0wODMvZGF0YS4wMDMKK2Y5MTExYmI5OTMwZDgwY2VhN2I3ZGI2NGYwOTJkNTk3ICAuL2Rpci0wNjgvZGF0YS4wMDgKK2Y5NjlkZTQ2MmRkMWI1OGE2NGJjNzVhZGJlNzMwMTZkICAuL2Rpci0wNDUvZGF0YS4wMDEKK2Y5ODRmODVhNzdkNTdjNmJkM2IzNjY3NzFmZDk4ZWE0ICAuL2Rpci0wNjMvZGF0YS4wMDUKK2Y5YTQ2ODUwOGZkN2U2ZGI1YTc3ZTMxMDFkYWYyMmIzICAuL2Rpci0xMDAvZGF0YS4wMDgKK2Y5YzhlNmMzYTBjNGE5MzhjZWIwMzNmMTUxZTU0MWVhICAuL2Rpci0wNzcvZGF0YS4wMDMKK2Y5ZjkwOTk4MmVhMzNlNzc2Yjk4NWVlNWFjYTUzNzhhICAuL2Rpci0wNTIvZGF0YS4wMDUKK2ZhNDExZjFmOWY1NTliNGVlM2RkMTA5YzJlNTliMTA2ICAuL2Rpci0wODEvZGF0YS4wMDYKK2ZhYTJiYmY4MjBmNzhiMzk0NTRjNGZlZWJlMDhhM2M1ICAuL2Rpci0wMDQvZGF0YS4wMDEKK2ZhYjRmZWZkMmQ4ZWI3N2M0ZjM2Yzg5OTU5YWU3OTgwICAuL2Rpci0wNzMvZGF0YS4wMDMKK2ZiMjM4OGQwM2MyNzIzZjE1NzI4YmRhOWMxZGMyNzYyICAuL2Rpci0wMjQvZGF0YS4wMDYKK2ZiNTI0ZTNiYjc1OGYzMmU3ZDM0ZTUzOGE1ZTQwNTYwICAuL2Rpci0wMTkvZGF0YS4wMTAKK2ZiNTM5ZmIwODFmNGE5NWFjNWI1YjVlMTEzNDNlMmI3ICAuL2Rpci0wNTIvZGF0YS4wMDgKK2ZiN2RkNDhmMzVjMTI4MjEyYjc4NTUxY2NlZGEyNDRjICAuL2Rpci0wMzgvZGF0YS4wMDUKK2ZiOGFhMTZhY2I5ZjcyOTIzODRlMjY1NTg1ZjRkZDM3ICAuL2Rpci0wNTUvZGF0YS4wMDMKK2ZiZDFkYjRkYTg3YzFlZDgwODJkOWNmOTRmYzQyNGFhICAuL2Rpci0wMjcvZGF0YS4wMDMKK2ZjMDRlODRiYjZjNjQwZjg5MDg1NGZjNTc3NWI5ZDhhICAuL2Rpci0wMzQvZGF0YS4wMDQKK2ZjMjFhMDQzOTkwZDAzNzAzMDAzYTUwNmIwNjYyODIxICAuL2Rpci0wMDUvZGF0YS4wMDAKK2ZjMmE0NWYxMGU1MmUxODkxOGQyNWQ2NDBmNzUxNDU3ICAuL2Rpci0wOTkvZGF0YS4wMDcKK2ZjMmU0NzZhNmQxYjdjZTcxYjUxYmQ0MzgxNjg5MWEzICAuL2Rpci0wOTYvZGF0YS4wMDcKK2ZjMzA0NjE2ZjI0MzIyZTI2YTQ2NjZjMGU3MTgxZTdlICAuL2Rpci0wMDYvZGF0YS4wMDIKK2ZjOTA2ZDEzZGY1NmRmYzU1ODBhZjgyM2NhMWFmNjEwICAuL2Rpci0wNzcvZGF0YS4wMDYKK2ZjOTdiMDY2YzBhZjhmMmZhNDBmMmJjOTFjYWUzYjU2ICAuL2Rpci0wNjMvZGF0YS4wMDkKK2ZjOWJkNThmOGYxMjZhODQwNjk4NzM2MGI2NGE5MWZlICAuL2Rpci0wMDQvZGF0YS4wMDgKK2ZjYmFmMzAxMDAwNTBjYzFiYjk5MGU5OGQzMDYwNWI5ICAuL2Rpci0wMDYvZGF0YS4wMTAKK2ZjZDdhNmI3OTI0MjYwYjk5N2FlNjAzZWFkZmFlNTlmICAuL2Rpci0wOTAvZGF0YS4wMDAKK2ZkMWRlY2IzMTQ4MzVjYmI5NWQ0YWE2ZTdiZGYzMzU5ICAuL2Rpci0wNzUvZGF0YS4wMDAKK2ZkMzhkMGRkZDYwNDI5YjNjNzA3MTg2N2E4ZmNmYmMwICAuL2Rpci0wNDcvZGF0YS4wMDgKK2ZkM2U0YzQ4N2NhZTFjNjhmMDVlYTJkYzgxY2JhNzRjICAuL2Rpci0wNTUvZGF0YS4wMDcKK2ZkNjMwMDRhZTg4NmNlOGU1MjA3NTZjNmVmZjA0ODM1ICAuL2Rpci0wMDkvZGF0YS4wMDMKK2ZlMDg2Yjc5YTJjMjlmMTM0MzdjMTM0NmE4Y2I1M2Y0ICAuL2Rpci0wMDkvZGF0YS4wMDUKK2ZlMzUwNWRmMTY0MmU5ZDMwNjI2OWUyZTA3YWIxMDg5ICAuL2Rpci0wNjQvZGF0YS4wMDAKK2ZlNGYzMTBiNzc2ZTMwOTUwM2Y1MjNiOGEyNmQzYmE4ICAuL2Rpci0wODUvZGF0YS4wMTAKK2ZlNjhlYzY2MDdjMTVmMGNlYWJhZGExMDFiMzgyYjBlICAuL2Rpci0wNjkvZGF0YS4wMDQKK2ZlNzc1MWE1NDg3MTcyMzAzZGU2NDg2NzI2MDJjMjhhICAuL2Rpci0wNzYvZGF0YS4wMDIKK2ZlYjhiNjllNjIyNGE3ZWE3MmU4ODFlM2Y0YTQ1YjMyICAuL2Rpci0wMjgvZGF0YS4wMDkKK2ZlZDU0MGExMWYwMGYxZjgwNDcwYmU3YjQ5MWZjNDVjICAuL2Rpci0xMDgvZGF0YS4wMDIKK2ZlZDVlMDBkYzk0ZWQ3NTEwNjExOTRlY2NmMmM3N2UyICAuL2Rpci0wNTAvZGF0YS4wMDcKK2ZmMTBjN2IzN2Q3MDViYzQ4YTFmZGVlNjJlYTc2NjFmICAuL2Rpci0wNzkvZGF0YS4wMDYKK2ZmMTNkNDkzMjZmZjg3NTkxMTllNzg5NTlkZTYyOGU5ICAuL2Rpci0wNDgvZGF0YS4wMDMKK2ZmMjE2ZjBmMmU1NDBlOTA1Nzg3NGIwY2I0ZmRjZGIxICAuL2Rpci0xMDAvZGF0YS4wMDcKK2ZmOTJiZjA0NjM0ZTI2YTI5ODBmZmI2YWQ0N2Y5YzA1ICAuL2Rpci0wMjYvZGF0YS4wMDYKK2ZmZTA3OGRlMzU4MzAyNWM0NzgwYzhmNDMwNTc3MmMzICAuL2Rpci0wODUvZGF0YS4wMDQKK2ZmZjYwMTVjM2I4Zjc5MWY0MDI3NzkxYWMwYjVmNTkzICAuL2Rpci0wNjMvZGF0YS4wMDQKKwordW1vdW50IHRoZSBpbWFnZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY3JhbWZzL21rZnMtZW5kaWFubmVzcyBiL3Rlc3RzL2V4cGVjdGVkL2NyYW1mcy9ta2ZzLWVuZGlhbm5lc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWNmMzk0YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NyYW1mcy9ta2ZzLWVuZGlhbm5lc3MKQEAgLTAsMCArMSw4MCBAQAorY3JlYXRlIGxpdHRsZSBlbmRpYW4KKzAwMDAwMDAwICA0NSAzZCBjZCAyOCAwMCAxMCAwMCAwMCAgMDMgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHxFPS4oLi4uLi4uLi4uLi4ufAorMDAwMDAwMTAgIDQzIDZmIDZkIDcwIDcyIDY1IDczIDczICA2NSA2NCAyMCA1MiA0ZiA0ZCA0NiA1MyAgfENvbXByZXNzZWQgUk9NRlN8CiswMDAwMDAyMCAgOWIgZDMgMzkgY2EgMDAgMDAgMDAgMDAgIDA1IDAwIDAwIDAwIDA1IDAwIDAwIDAwICB8Li45Li4uLi4uLi4uLi4uLnwKKzAwMDAwMDMwICA0MyA2ZiA2ZCA3MCA3MiA2NSA3MyA3MyAgNjUgNjQgMDAgMDAgMDAgMDAgMDAgMDAgIHxDb21wcmVzc2VkLi4uLi4ufAorMDAwMDAwNDAgIGVkIDQxIDAwIDAwIDEwIDAwIDAwIDAwICBjMCAwNCAwMCAwMCBlZCA0MSAwMCAwMCAgfC5BLi4uLi4uLi4uLi5BLi58CiswMDAwMDA1MCAgMTAgMDAgMDAgMDAgYzEgMDUgMDAgMDAgIDY0IDY5IDcyIDQxIGVkIDQxIDAwIDAwICB8Li4uLi4uLi5kaXJBLkEuLnwKKzAwMDAwMDYwICAyMCAwMCAwMCAwMCBjMSAwNiAwMCAwMCAgNjQgNjkgNzIgNDIgYTQgODEgMDAgMDAgIHwgLi4uLi4uLmRpckIuLi4ufAorMDAwMDAwNzAgIDAwIDAyIDAwIDAwIGMxIDA4IDAwIDAwICA2MSAwMCAwMCAwMCBhNCA4MSAwMCAwMCAgfC4uLi4uLi4uYS4uLi4uLi58CiswMDAwMDA4MCAgMDAgM2MgMDAgMDAgYzEgMGMgMDAgMDAgIDYyIDAwIDAwIDAwIGNiIDAwIDAwIDAwICB8LjwuLi4uLi5iLi4uLi4uLnwKKzAwMDAwMDkwICA3OCA5YyAwYiA0OSAyZCAyZSBjOSBjYyAgNGIgNTcgNDggMmUgNGEgY2MgNGQgMmIgIHx4Li5JLS4uLktXSC5KLk0rfAorMDAwMDAwYTAgIDU2IDMwIDM0IDMyIDM2IDMxIDM1IDMzICBiNyBiMCAzNCA1MCA3MCBjZCA0YiBjOSAgfFYwNDI2MTUzLi40UHAuSy58CiswMDAwMDBiMCAgNGMgY2MgY2IgNGIgMmQgMmUgNTYgNDggIGNlIDQ4IDRkIGNlIGM2IDI3IGM3IDE1ICB8TC4uSy0uVkguSE0uLicuLnwKKzAwMDAwMGMwICAzMiA2YSBjYyBkMCAzNCAwNiAwMCAzNyAgYzggYTIgODEgMDAgMzMgMDEgMDAgMDAgIHwyai4uNC4uNy4uLi4zLi4ufAorMDAwMDAwZDAgIDhkIDAxIDAwIDAwIGU3IDAxIDAwIDAwICAzOCAwMiAwMCAwMCA3OCA5YyBlZCBjYyAgfC4uLi4uLi4uOC4uLnguLi58CiswMDAwMDBlMCAgYmIgMGQgODAgMzAgMGMgNDAgYzEgOWUgIDI5IDNjIDAyIGZmIGNmIDAwIDZjIDkwICB8Li4uMC5ALi4pPC4uLi5sLnwKKzAwMDAwMGYwICAwNSAyMiAyNyA0MCA4NCA3MCA4MSBkOSAgNWYgNmMgNDAgNGQgZjEgZWEgOTMgMmUgIHwuIidALnAuLl9sQE0uLi4ufAorMDAwMDAxMDAgIDY0IDdmIDhhIGVkIGEyIDc3IGJjIDM2ICA5NyBhNiBlZCBmYSA2MSA5YyBlNiBhNSAgfGQuLi4udy42Li4uLmEuLi58CiswMDAwMDExMCAgOTYgZDUgNTIgODkgNjYgZDkgNWQgZjQgIGM4IDdhIDdlIDU5IDE1IDY4IDY4IDY4ICB8Li5SLmYuXS4uen5ZLmhoaHwKKzAwMDAwMTIwICA2OCA2OCA2OCA2OCA2OCA2OCA2OCA2OCAgNjggNjggNjggNjggZmUgZGIgYmMgMWYgIHxoaGhoaGhoaGhoaGguLi4ufAorMDAwMDAxMzAgIGRkIDBkIDI4IDc4IDljIGVkIGNjIGJiICAwZCA4MCAzMCAwYyAwMCBkMSA5ZSAyOSAgfC4uKHguLi4uLi4wLi4uLil8CiswMDAwMDE0MCAgM2MgMDIgZmYgYzAgMDAgNmMgYzAgMDIgIDUxIDMwIDEwIDIxIDVjIDYwIGY2IDE3ICB8PC4uLi5sLi5RMC4hXGAuLnwKKzAwMDAwMTUwICAwYiAyMCA2YSA4YSBhYiBlZiBmNCBjMiAgMzAgOTYgMzIgZDkgOTIgYTMgOTkgYmEgIHwuIGouLi4uLjAuMi4uLi4ufAorMDAwMDAxNjAgIDRiIGRhIDM1IDFkIGM1IGFjIDdlIDY3ICBkYiAyNCA1ZCBmMSA1YyA1ZCBhYSBiYSAgfEsuNS4uLn5nLiRdLlxdLi58CiswMDAwMDE3MCAgNjkgYmIgM2UgYmMgYWQgNWYgMGQgMDYgIDA2IDA2IDA2IDA2IDA2IDA2IDA2IDA2ICB8aS4+Li5fLi4uLi4uLi4uLnwKKzAwMDAwMTgwICAwNiAwNiAwNiAwNiAwNiBlNiAxZiBjYyAgMDMgNzYgM2QgMGQgMWEgNzggOWMgZWQgIHwuLi4uLi4uLi52PS4ueC4ufAorMDAwMDAxOTAgIGNjIGJiIDBkIDgwIDMwIDBjIDAwIGQxICA5ZSAyOSAzYyAwMiBmZiBjZiAwMCA2YyAgfC4uLi4wLi4uLik8Li4uLmx8CiswMDAwMDFhMCAgYzAgMDIgOTEgMDkgMTAgMjEgNWMgNjAgIGY2IDE3IDM1IDBkIDc1IDhhIGFiIGVmICB8Li4uLi4hXGAuLjUudS4uLnwKKzAwMDAwMWIwICBmNCA2YyA0ZCBjMSAyYyBiYSA4YiAxZSAgNTEgNGYgYTkgZWEgYTYgZWQgZmEgNjEgIHwubE0uLC4uLlFPLi4uLi5hfAorMDAwMDAxYzAgIDljIDRhIDk5IGVkIGRiIDhhIDI1IGZhICA5MyA2YyAxNyBiZCBjMyBiNSBmOSBkZiAgfC5KLi4uLiUuLmwuLi4uLi58CiswMDAwMDFkMCAgMGEgMDMgMDMgMDMgMDMgMDMgMDMgMDMgIDAzIDAzIDAzIDAzIDAzIDAzIDAzIDkzICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWUwICAxMyBmMyAwMiBiMSBiMiAwZSA0ZCA3OCAgOWMgY2IgNGIgNTcgNDggMmUgNGEgY2MgIHwuLi4uLi5NeC4uS1dILkoufAorMDAwMDAxZjAgIDRkIDJiIDU2IDMwIDM0IDMyIDM2IDMxICAzNSAzMyBiNyBiMCAzNCA1MCA3MCBjZCAgfE0rVjA0MjYxNTMuLjRQcC58CiswMDAwMDIwMCAgNGIgYzkgNGMgY2MgY2IgNGIgMmQgMmUgIDU2IDQ4IGNlIDQ4IDRkIGNlIGM2IDI3ICB8Sy5MLi5LLS5WSC5ITS4uJ3wKKzAwMDAwMjEwICBjNyAxNSA5MiA1YSA1YyA5MiA5OSAzNyAgNmEgY2MgYTggMzEgYTMgYzYgOGMgMWEgIHwuLi5aXC4uN2ouLjEuLi4ufAorMDAwMDAyMjAgIDMzIDZhIGNjIGE4IDMxIGEzIGM2IDhjICAxYSAzMyA2YSBjYyBhOCAzMSBhMyBjNiAgfDNqLi4xLi4uLjNqLi4xLi58CiswMDAwMDIzMCAgMGMgN2UgNjMgMDAgZDEgNWMgYzkgNmEgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Ln5jLi5cLmouLi4uLi4uLnwKKzAwMDAwMjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDEwMDAKK2NyZWF0ZSBiaWcgZW5kaWFuCiswMDAwMDAwMCAgMjggY2QgM2QgNDUgMDAgMDAgMTAgMDAgIDAwIDAwIDAwIDAzIDAwIDAwIDAwIDAwICB8KC49RS4uLi4uLi4uLi4uLnwKKzAwMDAwMDEwICA0MyA2ZiA2ZCA3MCA3MiA2NSA3MyA3MyAgNjUgNjQgMjAgNTIgNGYgNGQgNDYgNTMgIHxDb21wcmVzc2VkIFJPTUZTfAorMDAwMDAwMjAgIGQzIDUwIGNjIDAyIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwNSAwMCAwMCAwMCAwNSAgfC5QLi4uLi4uLi4uLi4uLi58CiswMDAwMDAzMCAgNDMgNmYgNmQgNzAgNzIgNjUgNzMgNzMgIDY1IDY0IDAwIDAwIDAwIDAwIDAwIDAwICB8Q29tcHJlc3NlZC4uLi4uLnwKKzAwMDAwMDQwICA0MSBlZCAwMCAwMCAwMCAwMCAxMCAwMCAgMDAgMDAgMDAgMTMgNDEgZWQgMDAgMDAgIHxBLi4uLi4uLi4uLi5BLi4ufAorMDAwMDAwNTAgIDAwIDAwIDEwIDAwIDA0IDAwIDAwIDE3ICA2NCA2OSA3MiA0MSA0MSBlZCAwMCAwMCAgfC4uLi4uLi4uZGlyQUEuLi58CiswMDAwMDA2MCAgMDAgMDAgMjAgMDAgMDQgMDAgMDAgMWIgIDY0IDY5IDcyIDQyIDgxIGE0IDAwIDAwICB8Li4gLi4uLi5kaXJCLi4uLnwKKzAwMDAwMDcwICAwMCAwMiAwMCAwMCAwNCAwMCAwMCAyMyAgNjEgMDAgMDAgMDAgODEgYTQgMDAgMDAgIHwuLi4uLi4uI2EuLi4uLi4ufAorMDAwMDAwODAgIDAwIDNjIDAwIDAwIDA0IDAwIDAwIDMzICA2MiAwMCAwMCAwMCAwMCAwMCAwMCBjYiAgfC48Li4uLi4zYi4uLi4uLi58CiswMDAwMDA5MCAgNzggOWMgMGIgNDkgMmQgMmUgYzkgY2MgIDRiIDU3IDQ4IDJlIDRhIGNjIDRkIDJiICB8eC4uSS0uLi5LV0guSi5NK3wKKzAwMDAwMGEwICA1NiAzMCAzNCAzMiAzNiAzMSAzNSAzMyAgYjcgYjAgMzQgNTAgNzAgY2QgNGIgYzkgIHxWMDQyNjE1My4uNFBwLksufAorMDAwMDAwYjAgIDRjIGNjIGNiIDRiIDJkIDJlIDU2IDQ4ICBjZSA0OCA0ZCBjZSBjNiAyNyBjNyAxNSAgfEwuLkstLlZILkhNLi4nLi58CiswMDAwMDBjMCAgMzIgNmEgY2MgZDAgMzQgMDYgMDAgMzcgIGM4IGEyIDgxIDAwIDAwIDAwIDAxIDMzICB8MmouLjQuLjcuLi4uLi4uM3wKKzAwMDAwMGQwICAwMCAwMCAwMSA4ZCAwMCAwMCAwMSBlNyAgMDAgMDAgMDIgMzggNzggOWMgZWQgY2MgIHwuLi4uLi4uLi4uLjh4Li4ufAorMDAwMDAwZTAgIGJiIDBkIDgwIDMwIDBjIDQwIGMxIDllICAyOSAzYyAwMiBmZiBjZiAwMCA2YyA5MCAgfC4uLjAuQC4uKTwuLi4ubC58CiswMDAwMDBmMCAgMDUgMjIgMjcgNDAgODQgNzAgODEgZDkgIDVmIDZjIDQwIDRkIGYxIGVhIDkzIDJlICB8LiInQC5wLi5fbEBNLi4uLnwKKzAwMDAwMTAwICA2NCA3ZiA4YSBlZCBhMiA3NyBiYyAzNiAgOTcgYTYgZWQgZmEgNjEgOWMgZTYgYTUgIHxkLi4uLncuNi4uLi5hLi4ufAorMDAwMDAxMTAgIDk2IGQ1IDUyIDg5IDY2IGQ5IDVkIGY0ICBjOCA3YSA3ZSA1OSAxNSA2OCA2OCA2OCAgfC4uUi5mLl0uLnp+WS5oaGh8CiswMDAwMDEyMCAgNjggNjggNjggNjggNjggNjggNjggNjggIDY4IDY4IDY4IDY4IGZlIGRiIGJjIDFmICB8aGhoaGhoaGhoaGhoLi4uLnwKKzAwMDAwMTMwICBkZCAwZCAyOCA3OCA5YyBlZCBjYyBiYiAgMGQgODAgMzAgMGMgMDAgZDEgOWUgMjkgIHwuLih4Li4uLi4uMC4uLi4pfAorMDAwMDAxNDAgIDNjIDAyIGZmIGMwIDAwIDZjIGMwIDAyICA1MSAzMCAxMCAyMSA1YyA2MCBmNiAxNyAgfDwuLi4ubC4uUTAuIVxgLi58CiswMDAwMDE1MCAgMGIgMjAgNmEgOGEgYWIgZWYgZjQgYzIgIDMwIDk2IDMyIGQ5IDkyIGEzIDk5IGJhICB8LiBqLi4uLi4wLjIuLi4uLnwKKzAwMDAwMTYwICA0YiBkYSAzNSAxZCBjNSBhYyA3ZSA2NyAgZGIgMjQgNWQgZjEgNWMgNWQgYWEgYmEgIHxLLjUuLi5+Zy4kXS5cXS4ufAorMDAwMDAxNzAgIDY5IGJiIDNlIGJjIGFkIDVmIDBkIDA2ICAwNiAwNiAwNiAwNiAwNiAwNiAwNiAwNiAgfGkuPi4uXy4uLi4uLi4uLi58CiswMDAwMDE4MCAgMDYgMDYgMDYgMDYgMDYgZTYgMWYgY2MgIDAzIDc2IDNkIDBkIDFhIDc4IDljIGVkICB8Li4uLi4uLi4udj0uLnguLnwKKzAwMDAwMTkwICBjYyBiYiAwZCA4MCAzMCAwYyAwMCBkMSAgOWUgMjkgM2MgMDIgZmYgY2YgMDAgNmMgIHwuLi4uMC4uLi4pPC4uLi5sfAorMDAwMDAxYTAgIGMwIDAyIDkxIDA5IDEwIDIxIDVjIDYwICBmNiAxNyAzNSAwZCA3NSA4YSBhYiBlZiAgfC4uLi4uIVxgLi41LnUuLi58CiswMDAwMDFiMCAgZjQgNmMgNGQgYzEgMmMgYmEgOGIgMWUgIDUxIDRmIGE5IGVhIGE2IGVkIGZhIDYxICB8LmxNLiwuLi5RTy4uLi4uYXwKKzAwMDAwMWMwICA5YyA0YSA5OSBlZCBkYiA4YSAyNSBmYSAgOTMgNmMgMTcgYmQgYzMgYjUgZjkgZGYgIHwuSi4uLi4lLi5sLi4uLi4ufAorMDAwMDAxZDAgIDBhIDAzIDAzIDAzIDAzIDAzIDAzIDAzICAwMyAwMyAwMyAwMyAwMyAwMyAwMyA5MyAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMDFlMCAgMTMgZjMgMDIgYjEgYjIgMGUgNGQgNzggIDljIGNiIDRiIDU3IDQ4IDJlIDRhIGNjICB8Li4uLi4uTXguLktXSC5KLnwKKzAwMDAwMWYwICA0ZCAyYiA1NiAzMCAzNCAzMiAzNiAzMSAgMzUgMzMgYjcgYjAgMzQgNTAgNzAgY2QgIHxNK1YwNDI2MTUzLi40UHAufAorMDAwMDAyMDAgIDRiIGM5IDRjIGNjIGNiIDRiIDJkIDJlICA1NiA0OCBjZSA0OCA0ZCBjZSBjNiAyNyAgfEsuTC4uSy0uVkguSE0uLid8CiswMDAwMDIxMCAgYzcgMTUgOTIgNWEgNWMgOTIgOTkgMzcgIDZhIGNjIGE4IDMxIGEzIGM2IDhjIDFhICB8Li4uWlwuLjdqLi4xLi4uLnwKKzAwMDAwMjIwICAzMyA2YSBjYyBhOCAzMSBhMyBjNiA4YyAgMWEgMzMgNmEgY2MgYTggMzEgYTMgYzYgIHwzai4uMS4uLi4zai4uMS4ufAorMDAwMDAyMzAgIDBjIDdlIDYzIDAwIGQxIDVjIGM5IDZhICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC5+Yy4uXC5qLi4uLi4uLi58CiswMDAwMDI0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAxMDAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9kbWVzZy9jb2xvcnMgYi90ZXN0cy9leHBlY3RlZC9kbWVzZy9jb2xvcnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBhY2E3MwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2RtZXNnL2NvbG9ycwpAQCAtMCwwICsxLDEwNSBAQAora2VybiAgOmVtZXJnIDogG1szMm1bICAgIDAuMDAwMDAwXSAbWzBtZXhhbXBsZVswXQora2VybiAgOmFsZXJ0IDogG1szMm1bICAgIDEuMDAwMDAwXSAbWzBtG1s3bRtbMzFtZXhhbXBsZVsxXRtbMG0KK2tlcm4gIDpjcml0ICA6IBtbMzJtWyAgICA4LjAwMDAwMF0gG1swbRtbMW0bWzMxbWV4YW1wbGVbMl0bWzBtCitrZXJuICA6ZXJyICAgOiAbWzMybVsgICAyNy4wMDAwMDBdIBtbMG0bWzMxbWV4YW1wbGVbM10bWzBtCitrZXJuICA6d2FybiAgOiAbWzMybVsgICA2NC4wMDAwMDBdIBtbMG0bWzFtZXhhbXBsZVs0XRtbMG0KK2tlcm4gIDpub3RpY2U6IBtbMzJtWyAgMTI1LjAwMDAwMF0gG1swbWV4YW1wbGVbNV0KK2tlcm4gIDppbmZvICA6IBtbMzJtWyAgMjE2LjAwMDAwMF0gG1swbWV4YW1wbGVbNl0KK2tlcm4gIDpkZWJ1ZyA6IBtbMzJtWyAgMzQzLjAwMDAwMF0gG1swbWV4YW1wbGVbN10KK3VzZXIgIDplbWVyZyA6IBtbMzJtWyAgNTEyLjAwMDAwMF0gG1swbWV4YW1wbGVbOF0KK3VzZXIgIDphbGVydCA6IBtbMzJtWyAgNzI5LjAwMDAwMF0gG1swbRtbN20bWzMxbWV4YW1wbGVbOV0bWzBtCit1c2VyICA6Y3JpdCAgOiAbWzMybVsgMTAwMC4wMDAwMDBdIBtbMG0bWzFtG1szMW1leGFtcGxlWzEwXRtbMG0KK3VzZXIgIDplcnIgICA6IBtbMzJtWyAxMzMxLjAwMDAwMF0gG1swbRtbMzFtZXhhbXBsZVsxMV0bWzBtCit1c2VyICA6d2FybiAgOiAbWzMybVsgMTcyOC4wMDAwMDBdIBtbMG0bWzFtZXhhbXBsZVsxMl0bWzBtCit1c2VyICA6bm90aWNlOiAbWzMybVsgMjE5Ny4wMDAwMDBdIBtbMG1leGFtcGxlWzEzXQordXNlciAgOmluZm8gIDogG1szMm1bIDI3NDQuMDAwMDAwXSAbWzBtZXhhbXBsZVsxNF0KK3VzZXIgIDpkZWJ1ZyA6IBtbMzJtWyAzMzc1LjAwMDAwMF0gG1swbWV4YW1wbGVbMTVdCittYWlsICA6ZW1lcmcgOiAbWzMybVsgNDA5Ni4wMDAwMDBdIBtbMG1leGFtcGxlWzE2XQorbWFpbCAgOmFsZXJ0IDogG1szMm1bIDQ5MTMuMDAwMDAwXSAbWzBtG1s3bRtbMzFtZXhhbXBsZVsxN10bWzBtCittYWlsICA6Y3JpdCAgOiAbWzMybVsgNTgzMi4wMDAwMDBdIBtbMG0bWzFtG1szMW1leGFtcGxlWzE4XRtbMG0KK21haWwgIDplcnIgICA6IBtbMzJtWyA2ODU5LjAwMDAwMF0gG1swbRtbMzFtZXhhbXBsZVsxOV0bWzBtCittYWlsICA6d2FybiAgOiAbWzMybVsgODAwMC4wMDAwMDBdIBtbMG0bWzFtZXhhbXBsZVsyMF0bWzBtCittYWlsICA6bm90aWNlOiAbWzMybVsgOTI2MS4wMDAwMDBdIBtbMG1leGFtcGxlWzIxXQorbWFpbCAgOmluZm8gIDogG1szMm1bMTA2NDguMDAwMDAwXSAbWzBtZXhhbXBsZVsyMl0KK21haWwgIDpkZWJ1ZyA6IBtbMzJtWzEyMTY3LjAwMDAwMF0gG1swbWV4YW1wbGVbMjNdCitkYWVtb246ZW1lcmcgOiAbWzMybVsxMzgyNC4wMDAwMDBdIBtbMG1leGFtcGxlWzI0XQorZGFlbW9uOmFsZXJ0IDogG1szMm1bMTU2MjUuMDAwMDAwXSAbWzBtG1s3bRtbMzFtZXhhbXBsZVsyNV0bWzBtCitkYWVtb246Y3JpdCAgOiAbWzMybVsxNzU3Ni4wMDAwMDBdIBtbMG0bWzFtG1szMW1leGFtcGxlWzI2XRtbMG0KK2RhZW1vbjplcnIgICA6IBtbMzJtWzE5NjgzLjAwMDAwMF0gG1swbRtbMzFtZXhhbXBsZVsyN10bWzBtCitkYWVtb246d2FybiAgOiAbWzMybVsyMTk1Mi4wMDAwMDBdIBtbMG0bWzFtZXhhbXBsZVsyOF0bWzBtCitkYWVtb246bm90aWNlOiAbWzMybVsyNDM4OS4wMDAwMDBdIBtbMG1leGFtcGxlWzI5XQorZGFlbW9uOmluZm8gIDogG1szMm1bMjcwMDAuMDAwMDAwXSAbWzBtZXhhbXBsZVszMF0KK2RhZW1vbjpkZWJ1ZyA6IBtbMzJtWzI5NzkxLjAwMDAwMF0gG1swbWV4YW1wbGVbMzFdCithdXRoICA6ZW1lcmcgOiAbWzMybVszMjc2OC4wMDAwMDBdIBtbMG1leGFtcGxlWzMyXQorYXV0aCAgOmFsZXJ0IDogG1szMm1bMzU5MzcuMDAwMDAwXSAbWzBtG1s3bRtbMzFtZXhhbXBsZVszM10bWzBtCithdXRoICA6Y3JpdCAgOiAbWzMybVszOTMwNC4wMDAwMDBdIBtbMG0bWzFtG1szMW1leGFtcGxlWzM0XRtbMG0KK2F1dGggIDplcnIgICA6IBtbMzJtWzQyODc1LjAwMDAwMF0gG1swbRtbMzFtZXhhbXBsZVszNV0bWzBtCithdXRoICA6d2FybiAgOiAbWzMybVs0NjY1Ni4wMDAwMDBdIBtbMG0bWzFtZXhhbXBsZVszNl0bWzBtCithdXRoICA6bm90aWNlOiAbWzMybVs1MDY1My4wMDAwMDBdIBtbMG1leGFtcGxlWzM3XQorYXV0aCAgOmluZm8gIDogG1szMm1bNTQ4NzIuMDAwMDAwXSAbWzBtZXhhbXBsZVszOF0KK2F1dGggIDpkZWJ1ZyA6IBtbMzJtWzU5MzE5LjAwMDAwMF0gG1swbWV4YW1wbGVbMzldCitzeXNsb2c6ZW1lcmcgOiAbWzMybVs2NDAwMC4wMDAwMDBdIBtbMG1leGFtcGxlWzQwXQorc3lzbG9nOmFsZXJ0IDogG1szMm1bNjg5MjEuMDAwMDAwXSAbWzBtG1s3bRtbMzFtZXhhbXBsZVs0MV0bWzBtCitzeXNsb2c6Y3JpdCAgOiAbWzMybVs3NDA4OC4wMDAwMDBdIBtbMG0bWzFtG1szMW1leGFtcGxlWzQyXRtbMG0KK3N5c2xvZzplcnIgICA6IBtbMzJtWzc5NTA3LjAwMDAwMF0gG1swbRtbMzFtZXhhbXBsZVs0M10bWzBtCitzeXNsb2c6d2FybiAgOiAbWzMybVs4NTE4NC4wMDAwMDBdIBtbMG0bWzFtZXhhbXBsZVs0NF0bWzBtCitzeXNsb2c6bm90aWNlOiAbWzMybVs5MTEyNS4wMDAwMDBdIBtbMG1leGFtcGxlWzQ1XQorc3lzbG9nOmluZm8gIDogG1szMm1bOTczMzYuMDAwMDAwXSAbWzBtZXhhbXBsZVs0Nl0KK3N5c2xvZzpkZWJ1ZyA6IBtbMzJtWzEwMzgyMy4wMDAwMDBdIBtbMG1leGFtcGxlWzQ3XQorbHByICAgOmVtZXJnIDogG1szMm1bMTEwNTkyLjAwMDAwMF0gG1swbWV4YW1wbGVbNDhdCitscHIgICA6YWxlcnQgOiAbWzMybVsxMTc2NDkuMDAwMDAwXSAbWzBtG1s3bRtbMzFtZXhhbXBsZVs0OV0bWzBtCitscHIgICA6Y3JpdCAgOiAbWzMybVsxMjUwMDAuMDAwMDAwXSAbWzBtG1sxbRtbMzFtZXhhbXBsZVs1MF0bWzBtCitscHIgICA6ZXJyICAgOiAbWzMybVsxMzI2NTEuMDAwMDAwXSAbWzBtG1szMW1leGFtcGxlWzUxXRtbMG0KK2xwciAgIDp3YXJuICA6IBtbMzJtWzE0MDYwOC4wMDAwMDBdIBtbMG0bWzFtZXhhbXBsZVs1Ml0bWzBtCitscHIgICA6bm90aWNlOiAbWzMybVsxNDg4NzcuMDAwMDAwXSAbWzBtZXhhbXBsZVs1M10KK2xwciAgIDppbmZvICA6IBtbMzJtWzE1NzQ2NC4wMDAwMDBdIBtbMG1leGFtcGxlWzU0XQorbHByICAgOmRlYnVnIDogG1szMm1bMTY2Mzc1LjAwMDAwMF0gG1swbWV4YW1wbGVbNTVdCituZXdzICA6ZW1lcmcgOiAbWzMybVsxNzU2MTYuMDAwMDAwXSAbWzBtZXhhbXBsZVs1Nl0KK25ld3MgIDphbGVydCA6IBtbMzJtWzE4NTE5My4wMDAwMDBdIBtbMG0bWzdtG1szMW1leGFtcGxlWzU3XRtbMG0KK25ld3MgIDpjcml0ICA6IBtbMzJtWzE5NTExMi4wMDAwMDBdIBtbMG0bWzFtG1szMW1leGFtcGxlWzU4XRtbMG0KK25ld3MgIDplcnIgICA6IBtbMzJtWzIwNTM3OS4wMDAwMDBdIBtbMG0bWzMxbWV4YW1wbGVbNTldG1swbQorbmV3cyAgOndhcm4gIDogG1szMm1bMjE2MDAwLjAwMDAwMF0gG1swbRtbMW1leGFtcGxlWzYwXRtbMG0KK25ld3MgIDpub3RpY2U6IBtbMzJtWzIyNjk4MS4wMDAwMDBdIBtbMG1leGFtcGxlWzYxXQorbmV3cyAgOmluZm8gIDogG1szMm1bMjM4MzI4LjAwMDAwMF0gG1swbWV4YW1wbGVbNjJdCituZXdzICA6ZGVidWcgOiAbWzMybVsyNTAwNDcuMDAwMDAwXSAbWzBtZXhhbXBsZVs2M10KK3V1Y3AgIDplbWVyZyA6IBtbMzJtWzI2MjE0NC4wMDAwMDBdIBtbMG1leGFtcGxlWzY0XQordXVjcCAgOmFsZXJ0IDogG1szMm1bMjc0NjI1LjAwMDAwMF0gG1swbRtbN20bWzMxbWV4YW1wbGVbNjVdG1swbQordXVjcCAgOmNyaXQgIDogG1szMm1bMjg3NDk2LjAwMDAwMF0gG1swbRtbMW0bWzMxbWV4YW1wbGVbNjZdG1swbQordXVjcCAgOmVyciAgIDogG1szMm1bMzAwNzYzLjAwMDAwMF0gG1swbRtbMzFtZXhhbXBsZVs2N10bWzBtCit1dWNwICA6d2FybiAgOiAbWzMybVszMTQ0MzIuMDAwMDAwXSAbWzBtG1sxbWV4YW1wbGVbNjhdG1swbQordXVjcCAgOm5vdGljZTogG1szMm1bMzI4NTA5LjAwMDAwMF0gG1swbWV4YW1wbGVbNjldCit1dWNwICA6aW5mbyAgOiAbWzMybVszNDMwMDAuMDAwMDAwXSAbWzBtZXhhbXBsZVs3MF0KK3V1Y3AgIDpkZWJ1ZyA6IBtbMzJtWzM1NzkxMS4wMDAwMDBdIBtbMG1leGFtcGxlWzcxXQorY3JvbiAgOmVtZXJnIDogG1szMm1bMzczMjQ4LjAwMDAwMF0gG1swbWV4YW1wbGVbNzJdCitjcm9uICA6YWxlcnQgOiAbWzMybVszODkwMTcuMDAwMDAwXSAbWzBtG1s3bRtbMzFtZXhhbXBsZVs3M10bWzBtCitjcm9uICA6Y3JpdCAgOiAbWzMybVs0MDUyMjQuMDAwMDAwXSAbWzBtG1sxbRtbMzFtZXhhbXBsZVs3NF0bWzBtCitjcm9uICA6ZXJyICAgOiAbWzMybVs0MjE4NzUuMDAwMDAwXSAbWzBtG1szMW1leGFtcGxlWzc1XRtbMG0KK2Nyb24gIDp3YXJuICA6IBtbMzJtWzQzODk3Ni4wMDAwMDBdIBtbMG0bWzFtZXhhbXBsZVs3Nl0bWzBtCitjcm9uICA6bm90aWNlOiAbWzMybVs0NTY1MzMuMDAwMDAwXSAbWzBtZXhhbXBsZVs3N10KK2Nyb24gIDppbmZvICA6IBtbMzJtWzQ3NDU1Mi4wMDAwMDBdIBtbMG1leGFtcGxlWzc4XQorY3JvbiAgOmRlYnVnIDogG1szMm1bNDkzMDM5LjAwMDAwMF0gG1swbWV4YW1wbGVbNzldCithdXRocHJpdjplbWVyZyA6IBtbMzJtWzUxMjAwMC4wMDAwMDBdIBtbMG1leGFtcGxlWzgwXQorYXV0aHByaXY6YWxlcnQgOiAbWzMybVs1MzE0NDEuMDAwMDAwXSAbWzBtG1s3bRtbMzFtZXhhbXBsZVs4MV0bWzBtCithdXRocHJpdjpjcml0ICA6IBtbMzJtWzU1MTM2OC4wMDAwMDBdIBtbMG0bWzFtG1szMW1leGFtcGxlWzgyXRtbMG0KK2F1dGhwcml2OmVyciAgIDogG1szMm1bNTcxNzg3LjAwMDAwMF0gG1swbRtbMzFtZXhhbXBsZVs4M10bWzBtCithdXRocHJpdjp3YXJuICA6IBtbMzJtWzU5MjcwNC4wMDAwMDBdIBtbMG0bWzFtZXhhbXBsZVs4NF0bWzBtCithdXRocHJpdjpub3RpY2U6IBtbMzJtWzYxNDEyNS4wMDAwMDBdIBtbMG1leGFtcGxlWzg1XQorYXV0aHByaXY6aW5mbyAgOiAbWzMybVs2MzYwNTYuMDAwMDAwXSAbWzBtZXhhbXBsZVs4Nl0KK2F1dGhwcml2OmRlYnVnIDogG1szMm1bNjU4NTAzLjAwMDAwMF0gG1swbWV4YW1wbGVbODddCitmdHAgICA6ZW1lcmcgOiAbWzMybVs2ODE0NzIuMDAwMDAwXSAbWzBtZXhhbXBsZVs4OF0KK2Z0cCAgIDphbGVydCA6IBtbMzJtWzcwNDk2OS4wMDAwMDBdIBtbMG0bWzdtG1szMW1leGFtcGxlWzg5XRtbMG0KK2Z0cCAgIDpjcml0ICA6IBtbMzJtWzcyOTAwMC4wMDAwMDBdIBtbMG0bWzFtG1szMW1leGFtcGxlWzkwXRtbMG0KK2Z0cCAgIDplcnIgICA6IBtbMzJtWzc1MzU3MS4wMDAwMDBdIBtbMG0bWzMxbWV4YW1wbGVbOTFdG1swbQorZnRwICAgOndhcm4gIDogG1szMm1bNzc4Njg4LjAwMDAwMF0gG1swbRtbMW1leGFtcGxlWzkyXRtbMG0KK2Z0cCAgIDpub3RpY2U6IBtbMzJtWzgwNDM1Ny4wMDAwMDBdIBtbMG1leGFtcGxlWzkzXQorZnRwICAgOmluZm8gIDogG1szMm1bODMwNTg0LjAwMDAwMF0gG1swbWV4YW1wbGVbOTRdCitmdHAgICA6ZGVidWcgOiAbWzMybVs4NTczNzUuMDAwMDAwXSAbWzBtZXhhbXBsZVs5NV0KKxtbMzJtWzg4NDczNi4wMDAwMDBdIBtbMG1leGFtcGxlWzk2XQorG1szMm1bOTEyNjczLjAwMDAwMF0gG1swbRtbN20bWzMxbWV4YW1wbGVbOTddG1swbQorG1szMm1bOTQxMTkyLjAwMDAwMF0gG1swbRtbMW0bWzMxbWV4YW1wbGVbOThdG1swbQorG1szMm1bOTcwMjk5LjAwMDAwMF0gG1swbRtbMzFtZXhhbXBsZVs5OV0bWzBtCisbWzMybVsxMDAwMDAwLjAwMDAwMF0gG1swbRtbMW1leGFtcGxlWzEwMF0bWzBtCisbWzMybVsxMDMwMzAxLjAwMDAwMF0gG1swbWV4YW1wbGVbMTAxXQorG1szMm1bMTA2MTIwOC4wMDAwMDBdIBtbMG1leGFtcGxlWzEwMl0KKxtbMzJtWzEwOTI3MjcuMDAwMDAwXSAbWzBtZXhhbXBsZVsxMDNdCisbWzMybVsxMTI0ODY0LjAwMDAwMF0gG1swbWV4YW1wbGVbMTA0XQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZG1lc2cvY29uc29sZS1sZXZlbHMgYi90ZXN0cy9leHBlY3RlZC9kbWVzZy9jb25zb2xlLWxldmVscwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OGIwYTFkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZG1lc2cvY29uc29sZS1sZXZlbHMKQEAgLTAsMCArMSwxMDQgQEAKK1sgICAgMC4wMDAwMDBdIGV4YW1wbGVbMF0KK1sgIDUxMi4wMDAwMDBdIGV4YW1wbGVbOF0KK1sgNDA5Ni4wMDAwMDBdIGV4YW1wbGVbMTZdCitbMTM4MjQuMDAwMDAwXSBleGFtcGxlWzI0XQorWzMyNzY4LjAwMDAwMF0gZXhhbXBsZVszMl0KK1s2NDAwMC4wMDAwMDBdIGV4YW1wbGVbNDBdCitbMTEwNTkyLjAwMDAwMF0gZXhhbXBsZVs0OF0KK1sxNzU2MTYuMDAwMDAwXSBleGFtcGxlWzU2XQorWzI2MjE0NC4wMDAwMDBdIGV4YW1wbGVbNjRdCitbMzczMjQ4LjAwMDAwMF0gZXhhbXBsZVs3Ml0KK1s1MTIwMDAuMDAwMDAwXSBleGFtcGxlWzgwXQorWzY4MTQ3Mi4wMDAwMDBdIGV4YW1wbGVbODhdCitbODg0NzM2LjAwMDAwMF0gZXhhbXBsZVs5Nl0KK1sgICAgMS4wMDAwMDBdIGV4YW1wbGVbMV0KK1sgIDcyOS4wMDAwMDBdIGV4YW1wbGVbOV0KK1sgNDkxMy4wMDAwMDBdIGV4YW1wbGVbMTddCitbMTU2MjUuMDAwMDAwXSBleGFtcGxlWzI1XQorWzM1OTM3LjAwMDAwMF0gZXhhbXBsZVszM10KK1s2ODkyMS4wMDAwMDBdIGV4YW1wbGVbNDFdCitbMTE3NjQ5LjAwMDAwMF0gZXhhbXBsZVs0OV0KK1sxODUxOTMuMDAwMDAwXSBleGFtcGxlWzU3XQorWzI3NDYyNS4wMDAwMDBdIGV4YW1wbGVbNjVdCitbMzg5MDE3LjAwMDAwMF0gZXhhbXBsZVs3M10KK1s1MzE0NDEuMDAwMDAwXSBleGFtcGxlWzgxXQorWzcwNDk2OS4wMDAwMDBdIGV4YW1wbGVbODldCitbOTEyNjczLjAwMDAwMF0gZXhhbXBsZVs5N10KK1sgICAgOC4wMDAwMDBdIGV4YW1wbGVbMl0KK1sgMTAwMC4wMDAwMDBdIGV4YW1wbGVbMTBdCitbIDU4MzIuMDAwMDAwXSBleGFtcGxlWzE4XQorWzE3NTc2LjAwMDAwMF0gZXhhbXBsZVsyNl0KK1szOTMwNC4wMDAwMDBdIGV4YW1wbGVbMzRdCitbNzQwODguMDAwMDAwXSBleGFtcGxlWzQyXQorWzEyNTAwMC4wMDAwMDBdIGV4YW1wbGVbNTBdCitbMTk1MTEyLjAwMDAwMF0gZXhhbXBsZVs1OF0KK1syODc0OTYuMDAwMDAwXSBleGFtcGxlWzY2XQorWzQwNTIyNC4wMDAwMDBdIGV4YW1wbGVbNzRdCitbNTUxMzY4LjAwMDAwMF0gZXhhbXBsZVs4Ml0KK1s3MjkwMDAuMDAwMDAwXSBleGFtcGxlWzkwXQorWzk0MTE5Mi4wMDAwMDBdIGV4YW1wbGVbOThdCitbICAgMjcuMDAwMDAwXSBleGFtcGxlWzNdCitbIDEzMzEuMDAwMDAwXSBleGFtcGxlWzExXQorWyA2ODU5LjAwMDAwMF0gZXhhbXBsZVsxOV0KK1sxOTY4My4wMDAwMDBdIGV4YW1wbGVbMjddCitbNDI4NzUuMDAwMDAwXSBleGFtcGxlWzM1XQorWzc5NTA3LjAwMDAwMF0gZXhhbXBsZVs0M10KK1sxMzI2NTEuMDAwMDAwXSBleGFtcGxlWzUxXQorWzIwNTM3OS4wMDAwMDBdIGV4YW1wbGVbNTldCitbMzAwNzYzLjAwMDAwMF0gZXhhbXBsZVs2N10KK1s0MjE4NzUuMDAwMDAwXSBleGFtcGxlWzc1XQorWzU3MTc4Ny4wMDAwMDBdIGV4YW1wbGVbODNdCitbNzUzNTcxLjAwMDAwMF0gZXhhbXBsZVs5MV0KK1s5NzAyOTkuMDAwMDAwXSBleGFtcGxlWzk5XQorWyAgIDY0LjAwMDAwMF0gZXhhbXBsZVs0XQorWyAxNzI4LjAwMDAwMF0gZXhhbXBsZVsxMl0KK1sgODAwMC4wMDAwMDBdIGV4YW1wbGVbMjBdCitbMjE5NTIuMDAwMDAwXSBleGFtcGxlWzI4XQorWzQ2NjU2LjAwMDAwMF0gZXhhbXBsZVszNl0KK1s4NTE4NC4wMDAwMDBdIGV4YW1wbGVbNDRdCitbMTQwNjA4LjAwMDAwMF0gZXhhbXBsZVs1Ml0KK1syMTYwMDAuMDAwMDAwXSBleGFtcGxlWzYwXQorWzMxNDQzMi4wMDAwMDBdIGV4YW1wbGVbNjhdCitbNDM4OTc2LjAwMDAwMF0gZXhhbXBsZVs3Nl0KK1s1OTI3MDQuMDAwMDAwXSBleGFtcGxlWzg0XQorWzc3ODY4OC4wMDAwMDBdIGV4YW1wbGVbOTJdCitbMTAwMDAwMC4wMDAwMDBdIGV4YW1wbGVbMTAwXQorWyAgMTI1LjAwMDAwMF0gZXhhbXBsZVs1XQorWyAyMTk3LjAwMDAwMF0gZXhhbXBsZVsxM10KK1sgOTI2MS4wMDAwMDBdIGV4YW1wbGVbMjFdCitbMjQzODkuMDAwMDAwXSBleGFtcGxlWzI5XQorWzUwNjUzLjAwMDAwMF0gZXhhbXBsZVszN10KK1s5MTEyNS4wMDAwMDBdIGV4YW1wbGVbNDVdCitbMTQ4ODc3LjAwMDAwMF0gZXhhbXBsZVs1M10KK1syMjY5ODEuMDAwMDAwXSBleGFtcGxlWzYxXQorWzMyODUwOS4wMDAwMDBdIGV4YW1wbGVbNjldCitbNDU2NTMzLjAwMDAwMF0gZXhhbXBsZVs3N10KK1s2MTQxMjUuMDAwMDAwXSBleGFtcGxlWzg1XQorWzgwNDM1Ny4wMDAwMDBdIGV4YW1wbGVbOTNdCitbMTAzMDMwMS4wMDAwMDBdIGV4YW1wbGVbMTAxXQorWyAgMjE2LjAwMDAwMF0gZXhhbXBsZVs2XQorWyAyNzQ0LjAwMDAwMF0gZXhhbXBsZVsxNF0KK1sxMDY0OC4wMDAwMDBdIGV4YW1wbGVbMjJdCitbMjcwMDAuMDAwMDAwXSBleGFtcGxlWzMwXQorWzU0ODcyLjAwMDAwMF0gZXhhbXBsZVszOF0KK1s5NzMzNi4wMDAwMDBdIGV4YW1wbGVbNDZdCitbMTU3NDY0LjAwMDAwMF0gZXhhbXBsZVs1NF0KK1syMzgzMjguMDAwMDAwXSBleGFtcGxlWzYyXQorWzM0MzAwMC4wMDAwMDBdIGV4YW1wbGVbNzBdCitbNDc0NTUyLjAwMDAwMF0gZXhhbXBsZVs3OF0KK1s2MzYwNTYuMDAwMDAwXSBleGFtcGxlWzg2XQorWzgzMDU4NC4wMDAwMDBdIGV4YW1wbGVbOTRdCitbMTA2MTIwOC4wMDAwMDBdIGV4YW1wbGVbMTAyXQorWyAgMzQzLjAwMDAwMF0gZXhhbXBsZVs3XQorWyAzMzc1LjAwMDAwMF0gZXhhbXBsZVsxNV0KK1sxMjE2Ny4wMDAwMDBdIGV4YW1wbGVbMjNdCitbMjk3OTEuMDAwMDAwXSBleGFtcGxlWzMxXQorWzU5MzE5LjAwMDAwMF0gZXhhbXBsZVszOV0KK1sxMDM4MjMuMDAwMDAwXSBleGFtcGxlWzQ3XQorWzE2NjM3NS4wMDAwMDBdIGV4YW1wbGVbNTVdCitbMjUwMDQ3LjAwMDAwMF0gZXhhbXBsZVs2M10KK1szNTc5MTEuMDAwMDAwXSBleGFtcGxlWzcxXQorWzQ5MzAzOS4wMDAwMDBdIGV4YW1wbGVbNzldCitbNjU4NTAzLjAwMDAwMF0gZXhhbXBsZVs4N10KK1s4NTczNzUuMDAwMDAwXSBleGFtcGxlWzk1XQorWzEwOTI3MjcuMDAwMDAwXSBleGFtcGxlWzEwM10KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2RtZXNnL2RlY29kZSBiL3Rlc3RzL2V4cGVjdGVkL2RtZXNnL2RlY29kZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMzU0MWE2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZG1lc2cvZGVjb2RlCkBAIC0wLDAgKzEsMTA1IEBACitrZXJuICA6ZW1lcmcgOiBbICAgIDAuMDAwMDAwXSBleGFtcGxlWzBdCitrZXJuICA6YWxlcnQgOiBbICAgIDEuMDAwMDAwXSBleGFtcGxlWzFdCitrZXJuICA6Y3JpdCAgOiBbICAgIDguMDAwMDAwXSBleGFtcGxlWzJdCitrZXJuICA6ZXJyICAgOiBbICAgMjcuMDAwMDAwXSBleGFtcGxlWzNdCitrZXJuICA6d2FybiAgOiBbICAgNjQuMDAwMDAwXSBleGFtcGxlWzRdCitrZXJuICA6bm90aWNlOiBbICAxMjUuMDAwMDAwXSBleGFtcGxlWzVdCitrZXJuICA6aW5mbyAgOiBbICAyMTYuMDAwMDAwXSBleGFtcGxlWzZdCitrZXJuICA6ZGVidWcgOiBbICAzNDMuMDAwMDAwXSBleGFtcGxlWzddCit1c2VyICA6ZW1lcmcgOiBbICA1MTIuMDAwMDAwXSBleGFtcGxlWzhdCit1c2VyICA6YWxlcnQgOiBbICA3MjkuMDAwMDAwXSBleGFtcGxlWzldCit1c2VyICA6Y3JpdCAgOiBbIDEwMDAuMDAwMDAwXSBleGFtcGxlWzEwXQordXNlciAgOmVyciAgIDogWyAxMzMxLjAwMDAwMF0gZXhhbXBsZVsxMV0KK3VzZXIgIDp3YXJuICA6IFsgMTcyOC4wMDAwMDBdIGV4YW1wbGVbMTJdCit1c2VyICA6bm90aWNlOiBbIDIxOTcuMDAwMDAwXSBleGFtcGxlWzEzXQordXNlciAgOmluZm8gIDogWyAyNzQ0LjAwMDAwMF0gZXhhbXBsZVsxNF0KK3VzZXIgIDpkZWJ1ZyA6IFsgMzM3NS4wMDAwMDBdIGV4YW1wbGVbMTVdCittYWlsICA6ZW1lcmcgOiBbIDQwOTYuMDAwMDAwXSBleGFtcGxlWzE2XQorbWFpbCAgOmFsZXJ0IDogWyA0OTEzLjAwMDAwMF0gZXhhbXBsZVsxN10KK21haWwgIDpjcml0ICA6IFsgNTgzMi4wMDAwMDBdIGV4YW1wbGVbMThdCittYWlsICA6ZXJyICAgOiBbIDY4NTkuMDAwMDAwXSBleGFtcGxlWzE5XQorbWFpbCAgOndhcm4gIDogWyA4MDAwLjAwMDAwMF0gZXhhbXBsZVsyMF0KK21haWwgIDpub3RpY2U6IFsgOTI2MS4wMDAwMDBdIGV4YW1wbGVbMjFdCittYWlsICA6aW5mbyAgOiBbMTA2NDguMDAwMDAwXSBleGFtcGxlWzIyXQorbWFpbCAgOmRlYnVnIDogWzEyMTY3LjAwMDAwMF0gZXhhbXBsZVsyM10KK2RhZW1vbjplbWVyZyA6IFsxMzgyNC4wMDAwMDBdIGV4YW1wbGVbMjRdCitkYWVtb246YWxlcnQgOiBbMTU2MjUuMDAwMDAwXSBleGFtcGxlWzI1XQorZGFlbW9uOmNyaXQgIDogWzE3NTc2LjAwMDAwMF0gZXhhbXBsZVsyNl0KK2RhZW1vbjplcnIgICA6IFsxOTY4My4wMDAwMDBdIGV4YW1wbGVbMjddCitkYWVtb246d2FybiAgOiBbMjE5NTIuMDAwMDAwXSBleGFtcGxlWzI4XQorZGFlbW9uOm5vdGljZTogWzI0Mzg5LjAwMDAwMF0gZXhhbXBsZVsyOV0KK2RhZW1vbjppbmZvICA6IFsyNzAwMC4wMDAwMDBdIGV4YW1wbGVbMzBdCitkYWVtb246ZGVidWcgOiBbMjk3OTEuMDAwMDAwXSBleGFtcGxlWzMxXQorYXV0aCAgOmVtZXJnIDogWzMyNzY4LjAwMDAwMF0gZXhhbXBsZVszMl0KK2F1dGggIDphbGVydCA6IFszNTkzNy4wMDAwMDBdIGV4YW1wbGVbMzNdCithdXRoICA6Y3JpdCAgOiBbMzkzMDQuMDAwMDAwXSBleGFtcGxlWzM0XQorYXV0aCAgOmVyciAgIDogWzQyODc1LjAwMDAwMF0gZXhhbXBsZVszNV0KK2F1dGggIDp3YXJuICA6IFs0NjY1Ni4wMDAwMDBdIGV4YW1wbGVbMzZdCithdXRoICA6bm90aWNlOiBbNTA2NTMuMDAwMDAwXSBleGFtcGxlWzM3XQorYXV0aCAgOmluZm8gIDogWzU0ODcyLjAwMDAwMF0gZXhhbXBsZVszOF0KK2F1dGggIDpkZWJ1ZyA6IFs1OTMxOS4wMDAwMDBdIGV4YW1wbGVbMzldCitzeXNsb2c6ZW1lcmcgOiBbNjQwMDAuMDAwMDAwXSBleGFtcGxlWzQwXQorc3lzbG9nOmFsZXJ0IDogWzY4OTIxLjAwMDAwMF0gZXhhbXBsZVs0MV0KK3N5c2xvZzpjcml0ICA6IFs3NDA4OC4wMDAwMDBdIGV4YW1wbGVbNDJdCitzeXNsb2c6ZXJyICAgOiBbNzk1MDcuMDAwMDAwXSBleGFtcGxlWzQzXQorc3lzbG9nOndhcm4gIDogWzg1MTg0LjAwMDAwMF0gZXhhbXBsZVs0NF0KK3N5c2xvZzpub3RpY2U6IFs5MTEyNS4wMDAwMDBdIGV4YW1wbGVbNDVdCitzeXNsb2c6aW5mbyAgOiBbOTczMzYuMDAwMDAwXSBleGFtcGxlWzQ2XQorc3lzbG9nOmRlYnVnIDogWzEwMzgyMy4wMDAwMDBdIGV4YW1wbGVbNDddCitscHIgICA6ZW1lcmcgOiBbMTEwNTkyLjAwMDAwMF0gZXhhbXBsZVs0OF0KK2xwciAgIDphbGVydCA6IFsxMTc2NDkuMDAwMDAwXSBleGFtcGxlWzQ5XQorbHByICAgOmNyaXQgIDogWzEyNTAwMC4wMDAwMDBdIGV4YW1wbGVbNTBdCitscHIgICA6ZXJyICAgOiBbMTMyNjUxLjAwMDAwMF0gZXhhbXBsZVs1MV0KK2xwciAgIDp3YXJuICA6IFsxNDA2MDguMDAwMDAwXSBleGFtcGxlWzUyXQorbHByICAgOm5vdGljZTogWzE0ODg3Ny4wMDAwMDBdIGV4YW1wbGVbNTNdCitscHIgICA6aW5mbyAgOiBbMTU3NDY0LjAwMDAwMF0gZXhhbXBsZVs1NF0KK2xwciAgIDpkZWJ1ZyA6IFsxNjYzNzUuMDAwMDAwXSBleGFtcGxlWzU1XQorbmV3cyAgOmVtZXJnIDogWzE3NTYxNi4wMDAwMDBdIGV4YW1wbGVbNTZdCituZXdzICA6YWxlcnQgOiBbMTg1MTkzLjAwMDAwMF0gZXhhbXBsZVs1N10KK25ld3MgIDpjcml0ICA6IFsxOTUxMTIuMDAwMDAwXSBleGFtcGxlWzU4XQorbmV3cyAgOmVyciAgIDogWzIwNTM3OS4wMDAwMDBdIGV4YW1wbGVbNTldCituZXdzICA6d2FybiAgOiBbMjE2MDAwLjAwMDAwMF0gZXhhbXBsZVs2MF0KK25ld3MgIDpub3RpY2U6IFsyMjY5ODEuMDAwMDAwXSBleGFtcGxlWzYxXQorbmV3cyAgOmluZm8gIDogWzIzODMyOC4wMDAwMDBdIGV4YW1wbGVbNjJdCituZXdzICA6ZGVidWcgOiBbMjUwMDQ3LjAwMDAwMF0gZXhhbXBsZVs2M10KK3V1Y3AgIDplbWVyZyA6IFsyNjIxNDQuMDAwMDAwXSBleGFtcGxlWzY0XQordXVjcCAgOmFsZXJ0IDogWzI3NDYyNS4wMDAwMDBdIGV4YW1wbGVbNjVdCit1dWNwICA6Y3JpdCAgOiBbMjg3NDk2LjAwMDAwMF0gZXhhbXBsZVs2Nl0KK3V1Y3AgIDplcnIgICA6IFszMDA3NjMuMDAwMDAwXSBleGFtcGxlWzY3XQordXVjcCAgOndhcm4gIDogWzMxNDQzMi4wMDAwMDBdIGV4YW1wbGVbNjhdCit1dWNwICA6bm90aWNlOiBbMzI4NTA5LjAwMDAwMF0gZXhhbXBsZVs2OV0KK3V1Y3AgIDppbmZvICA6IFszNDMwMDAuMDAwMDAwXSBleGFtcGxlWzcwXQordXVjcCAgOmRlYnVnIDogWzM1NzkxMS4wMDAwMDBdIGV4YW1wbGVbNzFdCitjcm9uICA6ZW1lcmcgOiBbMzczMjQ4LjAwMDAwMF0gZXhhbXBsZVs3Ml0KK2Nyb24gIDphbGVydCA6IFszODkwMTcuMDAwMDAwXSBleGFtcGxlWzczXQorY3JvbiAgOmNyaXQgIDogWzQwNTIyNC4wMDAwMDBdIGV4YW1wbGVbNzRdCitjcm9uICA6ZXJyICAgOiBbNDIxODc1LjAwMDAwMF0gZXhhbXBsZVs3NV0KK2Nyb24gIDp3YXJuICA6IFs0Mzg5NzYuMDAwMDAwXSBleGFtcGxlWzc2XQorY3JvbiAgOm5vdGljZTogWzQ1NjUzMy4wMDAwMDBdIGV4YW1wbGVbNzddCitjcm9uICA6aW5mbyAgOiBbNDc0NTUyLjAwMDAwMF0gZXhhbXBsZVs3OF0KK2Nyb24gIDpkZWJ1ZyA6IFs0OTMwMzkuMDAwMDAwXSBleGFtcGxlWzc5XQorYXV0aHByaXY6ZW1lcmcgOiBbNTEyMDAwLjAwMDAwMF0gZXhhbXBsZVs4MF0KK2F1dGhwcml2OmFsZXJ0IDogWzUzMTQ0MS4wMDAwMDBdIGV4YW1wbGVbODFdCithdXRocHJpdjpjcml0ICA6IFs1NTEzNjguMDAwMDAwXSBleGFtcGxlWzgyXQorYXV0aHByaXY6ZXJyICAgOiBbNTcxNzg3LjAwMDAwMF0gZXhhbXBsZVs4M10KK2F1dGhwcml2Ondhcm4gIDogWzU5MjcwNC4wMDAwMDBdIGV4YW1wbGVbODRdCithdXRocHJpdjpub3RpY2U6IFs2MTQxMjUuMDAwMDAwXSBleGFtcGxlWzg1XQorYXV0aHByaXY6aW5mbyAgOiBbNjM2MDU2LjAwMDAwMF0gZXhhbXBsZVs4Nl0KK2F1dGhwcml2OmRlYnVnIDogWzY1ODUwMy4wMDAwMDBdIGV4YW1wbGVbODddCitmdHAgICA6ZW1lcmcgOiBbNjgxNDcyLjAwMDAwMF0gZXhhbXBsZVs4OF0KK2Z0cCAgIDphbGVydCA6IFs3MDQ5NjkuMDAwMDAwXSBleGFtcGxlWzg5XQorZnRwICAgOmNyaXQgIDogWzcyOTAwMC4wMDAwMDBdIGV4YW1wbGVbOTBdCitmdHAgICA6ZXJyICAgOiBbNzUzNTcxLjAwMDAwMF0gZXhhbXBsZVs5MV0KK2Z0cCAgIDp3YXJuICA6IFs3Nzg2ODguMDAwMDAwXSBleGFtcGxlWzkyXQorZnRwICAgOm5vdGljZTogWzgwNDM1Ny4wMDAwMDBdIGV4YW1wbGVbOTNdCitmdHAgICA6aW5mbyAgOiBbODMwNTg0LjAwMDAwMF0gZXhhbXBsZVs5NF0KK2Z0cCAgIDpkZWJ1ZyA6IFs4NTczNzUuMDAwMDAwXSBleGFtcGxlWzk1XQorWzg4NDczNi4wMDAwMDBdIGV4YW1wbGVbOTZdCitbOTEyNjczLjAwMDAwMF0gZXhhbXBsZVs5N10KK1s5NDExOTIuMDAwMDAwXSBleGFtcGxlWzk4XQorWzk3MDI5OS4wMDAwMDBdIGV4YW1wbGVbOTldCitbMTAwMDAwMC4wMDAwMDBdIGV4YW1wbGVbMTAwXQorWzEwMzAzMDEuMDAwMDAwXSBleGFtcGxlWzEwMV0KK1sxMDYxMjA4LjAwMDAwMF0gZXhhbXBsZVsxMDJdCitbMTA5MjcyNy4wMDAwMDBdIGV4YW1wbGVbMTAzXQorWzExMjQ4NjQuMDAwMDAwXSBleGFtcGxlWzEwNF0KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2RtZXNnL2RlbHRhIGIvdGVzdHMvZXhwZWN0ZWQvZG1lc2cvZGVsdGEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDFkZmVjMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2RtZXNnL2RlbHRhCkBAIC0wLDAgKzEsMTA1IEBACitbICAgIDAuMDAwMDAwIDwgICAgMC4wMDAwMDA+XSBleGFtcGxlWzBdCitbICAgIDEuMDAwMDAwIDwgICAgMC4wMDAwMDA+XSBleGFtcGxlWzFdCitbICAgIDguMDAwMDAwIDwgICAgNy4wMDAwMDA+XSBleGFtcGxlWzJdCitbICAgMjcuMDAwMDAwIDwgICAxOS4wMDAwMDA+XSBleGFtcGxlWzNdCitbICAgNjQuMDAwMDAwIDwgICAzNy4wMDAwMDA+XSBleGFtcGxlWzRdCitbICAxMjUuMDAwMDAwIDwgICA2MS4wMDAwMDA+XSBleGFtcGxlWzVdCitbICAyMTYuMDAwMDAwIDwgICA5MS4wMDAwMDA+XSBleGFtcGxlWzZdCitbICAzNDMuMDAwMDAwIDwgIDEyNy4wMDAwMDA+XSBleGFtcGxlWzddCitbICA1MTIuMDAwMDAwIDwgIDE2OS4wMDAwMDA+XSBleGFtcGxlWzhdCitbICA3MjkuMDAwMDAwIDwgIDIxNy4wMDAwMDA+XSBleGFtcGxlWzldCitbIDEwMDAuMDAwMDAwIDwgIDI3MS4wMDAwMDA+XSBleGFtcGxlWzEwXQorWyAxMzMxLjAwMDAwMCA8ICAzMzEuMDAwMDAwPl0gZXhhbXBsZVsxMV0KK1sgMTcyOC4wMDAwMDAgPCAgMzk3LjAwMDAwMD5dIGV4YW1wbGVbMTJdCitbIDIxOTcuMDAwMDAwIDwgIDQ2OS4wMDAwMDA+XSBleGFtcGxlWzEzXQorWyAyNzQ0LjAwMDAwMCA8ICA1NDcuMDAwMDAwPl0gZXhhbXBsZVsxNF0KK1sgMzM3NS4wMDAwMDAgPCAgNjMxLjAwMDAwMD5dIGV4YW1wbGVbMTVdCitbIDQwOTYuMDAwMDAwIDwgIDcyMS4wMDAwMDA+XSBleGFtcGxlWzE2XQorWyA0OTEzLjAwMDAwMCA8ICA4MTcuMDAwMDAwPl0gZXhhbXBsZVsxN10KK1sgNTgzMi4wMDAwMDAgPCAgOTE5LjAwMDAwMD5dIGV4YW1wbGVbMThdCitbIDY4NTkuMDAwMDAwIDwgMTAyNy4wMDAwMDA+XSBleGFtcGxlWzE5XQorWyA4MDAwLjAwMDAwMCA8IDExNDEuMDAwMDAwPl0gZXhhbXBsZVsyMF0KK1sgOTI2MS4wMDAwMDAgPCAxMjYxLjAwMDAwMD5dIGV4YW1wbGVbMjFdCitbMTA2NDguMDAwMDAwIDwgMTM4Ny4wMDAwMDA+XSBleGFtcGxlWzIyXQorWzEyMTY3LjAwMDAwMCA8IDE1MTkuMDAwMDAwPl0gZXhhbXBsZVsyM10KK1sxMzgyNC4wMDAwMDAgPCAxNjU3LjAwMDAwMD5dIGV4YW1wbGVbMjRdCitbMTU2MjUuMDAwMDAwIDwgMTgwMS4wMDAwMDA+XSBleGFtcGxlWzI1XQorWzE3NTc2LjAwMDAwMCA8IDE5NTEuMDAwMDAwPl0gZXhhbXBsZVsyNl0KK1sxOTY4My4wMDAwMDAgPCAyMTA3LjAwMDAwMD5dIGV4YW1wbGVbMjddCitbMjE5NTIuMDAwMDAwIDwgMjI2OS4wMDAwMDA+XSBleGFtcGxlWzI4XQorWzI0Mzg5LjAwMDAwMCA8IDI0MzcuMDAwMDAwPl0gZXhhbXBsZVsyOV0KK1syNzAwMC4wMDAwMDAgPCAyNjExLjAwMDAwMD5dIGV4YW1wbGVbMzBdCitbMjk3OTEuMDAwMDAwIDwgMjc5MS4wMDAwMDA+XSBleGFtcGxlWzMxXQorWzMyNzY4LjAwMDAwMCA8IDI5NzcuMDAwMDAwPl0gZXhhbXBsZVszMl0KK1szNTkzNy4wMDAwMDAgPCAzMTY5LjAwMDAwMD5dIGV4YW1wbGVbMzNdCitbMzkzMDQuMDAwMDAwIDwgMzM2Ny4wMDAwMDA+XSBleGFtcGxlWzM0XQorWzQyODc1LjAwMDAwMCA8IDM1NzEuMDAwMDAwPl0gZXhhbXBsZVszNV0KK1s0NjY1Ni4wMDAwMDAgPCAzNzgxLjAwMDAwMD5dIGV4YW1wbGVbMzZdCitbNTA2NTMuMDAwMDAwIDwgMzk5Ny4wMDAwMDA+XSBleGFtcGxlWzM3XQorWzU0ODcyLjAwMDAwMCA8IDQyMTkuMDAwMDAwPl0gZXhhbXBsZVszOF0KK1s1OTMxOS4wMDAwMDAgPCA0NDQ3LjAwMDAwMD5dIGV4YW1wbGVbMzldCitbNjQwMDAuMDAwMDAwIDwgNDY4MS4wMDAwMDA+XSBleGFtcGxlWzQwXQorWzY4OTIxLjAwMDAwMCA8IDQ5MjEuMDAwMDAwPl0gZXhhbXBsZVs0MV0KK1s3NDA4OC4wMDAwMDAgPCA1MTY3LjAwMDAwMD5dIGV4YW1wbGVbNDJdCitbNzk1MDcuMDAwMDAwIDwgNTQxOS4wMDAwMDA+XSBleGFtcGxlWzQzXQorWzg1MTg0LjAwMDAwMCA8IDU2NzcuMDAwMDAwPl0gZXhhbXBsZVs0NF0KK1s5MTEyNS4wMDAwMDAgPCA1OTQxLjAwMDAwMD5dIGV4YW1wbGVbNDVdCitbOTczMzYuMDAwMDAwIDwgNjIxMS4wMDAwMDA+XSBleGFtcGxlWzQ2XQorWzEwMzgyMy4wMDAwMDAgPCA2NDg3LjAwMDAwMD5dIGV4YW1wbGVbNDddCitbMTEwNTkyLjAwMDAwMCA8IDY3NjkuMDAwMDAwPl0gZXhhbXBsZVs0OF0KK1sxMTc2NDkuMDAwMDAwIDwgNzA1Ny4wMDAwMDA+XSBleGFtcGxlWzQ5XQorWzEyNTAwMC4wMDAwMDAgPCA3MzUxLjAwMDAwMD5dIGV4YW1wbGVbNTBdCitbMTMyNjUxLjAwMDAwMCA8IDc2NTEuMDAwMDAwPl0gZXhhbXBsZVs1MV0KK1sxNDA2MDguMDAwMDAwIDwgNzk1Ny4wMDAwMDA+XSBleGFtcGxlWzUyXQorWzE0ODg3Ny4wMDAwMDAgPCA4MjY5LjAwMDAwMD5dIGV4YW1wbGVbNTNdCitbMTU3NDY0LjAwMDAwMCA8IDg1ODcuMDAwMDAwPl0gZXhhbXBsZVs1NF0KK1sxNjYzNzUuMDAwMDAwIDwgODkxMS4wMDAwMDA+XSBleGFtcGxlWzU1XQorWzE3NTYxNi4wMDAwMDAgPCA5MjQxLjAwMDAwMD5dIGV4YW1wbGVbNTZdCitbMTg1MTkzLjAwMDAwMCA8IDk1NzcuMDAwMDAwPl0gZXhhbXBsZVs1N10KK1sxOTUxMTIuMDAwMDAwIDwgOTkxOS4wMDAwMDA+XSBleGFtcGxlWzU4XQorWzIwNTM3OS4wMDAwMDAgPDEwMjY3LjAwMDAwMD5dIGV4YW1wbGVbNTldCitbMjE2MDAwLjAwMDAwMCA8MTA2MjEuMDAwMDAwPl0gZXhhbXBsZVs2MF0KK1syMjY5ODEuMDAwMDAwIDwxMDk4MS4wMDAwMDA+XSBleGFtcGxlWzYxXQorWzIzODMyOC4wMDAwMDAgPDExMzQ3LjAwMDAwMD5dIGV4YW1wbGVbNjJdCitbMjUwMDQ3LjAwMDAwMCA8MTE3MTkuMDAwMDAwPl0gZXhhbXBsZVs2M10KK1syNjIxNDQuMDAwMDAwIDwxMjA5Ny4wMDAwMDA+XSBleGFtcGxlWzY0XQorWzI3NDYyNS4wMDAwMDAgPDEyNDgxLjAwMDAwMD5dIGV4YW1wbGVbNjVdCitbMjg3NDk2LjAwMDAwMCA8MTI4NzEuMDAwMDAwPl0gZXhhbXBsZVs2Nl0KK1szMDA3NjMuMDAwMDAwIDwxMzI2Ny4wMDAwMDA+XSBleGFtcGxlWzY3XQorWzMxNDQzMi4wMDAwMDAgPDEzNjY5LjAwMDAwMD5dIGV4YW1wbGVbNjhdCitbMzI4NTA5LjAwMDAwMCA8MTQwNzcuMDAwMDAwPl0gZXhhbXBsZVs2OV0KK1szNDMwMDAuMDAwMDAwIDwxNDQ5MS4wMDAwMDA+XSBleGFtcGxlWzcwXQorWzM1NzkxMS4wMDAwMDAgPDE0OTExLjAwMDAwMD5dIGV4YW1wbGVbNzFdCitbMzczMjQ4LjAwMDAwMCA8MTUzMzcuMDAwMDAwPl0gZXhhbXBsZVs3Ml0KK1szODkwMTcuMDAwMDAwIDwxNTc2OS4wMDAwMDA+XSBleGFtcGxlWzczXQorWzQwNTIyNC4wMDAwMDAgPDE2MjA3LjAwMDAwMD5dIGV4YW1wbGVbNzRdCitbNDIxODc1LjAwMDAwMCA8MTY2NTEuMDAwMDAwPl0gZXhhbXBsZVs3NV0KK1s0Mzg5NzYuMDAwMDAwIDwxNzEwMS4wMDAwMDA+XSBleGFtcGxlWzc2XQorWzQ1NjUzMy4wMDAwMDAgPDE3NTU3LjAwMDAwMD5dIGV4YW1wbGVbNzddCitbNDc0NTUyLjAwMDAwMCA8MTgwMTkuMDAwMDAwPl0gZXhhbXBsZVs3OF0KK1s0OTMwMzkuMDAwMDAwIDwxODQ4Ny4wMDAwMDA+XSBleGFtcGxlWzc5XQorWzUxMjAwMC4wMDAwMDAgPDE4OTYxLjAwMDAwMD5dIGV4YW1wbGVbODBdCitbNTMxNDQxLjAwMDAwMCA8MTk0NDEuMDAwMDAwPl0gZXhhbXBsZVs4MV0KK1s1NTEzNjguMDAwMDAwIDwxOTkyNy4wMDAwMDA+XSBleGFtcGxlWzgyXQorWzU3MTc4Ny4wMDAwMDAgPDIwNDE5LjAwMDAwMD5dIGV4YW1wbGVbODNdCitbNTkyNzA0LjAwMDAwMCA8MjA5MTcuMDAwMDAwPl0gZXhhbXBsZVs4NF0KK1s2MTQxMjUuMDAwMDAwIDwyMTQyMS4wMDAwMDA+XSBleGFtcGxlWzg1XQorWzYzNjA1Ni4wMDAwMDAgPDIxOTMxLjAwMDAwMD5dIGV4YW1wbGVbODZdCitbNjU4NTAzLjAwMDAwMCA8MjI0NDcuMDAwMDAwPl0gZXhhbXBsZVs4N10KK1s2ODE0NzIuMDAwMDAwIDwyMjk2OS4wMDAwMDA+XSBleGFtcGxlWzg4XQorWzcwNDk2OS4wMDAwMDAgPDIzNDk3LjAwMDAwMD5dIGV4YW1wbGVbODldCitbNzI5MDAwLjAwMDAwMCA8MjQwMzEuMDAwMDAwPl0gZXhhbXBsZVs5MF0KK1s3NTM1NzEuMDAwMDAwIDwyNDU3MS4wMDAwMDA+XSBleGFtcGxlWzkxXQorWzc3ODY4OC4wMDAwMDAgPDI1MTE3LjAwMDAwMD5dIGV4YW1wbGVbOTJdCitbODA0MzU3LjAwMDAwMCA8MjU2NjkuMDAwMDAwPl0gZXhhbXBsZVs5M10KK1s4MzA1ODQuMDAwMDAwIDwyNjIyNy4wMDAwMDA+XSBleGFtcGxlWzk0XQorWzg1NzM3NS4wMDAwMDAgPDI2NzkxLjAwMDAwMD5dIGV4YW1wbGVbOTVdCitbODg0NzM2LjAwMDAwMCA8MjczNjEuMDAwMDAwPl0gZXhhbXBsZVs5Nl0KK1s5MTI2NzMuMDAwMDAwIDwyNzkzNy4wMDAwMDA+XSBleGFtcGxlWzk3XQorWzk0MTE5Mi4wMDAwMDAgPDI4NTE5LjAwMDAwMD5dIGV4YW1wbGVbOThdCitbOTcwMjk5LjAwMDAwMCA8MjkxMDcuMDAwMDAwPl0gZXhhbXBsZVs5OV0KK1sxMDAwMDAwLjAwMDAwMCA8Mjk3MDEuMDAwMDAwPl0gZXhhbXBsZVsxMDBdCitbMTAzMDMwMS4wMDAwMDAgPDMwMzAxLjAwMDAwMD5dIGV4YW1wbGVbMTAxXQorWzEwNjEyMDguMDAwMDAwIDwzMDkwNy4wMDAwMDA+XSBleGFtcGxlWzEwMl0KK1sxMDkyNzI3LjAwMDAwMCA8MzE1MTkuMDAwMDAwPl0gZXhhbXBsZVsxMDNdCitbMTEyNDg2NC4wMDAwMDAgPDMyMTM3LjAwMDAwMD5dIGV4YW1wbGVbMTA0XQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZG1lc2cvZmFjaWxpdGllcyBiL3Rlc3RzL2V4cGVjdGVkL2RtZXNnL2ZhY2lsaXRpZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTczM2U1NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2RtZXNnL2ZhY2lsaXRpZXMKQEAgLTAsMCArMSw5NiBAQAorWyAgICAwLjAwMDAwMF0gZXhhbXBsZVswXQorWyAgICAxLjAwMDAwMF0gZXhhbXBsZVsxXQorWyAgICA4LjAwMDAwMF0gZXhhbXBsZVsyXQorWyAgIDI3LjAwMDAwMF0gZXhhbXBsZVszXQorWyAgIDY0LjAwMDAwMF0gZXhhbXBsZVs0XQorWyAgMTI1LjAwMDAwMF0gZXhhbXBsZVs1XQorWyAgMjE2LjAwMDAwMF0gZXhhbXBsZVs2XQorWyAgMzQzLjAwMDAwMF0gZXhhbXBsZVs3XQorWyAgNTEyLjAwMDAwMF0gZXhhbXBsZVs4XQorWyAgNzI5LjAwMDAwMF0gZXhhbXBsZVs5XQorWyAxMDAwLjAwMDAwMF0gZXhhbXBsZVsxMF0KK1sgMTMzMS4wMDAwMDBdIGV4YW1wbGVbMTFdCitbIDE3MjguMDAwMDAwXSBleGFtcGxlWzEyXQorWyAyMTk3LjAwMDAwMF0gZXhhbXBsZVsxM10KK1sgMjc0NC4wMDAwMDBdIGV4YW1wbGVbMTRdCitbIDMzNzUuMDAwMDAwXSBleGFtcGxlWzE1XQorWyA0MDk2LjAwMDAwMF0gZXhhbXBsZVsxNl0KK1sgNDkxMy4wMDAwMDBdIGV4YW1wbGVbMTddCitbIDU4MzIuMDAwMDAwXSBleGFtcGxlWzE4XQorWyA2ODU5LjAwMDAwMF0gZXhhbXBsZVsxOV0KK1sgODAwMC4wMDAwMDBdIGV4YW1wbGVbMjBdCitbIDkyNjEuMDAwMDAwXSBleGFtcGxlWzIxXQorWzEwNjQ4LjAwMDAwMF0gZXhhbXBsZVsyMl0KK1sxMjE2Ny4wMDAwMDBdIGV4YW1wbGVbMjNdCitbMTM4MjQuMDAwMDAwXSBleGFtcGxlWzI0XQorWzE1NjI1LjAwMDAwMF0gZXhhbXBsZVsyNV0KK1sxNzU3Ni4wMDAwMDBdIGV4YW1wbGVbMjZdCitbMTk2ODMuMDAwMDAwXSBleGFtcGxlWzI3XQorWzIxOTUyLjAwMDAwMF0gZXhhbXBsZVsyOF0KK1syNDM4OS4wMDAwMDBdIGV4YW1wbGVbMjldCitbMjcwMDAuMDAwMDAwXSBleGFtcGxlWzMwXQorWzI5NzkxLjAwMDAwMF0gZXhhbXBsZVszMV0KK1szMjc2OC4wMDAwMDBdIGV4YW1wbGVbMzJdCitbMzU5MzcuMDAwMDAwXSBleGFtcGxlWzMzXQorWzM5MzA0LjAwMDAwMF0gZXhhbXBsZVszNF0KK1s0Mjg3NS4wMDAwMDBdIGV4YW1wbGVbMzVdCitbNDY2NTYuMDAwMDAwXSBleGFtcGxlWzM2XQorWzUwNjUzLjAwMDAwMF0gZXhhbXBsZVszN10KK1s1NDg3Mi4wMDAwMDBdIGV4YW1wbGVbMzhdCitbNTkzMTkuMDAwMDAwXSBleGFtcGxlWzM5XQorWzY0MDAwLjAwMDAwMF0gZXhhbXBsZVs0MF0KK1s2ODkyMS4wMDAwMDBdIGV4YW1wbGVbNDFdCitbNzQwODguMDAwMDAwXSBleGFtcGxlWzQyXQorWzc5NTA3LjAwMDAwMF0gZXhhbXBsZVs0M10KK1s4NTE4NC4wMDAwMDBdIGV4YW1wbGVbNDRdCitbOTExMjUuMDAwMDAwXSBleGFtcGxlWzQ1XQorWzk3MzM2LjAwMDAwMF0gZXhhbXBsZVs0Nl0KK1sxMDM4MjMuMDAwMDAwXSBleGFtcGxlWzQ3XQorWzExMDU5Mi4wMDAwMDBdIGV4YW1wbGVbNDhdCitbMTE3NjQ5LjAwMDAwMF0gZXhhbXBsZVs0OV0KK1sxMjUwMDAuMDAwMDAwXSBleGFtcGxlWzUwXQorWzEzMjY1MS4wMDAwMDBdIGV4YW1wbGVbNTFdCitbMTQwNjA4LjAwMDAwMF0gZXhhbXBsZVs1Ml0KK1sxNDg4NzcuMDAwMDAwXSBleGFtcGxlWzUzXQorWzE1NzQ2NC4wMDAwMDBdIGV4YW1wbGVbNTRdCitbMTY2Mzc1LjAwMDAwMF0gZXhhbXBsZVs1NV0KK1sxNzU2MTYuMDAwMDAwXSBleGFtcGxlWzU2XQorWzE4NTE5My4wMDAwMDBdIGV4YW1wbGVbNTddCitbMTk1MTEyLjAwMDAwMF0gZXhhbXBsZVs1OF0KK1syMDUzNzkuMDAwMDAwXSBleGFtcGxlWzU5XQorWzIxNjAwMC4wMDAwMDBdIGV4YW1wbGVbNjBdCitbMjI2OTgxLjAwMDAwMF0gZXhhbXBsZVs2MV0KK1syMzgzMjguMDAwMDAwXSBleGFtcGxlWzYyXQorWzI1MDA0Ny4wMDAwMDBdIGV4YW1wbGVbNjNdCitbMjYyMTQ0LjAwMDAwMF0gZXhhbXBsZVs2NF0KK1syNzQ2MjUuMDAwMDAwXSBleGFtcGxlWzY1XQorWzI4NzQ5Ni4wMDAwMDBdIGV4YW1wbGVbNjZdCitbMzAwNzYzLjAwMDAwMF0gZXhhbXBsZVs2N10KK1szMTQ0MzIuMDAwMDAwXSBleGFtcGxlWzY4XQorWzMyODUwOS4wMDAwMDBdIGV4YW1wbGVbNjldCitbMzQzMDAwLjAwMDAwMF0gZXhhbXBsZVs3MF0KK1szNTc5MTEuMDAwMDAwXSBleGFtcGxlWzcxXQorWzM3MzI0OC4wMDAwMDBdIGV4YW1wbGVbNzJdCitbMzg5MDE3LjAwMDAwMF0gZXhhbXBsZVs3M10KK1s0MDUyMjQuMDAwMDAwXSBleGFtcGxlWzc0XQorWzQyMTg3NS4wMDAwMDBdIGV4YW1wbGVbNzVdCitbNDM4OTc2LjAwMDAwMF0gZXhhbXBsZVs3Nl0KK1s0NTY1MzMuMDAwMDAwXSBleGFtcGxlWzc3XQorWzQ3NDU1Mi4wMDAwMDBdIGV4YW1wbGVbNzhdCitbNDkzMDM5LjAwMDAwMF0gZXhhbXBsZVs3OV0KK1s1MTIwMDAuMDAwMDAwXSBleGFtcGxlWzgwXQorWzUzMTQ0MS4wMDAwMDBdIGV4YW1wbGVbODFdCitbNTUxMzY4LjAwMDAwMF0gZXhhbXBsZVs4Ml0KK1s1NzE3ODcuMDAwMDAwXSBleGFtcGxlWzgzXQorWzU5MjcwNC4wMDAwMDBdIGV4YW1wbGVbODRdCitbNjE0MTI1LjAwMDAwMF0gZXhhbXBsZVs4NV0KK1s2MzYwNTYuMDAwMDAwXSBleGFtcGxlWzg2XQorWzY1ODUwMy4wMDAwMDBdIGV4YW1wbGVbODddCitbNjgxNDcyLjAwMDAwMF0gZXhhbXBsZVs4OF0KK1s3MDQ5NjkuMDAwMDAwXSBleGFtcGxlWzg5XQorWzcyOTAwMC4wMDAwMDBdIGV4YW1wbGVbOTBdCitbNzUzNTcxLjAwMDAwMF0gZXhhbXBsZVs5MV0KK1s3Nzg2ODguMDAwMDAwXSBleGFtcGxlWzkyXQorWzgwNDM1Ny4wMDAwMDBdIGV4YW1wbGVbOTNdCitbODMwNTg0LjAwMDAwMF0gZXhhbXBsZVs5NF0KK1s4NTczNzUuMDAwMDAwXSBleGFtcGxlWzk1XQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZG1lc2cvaW5kZW50YXRpb24gYi90ZXN0cy9leHBlY3RlZC9kbWVzZy9pbmRlbnRhdGlvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZDBiNmU0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZG1lc2cvaW5kZW50YXRpb24KQEAgLTAsMCArMSwzNSBAQAorWyAgICAxLjAwMDAwMF0gbmV3CisgICAgICAgICAgICAgICBsaW5lCitbICAgIDIuMDAwMDAwXSB0d28KKyAgICAgICAgICAgICAgIG5ldworICAgICAgICAgICAgICAgbGluZXMKK3VzZXIgIDpjcml0ICA6IFsgICAgMS4wMDAwMDBdIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZQorbWFpbCAgOndhcm4gIDogWyAgICAyLjAwMDAwMF0gdHdvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVzCitbPCAgICAwLjAwMDAwMD5dIG5ldworICAgICAgICAgICAgICAgICBsaW5lCitbPCAgICAxLjAwMDAwMD5dIHR3bworICAgICAgICAgICAgICAgICBuZXcKKyAgICAgICAgICAgICAgICAgbGluZXMKK25ldworbGluZQordHdvCituZXcKK2xpbmVzCitbRmViMTMgMjM6MzFdIG5ldworICAgICAgICAgICAgICBsaW5lCitbICArMS4wMDAwMDBdIHR3bworICAgICAgICAgICAgICBuZXcKKyAgICAgICAgICAgICAgbGluZXMKK1tGcmkgRmViIDEzIDIzOjMxOjMxIDIwMDldIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZQorW0ZyaSBGZWIgMTMgMjM6MzE6MzIgMjAwOV0gdHdvCisgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVzCisyMDA5LTAyLTEzVDIzOjMxOjMxLDAwMDAwMCswMDAwIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lCisyMDA5LTAyLTEzVDIzOjMxOjMyLDAwMDAwMCswMDAwIHR3bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZXMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2VqZWN0L3Vtb3VudC1ieS1kaXNrIGIvdGVzdHMvZXhwZWN0ZWQvZWplY3QvdW1vdW50LWJ5LWRpc2sKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2VqZWN0L3Vtb3VudC1ieS1kaXNrCkBAIC0wLDAgKzEgQEAKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2VqZWN0L3Vtb3VudC1ieS1kaXNrLW1vdW50ZWQgYi90ZXN0cy9leHBlY3RlZC9lamVjdC91bW91bnQtYnktZGlzay1tb3VudGVkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ODIxMTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9lamVjdC91bW91bnQtYnktZGlzay1tb3VudGVkCkBAIC0wLDAgKzEgQEAKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2VqZWN0L3Vtb3VudC1ieS1kaXNrLW1vdW50ZWQtcGFydGl0aW9uIGIvdGVzdHMvZXhwZWN0ZWQvZWplY3QvdW1vdW50LWJ5LWRpc2stbW91bnRlZC1wYXJ0aXRpb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmE5OWJhMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2VqZWN0L3Vtb3VudC1ieS1kaXNrLW1vdW50ZWQtcGFydGl0aW9uCkBAIC0wLDAgKzEsMiBAQAorQ3JlYXRlIHBhcnRpdGlvbnMKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2VqZWN0L3Vtb3VudC1ieS1wYXJ0aXRpb24gYi90ZXN0cy9leHBlY3RlZC9lamVjdC91bW91bnQtYnktcGFydGl0aW9uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhOTliYTAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9lamVjdC91bW91bnQtYnktcGFydGl0aW9uCkBAIC0wLDAgKzEsMiBAQAorQ3JlYXRlIHBhcnRpdGlvbnMKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2VqZWN0L3Vtb3VudC1ieS1wYXJ0aXRpb24tbW91bnRlZCBiL3Rlc3RzL2V4cGVjdGVkL2VqZWN0L3Vtb3VudC1ieS1wYXJ0aXRpb24tbW91bnRlZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYTk5YmEwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZWplY3QvdW1vdW50LWJ5LXBhcnRpdGlvbi1tb3VudGVkCkBAIC0wLDAgKzEsMiBAQAorQ3JlYXRlIHBhcnRpdGlvbnMKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2FsaWduLTUxMi00SyBiL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2FsaWduLTUxMi00SwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YmRjNTBlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svYWxpZ24tNTEyLTRLCkBAIC0wLDAgKzEsNzggQEAKK0NyZWF0ZSBwYXJ0aXRpb25zCisKK1dlbGNvbWUgdG8gZmRpc2sgPHJlbW92ZWQ+LgorQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLgorQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuCisKK0RldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IFBhcnRpdGlvbiB0eXBlCisgICBwICAgcHJpbWFyeSAoMCBwcmltYXJ5LCAwIGV4dGVuZGVkLCA0IGZyZWUpCisgICBlICAgZXh0ZW5kZWQgKGNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zKQorU2VsZWN0IChkZWZhdWx0IHApOiBQYXJ0aXRpb24gbnVtYmVyICgxLTQsIGRlZmF1bHQgMSk6IEZpcnN0IHNlY3RvciAoMjA0OC0xMDIzOTksIGRlZmF1bHQgMjA0OCk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICgyMDQ4LTEwMjM5OSwgZGVmYXVsdCAxMDIzOTkpOiAKK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogUGFydGl0aW9uIHR5cGUKKyAgIHAgICBwcmltYXJ5ICgxIHByaW1hcnksIDAgZXh0ZW5kZWQsIDMgZnJlZSkKKyAgIGUgICBleHRlbmRlZCAoY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMpCitTZWxlY3QgKGRlZmF1bHQgcCk6IFBhcnRpdGlvbiBudW1iZXIgKDItNCwgZGVmYXVsdCAyKTogRmlyc3Qgc2VjdG9yICgyMjUyOC0xMDIzOTksIGRlZmF1bHQgMjI1MjgpOiBMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSAoMjI1MjgtMTAyMzk5LCBkZWZhdWx0IDEwMjM5OSk6IAorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBQYXJ0aXRpb24gdHlwZQorICAgcCAgIHByaW1hcnkgKDIgcHJpbWFyeSwgMCBleHRlbmRlZCwgMiBmcmVlKQorICAgZSAgIGV4dGVuZGVkIChjb250YWluZXIgZm9yIGxvZ2ljYWwgcGFydGl0aW9ucykKK1NlbGVjdCAoZGVmYXVsdCBwKTogUGFydGl0aW9uIG51bWJlciAoMyw0LCBkZWZhdWx0IDMpOiBGaXJzdCBzZWN0b3IgKDQzMDA4LTEwMjM5OSwgZGVmYXVsdCA0MzAwOCk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICg0MzAwOC0xMDIzOTksIGRlZmF1bHQgMTAyMzk5KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IFBhcnRpdGlvbiB0eXBlCisgICBwICAgcHJpbWFyeSAoMyBwcmltYXJ5LCAwIGV4dGVuZGVkLCAxIGZyZWUpCisgICBlICAgZXh0ZW5kZWQgKGNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zKQorU2VsZWN0IChkZWZhdWx0IGUpOiAKK1NlbGVjdGVkIHBhcnRpdGlvbiA0CitGaXJzdCBzZWN0b3IgKDYzNDg4LTEwMjM5OSwgZGVmYXVsdCA2MzQ4OCk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICg2MzQ4OC0xMDIzOTksIGRlZmF1bHQgMTAyMzk5KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IEFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4KK0FkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiA1CitGaXJzdCBzZWN0b3IgKDY1NTM2LTEwMjM5OSwgZGVmYXVsdCA2NTUzNik6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICg2NTUzNi0xMDIzOTksIGRlZmF1bHQgMTAyMzk5KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IEFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4KK0FkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiA2CitGaXJzdCBzZWN0b3IgKDc3ODI0LTEwMjM5OSwgZGVmYXVsdCA3NzgyNCk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICg3NzgyNC0xMDIzOTksIGRlZmF1bHQgMTAyMzk5KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IEFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4KK0FkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiA3CitGaXJzdCBzZWN0b3IgKDkwMTEyLTEwMjM5OSwgZGVmYXVsdCA5MDExMik6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICg5MDExMi0xMDIzOTksIGRlZmF1bHQgMTAyMzk5KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IERpc2sgPHJlbW92ZWQ+OiA1MCBNaUIsIDUyNDI4ODAwIGJ5dGVzLCAxMDI0MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA0MDk2IGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNDA5NiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMjA0OCAgMjI1MjcgICAyMDQ4MCAgMTBNIDgzIExpbnV4Cis8cmVtb3ZlZD4yICAgICAgIDIyNTI4ICA0MzAwNyAgIDIwNDgwICAxME0gODMgTGludXgKKzxyZW1vdmVkPjMgICAgICAgNDMwMDggIDYzNDg3ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorPHJlbW92ZWQ+NCAgICAgICA2MzQ4OCAxMDIzOTkgICAzODkxMiAgMTlNICA1IEV4dGVuZGVkCis8cmVtb3ZlZD41ICAgICAgIDY1NTM2ICA3NTc3NSAgIDEwMjQwICAgNU0gODMgTGludXgKKzxyZW1vdmVkPjYgICAgICAgNzc4MjQgIDg4MDYzICAgMTAyNDAgICA1TSA4MyBMaW51eAorPHJlbW92ZWQ+NyAgICAgICA5MDExMiAxMDIzOTkgICAxMjI4OCAgIDZNIDgzIExpbnV4CisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgorCitBbGlnbm1lbnQgb2Zmc2V0czoKKzAKKzAKKzAKKzAKKzAKKzAKKzAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2FsaWduLTUxMi00Sy02MyBiL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2FsaWduLTUxMi00Sy02MwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNDY5YWI3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svYWxpZ24tNTEyLTRLLTYzCkBAIC0wLDAgKzEsNzkgQEAKK0NyZWF0ZSBwYXJ0aXRpb25zCisKK1dlbGNvbWUgdG8gZmRpc2sgPHJlbW92ZWQ+LgorQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLgorQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuCisKK0RldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IFBhcnRpdGlvbiB0eXBlCisgICBwICAgcHJpbWFyeSAoMCBwcmltYXJ5LCAwIGV4dGVuZGVkLCA0IGZyZWUpCisgICBlICAgZXh0ZW5kZWQgKGNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zKQorU2VsZWN0IChkZWZhdWx0IHApOiBQYXJ0aXRpb24gbnVtYmVyICgxLTQsIGRlZmF1bHQgMSk6IEZpcnN0IHNlY3RvciAoNy0xMDIzOTksIGRlZmF1bHQgNyk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICg3LTEwMjM5OSwgZGVmYXVsdCAxMDIzOTkpOiAKK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogUGFydGl0aW9uIHR5cGUKKyAgIHAgICBwcmltYXJ5ICgxIHByaW1hcnksIDAgZXh0ZW5kZWQsIDMgZnJlZSkKKyAgIGUgICBleHRlbmRlZCAoY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMpCitTZWxlY3QgKGRlZmF1bHQgcCk6IFBhcnRpdGlvbiBudW1iZXIgKDItNCwgZGVmYXVsdCAyKTogRmlyc3Qgc2VjdG9yICgyMDQ4Ny0xMDIzOTksIGRlZmF1bHQgMjA0ODcpOiBMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSAoMjA0ODctMTAyMzk5LCBkZWZhdWx0IDEwMjM5OSk6IAorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBQYXJ0aXRpb24gdHlwZQorICAgcCAgIHByaW1hcnkgKDIgcHJpbWFyeSwgMCBleHRlbmRlZCwgMiBmcmVlKQorICAgZSAgIGV4dGVuZGVkIChjb250YWluZXIgZm9yIGxvZ2ljYWwgcGFydGl0aW9ucykKK1NlbGVjdCAoZGVmYXVsdCBwKTogUGFydGl0aW9uIG51bWJlciAoMyw0LCBkZWZhdWx0IDMpOiBGaXJzdCBzZWN0b3IgKDQwOTY3LTEwMjM5OSwgZGVmYXVsdCA0MDk2Nyk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICg0MDk2Ny0xMDIzOTksIGRlZmF1bHQgMTAyMzk5KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IFBhcnRpdGlvbiB0eXBlCisgICBwICAgcHJpbWFyeSAoMyBwcmltYXJ5LCAwIGV4dGVuZGVkLCAxIGZyZWUpCisgICBlICAgZXh0ZW5kZWQgKGNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zKQorU2VsZWN0IChkZWZhdWx0IGUpOiAKK1NlbGVjdGVkIHBhcnRpdGlvbiA0CitGaXJzdCBzZWN0b3IgKDYxNDQ3LTEwMjM5OSwgZGVmYXVsdCA2MTQ0Nyk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICg2MTQ0Ny0xMDIzOTksIGRlZmF1bHQgMTAyMzk5KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IEFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4KK0FkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiA1CitGaXJzdCBzZWN0b3IgKDYxNDU0LTEwMjM5OSwgZGVmYXVsdCA2MzQ4Nyk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICg2MzQ4Ny0xMDIzOTksIGRlZmF1bHQgMTAyMzk5KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IEFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4KK0FkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiA2CitGaXJzdCBzZWN0b3IgKDYxNDU0LTEwMjM5OSwgZGVmYXVsdCA3NTc3NSk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICg3NTc3NS0xMDIzOTksIGRlZmF1bHQgMTAyMzk5KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IEFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4KK0FkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiA3CitGaXJzdCBzZWN0b3IgKDYxNDU0LTEwMjM5OSwgZGVmYXVsdCA4ODA2Myk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICg4ODA2My0xMDIzOTksIGRlZmF1bHQgMTAyMzk5KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IERpc2sgPHJlbW92ZWQ+OiA1MCBNaUIsIDUyNDI4ODAwIGJ5dGVzLCAxMDI0MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA0MDk2IGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNDA5NiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworQWxpZ25tZW50IG9mZnNldDogMzU4NCBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgICAgNyAgMjA0ODYgICAyMDQ4MCAgMTBNIDgzIExpbnV4Cis8cmVtb3ZlZD4yICAgICAgIDIwNDg3ICA0MDk2NiAgIDIwNDgwICAxME0gODMgTGludXgKKzxyZW1vdmVkPjMgICAgICAgNDA5NjcgIDYxNDQ2ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorPHJlbW92ZWQ+NCAgICAgICA2MTQ0NyAxMDIzOTkgICA0MDk1MyAgMjBNICA1IEV4dGVuZGVkCis8cmVtb3ZlZD41ICAgICAgIDYzNDg3ICA3MzcyNiAgIDEwMjQwICAgNU0gODMgTGludXgKKzxyZW1vdmVkPjYgICAgICAgNzU3NzUgIDg2MDE0ICAgMTAyNDAgICA1TSA4MyBMaW51eAorPHJlbW92ZWQ+NyAgICAgICA4ODA2MyAxMDIzOTkgICAxNDMzNyAgIDdNIDgzIExpbnV4CisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgorCitBbGlnbm1lbnQgb2Zmc2V0czoKKzAKKzAKKzAKKzAKKzAKKzAKKzAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2FsaWduLTUxMi00Sy1tZCBiL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2FsaWduLTUxMi00Sy1tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYWNhMDMxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svYWxpZ24tNTEyLTRLLW1kCkBAIC0wLDAgKzEsNzggQEAKK0NyZWF0ZSBwYXJ0aXRpb25zCisKK1dlbGNvbWUgdG8gZmRpc2sgPHJlbW92ZWQ+LgorQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLgorQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuCisKK0RldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IFBhcnRpdGlvbiB0eXBlCisgICBwICAgcHJpbWFyeSAoMCBwcmltYXJ5LCAwIGV4dGVuZGVkLCA0IGZyZWUpCisgICBlICAgZXh0ZW5kZWQgKGNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zKQorU2VsZWN0IChkZWZhdWx0IHApOiBQYXJ0aXRpb24gbnVtYmVyICgxLTQsIGRlZmF1bHQgMSk6IEZpcnN0IHNlY3RvciAoMjA0OC0xMDIzOTksIGRlZmF1bHQgMjA0OCk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICgyMDQ4LTEwMjM5OSwgZGVmYXVsdCAxMDIzOTkpOiAKK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogUGFydGl0aW9uIHR5cGUKKyAgIHAgICBwcmltYXJ5ICgxIHByaW1hcnksIDAgZXh0ZW5kZWQsIDMgZnJlZSkKKyAgIGUgICBleHRlbmRlZCAoY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMpCitTZWxlY3QgKGRlZmF1bHQgcCk6IFBhcnRpdGlvbiBudW1iZXIgKDItNCwgZGVmYXVsdCAyKTogRmlyc3Qgc2VjdG9yICg0MzAwOC0xMDIzOTksIGRlZmF1bHQgNDMwMDgpOiBMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSAoNDMwMDgtMTAyMzk5LCBkZWZhdWx0IDEwMjM5OSk6IAorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgIDIwNDggIDQzMDA3ICAgNDA5NjAgIDIwTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICA0MzAwOCAxMDIzOTkgICA1OTM5MiAgMjlNIDgzIExpbnV4CisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgorCitBbGlnbm1lbnQgb2Zmc2V0czoKKzAKKzAKK0NyZWF0ZSBwYXJ0aXRpb25zIChNRCkKKworV2VsY29tZSB0byBmZGlzayA8cmVtb3ZlZD4uCitDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uCitCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC4KKworRGV2aWNlIGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZS4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogUGFydGl0aW9uIHR5cGUKKyAgIHAgICBwcmltYXJ5ICgwIHByaW1hcnksIDAgZXh0ZW5kZWQsIDQgZnJlZSkKKyAgIGUgICBleHRlbmRlZCAoY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMpCitTZWxlY3QgKGRlZmF1bHQgcCk6IFBhcnRpdGlvbiBudW1iZXIgKDEtNCwgZGVmYXVsdCAxKTogRmlyc3Qgc2VjdG9yICgyMDQ4LTEwMDA5NSwgZGVmYXVsdCAyMDQ4KTogTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0gKDIwNDgtMTAwMDk1LCBkZWZhdWx0IDEwMDA5NSk6IAorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBQYXJ0aXRpb24gdHlwZQorICAgcCAgIHByaW1hcnkgKDEgcHJpbWFyeSwgMCBleHRlbmRlZCwgMyBmcmVlKQorICAgZSAgIGV4dGVuZGVkIChjb250YWluZXIgZm9yIGxvZ2ljYWwgcGFydGl0aW9ucykKK1NlbGVjdCAoZGVmYXVsdCBwKTogUGFydGl0aW9uIG51bWJlciAoMi00LCBkZWZhdWx0IDIpOiBGaXJzdCBzZWN0b3IgKDIyNTI4LTEwMDA5NSwgZGVmYXVsdCAyMjUyOCk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICgyMjUyOC0xMDAwOTUsIGRlZmF1bHQgMTAwMDk1KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IERpc2sgPHJlbW92ZWQ+OiA0OC45IE1pQiwgNTEyNDkxNTIgYnl0ZXMsIDEwMDA5NiBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDQwOTYgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA2NTUzNiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD5wMSAgICAgICAyMDQ4IDIyNTI3ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorPHJlbW92ZWQ+cDIgICAgICAyMjUyOCA0MzAwNyAgIDIwNDgwICAxME0gODMgTGludXgKKworQ29tbWFuZCAobSBmb3IgaGVscCk6IFRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCisKK0FsaWdubWVudCBvZmZzZXRzIChNRCk6CiswCiswCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9mZGlzay9hbGlnbi01MTItNTEyIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svYWxpZ24tNTEyLTUxMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYTI0YmE0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svYWxpZ24tNTEyLTUxMgpAQCAtMCwwICsxLDY3IEBACitDcmVhdGUgcGFydGl0aW9ucworCitXZWxjb21lIHRvIGZkaXNrIDxyZW1vdmVkPi4KK0NoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS4KK0JlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLgorCitEZXZpY2UgZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlLgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBQYXJ0aXRpb24gdHlwZQorICAgcCAgIHByaW1hcnkgKDAgcHJpbWFyeSwgMCBleHRlbmRlZCwgNCBmcmVlKQorICAgZSAgIGV4dGVuZGVkIChjb250YWluZXIgZm9yIGxvZ2ljYWwgcGFydGl0aW9ucykKK1NlbGVjdCAoZGVmYXVsdCBwKTogUGFydGl0aW9uIG51bWJlciAoMS00LCBkZWZhdWx0IDEpOiBGaXJzdCBzZWN0b3IgKDIwNDgtMTAyMzk5LCBkZWZhdWx0IDIwNDgpOiBMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSAoMjA0OC0xMDIzOTksIGRlZmF1bHQgMTAyMzk5KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IFBhcnRpdGlvbiB0eXBlCisgICBwICAgcHJpbWFyeSAoMSBwcmltYXJ5LCAwIGV4dGVuZGVkLCAzIGZyZWUpCisgICBlICAgZXh0ZW5kZWQgKGNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zKQorU2VsZWN0IChkZWZhdWx0IHApOiBQYXJ0aXRpb24gbnVtYmVyICgyLTQsIGRlZmF1bHQgMik6IEZpcnN0IHNlY3RvciAoMjI1MjgtMTAyMzk5LCBkZWZhdWx0IDIyNTI4KTogTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0gKDIyNTI4LTEwMjM5OSwgZGVmYXVsdCAxMDIzOTkpOiAKK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogUGFydGl0aW9uIHR5cGUKKyAgIHAgICBwcmltYXJ5ICgyIHByaW1hcnksIDAgZXh0ZW5kZWQsIDIgZnJlZSkKKyAgIGUgICBleHRlbmRlZCAoY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMpCitTZWxlY3QgKGRlZmF1bHQgcCk6IFBhcnRpdGlvbiBudW1iZXIgKDMsNCwgZGVmYXVsdCAzKTogRmlyc3Qgc2VjdG9yICg0MzAwOC0xMDIzOTksIGRlZmF1bHQgNDMwMDgpOiBMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSAoNDMwMDgtMTAyMzk5LCBkZWZhdWx0IDEwMjM5OSk6IAorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBQYXJ0aXRpb24gdHlwZQorICAgcCAgIHByaW1hcnkgKDMgcHJpbWFyeSwgMCBleHRlbmRlZCwgMSBmcmVlKQorICAgZSAgIGV4dGVuZGVkIChjb250YWluZXIgZm9yIGxvZ2ljYWwgcGFydGl0aW9ucykKK1NlbGVjdCAoZGVmYXVsdCBlKTogCitTZWxlY3RlZCBwYXJ0aXRpb24gNAorRmlyc3Qgc2VjdG9yICg2MzQ4OC0xMDIzOTksIGRlZmF1bHQgNjM0ODgpOiBMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSAoNjM0ODgtMTAyMzk5LCBkZWZhdWx0IDEwMjM5OSk6IAorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuCitBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gNQorRmlyc3Qgc2VjdG9yICg2NTUzNi0xMDIzOTksIGRlZmF1bHQgNjU1MzYpOiBMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSAoNjU1MzYtMTAyMzk5LCBkZWZhdWx0IDEwMjM5OSk6IAorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuCitBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gNgorRmlyc3Qgc2VjdG9yICg3NzgyNC0xMDIzOTksIGRlZmF1bHQgNzc4MjQpOiBMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSAoNzc4MjQtMTAyMzk5LCBkZWZhdWx0IDEwMjM5OSk6IAorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuCitBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gNworRmlyc3Qgc2VjdG9yICg5MDExMi0xMDIzOTksIGRlZmF1bHQgOTAxMTIpOiBMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSAoOTAxMTItMTAyMzk5LCBkZWZhdWx0IDEwMjM5OSk6IAorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD5wMSAgICAgICAyMDQ4ICAyMjUyNyAgIDIwNDgwICAxME0gODMgTGludXgKKzxyZW1vdmVkPnAyICAgICAgMjI1MjggIDQzMDA3ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorPHJlbW92ZWQ+cDMgICAgICA0MzAwOCAgNjM0ODcgICAyMDQ4MCAgMTBNIDgzIExpbnV4Cis8cmVtb3ZlZD5wNCAgICAgIDYzNDg4IDEwMjM5OSAgIDM4OTEyICAxOU0gIDUgRXh0ZW5kZWQKKzxyZW1vdmVkPnA1ICAgICAgNjU1MzYgIDc1Nzc1ICAgMTAyNDAgICA1TSA4MyBMaW51eAorPHJlbW92ZWQ+cDYgICAgICA3NzgyNCAgODgwNjMgICAxMDI0MCAgIDVNIDgzIExpbnV4Cis8cmVtb3ZlZD5wNyAgICAgIDkwMTEyIDEwMjM5OSAgIDEyMjg4ICAgNk0gODMgTGludXgKKworQ29tbWFuZCAobSBmb3IgaGVscCk6IApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZmRpc2svYWxpZ24tNTEyLTUxMi10b3BvbG9neSBiL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2FsaWduLTUxMi01MTItdG9wb2xvZ3kKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzg1NmRjYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2FsaWduLTUxMi01MTItdG9wb2xvZ3kKQEAgLTAsMCArMSw3OCBAQAorQ3JlYXRlIHBhcnRpdGlvbnMKKworV2VsY29tZSB0byBmZGlzayA8cmVtb3ZlZD4uCitDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uCitCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC4KKworRGV2aWNlIGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZS4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogUGFydGl0aW9uIHR5cGUKKyAgIHAgICBwcmltYXJ5ICgwIHByaW1hcnksIDAgZXh0ZW5kZWQsIDQgZnJlZSkKKyAgIGUgICBleHRlbmRlZCAoY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMpCitTZWxlY3QgKGRlZmF1bHQgcCk6IFBhcnRpdGlvbiBudW1iZXIgKDEtNCwgZGVmYXVsdCAxKTogRmlyc3Qgc2VjdG9yICgyMDQ4LTEwMjM5OSwgZGVmYXVsdCAyMDQ4KTogTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0gKDIwNDgtMTAyMzk5LCBkZWZhdWx0IDEwMjM5OSk6IAorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBQYXJ0aXRpb24gdHlwZQorICAgcCAgIHByaW1hcnkgKDEgcHJpbWFyeSwgMCBleHRlbmRlZCwgMyBmcmVlKQorICAgZSAgIGV4dGVuZGVkIChjb250YWluZXIgZm9yIGxvZ2ljYWwgcGFydGl0aW9ucykKK1NlbGVjdCAoZGVmYXVsdCBwKTogUGFydGl0aW9uIG51bWJlciAoMi00LCBkZWZhdWx0IDIpOiBGaXJzdCBzZWN0b3IgKDIyNTI4LTEwMjM5OSwgZGVmYXVsdCAyMjUyOCk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICgyMjUyOC0xMDIzOTksIGRlZmF1bHQgMTAyMzk5KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IFBhcnRpdGlvbiB0eXBlCisgICBwICAgcHJpbWFyeSAoMiBwcmltYXJ5LCAwIGV4dGVuZGVkLCAyIGZyZWUpCisgICBlICAgZXh0ZW5kZWQgKGNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zKQorU2VsZWN0IChkZWZhdWx0IHApOiBQYXJ0aXRpb24gbnVtYmVyICgzLDQsIGRlZmF1bHQgMyk6IEZpcnN0IHNlY3RvciAoNDMwMDgtMTAyMzk5LCBkZWZhdWx0IDQzMDA4KTogTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0gKDQzMDA4LTEwMjM5OSwgZGVmYXVsdCAxMDIzOTkpOiAKK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogUGFydGl0aW9uIHR5cGUKKyAgIHAgICBwcmltYXJ5ICgzIHByaW1hcnksIDAgZXh0ZW5kZWQsIDEgZnJlZSkKKyAgIGUgICBleHRlbmRlZCAoY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMpCitTZWxlY3QgKGRlZmF1bHQgZSk6IAorU2VsZWN0ZWQgcGFydGl0aW9uIDQKK0ZpcnN0IHNlY3RvciAoNjM0ODgtMTAyMzk5LCBkZWZhdWx0IDYzNDg4KTogTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0gKDYzNDg4LTEwMjM5OSwgZGVmYXVsdCAxMDIzOTkpOiAKK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogQWxsIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgaW4gdXNlLgorQWRkaW5nIGxvZ2ljYWwgcGFydGl0aW9uIDUKK0ZpcnN0IHNlY3RvciAoNjU1MzYtMTAyMzk5LCBkZWZhdWx0IDY1NTM2KTogTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0gKDY1NTM2LTEwMjM5OSwgZGVmYXVsdCAxMDIzOTkpOiAKK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogQWxsIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgaW4gdXNlLgorQWRkaW5nIGxvZ2ljYWwgcGFydGl0aW9uIDYKK0ZpcnN0IHNlY3RvciAoNzc4MjQtMTAyMzk5LCBkZWZhdWx0IDc3ODI0KTogTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0gKDc3ODI0LTEwMjM5OSwgZGVmYXVsdCAxMDIzOTkpOiAKK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogQWxsIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgaW4gdXNlLgorQWRkaW5nIGxvZ2ljYWwgcGFydGl0aW9uIDcKK0ZpcnN0IHNlY3RvciAoOTAxMTItMTAyMzk5LCBkZWZhdWx0IDkwMTEyKTogTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0gKDkwMTEyLTEwMjM5OSwgZGVmYXVsdCAxMDIzOTkpOiAKK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogRGlzayA8cmVtb3ZlZD46IDUwIE1pQiwgNTI0Mjg4MDAgYnl0ZXMsIDEwMjQwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMjA0OCAgMjI1MjcgICAyMDQ4MCAgMTBNIDgzIExpbnV4Cis8cmVtb3ZlZD4yICAgICAgIDIyNTI4ICA0MzAwNyAgIDIwNDgwICAxME0gODMgTGludXgKKzxyZW1vdmVkPjMgICAgICAgNDMwMDggIDYzNDg3ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorPHJlbW92ZWQ+NCAgICAgICA2MzQ4OCAxMDIzOTkgICAzODkxMiAgMTlNICA1IEV4dGVuZGVkCis8cmVtb3ZlZD41ICAgICAgIDY1NTM2ICA3NTc3NSAgIDEwMjQwICAgNU0gODMgTGludXgKKzxyZW1vdmVkPjYgICAgICAgNzc4MjQgIDg4MDYzICAgMTAyNDAgICA1TSA4MyBMaW51eAorPHJlbW92ZWQ+NyAgICAgICA5MDExMiAxMDIzOTkgICAxMjI4OCAgIDZNIDgzIExpbnV4CisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgorCitBbGlnbm1lbnQgb2Zmc2V0czoKKzAKKzAKKzAKKzAKKzAKKzAKKzAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2JzZF8wXzY0LkJFIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svYnNkXzBfNjQuQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2E3OWM0OQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2JzZF8wXzY0LkJFCkBAIC0wLDAgKzEsMjEzIEBACitCU0RfTEFCRUxTRUNUT1I9MAorQlNEX0xBQkVMT0ZGU0VUPTY0CitCU0RfRVhUUkE9CitCWVRFX09SREVSPUJFCisKK0luaXRpYWxpemUgZW1wdHkgaW1hZ2UKKzAwMDAwMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKK0NyZWF0ZSBuZXcgRE9TIHBhcnRpdGlvbiB0YWJsZQorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDAxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCA1NSBhYSAgfC4uLi4uLi4uLi4uLi4uVS58CiswMDAwMDIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwYTAwMDAwCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAxMCBNaUIsIDEwNDg1NzYwIGJ5dGVzLCAyMDQ4MCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIDFzdCBwcmltYXJ5IHBhcnRpdGlvbgorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDAgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDU1IGFhICB8Li4uLi4uLi4uLi4uLi5VLnwKKzAwMDAwMjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgMjA0OCAgNDA5NSAgICAyMDQ4ICAgMU0gODMgTGludXgKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIDJzdCBwcmltYXJ5IHBhcnRpdGlvbgorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDQgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAxIDNlIDgzIDEzIDQxIDM2IDAwIDEwICAwMCAwMCAwMCA0MCAwMCAwMCAwMCAwMCAgfC4+Li5BNi4uLi4uQC4uLi58CiswMDAwMDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEgIHwuLi4uLi4uLi4uLi4uLlUufAorMDAwMDAyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMGEwMDAwMAorU2V0IDJuZCBwYXJ0aXRpb24gdHlwZQorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDQgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAxIDNlIGE1IDEzIDQxIDM2IDAwIDEwICAwMCAwMCAwMCA0MCAwMCAwMCAwMCAwMCAgfC4+Li5BNi4uLi4uQC4uLi58CiswMDAwMDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEgIHwuLi4uLi4uLi4uLi4uLlUufAorMDAwMDAyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMGEwMDAwMAorCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAyMDQ4ICA0MDk1ICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICA0MDk2IDIwNDc5ICAgMTYzODQgICA4TSBhNSBGcmVlQlNECistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0NyZWF0ZSBkZWZhdWx0IEJTRAorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDQgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAxIDNlIGE1IDEzIDQxIDM2IDAwIDEwICAwMCAwMCAwMCA0MCAwMCAwMCAwMCAwMCAgfC4+Li5BNi4uLi4uQC4uLi58CiswMDAwMDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEgIHwuLi4uLi4uLi4uLi4uLlUufAorMDAwMDAyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDIwMDA0MCAgODIgNTYgNDUgNTcgMDAgMDYgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8LlZFVy4uLi4uLi4uLi4uLnwKKzAwMjAwMDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAyMDAwNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMiAwMCAwMCAwMCAwMCAzZiAgfC4uLi4uLi4uLi4uLi4uLj98CiswMDIwMDA3MCAgMDAgMDAgMDAgZmYgMDAgMDAgMDAgMDEgIDAwIDAwIDNlIGMxIDAwIDAwIDNlIGMxICB8Li4uLi4uLi4uLj4uLi4+LnwKKzAwMjAwMDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMGUgMTAgMDAgMDEgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAyMDAwOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAyMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uIC4uLi58CiswMDIwMDBhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMjAwMGMwICAwMCAwMCAwMCAwMCA4MiA1NiA0NSA1NyAgNjIgMzMgMDAgMDQgMDAgMDAgMjAgMDAgIHwuLi4uLlZFV2IzLi4uLiAufAorMDAyMDAwZDAgIDAwIDAwIDIwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uIC4uLi4uLi4uLi4uLi58CiswMDIwMDBlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMjAwMGYwICAwMCAwMCAwMCAwMCAwMCAwMCA0MCAwMCAgMDAgMDAgMTAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi5ALi4uLi4uLi4ufAorMDAyMDAxMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDNlIGMxICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLj4uLi4uLi4uLi58CiswMDIwMDExMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwYTAwMDAwCisKKy0tLWxheW91dC0tLS0tLS0tLS0KKworV2VsY29tZSB0byBmZGlzayA8cmVtb3ZlZD4uCitDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uCitCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC4KKworCitDb21tYW5kIChtIGZvciBoZWxwKTogRW50ZXJpbmcgbmVzdGVkIEJTRCBkaXNrbGFiZWwuCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBEaXNrIDxyZW1vdmVkPjI6IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK0dlb21ldHJ5OiAyNTUgaGVhZHMsIDYzIHNlY3RvcnMvdHJhY2ssIDEgY3lsaW5kZXJzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGJzZAorCitTbGljZSBTdGFydCAgIEVuZCBTZWN0b3JzICBTaXplIFR5cGUgICAgIEZzaXplIEJzaXplIENwZworYyAgICAgIDQwOTYgMjA0NzkgICAxNjM4NCAgICA4TSB1bnVzZWQgICAgICAgMCAgICAgMCAgIDAKK2QgICAgICAgICAwIDE2MDY0ICAgMTYwNjUgIDcuOU0gdW51c2VkICAgICAgIDAgICAgIDAgICAwCisKK1BhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IExlYXZpbmcgbmVzdGVkIGRpc2tsYWJlbC4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDEgMDAgMDAgMDAgMDAgMDAgMDAgMjAgIHwuLi4uLi4uLi4uLi4uLi4gfAorMDAwMDAxYzAgIDIxIDAwIDgzIDQxIDAxIDAwIDAwIDA4ICAwMCAwMCAwMCAwOCAwMCAwMCAwMCAwNCAgfCEuLkEuLi4uLi4uLi4uLi58CiswMDAwMDFkMCAgMDEgM2UgYTUgMTMgNDEgMzYgMDAgMTAgIDAwIDAwIDAwIDQwIDAwIDAwIDAwIDAwICB8Lj4uLkE2Li4uLi5ALi4uLnwKKzAwMDAwMWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDAxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCA1NSBhYSAgfC4uLi4uLi4uLi4uLi4uVS58CiswMDAwMDIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMjAwMDQwICA4MiA1NiA0NSA1NyAwMCAwNiAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuVkVXLi4uLi4uLi4uLi4ufAorMDAyMDAwNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDIwMDA2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAyIDAwIDAwIDAwIDAwIDNmICB8Li4uLi4uLi4uLi4uLi4uP3wKKzAwMjAwMDcwICAwMCAwMCAwMCBmZiAwMCAwMCAwMCAwMSAgMDAgMDAgM2UgYzEgMDAgMDAgM2UgYzEgIHwuLi4uLi4uLi4uPi4uLj4ufAorMDAyMDAwODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwZSAxMCAwMCAwMSAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDIwMDA5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDIwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4gLi4uLnwKKzAwMjAwMGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAyMDAwYzAgIDAwIDAwIDAwIDAwIDgyIDU2IDQ1IDU3ICA3ZCAzMiAwMCAwNCAwMCAwMCAyMCAwMCAgfC4uLi4uVkVXfTIuLi4uIC58CiswMDIwMDBkMCAgMDAgMDAgMjAgMDAgMDAgMDAgMDggMDEgIDAwIDAwIDEwIDAwIDAwIDAwIDAwIDAwICB8Li4gLi4uLi4uLi4uLi4uLnwKKzAwMjAwMGUwICAwNyAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAyMDAwZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDQwIDAwICAwMCAwMCAxMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLkAuLi4uLi4uLi58CiswMDIwMDEwMCAgMDAgMDAgMDAgMDAgMDAgMDAgM2UgYzEgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uPi4uLi4uLi4uLnwKKzAwMjAwMTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorCitXZWxjb21lIHRvIGZkaXNrIDxyZW1vdmVkPi4KK0NoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS4KK0JlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLgorCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IERpc2sgPHJlbW92ZWQ+MjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworR2VvbWV0cnk6IDI1NSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMSBjeWxpbmRlcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogYnNkCisKK1NsaWNlIFN0YXJ0ICAgRW5kIFNlY3RvcnMgIFNpemUgVHlwZSAgICAgRnNpemUgQnNpemUgQ3BnCithICAgICAgNDA5NiAgNjE0NCAgICAyMDQ5ICAgIDFNIDQuMkJTRCAgICAgICAwICAgICAwICAgMAorYyAgICAgIDQwOTYgMjA0NzkgICAxNjM4NCAgICA4TSB1bnVzZWQgICAgICAgMCAgICAgMCAgIDAKK2QgICAgICAgICAwIDE2MDY0ICAgMTYwNjUgIDcuOU0gdW51c2VkICAgICAgIDAgICAgIDAgICAwCisKK1BhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IExlYXZpbmcgbmVzdGVkIGRpc2tsYWJlbC4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLgorQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuCisKKworQ29tbWFuZCAobSBmb3IgaGVscCk6IEVudGVyaW5nIG5lc3RlZCBCU0QgZGlza2xhYmVsLgorCitDb21tYW5kIChtIGZvciBoZWxwKTogCisgMCAgdW51c2VkICAgICAgICAgICA1ICA0LjFCU0QgICAgICAgICAgIDkgIDQuNExGUyAgICAgICAgICAgZCAgYm9vdCAgICAgICAgICAgCisgMSAgc3dhcCAgICAgICAgICAgICA2ICBFaWdodGggRWRpdGlvbiAgIGEgIHVua25vd24gICAgICAgICAgZSAgQURPUyAgICAgICAgICAgCisgMiAgVmVyc2lvbiA2ICAgICAgICA3ICA0LjJCU0QgICAgICAgICAgIGIgIEhQRlMgICAgICAgICAgICAgZiAgSEZTICAgICAgICAgICAgCisgMyAgVmVyc2lvbiA3ICAgICAgICA4ICBNUy1ET1MgICAgICAgICAgIGMgIElTTy05NjYwICAgICAgICAxMCAgQWR2RlMgICAgICAgICAgCisgNCAgU3lzdGVtIFYgICAgICAgCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2JzZF8wXzY0LkxFIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svYnNkXzBfNjQuTEUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDY3M2QwNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2JzZF8wXzY0LkxFCkBAIC0wLDAgKzEsMjEzIEBACitCU0RfTEFCRUxTRUNUT1I9MAorQlNEX0xBQkVMT0ZGU0VUPTY0CitCU0RfRVhUUkE9CitCWVRFX09SREVSPUxFCisKK0luaXRpYWxpemUgZW1wdHkgaW1hZ2UKKzAwMDAwMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKK0NyZWF0ZSBuZXcgRE9TIHBhcnRpdGlvbiB0YWJsZQorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDAxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCA1NSBhYSAgfC4uLi4uLi4uLi4uLi4uVS58CiswMDAwMDIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwYTAwMDAwCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAxMCBNaUIsIDEwNDg1NzYwIGJ5dGVzLCAyMDQ4MCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIDFzdCBwcmltYXJ5IHBhcnRpdGlvbgorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDAgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDU1IGFhICB8Li4uLi4uLi4uLi4uLi5VLnwKKzAwMDAwMjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgMjA0OCAgNDA5NSAgICAyMDQ4ICAgMU0gODMgTGludXgKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIDJzdCBwcmltYXJ5IHBhcnRpdGlvbgorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDQgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAxIDNlIDgzIDEzIDQxIDM2IDAwIDEwICAwMCAwMCAwMCA0MCAwMCAwMCAwMCAwMCAgfC4+Li5BNi4uLi4uQC4uLi58CiswMDAwMDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEgIHwuLi4uLi4uLi4uLi4uLlUufAorMDAwMDAyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMGEwMDAwMAorU2V0IDJuZCBwYXJ0aXRpb24gdHlwZQorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDQgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAxIDNlIGE1IDEzIDQxIDM2IDAwIDEwICAwMCAwMCAwMCA0MCAwMCAwMCAwMCAwMCAgfC4+Li5BNi4uLi4uQC4uLi58CiswMDAwMDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEgIHwuLi4uLi4uLi4uLi4uLlUufAorMDAwMDAyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMGEwMDAwMAorCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAyMDQ4ICA0MDk1ICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICA0MDk2IDIwNDc5ICAgMTYzODQgICA4TSBhNSBGcmVlQlNECistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0NyZWF0ZSBkZWZhdWx0IEJTRAorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDQgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAxIDNlIGE1IDEzIDQxIDM2IDAwIDEwICAwMCAwMCAwMCA0MCAwMCAwMCAwMCAwMCAgfC4+Li5BNi4uLi4uQC4uLi58CiswMDAwMDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEgIHwuLi4uLi4uLi4uLi4uLlUufAorMDAwMDAyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDIwMDA0MCAgNTcgNDUgNTYgODIgMDYgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8V0VWLi4uLi4uLi4uLi4uLnwKKzAwMjAwMDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAyMDAwNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMiAwMCAwMCAzZiAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLj8uLi58CiswMDIwMDA3MCAgZmYgMDAgMDAgMDAgMDEgMDAgMDAgMDAgIGMxIDNlIDAwIDAwIGMxIDNlIDAwIDAwICB8Li4uLi4uLi4uPi4uLj4uLnwKKzAwMjAwMDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMTAgMGUgMDEgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAyMDAwOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAyMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uIC4uLi4uLi58CiswMDIwMDBhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMjAwMGMwICAwMCAwMCAwMCAwMCA1NyA0NSA1NiA4MiAgMzMgNjIgMDQgMDAgMDAgMjAgMDAgMDAgIHwuLi4uV0VWLjNiLi4uIC4ufAorMDAyMDAwZDAgIDAwIDIwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4gLi4uLi4uLi4uLi4uLi58CiswMDIwMDBlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMjAwMGYwICAwMCAwMCAwMCAwMCAwMCA0MCAwMCAwMCAgMDAgMTAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLkAuLi4uLi4uLi4ufAorMDAyMDAxMDAgIDAwIDAwIDAwIDAwIGMxIDNlIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uPi4uLi4uLi4uLi58CiswMDIwMDExMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwYTAwMDAwCisKKy0tLWxheW91dC0tLS0tLS0tLS0KKworV2VsY29tZSB0byBmZGlzayA8cmVtb3ZlZD4uCitDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uCitCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC4KKworCitDb21tYW5kIChtIGZvciBoZWxwKTogRW50ZXJpbmcgbmVzdGVkIEJTRCBkaXNrbGFiZWwuCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBEaXNrIDxyZW1vdmVkPjI6IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK0dlb21ldHJ5OiAyNTUgaGVhZHMsIDYzIHNlY3RvcnMvdHJhY2ssIDEgY3lsaW5kZXJzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGJzZAorCitTbGljZSBTdGFydCAgIEVuZCBTZWN0b3JzICBTaXplIFR5cGUgICAgIEZzaXplIEJzaXplIENwZworYyAgICAgIDQwOTYgMjA0NzkgICAxNjM4NCAgICA4TSB1bnVzZWQgICAgICAgMCAgICAgMCAgIDAKK2QgICAgICAgICAwIDE2MDY0ICAgMTYwNjUgIDcuOU0gdW51c2VkICAgICAgIDAgICAgIDAgICAwCisKK1BhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IExlYXZpbmcgbmVzdGVkIGRpc2tsYWJlbC4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDEgMDAgMDAgMDAgMDAgMDAgMDAgMjAgIHwuLi4uLi4uLi4uLi4uLi4gfAorMDAwMDAxYzAgIDIxIDAwIDgzIDQxIDAxIDAwIDAwIDA4ICAwMCAwMCAwMCAwOCAwMCAwMCAwMCAwNCAgfCEuLkEuLi4uLi4uLi4uLi58CiswMDAwMDFkMCAgMDEgM2UgYTUgMTMgNDEgMzYgMDAgMTAgIDAwIDAwIDAwIDQwIDAwIDAwIDAwIDAwICB8Lj4uLkE2Li4uLi5ALi4uLnwKKzAwMDAwMWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDAxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCA1NSBhYSAgfC4uLi4uLi4uLi4uLi4uVS58CiswMDAwMDIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMjAwMDQwICA1NyA0NSA1NiA4MiAwNiAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHxXRVYuLi4uLi4uLi4uLi4ufAorMDAyMDAwNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDIwMDA2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAyIDAwIDAwIDNmIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uPy4uLnwKKzAwMjAwMDcwICBmZiAwMCAwMCAwMCAwMSAwMCAwMCAwMCAgYzEgM2UgMDAgMDAgYzEgM2UgMDAgMDAgIHwuLi4uLi4uLi4+Li4uPi4ufAorMDAyMDAwODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAxMCAwZSAwMSAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDIwMDA5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDIwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4gLi4uLi4uLnwKKzAwMjAwMGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAyMDAwYzAgIDAwIDAwIDAwIDAwIDU3IDQ1IDU2IDgyICAzNSA3YSAwNCAwMCAwMCAyMCAwMCAwMCAgfC4uLi5XRVYuNXouLi4gLi58CiswMDIwMDBkMCAgMDAgMjAgMDAgMDAgMDEgMDggMDAgMDAgIDAwIDEwIDAwIDAwIDAwIDAwIDAwIDAwICB8LiAuLi4uLi4uLi4uLi4uLnwKKzAwMjAwMGUwICAwNyAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAyMDAwZjAgIDAwIDAwIDAwIDAwIDAwIDQwIDAwIDAwICAwMCAxMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uQC4uLi4uLi4uLi58CiswMDIwMDEwMCAgMDAgMDAgMDAgMDAgYzEgM2UgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4+Li4uLi4uLi4uLnwKKzAwMjAwMTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorCitXZWxjb21lIHRvIGZkaXNrIDxyZW1vdmVkPi4KK0NoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS4KK0JlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLgorCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IERpc2sgPHJlbW92ZWQ+MjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworR2VvbWV0cnk6IDI1NSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMSBjeWxpbmRlcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogYnNkCisKK1NsaWNlIFN0YXJ0ICAgRW5kIFNlY3RvcnMgIFNpemUgVHlwZSAgICAgRnNpemUgQnNpemUgQ3BnCithICAgICAgNDA5NiAgNjE0NCAgICAyMDQ5ICAgIDFNIDQuMkJTRCAgICAgICAwICAgICAwICAgMAorYyAgICAgIDQwOTYgMjA0NzkgICAxNjM4NCAgICA4TSB1bnVzZWQgICAgICAgMCAgICAgMCAgIDAKK2QgICAgICAgICAwIDE2MDY0ICAgMTYwNjUgIDcuOU0gdW51c2VkICAgICAgIDAgICAgIDAgICAwCisKK1BhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IExlYXZpbmcgbmVzdGVkIGRpc2tsYWJlbC4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLgorQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuCisKKworQ29tbWFuZCAobSBmb3IgaGVscCk6IEVudGVyaW5nIG5lc3RlZCBCU0QgZGlza2xhYmVsLgorCitDb21tYW5kIChtIGZvciBoZWxwKTogCisgMCAgdW51c2VkICAgICAgICAgICA1ICA0LjFCU0QgICAgICAgICAgIDkgIDQuNExGUyAgICAgICAgICAgZCAgYm9vdCAgICAgICAgICAgCisgMSAgc3dhcCAgICAgICAgICAgICA2ICBFaWdodGggRWRpdGlvbiAgIGEgIHVua25vd24gICAgICAgICAgZSAgQURPUyAgICAgICAgICAgCisgMiAgVmVyc2lvbiA2ICAgICAgICA3ICA0LjJCU0QgICAgICAgICAgIGIgIEhQRlMgICAgICAgICAgICAgZiAgSEZTICAgICAgICAgICAgCisgMyAgVmVyc2lvbiA3ICAgICAgICA4ICBNUy1ET1MgICAgICAgICAgIGMgIElTTy05NjYwICAgICAgICAxMCAgQWR2RlMgICAgICAgICAgCisgNCAgU3lzdGVtIFYgICAgICAgCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2JzZF8wXzY0X2FscGhhLkxFIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svYnNkXzBfNjRfYWxwaGEuTEUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWMyYTM2OAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2JzZF8wXzY0X2FscGhhLkxFCkBAIC0wLDAgKzEsMjE3IEBACitCU0RfTEFCRUxTRUNUT1I9MAorQlNEX0xBQkVMT0ZGU0VUPTY0CitCU0RfRVhUUkE9X2FscGhhCitCWVRFX09SREVSPUxFCisKK0luaXRpYWxpemUgZW1wdHkgaW1hZ2UKKzAwMDAwMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKK0NyZWF0ZSBuZXcgRE9TIHBhcnRpdGlvbiB0YWJsZQorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDAxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCA1NSBhYSAgfC4uLi4uLi4uLi4uLi4uVS58CiswMDAwMDIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwYTAwMDAwCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAxMCBNaUIsIDEwNDg1NzYwIGJ5dGVzLCAyMDQ4MCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIDFzdCBwcmltYXJ5IHBhcnRpdGlvbgorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDAgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDU1IGFhICB8Li4uLi4uLi4uLi4uLi5VLnwKKzAwMDAwMjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgMjA0OCAgNDA5NSAgICAyMDQ4ICAgMU0gODMgTGludXgKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIDJzdCBwcmltYXJ5IHBhcnRpdGlvbgorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDQgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAxIDNlIDgzIDEzIDQxIDM2IDAwIDEwICAwMCAwMCAwMCA0MCAwMCAwMCAwMCAwMCAgfC4+Li5BNi4uLi4uQC4uLi58CiswMDAwMDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEgIHwuLi4uLi4uLi4uLi4uLlUufAorMDAwMDAyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMGEwMDAwMAorU2V0IDJuZCBwYXJ0aXRpb24gdHlwZQorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDQgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAxIDNlIGE1IDEzIDQxIDM2IDAwIDEwICAwMCAwMCAwMCA0MCAwMCAwMCAwMCAwMCAgfC4+Li5BNi4uLi4uQC4uLi58CiswMDAwMDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEgIHwuLi4uLi4uLi4uLi4uLlUufAorMDAwMDAyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMGEwMDAwMAorCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAyMDQ4ICA0MDk1ICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICA0MDk2IDIwNDc5ICAgMTYzODQgICA4TSBhNSBGcmVlQlNECistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0NyZWF0ZSBkZWZhdWx0IEJTRAorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDQgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAxIDNlIGE1IDEzIDQxIDM2IDAwIDEwICAwMCAwMCAwMCA0MCAwMCAwMCAwMCAwMCAgfC4+Li5BNi4uLi4uQC4uLi58CiswMDAwMDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEgIHwuLi4uLi4uLi4uLi4uLlUufAorMDAwMDAyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDIwMDA0MCAgNTcgNDUgNTYgODIgMDYgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8V0VWLi4uLi4uLi4uLi4uLnwKKzAwMjAwMDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAyMDAwNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMiAwMCAwMCAzZiAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLj8uLi58CiswMDIwMDA3MCAgZmYgMDAgMDAgMDAgMDEgMDAgMDAgMDAgIGMxIDNlIDAwIDAwIGMxIDNlIDAwIDAwICB8Li4uLi4uLi4uPi4uLj4uLnwKKzAwMjAwMDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMTAgMGUgMDEgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAyMDAwOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDIwMDBjMCAgMDAgMDAgMDAgMDAgNTcgNDUgNTYgODIgIDEzIDYyIDA0IDAwIDAwIDIwIDAwIDAwICB8Li4uLldFVi4uYi4uLiAuLnwKKzAwMjAwMGQwICAwMCAyMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuIC4uLi4uLi4uLi4uLi4ufAorMDAyMDAwZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDIwMDBmMCAgMDAgMDAgMDAgMDAgMDAgNDAgMDAgMDAgIDAwIDEwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi5ALi4uLi4uLi4uLnwKKzAwMjAwMTAwICAwMCAwMCAwMCAwMCBjMSAzZSAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLj4uLi4uLi4uLi4ufAorMDAyMDAxMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDIwMDFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDNhIDI3IDVjIDgyIDFmIDIzIDU3IDgyICB8Li4uLi4uLi46J1wuLiNXLnwKKzAwMjAwMjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorCitXZWxjb21lIHRvIGZkaXNrIDxyZW1vdmVkPi4KK0NoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS4KK0JlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLgorCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IERpc2sgPHJlbW92ZWQ+MjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworR2VvbWV0cnk6IDI1NSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMSBjeWxpbmRlcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogYnNkCisKK1NsaWNlIFN0YXJ0ICAgRW5kIFNlY3RvcnMgIFNpemUgVHlwZSAgICAgRnNpemUgQnNpemUgQ3BnCitjICAgICAgNDA5NiAyMDQ3OSAgIDE2Mzg0ICAgIDhNIHVudXNlZCAgICAgICAwICAgICAwICAgMAorZCAgICAgICAgIDAgMTYwNjQgICAxNjA2NSAgNy45TSB1bnVzZWQgICAgICAgMCAgICAgMCAgIDAKKworUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLgorCitDb21tYW5kIChtIGZvciBoZWxwKTogTGVhdmluZyBuZXN0ZWQgZGlza2xhYmVsLgorCitDb21tYW5kIChtIGZvciBoZWxwKTogCistLS0tLS0tLS0tLS0tLS0tLS0tCisKKzAwMDAwMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDAxYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMSAwMCAwMCAwMCAwMCAwMCAwMCAyMCAgfC4uLi4uLi4uLi4uLi4uLiB8CiswMDAwMDFjMCAgMjEgMDAgODMgNDEgMDEgMDAgMDAgMDggIDAwIDAwIDAwIDA4IDAwIDAwIDAwIDA0ICB8IS4uQS4uLi4uLi4uLi4uLnwKKzAwMDAwMWQwICAwMSAzZSBhNSAxMyA0MSAzNiAwMCAxMCAgMDAgMDAgMDAgNDAgMDAgMDAgMDAgMDAgIHwuPi4uQTYuLi4uLkAuLi4ufAorMDAwMDAxZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMDFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDU1IGFhICB8Li4uLi4uLi4uLi4uLi5VLnwKKzAwMDAwMjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAyMDAwNDAgIDU3IDQ1IDU2IDgyIDA2IDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfFdFVi4uLi4uLi4uLi4uLi58CiswMDIwMDA1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMjAwMDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDIgMDAgMDAgM2YgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4/Li4ufAorMDAyMDAwNzAgIGZmIDAwIDAwIDAwIDAxIDAwIDAwIDAwICBjMSAzZSAwMCAwMCBjMSAzZSAwMCAwMCAgfC4uLi4uLi4uLj4uLi4+Li58CiswMDIwMDA4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDEwIDBlIDAxIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMjAwMDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAyMDAwYzAgIDAwIDAwIDAwIDAwIDU3IDQ1IDU2IDgyICAxNSA3YSAwNCAwMCAwMCAyMCAwMCAwMCAgfC4uLi5XRVYuLnouLi4gLi58CiswMDIwMDBkMCAgMDAgMjAgMDAgMDAgMDEgMDggMDAgMDAgIDAwIDEwIDAwIDAwIDAwIDAwIDAwIDAwICB8LiAuLi4uLi4uLi4uLi4uLnwKKzAwMjAwMGUwICAwNyAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAyMDAwZjAgIDAwIDAwIDAwIDAwIDAwIDQwIDAwIDAwICAwMCAxMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uQC4uLi4uLi4uLi58CiswMDIwMDEwMCAgMDAgMDAgMDAgMDAgYzEgM2UgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4+Li4uLi4uLi4uLnwKKzAwMjAwMTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAyMDAxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICA0MyA0ZiA1YyA4MiAyMCAyYiA1NyA4MiAgfC4uLi4uLi4uQ09cLiArVy58CiswMDIwMDIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwYTAwMDAwCisKKy0tLWxheW91dC0tLS0tLS0tLS0KKworV2VsY29tZSB0byBmZGlzayA8cmVtb3ZlZD4uCitDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uCitCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC4KKworCitDb21tYW5kIChtIGZvciBoZWxwKTogRW50ZXJpbmcgbmVzdGVkIEJTRCBkaXNrbGFiZWwuCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBEaXNrIDxyZW1vdmVkPjI6IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK0dlb21ldHJ5OiAyNTUgaGVhZHMsIDYzIHNlY3RvcnMvdHJhY2ssIDEgY3lsaW5kZXJzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGJzZAorCitTbGljZSBTdGFydCAgIEVuZCBTZWN0b3JzICBTaXplIFR5cGUgICAgIEZzaXplIEJzaXplIENwZworYSAgICAgIDQwOTYgIDYxNDQgICAgMjA0OSAgICAxTSA0LjJCU0QgICAgICAgMCAgICAgMCAgIDAKK2MgICAgICA0MDk2IDIwNDc5ICAgMTYzODQgICAgOE0gdW51c2VkICAgICAgIDAgICAgIDAgICAwCitkICAgICAgICAgMCAxNjA2NCAgIDE2MDY1ICA3LjlNIHVudXNlZCAgICAgICAwICAgICAwICAgMAorCitQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiAKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK0NoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS4KK0JlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLgorCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IAorIDAgIHVudXNlZCAgICAgICAgICAgNSAgNC4xQlNEICAgICAgICAgICA5ICA0LjRMRlMgICAgICAgICAgIGQgIGJvb3QgICAgICAgICAgIAorIDEgIHN3YXAgICAgICAgICAgICAgNiAgRWlnaHRoIEVkaXRpb24gICBhICB1bmtub3duICAgICAgICAgIGUgIEFET1MgICAgICAgICAgIAorIDIgIFZlcnNpb24gNiAgICAgICAgNyAgNC4yQlNEICAgICAgICAgICBiICBIUEZTICAgICAgICAgICAgIGYgIEhGUyAgICAgICAgICAgIAorIDMgIFZlcnNpb24gNyAgICAgICAgOCAgZXh0MiAgICAgICAgICAgICBjICBJU08tOTY2MCAgICAgICAgMTAgIEFkdkZTICAgICAgICAgIAorIDQgIFN5c3RlbSBWICAgICAgIAorCitDb21tYW5kIChtIGZvciBoZWxwKTogCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9mZGlzay9ic2RfMV8wLkJFIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svYnNkXzFfMC5CRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYzQ2YWJkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svYnNkXzFfMC5CRQpAQCAtMCwwICsxLDIxMyBAQAorQlNEX0xBQkVMU0VDVE9SPTEKK0JTRF9MQUJFTE9GRlNFVD0wCitCU0RfRVhUUkE9CitCWVRFX09SREVSPUJFCisKK0luaXRpYWxpemUgZW1wdHkgaW1hZ2UKKzAwMDAwMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKK0NyZWF0ZSBuZXcgRE9TIHBhcnRpdGlvbiB0YWJsZQorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDAxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCA1NSBhYSAgfC4uLi4uLi4uLi4uLi4uVS58CiswMDAwMDIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwYTAwMDAwCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAxMCBNaUIsIDEwNDg1NzYwIGJ5dGVzLCAyMDQ4MCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIDFzdCBwcmltYXJ5IHBhcnRpdGlvbgorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDAgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDU1IGFhICB8Li4uLi4uLi4uLi4uLi5VLnwKKzAwMDAwMjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgMjA0OCAgNDA5NSAgICAyMDQ4ICAgMU0gODMgTGludXgKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIDJzdCBwcmltYXJ5IHBhcnRpdGlvbgorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDQgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAxIDNlIDgzIDEzIDQxIDM2IDAwIDEwICAwMCAwMCAwMCA0MCAwMCAwMCAwMCAwMCAgfC4+Li5BNi4uLi4uQC4uLi58CiswMDAwMDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEgIHwuLi4uLi4uLi4uLi4uLlUufAorMDAwMDAyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMGEwMDAwMAorU2V0IDJuZCBwYXJ0aXRpb24gdHlwZQorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDQgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAxIDNlIGE1IDEzIDQxIDM2IDAwIDEwICAwMCAwMCAwMCA0MCAwMCAwMCAwMCAwMCAgfC4+Li5BNi4uLi4uQC4uLi58CiswMDAwMDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEgIHwuLi4uLi4uLi4uLi4uLlUufAorMDAwMDAyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMGEwMDAwMAorCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAyMDQ4ICA0MDk1ICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICA0MDk2IDIwNDc5ICAgMTYzODQgICA4TSBhNSBGcmVlQlNECistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0NyZWF0ZSBkZWZhdWx0IEJTRAorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDQgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAxIDNlIGE1IDEzIDQxIDM2IDAwIDEwICAwMCAwMCAwMCA0MCAwMCAwMCAwMCAwMCAgfC4+Li5BNi4uLi4uQC4uLi58CiswMDAwMDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEgIHwuLi4uLi4uLi4uLi4uLlUufAorMDAwMDAyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDIwMDIwMCAgODIgNTYgNDUgNTcgMDAgMDYgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8LlZFVy4uLi4uLi4uLi4uLnwKKzAwMjAwMjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAyMDAyMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMiAwMCAwMCAwMCAwMCAzZiAgfC4uLi4uLi4uLi4uLi4uLj98CiswMDIwMDIzMCAgMDAgMDAgMDAgZmYgMDAgMDAgMDAgMDEgIDAwIDAwIDNlIGMxIDAwIDAwIDNlIGMxICB8Li4uLi4uLi4uLj4uLi4+LnwKKzAwMjAwMjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMGUgMTAgMDAgMDEgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAyMDAyNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAyMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uIC4uLi58CiswMDIwMDI2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMjAwMjgwICAwMCAwMCAwMCAwMCA4MiA1NiA0NSA1NyAgNjIgMzMgMDAgMDQgMDAgMDAgMjAgMDAgIHwuLi4uLlZFV2IzLi4uLiAufAorMDAyMDAyOTAgIDAwIDAwIDIwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uIC4uLi4uLi4uLi4uLi58CiswMDIwMDJhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMjAwMmIwICAwMCAwMCAwMCAwMCAwMCAwMCA0MCAwMCAgMDAgMDAgMTAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi5ALi4uLi4uLi4ufAorMDAyMDAyYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDNlIGMxICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLj4uLi4uLi4uLi58CiswMDIwMDJkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwYTAwMDAwCisKKy0tLWxheW91dC0tLS0tLS0tLS0KKworV2VsY29tZSB0byBmZGlzayA8cmVtb3ZlZD4uCitDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uCitCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC4KKworCitDb21tYW5kIChtIGZvciBoZWxwKTogRW50ZXJpbmcgbmVzdGVkIEJTRCBkaXNrbGFiZWwuCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBEaXNrIDxyZW1vdmVkPjI6IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK0dlb21ldHJ5OiAyNTUgaGVhZHMsIDYzIHNlY3RvcnMvdHJhY2ssIDEgY3lsaW5kZXJzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGJzZAorCitTbGljZSBTdGFydCAgIEVuZCBTZWN0b3JzICBTaXplIFR5cGUgICAgIEZzaXplIEJzaXplIENwZworYyAgICAgIDQwOTYgMjA0NzkgICAxNjM4NCAgICA4TSB1bnVzZWQgICAgICAgMCAgICAgMCAgIDAKK2QgICAgICAgICAwIDE2MDY0ICAgMTYwNjUgIDcuOU0gdW51c2VkICAgICAgIDAgICAgIDAgICAwCisKK1BhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IExlYXZpbmcgbmVzdGVkIGRpc2tsYWJlbC4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDEgMDAgMDAgMDAgMDAgMDAgMDAgMjAgIHwuLi4uLi4uLi4uLi4uLi4gfAorMDAwMDAxYzAgIDIxIDAwIDgzIDQxIDAxIDAwIDAwIDA4ICAwMCAwMCAwMCAwOCAwMCAwMCAwMCAwNCAgfCEuLkEuLi4uLi4uLi4uLi58CiswMDAwMDFkMCAgMDEgM2UgYTUgMTMgNDEgMzYgMDAgMTAgIDAwIDAwIDAwIDQwIDAwIDAwIDAwIDAwICB8Lj4uLkE2Li4uLi5ALi4uLnwKKzAwMDAwMWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDAxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCA1NSBhYSAgfC4uLi4uLi4uLi4uLi4uVS58CiswMDAwMDIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMjAwMjAwICA4MiA1NiA0NSA1NyAwMCAwNiAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuVkVXLi4uLi4uLi4uLi4ufAorMDAyMDAyMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDIwMDIyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAyIDAwIDAwIDAwIDAwIDNmICB8Li4uLi4uLi4uLi4uLi4uP3wKKzAwMjAwMjMwICAwMCAwMCAwMCBmZiAwMCAwMCAwMCAwMSAgMDAgMDAgM2UgYzEgMDAgMDAgM2UgYzEgIHwuLi4uLi4uLi4uPi4uLj4ufAorMDAyMDAyNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwZSAxMCAwMCAwMSAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDIwMDI1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDIwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4gLi4uLnwKKzAwMjAwMjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAyMDAyODAgIDAwIDAwIDAwIDAwIDgyIDU2IDQ1IDU3ICA3ZCAzMiAwMCAwNCAwMCAwMCAyMCAwMCAgfC4uLi4uVkVXfTIuLi4uIC58CiswMDIwMDI5MCAgMDAgMDAgMjAgMDAgMDAgMDAgMDggMDEgIDAwIDAwIDEwIDAwIDAwIDAwIDAwIDAwICB8Li4gLi4uLi4uLi4uLi4uLnwKKzAwMjAwMmEwICAwNyAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAyMDAyYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDQwIDAwICAwMCAwMCAxMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLkAuLi4uLi4uLi58CiswMDIwMDJjMCAgMDAgMDAgMDAgMDAgMDAgMDAgM2UgYzEgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uPi4uLi4uLi4uLnwKKzAwMjAwMmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorCitXZWxjb21lIHRvIGZkaXNrIDxyZW1vdmVkPi4KK0NoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS4KK0JlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLgorCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IERpc2sgPHJlbW92ZWQ+MjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworR2VvbWV0cnk6IDI1NSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMSBjeWxpbmRlcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogYnNkCisKK1NsaWNlIFN0YXJ0ICAgRW5kIFNlY3RvcnMgIFNpemUgVHlwZSAgICAgRnNpemUgQnNpemUgQ3BnCithICAgICAgNDA5NiAgNjE0NCAgICAyMDQ5ICAgIDFNIDQuMkJTRCAgICAgICAwICAgICAwICAgMAorYyAgICAgIDQwOTYgMjA0NzkgICAxNjM4NCAgICA4TSB1bnVzZWQgICAgICAgMCAgICAgMCAgIDAKK2QgICAgICAgICAwIDE2MDY0ICAgMTYwNjUgIDcuOU0gdW51c2VkICAgICAgIDAgICAgIDAgICAwCisKK1BhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IExlYXZpbmcgbmVzdGVkIGRpc2tsYWJlbC4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLgorQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuCisKKworQ29tbWFuZCAobSBmb3IgaGVscCk6IEVudGVyaW5nIG5lc3RlZCBCU0QgZGlza2xhYmVsLgorCitDb21tYW5kIChtIGZvciBoZWxwKTogCisgMCAgdW51c2VkICAgICAgICAgICA1ICA0LjFCU0QgICAgICAgICAgIDkgIDQuNExGUyAgICAgICAgICAgZCAgYm9vdCAgICAgICAgICAgCisgMSAgc3dhcCAgICAgICAgICAgICA2ICBFaWdodGggRWRpdGlvbiAgIGEgIHVua25vd24gICAgICAgICAgZSAgQURPUyAgICAgICAgICAgCisgMiAgVmVyc2lvbiA2ICAgICAgICA3ICA0LjJCU0QgICAgICAgICAgIGIgIEhQRlMgICAgICAgICAgICAgZiAgSEZTICAgICAgICAgICAgCisgMyAgVmVyc2lvbiA3ICAgICAgICA4ICBNUy1ET1MgICAgICAgICAgIGMgIElTTy05NjYwICAgICAgICAxMCAgQWR2RlMgICAgICAgICAgCisgNCAgU3lzdGVtIFYgICAgICAgCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2JzZF8xXzAuTEUgYi90ZXN0cy9leHBlY3RlZC9mZGlzay9ic2RfMV8wLkxFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmM2I4MzgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9mZGlzay9ic2RfMV8wLkxFCkBAIC0wLDAgKzEsMjEzIEBACitCU0RfTEFCRUxTRUNUT1I9MQorQlNEX0xBQkVMT0ZGU0VUPTAKK0JTRF9FWFRSQT0KK0JZVEVfT1JERVI9TEUKKworSW5pdGlhbGl6ZSBlbXB0eSBpbWFnZQorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMGEwMDAwMAorQ3JlYXRlIG5ldyBET1MgcGFydGl0aW9uIHRhYmxlCiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDEgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDAxYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDU1IGFhICB8Li4uLi4uLi4uLi4uLi5VLnwKKzAwMDAwMjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitDcmVhdGUgMXN0IHByaW1hcnkgcGFydGl0aW9uCiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDEgMDAgMDAgMDAgMDAgMDAgMDAgMjAgIHwuLi4uLi4uLi4uLi4uLi4gfAorMDAwMDAxYzAgIDIxIDAwIDgzIDQxIDAxIDAwIDAwIDA4ICAwMCAwMCAwMCAwOCAwMCAwMCAwMCAwMCAgfCEuLkEuLi4uLi4uLi4uLi58CiswMDAwMDFkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEgIHwuLi4uLi4uLi4uLi4uLlUufAorMDAwMDAyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMGEwMDAwMAorCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAyMDQ4ICA0MDk1ICAgIDIwNDggICAxTSA4MyBMaW51eAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitDcmVhdGUgMnN0IHByaW1hcnkgcGFydGl0aW9uCiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDEgMDAgMDAgMDAgMDAgMDAgMDAgMjAgIHwuLi4uLi4uLi4uLi4uLi4gfAorMDAwMDAxYzAgIDIxIDAwIDgzIDQxIDAxIDAwIDAwIDA4ICAwMCAwMCAwMCAwOCAwMCAwMCAwMCAwNCAgfCEuLkEuLi4uLi4uLi4uLi58CiswMDAwMDFkMCAgMDEgM2UgODMgMTMgNDEgMzYgMDAgMTAgIDAwIDAwIDAwIDQwIDAwIDAwIDAwIDAwICB8Lj4uLkE2Li4uLi5ALi4uLnwKKzAwMDAwMWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDAxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCA1NSBhYSAgfC4uLi4uLi4uLi4uLi4uVS58CiswMDAwMDIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwYTAwMDAwCitTZXQgMm5kIHBhcnRpdGlvbiB0eXBlCiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDEgMDAgMDAgMDAgMDAgMDAgMDAgMjAgIHwuLi4uLi4uLi4uLi4uLi4gfAorMDAwMDAxYzAgIDIxIDAwIDgzIDQxIDAxIDAwIDAwIDA4ICAwMCAwMCAwMCAwOCAwMCAwMCAwMCAwNCAgfCEuLkEuLi4uLi4uLi4uLi58CiswMDAwMDFkMCAgMDEgM2UgYTUgMTMgNDEgMzYgMDAgMTAgIDAwIDAwIDAwIDQwIDAwIDAwIDAwIDAwICB8Lj4uLkE2Li4uLi5ALi4uLnwKKzAwMDAwMWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDAxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCA1NSBhYSAgfC4uLi4uLi4uLi4uLi4uVS58CiswMDAwMDIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwYTAwMDAwCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAxMCBNaUIsIDEwNDg1NzYwIGJ5dGVzLCAyMDQ4MCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgIDIwNDggIDQwOTUgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD4yICAgICAgIDQwOTYgMjA0NzkgICAxNjM4NCAgIDhNIGE1IEZyZWVCU0QKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIGRlZmF1bHQgQlNECiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDEgMDAgMDAgMDAgMDAgMDAgMDAgMjAgIHwuLi4uLi4uLi4uLi4uLi4gfAorMDAwMDAxYzAgIDIxIDAwIDgzIDQxIDAxIDAwIDAwIDA4ICAwMCAwMCAwMCAwOCAwMCAwMCAwMCAwNCAgfCEuLkEuLi4uLi4uLi4uLi58CiswMDAwMDFkMCAgMDEgM2UgYTUgMTMgNDEgMzYgMDAgMTAgIDAwIDAwIDAwIDQwIDAwIDAwIDAwIDAwICB8Lj4uLkE2Li4uLi5ALi4uLnwKKzAwMDAwMWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDAxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCA1NSBhYSAgfC4uLi4uLi4uLi4uLi4uVS58CiswMDAwMDIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMjAwMjAwICA1NyA0NSA1NiA4MiAwNiAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHxXRVYuLi4uLi4uLi4uLi4ufAorMDAyMDAyMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDIwMDIyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAyIDAwIDAwIDNmIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uPy4uLnwKKzAwMjAwMjMwICBmZiAwMCAwMCAwMCAwMSAwMCAwMCAwMCAgYzEgM2UgMDAgMDAgYzEgM2UgMDAgMDAgIHwuLi4uLi4uLi4+Li4uPi4ufAorMDAyMDAyNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAxMCAwZSAwMSAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDIwMDI1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDIwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4gLi4uLi4uLnwKKzAwMjAwMjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAyMDAyODAgIDAwIDAwIDAwIDAwIDU3IDQ1IDU2IDgyICAzMyA2MiAwNCAwMCAwMCAyMCAwMCAwMCAgfC4uLi5XRVYuM2IuLi4gLi58CiswMDIwMDI5MCAgMDAgMjAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8LiAuLi4uLi4uLi4uLi4uLnwKKzAwMjAwMmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAyMDAyYjAgIDAwIDAwIDAwIDAwIDAwIDQwIDAwIDAwICAwMCAxMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uQC4uLi4uLi4uLi58CiswMDIwMDJjMCAgMDAgMDAgMDAgMDAgYzEgM2UgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4+Li4uLi4uLi4uLnwKKzAwMjAwMmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorCitXZWxjb21lIHRvIGZkaXNrIDxyZW1vdmVkPi4KK0NoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS4KK0JlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLgorCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IERpc2sgPHJlbW92ZWQ+MjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworR2VvbWV0cnk6IDI1NSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMSBjeWxpbmRlcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogYnNkCisKK1NsaWNlIFN0YXJ0ICAgRW5kIFNlY3RvcnMgIFNpemUgVHlwZSAgICAgRnNpemUgQnNpemUgQ3BnCitjICAgICAgNDA5NiAyMDQ3OSAgIDE2Mzg0ICAgIDhNIHVudXNlZCAgICAgICAwICAgICAwICAgMAorZCAgICAgICAgIDAgMTYwNjQgICAxNjA2NSAgNy45TSB1bnVzZWQgICAgICAgMCAgICAgMCAgIDAKKworUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLgorCitDb21tYW5kIChtIGZvciBoZWxwKTogTGVhdmluZyBuZXN0ZWQgZGlza2xhYmVsLgorCitDb21tYW5kIChtIGZvciBoZWxwKTogCistLS0tLS0tLS0tLS0tLS0tLS0tCisKKzAwMDAwMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDAxYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMSAwMCAwMCAwMCAwMCAwMCAwMCAyMCAgfC4uLi4uLi4uLi4uLi4uLiB8CiswMDAwMDFjMCAgMjEgMDAgODMgNDEgMDEgMDAgMDAgMDggIDAwIDAwIDAwIDA4IDAwIDAwIDAwIDA0ICB8IS4uQS4uLi4uLi4uLi4uLnwKKzAwMDAwMWQwICAwMSAzZSBhNSAxMyA0MSAzNiAwMCAxMCAgMDAgMDAgMDAgNDAgMDAgMDAgMDAgMDAgIHwuPi4uQTYuLi4uLkAuLi4ufAorMDAwMDAxZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMDFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDU1IGFhICB8Li4uLi4uLi4uLi4uLi5VLnwKKzAwMDAwMjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAyMDAyMDAgIDU3IDQ1IDU2IDgyIDA2IDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfFdFVi4uLi4uLi4uLi4uLi58CiswMDIwMDIxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMjAwMjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDIgMDAgMDAgM2YgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4/Li4ufAorMDAyMDAyMzAgIGZmIDAwIDAwIDAwIDAxIDAwIDAwIDAwICBjMSAzZSAwMCAwMCBjMSAzZSAwMCAwMCAgfC4uLi4uLi4uLj4uLi4+Li58CiswMDIwMDI0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDEwIDBlIDAxIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMjAwMjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMjAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLiAuLi4uLi4ufAorMDAyMDAyNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDIwMDI4MCAgMDAgMDAgMDAgMDAgNTcgNDUgNTYgODIgIDM1IDdhIDA0IDAwIDAwIDIwIDAwIDAwICB8Li4uLldFVi41ei4uLiAuLnwKKzAwMjAwMjkwICAwMCAyMCAwMCAwMCAwMSAwOCAwMCAwMCAgMDAgMTAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuIC4uLi4uLi4uLi4uLi4ufAorMDAyMDAyYTAgIDA3IDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDIwMDJiMCAgMDAgMDAgMDAgMDAgMDAgNDAgMDAgMDAgIDAwIDEwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi5ALi4uLi4uLi4uLnwKKzAwMjAwMmMwICAwMCAwMCAwMCAwMCBjMSAzZSAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLj4uLi4uLi4uLi4ufAorMDAyMDAyZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMGEwMDAwMAorCistLS1sYXlvdXQtLS0tLS0tLS0tCisKK1dlbGNvbWUgdG8gZmRpc2sgPHJlbW92ZWQ+LgorQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLgorQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuCisKKworQ29tbWFuZCAobSBmb3IgaGVscCk6IEVudGVyaW5nIG5lc3RlZCBCU0QgZGlza2xhYmVsLgorCitDb21tYW5kIChtIGZvciBoZWxwKTogRGlzayA8cmVtb3ZlZD4yOiAxMCBNaUIsIDEwNDg1NzYwIGJ5dGVzLCAyMDQ4MCBzZWN0b3JzCitHZW9tZXRyeTogMjU1IGhlYWRzLCA2MyBzZWN0b3JzL3RyYWNrLCAxIGN5bGluZGVycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBic2QKKworU2xpY2UgU3RhcnQgICBFbmQgU2VjdG9ycyAgU2l6ZSBUeXBlICAgICBGc2l6ZSBCc2l6ZSBDcGcKK2EgICAgICA0MDk2ICA2MTQ0ICAgIDIwNDkgICAgMU0gNC4yQlNEICAgICAgIDAgICAgIDAgICAwCitjICAgICAgNDA5NiAyMDQ3OSAgIDE2Mzg0ICAgIDhNIHVudXNlZCAgICAgICAwICAgICAwICAgMAorZCAgICAgICAgIDAgMTYwNjQgICAxNjA2NSAgNy45TSB1bnVzZWQgICAgICAgMCAgICAgMCAgIDAKKworUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLgorCitDb21tYW5kIChtIGZvciBoZWxwKTogTGVhdmluZyBuZXN0ZWQgZGlza2xhYmVsLgorCitDb21tYW5kIChtIGZvciBoZWxwKTogCistLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uCitCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC4KKworCitDb21tYW5kIChtIGZvciBoZWxwKTogRW50ZXJpbmcgbmVzdGVkIEJTRCBkaXNrbGFiZWwuCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiAKKyAwICB1bnVzZWQgICAgICAgICAgIDUgIDQuMUJTRCAgICAgICAgICAgOSAgNC40TEZTICAgICAgICAgICBkICBib290ICAgICAgICAgICAKKyAxICBzd2FwICAgICAgICAgICAgIDYgIEVpZ2h0aCBFZGl0aW9uICAgYSAgdW5rbm93biAgICAgICAgICBlICBBRE9TICAgICAgICAgICAKKyAyICBWZXJzaW9uIDYgICAgICAgIDcgIDQuMkJTRCAgICAgICAgICAgYiAgSFBGUyAgICAgICAgICAgICBmICBIRlMgICAgICAgICAgICAKKyAzICBWZXJzaW9uIDcgICAgICAgIDggIE1TLURPUyAgICAgICAgICAgYyAgSVNPLTk2NjAgICAgICAgIDEwICBBZHZGUyAgICAgICAgICAKKyA0ICBTeXN0ZW0gViAgICAgICAKKworQ29tbWFuZCAobSBmb3IgaGVscCk6IApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZmRpc2svZ3B0IGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svZ3B0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyNDQ4NzQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9mZGlzay9ncHQKQEAgLTAsMCArMSwxMzggQEAKK0luaXRpYWxpemUgZW1wdHkgaW1hZ2UKK0NyZWF0ZSBuZXcgR1BUIHBhcnRpdGlvbiB0YWJsZQorCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0NyZWF0ZSBwYXJ0aXRpb25zCitDaGFuZ2UgcGFydGl0aW9uIHR5cGUgYnkgbnVtYmVyCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAxMCBNaUIsIDEwNDg1NzYwIGJ5dGVzLCAyMDQ4MCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAyMDQ4ICA0MDk1ICAgIDIwNDggICAxTSBFRkkgU3lzdGVtCis8cmVtb3ZlZD4yICA0MDk2ICA2MTQzICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD4zICA2MTQ0ICA4MTkxICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD40ICA4MTkyIDEwMjM5ICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD41IDEwMjQwIDEyMjg3ICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD42IDEyMjg4IDE0MzM1ICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD43IDE0MzM2IDE2MzgzICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD44IDE2Mzg0IDE4NDMxICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0NoYW5nZSBwYXJ0aXRpb24gdHlwZSBieSBVVUlECisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAxMCBNaUIsIDEwNDg1NzYwIGJ5dGVzLCAyMDQ4MCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAyMDQ4ICA0MDk1ICAgIDIwNDggICAxTSBFRkkgU3lzdGVtCis8cmVtb3ZlZD4yICA0MDk2ICA2MTQzICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD4zICA2MTQ0ICA4MTkxICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD40ICA4MTkyIDEwMjM5ICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD41IDEwMjQwIDEyMjg3ICAgIDIwNDggICAxTSBMaW51eCBzd2FwCis8cmVtb3ZlZD42IDEyMjg4IDE0MzM1ICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD43IDE0MzM2IDE2MzgzICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD44IDE2Mzg0IDE4NDMxICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RlbGV0ZSBwYXJ0aXRpb24KKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgIDIwNDggIDQwOTUgICAgMjA0OCAgIDFNIEVGSSBTeXN0ZW0KKzxyZW1vdmVkPjMgIDYxNDQgIDgxOTEgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjQgIDgxOTIgMTAyMzkgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjUgMTAyNDAgMTIyODcgICAgMjA0OCAgIDFNIExpbnV4IHN3YXAKKzxyZW1vdmVkPjYgMTIyODggMTQzMzUgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjcgMTQzMzYgMTYzODMgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjggMTYzODQgMTg0MzEgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIGFnYWluIHBhcnRpdGlvbgorCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgMjA0OCAgNDA5NSAgICAyMDQ4ICAgMU0gRUZJIFN5c3RlbQorPHJlbW92ZWQ+MiAgNDA5NiAgNjE0MyAgICAyMDQ4ICAgMU0gTGludXggZmlsZXN5c3RlbQorPHJlbW92ZWQ+MyAgNjE0NCAgODE5MSAgICAyMDQ4ICAgMU0gTGludXggZmlsZXN5c3RlbQorPHJlbW92ZWQ+NCAgODE5MiAxMDIzOSAgICAyMDQ4ICAgMU0gTGludXggZmlsZXN5c3RlbQorPHJlbW92ZWQ+NSAxMDI0MCAxMjI4NyAgICAyMDQ4ICAgMU0gTGludXggc3dhcAorPHJlbW92ZWQ+NiAxMjI4OCAxNDMzNSAgICAyMDQ4ICAgMU0gTGludXggZmlsZXN5c3RlbQorPHJlbW92ZWQ+NyAxNDMzNiAxNjM4MyAgICAyMDQ4ICAgMU0gTGludXggZmlsZXN5c3RlbQorPHJlbW92ZWQ+OCAxNjM4NCAxODQzMSAgICAyMDQ4ICAgMU0gTGludXggZmlsZXN5c3RlbQorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitDb3JydXB0IHByaW1hcnkgdGFibGUKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgIDIwNDggIDQwOTUgICAgMjA0OCAgIDFNIEVGSSBTeXN0ZW0KKzxyZW1vdmVkPjIgIDQwOTYgIDYxNDMgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjMgIDYxNDQgIDgxOTEgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjQgIDgxOTIgMTAyMzkgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjUgMTAyNDAgMTIyODcgICAgMjA0OCAgIDFNIExpbnV4IHN3YXAKKzxyZW1vdmVkPjYgMTIyODggMTQzMzUgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjcgMTQzMzYgMTYzODMgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjggMTYzODQgMTg0MzEgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ29ycnVwdCBiYWNrdXAgdGFibGUKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgIDIwNDggIDQwOTUgICAgMjA0OCAgIDFNIEVGSSBTeXN0ZW0KKzxyZW1vdmVkPjIgIDQwOTYgIDYxNDMgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjMgIDYxNDQgIDgxOTEgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjQgIDgxOTIgMTAyMzkgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjUgMTAyNDAgMTIyODcgICAgMjA0OCAgIDFNIExpbnV4IHN3YXAKKzxyZW1vdmVkPjYgMTIyODggMTQzMzUgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjcgMTQzMzYgMTYzODMgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjggMTYzODQgMTg0MzEgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKy0tLS0tLS0tLS0tLS0tLS0tLS0KKwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZmRpc2svaWQgYi90ZXN0cy9leHBlY3RlZC9mZGlzay9pZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ODAxZjgxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svaWQKQEAgLTAsMCArMSw1IEBACitJbml0aWFsaXplIGVtcHR5IGltYWdlCitDcmVhdGUgTUJSIHdpdGggSUQ9MHgxCitEaXNrIGlkZW50aWZpZXI6IDB4MDAwMDAwMDEKK0NyZWF0ZSBNQlIgd2l0aCBJRD0weDIKK0Rpc2sgaWRlbnRpZmllcjogMHgwMDAwMDAwMgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZmRpc2svaWQuc3BhcmMgYi90ZXN0cy9leHBlY3RlZC9mZGlzay9pZC5zcGFyYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTNmNDA3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svaWQuc3BhcmMKQEAgLTAsMCArMSwzIEBACitJbml0aWFsaXplIGVtcHR5IGltYWdlCitDcmVhdGUgTUJSIHdpdGggSUQ9MHgxCitDcmVhdGUgTUJSIHdpdGggSUQ9MHgyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9mZGlzay9tYnItZG9zLW1vZGUgYi90ZXN0cy9leHBlY3RlZC9mZGlzay9tYnItZG9zLW1vZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjU3ZmJkYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL21ici1kb3MtbW9kZQpAQCAtMCwwICsxLDE4OSBAQAorSW5pdGlhbGl6ZSBlbXB0eSBpbWFnZQorZjFjOTY0NWRiYzE0ZWZkZGM3ZDhhMzIyNjg1ZjI2ZWIgbWJyLWRvcy1tb2RlLmltZworQ3JlYXRlIG5ldyBET1MgcGFydGl0aW9uIHRhYmxlCis1N2U3MjFlMzhkMTI2NmMyZGYwNTUwNjdjMThmMmNmOSBtYnItZG9zLW1vZGUuaW1nCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAxMCBNaUIsIDEwNDg1NzYwIGJ5dGVzLCAyMDQ4MCBzZWN0b3JzCitHZW9tZXRyeTogMjU1IGhlYWRzLCA2MyBzZWN0b3JzL3RyYWNrLCAxMDI0IGN5bGluZGVycworVW5pdHM6IGN5bGluZGVycyBvZiAxNjA2NSAqIDUxMiA9IDgyMjUyODAgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitDcmVhdGUgcHJpbWFyeSBwYXJ0aXRpb24KK2FlNGY5YjEyZjRhNzY4ODQ5ZjcyZWEzNjkzOGMzMGM3IG1ici1kb3MtbW9kZS5pbWcKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK0dlb21ldHJ5OiAyNTUgaGVhZHMsIDYzIHNlY3RvcnMvdHJhY2ssIDEwMjQgY3lsaW5kZXJzCitVbml0czogY3lsaW5kZXJzIG9mIDE2MDY1ICogNTEyID0gODIyNTI4MCBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCBFbmQgQ3lsaW5kZXJzICBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgICAgMSAgIDEgICAgICAgICAxICA3LjhNIDgzIExpbnV4CistLS0tLS0tLS0tLS0tLS0tLS0tCisKK1NldCBwYXJ0aXRpb24gdHlwZQorNGE1ZGJhODE4Zjk5NjJhODJhMDg2ZDhiOTliODlhMTcgbWJyLWRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworR2VvbWV0cnk6IDI1NSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMTAyNCBjeWxpbmRlcnMKK1VuaXRzOiBjeWxpbmRlcnMgb2YgMTYwNjUgKiA1MTIgPSA4MjI1MjgwIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0IEVuZCBDeWxpbmRlcnMgIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgICAxICAgMSAgICAgICAgIDEgIDcuOE0gYmYgU29sYXJpcworLS0tLS0tLS0tLS0tLS0tLS0tLQorCitTZXQgcHJpbWFyeSBwYXJ0aXRpb24gYWN0aXZlCitjMzBlOWM3NjFiNzFjZjk1YzY3ZTc1OGI5MzcwNmFjNSBtYnItZG9zLW1vZGUuaW1nCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAxMCBNaUIsIDEwNDg1NzYwIGJ5dGVzLCAyMDQ4MCBzZWN0b3JzCitHZW9tZXRyeTogMjU1IGhlYWRzLCA2MyBzZWN0b3JzL3RyYWNrLCAxMDI0IGN5bGluZGVycworVW5pdHM6IGN5bGluZGVycyBvZiAxNjA2NSAqIDUxMiA9IDgyMjUyODAgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgRW5kIEN5bGluZGVycyAgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICogICAgICAgIDEgICAxICAgICAgICAgMSAgNy44TSBiZiBTb2xhcmlzCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK1JlLWNyZWF0ZSBwcmltYXJ5IHBhcnRpdGlvbgorYWU0ZjliMTJmNGE3Njg4NDlmNzJlYTM2OTM4YzMwYzcgbWJyLWRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworR2VvbWV0cnk6IDI1NSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMTAyNCBjeWxpbmRlcnMKK1VuaXRzOiBjeWxpbmRlcnMgb2YgMTYwNjUgKiA1MTIgPSA4MjI1MjgwIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0IEVuZCBDeWxpbmRlcnMgIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgICAxICAgMSAgICAgICAgIDEgIDcuOE0gODMgTGludXgKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIGV4dGVuZGVkIHBhcnRpdGlvbgorNzY5ODdhMDBiMzUzNjg3Y2QxZGJhM2RkZWE5ZDY2ZjkgbWJyLWRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworR2VvbWV0cnk6IDI1NSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMTAyNCBjeWxpbmRlcnMKK1VuaXRzOiBjeWxpbmRlcnMgb2YgMTYwNjUgKiA1MTIgPSA4MjI1MjgwIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0IEVuZCBDeWxpbmRlcnMgIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgICAxICAgMSAgICAgICAgIDEgIDcuOE0gODMgTGludXgKKzxyZW1vdmVkPjIgICAgICAgICAgMiAgMTIgICAgICAgIDEyIDg2LjNNICA1IEV4dGVuZGVkCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0NyZWF0ZSBsb2dpY2FsIHBhcnRpdGlvbnMKK2ExY2Q2NzA4ZTRhNmQyZTVmNmJjOWQ1YzBkYTBjZjNiIG1ici1kb3MtbW9kZS5pbWcKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDU0LjkgTWlCLCA1NzU3NzQ3MiBieXRlcywgMTEyNDU2IHNlY3RvcnMKK0dlb21ldHJ5OiAyNTUgaGVhZHMsIDYzIHNlY3RvcnMvdHJhY2ssIDEwMjQgY3lsaW5kZXJzCitVbml0czogY3lsaW5kZXJzIG9mIDE2MDY1ICogNTEyID0gODIyNTI4MCBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCBFbmQgQ3lsaW5kZXJzICBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgICAgMSAgIDEgICAgICAgICAxICA3LjhNIDgzIExpbnV4Cis8cmVtb3ZlZD4yICAgICAgICAgIDIgIDEyICAgICAgICAxMiA4Ni4zTSAgNSBFeHRlbmRlZAorPHJlbW92ZWQ+NSAgICAgICAgICAyICAgMyAgICAgICAgIDIgMTUuN00gODMgTGludXgKKzxyZW1vdmVkPjYgICAgICAgICAgNCAgIDUgICAgICAgICAyIDE1LjdNIDgzIExpbnV4Cis8cmVtb3ZlZD43ICAgICAgICAgIDYgICA3ICAgICAgICAgMiAxNS43TSA4MyBMaW51eAorPHJlbW92ZWQ+OCAgICAgICAgICA4ICAgOSAgICAgICAgIDIgMTUuN00gODMgTGludXgKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworRGVsZXRlIGxvZ2ljYWwgcGFydGl0aW9ucworNGM2OTM3ZDUyOWFjZTU2NjFmYjgyZWZiOTM5NDE1NGEgbWJyLWRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogNTQuOSBNaUIsIDU3NTc3NDcyIGJ5dGVzLCAxMTI0NTYgc2VjdG9ycworR2VvbWV0cnk6IDI1NSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMTAyNCBjeWxpbmRlcnMKK1VuaXRzOiBjeWxpbmRlcnMgb2YgMTYwNjUgKiA1MTIgPSA4MjI1MjgwIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0IEVuZCBDeWxpbmRlcnMgIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgICAxICAgMSAgICAgICAgIDEgIDcuOE0gODMgTGludXgKKzxyZW1vdmVkPjIgICAgICAgICAgMiAgMTIgICAgICAgIDEyIDg2LjNNICA1IEV4dGVuZGVkCis8cmVtb3ZlZD41ICAgICAgICAgIDYgICA3ICAgICAgICAgMiAxNS43TSA4MyBMaW51eAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitDcmVhdGUgYW5vdGhlciBsb2dpY2FsIHBhcnRpdGlvbgorOTU4OWVhYWVkNjk4ZDI0MDI5NDVhYjNlNTEzYzFlYjQgbWJyLWRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogNTQuOSBNaUIsIDU3NTc3NDcyIGJ5dGVzLCAxMTI0NTYgc2VjdG9ycworR2VvbWV0cnk6IDI1NSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMTAyNCBjeWxpbmRlcnMKK1VuaXRzOiBjeWxpbmRlcnMgb2YgMTYwNjUgKiA1MTIgPSA4MjI1MjgwIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0IEVuZCBDeWxpbmRlcnMgIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgICAxICAgMSAgICAgICAgIDEgIDcuOE0gODMgTGludXgKKzxyZW1vdmVkPjIgICAgICAgICAgMiAgMTIgICAgICAgIDEyIDg2LjNNICA1IEV4dGVuZGVkCis8cmVtb3ZlZD41ICAgICAgICAgIDYgICA3ICAgICAgICAgMiAxNS43TSA4MyBMaW51eAorPHJlbW92ZWQ+NiAgICAgICAgICAyICAgMyAgICAgICAgIDIgMTUuN00gODMgTGludXgKKworUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLgorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEZWxldGUgcHJpbWFyeSBwYXJ0aXRpb24KKzFlNmQ2NDZlNWRmNjZhMjY2NGNmYmJiMTNmYTlhMDhhIG1ici1kb3MtbW9kZS5pbWcKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDU0LjkgTWlCLCA1NzU3NzQ3MiBieXRlcywgMTEyNDU2IHNlY3RvcnMKK0dlb21ldHJ5OiAyNTUgaGVhZHMsIDYzIHNlY3RvcnMvdHJhY2ssIDEwMjQgY3lsaW5kZXJzCitVbml0czogY3lsaW5kZXJzIG9mIDE2MDY1ICogNTEyID0gODIyNTI4MCBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCBFbmQgQ3lsaW5kZXJzICBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjIgICAgICAgICAgMiAgMTIgICAgICAgIDEyIDg2LjNNICA1IEV4dGVuZGVkCis8cmVtb3ZlZD41ICAgICAgICAgIDYgICA3ICAgICAgICAgMiAxNS43TSA4MyBMaW51eAorPHJlbW92ZWQ+NiAgICAgICAgICAyICAgMyAgICAgICAgIDIgMTUuN00gODMgTGludXgKKworUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLgorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEZWxldGUgZXh0ZW5kZWQgcGFydGl0aW9uCitmYzNjZGIxMjMyNjY1NmQ3OTk2YjA5YjZmNzY5NzNlNyBtYnItZG9zLW1vZGUuaW1nCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiA1NC45IE1pQiwgNTc1Nzc0NzIgYnl0ZXMsIDExMjQ1NiBzZWN0b3JzCitHZW9tZXRyeTogMjU1IGhlYWRzLCA2MyBzZWN0b3JzL3RyYWNrLCAxMDI0IGN5bGluZGVycworVW5pdHM6IGN5bGluZGVycyBvZiAxNjA2NSAqIDUxMiA9IDgyMjUyODAgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorLS0tLS0tLS0tLS0tLS0tLS0tLQorCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9mZGlzay9tYnItbm9uZG9zLW1vZGUgYi90ZXN0cy9leHBlY3RlZC9mZGlzay9tYnItbm9uZG9zLW1vZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODgzM2JhYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL21ici1ub25kb3MtbW9kZQpAQCAtMCwwICsxLDIwMyBAQAorSW5pdGlhbGl6ZSBlbXB0eSBpbWFnZQorOGY0ZTMzZjNkYzNlNDE0ZmY5NGU1ZmI2OTA1Y2JhOGMgbWJyLW5vbmRvcy1tb2RlLmltZworQ3JlYXRlIG5ldyBET1MgcGFydGl0aW9uIHRhYmxlCis0ZTIzNTYxZGNiODE2NzhiYjFiZDY3ODcyMmM3Y2JiNyBtYnItbm9uZG9zLW1vZGUuaW1nCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAyMCBNaUIsIDIwOTcxNTIwIGJ5dGVzLCA0MDk2MCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIDFzdCBwcmltYXJ5IHBhcnRpdGlvbgorZTIxZTE2Yjc0NTJkODJlMmEyODEwYTFkZThjM2RiMDUgbWJyLW5vbmRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMjAgTWlCLCAyMDk3MTUyMCBieXRlcywgNDA5NjAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAyMDQ4ICA4MTkxICAgIDYxNDQgICAzTSA4MyBMaW51eAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitTZXQgcHJpbWFyeSBwYXJ0aXRpb24gYWN0aXZlCis0N2YwMjRmM2I0MDY1OThhMDE1OTQwMGFmNzM4MmUyYyBtYnItbm9uZG9zLW1vZGUuaW1nCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAyMCBNaUIsIDIwOTcxNTIwIGJ5dGVzLCA0MDk2MCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICogICAgIDIwNDggIDgxOTEgICAgNjE0NCAgIDNNIDgzIExpbnV4CistLS0tLS0tLS0tLS0tLS0tLS0tCisKK1JlLWNyZWF0ZSAxc3QgcHJpbWFyeSBwYXJ0aXRpb24KK2E1NTQzZWUxZTNkMmNmNzk5MTNhNTZiYWU4OTNhMGYwIG1ici1ub25kb3MtbW9kZS5pbWcKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDIwIE1pQiwgMjA5NzE1MjAgYnl0ZXMsIDQwOTYwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgMjA0OCAgODE5MSAgICA2MTQ0ICAgM00gODMgTGludXgKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIDJuZCBwcmltYXJ5IHBhcnRpdGlvbgorOWQzMWVlOTc3ZTI2ZTcyZWJjZTc4ZThlNTQzY2Q0Y2UgbWJyLW5vbmRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMjAgTWlCLCAyMDk3MTUyMCBieXRlcywgNDA5NjAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAyMDQ4ICA4MTkxICAgIDYxNDQgICAzTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICA4MTkyIDEyMjg3ICAgIDQwOTYgICAyTSA4MyBMaW51eAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitDcmVhdGUgZXh0ZW5kZWQgcGFydGl0aW9uCis5NTI4NjMxYjE5OGU0NDU2NGY2N2Y4Y2E5N2ZhNTFiOCBtYnItbm9uZG9zLW1vZGUuaW1nCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAyMCBNaUIsIDIwOTcxNTIwIGJ5dGVzLCA0MDk2MCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgIDIwNDggIDgxOTEgICAgNjE0NCAgIDNNIDgzIExpbnV4Cis8cmVtb3ZlZD4yICAgICAgIDgxOTIgMTIyODcgICAgNDA5NiAgIDJNIDgzIExpbnV4Cis8cmVtb3ZlZD4zICAgICAgMTIyODggNDA5NTkgICAyODY3MiAgMTRNICA1IEV4dGVuZGVkCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0NyZWF0ZSBsb2dpY2FsIHBhcnRpdGlvbnMKK2RiNDQwNmU3YmMwNzczZjIzNGZkMWRiMWI1OGI1OTk3IG1ici1ub25kb3MtbW9kZS5pbWcKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDIwIE1pQiwgMjA5NzE1MjAgYnl0ZXMsIDQwOTYwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgMjA0OCAgODE5MSAgICA2MTQ0ICAgM00gODMgTGludXgKKzxyZW1vdmVkPjIgICAgICAgODE5MiAxMjI4NyAgICA0MDk2ICAgMk0gODMgTGludXgKKzxyZW1vdmVkPjMgICAgICAxMjI4OCA0MDk1OSAgIDI4NjcyICAxNE0gIDUgRXh0ZW5kZWQKKzxyZW1vdmVkPjUgICAgICAxNDMzNiAxODQzMSAgICA0MDk2ICAgMk0gODMgTGludXgKKzxyZW1vdmVkPjYgICAgICAyMDQ4MCAyNDU3NSAgICA0MDk2ICAgMk0gODMgTGludXgKKzxyZW1vdmVkPjcgICAgICAyNjYyNCAzMDcxOSAgICA0MDk2ICAgMk0gODMgTGludXgKKzxyZW1vdmVkPjggICAgICAzMjc2OCAzNjg2MyAgICA0MDk2ICAgMk0gODMgTGludXgKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworRGVsZXRlIGxvZ2ljYWwgcGFydGl0aW9ucworZGU4NWI4ZDc0ZjUyZjMwN2I5NDY3ZWE0YzMzNDM4Y2IgbWJyLW5vbmRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMjAgTWlCLCAyMDk3MTUyMCBieXRlcywgNDA5NjAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAyMDQ4ICA4MTkxICAgIDYxNDQgICAzTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICA4MTkyIDEyMjg3ICAgIDQwOTYgICAyTSA4MyBMaW51eAorPHJlbW92ZWQ+MyAgICAgIDEyMjg4IDQwOTU5ICAgMjg2NzIgIDE0TSAgNSBFeHRlbmRlZAorPHJlbW92ZWQ+NSAgICAgIDI2NjI0IDMwNzE5ICAgIDQwOTYgICAyTSA4MyBMaW51eAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitDcmVhdGUgYW5vdGhlciBsb2dpY2FsIHBhcnRpdGlvbgorMjhkMGNiZTc5NTUzNWVlMDI1ZGM3YTQ3ODE1MTY5NjUgbWJyLW5vbmRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMjAgTWlCLCAyMDk3MTUyMCBieXRlcywgNDA5NjAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAyMDQ4ICA4MTkxICAgIDYxNDQgICAzTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICA4MTkyIDEyMjg3ICAgIDQwOTYgICAyTSA4MyBMaW51eAorPHJlbW92ZWQ+MyAgICAgIDEyMjg4IDQwOTU5ICAgMjg2NzIgIDE0TSAgNSBFeHRlbmRlZAorPHJlbW92ZWQ+NSAgICAgIDI2NjI0IDMwNzE5ICAgIDQwOTYgICAyTSA4MyBMaW51eAorPHJlbW92ZWQ+NiAgICAgIDE0MzM2IDE4NDMxICAgIDQwOTYgICAyTSA4MyBMaW51eAorCitQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RlbGV0ZSBwcmltYXJ5IHBhcnRpdGlvbgorNmYxYjYyNzE4Y2Y4ZDgzNjAyZDUxZGU4OTQ0Y2VlNTEgbWJyLW5vbmRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMjAgTWlCLCAyMDk3MTUyMCBieXRlcywgNDA5NjAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MiAgICAgICA4MTkyIDEyMjg3ICAgIDQwOTYgICAyTSA4MyBMaW51eAorPHJlbW92ZWQ+MyAgICAgIDEyMjg4IDQwOTU5ICAgMjg2NzIgIDE0TSAgNSBFeHRlbmRlZAorPHJlbW92ZWQ+NSAgICAgIDI2NjI0IDMwNzE5ICAgIDQwOTYgICAyTSA4MyBMaW51eAorPHJlbW92ZWQ+NiAgICAgIDE0MzM2IDE4NDMxICAgIDQwOTYgICAyTSA4MyBMaW51eAorCitQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RlbGV0ZSBwcmltYXJ5IHBhcnRpdGlvbgorN2IyOWEzY2RhMzNlOTkwZThhNzg3N2I4MTk4OGI5MzMgbWJyLW5vbmRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMjAgTWlCLCAyMDk3MTUyMCBieXRlcywgNDA5NjAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MyAgICAgIDEyMjg4IDQwOTU5ICAgMjg2NzIgIDE0TSAgNSBFeHRlbmRlZAorPHJlbW92ZWQ+NSAgICAgIDI2NjI0IDMwNzE5ICAgIDQwOTYgICAyTSA4MyBMaW51eAorPHJlbW92ZWQ+NiAgICAgIDE0MzM2IDE4NDMxICAgIDQwOTYgICAyTSA4MyBMaW51eAorCitQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RlbGV0ZSBleHRlbmRlZCBwYXJ0aXRpb24KK2UxZWY0OGQzZDQyZjRlYmNmZDViZjRiYWY1ZTM3MGU5IG1ici1ub25kb3MtbW9kZS5pbWcKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDIwIE1pQiwgMjA5NzE1MjAgYnl0ZXMsIDQwOTYwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorLS0tLS0tLS0tLS0tLS0tLS0tLQorCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9mZGlzay9tYnItbm9uZG9zLW1vZGUuc3BhcmMgYi90ZXN0cy9leHBlY3RlZC9mZGlzay9tYnItbm9uZG9zLW1vZGUuc3BhcmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmZiYmQ4MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL21ici1ub25kb3MtbW9kZS5zcGFyYwpAQCAtMCwwICsxLDE4OSBAQAorSW5pdGlhbGl6ZSBlbXB0eSBpbWFnZQorOGY0ZTMzZjNkYzNlNDE0ZmY5NGU1ZmI2OTA1Y2JhOGMgbWJyLW5vbmRvcy1tb2RlLmltZworQ3JlYXRlIG5ldyBET1MgcGFydGl0aW9uIHRhYmxlCis4ZjRlMzNmM2RjM2U0MTRmZjk0ZTVmYjY5MDVjYmE4YyBtYnItbm9uZG9zLW1vZGUuaW1nCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAyMCBNaUIsIDIwOTcxNTIwIGJ5dGVzLCA0MDk2MCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworLS0tLS0tLS0tLS0tLS0tLS0tLQorCitDcmVhdGUgMXN0IHByaW1hcnkgcGFydGl0aW9uCitkNWFkNmQ0ZTc0MzQzMGMyYTYxZTU1OGJiMzMxOTE3NSBtYnItbm9uZG9zLW1vZGUuaW1nCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAyMCBNaUIsIDIwOTcxNTIwIGJ5dGVzLCA0MDk2MCBzZWN0b3JzCitHZW9tZXRyeTogMjU1IGhlYWRzLCA2MyBzZWN0b3JzL3RyYWNrLCAyIGN5bGluZGVycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBzdW4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgIFNpemUgSWQgVHlwZSAgICAgICAgIEZsYWdzCis8cmVtb3ZlZD4xICAgICAwIDE2MDY0ICAgMTYwNjUgIDcuOU0gODMgTGludXggbmF0aXZlICAgICAgCis8cmVtb3ZlZD4yIDE2MDY1IDMyMTI5ICAgMTYwNjUgIDcuOU0gODIgTGludXggc3dhcCAgICAgIHUgCis8cmVtb3ZlZD4zICAgICAwIDMyMTI5ICAgMzIxMzAgMTUuN00gIDUgV2hvbGUgZGlzayAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK1NldCBwcmltYXJ5IHBhcnRpdGlvbiBhY3RpdmUKK2Q1OWJiNGJhNTkxNDI0MmY5YTYzYTJkMTNmYjY4NzUyIG1ici1ub25kb3MtbW9kZS5pbWcKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDIwIE1pQiwgMjA5NzE1MjAgYnl0ZXMsIDQwOTYwIHNlY3RvcnMKK0dlb21ldHJ5OiAyNTUgaGVhZHMsIDYzIHNlY3RvcnMvdHJhY2ssIDIgY3lsaW5kZXJzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IHN1bgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyAgU2l6ZSBJZCBUeXBlICAgICAgICAgRmxhZ3MKKzxyZW1vdmVkPjEgICAgIDAgMTYwNjQgICAxNjA2NSAgNy45TSA4MyBMaW51eCBuYXRpdmUgICAgIHIKKzxyZW1vdmVkPjIgMTYwNjUgMzIxMjkgICAxNjA2NSAgNy45TSA4MiBMaW51eCBzd2FwICAgICAgdSAKKzxyZW1vdmVkPjMgICAgIDAgMzIxMjkgICAzMjEzMCAxNS43TSAgNSBXaG9sZSBkaXNrICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworUmUtY3JlYXRlIDFzdCBwcmltYXJ5IHBhcnRpdGlvbgorZDhiYTA0YmRkNDZjZWM2OTBmYTY3MmFjOGZjYWYzODcgbWJyLW5vbmRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMjAgTWlCLCAyMDk3MTUyMCBieXRlcywgNDA5NjAgc2VjdG9ycworR2VvbWV0cnk6IDI1NSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMiBjeWxpbmRlcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogc3VuCisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBTZWN0b3JzICBTaXplIElkIFR5cGUgICAgICAgICBGbGFncworPHJlbW92ZWQ+MSAgICAgMCAxNjA2NCAgIDE2MDY1ICA3LjlNIDgzIExpbnV4IG5hdGl2ZSAgICAgcgorPHJlbW92ZWQ+MiAxNjA2NSAzMjEyOSAgIDE2MDY1ICA3LjlNIDgyIExpbnV4IHN3YXAgICAgICB1IAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitDcmVhdGUgMm5kIHByaW1hcnkgcGFydGl0aW9uCitkOGJhMDRiZGQ0NmNlYzY5MGZhNjcyYWM4ZmNhZjM4NyBtYnItbm9uZG9zLW1vZGUuaW1nCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAyMCBNaUIsIDIwOTcxNTIwIGJ5dGVzLCA0MDk2MCBzZWN0b3JzCitHZW9tZXRyeTogMjU1IGhlYWRzLCA2MyBzZWN0b3JzL3RyYWNrLCAyIGN5bGluZGVycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBzdW4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgIFNpemUgSWQgVHlwZSAgICAgICAgIEZsYWdzCis8cmVtb3ZlZD4xICAgICAwIDE2MDY0ICAgMTYwNjUgIDcuOU0gODMgTGludXggbmF0aXZlICAgICByCis8cmVtb3ZlZD4yIDE2MDY1IDMyMTI5ICAgMTYwNjUgIDcuOU0gODIgTGludXggc3dhcCAgICAgIHUgCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0NyZWF0ZSBleHRlbmRlZCBwYXJ0aXRpb24KK2Q1OWJiNGJhNTkxNDI0MmY5YTYzYTJkMTNmYjY4NzUyIG1ici1ub25kb3MtbW9kZS5pbWcKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDIwIE1pQiwgMjA5NzE1MjAgYnl0ZXMsIDQwOTYwIHNlY3RvcnMKK0dlb21ldHJ5OiAyNTUgaGVhZHMsIDYzIHNlY3RvcnMvdHJhY2ssIDIgY3lsaW5kZXJzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IHN1bgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyAgU2l6ZSBJZCBUeXBlICAgICAgICAgRmxhZ3MKKzxyZW1vdmVkPjEgICAgIDAgMTYwNjQgICAxNjA2NSAgNy45TSA4MyBMaW51eCBuYXRpdmUgICAgIHIKKzxyZW1vdmVkPjIgMTYwNjUgMzIxMjkgICAxNjA2NSAgNy45TSA4MiBMaW51eCBzd2FwICAgICAgdSAKKzxyZW1vdmVkPjMgICAgIDAgMzIxMjkgICAzMjEzMCAxNS43TSAgNSBXaG9sZSBkaXNrICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIGxvZ2ljYWwgcGFydGl0aW9ucworZDU5YmI0YmE1OTE0MjQyZjlhNjNhMmQxM2ZiNjg3NTIgbWJyLW5vbmRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMjAgTWlCLCAyMDk3MTUyMCBieXRlcywgNDA5NjAgc2VjdG9ycworR2VvbWV0cnk6IDI1NSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMiBjeWxpbmRlcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogc3VuCisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBTZWN0b3JzICBTaXplIElkIFR5cGUgICAgICAgICBGbGFncworPHJlbW92ZWQ+MSAgICAgMCAxNjA2NCAgIDE2MDY1ICA3LjlNIDgzIExpbnV4IG5hdGl2ZSAgICAgcgorPHJlbW92ZWQ+MiAxNjA2NSAzMjEyOSAgIDE2MDY1ICA3LjlNIDgyIExpbnV4IHN3YXAgICAgICB1IAorPHJlbW92ZWQ+MyAgICAgMCAzMjEyOSAgIDMyMTMwIDE1LjdNICA1IFdob2xlIGRpc2sgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEZWxldGUgbG9naWNhbCBwYXJ0aXRpb25zCitkNTliYjRiYTU5MTQyNDJmOWE2M2EyZDEzZmI2ODc1MiBtYnItbm9uZG9zLW1vZGUuaW1nCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAyMCBNaUIsIDIwOTcxNTIwIGJ5dGVzLCA0MDk2MCBzZWN0b3JzCitHZW9tZXRyeTogMjU1IGhlYWRzLCA2MyBzZWN0b3JzL3RyYWNrLCAyIGN5bGluZGVycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBzdW4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgIFNpemUgSWQgVHlwZSAgICAgICAgIEZsYWdzCis8cmVtb3ZlZD4xICAgICAwIDE2MDY0ICAgMTYwNjUgIDcuOU0gODMgTGludXggbmF0aXZlICAgICByCis8cmVtb3ZlZD4yIDE2MDY1IDMyMTI5ICAgMTYwNjUgIDcuOU0gODIgTGludXggc3dhcCAgICAgIHUgCis8cmVtb3ZlZD4zICAgICAwIDMyMTI5ICAgMzIxMzAgMTUuN00gIDUgV2hvbGUgZGlzayAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0NyZWF0ZSBhbm90aGVyIGxvZ2ljYWwgcGFydGl0aW9uCitkNTliYjRiYTU5MTQyNDJmOWE2M2EyZDEzZmI2ODc1MiBtYnItbm9uZG9zLW1vZGUuaW1nCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAyMCBNaUIsIDIwOTcxNTIwIGJ5dGVzLCA0MDk2MCBzZWN0b3JzCitHZW9tZXRyeTogMjU1IGhlYWRzLCA2MyBzZWN0b3JzL3RyYWNrLCAyIGN5bGluZGVycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBzdW4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgIFNpemUgSWQgVHlwZSAgICAgICAgIEZsYWdzCis8cmVtb3ZlZD4xICAgICAwIDE2MDY0ICAgMTYwNjUgIDcuOU0gODMgTGludXggbmF0aXZlICAgICByCis8cmVtb3ZlZD4yIDE2MDY1IDMyMTI5ICAgMTYwNjUgIDcuOU0gODIgTGludXggc3dhcCAgICAgIHUgCis8cmVtb3ZlZD4zICAgICAwIDMyMTI5ICAgMzIxMzAgMTUuN00gIDUgV2hvbGUgZGlzayAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RlbGV0ZSBwcmltYXJ5IHBhcnRpdGlvbgorMGJkODcxNzVjNGM1YzNlZjlhNDY1OTUwMjdiNjM2OWMgbWJyLW5vbmRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMjAgTWlCLCAyMDk3MTUyMCBieXRlcywgNDA5NjAgc2VjdG9ycworR2VvbWV0cnk6IDI1NSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMiBjeWxpbmRlcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogc3VuCisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBTZWN0b3JzICBTaXplIElkIFR5cGUgICAgICAgRmxhZ3MKKzxyZW1vdmVkPjIgMTYwNjUgMzIxMjkgICAxNjA2NSAgNy45TSA4MiBMaW51eCBzd2FwICAgIHUgCis8cmVtb3ZlZD4zICAgICAwIDMyMTI5ICAgMzIxMzAgMTUuN00gIDUgV2hvbGUgZGlzayAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEZWxldGUgcHJpbWFyeSBwYXJ0aXRpb24KKzMzZjZlNTQxZGRjYWZlZDY1ZDIzMWNlM2YyYjc2YTU5IG1ici1ub25kb3MtbW9kZS5pbWcKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDIwIE1pQiwgMjA5NzE1MjAgYnl0ZXMsIDQwOTYwIHNlY3RvcnMKK0dlb21ldHJ5OiAyNTUgaGVhZHMsIDYzIHNlY3RvcnMvdHJhY2ssIDIgY3lsaW5kZXJzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IHN1bgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyAgU2l6ZSBJZCBUeXBlICAgICAgIEZsYWdzCis8cmVtb3ZlZD4zICAgICAwIDMyMTI5ICAgMzIxMzAgMTUuN00gIDUgV2hvbGUgZGlzayAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEZWxldGUgZXh0ZW5kZWQgcGFydGl0aW9uCitlOTIzNzU1Y2JjMDA1NGViODUzNDFmZTExOWJlMDdmOSBtYnItbm9uZG9zLW1vZGUuaW1nCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAyMCBNaUIsIDIwOTcxNTIwIGJ5dGVzLCA0MDk2MCBzZWN0b3JzCitHZW9tZXRyeTogMjU1IGhlYWRzLCA2MyBzZWN0b3JzL3RyYWNrLCAyIGN5bGluZGVycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBzdW4KKy0tLS0tLS0tLS0tLS0tLS0tLS0KKwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZmRpc2svbWJyLXNvcnQgYi90ZXN0cy9leHBlY3RlZC9mZGlzay9tYnItc29ydApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTdlM2I0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svbWJyLXNvcnQKQEAgLTAsMCArMSw3NSBAQAorSW5pdGlhbGl6ZSBlbXB0eSBpbWFnZQorQ3JlYXRlIG5ldyBET1MgcGFydGl0aW9uIHRhYmxlCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAyMCBNaUIsIDIwOTcxNTIwIGJ5dGVzLCA0MDk2MCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIHByaW1hcnkgcGFydGl0aW9ucworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMjAgTWlCLCAyMDk3MTUyMCBieXRlcywgNDA5NjAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICA0MDk2ICA2MTQzICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICAyMDQ4ICA0MDk1ICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+MyAgICAgICA2MTQ0ICA4MTkxICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+NCAgICAgICA4MTkyIDQwOTU5ICAgMzI3NjggIDE2TSAgNSBFeHRlbmRlZAorCitQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0NyZWF0ZSBsb2dpY2FsIHBhcnRpdGlvbnMKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDIwIE1pQiwgMjA5NzE1MjAgYnl0ZXMsIDQwOTYwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgNDA5NiAgNjE0MyAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjIgICAgICAgMjA0OCAgNDA5NSAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjMgICAgICAgNjE0NCAgODE5MSAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjQgICAgICAgODE5MiA0MDk1OSAgIDMyNzY4ICAxNk0gIDUgRXh0ZW5kZWQKKzxyZW1vdmVkPjUgICAgICAxNDMzNiAxNjM4MyAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjYgICAgICAyMjUyOCAyNDU3NSAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjcgICAgICAxODQzMiAyMDQ3OSAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjggICAgICAxMDI0MCAxMjI4NyAgICAyMDQ4ICAgMU0gODMgTGludXgKKworUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLgorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitGaXggb3JkZXIuCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAyMCBNaUIsIDIwOTcxNTIwIGJ5dGVzLCA0MDk2MCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgIDIwNDggIDQwOTUgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD4yICAgICAgIDQwOTYgIDYxNDMgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD4zICAgICAgIDYxNDQgIDgxOTEgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD40ICAgICAgIDgxOTIgNDA5NTkgICAzMjc2OCAgMTZNICA1IEV4dGVuZGVkCis8cmVtb3ZlZD41ICAgICAgMTAyNDAgMTIyODcgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD42ICAgICAgMTQzMzYgMTYzODMgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD43ICAgICAgMTg0MzIgMjA0NzkgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD44ICAgICAgMjI1MjggMjQ1NzUgICAgMjA0OCAgIDFNIDgzIExpbnV4CistLS0tLS0tLS0tLS0tLS0tLS0tCisKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL29kZGlucHV0IGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svb2RkaW5wdXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmZjY2M2YwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL29kZGlucHV0CkBAIC0wLDAgKzEsMTEgQEAKK0luaXRpYWxpemUgZW1wdHkgaW1hZ2UKK2YxYzk2NDVkYmMxNGVmZGRjN2Q4YTMyMjY4NWYyNmViIG9kZGlucHV0LmltZworRW1wdHkgaW1hZ2UgbGlzdGluZworRGlzayB0ZXN0aW1hZ2U6IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK1VuaXRzOiBjeWxpbmRlcnMgb2YgMTYwNjUgKiA1MTIgPSA4MjI1MjgwIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworTm9uZXhpc3RlbnQgZmlsZQorZmRpc2s6IGNhbm5vdCBvcGVuIF9hX2ZpbGVfdGhhdF9kb2VzX25vdF9leGlzdF86IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKK1RvbyBzbWFsbCBmaWxlCitmZGlzazogY2Fubm90IG9wZW4gb2RkaW5wdXQudG9vc21hbGw6IEluYXBwcm9wcmlhdGUgaW9jdGwgZm9yIGRldmljZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZmRpc2svb2RkaW5wdXQudG9vc21hbGwgYi90ZXN0cy9leHBlY3RlZC9mZGlzay9vZGRpbnB1dC50b29zbWFsbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNmM3NWVkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svb2RkaW5wdXQudG9vc21hbGwKQEAgLTAsMCArMSBAQAorVGhpcyBmaWxlIGlzIHRvbyBzbWFsbApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZmRpc2svc3VubGFiZWwgYi90ZXN0cy9leHBlY3RlZC9mZGlzay9zdW5sYWJlbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZDI5NGYzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svc3VubGFiZWwKQEAgLTAsMCArMSw4MCBAQAorSW5pdGlhbGl6ZSBlbXB0eSBpbWFnZQorZjFjOTY0NWRiYzE0ZWZkZGM3ZDhhMzIyNjg1ZjI2ZWIgc3VubGFiZWwuaW1nCitDcmVhdGUgbmV3IFNVTiBwYXJ0aXRpb24gdGFibGUKK2YwNTBmZDJiZWI5OWY4ZDk2OGJmMTc0NTBmNjU1ZjA2IHN1bmxhYmVsLmltZworRGlzayA8cmVtb3ZlZD46IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK0dlb21ldHJ5OiAxIGhlYWRzLCA2MyBzZWN0b3JzL3RyYWNrLCAzMjUgY3lsaW5kZXJzCitVbml0czogY3lsaW5kZXJzIG9mIDYzICogNTEyID0gMzIyNTYgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogc3VuCitDcmVhdGUgZmlyc3QgcGFydGl0aW9uCitlNzMwYzdlYzgyMDg2MDFmNDE5NjNmMDQ4NTE0NzI0OCBzdW5sYWJlbC5pbWcKK0Rpc2sgPHJlbW92ZWQ+OiAxMCBNaUIsIDEwNDg1NzYwIGJ5dGVzLCAyMDQ4MCBzZWN0b3JzCitHZW9tZXRyeTogMSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMzI1IGN5bGluZGVycworVW5pdHM6IGN5bGluZGVycyBvZiA2MyAqIDUxMiA9IDMyMjU2IGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IHN1bgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgQ3lsaW5kZXJzIFNpemUgSWQgVHlwZSAgICAgICAgIEZsYWdzCis8cmVtb3ZlZD4xICAgICAxICAgMTI4ICAgICAgIDEyOSAgIDRNIDgzIExpbnV4IG5hdGl2ZSAgICAgIAorU2V0IHBhcnRpdGlvbiBzeXNpZAorZGY3NWRlZmRiOTdmYmQ1NjIyMmFlZDE4NjMxYTIyZDAgc3VubGFiZWwuaW1nCitEaXNrIDxyZW1vdmVkPjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworR2VvbWV0cnk6IDEgaGVhZHMsIDYzIHNlY3RvcnMvdHJhY2ssIDMyNSBjeWxpbmRlcnMKK1VuaXRzOiBjeWxpbmRlcnMgb2YgNjMgKiA1MTIgPSAzMjI1NiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBzdW4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIEN5bGluZGVycyBTaXplIElkIFR5cGUgICAgICBGbGFncworPHJlbW92ZWQ+MSAgICAgMSAgIDEyOCAgICAgICAxMjkgICA0TSAgNCBTdW5PUyB1c3IgICAgICAKK1NldCBmaXJzdCBwYXJ0aXRpb24gcmVhZG9ubHkKK2RhMjNmNjY2OThkOWE1NTMxNjI4ODc2MjFkNGM3NDkwIHN1bmxhYmVsLmltZworRGlzayA8cmVtb3ZlZD46IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK0dlb21ldHJ5OiAxIGhlYWRzLCA2MyBzZWN0b3JzL3RyYWNrLCAzMjUgY3lsaW5kZXJzCitVbml0czogY3lsaW5kZXJzIG9mIDYzICogNTEyID0gMzIyNTYgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogc3VuCisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBDeWxpbmRlcnMgU2l6ZSBJZCBUeXBlICAgICAgRmxhZ3MKKzxyZW1vdmVkPjEgICAgIDEgICAxMjggICAgICAgMTI5ICAgNE0gIDQgU3VuT1MgdXNyICAgICByCitTZXQgZmlyc3QgcGFydGl0aW9uIG1vdW50YWJsZQorM2FiNzZlODQ5MWIxMDNlYWI1MmIyYWUxODU2YzFlMzAgc3VubGFiZWwuaW1nCitEaXNrIDxyZW1vdmVkPjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworR2VvbWV0cnk6IDEgaGVhZHMsIDYzIHNlY3RvcnMvdHJhY2ssIDMyNSBjeWxpbmRlcnMKK1VuaXRzOiBjeWxpbmRlcnMgb2YgNjMgKiA1MTIgPSAzMjI1NiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBzdW4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIEN5bGluZGVycyBTaXplIElkIFR5cGUgICAgICBGbGFncworPHJlbW92ZWQ+MSAgICAgMSAgIDEyOCAgICAgICAxMjkgICA0TSAgNCBTdW5PUyB1c3IgICAgdXIKK0NyZWF0ZSBzZWNvbmQgcGFydGl0aW9uCisKK1dlbGNvbWUgdG8gZmRpc2sgPHJlbW92ZWQ+LgorQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLgorQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuCisKKworQ29tbWFuZCAobSBmb3IgaGVscCk6IFBhcnRpdGlvbiBudW1iZXIgKDItOCwgZGVmYXVsdCAyKTogRmlyc3QgY3lsaW5kZXIgKDEyOC0zMjUsIGRlZmF1bHQgMTI4KTogTGFzdCBjeWxpbmRlciBvciArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0gKDEyOC0zMjUsIGRlZmF1bHQgMzI1KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IFRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK1N5bmNpbmcgZGlza3MuCisKK2E4N2U4MDgzMGFhMTNkMmQ2OGI3NjY5NjJmMDUyNzUwIHN1bmxhYmVsLmltZworRGlzayA8cmVtb3ZlZD46IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK0dlb21ldHJ5OiAxIGhlYWRzLCA2MyBzZWN0b3JzL3RyYWNrLCAzMjUgY3lsaW5kZXJzCitVbml0czogY3lsaW5kZXJzIG9mIDYzICogNTEyID0gMzIyNTYgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogc3VuCisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBDeWxpbmRlcnMgIFNpemUgSWQgVHlwZSAgICAgICAgIEZsYWdzCis8cmVtb3ZlZD4xICAgICAxICAgMTI4ICAgICAgIDEyOSAgICA0TSAgNCBTdW5PUyB1c3IgICAgICAgdXIKKzxyZW1vdmVkPjIgICAxMjkgICAzMjUgICAgICAgMTk4ICA2LjFNIDgzIExpbnV4IG5hdGl2ZSAgICAgIAorRGVsZXRlIGFsbCBwYXJ0aXRpb25zCis1MDJiYTdhMGNmZGNlMjg0OWMzYTk5ODgxZjA1OTBjMyBzdW5sYWJlbC5pbWcKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2ZzY2svaXNtb3VudGVkIGIvdGVzdHMvZXhwZWN0ZWQvZnNjay9pc21vdW50ZWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmMzYmQ0MwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2ZzY2svaXNtb3VudGVkCkBAIC0wLDAgKzEgQEAKK21vdW50ZWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9iYXNpYyBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9iYXNpYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMmM5MGFlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L2Jhc2ljCkBAIC0wLDAgKzEsOSBAQAorT3B0aW9uIGEKK09wdGlvbiBiLCBhcmd1bWVudCBgMScKK09wdGlvbiBjLCBhcmd1bWVudCBgMicKK09wdGlvbiBhCitPcHRpb24gYiwgYXJndW1lbnQgYDMnCitPcHRpb24gYywgbm8gYXJndW1lbnQKK1JlbWFpbmluZyBhcmd1bWVudHM6CistLT4gYGZvbycKKy0tPiBgYmFyJwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtYWx0ZXJuYXRpdmVfb3B0aW9uX2NsYXNoIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtYWx0ZXJuYXRpdmVfb3B0aW9uX2NsYXNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0YWUxOWQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1hbHRlcm5hdGl2ZV9vcHRpb25fY2xhc2gKQEAgLTAsMCArMSwyIEBACisgLWEgLS1hYmNkZSAtLWFiY2RlIC1hIC1jIC0tCitleGl0IHZhbHVlOiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1hbHRlcm5hdGl2ZV9vcHRpb25fbG9uZyBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLWFsdGVybmF0aXZlX29wdGlvbl9sb25nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmNWZjMTkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1hbHRlcm5hdGl2ZV9vcHRpb25fbG9uZwpAQCAtMCwwICsxLDIgQEAKKyAtYSAtLW9uZSAtLXR3byAnTUFOREFUT1JZJyAtLXRocmVlICdPUFRJT05BTCcgLS0KK2V4aXQgdmFsdWU6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLWFsdGVybmF0aXZlX29wdGlvbl9zaG9ydCBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLWFsdGVybmF0aXZlX29wdGlvbl9zaG9ydApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjVmYzE5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtYWx0ZXJuYXRpdmVfb3B0aW9uX3Nob3J0CkBAIC0wLDAgKzEsMiBAQAorIC1hIC0tb25lIC0tdHdvICdNQU5EQVRPUlknIC0tdGhyZWUgJ09QVElPTkFMJyAtLQorZXhpdCB2YWx1ZTogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtY29tcGF0aWJsZSBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLWNvbXBhdGlibGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTg1ZGU2MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLWNvbXBhdGlibGUKQEAgLTAsMCArMSw1IEBACitnZXRvcHQ6IG1pc3Npbmcgb3B0c3RyaW5nIGFyZ3VtZW50CitUcnkgYGdldG9wdCAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLgorZXhpdCB2YWx1ZTogMgorIC0tCitleGl0IHZhbHVlOiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1jc2ggYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1jc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODZlNDhmNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLWNzaApAQCAtMCwwICsxLDIgQEAKKyAtYSAtYiAnMScgLWMgJzInIC0tYS1sb25nIC0tYi1sb25nICczJyAtLWMtbG9uZyAnJyAtLSAnZm9vJyAnYmFyJworZXhpdCB2YWx1ZTogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtaW52YWxpZF9nZXRvcHRfb3B0aW9uIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtaW52YWxpZF9nZXRvcHRfb3B0aW9uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzMWNjOTgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1pbnZhbGlkX2dldG9wdF9vcHRpb24KQEAgLTAsMCArMSwzIEBACitnZXRvcHQ6IGludmFsaWQgb3B0aW9uIC0tICdiJworVHJ5IGBnZXRvcHQgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KK2V4aXQgdmFsdWU6IDIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLWludm9jYXRpb25fbW9kZWxfb25lIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtaW52b2NhdGlvbl9tb2RlbF9vbmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2E0ZGRjYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLWludm9jYXRpb25fbW9kZWxfb25lCkBAIC0wLDAgKzEsMiBAQAorIC1iIC1kICAtZSBPUFRJT05BTDEgLWYgIC1hIC1jIC1JU1JFUVVJUkVEIC1nIEJFQ09NRVMgVEhSRUUgQVJHVU1FTlRTIC0tIEFSRzAgQVJHMSBOT1RfT1BUSU9OQUwgQVJHMiBBUkczCitleGl0IHZhbHVlOiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1pbnZvY2F0aW9uX21vZGVsX3RocmVlX2FzX29uZSBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLWludm9jYXRpb25fbW9kZWxfdGhyZWVfYXNfb25lCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkNDcwMWYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1pbnZvY2F0aW9uX21vZGVsX3RocmVlX2FzX29uZQpAQCAtMCwwICsxLDIgQEAKKyAtYiAtZCAnJyAtZSAnT1BUSU9OQUwxJyAtZiAnJyAtYSAtYyAnLUlTUkVRVUlSRUQnIC1nICdCRUNPTUVTIFRIUkVFIEFSR1VNRU5UUycgLS0gJ0FSRzAnICdBUkcxJyAnTk9UX09QVElPTkFMJyAnQVJHMicgJ0FSRzMnCitleGl0IHZhbHVlOiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1pbnZvY2F0aW9uX21vZGVsX3R3b19hc19vbmUgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1pbnZvY2F0aW9uX21vZGVsX3R3b19hc19vbmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWQ0NzAxZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLWludm9jYXRpb25fbW9kZWxfdHdvX2FzX29uZQpAQCAtMCwwICsxLDIgQEAKKyAtYiAtZCAnJyAtZSAnT1BUSU9OQUwxJyAtZiAnJyAtYSAtYyAnLUlTUkVRVUlSRUQnIC1nICdCRUNPTUVTIFRIUkVFIEFSR1VNRU5UUycgLS0gJ0FSRzAnICdBUkcxJyAnTk9UX09QVElPTkFMJyAnQVJHMicgJ0FSRzMnCitleGl0IHZhbHVlOiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1pbnZvY2F0aW9uX3dpdGhvdXRfcGFyYW1ldGVycyBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLWludm9jYXRpb25fd2l0aG91dF9wYXJhbWV0ZXJzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4YjNlZDUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1pbnZvY2F0aW9uX3dpdGhvdXRfcGFyYW1ldGVycwpAQCAtMCwwICsxLDMgQEAKK2dldG9wdDogbWlzc2luZyBvcHRzdHJpbmcgYXJndW1lbnQKK1RyeSBgZ2V0b3B0IC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uCitleGl0IHZhbHVlOiAyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1sb25nX29wdGlvbl9hbWJpZ3VvdXNfMSBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLWxvbmdfb3B0aW9uX2FtYmlndW91c18xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4Y2ZiYjMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1sb25nX29wdGlvbl9hbWJpZ3VvdXNfMQpAQCAtMCwwICsxLDMgQEAKK2dldG9wdDogb3B0aW9uICctLWxvbmcnIGlzIGFtYmlndW91czsgcG9zc2liaWxpdGllczogJy0tbG9uZzEnICctLWxvbmcyJworIC0tCitleGl0IHZhbHVlOiAxCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1sb25nb3B0cyBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLWxvbmdvcHRzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3OWI1YWIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1sb25nb3B0cwpAQCAtMCwwICsxLDIgQEAKKyAtLWxvbmcxIC0tdGhpcmRsb25nICdBUkdVTUVOVCcgLS1zZWNvbmRsb25nICdBUkcnIC0tYWJicml2aWF0aW9uICdBQkJSQVJHJyAtYSAtLSAnRVhUUkExJworZXhpdCB2YWx1ZTogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtbmFtZV9vcHRpb25fbG9uZyBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLW5hbWVfb3B0aW9uX2xvbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjBiOWU2YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLW5hbWVfb3B0aW9uX2xvbmcKQEAgLTAsMCArMSw0IEBACitUSElTX1BST0dSQU06IGludmFsaWQgb3B0aW9uIC0tICdiJworVEhJU19QUk9HUkFNOiB1bnJlY29nbml6ZWQgb3B0aW9uICctLXdoYXRldmVyJworIC0tbG9uZyAtYSAtLQorZXhpdCB2YWx1ZTogMQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtbmFtZV9vcHRpb25fc2hvcnQgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1uYW1lX29wdGlvbl9zaG9ydApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MGI5ZTZiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtbmFtZV9vcHRpb25fc2hvcnQKQEAgLTAsMCArMSw0IEBACitUSElTX1BST0dSQU06IGludmFsaWQgb3B0aW9uIC0tICdiJworVEhJU19QUk9HUkFNOiB1bnJlY29nbml6ZWQgb3B0aW9uICctLXdoYXRldmVyJworIC0tbG9uZyAtYSAtLQorZXhpdCB2YWx1ZTogMQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtbm8tYXJndW1lbnRzIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtbm8tYXJndW1lbnRzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4YjNlZDUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1uby1hcmd1bWVudHMKQEAgLTAsMCArMSwzIEBACitnZXRvcHQ6IG1pc3Npbmcgb3B0c3RyaW5nIGFyZ3VtZW50CitUcnkgYGdldG9wdCAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLgorZXhpdCB2YWx1ZTogMgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtbm9uLW9wdGlvbiBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLW5vbi1vcHRpb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzNmMGI2NQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLW5vbi1vcHRpb24KQEAgLTAsMCArMSw0IEBACisgLWEgJ3gnIC0tICd5JyAnLWInICd6JyAndycKKyAtYSAneCcgLWIgJ3onIC0tICd5JyAndycKKyAtYSAneCcgJ3knIC1iICd6JyAndycgLS0KK2V4aXQgdmFsdWU6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLXBvc2l4X2NvcnJlY3RseSBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLXBvc2l4X2NvcnJlY3RseQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YjJiYzMzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtcG9zaXhfY29ycmVjdGx5CkBAIC0wLDAgKzEsNCBAQAorIC1hIC1iICcxJyAtYyAnMicgLS1hLWxvbmcgLS1iLWxvbmcgJzMnIC0tYy1sb25nICcnIC0tICdmb28nICdiYXInICd4eXh4eScgJy0tYS1sb25nJworZXhpdCB2YWx1ZTogMAorIC1hIC1iICcxJyAtYyAnMicgLS1hLWxvbmcgLS1iLWxvbmcgJzMnIC0tYy1sb25nICcnIC0tICdmb28nICdiYXInICd4eXh4eScgJy0tYS1sb25nJworZXhpdCB2YWx1ZTogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtcXVpZXRfb3B0aW9uX2xvbmcgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1xdWlldF9vcHRpb25fbG9uZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZTFhOTY3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtcXVpZXRfb3B0aW9uX2xvbmcKQEAgLTAsMCArMSwyIEBACisgLS0KK2V4aXQgdmFsdWU6IDEKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLXF1aWV0X29wdGlvbl9zaG9ydCBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLXF1aWV0X29wdGlvbl9zaG9ydApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZTFhOTY3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtcXVpZXRfb3B0aW9uX3Nob3J0CkBAIC0wLDAgKzEsMiBAQAorIC0tCitleGl0IHZhbHVlOiAxCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1xdWlldF9vdXRwdXRfb3B0aW9uX2xvbmcgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1xdWlldF9vdXRwdXRfb3B0aW9uX2xvbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2UwNWNhNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLXF1aWV0X291dHB1dF9vcHRpb25fbG9uZwpAQCAtMCwwICsxLDUgQEAKK2dldG9wdDogaW52YWxpZCBvcHRpb24gLS0gJ2MnCitnZXRvcHQ6IHVucmVjb2duaXplZCBvcHRpb24gJy0tdW5rbm93bicKK2dldG9wdDogb3B0aW9uICctLWxvbmcnIGlzIGFtYmlndW91czsgcG9zc2liaWxpdGllczogJy0tbG9uZzEnICctLWxvbmcyJworZ2V0b3B0OiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gJ2InCitleGl0IHZhbHVlOiAxCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1xdWlldF9vdXRwdXRfb3B0aW9uX3Nob3J0IGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtcXVpZXRfb3V0cHV0X29wdGlvbl9zaG9ydApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZTA1Y2E3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtcXVpZXRfb3V0cHV0X29wdGlvbl9zaG9ydApAQCAtMCwwICsxLDUgQEAKK2dldG9wdDogaW52YWxpZCBvcHRpb24gLS0gJ2MnCitnZXRvcHQ6IHVucmVjb2duaXplZCBvcHRpb24gJy0tdW5rbm93bicKK2dldG9wdDogb3B0aW9uICctLWxvbmcnIGlzIGFtYmlndW91czsgcG9zc2liaWxpdGllczogJy0tbG9uZzEnICctLWxvbmcyJworZ2V0b3B0OiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gJ2InCitleGl0IHZhbHVlOiAxCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1zYW1lX2xvbmdfc2hvcnRfb3B0aW9ucyBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLXNhbWVfbG9uZ19zaG9ydF9vcHRpb25zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxOWQyMjcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1zYW1lX2xvbmdfc2hvcnRfb3B0aW9ucwpAQCAtMCwwICsxLDIgQEAKKyAtYSAtLWEgLS0KK2V4aXQgdmFsdWU6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLXNoIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODZlNDhmNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLXNoCkBAIC0wLDAgKzEsMiBAQAorIC1hIC1iICcxJyAtYyAnMicgLS1hLWxvbmcgLS1iLWxvbmcgJzMnIC0tYy1sb25nICcnIC0tICdmb28nICdiYXInCitleGl0IHZhbHVlOiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy10ZXN0X2Zvcl9lbmhhbmNlZF9nZXRvcHQgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy10ZXN0X2Zvcl9lbmhhbmNlZF9nZXRvcHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTM5ZGIwNgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLXRlc3RfZm9yX2VuaGFuY2VkX2dldG9wdApAQCAtMCwwICsxIEBACitleGl0IHZhbHVlOiA0CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy11bmtub3duX29wdGlvbnMgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy11bmtub3duX29wdGlvbnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmVkYmEyYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLXVua25vd25fb3B0aW9ucwpAQCAtMCwwICsxLDQgQEAKK2dldG9wdDogaW52YWxpZCBvcHRpb24gLS0gJ2InCitnZXRvcHQ6IHVucmVjb2duaXplZCBvcHRpb24gJy0td2hhdGV2ZXInCisgLS1sb25nIC1hIC0tCitleGl0IHZhbHVlOiAxCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy11bnF1b3RlZF9vcHRpb25fYmFzaCBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLXVucXVvdGVkX29wdGlvbl9iYXNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkYTM2MmYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy11bnF1b3RlZF9vcHRpb25fYmFzaApAQCAtMCwwICsxLDUgQEAKKyAtYSAkPyEqICAtLWxvbmcxICJcJyAtLSBNb3JlCisgdGhhbgorb25lCitsaW5lCitleGl0IHZhbHVlOiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy11bnF1b3RlZF9vcHRpb25fdGNzaCBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLXVucXVvdGVkX29wdGlvbl90Y3NoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkYTM2MmYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy11bnF1b3RlZF9vcHRpb25fdGNzaApAQCAtMCwwICsxLDUgQEAKKyAtYSAkPyEqICAtLWxvbmcxICJcJyAtLSBNb3JlCisgdGhhbgorb25lCitsaW5lCitleGl0IHZhbHVlOiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy13ZWlyZF9xdW90aW5nX2Jhc2ggYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy13ZWlyZF9xdW90aW5nX2Jhc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGI4NzFjZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLXdlaXJkX3F1b3RpbmdfYmFzaApAQCAtMCwwICsxLDUgQEAKKyAtYSAnJD8hKiAnIC0tbG9uZzEgJyJcJ1wnJycgLS0gJ01vcmUKKyB0aGFuCitvbmUKK2xpbmUnCitleGl0IHZhbHVlOiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy13ZWlyZF9xdW90aW5nX3Rjc2ggYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy13ZWlyZF9xdW90aW5nX3Rjc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWU1YjcxZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLXdlaXJkX3F1b3RpbmdfdGNzaApAQCAtMCwwICsxLDIgQEAKKyAtYSAnJD8nXCEnKidcICcnIC0tbG9uZzEgJyJcXCdcJycnIC0tICdNb3JlXG4nXCAndGhhblxub25lXG5saW5lJworZXhpdCB2YWx1ZTogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9mb3JtYXQtc3RyaW5ncy0xYl9jaGFyIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9mb3JtYXQtc3RyaW5ncy0xYl9jaGFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2NGY1MGEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2Zvcm1hdC1zdHJpbmdzLTFiX2NoYXIKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMCAgXDAgICAgIDAwMSAgICAgMDAyICAgICAwMDMgICAgIDAwNCAgICAgMDA1ICAgICAwMDYgICAgICBcYSAgICAKKzAwMDAwMTAgIFxiICAgICAgXHQgICAgICBcbiAgICAgIFx2ICAgICAgXGYgICAgICBcciAgICAgMDE2ICAgICAwMTcgICAgCiswMDAwMDIwIDAyMCAgICAgMDIxICAgICAwMjIgICAgIDAyMyAgICAgMDI0ICAgICAwMjUgICAgIDAyNiAgICAgMDI3ICAgIAorMDAwMDAzMCAwMzAgICAgIDAzMSAgICAgMDMyICAgICAwMzMgICAgIDAzNCAgICAgMDM1ICAgICAwMzYgICAgIDAzNyAgICAKKzAwMDAwNDAgICAgICAgICAgICEgICAgICAgIiAgICAgICAjICAgICAgICQgICAgICAgJSAgICAgICAmICAgICAgICcgICAgCiswMDAwMDUwICAgKCAgICAgICApICAgICAgICogICAgICAgKyAgICAgICAsICAgICAgIC0gICAgICAgLiAgICAgICAvICAgIAorMDAwMDA2MCAgIDAgICAgICAgMSAgICAgICAyICAgICAgIDMgICAgICAgNCAgICAgICA1ICAgICAgIDYgICAgICAgNyAgICAKKzAwMDAwNzAgICA4ICAgICAgIDkgICAgICAgOiAgICAgICA7ICAgICAgIDwgICAgICAgPSAgICAgICA+ICAgICAgID8gICAgCiswMDAwMDgwICAgQCAgICAgICBBICAgICAgIEIgICAgICAgQyAgICAgICBEICAgICAgIEUgICAgICAgRiAgICAgICBHICAgIAorMDAwMDA5MCAgIEggICAgICAgSSAgICAgICBKICAgICAgIEsgICAgICAgTCAgICAgICBNICAgICAgIE4gICAgICAgTyAgICAKKzAwMDAwYTAgICBQICAgICAgIFEgICAgICAgUiAgICAgICBTICAgICAgIFQgICAgICAgVSAgICAgICBWICAgICAgIFcgICAgCiswMDAwMGIwICAgWCAgICAgICBZICAgICAgIFogICAgICAgWyAgICAgICBcICAgICAgIF0gICAgICAgXiAgICAgICBfICAgIAorMDAwMDBjMCAgIGAgICAgICAgYSAgICAgICBiICAgICAgIGMgICAgICAgZCAgICAgICBlICAgICAgIGYgICAgICAgZyAgICAKKzAwMDAwZDAgICBoICAgICAgIGkgICAgICAgaiAgICAgICBrICAgICAgIGwgICAgICAgbSAgICAgICBuICAgICAgIG8gICAgCiswMDAwMGUwICAgcCAgICAgICBxICAgICAgIHIgICAgICAgcyAgICAgICB0ICAgICAgIHUgICAgICAgdiAgICAgICB3ICAgIAorMDAwMDBmMCAgIHggICAgICAgeSAgICAgICB6ICAgICAgIHsgICAgICAgfCAgICAgICB9ICAgICAgIH4gICAgIDE3NyAgICAKKzAwMDAxMDAgMzAyIDIwMCAgICAgMzAyIDIwMSAgICAgMzAyIDIwMiAgICAgMzAyIDIwMyAgICAgMzAyIDIwNCAgICAgMzAyCiswMDAwMTEwIDIwNSAgICAgMzAyIDIwNiAgICAgMzAyIDIwNyAgICAgMzAyIDIxMCAgICAgMzAyIDIxMSAgICAgMzAyIDIxMgorMDAwMDEyMCAgICAgMzAyIDIxMyAgICAgMzAyIDIxNCAgICAgMzAyIDIxNSAgICAgMzAyIDIxNiAgICAgMzAyIDIxNyAgICAKKzAwMDAxMzAgMzAyIDIyMCAgICAgMzAyIDIyMSAgICAgMzAyIDIyMiAgICAgMzAyIDIyMyAgICAgMzAyIDIyNCAgICAgMzAyCiswMDAwMTQwIDIyNSAgICAgMzAyIDIyNiAgICAgMzAyIDIyNyAgICAgMzAyIDIzMCAgICAgMzAyIDIzMSAgICAgMzAyIDIzMgorMDAwMDE1MCAgICAgMzAyIDIzMyAgICAgMzAyIDIzNCAgICAgMzAyIDIzNSAgICAgMzAyIDIzNiAgICAgMzAyIDIzNyAgICAKKzAwMDAxNjAgMzAyIDI0MCAgICAgMzAyIDI0MSAgICAgMzAyIDI0MiAgICAgMzAyIDI0MyAgICAgMzAyIDI0NCAgICAgMzAyCiswMDAwMTcwIDI0NSAgICAgMzAyIDI0NiAgICAgMzAyIDI0NyAgICAgMzAyIDI1MCAgICAgMzAyIDI1MSAgICAgMzAyIDI1MgorMDAwMDE4MCAgICAgMzAyIDI1MyAgICAgMzAyIDI1NCAgICAgMzAyIDI1NSAgICAgMzAyIDI1NiAgICAgMzAyIDI1NyAgICAKKzAwMDAxOTAgMzAyIDI2MCAgICAgMzAyIDI2MSAgICAgMzAyIDI2MiAgICAgMzAyIDI2MyAgICAgMzAyIDI2NCAgICAgMzAyCiswMDAwMWEwIDI2NSAgICAgMzAyIDI2NiAgICAgMzAyIDI2NyAgICAgMzAyIDI3MCAgICAgMzAyIDI3MSAgICAgMzAyIDI3MgorMDAwMDFiMCAgICAgMzAyIDI3MyAgICAgMzAyIDI3NCAgICAgMzAyIDI3NSAgICAgMzAyIDI3NiAgICAgMzAyIDI3NyAgICAKKzAwMDAxYzAgMzAzIDIwMCAgICAgMzAzIDIwMSAgICAgMzAzIDIwMiAgICAgMzAzIDIwMyAgICAgMzAzIDIwNCAgICAgMzAzCiswMDAwMWQwIDIwNSAgICAgMzAzIDIwNiAgICAgMzAzIDIwNyAgICAgMzAzIDIxMCAgICAgMzAzIDIxMSAgICAgMzAzIDIxMgorMDAwMDFlMCAgICAgMzAzIDIxMyAgICAgMzAzIDIxNCAgICAgMzAzIDIxNSAgICAgMzAzIDIxNiAgICAgMzAzIDIxNyAgICAKKzAwMDAxZjAgMzAzIDIyMCAgICAgMzAzIDIyMSAgICAgMzAzIDIyMiAgICAgMzAzIDIyMyAgICAgMzAzIDIyNCAgICAgMzAzCiswMDAwMjAwIDIyNSAgICAgMzAzIDIyNiAgICAgMzAzIDIyNyAgICAgMzAzIDIzMCAgICAgMzAzIDIzMSAgICAgMzAzIDIzMgorMDAwMDIxMCAgICAgMzAzIDIzMyAgICAgMzAzIDIzNCAgICAgMzAzIDIzNSAgICAgMzAzIDIzNiAgICAgMzAzIDIzNyAgICAKKzAwMDAyMjAgMzAzIDI0MCAgICAgMzAzIDI0MSAgICAgMzAzIDI0MiAgICAgMzAzIDI0MyAgICAgMzAzIDI0NCAgICAgMzAzCiswMDAwMjMwIDI0NSAgICAgMzAzIDI0NiAgICAgMzAzIDI0NyAgICAgMzAzIDI1MCAgICAgMzAzIDI1MSAgICAgMzAzIDI1MgorMDAwMDI0MCAgICAgMzAzIDI1MyAgICAgMzAzIDI1NCAgICAgMzAzIDI1NSAgICAgMzAzIDI1NiAgICAgMzAzIDI1NyAgICAKKzAwMDAyNTAgMzAzIDI2MCAgICAgMzAzIDI2MSAgICAgMzAzIDI2MiAgICAgMzAzIDI2MyAgICAgMzAzIDI2NCAgICAgMzAzCiswMDAwMjYwIDI2NSAgICAgMzAzIDI2NiAgICAgMzAzIDI2NyAgICAgMzAzIDI3MCAgICAgMzAzIDI3MSAgICAgMzAzIDI3MgorMDAwMDI3MCAgICAgMzAzIDI3MyAgICAgMzAzIDI3NCAgICAgMzAzIDI3NSAgICAgMzAzIDI3NiAgICAgMzAzIDI3NyAgICAKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvZm9ybWF0LXN0cmluZ3MtMWJfb2N0YWwgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2Zvcm1hdC1zdHJpbmdzLTFiX29jdGFsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxOWQwN2YKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2Zvcm1hdC1zdHJpbmdzLTFiX29jdGFsCkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAgMDAwIDA0MCAwMDEgMDQwIDAwMiAwNDAgMDAzIDA0MCAwMDQgMDQwIDAwNSAwNDAgMDA2IDA0MCAwMDcgMDQwCiswMDAwMDEwIDAxMCAwNDAgMDExIDA0MCAwMTIgMDQwIDAxMyAwNDAgMDE0IDA0MCAwMTUgMDQwIDAxNiAwNDAgMDE3IDA0MAorMDAwMDAyMCAwMjAgMDQwIDAyMSAwNDAgMDIyIDA0MCAwMjMgMDQwIDAyNCAwNDAgMDI1IDA0MCAwMjYgMDQwIDAyNyAwNDAKKzAwMDAwMzAgMDMwIDA0MCAwMzEgMDQwIDAzMiAwNDAgMDMzIDA0MCAwMzQgMDQwIDAzNSAwNDAgMDM2IDA0MCAwMzcgMDQwCiswMDAwMDQwIDA0MCAwNDAgMDQxIDA0MCAwNDIgMDQwIDA0MyAwNDAgMDQ0IDA0MCAwNDUgMDQwIDA0NiAwNDAgMDQ3IDA0MAorMDAwMDA1MCAwNTAgMDQwIDA1MSAwNDAgMDUyIDA0MCAwNTMgMDQwIDA1NCAwNDAgMDU1IDA0MCAwNTYgMDQwIDA1NyAwNDAKKzAwMDAwNjAgMDYwIDA0MCAwNjEgMDQwIDA2MiAwNDAgMDYzIDA0MCAwNjQgMDQwIDA2NSAwNDAgMDY2IDA0MCAwNjcgMDQwCiswMDAwMDcwIDA3MCAwNDAgMDcxIDA0MCAwNzIgMDQwIDA3MyAwNDAgMDc0IDA0MCAwNzUgMDQwIDA3NiAwNDAgMDc3IDA0MAorMDAwMDA4MCAxMDAgMDQwIDEwMSAwNDAgMTAyIDA0MCAxMDMgMDQwIDEwNCAwNDAgMTA1IDA0MCAxMDYgMDQwIDEwNyAwNDAKKzAwMDAwOTAgMTEwIDA0MCAxMTEgMDQwIDExMiAwNDAgMTEzIDA0MCAxMTQgMDQwIDExNSAwNDAgMTE2IDA0MCAxMTcgMDQwCiswMDAwMGEwIDEyMCAwNDAgMTIxIDA0MCAxMjIgMDQwIDEyMyAwNDAgMTI0IDA0MCAxMjUgMDQwIDEyNiAwNDAgMTI3IDA0MAorMDAwMDBiMCAxMzAgMDQwIDEzMSAwNDAgMTMyIDA0MCAxMzMgMDQwIDEzNCAwNDAgMTM1IDA0MCAxMzYgMDQwIDEzNyAwNDAKKzAwMDAwYzAgMTQwIDA0MCAxNDEgMDQwIDE0MiAwNDAgMTQzIDA0MCAxNDQgMDQwIDE0NSAwNDAgMTQ2IDA0MCAxNDcgMDQwCiswMDAwMGQwIDE1MCAwNDAgMTUxIDA0MCAxNTIgMDQwIDE1MyAwNDAgMTU0IDA0MCAxNTUgMDQwIDE1NiAwNDAgMTU3IDA0MAorMDAwMDBlMCAxNjAgMDQwIDE2MSAwNDAgMTYyIDA0MCAxNjMgMDQwIDE2NCAwNDAgMTY1IDA0MCAxNjYgMDQwIDE2NyAwNDAKKzAwMDAwZjAgMTcwIDA0MCAxNzEgMDQwIDE3MiAwNDAgMTczIDA0MCAxNzQgMDQwIDE3NSAwNDAgMTc2IDA0MCAxNzcgMDQwCiswMDAwMTAwIDMwMiAyMDAgMDQwIDMwMiAyMDEgMDQwIDMwMiAyMDIgMDQwIDMwMiAyMDMgMDQwIDMwMiAyMDQgMDQwIDMwMgorMDAwMDExMCAyMDUgMDQwIDMwMiAyMDYgMDQwIDMwMiAyMDcgMDQwIDMwMiAyMTAgMDQwIDMwMiAyMTEgMDQwIDMwMiAyMTIKKzAwMDAxMjAgMDQwIDMwMiAyMTMgMDQwIDMwMiAyMTQgMDQwIDMwMiAyMTUgMDQwIDMwMiAyMTYgMDQwIDMwMiAyMTcgMDQwCiswMDAwMTMwIDMwMiAyMjAgMDQwIDMwMiAyMjEgMDQwIDMwMiAyMjIgMDQwIDMwMiAyMjMgMDQwIDMwMiAyMjQgMDQwIDMwMgorMDAwMDE0MCAyMjUgMDQwIDMwMiAyMjYgMDQwIDMwMiAyMjcgMDQwIDMwMiAyMzAgMDQwIDMwMiAyMzEgMDQwIDMwMiAyMzIKKzAwMDAxNTAgMDQwIDMwMiAyMzMgMDQwIDMwMiAyMzQgMDQwIDMwMiAyMzUgMDQwIDMwMiAyMzYgMDQwIDMwMiAyMzcgMDQwCiswMDAwMTYwIDMwMiAyNDAgMDQwIDMwMiAyNDEgMDQwIDMwMiAyNDIgMDQwIDMwMiAyNDMgMDQwIDMwMiAyNDQgMDQwIDMwMgorMDAwMDE3MCAyNDUgMDQwIDMwMiAyNDYgMDQwIDMwMiAyNDcgMDQwIDMwMiAyNTAgMDQwIDMwMiAyNTEgMDQwIDMwMiAyNTIKKzAwMDAxODAgMDQwIDMwMiAyNTMgMDQwIDMwMiAyNTQgMDQwIDMwMiAyNTUgMDQwIDMwMiAyNTYgMDQwIDMwMiAyNTcgMDQwCiswMDAwMTkwIDMwMiAyNjAgMDQwIDMwMiAyNjEgMDQwIDMwMiAyNjIgMDQwIDMwMiAyNjMgMDQwIDMwMiAyNjQgMDQwIDMwMgorMDAwMDFhMCAyNjUgMDQwIDMwMiAyNjYgMDQwIDMwMiAyNjcgMDQwIDMwMiAyNzAgMDQwIDMwMiAyNzEgMDQwIDMwMiAyNzIKKzAwMDAxYjAgMDQwIDMwMiAyNzMgMDQwIDMwMiAyNzQgMDQwIDMwMiAyNzUgMDQwIDMwMiAyNzYgMDQwIDMwMiAyNzcgMDQwCiswMDAwMWMwIDMwMyAyMDAgMDQwIDMwMyAyMDEgMDQwIDMwMyAyMDIgMDQwIDMwMyAyMDMgMDQwIDMwMyAyMDQgMDQwIDMwMworMDAwMDFkMCAyMDUgMDQwIDMwMyAyMDYgMDQwIDMwMyAyMDcgMDQwIDMwMyAyMTAgMDQwIDMwMyAyMTEgMDQwIDMwMyAyMTIKKzAwMDAxZTAgMDQwIDMwMyAyMTMgMDQwIDMwMyAyMTQgMDQwIDMwMyAyMTUgMDQwIDMwMyAyMTYgMDQwIDMwMyAyMTcgMDQwCiswMDAwMWYwIDMwMyAyMjAgMDQwIDMwMyAyMjEgMDQwIDMwMyAyMjIgMDQwIDMwMyAyMjMgMDQwIDMwMyAyMjQgMDQwIDMwMworMDAwMDIwMCAyMjUgMDQwIDMwMyAyMjYgMDQwIDMwMyAyMjcgMDQwIDMwMyAyMzAgMDQwIDMwMyAyMzEgMDQwIDMwMyAyMzIKKzAwMDAyMTAgMDQwIDMwMyAyMzMgMDQwIDMwMyAyMzQgMDQwIDMwMyAyMzUgMDQwIDMwMyAyMzYgMDQwIDMwMyAyMzcgMDQwCiswMDAwMjIwIDMwMyAyNDAgMDQwIDMwMyAyNDEgMDQwIDMwMyAyNDIgMDQwIDMwMyAyNDMgMDQwIDMwMyAyNDQgMDQwIDMwMworMDAwMDIzMCAyNDUgMDQwIDMwMyAyNDYgMDQwIDMwMyAyNDcgMDQwIDMwMyAyNTAgMDQwIDMwMyAyNTEgMDQwIDMwMyAyNTIKKzAwMDAyNDAgMDQwIDMwMyAyNTMgMDQwIDMwMyAyNTQgMDQwIDMwMyAyNTUgMDQwIDMwMyAyNTYgMDQwIDMwMyAyNTcgMDQwCiswMDAwMjUwIDMwMyAyNjAgMDQwIDMwMyAyNjEgMDQwIDMwMyAyNjIgMDQwIDMwMyAyNjMgMDQwIDMwMyAyNjQgMDQwIDMwMworMDAwMDI2MCAyNjUgMDQwIDMwMyAyNjYgMDQwIDMwMyAyNjcgMDQwIDMwMyAyNzAgMDQwIDMwMyAyNzEgMDQwIDMwMyAyNzIKKzAwMDAyNzAgMDQwIDMwMyAyNzMgMDQwIDMwMyAyNzQgMDQwIDMwMyAyNzUgMDQwIDMwMyAyNzYgMDQwIDMwMyAyNzcgMDQwCiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2Zvcm1hdC1zdHJpbmdzLTJiX2RlYyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvZm9ybWF0LXN0cmluZ3MtMmJfZGVjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4OGU5N2YKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2Zvcm1hdC1zdHJpbmdzLTJiX2RlYwpAQCAtMCwwICsxLDQxIEBACiswMDAwMDAwICAgMDgxOTIgICAwODE5MyAgIDA4MTk0ICAgMDgxOTUgICAwODE5NiAgIDA4MTk3ICAgMDgxOTggICAwODE5OQorMDAwMDAxMCAgIDA4MjAwICAgMDgyMDEgICAwODIwMiAgIDA4MjAzICAgMDgyMDQgICAwODIwNSAgIDA4MjA2ICAgMDgyMDcKKzAwMDAwMjAgICAwODIwOCAgIDA4MjA5ICAgMDgyMTAgICAwODIxMSAgIDA4MjEyICAgMDgyMTMgICAwODIxNCAgIDA4MjE1CiswMDAwMDMwICAgMDgyMTYgICAwODIxNyAgIDA4MjE4ICAgMDgyMTkgICAwODIyMCAgIDA4MjIxICAgMDgyMjIgICAwODIyMworMDAwMDA0MCAgIDA4MjI0ICAgMDgyMjUgICAwODIyNiAgIDA4MjI3ICAgMDgyMjggICAwODIyOSAgIDA4MjMwICAgMDgyMzEKKzAwMDAwNTAgICAwODIzMiAgIDA4MjMzICAgMDgyMzQgICAwODIzNSAgIDA4MjM2ICAgMDgyMzcgICAwODIzOCAgIDA4MjM5CiswMDAwMDYwICAgMDgyNDAgICAwODI0MSAgIDA4MjQyICAgMDgyNDMgICAwODI0NCAgIDA4MjQ1ICAgMDgyNDYgICAwODI0NworMDAwMDA3MCAgIDA4MjQ4ICAgMDgyNDkgICAwODI1MCAgIDA4MjUxICAgMDgyNTIgICAwODI1MyAgIDA4MjU0ICAgMDgyNTUKKzAwMDAwODAgICAwODI1NiAgIDA4MjU3ICAgMDgyNTggICAwODI1OSAgIDA4MjYwICAgMDgyNjEgICAwODI2MiAgIDA4MjYzCiswMDAwMDkwICAgMDgyNjQgICAwODI2NSAgIDA4MjY2ICAgMDgyNjcgICAwODI2OCAgIDA4MjY5ICAgMDgyNzAgICAwODI3MQorMDAwMDBhMCAgIDA4MjcyICAgMDgyNzMgICAwODI3NCAgIDA4Mjc1ICAgMDgyNzYgICAwODI3NyAgIDA4Mjc4ICAgMDgyNzkKKzAwMDAwYjAgICAwODI4MCAgIDA4MjgxICAgMDgyODIgICAwODI4MyAgIDA4Mjg0ICAgMDgyODUgICAwODI4NiAgIDA4Mjg3CiswMDAwMGMwICAgMDgyODggICAwODI4OSAgIDA4MjkwICAgMDgyOTEgICAwODI5MiAgIDA4MjkzICAgMDgyOTQgICAwODI5NQorMDAwMDBkMCAgIDA4Mjk2ICAgMDgyOTcgICAwODI5OCAgIDA4Mjk5ICAgMDgzMDAgICAwODMwMSAgIDA4MzAyICAgMDgzMDMKKzAwMDAwZTAgICAwODMwNCAgIDA4MzA1ICAgMDgzMDYgICAwODMwNyAgIDA4MzA4ICAgMDgzMDkgICAwODMxMCAgIDA4MzExCiswMDAwMGYwICAgMDgzMTIgICAwODMxMyAgIDA4MzE0ICAgMDgzMTUgICAwODMxNiAgIDA4MzE3ICAgMDgzMTggICAwODMxOQorMDAwMDEwMCAgIDMyOTYyICAgNDk2OTYgICAwODMyMSAgIDMzNDc0ICAgNDk2OTYgICAwODMyMyAgIDMzOTg2ICAgNDk2OTYKKzAwMDAxMTAgICAwODMyNSAgIDM0NDk4ICAgNDk2OTYgICAwODMyNyAgIDM1MDEwICAgNDk2OTYgICAwODMyOSAgIDM1NTIyCiswMDAwMTIwICAgNDk2OTYgICAwODMzMSAgIDM2MDM0ICAgNDk2OTYgICAwODMzMyAgIDM2NTQ2ICAgNDk2OTYgICAwODMzNQorMDAwMDEzMCAgIDM3MDU4ICAgNDk2OTYgICAwODMzNyAgIDM3NTcwICAgNDk2OTYgICAwODMzOSAgIDM4MDgyICAgNDk2OTYKKzAwMDAxNDAgICAwODM0MSAgIDM4NTk0ICAgNDk2OTYgICAwODM0MyAgIDM5MTA2ICAgNDk2OTYgICAwODM0NSAgIDM5NjE4CiswMDAwMTUwICAgNDk2OTYgICAwODM0NyAgIDQwMTMwICAgNDk2OTYgICAwODM0OSAgIDQwNjQyICAgNDk2OTYgICAwODM1MQorMDAwMDE2MCAgIDQxMTU0ICAgNDk2OTYgICAwODM1MyAgIDQxNjY2ICAgNDk2OTYgICAwODM1NSAgIDQyMTc4ICAgNDk2OTYKKzAwMDAxNzAgICAwODM1NyAgIDQyNjkwICAgNDk2OTYgICAwODM1OSAgIDQzMjAyICAgNDk2OTYgICAwODM2MSAgIDQzNzE0CiswMDAwMTgwICAgNDk2OTYgICAwODM2MyAgIDQ0MjI2ICAgNDk2OTYgICAwODM2NSAgIDQ0NzM4ICAgNDk2OTYgICAwODM2NworMDAwMDE5MCAgIDQ1MjUwICAgNDk2OTYgICAwODM2OSAgIDQ1NzYyICAgNDk2OTYgICAwODM3MSAgIDQ2Mjc0ICAgNDk2OTYKKzAwMDAxYTAgICAwODM3MyAgIDQ2Nzg2ICAgNDk2OTYgICAwODM3NSAgIDQ3Mjk4ICAgNDk2OTYgICAwODM3NyAgIDQ3ODEwCiswMDAwMWIwICAgNDk2OTYgICAwODM3OSAgIDQ4MzIyICAgNDk2OTYgICAwODM4MSAgIDQ4ODM0ICAgNDk2OTYgICAwODM4MworMDAwMDFjMCAgIDMyOTYzICAgNDk5NTIgICAwODMyMSAgIDMzNDc1ICAgNDk5NTIgICAwODMyMyAgIDMzOTg3ICAgNDk5NTIKKzAwMDAxZDAgICAwODMyNSAgIDM0NDk5ICAgNDk5NTIgICAwODMyNyAgIDM1MDExICAgNDk5NTIgICAwODMyOSAgIDM1NTIzCiswMDAwMWUwICAgNDk5NTIgICAwODMzMSAgIDM2MDM1ICAgNDk5NTIgICAwODMzMyAgIDM2NTQ3ICAgNDk5NTIgICAwODMzNQorMDAwMDFmMCAgIDM3MDU5ICAgNDk5NTIgICAwODMzNyAgIDM3NTcxICAgNDk5NTIgICAwODMzOSAgIDM4MDgzICAgNDk5NTIKKzAwMDAyMDAgICAwODM0MSAgIDM4NTk1ICAgNDk5NTIgICAwODM0MyAgIDM5MTA3ICAgNDk5NTIgICAwODM0NSAgIDM5NjE5CiswMDAwMjEwICAgNDk5NTIgICAwODM0NyAgIDQwMTMxICAgNDk5NTIgICAwODM0OSAgIDQwNjQzICAgNDk5NTIgICAwODM1MQorMDAwMDIyMCAgIDQxMTU1ICAgNDk5NTIgICAwODM1MyAgIDQxNjY3ICAgNDk5NTIgICAwODM1NSAgIDQyMTc5ICAgNDk5NTIKKzAwMDAyMzAgICAwODM1NyAgIDQyNjkxICAgNDk5NTIgICAwODM1OSAgIDQzMjAzICAgNDk5NTIgICAwODM2MSAgIDQzNzE1CiswMDAwMjQwICAgNDk5NTIgICAwODM2MyAgIDQ0MjI3ICAgNDk5NTIgICAwODM2NSAgIDQ0NzM5ICAgNDk5NTIgICAwODM2NworMDAwMDI1MCAgIDQ1MjUxICAgNDk5NTIgICAwODM2OSAgIDQ1NzYzICAgNDk5NTIgICAwODM3MSAgIDQ2Mjc1ICAgNDk5NTIKKzAwMDAyNjAgICAwODM3MyAgIDQ2Nzg3ICAgNDk5NTIgICAwODM3NSAgIDQ3Mjk5ICAgNDk5NTIgICAwODM3NyAgIDQ3ODExCiswMDAwMjcwICAgNDk5NTIgICAwODM3OSAgIDQ4MzIzICAgNDk5NTIgICAwODM4MSAgIDQ4ODM1ICAgNDk5NTIgICAwODM4MworMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9mb3JtYXQtc3RyaW5ncy0yYl9kZWMuQkUgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2Zvcm1hdC1zdHJpbmdzLTJiX2RlYy5CRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTRhMGEwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9mb3JtYXQtc3RyaW5ncy0yYl9kZWMuQkUKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMCAgIDAwMDMyICAgMDAyODggICAwMDU0NCAgIDAwODAwICAgMDEwNTYgICAwMTMxMiAgIDAxNTY4ICAgMDE4MjQKKzAwMDAwMTAgICAwMjA4MCAgIDAyMzM2ICAgMDI1OTIgICAwMjg0OCAgIDAzMTA0ICAgMDMzNjAgICAwMzYxNiAgIDAzODcyCiswMDAwMDIwICAgMDQxMjggICAwNDM4NCAgIDA0NjQwICAgMDQ4OTYgICAwNTE1MiAgIDA1NDA4ICAgMDU2NjQgICAwNTkyMAorMDAwMDAzMCAgIDA2MTc2ICAgMDY0MzIgICAwNjY4OCAgIDA2OTQ0ICAgMDcyMDAgICAwNzQ1NiAgIDA3NzEyICAgMDc5NjgKKzAwMDAwNDAgICAwODIyNCAgIDA4NDgwICAgMDg3MzYgICAwODk5MiAgIDA5MjQ4ICAgMDk1MDQgICAwOTc2MCAgIDEwMDE2CiswMDAwMDUwICAgMTAyNzIgICAxMDUyOCAgIDEwNzg0ICAgMTEwNDAgICAxMTI5NiAgIDExNTUyICAgMTE4MDggICAxMjA2NAorMDAwMDA2MCAgIDEyMzIwICAgMTI1NzYgICAxMjgzMiAgIDEzMDg4ICAgMTMzNDQgICAxMzYwMCAgIDEzODU2ICAgMTQxMTIKKzAwMDAwNzAgICAxNDM2OCAgIDE0NjI0ICAgMTQ4ODAgICAxNTEzNiAgIDE1MzkyICAgMTU2NDggICAxNTkwNCAgIDE2MTYwCiswMDAwMDgwICAgMTY0MTYgICAxNjY3MiAgIDE2OTI4ICAgMTcxODQgICAxNzQ0MCAgIDE3Njk2ICAgMTc5NTIgICAxODIwOAorMDAwMDA5MCAgIDE4NDY0ICAgMTg3MjAgICAxODk3NiAgIDE5MjMyICAgMTk0ODggICAxOTc0NCAgIDIwMDAwICAgMjAyNTYKKzAwMDAwYTAgICAyMDUxMiAgIDIwNzY4ICAgMjEwMjQgICAyMTI4MCAgIDIxNTM2ICAgMjE3OTIgICAyMjA0OCAgIDIyMzA0CiswMDAwMGIwICAgMjI1NjAgICAyMjgxNiAgIDIzMDcyICAgMjMzMjggICAyMzU4NCAgIDIzODQwICAgMjQwOTYgICAyNDM1MgorMDAwMDBjMCAgIDI0NjA4ICAgMjQ4NjQgICAyNTEyMCAgIDI1Mzc2ICAgMjU2MzIgICAyNTg4OCAgIDI2MTQ0ICAgMjY0MDAKKzAwMDAwZDAgICAyNjY1NiAgIDI2OTEyICAgMjcxNjggICAyNzQyNCAgIDI3NjgwICAgMjc5MzYgICAyODE5MiAgIDI4NDQ4CiswMDAwMGUwICAgMjg3MDQgICAyODk2MCAgIDI5MjE2ICAgMjk0NzIgICAyOTcyOCAgIDI5OTg0ICAgMzAyNDAgICAzMDQ5NgorMDAwMDBmMCAgIDMwNzUyICAgMzEwMDggICAzMTI2NCAgIDMxNTIwICAgMzE3NzYgICAzMjAzMiAgIDMyMjg4ICAgMzI1NDQKKzAwMDAxMDAgICA0OTc5MiAgIDA4Mzg2ICAgMzMwNTYgICA0OTc5NCAgIDA4Mzg2ICAgMzM1NjggICA0OTc5NiAgIDA4Mzg2CiswMDAwMTEwICAgMzQwODAgICA0OTc5OCAgIDA4Mzg2ICAgMzQ1OTIgICA0OTgwMCAgIDA4Mzg2ICAgMzUxMDQgICA0OTgwMgorMDAwMDEyMCAgIDA4Mzg2ICAgMzU2MTYgICA0OTgwNCAgIDA4Mzg2ICAgMzYxMjggICA0OTgwNiAgIDA4Mzg2ICAgMzY2NDAKKzAwMDAxMzAgICA0OTgwOCAgIDA4Mzg2ICAgMzcxNTIgICA0OTgxMCAgIDA4Mzg2ICAgMzc2NjQgICA0OTgxMiAgIDA4Mzg2CiswMDAwMTQwICAgMzgxNzYgICA0OTgxNCAgIDA4Mzg2ICAgMzg2ODggICA0OTgxNiAgIDA4Mzg2ICAgMzkyMDAgICA0OTgxOAorMDAwMDE1MCAgIDA4Mzg2ICAgMzk3MTIgICA0OTgyMCAgIDA4Mzg2ICAgNDAyMjQgICA0OTgyMiAgIDA4Mzg2ICAgNDA3MzYKKzAwMDAxNjAgICA0OTgyNCAgIDA4Mzg2ICAgNDEyNDggICA0OTgyNiAgIDA4Mzg2ICAgNDE3NjAgICA0OTgyOCAgIDA4Mzg2CiswMDAwMTcwICAgNDIyNzIgICA0OTgzMCAgIDA4Mzg2ICAgNDI3ODQgICA0OTgzMiAgIDA4Mzg2ICAgNDMyOTYgICA0OTgzNAorMDAwMDE4MCAgIDA4Mzg2ICAgNDM4MDggICA0OTgzNiAgIDA4Mzg2ICAgNDQzMjAgICA0OTgzOCAgIDA4Mzg2ICAgNDQ4MzIKKzAwMDAxOTAgICA0OTg0MCAgIDA4Mzg2ICAgNDUzNDQgICA0OTg0MiAgIDA4Mzg2ICAgNDU4NTYgICA0OTg0NCAgIDA4Mzg2CiswMDAwMWEwICAgNDYzNjggICA0OTg0NiAgIDA4Mzg2ICAgNDY4ODAgICA0OTg0OCAgIDA4Mzg2ICAgNDczOTIgICA0OTg1MAorMDAwMDFiMCAgIDA4Mzg2ICAgNDc5MDQgICA0OTg1MiAgIDA4Mzg2ICAgNDg0MTYgICA0OTg1NCAgIDA4Mzg2ICAgNDg5MjgKKzAwMDAxYzAgICA1MDA0OCAgIDA4Mzg3ICAgMzMwNTYgICA1MDA1MCAgIDA4Mzg3ICAgMzM1NjggICA1MDA1MiAgIDA4Mzg3CiswMDAwMWQwICAgMzQwODAgICA1MDA1NCAgIDA4Mzg3ICAgMzQ1OTIgICA1MDA1NiAgIDA4Mzg3ICAgMzUxMDQgICA1MDA1OAorMDAwMDFlMCAgIDA4Mzg3ICAgMzU2MTYgICA1MDA2MCAgIDA4Mzg3ICAgMzYxMjggICA1MDA2MiAgIDA4Mzg3ICAgMzY2NDAKKzAwMDAxZjAgICA1MDA2NCAgIDA4Mzg3ICAgMzcxNTIgICA1MDA2NiAgIDA4Mzg3ICAgMzc2NjQgICA1MDA2OCAgIDA4Mzg3CiswMDAwMjAwICAgMzgxNzYgICA1MDA3MCAgIDA4Mzg3ICAgMzg2ODggICA1MDA3MiAgIDA4Mzg3ICAgMzkyMDAgICA1MDA3NAorMDAwMDIxMCAgIDA4Mzg3ICAgMzk3MTIgICA1MDA3NiAgIDA4Mzg3ICAgNDAyMjQgICA1MDA3OCAgIDA4Mzg3ICAgNDA3MzYKKzAwMDAyMjAgICA1MDA4MCAgIDA4Mzg3ICAgNDEyNDggICA1MDA4MiAgIDA4Mzg3ICAgNDE3NjAgICA1MDA4NCAgIDA4Mzg3CiswMDAwMjMwICAgNDIyNzIgICA1MDA4NiAgIDA4Mzg3ICAgNDI3ODQgICA1MDA4OCAgIDA4Mzg3ICAgNDMyOTYgICA1MDA5MAorMDAwMDI0MCAgIDA4Mzg3ICAgNDM4MDggICA1MDA5MiAgIDA4Mzg3ICAgNDQzMjAgICA1MDA5NCAgIDA4Mzg3ICAgNDQ4MzIKKzAwMDAyNTAgICA1MDA5NiAgIDA4Mzg3ICAgNDUzNDQgICA1MDA5OCAgIDA4Mzg3ICAgNDU4NTYgICA1MDEwMCAgIDA4Mzg3CiswMDAwMjYwICAgNDYzNjggICA1MDEwMiAgIDA4Mzg3ICAgNDY4ODAgICA1MDEwNCAgIDA4Mzg3ICAgNDczOTIgICA1MDEwNgorMDAwMDI3MCAgIDA4Mzg3ICAgNDc5MDQgICA1MDEwOCAgIDA4Mzg3ICAgNDg0MTYgICA1MDExMCAgIDA4Mzg3ICAgNDg5MjgKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvZm9ybWF0LXN0cmluZ3MtMmJfaGV4IGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9mb3JtYXQtc3RyaW5ncy0yYl9oZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWNkMTFkNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvZm9ybWF0LXN0cmluZ3MtMmJfaGV4CkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAgICAgMjAwMCAgICAyMDAxICAgIDIwMDIgICAgMjAwMyAgICAyMDA0ICAgIDIwMDUgICAgMjAwNiAgICAyMDA3CiswMDAwMDEwICAgIDIwMDggICAgMjAwOSAgICAyMDBhICAgIDIwMGIgICAgMjAwYyAgICAyMDBkICAgIDIwMGUgICAgMjAwZgorMDAwMDAyMCAgICAyMDEwICAgIDIwMTEgICAgMjAxMiAgICAyMDEzICAgIDIwMTQgICAgMjAxNSAgICAyMDE2ICAgIDIwMTcKKzAwMDAwMzAgICAgMjAxOCAgICAyMDE5ICAgIDIwMWEgICAgMjAxYiAgICAyMDFjICAgIDIwMWQgICAgMjAxZSAgICAyMDFmCiswMDAwMDQwICAgIDIwMjAgICAgMjAyMSAgICAyMDIyICAgIDIwMjMgICAgMjAyNCAgICAyMDI1ICAgIDIwMjYgICAgMjAyNworMDAwMDA1MCAgICAyMDI4ICAgIDIwMjkgICAgMjAyYSAgICAyMDJiICAgIDIwMmMgICAgMjAyZCAgICAyMDJlICAgIDIwMmYKKzAwMDAwNjAgICAgMjAzMCAgICAyMDMxICAgIDIwMzIgICAgMjAzMyAgICAyMDM0ICAgIDIwMzUgICAgMjAzNiAgICAyMDM3CiswMDAwMDcwICAgIDIwMzggICAgMjAzOSAgICAyMDNhICAgIDIwM2IgICAgMjAzYyAgICAyMDNkICAgIDIwM2UgICAgMjAzZgorMDAwMDA4MCAgICAyMDQwICAgIDIwNDEgICAgMjA0MiAgICAyMDQzICAgIDIwNDQgICAgMjA0NSAgICAyMDQ2ICAgIDIwNDcKKzAwMDAwOTAgICAgMjA0OCAgICAyMDQ5ICAgIDIwNGEgICAgMjA0YiAgICAyMDRjICAgIDIwNGQgICAgMjA0ZSAgICAyMDRmCiswMDAwMGEwICAgIDIwNTAgICAgMjA1MSAgICAyMDUyICAgIDIwNTMgICAgMjA1NCAgICAyMDU1ICAgIDIwNTYgICAgMjA1NworMDAwMDBiMCAgICAyMDU4ICAgIDIwNTkgICAgMjA1YSAgICAyMDViICAgIDIwNWMgICAgMjA1ZCAgICAyMDVlICAgIDIwNWYKKzAwMDAwYzAgICAgMjA2MCAgICAyMDYxICAgIDIwNjIgICAgMjA2MyAgICAyMDY0ICAgIDIwNjUgICAgMjA2NiAgICAyMDY3CiswMDAwMGQwICAgIDIwNjggICAgMjA2OSAgICAyMDZhICAgIDIwNmIgICAgMjA2YyAgICAyMDZkICAgIDIwNmUgICAgMjA2ZgorMDAwMDBlMCAgICAyMDcwICAgIDIwNzEgICAgMjA3MiAgICAyMDczICAgIDIwNzQgICAgMjA3NSAgICAyMDc2ICAgIDIwNzcKKzAwMDAwZjAgICAgMjA3OCAgICAyMDc5ICAgIDIwN2EgICAgMjA3YiAgICAyMDdjICAgIDIwN2QgICAgMjA3ZSAgICAyMDdmCiswMDAwMTAwICAgIDgwYzIgICAgYzIyMCAgICAyMDgxICAgIDgyYzIgICAgYzIyMCAgICAyMDgzICAgIDg0YzIgICAgYzIyMAorMDAwMDExMCAgICAyMDg1ICAgIDg2YzIgICAgYzIyMCAgICAyMDg3ICAgIDg4YzIgICAgYzIyMCAgICAyMDg5ICAgIDhhYzIKKzAwMDAxMjAgICAgYzIyMCAgICAyMDhiICAgIDhjYzIgICAgYzIyMCAgICAyMDhkICAgIDhlYzIgICAgYzIyMCAgICAyMDhmCiswMDAwMTMwICAgIDkwYzIgICAgYzIyMCAgICAyMDkxICAgIDkyYzIgICAgYzIyMCAgICAyMDkzICAgIDk0YzIgICAgYzIyMAorMDAwMDE0MCAgICAyMDk1ICAgIDk2YzIgICAgYzIyMCAgICAyMDk3ICAgIDk4YzIgICAgYzIyMCAgICAyMDk5ICAgIDlhYzIKKzAwMDAxNTAgICAgYzIyMCAgICAyMDliICAgIDljYzIgICAgYzIyMCAgICAyMDlkICAgIDllYzIgICAgYzIyMCAgICAyMDlmCiswMDAwMTYwICAgIGEwYzIgICAgYzIyMCAgICAyMGExICAgIGEyYzIgICAgYzIyMCAgICAyMGEzICAgIGE0YzIgICAgYzIyMAorMDAwMDE3MCAgICAyMGE1ICAgIGE2YzIgICAgYzIyMCAgICAyMGE3ICAgIGE4YzIgICAgYzIyMCAgICAyMGE5ICAgIGFhYzIKKzAwMDAxODAgICAgYzIyMCAgICAyMGFiICAgIGFjYzIgICAgYzIyMCAgICAyMGFkICAgIGFlYzIgICAgYzIyMCAgICAyMGFmCiswMDAwMTkwICAgIGIwYzIgICAgYzIyMCAgICAyMGIxICAgIGIyYzIgICAgYzIyMCAgICAyMGIzICAgIGI0YzIgICAgYzIyMAorMDAwMDFhMCAgICAyMGI1ICAgIGI2YzIgICAgYzIyMCAgICAyMGI3ICAgIGI4YzIgICAgYzIyMCAgICAyMGI5ICAgIGJhYzIKKzAwMDAxYjAgICAgYzIyMCAgICAyMGJiICAgIGJjYzIgICAgYzIyMCAgICAyMGJkICAgIGJlYzIgICAgYzIyMCAgICAyMGJmCiswMDAwMWMwICAgIDgwYzMgICAgYzMyMCAgICAyMDgxICAgIDgyYzMgICAgYzMyMCAgICAyMDgzICAgIDg0YzMgICAgYzMyMAorMDAwMDFkMCAgICAyMDg1ICAgIDg2YzMgICAgYzMyMCAgICAyMDg3ICAgIDg4YzMgICAgYzMyMCAgICAyMDg5ICAgIDhhYzMKKzAwMDAxZTAgICAgYzMyMCAgICAyMDhiICAgIDhjYzMgICAgYzMyMCAgICAyMDhkICAgIDhlYzMgICAgYzMyMCAgICAyMDhmCiswMDAwMWYwICAgIDkwYzMgICAgYzMyMCAgICAyMDkxICAgIDkyYzMgICAgYzMyMCAgICAyMDkzICAgIDk0YzMgICAgYzMyMAorMDAwMDIwMCAgICAyMDk1ICAgIDk2YzMgICAgYzMyMCAgICAyMDk3ICAgIDk4YzMgICAgYzMyMCAgICAyMDk5ICAgIDlhYzMKKzAwMDAyMTAgICAgYzMyMCAgICAyMDliICAgIDljYzMgICAgYzMyMCAgICAyMDlkICAgIDllYzMgICAgYzMyMCAgICAyMDlmCiswMDAwMjIwICAgIGEwYzMgICAgYzMyMCAgICAyMGExICAgIGEyYzMgICAgYzMyMCAgICAyMGEzICAgIGE0YzMgICAgYzMyMAorMDAwMDIzMCAgICAyMGE1ICAgIGE2YzMgICAgYzMyMCAgICAyMGE3ICAgIGE4YzMgICAgYzMyMCAgICAyMGE5ICAgIGFhYzMKKzAwMDAyNDAgICAgYzMyMCAgICAyMGFiICAgIGFjYzMgICAgYzMyMCAgICAyMGFkICAgIGFlYzMgICAgYzMyMCAgICAyMGFmCiswMDAwMjUwICAgIGIwYzMgICAgYzMyMCAgICAyMGIxICAgIGIyYzMgICAgYzMyMCAgICAyMGIzICAgIGI0YzMgICAgYzMyMAorMDAwMDI2MCAgICAyMGI1ICAgIGI2YzMgICAgYzMyMCAgICAyMGI3ICAgIGI4YzMgICAgYzMyMCAgICAyMGI5ICAgIGJhYzMKKzAwMDAyNzAgICAgYzMyMCAgICAyMGJiICAgIGJjYzMgICAgYzMyMCAgICAyMGJkICAgIGJlYzMgICAgYzMyMCAgICAyMGJmCiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2Zvcm1hdC1zdHJpbmdzLTJiX2hleC5CRSBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvZm9ybWF0LXN0cmluZ3MtMmJfaGV4LkJFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2NTcwODQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2Zvcm1hdC1zdHJpbmdzLTJiX2hleC5CRQpAQCAtMCwwICsxLDQxIEBACiswMDAwMDAwICAgIDAwMjAgICAgMDEyMCAgICAwMjIwICAgIDAzMjAgICAgMDQyMCAgICAwNTIwICAgIDA2MjAgICAgMDcyMAorMDAwMDAxMCAgICAwODIwICAgIDA5MjAgICAgMGEyMCAgICAwYjIwICAgIDBjMjAgICAgMGQyMCAgICAwZTIwICAgIDBmMjAKKzAwMDAwMjAgICAgMTAyMCAgICAxMTIwICAgIDEyMjAgICAgMTMyMCAgICAxNDIwICAgIDE1MjAgICAgMTYyMCAgICAxNzIwCiswMDAwMDMwICAgIDE4MjAgICAgMTkyMCAgICAxYTIwICAgIDFiMjAgICAgMWMyMCAgICAxZDIwICAgIDFlMjAgICAgMWYyMAorMDAwMDA0MCAgICAyMDIwICAgIDIxMjAgICAgMjIyMCAgICAyMzIwICAgIDI0MjAgICAgMjUyMCAgICAyNjIwICAgIDI3MjAKKzAwMDAwNTAgICAgMjgyMCAgICAyOTIwICAgIDJhMjAgICAgMmIyMCAgICAyYzIwICAgIDJkMjAgICAgMmUyMCAgICAyZjIwCiswMDAwMDYwICAgIDMwMjAgICAgMzEyMCAgICAzMjIwICAgIDMzMjAgICAgMzQyMCAgICAzNTIwICAgIDM2MjAgICAgMzcyMAorMDAwMDA3MCAgICAzODIwICAgIDM5MjAgICAgM2EyMCAgICAzYjIwICAgIDNjMjAgICAgM2QyMCAgICAzZTIwICAgIDNmMjAKKzAwMDAwODAgICAgNDAyMCAgICA0MTIwICAgIDQyMjAgICAgNDMyMCAgICA0NDIwICAgIDQ1MjAgICAgNDYyMCAgICA0NzIwCiswMDAwMDkwICAgIDQ4MjAgICAgNDkyMCAgICA0YTIwICAgIDRiMjAgICAgNGMyMCAgICA0ZDIwICAgIDRlMjAgICAgNGYyMAorMDAwMDBhMCAgICA1MDIwICAgIDUxMjAgICAgNTIyMCAgICA1MzIwICAgIDU0MjAgICAgNTUyMCAgICA1NjIwICAgIDU3MjAKKzAwMDAwYjAgICAgNTgyMCAgICA1OTIwICAgIDVhMjAgICAgNWIyMCAgICA1YzIwICAgIDVkMjAgICAgNWUyMCAgICA1ZjIwCiswMDAwMGMwICAgIDYwMjAgICAgNjEyMCAgICA2MjIwICAgIDYzMjAgICAgNjQyMCAgICA2NTIwICAgIDY2MjAgICAgNjcyMAorMDAwMDBkMCAgICA2ODIwICAgIDY5MjAgICAgNmEyMCAgICA2YjIwICAgIDZjMjAgICAgNmQyMCAgICA2ZTIwICAgIDZmMjAKKzAwMDAwZTAgICAgNzAyMCAgICA3MTIwICAgIDcyMjAgICAgNzMyMCAgICA3NDIwICAgIDc1MjAgICAgNzYyMCAgICA3NzIwCiswMDAwMGYwICAgIDc4MjAgICAgNzkyMCAgICA3YTIwICAgIDdiMjAgICAgN2MyMCAgICA3ZDIwICAgIDdlMjAgICAgN2YyMAorMDAwMDEwMCAgICBjMjgwICAgIDIwYzIgICAgODEyMCAgICBjMjgyICAgIDIwYzIgICAgODMyMCAgICBjMjg0ICAgIDIwYzIKKzAwMDAxMTAgICAgODUyMCAgICBjMjg2ICAgIDIwYzIgICAgODcyMCAgICBjMjg4ICAgIDIwYzIgICAgODkyMCAgICBjMjhhCiswMDAwMTIwICAgIDIwYzIgICAgOGIyMCAgICBjMjhjICAgIDIwYzIgICAgOGQyMCAgICBjMjhlICAgIDIwYzIgICAgOGYyMAorMDAwMDEzMCAgICBjMjkwICAgIDIwYzIgICAgOTEyMCAgICBjMjkyICAgIDIwYzIgICAgOTMyMCAgICBjMjk0ICAgIDIwYzIKKzAwMDAxNDAgICAgOTUyMCAgICBjMjk2ICAgIDIwYzIgICAgOTcyMCAgICBjMjk4ICAgIDIwYzIgICAgOTkyMCAgICBjMjlhCiswMDAwMTUwICAgIDIwYzIgICAgOWIyMCAgICBjMjljICAgIDIwYzIgICAgOWQyMCAgICBjMjllICAgIDIwYzIgICAgOWYyMAorMDAwMDE2MCAgICBjMmEwICAgIDIwYzIgICAgYTEyMCAgICBjMmEyICAgIDIwYzIgICAgYTMyMCAgICBjMmE0ICAgIDIwYzIKKzAwMDAxNzAgICAgYTUyMCAgICBjMmE2ICAgIDIwYzIgICAgYTcyMCAgICBjMmE4ICAgIDIwYzIgICAgYTkyMCAgICBjMmFhCiswMDAwMTgwICAgIDIwYzIgICAgYWIyMCAgICBjMmFjICAgIDIwYzIgICAgYWQyMCAgICBjMmFlICAgIDIwYzIgICAgYWYyMAorMDAwMDE5MCAgICBjMmIwICAgIDIwYzIgICAgYjEyMCAgICBjMmIyICAgIDIwYzIgICAgYjMyMCAgICBjMmI0ICAgIDIwYzIKKzAwMDAxYTAgICAgYjUyMCAgICBjMmI2ICAgIDIwYzIgICAgYjcyMCAgICBjMmI4ICAgIDIwYzIgICAgYjkyMCAgICBjMmJhCiswMDAwMWIwICAgIDIwYzIgICAgYmIyMCAgICBjMmJjICAgIDIwYzIgICAgYmQyMCAgICBjMmJlICAgIDIwYzIgICAgYmYyMAorMDAwMDFjMCAgICBjMzgwICAgIDIwYzMgICAgODEyMCAgICBjMzgyICAgIDIwYzMgICAgODMyMCAgICBjMzg0ICAgIDIwYzMKKzAwMDAxZDAgICAgODUyMCAgICBjMzg2ICAgIDIwYzMgICAgODcyMCAgICBjMzg4ICAgIDIwYzMgICAgODkyMCAgICBjMzhhCiswMDAwMWUwICAgIDIwYzMgICAgOGIyMCAgICBjMzhjICAgIDIwYzMgICAgOGQyMCAgICBjMzhlICAgIDIwYzMgICAgOGYyMAorMDAwMDFmMCAgICBjMzkwICAgIDIwYzMgICAgOTEyMCAgICBjMzkyICAgIDIwYzMgICAgOTMyMCAgICBjMzk0ICAgIDIwYzMKKzAwMDAyMDAgICAgOTUyMCAgICBjMzk2ICAgIDIwYzMgICAgOTcyMCAgICBjMzk4ICAgIDIwYzMgICAgOTkyMCAgICBjMzlhCiswMDAwMjEwICAgIDIwYzMgICAgOWIyMCAgICBjMzljICAgIDIwYzMgICAgOWQyMCAgICBjMzllICAgIDIwYzMgICAgOWYyMAorMDAwMDIyMCAgICBjM2EwICAgIDIwYzMgICAgYTEyMCAgICBjM2EyICAgIDIwYzMgICAgYTMyMCAgICBjM2E0ICAgIDIwYzMKKzAwMDAyMzAgICAgYTUyMCAgICBjM2E2ICAgIDIwYzMgICAgYTcyMCAgICBjM2E4ICAgIDIwYzMgICAgYTkyMCAgICBjM2FhCiswMDAwMjQwICAgIDIwYzMgICAgYWIyMCAgICBjM2FjICAgIDIwYzMgICAgYWQyMCAgICBjM2FlICAgIDIwYzMgICAgYWYyMAorMDAwMDI1MCAgICBjM2IwICAgIDIwYzMgICAgYjEyMCAgICBjM2IyICAgIDIwYzMgICAgYjMyMCAgICBjM2I0ICAgIDIwYzMKKzAwMDAyNjAgICAgYjUyMCAgICBjM2I2ICAgIDIwYzMgICAgYjcyMCAgICBjM2I4ICAgIDIwYzMgICAgYjkyMCAgICBjM2JhCiswMDAwMjcwICAgIDIwYzMgICAgYmIyMCAgICBjM2JjICAgIDIwYzMgICAgYmQyMCAgICBjM2JlICAgIDIwYzMgICAgYmYyMAorMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9mb3JtYXQtc3RyaW5ncy0yYl9vY3RhbCBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvZm9ybWF0LXN0cmluZ3MtMmJfb2N0YWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTg2MjEzMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvZm9ybWF0LXN0cmluZ3MtMmJfb2N0YWwKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMCAgMDIwMDAwICAwMjAwMDEgIDAyMDAwMiAgMDIwMDAzICAwMjAwMDQgIDAyMDAwNSAgMDIwMDA2ICAwMjAwMDcKKzAwMDAwMTAgIDAyMDAxMCAgMDIwMDExICAwMjAwMTIgIDAyMDAxMyAgMDIwMDE0ICAwMjAwMTUgIDAyMDAxNiAgMDIwMDE3CiswMDAwMDIwICAwMjAwMjAgIDAyMDAyMSAgMDIwMDIyICAwMjAwMjMgIDAyMDAyNCAgMDIwMDI1ICAwMjAwMjYgIDAyMDAyNworMDAwMDAzMCAgMDIwMDMwICAwMjAwMzEgIDAyMDAzMiAgMDIwMDMzICAwMjAwMzQgIDAyMDAzNSAgMDIwMDM2ICAwMjAwMzcKKzAwMDAwNDAgIDAyMDA0MCAgMDIwMDQxICAwMjAwNDIgIDAyMDA0MyAgMDIwMDQ0ICAwMjAwNDUgIDAyMDA0NiAgMDIwMDQ3CiswMDAwMDUwICAwMjAwNTAgIDAyMDA1MSAgMDIwMDUyICAwMjAwNTMgIDAyMDA1NCAgMDIwMDU1ICAwMjAwNTYgIDAyMDA1NworMDAwMDA2MCAgMDIwMDYwICAwMjAwNjEgIDAyMDA2MiAgMDIwMDYzICAwMjAwNjQgIDAyMDA2NSAgMDIwMDY2ICAwMjAwNjcKKzAwMDAwNzAgIDAyMDA3MCAgMDIwMDcxICAwMjAwNzIgIDAyMDA3MyAgMDIwMDc0ICAwMjAwNzUgIDAyMDA3NiAgMDIwMDc3CiswMDAwMDgwICAwMjAxMDAgIDAyMDEwMSAgMDIwMTAyICAwMjAxMDMgIDAyMDEwNCAgMDIwMTA1ICAwMjAxMDYgIDAyMDEwNworMDAwMDA5MCAgMDIwMTEwICAwMjAxMTEgIDAyMDExMiAgMDIwMTEzICAwMjAxMTQgIDAyMDExNSAgMDIwMTE2ICAwMjAxMTcKKzAwMDAwYTAgIDAyMDEyMCAgMDIwMTIxICAwMjAxMjIgIDAyMDEyMyAgMDIwMTI0ICAwMjAxMjUgIDAyMDEyNiAgMDIwMTI3CiswMDAwMGIwICAwMjAxMzAgIDAyMDEzMSAgMDIwMTMyICAwMjAxMzMgIDAyMDEzNCAgMDIwMTM1ICAwMjAxMzYgIDAyMDEzNworMDAwMDBjMCAgMDIwMTQwICAwMjAxNDEgIDAyMDE0MiAgMDIwMTQzICAwMjAxNDQgIDAyMDE0NSAgMDIwMTQ2ICAwMjAxNDcKKzAwMDAwZDAgIDAyMDE1MCAgMDIwMTUxICAwMjAxNTIgIDAyMDE1MyAgMDIwMTU0ICAwMjAxNTUgIDAyMDE1NiAgMDIwMTU3CiswMDAwMGUwICAwMjAxNjAgIDAyMDE2MSAgMDIwMTYyICAwMjAxNjMgIDAyMDE2NCAgMDIwMTY1ICAwMjAxNjYgIDAyMDE2NworMDAwMDBmMCAgMDIwMTcwICAwMjAxNzEgIDAyMDE3MiAgMDIwMTczICAwMjAxNzQgIDAyMDE3NSAgMDIwMTc2ICAwMjAxNzcKKzAwMDAxMDAgIDEwMDMwMiAgMTQxMDQwICAwMjAyMDEgIDEwMTMwMiAgMTQxMDQwICAwMjAyMDMgIDEwMjMwMiAgMTQxMDQwCiswMDAwMTEwICAwMjAyMDUgIDEwMzMwMiAgMTQxMDQwICAwMjAyMDcgIDEwNDMwMiAgMTQxMDQwICAwMjAyMTEgIDEwNTMwMgorMDAwMDEyMCAgMTQxMDQwICAwMjAyMTMgIDEwNjMwMiAgMTQxMDQwICAwMjAyMTUgIDEwNzMwMiAgMTQxMDQwICAwMjAyMTcKKzAwMDAxMzAgIDExMDMwMiAgMTQxMDQwICAwMjAyMjEgIDExMTMwMiAgMTQxMDQwICAwMjAyMjMgIDExMjMwMiAgMTQxMDQwCiswMDAwMTQwICAwMjAyMjUgIDExMzMwMiAgMTQxMDQwICAwMjAyMjcgIDExNDMwMiAgMTQxMDQwICAwMjAyMzEgIDExNTMwMgorMDAwMDE1MCAgMTQxMDQwICAwMjAyMzMgIDExNjMwMiAgMTQxMDQwICAwMjAyMzUgIDExNzMwMiAgMTQxMDQwICAwMjAyMzcKKzAwMDAxNjAgIDEyMDMwMiAgMTQxMDQwICAwMjAyNDEgIDEyMTMwMiAgMTQxMDQwICAwMjAyNDMgIDEyMjMwMiAgMTQxMDQwCiswMDAwMTcwICAwMjAyNDUgIDEyMzMwMiAgMTQxMDQwICAwMjAyNDcgIDEyNDMwMiAgMTQxMDQwICAwMjAyNTEgIDEyNTMwMgorMDAwMDE4MCAgMTQxMDQwICAwMjAyNTMgIDEyNjMwMiAgMTQxMDQwICAwMjAyNTUgIDEyNzMwMiAgMTQxMDQwICAwMjAyNTcKKzAwMDAxOTAgIDEzMDMwMiAgMTQxMDQwICAwMjAyNjEgIDEzMTMwMiAgMTQxMDQwICAwMjAyNjMgIDEzMjMwMiAgMTQxMDQwCiswMDAwMWEwICAwMjAyNjUgIDEzMzMwMiAgMTQxMDQwICAwMjAyNjcgIDEzNDMwMiAgMTQxMDQwICAwMjAyNzEgIDEzNTMwMgorMDAwMDFiMCAgMTQxMDQwICAwMjAyNzMgIDEzNjMwMiAgMTQxMDQwICAwMjAyNzUgIDEzNzMwMiAgMTQxMDQwICAwMjAyNzcKKzAwMDAxYzAgIDEwMDMwMyAgMTQxNDQwICAwMjAyMDEgIDEwMTMwMyAgMTQxNDQwICAwMjAyMDMgIDEwMjMwMyAgMTQxNDQwCiswMDAwMWQwICAwMjAyMDUgIDEwMzMwMyAgMTQxNDQwICAwMjAyMDcgIDEwNDMwMyAgMTQxNDQwICAwMjAyMTEgIDEwNTMwMworMDAwMDFlMCAgMTQxNDQwICAwMjAyMTMgIDEwNjMwMyAgMTQxNDQwICAwMjAyMTUgIDEwNzMwMyAgMTQxNDQwICAwMjAyMTcKKzAwMDAxZjAgIDExMDMwMyAgMTQxNDQwICAwMjAyMjEgIDExMTMwMyAgMTQxNDQwICAwMjAyMjMgIDExMjMwMyAgMTQxNDQwCiswMDAwMjAwICAwMjAyMjUgIDExMzMwMyAgMTQxNDQwICAwMjAyMjcgIDExNDMwMyAgMTQxNDQwICAwMjAyMzEgIDExNTMwMworMDAwMDIxMCAgMTQxNDQwICAwMjAyMzMgIDExNjMwMyAgMTQxNDQwICAwMjAyMzUgIDExNzMwMyAgMTQxNDQwICAwMjAyMzcKKzAwMDAyMjAgIDEyMDMwMyAgMTQxNDQwICAwMjAyNDEgIDEyMTMwMyAgMTQxNDQwICAwMjAyNDMgIDEyMjMwMyAgMTQxNDQwCiswMDAwMjMwICAwMjAyNDUgIDEyMzMwMyAgMTQxNDQwICAwMjAyNDcgIDEyNDMwMyAgMTQxNDQwICAwMjAyNTEgIDEyNTMwMworMDAwMDI0MCAgMTQxNDQwICAwMjAyNTMgIDEyNjMwMyAgMTQxNDQwICAwMjAyNTUgIDEyNzMwMyAgMTQxNDQwICAwMjAyNTcKKzAwMDAyNTAgIDEzMDMwMyAgMTQxNDQwICAwMjAyNjEgIDEzMTMwMyAgMTQxNDQwICAwMjAyNjMgIDEzMjMwMyAgMTQxNDQwCiswMDAwMjYwICAwMjAyNjUgIDEzMzMwMyAgMTQxNDQwICAwMjAyNjcgIDEzNDMwMyAgMTQxNDQwICAwMjAyNzEgIDEzNTMwMworMDAwMDI3MCAgMTQxNDQwICAwMjAyNzMgIDEzNjMwMyAgMTQxNDQwICAwMjAyNzUgIDEzNzMwMyAgMTQxNDQwICAwMjAyNzcKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvZm9ybWF0LXN0cmluZ3MtMmJfb2N0YWwuQkUgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2Zvcm1hdC1zdHJpbmdzLTJiX29jdGFsLkJFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1ZWUxMTgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2Zvcm1hdC1zdHJpbmdzLTJiX29jdGFsLkJFCkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAgIDAwMDA0MCAgMDAwNDQwICAwMDEwNDAgIDAwMTQ0MCAgMDAyMDQwICAwMDI0NDAgIDAwMzA0MCAgMDAzNDQwCiswMDAwMDEwICAwMDQwNDAgIDAwNDQ0MCAgMDA1MDQwICAwMDU0NDAgIDAwNjA0MCAgMDA2NDQwICAwMDcwNDAgIDAwNzQ0MAorMDAwMDAyMCAgMDEwMDQwICAwMTA0NDAgIDAxMTA0MCAgMDExNDQwICAwMTIwNDAgIDAxMjQ0MCAgMDEzMDQwICAwMTM0NDAKKzAwMDAwMzAgIDAxNDA0MCAgMDE0NDQwICAwMTUwNDAgIDAxNTQ0MCAgMDE2MDQwICAwMTY0NDAgIDAxNzA0MCAgMDE3NDQwCiswMDAwMDQwICAwMjAwNDAgIDAyMDQ0MCAgMDIxMDQwICAwMjE0NDAgIDAyMjA0MCAgMDIyNDQwICAwMjMwNDAgIDAyMzQ0MAorMDAwMDA1MCAgMDI0MDQwICAwMjQ0NDAgIDAyNTA0MCAgMDI1NDQwICAwMjYwNDAgIDAyNjQ0MCAgMDI3MDQwICAwMjc0NDAKKzAwMDAwNjAgIDAzMDA0MCAgMDMwNDQwICAwMzEwNDAgIDAzMTQ0MCAgMDMyMDQwICAwMzI0NDAgIDAzMzA0MCAgMDMzNDQwCiswMDAwMDcwICAwMzQwNDAgIDAzNDQ0MCAgMDM1MDQwICAwMzU0NDAgIDAzNjA0MCAgMDM2NDQwICAwMzcwNDAgIDAzNzQ0MAorMDAwMDA4MCAgMDQwMDQwICAwNDA0NDAgIDA0MTA0MCAgMDQxNDQwICAwNDIwNDAgIDA0MjQ0MCAgMDQzMDQwICAwNDM0NDAKKzAwMDAwOTAgIDA0NDA0MCAgMDQ0NDQwICAwNDUwNDAgIDA0NTQ0MCAgMDQ2MDQwICAwNDY0NDAgIDA0NzA0MCAgMDQ3NDQwCiswMDAwMGEwICAwNTAwNDAgIDA1MDQ0MCAgMDUxMDQwICAwNTE0NDAgIDA1MjA0MCAgMDUyNDQwICAwNTMwNDAgIDA1MzQ0MAorMDAwMDBiMCAgMDU0MDQwICAwNTQ0NDAgIDA1NTA0MCAgMDU1NDQwICAwNTYwNDAgIDA1NjQ0MCAgMDU3MDQwICAwNTc0NDAKKzAwMDAwYzAgIDA2MDA0MCAgMDYwNDQwICAwNjEwNDAgIDA2MTQ0MCAgMDYyMDQwICAwNjI0NDAgIDA2MzA0MCAgMDYzNDQwCiswMDAwMGQwICAwNjQwNDAgIDA2NDQ0MCAgMDY1MDQwICAwNjU0NDAgIDA2NjA0MCAgMDY2NDQwICAwNjcwNDAgIDA2NzQ0MAorMDAwMDBlMCAgMDcwMDQwICAwNzA0NDAgIDA3MTA0MCAgMDcxNDQwICAwNzIwNDAgIDA3MjQ0MCAgMDczMDQwICAwNzM0NDAKKzAwMDAwZjAgIDA3NDA0MCAgMDc0NDQwICAwNzUwNDAgIDA3NTQ0MCAgMDc2MDQwICAwNzY0NDAgIDA3NzA0MCAgMDc3NDQwCiswMDAwMTAwICAxNDEyMDAgIDAyMDMwMiAgMTAwNDQwICAxNDEyMDIgIDAyMDMwMiAgMTAxNDQwICAxNDEyMDQgIDAyMDMwMgorMDAwMDExMCAgMTAyNDQwICAxNDEyMDYgIDAyMDMwMiAgMTAzNDQwICAxNDEyMTAgIDAyMDMwMiAgMTA0NDQwICAxNDEyMTIKKzAwMDAxMjAgIDAyMDMwMiAgMTA1NDQwICAxNDEyMTQgIDAyMDMwMiAgMTA2NDQwICAxNDEyMTYgIDAyMDMwMiAgMTA3NDQwCiswMDAwMTMwICAxNDEyMjAgIDAyMDMwMiAgMTEwNDQwICAxNDEyMjIgIDAyMDMwMiAgMTExNDQwICAxNDEyMjQgIDAyMDMwMgorMDAwMDE0MCAgMTEyNDQwICAxNDEyMjYgIDAyMDMwMiAgMTEzNDQwICAxNDEyMzAgIDAyMDMwMiAgMTE0NDQwICAxNDEyMzIKKzAwMDAxNTAgIDAyMDMwMiAgMTE1NDQwICAxNDEyMzQgIDAyMDMwMiAgMTE2NDQwICAxNDEyMzYgIDAyMDMwMiAgMTE3NDQwCiswMDAwMTYwICAxNDEyNDAgIDAyMDMwMiAgMTIwNDQwICAxNDEyNDIgIDAyMDMwMiAgMTIxNDQwICAxNDEyNDQgIDAyMDMwMgorMDAwMDE3MCAgMTIyNDQwICAxNDEyNDYgIDAyMDMwMiAgMTIzNDQwICAxNDEyNTAgIDAyMDMwMiAgMTI0NDQwICAxNDEyNTIKKzAwMDAxODAgIDAyMDMwMiAgMTI1NDQwICAxNDEyNTQgIDAyMDMwMiAgMTI2NDQwICAxNDEyNTYgIDAyMDMwMiAgMTI3NDQwCiswMDAwMTkwICAxNDEyNjAgIDAyMDMwMiAgMTMwNDQwICAxNDEyNjIgIDAyMDMwMiAgMTMxNDQwICAxNDEyNjQgIDAyMDMwMgorMDAwMDFhMCAgMTMyNDQwICAxNDEyNjYgIDAyMDMwMiAgMTMzNDQwICAxNDEyNzAgIDAyMDMwMiAgMTM0NDQwICAxNDEyNzIKKzAwMDAxYjAgIDAyMDMwMiAgMTM1NDQwICAxNDEyNzQgIDAyMDMwMiAgMTM2NDQwICAxNDEyNzYgIDAyMDMwMiAgMTM3NDQwCiswMDAwMWMwICAxNDE2MDAgIDAyMDMwMyAgMTAwNDQwICAxNDE2MDIgIDAyMDMwMyAgMTAxNDQwICAxNDE2MDQgIDAyMDMwMworMDAwMDFkMCAgMTAyNDQwICAxNDE2MDYgIDAyMDMwMyAgMTAzNDQwICAxNDE2MTAgIDAyMDMwMyAgMTA0NDQwICAxNDE2MTIKKzAwMDAxZTAgIDAyMDMwMyAgMTA1NDQwICAxNDE2MTQgIDAyMDMwMyAgMTA2NDQwICAxNDE2MTYgIDAyMDMwMyAgMTA3NDQwCiswMDAwMWYwICAxNDE2MjAgIDAyMDMwMyAgMTEwNDQwICAxNDE2MjIgIDAyMDMwMyAgMTExNDQwICAxNDE2MjQgIDAyMDMwMworMDAwMDIwMCAgMTEyNDQwICAxNDE2MjYgIDAyMDMwMyAgMTEzNDQwICAxNDE2MzAgIDAyMDMwMyAgMTE0NDQwICAxNDE2MzIKKzAwMDAyMTAgIDAyMDMwMyAgMTE1NDQwICAxNDE2MzQgIDAyMDMwMyAgMTE2NDQwICAxNDE2MzYgIDAyMDMwMyAgMTE3NDQwCiswMDAwMjIwICAxNDE2NDAgIDAyMDMwMyAgMTIwNDQwICAxNDE2NDIgIDAyMDMwMyAgMTIxNDQwICAxNDE2NDQgIDAyMDMwMworMDAwMDIzMCAgMTIyNDQwICAxNDE2NDYgIDAyMDMwMyAgMTIzNDQwICAxNDE2NTAgIDAyMDMwMyAgMTI0NDQwICAxNDE2NTIKKzAwMDAyNDAgIDAyMDMwMyAgMTI1NDQwICAxNDE2NTQgIDAyMDMwMyAgMTI2NDQwICAxNDE2NTYgIDAyMDMwMyAgMTI3NDQwCiswMDAwMjUwICAxNDE2NjAgIDAyMDMwMyAgMTMwNDQwICAxNDE2NjIgIDAyMDMwMyAgMTMxNDQwICAxNDE2NjQgIDAyMDMwMworMDAwMDI2MCAgMTMyNDQwICAxNDE2NjYgIDAyMDMwMyAgMTMzNDQwICAxNDE2NzAgIDAyMDMwMyAgMTM0NDQwICAxNDE2NzIKKzAwMDAyNzAgIDAyMDMwMyAgMTM1NDQwICAxNDE2NzQgIDAyMDMwMyAgMTM2NDQwICAxNDE2NzYgIDAyMDMwMyAgMTM3NDQwCiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2Zvcm1hdC1zdHJpbmdzLWNhbm9uIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9mb3JtYXQtc3RyaW5ncy1jYW5vbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NGZlNWFkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9mb3JtYXQtc3RyaW5ncy1jYW5vbgpAQCAtMCwwICsxLDQxIEBACiswMDAwMDAwMCAgMDAgMjAgMDEgMjAgMDIgMjAgMDMgMjAgIDA0IDIwIDA1IDIwIDA2IDIwIDA3IDIwICB8LiAuIC4gLiAuIC4gLiAuIHwKKzAwMDAwMDEwICAwOCAyMCAwOSAyMCAwYSAyMCAwYiAyMCAgMGMgMjAgMGQgMjAgMGUgMjAgMGYgMjAgIHwuIC4gLiAuIC4gLiAuIC4gfAorMDAwMDAwMjAgIDEwIDIwIDExIDIwIDEyIDIwIDEzIDIwICAxNCAyMCAxNSAyMCAxNiAyMCAxNyAyMCAgfC4gLiAuIC4gLiAuIC4gLiB8CiswMDAwMDAzMCAgMTggMjAgMTkgMjAgMWEgMjAgMWIgMjAgIDFjIDIwIDFkIDIwIDFlIDIwIDFmIDIwICB8LiAuIC4gLiAuIC4gLiAuIHwKKzAwMDAwMDQwICAyMCAyMCAyMSAyMCAyMiAyMCAyMyAyMCAgMjQgMjAgMjUgMjAgMjYgMjAgMjcgMjAgIHwgICEgIiAjICQgJSAmICcgfAorMDAwMDAwNTAgIDI4IDIwIDI5IDIwIDJhIDIwIDJiIDIwICAyYyAyMCAyZCAyMCAyZSAyMCAyZiAyMCAgfCggKSAqICsgLCAtIC4gLyB8CiswMDAwMDA2MCAgMzAgMjAgMzEgMjAgMzIgMjAgMzMgMjAgIDM0IDIwIDM1IDIwIDM2IDIwIDM3IDIwICB8MCAxIDIgMyA0IDUgNiA3IHwKKzAwMDAwMDcwICAzOCAyMCAzOSAyMCAzYSAyMCAzYiAyMCAgM2MgMjAgM2QgMjAgM2UgMjAgM2YgMjAgIHw4IDkgOiA7IDwgPSA+ID8gfAorMDAwMDAwODAgIDQwIDIwIDQxIDIwIDQyIDIwIDQzIDIwICA0NCAyMCA0NSAyMCA0NiAyMCA0NyAyMCAgfEAgQSBCIEMgRCBFIEYgRyB8CiswMDAwMDA5MCAgNDggMjAgNDkgMjAgNGEgMjAgNGIgMjAgIDRjIDIwIDRkIDIwIDRlIDIwIDRmIDIwICB8SCBJIEogSyBMIE0gTiBPIHwKKzAwMDAwMGEwICA1MCAyMCA1MSAyMCA1MiAyMCA1MyAyMCAgNTQgMjAgNTUgMjAgNTYgMjAgNTcgMjAgIHxQIFEgUiBTIFQgVSBWIFcgfAorMDAwMDAwYjAgIDU4IDIwIDU5IDIwIDVhIDIwIDViIDIwICA1YyAyMCA1ZCAyMCA1ZSAyMCA1ZiAyMCAgfFggWSBaIFsgXCBdIF4gXyB8CiswMDAwMDBjMCAgNjAgMjAgNjEgMjAgNjIgMjAgNjMgMjAgIDY0IDIwIDY1IDIwIDY2IDIwIDY3IDIwICB8YCBhIGIgYyBkIGUgZiBnIHwKKzAwMDAwMGQwICA2OCAyMCA2OSAyMCA2YSAyMCA2YiAyMCAgNmMgMjAgNmQgMjAgNmUgMjAgNmYgMjAgIHxoIGkgaiBrIGwgbSBuIG8gfAorMDAwMDAwZTAgIDcwIDIwIDcxIDIwIDcyIDIwIDczIDIwICA3NCAyMCA3NSAyMCA3NiAyMCA3NyAyMCAgfHAgcSByIHMgdCB1IHYgdyB8CiswMDAwMDBmMCAgNzggMjAgNzkgMjAgN2EgMjAgN2IgMjAgIDdjIDIwIDdkIDIwIDdlIDIwIDdmIDIwICB8eCB5IHogeyB8IH0gfiAuIHwKKzAwMDAwMTAwICBjMiA4MCAyMCBjMiA4MSAyMCBjMiA4MiAgMjAgYzIgODMgMjAgYzIgODQgMjAgYzIgIHwuLiAuLiAuLiAuLiAuLiAufAorMDAwMDAxMTAgIDg1IDIwIGMyIDg2IDIwIGMyIDg3IDIwICBjMiA4OCAyMCBjMiA4OSAyMCBjMiA4YSAgfC4gLi4gLi4gLi4gLi4gLi58CiswMDAwMDEyMCAgMjAgYzIgOGIgMjAgYzIgOGMgMjAgYzIgIDhkIDIwIGMyIDhlIDIwIGMyIDhmIDIwICB8IC4uIC4uIC4uIC4uIC4uIHwKKzAwMDAwMTMwICBjMiA5MCAyMCBjMiA5MSAyMCBjMiA5MiAgMjAgYzIgOTMgMjAgYzIgOTQgMjAgYzIgIHwuLiAuLiAuLiAuLiAuLiAufAorMDAwMDAxNDAgIDk1IDIwIGMyIDk2IDIwIGMyIDk3IDIwICBjMiA5OCAyMCBjMiA5OSAyMCBjMiA5YSAgfC4gLi4gLi4gLi4gLi4gLi58CiswMDAwMDE1MCAgMjAgYzIgOWIgMjAgYzIgOWMgMjAgYzIgIDlkIDIwIGMyIDllIDIwIGMyIDlmIDIwICB8IC4uIC4uIC4uIC4uIC4uIHwKKzAwMDAwMTYwICBjMiBhMCAyMCBjMiBhMSAyMCBjMiBhMiAgMjAgYzIgYTMgMjAgYzIgYTQgMjAgYzIgIHwuLiAuLiAuLiAuLiAuLiAufAorMDAwMDAxNzAgIGE1IDIwIGMyIGE2IDIwIGMyIGE3IDIwICBjMiBhOCAyMCBjMiBhOSAyMCBjMiBhYSAgfC4gLi4gLi4gLi4gLi4gLi58CiswMDAwMDE4MCAgMjAgYzIgYWIgMjAgYzIgYWMgMjAgYzIgIGFkIDIwIGMyIGFlIDIwIGMyIGFmIDIwICB8IC4uIC4uIC4uIC4uIC4uIHwKKzAwMDAwMTkwICBjMiBiMCAyMCBjMiBiMSAyMCBjMiBiMiAgMjAgYzIgYjMgMjAgYzIgYjQgMjAgYzIgIHwuLiAuLiAuLiAuLiAuLiAufAorMDAwMDAxYTAgIGI1IDIwIGMyIGI2IDIwIGMyIGI3IDIwICBjMiBiOCAyMCBjMiBiOSAyMCBjMiBiYSAgfC4gLi4gLi4gLi4gLi4gLi58CiswMDAwMDFiMCAgMjAgYzIgYmIgMjAgYzIgYmMgMjAgYzIgIGJkIDIwIGMyIGJlIDIwIGMyIGJmIDIwICB8IC4uIC4uIC4uIC4uIC4uIHwKKzAwMDAwMWMwICBjMyA4MCAyMCBjMyA4MSAyMCBjMyA4MiAgMjAgYzMgODMgMjAgYzMgODQgMjAgYzMgIHwuLiAuLiAuLiAuLiAuLiAufAorMDAwMDAxZDAgIDg1IDIwIGMzIDg2IDIwIGMzIDg3IDIwICBjMyA4OCAyMCBjMyA4OSAyMCBjMyA4YSAgfC4gLi4gLi4gLi4gLi4gLi58CiswMDAwMDFlMCAgMjAgYzMgOGIgMjAgYzMgOGMgMjAgYzMgIDhkIDIwIGMzIDhlIDIwIGMzIDhmIDIwICB8IC4uIC4uIC4uIC4uIC4uIHwKKzAwMDAwMWYwICBjMyA5MCAyMCBjMyA5MSAyMCBjMyA5MiAgMjAgYzMgOTMgMjAgYzMgOTQgMjAgYzMgIHwuLiAuLiAuLiAuLiAuLiAufAorMDAwMDAyMDAgIDk1IDIwIGMzIDk2IDIwIGMzIDk3IDIwICBjMyA5OCAyMCBjMyA5OSAyMCBjMyA5YSAgfC4gLi4gLi4gLi4gLi4gLi58CiswMDAwMDIxMCAgMjAgYzMgOWIgMjAgYzMgOWMgMjAgYzMgIDlkIDIwIGMzIDllIDIwIGMzIDlmIDIwICB8IC4uIC4uIC4uIC4uIC4uIHwKKzAwMDAwMjIwICBjMyBhMCAyMCBjMyBhMSAyMCBjMyBhMiAgMjAgYzMgYTMgMjAgYzMgYTQgMjAgYzMgIHwuLiAuLiAuLiAuLiAuLiAufAorMDAwMDAyMzAgIGE1IDIwIGMzIGE2IDIwIGMzIGE3IDIwICBjMyBhOCAyMCBjMyBhOSAyMCBjMyBhYSAgfC4gLi4gLi4gLi4gLi4gLi58CiswMDAwMDI0MCAgMjAgYzMgYWIgMjAgYzMgYWMgMjAgYzMgIGFkIDIwIGMzIGFlIDIwIGMzIGFmIDIwICB8IC4uIC4uIC4uIC4uIC4uIHwKKzAwMDAwMjUwICBjMyBiMCAyMCBjMyBiMSAyMCBjMyBiMiAgMjAgYzMgYjMgMjAgYzMgYjQgMjAgYzMgIHwuLiAuLiAuLiAuLiAuLiAufAorMDAwMDAyNjAgIGI1IDIwIGMzIGI2IDIwIGMzIGI3IDIwICBjMyBiOCAyMCBjMyBiOSAyMCBjMyBiYSAgfC4gLi4gLi4gLi4gLi4gLi58CiswMDAwMDI3MCAgMjAgYzMgYmIgMjAgYzMgYmMgMjAgYzMgIGJkIDIwIGMzIGJlIDIwIGMzIGJmIDIwICB8IC4uIC4uIC4uIC4uIC4uIHwKKzAwMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2Zvcm1hdC1zdHJpbmdzLWVtcHR5LWZvcm1hdCBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvZm9ybWF0LXN0cmluZ3MtZW1wdHktZm9ybWF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkNjA3OTYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2Zvcm1hdC1zdHJpbmdzLWVtcHR5LWZvcm1hdApAQCAtMCwwICsxIEBACisxMQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvZm9ybWF0LXN0cmluZ3MtZW1wdHktZm9ybWF0LkJFIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9mb3JtYXQtc3RyaW5ncy1lbXB0eS1mb3JtYXQuQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmU2NjIxNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvZm9ybWF0LXN0cmluZ3MtZW1wdHktZm9ybWF0LkJFCkBAIC0wLDAgKzEgQEAKKzEwMDAwMDAxMDAwMDAwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfY2hhci0xIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfY2hhci0xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1ODc2NjQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9jaGFyLTEKQEAgLTAsMCArMSw0MSBAQAorG1szMW0wMDAwMDAwG1swbSAgXDAgICAgIDAwMSAgICAgMDAyICAgICAwMDMgICAgIDAwNCAgICAgMDA1ICAgICAwMDYgICAgICBcYSAgICAKKxtbMzFtMDAwMDAxMBtbMG0gIFxiICAgICAgXHQgICAgICBcbiAgICAgIFx2ICAgICAgXGYgICAgICBcciAgICAgMDE2ICAgICAwMTcgICAgCisbWzMxbTAwMDAwMjAbWzBtIDAyMCAgICAgMDIxICAgICAwMjIgICAgIDAyMyAgICAgMDI0ICAgICAwMjUgICAgIDAyNiAgICAgMDI3ICAgIAorG1szMW0wMDAwMDMwG1swbSAwMzAgICAgIDAzMSAgICAgMDMyICAgICAwMzMgICAgIDAzNCAgICAgMDM1ICAgICAwMzYgICAgIDAzNyAgICAKKxtbMzFtMDAwMDA0MBtbMG0gICAgICAgICAgICEgICAgICAgIiAgICAgICAjICAgICAgICQgICAgICAgJSAgICAgICAmICAgICAgICcgICAgCisbWzMxbTAwMDAwNTAbWzBtICAgKCAgICAgICApICAgICAgICogICAgICAgKyAgICAgICAsICAgICAbWzMybSAgLRtbMG0gICAgICAgLiAgICAgICAvICAgIAorG1szMW0wMDAwMDYwG1swbSAgIDAgICAgICAgMSAgICAgICAyICAgICAgIDMgICAgICAgNCAgICAgICA1ICAgICAgIDYgICAgICAgNyAgICAKKxtbMzFtMDAwMDA3MBtbMG0gICA4ICAgICAgIDkgICAgICAgOiAgICAgICA7ICAgICAgIDwgICAgICAgPSAgICAgICA+ICAgICAgID8gICAgCisbWzMxbTAwMDAwODAbWzBtICAgQCAgICAgICBBICAgICAgIEIgICAgICAgQyAgICAgICBEICAgICAgIEUgICAgICAgRiAgICAgICBHICAgIAorG1szMW0wMDAwMDkwG1swbSAgIEggICAgIBtbMzJtICBJG1swbSAgICAgICBKICAgICAgIEsgICAgIBtbMzJtICBMG1swbSAgICAgICBNICAgICAbWzMybSAgThtbMG0gICAgICAgTyAgICAKKxtbMzFtMDAwMDBhMBtbMG0gICBQICAgICAgIFEgICAgICAgUiAgICAgICBTICAgICAbWzMybSAgVBtbMG0gICAgIBtbMzJtICBVG1swbSAgICAgICBWICAgICAgIFcgICAgCisbWzMxbTAwMDAwYjAbWzBtIBtbMzJtICBYG1swbSAgICAgICBZICAgICAgIFogICAgICAgWyAgICAgICBcICAgICAgIF0gICAgICAgXiAgICAgICBfICAgIAorG1szMW0wMDAwMGMwG1swbSAgIGAgICAgICAgYSAgICAgICBiICAgICAgIGMgICAgICAgZCAgICAgICBlICAgICAgIGYgICAgICAgZyAgICAKKxtbMzFtMDAwMDBkMBtbMG0gICBoICAgICAgIGkgICAgICAgaiAgICAgICBrICAgICAgIGwgICAgICAgbSAgICAgICBuICAgICAgIG8gICAgCisbWzMxbTAwMDAwZTAbWzBtICAgcCAgICAgICBxICAgICAgIHIgICAgICAgcyAgICAgICB0ICAgICAgIHUgICAgICAgdiAgICAgICB3ICAgIAorG1szMW0wMDAwMGYwG1swbSAgIHggICAgICAgeSAgICAgICB6ICAgICAgIHsgICAgICAgfCAgICAgICB9ICAgICAgIH4gICAgIDE3NyAgICAKKxtbMzFtMDAwMDEwMBtbMG0gMzAyIDIwMCAgICAgMzAyIDIwMSAgICAgMzAyIDIwMiAgICAgMzAyIDIwMyAgICAgMzAyIDIwNCAgICAgMzAyCisbWzMxbTAwMDAxMTAbWzBtIDIwNSAgICAgMzAyIDIwNiAgICAgMzAyIDIwNyAgICAgMzAyIDIxMCAgICAgMzAyIDIxMSAgICAgMzAyIDIxMgorG1szMW0wMDAwMTIwG1swbSAgICAgMzAyIDIxMyAgICAgMzAyIDIxNCAgICAgMzAyIDIxNSAgICAgMzAyIDIxNiAgICAgMzAyIDIxNyAgICAKKxtbMzFtMDAwMDEzMBtbMG0gMzAyIDIyMCAgICAgMzAyIDIyMSAgICAgMzAyIDIyMiAgICAgMzAyIDIyMyAgICAgMzAyIDIyNCAgICAgMzAyCisbWzMxbTAwMDAxNDAbWzBtIDIyNSAgICAgMzAyIDIyNiAgICAgMzAyIDIyNyAgICAgMzAyIDIzMCAgICAgMzAyIDIzMSAgICAgMzAyIDIzMgorG1szMW0wMDAwMTUwG1swbSAgICAgMzAyIDIzMyAgICAgMzAyIDIzNCAgICAgMzAyIDIzNSAgICAgMzAyIDIzNiAgICAgMzAyIDIzNyAgICAKKxtbMzFtMDAwMDE2MBtbMG0gMzAyIDI0MCAgICAgMzAyIDI0MSAgICAgMzAyIDI0MiAgICAgMzAyIDI0MyAgICAgMzAyIDI0NCAgICAgMzAyCisbWzMxbTAwMDAxNzAbWzBtIDI0NSAgICAgMzAyIDI0NiAgICAgMzAyIDI0NyAgICAgMzAyIDI1MCAgICAgMzAyIDI1MSAgICAgMzAyIDI1MgorG1szMW0wMDAwMTgwG1swbSAgICAgMzAyIDI1MyAgICAgMzAyIDI1NCAgICAgMzAyIDI1NSAgICAgMzAyIDI1NiAgICAgMzAyIDI1NyAgICAKKxtbMzFtMDAwMDE5MBtbMG0gMzAyIDI2MCAgICAgMzAyIDI2MSAgICAgMzAyIDI2MiAgICAgMzAyIDI2MyAgICAgMzAyIDI2NCAgICAgMzAyCisbWzMxbTAwMDAxYTAbWzBtIDI2NSAgICAgMzAyIDI2NiAgICAgMzAyIDI2NyAgICAgMzAyIDI3MCAgICAgMzAyIDI3MSAgICAgMzAyIDI3MgorG1szMW0wMDAwMWIwG1swbSAgICAgMzAyIDI3MyAgICAgMzAyIDI3NCAgICAgMzAyIDI3NSAgICAgMzAyIDI3NiAgICAgMzAyIDI3NyAgICAKKxtbMzFtMDAwMDFjMBtbMG0gMzAzIDIwMCAgICAgMzAzIDIwMSAgICAgMzAzIDIwMiAgICAgMzAzIDIwMyAgICAgMzAzIDIwNCAgICAgMzAzCisbWzMxbTAwMDAxZDAbWzBtIDIwNSAgICAgMzAzIDIwNiAgICAgMzAzIDIwNyAgICAgMzAzIDIxMCAgICAgMzAzIDIxMSAgICAgMzAzIDIxMgorG1szMW0wMDAwMWUwG1swbSAgICAgMzAzIDIxMyAgICAgMzAzIDIxNCAgICAgMzAzIDIxNSAgICAgMzAzIDIxNiAgICAgMzAzIDIxNyAgICAKKxtbMzFtMDAwMDFmMBtbMG0gMzAzIDIyMCAgICAgMzAzIDIyMSAgICAgMzAzIDIyMiAgICAgMzAzIDIyMyAgICAgMzAzIDIyNCAgICAgMzAzCisbWzMxbTAwMDAyMDAbWzBtIDIyNSAgICAgMzAzIDIyNiAgICAgMzAzIDIyNyAgICAgMzAzIDIzMCAgICAgMzAzIDIzMSAgICAgMzAzIDIzMgorG1szMW0wMDAwMjEwG1swbSAgICAgMzAzIDIzMyAgICAgMzAzIDIzNCAgICAgMzAzIDIzNSAgICAgMzAzIDIzNiAgICAgMzAzIDIzNyAgICAKKxtbMzFtMDAwMDIyMBtbMG0gMzAzIDI0MCAgICAgMzAzIDI0MSAgICAgMzAzIDI0MiAgICAgMzAzIDI0MyAgICAgMzAzIDI0NCAgICAgMzAzCisbWzMxbTAwMDAyMzAbWzBtIDI0NSAgICAgMzAzIDI0NiAgICAgMzAzIDI0NyAgICAgMzAzIDI1MCAgICAgMzAzIDI1MSAgICAgMzAzIDI1MgorG1szMW0wMDAwMjQwG1swbSAgICAgMzAzIDI1MyAgICAgMzAzIDI1NCAgICAgMzAzIDI1NSAgICAgMzAzIDI1NiAgICAgMzAzIDI1NyAgICAKKxtbMzFtMDAwMDI1MBtbMG0gMzAzIDI2MCAgICAgMzAzIDI2MSAgICAgMzAzIDI2MiAgICAgMzAzIDI2MyAgICAgMzAzIDI2NCAgICAgMzAzCisbWzMxbTAwMDAyNjAbWzBtIDI2NSAgICAgMzAzIDI2NiAgICAgMzAzIDI2NyAgICAgMzAzIDI3MCAgICAgMzAzIDI3MSAgICAgMzAzIDI3MgorG1szMW0wMDAwMjcwG1swbSAgICAgMzAzIDI3MyAgICAgMzAzIDI3NCAgICAgMzAzIDI3NSAgICAgMzAzIDI3NiAgICAgMzAzIDI3NyAgICAKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX2NoYXItMiBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX2NoYXItMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjJhZDM1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfY2hhci0yCkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAgIFwwICAgICAwMDEgICAgIDAwMiAgICAgMDAzICAgICAwMDQgICAgIDAwNSAgICAgMDA2ICAgICAgXGEgICAgCiswMDAwMDEwICBcYiAgICAgIFx0ICAgICAgXG4gICAgICBcdiAgICAgIFxmICAgICAgXHIgICAgIDAxNiAgICAgMDE3ICAgIAorMDAwMDAyMCAwMjAgICAgIDAyMSAgICAgMDIyICAgICAwMjMgICAgIDAyNCAgICAgMDI1ICAgICAwMjYgICAgIDAyNyAgICAKKzAwMDAwMzAgMDMwICAgICAwMzEgICAgIDAzMiAgICAgMDMzICAgICAwMzQgICAgIDAzNSAgICAgMDM2ICAgICAwMzcgICAgCiswMDAwMDQwICAgICAgICAgICAhICAgICAgICIgICAgICAgIyAgICAgICAkICAgICAgICUgICAgICAgJiAgICAgICAnICAgIAorMDAwMDA1MCAgICggICAgICAgKSAgICAgICAqICAgICAgICsgICAgICAgLCAgICAgICAtICAgICAgIC4gICAgICAgLyAgICAKKzAwMDAwNjAgICAwICAgICAgIDEgICAgICAgMiAgICAgICAzICAgICAgIDQgICAgICAgNSAgICAgICA2ICAgICAgIDcgICAgCiswMDAwMDcwICAgOCAgICAgICA5ICAgICAgIDogICAgICAgOyAgICAgICA8ICAgICAgID0gICAgICAgPiAgICAgICA/ICAgIAorMDAwMDA4MCAgIEAgICAgICAgQSAgICAgICBCICAgICAgIEMgICAgICAgRCAgICAgICBFICAgICAgIEYgICAgICAgRyAgICAKKzAwMDAwOTAgICBIICAgICAgIEkgICAgICAgSiAgICAgICBLICAgICAgIEwgICAgICAgTSAgICAgICBOICAgICAgIE8gICAgCiswMDAwMGEwICAgUCAgICAgICBRICAgICAgIFIgICAgICAgUyAgICAgICBUICAgICAgIFUgICAgICAgViAgICAgICBXICAgIAorMDAwMDBiMCAgIFggICAgICAgWSAgICAgICBaICAgICAgIFsgICAgICAgXCAgICAgICBdICAgICAgIF4gICAgICAgXyAgICAKKzAwMDAwYzAgICBgICAgICAgIGEgICAgICAgYiAgICAgICBjICAgICAgIGQgICAgICAgZSAgICAgICBmICAgICAgIGcgICAgCiswMDAwMGQwICAgaCAgICAgICBpICAgICAgIGogICAgICAgayAgICAgICBsICAgICAgIG0gICAgICAgbiAgICAgICBvICAgIAorG1szMW0wMDAwMGUwG1swbSAgIHAgICAgICAgcSAgICAgICByICAgICAgIHMgICAgICAgdCAgICAgICB1ICAgICAgIHYgICAgICAgdyAgICAKKzAwMDAwZjAgICB4ICAgICAgIHkgICAgICAgeiAgICAgICB7ICAgICAgIHwgICAgICAgfSAgICAgICB+ICAgICAxNzcgICAgCiswMDAwMTAwIDMwMiAyMDAgICAgIDMwMiAyMDEgICAgIDMwMiAyMDIgICAgIDMwMiAyMDMgICAgIDMwMiAyMDQgICAgIDMwMgorMDAwMDExMCAyMDUgICAgIDMwMiAyMDYgICAgIDMwMiAyMDcgICAgIDMwMiAyMTAgICAgIDMwMiAyMTEgICAgIDMwMiAyMTIKKzAwMDAxMjAgICAgIDMwMiAyMTMgICAgIDMwMiAyMTQgICAgIDMwMiAyMTUgICAgIDMwMiAyMTYgICAgIDMwMiAyMTcgICAgCiswMDAwMTMwIDMwMiAyMjAgICAgIDMwMiAyMjEgICAgIDMwMiAyMjIgICAgIDMwMiAyMjMgICAgIDMwMiAyMjQgICAgIDMwMgorMDAwMDE0MCAyMjUgICAgIDMwMiAyMjYgICAgIDMwMiAyMjcgICAgIDMwMiAyMzAgICAgIDMwMiAyMzEgICAgIDMwMiAyMzIKKzAwMDAxNTAgICAgIDMwMiAyMzMgICAgIDMwMiAyMzQgICAgIDMwMiAyMzUgICAgIDMwMiAyMzYgICAgIDMwMiAyMzcgICAgCiswMDAwMTYwIDMwMiAyNDAgICAgIDMwMiAyNDEgICAgIDMwMiAyNDIgICAgIDMwMiAyNDMgICAgIDMwMiAyNDQgICAgIDMwMgorMDAwMDE3MCAyNDUgICAgIDMwMiAyNDYgICAgIDMwMiAyNDcgICAgIDMwMiAyNTAgICAgIDMwMiAyNTEgICAgIDMwMiAyNTIKKzAwMDAxODAgICAgIDMwMiAyNTMgICAgIDMwMiAyNTQgICAgIDMwMiAyNTUgICAgIDMwMiAyNTYgICAgIDMwMiAyNTcgICAgCiswMDAwMTkwIDMwMiAyNjAgICAgIDMwMiAyNjEgICAgIDMwMiAyNjIgICAgIDMwMiAyNjMgICAgIDMwMiAyNjQgICAgIDMwMgorMDAwMDFhMCAyNjUgICAgIDMwMiAyNjYgICAgIDMwMiAyNjcgICAgIDMwMiAyNzAgICAgIDMwMiAyNzEgICAgIDMwMiAyNzIKKzAwMDAxYjAgICAgIDMwMiAyNzMgICAgIDMwMiAyNzQgICAgIDMwMiAyNzUgICAgIDMwMiAyNzYgICAgIDMwMiAyNzcgICAgCiswMDAwMWMwIDMwMyAyMDAgICAgIDMwMyAyMDEgICAgIDMwMyAyMDIgICAgIDMwMyAyMDMgICAgIDMwMyAyMDQgICAgIDMwMworMDAwMDFkMCAyMDUgICAgIDMwMyAyMDYgICAgIDMwMyAyMDcgICAgIDMwMyAyMTAgICAgIDMwMyAyMTEgICAgIDMwMyAyMTIKKzAwMDAxZTAgICAgIDMwMyAyMTMgICAgIDMwMyAyMTQgICAgIDMwMyAyMTUgICAgIDMwMyAyMTYgICAgIDMwMyAyMTcgICAgCiswMDAwMWYwIDMwMyAyMjAgICAgIDMwMyAyMjEgICAgIDMwMyAyMjIgICAgIDMwMyAyMjMgICAgIDMwMyAyMjQgICAgIDMwMworMDAwMDIwMCAyMjUgICAgIDMwMyAyMjYgICAgIDMwMyAyMjcgICAgIDMwMyAyMzAgICAgIDMwMyAyMzEgICAgIDMwMyAyMzIKKzAwMDAyMTAgICAgIDMwMyAyMzMgICAgIDMwMyAyMzQgICAgIDMwMyAyMzUgICAgIDMwMyAyMzYgICAgIDMwMyAyMzcgICAgCiswMDAwMjIwIDMwMyAyNDAgICAgIDMwMyAyNDEgICAgIDMwMyAyNDIgICAgIDMwMyAyNDMgICAgIDMwMyAyNDQgICAgIDMwMworMDAwMDIzMCAyNDUgICAgIDMwMyAyNDYgICAgIDMwMyAyNDcgICAgIDMwMyAyNTAgICAgIDMwMyAyNTEgICAgIDMwMyAyNTIKKzAwMDAyNDAgICAgIDMwMyAyNTMgICAgIDMwMyAyNTQgICAgIDMwMyAyNTUgICAgIDMwMyAyNTYgICAgIDMwMyAyNTcgICAgCiswMDAwMjUwIDMwMyAyNjAgICAgIDMwMyAyNjEgICAgIDMwMyAyNjIgICAgIDMwMyAyNjMgICAgIDMwMyAyNjQgICAgIDMwMworMDAwMDI2MCAyNjUgICAgIDMwMyAyNjYgICAgIDMwMyAyNjcgICAgIDMwMyAyNzAgICAgIDMwMyAyNzEgICAgIDMwMyAyNzIKKzAwMDAyNzAgICAgIDMwMyAyNzMgICAgIDMwMyAyNzQgICAgIDMwMyAyNzUgICAgIDMwMyAyNzYgICAgIDMwMyAyNzcgICAgCiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9jaGFyLTMgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9jaGFyLTMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTU5NWNlZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX2NoYXItMwpAQCAtMCwwICsxLDQxIEBACiswMDAwMDAwICBcMCAgICAgMDAxICAgICAwMDIgICAgIDAwMyAgICAgMDA0ICAgICAwMDUgICAgIDAwNiAgICAgIFxhICAgIAorMDAwMDAxMCAgXGIgICAgICBcdCAgICAgIFxuICAgICAgXHYgICAgICBcZiAgICAgIFxyICAgICAwMTYgICAgIDAxNyAgICAKKzAwMDAwMjAgMDIwICAgICAwMjEgICAgIDAyMiAgICAgMDIzICAgICAwMjQgICAgIDAyNSAgICAgMDI2ICAgICAwMjcgICAgCiswMDAwMDMwIDAzMCAgICAgMDMxICAgICAwMzIgICAgIDAzMyAgICAgMDM0ICAgICAwMzUgICAgIDAzNiAgICAgMDM3ICAgIAorMDAwMDA0MCAgICAgICAgICAgISAgICAgICAiICAgICAgICMgICAgICAgJCAgICAgICAlICAgICAgICYgICAgICAgJyAgICAKKzAwMDAwNTAgICAoICAgICAgICkgICAgICAgKiAgICAgICArICAgICAgICwgICAgICAgLSAgICAgICAuICAgICAgIC8gICAgCiswMDAwMDYwICAgMCAgICAgICAxICAgICAgIDIgICAgICAgMyAgICAgICA0ICAgICAgIDUgICAgICAgNiAgICAgICA3ICAgIAorMDAwMDA3MCAgIDggICAgICAgOSAgICAgG1szMW0gIDobWzBtICAgICAgIDsgICAgICAgPCAgICAgICA9ICAgICAgID4gICAgICAgPyAgICAKKzAwMDAwODAgG1szMW0gIEAbWzBtICAgICAgIEEgICAgICAgQiAgICAgICBDICAgICAgIEQgICAgICAgRSAgICAgICBGICAgICAgIEcgICAgCiswMDAwMDkwICAgSCAgICAgICBJICAgICAgIEogICAgICAgSyAgICAgICBMICAgICAgIE0gICAgICAgTiAgICAgICBPICAgIAorMDAwMDBhMCAgIFAgICAgICAgUSAgICAgICBSICAgICAgIFMgICAgICAgVCAgICAgICBVICAgICAgIFYgICAgICAgVyAgICAKKzAwMDAwYjAgICBYICAgICAgIFkgICAgICAgWiAgICAgICBbICAgICAgIFwgICAgICAgXSAgICAgICBeICAgICAgIF8gICAgCiswMDAwMGMwICAgYCAgICAgICBhICAgICAgIGIgICAgICAgYyAgICAgICBkICAgICAgIGUgICAgICAgZiAgICAgICBnICAgIAorMDAwMDBkMCAgIGggICAgICAgaSAgICAgICBqICAgICAgIGsgICAgICAgbCAgICAgICBtICAgICAgIG4gICAgICAgbyAgICAKKzAwMDAwZTAgICBwICAgICAgIHEgICAgICAgciAgICAgICBzICAgICAgIHQgICAgICAgdSAgICAgICB2ICAgICAgIHcgICAgCiswMDAwMGYwICAgeCAgICAgICB5ICAgICAgIHogICAgICAgeyAgICAgICB8ICAgICAgIH0gICAgICAgfiAgICAgMTc3ICAgIAorMDAwMDEwMCAzMDIgMjAwICAgICAzMDIgMjAxICAgICAzMDIgMjAyICAgICAzMDIgMjAzICAgICAzMDIgMjA0ICAgICAzMDIKKzAwMDAxMTAgMjA1ICAgICAzMDIgMjA2ICAgICAzMDIgMjA3ICAgICAzMDIgMjEwICAgICAzMDIgMjExICAgICAzMDIgMjEyCiswMDAwMTIwICAgICAzMDIgMjEzICAgICAzMDIgMjE0ICAgICAzMDIgMjE1ICAgICAzMDIgMjE2ICAgICAzMDIgMjE3ICAgIAorMDAwMDEzMCAzMDIgMjIwICAgICAzMDIgMjIxICAgICAzMDIgMjIyICAgICAzMDIgMjIzICAgICAzMDIgMjI0ICAgICAzMDIKKzAwMDAxNDAgMjI1ICAgICAzMDIgMjI2ICAgICAzMDIgMjI3ICAgICAzMDIgMjMwICAgICAzMDIgMjMxICAgICAzMDIgMjMyCiswMDAwMTUwICAgICAzMDIgMjMzICAgICAzMDIgMjM0ICAgICAzMDIgMjM1ICAgICAzMDIgMjM2ICAgICAzMDIgMjM3ICAgIAorMDAwMDE2MCAzMDIgMjQwICAgICAzMDIgMjQxICAgICAzMDIgMjQyICAgICAzMDIgMjQzICAgICAzMDIgMjQ0ICAgICAzMDIKKzAwMDAxNzAgMjQ1ICAgICAzMDIgMjQ2ICAgICAzMDIgMjQ3ICAgICAzMDIgMjUwICAgICAzMDIgMjUxICAgICAzMDIgMjUyCiswMDAwMTgwICAgICAzMDIgMjUzICAgICAzMDIgMjU0ICAgICAzMDIgMjU1ICAgICAzMDIgMjU2ICAgICAzMDIgMjU3ICAgIAorMDAwMDE5MCAzMDIgMjYwICAgICAzMDIgMjYxICAgICAzMDIgMjYyICAgICAzMDIgMjYzICAgICAzMDIgMjY0ICAgICAzMDIKKzAwMDAxYTAgMjY1ICAgICAzMDIgMjY2ICAgICAzMDIgMjY3ICAgICAzMDIgMjcwICAgICAzMDIgMjcxICAgICAzMDIgMjcyCiswMDAwMWIwICAgICAzMDIgMjczICAgICAzMDIgMjc0ICAgICAzMDIgMjc1ICAgICAzMDIgMjc2ICAgICAzMDIgMjc3ICAgIAorMDAwMDFjMCAzMDMgMjAwICAgICAzMDMgMjAxICAgICAzMDMgMjAyICAgICAzMDMgMjAzICAgICAzMDMgMjA0ICAgICAzMDMKKzAwMDAxZDAgMjA1ICAgICAzMDMgMjA2ICAgICAzMDMgMjA3ICAgICAzMDMgMjEwICAgICAzMDMgMjExICAgICAzMDMgMjEyCiswMDAwMWUwICAgICAzMDMgMjEzICAgICAzMDMgMjE0ICAgICAzMDMgMjE1ICAgICAzMDMgMjE2ICAgICAzMDMgMjE3ICAgIAorMDAwMDFmMCAzMDMgMjIwICAgICAzMDMgMjIxICAgICAzMDMgMjIyICAgICAzMDMgMjIzICAgICAzMDMgMjI0ICAgICAzMDMKKzAwMDAyMDAgMjI1ICAgICAzMDMgMjI2ICAgICAzMDMgMjI3ICAgICAzMDMgMjMwICAgICAzMDMgMjMxICAgICAzMDMgMjMyCiswMDAwMjEwICAgICAzMDMgMjMzICAgICAzMDMgMjM0ICAgICAzMDMgMjM1ICAgICAzMDMgMjM2ICAgICAzMDMgMjM3ICAgIAorMDAwMDIyMCAzMDMgMjQwICAgICAzMDMgMjQxICAgICAzMDMgMjQyICAgICAzMDMgMjQzICAgICAzMDMgMjQ0ICAgICAzMDMKKzAwMDAyMzAgMjQ1ICAgICAzMDMgMjQ2ICAgICAzMDMgMjQ3ICAgICAzMDMgMjUwICAgICAzMDMgMjUxICAgICAzMDMgMjUyCiswMDAwMjQwICAgICAzMDMgMjUzICAgICAzMDMgMjU0ICAgICAzMDMgMjU1ICAgICAzMDMgMjU2ICAgICAzMDMgMjU3ICAgIAorMDAwMDI1MCAzMDMgMjYwICAgICAzMDMgMjYxICAgICAzMDMgMjYyICAgICAzMDMgMjYzICAgICAzMDMgMjY0ICAgICAzMDMKKzAwMDAyNjAgMjY1ICAgICAzMDMgMjY2ICAgICAzMDMgMjY3ICAgICAzMDMgMjcwICAgICAzMDMgMjcxICAgICAzMDMgMjcyCiswMDAwMjcwICAgICAzMDMgMjczICAgICAzMDMgMjc0ICAgICAzMDMgMjc1ICAgICAzMDMgMjc2ICAgICAzMDMgMjc3ICAgIAorMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtMSBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWY4Y2E2OAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTEKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMCAwMDAgMDQwIDAwMSAwNDAgMDAyIDA0MCAwMDMgMDQwIDAwNCAwNDAgMDA1IDA0MCAwMDYgMDQwIDAwNyAwNDAKKzAwMDAwMTAgMDEwIDA0MCAwMTEgMDQwIDAxMiAwNDAgMDEzIDA0MCAwMTQgMDQwIDAxNSAwNDAgMDE2IDA0MCAwMTcgMDQwCiswMDAwMDIwIDAyMCAwNDAgMDIxIDA0MCAwMjIgMDQwIDAyMyAwNDAgMDI0IDA0MCAwMjUgMDQwIDAyNiAwNDAgMDI3IDA0MAorMDAwMDAzMCAwMzAgMDQwIDAzMSAwNDAgMDMyIDA0MCAwMzMgMDQwIDAzNCAwNDAgMDM1IDA0MCAwMzYgMDQwIDAzNyAwNDAKKzAwMDAwNDAgMDQwIDA0MCAwNDEgMDQwIDA0MiAwNDAgMDQzIDA0MCAwNDQgMDQwIDA0NSAwNDAgMDQ2IDA0MCAwNDcgMDQwCiswMDAwMDUwIDA1MCAwNDAgMDUxIDA0MCAwNTIgMDQwIDA1MyAwNDAgMDU0IDA0MCAwNTUgMDQwIDA1NiAwNDAgMDU3IDA0MAorMDAwMDA2MCAwNjAgMDQwIDA2MSAwNDAgMDYyIDA0MCAwNjMgMDQwIDA2NCAwNDAgMDY1IDA0MCAwNjYgMDQwIDA2NyAwNDAKKzAwMDAwNzAgMDcwIDA0MCAwNzEgMDQwIDA3MiAwNDAgMDczIDA0MCAwNzQgMDQwIDA3NSAwNDAgMDc2IDA0MCAwNzcgMDQwCiswMDAwMDgwIDEwMCAwNDAgG1szMW0xMDEbWzBtIDA0MCAxMDIgMDQwIDEwMyAwNDAgMTA0IDA0MCAxMDUgMDQwIDEwNiAwNDAgMTA3IDA0MAorMDAwMDA5MCAxMTAgMDQwIDExMSAwNDAgMTEyIDA0MCAxMTMgMDQwIDExNCAwNDAgMTE1IDA0MCAxMTYgMDQwIDExNyAwNDAKKzAwMDAwYTAgMTIwIDA0MCAxMjEgMDQwIDEyMiAwNDAgMTIzIDA0MCAxMjQgMDQwIDEyNSAwNDAgMTI2IDA0MCAxMjcgMDQwCiswMDAwMGIwIDEzMCAwNDAgMTMxIDA0MCAxMzIgMDQwIDEzMyAwNDAgMTM0IDA0MCAxMzUgMDQwIDEzNiAwNDAgMTM3IDA0MAorMDAwMDBjMCAxNDAgMDQwIBtbMzFtMTQxG1swbSAwNDAgMTQyIDA0MCAxNDMgMDQwIDE0NCAwNDAgMTQ1IDA0MCAxNDYgMDQwIDE0NyAwNDAKKzAwMDAwZDAgMTUwIDA0MCAxNTEgMDQwIDE1MiAwNDAgMTUzIDA0MCAxNTQgMDQwIDE1NSAwNDAgMTU2IDA0MCAxNTcgMDQwCiswMDAwMGUwIDE2MCAwNDAgMTYxIDA0MCAxNjIgMDQwIDE2MyAwNDAgMTY0IDA0MCAxNjUgMDQwIDE2NiAwNDAgMTY3IDA0MAorMDAwMDBmMCAxNzAgMDQwIDE3MSAwNDAgMTcyIDA0MCAxNzMgMDQwIDE3NCAwNDAgMTc1IDA0MCAxNzYgMDQwIDE3NyAwNDAKKzAwMDAxMDAgMzAyIDIwMCAwNDAgMzAyIDIwMSAwNDAgMzAyIDIwMiAwNDAgMzAyIDIwMyAwNDAgMzAyIDIwNCAwNDAgMzAyCiswMDAwMTEwIDIwNSAwNDAgMzAyIDIwNiAwNDAgMzAyIDIwNyAwNDAgMzAyIDIxMCAwNDAgMzAyIDIxMSAwNDAgMzAyIDIxMgorMDAwMDEyMCAwNDAgMzAyIDIxMyAwNDAgMzAyIDIxNCAwNDAgMzAyIDIxNSAwNDAgMzAyIDIxNiAwNDAgMzAyIDIxNyAwNDAKKzAwMDAxMzAgMzAyIDIyMCAwNDAgMzAyIDIyMSAwNDAgMzAyIDIyMiAwNDAgMzAyIDIyMyAwNDAgMzAyIDIyNCAwNDAgMzAyCiswMDAwMTQwIDIyNSAwNDAgMzAyIDIyNiAwNDAgMzAyIDIyNyAwNDAgMzAyIDIzMCAwNDAgMzAyIDIzMSAwNDAgMzAyIDIzMgorMDAwMDE1MCAwNDAgMzAyIDIzMyAwNDAgMzAyIDIzNCAwNDAgMzAyIDIzNSAwNDAgMzAyIDIzNiAwNDAgMzAyIDIzNyAwNDAKKzAwMDAxNjAgMzAyIDI0MCAwNDAgMzAyIDI0MSAwNDAgMzAyIDI0MiAwNDAgMzAyIDI0MyAwNDAgMzAyIDI0NCAwNDAgMzAyCiswMDAwMTcwIDI0NSAwNDAgMzAyIDI0NiAwNDAgMzAyIDI0NyAwNDAgMzAyIDI1MCAwNDAgMzAyIDI1MSAwNDAgMzAyIDI1MgorMDAwMDE4MCAwNDAgMzAyIDI1MyAwNDAgMzAyIDI1NCAwNDAgMzAyIDI1NSAwNDAgMzAyIDI1NiAwNDAgMzAyIDI1NyAwNDAKKzAwMDAxOTAgMzAyIDI2MCAwNDAgMzAyIDI2MSAwNDAgMzAyIDI2MiAwNDAgMzAyIDI2MyAwNDAgMzAyIDI2NCAwNDAgMzAyCiswMDAwMWEwIDI2NSAwNDAgMzAyIDI2NiAwNDAgMzAyIDI2NyAwNDAgMzAyIDI3MCAwNDAgMzAyIDI3MSAwNDAgMzAyIDI3MgorMDAwMDFiMCAwNDAgMzAyIDI3MyAwNDAgMzAyIDI3NCAwNDAgMzAyIDI3NSAwNDAgMzAyIDI3NiAwNDAgMzAyIDI3NyAwNDAKKzAwMDAxYzAgMzAzIDIwMCAwNDAgMzAzIDIwMSAwNDAgMzAzIDIwMiAwNDAgMzAzIDIwMyAwNDAgMzAzIDIwNCAwNDAgMzAzCiswMDAwMWQwIDIwNSAwNDAgMzAzIDIwNiAwNDAgMzAzIDIwNyAwNDAgMzAzIDIxMCAwNDAgMzAzIDIxMSAwNDAgMzAzIDIxMgorMDAwMDFlMCAwNDAgMzAzIDIxMyAwNDAgMzAzIDIxNCAwNDAgMzAzIDIxNSAwNDAgMzAzIDIxNiAwNDAgMzAzIDIxNyAwNDAKKzAwMDAxZjAgMzAzIDIyMCAwNDAgMzAzIDIyMSAwNDAgMzAzIDIyMiAwNDAgMzAzIDIyMyAwNDAgMzAzIDIyNCAwNDAgMzAzCiswMDAwMjAwIDIyNSAwNDAgMzAzIDIyNiAwNDAgMzAzIDIyNyAwNDAgMzAzIDIzMCAwNDAgMzAzIDIzMSAwNDAgMzAzIDIzMgorMDAwMDIxMCAwNDAgMzAzIDIzMyAwNDAgMzAzIDIzNCAwNDAgMzAzIDIzNSAwNDAgMzAzIDIzNiAwNDAgMzAzIDIzNyAwNDAKKzAwMDAyMjAgMzAzIDI0MCAwNDAgMzAzIDI0MSAwNDAgMzAzIDI0MiAwNDAgMzAzIDI0MyAwNDAgMzAzIDI0NCAwNDAgMzAzCiswMDAwMjMwIDI0NSAwNDAgMzAzIDI0NiAwNDAgMzAzIDI0NyAwNDAgMzAzIDI1MCAwNDAgMzAzIDI1MSAwNDAgMzAzIDI1MgorMDAwMDI0MCAwNDAgMzAzIDI1MyAwNDAgMzAzIDI1NCAwNDAgMzAzIDI1NSAwNDAgMzAzIDI1NiAwNDAgMzAzIDI1NyAwNDAKKzAwMDAyNTAgMzAzIDI2MCAwNDAgMzAzIDI2MSAwNDAgMzAzIDI2MiAwNDAgMzAzIDI2MyAwNDAgMzAzIDI2NCAwNDAgMzAzCiswMDAwMjYwIDI2NSAwNDAgMzAzIDI2NiAwNDAgMzAzIDI2NyAwNDAgMzAzIDI3MCAwNDAgMzAzIDI3MSAwNDAgMzAzIDI3MgorMDAwMDI3MCAwNDAgMzAzIDI3MyAwNDAgMzAzIDI3NCAwNDAgMzAzIDI3NSAwNDAgMzAzIDI3NiAwNDAgMzAzIDI3NyAwNDAKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTIgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC0yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmOGNhNjgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC0yCkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAgMDAwIDA0MCAwMDEgMDQwIDAwMiAwNDAgMDAzIDA0MCAwMDQgMDQwIDAwNSAwNDAgMDA2IDA0MCAwMDcgMDQwCiswMDAwMDEwIDAxMCAwNDAgMDExIDA0MCAwMTIgMDQwIDAxMyAwNDAgMDE0IDA0MCAwMTUgMDQwIDAxNiAwNDAgMDE3IDA0MAorMDAwMDAyMCAwMjAgMDQwIDAyMSAwNDAgMDIyIDA0MCAwMjMgMDQwIDAyNCAwNDAgMDI1IDA0MCAwMjYgMDQwIDAyNyAwNDAKKzAwMDAwMzAgMDMwIDA0MCAwMzEgMDQwIDAzMiAwNDAgMDMzIDA0MCAwMzQgMDQwIDAzNSAwNDAgMDM2IDA0MCAwMzcgMDQwCiswMDAwMDQwIDA0MCAwNDAgMDQxIDA0MCAwNDIgMDQwIDA0MyAwNDAgMDQ0IDA0MCAwNDUgMDQwIDA0NiAwNDAgMDQ3IDA0MAorMDAwMDA1MCAwNTAgMDQwIDA1MSAwNDAgMDUyIDA0MCAwNTMgMDQwIDA1NCAwNDAgMDU1IDA0MCAwNTYgMDQwIDA1NyAwNDAKKzAwMDAwNjAgMDYwIDA0MCAwNjEgMDQwIDA2MiAwNDAgMDYzIDA0MCAwNjQgMDQwIDA2NSAwNDAgMDY2IDA0MCAwNjcgMDQwCiswMDAwMDcwIDA3MCAwNDAgMDcxIDA0MCAwNzIgMDQwIDA3MyAwNDAgMDc0IDA0MCAwNzUgMDQwIDA3NiAwNDAgMDc3IDA0MAorMDAwMDA4MCAxMDAgMDQwIBtbMzFtMTAxG1swbSAwNDAgMTAyIDA0MCAxMDMgMDQwIDEwNCAwNDAgMTA1IDA0MCAxMDYgMDQwIDEwNyAwNDAKKzAwMDAwOTAgMTEwIDA0MCAxMTEgMDQwIDExMiAwNDAgMTEzIDA0MCAxMTQgMDQwIDExNSAwNDAgMTE2IDA0MCAxMTcgMDQwCiswMDAwMGEwIDEyMCAwNDAgMTIxIDA0MCAxMjIgMDQwIDEyMyAwNDAgMTI0IDA0MCAxMjUgMDQwIDEyNiAwNDAgMTI3IDA0MAorMDAwMDBiMCAxMzAgMDQwIDEzMSAwNDAgMTMyIDA0MCAxMzMgMDQwIDEzNCAwNDAgMTM1IDA0MCAxMzYgMDQwIDEzNyAwNDAKKzAwMDAwYzAgMTQwIDA0MCAbWzMxbTE0MRtbMG0gMDQwIDE0MiAwNDAgMTQzIDA0MCAxNDQgMDQwIDE0NSAwNDAgMTQ2IDA0MCAxNDcgMDQwCiswMDAwMGQwIDE1MCAwNDAgMTUxIDA0MCAxNTIgMDQwIDE1MyAwNDAgMTU0IDA0MCAxNTUgMDQwIDE1NiAwNDAgMTU3IDA0MAorMDAwMDBlMCAxNjAgMDQwIDE2MSAwNDAgMTYyIDA0MCAxNjMgMDQwIDE2NCAwNDAgMTY1IDA0MCAxNjYgMDQwIDE2NyAwNDAKKzAwMDAwZjAgMTcwIDA0MCAxNzEgMDQwIDE3MiAwNDAgMTczIDA0MCAxNzQgMDQwIDE3NSAwNDAgMTc2IDA0MCAxNzcgMDQwCiswMDAwMTAwIDMwMiAyMDAgMDQwIDMwMiAyMDEgMDQwIDMwMiAyMDIgMDQwIDMwMiAyMDMgMDQwIDMwMiAyMDQgMDQwIDMwMgorMDAwMDExMCAyMDUgMDQwIDMwMiAyMDYgMDQwIDMwMiAyMDcgMDQwIDMwMiAyMTAgMDQwIDMwMiAyMTEgMDQwIDMwMiAyMTIKKzAwMDAxMjAgMDQwIDMwMiAyMTMgMDQwIDMwMiAyMTQgMDQwIDMwMiAyMTUgMDQwIDMwMiAyMTYgMDQwIDMwMiAyMTcgMDQwCiswMDAwMTMwIDMwMiAyMjAgMDQwIDMwMiAyMjEgMDQwIDMwMiAyMjIgMDQwIDMwMiAyMjMgMDQwIDMwMiAyMjQgMDQwIDMwMgorMDAwMDE0MCAyMjUgMDQwIDMwMiAyMjYgMDQwIDMwMiAyMjcgMDQwIDMwMiAyMzAgMDQwIDMwMiAyMzEgMDQwIDMwMiAyMzIKKzAwMDAxNTAgMDQwIDMwMiAyMzMgMDQwIDMwMiAyMzQgMDQwIDMwMiAyMzUgMDQwIDMwMiAyMzYgMDQwIDMwMiAyMzcgMDQwCiswMDAwMTYwIDMwMiAyNDAgMDQwIDMwMiAyNDEgMDQwIDMwMiAyNDIgMDQwIDMwMiAyNDMgMDQwIDMwMiAyNDQgMDQwIDMwMgorMDAwMDE3MCAyNDUgMDQwIDMwMiAyNDYgMDQwIDMwMiAyNDcgMDQwIDMwMiAyNTAgMDQwIDMwMiAyNTEgMDQwIDMwMiAyNTIKKzAwMDAxODAgMDQwIDMwMiAyNTMgMDQwIDMwMiAyNTQgMDQwIDMwMiAyNTUgMDQwIDMwMiAyNTYgMDQwIDMwMiAyNTcgMDQwCiswMDAwMTkwIDMwMiAyNjAgMDQwIDMwMiAyNjEgMDQwIDMwMiAyNjIgMDQwIDMwMiAyNjMgMDQwIDMwMiAyNjQgMDQwIDMwMgorMDAwMDFhMCAyNjUgMDQwIDMwMiAyNjYgMDQwIDMwMiAyNjcgMDQwIDMwMiAyNzAgMDQwIDMwMiAyNzEgMDQwIDMwMiAyNzIKKzAwMDAxYjAgMDQwIDMwMiAyNzMgMDQwIDMwMiAyNzQgMDQwIDMwMiAyNzUgMDQwIDMwMiAyNzYgMDQwIDMwMiAyNzcgMDQwCiswMDAwMWMwIDMwMyAyMDAgMDQwIDMwMyAyMDEgMDQwIDMwMyAyMDIgMDQwIDMwMyAyMDMgMDQwIDMwMyAyMDQgMDQwIDMwMworMDAwMDFkMCAyMDUgMDQwIDMwMyAyMDYgMDQwIDMwMyAyMDcgMDQwIDMwMyAyMTAgMDQwIDMwMyAyMTEgMDQwIDMwMyAyMTIKKzAwMDAxZTAgMDQwIDMwMyAyMTMgMDQwIDMwMyAyMTQgMDQwIDMwMyAyMTUgMDQwIDMwMyAyMTYgMDQwIDMwMyAyMTcgMDQwCiswMDAwMWYwIDMwMyAyMjAgMDQwIDMwMyAyMjEgMDQwIDMwMyAyMjIgMDQwIDMwMyAyMjMgMDQwIDMwMyAyMjQgMDQwIDMwMworMDAwMDIwMCAyMjUgMDQwIDMwMyAyMjYgMDQwIDMwMyAyMjcgMDQwIDMwMyAyMzAgMDQwIDMwMyAyMzEgMDQwIDMwMyAyMzIKKzAwMDAyMTAgMDQwIDMwMyAyMzMgMDQwIDMwMyAyMzQgMDQwIDMwMyAyMzUgMDQwIDMwMyAyMzYgMDQwIDMwMyAyMzcgMDQwCiswMDAwMjIwIDMwMyAyNDAgMDQwIDMwMyAyNDEgMDQwIDMwMyAyNDIgMDQwIDMwMyAyNDMgMDQwIDMwMyAyNDQgMDQwIDMwMworMDAwMDIzMCAyNDUgMDQwIDMwMyAyNDYgMDQwIDMwMyAyNDcgMDQwIDMwMyAyNTAgMDQwIDMwMyAyNTEgMDQwIDMwMyAyNTIKKzAwMDAyNDAgMDQwIDMwMyAyNTMgMDQwIDMwMyAyNTQgMDQwIDMwMyAyNTUgMDQwIDMwMyAyNTYgMDQwIDMwMyAyNTcgMDQwCiswMDAwMjUwIDMwMyAyNjAgMDQwIDMwMyAyNjEgMDQwIDMwMyAyNjIgMDQwIDMwMyAyNjMgMDQwIDMwMyAyNjQgMDQwIDMwMworMDAwMDI2MCAyNjUgMDQwIDMwMyAyNjYgMDQwIDMwMyAyNjcgMDQwIDMwMyAyNzAgMDQwIDMwMyAyNzEgMDQwIDMwMyAyNzIKKzAwMDAyNzAgMDQwIDMwMyAyNzMgMDQwIDMwMyAyNzQgMDQwIDMwMyAyNzUgMDQwIDMwMyAyNzYgMDQwIDMwMyAyNzcgMDQwCiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC0yLkJFIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtMi5CRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MTlkMDdmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtMi5CRQpAQCAtMCwwICsxLDQxIEBACiswMDAwMDAwIDAwMCAwNDAgMDAxIDA0MCAwMDIgMDQwIDAwMyAwNDAgMDA0IDA0MCAwMDUgMDQwIDAwNiAwNDAgMDA3IDA0MAorMDAwMDAxMCAwMTAgMDQwIDAxMSAwNDAgMDEyIDA0MCAwMTMgMDQwIDAxNCAwNDAgMDE1IDA0MCAwMTYgMDQwIDAxNyAwNDAKKzAwMDAwMjAgMDIwIDA0MCAwMjEgMDQwIDAyMiAwNDAgMDIzIDA0MCAwMjQgMDQwIDAyNSAwNDAgMDI2IDA0MCAwMjcgMDQwCiswMDAwMDMwIDAzMCAwNDAgMDMxIDA0MCAwMzIgMDQwIDAzMyAwNDAgMDM0IDA0MCAwMzUgMDQwIDAzNiAwNDAgMDM3IDA0MAorMDAwMDA0MCAwNDAgMDQwIDA0MSAwNDAgMDQyIDA0MCAwNDMgMDQwIDA0NCAwNDAgMDQ1IDA0MCAwNDYgMDQwIDA0NyAwNDAKKzAwMDAwNTAgMDUwIDA0MCAwNTEgMDQwIDA1MiAwNDAgMDUzIDA0MCAwNTQgMDQwIDA1NSAwNDAgMDU2IDA0MCAwNTcgMDQwCiswMDAwMDYwIDA2MCAwNDAgMDYxIDA0MCAwNjIgMDQwIDA2MyAwNDAgMDY0IDA0MCAwNjUgMDQwIDA2NiAwNDAgMDY3IDA0MAorMDAwMDA3MCAwNzAgMDQwIDA3MSAwNDAgMDcyIDA0MCAwNzMgMDQwIDA3NCAwNDAgMDc1IDA0MCAwNzYgMDQwIDA3NyAwNDAKKzAwMDAwODAgMTAwIDA0MCAxMDEgMDQwIDEwMiAwNDAgMTAzIDA0MCAxMDQgMDQwIDEwNSAwNDAgMTA2IDA0MCAxMDcgMDQwCiswMDAwMDkwIDExMCAwNDAgMTExIDA0MCAxMTIgMDQwIDExMyAwNDAgMTE0IDA0MCAxMTUgMDQwIDExNiAwNDAgMTE3IDA0MAorMDAwMDBhMCAxMjAgMDQwIDEyMSAwNDAgMTIyIDA0MCAxMjMgMDQwIDEyNCAwNDAgMTI1IDA0MCAxMjYgMDQwIDEyNyAwNDAKKzAwMDAwYjAgMTMwIDA0MCAxMzEgMDQwIDEzMiAwNDAgMTMzIDA0MCAxMzQgMDQwIDEzNSAwNDAgMTM2IDA0MCAxMzcgMDQwCiswMDAwMGMwIDE0MCAwNDAgMTQxIDA0MCAxNDIgMDQwIDE0MyAwNDAgMTQ0IDA0MCAxNDUgMDQwIDE0NiAwNDAgMTQ3IDA0MAorMDAwMDBkMCAxNTAgMDQwIDE1MSAwNDAgMTUyIDA0MCAxNTMgMDQwIDE1NCAwNDAgMTU1IDA0MCAxNTYgMDQwIDE1NyAwNDAKKzAwMDAwZTAgMTYwIDA0MCAxNjEgMDQwIDE2MiAwNDAgMTYzIDA0MCAxNjQgMDQwIDE2NSAwNDAgMTY2IDA0MCAxNjcgMDQwCiswMDAwMGYwIDE3MCAwNDAgMTcxIDA0MCAxNzIgMDQwIDE3MyAwNDAgMTc0IDA0MCAxNzUgMDQwIDE3NiAwNDAgMTc3IDA0MAorMDAwMDEwMCAzMDIgMjAwIDA0MCAzMDIgMjAxIDA0MCAzMDIgMjAyIDA0MCAzMDIgMjAzIDA0MCAzMDIgMjA0IDA0MCAzMDIKKzAwMDAxMTAgMjA1IDA0MCAzMDIgMjA2IDA0MCAzMDIgMjA3IDA0MCAzMDIgMjEwIDA0MCAzMDIgMjExIDA0MCAzMDIgMjEyCiswMDAwMTIwIDA0MCAzMDIgMjEzIDA0MCAzMDIgMjE0IDA0MCAzMDIgMjE1IDA0MCAzMDIgMjE2IDA0MCAzMDIgMjE3IDA0MAorMDAwMDEzMCAzMDIgMjIwIDA0MCAzMDIgMjIxIDA0MCAzMDIgMjIyIDA0MCAzMDIgMjIzIDA0MCAzMDIgMjI0IDA0MCAzMDIKKzAwMDAxNDAgMjI1IDA0MCAzMDIgMjI2IDA0MCAzMDIgMjI3IDA0MCAzMDIgMjMwIDA0MCAzMDIgMjMxIDA0MCAzMDIgMjMyCiswMDAwMTUwIDA0MCAzMDIgMjMzIDA0MCAzMDIgMjM0IDA0MCAzMDIgMjM1IDA0MCAzMDIgMjM2IDA0MCAzMDIgMjM3IDA0MAorMDAwMDE2MCAzMDIgMjQwIDA0MCAzMDIgMjQxIDA0MCAzMDIgMjQyIDA0MCAzMDIgMjQzIDA0MCAzMDIgMjQ0IDA0MCAzMDIKKzAwMDAxNzAgMjQ1IDA0MCAzMDIgMjQ2IDA0MCAzMDIgMjQ3IDA0MCAzMDIgMjUwIDA0MCAzMDIgMjUxIDA0MCAzMDIgMjUyCiswMDAwMTgwIDA0MCAzMDIgMjUzIDA0MCAzMDIgMjU0IDA0MCAzMDIgMjU1IDA0MCAzMDIgMjU2IDA0MCAzMDIgMjU3IDA0MAorMDAwMDE5MCAzMDIgMjYwIDA0MCAzMDIgMjYxIDA0MCAzMDIgMjYyIDA0MCAzMDIgMjYzIDA0MCAzMDIgMjY0IDA0MCAzMDIKKzAwMDAxYTAgMjY1IDA0MCAzMDIgMjY2IDA0MCAzMDIgMjY3IDA0MCAzMDIgMjcwIDA0MCAzMDIgMjcxIDA0MCAzMDIgMjcyCiswMDAwMWIwIDA0MCAzMDIgMjczIDA0MCAzMDIgMjc0IDA0MCAzMDIgMjc1IDA0MCAzMDIgMjc2IDA0MCAzMDIgMjc3IDA0MAorMDAwMDFjMCAzMDMgMjAwIDA0MCAzMDMgMjAxIDA0MCAzMDMgMjAyIDA0MCAzMDMgMjAzIDA0MCAzMDMgMjA0IDA0MCAzMDMKKzAwMDAxZDAgMjA1IDA0MCAzMDMgMjA2IDA0MCAzMDMgMjA3IDA0MCAzMDMgMjEwIDA0MCAzMDMgMjExIDA0MCAzMDMgMjEyCiswMDAwMWUwIDA0MCAzMDMgMjEzIDA0MCAzMDMgMjE0IDA0MCAzMDMgMjE1IDA0MCAzMDMgMjE2IDA0MCAzMDMgMjE3IDA0MAorMDAwMDFmMCAzMDMgMjIwIDA0MCAzMDMgMjIxIDA0MCAzMDMgMjIyIDA0MCAzMDMgMjIzIDA0MCAzMDMgMjI0IDA0MCAzMDMKKzAwMDAyMDAgMjI1IDA0MCAzMDMgMjI2IDA0MCAzMDMgMjI3IDA0MCAzMDMgMjMwIDA0MCAzMDMgMjMxIDA0MCAzMDMgMjMyCiswMDAwMjEwIDA0MCAzMDMgMjMzIDA0MCAzMDMgMjM0IDA0MCAzMDMgMjM1IDA0MCAzMDMgMjM2IDA0MCAzMDMgMjM3IDA0MAorMDAwMDIyMCAzMDMgMjQwIDA0MCAzMDMgMjQxIDA0MCAzMDMgMjQyIDA0MCAzMDMgMjQzIDA0MCAzMDMgMjQ0IDA0MCAzMDMKKzAwMDAyMzAgMjQ1IDA0MCAzMDMgMjQ2IDA0MCAzMDMgMjQ3IDA0MCAzMDMgMjUwIDA0MCAzMDMgMjUxIDA0MCAzMDMgMjUyCiswMDAwMjQwIDA0MCAzMDMgMjUzIDA0MCAzMDMgMjU0IDA0MCAzMDMgMjU1IDA0MCAzMDMgMjU2IDA0MCAzMDMgMjU3IDA0MAorMDAwMDI1MCAzMDMgMjYwIDA0MCAzMDMgMjYxIDA0MCAzMDMgMjYyIDA0MCAzMDMgMjYzIDA0MCAzMDMgMjY0IDA0MCAzMDMKKzAwMDAyNjAgMjY1IDA0MCAzMDMgMjY2IDA0MCAzMDMgMjY3IDA0MCAzMDMgMjcwIDA0MCAzMDMgMjcxIDA0MCAzMDMgMjcyCiswMDAwMjcwIDA0MCAzMDMgMjczIDA0MCAzMDMgMjc0IDA0MCAzMDMgMjc1IDA0MCAzMDMgMjc2IDA0MCAzMDMgMjc3IDA0MAorMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtMyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWY4Y2E2OAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTMKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMCAwMDAgMDQwIDAwMSAwNDAgMDAyIDA0MCAwMDMgMDQwIDAwNCAwNDAgMDA1IDA0MCAwMDYgMDQwIDAwNyAwNDAKKzAwMDAwMTAgMDEwIDA0MCAwMTEgMDQwIDAxMiAwNDAgMDEzIDA0MCAwMTQgMDQwIDAxNSAwNDAgMDE2IDA0MCAwMTcgMDQwCiswMDAwMDIwIDAyMCAwNDAgMDIxIDA0MCAwMjIgMDQwIDAyMyAwNDAgMDI0IDA0MCAwMjUgMDQwIDAyNiAwNDAgMDI3IDA0MAorMDAwMDAzMCAwMzAgMDQwIDAzMSAwNDAgMDMyIDA0MCAwMzMgMDQwIDAzNCAwNDAgMDM1IDA0MCAwMzYgMDQwIDAzNyAwNDAKKzAwMDAwNDAgMDQwIDA0MCAwNDEgMDQwIDA0MiAwNDAgMDQzIDA0MCAwNDQgMDQwIDA0NSAwNDAgMDQ2IDA0MCAwNDcgMDQwCiswMDAwMDUwIDA1MCAwNDAgMDUxIDA0MCAwNTIgMDQwIDA1MyAwNDAgMDU0IDA0MCAwNTUgMDQwIDA1NiAwNDAgMDU3IDA0MAorMDAwMDA2MCAwNjAgMDQwIDA2MSAwNDAgMDYyIDA0MCAwNjMgMDQwIDA2NCAwNDAgMDY1IDA0MCAwNjYgMDQwIDA2NyAwNDAKKzAwMDAwNzAgMDcwIDA0MCAwNzEgMDQwIDA3MiAwNDAgMDczIDA0MCAwNzQgMDQwIDA3NSAwNDAgMDc2IDA0MCAwNzcgMDQwCiswMDAwMDgwIDEwMCAwNDAgG1szMW0xMDEbWzBtIDA0MCAxMDIgMDQwIDEwMyAwNDAgMTA0IDA0MCAxMDUgMDQwIDEwNiAwNDAgMTA3IDA0MAorMDAwMDA5MCAxMTAgMDQwIDExMSAwNDAgMTEyIDA0MCAxMTMgMDQwIDExNCAwNDAgMTE1IDA0MCAxMTYgMDQwIDExNyAwNDAKKzAwMDAwYTAgMTIwIDA0MCAxMjEgMDQwIDEyMiAwNDAgMTIzIDA0MCAxMjQgMDQwIDEyNSAwNDAgMTI2IDA0MCAxMjcgMDQwCiswMDAwMGIwIDEzMCAwNDAgMTMxIDA0MCAxMzIgMDQwIDEzMyAwNDAgMTM0IDA0MCAxMzUgMDQwIDEzNiAwNDAgMTM3IDA0MAorMDAwMDBjMCAxNDAgMDQwIBtbMzFtMTQxG1swbSAwNDAgMTQyIDA0MCAxNDMgMDQwIDE0NCAwNDAgMTQ1IDA0MCAxNDYgMDQwIDE0NyAwNDAKKzAwMDAwZDAgMTUwIDA0MCAxNTEgMDQwIDE1MiAwNDAgMTUzIDA0MCAxNTQgMDQwIDE1NSAwNDAgMTU2IDA0MCAxNTcgMDQwCiswMDAwMGUwIDE2MCAwNDAgMTYxIDA0MCAxNjIgMDQwIDE2MyAwNDAgMTY0IDA0MCAxNjUgMDQwIDE2NiAwNDAgMTY3IDA0MAorMDAwMDBmMCAxNzAgMDQwIDE3MSAwNDAgMTcyIDA0MCAxNzMgMDQwIDE3NCAwNDAgMTc1IDA0MCAxNzYgMDQwIDE3NyAwNDAKKzAwMDAxMDAgMzAyIDIwMCAwNDAgMzAyIDIwMSAwNDAgMzAyIDIwMiAwNDAgMzAyIDIwMyAwNDAgMzAyIDIwNCAwNDAgMzAyCiswMDAwMTEwIDIwNSAwNDAgMzAyIDIwNiAwNDAgMzAyIDIwNyAwNDAgMzAyIDIxMCAwNDAgMzAyIDIxMSAwNDAgMzAyIDIxMgorMDAwMDEyMCAwNDAgMzAyIDIxMyAwNDAgMzAyIDIxNCAwNDAgMzAyIDIxNSAwNDAgMzAyIDIxNiAwNDAgMzAyIDIxNyAwNDAKKzAwMDAxMzAgMzAyIDIyMCAwNDAgMzAyIDIyMSAwNDAgMzAyIDIyMiAwNDAgMzAyIDIyMyAwNDAgMzAyIDIyNCAwNDAgMzAyCiswMDAwMTQwIDIyNSAwNDAgMzAyIDIyNiAwNDAgMzAyIDIyNyAwNDAgMzAyIDIzMCAwNDAgMzAyIDIzMSAwNDAgMzAyIDIzMgorMDAwMDE1MCAwNDAgMzAyIDIzMyAwNDAgMzAyIDIzNCAwNDAgMzAyIDIzNSAwNDAgMzAyIDIzNiAwNDAgMzAyIDIzNyAwNDAKKzAwMDAxNjAgMzAyIDI0MCAwNDAgMzAyIDI0MSAwNDAgMzAyIDI0MiAwNDAgMzAyIDI0MyAwNDAgMzAyIDI0NCAwNDAgMzAyCiswMDAwMTcwIDI0NSAwNDAgMzAyIDI0NiAwNDAgMzAyIDI0NyAwNDAgMzAyIDI1MCAwNDAgMzAyIDI1MSAwNDAgMzAyIDI1MgorMDAwMDE4MCAwNDAgMzAyIDI1MyAwNDAgMzAyIDI1NCAwNDAgMzAyIDI1NSAwNDAgMzAyIDI1NiAwNDAgMzAyIDI1NyAwNDAKKzAwMDAxOTAgMzAyIDI2MCAwNDAgMzAyIDI2MSAwNDAgMzAyIDI2MiAwNDAgMzAyIDI2MyAwNDAgMzAyIDI2NCAwNDAgMzAyCiswMDAwMWEwIDI2NSAwNDAgMzAyIDI2NiAwNDAgMzAyIDI2NyAwNDAgMzAyIDI3MCAwNDAgMzAyIDI3MSAwNDAgMzAyIDI3MgorMDAwMDFiMCAwNDAgMzAyIDI3MyAwNDAgMzAyIDI3NCAwNDAgMzAyIDI3NSAwNDAgMzAyIDI3NiAwNDAgMzAyIDI3NyAwNDAKKzAwMDAxYzAgMzAzIDIwMCAwNDAgMzAzIDIwMSAwNDAgMzAzIDIwMiAwNDAgMzAzIDIwMyAwNDAgMzAzIDIwNCAwNDAgMzAzCiswMDAwMWQwIDIwNSAwNDAgMzAzIDIwNiAwNDAgMzAzIDIwNyAwNDAgMzAzIDIxMCAwNDAgMzAzIDIxMSAwNDAgMzAzIDIxMgorMDAwMDFlMCAwNDAgMzAzIDIxMyAwNDAgMzAzIDIxNCAwNDAgMzAzIDIxNSAwNDAgMzAzIDIxNiAwNDAgMzAzIDIxNyAwNDAKKzAwMDAxZjAgMzAzIDIyMCAwNDAgMzAzIDIyMSAwNDAgMzAzIDIyMiAwNDAgMzAzIDIyMyAwNDAgMzAzIDIyNCAwNDAgMzAzCiswMDAwMjAwIDIyNSAwNDAgMzAzIDIyNiAwNDAgMzAzIDIyNyAwNDAgMzAzIDIzMCAwNDAgMzAzIDIzMSAwNDAgMzAzIDIzMgorMDAwMDIxMCAwNDAgMzAzIDIzMyAwNDAgMzAzIDIzNCAwNDAgMzAzIDIzNSAwNDAgMzAzIDIzNiAwNDAgMzAzIDIzNyAwNDAKKzAwMDAyMjAgMzAzIDI0MCAwNDAgMzAzIDI0MSAwNDAgMzAzIDI0MiAwNDAgMzAzIDI0MyAwNDAgMzAzIDI0NCAwNDAgMzAzCiswMDAwMjMwIDI0NSAwNDAgMzAzIDI0NiAwNDAgMzAzIDI0NyAwNDAgMzAzIDI1MCAwNDAgMzAzIDI1MSAwNDAgMzAzIDI1MgorMDAwMDI0MCAwNDAgMzAzIDI1MyAwNDAgMzAzIDI1NCAwNDAgMzAzIDI1NSAwNDAgMzAzIDI1NiAwNDAgMzAzIDI1NyAwNDAKKzAwMDAyNTAgMzAzIDI2MCAwNDAgMzAzIDI2MSAwNDAgMzAzIDI2MiAwNDAgMzAzIDI2MyAwNDAgMzAzIDI2NCAwNDAgMzAzCiswMDAwMjYwIDI2NSAwNDAgMzAzIDI2NiAwNDAgMzAzIDI2NyAwNDAgMzAzIDI3MCAwNDAgMzAzIDI3MSAwNDAgMzAzIDI3MgorMDAwMDI3MCAwNDAgMzAzIDI3MyAwNDAgMzAzIDI3NCAwNDAgMzAzIDI3NSAwNDAgMzAzIDI3NiAwNDAgMzAzIDI3NyAwNDAKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTQgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC00Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmOGNhNjgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC00CkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAgMDAwIDA0MCAwMDEgMDQwIDAwMiAwNDAgMDAzIDA0MCAwMDQgMDQwIDAwNSAwNDAgMDA2IDA0MCAwMDcgMDQwCiswMDAwMDEwIDAxMCAwNDAgMDExIDA0MCAwMTIgMDQwIDAxMyAwNDAgMDE0IDA0MCAwMTUgMDQwIDAxNiAwNDAgMDE3IDA0MAorMDAwMDAyMCAwMjAgMDQwIDAyMSAwNDAgMDIyIDA0MCAwMjMgMDQwIDAyNCAwNDAgMDI1IDA0MCAwMjYgMDQwIDAyNyAwNDAKKzAwMDAwMzAgMDMwIDA0MCAwMzEgMDQwIDAzMiAwNDAgMDMzIDA0MCAwMzQgMDQwIDAzNSAwNDAgMDM2IDA0MCAwMzcgMDQwCiswMDAwMDQwIDA0MCAwNDAgMDQxIDA0MCAwNDIgMDQwIDA0MyAwNDAgMDQ0IDA0MCAwNDUgMDQwIDA0NiAwNDAgMDQ3IDA0MAorMDAwMDA1MCAwNTAgMDQwIDA1MSAwNDAgMDUyIDA0MCAwNTMgMDQwIDA1NCAwNDAgMDU1IDA0MCAwNTYgMDQwIDA1NyAwNDAKKzAwMDAwNjAgMDYwIDA0MCAwNjEgMDQwIDA2MiAwNDAgMDYzIDA0MCAwNjQgMDQwIDA2NSAwNDAgMDY2IDA0MCAwNjcgMDQwCiswMDAwMDcwIDA3MCAwNDAgMDcxIDA0MCAwNzIgMDQwIDA3MyAwNDAgMDc0IDA0MCAwNzUgMDQwIDA3NiAwNDAgMDc3IDA0MAorMDAwMDA4MCAxMDAgMDQwIBtbMzFtMTAxG1swbSAwNDAgMTAyIDA0MCAxMDMgMDQwIDEwNCAwNDAgMTA1IDA0MCAxMDYgMDQwIDEwNyAwNDAKKzAwMDAwOTAgMTEwIDA0MCAxMTEgMDQwIDExMiAwNDAgMTEzIDA0MCAxMTQgMDQwIDExNSAwNDAgMTE2IDA0MCAxMTcgMDQwCiswMDAwMGEwIDEyMCAwNDAgMTIxIDA0MCAxMjIgMDQwIDEyMyAwNDAgMTI0IDA0MCAxMjUgMDQwIDEyNiAwNDAgMTI3IDA0MAorMDAwMDBiMCAxMzAgMDQwIDEzMSAwNDAgMTMyIDA0MCAxMzMgMDQwIDEzNCAwNDAgMTM1IDA0MCAxMzYgMDQwIDEzNyAwNDAKKzAwMDAwYzAgMTQwIDA0MCAbWzMxbTE0MRtbMG0gMDQwIDE0MiAwNDAgMTQzIDA0MCAxNDQgMDQwIDE0NSAwNDAgMTQ2IDA0MCAxNDcgMDQwCiswMDAwMGQwIDE1MCAwNDAgMTUxIDA0MCAxNTIgMDQwIDE1MyAwNDAgMTU0IDA0MCAxNTUgMDQwIDE1NiAwNDAgMTU3IDA0MAorMDAwMDBlMCAxNjAgMDQwIDE2MSAwNDAgMTYyIDA0MCAxNjMgMDQwIDE2NCAwNDAgMTY1IDA0MCAxNjYgMDQwIDE2NyAwNDAKKzAwMDAwZjAgMTcwIDA0MCAxNzEgMDQwIDE3MiAwNDAgMTczIDA0MCAxNzQgMDQwIDE3NSAwNDAgMTc2IDA0MCAxNzcgMDQwCiswMDAwMTAwIDMwMiAyMDAgMDQwIDMwMiAyMDEgMDQwIDMwMiAyMDIgMDQwIDMwMiAyMDMgMDQwIDMwMiAyMDQgMDQwIDMwMgorMDAwMDExMCAyMDUgMDQwIDMwMiAyMDYgMDQwIDMwMiAyMDcgMDQwIDMwMiAyMTAgMDQwIDMwMiAyMTEgMDQwIDMwMiAyMTIKKzAwMDAxMjAgMDQwIDMwMiAyMTMgMDQwIDMwMiAyMTQgMDQwIDMwMiAyMTUgMDQwIDMwMiAyMTYgMDQwIDMwMiAyMTcgMDQwCiswMDAwMTMwIDMwMiAyMjAgMDQwIDMwMiAyMjEgMDQwIDMwMiAyMjIgMDQwIDMwMiAyMjMgMDQwIDMwMiAyMjQgMDQwIDMwMgorMDAwMDE0MCAyMjUgMDQwIDMwMiAyMjYgMDQwIDMwMiAyMjcgMDQwIDMwMiAyMzAgMDQwIDMwMiAyMzEgMDQwIDMwMiAyMzIKKzAwMDAxNTAgMDQwIDMwMiAyMzMgMDQwIDMwMiAyMzQgMDQwIDMwMiAyMzUgMDQwIDMwMiAyMzYgMDQwIDMwMiAyMzcgMDQwCiswMDAwMTYwIDMwMiAyNDAgMDQwIDMwMiAyNDEgMDQwIDMwMiAyNDIgMDQwIDMwMiAyNDMgMDQwIDMwMiAyNDQgMDQwIDMwMgorMDAwMDE3MCAyNDUgMDQwIDMwMiAyNDYgMDQwIDMwMiAyNDcgMDQwIDMwMiAyNTAgMDQwIDMwMiAyNTEgMDQwIDMwMiAyNTIKKzAwMDAxODAgMDQwIDMwMiAyNTMgMDQwIDMwMiAyNTQgMDQwIDMwMiAyNTUgMDQwIDMwMiAyNTYgMDQwIDMwMiAyNTcgMDQwCiswMDAwMTkwIDMwMiAyNjAgMDQwIDMwMiAyNjEgMDQwIDMwMiAyNjIgMDQwIDMwMiAyNjMgMDQwIDMwMiAyNjQgMDQwIDMwMgorMDAwMDFhMCAyNjUgMDQwIDMwMiAyNjYgMDQwIDMwMiAyNjcgMDQwIDMwMiAyNzAgMDQwIDMwMiAyNzEgMDQwIDMwMiAyNzIKKzAwMDAxYjAgMDQwIDMwMiAyNzMgMDQwIDMwMiAyNzQgMDQwIDMwMiAyNzUgMDQwIDMwMiAyNzYgMDQwIDMwMiAyNzcgMDQwCiswMDAwMWMwIDMwMyAyMDAgMDQwIDMwMyAyMDEgMDQwIDMwMyAyMDIgMDQwIDMwMyAyMDMgMDQwIDMwMyAyMDQgMDQwIDMwMworMDAwMDFkMCAyMDUgMDQwIDMwMyAyMDYgMDQwIDMwMyAyMDcgMDQwIDMwMyAyMTAgMDQwIDMwMyAyMTEgMDQwIDMwMyAyMTIKKzAwMDAxZTAgMDQwIDMwMyAyMTMgMDQwIDMwMyAyMTQgMDQwIDMwMyAyMTUgMDQwIDMwMyAyMTYgMDQwIDMwMyAyMTcgMDQwCiswMDAwMWYwIDMwMyAyMjAgMDQwIDMwMyAyMjEgMDQwIDMwMyAyMjIgMDQwIDMwMyAyMjMgMDQwIDMwMyAyMjQgMDQwIDMwMworMDAwMDIwMCAyMjUgMDQwIDMwMyAyMjYgMDQwIDMwMyAyMjcgMDQwIDMwMyAyMzAgMDQwIDMwMyAyMzEgMDQwIDMwMyAyMzIKKzAwMDAyMTAgMDQwIDMwMyAyMzMgMDQwIDMwMyAyMzQgMDQwIDMwMyAyMzUgMDQwIDMwMyAyMzYgMDQwIDMwMyAyMzcgMDQwCiswMDAwMjIwIDMwMyAyNDAgMDQwIDMwMyAyNDEgMDQwIDMwMyAyNDIgMDQwIDMwMyAyNDMgMDQwIDMwMyAyNDQgMDQwIDMwMworMDAwMDIzMCAyNDUgMDQwIDMwMyAyNDYgMDQwIDMwMyAyNDcgMDQwIDMwMyAyNTAgMDQwIDMwMyAyNTEgMDQwIDMwMyAyNTIKKzAwMDAyNDAgMDQwIDMwMyAyNTMgMDQwIDMwMyAyNTQgMDQwIDMwMyAyNTUgMDQwIDMwMyAyNTYgMDQwIDMwMyAyNTcgMDQwCiswMDAwMjUwIDMwMyAyNjAgMDQwIDMwMyAyNjEgMDQwIDMwMyAyNjIgMDQwIDMwMyAyNjMgMDQwIDMwMyAyNjQgMDQwIDMwMworMDAwMDI2MCAyNjUgMDQwIDMwMyAyNjYgMDQwIDMwMyAyNjcgMDQwIDMwMyAyNzAgMDQwIDMwMyAyNzEgMDQwIDMwMyAyNzIKKzAwMDAyNzAgMDQwIDMwMyAyNzMgMDQwIDMwMyAyNzQgMDQwIDMwMyAyNzUgMDQwIDMwMyAyNzYgMDQwIDMwMyAyNzcgMDQwCiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC00LkJFIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtNC5CRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNTc5ZGZjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtNC5CRQpAQCAtMCwwICsxLDQxIEBACiswMDAwMDAwIDAwMCAwNDAgMDAxIDA0MCAwMDIgMDQwIDAwMyAwNDAgMDA0IDA0MCAwMDUgMDQwIDAwNiAwNDAgMDA3IDA0MAorMDAwMDAxMCAwMTAgMDQwIDAxMSAwNDAgMDEyIDA0MCAwMTMgMDQwIDAxNCAwNDAgMDE1IDA0MCAwMTYgMDQwIDAxNyAwNDAKKzAwMDAwMjAgMDIwIDA0MCAwMjEgMDQwIDAyMiAwNDAgMDIzIDA0MCAwMjQgMDQwIDAyNSAwNDAgMDI2IDA0MCAwMjcgMDQwCiswMDAwMDMwIDAzMCAwNDAgMDMxIDA0MCAwMzIgMDQwIDAzMyAwNDAgMDM0IDA0MCAwMzUgMDQwIDAzNiAwNDAgMDM3IDA0MAorMDAwMDA0MCAwNDAgMDQwIDA0MSAwNDAgMDQyIDA0MCAwNDMgMDQwIDA0NCAwNDAgMDQ1IDA0MCAwNDYgMDQwIDA0NyAwNDAKKzAwMDAwNTAgMDUwIDA0MCAwNTEgMDQwIDA1MiAwNDAgMDUzIDA0MCAwNTQgMDQwIDA1NSAwNDAgMDU2IDA0MCAwNTcgMDQwCiswMDAwMDYwIDA2MCAwNDAgMDYxIDA0MCAwNjIgMDQwIDA2MyAwNDAgMDY0IDA0MCAwNjUgMDQwIDA2NiAwNDAgMDY3IDA0MAorMDAwMDA3MCAwNzAgMDQwIDA3MSAwNDAgMDcyIDA0MCAwNzMgMDQwIDA3NCAwNDAgMDc1IDA0MCAwNzYgMDQwIDA3NyAwNDAKKzAwMDAwODAgMTAwIDA0MCAbWzMxbTEwMRtbMG0gMDQwIDEwMiAwNDAgMTAzIDA0MCAxMDQgMDQwIDEwNSAwNDAgMTA2IDA0MCAxMDcgMDQwCiswMDAwMDkwIDExMCAwNDAgMTExIDA0MCAxMTIgMDQwIDExMyAwNDAgMTE0IDA0MCAxMTUgMDQwIDExNiAwNDAgMTE3IDA0MAorMDAwMDBhMCAxMjAgMDQwIDEyMSAwNDAgMTIyIDA0MCAxMjMgMDQwIDEyNCAwNDAgMTI1IDA0MCAxMjYgMDQwIDEyNyAwNDAKKzAwMDAwYjAgMTMwIDA0MCAxMzEgMDQwIDEzMiAwNDAgMTMzIDA0MCAxMzQgMDQwIDEzNSAwNDAgMTM2IDA0MCAxMzcgMDQwCiswMDAwMGMwIDE0MCAwNDAgMTQxIDA0MCAxNDIgMDQwIDE0MyAwNDAgMTQ0IDA0MCAxNDUgMDQwIDE0NiAwNDAgMTQ3IDA0MAorMDAwMDBkMCAxNTAgMDQwIDE1MSAwNDAgMTUyIDA0MCAxNTMgMDQwIDE1NCAwNDAgMTU1IDA0MCAxNTYgMDQwIDE1NyAwNDAKKzAwMDAwZTAgMTYwIDA0MCAxNjEgMDQwIDE2MiAwNDAgMTYzIDA0MCAxNjQgMDQwIDE2NSAwNDAgMTY2IDA0MCAxNjcgMDQwCiswMDAwMGYwIDE3MCAwNDAgMTcxIDA0MCAxNzIgMDQwIDE3MyAwNDAgMTc0IDA0MCAxNzUgMDQwIDE3NiAwNDAgMTc3IDA0MAorMDAwMDEwMCAzMDIgMjAwIDA0MCAzMDIgMjAxIDA0MCAzMDIgMjAyIDA0MCAzMDIgMjAzIDA0MCAzMDIgMjA0IDA0MCAzMDIKKzAwMDAxMTAgMjA1IDA0MCAzMDIgMjA2IDA0MCAzMDIgMjA3IDA0MCAzMDIgMjEwIDA0MCAzMDIgMjExIDA0MCAzMDIgMjEyCiswMDAwMTIwIDA0MCAzMDIgMjEzIDA0MCAzMDIgMjE0IDA0MCAzMDIgMjE1IDA0MCAzMDIgMjE2IDA0MCAzMDIgMjE3IDA0MAorMDAwMDEzMCAzMDIgMjIwIDA0MCAzMDIgMjIxIDA0MCAzMDIgMjIyIDA0MCAzMDIgMjIzIDA0MCAzMDIgMjI0IDA0MCAzMDIKKzAwMDAxNDAgMjI1IDA0MCAzMDIgMjI2IDA0MCAzMDIgMjI3IDA0MCAzMDIgMjMwIDA0MCAzMDIgMjMxIDA0MCAzMDIgMjMyCiswMDAwMTUwIDA0MCAzMDIgMjMzIDA0MCAzMDIgMjM0IDA0MCAzMDIgMjM1IDA0MCAzMDIgMjM2IDA0MCAzMDIgMjM3IDA0MAorMDAwMDE2MCAzMDIgMjQwIDA0MCAzMDIgMjQxIDA0MCAzMDIgMjQyIDA0MCAzMDIgMjQzIDA0MCAzMDIgMjQ0IDA0MCAzMDIKKzAwMDAxNzAgMjQ1IDA0MCAzMDIgMjQ2IDA0MCAzMDIgMjQ3IDA0MCAzMDIgMjUwIDA0MCAzMDIgMjUxIDA0MCAzMDIgMjUyCiswMDAwMTgwIDA0MCAzMDIgMjUzIDA0MCAzMDIgMjU0IDA0MCAzMDIgMjU1IDA0MCAzMDIgMjU2IDA0MCAzMDIgMjU3IDA0MAorMDAwMDE5MCAzMDIgMjYwIDA0MCAzMDIgMjYxIDA0MCAzMDIgMjYyIDA0MCAzMDIgMjYzIDA0MCAzMDIgMjY0IDA0MCAzMDIKKzAwMDAxYTAgMjY1IDA0MCAzMDIgMjY2IDA0MCAzMDIgMjY3IDA0MCAzMDIgMjcwIDA0MCAzMDIgMjcxIDA0MCAzMDIgMjcyCiswMDAwMWIwIDA0MCAzMDIgMjczIDA0MCAzMDIgMjc0IDA0MCAzMDIgMjc1IDA0MCAzMDIgMjc2IDA0MCAzMDIgMjc3IDA0MAorMDAwMDFjMCAzMDMgMjAwIDA0MCAzMDMgMjAxIDA0MCAzMDMgMjAyIDA0MCAzMDMgMjAzIDA0MCAzMDMgMjA0IDA0MCAzMDMKKzAwMDAxZDAgMjA1IDA0MCAzMDMgMjA2IDA0MCAzMDMgMjA3IDA0MCAzMDMgMjEwIDA0MCAzMDMgMjExIDA0MCAzMDMgMjEyCiswMDAwMWUwIDA0MCAzMDMgMjEzIDA0MCAzMDMgMjE0IDA0MCAzMDMgMjE1IDA0MCAzMDMgMjE2IDA0MCAzMDMgMjE3IDA0MAorMDAwMDFmMCAzMDMgMjIwIDA0MCAzMDMgMjIxIDA0MCAzMDMgMjIyIDA0MCAzMDMgMjIzIDA0MCAzMDMgMjI0IDA0MCAzMDMKKzAwMDAyMDAgMjI1IDA0MCAzMDMgMjI2IDA0MCAzMDMgMjI3IDA0MCAzMDMgMjMwIDA0MCAzMDMgMjMxIDA0MCAzMDMgMjMyCiswMDAwMjEwIDA0MCAzMDMgMjMzIDA0MCAzMDMgMjM0IDA0MCAzMDMgMjM1IDA0MCAzMDMgMjM2IDA0MCAzMDMgMjM3IDA0MAorMDAwMDIyMCAzMDMgMjQwIDA0MCAzMDMgMjQxIDA0MCAzMDMgMjQyIDA0MCAzMDMgMjQzIDA0MCAzMDMgMjQ0IDA0MCAzMDMKKzAwMDAyMzAgMjQ1IDA0MCAzMDMgMjQ2IDA0MCAzMDMgMjQ3IDA0MCAzMDMgMjUwIDA0MCAzMDMgMjUxIDA0MCAzMDMgMjUyCiswMDAwMjQwIDA0MCAzMDMgMjUzIDA0MCAzMDMgMjU0IDA0MCAzMDMgMjU1IDA0MCAzMDMgMjU2IDA0MCAzMDMgMjU3IDA0MAorMDAwMDI1MCAzMDMgMjYwIDA0MCAzMDMgMjYxIDA0MCAzMDMgMjYyIDA0MCAzMDMgMjYzIDA0MCAzMDMgMjY0IDA0MCAzMDMKKzAwMDAyNjAgMjY1IDA0MCAzMDMgMjY2IDA0MCAzMDMgMjY3IDA0MCAzMDMgMjcwIDA0MCAzMDMgMjcxIDA0MCAzMDMgMjcyCiswMDAwMjcwIDA0MCAzMDMgMjczIDA0MCAzMDMgMjc0IDA0MCAzMDMgMjc1IDA0MCAzMDMgMjc2IDA0MCAzMDMgMjc3IDA0MAorMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtNSBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGViNmRlZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTUKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMCAwMDAgMDQwIDAwMSAwNDAgMDAyIDA0MCAwMDMgMDQwIDAwNCAwNDAgMDA1IDA0MCAwMDYgMDQwIDAwNyAwNDAKKzAwMDAwMTAgMDEwIDA0MCAwMTEgMDQwIDAxMiAwNDAgMDEzIDA0MCAwMTQgMDQwIDAxNSAwNDAgMDE2IDA0MCAwMTcgMDQwCiswMDAwMDIwIDAyMCAwNDAgMDIxIDA0MCAwMjIgMDQwIDAyMyAwNDAgMDI0IDA0MCAwMjUgMDQwIDAyNiAwNDAgMDI3IDA0MAorMDAwMDAzMCAwMzAgMDQwIDAzMSAwNDAgMDMyIDA0MCAwMzMgMDQwIDAzNCAwNDAgMDM1IDA0MCAwMzYgMDQwIDAzNyAwNDAKKzAwMDAwNDAgMDQwIDA0MCAwNDEgMDQwIDA0MiAwNDAgMDQzIDA0MCAwNDQgMDQwIDA0NSAwNDAgMDQ2IDA0MCAwNDcgMDQwCiswMDAwMDUwIDA1MCAwNDAgMDUxIDA0MCAwNTIgMDQwIDA1MyAwNDAgMDU0IDA0MCAwNTUgMDQwIDA1NiAwNDAgMDU3IDA0MAorMDAwMDA2MCAwNjAgMDQwIDA2MSAwNDAgMDYyIDA0MCAwNjMgMDQwIDA2NCAwNDAgMDY1IDA0MCAwNjYgMDQwIDA2NyAwNDAKKzAwMDAwNzAgMDcwIDA0MCAwNzEgMDQwIDA3MiAwNDAgMDczIDA0MCAwNzQgMDQwIDA3NSAwNDAgMDc2IDA0MCAwNzcgMDQwCiswMDAwMDgwIDEwMCAwNDAgMTAxIDA0MCAxMDIgMDQwIDEwMyAwNDAgMTA0IDA0MCAxMDUgMDQwIDEwNiAwNDAgMTA3IDA0MAorMDAwMDA5MCAxMTAgMDQwIDExMSAwNDAgMTEyIDA0MCAxMTMgMDQwIDExNCAwNDAgMTE1IDA0MCAxMTYgMDQwIDExNyAwNDAKKzAwMDAwYTAgMTIwIDA0MCAxMjEgMDQwIDEyMiAwNDAgMTIzIDA0MCAxMjQgMDQwIDEyNSAwNDAgMTI2IDA0MCAxMjcgMDQwCiswMDAwMGIwIDEzMCAwNDAgMTMxIDA0MCAxMzIgMDQwIDEzMyAwNDAgMTM0IDA0MCAxMzUgMDQwIDEzNiAwNDAgMTM3IDA0MAorMDAwMDBjMCAxNDAgMDQwIBtbMzFtMTQxG1swbSAwNDAgMTQyIDA0MCAxNDMgMDQwIDE0NCAwNDAgMTQ1IDA0MCAxNDYgMDQwIDE0NyAwNDAKKzAwMDAwZDAgMTUwIDA0MCAxNTEgMDQwIDE1MiAwNDAgMTUzIDA0MCAxNTQgMDQwIDE1NSAwNDAgMTU2IDA0MCAxNTcgMDQwCiswMDAwMGUwIDE2MCAwNDAgMTYxIDA0MCAxNjIgMDQwIDE2MyAwNDAgMTY0IDA0MCAxNjUgMDQwIDE2NiAwNDAgMTY3IDA0MAorMDAwMDBmMCAxNzAgMDQwIDE3MSAwNDAgMTcyIDA0MCAxNzMgMDQwIDE3NCAwNDAgMTc1IDA0MCAxNzYgMDQwIDE3NyAwNDAKKzAwMDAxMDAgMzAyIDIwMCAwNDAgMzAyIDIwMSAwNDAgMzAyIDIwMiAwNDAgMzAyIDIwMyAwNDAgMzAyIDIwNCAwNDAgMzAyCiswMDAwMTEwIDIwNSAwNDAgMzAyIDIwNiAwNDAgMzAyIDIwNyAwNDAgMzAyIDIxMCAwNDAgMzAyIDIxMSAwNDAgMzAyIDIxMgorMDAwMDEyMCAwNDAgMzAyIDIxMyAwNDAgMzAyIDIxNCAwNDAgMzAyIDIxNSAwNDAgMzAyIDIxNiAwNDAgMzAyIDIxNyAwNDAKKzAwMDAxMzAgMzAyIDIyMCAwNDAgMzAyIDIyMSAwNDAgMzAyIDIyMiAwNDAgMzAyIDIyMyAwNDAgMzAyIDIyNCAwNDAgMzAyCiswMDAwMTQwIDIyNSAwNDAgMzAyIDIyNiAwNDAgMzAyIDIyNyAwNDAgMzAyIDIzMCAwNDAgMzAyIDIzMSAwNDAgMzAyIDIzMgorMDAwMDE1MCAwNDAgMzAyIDIzMyAwNDAgMzAyIDIzNCAwNDAgMzAyIDIzNSAwNDAgMzAyIDIzNiAwNDAgMzAyIDIzNyAwNDAKKzAwMDAxNjAgMzAyIDI0MCAwNDAgMzAyIDI0MSAwNDAgMzAyIDI0MiAwNDAgMzAyIDI0MyAwNDAgMzAyIDI0NCAwNDAgMzAyCiswMDAwMTcwIDI0NSAwNDAgMzAyIDI0NiAwNDAgMzAyIDI0NyAwNDAgMzAyIDI1MCAwNDAgMzAyIDI1MSAwNDAgMzAyIDI1MgorMDAwMDE4MCAwNDAgMzAyIDI1MyAwNDAgMzAyIDI1NCAwNDAgMzAyIDI1NSAwNDAgMzAyIDI1NiAwNDAgMzAyIDI1NyAwNDAKKzAwMDAxOTAgMzAyIDI2MCAwNDAgMzAyIDI2MSAwNDAgMzAyIDI2MiAwNDAgMzAyIDI2MyAwNDAgMzAyIDI2NCAwNDAgMzAyCiswMDAwMWEwIDI2NSAwNDAgMzAyIDI2NiAwNDAgMzAyIDI2NyAwNDAgMzAyIDI3MCAwNDAgMzAyIDI3MSAwNDAgMzAyIDI3MgorMDAwMDFiMCAwNDAgMzAyIDI3MyAwNDAgMzAyIDI3NCAwNDAgMzAyIDI3NSAwNDAgMzAyIDI3NiAwNDAgMzAyIDI3NyAwNDAKKzAwMDAxYzAgMzAzIDIwMCAwNDAgMzAzIDIwMSAwNDAgMzAzIDIwMiAwNDAgMzAzIDIwMyAwNDAgMzAzIDIwNCAwNDAgMzAzCiswMDAwMWQwIDIwNSAwNDAgMzAzIDIwNiAwNDAgMzAzIDIwNyAwNDAgMzAzIDIxMCAwNDAgMzAzIDIxMSAwNDAgMzAzIDIxMgorMDAwMDFlMCAwNDAgMzAzIDIxMyAwNDAgMzAzIDIxNCAwNDAgMzAzIDIxNSAwNDAgMzAzIDIxNiAwNDAgMzAzIDIxNyAwNDAKKzAwMDAxZjAgMzAzIDIyMCAwNDAgMzAzIDIyMSAwNDAgMzAzIDIyMiAwNDAgMzAzIDIyMyAwNDAgMzAzIDIyNCAwNDAgMzAzCiswMDAwMjAwIDIyNSAwNDAgMzAzIDIyNiAwNDAgMzAzIDIyNyAwNDAgMzAzIDIzMCAwNDAgMzAzIDIzMSAwNDAgMzAzIDIzMgorMDAwMDIxMCAwNDAgMzAzIDIzMyAwNDAgMzAzIDIzNCAwNDAgMzAzIDIzNSAwNDAgMzAzIDIzNiAwNDAgMzAzIDIzNyAwNDAKKzAwMDAyMjAgMzAzIDI0MCAwNDAgMzAzIDI0MSAwNDAgMzAzIDI0MiAwNDAgMzAzIDI0MyAwNDAgMzAzIDI0NCAwNDAgMzAzCiswMDAwMjMwIDI0NSAwNDAgMzAzIDI0NiAwNDAgMzAzIDI0NyAwNDAgMzAzIDI1MCAwNDAgMzAzIDI1MSAwNDAgMzAzIDI1MgorMDAwMDI0MCAwNDAgMzAzIDI1MyAwNDAgMzAzIDI1NCAwNDAgMzAzIDI1NSAwNDAgMzAzIDI1NiAwNDAgMzAzIDI1NyAwNDAKKzAwMDAyNTAgMzAzIDI2MCAwNDAgMzAzIDI2MSAwNDAgMzAzIDI2MiAwNDAgMzAzIDI2MyAwNDAgMzAzIDI2NCAwNDAgMzAzCiswMDAwMjYwIDI2NSAwNDAgMzAzIDI2NiAwNDAgMzAzIDI2NyAwNDAgMzAzIDI3MCAwNDAgMzAzIDI3MSAwNDAgMzAzIDI3MgorMDAwMDI3MCAwNDAgMzAzIDI3MyAwNDAgMzAzIDI3NCAwNDAgMzAzIDI3NSAwNDAgMzAzIDI3NiAwNDAgMzAzIDI3NyAwNDAKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTUuQkUgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC01LkJFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxOWQwN2YKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC01LkJFCkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAgMDAwIDA0MCAwMDEgMDQwIDAwMiAwNDAgMDAzIDA0MCAwMDQgMDQwIDAwNSAwNDAgMDA2IDA0MCAwMDcgMDQwCiswMDAwMDEwIDAxMCAwNDAgMDExIDA0MCAwMTIgMDQwIDAxMyAwNDAgMDE0IDA0MCAwMTUgMDQwIDAxNiAwNDAgMDE3IDA0MAorMDAwMDAyMCAwMjAgMDQwIDAyMSAwNDAgMDIyIDA0MCAwMjMgMDQwIDAyNCAwNDAgMDI1IDA0MCAwMjYgMDQwIDAyNyAwNDAKKzAwMDAwMzAgMDMwIDA0MCAwMzEgMDQwIDAzMiAwNDAgMDMzIDA0MCAwMzQgMDQwIDAzNSAwNDAgMDM2IDA0MCAwMzcgMDQwCiswMDAwMDQwIDA0MCAwNDAgMDQxIDA0MCAwNDIgMDQwIDA0MyAwNDAgMDQ0IDA0MCAwNDUgMDQwIDA0NiAwNDAgMDQ3IDA0MAorMDAwMDA1MCAwNTAgMDQwIDA1MSAwNDAgMDUyIDA0MCAwNTMgMDQwIDA1NCAwNDAgMDU1IDA0MCAwNTYgMDQwIDA1NyAwNDAKKzAwMDAwNjAgMDYwIDA0MCAwNjEgMDQwIDA2MiAwNDAgMDYzIDA0MCAwNjQgMDQwIDA2NSAwNDAgMDY2IDA0MCAwNjcgMDQwCiswMDAwMDcwIDA3MCAwNDAgMDcxIDA0MCAwNzIgMDQwIDA3MyAwNDAgMDc0IDA0MCAwNzUgMDQwIDA3NiAwNDAgMDc3IDA0MAorMDAwMDA4MCAxMDAgMDQwIDEwMSAwNDAgMTAyIDA0MCAxMDMgMDQwIDEwNCAwNDAgMTA1IDA0MCAxMDYgMDQwIDEwNyAwNDAKKzAwMDAwOTAgMTEwIDA0MCAxMTEgMDQwIDExMiAwNDAgMTEzIDA0MCAxMTQgMDQwIDExNSAwNDAgMTE2IDA0MCAxMTcgMDQwCiswMDAwMGEwIDEyMCAwNDAgMTIxIDA0MCAxMjIgMDQwIDEyMyAwNDAgMTI0IDA0MCAxMjUgMDQwIDEyNiAwNDAgMTI3IDA0MAorMDAwMDBiMCAxMzAgMDQwIDEzMSAwNDAgMTMyIDA0MCAxMzMgMDQwIDEzNCAwNDAgMTM1IDA0MCAxMzYgMDQwIDEzNyAwNDAKKzAwMDAwYzAgMTQwIDA0MCAxNDEgMDQwIDE0MiAwNDAgMTQzIDA0MCAxNDQgMDQwIDE0NSAwNDAgMTQ2IDA0MCAxNDcgMDQwCiswMDAwMGQwIDE1MCAwNDAgMTUxIDA0MCAxNTIgMDQwIDE1MyAwNDAgMTU0IDA0MCAxNTUgMDQwIDE1NiAwNDAgMTU3IDA0MAorMDAwMDBlMCAxNjAgMDQwIDE2MSAwNDAgMTYyIDA0MCAxNjMgMDQwIDE2NCAwNDAgMTY1IDA0MCAxNjYgMDQwIDE2NyAwNDAKKzAwMDAwZjAgMTcwIDA0MCAxNzEgMDQwIDE3MiAwNDAgMTczIDA0MCAxNzQgMDQwIDE3NSAwNDAgMTc2IDA0MCAxNzcgMDQwCiswMDAwMTAwIDMwMiAyMDAgMDQwIDMwMiAyMDEgMDQwIDMwMiAyMDIgMDQwIDMwMiAyMDMgMDQwIDMwMiAyMDQgMDQwIDMwMgorMDAwMDExMCAyMDUgMDQwIDMwMiAyMDYgMDQwIDMwMiAyMDcgMDQwIDMwMiAyMTAgMDQwIDMwMiAyMTEgMDQwIDMwMiAyMTIKKzAwMDAxMjAgMDQwIDMwMiAyMTMgMDQwIDMwMiAyMTQgMDQwIDMwMiAyMTUgMDQwIDMwMiAyMTYgMDQwIDMwMiAyMTcgMDQwCiswMDAwMTMwIDMwMiAyMjAgMDQwIDMwMiAyMjEgMDQwIDMwMiAyMjIgMDQwIDMwMiAyMjMgMDQwIDMwMiAyMjQgMDQwIDMwMgorMDAwMDE0MCAyMjUgMDQwIDMwMiAyMjYgMDQwIDMwMiAyMjcgMDQwIDMwMiAyMzAgMDQwIDMwMiAyMzEgMDQwIDMwMiAyMzIKKzAwMDAxNTAgMDQwIDMwMiAyMzMgMDQwIDMwMiAyMzQgMDQwIDMwMiAyMzUgMDQwIDMwMiAyMzYgMDQwIDMwMiAyMzcgMDQwCiswMDAwMTYwIDMwMiAyNDAgMDQwIDMwMiAyNDEgMDQwIDMwMiAyNDIgMDQwIDMwMiAyNDMgMDQwIDMwMiAyNDQgMDQwIDMwMgorMDAwMDE3MCAyNDUgMDQwIDMwMiAyNDYgMDQwIDMwMiAyNDcgMDQwIDMwMiAyNTAgMDQwIDMwMiAyNTEgMDQwIDMwMiAyNTIKKzAwMDAxODAgMDQwIDMwMiAyNTMgMDQwIDMwMiAyNTQgMDQwIDMwMiAyNTUgMDQwIDMwMiAyNTYgMDQwIDMwMiAyNTcgMDQwCiswMDAwMTkwIDMwMiAyNjAgMDQwIDMwMiAyNjEgMDQwIDMwMiAyNjIgMDQwIDMwMiAyNjMgMDQwIDMwMiAyNjQgMDQwIDMwMgorMDAwMDFhMCAyNjUgMDQwIDMwMiAyNjYgMDQwIDMwMiAyNjcgMDQwIDMwMiAyNzAgMDQwIDMwMiAyNzEgMDQwIDMwMiAyNzIKKzAwMDAxYjAgMDQwIDMwMiAyNzMgMDQwIDMwMiAyNzQgMDQwIDMwMiAyNzUgMDQwIDMwMiAyNzYgMDQwIDMwMiAyNzcgMDQwCiswMDAwMWMwIDMwMyAyMDAgMDQwIDMwMyAyMDEgMDQwIDMwMyAyMDIgMDQwIDMwMyAyMDMgMDQwIDMwMyAyMDQgMDQwIDMwMworMDAwMDFkMCAyMDUgMDQwIDMwMyAyMDYgMDQwIDMwMyAyMDcgMDQwIDMwMyAyMTAgMDQwIDMwMyAyMTEgMDQwIDMwMyAyMTIKKzAwMDAxZTAgMDQwIDMwMyAyMTMgMDQwIDMwMyAyMTQgMDQwIDMwMyAyMTUgMDQwIDMwMyAyMTYgMDQwIDMwMyAyMTcgMDQwCiswMDAwMWYwIDMwMyAyMjAgMDQwIDMwMyAyMjEgMDQwIDMwMyAyMjIgMDQwIDMwMyAyMjMgMDQwIDMwMyAyMjQgMDQwIDMwMworMDAwMDIwMCAyMjUgMDQwIDMwMyAyMjYgMDQwIDMwMyAyMjcgMDQwIDMwMyAyMzAgMDQwIDMwMyAyMzEgMDQwIDMwMyAyMzIKKzAwMDAyMTAgMDQwIDMwMyAyMzMgMDQwIDMwMyAyMzQgMDQwIDMwMyAyMzUgMDQwIDMwMyAyMzYgMDQwIDMwMyAyMzcgMDQwCiswMDAwMjIwIDMwMyAyNDAgMDQwIDMwMyAyNDEgMDQwIDMwMyAyNDIgMDQwIDMwMyAyNDMgMDQwIDMwMyAyNDQgMDQwIDMwMworMDAwMDIzMCAyNDUgMDQwIDMwMyAyNDYgMDQwIDMwMyAyNDcgMDQwIDMwMyAyNTAgMDQwIDMwMyAyNTEgMDQwIDMwMyAyNTIKKzAwMDAyNDAgMDQwIDMwMyAyNTMgMDQwIDMwMyAyNTQgMDQwIDMwMyAyNTUgMDQwIDMwMyAyNTYgMDQwIDMwMyAyNTcgMDQwCiswMDAwMjUwIDMwMyAyNjAgMDQwIDMwMyAyNjEgMDQwIDMwMyAyNjIgMDQwIDMwMyAyNjMgMDQwIDMwMyAyNjQgMDQwIDMwMworMDAwMDI2MCAyNjUgMDQwIDMwMyAyNjYgMDQwIDMwMyAyNjcgMDQwIDMwMyAyNzAgMDQwIDMwMyAyNzEgMDQwIDMwMyAyNzIKKzAwMDAyNzAgMDQwIDMwMyAyNzMgMDQwIDMwMyAyNzQgMDQwIDMwMyAyNzUgMDQwIDMwMyAyNzYgMDQwIDMwMyAyNzcgMDQwCiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC02IGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtNgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZGNhNTdmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtNgpAQCAtMCwwICsxLDQxIEBACiswMDAwMDAwIDAwMCAwNDAgMDAxIDA0MCAwMDIgMDQwIDAwMyAwNDAgMDA0IDA0MCAwMDUgMDQwIDAwNiAwNDAgMDA3IDA0MAorMDAwMDAxMCAwMTAgMDQwIDAxMSAwNDAgMDEyIDA0MCAwMTMgMDQwIDAxNCAwNDAgMDE1IDA0MCAwMTYgMDQwIDAxNyAwNDAKKzAwMDAwMjAgMDIwIDA0MCAwMjEgMDQwIDAyMiAwNDAgMDIzIDA0MCAwMjQgMDQwIDAyNSAwNDAgMDI2IDA0MCAwMjcgMDQwCiswMDAwMDMwIDAzMCAwNDAgMDMxIDA0MCAwMzIgMDQwIDAzMyAwNDAgMDM0IDA0MCAwMzUgMDQwIDAzNiAwNDAgMDM3IDA0MAorMDAwMDA0MCAwNDAgMDQwIDA0MSAwNDAgMDQyIDA0MCAwNDMgMDQwIDA0NCAwNDAgMDQ1IDA0MCAwNDYgMDQwIDA0NyAwNDAKKzAwMDAwNTAgMDUwIDA0MCAwNTEgMDQwIDA1MiAwNDAgMDUzIDA0MCAwNTQgMDQwIDA1NSAwNDAgMDU2IDA0MCAwNTcgMDQwCiswMDAwMDYwIDA2MCAwNDAgMDYxIDA0MCAwNjIgMDQwIDA2MyAwNDAgMDY0IDA0MCAwNjUgMDQwIDA2NiAwNDAgMDY3IDA0MAorMDAwMDA3MCAwNzAgMDQwIDA3MSAwNDAgMDcyIDA0MCAwNzMgMDQwIDA3NCAwNDAgMDc1IDA0MCAwNzYgMDQwIDA3NyAwNDAKKzAwMDAwODAgMTAwIDA0MCAxMDEgMDQwIDEwMiAwNDAgMTAzIDA0MCAxMDQgMDQwIDEwNSAwNDAgMTA2IDA0MCAxMDcgMDQwCiswMDAwMDkwIDExMCAwNDAgMTExIDA0MCAxMTIgMDQwIDExMyAwNDAgMTE0IDA0MCAxMTUgMDQwIDExNiAwNDAgMTE3IDA0MAorMDAwMDBhMCAxMjAgMDQwIDEyMSAwNDAgMTIyIDA0MCAxMjMgMDQwIDEyNCAwNDAgMTI1IDA0MCAxMjYgMDQwIDEyNyAwNDAKKzAwMDAwYjAgMTMwIDA0MCAxMzEgMDQwIDEzMiAwNDAgMTMzIDA0MCAxMzQgMDQwIDEzNSAwNDAgMTM2IDA0MCAxMzcgMDQwCiswMDAwMGMwIDE0MCAbWzMxbTA0MBtbMG0gG1szMW0xNDEbWzBtIDA0MCAxNDIgMDQwIDE0MyAwNDAgMTQ0IDA0MCAxNDUgMDQwIDE0NiAwNDAgMTQ3IDA0MAorMDAwMDBkMCAxNTAgMDQwIDE1MSAwNDAgMTUyIDA0MCAxNTMgMDQwIDE1NCAwNDAgMTU1IDA0MCAxNTYgMDQwIDE1NyAwNDAKKzAwMDAwZTAgMTYwIDA0MCAxNjEgMDQwIDE2MiAwNDAgMTYzIDA0MCAxNjQgMDQwIDE2NSAwNDAgMTY2IDA0MCAxNjcgMDQwCiswMDAwMGYwIDE3MCAwNDAgMTcxIDA0MCAxNzIgMDQwIDE3MyAwNDAgMTc0IDA0MCAxNzUgMDQwIDE3NiAwNDAgMTc3IDA0MAorMDAwMDEwMCAzMDIgMjAwIDA0MCAzMDIgMjAxIDA0MCAzMDIgMjAyIDA0MCAzMDIgMjAzIDA0MCAzMDIgMjA0IDA0MCAzMDIKKzAwMDAxMTAgMjA1IDA0MCAzMDIgMjA2IDA0MCAzMDIgMjA3IDA0MCAzMDIgMjEwIDA0MCAzMDIgMjExIDA0MCAzMDIgMjEyCiswMDAwMTIwIDA0MCAzMDIgMjEzIDA0MCAzMDIgMjE0IDA0MCAzMDIgMjE1IDA0MCAzMDIgMjE2IDA0MCAzMDIgMjE3IDA0MAorMDAwMDEzMCAzMDIgMjIwIDA0MCAzMDIgMjIxIDA0MCAzMDIgMjIyIDA0MCAzMDIgMjIzIDA0MCAzMDIgMjI0IDA0MCAzMDIKKzAwMDAxNDAgMjI1IDA0MCAzMDIgMjI2IDA0MCAzMDIgMjI3IDA0MCAzMDIgMjMwIDA0MCAzMDIgMjMxIDA0MCAzMDIgMjMyCiswMDAwMTUwIDA0MCAzMDIgMjMzIDA0MCAzMDIgMjM0IDA0MCAzMDIgMjM1IDA0MCAzMDIgMjM2IDA0MCAzMDIgMjM3IDA0MAorMDAwMDE2MCAzMDIgMjQwIDA0MCAzMDIgMjQxIDA0MCAzMDIgMjQyIDA0MCAzMDIgMjQzIDA0MCAzMDIgMjQ0IDA0MCAzMDIKKzAwMDAxNzAgMjQ1IDA0MCAzMDIgMjQ2IDA0MCAzMDIgMjQ3IDA0MCAzMDIgMjUwIDA0MCAzMDIgMjUxIDA0MCAzMDIgMjUyCiswMDAwMTgwIDA0MCAzMDIgMjUzIDA0MCAzMDIgMjU0IDA0MCAzMDIgMjU1IDA0MCAzMDIgMjU2IDA0MCAzMDIgMjU3IDA0MAorMDAwMDE5MCAzMDIgMjYwIDA0MCAzMDIgMjYxIDA0MCAzMDIgMjYyIDA0MCAzMDIgMjYzIDA0MCAzMDIgMjY0IDA0MCAzMDIKKzAwMDAxYTAgMjY1IDA0MCAzMDIgMjY2IDA0MCAzMDIgMjY3IDA0MCAzMDIgMjcwIDA0MCAzMDIgMjcxIDA0MCAzMDIgMjcyCiswMDAwMWIwIDA0MCAzMDIgMjczIDA0MCAzMDIgMjc0IDA0MCAzMDIgMjc1IDA0MCAzMDIgMjc2IDA0MCAzMDIgMjc3IDA0MAorMDAwMDFjMCAzMDMgMjAwIDA0MCAzMDMgMjAxIDA0MCAzMDMgMjAyIDA0MCAzMDMgMjAzIDA0MCAzMDMgMjA0IDA0MCAzMDMKKzAwMDAxZDAgMjA1IDA0MCAzMDMgMjA2IDA0MCAzMDMgMjA3IDA0MCAzMDMgMjEwIDA0MCAzMDMgMjExIDA0MCAzMDMgMjEyCiswMDAwMWUwIDA0MCAzMDMgMjEzIDA0MCAzMDMgMjE0IDA0MCAzMDMgMjE1IDA0MCAzMDMgMjE2IDA0MCAzMDMgMjE3IDA0MAorMDAwMDFmMCAzMDMgMjIwIDA0MCAzMDMgMjIxIDA0MCAzMDMgMjIyIDA0MCAzMDMgMjIzIDA0MCAzMDMgMjI0IDA0MCAzMDMKKzAwMDAyMDAgMjI1IDA0MCAzMDMgMjI2IDA0MCAzMDMgMjI3IDA0MCAzMDMgMjMwIDA0MCAzMDMgMjMxIDA0MCAzMDMgMjMyCiswMDAwMjEwIDA0MCAzMDMgMjMzIDA0MCAzMDMgMjM0IDA0MCAzMDMgMjM1IDA0MCAzMDMgMjM2IDA0MCAzMDMgMjM3IDA0MAorMDAwMDIyMCAzMDMgMjQwIDA0MCAzMDMgMjQxIDA0MCAzMDMgMjQyIDA0MCAzMDMgMjQzIDA0MCAzMDMgMjQ0IDA0MCAzMDMKKzAwMDAyMzAgMjQ1IDA0MCAzMDMgMjQ2IDA0MCAzMDMgMjQ3IDA0MCAzMDMgMjUwIDA0MCAzMDMgMjUxIDA0MCAzMDMgMjUyCiswMDAwMjQwIDA0MCAzMDMgMjUzIDA0MCAzMDMgMjU0IDA0MCAzMDMgMjU1IDA0MCAzMDMgMjU2IDA0MCAzMDMgMjU3IDA0MAorMDAwMDI1MCAzMDMgMjYwIDA0MCAzMDMgMjYxIDA0MCAzMDMgMjYyIDA0MCAzMDMgMjYzIDA0MCAzMDMgMjY0IDA0MCAzMDMKKzAwMDAyNjAgMjY1IDA0MCAzMDMgMjY2IDA0MCAzMDMgMjY3IDA0MCAzMDMgMjcwIDA0MCAzMDMgMjcxIDA0MCAzMDMgMjcyCiswMDAwMjcwIDA0MCAzMDMgMjczIDA0MCAzMDMgMjc0IDA0MCAzMDMgMjc1IDA0MCAzMDMgMjc2IDA0MCAzMDMgMjc3IDA0MAorMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtNyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWY4Y2E2OAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTcKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMCAwMDAgMDQwIDAwMSAwNDAgMDAyIDA0MCAwMDMgMDQwIDAwNCAwNDAgMDA1IDA0MCAwMDYgMDQwIDAwNyAwNDAKKzAwMDAwMTAgMDEwIDA0MCAwMTEgMDQwIDAxMiAwNDAgMDEzIDA0MCAwMTQgMDQwIDAxNSAwNDAgMDE2IDA0MCAwMTcgMDQwCiswMDAwMDIwIDAyMCAwNDAgMDIxIDA0MCAwMjIgMDQwIDAyMyAwNDAgMDI0IDA0MCAwMjUgMDQwIDAyNiAwNDAgMDI3IDA0MAorMDAwMDAzMCAwMzAgMDQwIDAzMSAwNDAgMDMyIDA0MCAwMzMgMDQwIDAzNCAwNDAgMDM1IDA0MCAwMzYgMDQwIDAzNyAwNDAKKzAwMDAwNDAgMDQwIDA0MCAwNDEgMDQwIDA0MiAwNDAgMDQzIDA0MCAwNDQgMDQwIDA0NSAwNDAgMDQ2IDA0MCAwNDcgMDQwCiswMDAwMDUwIDA1MCAwNDAgMDUxIDA0MCAwNTIgMDQwIDA1MyAwNDAgMDU0IDA0MCAwNTUgMDQwIDA1NiAwNDAgMDU3IDA0MAorMDAwMDA2MCAwNjAgMDQwIDA2MSAwNDAgMDYyIDA0MCAwNjMgMDQwIDA2NCAwNDAgMDY1IDA0MCAwNjYgMDQwIDA2NyAwNDAKKzAwMDAwNzAgMDcwIDA0MCAwNzEgMDQwIDA3MiAwNDAgMDczIDA0MCAwNzQgMDQwIDA3NSAwNDAgMDc2IDA0MCAwNzcgMDQwCiswMDAwMDgwIDEwMCAwNDAgG1szMW0xMDEbWzBtIDA0MCAxMDIgMDQwIDEwMyAwNDAgMTA0IDA0MCAxMDUgMDQwIDEwNiAwNDAgMTA3IDA0MAorMDAwMDA5MCAxMTAgMDQwIDExMSAwNDAgMTEyIDA0MCAxMTMgMDQwIDExNCAwNDAgMTE1IDA0MCAxMTYgMDQwIDExNyAwNDAKKzAwMDAwYTAgMTIwIDA0MCAxMjEgMDQwIDEyMiAwNDAgMTIzIDA0MCAxMjQgMDQwIDEyNSAwNDAgMTI2IDA0MCAxMjcgMDQwCiswMDAwMGIwIDEzMCAwNDAgMTMxIDA0MCAxMzIgMDQwIDEzMyAwNDAgMTM0IDA0MCAxMzUgMDQwIDEzNiAwNDAgMTM3IDA0MAorMDAwMDBjMCAxNDAgMDQwIBtbMzFtMTQxG1swbSAwNDAgMTQyIDA0MCAxNDMgMDQwIDE0NCAwNDAgMTQ1IDA0MCAxNDYgMDQwIDE0NyAwNDAKKzAwMDAwZDAgMTUwIDA0MCAxNTEgMDQwIDE1MiAwNDAgMTUzIDA0MCAxNTQgMDQwIDE1NSAwNDAgMTU2IDA0MCAxNTcgMDQwCiswMDAwMGUwIDE2MCAwNDAgMTYxIDA0MCAxNjIgMDQwIDE2MyAwNDAgMTY0IDA0MCAxNjUgMDQwIDE2NiAwNDAgMTY3IDA0MAorMDAwMDBmMCAxNzAgMDQwIDE3MSAwNDAgMTcyIDA0MCAxNzMgMDQwIDE3NCAwNDAgMTc1IDA0MCAxNzYgMDQwIDE3NyAwNDAKKzAwMDAxMDAgMzAyIDIwMCAwNDAgMzAyIDIwMSAwNDAgMzAyIDIwMiAwNDAgMzAyIDIwMyAwNDAgMzAyIDIwNCAwNDAgMzAyCiswMDAwMTEwIDIwNSAwNDAgMzAyIDIwNiAwNDAgMzAyIDIwNyAwNDAgMzAyIDIxMCAwNDAgMzAyIDIxMSAwNDAgMzAyIDIxMgorMDAwMDEyMCAwNDAgMzAyIDIxMyAwNDAgMzAyIDIxNCAwNDAgMzAyIDIxNSAwNDAgMzAyIDIxNiAwNDAgMzAyIDIxNyAwNDAKKzAwMDAxMzAgMzAyIDIyMCAwNDAgMzAyIDIyMSAwNDAgMzAyIDIyMiAwNDAgMzAyIDIyMyAwNDAgMzAyIDIyNCAwNDAgMzAyCiswMDAwMTQwIDIyNSAwNDAgMzAyIDIyNiAwNDAgMzAyIDIyNyAwNDAgMzAyIDIzMCAwNDAgMzAyIDIzMSAwNDAgMzAyIDIzMgorMDAwMDE1MCAwNDAgMzAyIDIzMyAwNDAgMzAyIDIzNCAwNDAgMzAyIDIzNSAwNDAgMzAyIDIzNiAwNDAgMzAyIDIzNyAwNDAKKzAwMDAxNjAgMzAyIDI0MCAwNDAgMzAyIDI0MSAwNDAgMzAyIDI0MiAwNDAgMzAyIDI0MyAwNDAgMzAyIDI0NCAwNDAgMzAyCiswMDAwMTcwIDI0NSAwNDAgMzAyIDI0NiAwNDAgMzAyIDI0NyAwNDAgMzAyIDI1MCAwNDAgMzAyIDI1MSAwNDAgMzAyIDI1MgorMDAwMDE4MCAwNDAgMzAyIDI1MyAwNDAgMzAyIDI1NCAwNDAgMzAyIDI1NSAwNDAgMzAyIDI1NiAwNDAgMzAyIDI1NyAwNDAKKzAwMDAxOTAgMzAyIDI2MCAwNDAgMzAyIDI2MSAwNDAgMzAyIDI2MiAwNDAgMzAyIDI2MyAwNDAgMzAyIDI2NCAwNDAgMzAyCiswMDAwMWEwIDI2NSAwNDAgMzAyIDI2NiAwNDAgMzAyIDI2NyAwNDAgMzAyIDI3MCAwNDAgMzAyIDI3MSAwNDAgMzAyIDI3MgorMDAwMDFiMCAwNDAgMzAyIDI3MyAwNDAgMzAyIDI3NCAwNDAgMzAyIDI3NSAwNDAgMzAyIDI3NiAwNDAgMzAyIDI3NyAwNDAKKzAwMDAxYzAgMzAzIDIwMCAwNDAgMzAzIDIwMSAwNDAgMzAzIDIwMiAwNDAgMzAzIDIwMyAwNDAgMzAzIDIwNCAwNDAgMzAzCiswMDAwMWQwIDIwNSAwNDAgMzAzIDIwNiAwNDAgMzAzIDIwNyAwNDAgMzAzIDIxMCAwNDAgMzAzIDIxMSAwNDAgMzAzIDIxMgorMDAwMDFlMCAwNDAgMzAzIDIxMyAwNDAgMzAzIDIxNCAwNDAgMzAzIDIxNSAwNDAgMzAzIDIxNiAwNDAgMzAzIDIxNyAwNDAKKzAwMDAxZjAgMzAzIDIyMCAwNDAgMzAzIDIyMSAwNDAgMzAzIDIyMiAwNDAgMzAzIDIyMyAwNDAgMzAzIDIyNCAwNDAgMzAzCiswMDAwMjAwIDIyNSAwNDAgMzAzIDIyNiAwNDAgMzAzIDIyNyAwNDAgMzAzIDIzMCAwNDAgMzAzIDIzMSAwNDAgMzAzIDIzMgorMDAwMDIxMCAwNDAgMzAzIDIzMyAwNDAgMzAzIDIzNCAwNDAgMzAzIDIzNSAwNDAgMzAzIDIzNiAwNDAgMzAzIDIzNyAwNDAKKzAwMDAyMjAgMzAzIDI0MCAwNDAgMzAzIDI0MSAwNDAgMzAzIDI0MiAwNDAgMzAzIDI0MyAwNDAgMzAzIDI0NCAwNDAgMzAzCiswMDAwMjMwIDI0NSAwNDAgMzAzIDI0NiAwNDAgMzAzIDI0NyAwNDAgMzAzIDI1MCAwNDAgMzAzIDI1MSAwNDAgMzAzIDI1MgorMDAwMDI0MCAwNDAgMzAzIDI1MyAwNDAgMzAzIDI1NCAwNDAgMzAzIDI1NSAwNDAgMzAzIDI1NiAwNDAgMzAzIDI1NyAwNDAKKzAwMDAyNTAgMzAzIDI2MCAwNDAgMzAzIDI2MSAwNDAgMzAzIDI2MiAwNDAgMzAzIDI2MyAwNDAgMzAzIDI2NCAwNDAgMzAzCiswMDAwMjYwIDI2NSAwNDAgMzAzIDI2NiAwNDAgMzAzIDI2NyAwNDAgMzAzIDI3MCAwNDAgMzAzIDI3MSAwNDAgMzAzIDI3MgorMDAwMDI3MCAwNDAgMzAzIDI3MyAwNDAgMzAzIDI3NCAwNDAgMzAzIDI3NSAwNDAgMzAzIDI3NiAwNDAgMzAzIDI3NyAwNDAKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTcuQkUgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC03LkJFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxOWQwN2YKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC03LkJFCkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAgMDAwIDA0MCAwMDEgMDQwIDAwMiAwNDAgMDAzIDA0MCAwMDQgMDQwIDAwNSAwNDAgMDA2IDA0MCAwMDcgMDQwCiswMDAwMDEwIDAxMCAwNDAgMDExIDA0MCAwMTIgMDQwIDAxMyAwNDAgMDE0IDA0MCAwMTUgMDQwIDAxNiAwNDAgMDE3IDA0MAorMDAwMDAyMCAwMjAgMDQwIDAyMSAwNDAgMDIyIDA0MCAwMjMgMDQwIDAyNCAwNDAgMDI1IDA0MCAwMjYgMDQwIDAyNyAwNDAKKzAwMDAwMzAgMDMwIDA0MCAwMzEgMDQwIDAzMiAwNDAgMDMzIDA0MCAwMzQgMDQwIDAzNSAwNDAgMDM2IDA0MCAwMzcgMDQwCiswMDAwMDQwIDA0MCAwNDAgMDQxIDA0MCAwNDIgMDQwIDA0MyAwNDAgMDQ0IDA0MCAwNDUgMDQwIDA0NiAwNDAgMDQ3IDA0MAorMDAwMDA1MCAwNTAgMDQwIDA1MSAwNDAgMDUyIDA0MCAwNTMgMDQwIDA1NCAwNDAgMDU1IDA0MCAwNTYgMDQwIDA1NyAwNDAKKzAwMDAwNjAgMDYwIDA0MCAwNjEgMDQwIDA2MiAwNDAgMDYzIDA0MCAwNjQgMDQwIDA2NSAwNDAgMDY2IDA0MCAwNjcgMDQwCiswMDAwMDcwIDA3MCAwNDAgMDcxIDA0MCAwNzIgMDQwIDA3MyAwNDAgMDc0IDA0MCAwNzUgMDQwIDA3NiAwNDAgMDc3IDA0MAorMDAwMDA4MCAxMDAgMDQwIDEwMSAwNDAgMTAyIDA0MCAxMDMgMDQwIDEwNCAwNDAgMTA1IDA0MCAxMDYgMDQwIDEwNyAwNDAKKzAwMDAwOTAgMTEwIDA0MCAxMTEgMDQwIDExMiAwNDAgMTEzIDA0MCAxMTQgMDQwIDExNSAwNDAgMTE2IDA0MCAxMTcgMDQwCiswMDAwMGEwIDEyMCAwNDAgMTIxIDA0MCAxMjIgMDQwIDEyMyAwNDAgMTI0IDA0MCAxMjUgMDQwIDEyNiAwNDAgMTI3IDA0MAorMDAwMDBiMCAxMzAgMDQwIDEzMSAwNDAgMTMyIDA0MCAxMzMgMDQwIDEzNCAwNDAgMTM1IDA0MCAxMzYgMDQwIDEzNyAwNDAKKzAwMDAwYzAgMTQwIDA0MCAxNDEgMDQwIDE0MiAwNDAgMTQzIDA0MCAxNDQgMDQwIDE0NSAwNDAgMTQ2IDA0MCAxNDcgMDQwCiswMDAwMGQwIDE1MCAwNDAgMTUxIDA0MCAxNTIgMDQwIDE1MyAwNDAgMTU0IDA0MCAxNTUgMDQwIDE1NiAwNDAgMTU3IDA0MAorMDAwMDBlMCAxNjAgMDQwIDE2MSAwNDAgMTYyIDA0MCAxNjMgMDQwIDE2NCAwNDAgMTY1IDA0MCAxNjYgMDQwIDE2NyAwNDAKKzAwMDAwZjAgMTcwIDA0MCAxNzEgMDQwIDE3MiAwNDAgMTczIDA0MCAxNzQgMDQwIDE3NSAwNDAgMTc2IDA0MCAxNzcgMDQwCiswMDAwMTAwIDMwMiAyMDAgMDQwIDMwMiAyMDEgMDQwIDMwMiAyMDIgMDQwIDMwMiAyMDMgMDQwIDMwMiAyMDQgMDQwIDMwMgorMDAwMDExMCAyMDUgMDQwIDMwMiAyMDYgMDQwIDMwMiAyMDcgMDQwIDMwMiAyMTAgMDQwIDMwMiAyMTEgMDQwIDMwMiAyMTIKKzAwMDAxMjAgMDQwIDMwMiAyMTMgMDQwIDMwMiAyMTQgMDQwIDMwMiAyMTUgMDQwIDMwMiAyMTYgMDQwIDMwMiAyMTcgMDQwCiswMDAwMTMwIDMwMiAyMjAgMDQwIDMwMiAyMjEgMDQwIDMwMiAyMjIgMDQwIDMwMiAyMjMgMDQwIDMwMiAyMjQgMDQwIDMwMgorMDAwMDE0MCAyMjUgMDQwIDMwMiAyMjYgMDQwIDMwMiAyMjcgMDQwIDMwMiAyMzAgMDQwIDMwMiAyMzEgMDQwIDMwMiAyMzIKKzAwMDAxNTAgMDQwIDMwMiAyMzMgMDQwIDMwMiAyMzQgMDQwIDMwMiAyMzUgMDQwIDMwMiAyMzYgMDQwIDMwMiAyMzcgMDQwCiswMDAwMTYwIDMwMiAyNDAgMDQwIDMwMiAyNDEgMDQwIDMwMiAyNDIgMDQwIDMwMiAyNDMgMDQwIDMwMiAyNDQgMDQwIDMwMgorMDAwMDE3MCAyNDUgMDQwIDMwMiAyNDYgMDQwIDMwMiAyNDcgMDQwIDMwMiAyNTAgMDQwIDMwMiAyNTEgMDQwIDMwMiAyNTIKKzAwMDAxODAgMDQwIDMwMiAyNTMgMDQwIDMwMiAyNTQgMDQwIDMwMiAyNTUgMDQwIDMwMiAyNTYgMDQwIDMwMiAyNTcgMDQwCiswMDAwMTkwIDMwMiAyNjAgMDQwIDMwMiAyNjEgMDQwIDMwMiAyNjIgMDQwIDMwMiAyNjMgMDQwIDMwMiAyNjQgMDQwIDMwMgorMDAwMDFhMCAyNjUgMDQwIDMwMiAyNjYgMDQwIDMwMiAyNjcgMDQwIDMwMiAyNzAgMDQwIDMwMiAyNzEgMDQwIDMwMiAyNzIKKzAwMDAxYjAgMDQwIDMwMiAyNzMgMDQwIDMwMiAyNzQgMDQwIDMwMiAyNzUgMDQwIDMwMiAyNzYgMDQwIDMwMiAyNzcgMDQwCiswMDAwMWMwIDMwMyAyMDAgMDQwIDMwMyAyMDEgMDQwIDMwMyAyMDIgMDQwIDMwMyAyMDMgMDQwIDMwMyAyMDQgMDQwIDMwMworMDAwMDFkMCAyMDUgMDQwIDMwMyAyMDYgMDQwIDMwMyAyMDcgMDQwIDMwMyAyMTAgMDQwIDMwMyAyMTEgMDQwIDMwMyAyMTIKKzAwMDAxZTAgMDQwIDMwMyAyMTMgMDQwIDMwMyAyMTQgMDQwIDMwMyAyMTUgMDQwIDMwMyAyMTYgMDQwIDMwMyAyMTcgMDQwCiswMDAwMWYwIDMwMyAyMjAgMDQwIDMwMyAyMjEgMDQwIDMwMyAyMjIgMDQwIDMwMyAyMjMgMDQwIDMwMyAyMjQgMDQwIDMwMworMDAwMDIwMCAyMjUgMDQwIDMwMyAyMjYgMDQwIDMwMyAyMjcgMDQwIDMwMyAyMzAgMDQwIDMwMyAyMzEgMDQwIDMwMyAyMzIKKzAwMDAyMTAgMDQwIDMwMyAyMzMgMDQwIDMwMyAyMzQgMDQwIDMwMyAyMzUgMDQwIDMwMyAyMzYgMDQwIDMwMyAyMzcgMDQwCiswMDAwMjIwIDMwMyAyNDAgMDQwIDMwMyAyNDEgMDQwIDMwMyAyNDIgMDQwIDMwMyAyNDMgMDQwIDMwMyAyNDQgMDQwIDMwMworMDAwMDIzMCAyNDUgMDQwIDMwMyAyNDYgMDQwIDMwMyAyNDcgMDQwIDMwMyAyNTAgMDQwIDMwMyAyNTEgMDQwIDMwMyAyNTIKKzAwMDAyNDAgMDQwIDMwMyAyNTMgMDQwIDMwMyAyNTQgMDQwIDMwMyAyNTUgMDQwIDMwMyAyNTYgMDQwIDMwMyAyNTcgMDQwCiswMDAwMjUwIDMwMyAyNjAgMDQwIDMwMyAyNjEgMDQwIDMwMyAyNjIgMDQwIDMwMyAyNjMgMDQwIDMwMyAyNjQgMDQwIDMwMworMDAwMDI2MCAyNjUgMDQwIDMwMyAyNjYgMDQwIDMwMyAyNjcgMDQwIDMwMyAyNzAgMDQwIDMwMyAyNzEgMDQwIDMwMyAyNzIKKzAwMDAyNzAgMDQwIDMwMyAyNzMgMDQwIDMwMyAyNzQgMDQwIDMwMyAyNzUgMDQwIDMwMyAyNzYgMDQwIDMwMyAyNzcgMDQwCiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC04IGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41M2E4MzE4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtOApAQCAtMCwwICsxLDQxIEBACiswMDAwMDAwIDAwMCAwNDAgMDAxIDA0MCAwMDIgMDQwIDAwMyAwNDAgMDA0IDA0MCAwMDUgMDQwIDAwNiAwNDAgMDA3IDA0MAorMDAwMDAxMCAwMTAgMDQwIDAxMSAwNDAgMDEyIDA0MCAwMTMgMDQwIDAxNCAwNDAgMDE1IDA0MCAwMTYgMDQwIDAxNyAwNDAKKzAwMDAwMjAgMDIwIDA0MCAwMjEgMDQwIDAyMiAwNDAgMDIzIDA0MCAwMjQgMDQwIDAyNSAwNDAgMDI2IDA0MCAwMjcgMDQwCiswMDAwMDMwIDAzMCAwNDAgMDMxIDA0MCAwMzIgMDQwIDAzMyAwNDAgMDM0IDA0MCAwMzUgMDQwIDAzNiAwNDAgMDM3IDA0MAorMDAwMDA0MCAwNDAgMDQwIDA0MSAwNDAgMDQyIDA0MCAwNDMgMDQwIDA0NCAwNDAgMDQ1IDA0MCAwNDYgMDQwIDA0NyAwNDAKKzAwMDAwNTAgMDUwIDA0MCAwNTEgMDQwIDA1MiAwNDAgMDUzIDA0MCAwNTQgMDQwIDA1NSAwNDAgMDU2IDA0MCAwNTcgMDQwCiswMDAwMDYwIDA2MCAwNDAgMDYxIDA0MCAwNjIgMDQwIDA2MyAwNDAgMDY0IDA0MCAwNjUgMDQwIDA2NiAwNDAgMDY3IDA0MAorMDAwMDA3MCAwNzAgMDQwIDA3MSAwNDAgMDcyIDA0MCAwNzMgMDQwIDA3NCAwNDAgMDc1IDA0MCAwNzYgMDQwIDA3NyAwNDAKKzAwMDAwODAgMTAwIDA0MCAbWzMxbTEwMRtbMG0gMDQwIDEwMiAwNDAgMTAzIDA0MCAxMDQgMDQwIDEwNSAwNDAgMTA2IDA0MCAxMDcgMDQwCiswMDAwMDkwIDExMCAwNDAgMTExIDA0MCAxMTIgMDQwIDExMyAwNDAgMTE0IDA0MCAxMTUgMDQwIDExNiAwNDAgMTE3IDA0MAorMDAwMDBhMCAxMjAgMDQwIDEyMSAwNDAgMTIyIDA0MCAxMjMgMDQwIDEyNCAwNDAgMTI1IDA0MCAxMjYgMDQwIDEyNyAwNDAKKzAwMDAwYjAgMTMwIDA0MCAxMzEgMDQwIDEzMiAwNDAgMTMzIDA0MCAxMzQgMDQwIDEzNSAwNDAgG1szMm0xMzYbWzBtIDA0MCAxMzcgMDQwCiswMDAwMGMwIDE0MCAwNDAgG1szNG0xNDEbWzBtIDA0MCAxNDIgMDQwIDE0MyAwNDAgMTQ0IDA0MCAxNDUgMDQwIDE0NiAwNDAgMTQ3IDA0MAorMDAwMDBkMCAxNTAgMDQwIDE1MSAwNDAgMTUyIDA0MCAxNTMgMDQwIDE1NCAwNDAgMTU1IDA0MCAxNTYgMDQwIDE1NyAwNDAKKzAwMDAwZTAgMTYwIDA0MCAxNjEgMDQwIDE2MiAwNDAgMTYzIDA0MCAxNjQgMDQwIDE2NSAwNDAgMTY2IDA0MCAxNjcgMDQwCiswMDAwMGYwIDE3MCAwNDAgMTcxIDA0MCAxNzIgMDQwIDE3MyAwNDAgMTc0IDA0MCAxNzUgMDQwIDE3NiAwNDAgMTc3IDA0MAorMDAwMDEwMCAzMDIgMjAwIDA0MCAzMDIgMjAxIDA0MCAzMDIgMjAyIDA0MCAzMDIgMjAzIDA0MCAzMDIgMjA0IDA0MCAzMDIKKzAwMDAxMTAgMjA1IDA0MCAzMDIgMjA2IDA0MCAzMDIgMjA3IDA0MCAzMDIgMjEwIDA0MCAzMDIgMjExIDA0MCAzMDIgMjEyCiswMDAwMTIwIDA0MCAzMDIgMjEzIDA0MCAzMDIgMjE0IDA0MCAzMDIgMjE1IDA0MCAzMDIgMjE2IDA0MCAzMDIgMjE3IDA0MAorMDAwMDEzMCAzMDIgMjIwIDA0MCAzMDIgMjIxIDA0MCAzMDIgMjIyIDA0MCAzMDIgMjIzIDA0MCAzMDIgMjI0IDA0MCAzMDIKKzAwMDAxNDAgMjI1IDA0MCAzMDIgMjI2IDA0MCAzMDIgMjI3IDA0MCAzMDIgMjMwIDA0MCAzMDIgMjMxIDA0MCAzMDIgMjMyCiswMDAwMTUwIDA0MCAzMDIgMjMzIDA0MCAzMDIgMjM0IDA0MCAzMDIgMjM1IDA0MCAzMDIgMjM2IDA0MCAzMDIgMjM3IDA0MAorMDAwMDE2MCAzMDIgMjQwIDA0MCAzMDIgMjQxIDA0MCAzMDIgMjQyIDA0MCAzMDIgMjQzIDA0MCAzMDIgMjQ0IDA0MCAzMDIKKzAwMDAxNzAgMjQ1IDA0MCAzMDIgMjQ2IDA0MCAzMDIgMjQ3IDA0MCAzMDIgMjUwIDA0MCAzMDIgMjUxIDA0MCAzMDIgMjUyCiswMDAwMTgwIDA0MCAzMDIgMjUzIDA0MCAzMDIgMjU0IDA0MCAzMDIgMjU1IDA0MCAzMDIgMjU2IDA0MCAzMDIgMjU3IDA0MAorMDAwMDE5MCAzMDIgMjYwIDA0MCAzMDIgMjYxIDA0MCAzMDIgMjYyIDA0MCAzMDIgMjYzIDA0MCAzMDIgMjY0IDA0MCAzMDIKKzAwMDAxYTAgMjY1IDA0MCAzMDIgMjY2IDA0MCAzMDIgMjY3IDA0MCAzMDIgMjcwIDA0MCAzMDIgMjcxIDA0MCAzMDIgMjcyCiswMDAwMWIwIDA0MCAzMDIgMjczIDA0MCAzMDIgMjc0IDA0MCAzMDIgMjc1IDA0MCAzMDIgMjc2IDA0MCAzMDIgMjc3IDA0MAorMDAwMDFjMCAzMDMgMjAwIDA0MCAzMDMgMjAxIDA0MCAzMDMgMjAyIDA0MCAzMDMgMjAzIDA0MCAzMDMgMjA0IDA0MCAzMDMKKzAwMDAxZDAgMjA1IDA0MCAzMDMgMjA2IDA0MCAzMDMgMjA3IDA0MCAzMDMgMjEwIDA0MCAzMDMgMjExIDA0MCAzMDMgMjEyCiswMDAwMWUwIDA0MCAzMDMgMjEzIDA0MCAzMDMgMjE0IDA0MCAzMDMgMjE1IDA0MCAzMDMgMjE2IDA0MCAzMDMgMjE3IDA0MAorMDAwMDFmMCAzMDMgMjIwIDA0MCAzMDMgMjIxIDA0MCAzMDMgMjIyIDA0MCAzMDMgMjIzIDA0MCAzMDMgMjI0IDA0MCAzMDMKKzAwMDAyMDAgMjI1IDA0MCAzMDMgMjI2IDA0MCAzMDMgMjI3IDA0MCAzMDMgMjMwIDA0MCAzMDMgMjMxIDA0MCAzMDMgMjMyCiswMDAwMjEwIDA0MCAzMDMgMjMzIDA0MCAzMDMgMjM0IDA0MCAzMDMgMjM1IDA0MCAzMDMgMjM2IDA0MCAzMDMgMjM3IDA0MAorMDAwMDIyMCAzMDMgMjQwIDA0MCAzMDMgMjQxIDA0MCAzMDMgMjQyIDA0MCAzMDMgMjQzIDA0MCAzMDMgMjQ0IDA0MCAzMDMKKzAwMDAyMzAgMjQ1IDA0MCAzMDMgMjQ2IDA0MCAzMDMgMjQ3IDA0MCAzMDMgMjUwIDA0MCAzMDMgMjUxIDA0MCAzMDMgMjUyCiswMDAwMjQwIDA0MCAzMDMgMjUzIDA0MCAzMDMgMjU0IDA0MCAzMDMgMjU1IDA0MCAzMDMgMjU2IDA0MCAzMDMgMjU3IDA0MAorMDAwMDI1MCAzMDMgMjYwIDA0MCAzMDMgMjYxIDA0MCAzMDMgMjYyIDA0MCAzMDMgMjYzIDA0MCAzMDMgMjY0IDA0MCAzMDMKKzAwMDAyNjAgMjY1IDA0MCAzMDMgMjY2IDA0MCAzMDMgMjY3IDA0MCAzMDMgMjcwIDA0MCAzMDMgMjcxIDA0MCAzMDMgMjcyCiswMDAwMjcwIDA0MCAzMDMgMjczIDA0MCAzMDMgMjc0IDA0MCAzMDMgMjc1IDA0MCAzMDMgMjc2IDA0MCAzMDMgMjc3IDA0MAorMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtOC5CRSBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTguQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWZmZDNjZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTguQkUKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMCAwMDAgMDQwIDAwMSAwNDAgMDAyIDA0MCAwMDMgMDQwIDAwNCAwNDAgMDA1IDA0MCAwMDYgMDQwIDAwNyAwNDAKKzAwMDAwMTAgMDEwIDA0MCAwMTEgMDQwIDAxMiAwNDAgMDEzIDA0MCAwMTQgMDQwIDAxNSAwNDAgMDE2IDA0MCAwMTcgMDQwCiswMDAwMDIwIDAyMCAwNDAgMDIxIDA0MCAwMjIgMDQwIDAyMyAwNDAgMDI0IDA0MCAwMjUgMDQwIDAyNiAwNDAgMDI3IDA0MAorMDAwMDAzMCAwMzAgMDQwIDAzMSAwNDAgMDMyIDA0MCAwMzMgMDQwIDAzNCAwNDAgMDM1IDA0MCAwMzYgMDQwIDAzNyAwNDAKKzAwMDAwNDAgMDQwIDA0MCAwNDEgMDQwIDA0MiAwNDAgMDQzIDA0MCAwNDQgMDQwIDA0NSAwNDAgMDQ2IDA0MCAwNDcgMDQwCiswMDAwMDUwIDA1MCAwNDAgMDUxIDA0MCAwNTIgMDQwIDA1MyAwNDAgMDU0IDA0MCAwNTUgMDQwIDA1NiAwNDAgMDU3IDA0MAorMDAwMDA2MCAwNjAgMDQwIDA2MSAwNDAgMDYyIDA0MCAwNjMgMDQwIDA2NCAwNDAgMDY1IDA0MCAwNjYgMDQwIDA2NyAwNDAKKzAwMDAwNzAgMDcwIDA0MCAwNzEgMDQwIDA3MiAwNDAgMDczIDA0MCAwNzQgMDQwIDA3NSAwNDAgMDc2IDA0MCAwNzcgMDQwCiswMDAwMDgwIDEwMCAwNDAgMTAxIDA0MCAxMDIgMDQwIDEwMyAwNDAgMTA0IDA0MCAxMDUgMDQwIDEwNiAwNDAgMTA3IDA0MAorMDAwMDA5MCAxMTAgMDQwIDExMSAwNDAgMTEyIDA0MCAxMTMgMDQwIDExNCAwNDAgMTE1IDA0MCAxMTYgMDQwIDExNyAwNDAKKzAwMDAwYTAgMTIwIDA0MCAxMjEgMDQwIDEyMiAwNDAgMTIzIDA0MCAxMjQgMDQwIDEyNSAwNDAgMTI2IDA0MCAxMjcgMDQwCiswMDAwMGIwIDEzMCAwNDAgMTMxIDA0MCAxMzIgMDQwIDEzMyAwNDAgMTM0IDA0MCAxMzUgMDQwIBtbMzJtMTM2G1swbSAwNDAgMTM3IDA0MAorMDAwMDBjMCAxNDAgMDQwIDE0MSAwNDAgMTQyIDA0MCAxNDMgMDQwIDE0NCAwNDAgMTQ1IDA0MCAxNDYgMDQwIDE0NyAwNDAKKzAwMDAwZDAgMTUwIDA0MCAxNTEgMDQwIDE1MiAwNDAgMTUzIDA0MCAxNTQgMDQwIDE1NSAwNDAgMTU2IDA0MCAxNTcgMDQwCiswMDAwMGUwIDE2MCAwNDAgMTYxIDA0MCAxNjIgMDQwIDE2MyAwNDAgMTY0IDA0MCAxNjUgMDQwIDE2NiAwNDAgMTY3IDA0MAorMDAwMDBmMCAxNzAgMDQwIDE3MSAwNDAgMTcyIDA0MCAxNzMgMDQwIDE3NCAwNDAgMTc1IDA0MCAxNzYgMDQwIDE3NyAwNDAKKzAwMDAxMDAgMzAyIDIwMCAwNDAgMzAyIDIwMSAwNDAgMzAyIDIwMiAwNDAgMzAyIDIwMyAwNDAgMzAyIDIwNCAwNDAgMzAyCiswMDAwMTEwIDIwNSAwNDAgMzAyIDIwNiAwNDAgMzAyIDIwNyAwNDAgMzAyIDIxMCAwNDAgMzAyIDIxMSAwNDAgMzAyIDIxMgorMDAwMDEyMCAwNDAgMzAyIDIxMyAwNDAgMzAyIDIxNCAwNDAgMzAyIDIxNSAwNDAgMzAyIDIxNiAwNDAgMzAyIDIxNyAwNDAKKzAwMDAxMzAgMzAyIDIyMCAwNDAgMzAyIDIyMSAwNDAgMzAyIDIyMiAwNDAgMzAyIDIyMyAwNDAgMzAyIDIyNCAwNDAgMzAyCiswMDAwMTQwIDIyNSAwNDAgMzAyIDIyNiAwNDAgMzAyIDIyNyAwNDAgMzAyIDIzMCAwNDAgMzAyIDIzMSAwNDAgMzAyIDIzMgorMDAwMDE1MCAwNDAgMzAyIDIzMyAwNDAgMzAyIDIzNCAwNDAgMzAyIDIzNSAwNDAgMzAyIDIzNiAwNDAgMzAyIDIzNyAwNDAKKzAwMDAxNjAgMzAyIDI0MCAwNDAgMzAyIDI0MSAwNDAgMzAyIDI0MiAwNDAgMzAyIDI0MyAwNDAgMzAyIDI0NCAwNDAgMzAyCiswMDAwMTcwIDI0NSAwNDAgMzAyIDI0NiAwNDAgMzAyIDI0NyAwNDAgMzAyIDI1MCAwNDAgMzAyIDI1MSAwNDAgMzAyIDI1MgorMDAwMDE4MCAwNDAgMzAyIDI1MyAwNDAgMzAyIDI1NCAwNDAgMzAyIDI1NSAwNDAgMzAyIDI1NiAwNDAgMzAyIDI1NyAwNDAKKzAwMDAxOTAgMzAyIDI2MCAwNDAgMzAyIDI2MSAwNDAgMzAyIDI2MiAwNDAgMzAyIDI2MyAwNDAgMzAyIDI2NCAwNDAgMzAyCiswMDAwMWEwIDI2NSAwNDAgMzAyIDI2NiAwNDAgMzAyIDI2NyAwNDAgMzAyIDI3MCAwNDAgMzAyIDI3MSAwNDAgMzAyIDI3MgorMDAwMDFiMCAwNDAgMzAyIDI3MyAwNDAgMzAyIDI3NCAwNDAgMzAyIDI3NSAwNDAgMzAyIDI3NiAwNDAgMzAyIDI3NyAwNDAKKzAwMDAxYzAgMzAzIDIwMCAwNDAgMzAzIDIwMSAwNDAgMzAzIDIwMiAwNDAgMzAzIDIwMyAwNDAgMzAzIDIwNCAwNDAgMzAzCiswMDAwMWQwIDIwNSAwNDAgMzAzIDIwNiAwNDAgMzAzIDIwNyAwNDAgMzAzIDIxMCAwNDAgMzAzIDIxMSAwNDAgMzAzIDIxMgorMDAwMDFlMCAwNDAgMzAzIDIxMyAwNDAgMzAzIDIxNCAwNDAgMzAzIDIxNSAwNDAgMzAzIDIxNiAwNDAgMzAzIDIxNyAwNDAKKzAwMDAxZjAgMzAzIDIyMCAwNDAgMzAzIDIyMSAwNDAgMzAzIDIyMiAwNDAgMzAzIDIyMyAwNDAgMzAzIDIyNCAwNDAgMzAzCiswMDAwMjAwIDIyNSAwNDAgMzAzIDIyNiAwNDAgMzAzIDIyNyAwNDAgMzAzIDIzMCAwNDAgMzAzIDIzMSAwNDAgMzAzIDIzMgorMDAwMDIxMCAwNDAgMzAzIDIzMyAwNDAgMzAzIDIzNCAwNDAgMzAzIDIzNSAwNDAgMzAzIDIzNiAwNDAgMzAzIDIzNyAwNDAKKzAwMDAyMjAgMzAzIDI0MCAwNDAgMzAzIDI0MSAwNDAgMzAzIDI0MiAwNDAgMzAzIDI0MyAwNDAgMzAzIDI0NCAwNDAgMzAzCiswMDAwMjMwIDI0NSAwNDAgMzAzIDI0NiAwNDAgMzAzIDI0NyAwNDAgMzAzIDI1MCAwNDAgMzAzIDI1MSAwNDAgMzAzIDI1MgorMDAwMDI0MCAwNDAgMzAzIDI1MyAwNDAgMzAzIDI1NCAwNDAgMzAzIDI1NSAwNDAgMzAzIDI1NiAwNDAgMzAzIDI1NyAwNDAKKzAwMDAyNTAgMzAzIDI2MCAwNDAgMzAzIDI2MSAwNDAgMzAzIDI2MiAwNDAgMzAzIDI2MyAwNDAgMzAzIDI2NCAwNDAgMzAzCiswMDAwMjYwIDI2NSAwNDAgMzAzIDI2NiAwNDAgMzAzIDI2NyAwNDAgMzAzIDI3MCAwNDAgMzAzIDI3MSAwNDAgMzAzIDI3MgorMDAwMDI3MCAwNDAgMzAzIDI3MyAwNDAgMzAzIDI3NCAwNDAgMzAzIDI3NSAwNDAgMzAzIDI3NiAwNDAgMzAzIDI3NyAwNDAKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTkgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC05Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0NDZiZDcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC05CkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAgMDAwIDA0MCAwMDEgMDQwIDAwMiAwNDAgMDAzIDA0MCAwMDQgMDQwIDAwNSAwNDAgMDA2IDA0MCAwMDcgMDQwCiswMDAwMDEwIDAxMCAwNDAgMDExIDA0MCAwMTIgMDQwIDAxMyAwNDAgMDE0IDA0MCAwMTUgMDQwIDAxNiAwNDAgMDE3IDA0MAorMDAwMDAyMCAwMjAgMDQwIDAyMSAwNDAgMDIyIDA0MCAwMjMgMDQwIDAyNCAwNDAgMDI1IDA0MCAwMjYgMDQwIDAyNyAwNDAKKzAwMDAwMzAgMDMwIDA0MCAwMzEgMDQwIDAzMiAwNDAgMDMzIDA0MCAwMzQgMDQwIDAzNSAwNDAgMDM2IDA0MCAwMzcgMDQwCiswMDAwMDQwIDA0MCAwNDAgMDQxIDA0MCAwNDIgMDQwIDA0MyAwNDAgMDQ0IDA0MCAwNDUgMDQwIDA0NiAwNDAgMDQ3IDA0MAorMDAwMDA1MCAwNTAgMDQwIDA1MSAwNDAgMDUyIDA0MCAwNTMgMDQwIDA1NCAwNDAgMDU1IDA0MCAwNTYgMDQwIDA1NyAwNDAKKzAwMDAwNjAgMDYwIDA0MCAwNjEgMDQwIDA2MiAwNDAgMDYzIDA0MCAwNjQgMDQwIDA2NSAwNDAgMDY2IDA0MCAwNjcgMDQwCiswMDAwMDcwIDA3MCAwNDAgMDcxIDA0MCAwNzIgMDQwIDA3MyAwNDAgMDc0IDA0MCAwNzUgMDQwIDA3NiAwNDAgMDc3IDA0MAorMDAwMDA4MCAxMDAgMDQwIBtbMzFtMTAxG1swbSAwNDAgMTAyIDA0MCAxMDMgMDQwIDEwNCAwNDAgMTA1IDA0MCAxMDYgMDQwIDEwNyAwNDAKKzAwMDAwOTAgMTEwIDA0MCAxMTEgMDQwIDExMiAwNDAgMTEzIDA0MCAxMTQgMDQwIDExNSAwNDAgMTE2IDA0MCAxMTcgMDQwCiswMDAwMGEwIDEyMCAwNDAgMTIxIDA0MCAxMjIgMDQwIDEyMyAwNDAgMTI0IDA0MCAxMjUgMDQwIDEyNiAwNDAgMTI3IDA0MAorMDAwMDBiMCAxMzAgMDQwIDEzMSAwNDAgMTMyIDA0MCAxMzMgMDQwIDEzNCAwNDAgMTM1IDA0MCAxMzYgMDQwIDEzNyAwNDAKKzAwMDAwYzAgMTQwIDA0MCAbWzM0bTE0MRtbMG0gMDQwIBtbMzJtMTQyG1swbSAwNDAgMTQzIDA0MCAxNDQgMDQwIDE0NSAwNDAgMTQ2IDA0MCAxNDcgMDQwCiswMDAwMGQwIDE1MCAwNDAgMTUxIDA0MCAxNTIgMDQwIDE1MyAwNDAgMTU0IDA0MCAxNTUgMDQwIDE1NiAwNDAgMTU3IDA0MAorMDAwMDBlMCAxNjAgMDQwIDE2MSAwNDAgMTYyIDA0MCAxNjMgMDQwIDE2NCAwNDAgMTY1IDA0MCAxNjYgMDQwIDE2NyAwNDAKKzAwMDAwZjAgMTcwIDA0MCAxNzEgMDQwIDE3MiAwNDAgMTczIDA0MCAxNzQgMDQwIDE3NSAwNDAgMTc2IDA0MCAxNzcgMDQwCiswMDAwMTAwIDMwMiAyMDAgMDQwIDMwMiAyMDEgMDQwIDMwMiAyMDIgMDQwIDMwMiAyMDMgMDQwIDMwMiAyMDQgMDQwIDMwMgorMDAwMDExMCAyMDUgMDQwIDMwMiAyMDYgMDQwIDMwMiAyMDcgMDQwIDMwMiAyMTAgMDQwIDMwMiAyMTEgMDQwIDMwMiAyMTIKKzAwMDAxMjAgMDQwIDMwMiAyMTMgMDQwIDMwMiAyMTQgMDQwIDMwMiAyMTUgMDQwIDMwMiAyMTYgMDQwIDMwMiAyMTcgMDQwCiswMDAwMTMwIDMwMiAyMjAgMDQwIDMwMiAyMjEgMDQwIDMwMiAyMjIgMDQwIDMwMiAyMjMgMDQwIDMwMiAyMjQgMDQwIDMwMgorMDAwMDE0MCAyMjUgMDQwIDMwMiAyMjYgMDQwIDMwMiAyMjcgMDQwIDMwMiAyMzAgMDQwIDMwMiAyMzEgMDQwIDMwMiAyMzIKKzAwMDAxNTAgMDQwIDMwMiAyMzMgMDQwIDMwMiAyMzQgMDQwIDMwMiAyMzUgMDQwIDMwMiAyMzYgMDQwIDMwMiAyMzcgMDQwCiswMDAwMTYwIDMwMiAyNDAgMDQwIDMwMiAyNDEgMDQwIDMwMiAyNDIgMDQwIDMwMiAyNDMgMDQwIDMwMiAyNDQgMDQwIDMwMgorMDAwMDE3MCAyNDUgMDQwIDMwMiAyNDYgMDQwIDMwMiAyNDcgMDQwIDMwMiAyNTAgMDQwIDMwMiAyNTEgMDQwIDMwMiAyNTIKKzAwMDAxODAgMDQwIDMwMiAyNTMgMDQwIDMwMiAyNTQgMDQwIDMwMiAyNTUgMDQwIDMwMiAyNTYgMDQwIDMwMiAyNTcgMDQwCiswMDAwMTkwIDMwMiAyNjAgMDQwIDMwMiAyNjEgMDQwIDMwMiAyNjIgMDQwIDMwMiAyNjMgMDQwIDMwMiAyNjQgMDQwIDMwMgorMDAwMDFhMCAyNjUgMDQwIDMwMiAyNjYgMDQwIDMwMiAyNjcgMDQwIDMwMiAyNzAgMDQwIDMwMiAyNzEgMDQwIDMwMiAyNzIKKzAwMDAxYjAgMDQwIDMwMiAyNzMgMDQwIDMwMiAyNzQgMDQwIDMwMiAyNzUgMDQwIDMwMiAyNzYgMDQwIDMwMiAyNzcgMDQwCiswMDAwMWMwIDMwMyAyMDAgMDQwIDMwMyAyMDEgMDQwIDMwMyAyMDIgMDQwIDMwMyAyMDMgMDQwIDMwMyAyMDQgMDQwIDMwMworMDAwMDFkMCAyMDUgMDQwIDMwMyAyMDYgMDQwIDMwMyAyMDcgMDQwIDMwMyAyMTAgMDQwIDMwMyAyMTEgMDQwIDMwMyAyMTIKKzAwMDAxZTAgMDQwIDMwMyAyMTMgMDQwIDMwMyAyMTQgMDQwIDMwMyAyMTUgMDQwIDMwMyAyMTYgMDQwIDMwMyAyMTcgMDQwCiswMDAwMWYwIDMwMyAyMjAgMDQwIDMwMyAyMjEgMDQwIDMwMyAyMjIgMDQwIDMwMyAyMjMgMDQwIDMwMyAyMjQgMDQwIDMwMworMDAwMDIwMCAyMjUgMDQwIDMwMyAyMjYgMDQwIDMwMyAyMjcgMDQwIDMwMyAyMzAgMDQwIDMwMyAyMzEgMDQwIDMwMyAyMzIKKzAwMDAyMTAgMDQwIDMwMyAyMzMgMDQwIDMwMyAyMzQgMDQwIDMwMyAyMzUgMDQwIDMwMyAyMzYgMDQwIDMwMyAyMzcgMDQwCiswMDAwMjIwIDMwMyAyNDAgMDQwIDMwMyAyNDEgMDQwIDMwMyAyNDIgMDQwIDMwMyAyNDMgMDQwIDMwMyAyNDQgMDQwIDMwMworMDAwMDIzMCAyNDUgMDQwIDMwMyAyNDYgMDQwIDMwMyAyNDcgMDQwIDMwMyAyNTAgMDQwIDMwMyAyNTEgMDQwIDMwMyAyNTIKKzAwMDAyNDAgMDQwIDMwMyAyNTMgMDQwIDMwMyAyNTQgMDQwIDMwMyAyNTUgMDQwIDMwMyAyNTYgMDQwIDMwMyAyNTcgMDQwCiswMDAwMjUwIDMwMyAyNjAgMDQwIDMwMyAyNjEgMDQwIDMwMyAyNjIgMDQwIDMwMyAyNjMgMDQwIDMwMyAyNjQgMDQwIDMwMworMDAwMDI2MCAyNjUgMDQwIDMwMyAyNjYgMDQwIDMwMyAyNjcgMDQwIDMwMyAyNzAgMDQwIDMwMyAyNzEgMDQwIDMwMyAyNzIKKzAwMDAyNzAgMDQwIDMwMyAyNzMgMDQwIDMwMyAyNzQgMDQwIDMwMyAyNzUgMDQwIDMwMyAyNzYgMDQwIDMwMyAyNzcgMDQwCiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC05LkJFIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtOS5CRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZWVkY2UyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtOS5CRQpAQCAtMCwwICsxLDQxIEBACiswMDAwMDAwIDAwMCAwNDAgMDAxIDA0MCAwMDIgMDQwIDAwMyAwNDAgMDA0IDA0MCAwMDUgMDQwIDAwNiAwNDAgMDA3IDA0MAorMDAwMDAxMCAwMTAgMDQwIDAxMSAwNDAgMDEyIDA0MCAwMTMgMDQwIDAxNCAwNDAgMDE1IDA0MCAwMTYgMDQwIDAxNyAwNDAKKzAwMDAwMjAgMDIwIDA0MCAwMjEgMDQwIDAyMiAwNDAgMDIzIDA0MCAwMjQgMDQwIDAyNSAwNDAgMDI2IDA0MCAwMjcgMDQwCiswMDAwMDMwIDAzMCAwNDAgMDMxIDA0MCAwMzIgMDQwIDAzMyAwNDAgMDM0IDA0MCAwMzUgMDQwIDAzNiAwNDAgMDM3IDA0MAorMDAwMDA0MCAwNDAgMDQwIDA0MSAwNDAgMDQyIDA0MCAwNDMgMDQwIDA0NCAwNDAgMDQ1IDA0MCAwNDYgMDQwIDA0NyAwNDAKKzAwMDAwNTAgMDUwIDA0MCAwNTEgMDQwIDA1MiAwNDAgMDUzIDA0MCAwNTQgMDQwIDA1NSAwNDAgMDU2IDA0MCAwNTcgMDQwCiswMDAwMDYwIDA2MCAwNDAgMDYxIDA0MCAwNjIgMDQwIDA2MyAwNDAgMDY0IDA0MCAwNjUgMDQwIDA2NiAwNDAgMDY3IDA0MAorMDAwMDA3MCAwNzAgMDQwIDA3MSAwNDAgMDcyIDA0MCAwNzMgMDQwIDA3NCAwNDAgMDc1IDA0MCAwNzYgMDQwIDA3NyAwNDAKKzAwMDAwODAgMTAwIDA0MCAxMDEgMDQwIDEwMiAwNDAgMTAzIDA0MCAxMDQgMDQwIDEwNSAwNDAgMTA2IDA0MCAxMDcgMDQwCiswMDAwMDkwIDExMCAwNDAgMTExIDA0MCAxMTIgMDQwIDExMyAwNDAgMTE0IDA0MCAxMTUgMDQwIDExNiAwNDAgMTE3IDA0MAorMDAwMDBhMCAxMjAgMDQwIDEyMSAwNDAgMTIyIDA0MCAxMjMgMDQwIDEyNCAwNDAgMTI1IDA0MCAxMjYgMDQwIDEyNyAwNDAKKzAwMDAwYjAgMTMwIDA0MCAxMzEgMDQwIDEzMiAwNDAgMTMzIDA0MCAxMzQgMDQwIDEzNSAwNDAgMTM2IDA0MCAxMzcgMDQwCiswMDAwMGMwIDE0MCAwNDAgMTQxIDA0MCAbWzMybTE0MhtbMG0gMDQwIDE0MyAwNDAgMTQ0IDA0MCAxNDUgMDQwIDE0NiAwNDAgMTQ3IDA0MAorMDAwMDBkMCAxNTAgMDQwIDE1MSAwNDAgMTUyIDA0MCAxNTMgMDQwIDE1NCAwNDAgMTU1IDA0MCAxNTYgMDQwIDE1NyAwNDAKKzAwMDAwZTAgMTYwIDA0MCAxNjEgMDQwIDE2MiAwNDAgMTYzIDA0MCAxNjQgMDQwIDE2NSAwNDAgMTY2IDA0MCAxNjcgMDQwCiswMDAwMGYwIDE3MCAwNDAgMTcxIDA0MCAxNzIgMDQwIDE3MyAwNDAgMTc0IDA0MCAxNzUgMDQwIDE3NiAwNDAgMTc3IDA0MAorMDAwMDEwMCAzMDIgMjAwIDA0MCAzMDIgMjAxIDA0MCAzMDIgMjAyIDA0MCAzMDIgMjAzIDA0MCAzMDIgMjA0IDA0MCAzMDIKKzAwMDAxMTAgMjA1IDA0MCAzMDIgMjA2IDA0MCAzMDIgMjA3IDA0MCAzMDIgMjEwIDA0MCAzMDIgMjExIDA0MCAzMDIgMjEyCiswMDAwMTIwIDA0MCAzMDIgMjEzIDA0MCAzMDIgMjE0IDA0MCAzMDIgMjE1IDA0MCAzMDIgMjE2IDA0MCAzMDIgMjE3IDA0MAorMDAwMDEzMCAzMDIgMjIwIDA0MCAzMDIgMjIxIDA0MCAzMDIgMjIyIDA0MCAzMDIgMjIzIDA0MCAzMDIgMjI0IDA0MCAzMDIKKzAwMDAxNDAgMjI1IDA0MCAzMDIgMjI2IDA0MCAzMDIgMjI3IDA0MCAzMDIgMjMwIDA0MCAzMDIgMjMxIDA0MCAzMDIgMjMyCiswMDAwMTUwIDA0MCAzMDIgMjMzIDA0MCAzMDIgMjM0IDA0MCAzMDIgMjM1IDA0MCAzMDIgMjM2IDA0MCAzMDIgMjM3IDA0MAorMDAwMDE2MCAzMDIgMjQwIDA0MCAzMDIgMjQxIDA0MCAzMDIgMjQyIDA0MCAzMDIgMjQzIDA0MCAzMDIgMjQ0IDA0MCAzMDIKKzAwMDAxNzAgMjQ1IDA0MCAzMDIgMjQ2IDA0MCAzMDIgMjQ3IDA0MCAzMDIgMjUwIDA0MCAzMDIgMjUxIDA0MCAzMDIgMjUyCiswMDAwMTgwIDA0MCAzMDIgMjUzIDA0MCAzMDIgMjU0IDA0MCAzMDIgMjU1IDA0MCAzMDIgMjU2IDA0MCAzMDIgMjU3IDA0MAorMDAwMDE5MCAzMDIgMjYwIDA0MCAzMDIgMjYxIDA0MCAzMDIgMjYyIDA0MCAzMDIgMjYzIDA0MCAzMDIgMjY0IDA0MCAzMDIKKzAwMDAxYTAgMjY1IDA0MCAzMDIgMjY2IDA0MCAzMDIgMjY3IDA0MCAzMDIgMjcwIDA0MCAzMDIgMjcxIDA0MCAzMDIgMjcyCiswMDAwMWIwIDA0MCAzMDIgMjczIDA0MCAzMDIgMjc0IDA0MCAzMDIgMjc1IDA0MCAzMDIgMjc2IDA0MCAzMDIgMjc3IDA0MAorMDAwMDFjMCAzMDMgMjAwIDA0MCAzMDMgMjAxIDA0MCAzMDMgMjAyIDA0MCAzMDMgMjAzIDA0MCAzMDMgMjA0IDA0MCAzMDMKKzAwMDAxZDAgMjA1IDA0MCAzMDMgMjA2IDA0MCAzMDMgMjA3IDA0MCAzMDMgMjEwIDA0MCAzMDMgMjExIDA0MCAzMDMgMjEyCiswMDAwMWUwIDA0MCAzMDMgMjEzIDA0MCAzMDMgMjE0IDA0MCAzMDMgMjE1IDA0MCAzMDMgMjE2IDA0MCAzMDMgMjE3IDA0MAorMDAwMDFmMCAzMDMgMjIwIDA0MCAzMDMgMjIxIDA0MCAzMDMgMjIyIDA0MCAzMDMgMjIzIDA0MCAzMDMgMjI0IDA0MCAzMDMKKzAwMDAyMDAgMjI1IDA0MCAzMDMgMjI2IDA0MCAzMDMgMjI3IDA0MCAzMDMgMjMwIDA0MCAzMDMgMjMxIDA0MCAzMDMgMjMyCiswMDAwMjEwIDA0MCAzMDMgMjMzIDA0MCAzMDMgMjM0IDA0MCAzMDMgMjM1IDA0MCAzMDMgMjM2IDA0MCAzMDMgMjM3IDA0MAorMDAwMDIyMCAzMDMgMjQwIDA0MCAzMDMgMjQxIDA0MCAzMDMgMjQyIDA0MCAzMDMgMjQzIDA0MCAzMDMgMjQ0IDA0MCAzMDMKKzAwMDAyMzAgMjQ1IDA0MCAzMDMgMjQ2IDA0MCAzMDMgMjQ3IDA0MCAzMDMgMjUwIDA0MCAzMDMgMjUxIDA0MCAzMDMgMjUyCiswMDAwMjQwIDA0MCAzMDMgMjUzIDA0MCAzMDMgMjU0IDA0MCAzMDMgMjU1IDA0MCAzMDMgMjU2IDA0MCAzMDMgMjU3IDA0MAorMDAwMDI1MCAzMDMgMjYwIDA0MCAzMDMgMjYxIDA0MCAzMDMgMjYyIDA0MCAzMDMgMjYzIDA0MCAzMDMgMjY0IDA0MCAzMDMKKzAwMDAyNjAgMjY1IDA0MCAzMDMgMjY2IDA0MCAzMDMgMjY3IDA0MCAzMDMgMjcwIDA0MCAzMDMgMjcxIDA0MCAzMDMgMjcyCiswMDAwMjcwIDA0MCAzMDMgMjczIDA0MCAzMDMgMjc0IDA0MCAzMDMgMjc1IDA0MCAzMDMgMjc2IDA0MCAzMDMgMjc3IDA0MAorMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTEgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0yYl9kZWMtMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZmIyYzVhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTEKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMCAgIDA4MTkyICAgMDgxOTMgICAwODE5NCAgIDA4MTk1ICAgMDgxOTYgICAwODE5NyAgIDA4MTk4ICAgMDgxOTkKKzAwMDAwMTAgICAwODIwMCAgIDA4MjAxICAgMDgyMDIgICAwODIwMyAgIDA4MjA0ICAgMDgyMDUgICAwODIwNiAgIDA4MjA3CiswMDAwMDIwICAgMDgyMDggICAwODIwOSAgIDA4MjEwICAgMDgyMTEgICAwODIxMiAgIDA4MjEzICAgMDgyMTQgICAwODIxNQorMDAwMDAzMCAgIDA4MjE2ICAgMDgyMTcgICAwODIxOCAgIDA4MjE5ICAgMDgyMjAgICAwODIyMSAgIDA4MjIyICAgMDgyMjMKKzAwMDAwNDAgICAwODIyNCAgIDA4MjI1ICAgMDgyMjYgICAwODIyNyAgIDA4MjI4ICAgMDgyMjkgICAwODIzMCAgIDA4MjMxCiswMDAwMDUwICAgMDgyMzIgICAwODIzMyAgIDA4MjM0ICAgMDgyMzUgICAwODIzNiAgIDA4MjM3ICAgMDgyMzggICAwODIzOQorMDAwMDA2MCAgIDA4MjQwICAgMDgyNDEgG1szMW0gIDA4MjQyG1swbSAgIDA4MjQzICAgMDgyNDQgICAwODI0NSAgIDA4MjQ2ICAgMDgyNDcKKzAwMDAwNzAgICAwODI0OCAgIDA4MjQ5ICAgMDgyNTAgICAwODI1MSAgIDA4MjUyICAgMDgyNTMgICAwODI1NCAgIDA4MjU1CiswMDAwMDgwICAgMDgyNTYgICAwODI1NyAgIDA4MjU4ICAgMDgyNTkgICAwODI2MCAgIDA4MjYxICAgMDgyNjIgICAwODI2MworMDAwMDA5MCAgIDA4MjY0ICAgMDgyNjUgICAwODI2NiAgIDA4MjY3ICAgMDgyNjggICAwODI2OSAgIDA4MjcwICAgMDgyNzEKKzAwMDAwYTAgICAwODI3MiAgIDA4MjczICAgMDgyNzQgICAwODI3NSAgIDA4Mjc2ICAgMDgyNzcgICAwODI3OCAgIDA4Mjc5CiswMDAwMGIwICAgMDgyODAgICAwODI4MSAgIDA4MjgyICAgMDgyODMgICAwODI4NCAgIDA4Mjg1ICAgMDgyODYgICAwODI4NworMDAwMDBjMCAgIDA4Mjg4ICAgMDgyODkgICAwODI5MCAgIDA4MjkxICAgMDgyOTIgICAwODI5MyAgIDA4Mjk0ICAgMDgyOTUKKzAwMDAwZDAgICAwODI5NiAgIDA4Mjk3ICAgMDgyOTggICAwODI5OSAgIDA4MzAwICAgMDgzMDEgICAwODMwMiAgIDA4MzAzCiswMDAwMGUwICAgMDgzMDQgICAwODMwNSAgIDA4MzA2ICAgMDgzMDcgICAwODMwOCAgIDA4MzA5ICAgMDgzMTAgICAwODMxMQorMDAwMDBmMCAgIDA4MzEyICAgMDgzMTMgICAwODMxNCAgIDA4MzE1ICAgMDgzMTYgICAwODMxNyAgIDA4MzE4ICAgMDgzMTkKKzAwMDAxMDAgICAzMjk2MiAgIDQ5Njk2ICAgMDgzMjEgICAzMzQ3NCAgIDQ5Njk2ICAgMDgzMjMgICAzMzk4NiAgIDQ5Njk2CiswMDAwMTEwICAgMDgzMjUgICAzNDQ5OCAgIDQ5Njk2ICAgMDgzMjcgICAzNTAxMCAgIDQ5Njk2ICAgMDgzMjkgICAzNTUyMgorMDAwMDEyMCAgIDQ5Njk2ICAgMDgzMzEgICAzNjAzNCAgIDQ5Njk2ICAgMDgzMzMgICAzNjU0NiAgIDQ5Njk2ICAgMDgzMzUKKzAwMDAxMzAgICAzNzA1OCAgIDQ5Njk2ICAgMDgzMzcgICAzNzU3MCAgIDQ5Njk2ICAgMDgzMzkgICAzODA4MiAgIDQ5Njk2CiswMDAwMTQwICAgMDgzNDEgICAzODU5NCAgIDQ5Njk2ICAgMDgzNDMgICAzOTEwNiAgIDQ5Njk2ICAgMDgzNDUgICAzOTYxOAorMDAwMDE1MCAgIDQ5Njk2ICAgMDgzNDcgICA0MDEzMCAgIDQ5Njk2ICAgMDgzNDkgICA0MDY0MiAgIDQ5Njk2ICAgMDgzNTEKKzAwMDAxNjAgICA0MTE1NCAgIDQ5Njk2ICAgMDgzNTMgICA0MTY2NiAgIDQ5Njk2ICAgMDgzNTUgICA0MjE3OCAgIDQ5Njk2CiswMDAwMTcwICAgMDgzNTcgICA0MjY5MCAgIDQ5Njk2ICAgMDgzNTkgICA0MzIwMiAgIDQ5Njk2ICAgMDgzNjEgICA0MzcxNAorMDAwMDE4MCAgIDQ5Njk2ICAgMDgzNjMgICA0NDIyNiAgIDQ5Njk2ICAgMDgzNjUgICA0NDczOCAgIDQ5Njk2ICAgMDgzNjcKKzAwMDAxOTAgICA0NTI1MCAgIDQ5Njk2ICAgMDgzNjkgICA0NTc2MiAgIDQ5Njk2ICAgMDgzNzEgICA0NjI3NCAgIDQ5Njk2CiswMDAwMWEwICAgMDgzNzMgICA0Njc4NiAgIDQ5Njk2ICAgMDgzNzUgICA0NzI5OCAgIDQ5Njk2ICAgMDgzNzcgICA0NzgxMAorMDAwMDFiMCAgIDQ5Njk2ICAgMDgzNzkgICA0ODMyMiAgIDQ5Njk2ICAgMDgzODEgICA0ODgzNCAgIDQ5Njk2ICAgMDgzODMKKzAwMDAxYzAgICAzMjk2MyAgIDQ5OTUyICAgMDgzMjEgICAzMzQ3NSAgIDQ5OTUyICAgMDgzMjMgICAzMzk4NyAgIDQ5OTUyCiswMDAwMWQwICAgMDgzMjUgICAzNDQ5OSAgIDQ5OTUyICAgMDgzMjcgICAzNTAxMSAgIDQ5OTUyICAgMDgzMjkgICAzNTUyMworMDAwMDFlMCAgIDQ5OTUyICAgMDgzMzEgICAzNjAzNSAgIDQ5OTUyICAgMDgzMzMgICAzNjU0NyAgIDQ5OTUyICAgMDgzMzUKKzAwMDAxZjAgICAzNzA1OSAgIDQ5OTUyICAgMDgzMzcgICAzNzU3MSAgIDQ5OTUyICAgMDgzMzkgICAzODA4MyAgIDQ5OTUyCiswMDAwMjAwICAgMDgzNDEgICAzODU5NSAgIDQ5OTUyICAgMDgzNDMgICAzOTEwNyAgIDQ5OTUyICAgMDgzNDUgICAzOTYxOQorMDAwMDIxMCAgIDQ5OTUyICAgMDgzNDcgICA0MDEzMSAgIDQ5OTUyICAgMDgzNDkgICA0MDY0MyAgIDQ5OTUyICAgMDgzNTEKKzAwMDAyMjAgICA0MTE1NSAgIDQ5OTUyICAgMDgzNTMgICA0MTY2NyAgIDQ5OTUyICAgMDgzNTUgICA0MjE3OSAgIDQ5OTUyCiswMDAwMjMwICAgMDgzNTcgICA0MjY5MSAgIDQ5OTUyICAgMDgzNTkgICA0MzIwMyAgIDQ5OTUyICAgMDgzNjEgICA0MzcxNQorMDAwMDI0MCAgIDQ5OTUyICAgMDgzNjMgICA0NDIyNyAgIDQ5OTUyICAgMDgzNjUgICA0NDczOSAgIDQ5OTUyICAgMDgzNjcKKzAwMDAyNTAgICA0NTI1MSAgIDQ5OTUyICAgMDgzNjkgICA0NTc2MyAgIDQ5OTUyICAgMDgzNzEgICA0NjI3NSAgIDQ5OTUyCiswMDAwMjYwICAgMDgzNzMgICA0Njc4NyAgIDQ5OTUyICAgMDgzNzUgICA0NzI5OSAgIDQ5OTUyICAgMDgzNzcgICA0NzgxMQorMDAwMDI3MCAgIDQ5OTUyICAgMDgzNzkgICA0ODMyMyAgIDQ5OTUyICAgMDgzODEgICA0ODgzNSAgIDQ5OTUyICAgMDgzODMKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy0xLkJFIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTEuQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzM1MGU2YwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy0xLkJFCkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAgICAwMDAzMiAgIDAwMjg4ICAgMDA1NDQgICAwMDgwMCAgIDAxMDU2ICAgMDEzMTIgICAwMTU2OCAgIDAxODI0CiswMDAwMDEwICAgMDIwODAgICAwMjMzNiAgIDAyNTkyICAgMDI4NDggICAwMzEwNCAgIDAzMzYwICAgMDM2MTYgICAwMzg3MgorMDAwMDAyMCAgIDA0MTI4ICAgMDQzODQgICAwNDY0MCAgIDA0ODk2ICAgMDUxNTIgICAwNTQwOCAgIDA1NjY0ICAgMDU5MjAKKzAwMDAwMzAgICAwNjE3NiAgIDA2NDMyICAgMDY2ODggICAwNjk0NCAgIDA3MjAwICAgMDc0NTYgICAwNzcxMiAgIDA3OTY4CiswMDAwMDQwICAgMDgyMjQgICAwODQ4MCAgIDA4NzM2ICAgMDg5OTIgICAwOTI0OCAgIDA5NTA0ICAgMDk3NjAgICAxMDAxNgorMDAwMDA1MCAgIDEwMjcyICAgMTA1MjggICAxMDc4NCAgIDExMDQwICAgMTEyOTYgICAxMTU1MiAgIDExODA4ICAgMTIwNjQKKzAwMDAwNjAgICAxMjMyMCAgIDEyNTc2IBtbMzFtICAxMjgzMhtbMG0gICAxMzA4OCAgIDEzMzQ0ICAgMTM2MDAgICAxMzg1NiAgIDE0MTEyCiswMDAwMDcwICAgMTQzNjggICAxNDYyNCAgIDE0ODgwICAgMTUxMzYgICAxNTM5MiAgIDE1NjQ4ICAgMTU5MDQgICAxNjE2MAorMDAwMDA4MCAgIDE2NDE2ICAgMTY2NzIgICAxNjkyOCAgIDE3MTg0ICAgMTc0NDAgICAxNzY5NiAgIDE3OTUyICAgMTgyMDgKKzAwMDAwOTAgICAxODQ2NCAgIDE4NzIwICAgMTg5NzYgICAxOTIzMiAgIDE5NDg4ICAgMTk3NDQgICAyMDAwMCAgIDIwMjU2CiswMDAwMGEwICAgMjA1MTIgICAyMDc2OCAgIDIxMDI0ICAgMjEyODAgICAyMTUzNiAgIDIxNzkyICAgMjIwNDggICAyMjMwNAorMDAwMDBiMCAgIDIyNTYwICAgMjI4MTYgICAyMzA3MiAgIDIzMzI4ICAgMjM1ODQgICAyMzg0MCAgIDI0MDk2ICAgMjQzNTIKKzAwMDAwYzAgICAyNDYwOCAgIDI0ODY0ICAgMjUxMjAgICAyNTM3NiAgIDI1NjMyICAgMjU4ODggICAyNjE0NCAgIDI2NDAwCiswMDAwMGQwICAgMjY2NTYgICAyNjkxMiAgIDI3MTY4ICAgMjc0MjQgICAyNzY4MCAgIDI3OTM2ICAgMjgxOTIgICAyODQ0OAorMDAwMDBlMCAgIDI4NzA0ICAgMjg5NjAgICAyOTIxNiAgIDI5NDcyICAgMjk3MjggICAyOTk4NCAgIDMwMjQwICAgMzA0OTYKKzAwMDAwZjAgICAzMDc1MiAgIDMxMDA4ICAgMzEyNjQgICAzMTUyMCAgIDMxNzc2ICAgMzIwMzIgICAzMjI4OCAgIDMyNTQ0CiswMDAwMTAwICAgNDk3OTIgICAwODM4NiAgIDMzMDU2ICAgNDk3OTQgICAwODM4NiAgIDMzNTY4ICAgNDk3OTYgICAwODM4NgorMDAwMDExMCAgIDM0MDgwICAgNDk3OTggICAwODM4NiAgIDM0NTkyICAgNDk4MDAgICAwODM4NiAgIDM1MTA0ICAgNDk4MDIKKzAwMDAxMjAgICAwODM4NiAgIDM1NjE2ICAgNDk4MDQgICAwODM4NiAgIDM2MTI4ICAgNDk4MDYgICAwODM4NiAgIDM2NjQwCiswMDAwMTMwICAgNDk4MDggICAwODM4NiAgIDM3MTUyICAgNDk4MTAgICAwODM4NiAgIDM3NjY0ICAgNDk4MTIgICAwODM4NgorMDAwMDE0MCAgIDM4MTc2ICAgNDk4MTQgICAwODM4NiAgIDM4Njg4ICAgNDk4MTYgICAwODM4NiAgIDM5MjAwICAgNDk4MTgKKzAwMDAxNTAgICAwODM4NiAgIDM5NzEyICAgNDk4MjAgICAwODM4NiAgIDQwMjI0ICAgNDk4MjIgICAwODM4NiAgIDQwNzM2CiswMDAwMTYwICAgNDk4MjQgICAwODM4NiAgIDQxMjQ4ICAgNDk4MjYgICAwODM4NiAgIDQxNzYwICAgNDk4MjggICAwODM4NgorMDAwMDE3MCAgIDQyMjcyICAgNDk4MzAgICAwODM4NiAgIDQyNzg0ICAgNDk4MzIgICAwODM4NiAgIDQzMjk2ICAgNDk4MzQKKzAwMDAxODAgICAwODM4NiAgIDQzODA4ICAgNDk4MzYgICAwODM4NiAgIDQ0MzIwICAgNDk4MzggICAwODM4NiAgIDQ0ODMyCiswMDAwMTkwICAgNDk4NDAgICAwODM4NiAgIDQ1MzQ0ICAgNDk4NDIgICAwODM4NiAgIDQ1ODU2ICAgNDk4NDQgICAwODM4NgorMDAwMDFhMCAgIDQ2MzY4ICAgNDk4NDYgICAwODM4NiAgIDQ2ODgwICAgNDk4NDggICAwODM4NiAgIDQ3MzkyICAgNDk4NTAKKzAwMDAxYjAgICAwODM4NiAgIDQ3OTA0ICAgNDk4NTIgICAwODM4NiAgIDQ4NDE2ICAgNDk4NTQgICAwODM4NiAgIDQ4OTI4CiswMDAwMWMwICAgNTAwNDggICAwODM4NyAgIDMzMDU2ICAgNTAwNTAgICAwODM4NyAgIDMzNTY4ICAgNTAwNTIgICAwODM4NworMDAwMDFkMCAgIDM0MDgwICAgNTAwNTQgICAwODM4NyAgIDM0NTkyICAgNTAwNTYgICAwODM4NyAgIDM1MTA0ICAgNTAwNTgKKzAwMDAxZTAgICAwODM4NyAgIDM1NjE2ICAgNTAwNjAgICAwODM4NyAgIDM2MTI4ICAgNTAwNjIgICAwODM4NyAgIDM2NjQwCiswMDAwMWYwICAgNTAwNjQgICAwODM4NyAgIDM3MTUyICAgNTAwNjYgICAwODM4NyAgIDM3NjY0ICAgNTAwNjggICAwODM4NworMDAwMDIwMCAgIDM4MTc2ICAgNTAwNzAgICAwODM4NyAgIDM4Njg4ICAgNTAwNzIgICAwODM4NyAgIDM5MjAwICAgNTAwNzQKKzAwMDAyMTAgICAwODM4NyAgIDM5NzEyICAgNTAwNzYgICAwODM4NyAgIDQwMjI0ICAgNTAwNzggICAwODM4NyAgIDQwNzM2CiswMDAwMjIwICAgNTAwODAgICAwODM4NyAgIDQxMjQ4ICAgNTAwODIgICAwODM4NyAgIDQxNzYwICAgNTAwODQgICAwODM4NworMDAwMDIzMCAgIDQyMjcyICAgNTAwODYgICAwODM4NyAgIDQyNzg0ICAgNTAwODggICAwODM4NyAgIDQzMjk2ICAgNTAwOTAKKzAwMDAyNDAgICAwODM4NyAgIDQzODA4ICAgNTAwOTIgICAwODM4NyAgIDQ0MzIwICAgNTAwOTQgICAwODM4NyAgIDQ0ODMyCiswMDAwMjUwICAgNTAwOTYgICAwODM4NyAgIDQ1MzQ0ICAgNTAwOTggICAwODM4NyAgIDQ1ODU2ICAgNTAxMDAgICAwODM4NworMDAwMDI2MCAgIDQ2MzY4ICAgNTAxMDIgICAwODM4NyAgIDQ2ODgwICAgNTAxMDQgICAwODM4NyAgIDQ3MzkyICAgNTAxMDYKKzAwMDAyNzAgICAwODM4NyAgIDQ3OTA0ICAgNTAxMDggICAwODM4NyAgIDQ4NDE2ICAgNTAxMTAgICAwODM4NyAgIDQ4OTI4CiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0yYl9kZWMtMiBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy0yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4NzIzMjMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0yYl9kZWMtMgpAQCAtMCwwICsxLDQxIEBACiswMDAwMDAwICAgMDgxOTIgICAwODE5MyAgIDA4MTk0ICAgMDgxOTUgICAwODE5NiAgIDA4MTk3ICAgMDgxOTggICAwODE5OQorMDAwMDAxMCAgIDA4MjAwICAgMDgyMDEgICAwODIwMiAgIDA4MjAzICAgMDgyMDQgICAwODIwNSAgIDA4MjA2ICAgMDgyMDcKKzAwMDAwMjAgICAwODIwOCAgIDA4MjA5ICAgMDgyMTAgICAwODIxMSAgIDA4MjEyICAgMDgyMTMgICAwODIxNCAgIDA4MjE1CiswMDAwMDMwICAgMDgyMTYgICAwODIxNyAgIDA4MjE4ICAgMDgyMTkgICAwODIyMCAgIDA4MjIxICAgMDgyMjIgICAwODIyMworMDAwMDA0MCAgIDA4MjI0ICAgMDgyMjUgICAwODIyNiAgIDA4MjI3ICAgMDgyMjggICAwODIyOSAgIDA4MjMwICAgMDgyMzEKKzAwMDAwNTAgICAwODIzMiAgIDA4MjMzICAgMDgyMzQgICAwODIzNSAgIDA4MjM2ICAgMDgyMzcgICAwODIzOCAgIDA4MjM5CiswMDAwMDYwICAgMDgyNDAgG1szMW0gIDA4MjQxG1swbSAgIDA4MjQyICAgMDgyNDMgICAwODI0NCAgIDA4MjQ1ICAgMDgyNDYgICAwODI0NworMDAwMDA3MCAgIDA4MjQ4ICAgMDgyNDkgICAwODI1MCAgIDA4MjUxICAgMDgyNTIgICAwODI1MyAgIDA4MjU0ICAgMDgyNTUKKzAwMDAwODAgICAwODI1NiAgIDA4MjU3ICAgMDgyNTggICAwODI1OSAgIDA4MjYwICAgMDgyNjEgICAwODI2MiAgIDA4MjYzCiswMDAwMDkwICAgMDgyNjQgICAwODI2NSAgIDA4MjY2ICAgMDgyNjcgICAwODI2OCAgIDA4MjY5ICAgMDgyNzAgICAwODI3MQorMDAwMDBhMCAgIDA4MjcyICAgMDgyNzMgICAwODI3NCAgIDA4Mjc1ICAgMDgyNzYgICAwODI3NyAgIDA4Mjc4ICAgMDgyNzkKKzAwMDAwYjAgICAwODI4MCAgIDA4MjgxICAgMDgyODIgICAwODI4MyAgIDA4Mjg0ICAgMDgyODUgICAwODI4NiAgIDA4Mjg3CiswMDAwMGMwICAgMDgyODggICAwODI4OSAgIDA4MjkwICAgMDgyOTEgICAwODI5MiAgIDA4MjkzICAgMDgyOTQgICAwODI5NQorMDAwMDBkMCAgIDA4Mjk2ICAgMDgyOTcgICAwODI5OCAgIDA4Mjk5ICAgMDgzMDAgICAwODMwMSAgIDA4MzAyICAgMDgzMDMKKzAwMDAwZTAgICAwODMwNCAgIDA4MzA1ICAgMDgzMDYgICAwODMwNyAgIDA4MzA4ICAgMDgzMDkgICAwODMxMCAgIDA4MzExCiswMDAwMGYwICAgMDgzMTIgICAwODMxMyAgIDA4MzE0ICAgMDgzMTUgICAwODMxNiAgIDA4MzE3ICAgMDgzMTggICAwODMxOQorMDAwMDEwMCAgIDMyOTYyICAgNDk2OTYgICAwODMyMSAgIDMzNDc0ICAgNDk2OTYgICAwODMyMyAgIDMzOTg2ICAgNDk2OTYKKzAwMDAxMTAgICAwODMyNSAgIDM0NDk4ICAgNDk2OTYgICAwODMyNyAgIDM1MDEwICAgNDk2OTYgICAwODMyOSAgIDM1NTIyCiswMDAwMTIwICAgNDk2OTYgICAwODMzMSAgIDM2MDM0ICAgNDk2OTYgICAwODMzMyAgIDM2NTQ2ICAgNDk2OTYgICAwODMzNQorMDAwMDEzMCAgIDM3MDU4ICAgNDk2OTYgICAwODMzNyAgIDM3NTcwICAgNDk2OTYgICAwODMzOSAgIDM4MDgyICAgNDk2OTYKKzAwMDAxNDAgICAwODM0MSAgIDM4NTk0ICAgNDk2OTYgICAwODM0MyAgIDM5MTA2ICAgNDk2OTYgICAwODM0NSAgIDM5NjE4CiswMDAwMTUwICAgNDk2OTYgICAwODM0NyAgIDQwMTMwICAgNDk2OTYgICAwODM0OSAgIDQwNjQyICAgNDk2OTYgICAwODM1MQorMDAwMDE2MCAgIDQxMTU0ICAgNDk2OTYgICAwODM1MyAgIDQxNjY2ICAgNDk2OTYgICAwODM1NSAgIDQyMTc4ICAgNDk2OTYKKzAwMDAxNzAgICAwODM1NyAgIDQyNjkwICAgNDk2OTYgICAwODM1OSAgIDQzMjAyICAgNDk2OTYgICAwODM2MSAgIDQzNzE0CiswMDAwMTgwICAgNDk2OTYgICAwODM2MyAgIDQ0MjI2ICAgNDk2OTYgICAwODM2NSAgIDQ0NzM4ICAgNDk2OTYgICAwODM2NworMDAwMDE5MCAgIDQ1MjUwICAgNDk2OTYgICAwODM2OSAgIDQ1NzYyICAgNDk2OTYgICAwODM3MSAgIDQ2Mjc0ICAgNDk2OTYKKzAwMDAxYTAgICAwODM3MyAgIDQ2Nzg2ICAgNDk2OTYgICAwODM3NSAgIDQ3Mjk4ICAgNDk2OTYgICAwODM3NyAgIDQ3ODEwCiswMDAwMWIwICAgNDk2OTYgICAwODM3OSAgIDQ4MzIyICAgNDk2OTYgICAwODM4MSAgIDQ4ODM0ICAgNDk2OTYgICAwODM4MworMDAwMDFjMCAgIDMyOTYzICAgNDk5NTIgICAwODMyMSAgIDMzNDc1ICAgNDk5NTIgICAwODMyMyAgIDMzOTg3ICAgNDk5NTIKKzAwMDAxZDAgICAwODMyNSAgIDM0NDk5ICAgNDk5NTIgICAwODMyNyAgIDM1MDExICAgNDk5NTIgICAwODMyOSAgIDM1NTIzCiswMDAwMWUwICAgNDk5NTIgICAwODMzMSAgIDM2MDM1ICAgNDk5NTIgICAwODMzMyAgIDM2NTQ3ICAgNDk5NTIgICAwODMzNQorMDAwMDFmMCAgIDM3MDU5ICAgNDk5NTIgICAwODMzNyAgIDM3NTcxICAgNDk5NTIgICAwODMzOSAgIDM4MDgzICAgNDk5NTIKKzAwMDAyMDAgICAwODM0MSAgIDM4NTk1ICAgNDk5NTIgICAwODM0MyAgIDM5MTA3ICAgNDk5NTIgICAwODM0NSAgIDM5NjE5CiswMDAwMjEwICAgNDk5NTIgICAwODM0NyAgIDQwMTMxICAgNDk5NTIgICAwODM0OSAgIDQwNjQzICAgNDk5NTIgICAwODM1MQorMDAwMDIyMCAgIDQxMTU1ICAgNDk5NTIgICAwODM1MyAgIDQxNjY3ICAgNDk5NTIgICAwODM1NSAgIDQyMTc5ICAgNDk5NTIKKzAwMDAyMzAgICAwODM1NyAgIDQyNjkxICAgNDk5NTIgICAwODM1OSAgIDQzMjAzICAgNDk5NTIgICAwODM2MSAgIDQzNzE1CiswMDAwMjQwICAgNDk5NTIgICAwODM2MyAgIDQ0MjI3ICAgNDk5NTIgICAwODM2NSAgIDQ0NzM5ICAgNDk5NTIgICAwODM2NworMDAwMDI1MCAgIDQ1MjUxICAgNDk5NTIgICAwODM2OSAgIDQ1NzYzICAgNDk5NTIgICAwODM3MSAgIDQ2Mjc1ICAgNDk5NTIKKzAwMDAyNjAgICAwODM3MyAgIDQ2Nzg3ICAgNDk5NTIgICAwODM3NSAgIDQ3Mjk5ICAgNDk5NTIgICAwODM3NyAgIDQ3ODExCiswMDAwMjcwICAgNDk5NTIgICAwODM3OSAgIDQ4MzIzICAgNDk5NTIgICAwODM4MSAgIDQ4ODM1ICAgNDk5NTIgICAwODM4MworMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTIuQkUgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0yYl9kZWMtMi5CRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NmI0ZmFiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTIuQkUKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMCAgIDAwMDMyICAgMDAyODggICAwMDU0NCAgIDAwODAwICAgMDEwNTYgICAwMTMxMiAgIDAxNTY4ICAgMDE4MjQKKzAwMDAwMTAgICAwMjA4MCAgIDAyMzM2ICAgMDI1OTIgICAwMjg0OCAgIDAzMTA0ICAgMDMzNjAgICAwMzYxNiAgIDAzODcyCiswMDAwMDIwICAgMDQxMjggICAwNDM4NCAgIDA0NjQwICAgMDQ4OTYgICAwNTE1MiAgIDA1NDA4ICAgMDU2NjQgICAwNTkyMAorMDAwMDAzMCAgIDA2MTc2ICAgMDY0MzIgICAwNjY4OCAgIDA2OTQ0ICAgMDcyMDAgICAwNzQ1NiAgIDA3NzEyICAgMDc5NjgKKzAwMDAwNDAgICAwODIyNCAgIDA4NDgwICAgMDg3MzYgICAwODk5MiAgIDA5MjQ4ICAgMDk1MDQgICAwOTc2MCAgIDEwMDE2CiswMDAwMDUwICAgMTAyNzIgICAxMDUyOCAgIDEwNzg0ICAgMTEwNDAgICAxMTI5NiAgIDExNTUyICAgMTE4MDggICAxMjA2NAorMDAwMDA2MCAgIDEyMzIwIBtbMzFtICAxMjU3NhtbMG0gICAxMjgzMiAgIDEzMDg4ICAgMTMzNDQgICAxMzYwMCAgIDEzODU2ICAgMTQxMTIKKzAwMDAwNzAgICAxNDM2OCAgIDE0NjI0ICAgMTQ4ODAgICAxNTEzNiAgIDE1MzkyICAgMTU2NDggICAxNTkwNCAgIDE2MTYwCiswMDAwMDgwICAgMTY0MTYgICAxNjY3MiAgIDE2OTI4ICAgMTcxODQgICAxNzQ0MCAgIDE3Njk2ICAgMTc5NTIgICAxODIwOAorMDAwMDA5MCAgIDE4NDY0ICAgMTg3MjAgICAxODk3NiAgIDE5MjMyICAgMTk0ODggICAxOTc0NCAgIDIwMDAwICAgMjAyNTYKKzAwMDAwYTAgICAyMDUxMiAgIDIwNzY4ICAgMjEwMjQgICAyMTI4MCAgIDIxNTM2ICAgMjE3OTIgICAyMjA0OCAgIDIyMzA0CiswMDAwMGIwICAgMjI1NjAgICAyMjgxNiAgIDIzMDcyICAgMjMzMjggICAyMzU4NCAgIDIzODQwICAgMjQwOTYgICAyNDM1MgorMDAwMDBjMCAgIDI0NjA4ICAgMjQ4NjQgICAyNTEyMCAgIDI1Mzc2ICAgMjU2MzIgICAyNTg4OCAgIDI2MTQ0ICAgMjY0MDAKKzAwMDAwZDAgICAyNjY1NiAgIDI2OTEyICAgMjcxNjggICAyNzQyNCAgIDI3NjgwICAgMjc5MzYgICAyODE5MiAgIDI4NDQ4CiswMDAwMGUwICAgMjg3MDQgICAyODk2MCAgIDI5MjE2ICAgMjk0NzIgICAyOTcyOCAgIDI5OTg0ICAgMzAyNDAgICAzMDQ5NgorMDAwMDBmMCAgIDMwNzUyICAgMzEwMDggICAzMTI2NCAgIDMxNTIwICAgMzE3NzYgICAzMjAzMiAgIDMyMjg4ICAgMzI1NDQKKzAwMDAxMDAgICA0OTc5MiAgIDA4Mzg2ICAgMzMwNTYgICA0OTc5NCAgIDA4Mzg2ICAgMzM1NjggICA0OTc5NiAgIDA4Mzg2CiswMDAwMTEwICAgMzQwODAgICA0OTc5OCAgIDA4Mzg2ICAgMzQ1OTIgICA0OTgwMCAgIDA4Mzg2ICAgMzUxMDQgICA0OTgwMgorMDAwMDEyMCAgIDA4Mzg2ICAgMzU2MTYgICA0OTgwNCAgIDA4Mzg2ICAgMzYxMjggICA0OTgwNiAgIDA4Mzg2ICAgMzY2NDAKKzAwMDAxMzAgICA0OTgwOCAgIDA4Mzg2ICAgMzcxNTIgICA0OTgxMCAgIDA4Mzg2ICAgMzc2NjQgICA0OTgxMiAgIDA4Mzg2CiswMDAwMTQwICAgMzgxNzYgICA0OTgxNCAgIDA4Mzg2ICAgMzg2ODggICA0OTgxNiAgIDA4Mzg2ICAgMzkyMDAgICA0OTgxOAorMDAwMDE1MCAgIDA4Mzg2ICAgMzk3MTIgICA0OTgyMCAgIDA4Mzg2ICAgNDAyMjQgICA0OTgyMiAgIDA4Mzg2ICAgNDA3MzYKKzAwMDAxNjAgICA0OTgyNCAgIDA4Mzg2ICAgNDEyNDggICA0OTgyNiAgIDA4Mzg2ICAgNDE3NjAgICA0OTgyOCAgIDA4Mzg2CiswMDAwMTcwICAgNDIyNzIgICA0OTgzMCAgIDA4Mzg2ICAgNDI3ODQgICA0OTgzMiAgIDA4Mzg2ICAgNDMyOTYgICA0OTgzNAorMDAwMDE4MCAgIDA4Mzg2ICAgNDM4MDggICA0OTgzNiAgIDA4Mzg2ICAgNDQzMjAgICA0OTgzOCAgIDA4Mzg2ICAgNDQ4MzIKKzAwMDAxOTAgICA0OTg0MCAgIDA4Mzg2ICAgNDUzNDQgICA0OTg0MiAgIDA4Mzg2ICAgNDU4NTYgICA0OTg0NCAgIDA4Mzg2CiswMDAwMWEwICAgNDYzNjggICA0OTg0NiAgIDA4Mzg2ICAgNDY4ODAgICA0OTg0OCAgIDA4Mzg2ICAgNDczOTIgICA0OTg1MAorMDAwMDFiMCAgIDA4Mzg2ICAgNDc5MDQgICA0OTg1MiAgIDA4Mzg2ICAgNDg0MTYgICA0OTg1NCAgIDA4Mzg2ICAgNDg5MjgKKzAwMDAxYzAgICA1MDA0OCAgIDA4Mzg3ICAgMzMwNTYgICA1MDA1MCAgIDA4Mzg3ICAgMzM1NjggICA1MDA1MiAgIDA4Mzg3CiswMDAwMWQwICAgMzQwODAgICA1MDA1NCAgIDA4Mzg3ICAgMzQ1OTIgICA1MDA1NiAgIDA4Mzg3ICAgMzUxMDQgICA1MDA1OAorMDAwMDFlMCAgIDA4Mzg3ICAgMzU2MTYgICA1MDA2MCAgIDA4Mzg3ICAgMzYxMjggICA1MDA2MiAgIDA4Mzg3ICAgMzY2NDAKKzAwMDAxZjAgICA1MDA2NCAgIDA4Mzg3ICAgMzcxNTIgICA1MDA2NiAgIDA4Mzg3ICAgMzc2NjQgICA1MDA2OCAgIDA4Mzg3CiswMDAwMjAwICAgMzgxNzYgICA1MDA3MCAgIDA4Mzg3ICAgMzg2ODggICA1MDA3MiAgIDA4Mzg3ICAgMzkyMDAgICA1MDA3NAorMDAwMDIxMCAgIDA4Mzg3ICAgMzk3MTIgICA1MDA3NiAgIDA4Mzg3ICAgNDAyMjQgICA1MDA3OCAgIDA4Mzg3ICAgNDA3MzYKKzAwMDAyMjAgICA1MDA4MCAgIDA4Mzg3ICAgNDEyNDggICA1MDA4MiAgIDA4Mzg3ICAgNDE3NjAgICA1MDA4NCAgIDA4Mzg3CiswMDAwMjMwICAgNDIyNzIgICA1MDA4NiAgIDA4Mzg3ICAgNDI3ODQgICA1MDA4OCAgIDA4Mzg3ICAgNDMyOTYgICA1MDA5MAorMDAwMDI0MCAgIDA4Mzg3ICAgNDM4MDggICA1MDA5MiAgIDA4Mzg3ICAgNDQzMjAgICA1MDA5NCAgIDA4Mzg3ICAgNDQ4MzIKKzAwMDAyNTAgICA1MDA5NiAgIDA4Mzg3ICAgNDUzNDQgICA1MDA5OCAgIDA4Mzg3ICAgNDU4NTYgICA1MDEwMCAgIDA4Mzg3CiswMDAwMjYwICAgNDYzNjggICA1MDEwMiAgIDA4Mzg3ICAgNDY4ODAgICA1MDEwNCAgIDA4Mzg3ICAgNDczOTIgICA1MDEwNgorMDAwMDI3MCAgIDA4Mzg3ICAgNDc5MDQgICA1MDEwOCAgIDA4Mzg3ICAgNDg0MTYgICA1MDExMCAgIDA4Mzg3ICAgNDg5MjgKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy0zIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTg3MjMyMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy0zCkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAgICAwODE5MiAgIDA4MTkzICAgMDgxOTQgICAwODE5NSAgIDA4MTk2ICAgMDgxOTcgICAwODE5OCAgIDA4MTk5CiswMDAwMDEwICAgMDgyMDAgICAwODIwMSAgIDA4MjAyICAgMDgyMDMgICAwODIwNCAgIDA4MjA1ICAgMDgyMDYgICAwODIwNworMDAwMDAyMCAgIDA4MjA4ICAgMDgyMDkgICAwODIxMCAgIDA4MjExICAgMDgyMTIgICAwODIxMyAgIDA4MjE0ICAgMDgyMTUKKzAwMDAwMzAgICAwODIxNiAgIDA4MjE3ICAgMDgyMTggICAwODIxOSAgIDA4MjIwICAgMDgyMjEgICAwODIyMiAgIDA4MjIzCiswMDAwMDQwICAgMDgyMjQgICAwODIyNSAgIDA4MjI2ICAgMDgyMjcgICAwODIyOCAgIDA4MjI5ICAgMDgyMzAgICAwODIzMQorMDAwMDA1MCAgIDA4MjMyICAgMDgyMzMgICAwODIzNCAgIDA4MjM1ICAgMDgyMzYgICAwODIzNyAgIDA4MjM4ICAgMDgyMzkKKzAwMDAwNjAgICAwODI0MCAbWzMxbSAgMDgyNDEbWzBtICAgMDgyNDIgICAwODI0MyAgIDA4MjQ0ICAgMDgyNDUgICAwODI0NiAgIDA4MjQ3CiswMDAwMDcwICAgMDgyNDggICAwODI0OSAgIDA4MjUwICAgMDgyNTEgICAwODI1MiAgIDA4MjUzICAgMDgyNTQgICAwODI1NQorMDAwMDA4MCAgIDA4MjU2ICAgMDgyNTcgICAwODI1OCAgIDA4MjU5ICAgMDgyNjAgICAwODI2MSAgIDA4MjYyICAgMDgyNjMKKzAwMDAwOTAgICAwODI2NCAgIDA4MjY1ICAgMDgyNjYgICAwODI2NyAgIDA4MjY4ICAgMDgyNjkgICAwODI3MCAgIDA4MjcxCiswMDAwMGEwICAgMDgyNzIgICAwODI3MyAgIDA4Mjc0ICAgMDgyNzUgICAwODI3NiAgIDA4Mjc3ICAgMDgyNzggICAwODI3OQorMDAwMDBiMCAgIDA4MjgwICAgMDgyODEgICAwODI4MiAgIDA4MjgzICAgMDgyODQgICAwODI4NSAgIDA4Mjg2ICAgMDgyODcKKzAwMDAwYzAgICAwODI4OCAgIDA4Mjg5ICAgMDgyOTAgICAwODI5MSAgIDA4MjkyICAgMDgyOTMgICAwODI5NCAgIDA4Mjk1CiswMDAwMGQwICAgMDgyOTYgICAwODI5NyAgIDA4Mjk4ICAgMDgyOTkgICAwODMwMCAgIDA4MzAxICAgMDgzMDIgICAwODMwMworMDAwMDBlMCAgIDA4MzA0ICAgMDgzMDUgICAwODMwNiAgIDA4MzA3ICAgMDgzMDggICAwODMwOSAgIDA4MzEwICAgMDgzMTEKKzAwMDAwZjAgICAwODMxMiAgIDA4MzEzICAgMDgzMTQgICAwODMxNSAgIDA4MzE2ICAgMDgzMTcgICAwODMxOCAgIDA4MzE5CiswMDAwMTAwICAgMzI5NjIgICA0OTY5NiAgIDA4MzIxICAgMzM0NzQgICA0OTY5NiAgIDA4MzIzICAgMzM5ODYgICA0OTY5NgorMDAwMDExMCAgIDA4MzI1ICAgMzQ0OTggICA0OTY5NiAgIDA4MzI3ICAgMzUwMTAgICA0OTY5NiAgIDA4MzI5ICAgMzU1MjIKKzAwMDAxMjAgICA0OTY5NiAgIDA4MzMxICAgMzYwMzQgICA0OTY5NiAgIDA4MzMzICAgMzY1NDYgICA0OTY5NiAgIDA4MzM1CiswMDAwMTMwICAgMzcwNTggICA0OTY5NiAgIDA4MzM3ICAgMzc1NzAgICA0OTY5NiAgIDA4MzM5ICAgMzgwODIgICA0OTY5NgorMDAwMDE0MCAgIDA4MzQxICAgMzg1OTQgICA0OTY5NiAgIDA4MzQzICAgMzkxMDYgICA0OTY5NiAgIDA4MzQ1ICAgMzk2MTgKKzAwMDAxNTAgICA0OTY5NiAgIDA4MzQ3ICAgNDAxMzAgICA0OTY5NiAgIDA4MzQ5ICAgNDA2NDIgICA0OTY5NiAgIDA4MzUxCiswMDAwMTYwICAgNDExNTQgICA0OTY5NiAgIDA4MzUzICAgNDE2NjYgICA0OTY5NiAgIDA4MzU1ICAgNDIxNzggICA0OTY5NgorMDAwMDE3MCAgIDA4MzU3ICAgNDI2OTAgICA0OTY5NiAgIDA4MzU5ICAgNDMyMDIgICA0OTY5NiAgIDA4MzYxICAgNDM3MTQKKzAwMDAxODAgICA0OTY5NiAgIDA4MzYzICAgNDQyMjYgICA0OTY5NiAgIDA4MzY1ICAgNDQ3MzggICA0OTY5NiAgIDA4MzY3CiswMDAwMTkwICAgNDUyNTAgICA0OTY5NiAgIDA4MzY5ICAgNDU3NjIgICA0OTY5NiAgIDA4MzcxICAgNDYyNzQgICA0OTY5NgorMDAwMDFhMCAgIDA4MzczICAgNDY3ODYgICA0OTY5NiAgIDA4Mzc1ICAgNDcyOTggICA0OTY5NiAgIDA4Mzc3ICAgNDc4MTAKKzAwMDAxYjAgICA0OTY5NiAgIDA4Mzc5ICAgNDgzMjIgICA0OTY5NiAgIDA4MzgxICAgNDg4MzQgICA0OTY5NiAgIDA4MzgzCiswMDAwMWMwICAgMzI5NjMgICA0OTk1MiAgIDA4MzIxICAgMzM0NzUgICA0OTk1MiAgIDA4MzIzICAgMzM5ODcgICA0OTk1MgorMDAwMDFkMCAgIDA4MzI1ICAgMzQ0OTkgICA0OTk1MiAgIDA4MzI3ICAgMzUwMTEgICA0OTk1MiAgIDA4MzI5ICAgMzU1MjMKKzAwMDAxZTAgICA0OTk1MiAgIDA4MzMxICAgMzYwMzUgICA0OTk1MiAgIDA4MzMzICAgMzY1NDcgICA0OTk1MiAgIDA4MzM1CiswMDAwMWYwICAgMzcwNTkgICA0OTk1MiAgIDA4MzM3ICAgMzc1NzEgICA0OTk1MiAgIDA4MzM5ICAgMzgwODMgICA0OTk1MgorMDAwMDIwMCAgIDA4MzQxICAgMzg1OTUgICA0OTk1MiAgIDA4MzQzICAgMzkxMDcgICA0OTk1MiAgIDA4MzQ1ICAgMzk2MTkKKzAwMDAyMTAgICA0OTk1MiAgIDA4MzQ3ICAgNDAxMzEgICA0OTk1MiAgIDA4MzQ5ICAgNDA2NDMgICA0OTk1MiAgIDA4MzUxCiswMDAwMjIwICAgNDExNTUgICA0OTk1MiAgIDA4MzUzICAgNDE2NjcgICA0OTk1MiAgIDA4MzU1ICAgNDIxNzkgICA0OTk1MgorMDAwMDIzMCAgIDA4MzU3ICAgNDI2OTEgICA0OTk1MiAgIDA4MzU5ICAgNDMyMDMgICA0OTk1MiAgIDA4MzYxICAgNDM3MTUKKzAwMDAyNDAgICA0OTk1MiAgIDA4MzYzICAgNDQyMjcgICA0OTk1MiAgIDA4MzY1ICAgNDQ3MzkgICA0OTk1MiAgIDA4MzY3CiswMDAwMjUwICAgNDUyNTEgICA0OTk1MiAgIDA4MzY5ICAgNDU3NjMgICA0OTk1MiAgIDA4MzcxICAgNDYyNzUgICA0OTk1MgorMDAwMDI2MCAgIDA4MzczICAgNDY3ODcgICA0OTk1MiAgIDA4Mzc1ICAgNDcyOTkgICA0OTk1MiAgIDA4Mzc3ICAgNDc4MTEKKzAwMDAyNzAgICA0OTk1MiAgIDA4Mzc5ICAgNDgzMjMgICA0OTk1MiAgIDA4MzgxICAgNDg4MzUgICA0OTk1MiAgIDA4MzgzCiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0yYl9kZWMtMy5CRSBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy0zLkJFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2YjRmYWIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0yYl9kZWMtMy5CRQpAQCAtMCwwICsxLDQxIEBACiswMDAwMDAwICAgMDAwMzIgICAwMDI4OCAgIDAwNTQ0ICAgMDA4MDAgICAwMTA1NiAgIDAxMzEyICAgMDE1NjggICAwMTgyNAorMDAwMDAxMCAgIDAyMDgwICAgMDIzMzYgICAwMjU5MiAgIDAyODQ4ICAgMDMxMDQgICAwMzM2MCAgIDAzNjE2ICAgMDM4NzIKKzAwMDAwMjAgICAwNDEyOCAgIDA0Mzg0ICAgMDQ2NDAgICAwNDg5NiAgIDA1MTUyICAgMDU0MDggICAwNTY2NCAgIDA1OTIwCiswMDAwMDMwICAgMDYxNzYgICAwNjQzMiAgIDA2Njg4ICAgMDY5NDQgICAwNzIwMCAgIDA3NDU2ICAgMDc3MTIgICAwNzk2OAorMDAwMDA0MCAgIDA4MjI0ICAgMDg0ODAgICAwODczNiAgIDA4OTkyICAgMDkyNDggICAwOTUwNCAgIDA5NzYwICAgMTAwMTYKKzAwMDAwNTAgICAxMDI3MiAgIDEwNTI4ICAgMTA3ODQgICAxMTA0MCAgIDExMjk2ICAgMTE1NTIgICAxMTgwOCAgIDEyMDY0CiswMDAwMDYwICAgMTIzMjAgG1szMW0gIDEyNTc2G1swbSAgIDEyODMyICAgMTMwODggICAxMzM0NCAgIDEzNjAwICAgMTM4NTYgICAxNDExMgorMDAwMDA3MCAgIDE0MzY4ICAgMTQ2MjQgICAxNDg4MCAgIDE1MTM2ICAgMTUzOTIgICAxNTY0OCAgIDE1OTA0ICAgMTYxNjAKKzAwMDAwODAgICAxNjQxNiAgIDE2NjcyICAgMTY5MjggICAxNzE4NCAgIDE3NDQwICAgMTc2OTYgICAxNzk1MiAgIDE4MjA4CiswMDAwMDkwICAgMTg0NjQgICAxODcyMCAgIDE4OTc2ICAgMTkyMzIgICAxOTQ4OCAgIDE5NzQ0ICAgMjAwMDAgICAyMDI1NgorMDAwMDBhMCAgIDIwNTEyICAgMjA3NjggICAyMTAyNCAgIDIxMjgwICAgMjE1MzYgICAyMTc5MiAgIDIyMDQ4ICAgMjIzMDQKKzAwMDAwYjAgICAyMjU2MCAgIDIyODE2ICAgMjMwNzIgICAyMzMyOCAgIDIzNTg0ICAgMjM4NDAgICAyNDA5NiAgIDI0MzUyCiswMDAwMGMwICAgMjQ2MDggICAyNDg2NCAgIDI1MTIwICAgMjUzNzYgICAyNTYzMiAgIDI1ODg4ICAgMjYxNDQgICAyNjQwMAorMDAwMDBkMCAgIDI2NjU2ICAgMjY5MTIgICAyNzE2OCAgIDI3NDI0ICAgMjc2ODAgICAyNzkzNiAgIDI4MTkyICAgMjg0NDgKKzAwMDAwZTAgICAyODcwNCAgIDI4OTYwICAgMjkyMTYgICAyOTQ3MiAgIDI5NzI4ICAgMjk5ODQgICAzMDI0MCAgIDMwNDk2CiswMDAwMGYwICAgMzA3NTIgICAzMTAwOCAgIDMxMjY0ICAgMzE1MjAgICAzMTc3NiAgIDMyMDMyICAgMzIyODggICAzMjU0NAorMDAwMDEwMCAgIDQ5NzkyICAgMDgzODYgICAzMzA1NiAgIDQ5Nzk0ICAgMDgzODYgICAzMzU2OCAgIDQ5Nzk2ICAgMDgzODYKKzAwMDAxMTAgICAzNDA4MCAgIDQ5Nzk4ICAgMDgzODYgICAzNDU5MiAgIDQ5ODAwICAgMDgzODYgICAzNTEwNCAgIDQ5ODAyCiswMDAwMTIwICAgMDgzODYgICAzNTYxNiAgIDQ5ODA0ICAgMDgzODYgICAzNjEyOCAgIDQ5ODA2ICAgMDgzODYgICAzNjY0MAorMDAwMDEzMCAgIDQ5ODA4ICAgMDgzODYgICAzNzE1MiAgIDQ5ODEwICAgMDgzODYgICAzNzY2NCAgIDQ5ODEyICAgMDgzODYKKzAwMDAxNDAgICAzODE3NiAgIDQ5ODE0ICAgMDgzODYgICAzODY4OCAgIDQ5ODE2ICAgMDgzODYgICAzOTIwMCAgIDQ5ODE4CiswMDAwMTUwICAgMDgzODYgICAzOTcxMiAgIDQ5ODIwICAgMDgzODYgICA0MDIyNCAgIDQ5ODIyICAgMDgzODYgICA0MDczNgorMDAwMDE2MCAgIDQ5ODI0ICAgMDgzODYgICA0MTI0OCAgIDQ5ODI2ICAgMDgzODYgICA0MTc2MCAgIDQ5ODI4ICAgMDgzODYKKzAwMDAxNzAgICA0MjI3MiAgIDQ5ODMwICAgMDgzODYgICA0Mjc4NCAgIDQ5ODMyICAgMDgzODYgICA0MzI5NiAgIDQ5ODM0CiswMDAwMTgwICAgMDgzODYgICA0MzgwOCAgIDQ5ODM2ICAgMDgzODYgICA0NDMyMCAgIDQ5ODM4ICAgMDgzODYgICA0NDgzMgorMDAwMDE5MCAgIDQ5ODQwICAgMDgzODYgICA0NTM0NCAgIDQ5ODQyICAgMDgzODYgICA0NTg1NiAgIDQ5ODQ0ICAgMDgzODYKKzAwMDAxYTAgICA0NjM2OCAgIDQ5ODQ2ICAgMDgzODYgICA0Njg4MCAgIDQ5ODQ4ICAgMDgzODYgICA0NzM5MiAgIDQ5ODUwCiswMDAwMWIwICAgMDgzODYgICA0NzkwNCAgIDQ5ODUyICAgMDgzODYgICA0ODQxNiAgIDQ5ODU0ICAgMDgzODYgICA0ODkyOAorMDAwMDFjMCAgIDUwMDQ4ICAgMDgzODcgICAzMzA1NiAgIDUwMDUwICAgMDgzODcgICAzMzU2OCAgIDUwMDUyICAgMDgzODcKKzAwMDAxZDAgICAzNDA4MCAgIDUwMDU0ICAgMDgzODcgICAzNDU5MiAgIDUwMDU2ICAgMDgzODcgICAzNTEwNCAgIDUwMDU4CiswMDAwMWUwICAgMDgzODcgICAzNTYxNiAgIDUwMDYwICAgMDgzODcgICAzNjEyOCAgIDUwMDYyICAgMDgzODcgICAzNjY0MAorMDAwMDFmMCAgIDUwMDY0ICAgMDgzODcgICAzNzE1MiAgIDUwMDY2ICAgMDgzODcgICAzNzY2NCAgIDUwMDY4ICAgMDgzODcKKzAwMDAyMDAgICAzODE3NiAgIDUwMDcwICAgMDgzODcgICAzODY4OCAgIDUwMDcyICAgMDgzODcgICAzOTIwMCAgIDUwMDc0CiswMDAwMjEwICAgMDgzODcgICAzOTcxMiAgIDUwMDc2ICAgMDgzODcgICA0MDIyNCAgIDUwMDc4ICAgMDgzODcgICA0MDczNgorMDAwMDIyMCAgIDUwMDgwICAgMDgzODcgICA0MTI0OCAgIDUwMDgyICAgMDgzODcgICA0MTc2MCAgIDUwMDg0ICAgMDgzODcKKzAwMDAyMzAgICA0MjI3MiAgIDUwMDg2ICAgMDgzODcgICA0Mjc4NCAgIDUwMDg4ICAgMDgzODcgICA0MzI5NiAgIDUwMDkwCiswMDAwMjQwICAgMDgzODcgICA0MzgwOCAgIDUwMDkyICAgMDgzODcgICA0NDMyMCAgIDUwMDk0ICAgMDgzODcgICA0NDgzMgorMDAwMDI1MCAgIDUwMDk2ICAgMDgzODcgICA0NTM0NCAgIDUwMDk4ICAgMDgzODcgICA0NTg1NiAgIDUwMTAwICAgMDgzODcKKzAwMDAyNjAgICA0NjM2OCAgIDUwMTAyICAgMDgzODcgICA0Njg4MCAgIDUwMTA0ICAgMDgzODcgICA0NzM5MiAgIDUwMTA2CiswMDAwMjcwICAgMDgzODcgICA0NzkwNCAgIDUwMTA4ICAgMDgzODcgICA0ODQxNiAgIDUwMTEwICAgMDgzODcgICA0ODkyOAorMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTQgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0yYl9kZWMtNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjExMWMyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTQKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMCAgIDA4MTkyICAgMDgxOTMgICAwODE5NCAgIDA4MTk1ICAgMDgxOTYgICAwODE5NyAgIDA4MTk4ICAgMDgxOTkKKzAwMDAwMTAgICAwODIwMCAgIDA4MjAxICAgMDgyMDIgICAwODIwMyAgIDA4MjA0ICAgMDgyMDUgICAwODIwNiAgIDA4MjA3CiswMDAwMDIwICAgMDgyMDggICAwODIwOSAgIDA4MjEwICAgMDgyMTEgICAwODIxMiAgIDA4MjEzICAgMDgyMTQgICAwODIxNQorMDAwMDAzMCAgIDA4MjE2ICAgMDgyMTcgICAwODIxOCAgIDA4MjE5ICAgMDgyMjAgICAwODIyMSAgIDA4MjIyICAgMDgyMjMKKzAwMDAwNDAgICAwODIyNCAgIDA4MjI1ICAgMDgyMjYgICAwODIyNyAgIDA4MjI4ICAgMDgyMjkgICAwODIzMCAgIDA4MjMxCiswMDAwMDUwICAgMDgyMzIgICAwODIzMyAgIDA4MjM0ICAgMDgyMzUgICAwODIzNiAgIDA4MjM3ICAgMDgyMzggICAwODIzOQorMDAwMDA2MCAgIDA4MjQwICAgMDgyNDEgICAwODI0MiAgIDA4MjQzICAgMDgyNDQgICAwODI0NSAgIDA4MjQ2ICAgMDgyNDcKKzAwMDAwNzAgICAwODI0OCAgIDA4MjQ5ICAgMDgyNTAgICAwODI1MSAgIDA4MjUyICAgMDgyNTMgICAwODI1NCAgIDA4MjU1CiswMDAwMDgwICAgMDgyNTYgG1szMW0gIDA4MjU3G1swbSAgIDA4MjU4ICAgMDgyNTkgICAwODI2MCAgIDA4MjYxICAgMDgyNjIgICAwODI2MworMDAwMDA5MCAgIDA4MjY0ICAgMDgyNjUgICAwODI2NiAgIDA4MjY3ICAgMDgyNjggICAwODI2OSAgIDA4MjcwICAgMDgyNzEKKzAwMDAwYTAgICAwODI3MiAgIDA4MjczICAgMDgyNzQgICAwODI3NSAgIDA4Mjc2ICAgMDgyNzcgICAwODI3OCAgIDA4Mjc5CiswMDAwMGIwICAgMDgyODAgICAwODI4MSAgIDA4MjgyICAgMDgyODMgICAwODI4NCAgIDA4Mjg1ICAgMDgyODYgICAwODI4NworMDAwMDBjMCAgIDA4Mjg4ICAgMDgyODkgICAwODI5MCAgIDA4MjkxICAgMDgyOTIgICAwODI5MyAgIDA4Mjk0ICAgMDgyOTUKKzAwMDAwZDAgICAwODI5NiAgIDA4Mjk3ICAgMDgyOTggICAwODI5OSAgIDA4MzAwICAgMDgzMDEgICAwODMwMiAgIDA4MzAzCiswMDAwMGUwICAgMDgzMDQgICAwODMwNSAgIDA4MzA2ICAgMDgzMDcgICAwODMwOCAgIDA4MzA5ICAgMDgzMTAgICAwODMxMQorMDAwMDBmMCAgIDA4MzEyICAgMDgzMTMgICAwODMxNCAgIDA4MzE1ICAgMDgzMTYgICAwODMxNyAgIDA4MzE4ICAgMDgzMTkKKzAwMDAxMDAgICAzMjk2MiAgIDQ5Njk2ICAgMDgzMjEgICAzMzQ3NCAgIDQ5Njk2ICAgMDgzMjMgICAzMzk4NiAgIDQ5Njk2CiswMDAwMTEwICAgMDgzMjUgICAzNDQ5OCAgIDQ5Njk2ICAgMDgzMjcgICAzNTAxMCAgIDQ5Njk2ICAgMDgzMjkgICAzNTUyMgorMDAwMDEyMCAgIDQ5Njk2ICAgMDgzMzEgICAzNjAzNCAgIDQ5Njk2ICAgMDgzMzMgICAzNjU0NiAgIDQ5Njk2ICAgMDgzMzUKKzAwMDAxMzAgICAzNzA1OCAgIDQ5Njk2ICAgMDgzMzcgICAzNzU3MCAgIDQ5Njk2ICAgMDgzMzkgICAzODA4MiAgIDQ5Njk2CiswMDAwMTQwICAgMDgzNDEgICAzODU5NCAgIDQ5Njk2ICAgMDgzNDMgICAzOTEwNiAgIDQ5Njk2ICAgMDgzNDUgICAzOTYxOAorMDAwMDE1MCAgIDQ5Njk2ICAgMDgzNDcgICA0MDEzMCAgIDQ5Njk2ICAgMDgzNDkgICA0MDY0MiAgIDQ5Njk2ICAgMDgzNTEKKzAwMDAxNjAgICA0MTE1NCAgIDQ5Njk2ICAgMDgzNTMgICA0MTY2NiAgIDQ5Njk2ICAgMDgzNTUgICA0MjE3OCAgIDQ5Njk2CiswMDAwMTcwICAgMDgzNTcgICA0MjY5MCAgIDQ5Njk2ICAgMDgzNTkgICA0MzIwMiAgIDQ5Njk2ICAgMDgzNjEgICA0MzcxNAorMDAwMDE4MCAgIDQ5Njk2ICAgMDgzNjMgICA0NDIyNiAgIDQ5Njk2ICAgMDgzNjUgICA0NDczOCAgIDQ5Njk2ICAgMDgzNjcKKzAwMDAxOTAgICA0NTI1MCAgIDQ5Njk2ICAgMDgzNjkgICA0NTc2MiAgIDQ5Njk2ICAgMDgzNzEgICA0NjI3NCAgIDQ5Njk2CiswMDAwMWEwICAgMDgzNzMgICA0Njc4NiAgIDQ5Njk2ICAgMDgzNzUgICA0NzI5OCAgIDQ5Njk2ICAgMDgzNzcgICA0NzgxMAorMDAwMDFiMCAgIDQ5Njk2ICAgMDgzNzkgICA0ODMyMiAgIDQ5Njk2ICAgMDgzODEgICA0ODgzNCAgIDQ5Njk2ICAgMDgzODMKKzAwMDAxYzAgICAzMjk2MyAgIDQ5OTUyICAgMDgzMjEgICAzMzQ3NSAgIDQ5OTUyICAgMDgzMjMgICAzMzk4NyAgIDQ5OTUyCiswMDAwMWQwICAgMDgzMjUgICAzNDQ5OSAgIDQ5OTUyICAgMDgzMjcgICAzNTAxMSAgIDQ5OTUyICAgMDgzMjkgICAzNTUyMworMDAwMDFlMCAgIDQ5OTUyICAgMDgzMzEgICAzNjAzNSAgIDQ5OTUyICAgMDgzMzMgICAzNjU0NyAgIDQ5OTUyICAgMDgzMzUKKzAwMDAxZjAgICAzNzA1OSAgIDQ5OTUyICAgMDgzMzcgICAzNzU3MSAgIDQ5OTUyICAgMDgzMzkgICAzODA4MyAgIDQ5OTUyCiswMDAwMjAwICAgMDgzNDEgICAzODU5NSAgIDQ5OTUyICAgMDgzNDMgICAzOTEwNyAgIDQ5OTUyICAgMDgzNDUgICAzOTYxOQorMDAwMDIxMCAgIDQ5OTUyICAgMDgzNDcgICA0MDEzMSAgIDQ5OTUyICAgMDgzNDkgICA0MDY0MyAgIDQ5OTUyICAgMDgzNTEKKzAwMDAyMjAgICA0MTE1NSAgIDQ5OTUyICAgMDgzNTMgICA0MTY2NyAgIDQ5OTUyICAgMDgzNTUgICA0MjE3OSAgIDQ5OTUyCiswMDAwMjMwICAgMDgzNTcgICA0MjY5MSAgIDQ5OTUyICAgMDgzNTkgICA0MzIwMyAgIDQ5OTUyICAgMDgzNjEgICA0MzcxNQorMDAwMDI0MCAgIDQ5OTUyICAgMDgzNjMgICA0NDIyNyAgIDQ5OTUyICAgMDgzNjUgICA0NDczOSAgIDQ5OTUyICAgMDgzNjcKKzAwMDAyNTAgICA0NTI1MSAgIDQ5OTUyICAgMDgzNjkgICA0NTc2MyAgIDQ5OTUyICAgMDgzNzEgICA0NjI3NSAgIDQ5OTUyCiswMDAwMjYwICAgMDgzNzMgICA0Njc4NyAgIDQ5OTUyICAgMDgzNzUgICA0NzI5OSAgIDQ5OTUyICAgMDgzNzcgICA0NzgxMQorMDAwMDI3MCAgIDQ5OTUyICAgMDgzNzkgICA0ODMyMyAgIDQ5OTUyICAgMDgzODEgICA0ODgzNSAgIDQ5OTUyICAgMDgzODMKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy00LkJFIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTQuQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGNiMjEyNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy00LkJFCkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAgICAwMDAzMiAgIDAwMjg4ICAgMDA1NDQgICAwMDgwMCAgIDAxMDU2ICAgMDEzMTIgICAwMTU2OCAgIDAxODI0CiswMDAwMDEwICAgMDIwODAgICAwMjMzNiAgIDAyNTkyICAgMDI4NDggICAwMzEwNCAgIDAzMzYwICAgMDM2MTYgICAwMzg3MgorMDAwMDAyMCAgIDA0MTI4ICAgMDQzODQgICAwNDY0MCAgIDA0ODk2ICAgMDUxNTIgICAwNTQwOCAgIDA1NjY0ICAgMDU5MjAKKzAwMDAwMzAgICAwNjE3NiAgIDA2NDMyICAgMDY2ODggICAwNjk0NCAgIDA3MjAwICAgMDc0NTYgICAwNzcxMiAgIDA3OTY4CiswMDAwMDQwICAgMDgyMjQgICAwODQ4MCAgIDA4NzM2ICAgMDg5OTIgICAwOTI0OCAgIDA5NTA0ICAgMDk3NjAgICAxMDAxNgorMDAwMDA1MCAgIDEwMjcyICAgMTA1MjggICAxMDc4NCAgIDExMDQwICAgMTEyOTYgICAxMTU1MiAgIDExODA4ICAgMTIwNjQKKzAwMDAwNjAgICAxMjMyMCAgIDEyNTc2ICAgMTI4MzIgICAxMzA4OCAgIDEzMzQ0ICAgMTM2MDAgICAxMzg1NiAgIDE0MTEyCiswMDAwMDcwICAgMTQzNjggICAxNDYyNCAgIDE0ODgwICAgMTUxMzYgICAxNTM5MiAgIDE1NjQ4ICAgMTU5MDQgICAxNjE2MAorMDAwMDA4MCAgIDE2NDE2IBtbMzFtICAxNjY3MhtbMG0gICAxNjkyOCAgIDE3MTg0ICAgMTc0NDAgICAxNzY5NiAgIDE3OTUyICAgMTgyMDgKKzAwMDAwOTAgICAxODQ2NCAgIDE4NzIwICAgMTg5NzYgICAxOTIzMiAgIDE5NDg4ICAgMTk3NDQgICAyMDAwMCAgIDIwMjU2CiswMDAwMGEwICAgMjA1MTIgICAyMDc2OCAgIDIxMDI0ICAgMjEyODAgICAyMTUzNiAgIDIxNzkyICAgMjIwNDggICAyMjMwNAorMDAwMDBiMCAgIDIyNTYwICAgMjI4MTYgICAyMzA3MiAgIDIzMzI4ICAgMjM1ODQgICAyMzg0MCAgIDI0MDk2ICAgMjQzNTIKKzAwMDAwYzAgICAyNDYwOCAgIDI0ODY0ICAgMjUxMjAgICAyNTM3NiAgIDI1NjMyICAgMjU4ODggICAyNjE0NCAgIDI2NDAwCiswMDAwMGQwICAgMjY2NTYgICAyNjkxMiAgIDI3MTY4ICAgMjc0MjQgICAyNzY4MCAgIDI3OTM2ICAgMjgxOTIgICAyODQ0OAorMDAwMDBlMCAgIDI4NzA0ICAgMjg5NjAgICAyOTIxNiAgIDI5NDcyICAgMjk3MjggICAyOTk4NCAgIDMwMjQwICAgMzA0OTYKKzAwMDAwZjAgICAzMDc1MiAgIDMxMDA4ICAgMzEyNjQgICAzMTUyMCAgIDMxNzc2ICAgMzIwMzIgICAzMjI4OCAgIDMyNTQ0CiswMDAwMTAwICAgNDk3OTIgICAwODM4NiAgIDMzMDU2ICAgNDk3OTQgICAwODM4NiAgIDMzNTY4ICAgNDk3OTYgICAwODM4NgorMDAwMDExMCAgIDM0MDgwICAgNDk3OTggICAwODM4NiAgIDM0NTkyICAgNDk4MDAgICAwODM4NiAgIDM1MTA0ICAgNDk4MDIKKzAwMDAxMjAgICAwODM4NiAgIDM1NjE2ICAgNDk4MDQgICAwODM4NiAgIDM2MTI4ICAgNDk4MDYgICAwODM4NiAgIDM2NjQwCiswMDAwMTMwICAgNDk4MDggICAwODM4NiAgIDM3MTUyICAgNDk4MTAgICAwODM4NiAgIDM3NjY0ICAgNDk4MTIgICAwODM4NgorMDAwMDE0MCAgIDM4MTc2ICAgNDk4MTQgICAwODM4NiAgIDM4Njg4ICAgNDk4MTYgICAwODM4NiAgIDM5MjAwICAgNDk4MTgKKzAwMDAxNTAgICAwODM4NiAgIDM5NzEyICAgNDk4MjAgICAwODM4NiAgIDQwMjI0ICAgNDk4MjIgICAwODM4NiAgIDQwNzM2CiswMDAwMTYwICAgNDk4MjQgICAwODM4NiAgIDQxMjQ4ICAgNDk4MjYgICAwODM4NiAgIDQxNzYwICAgNDk4MjggICAwODM4NgorMDAwMDE3MCAgIDQyMjcyICAgNDk4MzAgICAwODM4NiAgIDQyNzg0ICAgNDk4MzIgICAwODM4NiAgIDQzMjk2ICAgNDk4MzQKKzAwMDAxODAgICAwODM4NiAgIDQzODA4ICAgNDk4MzYgICAwODM4NiAgIDQ0MzIwICAgNDk4MzggICAwODM4NiAgIDQ0ODMyCiswMDAwMTkwICAgNDk4NDAgICAwODM4NiAgIDQ1MzQ0ICAgNDk4NDIgICAwODM4NiAgIDQ1ODU2ICAgNDk4NDQgICAwODM4NgorMDAwMDFhMCAgIDQ2MzY4ICAgNDk4NDYgICAwODM4NiAgIDQ2ODgwICAgNDk4NDggICAwODM4NiAgIDQ3MzkyICAgNDk4NTAKKzAwMDAxYjAgICAwODM4NiAgIDQ3OTA0ICAgNDk4NTIgICAwODM4NiAgIDQ4NDE2ICAgNDk4NTQgICAwODM4NiAgIDQ4OTI4CiswMDAwMWMwICAgNTAwNDggICAwODM4NyAgIDMzMDU2ICAgNTAwNTAgICAwODM4NyAgIDMzNTY4ICAgNTAwNTIgICAwODM4NworMDAwMDFkMCAgIDM0MDgwICAgNTAwNTQgICAwODM4NyAgIDM0NTkyICAgNTAwNTYgICAwODM4NyAgIDM1MTA0ICAgNTAwNTgKKzAwMDAxZTAgICAwODM4NyAgIDM1NjE2ICAgNTAwNjAgICAwODM4NyAgIDM2MTI4ICAgNTAwNjIgICAwODM4NyAgIDM2NjQwCiswMDAwMWYwICAgNTAwNjQgICAwODM4NyAgIDM3MTUyICAgNTAwNjYgICAwODM4NyAgIDM3NjY0ICAgNTAwNjggICAwODM4NworMDAwMDIwMCAgIDM4MTc2ICAgNTAwNzAgICAwODM4NyAgIDM4Njg4ICAgNTAwNzIgICAwODM4NyAgIDM5MjAwICAgNTAwNzQKKzAwMDAyMTAgICAwODM4NyAgIDM5NzEyICAgNTAwNzYgICAwODM4NyAgIDQwMjI0ICAgNTAwNzggICAwODM4NyAgIDQwNzM2CiswMDAwMjIwICAgNTAwODAgICAwODM4NyAgIDQxMjQ4ICAgNTAwODIgICAwODM4NyAgIDQxNzYwICAgNTAwODQgICAwODM4NworMDAwMDIzMCAgIDQyMjcyICAgNTAwODYgICAwODM4NyAgIDQyNzg0ICAgNTAwODggICAwODM4NyAgIDQzMjk2ICAgNTAwOTAKKzAwMDAyNDAgICAwODM4NyAgIDQzODA4ICAgNTAwOTIgICAwODM4NyAgIDQ0MzIwICAgNTAwOTQgICAwODM4NyAgIDQ0ODMyCiswMDAwMjUwICAgNTAwOTYgICAwODM4NyAgIDQ1MzQ0ICAgNTAwOTggICAwODM4NyAgIDQ1ODU2ICAgNTAxMDAgICAwODM4NworMDAwMDI2MCAgIDQ2MzY4ICAgNTAxMDIgICAwODM4NyAgIDQ2ODgwICAgNTAxMDQgICAwODM4NyAgIDQ3MzkyICAgNTAxMDYKKzAwMDAyNzAgICAwODM4NyAgIDQ3OTA0ICAgNTAxMDggICAwODM4NyAgIDQ4NDE2ICAgNTAxMTAgICAwODM4NyAgIDQ4OTI4CiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0yYl9kZWMtNSBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy01Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyMTExYzIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0yYl9kZWMtNQpAQCAtMCwwICsxLDQxIEBACiswMDAwMDAwICAgMDgxOTIgICAwODE5MyAgIDA4MTk0ICAgMDgxOTUgICAwODE5NiAgIDA4MTk3ICAgMDgxOTggICAwODE5OQorMDAwMDAxMCAgIDA4MjAwICAgMDgyMDEgICAwODIwMiAgIDA4MjAzICAgMDgyMDQgICAwODIwNSAgIDA4MjA2ICAgMDgyMDcKKzAwMDAwMjAgICAwODIwOCAgIDA4MjA5ICAgMDgyMTAgICAwODIxMSAgIDA4MjEyICAgMDgyMTMgICAwODIxNCAgIDA4MjE1CiswMDAwMDMwICAgMDgyMTYgICAwODIxNyAgIDA4MjE4ICAgMDgyMTkgICAwODIyMCAgIDA4MjIxICAgMDgyMjIgICAwODIyMworMDAwMDA0MCAgIDA4MjI0ICAgMDgyMjUgICAwODIyNiAgIDA4MjI3ICAgMDgyMjggICAwODIyOSAgIDA4MjMwICAgMDgyMzEKKzAwMDAwNTAgICAwODIzMiAgIDA4MjMzICAgMDgyMzQgICAwODIzNSAgIDA4MjM2ICAgMDgyMzcgICAwODIzOCAgIDA4MjM5CiswMDAwMDYwICAgMDgyNDAgICAwODI0MSAgIDA4MjQyICAgMDgyNDMgICAwODI0NCAgIDA4MjQ1ICAgMDgyNDYgICAwODI0NworMDAwMDA3MCAgIDA4MjQ4ICAgMDgyNDkgICAwODI1MCAgIDA4MjUxICAgMDgyNTIgICAwODI1MyAgIDA4MjU0ICAgMDgyNTUKKzAwMDAwODAgICAwODI1NiAbWzMxbSAgMDgyNTcbWzBtICAgMDgyNTggICAwODI1OSAgIDA4MjYwICAgMDgyNjEgICAwODI2MiAgIDA4MjYzCiswMDAwMDkwICAgMDgyNjQgICAwODI2NSAgIDA4MjY2ICAgMDgyNjcgICAwODI2OCAgIDA4MjY5ICAgMDgyNzAgICAwODI3MQorMDAwMDBhMCAgIDA4MjcyICAgMDgyNzMgICAwODI3NCAgIDA4Mjc1ICAgMDgyNzYgICAwODI3NyAgIDA4Mjc4ICAgMDgyNzkKKzAwMDAwYjAgICAwODI4MCAgIDA4MjgxICAgMDgyODIgICAwODI4MyAgIDA4Mjg0ICAgMDgyODUgICAwODI4NiAgIDA4Mjg3CiswMDAwMGMwICAgMDgyODggICAwODI4OSAgIDA4MjkwICAgMDgyOTEgICAwODI5MiAgIDA4MjkzICAgMDgyOTQgICAwODI5NQorMDAwMDBkMCAgIDA4Mjk2ICAgMDgyOTcgICAwODI5OCAgIDA4Mjk5ICAgMDgzMDAgICAwODMwMSAgIDA4MzAyICAgMDgzMDMKKzAwMDAwZTAgICAwODMwNCAgIDA4MzA1ICAgMDgzMDYgICAwODMwNyAgIDA4MzA4ICAgMDgzMDkgICAwODMxMCAgIDA4MzExCiswMDAwMGYwICAgMDgzMTIgICAwODMxMyAgIDA4MzE0ICAgMDgzMTUgICAwODMxNiAgIDA4MzE3ICAgMDgzMTggICAwODMxOQorMDAwMDEwMCAgIDMyOTYyICAgNDk2OTYgICAwODMyMSAgIDMzNDc0ICAgNDk2OTYgICAwODMyMyAgIDMzOTg2ICAgNDk2OTYKKzAwMDAxMTAgICAwODMyNSAgIDM0NDk4ICAgNDk2OTYgICAwODMyNyAgIDM1MDEwICAgNDk2OTYgICAwODMyOSAgIDM1NTIyCiswMDAwMTIwICAgNDk2OTYgICAwODMzMSAgIDM2MDM0ICAgNDk2OTYgICAwODMzMyAgIDM2NTQ2ICAgNDk2OTYgICAwODMzNQorMDAwMDEzMCAgIDM3MDU4ICAgNDk2OTYgICAwODMzNyAgIDM3NTcwICAgNDk2OTYgICAwODMzOSAgIDM4MDgyICAgNDk2OTYKKzAwMDAxNDAgICAwODM0MSAgIDM4NTk0ICAgNDk2OTYgICAwODM0MyAgIDM5MTA2ICAgNDk2OTYgICAwODM0NSAgIDM5NjE4CiswMDAwMTUwICAgNDk2OTYgICAwODM0NyAgIDQwMTMwICAgNDk2OTYgICAwODM0OSAgIDQwNjQyICAgNDk2OTYgICAwODM1MQorMDAwMDE2MCAgIDQxMTU0ICAgNDk2OTYgICAwODM1MyAgIDQxNjY2ICAgNDk2OTYgICAwODM1NSAgIDQyMTc4ICAgNDk2OTYKKzAwMDAxNzAgICAwODM1NyAgIDQyNjkwICAgNDk2OTYgICAwODM1OSAgIDQzMjAyICAgNDk2OTYgICAwODM2MSAgIDQzNzE0CiswMDAwMTgwICAgNDk2OTYgICAwODM2MyAgIDQ0MjI2ICAgNDk2OTYgICAwODM2NSAgIDQ0NzM4ICAgNDk2OTYgICAwODM2NworMDAwMDE5MCAgIDQ1MjUwICAgNDk2OTYgICAwODM2OSAgIDQ1NzYyICAgNDk2OTYgICAwODM3MSAgIDQ2Mjc0ICAgNDk2OTYKKzAwMDAxYTAgICAwODM3MyAgIDQ2Nzg2ICAgNDk2OTYgICAwODM3NSAgIDQ3Mjk4ICAgNDk2OTYgICAwODM3NyAgIDQ3ODEwCiswMDAwMWIwICAgNDk2OTYgICAwODM3OSAgIDQ4MzIyICAgNDk2OTYgICAwODM4MSAgIDQ4ODM0ICAgNDk2OTYgICAwODM4MworMDAwMDFjMCAgIDMyOTYzICAgNDk5NTIgICAwODMyMSAgIDMzNDc1ICAgNDk5NTIgICAwODMyMyAgIDMzOTg3ICAgNDk5NTIKKzAwMDAxZDAgICAwODMyNSAgIDM0NDk5ICAgNDk5NTIgICAwODMyNyAgIDM1MDExICAgNDk5NTIgICAwODMyOSAgIDM1NTIzCiswMDAwMWUwICAgNDk5NTIgICAwODMzMSAgIDM2MDM1ICAgNDk5NTIgICAwODMzMyAgIDM2NTQ3ICAgNDk5NTIgICAwODMzNQorMDAwMDFmMCAgIDM3MDU5ICAgNDk5NTIgICAwODMzNyAgIDM3NTcxICAgNDk5NTIgICAwODMzOSAgIDM4MDgzICAgNDk5NTIKKzAwMDAyMDAgICAwODM0MSAgIDM4NTk1ICAgNDk5NTIgICAwODM0MyAgIDM5MTA3ICAgNDk5NTIgICAwODM0NSAgIDM5NjE5CiswMDAwMjEwICAgNDk5NTIgICAwODM0NyAgIDQwMTMxICAgNDk5NTIgICAwODM0OSAgIDQwNjQzICAgNDk5NTIgICAwODM1MQorMDAwMDIyMCAgIDQxMTU1ICAgNDk5NTIgICAwODM1MyAgIDQxNjY3ICAgNDk5NTIgICAwODM1NSAgIDQyMTc5ICAgNDk5NTIKKzAwMDAyMzAgICAwODM1NyAgIDQyNjkxICAgNDk5NTIgICAwODM1OSAgIDQzMjAzICAgNDk5NTIgICAwODM2MSAgIDQzNzE1CiswMDAwMjQwICAgNDk5NTIgICAwODM2MyAgIDQ0MjI3ICAgNDk5NTIgICAwODM2NSAgIDQ0NzM5ICAgNDk5NTIgICAwODM2NworMDAwMDI1MCAgIDQ1MjUxICAgNDk5NTIgICAwODM2OSAgIDQ1NzYzICAgNDk5NTIgICAwODM3MSAgIDQ2Mjc1ICAgNDk5NTIKKzAwMDAyNjAgICAwODM3MyAgIDQ2Nzg3ICAgNDk5NTIgICAwODM3NSAgIDQ3Mjk5ICAgNDk5NTIgICAwODM3NyAgIDQ3ODExCiswMDAwMjcwICAgNDk5NTIgICAwODM3OSAgIDQ4MzIzICAgNDk5NTIgICAwODM4MSAgIDQ4ODM1ICAgNDk5NTIgICAwODM4MworMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTUuQkUgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0yYl9kZWMtNS5CRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kY2IyMTI0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTUuQkUKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMCAgIDAwMDMyICAgMDAyODggICAwMDU0NCAgIDAwODAwICAgMDEwNTYgICAwMTMxMiAgIDAxNTY4ICAgMDE4MjQKKzAwMDAwMTAgICAwMjA4MCAgIDAyMzM2ICAgMDI1OTIgICAwMjg0OCAgIDAzMTA0ICAgMDMzNjAgICAwMzYxNiAgIDAzODcyCiswMDAwMDIwICAgMDQxMjggICAwNDM4NCAgIDA0NjQwICAgMDQ4OTYgICAwNTE1MiAgIDA1NDA4ICAgMDU2NjQgICAwNTkyMAorMDAwMDAzMCAgIDA2MTc2ICAgMDY0MzIgICAwNjY4OCAgIDA2OTQ0ICAgMDcyMDAgICAwNzQ1NiAgIDA3NzEyICAgMDc5NjgKKzAwMDAwNDAgICAwODIyNCAgIDA4NDgwICAgMDg3MzYgICAwODk5MiAgIDA5MjQ4ICAgMDk1MDQgICAwOTc2MCAgIDEwMDE2CiswMDAwMDUwICAgMTAyNzIgICAxMDUyOCAgIDEwNzg0ICAgMTEwNDAgICAxMTI5NiAgIDExNTUyICAgMTE4MDggICAxMjA2NAorMDAwMDA2MCAgIDEyMzIwICAgMTI1NzYgICAxMjgzMiAgIDEzMDg4ICAgMTMzNDQgICAxMzYwMCAgIDEzODU2ICAgMTQxMTIKKzAwMDAwNzAgICAxNDM2OCAgIDE0NjI0ICAgMTQ4ODAgICAxNTEzNiAgIDE1MzkyICAgMTU2NDggICAxNTkwNCAgIDE2MTYwCiswMDAwMDgwICAgMTY0MTYgG1szMW0gIDE2NjcyG1swbSAgIDE2OTI4ICAgMTcxODQgICAxNzQ0MCAgIDE3Njk2ICAgMTc5NTIgICAxODIwOAorMDAwMDA5MCAgIDE4NDY0ICAgMTg3MjAgICAxODk3NiAgIDE5MjMyICAgMTk0ODggICAxOTc0NCAgIDIwMDAwICAgMjAyNTYKKzAwMDAwYTAgICAyMDUxMiAgIDIwNzY4ICAgMjEwMjQgICAyMTI4MCAgIDIxNTM2ICAgMjE3OTIgICAyMjA0OCAgIDIyMzA0CiswMDAwMGIwICAgMjI1NjAgICAyMjgxNiAgIDIzMDcyICAgMjMzMjggICAyMzU4NCAgIDIzODQwICAgMjQwOTYgICAyNDM1MgorMDAwMDBjMCAgIDI0NjA4ICAgMjQ4NjQgICAyNTEyMCAgIDI1Mzc2ICAgMjU2MzIgICAyNTg4OCAgIDI2MTQ0ICAgMjY0MDAKKzAwMDAwZDAgICAyNjY1NiAgIDI2OTEyICAgMjcxNjggICAyNzQyNCAgIDI3NjgwICAgMjc5MzYgICAyODE5MiAgIDI4NDQ4CiswMDAwMGUwICAgMjg3MDQgICAyODk2MCAgIDI5MjE2ICAgMjk0NzIgICAyOTcyOCAgIDI5OTg0ICAgMzAyNDAgICAzMDQ5NgorMDAwMDBmMCAgIDMwNzUyICAgMzEwMDggICAzMTI2NCAgIDMxNTIwICAgMzE3NzYgICAzMjAzMiAgIDMyMjg4ICAgMzI1NDQKKzAwMDAxMDAgICA0OTc5MiAgIDA4Mzg2ICAgMzMwNTYgICA0OTc5NCAgIDA4Mzg2ICAgMzM1NjggICA0OTc5NiAgIDA4Mzg2CiswMDAwMTEwICAgMzQwODAgICA0OTc5OCAgIDA4Mzg2ICAgMzQ1OTIgICA0OTgwMCAgIDA4Mzg2ICAgMzUxMDQgICA0OTgwMgorMDAwMDEyMCAgIDA4Mzg2ICAgMzU2MTYgICA0OTgwNCAgIDA4Mzg2ICAgMzYxMjggICA0OTgwNiAgIDA4Mzg2ICAgMzY2NDAKKzAwMDAxMzAgICA0OTgwOCAgIDA4Mzg2ICAgMzcxNTIgICA0OTgxMCAgIDA4Mzg2ICAgMzc2NjQgICA0OTgxMiAgIDA4Mzg2CiswMDAwMTQwICAgMzgxNzYgICA0OTgxNCAgIDA4Mzg2ICAgMzg2ODggICA0OTgxNiAgIDA4Mzg2ICAgMzkyMDAgICA0OTgxOAorMDAwMDE1MCAgIDA4Mzg2ICAgMzk3MTIgICA0OTgyMCAgIDA4Mzg2ICAgNDAyMjQgICA0OTgyMiAgIDA4Mzg2ICAgNDA3MzYKKzAwMDAxNjAgICA0OTgyNCAgIDA4Mzg2ICAgNDEyNDggICA0OTgyNiAgIDA4Mzg2ICAgNDE3NjAgICA0OTgyOCAgIDA4Mzg2CiswMDAwMTcwICAgNDIyNzIgICA0OTgzMCAgIDA4Mzg2ICAgNDI3ODQgICA0OTgzMiAgIDA4Mzg2ICAgNDMyOTYgICA0OTgzNAorMDAwMDE4MCAgIDA4Mzg2ICAgNDM4MDggICA0OTgzNiAgIDA4Mzg2ICAgNDQzMjAgICA0OTgzOCAgIDA4Mzg2ICAgNDQ4MzIKKzAwMDAxOTAgICA0OTg0MCAgIDA4Mzg2ICAgNDUzNDQgICA0OTg0MiAgIDA4Mzg2ICAgNDU4NTYgICA0OTg0NCAgIDA4Mzg2CiswMDAwMWEwICAgNDYzNjggICA0OTg0NiAgIDA4Mzg2ICAgNDY4ODAgICA0OTg0OCAgIDA4Mzg2ICAgNDczOTIgICA0OTg1MAorMDAwMDFiMCAgIDA4Mzg2ICAgNDc5MDQgICA0OTg1MiAgIDA4Mzg2ICAgNDg0MTYgICA0OTg1NCAgIDA4Mzg2ICAgNDg5MjgKKzAwMDAxYzAgICA1MDA0OCAgIDA4Mzg3ICAgMzMwNTYgICA1MDA1MCAgIDA4Mzg3ICAgMzM1NjggICA1MDA1MiAgIDA4Mzg3CiswMDAwMWQwICAgMzQwODAgICA1MDA1NCAgIDA4Mzg3ICAgMzQ1OTIgICA1MDA1NiAgIDA4Mzg3ICAgMzUxMDQgICA1MDA1OAorMDAwMDFlMCAgIDA4Mzg3ICAgMzU2MTYgICA1MDA2MCAgIDA4Mzg3ICAgMzYxMjggICA1MDA2MiAgIDA4Mzg3ICAgMzY2NDAKKzAwMDAxZjAgICA1MDA2NCAgIDA4Mzg3ICAgMzcxNTIgICA1MDA2NiAgIDA4Mzg3ICAgMzc2NjQgICA1MDA2OCAgIDA4Mzg3CiswMDAwMjAwICAgMzgxNzYgICA1MDA3MCAgIDA4Mzg3ICAgMzg2ODggICA1MDA3MiAgIDA4Mzg3ICAgMzkyMDAgICA1MDA3NAorMDAwMDIxMCAgIDA4Mzg3ICAgMzk3MTIgICA1MDA3NiAgIDA4Mzg3ICAgNDAyMjQgICA1MDA3OCAgIDA4Mzg3ICAgNDA3MzYKKzAwMDAyMjAgICA1MDA4MCAgIDA4Mzg3ICAgNDEyNDggICA1MDA4MiAgIDA4Mzg3ICAgNDE3NjAgICA1MDA4NCAgIDA4Mzg3CiswMDAwMjMwICAgNDIyNzIgICA1MDA4NiAgIDA4Mzg3ICAgNDI3ODQgICA1MDA4OCAgIDA4Mzg3ICAgNDMyOTYgICA1MDA5MAorMDAwMDI0MCAgIDA4Mzg3ICAgNDM4MDggICA1MDA5MiAgIDA4Mzg3ICAgNDQzMjAgICA1MDA5NCAgIDA4Mzg3ICAgNDQ4MzIKKzAwMDAyNTAgICA1MDA5NiAgIDA4Mzg3ICAgNDUzNDQgICA1MDA5OCAgIDA4Mzg3ICAgNDU4NTYgICA1MDEwMCAgIDA4Mzg3CiswMDAwMjYwICAgNDYzNjggICA1MDEwMiAgIDA4Mzg3ICAgNDY4ODAgICA1MDEwNCAgIDA4Mzg3ICAgNDczOTIgICA1MDEwNgorMDAwMDI3MCAgIDA4Mzg3ICAgNDc5MDQgICA1MDEwOCAgIDA4Mzg3ICAgNDg0MTYgICA1MDExMCAgIDA4Mzg3ICAgNDg5MjgKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy02IGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTVjYzEwYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy02CkBAIC0wLDAgKzEgQEAKK2hleGR1bXA6IGJhZCBieXRlIGNvdW50IGZvciBjb252ZXJzaW9uIGNoYXJhY3RlciBfTApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTcgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0yYl9kZWMtNwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNWNjMTBiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTcKQEAgLTAsMCArMSBAQAoraGV4ZHVtcDogYmFkIGJ5dGUgY291bnQgZm9yIGNvbnZlcnNpb24gY2hhcmFjdGVyIF9MCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0yYl9kZWMtOCBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy04Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2MmE1NTkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0yYl9kZWMtOApAQCAtMCwwICsxLDQxIEBACiswMDAwMDAwICAgMDgxOTIgICAwODE5MyAgIDA4MTk0ICAgMDgxOTUgICAwODE5NiAgIDA4MTk3ICAgMDgxOTggICAwODE5OQorMDAwMDAxMCAgIDA4MjAwICAgMDgyMDEgICAwODIwMiAgIDA4MjAzICAgMDgyMDQgICAwODIwNSAgIDA4MjA2ICAgMDgyMDcKKzAwMDAwMjAgICAwODIwOCAgIDA4MjA5ICAgMDgyMTAgICAwODIxMSAgIDA4MjEyICAgMDgyMTMgICAwODIxNCAgIDA4MjE1CiswMDAwMDMwICAgMDgyMTYgICAwODIxNyAgIDA4MjE4ICAgMDgyMTkgICAwODIyMCAgIDA4MjIxICAgMDgyMjIgICAwODIyMworMDAwMDA0MCAgIDA4MjI0ICAgMDgyMjUgICAwODIyNiAgIDA4MjI3ICAgMDgyMjggICAwODIyOSAgIDA4MjMwICAgMDgyMzEKKzAwMDAwNTAgICAwODIzMiAgIDA4MjMzICAgMDgyMzQgICAwODIzNSAgIDA4MjM2ICAgMDgyMzcgICAwODIzOCAgIDA4MjM5CiswMDAwMDYwICAgMDgyNDAgG1szMW0gIDA4MjQxG1swbSAbWzMxbSAgMDgyNDIbWzBtIBtbMzFtICAwODI0MxtbMG0gICAwODI0NCAgIDA4MjQ1ICAgMDgyNDYgICAwODI0NworMDAwMDA3MCAgIDA4MjQ4ICAgMDgyNDkgICAwODI1MCAgIDA4MjUxICAgMDgyNTIgICAwODI1MyAgIDA4MjU0ICAgMDgyNTUKKzAwMDAwODAgICAwODI1NiAgIDA4MjU3ICAgMDgyNTggICAwODI1OSAgIDA4MjYwICAgMDgyNjEgICAwODI2MiAgIDA4MjYzCiswMDAwMDkwICAgMDgyNjQgICAwODI2NSAgIDA4MjY2ICAgMDgyNjcgICAwODI2OCAgIDA4MjY5ICAgMDgyNzAgICAwODI3MQorMDAwMDBhMCAgIDA4MjcyICAgMDgyNzMgICAwODI3NCAgIDA4Mjc1ICAgMDgyNzYgICAwODI3NyAgIDA4Mjc4ICAgMDgyNzkKKzAwMDAwYjAgICAwODI4MCAgIDA4MjgxICAgMDgyODIgICAwODI4MyAgIDA4Mjg0ICAgMDgyODUgICAwODI4NiAgIDA4Mjg3CiswMDAwMGMwICAgMDgyODggICAwODI4OSAgIDA4MjkwICAgMDgyOTEgICAwODI5MiAgIDA4MjkzICAgMDgyOTQgICAwODI5NQorMDAwMDBkMCAgIDA4Mjk2ICAgMDgyOTcgICAwODI5OCAgIDA4Mjk5ICAgMDgzMDAgICAwODMwMSAgIDA4MzAyICAgMDgzMDMKKzAwMDAwZTAgICAwODMwNCAgIDA4MzA1ICAgMDgzMDYgICAwODMwNyAgIDA4MzA4ICAgMDgzMDkgICAwODMxMCAgIDA4MzExCiswMDAwMGYwICAgMDgzMTIgICAwODMxMyAgIDA4MzE0ICAgMDgzMTUgICAwODMxNiAgIDA4MzE3ICAgMDgzMTggICAwODMxOQorMDAwMDEwMCAgIDMyOTYyICAgNDk2OTYgICAwODMyMSAgIDMzNDc0ICAgNDk2OTYgICAwODMyMyAgIDMzOTg2ICAgNDk2OTYKKzAwMDAxMTAgICAwODMyNSAgIDM0NDk4ICAgNDk2OTYgICAwODMyNyAgIDM1MDEwICAgNDk2OTYgICAwODMyOSAgIDM1NTIyCiswMDAwMTIwICAgNDk2OTYgICAwODMzMSAgIDM2MDM0ICAgNDk2OTYgICAwODMzMyAgIDM2NTQ2ICAgNDk2OTYgICAwODMzNQorMDAwMDEzMCAgIDM3MDU4ICAgNDk2OTYgICAwODMzNyAgIDM3NTcwICAgNDk2OTYgICAwODMzOSAgIDM4MDgyICAgNDk2OTYKKzAwMDAxNDAgICAwODM0MSAgIDM4NTk0ICAgNDk2OTYgICAwODM0MyAgIDM5MTA2ICAgNDk2OTYgICAwODM0NSAgIDM5NjE4CiswMDAwMTUwICAgNDk2OTYgICAwODM0NyAgIDQwMTMwICAgNDk2OTYgICAwODM0OSAgIDQwNjQyICAgNDk2OTYgICAwODM1MQorMDAwMDE2MCAgIDQxMTU0ICAgNDk2OTYgICAwODM1MyAgIDQxNjY2ICAgNDk2OTYgICAwODM1NSAgIDQyMTc4ICAgNDk2OTYKKzAwMDAxNzAgICAwODM1NyAgIDQyNjkwICAgNDk2OTYgICAwODM1OSAgIDQzMjAyICAgNDk2OTYgICAwODM2MSAgIDQzNzE0CiswMDAwMTgwICAgNDk2OTYgICAwODM2MyAgIDQ0MjI2ICAgNDk2OTYgICAwODM2NSAgIDQ0NzM4ICAgNDk2OTYgICAwODM2NworMDAwMDE5MCAgIDQ1MjUwICAgNDk2OTYgICAwODM2OSAgIDQ1NzYyICAgNDk2OTYgICAwODM3MSAgIDQ2Mjc0ICAgNDk2OTYKKzAwMDAxYTAgICAwODM3MyAgIDQ2Nzg2ICAgNDk2OTYgICAwODM3NSAgIDQ3Mjk4ICAgNDk2OTYgICAwODM3NyAgIDQ3ODEwCiswMDAwMWIwICAgNDk2OTYgICAwODM3OSAgIDQ4MzIyICAgNDk2OTYgICAwODM4MSAgIDQ4ODM0ICAgNDk2OTYgICAwODM4MworMDAwMDFjMCAgIDMyOTYzICAgNDk5NTIgICAwODMyMSAgIDMzNDc1ICAgNDk5NTIgICAwODMyMyAgIDMzOTg3ICAgNDk5NTIKKzAwMDAxZDAgICAwODMyNSAgIDM0NDk5ICAgNDk5NTIgICAwODMyNyAgIDM1MDExICAgNDk5NTIgICAwODMyOSAgIDM1NTIzCiswMDAwMWUwICAgNDk5NTIgICAwODMzMSAgIDM2MDM1ICAgNDk5NTIgICAwODMzMyAgIDM2NTQ3ICAgNDk5NTIgICAwODMzNQorMDAwMDFmMCAgIDM3MDU5ICAgNDk5NTIgICAwODMzNyAgIDM3NTcxICAgNDk5NTIgICAwODMzOSAgIDM4MDgzICAgNDk5NTIKKzAwMDAyMDAgICAwODM0MSAgIDM4NTk1ICAgNDk5NTIgICAwODM0MyAgIDM5MTA3ICAgNDk5NTIgICAwODM0NSAgIDM5NjE5CiswMDAwMjEwICAgNDk5NTIgICAwODM0NyAgIDQwMTMxICAgNDk5NTIgICAwODM0OSAgIDQwNjQzICAgNDk5NTIgICAwODM1MQorMDAwMDIyMCAgIDQxMTU1ICAgNDk5NTIgICAwODM1MyAgIDQxNjY3ICAgNDk5NTIgICAwODM1NSAgIDQyMTc5ICAgNDk5NTIKKzAwMDAyMzAgICAwODM1NyAgIDQyNjkxICAgNDk5NTIgICAwODM1OSAgIDQzMjAzICAgNDk5NTIgICAwODM2MSAgIDQzNzE1CiswMDAwMjQwICAgNDk5NTIgICAwODM2MyAgIDQ0MjI3ICAgNDk5NTIgICAwODM2NSAgIDQ0NzM5ICAgNDk5NTIgICAwODM2NworMDAwMDI1MCAgIDQ1MjUxICAgNDk5NTIgICAwODM2OSAgIDQ1NzYzICAgNDk5NTIgICAwODM3MSAgIDQ2Mjc1ICAgNDk5NTIKKzAwMDAyNjAgICAwODM3MyAgIDQ2Nzg3ICAgNDk5NTIgICAwODM3NSAgIDQ3Mjk5ICAgNDk5NTIgICAwODM3NyAgIDQ3ODExCiswMDAwMjcwICAgNDk5NTIgICAwODM3OSAgIDQ4MzIzICAgNDk5NTIgICAwODM4MSAgIDQ4ODM1ICAgNDk5NTIgICAwODM4MworMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTguQkUgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0yYl9kZWMtOC5CRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYWUxMDI4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTguQkUKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMCAgIDAwMDMyICAgMDAyODggICAwMDU0NCAgIDAwODAwICAgMDEwNTYgICAwMTMxMiAgIDAxNTY4ICAgMDE4MjQKKzAwMDAwMTAgICAwMjA4MCAgIDAyMzM2ICAgMDI1OTIgICAwMjg0OCAgIDAzMTA0ICAgMDMzNjAgICAwMzYxNiAgIDAzODcyCiswMDAwMDIwICAgMDQxMjggICAwNDM4NCAgIDA0NjQwICAgMDQ4OTYgICAwNTE1MiAgIDA1NDA4ICAgMDU2NjQgICAwNTkyMAorMDAwMDAzMCAgIDA2MTc2ICAgMDY0MzIgICAwNjY4OCAgIDA2OTQ0ICAgMDcyMDAgICAwNzQ1NiAgIDA3NzEyICAgMDc5NjgKKzAwMDAwNDAgICAwODIyNCAgIDA4NDgwICAgMDg3MzYgICAwODk5MiAgIDA5MjQ4ICAgMDk1MDQgICAwOTc2MCAgIDEwMDE2CiswMDAwMDUwICAgMTAyNzIgICAxMDUyOCAgIDEwNzg0ICAgMTEwNDAgICAxMTI5NiAgIDExNTUyICAgMTE4MDggICAxMjA2NAorMDAwMDA2MCAgIDEyMzIwIBtbMzFtICAxMjU3NhtbMG0gG1szMW0gIDEyODMyG1swbSAbWzMxbSAgMTMwODgbWzBtICAgMTMzNDQgICAxMzYwMCAgIDEzODU2ICAgMTQxMTIKKzAwMDAwNzAgICAxNDM2OCAgIDE0NjI0ICAgMTQ4ODAgICAxNTEzNiAgIDE1MzkyICAgMTU2NDggICAxNTkwNCAgIDE2MTYwCiswMDAwMDgwICAgMTY0MTYgICAxNjY3MiAgIDE2OTI4ICAgMTcxODQgICAxNzQ0MCAgIDE3Njk2ICAgMTc5NTIgICAxODIwOAorMDAwMDA5MCAgIDE4NDY0ICAgMTg3MjAgICAxODk3NiAgIDE5MjMyICAgMTk0ODggICAxOTc0NCAgIDIwMDAwICAgMjAyNTYKKzAwMDAwYTAgICAyMDUxMiAgIDIwNzY4ICAgMjEwMjQgICAyMTI4MCAgIDIxNTM2ICAgMjE3OTIgICAyMjA0OCAgIDIyMzA0CiswMDAwMGIwICAgMjI1NjAgICAyMjgxNiAgIDIzMDcyICAgMjMzMjggICAyMzU4NCAgIDIzODQwICAgMjQwOTYgICAyNDM1MgorMDAwMDBjMCAgIDI0NjA4ICAgMjQ4NjQgICAyNTEyMCAgIDI1Mzc2ICAgMjU2MzIgICAyNTg4OCAgIDI2MTQ0ICAgMjY0MDAKKzAwMDAwZDAgICAyNjY1NiAgIDI2OTEyICAgMjcxNjggICAyNzQyNCAgIDI3NjgwICAgMjc5MzYgICAyODE5MiAgIDI4NDQ4CiswMDAwMGUwICAgMjg3MDQgICAyODk2MCAgIDI5MjE2ICAgMjk0NzIgICAyOTcyOCAgIDI5OTg0ICAgMzAyNDAgICAzMDQ5NgorMDAwMDBmMCAgIDMwNzUyICAgMzEwMDggICAzMTI2NCAgIDMxNTIwICAgMzE3NzYgICAzMjAzMiAgIDMyMjg4ICAgMzI1NDQKKzAwMDAxMDAgICA0OTc5MiAgIDA4Mzg2ICAgMzMwNTYgICA0OTc5NCAgIDA4Mzg2ICAgMzM1NjggICA0OTc5NiAgIDA4Mzg2CiswMDAwMTEwICAgMzQwODAgICA0OTc5OCAgIDA4Mzg2ICAgMzQ1OTIgICA0OTgwMCAgIDA4Mzg2ICAgMzUxMDQgICA0OTgwMgorMDAwMDEyMCAgIDA4Mzg2ICAgMzU2MTYgICA0OTgwNCAgIDA4Mzg2ICAgMzYxMjggICA0OTgwNiAgIDA4Mzg2ICAgMzY2NDAKKzAwMDAxMzAgICA0OTgwOCAgIDA4Mzg2ICAgMzcxNTIgICA0OTgxMCAgIDA4Mzg2ICAgMzc2NjQgICA0OTgxMiAgIDA4Mzg2CiswMDAwMTQwICAgMzgxNzYgICA0OTgxNCAgIDA4Mzg2ICAgMzg2ODggICA0OTgxNiAgIDA4Mzg2ICAgMzkyMDAgICA0OTgxOAorMDAwMDE1MCAgIDA4Mzg2ICAgMzk3MTIgICA0OTgyMCAgIDA4Mzg2ICAgNDAyMjQgICA0OTgyMiAgIDA4Mzg2ICAgNDA3MzYKKzAwMDAxNjAgICA0OTgyNCAgIDA4Mzg2ICAgNDEyNDggICA0OTgyNiAgIDA4Mzg2ICAgNDE3NjAgICA0OTgyOCAgIDA4Mzg2CiswMDAwMTcwICAgNDIyNzIgICA0OTgzMCAgIDA4Mzg2ICAgNDI3ODQgICA0OTgzMiAgIDA4Mzg2ICAgNDMyOTYgICA0OTgzNAorMDAwMDE4MCAgIDA4Mzg2ICAgNDM4MDggICA0OTgzNiAgIDA4Mzg2ICAgNDQzMjAgICA0OTgzOCAgIDA4Mzg2ICAgNDQ4MzIKKzAwMDAxOTAgICA0OTg0MCAgIDA4Mzg2ICAgNDUzNDQgICA0OTg0MiAgIDA4Mzg2ICAgNDU4NTYgICA0OTg0NCAgIDA4Mzg2CiswMDAwMWEwICAgNDYzNjggICA0OTg0NiAgIDA4Mzg2ICAgNDY4ODAgICA0OTg0OCAgIDA4Mzg2ICAgNDczOTIgICA0OTg1MAorMDAwMDFiMCAgIDA4Mzg2ICAgNDc5MDQgICA0OTg1MiAgIDA4Mzg2ICAgNDg0MTYgICA0OTg1NCAgIDA4Mzg2ICAgNDg5MjgKKzAwMDAxYzAgICA1MDA0OCAgIDA4Mzg3ICAgMzMwNTYgICA1MDA1MCAgIDA4Mzg3ICAgMzM1NjggICA1MDA1MiAgIDA4Mzg3CiswMDAwMWQwICAgMzQwODAgICA1MDA1NCAgIDA4Mzg3ICAgMzQ1OTIgICA1MDA1NiAgIDA4Mzg3ICAgMzUxMDQgICA1MDA1OAorMDAwMDFlMCAgIDA4Mzg3ICAgMzU2MTYgICA1MDA2MCAgIDA4Mzg3ICAgMzYxMjggICA1MDA2MiAgIDA4Mzg3ICAgMzY2NDAKKzAwMDAxZjAgICA1MDA2NCAgIDA4Mzg3ICAgMzcxNTIgICA1MDA2NiAgIDA4Mzg3ICAgMzc2NjQgICA1MDA2OCAgIDA4Mzg3CiswMDAwMjAwICAgMzgxNzYgICA1MDA3MCAgIDA4Mzg3ICAgMzg2ODggICA1MDA3MiAgIDA4Mzg3ICAgMzkyMDAgICA1MDA3NAorMDAwMDIxMCAgIDA4Mzg3ICAgMzk3MTIgICA1MDA3NiAgIDA4Mzg3ICAgNDAyMjQgICA1MDA3OCAgIDA4Mzg3ICAgNDA3MzYKKzAwMDAyMjAgICA1MDA4MCAgIDA4Mzg3ICAgNDEyNDggICA1MDA4MiAgIDA4Mzg3ICAgNDE3NjAgICA1MDA4NCAgIDA4Mzg3CiswMDAwMjMwICAgNDIyNzIgICA1MDA4NiAgIDA4Mzg3ICAgNDI3ODQgICA1MDA4OCAgIDA4Mzg3ICAgNDMyOTYgICA1MDA5MAorMDAwMDI0MCAgIDA4Mzg3ICAgNDM4MDggICA1MDA5MiAgIDA4Mzg3ICAgNDQzMjAgICA1MDA5NCAgIDA4Mzg3ICAgNDQ4MzIKKzAwMDAyNTAgICA1MDA5NiAgIDA4Mzg3ICAgNDUzNDQgICA1MDA5OCAgIDA4Mzg3ICAgNDU4NTYgICA1MDEwMCAgIDA4Mzg3CiswMDAwMjYwICAgNDYzNjggICA1MDEwMiAgIDA4Mzg3ICAgNDY4ODAgICA1MDEwNCAgIDA4Mzg3ICAgNDczOTIgICA1MDEwNgorMDAwMDI3MCAgIDA4Mzg3ICAgNDc5MDQgICA1MDEwOCAgIDA4Mzg3ICAgNDg0MTYgICA1MDExMCAgIDA4Mzg3ICAgNDg5MjgKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy0xIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctNGJfZGVjLTEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTU3YTdkYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy0xCkBAIC0wLDAgKzEsMjEgQEAKKzAwMDAwMDAgICA1MzY5NDQ2NDAgICA1MzcwNzU3MTQgICA1MzcyMDY3ODggICA1MzczMzc4NjIgICA1Mzc0Njg5MzYgICA1Mzc2MDAwMTAgICA1Mzc3MzEwODQgICA1Mzc4NjIxNTgKKzAwMDAwMjAgICA1Mzc5OTMyMzIgICA1MzgxMjQzMDYgICA1MzgyNTUzODAgICA1MzgzODY0NTQgICA1Mzg1MTc1MjggICA1Mzg2NDg2MDIgICA1Mzg3Nzk2NzYgICA1Mzg5MTA3NTAKKzAwMDAwNDAgICA1MzkwNDE4MjQgICA1MzkxNzI4OTggICA1MzkzMDM5NzIgICA1Mzk0MzUwNDYgICA1Mzk1NjYxMjAgICA1Mzk2OTcxOTQgICA1Mzk4MjgyNjggICA1Mzk5NTkzNDIKKzAwMDAwNjAgG1szMW0gIDU0MDA5MDQxNhtbMG0gICA1NDAyMjE0OTAgICA1NDAzNTI1NjQgICA1NDA0ODM2MzggICA1NDA2MTQ3MTIgICA1NDA3NDU3ODYgICA1NDA4NzY4NjAgICA1NDEwMDc5MzQKKzAwMDAwODAgICA1NDExMzkwMDggICA1NDEyNzAwODIgICA1NDE0MDExNTYgICA1NDE1MzIyMzAgICA1NDE2NjMzMDQgICA1NDE3OTQzNzggICA1NDE5MjU0NTIgICA1NDIwNTY1MjYKKzAwMDAwYTAgICA1NDIxODc2MDAgICA1NDIzMTg2NzQgICA1NDI0NDk3NDggICA1NDI1ODA4MjIgICA1NDI3MTE4OTYgICA1NDI4NDI5NzAgICA1NDI5NzQwNDQgICA1NDMxMDUxMTgKKzAwMDAwYzAgICA1NDMyMzYxOTIgICA1NDMzNjcyNjYgICA1NDM0OTgzNDAgICA1NDM2Mjk0MTQgICA1NDM3NjA0ODggICA1NDM4OTE1NjIgICA1NDQwMjI2MzYgICA1NDQxNTM3MTAKKzAwMDAwZTAgICA1NDQyODQ3ODQgICA1NDQ0MTU4NTggICA1NDQ1NDY5MzIgICA1NDQ2NzgwMDYgICA1NDQ4MDkwODAgICA1NDQ5NDAxNTQgICA1NDUwNzEyMjggICA1NDUyMDIzMDIKKzAwMDAxMDAgICAzMjU2OTEwMDE4ICAgMjE5Mzc2MDM4NSAgIDU0NTUwNTgyNCAgIDMyNTY5MTEwNDIgICAyMjYwODY5MjUzICAgNTQ1NzY3OTY4ICAgMzI1NjkxMjA2NiAgIDIzMjc5NzgxMjEKKzAwMDAxMjAgICA1NDYwMzAxMTIgICAzMjU2OTEzMDkwICAgMjM5NTA4Njk4OSAgIDU0NjI5MjI1NiAgIDMyNTY5MTQxMTQgICAyNDYyMTk1ODU3ICAgNTQ2NTU0NDAwICAgMzI1NjkxNTEzOAorMDAwMDE0MCAgIDI1MjkzMDQ3MjUgICA1NDY4MTY1NDQgICAzMjU2OTE2MTYyICAgMjU5NjQxMzU5MyAgIDU0NzA3ODY4OCAgIDMyNTY5MTcxODYgICAyNjYzNTIyNDYxICAgNTQ3MzQwODMyCiswMDAwMTYwICAgMzI1NjkxODIxMCAgIDI3MzA2MzEzMjkgICA1NDc2MDI5NzYgICAzMjU2OTE5MjM0ICAgMjc5Nzc0MDE5NyAgIDU0Nzg2NTEyMCAgIDMyNTY5MjAyNTggICAyODY0ODQ5MDY1CiswMDAwMTgwICAgNTQ4MTI3MjY0ICAgMzI1NjkyMTI4MiAgIDI5MzE5NTc5MzMgICA1NDgzODk0MDggICAzMjU2OTIyMzA2ICAgMjk5OTA2NjgwMSAgIDU0ODY1MTU1MiAgIDMyNTY5MjMzMzAKKzAwMDAxYTAgICAzMDY2MTc1NjY5ICAgNTQ4OTEzNjk2ICAgMzI1NjkyNDM1NCAgIDMxMzMyODQ1MzcgICA1NDkxNzU4NDAgICAzMjU2OTI1Mzc4ICAgMzIwMDM5MzQwNSAgIDU0OTQzNzk4NAorMDAwMDFjMCAgIDMyNzM2ODcyMzUgICAyMTkzODI1OTIxICAgNTQ1NTA2MDgwICAgMzI3MzY4ODI1OSAgIDIyNjA5MzQ3ODkgICA1NDU3NjgyMjQgICAzMjczNjg5MjgzICAgMjMyODA0MzY1NworMDAwMDFlMCAgIDU0NjAzMDM2OCAgIDMyNzM2OTAzMDcgICAyMzk1MTUyNTI1ICAgNTQ2MjkyNTEyICAgMzI3MzY5MTMzMSAgIDI0NjIyNjEzOTMgICA1NDY1NTQ2NTYgICAzMjczNjkyMzU1CiswMDAwMjAwICAgMjUyOTM3MDI2MSAgIDU0NjgxNjgwMCAgIDMyNzM2OTMzNzkgICAyNTk2NDc5MTI5ICAgNTQ3MDc4OTQ0ICAgMzI3MzY5NDQwMyAgIDI2NjM1ODc5OTcgICA1NDczNDEwODgKKzAwMDAyMjAgICAzMjczNjk1NDI3ICAgMjczMDY5Njg2NSAgIDU0NzYwMzIzMiAgIDMyNzM2OTY0NTEgICAyNzk3ODA1NzMzICAgNTQ3ODY1Mzc2ICAgMzI3MzY5NzQ3NSAgIDI4NjQ5MTQ2MDEKKzAwMDAyNDAgICA1NDgxMjc1MjAgICAzMjczNjk4NDk5ICAgMjkzMjAyMzQ2OSAgIDU0ODM4OTY2NCAgIDMyNzM2OTk1MjMgICAyOTk5MTMyMzM3ICAgNTQ4NjUxODA4ICAgMzI3MzcwMDU0NworMDAwMDI2MCAgIDMwNjYyNDEyMDUgICA1NDg5MTM5NTIgICAzMjczNzAxNTcxICAgMzEzMzM1MDA3MyAgIDU0OTE3NjA5NiAgIDMyNzM3MDI1OTUgICAzMjAwNDU4OTQxICAgNTQ5NDM4MjQwCiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy00Yl9kZWMtMS5CRSBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy0xLkJFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhOWEyNzEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy00Yl9kZWMtMS5CRQpAQCAtMCwwICsxLDIxIEBACiswMDAwMDAwICAgMjA5NzQ0MCAgIDM1NjUyMzg0ICAgNjkyMDczMjggICAxMDI3NjIyNzIgICAxMzYzMTcyMTYgICAxNjk4NzIxNjAgICAyMDM0MjcxMDQgICAyMzY5ODIwNDgKKzAwMDAwMjAgICAyNzA1MzY5OTIgICAzMDQwOTE5MzYgICAzMzc2NDY4ODAgICAzNzEyMDE4MjQgICA0MDQ3NTY3NjggICA0MzgzMTE3MTIgICA0NzE4NjY2NTYgICA1MDU0MjE2MDAKKzAwMDAwNDAgICA1Mzg5NzY1NDQgICA1NzI1MzE0ODggICA2MDYwODY0MzIgICA2Mzk2NDEzNzYgICA2NzMxOTYzMjAgICA3MDY3NTEyNjQgICA3NDAzMDYyMDggICA3NzM4NjExNTIKKzAwMDAwNjAgG1szMW0gIDgwNzQxNjA5NhtbMG0gICA4NDA5NzEwNDAgICA4NzQ1MjU5ODQgICA5MDgwODA5MjggICA5NDE2MzU4NzIgICA5NzUxOTA4MTYgICAxMDA4NzQ1NzYwICAgMTA0MjMwMDcwNAorMDAwMDA4MCAgIDEwNzU4NTU2NDggICAxMTA5NDEwNTkyICAgMTE0Mjk2NTUzNiAgIDExNzY1MjA0ODAgICAxMjEwMDc1NDI0ICAgMTI0MzYzMDM2OCAgIDEyNzcxODUzMTIgICAxMzEwNzQwMjU2CiswMDAwMGEwICAgMTM0NDI5NTIwMCAgIDEzNzc4NTAxNDQgICAxNDExNDA1MDg4ICAgMTQ0NDk2MDAzMiAgIDE0Nzg1MTQ5NzYgICAxNTEyMDY5OTIwICAgMTU0NTYyNDg2NCAgIDE1NzkxNzk4MDgKKzAwMDAwYzAgICAxNjEyNzM0NzUyICAgMTY0NjI4OTY5NiAgIDE2Nzk4NDQ2NDAgICAxNzEzMzk5NTg0ICAgMTc0Njk1NDUyOCAgIDE3ODA1MDk0NzIgICAxODE0MDY0NDE2ICAgMTg0NzYxOTM2MAorMDAwMDBlMCAgIDE4ODExNzQzMDQgICAxOTE0NzI5MjQ4ICAgMTk0ODI4NDE5MiAgIDE5ODE4MzkxMzYgICAyMDE1Mzk0MDgwICAgMjA0ODk0OTAyNCAgIDIwODI1MDM5NjggICAyMTE2MDU4OTEyCiswMDAwMTAwICAgMzI2MzE3Njg5OCAgIDIxNjY0MDc4MTAgICA1NDk2MTg0NjQgICAzMjYzNDM5MDQyICAgMjIzMzUxNjY3OCAgIDU0OTYxOTQ4OCAgIDMyNjM3MDExODYgICAyMzAwNjI1NTQ2CiswMDAwMTIwICAgNTQ5NjIwNTEyICAgMzI2Mzk2MzMzMCAgIDIzNjc3MzQ0MTQgICA1NDk2MjE1MzYgICAzMjY0MjI1NDc0ICAgMjQzNDg0MzI4MiAgIDU0OTYyMjU2MCAgIDMyNjQ0ODc2MTgKKzAwMDAxNDAgICAyNTAxOTUyMTUwICAgNTQ5NjIzNTg0ICAgMzI2NDc0OTc2MiAgIDI1NjkwNjEwMTggICA1NDk2MjQ2MDggICAzMjY1MDExOTA2ICAgMjYzNjE2OTg4NiAgIDU0OTYyNTYzMgorMDAwMDE2MCAgIDMyNjUyNzQwNTAgICAyNzAzMjc4NzU0ICAgNTQ5NjI2NjU2ICAgMzI2NTUzNjE5NCAgIDI3NzAzODc2MjIgICA1NDk2Mjc2ODAgICAzMjY1Nzk4MzM4ICAgMjgzNzQ5NjQ5MAorMDAwMDE4MCAgIDU0OTYyODcwNCAgIDMyNjYwNjA0ODIgICAyOTA0NjA1MzU4ICAgNTQ5NjI5NzI4ICAgMzI2NjMyMjYyNiAgIDI5NzE3MTQyMjYgICA1NDk2MzA3NTIgICAzMjY2NTg0NzcwCiswMDAwMWEwICAgMzAzODgyMzA5NCAgIDU0OTYzMTc3NiAgIDMyNjY4NDY5MTQgICAzMTA1OTMxOTYyICAgNTQ5NjMyODAwICAgMzI2NzEwOTA1OCAgIDMxNzMwNDA4MzAgICA1NDk2MzM4MjQKKzAwMDAxYzAgICAzMjc5OTU0MTE1ICAgMjE2NjQwODA2NiAgIDU0OTY4NDAwMCAgIDMyODAyMTYyNTkgICAyMjMzNTE2OTM0ICAgNTQ5Njg1MDI0ICAgMzI4MDQ3ODQwMyAgIDIzMDA2MjU4MDIKKzAwMDAxZTAgICA1NDk2ODYwNDggICAzMjgwNzQwNTQ3ICAgMjM2NzczNDY3MCAgIDU0OTY4NzA3MiAgIDMyODEwMDI2OTEgICAyNDM0ODQzNTM4ICAgNTQ5Njg4MDk2ICAgMzI4MTI2NDgzNQorMDAwMDIwMCAgIDI1MDE5NTI0MDYgICA1NDk2ODkxMjAgICAzMjgxNTI2OTc5ICAgMjU2OTA2MTI3NCAgIDU0OTY5MDE0NCAgIDMyODE3ODkxMjMgICAyNjM2MTcwMTQyICAgNTQ5NjkxMTY4CiswMDAwMjIwICAgMzI4MjA1MTI2NyAgIDI3MDMyNzkwMTAgICA1NDk2OTIxOTIgICAzMjgyMzEzNDExICAgMjc3MDM4Nzg3OCAgIDU0OTY5MzIxNiAgIDMyODI1NzU1NTUgICAyODM3NDk2NzQ2CiswMDAwMjQwICAgNTQ5Njk0MjQwICAgMzI4MjgzNzY5OSAgIDI5MDQ2MDU2MTQgICA1NDk2OTUyNjQgICAzMjgzMDk5ODQzICAgMjk3MTcxNDQ4MiAgIDU0OTY5NjI4OCAgIDMyODMzNjE5ODcKKzAwMDAyNjAgICAzMDM4ODIzMzUwICAgNTQ5Njk3MzEyICAgMzI4MzYyNDEzMSAgIDMxMDU5MzIyMTggICA1NDk2OTgzMzYgICAzMjgzODg2Mjc1ICAgMzE3MzA0MTA4NiAgIDU0OTY5OTM2MAorMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctNGJfZGVjLTIgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy00Yl9kZWMtMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNTdhN2RhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctNGJfZGVjLTIKQEAgLTAsMCArMSwyMSBAQAorMDAwMDAwMCAgIDUzNjk0NDY0MCAgIDUzNzA3NTcxNCAgIDUzNzIwNjc4OCAgIDUzNzMzNzg2MiAgIDUzNzQ2ODkzNiAgIDUzNzYwMDAxMCAgIDUzNzczMTA4NCAgIDUzNzg2MjE1OAorMDAwMDAyMCAgIDUzNzk5MzIzMiAgIDUzODEyNDMwNiAgIDUzODI1NTM4MCAgIDUzODM4NjQ1NCAgIDUzODUxNzUyOCAgIDUzODY0ODYwMiAgIDUzODc3OTY3NiAgIDUzODkxMDc1MAorMDAwMDA0MCAgIDUzOTA0MTgyNCAgIDUzOTE3Mjg5OCAgIDUzOTMwMzk3MiAgIDUzOTQzNTA0NiAgIDUzOTU2NjEyMCAgIDUzOTY5NzE5NCAgIDUzOTgyODI2OCAgIDUzOTk1OTM0MgorMDAwMDA2MCAbWzMxbSAgNTQwMDkwNDE2G1swbSAgIDU0MDIyMTQ5MCAgIDU0MDM1MjU2NCAgIDU0MDQ4MzYzOCAgIDU0MDYxNDcxMiAgIDU0MDc0NTc4NiAgIDU0MDg3Njg2MCAgIDU0MTAwNzkzNAorMDAwMDA4MCAgIDU0MTEzOTAwOCAgIDU0MTI3MDA4MiAgIDU0MTQwMTE1NiAgIDU0MTUzMjIzMCAgIDU0MTY2MzMwNCAgIDU0MTc5NDM3OCAgIDU0MTkyNTQ1MiAgIDU0MjA1NjUyNgorMDAwMDBhMCAgIDU0MjE4NzYwMCAgIDU0MjMxODY3NCAgIDU0MjQ0OTc0OCAgIDU0MjU4MDgyMiAgIDU0MjcxMTg5NiAgIDU0Mjg0Mjk3MCAgIDU0Mjk3NDA0NCAgIDU0MzEwNTExOAorMDAwMDBjMCAgIDU0MzIzNjE5MiAgIDU0MzM2NzI2NiAgIDU0MzQ5ODM0MCAgIDU0MzYyOTQxNCAgIDU0Mzc2MDQ4OCAgIDU0Mzg5MTU2MiAgIDU0NDAyMjYzNiAgIDU0NDE1MzcxMAorMDAwMDBlMCAgIDU0NDI4NDc4NCAgIDU0NDQxNTg1OCAgIDU0NDU0NjkzMiAgIDU0NDY3ODAwNiAgIDU0NDgwOTA4MCAgIDU0NDk0MDE1NCAgIDU0NTA3MTIyOCAgIDU0NTIwMjMwMgorMDAwMDEwMCAgIDMyNTY5MTAwMTggICAyMTkzNzYwMzg1ICAgNTQ1NTA1ODI0ICAgMzI1NjkxMTA0MiAgIDIyNjA4NjkyNTMgICA1NDU3Njc5NjggICAzMjU2OTEyMDY2ICAgMjMyNzk3ODEyMQorMDAwMDEyMCAgIDU0NjAzMDExMiAgIDMyNTY5MTMwOTAgICAyMzk1MDg2OTg5ICAgNTQ2MjkyMjU2ICAgMzI1NjkxNDExNCAgIDI0NjIxOTU4NTcgICA1NDY1NTQ0MDAgICAzMjU2OTE1MTM4CiswMDAwMTQwICAgMjUyOTMwNDcyNSAgIDU0NjgxNjU0NCAgIDMyNTY5MTYxNjIgICAyNTk2NDEzNTkzICAgNTQ3MDc4Njg4ICAgMzI1NjkxNzE4NiAgIDI2NjM1MjI0NjEgICA1NDczNDA4MzIKKzAwMDAxNjAgICAzMjU2OTE4MjEwICAgMjczMDYzMTMyOSAgIDU0NzYwMjk3NiAgIDMyNTY5MTkyMzQgICAyNzk3NzQwMTk3ICAgNTQ3ODY1MTIwICAgMzI1NjkyMDI1OCAgIDI4NjQ4NDkwNjUKKzAwMDAxODAgICA1NDgxMjcyNjQgICAzMjU2OTIxMjgyICAgMjkzMTk1NzkzMyAgIDU0ODM4OTQwOCAgIDMyNTY5MjIzMDYgICAyOTk5MDY2ODAxICAgNTQ4NjUxNTUyICAgMzI1NjkyMzMzMAorMDAwMDFhMCAgIDMwNjYxNzU2NjkgICA1NDg5MTM2OTYgICAzMjU2OTI0MzU0ICAgMzEzMzI4NDUzNyAgIDU0OTE3NTg0MCAgIDMyNTY5MjUzNzggICAzMjAwMzkzNDA1ICAgNTQ5NDM3OTg0CiswMDAwMWMwICAgMzI3MzY4NzIzNSAgIDIxOTM4MjU5MjEgICA1NDU1MDYwODAgICAzMjczNjg4MjU5ICAgMjI2MDkzNDc4OSAgIDU0NTc2ODIyNCAgIDMyNzM2ODkyODMgICAyMzI4MDQzNjU3CiswMDAwMWUwICAgNTQ2MDMwMzY4ICAgMzI3MzY5MDMwNyAgIDIzOTUxNTI1MjUgICA1NDYyOTI1MTIgICAzMjczNjkxMzMxICAgMjQ2MjI2MTM5MyAgIDU0NjU1NDY1NiAgIDMyNzM2OTIzNTUKKzAwMDAyMDAgICAyNTI5MzcwMjYxICAgNTQ2ODE2ODAwICAgMzI3MzY5MzM3OSAgIDI1OTY0NzkxMjkgICA1NDcwNzg5NDQgICAzMjczNjk0NDAzICAgMjY2MzU4Nzk5NyAgIDU0NzM0MTA4OAorMDAwMDIyMCAgIDMyNzM2OTU0MjcgICAyNzMwNjk2ODY1ICAgNTQ3NjAzMjMyICAgMzI3MzY5NjQ1MSAgIDI3OTc4MDU3MzMgICA1NDc4NjUzNzYgICAzMjczNjk3NDc1ICAgMjg2NDkxNDYwMQorMDAwMDI0MCAgIDU0ODEyNzUyMCAgIDMyNzM2OTg0OTkgICAyOTMyMDIzNDY5ICAgNTQ4Mzg5NjY0ICAgMzI3MzY5OTUyMyAgIDI5OTkxMzIzMzcgICA1NDg2NTE4MDggICAzMjczNzAwNTQ3CiswMDAwMjYwICAgMzA2NjI0MTIwNSAgIDU0ODkxMzk1MiAgIDMyNzM3MDE1NzEgICAzMTMzMzUwMDczICAgNTQ5MTc2MDk2ICAgMzI3MzcwMjU5NSAgIDMyMDA0NTg5NDEgICA1NDk0MzgyNDAKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy0yLkJFIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctNGJfZGVjLTIuQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmE5YTI3MQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy0yLkJFCkBAIC0wLDAgKzEsMjEgQEAKKzAwMDAwMDAgICAyMDk3NDQwICAgMzU2NTIzODQgICA2OTIwNzMyOCAgIDEwMjc2MjI3MiAgIDEzNjMxNzIxNiAgIDE2OTg3MjE2MCAgIDIwMzQyNzEwNCAgIDIzNjk4MjA0OAorMDAwMDAyMCAgIDI3MDUzNjk5MiAgIDMwNDA5MTkzNiAgIDMzNzY0Njg4MCAgIDM3MTIwMTgyNCAgIDQwNDc1Njc2OCAgIDQzODMxMTcxMiAgIDQ3MTg2NjY1NiAgIDUwNTQyMTYwMAorMDAwMDA0MCAgIDUzODk3NjU0NCAgIDU3MjUzMTQ4OCAgIDYwNjA4NjQzMiAgIDYzOTY0MTM3NiAgIDY3MzE5NjMyMCAgIDcwNjc1MTI2NCAgIDc0MDMwNjIwOCAgIDc3Mzg2MTE1MgorMDAwMDA2MCAbWzMxbSAgODA3NDE2MDk2G1swbSAgIDg0MDk3MTA0MCAgIDg3NDUyNTk4NCAgIDkwODA4MDkyOCAgIDk0MTYzNTg3MiAgIDk3NTE5MDgxNiAgIDEwMDg3NDU3NjAgICAxMDQyMzAwNzA0CiswMDAwMDgwICAgMTA3NTg1NTY0OCAgIDExMDk0MTA1OTIgICAxMTQyOTY1NTM2ICAgMTE3NjUyMDQ4MCAgIDEyMTAwNzU0MjQgICAxMjQzNjMwMzY4ICAgMTI3NzE4NTMxMiAgIDEzMTA3NDAyNTYKKzAwMDAwYTAgICAxMzQ0Mjk1MjAwICAgMTM3Nzg1MDE0NCAgIDE0MTE0MDUwODggICAxNDQ0OTYwMDMyICAgMTQ3ODUxNDk3NiAgIDE1MTIwNjk5MjAgICAxNTQ1NjI0ODY0ICAgMTU3OTE3OTgwOAorMDAwMDBjMCAgIDE2MTI3MzQ3NTIgICAxNjQ2Mjg5Njk2ICAgMTY3OTg0NDY0MCAgIDE3MTMzOTk1ODQgICAxNzQ2OTU0NTI4ICAgMTc4MDUwOTQ3MiAgIDE4MTQwNjQ0MTYgICAxODQ3NjE5MzYwCiswMDAwMGUwICAgMTg4MTE3NDMwNCAgIDE5MTQ3MjkyNDggICAxOTQ4Mjg0MTkyICAgMTk4MTgzOTEzNiAgIDIwMTUzOTQwODAgICAyMDQ4OTQ5MDI0ICAgMjA4MjUwMzk2OCAgIDIxMTYwNTg5MTIKKzAwMDAxMDAgICAzMjYzMTc2ODk4ICAgMjE2NjQwNzgxMCAgIDU0OTYxODQ2NCAgIDMyNjM0MzkwNDIgICAyMjMzNTE2Njc4ICAgNTQ5NjE5NDg4ICAgMzI2MzcwMTE4NiAgIDIzMDA2MjU1NDYKKzAwMDAxMjAgICA1NDk2MjA1MTIgICAzMjYzOTYzMzMwICAgMjM2NzczNDQxNCAgIDU0OTYyMTUzNiAgIDMyNjQyMjU0NzQgICAyNDM0ODQzMjgyICAgNTQ5NjIyNTYwICAgMzI2NDQ4NzYxOAorMDAwMDE0MCAgIDI1MDE5NTIxNTAgICA1NDk2MjM1ODQgICAzMjY0NzQ5NzYyICAgMjU2OTA2MTAxOCAgIDU0OTYyNDYwOCAgIDMyNjUwMTE5MDYgICAyNjM2MTY5ODg2ICAgNTQ5NjI1NjMyCiswMDAwMTYwICAgMzI2NTI3NDA1MCAgIDI3MDMyNzg3NTQgICA1NDk2MjY2NTYgICAzMjY1NTM2MTk0ICAgMjc3MDM4NzYyMiAgIDU0OTYyNzY4MCAgIDMyNjU3OTgzMzggICAyODM3NDk2NDkwCiswMDAwMTgwICAgNTQ5NjI4NzA0ICAgMzI2NjA2MDQ4MiAgIDI5MDQ2MDUzNTggICA1NDk2Mjk3MjggICAzMjY2MzIyNjI2ICAgMjk3MTcxNDIyNiAgIDU0OTYzMDc1MiAgIDMyNjY1ODQ3NzAKKzAwMDAxYTAgICAzMDM4ODIzMDk0ICAgNTQ5NjMxNzc2ICAgMzI2Njg0NjkxNCAgIDMxMDU5MzE5NjIgICA1NDk2MzI4MDAgICAzMjY3MTA5MDU4ICAgMzE3MzA0MDgzMCAgIDU0OTYzMzgyNAorMDAwMDFjMCAgIDMyNzk5NTQxMTUgICAyMTY2NDA4MDY2ICAgNTQ5Njg0MDAwICAgMzI4MDIxNjI1OSAgIDIyMzM1MTY5MzQgICA1NDk2ODUwMjQgICAzMjgwNDc4NDAzICAgMjMwMDYyNTgwMgorMDAwMDFlMCAgIDU0OTY4NjA0OCAgIDMyODA3NDA1NDcgICAyMzY3NzM0NjcwICAgNTQ5Njg3MDcyICAgMzI4MTAwMjY5MSAgIDI0MzQ4NDM1MzggICA1NDk2ODgwOTYgICAzMjgxMjY0ODM1CiswMDAwMjAwICAgMjUwMTk1MjQwNiAgIDU0OTY4OTEyMCAgIDMyODE1MjY5NzkgICAyNTY5MDYxMjc0ICAgNTQ5NjkwMTQ0ICAgMzI4MTc4OTEyMyAgIDI2MzYxNzAxNDIgICA1NDk2OTExNjgKKzAwMDAyMjAgICAzMjgyMDUxMjY3ICAgMjcwMzI3OTAxMCAgIDU0OTY5MjE5MiAgIDMyODIzMTM0MTEgICAyNzcwMzg3ODc4ICAgNTQ5NjkzMjE2ICAgMzI4MjU3NTU1NSAgIDI4Mzc0OTY3NDYKKzAwMDAyNDAgICA1NDk2OTQyNDAgICAzMjgyODM3Njk5ICAgMjkwNDYwNTYxNCAgIDU0OTY5NTI2NCAgIDMyODMwOTk4NDMgICAyOTcxNzE0NDgyICAgNTQ5Njk2Mjg4ICAgMzI4MzM2MTk4NworMDAwMDI2MCAgIDMwMzg4MjMzNTAgICA1NDk2OTczMTIgICAzMjgzNjI0MTMxICAgMzEwNTkzMjIxOCAgIDU0OTY5ODMzNiAgIDMyODM4ODYyNzUgICAzMTczMDQxMDg2ICAgNTQ5Njk5MzYwCiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy00Yl9kZWMtMyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy0zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkMThmYzgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy00Yl9kZWMtMwpAQCAtMCwwICsxLDIgQEAKKzAwMDAwMDAgG1szMW0gIDEwNzc5NTI1NzYbWzBtICAgMDAwMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKzAwMDAwMDUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy0zLkJFIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctNGJfZGVjLTMuQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDk0MDdjYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy0zLkJFCkBAIC0wLDAgKzEsMiBAQAorMDAwMDAwMCAbWzMxbSAgMTA3Nzk1MjU3NhtbMG0gICAxNjc3NzIxNjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKzAwMDAwMDUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy00IGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctNGJfZGVjLTQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGQxOGZjOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy00CkBAIC0wLDAgKzEsMiBAQAorMDAwMDAwMCAbWzMxbSAgMTA3Nzk1MjU3NhtbMG0gICAwMDAxMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorMDAwMDAwNQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctNGJfZGVjLTQuQkUgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy00Yl9kZWMtNC5CRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTQwN2NhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctNGJfZGVjLTQuQkUKQEAgLTAsMCArMSwyIEBACiswMDAwMDAwIBtbMzFtICAxMDc3OTUyNTc2G1swbSAgIDE2Nzc3MjE2MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorMDAwMDAwNQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctNGJfZGVjLTUgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy00Yl9kZWMtNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNWNjMTBiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctNGJfZGVjLTUKQEAgLTAsMCArMSBAQAoraGV4ZHVtcDogYmFkIGJ5dGUgY291bnQgZm9yIGNvbnZlcnNpb24gY2hhcmFjdGVyIF9MCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy00Yl9kZWMtNiBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy02Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkMThmYzgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy00Yl9kZWMtNgpAQCAtMCwwICsxLDIgQEAKKzAwMDAwMDAgG1szMW0gIDEwNzc5NTI1NzYbWzBtICAgMDAwMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKzAwMDAwMDUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy02LkJFIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctNGJfZGVjLTYuQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDk0MDdjYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy02LkJFCkBAIC0wLDAgKzEsMiBAQAorMDAwMDAwMCAbWzMxbSAgMTA3Nzk1MjU3NhtbMG0gICAxNjc3NzIxNjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKzAwMDAwMDUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy03IGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctNGJfZGVjLTcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTBlNDM4OQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy03CkBAIC0wLDAgKzEsMiBAQAorMDAwMDAwMCAgIDEwNzc5NTI1NzYgICAwMDAxMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorMDAwMDAwNQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctNGJfZGVjLTcuQkUgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy00Yl9kZWMtNy5CRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Yjg3ODExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctNGJfZGVjLTcuQkUKQEAgLTAsMCArMSwyIEBACiswMDAwMDAwICAgMTA3Nzk1MjU3NiAgIDE2Nzc3MjE2MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorMDAwMDAwNQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctY2Fub24tMSBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLWNhbm9uLTEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWVjYzM1MwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLWNhbm9uLTEKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMDAgIBtbMzRtMDAbWzBtIBtbMzNtMjAbWzBtIDAxIBtbMzNtMjAbWzBtIDAyIBtbMzNtMjAbWzBtIDAzIBtbMzNtMjAbWzBtICAwNCAbWzMzbTIwG1swbSAwNSAbWzMzbTIwG1swbSAwNiAbWzMzbTIwG1swbSAwNyAbWzMzbTIwG1swbSAgfBtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG18CiswMDAwMDAxMCAgMDggG1szM20yMBtbMG0gMDkgG1szM20yMBtbMG0gMGEgG1szM20yMBtbMG0gMGIgG1szM20yMBtbMG0gIDBjIBtbMzNtMjAbWzBtIDBkIBtbMzNtMjAbWzBtIDBlIBtbMzNtMjAbWzBtIDBmIBtbMzNtMjAbWzBtICB8G1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbXwKKzAwMDAwMDIwICAxMCAbWzMzbTIwG1swbSAxMSAbWzMzbTIwG1swbSAxMiAbWzMzbTIwG1swbSAxMyAbWzMzbTIwG1swbSAgMTQgG1szM20yMBtbMG0gMTUgG1szM20yMBtbMG0gMTYgG1szM20yMBtbMG0gMTcgG1szM20yMBtbMG0gIHwbWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtfAorMDAwMDAwMzAgIDE4IBtbMzNtMjAbWzBtIDE5IBtbMzNtMjAbWzBtIDFhIBtbMzNtMjAbWzBtIDFiIBtbMzNtMjAbWzBtICAxYyAbWzMzbTIwG1swbSAxZCAbWzMzbTIwG1swbSAxZSAbWzMzbTIwG1swbSAxZiAbWzMzbTIwG1swbSAgfBtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG18CiswMDAwMDA0MCAgG1szM20yMBtbMG0gG1szM20yMBtbMG0gMjEgG1szM20yMBtbMG0gMjIgG1szM20yMBtbMG0gMjMgG1szM20yMBtbMG0gIDI0IBtbMzNtMjAbWzBtIDI1IBtbMzNtMjAbWzBtIDI2IBtbMzNtMjAbWzBtIDI3IBtbMzNtMjAbWzBtICB8G1szNm0gG1swbRtbMzZtIBtbMG0bWzM2bSEbWzBtG1szNm0gG1swbRtbMzZtIhtbMG0bWzM2bSAbWzBtG1szNm0jG1swbRtbMzZtIBtbMG0bWzM2bSQbWzBtG1szNm0gG1swbRtbMzZtJRtbMG0bWzM2bSAbWzBtG1szNm0mG1swbRtbMzZtIBtbMG0bWzM2bScbWzBtG1szNm0gG1swbXwKKzAwMDAwMDUwICAyOCAbWzMzbTIwG1swbSAyOSAbWzMzbTIwG1swbSAyYSAbWzMzbTIwG1swbSAyYiAbWzMzbTIwG1swbSAgMmMgG1szM20yMBtbMG0gMmQgG1szM20yMBtbMG0gMmUgG1szM20yMBtbMG0gMmYgG1szM20yMBtbMG0gIHwbWzM2bSgbWzBtG1szNm0gG1swbRtbMzZtKRtbMG0bWzM2bSAbWzBtG1szNm0qG1swbRtbMzZtIBtbMG0bWzM2bSsbWzBtG1szNm0gG1swbRtbMzZtLBtbMG0bWzM2bSAbWzBtG1szNm0tG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLxtbMG0bWzM2bSAbWzBtfAorMDAwMDAwNjAgIDMwIBtbMzNtMjAbWzBtIDMxIBtbMzNtMjAbWzBtIDMyIBtbMzNtMjAbWzBtIDMzIBtbMzNtMjAbWzBtICAzNCAbWzMzbTIwG1swbSAzNSAbWzMzbTIwG1swbSAzNiAbWzMzbTIwG1swbSAzNyAbWzMzbTIwG1swbSAgfBtbMzZtMBtbMG0bWzM2bSAbWzBtG1szNm0xG1swbRtbMzZtIBtbMG0bWzM2bTIbWzBtG1szNm0gG1swbRtbMzZtMxtbMG0bWzM2bSAbWzBtG1szNm00G1swbRtbMzZtIBtbMG0bWzM2bTUbWzBtG1szNm0gG1swbRtbMzZtNhtbMG0bWzM2bSAbWzBtG1szNm03G1swbRtbMzZtIBtbMG18CiswMDAwMDA3MCAgMzggG1szM20yMBtbMG0gMzkgG1szM20yMBtbMG0gM2EgG1szM20yMBtbMG0gM2IgG1szM20yMBtbMG0gIDNjIBtbMzNtMjAbWzBtIDNkIBtbMzNtMjAbWzBtIDNlIBtbMzNtMjAbWzBtIDNmIBtbMzNtMjAbWzBtICB8G1szNm04G1swbRtbMzZtIBtbMG0bWzM2bTkbWzBtG1szNm0gG1swbRtbMzZtOhtbMG0bWzM2bSAbWzBtG1szNm07G1swbRtbMzZtIBtbMG0bWzM2bTwbWzBtG1szNm0gG1swbRtbMzZtPRtbMG0bWzM2bSAbWzBtG1szNm0+G1swbRtbMzZtIBtbMG0bWzM2bT8bWzBtG1szNm0gG1swbXwKKzAwMDAwMDgwICA0MCAbWzMzbTIwG1swbSA0MSAbWzMzbTIwG1swbSA0MiAbWzMzbTIwG1swbSA0MyAbWzMzbTIwG1swbSAgNDQgG1szM20yMBtbMG0gNDUgG1szM20yMBtbMG0gNDYgG1szM20yMBtbMG0gNDcgG1szM20yMBtbMG0gIHwbWzM2bUAbWzBtG1szNm0gG1swbRtbMzZtQRtbMG0bWzM2bSAbWzBtG1szNm1CG1swbRtbMzZtIBtbMG0bWzM2bUMbWzBtG1szNm0gG1swbRtbMzZtRBtbMG0bWzM2bSAbWzBtG1szNm1FG1swbRtbMzZtIBtbMG0bWzM2bUYbWzBtG1szNm0gG1swbRtbMzZtRxtbMG0bWzM2bSAbWzBtfAorMDAwMDAwOTAgIDQ4IBtbMzNtMjAbWzBtIDQ5IBtbMzNtMjAbWzBtIDRhIBtbMzNtMjAbWzBtIDRiIBtbMzNtMjAbWzBtICA0YyAbWzMzbTIwG1swbSA0ZCAbWzMzbTIwG1swbSA0ZSAbWzMzbTIwG1swbSA0ZiAbWzMzbTIwG1swbSAgfBtbMzZtSBtbMG0bWzM2bSAbWzBtG1szNm1JG1swbRtbMzZtIBtbMG0bWzM2bUobWzBtG1szNm0gG1swbRtbMzZtSxtbMG0bWzM2bSAbWzBtG1szNm1MG1swbRtbMzZtIBtbMG0bWzM2bU0bWzBtG1szNm0gG1swbRtbMzZtThtbMG0bWzM2bSAbWzBtG1szNm1PG1swbRtbMzZtIBtbMG18CiswMDAwMDBhMCAgNTAgG1szM20yMBtbMG0gNTEgG1szM20yMBtbMG0gNTIgG1szM20yMBtbMG0gNTMgG1szM20yMBtbMG0gIDU0IBtbMzNtMjAbWzBtIDU1IBtbMzNtMjAbWzBtIDU2IBtbMzNtMjAbWzBtIDU3IBtbMzNtMjAbWzBtICB8G1szNm1QG1swbRtbMzZtIBtbMG0bWzM2bVEbWzBtG1szNm0gG1swbRtbMzZtUhtbMG0bWzM2bSAbWzBtG1szNm1TG1swbRtbMzZtIBtbMG0bWzM2bVQbWzBtG1szNm0gG1swbRtbMzZtVRtbMG0bWzM2bSAbWzBtG1szNm1WG1swbRtbMzZtIBtbMG0bWzM2bVcbWzBtG1szNm0gG1swbXwKKzAwMDAwMGIwICA1OCAbWzMzbTIwG1swbSA1OSAbWzMzbTIwG1swbSA1YSAbWzMzbTIwG1swbSA1YiAbWzMzbTIwG1swbSAgNWMgG1szM20yMBtbMG0gNWQgG1szM20yMBtbMG0gNWUgG1szM20yMBtbMG0gNWYgG1szM20yMBtbMG0gIHwbWzM2bVgbWzBtG1szNm0gG1swbRtbMzZtWRtbMG0bWzM2bSAbWzBtG1szNm1aG1swbRtbMzZtIBtbMG0bWzM2bVsbWzBtG1szNm0gG1swbRtbMzZtXBtbMG0bWzM2bSAbWzBtG1szNm1dG1swbRtbMzZtIBtbMG0bWzM2bV4bWzBtG1szNm0gG1swbRtbMzZtXxtbMG0bWzM2bSAbWzBtfAorMDAwMDAwYzAgIDYwIBtbMzNtMjAbWzBtIDYxIBtbMzNtMjAbWzBtIDYyIBtbMzNtMjAbWzBtIDYzIBtbMzNtMjAbWzBtICA2NCAbWzMzbTIwG1swbSA2NSAbWzMzbTIwG1swbSA2NiAbWzMzbTIwG1swbSA2NyAbWzMzbTIwG1swbSAgfBtbMzZtYBtbMG0bWzM2bSAbWzBtG1szNm1hG1swbRtbMzZtIBtbMG0bWzM2bWIbWzBtG1szNm0gG1swbRtbMzZtYxtbMG0bWzM2bSAbWzBtG1szNm1kG1swbRtbMzZtIBtbMG0bWzM2bWUbWzBtG1szNm0gG1swbRtbMzZtZhtbMG0bWzM2bSAbWzBtG1szNm1nG1swbRtbMzZtIBtbMG18CiswMDAwMDBkMCAgNjggG1szM20yMBtbMG0gNjkgG1szM20yMBtbMG0gNmEgG1szM20yMBtbMG0gNmIgG1szM20yMBtbMG0gIDZjIBtbMzNtMjAbWzBtIDZkIBtbMzNtMjAbWzBtIDZlIBtbMzNtMjAbWzBtIDZmIBtbMzNtMjAbWzBtICB8G1szNm1oG1swbRtbMzZtIBtbMG0bWzM2bWkbWzBtG1szNm0gG1swbRtbMzZtahtbMG0bWzM2bSAbWzBtG1szNm1rG1swbRtbMzZtIBtbMG0bWzM2bWwbWzBtG1szNm0gG1swbRtbMzZtbRtbMG0bWzM2bSAbWzBtG1szNm1uG1swbRtbMzZtIBtbMG0bWzM2bW8bWzBtG1szNm0gG1swbXwKKzAwMDAwMGUwICA3MCAbWzMzbTIwG1swbSA3MSAbWzMzbTIwG1swbSA3MiAbWzMzbTIwG1swbSA3MyAbWzMzbTIwG1swbSAgNzQgG1szM20yMBtbMG0gNzUgG1szM20yMBtbMG0gNzYgG1szM20yMBtbMG0gNzcgG1szM20yMBtbMG0gIHwbWzM2bXAbWzBtG1szNm0gG1swbRtbMzZtcRtbMG0bWzM2bSAbWzBtG1szNm1yG1swbRtbMzZtIBtbMG0bWzM2bXMbWzBtG1szNm0gG1swbRtbMzZtdBtbMG0bWzM2bSAbWzBtG1szNm11G1swbRtbMzZtIBtbMG0bWzM2bXYbWzBtG1szNm0gG1swbRtbMzZtdxtbMG0bWzM2bSAbWzBtfAorMDAwMDAwZjAgIDc4IBtbMzNtMjAbWzBtIDc5IBtbMzNtMjAbWzBtIDdhIBtbMzNtMjAbWzBtIDdiIBtbMzNtMjAbWzBtICA3YyAbWzMzbTIwG1swbSA3ZCAbWzMzbTIwG1swbSA3ZSAbWzMzbTIwG1swbSA3ZiAbWzMzbTIwG1swbSAgfBtbMzZteBtbMG0bWzM2bSAbWzBtG1szNm15G1swbRtbMzZtIBtbMG0bWzM2bXobWzBtG1szNm0gG1swbRtbMzZtextbMG0bWzM2bSAbWzBtG1szNm18G1swbRtbMzZtIBtbMG0bWzM2bX0bWzBtG1szNm0gG1swbRtbMzZtfhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG18CiswMDAwMDEwMCAgYzIgODAgG1szM20yMBtbMG0gYzIgODEgG1szM20yMBtbMG0gYzIgODIgIBtbMzNtMjAbWzBtIGMyIDgzIBtbMzNtMjAbWzBtIGMyIDg0IBtbMzNtMjAbWzBtIGMyICB8G1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbXwKKzAwMDAwMTEwICA4NSAbWzMzbTIwG1swbSBjMiA4NiAbWzMzbTIwG1swbSBjMiA4NyAbWzMzbTIwG1swbSAgYzIgODggG1szM20yMBtbMG0gYzIgODkgG1szM20yMBtbMG0gYzIgOGEgIHwbWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtfAorMDAwMDAxMjAgIBtbMzNtMjAbWzBtIGMyIDhiIBtbMzNtMjAbWzBtIGMyIDhjIBtbMzNtMjAbWzBtIGMyICA4ZCAbWzMzbTIwG1swbSBjMiA4ZSAbWzMzbTIwG1swbSBjMiA4ZiAbWzMzbTIwG1swbSAgfBtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG18CiswMDAwMDEzMCAgYzIgOTAgG1szM20yMBtbMG0gYzIgOTEgG1szM20yMBtbMG0gYzIgOTIgIBtbMzNtMjAbWzBtIGMyIDkzIBtbMzNtMjAbWzBtIGMyIDk0IBtbMzNtMjAbWzBtIGMyICB8G1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbXwKKzAwMDAwMTQwICA5NSAbWzMzbTIwG1swbSBjMiA5NiAbWzMzbTIwG1swbSBjMiA5NyAbWzMzbTIwG1swbSAgYzIgOTggG1szM20yMBtbMG0gYzIgOTkgG1szM20yMBtbMG0gYzIgOWEgIHwbWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtfAorMDAwMDAxNTAgIBtbMzNtMjAbWzBtIGMyIDliIBtbMzNtMjAbWzBtIGMyIDljIBtbMzNtMjAbWzBtIGMyICA5ZCAbWzMzbTIwG1swbSBjMiA5ZSAbWzMzbTIwG1swbSBjMiA5ZiAbWzMzbTIwG1swbSAgfBtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG18CiswMDAwMDE2MCAgYzIgYTAgG1szM20yMBtbMG0gYzIgYTEgG1szM20yMBtbMG0gYzIgYTIgIBtbMzNtMjAbWzBtIGMyIGEzIBtbMzNtMjAbWzBtIGMyIGE0IBtbMzNtMjAbWzBtIGMyICB8G1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbXwKKzAwMDAwMTcwICBhNSAbWzMzbTIwG1swbSBjMiBhNiAbWzMzbTIwG1swbSBjMiBhNyAbWzMzbTIwG1swbSAgYzIgYTggG1szM20yMBtbMG0gYzIgYTkgG1szM20yMBtbMG0gYzIgYWEgIHwbWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtfAorMDAwMDAxODAgIBtbMzNtMjAbWzBtIGMyIGFiIBtbMzNtMjAbWzBtIGMyIGFjIBtbMzNtMjAbWzBtIGMyICBhZCAbWzMzbTIwG1swbSBjMiBhZSAbWzMzbTIwG1swbSBjMiBhZiAbWzMzbTIwG1swbSAgfBtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG18CiswMDAwMDE5MCAgYzIgYjAgG1szM20yMBtbMG0gYzIgYjEgG1szM20yMBtbMG0gYzIgYjIgIBtbMzNtMjAbWzBtIGMyIGIzIBtbMzNtMjAbWzBtIGMyIGI0IBtbMzNtMjAbWzBtIGMyICB8G1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbXwKKzAwMDAwMWEwICBiNSAbWzMzbTIwG1swbSBjMiBiNiAbWzMzbTIwG1swbSBjMiBiNyAbWzMzbTIwG1swbSAgYzIgYjggG1szM20yMBtbMG0gYzIgYjkgG1szM20yMBtbMG0gYzIgYmEgIHwbWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtfAorMDAwMDAxYjAgIBtbMzNtMjAbWzBtIGMyIGJiIBtbMzNtMjAbWzBtIGMyIGJjIBtbMzNtMjAbWzBtIGMyICBiZCAbWzMzbTIwG1swbSBjMiBiZSAbWzMzbTIwG1swbSBjMiBiZiAbWzMzbTIwG1swbSAgfBtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG18CiswMDAwMDFjMCAgYzMgODAgG1szM20yMBtbMG0gYzMgODEgG1szM20yMBtbMG0gYzMgODIgIBtbMzNtMjAbWzBtIGMzIDgzIBtbMzNtMjAbWzBtIGMzIDg0IBtbMzNtMjAbWzBtIGMzICB8G1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbXwKKzAwMDAwMWQwICA4NSAbWzMzbTIwG1swbSBjMyA4NiAbWzMzbTIwG1swbSBjMyA4NyAbWzMzbTIwG1swbSAgYzMgODggG1szM20yMBtbMG0gYzMgODkgG1szM20yMBtbMG0gYzMgOGEgIHwbWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtfAorMDAwMDAxZTAgIBtbMzNtMjAbWzBtIGMzIDhiIBtbMzNtMjAbWzBtIGMzIDhjIBtbMzNtMjAbWzBtIGMzICA4ZCAbWzMzbTIwG1swbSBjMyA4ZSAbWzMzbTIwG1swbSBjMyA4ZiAbWzMzbTIwG1swbSAgfBtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG18CiswMDAwMDFmMCAgYzMgOTAgG1szM20yMBtbMG0gYzMgOTEgG1szM20yMBtbMG0gYzMgOTIgIBtbMzNtMjAbWzBtIGMzIDkzIBtbMzNtMjAbWzBtIGMzIDk0IBtbMzNtMjAbWzBtIGMzICB8G1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbXwKKzAwMDAwMjAwICA5NSAbWzMzbTIwG1swbSBjMyA5NiAbWzMzbTIwG1swbSBjMyA5NyAbWzMzbTIwG1swbSAgYzMgOTggG1szM20yMBtbMG0gYzMgOTkgG1szM20yMBtbMG0gYzMgOWEgIHwbWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtfAorMDAwMDAyMTAgIBtbMzNtMjAbWzBtIGMzIDliIBtbMzNtMjAbWzBtIGMzIDljIBtbMzNtMjAbWzBtIGMzICA5ZCAbWzMzbTIwG1swbSBjMyA5ZSAbWzMzbTIwG1swbSBjMyA5ZiAbWzMzbTIwG1swbSAgfBtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG18CiswMDAwMDIyMCAgYzMgYTAgG1szM20yMBtbMG0gYzMgYTEgG1szM20yMBtbMG0gYzMgYTIgIBtbMzNtMjAbWzBtIGMzIGEzIBtbMzNtMjAbWzBtIGMzIGE0IBtbMzNtMjAbWzBtIGMzICB8G1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbXwKKzAwMDAwMjMwICBhNSAbWzMzbTIwG1swbSBjMyBhNiAbWzMzbTIwG1swbSBjMyBhNyAbWzMzbTIwG1swbSAgYzMgYTggG1szM20yMBtbMG0gYzMgYTkgG1szM20yMBtbMG0gYzMgYWEgIHwbWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtfAorMDAwMDAyNDAgIBtbMzNtMjAbWzBtIGMzIGFiIBtbMzNtMjAbWzBtIGMzIGFjIBtbMzNtMjAbWzBtIGMzICBhZCAbWzMzbTIwG1swbSBjMyBhZSAbWzMzbTIwG1swbSBjMyBhZiAbWzMzbTIwG1swbSAgfBtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG18CiswMDAwMDI1MCAgYzMgYjAgG1szM20yMBtbMG0gYzMgYjEgG1szM20yMBtbMG0gYzMgYjIgIBtbMzNtMjAbWzBtIGMzIGIzIBtbMzNtMjAbWzBtIGMzIGI0IBtbMzNtMjAbWzBtIGMzICB8G1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbXwKKzAwMDAwMjYwICBiNSAbWzMzbTIwG1swbSBjMyBiNiAbWzMzbTIwG1swbSBjMyBiNyAbWzMzbTIwG1swbSAgYzMgYjggG1szM20yMBtbMG0gYzMgYjkgG1szM20yMBtbMG0gYzMgYmEgIHwbWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtfAorMDAwMDAyNzAgIBtbMzNtMjAbWzBtIGMzIGJiIBtbMzNtMjAbWzBtIGMzIGJjIBtbMzNtMjAbWzBtIGMzICBiZCAbWzMzbTIwG1swbSBjMyBiZSAbWzMzbTIwG1swbSBjMyBiZiAbWzMzbTIwG1swbSAgfBtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG18CisbWzM3bTAwMDAwMjgwG1swbQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctY2Fub24tMS5CRSBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLWNhbm9uLTEuQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmM0OWY2NQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLWNhbm9uLTEuQkUKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMDAgIBtbMzRtMDAbWzBtIDIwIDAxIDIwIDAyIDIwIDAzIDIwICAwNCAyMCAwNSAyMCAwNiAyMCAwNyAyMCAgfBtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG18CiswMDAwMDAxMCAgMDggMjAgMDkgMjAgMGEgMjAgMGIgMjAgIDBjIDIwIDBkIDIwIDBlIDIwIDBmIDIwICB8G1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbXwKKzAwMDAwMDIwICAxMCAyMCAxMSAyMCAxMiAyMCAxMyAyMCAgMTQgMjAgMTUgMjAgMTYgMjAgMTcgMjAgIHwbWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtfAorMDAwMDAwMzAgIDE4IDIwIDE5IDIwIDFhIDIwIDFiIDIwICAxYyAyMCAxZCAyMCAxZSAyMCAxZiAyMCAgfBtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG18CiswMDAwMDA0MCAgMjAgMjAgMjEgMjAgMjIgMjAgMjMgMjAgIDI0IDIwIDI1IDIwIDI2IDIwIDI3IDIwICB8G1szNm0gG1swbRtbMzZtIBtbMG0bWzM2bSEbWzBtG1szNm0gG1swbRtbMzZtIhtbMG0bWzM2bSAbWzBtG1szNm0jG1swbRtbMzZtIBtbMG0bWzM2bSQbWzBtG1szNm0gG1swbRtbMzZtJRtbMG0bWzM2bSAbWzBtG1szNm0mG1swbRtbMzZtIBtbMG0bWzM2bScbWzBtG1szNm0gG1swbXwKKzAwMDAwMDUwICAyOCAyMCAyOSAyMCAyYSAyMCAyYiAyMCAgMmMgMjAgMmQgMjAgMmUgMjAgMmYgMjAgIHwbWzM2bSgbWzBtG1szNm0gG1swbRtbMzZtKRtbMG0bWzM2bSAbWzBtG1szNm0qG1swbRtbMzZtIBtbMG0bWzM2bSsbWzBtG1szNm0gG1swbRtbMzZtLBtbMG0bWzM2bSAbWzBtG1szNm0tG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLxtbMG0bWzM2bSAbWzBtfAorMDAwMDAwNjAgIDMwIDIwIDMxIDIwIDMyIDIwIDMzIDIwICAzNCAyMCAzNSAyMCAzNiAyMCAzNyAyMCAgfBtbMzZtMBtbMG0bWzM2bSAbWzBtG1szNm0xG1swbRtbMzZtIBtbMG0bWzM2bTIbWzBtG1szNm0gG1swbRtbMzZtMxtbMG0bWzM2bSAbWzBtG1szNm00G1swbRtbMzZtIBtbMG0bWzM2bTUbWzBtG1szNm0gG1swbRtbMzZtNhtbMG0bWzM2bSAbWzBtG1szNm03G1swbRtbMzZtIBtbMG18CiswMDAwMDA3MCAgMzggMjAgMzkgMjAgM2EgMjAgM2IgMjAgIDNjIDIwIDNkIDIwIDNlIDIwIDNmIDIwICB8G1szNm04G1swbRtbMzZtIBtbMG0bWzM2bTkbWzBtG1szNm0gG1swbRtbMzZtOhtbMG0bWzM2bSAbWzBtG1szNm07G1swbRtbMzZtIBtbMG0bWzM2bTwbWzBtG1szNm0gG1swbRtbMzZtPRtbMG0bWzM2bSAbWzBtG1szNm0+G1swbRtbMzZtIBtbMG0bWzM2bT8bWzBtG1szNm0gG1swbXwKKzAwMDAwMDgwICA0MCAyMCA0MSAyMCA0MiAyMCA0MyAyMCAgNDQgMjAgNDUgMjAgNDYgMjAgNDcgMjAgIHwbWzM2bUAbWzBtG1szNm0gG1swbRtbMzZtQRtbMG0bWzM2bSAbWzBtG1szNm1CG1swbRtbMzZtIBtbMG0bWzM2bUMbWzBtG1szNm0gG1swbRtbMzZtRBtbMG0bWzM2bSAbWzBtG1szNm1FG1swbRtbMzZtIBtbMG0bWzM2bUYbWzBtG1szNm0gG1swbRtbMzZtRxtbMG0bWzM2bSAbWzBtfAorMDAwMDAwOTAgIDQ4IDIwIDQ5IDIwIDRhIDIwIDRiIDIwICA0YyAyMCA0ZCAyMCA0ZSAyMCA0ZiAyMCAgfBtbMzZtSBtbMG0bWzM2bSAbWzBtG1szNm1JG1swbRtbMzZtIBtbMG0bWzM2bUobWzBtG1szNm0gG1swbRtbMzZtSxtbMG0bWzM2bSAbWzBtG1szNm1MG1swbRtbMzZtIBtbMG0bWzM2bU0bWzBtG1szNm0gG1swbRtbMzZtThtbMG0bWzM2bSAbWzBtG1szNm1PG1swbRtbMzZtIBtbMG18CiswMDAwMDBhMCAgNTAgMjAgNTEgMjAgNTIgMjAgNTMgMjAgIDU0IDIwIDU1IDIwIDU2IDIwIDU3IDIwICB8G1szNm1QG1swbRtbMzZtIBtbMG0bWzM2bVEbWzBtG1szNm0gG1swbRtbMzZtUhtbMG0bWzM2bSAbWzBtG1szNm1TG1swbRtbMzZtIBtbMG0bWzM2bVQbWzBtG1szNm0gG1swbRtbMzZtVRtbMG0bWzM2bSAbWzBtG1szNm1WG1swbRtbMzZtIBtbMG0bWzM2bVcbWzBtG1szNm0gG1swbXwKKzAwMDAwMGIwICA1OCAyMCA1OSAyMCA1YSAyMCA1YiAyMCAgNWMgMjAgNWQgMjAgNWUgMjAgNWYgMjAgIHwbWzM2bVgbWzBtG1szNm0gG1swbRtbMzZtWRtbMG0bWzM2bSAbWzBtG1szNm1aG1swbRtbMzZtIBtbMG0bWzM2bVsbWzBtG1szNm0gG1swbRtbMzZtXBtbMG0bWzM2bSAbWzBtG1szNm1dG1swbRtbMzZtIBtbMG0bWzM2bV4bWzBtG1szNm0gG1swbRtbMzZtXxtbMG0bWzM2bSAbWzBtfAorMDAwMDAwYzAgIDYwIDIwIDYxIDIwIDYyIDIwIDYzIDIwICA2NCAyMCA2NSAyMCA2NiAyMCA2NyAyMCAgfBtbMzZtYBtbMG0bWzM2bSAbWzBtG1szNm1hG1swbRtbMzZtIBtbMG0bWzM2bWIbWzBtG1szNm0gG1swbRtbMzZtYxtbMG0bWzM2bSAbWzBtG1szNm1kG1swbRtbMzZtIBtbMG0bWzM2bWUbWzBtG1szNm0gG1swbRtbMzZtZhtbMG0bWzM2bSAbWzBtG1szNm1nG1swbRtbMzZtIBtbMG18CiswMDAwMDBkMCAgNjggMjAgNjkgMjAgNmEgMjAgNmIgMjAgIDZjIDIwIDZkIDIwIDZlIDIwIDZmIDIwICB8G1szNm1oG1swbRtbMzZtIBtbMG0bWzM2bWkbWzBtG1szNm0gG1swbRtbMzZtahtbMG0bWzM2bSAbWzBtG1szNm1rG1swbRtbMzZtIBtbMG0bWzM2bWwbWzBtG1szNm0gG1swbRtbMzZtbRtbMG0bWzM2bSAbWzBtG1szNm1uG1swbRtbMzZtIBtbMG0bWzM2bW8bWzBtG1szNm0gG1swbXwKKzAwMDAwMGUwICA3MCAyMCA3MSAyMCA3MiAyMCA3MyAyMCAgNzQgMjAgNzUgMjAgNzYgMjAgNzcgMjAgIHwbWzM2bXAbWzBtG1szNm0gG1swbRtbMzZtcRtbMG0bWzM2bSAbWzBtG1szNm1yG1swbRtbMzZtIBtbMG0bWzM2bXMbWzBtG1szNm0gG1swbRtbMzZtdBtbMG0bWzM2bSAbWzBtG1szNm11G1swbRtbMzZtIBtbMG0bWzM2bXYbWzBtG1szNm0gG1swbRtbMzZtdxtbMG0bWzM2bSAbWzBtfAorMDAwMDAwZjAgIDc4IDIwIDc5IDIwIDdhIDIwIDdiIDIwICA3YyAyMCA3ZCAyMCA3ZSAyMCA3ZiAyMCAgfBtbMzZteBtbMG0bWzM2bSAbWzBtG1szNm15G1swbRtbMzZtIBtbMG0bWzM2bXobWzBtG1szNm0gG1swbRtbMzZtextbMG0bWzM2bSAbWzBtG1szNm18G1swbRtbMzZtIBtbMG0bWzM2bX0bWzBtG1szNm0gG1swbRtbMzZtfhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG18CiswMDAwMDEwMCAgYzIgODAgMjAgYzIgODEgMjAgYzIgODIgIDIwIGMyIDgzIDIwIGMyIDg0IDIwIGMyICB8G1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbXwKKzAwMDAwMTEwICA4NSAyMCBjMiA4NiAyMCBjMiA4NyAyMCAgYzIgODggMjAgYzIgODkgMjAgYzIgOGEgIHwbWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtfAorMDAwMDAxMjAgIDIwIGMyIDhiIDIwIGMyIDhjIDIwIGMyICA4ZCAyMCBjMiA4ZSAyMCBjMiA4ZiAyMCAgfBtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG18CiswMDAwMDEzMCAgYzIgOTAgMjAgYzIgOTEgMjAgYzIgOTIgIDIwIGMyIDkzIDIwIGMyIDk0IDIwIGMyICB8G1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbXwKKzAwMDAwMTQwICA5NSAyMCBjMiA5NiAyMCBjMiA5NyAyMCAgYzIgOTggMjAgYzIgOTkgMjAgYzIgOWEgIHwbWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtfAorMDAwMDAxNTAgIDIwIGMyIDliIDIwIGMyIDljIDIwIGMyICA5ZCAyMCBjMiA5ZSAyMCBjMiA5ZiAyMCAgfBtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG18CiswMDAwMDE2MCAgYzIgYTAgMjAgYzIgYTEgMjAgYzIgYTIgIDIwIGMyIGEzIDIwIGMyIGE0IDIwIGMyICB8G1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbXwKKzAwMDAwMTcwICBhNSAyMCBjMiBhNiAyMCBjMiBhNyAyMCAgYzIgYTggMjAgYzIgYTkgMjAgYzIgYWEgIHwbWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtfAorMDAwMDAxODAgIDIwIGMyIGFiIDIwIGMyIGFjIDIwIGMyICBhZCAyMCBjMiBhZSAyMCBjMiBhZiAyMCAgfBtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG18CiswMDAwMDE5MCAgYzIgYjAgMjAgYzIgYjEgMjAgYzIgYjIgIDIwIGMyIGIzIDIwIGMyIGI0IDIwIGMyICB8G1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbXwKKzAwMDAwMWEwICBiNSAyMCBjMiBiNiAyMCBjMiBiNyAyMCAgYzIgYjggMjAgYzIgYjkgMjAgYzIgYmEgIHwbWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtfAorMDAwMDAxYjAgIDIwIGMyIGJiIDIwIGMyIGJjIDIwIGMyICBiZCAyMCBjMiBiZSAyMCBjMiBiZiAyMCAgfBtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG18CiswMDAwMDFjMCAgYzMgODAgMjAgYzMgODEgMjAgYzMgODIgIDIwIGMzIDgzIDIwIGMzIDg0IDIwIGMzICB8G1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbXwKKzAwMDAwMWQwICA4NSAyMCBjMyA4NiAyMCBjMyA4NyAyMCAgYzMgODggMjAgYzMgODkgMjAgYzMgOGEgIHwbWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtfAorMDAwMDAxZTAgIDIwIGMzIDhiIDIwIGMzIDhjIDIwIGMzICA4ZCAyMCBjMyA4ZSAyMCBjMyA4ZiAyMCAgfBtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG18CiswMDAwMDFmMCAgYzMgOTAgMjAgYzMgOTEgMjAgYzMgOTIgIDIwIGMzIDkzIDIwIGMzIDk0IDIwIGMzICB8G1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbXwKKzAwMDAwMjAwICA5NSAyMCBjMyA5NiAyMCBjMyA5NyAyMCAgYzMgOTggMjAgYzMgOTkgMjAgYzMgOWEgIHwbWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtfAorMDAwMDAyMTAgIDIwIGMzIDliIDIwIGMzIDljIDIwIGMzICA5ZCAyMCBjMyA5ZSAyMCBjMyA5ZiAyMCAgfBtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG18CiswMDAwMDIyMCAgYzMgYTAgMjAgYzMgYTEgMjAgYzMgYTIgIDIwIGMzIGEzIDIwIGMzIGE0IDIwIGMzICB8G1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbXwKKzAwMDAwMjMwICBhNSAyMCBjMyBhNiAyMCBjMyBhNyAyMCAgYzMgYTggMjAgYzMgYTkgMjAgYzMgYWEgIHwbWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtfAorMDAwMDAyNDAgIDIwIGMzIGFiIDIwIGMzIGFjIDIwIGMzICBhZCAyMCBjMyBhZSAyMCBjMyBhZiAyMCAgfBtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG18CiswMDAwMDI1MCAgYzMgYjAgMjAgYzMgYjEgMjAgYzMgYjIgIDIwIGMzIGIzIDIwIGMzIGI0IDIwIGMzICB8G1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbXwKKzAwMDAwMjYwICBiNSAyMCBjMyBiNiAyMCBjMyBiNyAyMCAgYzMgYjggMjAgYzMgYjkgMjAgYzMgYmEgIHwbWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtfAorMDAwMDAyNzAgIDIwIGMzIGJiIDIwIGMzIGJjIDIwIGMzICBiZCAyMCBjMyBiZSAyMCBjMyBiZiAyMCAgfBtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG18CisbWzM3bTAwMDAwMjgwG1swbQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctY2Fub24tMiBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLWNhbm9uLTIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjQzNjcwNgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLWNhbm9uLTIKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMDAgIDAwIDIwIDAxIDIwIDAyIDIwIDAzIDIwICAwNCAyMCAwNSAyMCAwNiAyMCAwNyAyMCAgfC4gLiAuIC4gLiAuIC4gLiB8CiswMDAwMDAxMCAgMDggMjAgMDkgMjAgMGEgMjAgMGIgMjAgIDBjIDIwIDBkIDIwIDBlIDIwIDBmIDIwICB8LiAuIC4gLiAuIC4gLiAuIHwKKzAwMDAwMDIwICAxMCAyMCAxMSAyMCAxMiAyMCAxMyAyMCAgMTQgMjAgMTUgMjAgMTYgMjAgMTcgMjAgIHwuIC4gLiAuIC4gLiAuIC4gfAorMDAwMDAwMzAgIDE4IDIwIDE5IDIwIDFhIDIwIDFiIDIwICAxYyAyMCAxZCAyMCAxZSAyMCAxZiAyMCAgfC4gLiAuIC4gLiAuIC4gLiB8CiswMDAwMDA0MCAgMjAgMjAgMjEgMjAgMjIgMjAgMjMgMjAgIDI0IDIwIDI1IDIwIDI2IDIwIDI3IDIwICB8ICAhICIgIyAkICUgJiAnIHwKKzAwMDAwMDUwICAyOCAyMCAyOSAyMCAyYSAyMCAyYiAyMCAgMmMgMjAgMmQgMjAgMmUgMjAgMmYgMjAgIHwoICkgKiArICwgLSAuIC8gfAorMDAwMDAwNjAgIDMwIDIwIDMxIDIwIDMyIDIwIDMzIDIwICAzNCAyMCAzNSAyMCAzNiAyMCAzNyAyMCAgfDAgMSAyIDMgNCA1IDYgNyB8CiswMDAwMDA3MCAgMzggMjAgMzkgMjAgM2EgMjAgM2IgMjAgIDNjIDIwIDNkIDIwIDNlIDIwIDNmIDIwICB8OCA5IDogOyA8ID0gPiA/IHwKKzAwMDAwMDgwICA0MCAyMCAbWzM0bTQxG1swbSAyMCA0MiAyMCA0MyAyMCAgNDQgMjAgNDUgMjAgNDYgMjAgNDcgMjAgIHxAIBtbMzJtQRtbMG0gQiBDIEQgRSBGIEcgfAorMDAwMDAwOTAgIDQ4IDIwIDQ5IDIwIDRhIDIwIDRiIDIwICA0YyAyMCA0ZCAyMCA0ZSAyMCA0ZiAyMCAgfEggSSBKIEsgTCBNIE4gTyB8CiswMDAwMDBhMCAgNTAgMjAgNTEgMjAgNTIgMjAgNTMgMjAgIDU0IDIwIDU1IDIwIDU2IDIwIDU3IDIwICB8UCBRIFIgUyBUIFUgViBXIHwKKzAwMDAwMGIwICA1OCAyMCA1OSAyMCA1YSAyMCA1YiAyMCAgNWMgMjAgNWQgMjAgNWUgMjAgNWYgMjAgIHxYIFkgWiBbIFwgXSBeIF8gfAorMDAwMDAwYzAgIDYwIDIwIBtbMzRtNjEbWzBtIDIwIDYyIDIwIDYzIDIwICA2NCAyMCA2NSAyMCA2NiAyMCA2NyAyMCAgfGAgG1szMm1hG1swbSBiIGMgZCBlIGYgZyB8CiswMDAwMDBkMCAgNjggMjAgNjkgMjAgNmEgMjAgNmIgMjAgIDZjIDIwIDZkIDIwIDZlIDIwIDZmIDIwICB8aCBpIGogayBsIG0gbiBvIHwKKzAwMDAwMGUwICA3MCAyMCA3MSAyMCA3MiAyMCA3MyAyMCAgNzQgMjAgNzUgMjAgNzYgMjAgNzcgMjAgIHxwIHEgciBzIHQgdSB2IHcgfAorMDAwMDAwZjAgIDc4IDIwIDc5IDIwIDdhIDIwIDdiIDIwICA3YyAyMCA3ZCAyMCA3ZSAyMCA3ZiAyMCAgfHggeSB6IHsgfCB9IH4gLiB8CiswMDAwMDEwMCAgYzIgODAgMjAgYzIgODEgMjAgYzIgODIgIDIwIGMyIDgzIDIwIGMyIDg0IDIwIGMyICB8Li4gLi4gLi4gLi4gLi4gLnwKKzAwMDAwMTEwICA4NSAyMCBjMiA4NiAyMCBjMiA4NyAyMCAgYzIgODggMjAgYzIgODkgMjAgYzIgOGEgIHwuIC4uIC4uIC4uIC4uIC4ufAorMDAwMDAxMjAgIDIwIGMyIDhiIDIwIGMyIDhjIDIwIGMyICA4ZCAyMCBjMiA4ZSAyMCBjMiA4ZiAyMCAgfCAuLiAuLiAuLiAuLiAuLiB8CiswMDAwMDEzMCAgYzIgOTAgMjAgYzIgOTEgMjAgYzIgOTIgIDIwIGMyIDkzIDIwIGMyIDk0IDIwIGMyICB8Li4gLi4gLi4gLi4gLi4gLnwKKzAwMDAwMTQwICA5NSAyMCBjMiA5NiAyMCBjMiA5NyAyMCAgYzIgOTggMjAgYzIgOTkgMjAgYzIgOWEgIHwuIC4uIC4uIC4uIC4uIC4ufAorMDAwMDAxNTAgIDIwIGMyIDliIDIwIGMyIDljIDIwIGMyICA5ZCAyMCBjMiA5ZSAyMCBjMiA5ZiAyMCAgfCAuLiAuLiAuLiAuLiAuLiB8CiswMDAwMDE2MCAgYzIgYTAgMjAgYzIgYTEgMjAgYzIgYTIgIDIwIGMyIGEzIDIwIGMyIGE0IDIwIGMyICB8Li4gLi4gLi4gLi4gLi4gLnwKKzAwMDAwMTcwICBhNSAyMCBjMiBhNiAyMCBjMiBhNyAyMCAgYzIgYTggMjAgYzIgYTkgMjAgYzIgYWEgIHwuIC4uIC4uIC4uIC4uIC4ufAorMDAwMDAxODAgIDIwIGMyIGFiIDIwIGMyIGFjIDIwIGMyICBhZCAyMCBjMiBhZSAyMCBjMiBhZiAyMCAgfCAuLiAuLiAuLiAuLiAuLiB8CiswMDAwMDE5MCAgYzIgYjAgMjAgYzIgYjEgMjAgYzIgYjIgIDIwIGMyIGIzIDIwIGMyIGI0IDIwIGMyICB8Li4gLi4gLi4gLi4gLi4gLnwKKzAwMDAwMWEwICBiNSAyMCBjMiBiNiAyMCBjMiBiNyAyMCAgYzIgYjggMjAgYzIgYjkgMjAgYzIgYmEgIHwuIC4uIC4uIC4uIC4uIC4ufAorMDAwMDAxYjAgIDIwIGMyIGJiIDIwIGMyIGJjIDIwIGMyICBiZCAyMCBjMiBiZSAyMCBjMiBiZiAyMCAgfCAuLiAuLiAuLiAuLiAuLiB8CiswMDAwMDFjMCAgYzMgODAgMjAgYzMgODEgMjAgYzMgODIgIDIwIGMzIDgzIDIwIGMzIDg0IDIwIGMzICB8Li4gLi4gLi4gLi4gLi4gLnwKKzAwMDAwMWQwICA4NSAyMCBjMyA4NiAyMCBjMyA4NyAyMCAgYzMgODggMjAgYzMgODkgMjAgYzMgOGEgIHwuIC4uIC4uIC4uIC4uIC4ufAorMDAwMDAxZTAgIDIwIGMzIDhiIDIwIGMzIDhjIDIwIGMzICA4ZCAyMCBjMyA4ZSAyMCBjMyA4ZiAyMCAgfCAuLiAuLiAuLiAuLiAuLiB8CiswMDAwMDFmMCAgYzMgOTAgMjAgYzMgOTEgMjAgYzMgOTIgIDIwIGMzIDkzIDIwIGMzIDk0IDIwIGMzICB8Li4gLi4gLi4gLi4gLi4gLnwKKzAwMDAwMjAwICA5NSAyMCBjMyA5NiAyMCBjMyA5NyAyMCAgYzMgOTggMjAgYzMgOTkgMjAgYzMgOWEgIHwuIC4uIC4uIC4uIC4uIC4ufAorMDAwMDAyMTAgIDIwIGMzIDliIDIwIGMzIDljIDIwIGMzICA5ZCAyMCBjMyA5ZSAyMCBjMyA5ZiAyMCAgfCAuLiAuLiAuLiAuLiAuLiB8CiswMDAwMDIyMCAgYzMgYTAgMjAgYzMgYTEgMjAgYzMgYTIgIDIwIGMzIGEzIDIwIGMzIGE0IDIwIGMzICB8Li4gLi4gLi4gLi4gLi4gLnwKKzAwMDAwMjMwICBhNSAyMCBjMyBhNiAyMCBjMyBhNyAyMCAgYzMgYTggMjAgYzMgYTkgMjAgYzMgYWEgIHwuIC4uIC4uIC4uIC4uIC4ufAorMDAwMDAyNDAgIDIwIGMzIGFiIDIwIGMzIGFjIDIwIGMzICBhZCAyMCBjMyBhZSAyMCBjMyBhZiAyMCAgfCAuLiAuLiAuLiAuLiAuLiB8CiswMDAwMDI1MCAgYzMgYjAgMjAgYzMgYjEgMjAgYzMgYjIgIDIwIGMzIGIzIDIwIGMzIGI0IDIwIGMzICB8Li4gLi4gLi4gLi4gLi4gLnwKKzAwMDAwMjYwICBiNSAyMCBjMyBiNiAyMCBjMyBiNyAyMCAgYzMgYjggMjAgYzMgYjkgMjAgYzMgYmEgIHwuIC4uIC4uIC4uIC4uIC4ufAorMDAwMDAyNzAgIDIwIGMzIGJiIDIwIGMzIGJjIDIwIGMzICBiZCAyMCBjMyBiZSAyMCBjMyBiZiAyMCAgfCAuLiAuLiAuLiAuLiAuLiB8CisbWzMxbTAwMDAwMjgwG1swbQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaXBjcy9oZWFkZXJzIGIvdGVzdHMvZXhwZWN0ZWQvaXBjcy9oZWFkZXJzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhYjhmZWYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9pcGNzL2hlYWRlcnMKQEAgLTAsMCArMSw2NCBAQAordGVzdDogc2htIGhlYWRlcnMKKy0tLS0tLSBTaGFyZWQgTWVtb3J5IEF0dGFjaC9EZXRhY2gvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tCitzaG1pZCAgICAgIG93bmVyICAgICAgYXR0YWNoZWQgICAgICAgICAgICAgZGV0YWNoZWQgICAgICAgICAgICAgY2hhbmdlZCAgICAgICAgICAgICAKKy0tLS0tLSBTaGFyZWQgTWVtb3J5IENyZWF0b3IvTGFzdC1vcCBQSURzIC0tLS0tLS0tCitzaG1pZCAgICAgIG93bmVyICAgICAgY3BpZCAgICAgICBscGlkICAgICAgCistLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50IENyZWF0b3JzL093bmVycyAtLS0tLS0tLQorc2htaWQgICAgICBwZXJtcyAgICAgIGN1aWQgICAgICAgY2dpZCAgICAgICB1aWQgICAgICAgIGdpZCAgICAgICAKKy0tLS0tLSBTaGFyZWQgTWVtb3J5IExpbWl0cyAtLS0tLS0tLQorLS0tLS0tIFNoYXJlZCBNZW1vcnkgU3RhdHVzIC0tLS0tLS0tCisKK3Rlc3Q6IG1lc2cgaGVhZGVycworLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFNlbmQvUmVjdi9DaGFuZ2UgVGltZXMgLS0tLS0tLS0KK21zcWlkICAgIG93bmVyICAgICAgc2VuZCAgICAgICAgICAgICAgICAgcmVjdiAgICAgICAgICAgICAgICAgY2hhbmdlICAgICAgICAgICAgICAKKy0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBQSURzIC0tLS0tLS0tCittc3FpZCAgICAgIG93bmVyICAgICAgbHNwaWQgICAgICBscnBpZCAgICAgCistLS0tLS0gTWVzc2FnZSBRdWV1ZXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tCittc3FpZCAgICAgIHBlcm1zICAgICAgY3VpZCAgICAgICBjZ2lkICAgICAgIHVpZCAgICAgICAgZ2lkICAgICAgIAorLS0tLS0tIE1lc3NhZ2VzIExpbWl0cyAtLS0tLS0tLQorLS0tLS0tIE1lc3NhZ2VzIFN0YXR1cyAtLS0tLS0tLQorCit0ZXN0OiBzZW0gaGVhZGVycworLS0tLS0tIFNlbWFwaG9yZSBPcGVyYXRpb24vQ2hhbmdlIFRpbWVzIC0tLS0tLS0tCitzZW1pZCAgICBvd25lciAgICAgIGxhc3Qtb3AgICAgICAgICAgICAgICAgICAgIGxhc3QtY2hhbmdlZCAgICAgICAgICAgICAgCistLS0tLS0gU2VtYXBob3JlIEFycmF5cyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS0KK3NlbWlkICAgICAgcGVybXMgICAgICBjdWlkICAgICAgIGNnaWQgICAgICAgdWlkICAgICAgICBnaWQgICAgICAgCistLS0tLS0gU2VtYXBob3JlIExpbWl0cyAtLS0tLS0tLQorLS0tLS0tIFNlbWFwaG9yZSBTdGF0dXMgLS0tLS0tLS0KKwordGVzdDogYWxsIGhlYWRlcnMKKy0tLS0tLSBNZXNzYWdlIFF1ZXVlcyAtLS0tLS0tLQora2V5ICAgICAgICBtc3FpZCAgICAgIG93bmVyICAgICAgcGVybXMgICAgICB1c2VkLWJ5dGVzICAgbWVzc2FnZXMgICAgCistLQorLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudHMgLS0tLS0tLS0KK2tleSAgICAgICAgc2htaWQgICAgICBvd25lciAgICAgIHBlcm1zICAgICAgYnl0ZXMgICAgICBuYXR0Y2ggICAgIHN0YXR1cyAgICAgIAorLS0KKy0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIC0tLS0tLS0tCitrZXkgICAgICAgIHNlbWlkICAgICAgb3duZXIgICAgICBwZXJtcyAgICAgIG5zZW1zICAgICAKKy0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBTZW5kL1JlY3YvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tCittc3FpZCAgICBvd25lciAgICAgIHNlbmQgICAgICAgICAgICAgICAgIHJlY3YgICAgICAgICAgICAgICAgIGNoYW5nZSAgICAgICAgICAgICAgCistLQorLS0tLS0tIFNoYXJlZCBNZW1vcnkgQXR0YWNoL0RldGFjaC9DaGFuZ2UgVGltZXMgLS0tLS0tLS0KK3NobWlkICAgICAgb3duZXIgICAgICBhdHRhY2hlZCAgICAgICAgICAgICBkZXRhY2hlZCAgICAgICAgICAgICBjaGFuZ2VkICAgICAgICAgICAgIAorLS0KKy0tLS0tLSBTZW1hcGhvcmUgT3BlcmF0aW9uL0NoYW5nZSBUaW1lcyAtLS0tLS0tLQorc2VtaWQgICAgb3duZXIgICAgICBsYXN0LW9wICAgICAgICAgICAgICAgICAgICBsYXN0LWNoYW5nZWQgICAgICAgICAgICAgIAorLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFBJRHMgLS0tLS0tLS0KK21zcWlkICAgICAgb3duZXIgICAgICBsc3BpZCAgICAgIGxycGlkICAgICAKKy0tCistLS0tLS0gU2hhcmVkIE1lbW9yeSBDcmVhdG9yL0xhc3Qtb3AgUElEcyAtLS0tLS0tLQorc2htaWQgICAgICBvd25lciAgICAgIGNwaWQgICAgICAgbHBpZCAgICAgIAorLS0tLS0tIE1lc3NhZ2UgUXVldWVzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLQorbXNxaWQgICAgICBwZXJtcyAgICAgIGN1aWQgICAgICAgY2dpZCAgICAgICB1aWQgICAgICAgIGdpZCAgICAgICAKKy0tCistLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50IENyZWF0b3JzL093bmVycyAtLS0tLS0tLQorc2htaWQgICAgICBwZXJtcyAgICAgIGN1aWQgICAgICAgY2dpZCAgICAgICB1aWQgICAgICAgIGdpZCAgICAgICAKKy0tCistLS0tLS0gU2VtYXBob3JlIEFycmF5cyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS0KK3NlbWlkICAgICAgcGVybXMgICAgICBjdWlkICAgICAgIGNnaWQgICAgICAgdWlkICAgICAgICBnaWQgICAgICAgCistLS0tLS0gTWVzc2FnZXMgTGltaXRzIC0tLS0tLS0tCistLS0tLS0gU2hhcmVkIE1lbW9yeSBMaW1pdHMgLS0tLS0tLS0KKy0tLS0tLSBTZW1hcGhvcmUgTGltaXRzIC0tLS0tLS0tCistLS0tLS0gTWVzc2FnZXMgU3RhdHVzIC0tLS0tLS0tCistLS0tLS0gU2hhcmVkIE1lbW9yeSBTdGF0dXMgLS0tLS0tLS0KKy0tLS0tLSBTZW1hcGhvcmUgU3RhdHVzIC0tLS0tLS0tCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9pcGNzL2xpbWl0cyBiL3Rlc3RzL2V4cGVjdGVkL2lwY3MvbGltaXRzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwZmY0NTcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9pcGNzL2xpbWl0cwpAQCAtMCwwICsxLDcgQEAKK2xvYWQgb3JpZ2luYWwgdmFsdWVzCittYXhpbWl6ZSBrZXJuZWwgc2V0dGluZworY2hlY2sgZm9yIGRpZmZlcmVuY2UgYmV0d2VlbiBrZXJuZWwgYW5kIElQQworL3Byb2Mvc3lzL2tlcm5lbC9zaG1tbmkgT0sKKy9wcm9jL3N5cy9rZXJuZWwvc2htYWxsIE9LCisvcHJvYy9zeXMva2VybmVsL3NobW1heCBPSword3JpdGUgb3JpZ2luYWwgdmFsdWVzIHRvIGtlcm5lbApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaXBjcy9saW1pdHMyIGIvdGVzdHMvZXhwZWN0ZWQvaXBjcy9saW1pdHMyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4NDU0ZTMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9pcGNzL2xpbWl0czIKQEAgLTAsMCArMSw0IEBACitjaGVjayBmb3IgZGlmZmVyZW5jZSBiZXR3ZWVuIGtlcm5lbCBhbmQgSVBDCisvcHJvYy9zeXMva2VybmVsL3NobW1uaSBPSworL3Byb2Mvc3lzL2tlcm5lbC9zaG1hbGwgT0sKKy9wcm9jL3N5cy9rZXJuZWwvc2htbWF4IE9LCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9pcGNzL21rLXJtLW1zZyBiL3Rlc3RzL2V4cGVjdGVkL2lwY3MvbWstcm0tbXNnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5MTNiYzMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9pcGNzL21rLXJtLW1zZwpAQCAtMCwwICsxLDMgQEAKK01lc3NhZ2UgcXVldWUgaWQ6IDx3YXNfbnVtYmVyPgorMQorTWVzc2FnZSBxdWV1ZSBpZDogPHdhc19udW1iZXI+CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9pcGNzL21rLXJtLXNlbSBiL3Rlc3RzL2V4cGVjdGVkL2lwY3MvbWstcm0tc2VtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhMmM3Y2QKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9pcGNzL21rLXJtLXNlbQpAQCAtMCwwICsxLDQgQEAKK1NlbWFwaG9yZSBpZDogPHdhc19udW1iZXI+Cituc2VtcyA9IDEKK1NlbWFwaG9yZSBpZDogPHdhc19udW1iZXI+Cituc2VtcyA9IDIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2lwY3MvbWstcm0tc2htIGIvdGVzdHMvZXhwZWN0ZWQvaXBjcy9tay1ybS1zaG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzYzYWI0NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2lwY3MvbWstcm0tc2htCkBAIC0wLDAgKzEsNCBAQAorU2hhcmVkIG1lbW9yeSBpZDogPHdhc19udW1iZXI+CitieXRlcz0xCitTaGFyZWQgbWVtb3J5IGlkOiA8d2FzX251bWJlcj4KK2J5dGVzPTEyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9pc29zaXplL3ByaW50LXNpemUtZGVmYXVsdF9vdXRwdXQgYi90ZXN0cy9leHBlY3RlZC9pc29zaXplL3ByaW50LXNpemUtZGVmYXVsdF9vdXRwdXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2RlZjQzNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2lzb3NpemUvcHJpbnQtc2l6ZS1kZWZhdWx0X291dHB1dApAQCAtMCwwICsxIEBACis1MTU4OTkzOTIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2lzb3NpemUvcHJpbnQtc2l6ZS1kaXZpc29yX291dHB1dCBiL3Rlc3RzL2V4cGVjdGVkL2lzb3NpemUvcHJpbnQtc2l6ZS1kaXZpc29yX291dHB1dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZTIxNGE2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaXNvc2l6ZS9wcmludC1zaXplLWRpdmlzb3Jfb3V0cHV0CkBAIC0wLDAgKzEgQEAKKzU3MzIyMTU0CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9pc29zaXplL3ByaW50LXNpemUtc2VjdG9yX291dHB1dCBiL3Rlc3RzL2V4cGVjdGVkL2lzb3NpemUvcHJpbnQtc2l6ZS1zZWN0b3Jfb3V0cHV0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmZjM2MzQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9pc29zaXplL3ByaW50LXNpemUtc2VjdG9yX291dHB1dApAQCAtMCwwICsxIEBACitzZWN0b3IgY291bnQ6IDI1MTkwNCwgc2VjdG9yIHNpemU6IDIwNDgKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2tpbGwvYWxsX3Byb2Nlc3NlcyBiL3Rlc3RzL2V4cGVjdGVkL2tpbGwvYWxsX3Byb2Nlc3NlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTQ1NDlmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQva2lsbC9hbGxfcHJvY2Vzc2VzCkBAIC0wLDAgKzEsNSBAQAordGVzdCAxCitraWxsOiBjYW5ub3QgZmluZCBwcm9jZXNzICJ0ZXN0X3NpZ3JlY2VpdmUiCit0ZXN0IDIKK3Rlc3QgMwora2lsbDogY2Fubm90IGZpbmQgcHJvY2VzcyAidGVzdF9zaWdyZWNlaXZlIgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQva2lsbC9uYW1lX3RvX251bWJlciBiL3Rlc3RzL2V4cGVjdGVkL2tpbGwvbmFtZV90b19udW1iZXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDQ4Y2U3MgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2tpbGwvbmFtZV90b19udW1iZXIKQEAgLTAsMCArMSBAQAorYWxsIG9rCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9raWxsL29wdGlvbnMgYi90ZXN0cy9leHBlY3RlZC9raWxsL29wdGlvbnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDQ4Y2U3MgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2tpbGwvb3B0aW9ucwpAQCAtMCwwICsxIEBACithbGwgb2sKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2tpbGwvcHJpbnRfcGlkIGIvdGVzdHMvZXhwZWN0ZWQva2lsbC9wcmludF9waWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDQ4Y2U3MgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2tpbGwvcHJpbnRfcGlkCkBAIC0wLDAgKzEgQEAKK2FsbCBvawpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQva2lsbC9xdWV1ZSBiL3Rlc3RzL2V4cGVjdGVkL2tpbGwvcXVldWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDQ4Y2U3MgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2tpbGwvcXVldWUKQEAgLTAsMCArMSBAQAorYWxsIG9rCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJmZGlzay9ncHQtYWxsLWRlZmF1bHRzIGIvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svZ3B0LWFsbC1kZWZhdWx0cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTcxMjYzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svZ3B0LWFsbC1kZWZhdWx0cwpAQCAtMCwwICsxLDIyIEBACitDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiBPSworCitEaXNrIDxyZW1vdmVkPjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKKworPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjE6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MjogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4zOiBEb25lLgorCitOZXcgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgIDIwNDggMTIyODcgICAxMDI0MCAgIDVNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjIgMTIyODggMjA0NDYgICAgODE1OSAgIDRNIExpbnV4IGZpbGVzeXN0ZW0KKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorU3luY2luZyBkaXNrcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYmZkaXNrL2dwdC1hbGwtZGVmYXVsdHMtd2l0aC10eXBvIGIvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svZ3B0LWFsbC1kZWZhdWx0cy13aXRoLXR5cG8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODk3MTI2MwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYmZkaXNrL2dwdC1hbGwtZGVmYXVsdHMtd2l0aC10eXBvCkBAIC0wLDAgKzEsMjIgQEAKK0NoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIE9LCisKK0Rpc2sgPHJlbW92ZWQ+OiAxMCBNaUIsIDEwNDg1NzYwIGJ5dGVzLCAyMDQ4MCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MTogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4yOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjM6IERvbmUuCisKK05ldyBzaXR1YXRpb246CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgMjA0OCAxMjI4NyAgIDEwMjQwICAgNU0gTGludXggZmlsZXN5c3RlbQorPHJlbW92ZWQ+MiAxMjI4OCAyMDQ0NiAgICA4MTU5ICAgNE0gTGludXggZmlsZXN5c3RlbQorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svZ3B0LWdldGF0dHIgYi90ZXN0cy9leHBlY3RlZC9saWJmZGlzay9ncHQtZ2V0YXR0cgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTlhOWFlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svZ3B0LWdldGF0dHIKQEAgLTAsMCArMSwyIEBACisxOiAweDAwMDEwMDAwMDAwMDAwMDEKKzI6IDB4NDAzMDAwMDAwMDAwMDAwMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svZ3B0LXNldGF0dHIgYi90ZXN0cy9leHBlY3RlZC9saWJmZGlzay9ncHQtc2V0YXR0cgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MWFmMjYwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svZ3B0LXNldGF0dHIKQEAgLTAsMCArMSwyIEBACitHVUlEOjU2LDU3LDU4LDU5LDYwLDYxLDYyLDYzCitMZWdhY3lCSU9TQm9vdGFibGUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlMjY4YTMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0CkBAIC0wLDAgKzEsNSBAQAorSW5pdCBkZXZpY2UKK0NyZWF0ZSBwYXJ0aXRpb25zCitDcmVhdGUgZmlsZXN5c3RlbQorRG8gdGVzdHMuLi4KKy4uLmRvbmUuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LW1vdW50LWJ5LWRldm5hbWUgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LW1vdW50LWJ5LWRldm5hbWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzUwNGE3ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtbW91bnQtYnktZGV2bmFtZQpAQCAtMCwwICsxIEBACitzdWNjZXNzZnVsbHkgbW91bnRlZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC1tb3VudC1ieS1sYWJlbCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtbW91bnQtYnktbGFiZWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzUwNGE3ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtbW91bnQtYnktbGFiZWwKQEAgLTAsMCArMSBAQAorc3VjY2Vzc2Z1bGx5IG1vdW50ZWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtbW91bnQtYnktdXVpZCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtbW91bnQtYnktdXVpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZjQ0ZmM0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC1tb3VudC1ieS11dWlkCkBAIC0wLDAgKzEsMiBAQAorc3VjY2Vzc2Z1bGx5IG1vdW50ZWQKK3N1Y2Nlc3NmdWxseSB1bW91bnRlZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC1tb3VudC1mbGFncyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtbW91bnQtZmxhZ3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTYwNjQxOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtbW91bnQtZmxhZ3MKQEAgLTAsMCArMSw1IEBACitzdWNjZXNzZnVsbHkgbW91bnRlZAorcm8sbm9zdWlkLG5vZXhlYworc3VjY2Vzc2Z1bGx5IG1vdW50ZWQKK3J3LG5vc3VpZCxub2V4ZWMKK3N1Y2Nlc3NmdWxseSB1bW91bnRlZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC1tb3VudC1sb29wZGV2IGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC1tb3VudC1sb29wZGV2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmNDRmYzQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LW1vdW50LWxvb3BkZXYKQEAgLTAsMCArMSwyIEBACitzdWNjZXNzZnVsbHkgbW91bnRlZAorc3VjY2Vzc2Z1bGx5IHVtb3VudGVkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXB5IGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC1weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZTI2OGEzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC1weQpAQCAtMCwwICsxLDUgQEAKK0luaXQgZGV2aWNlCitDcmVhdGUgcGFydGl0aW9ucworQ3JlYXRlIGZpbGVzeXN0ZW0KK0RvIHRlc3RzLi4uCisuLi5kb25lLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC1weS1tb3VudC1ieS1kZXZuYW1lIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC1weS1tb3VudC1ieS1kZXZuYW1lCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1MDRhN2UKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXB5LW1vdW50LWJ5LWRldm5hbWUKQEAgLTAsMCArMSBAQAorc3VjY2Vzc2Z1bGx5IG1vdW50ZWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtcHktbW91bnQtYnktbGFiZWwgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXB5LW1vdW50LWJ5LWxhYmVsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1MDRhN2UKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXB5LW1vdW50LWJ5LWxhYmVsCkBAIC0wLDAgKzEgQEAKK3N1Y2Nlc3NmdWxseSBtb3VudGVkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXB5LW1vdW50LWJ5LXV1aWQgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXB5LW1vdW50LWJ5LXV1aWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmY0NGZjNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtcHktbW91bnQtYnktdXVpZApAQCAtMCwwICsxLDIgQEAKK3N1Y2Nlc3NmdWxseSBtb3VudGVkCitzdWNjZXNzZnVsbHkgdW1vdW50ZWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtcHktbW91bnQtZmxhZ3MgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXB5LW1vdW50LWZsYWdzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2MDY0MTgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXB5LW1vdW50LWZsYWdzCkBAIC0wLDAgKzEsNSBAQAorc3VjY2Vzc2Z1bGx5IG1vdW50ZWQKK3JvLG5vc3VpZCxub2V4ZWMKK3N1Y2Nlc3NmdWxseSBtb3VudGVkCitydyxub3N1aWQsbm9leGVjCitzdWNjZXNzZnVsbHkgdW1vdW50ZWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtcHktbW91bnQtbG9vcGRldiBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtcHktbW91bnQtbG9vcGRldgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZjQ0ZmM0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC1weS1tb3VudC1sb29wZGV2CkBAIC0wLDAgKzEsMiBAQAorc3VjY2Vzc2Z1bGx5IG1vdW50ZWQKK3N1Y2Nlc3NmdWxseSB1bW91bnRlZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC1weS11bW91bnQtYnktZGV2bmFtZSBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtcHktdW1vdW50LWJ5LWRldm5hbWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzE5MjM2ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtcHktdW1vdW50LWJ5LWRldm5hbWUKQEAgLTAsMCArMSBAQAorc3VjY2Vzc2Z1bGx5IHVtb3VudGVkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXB5LXVtb3VudC1ieS1tb3VudHBvaW50IGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC1weS11bW91bnQtYnktbW91bnRwb2ludApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTkyMzZmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC1weS11bW91bnQtYnktbW91bnRwb2ludApAQCAtMCwwICsxIEBACitzdWNjZXNzZnVsbHkgdW1vdW50ZWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtcHkteC1tb3VudC5ta2RpciBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtcHkteC1tb3VudC5ta2RpcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTA0YTdlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC1weS14LW1vdW50Lm1rZGlyCkBAIC0wLDAgKzEgQEAKK3N1Y2Nlc3NmdWxseSBtb3VudGVkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXVtb3VudC1ieS1kZXZuYW1lIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11bW91bnQtYnktZGV2bmFtZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTkyMzZmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11bW91bnQtYnktZGV2bmFtZQpAQCAtMCwwICsxIEBACitzdWNjZXNzZnVsbHkgdW1vdW50ZWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdW1vdW50LWJ5LW1vdW50cG9pbnQgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXVtb3VudC1ieS1tb3VudHBvaW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxOTIzNmYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXVtb3VudC1ieS1tb3VudHBvaW50CkBAIC0wLDAgKzEgQEAKK3N1Y2Nlc3NmdWxseSB1bW91bnRlZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11dGFiIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11dGFiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiNDAzZTUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWIKQEAgLTAsMCArMSw0IEBACitDcmVhdGUgcGFydGl0aW9ucworQ3JlYXRlIGZpbGVzeXN0ZW0KK0RvIHRlc3RzLi4uCisuLi5kb25lLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11dGFiLW1vdW50LWJ5LWRldm5hbWUgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWItbW91bnQtYnktZGV2bmFtZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTA0YTdlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11dGFiLW1vdW50LWJ5LWRldm5hbWUKQEAgLTAsMCArMSBAQAorc3VjY2Vzc2Z1bGx5IG1vdW50ZWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi1tb3VudC11aGVscGVyIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11dGFiLW1vdW50LXVoZWxwZXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzUwNGE3ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi1tb3VudC11aGVscGVyCkBAIC0wLDAgKzEgQEAKK3N1Y2Nlc3NmdWxseSBtb3VudGVkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWItbW91bnQtdWhlbHBlci1zdWJ2b2wgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWItbW91bnQtdWhlbHBlci1zdWJ2b2wKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzUwNGE3ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi1tb3VudC11aGVscGVyLXN1YnZvbApAQCAtMCwwICsxIEBACitzdWNjZXNzZnVsbHkgbW91bnRlZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11dGFiLXB5IGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11dGFiLXB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiNDAzZTUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWItcHkKQEAgLTAsMCArMSw0IEBACitDcmVhdGUgcGFydGl0aW9ucworQ3JlYXRlIGZpbGVzeXN0ZW0KK0RvIHRlc3RzLi4uCisuLi5kb25lLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11dGFiLXB5LW1vdW50LWJ5LWRldm5hbWUgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWItcHktbW91bnQtYnktZGV2bmFtZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTA0YTdlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11dGFiLXB5LW1vdW50LWJ5LWRldm5hbWUKQEAgLTAsMCArMSBAQAorc3VjY2Vzc2Z1bGx5IG1vdW50ZWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi1weS1tb3VudC11aGVscGVyIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11dGFiLXB5LW1vdW50LXVoZWxwZXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzUwNGE3ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi1weS1tb3VudC11aGVscGVyCkBAIC0wLDAgKzEgQEAKK3N1Y2Nlc3NmdWxseSBtb3VudGVkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWItcHktbW91bnQtdWhlbHBlci1zdWJ2b2wgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWItcHktbW91bnQtdWhlbHBlci1zdWJ2b2wKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzUwNGE3ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi1weS1tb3VudC11aGVscGVyLXN1YnZvbApAQCAtMCwwICsxIEBACitzdWNjZXNzZnVsbHkgbW91bnRlZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11dGFiLXB5LXVtb3VudCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi1weS11bW91bnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzE5MjM2ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi1weS11bW91bnQKQEAgLTAsMCArMSBAQAorc3VjY2Vzc2Z1bGx5IHVtb3VudGVkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWItcHktdW1vdW50LWJ5LWRldm5hbWUgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWItcHktdW1vdW50LWJ5LWRldm5hbWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzE5MjM2ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi1weS11bW91bnQtYnktZGV2bmFtZQpAQCAtMCwwICsxIEBACitzdWNjZXNzZnVsbHkgdW1vdW50ZWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi1weS11bW91bnQtc3Vidm9sIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11dGFiLXB5LXVtb3VudC1zdWJ2b2wKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzE5MjM2ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi1weS11bW91bnQtc3Vidm9sCkBAIC0wLDAgKzEgQEAKK3N1Y2Nlc3NmdWxseSB1bW91bnRlZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11dGFiLXVtb3VudCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi11bW91bnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzE5MjM2ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi11bW91bnQKQEAgLTAsMCArMSBAQAorc3VjY2Vzc2Z1bGx5IHVtb3VudGVkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWItdW1vdW50LWJ5LWRldm5hbWUgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWItdW1vdW50LWJ5LWRldm5hbWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzE5MjM2ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi11bW91bnQtYnktZGV2bmFtZQpAQCAtMCwwICsxIEBACitzdWNjZXNzZnVsbHkgdW1vdW50ZWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi11bW91bnQtc3Vidm9sIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11dGFiLXVtb3VudC1zdWJ2b2wKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzE5MjM2ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi11bW91bnQtc3Vidm9sCkBAIC0wLDAgKzEgQEAKK3N1Y2Nlc3NmdWxseSB1bW91bnRlZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC14LW1vdW50Lm1rZGlyIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC14LW1vdW50Lm1rZGlyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1MDRhN2UKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXgtbW91bnQubWtkaXIKQEAgLTAsMCArMSBAQAorc3VjY2Vzc2Z1bGx5IG1vdW50ZWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2RlYnVnLXNldC1mcm9tLWNvZGUgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9kZWJ1Zy1zZXQtZnJvbS1jb2RlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjZDI4YzIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9kZWJ1Zy1zZXQtZnJvbS1jb2RlCkBAIC0wLDAgKzEgQEAKKzB4MDAxNgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvZGVidWctc2V0LWZyb20tZW52LWludCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2RlYnVnLXNldC1mcm9tLWVudi1pbnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGNkMjhjMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2RlYnVnLXNldC1mcm9tLWVudi1pbnQKQEAgLTAsMCArMSBAQAorMHgwMDE2CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9kZWJ1Zy1zZXQtZnJvbS1lbnYtc3RyIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvZGVidWctc2V0LWZyb20tZW52LXN0cgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Y2QyOGMyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvZGVidWctc2V0LWZyb20tZW52LXN0cgpAQCAtMCwwICsxIEBACisweDAwMTYKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2xvY2sgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9sb2NrCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3ZTMxOGQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9sb2NrCkBAIC0wLDAgKzEgQEAKKzUwMDAwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvbG9vcC1vdmVybGF5IGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvbG9vcC1vdmVybGF5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiNmM2OGIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9sb29wLW92ZXJsYXkKQEAgLTAsMCArMSw3IEBACitzZWNvbmQgc2hvdWxkIGZhaWwKKyBvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMKK3Nob3VsZCBzdWNjZWVkCitib3RoIHNob3VsZCBmYWlsCisgb3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzCisgb3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzCitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItYXBwZW5kIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLWFwcGVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OGU1ODQ1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLWFwcGVuZApAQCAtMCwwICsxIEBACityZXN1bHQ6ID5hYWEsYmJiPUJCQixjb250ZXh0PSJmb28sYmFyLGdvZ28iLGNjYyxkZGQ8CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItYXBwZW5kLWVtcHR5LXZhbHVlIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLWFwcGVuZC1lbXB0eS12YWx1ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNWFkZjVjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLWFwcGVuZC1lbXB0eS12YWx1ZQpAQCAtMCwwICsxIEBACityZXN1bHQ6ID5hYWEsYmJiPUJCQixjY2MsZGRkPTwKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1hcHBlbmQtdmFsdWUgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItYXBwZW5kLXZhbHVlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwMTE2ZjYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItYXBwZW5kLXZhbHVlCkBAIC0wLDAgKzEgQEAKK3Jlc3VsdDogPmFhYSxiYmI9QkJCLGNjYyxkZGQ9REREPApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLWFwcGx5LWxpbnV4IGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLWFwcGx5LWxpbnV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwYTUyYTcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItYXBwbHktbGludXgKQEAgLTAsMCArMSwyIEBACitmbGFnczogIDB4MDAwMDA0MDAKK29wdHN0cjogcncsdXNlcj1remFrLG5vYXRpbWUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1hcHBseS11c2VyIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLWFwcGx5LXVzZXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmYzNDczMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1hcHBseS11c2VyCkBAIC0wLDAgKzEsMiBAQAorZmxhZ3M6ICAweDAwMDAwNDA4CitvcHRzdHI6IG5vZXhlYyxub3N1aWQsdXNlcixub2ZhaWwKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1kZWR1cGxpY2F0ZSBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1kZWR1cGxpY2F0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMmI2NjlhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLWRlZHVwbGljYXRlCkBAIC0wLDAgKzEgQEAKK3Jlc3VsdDogPmJiYixjY2MseHh4LGRkZCxBQUE9Y2NjLGZmZj1lZWU8CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItZGVkdXBsaWNhdGUtZW1wdHkgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItZGVkdXBsaWNhdGUtZW1wdHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjNiNzRmNgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1kZWR1cGxpY2F0ZS1lbXB0eQpAQCAtMCwwICsxIEBACityZXN1bHQ6ID5iYmIsY2NjLHh4eCxkZGQsQUFBPSxmZmY9ZWVlPApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLWZpeCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1maXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWViNjgxNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1maXgKQEAgLTAsMCArMSwyIEBACitvcHRzdHI6IHVpZD1yb290LGdpZD1yb290CitmaXhlZDogIHVpZD0wLGdpZD0wCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItZmxhZ3MgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItZmxhZ3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTdiNDcyNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1mbGFncwpAQCAtMCwwICsxLDIgQEAKK21vdW50ZmxhZ3M6ICAgICAgICAgICAweDAwMDAwMDBlCit1c2Vyc3BhY2UtbW91bnRmbGFnczogMHgwMDAwMjIwOApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLWdldCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1nZXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2VhZmM2NQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1nZXQKQEAgLTAsMCArMSBAQAorZm91bmQ7IG5hbWU6IGFhYQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLWdldC12YWx1ZSBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1nZXQtdmFsdWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTA5ODQzZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1nZXQtdmFsdWUKQEAgLTAsMCArMSBAQAorZm91bmQ7IG5hbWU6IGJiYiwgYXJndW1lbnQ6IHNpemU9MyBkYXRhPUJCQgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXByZXBlbmQgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItcHJlcGVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZGNmNzUxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXByZXBlbmQKQEAgLTAsMCArMSBAQAorcmVzdWx0OiA+ZGRkLGFhYSxiYmI9QkJCLGNjYzwKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1wcmVwZW5kLWVtcHR5LXZhbHVlIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXByZXBlbmQtZW1wdHktdmFsdWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGNlYTYzNQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1wcmVwZW5kLWVtcHR5LXZhbHVlCkBAIC0wLDAgKzEgQEAKK3Jlc3VsdDogPmRkZD0sYWFhLGJiYj1CQkIsY2NjPApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXByZXBlbmQtdmFsdWUgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItcHJlcGVuZC12YWx1ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZWJjN2VlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXByZXBlbmQtdmFsdWUKQEAgLTAsMCArMSBAQAorcmVzdWx0OiA+ZGRkPURERCxhYWEsYmJiPUJCQixjY2M8CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItcmVtb3ZlIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXJlbW92ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YzI4ZWQyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXJlbW92ZQpAQCAtMCwwICsxIEBACityZXN1bHQ6ID5iYmI9QkJCLGNjYzwKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1yZW1vdmUtZW1wdHktdmFsdWUgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItcmVtb3ZlLWVtcHR5LXZhbHVlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlZTVjOTUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItcmVtb3ZlLWVtcHR5LXZhbHVlCkBAIC0wLDAgKzEgQEAKK3Jlc3VsdDogPmFhYSxjY2M8CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItcmVtb3ZlLXF1b3RlZCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1yZW1vdmUtcXVvdGVkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyZmM1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItcmVtb3ZlLXF1b3RlZApAQCAtMCwwICsxIEBACityZXN1bHQ6ID5hYWEsYmJiPUJCQixjY2M8CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItcmVtb3ZlLXZhbHVlIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXJlbW92ZS12YWx1ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZWU1Yzk1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXJlbW92ZS12YWx1ZQpAQCAtMCwwICsxIEBACityZXN1bHQ6ID5hYWEsY2NjPApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXNldC1lbXB0eSBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1zZXQtZW1wdHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTBhMzMwMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1zZXQtZW1wdHkKQEAgLTAsMCArMSBAQAorcmVzdWx0OiA+YWFhLGJiYj0sY2NjPApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXNldC1sYXJnZSBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1zZXQtbGFyZ2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjUxOGMyNgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1zZXQtbGFyZ2UKQEAgLTAsMCArMSBAQAorcmVzdWx0OiA+YWFhLGJiYj1YWFgtWVlZLVpaWixjY2M8CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItc2V0LW5ldyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1zZXQtbmV3Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkNDViNGYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItc2V0LW5ldwpAQCAtMCwwICsxIEBACityZXN1bHQ6ID5hYWE9WFhYLGJiYj1CQkIsY2NjPApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXNldC1uZXctZW1wdHkgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItc2V0LW5ldy1lbXB0eQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMWNmYjM3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXNldC1uZXctZW1wdHkKQEAgLTAsMCArMSBAQAorcmVzdWx0OiA+YWFhPSxiYmI9QkJCLGNjYzwKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1zZXQtbmV3LWVuZCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1zZXQtbmV3LWVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOTY3NWE0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXNldC1uZXctZW5kCkBAIC0wLDAgKzEgQEAKK3Jlc3VsdDogPmFhYSxiYmI9QkJCLGNjYz1YWFg8CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItc2V0LW5ldy1lbmQtZW1wdHkgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItc2V0LW5ldy1lbmQtZW1wdHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDBlOTg4MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1zZXQtbmV3LWVuZC1lbXB0eQpAQCAtMCwwICsxIEBACityZXN1bHQ6ID5hYWEsYmJiPUJCQixjY2M9PApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXNldC1yZW1vdmUgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItc2V0LXJlbW92ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTA1YmVkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXNldC1yZW1vdmUKQEAgLTAsMCArMSBAQAorcmVzdWx0OiA+YWFhLGJiYixjY2M8CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItc2V0LXNtYWxsIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXNldC1zbWFsbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YzM1OGIzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXNldC1zbWFsbApAQCAtMCwwICsxIEBACityZXN1bHQ6ID5hYWEsYmJiPVgsY2NjPApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXNwbGl0IGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXNwbGl0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0MWE2NDAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItc3BsaXQKQEAgLTAsMCArMSwzIEBACit1c2VyIDogeC1iYXIseC1mb289Zm9vZGF0YSx1c2VyPWt6YWssbG9vcD0vZGV2L2xvb3AwCit2ZnMgIDogbm9leGVjLG5vc3VpZAorZnMgICA6IGFhYSxiYmI9QkJCLGNjYwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZGlmZi1tb3VudCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmRpZmYtbW91bnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGMxYzRiZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmRpZmYtbW91bnQKQEAgLTAsMCArMSwyIEBACisvZGV2L21hcHBlci9remFrLWhvbWUgb24gL2hvbWUva3phazogTU9VTlRFRAorL2Zvb29vbyBvbiAvbW50L2ZvbzogTU9VTlRFRApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZGlmZi1tb3ZlIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZGlmZi1tb3ZlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2MTg0OTgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJkaWZmLW1vdmUKQEAgLTAsMCArMSwyIEBACisvL2Zvby5ob21lL2Jhci8gb24gL21udC9tdXNpYzogTU9WRUQgdG8gL21udC9tdXNpYworL2Zvb29vbyBvbiAvbW50L2ZvbzogVU1PVU5URUQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmRpZmYtcmVtb3VudCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmRpZmYtcmVtb3VudApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMTc1ZmRiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZGlmZi1yZW1vdW50CkBAIC0wLDAgKzEsMyBAQAorL2Rldi9tYXBwZXIva3phay1ob21lIG9uIC9ob21lL2t6YWs6IFJFTU9VTlRFRCBmcm9tICdydyxub2F0aW1lLGJhcnJpZXI9MSxkYXRhPW9yZGVyZWQnIHRvICdybyxub2F0aW1lLGJhcnJpZXI9MSxkYXRhPW9yZGVyZWQnCisvL2Zvby5ob21lL2Jhci8gb24gL21udC9zb3VuZHM6IFJFTU9VTlRFRCBmcm9tICdydyxyZWxhdGltZSx1bmM9XFxmb28uaG9tZVxiYXIsdXNlcm5hbWU9a3phayxkb21haW49U1JHUk9VUCx1aWQ9MCxub2ZvcmNldWlkLGdpZD0wLG5vZm9yY2VnaWQsYWRkcj0xOTIuMTY4LjExMS4xLHBvc2l4cGF0aHMsc2VydmVyaW5vLGFjbCxyc2l6ZT0xNjM4NCx3c2l6ZT01NzM0NCcgdG8gJ3JvLHJlbGF0aW1lLHVuYz1cXGZvby5ob21lXGJhcix1c2VybmFtZT1remFrLGRvbWFpbj1TUkdST1VQLHVpZD0wLG5vZm9yY2V1aWQsZ2lkPTAsbm9mb3JjZWdpZCxhZGRyPTE5Mi4xNjguMTExLjEscG9zaXhwYXRocyxzZXJ2ZXJpbm8sYWNsLHJzaXplPTE2Mzg0LHdzaXplPTU3MzQ0JworL2Zvb29vbyBvbiAvbW50L2ZvbzogVU1PVU5URUQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmRpZmYtdW1vdW50IGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZGlmZi11bW91bnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2UzOWFmMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmRpZmYtdW1vdW50CkBAIC0wLDAgKzEsMiBAQAorL2Rldi9tYXBwZXIva3phay1ob21lIG9uIC9ob21lL2t6YWs6IFVNT1VOVEVECisvZm9vb29vIG9uIC9tbnQvZm9vOiBVTU9VTlRFRApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtY29weSBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLWNvcHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDA1NDU4NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLWNvcHkKQEAgLTAsMCArMSwxOCBAQAorT1JJR0lOQUw6CistLS0tLS0gZnM6Citzb3VyY2U6IFVVSUQ9ZDNhOGY3ODMtZGY3NS00ZGM4LTkxNjMtOTc1YTg5MTA1MmMwCit0YXJnZXQ6IC8KK2ZzdHlwZTogZXh0Mworb3B0c3RyOiBub2F0aW1lLGRlZmF1bHRzCitWRlMtb3B0c3RyOiBub2F0aW1lCitmcmVxOiAgIDEKK3Bhc3M6ICAgMQorQ09QWToKKy0tLS0tLSBmczoKK3NvdXJjZTogVVVJRD1kM2E4Zjc4My1kZjc1LTRkYzgtOTE2My05NzVhODkxMDUyYzAKK3RhcmdldDogLworZnN0eXBlOiBleHQzCitvcHRzdHI6IG5vYXRpbWUsZGVmYXVsdHMKK1ZGUy1vcHRzdHI6IG5vYXRpbWUKK2ZyZXE6ICAgMQorcGFzczogICAxCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1maW5kLXBhaXIgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1maW5kLXBhaXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmJkNzMwYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLWZpbmQtcGFpcgpAQCAtMCwwICsxLDYgQEAKKy0tLS0tLSBmczoKK3NvdXJjZTogL2Rldi9tYXBwZXIva3phay1ob21lCit0YXJnZXQ6IC9ob21lL2t6YWsKK2ZzdHlwZTogZXh0NAorb3B0c3RyOiBydyxub2F0aW1lCitWRlMtb3B0c3RyOiBydyxub2F0aW1lCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1maW5kLXNvdXJjZSBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLWZpbmQtc291cmNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3NDY1MmMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1maW5kLXNvdXJjZQpAQCAtMCwwICsxLDggQEAKKy0tLS0tLSBmczoKK3NvdXJjZTogVVVJRD1mZWY3Y2NiMy04MjFjLTRkZTgtODhkYy03MTQ3MmJlNTk0NmYKK3RhcmdldDogL2Jvb3QKK2ZzdHlwZTogZXh0Mworb3B0c3RyOiBub2F0aW1lLGRlZmF1bHRzCitWRlMtb3B0c3RyOiBub2F0aW1lCitmcmVxOiAgIDEKK3Bhc3M6ICAgMgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtZmluZC10YXJnZXQgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1maW5kLXRhcmdldApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYTUxYmQ1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtZmluZC10YXJnZXQKQEAgLTAsMCArMSw2IEBACistLS0tLS0gZnM6Citzb3VyY2U6IC9kZXYvbWFwcGVyL2ZvbwordGFyZ2V0OiAvaG9tZS9mb28KK2ZzdHlwZTogZXh0NAorb3B0c3RyOiBub2F0aW1lLGRlZmF1bHRzCitWRlMtb3B0c3RyOiBub2F0aW1lCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1maW5kLXRhcmdldDIgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1maW5kLXRhcmdldDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGE2YzU3YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLWZpbmQtdGFyZ2V0MgpAQCAtMCwwICsxLDUgQEAKKy0tLS0tLSBmczoKK3NvdXJjZTogL2Rldi9mb28KK3RhcmdldDogL2FueS9mb28vCitmc3R5cGU6IGF1dG8KK29wdHN0cjogZGVmYXVsdHMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLWZpbmQtdGFyZ2V0MyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLWZpbmQtdGFyZ2V0MwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YTZjNTdiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtZmluZC10YXJnZXQzCkBAIC0wLDAgKzEsNSBAQAorLS0tLS0tIGZzOgorc291cmNlOiAvZGV2L2ZvbwordGFyZ2V0OiAvYW55L2Zvby8KK2ZzdHlwZTogYXV0bworb3B0c3RyOiBkZWZhdWx0cwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcGFyc2UtZnN0YWIgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1wYXJzZS1mc3RhYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNjYxNTI2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcGFyc2UtZnN0YWIKQEAgLTAsMCArMSw2NSBAQAorLS0tLS0tIGZzOgorc291cmNlOiBVVUlEPWQzYThmNzgzLWRmNzUtNGRjOC05MTYzLTk3NWE4OTEwNTJjMAordGFyZ2V0OiAvCitmc3R5cGU6IGV4dDMKK29wdHN0cjogbm9hdGltZSxkZWZhdWx0cworVkZTLW9wdHN0cjogbm9hdGltZQorZnJlcTogICAxCitwYXNzOiAgIDEKKy0tLS0tLSBmczoKK3NvdXJjZTogVVVJRD1mZWY3Y2NiMy04MjFjLTRkZTgtODhkYy03MTQ3MmJlNTk0NmYKK3RhcmdldDogL2Jvb3QKK2ZzdHlwZTogZXh0Mworb3B0c3RyOiBub2F0aW1lLGRlZmF1bHRzCitWRlMtb3B0c3RyOiBub2F0aW1lCitmcmVxOiAgIDEKK3Bhc3M6ICAgMgorLS0tLS0tIGZzOgorc291cmNlOiBVVUlEPTFmMmFhMzE4LTljMzQtNDYyZS04ZDI5LTI2MDgxOWZmZDY1NwordGFyZ2V0OiBzd2FwCitmc3R5cGU6IHN3YXAKK29wdHN0cjogZGVmYXVsdHMKKy0tLS0tLSBmczoKK3NvdXJjZTogdG1wZnMKK3RhcmdldDogL2Rldi9zaG0KK2ZzdHlwZTogdG1wZnMKK29wdHN0cjogZGVmYXVsdHMKKy0tLS0tLSBmczoKK3NvdXJjZTogZGV2cHRzCit0YXJnZXQ6IC9kZXYvcHRzCitmc3R5cGU6IGRldnB0cworb3B0c3RyOiBnaWQ9NSxtb2RlPTYyMAorRlMtb3BzdHI6IGdpZD01LG1vZGU9NjIwCistLS0tLS0gZnM6Citzb3VyY2U6IHN5c2ZzCit0YXJnZXQ6IC9zeXMKK2ZzdHlwZTogc3lzZnMKK29wdHN0cjogZGVmYXVsdHMKKy0tLS0tLSBmczoKK3NvdXJjZTogcHJvYwordGFyZ2V0OiAvcHJvYworZnN0eXBlOiBwcm9jCitvcHRzdHI6IGRlZmF1bHRzCistLS0tLS0gZnM6Citzb3VyY2U6IC9kZXYvbWFwcGVyL2ZvbwordGFyZ2V0OiAvaG9tZS9mb28KK2ZzdHlwZTogZXh0NAorb3B0c3RyOiBub2F0aW1lLGRlZmF1bHRzCitWRlMtb3B0c3RyOiBub2F0aW1lCistLS0tLS0gZnM6Citzb3VyY2U6IGZvby5jb206L21udC9zaGFyZQordGFyZ2V0OiAvbW50L3JlbW90ZQorZnN0eXBlOiBuZnMKK29wdHN0cjogbm9hdXRvCit1c2VyLW9wdHN0cjogbm9hdXRvCistLS0tLS0gZnM6Citzb3VyY2U6IC8vYmFyLmNvbS9nb2dvZ28KK3RhcmdldDogL21udC9nb2dvZ28KK2ZzdHlwZTogY2lmcworb3B0c3RyOiB1c2VyPVNSR1JPVVAvYmFieSxub2F1dG8KK3VzZXItb3B0c3RyOiB1c2VyPVNSR1JPVVAvYmFieSxub2F1dG8KKy0tLS0tLSBmczoKK3NvdXJjZTogL2Rldi9mb28KK3RhcmdldDogL2FueS9mb28vCitmc3R5cGU6IGF1dG8KK29wdHN0cjogZGVmYXVsdHMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXBhcnNlLWZzdGFiLWJyb2tlbiBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXBhcnNlLWZzdGFiLWJyb2tlbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iODM4ZmJjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcGFyc2UtZnN0YWItYnJva2VuCkBAIC0wLDAgKzEsNjMgQEAKKworCistLS0tLS0gZnM6Citzb3VyY2U6IFVVSUQ9ZDNhOGY3ODMtZGY3NS00ZGM4LTkxNjMtOTc1YTg5MTA1MmMwCit0YXJnZXQ6IC8KK2ZzdHlwZTogZXh0Mworb3B0c3RyOiBub2F0aW1lLGRlZmF1bHRzCitWRlMtb3B0c3RyOiBub2F0aW1lCitmcmVxOiAgIDEKK3Bhc3M6ICAgMQorLS0tLS0tIGZzOgorc291cmNlOiBVVUlEPWZlZjdjY2IzLTgyMWMtNGRlOC04OGRjLTcxNDcyYmU1OTQ2ZgordGFyZ2V0OiAvYm9vdAorZnN0eXBlOiBleHQzCitvcHRzdHI6IG5vYXRpbWUsZGVmYXVsdHMKK1ZGUy1vcHRzdHI6IG5vYXRpbWUKK2ZyZXE6ICAgMQorcGFzczogICAyCistLS0tLS0gZnM6Citzb3VyY2U6IFVVSUQ9MWYyYWEzMTgtOWMzNC00NjJlLThkMjktMjYwODE5ZmZkNjU3Cit0YXJnZXQ6IHN3YXAKK2ZzdHlwZTogc3dhcAorb3B0c3RyOiBkZWZhdWx0cworLS0tLS0tIGZzOgorc291cmNlOiB0bXBmcwordGFyZ2V0OiAvZGV2L3NobQorZnN0eXBlOiB0bXBmcworb3B0c3RyOiBkZWZhdWx0cworLS0tLS0tIGZzOgorc291cmNlOiBkZXZwdHMKK3RhcmdldDogL2Rldi9wdHMKK2ZzdHlwZTogZGV2cHRzCitvcHRzdHI6IGdpZD01LG1vZGU9NjIwCitGUy1vcHN0cjogZ2lkPTUsbW9kZT02MjAKKy0tLS0tLSBmczoKK3NvdXJjZTogc3lzZnMKK3RhcmdldDogL3N5cworZnN0eXBlOiBzeXNmcworb3B0c3RyOiBkZWZhdWx0cworLS0tLS0tIGZzOgorc291cmNlOiBwcm9jCit0YXJnZXQ6IC9wcm9jCitmc3R5cGU6IHByb2MKK29wdHN0cjogZGVmYXVsdHMKKy0tLS0tLSBmczoKK3NvdXJjZTogL2Rldi9tYXBwZXIvZm9vCit0YXJnZXQ6IC9ob21lL2ZvbworZnN0eXBlOiBleHQ0CitvcHRzdHI6IG5vYXRpbWUsZGVmYXVsdHMKK1ZGUy1vcHRzdHI6IG5vYXRpbWUKK2ZyZXE6ICAgMQorLS0tLS0tIGZzOgorc291cmNlOiBmb28uY29tOi9tbnQvc2hhcmUKK3RhcmdldDogL21udC9yZW1vdGUKK2ZzdHlwZTogbmZzCitvcHRzdHI6IG5vYXV0bwordXNlci1vcHRzdHI6IG5vYXV0bworLS0tLS0tIGZzOgorc291cmNlOiAvL2Jhci5jb20vZ29nb2dvCit0YXJnZXQ6IC9tbnQvZ29nb2dvCitmc3R5cGU6IGNpZnMKK29wdHN0cjogdXNlcj1TUkdST1VQL2JhYnksbm9hdXRvCit1c2VyLW9wdHN0cjogdXNlcj1TUkdST1VQL2JhYnksbm9hdXRvCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1wYXJzZS1mc3RhYi1mdWxsIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcGFyc2UtZnN0YWItZnVsbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMWNhZmY2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcGFyc2UtZnN0YWItZnVsbApAQCAtMCwwICsxLDgzIEBACitJbml0aWFsIGNvbW1lbnQ6CisiIworICMgdGhpcyBpcyBhIGxlYWRpbmcgY29tbWVudAorIworCisiCistLS0tLS0gZnM6Citzb3VyY2U6IFVVSUQ9ZDNhOGY3ODMtZGY3NS00ZGM4LTkxNjMtOTc1YTg5MTA1MmMwCit0YXJnZXQ6IC8KK2ZzdHlwZTogZXh0Mworb3B0c3RyOiBub2F0aW1lLGRlZmF1bHRzCitWRlMtb3B0c3RyOiBub2F0aW1lCitmcmVxOiAgIDEKK3Bhc3M6ICAgMQorY29tbWVudDogJyMgdGhpcyBjb21tZW50cyBiZWxvbmdzIHRvIHRoZSBmaXJzdCBmcworJworLS0tLS0tIGZzOgorc291cmNlOiBVVUlEPWZlZjdjY2IzLTgyMWMtNGRlOC04OGRjLTcxNDcyYmU1OTQ2ZgordGFyZ2V0OiAvYm9vdAorZnN0eXBlOiBleHQzCitvcHRzdHI6IG5vYXRpbWUsZGVmYXVsdHMKK1ZGUy1vcHRzdHI6IG5vYXRpbWUKK2ZyZXE6ICAgMQorcGFzczogICAyCistLS0tLS0gZnM6Citzb3VyY2U6IFVVSUQ9MWYyYWEzMTgtOWMzNC00NjJlLThkMjktMjYwODE5ZmZkNjU3Cit0YXJnZXQ6IHN3YXAKK2ZzdHlwZTogc3dhcAorb3B0c3RyOiBkZWZhdWx0cworY29tbWVudDogJworIyAzcmQgZnMgY29tbWVudCArIG5ld2xpbmUgcGFkZGluZworCisnCistLS0tLS0gZnM6Citzb3VyY2U6IHRtcGZzCit0YXJnZXQ6IC9kZXYvc2htCitmc3R5cGU6IHRtcGZzCitvcHRzdHI6IGRlZmF1bHRzCistLS0tLS0gZnM6Citzb3VyY2U6IGRldnB0cwordGFyZ2V0OiAvZGV2L3B0cworZnN0eXBlOiBkZXZwdHMKK29wdHN0cjogZ2lkPTUsbW9kZT02MjAKK0ZTLW9wc3RyOiBnaWQ9NSxtb2RlPTYyMAorLS0tLS0tIGZzOgorc291cmNlOiBzeXNmcwordGFyZ2V0OiAvc3lzCitmc3R5cGU6IHN5c2ZzCitvcHRzdHI6IGRlZmF1bHRzCistLS0tLS0gZnM6Citzb3VyY2U6IHByb2MKK3RhcmdldDogL3Byb2MKK2ZzdHlwZTogcHJvYworb3B0c3RyOiBkZWZhdWx0cworLS0tLS0tIGZzOgorc291cmNlOiAvZGV2L21hcHBlci9mb28KK3RhcmdldDogL2hvbWUvZm9vCitmc3R5cGU6IGV4dDQKK29wdHN0cjogbm9hdGltZSxkZWZhdWx0cworVkZTLW9wdHN0cjogbm9hdGltZQorY29tbWVudDogJyMgdGhpcyBpcyBjb21tZW50CisnCistLS0tLS0gZnM6Citzb3VyY2U6IGZvby5jb206L21udC9zaGFyZQordGFyZ2V0OiAvbW50L3JlbW90ZQorZnN0eXBlOiBuZnMKK29wdHN0cjogbm9hdXRvCit1c2VyLW9wdHN0cjogbm9hdXRvCistLS0tLS0gZnM6Citzb3VyY2U6IC8vYmFyLmNvbS9nb2dvZ28KK3RhcmdldDogL21udC9nb2dvZ28KK2ZzdHlwZTogY2lmcworb3B0c3RyOiB1c2VyPVNSR1JPVVAvYmFieSxub2F1dG8KK3VzZXItb3B0c3RyOiB1c2VyPVNSR1JPVVAvYmFieSxub2F1dG8KKy0tLS0tLSBmczoKK3NvdXJjZTogL2Rldi9mb28KK3RhcmdldDogL2FueS9mb28vCitmc3R5cGU6IGF1dG8KK29wdHN0cjogZGVmYXVsdHMKK1RyYWlsaW5nIGNvbW1lbnQ6CisiCisjdGhpcyBpcyBhIHRyYWlsaW5nIGNvbW1lbnQKKyIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXBhcnNlLW1vdW50aW5mbyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXBhcnNlLW1vdW50aW5mbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jODM5MGFjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcGFyc2UtbW91bnRpbmZvCkBAIC0wLDAgKzEsMzYzIEBACistLS0tLS0gZnM6Citzb3VyY2U6IC9wcm9jCit0YXJnZXQ6IC9wcm9jCitmc3R5cGU6IHByb2MKK29wdHN0cjogcncscmVsYXRpbWUKK1ZGUy1vcHRzdHI6IHJ3LHJlbGF0aW1lCitGUy1vcHN0cjogcncKK3Jvb3Q6ICAgLworaWQ6ICAgICAxNQorcGFyZW50OiAyMAorZGV2bm86ICAwOjMKKy0tLS0tLSBmczoKK3NvdXJjZTogL3N5cwordGFyZ2V0OiAvc3lzCitmc3R5cGU6IHN5c2ZzCitvcHRzdHI6IHJ3LHJlbGF0aW1lCitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3Cityb290OiAgIC8KK2lkOiAgICAgMTYKK3BhcmVudDogMjAKK2Rldm5vOiAgMDoxNQorLS0tLS0tIGZzOgorc291cmNlOiB1ZGV2Cit0YXJnZXQ6IC9kZXYKK2ZzdHlwZTogZGV2dG1wZnMKK29wdHN0cjogcncscmVsYXRpbWUsc2l6ZT0xOTgzNTE2ayxucl9pbm9kZXM9NDk1ODc5LG1vZGU9NzU1CitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3LHNpemU9MTk4MzUxNmssbnJfaW5vZGVzPTQ5NTg3OSxtb2RlPTc1NQorcm9vdDogICAvCitpZDogICAgIDE3CitwYXJlbnQ6IDIwCitkZXZubzogIDA6NQorLS0tLS0tIGZzOgorc291cmNlOiBkZXZwdHMKK3RhcmdldDogL2Rldi9wdHMKK2ZzdHlwZTogZGV2cHRzCitvcHRzdHI6IHJ3LHJlbGF0aW1lLGdpZD01LG1vZGU9NjIwLHB0bXhtb2RlPTAwMAorVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBydyxnaWQ9NSxtb2RlPTYyMCxwdG14bW9kZT0wMDAKK3Jvb3Q6ICAgLworaWQ6ICAgICAxOAorcGFyZW50OiAxNworZGV2bm86ICAwOjEwCistLS0tLS0gZnM6Citzb3VyY2U6IHRtcGZzCit0YXJnZXQ6IC9kZXYvc2htCitmc3R5cGU6IHRtcGZzCitvcHRzdHI6IHJ3LHJlbGF0aW1lCitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3Cityb290OiAgIC8KK2lkOiAgICAgMTkKK3BhcmVudDogMTcKK2Rldm5vOiAgMDoxNgorLS0tLS0tIGZzOgorc291cmNlOiAvZGV2L3NkYTQKK3RhcmdldDogLworZnN0eXBlOiBleHQzCitvcHRzdHI6IHJ3LG5vYXRpbWUsZXJyb3JzPWNvbnRpbnVlLHVzZXJfeGF0dHIsYWNsLGJhcnJpZXI9MCxkYXRhPW9yZGVyZWQKK1ZGUy1vcHRzdHI6IHJ3LG5vYXRpbWUKK0ZTLW9wc3RyOiBydyxlcnJvcnM9Y29udGludWUsdXNlcl94YXR0cixhY2wsYmFycmllcj0wLGRhdGE9b3JkZXJlZAorcm9vdDogICAvCitpZDogICAgIDIwCitwYXJlbnQ6IDEKK2Rldm5vOiAgODo0CistLS0tLS0gZnM6Citzb3VyY2U6IHRtcGZzCit0YXJnZXQ6IC9zeXMvZnMvY2dyb3VwCitmc3R5cGU6IHRtcGZzCitvcHRzdHI6IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsbW9kZT03NTUKK1ZGUy1vcHRzdHI6IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUKK0ZTLW9wc3RyOiBydyxtb2RlPTc1NQorcm9vdDogICAvCitpZDogICAgIDIxCitwYXJlbnQ6IDE2CitkZXZubzogIDA6MTcKKy0tLS0tLSBmczoKK3NvdXJjZTogY2dyb3VwCit0YXJnZXQ6IC9zeXMvZnMvY2dyb3VwL3N5c3RlbWQKK2ZzdHlwZTogY2dyb3VwCitvcHRzdHI6IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUscmVsZWFzZV9hZ2VudD0vbGliL3N5c3RlbWQvc3lzdGVtZC1jZ3JvdXBzLWFnZW50LG5hbWU9c3lzdGVtZAorVkZTLW9wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3LHJlbGVhc2VfYWdlbnQ9L2xpYi9zeXN0ZW1kL3N5c3RlbWQtY2dyb3Vwcy1hZ2VudCxuYW1lPXN5c3RlbWQKK3Jvb3Q6ICAgLworaWQ6ICAgICAyMgorcGFyZW50OiAyMQorZGV2bm86ICAwOjE4CistLS0tLS0gZnM6Citzb3VyY2U6IGNncm91cAordGFyZ2V0OiAvc3lzL2ZzL2Nncm91cC9jcHVzZXQKK2ZzdHlwZTogY2dyb3VwCitvcHRzdHI6IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsY3B1c2V0CitWRlMtb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCitGUy1vcHN0cjogcncsY3B1c2V0Cityb290OiAgIC8KK2lkOiAgICAgMjMKK3BhcmVudDogMjEKK2Rldm5vOiAgMDoxOQorLS0tLS0tIGZzOgorc291cmNlOiBjZ3JvdXAKK3RhcmdldDogL3N5cy9mcy9jZ3JvdXAvbnMKK2ZzdHlwZTogY2dyb3VwCitvcHRzdHI6IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsbnMKK1ZGUy1vcHRzdHI6IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUKK0ZTLW9wc3RyOiBydyxucworcm9vdDogICAvCitpZDogICAgIDI0CitwYXJlbnQ6IDIxCitkZXZubzogIDA6MjAKKy0tLS0tLSBmczoKK3NvdXJjZTogY2dyb3VwCit0YXJnZXQ6IC9zeXMvZnMvY2dyb3VwL2NwdQorZnN0eXBlOiBjZ3JvdXAKK29wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxjcHUKK1ZGUy1vcHRzdHI6IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUKK0ZTLW9wc3RyOiBydyxjcHUKK3Jvb3Q6ICAgLworaWQ6ICAgICAyNQorcGFyZW50OiAyMQorZGV2bm86ICAwOjIxCistLS0tLS0gZnM6Citzb3VyY2U6IGNncm91cAordGFyZ2V0OiAvc3lzL2ZzL2Nncm91cC9jcHVhY2N0Citmc3R5cGU6IGNncm91cAorb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLGNwdWFjY3QKK1ZGUy1vcHRzdHI6IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUKK0ZTLW9wc3RyOiBydyxjcHVhY2N0Cityb290OiAgIC8KK2lkOiAgICAgMjYKK3BhcmVudDogMjEKK2Rldm5vOiAgMDoyMgorLS0tLS0tIGZzOgorc291cmNlOiBjZ3JvdXAKK3RhcmdldDogL3N5cy9mcy9jZ3JvdXAvbWVtb3J5Citmc3R5cGU6IGNncm91cAorb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLG1lbW9yeQorVkZTLW9wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3LG1lbW9yeQorcm9vdDogICAvCitpZDogICAgIDI3CitwYXJlbnQ6IDIxCitkZXZubzogIDA6MjMKKy0tLS0tLSBmczoKK3NvdXJjZTogY2dyb3VwCit0YXJnZXQ6IC9zeXMvZnMvY2dyb3VwL2RldmljZXMKK2ZzdHlwZTogY2dyb3VwCitvcHRzdHI6IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsZGV2aWNlcworVkZTLW9wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3LGRldmljZXMKK3Jvb3Q6ICAgLworaWQ6ICAgICAyOAorcGFyZW50OiAyMQorZGV2bm86ICAwOjI0CistLS0tLS0gZnM6Citzb3VyY2U6IGNncm91cAordGFyZ2V0OiAvc3lzL2ZzL2Nncm91cC9mcmVlemVyCitmc3R5cGU6IGNncm91cAorb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLGZyZWV6ZXIKK1ZGUy1vcHRzdHI6IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUKK0ZTLW9wc3RyOiBydyxmcmVlemVyCityb290OiAgIC8KK2lkOiAgICAgMjkKK3BhcmVudDogMjEKK2Rldm5vOiAgMDoyNQorLS0tLS0tIGZzOgorc291cmNlOiBjZ3JvdXAKK3RhcmdldDogL3N5cy9mcy9jZ3JvdXAvbmV0X2NscworZnN0eXBlOiBjZ3JvdXAKK29wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxuZXRfY2xzCitWRlMtb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCitGUy1vcHN0cjogcncsbmV0X2Nscworcm9vdDogICAvCitpZDogICAgIDMwCitwYXJlbnQ6IDIxCitkZXZubzogIDA6MjYKKy0tLS0tLSBmczoKK3NvdXJjZTogY2dyb3VwCit0YXJnZXQ6IC9zeXMvZnMvY2dyb3VwL2Jsa2lvCitmc3R5cGU6IGNncm91cAorb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLGJsa2lvCitWRlMtb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCitGUy1vcHN0cjogcncsYmxraW8KK3Jvb3Q6ICAgLworaWQ6ICAgICAzMQorcGFyZW50OiAyMQorZGV2bm86ICAwOjI3CistLS0tLS0gZnM6Citzb3VyY2U6IHN5c3RlbWQtMQordGFyZ2V0OiAvc3lzL2tlcm5lbC9zZWN1cml0eQorZnN0eXBlOiBhdXRvZnMKK29wdHN0cjogcncscmVsYXRpbWUsZmQ9MjIscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKK1ZGUy1vcHRzdHI6IHJ3LHJlbGF0aW1lCitGUy1vcHN0cjogcncsZmQ9MjIscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKK3Jvb3Q6ICAgLworaWQ6ICAgICAzMgorcGFyZW50OiAxNgorZGV2bm86ICAwOjI4CistLS0tLS0gZnM6Citzb3VyY2U6IHN5c3RlbWQtMQordGFyZ2V0OiAvZGV2L2h1Z2VwYWdlcworZnN0eXBlOiBhdXRvZnMKK29wdHN0cjogcncscmVsYXRpbWUsZmQ9MjMscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKK1ZGUy1vcHRzdHI6IHJ3LHJlbGF0aW1lCitGUy1vcHN0cjogcncsZmQ9MjMscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKK3Jvb3Q6ICAgLworaWQ6ICAgICAzMworcGFyZW50OiAxNworZGV2bm86ICAwOjI5CistLS0tLS0gZnM6Citzb3VyY2U6IHN5c3RlbWQtMQordGFyZ2V0OiAvc3lzL2tlcm5lbC9kZWJ1ZworZnN0eXBlOiBhdXRvZnMKK29wdHN0cjogcncscmVsYXRpbWUsZmQ9MjQscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKK1ZGUy1vcHRzdHI6IHJ3LHJlbGF0aW1lCitGUy1vcHN0cjogcncsZmQ9MjQscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKK3Jvb3Q6ICAgLworaWQ6ICAgICAzNAorcGFyZW50OiAxNgorZGV2bm86ICAwOjMwCistLS0tLS0gZnM6Citzb3VyY2U6IHN5c3RlbWQtMQordGFyZ2V0OiAvcHJvYy9zeXMvZnMvYmluZm10X21pc2MKK2ZzdHlwZTogYXV0b2ZzCitvcHRzdHI6IHJ3LHJlbGF0aW1lLGZkPTI1LHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3LGZkPTI1LHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0Cityb290OiAgIC8KK2lkOiAgICAgMzUKK3BhcmVudDogMTUKK2Rldm5vOiAgMDozMQorLS0tLS0tIGZzOgorc291cmNlOiBzeXN0ZW1kLTEKK3RhcmdldDogL2Rldi9tcXVldWUKK2ZzdHlwZTogYXV0b2ZzCitvcHRzdHI6IHJ3LHJlbGF0aW1lLGZkPTI2LHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3LGZkPTI2LHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0Cityb290OiAgIC8KK2lkOiAgICAgMzYKK3BhcmVudDogMTcKK2Rldm5vOiAgMDozMgorLS0tLS0tIGZzOgorc291cmNlOiAvcHJvYy9idXMvdXNiCit0YXJnZXQ6IC9wcm9jL2J1cy91c2IKK2ZzdHlwZTogdXNiZnMKK29wdHN0cjogcncscmVsYXRpbWUKK1ZGUy1vcHRzdHI6IHJ3LHJlbGF0aW1lCitGUy1vcHN0cjogcncKK3Jvb3Q6ICAgLworaWQ6ICAgICAzNworcGFyZW50OiAxNQorZGV2bm86ICAwOjE0CistLS0tLS0gZnM6Citzb3VyY2U6IGh1Z2V0bGJmcwordGFyZ2V0OiAvZGV2L2h1Z2VwYWdlcworZnN0eXBlOiBodWdldGxiZnMKK29wdHN0cjogcncscmVsYXRpbWUKK1ZGUy1vcHRzdHI6IHJ3LHJlbGF0aW1lCitGUy1vcHN0cjogcncKK3Jvb3Q6ICAgLworaWQ6ICAgICAzOAorcGFyZW50OiAzMworZGV2bm86ICAwOjMzCistLS0tLS0gZnM6Citzb3VyY2U6IG1xdWV1ZQordGFyZ2V0OiAvZGV2L21xdWV1ZQorZnN0eXBlOiBtcXVldWUKK29wdHN0cjogcncscmVsYXRpbWUKK1ZGUy1vcHRzdHI6IHJ3LHJlbGF0aW1lCitGUy1vcHN0cjogcncKK3Jvb3Q6ICAgLworaWQ6ICAgICAzOQorcGFyZW50OiAzNgorZGV2bm86ICAwOjEyCistLS0tLS0gZnM6Citzb3VyY2U6IC9kZXYvc2RhNgordGFyZ2V0OiAvYm9vdAorZnN0eXBlOiBleHQzCitvcHRzdHI6IHJ3LG5vYXRpbWUsZXJyb3JzPWNvbnRpbnVlLGJhcnJpZXI9MCxkYXRhPW9yZGVyZWQKK1ZGUy1vcHRzdHI6IHJ3LG5vYXRpbWUKK0ZTLW9wc3RyOiBydyxlcnJvcnM9Y29udGludWUsYmFycmllcj0wLGRhdGE9b3JkZXJlZAorcm9vdDogICAvCitpZDogICAgIDQwCitwYXJlbnQ6IDIwCitkZXZubzogIDg6NgorLS0tLS0tIGZzOgorc291cmNlOiAvZGV2L21hcHBlci9remFrLWhvbWUKK3RhcmdldDogL2hvbWUva3phaworZnN0eXBlOiBleHQ0CitvcHRzdHI6IHJ3LG5vYXRpbWUsYmFycmllcj0xLGRhdGE9b3JkZXJlZAorVkZTLW9wdHN0cjogcncsbm9hdGltZQorRlMtb3BzdHI6IHJ3LGJhcnJpZXI9MSxkYXRhPW9yZGVyZWQKK3Jvb3Q6ICAgLworaWQ6ICAgICA0MQorcGFyZW50OiAyMAorZGV2bm86ICAyNTM6MAorLS0tLS0tIGZzOgorc291cmNlOiBub25lCit0YXJnZXQ6IC9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYworZnN0eXBlOiBiaW5mbXRfbWlzYworb3B0c3RyOiBydyxyZWxhdGltZQorVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBydworcm9vdDogICAvCitpZDogICAgIDQyCitwYXJlbnQ6IDM1CitkZXZubzogIDA6MzQKKy0tLS0tLSBmczoKK3NvdXJjZTogZnVzZWN0bAordGFyZ2V0OiAvc3lzL2ZzL2Z1c2UvY29ubmVjdGlvbnMKK2ZzdHlwZTogZnVzZWN0bAorb3B0c3RyOiBydyxyZWxhdGltZQorVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBydworcm9vdDogICAvCitpZDogICAgIDQzCitwYXJlbnQ6IDE2CitkZXZubzogIDA6MzUKKy0tLS0tLSBmczoKK3NvdXJjZTogZ3Zmcy1mdXNlLWRhZW1vbgordGFyZ2V0OiAvaG9tZS9remFrLy5ndmZzCitmc3R5cGU6IGZ1c2UuZ3Zmcy1mdXNlLWRhZW1vbgorb3B0c3RyOiBydyxub3N1aWQsbm9kZXYscmVsYXRpbWUsdXNlcl9pZD01MDAsZ3JvdXBfaWQ9NTAwCitWRlMtb3B0c3RyOiBydyxub3N1aWQsbm9kZXYscmVsYXRpbWUKK0ZTLW9wc3RyOiBydyx1c2VyX2lkPTUwMCxncm91cF9pZD01MDAKK3Jvb3Q6ICAgLworaWQ6ICAgICA0NAorcGFyZW50OiA0MQorZGV2bm86ICAwOjM2CistLS0tLS0gZnM6Citzb3VyY2U6IHN1bnJwYwordGFyZ2V0OiAvdmFyL2xpYi9uZnMvcnBjX3BpcGVmcworZnN0eXBlOiBycGNfcGlwZWZzCitvcHRzdHI6IHJ3LHJlbGF0aW1lCitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3Cityb290OiAgIC8KK2lkOiAgICAgNDUKK3BhcmVudDogMjAKK2Rldm5vOiAgMDozNworLS0tLS0tIGZzOgorc291cmNlOiAvL2Zvby5ob21lL2Jhci8KK3RhcmdldDogL21udC9zb3VuZHMKK2ZzdHlwZTogY2lmcworb3B0c3RyOiBydyxyZWxhdGltZSx1bmM9XFxmb28uaG9tZVxiYXIsdXNlcm5hbWU9a3phayxkb21haW49U1JHUk9VUCx1aWQ9MCxub2ZvcmNldWlkLGdpZD0wLG5vZm9yY2VnaWQsYWRkcj0xOTIuMTY4LjExMS4xLHBvc2l4cGF0aHMsc2VydmVyaW5vLGFjbCxyc2l6ZT0xNjM4NCx3c2l6ZT01NzM0NAorVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBydyx1bmM9XFxmb28uaG9tZVxiYXIsdXNlcm5hbWU9a3phayxkb21haW49U1JHUk9VUCx1aWQ9MCxub2ZvcmNldWlkLGdpZD0wLG5vZm9yY2VnaWQsYWRkcj0xOTIuMTY4LjExMS4xLHBvc2l4cGF0aHMsc2VydmVyaW5vLGFjbCxyc2l6ZT0xNjM4NCx3c2l6ZT01NzM0NAorcm9vdDogICAvCitpZDogICAgIDQ3CitwYXJlbnQ6IDIwCitkZXZubzogIDA6MzgKKy0tLS0tLSBmczoKK3NvdXJjZTogL2Zvb29vbwordGFyZ2V0OiAvbW50L2ZvbworZnN0eXBlOiBiYXIKK29wdHN0cjogcncscmVsYXRpbWUKK1ZGUy1vcHRzdHI6IHJ3LHJlbGF0aW1lCitGUy1vcHN0cjogcncKK3Jvb3Q6ICAgLworaWQ6ICAgICA0OAorcGFyZW50OiAyMAorZGV2bm86ICAwOjM5CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1wYXJzZS1tdGFiIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcGFyc2UtbXRhYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45M2Y0ODQ5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcGFyc2UtbXRhYgpAQCAtMCwwICsxLDc1IEBACistLS0tLS0gZnM6Citzb3VyY2U6IC9kZXYvc2RhNAordGFyZ2V0OiAvCitmc3R5cGU6IGV4dDMKK29wdHN0cjogcncsbm9hdGltZQorVkZTLW9wdHN0cjogcncsbm9hdGltZQorLS0tLS0tIGZzOgorc291cmNlOiBwcm9jCit0YXJnZXQ6IC9wcm9jCitmc3R5cGU6IHByb2MKK29wdHN0cjogcncKK1ZGUy1vcHRzdHI6IHJ3CistLS0tLS0gZnM6Citzb3VyY2U6IHN5c2ZzCit0YXJnZXQ6IC9zeXMKK2ZzdHlwZTogc3lzZnMKK29wdHN0cjogcncKK1ZGUy1vcHRzdHI6IHJ3CistLS0tLS0gZnM6Citzb3VyY2U6IGRldnB0cwordGFyZ2V0OiAvZGV2L3B0cworZnN0eXBlOiBkZXZwdHMKK29wdHN0cjogcncsZ2lkPTUsbW9kZT02MjAKK1ZGUy1vcHRzdHI6IHJ3CitGUy1vcHN0cjogZ2lkPTUsbW9kZT02MjAKKy0tLS0tLSBmczoKK3NvdXJjZTogdG1wZnMKK3RhcmdldDogL2Rldi9zaG0KK2ZzdHlwZTogdG1wZnMKK29wdHN0cjogcncKK1ZGUy1vcHRzdHI6IHJ3CistLS0tLS0gZnM6Citzb3VyY2U6IC9kZXYvc2RhNgordGFyZ2V0OiAvYm9vdAorZnN0eXBlOiBleHQzCitvcHRzdHI6IHJ3LG5vYXRpbWUKK1ZGUy1vcHRzdHI6IHJ3LG5vYXRpbWUKKy0tLS0tLSBmczoKK3NvdXJjZTogL2Rldi9tYXBwZXIva3phay1ob21lCit0YXJnZXQ6IC9ob21lL2t6YWsKK2ZzdHlwZTogZXh0NAorb3B0c3RyOiBydyxub2F0aW1lCitWRlMtb3B0c3RyOiBydyxub2F0aW1lCistLS0tLS0gZnM6Citzb3VyY2U6IG5vbmUKK3RhcmdldDogL3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjCitmc3R5cGU6IGJpbmZtdF9taXNjCitvcHRzdHI6IHJ3CitWRlMtb3B0c3RyOiBydworLS0tLS0tIGZzOgorc291cmNlOiBmdXNlY3RsCit0YXJnZXQ6IC9zeXMvZnMvZnVzZS9jb25uZWN0aW9ucworZnN0eXBlOiBmdXNlY3RsCitvcHRzdHI6IHJ3CitWRlMtb3B0c3RyOiBydworLS0tLS0tIGZzOgorc291cmNlOiBndmZzLWZ1c2UtZGFlbW9uCit0YXJnZXQ6IC9ob21lL2t6YWsvLmd2ZnMKK2ZzdHlwZTogZnVzZS5ndmZzLWZ1c2UtZGFlbW9uCitvcHRzdHI6IHJ3LG5vc3VpZCxub2Rldix1c2VyPWt6YWsKK1ZGUy1vcHRzdHI6IHJ3LG5vc3VpZCxub2RldgordXNlci1vcHRzdHI6IHVzZXI9a3phaworLS0tLS0tIGZzOgorc291cmNlOiBzdW5ycGMKK3RhcmdldDogL3Zhci9saWIvbmZzL3JwY19waXBlZnMKK2ZzdHlwZTogcnBjX3BpcGVmcworb3B0c3RyOiBydworVkZTLW9wdHN0cjogcncKKy0tLS0tLSBmczoKK3NvdXJjZTogbm9uZQordGFyZ2V0OiAvdmFyL3RtcC8JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkvCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJLwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCS8JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkvCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJLwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCS8JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkvCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJLwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCS8JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkvCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJLwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCS8JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkvCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJLwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQorZnN0eXBlOiBvdmVybGF5CitvcHRzdHI6IHJ3LHJlbGF0aW1lLGxvd2VyZGlyPWxvd2VyLHVwcGVyZGlyPXVwcGVyLHdvcmtkaXI9d29yaworVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBsb3dlcmRpcj1sb3dlcix1cHBlcmRpcj11cHBlcix3b3JrZGlyPXdvcmsKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXB5LWNvcHkgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1weS1jb3B5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAwNTQ1ODYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1weS1jb3B5CkBAIC0wLDAgKzEsMTggQEAKK09SSUdJTkFMOgorLS0tLS0tIGZzOgorc291cmNlOiBVVUlEPWQzYThmNzgzLWRmNzUtNGRjOC05MTYzLTk3NWE4OTEwNTJjMAordGFyZ2V0OiAvCitmc3R5cGU6IGV4dDMKK29wdHN0cjogbm9hdGltZSxkZWZhdWx0cworVkZTLW9wdHN0cjogbm9hdGltZQorZnJlcTogICAxCitwYXNzOiAgIDEKK0NPUFk6CistLS0tLS0gZnM6Citzb3VyY2U6IFVVSUQ9ZDNhOGY3ODMtZGY3NS00ZGM4LTkxNjMtOTc1YTg5MTA1MmMwCit0YXJnZXQ6IC8KK2ZzdHlwZTogZXh0Mworb3B0c3RyOiBub2F0aW1lLGRlZmF1bHRzCitWRlMtb3B0c3RyOiBub2F0aW1lCitmcmVxOiAgIDEKK3Bhc3M6ICAgMQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcHktZmluZC1wYWlyIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcHktZmluZC1wYWlyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiZDczMGEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1weS1maW5kLXBhaXIKQEAgLTAsMCArMSw2IEBACistLS0tLS0gZnM6Citzb3VyY2U6IC9kZXYvbWFwcGVyL2t6YWstaG9tZQordGFyZ2V0OiAvaG9tZS9remFrCitmc3R5cGU6IGV4dDQKK29wdHN0cjogcncsbm9hdGltZQorVkZTLW9wdHN0cjogcncsbm9hdGltZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcHktZmluZC1zb3VyY2UgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1weS1maW5kLXNvdXJjZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NzQ2NTJjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcHktZmluZC1zb3VyY2UKQEAgLTAsMCArMSw4IEBACistLS0tLS0gZnM6Citzb3VyY2U6IFVVSUQ9ZmVmN2NjYjMtODIxYy00ZGU4LTg4ZGMtNzE0NzJiZTU5NDZmCit0YXJnZXQ6IC9ib290Citmc3R5cGU6IGV4dDMKK29wdHN0cjogbm9hdGltZSxkZWZhdWx0cworVkZTLW9wdHN0cjogbm9hdGltZQorZnJlcTogICAxCitwYXNzOiAgIDIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXB5LWZpbmQtdGFyZ2V0IGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcHktZmluZC10YXJnZXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWE1MWJkNQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXB5LWZpbmQtdGFyZ2V0CkBAIC0wLDAgKzEsNiBAQAorLS0tLS0tIGZzOgorc291cmNlOiAvZGV2L21hcHBlci9mb28KK3RhcmdldDogL2hvbWUvZm9vCitmc3R5cGU6IGV4dDQKK29wdHN0cjogbm9hdGltZSxkZWZhdWx0cworVkZTLW9wdHN0cjogbm9hdGltZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcHktZmluZC10YXJnZXQyIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcHktZmluZC10YXJnZXQyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhNmM1N2IKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1weS1maW5kLXRhcmdldDIKQEAgLTAsMCArMSw1IEBACistLS0tLS0gZnM6Citzb3VyY2U6IC9kZXYvZm9vCit0YXJnZXQ6IC9hbnkvZm9vLworZnN0eXBlOiBhdXRvCitvcHRzdHI6IGRlZmF1bHRzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1weS1maW5kLXRhcmdldDMgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1weS1maW5kLXRhcmdldDMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGE2YzU3YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXB5LWZpbmQtdGFyZ2V0MwpAQCAtMCwwICsxLDUgQEAKKy0tLS0tLSBmczoKK3NvdXJjZTogL2Rldi9mb28KK3RhcmdldDogL2FueS9mb28vCitmc3R5cGU6IGF1dG8KK29wdHN0cjogZGVmYXVsdHMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXB5LXBhcnNlLWZzdGFiIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcHktcGFyc2UtZnN0YWIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDY2MTUyNgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXB5LXBhcnNlLWZzdGFiCkBAIC0wLDAgKzEsNjUgQEAKKy0tLS0tLSBmczoKK3NvdXJjZTogVVVJRD1kM2E4Zjc4My1kZjc1LTRkYzgtOTE2My05NzVhODkxMDUyYzAKK3RhcmdldDogLworZnN0eXBlOiBleHQzCitvcHRzdHI6IG5vYXRpbWUsZGVmYXVsdHMKK1ZGUy1vcHRzdHI6IG5vYXRpbWUKK2ZyZXE6ICAgMQorcGFzczogICAxCistLS0tLS0gZnM6Citzb3VyY2U6IFVVSUQ9ZmVmN2NjYjMtODIxYy00ZGU4LTg4ZGMtNzE0NzJiZTU5NDZmCit0YXJnZXQ6IC9ib290Citmc3R5cGU6IGV4dDMKK29wdHN0cjogbm9hdGltZSxkZWZhdWx0cworVkZTLW9wdHN0cjogbm9hdGltZQorZnJlcTogICAxCitwYXNzOiAgIDIKKy0tLS0tLSBmczoKK3NvdXJjZTogVVVJRD0xZjJhYTMxOC05YzM0LTQ2MmUtOGQyOS0yNjA4MTlmZmQ2NTcKK3RhcmdldDogc3dhcAorZnN0eXBlOiBzd2FwCitvcHRzdHI6IGRlZmF1bHRzCistLS0tLS0gZnM6Citzb3VyY2U6IHRtcGZzCit0YXJnZXQ6IC9kZXYvc2htCitmc3R5cGU6IHRtcGZzCitvcHRzdHI6IGRlZmF1bHRzCistLS0tLS0gZnM6Citzb3VyY2U6IGRldnB0cwordGFyZ2V0OiAvZGV2L3B0cworZnN0eXBlOiBkZXZwdHMKK29wdHN0cjogZ2lkPTUsbW9kZT02MjAKK0ZTLW9wc3RyOiBnaWQ9NSxtb2RlPTYyMAorLS0tLS0tIGZzOgorc291cmNlOiBzeXNmcwordGFyZ2V0OiAvc3lzCitmc3R5cGU6IHN5c2ZzCitvcHRzdHI6IGRlZmF1bHRzCistLS0tLS0gZnM6Citzb3VyY2U6IHByb2MKK3RhcmdldDogL3Byb2MKK2ZzdHlwZTogcHJvYworb3B0c3RyOiBkZWZhdWx0cworLS0tLS0tIGZzOgorc291cmNlOiAvZGV2L21hcHBlci9mb28KK3RhcmdldDogL2hvbWUvZm9vCitmc3R5cGU6IGV4dDQKK29wdHN0cjogbm9hdGltZSxkZWZhdWx0cworVkZTLW9wdHN0cjogbm9hdGltZQorLS0tLS0tIGZzOgorc291cmNlOiBmb28uY29tOi9tbnQvc2hhcmUKK3RhcmdldDogL21udC9yZW1vdGUKK2ZzdHlwZTogbmZzCitvcHRzdHI6IG5vYXV0bwordXNlci1vcHRzdHI6IG5vYXV0bworLS0tLS0tIGZzOgorc291cmNlOiAvL2Jhci5jb20vZ29nb2dvCit0YXJnZXQ6IC9tbnQvZ29nb2dvCitmc3R5cGU6IGNpZnMKK29wdHN0cjogdXNlcj1TUkdST1VQL2JhYnksbm9hdXRvCit1c2VyLW9wdHN0cjogdXNlcj1TUkdST1VQL2JhYnksbm9hdXRvCistLS0tLS0gZnM6Citzb3VyY2U6IC9kZXYvZm9vCit0YXJnZXQ6IC9hbnkvZm9vLworZnN0eXBlOiBhdXRvCitvcHRzdHI6IGRlZmF1bHRzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1weS1wYXJzZS1mc3RhYi1icm9rZW4gYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1weS1wYXJzZS1mc3RhYi1icm9rZW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjgzOGZiYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXB5LXBhcnNlLWZzdGFiLWJyb2tlbgpAQCAtMCwwICsxLDYzIEBACisKKworLS0tLS0tIGZzOgorc291cmNlOiBVVUlEPWQzYThmNzgzLWRmNzUtNGRjOC05MTYzLTk3NWE4OTEwNTJjMAordGFyZ2V0OiAvCitmc3R5cGU6IGV4dDMKK29wdHN0cjogbm9hdGltZSxkZWZhdWx0cworVkZTLW9wdHN0cjogbm9hdGltZQorZnJlcTogICAxCitwYXNzOiAgIDEKKy0tLS0tLSBmczoKK3NvdXJjZTogVVVJRD1mZWY3Y2NiMy04MjFjLTRkZTgtODhkYy03MTQ3MmJlNTk0NmYKK3RhcmdldDogL2Jvb3QKK2ZzdHlwZTogZXh0Mworb3B0c3RyOiBub2F0aW1lLGRlZmF1bHRzCitWRlMtb3B0c3RyOiBub2F0aW1lCitmcmVxOiAgIDEKK3Bhc3M6ICAgMgorLS0tLS0tIGZzOgorc291cmNlOiBVVUlEPTFmMmFhMzE4LTljMzQtNDYyZS04ZDI5LTI2MDgxOWZmZDY1NwordGFyZ2V0OiBzd2FwCitmc3R5cGU6IHN3YXAKK29wdHN0cjogZGVmYXVsdHMKKy0tLS0tLSBmczoKK3NvdXJjZTogdG1wZnMKK3RhcmdldDogL2Rldi9zaG0KK2ZzdHlwZTogdG1wZnMKK29wdHN0cjogZGVmYXVsdHMKKy0tLS0tLSBmczoKK3NvdXJjZTogZGV2cHRzCit0YXJnZXQ6IC9kZXYvcHRzCitmc3R5cGU6IGRldnB0cworb3B0c3RyOiBnaWQ9NSxtb2RlPTYyMAorRlMtb3BzdHI6IGdpZD01LG1vZGU9NjIwCistLS0tLS0gZnM6Citzb3VyY2U6IHN5c2ZzCit0YXJnZXQ6IC9zeXMKK2ZzdHlwZTogc3lzZnMKK29wdHN0cjogZGVmYXVsdHMKKy0tLS0tLSBmczoKK3NvdXJjZTogcHJvYwordGFyZ2V0OiAvcHJvYworZnN0eXBlOiBwcm9jCitvcHRzdHI6IGRlZmF1bHRzCistLS0tLS0gZnM6Citzb3VyY2U6IC9kZXYvbWFwcGVyL2ZvbwordGFyZ2V0OiAvaG9tZS9mb28KK2ZzdHlwZTogZXh0NAorb3B0c3RyOiBub2F0aW1lLGRlZmF1bHRzCitWRlMtb3B0c3RyOiBub2F0aW1lCitmcmVxOiAgIDEKKy0tLS0tLSBmczoKK3NvdXJjZTogZm9vLmNvbTovbW50L3NoYXJlCit0YXJnZXQ6IC9tbnQvcmVtb3RlCitmc3R5cGU6IG5mcworb3B0c3RyOiBub2F1dG8KK3VzZXItb3B0c3RyOiBub2F1dG8KKy0tLS0tLSBmczoKK3NvdXJjZTogLy9iYXIuY29tL2dvZ29nbwordGFyZ2V0OiAvbW50L2dvZ29nbworZnN0eXBlOiBjaWZzCitvcHRzdHI6IHVzZXI9U1JHUk9VUC9iYWJ5LG5vYXV0bwordXNlci1vcHRzdHI6IHVzZXI9U1JHUk9VUC9iYWJ5LG5vYXV0bwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcHktcGFyc2UtZnN0YWItZnVsbCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXB5LXBhcnNlLWZzdGFiLWZ1bGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjFjYWZmNgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXB5LXBhcnNlLWZzdGFiLWZ1bGwKQEAgLTAsMCArMSw4MyBAQAorSW5pdGlhbCBjb21tZW50OgorIiMKKyAjIHRoaXMgaXMgYSBsZWFkaW5nIGNvbW1lbnQKKyMKKworIgorLS0tLS0tIGZzOgorc291cmNlOiBVVUlEPWQzYThmNzgzLWRmNzUtNGRjOC05MTYzLTk3NWE4OTEwNTJjMAordGFyZ2V0OiAvCitmc3R5cGU6IGV4dDMKK29wdHN0cjogbm9hdGltZSxkZWZhdWx0cworVkZTLW9wdHN0cjogbm9hdGltZQorZnJlcTogICAxCitwYXNzOiAgIDEKK2NvbW1lbnQ6ICcjIHRoaXMgY29tbWVudHMgYmVsb25ncyB0byB0aGUgZmlyc3QgZnMKKycKKy0tLS0tLSBmczoKK3NvdXJjZTogVVVJRD1mZWY3Y2NiMy04MjFjLTRkZTgtODhkYy03MTQ3MmJlNTk0NmYKK3RhcmdldDogL2Jvb3QKK2ZzdHlwZTogZXh0Mworb3B0c3RyOiBub2F0aW1lLGRlZmF1bHRzCitWRlMtb3B0c3RyOiBub2F0aW1lCitmcmVxOiAgIDEKK3Bhc3M6ICAgMgorLS0tLS0tIGZzOgorc291cmNlOiBVVUlEPTFmMmFhMzE4LTljMzQtNDYyZS04ZDI5LTI2MDgxOWZmZDY1NwordGFyZ2V0OiBzd2FwCitmc3R5cGU6IHN3YXAKK29wdHN0cjogZGVmYXVsdHMKK2NvbW1lbnQ6ICcKKyMgM3JkIGZzIGNvbW1lbnQgKyBuZXdsaW5lIHBhZGRpbmcKKworJworLS0tLS0tIGZzOgorc291cmNlOiB0bXBmcwordGFyZ2V0OiAvZGV2L3NobQorZnN0eXBlOiB0bXBmcworb3B0c3RyOiBkZWZhdWx0cworLS0tLS0tIGZzOgorc291cmNlOiBkZXZwdHMKK3RhcmdldDogL2Rldi9wdHMKK2ZzdHlwZTogZGV2cHRzCitvcHRzdHI6IGdpZD01LG1vZGU9NjIwCitGUy1vcHN0cjogZ2lkPTUsbW9kZT02MjAKKy0tLS0tLSBmczoKK3NvdXJjZTogc3lzZnMKK3RhcmdldDogL3N5cworZnN0eXBlOiBzeXNmcworb3B0c3RyOiBkZWZhdWx0cworLS0tLS0tIGZzOgorc291cmNlOiBwcm9jCit0YXJnZXQ6IC9wcm9jCitmc3R5cGU6IHByb2MKK29wdHN0cjogZGVmYXVsdHMKKy0tLS0tLSBmczoKK3NvdXJjZTogL2Rldi9tYXBwZXIvZm9vCit0YXJnZXQ6IC9ob21lL2ZvbworZnN0eXBlOiBleHQ0CitvcHRzdHI6IG5vYXRpbWUsZGVmYXVsdHMKK1ZGUy1vcHRzdHI6IG5vYXRpbWUKK2NvbW1lbnQ6ICcjIHRoaXMgaXMgY29tbWVudAorJworLS0tLS0tIGZzOgorc291cmNlOiBmb28uY29tOi9tbnQvc2hhcmUKK3RhcmdldDogL21udC9yZW1vdGUKK2ZzdHlwZTogbmZzCitvcHRzdHI6IG5vYXV0bwordXNlci1vcHRzdHI6IG5vYXV0bworLS0tLS0tIGZzOgorc291cmNlOiAvL2Jhci5jb20vZ29nb2dvCit0YXJnZXQ6IC9tbnQvZ29nb2dvCitmc3R5cGU6IGNpZnMKK29wdHN0cjogdXNlcj1TUkdST1VQL2JhYnksbm9hdXRvCit1c2VyLW9wdHN0cjogdXNlcj1TUkdST1VQL2JhYnksbm9hdXRvCistLS0tLS0gZnM6Citzb3VyY2U6IC9kZXYvZm9vCit0YXJnZXQ6IC9hbnkvZm9vLworZnN0eXBlOiBhdXRvCitvcHRzdHI6IGRlZmF1bHRzCitUcmFpbGluZyBjb21tZW50OgorIgorI3RoaXMgaXMgYSB0cmFpbGluZyBjb21tZW50CisiCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1weS1wYXJzZS1tb3VudGluZm8gYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1weS1wYXJzZS1tb3VudGluZm8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzgzOTBhYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXB5LXBhcnNlLW1vdW50aW5mbwpAQCAtMCwwICsxLDM2MyBAQAorLS0tLS0tIGZzOgorc291cmNlOiAvcHJvYwordGFyZ2V0OiAvcHJvYworZnN0eXBlOiBwcm9jCitvcHRzdHI6IHJ3LHJlbGF0aW1lCitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3Cityb290OiAgIC8KK2lkOiAgICAgMTUKK3BhcmVudDogMjAKK2Rldm5vOiAgMDozCistLS0tLS0gZnM6Citzb3VyY2U6IC9zeXMKK3RhcmdldDogL3N5cworZnN0eXBlOiBzeXNmcworb3B0c3RyOiBydyxyZWxhdGltZQorVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBydworcm9vdDogICAvCitpZDogICAgIDE2CitwYXJlbnQ6IDIwCitkZXZubzogIDA6MTUKKy0tLS0tLSBmczoKK3NvdXJjZTogdWRldgordGFyZ2V0OiAvZGV2Citmc3R5cGU6IGRldnRtcGZzCitvcHRzdHI6IHJ3LHJlbGF0aW1lLHNpemU9MTk4MzUxNmssbnJfaW5vZGVzPTQ5NTg3OSxtb2RlPTc1NQorVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBydyxzaXplPTE5ODM1MTZrLG5yX2lub2Rlcz00OTU4NzksbW9kZT03NTUKK3Jvb3Q6ICAgLworaWQ6ICAgICAxNworcGFyZW50OiAyMAorZGV2bm86ICAwOjUKKy0tLS0tLSBmczoKK3NvdXJjZTogZGV2cHRzCit0YXJnZXQ6IC9kZXYvcHRzCitmc3R5cGU6IGRldnB0cworb3B0c3RyOiBydyxyZWxhdGltZSxnaWQ9NSxtb2RlPTYyMCxwdG14bW9kZT0wMDAKK1ZGUy1vcHRzdHI6IHJ3LHJlbGF0aW1lCitGUy1vcHN0cjogcncsZ2lkPTUsbW9kZT02MjAscHRteG1vZGU9MDAwCityb290OiAgIC8KK2lkOiAgICAgMTgKK3BhcmVudDogMTcKK2Rldm5vOiAgMDoxMAorLS0tLS0tIGZzOgorc291cmNlOiB0bXBmcwordGFyZ2V0OiAvZGV2L3NobQorZnN0eXBlOiB0bXBmcworb3B0c3RyOiBydyxyZWxhdGltZQorVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBydworcm9vdDogICAvCitpZDogICAgIDE5CitwYXJlbnQ6IDE3CitkZXZubzogIDA6MTYKKy0tLS0tLSBmczoKK3NvdXJjZTogL2Rldi9zZGE0Cit0YXJnZXQ6IC8KK2ZzdHlwZTogZXh0Mworb3B0c3RyOiBydyxub2F0aW1lLGVycm9ycz1jb250aW51ZSx1c2VyX3hhdHRyLGFjbCxiYXJyaWVyPTAsZGF0YT1vcmRlcmVkCitWRlMtb3B0c3RyOiBydyxub2F0aW1lCitGUy1vcHN0cjogcncsZXJyb3JzPWNvbnRpbnVlLHVzZXJfeGF0dHIsYWNsLGJhcnJpZXI9MCxkYXRhPW9yZGVyZWQKK3Jvb3Q6ICAgLworaWQ6ICAgICAyMAorcGFyZW50OiAxCitkZXZubzogIDg6NAorLS0tLS0tIGZzOgorc291cmNlOiB0bXBmcwordGFyZ2V0OiAvc3lzL2ZzL2Nncm91cAorZnN0eXBlOiB0bXBmcworb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLG1vZGU9NzU1CitWRlMtb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCitGUy1vcHN0cjogcncsbW9kZT03NTUKK3Jvb3Q6ICAgLworaWQ6ICAgICAyMQorcGFyZW50OiAxNgorZGV2bm86ICAwOjE3CistLS0tLS0gZnM6Citzb3VyY2U6IGNncm91cAordGFyZ2V0OiAvc3lzL2ZzL2Nncm91cC9zeXN0ZW1kCitmc3R5cGU6IGNncm91cAorb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLHJlbGVhc2VfYWdlbnQ9L2xpYi9zeXN0ZW1kL3N5c3RlbWQtY2dyb3Vwcy1hZ2VudCxuYW1lPXN5c3RlbWQKK1ZGUy1vcHRzdHI6IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUKK0ZTLW9wc3RyOiBydyxyZWxlYXNlX2FnZW50PS9saWIvc3lzdGVtZC9zeXN0ZW1kLWNncm91cHMtYWdlbnQsbmFtZT1zeXN0ZW1kCityb290OiAgIC8KK2lkOiAgICAgMjIKK3BhcmVudDogMjEKK2Rldm5vOiAgMDoxOAorLS0tLS0tIGZzOgorc291cmNlOiBjZ3JvdXAKK3RhcmdldDogL3N5cy9mcy9jZ3JvdXAvY3B1c2V0Citmc3R5cGU6IGNncm91cAorb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLGNwdXNldAorVkZTLW9wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3LGNwdXNldAorcm9vdDogICAvCitpZDogICAgIDIzCitwYXJlbnQ6IDIxCitkZXZubzogIDA6MTkKKy0tLS0tLSBmczoKK3NvdXJjZTogY2dyb3VwCit0YXJnZXQ6IC9zeXMvZnMvY2dyb3VwL25zCitmc3R5cGU6IGNncm91cAorb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLG5zCitWRlMtb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCitGUy1vcHN0cjogcncsbnMKK3Jvb3Q6ICAgLworaWQ6ICAgICAyNAorcGFyZW50OiAyMQorZGV2bm86ICAwOjIwCistLS0tLS0gZnM6Citzb3VyY2U6IGNncm91cAordGFyZ2V0OiAvc3lzL2ZzL2Nncm91cC9jcHUKK2ZzdHlwZTogY2dyb3VwCitvcHRzdHI6IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsY3B1CitWRlMtb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCitGUy1vcHN0cjogcncsY3B1Cityb290OiAgIC8KK2lkOiAgICAgMjUKK3BhcmVudDogMjEKK2Rldm5vOiAgMDoyMQorLS0tLS0tIGZzOgorc291cmNlOiBjZ3JvdXAKK3RhcmdldDogL3N5cy9mcy9jZ3JvdXAvY3B1YWNjdAorZnN0eXBlOiBjZ3JvdXAKK29wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxjcHVhY2N0CitWRlMtb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCitGUy1vcHN0cjogcncsY3B1YWNjdAorcm9vdDogICAvCitpZDogICAgIDI2CitwYXJlbnQ6IDIxCitkZXZubzogIDA6MjIKKy0tLS0tLSBmczoKK3NvdXJjZTogY2dyb3VwCit0YXJnZXQ6IC9zeXMvZnMvY2dyb3VwL21lbW9yeQorZnN0eXBlOiBjZ3JvdXAKK29wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxtZW1vcnkKK1ZGUy1vcHRzdHI6IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUKK0ZTLW9wc3RyOiBydyxtZW1vcnkKK3Jvb3Q6ICAgLworaWQ6ICAgICAyNworcGFyZW50OiAyMQorZGV2bm86ICAwOjIzCistLS0tLS0gZnM6Citzb3VyY2U6IGNncm91cAordGFyZ2V0OiAvc3lzL2ZzL2Nncm91cC9kZXZpY2VzCitmc3R5cGU6IGNncm91cAorb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLGRldmljZXMKK1ZGUy1vcHRzdHI6IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUKK0ZTLW9wc3RyOiBydyxkZXZpY2VzCityb290OiAgIC8KK2lkOiAgICAgMjgKK3BhcmVudDogMjEKK2Rldm5vOiAgMDoyNAorLS0tLS0tIGZzOgorc291cmNlOiBjZ3JvdXAKK3RhcmdldDogL3N5cy9mcy9jZ3JvdXAvZnJlZXplcgorZnN0eXBlOiBjZ3JvdXAKK29wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxmcmVlemVyCitWRlMtb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCitGUy1vcHN0cjogcncsZnJlZXplcgorcm9vdDogICAvCitpZDogICAgIDI5CitwYXJlbnQ6IDIxCitkZXZubzogIDA6MjUKKy0tLS0tLSBmczoKK3NvdXJjZTogY2dyb3VwCit0YXJnZXQ6IC9zeXMvZnMvY2dyb3VwL25ldF9jbHMKK2ZzdHlwZTogY2dyb3VwCitvcHRzdHI6IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsbmV0X2NscworVkZTLW9wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3LG5ldF9jbHMKK3Jvb3Q6ICAgLworaWQ6ICAgICAzMAorcGFyZW50OiAyMQorZGV2bm86ICAwOjI2CistLS0tLS0gZnM6Citzb3VyY2U6IGNncm91cAordGFyZ2V0OiAvc3lzL2ZzL2Nncm91cC9ibGtpbworZnN0eXBlOiBjZ3JvdXAKK29wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxibGtpbworVkZTLW9wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3LGJsa2lvCityb290OiAgIC8KK2lkOiAgICAgMzEKK3BhcmVudDogMjEKK2Rldm5vOiAgMDoyNworLS0tLS0tIGZzOgorc291cmNlOiBzeXN0ZW1kLTEKK3RhcmdldDogL3N5cy9rZXJuZWwvc2VjdXJpdHkKK2ZzdHlwZTogYXV0b2ZzCitvcHRzdHI6IHJ3LHJlbGF0aW1lLGZkPTIyLHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3LGZkPTIyLHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0Cityb290OiAgIC8KK2lkOiAgICAgMzIKK3BhcmVudDogMTYKK2Rldm5vOiAgMDoyOAorLS0tLS0tIGZzOgorc291cmNlOiBzeXN0ZW1kLTEKK3RhcmdldDogL2Rldi9odWdlcGFnZXMKK2ZzdHlwZTogYXV0b2ZzCitvcHRzdHI6IHJ3LHJlbGF0aW1lLGZkPTIzLHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3LGZkPTIzLHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0Cityb290OiAgIC8KK2lkOiAgICAgMzMKK3BhcmVudDogMTcKK2Rldm5vOiAgMDoyOQorLS0tLS0tIGZzOgorc291cmNlOiBzeXN0ZW1kLTEKK3RhcmdldDogL3N5cy9rZXJuZWwvZGVidWcKK2ZzdHlwZTogYXV0b2ZzCitvcHRzdHI6IHJ3LHJlbGF0aW1lLGZkPTI0LHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3LGZkPTI0LHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0Cityb290OiAgIC8KK2lkOiAgICAgMzQKK3BhcmVudDogMTYKK2Rldm5vOiAgMDozMAorLS0tLS0tIGZzOgorc291cmNlOiBzeXN0ZW1kLTEKK3RhcmdldDogL3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjCitmc3R5cGU6IGF1dG9mcworb3B0c3RyOiBydyxyZWxhdGltZSxmZD0yNSxwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBydyxmZD0yNSxwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorcm9vdDogICAvCitpZDogICAgIDM1CitwYXJlbnQ6IDE1CitkZXZubzogIDA6MzEKKy0tLS0tLSBmczoKK3NvdXJjZTogc3lzdGVtZC0xCit0YXJnZXQ6IC9kZXYvbXF1ZXVlCitmc3R5cGU6IGF1dG9mcworb3B0c3RyOiBydyxyZWxhdGltZSxmZD0yNixwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBydyxmZD0yNixwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorcm9vdDogICAvCitpZDogICAgIDM2CitwYXJlbnQ6IDE3CitkZXZubzogIDA6MzIKKy0tLS0tLSBmczoKK3NvdXJjZTogL3Byb2MvYnVzL3VzYgordGFyZ2V0OiAvcHJvYy9idXMvdXNiCitmc3R5cGU6IHVzYmZzCitvcHRzdHI6IHJ3LHJlbGF0aW1lCitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3Cityb290OiAgIC8KK2lkOiAgICAgMzcKK3BhcmVudDogMTUKK2Rldm5vOiAgMDoxNAorLS0tLS0tIGZzOgorc291cmNlOiBodWdldGxiZnMKK3RhcmdldDogL2Rldi9odWdlcGFnZXMKK2ZzdHlwZTogaHVnZXRsYmZzCitvcHRzdHI6IHJ3LHJlbGF0aW1lCitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3Cityb290OiAgIC8KK2lkOiAgICAgMzgKK3BhcmVudDogMzMKK2Rldm5vOiAgMDozMworLS0tLS0tIGZzOgorc291cmNlOiBtcXVldWUKK3RhcmdldDogL2Rldi9tcXVldWUKK2ZzdHlwZTogbXF1ZXVlCitvcHRzdHI6IHJ3LHJlbGF0aW1lCitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3Cityb290OiAgIC8KK2lkOiAgICAgMzkKK3BhcmVudDogMzYKK2Rldm5vOiAgMDoxMgorLS0tLS0tIGZzOgorc291cmNlOiAvZGV2L3NkYTYKK3RhcmdldDogL2Jvb3QKK2ZzdHlwZTogZXh0Mworb3B0c3RyOiBydyxub2F0aW1lLGVycm9ycz1jb250aW51ZSxiYXJyaWVyPTAsZGF0YT1vcmRlcmVkCitWRlMtb3B0c3RyOiBydyxub2F0aW1lCitGUy1vcHN0cjogcncsZXJyb3JzPWNvbnRpbnVlLGJhcnJpZXI9MCxkYXRhPW9yZGVyZWQKK3Jvb3Q6ICAgLworaWQ6ICAgICA0MAorcGFyZW50OiAyMAorZGV2bm86ICA4OjYKKy0tLS0tLSBmczoKK3NvdXJjZTogL2Rldi9tYXBwZXIva3phay1ob21lCit0YXJnZXQ6IC9ob21lL2t6YWsKK2ZzdHlwZTogZXh0NAorb3B0c3RyOiBydyxub2F0aW1lLGJhcnJpZXI9MSxkYXRhPW9yZGVyZWQKK1ZGUy1vcHRzdHI6IHJ3LG5vYXRpbWUKK0ZTLW9wc3RyOiBydyxiYXJyaWVyPTEsZGF0YT1vcmRlcmVkCityb290OiAgIC8KK2lkOiAgICAgNDEKK3BhcmVudDogMjAKK2Rldm5vOiAgMjUzOjAKKy0tLS0tLSBmczoKK3NvdXJjZTogbm9uZQordGFyZ2V0OiAvcHJvYy9zeXMvZnMvYmluZm10X21pc2MKK2ZzdHlwZTogYmluZm10X21pc2MKK29wdHN0cjogcncscmVsYXRpbWUKK1ZGUy1vcHRzdHI6IHJ3LHJlbGF0aW1lCitGUy1vcHN0cjogcncKK3Jvb3Q6ICAgLworaWQ6ICAgICA0MgorcGFyZW50OiAzNQorZGV2bm86ICAwOjM0CistLS0tLS0gZnM6Citzb3VyY2U6IGZ1c2VjdGwKK3RhcmdldDogL3N5cy9mcy9mdXNlL2Nvbm5lY3Rpb25zCitmc3R5cGU6IGZ1c2VjdGwKK29wdHN0cjogcncscmVsYXRpbWUKK1ZGUy1vcHRzdHI6IHJ3LHJlbGF0aW1lCitGUy1vcHN0cjogcncKK3Jvb3Q6ICAgLworaWQ6ICAgICA0MworcGFyZW50OiAxNgorZGV2bm86ICAwOjM1CistLS0tLS0gZnM6Citzb3VyY2U6IGd2ZnMtZnVzZS1kYWVtb24KK3RhcmdldDogL2hvbWUva3phay8uZ3ZmcworZnN0eXBlOiBmdXNlLmd2ZnMtZnVzZS1kYWVtb24KK29wdHN0cjogcncsbm9zdWlkLG5vZGV2LHJlbGF0aW1lLHVzZXJfaWQ9NTAwLGdyb3VwX2lkPTUwMAorVkZTLW9wdHN0cjogcncsbm9zdWlkLG5vZGV2LHJlbGF0aW1lCitGUy1vcHN0cjogcncsdXNlcl9pZD01MDAsZ3JvdXBfaWQ9NTAwCityb290OiAgIC8KK2lkOiAgICAgNDQKK3BhcmVudDogNDEKK2Rldm5vOiAgMDozNgorLS0tLS0tIGZzOgorc291cmNlOiBzdW5ycGMKK3RhcmdldDogL3Zhci9saWIvbmZzL3JwY19waXBlZnMKK2ZzdHlwZTogcnBjX3BpcGVmcworb3B0c3RyOiBydyxyZWxhdGltZQorVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBydworcm9vdDogICAvCitpZDogICAgIDQ1CitwYXJlbnQ6IDIwCitkZXZubzogIDA6MzcKKy0tLS0tLSBmczoKK3NvdXJjZTogLy9mb28uaG9tZS9iYXIvCit0YXJnZXQ6IC9tbnQvc291bmRzCitmc3R5cGU6IGNpZnMKK29wdHN0cjogcncscmVsYXRpbWUsdW5jPVxcZm9vLmhvbWVcYmFyLHVzZXJuYW1lPWt6YWssZG9tYWluPVNSR1JPVVAsdWlkPTAsbm9mb3JjZXVpZCxnaWQ9MCxub2ZvcmNlZ2lkLGFkZHI9MTkyLjE2OC4xMTEuMSxwb3NpeHBhdGhzLHNlcnZlcmlubyxhY2wscnNpemU9MTYzODQsd3NpemU9NTczNDQKK1ZGUy1vcHRzdHI6IHJ3LHJlbGF0aW1lCitGUy1vcHN0cjogcncsdW5jPVxcZm9vLmhvbWVcYmFyLHVzZXJuYW1lPWt6YWssZG9tYWluPVNSR1JPVVAsdWlkPTAsbm9mb3JjZXVpZCxnaWQ9MCxub2ZvcmNlZ2lkLGFkZHI9MTkyLjE2OC4xMTEuMSxwb3NpeHBhdGhzLHNlcnZlcmlubyxhY2wscnNpemU9MTYzODQsd3NpemU9NTczNDQKK3Jvb3Q6ICAgLworaWQ6ICAgICA0NworcGFyZW50OiAyMAorZGV2bm86ICAwOjM4CistLS0tLS0gZnM6Citzb3VyY2U6IC9mb29vb28KK3RhcmdldDogL21udC9mb28KK2ZzdHlwZTogYmFyCitvcHRzdHI6IHJ3LHJlbGF0aW1lCitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3Cityb290OiAgIC8KK2lkOiAgICAgNDgKK3BhcmVudDogMjAKK2Rldm5vOiAgMDozOQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcHktcGFyc2UtbXRhYiBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXB5LXBhcnNlLW10YWIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTNmNDg0OQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXB5LXBhcnNlLW10YWIKQEAgLTAsMCArMSw3NSBAQAorLS0tLS0tIGZzOgorc291cmNlOiAvZGV2L3NkYTQKK3RhcmdldDogLworZnN0eXBlOiBleHQzCitvcHRzdHI6IHJ3LG5vYXRpbWUKK1ZGUy1vcHRzdHI6IHJ3LG5vYXRpbWUKKy0tLS0tLSBmczoKK3NvdXJjZTogcHJvYwordGFyZ2V0OiAvcHJvYworZnN0eXBlOiBwcm9jCitvcHRzdHI6IHJ3CitWRlMtb3B0c3RyOiBydworLS0tLS0tIGZzOgorc291cmNlOiBzeXNmcwordGFyZ2V0OiAvc3lzCitmc3R5cGU6IHN5c2ZzCitvcHRzdHI6IHJ3CitWRlMtb3B0c3RyOiBydworLS0tLS0tIGZzOgorc291cmNlOiBkZXZwdHMKK3RhcmdldDogL2Rldi9wdHMKK2ZzdHlwZTogZGV2cHRzCitvcHRzdHI6IHJ3LGdpZD01LG1vZGU9NjIwCitWRlMtb3B0c3RyOiBydworRlMtb3BzdHI6IGdpZD01LG1vZGU9NjIwCistLS0tLS0gZnM6Citzb3VyY2U6IHRtcGZzCit0YXJnZXQ6IC9kZXYvc2htCitmc3R5cGU6IHRtcGZzCitvcHRzdHI6IHJ3CitWRlMtb3B0c3RyOiBydworLS0tLS0tIGZzOgorc291cmNlOiAvZGV2L3NkYTYKK3RhcmdldDogL2Jvb3QKK2ZzdHlwZTogZXh0Mworb3B0c3RyOiBydyxub2F0aW1lCitWRlMtb3B0c3RyOiBydyxub2F0aW1lCistLS0tLS0gZnM6Citzb3VyY2U6IC9kZXYvbWFwcGVyL2t6YWstaG9tZQordGFyZ2V0OiAvaG9tZS9remFrCitmc3R5cGU6IGV4dDQKK29wdHN0cjogcncsbm9hdGltZQorVkZTLW9wdHN0cjogcncsbm9hdGltZQorLS0tLS0tIGZzOgorc291cmNlOiBub25lCit0YXJnZXQ6IC9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYworZnN0eXBlOiBiaW5mbXRfbWlzYworb3B0c3RyOiBydworVkZTLW9wdHN0cjogcncKKy0tLS0tLSBmczoKK3NvdXJjZTogZnVzZWN0bAordGFyZ2V0OiAvc3lzL2ZzL2Z1c2UvY29ubmVjdGlvbnMKK2ZzdHlwZTogZnVzZWN0bAorb3B0c3RyOiBydworVkZTLW9wdHN0cjogcncKKy0tLS0tLSBmczoKK3NvdXJjZTogZ3Zmcy1mdXNlLWRhZW1vbgordGFyZ2V0OiAvaG9tZS9remFrLy5ndmZzCitmc3R5cGU6IGZ1c2UuZ3Zmcy1mdXNlLWRhZW1vbgorb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsdXNlcj1remFrCitWRlMtb3B0c3RyOiBydyxub3N1aWQsbm9kZXYKK3VzZXItb3B0c3RyOiB1c2VyPWt6YWsKKy0tLS0tLSBmczoKK3NvdXJjZTogc3VucnBjCit0YXJnZXQ6IC92YXIvbGliL25mcy9ycGNfcGlwZWZzCitmc3R5cGU6IHJwY19waXBlZnMKK29wdHN0cjogcncKK1ZGUy1vcHRzdHI6IHJ3CistLS0tLS0gZnM6Citzb3VyY2U6IG5vbmUKK3RhcmdldDogL3Zhci90bXAvCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJLwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCS8JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkvCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJLwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCS8JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkvCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJLwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCS8JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkvCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJLwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCS8JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkvCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJLwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCS8JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkKK2ZzdHlwZTogb3ZlcmxheQorb3B0c3RyOiBydyxyZWxhdGltZSxsb3dlcmRpcj1sb3dlcix1cHBlcmRpcj11cHBlcix3b3JrZGlyPXdvcmsKK1ZGUy1vcHRzdHI6IHJ3LHJlbGF0aW1lCitGUy1vcHN0cjogbG93ZXJkaXI9bG93ZXIsdXBwZXJkaXI9dXBwZXIsd29ya2Rpcj13b3JrCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy10YWdzLWZzdGFiLWRldiBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtZnN0YWItZGV2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyM2ExOWMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy10YWdzLWZzdGFiLWRldgpAQCAtMCwwICsxLDUgQEAKKy0tLS0tLSBmczoKKwordGFyZ2V0OiAvbW50L21vdW50cG9pbnQzCitmc3R5cGU6IGF1dG8KK29wdHN0cjogZGVmYXVsdHMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtZnN0YWItZGV2MmxhYmVsIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtdGFncy1mc3RhYi1kZXYybGFiZWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzhkMDRhNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtZnN0YWItZGV2MmxhYmVsCkBAIC0wLDAgKzEsNSBAQAorLS0tLS0tIGZzOgorc291cmNlOiBMQUJFTD10ZXN0TGlibW91bnQKK3RhcmdldDogL21udC9tb3VudHBvaW50Citmc3R5cGU6IGF1dG8KK29wdHN0cjogZGVmYXVsdHMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtZnN0YWItbGFiZWwgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy10YWdzLWZzdGFiLWxhYmVsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4ZDA0YTQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy10YWdzLWZzdGFiLWxhYmVsCkBAIC0wLDAgKzEsNSBAQAorLS0tLS0tIGZzOgorc291cmNlOiBMQUJFTD10ZXN0TGlibW91bnQKK3RhcmdldDogL21udC9tb3VudHBvaW50Citmc3R5cGU6IGF1dG8KK29wdHN0cjogZGVmYXVsdHMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtZnN0YWItbGFiZWwyZGV2IGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtdGFncy1mc3RhYi1sYWJlbDJkZXYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzhkMDRhNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtZnN0YWItbGFiZWwyZGV2CkBAIC0wLDAgKzEsNSBAQAorLS0tLS0tIGZzOgorc291cmNlOiBMQUJFTD10ZXN0TGlibW91bnQKK3RhcmdldDogL21udC9tb3VudHBvaW50Citmc3R5cGU6IGF1dG8KK29wdHN0cjogZGVmYXVsdHMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtZnN0YWItbGFiZWwydXVpZCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtZnN0YWItbGFiZWwydXVpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OGQwNGE0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtdGFncy1mc3RhYi1sYWJlbDJ1dWlkCkBAIC0wLDAgKzEsNSBAQAorLS0tLS0tIGZzOgorc291cmNlOiBMQUJFTD10ZXN0TGlibW91bnQKK3RhcmdldDogL21udC9tb3VudHBvaW50Citmc3R5cGU6IGF1dG8KK29wdHN0cjogZGVmYXVsdHMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtZnN0YWItdXVpZCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtZnN0YWItdXVpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42N2Q0ZTdiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtdGFncy1mc3RhYi11dWlkCkBAIC0wLDAgKzEsNSBAQAorLS0tLS0tIGZzOgorc291cmNlOiBVVUlEPWRlMWJjNmU5LTM0YWItNDE1MS1hMWQ3LTkwMDA0MmVlZThkOQordGFyZ2V0OiAvbW50L21vdW50cG9pbnQyCitmc3R5cGU6IGF1dG8KK29wdHN0cjogZGVmYXVsdHMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtcHktZnN0YWItZGV2IGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtdGFncy1weS1mc3RhYi1kZXYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODIzYTE5YwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtcHktZnN0YWItZGV2CkBAIC0wLDAgKzEsNSBAQAorLS0tLS0tIGZzOgorCit0YXJnZXQ6IC9tbnQvbW91bnRwb2ludDMKK2ZzdHlwZTogYXV0bworb3B0c3RyOiBkZWZhdWx0cwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtdGFncy1weS1mc3RhYi1kZXYybGFiZWwgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy10YWdzLXB5LWZzdGFiLWRldjJsYWJlbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OGQwNGE0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtdGFncy1weS1mc3RhYi1kZXYybGFiZWwKQEAgLTAsMCArMSw1IEBACistLS0tLS0gZnM6Citzb3VyY2U6IExBQkVMPXRlc3RMaWJtb3VudAordGFyZ2V0OiAvbW50L21vdW50cG9pbnQKK2ZzdHlwZTogYXV0bworb3B0c3RyOiBkZWZhdWx0cwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtdGFncy1weS1mc3RhYi1sYWJlbCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtcHktZnN0YWItbGFiZWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzhkMDRhNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtcHktZnN0YWItbGFiZWwKQEAgLTAsMCArMSw1IEBACistLS0tLS0gZnM6Citzb3VyY2U6IExBQkVMPXRlc3RMaWJtb3VudAordGFyZ2V0OiAvbW50L21vdW50cG9pbnQKK2ZzdHlwZTogYXV0bworb3B0c3RyOiBkZWZhdWx0cwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtdGFncy1weS1mc3RhYi1sYWJlbDJkZXYgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy10YWdzLXB5LWZzdGFiLWxhYmVsMmRldgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OGQwNGE0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtdGFncy1weS1mc3RhYi1sYWJlbDJkZXYKQEAgLTAsMCArMSw1IEBACistLS0tLS0gZnM6Citzb3VyY2U6IExBQkVMPXRlc3RMaWJtb3VudAordGFyZ2V0OiAvbW50L21vdW50cG9pbnQKK2ZzdHlwZTogYXV0bworb3B0c3RyOiBkZWZhdWx0cwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtdGFncy1weS1mc3RhYi1sYWJlbDJ1dWlkIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtdGFncy1weS1mc3RhYi1sYWJlbDJ1dWlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4ZDA0YTQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy10YWdzLXB5LWZzdGFiLWxhYmVsMnV1aWQKQEAgLTAsMCArMSw1IEBACistLS0tLS0gZnM6Citzb3VyY2U6IExBQkVMPXRlc3RMaWJtb3VudAordGFyZ2V0OiAvbW50L21vdW50cG9pbnQKK2ZzdHlwZTogYXV0bworb3B0c3RyOiBkZWZhdWx0cwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtdGFncy1weS1mc3RhYi11dWlkIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtdGFncy1weS1mc3RhYi11dWlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3ZDRlN2IKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy10YWdzLXB5LWZzdGFiLXV1aWQKQEAgLTAsMCArMSw1IEBACistLS0tLS0gZnM6Citzb3VyY2U6IFVVSUQ9ZGUxYmM2ZTktMzRhYi00MTUxLWExZDctOTAwMDQyZWVlOGQ5Cit0YXJnZXQ6IC9tbnQvbW91bnRwb2ludDIKK2ZzdHlwZTogYXV0bworb3B0c3RyOiBkZWZhdWx0cwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXBkYXRlLWZzdGFiLWFkZCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3VwZGF0ZS1mc3RhYi1hZGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmIzNmQ1OAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3VwZGF0ZS1mc3RhYi1hZGQKQEAgLTAsMCArMSwzIEBACisvZGV2L3NkYTEgL21udC9mb28gZXh0MyBydyxiYmIsY2NjLGZmZj1GRkYsZGRkLG5vZXhlYyAxIDIKKy9kZXYvc2RhMiAvbW50L2JhciBhdXRvIGRlZmF1bHRzIDEgMgorL2Rldi9zZGEzIC9tbnQvYmFyIGF1dG8gcncsY29udGV4dD0ic29tZSxzZWxpbnV4LGp1bmsiLG5vYXRpbWUgMSAyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91cGRhdGUtZnN0YWItcmVwbGFjZSBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3VwZGF0ZS1mc3RhYi1yZXBsYWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjOGQxZGYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91cGRhdGUtZnN0YWItcmVwbGFjZQpAQCAtMCwwICsxLDI0IEBACisjCisgIyB0aGlzIGlzIGEgbGVhZGluZyBjb21tZW50CisjCisKKyMgdGhpcyBjb21tZW50cyBiZWxvbmdzIHRvIHRoZSBmaXJzdCBmcworVVVJRD1kM2E4Zjc4My1kZjc1LTRkYzgtOTE2My05NzVhODkxMDUyYzAgLyBleHQzIG5vYXRpbWUsZGVmYXVsdHMgMSAxCitVVUlEPWZlZjdjY2IzLTgyMWMtNGRlOC04OGRjLTcxNDcyYmU1OTQ2ZiAvYm9vdCBleHQzIG5vYXRpbWUsZGVmYXVsdHMgMSAyCisKKyMgM3JkIGZzIGNvbW1lbnQgKyBuZXdsaW5lIHBhZGRpbmcKKworVVVJRD0xZjJhYTMxOC05YzM0LTQ2MmUtOGQyOS0yNjA4MTlmZmQ2NTcgc3dhcCBzd2FwIGRlZmF1bHRzIDAgMAordG1wZnMgL2Rldi9zaG0gdG1wZnMgZGVmYXVsdHMgMCAwCitkZXZwdHMgL2Rldi9wdHMgZGV2cHRzIGdpZD01LG1vZGU9NjIwIDAgMAorc3lzZnMgL3N5cyBzeXNmcyBkZWZhdWx0cyAwIDAKK3Byb2MgL3Byb2MgcHJvYyBkZWZhdWx0cyAwIDAKKyMgdGhpcyBpcyBjb21tZW50CisvZGV2L21hcHBlci9mb28gL2hvbWUvZm9vIGV4dDQgbm9hdGltZSxkZWZhdWx0cyAwIDAKK2Zvby5jb206L21udC9zaGFyZSAvbW50L3JlbW90ZSBuZnMgbm9hdXRvIDAgMAorLy9iYXIuY29tL2dvZ29nbyAvbW50L2dvZ29nbyBjaWZzIHVzZXI9U1JHUk9VUC9iYWJ5LG5vYXV0byAwIDAKKy9kZXYvZm9vIC9hbnkvZm9vLyBhdXRvIGRlZmF1bHRzIDAgMAorIyB0aGlzIGlzIG5ldyBmaWxlc3lzdGVtCitMQUJFTD1mb28gL21udC9mb28gbm9uZSBydyAwIDAKKworI3RoaXMgaXMgYSB0cmFpbGluZyBjb21tZW50CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91cGRhdGUtbXRhYi1tb3VudCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3VwZGF0ZS1tdGFiLW1vdW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmZGY3YzEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91cGRhdGUtbXRhYi1tb3VudApAQCAtMCwwICsxLDUgQEAKKy9kZXYvc2RhMSAvbW50L2ZvbyBleHQzIHJ3LG5vZXhlYyxiYmIsY2NjLGZmZj1GRkYsZGRkIDAgMAorL2Rldi9zZGIxIC9tbnQvYmFyIGV4dDMgcm8sbm9hdGltZSxnZz1HLGZmZmY9ZiAwIDAKKy9kZXYvc2RhMiAvbW50L2JhciBleHQzIHJ3LG5vYXRpbWUgMCAwCisvZGV2L3NkYTEgL21udC9nb2dvIGV4dDMgcncsbm9hdGltZSxub3N1aWQgMCAwCitub25lIC9wcm9jIHByb2MgcncgMCAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91cGRhdGUtbXRhYi1tb3ZlIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXBkYXRlLW10YWItbW92ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTg1YjZiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXBkYXRlLW10YWItbW92ZQpAQCAtMCwwICsxLDUgQEAKKy9kZXYvc2RhMSAvbW50L25ld2ZvbyBleHQzIHJ3LG5vZXhlYyxiYmIsY2NjLGZmZj1GRkYsZGRkIDAgMAorL2Rldi9zZGIxIC9tbnQvYmFyIGV4dDMgcm8sbm9hdGltZSxnZz1HLGZmZmY9ZiAwIDAKKy9kZXYvc2RhMiAvbW50L25ld2JhciBleHQzIHJ3LG5vYXRpbWUgMCAwCisvZGV2L3NkYTEgL21udC9nb2dvIGV4dDMgcncsbm9hdGltZSxub3N1aWQgMCAwCitub25lIC9wcm9jIHByb2MgcncgMCAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91cGRhdGUtbXRhYi1yZW1vdW50IGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXBkYXRlLW10YWItcmVtb3VudApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMzk3YjIzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXBkYXRlLW10YWItcmVtb3VudApAQCAtMCwwICsxLDUgQEAKKy9kZXYvc2RhMSAvbW50L25ld2ZvbyBleHQzIHJvLG5vYXRpbWUgMCAwCisvZGV2L3NkYjEgL21udC9iYXIgZXh0MyBydyxhdGltZSxub3N1aWQgMCAwCisvZGV2L3NkYTIgL21udC9uZXdiYXIgZXh0MyBydyxub2F0aW1lIDAgMAorL2Rldi9zZGExIC9tbnQvZ29nbyBleHQzIHJ3LG5vYXRpbWUsbm9zdWlkIDAgMAorbm9uZSAvcHJvYyBwcm9jIHJ3IDAgMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXBkYXRlLW10YWItdW1vdW50IGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXBkYXRlLW10YWItdW1vdW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlMDI1NzMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91cGRhdGUtbXRhYi11bW91bnQKQEAgLTAsMCArMSwyIEBACisvZGV2L3NkYTEgL21udC9uZXdmb28gZXh0MyBybyxub2F0aW1lIDAgMAorL2Rldi9zZGEyIC9tbnQvbmV3YmFyIGV4dDMgcncsbm9hdGltZSAwIDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3VwZGF0ZS1weS1mc3RhYi1yZXBsYWNlIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXBkYXRlLXB5LWZzdGFiLXJlcGxhY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGM4ZDFkZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3VwZGF0ZS1weS1mc3RhYi1yZXBsYWNlCkBAIC0wLDAgKzEsMjQgQEAKKyMKKyAjIHRoaXMgaXMgYSBsZWFkaW5nIGNvbW1lbnQKKyMKKworIyB0aGlzIGNvbW1lbnRzIGJlbG9uZ3MgdG8gdGhlIGZpcnN0IGZzCitVVUlEPWQzYThmNzgzLWRmNzUtNGRjOC05MTYzLTk3NWE4OTEwNTJjMCAvIGV4dDMgbm9hdGltZSxkZWZhdWx0cyAxIDEKK1VVSUQ9ZmVmN2NjYjMtODIxYy00ZGU4LTg4ZGMtNzE0NzJiZTU5NDZmIC9ib290IGV4dDMgbm9hdGltZSxkZWZhdWx0cyAxIDIKKworIyAzcmQgZnMgY29tbWVudCArIG5ld2xpbmUgcGFkZGluZworCitVVUlEPTFmMmFhMzE4LTljMzQtNDYyZS04ZDI5LTI2MDgxOWZmZDY1NyBzd2FwIHN3YXAgZGVmYXVsdHMgMCAwCit0bXBmcyAvZGV2L3NobSB0bXBmcyBkZWZhdWx0cyAwIDAKK2RldnB0cyAvZGV2L3B0cyBkZXZwdHMgZ2lkPTUsbW9kZT02MjAgMCAwCitzeXNmcyAvc3lzIHN5c2ZzIGRlZmF1bHRzIDAgMAorcHJvYyAvcHJvYyBwcm9jIGRlZmF1bHRzIDAgMAorIyB0aGlzIGlzIGNvbW1lbnQKKy9kZXYvbWFwcGVyL2ZvbyAvaG9tZS9mb28gZXh0NCBub2F0aW1lLGRlZmF1bHRzIDAgMAorZm9vLmNvbTovbW50L3NoYXJlIC9tbnQvcmVtb3RlIG5mcyBub2F1dG8gMCAwCisvL2Jhci5jb20vZ29nb2dvIC9tbnQvZ29nb2dvIGNpZnMgdXNlcj1TUkdST1VQL2JhYnksbm9hdXRvIDAgMAorL2Rldi9mb28gL2FueS9mb28vIGF1dG8gZGVmYXVsdHMgMCAwCisjIHRoaXMgaXMgbmV3IGZpbGVzeXN0ZW0KK0xBQkVMPWZvbyAvbW50L2ZvbyBub25lIHJ3IDAgMAorCisjdGhpcyBpcyBhIHRyYWlsaW5nIGNvbW1lbnQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3VwZGF0ZS11dGFiLW1vdW50IGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXBkYXRlLXV0YWItbW91bnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNThhMDE3OQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3VwZGF0ZS11dGFiLW1vdW50CkBAIC0wLDAgKzEsMyBAQAorU1JDPS9kZXYvc2RiMSBUQVJHRVQ9L21udC9iYXIgUk9PVD0vIE9QVFM9dXNlcgorU1JDPS9kZXYvc2RhMiBUQVJHRVQ9L21udC94eXogUk9PVD0vIE9QVFM9bG9vcD0vZGV2L2xvb3AwLHVoZWxwZXI9aGFsCitTUkM9bm9uZSBUQVJHRVQ9L3Byb2MgUk9PVD0vIE9QVFM9dXNlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXBkYXRlLXV0YWItbW92ZSBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3VwZGF0ZS11dGFiLW1vdmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjAwODE0MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3VwZGF0ZS11dGFiLW1vdmUKQEAgLTAsMCArMSwzIEBACitTUkM9L2Rldi9zZGIxIFRBUkdFVD0vbW50L25ld2JhciBST09UPS8gT1BUUz11c2VyCitTUkM9L2Rldi9zZGEyIFRBUkdFVD0vbW50L25ld3h5eiBST09UPS8gT1BUUz1sb29wPS9kZXYvbG9vcDAsdWhlbHBlcj1oYWwKK1NSQz1ub25lIFRBUkdFVD0vcHJvYyBST09UPS8gT1BUUz11c2VyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91cGRhdGUtdXRhYi1yZW1vdW50IGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXBkYXRlLXV0YWItcmVtb3VudApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZTM0NGIzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXBkYXRlLXV0YWItcmVtb3VudApAQCAtMCwwICsxLDMgQEAKK1NSQz0vZGV2L3NkYjEgVEFSR0VUPS9tbnQvbmV3YmFyIFJPT1Q9LyBPUFRTPXVzZXIKK1NSQz0vZGV2L3NkYTIgVEFSR0VUPS9tbnQvbmV3eHl6IFJPT1Q9LyBPUFRTPXVzZXIKK1NSQz1ub25lIFRBUkdFVD0vcHJvYyBST09UPS8gT1BUUz11c2VyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91cGRhdGUtdXRhYi11bW91bnQgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91cGRhdGUtdXRhYi11bW91bnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGMwN2Q3NAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3VwZGF0ZS11dGFiLXVtb3VudApAQCAtMCwwICsxIEBACitTUkM9L2Rldi9zZGEyIFRBUkdFVD0vbW50L25ld3h5eiBST09UPS8gT1BUUz11c2VyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91dGlscy1lbmRzLXdpdGggYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91dGlscy1lbmRzLXdpdGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjAzM2E1MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLWVuZHMtd2l0aApAQCAtMCwwICsxIEBACitZRVMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLWtlcm5lbC1jbWRsaW5lIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMta2VybmVsLWNtZGxpbmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmE2MzE2NQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLWtlcm5lbC1jbWRsaW5lCkBAIC0wLDAgKzEsNSBAQAorJ3NlbGludXg9JyBmb3VuZCwgYXJndW1lbnQ6ICcwJworJ3NlbGludXgnIG5vdCBmb3VuZAorJ3JvJyBmb3VuZAorJ3JvPScgbm90IGZvdW5kCisncm9vdD0nIGZvdW5kLCBhcmd1bWVudDogJ1VVSUQ9MzMyMzBhZTItMTA5My00MzUzLTgyNGMtZjdjYTA5YTJhODgyJwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtbWF0Y2gtZnN0eXBlIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtbWF0Y2gtZnN0eXBlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3MzZlMDgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91dGlscy1tYXRjaC1mc3R5cGUKQEAgLTAsMCArMSBAQAorTUFUQ0gKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLW1hdGNoLWZzdHlwZS1uZWcgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91dGlscy1tYXRjaC1mc3R5cGUtbmVnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyNjIyMzkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91dGlscy1tYXRjaC1mc3R5cGUtbmVnCkBAIC0wLDAgKzEgQEAKK05PVC1NQVRDSApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtbWF0Y2gtZnN0eXBlLW5lZzIgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91dGlscy1tYXRjaC1mc3R5cGUtbmVnMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MjYyMjM5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtbWF0Y2gtZnN0eXBlLW5lZzIKQEAgLTAsMCArMSBAQAorTk9ULU1BVENICmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91dGlscy1tYXRjaC1vcHRpb25zIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtbWF0Y2gtb3B0aW9ucwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NzM2ZTA4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtbWF0Y2gtb3B0aW9ucwpAQCAtMCwwICsxIEBACitNQVRDSApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtbWF0Y2gtb3B0aW9ucy1saXN0IGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtbWF0Y2gtb3B0aW9ucy1saXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3MzZlMDgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91dGlscy1tYXRjaC1vcHRpb25zLWxpc3QKQEAgLTAsMCArMSBAQAorTUFUQ0gKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLW1hdGNoLW9wdGlvbnMtbmVnIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtbWF0Y2gtb3B0aW9ucy1uZWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDczNmUwOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLW1hdGNoLW9wdGlvbnMtbmVnCkBAIC0wLDAgKzEgQEAKK01BVENICmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91dGlscy1tYXRjaC1vcHRpb25zLW5lZy1saXN0IGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtbWF0Y2gtb3B0aW9ucy1uZWctbGlzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MjYyMjM5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtbWF0Y2gtb3B0aW9ucy1uZWctbGlzdApAQCAtMCwwICsxIEBACitOT1QtTUFUQ0gKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLW1hdGNoLW9wdGlvbnMtbmVnLWxpc3QyIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtbWF0Y2gtb3B0aW9ucy1uZWctbGlzdDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDczNmUwOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLW1hdGNoLW9wdGlvbnMtbmVnLWxpc3QyCkBAIC0wLDAgKzEgQEAKK01BVENICmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91dGlscy1tb3VudHBvaW50IGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtbW91bnRwb2ludApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40N2ZiMjUxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtbW91bnRwb2ludApAQCAtMCwwICsxIEBACisvcHJvYzogL3Byb2MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLW1vdW50cG9pbnQtcm9vdCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLW1vdW50cG9pbnQtcm9vdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jODZjZjBkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtbW91bnRwb2ludC1yb290CkBAIC0wLDAgKzEgQEAKKy86IC8KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLW1vdW50cG9pbnQtc3ViZGlyIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtbW91bnRwb2ludC1zdWJkaXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjIxZDMxYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLW1vdW50cG9pbnQtc3ViZGlyCkBAIC0wLDAgKzEgQEAKKy9wcm9jL3N5cy9rZXJuZWw6IC9wcm9jCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91dGlscy1zdGFydHMtd2l0aCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLXN0YXJ0cy13aXRoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwMzNhNTAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91dGlscy1zdGFydHMtd2l0aApAQCAtMCwwICsxIEBACitZRVMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZSBiL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTU1YWEzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlCkBAIC0wLDAgKzEgQEAKKy4uLmRvbmUuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtY29sdW1uLXNlcGFyYXRvciBiL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS1jb2x1bW4tc2VwYXJhdG9yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjNWFhMmEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtY29sdW1uLXNlcGFyYXRvcgpAQCAtMCwwICsxLDExIEBACitOQU1FICB8ICAgICAgTlVNfFRSVU5DCithYWFhICB8ICAgICAgICAwfHFxcXFxcXFxcXFxcXFxcXFxWAorYmJiICAgfCAgICAgIDEwMHxkZGRkZGRkZGRkZGRkWAorY2NjY2MgfCAgICAgICAyMXxmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWAorZGRkZGRkfCAgICAgICAgM3xzc3Nzc3Nzc3NzWAorZWUgICAgfCAgICAgIDQxMXxkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZFgKK2ZmZmYgIHwgICAgIDUxMTF8ampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqalgKK2dnZ2dnZ3w2Nzg5OTMzMjF8bW1tbW1tbW1tbW1tbW1tbW1tbVgKK2hoaCAgIHwgIDc2NjY2NjZ8bGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbFgKK2lpaWlpaXwgICAgIDg3NjV8eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eVgKK2pqICAgIHwgICA5ODc0NTZ8cHBwcHBwcHBwWApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLWV4cG9ydCBiL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS1leHBvcnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjYzYWZkOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS1leHBvcnQKQEAgLTAsMCArMSwxMCBAQAorTkFNRT0iYWFhYSIgTlVNPSIwIiBUUlVOQz0icXFxcXFxcXFxcXFxcXFxcXFYIgorTkFNRT0iYmJiIiBOVU09IjEwMCIgVFJVTkM9ImRkZGRkZGRkZGRkZGRYIgorTkFNRT0iY2NjY2MiIE5VTT0iMjEiIFRSVU5DPSJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWCIKK05BTUU9ImRkZGRkZCIgTlVNPSIzIiBUUlVOQz0ic3Nzc3Nzc3Nzc1giCitOQU1FPSJlZSIgTlVNPSI0MTEiIFRSVU5DPSJkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZFgiCitOQU1FPSJmZmZmIiBOVU09IjUxMTEiIFRSVU5DPSJqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqWCIKK05BTUU9ImdnZ2dnZyIgTlVNPSI2Nzg5OTMzMjEiIFRSVU5DPSJtbW1tbW1tbW1tbW1tbW1tbW1tWCIKK05BTUU9ImhoaCIgTlVNPSI3NjY2NjY2IiBUUlVOQz0ibGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbFgiCitOQU1FPSJpaWlpaWkiIE5VTT0iODc2NSIgVFJVTkM9Inl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXlYIgorTkFNRT0iamoiIE5VTT0iOTg3NDU2IiBUUlVOQz0icHBwcHBwcHBwWCIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS1oaWRkZW4gYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtaGlkZGVuCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmNTBiY2IKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtaGlkZGVuCkBAIC0wLDAgKzEsMTEgQEAKK05BTUUgICAgICAgICBOVU0KK2FhYWEgICAgICAgICAgIDAKK2JiYiAgICAgICAgICAxMDAKK2NjY2NjICAgICAgICAgMjEKK2RkZGRkZCAgICAgICAgIDMKK2VlICAgICAgICAgICA0MTEKK2ZmZmYgICAgICAgIDUxMTEKK2dnZ2dnZyA2Nzg5OTMzMjEKK2hoaCAgICAgIDc2NjY2NjYKK2lpaWlpaSAgICAgIDg3NjUKK2pqICAgICAgICA5ODc0NTYKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS1ub2V4dHJlbWVzIGIvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLW5vZXh0cmVtZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGJhYzA4MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS1ub2V4dHJlbWVzCkBAIC0wLDAgKzEsMTIgQEAKK05BTUUgICBOT0VYVFJFTUUgICAgICAgICBOVU0gTkFNRSAgICAgICAgIE5VTQorYWFhYSAgIHFxcXFxcVggICAgICAgICAgICAgMCBhYWFhICAgICAgICAgICAwCitiYmIgICAgZGRkZGRkZGRYICAgICAgICAgMTAwIGJiYiAgICAgICAgICAxMDAKK2NjY2NjICBmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWAorICAgICAgICAgICAgICAgICAgICAgICAgICAyMSBjY2NjYyAgICAgICAgIDIxCitkZGRkZGQgc3NzWCAgICAgICAgICAgICAgICAzIGRkZGRkZCAgICAgICAgIDMKK2VlICAgICBkZFggICAgICAgICAgICAgICA0MTEgZWUgICAgICAgICAgIDQxMQorZmZmZiAgIGpqampqWCAgICAgICAgICAgNTExMSBmZmZmICAgICAgICA1MTExCitnZ2dnZ2cgbW1tbW1tbVggICAgNjc4OTkzMzIxIGdnZ2dnZyA2Nzg5OTMzMjEKK2hoaCAgICBsbGxsbGxsbGxsWCAgIDc2NjY2NjYgaGhoICAgICAgNzY2NjY2NgoraWlpaWlpIHl5eXl5eVggICAgICAgICAgODc2NSBpaWlpaWkgICAgICA4NzY1CitqaiAgICAgcHBwcHBYICAgICAgICAgOTg3NDU2IGpqICAgICAgICA5ODc0NTYKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS1yYXcgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtcmF3Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjMTg4YWEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtcmF3CkBAIC0wLDAgKzEsMTEgQEAKK05BTUUgTlVNIFRSVU5DCithYWFhIDAgcXFxcXFxcXFxcXFxcXFxcXFYCitiYmIgMTAwIGRkZGRkZGRkZGRkZGRYCitjY2NjYyAyMSBmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWAorZGRkZGRkIDMgc3Nzc3Nzc3Nzc1gKK2VlIDQxMSBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZFgKK2ZmZmYgNTExMSBqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqWAorZ2dnZ2dnIDY3ODk5MzMyMSBtbW1tbW1tbW1tbW1tbW1tbW1tWAoraGhoIDc2NjY2NjYgbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbFgKK2lpaWlpaSA4NzY1IHl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXlYCitqaiA5ODc0NTYgcHBwcHBwcHBwWApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXJpZ2h0IGIvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXJpZ2h0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3ODI4NWEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtcmlnaHQKQEAgLTAsMCArMSwxMSBAQAorTkFNRSAgICAgICAgIE5VTSBTVFJJTkdTCithYWFhICAgICAgICAgICAwIHFxcXFxcXFxcXFxcXFxcXFxWAorYmJiICAgICAgICAgIDEwMCBkZGRkZGRkZGRkZGRkWAorY2NjY2MgICAgICAgICAyMSBmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWAorZGRkZGRkICAgICAgICAgMyBzc3Nzc3Nzc3NzWAorZWUgICAgICAgICAgIDQxMSBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZFgKK2ZmZmYgICAgICAgIDUxMTEgampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqalgKK2dnZ2dnZyA2Nzg5OTMzMjEgbW1tbW1tbW1tbW1tbW1tbW1tbVgKK2hoaCAgICAgIDc2NjY2NjYgbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbFgKK2lpaWlpaSAgICAgIDg3NjUgeXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eVgKK2pqICAgICAgICA5ODc0NTYgcHBwcHBwcHBwWApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXJpZ2h0LW1heG91dCBiL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS1yaWdodC1tYXhvdXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2JjYjY1YQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS1yaWdodC1tYXhvdXQKQEAgLTAsMCArMSwxMSBAQAorTkFNRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVU0KK2FhYWEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCitiYmIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMAorY2NjY2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjEKK2RkZGRkZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzCitlZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQxMQorZmZmZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUxMTEKK2dnZ2dnZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNjc4OTkzMzIxCitoaGggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNzY2NjY2NgoraWlpaWlpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDg3NjUKK2pqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOTg3NDU2CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtc3RyaWN0d2lkdGggYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtc3RyaWN0d2lkdGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDEwNTRiMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS1zdHJpY3R3aWR0aApAQCAtMCwwICsxLDExIEBACitOQU1FICAgICAgICAgICAgICAgICBTVFJJQ1QgICAgICAgTlVNCithYWFhICAgICAgICAgICAgICAgICAgICAgIDAgICAgICAgICAwCitiYmIgICAgICAgICAgICAgICAgICAgICAgIDEgICAgICAgMTAwCitjY2NjYyAgICAgICAgICAgICAgICAgICAgIDIgICAgICAgIDIxCitkZGRkZGQgICAgICAgICAgICAgICAgICAgIDMgICAgICAgICAzCitlZSAgICAgICAgICAgICAgICAgICAgICAgIDQgICAgICAgNDExCitmZmZmICAgICAgICAgICAgICAgICAgICAgIDUgICAgICA1MTExCitnZ2dnZ2cgICAgICAgICAgICAgICAgICAgIDYgNjc4OTkzMzIxCitoaGggICAgICAgICAgICAgICAgICAgICAgIDcgICA3NjY2NjY2CitpaWlpaWkgICAgICAgICAgICAgICAgICAgIDggICAgICA4NzY1CitqaiAgICAgICAgICAgICAgICAgICAgICAgIDkgICAgOTg3NDU2CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtdHJlZSBiL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS10cmVlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkMzQ1ZjgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtdHJlZQpAQCAtMCwwICsxLDExIEBACitUUkVFICAgICAgICAgICBJRCBQQVJFTlQgU1RSSU5HUworYWFhYSAgICAgICAgICAgIDEgICAgICAwIHFxcXFxcXFxcXFxcXFxcXFxWAorfC1iYmIgICAgICAgICAgIDIgICAgICAxIGRkZGRkZGRkZGRkZGRYCit8IHwtZWUgICAgICAgICAgNSAgICAgIDIgZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRYCit8IGAtZmZmZiAgICAgICAgNiAgICAgIDIgampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqalgKK3wtY2NjY2MgICAgICAgICAzICAgICAgMSBmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWAorfCBgLWdnZ2dnZyAgICAgIDcgICAgICAzIG1tbW1tbW1tbW1tbW1tbW1tbW1YCit8ICAgfC1oaGggICAgICAgOCAgICAgIDcgbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbFgKK3wgICB8IGAtaWlpaWlpICA5ICAgICAgOCB5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5WAorfCAgIGAtamogICAgICAgMTAgICAgICA3IHBwcHBwcHBwcFgKK2AtZGRkZGRkICAgICAgICA0ICAgICAgMSBzc3Nzc3Nzc3NzWApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXRyZWUtZW5kIGIvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXRyZWUtZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxYWViZmYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtdHJlZS1lbmQKQEAgLTAsMCArMSwxMSBAQAorSUQgUEFSRU5UIFNUUklOR1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSRUUKKyAxICAgICAgMCBxcXFxcXFxcXFxcXFxcXFxcVggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYWFhCisgMiAgICAgIDEgZGRkZGRkZGRkZGRkZFggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfC1iYmIKKyA1ICAgICAgMiBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZFggICAgICAgICAgICAgICAgICAgICAgICB8IHwtZWUKKyA2ICAgICAgMiBqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqWCB8IGAtZmZmZgorIDMgICAgICAxIGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZYICAgICAgICAgIHwtY2NjY2MKKyA3ICAgICAgMyBtbW1tbW1tbW1tbW1tbW1tbW1tWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGAtZ2dnZ2dnCisgOCAgICAgIDcgbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbFggICAgICAgICAgICAgfCAgIHwtaGhoCisgOSAgICAgIDggeXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eVggICAgICAgICAgICAgICAgICAgICAgfCAgIHwgYC1paWlpaWkKKzEwICAgICAgNyBwcHBwcHBwcHBYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgYC1qagorIDQgICAgICAxIHNzc3Nzc3Nzc3NYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAtZGRkZGRkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtdHJlZS1qc29uIGIvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXRyZWUtanNvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMmFhOTg2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXRyZWUtanNvbgpAQCAtMCwwICsxLDI5IEBACit7CisgICAidGVzdHRhYmxlIjogWworICAgICAgeyJ0cmVlIjogImFhYWEiLCAiaWQiOiAiMSIsICJwYXJlbnQiOiAiMCIsICJzdHJpbmdzIjogInFxcXFxcXFxcXFxcXFxcXFxWCIsCisgICAgICAgICAiY2hpbGRyZW4iOiBbCisgICAgICAgICAgICB7InRyZWUiOiAiYmJiIiwgImlkIjogIjIiLCAicGFyZW50IjogIjEiLCAic3RyaW5ncyI6ICJkZGRkZGRkZGRkZGRkWCIsCisgICAgICAgICAgICAgICAiY2hpbGRyZW4iOiBbCisgICAgICAgICAgICAgICAgICB7InRyZWUiOiAiZWUiLCAiaWQiOiAiNSIsICJwYXJlbnQiOiAiMiIsICJzdHJpbmdzIjogImRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkWCJ9LAorICAgICAgICAgICAgICAgICAgeyJ0cmVlIjogImZmZmYiLCAiaWQiOiAiNiIsICJwYXJlbnQiOiAiMiIsICJzdHJpbmdzIjogImpqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampYIn0KKyAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7InRyZWUiOiAiY2NjY2MiLCAiaWQiOiAiMyIsICJwYXJlbnQiOiAiMSIsICJzdHJpbmdzIjogImZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZYIiwKKyAgICAgICAgICAgICAgICJjaGlsZHJlbiI6IFsKKyAgICAgICAgICAgICAgICAgIHsidHJlZSI6ICJnZ2dnZ2ciLCAiaWQiOiAiNyIsICJwYXJlbnQiOiAiMyIsICJzdHJpbmdzIjogIm1tbW1tbW1tbW1tbW1tbW1tbW1YIiwKKyAgICAgICAgICAgICAgICAgICAgICJjaGlsZHJlbiI6IFsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsidHJlZSI6ICJoaGgiLCAiaWQiOiAiOCIsICJwYXJlbnQiOiAiNyIsICJzdHJpbmdzIjogImxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxYIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJjaGlsZHJlbiI6IFsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsidHJlZSI6ICJpaWlpaWkiLCAiaWQiOiAiOSIsICJwYXJlbnQiOiAiOCIsICJzdHJpbmdzIjogInl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXlYIn0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgICAgICB7InRyZWUiOiAiamoiLCAiaWQiOiAiMTAiLCAicGFyZW50IjogIjciLCAic3RyaW5ncyI6ICJwcHBwcHBwcHBYIn0KKyAgICAgICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7InRyZWUiOiAiZGRkZGRkIiwgImlkIjogIjQiLCAicGFyZW50IjogIjEiLCAic3RyaW5ncyI6ICJzc3Nzc3Nzc3NzWCJ9CisgICAgICAgICBdCisgICAgICB9CisgICBdCit9CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtdHJlZS1taWRkbGUgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtdHJlZS1taWRkbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjIxODMzMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS10cmVlLW1pZGRsZQpAQCAtMCwwICsxLDExIEBACitJRCBQQVJFTlQgVFJFRSAgICAgICAgICAgU1RSSU5HUworIDEgICAgICAwIGFhYWEgICAgICAgICAgIHFxcXFxcXFxcXFxcXFxcXFxWAorIDIgICAgICAxIHwtYmJiICAgICAgICAgIGRkZGRkZGRkZGRkZGRYCisgNSAgICAgIDIgfCB8LWVlICAgICAgICAgZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRYCisgNiAgICAgIDIgfCBgLWZmZmYgICAgICAgampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqalgKKyAzICAgICAgMSB8LWNjY2NjICAgICAgICBmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWAorIDcgICAgICAzIHwgYC1nZ2dnZ2cgICAgIG1tbW1tbW1tbW1tbW1tbW1tbW1YCisgOCAgICAgIDcgfCAgIHwtaGhoICAgICAgbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbFgKKyA5ICAgICAgOCB8ICAgfCBgLWlpaWlpaSB5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5WAorMTAgICAgICA3IHwgICBgLWpqICAgICAgIHBwcHBwcHBwcFgKKyA0ICAgICAgMSBgLWRkZGRkZCAgICAgICBzc3Nzc3Nzc3NzWApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXRydW5jIGIvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXRydW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhMDk1ZGMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtdHJ1bmMKQEAgLTAsMCArMSwxMSBAQAorTkFNRSAgICAgICAgIE5VTSBUUlVOQworYWFhYSAgICAgICAgICAgMCBxcXFxcXFxcXFxcXFxcXFxcVgKK2JiYiAgICAgICAgICAxMDAgZGRkZGRkZGRkZGRkZFgKK2NjY2NjICAgICAgICAgMjEgZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYKK2RkZGRkZCAgICAgICAgIDMgc3Nzc3Nzc3Nzc1gKK2VlICAgICAgICAgICA0MTEgZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQKK2ZmZmYgICAgICAgIDUxMTEgampqampqampqampqampqampqampqamoKK2dnZ2dnZyA2Nzg5OTMzMjEgbW1tbW1tbW1tbW1tbW1tbW1tbVgKK2hoaCAgICAgIDc2NjY2NjYgbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwKK2lpaWlpaSAgICAgIDg3NjUgeXl5eXl5eXl5eXl5eXl5eXl5eXl5eXkKK2pqICAgICAgICA5ODc0NTYgcHBwcHBwcHBwWApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXdyYXAgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtd3JhcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjk0ZjQ5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXdyYXAKQEAgLTAsMCArMSwxNyBAQAorTkFNRSAgICAgICAgIE5VTSBXUkFQCithYWFhICAgICAgICAgICAwIHFxcXFxcXFxcXFxcXFxcXFxWAorYmJiICAgICAgICAgIDEwMCBkZGRkZGRkZGRkZGRkWAorY2NjY2MgICAgICAgICAyMSBmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZgorICAgICAgICAgICAgICAgICBmZmZmZmZmZmZmZmZmZmZmZlgKK2RkZGRkZCAgICAgICAgIDMgc3Nzc3Nzc3Nzc1gKK2VlICAgICAgICAgICA0MTEgZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQKKyAgICAgICAgICAgICAgICAgZGRkWAorZmZmZiAgICAgICAgNTExMSBqampqampqampqampqampqampqampqagorICAgICAgICAgICAgICAgICBqampqampqampqampqampqampqampqagorICAgICAgICAgICAgICAgICBqampYCitnZ2dnZ2cgNjc4OTkzMzIxIG1tbW1tbW1tbW1tbW1tbW1tbW1YCitoaGggICAgICA3NjY2NjY2IGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCisgICAgICAgICAgICAgICAgIGxsbGxsbGxsbGxsbGxsWAoraWlpaWlpICAgICAgODc2NSB5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eQorICAgICAgICAgICAgICAgICB5eXl5eVgKK2pqICAgICAgICA5ODc0NTYgcHBwcHBwcHBwWApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXdyYXAtdHJlZSBiL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS13cmFwLXRyZWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTJkYjdhNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS13cmFwLXRyZWUKQEAgLTAsMCArMSwxOCBAQAorVFJFRSAgICAgICAgICAgSUQgUEFSRU5UIFdSQVAKK2FhYWEgICAgICAgICAgICAxICAgICAgMCBxcXFxcXFxcXFxcXFxcXFxcVgKK3wtYmJiICAgICAgICAgICAyICAgICAgMSBkZGRkZGRkZGRkZGRkWAorfCB8LWVlICAgICAgICAgIDUgICAgICAyIGRkZGRkZGRkZGRkZGRkZGRkZGRkCit8IHwgICAgICAgICAgICAgICAgICAgICAgZGRkZGRkWAorfCBgLWZmZmYgICAgICAgIDYgICAgICAyIGpqampqampqampqampqampqampqCit8ICAgICAgICAgICAgICAgICAgICAgICAgampqampqampqampqampqampqamoKK3wgICAgICAgICAgICAgICAgICAgICAgICBqampqampqampYCit8LWNjY2NjICAgICAgICAgMyAgICAgIDEgZmZmZmZmZmZmZmZmZmZmZmZmZmYKK3wgfCAgICAgICAgICAgICAgICAgICAgICBmZmZmZmZmZmZmZmZmZmZmZmZmZgorfCB8ICAgICAgICAgICAgICAgICAgICAgIFgKK3wgYC1nZ2dnZ2cgICAgICA3ICAgICAgMyBtbW1tbW1tbW1tbW1tbW1tbW1tWAorfCAgIHwtaGhoICAgICAgIDggICAgICA3IGxsbGxsbGxsbGxsbGxsbGxsbGxsCit8ICAgfCB8ICAgICAgICAgICAgICAgICAgbGxsbGxsbGxsbGxsbGxsbGxYCit8ICAgfCBgLWlpaWlpaSAgOSAgICAgIDggeXl5eXl5eXl5eXl5eXl5eXl5eXkKK3wgICB8ICAgICAgICAgICAgICAgICAgICB5eXl5eXl5eVgKK3wgICBgLWpqICAgICAgIDEwICAgICAgNyBwcHBwcHBwcHBYCitgLWRkZGRkZCAgICAgICAgNCAgICAgIDEgc3Nzc3Nzc3Nzc1gKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS13cmFwbmwgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtd3JhcG5sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3NDdlYmIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtd3JhcG5sCkBAIC0wLDAgKzEsMTkgQEAKK05BTUUgICAgICAgICBOVU0gV1JBUE5MCithYWFhICAgICAgICAgICAwIGFhYQorYmJiICAgICAgICAgIDEwMCBiYmJiYgorY2NjY2MgICAgICAgICAyMSBjY2NjCisgICAgICAgICAgICAgICAgIENDQ0MKK2RkZGRkZCAgICAgICAgIDMgZGRkZGRkZGQKKyAgICAgICAgICAgICAgICAgRERERAorICAgICAgICAgICAgICAgICBERAorZWUgICAgICAgICAgIDQxMSBoZWxsbworICAgICAgICAgICAgICAgICBiYWJ5CitmZmZmICAgICAgICA1MTExIGFhYQorICAgICAgICAgICAgICAgICBiYmIKKyAgICAgICAgICAgICAgICAgY2NjCisgICAgICAgICAgICAgICAgIGRkZAorZ2dnZ2dnIDY3ODk5MzMyMSBlZWUKK2hoaCAgICAgIDc2NjY2NjYgZmZmZmYKK2lpaWlpaSAgICAgIDg3NjUgZworICAgICAgICAgICAgICAgICBoaGhoaAoramogICAgICAgIDk4NzQ1NiBwcHBwcHBwcHAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS13cmFwbmwtdHJlZSBiL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS13cmFwbmwtdHJlZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zODYyY2YxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXdyYXBubC10cmVlCkBAIC0wLDAgKzEsMTkgQEAKK1RSRUUgICAgICAgICAgIElEIFBBUkVOVCBXUkFQTkwKK2FhYWEgICAgICAgICAgICAxICAgICAgMCBhYWEKK3wtYmJiICAgICAgICAgICAyICAgICAgMSBiYmJiYgorfCB8LWVlICAgICAgICAgIDUgICAgICAyIGhlbGxvCit8IHwgICAgICAgICAgICAgICAgICAgICAgYmFieQorfCBgLWZmZmYgICAgICAgIDYgICAgICAyIGFhYQorfCAgICAgICAgICAgICAgICAgICAgICAgIGJiYgorfCAgICAgICAgICAgICAgICAgICAgICAgIGNjYworfCAgICAgICAgICAgICAgICAgICAgICAgIGRkZAorfC1jY2NjYyAgICAgICAgIDMgICAgICAxIGNjY2MKK3wgfCAgICAgICAgICAgICAgICAgICAgICBDQ0NDCit8IGAtZ2dnZ2dnICAgICAgNyAgICAgIDMgZWVlCit8ICAgfC1oaGggICAgICAgOCAgICAgIDcgZmZmZmYKK3wgICB8IGAtaWlpaWlpICA5ICAgICAgOCBnCit8ICAgfCAgICAgICAgICAgICAgICAgICAgaGhoaGgKK3wgICBgLWpqICAgICAgIDEwICAgICAgNyBwcHBwcHBwcHAKK2AtZGRkZGRkICAgICAgICA0ICAgICAgMSBkZGRkZGRkZAorICAgICAgICAgICAgICAgICAgICAgICAgIEREREQKKyAgICAgICAgICAgICAgICAgICAgICAgICBERApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL3RpdGxlIGIvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL3RpdGxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1ZjRjMTIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvdGl0bGUKQEAgLTAsMCArMSwxMiBAQAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgaXMgcmlnaHQgdGl0bGUKK05BTUUgREFUQQorZm9vICBibGEgYmxhIGJsYQorYmFyICBhbGIgYWxiIGFsYgorPT09PT09PT09PT09PT09PT09PT09PT1UaGlzIGlzIGNlbnRlciB0aXRsZSAod2l0aCBwYWRkaW5nKT09PT09PT09PT09PT09PT09PT09PT0KK05BTUUgREFUQQorZm9vICBibGEgYmxhIGJsYQorYmFyICBhbGIgYWxiIGFsYgorVGhpcyBpcyBsZWZ0IHRpdGxlICh3aXRoIHBhZGRpbmcpLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK05BTUUgREFUQQorZm9vICBibGEgYmxhIGJsYQorYmFyICBhbGIgYWxiIGFsYgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Vycm9ycy1jaGVja19zb2NrZXQgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZXJyb3JzLWNoZWNrX3NvY2tldApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZjAyODM3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Vycm9ycy1jaGVja19zb2NrZXQKQEAgLTAsMCArMSw0MSBAQAorQ2hlY2sgd3JpdHRlbiBzb2NrZXQgZGF0YSBvZiBhbGwgc3VidGVzdHMuCitzb2NrZXQgZGF0YSwga2Vybl9wcmlvcml0eToKKzw4PkZlYiAxMyAyMzozMTozMCBwcmlvOiBtZXNzYWdlCisKK3NvY2tldCBkYXRhLCBrZXJuX3ByaW9yaXR5X251bWVyaWM6Cis8OD5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbWVzc2FnZQorCitzb2NrZXQgZGF0YSwgaW52YWxpZF9wcmlvOgorCitzb2NrZXQgZGF0YSwgcmZjNTQyNF9leGNlZWRfc2l6ZToKKzwxMz4xIDIwMDktMDItMTNUMjM6MzE6MzAuMTIzNDU2KzAwOjAwIHRlc3QtaG9zdG5hbWUgcmZjNTQyNF9leGNlZWRfc2l6ZSAtIC0gW3RpbWVRdWFsaXR5IHR6S25vd249IjEiIGlzU3luY2VkPSIwIl0gYWJjCisKK3NvY2tldCBkYXRhLCBpZF93aXRoX3NwYWNlOgorCitzb2NrZXQgZGF0YSwgaWRfd2l0aF9zcGFjZToKKworc29ja2V0IGRhdGEsIGlkX3dpdGhfc3BhY2U6CisKK3NvY2tldCBkYXRhLCBpZF93aXRoX3NwYWNlOgorPDEzPkZlYiAxMyAyMzozMTozMCBpZF93aXRoX2xlYWRpbmcgc3BhY2VbMTIzXTogbWVzc2FnZQorCitzb2NrZXQgZGF0YSwgaWRfd2l0aF9zcGFjZToKKworc29ja2V0IGRhdGEsIHRhZ193aXRoX3NwYWNlOgorPDEzPkZlYiAxMyAyMzozMTozMCBBIEI6IHRhZ193aXRoX3NwYWNlCisKK3NvY2tldCBkYXRhLCB0YWdfd2l0aF9zcGFjZToKKzwxMz4xIDIwMDktMDItMTNUMjM6MzE6MzAuMTIzNDU2KzAwOjAwIHRlc3QtaG9zdG5hbWUgQSBCIC0gLSBbdGltZVF1YWxpdHkgdHpLbm93bj0iMSIgaXNTeW5jZWQ9IjAiXSB0YWdfd2l0aF9zcGFjZV9yZmM1NDI0CisKK3NvY2tldCBkYXRhLCB0Y3A6Cis8MTM+RmViIDEzIDIzOjMxOjMwIHRjcDogbWVzc2FnZQorCitzb2NrZXQgZGF0YSwgbXVsdGktbGluZToKKzwxMz5GZWIgMTMgMjM6MzE6MzAgbXVsdGk6IEFBQQorPDEzPkZlYiAxMyAyMzozMTozMCBtdWx0aTogQkJCCis8MTM+RmViIDEzIDIzOjMxOjMwIG11bHRpOiBDQ0MKKworc29ja2V0IGRhdGEsIHJmYzU0MjRfbXNnaWRfd2l0aF9zcGFjZToKKworc29ja2V0IGRhdGEsIGludmFsaWRfc29ja2V0OgorCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZXJyb3JzLWlkX3dpdGhfc3BhY2UgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZXJyb3JzLWlkX3dpdGhfc3BhY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGYzYmM0NQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9lcnJvcnMtaWRfd2l0aF9zcGFjZQpAQCAtMCwwICsxLDEwIEBACit0ZXN0X2xvZ2dlcjogZmFpbGVkIHRvIHBhcnNlIGlkOiAnQSBCJworcmV0OiAxCit0ZXN0X2xvZ2dlcjogZmFpbGVkIHRvIHBhcnNlIGlkOiAnQSBCJworcmV0OiAxCit0ZXN0X2xvZ2dlcjogZmFpbGVkIHRvIHBhcnNlIGlkOiAnMSAyMycKK3JldDogMQorPDEzPkZlYiAxMyAyMzozMTozMCBpZF93aXRoX2xlYWRpbmcgc3BhY2VbMTIzXTogbWVzc2FnZQorcmV0OiAwCit0ZXN0X2xvZ2dlcjogZmFpbGVkIHRvIHBhcnNlIGlkOiAnMTIzICcKK3JldDogMQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Vycm9ycy1pbnZhbGlkX3ByaW8gYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZXJyb3JzLWludmFsaWRfcHJpbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZTNhYTk2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Vycm9ycy1pbnZhbGlkX3ByaW8KQEAgLTAsMCArMSwyIEBACit0ZXN0X2xvZ2dlcjogdW5rbm93biBwcmlvcml0eSBuYW1lOiA4CityZXQ6IDEKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9lcnJvcnMtaW52YWxpZF9zb2NrZXQgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZXJyb3JzLWludmFsaWRfc29ja2V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3MjBhZmEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZXJyb3JzLWludmFsaWRfc29ja2V0CkBAIC0wLDAgKzEsMiBAQAordGVzdF9sb2dnZXI6IHNvY2tldCAvYmFkL2JveTogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQorcmV0OiAxCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZXJyb3JzLWtlcm5fcHJpb3JpdHkgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZXJyb3JzLWtlcm5fcHJpb3JpdHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWIzNzJhYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9lcnJvcnMta2Vybl9wcmlvcml0eQpAQCAtMCwwICsxLDIgQEAKKzw4PkZlYiAxMyAyMzozMTozMCBwcmlvOiBtZXNzYWdlCityZXQ6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9lcnJvcnMta2Vybl9wcmlvcml0eV9udW1lcmljIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Vycm9ycy1rZXJuX3ByaW9yaXR5X251bWVyaWMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWIzNzJhYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9lcnJvcnMta2Vybl9wcmlvcml0eV9udW1lcmljCkBAIC0wLDAgKzEsMiBAQAorPDg+RmViIDEzIDIzOjMxOjMwIHByaW86IG1lc3NhZ2UKK3JldDogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Vycm9ycy1tdWx0aS1saW5lIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Vycm9ycy1tdWx0aS1saW5lCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyNDc1ODkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZXJyb3JzLW11bHRpLWxpbmUKQEAgLTAsMCArMSw0IEBACis8MTM+RmViIDEzIDIzOjMxOjMwIG11bHRpOiBBQUEKKzwxMz5GZWIgMTMgMjM6MzE6MzAgbXVsdGk6IEJCQgorPDEzPkZlYiAxMyAyMzozMTozMCBtdWx0aTogQ0NDCityZXQ6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9lcnJvcnMtcmZjNTQyNF9leGNlZWRfc2l6ZSBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9lcnJvcnMtcmZjNTQyNF9leGNlZWRfc2l6ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZTIwNWVkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Vycm9ycy1yZmM1NDI0X2V4Y2VlZF9zaXplCkBAIC0wLDAgKzEsMiBAQAorPDEzPjEgMjAwOS0wMi0xM1QyMzozMTozMC4xMjM0NTYrMDA6MDAgdGVzdC1ob3N0bmFtZSByZmM1NDI0X2V4Y2VlZF9zaXplIC0gLSBbdGltZVF1YWxpdHkgdHpLbm93bj0iMSIgaXNTeW5jZWQ9IjAiXSBhYmMKK3JldDogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Vycm9ycy1yZmM1NDI0X21zZ2lkX3dpdGhfc3BhY2UgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZXJyb3JzLXJmYzU0MjRfbXNnaWRfd2l0aF9zcGFjZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZDhiZDI5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Vycm9ycy1yZmM1NDI0X21zZ2lkX3dpdGhfc3BhY2UKQEAgLTAsMCArMSwyIEBACit0ZXN0X2xvZ2dlcjogLS1tc2dpZCBjYW5ub3QgY29udGFpbiBzcGFjZQorcmV0OiAxCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZXJyb3JzLXRhZ193aXRoX3NwYWNlIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Vycm9ycy10YWdfd2l0aF9zcGFjZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTJiZGNjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Vycm9ycy10YWdfd2l0aF9zcGFjZQpAQCAtMCwwICsxLDQgQEAKKzwxMz5GZWIgMTMgMjM6MzE6MzAgQSBCOiB0YWdfd2l0aF9zcGFjZQorcmV0OiAwCis8MTM+MSAyMDA5LTAyLTEzVDIzOjMxOjMwLjEyMzQ1NiswMDowMCB0ZXN0LWhvc3RuYW1lIEEgQiAtIC0gW3RpbWVRdWFsaXR5IHR6S25vd249IjEiIGlzU3luY2VkPSIwIl0gdGFnX3dpdGhfc3BhY2VfcmZjNTQyNAorcmV0OiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZXJyb3JzLXRjcCBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9lcnJvcnMtdGNwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2NmRjOTkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZXJyb3JzLXRjcApAQCAtMCwwICsxLDIgQEAKKzwxMz5GZWIgMTMgMjM6MzE6MzAgdGNwOiBtZXNzYWdlCityZXQ6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9mb3JtYXRzLWNoZWNrX3NvY2tldCBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9mb3JtYXRzLWNoZWNrX3NvY2tldApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYTM2YzRlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Zvcm1hdHMtY2hlY2tfc29ja2V0CkBAIC0wLDAgKzEgQEAKK0NoZWNrIHdyaXR0ZW4gc29ja2V0IGRhdGEgb2YgYWxsIHN1YnRlc3RzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Zvcm1hdHMtb2N0ZXRfY291bnRpbmcgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZm9ybWF0cy1vY3RldF9jb3VudGluZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YjE4ODI0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Zvcm1hdHMtb2N0ZXRfY291bnRpbmcKQEAgLTAsMCArMSwyIEBACiszNCA8MTM+RmViIDEzIDIzOjMxOjMwIG9jdGVuOiBtZXNzYWdlCityZXQ6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9mb3JtYXRzLXByaW9yaXRpZXMgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZm9ybWF0cy1wcmlvcml0aWVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2MmU5MGYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZm9ybWF0cy1wcmlvcml0aWVzCkBAIC0wLDAgKzEsMzA0IEBACis8MzI+RmViIDEzIDIzOjMxOjMwIHByaW86IGF1dGguZW1lcmcKK3JldDogMAorPDMzPkZlYiAxMyAyMzozMTozMCBwcmlvOiBhdXRoLmFsZXJ0CityZXQ6IDAKKzwzND5GZWIgMTMgMjM6MzE6MzAgcHJpbzogYXV0aC5jcml0CityZXQ6IDAKKzwzNT5GZWIgMTMgMjM6MzE6MzAgcHJpbzogYXV0aC5lcnIKK3JldDogMAorPDM2PkZlYiAxMyAyMzozMTozMCBwcmlvOiBhdXRoLndhcm5pbmcKK3JldDogMAorPDM3PkZlYiAxMyAyMzozMTozMCBwcmlvOiBhdXRoLm5vdGljZQorcmV0OiAwCis8Mzg+RmViIDEzIDIzOjMxOjMwIHByaW86IGF1dGguaW5mbworcmV0OiAwCis8Mzk+RmViIDEzIDIzOjMxOjMwIHByaW86IGF1dGguZGVidWcKK3JldDogMAorPDgwPkZlYiAxMyAyMzozMTozMCBwcmlvOiBhdXRocHJpdi5lbWVyZworcmV0OiAwCis8ODE+RmViIDEzIDIzOjMxOjMwIHByaW86IGF1dGhwcml2LmFsZXJ0CityZXQ6IDAKKzw4Mj5GZWIgMTMgMjM6MzE6MzAgcHJpbzogYXV0aHByaXYuY3JpdAorcmV0OiAwCis8ODM+RmViIDEzIDIzOjMxOjMwIHByaW86IGF1dGhwcml2LmVycgorcmV0OiAwCis8ODQ+RmViIDEzIDIzOjMxOjMwIHByaW86IGF1dGhwcml2Lndhcm5pbmcKK3JldDogMAorPDg1PkZlYiAxMyAyMzozMTozMCBwcmlvOiBhdXRocHJpdi5ub3RpY2UKK3JldDogMAorPDg2PkZlYiAxMyAyMzozMTozMCBwcmlvOiBhdXRocHJpdi5pbmZvCityZXQ6IDAKKzw4Nz5GZWIgMTMgMjM6MzE6MzAgcHJpbzogYXV0aHByaXYuZGVidWcKK3JldDogMAorPDcyPkZlYiAxMyAyMzozMTozMCBwcmlvOiBjcm9uLmVtZXJnCityZXQ6IDAKKzw3Mz5GZWIgMTMgMjM6MzE6MzAgcHJpbzogY3Jvbi5hbGVydAorcmV0OiAwCis8NzQ+RmViIDEzIDIzOjMxOjMwIHByaW86IGNyb24uY3JpdAorcmV0OiAwCis8NzU+RmViIDEzIDIzOjMxOjMwIHByaW86IGNyb24uZXJyCityZXQ6IDAKKzw3Nj5GZWIgMTMgMjM6MzE6MzAgcHJpbzogY3Jvbi53YXJuaW5nCityZXQ6IDAKKzw3Nz5GZWIgMTMgMjM6MzE6MzAgcHJpbzogY3Jvbi5ub3RpY2UKK3JldDogMAorPDc4PkZlYiAxMyAyMzozMTozMCBwcmlvOiBjcm9uLmluZm8KK3JldDogMAorPDc5PkZlYiAxMyAyMzozMTozMCBwcmlvOiBjcm9uLmRlYnVnCityZXQ6IDAKKzwyND5GZWIgMTMgMjM6MzE6MzAgcHJpbzogZGFlbW9uLmVtZXJnCityZXQ6IDAKKzwyNT5GZWIgMTMgMjM6MzE6MzAgcHJpbzogZGFlbW9uLmFsZXJ0CityZXQ6IDAKKzwyNj5GZWIgMTMgMjM6MzE6MzAgcHJpbzogZGFlbW9uLmNyaXQKK3JldDogMAorPDI3PkZlYiAxMyAyMzozMTozMCBwcmlvOiBkYWVtb24uZXJyCityZXQ6IDAKKzwyOD5GZWIgMTMgMjM6MzE6MzAgcHJpbzogZGFlbW9uLndhcm5pbmcKK3JldDogMAorPDI5PkZlYiAxMyAyMzozMTozMCBwcmlvOiBkYWVtb24ubm90aWNlCityZXQ6IDAKKzwzMD5GZWIgMTMgMjM6MzE6MzAgcHJpbzogZGFlbW9uLmluZm8KK3JldDogMAorPDMxPkZlYiAxMyAyMzozMTozMCBwcmlvOiBkYWVtb24uZGVidWcKK3JldDogMAorPDg4PkZlYiAxMyAyMzozMTozMCBwcmlvOiBmdHAuZW1lcmcKK3JldDogMAorPDg5PkZlYiAxMyAyMzozMTozMCBwcmlvOiBmdHAuYWxlcnQKK3JldDogMAorPDkwPkZlYiAxMyAyMzozMTozMCBwcmlvOiBmdHAuY3JpdAorcmV0OiAwCis8OTE+RmViIDEzIDIzOjMxOjMwIHByaW86IGZ0cC5lcnIKK3JldDogMAorPDkyPkZlYiAxMyAyMzozMTozMCBwcmlvOiBmdHAud2FybmluZworcmV0OiAwCis8OTM+RmViIDEzIDIzOjMxOjMwIHByaW86IGZ0cC5ub3RpY2UKK3JldDogMAorPDk0PkZlYiAxMyAyMzozMTozMCBwcmlvOiBmdHAuaW5mbworcmV0OiAwCis8OTU+RmViIDEzIDIzOjMxOjMwIHByaW86IGZ0cC5kZWJ1ZworcmV0OiAwCis8NDg+RmViIDEzIDIzOjMxOjMwIHByaW86IGxwci5lbWVyZworcmV0OiAwCis8NDk+RmViIDEzIDIzOjMxOjMwIHByaW86IGxwci5hbGVydAorcmV0OiAwCis8NTA+RmViIDEzIDIzOjMxOjMwIHByaW86IGxwci5jcml0CityZXQ6IDAKKzw1MT5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbHByLmVycgorcmV0OiAwCis8NTI+RmViIDEzIDIzOjMxOjMwIHByaW86IGxwci53YXJuaW5nCityZXQ6IDAKKzw1Mz5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbHByLm5vdGljZQorcmV0OiAwCis8NTQ+RmViIDEzIDIzOjMxOjMwIHByaW86IGxwci5pbmZvCityZXQ6IDAKKzw1NT5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbHByLmRlYnVnCityZXQ6IDAKKzwxNj5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbWFpbC5lbWVyZworcmV0OiAwCis8MTc+RmViIDEzIDIzOjMxOjMwIHByaW86IG1haWwuYWxlcnQKK3JldDogMAorPDE4PkZlYiAxMyAyMzozMTozMCBwcmlvOiBtYWlsLmNyaXQKK3JldDogMAorPDE5PkZlYiAxMyAyMzozMTozMCBwcmlvOiBtYWlsLmVycgorcmV0OiAwCis8MjA+RmViIDEzIDIzOjMxOjMwIHByaW86IG1haWwud2FybmluZworcmV0OiAwCis8MjE+RmViIDEzIDIzOjMxOjMwIHByaW86IG1haWwubm90aWNlCityZXQ6IDAKKzwyMj5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbWFpbC5pbmZvCityZXQ6IDAKKzwyMz5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbWFpbC5kZWJ1ZworcmV0OiAwCis8NTY+RmViIDEzIDIzOjMxOjMwIHByaW86IG5ld3MuZW1lcmcKK3JldDogMAorPDU3PkZlYiAxMyAyMzozMTozMCBwcmlvOiBuZXdzLmFsZXJ0CityZXQ6IDAKKzw1OD5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbmV3cy5jcml0CityZXQ6IDAKKzw1OT5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbmV3cy5lcnIKK3JldDogMAorPDYwPkZlYiAxMyAyMzozMTozMCBwcmlvOiBuZXdzLndhcm5pbmcKK3JldDogMAorPDYxPkZlYiAxMyAyMzozMTozMCBwcmlvOiBuZXdzLm5vdGljZQorcmV0OiAwCis8NjI+RmViIDEzIDIzOjMxOjMwIHByaW86IG5ld3MuaW5mbworcmV0OiAwCis8NjM+RmViIDEzIDIzOjMxOjMwIHByaW86IG5ld3MuZGVidWcKK3JldDogMAorPDQwPkZlYiAxMyAyMzozMTozMCBwcmlvOiBzeXNsb2cuZW1lcmcKK3JldDogMAorPDQxPkZlYiAxMyAyMzozMTozMCBwcmlvOiBzeXNsb2cuYWxlcnQKK3JldDogMAorPDQyPkZlYiAxMyAyMzozMTozMCBwcmlvOiBzeXNsb2cuY3JpdAorcmV0OiAwCis8NDM+RmViIDEzIDIzOjMxOjMwIHByaW86IHN5c2xvZy5lcnIKK3JldDogMAorPDQ0PkZlYiAxMyAyMzozMTozMCBwcmlvOiBzeXNsb2cud2FybmluZworcmV0OiAwCis8NDU+RmViIDEzIDIzOjMxOjMwIHByaW86IHN5c2xvZy5ub3RpY2UKK3JldDogMAorPDQ2PkZlYiAxMyAyMzozMTozMCBwcmlvOiBzeXNsb2cuaW5mbworcmV0OiAwCis8NDc+RmViIDEzIDIzOjMxOjMwIHByaW86IHN5c2xvZy5kZWJ1ZworcmV0OiAwCis8OD5GZWIgMTMgMjM6MzE6MzAgcHJpbzogdXNlci5lbWVyZworcmV0OiAwCis8OT5GZWIgMTMgMjM6MzE6MzAgcHJpbzogdXNlci5hbGVydAorcmV0OiAwCis8MTA+RmViIDEzIDIzOjMxOjMwIHByaW86IHVzZXIuY3JpdAorcmV0OiAwCis8MTE+RmViIDEzIDIzOjMxOjMwIHByaW86IHVzZXIuZXJyCityZXQ6IDAKKzwxMj5GZWIgMTMgMjM6MzE6MzAgcHJpbzogdXNlci53YXJuaW5nCityZXQ6IDAKKzwxMz5GZWIgMTMgMjM6MzE6MzAgcHJpbzogdXNlci5ub3RpY2UKK3JldDogMAorPDE0PkZlYiAxMyAyMzozMTozMCBwcmlvOiB1c2VyLmluZm8KK3JldDogMAorPDE1PkZlYiAxMyAyMzozMTozMCBwcmlvOiB1c2VyLmRlYnVnCityZXQ6IDAKKzw2ND5GZWIgMTMgMjM6MzE6MzAgcHJpbzogdXVjcC5lbWVyZworcmV0OiAwCis8NjU+RmViIDEzIDIzOjMxOjMwIHByaW86IHV1Y3AuYWxlcnQKK3JldDogMAorPDY2PkZlYiAxMyAyMzozMTozMCBwcmlvOiB1dWNwLmNyaXQKK3JldDogMAorPDY3PkZlYiAxMyAyMzozMTozMCBwcmlvOiB1dWNwLmVycgorcmV0OiAwCis8Njg+RmViIDEzIDIzOjMxOjMwIHByaW86IHV1Y3Aud2FybmluZworcmV0OiAwCis8Njk+RmViIDEzIDIzOjMxOjMwIHByaW86IHV1Y3Aubm90aWNlCityZXQ6IDAKKzw3MD5GZWIgMTMgMjM6MzE6MzAgcHJpbzogdXVjcC5pbmZvCityZXQ6IDAKKzw3MT5GZWIgMTMgMjM6MzE6MzAgcHJpbzogdXVjcC5kZWJ1ZworcmV0OiAwCis8MTI4PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDAuZW1lcmcKK3JldDogMAorPDEyOT5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWwwLmFsZXJ0CityZXQ6IDAKKzwxMzA+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsMC5jcml0CityZXQ6IDAKKzwxMzE+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsMC5lcnIKK3JldDogMAorPDEzMj5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWwwLndhcm5pbmcKK3JldDogMAorPDEzMz5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWwwLm5vdGljZQorcmV0OiAwCis8MTM0PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDAuaW5mbworcmV0OiAwCis8MTM1PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDAuZGVidWcKK3JldDogMAorPDEzNj5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWwxLmVtZXJnCityZXQ6IDAKKzwxMzc+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsMS5hbGVydAorcmV0OiAwCis8MTM4PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDEuY3JpdAorcmV0OiAwCis8MTM5PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDEuZXJyCityZXQ6IDAKKzwxNDA+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsMS53YXJuaW5nCityZXQ6IDAKKzwxNDE+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsMS5ub3RpY2UKK3JldDogMAorPDE0Mj5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWwxLmluZm8KK3JldDogMAorPDE0Mz5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWwxLmRlYnVnCityZXQ6IDAKKzwxNDQ+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsMi5lbWVyZworcmV0OiAwCis8MTQ1PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDIuYWxlcnQKK3JldDogMAorPDE0Nj5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWwyLmNyaXQKK3JldDogMAorPDE0Nz5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWwyLmVycgorcmV0OiAwCis8MTQ4PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDIud2FybmluZworcmV0OiAwCis8MTQ5PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDIubm90aWNlCityZXQ6IDAKKzwxNTA+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsMi5pbmZvCityZXQ6IDAKKzwxNTE+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsMi5kZWJ1ZworcmV0OiAwCis8MTUyPkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDMuZW1lcmcKK3JldDogMAorPDE1Mz5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWwzLmFsZXJ0CityZXQ6IDAKKzwxNTQ+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsMy5jcml0CityZXQ6IDAKKzwxNTU+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsMy5lcnIKK3JldDogMAorPDE1Nj5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWwzLndhcm5pbmcKK3JldDogMAorPDE1Nz5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWwzLm5vdGljZQorcmV0OiAwCis8MTU4PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDMuaW5mbworcmV0OiAwCis8MTU5PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDMuZGVidWcKK3JldDogMAorPDE2MD5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWw0LmVtZXJnCityZXQ6IDAKKzwxNjE+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsNC5hbGVydAorcmV0OiAwCis8MTYyPkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDQuY3JpdAorcmV0OiAwCis8MTYzPkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDQuZXJyCityZXQ6IDAKKzwxNjQ+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsNC53YXJuaW5nCityZXQ6IDAKKzwxNjU+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsNC5ub3RpY2UKK3JldDogMAorPDE2Nj5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWw0LmluZm8KK3JldDogMAorPDE2Nz5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWw0LmRlYnVnCityZXQ6IDAKKzwxNjg+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsNS5lbWVyZworcmV0OiAwCis8MTY5PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDUuYWxlcnQKK3JldDogMAorPDE3MD5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWw1LmNyaXQKK3JldDogMAorPDE3MT5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWw1LmVycgorcmV0OiAwCis8MTcyPkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDUud2FybmluZworcmV0OiAwCis8MTczPkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDUubm90aWNlCityZXQ6IDAKKzwxNzQ+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsNS5pbmZvCityZXQ6IDAKKzwxNzU+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsNS5kZWJ1ZworcmV0OiAwCis8MTc2PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDYuZW1lcmcKK3JldDogMAorPDE3Nz5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWw2LmFsZXJ0CityZXQ6IDAKKzwxNzg+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsNi5jcml0CityZXQ6IDAKKzwxNzk+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsNi5lcnIKK3JldDogMAorPDE4MD5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWw2Lndhcm5pbmcKK3JldDogMAorPDE4MT5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWw2Lm5vdGljZQorcmV0OiAwCis8MTgyPkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDYuaW5mbworcmV0OiAwCis8MTgzPkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDYuZGVidWcKK3JldDogMAorPDE4ND5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWw3LmVtZXJnCityZXQ6IDAKKzwxODU+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsNy5hbGVydAorcmV0OiAwCis8MTg2PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDcuY3JpdAorcmV0OiAwCis8MTg3PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDcuZXJyCityZXQ6IDAKKzwxODg+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsNy53YXJuaW5nCityZXQ6IDAKKzwxODk+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsNy5ub3RpY2UKK3JldDogMAorPDE5MD5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWw3LmluZm8KK3JldDogMAorPDE5MT5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWw3LmRlYnVnCityZXQ6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9mb3JtYXRzLXJmYzMxNjQgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZm9ybWF0cy1yZmMzMTY0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhYjlmZDUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZm9ybWF0cy1yZmMzMTY0CkBAIC0wLDAgKzEsMiBAQAorPDEzPkZlYiAxMyAyMzozMTozMCB0ZXN0LWhvc3RuYW1lIHJmYzMxNjQ6IG1lc3NhZ2UKK3JldDogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Zvcm1hdHMtcmZjNTQyNF9tc2dpZCBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9mb3JtYXRzLXJmYzU0MjRfbXNnaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzU1ZTk3YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9mb3JtYXRzLXJmYzU0MjRfbXNnaWQKQEAgLTAsMCArMSwyIEBACis8MTM+MSAyMDA5LTAyLTEzVDIzOjMxOjMwLjEyMzQ1NiswMDowMCB0ZXN0LWhvc3RuYW1lIHJmYzU0MjQgLSBNU0dJRCBbdGltZVF1YWxpdHkgdHpLbm93bj0iMSIgaXNTeW5jZWQ9IjAiXSBtZXNzYWdlCityZXQ6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9mb3JtYXRzLXJmYzU0MjRfbm9ob3N0IGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Zvcm1hdHMtcmZjNTQyNF9ub2hvc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzBlZDAyNQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9mb3JtYXRzLXJmYzU0MjRfbm9ob3N0CkBAIC0wLDAgKzEsMiBAQAorPDEzPjEgMjAwOS0wMi0xM1QyMzozMTozMC4xMjM0NTYrMDA6MDAgLSByZmM1NDI0IC0gLSBbdGltZVF1YWxpdHkgdHpLbm93bj0iMSIgaXNTeW5jZWQ9IjAiXSBtZXNzYWdlCityZXQ6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9mb3JtYXRzLXJmYzU0MjRfbm90aW1lIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Zvcm1hdHMtcmZjNTQyNF9ub3RpbWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDljOTZmMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9mb3JtYXRzLXJmYzU0MjRfbm90aW1lCkBAIC0wLDAgKzEsMiBAQAorPDEzPjEgLSB0ZXN0LWhvc3RuYW1lIHJmYzU0MjQgLSAtIC0gbWVzc2FnZQorcmV0OiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZm9ybWF0cy1yZmM1NDI0X3NpbXBsZSBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9mb3JtYXRzLXJmYzU0MjRfc2ltcGxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwZTVhMzQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZm9ybWF0cy1yZmM1NDI0X3NpbXBsZQpAQCAtMCwwICsxLDIgQEAKKzwxMz4xIDIwMDktMDItMTNUMjM6MzE6MzAuMTIzNDU2KzAwOjAwIHRlc3QtaG9zdG5hbWUgcmZjNTQyNCAtIC0gW3RpbWVRdWFsaXR5IHR6S25vd249IjEiIGlzU3luY2VkPSIwIl0gbWVzc2FnZQorcmV0OiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb2dnZXIvaW5wdXRfZW1wdHlfbGluZSBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9pbnB1dF9lbXB0eV9saW5lCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4NTc4YWUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvaW5wdXRfZW1wdHlfbGluZQpAQCAtMCwwICsxLDMgQEAKK2ExIGEyIGEzIGE0IGE1IGIxIGIyIGIzIGI0IGI1IGMxIGMyIGMzIGM0IGM1CisKKzV7Yy4uMX0gNHtjLi4xfSAze2MuLjF9IDJ7Yy4uMX0gMXtjLi4xfQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2lucHV0X3ByaW9fcHJlZml4IGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2lucHV0X3ByaW9fcHJlZml4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1YTVmNTQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvaW5wdXRfcHJpb19wcmVmaXgKQEAgLTAsMCArMSBAQAorPDY2PiBwcmlvX3ByZWZpeApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2lucHV0X3NpbXBsZSBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9pbnB1dF9zaW1wbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWU1YzY2ZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9pbnB1dF9zaW1wbGUKQEAgLTAsMCArMSBAQAorYTEgYTIgYTMgYTQgYTUgYjEgYjIgYjMgYjQgYjUgYzEgYzIgYzMgYzQgYzUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9qb3VybmFsZCBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9qb3VybmFsZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTQ2MjhkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2pvdXJuYWxkCkBAIC0wLDAgKzEsMyBAQAorTUVTU0FHRV9JRD1iOGY3NGUxNGJjNzE0YmZjODA0MGE1MTA2ZGM5Mzc2YQorTUVTU0FHRT1hIGIgYyAxIDIgMworcmV0OiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb2dnZXIvb3B0aW9ucy1jaGVja19zb2NrZXQgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvb3B0aW9ucy1jaGVja19zb2NrZXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmEzNmM0ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9vcHRpb25zLWNoZWNrX3NvY2tldApAQCAtMCwwICsxIEBACitDaGVjayB3cml0dGVuIHNvY2tldCBkYXRhIG9mIGFsbCBzdWJ0ZXN0cy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9vcHRpb25zLWlucHV0X2ZpbGVfZW1wdHlfbGluZSBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9vcHRpb25zLWlucHV0X2ZpbGVfZW1wdHlfbGluZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjc2ZTNjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL29wdGlvbnMtaW5wdXRfZmlsZV9lbXB0eV9saW5lCkBAIC0wLDAgKzEsNCBAQAorPDEzPkZlYiAxMyAyMzozMTozMCB0ZXN0X3RhZzogYTEgYTIgYTMgYTQgYTUgYjEgYjIgYjMgYjQgYjUgYzEgYzIgYzMgYzQgYzUKKzwxMz5GZWIgMTMgMjM6MzE6MzAgdGVzdF90YWc6IAorPDEzPkZlYiAxMyAyMzozMTozMCB0ZXN0X3RhZzogNXtjLi4xfSA0e2MuLjF9IDN7Yy4uMX0gMntjLi4xfSAxe2MuLjF9CityZXQ6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9vcHRpb25zLWlucHV0X2ZpbGVfcHJpb19wcmVmaXggYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvb3B0aW9ucy1pbnB1dF9maWxlX3ByaW9fcHJlZml4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmNjliYjkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvb3B0aW9ucy1pbnB1dF9maWxlX3ByaW9fcHJlZml4CkBAIC0wLDAgKzEsMiBAQAorPDY2PkZlYiAxMyAyMzozMTozMCB0ZXN0X3RhZzogIHByaW9fcHJlZml4CityZXQ6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9vcHRpb25zLWlucHV0X2ZpbGVfc2ltcGxlIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL29wdGlvbnMtaW5wdXRfZmlsZV9zaW1wbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDg1NTI0NwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9vcHRpb25zLWlucHV0X2ZpbGVfc2ltcGxlCkBAIC0wLDAgKzEsMiBAQAorPDEzPkZlYiAxMyAyMzozMTozMCB0ZXN0X3RhZzogYTEgYTIgYTMgYTQgYTUgYjEgYjIgYjMgYjQgYjUgYzEgYzIgYzMgYzQgYzUKK3JldDogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL29wdGlvbnMtaW5wdXRfZmlsZV9za2lwX2VtcHR5IGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL29wdGlvbnMtaW5wdXRfZmlsZV9za2lwX2VtcHR5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3N2MxODYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvb3B0aW9ucy1pbnB1dF9maWxlX3NraXBfZW1wdHkKQEAgLTAsMCArMSwzIEBACis8MTM+RmViIDEzIDIzOjMxOjMwIHRlc3RfdGFnOiBhMSBhMiBhMyBhNCBhNSBiMSBiMiBiMyBiNCBiNSBjMSBjMiBjMyBjNCBjNQorPDEzPkZlYiAxMyAyMzozMTozMCB0ZXN0X3RhZzogNXtjLi4xfSA0e2MuLjF9IDN7Yy4uMX0gMntjLi4xfSAxe2MuLjF9CityZXQ6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9vcHRpb25zLWxvZ19waWQgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvb3B0aW9ucy1sb2dfcGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3YTAxNDcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvb3B0aW9ucy1sb2dfcGlkCkBAIC0wLDAgKzEsMiBAQAorPDEzPkZlYiAxMyAyMzozMTozMCB0ZXN0X3RhZ1s5ODc2NV06IHRlc3QKK3JldDogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL29wdGlvbnMtbG9nX3BpZF9kZWZpbmUgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvb3B0aW9ucy1sb2dfcGlkX2RlZmluZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNDdiODc1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL29wdGlvbnMtbG9nX3BpZF9kZWZpbmUKQEAgLTAsMCArMSwyIEBACis8MTM+RmViIDEzIDIzOjMxOjMwIHRlc3RfdGFnWzEyMzQ1XTogdGVzdAorcmV0OiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb2dnZXIvb3B0aW9ucy1sb2dfcGlkX2xvbmcgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvb3B0aW9ucy1sb2dfcGlkX2xvbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDdhMDE0NwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9vcHRpb25zLWxvZ19waWRfbG9uZwpAQCAtMCwwICsxLDIgQEAKKzwxMz5GZWIgMTMgMjM6MzE6MzAgdGVzdF90YWdbOTg3NjVdOiB0ZXN0CityZXQ6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9vcHRpb25zLWxvZ19waWRfbm9fYXJnIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL29wdGlvbnMtbG9nX3BpZF9ub19hcmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDdhMDE0NwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9vcHRpb25zLWxvZ19waWRfbm9fYXJnCkBAIC0wLDAgKzEsMiBAQAorPDEzPkZlYiAxMyAyMzozMTozMCB0ZXN0X3RhZ1s5ODc2NV06IHRlc3QKK3JldDogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL29wdGlvbnMtc2ltcGxlIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL29wdGlvbnMtc2ltcGxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmYTE4ZTAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvb3B0aW9ucy1zaW1wbGUKQEAgLTAsMCArMSwyIEBACis8MTM+RmViIDEzIDIzOjMxOjMwIHRlc3RfdGFnOiB0ZXN0CityZXQ6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvZ2luL2lzbG9jYWwgYi90ZXN0cy9leHBlY3RlZC9sb2dpbi9pc2xvY2FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1ZDQzZmYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb2dpbi9pc2xvY2FsCkBAIC0wLDAgKzEsMTMgQEAKKzE6cm9vdAorMTpub2JvZHkKKzA6CiswOnlvdW5nbWFuCiswOnlvdW5nbWFuMgorMDphYmNkZWZnaHgKKzA6bm9ibworMTpsb25nCiswOnJvdAorMTphbAorMDptYWxmb3JtZWQKKzE6bm9ubAorMDp6bm9ib2R5CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb2dpbi9sb2dpbmRlZnMgYi90ZXN0cy9leHBlY3RlZC9sb2dpbi9sb2dpbmRlZnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWNhMmExZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2luL2xvZ2luZGVmcwpAQCAtMCwwICsxLDE0IEBACitsb2dpbmRlZnMuZGF0YTogJEVORDogJ3RoZSBpcyBlbmQnCitsb2dpbmRlZnMuZGF0YTogJEVNUFRZOiAnKG51bGwpJworbG9naW5kZWZzLmRhdGE6ICRDUkFaWTM6ICdGb29vQmFhYXInCitsb2dpbmRlZnMuZGF0YTogJENSQVpZMjogJ2Zvb0JhcicKK2xvZ2luZGVmcy5kYXRhOiAkQ1JBWlkxOiAndGhpcyBpcyBjcmF6eSBmb3JtYXQnCitsb2dpbmRlZnMuZGF0YTogJEJPT0xFQU46ICd5RXMnCitsb2dpbmRlZnMuZGF0YTogJE5VTUJFUjogJzEyMzQ1NicKK2xvZ2luZGVmcy5kYXRhOiAkU1RSSU5HOiAndGhpc19pc19zdHJpbmcnCitsb2dpbmRlZnMuZGF0YTogJEhFTExPX1dPUkxEOiAnaGVsbG8gd29ybGQhJworJFNUUklORzogJ3RoaXNfaXNfc3RyaW5nJworJE5VTUJFUjogJzEyMzQ1NicKKyRCT09MRUFOOiAnWScKKyRFTVBUWTogJycKKyRVTktOT1dOOiAnREVGQVVMVCcKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvb2svc2VwYXJhdG9yIGIvdGVzdHMvZXhwZWN0ZWQvbG9vay9zZXBhcmF0b3IKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGMxOWQwMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvb2svc2VwYXJhdG9yCkBAIC0wLDAgKzEgQEAKK2FwcGxlLXBpZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWJsa2Rldi1vZmZzZXQgYi90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtYmxrZGV2LW9mZnNldApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjM3YjZmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWJsa2Rldi1vZmZzZXQKQEAgLTAsMCArMSwzIEBACitvZmZzZXQ6ICAgIDEwNDg1NzYKK3NpemVsaW1pdDogMAorc2l6ZTogICAgICAxMDQ4NTc2MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWJsa2Rldi1zZWN0aW9uIGIvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWJsa2Rldi1zZWN0aW9uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0ODBkNjYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtYmxrZGV2LXNlY3Rpb24KQEAgLTAsMCArMSwzIEBACitvZmZzZXQ6ICAgIDEwNDg1NzYKK3NpemVsaW1pdDogMzE0NTcyOAorc2l6ZTogICAgICAzMTQ1NzI4CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtYmxrZGV2LXNob3cgYi90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtYmxrZGV2LXNob3cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmFmYzE1MQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1ibGtkZXYtc2hvdwpAQCAtMCwwICsxLDMgQEAKK29mZnNldDogICAgMAorc2l6ZWxpbWl0OiAwCitzaXplOiAgICAgIDExNTM0MzM2CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtYmxrZGV2LXNpemVsaW1pdCBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1ibGtkZXYtc2l6ZWxpbWl0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyMjBkNDgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtYmxrZGV2LXNpemVsaW1pdApAQCAtMCwwICsxLDMgQEAKK29mZnNldDogICAgMAorc2l6ZWxpbWl0OiAzMTQ1NzI4CitzaXplOiAgICAgIDMxNDU3MjgKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1maWxlLW9mZnNldCBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1maWxlLW9mZnNldApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNDE2ZjhlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWZpbGUtb2Zmc2V0CkBAIC0wLDAgKzEsMyBAQAorb2Zmc2V0OiAgICAxMDQ4NTc2CitzaXplbGltaXQ6IDAKK3NpemU6ICAgICAgOTQzNzE4NApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWZpbGUtc2VjdGlvbiBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1maWxlLXNlY3Rpb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjQ4MGQ2NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1maWxlLXNlY3Rpb24KQEAgLTAsMCArMSwzIEBACitvZmZzZXQ6ICAgIDEwNDg1NzYKK3NpemVsaW1pdDogMzE0NTcyOAorc2l6ZTogICAgICAzMTQ1NzI4CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtZmlsZS1zZWN0b24gYi90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtZmlsZS1zZWN0b24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjQ4MGQ2NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1maWxlLXNlY3RvbgpAQCAtMCwwICsxLDMgQEAKK29mZnNldDogICAgMTA0ODU3Ngorc2l6ZWxpbWl0OiAzMTQ1NzI4CitzaXplOiAgICAgIDMxNDU3MjgKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1maWxlLXNob3cgYi90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtZmlsZS1zaG93Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5ZDExNDcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtZmlsZS1zaG93CkBAIC0wLDAgKzEsMyBAQAorb2Zmc2V0OiAgICAwCitzaXplbGltaXQ6IDAKK3NpemU6ICAgICAgMTA0ODU3NjAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1maWxlLXNpemVsaW1pdCBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1maWxlLXNpemVsaW1pdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjIwZDQ4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWZpbGUtc2l6ZWxpbWl0CkBAIC0wLDAgKzEsMyBAQAorb2Zmc2V0OiAgICAwCitzaXplbGltaXQ6IDMxNDU3MjgKK3NpemU6ICAgICAgMzE0NTcyOApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWxvb3AgYi90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtbG9vcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWxvb3AKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWxvb3AtZmluZC1jb25mbGljdCBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1sb29wLWZpbmQtY29uZmxpY3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmZkNjY4YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1sb29wLWZpbmQtY29uZmxpY3QKQEAgLTAsMCArMSwzIEBACitGYWlsZWQgdG8gY3JlYXRlIGxvb3AgZGV2aWNlCitkaWZmZXJlbnQKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1sb29wLWZpbmQtY29uZmxpY3Qtbm8tc2l6ZWxpbWl0IGIvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWxvb3AtZmluZC1jb25mbGljdC1uby1zaXplbGltaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmZkNjY4YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1sb29wLWZpbmQtY29uZmxpY3Qtbm8tc2l6ZWxpbWl0CkBAIC0wLDAgKzEsMyBAQAorRmFpbGVkIHRvIGNyZWF0ZSBsb29wIGRldmljZQorZGlmZmVyZW50CitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtbG9vcC1maW5kLWNvbmZsaWN0LXJlYWRvbmx5IGIvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWxvb3AtZmluZC1jb25mbGljdC1yZWFkb25seQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZmQ2NjhiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWxvb3AtZmluZC1jb25mbGljdC1yZWFkb25seQpAQCAtMCwwICsxLDMgQEAKK0ZhaWxlZCB0byBjcmVhdGUgbG9vcCBkZXZpY2UKK2RpZmZlcmVudAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWxvb3AtZmluZC1uby1yZS11c2UgYi90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtbG9vcC1maW5kLW5vLXJlLXVzZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWNiN2Y4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWxvb3AtZmluZC1uby1yZS11c2UKQEAgLTAsMCArMSwyIEBACitkaWZmZXJlbnQKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1sb29wLWZpbmQtb2stbm8tc2l6ZWxpbWl0IGIvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWxvb3AtZmluZC1vay1uby1zaXplbGltaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2FjYjdmOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1sb29wLWZpbmQtb2stbm8tc2l6ZWxpbWl0CkBAIC0wLDAgKzEsMiBAQAorZGlmZmVyZW50CitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtbG9vcC1maW5kLXJhY2UtY29uZGl0aW9uIGIvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWxvb3AtZmluZC1yYWNlLWNvbmRpdGlvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NTMzMDc5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWxvb3AtZmluZC1yYWNlLWNvbmRpdGlvbgpAQCAtMCwwICsxLDIgQEAKKzAKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1sb29wLWZpbmQtcmUtdXNlIGIvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWxvb3AtZmluZC1yZS11c2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjU4YTQzYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1sb29wLWZpbmQtcmUtdXNlCkBAIC0wLDAgKzEsMiBAQAorZXF1YWwKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1sb29wLXBsYWluLWNvbmZsaWN0IGIvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWxvb3AtcGxhaW4tY29uZmxpY3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2M4Y2Q4ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1sb29wLXBsYWluLWNvbmZsaWN0CkBAIC0wLDAgKzEsMiBAQAorMQorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWxvb3AtcGxhaW4tcmUtdXNlIGIvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWxvb3AtcGxhaW4tcmUtdXNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1MzMwNzkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtbG9vcC1wbGFpbi1yZS11c2UKQEAgLTAsMCArMSwyIEBACiswCitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtbG9vcC1wbGFpbi1yZWFkb25seSBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1sb29wLXBsYWluLXJlYWRvbmx5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjOGNkOGYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtbG9vcC1wbGFpbi1yZWFkb25seQpAQCAtMCwwICsxLDIgQEAKKzEKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xzY3B1L2xzY3B1LWFybXY3IGIvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUtYXJtdjcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmY3ZGIyYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xzY3B1L2xzY3B1LWFybXY3CkBAIC0wLDAgKzEsMjQgQEAKK0NQVShzKTogICAgICAgICAgICAgICAgMgorT24tbGluZSBDUFUocykgbGlzdDogICAwLDEKK1RocmVhZChzKSBwZXIgY29yZTogICAgMQorQ29yZShzKSBwZXIgc29ja2V0OiAgICAyCitTb2NrZXQocyk6ICAgICAgICAgICAgIDEKK01vZGVsOiAgICAgICAgICAgICAgICAgNAorQ1BVIG1heCBNSHo6ICAgICAgICAgICAxNzAwLjAwMDAKK0NQVSBtaW4gTUh6OiAgICAgICAgICAgMjAwLjAwMDAKK0JvZ29NSVBTOiAgICAgICAgICAgICAgMTY5NC4xMAorRmxhZ3M6ICAgICAgICAgICAgICAgICBzd3AgaGFsZiB0aHVtYiBmYXN0bXVsdCB2ZnAgZWRzcCB0aHVtYmVlIG5lb24gdmZwdjMgdGxzIHZmcHY0IGlkaXZhIGlkaXZ0CisKKyMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyCisjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElECisjIHN0YXJ0aW5nIGZyb20gemVyby4KKyMgQ1BVLENvcmUsU29ja2V0LE5vZGUKKzAsMCwwLAorMSwxLDAsCisKKyMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyCisjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElECisjIHN0YXJ0aW5nIGZyb20gemVyby4KKyMgQ1BVLENvcmUsU29ja2V0LE5vZGUKKzAsMCwwLAorMSwxLDAsCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sc2NwdS9sc2NwdS1wcGMtcWVtdSBiL3Rlc3RzL2V4cGVjdGVkL2xzY3B1L2xzY3B1LXBwYy1xZW11Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2Y2M2OGIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sc2NwdS9sc2NwdS1wcGMtcWVtdQpAQCAtMCwwICsxLDIyIEBACitDUFUocyk6ICAgICAgICAgICAgICAgIDEKK09uLWxpbmUgQ1BVKHMpIGxpc3Q6ICAgMAorVGhyZWFkKHMpIHBlciBjb3JlOiAgICAxCitDb3JlKHMpIHBlciBzb2NrZXQ6ICAgIDEKK1NvY2tldChzKTogICAgICAgICAgICAgMQorTW9kZWw6ICAgICAgICAgICAgICAgICAzLjEgKHB2ciAwMDA4IDAzMDEpCitNb2RlbCBuYW1lOiAgICAgICAgICAgIDc0MC83NTAKK0JvZ29NSVBTOiAgICAgICAgICAgICAgMzMuMjUKK0wxZCBjYWNoZTogICAgICAgICAgICAgdW5rbm93biBzaXplCitMMWkgY2FjaGU6ICAgICAgICAgICAgIHVua25vd24gc2l6ZQorCisjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlcgorIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRAorIyBzdGFydGluZyBmcm9tIHplcm8uCisjIENQVSxDb3JlLFNvY2tldCxOb2RlLCxMMWQsTDFpCiswLDAsMCwsLDAsMAorCisjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlcgorIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRAorIyBzdGFydGluZyBmcm9tIHplcm8uCisjIENQVSxDb3JlLFNvY2tldCxOb2RlLCxMMWQsTDFpCiswLDAsLSwsLDAsMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUtcHBjNjQtUE9XRVI3IGIvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUtcHBjNjQtUE9XRVI3Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhZTdlYTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sc2NwdS9sc2NwdS1wcGM2NC1QT1dFUjcKQEAgLTAsMCArMSw1MyBAQAorQ1BVKHMpOiAgICAgICAgICAgICAgICAxNgorT24tbGluZSBDUFUocykgbGlzdDogICAwLTE1CitUaHJlYWQocykgcGVyIGNvcmU6ICAgIDQKK0NvcmUocykgcGVyIHNvY2tldDogICAgMQorU29ja2V0KHMpOiAgICAgICAgICAgICA0CitOVU1BIG5vZGUocyk6ICAgICAgICAgIDEKK01vZGVsOiAgICAgICAgICAgICAgICAgMi4xIChwdnIgMDAzZiAwMjAxKQorTW9kZWwgbmFtZTogICAgICAgICAgICBQT1dFUjcgKGFyY2hpdGVjdGVkKSwgYWx0aXZlYyBzdXBwb3J0ZWQKK0wxZCBjYWNoZTogICAgICAgICAgICAgMzJLCitMMWkgY2FjaGU6ICAgICAgICAgICAgIDMySworTlVNQSBub2RlMCBDUFUocyk6ICAgICAwLTE1CisKKyMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyCisjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElECisjIHN0YXJ0aW5nIGZyb20gemVyby4KKyMgQ1BVLENvcmUsU29ja2V0LE5vZGUsLEwxZCxMMWkKKzAsMCwwLDAsLDAsMAorMSwwLDAsMCwsMCwwCisyLDAsMCwwLCwwLDAKKzMsMCwwLDAsLDAsMAorNCwxLDEsMCwsMSwxCis1LDEsMSwwLCwxLDEKKzYsMSwxLDAsLDEsMQorNywxLDEsMCwsMSwxCis4LDIsMiwwLCwyLDIKKzksMiwyLDAsLDIsMgorMTAsMiwyLDAsLDIsMgorMTEsMiwyLDAsLDIsMgorMTIsMywzLDAsLDMsMworMTMsMywzLDAsLDMsMworMTQsMywzLDAsLDMsMworMTUsMywzLDAsLDMsMworCisjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlcgorIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRAorIyBzdGFydGluZyBmcm9tIHplcm8uCisjIENQVSxDb3JlLFNvY2tldCxOb2RlLCxMMWQsTDFpCiswLDAsLSwwLCwwLDAKKzEsMCwtLDAsLDAsMAorMiwwLC0sMCwsMCwwCiszLDAsLSwwLCwwLDAKKzQsNCwtLDAsLDEsMQorNSw0LC0sMCwsMSwxCis2LDQsLSwwLCwxLDEKKzcsNCwtLDAsLDEsMQorOCw4LC0sMCwsMiwyCis5LDgsLSwwLCwyLDIKKzEwLDgsLSwwLCwyLDIKKzExLDgsLSwwLCwyLDIKKzEyLDEyLC0sMCwsMywzCisxMywxMiwtLDAsLDMsMworMTQsMTIsLSwwLCwzLDMKKzE1LDEyLC0sMCwsMywzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sc2NwdS9sc2NwdS1wcGM2NC1QT1dFUjctNjRjcHUgYi90ZXN0cy9leHBlY3RlZC9sc2NwdS9sc2NwdS1wcGM2NC1QT1dFUjctNjRjcHUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWE5YjkxMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xzY3B1L2xzY3B1LXBwYzY0LVBPV0VSNy02NGNwdQpAQCAtMCwwICsxLDE1MiBAQAorQ1BVKHMpOiAgICAgICAgICAgICAgICA2NAorT24tbGluZSBDUFUocykgbGlzdDogICAwLTYzCitUaHJlYWQocykgcGVyIGNvcmU6ICAgIDQKK0NvcmUocykgcGVyIHNvY2tldDogICAgMQorU29ja2V0KHMpOiAgICAgICAgICAgICAxNgorTlVNQSBub2RlKHMpOiAgICAgICAgICAyCitNb2RlbDogICAgICAgICAgICAgICAgIDIuMSAocHZyIDAwM2YgMDIwMSkKK01vZGVsIG5hbWU6ICAgICAgICAgICAgUE9XRVI3IChhcmNoaXRlY3RlZCksIGFsdGl2ZWMgc3VwcG9ydGVkCitIeXBlcnZpc29yIHZlbmRvcjogICAgIHBIeXAKK1ZpcnR1YWxpemF0aW9uIHR5cGU6ICAgcGFyYQorTDFkIGNhY2hlOiAgICAgICAgICAgICAzMksKK0wxaSBjYWNoZTogICAgICAgICAgICAgMzJLCitOVU1BIG5vZGUwIENQVShzKTogICAgIDAtNjMKK05VTUEgbm9kZTEgQ1BVKHMpOiAgICAgCisKKyMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyCisjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElECisjIHN0YXJ0aW5nIGZyb20gemVyby4KKyMgQ1BVLENvcmUsU29ja2V0LE5vZGUsLEwxZCxMMWkKKzAsMCwwLDAsLDAsMAorMSwwLDAsMCwsMCwwCisyLDAsMCwwLCwwLDAKKzMsMCwwLDAsLDAsMAorNCwxLDEsMCwsMSwxCis1LDEsMSwwLCwxLDEKKzYsMSwxLDAsLDEsMQorNywxLDEsMCwsMSwxCis4LDIsMiwwLCwyLDIKKzksMiwyLDAsLDIsMgorMTAsMiwyLDAsLDIsMgorMTEsMiwyLDAsLDIsMgorMTIsMywzLDAsLDMsMworMTMsMywzLDAsLDMsMworMTQsMywzLDAsLDMsMworMTUsMywzLDAsLDMsMworMTYsNCw0LDAsLDQsNAorMTcsNCw0LDAsLDQsNAorMTgsNCw0LDAsLDQsNAorMTksNCw0LDAsLDQsNAorMjAsNSw1LDAsLDUsNQorMjEsNSw1LDAsLDUsNQorMjIsNSw1LDAsLDUsNQorMjMsNSw1LDAsLDUsNQorMjQsNiw2LDAsLDYsNgorMjUsNiw2LDAsLDYsNgorMjYsNiw2LDAsLDYsNgorMjcsNiw2LDAsLDYsNgorMjgsNyw3LDAsLDcsNworMjksNyw3LDAsLDcsNworMzAsNyw3LDAsLDcsNworMzEsNyw3LDAsLDcsNworMzIsOCw4LDAsLDgsOAorMzMsOCw4LDAsLDgsOAorMzQsOCw4LDAsLDgsOAorMzUsOCw4LDAsLDgsOAorMzYsOSw5LDAsLDksOQorMzcsOSw5LDAsLDksOQorMzgsOSw5LDAsLDksOQorMzksOSw5LDAsLDksOQorNDAsMTAsMTAsMCwsMTAsMTAKKzQxLDEwLDEwLDAsLDEwLDEwCis0MiwxMCwxMCwwLCwxMCwxMAorNDMsMTAsMTAsMCwsMTAsMTAKKzQ0LDExLDExLDAsLDExLDExCis0NSwxMSwxMSwwLCwxMSwxMQorNDYsMTEsMTEsMCwsMTEsMTEKKzQ3LDExLDExLDAsLDExLDExCis0OCwxMiwxMiwwLCwxMiwxMgorNDksMTIsMTIsMCwsMTIsMTIKKzUwLDEyLDEyLDAsLDEyLDEyCis1MSwxMiwxMiwwLCwxMiwxMgorNTIsMTMsMTMsMCwsMTMsMTMKKzUzLDEzLDEzLDAsLDEzLDEzCis1NCwxMywxMywwLCwxMywxMworNTUsMTMsMTMsMCwsMTMsMTMKKzU2LDE0LDE0LDAsLDE0LDE0Cis1NywxNCwxNCwwLCwxNCwxNAorNTgsMTQsMTQsMCwsMTQsMTQKKzU5LDE0LDE0LDAsLDE0LDE0Cis2MCwxNSwxNSwwLCwxNSwxNQorNjEsMTUsMTUsMCwsMTUsMTUKKzYyLDE1LDE1LDAsLDE1LDE1Cis2MywxNSwxNSwwLCwxNSwxNQorCisjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlcgorIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRAorIyBzdGFydGluZyBmcm9tIHplcm8uCisjIENQVSxDb3JlLFNvY2tldCxOb2RlLCxMMWQsTDFpCiswLDAsLSwwLCwwLDAKKzEsMCwtLDAsLDAsMAorMiwwLC0sMCwsMCwwCiszLDAsLSwwLCwwLDAKKzQsNCwtLDAsLDEsMQorNSw0LC0sMCwsMSwxCis2LDQsLSwwLCwxLDEKKzcsNCwtLDAsLDEsMQorOCw4LC0sMCwsMiwyCis5LDgsLSwwLCwyLDIKKzEwLDgsLSwwLCwyLDIKKzExLDgsLSwwLCwyLDIKKzEyLDEyLC0sMCwsMywzCisxMywxMiwtLDAsLDMsMworMTQsMTIsLSwwLCwzLDMKKzE1LDEyLC0sMCwsMywzCisxNiwxNiwtLDAsLDQsNAorMTcsMTYsLSwwLCw0LDQKKzE4LDE2LC0sMCwsNCw0CisxOSwxNiwtLDAsLDQsNAorMjAsMjAsLSwwLCw1LDUKKzIxLDIwLC0sMCwsNSw1CisyMiwyMCwtLDAsLDUsNQorMjMsMjAsLSwwLCw1LDUKKzI0LDI0LC0sMCwsNiw2CisyNSwyNCwtLDAsLDYsNgorMjYsMjQsLSwwLCw2LDYKKzI3LDI0LC0sMCwsNiw2CisyOCwyOCwtLDAsLDcsNworMjksMjgsLSwwLCw3LDcKKzMwLDI4LC0sMCwsNyw3CiszMSwyOCwtLDAsLDcsNworMzIsMzIsLSwwLCw4LDgKKzMzLDMyLC0sMCwsOCw4CiszNCwzMiwtLDAsLDgsOAorMzUsMzIsLSwwLCw4LDgKKzM2LDM2LC0sMCwsOSw5CiszNywzNiwtLDAsLDksOQorMzgsMzYsLSwwLCw5LDkKKzM5LDM2LC0sMCwsOSw5Cis0MCw0MCwtLDAsLDEwLDEwCis0MSw0MCwtLDAsLDEwLDEwCis0Miw0MCwtLDAsLDEwLDEwCis0Myw0MCwtLDAsLDEwLDEwCis0NCw0NCwtLDAsLDExLDExCis0NSw0NCwtLDAsLDExLDExCis0Niw0NCwtLDAsLDExLDExCis0Nyw0NCwtLDAsLDExLDExCis0OCw0OCwtLDAsLDEyLDEyCis0OSw0OCwtLDAsLDEyLDEyCis1MCw0OCwtLDAsLDEyLDEyCis1MSw0OCwtLDAsLDEyLDEyCis1Miw1MiwtLDAsLDEzLDEzCis1Myw1MiwtLDAsLDEzLDEzCis1NCw1MiwtLDAsLDEzLDEzCis1NSw1MiwtLDAsLDEzLDEzCis1Niw1NiwtLDAsLDE0LDE0Cis1Nyw1NiwtLDAsLDE0LDE0Cis1OCw1NiwtLDAsLDE0LDE0Cis1OSw1NiwtLDAsLDE0LDE0Cis2MCw2MCwtLDAsLDE1LDE1Cis2MSw2MCwtLDAsLDE1LDE1Cis2Miw2MCwtLDAsLDE1LDE1Cis2Myw2MCwtLDAsLDE1LDE1CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sc2NwdS9sc2NwdS1zMzkwLWt2bSBiL3Rlc3RzL2V4cGVjdGVkL2xzY3B1L2xzY3B1LXMzOTAta3ZtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3YzA2ZjUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sc2NwdS9sc2NwdS1zMzkwLWt2bQpAQCAtMCwwICsxLDMxIEBACitDUFUgb3AtbW9kZShzKTogICAgICAgIDMyLWJpdCwgNjQtYml0CitDUFUocyk6ICAgICAgICAgICAgICAgIDMKK09uLWxpbmUgQ1BVKHMpIGxpc3Q6ICAgMC0yCitUaHJlYWQocykgcGVyIGNvcmU6ICAgIDEKK0NvcmUocykgcGVyIHNvY2tldDogICAgMQorU29ja2V0KHMpIHBlciBib29rOiAgICAxCitCb29rKHMpOiAgICAgICAgICAgICAgIDMKK1ZlbmRvciBJRDogICAgICAgICAgICAgSUJNL1MzOTAKK01hY2hpbmUgdHlwZTogICAgICAgICAgMjgxNworQm9nb01JUFM6ICAgICAgICAgICAgICAxNDM2Ny4wMAorSHlwZXJ2aXNvcjogICAgICAgICAgICBLVk0vTGludXgKK0h5cGVydmlzb3IgdmVuZG9yOiAgICAgS1ZNCitWaXJ0dWFsaXphdGlvbiB0eXBlOiAgIGZ1bGwKK0Rpc3BhdGNoaW5nIG1vZGU6ICAgICAgaG9yaXpvbnRhbAorRmxhZ3M6ICAgICAgICAgICAgICAgICBlc2FuMyB6YXJjaCBzdGZsZSBtc2EgbGRpc3AgZWltbSBkZnAgZWRhdCBldGYzZWggaGlnaGdwcnMKKworIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXIKKyMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSUQKKyMgc3RhcnRpbmcgZnJvbSB6ZXJvLgorIyBDUFUsQ29yZSxTb2NrZXQsTm9kZQorMCwwLDAsCisxLDEsMSwKKzIsMiwyLAorCisjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlcgorIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRAorIyBzdGFydGluZyBmcm9tIHplcm8uCisjIENQVSxDb3JlLFNvY2tldCxOb2RlCiswLDAsLSwKKzEsMCwtLAorMiwwLC0sCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sc2NwdS9sc2NwdS1zMzkwLWxwYXIgYi90ZXN0cy9leHBlY3RlZC9sc2NwdS9sc2NwdS1zMzkwLWxwYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjlkYWYwNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xzY3B1L2xzY3B1LXMzOTAtbHBhcgpAQCAtMCwwICsxLDYwIEBACitDUFUgb3AtbW9kZShzKTogICAgICAgIDMyLWJpdCwgNjQtYml0CitDUFUocyk6ICAgICAgICAgICAgICAgIDIwCitPbi1saW5lIENQVShzKSBsaXN0OiAgIDEtNSw4LTE5CitPZmYtbGluZSBDUFUocykgbGlzdDogIDAsNiw3CitUaHJlYWQocykgcGVyIGNvcmU6ICAgIDEKK0NvcmUocykgcGVyIHNvY2tldDogICAgNAorU29ja2V0KHMpIHBlciBib29rOiAgICA2CitCb29rKHMpOiAgICAgICAgICAgICAgIDQKK1ZlbmRvciBJRDogICAgICAgICAgICAgSUJNL1MzOTAKK01hY2hpbmUgdHlwZTogICAgICAgICAgMjgxNworQm9nb01JUFM6ICAgICAgICAgICAgICAxNDM2Ny4wMAorSHlwZXJ2aXNvcjogICAgICAgICAgICBQUi9TTQorSHlwZXJ2aXNvciB2ZW5kb3I6ICAgICBJQk0KK1ZpcnR1YWxpemF0aW9uIHR5cGU6ICAgZnVsbAorRGlzcGF0Y2hpbmcgbW9kZTogICAgICB2ZXJ0aWNhbAorRmxhZ3M6ICAgICAgICAgICAgICAgICBlc2FuMyB6YXJjaCBzdGZsZSBtc2EgbGRpc3AgZWltbSBkZnAgZXRmM2VoIGhpZ2hncHJzCisKKyMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyCisjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElECisjIHN0YXJ0aW5nIGZyb20gemVyby4KKyMgQ1BVLENvcmUsU29ja2V0LE5vZGUKKzEsMCwwLAorMiwxLDAsCiszLDIsMSwKKzQsMywxLAorNSw0LDEsCis4LDUsMiwKKzksNiwyLAorMTAsNywyLAorMTEsOCwzLAorMTIsOSwzLAorMTMsMTAsMywKKzE0LDExLDMsCisxNSwxMiw0LAorMTYsMTMsNSwKKzE3LDE0LDUsCisxOCwxNSw1LAorMTksMTYsNiwKKworIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXIKKyMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSUQKKyMgc3RhcnRpbmcgZnJvbSB6ZXJvLgorIyBDUFUsQ29yZSxTb2NrZXQsTm9kZQorMSwxLC0sCisyLDEsLSwKKzMsMiwtLAorNCwyLC0sCis1LDIsLSwKKzgsMSwtLAorOSwxLC0sCisxMCwxLC0sCisxMSwyLC0sCisxMiwyLC0sCisxMywyLC0sCisxNCwyLC0sCisxNSwzLC0sCisxNiw0LC0sCisxNyw0LC0sCisxOCw0LC0sCisxOSw2LC0sCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sc2NwdS9sc2NwdS1zMzkwLWxwYXItZHJhd2VyIGIvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUtczM5MC1scGFyLWRyYXdlcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNWYzYWY5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUtczM5MC1scGFyLWRyYXdlcgpAQCAtMCwwICsxLDUyIEBACitDUFUgb3AtbW9kZShzKTogICAgICAgIDMyLWJpdCwgNjQtYml0CitDUFUocyk6ICAgICAgICAgICAgICAgIDgKK09uLWxpbmUgQ1BVKHMpIGxpc3Q6ICAgMC03CitUaHJlYWQocykgcGVyIGNvcmU6ICAgIDEKK0NvcmUocykgcGVyIHNvY2tldDogICAgOAorU29ja2V0KHMpIHBlciBib29rOiAgICAzCitCb29rKHMpIHBlciBkcmF3ZXI6ICAgIDIKK0RyYXdlcihzKTogICAgICAgICAgICAgNAorTlVNQSBub2RlKHMpOiAgICAgICAgICAxCitWZW5kb3IgSUQ6ICAgICAgICAgICAgIElCTS9TMzkwCitNYWNoaW5lIHR5cGU6ICAgICAgICAgIDI5NjQKK0NQVSBkeW5hbWljIE1IejogICAgICAgNTAwMAorQ1BVIHN0YXRpYyBNSHo6ICAgICAgICA1MDAwCitCb2dvTUlQUzogICAgICAgICAgICAgIDIwMzI1LjAwCitIeXBlcnZpc29yOiAgICAgICAgICAgIFBSL1NNCitIeXBlcnZpc29yIHZlbmRvcjogICAgIElCTQorVmlydHVhbGl6YXRpb24gdHlwZTogICBmdWxsCitEaXNwYXRjaGluZyBtb2RlOiAgICAgIGhvcml6b250YWwKK0wxZCBjYWNoZTogICAgICAgICAgICAgMTI4SworTDFpIGNhY2hlOiAgICAgICAgICAgICA5NksKK0wyZCBjYWNoZTogICAgICAgICAgICAgMjA0OEsKK0wyaSBjYWNoZTogICAgICAgICAgICAgMjA0OEsKK0wzIGNhY2hlOiAgICAgICAgICAgICAgNjU1MzZLCitMNCBjYWNoZTogICAgICAgICAgICAgIDQ5MTUyMEsKK05VTUEgbm9kZTAgQ1BVKHMpOiAgICAgMC0xNDAKK0ZsYWdzOiAgICAgICAgICAgICAgICAgZXNhbjMgemFyY2ggc3RmbGUgbXNhIGxkaXNwIGVpbW0gZGZwIGVkYXQgZXRmM2VoIGhpZ2hncHJzIHRlIHZ4IHNpZQorCisjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlcgorIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRAorIyBzdGFydGluZyBmcm9tIHplcm8uCisjIENQVSxDb3JlLFNvY2tldCxOb2RlLCxMMWQsTDFpLEwyZCxMMmkKKzAsMCwwLDAsLDAsMCwwLDAKKzEsMSwwLDAsLDEsMSwxLDEKKzIsMiwxLDAsLDIsMiwyLDIKKzMsMywxLDAsLDMsMywzLDMKKzQsNCwxLDAsLDQsNCw0LDQKKzUsNSwxLDAsLDUsNSw1LDUKKzYsNiwxLDAsLDYsNiw2LDYKKzcsNywxLDAsLDcsNyw3LDcKKworIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXIKKyMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSUQKKyMgc3RhcnRpbmcgZnJvbSB6ZXJvLgorIyBDUFUsQ29yZSxTb2NrZXQsTm9kZSwsTDFkLEwxaSxMMmQsTDJpCiswLDAsMiwwLCwwLDAsMCwwCisxLDEsMiwwLCwxLDEsMSwxCisyLDIsMywwLCwyLDIsMiwyCiszLDMsMywwLCwzLDMsMywzCis0LDQsMywwLCw0LDQsNCw0Cis1LDUsMywwLCw1LDUsNSw1Cis2LDYsMywwLCw2LDYsNiw2Cis3LDcsMywwLCw3LDcsNyw3CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sc2NwdS9sc2NwdS1zMzkwLXp2bSBiL3Rlc3RzL2V4cGVjdGVkL2xzY3B1L2xzY3B1LXMzOTAtenZtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjMDJiMDMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sc2NwdS9sc2NwdS1zMzkwLXp2bQpAQCAtMCwwICsxLDMzIEBACitDUFUgb3AtbW9kZShzKTogICAgICAgIDMyLWJpdCwgNjQtYml0CitDUFUocyk6ICAgICAgICAgICAgICAgIDQKK09uLWxpbmUgQ1BVKHMpIGxpc3Q6ICAgMC0zCitUaHJlYWQocykgcGVyIGNvcmU6ICAgIDEKK0NvcmUocykgcGVyIHNvY2tldDogICAgMQorU29ja2V0KHMpIHBlciBib29rOiAgICAxCitCb29rKHMpOiAgICAgICAgICAgICAgIDQKK1ZlbmRvciBJRDogICAgICAgICAgICAgSUJNL1MzOTAKK01hY2hpbmUgdHlwZTogICAgICAgICAgMjgxNworQm9nb01JUFM6ICAgICAgICAgICAgICAxNDM2Ny4wMAorSHlwZXJ2aXNvcjogICAgICAgICAgICB6L1ZNIDYuMS4wCitIeXBlcnZpc29yIHZlbmRvcjogICAgIElCTQorVmlydHVhbGl6YXRpb24gdHlwZTogICBmdWxsCitEaXNwYXRjaGluZyBtb2RlOiAgICAgIGhvcml6b250YWwKK0ZsYWdzOiAgICAgICAgICAgICAgICAgZXNhbjMgemFyY2ggc3RmbGUgbXNhIGxkaXNwIGVpbW0gZGZwIGV0ZjNlaCBoaWdoZ3BycworCisjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlcgorIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRAorIyBzdGFydGluZyBmcm9tIHplcm8uCisjIENQVSxDb3JlLFNvY2tldCxOb2RlCiswLDAsMCwKKzEsMSwxLAorMiwyLDIsCiszLDMsMywKKworIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXIKKyMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSUQKKyMgc3RhcnRpbmcgZnJvbSB6ZXJvLgorIyBDUFUsQ29yZSxTb2NrZXQsTm9kZQorMCwwLC0sCisxLDAsLSwKKzIsMCwtLAorMywwLC0sCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sc2NwdS9sc2NwdS1zcGFyYzY0IGIvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUtc3BhcmM2NApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZGM1ZThiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUtc3BhcmM2NApAQCAtMCwwICsxLDMwIEBACitDUFUgb3AtbW9kZShzKTogICAgICAgIDMyLWJpdCwgNjQtYml0CitDUFUocyk6ICAgICAgICAgICAgICAgIDYKK09uLWxpbmUgQ1BVKHMpIGxpc3Q6ICAgNiw3LDEwLDExLDE0LDE1CitUaHJlYWQocykgcGVyIGNvcmU6ICAgIDEKK0NvcmUocykgcGVyIHNvY2tldDogICAgMQorU29ja2V0KHMpOiAgICAgICAgICAgICA2CitNb2RlbCBuYW1lOiAgICAgICAgICAgIFRJIFVsdHJhU3BhcmMgSUkgIChCbGFja0JpcmQpCitGbGFnczogICAgICAgICAgICAgICAgIHN1bjR1CisKKyMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyCisjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElECisjIHN0YXJ0aW5nIGZyb20gemVyby4KKyMgQ1BVLENvcmUsU29ja2V0LE5vZGUKKzYsMCwwLAorNywxLDEsCisxMCwyLDIsCisxMSwzLDMsCisxNCw0LDQsCisxNSw1LDUsCisKKyMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyCisjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElECisjIHN0YXJ0aW5nIGZyb20gemVyby4KKyMgQ1BVLENvcmUsU29ja2V0LE5vZGUKKzYsMCwtLAorNywwLC0sCisxMCwwLC0sCisxMSwwLC0sCisxNCwwLC0sCisxNSwwLC0sCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sc2NwdS9sc2NwdS12Ym94LXdpbiBiL3Rlc3RzL2V4cGVjdGVkL2xzY3B1L2xzY3B1LXZib3gtd2luCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5NTgyNGIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sc2NwdS9sc2NwdS12Ym94LXdpbgpAQCAtMCwwICsxLDM3IEBACitDUFUgb3AtbW9kZShzKTogICAgICAgIDMyLWJpdCwgNjQtYml0CitDUFUocyk6ICAgICAgICAgICAgICAgIDIKK09uLWxpbmUgQ1BVKHMpIGxpc3Q6ICAgMCwxCitUaHJlYWQocykgcGVyIGNvcmU6ICAgIDEKK0NvcmUocykgcGVyIHNvY2tldDogICAgMgorU29ja2V0KHMpOiAgICAgICAgICAgICAxCitOVU1BIG5vZGUocyk6ICAgICAgICAgIDEKK1ZlbmRvciBJRDogICAgICAgICAgICAgR2VudWluZUludGVsCitDUFUgZmFtaWx5OiAgICAgICAgICAgIDYKK01vZGVsOiAgICAgICAgICAgICAgICAgNTgKK01vZGVsIG5hbWU6ICAgICAgICAgICAgSW50ZWwoUikgQ29yZShUTSkgaTUtMzMxN1UgQ1BVIEAgMS43MEdIegorU3RlcHBpbmc6ICAgICAgICAgICAgICA5CitDUFUgTUh6OiAgICAgICAgICAgICAgIDE2MDAuMDAwCitDUFUgbWF4IE1IejogICAgICAgICAgIDM4MDAuMDAwMAorQ1BVIG1pbiBNSHo6ICAgICAgICAgICAxNjAwLjAwMDAKK0JvZ29NSVBTOiAgICAgICAgICAgICAgMzM1NS42MgorSHlwZXJ2aXNvciB2ZW5kb3I6ICAgICBPcmFjbGUKK1ZpcnR1YWxpemF0aW9uIHR5cGU6ICAgZnVsbAorTDFkIGNhY2hlOiAgICAgICAgICAgICAzMksKK0wxZCBjYWNoZTogICAgICAgICAgICAgMzJLCitMMmQgY2FjaGU6ICAgICAgICAgICAgIDYxNDRLCitOVU1BIG5vZGUwIENQVShzKTogICAgIDAsMQorRmxhZ3M6ICAgICAgICAgICAgICAgICBmcHUgdm1lIGRlIHBzZSB0c2MgbXNyIHBhZSBtY2UgY3g4IGFwaWMgc2VwIG10cnIgcGdlIG1jYSBjbW92IHBhdCBwc2UzNiBjbGZsdXNoIG1teCBmeHNyIHNzZSBzc2UyIGh0IHN5c2NhbGwgbnggcmR0c2NwIGxtIGNvbnN0YW50X3RzYyByZXBfZ29vZCBub3BsIHBuaSBzc3NlMyBsYWhmX2xtCisKKyMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyCisjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElECisjIHN0YXJ0aW5nIGZyb20gemVyby4KKyMgQ1BVLENvcmUsU29ja2V0LE5vZGUsLEwxZCxMMWQsTDJkCiswLDAsMCwwLCwwLDAsMAorMSwxLDAsMCwsMSwxLDAKKworIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXIKKyMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSUQKKyMgc3RhcnRpbmcgZnJvbSB6ZXJvLgorIyBDUFUsQ29yZSxTb2NrZXQsTm9kZSwsTDFkLEwxZCxMMmQKKzAsMCwwLDAsLDAsMCwwCisxLDEsMCwwLCwxLDEsMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUteDg2XzY0LTY0Y3B1IGIvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUteDg2XzY0LTY0Y3B1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmNWM1N2EKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sc2NwdS9sc2NwdS14ODZfNjQtNjRjcHUKQEAgLTAsMCArMSwxNjMgQEAKK0NQVSBvcC1tb2RlKHMpOiAgICAgICAgMzItYml0LCA2NC1iaXQKK0NQVShzKTogICAgICAgICAgICAgICAgNjQKK09uLWxpbmUgQ1BVKHMpIGxpc3Q6ICAgMC02MworVGhyZWFkKHMpIHBlciBjb3JlOiAgICAyCitDb3JlKHMpIHBlciBzb2NrZXQ6ICAgIDgKK1NvY2tldChzKTogICAgICAgICAgICAgNAorTlVNQSBub2RlKHMpOiAgICAgICAgICAzCitWZW5kb3IgSUQ6ICAgICAgICAgICAgIEdlbnVpbmVJbnRlbAorQ1BVIGZhbWlseTogICAgICAgICAgICA2CitNb2RlbDogICAgICAgICAgICAgICAgIDQ2CitNb2RlbCBuYW1lOiAgICAgICAgICAgIEludGVsKFIpIFhlb24oUikgQ1BVICAgICAgICAgICBYNzU1MCAgQCAyLjAwR0h6CitTdGVwcGluZzogICAgICAgICAgICAgIDYKK0NQVSBNSHo6ICAgICAgICAgICAgICAgMTA2NC4wMDAKK0NQVSBtYXggTUh6OiAgICAgICAgICAgMTk5Ni4wMDAwCitDUFUgbWluIE1IejogICAgICAgICAgIDEwNjQuMDAwMAorQm9nb01JUFM6ICAgICAgICAgICAgICAzOTkwLjMxCitWaXJ0dWFsaXphdGlvbjogICAgICAgIFZULXgKK0wxZCBjYWNoZTogICAgICAgICAgICAgMzJLCitMMWkgY2FjaGU6ICAgICAgICAgICAgIDMySworTDIgY2FjaGU6ICAgICAgICAgICAgICAyNTZLCitMMyBjYWNoZTogICAgICAgICAgICAgIDE4NDMySworTlVNQSBub2RlMCBDUFUocyk6ICAgICAwLDIsNCw2LDgsMTAsMTIsMTQsMTYsMTgsMjAsMjIsMjQsMjYsMjgsMzAsMzIsMzQsMzYsMzgsNDAsNDIsNDQsNDYsNDgsNTAsNTIsNTQsNTYsNTgsNjAsNjIKK05VTUEgbm9kZTIgQ1BVKHMpOiAgICAgMSw1LDksMTMsMTcsMjEsMjUsMjksMzMsMzcsNDEsNDUsNDksNTMsNTcsNjEKK05VTUEgbm9kZTMgQ1BVKHMpOiAgICAgMyw3LDExLDE1LDE5LDIzLDI3LDMxLDM1LDM5LDQzLDQ3LDUxLDU1LDU5LDYzCitGbGFnczogICAgICAgICAgICAgICAgIGZwdSB2bWUgZGUgcHNlIHRzYyBtc3IgcGFlIG1jZSBjeDggYXBpYyBtdHJyIHBnZSBtY2EgY21vdiBwYXQgcHNlMzYgY2xmbHVzaCBkdHMgYWNwaSBtbXggZnhzciBzc2Ugc3NlMiBzcyBodCB0bSBwYmUgc3lzY2FsbCBueCByZHRzY3AgbG0gY29uc3RhbnRfdHNjIGFyY2hfcGVyZm1vbiBwZWJzIGJ0cyByZXBfZ29vZCB4dG9wb2xvZ3kgbm9uc3RvcF90c2MgYXBlcmZtcGVyZiBwbmkgZHRlczY0IG1vbml0b3IgZHNfY3BsIHZteCBlc3QgdG0yIHNzc2UzIGN4MTYgeHRwciBwZGNtIGRjYSBzc2U0XzEgc3NlNF8yIHgyYXBpYyBwb3BjbnQgbGFoZl9sbSBpZGEgZXBiIGR0cyB0cHJfc2hhZG93IHZubWkgZmxleHByaW9yaXR5IGVwdCB2cGlkCisKKyMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyCisjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElECisjIHN0YXJ0aW5nIGZyb20gemVyby4KKyMgQ1BVLENvcmUsU29ja2V0LE5vZGUsLEwxZCxMMWksTDIsTDMKKzAsMCwwLDAsLDAsMCwwLDAKKzEsMSwxLDIsLDEsMSwxLDEKKzIsMiwyLDAsLDIsMiwyLDIKKzMsMywzLDMsLDMsMywzLDMKKzQsNCwwLDAsLDQsNCw0LDAKKzUsNSwxLDIsLDUsNSw1LDEKKzYsNiwyLDAsLDYsNiw2LDIKKzcsNywzLDMsLDcsNyw3LDMKKzgsOCwwLDAsLDgsOCw4LDAKKzksOSwxLDIsLDksOSw5LDEKKzEwLDEwLDIsMCwsMTAsMTAsMTAsMgorMTEsMTEsMywzLCwxMSwxMSwxMSwzCisxMiwxMiwwLDAsLDEyLDEyLDEyLDAKKzEzLDEzLDEsMiwsMTMsMTMsMTMsMQorMTQsMTQsMiwwLCwxNCwxNCwxNCwyCisxNSwxNSwzLDMsLDE1LDE1LDE1LDMKKzE2LDE2LDAsMCwsMTYsMTYsMTYsMAorMTcsMTcsMSwyLCwxNywxNywxNywxCisxOCwxOCwyLDAsLDE4LDE4LDE4LDIKKzE5LDE5LDMsMywsMTksMTksMTksMworMjAsMjAsMCwwLCwyMCwyMCwyMCwwCisyMSwyMSwxLDIsLDIxLDIxLDIxLDEKKzIyLDIyLDIsMCwsMjIsMjIsMjIsMgorMjMsMjMsMywzLCwyMywyMywyMywzCisyNCwyNCwwLDAsLDI0LDI0LDI0LDAKKzI1LDI1LDEsMiwsMjUsMjUsMjUsMQorMjYsMjYsMiwwLCwyNiwyNiwyNiwyCisyNywyNywzLDMsLDI3LDI3LDI3LDMKKzI4LDI4LDAsMCwsMjgsMjgsMjgsMAorMjksMjksMSwyLCwyOSwyOSwyOSwxCiszMCwzMCwyLDAsLDMwLDMwLDMwLDIKKzMxLDMxLDMsMywsMzEsMzEsMzEsMworMzIsMCwwLDAsLDAsMCwwLDAKKzMzLDEsMSwyLCwxLDEsMSwxCiszNCwyLDIsMCwsMiwyLDIsMgorMzUsMywzLDMsLDMsMywzLDMKKzM2LDQsMCwwLCw0LDQsNCwwCiszNyw1LDEsMiwsNSw1LDUsMQorMzgsNiwyLDAsLDYsNiw2LDIKKzM5LDcsMywzLCw3LDcsNywzCis0MCw4LDAsMCwsOCw4LDgsMAorNDEsOSwxLDIsLDksOSw5LDEKKzQyLDEwLDIsMCwsMTAsMTAsMTAsMgorNDMsMTEsMywzLCwxMSwxMSwxMSwzCis0NCwxMiwwLDAsLDEyLDEyLDEyLDAKKzQ1LDEzLDEsMiwsMTMsMTMsMTMsMQorNDYsMTQsMiwwLCwxNCwxNCwxNCwyCis0NywxNSwzLDMsLDE1LDE1LDE1LDMKKzQ4LDE2LDAsMCwsMTYsMTYsMTYsMAorNDksMTcsMSwyLCwxNywxNywxNywxCis1MCwxOCwyLDAsLDE4LDE4LDE4LDIKKzUxLDE5LDMsMywsMTksMTksMTksMworNTIsMjAsMCwwLCwyMCwyMCwyMCwwCis1MywyMSwxLDIsLDIxLDIxLDIxLDEKKzU0LDIyLDIsMCwsMjIsMjIsMjIsMgorNTUsMjMsMywzLCwyMywyMywyMywzCis1NiwyNCwwLDAsLDI0LDI0LDI0LDAKKzU3LDI1LDEsMiwsMjUsMjUsMjUsMQorNTgsMjYsMiwwLCwyNiwyNiwyNiwyCis1OSwyNywzLDMsLDI3LDI3LDI3LDMKKzYwLDI4LDAsMCwsMjgsMjgsMjgsMAorNjEsMjksMSwyLCwyOSwyOSwyOSwxCis2MiwzMCwyLDAsLDMwLDMwLDMwLDIKKzYzLDMxLDMsMywsMzEsMzEsMzEsMworCisjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlcgorIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRAorIyBzdGFydGluZyBmcm9tIHplcm8uCisjIENQVSxDb3JlLFNvY2tldCxOb2RlLCxMMWQsTDFpLEwyLEwzCiswLDAsMCwwLCwwLDAsMCwwCisxLDAsMiwyLCwxLDEsMSwxCisyLDAsMSwwLCwyLDIsMiwyCiszLDAsMywzLCwzLDMsMywzCis0LDgsMCwwLCw0LDQsNCwwCis1LDgsMiwyLCw1LDUsNSwxCis2LDgsMSwwLCw2LDYsNiwyCis3LDgsMywzLCw3LDcsNywzCis4LDIsMCwwLCw4LDgsOCwwCis5LDIsMiwyLCw5LDksOSwxCisxMCwyLDEsMCwsMTAsMTAsMTAsMgorMTEsMiwzLDMsLDExLDExLDExLDMKKzEyLDEwLDAsMCwsMTIsMTIsMTIsMAorMTMsMTAsMiwyLCwxMywxMywxMywxCisxNCwxMCwxLDAsLDE0LDE0LDE0LDIKKzE1LDEwLDMsMywsMTUsMTUsMTUsMworMTYsMSwwLDAsLDE2LDE2LDE2LDAKKzE3LDEsMiwyLCwxNywxNywxNywxCisxOCwxLDEsMCwsMTgsMTgsMTgsMgorMTksMSwzLDMsLDE5LDE5LDE5LDMKKzIwLDksMCwwLCwyMCwyMCwyMCwwCisyMSw5LDIsMiwsMjEsMjEsMjEsMQorMjIsOSwxLDAsLDIyLDIyLDIyLDIKKzIzLDksMywzLCwyMywyMywyMywzCisyNCwzLDAsMCwsMjQsMjQsMjQsMAorMjUsMywyLDIsLDI1LDI1LDI1LDEKKzI2LDMsMSwwLCwyNiwyNiwyNiwyCisyNywzLDMsMywsMjcsMjcsMjcsMworMjgsMTEsMCwwLCwyOCwyOCwyOCwwCisyOSwxMSwyLDIsLDI5LDI5LDI5LDEKKzMwLDExLDEsMCwsMzAsMzAsMzAsMgorMzEsMTEsMywzLCwzMSwzMSwzMSwzCiszMiwwLDAsMCwsMCwwLDAsMAorMzMsMCwyLDIsLDEsMSwxLDEKKzM0LDAsMSwwLCwyLDIsMiwyCiszNSwwLDMsMywsMywzLDMsMworMzYsOCwwLDAsLDQsNCw0LDAKKzM3LDgsMiwyLCw1LDUsNSwxCiszOCw4LDEsMCwsNiw2LDYsMgorMzksOCwzLDMsLDcsNyw3LDMKKzQwLDIsMCwwLCw4LDgsOCwwCis0MSwyLDIsMiwsOSw5LDksMQorNDIsMiwxLDAsLDEwLDEwLDEwLDIKKzQzLDIsMywzLCwxMSwxMSwxMSwzCis0NCwxMCwwLDAsLDEyLDEyLDEyLDAKKzQ1LDEwLDIsMiwsMTMsMTMsMTMsMQorNDYsMTAsMSwwLCwxNCwxNCwxNCwyCis0NywxMCwzLDMsLDE1LDE1LDE1LDMKKzQ4LDEsMCwwLCwxNiwxNiwxNiwwCis0OSwxLDIsMiwsMTcsMTcsMTcsMQorNTAsMSwxLDAsLDE4LDE4LDE4LDIKKzUxLDEsMywzLCwxOSwxOSwxOSwzCis1Miw5LDAsMCwsMjAsMjAsMjAsMAorNTMsOSwyLDIsLDIxLDIxLDIxLDEKKzU0LDksMSwwLCwyMiwyMiwyMiwyCis1NSw5LDMsMywsMjMsMjMsMjMsMworNTYsMywwLDAsLDI0LDI0LDI0LDAKKzU3LDMsMiwyLCwyNSwyNSwyNSwxCis1OCwzLDEsMCwsMjYsMjYsMjYsMgorNTksMywzLDMsLDI3LDI3LDI3LDMKKzYwLDExLDAsMCwsMjgsMjgsMjgsMAorNjEsMTEsMiwyLCwyOSwyOSwyOSwxCis2MiwxMSwxLDAsLDMwLDMwLDMwLDIKKzYzLDExLDMsMywsMzEsMzEsMzEsMwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUteDg2XzY0LWRlbGxfZTQzMTAgYi90ZXN0cy9leHBlY3RlZC9sc2NwdS9sc2NwdS14ODZfNjQtZGVsbF9lNDMxMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZTNlYTZlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUteDg2XzY0LWRlbGxfZTQzMTAKQEAgLTAsMCArMSw0MSBAQAorQ1BVIG9wLW1vZGUocyk6ICAgICAgICAzMi1iaXQsIDY0LWJpdAorQ1BVKHMpOiAgICAgICAgICAgICAgICA0CitPbi1saW5lIENQVShzKSBsaXN0OiAgIDAtMworVGhyZWFkKHMpIHBlciBjb3JlOiAgICAyCitDb3JlKHMpIHBlciBzb2NrZXQ6ICAgIDIKK1NvY2tldChzKTogICAgICAgICAgICAgMQorTlVNQSBub2RlKHMpOiAgICAgICAgICAxCitWZW5kb3IgSUQ6ICAgICAgICAgICAgIEdlbnVpbmVJbnRlbAorQ1BVIGZhbWlseTogICAgICAgICAgICA2CitNb2RlbDogICAgICAgICAgICAgICAgIDM3CitNb2RlbCBuYW1lOiAgICAgICAgICAgIEludGVsKFIpIENvcmUoVE0pIGk1IENQVSAgICAgICBNIDU2MCAgQCAyLjY3R0h6CitTdGVwcGluZzogICAgICAgICAgICAgIDUKK0NQVSBNSHo6ICAgICAgICAgICAgICAgMTE5OS4wMDAKK0NQVSBtYXggTUh6OiAgICAgICAgICAgMjY2Ny4wMDAwCitDUFUgbWluIE1IejogICAgICAgICAgIDExOTkuMDAwMAorQm9nb01JUFM6ICAgICAgICAgICAgICA1MzE5LjkyCitWaXJ0dWFsaXphdGlvbjogICAgICAgIFZULXgKK0wxZCBjYWNoZTogICAgICAgICAgICAgMzJLCitMMWkgY2FjaGU6ICAgICAgICAgICAgIDMySworTDIgY2FjaGU6ICAgICAgICAgICAgICAyNTZLCitMMyBjYWNoZTogICAgICAgICAgICAgIDMwNzJLCitOVU1BIG5vZGUwIENQVShzKTogICAgIDAtMworRmxhZ3M6ICAgICAgICAgICAgICAgICBmcHUgdm1lIGRlIHBzZSB0c2MgbXNyIHBhZSBtY2UgY3g4IGFwaWMgc2VwIG10cnIgcGdlIG1jYSBjbW92IHBhdCBwc2UzNiBjbGZsdXNoIGR0cyBhY3BpIG1teCBmeHNyIHNzZSBzc2UyIHNzIGh0IHRtIHBiZSBzeXNjYWxsIG54IHJkdHNjcCBsbSBjb25zdGFudF90c2MgYXJjaF9wZXJmbW9uIHBlYnMgYnRzIHJlcF9nb29kIG5vcGwgeHRvcG9sb2d5IG5vbnN0b3BfdHNjIGFwZXJmbXBlcmYgcG5pIHBjbG11bHFkcSBkdGVzNjQgbW9uaXRvciBkc19jcGwgdm14IHNteCBlc3QgdG0yIHNzc2UzIGN4MTYgeHRwciBwZGNtIHNzZTRfMSBzc2U0XzIgcG9wY250IGFlcyBsYWhmX2xtIGlkYSBhcmF0IGR0cyB0cHJfc2hhZG93IHZubWkgZmxleHByaW9yaXR5IGVwdCB2cGlkCisKKyMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyCisjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElECisjIHN0YXJ0aW5nIGZyb20gemVyby4KKyMgQ1BVLENvcmUsU29ja2V0LE5vZGUsLEwxZCxMMWksTDIsTDMKKzAsMCwwLDAsLDAsMCwwLDAKKzEsMSwwLDAsLDEsMSwxLDAKKzIsMCwwLDAsLDAsMCwwLDAKKzMsMSwwLDAsLDEsMSwxLDAKKworIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXIKKyMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSUQKKyMgc3RhcnRpbmcgZnJvbSB6ZXJvLgorIyBDUFUsQ29yZSxTb2NrZXQsTm9kZSwsTDFkLEwxaSxMMixMMworMCwwLDAsMCwsMCwwLDAsMAorMSwyLDAsMCwsMSwxLDEsMAorMiwwLDAsMCwsMCwwLDAsMAorMywyLDAsMCwsMSwxLDEsMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWQ1L21kNSBiL3Rlc3RzL2V4cGVjdGVkL21kNS9tZDUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDY1NTlhNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21kNS9tZDUKQEAgLTAsMCArMSw3IEBACitkNDFkOGNkOThmMDBiMjA0ZTk4MDA5OThlY2Y4NDI3ZQorOTAwMTUwOTgzY2QyNGZiMGQ2OTYzZjdkMjhlMTdmNzIKKzVlYjZkNTgwZTVmNjhmZGU2NWMzNzc4YWZiODgyNmZmCitiZDFlMTNiZGFhYjgyNTgxZDRkYzI5OWViOWEzZGEwZgorZDgxZWU0ZjU2Nzk3MmExOGY5MzI2NTQwYjVkOGFlYWYKKzk1NjFiZDIwOGMwMDQxYzY3MzA4MGVkNzQ0OTE5Yjg1CitkOThkNThkNTU2MmNhNGRkNDdmMGYwZmU4NmIyZDQ4ZgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjayBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2sKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGQ2NWQxMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2sKQEAgLTAsMCArMSwzNzAgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyQgbWtmcy5taW5peCAgIGltYWdlCisxNzI4IGlub2RlcworNTEyMCBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9NTggKDU4KQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yNjg5NjY5MTIKKworcmV0dXJuIG1rZnM6IDAKKyQgZnNjay5taW5peCAtbGF2c2YgaW1hZ2UKK0ZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiBpbWFnZS4KKzE3MjggaW5vZGVzCis1MTIwIGJsb2NrcworRmlyc3RkYXRhem9uZT01OCAoNTgpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTI2ODk2NjkxMgorRmlsZXN5c3RlbSBzdGF0ZT0xCituYW1lbGVuPTMwCisKKworICAgICAxIGlub2RlcyB1c2VkICgwJSkKKyAgICA1OSB6b25lcyB1c2VkICgxJSkKKworICAgICAwIHJlZ3VsYXIgZmlsZXMKKyAgICAgMSBkaXJlY3RvcmllcworICAgICAwIGNoYXJhY3RlciBkZXZpY2UgZmlsZXMKKyAgICAgMCBibG9jayBkZXZpY2UgZmlsZXMKKyAgICAgMCBsaW5rcworICAgICAwIHN5bWJvbGljIGxpbmtzCistLS0tLS0KKyAgICAgMSBmaWxlcworcmV0dXJuIGZzY2s6IDAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyQgbWtmcy5taW5peCAgLW4gMTQgaW1hZ2UKKzE3MjggaW5vZGVzCis1MTIwIGJsb2NrcworRmlyc3RkYXRhem9uZT01OCAoNTgpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTI2ODk2NjkxMgorCityZXR1cm4gbWtmczogMAorJCBmc2NrLm1pbml4IC1sYXZzZiBpbWFnZQorRm9yY2luZyBmaWxlc3lzdGVtIGNoZWNrIG9uIGltYWdlLgorMTcyOCBpbm9kZXMKKzUxMjAgYmxvY2tzCitGaXJzdGRhdGF6b25lPTU4ICg1OCkKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjY4OTY2OTEyCitGaWxlc3lzdGVtIHN0YXRlPTEKK25hbWVsZW49MTQKKworCisgICAgIDEgaW5vZGVzIHVzZWQgKDAlKQorICAgIDU5IHpvbmVzIHVzZWQgKDElKQorCisgICAgIDAgcmVndWxhciBmaWxlcworICAgICAxIGRpcmVjdG9yaWVzCisgICAgIDAgY2hhcmFjdGVyIGRldmljZSBmaWxlcworICAgICAwIGJsb2NrIGRldmljZSBmaWxlcworICAgICAwIGxpbmtzCisgICAgIDAgc3ltYm9saWMgbGlua3MKKy0tLS0tLQorICAgICAxIGZpbGVzCityZXR1cm4gZnNjazogMAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworJCBta2ZzLm1pbml4ICAtbiAzMCBpbWFnZQorMTcyOCBpbm9kZXMKKzUxMjAgYmxvY2tzCitGaXJzdGRhdGF6b25lPTU4ICg1OCkKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjY4OTY2OTEyCisKK3JldHVybiBta2ZzOiAwCiskIGZzY2subWluaXggLWxhdnNmIGltYWdlCitGb3JjaW5nIGZpbGVzeXN0ZW0gY2hlY2sgb24gaW1hZ2UuCisxNzI4IGlub2RlcworNTEyMCBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9NTggKDU4KQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yNjg5NjY5MTIKK0ZpbGVzeXN0ZW0gc3RhdGU9MQorbmFtZWxlbj0zMAorCisKKyAgICAgMSBpbm9kZXMgdXNlZCAoMCUpCisgICAgNTkgem9uZXMgdXNlZCAoMSUpCisKKyAgICAgMCByZWd1bGFyIGZpbGVzCisgICAgIDEgZGlyZWN0b3JpZXMKKyAgICAgMCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzCisgICAgIDAgYmxvY2sgZGV2aWNlIGZpbGVzCisgICAgIDAgbGlua3MKKyAgICAgMCBzeW1ib2xpYyBsaW5rcworLS0tLS0tCisgICAgIDEgZmlsZXMKK3JldHVybiBmc2NrOiAwCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiskIG1rZnMubWluaXggIC1uIDYwIGltYWdlCitta2ZzLm1pbml4OiB1bnN1cHBvcnRlZCBuYW1lIGxlbmd0aDogNjAKK3JldHVybiBta2ZzOiA4CisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiskIG1rZnMubWluaXggLTEgIGltYWdlCisxNzI4IGlub2RlcworNTEyMCBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9NTggKDU4KQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yNjg5NjY5MTIKKworcmV0dXJuIG1rZnM6IDAKKyQgZnNjay5taW5peCAtbGF2c2YgaW1hZ2UKK0ZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiBpbWFnZS4KKzE3MjggaW5vZGVzCis1MTIwIGJsb2NrcworRmlyc3RkYXRhem9uZT01OCAoNTgpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTI2ODk2NjkxMgorRmlsZXN5c3RlbSBzdGF0ZT0xCituYW1lbGVuPTMwCisKKworICAgICAxIGlub2RlcyB1c2VkICgwJSkKKyAgICA1OSB6b25lcyB1c2VkICgxJSkKKworICAgICAwIHJlZ3VsYXIgZmlsZXMKKyAgICAgMSBkaXJlY3RvcmllcworICAgICAwIGNoYXJhY3RlciBkZXZpY2UgZmlsZXMKKyAgICAgMCBibG9jayBkZXZpY2UgZmlsZXMKKyAgICAgMCBsaW5rcworICAgICAwIHN5bWJvbGljIGxpbmtzCistLS0tLS0KKyAgICAgMSBmaWxlcworcmV0dXJuIGZzY2s6IDAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyQgbWtmcy5taW5peCAtMSAtbiAxNCBpbWFnZQorMTcyOCBpbm9kZXMKKzUxMjAgYmxvY2tzCitGaXJzdGRhdGF6b25lPTU4ICg1OCkKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjY4OTY2OTEyCisKK3JldHVybiBta2ZzOiAwCiskIGZzY2subWluaXggLWxhdnNmIGltYWdlCitGb3JjaW5nIGZpbGVzeXN0ZW0gY2hlY2sgb24gaW1hZ2UuCisxNzI4IGlub2RlcworNTEyMCBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9NTggKDU4KQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yNjg5NjY5MTIKK0ZpbGVzeXN0ZW0gc3RhdGU9MQorbmFtZWxlbj0xNAorCisKKyAgICAgMSBpbm9kZXMgdXNlZCAoMCUpCisgICAgNTkgem9uZXMgdXNlZCAoMSUpCisKKyAgICAgMCByZWd1bGFyIGZpbGVzCisgICAgIDEgZGlyZWN0b3JpZXMKKyAgICAgMCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzCisgICAgIDAgYmxvY2sgZGV2aWNlIGZpbGVzCisgICAgIDAgbGlua3MKKyAgICAgMCBzeW1ib2xpYyBsaW5rcworLS0tLS0tCisgICAgIDEgZmlsZXMKK3JldHVybiBmc2NrOiAwCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiskIG1rZnMubWluaXggLTEgLW4gMzAgaW1hZ2UKKzE3MjggaW5vZGVzCis1MTIwIGJsb2NrcworRmlyc3RkYXRhem9uZT01OCAoNTgpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTI2ODk2NjkxMgorCityZXR1cm4gbWtmczogMAorJCBmc2NrLm1pbml4IC1sYXZzZiBpbWFnZQorRm9yY2luZyBmaWxlc3lzdGVtIGNoZWNrIG9uIGltYWdlLgorMTcyOCBpbm9kZXMKKzUxMjAgYmxvY2tzCitGaXJzdGRhdGF6b25lPTU4ICg1OCkKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjY4OTY2OTEyCitGaWxlc3lzdGVtIHN0YXRlPTEKK25hbWVsZW49MzAKKworCisgICAgIDEgaW5vZGVzIHVzZWQgKDAlKQorICAgIDU5IHpvbmVzIHVzZWQgKDElKQorCisgICAgIDAgcmVndWxhciBmaWxlcworICAgICAxIGRpcmVjdG9yaWVzCisgICAgIDAgY2hhcmFjdGVyIGRldmljZSBmaWxlcworICAgICAwIGJsb2NrIGRldmljZSBmaWxlcworICAgICAwIGxpbmtzCisgICAgIDAgc3ltYm9saWMgbGlua3MKKy0tLS0tLQorICAgICAxIGZpbGVzCityZXR1cm4gZnNjazogMAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworJCBta2ZzLm1pbml4IC0xIC1uIDYwIGltYWdlCitta2ZzLm1pbml4OiB1bnN1cHBvcnRlZCBuYW1lIGxlbmd0aDogNjAKK3JldHVybiBta2ZzOiA4CisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiskIG1rZnMubWluaXggLTIgIGltYWdlCisxNzEyIGlub2RlcworNTEyMCBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9MTExICgxMTEpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTIxNDc0ODM2NDcKKworcmV0dXJuIG1rZnM6IDAKKyQgZnNjay5taW5peCAtbGF2c2YgaW1hZ2UKK0ZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiBpbWFnZS4KKzE3MTIgaW5vZGVzCis1MTIwIGJsb2NrcworRmlyc3RkYXRhem9uZT0xMTEgKDExMSkKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjE0NzQ4MzY0NworRmlsZXN5c3RlbSBzdGF0ZT0xCituYW1lbGVuPTMwCisKKworICAgICAxIGlub2RlcyB1c2VkICgwJSkKKyAgIDExMiB6b25lcyB1c2VkICgyJSkKKworICAgICAwIHJlZ3VsYXIgZmlsZXMKKyAgICAgMSBkaXJlY3RvcmllcworICAgICAwIGNoYXJhY3RlciBkZXZpY2UgZmlsZXMKKyAgICAgMCBibG9jayBkZXZpY2UgZmlsZXMKKyAgICAgMCBsaW5rcworICAgICAwIHN5bWJvbGljIGxpbmtzCistLS0tLS0KKyAgICAgMSBmaWxlcworcmV0dXJuIGZzY2s6IDAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyQgbWtmcy5taW5peCAtMiAtbiAxNCBpbWFnZQorMTcxMiBpbm9kZXMKKzUxMjAgYmxvY2tzCitGaXJzdGRhdGF6b25lPTExMSAoMTExKQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yMTQ3NDgzNjQ3CisKK3JldHVybiBta2ZzOiAwCiskIGZzY2subWluaXggLWxhdnNmIGltYWdlCitGb3JjaW5nIGZpbGVzeXN0ZW0gY2hlY2sgb24gaW1hZ2UuCisxNzEyIGlub2RlcworNTEyMCBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9MTExICgxMTEpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTIxNDc0ODM2NDcKK0ZpbGVzeXN0ZW0gc3RhdGU9MQorbmFtZWxlbj0xNAorCisKKyAgICAgMSBpbm9kZXMgdXNlZCAoMCUpCisgICAxMTIgem9uZXMgdXNlZCAoMiUpCisKKyAgICAgMCByZWd1bGFyIGZpbGVzCisgICAgIDEgZGlyZWN0b3JpZXMKKyAgICAgMCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzCisgICAgIDAgYmxvY2sgZGV2aWNlIGZpbGVzCisgICAgIDAgbGlua3MKKyAgICAgMCBzeW1ib2xpYyBsaW5rcworLS0tLS0tCisgICAgIDEgZmlsZXMKK3JldHVybiBmc2NrOiAwCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiskIG1rZnMubWluaXggLTIgLW4gMzAgaW1hZ2UKKzE3MTIgaW5vZGVzCis1MTIwIGJsb2NrcworRmlyc3RkYXRhem9uZT0xMTEgKDExMSkKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjE0NzQ4MzY0NworCityZXR1cm4gbWtmczogMAorJCBmc2NrLm1pbml4IC1sYXZzZiBpbWFnZQorRm9yY2luZyBmaWxlc3lzdGVtIGNoZWNrIG9uIGltYWdlLgorMTcxMiBpbm9kZXMKKzUxMjAgYmxvY2tzCitGaXJzdGRhdGF6b25lPTExMSAoMTExKQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yMTQ3NDgzNjQ3CitGaWxlc3lzdGVtIHN0YXRlPTEKK25hbWVsZW49MzAKKworCisgICAgIDEgaW5vZGVzIHVzZWQgKDAlKQorICAgMTEyIHpvbmVzIHVzZWQgKDIlKQorCisgICAgIDAgcmVndWxhciBmaWxlcworICAgICAxIGRpcmVjdG9yaWVzCisgICAgIDAgY2hhcmFjdGVyIGRldmljZSBmaWxlcworICAgICAwIGJsb2NrIGRldmljZSBmaWxlcworICAgICAwIGxpbmtzCisgICAgIDAgc3ltYm9saWMgbGlua3MKKy0tLS0tLQorICAgICAxIGZpbGVzCityZXR1cm4gZnNjazogMAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworJCBta2ZzLm1pbml4IC0yIC1uIDYwIGltYWdlCitta2ZzLm1pbml4OiB1bnN1cHBvcnRlZCBuYW1lIGxlbmd0aDogNjAKK3JldHVybiBta2ZzOiA4CisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiskIG1rZnMubWluaXggLTMgIGltYWdlCisxNzEyIGlub2RlcworNTEyMCBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9MTExICgxMTEpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTIxNDc0ODM2NDcKKworcmV0dXJuIG1rZnM6IDAKKyQgZnNjay5taW5peCAtbGF2c2YgaW1hZ2UKK0ZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiBpbWFnZS4KKzE3MTIgaW5vZGVzCis1MTIwIGJsb2NrcworRmlyc3RkYXRhem9uZT0xMTEgKDExMSkKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjE0NzQ4MzY0NworbmFtZWxlbj02MAorCisKKyAgICAgMSBpbm9kZXMgdXNlZCAoMCUpCisgICAxMTIgem9uZXMgdXNlZCAoMiUpCisKKyAgICAgMCByZWd1bGFyIGZpbGVzCisgICAgIDEgZGlyZWN0b3JpZXMKKyAgICAgMCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzCisgICAgIDAgYmxvY2sgZGV2aWNlIGZpbGVzCisgICAgIDAgbGlua3MKKyAgICAgMCBzeW1ib2xpYyBsaW5rcworLS0tLS0tCisgICAgIDEgZmlsZXMKK3JldHVybiBmc2NrOiAwCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiskIG1rZnMubWluaXggLTMgLW4gMTQgaW1hZ2UKK21rZnMubWluaXg6IHVuc3VwcG9ydGVkIG5hbWUgbGVuZ3RoOiAxNAorcmV0dXJuIG1rZnM6IDgKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyQgbWtmcy5taW5peCAtMyAtbiAzMCBpbWFnZQorbWtmcy5taW5peDogdW5zdXBwb3J0ZWQgbmFtZSBsZW5ndGg6IDMwCityZXR1cm4gbWtmczogOAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworJCBta2ZzLm1pbml4IC0zIC1uIDYwIGltYWdlCisxNzEyIGlub2RlcworNTEyMCBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9MTExICgxMTEpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTIxNDc0ODM2NDcKKworcmV0dXJuIG1rZnM6IDAKKyQgZnNjay5taW5peCAtbGF2c2YgaW1hZ2UKK0ZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiBpbWFnZS4KKzE3MTIgaW5vZGVzCis1MTIwIGJsb2NrcworRmlyc3RkYXRhem9uZT0xMTEgKDExMSkKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjE0NzQ4MzY0NworbmFtZWxlbj02MAorCisKKyAgICAgMSBpbm9kZXMgdXNlZCAoMCUpCisgICAxMTIgem9uZXMgdXNlZCAoMiUpCisKKyAgICAgMCByZWd1bGFyIGZpbGVzCisgICAgIDEgZGlyZWN0b3JpZXMKKyAgICAgMCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzCisgICAgIDAgYmxvY2sgZGV2aWNlIGZpbGVzCisgICAgIDAgbGlua3MKKyAgICAgMCBzeW1ib2xpYyBsaW5rcworLS0tLS0tCisgICAgIDEgZmlsZXMKK3JldHVybiBmc2NrOiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy1hdXRvLWZpeCBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLWF1dG8tZml4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0YTY0ODcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy1hdXRvLWZpeApAQCAtMCwwICsxLDU3IEBACitGaWxlc3lzdGVtIGF1dG8tZml4IGlzIGRpcnR5LCBuZWVkcyBjaGVja2luZy4KK1JlYWQgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICcvJworMTYgaW5vZGVzCisxNiBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9NSAoNSkKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjE0NzQ4MzY0NworbmFtZWxlbj02MAorCitSZWFkIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnLycKKy86IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdAorUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJy8nCisvOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZAorSW5vZGUgMSBub3QgdXNlZCwgbWFya2VkIHVzZWQgaW4gdGhlIGJpdG1hcC4KKworICAgICAwIGlub2RlcyB1c2VkICgwJSkKKyAgICAgNiB6b25lcyB1c2VkICgzNyUpCisKKyAgICAgMCByZWd1bGFyIGZpbGVzCisgICAgIDAgZGlyZWN0b3JpZXMKKyAgICAgMCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzCisgICAgIDAgYmxvY2sgZGV2aWNlIGZpbGVzCisgICAgIDEgbGlua3MKKyAgICAgMCBzeW1ib2xpYyBsaW5rcworLS0tLS0tCisgICAgIDEgZmlsZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0ZJTEUgU1lTVEVNIEhBUyBCRUVOIENIQU5HRUQKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2ZzY2sgcmVwb3J0cyBjaGFuZ2VkIGFuZCB1bmNvcnJlY3RlZDogNworMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDQwMCAgMTAgMDAgMDAgMDAgMDAgMDAgMDEgMDAgIDAxIDAwIDA1IDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwNDEwICBmZiBmZiBmZiA3ZiAxMCAwMCAwMCAwMCAgNWEgNGQgMDAgMDAgMDAgMDQgMDAgMDAgIHwuLi4uLi4uLlpNLi4uLi4ufAorMDAwMDA0MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDgwMCAgMDMgMDAgZmUgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwODEwICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDBjMDAgIDAzIGYwIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMGMxMCAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAxMDAwICBlZCA0MSAwMiAwMCBlOCAwMyBlOCAwMyAgODAgMDAgMDAgMDAgOTggM2QgYjkgNTUgIHwuQS4uLi4uLi4uLi4uPS5VfAorMDAwMDEwMTAgIDk4IDNkIGI5IDU1IDk4IDNkIGI5IDU1ICAwNSAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC49LlUuPS5VLi4uLi4uLi58CiswMDAwMTAyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAxNDAwICAwMSAwMCBmZSBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDE0MTAgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMTgwMCAgMDMgZjAgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxODEwICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDFjMDAgIGVkIDQxIDAyIDAwIGU4IDAzIGU4IDAzICA4MCAwMCAwMCAwMCA5OCAzZCBiOSA1NSAgfC5BLi4uLi4uLi4uLi49LlV8CiswMDAwMWMxMCAgOTggM2QgYjkgNTUgOTggM2QgYjkgNTUgIDA1IDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Lj0uVS49LlUuLi4uLi4uLnwKKzAwMDAxYzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDIwMDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLWJhZGJsb2NrcyBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLWJhZGJsb2NrcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNTIxZTIzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtYmFkYmxvY2tzCkBAIC0wLDAgKzEsMzUgQEAKKzMyIGlub2RlcworMTYgYmxvY2tzCitGaXJzdGRhdGF6b25lPTUgKDUpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTI2ODk2NjkxMgorCisyIGJhZCBibG9ja3MKK21rZnMgcmV0dXJuIHZhbHVlOiAwCitmc2NrIHJldHVybiB2YWx1ZTogMAorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDQwMCAgMjAgMDAgMTAgMDAgMDEgMDAgMDEgMDAgIDA1IDAwIDAwIDAwIDAwIDFjIDA4IDEwICB8IC4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwNDEwICA4ZiAxMyAwMSAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDA0MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDgwMCAgMDcgMDAgMDAgMDAgZmUgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwODEwICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDBjMDAgIDMzIGYwIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfDMuLi4uLi4uLi4uLi4uLi58CiswMDAwMGMxMCAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAxMDAwICBlZCA0MSAwMCAwMCA2MCAwMCAwMCAwMCAgMzQgMjkgYmQgNTUgMDAgMDIgMDUgMDAgIHwuQS4uYC4uLjQpLlUuLi4ufAorMDAwMDEwMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTAyMCAgMDAgODAgMDAgMDAgMDAgMDggMDAgMDAgIDM0IDI5IGJkIDU1IDAwIDAxIDA4IDAwICB8Li4uLi4uLi40KS5VLi4uLnwKKzAwMDAxMDMwICAwOSAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDEwNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMTQwMCAgMDEgMDAgMmUgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxNDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDE0MjAgIDAxIDAwIDJlIDJlIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTQzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxNDQwICAwMiAwMCAyZSA2MiA2MSA2NCA2MiA2YyAgNmYgNjMgNmIgNzMgMDAgMDAgMDAgMDAgIHwuLi5iYWRibG9ja3MuLi4ufAorMDAwMDE0NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwNDAwMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtYmFkYmxvY2tzLkJFIGIvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtYmFkYmxvY2tzLkJFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyNGY0ZGUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy1iYWRibG9ja3MuQkUKQEAgLTAsMCArMSwzNSBAQAorMzIgaW5vZGVzCisxNiBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9NSAoNSkKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjY4OTY2OTEyCisKKzIgYmFkIGJsb2NrcworbWtmcyByZXR1cm4gdmFsdWU6IDAKK2ZzY2sgcmV0dXJuIHZhbHVlOiAwCiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwNDAwICAwMCAyMCAwMCAxMCAwMCAwMSAwMCAwMSAgMDAgMDUgMDAgMDAgMTAgMDggMWMgMDAgIHwuIC4uLi4uLi4uLi4uLi4ufAorMDAwMDA0MTAgIDEzIDhmIDAwIDAxIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMDQyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwODAwICAwNyAwMCAwMCAwMCBmZSBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDA4MTAgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMGMwMCAgMzMgZjAgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8My4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwYzEwICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDEwMDAgIDQxIGVkIDAwIDAwIDAwIDAwIDAwIDYwICA1NSBiZCAyOSAzNCAwMCAwMiAwMCAwNSAgfEEuLi4uLi5gVS4pNC4uLi58CiswMDAwMTAxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxMDIwICA4MCAwMCAwMCAwMCAwMCAwMCAwOCAwMCAgNTUgYmQgMjkgMzQgMDAgMDEgMDAgMDggIHwuLi4uLi4uLlUuKTQuLi4ufAorMDAwMDEwMzAgIDAwIDA5IDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTA0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAxNDAwICAwMCAwMSAyZSAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDE0MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTQyMCAgMDAgMDEgMmUgMmUgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxNDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDE0NDAgIDAwIDAyIDJlIDYyIDYxIDY0IDYyIDZjICA2ZiA2MyA2YiA3MyAwMCAwMCAwMCAwMCAgfC4uLmJhZGJsb2Nrcy4uLi58CiswMDAwMTQ1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDA0MDAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy1icm9rZW4tcm9vdCBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLWJyb2tlbi1yb290Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjNzhiZGYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy1icm9rZW4tcm9vdApAQCAtMCwwICsxLDcgQEAKK1JlYWQgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICcvJworUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJy8nCisvOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3QKK1JlYWQgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICcvJworLzogYmFkIGRpcmVjdG9yeTogJy4uJyBpc24ndCBzZWNvbmQKK0lub2RlIDEgbm90IHVzZWQsIG1hcmtlZCB1c2VkIGluIHRoZSBiaXRtYXAuCitmc2NrIHJlcG9ydHMgdW5jb3JyZWN0ZWQ6IDQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLWJ1Zy43NzM4OTIgYi90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy1idWcuNzczODkyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlMjI5MjcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy1idWcuNzczODkyCkBAIC0wLDAgKzEgQEAKK2ZzY2sgcmVwb3J0cyB1bmNvcnJlY3RlZDogNApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtY2hlY2stYmxvY2tzIGIvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtY2hlY2stYmxvY2tzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZjZTkwZmQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy1jaGVjay1ibG9ja3MKQEAgLTAsMCArMSwyOSBAQAorMzIgaW5vZGVzCisxNiBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9NSAoNSkKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjY4OTY2OTEyCisKK21rZnMgcmV0dXJuIHZhbHVlOiAwCitmc2NrIHJldHVybiB2YWx1ZTogMAorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDQwMCAgMjAgMDAgMTAgMDAgMDEgMDAgMDEgMDAgIDA1IDAwIDAwIDAwIDAwIDFjIDA4IDEwICB8IC4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwNDEwICA4ZiAxMyAwMSAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDA0MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDgwMCAgMDMgMDAgMDAgMDAgZmUgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwODEwICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDBjMDAgIDAzIGYwIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMGMxMCAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAxMDAwICBlZCA0MSAwMCAwMCA0MCAwMCAwMCAwMCAgMzQgMjkgYmQgNTUgMDAgMDIgMDUgMDAgIHwuQS4uQC4uLjQpLlUuLi4ufAorMDAwMDEwMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMTQwMCAgMDEgMDAgMmUgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxNDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDE0MjAgIDAxIDAwIDJlIDJlIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTQzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDA0MDAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy1jaGVjay1ibG9ja3MuQkUgYi90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy1jaGVjay1ibG9ja3MuQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGJjMjliOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLWNoZWNrLWJsb2Nrcy5CRQpAQCAtMCwwICsxLDI5IEBACiszMiBpbm9kZXMKKzE2IGJsb2NrcworRmlyc3RkYXRhem9uZT01ICg1KQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yNjg5NjY5MTIKKworbWtmcyByZXR1cm4gdmFsdWU6IDAKK2ZzY2sgcmV0dXJuIHZhbHVlOiAwCiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwNDAwICAwMCAyMCAwMCAxMCAwMCAwMSAwMCAwMSAgMDAgMDUgMDAgMDAgMTAgMDggMWMgMDAgIHwuIC4uLi4uLi4uLi4uLi4ufAorMDAwMDA0MTAgIDEzIDhmIDAwIDAxIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMDQyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwODAwICAwMyAwMCAwMCAwMCBmZSBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDA4MTAgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMGMwMCAgMDMgZjAgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwYzEwICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDEwMDAgIDQxIGVkIDAwIDAwIDAwIDAwIDAwIDQwICA1NSBiZCAyOSAzNCAwMCAwMiAwMCAwNSAgfEEuLi4uLi5AVS4pNC4uLi58CiswMDAwMTAxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAxNDAwICAwMCAwMSAyZSAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDE0MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTQyMCAgMDAgMDEgMmUgMmUgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxNDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDQwMDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLXYxYzE0IGIvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtdjFjMTQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzVlMzMxMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLXYxYzE0CkBAIC0wLDAgKzEsMjggQEAKKzMyIGlub2RlcworMTYgYmxvY2tzCitGaXJzdGRhdGF6b25lPTUgKDUpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTI2ODk2NjkxMgorCitta2ZzIHJldHVybiB2YWx1ZTogMAorZnNjayByZXR1cm4gdmFsdWU6IDAKKzAwMDAwMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDA0MDAgIDIwIDAwIDEwIDAwIDAxIDAwIDAxIDAwICAwNSAwMCAwMCAwMCAwMCAxYyAwOCAxMCAgfCAuLi4uLi4uLi4uLi4uLi58CiswMDAwMDQxMCAgN2YgMTMgMDEgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwNDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDA4MDAgIDAzIDAwIDAwIDAwIGZlIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMDgxMCAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwYzAwICAwMyBmMCBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDBjMTAgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMTAwMCAgZWQgNDEgMDAgMDAgMjAgMDAgMDAgMDAgIDM0IDI5IGJkIDU1IDAwIDAyIDA1IDAwICB8LkEuLiAuLi40KS5VLi4uLnwKKzAwMDAxMDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDE0MDAgIDAxIDAwIDJlIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTQxMCAgMDEgMDAgMmUgMmUgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxNDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDQwMDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLXYxYzE0LkJFIGIvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtdjFjMTQuQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWRmNTYxYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLXYxYzE0LkJFCkBAIC0wLDAgKzEsMjggQEAKKzMyIGlub2RlcworMTYgYmxvY2tzCitGaXJzdGRhdGF6b25lPTUgKDUpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTI2ODk2NjkxMgorCitta2ZzIHJldHVybiB2YWx1ZTogMAorZnNjayByZXR1cm4gdmFsdWU6IDAKKzAwMDAwMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDA0MDAgIDAwIDIwIDAwIDEwIDAwIDAxIDAwIDAxICAwMCAwNSAwMCAwMCAxMCAwOCAxYyAwMCAgfC4gLi4uLi4uLi4uLi4uLi58CiswMDAwMDQxMCAgMTMgN2YgMDAgMDEgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwNDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDA4MDAgIDAzIDAwIDAwIDAwIGZlIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMDgxMCAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwYzAwICAwMyBmMCBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDBjMTAgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMTAwMCAgNDEgZWQgMDAgMDAgMDAgMDAgMDAgMjAgIDU1IGJkIDI5IDM0IDAwIDAyIDAwIDA1ICB8QS4uLi4uLiBVLik0Li4uLnwKKzAwMDAxMDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDE0MDAgIDAwIDAxIDJlIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTQxMCAgMDAgMDEgMmUgMmUgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxNDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDQwMDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLXYxYzMwIGIvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtdjFjMzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmNlOTBmZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLXYxYzMwCkBAIC0wLDAgKzEsMjkgQEAKKzMyIGlub2RlcworMTYgYmxvY2tzCitGaXJzdGRhdGF6b25lPTUgKDUpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTI2ODk2NjkxMgorCitta2ZzIHJldHVybiB2YWx1ZTogMAorZnNjayByZXR1cm4gdmFsdWU6IDAKKzAwMDAwMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDA0MDAgIDIwIDAwIDEwIDAwIDAxIDAwIDAxIDAwICAwNSAwMCAwMCAwMCAwMCAxYyAwOCAxMCAgfCAuLi4uLi4uLi4uLi4uLi58CiswMDAwMDQxMCAgOGYgMTMgMDEgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwNDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDA4MDAgIDAzIDAwIDAwIDAwIGZlIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMDgxMCAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwYzAwICAwMyBmMCBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDBjMTAgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMTAwMCAgZWQgNDEgMDAgMDAgNDAgMDAgMDAgMDAgIDM0IDI5IGJkIDU1IDAwIDAyIDA1IDAwICB8LkEuLkAuLi40KS5VLi4uLnwKKzAwMDAxMDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDE0MDAgIDAxIDAwIDJlIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTQxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxNDIwICAwMSAwMCAyZSAyZSAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDE0MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwNDAwMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtdjFjMzAuQkUgYi90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy12MWMzMC5CRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YmMyOWI4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtdjFjMzAuQkUKQEAgLTAsMCArMSwyOSBAQAorMzIgaW5vZGVzCisxNiBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9NSAoNSkKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjY4OTY2OTEyCisKK21rZnMgcmV0dXJuIHZhbHVlOiAwCitmc2NrIHJldHVybiB2YWx1ZTogMAorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDQwMCAgMDAgMjAgMDAgMTAgMDAgMDEgMDAgMDEgIDAwIDA1IDAwIDAwIDEwIDA4IDFjIDAwICB8LiAuLi4uLi4uLi4uLi4uLnwKKzAwMDAwNDEwICAxMyA4ZiAwMCAwMSAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDA0MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDgwMCAgMDMgMDAgMDAgMDAgZmUgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwODEwICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDBjMDAgIDAzIGYwIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMGMxMCAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAxMDAwICA0MSBlZCAwMCAwMCAwMCAwMCAwMCA0MCAgNTUgYmQgMjkgMzQgMDAgMDIgMDAgMDUgIHxBLi4uLi4uQFUuKTQuLi4ufAorMDAwMDEwMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMTQwMCAgMDAgMDEgMmUgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxNDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDE0MjAgIDAwIDAxIDJlIDJlIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTQzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDA0MDAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy12MmMxNCBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLXYyYzE0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4YmM0ZTMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy12MmMxNApAQCAtMCwwICsxLDI5IEBACisxNiBpbm9kZXMKKzE2IGJsb2NrcworRmlyc3RkYXRhem9uZT01ICg1KQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yMTQ3NDgzNjQ3CisKK21rZnMgcmV0dXJuIHZhbHVlOiAwCitmc2NrIHJldHVybiB2YWx1ZTogMAorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDQwMCAgMTAgMDAgMDAgMDAgMDEgMDAgMDEgMDAgIDA1IDAwIDAwIDAwIGZmIGZmIGZmIDdmICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwNDEwICA2OCAyNCAwMSAwMCAxMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHxoJC4uLi4uLi4uLi4uLi4ufAorMDAwMDA0MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDgwMCAgMDMgMDAgZmUgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwODEwICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDBjMDAgIDAzIGYwIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMGMxMCAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAxMDAwICBlZCA0MSAwMiAwMCAwMCAwMCAwMCAwMCAgMjAgMDAgMDAgMDAgMzQgMjkgYmQgNTUgIHwuQS4uLi4uLiAuLi40KS5VfAorMDAwMDEwMTAgIDM0IDI5IGJkIDU1IDM0IDI5IGJkIDU1ICAwNSAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfDQpLlU0KS5VLi4uLi4uLi58CiswMDAwMTAyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAxNDAwICAwMSAwMCAyZSAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDE0MTAgIDAxIDAwIDJlIDJlIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTQyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDA0MDAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy12MmMxNC5CRSBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLXYyYzE0LkJFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiNjczODYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy12MmMxNC5CRQpAQCAtMCwwICsxLDI5IEBACisxNiBpbm9kZXMKKzE2IGJsb2NrcworRmlyc3RkYXRhem9uZT01ICg1KQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yMTQ3NDgzNjQ3CisKK21rZnMgcmV0dXJuIHZhbHVlOiAwCitmc2NrIHJldHVybiB2YWx1ZTogMAorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDQwMCAgMDAgMTAgMDAgMDAgMDAgMDEgMDAgMDEgIDAwIDA1IDAwIDAwIDdmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwNDEwICAyNCA2OCAwMCAwMSAwMCAwMCAwMCAxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwkaC4uLi4uLi4uLi4uLi4ufAorMDAwMDA0MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDgwMCAgMDMgMDAgZmUgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwODEwICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDBjMDAgIDAzIGYwIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMGMxMCAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAxMDAwICA0MSBlZCAwMCAwMiAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMjAgNTUgYmQgMjkgMzQgIHxBLi4uLi4uLi4uLiBVLik0fAorMDAwMDEwMTAgIDU1IGJkIDI5IDM0IDU1IGJkIDI5IDM0ICAwMCAwMCAwMCAwNSAwMCAwMCAwMCAwMCAgfFUuKTRVLik0Li4uLi4uLi58CiswMDAwMTAyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAxNDAwICAwMCAwMSAyZSAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDE0MTAgIDAwIDAxIDJlIDJlIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTQyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDA0MDAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy12MmMzMCBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLXYyYzMwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAwNjZlNDkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy12MmMzMApAQCAtMCwwICsxLDMwIEBACisxNiBpbm9kZXMKKzE2IGJsb2NrcworRmlyc3RkYXRhem9uZT01ICg1KQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yMTQ3NDgzNjQ3CisKK21rZnMgcmV0dXJuIHZhbHVlOiAwCitmc2NrIHJldHVybiB2YWx1ZTogMAorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDQwMCAgMTAgMDAgMDAgMDAgMDEgMDAgMDEgMDAgIDA1IDAwIDAwIDAwIGZmIGZmIGZmIDdmICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwNDEwICA3OCAyNCAwMSAwMCAxMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHx4JC4uLi4uLi4uLi4uLi4ufAorMDAwMDA0MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDgwMCAgMDMgMDAgZmUgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwODEwICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDBjMDAgIDAzIGYwIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMGMxMCAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAxMDAwICBlZCA0MSAwMiAwMCAwMCAwMCAwMCAwMCAgNDAgMDAgMDAgMDAgMzQgMjkgYmQgNTUgIHwuQS4uLi4uLkAuLi40KS5VfAorMDAwMDEwMTAgIDM0IDI5IGJkIDU1IDM0IDI5IGJkIDU1ICAwNSAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfDQpLlU0KS5VLi4uLi4uLi58CiswMDAwMTAyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAxNDAwICAwMSAwMCAyZSAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDE0MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTQyMCAgMDEgMDAgMmUgMmUgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxNDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDQwMDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLXYyYzMwLkJFIGIvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtdjJjMzAuQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzIyZDM2OAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLXYyYzMwLkJFCkBAIC0wLDAgKzEsMzAgQEAKKzE2IGlub2RlcworMTYgYmxvY2tzCitGaXJzdGRhdGF6b25lPTUgKDUpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTIxNDc0ODM2NDcKKworbWtmcyByZXR1cm4gdmFsdWU6IDAKK2ZzY2sgcmV0dXJuIHZhbHVlOiAwCiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwNDAwICAwMCAxMCAwMCAwMCAwMCAwMSAwMCAwMSAgMDAgMDUgMDAgMDAgN2YgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDA0MTAgIDI0IDc4IDAwIDAxIDAwIDAwIDAwIDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfCR4Li4uLi4uLi4uLi4uLi58CiswMDAwMDQyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwODAwICAwMyAwMCBmZSBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDA4MTAgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMGMwMCAgMDMgZjAgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwYzEwICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDEwMDAgIDQxIGVkIDAwIDAyIDAwIDAwIDAwIDAwICAwMCAwMCAwMCA0MCA1NSBiZCAyOSAzNCAgfEEuLi4uLi4uLi4uQFUuKTR8CiswMDAwMTAxMCAgNTUgYmQgMjkgMzQgNTUgYmQgMjkgMzQgIDAwIDAwIDAwIDA1IDAwIDAwIDAwIDAwICB8VS4pNFUuKTQuLi4uLi4uLnwKKzAwMDAxMDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDE0MDAgIDAwIDAxIDJlIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTQxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxNDIwICAwMCAwMSAyZSAyZSAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDE0MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwNDAwMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtdjNjNjAgYi90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy12M2M2MApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OWFjOWM5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtdjNjNjAKQEAgLTAsMCArMSwzMSBAQAorMTYgaW5vZGVzCisxNiBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9NSAoNSkKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjE0NzQ4MzY0NworCitta2ZzIHJldHVybiB2YWx1ZTogMAorZnNjayByZXR1cm4gdmFsdWU6IDAKKzAwMDAwMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDA0MDAgIDEwIDAwIDAwIDAwIDAwIDAwIDAxIDAwICAwMSAwMCAwNSAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMDQxMCAgZmYgZmYgZmYgN2YgMTAgMDAgMDAgMDAgIDVhIDRkIDAwIDAwIDAwIDA0IDAwIDAwICB8Li4uLi4uLi5aTS4uLi4uLnwKKzAwMDAwNDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDA4MDAgIDAzIDAwIGZlIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMDgxMCAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwYzAwICAwMyBmMCBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDBjMTAgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMTAwMCAgZWQgNDEgMDIgMDAgMDAgMDAgMDAgMDAgIDgwIDAwIDAwIDAwIDM0IDI5IGJkIDU1ICB8LkEuLi4uLi4uLi4uNCkuVXwKKzAwMDAxMDEwICAzNCAyOSBiZCA1NSAzNCAyOSBiZCA1NSAgMDUgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHw0KS5VNCkuVS4uLi4uLi4ufAorMDAwMDEwMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMTQwMCAgMDEgMDAgMDAgMDAgMmUgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxNDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDE0NDAgIDAxIDAwIDAwIDAwIDJlIDJlIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTQ1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDA0MDAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy12M2M2MC5CRSBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLXYzYzYwLkJFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4OGMwMWQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy12M2M2MC5CRQpAQCAtMCwwICsxLDMxIEBACisxNiBpbm9kZXMKKzE2IGJsb2NrcworRmlyc3RkYXRhem9uZT01ICg1KQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yMTQ3NDgzNjQ3CisKK21rZnMgcmV0dXJuIHZhbHVlOiAwCitmc2NrIHJldHVybiB2YWx1ZTogMAorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDQwMCAgMDAgMDAgMDAgMTAgMDAgMDAgMDAgMDEgIDAwIDAxIDAwIDA1IDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwNDEwICA3ZiBmZiBmZiBmZiAwMCAwMCAwMCAxMCAgNGQgNWEgMDAgMDAgMDQgMDAgMDAgMDAgIHwuLi4uLi4uLk1aLi4uLi4ufAorMDAwMDA0MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDgwMCAgMDMgMDAgZmUgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwODEwICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDBjMDAgIDAzIGYwIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMGMxMCAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAxMDAwICA0MSBlZCAwMCAwMiAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgODAgNTUgYmQgMjkgMzQgIHxBLi4uLi4uLi4uLi5VLik0fAorMDAwMDEwMTAgIDU1IGJkIDI5IDM0IDU1IGJkIDI5IDM0ICAwMCAwMCAwMCAwNSAwMCAwMCAwMCAwMCAgfFUuKTRVLik0Li4uLi4uLi58CiswMDAwMTAyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAxNDAwICAwMCAwMCAwMCAwMSAyZSAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDE0MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMTQ0MCAgMDAgMDAgMDAgMDEgMmUgMmUgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxNDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDQwMDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pbml4L21rZnMtdjFjMTQgYi90ZXN0cy9leHBlY3RlZC9taW5peC9ta2ZzLXYxYzE0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkMmZhMzgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taW5peC9ta2ZzLXYxYzE0CkBAIC0wLDAgKzEsOSBAQAorY3JlYXRlIG1pbml4IGZzIC0xIC1uIDE0CiszNDI0IGlub2RlcworMTAyMjQgYmxvY2tzCitGaXJzdGRhdGF6b25lPTExMiAoMTEyKQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yNjg5NjY5MTIKKworbWtmcyByZXR1cm4gdmFsdWU6IDAKK3Vtb3VudCB0aGUgaW1hZ2UKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pbml4L21rZnMtdjFjMzAgYi90ZXN0cy9leHBlY3RlZC9taW5peC9ta2ZzLXYxYzMwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiY2MzMTYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taW5peC9ta2ZzLXYxYzMwCkBAIC0wLDAgKzEsOSBAQAorY3JlYXRlIG1pbml4IGZzIC0xIC1uIDMwCiszNDI0IGlub2RlcworMTAyMjQgYmxvY2tzCitGaXJzdGRhdGF6b25lPTExMiAoMTEyKQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yNjg5NjY5MTIKKworbWtmcyByZXR1cm4gdmFsdWU6IDAKK3Vtb3VudCB0aGUgaW1hZ2UKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pbml4L21rZnMtdjJjMTQgYi90ZXN0cy9leHBlY3RlZC9taW5peC9ta2ZzLXYyYzE0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1MjkzYjAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taW5peC9ta2ZzLXYyYzE0CkBAIC0wLDAgKzEsOSBAQAorY3JlYXRlIG1pbml4IGZzIC0yIC1uIDE0CiszNDA4IGlub2RlcworMTAyMjQgYmxvY2tzCitGaXJzdGRhdGF6b25lPTIxOCAoMjE4KQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yMTQ3NDgzNjQ3CisKK21rZnMgcmV0dXJuIHZhbHVlOiAwCit1bW91bnQgdGhlIGltYWdlCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taW5peC9ta2ZzLXYyYzMwIGIvdGVzdHMvZXhwZWN0ZWQvbWluaXgvbWtmcy12MmMzMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzc2ZDQzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbWluaXgvbWtmcy12MmMzMApAQCAtMCwwICsxLDkgQEAKK2NyZWF0ZSBtaW5peCBmcyAtMiAtbiAzMAorMzQwOCBpbm9kZXMKKzEwMjI0IGJsb2NrcworRmlyc3RkYXRhem9uZT0yMTggKDIxOCkKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjE0NzQ4MzY0NworCitta2ZzIHJldHVybiB2YWx1ZTogMAordW1vdW50IHRoZSBpbWFnZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWluaXgvbWtmcy12Mmk2NTUzNSBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L21rZnMtdjJpNjU1MzUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzYxYTM2YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L21rZnMtdjJpNjU1MzUKQEAgLTAsMCArMSw5IEBACitjcmVhdGUgbWluaXggZnMgLTIgLWkgNjU1MzUKKzY1NTM1IGlub2RlcworMTAyMjQgYmxvY2tzCitGaXJzdGRhdGF6b25lPTQxMDcgKDQxMDcpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTIxNDc0ODM2NDcKKworbWtmcyByZXR1cm4gdmFsdWU6IDAKK3Vtb3VudCB0aGUgaW1hZ2UKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pbml4L21rZnMtdjNjNjAgYi90ZXN0cy9leHBlY3RlZC9taW5peC9ta2ZzLXYzYzYwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmNjg2ZDkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taW5peC9ta2ZzLXYzYzYwCkBAIC0wLDAgKzEsOSBAQAorY3JlYXRlIG1pbml4IGZzIC0zIC1uIDYwCiszNDA4IGlub2RlcworMTAyMjQgYmxvY2tzCitGaXJzdGRhdGF6b25lPTIxOCAoMjE4KQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yMTQ3NDgzNjQ3CisKK21rZnMgcmV0dXJuIHZhbHVlOiAwCit1bW91bnQgdGhlIGltYWdlCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taXNjL2ZhbGxvY2F0ZSBiL3Rlc3RzL2V4cGVjdGVkL21pc2MvZmFsbG9jYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0NWI5OWUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taXNjL2ZhbGxvY2F0ZQpAQCAtMCwwICsxIEBACiszODQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pc2MvZmxvY2sgYi90ZXN0cy9leHBlY3RlZC9taXNjL2Zsb2NrCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljOTczOTYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taXNjL2Zsb2NrCkBAIC0wLDAgKzEsMyBAQAorTG9ja2luZworVW5sb2NraW5nCitVbmxvY2tlZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWlzYy9mbG9jay1leGNsdXNpdmUgYi90ZXN0cy9leHBlY3RlZC9taXNjL2Zsb2NrLWV4Y2x1c2l2ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy9mbG9jay1leGNsdXNpdmUKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWlzYy9mbG9jay1uby1mb3JrIGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy9mbG9jay1uby1mb3JrCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ODIxMTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taXNjL2Zsb2NrLW5vLWZvcmsKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWlzYy9mbG9jay1ub24tYmxvY2sgYi90ZXN0cy9leHBlY3RlZC9taXNjL2Zsb2NrLW5vbi1ibG9jawpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy9mbG9jay1ub24tYmxvY2sKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWlzYy9mbG9jay1zaGFyZWQgYi90ZXN0cy9leHBlY3RlZC9taXNjL2Zsb2NrLXNoYXJlZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMTFmMzI1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy9mbG9jay1zaGFyZWQKQEAgLTAsMCArMSwyIEBACitIYXZlIHNoYXJlZCBsb2NrCitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taXNjL2Zsb2NrLXRpbWUtY2hlY2sgYi90ZXN0cy9leHBlY3RlZC9taXNjL2Zsb2NrLXRpbWUtY2hlY2sKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmU5YmE0NwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pc2MvZmxvY2stdGltZS1jaGVjawpAQCAtMCwwICsxIEBACitzdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taXNjL2Zsb2NrLXRpbWVvdXQgYi90ZXN0cy9leHBlY3RlZC9taXNjL2Zsb2NrLXRpbWVvdXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjRjZDVhNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pc2MvZmxvY2stdGltZW91dApAQCAtMCwwICsxLDIgQEAKK0FmdGVyIHRpbWVvdXQuCitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taXNjL2lvbmljZSBiL3Rlc3RzL2V4cGVjdGVkL21pc2MvaW9uaWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmZGYwZWEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taXNjL2lvbmljZQpAQCAtMCwwICsxLDkgQEAKK2lvbmljZTogaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3Igbm9uZSBjbGFzcworaW9uaWNlOiB1bmtub3duIHByaW8gY2xhc3MgNworaW9uaWNlOiBpb3ByaW9fc2V0IGZhaWxlZDogSW52YWxpZCBhcmd1bWVudAoraW9uaWNlOiB1bmtub3duIHByaW8gY2xhc3MgNworaW9uaWNlOiBpb3ByaW9fc2V0IGZhaWxlZDogSW52YWxpZCBhcmd1bWVudAoraW9uaWNlOiB1bmtub3duIHByaW8gY2xhc3MgOAoraW9uaWNlOiBpb3ByaW9fc2V0IGZhaWxlZDogSW52YWxpZCBhcmd1bWVudAorL2V0Yy9wYXNzd2QKK25vbmU6IHByaW8gMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWlzYy9saW5lIGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy9saW5lCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhN2RjZWIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taXNjL2xpbmUKQEAgLTAsMCArMSw3IEBACithCityZXQ6IDAKKzEKKzIKK3JldDogMAorCityZXQ6IDEKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pc2MvbWNvb2tpZSBiL3Rlc3RzL2V4cGVjdGVkL21pc2MvbWNvb2tpZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMWMwMzUxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy9tY29va2llCkBAIC0wLDAgKzEgQEAKK3RoZSBzdHJpbmcgbWVldHMgZXhwZWNhdGlvbnMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pc2MvcmV2IGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy9yZXYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjM4NzQ3NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pc2MvcmV2CkBAIC0wLDAgKzEsNCBAQAorNTNiYmYwZDk4MjA1MzE5Y2VlMmJhNTg5ZTIwNWM2OGIKKzM1NDg0OTY1YjdhMmZkNDVhNDcxYzBkODBjYjk3NTJjCitjYmEKKzMyMQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pc2Mvc2V0YXJjaC1vcHRpb25zIGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy9zZXRhcmNoLW9wdGlvbnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjk4ZGI1MgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pc2Mvc2V0YXJjaC1vcHRpb25zCkBAIC0wLDAgKzEsMjMgQEAKKyMjIyMjIyB1bmtub3duIGFyY2gKK3NldGFyY2g6IHF1Yml0OiBVbnJlY29nbml6ZWQgYXJjaGl0ZWN0dXJlCitleGl0OiAxCisjIyMjIyMgdW5rbm93biBjb21tYW5kCitFeGVjdXRlIGNvbW1hbmQgYC9kYXMvZ2licy9uaWNodCcuCitzZXRhcmNoOiAvZGFzL2dpYnMvbmljaHQ6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKK2V4aXQ6IDEKKyMjIyMjIyBub29wIHVuYW1lIC1hCitFeGVjdXRlIGNvbW1hbmQgYHVuYW1lJy4KK3VuYW1lIC1hIHVuY2hhbmdlZAorIyMjIyMjIGFsbW9zdCBhbGwgb3B0aW9ucworU3dpdGNoaW5nIG9uIEFERFJfTk9fUkFORE9NSVpFLgorU3dpdGNoaW5nIG9uIEZEUElDX0ZVTkNQVFJTLgorU3dpdGNoaW5nIG9uIE1NQVBfUEFHRV9aRVJPLgorU3dpdGNoaW5nIG9uIEFERFJfQ09NUEFUX0xBWU9VVC4KK1N3aXRjaGluZyBvbiBSRUFEX0lNUExJRVNfRVhFQy4KK1N3aXRjaGluZyBvbiBBRERSX0xJTUlUXzMyQklULgorU3dpdGNoaW5nIG9uIFNIT1JUX0lOT0RFLgorU3dpdGNoaW5nIG9uIFdIT0xFX1NFQ09ORFMuCitTd2l0Y2hpbmcgb24gU1RJQ0tZX1RJTUVPVVRTLgorU3dpdGNoaW5nIG9uIEFERFJfTElNSVRfM0dCLgorRXhlY3V0ZSBjb21tYW5kIGBlY2hvJy4KK3N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pc2Mvc2V0YXJjaC11bmFtZTI2IGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy9zZXRhcmNoLXVuYW1lMjYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTM2NjdhZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pc2Mvc2V0YXJjaC11bmFtZTI2CkBAIC0wLDAgKzEsNiBAQAorIyMjIyMjIC0tdW5hbWUtMi42IGVjaG8KK1N3aXRjaGluZyBvbiBVTkFNRTI2LgorRXhlY3V0ZSBjb21tYW5kIGBlY2hvJy4KKzIuNiB3b3JrcyBvciBrZXJuZWwgdG9vIG9sZAorIyMjIyMjIC0tdW5hbWUtMi42IHRydWUsIG5vbi12ZXJib3NlCisyLjYgd29ya3Mgb3Iga2VybmVsIHRvbyBvbGQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pc2Mvc2V0YXJjaC11bmFtZTI2LXZlcnNpb24gYi90ZXN0cy9leHBlY3RlZC9taXNjL3NldGFyY2gtdW5hbWUyNi12ZXJzaW9uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljNzQ2ZTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taXNjL3NldGFyY2gtdW5hbWUyNi12ZXJzaW9uCkBAIC0wLDAgKzEgQEAKK2tlcm5lbCB2ZXJzaW9uIGNoYW5nZWQgdG8gMi42CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taXNjL3NldHNpZCBiL3Rlc3RzL2V4cGVjdGVkL21pc2Mvc2V0c2lkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlOWJhNDcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taXNjL3NldHNpZApAQCAtMCwwICsxIEBACitzdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taXNjL3N0cnRvc2l6ZSBiL3Rlc3RzL2V4cGVjdGVkL21pc2Mvc3RydG9zaXplCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0ZmQ2OWEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taXNjL3N0cnRvc2l6ZQpAQCAtMCwwICsxLDMwIEBACit0ZXN0X3N0cnV0aWxzOiBpbnZhbGlkIHNpemUgJy0xJyB2YWx1ZQorICAgICAgICAgICAgICAgICAgICAgICAgMCA6ICAgICAgICAgICAgICAgICAgICAwIDogICAgICAgMEIgOiAgICAgICAgICAwIEIKKyAgICAgICAgICAgICAgICAgICAgICAgIDEgOiAgICAgICAgICAgICAgICAgICAgMSA6ICAgICAgIDFCIDogICAgICAgICAgMSBCCisgICAgICAgICAgICAgICAgICAgICAgMTIzIDogICAgICAgICAgICAgICAgICAxMjMgOiAgICAgMTIzQiA6ICAgICAgICAxMjMgQgorICAgICAxODQ0Njc0NDA3MzcwOTU1MTYxNSA6IDE4NDQ2NzQ0MDczNzA5NTUxNjE1IDogICAgICAxNkUgOiAgICAgICAxNiBFaUIKKyAgICAgICAgICAgICAgICAgICAgICAgMUsgOiAgICAgICAgICAgICAgICAgMTAyNCA6ICAgICAgIDFLIDogICAgICAgIDEgS2lCCisgICAgICAgICAgICAgICAgICAgICAxS2lCIDogICAgICAgICAgICAgICAgIDEwMjQgOiAgICAgICAxSyA6ICAgICAgICAxIEtpQgorICAgICAgICAgICAgICAgICAgICAgICAxTSA6ICAgICAgICAgICAgICAxMDQ4NTc2IDogICAgICAgMU0gOiAgICAgICAgMSBNaUIKKyAgICAgICAgICAgICAgICAgICAgIDFNaUIgOiAgICAgICAgICAgICAgMTA0ODU3NiA6ICAgICAgIDFNIDogICAgICAgIDEgTWlCCisgICAgICAgICAgICAgICAgICAgICAgIDFHIDogICAgICAgICAgIDEwNzM3NDE4MjQgOiAgICAgICAxRyA6ICAgICAgICAxIEdpQgorICAgICAgICAgICAgICAgICAgICAgMUdpQiA6ICAgICAgICAgICAxMDczNzQxODI0IDogICAgICAgMUcgOiAgICAgICAgMSBHaUIKKyAgICAgICAgICAgICAgICAgICAgICAgMVQgOiAgICAgICAgMTA5OTUxMTYyNzc3NiA6ICAgICAgIDFUIDogICAgICAgIDEgVGlCCisgICAgICAgICAgICAgICAgICAgICAxVGlCIDogICAgICAgIDEwOTk1MTE2Mjc3NzYgOiAgICAgICAxVCA6ICAgICAgICAxIFRpQgorICAgICAgICAgICAgICAgICAgICAgICAxUCA6ICAgICAxMTI1ODk5OTA2ODQyNjI0IDogICAgICAgMVAgOiAgICAgICAgMSBQaUIKKyAgICAgICAgICAgICAgICAgICAgIDFQaUIgOiAgICAgMTEyNTg5OTkwNjg0MjYyNCA6ICAgICAgIDFQIDogICAgICAgIDEgUGlCCisgICAgICAgICAgICAgICAgICAgICAgIDFFIDogIDExNTI5MjE1MDQ2MDY4NDY5NzYgOiAgICAgICAxRSA6ICAgICAgICAxIEVpQgorICAgICAgICAgICAgICAgICAgICAgMUVpQiA6ICAxMTUyOTIxNTA0NjA2ODQ2OTc2IDogICAgICAgMUUgOiAgICAgICAgMSBFaUIKKyAgICAgICAgICAgICAgICAgICAgICAxS0IgOiAgICAgICAgICAgICAgICAgMTAwMCA6ICAgIDEwMDBCIDogICAgICAgMTAwMCBCCisgICAgICAgICAgICAgICAgICAgICAgMU1CIDogICAgICAgICAgICAgIDEwMDAwMDAgOiAgIDk3Ni42SyA6ICAgIDk3Ni42IEtpQgorICAgICAgICAgICAgICAgICAgICAgIDFHQiA6ICAgICAgICAgICAxMDAwMDAwMDAwIDogICA5NTMuN00gOiAgICA5NTMuNyBNaUIKKyAgICAgICAgICAgICAgICAgICAgICAxVEIgOiAgICAgICAgMTAwMDAwMDAwMDAwMCA6ICAgOTMxLjNHIDogICAgOTMxLjMgR2lCCisgICAgICAgICAgICAgICAgICAgICAgMVBCIDogICAgIDEwMDAwMDAwMDAwMDAwMDAgOiAgIDkwOS41VCA6ICAgIDkwOS41IFRpQgorICAgICAgICAgICAgICAgICAgICAgIDFFQiA6ICAxMDAwMDAwMDAwMDAwMDAwMDAwIDogICA4ODguMlAgOiAgICA4ODguMiBQaUIKK3Rlc3Rfc3RydXRpbHM6IGludmFsaWQgc2l6ZSAnJyB2YWx1ZQordGVzdF9zdHJ1dGlsczogaW52YWxpZCBzaXplICcgJyB2YWx1ZQorICAgICAgICAgICAgICAgICAgICAgICAgMSA6ICAgICAgICAgICAgICAgICAgICAxIDogICAgICAgMUIgOiAgICAgICAgICAxIEIKK3Rlc3Rfc3RydXRpbHM6IGludmFsaWQgc2l6ZSAnMSAnIHZhbHVlCisgICAgICAgICAgICAgICAgICAgICAweDBhIDogICAgICAgICAgICAgICAgICAgMTAgOiAgICAgIDEwQiA6ICAgICAgICAgMTAgQgorICAgICAgICAgICAgICAgICAgIDB4ZmYwMCA6ICAgICAgICAgICAgICAgIDY1MjgwIDogICAgNjMuOEsgOiAgICAgNjMuOCBLaUIKKyAgICAgICAgICAgICAgIDB4ODAwMDAwMDAgOiAgICAgICAgICAgMjE0NzQ4MzY0OCA6ICAgICAgIDJHIDogICAgICAgIDIgR2lCCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taXNjL3N3YXBsYWJlbCBiL3Rlc3RzL2V4cGVjdGVkL21pc2Mvc3dhcGxhYmVsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3MmY4NzYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taXNjL3N3YXBsYWJlbApAQCAtMCwwICsxLDcgQEAKK21rc3dhcDogZXJyb3I6IHN3YXAgYXJlYSBuZWVkcyB0byBiZSBhdCBsZWFzdCAxMCBwYWdlcworbWtzd2FwOiA8c3dhcGZpbGU+OiBpbnNlY3VyZSBwZXJtaXNzaW9ucyA8cGVybT4sIDA2MDAgc3VnZ2VzdGVkLgorbWtzd2FwOiBMYWJlbCB3YXMgdHJ1bmNhdGVkLgorU2V0dGluZyB1cCBzd2Fwc3BhY2UgdmVyc2lvbiAxLCBzaXplID0gOSBwYWdlcyAoOXhQR1NaIGJ5dGVzKQorTEFCRUw9MTIzNDU2Nzg5MGFiY2RlLCBVVUlEPTEyMzQ1Njc4LWFiY2QtYWJjZC1hYmNkLTEyMzQ1Njc4OTBhYgorTEFCRUw6IDEyMzQ1Njc4OTBhYmNkZQorVVVJRDogIDEyMzQ1Njc4LWFiY2QtYWJjZC1hYmNkLTEyMzQ1Njc4OTBhYgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWlzYy91bCBiL3Rlc3RzL2V4cGVjdGVkL21pc2MvdWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjNhZWNkMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pc2MvdWwKQEAgLTAsMCArMSwzIEBACisbWzFtYRsoQhtbbWIbWzRtYxtbMjRtCisgICAgICAgIHRhYgorDApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pc2Mvd2hlcmVpcyBiL3Rlc3RzL2V4cGVjdGVkL21pc2Mvd2hlcmVpcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZTliYTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy93aGVyZWlzCkBAIC0wLDAgKzEgQEAKK3N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21vcmUvcmVnZXhwIGIvdGVzdHMvZXhwZWN0ZWQvbW9yZS9yZWdleHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTg4Yzk5YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vcmUvcmVnZXhwCkBAIC0wLDAgKzEsNCBAQAorCisuLi5za2lwcGluZworZm9vCit4eXp6eQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW9yZS9zcXVlZXplIGIvdGVzdHMvZXhwZWN0ZWQvbW9yZS9zcXVlZXplCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExYTUzYjUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9tb3JlL3NxdWVlemUKQEAgLTAsMCArMSwzIEBACithCisKK2IKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21vdW50L2Rldm5hbWUgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9kZXZuYW1lCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ODIxMTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9kZXZuYW1lCkBAIC0wLDAgKzEgQEAKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzbGlzdHMgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9mc2xpc3RzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ODIxMTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9mc2xpc3RzCkBAIC0wLDAgKzEgQEAKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzbGlzdHMtbW9yZS10eXBlcyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzbGlzdHMtbW9yZS10eXBlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnNsaXN0cy1tb3JlLXR5cGVzCkBAIC0wLDAgKzEgQEAKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzbGlzdHMtbW9yZS10eXBlcy1mc3RhYiBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzbGlzdHMtbW9yZS10eXBlcy1mc3RhYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnNsaXN0cy1tb3JlLXR5cGVzLWZzdGFiCkBAIC0wLDAgKzEgQEAKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzbGlzdHMtb25lLXR5cGUgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9mc2xpc3RzLW9uZS10eXBlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ODIxMTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9mc2xpc3RzLW9uZS10eXBlCkBAIC0wLDAgKzEgQEAKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzbGlzdHMtdHlwZS1wYXR0ZXJuIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnNsaXN0cy10eXBlLXBhdHRlcm4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzbGlzdHMtdHlwZS1wYXR0ZXJuCkBAIC0wLDAgKzEgQEAKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzbGlzdHMtdHlwZS1wYXR0ZXJuLW5lZyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzbGlzdHMtdHlwZS1wYXR0ZXJuLW5lZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnNsaXN0cy10eXBlLXBhdHRlcm4tbmVnCkBAIC0wLDAgKzEgQEAKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLWJyb2tlbiBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLWJyb2tlbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItYnJva2VuCkBAIC0wLDAgKzEgQEAKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLWJyb2tlbi1tb3VudCBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLWJyb2tlbi1tb3VudApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODZiYWM5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItYnJva2VuLW1vdW50CkBAIC0wLDAgKzEgQEAKK09LCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC9mc3RhYi1icm9rZW4tbW91bnQtYWxsIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItYnJva2VuLW1vdW50LWFsbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODZiYWM5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItYnJva2VuLW1vdW50LWFsbApAQCAtMCwwICsxIEBACitPSwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItYnRyZnMtYXV0byBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLWJ0cmZzLWF1dG8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLWJ0cmZzLWF1dG8KQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItYnRyZnMtYnRyZnMgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9mc3RhYi1idHJmcy1idHJmcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItYnRyZnMtYnRyZnMKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItZGV2bmFtZSBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLWRldm5hbWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLWRldm5hbWUKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItZGV2bmFtZTJsYWJlbCBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLWRldm5hbWUybGFiZWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLWRldm5hbWUybGFiZWwKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItZGV2bmFtZTJ1dWlkIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItZGV2bmFtZTJ1dWlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ODIxMTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9mc3RhYi1kZXZuYW1lMnV1aWQKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItbGFiZWwgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9mc3RhYi1sYWJlbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItbGFiZWwKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItbGFiZWwyZGV2bmFtZSBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLWxhYmVsMmRldm5hbWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLWxhYmVsMmRldm5hbWUKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItbGFiZWwydXVpZCBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLWxhYmVsMnV1aWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLWxhYmVsMnV1aWQKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItbG9vcCBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLWxvb3AKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLWxvb3AKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItbm9uZSBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLW5vbmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLW5vbmUKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItc3ltbGluayBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLXN5bWxpbmsKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLXN5bWxpbmsKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItdXVpZCBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLXV1aWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLXV1aWQKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItdXVpZDJkZXZuYW1lIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItdXVpZDJkZXZuYW1lCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ODIxMTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9mc3RhYi11dWlkMmRldm5hbWUKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItdXVpZDJsYWJlbCBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLXV1aWQybGFiZWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLXV1aWQybGFiZWwKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvbGFiZWwgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9sYWJlbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvbGFiZWwKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvbW92ZSBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L21vdmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L21vdmUKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvcmVnZmlsZSBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3JlZ2ZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3JlZ2ZpbGUKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvcmVtb3VudCBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3JlbW91bnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3JlbW91bnQKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvcmxpbWl0IGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvcmxpbWl0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ODIxMTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9ybGltaXQKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvcmxpbWl0LW1vdW50IGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvcmxpbWl0LW1vdW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1ZTJlMTIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9ybGltaXQtbW91bnQKQEAgLTAsMCArMSBAQAorT0s6IG10YWIgdW5tb2RpZmllZCBieSBtb3VudApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvcmxpbWl0LXVtb3VudCBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3JsaW1pdC11bW91bnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTkzYThlZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3JsaW1pdC11bW91bnQKQEAgLTAsMCArMSBAQAorT0s6IG10YWIgdW5tb2RpZmllZCBieSB1bW91bnQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21vdW50L3NoYXJlZC1zdWJ0cmVlIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvc2hhcmVkLXN1YnRyZWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3NoYXJlZC1zdWJ0cmVlCkBAIC0wLDAgKzEgQEAKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21vdW50L3NoYXJlZC1zdWJ0cmVlLWJpbmQtc2hhcmVkIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvc2hhcmVkLXN1YnRyZWUtYmluZC1zaGFyZWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGEyMDVlOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3NoYXJlZC1zdWJ0cmVlLWJpbmQtc2hhcmVkCkBAIC0wLDAgKzEgQEAKK3NoYXJlZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvc2hhcmVkLXN1YnRyZWUtbWFrZS1wcml2YXRlIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvc2hhcmVkLXN1YnRyZWUtbWFrZS1wcml2YXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlMThlYmYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9zaGFyZWQtc3VidHJlZS1tYWtlLXByaXZhdGUKQEAgLTAsMCArMSBAQAorcHJpdmF0ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvc2hhcmVkLXN1YnRyZWUtbWFrZS1zaGFyZWQgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9zaGFyZWQtc3VidHJlZS1tYWtlLXNoYXJlZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YTIwNWU4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvc2hhcmVkLXN1YnRyZWUtbWFrZS1zaGFyZWQKQEAgLTAsMCArMSBAQAorc2hhcmVkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC9zaGFyZWQtc3VidHJlZS1tYWtlLXVuYmluZGFibGUgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9zaGFyZWQtc3VidHJlZS1tYWtlLXVuYmluZGFibGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTdmNjYyYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3NoYXJlZC1zdWJ0cmVlLW1ha2UtdW5iaW5kYWJsZQpAQCAtMCwwICsxIEBACitwcml2YXRlLHVuYmluZGFibGUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21vdW50L3NoYXJlZC1zdWJ0cmVlLW1vdW50LXByaXZhdGUgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9zaGFyZWQtc3VidHJlZS1tb3VudC1wcml2YXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3ZjY2MmEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9zaGFyZWQtc3VidHJlZS1tb3VudC1wcml2YXRlCkBAIC0wLDAgKzEgQEAKK3ByaXZhdGUsdW5iaW5kYWJsZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvc2hhcmVkLXN1YnRyZWUtbW91bnQtcHJpdmF0ZS1ybyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3NoYXJlZC1zdWJ0cmVlLW1vdW50LXByaXZhdGUtcm8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjVjOGMyNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3NoYXJlZC1zdWJ0cmVlLW1vdW50LXByaXZhdGUtcm8KQEAgLTAsMCArMSwyIEBACitwcml2YXRlCitybyxyZWxhdGltZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvc3BlY2lhbCBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3NwZWNpYWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTk5OTdkMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3NwZWNpYWwKQEAgLTAsMCArMSBAQAorL3NiaW4vbW91bnQubXl0ZXN0IGNhbGxlZCB3aXRoICIvZm9vIC9iYXIgLW8gcnciCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC91bW91bnQtYWxsdGFyZ2V0cyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3Vtb3VudC1hbGx0YXJnZXRzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwZTQ2NzkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9tb3VudC91bW91bnQtYWxsdGFyZ2V0cwpAQCAtMCwwICsxLDYgQEAKK0NyZWF0ZSBwYXJ0aXRpb25zCitDcmVhdGUgZmlsZXN5c3RlbSBBCitDcmVhdGUgZmlsZXN5c3RlbSBCCitDcmVhdGUgZmlsZXN5c3RlbSBDCitDcmVhdGUgZmlsZXN5c3RlbSBECitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC91bW91bnQtYWxsdGFyZ2V0cy1hbGwtdGFyZ2V0cy1kZXYgYi90ZXN0cy9leHBlY3RlZC9tb3VudC91bW91bnQtYWxsdGFyZ2V0cy1hbGwtdGFyZ2V0cy1kZXYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2Q2Zjg4OAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3Vtb3VudC1hbGx0YXJnZXRzLWFsbC10YXJnZXRzLWRldgpAQCAtMCwwICsxLDMgQEAKK3ByZXBhcmU6IE1vdW50IGRldiB0byBtbnQxCitwcmVwYXJlOiBNb3VudCBkZXYgdG8gbW50MgorcHJlcGFyZTogTW91bnQgL2Rldi94eHgxIHRvIG1udDMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21vdW50L3Vtb3VudC1hbGx0YXJnZXRzLWFsbC10YXJnZXRzLW1udCBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3Vtb3VudC1hbGx0YXJnZXRzLWFsbC10YXJnZXRzLW1udApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDZmODg4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvdW1vdW50LWFsbHRhcmdldHMtYWxsLXRhcmdldHMtbW50CkBAIC0wLDAgKzEsMyBAQAorcHJlcGFyZTogTW91bnQgZGV2IHRvIG1udDEKK3ByZXBhcmU6IE1vdW50IGRldiB0byBtbnQyCitwcmVwYXJlOiBNb3VudCAvZGV2L3h4eDEgdG8gbW50MwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvdW1vdW50LWFsbHRhcmdldHMtYWxsLXRhcmdldHMtcmVjdXJzaXZlIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvdW1vdW50LWFsbHRhcmdldHMtYWxsLXRhcmdldHMtcmVjdXJzaXZlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkNmY4ODgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9tb3VudC91bW91bnQtYWxsdGFyZ2V0cy1hbGwtdGFyZ2V0cy1yZWN1cnNpdmUKQEAgLTAsMCArMSwzIEBACitwcmVwYXJlOiBNb3VudCBkZXYgdG8gbW50MQorcHJlcGFyZTogTW91bnQgZGV2IHRvIG1udDIKK3ByZXBhcmU6IE1vdW50IC9kZXYveHh4MSB0byBtbnQzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC91bW91bnQtcmVjdXJzaXZlIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvdW1vdW50LXJlY3Vyc2l2ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTk1ZDU2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvdW1vdW50LXJlY3Vyc2l2ZQpAQCAtMCwwICsxLDE0IEBACitJbml0IGRldmljZQorQ3JlYXRlIHBhcnRpdGlvbnMKK0NyZWF0ZSBmaWxlc3lzdGVtIEEKK0NyZWF0ZSBmaWxlc3lzdGVtIEIKK0NyZWF0ZSBmaWxlc3lzdGVtIEMKK0NyZWF0ZSBmaWxlc3lzdGVtIEQKK0RvIHRlc3RzLi4uCitBKSBNb3VudCByb290CitCKSBNb3VudCBjaGlsZAorQjIpIE1vdW50IGNoaWxkLWJpbmQKK0MpIE1vdW50IGNoaWxkL2NoaWxkCitEKSBNb3VudCBjaGlsZC9jaGlsZAorRSkgTW91bnQgY2hpbGQtYmluZAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvdXVpZCBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3V1aWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3V1aWQKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbmFtZWkvbG9naWMgYi90ZXN0cy9leHBlY3RlZC9uYW1laS9sb2dpYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZTIxN2Q5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbmFtZWkvbG9naWMKQEAgLTAsMCArMSwxMyBAQAorZjogbmFtZWkxL25hbWVpMi9hCisgZCBuYW1laTEKKyBkIG5hbWVpMgorIC0gYQorZjogbmFtZWkxL25hbWVpMi9iCisgZCBuYW1laTEKKyBkIG5hbWVpMgorIC0gYgorZjogbmFtZWkxL25hbWVpMi9hL2IKKyBkIG5hbWVpMQorIGQgbmFtZWkyCisgLSBhCisgICBiIC0gTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtYWRkLWFsbCBiL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LWFkZC1hbGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2UzODk0NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LWFkZC1hbGwKQEAgLTAsMCArMSBAQAorcGFydGl0aW9ucyBhZGRlZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtYWRkLWV4aXN0aW5nIGIvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtYWRkLWV4aXN0aW5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjMjgxZGUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9wYXJ0eC9wYXJ0eC1hZGQtZXhpc3RpbmcKQEAgLTAsMCArMSBAQAorcGFydHg6IE9LCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9wYXJ0eC9wYXJ0eC1hZGRwYXJ0IGIvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtYWRkcGFydApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODZiYWM5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtYWRkcGFydApAQCAtMCwwICsxIEBACitPSwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtYnNkIGIvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtYnNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1NTY4YzQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9wYXJ0eC9wYXJ0eC1ic2QKQEAgLTAsMCArMSwzIEBACitOUiBTVEFSVCAgIEVORCBTRUNUT1JTIFNJWkUgTkFNRSBVVUlECisgMSAgNzkzNiAxMjc5OSAgICA0ODY0IDIuNE0gICAgICAKKyAyIDEyNTQ0IDE2MTI3ICAgIDM1ODQgMS44TSAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtY2hhbmdlLWJ5LXJhbmdlIGIvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtY2hhbmdlLWJ5LXJhbmdlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhOWRlMDUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9wYXJ0eC9wYXJ0eC1jaGFuZ2UtYnktcmFuZ2UKQEAgLTAsMCArMSwyIEBACitwYXJ0aXRpb25zIGRlbGV0ZWQKK3BhcnRpdGlvbnMgYWRkZWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LWRlbGV0ZS1hbGwgYi90ZXN0cy9leHBlY3RlZC9wYXJ0eC9wYXJ0eC1kZWxldGUtYWxsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlNmRhNmUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9wYXJ0eC9wYXJ0eC1kZWxldGUtYWxsCkBAIC0wLDAgKzEgQEAKK3BhcnRpdGlvbnMgZGVsZXRlZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtZGVsZXRlLW5vbi1leGlzdGVudCBiL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LWRlbGV0ZS1ub24tZXhpc3RlbnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWMyODFkZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LWRlbGV0ZS1ub24tZXhpc3RlbnQKQEAgLTAsMCArMSBAQAorcGFydHg6IE9LCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9wYXJ0eC9wYXJ0eC1kZWxldGUtb25lIGIvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtZGVsZXRlLW9uZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYTg1ZWExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtZGVsZXRlLW9uZQpAQCAtMCwwICsxIEBACitsYXN0IHBhcnRpdGlvbiByZW1vdmVkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9wYXJ0eC9wYXJ0eC1kZWxwYXJ0IGIvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtZGVscGFydApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODZiYWM5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtZGVscGFydApAQCAtMCwwICsxIEBACitPSwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtZGV0ZWN0LXBhcnRzIGIvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtZGV0ZWN0LXBhcnRzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwZjdiYTgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9wYXJ0eC9wYXJ0eC1kZXRlY3QtcGFydHMKQEAgLTAsMCArMSw0IEBACitOUiBTVEFSVCAgICBFTkQgU0VDVE9SUyAgU0laRSBOQU1FIFVVSUQKKyAxICAgIDMyICAzMzc5MSAgIDMzNzYwIDE2LjVNICAgICAgCisgMiAzMzc5MiAgNjc1ODMgICAzMzc5MiAxNi41TSAgICAgIAorIDMgNjc1ODQgMTAyMzk5ICAgMzQ4MTYgICAxN00gICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LWRvcytic2QgYi90ZXN0cy9leHBlY3RlZC9wYXJ0eC9wYXJ0eC1kb3MrYnNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3OTYzM2QKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9wYXJ0eC9wYXJ0eC1kb3MrYnNkCkBAIC0wLDAgKzEsNSBAQAorTlIgU1RBUlQgICBFTkQgU0VDVE9SUyBTSVpFIE5BTUUgVVVJRAorIDEgICAgMzIgIDc2NzkgICAgNzY0OCAzLjhNICAgICAgOGY4Mzc4YzAtMDEKKyAyICA3NjgwIDE2MzgzICAgIDg3MDQgNC4zTSAgICAgIDhmODM3OGMwLTAyCisgNSAgNzkzNiAxMjc5OSAgICA0ODY0IDIuNE0gICAgICAKKyA2IDEyNTQ0IDE2MTI3ICAgIDM1ODQgMS44TSAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtZ3B0IGIvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtZ3B0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5NDFmMzYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9wYXJ0eC9wYXJ0eC1ncHQKQEAgLTAsMCArMSw2IEBACitOUiBTVEFSVCAgIEVORCBTRUNUT1JTICBTSVpFIE5BTUUgICAgICAgICAgICBVVUlECisgMSAgICAzNCAgMjA0NyAgICAyMDE0IDEwMDdLIFRoaXNJc05hbWUgICAgICAxZGNmMTBiYy02MzdlLTRjNTItODIwMy0wODdhZTEwYTgyMGIKKyAyICAyMDQ4ICA0MDk1ICAgIDIwNDggICAgMU0gVGhpc0lzT3RoZXJOYW1lIGExZDAzYTk2LTcyMzgtNDZjNi1iYmIzLTc4OWNiZTE3M2VjNworIDMgIDQwOTYgIDYxNDMgICAgMjA0OCAgICAxTSBwcmltYXJ5ICAgICAgICAgYTcxMDFiNmMtNDY4Yy00N2RmLWFmZjYtY2Q0NDRkMTJhZjYxCisgNCAgNjE0NCAgODE5MSAgICAyMDQ4ICAgIDFNIHByaW1hcnkgICAgICAgICBhZmM0OTUwYS1mMGYxLTRhZGQtODAyYy01OTU3MTMzNDg2ZDEKKyA1ICA4MTkyIDEwMjM5ICAgIDIwNDggICAgMU0gcHJpbWFyeSAgICAgICAgIDBkYjBhNzg3LWMxNmItNDg4Ni1hZjNhLWZiYjk3Mjk5Njc3YwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtc2dpIGIvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtc2dpCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhNWNkZmIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9wYXJ0eC9wYXJ0eC1zZ2kKQEAgLTAsMCArMSw1IEBACitOUiAgIFNUQVJUICAgICAgRU5EICBTRUNUT1JTICAgU0laRSBOQU1FIFVVSUQKKyAxICAgICAgNjMgIDE2MDY0OTkgIDE2MDY0MzcgNzg0LjRNICAgICAgCisgMiAxNjA2NTAwIDMyMTI5OTk5IDMwNTIzNTAwICAxNC42RyAgICAgIAorIDkgICAgICAgMCAgICAgNDA5NSAgICAgNDA5NiAgICAgMk0gICAgICAKKzExICAgICAgIDAgMzIxMjk5OTkgMzIxMzAwMDAgIDE1LjNHICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9wYXJ0eC9wYXJ0eC1zdW4gYi90ZXN0cy9leHBlY3RlZC9wYXJ0eC9wYXJ0eC1zdW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZmRiMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LXN1bgpAQCAtMCwwICsxLDMgQEAKK05SIFNUQVJUICAgIEVORCBTRUNUT1JTICBTSVpFIE5BTUUgVVVJRAorIDEgICAgIDAgIDg3Mzc5ICAgODczODAgNDIuN00gICAgICAKKyAyIDg3MzgwIDEzMTA2OSAgIDQzNjkwIDIxLjNNICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9wYXJ0eC9wYXJ0eC11cGRhdGUtb25lIGIvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtdXBkYXRlLW9uZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZGFjZDYyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtdXBkYXRlLW9uZQpAQCAtMCwwICsxIEBACitwYXJ0aXRpb25zIHVwZGF0ZWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3BhdGhzL2J1aWx0LWluIGIvdGVzdHMvZXhwZWN0ZWQvcGF0aHMvYnVpbHQtaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTk3ZjY3ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3BhdGhzL2J1aWx0LWluCkBAIC0wLDAgKzEsMjIgQEAKKyAgICAgICBfUEFUSF9ERUZQQVRIIC91c3IvbG9jYWwvYmluOi9iaW46L3Vzci9iaW4KKyAgX1BBVEhfREVGUEFUSF9ST09UIC91c3IvbG9jYWwvc2JpbjovdXNyL2xvY2FsL2Jpbjovc2JpbjovYmluOi91c3Ivc2JpbjovdXNyL2JpbgorICAgICAgX1BBVEhfREVWX0xPT1AgL2Rldi9sb29wCisgICAgICBfUEFUSF9XVE1QTE9DSyAvZXRjL3d0bXBsb2NrCisgICAgIF9QQVRIX0hVU0hMT0dJTiAuaHVzaGxvZ2luCisgICAgICAgX1BBVEhfTUFJTERJUiAvdmFyL21haWwKKyAgICAgIF9QQVRIX01PVERGSUxFIC9ldGMvbW90ZAorICAgICAgIF9QQVRIX05PTE9HSU4gL2V0Yy9ub2xvZ2luCisgICAgICAgICBfUEFUSF9MT0dJTiAvYmluL2xvZ2luCisgICAgICAgIF9QQVRIX1BBU1NXRCAvZXRjL3Bhc3N3ZAorICAgICAgIF9QQVRIX0dTSEFET1cgL2V0Yy9nc2hhZG93CisgICAgICAgICBfUEFUSF9HUk9VUCAvZXRjL2dyb3VwCisgX1BBVEhfU0hBRE9XX1BBU1NXRCAvZXRjL3NoYWRvdworICAgICAgICAgX1BBVEhfV09SRFMgL3Vzci9zaGFyZS9kaWN0L3dvcmRzCisgICAgIF9QQVRIX1dPUkRTX0FMVCAvdXNyL3NoYXJlL2RpY3Qvd2ViMgorICAgX1BBVEhfRklMRVNZU1RFTVMgL2V0Yy9maWxlc3lzdGVtcworICAgIF9QQVRIX1BST0NfU1dBUFMgL3Byb2Mvc3dhcHMKK19QQVRIX1BST0NfRklMRVNZU1RFTVMgL3Byb2MvZmlsZXN5c3RlbXMKKyAgICAgICBfUEFUSF9NT1VOVEVEIC9ldGMvbXRhYgorICAgICAgICBfUEFUSF9NTlRUQUIgL2V0Yy9mc3RhYgorICAgX1BBVEhfREVWX0JZTEFCRUwgL2Rldi9kaXNrL2J5LWxhYmVsCisgICAgX1BBVEhfREVWX0JZVVVJRCAvZGV2L2Rpc2svYnktdXVpZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvcmVuYW1lL2Jhc2ljIGIvdGVzdHMvZXhwZWN0ZWQvcmVuYW1lL2Jhc2ljCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhN2ExZDgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9yZW5hbWUvYmFzaWMKQEAgLTAsMCArMSw0IEBACitgcmVuYW1lX2Jhc2ljLjEnIC0+IGByZW5hbWVfdGVzdC4xJworYHJlbmFtZV9iYXNpYy4yJyAtPiBgcmVuYW1lX3Rlc3QuMicKK2ByZW5hbWVfYmFzaWMuMycgLT4gYHJlbmFtZV90ZXN0LjMnCit3aGF0IGlzIHJlbmFtZV9iYXNpYy4/IGRvaW5nIGhlcmU/CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9yZW5hbWUvZXhpdF9jb2RlcyBiL3Rlc3RzL2V4cGVjdGVkL3JlbmFtZS9leGl0X2NvZGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1Nzc4MTcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9yZW5hbWUvZXhpdF9jb2RlcwpAQCAtMCwwICsxLDcgQEAKK1JFTkFNRV9FWElUX05PVEhJTkc6IDQKK2ByZW5hbWVfZXhpdF9jb2Rlcy4xJyAtPiBgcmVuYW1lX2V4aXRfdmFsdWVzLjEnCitgcmVuYW1lX2V4aXRfY29kZXMuMicgLT4gYHJlbmFtZV9leGl0X3ZhbHVlcy4yJworRVhJVF9TVUNDRVNTOiAwCityZW5hbWU6IHJlbmFtZV9leGl0X3ZhbHVlcy4yOiByZW5hbWUgdG8gcmVuYW1lX2V4aXRfY29kZXMuMiBmYWlsZWQ6IElzIGEgZGlyZWN0b3J5CitgcmVuYW1lX2V4aXRfdmFsdWVzLjEnIC0+IGByZW5hbWVfZXhpdF9jb2Rlcy4xJworUkVOQU1FX0VYSVRfU09NRU9LOiAyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9yZW5hbWUvc3ViZGlyIGIvdGVzdHMvZXhwZWN0ZWQvcmVuYW1lL3N1YmRpcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDI5NjAyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvcmVuYW1lL3N1YmRpcgpAQCAtMCwwICsxLDI5IEBACis9PSBmaWxlcyA9PQorYHJlbmFtZV9hYS9hYScgLT4gYHJlbmFtZV9hYS94YScKK2ByZW5hbWVfYWIvYWEnIC0+IGByZW5hbWVfYWIveGEnCityZW5hbWVfYWEKK3JlbmFtZV9hYS94YQorcmVuYW1lX2FiCityZW5hbWVfYWIveGEKKz09IHN5bWxpbmtzID09CityZW5hbWVfYWEvc3VibGluay4xOiBgcmVuYW1lL2FhJyAtPiBgcmVueG1lL2FhJworcmVuYW1lX2FhL3N1YmxpbmsuMjogYHJlbmFtZS9hYScgLT4gYHJlbnhtZS9hYScKK3JlbmFtZV9hYS9zdWJsaW5rLjM6IGByZW5hbWUvYWEnIC0+IGByZW54bWUvYWEnCityZW5hbWVfYWIvc3VibGluay4xOiBgcmVuYW1lL2FhJyAtPiBgcmVueG1lL2FhJworcmVuYW1lX2FiL3N1YmxpbmsuMjogYHJlbmFtZS9hYScgLT4gYHJlbnhtZS9hYScKK3JlbmFtZV9hYi9zdWJsaW5rLjM6IGByZW5hbWUvYWEnIC0+IGByZW54bWUvYWEnCityZW54bWUvYWEKK3JlbnhtZS9hYQorcmVueG1lL2FhCityZW54bWUvYWEKK3JlbnhtZS9hYQorcmVueG1lL2FhCis9PSBmdWxscGF0aCA9PQorYC4vcmVuYW1lX3BhdGgxJyAtPiBgLi9yZW5hbWVfcGF0aDInCisuL3JlbmFtZV9wYXRoMgorYHJlbmFtZV9wYXRoX3Rlc3QxJyAtPiBgcmVuYW1lX3BhdGhfYS90ZXN0MScKKy4vcmVuYW1lX3BhdGhfYS90ZXN0MQorYHJlbmFtZV9wYXRoX2EvdGVzdDInIC0+IGByZW5hbWVfcGF0aF9iL3Rlc3QyJworcmVuYW1lX3BhdGhfYQorcmVuYW1lX3BhdGhfYgorcmVuYW1lX3BhdGhfYi90ZXN0MgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvcmVuYW1lL3N5bWxpbmsgYi90ZXN0cy9leHBlY3RlZC9yZW5hbWUvc3ltbGluawpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOGU2ODdmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvcmVuYW1lL3N5bWxpbmsKQEAgLTAsMCArMSwzIEBACityZW5hbWVfc2xpbmsuMTogYG9sZCcgLT4gYG5ldycKK3JlbmFtZV9zbGluay4yOiBgb2xkJyAtPiBgbmV3JworcmVuYW1lX3NsaW5rLjM6IGBvbGQnIC0+IGBuZXcnCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zY2hlZHV0aWxzL2NocnQgYi90ZXN0cy9leHBlY3RlZC9zY2hlZHV0aWxzL2NocnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NjaGVkdXRpbHMvY2hydApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2NoZWR1dGlscy9jaHJ0LWJhdGNoIGIvdGVzdHMvZXhwZWN0ZWQvc2NoZWR1dGlscy9jaHJ0LWJhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5NGZjNmYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zY2hlZHV0aWxzL2NocnQtYmF0Y2gKQEAgLTAsMCArMSwyIEBACitTQ0hFRF9CQVRDSAorMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2NoZWR1dGlscy9jaHJ0LWRlYWRsaW5lIGIvdGVzdHMvZXhwZWN0ZWQvc2NoZWR1dGlscy9jaHJ0LWRlYWRsaW5lCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMzZDU1MjcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zY2hlZHV0aWxzL2NocnQtZGVhZGxpbmUKQEAgLTAsMCArMSw5IEBACitTQ0hFRF9ERUFETElORQorMAorPHJlbW92ZWQ+J3MgY3VycmVudCBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAxMzAwMC8xMzAwMC8xMzAwMAorU0NIRURfREVBRExJTkUKKzAKKzxyZW1vdmVkPidzIGN1cnJlbnQgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogMTIwMDAvMTIwMDAvMTMwMDAKK1NDSEVEX0RFQURMSU5FCiswCis8cmVtb3ZlZD4ncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6IDEwMDAwLzEyMDAwLzEzMDAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zY2hlZHV0aWxzL2NocnQtZmlmbyBiL3Rlc3RzL2V4cGVjdGVkL3NjaGVkdXRpbHMvY2hydC1maWZvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjZmEwN2YKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zY2hlZHV0aWxzL2NocnQtZmlmbwpAQCAtMCwwICsxLDQgQEAKK1NDSEVEX0ZJRk8KKzEKK1NDSEVEX0ZJRk8KKzk5CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zY2hlZHV0aWxzL2NocnQtaWRsZSBiL3Rlc3RzL2V4cGVjdGVkL3NjaGVkdXRpbHMvY2hydC1pZGxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyYTQzY2IKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zY2hlZHV0aWxzL2NocnQtaWRsZQpAQCAtMCwwICsxLDIgQEAKK1NDSEVEX0lETEUKKzAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NjaGVkdXRpbHMvY2hydC1ub24tcm9vdC1iYXRjaC12cy1uaWNlIGIvdGVzdHMvZXhwZWN0ZWQvc2NoZWR1dGlscy9jaHJ0LW5vbi1yb290LWJhdGNoLXZzLW5pY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDZjZjUxYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NjaGVkdXRpbHMvY2hydC1ub24tcm9vdC1iYXRjaC12cy1uaWNlCkBAIC0wLDAgKzEsMyBAQAorPHJlbW92ZWQ+IChwcm9jZXNzIElEKSBvbGQgcHJpb3JpdHkgMCwgbmV3IHByaW9yaXR5IDUKK1NDSEVEX0JBVENICiswCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zY2hlZHV0aWxzL2NocnQtb3RoZXIgYi90ZXN0cy9leHBlY3RlZC9zY2hlZHV0aWxzL2NocnQtb3RoZXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDcwMTNlYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NjaGVkdXRpbHMvY2hydC1vdGhlcgpAQCAtMCwwICsxLDIgQEAKK1NDSEVEX09USEVSCiswCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zY2hlZHV0aWxzL2NocnQtcnIgYi90ZXN0cy9leHBlY3RlZC9zY2hlZHV0aWxzL2NocnQtcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjVlZTkwZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NjaGVkdXRpbHMvY2hydC1ycgpAQCAtMCwwICsxLDQgQEAKK1NDSEVEX1JSCisxCitTQ0hFRF9SUgorOTkKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NjaGVkdXRpbHMvY3B1c2V0IGIvdGVzdHMvZXhwZWN0ZWQvc2NoZWR1dGlscy9jcHVzZXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTBlMTc2MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NjaGVkdXRpbHMvY3B1c2V0CkBAIC0wLDAgKzEsMjQgQEAKK21hc2tzOgorMHgwMDAwMDAwMSAgICAgID0gICAgICAgICAgICAgICAxIFswXQorMHgwMDAwMDAwMiAgICAgID0gICAgICAgICAgICAgICAyIFsxXQorMHgwMDAwMDAwMyAgICAgID0gICAgICAgICAgICAgICAzIFswLDFdCisweDAwMDAwMDA0ICAgICAgPSAgICAgICAgICAgICAgIDQgWzJdCisweDAwMDAwMDA1ICAgICAgPSAgICAgICAgICAgICAgIDUgWzAsMl0KKzB4MDAwMDAwMDYgICAgICA9ICAgICAgICAgICAgICAgNiBbMSwyXQorMHgwMDAwMDAwNyAgICAgID0gICAgICAgICAgICAgICA3IFswLTJdCisweDAwMDAwMDA4ICAgICAgPSAgICAgICAgICAgICAgIDggWzNdCisweDAwMDAwMDA5ICAgICAgPSAgICAgICAgICAgICAgIDkgWzAsM10KKzB4MDAwMDU1NTUgICAgICA9ICAgICAgICAgICAgNTU1NSBbMCwyLDQsNiw4LDEwLDEyLDE0XQorMHgwMDAwNzc3NyAgICAgID0gICAgICAgICAgICA3Nzc3IFswLTIsNC02LDgtMTAsMTItMTRdCitzdHJpbmdzOgorMCAgICAgICAgICAgICAgID0gICAgICAgICAgICAgICAxIFswXQorMSAgICAgICAgICAgICAgID0gICAgICAgICAgICAgICAyIFsxXQorMCwxICAgICAgICAgICAgID0gICAgICAgICAgICAgICAzIFswLDFdCisyICAgICAgICAgICAgICAgPSAgICAgICAgICAgICAgIDQgWzJdCiswLDIgICAgICAgICAgICAgPSAgICAgICAgICAgICAgIDUgWzAsMl0KKzEsMiAgICAgICAgICAgICA9ICAgICAgICAgICAgICAgNiBbMSwyXQorMC0yICAgICAgICAgICAgID0gICAgICAgICAgICAgICA3IFswLTJdCiszICAgICAgICAgICAgICAgPSAgICAgICAgICAgICAgIDggWzNdCiswLDMgICAgICAgICAgICAgPSAgICAgICAgICAgICAgIDkgWzAsM10KKzAsMiw0LDYsOCwxMCwxMiwxNCA9ICAgICAgICAgICAgNTU1NSBbMCwyLDQsNiw4LDEwLDEyLDE0XQorMC0yLDQtNiw4LTEwLDEyLTE0ID0gICAgICAgICAgICA3Nzc3IFswLTIsNC02LDgtMTAsMTItMTRdCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zY3JpcHQvYnVmZmVyaW5nLXJhY2UgYi90ZXN0cy9leHBlY3RlZC9zY3JpcHQvYnVmZmVyaW5nLXJhY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDIyMzI1MgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NjcmlwdC9idWZmZXJpbmctcmFjZQpAQCAtMCwwICsxLDMgQEAKK1NjcmlwdCBzdGFydGVkLCBmaWxlIGlzIC9kZXYvbnVsbAorSGFsbG8gV29ybGQNCitTY3JpcHQgZG9uZSwgZmlsZSBpcyAvZGV2L251bGwKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NjcmlwdC9vcHRpb25zLWFwcGVuZCBiL3Rlc3RzL2V4cGVjdGVkL3NjcmlwdC9vcHRpb25zLWFwcGVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjQ1NWYwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2NyaXB0L29wdGlvbnMtYXBwZW5kCkBAIC0wLDAgKzEsOCBAQAorU2NyaXB0IHN0YXJ0ZWQgb24gU3VuIE1heSAyNCAxNzo0MzoxOCAyMDE1CithcHBlbmQxDQorCitTY3JpcHQgZG9uZSBvbiBTdW4gTWF5IDI0IDE3OjQzOjE4IDIwMTUKK1NjcmlwdCBzdGFydGVkIG9uIFN1biBNYXkgMjQgMTc6NDM6MTggMjAxNQorYXBwZW5kMg0KKworU2NyaXB0IGRvbmUgb24gU3VuIE1heSAyNCAxNzo0MzoxOCAyMDE1CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zY3JpcHQvb3B0aW9ucy1mb3JjZSBiL3Rlc3RzL2V4cGVjdGVkL3NjcmlwdC9vcHRpb25zLWZvcmNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0NjJiOTgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zY3JpcHQvb3B0aW9ucy1mb3JjZQpAQCAtMCwwICsxLDE0IEBACit0ZXN0X3NjcmlwdDogb3V0cHV0IGZpbGUgYHR5cGVzY3JpcHQnIGlzIGEgbGluaworVXNlIC0tZm9yY2UgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4KK1Byb2dyYW0gbm90IHN0YXJ0ZWQuCisxCitTY3JpcHQgc3RhcnRlZCBvbiBTdW4gTWF5IDI0IDE3OjQzOjE4IDIwMTUKK3dpdGggZm9yY2UNCisKK1NjcmlwdCBkb25lIG9uIFN1biBNYXkgMjQgMTc6NDM6MTggMjAxNQorMAorU2NyaXB0IHN0YXJ0ZWQgb24gU3VuIE1heSAyNCAxNzo0MzoxOCAyMDE1Citub3QgdHlwZXNjcmlwdA0KKworU2NyaXB0IGRvbmUgb24gU3VuIE1heSAyNCAxNzo0MzoxOCAyMDE1CiswCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zY3JpcHQvb3B0aW9ucy1xdWlldCBiL3Rlc3RzL2V4cGVjdGVkL3NjcmlwdC9vcHRpb25zLXF1aWV0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmNzAyODcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zY3JpcHQvb3B0aW9ucy1xdWlldApAQCAtMCwwICsxLDQgQEAKK1NjcmlwdCBzdGFydGVkIG9uIFN1biBNYXkgMjQgMTc6NDM6MTggMjAxNQorcXVpZXQxDQorU2NyaXB0IHN0YXJ0ZWQgb24gU3VuIE1heSAyNCAxNzo0MzoxOCAyMDE1CitxdWlldDINCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zY3JpcHQvb3B0aW9ucy1yZXR1cm4gYi90ZXN0cy9leHBlY3RlZC9zY3JpcHQvb3B0aW9ucy1yZXR1cm4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2I2MDU4OQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NjcmlwdC9vcHRpb25zLXJldHVybgpAQCAtMCwwICsxLDE2IEBACitTY3JpcHQgc3RhcnRlZCBvbiBTdW4gTWF5IDI0IDE3OjQzOjE4IDIwMTUKKworU2NyaXB0IGRvbmUgb24gU3VuIE1heSAyNCAxNzo0MzoxOCAyMDE1CiswCitTY3JpcHQgc3RhcnRlZCBvbiBTdW4gTWF5IDI0IDE3OjQzOjE4IDIwMTUKKworU2NyaXB0IGRvbmUgb24gU3VuIE1heSAyNCAxNzo0MzoxOCAyMDE1CiswCitTY3JpcHQgc3RhcnRlZCBvbiBTdW4gTWF5IDI0IDE3OjQzOjE4IDIwMTUKKworU2NyaXB0IGRvbmUgb24gU3VuIE1heSAyNCAxNzo0MzoxOCAyMDE1Cis0MgorU2NyaXB0IHN0YXJ0ZWQgb24gU3VuIE1heSAyNCAxNzo0MzoxOCAyMDE1CisKK1NjcmlwdCBkb25lIG9uIFN1biBNYXkgMjQgMTc6NDM6MTggMjAxNQorMTI3CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zY3JpcHQvcmFjZSBiL3Rlc3RzL2V4cGVjdGVkL3NjcmlwdC9yYWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhZWRlNWYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zY3JpcHQvcmFjZQpAQCAtMCwwICsxIEBACithbGwgYmluZ29zIHNlZW4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NjcmlwdC9yZXBsYXkgYi90ZXN0cy9leHBlY3RlZC9zY3JpcHQvcmVwbGF5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlZmVlMzcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zY3JpcHQvcmVwbGF5CkBAIC0wLDAgKzEsOSBAQAorcmVjb3JkIHNjcmlwdCBvdXRwdXQgd2l0aCB0aW1pbmcKK1NjcmlwdCBzdGFydGVkLCBmaWxlIGlzIHR5cGVzY3JpcHQKK2hlbGxvIHdvcmxkDQorYWxsIGRvbmUNCitTY3JpcHQgZG9uZSwgZmlsZSBpcyB0eXBlc2NyaXB0CityZXBsYXkgc2NyaXB0IG91dHB1dAoraGVsbG8gd29ybGQNCithbGwgZG9uZQ0KKwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2Rvcy1hY3RpdmF0ZSBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3MtYWN0aXZhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJmMmQyNQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3MtYWN0aXZhdGUKQEAgLTAsMCArMSwxOSBAQAorVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uIDEgaXMgZW5hYmxlZCBub3cuCisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICogICAgIDIwNDggICA4MTkxICAgIDYxNDQgICAzTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICAgODE5MiAgMTQzMzUgICAgNjE0NCAgIDNNIDgyIExpbnV4IHN3YXAgLyBTb2xhcmlzCis8cmVtb3ZlZD4zICAgICAgIDE0MzM2ICAyMDQ3OSAgICA2MTQ0ICAgM00gODMgTGludXgKKzxyZW1vdmVkPjQgICAgICAgMjA0ODAgMTAyMzk5ICAgODE5MjAgIDQwTSAgNSBFeHRlbmRlZAorPHJlbW92ZWQ+NSAgICAgICAyMjUyOCAgMjg2NzEgICAgNjE0NCAgIDNNIDgzIExpbnV4Cis8cmVtb3ZlZD42ICAgICAgIDMwNzIwIDEwMjM5OSAgIDcxNjgwICAzNU0gODMgTGludXgKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3MtZHVtcC1nYXBzIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2Rvcy1kdW1wLWdhcHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzM3MDk4MwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3MtZHVtcC1nYXBzCkBAIC0wLDAgKzEsMjQgQEAKK0NoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIE9LCisKK0Rpc2sgPHJlbW92ZWQ+OiA1MCBNaUIsIDUyNDI4ODAwIGJ5dGVzLCAxMDI0MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA0MDk2IGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNDA5NiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjE6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MjogSWdub3JpbmcgcGFydGl0aW9uLgorPHJlbW92ZWQ+MzogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD40OiBJZ25vcmluZyBwYXJ0aXRpb24uCitBbGwgcGFydGl0aW9ucyB1c2VkLgorCitOZXcgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICAgRW5kIFNlY3RvcnMgIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgKiAgICAgMjA0OCAgNTIwNDYgICA0OTk5OSAyNC40TSA4MyBMaW51eAorPHJlbW92ZWQ+MyAgICAgICA1MjA0OCAxMDIwNDYgICA0OTk5OSAyNC40TSA4MyBMaW51eAorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2Rvcy1kdW1wLW9sZCBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3MtZHVtcC1vbGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTc1NzVlOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3MtZHVtcC1vbGQKQEAgLTAsMCArMSwyMyBAQAorQ2hlY2tpbmcgdGhhdCBuby1vbmUgaXMgdXNpbmcgdGhpcyBkaXNrIHJpZ2h0IG5vdyAuLi4gT0sKKworRGlzayA8cmVtb3ZlZD46IDUwIE1pQiwgNTI0Mjg4MDAgYnl0ZXMsIDEwMjQwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDQwOTYgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA0MDk2IGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCisKKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MTogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4yOiBJZ25vcmluZyBwYXJ0aXRpb24uCis8cmVtb3ZlZD4zOiBJZ25vcmluZyBwYXJ0aXRpb24uCis8cmVtb3ZlZD40OiBJZ25vcmluZyBwYXJ0aXRpb24uCitBbGwgcGFydGl0aW9ucyB1c2VkLgorCitOZXcgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyAgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAqICAgICAyMDQ4IDUyMDQ2ICAgNDk5OTkgMjQuNE0gODMgTGludXgKKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3MtZXhwbGljaXQtc2l6ZSBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3MtZXhwbGljaXQtc2l6ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OWNiZGYzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2Rvcy1leHBsaWNpdC1zaXplCkBAIC0wLDAgKzEsNDAgQEAKK0NoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIE9LCisKK0Rpc2sgPHJlbW92ZWQ+OiA1MCBNaUIsIDUyNDI4ODAwIGJ5dGVzLCAxMDI0MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA0MDk2IGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNDA5NiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjE6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MjogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4zOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjQ6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+NTogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD42OiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjc6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+ODogRG9uZS4KKworTmV3IHNpdHVhdGlvbjoKKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgIEVuZCBTZWN0b3JzICBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgICAgIDEgICAxMDAwICAgIDEwMDAgIDUwMEsgODMgTGludXgKKzxyZW1vdmVkPjIgICAgICAgIDEwMDEgICAyMDAwICAgIDEwMDAgIDUwMEsgODIgTGludXggc3dhcCAvIFNvbGFyaXMKKzxyZW1vdmVkPjMgICAgICAgIDIwMDEgICAzMDAwICAgIDEwMDAgIDUwMEsgODMgTGludXgKKzxyZW1vdmVkPjQgICAgICAgIDMwMDEgMTAyMzk5ICAgOTkzOTkgNDguNU0gIDUgRXh0ZW5kZWQKKzxyZW1vdmVkPjUgICAgICAgIDMwMDIgICA0MDAxICAgIDEwMDAgIDUwMEsgODMgTGludXgKKzxyZW1vdmVkPjYgICAgICAgIDQwMDMgICA1MDAyICAgIDEwMDAgIDUwMEsgODMgTGludXgKKzxyZW1vdmVkPjcgICAgICAgIDUwMDQgMTAyMzk5ICAgOTczOTYgNDcuNk0gODMgTGludXgKKworUGFydGl0aW9uIDEgZG9lcyBub3Qgc3RhcnQgb24gcGh5c2ljYWwgc2VjdG9yIGJvdW5kYXJ5LgorUGFydGl0aW9uIDIgZG9lcyBub3Qgc3RhcnQgb24gcGh5c2ljYWwgc2VjdG9yIGJvdW5kYXJ5LgorUGFydGl0aW9uIDMgZG9lcyBub3Qgc3RhcnQgb24gcGh5c2ljYWwgc2VjdG9yIGJvdW5kYXJ5LgorUGFydGl0aW9uIDQgZG9lcyBub3Qgc3RhcnQgb24gcGh5c2ljYWwgc2VjdG9yIGJvdW5kYXJ5LgorUGFydGl0aW9uIDUgZG9lcyBub3Qgc3RhcnQgb24gcGh5c2ljYWwgc2VjdG9yIGJvdW5kYXJ5LgorUGFydGl0aW9uIDYgZG9lcyBub3Qgc3RhcnQgb24gcGh5c2ljYWwgc2VjdG9yIGJvdW5kYXJ5LgorUGFydGl0aW9uIDcgZG9lcyBub3Qgc3RhcnQgb24gcGh5c2ljYWwgc2VjdG9yIGJvdW5kYXJ5LgorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2Rvcy1yZWFkLWR1bXAgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZG9zLXJlYWQtZHVtcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNTczNWI0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2Rvcy1yZWFkLWR1bXAKQEAgLTAsMCArMSwzNCBAQAorQ2hlY2tpbmcgdGhhdCBuby1vbmUgaXMgdXNpbmcgdGhpcyBkaXNrIHJpZ2h0IG5vdyAuLi4gT0sKKworRGlzayA8cmVtb3ZlZD46IDUwIE1pQiwgNTI0Mjg4MDAgYnl0ZXMsIDEwMjQwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDQwOTYgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA0MDk2IGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCisKKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4xOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjI6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MzogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD40OiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjU6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+NjogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD43OiBEb25lLgorCitOZXcgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAqICAgICAyMDQ4ICAgODE5MSAgICA2MTQ0ICAgM00gODMgTGludXgKKzxyZW1vdmVkPjIgICAgICAgIDgxOTIgIDE0MzM1ICAgIDYxNDQgICAzTSA4MiBMaW51eCBzd2FwIC8gU29sYXJpcworPHJlbW92ZWQ+MyAgICAgICAxNDMzNiAgMjA0NzkgICAgNjE0NCAgIDNNIDgzIExpbnV4Cis8cmVtb3ZlZD40ICAgICAgIDIwNDgwIDEwMjM5OSAgIDgxOTIwICA0ME0gIDUgRXh0ZW5kZWQKKzxyZW1vdmVkPjUgICAgICAgMjA0ODEgIDI2NjI0ICAgIDYxNDQgICAzTSA4MyBMaW51eAorPHJlbW92ZWQ+NiAgICAgICAyNjYyNiAxMDIzOTkgICA3NTc3NCAgMzdNIDgzIExpbnV4CisKK1BhcnRpdGlvbiA1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4KK1BhcnRpdGlvbiA2IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4KKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3MtcmVhZC1kdW1wLWNhc2UgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZG9zLXJlYWQtZHVtcC1jYXNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkMDA3ZjcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZG9zLXJlYWQtZHVtcC1jYXNlCkBAIC0wLDAgKzEsMjEgQEAKK0NoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIE9LCisKK0Rpc2sgPHJlbW92ZWQ+OiA1MCBNaUIsIDUyNDI4ODAwIGJ5dGVzLCAxMDI0MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA0MDk2IGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNDA5NiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MTogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4yOiBEb25lLgorCitOZXcgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICogICAgIDIwNDggIDgxOTEgICAgNjE0NCAgIDNNIDgzIExpbnV4CisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svZG9zLXJlc2l6ZSBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3MtcmVzaXplCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiNjBmYjQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZG9zLXJlc2l6ZQpAQCAtMCwwICsxLDIxIEBACitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgKiAgICAgMjA0OCAyMjUyNyAgIDIwNDgwICAxME0gODIgTGludXggc3dhcCAvIFNvbGFyaXMKKworPHJlbW92ZWQ+MTogCitOZXcgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAqICAgICAyMDQ4IDEwMjM5OSAgMTAwMzUyICA0OU0gODIgTGludXggc3dhcCAvIFNvbGFyaXMKKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3Mtc2ltcGxlLWNvbW1hcyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3Mtc2ltcGxlLWNvbW1hcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NGQ0MWU4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2Rvcy1zaW1wbGUtY29tbWFzCkBAIC0wLDAgKzEsMjkgQEAKK0NoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIE9LCisKK0Rpc2sgPHJlbW92ZWQ+OiA1MCBNaUIsIDUyNDI4ODAwIGJ5dGVzLCAxMDI0MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA0MDk2IGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNDA5NiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworCis+Pj4gQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4xOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjI6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MzogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD40OiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjU6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+NjogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD43OiBEb25lLgorCitOZXcgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgICAyMDQ4ICAgODE5MSAgICA2MTQ0ICAgM00gODMgTGludXgKKzxyZW1vdmVkPjIgICAgICAgIDgxOTIgIDE0MzM1ICAgIDYxNDQgICAzTSA4MiBMaW51eCBzd2FwIC8gU29sYXJpcworPHJlbW92ZWQ+MyAgICAgICAxNDMzNiAgMjA0NzkgICAgNjE0NCAgIDNNIDgzIExpbnV4Cis8cmVtb3ZlZD40ICAgICAgIDIwNDgwIDEwMjM5OSAgIDgxOTIwICA0ME0gIDUgRXh0ZW5kZWQKKzxyZW1vdmVkPjUgICAgICAgMjI1MjggIDI4NjcxICAgIDYxNDQgICAzTSA4MyBMaW51eAorPHJlbW92ZWQ+NiAgICAgICAzMDcyMCAxMDIzOTkgICA3MTY4MCAgMzVNIDgzIExpbnV4CisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svZG9zLXNpbXBsZS1zcGFjZSBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3Mtc2ltcGxlLXNwYWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkNDZmZDgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZG9zLXNpbXBsZS1zcGFjZQpAQCAtMCwwICsxLDIzIEBACitDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiBPSworCitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKKworPj4+IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MTogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4yOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjM6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+NDogRG9uZS4KKworTmV3IHNpdHVhdGlvbjoKKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMjA0OCAgIDgxOTEgICAgNjE0NCAgIDNNIDgzIExpbnV4Cis8cmVtb3ZlZD4yICAgICAgICA4MTkyICAxNDMzNSAgICA2MTQ0ICAgM00gODIgTGludXggc3dhcCAvIFNvbGFyaXMKKzxyZW1vdmVkPjMgICAgICAgMTQzMzYgMTAyMzk5ICAgODgwNjQgIDQzTSA4MyBMaW51eAorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2Rvcy13cml0ZS1kdW1wIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2Rvcy13cml0ZS1kdW1wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4MGNlZDUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZG9zLXdyaXRlLWR1bXAKQEAgLTAsMCArMSwxMSBAQAorbGFiZWw6IGRvcworbGFiZWwtaWQ6IDB4MWRkYzhhNzkKK2RldmljZTogPHJlbW92ZWQ+Cit1bml0OiBzZWN0b3JzCisKKzxyZW1vdmVkPjEgOiBzdGFydD0gICAgICAgIDIwNDgsIHNpemU9ICAgICAgICA2MTQ0LCB0eXBlPTgzLCBib290YWJsZQorPHJlbW92ZWQ+MiA6IHN0YXJ0PSAgICAgICAgODE5Miwgc2l6ZT0gICAgICAgIDYxNDQsIHR5cGU9ODIKKzxyZW1vdmVkPjMgOiBzdGFydD0gICAgICAgMTQzMzYsIHNpemU9ICAgICAgICA2MTQ0LCB0eXBlPTgzCis8cmVtb3ZlZD40IDogc3RhcnQ9ICAgICAgIDIwNDgwLCBzaXplPSAgICAgICA4MTkyMCwgdHlwZT01Cis8cmVtb3ZlZD41IDogc3RhcnQ9ICAgICAgIDIwNDgxLCBzaXplPSAgICAgICAgNjE0NCwgdHlwZT04MworPHJlbW92ZWQ+NiA6IHN0YXJ0PSAgICAgICAyNjYyNiwgc2l6ZT0gICAgICAgNzU3NzQsIHR5cGU9ODMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3Mtd3JpdGUtanNvbiBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3Mtd3JpdGUtanNvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NjM1OTBmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2Rvcy13cml0ZS1qc29uCkBAIC0wLDAgKzEsMTYgQEAKK3sKKyAgICJwYXJ0aXRpb250YWJsZSI6IHsKKyAgICAgICJsYWJlbCI6ICJkb3MiLAorICAgICAgImlkIjogIjB4MWRkYzhhNzkiLAorICAgICAgImRldmljZSI6ICI8cmVtb3ZlZD4iLAorICAgICAgInVuaXQiOiAic2VjdG9ycyIsCisgICAgICAicGFydGl0aW9ucyI6IFsKKyAgICAgICAgIHsibm9kZSI6ICI8cmVtb3ZlZD4xIiwgInN0YXJ0IjogMjA0OCwgInNpemUiOiA2MTQ0LCAidHlwZSI6ICI4MyIsICJib290YWJsZSI6IHRydWV9LAorICAgICAgICAgeyJub2RlIjogIjxyZW1vdmVkPjIiLCAic3RhcnQiOiA4MTkyLCAic2l6ZSI6IDYxNDQsICJ0eXBlIjogIjgyIn0sCisgICAgICAgICB7Im5vZGUiOiAiPHJlbW92ZWQ+MyIsICJzdGFydCI6IDE0MzM2LCAic2l6ZSI6IDYxNDQsICJ0eXBlIjogIjgzIn0sCisgICAgICAgICB7Im5vZGUiOiAiPHJlbW92ZWQ+NCIsICJzdGFydCI6IDIwNDgwLCAic2l6ZSI6IDgxOTIwLCAidHlwZSI6ICI1In0sCisgICAgICAgICB7Im5vZGUiOiAiPHJlbW92ZWQ+NSIsICJzdGFydCI6IDIwNDgxLCAic2l6ZSI6IDYxNDQsICJ0eXBlIjogIjgzIn0sCisgICAgICAgICB7Im5vZGUiOiAiPHJlbW92ZWQ+NiIsICJzdGFydCI6IDI2NjI2LCAic2l6ZSI6IDc1Nzc0LCAidHlwZSI6ICI4MyJ9CisgICAgICBdCisgICB9Cit9CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LWFsbC1kZWZhdWx0cyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtYWxsLWRlZmF1bHRzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4YzExMDYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LWFsbC1kZWZhdWx0cwpAQCAtMCwwICsxLDI5IEBACitDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiBPSworCitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKKworPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjE6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MjogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4zOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjQ6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+NTogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD42OiBEb25lLgorCitOZXcgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAgMjA0OCAgMTIyODcgICAxMDI0MCAgIDVNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjIgIDEyMjg4ICAyMjUyNyAgIDEwMjQwICAgNU0gTGludXggZmlsZXN5c3RlbQorPHJlbW92ZWQ+MyAgMjI1MjggIDMyNzY3ICAgMTAyNDAgICA1TSBMaW51eCBzd2FwCis8cmVtb3ZlZD40ICAzMjc2OCAgNDMwMDcgICAxMDI0MCAgIDVNIExpbnV4IHJvb3QgKHg4Ni02NCkKKzxyZW1vdmVkPjUgIDQzMDA4IDEwMjM2NiAgIDU5MzU5ICAyOU0gTGludXggZmlsZXN5c3RlbQorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2dwdC1hdHRycyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtYXR0cnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTlhM2FlNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtYXR0cnMKQEAgLTAsMCArMSwxMTEwIEBACisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCitSZXF1aXJlZFBhcnRpdGlvbiBOb0Jsb2NrSU9Qcm90b2NvbCBHVUlEOjQ4LDUxCisKK1dlbGNvbWUgdG8gZmRpc2sgPHJlbW92ZWQ+LgorQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLgorQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuCisKKworQ29tbWFuZCAobSBmb3IgaGVscCk6IAorRXhwZXJ0IGNvbW1hbmQgKG0gZm9yIGhlbHApOiAKK1BNQlI6IG9mZnNldCA9IDAsIHNpemUgPSA1MTIgYnl0ZXMuCiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDAxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDAyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDAzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDA0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDA1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDA2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDA3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDA4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDA5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDBhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDBiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDBjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDBkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDBlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDBmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDEwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDExMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDEyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDEzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDE0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDE1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDE2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDE3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDE4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDE5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDFhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDFjMCAgMDEgMDAgZWUgZmUgZmYgZmYgMDEgMDAgIDAwIDAwIGZmIDhmIDAxIDAwIDAwIDAwCiswMDAwMDFkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDU1IGFhCisKK0dQVCBIZWFkZXI6IG9mZnNldCA9IDUxMiwgc2l6ZSA9IDUxMiBieXRlcy4KKzAwMDAwMjAwICA0NSA0NiA0OSAyMCA1MCA0MSA1MiA1NCAgMDAgMDAgMDEgMDAgNWMgMDAgMDAgMDAKKzAwMDAwMjEwICBjYyA1YSBjZSBjZiAwMCAwMCAwMCAwMCAgMDEgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMjIwICBmZiA4ZiAwMSAwMCAwMCAwMCAwMCAwMCAgMDAgMDggMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMjMwICBkZSA4ZiAwMSAwMCAwMCAwMCAwMCAwMCAgOTkgYzMgODEgYjEgMTEgNDcgNTIgNGMKKzAwMDAwMjQwICA4YiA2NSA5ZSA3NiA0NSA0MSAyMSA4ZCAgMDIgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMjUwICA4MCAwMCAwMCAwMCA4MCAwMCAwMCAwMCAgOWYgOTEgNjIgMTAgMDAgMDAgMDAgMDAKKzAwMDAwMjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwM2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwM2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwM2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwM2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwM2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwM2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKworR1BUIEVudHJpZXM6IG9mZnNldCA9IDEwMjQsIHNpemUgPSAxNjM4NCBieXRlcy4KKzAwMDAwNDAwICAyOCA3MyAyYSBjMSAxZiBmOCBkMiAxMSAgYmEgNGIgMDAgYTAgYzkgM2UgYzkgM2IKKzAwMDAwNDEwICA3YiA2NSBkYyA5MSBiNCBkNyA1MyA0NiAgYTMgNjcgNjYgMzEgOTQgZmYgZDQgMzIKKzAwMDAwNDIwICAwMCAwOCAwMCAwMCAwMCAwMCAwMCAwMCAgZmYgMmYgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgNDUgMDAgNDYgMDAgNDkgMDAgMjAgMDAKKzAwMDAwNDQwICA3MyAwMCA3OSAwMCA3MyAwMCA3NCAwMCAgNjUgMDAgNmQgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNDgwICBhZiAzZCBjNiAwZiA4MyA4NCA3MiA0NyAgOGUgNzkgM2QgNjkgZDggNDcgN2QgZTQKKzAwMDAwNDkwICBkZiA4YSBhMCBiYSA3ZSAzMiA3NyA0MSAgODkgNTMgOTggZGEgMWEgNTEgNzYgYzQKKzAwMDAwNGEwICAwMCAzMCAwMCAwMCAwMCAwMCAwMCAwMCAgZmYgNTcgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNGIwICAwMyAwMCAwMCAwMCAwMCAwMCAwOSAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNTAwICA2ZCBmZCA1NyAwNiBhYiBhNCBjNCA0MyAgODQgZTUgMDkgMzMgYzggNGIgNGYgNGYKKzAwMDAwNTEwICA4NyA4YSBhZCBjZSAxYSBmZiBjYiA0NSAgODMgZTUgOTkgYjAgOGQgMGUgYmMgODcKKzAwMDAwNTIwICAwMCA1OCAwMCAwMCAwMCAwMCAwMCAwMCAgZmYgN2YgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNTgwICBlMyBiYyA2OCA0ZiBjZCBlOCBiMSA0ZCAgOTYgZTcgZmIgY2EgZjkgODQgYjcgMDkKKzAwMDAwNTkwICA2MCBkYyBmYyBkNCA1ZCA3NiBjMyA0YiAgYmQgODQgMGQgMGIgOTggNDIgYzYgZGIKKzAwMDAwNWEwICAwMCA4MCAwMCAwMCAwMCAwMCAwMCAwMCAgZmYgYTcgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNjAwICBhZiAzZCBjNiAwZiA4MyA4NCA3MiA0NyAgOGUgNzkgM2QgNjkgZDggNDcgN2QgZTQKKzAwMDAwNjEwICBkNyA1YiAxNSA2MCBkOCBiZiA4YyA0ZSAgYjggMDAgMjIgMTkgMDAgNzcgOTMgNzMKKzAwMDAwNjIwICAwMCBhOCAwMCAwMCAwMCAwMCAwMCAwMCAgZGUgOGYgMDEgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwN2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwN2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwN2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwN2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwN2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwN2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwY2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwY2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwY2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwY2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwY2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwY2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxM2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxM2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxM2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxM2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxM2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxM2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxN2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxN2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxN2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxN2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxN2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxN2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxY2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxY2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxY2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxY2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxY2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxY2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyM2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyM2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyM2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyM2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyM2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyM2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyN2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyN2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyN2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyN2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyN2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyN2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyY2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyY2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyY2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyY2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyY2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyY2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzM2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzM2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzM2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzM2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzM2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzM2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzN2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzN2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzN2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzN2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzN2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzN2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzY2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzY2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzY2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzY2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzY2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzY2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0M2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0M2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0M2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0M2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0M2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0M2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKworRXhwZXJ0IGNvbW1hbmQgKG0gZm9yIGhlbHApOiAKKworRXhwZXJ0IGNvbW1hbmQgKG0gZm9yIGhlbHApOiAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LWF0dHJzLWJyb2tlbi1ndWlkIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2dwdC1hdHRycy1icm9rZW4tZ3VpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZTU3MzQxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2dwdC1hdHRycy1icm9rZW4tZ3VpZApAQCAtMCwwICsxLDIgQEAKK3Vuc3VwcG9ydGVkIEdQVCBhdHRyaWJ1dGUgYml0ICdHVUlEOk5vQmxvY2tJT1Byb3RvY29sIEdVSUQ6R1VJRDo2MyBSZXF1aXJlZFBhcnRpdG9uJworc2ZkaXNrOiA8cmVtb3ZlZD46IHBhcnRpdGlvbiAyOiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBhdHRyaWJ1dGVzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LWF0dHJzLWJyb2tlbi1ub3NlcCBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtYXR0cnMtYnJva2VuLW5vc2VwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0Njk3OWMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LWF0dHJzLWJyb2tlbi1ub3NlcApAQCAtMCwwICsxLDIgQEAKK2ZhaWxlZCB0byBwYXJzZSBHUFQgYXR0cmlidXRlIHN0cmluZyAnTm9CbG9ja0lPUHJvdG9jb2xSZXF1aXJlZFBhcnRpdG9uJworc2ZkaXNrOiA8cmVtb3ZlZD46IHBhcnRpdGlvbiAyOiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBhdHRyaWJ1dGVzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LWF0dHJzLWd1aWQgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LWF0dHJzLWd1aWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTE4ZTc0OAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtYXR0cnMtZ3VpZApAQCAtMCwwICsxLDExMTAgQEAKKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KK0dVSUQ6NDgsNTEsNTIsNjMKKworV2VsY29tZSB0byBmZGlzayA8cmVtb3ZlZD4uCitDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uCitCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC4KKworCitDb21tYW5kIChtIGZvciBoZWxwKTogCitFeHBlcnQgY29tbWFuZCAobSBmb3IgaGVscCk6IAorUE1CUjogb2Zmc2V0ID0gMCwgc2l6ZSA9IDUxMiBieXRlcy4KKzAwMDAwMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMWMwICAwMSAwMCBlZSBmZSBmZiBmZiAwMSAwMCAgMDAgMDAgZmYgOGYgMDEgMDAgMDAgMDAKKzAwMDAwMWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEKKworR1BUIEhlYWRlcjogb2Zmc2V0ID0gNTEyLCBzaXplID0gNTEyIGJ5dGVzLgorMDAwMDAyMDAgIDQ1IDQ2IDQ5IDIwIDUwIDQxIDUyIDU0ICAwMCAwMCAwMSAwMCA1YyAwMCAwMCAwMAorMDAwMDAyMTAgIDBkIGE1IDRiIGRhIDAwIDAwIDAwIDAwICAwMSAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyMjAgIGZmIDhmIDAxIDAwIDAwIDAwIDAwIDAwICAwMCAwOCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyMzAgIGRlIDhmIDAxIDAwIDAwIDAwIDAwIDAwICA5OSBjMyA4MSBiMSAxMSA0NyA1MiA0YworMDAwMDAyNDAgIDhiIDY1IDllIDc2IDQ1IDQxIDIxIDhkICAwMiAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyNTAgIDgwIDAwIDAwIDAwIDgwIDAwIDAwIDAwICAxNSA0ZSBkZiBmYSAwMCAwMCAwMCAwMAorMDAwMDAyNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorCitHUFQgRW50cmllczogb2Zmc2V0ID0gMTAyNCwgc2l6ZSA9IDE2Mzg0IGJ5dGVzLgorMDAwMDA0MDAgIDI4IDczIDJhIGMxIDFmIGY4IGQyIDExICBiYSA0YiAwMCBhMCBjOSAzZSBjOSAzYgorMDAwMDA0MTAgIDdiIDY1IGRjIDkxIGI0IGQ3IDUzIDQ2ICBhMyA2NyA2NiAzMSA5NCBmZiBkNCAzMgorMDAwMDA0MjAgIDAwIDA4IDAwIDAwIDAwIDAwIDAwIDAwICBmZiAyZiAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICA0NSAwMCA0NiAwMCA0OSAwMCAyMCAwMAorMDAwMDA0NDAgIDczIDAwIDc5IDAwIDczIDAwIDc0IDAwICA2NSAwMCA2ZCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0ODAgIGFmIDNkIGM2IDBmIDgzIDg0IDcyIDQ3ICA4ZSA3OSAzZCA2OSBkOCA0NyA3ZCBlNAorMDAwMDA0OTAgIGRmIDhhIGEwIGJhIDdlIDMyIDc3IDQxICA4OSA1MyA5OCBkYSAxYSA1MSA3NiBjNAorMDAwMDA0YTAgIDAwIDMwIDAwIDAwIDAwIDAwIDAwIDAwICBmZiA1NyAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDE5IDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1MDAgIDZkIGZkIDU3IDA2IGFiIGE0IGM0IDQzICA4NCBlNSAwOSAzMyBjOCA0YiA0ZiA0ZgorMDAwMDA1MTAgIDg3IDhhIGFkIGNlIDFhIGZmIGNiIDQ1ICA4MyBlNSA5OSBiMCA4ZCAwZSBiYyA4NworMDAwMDA1MjAgIDAwIDU4IDAwIDAwIDAwIDAwIDAwIDAwICBmZiA3ZiAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1ODAgIGUzIGJjIDY4IDRmIGNkIGU4IGIxIDRkICA5NiBlNyBmYiBjYSBmOSA4NCBiNyAwOQorMDAwMDA1OTAgIDYwIGRjIGZjIGQ0IDVkIDc2IGMzIDRiICBiZCA4NCAwZCAwYiA5OCA0MiBjNiBkYgorMDAwMDA1YTAgIDAwIDgwIDAwIDAwIDAwIDAwIDAwIDAwICBmZiBhNyAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2MDAgIGFmIDNkIGM2IDBmIDgzIDg0IDcyIDQ3ICA4ZSA3OSAzZCA2OSBkOCA0NyA3ZCBlNAorMDAwMDA2MTAgIGQ3IDViIDE1IDYwIGQ4IGJmIDhjIDRlICBiOCAwMCAyMiAxOSAwMCA3NyA5MyA3MworMDAwMDA2MjAgIDAwIGE4IDAwIDAwIDAwIDAwIDAwIDAwICBkZSA4ZiAwMSAwMCAwMCAwMCAwMCAwMAorMDAwMDA2MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorCitFeHBlcnQgY29tbWFuZCAobSBmb3IgaGVscCk6IAorCitFeHBlcnQgY29tbWFuZCAobSBmb3IgaGVscCk6IApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtYXR0cnMtc3BhY2UgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LWF0dHJzLXNwYWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5YTNhZTcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LWF0dHJzLXNwYWNlCkBAIC0wLDAgKzEsMTExMCBAQAorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgorUmVxdWlyZWRQYXJ0aXRpb24gTm9CbG9ja0lPUHJvdG9jb2wgR1VJRDo0OCw1MQorCitXZWxjb21lIHRvIGZkaXNrIDxyZW1vdmVkPi4KK0NoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS4KK0JlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLgorCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiAKK0V4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogCitQTUJSOiBvZmZzZXQgPSAwLCBzaXplID0gNTEyIGJ5dGVzLgorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxYzAgIDAxIDAwIGVlIGZlIGZmIGZmIDAxIDAwICAwMCAwMCBmZiA4ZiAwMSAwMCAwMCAwMAorMDAwMDAxZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCA1NSBhYQorCitHUFQgSGVhZGVyOiBvZmZzZXQgPSA1MTIsIHNpemUgPSA1MTIgYnl0ZXMuCiswMDAwMDIwMCAgNDUgNDYgNDkgMjAgNTAgNDEgNTIgNTQgIDAwIDAwIDAxIDAwIDVjIDAwIDAwIDAwCiswMDAwMDIxMCAgY2MgNWEgY2UgY2YgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDIyMCAgZmYgOGYgMDEgMDAgMDAgMDAgMDAgMDAgIDAwIDA4IDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDIzMCAgZGUgOGYgMDEgMDAgMDAgMDAgMDAgMDAgIDk5IGMzIDgxIGIxIDExIDQ3IDUyIDRjCiswMDAwMDI0MCAgOGIgNjUgOWUgNzYgNDUgNDEgMjEgOGQgIDAyIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDI1MCAgODAgMDAgMDAgMDAgODAgMDAgMDAgMDAgIDlmIDkxIDYyIDEwIDAwIDAwIDAwIDAwCiswMDAwMDI2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDI3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDI4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDI5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDJhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDJiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDJjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDJkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDJlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDJmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDMwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDMxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDMyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDMzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDM0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDM1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDM2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDM3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDM4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDM5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDNhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDNiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDNjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDNkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDNlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDNmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCisKK0dQVCBFbnRyaWVzOiBvZmZzZXQgPSAxMDI0LCBzaXplID0gMTYzODQgYnl0ZXMuCiswMDAwMDQwMCAgMjggNzMgMmEgYzEgMWYgZjggZDIgMTEgIGJhIDRiIDAwIGEwIGM5IDNlIGM5IDNiCiswMDAwMDQxMCAgN2IgNjUgZGMgOTEgYjQgZDcgNTMgNDYgIGEzIDY3IDY2IDMxIDk0IGZmIGQ0IDMyCiswMDAwMDQyMCAgMDAgMDggMDAgMDAgMDAgMDAgMDAgMDAgIGZmIDJmIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDQzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDQ1IDAwIDQ2IDAwIDQ5IDAwIDIwIDAwCiswMDAwMDQ0MCAgNzMgMDAgNzkgMDAgNzMgMDAgNzQgMDAgIDY1IDAwIDZkIDAwIDAwIDAwIDAwIDAwCiswMDAwMDQ1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDQ2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDQ3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDQ4MCAgYWYgM2QgYzYgMGYgODMgODQgNzIgNDcgIDhlIDc5IDNkIDY5IGQ4IDQ3IDdkIGU0CiswMDAwMDQ5MCAgZGYgOGEgYTAgYmEgN2UgMzIgNzcgNDEgIDg5IDUzIDk4IGRhIDFhIDUxIDc2IGM0CiswMDAwMDRhMCAgMDAgMzAgMDAgMDAgMDAgMDAgMDAgMDAgIGZmIDU3IDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDRiMCAgMDMgMDAgMDAgMDAgMDAgMDAgMDkgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDRjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDRkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDRlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDRmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDUwMCAgNmQgZmQgNTcgMDYgYWIgYTQgYzQgNDMgIDg0IGU1IDA5IDMzIGM4IDRiIDRmIDRmCiswMDAwMDUxMCAgODcgOGEgYWQgY2UgMWEgZmYgY2IgNDUgIDgzIGU1IDk5IGIwIDhkIDBlIGJjIDg3CiswMDAwMDUyMCAgMDAgNTggMDAgMDAgMDAgMDAgMDAgMDAgIGZmIDdmIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDUzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDU0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDU1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDU2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDU3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDU4MCAgZTMgYmMgNjggNGYgY2QgZTggYjEgNGQgIDk2IGU3IGZiIGNhIGY5IDg0IGI3IDA5CiswMDAwMDU5MCAgNjAgZGMgZmMgZDQgNWQgNzYgYzMgNGIgIGJkIDg0IDBkIDBiIDk4IDQyIGM2IGRiCiswMDAwMDVhMCAgMDAgODAgMDAgMDAgMDAgMDAgMDAgMDAgIGZmIGE3IDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDViMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDVjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDVkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDVlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDVmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDYwMCAgYWYgM2QgYzYgMGYgODMgODQgNzIgNDcgIDhlIDc5IDNkIDY5IGQ4IDQ3IDdkIGU0CiswMDAwMDYxMCAgZDcgNWIgMTUgNjAgZDggYmYgOGMgNGUgIGI4IDAwIDIyIDE5IDAwIDc3IDkzIDczCiswMDAwMDYyMCAgMDAgYTggMDAgMDAgMDAgMDAgMDAgMDAgIGRlIDhmIDAxIDAwIDAwIDAwIDAwIDAwCiswMDAwMDYzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDY0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDY1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDY2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDY3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDY4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDY5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDZhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDZiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDZjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDZkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDZlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDZmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDcwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDcxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDcyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDczMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDc0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDc1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDc2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDc3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDc4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDc5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDdhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDdiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDdjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDdkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDdlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDdmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDgwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDgxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDgyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDgzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDg0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDg1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDg2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDg3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDg4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDg5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDhhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDhiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDhjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDhkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDhlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDhmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDkwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDkxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDkyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDkzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDk0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDk1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDk2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDk3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDk4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDk5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDlhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDliMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDljMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDlkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDllMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDlmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGEwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGExMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGEyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGEzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGE0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGE1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGE2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGE3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGE4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGE5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGFhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGFjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGFkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGIxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGIyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGIzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGI0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGI1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGI2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGI3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGI4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGI5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGJhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGJiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGJjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGJkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGJlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGJmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGMwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGMxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGMyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGMzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGM0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGM1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGM2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGM3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGM4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGM5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGNhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGNiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGNjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGNkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGNlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGNmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGQwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGQxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGQyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGQzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGQ0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGQ1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGQ2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGQ3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGQ4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGQ5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGRhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGRiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGRjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGRkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGRlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGRmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGUwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGUxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGUyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGUzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGU0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGU1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGU2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGU3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGU4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGU5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGVhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGViMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGVjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGVkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGVlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGVmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGYwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGYxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGYyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGYzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGY0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGY1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGY2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGY3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGY4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGY5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGZhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGZiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGZjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGZkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGZlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGZmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTAxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTAyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTAzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTA0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTA1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTA2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTA3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTA4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTA5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTBhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTBiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTBjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTBkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTBlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTBmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTEwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTExMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTEyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTEzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTE0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTE1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTE2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTE3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTE4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTE5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTFhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTFjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTFkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTIxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTIyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTIzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTI0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTI1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTI2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTI3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTI4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTI5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTJhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTJiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTJjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTJkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTJlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTJmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTMwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTMxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTMyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTMzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTM0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTM1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTM2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTM3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTM4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTM5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTNhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTNiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTNjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTNkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTNlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTNmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTQwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTQxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTQyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTQzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTQ0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTQ1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTQ2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTQ3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTQ4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTQ5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTRhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTRiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTRjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTRkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTRlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTRmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTUwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTUxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTUyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTUzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTU0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTU1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTU2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTU3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTU4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTU5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTVhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTViMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTVjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTVkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTVlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTVmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTYwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTYxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTYyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTYzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTY0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTY1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTY2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTY3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTY4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTY5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTZhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTZiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTZjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTZkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTZlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTZmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTcwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTcxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTcyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTczMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTc0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTc1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTc2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTc3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTc4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTc5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTdhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTdiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTdjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTdkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTdlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTdmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTgwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTgxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTgyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTgzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTg0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTg1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTg2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTg3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTg4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTg5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMThhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMThiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMThjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMThkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMThlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMThmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTkwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTkxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTkyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTkzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTk0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTk1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTk2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTk3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTk4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTk5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTlhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTliMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTljMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTlkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTllMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTlmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWEwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWExMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWEyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWEzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWE0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWE1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWE2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWE3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWE4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWE5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWFhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWFjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWFkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWIxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWIyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWIzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWI0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWI1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWI2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWI3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWI4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWI5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWJhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWJiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWJjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWJkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWJlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWJmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWMwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWMxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWMyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWMzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWM0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWM1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWM2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWM3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWM4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWM5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWNhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWNiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWNjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWNkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWNlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWNmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWQwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWQxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWQyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWQzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWQ0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWQ1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWQ2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWQ3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWQ4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWQ5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWRhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWRiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWRjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWRkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWRlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWRmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWUwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWUxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWUyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWUzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWU0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWU1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWU2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWU3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWU4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWU5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWVhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWViMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWVjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWVkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWVlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWVmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWYwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWYxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWYyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWYzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWY0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWY1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWY2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWY3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWY4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWY5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWZhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWZiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWZjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWZkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWZlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWZmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjAxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjAyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjAzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjA0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjA1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjA2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjA3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjA4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjA5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjBhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjBiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjBjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjBkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjBlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjBmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjEwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjExMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjEyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjEzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjE0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjE1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjE2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjE3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjE4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjE5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjFhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjFjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjFkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjIxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjIyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjIzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjI0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjI1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjI2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjI3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjI4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjI5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjJhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjJiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjJjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjJkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjJlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjJmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjMwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjMxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjMyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjMzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjM0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjM1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjM2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjM3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjM4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjM5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjNhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjNiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjNjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjNkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjNlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjNmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjQwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjQxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjQyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjQzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjQ0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjQ1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjQ2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjQ3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjQ4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjQ5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjRhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjRiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjRjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjRkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjRlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjRmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjUwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjUxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjUyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjUzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjU0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjU1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjU2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjU3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjU4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjU5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjVhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjViMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjVjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjVkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjVlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjVmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjYwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjYxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjYyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjYzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjY0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjY1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjY2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjY3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjY4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjY5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjZhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjZiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjZjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjZkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjZlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjZmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjcwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjcxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjcyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjczMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjc0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjc1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjc2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjc3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjc4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjc5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjdhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjdiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjdjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjdkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjdlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjdmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjgwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjgxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjgyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjgzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjg0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjg1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjg2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjg3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjg4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjg5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjhhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjhiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjhjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjhkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjhlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjhmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjkwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjkxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjkyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjkzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjk0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjk1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjk2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjk3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjk4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjk5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjlhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjliMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjljMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjlkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjllMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjlmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmEwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmExMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmEyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmEzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmE0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmE1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmE2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmE3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmE4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmE5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmFhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmFjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmFkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmIxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmIyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmIzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmI0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmI1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmI2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmI3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmI4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmI5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmJhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmJiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmJjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmJkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmJlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmJmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmMwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmMxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmMyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmMzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmM0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmM1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmM2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmM3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmM4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmM5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmNhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmNiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmNjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmNkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmNlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmNmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmQwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmQxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmQyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmQzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmQ0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmQ1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmQ2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmQ3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmQ4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmQ5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmRhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmRiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmRjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmRkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmRlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmRmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmUwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmUxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmUyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmUzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmU0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmU1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmU2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmU3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmU4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmU5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmVhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmViMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmVjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmVkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmVlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmVmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmYwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmYxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmYyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmYzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmY0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmY1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmY2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmY3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmY4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmY5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmZhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmZiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmZjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmZkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmZlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmZmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzAxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzAyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzAzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzA0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzA1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzA2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzA3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzA4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzA5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzBhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzBiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzBjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzBkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzBlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzBmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzEwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzExMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzEyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzEzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzE0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzE1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzE2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzE3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzE4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzE5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzFhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzFjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzFkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzIxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzIyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzIzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzI0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzI1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzI2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzI3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzI4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzI5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzJhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzJiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzJjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzJkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzJlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzJmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzMwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzMxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzMyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzMzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzM0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzM1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzM2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzM3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzM4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzM5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzNhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzNiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzNjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzNkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzNlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzNmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzQwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzQxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzQyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzQzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzQ0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzQ1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzQ2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzQ3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzQ4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzQ5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzRhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzRiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzRjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzRkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzRlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzRmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzUwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzUxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzUyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzUzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzU0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzU1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzU2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzU3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzU4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzU5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzVhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzViMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzVjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzVkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzVlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzVmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzYwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzYxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzYyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzYzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzY0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzY1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzY2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzY3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzY4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzY5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzZhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzZiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzZjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzZkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzZlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzZmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzcwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzcxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzcyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzczMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzc0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzc1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzc2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzc3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzc4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzc5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzdhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzdiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzdjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzdkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzdlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzdmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzgwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzgxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzgyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzgzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzg0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzg1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzg2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzg3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzg4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzg5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzhhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzhiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzhjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzhkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzhlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzhmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzkwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzkxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzkyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzkzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzk0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzk1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzk2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzk3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzk4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzk5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzlhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzliMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzljMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzlkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzllMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzlmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2EwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2ExMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2EyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2EzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2E0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2E1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2E2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2E3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2E4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2E5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2FhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2FiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2FjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2FkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2FlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2FmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2IwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2IxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2IyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2IzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2I0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2I1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2I2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2I3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2I4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2I5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2JhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2JiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2JjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2JkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2JlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2JmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2MwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2MxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2MyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2MzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2M0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2M1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2M2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2M3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2M4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2M5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2NhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2NiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2NjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2NkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2NlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2NmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2QwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2QxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2QyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2QzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2Q0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2Q1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2Q2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2Q3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2Q4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2Q5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2RhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2RiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2RjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2RkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2RlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2RmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2UwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2UxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2UyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2UzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2U0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2U1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2U2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2U3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2U4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2U5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2VhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2ViMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2VjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2VkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2VlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2VmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2YwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2YxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2YyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2YzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2Y0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2Y1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2Y2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2Y3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2Y4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2Y5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2ZhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2ZiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2ZjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2ZkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2ZlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2ZmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDAxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDAyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDAzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDA0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDA1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDA2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDA3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDA4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDA5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDBhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDBiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDBjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDBkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDBlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDBmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDEwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDExMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDEyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDEzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDE0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDE1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDE2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDE3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDE4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDE5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDFhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDFjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDFkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDIxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDIyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDIzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDI0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDI1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDI2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDI3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDI4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDI5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDJhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDJiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDJjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDJkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDJlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDJmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDMwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDMxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDMyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDMzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDM0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDM1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDM2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDM3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDM4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDM5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDNhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDNiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDNjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDNkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDNlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDNmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCisKK0V4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogCisKK0V4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2dwdC1hdHRycy11bnN1cHBvcnRlZCBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtYXR0cnMtdW5zdXBwb3J0ZWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODU3NzM1OAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtYXR0cnMtdW5zdXBwb3J0ZWQKQEAgLTAsMCArMSwyIEBACit1bnN1cHBvcnRlZCBHUFQgYXR0cmlidXRlIGJpdCAnRm9vQmFyIDQ4IDUxJworc2ZkaXNrOiA8cmVtb3ZlZD46IHBhcnRpdGlvbiAyOiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBhdHRyaWJ1dGVzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LWF0dHJzLXdpdGgtdHlwbyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtYXR0cnMtd2l0aC10eXBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5YTNhZTcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LWF0dHJzLXdpdGgtdHlwbwpAQCAtMCwwICsxLDExMTAgQEAKKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KK1JlcXVpcmVkUGFydGl0aW9uIE5vQmxvY2tJT1Byb3RvY29sIEdVSUQ6NDgsNTEKKworV2VsY29tZSB0byBmZGlzayA8cmVtb3ZlZD4uCitDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uCitCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC4KKworCitDb21tYW5kIChtIGZvciBoZWxwKTogCitFeHBlcnQgY29tbWFuZCAobSBmb3IgaGVscCk6IAorUE1CUjogb2Zmc2V0ID0gMCwgc2l6ZSA9IDUxMiBieXRlcy4KKzAwMDAwMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMWMwICAwMSAwMCBlZSBmZSBmZiBmZiAwMSAwMCAgMDAgMDAgZmYgOGYgMDEgMDAgMDAgMDAKKzAwMDAwMWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEKKworR1BUIEhlYWRlcjogb2Zmc2V0ID0gNTEyLCBzaXplID0gNTEyIGJ5dGVzLgorMDAwMDAyMDAgIDQ1IDQ2IDQ5IDIwIDUwIDQxIDUyIDU0ICAwMCAwMCAwMSAwMCA1YyAwMCAwMCAwMAorMDAwMDAyMTAgIGNjIDVhIGNlIGNmIDAwIDAwIDAwIDAwICAwMSAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyMjAgIGZmIDhmIDAxIDAwIDAwIDAwIDAwIDAwICAwMCAwOCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyMzAgIGRlIDhmIDAxIDAwIDAwIDAwIDAwIDAwICA5OSBjMyA4MSBiMSAxMSA0NyA1MiA0YworMDAwMDAyNDAgIDhiIDY1IDllIDc2IDQ1IDQxIDIxIDhkICAwMiAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyNTAgIDgwIDAwIDAwIDAwIDgwIDAwIDAwIDAwICA5ZiA5MSA2MiAxMCAwMCAwMCAwMCAwMAorMDAwMDAyNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorCitHUFQgRW50cmllczogb2Zmc2V0ID0gMTAyNCwgc2l6ZSA9IDE2Mzg0IGJ5dGVzLgorMDAwMDA0MDAgIDI4IDczIDJhIGMxIDFmIGY4IGQyIDExICBiYSA0YiAwMCBhMCBjOSAzZSBjOSAzYgorMDAwMDA0MTAgIDdiIDY1IGRjIDkxIGI0IGQ3IDUzIDQ2ICBhMyA2NyA2NiAzMSA5NCBmZiBkNCAzMgorMDAwMDA0MjAgIDAwIDA4IDAwIDAwIDAwIDAwIDAwIDAwICBmZiAyZiAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICA0NSAwMCA0NiAwMCA0OSAwMCAyMCAwMAorMDAwMDA0NDAgIDczIDAwIDc5IDAwIDczIDAwIDc0IDAwICA2NSAwMCA2ZCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0ODAgIGFmIDNkIGM2IDBmIDgzIDg0IDcyIDQ3ICA4ZSA3OSAzZCA2OSBkOCA0NyA3ZCBlNAorMDAwMDA0OTAgIGRmIDhhIGEwIGJhIDdlIDMyIDc3IDQxICA4OSA1MyA5OCBkYSAxYSA1MSA3NiBjNAorMDAwMDA0YTAgIDAwIDMwIDAwIDAwIDAwIDAwIDAwIDAwICBmZiA1NyAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0YjAgIDAzIDAwIDAwIDAwIDAwIDAwIDA5IDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1MDAgIDZkIGZkIDU3IDA2IGFiIGE0IGM0IDQzICA4NCBlNSAwOSAzMyBjOCA0YiA0ZiA0ZgorMDAwMDA1MTAgIDg3IDhhIGFkIGNlIDFhIGZmIGNiIDQ1ICA4MyBlNSA5OSBiMCA4ZCAwZSBiYyA4NworMDAwMDA1MjAgIDAwIDU4IDAwIDAwIDAwIDAwIDAwIDAwICBmZiA3ZiAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1ODAgIGUzIGJjIDY4IDRmIGNkIGU4IGIxIDRkICA5NiBlNyBmYiBjYSBmOSA4NCBiNyAwOQorMDAwMDA1OTAgIDYwIGRjIGZjIGQ0IDVkIDc2IGMzIDRiICBiZCA4NCAwZCAwYiA5OCA0MiBjNiBkYgorMDAwMDA1YTAgIDAwIDgwIDAwIDAwIDAwIDAwIDAwIDAwICBmZiBhNyAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2MDAgIGFmIDNkIGM2IDBmIDgzIDg0IDcyIDQ3ICA4ZSA3OSAzZCA2OSBkOCA0NyA3ZCBlNAorMDAwMDA2MTAgIGQ3IDViIDE1IDYwIGQ4IGJmIDhjIDRlICBiOCAwMCAyMiAxOSAwMCA3NyA5MyA3MworMDAwMDA2MjAgIDAwIGE4IDAwIDAwIDAwIDAwIDAwIDAwICBkZSA4ZiAwMSAwMCAwMCAwMCAwMCAwMAorMDAwMDA2MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorCitFeHBlcnQgY29tbWFuZCAobSBmb3IgaGVscCk6IAorCitFeHBlcnQgY29tbWFuZCAobSBmb3IgaGVscCk6IApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtbGFiZWwgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LWxhYmVsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0ZWU1ODkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LWxhYmVsCkBAIC0wLDAgKzEsNiBAQAorUGFydGl0aW9uIG5hbWUgY2hhbmdlZCBmcm9tICcnIHRvICdFRkkgc3lzdGVtJy4KKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KK0VGSSBzeXN0ZW0KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtbGlzdC1wbWJyIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2dwdC1saXN0LXBtYnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTNhNWU2OQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtbGlzdC1wbWJyCkBAIC0wLDAgKzEsMTEgQEAKK0Rpc2sgPHJlbW92ZWQ+OiA1MCBNaUIsIDUyNDI4ODAwIGJ5dGVzLCAxMDI0MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA0MDk2IGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNDA5NiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgICAgMSAxMDIzOTkgIDEwMjM5OSAgNTBNIGVlIEdQVAorCitQYXJ0aXRpb24gMSBkb2VzIG5vdCBzdGFydCBvbiBwaHlzaWNhbCBzZWN0b3IgYm91bmRhcnkuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LXJlYWQtZHVtcCBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtcmVhZC1kdW1wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzOThkYjgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LXJlYWQtZHVtcApAQCAtMCwwICsxLDQwIEBACitDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiBPSworCitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKKworPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MTogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4yOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjM6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+NDogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD41OiBEb25lLgorCitOZXcgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAgMjA0OCAgIDgxOTEgICAgNjE0NCAgIDNNIExpbnV4IHJvb3QgKHg4NikKKzxyZW1vdmVkPjIgICA4MTkyICAxNDMzNSAgICA2MTQ0ICAgM00gTGludXggZmlsZXN5c3RlbQorPHJlbW92ZWQ+MyAgMTQzMzYgIDIwNDc5ICAgIDYxNDQgICAzTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD40ICAyMDQ4MCAxMDIzNjYgICA4MTg4NyAgNDBNIExpbnV4IGZpbGVzeXN0ZW0KKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KK0Rpc2sgPHJlbW92ZWQ+OiA1MCBNaUIsIDUyNDI4ODAwIGJ5dGVzLCAxMDI0MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA0MDk2IGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNDA5NiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworU3RhcnQgICAgRW5kIFNpemUgVVVJRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFR5cGUgICAgICAgICAgICAgTmFtZQorIDIwNDggICA4MTkxICAgM00gNERENjk0OEEtNDRGOC00RTZDLThCREMtMDY0Rjc0MDcwNEY4IExpbnV4IHJvb3QgKHg4NikgCisgODE5MiAgMTQzMzUgICAzTSA0NEI1MURFRi01RjA0LTQ2NUEtOTFBQS0yODg5QTYyRDhFNDkgTGludXggZmlsZXN5c3RlbSAKKzE0MzM2ICAyMDQ3OSAgIDNNIDY0M0UxRDBELUJDMDItNENFRC1CODNCLTg2MTIxMDYyODU4RiBMaW51eCBmaWxlc3lzdGVtIAorMjA0ODAgMTAyMzY2ICA0ME0gRDJBMjlCMEEtRkRFRS00MEMzLTlCQUUtQjlGQTc4MkM5ODZDIExpbnV4IGZpbGVzeXN0ZW0gR1BUIGlzIHRoZSBiZXN0CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LXJlb3JkZXIgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LXJlb3JkZXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmVhYjIxMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtcmVvcmRlcgpAQCAtMCwwICsxLDQ2IEBACitDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiBPSworCitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKKworPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MTogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4yOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjM6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+NDogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD41OiBEb25lLgorCitOZXcgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAgODE5MiAgMTQzMzUgICAgNjE0NCAgIDNNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjIgICAyMDQ4ICAgODE5MSAgICA2MTQ0ICAgM00gTGludXggZmlsZXN5c3RlbQorPHJlbW92ZWQ+MyAgMjA0ODAgMTAyMzY2ICAgODE4ODcgIDQwTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD40ICAxNDMzNiAgMjA0NzkgICAgNjE0NCAgIDNNIExpbnV4IGZpbGVzeXN0ZW0KKworUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLgorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgorRGlzayA8cmVtb3ZlZD46IDUwIE1pQiwgNTI0Mjg4MDAgYnl0ZXMsIDEwMjQwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDQwOTYgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA0MDk2IGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAgMjA0OCAgIDgxOTEgICAgNjE0NCAgIDNNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjIgICA4MTkyICAxNDMzNSAgICA2MTQ0ICAgM00gTGludXggZmlsZXN5c3RlbQorPHJlbW92ZWQ+MyAgMTQzMzYgIDIwNDc5ICAgIDYxNDQgICAzTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD40ICAyMDQ4MCAxMDIzNjYgICA4MTg4NyAgNDBNIExpbnV4IGZpbGVzeXN0ZW0KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtcmVzaXplIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2dwdC1yZXNpemUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTMzNjQ5NQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtcmVzaXplCkBAIC0wLDAgKzEsMjEgQEAKK0Rpc2sgPHJlbW92ZWQ+OiA1MCBNaUIsIDUyNDI4ODAwIGJ5dGVzLCAxMDI0MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA0MDk2IGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNDA5NiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworT2xkIHNpdHVhdGlvbjoKKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAgMjA0OCAyMjUyNyAgIDIwNDgwICAxME0gTGludXggc3dhcAorCis8cmVtb3ZlZD4xOiAKK05ldyBzaXR1YXRpb246CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgICAyMDQ4IDEwMjM2NiAgMTAwMzE5ICA0OU0gTGludXggc3dhcAorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2dwdC10eXBlIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2dwdC10eXBlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5NmI3NWQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LXR5cGUKQEAgLTAsMCArMSw1IEBACisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCitDMTJBNzMyOC1GODFGLTExRDItQkE0Qi0wMEEwQzkzRUM5M0IKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtdXVpZCBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtdXVpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kM2QxMWU4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2dwdC11dWlkCkBAIC0wLDAgKzEgQEAKKzkxREM2NTdCLUQ3QjQtNDY1My1BMzY3LTY2MzE5NEZGRDQzMgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2dwdC13cml0ZS1kdW1wIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2dwdC13cml0ZS1kdW1wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhZDc5MjUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LXdyaXRlLWR1bXAKQEAgLTAsMCArMSwxMSBAQAorbGFiZWw6IGdwdAorbGFiZWwtaWQ6IDNCODU1OURCLTMzQUYtNDNFOS1CRUZDLUMzMzFEODI5QjUzOQorZGV2aWNlOiA8cmVtb3ZlZD4KK3VuaXQ6IHNlY3RvcnMKK2ZpcnN0LWxiYTogMjA0OAorbGFzdC1sYmE6IDEwMjM2NgorCis8cmVtb3ZlZD4xIDogc3RhcnQ9ICAgICAgICAyMDQ4LCBzaXplPSAgICAgICAgNjE0NCwgdHlwZT00NDQ3OTU0MC1GMjk3LTQxQjItOUFGNy1EMTMxRDVGMDQ1OEEsIHV1aWQ9NERENjk0OEEtNDRGOC00RTZDLThCREMtMDY0Rjc0MDcwNEY4Cis8cmVtb3ZlZD4yIDogc3RhcnQ9ICAgICAgICA4MTkyLCBzaXplPSAgICAgICAgNjE0NCwgdHlwZT0wRkM2M0RBRi04NDgzLTQ3NzItOEU3OS0zRDY5RDg0NzdERTQsIHV1aWQ9NDRCNTFERUYtNUYwNC00NjVBLTkxQUEtMjg4OUE2MkQ4RTQ5Cis8cmVtb3ZlZD4zIDogc3RhcnQ9ICAgICAgIDE0MzM2LCBzaXplPSAgICAgICAgNjE0NCwgdHlwZT0wRkM2M0RBRi04NDgzLTQ3NzItOEU3OS0zRDY5RDg0NzdERTQsIHV1aWQ9NjQzRTFEMEQtQkMwMi00Q0VELUI4M0ItODYxMjEwNjI4NThGCis8cmVtb3ZlZD40IDogc3RhcnQ9ICAgICAgIDIwNDgwLCBzaXplPSAgICAgICA4MTg4NywgdHlwZT0wRkM2M0RBRi04NDgzLTQ3NzItOEU3OS0zRDY5RDg0NzdERTQsIHV1aWQ9RDJBMjlCMEEtRkRFRS00MEMzLTlCQUUtQjlGQTc4MkM5ODZDLCBuYW1lPSJHUFQgaXMgdGhlIGJlc3QiCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LXdyaXRlLWpzb24gYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LXdyaXRlLWpzb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDhhZWMyMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtd3JpdGUtanNvbgpAQCAtMCwwICsxLDE2IEBACit7CisgICAicGFydGl0aW9udGFibGUiOiB7CisgICAgICAibGFiZWwiOiAiZ3B0IiwKKyAgICAgICJpZCI6ICIzQjg1NTlEQi0zM0FGLTQzRTktQkVGQy1DMzMxRDgyOUI1MzkiLAorICAgICAgImRldmljZSI6ICI8cmVtb3ZlZD4iLAorICAgICAgInVuaXQiOiAic2VjdG9ycyIsCisgICAgICAiZmlyc3RsYmEiOiAyMDQ4LAorICAgICAgImxhc3RsYmEiOiAxMDIzNjYsCisgICAgICAicGFydGl0aW9ucyI6IFsKKyAgICAgICAgIHsibm9kZSI6ICI8cmVtb3ZlZD4xIiwgInN0YXJ0IjogMjA0OCwgInNpemUiOiA2MTQ0LCAidHlwZSI6ICI0NDQ3OTU0MC1GMjk3LTQxQjItOUFGNy1EMTMxRDVGMDQ1OEEiLCAidXVpZCI6ICI0REQ2OTQ4QS00NEY4LTRFNkMtOEJEQy0wNjRGNzQwNzA0RjgifSwKKyAgICAgICAgIHsibm9kZSI6ICI8cmVtb3ZlZD4yIiwgInN0YXJ0IjogODE5MiwgInNpemUiOiA2MTQ0LCAidHlwZSI6ICIwRkM2M0RBRi04NDgzLTQ3NzItOEU3OS0zRDY5RDg0NzdERTQiLCAidXVpZCI6ICI0NEI1MURFRi01RjA0LTQ2NUEtOTFBQS0yODg5QTYyRDhFNDkifSwKKyAgICAgICAgIHsibm9kZSI6ICI8cmVtb3ZlZD4zIiwgInN0YXJ0IjogMTQzMzYsICJzaXplIjogNjE0NCwgInR5cGUiOiAiMEZDNjNEQUYtODQ4My00NzcyLThFNzktM0Q2OUQ4NDc3REU0IiwgInV1aWQiOiAiNjQzRTFEMEQtQkMwMi00Q0VELUI4M0ItODYxMjEwNjI4NThGIn0sCisgICAgICAgICB7Im5vZGUiOiAiPHJlbW92ZWQ+NCIsICJzdGFydCI6IDIwNDgwLCAic2l6ZSI6IDgxODg3LCAidHlwZSI6ICIwRkM2M0RBRi04NDgzLTQ3NzItOEU3OS0zRDY5RDg0NzdERTQiLCAidXVpZCI6ICJEMkEyOUIwQS1GREVFLTQwQzMtOUJBRS1COUZBNzgyQzk4NkMiLCAibmFtZSI6ICJHUFQgaXMgdGhlIGJlc3QifQorICAgICAgXQorICAgfQorfQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL21vdmVkYXRhLWRvd24gYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svbW92ZWRhdGEtZG93bgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNjQwZTE2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL21vdmVkYXRhLWRvd24KQEAgLTAsMCArMSwyNSBAQAorRGlzayA8cmVtb3ZlZD46IDEwMCBNaUIsIDEwNDg1NzYwMCBieXRlcywgMjA0ODAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitPbGQgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgIDMwNDggMjM1MjcgICAyMDQ4MCAgMTBNIDgzIExpbnV4CisKKzxyZW1vdmVkPjE6IAorTmV3IHNpdHVhdGlvbjoKKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgICAyNTQ4IDIzMDI3ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorCitEYXRhIG1vdmU6CisgdHlwZXNjcmlwdCBmaWxlIDxyZW1vdmVkPi4KKyBvbGQgc3RhcnQ6IDMwNDgsIG5ldyBzdGFydDogMjU0OCAobW92ZSAyMDQ4MCBzZWN0b3JzKQorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL21vdmVkYXRhLW5vbi1vdmVybGF5IGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL21vdmVkYXRhLW5vbi1vdmVybGF5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhMzFiN2IKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svbW92ZWRhdGEtbm9uLW92ZXJsYXkKQEAgLTAsMCArMSwyNSBAQAorRGlzayA8cmVtb3ZlZD46IDEwMCBNaUIsIDEwNDg1NzYwMCBieXRlcywgMjA0ODAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitPbGQgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgIDI1NDggMjMwMjcgICAyMDQ4MCAgMTBNIDgzIExpbnV4CisKKzxyZW1vdmVkPjE6IAorTmV3IHNpdHVhdGlvbjoKKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgIDYzOTg4IDg0NDY3ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorCitEYXRhIG1vdmU6CisgdHlwZXNjcmlwdCBmaWxlIDxyZW1vdmVkPi4KKyBvbGQgc3RhcnQ6IDI1NDgsIG5ldyBzdGFydDogNjM5ODggKG1vdmUgMjA0ODAgc2VjdG9ycykKKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9tb3ZlZGF0YS11cCBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9tb3ZlZGF0YS11cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzM0OGJkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL21vdmVkYXRhLXVwCkBAIC0wLDAgKzEsMjUgQEAKK0Rpc2sgPHJlbW92ZWQ+OiAxMDAgTWlCLCAxMDQ4NTc2MDAgYnl0ZXMsIDIwNDgwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworT2xkIHNpdHVhdGlvbjoKKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgICAyMDQ4IDIyNTI3ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorCis8cmVtb3ZlZD4xOiAKK05ldyBzaXR1YXRpb246CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMzA0OCAyMzUyNyAgIDIwNDgwICAxME0gODMgTGludXgKKworRGF0YSBtb3ZlOgorIHR5cGVzY3JpcHQgZmlsZSA8cmVtb3ZlZD4uCisgb2xkIHN0YXJ0OiAyMDQ4LCBuZXcgc3RhcnQ6IDMwNDggKG1vdmUgMjA0ODAgc2VjdG9ycykKKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTAtbW92ZS11cC1hYnNvbHV0ZSBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTAtbW92ZS11cC1hYnNvbHV0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NDE5YWNmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtMC1tb3ZlLXVwLWFic29sdXRlCkBAIC0wLDAgKzEsMjMgQEAKKzMwMDAsCisKK0Rpc2sgPHJlbW92ZWQ+OiAxMDAgTWlCLCAxMDQ4NTc2MDAgYnl0ZXMsIDIwNDgwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworT2xkIHNpdHVhdGlvbjoKKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgICAyMDQ4IDIyNTI3ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorCis8cmVtb3ZlZD4xOiAKK05ldyBzaXR1YXRpb246CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMzAwMCAyMzQ3OSAgIDIwNDgwICAxME0gODMgTGludXgKKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTEtbW92ZS1kb3duLWFic29sdXRlIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtMS1tb3ZlLWRvd24tYWJzb2x1dGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTgwOTdiMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTEtbW92ZS1kb3duLWFic29sdXRlCkBAIC0wLDAgKzEsMjMgQEAKKzIwNDgsCisKK0Rpc2sgPHJlbW92ZWQ+OiAxMDAgTWlCLCAxMDQ4NTc2MDAgYnl0ZXMsIDIwNDgwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworT2xkIHNpdHVhdGlvbjoKKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgICAzMDAwIDIzNDc5ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorCis8cmVtb3ZlZD4xOiAKK05ldyBzaXR1YXRpb246CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMjA0OCAyMjUyNyAgIDIwNDgwICAxME0gODMgTGludXgKKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTEwLWRvd24tZW5sYXJnZSBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTEwLWRvd24tZW5sYXJnZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNGZiZjhlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtMTAtZG93bi1lbmxhcmdlCkBAIC0wLDAgKzEsMjMgQEAKKy0xME0sKzEwTSwsKgorCitEaXNrIDxyZW1vdmVkPjogMTAwIE1pQiwgMTA0ODU3NjAwIGJ5dGVzLCAyMDQ4MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgMjI1MjggMjA0Nzk5ICAxODIyNzIgIDg5TSA4MyBMaW51eAorCis8cmVtb3ZlZD4xOiAKK05ldyBzaXR1YXRpb246CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICogICAgIDIwNDggMjA0Nzk5ICAyMDI3NTIgIDk5TSA4MyBMaW51eAorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtMTEtYWJzb2x1dGUtbW92ZS1yZXNpemUgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWRvcy0xMS1hYnNvbHV0ZS1tb3ZlLXJlc2l6ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDg0NDc0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtMTEtYWJzb2x1dGUtbW92ZS1yZXNpemUKQEAgLTAsMCArMSwyMyBAQAorMjA0OCwxME0sTAorCitEaXNrIDxyZW1vdmVkPjogMTAwIE1pQiwgMTA0ODU3NjAwIGJ5dGVzLCAyMDQ4MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICogICAgIDIwNDggMjA0Nzk5ICAyMDI3NTIgIDk5TSA4MyBMaW51eAorCis8cmVtb3ZlZD4xOiAKK05ldyBzaXR1YXRpb246CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgKiAgICAgMjA0OCAyMjUyNyAgIDIwNDgwICAxME0gODMgTGludXgKKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTEyLXJlZHVjZS1taWRsZSBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTEyLXJlZHVjZS1taWRsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDRlMDNhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtMTItcmVkdWNlLW1pZGxlCkBAIC0wLDAgKzEsMjcgQEAKKywtNU0KKworRGlzayA8cmVtb3ZlZD46IDEwMCBNaUIsIDEwNDg1NzYwMCBieXRlcywgMjA0ODAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitPbGQgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICogICAgIDIwNDggMjI1MjcgICAyMDQ4MCAgMTBNIDgzIExpbnV4Cis8cmVtb3ZlZD4yICAgICAgIDIyNTI4IDQzMDA3ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorPHJlbW92ZWQ+MyAgICAgICA0MzAwOCA2MzQ4NyAgIDIwNDgwICAxME0gODMgTGludXgKKworPHJlbW92ZWQ+MjogCitOZXcgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICogICAgIDIwNDggMjI1MjcgICAyMDQ4MCAgMTBNIDgzIExpbnV4Cis8cmVtb3ZlZD4yICAgICAgIDIyNTI4IDMyNzY3ICAgMTAyNDAgICA1TSA4MyBMaW51eAorPHJlbW92ZWQ+MyAgICAgICA0MzAwOCA2MzQ4NyAgIDIwNDgwICAxME0gODMgTGludXgKKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTEzLW1heC1sYXN0IGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtMTMtbWF4LWxhc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2U4ZGE5MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTEzLW1heC1sYXN0CkBAIC0wLDAgKzEsMjcgQEAKKy01TSwrCisKK0Rpc2sgPHJlbW92ZWQ+OiAxMDAgTWlCLCAxMDQ4NTc2MDAgYnl0ZXMsIDIwNDgwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworT2xkIHNpdHVhdGlvbjoKKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAqICAgICAyMDQ4IDIyNTI3ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICAyMjUyOCAzMjc2NyAgIDEwMjQwICAgNU0gODMgTGludXgKKzxyZW1vdmVkPjMgICAgICAgNDMwMDggNjM0ODcgICAyMDQ4MCAgMTBNIDgzIExpbnV4CisKKzxyZW1vdmVkPjM6IAorTmV3IHNpdHVhdGlvbjoKKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgKiAgICAgMjA0OCAgMjI1MjcgICAyMDQ4MCAgMTBNIDgzIExpbnV4Cis8cmVtb3ZlZD4yICAgICAgIDIyNTI4ICAzMjc2NyAgIDEwMjQwICAgNU0gODMgTGludXgKKzxyZW1vdmVkPjMgICAgICAgMzI3NjggMjA0Nzk5ICAxNzIwMzIgIDg0TSA4MyBMaW51eAorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtMi1tb3ZlLXVwLXJlbGF0aXZlIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtMi1tb3ZlLXVwLXJlbGF0aXZlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2ZmU2YWMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWRvcy0yLW1vdmUtdXAtcmVsYXRpdmUKQEAgLTAsMCArMSwyMyBAQAorKzFNLAorCitEaXNrIDxyZW1vdmVkPjogMTAwIE1pQiwgMTA0ODU3NjAwIGJ5dGVzLCAyMDQ4MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMjA0OCAyMjUyNyAgIDIwNDgwICAxME0gODMgTGludXgKKworPHJlbW92ZWQ+MTogCitOZXcgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgIDQwOTYgMjQ1NzUgICAyMDQ4MCAgMTBNIDgzIExpbnV4CisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWRvcy0zLW1vdmUtZG93bi1yZWxhdGl2ZSBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTMtbW92ZS1kb3duLXJlbGF0aXZlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiZWJjMDkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWRvcy0zLW1vdmUtZG93bi1yZWxhdGl2ZQpAQCAtMCwwICsxLDIzIEBACistMU0sCisKK0Rpc2sgPHJlbW92ZWQ+OiAxMDAgTWlCLCAxMDQ4NTc2MDAgYnl0ZXMsIDIwNDgwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworT2xkIHNpdHVhdGlvbjoKKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgICA0MDk2IDI0NTc1ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorCis8cmVtb3ZlZD4xOiAKK05ldyBzaXR1YXRpb246CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMjA0OCAyMjUyNyAgIDIwNDgwICAxME0gODMgTGludXgKKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTQtZW5sYXJnZS1hYnNvbHV0ZSBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTQtZW5sYXJnZS1hYnNvbHV0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzhkZDYzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtNC1lbmxhcmdlLWFic29sdXRlCkBAIC0wLDAgKzEsMjMgQEAKKy0sMTVNCisKK0Rpc2sgPHJlbW92ZWQ+OiAxMDAgTWlCLCAxMDQ4NTc2MDAgYnl0ZXMsIDIwNDgwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworT2xkIHNpdHVhdGlvbjoKKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgICAyMDQ4IDIyNTI3ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorCis8cmVtb3ZlZD4xOiAKK05ldyBzaXR1YXRpb246CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMjA0OCAzMjc2NyAgIDMwNzIwICAxNU0gODMgTGludXgKKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTUtcmVkdWNlLWFic29sdXRlIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtNS1yZWR1Y2UtYWJzb2x1dGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmRhOTIxMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTUtcmVkdWNlLWFic29sdXRlCkBAIC0wLDAgKzEsMjMgQEAKKyw1TSwKKworRGlzayA8cmVtb3ZlZD46IDEwMCBNaUIsIDEwNDg1NzYwMCBieXRlcywgMjA0ODAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitPbGQgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgIDIwNDggMzI3NjcgICAzMDcyMCAgMTVNIDgzIExpbnV4CisKKzxyZW1vdmVkPjE6IAorTmV3IHNpdHVhdGlvbjoKKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgICAyMDQ4IDEyMjg3ICAgMTAyNDAgICA1TSA4MyBMaW51eAorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtNi1lbmxhcmdlLXJlbGF0aXZlIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtNi1lbmxhcmdlLXJlbGF0aXZlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2NDNlZjQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWRvcy02LWVubGFyZ2UtcmVsYXRpdmUKQEAgLTAsMCArMSwyMyBAQAorLCArMTBNCisKK0Rpc2sgPHJlbW92ZWQ+OiAxMDAgTWlCLCAxMDQ4NTc2MDAgYnl0ZXMsIDIwNDgwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworT2xkIHNpdHVhdGlvbjoKKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgICAyMDQ4IDEyMjg3ICAgMTAyNDAgICA1TSA4MyBMaW51eAorCis8cmVtb3ZlZD4xOiAKK05ldyBzaXR1YXRpb246CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMjA0OCAzMjc2NyAgIDMwNzIwICAxNU0gODMgTGludXgKKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTctcmVkdWNlLXJlbGF0aXZlIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtNy1yZWR1Y2UtcmVsYXRpdmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzUzOTcwOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTctcmVkdWNlLXJlbGF0aXZlCkBAIC0wLDAgKzEsMjMgQEAKKywgLTEwTQorCitEaXNrIDxyZW1vdmVkPjogMTAwIE1pQiwgMTA0ODU3NjAwIGJ5dGVzLCAyMDQ4MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMjA0OCAzMjc2NyAgIDMwNzIwICAxNU0gODMgTGludXgKKworPHJlbW92ZWQ+MTogCitOZXcgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgIDIwNDggMTIyODcgICAxMDI0MCAgIDVNIDgzIExpbnV4CisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWRvcy04LWVubGFyZ2UtYWxsIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtOC1lbmxhcmdlLWFsbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMDgyZTg1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtOC1lbmxhcmdlLWFsbApAQCAtMCwwICsxLDIzIEBACissKworCitEaXNrIDxyZW1vdmVkPjogMTAwIE1pQiwgMTA0ODU3NjAwIGJ5dGVzLCAyMDQ4MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMjA0OCAxMjI4NyAgIDEwMjQwICAgNU0gODMgTGludXgKKworPHJlbW92ZWQ+MTogCitOZXcgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgICAyMDQ4IDIwNDc5OSAgMjAyNzUyICA5OU0gODMgTGludXgKKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTktdXAtcHJlZHVjZSBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTktdXAtcHJlZHVjZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZGM5YWRlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtOS11cC1wcmVkdWNlCkBAIC0wLDAgKzEsMjMgQEAKKysxME0sLTEwTQorCitEaXNrIDxyZW1vdmVkPjogMTAwIE1pQiwgMTA0ODU3NjAwIGJ5dGVzLCAyMDQ4MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgIDIwNDggMjA0Nzk5ICAyMDI3NTIgIDk5TSA4MyBMaW51eAorCis8cmVtb3ZlZD4xOiAKK05ldyBzaXR1YXRpb246CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgMjI1MjggMjA0Nzk5ICAxODIyNzIgIDg5TSA4MyBMaW51eAorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtMC1tb3ZlLXVwLWFic29sdXRlIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtMC1tb3ZlLXVwLWFic29sdXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3NWNjNTcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC0wLW1vdmUtdXAtYWJzb2x1dGUKQEAgLTAsMCArMSwyMyBAQAorMzAwMCwKKworRGlzayA8cmVtb3ZlZD46IDEwMCBNaUIsIDEwNDg1NzYwMCBieXRlcywgMjA0ODAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitPbGQgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgICAyMDQ4IDIyNTI3ICAgMjA0ODAgIDEwTSBMaW51eCBmaWxlc3lzdGVtCisKKzxyZW1vdmVkPjE6IAorTmV3IHNpdHVhdGlvbjoKKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAgMzAwMCAyMzQ3OSAgIDIwNDgwICAxME0gTGludXggZmlsZXN5c3RlbQorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtMS1tb3ZlLWRvd24tYWJzb2x1dGUgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC0xLW1vdmUtZG93bi1hYnNvbHV0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OGMyYjcyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtMS1tb3ZlLWRvd24tYWJzb2x1dGUKQEAgLTAsMCArMSwyMyBAQAorMjA0OCwKKworRGlzayA8cmVtb3ZlZD46IDEwMCBNaUIsIDEwNDg1NzYwMCBieXRlcywgMjA0ODAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitPbGQgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgICAzMDAwIDIzNDc5ICAgMjA0ODAgIDEwTSBMaW51eCBmaWxlc3lzdGVtCisKKzxyZW1vdmVkPjE6IAorTmV3IHNpdHVhdGlvbjoKKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAgMjA0OCAyMjUyNyAgIDIwNDgwICAxME0gTGludXggZmlsZXN5c3RlbQorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtMTAtZG93bi1lbmxhcmdlIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtMTAtZG93bi1lbmxhcmdlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlYTY5NGYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC0xMC1kb3duLWVubGFyZ2UKQEAgLTAsMCArMSwyMyBAQAorLTEwTSwrMTBNLCwqCisKK0Rpc2sgPHJlbW92ZWQ+OiAxMDAgTWlCLCAxMDQ4NTc2MDAgYnl0ZXMsIDIwNDgwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworT2xkIHNpdHVhdGlvbjoKKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgMjI1MjggMjA0NzY2ICAxODIyMzkgIDg5TSBMaW51eCBmaWxlc3lzdGVtCisKKzxyZW1vdmVkPjE6IAorTmV3IHNpdHVhdGlvbjoKKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgIDIwNDggMjA0NzY2ICAyMDI3MTkgIDk5TSBMaW51eCBmaWxlc3lzdGVtCisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC0xMS1hYnNvbHV0ZS1tb3ZlLXJlc2l6ZSBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZ3B0LTExLWFic29sdXRlLW1vdmUtcmVzaXplCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1NGY3MzMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC0xMS1hYnNvbHV0ZS1tb3ZlLXJlc2l6ZQpAQCAtMCwwICsxLDIzIEBACisyMDQ4LDEwTSxMCisKK0Rpc2sgPHJlbW92ZWQ+OiAxMDAgTWlCLCAxMDQ4NTc2MDAgYnl0ZXMsIDIwNDgwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworT2xkIHNpdHVhdGlvbjoKKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgIDIwNDggMjA0NzY2ICAyMDI3MTkgIDk5TSBMaW51eCBmaWxlc3lzdGVtCisKKzxyZW1vdmVkPjE6IAorTmV3IHNpdHVhdGlvbjoKKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAgMjA0OCAyMjUyNyAgIDIwNDgwICAxME0gTGludXggZmlsZXN5c3RlbQorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtMTItcmVkdWNlLW1pZGxlIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtMTItcmVkdWNlLW1pZGxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmZDllZjEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC0xMi1yZWR1Y2UtbWlkbGUKQEAgLTAsMCArMSwyNyBAQAorLC01TQorCitEaXNrIDxyZW1vdmVkPjogMTAwIE1pQiwgMTA0ODU3NjAwIGJ5dGVzLCAyMDQ4MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgIDIwNDggMjI1MjcgICAyMDQ4MCAgMTBNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjIgIDIyNTI4IDQzMDA3ICAgMjA0ODAgIDEwTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD4zICA0MzAwOCA2MzQ4NyAgIDIwNDgwICAxME0gTGludXggZmlsZXN5c3RlbQorCis8cmVtb3ZlZD4yOiAKK05ldyBzaXR1YXRpb246CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgIDIwNDggMjI1MjcgICAyMDQ4MCAgMTBNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjIgIDIyNTI4IDMyNzY3ICAgMTAyNDAgICA1TSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD4zICA0MzAwOCA2MzQ4NyAgIDIwNDgwICAxME0gTGludXggZmlsZXN5c3RlbQorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtMTMtbWF4LWxhc3QgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC0xMy1tYXgtbGFzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZDM0ZGZkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtMTMtbWF4LWxhc3QKQEAgLTAsMCArMSwyNyBAQAorLTVNLCsKKworRGlzayA8cmVtb3ZlZD46IDEwMCBNaUIsIDEwNDg1NzYwMCBieXRlcywgMjA0ODAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitPbGQgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgICAyMDQ4IDIyNTI3ICAgMjA0ODAgIDEwTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD4yICAyMjUyOCAzMjc2NyAgIDEwMjQwICAgNU0gTGludXggZmlsZXN5c3RlbQorPHJlbW92ZWQ+MyAgNDMwMDggNjM0ODcgICAyMDQ4MCAgMTBNIExpbnV4IGZpbGVzeXN0ZW0KKworPHJlbW92ZWQ+MzogCitOZXcgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAgMjA0OCAgMjI1MjcgICAyMDQ4MCAgMTBNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjIgIDIyNTI4ICAzMjc2NyAgIDEwMjQwICAgNU0gTGludXggZmlsZXN5c3RlbQorPHJlbW92ZWQ+MyAgMzI3NjggMjA0NzY2ICAxNzE5OTkgIDg0TSBMaW51eCBmaWxlc3lzdGVtCisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC0yLW1vdmUtdXAtcmVsYXRpdmUgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC0yLW1vdmUtdXAtcmVsYXRpdmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDRkNzY4MgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZ3B0LTItbW92ZS11cC1yZWxhdGl2ZQpAQCAtMCwwICsxLDIzIEBACisrMU0sCisKK0Rpc2sgPHJlbW92ZWQ+OiAxMDAgTWlCLCAxMDQ4NTc2MDAgYnl0ZXMsIDIwNDgwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworT2xkIHNpdHVhdGlvbjoKKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAgMjA0OCAyMjUyNyAgIDIwNDgwICAxME0gTGludXggZmlsZXN5c3RlbQorCis8cmVtb3ZlZD4xOiAKK05ldyBzaXR1YXRpb246CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgIDQwOTYgMjQ1NzUgICAyMDQ4MCAgMTBNIExpbnV4IGZpbGVzeXN0ZW0KKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZ3B0LTMtbW92ZS1kb3duLXJlbGF0aXZlIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtMy1tb3ZlLWRvd24tcmVsYXRpdmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjU0ZmJjNQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZ3B0LTMtbW92ZS1kb3duLXJlbGF0aXZlCkBAIC0wLDAgKzEsMjMgQEAKKy0xTSwKKworRGlzayA8cmVtb3ZlZD46IDEwMCBNaUIsIDEwNDg1NzYwMCBieXRlcywgMjA0ODAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitPbGQgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgICA0MDk2IDI0NTc1ICAgMjA0ODAgIDEwTSBMaW51eCBmaWxlc3lzdGVtCisKKzxyZW1vdmVkPjE6IAorTmV3IHNpdHVhdGlvbjoKKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAgMjA0OCAyMjUyNyAgIDIwNDgwICAxME0gTGludXggZmlsZXN5c3RlbQorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtNC1lbmxhcmdlLWFic29sdXRlIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtNC1lbmxhcmdlLWFic29sdXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwNWRhMTgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC00LWVubGFyZ2UtYWJzb2x1dGUKQEAgLTAsMCArMSwyMyBAQAorLSwxNU0KKworRGlzayA8cmVtb3ZlZD46IDEwMCBNaUIsIDEwNDg1NzYwMCBieXRlcywgMjA0ODAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitPbGQgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgICAyMDQ4IDIyNTI3ICAgMjA0ODAgIDEwTSBMaW51eCBmaWxlc3lzdGVtCisKKzxyZW1vdmVkPjE6IAorTmV3IHNpdHVhdGlvbjoKKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAgMjA0OCAzMjc2NyAgIDMwNzIwICAxNU0gTGludXggZmlsZXN5c3RlbQorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtNS1yZWR1Y2UtYWJzb2x1dGUgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC01LXJlZHVjZS1hYnNvbHV0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NDc0MjBjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtNS1yZWR1Y2UtYWJzb2x1dGUKQEAgLTAsMCArMSwyMyBAQAorLDVNLAorCitEaXNrIDxyZW1vdmVkPjogMTAwIE1pQiwgMTA0ODU3NjAwIGJ5dGVzLCAyMDQ4MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgIDIwNDggMzI3NjcgICAzMDcyMCAgMTVNIExpbnV4IGZpbGVzeXN0ZW0KKworPHJlbW92ZWQ+MTogCitOZXcgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgICAyMDQ4IDEyMjg3ICAgMTAyNDAgICA1TSBMaW51eCBmaWxlc3lzdGVtCisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC02LWVubGFyZ2UtcmVsYXRpdmUgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC02LWVubGFyZ2UtcmVsYXRpdmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjU4ZDM1YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZ3B0LTYtZW5sYXJnZS1yZWxhdGl2ZQpAQCAtMCwwICsxLDIzIEBACissICsxME0KKworRGlzayA8cmVtb3ZlZD46IDEwMCBNaUIsIDEwNDg1NzYwMCBieXRlcywgMjA0ODAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitPbGQgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgICAyMDQ4IDEyMjg3ICAgMTAyNDAgICA1TSBMaW51eCBmaWxlc3lzdGVtCisKKzxyZW1vdmVkPjE6IAorTmV3IHNpdHVhdGlvbjoKKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAgMjA0OCAzMjc2NyAgIDMwNzIwICAxNU0gTGludXggZmlsZXN5c3RlbQorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtNy1yZWR1Y2UtcmVsYXRpdmUgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC03LXJlZHVjZS1yZWxhdGl2ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZGVkNGZiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtNy1yZWR1Y2UtcmVsYXRpdmUKQEAgLTAsMCArMSwyMyBAQAorLCAtMTBNCisKK0Rpc2sgPHJlbW92ZWQ+OiAxMDAgTWlCLCAxMDQ4NTc2MDAgYnl0ZXMsIDIwNDgwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworT2xkIHNpdHVhdGlvbjoKKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAgMjA0OCAzMjc2NyAgIDMwNzIwICAxNU0gTGludXggZmlsZXN5c3RlbQorCis8cmVtb3ZlZD4xOiAKK05ldyBzaXR1YXRpb246CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgIDIwNDggMTIyODcgICAxMDI0MCAgIDVNIExpbnV4IGZpbGVzeXN0ZW0KKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZ3B0LTgtZW5sYXJnZS1hbGwgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC04LWVubGFyZ2UtYWxsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5ODM0OWQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC04LWVubGFyZ2UtYWxsCkBAIC0wLDAgKzEsMjMgQEAKKywrCisKK0Rpc2sgPHJlbW92ZWQ+OiAxMDAgTWlCLCAxMDQ4NTc2MDAgYnl0ZXMsIDIwNDgwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworT2xkIHNpdHVhdGlvbjoKKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAgMjA0OCAxMjI4NyAgIDEwMjQwICAgNU0gTGludXggZmlsZXN5c3RlbQorCis8cmVtb3ZlZD4xOiAKK05ldyBzaXR1YXRpb246CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgICAyMDQ4IDIwNDc2NiAgMjAyNzE5ICA5OU0gTGludXggZmlsZXN5c3RlbQorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtOS11cC1wcmVkdWNlIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtOS11cC1wcmVkdWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmMTc0ODMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC05LXVwLXByZWR1Y2UKQEAgLTAsMCArMSwyMyBAQAorKzEwTSwtMTBNCisKK0Rpc2sgPHJlbW92ZWQ+OiAxMDAgTWlCLCAxMDQ4NTc2MDAgYnl0ZXMsIDIwNDgwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworT2xkIHNpdHVhdGlvbjoKKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgIDIwNDggMjA0NzY2ICAyMDI3MTkgIDk5TSBMaW51eCBmaWxlc3lzdGVtCisKKzxyZW1vdmVkPjE6IAorTmV3IHNpdHVhdGlvbjoKKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgMjI1MjggMjA0NzY2ICAxODIyMzkgIDg5TSBMaW51eCBmaWxlc3lzdGVtCisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svc2NyaXB0LWJyb2tlbi0xIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3NjcmlwdC1icm9rZW4tMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZGNjMzZiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3NjcmlwdC1icm9rZW4tMQpAQCAtMCwwICsxLDE1IEBACitDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiBPSworCitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKKworPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IGxpbmUgNTogdW5zdXBwb3J0ZWQgY29tbWFuZAorCitOZXcgc2l0dWF0aW9uOgorTGVhdmluZy4KKwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3NjcmlwdC1icm9rZW4tMiBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9zY3JpcHQtYnJva2VuLTIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmRjYzM2YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9zY3JpcHQtYnJva2VuLTIKQEAgLTAsMCArMSwxNSBAQAorQ2hlY2tpbmcgdGhhdCBuby1vbmUgaXMgdXNpbmcgdGhpcyBkaXNrIHJpZ2h0IG5vdyAuLi4gT0sKKworRGlzayA8cmVtb3ZlZD46IDUwIE1pQiwgNTI0Mjg4MDAgYnl0ZXMsIDEwMjQwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDQwOTYgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA0MDk2IGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCisKKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBsaW5lIDU6IHVuc3VwcG9ydGVkIGNvbW1hbmQKKworTmV3IHNpdHVhdGlvbjoKK0xlYXZpbmcuCisKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9zY3JpcHQtYnJva2VuLTMgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svc2NyaXB0LWJyb2tlbi0zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkY2MzNmIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svc2NyaXB0LWJyb2tlbi0zCkBAIC0wLDAgKzEsMTUgQEAKK0NoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIE9LCisKK0Rpc2sgPHJlbW92ZWQ+OiA1MCBNaUIsIDUyNDI4ODAwIGJ5dGVzLCAxMDI0MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA0MDk2IGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNDA5NiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gbGluZSA1OiB1bnN1cHBvcnRlZCBjb21tYW5kCisKK05ldyBzaXR1YXRpb246CitMZWF2aW5nLgorCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svc2NyaXB0LWJyb2tlbi00IGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3NjcmlwdC1icm9rZW4tNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZGNjMzZiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3NjcmlwdC1icm9rZW4tNApAQCAtMCwwICsxLDE1IEBACitDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiBPSworCitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKKworPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IGxpbmUgNTogdW5zdXBwb3J0ZWQgY29tbWFuZAorCitOZXcgc2l0dWF0aW9uOgorTGVhdmluZy4KKwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3NjcmlwdC1icm9rZW4tNSBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9zY3JpcHQtYnJva2VuLTUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmRjYzM2YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9zY3JpcHQtYnJva2VuLTUKQEAgLTAsMCArMSwxNSBAQAorQ2hlY2tpbmcgdGhhdCBuby1vbmUgaXMgdXNpbmcgdGhpcyBkaXNrIHJpZ2h0IG5vdyAuLi4gT0sKKworRGlzayA8cmVtb3ZlZD46IDUwIE1pQiwgNTI0Mjg4MDAgYnl0ZXMsIDEwMjQwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDQwOTYgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA0MDk2IGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCisKKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBsaW5lIDU6IHVuc3VwcG9ydGVkIGNvbW1hbmQKKworTmV3IHNpdHVhdGlvbjoKK0xlYXZpbmcuCisKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9zY3JpcHQtcXVvdGVzIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3NjcmlwdC1xdW90ZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDJkM2JmZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9zY3JpcHQtcXVvdGVzCkBAIC0wLDAgKzEsNDAgQEAKK0NoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIE9LCisKK0Rpc2sgPHJlbW92ZWQ+OiA1MCBNaUIsIDUyNDI4ODAwIGJ5dGVzLCAxMDI0MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA0MDk2IGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNDA5NiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4xOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjI6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MzogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD40OiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjU6IERvbmUuCisKK05ldyBzaXR1YXRpb246CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgIDIwNDggIDgxOTEgICAgNjE0NCAgIDNNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjIgICA4MTkyIDE0MzM1ICAgIDYxNDQgICAzTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD4zICAxNDMzNiAyMDQ3OSAgICA2MTQ0ICAgM00gTGludXggZmlsZXN5c3RlbQorPHJlbW92ZWQ+NCAgMjA0ODAgMjY2MjMgICAgNjE0NCAgIDNNIExpbnV4IGZpbGVzeXN0ZW0KKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KK0Rpc2sgPHJlbW92ZWQ+OiA1MCBNaUIsIDUyNDI4ODAwIGJ5dGVzLCAxMDI0MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA0MDk2IGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNDA5NiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworU3RhcnQgICBFbmQgU2l6ZSBVVUlEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHlwZSAgICAgICAgICAgICBOYW1lCisgMjA0OCAgODE5MSAgIDNNIDRERDY5NDhBLTQ0RjgtNEU2Qy04QkRDLTA2NEY3NDA3MDRGOCBMaW51eCBmaWxlc3lzdGVtIAorIDgxOTIgMTQzMzUgICAzTSA0NEI1MURFRi01RjA0LTQ2NUEtOTFBQS0yODg5QTYyRDhFNDkgTGludXggZmlsZXN5c3RlbSAKKzE0MzM2IDIwNDc5ICAgM00gNjQzRTFEMEQtQkMwMi00Q0VELUI4M0ItODYxMjEwNjI4NThGIExpbnV4IGZpbGVzeXN0ZW0gCisyMDQ4MCAyNjYyMyAgIDNNIEQyQTI5QjBBLUZERUUtNDBDMy05QkFFLUI5RkE3ODJDOTg2QyBMaW51eCBmaWxlc3lzdGVtIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3NjcmlwdC1zZXBhcmF0b3IgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svc2NyaXB0LXNlcGFyYXRvcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMDlkNDc2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3NjcmlwdC1zZXBhcmF0b3IKQEAgLTAsMCArMSw0MCBAQAorQ2hlY2tpbmcgdGhhdCBuby1vbmUgaXMgdXNpbmcgdGhpcyBkaXNrIHJpZ2h0IG5vdyAuLi4gT0sKKworRGlzayA8cmVtb3ZlZD46IDUwIE1pQiwgNTI0Mjg4MDAgYnl0ZXMsIDEwMjQwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDQwOTYgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA0MDk2IGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCisKKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjE6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MjogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4zOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjQ6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+NTogRG9uZS4KKworTmV3IHNpdHVhdGlvbjoKKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgIDIwNDggICA4MTkxICAgIDYxNDQgICAzTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD4yICAgODE5MiAgMTQzMzUgICAgNjE0NCAgIDNNIExpbnV4IHJvb3QgKHg4NikKKzxyZW1vdmVkPjMgIDE0MzM2ICAyMDQ3OSAgICA2MTQ0ICAgM00gTGludXggZmlsZXN5c3RlbQorPHJlbW92ZWQ+NCAgMjA0ODAgMTAyMzY2ICAgODE4ODcgIDQwTSBMaW51eCBmaWxlc3lzdGVtCisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK1N0YXJ0ICAgIEVuZCBTaXplIFVVSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlICAgICAgICAgICAgIE5hbWUKKyAyMDQ4ICAgODE5MSAgIDNNIDRERDY5NDhBLTQ0RjgtNEU2Qy04QkRDLTA2NEY3NDA3MDRGOCBMaW51eCBmaWxlc3lzdGVtIAorIDgxOTIgIDE0MzM1ICAgM00gNDRCNTFERUYtNUYwNC00NjVBLTkxQUEtMjg4OUE2MkQ4RTQ5IExpbnV4IHJvb3QgKHg4NikgCisxNDMzNiAgMjA0NzkgICAzTSA2NDNFMUQwRC1CQzAyLTRDRUQtQjgzQi04NjEyMTA2Mjg1OEYgTGludXggZmlsZXN5c3RlbSAKKzIwNDgwIDEwMjM2NiAgNDBNIEQyQTI5QjBBLUZERUUtNDBDMy05QkFFLUI5RkE3ODJDOTg2QyBMaW51eCBmaWxlc3lzdGVtIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3NjcmlwdC10eXBlLWFuZC1pZCBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9zY3JpcHQtdHlwZS1hbmQtaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDllODU3MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9zY3JpcHQtdHlwZS1hbmQtaWQKQEAgLTAsMCArMSw0MCBAQAorQ2hlY2tpbmcgdGhhdCBuby1vbmUgaXMgdXNpbmcgdGhpcyBkaXNrIHJpZ2h0IG5vdyAuLi4gT0sKKworRGlzayA8cmVtb3ZlZD46IDUwIE1pQiwgNTI0Mjg4MDAgYnl0ZXMsIDEwMjQwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDQwOTYgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA0MDk2IGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCisKKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjE6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MjogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4zOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjQ6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+NTogRG9uZS4KKworTmV3IHNpdHVhdGlvbjoKKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgIDIwNDggICA4MTkxICAgIDYxNDQgICAzTSBMaW51eCByb290ICh4ODYpCis8cmVtb3ZlZD4yICAgODE5MiAgMTQzMzUgICAgNjE0NCAgIDNNIExpbnV4IHJvb3QgKHg4NikKKzxyZW1vdmVkPjMgIDE0MzM2ICAyMDQ3OSAgICA2MTQ0ICAgM00gTGludXggcm9vdCAoeDg2KQorPHJlbW92ZWQ+NCAgMjA0ODAgMTAyMzY2ICAgODE4ODcgIDQwTSBMaW51eCByb290ICh4ODYpCisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK1N0YXJ0ICAgIEVuZCBTaXplIFVVSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlICAgICAgICAgICAgIE5hbWUKKyAyMDQ4ICAgODE5MSAgIDNNIDRERDY5NDhBLTQ0RjgtNEU2Qy04QkRDLTA2NEY3NDA3MDRGOCBMaW51eCByb290ICh4ODYpIAorIDgxOTIgIDE0MzM1ICAgM00gNDRCNTFERUYtNUYwNC00NjVBLTkxQUEtMjg4OUE2MkQ4RTQ5IExpbnV4IHJvb3QgKHg4NikgCisxNDMzNiAgMjA0NzkgICAzTSA2NDNFMUQwRC1CQzAyLTRDRUQtQjgzQi04NjEyMTA2Mjg1OEYgTGludXggcm9vdCAoeDg2KSAKKzIwNDgwIDEwMjM2NiAgNDBNIEQyQTI5QjBBLUZERUUtNDBDMy05QkFFLUI5RkE3ODJDOTg2QyBMaW51eCByb290ICh4ODYpIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc3dhcG9uL2Rldm5hbWUgYi90ZXN0cy9leHBlY3RlZC9zd2Fwb24vZGV2bmFtZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc3dhcG9uL2Rldm5hbWUKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc3dhcG9uL2ZpeHBnc3ogYi90ZXN0cy9leHBlY3RlZC9zd2Fwb24vZml4cGdzegpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc3dhcG9uL2ZpeHBnc3oKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc3dhcG9uL2ZpeHNpZyBiL3Rlc3RzL2V4cGVjdGVkL3N3YXBvbi9maXhzaWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3N3YXBvbi9maXhzaWcKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc3dhcG9uL2xhYmVsIGIvdGVzdHMvZXhwZWN0ZWQvc3dhcG9uL2xhYmVsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ODIxMTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zd2Fwb24vbGFiZWwKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc3dhcG9uL3V1aWQgYi90ZXN0cy9leHBlY3RlZC9zd2Fwb24vdXVpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc3dhcG9uL3V1aWQKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvdGFpbGYvc2ltcGxlIGIvdGVzdHMvZXhwZWN0ZWQvdGFpbGYvc2ltcGxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkZjcyZGUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC90YWlsZi9zaW1wbGUKQEAgLTAsMCArMSwyIEBACithIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCB5IHoKKzAgMSAyIDMgNCA1IDYgNyA4IDkKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3V0bXAvbGFzdC1kbnMgYi90ZXN0cy9leHBlY3RlZC91dG1wL2xhc3QtZG5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0MDEyYzcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC91dG1wL2xhc3QtZG5zCkBAIC0wLDAgKzEsMTIgQEAKK35+fiBkbnMgc2hvcnQgfn5+CitJUHY0ICAgICByb290ICAgICAgICAgYS5yb290LXNlcnZlcnMubiBXZWQgQXVnIDI4IDEzOjAwIC0gMTQ6MDAgICgwMTowMCkKKword3RtcC1hIGJlZ2lucyBXZWQgQXVnIDI4IDAzOjAwOjAwIDIwMTMKK35+fiBkbnMgbG9uZyB+fn4KK0lQdjQgICAgIHJvb3QgICAgICAgICBhLnJvb3Qtc2VydmVycy5uZXQgV2VkIEF1ZyAyOCAxMzowMCAtIDE0OjAwICAoMDE6MDApCisKK3d0bXAtYSBiZWdpbnMgV2VkIEF1ZyAyOCAwMzowMDowMCAyMDEzCit+fn4gZG5zIGhvc3QgbGFzdCB+fn4KK0lQdjQgICAgIHJvb3QgICAgICAgICBXZWQgQXVnIDI4IDEzOjAwIC0gMTQ6MDAgICgwMTowMCkgICAgIGEucm9vdC1zZXJ2ZXJzLm5ldAorCit3dG1wLWEgYmVnaW5zIFdlZCBBdWcgMjggMDM6MDA6MDAgMjAxMwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvdXRtcC9sYXN0LWlwdjYtZG5zIGIvdGVzdHMvZXhwZWN0ZWQvdXRtcC9sYXN0LWlwdjYtZG5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhNTNhNjQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC91dG1wL2xhc3QtaXB2Ni1kbnMKQEAgLTAsMCArMSwxMiBAQAorfn5+IGRucyBzaG9ydCB+fn4KK0lQdjYgICAgIHJvb3QgICAgICAgICBhLnJvb3Qtc2VydmVycy5uIFdlZCBBdWcgMjggMjA6MzAgLSAyMDo0MCAgKDAwOjEwKQorCit3dG1wLWlwdjYgYmVnaW5zIFdlZCBBdWcgMjggMjA6MzA6NDAgMjAxMworfn5+IGRucyBsb25nIH5+fgorSVB2NiAgICAgcm9vdCAgICAgICAgIGEucm9vdC1zZXJ2ZXJzLm5ldCBXZWQgQXVnIDI4IDIwOjMwIC0gMjA6NDAgICgwMDoxMCkKKword3RtcC1pcHY2IGJlZ2lucyBXZWQgQXVnIDI4IDIwOjMwOjQwIDIwMTMKK35+fiBkbnMgaG9zdCBsYXN0IH5+fgorSVB2NiAgICAgcm9vdCAgICAgICAgIFdlZCBBdWcgMjggMjA6MzAgLSAyMDo0MCAgKDAwOjEwKSAgICAgYS5yb290LXNlcnZlcnMubmV0CisKK3d0bXAtaXB2NiBiZWdpbnMgV2VkIEF1ZyAyOCAyMDozMDo0MCAyMDEzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC91dG1wL2xhc3QtaXB2Ni1ub2RucyBiL3Rlc3RzL2V4cGVjdGVkL3V0bXAvbGFzdC1pcHY2LW5vZG5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1ZDQyMmEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC91dG1wL2xhc3QtaXB2Ni1ub2RucwpAQCAtMCwwICsxLDggQEAKK35+fiBzaG93IGlwIH5+fgorSVB2NiAgICAgcm9vdCAgICAgICAgIDIwMDE6NTAzOmJhM2U6OjIgV2VkIEF1ZyAyOCAyMDozMCAtIDIwOjQwICAoMDA6MTApCisKK3d0bXAtaXB2NiBiZWdpbnMgV2VkIEF1ZyAyOCAyMDozMDo0MCAyMDEzCit+fn4gc2hvdyBpcCBsYXN0IH5+fgorSVB2NiAgICAgcm9vdCAgICAgICAgIFdlZCBBdWcgMjggMjA6MzAgLSAyMDo0MCAgKDAwOjEwKSAgICAgMjAwMTo1MDM6YmEzZTo6MjozMAorCit3dG1wLWlwdjYgYmVnaW5zIFdlZCBBdWcgMjggMjA6MzA6NDAgMjAxMwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvdXRtcC9sYXN0LW5vZG5zIGIvdGVzdHMvZXhwZWN0ZWQvdXRtcC9sYXN0LW5vZG5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiN2NmZGUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC91dG1wL2xhc3Qtbm9kbnMKQEAgLTAsMCArMSwxMjYgQEAKK35+fiBiYXNpYyBvdXRwdXQgfn5+CityaWNrICAgICBsb25nICAgICAgICAgbmV2ZXItZ29ubmEtbG9nbyBUaHUgSmFuICAxIDAwOjAwIC0gMDM6MTQgKDI0ODU1KzAzOjE0KQordG9ydmFsZHMgbGludXggICAgICAgIGhvYmJ5ICAgICAgICAgICAgTW9uIEF1ZyAyNiAwMDo1NyAgICBnb25lIC0gbm8gbG9nb3V0CityZWJvb3QgICBzeXN0ZW0gYm9vdCAgc3lzdGVtLW5hbWUgICAgICBXZWQgQXVnIDI4IDE4OjAwICAgc3RpbGwgcnVubmluZworcmVib290ICAgc3lzdGVtIGJvb3QgIHN5c3RlbS1uYW1lICAgICAgV2VkIEF1ZyAyOCAxNjowMCAtIDE3OjAwICAoMDE6MDApCitJUHY0ICAgICByb290ICAgICAgICAgZG5zLXNlcnZlciAgICAgICBXZWQgQXVnIDI4IDEzOjAwIC0gMTQ6MDAgICgwMTowMCkKK25vbnZhbGlkIGZvbyAgICAgICAgICB6ZXJvICAgICAgICAgICAgIFdlZCBBdWcgMjggMTI6MDAgLSBkb3duICAgKDAzOjAwKQorcnVubGV2ZWwgZm9vICAgICAgICAgIG9uZSAgICAgICAgICAgICAgV2VkIEF1ZyAyOCAxMTowMCAtIDEyOjAwICAoMDE6MDApCitzeXNib290ICBmb28gICAgICAgICAgdHdvICAgICAgICAgICAgICBXZWQgQXVnIDI4IDEwOjAwIC0gMTE6MDAgICgwMTowMCkKK25ld3RpbWUgIGZvbyAgICAgICAgICB0aHJlZSAgICAgICAgICAgIFdlZCBBdWcgMjggMDk6MDAgLSAxMDowMCAgKDAxOjAwKQorb2xkdGltZSAgZm9vICAgICAgICAgIGZvdXIgICAgICAgICAgICAgV2VkIEF1ZyAyOCAwODowMCAtIDA5OjAwICAoMDE6MDApCitpbml0ICAgICBmb28gICAgICAgICAgZml2ZSAgICAgICAgICAgICBXZWQgQXVnIDI4IDA3OjAwIC0gMDg6MDAgICgwMTowMCkKK2xvZ2luICAgIGZvbyAgICAgICAgICBzaXggICAgICAgICAgICAgIFdlZCBBdWcgMjggMDY6MDAgLSAwNzowMCAgKDAxOjAwKQordXNlcl9wcm8gZm9vICAgICAgICAgIHNldmVuICAgICAgICAgICAgV2VkIEF1ZyAyOCAwNTowMCAtIDA2OjAwICAoMDE6MDApCithY2NvdW50aSBmb28gICAgICAgICAgbmluZSAgICAgICAgICAgICBXZWQgQXVnIDI4IDAzOjAwIC0gMDQ6MDAgICgwMTowMCkKKword3RtcC1hIGJlZ2lucyBXZWQgQXVnIDI4IDAzOjAwOjAwIDIwMTMKK35+fiBpbmNsdWRlIHN5c3RlbSB+fn4KK3JpY2sgICAgIGxvbmcgICAgICAgICBuZXZlci1nb25uYS1sb2dvIFRodSBKYW4gIDEgMDA6MDAgLSAwMzoxNCAoMjQ4NTUrMDM6MTQpCit0b3J2YWxkcyBsaW51eCAgICAgICAgaG9iYnkgICAgICAgICAgICBNb24gQXVnIDI2IDAwOjU3ICAgIGdvbmUgLSBubyBsb2dvdXQKK3JlYm9vdCAgIHN5c3RlbSBib290ICBzeXN0ZW0tbmFtZSAgICAgIFdlZCBBdWcgMjggMTg6MDAgICBzdGlsbCBydW5uaW5nCitzaHV0ZG93biBzeXN0ZW0gZG93biAgc3lzdGVtLW5hbWUgICAgICBXZWQgQXVnIDI4IDE3OjAwIC0gMTg6MDAgICgwMTowMCkKK3JlYm9vdCAgIHN5c3RlbSBib290ICBzeXN0ZW0tbmFtZSAgICAgIFdlZCBBdWcgMjggMTY6MDAgLSAxNzowMCAgKDAxOjAwKQorc2h1dGRvd24gc3lzdGVtIGRvd24gIHN5c3RlbS1uYW1lICAgICAgV2VkIEF1ZyAyOCAxNTowMCAtIDE2OjAwICAoMDE6MDApCitJUHY0ICAgICByb290ICAgICAgICAgZG5zLXNlcnZlciAgICAgICBXZWQgQXVnIDI4IDEzOjAwIC0gMTQ6MDAgICgwMTowMCkKK25vbnZhbGlkIGZvbyAgICAgICAgICB6ZXJvICAgICAgICAgICAgIFdlZCBBdWcgMjggMTI6MDAgLSBkb3duICAgKDAzOjAwKQorcnVubGV2ZWwgZm9vICAgICAgICAgIG9uZSAgICAgICAgICAgICAgV2VkIEF1ZyAyOCAxMTowMCAtIDEyOjAwICAoMDE6MDApCitzeXNib290ICBmb28gICAgICAgICAgdHdvICAgICAgICAgICAgICBXZWQgQXVnIDI4IDEwOjAwIC0gMTE6MDAgICgwMTowMCkKK25ld3RpbWUgIGZvbyAgICAgICAgICB0aHJlZSAgICAgICAgICAgIFdlZCBBdWcgMjggMDk6MDAgLSAxMDowMCAgKDAxOjAwKQorb2xkdGltZSAgZm9vICAgICAgICAgIGZvdXIgICAgICAgICAgICAgV2VkIEF1ZyAyOCAwODowMCAtIDA5OjAwICAoMDE6MDApCitpbml0ICAgICBmb28gICAgICAgICAgZml2ZSAgICAgICAgICAgICBXZWQgQXVnIDI4IDA3OjAwIC0gMDg6MDAgICgwMTowMCkKK2xvZ2luICAgIGZvbyAgICAgICAgICBzaXggICAgICAgICAgICAgIFdlZCBBdWcgMjggMDY6MDAgLSAwNzowMCAgKDAxOjAwKQordXNlcl9wcm8gZm9vICAgICAgICAgIHNldmVuICAgICAgICAgICAgV2VkIEF1ZyAyOCAwNTowMCAtIDA2OjAwICAoMDE6MDApCithY2NvdW50aSBmb28gICAgICAgICAgbmluZSAgICAgICAgICAgICBXZWQgQXVnIDI4IDAzOjAwIC0gMDQ6MDAgICgwMTowMCkKKword3RtcC1hIGJlZ2lucyBXZWQgQXVnIDI4IDAzOjAwOjAwIDIwMTMKK35+fiBzaG93IGlwIH5+fgordG9ydmFsZHMgbGludXggICAgICAgIDEyOC4yMTQuMjA1LjE0ICAgTW9uIEF1ZyAyNiAwMDo1NyAgICBnb25lIC0gbm8gbG9nb3V0CisKK3d0bXAtYSBiZWdpbnMgV2VkIEF1ZyAyOCAwMzowMDowMCAyMDEzCit+fn4gbm8gaG9zdCB+fn4KK3RvcnZhbGRzIGxpbnV4ICAgICAgICBNb24gQXVnIDI2IDAwOjU3ICAgIGdvbmUgLSBubyBsb2dvdXQKKword3RtcC1hIGJlZ2lucyBXZWQgQXVnIDI4IDAzOjAwOjAwIDIwMTMKK35+fiBmdWxsIHRpbWVzIHNob3J0b3B0IH5+fgorcmljayAgICAgbG9uZyAgICAgICAgIG5ldmVyLWdvbm5hLWxvZ28gVGh1IEphbiAgMSAwMDowMDowMCAxOTcwIC0gVHVlIEphbiAxOSAwMzoxNDowNyAyMDM4ICgyNDg1NSswMzoxNCkKK3RvcnZhbGRzIGxpbnV4ICAgICAgICBob2JieSAgICAgICAgICAgIE1vbiBBdWcgMjYgMDA6NTc6MDggMTk5MSAgIGdvbmUgLSBubyBsb2dvdXQKK3JlYm9vdCAgIHN5c3RlbSBib290ICBzeXN0ZW0tbmFtZSAgICAgIFdlZCBBdWcgMjggMTg6MDA6MDAgMjAxMyAgIHN0aWxsIHJ1bm5pbmcKK3JlYm9vdCAgIHN5c3RlbSBib290ICBzeXN0ZW0tbmFtZSAgICAgIFdlZCBBdWcgMjggMTY6MDA6MDAgMjAxMyAtIFdlZCBBdWcgMjggMTc6MDA6MDAgMjAxMyAgKDAxOjAwKQorSVB2NCAgICAgcm9vdCAgICAgICAgIGRucy1zZXJ2ZXIgICAgICAgV2VkIEF1ZyAyOCAxMzowMDowMCAyMDEzIC0gV2VkIEF1ZyAyOCAxNDowMDowMCAyMDEzICAoMDE6MDApCitub252YWxpZCBmb28gICAgICAgICAgemVybyAgICAgICAgICAgICBXZWQgQXVnIDI4IDEyOjAwOjAwIDIwMTMgLSBkb3duICAgICAgICAgICAgICAgICAgICAgICgwMzowMCkKK3J1bmxldmVsIGZvbyAgICAgICAgICBvbmUgICAgICAgICAgICAgIFdlZCBBdWcgMjggMTE6MDA6MDAgMjAxMyAtIFdlZCBBdWcgMjggMTI6MDA6MDAgMjAxMyAgKDAxOjAwKQorc3lzYm9vdCAgZm9vICAgICAgICAgIHR3byAgICAgICAgICAgICAgV2VkIEF1ZyAyOCAxMDowMDowMCAyMDEzIC0gV2VkIEF1ZyAyOCAxMTowMDowMCAyMDEzICAoMDE6MDApCituZXd0aW1lICBmb28gICAgICAgICAgdGhyZWUgICAgICAgICAgICBXZWQgQXVnIDI4IDA5OjAwOjAwIDIwMTMgLSBXZWQgQXVnIDI4IDEwOjAwOjAwIDIwMTMgICgwMTowMCkKK29sZHRpbWUgIGZvbyAgICAgICAgICBmb3VyICAgICAgICAgICAgIFdlZCBBdWcgMjggMDg6MDA6MDAgMjAxMyAtIFdlZCBBdWcgMjggMDk6MDA6MDAgMjAxMyAgKDAxOjAwKQoraW5pdCAgICAgZm9vICAgICAgICAgIGZpdmUgICAgICAgICAgICAgV2VkIEF1ZyAyOCAwNzowMDowMCAyMDEzIC0gV2VkIEF1ZyAyOCAwODowMDowMCAyMDEzICAoMDE6MDApCitsb2dpbiAgICBmb28gICAgICAgICAgc2l4ICAgICAgICAgICAgICBXZWQgQXVnIDI4IDA2OjAwOjAwIDIwMTMgLSBXZWQgQXVnIDI4IDA3OjAwOjAwIDIwMTMgICgwMTowMCkKK3VzZXJfcHJvIGZvbyAgICAgICAgICBzZXZlbiAgICAgICAgICAgIFdlZCBBdWcgMjggMDU6MDA6MDAgMjAxMyAtIFdlZCBBdWcgMjggMDY6MDA6MDAgMjAxMyAgKDAxOjAwKQorYWNjb3VudGkgZm9vICAgICAgICAgIG5pbmUgICAgICAgICAgICAgV2VkIEF1ZyAyOCAwMzowMDowMCAyMDEzIC0gV2VkIEF1ZyAyOCAwNDowMDowMCAyMDEzICAoMDE6MDApCisKK3d0bXAtYSBiZWdpbnMgV2VkIEF1ZyAyOCAwMzowMDowMCAyMDEzCit+fn4gZnVsbCB0aW1lcyBsb25nb3B0IH5+fgorcmljayAgICAgbG9uZyAgICAgICAgIG5ldmVyLWdvbm5hLWxvZ28gVGh1IEphbiAgMSAwMDowMDowMCAxOTcwIC0gVHVlIEphbiAxOSAwMzoxNDowNyAyMDM4ICgyNDg1NSswMzoxNCkKK3RvcnZhbGRzIGxpbnV4ICAgICAgICBob2JieSAgICAgICAgICAgIE1vbiBBdWcgMjYgMDA6NTc6MDggMTk5MSAgIGdvbmUgLSBubyBsb2dvdXQKK3JlYm9vdCAgIHN5c3RlbSBib290ICBzeXN0ZW0tbmFtZSAgICAgIFdlZCBBdWcgMjggMTg6MDA6MDAgMjAxMyAgIHN0aWxsIHJ1bm5pbmcKK3JlYm9vdCAgIHN5c3RlbSBib290ICBzeXN0ZW0tbmFtZSAgICAgIFdlZCBBdWcgMjggMTY6MDA6MDAgMjAxMyAtIFdlZCBBdWcgMjggMTc6MDA6MDAgMjAxMyAgKDAxOjAwKQorSVB2NCAgICAgcm9vdCAgICAgICAgIGRucy1zZXJ2ZXIgICAgICAgV2VkIEF1ZyAyOCAxMzowMDowMCAyMDEzIC0gV2VkIEF1ZyAyOCAxNDowMDowMCAyMDEzICAoMDE6MDApCitub252YWxpZCBmb28gICAgICAgICAgemVybyAgICAgICAgICAgICBXZWQgQXVnIDI4IDEyOjAwOjAwIDIwMTMgLSBkb3duICAgICAgICAgICAgICAgICAgICAgICgwMzowMCkKK3J1bmxldmVsIGZvbyAgICAgICAgICBvbmUgICAgICAgICAgICAgIFdlZCBBdWcgMjggMTE6MDA6MDAgMjAxMyAtIFdlZCBBdWcgMjggMTI6MDA6MDAgMjAxMyAgKDAxOjAwKQorc3lzYm9vdCAgZm9vICAgICAgICAgIHR3byAgICAgICAgICAgICAgV2VkIEF1ZyAyOCAxMDowMDowMCAyMDEzIC0gV2VkIEF1ZyAyOCAxMTowMDowMCAyMDEzICAoMDE6MDApCituZXd0aW1lICBmb28gICAgICAgICAgdGhyZWUgICAgICAgICAgICBXZWQgQXVnIDI4IDA5OjAwOjAwIDIwMTMgLSBXZWQgQXVnIDI4IDEwOjAwOjAwIDIwMTMgICgwMTowMCkKK29sZHRpbWUgIGZvbyAgICAgICAgICBmb3VyICAgICAgICAgICAgIFdlZCBBdWcgMjggMDg6MDA6MDAgMjAxMyAtIFdlZCBBdWcgMjggMDk6MDA6MDAgMjAxMyAgKDAxOjAwKQoraW5pdCAgICAgZm9vICAgICAgICAgIGZpdmUgICAgICAgICAgICAgV2VkIEF1ZyAyOCAwNzowMDowMCAyMDEzIC0gV2VkIEF1ZyAyOCAwODowMDowMCAyMDEzICAoMDE6MDApCitsb2dpbiAgICBmb28gICAgICAgICAgc2l4ICAgICAgICAgICAgICBXZWQgQXVnIDI4IDA2OjAwOjAwIDIwMTMgLSBXZWQgQXVnIDI4IDA3OjAwOjAwIDIwMTMgICgwMTowMCkKK3VzZXJfcHJvIGZvbyAgICAgICAgICBzZXZlbiAgICAgICAgICAgIFdlZCBBdWcgMjggMDU6MDA6MDAgMjAxMyAtIFdlZCBBdWcgMjggMDY6MDA6MDAgMjAxMyAgKDAxOjAwKQorYWNjb3VudGkgZm9vICAgICAgICAgIG5pbmUgICAgICAgICAgICAgV2VkIEF1ZyAyOCAwMzowMDowMCAyMDEzIC0gV2VkIEF1ZyAyOCAwNDowMDowMCAyMDEzICAoMDE6MDApCisKK3d0bXAtYSBiZWdpbnMgV2VkIEF1ZyAyOCAwMzowMDowMCAyMDEzCit+fn4gbm8gdGltZSB+fn4KK3JpY2sgICAgIGxvbmcgICAgICAgICBuZXZlci1nb25uYS1sb2dvICAgKDI0ODU1KzAzOjE0KQordG9ydmFsZHMgbGludXggICAgICAgIGhvYmJ5ICAgICAgICAgICAgICBubyBsb2dvdXQKK3JlYm9vdCAgIHN5c3RlbSBib290ICBzeXN0ZW0tbmFtZSAgICAgICAgcnVubmluZworcmVib290ICAgc3lzdGVtIGJvb3QgIHN5c3RlbS1uYW1lICAgICAgICAgKDAxOjAwKQorSVB2NCAgICAgcm9vdCAgICAgICAgIGRucy1zZXJ2ZXIgICAgICAgICAgKDAxOjAwKQorbm9udmFsaWQgZm9vICAgICAgICAgIHplcm8gICAgICAgICAgICAgICAgKDAzOjAwKQorcnVubGV2ZWwgZm9vICAgICAgICAgIG9uZSAgICAgICAgICAgICAgICAgKDAxOjAwKQorc3lzYm9vdCAgZm9vICAgICAgICAgIHR3byAgICAgICAgICAgICAgICAgKDAxOjAwKQorbmV3dGltZSAgZm9vICAgICAgICAgIHRocmVlICAgICAgICAgICAgICAgKDAxOjAwKQorb2xkdGltZSAgZm9vICAgICAgICAgIGZvdXIgICAgICAgICAgICAgICAgKDAxOjAwKQoraW5pdCAgICAgZm9vICAgICAgICAgIGZpdmUgICAgICAgICAgICAgICAgKDAxOjAwKQorbG9naW4gICAgZm9vICAgICAgICAgIHNpeCAgICAgICAgICAgICAgICAgKDAxOjAwKQordXNlcl9wcm8gZm9vICAgICAgICAgIHNldmVuICAgICAgICAgICAgICAgKDAxOjAwKQorYWNjb3VudGkgZm9vICAgICAgICAgIG5pbmUgICAgICAgICAgICAgICAgKDAxOjAwKQorCit3dG1wLWEgYmVnaW5zIFdlZCBBdWcgMjggMDM6MDA6MDAgMjAxMworfn5+IGlzby04NjAxIHRpbWUgfn5+CityaWNrICAgICBsb25nICAgICAgICAgbmV2ZXItZ29ubmEtbG9nb3V0IDE5NzAtMDEtMDFUMDA6MDA6MDArMDAwMCAtIDIwMzgtMDEtMTlUMDM6MTQ6MDcrMDAwMCAoMjQ4NTUrMDM6MTQpCit0b3J2YWxkcyBsaW51eCAgICAgICAgaG9iYnkgICAgICAgICAgICAxOTkxLTA4LTI2VDAwOjU3OjA4KzAwMDAgICBnb25lIC0gbm8gbG9nb3V0CityZWJvb3QgICBzeXN0ZW0gYm9vdCAgc3lzdGVtLW5hbWUgICAgICAyMDEzLTA4LTI4VDE4OjAwOjAwKzAwMDAgICBzdGlsbCBydW5uaW5nCityZWJvb3QgICBzeXN0ZW0gYm9vdCAgc3lzdGVtLW5hbWUgICAgICAyMDEzLTA4LTI4VDE2OjAwOjAwKzAwMDAgLSAyMDEzLTA4LTI4VDE3OjAwOjAwKzAwMDAgICgwMTowMCkKK0lQdjQgICAgIHJvb3QgICAgICAgICBkbnMtc2VydmVyICAgICAgIDIwMTMtMDgtMjhUMTM6MDA6MDArMDAwMCAtIDIwMTMtMDgtMjhUMTQ6MDA6MDArMDAwMCAgKDAxOjAwKQorbm9udmFsaWQgZm9vICAgICAgICAgIHplcm8gICAgICAgICAgICAgMjAxMy0wOC0yOFQxMjowMDowMCswMDAwIC0gZG93biAgICAgICAgICAgICAgICAgICAgICAoMDM6MDApCitydW5sZXZlbCBmb28gICAgICAgICAgb25lICAgICAgICAgICAgICAyMDEzLTA4LTI4VDExOjAwOjAwKzAwMDAgLSAyMDEzLTA4LTI4VDEyOjAwOjAwKzAwMDAgICgwMTowMCkKK3N5c2Jvb3QgIGZvbyAgICAgICAgICB0d28gICAgICAgICAgICAgIDIwMTMtMDgtMjhUMTA6MDA6MDArMDAwMCAtIDIwMTMtMDgtMjhUMTE6MDA6MDArMDAwMCAgKDAxOjAwKQorbmV3dGltZSAgZm9vICAgICAgICAgIHRocmVlICAgICAgICAgICAgMjAxMy0wOC0yOFQwOTowMDowMCswMDAwIC0gMjAxMy0wOC0yOFQxMDowMDowMCswMDAwICAoMDE6MDApCitvbGR0aW1lICBmb28gICAgICAgICAgZm91ciAgICAgICAgICAgICAyMDEzLTA4LTI4VDA4OjAwOjAwKzAwMDAgLSAyMDEzLTA4LTI4VDA5OjAwOjAwKzAwMDAgICgwMTowMCkKK2luaXQgICAgIGZvbyAgICAgICAgICBmaXZlICAgICAgICAgICAgIDIwMTMtMDgtMjhUMDc6MDA6MDArMDAwMCAtIDIwMTMtMDgtMjhUMDg6MDA6MDArMDAwMCAgKDAxOjAwKQorbG9naW4gICAgZm9vICAgICAgICAgIHNpeCAgICAgICAgICAgICAgMjAxMy0wOC0yOFQwNjowMDowMCswMDAwIC0gMjAxMy0wOC0yOFQwNzowMDowMCswMDAwICAoMDE6MDApCit1c2VyX3Byb2Nlc3MgZm9vICAgICAgICAgIHNldmVuICAgICAgICAgICAgMjAxMy0wOC0yOFQwNTowMDowMCswMDAwIC0gMjAxMy0wOC0yOFQwNjowMDowMCswMDAwICAoMDE6MDApCithY2NvdW50aW5nIGZvbyAgICAgICAgICBuaW5lICAgICAgICAgICAgIDIwMTMtMDgtMjhUMDM6MDA6MDArMDAwMCAtIDIwMTMtMDgtMjhUMDQ6MDA6MDArMDAwMCAgKDAxOjAwKQorCit3dG1wLWEgYmVnaW5zIFdlZCBBdWcgMjggMDM6MDA6MDAgMjAxMworfn5+IHNpbmNlIGFuZCB1bnRpbCB+fn4KK29sZHRpbWUgIGZvbyAgICAgICAgICBmb3VyICAgICAgICAgICAgIFdlZCBBdWcgMjggMDg6MDAgICAgZ29uZSAtIG5vIGxvZ291dAoraW5pdCAgICAgZm9vICAgICAgICAgIGZpdmUgICAgICAgICAgICAgV2VkIEF1ZyAyOCAwNzowMCAtIDA4OjAwICAoMDE6MDApCitsb2dpbiAgICBmb28gICAgICAgICAgc2l4ICAgICAgICAgICAgICBXZWQgQXVnIDI4IDA2OjAwIC0gMDc6MDAgICgwMTowMCkKK3VzZXJfcHJvIGZvbyAgICAgICAgICBzZXZlbiAgICAgICAgICAgIFdlZCBBdWcgMjggMDU6MDAgLSAwNjowMCAgKDAxOjAwKQorYWNjb3VudGkgZm9vICAgICAgICAgIG5pbmUgICAgICAgICAgICAgV2VkIEF1ZyAyOCAwMzowMCAtIDA0OjAwICAoMDE6MDApCisKK3d0bXAtYSBiZWdpbnMgV2VkIEF1ZyAyOCAwMzowMDowMCAyMDEzCit+fn4gcHJlc2VudCB+fn4KK3JpY2sgICAgIGxvbmcgICAgICAgICBuZXZlci1nb25uYS1sb2dvIFRodSBKYW4gIDEgMDA6MDAgLSAwMzoxNCAoMjQ4NTUrMDM6MTQpCit0b3J2YWxkcyBsaW51eCAgICAgICAgaG9iYnkgICAgICAgICAgICBNb24gQXVnIDI2IDAwOjU3ICAgIGdvbmUgLSBubyBsb2dvdXQKK3J1bmxldmVsIGZvbyAgICAgICAgICBvbmUgICAgICAgICAgICAgIFdlZCBBdWcgMjggMTE6MDAgLSAxMjowMCAgKDAxOjAwKQorCit3dG1wLWEgYmVnaW5zIFdlZCBBdWcgMjggMDM6MDA6MDAgMjAxMwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvdXRtcC91dG1wZHVtcC1jaXJjbGUgYi90ZXN0cy9leHBlY3RlZC91dG1wL3V0bXBkdW1wLWNpcmNsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NmZkMmE5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvdXRtcC91dG1wZHVtcC1jaXJjbGUKQEAgLTAsMCArMSBAQAorbm8gb3V0cHV0IGV4cGVjdGVkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC91dG1wL3V0bXBkdW1wLXN1YnNlY29uZCBiL3Rlc3RzL2V4cGVjdGVkL3V0bXAvdXRtcGR1bXAtc3Vic2Vjb25kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllYzQwZGEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC91dG1wL3V0bXBkdW1wLXN1YnNlY29uZApAQCAtMCwwICsxLDUgQEAKK2xhc3QgOSBpcyBleHBlY3RlZCB0byBkaXNhcHBlYXIgaW4gY29udmVyc2lvbgorM2MzCis8IFswXSBbMDAwMDBdIFt0cy8wXSBbbm9udmFsaWRdIFtmb28gICAgICAgICBdIFt6ZXJvICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gWzIwMTMtMDgtMjhUMTI6MDA6MDAsMTIzNDU2Nzg5KzAwMDBdCistLS0KKz4gWzBdIFswMDAwMF0gW3RzLzBdIFtub252YWxpZF0gW2ZvbyAgICAgICAgIF0gW3plcm8gICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbMjAxMy0wOC0yOFQxMjowMDowMCwxMjM0NTY3OCswMDAwXQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvdXRtcC91dG1wZHVtcC10b2JpbiBiL3Rlc3RzL2V4cGVjdGVkL3V0bXAvdXRtcGR1bXAtdG9iaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDBmMWI2MQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3V0bXAvdXRtcGR1bXAtdG9iaW4KQEAgLTAsMCArMSBAQAorbm8gZGlmZgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvdXRtcC91dG1wZHVtcC10b2Jpbi1pcHY2IGIvdGVzdHMvZXhwZWN0ZWQvdXRtcC91dG1wZHVtcC10b2Jpbi1pcHY2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwZjFiNjEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC91dG1wL3V0bXBkdW1wLXRvYmluLWlwdjYKQEAgLTAsMCArMSBAQAorbm8gZGlmZgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvdXRtcC91dG1wZHVtcC10b3R4dCBiL3Rlc3RzL2V4cGVjdGVkL3V0bXAvdXRtcGR1bXAtdG90eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWRlZWZkZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3V0bXAvdXRtcGR1bXAtdG90eHQKQEAgLTAsMCArMSwxMCBAQAorWzddIFsxNzA1OF0gW3RzLzFdIFtrZXJvbGFzYV0gW3B0cy8xICAgICAgIF0gWzowLjAgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbMjAxMy0wMS0xNlQyMzo0NDowOSwwMDAwMDArMDAwMF0KK1s3XSBbMjIwOThdIFt0cy8yXSBba2Vyb2xhc2FdIFtwdHMvMiAgICAgICBdIFs6MC4wICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gWzIwMTMtMDEtMTZUMjM6NDk6MTcsMDAwMDAwKzAwMDBdCitbN10gWzI0OTE1XSBbdHMvM10gW2tlcm9sYXNhXSBbcHRzLzMgICAgICAgXSBbOjAuMCAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFsyMDEzLTAxLTE3VDEyOjIzOjMzLDAwMDAwMCswMDAwXQorWzhdIFsyNDkxNV0gW3RzLzNdIFtrZXJvbGFzYV0gW3B0cy8zICAgICAgIF0gWyAgICAgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbMjAxMy0wMS0xN1QxMjoyNDo0OSwwMDAwMDArMDAwMF0KK1s3XSBbMzA2MjldIFt0cy8zXSBba2Vyb2xhc2FdIFtwdHMvMyAgICAgICBdIFs6MC4wICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gWzIwMTMtMDEtMTdUMTM6MTI6MzksMDAwMDAwKzAwMDBdCitbOF0gWzMwNjI5XSBbdHMvM10gW2tlcm9sYXNhXSBbcHRzLzMgICAgICAgXSBbICAgICAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFsyMDEzLTAxLTE3VDEzOjQyOjE5LDAwMDAwMCswMDAwXQorWzhdIFsyMjA5OF0gW3RzLzJdIFtrZXJvbGFzYV0gW3B0cy8yICAgICAgIF0gWyAgICAgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbMjAxMy0wMS0xN1QxMzo0Mjo0OCwwMDAwMDArMDAwMF0KK1s4XSBbMTcwNThdIFt0cy8xXSBba2Vyb2xhc2FdIFtwdHMvMSAgICAgICBdIFsgICAgICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gWzIwMTMtMDEtMTdUMTM6NDI6NDgsMDAwMDAwKzAwMDBdCitbN10gWzMxNTQ1XSBbdHMvMV0gW2tlcm9sYXNhXSBbcHRzLzEgICAgICAgXSBbOjAuMCAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFsyMDEzLTAxLTE3VDIwOjE3OjIxLDAwMDAwMCswMDAwXQorWzddIFsyODQ5Nl0gW3RzLzJdIFtrZXJvbGFzYV0gW3B0cy8yICAgICAgIF0gWzowLjAgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbMjAxMy0wMS0xN1QyMTowOTozOSwwMDAwMDArMDAwMF0KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3V0bXAvdXRtcGR1bXAtdG90eHQtaXB2NiBiL3Rlc3RzL2V4cGVjdGVkL3V0bXAvdXRtcGR1bXAtdG90eHQtaXB2NgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ODk0MTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvdXRtcC91dG1wZHVtcC10b3R4dC1pcHY2CkBAIC0wLDAgKzEsMiBAQAorWzddIFswMDAxMF0gW2lwdjZdIFtJUHY2ICAgIF0gW3Jvb3QgICAgICAgIF0gW2Rucy1zZXJ2ZXIgICAgICAgICAgXSBbMjAwMTo1MDM6YmEzZTo6MjozMF0gWzIwMTMtMDgtMjhUMjA6MzA6NDAsMDAwMDAwKzAwMDBdCitbOF0gWzAwMDExXSBbaXB2Nl0gW0lQdjYgICAgXSBbcm9vdCAgICAgICAgXSBbZG5zLXNlcnZlciAgICAgICAgICBdIFsyMDAxOjUwMzpiYTNlOjoyOjMwXSBbMjAxMy0wOC0yOFQyMDo0MDo1MCwwMDAwMDArMDAwMF0KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3V1aWQvdXVpZF9wYXJzZXIgYi90ZXN0cy9leHBlY3RlZC91dWlkL3V1aWRfcGFyc2VyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5ZWI2NzIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC91dWlkL3V1aWRfcGFyc2VyCkBAIC0wLDAgKzEsMTUgQEAKKzg0OTQ5Y2M1LTQ3MDEtNGE4NC04OTViLTM1NGM1ODRhOTgxYiBpcyB2YWxpZCwgT0sKKzg0OTQ5Q0M1LTQ3MDEtNEE4NC04OTVCLTM1NEM1ODRBOTgxQiBpcyB2YWxpZCwgT0sKKzg0OTQ5Y2M1LTQ3MDEtNGE4NC04OTViLTM1NGM1ODRhOTgxYmMgaXMgaW52YWxpZCwgT0sKKzg0OTQ5Y2M1LTQ3MDEtNGE4NC04OTViLTM1NGM1ODRhOTgxIGlzIGludmFsaWQsIE9LCis4NDk0OWNjNXg0NzAxLTRhODQtODk1Yi0zNTRjNTg0YTk4MWIgaXMgaW52YWxpZCwgT0sKKzg0OTQ5Y2M1MDQ3MDEtNGE4NC04OTViLTM1NGM1ODRhOTgxYiBpcyBpbnZhbGlkLCBPSworODQ5NDljYzUtNDcwMTA0YTg0LTg5NWItMzU0YzU4NGE5ODFiIGlzIGludmFsaWQsIE9LCis4NDk0OWNjNS00NzAxLTRhODQwODk1Yi0zNTRjNTg0YTk4MWIgaXMgaW52YWxpZCwgT0sKKzg0OTQ5Y2M1LTQ3MDEtNGE4NC04OTViMDM1NGM1ODRhOTgxYiBpcyBpbnZhbGlkLCBPSworZzQ5NDljYzUtNDcwMS00YTg0LTg5NWItMzU0YzU4NGE5ODFiIGlzIGludmFsaWQsIE9LCis4NDk0OWNjNS00NzAxLTRhODQtODk1Yi0zNTRjNTg0YTk4MWcgaXMgaW52YWxpZCwgT0sKKzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCBpcyB2YWxpZCwgT0sKKzAxMjM0NTY3LTg5YWItY2RlZi0wMTM0LTU2Nzg5MGFiY2VkZiBpcyB2YWxpZCwgT0sKK2ZmZmZmZmZmLWZmZmYtZmZmZi1mZmZmLWZmZmZmZmZmZmZmZiBpcyB2YWxpZCwgT0sKK3JldHVybiB2YWx1ZTogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvdXVpZC91dWlkZCBiL3Rlc3RzL2V4cGVjdGVkL3V1aWQvdXVpZGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWU0NDBiMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3V1aWQvdXVpZGQKQEAgLTAsMCArMSwxMSBAQAorb3B0aW9uczogLXQKK3JldHVybiB2YWx1ZTogMAorb3B0aW9uczogLS10aW1lCityZXR1cm4gdmFsdWU6IDAKK29wdGlvbnM6IC1yCityZXR1cm4gdmFsdWU6IDAKK29wdGlvbnM6IC0tcmFuZG9tCityZXR1cm4gdmFsdWU6IDAKK29wdGlvbnM6IC1yIC1uIDY1CityZXR1cm4gdmFsdWU6IDAKK0tpbGxlZCB1dWlkZCBydW5uaW5nIGF0IHBpZCA8bnVtPi4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3V1aWQvdXVpZGdlbiBiL3Rlc3RzL2V4cGVjdGVkL3V1aWQvdXVpZGdlbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMGQxZDk4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvdXVpZC91dWlkZ2VuCkBAIC0wLDAgKzEsOCBAQAorb3B0aW9uOiAtcgorcmV0dXJuIHZhbHVlczogMCBhbmQgMAorb3B0aW9uOiAtdAorcmV0dXJuIHZhbHVlczogMCBhbmQgMAorb3B0aW9uOiAtLXJhbmRvbQorcmV0dXJuIHZhbHVlczogMCBhbmQgMAorb3B0aW9uOiAtLXRpbWUKK3JldHVybiB2YWx1ZXM6IDAgYW5kIDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3dpcGVmcy93aXBlZnMgYi90ZXN0cy9leHBlY3RlZC93aXBlZnMvd2lwZWZzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4NmJhYzkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC93aXBlZnMvd2lwZWZzCkBAIC0wLDAgKzEgQEAKK09LCmRpZmYgLS1naXQgYS90ZXN0cy9mdW5jdGlvbnMuc2ggYi90ZXN0cy9mdW5jdGlvbnMuc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTIzOWFiNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2Z1bmN0aW9ucy5zaApAQCAtMCwwICsxLDc4NSBAQAorIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKKworZnVuY3Rpb24gdHNfYWJzcGF0aCB7CisJY2QgJDEKKwlwd2QKK30KKworZnVuY3Rpb24gdHNfY2Fub25pY2FsaXplIHsKKwlQPSIkMSIKKwlDPSQocmVhZGxpbmsgLWYgJFApCisKKwlpZiBbIC1uICIkQyIgXTsgdGhlbgorCQllY2hvICIkQyIKKwllbHNlCisJCWVjaG8gIiRQIgorCWZpCit9CisKK2Z1bmN0aW9uIHRzX2NkIHsKKwlpZiBbICQjIC1lcSAwIF07IHRoZW4KKwkJdHNfZmFpbGVkICJ1bF9jZDogbm90IGVub3VnaCBhcmd1bWVudHMiCisJZmkKKwlERVNUPSQocmVhZGxpbmsgLWYgIiQxIiAyPi9kZXYvbnVsbCkKKwlpZiBbICJ4JERFU1QiID0gIngiIF0gfHwgWyAhIC1kICIkREVTVCIgXTsgdGhlbgorCQl0c19mYWlsZWQgInVsX2NkOiAkMTogbm8gc3VjaCBkaXJlY3RvcnkiCisJZmkKKwljZCAiJERFU1QiIDI+L2Rldi9udWxsIHx8IHRzX2ZhaWxlZCAidWxfY2Q6ICQxOiBjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSIKKwlpZiBbICIkUFdEIiAhPSAiJERFU1QiIF07IHRoZW4KKwkJdHNfZmFpbGVkICJ1bF9jZDogJFBXRCBpcyBub3QgJERFU1QiCisJZmkKK30KKworZnVuY3Rpb24gdHNfcmVwb3J0IHsKKwlsb2NhbCBkZXNjPQorCisJaWYgWyAiJFRTX1BBUlNBQkxFIiAhPSAieWVzIiBdOyB0aGVuCisJCWlmIFsgJFRTX05TVUJURVNUUyAtbmUgMCBdICYmIFsgLXogIiRUU19TVUJOQU1FIiBdOyB0aGVuCisJCQlkZXNjPSQocHJpbnRmICIlMTFzLi4uIikKKwkJZmkKKwkJZWNobyAiJGRlc2MkMSIKKwkJcmV0dXJuCisJZmkKKworCWlmIFsgLW4gIiRUU19TVUJOQU1FIiBdOyB0aGVuCisJCWRlc2M9JChwcmludGYgIiVzOiBbJTAyZF0gJXMiICIkVFNfREVTQyIgIiRUU19OU1VCVEVTVFMiICIkVFNfU1VCTkFNRSIpCisJZWxzZQorCQlkZXNjPSRUU19ERVNDCisJZmkKKwlwcmludGYgIiUxM3M6ICUtNDVzIC4uLiVzXG4iICIkVFNfQ09NUE9ORU5UIiAiJGRlc2MiICIkMSIKK30KKworZnVuY3Rpb24gdHNfY2hlY2tfdGVzdF9jb21tYW5kIHsKKwlpZiBbICEgLXggIiQxIiBdOyB0aGVuCisJCXRzX3NraXAgIiR7MSMjKi99IG5vdCBmb3VuZCIKKwlmaQorfQorCitmdW5jdGlvbiB0c19jaGVja19wcm9nIHsKKwlsb2NhbCBjbWQ9JDEKKwl0eXBlICIkY21kIiA+L2Rldi9udWxsIDI+JjEgfHwgdHNfc2tpcCAibWlzc2luZyBpbiBQQVRIOiAkY21kIgorfQorCitmdW5jdGlvbiB0c19jaGVja19sb3NldHVwIHsKKwlsb2NhbCB0bXAKKwl0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTE9TRVRVUCIKKworCWlmIFsgIiRUU19TS0lQX0xPT1BERVZTIiA9ICJ5ZXMiIF07IHRoZW4KKwkJdHNfc2tpcCAibG9vcC1kZXZpY2UgdGVzdHMgZGlzYWJsZWQiCisJZmkKKworCSMgYXNzdW1pbmcgdGhhdCBsb3NldHVwIC1mIHdvcmtzIC4uLiB0byBiZSBjaGVja2VkIHNvbWV3aGVyZSBlbHNlCisJdG1wPSQoJFRTX0NNRF9MT1NFVFVQIC1mIDI+L2Rldi9udWxsKQorCWlmIHRlc3QgLWIgIiR0bXAiOyB0aGVuCisJCXJldHVybiAwCisJZmkKKwl0c19za2lwICJubyBsb29wLWRldmljZSBzdXBwb3J0IgorfQorCitmdW5jdGlvbiB0c19yZXBvcnRfc2tpcCB7CisJdHNfcmVwb3J0ICIgU0tJUFBFRCAoJDEpIgorfQorCitmdW5jdGlvbiB0c19za2lwIHsKKwl0c19yZXBvcnRfc2tpcCAiJDEiCisKKwl0c19jbGVhbnVwX29uX2V4aXQKKwlleGl0IDAKK30KKworZnVuY3Rpb24gdHNfc2tpcF9ub25yb290IHsKKwlpZiBbICRVSUQgLW5lIDAgXTsgdGhlbgorCQl0c19za2lwICJubyByb290IHBlcm1pc3Npb25zIgorCWZpCit9CisKK2Z1bmN0aW9uIHRzX2ZhaWxlZF9zdWJ0ZXN0IHsKKwlsb2NhbCBtc2c9IkZBSUxFRCIKKwlsb2NhbCByZXQ9MQorCWlmIFsgIiRUU19LTk9XTl9GQUlMIiA9ICJ5ZXMiIF07IHRoZW4KKwkJbXNnPSJLTk9XTiBGQUlMRUQiCisJCXJldD0wCisJZmkKKworCWlmIFsgeCIkMSIgPT0geCIiIF07IHRoZW4KKwkJdHNfcmVwb3J0ICIgJG1zZyAoJFRTX05TKSIKKwllbHNlCisJCXRzX3JlcG9ydCAiICRtc2cgKCQxKSIKKwlmaQorCisJcmV0dXJuICRyZXQKK30KKworZnVuY3Rpb24gdHNfZmFpbGVkIHsKKwl0c19mYWlsZWRfc3VidGVzdCAiJDEiCisJZXhpdCAkPworfQorCitmdW5jdGlvbiB0c19yZXBvcnRfb2sgeworCWlmIFsgeCIkMSIgPT0geCIiIF07IHRoZW4KKwkJdHNfcmVwb3J0ICIgT0siCisJZWxzZQorCQl0c19yZXBvcnQgIiBPSyAoJDEpIgorCWZpCit9CisKK2Z1bmN0aW9uIHRzX29rIHsKKwl0c19yZXBvcnRfb2sgIiQxIgorCWV4aXQgMAorfQorCitmdW5jdGlvbiB0c19sb2cgeworCWVjaG8gIiQxIiA+PiAkVFNfT1VUUFVUCisJWyAiJFRTX1ZFUkJPU0UiID09ICJ5ZXMiIF0gJiYgZWNobyAiJDEiCit9CisKK2Z1bmN0aW9uIHRzX2hhc19vcHRpb24geworCU5BTUU9IiQxIgorCUFMTD0iJDIiCisKKwkjIHVzZXIgbWF5IHNldCBvcHRpb25zIGJ5IGVudiBmb3IgYSBzaW5nbGUgdGVzdCBvciB3aG9sZSBjb21wb25lbnQKKwkjIGUuZy4gVFNfT1BUX2lwY3NfbGltaXRzMl9mYWtlPSJ5ZXMiIG9yIFRTX09QVF9pcGNzX2Zha2U9InllcyIKKwlsb2NhbCB2X3Rlc3Q9JHtUU19URVNUTkFNRS8vWy0uXS9ffQorCWxvY2FsIHZfY29tcD0ke1RTX0NPTVBPTkVOVC8vWy0uXS9ffQorCWxvY2FsIHZfbmFtZT0ke05BTUUvL1stLl0vX30KKwlldmFsIGxvY2FsIGVudl9vcHRfdGVzdD1cJFRTX09QVF8ke3ZfY29tcH1fJHt2X3Rlc3R9XyR7dl9uYW1lfQorCWV2YWwgbG9jYWwgZW52X29wdF9jb21wPVwkVFNfT1BUXyR7dl9jb21wfV8ke3ZfbmFtZX0KKwlpZiBbICIkZW52X29wdF90ZXN0IiA9ICJ5ZXMiIFwKKwkJLW8gIiRlbnZfb3B0X2NvbXAiID0gInllcyIgLWEgIiRlbnZfb3B0X3Rlc3QiICE9ICJubyIgXTsgdGhlbgorCQllY2hvICJ5ZXMiCisJCXJldHVybgorCWVsaWYgWyAiJGVudl9vcHRfdGVzdCIgPSAibm8iIFwKKwkJLW8gIiRlbnZfb3B0X2NvbXAiID0gIm5vIiAtYSAiJGVudl9vcHRfdGVzdCIgIT0gInllcyIgXTsgdGhlbgorCQlyZXR1cm4KKwlmaQorCisJIyBvciBqdXN0IGNoZWNrIHRoZSBnbG9iYWwgY29tbWFuZCBsaW5lIG9wdGlvbnMKKwlpZiBbWyAkQUxMID1+IChbJCcgXHRcbiddfF4pLS0kTkFNRShbJCc9IFx0XG4nXXwkKSBdXTsgdGhlbgorCQllY2hvIHllcworCQlyZXR1cm4KKwlmaQorCisJIyBvciB0aGUgX2dsb2JhbF8gZW52LCBlLmcgVFNfT1BUX3BhcnNhYmxlPSJ5ZXMiCisJZXZhbCBsb2NhbCBlbnZfb3B0PVwkVFNfT1BUXyR7dl9uYW1lfQorCWlmIFsgIiRlbnZfb3B0IiA9ICJ5ZXMiIF07IHRoZW4gZWNobyAieWVzIjsgZmkKK30KKworZnVuY3Rpb24gdHNfb3B0aW9uX2FyZ3VtZW50IHsKKwlOQU1FPSIkMSIKKwlBTEw9IiQyIgorCisJIyBsYXN0IG9wdGlvbiB3aW5zIQorCWVjaG8gIiRBTEwiIHwgc2VkIC1uICJzLy4qWyBcdFxuXS0tJE5BTUU9XChbXiBcdFxuXSpcKS4qL1wxL3AiIHwgdGFpbCAtbiAxCit9CisKK2Z1bmN0aW9uIHRzX2luaXRfY29yZV9lbnYgeworCVRTX1NVQk5BTUU9IiIKKwlUU19OUz0iJFRTX0NPTVBPTkVOVC8kVFNfVEVTVE5BTUUiCisJVFNfT1VUUFVUPSIkVFNfT1VURElSLyRUU19URVNUTkFNRSIKKwlUU19WR0RVTVA9IiRUU19PVVRESVIvJFRTX1RFU1ROQU1FLnZnZHVtcCIKKwlUU19ESUZGPSIkVFNfRElGRkRJUi8kVFNfVEVTVE5BTUUiCisJVFNfRVhQRUNURUQ9IiRUU19UT1BESVIvZXhwZWN0ZWQvJFRTX05TIgorCVRTX01PVU5UUE9JTlQ9IiRUU19PVVRESVIvJHtUU19URVNUTkFNRX0tbW50IgorfQorCitmdW5jdGlvbiB0c19pbml0X2NvcmVfc3VidGVzdF9lbnYgeworCVRTX05TPSIkVFNfQ09NUE9ORU5ULyRUU19URVNUTkFNRS0kVFNfU1VCTkFNRSIKKwlUU19PVVRQVVQ9IiRUU19PVVRESVIvJFRTX1RFU1ROQU1FLSRUU19TVUJOQU1FIgorCVRTX1ZHRFVNUD0iJFRTX09VVERJUi8kVFNfVEVTVE5BTUUtJFRTX1NVQk5BTUUudmdkdW1wIgorCVRTX0RJRkY9IiRUU19ESUZGRElSLyRUU19URVNUTkFNRS0kVFNfU1VCTkFNRSIKKwlUU19FWFBFQ1RFRD0iJFRTX1RPUERJUi9leHBlY3RlZC8kVFNfTlMiCisJVFNfTU9VTlRQT0lOVD0iJFRTX09VVERJUi8ke1RTX1RFU1ROQU1FfS0ke1RTX1NVQk5BTUV9LW1udCIKKworCXJtIC1mICRUU19PVVRQVVQgJFRTX1ZHRFVNUAorCVsgLWQgIiRUU19PVVRESVIiIF0gIHx8IG1rZGlyIC1wICIkVFNfT1VURElSIgorCisJdG91Y2ggJFRTX09VVFBVVAorCVsgLW4gIiRUU19WQUxHUklORF9DTUQiIF0gJiYgdG91Y2ggJFRTX1ZHRFVNUAorfQorCitmdW5jdGlvbiB0c19pbml0X2VudiB7CisJbG9jYWwgbXlkaXI9JCh0c19hYnNwYXRoICR7MCUvKn0pCisJbG9jYWwgdG1wCisKKwlMQU5HPSJQT1NJWCIKKwlMQU5HVUFHRT0iUE9TSVgiCisJTENfQUxMPSJQT1NJWCIKKwlDSEFSU0VUPSJVVEYtOCIKKworCWV4cG9ydCBMQU5HIExBTkdVQUdFIExDX0FMTCBDSEFSU0VUCisKKwlteWRpcj0kKHRzX2Nhbm9uaWNhbGl6ZSAiJG15ZGlyIikKKworCSMgYXV0b21ha2UgZGlyZWN0b3JpZXMKKwl0b3Bfc3JjZGlyPSQodHNfb3B0aW9uX2FyZ3VtZW50ICJzcmNkaXIiICIkKiIpCisJdG9wX2J1aWxkZGlyPSQodHNfb3B0aW9uX2FyZ3VtZW50ICJidWlsZGRpciIgIiQqIikKKworCSMgd2hlcmUgaXMgdGhpcyBzY3JpcHQKKwlUU19UT1BESVI9JCh0c19hYnNwYXRoICRteWRpci8uLi8uLi8pCisKKwkjIGRlZmF1bHQKKwlpZiBbIC16ICIkdG9wX3NyY2RpciIgXTsgdGhlbgorCQl0b3Bfc3JjZGlyPSIkVFNfVE9QRElSLy4uIgorCWZpCisJaWYgWyAteiAiJHRvcF9idWlsZGRpciIgXTsgdGhlbgorCQl0b3BfYnVpbGRkaXI9IiRUU19UT1BESVIvLi4iCisJZmkKKworCXRvcF9zcmNkaXI9JCh0c19hYnNwYXRoICR0b3Bfc3JjZGlyKQorCXRvcF9idWlsZGRpcj0kKHRzX2Fic3BhdGggJHRvcF9idWlsZGRpcikKKworCSMgc29tZSB1bCBjb21tYW5kcyBzZWFyY2ggb3RoZXIgdWwgY29tbWFuZHMgaW4gJFBBVEgKKwlleHBvcnQgUEFUSD0iJHRvcF9idWlsZGRpcjokUEFUSCIKKworCVRTX1NDUklQVD0iJG15ZGlyLyQoYmFzZW5hbWUgJDApIgorCVRTX1NVQkRJUj0kKGRpcm5hbWUgJFRTX1NDUklQVCkKKwlUU19URVNUTkFNRT0kKGJhc2VuYW1lICRUU19TQ1JJUFQpCisJVFNfQ09NUE9ORU5UPSQoYmFzZW5hbWUgJFRTX1NVQkRJUikKKwlUU19ERVNDPSR7VFNfREVTQzotJFRTX1RFU1ROQU1FfQorCisJVFNfTlNVQlRFU1RTPTAKKwlUU19OU1VCRkFJTEVEPTAKKworCVRTX1NFTEY9IiRUU19TVUJESVIiCisKKwlUU19PVVRESVI9IiR0b3BfYnVpbGRkaXIvdGVzdHMvb3V0cHV0LyRUU19DT01QT05FTlQiCisJVFNfRElGRkRJUj0iJHRvcF9idWlsZGRpci90ZXN0cy9kaWZmLyRUU19DT01QT05FTlQiCisKKwl0c19pbml0X2NvcmVfZW52CisKKwlUU19WRVJCT1NFPSQodHNfaGFzX29wdGlvbiAidmVyYm9zZSIgIiQqIikKKwlUU19QQVJBTExFTD0kKHRzX2hhc19vcHRpb24gInBhcmFsbGVsIiAiJCoiKQorCVRTX0tOT1dOX0ZBSUw9JCh0c19oYXNfb3B0aW9uICJrbm93bi1mYWlsIiAiJCoiKQorCVRTX1NLSVBfTE9PUERFVlM9JCh0c19oYXNfb3B0aW9uICJza2lwLWxvb3BkZXZzIiAiJCoiKQorCVRTX1BBUlNBQkxFPSQodHNfaGFzX29wdGlvbiAicGFyc2FibGUiICIkKiIpCisJWyAiJFRTX1BBUlNBQkxFIiA9ICJ5ZXMiIF0gfHwgVFNfUEFSU0FCTEU9IiRUU19QQVJBTExFTCIKKworCXRtcD0kKCB0c19oYXNfb3B0aW9uICJtZW1jaGVjayIgIiQqIikKKwlpZiBbICIkdG1wIiA9PSAieWVzIiAtYSAtZiAvdXNyL2Jpbi92YWxncmluZCBdOyB0aGVuCisJCVRTX1ZBTEdSSU5EX0NNRD0iL3Vzci9iaW4vdmFsZ3JpbmQiCisJZmkKKworCUJMS0lEX0ZJTEU9IiRUU19PVVRESVIvJHtUU19URVNUTkFNRX0uYmxraWR0YWIiCisKKwlkZWNsYXJlIC1hIFRTX1NVSURfUFJPR1MKKwlkZWNsYXJlIC1hIFRTX1NVSURfVVNFUgorCWRlY2xhcmUgLWEgVFNfU1VJRF9HUk9VUAorCWRlY2xhcmUgLWEgVFNfTE9PUF9ERVZTCisKKwlpZiBbIC1mICRUU19UT1BESVIvY29tbWFuZHMuc2ggXTsgdGhlbgorCQkuICRUU19UT1BESVIvY29tbWFuZHMuc2gKKwlmaQorCisJZXhwb3J0IEJMS0lEX0ZJTEUKKworCXJtIC1mICRUU19PVVRQVVQgJFRTX1ZHRFVNUAorCVsgLWQgIiRUU19PVVRESVIiIF0gIHx8IG1rZGlyIC1wICIkVFNfT1VURElSIgorCisJdG91Y2ggJFRTX09VVFBVVAorCVsgLW4gIiRUU19WQUxHUklORF9DTUQiIF0gJiYgdG91Y2ggJFRTX1ZHRFVNUAorCisJaWYgWyAiJFRTX1ZFUkJPU0UiID09ICJ5ZXMiIF07IHRoZW4KKwkJZWNobworCQllY2hvICIgICAgIHNjcmlwdDogJFRTX1NDUklQVCIKKwkJZWNobyAiICAgIHN1YiBkaXI6ICRUU19TVUJESVIiCisJCWVjaG8gIiAgICB0b3AgZGlyOiAkVFNfVE9QRElSIgorCQllY2hvICIgICAgICAgc2VsZjogJFRTX1NFTEYiCisJCWVjaG8gIiAgdGVzdCBuYW1lOiAkVFNfVEVTVE5BTUUiCisJCWVjaG8gIiAgdGVzdCBkZXNjOiAkVFNfREVTQyIKKwkJZWNobyAiICBjb21wb25lbnQ6ICRUU19DT01QT05FTlQiCisJCWVjaG8gIiAgbmFtZXNwYWNlOiAkVFNfTlMiCisJCWVjaG8gIiAgICB2ZXJib3NlOiAkVFNfVkVSQk9TRSIKKwkJZWNobyAiICAgICBvdXRwdXQ6ICRUU19PVVRQVVQiCisJCWVjaG8gIiAgIHZhbGdyaW5kOiAkVFNfVkdEVU1QIgorCQllY2hvICIgICBleHBlY3RlZDogJFRTX0VYUEVDVEVEIgorCQllY2hvICIgbW91bnRwb2ludDogJFRTX01PVU5UUE9JTlQiCisJCWVjaG8KKwlmaQorfQorCitmdW5jdGlvbiB0c19pbml0X3N1YnRlc3QgeworCisJVFNfU1VCTkFNRT0iJDEiCisJdHNfaW5pdF9jb3JlX3N1YnRlc3RfZW52CisJVFNfTlNVQlRFU1RTPSQoKCAkVFNfTlNVQlRFU1RTICsgMSApKQorCisJaWYgWyAiJFRTX1BBUlNBQkxFIiAhPSAieWVzIiBdOyB0aGVuCisJCVsgJFRTX05TVUJURVNUUyAtZXEgMSBdICYmIGVjaG8KKwkJcHJpbnRmICIlMTZzOiAlLTI3cyAuLi4iICIiICIkVFNfU1VCTkFNRSIKKwlmaQorfQorCitmdW5jdGlvbiB0c19pbml0IHsKKwl0c19pbml0X2VudiAiJCoiCisKKwlsb2NhbCBpc19mYWtlPSQoIHRzX2hhc19vcHRpb24gImZha2UiICIkKiIpCisJbG9jYWwgaXNfZm9yY2U9JCggdHNfaGFzX29wdGlvbiAiZm9yY2UiICIkKiIpCisKKwlpZiBbICIkVFNfUEFSU0FCTEUiICE9ICJ5ZXMiIF07IHRoZW4KKwkJcHJpbnRmICIlMTNzOiAlLTMwcyAuLi4iICIkVFNfQ09NUE9ORU5UIiAiJFRTX0RFU0MiCisJZmkKKworCVsgIiRpc19mYWtlIiA9PSAieWVzIiBdICYmIHRzX3NraXAgImZha2UgbW9kZSIKKwlbICIkVFNfT1BUSU9OQUwiID09ICJ5ZXMiIC1hICIkaXNfZm9yY2UiICE9ICJ5ZXMiIF0gJiYgdHNfc2tpcCAib3B0aW9uYWwiCit9CisKK2Z1bmN0aW9uIHRzX2luaXRfc3VpZCB7CisJUFJPRz0iJDEiCisJY3Q9JHsjVFNfU1VJRF9QUk9HU1sqXX0KKworCSMgU2F2ZSBpbmZvIGFib3V0IG9yaWdpbmFsIHNldHRpbmcKKwlUU19TVUlEX1BST0dTWyRjdF09JFBST0cKKwlUU19TVUlEX1VTRVJbJGN0XT0kKHN0YXQgLS1wcmludGY9IiVVIiAkUFJPRykKKwlUU19TVUlEX0dST1VQWyRjdF09JChzdGF0IC0tcHJpbnRmPSIlRyIgJFBST0cpCisKKwljaG93biByb290LnJvb3QgJFBST0cgJj4gL2Rldi9udWxsCisJY2htb2QgdStzICRQUk9HICY+IC9kZXYvbnVsbAorfQorCitmdW5jdGlvbiB0c19pbml0X3B5IHsKKwlMSUJOQU1FPSIkMSIKKworCVsgLWYgIiR0b3BfYnVpbGRkaXIvcHkke0xJQk5BTUV9LmxhIiBdIHx8IHRzX3NraXAgInB5JHtMSUJOQU1FfSBub3QgY29tcGlsZWQiCisKKwlleHBvcnQgTERfTElCUkFSWV9QQVRIPSIkdG9wX2J1aWxkZGlyLy5saWJzOiRMRF9MSUJSQVJZX1BBVEgiCisJZXhwb3J0IFBZVEhPTlBBVEg9IiR0b3BfYnVpbGRkaXIvJExJQk5BTUUvcHl0aG9uOiR0b3BfYnVpbGRkaXIvLmxpYnM6JFBZVEhPTlBBVEgiCisKKwlleHBvcnQgUFlUSE9OX1ZFUlNJT049JChhd2sgJy9eUFlUSE9OX1ZFUlNJT04vIHsgcHJpbnQgJDMgfScgJHRvcF9idWlsZGRpci9NYWtlZmlsZSkKKwlleHBvcnQgUFlUSE9OX01BSk9SX1ZFUlNJT049JChlY2hvICRQWVRIT05fVkVSU0lPTiB8IHNlZCAncy9cLi4qLy8nKQorCisJZXhwb3J0IFBZVEhPTj0icHl0aG9uJHtQWVRIT05fTUFKT1JfVkVSU0lPTn0iCit9CisKK2Z1bmN0aW9uIHRzX3ZhbGdyaW5kIHsKKwlpZiBbIC16ICIkVFNfVkFMR1JJTkRfQ01EIiBdOyB0aGVuCisJCSIkQCIKKwllbHNlCisJCSRUU19WQUxHUklORF9DTUQgLS10b29sPW1lbWNoZWNrIC0tbGVhay1jaGVjaz1mdWxsIFwKKwkJCQkgLS1sZWFrLXJlc29sdXRpb249aGlnaCAtLW51bS1jYWxsZXJzPTIwIFwKKwkJCQkgLS1sb2ctZmlsZT0iJFRTX1ZHRFVNUCIgIiRAIgorCWZpCit9CisKK2Z1bmN0aW9uIHRzX2dlbl9kaWZmIHsKKwlsb2NhbCByZXM9MAorCisJWyAtZiAiJFRTX09VVFBVVCIgXSB8fCByZXR1cm4gMQorCVsgLWYgIiRUU19FWFBFQ1RFRCIgXSB8fCBUU19FWFBFQ1RFRD0vZGV2L251bGwKKworCSMgcmVtb3ZlIGxpYnRvb2wgbHQtIHByZWZpeGVzCisJc2VkIC0taW4tcGxhY2UgJ3MvXmx0XC1cKC4qXDogXCkvXDEvZycgJFRTX09VVFBVVAorCisJWyAtZCAiJFRTX0RJRkZESVIiIF0gfHwgbWtkaXIgLXAgIiRUU19ESUZGRElSIgorCWRpZmYgLXUgJFRTX0VYUEVDVEVEICRUU19PVVRQVVQgPiAkVFNfRElGRgorCisJaWYgWyAkPyAtbmUgMCBdIHx8IFsgLXMgJFRTX0RJRkYgXTsgdGhlbgorCQlyZXM9MQorCWVsc2UKKwkJcm0gLWYgJFRTX0RJRkY7CisJZmkKKworCXJldHVybiAkcmVzCit9CisKK2Z1bmN0aW9uIHR0X2dlbl9tZW1fcmVwb3J0IHsKKwlbIC16ICIkVFNfVkFMR1JJTkRfQ01EIiBdICYmIGVjaG8gIiQxIgorCisJZ3JlcCAtcSAtRSAnRVJST1IgU1VNTUFSWTogWzEtOV0nICRUU19WR0RVTVAgJj4gL2Rldi9udWxsCisJaWYgWyAkPyAtZXEgMCBdOyB0aGVuCisJCWVjaG8gIm1lbS1lcnJvciBkZXRlY3RlZCEiCisJZmkKK30KKworZnVuY3Rpb24gdHNfZmluYWxpemVfc3VidGVzdCB7CisJbG9jYWwgcmVzPTAKKworCXRzX2dlbl9kaWZmCisJaWYgWyAkPyAtZXEgMSBdOyB0aGVuCisJCXRzX2ZhaWxlZF9zdWJ0ZXN0ICIkMSIKKwkJcmVzPTEKKwllbHNlCisJCXRzX3JlcG9ydF9vayAiJCh0dF9nZW5fbWVtX3JlcG9ydCAiJDEiKSIKKwlmaQorCisJWyAkcmVzIC1uZSAwIF0gJiYgVFNfTlNVQkZBSUxFRD0kKCggJFRTX05TVUJGQUlMRUQgKyAxICkpCisKKwkjIHJlc2V0IGVudmlyb25tZW50IGJhY2sgdG8gcGFyZW50YWwgdGVzdAorCXRzX2luaXRfY29yZV9lbnYKKworCXJldHVybiAkcmVzCit9CisKK2Z1bmN0aW9uIHRzX3NraXBfc3VidGVzdCB7CisJdHNfcmVwb3J0X3NraXAgIiQxIgorCSMgcmVzZXQgZW52aXJvbm1lbnQgYmFjayB0byBwYXJlbnRhbCB0ZXN0CisJdHNfaW5pdF9jb3JlX2VudgorCit9CisKK2Z1bmN0aW9uIHRzX2ZpbmFsaXplIHsKKwl0c19jbGVhbnVwX29uX2V4aXQKKworCWlmIFsgJFRTX05TVUJURVNUUyAtbmUgMCBdOyB0aGVuCisJCWlmICEgdHNfZ2VuX2RpZmYgfHwgWyAkVFNfTlNVQkZBSUxFRCAtbmUgMCBdOyB0aGVuCisJCQl0c19mYWlsZWQgIiRUU19OU1VCRkFJTEVEIGZyb20gJFRTX05TVUJURVNUUyBzdWItdGVzdHMiCisJCWVsc2UKKwkJCXRzX29rICJhbGwgJFRTX05TVUJURVNUUyBzdWItdGVzdHMgUEFTU0VEIgorCQlmaQorCWZpCisKKwl0c19nZW5fZGlmZiB8fCB0c19mYWlsZWQgIiQxIgorCXRzX29rICIkMSIKK30KKworZnVuY3Rpb24gdHNfZGllIHsKKwl0c19sb2cgIiQxIgorCXRzX2ZpbmFsaXplCit9CisKK2Z1bmN0aW9uIHRzX2NsZWFudXBfb25fZXhpdCB7CisKKwlmb3IgaWR4IGluICQoc2VxIDAgJCgoJHsjVFNfU1VJRF9QUk9HU1sqXX0gLSAxKSkpOyBkbworCQlQUk9HPSR7VFNfU1VJRF9QUk9HU1skaWR4XX0KKwkJY2htb2QgYS1zICRQUk9HICY+IC9kZXYvbnVsbAorCQljaG93biAke1RTX1NVSURfVVNFUlskaWR4XX0uJHtUU19TVUlEX0dST1VQWyRpZHhdfSAkUFJPRyAmPiAvZGV2L251bGwKKwlkb25lCisKKwlmb3IgZGV2IGluICIke1RTX0xPT1BfREVWU1tAXX0iOyBkbworCQl0c19kZXZpY2VfZGVpbml0ICIkZGV2IgorCWRvbmUKKwl1bnNldCBUU19MT09QX0RFVlMKKworCXRzX3Njc2lfZGVidWdfcm1tb2QKK30KKworZnVuY3Rpb24gdHNfaW1hZ2VfbWQ1c3VtIHsKKwlsb2NhbCBpbWc9JHsxOi0iJFRTX09VVERJUi8ke1RTX1RFU1ROQU1FfS5pbWcifQorCWVjaG8gJCgiJFRTX0hFTFBFUl9NRDUiIDwgIiRpbWciKSAkKGJhc2VuYW1lICIkaW1nIikKK30KKworZnVuY3Rpb24gdHNfaW1hZ2VfaW5pdCB7CisJbG9jYWwgbWliPSR7MTotIjUifQkjIHNpemUgaW4gTWlCcworCWxvY2FsIGltZz0kezI6LSIkVFNfT1VURElSLyR7VFNfVEVTVE5BTUV9LmltZyJ9CisKKwlybSAtZiAkaW1nCisJdHJ1bmNhdGUgLXMgIiR7bWlifU0iICIkaW1nIgorCWVjaG8gIiRpbWciCisJcmV0dXJuIDAKK30KKworZnVuY3Rpb24gdHNfcmVnaXN0ZXJfbG9vcF9kZXZpY2UgeworCWxvY2FsIGN0PSR7I1RTX0xPT1BfREVWU1sqXX0KKwlUU19MT09QX0RFVlNbJGN0XT0kMQorfQorCitmdW5jdGlvbiB0c19kZXZpY2VfaW5pdCB7CisJbG9jYWwgaW1nCisJbG9jYWwgZGV2CisKKwlpbWc9JCh0c19pbWFnZV9pbml0ICQxICQyKQorCWRldj0kKCRUU19DTURfTE9TRVRVUCAtLXNob3cgLWYgIiRpbWciKQorCWlmIFsgIiQ/IiAhPSAiMCIgLW8gIiRkZXYiID0gIiIgXTsgdGhlbgorCQl0c19kaWUgIkNhbm5vdCBpbml0IGRldmljZSIKKwlmaQorCisJdHNfcmVnaXN0ZXJfbG9vcF9kZXZpY2UgIiRkZXYiCisJVFNfTE9ERVY9JGRldgorfQorCisjIGNhbGwgZnJvbSB0c19jbGVhbnVwX29uX2V4aXQoKSBvbmx5IGJlY2F1c2Ugb2YgVFNfTE9PUF9ERVZTIG1haW50ZW5hbmNlCitmdW5jdGlvbiB0c19kZXZpY2VfZGVpbml0IHsKKwlsb2NhbCBERVY9IiQxIgorCisJaWYgWyAtYiAiJERFViIgXTsgdGhlbgorCQkkVFNfQ01EX1VNT1VOVCAiJERFViIgJj4gL2Rldi9udWxsCisJCSRUU19DTURfTE9TRVRVUCAtZCAiJERFViIgJj4gL2Rldi9udWxsCisJZmkKK30KKworZnVuY3Rpb24gdHNfdXVpZF9ieV9kZXZuYW1lIHsKKwllY2hvICQoJFRTX0NNRF9CTEtJRCAtcCAtcyBVVUlEIC1vIHZhbHVlICQxKQorfQorCitmdW5jdGlvbiB0c19sYWJlbF9ieV9kZXZuYW1lIHsKKwllY2hvICQoJFRTX0NNRF9CTEtJRCAtcCAtcyBMQUJFTCAtbyB2YWx1ZSAkMSkKK30KKworZnVuY3Rpb24gdHNfZnN0eXBlX2J5X2Rldm5hbWUgeworCWVjaG8gJCgkVFNfQ01EX0JMS0lEIC1wIC1zIFRZUEUgLW8gdmFsdWUgJDEpCit9CisKK2Z1bmN0aW9uIHRzX2RldmljZV9oYXMgeworCWxvY2FsIFRBRz0iJDEiCisJbG9jYWwgVkFMPSIkMiIKKwlsb2NhbCBERVY9IiQzIgorCWxvY2FsIHZsPSIiCisKKwljYXNlICRUQUcgaW4KKwkJIlRZUEUiKSB2bD0kKHRzX2ZzdHlwZV9ieV9kZXZuYW1lICRERVYpOzsKKwkJIkxBQkVMIikgdmw9JCh0c19sYWJlbF9ieV9kZXZuYW1lICRERVYpOzsKKwkJIlVVSUQiKSB2bD0kKHRzX3V1aWRfYnlfZGV2bmFtZSAkREVWKTs7CisJCSopIHJldHVybiAxOzsKKwllc2FjCisKKwlpZiBbICIkdmwiID09ICIkVkFMIiBdOyB0aGVuCisJCXJldHVybiAwCisJZmkKKwlyZXR1cm4gMQorfQorCitmdW5jdGlvbiB0c19kZXZpY2VfaGFzX3V1aWQgeworCXRzX3V1aWRfYnlfZGV2bmFtZSAiJDEiIHwgZWdyZXAgLXEgJ15bMC05YS16XXs4fS1bMC05YS16XXs0fS1bMC05YS16XXs0fS1bMC05YS16XXs0fS1bMC05YS16XXsxMn0kJworCXJldHVybiAkPworfQorCitmdW5jdGlvbiB0c19tb3VudCB7CisJbG9jYWwgb3V0CisJbG9jYWwgcmVzdWx0CisJbG9jYWwgbXNnCisJbG9jYWwgZnMKKwlsb2NhbCBmc19leHA9JDEKKwlzaGlmdAorCisJb3V0PSQoJFRTX0NNRF9NT1VOVCAiJEAiIDI+JjEpCisJcmVzdWx0PSQ/CisJZWNobyAtbiAiJG91dCIgPj4gJFRTX09VVFBVVAorCisJaWYgWyAkcmVzdWx0ICE9IDAgXSBcCisJCSYmIG1zZz0kKGVjaG8gIiRvdXQiIHwgZ3JlcCAtbTEgInVua25vd24gZmlsZXN5c3RlbSB0eXBlIikKKwl0aGVuCisJCSMgc2tpcCBvbmx5IGlmIHJlcG9ydGVkIGZzIGNvcnJlY3RseSBhbmQgaWYgaXQncyBub3QgYXZhaWxhYmxlCisJCWZzPSQoZWNobyAiJG1zZyIgfCBzZWQgLW4gInMvLip0eXBlICdcKC4qXCknJC9cMS9wIikKKwkJWyAiJGZzIiA9ICJmc19leHAiIF0gXAorCQkgJiYgZ3JlcCAtcWUgIltbOnNwYWNlOl1dJHtmc30kIiAvcHJvYy9maWxlc3lzdGVtcyAmPi9kZXYvbnVsbCBcCisJCSB8fCB0c19za2lwICIkbXNnIgorCWZpCisJcmV0dXJuICRyZXN1bHQKK30KKworZnVuY3Rpb24gdHNfaXNfbW91bnRlZCB7CisJbG9jYWwgREVWPSQodHNfY2Fub25pY2FsaXplICIkMSIpCisKKwlncmVwIC1xICRERVYgL3Byb2MvbW91bnRzICYmIHJldHVybiAwCisKKwlpZiBbICIke0RFViMvZGV2L2xvb3AvfSIgIT0gIiRERVYiIF07IHRoZW4KKwkJZ3JlcCAtcSAiL2Rldi9sb29wJHtERVYjL2Rldi9sb29wL30iIC9wcm9jL21vdW50cyAmJiByZXR1cm4gMAorCWZpCisJcmV0dXJuIDEKK30KKworZnVuY3Rpb24gdHNfZnN0YWJfb3BlbiB7CisJZWNobyAiIyA8IS0tIHV0aWwtbGludXggdGVzdCBlbnRyeSIgPj4gL2V0Yy9mc3RhYgorfQorCitmdW5jdGlvbiB0c19mc3RhYl9jbG9zZSB7CisJZWNobyAiIyAtLT4iID4+IC9ldGMvZnN0YWIKK30KKworZnVuY3Rpb24gdHNfZnN0YWJfYWRkbGluZSB7CisJbG9jYWwgU1BFQz0iJDEiCisJbG9jYWwgTU5UPSR7MjotIiRUU19NT1VOVFBPSU5UIn0KKwlsb2NhbCBGUz0kezM6LSJhdXRvIn0KKwlsb2NhbCBPUFQ9JHs0Oi0iZGVmYXVsdHMifQorCisJZWNobyAiJFNQRUMgICAkTU5UICAgJEZTICAgJE9QVCAgIDAgICAwIiA+PiAvZXRjL2ZzdGFiCit9CisKK2Z1bmN0aW9uIHRzX2ZzdGFiX2FkZCB7CisJdHNfZnN0YWJfb3BlbgorCXRzX2ZzdGFiX2FkZGxpbmUgJCoKKwl0c19mc3RhYl9jbG9zZQorfQorCitmdW5jdGlvbiB0c19mc3RhYl9jbGVhbiB7CisJc2VkIC0taW4tcGxhY2UgIgorLyMgPCEtLSB1dGlsLWxpbnV4LyFiCis6YQorLyMgLS0+LyF7CisgIE4KKyAgYmEKK30KK3MvIyA8IS0tIHV0aWwtbGludXguKi0tPi8vOworL14kL2QiIC9ldGMvZnN0YWIKK30KKworZnVuY3Rpb24gdHNfZmRpc2tfY2xlYW4geworCWxvY2FsIERFVk5BTUU9JDEKKworCSMgcmVtb3ZlIG5vbiBjb21wYXJhYmxlIHBhcnRzIG9mIGZkaXNrIG91dHB1dAorCWlmIFsgLW4gIiR7REVWTkFNRX0iIF07IHRoZW4KKwkJc2VkIC1pIC1lICJzQCR7REVWTkFNRX1APHJlbW92ZWQ+QDsiICRUU19PVVRQVVQKKwlmaQorCisJc2VkIC1pIFwKKwkJLWUgJ3MvRGlzayBpZGVudGlmaWVyOi4qL0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+LycgXAorCQktZSAncy9DcmVhdGVkIGEgbmV3LiovQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uLycgXAorCQktZSAncy9eRGV2aWNlW1s6Ymxhbms6XV0qU3RhcnQvRGV2aWNlICAgICAgICAgICAgIFN0YXJ0LycgXAorCQktZSAncy9eRGV2aWNlW1s6Ymxhbms6XV0qQm9vdC9EZXZpY2UgICAgIEJvb3QvJyBcCisJCS1lICdzL1dlbGNvbWUgdG8gZmRpc2suKi9XZWxjb21lIHRvIGZkaXNrIDxyZW1vdmVkPi4vJyBcCisJCS1lICdzL3R5cGVzY3JpcHQgZmlsZS4qL3R5cGVzY3JpcHQgZmlsZSA8cmVtb3ZlZD4uLycgXAorCQktZSAnc0BeXChJL08gc2l6ZSAobWluaW11bS9vcC4qIGJ5dGVzIC9cKSBbMS05XVswLTldKiBAXDEgPHJlbW92ZWQ+IEAnIFwKKwkJJFRTX09VVFBVVAorfQorCitmdW5jdGlvbiB0c19zY3NpX2RlYnVnX2luaXQgeworCWxvY2FsIGRldm5hbWUKKwlsb2NhbCB0CisJVFNfREVWSUNFPSJub25lIgorCisJIyBkcnkgcnVuIGlzIG5vdCByZWFsbHkgcmVsaWFibGUsIHJlYWwgbW9kcHJvYmUgbWF5IHN0aWxsIGZhaWwKKwltb2Rwcm9iZSAtLWRyeS1ydW4gLS1xdWlldCBzY3NpX2RlYnVnICY+L2Rldi9udWxsIFwKKwkJfHwgdHNfc2tpcCAibWlzc2luZyBzY3NpX2RlYnVnIG1vZHVsZSAoZHJ5LXJ1bikiCisKKwkjIHNraXAgaWYgc3RpbGwgaW4gdXNlIG9yIHJlbW92YWwgb2YgbW9kdWxlcyBub3Qgc3VwcG9ydGVkIGF0IGFsbAorCSMgV2UgZG9uJ3Qgd2FudCBhIHNsb3cgdGltZW91dCBoZXJlIHNvIHdlIGRvbid0IHVzZSB0c19zY3NpX2RlYnVnX3JtbW9kIQorCW1vZHByb2JlIC1yIHNjc2lfZGVidWcgJj4vZGV2L251bGwgXAorCQl8fCB0c19za2lwICJjYW5ub3QgcmVtb3ZlIHNjc2lfZGVidWcgbW9kdWxlIChybW1vZCkiCisKKwltb2Rwcm9iZSAtYiBzY3NpX2RlYnVnICIkQCIgJj4vZGV2L251bGwgXAorCQl8fCB0c19za2lwICJjYW5ub3QgbG9hZCBzY3NpX2RlYnVnIG1vZHVsZSAobW9kcHJvYmUpIgorCisJIyBpdCBtaWdodCBiZSBzdGlsbCBub3QgbG9hZGVkLCBtb2Rwcm9iZS5jb25mIG9yIHdoYXRldmVyCisJbHNtb2QgMj4vZGV2L251bGwgfCBncmVwIC1xICJec2NzaV9kZWJ1ZyAiIFwKKwkJfHwgdHNfc2tpcCAic2NzaV9kZWJ1ZyBtb2R1bGUgbm90IGxvYWRlZCAobHNtb2QpIgorCisJdWRldmFkbSBzZXR0bGUKKworCSMgd2FpdCBmb3IgZGV2aWNlIGlmIHVkZXZhZG0gc2V0dGxlIGRvZXMgbm90IHdvcmsKKwlmb3IgdCBpbiAwIDAuMDIgMC4wNSAwLjEgMTsgZG8KKwkJc2xlZXAgJHQKKwkJZGV2bmFtZT0kKGdyZXAgLS13aXRoLWZpbGVuYW1lIHNjc2lfZGVidWcgL3N5cy9ibG9jay8qL2RldmljZS9tb2RlbCkgJiYgYnJlYWsKKwlkb25lCisJWyAtbiAiJHtkZXZuYW1lfSIgXSB8fCB0c19kaWUgInRpbWVvdXQgd2FpdGluZyBmb3Igc2NzaV9kZWJ1ZyBkZXZpY2UiCisKKwlkZXZuYW1lPSQoZWNobyAkZGV2bmFtZSB8IGF3ayAtRiAnLycgJ3twcmludCAkNH0nKQorCVRTX0RFVklDRT0iL2Rldi8ke2Rldm5hbWV9IgorCisJIyBUT0RPIHZhbGlkYXRlIHRoYXQgZGV2aWNlIGlzIHJlYWxseSB1cCwgZm9yIG5vdyBqdXN0IGEgd2FybmluZyBvbiBzdGRlcnIKKwl0ZXN0IC1iICRUU19ERVZJQ0UgfHwgZWNobyAid2FybmluZzogc2NzaV9kZWJ1ZyBkZXZpY2UgaXMgc3RpbGwgZG93biIgPiYyCit9CisKKyMgYXV0b21hdGljYWxseSBjYWxsZWQgb25jZSBpbiB0c19jbGVhbnVwX29uX2V4aXQoKQorZnVuY3Rpb24gdHNfc2NzaV9kZWJ1Z19ybW1vZCB7CisJbG9jYWwgZXJyPTEKKwlsb2NhbCB0CisJbG9jYWwgbGFzdG1zZworCisJIyBSZXR1cm4gZWFybHkgbW9zdCBpbXBvcnRhbnRseSBpbiBjYXNlIHdlIGFyZSBub3Qgcm9vdCBvciB0aGUgbW9kdWxlIGRvZXMKKwkjIG5vdCBleGlzdCBhdCBhbGwuCisJWyAkVUlEIC1lcSAwIF0gfHwgcmV0dXJuIDAKKwlbIC1uICIkVFNfREVWSUNFIiBdIHx8IHJldHVybiAwCisJbHNtb2QgMj4vZGV2L251bGwgfCBncmVwIC1xICJec2NzaV9kZWJ1ZyAiIHx8IHJldHVybiAwCisKKwl1ZGV2YWRtIHNldHRsZQorCisJIyB3YWl0IGZvciBzdWNjZXNzZnVsIHJtbW9kIGlmIHVkZXZhZG0gc2V0dGxlIGRvZXMgbm90IHdvcmsKKwlmb3IgdCBpbiAwIDAuMDIgMC4wNSAwLjEgMTsgZG8KKwkJc2xlZXAgJHQKKwkJbGFzdG1zZz0iJChtb2Rwcm9iZSAtciBzY3NpX2RlYnVnIDI+JjEpIiAmJiBlcnI9MCAmJiBicmVhaworCWRvbmUKKworCWlmIFsgIiRlcnIiID0gIjEiIF07IHRoZW4KKwkJdHNfbG9nICJybW1vZCBmYWlsZWQ6ICckbGFzdG1zZyciCisJCXRzX2xvZyAidGltZW91dCByZW1vdmluZyBzY3NpX2RlYnVnIG1vZHVsZSAocm1tb2QpIgorCQlyZXR1cm4gMQorCWZpCisJaWYgbHNtb2QgfCBncmVwIC1xICJec2NzaV9kZWJ1ZyAiOyB0aGVuCisJCXRzX2xvZyAiQlVHISBzY3NpX2RlYnVnIHN0aWxsIGxvYWRlZCIKKwkJcmV0dXJuIDEKKwlmaQorCisJIyBUT0RPIERvIHdlIG5lZWQgdG8gdmFsaWRhdGUgdGhhdCBhbGwgZGV2aWNlcyBhcmUgZ29uZT8KKwl1ZGV2YWRtIHNldHRsZQorCXRlc3QgLWIgIiRUU19ERVZJQ0UiICYmIGVjaG8gIndhcm5pbmc6IHNjc2lfZGVidWcgZGV2aWNlIGlzIHN0aWxsIHVwIiA+JjIKKworCSMgVE9ETyB1bnNldCBUU19ERVZJQ0UsIGNoZWNrIHRoYXQgbm9ib2R5IHVzZXMgaXQgbGF0ZXIsIGUuZy4gdHNfZmRpc2tfY2xlYW4KKworCXJldHVybiAwCit9CisKK2Z1bmN0aW9uIHRzX3Jlc29sdmVfaG9zdCB7CisJbG9jYWwgaG9zdD0iJDEiCisJbG9jYWwgdG1wCisKKwkjIGN1cnJlbnRseSB3ZSBqdXN0IHJlc29sdmUgZGVmYXVsdCByZWNvcmRzIChtaWdodCBiZSAiQSIsIGlwdjQgb25seSkKKwlpZiB0eXBlICJkaWciID4vZGV2L251bGwgMj4mMTsgdGhlbgorCQl0bXA9JChkaWcgIiRob3N0IiArc2hvcnQgMj4vZGV2L251bGwpIHx8IHJldHVybiAxCisJZWxpZiB0eXBlICJuc2xvb2t1cCIgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisJCXRtcD0kKG5zbG9va3VwICIkaG9zdCIgMj4vZGV2L251bGwpIHx8IHJldHVybiAxCisJCXRtcD0kKGVjaG8gIiR0bXAifCBncmVwIC1BMSAiXk5hbWU6InwgZ3JlcCAiXkFkZHJlc3M6InwgY3V0IC1kIiAiIC1mMikKKwllbGlmIHR5cGUgImhvc3QiID4vZGV2L251bGwgMj4mMTsgdGhlbgorCQl0bXA9JChob3N0ICIkaG9zdCIgMj4vZGV2L251bGwpIHx8IHJldHVybiAxCisJCXRtcD0kKGVjaG8gIiR0bXAiIHwgZ3JlcCAiIGhhcyBhZGRyZXNzICIgfCBjdXQgLWQgIiAiIC1mNCkKKwllbGlmIHR5cGUgImdldGVudCIgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisJCXRtcD0kKGdldGVudCBhaG9zdHMgIiRob3N0IiAyPi9kZXYvbnVsbCkgfHwgcmV0dXJuIDEKKwkJdG1wPSQoZWNobyAiJHRtcCIgfCBjdXQgLWQgIiAiIC1mIDEgfCBzb3J0IC11KQorCWZpCisKKwkjIHdlIHJldHVybiAxIGlmIHRtcCBpcyBlbXB0eQorCXRlc3QgLW4gIiR0bXAiIHx8IHJldHVybiAxCisJZWNobyAiJHRtcCIgfCBzb3J0IC1SIHwgaGVhZCAtbiAxCit9CisKKyMgbGlzdGVuIHRvIHVuaXggc29ja2V0IChiYWNrZ3JvdW5kIHNvY2F0KQorZnVuY3Rpb24gdHNfaW5pdF9zb2NrZXRfdG9fZmlsZSB7CisJbG9jYWwgc29ja2V0PSQxCisJbG9jYWwgb3V0ZmlsZT0kMgorCWxvY2FsIHBpZD0iMCIKKworCXRzX2NoZWNrX3Byb2cgInNvY2F0IgorCXJtIC1mICIkc29ja2V0IiAiJG91dGZpbGUiCisKKwkjIGlmIHNvY2F0IGlzIHRvbyBvbGQgZm9yIHRoZXNlIG9wdGlvbnMgd2UnbGwgc2tpcCBpdCBiZWxvdworCXNvY2F0IC11IFVOSVgtTElTVEVOOiRzb2NrZXQsZm9yayxtYXgtY2hpbGRyZW49MSxiYWNrbG9nPTEyOCBcCisJCVNURE9VVCA+ICIkb3V0ZmlsZSIgMj4vZGV2L251bGwgJgorCXBpZD0kIQorCisJIyBjaGVjayBmb3IgcnVubmluZyBiYWNrZ3JvdW5kIHByb2Nlc3MKKwlpZiBbICIkcGlkIiAtbGUgIjAiIF0gfHwgISBraWxsIC1zIDAgIiRwaWQiICY+L2Rldi9udWxsOyB0aGVuCisJCXRzX3NraXAgInVuYWJsZSB0byBydW4gc29jYXQiCisJZmkKKwkjIHdhaXQgZm9yIHRoZSBzb2NrZXQgbGlzdGVuZXIKKwlpZiAhIHNvY2F0IC11IC9kZXYvbnVsbCBVTklYLUNPTk5FQ1Q6JHNvY2tldCxyZXRyeT0zMCxpbnRlcnZhbD0wLjEgJj4vZGV2L251bGw7IHRoZW4KKwkJa2lsbCAtOSAiJHBpZCIgJj4vZGV2L251bGwKKwkJdHNfc2tpcCAidGltZW91dCB3YWl0aW5nIGZvciBzb2NhdCBzb2NrZXQiCisJZmkKKwkjIGNoZWNrIHNvY2tldCBhZ2FpbgorCWlmICEgc29jYXQgLXUgL2Rldi9udWxsIFVOSVgtQ09OTkVDVDokc29ja2V0ICY+L2Rldi9udWxsOyB0aGVuCisJCWtpbGwgLTkgIiRwaWQiICY+L2Rldi9udWxsCisJCXRzX3NraXAgInNvY2F0IHNvY2tldCBzdG9wcGVkIGxpc3RlbmluZyIKKwlmaQorfQorCitmdW5jdGlvbiB0c19oYXNfbXRhYl9zdXBwb3J0IHsKKwlncmVwIC1xICcjZGVmaW5lIFVTRV9MSUJNT1VOVF9TVVBQT1JUX01UQUInICR7dG9wX2J1aWxkZGlyfS9jb25maWcuaAorCWlmIFsgJD8gPT0gMCBdOyB0aGVuCisJCWVjaG8gInllcyIKKwllbHNlCisJCWVjaG8gIm5vIgorCWZpCit9CisKK2Z1bmN0aW9uIHRzX2hhc19uY3Vyc2VzX3N1cHBvcnQgeworCWdyZXAgLXEgJyNkZWZpbmUgSEFWRV9MSUJOQ1VSU0VTJyAke3RvcF9idWlsZGRpcn0vY29uZmlnLmgKKwlpZiBbICQ/ID09IDAgXTsgdGhlbgorCQllY2hvICJ5ZXMiCisJZWxzZQorCQllY2hvICJubyIKKwlmaQorfQorCmRpZmYgLS1naXQgYS90ZXN0cy9oZWxwZXJzL01ha2Vtb2R1bGUuYW0gYi90ZXN0cy9oZWxwZXJzL01ha2Vtb2R1bGUuYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzA3MGE4YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2hlbHBlcnMvTWFrZW1vZHVsZS5hbQpAQCAtMCwwICsxLDIwIEBACisKK2NoZWNrX1BST0dSQU1TICs9IHRlc3RfYnl0ZXN3YXAKK3Rlc3RfYnl0ZXN3YXBfU09VUkNFUyA9IHRlc3RzL2hlbHBlcnMvdGVzdF9ieXRlc3dhcC5jCisKK2NoZWNrX1BST0dSQU1TICs9IHRlc3RfbWQ1Cit0ZXN0X21kNV9TT1VSQ0VTID0gdGVzdHMvaGVscGVycy90ZXN0X21kNS5jIGxpYi9tZDUuYworCitjaGVja19QUk9HUkFNUyArPSB0ZXN0X3BhdGhuYW1lcwordGVzdF9wYXRobmFtZXNfU09VUkNFUyA9IHRlc3RzL2hlbHBlcnMvdGVzdF9wYXRobmFtZXMuYworCitjaGVja19QUk9HUkFNUyArPSB0ZXN0X3N5c2luZm8KK3Rlc3Rfc3lzaW5mb19TT1VSQ0VTID0gdGVzdHMvaGVscGVycy90ZXN0X3N5c2luZm8uYworCitjaGVja19QUk9HUkFNUyArPSB0ZXN0X3NpZ3JlY2VpdmUKK3Rlc3Rfc2lncmVjZWl2ZV9TT1VSQ0VTID0gdGVzdHMvaGVscGVycy90ZXN0X3NpZ3JlY2VpdmUuYwordGVzdF9zaWdyZWNlaXZlX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCisKK2NoZWNrX1BST0dSQU1TICs9IHRlc3RfdGlvY3N0aQordGVzdF90aW9jc3RpX1NPVVJDRVMgPSB0ZXN0cy9oZWxwZXJzL3Rlc3RfdGlvY3N0aS5jCisKZGlmZiAtLWdpdCBhL3Rlc3RzL2hlbHBlcnMvdGVzdF9ieXRlc3dhcC5jIGIvdGVzdHMvaGVscGVycy90ZXN0X2J5dGVzd2FwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGI5OTZlMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2hlbHBlcnMvdGVzdF9ieXRlc3dhcC5jCkBAIC0wLDAgKzEsMTE0IEBACisvKgorICogVGhpcyB0ZXN0aW5nIHByb2dyYW0gbWFrZXMgc3VyZSB0aGUgYnl0ZXN3YXAgZnVuY3Rpb25zIHdvcmsKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDAgYnkgVGhlb2RvcmUgVHMnby4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgUHVibGljCisgKiBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHRpbWUuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKworI2luY2x1ZGUgImJpdG9wcy5oIgorCit1aW50MTZfdCBhcnkxNltdID0geworCTB4MDAwMSwgMHgwMTAwLAorCTB4MTIzNCwgMHgzNDEyLAorCTB4ZmYwMCwgMHgwMGZmLAorCTB4NDAwMCwgMHgwMDQwLAorCTB4ZmVmZiwgMHhmZmZlLAorCTB4MDAwMCwgMHgwMDAwCisJfTsKKwordWludDMyX3QgYXJ5MzJbXSA9IHsKKwkweDAwMDAwMDAxLCAweDAxMDAwMDAwLAorCTB4ODAwMDAwMDAsIDB4MDAwMDAwODAsCisJMHgxMjM0NTY3OCwgMHg3ODU2MzQxMiwKKwkweGZmZmYwMDAwLCAweDAwMDBmZmZmLAorCTB4MDBmZjAwMDAsIDB4MDAwMGZmMDAsCisJMHhmZjAwMDAwMCwgMHgwMDAwMDBmZiwKKwkweDAwMDAwMDAwLCAweDAwMDAwMDAwCisJfTsKKwordWludDY0X3QgYXJ5NjRbXSA9IHsKKwkweDAwMDAwMDAwMDAwMDAwMDEsIDB4MDEwMDAwMDAwMDAwMDAwMCwKKwkweDgwMDAwMDAwMDAwMDAwMDAsIDB4MDAwMDAwMDAwMDAwMDA4MCwKKwkweDEyMzQ1Njc4MTIzNDU2NzgsIDB4Nzg1NjM0MTI3ODU2MzQxMiwKKwkweGZmZmZmZmZmMDAwMDAwMDAsIDB4MDAwMDAwMDBmZmZmZmZmZiwKKwkweDAwZmYwMDAwMDAwMDAwMDAsIDB4MDAwMDAwMDAwMDAwZmYwMCwKKwkweGZmMDAwMDAwMDAwMDAwMDAsIDB4MDAwMDAwMDAwMDAwMDBmZiwKKwkweDAwMDAwMDAwMDAwMDAwMDAsIDB4MDAwMDAwMDAwMDAwMDAwMAorCX07CisKK2ludCBtYWluKHZvaWQpCit7CisJaW50CWk7CisJaW50CWVycm9ycyA9IDA7CisKKwlwcmludGYoIlRlc3Rpbmcgc3dhYjE2XG4iKTsKKwlpPTA7CisJZG8geworCQlwcmludGYoInN3YWIxNigweCUwNCJQUkl4MTYiKSA9IDB4JTA0IlBSSXgxNiJcbiIsCisJCQkJYXJ5MTZbaV0sIHN3YWIxNihhcnkxNltpXSkpOworCQlpZiAoc3dhYjE2KGFyeTE2W2ldKSAhPSBhcnkxNltpKzFdKSB7CisJCQlwcmludGYoIkVycm9yISEhICAgJTA0IlBSSXgxNiIgIT0gJTA0IlBSSXgxNiJcbiIsCisJCQkgICAgICAgc3dhYjE2KGFyeTE2W2ldKSwgYXJ5MTZbaSsxXSk7CisJCQllcnJvcnMrKzsKKwkJfQorCQlpZiAoc3dhYjE2KGFyeTE2W2krMV0pICE9IGFyeTE2W2ldKSB7CisJCQlwcmludGYoIkVycm9yISEhICAgJTA0IlBSSXgxNiIgIT0gJTA0IlBSSXgxNiJcbiIsCisJCQkgICAgICAgc3dhYjE2KGFyeTE2W2krMV0pLCBhcnkxNltpXSk7CisJCQllcnJvcnMrKzsKKwkJfQorCQlpICs9IDI7CisJfSB3aGlsZSAoYXJ5MTZbaV0gIT0gMCk7CisKKwlwcmludGYoIlRlc3Rpbmcgc3dhYjMyXG4iKTsKKwlpID0gMDsKKwlkbyB7CisJCXByaW50Zigic3dhYjMyKDB4JTA4IlBSSXgzMiIpID0gMHglMDgiUFJJeDMyIlxuIiwKKwkJCQlhcnkzMltpXSwgc3dhYjMyKGFyeTMyW2ldKSk7CisJCWlmIChzd2FiMzIoYXJ5MzJbaV0pICE9IGFyeTMyW2krMV0pIHsKKwkJCXByaW50ZigiRXJyb3IhISEgICAlMDQiUFJJeDMyIiAhPSAlMDQiUFJJeDMyIlxuIiwKKwkJCQlzd2FiMzIoYXJ5MzJbaV0pLCBhcnkzMltpKzFdKTsKKwkJCWVycm9ycysrOworCQl9CisJCWlmIChzd2FiMzIoYXJ5MzJbaSsxXSkgIT0gYXJ5MzJbaV0pIHsKKwkJCXByaW50ZigiRXJyb3IhISEgICAlMDQiUFJJeDMyIiAhPSAlMDQiUFJJeDMyIlxuIiwKKwkJCSAgICAgICBzd2FiMzIoYXJ5MzJbaSsxXSksIGFyeTMyW2ldKTsKKwkJCWVycm9ycysrOworCQl9CisJCWkgKz0gMjsKKwl9IHdoaWxlIChhcnkzMltpXSAhPSAwKTsKKworCXByaW50ZigiVGVzdGluZyBzd2FiNjRcbiIpOworCWkgPSAwOworCWRvIHsKKwkJcHJpbnRmKCJzd2FiNjQoMHglMDE2IlBSSXg2NCIpID0gMHglMDE2IlBSSXg2NCJcbiIsCisJCQkJYXJ5NjRbaV0sIHN3YWI2NChhcnk2NFtpXSkpOworCQlpZiAoc3dhYjY0KGFyeTY0W2ldKSAhPSBhcnk2NFtpKzFdKSB7CisJCQlwcmludGYoIkVycm9yISEhICAgJTAxNiJQUkl4NjQiICE9ICUwMTYiUFJJeDY0IlxuIiwKKwkJCQlzd2FiNjQoYXJ5NjRbaV0pLCBhcnk2NFtpKzFdKTsKKwkJCWVycm9ycysrOworCQl9CisJCWlmIChzd2FiNjQoYXJ5NjRbaSsxXSkgIT0gYXJ5NjRbaV0pIHsKKwkJCXByaW50ZigiRXJyb3IhISEgICAlMDE2IlBSSXg2NCIgIT0gJTAxNiJQUkl4NjQiXG4iLAorCQkJICAgICAgIHN3YWI2NChhcnk2NFtpKzFdKSwgYXJ5NjRbaV0pOworCQkJZXJyb3JzKys7CisJCX0KKwkJaSArPSAyOworCX0gd2hpbGUgKGFyeTY0W2ldICE9IDApOworCisJaWYgKCFlcnJvcnMpCisJCXByaW50ZigiTm8gZXJyb3JzIGZvdW5kIGluIHRoZSBieXRlc3dhcCBpbXBsZW1lbnRhdGlvblxuIik7CisKKwlyZXR1cm4gZXJyb3JzOworfQpkaWZmIC0tZ2l0IGEvdGVzdHMvaGVscGVycy90ZXN0X21kNS5jIGIvdGVzdHMvaGVscGVycy90ZXN0X21kNS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3MTU4MGUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9oZWxwZXJzL3Rlc3RfbWQ1LmMKQEAgLTAsMCArMSwyOSBAQAorCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgIm1kNS5oIgorCitpbnQgbWFpbih2b2lkKQoreworCWludCBpLCByZXQ7CisJc3RydWN0IE1ENUNvbnRleHQgY3R4OworCXVuc2lnbmVkIGNoYXIgZGlnZXN0W01ENUxFTkdUSF07CisJdW5zaWduZWQgY2hhciBidWZbQlVGU0laXTsKKworCU1ENUluaXQoICZjdHggKTsKKworCXdoaWxlKCFmZW9mKHN0ZGluKSAmJiAhZmVycm9yKHN0ZGluKSkgeworCQlyZXQgPSBmcmVhZChidWYsIDEsIHNpemVvZihidWYpLCBzdGRpbik7CisJCWlmIChyZXQpCisJCQlNRDVVcGRhdGUoICZjdHgsIGJ1ZiwgcmV0ICk7CisJfQorCisJZmNsb3NlKHN0ZGluKTsKKwlNRDVGaW5hbCggZGlnZXN0LCAmY3R4ICk7CisKKwlmb3IgKGkgPSAwOyBpIDwgTUQ1TEVOR1RIOyBpKyspCisJCXByaW50ZiggIiUwMngiLCBkaWdlc3RbaV0gKTsKKwlwcmludGYoIlxuIik7CisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS90ZXN0cy9oZWxwZXJzL3Rlc3RfcGF0aG5hbWVzLmMgYi90ZXN0cy9oZWxwZXJzL3Rlc3RfcGF0aG5hbWVzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmM5ZWM1NQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2hlbHBlcnMvdGVzdF9wYXRobmFtZXMuYwpAQCAtMCwwICsxLDg3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisgKgorICogVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisKK3N0cnVjdCBobHBQYXRoCit7CisJY29uc3QgY2hhciAqbmFtZTsKKwljb25zdCBjaGFyICpwYXRoOworfTsKKworI2RlZmluZSBERUZfSExQUEFUSChfcCkJCXsgI19wLCBfcCB9CisKK3N0cnVjdCBobHBQYXRoIHBhdGhzW10gPQoreworCURFRl9ITFBQQVRIKF9QQVRIX0RFRlBBVEgpLAorCURFRl9ITFBQQVRIKF9QQVRIX0RFRlBBVEhfUk9PVCksCisJREVGX0hMUFBBVEgoX1BBVEhfREVWX0xPT1ApLAorCURFRl9ITFBQQVRIKF9QQVRIX1dUTVBMT0NLKSwKKwlERUZfSExQUEFUSChfUEFUSF9IVVNITE9HSU4pLAorCURFRl9ITFBQQVRIKF9QQVRIX01BSUxESVIpLAorCURFRl9ITFBQQVRIKF9QQVRIX01PVERGSUxFKSwKKwlERUZfSExQUEFUSChfUEFUSF9OT0xPR0lOKSwKKwlERUZfSExQUEFUSChfUEFUSF9MT0dJTiksCisJREVGX0hMUFBBVEgoX1BBVEhfUEFTU1dEKSwKKwlERUZfSExQUEFUSChfUEFUSF9HU0hBRE9XKSwKKwlERUZfSExQUEFUSChfUEFUSF9HUk9VUCksCisJREVGX0hMUFBBVEgoX1BBVEhfU0hBRE9XX1BBU1NXRCksCisJREVGX0hMUFBBVEgoX1BBVEhfV09SRFMpLAorCURFRl9ITFBQQVRIKF9QQVRIX1dPUkRTX0FMVCksCisJREVGX0hMUFBBVEgoX1BBVEhfRklMRVNZU1RFTVMpLAorCURFRl9ITFBQQVRIKF9QQVRIX1BST0NfU1dBUFMpLAorCURFRl9ITFBQQVRIKF9QQVRIX1BST0NfRklMRVNZU1RFTVMpLAorCURFRl9ITFBQQVRIKF9QQVRIX01PVU5URUQpLAorCURFRl9ITFBQQVRIKF9QQVRIX01OVFRBQiksCisJREVGX0hMUFBBVEgoX1BBVEhfREVWX0JZTEFCRUwpLAorCURFRl9ITFBQQVRIKF9QQVRIX0RFVl9CWVVVSUQpLAorCXsgTlVMTCwgTlVMTCB9Cit9OworCitpbnQKK21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCXN0cnVjdCBobHBQYXRoICpwOworCisJaWYgKGFyZ2MgPT0gMSkgeworCQlmb3IgKHAgPSBwYXRoczsgcC0+bmFtZTsgcCsrKQorCQkJcHJpbnRmKCIlMjBzICVzXG4iLCBwLT5uYW1lLCBwLT5wYXRoKTsKKwkJZXhpdChFWElUX1NVQ0NFU1MpOworCX0gZWxzZSB7CisJCWlmIChzdHJjbXAoYXJndlsxXSwgIi0taGVscCIpID09IDAgfHwgc3RyY21wKGFyZ3ZbMV0sICItaCIpID09IDApIHsKKwkJCXByaW50ZigiJXMgPG9wdGlvbj5cbiIsIGFyZ3ZbMF0pOworCQkJZnB1dHMoIm9wdGlvbnM6XG4iLCBzdGRvdXQpOworCQkJZm9yIChwID0gcGF0aHM7IHAtPm5hbWU7IHArKykKKwkJCQlwcmludGYoIlx0JXNcbiIsIHAtPm5hbWUpOworCQkJZXhpdChFWElUX1NVQ0NFU1MpOworCQl9CisKKwkJZm9yIChwID0gcGF0aHM7IHAtPm5hbWU7IHArKykgeworCQkJaWYgKHN0cmNtcChwLT5uYW1lLCBhcmd2WzFdKSA9PSAwKSB7CisJCQkJcHJpbnRmKCIlc1xuIiwgcC0+cGF0aCk7CisJCQkJZXhpdChFWElUX1NVQ0NFU1MpOworCQkJfQorCQl9CisJfQorCisJZXhpdChFWElUX0ZBSUxVUkUpOworfQorCmRpZmYgLS1naXQgYS90ZXN0cy9oZWxwZXJzL3Rlc3Rfc2lncmVjZWl2ZS5jIGIvdGVzdHMvaGVscGVycy90ZXN0X3NpZ3JlY2VpdmUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMmI1NjNhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvaGVscGVycy90ZXN0X3NpZ3JlY2VpdmUuYwpAQCAtMCwwICsxLDE4MSBAQAorLyoKKyAqIHRlc3Rfc2lncmVjZWl2ZSAtIHdhaXQgZm9yIHNpZ25hbCBhbmQgZXhpdCB3aXRoIHZhbHVlIG9mIGl0CisgKgorICogV3JpdHRlbiBieSBTYW1pIEtlcm9sYSA8a2Vyb2xhc2FAaWtpLmZpPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3b3VsZCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworICogd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyAqIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisgKi8KKworI2luY2x1ZGUgPGVyci5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHB3ZC5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3lzL3NlbGVjdC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKworI2RlZmluZSBURVNUX1NJR1JFQ0VJVkVfRkFJTFVSRSAwCisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKEZJTEUgKm91dCkKK3sKKwlmcHV0cygiVXNhZ2U6IHRlc3Rfc2lncmVjZWl2ZSBbLXN8LS1zZXR1aWQgPGxvZ2lufHVpZD5dXG4iLCBvdXQpOworCWV4aXQoVEVTVF9TSUdSRUNFSVZFX0ZBSUxVUkUpOworfQorCitzdGF0aWMgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkKK3ZvaWQgZXhpdGVyKGludCBzaWdubyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSksCisJICAgIHNpZ2luZm9fdCAqaW5mbywKKwkgICAgdm9pZCAqY29udGV4dCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJaW50IHJldCA9IGluZm8tPnNpX3NpZ25vOworCisJaWYgKGluZm8tPnNpX2NvZGUgPT0gU0lfUVVFVUUgJiYgaW5mby0+c2lfdmFsdWUuc2l2YWxfaW50ICE9IDApCisJCXJldCA9IGluZm8tPnNpX3ZhbHVlLnNpdmFsX2ludDsKKwlfZXhpdChyZXQpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJc3RydWN0IHNpZ2FjdGlvbiBzaWdhY3Q7CisJZmRfc2V0IHJmZHM7CisJc3RydWN0IHRpbWV2YWwgdGltZW91dDsKKwljaGFyICp1c2VyID0gTlVMTDsKKwlpbnQgYzsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsic2V0dWlkIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdzJ30sCisJCXtOVUxMLCAwLCBOVUxMLCAwfQorCX07CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiczpoIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ3MnOgorCQkJdXNlciA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQl9CisKKwlpZiAodXNlcikgeworCQlzdHJ1Y3QgcGFzc3dkICpwdzsKKwkJdWlkX3QgdWlkOworCisJCXB3ID0gZ2V0cHduYW0odXNlcik7CisJCWlmIChwdykKKwkJCXVpZCA9IHB3LT5wd191aWQ7CisJCWVsc2UKKwkJCXVpZCA9IHN0cnRvdTMyX29yX2Vycih1c2VyLCAiZmFpbGVkIHRvIHBhcnNlIHVpZCIpOworCQlpZiAoc2V0dWlkKHVpZCkgPCAwKQorCQkJZXJyKFRFU1RfU0lHUkVDRUlWRV9GQUlMVVJFLCAic2V0dWlkIGZhaWxlZCIpOworCX0KKworCXNpZ2VtcHR5c2V0KCZzaWdhY3Quc2FfbWFzayk7CisJc2lnYWN0LnNhX2ZsYWdzID0gU0FfU0lHSU5GTzsKKwlzaWdhY3Quc2Ffc2lnYWN0aW9uID0gZXhpdGVyOworCXRpbWVvdXQudHZfc2VjID0gNTsKKwl0aW1lb3V0LnR2X3VzZWMgPSAwOworCisJc2lnYWN0aW9uKFNJR0lOVCwgJnNpZ2FjdCwgTlVMTCk7CisJc2lnYWN0aW9uKFNJR1FVSVQsICZzaWdhY3QsIE5VTEwpOworCXNpZ2FjdGlvbihTSUdJTEwsICZzaWdhY3QsIE5VTEwpOworI2lmZGVmIFNJR1RSQVAKKwlzaWdhY3Rpb24oU0lHVFJBUCwgJnNpZ2FjdCwgTlVMTCk7CisjZW5kaWYKKwlzaWdhY3Rpb24oU0lHQUJSVCwgJnNpZ2FjdCwgTlVMTCk7CisjaWZkZWYgU0lHSU9UCisJc2lnYWN0aW9uKFNJR0lPVCwgJnNpZ2FjdCwgTlVMTCk7CisjZW5kaWYKKyNpZmRlZiBTSUdFTVQKKwlzaWdhY3Rpb24oU0lHRU1ULCAmc2lnYWN0LCBOVUxMKTsKKyNlbmRpZgorI2lmZGVmIFNJR0JVUworCXNpZ2FjdGlvbihTSUdCVVMsICZzaWdhY3QsIE5VTEwpOworI2VuZGlmCisJc2lnYWN0aW9uKFNJR0ZQRSwgJnNpZ2FjdCwgTlVMTCk7CisJc2lnYWN0aW9uKFNJR1VTUjEsICZzaWdhY3QsIE5VTEwpOworCXNpZ2FjdGlvbihTSUdTRUdWLCAmc2lnYWN0LCBOVUxMKTsKKwlzaWdhY3Rpb24oU0lHVVNSMiwgJnNpZ2FjdCwgTlVMTCk7CisJc2lnYWN0aW9uKFNJR1BJUEUsICZzaWdhY3QsIE5VTEwpOworCXNpZ2FjdGlvbihTSUdBTFJNLCAmc2lnYWN0LCBOVUxMKTsKKwlzaWdhY3Rpb24oU0lHVEVSTSwgJnNpZ2FjdCwgTlVMTCk7CisjaWZkZWYgU0lHU1RLRkxUCisJc2lnYWN0aW9uKFNJR1NUS0ZMVCwgJnNpZ2FjdCwgTlVMTCk7CisjZW5kaWYKKwlzaWdhY3Rpb24oU0lHQ0hMRCwgJnNpZ2FjdCwgTlVMTCk7CisjaWZkZWYgU0lHQ0xECisJc2lnYWN0aW9uKFNJR0NMRCwgJnNpZ2FjdCwgTlVMTCk7CisjZW5kaWYKKwlzaWdhY3Rpb24oU0lHQ09OVCwgJnNpZ2FjdCwgTlVMTCk7CisJc2lnYWN0aW9uKFNJR1RTVFAsICZzaWdhY3QsIE5VTEwpOworCXNpZ2FjdGlvbihTSUdUVElOLCAmc2lnYWN0LCBOVUxMKTsKKwlzaWdhY3Rpb24oU0lHVFRPVSwgJnNpZ2FjdCwgTlVMTCk7CisjaWZkZWYgU0lHVVJHCisJc2lnYWN0aW9uKFNJR1VSRywgJnNpZ2FjdCwgTlVMTCk7CisjZW5kaWYKKyNpZmRlZiBTSUdYQ1BVCisJc2lnYWN0aW9uKFNJR1hDUFUsICZzaWdhY3QsIE5VTEwpOworI2VuZGlmCisjaWZkZWYgU0lHWEZTWgorCXNpZ2FjdGlvbihTSUdYRlNaLCAmc2lnYWN0LCBOVUxMKTsKKyNlbmRpZgorI2lmZGVmIFNJR1ZUQUxSTQorCXNpZ2FjdGlvbihTSUdWVEFMUk0sICZzaWdhY3QsIE5VTEwpOworI2VuZGlmCisjaWZkZWYgU0lHUFJPRgorCXNpZ2FjdGlvbihTSUdQUk9GLCAmc2lnYWN0LCBOVUxMKTsKKyNlbmRpZgorI2lmZGVmIFNJR1dJTkNICisJc2lnYWN0aW9uKFNJR1dJTkNILCAmc2lnYWN0LCBOVUxMKTsKKyNlbmRpZgorI2lmZGVmIFNJR0lPCisJc2lnYWN0aW9uKFNJR0lPLCAmc2lnYWN0LCBOVUxMKTsKKyNlbmRpZgorI2lmZGVmIFNJR1BPTEwKKwlzaWdhY3Rpb24oU0lHUE9MTCwgJnNpZ2FjdCwgTlVMTCk7CisjZW5kaWYKKyNpZmRlZiBTSUdJTkZPCisJc2lnYWN0aW9uKFNJR0lORk8sICZzaWdhY3QsIE5VTEwpOworI2VuZGlmCisjaWZkZWYgU0lHTE9TVAorCXNpZ2FjdGlvbihTSUdMT1NULCAmc2lnYWN0LCBOVUxMKTsKKyNlbmRpZgorI2lmZGVmIFNJR1BXUgorCXNpZ2FjdGlvbihTSUdQV1IsICZzaWdhY3QsIE5VTEwpOworI2VuZGlmCisjaWZkZWYgU0lHVU5VU0VECisJc2lnYWN0aW9uKFNJR1VOVVNFRCwgJnNpZ2FjdCwgTlVMTCk7CisjZW5kaWYKKyNpZmRlZiBTSUdTWVMKKwlzaWdhY3Rpb24oU0lHU1lTLCAmc2lnYWN0LCBOVUxMKTsKKyNlbmRpZgorI2lmZGVmIFNJR1JUTUlOCisJc2lnYWN0aW9uKFNJR1JUTUlOLCAmc2lnYWN0LCBOVUxMKTsKKwlzaWdhY3Rpb24oU0lHUlRNQVgsICZzaWdhY3QsIE5VTEwpOworI2VuZGlmCisJLyogS2VlcCBTSUdIVVAgbGFzdCwgdGhlIGJpdCBpdCBmbGlwcyB0ZWxscyB0byBjaGVjayBzY3JpcHQgdGhlCisJICogaGVscGVyIGlzIHJlYWR5IHRvIGJlIGtpbGxlZC4gICovCisJc2lnYWN0aW9uKFNJR0hVUCwgJnNpZ2FjdCwgTlVMTCk7CisKKwlGRF9aRVJPKCZyZmRzKTsKKwlGRF9TRVQoU1RESU5fRklMRU5PLCAmcmZkcyk7CisJc2VsZWN0KDAsICZyZmRzLCBOVUxMLCBOVUxMLCAmdGltZW91dCk7CisKKwlleGl0KFRFU1RfU0lHUkVDRUlWRV9GQUlMVVJFKTsKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL2hlbHBlcnMvdGVzdF9zeXNpbmZvLmMgYi90ZXN0cy9oZWxwZXJzL3Rlc3Rfc3lzaW5mby5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlN2JjMDgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9oZWxwZXJzL3Rlc3Rfc3lzaW5mby5jCkBAIC0wLDAgKzEsMTI5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisgKgorICogVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorCit0eXBlZGVmIHN0cnVjdCB7CisJY29uc3QgY2hhcgkqbmFtZTsKKwlpbnQJCSgqZm5jKSh2b2lkKTsKK30gbW50SGxwZm5jOworCitzdGF0aWMgaW50IGhscF93b3Jkc2l6ZSh2b2lkKQoreworCXByaW50ZigiJXp1XG4iLCBDSEFSX0JJVCAqIHNpemVvZih2b2lkKikpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGhscF9lbmRpYW5uZXNzKHZvaWQpCit7CisjaWYgIWRlZmluZWQoV09SRFNfQklHRU5ESUFOKQorCXByaW50ZigiTEVcbiIpOworI2Vsc2UKKwlwcmludGYoIkJFXG4iKTsKKyNlbmRpZgorCXJldHVybiAwOworfQorCisKK3N0YXRpYyBpbnQgaGxwX3BhZ2VzaXplKHZvaWQpCit7CisJcHJpbnRmKCIlZFxuIiwgZ2V0cGFnZXNpemUoKSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaGxwX2ludF9tYXgodm9pZCkKK3sKKwlwcmludGYoIiVkXG4iLCBJTlRfTUFYKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBobHBfdWludF9tYXgodm9pZCkKK3sKKwlwcmludGYoIiV1XG4iLCBVSU5UX01BWCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaGxwX2xvbmdfbWF4KHZvaWQpCit7CisJcHJpbnRmKCIlbGRcbiIsIExPTkdfTUFYKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBobHBfdWxvbmdfbWF4KHZvaWQpCit7CisJcHJpbnRmKCIlbHVcbiIsIFVMT05HX01BWCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaGxwX3Vsb25nX21heDMyKHZvaWQpCit7CisjaWYgX19XT1JEU0laRSA9PSA2NAorCXByaW50ZigiJWx1XG4iLCBVTE9OR19NQVggPj4gMzIpOworI2Vsc2UKKwlwcmludGYoIiVsdVxuIiwgVUxPTkdfTUFYKTsKKyNlbmRpZgorCXJldHVybiAwOworfQorCitzdGF0aWMgbW50SGxwZm5jIGhscHNbXSA9Cit7CisJeyAiV09SRFNJWkUiLAlobHBfd29yZHNpemUJfSwKKwl7ICJwYWdlc2l6ZSIsCWhscF9wYWdlc2l6ZQl9LAorCXsgIklOVF9NQVgiLAlobHBfaW50X21heAl9LAorCXsgIlVJTlRfTUFYIiwgICBobHBfdWludF9tYXgJfSwKKwl7ICJMT05HX01BWCIsICAgaGxwX2xvbmdfbWF4CX0sCisJeyAiVUxPTkdfTUFYIiwgIGhscF91bG9uZ19tYXgJfSwKKwl7ICJVTE9OR19NQVgzMiIsaGxwX3Vsb25nX21heDMyCX0sCisJeyAiYnl0ZS1vcmRlciIsIGhscF9lbmRpYW5uZXNzICB9LAorCXsgTlVMTCwgTlVMTCB9Cit9OworCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IHJlID0gMDsKKwltbnRIbHBmbmMgKmZuOworCisJaWYgKGFyZ2MgPT0gMSkgeworCQlmb3IgKGZuID0gaGxwczsgZm4tPm5hbWU7IGZuKyspIHsKKwkJCXByaW50ZigiJTE1czogIiwgZm4tPm5hbWUpOworCQkJcmUgKz0gZm4tPmZuYygpOworCQl9CisJfSBlbHNlIHsKKwkJaW50IGk7CisKKwkJaWYgKHN0cmNtcChhcmd2WzFdLCAiLS1oZWxwIikgPT0gMCB8fCBzdHJjbXAoYXJndlsxXSwgIi1oIikgPT0gMCkgeworCQkJcHJpbnRmKCIlcyA8b3B0aW9uPlxuIiwgYXJndlswXSk7CisJCQlmcHV0cygib3B0aW9uczpcbiIsIHN0ZG91dCk7CisJCQlmb3IgKGZuID0gaGxwczsgZm4tPm5hbWU7IGZuKyspCisJCQkJcHJpbnRmKCJcdCVzXG4iLCBmbi0+bmFtZSk7CisJCQlleGl0KEVYSVRfU1VDQ0VTUyk7CisJCX0KKworCQlmb3IgKGk9MTsgaSA8IGFyZ2M7IGkrKykgeworCQkJZm9yIChmbiA9IGhscHM7IGZuLT5uYW1lOyBmbisrKSB7CisJCQkJaWYgKHN0cmNtcChmbi0+bmFtZSwgYXJndltpXSkgPT0gMCkKKwkJCQkJcmUgKz0gZm4tPmZuYygpOworCQkJfQorCQl9CisJfQorCisJZXhpdChyZSA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKZGlmZiAtLWdpdCBhL3Rlc3RzL2hlbHBlcnMvdGVzdF90aW9jc3RpLmMgYi90ZXN0cy9oZWxwZXJzL3Rlc3RfdGlvY3N0aS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyNjlkYzAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9oZWxwZXJzL3Rlc3RfdGlvY3N0aS5jCkBAIC0wLDAgKzEsMjcgQEAKKy8qCisgKiB0ZXN0X3Rpb2NzdGkgLSB0ZXN0IHNlY3VyaXR5IG9mIFRJT0NTVEkKKyAqCisgKiBXcml0dGVuIGJ5IEZlZGVyaWNvIEJlbnRvIDx1cDIwMTQwNzg5MEBhbHVub3MuZGNjLmZjLnVwLnB0PgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3b3VsZCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworICogd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyAqIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisgKi8KKworI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorCitpbnQgbWFpbih2b2lkKQoreworICBjaGFyICpjbWQgPSAiaWQgLXUgLW5cbiI7CisgIHdoaWxlKCpjbWQpCisgICBpb2N0bCgwLCBUSU9DU1RJLCBjbWQrKyk7Cit9CmRpZmYgLS1naXQgYS90ZXN0cy9ydW4uc2ggYi90ZXN0cy9ydW4uc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWU4ZDI4NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3J1bi5zaApAQCAtMCwwICsxLDE5MyBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKK1RTX1RPUERJUj0kKGNkICR7MCUvKn0gJiYgcHdkKQorU1VCVEVTVFM9CitFWENMVURFVEVTVFM9CitPUFRTPQorCit0b3Bfc3JjZGlyPQordG9wX2J1aWxkZGlyPQorcGFyYWxsZXJfam9icz0xCisKK2Z1bmN0aW9uIG51bV9jcHVzKCkKK3sKKwlpZiBsc2NwdSAtcCAmPi9kZXYvbnVsbDsgdGhlbgorCQlsc2NwdSAtcCB8IGdyZXAgLWN2ICdeIycKKwllbHNlCisJCWVjaG8gMQorCWZpCit9CisKK2Z1bmN0aW9uIGZpbmRfdGVzdF9zY3JpcHRzKCkKK3sKKwlsb2NhbCBzZWFyY2hkaXI9IiQxIgorCWZpbmQgIiRzZWFyY2hkaXIiIC10eXBlIGYgLXJlZ2V4ICIuKi9bXlwufl0qIiBcCisJCVwoIC1wZXJtIC11PXggLW8gLXBlcm0gLWc9eCAtbyAtcGVybSAtbz14IFwpCit9CisKK3doaWxlIFsgLW4gIiQxIiBdOyBkbworCWNhc2UgIiQxIiBpbgorCS0tZm9yY2UgfFwKKwktLWZha2UgfFwKKwktLW1lbWNoZWNrIHxcCisJLS12ZXJib3NlICB8XAorCS0tc2tpcC1sb29wZGV2cyB8XAorCS0tcGFyc2FibGUpCisJCSMgdGhlc2Ugb3B0aW9ucyBhcmUgc2ltcGx5IGZvcndhcmRlZCB0byB0aGUgdGVzdCBzY3JpcHRzCisJCU9QVFM9IiRPUFRTICQxIgorCQk7OworCS0tbm9ucm9vdCkKKwkJaWYgWyAkKGlkIC1ydSkgLWVxIDAgXTsgdGhlbgorCQkJZWNobyAiSWdub3JlIHV0aWwtbGludXggdGVzdCBzdWl0ZSBbbm9uLXJvb3QgVUlEIGV4cGVjdGVkXS4iCisJCQlleGl0IDAKKwkJZmkKKwkJOzsKKwktLXNyY2Rpcj0qKQorCQl0b3Bfc3JjZGlyPSIkezEjIy0tc3JjZGlyPX0iCisJCTs7CisJLS1idWlsZGRpcj0qKQorCQl0b3BfYnVpbGRkaXI9IiR7MSMjLS1idWlsZGRpcj19IgorCQk7OworCS0tcGFyYWxsZWw9KikKKwkJcGFyYWxsZXJfam9icz0iJHsxIyMtLXBhcmFsbGVsPX0iCisJCTs7CisJLS1wYXJhbGxlbCkKKwkJcGFyYWxsZXJfam9icz0kKG51bV9jcHVzKQorCQk7OworCS0tZXhjbHVkZT0qKQorCQlFWENMVURFVEVTVFM9IiR7MSMjLS1leGNsdWRlPX0iCisJCTs7CisJLS0qKQorCQllY2hvICJVbmtub3duIG9wdGlvbiAkMSIKKwkJZWNobyAiVXNhZ2U6ICIKKwkJZWNobyAiICAkKGJhc2VuYW1lICQwKSBbb3B0aW9uc10gWzxjb21wb25lbnQ+IC4uLl0iCisJCWVjaG8gIk9wdGlvbnM6IgorCQllY2hvICIgIC0tZm9yY2UgICAgICAgICAgIGV4ZWN1dGUgZGVtYW5kaW5nIHRlc3RzIgorCQllY2hvICIgIC0tZmFrZSAgICAgICAgICAgIGRvIG5vdCBydW4sIHNldHVwIHRlc3RzIG9ubHkiCisJCWVjaG8gIiAgLS1tZW1jaGVjayAgICAgICAgcnVuIHdpdGggdmFsZ3JpbmQiCisJCWVjaG8gIiAgLS12ZXJib3NlICAgICAgICAgdmVyYm9zZSBtb2RlIgorCQllY2hvICIgIC0tbm9ucm9vdCAgICAgICAgIGlnbm9yZSB0ZXN0IHN1aXRlIGlmIHVzZXIgaXMgcm9vdCIKKwkJZWNobyAiICAtLXNyY2Rpcj08cGF0aD4gICBhdXRvdG9vbHMgdG9wIHNvdXJjZSBkaXJlY3RvcnkiCisJCWVjaG8gIiAgLS1idWlsZGRpcj08cGF0aD4gYXV0b3Rvb2xzIHRvcCBidWlsZCBkaXJlY3RvcnkiCisJCWVjaG8gIiAgLS1wYXJhbGxlbD08bnVtPiAgbnVtYmVyIG9mIHBhcmFsbGVsIHRlc3Qgam9icywgZGVmYXVsdDogbnVtIGNwdXMiCisJCWVjaG8gIiAgLS1leGNsdWRlPTxsaXN0PiAgZXhjbHVkZSB0ZXN0cyBieSBsaXN0ICc8dXRpbG5hbWU+Lzx0ZXN0bmFtZT4gLi4nIgorCQllY2hvCisJCWV4aXQgMQorCQk7OworCisJKikKKwkJU1VCVEVTVFM9IiRTVUJURVNUUyAkMSIKKwkJOzsKKwllc2FjCisJc2hpZnQKK2RvbmUKKworIyBGb3IgY29tcGF0aWJpbGl0eSB3aXRoIGF1dG90b29scyBpcyBuZWNlc3NhcnkgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIHNvdXJjZQorIyAod2l0aCB0ZXN0IHNjcmlwdHMpIGFuZCBidWlsZCAod2l0aCB0ZW1wb3JhcnkgZmlsZXMpIGRpcmVjdG9yaWVzIHdoZW4KKyMgZXhlY3V0ZWQgYnkgb3VyIGJ1aWxkLXN5c3RlbS4KKyMKKyMgVGhlIGRlZmF1bHQgaXMgdGhlIHNvdXJjZSB0cmVlIHdpdGggdGhpcyBzY3JpcHQuCisjCitpZiBbIC16ICIkdG9wX3NyY2RpciIgXTsgdGhlbgorCXRvcF9zcmNkaXI9IiRUU19UT1BESVIvLi4iCitmaQoraWYgWyAteiAiJHRvcF9idWlsZGRpciIgXTsgdGhlbgorCXRvcF9idWlsZGRpcj0iJFRTX1RPUERJUi8uLiIKK2ZpCisKK09QVFM9IiRPUFRTIC0tc3JjZGlyPSR0b3Bfc3JjZGlyIC0tYnVpbGRkaXI9JHRvcF9idWlsZGRpciIKKworZGVjbGFyZSAtYSBjb21wcworaWYgWyAtbiAiJFNVQlRFU1RTIiBdOyB0aGVuCisJIyBzZWxlY3RlZCB0ZXN0cyBvbmx5CisJZm9yIHMgaW4gJFNVQlRFU1RTOyBkbworCQlpZiBbIC1lICIkdG9wX3NyY2Rpci90ZXN0cy90cy8kcyIgXTsgdGhlbgorCQkJY29tcHMrPSggJChmaW5kX3Rlc3Rfc2NyaXB0cyAiJHRvcF9zcmNkaXIvdGVzdHMvdHMvJHMiKSApIHx8IGV4aXQgMQorCQllbHNlCisJCQllY2hvICJVbmtub3duIHRlc3QgY29tcG9uZW50ICckcyciCisJCQlleGl0IDEKKwkJZmkKKwlkb25lCitlbHNlCisJaWYgWyAhIC1mICIkdG9wX2J1aWxkZGlyL3Rlc3RfdHR5dXRpbHMiIF07IHRoZW4KKwkJZWNobyAiVGVzdHMgbm90IGNvbXBpbGVkISBSdW4gJ21ha2UgY2hlY2snIHRvIGZpeCB0aGUgcHJvYmxlbS4iCisJCWV4aXQgMQorCWZpCisKKwljb21wcz0oICQoZmluZF90ZXN0X3NjcmlwdHMgIiR0b3Bfc3JjZGlyL3Rlc3RzL3RzIikgKSB8fCBleGl0IDEKK2ZpCisKK2lmIFsgLW4gIiRFWENMVURFVEVTVFMiIF07IHRoZW4KKwlkZWNsYXJlIC1hIHhjb21wcwkJIyB0ZW1wb3JhcnkgYXJyYXkKKwlmb3IgdHMgaW4gJHtjb21wc1tAXX07IGRvCisJCXRzbmFtZT0ke3RzIyMqdHMvfQkjIHRlc3QgbmFtZQorCisJCWlmIFtbICIkRVhDTFVERVRFU1RTIiA9PSAqJHt0c25hbWV9KiBdXTsgdGhlbgorCQkJI2VjaG8gIklnbm9yZSAke3RzbmFtZX0uIgorCQkJdHJ1ZQorCQllbHNlCisJCQl4Y29tcHMrPSgkdHMpCisJCWZpCisJZG9uZQorCWNvbXBzPSgiJHt4Y29tcHNbQF19IikJCSMgcmVwbGFjZSB0aGUgYXJyYXkKK2ZpCisKK3Vuc2V0IExJQk1PVU5UX0RFQlVHCit1bnNldCBMSUJCTEtJRF9ERUJVRwordW5zZXQgTElCRkRJU0tfREVCVUcKK3Vuc2V0IExJQlNNQVJUQ09MU19ERUJVRworCitlY2hvCitlY2hvICItLS0tLS0tLS0tLS0tLS0tLS0tLSB1dGlsLWxpbnV4IHJlZ3Jlc3Npb24gdGVzdHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0iCitlY2hvCitlY2hvICIgICAgICAgICAgICAgICAgICAgIEZvciBkZXZlbG9wbWVudCBwdXJwb3NlIG9ubHkuICAgICAgICAgICAgICAgICAgICAiCitlY2hvICIgICAgICAgICAgICAgICAgIERvbid0IGV4ZWN1dGUgb24gcHJvZHVjdGlvbiBzeXN0ZW0hICAgICAgICAgICAgICAgICAiCitlY2hvCisKKyMgVE9ETzogYWRkIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc3lzdGVtCitwcmludGYgIiUxM3M6ICUtMzBzICAgICIgImtlcm5lbCIgIiQodW5hbWUgLXIpIgorZWNobworZWNobworCitpZiBbICRwYXJhbGxlcl9qb2JzIC1ndCAxIF07IHRoZW4KKwllY2hvICIgICAgICAgICAgICAgIEV4ZWN1dGluZyB0aGUgdGVzdHMgaW4gcGFyYWxsZWwgKCRwYXJhbGxlcl9qb2JzIGpvYnMpICAgICIKKwllY2hvCisJT1BUUz0iJE9QVFMgLS1wYXJhbGxlbCIKK2ZpCisKK2NvdW50PTAKKz58ICR0b3BfYnVpbGRkaXIvdGVzdHMvZmFpbHVyZXMKK3ByaW50ZiAiJXNcbiIgJHtjb21wc1sqXX0gfAorCXNvcnQgfAorCXhhcmdzIC1JICd7fScgLVAgJHBhcmFsbGVyX2pvYnMgLW4gMSBiYXNoIC1jICIne30nIFwiJE9QVFNcIiB8fAorCQllY2hvIDEgPj4gJHRvcF9idWlsZGRpci90ZXN0cy9mYWlsdXJlcyIKK2RlY2xhcmUgLWEgZmFpbF9maWxlCitmYWlsX2ZpbGU9KCAkKCA8ICR0b3BfYnVpbGRkaXIvdGVzdHMvZmFpbHVyZXMgKSApIHx8IGV4aXQgMQorcm0gLWYgJHRvcF9idWlsZGRpci90ZXN0cy9mYWlsdXJlcworZWNobworZWNobyAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIgoraWYgWyAkeyNmYWlsX2ZpbGVbQF19IC1lcSAwIF07IHRoZW4KKwllY2hvICIgIEFsbCAkeyNjb21wc1tAXX0gdGVzdHMgUEFTU0VEIgorCXJlcz0wCitlbHNlCisJZWNobyAiICAkeyNmYWlsX2ZpbGVbQF19IHRlc3RzIG9mICR7I2NvbXBzW0BdfSBGQUlMRUQiCisJcmVzPTEKK2ZpCitlY2hvICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iCitleGl0ICRyZXMKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2JpdG9wcy9zd2FwYnl0ZXMgYi90ZXN0cy90cy9iaXRvcHMvc3dhcGJ5dGVzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc5OGFkNTMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9iaXRvcHMvc3dhcGJ5dGVzCkBAIC0wLDAgKzEsMjkgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ic3dhcCBieXRlcyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0hFTFBFUl9CWVRFU1dBUCIKKworJFRTX0hFTFBFUl9CWVRFU1dBUCA+PiAkVFNfT1VUUFVUCisKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2Rpc2NhcmQvb2Zmc2V0cyBiL3Rlc3RzL3RzL2Jsa2Rpc2NhcmQvb2Zmc2V0cwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yODg4NDExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxrZGlzY2FyZC9vZmZzZXRzCkBAIC0wLDAgKzEsMTAxIEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAxNCBGZWRlcmljbyBTaW1vbmNlbGxpIDxmc2ltb25jZUByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ib2Zmc2V0cyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9CTEtESVNDQVJEIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX2xvc2V0dXAKKworT1JJR1BXRD0kKHB3ZCkKK0lNQUdFX05BTUU9IiR7VFNfVEVTVE5BTUV9LWxvb3AuaW1nIgorSU1BR0VfUEFUSD0iJFRTX09VVERJUi8kSU1BR0VfTkFNRSIKKwordHJ1bmNhdGUgLXMgMTBNICRJTUFHRV9QQVRICisKK3RzX2xvZyAiY3JlYXRlIGxvb3AgZGV2aWNlIGZyb20gaW1hZ2UiCitERVZJQ0U9JCgkVFNfQ01EX0xPU0VUVVAgLS1zaG93IC1mICRJTUFHRV9QQVRIKQordHNfcmVnaXN0ZXJfbG9vcF9kZXZpY2UgIiRERVZJQ0UiCisKK2Z1bmN0aW9uIHJ1bl90c2NtZCB7CisJbG9jYWwgcmV0CisJIiRAIiA+PiAkVFNfT1VUUFVUIDI+JjEKKwlyZXQ9JD8KKwllY2hvICJyZXQ6ICRyZXQiID4+ICIkVFNfT1VUUFVUIgorCXJldHVybiAkcmV0Cit9CisKK3RzX2xvZyAidGVzdGluZyBvZmZzZXRzIHdpdGggZnVsbCBibG9jayBzaXplIgorcnVuX3RzY21kICRUU19DTURfQkxLRElTQ0FSRCAtdiAkREVWSUNFCitpZiBbICIkPyIgIT0gIjAiIF07IHRoZW4KKwkjIFNraXAgdGhlIHJlc3Q/IEZvciBleGFtcGxlIGxvb3AgYmFja2luZyBmaWxlcyBvbiBORlMgc2VlbSB1bnN1cHBvcnRlZC4KKwlncmVwIC1xICJCTEtESVNDQVJEIGlvY3RsIGZhaWxlZDogT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQiICIkVFNfT1VUUFVUIiBcCisJCSYmIHRzX3NraXAgIkJMS0RJU0NBUkQgbm90IHN1cHBvcnRlZCIKK2ZpCitydW5fdHNjbWQgJFRTX0NNRF9CTEtESVNDQVJEIC12IC1vIDEgJERFVklDRQorcnVuX3RzY21kICRUU19DTURfQkxLRElTQ0FSRCAtdiAtbyA1MTEgJERFVklDRQorcnVuX3RzY21kICRUU19DTURfQkxLRElTQ0FSRCAtdiAtbyA1MTIgJERFVklDRQorcnVuX3RzY21kICRUU19DTURfQkxLRElTQ0FSRCAtdiAtbyAxMDI0ICRERVZJQ0UKKwordHNfbG9nICJ0ZXN0aW5nIG9mZnNldHMgd2l0aCBzcGVjaWZpYyBsZW5ndGgiCitydW5fdHNjbWQgJFRTX0NNRF9CTEtESVNDQVJEIC12IC1sIDUyNDI4ODAgJERFVklDRQorcnVuX3RzY21kICRUU19DTURfQkxLRElTQ0FSRCAtdiAtbCA1MjQyODgxICRERVZJQ0UKK3J1bl90c2NtZCAkVFNfQ01EX0JMS0RJU0NBUkQgLXYgLWwgNTI0MzM5MSAkREVWSUNFCitydW5fdHNjbWQgJFRTX0NNRF9CTEtESVNDQVJEIC12IC1vIDEgLWwgNTI0Mjg4MCAkREVWSUNFCitydW5fdHNjbWQgJFRTX0NNRF9CTEtESVNDQVJEIC12IC1vIDUxMSAtbCA1MjQyODgwICRERVZJQ0UKK3J1bl90c2NtZCAkVFNfQ01EX0JMS0RJU0NBUkQgLXYgLW8gNTEyIC1sIDUyNDI4ODAgJERFVklDRQorcnVuX3RzY21kICRUU19DTURfQkxLRElTQ0FSRCAtdiAtbyAxMDI0IC1sIDUyNDI4ODAgJERFVklDRQorCit0c19sb2cgInRlc3RpbmcgYWxpZ25lZCBzdGVwcyBmdWxsIGRldmljZSIKK3J1bl90c2NtZCAkVFNfQ01EX0JMS0RJU0NBUkQgLXYgLXAgNTI0Mjg4MCAkREVWSUNFCitydW5fdHNjbWQgJFRTX0NNRF9CTEtESVNDQVJEIC12IC1wIDEzMTA3MjAgJERFVklDRQorCit0c19sb2cgInRlc3RpbmcgYWxpZ25lZCBzdGVwcyB3aXRoIG9mZnNldHMgYW5kIGxlbmd0aCIKK3J1bl90c2NtZCAkVFNfQ01EX0JMS0RJU0NBUkQgLXYgLXAgNTEyIC1sIDEwMjQgJERFVklDRQorcnVuX3RzY21kICRUU19DTURfQkxLRElTQ0FSRCAtdiAtcCA1MTIgLW8gMSAtbCAxMDI0ICRERVZJQ0UKK3J1bl90c2NtZCAkVFNfQ01EX0JMS0RJU0NBUkQgLXYgLXAgNTEyIC1vIDEgLWwgMTUzNiAkREVWSUNFCitydW5fdHNjbWQgJFRTX0NNRF9CTEtESVNDQVJEIC12IC1wIDUxMiAtbyA1MTEgLWwgMTUzNiAkREVWSUNFCitydW5fdHNjbWQgJFRTX0NNRF9CTEtESVNDQVJEIC12IC1wIDUxMiAtbyA1MTIgLWwgMTUzNiAkREVWSUNFCitydW5fdHNjbWQgJFRTX0NNRF9CTEtESVNDQVJEIC12IC1wIDUxMiAtbyAxMDI0IC1sIDEwMjQgJERFVklDRQorCit0c19sb2cgInRlc3RpbmcgbWlzYWxpZ25lZCBzdGVwcyBmdWxsIGRldmljZSIKK3J1bl90c2NtZCAkVFNfQ01EX0JMS0RJU0NBUkQgLXYgLXAgMSAkREVWSUNFCitydW5fdHNjbWQgJFRTX0NNRF9CTEtESVNDQVJEIC12IC1wIDI1NiAkREVWSUNFCitydW5fdHNjbWQgJFRTX0NNRF9CTEtESVNDQVJEIC12IC1wIDUxMSAkREVWSUNFCitydW5fdHNjbWQgJFRTX0NNRF9CTEtESVNDQVJEIC12IC1wIDUxMyAkREVWSUNFCitydW5fdHNjbWQgJFRTX0NNRF9CTEtESVNDQVJEIC12IC1wIDc2OCAkREVWSUNFCisKK3RzX2xvZyAidGVzdGluZyBtaXNhbGlnbmVkIHN0ZXBzIHdpdGggb2Zmc2V0cyBhbmQgbGVuZ3RoIgorcnVuX3RzY21kICRUU19DTURfQkxLRElTQ0FSRCAtdiAtcCA1MTEgLWwgMTAyNCAkREVWSUNFCitydW5fdHNjbWQgJFRTX0NNRF9CTEtESVNDQVJEIC12IC1wIDUxMSAtbyAxIC1sIDE1MzYgJERFVklDRQorcnVuX3RzY21kICRUU19DTURfQkxLRElTQ0FSRCAtdiAtcCA1MTEgLW8gNTExIC1sIDE1MzYgJERFVklDRQorcnVuX3RzY21kICRUU19DTURfQkxLRElTQ0FSRCAtdiAtcCA1MTEgLWwgMTAyNDAgJERFVklDRQorcnVuX3RzY21kICRUU19DTURfQkxLRElTQ0FSRCAtdiAtcCA1MTEgLW8gMSAtbCAxMDI0MCAkREVWSUNFCitydW5fdHNjbWQgJFRTX0NNRF9CTEtESVNDQVJEIC12IC1wIDUxMSAtbyA1MTEgLWwgMTAyNDAgJERFVklDRQorCitzZWQgLWkgInMjJERFVklDRTpccyMjIiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiZGV0YWNoIGxvb3AgZGV2aWNlIGZyb20gaW1hZ2UiCisKK3RzX2NkICIkT1JJR1BXRCIKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2RtLWVyciBiL3Rlc3RzL3RzL2Jsa2lkL2RtLWVycgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kMDFmMDAyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvZG0tZXJyCkBAIC0wLDAgKzEsNDUgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE2IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJETSBlcnJvciIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9CTEtJRCIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19wcm9nICJkbXNldHVwIgorCitERVZOQU1FPSJibGtpZC1kbS1lcnIiCitERVZJQ0U9Ii9kZXYvbWFwcGVyLyR7REVWTkFNRX0iCisKK3RzX2xvZyAiSW5pdGlhbGl6ZSBkZXZpY2UiCitlY2hvICIwIDI2MjE0NCBlcnJvciIgfCBkbXNldHVwIGNyZWF0ZSAkREVWTkFNRQorCit0c19sb2cgIlByb2JlIGRldmljZSIKKyRUU19DTURfQkxLSUQgLXAgLW8gdWRldiAkREVWSUNFIDI+JjEgPj4gJFRTX09VVFBVVAorZWNobyAiUmV0dXJuIGNvZGU6ICQ/IiA+PiAkVFNfT1VUUFVUCisKK3VkZXZhZG0gc2V0dGxlCit0c19sb2cgIkRlaW5pdGlhbGl6ZSBkZXZpY2UiCisKK2Rtc2V0dXAgcmVtb3ZlICRERVZOQU1FCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvYWRhcHRlYy1yYWlkLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9hZGFwdGVjLXJhaWQuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwMzg3Y2QKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvYWRhcHRlYy1yYWlkLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvYmNhY2hlLUIuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2JjYWNoZS1CLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZDE4N2YxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2JjYWNoZS1CLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvYmNhY2hlLUMuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2JjYWNoZS1DLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZjkwY2JmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2JjYWNoZS1DLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvYmVmcy5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvYmVmcy5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTg4YTZlOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9iZWZzLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvYmZzLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9iZnMuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4ZjAyNGEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvYmZzLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvY3JhbWZzLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9jcmFtZnMuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5NDM4NjcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvY3JhbWZzLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZGRmLXJhaWQuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2RkZi1yYWlkLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNWI2NGZlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2RkZi1yYWlkLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZHJiZG1hbmFnZS1jb250cm9sLXZvbHVtZS5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZHJiZG1hbmFnZS1jb250cm9sLXZvbHVtZS5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDMxYmZjMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9kcmJkbWFuYWdlLWNvbnRyb2wtdm9sdW1lLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZXhmYXQuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2V4ZmF0LmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40M2NjMDlhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2V4ZmF0LmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZXh0Mi5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZXh0Mi5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2I1NDg5ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9leHQyLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZXh0My5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZXh0My5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2QxNzBlMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9leHQzLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZjJmcy5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZjJmcy5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjdmOWRkZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mMmZzLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZmF0LmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlMDk5N2EKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZmF0LmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZmF0MTZfbm9oZWFkcy5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZmF0MTZfbm9oZWFkcy5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTBlZTI5NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQxNl9ub2hlYWRzLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZmF0MzJfbGFiZWxfNjRNQi5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZmF0MzJfbGFiZWxfNjRNQi5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjA5NzZiYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9sYWJlbF82NE1CLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZ2ZzMi5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZ2ZzMi5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjJkNGQ2YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9nZnMyLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvaGZzLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9oZnMuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmYTMyNTIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvaGZzLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvaGZzcGx1cy5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvaGZzcGx1cy5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWMzN2E3MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9oZnNwbHVzLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvaHBmcy5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvaHBmcy5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGUyMmE4ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9ocGZzLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvaHB0Mzd4LXJhaWQuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2hwdDM3eC1yYWlkLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjUzMDU5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2hwdDM3eC1yYWlkLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvaHB0NDV4LXJhaWQuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2hwdDQ1eC1yYWlkLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZGZlNjhhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2hwdDQ1eC1yYWlkLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvaXNvLWpvbGlldC5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvaXNvLWpvbGlldC5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTZiODk2MQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9pc28tam9saWV0LmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvaXNvLXJyLWpvbGlldC5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvaXNvLXJyLWpvbGlldC5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWQ2YWQyYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9pc28tcnItam9saWV0LmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvaXNvLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9pc28uaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxMTQ2ZjMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvaXNvLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvaXN3LXJhaWQuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2lzdy1yYWlkLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZTU1MjlhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2lzdy1yYWlkLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvamJkLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9qYmQuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjNWEwODkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvamJkLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvamZzLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9qZnMuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3ODBmNmQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvamZzLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvam1pY3Jvbi1yYWlkLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9qbWljcm9uLXJhaWQuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkZTA4MTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvam1pY3Jvbi1yYWlkLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbHNpLXJhaWQuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2xzaS1yYWlkLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNmFlMTVhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2xzaS1yYWlkLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbHZtMi5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbHZtMi5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGMzYzE4MwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9sdm0yLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbWRyYWlkLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9tZHJhaWQuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4ZmY0ZjUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbWRyYWlkLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbWluaXgtQkUuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL21pbml4LUJFLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMzQ5YTRmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL21pbml4LUJFLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbWluaXgtTEUuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL21pbml4LUxFLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYTY0NmE4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL21pbml4LUxFLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbmV0d2FyZS5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbmV0d2FyZS5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmU1YjEwMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9uZXR3YXJlLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbmlsZnMyLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9uaWxmczIuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4ZGU2NDUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbmlsZnMyLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbnRmcy5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbnRmcy5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmI0MTRjNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9udGZzLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbnZpZGlhLXJhaWQuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL252aWRpYS1yYWlkLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NzVmODEwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL252aWRpYS1yYWlkLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvb2NmczIuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL29jZnMyLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMmVkOTI2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL29jZnMyLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvcHJvbWlzZS1yYWlkLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9wcm9taXNlLXJhaWQuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3ZjEzNWYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvcHJvbWlzZS1yYWlkLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvcmVpc2VyMy5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvcmVpc2VyMy5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGJjNTk1ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9yZWlzZXIzLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvcmVpc2VyNC5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvcmVpc2VyNC5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTk3Zjk2MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9yZWlzZXI0LmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvcm9tZnMuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3JvbWZzLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ODBlZWVkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3JvbWZzLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvc2lsaWNvbi1yYWlkLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9zaWxpY29uLXJhaWQuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4ZDZhNDIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvc2lsaWNvbi1yYWlkLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvc21hbGwtZmF0MzIuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3NtYWxsLWZhdDMyLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTA0ZjQyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3NtYWxsLWZhdDMyLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvc3dhcDAuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3N3YXAwLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zY2ZlYTczCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3N3YXAwLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvc3dhcDEuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3N3YXAxLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZTZmNTM5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3N3YXAxLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdHV4b25pY2UuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3R1eG9uaWNlLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NzJjZjljCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3R1eG9uaWNlLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdWJpZnMuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3ViaWZzLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMDA0ZjViCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3ViaWZzLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdWRmLWhkZC1ta3VkZmZzLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtaGRkLW1rdWRmZnMuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5ZGI0YmUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdWRmLWhkZC1ta3VkZmZzLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdWRmLWhkZC1ta3VkZmZzMi5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdWRmLWhkZC1ta3VkZmZzMi5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGNiYTQ0NwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtaGRkLW1rdWRmZnMyLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdWRmLWhkZC11ZGZjbGllbnQtMC43LjUuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3VkZi1oZGQtdWRmY2xpZW50LTAuNy41LmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYWRkYzg0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3VkZi1oZGQtdWRmY2xpZW50LTAuNy41LmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdWRmLWhkZC11ZGZjbGllbnQtMC43LjcuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3VkZi1oZGQtdWRmY2xpZW50LTAuNy43LmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZmI4Y2RiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3VkZi1oZGQtdWRmY2xpZW50LTAuNy43LmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdWRmLWhkZC13aW43LmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtaGRkLXdpbjcuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlODYxMTUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdWRmLWhkZC13aW43LmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdWRmLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkZjBlZGYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdWRmLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdWZzLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZnMuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4ZjhiMjAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdWZzLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdmlhLXJhaWQuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3ZpYS1yYWlkLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNWY2ZmI3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3ZpYS1yYWlkLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdm1mcy5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdm1mcy5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2U0NTQ0ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy92bWZzLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdm1mc192b2x1bWUuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3ZtZnNfdm9sdW1lLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45M2YxMWI0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3ZtZnNfdm9sdW1lLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMveGZzLWxvZy5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMveGZzLWxvZy5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzVmZjMzYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy94ZnMtbG9nLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMveGZzLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy94ZnMuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1NzZjNjYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMveGZzLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvemZzLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy96ZnMuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4NWU1MzYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvemZzLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtcHQvYnNkLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1wdC9ic2QuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmZGI1MGIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtcHQvYnNkLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtcHQvZG9zK2JzZC5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtcHQvZG9zK2JzZC5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg3ZGQ3NAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1wdC9kb3MrYnNkLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtcHQvZ3B0LmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1wdC9ncHQuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhMDg1YjQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtcHQvZ3B0LmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtcHQvc2dpLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1wdC9zZ2kuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1ZmVkODAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtcHQvc2dpLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9pbWFnZXMtcHQvc3VuLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1wdC9zdW4uaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwMDU5NGEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtcHQvc3VuLmltZy54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9sb3ctcHJvYmUgYi90ZXN0cy90cy9ibGtpZC9sb3ctcHJvYmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzgwMjNiOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2xvdy1wcm9iZQpAQCAtMCwwICsxLDQ0IEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ic3VwZXJibG9ja3MgcHJvYmluZyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAorCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0JMS0lEIgordHNfY2hlY2tfcHJvZyAieHoiCisKK21rZGlyIC1wICRUU19PVVRESVIvaW1hZ2VzLWZzCisKK2ZvciBpbWcgaW4gJChscyAkVFNfU0VMRi9pbWFnZXMtZnMvKi5pbWcueHogfCBzb3J0KTsgZG8KKwluYW1lPSQoYmFzZW5hbWUgJGltZyAuaW1nLnh6KQorCW91dGltZz0kVFNfT1VURElSL2ltYWdlcy1mcy8ke25hbWV9LmltZworCisJdHNfaW5pdF9zdWJ0ZXN0ICRuYW1lCisKKwl4eiAtZGMgJGltZyA+ICRvdXRpbWcKKworCSRUU19DTURfQkxLSUQgLXAgLW8gdWRldiAkb3V0aW1nIDI+JjEgfCBzb3J0ID4gJFRTX09VVFBVVAorCXRzX2ZpbmFsaXplX3N1YnRlc3QKK2RvbmUKKwordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvYmxraWQvbG93cHJvYmUtcHQgYi90ZXN0cy90cy9ibGtpZC9sb3dwcm9iZS1wdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yMTc3ZGU5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvbG93cHJvYmUtcHQKQEAgLTAsMCArMSw0NCBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InBhcnRpdGlvbnMgcHJvYmluZyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAorCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX1BBUlRJVElPTlMiCit0c19jaGVja19wcm9nICJ4eiIKKworbWtkaXIgLXAgJFRTX09VVERJUi9pbWFnZXMtcHQKKworZm9yIGltZyBpbiAkKGxzICRUU19TRUxGL2ltYWdlcy1wdC8qLmltZy54eiB8IHNvcnQpOyBkbworCW5hbWU9JChiYXNlbmFtZSAkaW1nIC5pbWcueHopCisJb3V0aW1nPSRUU19PVVRESVIvaW1hZ2VzLXB0LyR7bmFtZX0uaW1nCisKKwl0c19pbml0X3N1YnRlc3QgJG5hbWUKKworCXh6IC1kYyAkaW1nID4gJG91dGltZworCisJJFRTX0hFTFBFUl9QQVJUSVRJT05TICRvdXRpbWcgJj4gJFRTX09VVFBVVAorCXRzX2ZpbmFsaXplX3N1YnRlc3QKK2RvbmUKKwordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvYmxraWQvbWJyLXdob2xlZGlzayBiL3Rlc3RzL3RzL2Jsa2lkL21ici13aG9sZWRpc2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjM5NTkyZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL21ici13aG9sZWRpc2sKQEAgLTAsMCArMSw0MiBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMTUgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9Im1ici13aG9sZWRpc2siCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKKwordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9CTEtJRCIKKwordHNfc2tpcF9ub25yb290CisKKyMgc2V0IGdsb2JhbCB2YXJpYWJsZSBUU19ERVZJQ0UKK3RzX3Njc2lfZGVidWdfaW5pdCBkZXZfc2l6ZV9tYj01MAorCisjCisjIFRoaXMgbG9va3MgbGlrZSBWRkFULCBidXQgaXQncyBNQlIKKyMKK3RzX2luaXRfc3VidGVzdCAiZmFrZS12ZmF0IgorZGQgaWY9JHtUU19TRUxGfS9tYnItd2hvbGVkaXNrLXZmYXQuaW1nIG9mPSR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwKK3VkZXZhZG0gc2V0dGxlCiskVFNfQ01EX0JMS0lEIC1wIC1vIHVkZXYgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL21ici13aG9sZWRpc2stdmZhdC5pbWcgYi90ZXN0cy90cy9ibGtpZC9tYnItd2hvbGVkaXNrLXZmYXQuaW1nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyYmVlNmMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9tYnItd2hvbGVkaXNrLXZmYXQuaW1nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL21kLXJhaWQwLXdob2xlIGIvdGVzdHMvdHMvYmxraWQvbWQtcmFpZDAtd2hvbGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2JmYjFlYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL21kLXJhaWQwLXdob2xlCkBAIC0wLDAgKzEsODcgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEwIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJNRCByYWlkMCAod2hvbGUtZGlza3MpIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZESVNLIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0JMS0lEIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX2xvc2V0dXAKK3RzX2NoZWNrX3Byb2cgIm1kYWRtIgorCit0c19sb2cgIkluaXRpYWxpemUgZGV2aWNlcyIKK0lNR05BTUU9IiR7VFNfT1VURElSfS8ke1RTX1RFU1ROQU1FfSIKKwordHNfZGV2aWNlX2luaXQgNTAgJHtJTUdOQU1FfTEuaW1nCitERVZJQ0UxPSRUU19MT0RFVgorCit0c19kZXZpY2VfaW5pdCA1MCAke0lNR05BTUV9Mi5pbWcKK0RFVklDRTI9JFRTX0xPREVWCisKK01EX0RFVk5BTUU9bWQ4CitNRF9ERVZJQ0U9L2Rldi8ke01EX0RFVk5BTUV9CisKK21kYWRtIC1xIC1TICR7TURfREVWSUNFfSAmPiAvZGV2L251bGwKKwordHNfbG9nICJDcmVhdGUgUkFJRCBkZXZpY2UiCittZGFkbSAtcSAtLWNyZWF0ZSAke01EX0RFVklDRX0gLS1tZXRhZGF0YT0wLjkwIC0tY2h1bms9NjQgLS1sZXZlbD0wIFwKKwkgICAgLS1yYWlkLWRldmljZXM9MiAke0RFVklDRTF9ICR7REVWSUNFMn0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2xvZyAiQ3JlYXRlIHBhcnRpdGlvbnMgb24gUkFJRCBkZXZpY2UiCiskVFNfQ01EX0ZESVNLICR7TURfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEgPDxFT0YKK24KK3AKKzEKKworKzEwTQorbgorcAorMgorCisKK3AKK3cKK3EKK0VPRgorCit1ZGV2YWRtIHNldHRsZQorCit0c19sb2cgIlByb2JlIGZpcnN0IFJBSUQgbWVtYmVyIgorJFRTX0NNRF9CTEtJRCAtcCAtbyB1ZGV2ICRERVZJQ0UxIDI+JjEgfCBzb3J0ID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJQcm9iZSBzZWNvbmQgUkFJRCBtZW1iZXIiCiskVFNfQ01EX0JMS0lEIC1wIC1vIHVkZXYgJERFVklDRTEgMj4mMSB8IHNvcnQgPj4gJFRTX09VVFBVVAorCit0c19sb2cgIlN0b3AgUkFJRCBkZXZpY2UiCittZGFkbSAtcSAtUyAke01EX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3VkZXZhZG0gc2V0dGxlCisKK3RzX2xvZyAiRGVpbml0aWFsaXplIGRldmljZXMiCisKK3RzX2ZkaXNrX2NsZWFuICRNRF9ERVZJQ0UKKworIyByZW1vdmUgZ2VuZXJhdGVkIFVVSURzCitzZWQgLWkgLWUgJ3MvSURfRlNfVVVJRC4qLy9nJyAkVFNfT1VUUFVUCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9tZC1yYWlkMS1wYXJ0IGIvdGVzdHMvdHMvYmxraWQvbWQtcmFpZDEtcGFydApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45ZjEyNzYxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvbWQtcmFpZDEtcGFydApAQCAtMCwwICsxLDkxIEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAxMCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iTUQgcmFpZDEgKGxhc3QgcGFydGl0aW9uKSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GRElTSyIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9CTEtJRCIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19wcm9nICJtZGFkbSIKKworIyBzZXQgZ2xvYmFsIHZhcmlhYmxlIFRTX0RFVklDRQordHNfc2NzaV9kZWJ1Z19pbml0IGRldl9zaXplX21iPTUxIHNlY3Rvcl9zaXplPTUxMgorCit0c19sb2cgIkNyZWF0ZSBwYXJ0aXRpb25zIgorJFRTX0NNRF9GRElTSyAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxIDw8RU9GCituCitwCisxCisKKysyNU0KK24KK3AKKzIKKworCitwCit3CitxCitFT0YKKworIyByZXBsYWNlIGdlbmVyYXRlZCBJRCB3aXRoIHNvbWV0aGluZyBzdGFibGUKKyRUU19DTURfRkRJU0sgJHtUU19ERVZJQ0V9ICY+IC9kZXYvbnVsbCA8PEVPRgoreAoraQorMHgxCityCit3CitxCitFT0YKKwordWRldmFkbSBzZXR0bGUKK01EX0RFVk5BTUU9bWQ4CitNRF9ERVZJQ0U9L2Rldi8ke01EX0RFVk5BTUV9CisKK3RzX2xvZyAiQ3JlYXRlIFJBSUQxIGRldmljZSIKK21kYWRtIC1xIC1TICR7TURfREVWSUNFfSAmPiAvZGV2L251bGwKK21kYWRtIC1xIC0tY3JlYXRlICR7TURfREVWSUNFfSAtLW1ldGFkYXRhPTAuOTAgLS1jaHVuaz02NCAtLWxldmVsPTEgXAorCSAgICAtLXJhaWQtZGV2aWNlcz0yICR7VFNfREVWSUNFfTEgJHtUU19ERVZJQ0V9MiA+PiAkVFNfT1VUUFVUIDI+JjEKK3VkZXZhZG0gc2V0dGxlCisKK3RzX2xvZyAiUHJvYmUgd2hvbGUtZGlzayIKKyRUU19DTURfQkxLSUQgLXAgLW8gdWRldiAke1RTX0RFVklDRX0gMj4mMSB8IHNvcnQgPj4gJFRTX09VVFBVVAorCit0c19sb2cgIlByb2JlIGZpcnN0IFJBSUQgbWVtYmVyIgorJFRTX0NNRF9CTEtJRCAtcCAtbyB1ZGV2ICR7VFNfREVWSUNFfTEgMj4mMSB8IHNvcnQgPj4gJFRTX09VVFBVVAorCit0c19sb2cgIlByb2JlIHNlY29uZCBSQUlEIG1lbWJlciIKKyRUU19DTURfQkxLSUQgLXAgLW8gdWRldiAke1RTX0RFVklDRX0yIDI+JjEgfCBzb3J0ID4+ICRUU19PVVRQVVQKKworbWRhZG0gLXEgLVMgJHtNRF9ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMQorCisKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKKyMgc3Vic3RpdHVlIFVVSURzIGFuZCBtYWpvci9taW5vciBudW1iZXIgYmVmb3JlIGNvbXBhcmlzb24KK3NlZCAtaSBcCisgIC1lICAgICAgICAgJ3MvXlwoSURfRlNfVVVJRFwpPS4qL1wxPV9fdHNfdXVpZF9fLycgXAorICAtZSAgICAgJ3MvXlwoSURfRlNfVVVJRF9FTkNcKT0uKi9cMT1fX3RzX3V1aWRfZW5jX18vJyBcCisgIC1lICdzL15cKElEX1BBUlRfRU5UUllfRElTS1wpPS4qL1wxPV9fdHNfbWFqb3JtaW5vcl9fLycgXAorICAkVFNfT1VUUFVUCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9tZC1yYWlkMS13aG9sZSBiL3Rlc3RzL3RzL2Jsa2lkL21kLXJhaWQxLXdob2xlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA1MGFkZWMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9tZC1yYWlkMS13aG9sZQpAQCAtMCwwICsxLDg4IEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAxMCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iTUQgcmFpZDEgKHdob2xlLWRpc2tzKSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GRElTSyIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9CTEtJRCIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19sb3NldHVwCit0c19jaGVja19wcm9nICJtZGFkbSIKKwordHNfbG9nICJJbml0aWFsaXplIGRldmljZXMiCitJTUdOQU1FPSIke1RTX09VVERJUn0vJHtUU19URVNUTkFNRX0iCisKK3RzX2RldmljZV9pbml0IDUwICR7SU1HTkFNRX0xLmltZworREVWSUNFMT0kVFNfTE9ERVYKKwordHNfZGV2aWNlX2luaXQgNTAgJHtJTUdOQU1FfTIuaW1nCitERVZJQ0UyPSRUU19MT0RFVgorCitNRF9ERVZOQU1FPW1kOAorTURfREVWSUNFPS9kZXYvJHtNRF9ERVZOQU1FfQorCittZGFkbSAtcSAtUyAke01EX0RFVklDRX0gJj4gL2Rldi9udWxsCisKK3RzX2xvZyAiQ3JlYXRlIFJBSUQgZGV2aWNlIgorbWRhZG0gLXEgLS1jcmVhdGUgJHtNRF9ERVZJQ0V9IC0tbWV0YWRhdGE9MC45MCAtLWNodW5rPTY0IC0tbGV2ZWw9MSBcCisJICAgIC0tcmFpZC1kZXZpY2VzPTIgJHtERVZJQ0UxfSAke0RFVklDRTJ9ID4+ICRUU19PVVRQVVQgMj4mMQorCit0c19sb2cgIkNyZWF0ZSBwYXJ0aXRpb25zIG9uIFJBSUQgZGV2aWNlIgorJFRTX0NNRF9GRElTSyAke01EX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxIDw8RU9GCituCitwCisxCisKKysxME0KK24KK3AKKzIKKworKzEwTQorcAordworcQorRU9GCisKK3VkZXZhZG0gc2V0dGxlCisKK3RzX2xvZyAiUHJvYmUgZmlyc3QgUkFJRCBtZW1iZXIiCiskVFNfQ01EX0JMS0lEIC1wIC1vIHVkZXYgJERFVklDRTEgMj4mMSB8IHNvcnQgPj4gJFRTX09VVFBVVAorCit0c19sb2cgIlByb2JlIHNlY29uZCBSQUlEIG1lbWJlciIKKyRUU19DTURfQkxLSUQgLXAgLW8gdWRldiAkREVWSUNFMSAyPiYxIHwgc29ydCA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiU3RvcCBSQUlEIGRldmljZSIKK21kYWRtIC1xIC1TICR7TURfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEKKwordWRldmFkbSBzZXR0bGUKKwordHNfbG9nICJEZWluaXRpYWxpemUgZGV2aWNlcyIKKwordHNfZmRpc2tfY2xlYW4KKyMgc2VlbXMgdGhhdCByYWlkMSBtaW5pbXVtIEkvTyBzaXplIGhhcyBiZWVuIGNoYW5nZWQgaW4ga2VybmVscyA+NC40LnggYW5kID40LjgKK3NlZCAtaSAnc0BeXChJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogXClbMS05XVswLTldKkBcMTxyZW1vdmVkPkAnICRUU19PVVRQVVQKKyMgcmVtb3ZlIGdlbmVyYXRlZCBVVUlEcworc2VkIC1pIC1lICdzL0lEX0ZTX1VVSUQuKi8vZycgJFRTX09VVFBVVAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvYnVpbGQtc3lzL2NvbmZpZyBiL3Rlc3RzL3RzL2J1aWxkLXN5cy9jb25maWcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmM0OGM1MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2J1aWxkLXN5cy9jb25maWcKQEAgLTAsMCArMSw3MCBAQAorIyEvYmluL2Jhc2gKKworIyBDb3B5cmlnaHQgKEMpIDIwMTEgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImNvbmZpZyIKKworIyBEb24ndCBleGVjdXRlIHRoaXMgdGVzdCBieSBkZWZhdWx0LCAtLWZvcmNlIHJlcXVpcmVkCitUU19PUFRJT05BTD0ieWVzIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfcHJvZyAicmVhZGVsZiIKK3RzX2NoZWNrX3Byb2cgImZpbGUiCisKK2NvbmZpZ19nZW5fZGlyPSIkdG9wX3NyY2Rpci90b29scyIKKy4gJGNvbmZpZ19nZW5fZGlyL2NvbmZpZy1nZW4tZnVuY3Rpb25zLnNoCisKK1sgLW4gIiRDRkxBR1MiIF0gJiYgZXhwb3J0IENGTEFHUz0iJENGTEFHUyIKKwordHNfY2QgJHRvcF9idWlsZGRpciAmJiBtYWtlIC1qIGNsZWFuICY+IC9kZXYvbnVsbAorCitmb3IgY29uZiBpbiAkY29uZmlnX2dlbl9kaXIvY29uZmlnLWdlbi5kLyouY29uZjsgZG8KKwl0c19pbml0X3N1YnRlc3QgJChiYXNlbmFtZSAkY29uZiB8IHNlZCAncy9cLmNvbmYvLycpCisKKwlvcHRzPSQodWxfZ2V0X2NvbmZpZ3VyYXRpb24gJGNvbmYpCisKKwlvbGRkaXI9JChwd2QpCisJdHNfY2QgJHRvcF9idWlsZGRpcgorCisJLi9jb25maWd1cmUgJG9wdHMgJj4gL2Rldi9udWxsCisJbWFrZSAtaiAmPiAvZGV2L251bGwKKworCWJpbnM9JChmaW5kIC4gLXR5cGUgZiBcKCAtcGVybSAtdT14IC1vIC1wZXJtIC1nPXggLW8gLXBlcm0gLW89eCBcKSB8IHNvcnQpCisJZm9yIGIgaW4gJGJpbnM7IGRvCisJCWxpYnM9JChyZWFkZWxmIC0tZHluYW1pYyAkYiAyPiAvZGV2L251bGwgICB8IFwKKwkJCWF3ayAnL05FRURFRC8geyBwcmludCAkNSB9JyB8IFwKKwkJCXNlZCAnczpcWzo6ZzsgczpcLi4qOjpnOyBzOmxpYmM6Omc7IHM6bGRcLS4qOjpnJyB8IFwKKwkJCXNvcnQgLXUgfCB0ciAnXG4nICcgJykKKworCQlpZiBbIC1uICIkbGlicyIgXTsgdGhlbgorCQkJZWNobyAiJChiYXNlbmFtZSAkYik6ICRsaWJzIiA+PiAkVFNfT1VUUFVUCisJCWVsc2UKKwkJCWZyZXM9JChmaWxlICRiKQorCQkJY2FzZSAkZnJlcyBpbgorCQkJKnN0YXRpY2FsbHkqKQorCQkJCWVjaG8gIiQoYmFzZW5hbWUgJGIpOiBTVEFUSUMiID4+ICRUU19PVVRQVVQKKwkJCQk7OworCQkJKikgIyBpZ25vcmUgc2NyaXB0cywgLi4uZXRjLgorCQkJCTs7CisJCQllc2FjCisJCWZpCisJZG9uZQorCisJIyBjbGVhbiB0aGUgdHJlZSwgYnV0IGV4Y2x1ZGUgdGVzdHMve2RpZmYsb3V0cHV0fSBkaXJzCisJIworCVsgLWQgdGVzdHMvZGlmZiBdICAgJiYgbXYgdGVzdHMvZGlmZiAgIHRlc3RzL2RpZmYuc2F2ZQorCVsgLWQgdGVzdHMvb3V0cHV0IF0gJiYgbXYgdGVzdHMvb3V0cHV0IHRlc3RzL291dHB1dC5zYXZlCisKKwltYWtlIC1qIGNsZWFuICY+IC9kZXYvbnVsbAorCisJWyAtZCB0ZXN0cy9kaWZmLnNhdmUgXSAgICYmIG12IHRlc3RzL2RpZmYuc2F2ZSAgIHRlc3RzL2RpZmYKKwlbIC1kIHRlc3RzL291dHB1dC5zYXZlIF0gJiYgbXYgdGVzdHMvb3V0cHV0LnNhdmUgdGVzdHMvb3V0cHV0CisKKwl0c19jZCAkb2xkZGlyCisJdHNfZmluYWxpemVfc3VidGVzdAorZG9uZQorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvY2FsLzFtIGIvdGVzdHMvdHMvY2FsLzFtCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjlmNjkxZTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9jYWwvMW0KQEAgLTAsMCArMSw2MSBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9IjEgbW9udGgiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfQ0FMIgorCitleHBvcnQgVEVSTT1saW51eAorCitVU0VURVJNPSQoIHRzX2hhc19vcHRpb24gInVzZXRlcm0iICIkKiIgKQorTVlUSU1FPSIyNyAwOSAyMDA2IgorCitbICIkVVNFVEVSTSIgPT0gInllcyIgXSAmJiBUU19WRVJCT1NFPSJ5ZXMiCit0c19sb2cgIiIKKwordHNfbG9nICJHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgd2VlayIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTFtICRNWVRJTUUKK2ZpCiskVFNfQ01EX0NBTCAtMW0gJE1ZVElNRSA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIHdlZWsiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC0xcyAkTVlUSU1FCitmaQorJFRTX0NNRF9DQUwgLTFzICRNWVRJTUUgPj4gJFRTX09VVFBVVAorCisKK3RzX2xvZyAiSnVsaWFuIC0gTW9uZGF5LWJhc2VkIHdlZWsiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC0xbWogJE1ZVElNRQorZmkKKyRUU19DTURfQ0FMIC0xbWogJE1ZVElNRSA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiSnVsaWFuIC0gU3VuZGF5LWJhc2VkIHdlZWsiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC0xc2ogJE1ZVElNRQorZmkKKyRUU19DTURfQ0FMIC0xc2ogJE1ZVElNRSA+PiAkVFNfT1VUUFVUCisKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2NhbC8xbXcgYi90ZXN0cy90cy9jYWwvMW13Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMyMzRhNmEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9jYWwvMW13CkBAIC0wLDAgKzEsNjEgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSIxIG1vbnRoIHdpdGggd2VlayBudW1iZXJzIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0NBTCIKKworZXhwb3J0IFRFUk09bGludXgKKworVVNFVEVSTT0kKCB0c19oYXNfb3B0aW9uICJ1c2V0ZXJtIiAiJCoiICkKK01ZVElNRT0iMjcgMDkgMjAwNiIKKworWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF0gJiYgVFNfVkVSQk9TRT0ieWVzIgordHNfbG9nICIiCisKK3RzX2xvZyAiR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC0xbXcgJE1ZVElNRQorZmkKKyRUU19DTURfQ0FMIC0xbXcgJE1ZVElNRSA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC0xc3cgJE1ZVElNRQorZmkKKyRUU19DTURfQ0FMIC0xc3cgJE1ZVElNRSA+PiAkVFNfT1VUUFVUCisKKwordHNfbG9nICJKdWxpYW4gLSBNb25kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTFtancgJE1ZVElNRQorZmkKKyRUU19DTURfQ0FMIC0xbWp3ICRNWVRJTUUgPj4gJFRTX09VVFBVVAorCit0c19sb2cgIkp1bGlhbiAtIFN1bmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtMXNqdyAkTVlUSU1FCitmaQorJFRTX0NNRF9DQUwgLTFzancgJE1ZVElNRSA+PiAkVFNfT1VUUFVUCisKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2NhbC8zbSBiL3Rlc3RzL3RzL2NhbC8zbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iYWE5YmEzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY2FsLzNtCkBAIC0wLDAgKzEsNjAgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iMyBtb250aHMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfQ0FMIgorCitleHBvcnQgVEVSTT1saW51eAorCitVU0VURVJNPSQoIHRzX2hhc19vcHRpb24gInVzZXRlcm0iICIkKiIgKQorTVlUSU1FPSIyNyAwOSAyMDA2IgorCitbICIkVVNFVEVSTSIgPT0gInllcyIgXSAmJiBUU19WRVJCT1NFPSJ5ZXMiCit0c19sb2cgIiIKKwordHNfbG9nICJHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgd2VlayIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJICRUU19DTURfQ0FMIC0zbSAkTVlUSU1FCitmaQorJFRTX0NNRF9DQUwgLTNtICRNWVRJTUUgPj4gJFRTX09VVFBVVAorCit0c19sb2cgIkdyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCB3ZWVrIgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkgJFRTX0NNRF9DQUwgLTNzICRNWVRJTUUKK2ZpCiskVFNfQ01EX0NBTCAtM3MgJE1ZVElNRSA+PiAkVFNfT1VUUFVUCisKKwordHNfbG9nICJKdWxpYW4gLSBNb25kYXktYmFzZWQgd2VlayIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTNtaiAkTVlUSU1FCitmaQorJFRTX0NNRF9DQUwgLTNtaiAkTVlUSU1FID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJKdWxpYW4gLSBTdW5kYXktYmFzZWQgd2VlayIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJICRUU19DTURfQ0FMIC0zc2ogJE1ZVElNRQorZmkKKyRUU19DTURfQ0FMIC0zc2ogJE1ZVElNRSA+PiAkVFNfT1VUUFVUCisKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2NhbC8zbXcgYi90ZXN0cy90cy9jYWwvM213Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNiMzkwNWIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9jYWwvM213CkBAIC0wLDAgKzEsNTggQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iMyBtb250aHMgd2l0aCB3ZWVrIG51bWJlcnMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfQ0FMIgorCitVU0VURVJNPSQoIHRzX2hhc19vcHRpb24gInVzZXRlcm0iICIkKiIgKQorTVlUSU1FPSIyNyAwOSAyMDA2IgorCitbICIkVVNFVEVSTSIgPT0gInllcyIgXSAmJiBUU19WRVJCT1NFPSJ5ZXMiCit0c19sb2cgIiIKKwordHNfbG9nICJHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJICRUU19DTURfQ0FMIC0zbXcgJE1ZVElNRQorZmkKKyRUU19DTURfQ0FMIC0zbXcgJE1ZVElNRSA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSAkVFNfQ01EX0NBTCAtM3N3ICRNWVRJTUUKK2ZpCiskVFNfQ01EX0NBTCAtM3N3ICRNWVRJTUUgPj4gJFRTX09VVFBVVAorCisKK3RzX2xvZyAiSnVsaWFuIC0gTW9uZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC0zbWp3ICRNWVRJTUUKK2ZpCiskVFNfQ01EX0NBTCAtM21qdyAkTVlUSU1FID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJKdWxpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJICRUU19DTURfQ0FMIC0zc2p3ICRNWVRJTUUKK2ZpCiskVFNfQ01EX0NBTCAtM3NqdyAkTVlUSU1FID4+ICRUU19PVVRQVVQKKwordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvY2FsL2JpZ3llYXIgYi90ZXN0cy90cy9jYWwvYmlneWVhcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41ZGNlZDJhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY2FsL2JpZ3llYXIKQEAgLTAsMCArMSw5OCBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJZZWFyIDIxNDc0ODM2NDYiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfQ0FMIgorCitleHBvcnQgVEVSTT1saW51eAorCitVU0VURVJNPSQoIHRzX2hhc19vcHRpb24gInVzZXRlcm0iICIkKiIgKQorTVlNT05USD0iMTIgMjE0NzQ4MzY0NiIKK01ZWUVBUj0iMjE0NzQ4MzY0NiIKKworWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF0gJiYgVFNfVkVSQk9TRT0ieWVzIgordHNfbG9nICIiCisKKwordHNfbG9nICJHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgbW9udGgiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC0xbQorZmkKKyRUU19DTURfQ0FMIC0xbSAkTVlNT05USCA+PiAkVFNfT1VUUFVUCit0c19sb2cgIkdyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCBtb250aCIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTFzICRNWU1PTlRICitmaQorJFRTX0NNRF9DQUwgLTFzICRNWU1PTlRIID4+ICRUU19PVVRQVVQKK3RzX2xvZyAiSnVsaWFuIC0gTW9uZGF5LWJhc2VkIG1vbnRoIgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtMW1qICRNWU1PTlRICitmaQorJFRTX0NNRF9DQUwgLTFtaiAkTVlNT05USCA+PiAkVFNfT1VUUFVUCit0c19sb2cgIkp1bGlhbiAtIFN1bmRheS1iYXNlZCBtb250aCIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTFzaiAkTVlNT05USAorZmkKKyRUU19DTURfQ0FMIC0xc2ogJE1ZTU9OVEggPj4gJFRTX09VVFBVVAorCisKK3RzX2xvZyAiR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkIHRocmVlIG1vbnRocyIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTNtCitmaQorJFRTX0NNRF9DQUwgLTNtICRNWU1PTlRIID4+ICRUU19PVVRQVVQKK3RzX2xvZyAiR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIHRocmVlIG1vbnRocyIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTNzICRNWU1PTlRICitmaQorJFRTX0NNRF9DQUwgLTNzICRNWU1PTlRIID4+ICRUU19PVVRQVVQKK3RzX2xvZyAiSnVsaWFuIC0gTW9uZGF5LWJhc2VkIHRocmVlIG1vbnRocyIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTNtaiAkTVlNT05USAorZmkKKyRUU19DTURfQ0FMIC0zbWogJE1ZTU9OVEggPj4gJFRTX09VVFBVVAordHNfbG9nICJKdWxpYW4gLSBTdW5kYXktYmFzZWQgdGhyZWUgbW9udGhzIgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtM3NqICRNWU1PTlRICitmaQorJFRTX0NNRF9DQUwgLTNzaiAkTVlNT05USCA+PiAkVFNfT1VUUFVUCisKKwordHNfbG9nICJHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgeWVhciIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTFtICRNWVlFQVIKK2ZpCiskVFNfQ01EX0NBTCAtMW0gJE1ZWUVBUiA+PiAkVFNfT1VUUFVUCit0c19sb2cgIkdyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCB5ZWFyIgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtMXMgJE1ZWUVBUgorZmkKKyRUU19DTURfQ0FMIC0xcyAkTVlZRUFSID4+ICRUU19PVVRQVVQKK3RzX2xvZyAiSnVsaWFuIC0gTW9uZGF5LWJhc2VkIHllYXIiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC0xbWogJE1ZWUVBUgorZmkKKyRUU19DTURfQ0FMIC0xbWogJE1ZWUVBUiA+PiAkVFNfT1VUUFVUCit0c19sb2cgIkp1bGlhbiAtIFN1bmRheS1iYXNlZCB5ZWFyIgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtMXNqICRNWVlFQVIKK2ZpCiskVFNfQ01EX0NBTCAtMXNqICRNWVlFQVIgPj4gJFRTX09VVFBVVAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvY2FsL2JpZ3llYXJ3IGIvdGVzdHMvdHMvY2FsL2JpZ3llYXJ3Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJjZTlmYzcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9jYWwvYmlneWVhcncKQEAgLTAsMCArMSw5OCBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJZZWFyIDIxNDc0ODM2NDYgd2l0aCB3ZWVrIG51bWJlcnMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfQ0FMIgorCitleHBvcnQgVEVSTT1saW51eAorCitVU0VURVJNPSQoIHRzX2hhc19vcHRpb24gInVzZXRlcm0iICIkKiIgKQorTVlNT05USD0iMTIgMjE0NzQ4MzY0NiIKK01ZWUVBUj0iMjE0NzQ4MzY0NiIKKworWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF0gJiYgVFNfVkVSQk9TRT0ieWVzIgordHNfbG9nICIiCisKKwordHNfbG9nICJHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgbW9udGggd2l0aCB3ZWVrIG51bWJlcnMiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC0xbXcKK2ZpCiskVFNfQ01EX0NBTCAtMW13ICRNWU1PTlRIID4+ICRUU19PVVRQVVQKK3RzX2xvZyAiR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIG1vbnRoIHdpdGggd2VlayBudW1iZXJzIgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtMXN3ICRNWU1PTlRICitmaQorJFRTX0NNRF9DQUwgLTFzdyAkTVlNT05USCA+PiAkVFNfT1VUUFVUCit0c19sb2cgIkp1bGlhbiAtIE1vbmRheS1iYXNlZCBtb250aCB3aXRoIHdlZWsgbnVtYmVycyIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTFtancgJE1ZTU9OVEgKK2ZpCiskVFNfQ01EX0NBTCAtMW1qdyAkTVlNT05USCA+PiAkVFNfT1VUUFVUCit0c19sb2cgIkp1bGlhbiAtIFN1bmRheS1iYXNlZCBtb250aCB3aXRoIHdlZWsgbnVtYmVycyIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTFzancgJE1ZTU9OVEgKK2ZpCiskVFNfQ01EX0NBTCAtMXNqdyAkTVlNT05USCA+PiAkVFNfT1VUUFVUCisKKwordHNfbG9nICJHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgdGhyZWUgbW9udGhzIHdpdGggd2VlayBudW1iZXJzIgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtM213CitmaQorJFRTX0NNRF9DQUwgLTNtdyAkTVlNT05USCA+PiAkVFNfT1VUUFVUCit0c19sb2cgIkdyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCB0aHJlZSBtb250aHMgd2l0aCB3ZWVrIG51bWJlcnMiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC0zc3cgJE1ZTU9OVEgKK2ZpCiskVFNfQ01EX0NBTCAtM3N3ICRNWU1PTlRIID4+ICRUU19PVVRQVVQKK3RzX2xvZyAiSnVsaWFuIC0gTW9uZGF5LWJhc2VkIHRocmVlIG1vbnRocyB3aXRoIHdlZWsgbnVtYmVycyIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTNtancgJE1ZTU9OVEgKK2ZpCiskVFNfQ01EX0NBTCAtM21qdyAkTVlNT05USCA+PiAkVFNfT1VUUFVUCit0c19sb2cgIkp1bGlhbiAtIFN1bmRheS1iYXNlZCB0aHJlZSBtb250aHMgd2l0aCB3ZWVrIG51bWJlcnMiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC0zc2p3ICRNWU1PTlRICitmaQorJFRTX0NNRF9DQUwgLTNzancgJE1ZTU9OVEggPj4gJFRTX09VVFBVVAorCisKK3RzX2xvZyAiR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkIHllYXIgd2l0aCB3ZWVrIG51bWJlcnMiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC0xbXcgJE1ZWUVBUgorZmkKKyRUU19DTURfQ0FMIC0xbXcgJE1ZWUVBUiA+PiAkVFNfT1VUUFVUCit0c19sb2cgIkdyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCB5ZWFyIHdpdGggd2VlayBudW1iZXJzIgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtMXN3ICRNWVlFQVIKK2ZpCiskVFNfQ01EX0NBTCAtMXN3ICRNWVlFQVIgPj4gJFRTX09VVFBVVAordHNfbG9nICJKdWxpYW4gLSBNb25kYXktYmFzZWQgeWVhciB3aXRoIHdlZWsgbnVtYmVycyIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTFtancgJE1ZWUVBUgorZmkKKyRUU19DTURfQ0FMIC0xbWp3ICRNWVlFQVIgPj4gJFRTX09VVFBVVAordHNfbG9nICJKdWxpYW4gLSBTdW5kYXktYmFzZWQgeWVhciB3aXRoIHdlZWsgbnVtYmVycyIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTFzancgJE1ZWUVBUgorZmkKKyRUU19DTURfQ0FMIC0xc2p3ICRNWVlFQVIgPj4gJFRTX09VVFBVVAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvY2FsL2NvbG9yIGIvdGVzdHMvdHMvY2FsL2NvbG9yCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhhNmRmYjYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9jYWwvY29sb3IKQEAgLTAsMCArMSw3NiBAQAorIyEvYmluL2Jhc2gKKworIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJjb2xvciIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9DQUwiCisKK2hhc19uY3Vyc2VzPSQoIHRzX2hhc19uY3Vyc2VzX3N1cHBvcnQgKQoraWYgWyAiJGhhc19uY3Vyc2VzIiAhPSAieWVzIiBdOyB0aGVuCisJdHNfc2tpcCAid2l0aG91dC1uY3Vyc2VzIgorZmkKKworIyAtLWNvbG9yIG91dHB1dCBkZXBlbmRzIG9uIHRlcm1pbmFsIHR5cGUKK2V4cG9ydCBURVJNPWxpbnV4CisKK1VTRVRFUk09JCggdHNfaGFzX29wdGlvbiAidXNldGVybSIgIiQqIiApCisKK1sgIiRVU0VURVJNIiA9PSAieWVzIiBdICYmIFRTX1ZFUkJPU0U9InllcyIKK3RzX2xvZyAiIgorCit0c19sb2cgIkZpcnN0IGRheSIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLS1jb2xvcj1hbHdheXMgMSAxIDEKK2ZpCiskVFNfQ01EX0NBTCAtLWNvbG9yPWFsd2F5cyAxIDEgMSA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiUmVmb3JtYXRpb24gY29ybmVyIGNhc2VzIDEiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC0tY29sb3I9YWx3YXlzIDIgOSAxNzUyCitmaQorJFRTX0NNRF9DQUwgLS1jb2xvcj1hbHdheXMgMiA5IDE3NTIgPj4gJFRTX09VVFBVVAorCit0c19sb2cgIlJlZm9ybWF0aW9uIGNvcm5lciBjYXNlcyAyIgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtLWNvbG9yPWFsd2F5cyAzIDkgMTc1MgorZmkKKyRUU19DTURfQ0FMIC0tY29sb3I9YWx3YXlzIDMgOSAxNzUyID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJSZWZvcm1hdGlvbiBjb3JuZXIgY2FzZXMgMyIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLS1jb2xvcj1hbHdheXMgMTMgOSAxNzUyCitmaQorJFRTX0NNRF9DQUwgLS1jb2xvcj1hbHdheXMgMTMgOSAxNzUyID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJSZWZvcm1hdGlvbiBjb3JuZXIgY2FzZXMgNCIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLS1jb2xvcj1hbHdheXMgMTQgOSAxNzUyCitmaQorJFRTX0NNRF9DQUwgLS1jb2xvcj1hbHdheXMgMTQgOSAxNzUyID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJMYXN0IGRheSIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLS1jb2xvcj1hbHdheXMgMzEgMTIgOTk5OQorZmkKKyRUU19DTURfQ0FMIC0tY29sb3I9YWx3YXlzIC0zIDMxIDEyIDk5OTkgPj4gJFRTX09VVFBVVAorCisKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2NhbC9jb2xvcncgYi90ZXN0cy90cy9jYWwvY29sb3J3Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ5M2RkMmMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9jYWwvY29sb3J3CkBAIC0wLDAgKzEsNzYgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iY29sb3Igd2l0aCB3ZWVrIG51bWJlcnMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfQ0FMIgorCitoYXNfbmN1cnNlcz0kKCB0c19oYXNfbmN1cnNlc19zdXBwb3J0ICkKK2lmIFsgIiRoYXNfbmN1cnNlcyIgIT0gInllcyIgXTsgdGhlbgorCXRzX3NraXAgIndpdGhvdXQtbmN1cnNlcyIKK2ZpCisKKyMgLS1jb2xvciBvdXRwdXQgZGVwZW5kcyBvbiB0ZXJtaW5hbCB0eXBlCitleHBvcnQgVEVSTT1saW51eAorCitVU0VURVJNPSQoIHRzX2hhc19vcHRpb24gInVzZXRlcm0iICIkKiIgKQorCitbICIkVVNFVEVSTSIgPT0gInllcyIgXSAmJiBUU19WRVJCT1NFPSJ5ZXMiCit0c19sb2cgIiIKKwordHNfbG9nICJGaXJzdCBkYXkgd2l0aCB3ZWVrIG51bWJlcnMiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC13IC0tY29sb3I9YWx3YXlzIDEgMSAxCitmaQorJFRTX0NNRF9DQUwgLXcgLS1jb2xvcj1hbHdheXMgMSAxIDEgPj4gJFRTX09VVFBVVAorCit0c19sb2cgIlJlZm9ybWF0aW9uIGNvcm5lciBjYXNlcyAxIHdpdGggd2VlayBudW1iZXJzIgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtdyAtLWNvbG9yPWFsd2F5cyAyIDkgMTc1MgorZmkKKyRUU19DTURfQ0FMIC13IC0tY29sb3I9YWx3YXlzIDIgOSAxNzUyID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJSZWZvcm1hdGlvbiBjb3JuZXIgY2FzZXMgMiB3aXRoIHdlZWsgbnVtYmVycyIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLXcgLS1jb2xvcj1hbHdheXMgMyA5IDE3NTIKK2ZpCiskVFNfQ01EX0NBTCAtdyAtLWNvbG9yPWFsd2F5cyAzIDkgMTc1MiA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiUmVmb3JtYXRpb24gY29ybmVyIGNhc2VzIDMgd2l0aCB3ZWVrIG51bWJlcnMiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC13IC0tY29sb3I9YWx3YXlzIDEzIDkgMTc1MgorZmkKKyRUU19DTURfQ0FMIC13IC0tY29sb3I9YWx3YXlzIDEzIDkgMTc1MiA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiUmVmb3JtYXRpb24gY29ybmVyIGNhc2VzIDQgd2l0aCB3ZWVrIG51bWJlcnMiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC13IC0tY29sb3I9YWx3YXlzIDE0IDkgMTc1MgorZmkKKyRUU19DTURfQ0FMIC13IC0tY29sb3I9YWx3YXlzIDE0IDkgMTc1MiA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiTGFzdCBkYXkgd2l0aCB3ZWVrIG51bWJlcnMiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC13IC0tY29sb3I9YWx3YXlzIDMxIDEyIDk5OTkKK2ZpCiskVFNfQ01EX0NBTCAtdyAtLWNvbG9yPWFsd2F5cyAtMyAzMSAxMiA5OTk5ID4+ICRUU19PVVRQVVQKKworCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9jYWwvamFuMTc1MyBiL3Rlc3RzL3RzL2NhbC9qYW4xNzUzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg1ZGJmMzUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9jYWwvamFuMTc1MwpAQCAtMCwwICsxLDQzIEBACisjIS9iaW4vYmFzaAorCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9IkphbnVhcnkgMTc1MyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9DQUwiCisKK2V4cG9ydCBURVJNPWxpbnV4CisKK1VTRVRFUk09JCggdHNfaGFzX29wdGlvbiAidXNldGVybSIgIiQqIiApCitNWU1PTlRIPSIxIDE3NTMiCisKK1sgIiRVU0VURVJNIiA9PSAieWVzIiBdICYmIFRTX1ZFUkJPU0U9InllcyIKK3RzX2xvZyAiIgorCit0c19sb2cgIk1vbmRheS1iYXNlZCAxNzUzIHdlZWsgbnVtYmVycyIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLW0zdyAkTVlNT05USAorZmkKKyRUU19DTURfQ0FMIC1tM3cgJE1ZTU9OVEggPj4gJFRTX09VVFBVVAorCit0c19sb2cgIlN1bmRheS1iYXNlZCAxNzUzIHdlZWsgbnVtYmVycyIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTN3ICRNWU1PTlRICitmaQorJFRTX0NNRF9DQUwgLTN3ICRNWU1PTlRIID4+ICRUU19PVVRQVVQKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2NhbC9zZXAxNzUyIGIvdGVzdHMvdHMvY2FsL3NlcDE3NTIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGRiN2UzYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2NhbC9zZXAxNzUyCkBAIC0wLDAgKzEsOTggQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iU2VwdGVtYmVyIDE3NTIiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfQ0FMIgorCitleHBvcnQgVEVSTT1saW51eAorCitVU0VURVJNPSQoIHRzX2hhc19vcHRpb24gInVzZXRlcm0iICIkKiIgKQorTVlNT05USD0iMDkgMTc1MiIKK01ZWUVBUj0iMTc1MiIKKworWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF0gJiYgVFNfVkVSQk9TRT0ieWVzIgordHNfbG9nICIiCisKKwordHNfbG9nICJHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgbW9udGgiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC0xbQorZmkKKyRUU19DTURfQ0FMIC0xbSAkTVlNT05USCA+PiAkVFNfT1VUUFVUCit0c19sb2cgIkdyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCBtb250aCIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTFzICRNWU1PTlRICitmaQorJFRTX0NNRF9DQUwgLTFzICRNWU1PTlRIID4+ICRUU19PVVRQVVQKK3RzX2xvZyAiSnVsaWFuIC0gTW9uZGF5LWJhc2VkIG1vbnRoIgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtMW1qICRNWU1PTlRICitmaQorJFRTX0NNRF9DQUwgLTFtaiAkTVlNT05USCA+PiAkVFNfT1VUUFVUCit0c19sb2cgIkp1bGlhbiAtIFN1bmRheS1iYXNlZCBtb250aCIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTFzaiAkTVlNT05USAorZmkKKyRUU19DTURfQ0FMIC0xc2ogJE1ZTU9OVEggPj4gJFRTX09VVFBVVAorCisKK3RzX2xvZyAiR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkIHRocmVlIG1vbnRocyIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTNtCitmaQorJFRTX0NNRF9DQUwgLTNtICRNWU1PTlRIID4+ICRUU19PVVRQVVQKK3RzX2xvZyAiR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIHRocmVlIG1vbnRocyIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTNzICRNWU1PTlRICitmaQorJFRTX0NNRF9DQUwgLTNzICRNWU1PTlRIID4+ICRUU19PVVRQVVQKK3RzX2xvZyAiSnVsaWFuIC0gTW9uZGF5LWJhc2VkIHRocmVlIG1vbnRocyIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTNtaiAkTVlNT05USAorZmkKKyRUU19DTURfQ0FMIC0zbWogJE1ZTU9OVEggPj4gJFRTX09VVFBVVAordHNfbG9nICJKdWxpYW4gLSBTdW5kYXktYmFzZWQgdGhyZWUgbW9udGhzIgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtM3NqICRNWU1PTlRICitmaQorJFRTX0NNRF9DQUwgLTNzaiAkTVlNT05USCA+PiAkVFNfT1VUUFVUCisKKwordHNfbG9nICJHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgeWVhciIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTFtICRNWVlFQVIKK2ZpCiskVFNfQ01EX0NBTCAtMW0gJE1ZWUVBUiA+PiAkVFNfT1VUUFVUCit0c19sb2cgIkdyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCB5ZWFyIgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtMXMgJE1ZWUVBUgorZmkKKyRUU19DTURfQ0FMIC0xcyAkTVlZRUFSID4+ICRUU19PVVRQVVQKK3RzX2xvZyAiSnVsaWFuIC0gTW9uZGF5LWJhc2VkIHllYXIiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC0xbWogJE1ZWUVBUgorZmkKKyRUU19DTURfQ0FMIC0xbWogJE1ZWUVBUiA+PiAkVFNfT1VUUFVUCit0c19sb2cgIkp1bGlhbiAtIFN1bmRheS1iYXNlZCB5ZWFyIgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtMXNqICRNWVlFQVIKK2ZpCiskVFNfQ01EX0NBTCAtMXNqICRNWVlFQVIgPj4gJFRTX09VVFBVVAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvY2FsL3NlcDE3NTJ3IGIvdGVzdHMvdHMvY2FsL3NlcDE3NTJ3Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQyZDBkMzEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9jYWwvc2VwMTc1MncKQEAgLTAsMCArMSw5OCBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJTZXB0ZW1iZXIgMTc1MiB3aXRoIHdlZWsgbnVtYmVycyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9DQUwiCisKK2V4cG9ydCBURVJNPWxpbnV4CisKK1VTRVRFUk09JCggdHNfaGFzX29wdGlvbiAidXNldGVybSIgIiQqIiApCitNWU1PTlRIPSIwOSAxNzUyIgorTVlZRUFSPSIxNzUyIgorCitbICIkVVNFVEVSTSIgPT0gInllcyIgXSAmJiBUU19WRVJCT1NFPSJ5ZXMiCit0c19sb2cgIiIKKworCit0c19sb2cgIkdyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCBtb250aCB3aXRoIHdlZWsgbnVtYmVycyIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTFtdworZmkKKyRUU19DTURfQ0FMIC0xbXcgJE1ZTU9OVEggPj4gJFRTX09VVFBVVAordHNfbG9nICJHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgbW9udGggd2l0aCB3ZWVrIG51bWJlcnMiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC0xc3cgJE1ZTU9OVEgKK2ZpCiskVFNfQ01EX0NBTCAtMXN3ICRNWU1PTlRIID4+ICRUU19PVVRQVVQKK3RzX2xvZyAiSnVsaWFuIC0gTW9uZGF5LWJhc2VkIG1vbnRoIHdpdGggd2VlayBudW1iZXJzIgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtMW1qdyAkTVlNT05USAorZmkKKyRUU19DTURfQ0FMIC0xbWp3ICRNWU1PTlRIID4+ICRUU19PVVRQVVQKK3RzX2xvZyAiSnVsaWFuIC0gU3VuZGF5LWJhc2VkIG1vbnRoIHdpdGggd2VlayBudW1iZXJzIgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtMXNqdyAkTVlNT05USAorZmkKKyRUU19DTURfQ0FMIC0xc2p3ICRNWU1PTlRIID4+ICRUU19PVVRQVVQKKworCit0c19sb2cgIkdyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCB0aHJlZSBtb250aHMgd2l0aCB3ZWVrIG51bWJlcnMiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC0zbXcKK2ZpCiskVFNfQ01EX0NBTCAtM213ICRNWU1PTlRIID4+ICRUU19PVVRQVVQKK3RzX2xvZyAiR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIHRocmVlIG1vbnRocyB3aXRoIHdlZWsgbnVtYmVycyIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTNzdyAkTVlNT05USAorZmkKKyRUU19DTURfQ0FMIC0zc3cgJE1ZTU9OVEggPj4gJFRTX09VVFBVVAordHNfbG9nICJKdWxpYW4gLSBNb25kYXktYmFzZWQgdGhyZWUgbW9udGhzIHdpdGggd2VlayBudW1iZXJzIgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtM21qdyAkTVlNT05USAorZmkKKyRUU19DTURfQ0FMIC0zbWp3ICRNWU1PTlRIID4+ICRUU19PVVRQVVQKK3RzX2xvZyAiSnVsaWFuIC0gU3VuZGF5LWJhc2VkIHRocmVlIG1vbnRocyB3aXRoIHdlZWsgbnVtYmVycyIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTNzancgJE1ZTU9OVEgKK2ZpCiskVFNfQ01EX0NBTCAtM3NqdyAkTVlNT05USCA+PiAkVFNfT1VUUFVUCisKKwordHNfbG9nICJHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgeWVhciB3aXRoIHdlZWsgbnVtYmVycyIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTFtdyAkTVlZRUFSCitmaQorJFRTX0NNRF9DQUwgLTFtdyAkTVlZRUFSID4+ICRUU19PVVRQVVQKK3RzX2xvZyAiR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIHllYXIgd2l0aCB3ZWVrIG51bWJlcnMiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC0xc3cgJE1ZWUVBUgorZmkKKyRUU19DTURfQ0FMIC0xc3cgJE1ZWUVBUiA+PiAkVFNfT1VUUFVUCit0c19sb2cgIkp1bGlhbiAtIE1vbmRheS1iYXNlZCB5ZWFyIHdpdGggd2VlayBudW1iZXJzIgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtMW1qdyAkTVlZRUFSCitmaQorJFRTX0NNRF9DQUwgLTFtancgJE1ZWUVBUiA+PiAkVFNfT1VUUFVUCit0c19sb2cgIkp1bGlhbiAtIFN1bmRheS1iYXNlZCB5ZWFyIHdpdGggd2VlayBudW1iZXJzIgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtMXNqdyAkTVlZRUFSCitmaQorJFRTX0NNRF9DQUwgLTFzancgJE1ZWUVBUiA+PiAkVFNfT1VUUFVUCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9jYWwvd2Vla2FyZyBiL3Rlc3RzL3RzL2NhbC93ZWVrYXJnCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIzNmJhZWQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9jYWwvd2Vla2FyZwpAQCAtMCwwICsxLDE2NCBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJ3ZWVrIG51bWJlciBnaXZlbiBhcyBhcmd1bWVudCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9DQUwiCisKK2hhc19uY3Vyc2VzPSQoIHRzX2hhc19uY3Vyc2VzX3N1cHBvcnQgKQoraWYgWyAiJGhhc19uY3Vyc2VzIiAhPSAieWVzIiBdOyB0aGVuCisJdHNfc2tpcCAid2l0aG91dC1uY3Vyc2VzIgorZmkKKworZXhwb3J0IFRFUk09bGludXgKKworVVNFVEVSTT0kKCB0c19oYXNfb3B0aW9uICJ1c2V0ZXJtIiAiJCoiICkKKworWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF0gJiYgVFNfVkVSQk9TRT0ieWVzIgordHNfbG9nICIiCisKK01ZVElNRT0iNyAxMCAyMDEzIgorUFdFRUs9IndlZWsgNDAiCitXRUVLPSItLXdlZWs9NDAiCit0c19sb2cgIkdyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCwgJFBXRUVLLCAzIG1vbnRoICR4IgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtM20gJFdFRUsgJE1ZVElNRQorZmkKKyRUU19DTURfQ0FMIC0zbSAkV0VFSyAkTVlUSU1FID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQsICRQV0VFSywgMyBtb250aCAkeCIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTNzICRXRUVLICRNWVRJTUUKK2ZpCiskVFNfQ01EX0NBTCAtM3MgJFdFRUsgJE1ZVElNRSA+PiAkVFNfT1VUUFVUCisKKwordHNfbG9nICJKdWxpYW4gLSBNb25kYXktYmFzZWQsICRQV0VFSywgMyBtb250aCAkeCIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTNtaiAkV0VFSyAkTVlUSU1FCitmaQorJFRTX0NNRF9DQUwgLTNtaiAkV0VFSyAkTVlUSU1FID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJKdWxpYW4gLSBTdW5kYXktYmFzZWQsICRQV0VFSywgMyBtb250aCAkeCIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTNzaiAkV0VFSyAkTVlUSU1FCitmaQorJFRTX0NNRF9DQUwgLTNzaiAkV0VFSyAkTVlUSU1FID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQsICRQV0VFSywgMSBtb250aCAkeCIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLW0gJFdFRUsgJE1ZVElNRQorZmkKKyRUU19DTURfQ0FMIC1tICRXRUVLICRNWVRJTUUgPj4gJFRTX09VVFBVVAorCit0c19sb2cgIkdyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCwgJFBXRUVLLCAxIG1vbnRoICR4IgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtcyAkV0VFSyAkTVlUSU1FCitmaQorJFRTX0NNRF9DQUwgLXMgJFdFRUsgJE1ZVElNRSA+PiAkVFNfT1VUUFVUCisKKwordHNfbG9nICJKdWxpYW4gLSBNb25kYXktYmFzZWQsICRQV0VFSywgMSBtb250aCAkeCIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLW1qICRXRUVLICRNWVRJTUUKK2ZpCiskVFNfQ01EX0NBTCAtbWogJFdFRUsgJE1ZVElNRSA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiSnVsaWFuIC0gU3VuZGF5LWJhc2VkLCAkUFdFRUssIDEgbW9udGggJHgiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC1zaiAkV0VFSyAkTVlUSU1FCitmaQorJFRTX0NNRF9DQUwgLXNqICRXRUVLICRNWVRJTUUgPj4gJFRTX09VVFBVVAorCisjIHRyaWNreSB5ZWFyLCBzdGFydHMgd2l0aCBhIGJpdCBvZiA1MyB5ZXQgZW5kcyBkdXJpbmcgNTIKK01ZVElNRT0iMjAxMCIKK1BXRUVLPSJ3ZWVrIDUzIgorV0VFSz0iLS13ZWVrPTUzIgordHNfbG9nICJHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQsICRQV0VFSywgMSBtb250aCAkeCIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTFtICRXRUVLICRNWVRJTUUKK2ZpCiskVFNfQ01EX0NBTCAtMW0gJFdFRUsgJE1ZVElNRSA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiSnVsaWFuIC0gTW9uZGF5LWJhc2VkLCAkUFdFRUssIDEgbW9udGggJHgiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC0xbWogJFdFRUsgJE1ZVElNRQorZmkKKyRUU19DTURfQ0FMIC0xbWogJFdFRUsgJE1ZVElNRSA+PiAkVFNfT1VUUFVUCisKK01ZVElNRT0iMjAxMCIKK1BXRUVLPSJ3ZWVrIDUzIHdpdGggY29sb3JzIgorV0VFSz0iLS13ZWVrPTUzIC0tY29sb3I9YWx3YXlzIgordHNfbG9nICJHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQsICRQV0VFSywgMSBtb250aCAkeCIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTFtICRXRUVLICRNWVRJTUUKK2ZpCiskVFNfQ01EX0NBTCAtMW0gJFdFRUsgJE1ZVElNRSA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiSnVsaWFuIC0gTW9uZGF5LWJhc2VkLCAkUFdFRUssIDEgbW9udGggJHgiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC0xbWogJFdFRUsgJE1ZVElNRQorZmkKKyRUU19DTURfQ0FMIC0xbWogJFdFRUsgJE1ZVElNRSA+PiAkVFNfT1VUUFVUCisKK01ZVElNRT0iNyAxMCAyMDEzIgorUFdFRUs9IndlZWsgNDAgd2l0aCBjb2xvcnMiCitXRUVLPSItLXdlZWs9NDAgLS1jb2xvcj1hbHdheXMiCit0c19sb2cgIkdyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCwgJFBXRUVLLCAzIG1vbnRoICR4IgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtM20gJFdFRUsgJE1ZVElNRQorZmkKKyRUU19DTURfQ0FMIC0zbSAkV0VFSyAkTVlUSU1FID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJKdWxpYW4gLSBNb25kYXktYmFzZWQsICRQV0VFSywgMyBtb250aCAkeCIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTNtaiAkV0VFSyAkTVlUSU1FCitmaQorJFRTX0NNRF9DQUwgLTNtaiAkV0VFSyAkTVlUSU1FID4+ICRUU19PVVRQVVQKKworTVlUSU1FPSIzMSAxMiAyMDAwIgorUFdFRUs9IndlZWsgNTQgd2l0aCBjb2xvcnMiCitXRUVLPSItLXdlZWs9NTQgLS1jb2xvcj1hbHdheXMiCit0c19sb2cgIkdyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCwgJFBXRUVLLCAzIG1vbnRoICR4IgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtLXRocmVlIC0tc3VuZGF5ICRXRUVLICRNWVRJTUUKK2ZpCiskVFNfQ01EX0NBTCAtLXRocmVlIC0tc3VuZGF5ICRXRUVLICRNWVRJTUUgPj4gJFRTX09VVFBVVAorCitQV0VFSz0id2VlayA1MyB3aXRoIGNvbG9ycyIKK1dFRUs9Ii0td2Vlaz01MyAtLWNvbG9yPWFsd2F5cyIKK3RzX2xvZyAiR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkLCAkUFdFRUssIDMgbW9udGggJHgiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC0tdGhyZWUgLS1tb25kYXkgJFdFRUsgJE1ZVElNRQorZmkKKyRUU19DTURfQ0FMIC0tdGhyZWUgLS1tb25kYXkgJFdFRUsgJE1ZVElNRSA+PiAkVFNfT1VUUFVUIDI+JjEKKworUFdFRUs9IndlZWsgNTIgd2l0aCBjb2xvcnMiCitXRUVLPSItLXdlZWs9NTIgLS1jb2xvcj1hbHdheXMiCit0c19sb2cgIkdyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCwgJFBXRUVLLCAzIG1vbnRoICR4IgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtLXRocmVlIC0tbW9uZGF5ICRXRUVLICRNWVRJTUUKK2ZpCiskVFNfQ01EX0NBTCAtLXRocmVlIC0tbW9uZGF5ICRXRUVLICRNWVRJTUUgPj4gJFRTX09VVFBVVCAyPiYxCisKKwordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvY2FsL3dlZWtudW0gYi90ZXN0cy90cy9jYWwvd2Vla251bQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zYThmMzc2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY2FsL3dlZWtudW0KQEAgLTAsMCArMSw4OSBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJ3ZWVrIG51bWJlciBjb3JuZXIgY2FzZXMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfQ0FMIgorCitleHBvcnQgVEVSTT1saW51eAorCitVU0VURVJNPSQoIHRzX2hhc19vcHRpb24gInVzZXRlcm0iICIkKiIgKQorCitbICIkVVNFVEVSTSIgPT0gInllcyIgXSAmJiBUU19WRVJCT1NFPSJ5ZXMiCit0c19sb2cgIiIKKworZm9yIHggaW4gMjAwMSAyMDAyIDIwMDMgMjAwOSAyMDEwIDIwMTEgMjAxMiA7IGRvCitNWVRJTUU9IjEgJHgiCisKK3RzX2xvZyAiR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMgLSB5ZWFyICR4IgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAteW13ICRNWVRJTUUKK2ZpCiskVFNfQ01EX0NBTCAteW13ICRNWVRJTUUgPj4gJFRTX09VVFBVVAorCit0c19sb2cgIkdyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIC0geWVhciAkeCIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLXlzdyAkTVlUSU1FCitmaQorJFRTX0NNRF9DQUwgLXlzdyAkTVlUSU1FID4+ICRUU19PVVRQVVQKKworCit0c19sb2cgIkp1bGlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIC0geWVhciAkeCIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLXltancgJE1ZVElNRQorZmkKKyRUU19DTURfQ0FMIC15bWp3ICRNWVRJTUUgPj4gJFRTX09VVFBVVAorCit0c19sb2cgIkp1bGlhbiAtIFN1bmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIC0geWVhciAkeCIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLXlzancgJE1ZVElNRQorZmkKKyRUU19DTURfQ0FMIC15c2p3ICRNWVRJTUUgPj4gJFRTX09VVFBVVAorCit0c19sb2cgIkdyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIC0gMyBtb250aCAkeCIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLTNtdyAkTVlUSU1FCitmaQorJFRTX0NNRF9DQUwgLTNtdyAkTVlUSU1FID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyAtIDMgbW9udGggJHgiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC0zc3cgJE1ZVElNRQorZmkKKyRUU19DTURfQ0FMIC0zc3cgJE1ZVElNRSA+PiAkVFNfT1VUUFVUCisKKwordHNfbG9nICJKdWxpYW4gLSBNb25kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyAtIDMgbW9udGggJHgiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC0zbWp3ICRNWVRJTUUKK2ZpCiskVFNfQ01EX0NBTCAtM21qdyAkTVlUSU1FID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJKdWxpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyAtIDMgbW9udGggJHgiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC0zc2p3ICRNWVRJTUUKK2ZpCiskVFNfQ01EX0NBTCAtM3NqdyAkTVlUSU1FID4+ICRUU19PVVRQVVQKKworZG9uZQorCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9jYWwveWVhciBiL3Rlc3RzL3RzL2NhbC95ZWFyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc3ZTg0N2UKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9jYWwveWVhcgpAQCAtMCwwICsxLDYwIEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InllYXIiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfQ0FMIgorCitleHBvcnQgVEVSTT1saW51eAorCitVU0VURVJNPSQoIHRzX2hhc19vcHRpb24gInVzZXRlcm0iICIkKiIgKQorTVlUSU1FPSIyOSAxMSAyMDA2IgorCitbICIkVVNFVEVSTSIgPT0gInllcyIgXSAmJiBUU19WRVJCT1NFPSJ5ZXMiCit0c19sb2cgIiIKKwordHNfbG9nICJHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgd2VlayIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLXltICRNWVRJTUUKK2ZpCiskVFNfQ01EX0NBTCAteW0gJE1ZVElNRSA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIHdlZWsiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC15cyAkTVlUSU1FCitmaQorJFRTX0NNRF9DQUwgLXlzICRNWVRJTUUgPj4gJFRTX09VVFBVVAorCisKK3RzX2xvZyAiSnVsaWFuIC0gTW9uZGF5LWJhc2VkIHdlZWsiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC15bWogJE1ZVElNRQorZmkKKyRUU19DTURfQ0FMIC15bWogJE1ZVElNRSA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiSnVsaWFuIC0gU3VuZGF5LWJhc2VkIHdlZWsiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC15c2ogJE1ZVElNRQorZmkKKyRUU19DTURfQ0FMIC15c2ogJE1ZVElNRSA+PiAkVFNfT1VUUFVUCisKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2NhbC95ZWFydyBiL3Rlc3RzL3RzL2NhbC95ZWFydwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yZjVkMmM0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY2FsL3llYXJ3CkBAIC0wLDAgKzEsNjAgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ieWVhciB3aXRoIHdlZWsgbnVtYmVycyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9DQUwiCisKK2V4cG9ydCBURVJNPWxpbnV4CisKK1VTRVRFUk09JCggdHNfaGFzX29wdGlvbiAidXNldGVybSIgIiQqIiApCitNWVRJTUU9IjI5IDExIDIwMDYiCisKK1sgIiRVU0VURVJNIiA9PSAieWVzIiBdICYmIFRTX1ZFUkJPU0U9InllcyIKK3RzX2xvZyAiIgorCit0c19sb2cgIkdyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAteW13ICRNWVRJTUUKK2ZpCiskVFNfQ01EX0NBTCAteW13ICRNWVRJTUUgPj4gJFRTX09VVFBVVAorCit0c19sb2cgIkdyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAteXN3ICRNWVRJTUUKK2ZpCiskVFNfQ01EX0NBTCAteXN3ICRNWVRJTUUgPj4gJFRTX09VVFBVVAorCisKK3RzX2xvZyAiSnVsaWFuIC0gTW9uZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC15bWp3ICRNWVRJTUUKK2ZpCiskVFNfQ01EX0NBTCAteW1qdyAkTVlUSU1FID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJKdWxpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLXlzancgJE1ZVElNRQorZmkKKyRUU19DTURfQ0FMIC15c2p3ICRNWVRJTUUgPj4gJFRTX09VVFBVVAorCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9jb2wvbXVsdGlieXRlIGIvdGVzdHMvdHMvY29sL211bHRpYnl0ZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lOWMwMjkyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY29sL211bHRpYnl0ZQpAQCAtMCwwICsxLDI5IEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9Im11bHRpYnl0ZSBpbnB1dCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9DT0wiCisKK2NhdCAkVFNfU0VMRi9tdWx0aWJ5dGUuZGF0YSB8ICRUU19DTURfQ09MID4gL2Rldi9udWxsICAyPiAkVFNfT1VUUFVUCisKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2NvbC9tdWx0aWJ5dGUuZGF0YSBiL3Rlc3RzL3RzL2NvbC9tdWx0aWJ5dGUuZGF0YQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjAzYWZkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY29sL211bHRpYnl0ZS5kYXRhCkBAIC0wLDAgKzEgQEAKK0RhdGVpbmFtZSBkZXIgVmVyc2FuZGj8bGxlCmRpZmYgLS1naXQgYS90ZXN0cy90cy9jb2xjcnQvY3Jhc2gxIGIvdGVzdHMvdHMvY29sY3J0L2NyYXNoMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NjgxMTgxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY29sY3J0L2NyYXNoMQpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9jb2xjcnQvY3Jhc2gyIGIvdGVzdHMvdHMvY29sY3J0L2NyYXNoMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODQzY2I2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY29sY3J0L2NyYXNoMgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9jb2xjcnQvZnVuY3Rpb25hbCBiL3Rlc3RzL3RzL2NvbGNydC9mdW5jdGlvbmFsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVjOTdkMjQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9jb2xjcnQvZnVuY3Rpb25hbApAQCAtMCwwICsxLDUwIEBACisjIS9iaW4vYmFzaAorCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJmdW5jdGlvbmFsIgorCitleHBvcnQgTENfQ1RZUEU9J0MnCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfQ09MQ1JUIgorCit0c19pbml0X3N1YnRlc3QgJ25vLW9wdGlvbnMnCiskVFNfQ01EX0NPTENSVCA8ICRUU19TRUxGL25hc3R5LWlucHV0ID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9DT0xDUlQgPCAkVFNfU0VMRi91bmRlcmxpbmVzID4+ICRUU19PVVRQVVQgMj4mMQorZWNobyAicmV0dXJuIHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgJ25vLXVuZGVybGluaW5nJworJFRTX0NNRF9DT0xDUlQgLS1uby11bmRlcmxpbmluZyA8ICRUU19TRUxGL25hc3R5LWlucHV0ID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9DT0xDUlQgLS1uby11bmRlcmxpbmluZyA8ICRUU19TRUxGL3VuZGVybGluZXMgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJyZXR1cm4gdmFsdWU6ICQ/IiA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAnaGFsZi1saW5lcycKKyRUU19DTURfQ09MQ1JUIC0taGFsZi1saW5lcyA8ICRUU19TRUxGL25hc3R5LWlucHV0ID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9DT0xDUlQgLS1oYWxmLWxpbmVzIDwgJFRTX1NFTEYvdW5kZXJsaW5lcyA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gInJldHVybiB2YWx1ZTogJD8iID4+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICdzaG9ydC1vcHRpb25zJworJFRTX0NNRF9DT0xDUlQgLSAtMiAkVFNfU0VMRi9uYXN0eS1pbnB1dCA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfQ09MQ1JUIC0gLTIgJFRTX1NFTEYvdW5kZXJsaW5lcyA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gInJldHVybiB2YWx1ZTogJD8iID4+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2NvbGNydC9oYW5nMSBiL3Rlc3RzL3RzL2NvbGNydC9oYW5nMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjYyNTllCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY29sY3J0L2hhbmcxCkBAIC0wLDAgKzEgQEAKKzc4OTo7PD0+PT4/SUFCVVZOWFlaW19gYWJjZGVmZ2cfICEiIyQlJicoKSorLC0uLzAxMjM0KSo6LC0uLzAxMjM0NTY3ODk6O1s9Pj8xMjM0KSo6LC0uLzAxMjM0NTY3ODk6O1s9Pj80NDU2Nzg5Ojs8PT4/SUFCVVZOYGFiY2RlZmcfICEiICQlJicoKSorLC0uLzAxMjN6e3z8fmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS90ZXN0cy90cy9jb2xjcnQvbmFzdHktaW5wdXQgYi90ZXN0cy90cy9jb2xjcnQvbmFzdHktaW5wdXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWU1NDFiYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2NvbGNydC9uYXN0eS1pbnB1dApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9jb2xjcnQvcmVncmVzc2lvbnMgYi90ZXN0cy90cy9jb2xjcnQvcmVncmVzc2lvbnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmFiNzUxYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2NvbGNydC9yZWdyZXNzaW9ucwpAQCAtMCwwICsxLDM1IEBACisjIS9iaW4vYmFzaAorCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJyZWdyZXNzaW9ucyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9DT0xDUlQiCisKK2NoZWNrX2lucHV0X2ZpbGUoKSB7CisJdHNfaW5pdF9zdWJ0ZXN0ICR7MSMjKi99CisJdGltZW91dCAyICRUU19DTURfQ09MQ1JUIDwgJDEgPiAkVFNfT1VUUFVUIDI+JjEKKwllY2hvICJyZXR1cm4gdmFsdWU6ICQ/IiA+PiAkVFNfT1VUUFVUCisJdHNfZmluYWxpemVfc3VidGVzdAorfQorCitjaGVja19pbnB1dF9maWxlICIkVFNfU0VMRi9jcmFzaDEiCitjaGVja19pbnB1dF9maWxlICIkVFNfU0VMRi9jcmFzaDIiCitjaGVja19pbnB1dF9maWxlICIkVFNfU0VMRi9oYW5nMSIKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2NvbGNydC91bmRlcmxpbmVzIGIvdGVzdHMvdHMvY29sY3J0L3VuZGVybGluZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTQwYzdhOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2NvbGNydC91bmRlcmxpbmVzCkBAIC0wLDAgKzEsMjMgQEAKKyAgIDIwMAlfX18KKyAgIDIwMQlhYmMKKyAgIDIwMglfYWJjCisgICAyMDMJYV9iYworICAgMjA0CWFiX2MKKyAgIDIwNQlhYmNfCisgICAyMDYJX19hYmMKKyAgIDIwNwlhX19iYworICAgMjA4CWFiX19jCisgICAyMDkJYWJjX18KKyAgIDIxMAlfYV9iYworICAgMjExCV9hYl9jCisgICAyMTIJYV9iX2MKKyAgIDIxMwlhX19iYworICAgMjE0CWFfYmNfCisgICAyMTUJYWJjX18KKyAgIDIxNglfYWJjXworICAgMjE3CV9hX2JfYworICAgMjE4CV9hX19iYworICAgMjE5CWFfX2JjXworICAgMjIwCV9hYmNfXworICAgMjIxCV9fX2FiYworICAgMjIyCWFiY19fXwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvY29scm0vcm0yLTIgYi90ZXN0cy90cy9jb2xybS9ybTItMgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMTNlNGVjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY29scm0vcm0yLTIKQEAgLTAsMCArMSwyOCBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMTEgU2FtaSBLZXJvbGEgPGtlcm9sYXNhQGlraS5maT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImJhc2ljIGNoZWNrIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0NPTFJNIgorCitwcmludGYgImEgICAgICAgYlxuY1x0ZFxuZWZcYlx0Z1xuIiB8ICRUU19DTURfQ09MUk0gMiAyID4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9jb2x1bW4vZmlsbHJvdyBiL3Rlc3RzL3RzL2NvbHVtbi9maWxscm93Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU3MDA5MjQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9jb2x1bW4vZmlsbHJvdwpAQCAtMCwwICsxLDMxIEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAxMSBTYW1pIEtlcm9sYSA8a2Vyb2xhc2FAaWtpLmZpPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iZmlsbCByb3ciCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfQ09MVU1OIgorCit0c19jZCAiJFRTX09VVERJUiIKKworJFRTX0NNRF9DT0xVTU4gLXggLWMgNTAgJFRTX1NFTEYvaW5wdXQgPj4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2NvbHVtbi9pbnB1dCBiL3Rlc3RzL3RzL2NvbHVtbi9pbnB1dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kM2VhNGE4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY29sdW1uL2lucHV0CkBAIC0wLDAgKzEsMTAgQEAKKzAgMSAyIDMgNCA1CiswIDEgMiAzIDQgNQorMCAxIDIgMyA0IDUKKzAgMSAyIDMgNCA1CiswIDEgMiAzIDQgNQorMCAxIDIgMyA0IDUKKzAgMSAyIDMgNCA1CiswIDEgMiAzIDQgNQorMCAxIDIgMyA0IDUKKzAgMSAyIDMgNCA1CmRpZmYgLS1naXQgYS90ZXN0cy90cy9jb2x1bW4vaW52YWxpZC1tdWx0aWJ5dGUgYi90ZXN0cy90cy9jb2x1bW4vaW52YWxpZC1tdWx0aWJ5dGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTllMzcxMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2NvbHVtbi9pbnZhbGlkLW11bHRpYnl0ZQpAQCAtMCwwICsxLDMwIEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAxNCBTYW1pIEtlcm9sYSA8a2Vyb2xhc2FAaWtpLmZpPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iaW52YWxpZCBtdWx0aWJ5dGUiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfQ09MVU1OIgorCit0c19jZCAiJFRTX09VVERJUiIKKworcHJpbnRmICKjXG4iIHwgTENfQUxMPUMgJFRTX0NNRF9DT0xVTU4gPj4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9jb2x1bW4vbXVsdGktZmlsZSBiL3Rlc3RzL3RzL2NvbHVtbi9tdWx0aS1maWxlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJjN2IzMzEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9jb2x1bW4vbXVsdGktZmlsZQpAQCAtMCwwICsxLDM0IEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAxMSBTYW1pIEtlcm9sYSA8a2Vyb2xhc2FAaWtpLmZpPgorIyAgICAgICAgICAgICAgIDIwMTEgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJtdWx0aXBsZSBmaWxlcyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9DT0xVTU4iCisKK3RzX2NkICIkVFNfT1VURElSIgorCiskVFNfQ01EX0NPTFVNTiAteCAtYyA1MCAkVFNfU0VMRi9pbnB1dCBcCisJCQkkVFNfU0VMRi9pbnB1dCBcCisJCQkkVFNfU0VMRi9pbnB1dCA+PiAkVFNfT1VUUFVUIDI+JjEKKwordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvY29sdW1uL3NlcGFyYXRvcl90YWJsZSBiL3Rlc3RzL3RzL2NvbHVtbi9zZXBhcmF0b3JfdGFibGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2M1Y2FhZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2NvbHVtbi9zZXBhcmF0b3JfdGFibGUKQEAgLTAsMCArMSwzMSBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMTEgU2FtaSBLZXJvbGEgPGtlcm9sYXNhQGlraS5maT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InNlcGFyYXRvciAmIHRhYmxlIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0NPTFVNTiIKKwordHNfY2QgIiRUU19PVVRESVIiCisKKyRUU19DTURfQ09MVU1OIC1zIDIgLXQgJFRTX1NFTEYvaW5wdXQgPj4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2NyYW1mcy9jcmFtZnMtYmlnLmltZyBiL3Rlc3RzL3RzL2NyYW1mcy9jcmFtZnMtYmlnLmltZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZWE1MTZlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY3JhbWZzL2NyYW1mcy1iaWcuaW1nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2NyYW1mcy9jcmFtZnMtbGl0dGxlLmltZyBiL3Rlc3RzL3RzL2NyYW1mcy9jcmFtZnMtbGl0dGxlLmltZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMWRmYWI1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY3JhbWZzL2NyYW1mcy1saXR0bGUuaW1nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2NyYW1mcy9kb3VibGVzIGIvdGVzdHMvdHMvY3JhbWZzL2RvdWJsZXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2Y2ZDA5YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2NyYW1mcy9kb3VibGVzCkBAIC0wLDAgKzEsNTUgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDExIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ibWtmcyBkb3VibGVzIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01LQ1JBTUZTIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VNT1VOVCIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19sb3NldHVwCisKK09SSUdQV0Q9JChwd2QpCitJTUFHRV9OQU1FPSIke1RTX1RFU1ROQU1FfS5pbWciCitJTUFHRV9QQVRIPSIkVFNfT1VURElSLyRJTUFHRV9OQU1FIgorSU1BR0VfU1JDPSIkVFNfT1VURElSLyR7VFNfVEVTVE5BTUV9LWRhdGEiCisKK3RzX2xvZyAiY3JlYXRlIG1vdW50cG9pbnQgZGlyIgorWyAtZCAiJFRTX01PVU5UUE9JTlQiIF0gfHwgbWtkaXIgLXAgJFRTX01PVU5UUE9JTlQKKworbWtkaXIgLXAgJElNQUdFX1NSQworZWNobyBoZWxsbyA+ICRJTUFHRV9TUkMvYQorZWNobyBoZWxsbyA+ICRJTUFHRV9TUkMvYgorCit0c19sb2cgImNyZWF0ZSBjcmFtZnMgaW1hZ2UiCiskVFNfQ01EX01LQ1JBTUZTICRJTUFHRV9TUkMgJElNQUdFX1BBVEggPj4gJFRTX09VVFBVVCAyPiYxCitbIC1zICIkSU1BR0VfUEFUSCIgXSB8fCB0c19kaWUgIkNhbm5vdCBjcmVhdGUgJElNQUdFX1BBVEgiCisKK3RzX21vdW50ICJjcmFtZnMiIC1yICRJTUFHRV9QQVRIICRUU19NT1VOVFBPSU5UCisKKyMgY2hlY2sgaXQKK3RzX2lzX21vdW50ZWQgJFRTX01PVU5UUE9JTlQgfHwgdHNfZGllICJDYW5ub3QgZmluZCAkVFNfTU9VTlRQT0lOVCBpbiAvcHJvYy9tb3VudHMiCisKK3RzX2xvZyAidW1vdW50IHRoZSBpbWFnZSIKKyRUU19DTURfVU1PVU5UICRUU19NT1VOVFBPSU5UCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9jcmFtZnMvZnNjay1lbmRpYW5uZXNzIGIvdGVzdHMvdHMvY3JhbWZzL2ZzY2stZW5kaWFubmVzcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kYjI4N2Y5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY3JhbWZzL2ZzY2stZW5kaWFubmVzcwpAQCAtMCwwICsxLDU4IEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImZzY2sgZW5kaWFubmVzcyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NS0NSQU1GUyIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GU0NLQ1JBTUZTIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX01ENSIKKwordHNfc2tpcF9ub25yb290CisKK0lNQUdFX0xJVFRMRT0iJFRTX1NFTEYvY3JhbWZzLWxpdHRsZS5pbWciCSNLbm93biBnb29kIGxpdHRsZSBlbmRpYW4gaW1hZ2UKK0lNQUdFX0JJRz0iJFRTX1NFTEYvY3JhbWZzLWJpZy5pbWciCQkjS25vd24gZ29vZCBiaWcgZW5kaWFuIGltYWdlCisKK0lNQUdFX0NSRUFURUQ9IiRUU19PVVRESVIvJHtUU19URVNUTkFNRX0tY3JhbWZzLmltZyIJI0ltYWdlIGNyZWF0ZWQgZHVyaW5nIHRoZSB0ZXN0IGFuZCBjb21wYXJlZCBhZ2FpbnN0IHRoZSBrbm93biBpbWFnZXMuCitJTUFHRV9EQVRBPSIkVFNfT1VURElSLyR7VFNfVEVTVE5BTUV9LWRhdGEiCisKK3Rlc3RfaW1hZ2UoKSB7CisJbG9jYWwgRlJPTV9FTkRJQU5ORVNTPSIkMSI7IHNoaWZ0CisJbG9jYWwgVE9fRU5ESUFOTkVTUz0iJDEiOyBzaGlmdAorCWxvY2FsIEZST01fSU1BR0U9IiQxIjsgc2hpZnQKKworCXJtIC1yZiAiJElNQUdFX0RBVEEiCisJdHNfbG9nICJleHRyYWN0IGZyb20gJEZST01fRU5ESUFOTkVTUyBlbmRpYW4iCisJJFRTX0NNRF9GU0NLQ1JBTUZTIC12IC1iIDQwOTYgLS1leHRyYWN0PSRJTUFHRV9EQVRBICRGUk9NX0lNQUdFIHwgaGVhZCAtbjEgfCBjdXQgLWQiICIgLWY0ID4+ICRUU19PVVRQVVQgMj4mMQorCisJdHNfbG9nICJjcmVhdGUgJFRPX0VORElBTk5FU1MgZW5kaWFuIgorCSRUU19DTURfTUtDUkFNRlMgLU4gIiRUT19FTkRJQU5ORVNTIiAtYiA0MDk2ICIkSU1BR0VfREFUQSIgXAorCQkiJElNQUdFX0NSRUFURUQiID4+ICRUU19PVVRQVVQgMj4mMQorCisJIiRUU19IRUxQRVJfTUQ1IiA8ICIkSU1BR0VfQ1JFQVRFRCIgPj4gJFRTX09VVFBVVAorCisJcm0gIiRJTUFHRV9DUkVBVEVEIgorfQorCit0ZXN0X2ltYWdlICJsaXR0bGUiICJiaWciICIkSU1BR0VfTElUVExFIgordGVzdF9pbWFnZSAiYmlnIiAibGl0dGxlIiAiJElNQUdFX0JJRyIKKwordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvY3JhbWZzL21rZnMgYi90ZXN0cy90cy9jcmFtZnMvbWtmcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jYmRlMzY4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY3JhbWZzL21rZnMKQEAgLTAsMCArMSwxMTUgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ibWtmcyBjaGVja3N1bXMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTUtDUkFNRlMiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVU1PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX01ENSIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0hFTFBFUl9TWVNJTkZPIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX2xvc2V0dXAKKworT1JJR1BXRD0kKHB3ZCkKK0lNQUdFX05BTUU9IiR7VFNfVEVTVE5BTUV9LWxvb3AuaW1nIgorSU1BR0VfUEFUSD0iJFRTX09VVERJUi8kSU1BR0VfTkFNRSIKK0lNQUdFX1NSQz0iJFRTX09VVERJUi8ke1RTX1RFU1ROQU1FfS1kYXRhIgorTEFCRUw9InRlc3RDcmFtZnMiCisKK0JZVEVfT1JERVI9JCgkVFNfSEVMUEVSX1NZU0lORk8gYnl0ZS1vcmRlcikKK1BBR0VfU0laRT0kKCRUU19IRUxQRVJfU1lTSU5GTyBwYWdlc2l6ZSkKK2Nhc2UgIiR7QllURV9PUkRFUn06JHtQQUdFX1NJWkV9IiBpbgorCUxFOjQwOTYpIE1ENV9FWFA9ImE2NjY3YWNiMWNiMDY4NWQ5ZWI1YjljZDM3MjQ3NjZjIiA7OworCUxFOjY1NTM2KSBNRDVfRVhQPSJiNjAxMzM2ODI2MDNiMDExODU5MmI1NWYxZGJhMDE3YyIgOzsKKwlCRTo0MDk2KSBNRDVfRVhQPSJlYWYwNTAzMWRjOGVjOTdjOTFiYTVjNzczNjM1Y2M4OSIgOzsKKwlCRTo2NTUzNikgTUQ1X0VYUD0iNTg1OWY4N2IxODViMTE4N2ZjYTNiMmIwMGM4MDljMDMiIDs7CisJKikgZWNobyAid2FybmluZyAke1RTX05TfTogdW5rbm93biBjaGVja3N1bSIgXAorCSAgICAgICAgImZvciAke0JZVEVfT1JERVJ9OiR7UEFHRV9TSVpFfSIKKwkgICBNRDVfRVhQPSJ1bmtub3duIiA7OworZXNhYworCit0c19sb2cgImNyZWF0ZSBtb3VudHBvaW50IGRpciIKKworWyAtZCAiJFRTX01PVU5UUE9JTlQiIF0gfHwgbWtkaXIgLXAgJFRTX01PVU5UUE9JTlQKKwordHNfbG9nICJnZW5lcmF0ZSBkYXRhIgorcm0gLXJmICIkSU1BR0VfU1JDIgorbWtkaXIgLXAgJElNQUdFX1NSQworZm9yIGQgaW4gYHNlcSAwIDExMGA7IGRvCisJRElSTkFNRT0iJElNQUdFX1NSQy8kKHByaW50ZiAiZGlyLSUwM2QiICRkKSIKKwlta2RpciAtcCAkRElSTkFNRQorCWZvciBmIGluIGBzZXEgMCAxMGA7IGRvCisJCUZJTEVOQU1FPSIkRElSTkFNRS8kKHByaW50ZiAiZGF0YS4lMDNkIiAkZikiCisJCXByaW50ZiAiZGF0YSBpbiAlMDNkLSUwM2QiICRkICRmID4+ICRGSUxFTkFNRQorCWRvbmUKK2RvbmUKKwordHNfY2QgIiRJTUFHRV9TUkMiCisKK3RzX2xvZyAibGlzdCBjaGVja3N1bXMgZnJvbSBvcmlnaW5hbCBkYXRhIgorZmluZCAuIC10eXBlIGYgLWV4ZWMgbWQ1c3VtIHt9IFw7IHwgc29ydCA+PiAkVFNfT1VUUFVUCitlY2hvID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJjcmVhdGUgY3JhbWZzIGltYWdlIgorJFRTX0NNRF9NS0NSQU1GUyAtbiAkTEFCRUwgJElNQUdFX1NSQyAkSU1BR0VfUEFUSCA+PiAkVFNfT1VUUFVUIDI+JjEKK1sgLXMgIiRJTUFHRV9QQVRIIiBdIHx8IHRzX2RpZSAiQ2Fubm90IGNyZWF0ZSAkSU1BR0VfUEFUSCIKKwordHNfY2QgIiRUU19PVVRESVIiCisKK3RzX2xvZyAiY291bnQgTUQ1IGZyb20gdGhlIGltYWdlIgorTUQ1X09VVD0kKCIkVFNfSEVMUEVSX01ENSIgPCAiJElNQUdFX05BTUUiKSA+PiAkVFNfT1VUUFVUIDI+JjEKK2lmIFsgIiRNRDVfRVhQIiAhPSAiJE1ENV9PVVQiIC1hICIkTUQ1X0VYUCIgIT0gInVua25vd24iIF07IHRoZW4KKwl0c19sb2cgImlzICRNRDVfT1VULCBzaG91bGQgYmUgJE1ENV9FWFAiCitmaQorZWNobyA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiY3JlYXRlIGxvb3AgZGV2aWNlIGZyb20gaW1hZ2UiCitERVZJQ0U9JCgkVFNfQ01EX0xPU0VUVVAgLS1zaG93IC1mICRJTUFHRV9QQVRIKQordHNfcmVnaXN0ZXJfbG9vcF9kZXZpY2UgIiRERVZJQ0UiCisKK3RzX2xvZyAiY2hlY2sgdGhlIGltYWdlIgordHNfZGV2aWNlX2hhcyAiVFlQRSIgImNyYW1mcyIgJERFVklDRQorWyAgIiQ/IiA9PSAiMCIgXSB8fCB0c19kaWUgIkNhbm5vdCBmaW5kIGNyYW1mcyBvbiAkREVWSUNFIgorCit0c19sb2cgIm1vdW50IHRoZSBpbWFnZSIKK3RzX21vdW50ICJjcmFtZnMiIC1yIC1MICRMQUJFTCAkVFNfTU9VTlRQT0lOVAorCisjIGNoZWNrIGl0Cit0c19pc19tb3VudGVkICRERVZJQ0UgfHwgdHNfZGllICJDYW5ub3QgZmluZCAkREVWSUNFIGluIC9wcm9jL21vdW50cyIKKwordHNfY2QgIiRUU19NT1VOVFBPSU5UIgorCit0c19sb2cgImxpc3QgdGhlIGltYWdlIgorZXhwb3J0IFRaPSdHTVQtMScKK2xzIC1sYVIgLS10aW1lLXN0eWxlPWxvbmctaXNvIC4gfCBzZWQgJ3M6XC4gOiA6ZycgPj4gJFRTX09VVFBVVAorZWNobyA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAibGlzdCBjaGVja3N1bXMgZnJvbSBuZXcgZGF0YSIKK2ZpbmQgLiAtdHlwZSBmIC1leGVjIG1kNXN1bSB7fSBcOyB8IHNvcnQgPj4gJFRTX09VVFBVVAorZWNobyA+PiAkVFNfT1VUUFVUCisKK3RzX2NkICIkT1JJR1BXRCIKKwordHNfbG9nICJ1bW91bnQgdGhlIGltYWdlIgordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvY3JhbWZzL21rZnMtZW5kaWFubmVzcyBiL3Rlc3RzL3RzL2NyYW1mcy9ta2ZzLWVuZGlhbm5lc3MKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzUxMTA4NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2NyYW1mcy9ta2ZzLWVuZGlhbm5lc3MKQEAgLTAsMCArMSw1OSBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJta2ZzIGVuZGlhbm5lc3MiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTUtDUkFNRlMiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfSEVYRFVNUCIKKwordHNfc2tpcF9ub25yb290CisKK0lNQUdFX0RBVEE9IiRUU19PVVRESVIvJHtUU19URVNUTkFNRX0tZGF0YSIKK0lNQUdFX0NSRUFURUQ9IiRUU19PVVRESVIvJHtUU19URVNUTkFNRX0tY3JhbWZzLmltZyIJI0ltYWdlIGNyZWF0ZWQgZHVyaW5nIHRoZSB0ZXN0IGFuZCBjb21wYXJlZCBhZ2FpbnN0IHRoZSBrbm93biBpbWFnZXMuCisKK3Rlc3RfaW1hZ2UoKSB7CisJbG9jYWwgVE9fRU5ESUFOTkVTUz0iJDEiOyBzaGlmdAorCXRzX2xvZyAiY3JlYXRlICRUT19FTkRJQU5ORVNTIGVuZGlhbiIKKworCSRUU19DTURfTUtDUkFNRlMgLU4gIiRUT19FTkRJQU5ORVNTIiAtYiA0MDk2ICIkSU1BR0VfREFUQSIgXAorCQkiJElNQUdFX0NSRUFURUQiID4+ICRUU19PVVRQVVQgMj4mMQorCisJJFRTX0NNRF9IRVhEVU1QIC1DICRJTUFHRV9DUkVBVEVEID4+ICRUU19PVVRQVVQKKworCXJtICIkSU1BR0VfQ1JFQVRFRCIKK30KKworI2dlbmVyYXRlIHRlc3QgZGF0YSwgbXVzdCBiZSBvd25lciByb290CitybSAtcmYgIiRJTUFHRV9EQVRBIgorbWtkaXIgLXAgJElNQUdFX0RBVEEvZGlyQS9kaXJCCit5ZXMgIlRlc3RpbmcgY3JhbWZzIDEyMzQ1Njc4OTAgRW5kaWFubmVzcyBjaGVjayAxMjM0NTY3ODkwIEVuZGlhbm5lc3MgY2hlY2siIFwKKwl8IGRkIG9mPSRJTUFHRV9EQVRBL2RpckEvZGlyQi9hIGJzPTUxMiBjb3VudD0xICY+IC9kZXYvbnVsbAoreWVzICJUZXN0aW5nIGNyYW1mcyAxMjM0NTY3ODkwIEVuZGlhbm5lc3MgY2hlY2sgMTIzNDU2Nzg5MCBFbmRpYW5uZXNzIGNoZWNrIiBcCisJfCBkZCBvZj0kSU1BR0VfREFUQS9kaXJBL2RpckIvYiBicz01MTIgY291bnQ9MzAgJj4gL2Rldi9udWxsCisjIHN1ZG8gbWF5IHVzZSB3aGF0ZXZlciBncm91cAorY2hncnAgLVIgMCAkSU1BR0VfREFUQQorCisjcGVyZm9ybSB0ZXN0cyBmb3IgYm90aCBlbmRpYW5zCit0ZXN0X2ltYWdlICJsaXR0bGUiCit0ZXN0X2ltYWdlICJiaWciCisKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2RtZXNnL2NvbG9ycyBiL3Rlc3RzL3RzL2RtZXNnL2NvbG9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xNTZjYjFlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvZG1lc2cvY29sb3JzCkBAIC0wLDAgKzEsMjggQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iY29sb3JzIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX0RNRVNHIgorCitleHBvcnQgVFo9IkdNVCIKK2V4cG9ydCBETUVTR19URVNUX0JPT1RJTUU9IjEyMzQ1Njc4OTAuMTIzNDU2IgorCiskVFNfSEVMUEVSX0RNRVNHIC0tY29sb3I9YWx3YXlzIC1GICRUU19TRUxGL2lucHV0IC14ID4+ICRUU19PVVRQVVQgMj4vZGV2L251bGwKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2RtZXNnL2NvbnNvbGUtbGV2ZWxzIGIvdGVzdHMvdHMvZG1lc2cvY29uc29sZS1sZXZlbHMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjZhNjRlMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2RtZXNnL2NvbnNvbGUtbGV2ZWxzCkBAIC0wLDAgKzEsMzAgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ibGV2ZWxzIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX0RNRVNHIgorCitleHBvcnQgVFo9IkdNVCIKK2V4cG9ydCBETUVTR19URVNUX0JPT1RJTUU9IjEyMzQ1Njc4OTAuMTIzNDU2IgorCitmb3IgSSBpbiB7LTEuLjh9OyBkbworCSRUU19IRUxQRVJfRE1FU0cgLUYgJFRTX1NFTEYvaW5wdXQgLWwgJEkgPj4gJFRTX09VVFBVVCAyPi9kZXYvbnVsbAorZG9uZQorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvZG1lc2cvZGVjb2RlIGIvdGVzdHMvdHMvZG1lc2cvZGVjb2RlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFkYTJlYWMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9kbWVzZy9kZWNvZGUKQEAgLTAsMCArMSwyOCBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJkZWNvZGUiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfRE1FU0ciCisKK2V4cG9ydCBUWj0iR01UIgorZXhwb3J0IERNRVNHX1RFU1RfQk9PVElNRT0iMTIzNDU2Nzg5MC4xMjM0NTYiCisKKyRUU19IRUxQRVJfRE1FU0cgLXggLUYgJFRTX1NFTEYvaW5wdXQgPj4gJFRTX09VVFBVVCAyPi9kZXYvbnVsbAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvZG1lc2cvZGVsdGEgYi90ZXN0cy90cy9kbWVzZy9kZWx0YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMDk4M2NjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvZG1lc2cvZGVsdGEKQEAgLTAsMCArMSwyOCBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJkZWx0YSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0hFTFBFUl9ETUVTRyIKKworZXhwb3J0IFRaPSJHTVQiCitleHBvcnQgRE1FU0dfVEVTVF9CT09USU1FPSIxMjM0NTY3ODkwLjEyMzQ1NiIKKworJFRTX0hFTFBFUl9ETUVTRyAtZCAtRiAkVFNfU0VMRi9pbnB1dCA+PiAkVFNfT1VUUFVUIDI+L2Rldi9udWxsCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9kbWVzZy9mYWNpbGl0aWVzIGIvdGVzdHMvdHMvZG1lc2cvZmFjaWxpdGllcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kMDA0YTRmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvZG1lc2cvZmFjaWxpdGllcwpAQCAtMCwwICsxLDMwIEBACisjIS9iaW4vYmFzaAorCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImZhY2lsaXRpZXMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfRE1FU0ciCisKK2V4cG9ydCBUWj0iR01UIgorZXhwb3J0IERNRVNHX1RFU1RfQk9PVElNRT0iMTIzNDU2Nzg5MC4xMjM0NTYiCisKK2ZvciBJIGluIHstMS4uMTJ9OyBkbworCSRUU19IRUxQRVJfRE1FU0cgLUYgJFRTX1NFTEYvaW5wdXQgLWYgJEkgPj4gJFRTX09VVFBVVCAyPi9kZXYvbnVsbAorZG9uZQorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvZG1lc2cvaW5kZW50YXRpb24gYi90ZXN0cy90cy9kbWVzZy9pbmRlbnRhdGlvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45OTUyYzY1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvZG1lc2cvaW5kZW50YXRpb24KQEAgLTAsMCArMSw0MCBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJpbmRlbnRhdGlvbiIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0hFTFBFUl9ETUVTRyIKKworZXhwb3J0IFRaPSJHTVQiCitleHBvcnQgRE1FU0dfVEVTVF9CT09USU1FPSIxMjM0NTY3ODkwLjEyMzQ1NiIKKworJFRTX0hFTFBFUl9ETUVTRyAtRiAkVFNfU0VMRi9uZXdsaW5lcyA+ICRUU19PVVRQVVQgMj4mMQorCiskVFNfSEVMUEVSX0RNRVNHIC1GICRUU19TRUxGL25ld2xpbmVzIC14ID4+ICRUU19PVVRQVVQgMj4mMQorCiskVFNfSEVMUEVSX0RNRVNHIC0tdGltZS1mb3JtYXQ9ZGVsdGEgLS1maWxlICRUU19TRUxGL25ld2xpbmVzID4+ICRUU19PVVRQVVQgMj4mMQorCiskVFNfSEVMUEVSX0RNRVNHIC0tdGltZS1mb3JtYXQ9bm90aW1lIC0tZmlsZSAkVFNfU0VMRi9uZXdsaW5lcyA+PiAkVFNfT1VUUFVUIDI+JjEKKworJFRTX0hFTFBFUl9ETUVTRyAtLXRpbWUtZm9ybWF0PXJlbHRpbWUgLS1maWxlICRUU19TRUxGL25ld2xpbmVzID4+ICRUU19PVVRQVVQgMj4mMQorCiskVFNfSEVMUEVSX0RNRVNHIC0tdGltZS1mb3JtYXQ9Y3RpbWUgLS1maWxlICRUU19TRUxGL25ld2xpbmVzID4+ICRUU19PVVRQVVQgMj4mMQorCiskVFNfSEVMUEVSX0RNRVNHIC0tdGltZS1mb3JtYXQ9aXNvIC0tZmlsZSAkVFNfU0VMRi9uZXdsaW5lcyA+PiAkVFNfT1VUUFVUIDI+JjEKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2RtZXNnL2lucHV0IGIvdGVzdHMvdHMvZG1lc2cvaW5wdXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTgzMDdkZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2RtZXNnL2lucHV0CkBAIC0wLDAgKzEsMTA1IEBACis8MD5bICAgIDAuMDAwMDAwXSBleGFtcGxlWzBdCis8MT5bICAgIDEuMDAwMDAwXSBleGFtcGxlWzFdCis8Mj5bICAgIDguMDAwMDAwXSBleGFtcGxlWzJdCis8Mz5bICAgMjcuMDAwMDAwXSBleGFtcGxlWzNdCis8ND5bICAgNjQuMDAwMDAwXSBleGFtcGxlWzRdCis8NT5bICAxMjUuMDAwMDAwXSBleGFtcGxlWzVdCis8Nj5bICAyMTYuMDAwMDAwXSBleGFtcGxlWzZdCis8Nz5bICAzNDMuMDAwMDAwXSBleGFtcGxlWzddCis8OD5bICA1MTIuMDAwMDAwXSBleGFtcGxlWzhdCis8OT5bICA3MjkuMDAwMDAwXSBleGFtcGxlWzldCis8MTA+WyAxMDAwLjAwMDAwMF0gZXhhbXBsZVsxMF0KKzwxMT5bIDEzMzEuMDAwMDAwXSBleGFtcGxlWzExXQorPDEyPlsgMTcyOC4wMDAwMDBdIGV4YW1wbGVbMTJdCis8MTM+WyAyMTk3LjAwMDAwMF0gZXhhbXBsZVsxM10KKzwxND5bIDI3NDQuMDAwMDAwXSBleGFtcGxlWzE0XQorPDE1PlsgMzM3NS4wMDAwMDBdIGV4YW1wbGVbMTVdCis8MTY+WyA0MDk2LjAwMDAwMF0gZXhhbXBsZVsxNl0KKzwxNz5bIDQ5MTMuMDAwMDAwXSBleGFtcGxlWzE3XQorPDE4PlsgNTgzMi4wMDAwMDBdIGV4YW1wbGVbMThdCis8MTk+WyA2ODU5LjAwMDAwMF0gZXhhbXBsZVsxOV0KKzwyMD5bIDgwMDAuMDAwMDAwXSBleGFtcGxlWzIwXQorPDIxPlsgOTI2MS4wMDAwMDBdIGV4YW1wbGVbMjFdCis8MjI+WzEwNjQ4LjAwMDAwMF0gZXhhbXBsZVsyMl0KKzwyMz5bMTIxNjcuMDAwMDAwXSBleGFtcGxlWzIzXQorPDI0PlsxMzgyNC4wMDAwMDBdIGV4YW1wbGVbMjRdCis8MjU+WzE1NjI1LjAwMDAwMF0gZXhhbXBsZVsyNV0KKzwyNj5bMTc1NzYuMDAwMDAwXSBleGFtcGxlWzI2XQorPDI3PlsxOTY4My4wMDAwMDBdIGV4YW1wbGVbMjddCis8Mjg+WzIxOTUyLjAwMDAwMF0gZXhhbXBsZVsyOF0KKzwyOT5bMjQzODkuMDAwMDAwXSBleGFtcGxlWzI5XQorPDMwPlsyNzAwMC4wMDAwMDBdIGV4YW1wbGVbMzBdCis8MzE+WzI5NzkxLjAwMDAwMF0gZXhhbXBsZVszMV0KKzwzMj5bMzI3NjguMDAwMDAwXSBleGFtcGxlWzMyXQorPDMzPlszNTkzNy4wMDAwMDBdIGV4YW1wbGVbMzNdCis8MzQ+WzM5MzA0LjAwMDAwMF0gZXhhbXBsZVszNF0KKzwzNT5bNDI4NzUuMDAwMDAwXSBleGFtcGxlWzM1XQorPDM2Pls0NjY1Ni4wMDAwMDBdIGV4YW1wbGVbMzZdCis8Mzc+WzUwNjUzLjAwMDAwMF0gZXhhbXBsZVszN10KKzwzOD5bNTQ4NzIuMDAwMDAwXSBleGFtcGxlWzM4XQorPDM5Pls1OTMxOS4wMDAwMDBdIGV4YW1wbGVbMzldCis8NDA+WzY0MDAwLjAwMDAwMF0gZXhhbXBsZVs0MF0KKzw0MT5bNjg5MjEuMDAwMDAwXSBleGFtcGxlWzQxXQorPDQyPls3NDA4OC4wMDAwMDBdIGV4YW1wbGVbNDJdCis8NDM+Wzc5NTA3LjAwMDAwMF0gZXhhbXBsZVs0M10KKzw0ND5bODUxODQuMDAwMDAwXSBleGFtcGxlWzQ0XQorPDQ1Pls5MTEyNS4wMDAwMDBdIGV4YW1wbGVbNDVdCis8NDY+Wzk3MzM2LjAwMDAwMF0gZXhhbXBsZVs0Nl0KKzw0Nz5bMTAzODIzLjAwMDAwMF0gZXhhbXBsZVs0N10KKzw0OD5bMTEwNTkyLjAwMDAwMF0gZXhhbXBsZVs0OF0KKzw0OT5bMTE3NjQ5LjAwMDAwMF0gZXhhbXBsZVs0OV0KKzw1MD5bMTI1MDAwLjAwMDAwMF0gZXhhbXBsZVs1MF0KKzw1MT5bMTMyNjUxLjAwMDAwMF0gZXhhbXBsZVs1MV0KKzw1Mj5bMTQwNjA4LjAwMDAwMF0gZXhhbXBsZVs1Ml0KKzw1Mz5bMTQ4ODc3LjAwMDAwMF0gZXhhbXBsZVs1M10KKzw1ND5bMTU3NDY0LjAwMDAwMF0gZXhhbXBsZVs1NF0KKzw1NT5bMTY2Mzc1LjAwMDAwMF0gZXhhbXBsZVs1NV0KKzw1Nj5bMTc1NjE2LjAwMDAwMF0gZXhhbXBsZVs1Nl0KKzw1Nz5bMTg1MTkzLjAwMDAwMF0gZXhhbXBsZVs1N10KKzw1OD5bMTk1MTEyLjAwMDAwMF0gZXhhbXBsZVs1OF0KKzw1OT5bMjA1Mzc5LjAwMDAwMF0gZXhhbXBsZVs1OV0KKzw2MD5bMjE2MDAwLjAwMDAwMF0gZXhhbXBsZVs2MF0KKzw2MT5bMjI2OTgxLjAwMDAwMF0gZXhhbXBsZVs2MV0KKzw2Mj5bMjM4MzI4LjAwMDAwMF0gZXhhbXBsZVs2Ml0KKzw2Mz5bMjUwMDQ3LjAwMDAwMF0gZXhhbXBsZVs2M10KKzw2ND5bMjYyMTQ0LjAwMDAwMF0gZXhhbXBsZVs2NF0KKzw2NT5bMjc0NjI1LjAwMDAwMF0gZXhhbXBsZVs2NV0KKzw2Nj5bMjg3NDk2LjAwMDAwMF0gZXhhbXBsZVs2Nl0KKzw2Nz5bMzAwNzYzLjAwMDAwMF0gZXhhbXBsZVs2N10KKzw2OD5bMzE0NDMyLjAwMDAwMF0gZXhhbXBsZVs2OF0KKzw2OT5bMzI4NTA5LjAwMDAwMF0gZXhhbXBsZVs2OV0KKzw3MD5bMzQzMDAwLjAwMDAwMF0gZXhhbXBsZVs3MF0KKzw3MT5bMzU3OTExLjAwMDAwMF0gZXhhbXBsZVs3MV0KKzw3Mj5bMzczMjQ4LjAwMDAwMF0gZXhhbXBsZVs3Ml0KKzw3Mz5bMzg5MDE3LjAwMDAwMF0gZXhhbXBsZVs3M10KKzw3ND5bNDA1MjI0LjAwMDAwMF0gZXhhbXBsZVs3NF0KKzw3NT5bNDIxODc1LjAwMDAwMF0gZXhhbXBsZVs3NV0KKzw3Nj5bNDM4OTc2LjAwMDAwMF0gZXhhbXBsZVs3Nl0KKzw3Nz5bNDU2NTMzLjAwMDAwMF0gZXhhbXBsZVs3N10KKzw3OD5bNDc0NTUyLjAwMDAwMF0gZXhhbXBsZVs3OF0KKzw3OT5bNDkzMDM5LjAwMDAwMF0gZXhhbXBsZVs3OV0KKzw4MD5bNTEyMDAwLjAwMDAwMF0gZXhhbXBsZVs4MF0KKzw4MT5bNTMxNDQxLjAwMDAwMF0gZXhhbXBsZVs4MV0KKzw4Mj5bNTUxMzY4LjAwMDAwMF0gZXhhbXBsZVs4Ml0KKzw4Mz5bNTcxNzg3LjAwMDAwMF0gZXhhbXBsZVs4M10KKzw4ND5bNTkyNzA0LjAwMDAwMF0gZXhhbXBsZVs4NF0KKzw4NT5bNjE0MTI1LjAwMDAwMF0gZXhhbXBsZVs4NV0KKzw4Nj5bNjM2MDU2LjAwMDAwMF0gZXhhbXBsZVs4Nl0KKzw4Nz5bNjU4NTAzLjAwMDAwMF0gZXhhbXBsZVs4N10KKzw4OD5bNjgxNDcyLjAwMDAwMF0gZXhhbXBsZVs4OF0KKzw4OT5bNzA0OTY5LjAwMDAwMF0gZXhhbXBsZVs4OV0KKzw5MD5bNzI5MDAwLjAwMDAwMF0gZXhhbXBsZVs5MF0KKzw5MT5bNzUzNTcxLjAwMDAwMF0gZXhhbXBsZVs5MV0KKzw5Mj5bNzc4Njg4LjAwMDAwMF0gZXhhbXBsZVs5Ml0KKzw5Mz5bODA0MzU3LjAwMDAwMF0gZXhhbXBsZVs5M10KKzw5ND5bODMwNTg0LjAwMDAwMF0gZXhhbXBsZVs5NF0KKzw5NT5bODU3Mzc1LjAwMDAwMF0gZXhhbXBsZVs5NV0KKzw5Nj5bODg0NzM2LjAwMDAwMF0gZXhhbXBsZVs5Nl0KKzw5Nz5bOTEyNjczLjAwMDAwMF0gZXhhbXBsZVs5N10KKzw5OD5bOTQxMTkyLjAwMDAwMF0gZXhhbXBsZVs5OF0KKzw5OT5bOTcwMjk5LjAwMDAwMF0gZXhhbXBsZVs5OV0KKzwxMDA+WzEwMDAwMDAuMDAwMDAwXSBleGFtcGxlWzEwMF0KKzwxMDE+WzEwMzAzMDEuMDAwMDAwXSBleGFtcGxlWzEwMV0KKzwxMDI+WzEwNjEyMDguMDAwMDAwXSBleGFtcGxlWzEwMl0KKzwxMDM+WzEwOTI3MjcuMDAwMDAwXSBleGFtcGxlWzEwM10KKzwxMDQ+WzExMjQ4NjQuMDAwMDAwXSBleGFtcGxlWzEwNF0KZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2RtZXNnL25ld2xpbmVzIGIvdGVzdHMvdHMvZG1lc2cvbmV3bGluZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmIyOThjNgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2RtZXNnL25ld2xpbmVzCkBAIC0wLDAgKzEsNSBAQAorPDEwPlsgICAgMS4wMDAwMDBdIG5ldworbGluZQorPDIwPlsgICAgMi4wMDAwMDBdIHR3bworbmV3CitsaW5lcwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvZWplY3QvdW1vdW50IGIvdGVzdHMvdHMvZWplY3QvdW1vdW50Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjlmYWFiMjcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9lamVjdC91bW91bnQKQEAgLTAsMCArMSwxMTIgQEAKKyMhL2Jpbi9iYXNoCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InVtb3VudCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GRElTSyIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9FSkVDVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NT1VOVCIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19wcm9nICJta2ZzLmV4dDIiCisKKyMgc2NzaV9kZWJ1ZyBjb3VsZCBub3QgZWplY3QgZm9yIGtlcm5lbCA+PTMuMTkgYW5kIDw0LjQKK2lmIHg9JChlY2hvICIzLjE5IiAmJiB1bmFtZSAtciAmJiBlY2hvICI0LjQiKSBcCisgICAmJiB0ZXN0ICIkeCIgPSAiJChlY2hvICIkeCIgfCBzb3J0IC0tdmVyc2lvbi1zb3J0KSIKK3RoZW4KKwl0c19za2lwICIzLjE5IDw9ICQodW5hbWUgLXNyKSA8IDQuNCIKK2ZpCisKKyMKKyMgTm90ZSB0aGF0IGVqZWN0IC0tZm9yY2UgaXMgcmVxdWlyZWQgYmVjYXVzZSBzY3NpX2RlYnVnIGlzCisjIG5vdCByZW1vdmFibGUgZGV2aWNlLgorIworCisjIHNldCBnbG9iYWwgdmFyaWFibGUgVFNfREVWSUNFCitmdW5jdGlvbiBpbml0X2RldmljZSB7CisJdHNfc2NzaV9kZWJ1Z19pbml0IGRldl9zaXplX21iPTEwMAorfQorCitmdW5jdGlvbiBpbml0X3BhcnRpdGlvbnMgeworCWxvY2FsIGRldj0kMQorCisJdHNfbG9nICJDcmVhdGUgcGFydGl0aW9ucyIKKwkkVFNfQ01EX0ZESVNLICRkZXYgPj4gL2Rldi9udWxsIDI+JjEgPDxFT0YKK24KK3AKKzEKKworKzUwTQorbgorcAorMgorCisKK3AKK3cKK0VPRgorCXVkZXZhZG0gc2V0dGxlCisJbWtmcy5leHQyIC1xICR7ZGV2fTEKKwlta2ZzLmV4dDIgLXEgJHtkZXZ9MgorCXVkZXZhZG0gc2V0dGxlCit9CisKK2Z1bmN0aW9uIGRlaW5pdF9kZXZpY2UgeworCXRzX3Njc2lfZGVidWdfcm1tb2QKK30KKworCit0c19pbml0X3N1YnRlc3QgImJ5LWRpc2siCitpbml0X2RldmljZQorJFRTX0NNRF9FSkVDVCAtLWZvcmNlICRUU19ERVZJQ0UgJiYgdHNfbG9nICJTdWNjZXNzIgorZGVpbml0X2RldmljZQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAiYnktZGlzay1tb3VudGVkIgoraW5pdF9kZXZpY2UKK21rZnMuZXh0MiAtcSAtRiAkVFNfREVWSUNFCit1ZGV2YWRtIHNldHRsZQorbWtkaXIgLXAgJFRTX01PVU5UUE9JTlQKKyRUU19DTURfTU9VTlQgJFRTX0RFVklDRSAkVFNfTU9VTlRQT0lOVAorJFRTX0NNRF9FSkVDVCAtLWZvcmNlICRUU19ERVZJQ0UgJiYgdHNfbG9nICJTdWNjZXNzIgorZGVpbml0X2RldmljZQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAiYnktZGlzay1tb3VudGVkLXBhcnRpdGlvbiIKK2luaXRfZGV2aWNlCitpbml0X3BhcnRpdGlvbnMgJFRTX0RFVklDRQorbWtkaXIgLXAgJHtUU19NT1VOVFBPSU5UfTEKK21rZGlyIC1wICR7VFNfTU9VTlRQT0lOVH0yCiskVFNfQ01EX01PVU5UICR7VFNfREVWSUNFfTEgJHtUU19NT1VOVFBPSU5UfTEKKyRUU19DTURfTU9VTlQgJHtUU19ERVZJQ0V9MiAke1RTX01PVU5UUE9JTlR9MgorJFRTX0NNRF9FSkVDVCAtLWZvcmNlICRUU19ERVZJQ0UgJiYgdHNfbG9nICJTdWNjZXNzIgorZGVpbml0X2RldmljZQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAiYnktcGFydGl0aW9uIgoraW5pdF9kZXZpY2UKK2luaXRfcGFydGl0aW9ucyAkVFNfREVWSUNFCiskVFNfQ01EX0VKRUNUIC0tZm9yY2UgJHtUU19ERVZJQ0V9MSAmJiB0c19sb2cgIlN1Y2Nlc3MiCitkZWluaXRfZGV2aWNlCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJieS1wYXJ0aXRpb24tbW91bnRlZCIKK2luaXRfZGV2aWNlCitpbml0X3BhcnRpdGlvbnMgJFRTX0RFVklDRQorbWtkaXIgLXAgJHtUU19NT1VOVFBPSU5UfTEKK21rZGlyIC1wICR7VFNfTU9VTlRQT0lOVH0yCiskVFNfQ01EX01PVU5UICR7VFNfREVWSUNFfTEgJHtUU19NT1VOVFBPSU5UfTEKKyRUU19DTURfTU9VTlQgJHtUU19ERVZJQ0V9MiAke1RTX01PVU5UUE9JTlR9MgorJFRTX0NNRF9FSkVDVCAtLWZvcmNlICR7VFNfREVWSUNFfTEgJiYgdHNfbG9nICJTdWNjZXNzIgorZGVpbml0X2RldmljZQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9mZGlzay9hbGlnbi01MTItNEsgYi90ZXN0cy90cy9mZGlzay9hbGlnbi01MTItNEsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzMxMmUzNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2ZkaXNrL2FsaWduLTUxMi00SwpAQCAtMCwwICsxLDc4IEBACisjIS9iaW4vYmFzaAorCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKKworIworIyBUZXN0IGFsaWdubWVudCBmb3IgNTEyLzUxMiBkaXNrICp3aXRoKiB0b3BvbG9neSAtLSBhbGlnbmVkIHRvIG9wdGltYWwKKyMgSS9PIHNpemUgKDMyS2lCKQorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJhbGlnbiA1MTIvNEsiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRkRJU0siCisKK3RzX3NraXBfbm9ucm9vdAorCisjIHNldCBnbG9iYWwgdmFyaWFibGUgVFNfREVWSUNFCit0c19zY3NpX2RlYnVnX2luaXQgZGV2X3NpemVfbWI9NTAgc2VjdG9yX3NpemU9NTEyIHBoeXNibGtfZXhwPTMKK0RFVk5BTUU9JChiYXNlbmFtZSAkVFNfREVWSUNFKQorCit0c19sb2cgIkNyZWF0ZSBwYXJ0aXRpb25zIgorJFRTX0NNRF9GRElTSyAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxIDw8RU9GCituCitwCisxCisKKysxME0KK24KK3AKKzIKKworKzEwTQorbgorcAorMworCisrMTBNCituCitlCisKKworbgorCisrNU0KK24KKworKzVNCituCisKKworcAordworcQorRU9GCisKK3VkZXZhZG0gc2V0dGxlCit0c19sb2cgIkFsaWdubWVudCBvZmZzZXRzOiIKK2NhdCAvc3lzL2Jsb2NrLyR7REVWTkFNRX0vJHtERVZOQU1FfXsxLDIsMyw0LDUsNiw3fS9hbGlnbm1lbnRfb2Zmc2V0ID4+ICRUU19PVVRQVVQgMj4mMQorCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9mZGlzay9hbGlnbi01MTItNEstNjMgYi90ZXN0cy90cy9mZGlzay9hbGlnbi01MTItNEstNjMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjg0NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2ZkaXNrL2FsaWduLTUxMi00Sy02MwpAQCAtMCwwICsxLDc5IEBACisjIS9iaW4vYmFzaAorCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKKworIworIyBUZXN0IGFsaWdubWVudCBmb3IgNTEyLzUxMiBkaXNrICp3aXRoKiB0b3BvbG9neSAtLSBhbGlnbmVkIHRvIG9wdGltYWwKKyMgSS9PIHNpemUgKDMyS2lCKQorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJhbGlnbiA1MTIvNEsgK2FsaWdubWVudF9vZmZzZXQiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRkRJU0siCisKK3RzX3NraXBfbm9ucm9vdAorCisjIHNldCBnbG9iYWwgdmFyaWFibGUgVFNfREVWSUNFCit0c19zY3NpX2RlYnVnX2luaXQgZGV2X3NpemVfbWI9NTAgc2VjdG9yX3NpemU9NTEyIHBoeXNibGtfZXhwPTMgbG93ZXN0X2FsaWduZWQ9NworREVWTkFNRT0kKGJhc2VuYW1lICRUU19ERVZJQ0UpCisKK3RzX2xvZyAiQ3JlYXRlIHBhcnRpdGlvbnMiCiskVFNfQ01EX0ZESVNLICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEgPDxFT0YKK24KK3AKKzEKKworKzEwTQorbgorcAorMgorCisrMTBNCituCitwCiszCisKKysxME0KK24KK2UKKworCituCisKKys1TQorbgorCisrNU0KK24KKworCitwCit3CitxCitFT0YKKwordWRldmFkbSBzZXR0bGUKK3RzX2xvZyAiQWxpZ25tZW50IG9mZnNldHM6IgorY2F0IC9zeXMvYmxvY2svJHtERVZOQU1FfS8ke0RFVk5BTUV9ezEsMiwzLDQsNSw2LDd9L2FsaWdubWVudF9vZmZzZXQgPj4gJFRTX09VVFBVVCAyPiYxCisKKwordHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvZmRpc2svYWxpZ24tNTEyLTRLLW1kIGIvdGVzdHMvdHMvZmRpc2svYWxpZ24tNTEyLTRLLW1kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA0YzNkZjYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9mZGlzay9hbGlnbi01MTItNEstbWQKQEAgLTAsMCArMSw5MyBAQAorIyEvYmluL2Jhc2gKKworIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCisKKyMKKyMgVGVzdCBhbGlnbm1lbnQgZm9yIDUxMi81MTIgZGlzayAqd2l0aCogdG9wb2xvZ3kgLS0gYWxpZ25lZCB0byBvcHRpbWFsCisjIEkvTyBzaXplICgzMktpQikKKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iYWxpZ24gNTEyLzRLICtNRCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GRElTSyIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19wcm9nICJtZGFkbSIKKworIyBzZXQgZ2xvYmFsIHZhcmlhYmxlIFRTX0RFVklDRQordHNfc2NzaV9kZWJ1Z19pbml0IGRldl9zaXplX21iPTUwIHNlY3Rvcl9zaXplPTUxMiBwaHlzYmxrX2V4cD0zCitERVZOQU1FPSQoYmFzZW5hbWUgJFRTX0RFVklDRSkKKwordHNfbG9nICJDcmVhdGUgcGFydGl0aW9ucyIKKyRUU19DTURfRkRJU0sgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMSA8PEVPRgorbgorcAorMQorCisrMjBNCituCitwCisyCisKKworcAordworcQorRU9GCisKK3VkZXZhZG0gc2V0dGxlCit0c19sb2cgIkFsaWdubWVudCBvZmZzZXRzOiIKK2NhdCAvc3lzL2Jsb2NrLyR7REVWTkFNRX0vJHtERVZOQU1FfXsxLDJ9L2FsaWdubWVudF9vZmZzZXQgPj4gJFRTX09VVFBVVCAyPiYxCisKK01EX0RFVk5BTUU9bWQ4CitNRF9ERVZJQ0U9L2Rldi8ke01EX0RFVk5BTUV9CisKK21kYWRtIC1xIC1TICR7TURfREVWSUNFfSAmPiAvZGV2L251bGwKK21kYWRtIC1xIC0tY3JlYXRlICR7TURfREVWSUNFfSAtLW1ldGFkYXRhPTAuOTAgLS1jaHVuaz02NCBcCisJICAgIC0tbGV2ZWw9MCAtLXJhaWQtZGV2aWNlcz0yICR7VFNfREVWSUNFfTEgJHtUU19ERVZJQ0V9MiA+PiAkVFNfT1VUUFVUIDI+JjEKKwordWRldmFkbSBzZXR0bGUKK3RzX2xvZyAiQ3JlYXRlIHBhcnRpdGlvbnMgKE1EKSIKKyRUU19DTURfRkRJU0sgJHtNRF9ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMSA8PEVPRgorbgorcAorMQorCisrMTBNCituCitwCisyCisKKysxME0KK3AKK3cKK3EKK0VPRgorCit1ZGV2YWRtIHNldHRsZQordHNfbG9nICJBbGlnbm1lbnQgb2Zmc2V0cyAoTUQpOiIKK2NhdCAvc3lzL2Jsb2NrLyR7TURfREVWTkFNRX0vJHtNRF9ERVZOQU1FfXB7MSwyfS9hbGlnbm1lbnRfb2Zmc2V0ID4+ICRUU19PVVRQVVQgMj4mMQorCittZGFkbSAtcSAtUyAke01EX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3RzX2ZkaXNrX2NsZWFuICRNRF9ERVZJQ0UKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2ZkaXNrL2FsaWduLTUxMi01MTIgYi90ZXN0cy90cy9mZGlzay9hbGlnbi01MTItNTEyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE5NTA2ZWEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9mZGlzay9hbGlnbi01MTItNTEyCkBAIC0wLDAgKzEsNzIgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworIworIyBUZXN0IGRlZmF1bHQgMU1pQiAoMjA0OCBzZWN0b3JzKSBhbGlnbm1lbnQgZm9yIDUxMi81MTIgZGlzayAqd2l0aG91dCoKKyMgdG9wb2xvZ3kuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImFsaWduIDUxMi81MTIiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRkRJU0siCisKK3RzX3NraXBfbm9ucm9vdAordHNfY2hlY2tfbG9zZXR1cAorCit0c19kZXZpY2VfaW5pdCA1MAorREVWSUNFPSRUU19MT0RFVgorCit0c19sb2cgIkNyZWF0ZSBwYXJ0aXRpb25zIgorJFRTX0NNRF9GRElTSyAke0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxIDw8RU9GCituCitwCisxCisKKysxME0KK24KK3AKKzIKKworKzEwTQorbgorcAorMworCisrMTBNCituCitlCisKKworbgorCisrNU0KK24KKworKzVNCituCisKKworcAorcQorRU9GCisKK3RzX2ZkaXNrX2NsZWFuICRERVZJQ0UKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2ZkaXNrL2FsaWduLTUxMi01MTItdG9wb2xvZ3kgYi90ZXN0cy90cy9mZGlzay9hbGlnbi01MTItNTEyLXRvcG9sb2d5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjgwMmVhNjEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9mZGlzay9hbGlnbi01MTItNTEyLXRvcG9sb2d5CkBAIC0wLDAgKzEsNzggQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworCisjCisjIFRlc3QgYWxpZ25tZW50IGZvciA1MTIvNTEyIGRpc2sgKndpdGgqIHRvcG9sb2d5IC0tIGFsaWduZWQgdG8gb3B0aW1hbAorIyBJL08gc2l6ZSAoMzJLaUIpCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImFsaWduIDUxMi81MTIgK3RvcG9sb2d5IgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZESVNLIgorCit0c19za2lwX25vbnJvb3QKKworIyBzZXQgZ2xvYmFsIHZhcmlhYmxlIFRTX0RFVklDRQordHNfc2NzaV9kZWJ1Z19pbml0IGRldl9zaXplX21iPTUwIHNlY3Rvcl9zaXplPTUxMgorREVWTkFNRT0kKGJhc2VuYW1lICRUU19ERVZJQ0UpCisKK3RzX2xvZyAiQ3JlYXRlIHBhcnRpdGlvbnMiCiskVFNfQ01EX0ZESVNLICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEgPDxFT0YKK24KK3AKKzEKKworKzEwTQorbgorcAorMgorCisrMTBNCituCitwCiszCisKKysxME0KK24KK2UKKworCituCisKKys1TQorbgorCisrNU0KK24KKworCitwCit3CitxCitFT0YKKwordWRldmFkbSBzZXR0bGUKK3RzX2xvZyAiQWxpZ25tZW50IG9mZnNldHM6IgorY2F0IC9zeXMvYmxvY2svJHtERVZOQU1FfS8ke0RFVk5BTUV9ezEsMiwzLDQsNSw2LDd9L2FsaWdubWVudF9vZmZzZXQgPj4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2ZkaXNrL2JzZCBiL3Rlc3RzL3RzL2ZkaXNrL2JzZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NTNiMDg3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvZmRpc2svYnNkCkBAIC0wLDAgKzEsMTQxIEBACisjIS9iaW4vYmFzaAorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9Im5lc3RlZCBCU0QiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRkRJU0siCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfSEVYRFVNUCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0hFTFBFUl9TWVNJTkZPIgorCitGRElTS19DTURfQ1JFQVRFX0RPU0xBQkVMPSJvXG4iICAgICAgICAgICAgICAjIGNyZWF0ZSBkb3MgbGFiZWwKK0ZESVNLX0NNRF9TRVRJRD0ieFxuaVxuMHgxXG5yXG4iICAgICAgICAgICAgICMgc2V0IG5vbi1yYW5kb20gSUQKK0ZESVNLX0NNRF9XUklURV9DTE9TRT0id1xucVxuIiAgICAgICAgICAgICAgICMgd3JpdGUgdG8gaW1hZ2UKK0ZESVNLX0NNRF9DUkVBVEVfUFJJTUFSWTE9Im5cbnBcbjFcblxuKzFNXG4iICMgMXN0IHByaW1hcnkgcGFydGl0aW9uIG9mIHNpemUgMU1pQgorRkRJU0tfQ01EX0NSRUFURV9QUklNQVJZMj0iblxucFxuMlxuXG5cbiIgICAgIyAybmQgcHJpbWFyeSBwYXJ0aXRpb24gZm9yIHdob2xlIG9mIHRoZSBkaXNrCitGRElTS19DTURfQ0hBTkdFX1BBUlQyVFlQRT0idFxuMlxuYTVcbiIgICAgICAjIGNoYW5nZSBwYXJ0aXRpb24gdHlwZSBGcmVlQlNECisKK0ZESVNLX0NNRF9CU0RfQ1JFQVRFPSJiXG55XG4iICAgICAgICAgICAgICAgICMgY3JlYXRlIG5lc3RlZCBCU0QgUFQKK0ZESVNLX0NNRF9CU0RfTElTVD0iYlxucFxuclxucVxuIiAgICAgICAgICAgICMgbGlzdCBuZXN0ZWQgQlNEIFBUIGFuZCBxdWl0CitGRElTS19DTURfQlNEX0NSRUFURV9QQVJUPSJiXG5uXG5hXG5cbisxTVxuIiAjIGFkZCBCU0QgcGFydGl0aW9uICdhJywgc2l6ZSAxTWlCCitGRElTS19DTURfQlNEX1BBUlRUWVBFPSJiXG50XG5hXG43XG4iICAgICAgICAjIHNldCBwYXJ0aXRpb24gJ2EnIHRvIHR5cGUgNC4yQlNECitGRElTS19DTURfQlNEX0xJU1RfVFlQRVM9ImJcbmxcbnFcbiIgICAgICAgICAjIGxpc3Qgc3VwcG9ydGVkIFBUIHR5cGVzIGFuZCBxdWl0CisKKyNzZXQgLXgKKworIyBCU0QgZGlza2xhYmVsIGRlcGVuZHMgb24gZW5kaWFubmVzcworQllURV9PUkRFUj0kKCRUU19IRUxQRVJfU1lTSU5GTyBieXRlLW9yZGVyKQorCisjIGFuZCBhbHNvIG9uIGFyY2gtc3BlY2lmaWMgb2Zmc2V0IChzZWUgaW5jbHVkZS9wdC1ic2QuaCkKK0FSQ0g9JCh1bmFtZSAtbSkKK2Nhc2UgJEFSQ0ggaW4KKwkjIHNlZSBpbmNsdWRlL3B0LWJzZC5oCisJKmFscGhhKiB8ICpwcGMqIHwgKmlhNjQqIHwgKmhwcGEqIHwgKnBhcmlzYyogKQorCQlCU0RfTEFCRUxTRUNUT1I9MAorCQlCU0RfTEFCRUxPRkZTRVQ9NjQKKwkJOzsKKwkqKQorCQlCU0RfTEFCRUxTRUNUT1I9MQorCQlCU0RfTEFCRUxPRkZTRVQ9MAorCQk7OworZXNhYworCisjIGFuZCBjb250YWlucyBleHRyYSBvcHRpb25zIGZvciBhbHBoYQorQlNEX0VYVFJBPSIiCitjYXNlICRBUkNIIGluCisJKmFscGhhKikKKwkJQlNEX0VYVFJBPSJfYWxwaGEiCisJCTs7Citlc2FjCisKK2VjaG8gIkJTRF9MQUJFTFNFQ1RPUj0kQlNEX0xBQkVMU0VDVE9SIiA+PiAkVFNfT1VUUFVUCitlY2hvICJCU0RfTEFCRUxPRkZTRVQ9JEJTRF9MQUJFTE9GRlNFVCIgPj4gJFRTX09VVFBVVAorZWNobyAiQlNEX0VYVFJBPSRCU0RfRVhUUkEiID4+ICRUU19PVVRQVVQKK2VjaG8gIkJZVEVfT1JERVI9JEJZVEVfT1JERVIiID4+ICRUU19PVVRQVVQKK2VjaG8gPj4gJFRTX09VVFBVVAorCitUU19FWFBFQ1RFRCs9Il8ke0JTRF9MQUJFTFNFQ1RPUn1fJHtCU0RfTEFCRUxPRkZTRVR9JHtCU0RfRVhUUkF9LiR7QllURV9PUkRFUn0iCisKK2Z1bmN0aW9uIHByaW50X2xheW91dCB7CisJZWNobyAtbmUgIlxuLS0tbGF5b3V0LS0tLS0tLS0tLVxuIiA+PiAkVFNfT1VUUFVUCisJJFRTX0NNRF9GRElTSyAtbCAke1RFU1RfSU1BR0VfTkFNRX0gID4+ICRUU19PVVRQVVQKKwllY2hvIC1uZSAgICItLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiIgPj4gJFRTX09VVFBVVAorfQorCitmdW5jdGlvbiBwcmludF9ic2RfbGF5b3V0IHsKKwllY2hvIC1uZSAiXG4tLS1sYXlvdXQtLS0tLS0tLS0tXG4iID4+ICRUU19PVVRQVVQKKwllY2hvIC1lICIke0ZESVNLX0NNRF9CU0RfTElTVH0iIHwgXAorCQkJJFRTX0NNRF9GRElTSyAke1RFU1RfSU1BR0VfTkFNRX0gPj4gJFRTX09VVFBVVAorCWVjaG8gLW5lICAgIi0tLS0tLS0tLS0tLS0tLS0tLS1cblxuIiA+PiAkVFNfT1VUUFVUCit9CisKK3RzX2xvZyAiSW5pdGlhbGl6ZSBlbXB0eSBpbWFnZSIKK1RFU1RfSU1BR0VfTkFNRT0kKHRzX2ltYWdlX2luaXQgMTApCiskVFNfQ01EX0hFWERVTVAgLUMgJHtURVNUX0lNQUdFX05BTUV9ID4+ICRUU19PVVRQVVQgMj4mMQorCit0c19sb2cgIkNyZWF0ZSBuZXcgRE9TIHBhcnRpdGlvbiB0YWJsZSIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0NSRUFURV9ET1NMQUJFTH0ke0ZESVNLX0NNRF9TRVRJRH0ke0ZESVNLX0NNRF9XUklURV9DTE9TRX0iIFwKKwkgfCAkVFNfQ01EX0ZESVNLICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKKyRUU19DTURfSEVYRFVNUCAtQyAke1RFU1RfSU1BR0VfTkFNRX0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3ByaW50X2xheW91dAorCit0c19sb2cgIkNyZWF0ZSAxc3QgcHJpbWFyeSBwYXJ0aXRpb24iCitlY2hvIC1lICIke0ZESVNLX0NNRF9DUkVBVEVfUFJJTUFSWTF9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiB8IFwKKwkkVFNfQ01EX0ZESVNLICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKKyRUU19DTURfSEVYRFVNUCAtQyAke1RFU1RfSU1BR0VfTkFNRX0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3ByaW50X2xheW91dAorCit0c19sb2cgIkNyZWF0ZSAyc3QgcHJpbWFyeSBwYXJ0aXRpb24iCitlY2hvIC1lICIke0ZESVNLX0NNRF9DUkVBVEVfUFJJTUFSWTJ9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiB8IFwKKwkkVFNfQ01EX0ZESVNLICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKKyRUU19DTURfSEVYRFVNUCAtQyAke1RFU1RfSU1BR0VfTkFNRX0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2xvZyAiU2V0IDJuZCBwYXJ0aXRpb24gdHlwZSIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0NIQU5HRV9QQVJUMlRZUEV9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiB8IFwKKwkkVFNfQ01EX0ZESVNLICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKKyRUU19DTURfSEVYRFVNUCAtQyAke1RFU1RfSU1BR0VfTkFNRX0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3ByaW50X2xheW91dAorCit0c19sb2cgIkNyZWF0ZSBkZWZhdWx0IEJTRCIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0JTRF9DUkVBVEV9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiB8IFwKKwkkVFNfQ01EX0ZESVNLICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKKyRUU19DTURfSEVYRFVNUCAtQyAke1RFU1RfSU1BR0VfTkFNRX0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3ByaW50X2JzZF9sYXlvdXQKKworZWNobyAtZSAiJHtGRElTS19DTURfQlNEX0NSRUFURV9QQVJUfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgfCBcCisJJFRTX0NNRF9GRElTSyAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCisKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0JTRF9QQVJUVFlQRX0ke0ZESVNLX0NNRF9XUklURV9DTE9TRX0iIHwgXAorCSRUU19DTURfRkRJU0sgJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAorJFRTX0NNRF9IRVhEVU1QIC1DICR7VEVTVF9JTUFHRV9OQU1FfSA+PiAkVFNfT1VUUFVUIDI+JjEKKworcHJpbnRfYnNkX2xheW91dAorCitlY2hvIC1lICIke0ZESVNLX0NNRF9CU0RfTElTVF9UWVBFU30iIHwgXAorCSRUU19DTURfRkRJU0sgJHtURVNUX0lNQUdFX05BTUV9IHwgXAorCXNlZCAncy9SZWFkaW5nIC4qLy9nOyBzL1dlbGNvbWUgdG8gZmRpc2sgLiovLycgPj4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2ZkaXNrX2NsZWFuICR7VEVTVF9JTUFHRV9OQU1FfQordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2ZkaXNrL2dwdCBiL3Rlc3RzL3RzL2ZkaXNrL2dwdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MmRjZTZkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvZmRpc2svZ3B0CkBAIC0wLDAgKzEsOTYgQEAKKyMhL2Jpbi9iYXNoCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIENvcHlyaWdodCAoQykgMjAxMyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iR1BUIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZESVNLIgorCitGRElTS19DTURfQ1JFQVRFX0dQVExBQkVMPSJnXG4iICAgICAgICAgICAgICAjIGNyZWF0ZSBHUFQgbGFiZWwKK0ZESVNLX0NNRF9XUklURV9DTE9TRT0id1xucVxuIiAgICAgICAgICAgICAgICMgd3JpdGUgdG8gaW1hZ2UKKworRkRJU0tfQ01EX0NIQU5HRV9UWVBFX0JZX05VTT0idFxuMVxuMVxuIiAgICAgIyBzZXQgMXN0IHBhcnRpdGlvbiB0byBFRkkgU3lzdGVtCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHNldCA1dGggcGFydGl0aW9uIHRvIExpbnV4IHN3YXAKK0ZESVNLX0NNRF9DSEFOR0VfVFlQRV9CWV9VVUlEPSJ0XG41XG4wNjU3RkQ2RC1BNEFCLTQzQzQtODRFNS0wOTMzQzg0QjRGNEZcbiIKKworRkRJU0tfQ01EX0RFTEVURV9QQVJUPSJkXG4yXG4iICAgICAgICAgICAgICAgIyBkZWxldGUgMm5kIHBhcnRpdGlvbgorRkRJU0tfQ01EX0NSRUFURV9QQVJUPSJuXG4yXG5cblxuIiAgICAgICAgICAgIyBjcmVhdGUgMm5kIHBhcnRpdGlvbgorCitmdW5jdGlvbiBwcmludF9sYXlvdXQgeworCWVjaG8gLW5lICJcbi0tLWxheW91dC0tLS0tLS0tLS1cbiIgPj4gJFRTX09VVFBVVAorCSRUU19DTURfRkRJU0sgLWwgJHtURVNUX0lNQUdFX05BTUV9ID4+ICRUU19PVVRQVVQgMj4mMQorCWVjaG8gLW5lICAgIi0tLS0tLS0tLS0tLS0tLS0tLS1cblxuIiA+PiAkVFNfT1VUUFVUCit9CisKK3RzX2xvZyAiSW5pdGlhbGl6ZSBlbXB0eSBpbWFnZSIKK1RFU1RfSU1BR0VfTkFNRT0kKHRzX2ltYWdlX2luaXQgMTApCisKK3RzX2xvZyAiQ3JlYXRlIG5ldyBHUFQgcGFydGl0aW9uIHRhYmxlIgorZWNobyAtZSAiJHtGRElTS19DTURfQ1JFQVRFX0dQVExBQkVMfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgXAorCSB8ICRUU19DTURfRkRJU0sgJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAorCitwcmludF9sYXlvdXQKKwordHNfbG9nICJDcmVhdGUgcGFydGl0aW9ucyIKK2ZvciBpIGluIHsxLi44fTsgZG8KKwllY2hvIC1lICJuXG4ke2l9XG5cbisxTVxuJHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiB8IFwKKwkkVFNfQ01EX0ZESVNLICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKK2RvbmUKKwordHNfbG9nICJDaGFuZ2UgcGFydGl0aW9uIHR5cGUgYnkgbnVtYmVyIgorZWNobyAtZSAiJHtGRElTS19DTURfQ0hBTkdFX1RZUEVfQllfTlVNfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgXAorCSB8ICRUU19DTURfRkRJU0sgJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAorCitwcmludF9sYXlvdXQKKwordHNfbG9nICJDaGFuZ2UgcGFydGl0aW9uIHR5cGUgYnkgVVVJRCIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0NIQU5HRV9UWVBFX0JZX1VVSUR9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiBcCisJIHwgJFRTX0NNRF9GRElTSyAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCisKK3ByaW50X2xheW91dAorCit0c19sb2cgIkRlbGV0ZSBwYXJ0aXRpb24iCitlY2hvIC1lICIke0ZESVNLX0NNRF9ERUxFVEVfUEFSVH0ke0ZESVNLX0NNRF9XUklURV9DTE9TRX0iIFwKKwkgfCAkVFNfQ01EX0ZESVNLICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKKworcHJpbnRfbGF5b3V0CisKK3RzX2xvZyAiQ3JlYXRlIGFnYWluIHBhcnRpdGlvbiIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0NSRUFURV9QQVJUfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgXAorCSB8ICRUU19DTURfRkRJU0sgJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAorCitwcmludF9sYXlvdXQKKwordHNfbG9nICJDb3JydXB0IHByaW1hcnkgdGFibGUiCitkZCBpZj0vZGV2L3plcm8gb2Y9JHtURVNUX0lNQUdFX05BTUV9IGJzPTUxMiBjb3VudD0xIHNlZWs9MSBjb252PW5vdHJ1bmMgJj4gL2Rldi9udWxsCitlY2hvIC1lICJ3XG4iIHwgJFRTX0NNRF9GRElTSyAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCisKK3ByaW50X2xheW91dAorCit0c19sb2cgIkNvcnJ1cHQgYmFja3VwIHRhYmxlIgorZGQgaWY9L2Rldi96ZXJvIG9mPSR7VEVTVF9JTUFHRV9OQU1FfSBicz01MTIgY291bnQ9MSBcCisJc2Vlaz0kKCggMTAyNCAqIDEwMjQgKiAxMCAvIDUxMiAtIDEpKSBjb252PW5vdHJ1bmMgJj4gL2Rldi9udWxsCitlY2hvIC1lICJ3XG4iIHwgJFRTX0NNRF9GRElTSyAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCisKK3ByaW50X2xheW91dAorCit0c19mZGlza19jbGVhbiAke1RFU1RfSU1BR0VfTkFNRX0KK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9mZGlzay9pZCBiL3Rlc3RzL3RzL2ZkaXNrL2lkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg1Yjg3ZDYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9mZGlzay9pZApAQCAtMCwwICsxLDUyIEBACisjIS9iaW4vYmFzaAorCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9Ik1CUiAtIGlkIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZESVNLIgorCitGRElTS19DTURfSUQxPSJ4XG5pXG4weDFcbnJcbndcbiIKK0ZESVNLX0NNRF9JRDI9InhcbmlcbjB4Mlxuclxud1xuIgorCisjIFNwYXJjIHVzZXMgU1VOIGRpc2sgbGFiZWxzIGJ5IGRlZmF1bHQgYW5kIHRodXMgaGFzIGEgZGlmZmVyZW50IG91dHB1dAorQVJDSD0kKHVuYW1lIC1tKQorY2FzZSAkQVJDSCBpbgorCSpzcGFyYyogKQorCQlBUkNIX0VYVD0iLnNwYXJjIgorCQk7OworCSopCisJCUFSQ0hfRVhUPSIiCisJCTs7Citlc2FjCisKK1RTX0VYUEVDVEVEKz0iJHtBUkNIX0VYVH0iCisKK3RzX2xvZyAiSW5pdGlhbGl6ZSBlbXB0eSBpbWFnZSIKK1RFU1RfSU1BR0VfTkFNRT0kKHRzX2ltYWdlX2luaXQgMTApCisKK3RzX2xvZyAiQ3JlYXRlIE1CUiB3aXRoIElEPTB4MSIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0lEMX0iIHwgJFRTX0NNRF9GRElTSyAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCiskVFNfQ01EX0ZESVNLIC1sICR7VEVTVF9JTUFHRV9OQU1FfSB8IGdyZXAgaWRlbnRpZmllciA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiQ3JlYXRlIE1CUiB3aXRoIElEPTB4MiIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0lEMn0iIHwgJFRTX0NNRF9GRElTSyAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCiskVFNfQ01EX0ZESVNLIC1sICR7VEVTVF9JTUFHRV9OQU1FfSB8IGdyZXAgaWRlbnRpZmllciA+PiAkVFNfT1VUUFVUCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9mZGlzay9tYnItZG9zLW1vZGUgYi90ZXN0cy90cy9mZGlzay9tYnItZG9zLW1vZGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjE5ZGYyZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2ZkaXNrL21ici1kb3MtbW9kZQpAQCAtMCwwICsxLDEzNCBAQAorIyEvYmluL2Jhc2gKKworIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIworIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJNQlIgLSBkb3MgbW9kZSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GRElTSyIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0hFTFBFUl9NRDUiCisKK0ZESVNLX0NNRF9JTklUPSJ4XG5pXG4weDFcbnJcbiIKK0ZESVNLX0NNRF9XUklURV9DTE9TRT0id1xucVxuIgorRkRJU0tfQ01EX0NSRUFURV9ET1NMQUJFTD0ib1xuIiAjY3JlYXRlIGRvcyBsYWJlbAorRkRJU0tfQ01EX0NSRUFURV9QUklNQVJZPSJuXG5wXG4xXG5cbisxTVxuIiAjIGNyZWF0ZSBwcmltYXJ5IHBhcnRpdGlvbiAxIG9mIHNpemUgMU1CCitGRElTS19DTURfQ0hBTkdFX1BBUlRUWVBFPSJ0XG5iZlxuIiAjIGNoYW5nZSBwYXJ0aXRpb24gdHlwZSB0byAiYmYgLSBzb2xhcmlzIiwgdGhpcyByZXF1aXJlcyB0aGF0IHRoZXJlIGlzIG9ubHkgb25lIHBhcnRpdGlvbiB0byBjaGFuZ2UKK0ZESVNLX0NNRF9TRVRfQUNUSVZFPSJhXG4xXG4iICMgc2V0IGZpcnN0IHBhcnRpdGlvbiBhY3RpdmUKK0ZESVNLX0NNRF9DUkVBVEVfRVhURU5ERUQ9Im5cbmVcbjJcblxuKzEwXG4iICMgY3JlYXRlIGV4dGVuZGVkIHBhcnRpdGlvbiAyIG9mIHNpemUgMTEgY3lsaW5kZXJzCitGRElTS19DTURfQ1JFQVRFX0xPR0lDQUw9Im5cbmxcblxuKzFcbiIgIyBjcmVhdGUgbmV4dCBsb2dpY2FsIHBhcnRpdGlvbiBvZiBzaXplIDIgY3lsCitGRElTS19DTURfREVMRVRFX0xPR0lDQUxTPSJkXG42XG5kXG41XG5kXG42XG4iICMgZGVsZXRlIG1pZGRsZSwgaGVhZCwgdGFpbCwgbGFzdCBwYXJ0aXRpb25zCitGRElTS19DTURfREVMRVRFX1BSSU1BUlk9ImRcbjFcbiIgIyBkZWxldGUgZmlyc3QgcHJpbWFyeQorRkRJU0tfQ01EX0RFTEVURV9FWFRFTkRFRD0iZFxuMlxuIiAjIGRlbGV0ZSBzZWNvbmQgcHJpbWFyeQorCitGRElTS19PUFRJT05TPSItQyAxMDI0IC1jPWRvcyAtdT1jeWxpbmRlcnMiCisKK2Z1bmN0aW9uIHByaW50X2xheW91dCB7CisJZWNobyAtbmUgIlxuLS0tbGF5b3V0LS0tLS0tLS0tLVxuIiA+PiAkVFNfT1VUUFVUCisJJFRTX0NNRF9GRElTSyAke0ZESVNLX09QVElPTlN9IC1sICR7VEVTVF9JTUFHRV9OQU1FfSA+PiAkVFNfT1VUUFVUCisJZWNobyAtbmUgICAiLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4iID4+ICRUU19PVVRQVVQKK30KKworIworIyBOb3RlIHRoYXQgZmRpc2sgd2lsbCBlbmxhcmdlIHRoZSBkaXNrIGltYWdlICh0byA1N01CKSBiZWNhdXNlIHRoZSBsb2dpY2FsCisjIHBhcnRpdGlvbnMgYXJlIG91dCBvZiB0aGUgb3JpZ2luYWwgcmFuZ2UgKDEwTUIpLgorIwordHNfbG9nICJJbml0aWFsaXplIGVtcHR5IGltYWdlIgorVEVTVF9JTUFHRV9OQU1FPSQodHNfaW1hZ2VfaW5pdCAxMCkKK3RzX2ltYWdlX21kNXN1bSA+PiAkVFNfT1VUUFVUIDI+JjEKKwordHNfbG9nICJDcmVhdGUgbmV3IERPUyBwYXJ0aXRpb24gdGFibGUiCitlY2hvIC1lICIke0ZESVNLX0NNRF9DUkVBVEVfRE9TTEFCRUx9JHtGRElTS19DTURfSU5JVH0ke0ZESVNLX0NNRF9XUklURV9DTE9TRX0iIFwKKwkgfCAkVFNfQ01EX0ZESVNLICR7RkRJU0tfT1BUSU9OU30gJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAordHNfaW1hZ2VfbWQ1c3VtID4+ICRUU19PVVRQVVQgMj4mMQorCitwcmludF9sYXlvdXQKKwordHNfbG9nICJDcmVhdGUgcHJpbWFyeSBwYXJ0aXRpb24iCitlY2hvIC1lICIke0ZESVNLX0NNRF9DUkVBVEVfUFJJTUFSWX0ke0ZESVNLX0NNRF9XUklURV9DTE9TRX0iIHwgXAorCSRUU19DTURfRkRJU0sgJHtGRElTS19PUFRJT05TfSAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCit0c19pbWFnZV9tZDVzdW0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3ByaW50X2xheW91dAorCit0c19sb2cgIlNldCBwYXJ0aXRpb24gdHlwZSIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0NIQU5HRV9QQVJUVFlQRX0ke0ZESVNLX0NNRF9XUklURV9DTE9TRX0iIHwgXAorCSRUU19DTURfRkRJU0sgJHtGRElTS19PUFRJT05TfSAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCit0c19pbWFnZV9tZDVzdW0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3ByaW50X2xheW91dAorCit0c19sb2cgIlNldCBwcmltYXJ5IHBhcnRpdGlvbiBhY3RpdmUiCitlY2hvIC1lICIke0ZESVNLX0NNRF9TRVRfQUNUSVZFfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgfCBcCisJJFRTX0NNRF9GRElTSyAke0ZESVNLX09QVElPTlN9ICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKK3RzX2ltYWdlX21kNXN1bSA+PiAkVFNfT1VUUFVUIDI+JjEKKworcHJpbnRfbGF5b3V0CisKK3RzX2xvZyAiUmUtY3JlYXRlIHByaW1hcnkgcGFydGl0aW9uIgorZWNobyAtZSAiZFxuJHtGRElTS19DTURfQ1JFQVRFX1BSSU1BUll9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiB8IFwKKwkkVFNfQ01EX0ZESVNLICR7RkRJU0tfT1BUSU9OU30gJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAordHNfaW1hZ2VfbWQ1c3VtID4+ICRUU19PVVRQVVQgMj4mMQorCitwcmludF9sYXlvdXQKKwordHNfbG9nICJDcmVhdGUgZXh0ZW5kZWQgcGFydGl0aW9uIgorZWNobyAtZSAiJHtGRElTS19DTURfQ1JFQVRFX0VYVEVOREVEfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgfCBcCisJJFRTX0NNRF9GRElTSyAke0ZESVNLX09QVElPTlN9ICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKK3RzX2ltYWdlX21kNXN1bSA+PiAkVFNfT1VUUFVUIDI+JjEKKworcHJpbnRfbGF5b3V0CisKK3RzX2xvZyAiQ3JlYXRlIGxvZ2ljYWwgcGFydGl0aW9ucyIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0NSRUFURV9MT0dJQ0FMfSR7RkRJU0tfQ01EX0NSRUFURV9MT0dJQ0FMfSR7RkRJU0tfQ01EX0NSRUFURV9MT0dJQ0FMfSR7RkRJU0tfQ01EX0NSRUFURV9MT0dJQ0FMfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgXAorCXwgJFRTX0NNRF9GRElTSyAke0ZESVNLX09QVElPTlN9ICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKK3RzX2ltYWdlX21kNXN1bSA+PiAkVFNfT1VUUFVUIDI+JjEKKworcHJpbnRfbGF5b3V0CisKK3RzX2xvZyAiRGVsZXRlIGxvZ2ljYWwgcGFydGl0aW9ucyIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0RFTEVURV9MT0dJQ0FMU30ke0ZESVNLX0NNRF9XUklURV9DTE9TRX0iIFwKKwl8ICRUU19DTURfRkRJU0sgJHtGRElTS19PUFRJT05TfSAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCit0c19pbWFnZV9tZDVzdW0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3ByaW50X2xheW91dAorCit0c19sb2cgIkNyZWF0ZSBhbm90aGVyIGxvZ2ljYWwgcGFydGl0aW9uIgorZWNobyAtZSAiJHtGRElTS19DTURfQ1JFQVRFX0xPR0lDQUx9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiBcCisJfCAkVFNfQ01EX0ZESVNLICR7RkRJU0tfT1BUSU9OU30gJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAordHNfaW1hZ2VfbWQ1c3VtID4+ICRUU19PVVRQVVQgMj4mMQorCitwcmludF9sYXlvdXQKKwordHNfbG9nICJEZWxldGUgcHJpbWFyeSBwYXJ0aXRpb24iCitlY2hvIC1lICIke0ZESVNLX0NNRF9ERUxFVEVfUFJJTUFSWX0ke0ZESVNLX0NNRF9XUklURV9DTE9TRX0iIFwKKwl8ICRUU19DTURfRkRJU0sgJHtGRElTS19PUFRJT05TfSAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCit0c19pbWFnZV9tZDVzdW0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3ByaW50X2xheW91dAorCit0c19sb2cgIkRlbGV0ZSBleHRlbmRlZCBwYXJ0aXRpb24iCitlY2hvIC1lICIke0ZESVNLX0NNRF9ERUxFVEVfRVhURU5ERUR9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiBcCisJfCAkVFNfQ01EX0ZESVNLICR7RkRJU0tfT1BUSU9OU30gJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAordHNfaW1hZ2VfbWQ1c3VtID4+ICRUU19PVVRQVVQgMj4mMQorCitwcmludF9sYXlvdXQKKwordHNfZmRpc2tfY2xlYW4gJHtURVNUX0lNQUdFX05BTUV9Cit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvZmRpc2svbWJyLW5vbmRvcy1tb2RlIGIvdGVzdHMvdHMvZmRpc2svbWJyLW5vbmRvcy1tb2RlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdhYzVkYWUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9mZGlzay9tYnItbm9uZG9zLW1vZGUKQEAgLTAsMCArMSwxNTQgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iTUJSIC0gbm9uLWRvcyBtb2RlIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZESVNLIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX01ENSIKKworIyBjbWQgdG8gY2hhbmdlcyBzeXN0ZW0gaWQgdG8gMHgxCitGRElTS19DTURfSU5JVD0ieFxuaVxuMHgxXG5yXG4iCitGRElTS19DTURfV1JJVEVfQ0xPU0U9IndcbnFcbiIKK0ZESVNLX0NNRF9DUkVBVEVfRE9TTEFCRUw9Im9cbiIgI2NyZWF0ZSBkb3MgbGFiZWwKK0ZESVNLX0NNRF9DUkVBVEVfMVBSSU1BUlk9Im5cbnBcblxuXG4rM01cbiIgIyBjcmVhdGUgcHJpbWFyeSBwYXJ0aXRpb24gb2Ygc2l6ZSAzTWlCCitGRElTS19DTURfQ1JFQVRFXzJQUklNQVJZPSJuXG5wXG5cblxuKzJNXG4iICMgY3JlYXRlIHByaW1hcnkgcGFydGl0aW9uIG9mIHNpemUgMk1pQgorRkRJU0tfQ01EX1NFVF9BQ1RJVkU9ImFcbjFcbiIgIyBzZXQgZmlyc3QgcGFydGl0aW9uIGFjdGl2ZQorRkRJU0tfQ01EX0NSRUFURV9FWFRFTkRFRD0iblxuZVxuXG5cblxuIiAjIGNyZWF0ZSBleHRlbmRlZCBwYXJ0aXRpb24KK0ZESVNLX0NNRF9DUkVBVEVfTE9HSUNBTD0iblxubFxuXG4rMk1cbiIgIyBjcmVhdGUgbmV4dCBsb2dpY2FsIHBhcnRpdGlvbiBvZiBzaXplIDEwIHNlY3RvcnMKK0ZESVNLX0NNRF9ERUxFVEVfTE9HSUNBTFM9ImRcbjZcbmRcbjVcbmRcbjZcbiIgIyBkZWxldGUgbWlkZGxlLCBoZWFkLCB0YWlsLCBsYXN0IHBhcnRpdGlvbnMKK0ZESVNLX0NNRF9ERUxFVEVfMVBSSU1BUlk9ImRcbjFcbiIgIyBkZWxldGUgZmlyc3QgcHJpbWFyeQorRkRJU0tfQ01EX0RFTEVURV8yUFJJTUFSWT0iZFxuMlxuIiAjIGRlbGV0ZSBmaXJzdCBwcmltYXJ5CitGRElTS19DTURfREVMRVRFX0VYVEVOREVEPSJkXG4zXG4iICMgZGVsZXRlIHNlY29uZCBwcmltYXJ5CisKKyMgU3BhcmMgdXNlcyBTVU4gZGlzayBsYWJlbHMgYnkgZGVmYXVsdCBhbmQgdGh1cyBoYXMgYSBkaWZmZXJlbnQgb3V0cHV0CitBUkNIPSQodW5hbWUgLW0pCitjYXNlICRBUkNIIGluCisJKnNwYXJjKiApCisJCUFSQ0hfRVhUPSIuc3BhcmMiCisJCTs7CisJKikKKwkJQVJDSF9FWFQ9IiIKKwkJOzsKK2VzYWMKKworVFNfRVhQRUNURUQrPSIke0FSQ0hfRVhUfSIKKworZnVuY3Rpb24gcHJpbnRfbGF5b3V0IHsKKwllY2hvIC1uZSAiXG4tLS1sYXlvdXQtLS0tLS0tLS0tXG4iID4+ICRUU19PVVRQVVQKKwkkVFNfQ01EX0ZESVNLIC1sICR7VEVTVF9JTUFHRV9OQU1FfSA+PiAkVFNfT1VUUFVUCisJZWNobyAtbmUgICAiLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4iID4+ICRUU19PVVRQVVQKK30KKworI3NldCAteAorCit0c19sb2cgIkluaXRpYWxpemUgZW1wdHkgaW1hZ2UiCitURVNUX0lNQUdFX05BTUU9JCh0c19pbWFnZV9pbml0IDIwKQkjIDIwIE1pQgordHNfaW1hZ2VfbWQ1c3VtID4+ICRUU19PVVRQVVQgMj4mMQorCisjIG5lZWQgdG8gcnVuIGluaXQgdHdpY2UsIHRvIGNoYW5nZSBzeXN0ZW0gSUQgYWZ0ZXIgbmV3IGxhYmVsLCBvdGhlcndpc2Ugc3lzdGVtCisjIElEIHdpbGwgYmUgcmFuZG9tIGFuZCB3aWxsIHNjcmV3IHVwIG1kNSdzCit0c19sb2cgIkNyZWF0ZSBuZXcgRE9TIHBhcnRpdGlvbiB0YWJsZSIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0lOSVR9JHtGRElTS19DTURfQ1JFQVRFX0RPU0xBQkVMfSR7RkRJU0tfQ01EX0lOSVR9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiBcCisJIHwgJFRTX0NNRF9GRElTSyAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCit0c19pbWFnZV9tZDVzdW0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3ByaW50X2xheW91dAorCit0c19sb2cgIkNyZWF0ZSAxc3QgcHJpbWFyeSBwYXJ0aXRpb24iCitlY2hvIC1lICIke0ZESVNLX0NNRF9DUkVBVEVfMVBSSU1BUll9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiB8IFwKKwkkVFNfQ01EX0ZESVNLICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKK3RzX2ltYWdlX21kNXN1bSA+PiAkVFNfT1VUUFVUIDI+JjEKKworcHJpbnRfbGF5b3V0CisKK3RzX2xvZyAiU2V0IHByaW1hcnkgcGFydGl0aW9uIGFjdGl2ZSIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX1NFVF9BQ1RJVkV9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiB8IFwKKwkkVFNfQ01EX0ZESVNLICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKK3RzX2ltYWdlX21kNXN1bSA+PiAkVFNfT1VUUFVUIDI+JjEKKworcHJpbnRfbGF5b3V0CisKK3RzX2xvZyAiUmUtY3JlYXRlIDFzdCBwcmltYXJ5IHBhcnRpdGlvbiIKK2VjaG8gLWUgImRcbiR7RkRJU0tfQ01EX0NSRUFURV8xUFJJTUFSWX0ke0ZESVNLX0NNRF9XUklURV9DTE9TRX0iIHwgXAorCSRUU19DTURfRkRJU0sgJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAordHNfaW1hZ2VfbWQ1c3VtID4+ICRUU19PVVRQVVQgMj4mMQorCitwcmludF9sYXlvdXQKKwordHNfbG9nICJDcmVhdGUgMm5kIHByaW1hcnkgcGFydGl0aW9uIgorZWNobyAtZSAiJHtGRElTS19DTURfQ1JFQVRFXzJQUklNQVJZfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgfCBcCisJJFRTX0NNRF9GRElTSyAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCit0c19pbWFnZV9tZDVzdW0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3ByaW50X2xheW91dAorCit0c19sb2cgIkNyZWF0ZSBleHRlbmRlZCBwYXJ0aXRpb24iCitlY2hvIC1lICIke0ZESVNLX0NNRF9DUkVBVEVfRVhURU5ERUR9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiB8IFwKKwkkVFNfQ01EX0ZESVNLICAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCit0c19pbWFnZV9tZDVzdW0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3ByaW50X2xheW91dAorCit0c19sb2cgIkNyZWF0ZSBsb2dpY2FsIHBhcnRpdGlvbnMiCitlY2hvIC1lICIke0ZESVNLX0NNRF9DUkVBVEVfTE9HSUNBTH0ke0ZESVNLX0NNRF9DUkVBVEVfTE9HSUNBTH0ke0ZESVNLX0NNRF9DUkVBVEVfTE9HSUNBTH0ke0ZESVNLX0NNRF9DUkVBVEVfTE9HSUNBTH0ke0ZESVNLX0NNRF9XUklURV9DTE9TRX0iIFwKKwl8ICRUU19DTURfRkRJU0sgJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAordHNfaW1hZ2VfbWQ1c3VtID4+ICRUU19PVVRQVVQgMj4mMQorCitwcmludF9sYXlvdXQKKwordHNfbG9nICJEZWxldGUgbG9naWNhbCBwYXJ0aXRpb25zIgorZWNobyAtZSAiJHtGRElTS19DTURfREVMRVRFX0xPR0lDQUxTfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgXAorCXwgJFRTX0NNRF9GRElTSyAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCit0c19pbWFnZV9tZDVzdW0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3ByaW50X2xheW91dAorCisKK3RzX2xvZyAiQ3JlYXRlIGFub3RoZXIgbG9naWNhbCBwYXJ0aXRpb24iCitlY2hvIC1lICIke0ZESVNLX0NNRF9DUkVBVEVfTE9HSUNBTH0ke0ZESVNLX0NNRF9XUklURV9DTE9TRX0iIFwKKwl8ICRUU19DTURfRkRJU0sgJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAordHNfaW1hZ2VfbWQ1c3VtID4+ICRUU19PVVRQVVQgMj4mMQorCitwcmludF9sYXlvdXQKKwordHNfbG9nICJEZWxldGUgcHJpbWFyeSBwYXJ0aXRpb24iCitlY2hvIC1lICIke0ZESVNLX0NNRF9ERUxFVEVfMVBSSU1BUll9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiBcCisJfCAkVFNfQ01EX0ZESVNLICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKK3RzX2ltYWdlX21kNXN1bSA+PiAkVFNfT1VUUFVUIDI+JjEKKworcHJpbnRfbGF5b3V0CisKK3RzX2xvZyAiRGVsZXRlIHByaW1hcnkgcGFydGl0aW9uIgorZWNobyAtZSAiJHtGRElTS19DTURfREVMRVRFXzJQUklNQVJZfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgXAorCXwgJFRTX0NNRF9GRElTSyAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCit0c19pbWFnZV9tZDVzdW0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3ByaW50X2xheW91dAorCit0c19sb2cgIkRlbGV0ZSBleHRlbmRlZCBwYXJ0aXRpb24iCitlY2hvIC1lICIke0ZESVNLX0NNRF9ERUxFVEVfRVhURU5ERUR9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiBcCisJfCAkVFNfQ01EX0ZESVNLIC1jPWRvcyAtdT1jeWxpbmRlcnMgJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAordHNfaW1hZ2VfbWQ1c3VtID4+ICRUU19PVVRQVVQgMj4mMQorCitwcmludF9sYXlvdXQKKwordHNfZmRpc2tfY2xlYW4gJHtURVNUX0lNQUdFX05BTUV9CisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9mZGlzay9tYnItc29ydCBiL3Rlc3RzL3RzL2ZkaXNrL21ici1zb3J0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJjZGIxMTUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9mZGlzay9tYnItc29ydApAQCAtMCwwICsxLDc5IEBACisjIS9iaW4vYmFzaAorCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9Ik1CUiAtIHNvcnQiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRkRJU0siCisKKyMgY21kIHRvIGNoYW5nZXMgc3lzdGVtIGlkIHRvIDB4MQorRkRJU0tfQ01EX1dSSVRFX0NMT1NFPSJ3XG5xXG4iCitGRElTS19DTURfQ1JFQVRFX0RPU0xBQkVMPSJvXG4iICNjcmVhdGUgZG9zIGxhYmVsCisKK0ZESVNLX0NNRF9DUkVBVEVfMVBSSU1BUlk9Im5cbnBcbjFcbjQwOTZcbjYxNDNcbiIKK0ZESVNLX0NNRF9DUkVBVEVfMlBSSU1BUlk9Im5cbnBcbjJcbjIwNDhcbjQwOTVcbiIKK0ZESVNLX0NNRF9DUkVBVEVfM1BSSU1BUlk9Im5cbnBcbjNcbjYxNDRcbjgxOTFcbiIKK0ZESVNLX0NNRF9DUkVBVEVfRVhURU5ERUQ9Im5cbmVcblxuXG4iCisKK0ZESVNLX0NNRF9DUkVBVEVfMUxPR0lDQUw9Im5cbjE0MzM2XG4xNjM4M1xuIgorRkRJU0tfQ01EX0NSRUFURV8yTE9HSUNBTD0iblxuMjI1MjhcbjI0NTc1XG4iCitGRElTS19DTURfQ1JFQVRFXzNMT0dJQ0FMPSJuXG4xODQzMlxuMjA0NzlcbiIKK0ZESVNLX0NNRF9DUkVBVEVfNExPR0lDQUw9Im5cbjEwMjQwXG4xMjI4N1xuIgorCitGRElTS19DTURfRVhQRVJUX1NPUlQ9InhcbmZcbnJcbiIKKworZnVuY3Rpb24gcHJpbnRfbGF5b3V0IHsKKwllY2hvIC1uZSAiXG4tLS1sYXlvdXQtLS0tLS0tLS0tXG4iID4+ICRUU19PVVRQVVQKKwkkVFNfQ01EX0ZESVNLIC1sICR7VEVTVF9JTUFHRV9OQU1FfSA+PiAkVFNfT1VUUFVUCisJZWNobyAtbmUgICAiLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4iID4+ICRUU19PVVRQVVQKK30KKworI3NldCAteAorCit0c19sb2cgIkluaXRpYWxpemUgZW1wdHkgaW1hZ2UiCitURVNUX0lNQUdFX05BTUU9JCh0c19pbWFnZV9pbml0IDIwKQkjIDIwIE1pQgorCit0c19sb2cgIkNyZWF0ZSBuZXcgRE9TIHBhcnRpdGlvbiB0YWJsZSIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0NSRUFURV9ET1NMQUJFTH0ke0ZESVNLX0NNRF9XUklURV9DTE9TRX0iIFwKKwkgfCAkVFNfQ01EX0ZESVNLICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKKworcHJpbnRfbGF5b3V0CisKK3RzX2xvZyAiQ3JlYXRlIHByaW1hcnkgcGFydGl0aW9ucyIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0NSRUFURV8xUFJJTUFSWX0ke0ZESVNLX0NNRF9DUkVBVEVfMlBSSU1BUll9JHtGRElTS19DTURfQ1JFQVRFXzNQUklNQVJZfSR7RkRJU0tfQ01EX0NSRUFURV9FWFRFTkRFRH0ke0ZESVNLX0NNRF9XUklURV9DTE9TRX0iIFwKKwl8ICRUU19DTURfRkRJU0sgJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAorCitwcmludF9sYXlvdXQKKworCit0c19sb2cgIkNyZWF0ZSBsb2dpY2FsIHBhcnRpdGlvbnMiCitlY2hvIC1lICIke0ZESVNLX0NNRF9DUkVBVEVfMUxPR0lDQUx9JHtGRElTS19DTURfQ1JFQVRFXzJMT0dJQ0FMfSR7RkRJU0tfQ01EX0NSRUFURV8zTE9HSUNBTH0ke0ZESVNLX0NNRF9DUkVBVEVfNExPR0lDQUx9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiBcCisJfCAkVFNfQ01EX0ZESVNLICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKKworcHJpbnRfbGF5b3V0CisKKwordHNfbG9nICJGaXggb3JkZXIuIgorZWNobyAtZSAiJHtGRElTS19DTURfRVhQRVJUX1NPUlR9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiBcCisJfCAkVFNfQ01EX0ZESVNLICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKKworcHJpbnRfbGF5b3V0CisKK3RzX2ZkaXNrX2NsZWFuICR7VEVTVF9JTUFHRV9OQU1FfQordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2ZkaXNrL29kZGlucHV0IGIvdGVzdHMvdHMvZmRpc2svb2RkaW5wdXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDY3OTI0MgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2ZkaXNrL29kZGlucHV0CkBAIC0wLDAgKzEsNDcgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iaW52YWxpZCBpbnB1dCB0ZXN0cyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GRElTSyIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0hFTFBFUl9NRDUiCisKKyNzZXQgLXgKKwordHNfbG9nICJJbml0aWFsaXplIGVtcHR5IGltYWdlIgorVEVTVF9JTUFHRV9OQU1FPSQodHNfaW1hZ2VfaW5pdCAxMCkKK3RzX2ltYWdlX21kNXN1bSA+PiAkVFNfT1VUUFVUIDI+JjEKKworIworIyBOb3RlIHRoYXQgc2luY2UgMi4yMyB0aGUgRE9TLW1vZGUgaGFzIGVmZmVjdCBvbmx5IGlmIHRoZXJlIGlzIGEgTUJSIG9uIHRoZSBkZXZpY2UuCisjCisKK3RzX2xvZyAiRW1wdHkgaW1hZ2UgbGlzdGluZyIgIyB0aGlzIHNob3VsZCByZXBvcnQgZW1wdHkgcGFydGl0aW9uIHRhYmxlCisjIFRFU1RfSU1BR0VfTkFNRSBoYXMgYWJzb2x1dGUgcGF0aCwgYW5kIGlzIGJ5IGRlZmluaXRpb24gZGlmZmVyZW50IG9uIGVhY2ggY29tcHV0ZXIsIHdlIG5lZWQgdG8gc2VkIGl0IGF3YXkKKyRUU19DTURfRkRJU0sgLWM9ZG9zIC11PWN5bGluZGVycyAtbCAke1RFU1RfSU1BR0VfTkFNRX0gMj4mMSB8IHNlZCAtZSAicy8ke1RFU1RfSU1BR0VfTkFNRS8vXC8vXFwvfS90ZXN0aW1hZ2UvIiA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiTm9uZXhpc3RlbnQgZmlsZSIgIyB0aGlzIG9yaWdpbmFsbHkgZG9lcyBhYnNvbHV0ZWx5IG5vdGhpbmcKKyRUU19DTURfRkRJU0sgLWM9ZG9zIC11PWN5bGluZGVycyAtbCBfYV9maWxlX3RoYXRfZG9lc19ub3RfZXhpc3RfID4+ICRUU19PVVRQVVQgMj4mMQorCit0c19sb2cgIlRvbyBzbWFsbCBmaWxlIiAjIHNhbWUgaGVyZQorZWNobyAgIlRoaXMgZmlsZSBpcyB0b28gc21hbGwiID4+IG9kZGlucHV0LnRvb3NtYWxsCiskVFNfQ01EX0ZESVNLIC1jPWRvcyAtdT1jeWxpbmRlcnMgLWwgb2RkaW5wdXQudG9vc21hbGwgPj4gJFRTX09VVFBVVCAyPiYxCitybSBvZGRpbnB1dC50b29zbWFsbAordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2ZkaXNrL3N1bmxhYmVsIGIvdGVzdHMvdHMvZmRpc2svc3VubGFiZWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDZiMTAzMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2ZkaXNrL3N1bmxhYmVsCkBAIC0wLDAgKzEsOTIgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ic3VubGFiZWwgdGVzdHMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRkRJU0siCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfTUQ1IgorCitGRElTS19DTURfSU5JVD0ic1xuIiAjIGNyZWF0ZSBuZXcgc3VubGFiZWwKK0ZESVNLX0NNRF9XUklURV9DTE9TRT0id1xucVxuIgorRkRJU0tfQ01EX0RFTEVURUFMTD0iZFxuMVxuZFxuMlxuZFxuM1xuZFxuNFxuZFxuNVxuZFxuNlxuZFxuN1xuZFxuOFxuIiAjIGRlbGV0ZSBhbGwgcGFydGl0aW9ucworCitGRElTS19DTURfQ1JFQVRFX1BSSU1BUlk9Im5cblxuXG4xMjhcbiIgIyBjcmVhdGUgZmlyc3QgcGFydGl0aW9uCitGRElTS19DTURfVE9HR0xFX1JFQURPTkxZPSJhXG4xXG4iICMgc2V0cyBmaXJzdCBwYXJ0aXRpb24gYXMgcmVhZC1vbmx5CitGRElTS19DTURfVE9HR0xFX01PVU5UQUJMRT0iY1xuMVxuIiAjIHNldHMgZmlyc3QgcGFydGl0aW9uIGFzIG1vdW50YWJsZQorRkRJU0tfQ01EX0NIQU5HRV9TWVNJRD0idFxuNFxuIiAjIGNoYW5nZXMgc3lzaWQgdG8gNCAoU3VuT1MgdXNyKQorRkRJU0tfQ01EX0NSRUFURV9TRUNPTkRBUlk9Im5cbjJcbjEyOFxuXG4iICMgY3JlYXRlIHNlY29uZGFyeSBwYXJ0aXRpb24gdG8gdGhlIGVuZCBvZiBkaXNrCisKK0ZESVNLX09QVElPTlM9Ii1IIDEgLVMgNjMgLXU9Y3lsaW5kZXJzIgorCisjc2V0IC14CisKK3RzX2xvZyAiSW5pdGlhbGl6ZSBlbXB0eSBpbWFnZSIKK1RFU1RfSU1BR0VfTkFNRT0kKHRzX2ltYWdlX2luaXQgMTApCit0c19pbWFnZV9tZDVzdW0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2xvZyAiQ3JlYXRlIG5ldyBTVU4gcGFydGl0aW9uIHRhYmxlIgorZWNobyAtZSAiJHtGRElTS19DTURfSU5JVH0ke0ZESVNLX0NNRF9ERUxFVEVBTEx9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiBcCisJIHwgJFRTX0NNRF9GRElTSyAke0ZESVNLX09QVElPTlN9ICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKK3RzX2ltYWdlX21kNXN1bSA+PiAkVFNfT1VUUFVUIDI+JjEKKworJFRTX0NNRF9GRElTSyAke0ZESVNLX09QVElPTlN9IC1sICR7VEVTVF9JTUFHRV9OQU1FfSA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiQ3JlYXRlIGZpcnN0IHBhcnRpdGlvbiIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0NSRUFURV9QUklNQVJZfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgfCBcCisJJFRTX0NNRF9GRElTSyAke0ZESVNLX09QVElPTlN9ICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKK3RzX2ltYWdlX21kNXN1bSA+PiAkVFNfT1VUUFVUIDI+JjEKKworJFRTX0NNRF9GRElTSyAke0ZESVNLX09QVElPTlN9IC1sICR7VEVTVF9JTUFHRV9OQU1FfSA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiU2V0IHBhcnRpdGlvbiBzeXNpZCIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0NIQU5HRV9TWVNJRH0ke0ZESVNLX0NNRF9XUklURV9DTE9TRX0iIHwgXAorCSRUU19DTURfRkRJU0sgJHtGRElTS19PUFRJT05TfSAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCit0c19pbWFnZV9tZDVzdW0gPj4gJFRTX09VVFBVVCAyPiYxCisKKyRUU19DTURfRkRJU0sgJHtGRElTS19PUFRJT05TfSAtbCAke1RFU1RfSU1BR0VfTkFNRX0gPj4gJFRTX09VVFBVVAorCit0c19sb2cgIlNldCBmaXJzdCBwYXJ0aXRpb24gcmVhZG9ubHkiCitlY2hvIC1lICIke0ZESVNLX0NNRF9UT0dHTEVfUkVBRE9OTFl9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiB8IFwKKwkkVFNfQ01EX0ZESVNLICR7RkRJU0tfT1BUSU9OU30gJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAordHNfaW1hZ2VfbWQ1c3VtID4+ICRUU19PVVRQVVQgMj4mMQorCiskVFNfQ01EX0ZESVNLICR7RkRJU0tfT1BUSU9OU30gLWwgJHtURVNUX0lNQUdFX05BTUV9ID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJTZXQgZmlyc3QgcGFydGl0aW9uIG1vdW50YWJsZSIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX1RPR0dMRV9NT1VOVEFCTEV9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiB8IFwKKwkkVFNfQ01EX0ZESVNLICR7RkRJU0tfT1BUSU9OU30gJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAordHNfaW1hZ2VfbWQ1c3VtID4+ICRUU19PVVRQVVQgMj4mMQorCiskVFNfQ01EX0ZESVNLICR7RkRJU0tfT1BUSU9OU30gLWwgJHtURVNUX0lNQUdFX05BTUV9ID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJDcmVhdGUgc2Vjb25kIHBhcnRpdGlvbiIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0NSRUFURV9TRUNPTkRBUll9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiB8IFwKKwkkVFNfQ01EX0ZESVNLICR7RkRJU0tfT1BUSU9OU30gJHtURVNUX0lNQUdFX05BTUV9ID4+ICRUU19PVVRQVVQgMj4mMQordHNfaW1hZ2VfbWQ1c3VtID4+ICRUU19PVVRQVVQgMj4mMQorCiskVFNfQ01EX0ZESVNLICR7RkRJU0tfT1BUSU9OU30gLWwgJHtURVNUX0lNQUdFX05BTUV9ID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJEZWxldGUgYWxsIHBhcnRpdGlvbnMiCitlY2hvIC1lICIke0ZESVNLX0NNRF9ERUxFVEVBTEx9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiB8IFwKKwkkVFNfQ01EX0ZESVNLICR7RkRJU0tfT1BUSU9OU30gJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAordHNfaW1hZ2VfbWQ1c3VtID4+ICRUU19PVVRQVVQgMj4mMQorCit0c19mZGlza19jbGVhbiAke1RFU1RfSU1BR0VfTkFNRX0KK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9mc2NrL2lzbW91bnRlZCBiL3Rlc3RzL3RzL2ZzY2svaXNtb3VudGVkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJhNTU5MDcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9mc2NrL2lzbW91bnRlZApAQCAtMCwwICsxLDQ4IEBACisjIS9iaW4vYmFzaAorIworIyBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJpcyBtb3VudGVkIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZESVNLIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01PVU5UIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX2xvc2V0dXAKK3RzX2NoZWNrX3Byb2cgIm1rZnMuZXh0MyIKKworPiAkVFNfT1VUUFVUCisKK3RzX2RldmljZV9pbml0CitERVZJQ0U9JFRTX0xPREVWCisKK21rZnMuZXh0MyAkREVWSUNFICY+IC9kZXYvbnVsbCB8fCB0c19kaWUgIkNhbm5vdCBtYWtlIGV4dDMgb24gJERFVklDRSIKKwordHNfZGV2aWNlX2hhcyAiVFlQRSIgImV4dDMiICRERVZJQ0UgfHwgdHNfZGllICJDYW5ub3QgZmluZCBleHQzIG9uICRERVZJQ0UiCisKK1sgLWQgIiRUU19NT1VOVFBPSU5UIiBdIHx8IG1rZGlyIC1wICRUU19NT1VOVFBPSU5UCisKKyRUU19DTURfTU9VTlQgJERFVklDRSAkVFNfTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKKworIyB0ZXN0IGJ5IGlzbW91bnRlZC5jCiskVFNfSEVMUEVSX0lTTU9VTlRFRCAkREVWSUNFIHwgYXdrICd7cHJpbnQgJDF9JyA+PiAkVFNfT1VUUFVUIDI+JjEKKworJFRTX0NNRF9VTU9VTlQgJERFVklDRSB8fCB0c19kaWUgIkNhbm5vdCB1bW91bnQgJERFVklDRSIKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2dldG9wdC9iYXNpYyBiL3Rlc3RzL3RzL2dldG9wdC9iYXNpYwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iZTI5MjhiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvZ2V0b3B0L2Jhc2ljCkBAIC0wLDAgKzEsNDkgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworIyBUaGlzIHRlc3Qgc2NyaXB0IGlzIG1vZGlmaWVkIHZlcnNpb24gb2YgJ2dldG9wdC1wYXJzZS5iYXNoJyBleGFtcGxlCisjIGZpbGUgaW4gbWlzYy8gZGlyZWN0b3J5LgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJiYXNpYyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9HRVRPUFQiCisKK1RFTVA9JCgkVFNfQ01EX0dFVE9QVCAtbyBhYjpjOjogLS1sb25nIGEtbG9uZyxiLWxvbmc6LGMtbG9uZzo6IC1uICdleGFtcGxlLmJhc2gnIC0tIC1hIC1iIDEgLWMyICAtLWEtbG9uZyAtLWItbG9uZyAzIC0tYy1sb25nIGZvbyBiYXIpCisKK2lmIFsgJD8gIT0gMCBdIDsgdGhlbiBlY2hvICJUZXJtaW5hdGluZy4uLiIgPiYyIDsgZXhpdCAxIDsgZmkKKworZXZhbCBzZXQgLS0gIiRURU1QIgorCit3aGlsZSB0cnVlIDsgZG8KKwljYXNlICIkMSIgaW4KKwkJLWF8LS1hLWxvbmcpIGVjaG8gIk9wdGlvbiBhIjsgc2hpZnQgOzsKKwkJLWJ8LS1iLWxvbmcpIGVjaG8gIk9wdGlvbiBiLCBhcmd1bWVudCBcYCQyJyI7IHNoaWZ0IDIgOzsKKwkJLWN8LS1jLWxvbmcpCisJCQljYXNlICIkMiIgaW4KKwkJCQkiIikgZWNobyAiT3B0aW9uIGMsIG5vIGFyZ3VtZW50Ijsgc2hpZnQgMiA7OworCQkJCSopICBlY2hvICJPcHRpb24gYywgYXJndW1lbnQgXGAkMiciOyBzaGlmdCAyIDs7CisJCQllc2FjIDs7CisJCS0tKSBzaGlmdCA7IGJyZWFrIDs7CisJCSopIGVjaG8gIkludGVybmFsIGVycm9yISI7IGJyZWFrOzsKKwllc2FjCitkb25lID4+ICRUU19PVVRQVVQgMj4mMQorCitlY2hvICJSZW1haW5pbmcgYXJndW1lbnRzOiIgPj4gJFRTX09VVFBVVCAyPiYxCitmb3IgYXJnIGRvIGVjaG8gJy0tPiAnIlxgJGFyZyciID4+ICRUU19PVVRQVVQgMj4mMTsgZG9uZQorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvZ2V0b3B0L29wdGlvbnMgYi90ZXN0cy90cy9nZXRvcHQvb3B0aW9ucwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jOWFjNTNkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvZ2V0b3B0L29wdGlvbnMKQEAgLTAsMCArMSwyMzEgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJvcHRpb25zIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCisKK3RzX2luaXQgIiQqIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0dFVE9QVCIKKworZXhwb3J0IExBTkc9QworCitmdW5jdGlvbiBnbnVfZ2V0b3B0X2NsZWFuKCkgeworCXNlZCAtLWluLXBsYWNlIFwKKwkJLWUgInMvOiBcKC4qXCkgLS0gXCguXCkkLzogXDEgLS0gJ1wyJy8iIFwKKwkJLWUgInMvIFsnXGBdXCgtLVthLXpBLVowLTldXHsxLFx9XCknLyAnXDEnL2ciIFwKKwkJLWUgInMvdW5yZWNvZ25pemVkIG9wdGlvbjogXCguXCkkL2ludmFsaWQgb3B0aW9uIC0tICdcMScvIiBcCisJCS1lICJzL29wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudDogXCguXCkkL29wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAnXDEnLyIgXAorCQktZSAicy91bnJlY29nbml6ZWQgb3B0aW9uOiBcKFteJy1dLlx7MSxcfVwpJC91bnJlY29nbml6ZWQgb3B0aW9uICctLVwxJy8iIFwKKwkJIiRUU19PVVRQVVQiCit9CisKK3RzX2luaXRfc3VidGVzdCBhbHRlcm5hdGl2ZV9vcHRpb25fY2xhc2gKKyRUU19DTURfR0VUT1BUIC1hIC1vIGFiY2RlIC1sIGFiY2RlIC0tIC1hIC1hYiAtYWJjIC1hYyA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gImV4aXQgdmFsdWU6ICQ/IiA+PiAkVFNfT1VUUFVUCitnbnVfZ2V0b3B0X2NsZWFuCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCBhbHRlcm5hdGl2ZV9vcHRpb25fbG9uZworJFRTX0NNRF9HRVRPUFQgLS1hbHRlcm5hdGl2ZSAtbyBhIC1sIG9uZSx0d286LHRocmVlOjosZm91cjo6IC0tIC1hIC1vbmUgLXR3bz1NQU5EQVRPUlkgLXRocmVlPU9QVElPTkFMID4+ICRUU19PVVRQVVQgMj4mMQorZWNobyAiZXhpdCB2YWx1ZTogJD8iID4+ICRUU19PVVRQVVQKK2dudV9nZXRvcHRfY2xlYW4KK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0IGFsdGVybmF0aXZlX29wdGlvbl9zaG9ydAorJFRTX0NNRF9HRVRPUFQgLWEgLW8gYSAtbCBvbmUsdHdvOix0aHJlZTo6LGZvdXI6OiAtLSAtYSAtb25lIC10d289TUFOREFUT1JZIC10aHJlZT1PUFRJT05BTCA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gImV4aXQgdmFsdWU6ICQ/IiA+PiAkVFNfT1VUUFVUCitnbnVfZ2V0b3B0X2NsZWFuCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCBpbnZhbGlkX2dldG9wdF9vcHRpb24KKyRUU19DTURfR0VUT1BUIC1iID4+ICRUU19PVVRQVVQgMj4mMQorZWNobyAiZXhpdCB2YWx1ZTogJD8iID4+ICRUU19PVVRQVVQKK3NlZCAtaSAnMSwxcy8uKlwvLy8nICRUU19PVVRQVVQKK2dudV9nZXRvcHRfY2xlYW4KK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0IGludm9jYXRpb25fbW9kZWxfb25lCiskVFNfQ01EX0dFVE9QVCBhYmM6ZDo6ZTo6Zjo6ZzogQVJHMCAtYiBBUkcxIC1kIC1lT1BUSU9OQUwxIC1mIE5PVF9PUFRJT05BTCBBUkcyIC1hIC1jIC1JU1JFUVVJUkVEIEFSRzMgLWcgIkJFQ09NRVMgVEhSRUUgQVJHVU1FTlRTIiA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gImV4aXQgdmFsdWU6ICQ/IiA+PiAkVFNfT1VUUFVUCitnbnVfZ2V0b3B0X2NsZWFuCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCBpbnZvY2F0aW9uX21vZGVsX3RocmVlX2FzX29uZQorJFRTX0NNRF9HRVRPUFQgLW8gYWJjOmQ6OmU6OmY6Omc6IC0tIEFSRzAgLWIgQVJHMSAtZCAtZU9QVElPTkFMMSAtZiBOT1RfT1BUSU9OQUwgQVJHMiAtYSAtYyAtSVNSRVFVSVJFRCBBUkczIC1nICJCRUNPTUVTIFRIUkVFIEFSR1VNRU5UUyIgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorZ251X2dldG9wdF9jbGVhbgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgaW52b2NhdGlvbl9tb2RlbF90d29fYXNfb25lCiskVFNfQ01EX0dFVE9QVCAtLSBhYmM6ZDo6ZTo6Zjo6ZzogQVJHMCAtYiBBUkcxIC1kIC1lT1BUSU9OQUwxIC1mIE5PVF9PUFRJT05BTCBBUkcyIC1hIC1jIC1JU1JFUVVJUkVEIEFSRzMgLWcgIkJFQ09NRVMgVEhSRUUgQVJHVU1FTlRTIiA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gImV4aXQgdmFsdWU6ICQ/IiA+PiAkVFNfT1VUUFVUCitnbnVfZ2V0b3B0X2NsZWFuCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCBpbnZvY2F0aW9uX3dpdGhvdXRfcGFyYW1ldGVycworJFRTX0NNRF9HRVRPUFQgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorZ251X2dldG9wdF9jbGVhbgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgbG9uZ19vcHRpb25fYW1iaWd1b3VzXzEKKyRUU19DTURfR0VUT1BUIC1vIGEgLWwgbG9uZzEsbG9uZzIgLS0gLS1sb25nID4+ICRUU19PVVRQVVQgMj4mMQorZWNobyAiZXhpdCB2YWx1ZTogJD8iID4+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAnMSwxcy8uKlwvLy8nIC1lICIxcy9hbWJpZ3VvdXMkL2FtYmlndW91czsgcG9zc2liaWxpdGllczogJy0tbG9uZzEnICctLWxvbmcyJy8iICRUU19PVVRQVVQKK3NlZCAtaSAtZSAiMXMvaXMgYW1iaWd1b3VzOiBsb25nJC8nLS1sb25nJyBpcyBhbWJpZ3VvdXM7IHBvc3NpYmlsaXRpZXM6ICctLWxvbmcxJyAnLS1sb25nMicvIiAkVFNfT1VUUFVUCitnbnVfZ2V0b3B0X2NsZWFuCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCBsb25nb3B0cworJFRTX0NNRF9HRVRPUFQgLW8gYSAtbCBsb25nMSxzZWNvbmRsb25nOix0aGlyZGxvbmc6OixhYmJyaXZpYXRpb246IC0tIC0tbG9uZzEgRVhUUkExIC0tdGhpcmRsb25nPUFSR1VNRU5UIC0tc2Vjb25kbG9uZz1BUkcgLS1hYmJyIEFCQlJBUkcgLWEgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorZ251X2dldG9wdF9jbGVhbgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgbmFtZV9vcHRpb25fbG9uZworJFRTX0NNRF9HRVRPUFQgLW4gVEhJU19QUk9HUkFNIC1vIGEgLWwgbG9uZyAtLSAtYiAtLWxvbmcgLS13aGF0ZXZlciAtYSA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gImV4aXQgdmFsdWU6ICQ/IiA+PiAkVFNfT1VUUFVUCitnbnVfZ2V0b3B0X2NsZWFuCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCBuYW1lX29wdGlvbl9zaG9ydAorJFRTX0NNRF9HRVRPUFQgLS1uYW1lIFRISVNfUFJPR1JBTSAtbyBhIC1sIGxvbmcgLS0gLWIgLS1sb25nIC0td2hhdGV2ZXIgLWEgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorZ251X2dldG9wdF9jbGVhbgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgcXVpZXRfb3B0aW9uX2xvbmcKKyRUU19DTURfR0VUT1BUIC0tcXVpZXQgLW8gYSxiOiAtbCBsb25nMSxsb25nMiAtLSAtYyAtLXVua25vd24gLS1sb25nIC1iID4+ICRUU19PVVRQVVQgMj4mMQorZWNobyAiZXhpdCB2YWx1ZTogJD8iID4+ICRUU19PVVRQVVQKK2dudV9nZXRvcHRfY2xlYW4KK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0IHF1aWV0X29wdGlvbl9zaG9ydAorJFRTX0NNRF9HRVRPUFQgLXEgLW8gYSxiOiAtbCBsb25nMSxsb25nMiAtLSAtYyAtLXVua25vd24gLS1sb25nIC1iID4+ICRUU19PVVRQVVQgMj4mMQorZWNobyAiZXhpdCB2YWx1ZTogJD8iID4+ICRUU19PVVRQVVQKK2dudV9nZXRvcHRfY2xlYW4KK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0IHF1aWV0X291dHB1dF9vcHRpb25fbG9uZworJFRTX0NNRF9HRVRPUFQgLS1xdWlldC1vdXRwdXQgLW8gYSxiOiAtbCBsb25nMSxsb25nMiAtLSAtYyAtLXVua25vd24gLS1sb25nIC1iID4+ICRUU19PVVRQVVQgMj4mMQorZWNobyAiZXhpdCB2YWx1ZTogJD8iID4+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAnMSw0cy8uKlwvLy8nIC1lICIzcy9hbWJpZ3VvdXMkL2FtYmlndW91czsgcG9zc2liaWxpdGllczogJy0tbG9uZzEnICctLWxvbmcyJy8iICRUU19PVVRQVVQKK3NlZCAtaSAtZSAiM3MvaXMgYW1iaWd1b3VzOiBsb25nJC8nLS1sb25nJyBpcyBhbWJpZ3VvdXM7IHBvc3NpYmlsaXRpZXM6ICctLWxvbmcxJyAnLS1sb25nMicvIiAkVFNfT1VUUFVUCitnbnVfZ2V0b3B0X2NsZWFuCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCBxdWlldF9vdXRwdXRfb3B0aW9uX3Nob3J0CiskVFNfQ01EX0dFVE9QVCAtUSAtbyBhLGI6IC1sIGxvbmcxLGxvbmcyIC0tIC1jIC0tdW5rbm93biAtLWxvbmcgLWIgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorc2VkIC1pIC1lICcxLDRzLy4qXC8vLycgLWUgIjNzL2FtYmlndW91cyQvYW1iaWd1b3VzOyBwb3NzaWJpbGl0aWVzOiAnLS1sb25nMScgJy0tbG9uZzInLyIgJFRTX09VVFBVVAorc2VkIC1pICIzcy9pcyBhbWJpZ3VvdXM6IGxvbmckLyctLWxvbmcnIGlzIGFtYmlndW91czsgcG9zc2liaWxpdGllczogJy0tbG9uZzEnICctLWxvbmcyJy8iICRUU19PVVRQVVQKK2dudV9nZXRvcHRfY2xlYW4KK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0IHNhbWVfbG9uZ19zaG9ydF9vcHRpb25zCiskVFNfQ01EX0dFVE9QVCAtbyBhIC1sIGEgLS0gLWEgLS1hID4+ICRUU19PVVRQVVQgMj4mMQorZWNobyAiZXhpdCB2YWx1ZTogJD8iID4+ICRUU19PVVRQVVQKK2dudV9nZXRvcHRfY2xlYW4KK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0IHRlc3RfZm9yX2VuaGFuY2VkX2dldG9wdAorJFRTX0NNRF9HRVRPUFQgLVQgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorZ251X2dldG9wdF9jbGVhbgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgdW5rbm93bl9vcHRpb25zCiskVFNfQ01EX0dFVE9QVCAtbyBhIC1sIGxvbmcgLS0gLWIgLS1sb25nIC0td2hhdGV2ZXIgLWEgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorc2VkIC1pICcxLDJzLy4qXC8vLycgJFRTX09VVFBVVAorZ251X2dldG9wdF9jbGVhbgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgdW5xdW90ZWRfb3B0aW9uX2Jhc2gKKyRUU19DTURfR0VUT1BUIC1zIGJhc2ggLXUgLW8gYTogLWwgbG9uZzE6IC0tIC1hICckPyEqICcgLS1sb25nIFwiXFxcJyAnTW9yZQorIHRoYW4KK29uZQorbGluZScgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorZ251X2dldG9wdF9jbGVhbgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgdW5xdW90ZWRfb3B0aW9uX3Rjc2gKKyRUU19DTURfR0VUT1BUIC1zIHRjc2ggLS11bnF1b3RlZCAtbyBhOiAtbCBsb25nMTogLS0gLWEgJyQ/ISogJyAtLWxvbmcgXCJcXFwnICdNb3JlCisgdGhhbgorb25lCitsaW5lJyA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gImV4aXQgdmFsdWU6ICQ/IiA+PiAkVFNfT1VUUFVUCitnbnVfZ2V0b3B0X2NsZWFuCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCB3ZWlyZF9xdW90aW5nX2Jhc2gKKyRUU19DTURfR0VUT1BUIC1zIGJhc2ggLW8gYTogLWwgbG9uZzE6IC0tIC1hICckPyEqICcgLS1sb25nIFwiXFxcJyAnTW9yZQorIHRoYW4KK29uZQorbGluZScgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorZ251X2dldG9wdF9jbGVhbgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3Qgd2VpcmRfcXVvdGluZ190Y3NoCiskVFNfQ01EX0dFVE9QVCAtLXNoZWxsIHRjc2ggLW8gYTogLWwgbG9uZzE6IC0tIC1hICckPyEqICcgLS1sb25nIFwiXFxcJyAnTW9yZQorIHRoYW4KK29uZQorbGluZScgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorZ251X2dldG9wdF9jbGVhbgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgY29tcGF0aWJsZQorJFRTX0NNRF9HRVRPUFQgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorR0VUT1BUX0NPTVBBVElCTEU9JycgJFRTX0NNRF9HRVRPUFQgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorc2VkIC1pICcxLDFzLy4qXC8vLycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3Qgc2gKKyRUU19DTURfR0VUT1BUIC0tc2hlbGw9c2ggLW8gYWI6Yzo6IC0tbG9uZyBhLWxvbmcsYi1sb25nOixjLWxvbmc6OiAtbiAnZXhhbXBsZS5zaCcgLS0gLWEgLWIgMSAtYzIgIC0tYS1sb25nIC0tYi1sb25nIDMgLS1jLWxvbmcgZm9vIGJhciA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gImV4aXQgdmFsdWU6ICQ/IiA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCBjc2gKKyRUU19DTURfR0VUT1BUIC0tc2hlbGw9Y3NoIC1vIGFiOmM6OiAtLWxvbmcgYS1sb25nLGItbG9uZzosYy1sb25nOjogLW4gJ2V4YW1wbGUuY3NoJyAtLSAtYSAtYiAxIC1jMiAgLS1hLWxvbmcgLS1iLWxvbmcgMyAtLWMtbG9uZyBmb28gYmFyID4+ICRUU19PVVRQVVQgMj4mMQorZWNobyAiZXhpdCB2YWx1ZTogJD8iID4+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0IG5vLWFyZ3VtZW50cworJFRTX0NNRF9HRVRPUFQgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorc2VkIC1pICcxLDFzLy4qXC8vLycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgcG9zaXhfY29ycmVjdGx5CiskVFNfQ01EX0dFVE9QVCAtbyArYWI6Yzo6IC0tbG9uZyBhLWxvbmcsYi1sb25nOixjLWxvbmc6OiAtbiAnZXhhbXBsZScgLS0gLWEgLWIgMSAtYzIgIC0tYS1sb25nIC0tYi1sb25nIDMgLS1jLWxvbmcgZm9vIGJhciB4eXh4eSAtLWEtbG9uZyA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gImV4aXQgdmFsdWU6ICQ/IiA+PiAkVFNfT1VUUFVUCitQT1NJWExZX0NPUlJFQ1Q9JycgJFRTX0NNRF9HRVRPUFQgLW8gYWI6Yzo6IC0tbG9uZyBhLWxvbmcsYi1sb25nOixjLWxvbmc6OiAtbiAnZXhhbXBsZScgLS0gLWEgLWIgMSAtYzIgIC0tYS1sb25nIC0tYi1sb25nIDMgLS1jLWxvbmcgZm9vIGJhciB4eXh4eSAtLWEtbG9uZyA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gImV4aXQgdmFsdWU6ICQ/IiA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCBub24tb3B0aW9uCiskVFNfQ01EX0dFVE9QVCAtbyArYTpiOiAtLSAtYSB4IHkgLWIgeiB3ID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9HRVRPUFQgLW8gIGE6YjogLS0gLWEgeCB5IC1iIHogdyA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfR0VUT1BUIC1vIC1hOmI6IC0tIC1hIHggeSAtYiB6IHcgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvaGV4ZHVtcC9maWxlcy9hc2NpaS5pbiBiL3Rlc3RzL3RzL2hleGR1bXAvZmlsZXMvYXNjaWkuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGMyNTk4YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2hleGR1bXAvZmlsZXMvYXNjaWkuaW4KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvaGV4ZHVtcC9mb3JtYXQtc3RyaW5ncyBiL3Rlc3RzL3RzL2hleGR1bXAvZm9ybWF0LXN0cmluZ3MKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTZmOTIyOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2hleGR1bXAvZm9ybWF0LXN0cmluZ3MKQEAgLTAsMCArMSw2OCBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iZm9ybWF0LXN0cmluZ3MiCitGSUxFUz0iJFRTX1RPUERJUi90cy9oZXhkdW1wL2ZpbGVzIgorI3NhbXBsZSBpbnB1dCBjb25zaXN0cyBvZiBoZXhkdW1wLWVkIHJlc3VsdHMgb2YgdGhlIGZvbGxvd2luZyBweTNzY3JpcHQ6CisjZm9yIGkgaW4gcmFuZ2UoMjU2KToKKyMJcHJpbnQoY2hyKGkpLCBlbmQ9ICcgJykKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9IRVhEVU1QIgorCisjIG9uIGJpZyBlbmRpYW4gc3lzdGVtcyBzb21lIG9mIHRoZSBzdWJ0ZXN0cyBoYXZlIGRpZmZlcmVudCBleHBlY3RlZCBvdXRwdXQKK0JZVEVfT1JERVI9JCgkVFNfSEVMUEVSX1NZU0lORk8gYnl0ZS1vcmRlcikKK0JFX0VYVD0kKHRlc3QgIiRCWVRFX09SREVSIiA9ICJCRSIgJiYgZWNobyAiLkJFIikKKworIzg4NTMxNAordHNfaW5pdF9zdWJ0ZXN0ICJlbXB0eS1mb3JtYXQiCitUU19FWFBFQ1RFRCs9JEJFX0VYVAorSU5QVVQ9JChwcmludGYgXFwxKQorJFRTX0NNRF9IRVhEVU1QIC1uMSAtdmUgJzIgIiIgIiV4IicgPDw8ICRJTlBVVCA+PiAkVFNfT1VUUFVUIDI+JjEKKworJFRTX0NNRF9IRVhEVU1QIC1uMSAtdmUgJzQgIiV4IicgLWUgJzIgIiInIDw8PCAkSU5QVVQgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyNiYXNpYyBmb3JtYXRzCit0c19pbml0X3N1YnRlc3QgIjFiX29jdGFsIgorJFRTX0NNRF9IRVhEVU1QIC1iICRGSUxFUy9hc2NpaS5pbiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiMWJfY2hhciIKKyRUU19DTURfSEVYRFVNUCAtYyAkRklMRVMvYXNjaWkuaW4gJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImNhbm9uIgorJFRTX0NNRF9IRVhEVU1QIC1DICRGSUxFUy9hc2NpaS5pbiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiMmJfZGVjIgorVFNfRVhQRUNURUQrPSRCRV9FWFQKKyRUU19DTURfSEVYRFVNUCAtZCAkRklMRVMvYXNjaWkuaW4gJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgIjJiX29jdGFsIgorVFNfRVhQRUNURUQrPSRCRV9FWFQKKyRUU19DTURfSEVYRFVNUCAtbyAkRklMRVMvYXNjaWkuaW4gJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgIjJiX2hleCIKK1RTX0VYUEVDVEVEKz0kQkVfRVhUCiskVFNfQ01EX0hFWERVTVAgLXggJEZJTEVTL2FzY2lpLmluICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2hleGR1bXAvaGlnaGxpZ2h0aW5nIGIvdGVzdHMvdHMvaGV4ZHVtcC9oaWdobGlnaHRpbmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2Y3OGY3YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2hleGR1bXAvaGlnaGxpZ2h0aW5nCkBAIC0wLDAgKzEsMjY2IEBACisjIS9iaW4vYmFzaAorCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJoaWdobGlnaHRpbmciCitGSUxFUz0iJFRTX1RPUERJUi90cy9oZXhkdW1wL2ZpbGVzIgorT1BUUz0iLS1jb2xvcj1hbHdheXMiCitBRERSRk1UPSctZSAiJTA3LjdfQXhcbiInCisjc2FtcGxlIGlucHV0IGNvbnNpc3RzIG9mIGhleGR1bXAtZWQgcmVzdWx0cyBvZiB0aGUgZm9sbG93aW5nIHB5M3NjcmlwdDoKKyNmb3IgaSBpbiByYW5nZSgyNTYpOgorIwlwcmludChjaHIoaSksIGVuZD0gJyAnKQorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0hFWERVTVAiCisKKyMgb24gYmlnIGVuZGlhbiBzeXN0ZW1zIHNvbWUgb2YgdGhlIHN1YnRlc3RzIGhhdmUgZGlmZmVyZW50IGV4cGVjdGVkIG91dHB1dAorQllURV9PUkRFUj0kKCRUU19IRUxQRVJfU1lTSU5GTyBieXRlLW9yZGVyKQorQkVfRVhUPSQodGVzdCAiJEJZVEVfT1JERVIiID0gIkJFIiAmJiBlY2hvICIuQkUiKQorCisjCisjIGJhc2ljIGZvcm1hdHMgL3cgc29tZSBoaWdobGlnaHRpbmcgdHdlYWtzCisjCisKKyMgaGlnaGxpZ2h0ICdBJyBhbmQgJ2EnCit0c19pbml0X3N1YnRlc3QgIjFiX29jdGFsLTEiCiskVFNfQ01EX0hFWERVTVAgJE9QVFMgJEFERFJGTVQgXAorCS1lICciJTA3LjdfYXggIiAxNi8xICIlMDNvX0xbcmVkOkEscmVkOmFdICIgIlxuIicgXAorCSRGSUxFUy9hc2NpaS5pbiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMgaGlnaGxpZ2h0IGJ5dGVzIHdpdGggdGhlIHZhbHVlIG9mIDB4NDEgKEEpIGFuZCAweDYxIChhKQordHNfaW5pdF9zdWJ0ZXN0ICIxYl9vY3RhbC0yIgorVFNfRVhQRUNURUQrPSRCRV9FWFQKKyRUU19DTURfSEVYRFVNUCAkT1BUUyAkQUREUkZNVCBcCisJLWUgJyIlMDcuN19heCAiIDE2LzEgIiUwM29fTFtyZWQ6MHg0MSxyZWQ6MHg2MV0gIiAiXG4iJyBcCisJJEZJTEVTL2FzY2lpLmluICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworIyBoaWdobGlnaHQgdGhlIGJ5dGVzIGF0IG9mZnNldHMgMTMwIGFuZCAgMTk0IChkZWNpbWFsKQordHNfaW5pdF9zdWJ0ZXN0ICIxYl9vY3RhbC0zIgorJFRTX0NNRF9IRVhEVU1QICRPUFRTICRBRERSRk1UIFwKKwktZSAnIiUwNy43X2F4ICIgMTYvMSAiJTAzb19MW3JlZEAxMzAscmVkQDE5NF0gIiAiXG4iJyBcCisJJEZJTEVTL2FzY2lpLmluICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworIyBoaWdobGlnaHQgdGhlIGJ5dGUgYXQgb2Zmc2V0IDE5NCBpZiBpdCdzIHZhbHVlIGlzIDB4NjEgKGEpCisjIGFuZCB0aGUgYnl0ZSBhdCBvZmZzZXQgMTMwIGlmIGl0J3MgdmFsdWUgaXMgQSAoMHg0MSkKK3RzX2luaXRfc3VidGVzdCAiMWJfb2N0YWwtNCIKK1RTX0VYUEVDVEVEKz0kQkVfRVhUCiskVFNfQ01EX0hFWERVTVAgJE9QVFMgJEFERFJGTVQgXAorCS1lICciJTA3LjdfYXggIiAxNi8xICIlMDNvX0xbcmVkOkFAMTMwLHJlZDoweDYxQDE5NF0gIiAiXG4iJyBcCisJJEZJTEVTL2FzY2lpLmluICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworIyBoaWdobGlnaHQgdGhlIGJ5dGUgYXQgb2Zmc2V0IDE5NCBpZiBpdCdzIHZhbHVlIGlzIDB4NjEgKGEpCisjIGFuZCB0aGUgYnl0ZSBhdCBvZmZzZXQgMTMwIGlmIGl0J3MgdmFsdWUgaXMgQyAoMHg0MSkgKGZhbHNlKQordHNfaW5pdF9zdWJ0ZXN0ICIxYl9vY3RhbC01IgorVFNfRVhQRUNURUQrPSRCRV9FWFQKKyRUU19DTURfSEVYRFVNUCAkT1BUUyAkQUREUkZNVCBcCisJLWUgJyIlMDcuN19heCAiIDE2LzEgIiUwM29fTFtyZWQ6Q0AxMzAscmVkOjB4NjFAMTk0XSAiICJcbiInIFwKKwkkRklMRVMvYXNjaWkuaW4gJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCisjIGhpZ2hsaWdodCBhIHJhbmdlIGxvbmdlciB0aGFuIHRoZSBieXRlIGNvdW50IG9mICVvCit0c19pbml0X3N1YnRlc3QgIjFiX29jdGFsLTYiCiskVFNfQ01EX0hFWERVTVAgJE9QVFMgJEFERFJGTVQgXAorCS1lICciJTA3LjdfYXggIiAxNi8xICIlMDNvX0xbcmVkQDE5My0xOTRdICIgIlxuIicgXAorCSRGSUxFUy9hc2NpaS5pbiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMgaGlnaGxpZ2h0IGJ5dGVzIHdpdGggdGhlIHZhbHVlIG9mIDAxMDEgKEEpIGFuZCAwMTQxIChhKQordHNfaW5pdF9zdWJ0ZXN0ICIxYl9vY3RhbC03IgorVFNfRVhQRUNURUQrPSRCRV9FWFQKKyRUU19DTURfSEVYRFVNUCAkT1BUUyAkQUREUkZNVCBcCisJLWUgJyIlMDcuN19heCAiIDE2LzEgIiUwM29fTFtyZWQ6MDEwMSxyZWQ6MDE0MV0gIiAiXG4iJyBcCisJJEZJTEVTL2FzY2lpLmluICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworIyBoaWdobGlnaHQgYnl0ZXMgd2l0aCB0aGUgdmFsdWUgb2YgMDEwMSAoQSksIDB4NjEgKGEpLCBvciBpZiB0aGUgY2hhcmFjdGVyIGlzIGEgY2FyZXQKK3RzX2luaXRfc3VidGVzdCAiMWJfb2N0YWwtOCIKK1RTX0VYUEVDVEVEKz0kQkVfRVhUCiskVFNfQ01EX0hFWERVTVAgJE9QVFMgJEFERFJGTVQgXAorCS1lICciJTA3LjdfYXggIiAxNi8xICIlMDNvX0xbcmVkOjAxMDEsYmx1ZToweDYxLGdyZWVuOl5dICIgIlxuIicgXAorCSRGSUxFUy9hc2NpaS5pbiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMgaGlnaGxpZ2h0IGJ5dGVzIHdpdGggdGhlIHZhbHVlIG9mIDAxMDEgKEEpLCAweDYxIChhKSwgb3IgaWYgdGhlIGNoYXJhY3RlciBhdCAxOTYgaXMgbm90ICdjJwordHNfaW5pdF9zdWJ0ZXN0ICIxYl9vY3RhbC05IgorVFNfRVhQRUNURUQrPSRCRV9FWFQKKyRUU19DTURfSEVYRFVNUCAkT1BUUyAkQUREUkZNVCBcCisJLWUgJyIlMDcuN19heCAiIDE2LzEgIiUwM29fTFtyZWQ6MDEwMSxibHVlOjB4NjEsIWdyZWVuOmNAMTk2XSAiICJcbiInIFwKKwkkRklMRVMvYXNjaWkuaW4gJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCisjY29sb3IgdGhlIGFkZHJlc3NlcyByZWQgYW5kIHRoZSBjaGFyYWN0ZXJzIGluIFVUSUwtTElOVVggZ3JlZW4KK3RzX2luaXRfc3VidGVzdCAiMWJfY2hhci0xIgorJFRTX0NNRF9IRVhEVU1QICRPUFRTICRBRERSRk1UIFwKKwktZSAnIiUwNy43X2F4X0xbcmVkXSAiIDE2LzEgIiUzX2NfTFtncmVlbjotLGdyZWVuOkksZ3JlZW46TCxncmVlbjpOLGdyZWVuOlQsZ3JlZW46VSxncmVlbjpYXSAiICJcbiInIFwKKwkkRklMRVMvYXNjaWkuaW4gJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCisjY29sb3IgdGhlIGFkZHJlc3MgMHhlMCByZWQKK3RzX2luaXRfc3VidGVzdCAiMWJfY2hhci0yIgorJFRTX0NNRF9IRVhEVU1QICRPUFRTICRBRERSRk1UIFwKKwktZSAnIiUwNy43X2F4X0xbcmVkOjB4ZTBdICIgMTYvMSAiJTNfYyAiICJcbiInIFwKKwkkRklMRVMvYXNjaWkuaW4gJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCisjaGlnaGxpZ2h0ICc6JyBhbmQgJ0AnCit0c19pbml0X3N1YnRlc3QgIjFiX2NoYXItMyIKKyRUU19DTURfSEVYRFVNUCAkT1BUUyAkQUREUkZNVCBcCisJLWUgJyIlMDcuN19heCAiIDE2LzEgIiUzX2NfTFtyZWQ6OkAxMTYscmVkOkBAMTI4XSAiICJcbiInIFwKKwkkRklMRVMvYXNjaWkuaW4gJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCisjIGNvbG9yIGxhc3QgYWRkcmVzcyBncmF5LCB0aGUgbnVsbCBieXRlIGJsdWUsIHRoZSBzcGFjZXMgYnJvd24oLWlzaCkgYW5kIHRoZSB0ZXh0IGN5YW4KK3RzX2luaXRfc3VidGVzdCAiY2Fub24tMSIKK1RTX0VYUEVDVEVEKz0kQkVfRVhUCiskVFNfQ01EX0hFWERVTVAgJE9QVFMgXAorCS1lICciJTA4LjhfQXhfTFtncmF5XVxuIicgXAorCS1lICciJTA4LjhfYXggICIgOC8xICIlMDJ4X0xbYmx1ZToweDAsYnJvd246MHgyMF0gIiAiICAiIDgvMSAiJTAyeF9MW2Jyb3duOjB4MjBdICIgJyBcCisJLWUgJyIgIHwiIDE2LzEgIiVfcF9MW2N5YW5dIiAifFxuIicgXAorCSRGSUxFUy9hc2NpaS5pbiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMgY29sb3IgbGFzdCBhZGRyZXNzIGdyYXkgLSBpZiBpdCdzIDB4MjgwIG9yIGJsdWUgaWYgaXQncyAweDM4MAorIyBjb2xvciBBL2EgaGV4IGR1bXBzIGJsdWUgYW5kIEEvYSBpbiB0ZXh0IGdyZWVuCit0c19pbml0X3N1YnRlc3QgImNhbm9uLTIiCiskVFNfQ01EX0hFWERVTVAgJE9QVFMgXAorCS1lICciJTA4LjhfQXhfTFtibHVlOjB4MzgwLHJlZDoweDI4MF1cbiInIFwKKwktZSAnIiUwOC44X2F4ICAiIDgvMSAiJTAyeF9MW2JsdWU6QSxibHVlOmFdICIgIiAgIiA4LzEgIiUwMnhfTFtibHVlOkEsYmx1ZTphXSAiICcgXAorCS1lICciICB8IiAxNi8xICIlX3BfTFtncmVlbjpBLGdyZWVuOmFdIiAifFxuIicgXAorCSRGSUxFUy9hc2NpaS5pbiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMgY29sb3IgdGhlIGN1cnJlbnQgcHJpbnQgdW5pdCBpZiBvbmUgb2YgdGhlIGJ5dGVzIGl0IHByaW50cyBpcyBhdCBvZmZzZXQgMTAwICgweDY0KQordHNfaW5pdF9zdWJ0ZXN0ICIyYl9kZWMtMSIKK1RTX0VYUEVDVEVEKz0kQkVfRVhUCiskVFNfQ01EX0hFWERVTVAgJE9QVFMgJEFERFJGTVQgXAorCS1lICciJTA3LjdfYXggIiA4LzIgIiAgJTA1dV9MW3JlZEAxMDBdICIgIlxuIicgXAorCSRGSUxFUy9hc2NpaS5pbiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMgY29sb3IgdGhlIGN1cnJlbnQgcHJpbnQgdW5pdCBpZiBvZiB0aGUgYnl0ZXMgaXQgcHJpbnRzIGFyZSBhdCBvZmZzZXRzIDk4IGFuZCA5OQordHNfaW5pdF9zdWJ0ZXN0ICIyYl9kZWMtMiIKK1RTX0VYUEVDVEVEKz0kQkVfRVhUCiskVFNfQ01EX0hFWERVTVAgJE9QVFMgJEFERFJGTVQgXAorCS1lICciJTA3LjdfYXggIiA4LzIgIiAgJTA1dV9MW3JlZEA5OC05OV0gIiAiXG4iJyBcCisJJEZJTEVTL2FzY2lpLmluICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworIyBjb2xvciB0aGUgY3VycmVudCBwcmludCB1bml0IGlmIHNvbWUgb3IgYWxsIG9mIHRoZSBieXRlcyBpdCBwcmludHMgYXJlIGF0IG9mZnNldHMgOTggYW5kIDk5Cit0c19pbml0X3N1YnRlc3QgIjJiX2RlYy0zIgorVFNfRVhQRUNURUQrPSRCRV9FWFQKKyRUU19DTURfSEVYRFVNUCAkT1BUUyAkQUREUkZNVCBcCisJLWUgJyIlMDcuN19heCAiIDgvMiAiICAlMDV1X0xbcmVkQDk3LTk5XSAiICJcbiInIFwKKwkkRklMRVMvYXNjaWkuaW4gJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCisjIGNvbG9yIHRoZSBjdXJyZW50IHByaW50IHVuaXQgaWYgaXQgcHJpbnRzICJBICIgYXQgMTMwLTEzMQordHNfaW5pdF9zdWJ0ZXN0ICIyYl9kZWMtNCIKK1RTX0VYUEVDVEVEKz0kQkVfRVhUCiskVFNfQ01EX0hFWERVTVAgJE9QVFMgJEFERFJGTVQgXAorCS1lICciJTA3LjdfYXggIiA4LzIgIiAgJTA1dV9MW3JlZDpBIEAxMzAtMTMxXSAiICJcbiInIFwKKwkkRklMRVMvYXNjaWkuaW4gJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCisjIGNvbG9yIHRoZSBjdXJyZW50IHByaW50IHVuaXQgaWYgaXQgZG9lc24ndCBwcmludCAiQiAiIGF0IDEzMC0xMzEKK3RzX2luaXRfc3VidGVzdCAiMmJfZGVjLTUiCitUU19FWFBFQ1RFRCs9JEJFX0VYVAorJFRTX0NNRF9IRVhEVU1QICRPUFRTICRBRERSRk1UIFwKKwktZSAnIiUwNy43X2F4ICIgOC8yICIgICUwNXVfTFshcmVkOkIgQDEzMC0xMzFdICIgIlxuIicgXAorCSRGSUxFUy9hc2NpaS5pbiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMgc3BlY2lmeSBhIHN0cmluZyBzaG9ydGVyIHRoYW4gdGhlIHJhbmdlIC0gZXJyb3IKK3RzX2luaXRfc3VidGVzdCAiMmJfZGVjLTYiCiskVFNfQ01EX0hFWERVTVAgJE9QVFMgJEFERFJGTVQgXAorCS1lICciJTA3LjdfYXggIiA4LzIgIiAgJTA1dV9MW3JlZDpBQDEzMC0xMzFdICIgIlxuIicgXAorCSRGSUxFUy9hc2NpaS5pbiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMgc3BlY2lmeSBhIG5lZ2F0aXZlLWxlbmd0aCByYW5nZQordHNfaW5pdF9zdWJ0ZXN0ICIyYl9kZWMtNyIKKyRUU19DTURfSEVYRFVNUCAkT1BUUyAkQUREUkZNVCBcCisJLWUgJyIlMDcuN19heCAiIDgvMiAiICAlMDV1X0xbcmVkOkFAMTMxLTEzMF0gIiAiXG4iJyBcCisJJEZJTEVTL2FzY2lpLmluICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworIyBjb2xvciB0aGUgY3VycmVudCBwcmludCB1bml0IGlmIG9mIHRoZSBieXRlcyBpdCBwcmludHMgYXJlIGF0IG9mZnNldHMgOTgtMTAyIChtdWx0aXBsZSBwcmludCB1bml0cykKK3RzX2luaXRfc3VidGVzdCAiMmJfZGVjLTgiCitUU19FWFBFQ1RFRCs9JEJFX0VYVAorJFRTX0NNRF9IRVhEVU1QICRPUFRTICRBRERSRk1UIFwKKwktZSAnIiUwNy43X2F4ICIgOC8yICIgICUwNXVfTFtyZWRAOTgtMTAyXSAiICJcbiInIFwKKwkkRklMRVMvYXNjaWkuaW4gJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCisjIGNvbG9yIHRoZSBjdXJyZW50IHByaW50IHVuaXQgaWYgc29tZSBvciBhbGwgb2YgdGhlIGJ5dGVzIGl0IHByaW50cyBhcmUgYXQgb2Zmc2V0cyA5NyBhbmQgOTkgKHRydWUpCit0c19pbml0X3N1YnRlc3QgIjRiX2RlYy0xIgorVFNfRVhQRUNURUQrPSRCRV9FWFQKKyRUU19DTURfSEVYRFVNUCAkT1BUUyAkQUREUkZNVCBcCisJLWUgJyIlMDcuN19heCAiIDgvNCAiICAlMDV1X0xbcmVkQDk3LTk5XSAiICJcbiInIFwKKwkkRklMRVMvYXNjaWkuaW4gJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCisjIGNvbG9yIHRoZSBjdXJyZW50IHByaW50IHVuaXQgaWYgc29tZSBvciBhbGwgb2YgdGhlIGJ5dGVzIGl0IHByaW50cyBhcmUgYXQgb2Zmc2V0cyA5Ni05OQordHNfaW5pdF9zdWJ0ZXN0ICI0Yl9kZWMtMiIKK1RTX0VYUEVDVEVEKz0kQkVfRVhUCiskVFNfQ01EX0hFWERVTVAgJE9QVFMgJEFERFJGTVQgXAorCS1lICciJTA3LjdfYXggIiA4LzQgIiAgJTA1dV9MW3JlZEA5Ni05OV0gIiAiXG4iJyBcCisJJEZJTEVTL2FzY2lpLmluICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworIyBsb29rIGZvciBAQEBACit0c19pbml0X3N1YnRlc3QgIjRiX2RlYy0zIgorVFNfRVhQRUNURUQrPSRCRV9FWFQKKyRUU19DTURfSEVYRFVNUCAkT1BUUyAkQUREUkZNVCBcCisJLWUgJyIlMDcuN19heCAiIDgvNCAiICAlMDV1X0xbcmVkOkBAQEBdICIgIlxuIicgXAorCSY+ICRUU19PVVRQVVQgPDw8ICJAQEBAIgordHNfZmluYWxpemVfc3VidGVzdAorCisjIGxvb2sgZm9yIEBAQEAgYXQgMC0zCit0c19pbml0X3N1YnRlc3QgIjRiX2RlYy00IgorVFNfRVhQRUNURUQrPSRCRV9FWFQKKyRUU19DTURfSEVYRFVNUCAkT1BUUyAkQUREUkZNVCBcCisJLWUgJyIlMDcuN19heCAiIDgvNCAiICAlMDV1X0xbcmVkOkBAQEBAMC0zXSAiICJcbiInIFwKKwkmPiAkVFNfT1VUUFVUIDw8PCAiQEBAQCIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworIyBsb29rIGZvciBAQEAgYXQgMC0zICh3cm9uZyBieXRlIGNvdW50IGVycm9yKQordHNfaW5pdF9zdWJ0ZXN0ICI0Yl9kZWMtNSIKKyRUU19DTURfSEVYRFVNUCAkT1BUUyAkQUREUkZNVCBcCisJLWUgJyIlMDcuN19heCAiIDgvNCAiICAlMDV1X0xbcmVkOkBAQEAwLTNdICIgIlxuIicgXAorCSY+ICRUU19PVVRQVVQgPDw8ICJAQEBAIgordHNfZmluYWxpemVfc3VidGVzdAorCisjIGxvb2sgZm9yIEBAQCBhdCAxLTMgLSBpbiB0aGUgZm9ybWF0IGJvdW5kYXJpZXMgLSBjb3JyZWN0Cit0c19pbml0X3N1YnRlc3QgIjRiX2RlYy02IgorVFNfRVhQRUNURUQrPSRCRV9FWFQKKyRUU19DTURfSEVYRFVNUCAkT1BUUyAkQUREUkZNVCBcCisJLWUgJyIlMDcuN19heCAiIDgvNCAiICAlMDV1X0xbcmVkOkBAQEAxLTNdICIgIlxuIicgXAorCSY+ICRUU19PVVRQVVQgPDw8ICJAQEBAIgordHNfZmluYWxpemVfc3VidGVzdAorCisjIGxvb2sgZm9yIEBAQCBhdCAyLTQgLSBjb3JyZWN0IHJhbmdlIGxlbmd0aCwgaG93ZXZlciBzdGVwcyBvdmVyIDIgcHJpbnQgdW5pdHMgLSBubyBjb2xvcnMKK3RzX2luaXRfc3VidGVzdCAiNGJfZGVjLTciCitUU19FWFBFQ1RFRCs9JEJFX0VYVAorJFRTX0NNRF9IRVhEVU1QICRPUFRTICRBRERSRk1UIFwKKwktZSAnIiUwNy43X2F4ICIgOC80ICIgICUwNXVfTFtyZWQ6QEBAQDItNF0gIiAiXG4iJyBcCisJJj4gJFRTX09VVFBVVCA8PDwgIkBAQEAiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9od2Nsb2NrL3N5c3RvaGMgYi90ZXN0cy90cy9od2Nsb2NrL3N5c3RvaGMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmE3ODY4ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2h3Y2xvY2svc3lzdG9oYwpAQCAtMCwwICsxLDk2IEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJzeXN0ZW0gdG8gaHciCitOVFBfU0VSVkVSPSIwLmZlZG9yYS5wb29sLm50cC5vcmciCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfSFdDTE9DSyIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19wcm9nICJiYyIKK3RzX2NoZWNrX3Byb2cgInNudHAiCisKK2Z1bmN0aW9uIGdldF9vZmZzZXRfc3lzX250cAoreworCWxvY2FsIGlwPSIkQCIKKwlsb2NhbCBvdXQKKworCSMgdXNpbmcgaG9zdG5hbWUgaW5zdGVhZCBvZiBJUCBjb3VsZCBnaXZlIHVzIG1vcmUgdGhhbiBvbmUgb2Zmc2V0CisJb3V0PSQoc250cCAtLXRpbWVvdXQgMSAiJGlwIikgfHwgcmV0dXJuIDEKKworCSMgc2VkIG11c3QgZGVsaXZlciBhIHNpZ25lZCBmbG9hdCBvciBlbXB0eSBzdHJpbmcgZm9yIHN1cmUKKwlvdXQ9JChlY2hvICIkb3V0IiB8IFwKKwkJc2VkIC1uICdzLy4qIFwoXCgrXHwtXClbMC05XVx7MSxcfVwuWzAtOV1cezEsXH1cKS4qL1wxLzFwJykKKworCVsgLW4gIiRvdXQiIF0gfHwgcmV0dXJuIDEKKwllY2hvICIkb3V0IgorfQorCitmdW5jdGlvbiBjaGVja19kaWZmX29mZnNldAoreworCWxvY2FsIGE9JHsxIyt9CisJbG9jYWwgYj0kezIjK30KKwlsb2NhbCBtYXg9IiQzIgorCWxvY2FsIHRtcAorCisJdG1wPSQoZWNobyAiJGEgLSAkYiIgfCBiYyB8IHRyIC1kICctJykKKwllY2hvICIkdG1wIgorCisJdG1wPSQoZWNobyAiJHRtcCA8ICRtYXgiIHwgYmMpCisJWyAkdG1wIC1lcSAxIF0KK30KKworCisjIHdlIG5lZWQgZml4ZWQgbnRwIElQIHRvIGdldCBjb21wYXJhYmxlIG9mZnNldHMKK05UUF9JUD0kKHRzX3Jlc29sdmVfaG9zdCAiJE5UUF9TRVJWRVIiKSBcCisJfHwgdHNfc2tpcCAiY2FuJ3QgcmVzb2x2ZSBob3N0bmFtZSAkTlRQX1NFUlZFUiIKKworT0ZGU0VUX0E9JChnZXRfb2Zmc2V0X3N5c19udHAgIiROVFBfSVAiKSBcCisJfHwgdHNfc2tpcCAiY2FuJ3QgZ2V0IG50cCBvZmZzZXQgMXN0LCAkTlRQX0lQIgorT0ZGU0VUX0I9JChnZXRfb2Zmc2V0X3N5c19udHAgIiROVFBfSVAiKSBcCisJfHwgdHNfc2tpcCAiY2FuJ3QgZ2V0IG50cCBvZmZzZXQgMm5kLCAkTlRQX0lQIgorCitkaWZmPSQoY2hlY2tfZGlmZl9vZmZzZXQgJE9GRlNFVF9BICRPRkZTRVRfQiAwLjAyKSBcCisJfHwgdHNfc2tpcCAidW5yZWxpYWJsZSBudHAgb3Igc3lzIGNsb2NrIG9mZnNldHM6ICROVFBfSVAgJE9GRlNFVF9BICRPRkZTRVRfQiArLy0kZGlmZiIKKworIyBod2Nsb2NrIC0tc2hvdyBzaG91bGQgd29yayBpZiB3ZSBoYXZlIGEgaHcgY2xvY2sKK3RtcD0kKCRUU19DTURfSFdDTE9DSyAtLXNob3cgMj4mMSkKK2lmIFsgJD8gIT0gIjAiIF07IHRoZW4KKwllY2hvICIkdG1wIiB8IGdyZXAgLXEgIkNhbm5vdCBhY2Nlc3MgdGhlIEhhcmR3YXJlIENsb2NrIHZpYSIgXAorCQkmJiB0c19za2lwICJubyBoYXJkd2FyZSBjbG9jayBmb3VuZCIKKwl0c19mYWlsZWQgImh3Y2xvY2sgLS1zaG93IgorZmkKKworIyBjYWxsIGh3Y2xvY2sKK2ZvciBpIGluIGBzZXEgMSAxMGA7IGRvCisJIyBvbmx5ICpza2lwKiBvbiBmYWlsdXJlIGZvciBub3cKKwkkVFNfQ01EX0hXQ0xPQ0sgLS1zeXN0b2hjIHx8IHRzX3NraXAgImh3Y2xvY2sgLS1zeXN0b2hjIGZhaWxlZCwgJGkiCisJJFRTX0NNRF9IV0NMT0NLIC0taGN0b3N5cyB8fCB0c19za2lwICJod2Nsb2NrIC0taGN0b3N5cyBmYWlsZWQsICRpIgorZG9uZQorCitPRkZTRVRfQz0kKGdldF9vZmZzZXRfc3lzX250cCAiJE5UUF9JUCIpIFwKKwl8fCB0c19za2lwICJjYW4ndCBnZXQgbnRwIG9mZnNldCAzcmQsICROVFBfSVAiCisKK2RpZmY9JChjaGVja19kaWZmX29mZnNldCAiJE9GRlNFVF9CIiAiJE9GRlNFVF9DIiAxLjApIFwKKwl8fCB0c19mYWlsZWQgIm9mZnNldHMgJE5UUF9JUDogJE9GRlNFVF9CICRPRkZTRVRfQyArLy0kZGlmZiIKKwordHNfb2sgIm9mZnNldHMgJE5UUF9JUDogJE9GRlNFVF9CICRPRkZTRVRfQyArLy0kZGlmZiIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2lwY3MvZnVuY3Rpb25zLnNoIGIvdGVzdHMvdHMvaXBjcy9mdW5jdGlvbnMuc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTljZjIyOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2lwY3MvZnVuY3Rpb25zLnNoCkBAIC0wLDAgKzEsMTA1IEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKwordGVzdCAtZiAvcHJvYy9zeXMva2VybmVsL3NobWFsbCB8fCB0c19za2lwICJubyAvcHJvYyIKKworUEFHRV9TSVpFPSQoJFRTX0hFTFBFUl9TWVNJTkZPIHBhZ2VzaXplKQorCisjIGtlcm5lbCBmaWxlcworSVBDU19QUk9DRklMRVM9KAorCS9wcm9jL3N5cy9rZXJuZWwvc2htbW5pCisJL3Byb2Mvc3lzL2tlcm5lbC9zaG1hbGwKKwkvcHJvYy9zeXMva2VybmVsL3NobW1heAorKQorCisjIHJhdyBkYXRhIGNvbnZlcnRlZCB0byBpcGNzLWxpa2UgZm9ybWF0CisjCXNobW1uaSA9IHNhbWUKKyMJc2htYWxsID0gZnJvbSBwYWdlcyB0byBLQnl0ZXMKKyMJc2htbWF4ID0gZnJvbSBieXRlcyB0byBLQnl0ZXMKKyMKK0lQQ1NfS0VSTkVMX0NNRD0oCisJImNhdCAvcHJvYy9zeXMva2VybmVsL3NobW1uaSIKKwkiZWNobyBcJChjYXQgL3Byb2Mvc3lzL2tlcm5lbC9zaG1hbGwpIC8gMTAyNCBcKiAkUEFHRV9TSVpFIHwgYmMgLWwgfCBzZWQgJ3MvXC4uKi8vJyIKKwkiZWNobyBcJChjYXQgL3Byb2Mvc3lzL2tlcm5lbC9zaG1tYXgpIC8gMTAyNCB8IGJjIC1sIHwgc2VkICdzL1wuLiovLyciCispCisKKyMgZGF0YSBmcm9tIHRoZSBpcGNzIGNvbW1hbmQKK0lQQ1NfQ01EPSgKKwkiJFRTX0NNRF9JUENTIC1tIC1sIHwgYXdrICcvbWF4IG51bWJlciBvZiBzZWdtZW50cy8geyBwcmludCBcJDYgfSciCisJIiRUU19DTURfSVBDUyAtbSAtbCB8IGF3ayAnL21heCB0b3RhbCBzaGFyZWQgbWVtb3J5LyB7IHByaW50IFwkNyB9JyIKKwkiJFRTX0NNRF9JUENTIC1tIC1sIHwgYXdrICcvbWF4IHNlZyBzaXplLyB7IHByaW50IFwkNiB9JyIKKykKKworCisjIFRoZSBsaW51eCBrZXJuZWwgYWNjZXB0cyBVTE9OR19NQVgsIGJ1dCB0aGlzIHZhbHVlIGlzIHNhbWUgbGlrZSBVTExPTkdfTUFYIG9uCisjIDY0LWJpdCBhcmNocy4gU28gdGhlIGlwY3MgY29tbWFuZCBoYXMgdG8gYWx3YXlzIG92ZXJmbG93IG9uIDY0LWJpdCBhcmNocyB3aGVuCisjIHNobWFsbCAoPW51bSBvZiBwYWdlcyEpIGlzIHNhbWUgb3IgYWxtb3N0IHNhbWUgbGlrZSBVTE9OR19NQVguIFRoaXMgaXMgcmVhc29uCisjIHdoeSB3ZSBmb3IgdGhlIHRlc3QgdXNlcyAzMi1iaXQgbGltaXRzIG9uIGFsbCBhcmNocy4KKyMKKyMgKERvbid0IHdvcnJ5IHRoYXQgNjQtYml0IFVMT05HX01BWCBtYWtlcyBpcGNzIHVzZWxlc3MgLi4uCisjICAuLi4gaXQncyBhIHByb2JsZW0gZm9yIGFkbWlucyB3aG8gd2FudCB0byB1c2UgNzU1NTc4NjM3MjVUQiBvZiBSQU0gZm9yIHNobSkKKyMKK0lQQ1NfTElNSVRTPSgKKwkkKCRUU19IRUxQRVJfU1lTSU5GTyBJTlRfTUFYKQorCSQoJFRTX0hFTFBFUl9TWVNJTkZPIFVMT05HX01BWDMyKQorCSQoJFRTX0hFTFBFUl9TWVNJTkZPIFVMT05HX01BWDMyKQorKQorCisjIGxpc3Qgb2YgaW5kZXhlcyA9IDAuLihzaXplb2YgQXJyYXkgLSAxKQorSVBDU19JRFg9JChzZXEgMCAkKCggJHsjSVBDU19QUk9DRklMRVNbKl19IC0gMSApKSkKKworIyBjaGVja2VyCitmdW5jdGlvbiBpcGNzX2xpbWl0c19jaGVjayB7CisJZm9yIGkgaW4gJElQQ1NfSURYOyBkbworCisJCWVjaG8gLW4gJHtJUENTX1BST0NGSUxFU1skaV19CisKKwkJYT0kKGV2YWwgJHtJUENTX0tFUk5FTF9DTURbJGldfSkKKwkJYj0kKGV2YWwgJHtJUENTX0NNRFskaV19KQorCisJCSNlY2hvCisJCSNlY2hvICJLRVJORUwtQ01EOiAke0lQQ1NfS0VSTkVMX0NNRFskaV19IgorCQkjZWNobyAiS0VSTkVMLVJBVzogJChjYXQgJHtJUENTX1BST0NGSUxFU1skaV19KSIKKwkJI2VjaG8gIklQQ1MtQ01EOiAgICR7SVBDU19DTURbJGldfSIKKwkJI2VjaG8KKworCQlpZiBbIHgiJGEiID09IHgiJGIiIF07IHRoZW4KKwkJCWVjaG8gIiBPSyIKKwkJZWxzZQorCQkJZWNobyAiIGtlcm5lbD0kYSwgaXBjcz0kYiIKKwkJZmkKKwlkb25lCit9CisKKyMgUmVhZCAnaXBjbWsnIG91dHB1dCwgc3VjaCBhcyAnU2hhcmVkIG1lbW9yeSBpZDogMjI4MzkyOTknIGFuZAorIyB3cml0ZSB0aGUgbWVzc2FnZSB0byB0d28gZmlsZXM6ICgxKSBzb21ldGhpbmcgd2hhdCBvbmUgY2FuCisjIGNvbXBhcmUgYXMgdGVzdCBvdXRwdXQsIGFuZCAoMikgaWQgd2hpY2ggaXBjcm0gbGF0ZXIgd2lsbCB1c2UKKyMgZm9yIGRlbGV0aW9uLgoraXBjbWtfb3V0cHV0X2hhbmRsZXIoKSB7CisJYXdrIC12IHRleHQ9JDEgLXYgbnVtPSQyICcKKwlmdW5jdGlvbiBpc251bSh4KSB7CisJCXJldHVybih4ID09IHggKyAwKQorCX0KKwl7CisJCWlmIChpc251bSgkTkYpKSB7CisJCQlwcmludCAkTkYgPj4gbnVtCisJCQkkTkY9Ijx3YXNfbnVtYmVyPiIKKwkJfQorCQlwcmludCAkMCA+PiB0ZXh0CisJfScKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2lwY3MvaGVhZGVycyBiL3Rlc3RzL3RzL2lwY3MvaGVhZGVycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41MDg5ZWE1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvaXBjcy9oZWFkZXJzCkBAIC0wLDAgKzEsNjAgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iaGVhZGVycyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9JUENTIgorCit0c19sb2cgInRlc3Q6IHNobSBoZWFkZXJzIgorJFRTX0NNRF9JUENTIC1tIC10IHwgZ3JlcCAtLWFmdGVyLWNvbnRleHQ9MSAiXi0tLSIgID4+ICRUU19PVVRQVVQKKyRUU19DTURfSVBDUyAtbSAtcCB8IGdyZXAgLS1hZnRlci1jb250ZXh0PTEgIl4tLS0iICA+PiAkVFNfT1VUUFVUCiskVFNfQ01EX0lQQ1MgLW0gLWMgfCBncmVwIC0tYWZ0ZXItY29udGV4dD0xICJeLS0tIiAgPj4gJFRTX09VVFBVVAorJFRTX0NNRF9JUENTIC1tIC1sIHwgZ3JlcCAiXi0tLSIgID4+ICRUU19PVVRQVVQKKyRUU19DTURfSVBDUyAtbSAtdSB8IGdyZXAgIl4tLS0iICA+PiAkVFNfT1VUUFVUCitlY2hvID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJ0ZXN0OiBtZXNnIGhlYWRlcnMiCiskVFNfQ01EX0lQQ1MgLXEgLXQgfCBncmVwIC0tYWZ0ZXItY29udGV4dD0xICJeLS0tIiAgPj4gJFRTX09VVFBVVAorJFRTX0NNRF9JUENTIC1xIC1wIHwgZ3JlcCAtLWFmdGVyLWNvbnRleHQ9MSAiXi0tLSIgID4+ICRUU19PVVRQVVQKKyRUU19DTURfSVBDUyAtcSAtYyB8IGdyZXAgLS1hZnRlci1jb250ZXh0PTEgIl4tLS0iICA+PiAkVFNfT1VUUFVUCiskVFNfQ01EX0lQQ1MgLXEgLWwgfCBncmVwICAiXi0tLSIgID4+ICRUU19PVVRQVVQKKyRUU19DTURfSVBDUyAtcSAtdSB8IGdyZXAgICJeLS0tIiAgPj4gJFRTX09VVFBVVAorZWNobyA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAidGVzdDogc2VtIGhlYWRlcnMiCiskVFNfQ01EX0lQQ1MgLXMgLXQgfCBncmVwIC0tYWZ0ZXItY29udGV4dD0xICJeLS0tIiAgPj4gJFRTX09VVFBVVAorJFRTX0NNRF9JUENTIC1zIC1wIHwgZ3JlcCAtLWFmdGVyLWNvbnRleHQ9MSAiXi0tLSIgID4+ICRUU19PVVRQVVQKKyRUU19DTURfSVBDUyAtcyAtYyB8IGdyZXAgLS1hZnRlci1jb250ZXh0PTEgIl4tLS0iICA+PiAkVFNfT1VUUFVUCiskVFNfQ01EX0lQQ1MgLXMgLWwgfCBncmVwICAiXi0tLSIgID4+ICRUU19PVVRQVVQKKyRUU19DTURfSVBDUyAtcyAtdSB8IGdyZXAgICJeLS0tIiAgPj4gJFRTX09VVFBVVAorZWNobyA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAidGVzdDogYWxsIGhlYWRlcnMiCiskVFNfQ01EX0lQQ1MgLWEgfCBncmVwIC0tYWZ0ZXItY29udGV4dD0xICJeLS0tIiAgPj4gJFRTX09VVFBVVAorCiskVFNfQ01EX0lQQ1MgLWEgLXQgfCBncmVwIC0tYWZ0ZXItY29udGV4dD0xICJeLS0tIiAgPj4gJFRTX09VVFBVVAorJFRTX0NNRF9JUENTIC1hIC1wIHwgZ3JlcCAtLWFmdGVyLWNvbnRleHQ9MSAiXi0tLSIgID4+ICRUU19PVVRQVVQKKyRUU19DTURfSVBDUyAtYSAtYyB8IGdyZXAgLS1hZnRlci1jb250ZXh0PTEgIl4tLS0iICA+PiAkVFNfT1VUUFVUCiskVFNfQ01EX0lQQ1MgLWEgLWwgfCBncmVwICJeLS0tIiAgPj4gJFRTX09VVFBVVAorJFRTX0NNRF9JUENTIC1hIC11IHwgZ3JlcCAiXi0tLSIgID4+ICRUU19PVVRQVVQKKwordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvaXBjcy9saW1pdHMgYi90ZXN0cy90cy9pcGNzL2xpbWl0cwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mMDM4YjZjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvaXBjcy9saW1pdHMKQEAgLTAsMCArMSw1MSBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImxpbWl0cyBvdmVyZmxvdyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9JUENTIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX3Byb2cgImJjIgorCisuICRUU19TRUxGL2Z1bmN0aW9ucy5zaAorCit0c19sb2cgImxvYWQgb3JpZ2luYWwgdmFsdWVzIgorZm9yIGkgaW4gJElQQ1NfSURYOyBkbworCVNITV9PUkdbJGldPSQoY2F0ICR7SVBDU19QUk9DRklMRVNbJGldfSkKK2RvbmUgPj4gJFRTX09VVFBVVAorCit0c19sb2cgIm1heGltaXplIGtlcm5lbCBzZXR0aW5nIgorZm9yIGkgaW4gJElQQ1NfSURYOyBkbworCWVjaG8gJHtJUENTX0xJTUlUU1skaV19ID4+ICR7SVBDU19QUk9DRklMRVNbJGldfQorZG9uZSA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiY2hlY2sgZm9yIGRpZmZlcmVuY2UgYmV0d2VlbiBrZXJuZWwgYW5kIElQQyIKK2lwY3NfbGltaXRzX2NoZWNrID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJ3cml0ZSBvcmlnaW5hbCB2YWx1ZXMgdG8ga2VybmVsIgorZm9yIGkgaW4gJElQQ1NfSURYOyBkbworCWVjaG8gJHtTSE1fT1JHWyRpXX0gPj4gJHtJUENTX1BST0NGSUxFU1skaV19Citkb25lID4+ICRUU19PVVRQVVQKKwordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvaXBjcy9saW1pdHMyIGIvdGVzdHMvdHMvaXBjcy9saW1pdHMyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRlOTZjZTYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9pcGNzL2xpbWl0czIKQEAgLTAsMCArMSw0MCBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImJhc2ljIGxpbWl0cyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9JUENTIgordHNfY2hlY2tfcHJvZyAiYmMiCisKKy4gJFRTX1NFTEYvZnVuY3Rpb25zLnNoCisKKyMgVE9ETyBodHRwczovL2dpdGh1Yi5jb20va2FyZWx6YWsvdXRpbC1saW51eC9pc3N1ZXMvNTEKK1NITUFMTD0kKDwvcHJvYy9zeXMva2VybmVsL3NobWFsbCkKK2lmIFsgJChiYyA8PDwiKDJeNjQgLyAkUEFHRV9TSVpFKSA8PSAkU0hNQUxMIikgLWVxIDEgXTsgdGhlbgorCVRTX0tOT1dOX0ZBSUw9InllcyIKK2ZpCisKK3RzX2xvZyAiY2hlY2sgZm9yIGRpZmZlcmVuY2UgYmV0d2VlbiBrZXJuZWwgYW5kIElQQyIKK2lwY3NfbGltaXRzX2NoZWNrID4+ICRUU19PVVRQVVQKKwordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvaXBjcy9tay1ybS1tc2cgYi90ZXN0cy90cy9pcGNzL21rLXJtLW1zZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNTQ2MGUyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvaXBjcy9tay1ybS1tc2cKQEAgLTAsMCArMSw0MiBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJtay1ybS1tc2ciCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfSVBDUyIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9JUENNSyIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9JUENSTSIKKworLiAkVFNfU0VMRi9mdW5jdGlvbnMuc2gKKworcm0gLWYgJFRTX09VVERJUi9pZC1tc2cKKyRUU19DTURfSVBDTUsgLVEgMj4+JFRTX09VVFBVVCB8IGlwY21rX291dHB1dF9oYW5kbGVyICRUU19PVVRQVVQgJFRTX09VVERJUi9pZC1tc2cKKyRUU19DTURfSVBDUyAtcSAtaSAiJChjYXQgJFRTX09VVERJUi9pZC1tc2cpIiB8XAorCWdyZXAgLWMgIl5NZXNzYWdlIFF1ZXVlIG1zcWlkPSQoY2F0ICRUU19PVVRESVIvaWQtbXNnKSQiID4+JFRTX09VVFBVVAorJFRTX0NNRF9JUENSTSAtcSAkKGNhdCAkVFNfT1VURElSL2lkLW1zZykgPj4kVFNfT1VUUFVUIDI+JjEKKworcm0gLWYgJFRTX09VVERJUi9pZC1tc2cKKyRUU19DTURfSVBDTUsgLVEgMj4+JFRTX09VVFBVVCB8IGlwY21rX291dHB1dF9oYW5kbGVyICRUU19PVVRQVVQgJFRTX09VVERJUi9pZC1tc2cKKyRUU19DTURfSVBDUk0gLVEgIiQoCisJJFRTX0NNRF9JUENTIC1xIHwKKwlhd2sgLXYgaWQ9JChjYXQgJFRTX09VVERJUi9pZC1tc2cpICd7aWYgKCQyID09IGlkKXtwcmludCAkMX19JworKSIgPj4kVFNfT1VUUFVUIDI+JjEKKworcm0gLWYgJFRTX09VVERJUi9pZC1tc2cKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2lwY3MvbWstcm0tc2VtIGIvdGVzdHMvdHMvaXBjcy9tay1ybS1zZW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjFlMGNmZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2lwY3MvbWstcm0tc2VtCkBAIC0wLDAgKzEsNDIgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ibWstcm0tc2VtIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0lQQ1MiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfSVBDTUsiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfSVBDUk0iCisKKy4gJFRTX1NFTEYvZnVuY3Rpb25zLnNoCisKK3JtIC1mICRUU19PVVRESVIvaWQtc2VtCiskVFNfQ01EX0lQQ01LIC1TIDEgMj4+JFRTX09VVFBVVCB8IGlwY21rX291dHB1dF9oYW5kbGVyICRUU19PVVRQVVQgJFRTX09VVERJUi9pZC1zZW0KKyRUU19DTURfSVBDUyAtcyAtaSAiJChjYXQgJFRTX09VVERJUi9pZC1zZW0pIiB8IGdyZXAgIl5uc2VtcyIgPj4kVFNfT1VUUFVUCiskVFNfQ01EX0lQQ1JNIC1zICQoY2F0ICRUU19PVVRESVIvaWQtc2VtKSA+PiRUU19PVVRQVVQgMj4mMQorCitybSAtZiAkVFNfT1VURElSL2lkLXNlbQorJFRTX0NNRF9JUENNSyAtUyAyIDI+PiRUU19PVVRQVVQgfCBpcGNta19vdXRwdXRfaGFuZGxlciAkVFNfT1VUUFVUICRUU19PVVRESVIvaWQtc2VtCiskVFNfQ01EX0lQQ1MgLXMgLWkgIiQoY2F0ICRUU19PVVRESVIvaWQtc2VtKSIgfCBncmVwICJebnNlbXMiID4+JFRTX09VVFBVVAorJFRTX0NNRF9JUENSTSAtUyAiJCgKKwkkVFNfQ01EX0lQQ1MgLXMgfAorCWF3ayAtdiBpZD0kKGNhdCAkVFNfT1VURElSL2lkLXNlbSkgJ3tpZiAoJDIgPT0gaWQpe3ByaW50ICQxfX0nCispIiA+PiRUU19PVVRQVVQgMj4mMQorCitybSAtZiAkVFNfT1VURElSL2lkLXNlbQorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvaXBjcy9tay1ybS1zaG0gYi90ZXN0cy90cy9pcGNzL21rLXJtLXNobQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44MzhmYjNmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvaXBjcy9tay1ybS1zaG0KQEAgLTAsMCArMSw0MiBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJtay1ybS1zaG0iCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfSVBDUyIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9JUENNSyIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9JUENSTSIKKworLiAkVFNfU0VMRi9mdW5jdGlvbnMuc2gKKworcm0gLWYgJFRTX09VVERJUi9pZC1zaG0KKyRUU19DTURfSVBDTUsgLU0gMSAyPj4kVFNfT1VUUFVUIHwgaXBjbWtfb3V0cHV0X2hhbmRsZXIgJFRTX09VVFBVVCAkVFNfT1VURElSL2lkLXNobQorJFRTX0NNRF9JUENTIC1tIC1pICIkKGNhdCAkVFNfT1VURElSL2lkLXNobSkiIHwgc2VkIC1uICcvXmJ5dGVzL3MvXHQuKi8vcCcgPj4kVFNfT1VUUFVUCiskVFNfQ01EX0lQQ1JNIC1tICQoY2F0ICRUU19PVVRESVIvaWQtc2htKSA+PiRUU19PVVRQVVQgMj4mMQorcm0gLWYgJFRTX09VVERJUi9pZC1zaG0KKworJFRTX0NNRF9JUENNSyAtTSAxMiAyPj4kVFNfT1VUUFVUIHwgaXBjbWtfb3V0cHV0X2hhbmRsZXIgJFRTX09VVFBVVCAkVFNfT1VURElSL2lkLXNobQorJFRTX0NNRF9JUENTIC1tIC1pICIkKGNhdCAkVFNfT1VURElSL2lkLXNobSkiIHwgc2VkIC1uICcvXmJ5dGVzL3MvXHQuKi8vcCcgPj4kVFNfT1VUUFVUCiskVFNfQ01EX0lQQ1JNIC1NICIkKAorCSRUU19DTURfSVBDUyAtbSB8CisJYXdrIC12IGlkPSQoY2F0ICRUU19PVVRESVIvaWQtc2htKSAne2lmICgkMiA9PSBpZCl7cHJpbnQgJDF9fScKKykiID4+JFRTX09VVFBVVCAyPiYxCisKK3JtIC1mICRUU19PVVRESVIvaWQtc2htCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9pc29zaXplL3ByaW50LXNpemUgYi90ZXN0cy90cy9pc29zaXplL3ByaW50LXNpemUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjc3YzEyNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2lzb3NpemUvcHJpbnQtc2l6ZQpAQCAtMCwwICsxLDM3IEBACisjIS9iaW4vYmFzaAorCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InByaW50LXNpemUiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfSVNPU0laRSIKKworZ3ppcCAtY2QgJFRTX1NFTEYvc2FtcGxlLmlzby5neiA+fCAkVFNfT1VURElSL3NhbXBsZS5pc28KKwordHNfaW5pdF9zdWJ0ZXN0ICJkZWZhdWx0X291dHB1dCIKKyRUU19DTURfSVNPU0laRSAkVFNfT1VURElSL3NhbXBsZS5pc28gPnwgJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAic2VjdG9yX291dHB1dCIKKyRUU19DTURfSVNPU0laRSAtLXNlY3RvcnMgJFRTX09VVERJUi9zYW1wbGUuaXNvICY+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImRpdmlzb3Jfb3V0cHV0IgorJFRTX0NNRF9JU09TSVpFIC0tZGl2aXNvcj05ICRUU19PVVRESVIvc2FtcGxlLmlzbyAmPiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2lzb3NpemUvc2FtcGxlLmlzby5neiBiL3Rlc3RzL3RzL2lzb3NpemUvc2FtcGxlLmlzby5negpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNzkzN2EyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvaXNvc2l6ZS9zYW1wbGUuaXNvLmd6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2tpbGwvYWxsX3Byb2Nlc3NlcyBiL3Rlc3RzL3RzL2tpbGwvYWxsX3Byb2Nlc3NlcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNTk2ZWYwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMva2lsbC9hbGxfcHJvY2Vzc2VzCkBAIC0wLDAgKzEsNjAgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iYWxsX3Byb2Nlc3NlcyIKKworLiAiJFRTX1RPUERJUi9mdW5jdGlvbnMuc2giCit0c19pbml0ICIkKiIKKwordHNfc2tpcF9ub25yb290CisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9LSUxMIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX1NJR1JFQ0VJVkUiCisKKy4gIiRUU19TRUxGL2tpbGxfZnVuY3Rpb25zLnNoIgorCitIRUxQRVJfU1lNTElOSz0iJChta3RlbXAgIiR7VFNfT1VURElSfS9hbFhYWFhYWFhYWFhYWFgiKSIKK2xuIC1zZiAiJFRTX0hFTFBFUl9TSUdSRUNFSVZFIiAiJEhFTFBFUl9TWU1MSU5LIgorCisiJEhFTFBFUl9TWU1MSU5LIiAtcyAiJFRTX1RFU1RVU0VSIiA+PiAiJFRTX09VVFBVVCIgMj4mMSAmCitURVNUX1BJRD0kIQorCitjaGVja190ZXN0X3NpZ3JlY2VpdmUgJFRFU1RfUElECitbICQ/IC1lcSAxIF0gfHwgZWNobyAiJHtIRUxQRVJfU1lNTElOSyMjKi99IGhlbHBlciBkaWQgbm90IHN0YXJ0IiA+PiAiJFRTX09VVFBVVCIKKworZWNobyAidGVzdCAxIiA+PiAiJFRTX09VVFBVVCIKKyIkVFNfQ01EX0tJTEwiICR7SEVMUEVSX1NZTUxJTksjIyovfSA+PiAiJFRTX09VVFBVVCIgMj4mMQoraWYgWyAkPyAtbmUgMSBdOyB0aGVuCisJZWNobyAia2lsbCBkaWQgbm90IHJldHVybiAxIiA+PiAiJFRTX09VVFBVVCIKK2ZpCisKK2VjaG8gInRlc3QgMiIgPj4gIiRUU19PVVRQVVQiCisiJFRTX0NNRF9LSUxMIiAtYSAke0hFTFBFUl9TWU1MSU5LIyMqL30gPj4gIiRUU19PVVRQVVQiIDI+JjEKK2lmIFsgJD8gLW5lIDAgXTsgdGhlbgorCWVjaG8gImtpbGwgZGlkIG5vdCByZXR1cm4gMCIgPj4gIiRUU19PVVRQVVQiCitmaQord2FpdCAkVEVTVF9QSUQKKworZWNobyAidGVzdCAzIiA+PiAiJFRTX09VVFBVVCIKKyIkVFNfQ01EX0tJTEwiIC1hIC1wICR7SEVMUEVSX1NZTUxJTksjIyovfSA+PiAiJFRTX09VVFBVVCIgMj4mMQoraWYgWyAkPyAtbmUgMSBdOyB0aGVuCisJZWNobyAia2lsbCAtYSAtcCBkaWQgbm90IHJldHVybiAxIiA+PiAiJFRTX09VVFBVVCIKK2ZpCisKK3NlZCAtaSAicy8ke0hFTFBFUl9TWU1MSU5LIyMqL30vJHtUU19IRUxQRVJfU0lHUkVDRUlWRSMjKi99LyIgIiRUU19PVVRQVVQiCisKK3JtIC1mICIkSEVMUEVSX1NZTUxJTksiCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9raWxsL2tpbGxfZnVuY3Rpb25zLnNoIGIvdGVzdHMvdHMva2lsbC9raWxsX2Z1bmN0aW9ucy5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYzBhNDQwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMva2lsbC9raWxsX2Z1bmN0aW9ucy5zaApAQCAtMCwwICsxLDI5IEBACisjIGtpbGwgdGVzdHMsIG9yIGNvbW1hbmQsIHdpbGwgbm90IHdoZW4gL3Byb2MgaXMgbWlzc2luZy4KK3Rlc3QgLWQgL3Byb2MgfHwgdHNfc2tpcCAiL3Byb2Mgbm90IGF2YWlsYWJsZSIKKworIyBUaGUgdGVzdF9zaWdyZWNlaXZlIGlzIHJlYWR5IHdoZW4gc2lnbmFsIHByb2Nlc3MgbWFzayBjb250YWlucyBTSUdIVVAKK2Z1bmN0aW9uIGNoZWNrX3Rlc3Rfc2lncmVjZWl2ZSB7CisJbG9jYWwgcmM9MAorCWxvY2FsIHBpZD0kMQorCisJZm9yIGkgaW4gMC4wMSAwLjEgMSAxIDEgMTsgZG8KKwkJaWYgWyAhIC1mIC9wcm9jLyRwaWQvc3RhdHVzIF07IHRoZW4KKwkJCSMgVGhlIC9wcm9jIGV4aXN0cywgYnV0IG5vdCBzdGF0dXMgZmlsZS4gQmVjYXVzZSB0aGUKKwkJCSMgcHJvY2VzcyBhbHJlYWR5IHN0YXJ0ZWQgaXQgaXMgdW5saWtlbHkgdGhlIGZpbGUgd291bGQKKwkJCSMgYXBwZWFyIGFmdGVyIGFueSBhbW91bnQgb2Ygd2FpdGluZy4gIFRyeSB0byBzbGVlcCBmb3IKKwkJCSMgbW9tZW50IGFuZCBob3BlZnVsbHkgdGVzdF9zaWdyZWNlaXZlIGlzIHJlYWR5IHRvIGJlCisJCQkjIGtpbGxlZC4KKwkJCWVjaG8gImtpbGxfZnVuY3Rpb25zLnNoOiAvcHJvYy8kcGlkL3N0YXR1czogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeSIKKwkJCXNsZWVwIDIKKwkJCXJjPTEKKwkJCWJyZWFrCisJCWZpCisJCXNpZ21hc2s9JCgoMTYjJCggYXdrICcvU2lnQ2d0LyB7IHByaW50ICQyfScgL3Byb2MvJHBpZC9zdGF0dXMpICkpCisJCWlmIFsgJCgoICRzaWdtYXNrICYgMSApKSA9PSAxIF07IHRoZW4KKwkJCXJjPTEKKwkJCWJyZWFrCisJCWZpCisJCXNsZWVwICRpCisJZG9uZQorCXJldHVybiAkcmMKK30JCmRpZmYgLS1naXQgYS90ZXN0cy90cy9raWxsL25hbWVfdG9fbnVtYmVyIGIvdGVzdHMvdHMva2lsbC9uYW1lX3RvX251bWJlcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZGU1NWM5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMva2lsbC9uYW1lX3RvX251bWJlcgpAQCAtMCwwICsxLDY3IEBACisjIS9iaW4vYmFzaAorCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9Im5hbWVfdG9fbnVtYmVyIgorCisuICIkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaCIKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfS0lMTCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0hFTFBFUl9TSUdSRUNFSVZFIgorCisuICIkVFNfU0VMRi9raWxsX2Z1bmN0aW9ucy5zaCIKKworYWxsX29rPXRydWUKKworSEVMUEVSX1NZTUxJTks9IiQobWt0ZW1wICIke1RTX09VVERJUn0vbmFYWFhYWFhYWFhYWFhYIikiCitsbiAtc2YgIiRUU19IRUxQRVJfU0lHUkVDRUlWRSIgIiRIRUxQRVJfU1lNTElOSyIKKworZm9yIFNJRyBpbiAkKCRUU19DTURfS0lMTCAtTCk7IGRvCisJaWYgWyAieCR7U0lHLy9bMC05XS99IiA9ICJ4IiBdOyB0aGVuCisJCUVYUEVDVEVEPSRTSUcKKwkJY29udGludWUKKwlmaQorCWlmIFsgLWYgIiRBU0FOX1NZTUJPTElaRVJfUEFUSCIgXSAmJiBbICJ4JFNJRyIgPSAieFNFR1YiIF07IHRoZW4KKwkJY29udGludWUKKwlmaQorCWlmIFsgIngkU0lHIiA9ICJ4U1RPUCIgXSB8fCBbICJ4JFNJRyIgPSAieEtJTEwiIF07IHRoZW4KKwkJY29udGludWUKKwlmaQorCWlmIFsgIngkU0lHIiA9ICJ4UlRNSU4iIF07IHRoZW4KKwkJU0lHPSIkU0lHKzAiCisJZmkKKwlpZiBbICJ4JFNJRyIgPSAieFJUTUFYIiBdOyB0aGVuCisJCVNJRz0iJFNJRy0wIgorCWZpCisKKwkiJEhFTFBFUl9TWU1MSU5LIiA+PiAiJFRTX09VVFBVVCIgMj4mMSAmCisJVEVTVF9QSUQ9JCEKKwljaGVja190ZXN0X3NpZ3JlY2VpdmUgJFRFU1RfUElECisJWyAkPyAtZXEgMSBdIHx8IGVjaG8gIiR7SEVMUEVSX1NZTUxJTksjIyovfSBoZWxwZXIgZGlkIG5vdCBzdGFydCIgPj4gIiRUU19PVVRQVVQiCisKKwkiJFRTX0NNRF9LSUxMIiAtJFNJRyAke0hFTFBFUl9TWU1MSU5LIyMqL30gPj4gIiRUU19PVVRQVVQiIDI+JjEKKwl3YWl0ICRURVNUX1BJRAorCWlmIFsgJD8gLW5lICRFWFBFQ1RFRCBdOyB0aGVuCisJCWVjaG8gIiRTSUcgcmV0dXJuZWQgJD8gd2hpbGUgJEVYUEVDVEVEIHdhcyBleHBlY3RlZCIgPj4gIiRUU19PVVRQVVQiCisJCWFsbF9vaz1mYWxzZQorCWZpCitkb25lCisKK2lmICRhbGxfb2s7IHRoZW4KKwllY2hvICdhbGwgb2snID4+ICIkVFNfT1VUUFVUIgorZmkKK3JtIC1mICIkSEVMUEVSX1NZTUxJTksiCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9raWxsL29wdGlvbnMgYi90ZXN0cy90cy9raWxsL29wdGlvbnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmM4MmJiYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2tpbGwvb3B0aW9ucwpAQCAtMCwwICsxLDYzIEBACisjIS9iaW4vYmFzaAorCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9Im9wdGlvbnMiCisKKy4gIiRUU19UT1BESVIvZnVuY3Rpb25zLnNoIgordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9LSUxMIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX1NJR1JFQ0VJVkUiCisKKy4gIiRUU19TRUxGL2tpbGxfZnVuY3Rpb25zLnNoIgorCithbGxfb2s9dHJ1ZQorCitIRUxQRVJfU1lNTElOSz0iJChta3RlbXAgIiR7VFNfT1VURElSfS9vcFhYWFhYWFhYWFhYWFgiKSIKK2xuIC1zZiAiJFRTX0hFTFBFUl9TSUdSRUNFSVZFIiAiJEhFTFBFUl9TWU1MSU5LIgorCit0cnlfb3B0aW9uKCkKK3sKKwkiJEhFTFBFUl9TWU1MSU5LIiA+PiAiJFRTX09VVFBVVCIgMj4mMSAmCisJVEVTVF9QSUQ9JCEKKwljaGVja190ZXN0X3NpZ3JlY2VpdmUgJFRFU1RfUElECisJWyAkPyAtZXEgMSBdIHx8IGVjaG8gIiR7SEVMUEVSX1NZTUxJTksjIyovfSBoZWxwZXIgZGlkIG5vdCBzdGFydCIgPj4gIiRUU19PVVRQVVQiCisKKwkiJFRTX0NNRF9LSUxMIiAiJEAiICRURVNUX1BJRCA+PiAiJFRTX09VVFBVVCIgMj4mMQorCWlmIFsgJD8gLW5lIDAgXTsgdGhlbgorCQllY2hvICJraWxsICRAIGRpZCBub3Qgd29yayIgPj4gIiRUU19PVVRQVVQiCisJCWFsbF9vaz1mYWxzZQorCWZpCisJd2FpdCAkVEVTVF9QSUQKKwlpZiBbICQ/IC1uZSAxIF07IHRoZW4KKwkJZWNobyAid2FpdCAkVEVTVF9QSUQgZm9yICRAIGRpZCBub3Qgd29yayIgPj4gIiRUU19PVVRQVVQiCisJCWFsbF9vaz1mYWxzZQorCWZpCit9CisKK3RyeV9vcHRpb24gLXMgMQordHJ5X29wdGlvbiAtLXNpZ25hbCAxCit0cnlfb3B0aW9uIC0tc2lnbmFsIEhVUAordHJ5X29wdGlvbiAtLXNpZ25hbCBTSUdIVVAKK3RyeV9vcHRpb24gLTEKK3RyeV9vcHRpb24gLUhVUAordHJ5X29wdGlvbiAtU0lHSFVQCisKK2lmICRhbGxfb2s7IHRoZW4KKwllY2hvICdhbGwgb2snID4+ICIkVFNfT1VUUFVUIgorZmkKK3JtIC1mICIkSEVMUEVSX1NZTUxJTksiCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9raWxsL3ByaW50X3BpZCBiL3Rlc3RzL3RzL2tpbGwvcHJpbnRfcGlkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM2MTg3ZjEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9raWxsL3ByaW50X3BpZApAQCAtMCwwICsxLDU4IEBACisjIS9iaW4vYmFzaAorCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InByaW50X3BpZCIKKworLiAiJFRTX1RPUERJUi9mdW5jdGlvbnMuc2giCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0tJTEwiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfU0lHUkVDRUlWRSIKKworLiAiJFRTX1NFTEYva2lsbF9mdW5jdGlvbnMuc2giCisKK2FsbF9vaz10cnVlCisKK0hFTFBFUl9TWU1MSU5LPSIkKG1rdGVtcCAiJHtUU19PVVRESVJ9L3ByWFhYWFhYWFhYWFhYWCIpIgorbG4gLXNmICIkVFNfSEVMUEVSX1NJR1JFQ0VJVkUiICIkSEVMUEVSX1NZTUxJTksiCisKKyIkSEVMUEVSX1NZTUxJTksiID4+ICIkVFNfT1VUUFVUIiAyPiYxICYKK1RFU1RfUElEPSQhCitjaGVja190ZXN0X3NpZ3JlY2VpdmUgJFRFU1RfUElECitbICQ/IC1lcSAxIF0gfHwgZWNobyAiJHtIRUxQRVJfU1lNTElOSyMjKi99IGhlbHBlciBkaWQgbm90IHN0YXJ0IiA+PiAiJFRTX09VVFBVVCIKKworS0lMTF9QSUQ9JCgiJFRTX0NNRF9LSUxMIiAtcCAke0hFTFBFUl9TWU1MSU5LIyMqL30gMj4+ICIkVFNfT1VUUFVUIiAyPiYxKQoraWYgWyAkPyAtbmUgMCBdOyB0aGVuCisJZWNobyAia2lsbCAtcCBkaWQgbm90IHdvcmsiID4+ICIkVFNfT1VUUFVUIgorCWFsbF9vaz1mYWxzZQorZmkKK2lmIFsgIngkVEVTVF9QSUQiICE9ICJ4JEtJTExfUElEIiBdOyB0aGVuCisJZWNobyAiam9icyAtcCAkVEVTVF9QSUQgIT0ga2lsbCAtcCAkS0lMTF9QSUQiID4+ICIkVFNfT1VUUFVUIgorCWFsbF9vaz1mYWxzZQorZmkKKworIiRUU19DTURfS0lMTCIgLTEgJFRFU1RfUElECit3YWl0ICRURVNUX1BJRAoraWYgWyAkPyAtbmUgMSBdOyB0aGVuCisJZWNobyAid2FpdCAkVEVTVF9QSUQgcmV0dXJuZWQgJHs/fSIgPj4gIiRUU19PVVRQVVQiCisJYWxsX29rPWZhbHNlCitmaQorCitpZiAkYWxsX29rOyB0aGVuCisJZWNobyAnYWxsIG9rJyA+PiAiJFRTX09VVFBVVCIKK2ZpCitybSAtZiAiJEhFTFBFUl9TWU1MSU5LIgorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMva2lsbC9xdWV1ZSBiL3Rlc3RzL3RzL2tpbGwvcXVldWUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTkyYWNmNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2tpbGwvcXVldWUKQEAgLTAsMCArMSw1MyBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJxdWV1ZSIKKworLiAiJFRTX1RPUERJUi9mdW5jdGlvbnMuc2giCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0tJTEwiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfU0lHUkVDRUlWRSIKKworLiAiJFRTX1NFTEYva2lsbF9mdW5jdGlvbnMuc2giCisKK2FsbF9vaz10cnVlCisKK0hFTFBFUl9TWU1MSU5LPSIkKG1rdGVtcCAiJHtUU19PVVRESVJ9L3F1WFhYWFhYWFhYWFhYWCIpIgorbG4gLXNmICIkVFNfSEVMUEVSX1NJR1JFQ0VJVkUiICIkSEVMUEVSX1NZTUxJTksiCisKKyIkSEVMUEVSX1NZTUxJTksiID4+ICIkVFNfT1VUUFVUIiAyPiYxICYKK1RFU1RfUElEPSQhCitjaGVja190ZXN0X3NpZ3JlY2VpdmUgJFRFU1RfUElECitbICQ/IC1lcSAxIF0gfHwgZWNobyAiJHtIRUxQRVJfU1lNTElOSyMjKi99IGhlbHBlciBkaWQgbm90IHN0YXJ0IiA+PiAiJFRTX09VVFBVVCIKKworIiRUU19DTURfS0lMTCIgLTEgLS1xdWV1ZSA0MiAkVEVTVF9QSUQgPj4gIiRUU19PVVRQVVQiIDI+JjEKK2lmIFsgJD8gLW5lIDAgXTsgdGhlbgorCWVjaG8gImtpbGwgLS1xdWV1ZSA0MiBmYWlsZWQiID4+ICIkVFNfT1VUUFVUIgorCWFsbF9vaz1mYWxzZQorZmkKK3dhaXQgJFRFU1RfUElECitpZiBbICQ/IC1uZSA0MiBdOyB0aGVuCisJZWNobyAid2FpdCAkVEVTVF9QSUQgcmV0dXJuZWQgJD8gaW5zdGVhZCBvZiA0MiIgPj4gIiRUU19PVVRQVVQiCisJYWxsX29rPWZhbHNlCitmaQorCitpZiAkYWxsX29rOyB0aGVuCisJZWNobyAnYWxsIG9rJyA+PiAiJFRTX09VVFBVVCIKK2ZpCisKK3JtIC1mICIkSEVMUEVSX1NZTUxJTksiCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJmZGlzay9ncHQgYi90ZXN0cy90cy9saWJmZGlzay9ncHQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDY2ODRjMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYmZkaXNrL2dwdApAQCAtMCwwICsxLDY1IEBACisjIS9iaW4vYmFzaAorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJHUFQiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCitURVNUUFJPRz0iJFRTX0hFTFBFUl9MSUJGRElTS19HUFQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRURVNUUFJPRyIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9TRkRJU0siCisKK1RFU1RfSU1BR0VfTkFNRT0kKHRzX2ltYWdlX2luaXQgMTApCisKK3RzX2luaXRfc3VidGVzdCAiYWxsLWRlZmF1bHRzIgorJFRTX0NNRF9TRkRJU0sgLS11bml0IFMgJHtURVNUX0lNQUdFX05BTUV9ID4+ICRUU19PVVRQVVQgMj4mMSA8PEVPRgorbGFiZWw6IGdwdAorbGFiZWwtaWQ6IGIxODFjMzk5LTQ3MTEtNGM1Mi04YjY1LTllNzY0NTQxMjE4ZAorCitzaXplPTVNLCBhdHRycz0iUmVxdWlyZWRQYXJ0aXRpb24sNDgiCithdHRycz0iNTIsNTMsNjIiCitFT0YKK3RzX2ZkaXNrX2NsZWFuICR7VEVTVF9JTUFHRV9OQU1FfQordHNfZmluYWxpemVfc3VidGVzdAorCitURVNUX0lNQUdFX05BTUU9JCh0c19pbWFnZV9pbml0IDEwKQorCit0c19pbml0X3N1YnRlc3QgImFsbC1kZWZhdWx0cy13aXRoLXR5cG8iCiskVFNfQ01EX1NGRElTSyAtLXVuaXQgUyAke1RFU1RfSU1BR0VfTkFNRX0gPj4gJFRTX09VVFBVVCAyPiYxIDw8RU9GCitsYWJlbDogZ3B0CitsYWJlbC1pZDogYjE4MWMzOTktNDcxMS00YzUyLThiNjUtOWU3NjQ1NDEyMThkCisKK3NpemU9NU0sIGF0dHJzPSJSZXF1aXJlZFBhcnRpdG9uLDQ4IgorYXR0cnM9IjUyLDUzLDYyIgorRU9GCit0c19mZGlza19jbGVhbiAke1RFU1RfSU1BR0VfTkFNRX0KK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJnZXRhdHRyIgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tZ2V0YXR0ciAke1RFU1RfSU1BR0VfTkFNRX0gMSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLWdldGF0dHIgJHtURVNUX0lNQUdFX05BTUV9IDIgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAic2V0YXR0ciIKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLXNldGF0dHIgJHtURVNUX0lNQUdFX05BTUV9IDEgMHhmZjAwMDAwMDAwMDAwMDAwID4+ICRUU19PVVRQVVQgMj4mMQordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tc2V0YXR0ciAke1RFU1RfSU1BR0VfTkFNRX0gMiAweDQgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX1NGRElTSyAtLXBhcnQtYXR0cnMgJHtURVNUX0lNQUdFX05BTUV9IDEgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX1NGRElTSyAtLXBhcnQtYXR0cnMgJHtURVNUX0lNQUdFX05BTUV9IDIgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJtb3VudC9jb250ZXh0IGIvdGVzdHMvdHMvbGlibW91bnQvY29udGV4dApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lYmIyNDQxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlibW91bnQvY29udGV4dApAQCAtMCwwICsxLDE1OSBAQAorIyEvYmluL2Jhc2gKKworIyBDb3B5cmlnaHQgKEMpIDIwMTAgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImNvbnRleHQiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRkRJU0siCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRklORE1OVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NT1VOVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9VTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVVVJREdFTiIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19wcm9nICJta2ZzLmV4dDMiCit0c19jaGVja19wcm9nICJta2ZzLmV4dDQiCisKK1RFU1RQUk9HPSIkVFNfSEVMUEVSX0xJQk1PVU5UX0NPTlRFWFQiCitMQUJFTD1saWJtb3VudC10ZXN0CitVVUlEPSQoJFRTX0NNRF9VVUlER0VOKQorCitNT1VOVFBPSU5UPSIkVFNfTU9VTlRQT0lOVCIKK1RTX05PRVhJU1Q9IiRUU19PVVRESVIvJHtUU19URVNUTkFNRX0tJHtUU19TVUJOQU1FfS1ub2V4IgorWyAtZCAkVFNfTk9FWElTVCBdICYmIHJtZGlyICRUU19OT0VYSVNUCisKK1sgLXggJFRFU1RQUk9HIF0gfHwgdHNfc2tpcCAidGVzdCBub3QgY29tcGlsZWQiCisKK3RzX2xvZyAiSW5pdCBkZXZpY2UiCiskVFNfQ01EX1VNT1VOVCAkTU9VTlRQT0lOVCAmPiAvZGV2L251bGwKKworIyBzZXQgZ2xvYmFsIHZhcmlhYmxlIFRTX0RFVklDRQordHNfc2NzaV9kZWJ1Z19pbml0IGRldl9zaXplX21iPTEwMAorREVWTkFNRT0kKGJhc2VuYW1lICRUU19ERVZJQ0UpCisKK01PVU5USU5GT19PTkxZPXllcworaGFzX210YWI9JCggdHNfaGFzX210YWJfc3VwcG9ydCApCitpZiBbICIkaGFzX210YWIiID09ICJ5ZXMiIF07IHRoZW4KKwlNT1VOVElORk9fT05MWT1ubworZmkKKwordHNfbG9nICJDcmVhdGUgcGFydGl0aW9ucyIKKyRUU19DTURfRkRJU0sgJHtUU19ERVZJQ0V9ICY+IC9kZXYvbnVsbCA8PEVPRgorbgorcAorMQorCisKK3cKK3EKK0VPRgorCitERVZJQ0U9IiR7VFNfREVWSUNFfTEiCisKK3VkZXZhZG0gc2V0dGxlCisKK2dyZXAgLXEgJERFVk5BTUUgL3Byb2MvcGFydGl0aW9ucworaWYgWyAkPyAtbmUgMCBdOyB0aGVuCisJdHNfc2tpcCAibm8gcGFydGl0aW9uISIKK2ZpCisKK3RzX2xvZyAiQ3JlYXRlIGZpbGVzeXN0ZW0iCitta2ZzLmV4dDQgLUwgIiRMQUJFTCIgLVUgIiRVVUlEIiAkREVWSUNFICY+IC9kZXYvbnVsbAorCit0c19sb2cgIkRvIHRlc3RzLi4uIgorCitleHBvcnQgTElCTU9VTlRfTVRBQj0kVFNfT1VUUFVULm10YWIKKz4gJExJQk1PVU5UX01UQUIKKworIyBjaGVjayBsb2NhbCBtdGFiIG9mIHN5c3RlbSBtb3VudGluZm8KK2Z1bmN0aW9uIGlzX21vdW50ZWQgeworCWlmIFsgIiRNT1VOVElORk9fT05MWSIgPSAieWVzIiBdOyB0aGVuCisJCXRzX2lzX21vdW50ZWQgIiQxIgorCQlyZXR1cm4gJD8KKwlmaQorCWdyZXAgLXEgIiQxIiAkTElCTU9VTlRfTVRBQiAmJiByZXR1cm4gMAorCXJldHVybiAxCit9CisKKwordWRldmFkbSBzZXR0bGUKK3RzX2RldmljZV9oYXMgIlRZUEUiICJleHQ0IiAkREVWSUNFIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgZXh0MyBvbiAkREVWSUNFIgorCisKK3RzX2luaXRfc3VidGVzdCAibW91bnQtYnktZGV2bmFtZSIKK21rZGlyIC1wICRNT1VOVFBPSU5UICY+ICAvZGV2L251bGwKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLW1vdW50ICRERVZJQ0UgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCitpc19tb3VudGVkICRERVZJQ0UgfHwgZWNobyAiJERFVklDRSBub3QgbW91bnRlZCIgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJ1bW91bnQtYnktZGV2bmFtZSIKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLXVtb3VudCAkREVWSUNFID4+ICRUU19PVVRQVVQgMj4mMQoraXNfbW91bnRlZCAkREVWSUNFICYmIGVjaG8gIiRERVZJQ0Ugc3RpbGwgbW91bnRlZCIgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJtb3VudC1ieS1sYWJlbCIKK21rZGlyIC1wICRNT1VOVFBPSU5UICY+ICAvZGV2L251bGwKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLW1vdW50IExBQkVMPSIkTEFCRUwiICRNT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQoraXNfbW91bnRlZCAkREVWSUNFIHx8IGVjaG8gIiRERVZJQ0Ugbm90IG1vdW50ZWQiID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAidW1vdW50LWJ5LW1vdW50cG9pbnQiCit0c192YWxncmluZCAkVEVTVFBST0cgLS11bW91bnQgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCitpc19tb3VudGVkICRERVZJQ0UgICYmIGVjaG8gIiRERVZJQ0Ugc3RpbGwgbW91bnRlZCIgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJtb3VudC1ieS11dWlkIgorbWtkaXIgLXAgJE1PVU5UUE9JTlQgJj4gL2Rldi9udWxsCit0c192YWxncmluZCAkVEVTVFBST0cgLS1tb3VudCBVVUlEPSIkVVVJRCIgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCitpc19tb3VudGVkICRERVZJQ0UgIHx8IGVjaG8gIiRERVZJQ0Ugbm90IG1vdW50ZWQiID4+ICRUU19PVVRQVVQgMj4mMQordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tdW1vdW50ICRNT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQoraXNfbW91bnRlZCAkREVWSUNFICYmIGVjaG8gIiRERVZJQ0Ugc3RpbGwgbW91bnRlZCIgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJtb3VudC1mbGFncyIKK21rZGlyIC1wICRNT1VOVFBPSU5UICY+IC9kZXYvbnVsbAordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tbW91bnQgLW8gcm8sbm9leGVjLG5vc3VpZCxzdHJpY3RhdGltZSAkREVWSUNFICRNT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9GSU5ETU5UIC0ta2VybmVsICRNT1VOVFBPSU5UIC1vIFZGUy1PUFRJT05TIC1uID4+ICRUU19PVVRQVVQgMj4mMQoraXNfbW91bnRlZCAkREVWSUNFIHx8IGVjaG8gIiRERVZJQ0Ugbm90IG1vdW50ZWQiID4+ICRUU19PVVRQVVQgMj4mMQorCit0c192YWxncmluZCAkVEVTVFBST0cgLS1tb3VudCAtbyByZW1vdW50LHJ3ICRNT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9GSU5ETU5UIC0ta2VybmVsICRNT1VOVFBPSU5UIC1vIFZGUy1PUFRJT05TIC1uID4+ICRUU19PVVRQVVQgMj4mMQorCit0c192YWxncmluZCAkVEVTVFBST0cgLS11bW91bnQgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCitpc19tb3VudGVkICRERVZJQ0UgJiYgZWNobyAiJERFVklDRSBzdGlsbCBtb3VudGVkIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgIm1vdW50LWxvb3BkZXYiCitta2RpciAtcCAkTU9VTlRQT0lOVCAmPiAvZGV2L251bGwKK2ltZz0kKHRzX2ltYWdlX2luaXQpCitta2ZzLmV4dDMgLUYgJGltZyAmPiAvZGV2L251bGwKK3VkZXZhZG0gc2V0dGxlCisKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLW1vdW50IC1vIGxvb3AgJGltZyAkTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKK2lzX21vdW50ZWQgJE1PVU5UUE9JTlQgfHwgZWNobyAiJE1PVU5UUE9JTlQgbm90IG1vdW50ZWQiID4+ICRUU19PVVRQVVQgMj4mMQordWRldmFkbSBzZXR0bGUKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLXVtb3VudCAkTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKK2lzX21vdW50ZWQgJE1PVU5UUE9JTlQgJiYgZWNobyAiJE1PVU5UUE9JTlQgc3RpbGwgbW91bnRlZCIgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJ4LW1vdW50Lm1rZGlyIgorJFRTX0NNRF9NT1VOVCAtbyB4LW1vdW50Lm1rZGlyIC0tYmluZCAkTU9VTlRQT0lOVCAkVFNfTk9FWElTVCA+PiAkVFNfT1VUUFVUIDI+JjEgJiYKKyAgZWNobyAic3VjY2Vzc2Z1bGx5IG1vdW50ZWQiID4+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworJFRTX0NNRF9VTU9VTlQgJFRTX05PRVhJU1QKK3JtZGlyICRUU19OT0VYSVNUCisKK3RzX2xvZyAiLi4uZG9uZS4iCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbGlibW91bnQvY29udGV4dC1weSBiL3Rlc3RzL3RzL2xpYm1vdW50L2NvbnRleHQtcHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjRlMjJiNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYm1vdW50L2NvbnRleHQtcHkKQEAgLTAsMCArMSwxNjEgQEAKKyMhL2Jpbi9iYXNoCisKKyMgQ29weXJpZ2h0IChDKSAyMDEwIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJjb250ZXh0LXB5IgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZESVNLIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZJTkRNTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVU1PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VVSURHRU4iCisKK3RzX3NraXBfbm9ucm9vdAordHNfY2hlY2tfcHJvZyAibWtmcy5leHQzIgordHNfY2hlY2tfcHJvZyAibWtmcy5leHQ0IgorCit0c19pbml0X3B5IGxpYm1vdW50CisKK1RFU1RQUk9HPSIkVFNfSEVMUEVSX1BZTElCTU9VTlRfQ09OVEVYVCIKK1sgLXggJFRFU1RQUk9HIF0gfHwgdHNfZGllICJ0ZXN0IHNjcmlwdCBtaXNzaW5nIgorCitQWURCRz0iJFBZVEhPTiAtbSBwZGIiCitMQUJFTD1saWJtb3VudC10ZXN0CitVVUlEPSQoJFRTX0NNRF9VVUlER0VOKQorTU9VTlRQT0lOVD0iJFRTX01PVU5UUE9JTlQiCitUU19OT0VYSVNUPSIkVFNfT1VURElSLyR7VFNfVEVTVE5BTUV9LSR7VFNfU1VCTkFNRX0tbm9leCIKK1sgLWQgJFRTX05PRVhJU1QgXSAmJiBybWRpciAkVFNfTk9FWElTVAorCit0c19sb2cgIkluaXQgZGV2aWNlIgorJFRTX0NNRF9VTU9VTlQgJE1PVU5UUE9JTlQgJj4gL2Rldi9udWxsCisKKyMgc2V0IGdsb2JhbCB2YXJpYWJsZSBUU19ERVZJQ0UKK3RzX3Njc2lfZGVidWdfaW5pdCBkZXZfc2l6ZV9tYj0xMDAKK0RFVk5BTUU9JChiYXNlbmFtZSAkVFNfREVWSUNFKQorCitNT1VOVElORk9fT05MWT15ZXMKK2hhc19tdGFiPSQoIHRzX2hhc19tdGFiX3N1cHBvcnQgKQoraWYgWyAiJGhhc19tdGFiIiA9PSAieWVzIiBdOyB0aGVuCisJTU9VTlRJTkZPX09OTFk9bm8KK2ZpCisKK3RzX2xvZyAiQ3JlYXRlIHBhcnRpdGlvbnMiCiskVFNfQ01EX0ZESVNLICR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwgPDxFT0YKK24KK3AKKzEKKworCit3CitxCitFT0YKKworREVWSUNFPSIke1RTX0RFVklDRX0xIgorCit1ZGV2YWRtIHNldHRsZQorCitncmVwIC1xICRERVZOQU1FIC9wcm9jL3BhcnRpdGlvbnMKK2lmIFsgJD8gLW5lIDAgXTsgdGhlbgorCXRzX3NraXAgIm5vIHBhcnRpdGlvbiEiCitmaQorCit0c19sb2cgIkNyZWF0ZSBmaWxlc3lzdGVtIgorbWtmcy5leHQ0IC1MICIkTEFCRUwiIC1VICIkVVVJRCIgJERFVklDRSAmPiAvZGV2L251bGwKKwordHNfbG9nICJEbyB0ZXN0cy4uLiIKKworZXhwb3J0IExJQk1PVU5UX01UQUI9JFRTX09VVFBVVC5tdGFiCis+ICRMSUJNT1VOVF9NVEFCCisKKyMgY2hlY2sgbG9jYWwgbXRhYiBvZiBzeXN0ZW0gbW91bnRpbmZvCitmdW5jdGlvbiBpc19tb3VudGVkIHsKKwlpZiBbICIkTU9VTlRJTkZPX09OTFkiID0gInllcyIgXTsgdGhlbgorCQl0c19pc19tb3VudGVkICIkMSIKKwkJcmV0dXJuICQ/CisJZmkKKwlncmVwIC1xICIkMSIgJExJQk1PVU5UX01UQUIgJiYgcmV0dXJuIDAKKwlyZXR1cm4gMQorfQorCisKK3VkZXZhZG0gc2V0dGxlCit0c19kZXZpY2VfaGFzICJUWVBFIiAiZXh0NCIgJERFVklDRSB8fCB0c19kaWUgIkNhbm5vdCBmaW5kIGV4dDMgb24gJERFVklDRSIKKworCit0c19pbml0X3N1YnRlc3QgIm1vdW50LWJ5LWRldm5hbWUiCitta2RpciAtcCAkTU9VTlRQT0lOVCAmPiAgL2Rldi9udWxsCiskUFlUSE9OICRURVNUUFJPRyAtLW1vdW50ICRERVZJQ0UgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCitpc19tb3VudGVkICRERVZJQ0UgfHwgZWNobyAiJERFVklDRSBub3QgbW91bnRlZCIgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJ1bW91bnQtYnktZGV2bmFtZSIKKyRQWVRIT04gJFRFU1RQUk9HIC0tdW1vdW50ICRERVZJQ0UgPj4gJFRTX09VVFBVVCAyPiYxCitpc19tb3VudGVkICRERVZJQ0UgJiYgZWNobyAiJERFVklDRSBzdGlsbCBtb3VudGVkIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgIm1vdW50LWJ5LWxhYmVsIgorbWtkaXIgLXAgJE1PVU5UUE9JTlQgJj4gIC9kZXYvbnVsbAorJFBZVEhPTiAkVEVTVFBST0cgLS1tb3VudCBMQUJFTD0iJExBQkVMIiAkTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKK2lzX21vdW50ZWQgJERFVklDRSB8fCBlY2hvICIkREVWSUNFIG5vdCBtb3VudGVkIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgInVtb3VudC1ieS1tb3VudHBvaW50IgorJFBZVEhPTiAkVEVTVFBST0cgLS11bW91bnQgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCitpc19tb3VudGVkICRERVZJQ0UgJiYgZWNobyAiJERFVklDRSBzdGlsbCBtb3VudGVkIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgIm1vdW50LWJ5LXV1aWQiCitta2RpciAtcCAkTU9VTlRQT0lOVCAmPiAvZGV2L251bGwKKyRQWVRIT04gJFRFU1RQUk9HIC0tbW91bnQgVVVJRD0iJFVVSUQiICRNT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQoraXNfbW91bnRlZCAkREVWSUNFIHx8IGVjaG8gIiRERVZJQ0Ugbm90IG1vdW50ZWQiID4+ICRUU19PVVRQVVQgMj4mMQorJFBZVEhPTiAkVEVTVFBST0cgLS11bW91bnQgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCitpc19tb3VudGVkICRERVZJQ0UgJiYgZWNobyAiJERFVklDRSBzdGlsbCBtb3VudGVkIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgIm1vdW50LWZsYWdzIgorbWtkaXIgLXAgJE1PVU5UUE9JTlQgJj4gL2Rldi9udWxsCiskUFlUSE9OICRURVNUUFJPRyAtLW1vdW50IC1vIHJvLG5vZXhlYyxub3N1aWQsc3RyaWN0YXRpbWUgJERFVklDRSAkTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfRklORE1OVCAtLWtlcm5lbCAkTU9VTlRQT0lOVCAtbyBWRlMtT1BUSU9OUyAtbiA+PiAkVFNfT1VUUFVUIDI+JjEKK2lzX21vdW50ZWQgJERFVklDRSB8fCBlY2hvICIkREVWSUNFIG5vdCBtb3VudGVkIiA+PiAkVFNfT1VUUFVUIDI+JjEKKworJFBZVEhPTiAkVEVTVFBST0cgLS1tb3VudCAtbyByZW1vdW50LHJ3ICRNT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9GSU5ETU5UIC0ta2VybmVsICRNT1VOVFBPSU5UIC1vIFZGUy1PUFRJT05TIC1uID4+ICRUU19PVVRQVVQgMj4mMQorCiskUFlUSE9OICRURVNUUFJPRyAtLXVtb3VudCAkTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKK2lzX21vdW50ZWQgJERFVklDRSAmJiBlY2hvICIkREVWSUNFIHN0aWxsIG1vdW50ZWQiID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAibW91bnQtbG9vcGRldiIKK21rZGlyIC1wICRNT1VOVFBPSU5UICY+IC9kZXYvbnVsbAoraW1nPSQodHNfaW1hZ2VfaW5pdCkKK21rZnMuZXh0MyAtRiAkaW1nICY+IC9kZXYvbnVsbAordWRldmFkbSBzZXR0bGUKKworJFBZVEhPTiAkVEVTVFBST0cgLS1tb3VudCAtbyBsb29wICRpbWcgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCitpc19tb3VudGVkICRNT1VOVFBPSU5UIHx8IGVjaG8gIiRNT1VOVFBPSU5UIG5vdCBtb3VudGVkIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3VkZXZhZG0gc2V0dGxlCiskUFlUSE9OICRURVNUUFJPRyAtLXVtb3VudCAkTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKK2lzX21vdW50ZWQgJE1PVU5UUE9JTlQgJiYgZWNobyAiJE1PVU5UUE9JTlQgc3RpbGwgbW91bnRlZCIgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAieC1tb3VudC5ta2RpciIKKyRUU19DTURfTU9VTlQgLW8geC1tb3VudC5ta2RpciAtLWJpbmQgJE1PVU5UUE9JTlQgJFRTX05PRVhJU1QgPj4gJFRTX09VVFBVVCAyPiYxICYmCisgIGVjaG8gInN1Y2Nlc3NmdWxseSBtb3VudGVkIiA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKworJFRTX0NNRF9VTU9VTlQgJFRTX05PRVhJU1QKK3JtZGlyICRUU19OT0VYSVNUCisKK3RzX2xvZyAiLi4uZG9uZS4iCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbGlibW91bnQvY29udGV4dC11dGFiIGIvdGVzdHMvdHMvbGlibW91bnQvY29udGV4dC11dGFiCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU5YjFjZGYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJtb3VudC9jb250ZXh0LXV0YWIKQEAgLTAsMCArMSwxMzIgQEAKKyMhL2Jpbi9iYXNoCisKKyMgQ29weXJpZ2h0IChDKSAyMDEwIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJjb250ZXh0ICh1dGFiKSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GRElTSyIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GSU5ETU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VNT1VOVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9XSVBFRlMiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVVVJREdFTiIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19wcm9nICJta2ZzLmV4dDQiCisKK1RFU1RQUk9HPSIkVFNfSEVMUEVSX0xJQk1PVU5UX0NPTlRFWFQiCitMQUJFTD1saWJtb3VudC10ZXN0CitVVUlEPSQoJFRTX0NNRF9VVUlER0VOKQorTU9VTlRQT0lOVD0iJFRTX01PVU5UUE9JTlQiCisKK1sgLXggJFRFU1RQUk9HIF0gfHwgdHNfc2tpcCAidGVzdCBub3QgY29tcGlsZWQiCisKKyMgc2V0IGdsb2JhbCB2YXJpYWJsZSBUU19ERVZJQ0UKK3RzX3Njc2lfZGVidWdfaW5pdCBkZXZfc2l6ZV9tYj0yNTcKK0RFVk5BTUU9JChiYXNlbmFtZSAkVFNfREVWSUNFKQorCit0c19sb2cgIkNyZWF0ZSBwYXJ0aXRpb25zIgorJFRTX0NNRF9GRElTSyAke1RTX0RFVklDRX0gJj4gL2Rldi9udWxsIDw8RU9GCituCitwCisxCisKKwordworcQorRU9GCisKK0RFVklDRT0iJHtUU19ERVZJQ0V9MSIKKwordWRldmFkbSBzZXR0bGUKKworZ3JlcCAtcSAkREVWTkFNRSAvcHJvYy9wYXJ0aXRpb25zCitpZiBbICQ/IC1uZSAwIF07IHRoZW4KKwl0c19za2lwICJubyBwYXJ0aXRpb24hIgorZmkKKwordHNfbG9nICJDcmVhdGUgZmlsZXN5c3RlbSIKK21rZnMuZXh0NCAtTCAiJExBQkVMIiAtVSAiJFVVSUQiICRERVZJQ0UgJj4gL2Rldi9udWxsCisKK3RzX2xvZyAiRG8gdGVzdHMuLi4iCisKK2V4cG9ydCBMSUJNT1VOVF9NVEFCPSRUU19PVVRQVVQubXRhYgorcm0gLWYgJExJQk1PVU5UX01UQUIKK2xuIC1zIC9wcm9jL21vdW50cyAkTElCTU9VTlRfTVRBQgorCitleHBvcnQgTElCTU9VTlRfVVRBQj0kVFNfT1VUUFVULnV0YWIKK3JtIC1mICRMSUJNT1VOVF9VVEFCCis+ICRMSUJNT1VOVF9VVEFCCisKK3VkZXZhZG0gc2V0dGxlCisKK3RzX2luaXRfc3VidGVzdCAibW91bnQtYnktZGV2bmFtZSIKK21rZGlyIC1wICRNT1VOVFBPSU5UICY+ICAvZGV2L251bGwKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLW1vdW50ICRERVZJQ0UgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCitncmVwIC1xICRERVZJQ0UgL3Byb2MvbW91bnRzIHx8IFwKKwllY2hvICIoYnkgZGV2aWNlKSBjYW5ub3QgZmluZCAkREVWSUNFIGluIC9wcm9jL21vdW50cyIgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJ1bW91bnQtYnktZGV2bmFtZSIKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLXVtb3VudCAkREVWSUNFID4+ICRUU19PVVRQVVQgMj4mMQorZ3JlcCAtcSAkREVWSUNFIC9wcm9jL21vdW50cyAmJgorCWVjaG8gInVtb3VudCAoZGV2aWNlKSBmYWlsZWQ6IGZvdW5kICRERVZJQ0UgaW4gL3Byb2MvbW91bnRzIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgIm1vdW50LXVoZWxwZXIiCitta2RpciAtcCAkTU9VTlRQT0lOVCAmPiAgL2Rldi9udWxsCit0c192YWxncmluZCAkVEVTVFBST0cgLS1tb3VudCAtbyB1aGVscGVyPWZvbyxydyBMQUJFTD0iJExBQkVMIiAkTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKK2dyZXAgLXEgJERFVklDRSAkTElCTU9VTlRfVVRBQiB8fCBcCisJZWNobyAiKGJ5IGxhYmVsKSBjYW5ub3QgZmluZCAkREVWSUNFIGluICRMSUJNT1VOVF9VVEFCIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgInVtb3VudCIKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLXVtb3VudCAkTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKK2dyZXAgLXEgJERFVklDRSAkTElCTU9VTlRfVVRBQiAmJiBcCisJZWNobyAidW1vdW50IChtb3VudHBvaW50KSBmYWlsZWQ6IGZvdW5kICRERVZJQ0UgaW4gJExJQk1PVU5UX1VUQUIiID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCisKK2lmIHR5cGUgIm1rZnMuYnRyZnMiICY+L2Rldi9udWxsICYmIG1rZnMuYnRyZnMgLS12ZXJzaW9uICY+L2Rldi9udWxsOyB0aGVuCisJJFRTX0NNRF9XSVBFRlMgLWEgICRERVZJQ0UgJj4gL2Rldi9udWxsCisJI3RzX2xvZyAiQ3JlYXRlIGZpbGVzeXN0ZW0gW2J0cmZzXSIKKwlta2ZzLmJ0cmZzIC1MICIkTEFCRUwiICRERVZJQ0UgJj4gL2Rldi9udWxsCisJdWRldmFkbSBzZXR0bGUKKworCSRUU19DTURfTU9VTlQgLXQgYnRyZnMgJERFVklDRSAkTU9VTlRQT0lOVCAmPiAvZGV2L251bGwKKwlidHJmcyBzdWJ2b2x1bWUgY3JlYXRlICRNT1VOVFBPSU5UL3N1YiAmPiAvZGV2L251bGwKKwkkVFNfQ01EX1VNT1VOVCAkTU9VTlRQT0lOVCAmPiAvZGV2L251bGwKKworCXVkZXZhZG0gc2V0dGxlCisKKwl0c19pbml0X3N1YnRlc3QgIm1vdW50LXVoZWxwZXItc3Vidm9sIgorCW1rZGlyIC1wICRNT1VOVFBPSU5UICY+ICAvZGV2L251bGwKKwl0c192YWxncmluZCAkVEVTVFBST0cgLS1tb3VudCAtbyB1aGVscGVyPWZvbyxydyxzdWJ2b2w9c3ViICRERVZJQ0UgICRNT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQorCWdyZXAgLXEgJERFVklDRSAkTElCTU9VTlRfVVRBQiB8fCBcCisJCWVjaG8gImNhbm5vdCBmaW5kICRERVZJQ0UgaW4gJExJQk1PVU5UX1VUQUIiID4+ICRUU19PVVRQVVQgMj4mMQorCXRzX2ZpbmFsaXplX3N1YnRlc3QKKworCSMgRG9uJ3QgdGVtcG9yYXJ5IHdyaXRlIGJ0cmZzIG1vdW50IG9wdGlvbnMgdG8gdGhlIHRlc3Qgb3V0cHV0LAorCSMgdGhlIG9wdGlvbnMgZGVwZW5kIG9uIGtlcm5lbCB2ZXJzaW9uIChzaW5jZSA0LjIgaXQgY29udGFpbnMKKwkjIHN1YnZvbD0gYW5kIHN1YnZvbGlkPSkuCisJIworCSN0c19sb2cgIkFsbCBtb3VudCBvcHRpb25zIChidHJmcyBzdWJ2b2x1bWUgKyB1dGFiKSAtLS0iCisJIyRUU19DTURfRklORE1OVCAtLW10YWIgJE1PVU5UUE9JTlQgLW8gT1BUSU9OUyAtbiA+PiAkVFNfT1VUUFVUIDI+JjEKKwkjdHNfbG9nICItLS0iCisKKwl0c19pbml0X3N1YnRlc3QgInVtb3VudC1zdWJ2b2wiCisJdHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tdW1vdW50ICRNT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQorCWdyZXAgLXEgJERFVklDRSAkTElCTU9VTlRfVVRBQiAmJiBcCisJCWVjaG8gInVtb3VudCAobW91bnRwb2ludCkgZmFpbGVkOiBmb3VuZCAkREVWSUNFIGluICRMSUJNT1VOVF9VVEFCIiA+PiAkVFNfT1VUUFVUIDI+JjEKKwl0c19maW5hbGl6ZV9zdWJ0ZXN0CitmaQorCit0c19sb2cgIi4uLmRvbmUuIgordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYm1vdW50L2NvbnRleHQtdXRhYi1weSBiL3Rlc3RzL3RzL2xpYm1vdW50L2NvbnRleHQtdXRhYi1weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NGM5NTdkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlibW91bnQvY29udGV4dC11dGFiLXB5CkBAIC0wLDAgKzEsMTMzIEBACisjIS9iaW4vYmFzaAorCisjIENvcHlyaWdodCAoQykgMjAxMCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImNvbnRleHQtcHkgKHV0YWIpIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZESVNLIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZJTkRNTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVU1PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1dJUEVGUyIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9VVUlER0VOIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX3Byb2cgIm1rZnMuZXh0NCIKKwordHNfaW5pdF9weSBsaWJtb3VudAorCitURVNUUFJPRz0iJFRTX0hFTFBFUl9QWUxJQk1PVU5UX0NPTlRFWFQiCitbIC14ICRURVNUUFJPRyBdIHx8IHRzX2RpZSAidGVzdCBzY3JpcHQgbWlzc2luZyIKKworTEFCRUw9bGlibW91bnQtdGVzdAorVVVJRD0kKCRUU19DTURfVVVJREdFTikKK01PVU5UUE9JTlQ9IiRUU19NT1VOVFBPSU5UIgorCisjIHNldCBnbG9iYWwgdmFyaWFibGUgVFNfREVWSUNFCit0c19zY3NpX2RlYnVnX2luaXQgZGV2X3NpemVfbWI9MjU3CitERVZOQU1FPSQoYmFzZW5hbWUgJFRTX0RFVklDRSkKKwordHNfbG9nICJDcmVhdGUgcGFydGl0aW9ucyIKKyRUU19DTURfRkRJU0sgJHtUU19ERVZJQ0V9ICY+IC9kZXYvbnVsbCA8PEVPRgorbgorcAorMQorCisKK3cKK3EKK0VPRgorCitERVZJQ0U9IiR7VFNfREVWSUNFfTEiCisKK3VkZXZhZG0gc2V0dGxlCisKK2dyZXAgLXEgJERFVk5BTUUgL3Byb2MvcGFydGl0aW9ucworaWYgWyAkPyAtbmUgMCBdOyB0aGVuCisJdHNfc2tpcCAibm8gcGFydGl0aW9uISIKK2ZpCisKK3RzX2xvZyAiQ3JlYXRlIGZpbGVzeXN0ZW0iCitta2ZzLmV4dDQgLUwgIiRMQUJFTCIgLVUgIiRVVUlEIiAkREVWSUNFICY+IC9kZXYvbnVsbAorCit0c19sb2cgIkRvIHRlc3RzLi4uIgorCitleHBvcnQgTElCTU9VTlRfTVRBQj0kVFNfT1VUUFVULm10YWIKK3JtIC1mICRMSUJNT1VOVF9NVEFCCitsbiAtcyAvcHJvYy9tb3VudHMgJExJQk1PVU5UX01UQUIKKworZXhwb3J0IExJQk1PVU5UX1VUQUI9JFRTX09VVFBVVC51dGFiCitybSAtZiAkTElCTU9VTlRfVVRBQgorPiAkTElCTU9VTlRfVVRBQgorCit1ZGV2YWRtIHNldHRsZQorCit0c19pbml0X3N1YnRlc3QgIm1vdW50LWJ5LWRldm5hbWUiCitta2RpciAtcCAkTU9VTlRQT0lOVCAmPiAgL2Rldi9udWxsCiskUFlUSE9OICRURVNUUFJPRyAtLW1vdW50ICRERVZJQ0UgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCitncmVwIC1xICRERVZJQ0UgL3Byb2MvbW91bnRzIHx8IFwKKwllY2hvICIoYnkgZGV2aWNlKSBjYW5ub3QgZmluZCAkREVWSUNFIGluIC9wcm9jL21vdW50cyIgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJ1bW91bnQtYnktZGV2bmFtZSIKKyRQWVRIT04gJFRFU1RQUk9HIC0tdW1vdW50ICRERVZJQ0UgPj4gJFRTX09VVFBVVCAyPiYxCitncmVwIC1xICRERVZJQ0UgL3Byb2MvbW91bnRzICYmCisJZWNobyAidW1vdW50IChkZXZpY2UpIGZhaWxlZDogZm91bmQgJERFVklDRSBpbiAvcHJvYy9tb3VudHMiID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAibW91bnQtdWhlbHBlciIKK21rZGlyIC1wICRNT1VOVFBPSU5UICY+ICAvZGV2L251bGwKKyRQWVRIT04gJFRFU1RQUk9HIC0tbW91bnQgLW8gdWhlbHBlcj1mb28scncgTEFCRUw9IiRMQUJFTCIgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCitncmVwIC1xICRERVZJQ0UgJExJQk1PVU5UX1VUQUIgfHwgXAorCWVjaG8gIihieSBsYWJlbCkgY2Fubm90IGZpbmQgJERFVklDRSBpbiAkTElCTU9VTlRfVVRBQiIgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJ1bW91bnQiCiskUFlUSE9OICRURVNUUFJPRyAtLXVtb3VudCAkTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKK2dyZXAgLXEgJERFVklDRSAkTElCTU9VTlRfVVRBQiAmJiBcCisJZWNobyAidW1vdW50IChtb3VudHBvaW50KSBmYWlsZWQ6IGZvdW5kICRERVZJQ0UgaW4gJExJQk1PVU5UX1VUQUIiID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCisKK2lmIHR5cGUgIm1rZnMuYnRyZnMiICY+L2Rldi9udWxsICYmIG1rZnMuYnRyZnMgLS12ZXJzaW9uICY+L2Rldi9udWxsOyB0aGVuCisJJFRTX0NNRF9XSVBFRlMgLWEgICRERVZJQ0UgJj4gL2Rldi9udWxsCisJI3RzX2xvZyAiQ3JlYXRlIGZpbGVzeXN0ZW0gW2J0cmZzXSIKKwlta2ZzLmJ0cmZzIC1MICIkTEFCRUwiICRERVZJQ0UgJj4gL2Rldi9udWxsCisJdWRldmFkbSBzZXR0bGUKKworCSRUU19DTURfTU9VTlQgLXQgYnRyZnMgJERFVklDRSAkTU9VTlRQT0lOVCAmPiAvZGV2L251bGwKKwlidHJmcyBzdWJ2b2x1bWUgY3JlYXRlICRNT1VOVFBPSU5UL3N1YiAmPiAvZGV2L251bGwKKwkkVFNfQ01EX1VNT1VOVCAkTU9VTlRQT0lOVCAmPiAvZGV2L251bGwKKworCXVkZXZhZG0gc2V0dGxlCisKKwl0c19pbml0X3N1YnRlc3QgIm1vdW50LXVoZWxwZXItc3Vidm9sIgorCW1rZGlyIC1wICRNT1VOVFBPSU5UICY+ICAvZGV2L251bGwKKwkkUFlUSE9OICRURVNUUFJPRyAtLW1vdW50IC1vIHVoZWxwZXI9Zm9vLHJ3LHN1YnZvbD1zdWIgJERFVklDRSAgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCisJZ3JlcCAtcSAkREVWSUNFICRMSUJNT1VOVF9VVEFCIHx8IFwKKwkJZWNobyAiY2Fubm90IGZpbmQgJERFVklDRSBpbiAkTElCTU9VTlRfVVRBQiIgPj4gJFRTX09VVFBVVCAyPiYxCisJdHNfZmluYWxpemVfc3VidGVzdAorCisJIyBEb24ndCB0ZW1wb3Jhcnkgd3JpdGUgYnRyZnMgbW91bnQgb3B0aW9ucyB0byB0aGUgdGVzdCBvdXRwdXQsCisJIyB0aGUgb3B0aW9ucyBkZXBlbmQgb24ga2VybmVsIHZlcnNpb24gKHNpbmNlIDQuMiBpdCBjb250YWlucworCSMgc3Vidm9sPSBhbmQgc3Vidm9saWQ9KS4KKwkjCisJI3RzX2xvZyAiQWxsIG1vdW50IG9wdGlvbnMgKGJ0cmZzIHN1YnZvbHVtZSArIHV0YWIpIC0tLSIKKwkjJFRTX0NNRF9GSU5ETU5UIC0tbXRhYiAkTU9VTlRQT0lOVCAtbyBPUFRJT05TIC1uID4+ICRUU19PVVRQVVQgMj4mMQorCSN0c19sb2cgIi0tLSIKKworCXRzX2luaXRfc3VidGVzdCAidW1vdW50LXN1YnZvbCIKKwkkUFlUSE9OICRURVNUUFJPRyAtLXVtb3VudCAkTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKKwlncmVwIC1xICRERVZJQ0UgJExJQk1PVU5UX1VUQUIgJiYgXAorCQllY2hvICJ1bW91bnQgKG1vdW50cG9pbnQpIGZhaWxlZDogZm91bmQgJERFVklDRSBpbiAkTElCTU9VTlRfVVRBQiIgPj4gJFRTX09VVFBVVCAyPiYxCisJdHNfZmluYWxpemVfc3VidGVzdAorZmkKKwordHNfbG9nICIuLi5kb25lLiIKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJtb3VudC9kZWJ1ZyBiL3Rlc3RzL3RzL2xpYm1vdW50L2RlYnVnCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQ3MjJiNGUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJtb3VudC9kZWJ1ZwpAQCAtMCwwICsxLDMwIEBACisjIS9iaW4vYmFzaAorCisjIENvcHlyaWdodCAoQykgMjAxNCBPbmRyZWogT3ByYWxhIDxvb3ByYWxhQHJlZGhhdC5jb20KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iZGVidWdnaW5nIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKworVEVTVFBST0c9IiRUU19IRUxQRVJfTElCTU9VTlRfREVCVUciCisKK1sgLXggJFRFU1RQUk9HIF0gfHwgdHNfc2tpcCAidGVzdCBub3QgY29tcGlsZWQiCisKKyMgQ0FDSEUgfCBMT0NLUwordHNfaW5pdF9zdWJ0ZXN0ICJzZXQtZnJvbS1jb2RlIgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIDIwIDI+JjEgfCBncmVwIC1vICcweC4qJyAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMgQ0FDSEUgfCBMT0NLUwordHNfaW5pdF9zdWJ0ZXN0ICJzZXQtZnJvbS1lbnYtc3RyIgorTElCTU9VTlRfREVCVUc9Y2FjaGUsbG9ja3MgdHNfdmFsZ3JpbmQgJFRFU1RQUk9HIDI+JjEgfCBncmVwIC1vICcweC4qJyAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMgQ0FDSEUgfCBMT0NLUwordHNfaW5pdF9zdWJ0ZXN0ICJzZXQtZnJvbS1lbnYtaW50IgorTElCTU9VTlRfREVCVUc9MjAgdHNfdmFsZ3JpbmQgJFRFU1RQUk9HIDI+JjEgfCBncmVwIC1vICcweC4qJyAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJtb3VudC9maWxlcy9mc3RhYiBiL3Rlc3RzL3RzL2xpYm1vdW50L2ZpbGVzL2ZzdGFiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE4ZjczYmMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJtb3VudC9maWxlcy9mc3RhYgpAQCAtMCwwICsxLDE0IEBACitVVUlEPWQzYThmNzgzLWRmNzUtNGRjOC05MTYzLTk3NWE4OTEwNTJjMCAvICAgICBleHQzICAgIG5vYXRpbWUsZGVmYXVsdHMgMSAxCitVVUlEPWZlZjdjY2IzLTgyMWMtNGRlOC04OGRjLTcxNDcyYmU1OTQ2ZiAvYm9vdCBleHQzICAgIG5vYXRpbWUsZGVmYXVsdHMgMSAyCitVVUlEPTFmMmFhMzE4LTljMzQtNDYyZS04ZDI5LTI2MDgxOWZmZDY1NyBzd2FwICBzd2FwICAgIGRlZmF1bHRzICAgICAgICAwIDAKK3RtcGZzICAgICAgICAgICAgICAgICAgIC9kZXYvc2htICAgICAgICAgICAgICAgIHRtcGZzICAgZGVmYXVsdHMgICAgICAgIDAgMAorZGV2cHRzICAgICAgICAgICAgICAgICAgL2Rldi9wdHMgICAgICAgICAgICAgICAgZGV2cHRzICBnaWQ9NSxtb2RlPTYyMCAgMCAwCitzeXNmcyAgICAgICAgICAgICAgICAgICAvc3lzICAgICAgICAgICAgICAgICAgICBzeXNmcyAgIGRlZmF1bHRzICAgICAgICAwIDAKK3Byb2MgICAgICAgICAgICAgICAgICAgIC9wcm9jICAgICAgICAgICAgICAgICAgIHByb2MgICAgZGVmYXVsdHMgICAgICAgIDAgMAorIyB0aGlzIGlzIGNvbW1lbnQKKy9kZXYvbWFwcGVyL2ZvbwkJL2hvbWUvZm9vICAgICAgICAgICAgICBleHQ0CW5vYXRpbWUsZGVmYXVsdHMgMCAwCisKK2Zvby5jb206L21udC9zaGFyZQkvbW50L3JlbW90ZQkJbmZzCW5vYXV0bworLy9iYXIuY29tL2dvZ29nbyAgICAgICAgL21udC9nb2dvZ28gICAgICAgICAgICAgY2lmcyAgICB1c2VyPVNSR1JPVVAvYmFieSxub2F1dG8KKworL2Rldi9mb28JCS9hbnkvZm9vLwkJYXV0bwlkZWZhdWx0cyAwIDAKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYm1vdW50L2ZpbGVzL2ZzdGFiLmJyb2tlbiBiL3Rlc3RzL3RzL2xpYm1vdW50L2ZpbGVzL2ZzdGFiLmJyb2tlbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNzlmMDI2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlibW91bnQvZmlsZXMvZnN0YWIuYnJva2VuCkBAIC0wLDAgKzEsMTQgQEAKK2J1ZworVVVJRD1kM2E4Zjc4My1kZjc1LTRkYzgtOTE2My05NzVhODkxMDUyYzAgLyAgICAgZXh0MyAgICBub2F0aW1lLGRlZmF1bHRzIDEgMQorVVVJRD1mZWY3Y2NiMy04MjFjLTRkZTgtODhkYy03MTQ3MmJlNTk0NmYgL2Jvb3QgZXh0MyAgICBub2F0aW1lLGRlZmF1bHRzIDEgMgorIFVVSUQ9MWYyYWEzMTgtOWMzNC00NjJlLThkMjktMjYwODE5ZmZkNjU3IHN3YXAgIHN3YXAgICAgZGVmYXVsdHMgICAgICAgIDAgMAordG1wZnMgICAgICAgICAgICAgICAgICAgL2Rldi9zaG0gICAgICAgICAgICAgICAgdG1wZnMgICBkZWZhdWx0cyAgICAgICAgMCAwCitkZXZwdHMgICAgICAgICAgICAgICAgICAvZGV2L3B0cyAgICAgICAgICAgICAgICBkZXZwdHMgIGdpZD01LG1vZGU9NjIwCisgIHN5c2ZzICAgICAgICAgICAgICAgICAgIC9zeXMgICAgICAgICAgICAgICAgICAgIHN5c2ZzICAgZGVmYXVsdHMgICAgICAgIDAgMAordGhpcyBpcyBicm9rZW4gbGluZSB3aXRoIHVuZXhwZWN0ZWQgbnVtYmVyIG9mIGZpZWxkcworcHJvYyAgICAgICAgICAgICAgICAgICAgL3Byb2MgICAgICAgICAgICAgICAgICAgcHJvYyAgICBkZWZhdWx0cyAgICAgICAgMCAwCisjIHRoaXMgaXMgY29tbWVudAorL2Rldi9tYXBwZXIvZm9vCQkvaG9tZS9mb28gICAgICAgICAgICAgIGV4dDQJbm9hdGltZSxkZWZhdWx0cyAxCisKK2Zvby5jb206L21udC9zaGFyZQkvbW50L3JlbW90ZQkJbmZzCW5vYXV0bworLy9iYXIuY29tL2dvZ29nbyAgICAgICAgL21udC9nb2dvZ28gICAgICAgICAgICAgY2lmcyAgICB1c2VyPVNSR1JPVVAvYmFieSxub2F1dG8KZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYm1vdW50L2ZpbGVzL2ZzdGFiLmNvbW1lbnQgYi90ZXN0cy90cy9saWJtb3VudC9maWxlcy9mc3RhYi5jb21tZW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1NmU2NjMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJtb3VudC9maWxlcy9mc3RhYi5jb21tZW50CkBAIC0wLDAgKzEsMjIgQEAKKyMKKyAjIHRoaXMgaXMgYSBsZWFkaW5nIGNvbW1lbnQKKyMKKworIyB0aGlzIGNvbW1lbnRzIGJlbG9uZ3MgdG8gdGhlIGZpcnN0IGZzCitVVUlEPWQzYThmNzgzLWRmNzUtNGRjOC05MTYzLTk3NWE4OTEwNTJjMCAvICAgICBleHQzICAgIG5vYXRpbWUsZGVmYXVsdHMgMSAxCitVVUlEPWZlZjdjY2IzLTgyMWMtNGRlOC04OGRjLTcxNDcyYmU1OTQ2ZiAvYm9vdCBleHQzICAgIG5vYXRpbWUsZGVmYXVsdHMgMSAyCisKKyMgM3JkIGZzIGNvbW1lbnQgKyBuZXdsaW5lIHBhZGRpbmcKKworVVVJRD0xZjJhYTMxOC05YzM0LTQ2MmUtOGQyOS0yNjA4MTlmZmQ2NTcgc3dhcCAgc3dhcCAgICBkZWZhdWx0cyAgICAgICAgMCAwCit0bXBmcyAgICAgICAgICAgICAgICAgICAvZGV2L3NobSAgICAgICAgICAgICAgICB0bXBmcyAgIGRlZmF1bHRzICAgICAgICAwIDAKK2RldnB0cyAgICAgICAgICAgICAgICAgIC9kZXYvcHRzICAgICAgICAgICAgICAgIGRldnB0cyAgZ2lkPTUsbW9kZT02MjAgIDAgMAorc3lzZnMgICAgICAgICAgICAgICAgICAgL3N5cyAgICAgICAgICAgICAgICAgICAgc3lzZnMgICBkZWZhdWx0cyAgICAgICAgMCAwCitwcm9jICAgICAgICAgICAgICAgICAgICAvcHJvYyAgICAgICAgICAgICAgICAgICBwcm9jICAgIGRlZmF1bHRzICAgICAgICAwIDAKKyMgdGhpcyBpcyBjb21tZW50CisvZGV2L21hcHBlci9mb28JCS9ob21lL2ZvbyAgICAgICAgICAgICAgZXh0NAlub2F0aW1lLGRlZmF1bHRzIDAgMAorZm9vLmNvbTovbW50L3NoYXJlCS9tbnQvcmVtb3RlCQluZnMJbm9hdXRvCisvL2Jhci5jb20vZ29nb2dvICAgICAgICAvbW50L2dvZ29nbyAgICAgICAgICAgICBjaWZzICAgIHVzZXI9U1JHUk9VUC9iYWJ5LG5vYXV0bworL2Rldi9mb28JCS9hbnkvZm9vLwkJYXV0bwlkZWZhdWx0cyAwIDAKKworI3RoaXMgaXMgYSB0cmFpbGluZyBjb21tZW50CmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJtb3VudC9maWxlcy9rZXJuZWxfY21kbGluZSBiL3Rlc3RzL3RzL2xpYm1vdW50L2ZpbGVzL2tlcm5lbF9jbWRsaW5lCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3YTBjODkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJtb3VudC9maWxlcy9rZXJuZWxfY21kbGluZQpAQCAtMCwwICsxIEBACityZC5tZD0wIHJkLmx2bT0wIHJkLmRtPTAgIEtFWVRBQkxFPXVzIHJvb3Q9VVVJRD0zMzIzMGFlMi0xMDkzLTQzNTMtODI0Yy1mN2NhMDlhMmE4ODIgcmQubHVrcz0wIFNZU0ZPTlQ9bGF0YXJjeXJoZWItc3VuMTYgcm8gTEFORz1lbl9VUy5VVEYtOCBzZWxpbnV4PTAKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYm1vdW50L2ZpbGVzL21vdW50aW5mbyBiL3Rlc3RzL3RzL2xpYm1vdW50L2ZpbGVzL21vdW50aW5mbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NzVlYTFhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlibW91bnQvZmlsZXMvbW91bnRpbmZvCkBAIC0wLDAgKzEsMzMgQEAKKzE1IDIwIDA6MyAvIC9wcm9jIHJ3LHJlbGF0aW1lIC0gcHJvYyAvcHJvYyBydworMTYgMjAgMDoxNSAvIC9zeXMgcncscmVsYXRpbWUgLSBzeXNmcyAvc3lzIHJ3CisxNyAyMCAwOjUgLyAvZGV2IHJ3LHJlbGF0aW1lIC0gZGV2dG1wZnMgdWRldiBydyxzaXplPTE5ODM1MTZrLG5yX2lub2Rlcz00OTU4NzksbW9kZT03NTUKKzE4IDE3IDA6MTAgLyAvZGV2L3B0cyBydyxyZWxhdGltZSAtIGRldnB0cyBkZXZwdHMgcncsZ2lkPTUsbW9kZT02MjAscHRteG1vZGU9MDAwCisxOSAxNyAwOjE2IC8gL2Rldi9zaG0gcncscmVsYXRpbWUgLSB0bXBmcyB0bXBmcyBydworMjAgMSA4OjQgLyAvIHJ3LG5vYXRpbWUgLSBleHQzIC9kZXYvc2RhNCBydyxlcnJvcnM9Y29udGludWUsdXNlcl94YXR0cixhY2wsYmFycmllcj0wLGRhdGE9b3JkZXJlZAorMjEgMTYgMDoxNyAvIC9zeXMvZnMvY2dyb3VwIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSB0bXBmcyB0bXBmcyBydyxtb2RlPTc1NQorMjIgMjEgMDoxOCAvIC9zeXMvZnMvY2dyb3VwL3N5c3RlbWQgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncscmVsZWFzZV9hZ2VudD0vbGliL3N5c3RlbWQvc3lzdGVtZC1jZ3JvdXBzLWFnZW50LG5hbWU9c3lzdGVtZAorMjMgMjEgMDoxOSAvIC9zeXMvZnMvY2dyb3VwL2NwdXNldCBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxjcHVzZXQKKzI0IDIxIDA6MjAgLyAvc3lzL2ZzL2Nncm91cC9ucyBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxucworMjUgMjEgMDoyMSAvIC9zeXMvZnMvY2dyb3VwL2NwdSBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxjcHUKKzI2IDIxIDA6MjIgLyAvc3lzL2ZzL2Nncm91cC9jcHVhY2N0IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LGNwdWFjY3QKKzI3IDIxIDA6MjMgLyAvc3lzL2ZzL2Nncm91cC9tZW1vcnkgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsbWVtb3J5CisyOCAyMSAwOjI0IC8gL3N5cy9mcy9jZ3JvdXAvZGV2aWNlcyBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxkZXZpY2VzCisyOSAyMSAwOjI1IC8gL3N5cy9mcy9jZ3JvdXAvZnJlZXplciBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxmcmVlemVyCiszMCAyMSAwOjI2IC8gL3N5cy9mcy9jZ3JvdXAvbmV0X2NscyBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxuZXRfY2xzCiszMSAyMSAwOjI3IC8gL3N5cy9mcy9jZ3JvdXAvYmxraW8gcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsYmxraW8KKzMyIDE2IDA6MjggLyAvc3lzL2tlcm5lbC9zZWN1cml0eSBydyxyZWxhdGltZSAtIGF1dG9mcyBzeXN0ZW1kLTEgcncsZmQ9MjIscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKKzMzIDE3IDA6MjkgLyAvZGV2L2h1Z2VwYWdlcyBydyxyZWxhdGltZSAtIGF1dG9mcyBzeXN0ZW1kLTEgcncsZmQ9MjMscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKKzM0IDE2IDA6MzAgLyAvc3lzL2tlcm5lbC9kZWJ1ZyBydyxyZWxhdGltZSAtIGF1dG9mcyBzeXN0ZW1kLTEgcncsZmQ9MjQscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKKzM1IDE1IDA6MzEgLyAvcHJvYy9zeXMvZnMvYmluZm10X21pc2MgcncscmVsYXRpbWUgLSBhdXRvZnMgc3lzdGVtZC0xIHJ3LGZkPTI1LHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CiszNiAxNyAwOjMyIC8gL2Rldi9tcXVldWUgcncscmVsYXRpbWUgLSBhdXRvZnMgc3lzdGVtZC0xIHJ3LGZkPTI2LHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CiszNyAxNSAwOjE0IC8gL3Byb2MvYnVzL3VzYiBydyxyZWxhdGltZSAtIHVzYmZzIC9wcm9jL2J1cy91c2IgcncKKzM4IDMzIDA6MzMgLyAvZGV2L2h1Z2VwYWdlcyBydyxyZWxhdGltZSAtIGh1Z2V0bGJmcyBodWdldGxiZnMgcncKKzM5IDM2IDA6MTIgLyAvZGV2L21xdWV1ZSBydyxyZWxhdGltZSAtIG1xdWV1ZSBtcXVldWUgcncKKzQwIDIwIDg6NiAvIC9ib290IHJ3LG5vYXRpbWUgLSBleHQzIC9kZXYvc2RhNiBydyxlcnJvcnM9Y29udGludWUsYmFycmllcj0wLGRhdGE9b3JkZXJlZAorNDEgMjAgMjUzOjAgLyAvaG9tZS9remFrIHJ3LG5vYXRpbWUgLSBleHQ0IC9kZXYvbWFwcGVyL2t6YWstaG9tZSBydyxiYXJyaWVyPTEsZGF0YT1vcmRlcmVkCis0MiAzNSAwOjM0IC8gL3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjIHJ3LHJlbGF0aW1lIC0gYmluZm10X21pc2Mgbm9uZSBydworNDMgMTYgMDozNSAvIC9zeXMvZnMvZnVzZS9jb25uZWN0aW9ucyBydyxyZWxhdGltZSAtIGZ1c2VjdGwgZnVzZWN0bCBydworNDQgNDEgMDozNiAvIC9ob21lL2t6YWsvLmd2ZnMgcncsbm9zdWlkLG5vZGV2LHJlbGF0aW1lIC0gZnVzZS5ndmZzLWZ1c2UtZGFlbW9uIGd2ZnMtZnVzZS1kYWVtb24gcncsdXNlcl9pZD01MDAsZ3JvdXBfaWQ9NTAwCis0NSAyMCAwOjM3IC8gL3Zhci9saWIvbmZzL3JwY19waXBlZnMgcncscmVsYXRpbWUgLSBycGNfcGlwZWZzIHN1bnJwYyBydworNDcgMjAgMDozOCAvIC9tbnQvc291bmRzIHJ3LHJlbGF0aW1lIC0gY2lmcyAvL2Zvby5ob21lL2Jhci8gcncsdW5jPVxcZm9vLmhvbWVcYmFyLHVzZXJuYW1lPWt6YWssZG9tYWluPVNSR1JPVVAsdWlkPTAsbm9mb3JjZXVpZCxnaWQ9MCxub2ZvcmNlZ2lkLGFkZHI9MTkyLjE2OC4xMTEuMSxwb3NpeHBhdGhzLHNlcnZlcmlubyxhY2wscnNpemU9MTYzODQsd3NpemU9NTczNDQKKzQ4IDIwIDA6MzkgLyAvbW50L2Zvb1wwNDAoZGVsZXRlZCkgcncscmVsYXRpbWUgLSBiYXIgL2Zvb29vbyBydwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbGlibW91bnQvZmlsZXMvbW91bnRpbmZvX212IGIvdGVzdHMvdHMvbGlibW91bnQvZmlsZXMvbW91bnRpbmZvX212Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkNTVhZmYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJtb3VudC9maWxlcy9tb3VudGluZm9fbXYKQEAgLTAsMCArMSwzMiBAQAorMTUgMjAgMDozIC8gL3Byb2MgcncscmVsYXRpbWUgLSBwcm9jIC9wcm9jIHJ3CisxNiAyMCAwOjE1IC8gL3N5cyBydyxyZWxhdGltZSAtIHN5c2ZzIC9zeXMgcncKKzE3IDIwIDA6NSAvIC9kZXYgcncscmVsYXRpbWUgLSBkZXZ0bXBmcyB1ZGV2IHJ3LHNpemU9MTk4MzUxNmssbnJfaW5vZGVzPTQ5NTg3OSxtb2RlPTc1NQorMTggMTcgMDoxMCAvIC9kZXYvcHRzIHJ3LHJlbGF0aW1lIC0gZGV2cHRzIGRldnB0cyBydyxnaWQ9NSxtb2RlPTYyMCxwdG14bW9kZT0wMDAKKzE5IDE3IDA6MTYgLyAvZGV2L3NobSBydyxyZWxhdGltZSAtIHRtcGZzIHRtcGZzIHJ3CisyMCAxIDg6NCAvIC8gcncsbm9hdGltZSAtIGV4dDMgL2Rldi9zZGE0IHJ3LGVycm9ycz1jb250aW51ZSx1c2VyX3hhdHRyLGFjbCxiYXJyaWVyPTAsZGF0YT1vcmRlcmVkCisyMSAxNiAwOjE3IC8gL3N5cy9mcy9jZ3JvdXAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIHRtcGZzIHRtcGZzIHJ3LG1vZGU9NzU1CisyMiAyMSAwOjE4IC8gL3N5cy9mcy9jZ3JvdXAvc3lzdGVtZCBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxyZWxlYXNlX2FnZW50PS9saWIvc3lzdGVtZC9zeXN0ZW1kLWNncm91cHMtYWdlbnQsbmFtZT1zeXN0ZW1kCisyMyAyMSAwOjE5IC8gL3N5cy9mcy9jZ3JvdXAvY3B1c2V0IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LGNwdXNldAorMjQgMjEgMDoyMCAvIC9zeXMvZnMvY2dyb3VwL25zIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LG5zCisyNSAyMSAwOjIxIC8gL3N5cy9mcy9jZ3JvdXAvY3B1IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LGNwdQorMjYgMjEgMDoyMiAvIC9zeXMvZnMvY2dyb3VwL2NwdWFjY3Qgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsY3B1YWNjdAorMjcgMjEgMDoyMyAvIC9zeXMvZnMvY2dyb3VwL21lbW9yeSBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxtZW1vcnkKKzI4IDIxIDA6MjQgLyAvc3lzL2ZzL2Nncm91cC9kZXZpY2VzIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LGRldmljZXMKKzI5IDIxIDA6MjUgLyAvc3lzL2ZzL2Nncm91cC9mcmVlemVyIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LGZyZWV6ZXIKKzMwIDIxIDA6MjYgLyAvc3lzL2ZzL2Nncm91cC9uZXRfY2xzIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LG5ldF9jbHMKKzMxIDIxIDA6MjcgLyAvc3lzL2ZzL2Nncm91cC9ibGtpbyBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxibGtpbworMzIgMTYgMDoyOCAvIC9zeXMva2VybmVsL3NlY3VyaXR5IHJ3LHJlbGF0aW1lIC0gYXV0b2ZzIHN5c3RlbWQtMSBydyxmZD0yMixwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorMzMgMTcgMDoyOSAvIC9kZXYvaHVnZXBhZ2VzIHJ3LHJlbGF0aW1lIC0gYXV0b2ZzIHN5c3RlbWQtMSBydyxmZD0yMyxwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorMzQgMTYgMDozMCAvIC9zeXMva2VybmVsL2RlYnVnIHJ3LHJlbGF0aW1lIC0gYXV0b2ZzIHN5c3RlbWQtMSBydyxmZD0yNCxwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorMzUgMTUgMDozMSAvIC9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYyBydyxyZWxhdGltZSAtIGF1dG9mcyBzeXN0ZW1kLTEgcncsZmQ9MjUscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKKzM2IDE3IDA6MzIgLyAvZGV2L21xdWV1ZSBydyxyZWxhdGltZSAtIGF1dG9mcyBzeXN0ZW1kLTEgcncsZmQ9MjYscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKKzM3IDE1IDA6MTQgLyAvcHJvYy9idXMvdXNiIHJ3LHJlbGF0aW1lIC0gdXNiZnMgL3Byb2MvYnVzL3VzYiBydworMzggMzMgMDozMyAvIC9kZXYvaHVnZXBhZ2VzIHJ3LHJlbGF0aW1lIC0gaHVnZXRsYmZzIGh1Z2V0bGJmcyBydworMzkgMzYgMDoxMiAvIC9kZXYvbXF1ZXVlIHJ3LHJlbGF0aW1lIC0gbXF1ZXVlIG1xdWV1ZSBydworNDAgMjAgODo2IC8gL2Jvb3Qgcncsbm9hdGltZSAtIGV4dDMgL2Rldi9zZGE2IHJ3LGVycm9ycz1jb250aW51ZSxiYXJyaWVyPTAsZGF0YT1vcmRlcmVkCis0MSAyMCAyNTM6MCAvIC9ob21lL2t6YWsgcncsbm9hdGltZSAtIGV4dDQgL2Rldi9tYXBwZXIva3phay1ob21lIHJ3LGJhcnJpZXI9MSxkYXRhPW9yZGVyZWQKKzQyIDM1IDA6MzQgLyAvcHJvYy9zeXMvZnMvYmluZm10X21pc2MgcncscmVsYXRpbWUgLSBiaW5mbXRfbWlzYyBub25lIHJ3Cis0MyAxNiAwOjM1IC8gL3N5cy9mcy9mdXNlL2Nvbm5lY3Rpb25zIHJ3LHJlbGF0aW1lIC0gZnVzZWN0bCBmdXNlY3RsIHJ3Cis0NCA0MSAwOjM2IC8gL2hvbWUva3phay8uZ3ZmcyBydyxub3N1aWQsbm9kZXYscmVsYXRpbWUgLSBmdXNlLmd2ZnMtZnVzZS1kYWVtb24gZ3Zmcy1mdXNlLWRhZW1vbiBydyx1c2VyX2lkPTUwMCxncm91cF9pZD01MDAKKzQ1IDIwIDA6MzcgLyAvdmFyL2xpYi9uZnMvcnBjX3BpcGVmcyBydyxyZWxhdGltZSAtIHJwY19waXBlZnMgc3VucnBjIHJ3Cis0NyAyMCAwOjM4IC8gL21udC9tdXNpYyBydyxyZWxhdGltZSAtIGNpZnMgLy9mb28uaG9tZS9iYXIvIHJ3LHVuYz1cXGZvby5ob21lXGJhcix1c2VybmFtZT1remFrLGRvbWFpbj1TUkdST1VQLHVpZD0wLG5vZm9yY2V1aWQsZ2lkPTAsbm9mb3JjZWdpZCxhZGRyPTE5Mi4xNjguMTExLjEscG9zaXhwYXRocyxzZXJ2ZXJpbm8sYWNsLHJzaXplPTE2Mzg0LHdzaXplPTU3MzQ0CmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJtb3VudC9maWxlcy9tb3VudGluZm9fcmUgYi90ZXN0cy90cy9saWJtb3VudC9maWxlcy9tb3VudGluZm9fcmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGYzNzlmYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYm1vdW50L2ZpbGVzL21vdW50aW5mb19yZQpAQCAtMCwwICsxLDMyIEBACisxNSAyMCAwOjMgLyAvcHJvYyBydyxyZWxhdGltZSAtIHByb2MgL3Byb2MgcncKKzE2IDIwIDA6MTUgLyAvc3lzIHJ3LHJlbGF0aW1lIC0gc3lzZnMgL3N5cyBydworMTcgMjAgMDo1IC8gL2RldiBydyxyZWxhdGltZSAtIGRldnRtcGZzIHVkZXYgcncsc2l6ZT0xOTgzNTE2ayxucl9pbm9kZXM9NDk1ODc5LG1vZGU9NzU1CisxOCAxNyAwOjEwIC8gL2Rldi9wdHMgcncscmVsYXRpbWUgLSBkZXZwdHMgZGV2cHRzIHJ3LGdpZD01LG1vZGU9NjIwLHB0bXhtb2RlPTAwMAorMTkgMTcgMDoxNiAvIC9kZXYvc2htIHJ3LHJlbGF0aW1lIC0gdG1wZnMgdG1wZnMgcncKKzIwIDEgODo0IC8gLyBydyxub2F0aW1lIC0gZXh0MyAvZGV2L3NkYTQgcncsZXJyb3JzPWNvbnRpbnVlLHVzZXJfeGF0dHIsYWNsLGJhcnJpZXI9MCxkYXRhPW9yZGVyZWQKKzIxIDE2IDA6MTcgLyAvc3lzL2ZzL2Nncm91cCBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gdG1wZnMgdG1wZnMgcncsbW9kZT03NTUKKzIyIDIxIDA6MTggLyAvc3lzL2ZzL2Nncm91cC9zeXN0ZW1kIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LHJlbGVhc2VfYWdlbnQ9L2xpYi9zeXN0ZW1kL3N5c3RlbWQtY2dyb3Vwcy1hZ2VudCxuYW1lPXN5c3RlbWQKKzIzIDIxIDA6MTkgLyAvc3lzL2ZzL2Nncm91cC9jcHVzZXQgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsY3B1c2V0CisyNCAyMSAwOjIwIC8gL3N5cy9mcy9jZ3JvdXAvbnMgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsbnMKKzI1IDIxIDA6MjEgLyAvc3lzL2ZzL2Nncm91cC9jcHUgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsY3B1CisyNiAyMSAwOjIyIC8gL3N5cy9mcy9jZ3JvdXAvY3B1YWNjdCBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxjcHVhY2N0CisyNyAyMSAwOjIzIC8gL3N5cy9mcy9jZ3JvdXAvbWVtb3J5IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LG1lbW9yeQorMjggMjEgMDoyNCAvIC9zeXMvZnMvY2dyb3VwL2RldmljZXMgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsZGV2aWNlcworMjkgMjEgMDoyNSAvIC9zeXMvZnMvY2dyb3VwL2ZyZWV6ZXIgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsZnJlZXplcgorMzAgMjEgMDoyNiAvIC9zeXMvZnMvY2dyb3VwL25ldF9jbHMgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsbmV0X2NscworMzEgMjEgMDoyNyAvIC9zeXMvZnMvY2dyb3VwL2Jsa2lvIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LGJsa2lvCiszMiAxNiAwOjI4IC8gL3N5cy9rZXJuZWwvc2VjdXJpdHkgcncscmVsYXRpbWUgLSBhdXRvZnMgc3lzdGVtZC0xIHJ3LGZkPTIyLHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CiszMyAxNyAwOjI5IC8gL2Rldi9odWdlcGFnZXMgcncscmVsYXRpbWUgLSBhdXRvZnMgc3lzdGVtZC0xIHJ3LGZkPTIzLHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CiszNCAxNiAwOjMwIC8gL3N5cy9rZXJuZWwvZGVidWcgcncscmVsYXRpbWUgLSBhdXRvZnMgc3lzdGVtZC0xIHJ3LGZkPTI0LHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CiszNSAxNSAwOjMxIC8gL3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjIHJ3LHJlbGF0aW1lIC0gYXV0b2ZzIHN5c3RlbWQtMSBydyxmZD0yNSxwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorMzYgMTcgMDozMiAvIC9kZXYvbXF1ZXVlIHJ3LHJlbGF0aW1lIC0gYXV0b2ZzIHN5c3RlbWQtMSBydyxmZD0yNixwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorMzcgMTUgMDoxNCAvIC9wcm9jL2J1cy91c2IgcncscmVsYXRpbWUgLSB1c2JmcyAvcHJvYy9idXMvdXNiIHJ3CiszOCAzMyAwOjMzIC8gL2Rldi9odWdlcGFnZXMgcncscmVsYXRpbWUgLSBodWdldGxiZnMgaHVnZXRsYmZzIHJ3CiszOSAzNiAwOjEyIC8gL2Rldi9tcXVldWUgcncscmVsYXRpbWUgLSBtcXVldWUgbXF1ZXVlIHJ3Cis0MCAyMCA4OjYgLyAvYm9vdCBydyxub2F0aW1lIC0gZXh0MyAvZGV2L3NkYTYgcncsZXJyb3JzPWNvbnRpbnVlLGJhcnJpZXI9MCxkYXRhPW9yZGVyZWQKKzQxIDIwIDI1MzowIC8gL2hvbWUva3phayBybyxub2F0aW1lIC0gZXh0NCAvZGV2L21hcHBlci9remFrLWhvbWUgcncsYmFycmllcj0xLGRhdGE9b3JkZXJlZAorNDIgMzUgMDozNCAvIC9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYyBydyxyZWxhdGltZSAtIGJpbmZtdF9taXNjIG5vbmUgcncKKzQzIDE2IDA6MzUgLyAvc3lzL2ZzL2Z1c2UvY29ubmVjdGlvbnMgcncscmVsYXRpbWUgLSBmdXNlY3RsIGZ1c2VjdGwgcncKKzQ0IDQxIDA6MzYgLyAvaG9tZS9remFrLy5ndmZzIHJ3LG5vc3VpZCxub2RldixyZWxhdGltZSAtIGZ1c2UuZ3Zmcy1mdXNlLWRhZW1vbiBndmZzLWZ1c2UtZGFlbW9uIHJ3LHVzZXJfaWQ9NTAwLGdyb3VwX2lkPTUwMAorNDUgMjAgMDozNyAvIC92YXIvbGliL25mcy9ycGNfcGlwZWZzIHJ3LHJlbGF0aW1lIC0gcnBjX3BpcGVmcyBzdW5ycGMgcncKKzQ3IDIwIDA6MzggLyAvbW50L3NvdW5kcyBydyxyZWxhdGltZSAtIGNpZnMgLy9mb28uaG9tZS9iYXIvIHJvLHVuYz1cXGZvby5ob21lXGJhcix1c2VybmFtZT1remFrLGRvbWFpbj1TUkdST1VQLHVpZD0wLG5vZm9yY2V1aWQsZ2lkPTAsbm9mb3JjZWdpZCxhZGRyPTE5Mi4xNjguMTExLjEscG9zaXhwYXRocyxzZXJ2ZXJpbm8sYWNsLHJzaXplPTE2Mzg0LHdzaXplPTU3MzQ0CmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJtb3VudC9maWxlcy9tb3VudGluZm9fdSBiL3Rlc3RzL3RzL2xpYm1vdW50L2ZpbGVzL21vdW50aW5mb191Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzZGRlOTcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJtb3VudC9maWxlcy9tb3VudGluZm9fdQpAQCAtMCwwICsxLDMxIEBACisxNSAyMCAwOjMgLyAvcHJvYyBydyxyZWxhdGltZSAtIHByb2MgL3Byb2MgcncKKzE2IDIwIDA6MTUgLyAvc3lzIHJ3LHJlbGF0aW1lIC0gc3lzZnMgL3N5cyBydworMTcgMjAgMDo1IC8gL2RldiBydyxyZWxhdGltZSAtIGRldnRtcGZzIHVkZXYgcncsc2l6ZT0xOTgzNTE2ayxucl9pbm9kZXM9NDk1ODc5LG1vZGU9NzU1CisxOCAxNyAwOjEwIC8gL2Rldi9wdHMgcncscmVsYXRpbWUgLSBkZXZwdHMgZGV2cHRzIHJ3LGdpZD01LG1vZGU9NjIwLHB0bXhtb2RlPTAwMAorMTkgMTcgMDoxNiAvIC9kZXYvc2htIHJ3LHJlbGF0aW1lIC0gdG1wZnMgdG1wZnMgcncKKzIwIDEgODo0IC8gLyBydyxub2F0aW1lIC0gZXh0MyAvZGV2L3NkYTQgcncsZXJyb3JzPWNvbnRpbnVlLHVzZXJfeGF0dHIsYWNsLGJhcnJpZXI9MCxkYXRhPW9yZGVyZWQKKzIxIDE2IDA6MTcgLyAvc3lzL2ZzL2Nncm91cCBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gdG1wZnMgdG1wZnMgcncsbW9kZT03NTUKKzIyIDIxIDA6MTggLyAvc3lzL2ZzL2Nncm91cC9zeXN0ZW1kIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LHJlbGVhc2VfYWdlbnQ9L2xpYi9zeXN0ZW1kL3N5c3RlbWQtY2dyb3Vwcy1hZ2VudCxuYW1lPXN5c3RlbWQKKzIzIDIxIDA6MTkgLyAvc3lzL2ZzL2Nncm91cC9jcHVzZXQgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsY3B1c2V0CisyNCAyMSAwOjIwIC8gL3N5cy9mcy9jZ3JvdXAvbnMgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsbnMKKzI1IDIxIDA6MjEgLyAvc3lzL2ZzL2Nncm91cC9jcHUgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsY3B1CisyNiAyMSAwOjIyIC8gL3N5cy9mcy9jZ3JvdXAvY3B1YWNjdCBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxjcHVhY2N0CisyNyAyMSAwOjIzIC8gL3N5cy9mcy9jZ3JvdXAvbWVtb3J5IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LG1lbW9yeQorMjggMjEgMDoyNCAvIC9zeXMvZnMvY2dyb3VwL2RldmljZXMgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsZGV2aWNlcworMjkgMjEgMDoyNSAvIC9zeXMvZnMvY2dyb3VwL2ZyZWV6ZXIgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsZnJlZXplcgorMzAgMjEgMDoyNiAvIC9zeXMvZnMvY2dyb3VwL25ldF9jbHMgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsbmV0X2NscworMzEgMjEgMDoyNyAvIC9zeXMvZnMvY2dyb3VwL2Jsa2lvIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LGJsa2lvCiszMiAxNiAwOjI4IC8gL3N5cy9rZXJuZWwvc2VjdXJpdHkgcncscmVsYXRpbWUgLSBhdXRvZnMgc3lzdGVtZC0xIHJ3LGZkPTIyLHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CiszMyAxNyAwOjI5IC8gL2Rldi9odWdlcGFnZXMgcncscmVsYXRpbWUgLSBhdXRvZnMgc3lzdGVtZC0xIHJ3LGZkPTIzLHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CiszNCAxNiAwOjMwIC8gL3N5cy9rZXJuZWwvZGVidWcgcncscmVsYXRpbWUgLSBhdXRvZnMgc3lzdGVtZC0xIHJ3LGZkPTI0LHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CiszNSAxNSAwOjMxIC8gL3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjIHJ3LHJlbGF0aW1lIC0gYXV0b2ZzIHN5c3RlbWQtMSBydyxmZD0yNSxwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorMzYgMTcgMDozMiAvIC9kZXYvbXF1ZXVlIHJ3LHJlbGF0aW1lIC0gYXV0b2ZzIHN5c3RlbWQtMSBydyxmZD0yNixwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorMzcgMTUgMDoxNCAvIC9wcm9jL2J1cy91c2IgcncscmVsYXRpbWUgLSB1c2JmcyAvcHJvYy9idXMvdXNiIHJ3CiszOCAzMyAwOjMzIC8gL2Rldi9odWdlcGFnZXMgcncscmVsYXRpbWUgLSBodWdldGxiZnMgaHVnZXRsYmZzIHJ3CiszOSAzNiAwOjEyIC8gL2Rldi9tcXVldWUgcncscmVsYXRpbWUgLSBtcXVldWUgbXF1ZXVlIHJ3Cis0MCAyMCA4OjYgLyAvYm9vdCBydyxub2F0aW1lIC0gZXh0MyAvZGV2L3NkYTYgcncsZXJyb3JzPWNvbnRpbnVlLGJhcnJpZXI9MCxkYXRhPW9yZGVyZWQKKzQyIDM1IDA6MzQgLyAvcHJvYy9zeXMvZnMvYmluZm10X21pc2MgcncscmVsYXRpbWUgLSBiaW5mbXRfbWlzYyBub25lIHJ3Cis0MyAxNiAwOjM1IC8gL3N5cy9mcy9mdXNlL2Nvbm5lY3Rpb25zIHJ3LHJlbGF0aW1lIC0gZnVzZWN0bCBmdXNlY3RsIHJ3Cis0NCA0MSAwOjM2IC8gL2hvbWUva3phay8uZ3ZmcyBydyxub3N1aWQsbm9kZXYscmVsYXRpbWUgLSBmdXNlLmd2ZnMtZnVzZS1kYWVtb24gZ3Zmcy1mdXNlLWRhZW1vbiBydyx1c2VyX2lkPTUwMCxncm91cF9pZD01MDAKKzQ1IDIwIDA6MzcgLyAvdmFyL2xpYi9uZnMvcnBjX3BpcGVmcyBydyxyZWxhdGltZSAtIHJwY19waXBlZnMgc3VucnBjIHJ3Cis0NyAyMCAwOjM4IC8gL21udC9zb3VuZHMgcncscmVsYXRpbWUgLSBjaWZzIC8vZm9vLmhvbWUvYmFyLyBydyx1bmM9XFxmb28uaG9tZVxiYXIsdXNlcm5hbWU9a3phayxkb21haW49U1JHUk9VUCx1aWQ9MCxub2ZvcmNldWlkLGdpZD0wLG5vZm9yY2VnaWQsYWRkcj0xOTIuMTY4LjExMS4xLHBvc2l4cGF0aHMsc2VydmVyaW5vLGFjbCxyc2l6ZT0xNjM4NCx3c2l6ZT01NzM0NApkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbGlibW91bnQvZmlsZXMvbXRhYiBiL3Rlc3RzL3RzL2xpYm1vdW50L2ZpbGVzL210YWIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTNiYzkwZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYm1vdW50L2ZpbGVzL210YWIKQEAgLTAsMCArMSwxMiBAQAorL2Rldi9zZGE0IC8gZXh0MyBydyxub2F0aW1lIDAgMAorcHJvYyAvcHJvYyBwcm9jIHJ3IDAgMAorc3lzZnMgL3N5cyBzeXNmcyBydyAwIDAKK2RldnB0cyAvZGV2L3B0cyBkZXZwdHMgcncsZ2lkPTUsbW9kZT02MjAgMCAwCit0bXBmcyAvZGV2L3NobSB0bXBmcyBydyAwIDAKKy9kZXYvc2RhNiAvYm9vdCBleHQzIHJ3LG5vYXRpbWUgMCAwCisvZGV2L21hcHBlci9remFrLWhvbWUgL2hvbWUva3phayBleHQ0IHJ3LG5vYXRpbWUgMCAwCitub25lIC9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYyBiaW5mbXRfbWlzYyBydyAwIDAKK2Z1c2VjdGwgL3N5cy9mcy9mdXNlL2Nvbm5lY3Rpb25zIGZ1c2VjdGwgcncgMCAwCitndmZzLWZ1c2UtZGFlbW9uIC9ob21lL2t6YWsvLmd2ZnMgZnVzZS5ndmZzLWZ1c2UtZGFlbW9uIHJ3LG5vc3VpZCxub2Rldix1c2VyPWt6YWsgMCAwCitzdW5ycGMgL3Zhci9saWIvbmZzL3JwY19waXBlZnMgcnBjX3BpcGVmcyBydyAwIDAKK25vbmUgL3Zhci90bXAvXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExL1wwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMS9cMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTEvXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExL1wwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMS9cMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTEvXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExL1wwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMS9cMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTEvXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExL1wwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMS9cMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTEvXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExL1wwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMS9cMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTEgb3ZlcmxheSBydyxyZWxhdGltZSxsb3dlcmRpcj1sb3dlcix1cHBlcmRpcj11cHBlcix3b3JrZGlyPXdvcmsgMCAwCmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJtb3VudC9sb2NrIGIvdGVzdHMvdHMvbGlibW91bnQvbG9jawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mOGNhZWI1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlibW91bnQvbG9jawpAQCAtMCwwICsxLDQxIEBACisjIS9iaW4vYmFzaAorCisjIENvcHlyaWdodCAoQykgMjAxMCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ibG9jayIKKworVFNfT1BUSU9OQUw9InllcyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK1RFU1RQUk9HPSIkVFNfSEVMUEVSX0xJQk1PVU5UX0xPQ0siCisKK1sgLXggJFRFU1RQUk9HIF0gfHwgdHNfc2tpcCAidGVzdCBub3QgY29tcGlsZWQiCisKKyMKKyMgQmUgY2FyZWZ1bCB3aXRoIG51bWJlciBvZiBwcm9jZXNzZXMuIERvbid0IGZvcmdldCB0aGF0IHRoZXJlIGlzIHRpbWUgbGltaXQKKyMgd2hlbiB0aGUgbW91bnQgd2FpdHMgb24gdGhlIG10YWIgbG9jay4gSWYgeW91IGRlZmluZSB0b28gbXVjaCBwcm9jZXNzZXMgc29tZQorIyBvZiB0aGVtIHdpbGwgZmFpbCB3aXRoIHRpbWVvdXQuCisjCisjIE5vdGU6IHRoZSBvcmlnaW5hbCB2ZXJzaW9uICg8IDIuMTMpIG9mIHV0aWwtbGludXggaXMgY29tcGxldGVseSB1c2VsZXNzIGZvcgorIyB0aGlzIHRlc3QgKG1heGltdW0gZm9yIHRoaXMgb2xkIHZlcnNpb24gaXMgTkxPT1BTPTEwIGFuZCBOUFJPQ0VTU0VTPTUgKDItd2F5CisjIDJHSHogbWFjaGluZSkpLiBJdCBoYXMgdGVycmlibGUgcGVyZm9ybWFuY2UgZHVlIGEgYmFkIHRpbWVvdXRzIGltcGxlbW50YXRpb24KKyMgaW4gbG9ja19tdGFiKCkuCisjCitOTE9PUFM9MTAwMAorTlBST0NFU1NFUz01MAorCisKKz4gJFRTX09VVFBVVC5kZWJ1ZworZWNobyAwID4gJFRTX09VVFBVVAorU1lOQ1RJTUU9JCgoICQoZGF0ZSArJXMpICsgNSApKQorCitmb3IgaWQgaW4gJChzZXEgMCAkKCggJE5QUk9DRVNTRVMgLSAxICkpKTsgZG8KKwl0c192YWxncmluZCAkVEVTVFBST0cgLS1sb2NrIC0tc3luY3RpbWUgJFNZTkNUSU1FICRUU19PVVRQVVQgJE5MT09QUyA+PiAkVFNfT1VUUFVULmRlYnVnIDI+JjEgJgorZG9uZQorCit3YWl0CisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJtb3VudC9sb29wLW92ZXJsYXkgYi90ZXN0cy90cy9saWJtb3VudC9sb29wLW92ZXJsYXkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTdlYjMyMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYm1vdW50L2xvb3Atb3ZlcmxheQpAQCAtMCwwICsxLDY0IEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAxNiBTdGFuaXNsYXYgQnJhYmVjIDxzYnJhYmVjQHN1c2UuY3o+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJsb29wIG92ZXJsYXkiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTE9TRVRVUCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NT1VOVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9VTU9VTlQiCisKK3RzX3NraXBfbm9ucm9vdAordHNfY2hlY2tfbG9zZXR1cAordHNfY2hlY2tfcHJvZyAibWtmcy5leHQzIgordHNfY2hlY2tfcHJvZyAiZGQiCit0c19jaGVja19wcm9nICJzdGF0IgorCitJTUc9JCh0c19pbWFnZV9pbml0IDUpCisKK21rZnMuZXh0MiAtRiAiJElNRyIgJj4gL2Rldi9udWxsIHx8IHRzX2RpZSAiQ2Fubm90IG1ha2UgZXh0biBvbiAkSU1HIgorT0ZGU0VUPSQoc3RhdCAtYyAlcyAiJElNRyIpCisKK2RkIGlmPSIkSU1HIiBvZj0iJElNRyIgb2ZsYWc9YXBwZW5kIGJzPTVNaUIgY291bnQ9MSBjb252PW5vdHJ1bmMgJj4vZGV2L251bGwKKworWyAtZCAiJFRTX01PVU5UUE9JTlQtMSIgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVC0xCitbIC1kICIkVFNfTU9VTlRQT0lOVC0yIiBdIHx8IG1rZGlyIC1wICRUU19NT1VOVFBPSU5ULTIKKworZWNobyAic2Vjb25kIHNob3VsZCBmYWlsIiA+PiRUU19PVVRQVVQKKyRUU19DTURfTU9VTlQgLW9sb29wICIkSU1HIiAiJFRTX01PVU5UUE9JTlQtMSIgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX01PVU5UIC1vbG9vcCxvZmZzZXQ9JE9GRlNFVCAiJElNRyIgIiRUU19NT1VOVFBPSU5ULTIiIDI+JjEgfCBzZWQgJ3MvLio6Ly8nID4+JFRTX09VVFBVVAorCiskVFNfQ01EX1VNT1VOVCAiJFRTX01PVU5UUE9JTlQtMSIgPj4gJFRTX09VVFBVVCAyPiYxCisKK2VjaG8gInNob3VsZCBzdWNjZWVkIiA+PiRUU19PVVRQVVQKKyRUU19DTURfTU9VTlQgLW9sb29wLHNpemVsaW1pdD0kT0ZGU0VUICIkSU1HIiAiJFRTX01PVU5UUE9JTlQtMSIgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX01PVU5UIC1vbG9vcCxvZmZzZXQ9JE9GRlNFVCAiJElNRyIgIiRUU19NT1VOVFBPSU5ULTIiID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9VTU9VTlQgIiRUU19NT1VOVFBPSU5ULTEiID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9VTU9VTlQgIiRUU19NT1VOVFBPSU5ULTIiID4+ICRUU19PVVRQVVQgMj4mMQorCitlY2hvICJib3RoIHNob3VsZCBmYWlsIiA+PiRUU19PVVRQVVQKK0xPT1BERVY9JCgkVFNfQ01EX0xPU0VUVVAgLS1maW5kKQorJFRTX0NNRF9MT1NFVFVQIC0tb2Zmc2V0IDEgLS1zaXplbGltaXQgJE9GRlNFVCAkTE9PUERFViAiJElNRyIKKyRUU19DTURfTU9VTlQgLW9sb29wLHNpemVsaW1pdD0kT0ZGU0VUICIkSU1HIiAiJFRTX01PVU5UUE9JTlQtMSIgMj4mMSB8IHNlZCAncy8uKjovLycgPj4kVFNfT1VUUFVUCiskVFNfQ01EX01PVU5UIC1vbG9vcCxvZmZzZXQ9JE9GRlNFVCAiJElNRyIgIiRUU19NT1VOVFBPSU5ULTIiIDI+JjEgfCBzZWQgJ3MvLio6Ly8nID4+JFRTX09VVFBVVAorJFRTX0NNRF9MT1NFVFVQIC0tZGV0YWNoICRMT09QREVWCisKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJtb3VudC9vcHRzdHIgYi90ZXN0cy90cy9saWJtb3VudC9vcHRzdHIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWZiZjA2NAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYm1vdW50L29wdHN0cgpAQCAtMCwwICsxLDEyMyBAQAorIyEvYmluL2Jhc2gKKworIyBDb3B5cmlnaHQgKEMpIDIwMTAgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9Im9wdGlvbnMgc3RyaW5nIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKworVEVTVFBST0c9IiRUU19IRUxQRVJfTElCTU9VTlRfT1BUU1RSIgorCitbIC14ICRURVNUUFJPRyBdIHx8IHRzX3NraXAgInRlc3Qgbm90IGNvbXBpbGVkIgorCit0c19pbml0X3N1YnRlc3QgImFwcGVuZCIKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLWFwcGVuZCAiYWFhLGJiYj1CQkIsY29udGV4dD1cImZvbyxiYXIsZ29nb1wiLGNjYyIgImRkZCIgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImFwcGVuZC12YWx1ZSIKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLWFwcGVuZCAiYWFhLGJiYj1CQkIsY2NjIiAiZGRkIiAiREREIiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiYXBwZW5kLWVtcHR5LXZhbHVlIgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tYXBwZW5kICJhYWEsYmJiPUJCQixjY2MiICJkZGQiICIiICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJwcmVwZW5kIgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tcHJlcGVuZCAiYWFhLGJiYj1CQkIsY2NjIiAiZGRkIiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAicHJlcGVuZC12YWx1ZSIKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLXByZXBlbmQgImFhYSxiYmI9QkJCLGNjYyIgImRkZCIgIkRERCIgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInByZXBlbmQtZW1wdHktdmFsdWUiCit0c192YWxncmluZCAkVEVTVFBST0cgLS1wcmVwZW5kICJhYWEsYmJiPUJCQixjY2MiICJkZGQiICIiICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJzZXQtcmVtb3ZlIgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tc2V0ICJhYWEsYmJiPUJCQixjY2MiICJiYmIiICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJzZXQtc21hbGwiCit0c192YWxncmluZCAkVEVTVFBST0cgLS1zZXQgImFhYSxiYmI9QkJCLGNjYyIgImJiYiIgIlgiICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJzZXQtbGFyZ2UiCit0c192YWxncmluZCAkVEVTVFBST0cgLS1zZXQgImFhYSxiYmI9QkJCLGNjYyIgImJiYiIgIlhYWC1ZWVktWlpaIiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAic2V0LWVtcHR5IgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tc2V0ICJhYWEsYmJiPUJCQixjY2MiICJiYmIiICIiICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJzZXQtbmV3IgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tc2V0ICJhYWEsYmJiPUJCQixjY2MiICJhYWEiICJYWFgiICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJzZXQtbmV3LWVtcHR5IgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tc2V0ICJhYWEsYmJiPUJCQixjY2MiICJhYWEiICIiICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJzZXQtbmV3LWVuZCIKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLXNldCAiYWFhLGJiYj1CQkIsY2NjIiAiY2NjIiAiWFhYIiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAic2V0LW5ldy1lbmQtZW1wdHkiCit0c192YWxncmluZCAkVEVTVFBST0cgLS1zZXQgImFhYSxiYmI9QkJCLGNjYyIgImNjYyIgIiIgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImdldCIKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLWdldCAiYWFhLGJiYj1CQkIsY2NjIiAiYWFhIiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiZ2V0LXZhbHVlIgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tZ2V0ICJhYWEsYmJiPUJCQixjY2MiICJiYmIiICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJyZW1vdmUiCit0c192YWxncmluZCAkVEVTVFBST0cgLS1yZW1vdmUgImFhYSxiYmI9QkJCLGNjYyIgImFhYSIgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInJlbW92ZS1xdW90ZWQiCit0c192YWxncmluZCAkVEVTVFBST0cgLS1yZW1vdmUgImFhYSxjb250ZXh0PVwiZm9vLGJhcixnb2dvXCIsYmJiPUJCQixjY2MiICJjb250ZXh0IiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAicmVtb3ZlLXZhbHVlIgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tcmVtb3ZlICJhYWEsYmJiPUJCQixjY2MiICJiYmIiICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJyZW1vdmUtZW1wdHktdmFsdWUiCit0c192YWxncmluZCAkVEVTVFBST0cgLS1yZW1vdmUgImFhYSxiYmI9LGNjYyIgImJiYiIgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInNwbGl0IgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tc3BsaXQgImFhYSxiYmI9QkJCLGNjYyx4LWJhcix4LWZvbz1mb29kYXRhLHVzZXI9a3phayxub2V4ZWMsbm9zdWlkLGxvb3A9L2Rldi9sb29wMCIgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImZsYWdzIgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tZmxhZ3MgImFhYSxiYmI9QkJCLHgtZm9vLGNjYyx1c2VyPWt6YWssbm9kZXYsbm9leGVjLG5vc3VpZCxsb29wPS9kZXYvbG9vcDAiICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJhcHBseS1saW51eCIJIyBhZGQgbm9hdGltZSBhbmQgcmVtb3ZlIG5vZXhlYyBhbmQgbm9zdWlkCit0c192YWxncmluZCAkVEVTVFBST0cgLS1hcHBseSAtLWxpbnV4ICJ1c2VyPWt6YWssbm9leGVjLG5vc3VpZCIgMHg0MDAgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImFwcGx5LXVzZXIiCSMgYWRkIHVzZXIsbm9mYWlsIGFuZCByZW1vdmUgbG9vcAordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tYXBwbHkgLS11c2VyICJub2V4ZWMsbm9zdWlkLGxvb3A9L2Rldi9sb29vcDAiIDB4NDA4ICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJmaXgiCit0c192YWxncmluZCAkVEVTVFBST0cgLS1maXggInVpZD1yb290LGdpZD1yb290IiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiZGVkdXBsaWNhdGUiCit0c192YWxncmluZCAkVEVTVFBST0cgLS1kZWR1cCBiYmIsY2NjLEFBQSx4eHgsQUFBPWEsQUFBPWJiYixkZGQsQUFBPWNjYyxmZmY9ZWVlIEFBQSAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiZGVkdXBsaWNhdGUtZW1wdHkiCit0c192YWxncmluZCAkVEVTVFBST0cgLS1kZWR1cCBiYmIsY2NjLEFBQSx4eHgsQUFBPWEsQUFBPWJiYixkZGQsQUFBPSxmZmY9ZWVlIEFBQSAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJtb3VudC90YWJkaWZmIGIvdGVzdHMvdHMvbGlibW91bnQvdGFiZGlmZgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44MDc1M2VhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlibW91bnQvdGFiZGlmZgpAQCAtMCwwICsxLDMxIEBACisjIS9iaW4vYmFzaAorCisjIENvcHlyaWdodCAoQykgMjAxMSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0idGFibGUgZGlmZnMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCitURVNUUFJPRz0iJFRTX0hFTFBFUl9MSUJNT1VOVF9UQUJESUZGIgorCitbIC14ICRURVNUUFJPRyBdIHx8IHRzX3NraXAgInRlc3Qgbm90IGNvbXBpbGVkIgorCit0c19pbml0X3N1YnRlc3QgIm1vdW50IgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tZGlmZiAkVFNfU0VMRi9maWxlcy9tb3VudGluZm9fdSAkVFNfU0VMRi9maWxlcy9tb3VudGluZm8gJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInVtb3VudCIKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLWRpZmYgJFRTX1NFTEYvZmlsZXMvbW91bnRpbmZvICRUU19TRUxGL2ZpbGVzL21vdW50aW5mb191ICAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAicmVtb3VudCIKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLWRpZmYgJFRTX1NFTEYvZmlsZXMvbW91bnRpbmZvICRUU19TRUxGL2ZpbGVzL21vdW50aW5mb19yZSAgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgIm1vdmUiCit0c192YWxncmluZCAkVEVTVFBST0cgLS1kaWZmICRUU19TRUxGL2ZpbGVzL21vdW50aW5mbyAkVFNfU0VMRi9maWxlcy9tb3VudGluZm9fbXYgICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYm1vdW50L3RhYmZpbGVzIGIvdGVzdHMvdHMvbGlibW91bnQvdGFiZmlsZXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTYwYzAzOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYm1vdW50L3RhYmZpbGVzCkBAIC0wLDAgKzEsNzAgQEAKKyMhL2Jpbi9iYXNoCisKKyMgQ29weXJpZ2h0IChDKSAyMDEwIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJ0YWIgZmlsZXMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCitURVNUUFJPRz0iJFRTX0hFTFBFUl9MSUJNT1VOVF9UQUIiCisKK1sgLXggJFRFU1RQUk9HIF0gfHwgdHNfc2tpcCAidGVzdCBub3QgY29tcGlsZWQiCisKK3RzX2luaXRfc3VidGVzdCAicGFyc2UtZnN0YWIiCit0c192YWxncmluZCAkVEVTVFBST0cgLS1wYXJzZSAiJFRTX1NFTEYvZmlsZXMvZnN0YWIiICY+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAncy9mczogMHguKi9mczovZycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInBhcnNlLWZzdGFiLWZ1bGwiCit0c192YWxncmluZCAkVEVTVFBST0cgLS1wYXJzZSAiJFRTX1NFTEYvZmlsZXMvZnN0YWIuY29tbWVudCIgLS1jb21tZW50cyAmPiAkVFNfT1VUUFVUCitzZWQgLWkgLWUgJ3MvZnM6IDB4LiovZnM6L2cnICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJwYXJzZS1tdGFiIgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tcGFyc2UgIiRUU19TRUxGL2ZpbGVzL210YWIiICY+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAncy9mczogMHguKi9mczovZycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInBhcnNlLWZzdGFiLWJyb2tlbiIKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLXBhcnNlICIkVFNfU0VMRi9maWxlcy9mc3RhYi5icm9rZW4iICY+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAncy8uKmZzdGFiLmJyb2tlbjpbWzpkaWdpdDpdXSo6IHBhcnNlIGVycm9yLy9nOyBzL2ZzOiAweC4qL2ZzOi9nJyAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAicGFyc2UtbW91bnRpbmZvIgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tcGFyc2UgIiRUU19TRUxGL2ZpbGVzL21vdW50aW5mbyIgJj4gJFRTX09VVFBVVAorc2VkIC1pIC1lICdzL2ZzOiAweC4qL2ZzOi9nJyAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiY29weSIKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLWNvcHktZnMgIiRUU19TRUxGL2ZpbGVzL2ZzdGFiIiAmPiAkVFNfT1VUUFVUCitzZWQgLWkgLWUgJ3MvZnM6IDB4LiovZnM6L2cnICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJmaW5kLXNvdXJjZSIKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLWZpbmQtZm9yd2FyZCAiJFRTX1NFTEYvZmlsZXMvZnN0YWIiIHNvdXJjZSBVVUlEPWZlZjdjY2IzLTgyMWMtNGRlOC04OGRjLTcxNDcyYmU1OTQ2ZiAmPiAkVFNfT1VUUFVUCitzZWQgLWkgLWUgJ3MvZnM6IDB4LiovZnM6L2cnICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJmaW5kLXRhcmdldCIKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLWZpbmQtZm9yd2FyZCAiJFRTX1NFTEYvZmlsZXMvZnN0YWIiIHRhcmdldCAvaG9tZS9mb28gJj4gJFRTX09VVFBVVAorc2VkIC1pIC1lICdzL2ZzOiAweC4qL2ZzOi9nJyAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiZmluZC10YXJnZXQyIgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tZmluZC1mb3J3YXJkICIkVFNfU0VMRi9maWxlcy9mc3RhYiIgdGFyZ2V0IC9hbnkvZm9vICY+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAncy9mczogMHguKi9mczovZycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImZpbmQtdGFyZ2V0MyIKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLWZpbmQtZm9yd2FyZCAiJFRTX1NFTEYvZmlsZXMvZnN0YWIiIHRhcmdldCAvYW55L2Zvby8gJj4gJFRTX09VVFBVVAorc2VkIC1pIC1lICdzL2ZzOiAweC4qL2ZzOi9nJyAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiZmluZC1wYWlyIgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tZmluZC1wYWlyICIkVFNfU0VMRi9maWxlcy9tdGFiIiAvZGV2L21hcHBlci9remFrLWhvbWUgL2hvbWUva3phayAmPiAkVFNfT1VUUFVUCitzZWQgLWkgLWUgJ3MvZnM6IDB4LiovZnM6L2cnICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYm1vdW50L3RhYmZpbGVzLXB5IGIvdGVzdHMvdHMvbGlibW91bnQvdGFiZmlsZXMtcHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjE1NzQ2MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYm1vdW50L3RhYmZpbGVzLXB5CkBAIC0wLDAgKzEsNzUgQEAKKyMhL2Jpbi9iYXNoCisKKyMgQ29weXJpZ2h0IChDKSAyMDEwIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJ0YWIgZmlsZXMtcHkiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgordHNfaW5pdF9weSBsaWJtb3VudAorCitpZiBbIC1mICIkQVNBTl9TWU1CT0xJWkVSX1BBVEgiIF07IHRoZW4KKwlUU19LTk9XTl9GQUlMPSJ5ZXMiCitmaQorCitQWURCRz0iJFBZVEhPTiAtbSBwZGIiCitURVNUUFJPRz0iJFRTX0hFTFBFUl9QWUxJQk1PVU5UX1RBQiIKK1sgLXggJFRFU1RQUk9HIF0gfHwgdHNfZGllICJ0ZXN0IHNjcmlwdCBtaXNzaW5nIgorCit0c19pbml0X3N1YnRlc3QgInBhcnNlLWZzdGFiIgorJFBZVEhPTiAkVEVTVFBST0cgLS1wYXJzZSAiJFRTX1NFTEYvZmlsZXMvZnN0YWIiICY+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAncy9mczogMHguKi9mczovZycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInBhcnNlLWZzdGFiLWZ1bGwiCiskUFlUSE9OICRURVNUUFJPRyAtLXBhcnNlICIkVFNfU0VMRi9maWxlcy9mc3RhYi5jb21tZW50IiAtLWNvbW1lbnRzICY+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAncy9mczogMHguKi9mczovZycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInBhcnNlLW10YWIiCiskUFlUSE9OICRURVNUUFJPRyAtLXBhcnNlICIkVFNfU0VMRi9maWxlcy9tdGFiIiAmPiAkVFNfT1VUUFVUCitzZWQgLWkgLWUgJ3MvZnM6IDB4LiovZnM6L2cnICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJwYXJzZS1mc3RhYi1icm9rZW4iCiskUFlUSE9OICRURVNUUFJPRyAtLXBhcnNlICIkVFNfU0VMRi9maWxlcy9mc3RhYi5icm9rZW4iICY+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAncy8uKmZzdGFiLmJyb2tlbjpbWzpkaWdpdDpdXSo6IHBhcnNlIGVycm9yLy9nOyBzL2ZzOiAweC4qL2ZzOi9nJyAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAicGFyc2UtbW91bnRpbmZvIgorJFBZVEhPTiAkVEVTVFBST0cgLS1wYXJzZSAiJFRTX1NFTEYvZmlsZXMvbW91bnRpbmZvIiAmPiAkVFNfT1VUUFVUCitzZWQgLWkgLWUgJ3MvZnM6IDB4LiovZnM6L2cnICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJjb3B5IgorJFBZVEhPTiAkVEVTVFBST0cgLS1jb3B5LWZzICIkVFNfU0VMRi9maWxlcy9mc3RhYiIgJj4gJFRTX09VVFBVVAorc2VkIC1pIC1lICdzL2ZzOiAweC4qL2ZzOi9nJyAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiZmluZC1zb3VyY2UiCiskUFlUSE9OICRURVNUUFJPRyAtLWZpbmQtZm9yd2FyZCAiJFRTX1NFTEYvZmlsZXMvZnN0YWIiIHNvdXJjZSBVVUlEPWZlZjdjY2IzLTgyMWMtNGRlOC04OGRjLTcxNDcyYmU1OTQ2ZiAmPiAkVFNfT1VUUFVUCitzZWQgLWkgLWUgJ3MvZnM6IDB4LiovZnM6L2cnICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJmaW5kLXRhcmdldCIKKyRQWVRIT04gJFRFU1RQUk9HIC0tZmluZC1mb3J3YXJkICIkVFNfU0VMRi9maWxlcy9mc3RhYiIgdGFyZ2V0IC9ob21lL2ZvbyAmPiAkVFNfT1VUUFVUCitzZWQgLWkgLWUgJ3MvZnM6IDB4LiovZnM6L2cnICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJmaW5kLXRhcmdldDIiCiskUFlUSE9OICRURVNUUFJPRyAtLWZpbmQtZm9yd2FyZCAiJFRTX1NFTEYvZmlsZXMvZnN0YWIiIHRhcmdldCAvYW55L2ZvbyAmPiAkVFNfT1VUUFVUCitzZWQgLWkgLWUgJ3MvZnM6IDB4LiovZnM6L2cnICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJmaW5kLXRhcmdldDMiCiskUFlUSE9OICRURVNUUFJPRyAtLWZpbmQtZm9yd2FyZCAiJFRTX1NFTEYvZmlsZXMvZnN0YWIiIHRhcmdldCAvYW55L2Zvby8gJj4gJFRTX09VVFBVVAorc2VkIC1pIC1lICdzL2ZzOiAweC4qL2ZzOi9nJyAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiZmluZC1wYWlyIgorJFBZVEhPTiAkVEVTVFBST0cgLS1maW5kLXBhaXIgIiRUU19TRUxGL2ZpbGVzL210YWIiIC9kZXYvbWFwcGVyL2t6YWstaG9tZSAvaG9tZS9remFrICY+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAncy9mczogMHguKi9mczovZycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbGlibW91bnQvdGFiZmlsZXMtdGFncyBiL3Rlc3RzL3RzL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjk4NmRiYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MKQEAgLTAsMCArMSw4NiBAQAorIyEvYmluL2Jhc2gKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0idGFncyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX3NraXBfbm9ucm9vdAorCitpZiBbIC1mICIkQVNBTl9TWU1CT0xJWkVSX1BBVEgiIF07IHRoZW4KKwlUU19LTk9XTl9GQUlMPSJ5ZXMiCitmaQorCitURVNUUFJPRz0iJFRTX0hFTFBFUl9MSUJNT1VOVF9UQUIiCisKK1sgLXggJFRFU1RQUk9HIF0gfHwgdHNfc2tpcCAidGVzdCBub3QgY29tcGlsZWQiCit0c19jaGVja19wcm9nICJta2ZzLmV4dDMiCisKKyMgc2V0IGdsb2JhbCB2YXJpYWJsZSBUU19ERVZJQ0UKK3RzX3Njc2lfZGVidWdfaW5pdCBkZXZfc2l6ZV9tYj01MCBzZWN0b3Jfc2l6ZT01MTIKK0xBQkVMPSJ0ZXN0TGlibW91bnQiCitVVUlEPSJkZTFiYzZlOS0zNGFiLTQxNTEtYTFkNy05MDAwNDJlZWU4ZDkiCisKKyMKKyMgQ3JlYXRlIGZpbGVzeXN0ZW0KKyMKK21rZnMuZXh0MyAtRiAtTCAkTEFCRUwgJFRTX0RFVklDRSAtVSAkVVVJRCAmPiAvZGV2L251bGwgfHwgdHNfZGllICJDYW5ub3QgbWFrZSBleHQzIG9uICRUU19ERVZJQ0UiCit1ZGV2YWRtIHNldHRsZQorCit0c19kZXZpY2VfaGFzX3V1aWQgJFRTX0RFVklDRSB8fCB0c19kaWUgIkNhbm5vdCBmaW5kIFVVSUQgb24gJFRTX0RFVklDRSIKKworRlNUQUI9IiRUU19PVVRESVIvZnN0YWIiCisKKyMKKyMgTGFiZWwgaW4gZnN0YWIKKyMKK2VjaG8gIkxBQkVMPSRMQUJFTCAvbW50L21vdW50cG9pbnQgYXV0byBkZWZhdWx0cyIgPiAkRlNUQUIKKwordHNfaW5pdF9zdWJ0ZXN0ICJmc3RhYi1sYWJlbDJ1dWlkIgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tZmluZC1mb3J3YXJkICRGU1RBQiBzb3VyY2UgIlVVSUQ9JFVVSUQiICY+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAncy9mczogMHguKi9mczovZycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImZzdGFiLWxhYmVsMmRldiIKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLWZpbmQtZm9yd2FyZCAkRlNUQUIgc291cmNlICRUU19ERVZJQ0UgJj4gJFRTX09VVFBVVAorc2VkIC1pIC1lICdzL2ZzOiAweC4qL2ZzOi9nJyAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMKKyMgQWRkIG1vcmUgZW50aWVzIGZvciB0aGUgc2FtZSBkZXZpY2UKKyMKK2VjaG8gIlVVSUQ9JFVVSUQgIC9tbnQvbW91bnRwb2ludDIgYXV0byBkZWZhdWx0cyIgPj4gJEZTVEFCCisKK3RzX2luaXRfc3VidGVzdCAiZnN0YWItdXVpZCIKKyMgaGFzIHRvIHJldHVybiAvbW50L21vdW50cG9pbnQyCit0c192YWxncmluZCAkVEVTVFBST0cgLS1maW5kLWZvcndhcmQgJEZTVEFCIHNvdXJjZSAiVVVJRD0kVVVJRCIgJj4gJFRTX09VVFBVVAorc2VkIC1pIC1lICdzL2ZzOiAweC4qL2ZzOi9nJyAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiZnN0YWItbGFiZWwiCisjIGhhcyB0byByZXR1cm4gL21udC9tb3VudHBvaW50Cit0c192YWxncmluZCAkVEVTVFBST0cgLS1maW5kLWZvcndhcmQgJEZTVEFCIHNvdXJjZSAiTEFCRUw9JExBQkVMIiAmPiAkVFNfT1VUUFVUCitzZWQgLWkgLWUgJ3MvZnM6IDB4LiovZnM6L2cnICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgImZzdGFiLWRldjJsYWJlbCIKKyMgaGFzIHRvIHJldHVybiAvbW50L21vdW50cG9pbnQKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLWZpbmQtZm9yd2FyZCAkRlNUQUIgc291cmNlICRUU19ERVZJQ0UgJj4gJFRTX09VVFBVVAorc2VkIC1pIC1lICdzL2ZzOiAweC4qL2ZzOi9nJyAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMKKyMgQWRkIGRldm5hbWUKKyMKK2VjaG8gIiRUU19ERVZJQ0UgIC9tbnQvbW91bnRwb2ludDMgYXV0byBkZWZhdWx0cyIgPj4gJEZTVEFCCisKK3RzX2luaXRfc3VidGVzdCAiZnN0YWItZGV2IgorIyBoYXMgdG8gcmV0dXJuIC9tbnQvbW91bnRwb2ludDMKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLWZpbmQtZm9yd2FyZCAkRlNUQUIgc291cmNlICRUU19ERVZJQ0UgJj4gJFRTX09VVFBVVAorc2VkIC1pIC1lICdzL2ZzOiAweC4qL2ZzOi9nJyAkVFNfT1VUUFVUCitzZWQgLWkgLWUgJ3Mvc291cmNlOiAuKi8vZycgJFRTX09VVFBVVAkJIyBkZXZuYW1lIGlzIGdlbmVyYXRlZCwgcmVtb3ZlIGl0Cit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJtb3VudC90YWJmaWxlcy10YWdzLXB5IGIvdGVzdHMvdHMvbGlibW91bnQvdGFiZmlsZXMtdGFncy1weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMWFkNTk2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlibW91bnQvdGFiZmlsZXMtdGFncy1weQpAQCAtMCwwICsxLDkwIEBACisjIS9iaW4vYmFzaAorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJ0YWdzLXB5IgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfc2tpcF9ub25yb290CisKK3RzX2luaXRfcHkgbGlibW91bnQKKworaWYgWyAtZiAiJEFTQU5fU1lNQk9MSVpFUl9QQVRIIiBdOyB0aGVuCisJVFNfS05PV05fRkFJTD0ieWVzIgorZmkKKworVEVTVFBST0c9IiRUU19IRUxQRVJfUFlMSUJNT1VOVF9UQUIiCitbIC14ICRURVNUUFJPRyBdIHx8IHRzX2RpZSAidGVzdCBzY3JpcHQgbWlzc2luZyIKKwordHNfY2hlY2tfcHJvZyAibWtmcy5leHQzIgorCitQWURCRz0iJFBZVEhPTiAtbSBwZGIiCisKKyMgc2V0IGdsb2JhbCB2YXJpYWJsZSBUU19ERVZJQ0UKK3RzX3Njc2lfZGVidWdfaW5pdCBkZXZfc2l6ZV9tYj01MCBzZWN0b3Jfc2l6ZT01MTIKK0xBQkVMPSJ0ZXN0TGlibW91bnQiCitVVUlEPSJkZTFiYzZlOS0zNGFiLTQxNTEtYTFkNy05MDAwNDJlZWU4ZDkiCisKKyMKKyMgQ3JlYXRlIGZpbGVzeXN0ZW0KKyMKK21rZnMuZXh0MyAtRiAtTCAkTEFCRUwgJFRTX0RFVklDRSAtVSAkVVVJRCAmPiAvZGV2L251bGwgfHwgdHNfZGllICJDYW5ub3QgbWFrZSBleHQzIG9uICRUU19ERVZJQ0UiCit1ZGV2YWRtIHNldHRsZQorCit0c19kZXZpY2VfaGFzX3V1aWQgJFRTX0RFVklDRSB8fCB0c19kaWUgIkNhbm5vdCBmaW5kIFVVSUQgb24gJFRTX0RFVklDRSIKKworRlNUQUI9IiRUU19PVVRESVIvZnN0YWIiCisKKyMKKyMgTGFiZWwgaW4gZnN0YWIKKyMKK2VjaG8gIkxBQkVMPSRMQUJFTCAvbW50L21vdW50cG9pbnQgYXV0byBkZWZhdWx0cyIgPiAkRlNUQUIKKwordHNfaW5pdF9zdWJ0ZXN0ICJmc3RhYi1sYWJlbDJ1dWlkIgorJFBZVEhPTiAkVEVTVFBST0cgLS1maW5kLWZvcndhcmQgJEZTVEFCIHNvdXJjZSAiVVVJRD0kVVVJRCIgJj4gJFRTX09VVFBVVAorc2VkIC1pIC1lICdzL2ZzOiAweC4qL2ZzOi9nJyAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiZnN0YWItbGFiZWwyZGV2IgorJFBZVEhPTiAkVEVTVFBST0cgLS1maW5kLWZvcndhcmQgJEZTVEFCIHNvdXJjZSAkVFNfREVWSUNFICY+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAncy9mczogMHguKi9mczovZycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCisjCisjIEFkZCBtb3JlIGVudGllcyBmb3IgdGhlIHNhbWUgZGV2aWNlCisjCitlY2hvICJVVUlEPSRVVUlEICAvbW50L21vdW50cG9pbnQyIGF1dG8gZGVmYXVsdHMiID4+ICRGU1RBQgorCit0c19pbml0X3N1YnRlc3QgImZzdGFiLXV1aWQiCisjIGhhcyB0byByZXR1cm4gL21udC9tb3VudHBvaW50MgorJFBZVEhPTiAkVEVTVFBST0cgLS1maW5kLWZvcndhcmQgJEZTVEFCIHNvdXJjZSAiVVVJRD0kVVVJRCIgJj4gJFRTX09VVFBVVAorc2VkIC1pIC1lICdzL2ZzOiAweC4qL2ZzOi9nJyAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiZnN0YWItbGFiZWwiCisjIGhhcyB0byByZXR1cm4gL21udC9tb3VudHBvaW50CiskUFlUSE9OICRURVNUUFJPRyAtLWZpbmQtZm9yd2FyZCAkRlNUQUIgc291cmNlICJMQUJFTD0kTEFCRUwiICY+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAncy9mczogMHguKi9mczovZycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAiZnN0YWItZGV2MmxhYmVsIgorIyBoYXMgdG8gcmV0dXJuIC9tbnQvbW91bnRwb2ludAorJFBZVEhPTiAkVEVTVFBST0cgLS1maW5kLWZvcndhcmQgJEZTVEFCIHNvdXJjZSAkVFNfREVWSUNFICY+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAncy9mczogMHguKi9mczovZycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCisjCisjIEFkZCBkZXZuYW1lCisjCitlY2hvICIkVFNfREVWSUNFICAvbW50L21vdW50cG9pbnQzIGF1dG8gZGVmYXVsdHMiID4+ICRGU1RBQgorCit0c19pbml0X3N1YnRlc3QgImZzdGFiLWRldiIKKyMgaGFzIHRvIHJldHVybiAvbW50L21vdW50cG9pbnQzCiskUFlUSE9OICRURVNUUFJPRyAtLWZpbmQtZm9yd2FyZCAkRlNUQUIgc291cmNlICRUU19ERVZJQ0UgJj4gJFRTX09VVFBVVAorc2VkIC1pIC1lICdzL2ZzOiAweC4qL2ZzOi9nJyAkVFNfT1VUUFVUCitzZWQgLWkgLWUgJ3Mvc291cmNlOiAuKi8vZycgJFRTX09VVFBVVAkJIyBkZXZuYW1lIGlzIGdlbmVyYXRlZCwgcmVtb3ZlIGl0Cit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJtb3VudC91cGRhdGUgYi90ZXN0cy90cy9saWJtb3VudC91cGRhdGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWRiMTZkOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYm1vdW50L3VwZGF0ZQpAQCAtMCwwICsxLDExMiBAQAorIyEvYmluL2Jhc2gKKworIyBDb3B5cmlnaHQgKEMpIDIwMTAgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InRhYiB1cGRhdGUiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgordHNfc2tpcF9ub25yb290CisKK1RFU1RQUk9HPSIkVFNfSEVMUEVSX0xJQk1PVU5UX1VQREFURSIKKworWyAteCAkVEVTVFBST0cgXSB8fCB0c19za2lwICJ0ZXN0IG5vdCBjb21waWxlZCIKKworIyBJTVBPUlRBTlQgbm90ZXM6CisjCisjICAtIHRoZSAkVFNfT1VUUFVUIHZhcmlhYmxlIGlzIGJldHdlZW4gdHNfaW5pdF9zdWJ0ZXN0IGFuZCB0c19maW5hbGl6ZV9zdWJ0ZXN0CisjICAgIHJlZGVmaW5lZCB0byBzdWJ0ZXN0IHNwZWNpZmljIG5hbWVzcGFjZSAtLSBpdCBtZWFucyB0aGF0ICRUU19PVVRQVVQgaXMgYQorIyAgICBkaWZmZXJlbnQgZmlsZSB3aXRoaW4gYSBzdWJ0ZXN0LgorIworIyAgLSBhbGwgdGhpcyB0ZXN0IHVzZXMgZ2xvYmFsICRUU19PVVRQVVQue210YWIsbW91bnRpbmZvfQorCitleHBvcnQgTElCTU9VTlRfTVRBQj0kVFNfT1VUUFVULm10YWIKK3JtIC1mICRMSUJNT1VOVF9NVEFCCis+ICRMSUJNT1VOVF9NVEFCCisKKworIworIyBUcmFkaXRpb25hbCAvZXRjL210YWIKKyMKK2hhc19tdGFiPSQoIHRzX2hhc19tdGFiX3N1cHBvcnQgKQoraWYgWyAiJGhhc19tdGFiIiA9PSAieWVzIiBdOyB0aGVuCisJCisJdHNfaW5pdF9zdWJ0ZXN0ICJtdGFiLW1vdW50IgorCXRzX3ZhbGdyaW5kICRURVNUUFJPRyAtLWFkZCAvZGV2L3NkYTEgL21udC9mb28gZXh0MyAicncsYmJiLGNjYyxmZmY9RkZGLGRkZCxub2V4ZWMiCisJdHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tYWRkIC9kZXYvc2RiMSAvbW50L2JhciBleHQzICJnZz1HLGZmZmY9Zixybyxub2F0aW1lIgorCXRzX3ZhbGdyaW5kICRURVNUUFJPRyAtLWFkZCAvZGV2L3NkYTIgL21udC9iYXIgZXh0MyAicncsbm9hdGltZSIKKwl0c192YWxncmluZCAkVEVTVFBST0cgLS1hZGQgL2Rldi9zZGExIC9tbnQvZ29nbyBleHQzICJydyxub2F0aW1lLG5vc3VpZCIKKwl0c192YWxncmluZCAkVEVTVFBST0cgLS1hZGQgbm9uZSAvcHJvYyBwcm9jIGRlZmF1bHRzCisJY3AgJExJQk1PVU5UX01UQUIgJFRTX09VVFBVVAkjIHNhdmUgdGhlIG10YWIgYXNpZGUKKwl0c19maW5hbGl6ZV9zdWJ0ZXN0CQkjIGNoZWNrcyB0aGUgbXRhYgorCisJdHNfaW5pdF9zdWJ0ZXN0ICJtdGFiLW1vdmUiCisJdHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tbW92ZSAvbW50L2ZvbyAvbW50L25ld2ZvbworCXRzX3ZhbGdyaW5kICRURVNUUFJPRyAtLW1vdmUgL21udC9iYXIgL21udC9uZXdiYXIKKwljcCAkTElCTU9VTlRfTVRBQiAkVFNfT1VUUFVUCSMgc2F2ZSB0aGUgbXRhYiBhc2lkZQorCXRzX2ZpbmFsaXplX3N1YnRlc3QJCSMgY2hlY2tzIHRoZSBtdGFiCisKKwl0c19pbml0X3N1YnRlc3QgIm10YWItcmVtb3VudCIKKwl0c192YWxncmluZCAkVEVTVFBST0cgLS1yZW1vdW50IC9tbnQvbmV3Zm9vICJybyxub2F0aW1lIgorCXRzX3ZhbGdyaW5kICRURVNUUFJPRyAtLXJlbW91bnQgL21udC9iYXIgInJ3LGF0aW1lLG5vc3VpZCIKKwljcCAkTElCTU9VTlRfTVRBQiAkVFNfT1VUUFVUCSMgc2F2ZSB0aGUgbXRhYiBhc2lkZQorCXRzX2ZpbmFsaXplX3N1YnRlc3QJCSMgY2hlY2tzIHRoZSBtdGFiCisKKwl0c19pbml0X3N1YnRlc3QgIm10YWItdW1vdW50IgorCXRzX3ZhbGdyaW5kICRURVNUUFJPRyAtLXJlbW92ZSAvbW50L2JhcgorCXRzX3ZhbGdyaW5kICRURVNUUFJPRyAtLXJlbW92ZSAvbW50L2dvZ28KKwl0c192YWxncmluZCAkVEVTVFBST0cgLS1yZW1vdmUgL3Byb2MKKwljcCAkTElCTU9VTlRfTVRBQiAkVFNfT1VUUFVUCSMgc2F2ZSB0aGUgbXRhYiBhc2lkZQorCXRzX2ZpbmFsaXplX3N1YnRlc3QJCSMgY2hlY2tzIHRoZSBtdGFiCitmaQorCisjCisjIHV0YWIKKyMKK3JtIC1mICRMSUJNT1VOVF9NVEFCCitsbiAtcyAvcHJvYy9tb3VudHMgJExJQk1PVU5UX01UQUIKKworZXhwb3J0IExJQk1PVU5UX1VUQUI9JFRTX09VVFBVVC51dGFiCitybSAtZiAkTElCTU9VTlRfVVRBQgorPiAkTElCTU9VTlRfVVRBQgorCit0c19pbml0X3N1YnRlc3QgInV0YWItbW91bnQiCit0c192YWxncmluZCAkVEVTVFBST0cgLS1hZGQgL2Rldi9zZGExIC9tbnQvZm9vIGV4dDMgInJ3LGJiYixjY2MsZmZmPUZGRixkZGQsbm9leGVjIgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tYWRkIC9kZXYvc2RiMSAvbW50L2JhciBleHQzICJybyx1c2VyIgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tYWRkIC9kZXYvc2RhMiAvbW50L3h5eiBleHQzICJydyxsb29wPS9kZXYvbG9vcDAsdWhlbHBlcj1oYWwiCit0c192YWxncmluZCAkVEVTVFBST0cgLS1hZGQgbm9uZSAvcHJvYyBwcm9jICJydyx1c2VyIgorY3AgJExJQk1PVU5UX1VUQUIgJFRTX09VVFBVVAkjIHNhdmUgdGhlIG10YWIgYXNpZGUKK3RzX2ZpbmFsaXplX3N1YnRlc3QJCSMgY2hlY2tzIHRoZSBtdGFiCisKK3RzX2luaXRfc3VidGVzdCAidXRhYi1tb3ZlIgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tbW92ZSAvbW50L2JhciAvbW50L25ld2JhcgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tbW92ZSAvbW50L3h5eiAvbW50L25ld3h5egorY3AgJExJQk1PVU5UX1VUQUIgJFRTX09VVFBVVAkjIHNhdmUgdGhlIG10YWIgYXNpZGUKK3RzX2ZpbmFsaXplX3N1YnRlc3QJCSMgY2hlY2tzIHRoZSBtdGFiCisKK3RzX2luaXRfc3VidGVzdCAidXRhYi1yZW1vdW50IgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tcmVtb3VudCAvbW50L25ld2JhciAicm8sbm9hdGltZSIKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLXJlbW91bnQgL21udC9uZXd4eXogInJ3LHVzZXIiCitjcCAkTElCTU9VTlRfVVRBQiAkVFNfT1VUUFVUCSMgc2F2ZSB0aGUgbXRhYiBhc2lkZQordHNfZmluYWxpemVfc3VidGVzdAkJIyBjaGVja3MgdGhlIG10YWIKKwordHNfaW5pdF9zdWJ0ZXN0ICJ1dGFiLXVtb3VudCIKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLXJlbW92ZSAvbW50L25ld2JhcgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tcmVtb3ZlIC9wcm9jCitjcCAkTElCTU9VTlRfVVRBQiAkVFNfT1VUUFVUCSMgc2F2ZSB0aGUgbXRhYiBhc2lkZQordHNfZmluYWxpemVfc3VidGVzdAkJIyBjaGVja3MgdGhlIG10YWIKKworIworIyBmc3RhYiAtIHJlcGxhY2UKKyMKK2V4cG9ydCBMSUJNT1VOVF9GU1RBQj0kVFNfT1VUUFVULmZzdGFiCitybSAtZiAkTElCTU9VTlRfRlNUQUIKK2NwICIkVFNfU0VMRi9maWxlcy9mc3RhYi5jb21tZW50IiAkTElCTU9VTlRfRlNUQUIKKwordHNfaW5pdF9zdWJ0ZXN0ICJmc3RhYi1yZXBsYWNlIgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tcmVwbGFjZSAiTEFCRUw9Zm9vIiAiL21udC9mb28iCitjcCAkTElCTU9VTlRfRlNUQUIgJFRTX09VVFBVVAkjIHNhdmUgdGhlIGZzdGFiIGFzaWRlCit0c19maW5hbGl6ZV9zdWJ0ZXN0CQkjY2hlY2tzIHRoZSBmc3RhYgorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbGlibW91bnQvdXBkYXRlLXB5IGIvdGVzdHMvdHMvbGlibW91bnQvdXBkYXRlLXB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY2ZjE3NTQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJtb3VudC91cGRhdGUtcHkKQEAgLTAsMCArMSwzMiBAQAorIyEvYmluL2Jhc2gKKworIyBDb3B5cmlnaHQgKEMpIDIwMTAgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InRhYiB1cGRhdGUtcHkiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgordHNfaW5pdF9weSBsaWJtb3VudAordHNfc2tpcF9ub25yb290CisKK2lmIFsgLWYgIiRBU0FOX1NZTUJPTElaRVJfUEFUSCIgXTsgdGhlbgorCVRTX0tOT1dOX0ZBSUw9InllcyIKK2ZpCisKK1RFU1RQUk9HPSIkVFNfSEVMUEVSX1BZTElCTU9VTlRfVVBEQVRFIgorWyAteCAkVEVTVFBST0cgXSB8fCB0c19kaWUgInRlc3Qgc2NyaXB0IG1pc3NpbmciCisKKyMKKyMgZnN0YWIgLSByZXBsYWNlCisjCitleHBvcnQgTElCTU9VTlRfRlNUQUI9JFRTX09VVFBVVC5mc3RhYgorcm0gLWYgJExJQk1PVU5UX0ZTVEFCCitjcCAiJFRTX1NFTEYvZmlsZXMvZnN0YWIuY29tbWVudCIgJExJQk1PVU5UX0ZTVEFCCisKK3RzX2luaXRfc3VidGVzdCAiZnN0YWItcmVwbGFjZSIKKyRQWVRIT04gJFRFU1RQUk9HIC0tcmVwbGFjZSAiTEFCRUw9Zm9vIiAiL21udC9mb28iID4vZGV2L251bGwgMj4mMQorY3AgJExJQk1PVU5UX0ZTVEFCICRUU19PVVRQVVQJIyBzYXZlIHRoZSBmc3RhYiBhc2lkZQordHNfZmluYWxpemVfc3VidGVzdAkJI2NoZWNrcyB0aGUgZnN0YWIKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYm1vdW50L3V0aWxzIGIvdGVzdHMvdHMvbGlibW91bnQvdXRpbHMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2FjZTBlYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYm1vdW50L3V0aWxzCkBAIC0wLDAgKzEsNzYgQEAKKyMhL2Jpbi9iYXNoCisKKyMgQ29weXJpZ2h0IChDKSAyMDEwIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJ1dGlscyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK1RFU1RQUk9HPSIkVFNfSEVMUEVSX0xJQk1PVU5UX1VUSUxTIgorCitbIC14ICRURVNUUFJPRyBdIHx8IHRzX3NraXAgInRlc3Qgbm90IGNvbXBpbGVkIgorCit0c19pbml0X3N1YnRlc3QgIm1hdGNoLWZzdHlwZSIKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLW1hdGNoLWZzdHlwZSBleHQzICJleHQyLGV4dDMsY2lmcyIgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgIm1hdGNoLWZzdHlwZS1uZWciCit0c192YWxncmluZCAkVEVTVFBST0cgLS1tYXRjaC1mc3R5cGUgY2lmcyAiZXh0MixleHQzLG5vY2lmcyIgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgIm1hdGNoLWZzdHlwZS1uZWcyIgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tbWF0Y2gtZnN0eXBlIGNpZnMgIm5vZXh0MixleHQzLGNpZnMiICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJtYXRjaC1vcHRpb25zIgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tbWF0Y2gtb3B0aW9ucyAiYWFhLGJiYj1CQkIsY2NjLGRkZCIgImNjYyIgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgIm1hdGNoLW9wdGlvbnMtbGlzdCIKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLW1hdGNoLW9wdGlvbnMgImFhYSxiYmI9QkJCLGNjYyxkZGQiICJjY2MsYWFhLGRkZCIgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgIm1hdGNoLW9wdGlvbnMtbmVnIgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tbWF0Y2gtb3B0aW9ucyAiYWFhLGJiYj1CQkIsY2NjLGRkZCIgIm5veHh4IiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAibWF0Y2gtb3B0aW9ucy1uZWctbGlzdCIKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLW1hdGNoLW9wdGlvbnMgImFhYSxiYmI9QkJCLGNjYyxkZGQiICJkZGQsbm9hYWEiICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJtYXRjaC1vcHRpb25zLW5lZy1saXN0MiIKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLW1hdGNoLW9wdGlvbnMgImFhYSxiYmI9QkJCLGNjYyxkZGQiICJub3h4eCxjY2MsYWFhIiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAic3RhcnRzLXdpdGgiCit0c192YWxncmluZCAkVEVTVFBST0cgLS1zdGFydHMtd2l0aCAiQUFBYmJiQ0NDIiAiQUFBIiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiZW5kcy13aXRoIgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tZW5kcy13aXRoICJBQUFiYmJDQ0MiICJDQ0MiICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJtb3VudHBvaW50IgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0tbW91bnRwb2ludCAvcHJvYyAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAibW91bnRwb2ludC1zdWJkaXIiCit0c192YWxncmluZCAkVEVTVFBST0cgLS1tb3VudHBvaW50IC9wcm9jL3N5cy9rZXJuZWwgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgIm1vdW50cG9pbnQtcm9vdCIKK3RzX3ZhbGdyaW5kICRURVNUUFJPRyAtLW1vdW50cG9pbnQgLyAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAia2VybmVsLWNtZGxpbmUiCitleHBvcnQgTElCTU9VTlRfS0VSTkVMX0NNRExJTkU9IiRUU19TRUxGL2ZpbGVzL2tlcm5lbF9jbWRsaW5lIgordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0ta2VybmVsLWNtZGxpbmUgc2VsaW51eD0gPj4gJFRTX09VVFBVVCAyPiYxCit0c192YWxncmluZCAkVEVTVFBST0cgLS1rZXJuZWwtY21kbGluZSBzZWxpbnV4ID4+ICRUU19PVVRQVVQgMj4mMQordHNfdmFsZ3JpbmQgJFRFU1RQUk9HIC0ta2VybmVsLWNtZGxpbmUgcm8gPj4gJFRTX09VVFBVVCAyPiYxCit0c192YWxncmluZCAkVEVTVFBST0cgLS1rZXJuZWwtY21kbGluZSBybz0gPj4gJFRTX09VVFBVVCAyPiYxCit0c192YWxncmluZCAkVEVTVFBST0cgLS1rZXJuZWwtY21kbGluZSByb290PSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtaGlkZGVuIGIvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2NvbC1oaWRkZW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODMxODJhOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtaGlkZGVuCkBAIC0wLDAgKzEsMyBAQAorRk9PCiswCitoaWRkZW4KZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtaWQgYi90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvY29sLWlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxODhmNDIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvY29sLWlkCkBAIC0wLDAgKzEsMyBAQAorSUQKKzAKK3JpZ2h0CmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvY29sLW5hbWUgYi90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvY29sLW5hbWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGE5OGYyOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtbmFtZQpAQCAtMCwwICsxLDMgQEAKK05BTUUKKzAKK25vbmUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtbm9leHRyZW1lcyBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtbm9leHRyZW1lcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTVlZGNlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2NvbC1ub2V4dHJlbWVzCkBAIC0wLDAgKzEsMyBAQAorTk9FWFRSRU1FCiswCitub2V4dHJlbWVzCmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvY29sLW51bWJlciBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtbnVtYmVyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0YTcwZTQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvY29sLW51bWJlcgpAQCAtMCwwICsxLDMgQEAKK05VTQorMAorcmlnaHQKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtcGFyZW50IGIvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2NvbC1wYXJlbnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODZmZTA4YwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtcGFyZW50CkBAIC0wLDAgKzEsMyBAQAorUEFSRU5UCiswCityaWdodApkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2NvbC1zdHJpY3QgYi90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvY29sLXN0cmljdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MmJiOTZiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2NvbC1zdHJpY3QKQEAgLTAsMCArMSwzIEBACitTVFJJQ1QKKzIwCitzdHJpY3R3aWR0aCxyaWdodApkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2NvbC1zdHJpbmcgYi90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvY29sLXN0cmluZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZTI5MDRiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2NvbC1zdHJpbmcKQEAgLTAsMCArMSwzIEBACitTVFJJTkdTCiswCitub25lCmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvY29sLXRyZWUgYi90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvY29sLXRyZWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTA3Njg4MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtdHJlZQpAQCAtMCwwICsxLDMgQEAKK1RSRUUKKzAKK3RyZWUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtdHJ1bmMgYi90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvY29sLXRydW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4ODdiNDMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvY29sLXRydW5jCkBAIC0wLDAgKzEsMyBAQAorVFJVTkMKKzAKK3RydW5jCmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvY29sLXdyYXAgYi90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvY29sLXdyYXAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGM0Y2EzNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtd3JhcApAQCAtMCwwICsxLDMgQEAKK1dSQVAKKzAKK3dyYXAKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtd3JhcG5sIGIvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2NvbC13cmFwbmwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGExOGZkMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtd3JhcG5sCkBAIC0wLDAgKzEsMyBAQAorV1JBUE5MCiswCit3cmFwbmwKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9kYXRhLWlkIGIvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2RhdGEtaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjAwYzk2NQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9kYXRhLWlkCkBAIC0wLDAgKzEsMTAgQEAKKzEKKzIKKzMKKzQKKzUKKzYKKzcKKzgKKzkKKzEwCmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvZGF0YS1udW1iZXIgYi90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvZGF0YS1udW1iZXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTYyZDc1MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9kYXRhLW51bWJlcgpAQCAtMCwwICsxLDEwIEBACiswCisxMDAKKzIxCiszCis0MTEKKzUxMTEKKzY3ODk5MzMyMQorNzY2NjY2NgorODc2NQorOTg3NDU2CmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvZGF0YS1udW1iZXItdGlueSBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9kYXRhLW51bWJlci10aW55Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiMWFjYzEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvZGF0YS1udW1iZXItdGlueQpAQCAtMCwwICsxLDEwIEBACiswCisxCisyCiszCis0Cis1Cis2Cis3Cis4Cis5CmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvZGF0YS1wYXJlbnQgYi90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvZGF0YS1wYXJlbnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWE1MDcxNgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9kYXRhLXBhcmVudApAQCAtMCwwICsxLDEwIEBACiswCisxCisxCisxCisyCisyCiszCis3Cis4Cis3CmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvZGF0YS1zdHJpbmcgYi90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvZGF0YS1zdHJpbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGZmNmU5YwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9kYXRhLXN0cmluZwpAQCAtMCwwICsxLDEwIEBACithYWFhCitiYmIKK2NjY2NjCitkZGRkZGQKK2VlCitmZmZmCitnZ2dnZ2cKK2hoaAoraWlpaWlpCitqagpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2RhdGEtc3RyaW5nLWV4dHJlbWUgYi90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvZGF0YS1zdHJpbmctZXh0cmVtZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZmIzOTVkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2RhdGEtc3RyaW5nLWV4dHJlbWUKQEAgLTAsMCArMSwxMCBAQAorcXFxcXFxWAorZGRkZGRkZGRYCitmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWAorc3NzWAorZGRYCitqampqalgKK21tbW1tbW1YCitsbGxsbGxsbGxsWAoreXl5eXl5WAorcHBwcHBYCmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvZGF0YS1zdHJpbmctbG9uZyBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9kYXRhLXN0cmluZy1sb25nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiNTY4M2EKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvZGF0YS1zdHJpbmctbG9uZwpAQCAtMCwwICsxLDEwIEBACitxcXFxcXFxcXFxcXFxcXFxcVgKK2RkZGRkZGRkZGRkZGRYCitmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWAorc3Nzc3Nzc3Nzc1gKK2RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkWAorampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqalgKK21tbW1tbW1tbW1tbW1tbW1tbW1YCitsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsWAoreXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eVgKK3BwcHBwcHBwcFgKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9kYXRhLXN0cmluZy1ubCBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9kYXRhLXN0cmluZy1ubApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ODIyZTU3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2RhdGEtc3RyaW5nLW5sCkBAIC0wLDAgKzEsMTAgQEAKK2FhYQorYmJiYmIKK2NjY2NcbkNDQ0MKK2RkZGRkZGRkXG5EREREXG5ERAoraGVsbG9cbmJhYnkKK2FhYVxuYmJiXG5jY2NcbmRkZAorZWVlCitmZmZmZgorZ1xuaGhoaGgKK3BwcHBwcHBwcApkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbGlic21hcnRjb2xzL2Zyb21maWxlIGIvdGVzdHMvdHMvbGlic21hcnRjb2xzL2Zyb21maWxlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMxMWRkN2UKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJzbWFydGNvbHMvZnJvbWZpbGUKQEAgLTAsMCArMSwyNDAgQEAKKyMhL2Jpbi9iYXNoCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImZyb21maWxlIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKworVEVTVFBST0c9IiRUU19IRUxQRVJfTElCU01BUlRDT0xTX0ZST01GSUxFIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVEVTVFBST0ciCisKK3RzX2luaXRfc3VidGVzdCAidHJlZSIKKyRURVNUUFJPRyAtLW5saW5lcyAxMCBcCisJLS10cmVlLWlkLWNvbHVtbiAxIFwKKwktLXRyZWUtcGFyZW50LWNvbHVtbiAyIFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtdHJlZSBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLWlkIFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtcGFyZW50IFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtc3RyaW5nIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXN0cmluZyBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1pZCBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1wYXJlbnQgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtc3RyaW5nLWxvbmcgXAorCT4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInRyZWUtanNvbiIKKyRURVNUUFJPRyAtLW5saW5lcyAxMCAtLWpzb24gXAorCS0tdHJlZS1pZC1jb2x1bW4gMSBcCisJLS10cmVlLXBhcmVudC1jb2x1bW4gMiBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLXRyZWUgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1pZCBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLXBhcmVudCBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLXN0cmluZyBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1zdHJpbmcgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtaWQgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtcGFyZW50IFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXN0cmluZy1sb25nIFwKKwk+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJ0cmVlLW1pZGRsZSIKKyRURVNUUFJPRyAtLW5saW5lcyAxMCBcCisJLS10cmVlLWlkLWNvbHVtbiAwIFwKKwktLXRyZWUtcGFyZW50LWNvbHVtbiAxIFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtaWQgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1wYXJlbnQgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC10cmVlIFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtc3RyaW5nIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLWlkIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXBhcmVudCBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1zdHJpbmcgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtc3RyaW5nLWxvbmcgXAorCT4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInRyZWUtZW5kIgorJFRFU1RQUk9HIC0tbmxpbmVzIDEwIFwKKwktLXRyZWUtaWQtY29sdW1uIDAgXAorCS0tdHJlZS1wYXJlbnQtY29sdW1uIDEgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1pZCBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLXBhcmVudCBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLXN0cmluZyBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLXRyZWUgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtaWQgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtcGFyZW50IFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXN0cmluZy1sb25nIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXN0cmluZyBcCisJPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAidHJ1bmMiCiskVEVTVFBST0cgLS1ubGluZXMgMTAgLS13aWR0aCA0MCBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLW5hbWUgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1udW1iZXIgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC10cnVuYyBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1zdHJpbmcgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtbnVtYmVyIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXN0cmluZy1sb25nIFwKKwk+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJyaWdodCIKKyRURVNUUFJPRyAtLW5saW5lcyAxMCBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLW5hbWUgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1udW1iZXIgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1zdHJpbmcgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtc3RyaW5nIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLW51bWJlciBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1zdHJpbmctbG9uZyBcCisJPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAicmlnaHQtbWF4b3V0IgorJFRFU1RQUk9HIC0tbmxpbmVzIDEwIC0tbWF4b3V0IC0td2lkdGggODBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLW5hbWUgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1udW1iZXIgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtc3RyaW5nIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLW51bWJlciBcCisJPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAic3RyaWN0d2lkdGgiCiskVEVTVFBST0cgLS1ubGluZXMgMTAgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1uYW1lIFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtc3RyaWN0IFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtbnVtYmVyIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXN0cmluZyBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1udW1iZXItdGlueSBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1udW1iZXIgXAorCT4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgIm5vZXh0cmVtZXMiCiskVEVTVFBST0cgLS1ubGluZXMgMTAgLS13aWR0aCA0NSBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLW5hbWUgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1ub2V4dHJlbWVzIFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtbnVtYmVyIFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtbmFtZSBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLW51bWJlciBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1zdHJpbmcgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtc3RyaW5nLWV4dHJlbWUgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtbnVtYmVyIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXN0cmluZyBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1udW1iZXIgXAorCT4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImhpZGRlbiIKKyRURVNUUFJPRyAtLW5saW5lcyAxMCBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLW5hbWUgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1oaWRkZW4gXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1udW1iZXIgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtc3RyaW5nIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXN0cmluZy1sb25nIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLW51bWJlciBcCisJPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAid3JhcCIKKyRURVNUUFJPRyAtLW5saW5lcyAxMCAtLXdpZHRoIDQwIFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtbmFtZSBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLW51bWJlciBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLXdyYXAgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtc3RyaW5nIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLW51bWJlciBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1zdHJpbmctbG9uZyBcCisJPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAid3JhcC10cmVlIgorJFRFU1RQUk9HIC0tbmxpbmVzIDEwIC0td2lkdGggNDUgXAorCS0tdHJlZS1pZC1jb2x1bW4gMSBcCisJLS10cmVlLXBhcmVudC1jb2x1bW4gMiBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLXRyZWUgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1pZCBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLXBhcmVudCBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLXdyYXAgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtc3RyaW5nIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLWlkIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXBhcmVudCBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1zdHJpbmctbG9uZyBcCisJPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAid3JhcG5sIgorJFRFU1RQUk9HIC0tbmxpbmVzIDEwIFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtbmFtZSBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLW51bWJlciBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLXdyYXBubCBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1zdHJpbmcgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtbnVtYmVyIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXN0cmluZy1ubCBcCisJPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAid3JhcG5sLXRyZWUiCiskVEVTVFBST0cgLS1ubGluZXMgMTAgXAorCS0tdHJlZS1pZC1jb2x1bW4gMSBcCisJLS10cmVlLXBhcmVudC1jb2x1bW4gMiBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLXRyZWUgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1pZCBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLXBhcmVudCBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLXdyYXBubCBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1zdHJpbmcgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtaWQgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtcGFyZW50IFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXN0cmluZy1ubCBcCisJPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAicmF3IgorJFRFU1RQUk9HIC0tbmxpbmVzIDEwIC0tcmF3IFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtbmFtZSBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLW51bWJlciBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLXRydW5jIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXN0cmluZyBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1udW1iZXIgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtc3RyaW5nLWxvbmcgXAorCT4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImV4cG9ydCIKKyRURVNUUFJPRyAtLW5saW5lcyAxMCAtLWV4cG9ydCBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLW5hbWUgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1udW1iZXIgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC10cnVuYyBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1zdHJpbmcgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtbnVtYmVyIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXN0cmluZy1sb25nIFwKKwk+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJjb2x1bW4tc2VwYXJhdG9yIgorJFRFU1RQUk9HIC0tbmxpbmVzIDEwIC0tY29sc2VwIFx8IFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtbmFtZSBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLW51bWJlciBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLXRydW5jIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXN0cmluZyBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1udW1iZXIgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtc3RyaW5nLWxvbmcgXAorCT4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19sb2cgIi4uLmRvbmUuIgordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy90aXRsZSBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy90aXRsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hOWJhNmE0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlic21hcnRjb2xzL3RpdGxlCkBAIC0wLDAgKzEsMjggQEAKKyMhL2Jpbi9iYXNoCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InRpdGxlIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKworVEVTVFBST0c9IiRUU19IRUxQRVJfTElCU01BUlRDT0xTX1RJVExFIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVEVTVFBST0ciCisKKyRURVNUUFJPRyAtLXdpZHRoIDgwID4+ICRUU19PVVRQVVQgMj4mMQorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbG9nZ2VyL2Vycm9ycyBiL3Rlc3RzL3RzL2xvZ2dlci9lcnJvcnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzNjMTA1NwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xvZ2dlci9lcnJvcnMKQEAgLTAsMCArMSwxMTQgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE1IFNhbWkgS2Vyb2xhIDxrZXJvbGFzYUBpa2kuZmk+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImVycm9ycyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAorCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX0xPR0dFUiIKKworZXhwb3J0IFRaPSJHTVQiCitleHBvcnQgTE9HR0VSX1RFU1RfVElNRU9GREFZPSIxMjM0NTY3ODkwLjEyMzQ1NiIKK2V4cG9ydCBMT0dHRVJfVEVTVF9IT1NUTkFNRT0idGVzdC1ob3N0bmFtZSIKK2V4cG9ydCBMT0dHRVJfVEVTVF9HRVRQSUQ9Ijk4NzY1IgorCitERVZMT0c9IiQobWt0ZW1wICIvdG1wL3VsdGVzdC0kVFNfQ09NUE9ORU5ULSRUU19URVNUTkFNRS1YWFhYWFgiKSIgXAorCXx8IHRzX2RpZSAibWt0ZW1wIGZhaWxlZCIKK1NPQ0tJTj0iJHtUU19PVVRESVJ9LyR7VFNfVEVTVE5BTUV9X3NvY2tldGluIgordHNfaW5pdF9zb2NrZXRfdG9fZmlsZSAkREVWTE9HICRTT0NLSU4KK1NPQ0FUX1BJRD0iJCEiCisKK2Z1bmN0aW9uIGxvZ2dlcl9mdW4geworCSMgbG9nZ2VyIHdpdGhvdXQgLS1uby1hY3QgdG8gd3JpdGUgYWxsIGRhdGEgdG8gdGhlIHNvY2tldAorCWVjaG8gInNvY2tldCBkYXRhLCAke1RTX1NVQk5BTUV9OiIgfHNvY2F0IC11IC0gVU5JWC1DT05ORUNUOiRERVZMT0cKKwkkVFNfSEVMUEVSX0xPR0dFUiAtdSAkREVWTE9HIC0tc3RkZXJyICIkQCIgPj4gIiRUU19PVVRQVVQiIDI+JjEKKwllY2hvICJyZXQ6ICQ/IiA+PiAiJFRTX09VVFBVVCIKKwllY2hvIHxzb2NhdCAtdSAtIFVOSVgtQ09OTkVDVDokREVWTE9HCit9CisKK2Z1bmN0aW9uIGxvZ2dlcl9wcmludGYgeworCSMgbG9nZ2VyIHdpdGhvdXQgLS1uby1hY3QgdG8gd3JpdGUgYWxsIGRhdGEgdG8gdGhlIHNvY2tldAorCWxvY2FsIGZtdD0iJDEiCisJc2hpZnQKKwllY2hvICJzb2NrZXQgZGF0YSwgJHtUU19TVUJOQU1FfToiIHxzb2NhdCAtdSAtIFVOSVgtQ09OTkVDVDokREVWTE9HCisJcHJpbnRmICIkZm10IiB8ICRUU19IRUxQRVJfTE9HR0VSIC11ICRERVZMT0cgLS1zdGRlcnIgIiRAIiA+PiAiJFRTX09VVFBVVCIgMj4mMQorCWVjaG8gInJldDogJD8iID4+ICIkVFNfT1VUUFVUIgorCWVjaG8gfHNvY2F0IC11IC0gVU5JWC1DT05ORUNUOiRERVZMT0cKK30KKwordHNfaW5pdF9zdWJ0ZXN0ICJrZXJuX3ByaW9yaXR5IgorbG9nZ2VyX2Z1biAtdCAicHJpbyIgLXAga2Vybi5lbWVyZyAibWVzc2FnZSIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJrZXJuX3ByaW9yaXR5X251bWVyaWMiCitsb2dnZXJfZnVuIC10ICJwcmlvIiAtcCAwICJtZXNzYWdlIgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImludmFsaWRfcHJpbyIKK2xvZ2dlcl9mdW4gLXQgInByaW8iIC1wIDggIm1lc3NhZ2UiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMgc2hvdWxkIHRydW5jYXRlCit0c19pbml0X3N1YnRlc3QgInJmYzU0MjRfZXhjZWVkX3NpemUiCitsb2dnZXJfZnVuIC10ICJyZmM1NDI0X2V4Y2VlZF9zaXplIiAtLXJmYzU0MjQgLS1zaXplIDMgImFiY2QiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiaWRfd2l0aF9zcGFjZSIKK2xvZ2dlcl9mdW4gLXQgImlkX3dpdGhfc3BhY2UiIC0taWQ9IkEgQiIgIm1lc3NhZ2UiCitsb2dnZXJfZnVuIC10ICJyZmM1NDI0X2lkX3dpdGhfc3BhY2UiIC0tcmZjNTQyNCAtLWlkPSJBIEIiICJtZXNzYWdlIgorbG9nZ2VyX2Z1biAtdCAiaWRfd2l0aF9zcGFjZSIgLS1pZD0iMSAyMyIgIm1lc3NhZ2UiCitsb2dnZXJfZnVuIC10ICJpZF93aXRoX2xlYWRpbmcgc3BhY2UiIC0taWQ9IiAxMjMiICJtZXNzYWdlIgorbG9nZ2VyX2Z1biAtdCAiaWRfd2l0aF90cmFpbGluZyBzcGFjZSIgLS1pZD0iMTIzICIgIm1lc3NhZ2UiCisKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworIyBzaG91bGQgbm90IGZhaWwKK3RzX2luaXRfc3VidGVzdCAidGFnX3dpdGhfc3BhY2UiCitsb2dnZXJfZnVuIC10ICJBIEIiICJ0YWdfd2l0aF9zcGFjZSIKK2xvZ2dlcl9mdW4gLXQgIkEgQiIgLS1yZmM1NDI0ICJ0YWdfd2l0aF9zcGFjZV9yZmM1NDI0IgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInRjcCIKK2xvZ2dlcl9mdW4gLS10Y3AgLXQgInRjcCIgIm1lc3NhZ2UiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAibXVsdGktbGluZSIKK2xvZ2dlcl9wcmludGYgIkFBQVxuQkJCXG5DQ0NcbiIgLXQgIm11bHRpIgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInJmYzU0MjRfbXNnaWRfd2l0aF9zcGFjZSIKK2xvZ2dlcl9mdW4gLXQgInJmYzU0MjRfbXNnaWRfd2l0aF9zcGFjZSIgLS1yZmM1NDI0IC0tbXNnaWQ9IkEgQiIgIm1lc3NhZ2UiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiaW52YWxpZF9zb2NrZXQiCitsb2dnZXJfZnVuIC11IC9iYWQvYm95IC10ICJpbnZhbGlkX3NvY2tldCIgIm1lc3NhZ2UiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiY2hlY2tfc29ja2V0IgordHNfbG9nICJDaGVjayB3cml0dGVuIHNvY2tldCBkYXRhIG9mIGFsbCBzdWJ0ZXN0cy4iCitzbGVlcCAxCitraWxsICRTT0NBVF9QSUQKK3dhaXQgJFNPQ0FUX1BJRCAmPi9kZXYvbnVsbAorY2F0ICIkU09DS0lOIiA+PiAiJFRTX09VVFBVVCIgMj4mMQorcm0gLWYgIiRERVZMT0ciICIkU09DS0lOIgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbG9nZ2VyL2Zvcm1hdHMgYi90ZXN0cy90cy9sb2dnZXIvZm9ybWF0cwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lYTFhNWQwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbG9nZ2VyL2Zvcm1hdHMKQEAgLTAsMCArMSw4NSBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMTUgU2FtaSBLZXJvbGEgPGtlcm9sYXNhQGlraS5maT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iZm9ybWF0cyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAorCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX0xPR0dFUiIKKworZXhwb3J0IFRaPSJHTVQiCitleHBvcnQgTE9HR0VSX1RFU1RfVElNRU9GREFZPSIxMjM0NTY3ODkwLjEyMzQ1NiIKK2V4cG9ydCBMT0dHRVJfVEVTVF9IT1NUTkFNRT0idGVzdC1ob3N0bmFtZSIKK2V4cG9ydCBMT0dHRVJfVEVTVF9HRVRQSUQ9Ijk4NzY1IgorCitERVZMT0c9IiQobWt0ZW1wICIvdG1wL3VsdGVzdC0kVFNfQ09NUE9ORU5ULSRUU19URVNUTkFNRS1YWFhYWFgiKSIgXAorCXx8IHRzX2RpZSAibWt0ZW1wIGZhaWxlZCIKK1NPQ0tJTj0iJHtUU19PVVRESVJ9LyR7VFNfVEVTVE5BTUV9X3NvY2tldGluIgordHNfaW5pdF9zb2NrZXRfdG9fZmlsZSAkREVWTE9HICRTT0NLSU4KK1NPQ0FUX1BJRD0iJCEiCisKK2Z1bmN0aW9uIGxvZ2dlcl9mdW4geworCSRUU19IRUxQRVJfTE9HR0VSIC11ICRERVZMT0cgLXMgLS1uby1hY3QgIiRAIiA+PiAiJFRTX09VVFBVVCIgMj4mMQorCWVjaG8gInJldDogJD8iID4+ICIkVFNfT1VUUFVUIgorfQorCit0c19pbml0X3N1YnRlc3QgInJmYzMxNjQiCitsb2dnZXJfZnVuIC10ICJyZmMzMTY0IiAtLXJmYzMxNjQgIm1lc3NhZ2UiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAicmZjNTQyNF9zaW1wbGUiCitsb2dnZXJfZnVuIC10ICJyZmM1NDI0IiAtLXJmYzU0MjQgIm1lc3NhZ2UiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAicmZjNTQyNF9ub3RpbWUiCitsb2dnZXJfZnVuIC10ICJyZmM1NDI0IiAtLXJmYzU0MjQ9bm90aW1lICJtZXNzYWdlIgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInJmYzU0MjRfbm9ob3N0IgorbG9nZ2VyX2Z1biAtdCAicmZjNTQyNCIgLS1yZmM1NDI0PW5vaG9zdCAibWVzc2FnZSIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJyZmM1NDI0X21zZ2lkIgorbG9nZ2VyX2Z1biAtdCAicmZjNTQyNCIgLS1yZmM1NDI0IC0tbXNnaWQgIk1TR0lEIiAibWVzc2FnZSIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJvY3RldF9jb3VudGluZyIKK2xvZ2dlcl9mdW4gLXQgIm9jdGVuIiAtLW9jdGV0LWNvdW50ICJtZXNzYWdlIgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInByaW9yaXRpZXMiCitmb3IgZmFjaWxpdHkgaW4gYXV0aCBhdXRocHJpdiBjcm9uIGRhZW1vbiBmdHAgbHByIG1haWwgbmV3cyBzeXNsb2cgdXNlciB1dWNwIGxvY2FsezAuLjd9OyBkbworCWZvciBsZXZlbCBpbiBlbWVyZyBhbGVydCBjcml0IGVyciB3YXJuaW5nIG5vdGljZSBpbmZvIGRlYnVnOyBkbworCQlsb2dnZXJfZnVuIC10ICJwcmlvIiAtcCAiJGZhY2lsaXR5LiRsZXZlbCIgIiRmYWNpbGl0eS4kbGV2ZWwiCisJZG9uZQorZG9uZQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImNoZWNrX3NvY2tldCIKK3RzX2xvZyAiQ2hlY2sgd3JpdHRlbiBzb2NrZXQgZGF0YSBvZiBhbGwgc3VidGVzdHMuIgorc2xlZXAgMQora2lsbCAkU09DQVRfUElECit3YWl0ICRTT0NBVF9QSUQgJj4vZGV2L251bGwKK2NhdCAiJFNPQ0tJTiIgPj4gIiRUU19PVVRQVVQiIDI+JjEKK3JtIC1mICIkREVWTE9HIiAiJFNPQ0tJTiIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xvZ2dlci9qb3VybmFsZCBiL3Rlc3RzL3RzL2xvZ2dlci9qb3VybmFsZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMTA4MjRjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbG9nZ2VyL2pvdXJuYWxkCkBAIC0wLDAgKzEsMzUgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE1IFNhbWkgS2Vyb2xhIDxrZXJvbGFzYUBpa2kuZmk+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImpvdXJuYWxkIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCisKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfTE9HR0VSIgorCitpZiAhICRUU19IRUxQRVJfTE9HR0VSIC0taGVscCB8IGdyZXAgLXEgam91cm5hbGQ7IHRoZW4KKwl0c19za2lwICJ1bnN1cHBvcnRlZCIKK2ZpCisKK3ByaW50ZiAiJXNcbiVzXG4lc1xuIiBNRVNTQUdFX0lEPWI4Zjc0ZTE0YmM3MTRiZmM4MDQwYTUxMDZkYzkzNzZhIE1FU1NBR0U9ImEgYiBjIDEgMiAzIiB8CiskVFNfSEVMUEVSX0xPR0dFUiAtdSAvYmFkL2JveSAtLW5vLWFjdCAtLWpvdXJuYWxkIC0tc3RkZXJyID4gIiRUU19PVVRQVVQiIDI+JjEKK2VjaG8gInJldDogJD8iID4+ICIkVFNfT1VUUFVUIgordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xvZ2dlci9vcHRpb25zIGIvdGVzdHMvdHMvbG9nZ2VyL29wdGlvbnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmZlMTQzMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xvZ2dlci9vcHRpb25zCkBAIC0wLDAgKzEsODIgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE1IFNhbWkgS2Vyb2xhIDxrZXJvbGFzYUBpa2kuZmk+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9Im9wdGlvbnMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKKwordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0hFTFBFUl9MT0dHRVIiCisKKyMgQ3JlYXRlIC0tZmlsZSBvcHRpb24gaW5wdXQgZmlsZXMuCitlY2hvIHthLi5jfXsxLi41fQkgPiAkVFNfT1VURElSL2lucHV0X3NpbXBsZQorZWNobyB7YS4uY317MS4uNX0JID4gJFRTX09VVERJUi9pbnB1dF9lbXB0eV9saW5lCitlY2hvICIiCQkJPj4gJFRTX09VVERJUi9pbnB1dF9lbXB0eV9saW5lCitlY2hvIHs1Li4xfXtjLi4xfQk+PiAkVFNfT1VURElSL2lucHV0X2VtcHR5X2xpbmUKK2VjaG8gIjw2Nj4iIHByaW9fcHJlZml4CSA+ICRUU19PVVRESVIvaW5wdXRfcHJpb19wcmVmaXgKKworIyBiYXNoIDQgbWlnaHQgbm90IGJlIGF2YWlsYWJsZSwgdXNlIGdvLWFyb3VuZCBoYXNoCit0ZXN0c19hcnJheT0oCisJInNpbXBsZTp0ZXN0IgorCSJsb2dfcGlkOi1pIHRlc3QiCisJImxvZ19waWRfbG9uZzotLWlkIHRlc3QiCisJImxvZ19waWRfZGVmaW5lOi0taWQ9MTIzNDUgdGVzdCIKKwkibG9nX3BpZF9ub19hcmc6LWlzIHRlc3QiCisJImlucHV0X2ZpbGVfc2ltcGxlOi1mICRUU19PVVRESVIvaW5wdXRfc2ltcGxlIgorCSJpbnB1dF9maWxlX2VtcHR5X2xpbmU6LWYgJFRTX09VVERJUi9pbnB1dF9lbXB0eV9saW5lIgorCSJpbnB1dF9maWxlX3NraXBfZW1wdHk6LS1maWxlICRUU19PVVRESVIvaW5wdXRfZW1wdHlfbGluZSAtZSIKKwkiaW5wdXRfZmlsZV9wcmlvX3ByZWZpeDotLWZpbGUgJFRTX09VVERJUi9pbnB1dF9wcmlvX3ByZWZpeCAtLXNraXAtZW1wdHkgLS1wcmlvLXByZWZpeCIKKykKKworZXhwb3J0IFRaPSJHTVQiCitleHBvcnQgTE9HR0VSX1RFU1RfVElNRU9GREFZPSIxMjM0NTY3ODkwLjEyMzQ1NiIKK2V4cG9ydCBMT0dHRVJfVEVTVF9IT1NUTkFNRT0idGVzdC1ob3N0bmFtZSIKK2V4cG9ydCBMT0dHRVJfVEVTVF9HRVRQSUQ9Ijk4NzY1IgorCitERVZMT0c9IiQobWt0ZW1wICIvdG1wL3VsdGVzdC0kVFNfQ09NUE9ORU5ULSRUU19URVNUTkFNRS1YWFhYWFgiKSIgXAorCXx8IHRzX2RpZSAibWt0ZW1wIGZhaWxlZCIKK1NPQ0tJTj0iJHtUU19PVVRESVJ9LyR7VFNfVEVTVE5BTUV9X3NvY2tldGluIgordHNfaW5pdF9zb2NrZXRfdG9fZmlsZSAkREVWTE9HICRTT0NLSU4KK1NPQ0FUX1BJRD0iJCEiCisKK2Z1bmN0aW9uIGxvZ2dlcl9mdW4geworCSRUU19IRUxQRVJfTE9HR0VSIC11ICRERVZMT0cgLS1zdGRlcnIgLS1uby1hY3QgIiRAIiA+PiAiJFRTX09VVFBVVCIgMj4mMQorCWVjaG8gInJldDogJD8iID4+ICIkVFNfT1VUUFVUIgorfQorCitmb3IgaSBpbiAiJHt0ZXN0c19hcnJheVtAXX0iOyBkbworCW5hbWU9IiR7aSUlOip9IgorCW9wdGlvbnM9IiR7aSMjKjp9IgorCisJdHNfaW5pdF9zdWJ0ZXN0ICIkbmFtZSIKKwlsb2dnZXJfZnVuIC10ICJ0ZXN0X3RhZyIgJG9wdGlvbnMKKwl0c19maW5hbGl6ZV9zdWJ0ZXN0Citkb25lCisKK3RzX2luaXRfc3VidGVzdCAiY2hlY2tfc29ja2V0IgordHNfbG9nICJDaGVjayB3cml0dGVuIHNvY2tldCBkYXRhIG9mIGFsbCBzdWJ0ZXN0cy4iCitzbGVlcCAxCitraWxsICRTT0NBVF9QSUQKK3dhaXQgJFNPQ0FUX1BJRCAmPi9kZXYvbnVsbAorY2F0ICIkU09DS0lOIiA+PiAiJFRTX09VVFBVVCIgMj4mMQorcm0gLWYgIiRERVZMT0ciICIkU09DS0lOIgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbG9naW4vaXNsb2NhbCBiL3Rlc3RzL3RzL2xvZ2luL2lzbG9jYWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmIzNzI3MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xvZ2luL2lzbG9jYWwKQEAgLTAsMCArMSwyOSBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDggSmFtZXMgWW91bmdtYW4gPGpheUBnbnUub3JnPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iaXNsb2NhbCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0hFTFBFUl9JU0xPQ0FMIgorCiskVFNfSEVMUEVSX0lTTE9DQUwgIiRUU19TRUxGL2lzbG9jYWwuZGF0YSIgcm9vdCBub2JvZHkgIiIgeW91bmdtYW4geW91bmdtYW4yIFwKKyAgICBhYmNkZWZnaHggbm9ibyBsb25nIHJvdCBhbCBtYWxmb3JtZWQgXAorICAgIG5vbmwgem5vYm9keSA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbG9naW4vaXNsb2NhbC5kYXRhIGIvdGVzdHMvdHMvbG9naW4vaXNsb2NhbC5kYXRhCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxNmE4YTkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9sb2dpbi9pc2xvY2FsLmRhdGEKQEAgLTAsMCArMSwxMCBAQAorcm9vdDp4OjA6MDpyb290Oi9yb290Oi9iaW4vYmFzaAorc3lzOng6MzozOnN5czovZGV2Oi9iaW4vc2gKK29yYWM6eDozMzozMzpzeXM6L2RldjovYmluL3lvdW5nbWFuCitsb25nOng6NDo0OmZvbzovaG9tZS9sb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29ubm5nZ2c6L2Jpbi9zaAorYWw6eDo1OjU6Zm5vcmQ6L2RldjovYmluL3NoCithYmNkZWZnaDp4OjY6Mzpmbm9yZDovZGV2Oi9iaW4vc2gKK21hbGZvcm1lZAorCitub2JvZHk6eDo2NTUzNDo2NTUzNDpub2JvZHk6L25vbmV4aXN0ZW50Oi9iaW4vc2gKK25vbmw6eDo2NTUzMjo2NTUzMjpubyBuZXdsaW5lOi86L2Jpbi9mYWxzZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbG9naW4vbG9naW5kZWZzIGIvdGVzdHMvdHMvbG9naW4vbG9naW5kZWZzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJkYjNmODkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9sb2dpbi9sb2dpbmRlZnMKQEAgLTAsMCArMSwyNiBAQAorIyEvYmluL2Jhc2gKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDExIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iZGVmcyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0hFTFBFUl9MT0dJTkRFRlMiCisKKyMgbGlzdCBhbGwgaXRlbXMKKyRUU19IRUxQRVJfTE9HSU5ERUZTICIkVFNfU0VMRi9sb2dpbmRlZnMuZGF0YSIgfCBzZWQgJ3M6JyRUU19TRUxGJy86OmcnID4+ICRUU19PVVRQVVQKKworIyBzZWFyY2gKKyRUU19IRUxQRVJfTE9HSU5ERUZTICIkVFNfU0VMRi9sb2dpbmRlZnMuZGF0YSIgc3RyIFNUUklORyA+PiAkVFNfT1VUUFVUCiskVFNfSEVMUEVSX0xPR0lOREVGUyAiJFRTX1NFTEYvbG9naW5kZWZzLmRhdGEiIG51bSBOVU1CRVIgPj4gJFRTX09VVFBVVAorJFRTX0hFTFBFUl9MT0dJTkRFRlMgIiRUU19TRUxGL2xvZ2luZGVmcy5kYXRhIiBib29sIEJPT0xFQU4gPj4gJFRTX09VVFBVVAorJFRTX0hFTFBFUl9MT0dJTkRFRlMgIiRUU19TRUxGL2xvZ2luZGVmcy5kYXRhIiBzdHIgRU1QVFkgPj4gJFRTX09VVFBVVAorCiskVFNfSEVMUEVSX0xPR0lOREVGUyAiJFRTX1NFTEYvbG9naW5kZWZzLmRhdGEiIHN0ciBVTktOT1dOID4+ICRUU19PVVRQVVQKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xvZ2luL2xvZ2luZGVmcy5kYXRhIGIvdGVzdHMvdHMvbG9naW4vbG9naW5kZWZzLmRhdGEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjg5OWZmNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xvZ2luL2xvZ2luZGVmcy5kYXRhCkBAIC0wLDAgKzEsMTYgQEAKKyMKKyMgdGhpcyBpcyAvZXRjL2xvZ2luLmRlZnMgc2FtcGxlCisjCisKK0hFTExPX1dPUkxECSJoZWxsbyB3b3JsZCEiCitTVFJJTkcJCXRoaXNfaXNfc3RyaW5nCQkjIGFub3RoZXIgY29tbWVudAorTlVNQkVSCQkxMjM0NTYKK0JPT0xFQU4JCXlFcworCitDUkFaWTEgPSAidGhpcyBpcyBjcmF6eSBmb3JtYXQiCitDUkFaWTI9Zm9vQmFyCitDUkFaWTMgICAgRm9vb0JhYWFyCisKK0VNUFRZCisKK0VORAkidGhlIGlzIGVuZCIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xvb2svc2VwYXJhdG9yIGIvdGVzdHMvdHMvbG9vay9zZXBhcmF0b3IKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzYwMjhlMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xvb2svc2VwYXJhdG9yCkBAIC0wLDAgKzEsNDEgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCisjCisjIFdBUk5JTkc6IHRoZSBsb29rIGNvbW1hbmQgZXhwZWN0cyB0aGF0IHRoZSAvdXNyL3NoYXJlL2RpY3Qvd29yZHMgdXNlcworIyAgICAgICAgICBkaXJlY3Rvcnkgb3JkZXIhCisjCisjIGZvciBleGFtcGxlOgorIworIwljYXQgd29yZHMucmF3IHwgZWdyZXAgLS1pbnZlcnQtbWF0Y2ggIidzJCIgfCBcCisjCQllZ3JlcCAgIl5bWzphbG51bTpdJyYhLC4vLV0rJCIgfCBcCisjCQlzb3J0IC0taWdub3JlLWNhc2UgLS1kaWN0aW9uYXJ5LW9yZGVyIHwgXAorIwkJdW5pcSA+ICB3b3JkcworIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJzZXBhcmF0b3IiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTE9PSyIKKworJFRTX0NNRF9MT09LIGFwcGxlLXBpZSAkVFNfVE9QRElSL3RzL2xvb2svd29yZHMgPj4gJFRTX09VVFBVVAordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbG9vay93b3JkcyBiL3Rlc3RzL3RzL2xvb2svd29yZHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjY3YmE5YQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xvb2svd29yZHMKQEAgLTAsMCArMSwzIEBACithcHBsZQorYXBwbGUtcGllCitvcmFuZ2VzCmRpZmYgLS1naXQgYS90ZXN0cy90cy9sb3NldHVwL2xvc2V0dXAgYi90ZXN0cy90cy9sb3NldHVwL2xvc2V0dXAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWZlYzBkZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xvc2V0dXAvbG9zZXR1cApAQCAtMCwwICsxLDg2IEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAxMyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ibG9zZXR1cCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9MT1NFVFVQIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0xTQkxLIgorCisjIEJlZm9yZSBjaGVja2luZyBmb3IgbG9vcCBzdXBwb3J0IHdlIHdvdWxkIG5lZWQgdG8gdGVzdCBpZiBsb3NldHVwIC1mIHdvcmtzIGF0CisjIGFsbC4gQXQgbGVhc3Qgd2UgZG8gYSBzaW1wbGUgZXhlY3V0YWJsZSB0ZXN0IGZvciBub3cuCiskVFNfQ01EX0xPU0VUVVAgLS12ZXJzaW9uID4vZGV2L251bGwgMj4kVFNfT1VUUFVUIHx8IHRzX2ZhaWxlZAorJFRTX0NNRF9MT1NFVFVQIC0tdW5rbm93bm9wdCA+PiRUU19PVVRQVVQgMj4vZGV2L251bGwgJiYgdHNfZmFpbGVkCit0ZXN0IC1zICRUU19PVVRQVVQgJiYgdHNfZmFpbGVkCisKK3RzX3NraXBfbm9ucm9vdAordHNfY2hlY2tfbG9zZXR1cAorCisuICIkVFNfU0VMRi9sb3NldHVwX2Z1bmN0aW9ucy5zaCIKKworIworIyBmaWxlLSogdGVzdHM6IEJhY2tpbmcgZmlsZSBpcyBhIHJlZ3VsYXIgZmlsZQorIworQkFDS0ZJTEU9JCh0c19pbWFnZV9pbml0IDEwKQorCit0c19pbml0X3N1YnRlc3QgImZpbGUtc2hvdyIKK0xPREVWPSQoICRUU19DTURfTE9TRVRVUCAtLWZpbmQgLS1zaG93ICRCQUNLRklMRSApCitpZiBbIC16ICIkTE9ERVYiIF07IHRoZW4KKwl0c19sb2cgIkZhaWxlZCB0byBjcmVhdGUgbG9vcCBkZXZpY2UiCitmaQorbG9fcHJpbnQgJExPREVWID4+ICRUU19PVVRQVVQKKyRUU19DTURfTE9TRVRVUCAtZCAkTE9ERVYKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJmaWxlLW9mZnNldCIKK0xPREVWPSQoICRUU19DTURfTE9TRVRVUCAtLW9mZnNldCAxTWlCIC0tZmluZCAtLXNob3cgJEJBQ0tGSUxFICkKK2lmIFsgLXogIiRMT0RFViIgXTsgdGhlbgorCXRzX2xvZyAiRmFpbGVkIHRvIGNyZWF0ZSBsb29wIGRldmljZSIKK2ZpCitsb19wcmludCAkTE9ERVYgPj4gJFRTX09VVFBVVAorJFRTX0NNRF9MT1NFVFVQIC1kICRMT0RFVgordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAiZmlsZS1zaXplbGltaXQiCitMT0RFVj0kKCAkVFNfQ01EX0xPU0VUVVAgLS1zaXplbGltaXQgM01pQiAtLWZpbmQgLS1zaG93ICRCQUNLRklMRSApCitpZiBbIC16ICIkTE9ERVYiIF07IHRoZW4KKwl0c19sb2cgIkZhaWxlZCB0byBjcmVhdGUgbG9vcCBkZXZpY2UiCitmaQorbG9fcHJpbnQgJExPREVWID4+ICRUU19PVVRQVVQKKyRUU19DTURfTE9TRVRVUCAtZCAkTE9ERVYKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgImZpbGUtc2VjdGlvbiIKK0xPREVWPSQoICRUU19DTURfTE9TRVRVUCAtLW9mZnNldCAxTWlCIC0tc2l6ZWxpbWl0IDNNaUIgLS1maW5kIC0tc2hvdyAkQkFDS0ZJTEUgKQoraWYgWyAteiAiJExPREVWIiBdOyB0aGVuCisJdHNfbG9nICJGYWlsZWQgdG8gY3JlYXRlIGxvb3AgZGV2aWNlIgorZmkKK2xvX3ByaW50ICRMT0RFViA+PiAkVFNfT1VUUFVUCiskVFNfQ01EX0xPU0VUVVAgLWQgJExPREVWCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3JtIC1yZiAkQkFDS0ZJTEUKKwordWRldmFkbSBzZXR0bGUKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xvc2V0dXAvbG9zZXR1cC1ibGtkZXYgYi90ZXN0cy90cy9sb3NldHVwL2xvc2V0dXAtYmxrZGV2Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU0NjkzYmUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9sb3NldHVwL2xvc2V0dXAtYmxrZGV2CkBAIC0wLDAgKzEsODEgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJsb3NldHVwLWJsa2RldiIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9MT1NFVFVQIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0xTQkxLIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX2xvc2V0dXAKKworLiAiJFRTX1NFTEYvbG9zZXR1cF9mdW5jdGlvbnMuc2giCisKKyMKKyMgQmFja2luZyBmaWxlIGlzIGEgYmxvY2sgZGV2aWNlCisjCit0c19zY3NpX2RlYnVnX2luaXQgZGV2X3NpemVfbWI9MTEKK0JBQ0tGSUxFPSIkVFNfREVWSUNFIgorCit0c19pbml0X3N1YnRlc3QgInNob3ciCitMT0RFVj0kKCAkVFNfQ01EX0xPU0VUVVAgLS1maW5kIC0tc2hvdyAkQkFDS0ZJTEUgKQoraWYgWyAteiAiJExPREVWIiBdOyB0aGVuCisJdHNfbG9nICJGYWlsZWQgdG8gY3JlYXRlIGxvb3AgZGV2aWNlIgorZmkKK2xvX3ByaW50ICRMT0RFViA+PiAkVFNfT1VUUFVUCit1ZGV2YWRtIHNldHRsZQorJFRTX0NNRF9MT1NFVFVQIC1kICRMT0RFVgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgIm9mZnNldCIKK0xPREVWPSQoICRUU19DTURfTE9TRVRVUCAtLW9mZnNldCAxTWlCIC0tZmluZCAtLXNob3cgJEJBQ0tGSUxFICkKK2lmIFsgLXogIiRMT0RFViIgXTsgdGhlbgorCXRzX2xvZyAiRmFpbGVkIHRvIGNyZWF0ZSBsb29wIGRldmljZSIKK2ZpCitsb19wcmludCAkTE9ERVYgPj4gJFRTX09VVFBVVAordWRldmFkbSBzZXR0bGUKKyRUU19DTURfTE9TRVRVUCAtZCAkTE9ERVYKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgInNpemVsaW1pdCIKK0xPREVWPSQoICRUU19DTURfTE9TRVRVUCAtLXNpemVsaW1pdCAzTWlCIC0tZmluZCAtLXNob3cgJEJBQ0tGSUxFICkKK2lmIFsgLXogIiRMT0RFViIgXTsgdGhlbgorCXRzX2xvZyAiRmFpbGVkIHRvIGNyZWF0ZSBsb29wIGRldmljZSIKK2ZpCitsb19wcmludCAkTE9ERVYgPj4gJFRTX09VVFBVVAordWRldmFkbSBzZXR0bGUKKyRUU19DTURfTE9TRVRVUCAtZCAkTE9ERVYKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgInNlY3Rpb24iCitMT0RFVj0kKCAkVFNfQ01EX0xPU0VUVVAgLS1vZmZzZXQgMU1pQiAtLXNpemVsaW1pdCAzTWlCIC0tZmluZCAtLXNob3cgJEJBQ0tGSUxFICkKK2lmIFsgLXogIiRMT0RFViIgXTsgdGhlbgorCXRzX2xvZyAiRmFpbGVkIHRvIGNyZWF0ZSBsb29wIGRldmljZSIKK2ZpCitsb19wcmludCAkTE9ERVYgPj4gJFRTX09VVFBVVAordWRldmFkbSBzZXR0bGUKKyRUU19DTURfTE9TRVRVUCAtZCAkTE9ERVYKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xvc2V0dXAvbG9zZXR1cC1sb29wIGIvdGVzdHMvdHMvbG9zZXR1cC9sb3NldHVwLWxvb3AKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTNjY2M2NQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xvc2V0dXAvbG9zZXR1cC1sb29wCkBAIC0wLDAgKzEsMjM3IEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAxNiBTdGFuaXNsYXYgQnJhYmVjIDxzYnJhYmVjQHN1c2UuY3o+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9Imxvc2V0dXAtbG9vcCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9MT1NFVFVQIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0xTQkxLIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX2xvc2V0dXAKKworLiAiJFRTX1NFTEYvbG9zZXR1cF9mdW5jdGlvbnMuc2giCisKKyMKKyMgQmFja2luZyBmaWxlIGlzIGEgYmxvY2sgZGV2aWNlCisjCit0c19zY3NpX2RlYnVnX2luaXQgZGV2X3NpemVfbWI9MTEKK0JBQ0tGSUxFPSIkVFNfREVWSUNFIgorCisjIEFsbCB0ZXN0cyBhcmUgc2VwYXJhdGVkIGJ5IHNsZWVwIDMsIGJlY2F1c2UgbG9vcCBkZXZpY2UgZXhpc3RzIHNvbWUgdGltZSBhZnRlcgorIyAibG9zZXR1cCAtZCIuIFRoaXMgZGV2aWNlIGNvbmZ1c2VzIHNvbWUgdGVzdHMuIEFuZCBmaW5kLXJhY2UtY29uZGl0aW9uLCB0ZXN0cywKKyMgd2hldGhlciByZS11c2Ugb2YgdGhpcyBkZXZpY2Ugd29ya3MuCisKK3RzX2luaXRfc3VidGVzdCAiZmluZC1yYWNlLWNvbmRpdGlvbiIKK0xPREVWPSQoICRUU19DTURfTE9TRVRVUCAtLWZpbmQgLS1ub292ZXJsYXAgLS1zaG93ICRCQUNLRklMRSApCiskVFNfQ01EX0xPU0VUVVAgLWQgIiRMT0RFViIKKyMgVGhlIGxvb3AgZGV2aWNlIG1heSBvciBtYXkgbm90IGV4aXN0IGhlcmUgYmVjYXVzZSBubyAidWRldmFkbSBzZXR0bGUiLgorTE9ERVY9JCggJFRTX0NNRF9MT1NFVFVQIC0tZmluZCAtLW5vb3ZlcmxhcCAtLXNob3cgJEJBQ0tGSUxFICkKK3VkZXZhZG0gc2V0dGxlCitkZCBpZj0vZGV2L3plcm8gb2Y9IiRMT0RFViIgY291bnQ9MSBicz0xID4vZGV2L251bGwgMj4mMQorJFRTX0NNRF9MT1NFVFVQIC0tbGlzdCB8IGdyZXAgLXEgIiRMT0RFViIKK3RzX2xvZyAkPwordWRldmFkbSBzZXR0bGUKKyRUU19DTURfTE9TRVRVUCAtZCAiJExPREVWIiA+L2Rldi9udWxsIDI+JjEKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordWRldmFkbSBzZXR0bGUKKwordHNfaW5pdF9zdWJ0ZXN0ICJmaW5kLXJlLXVzZSIKK0xPREVWPSQoICRUU19DTURfTE9TRVRVUCAtLWZpbmQgLS1ub292ZXJsYXAgLS1zaG93ICRCQUNLRklMRSApCitpZiBbIC16ICIkTE9ERVYiIF07IHRoZW4KKwl0c19sb2cgIkZhaWxlZCB0byBjcmVhdGUgbG9vcCBkZXZpY2UiCitmaQorTE9ERVZSPSQoICRUU19DTURfTE9TRVRVUCAtLWZpbmQgLS1ub292ZXJsYXAgLS1zaG93ICRCQUNLRklMRSApCitpZiBbIC16ICIkTE9ERVZSIiBdOyB0aGVuCisJdHNfbG9nICJGYWlsZWQgdG8gY3JlYXRlIGxvb3AgZGV2aWNlIgorZmkKK3VkZXZhZG0gc2V0dGxlCitpZiB0ZXN0ICIkTE9ERVYiID0gIiRMT0RFVlIiIDsgdGhlbgorCWVjaG8gImVxdWFsIiA+PiRUU19PVVRQVVQKK2Vsc2UKKwllY2hvICJkaWZmZXJlbnQiID4+JFRTX09VVFBVVAorCWlmIHRlc3QgLW4gIiRMT0RFVlIiIDsgdGhlbgorCQkkVFNfQ01EX0xPU0VUVVAgLWQgIiRMT0RFVlIiCisJZmkKK2ZpCiskVFNfQ01EX0xPU0VUVVAgLWQgIiRMT0RFViIKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordWRldmFkbSBzZXR0bGUKKwordHNfaW5pdF9zdWJ0ZXN0ICJmaW5kLW5vLXJlLXVzZSIKK0xPREVWPSQoICRUU19DTURfTE9TRVRVUCAtLWZpbmQgLS1ub292ZXJsYXAgLS1zaG93IC0tb2Zmc2V0PTAgLS1zaXplbGltaXQ9MU1pQiAkQkFDS0ZJTEUgKQoraWYgWyAteiAiJExPREVWIiBdOyB0aGVuCisJdHNfbG9nICJGYWlsZWQgdG8gY3JlYXRlIGxvb3AgZGV2aWNlIgorZmkKK0xPREVWUj0kKCAkVFNfQ01EX0xPU0VUVVAgLS1maW5kIC0tbm9vdmVybGFwIC0tc2hvdyAtLW9mZnNldD0xTWlCIC0tc2l6ZWxpbWl0PTFNaUIgJEJBQ0tGSUxFICkKK2lmIFsgLXogIiRMT0RFVlIiIF07IHRoZW4KKwl0c19sb2cgIkZhaWxlZCB0byBjcmVhdGUgbG9vcCBkZXZpY2UiCitmaQordWRldmFkbSBzZXR0bGUKK2lmIHRlc3QgIiRMT0RFViIgPSAiJExPREVWUiIgOyB0aGVuCisJZWNobyAiZXF1YWwiID4+JFRTX09VVFBVVAorZWxzZQorCWVjaG8gImRpZmZlcmVudCIgPj4kVFNfT1VUUFVUCisJaWYgdGVzdCAtbiAiJExPREVWUiIgOyB0aGVuCisJCSRUU19DTURfTE9TRVRVUCAtZCAiJExPREVWUiIKKwlmaQorZmkKKyRUU19DTURfTE9TRVRVUCAtZCAiJExPREVWIgordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemVfc3VidGVzdAorCit1ZGV2YWRtIHNldHRsZQorCit0c19pbml0X3N1YnRlc3QgImZpbmQtY29uZmxpY3QiCitMT0RFVj0kKCAkVFNfQ01EX0xPU0VUVVAgLS1maW5kIC0tbm9vdmVybGFwIC0tc2hvdyAtLW9mZnNldD0xTWlCIC0tc2l6ZWxpbWl0PTJNaUIgJEJBQ0tGSUxFICkKK2lmIFsgLXogIiRMT0RFViIgXTsgdGhlbgorCXRzX2xvZyAiRmFpbGVkIHRvIGNyZWF0ZSBsb29wIGRldmljZSIKK2ZpCitMT0RFVlI9JCggJFRTX0NNRF9MT1NFVFVQIC0tZmluZCAtLW5vb3ZlcmxhcCAtLXNob3cgLS1vZmZzZXQ9Mk1pQiAtLXNpemVsaW1pdD0yTWlCICRCQUNLRklMRSA+L2Rldi9udWxsIDI+JjEgKQoraWYgWyAteiAiJExPREVWUiIgXTsgdGhlbgorCXRzX2xvZyAiRmFpbGVkIHRvIGNyZWF0ZSBsb29wIGRldmljZSIKK2ZpCit1ZGV2YWRtIHNldHRsZQoraWYgdGVzdCAiJExPREVWIiA9ICIkTE9ERVZSIiA7IHRoZW4KKwllY2hvICJlcXVhbCIgPj4kVFNfT1VUUFVUCitlbHNlCisJZWNobyAiZGlmZmVyZW50IiA+PiRUU19PVVRQVVQKKwlpZiB0ZXN0IC1uICIkTE9ERVZSIiA7IHRoZW4KKwkJJFRTX0NNRF9MT1NFVFVQIC1kICIkTE9ERVZSIgorCWZpCitmaQorJFRTX0NNRF9MT1NFVFVQIC1kICIkTE9ERVYiCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3VkZXZhZG0gc2V0dGxlCisKK3RzX2luaXRfc3VidGVzdCAiZmluZC1jb25mbGljdC1uby1zaXplbGltaXQiCitMT0RFVj0kKCAkVFNfQ01EX0xPU0VUVVAgLS1maW5kIC0tbm9vdmVybGFwIC0tc2hvdyAtLW9mZnNldD0xTWlCICRCQUNLRklMRSApCitpZiBbIC16ICIkTE9ERVYiIF07IHRoZW4KKwl0c19sb2cgIkZhaWxlZCB0byBjcmVhdGUgbG9vcCBkZXZpY2UiCitmaQorTE9ERVZSPSQoICRUU19DTURfTE9TRVRVUCAtLWZpbmQgLS1ub292ZXJsYXAgLS1zaG93IC0tb2Zmc2V0PTJNaUIgLS1zaXplbGltaXQ9Mk1pQiAkQkFDS0ZJTEUgPi9kZXYvbnVsbCAyPiYxICkKK2lmIFsgLXogIiRMT0RFVlIiIF07IHRoZW4KKwl0c19sb2cgIkZhaWxlZCB0byBjcmVhdGUgbG9vcCBkZXZpY2UiCitmaQordWRldmFkbSBzZXR0bGUKK2lmIHRlc3QgIiRMT0RFViIgPSAiJExPREVWUiIgOyB0aGVuCisJZWNobyAiZXF1YWwiID4+JFRTX09VVFBVVAorZWxzZQorCWVjaG8gImRpZmZlcmVudCIgPj4kVFNfT1VUUFVUCisJaWYgdGVzdCAtbiAiJExPREVWUiIgOyB0aGVuCisJCSRUU19DTURfTE9TRVRVUCAtZCAiJExPREVWUiIKKwlmaQorZmkKKyRUU19DTURfTE9TRVRVUCAtZCAiJExPREVWIgordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemVfc3VidGVzdAorCit1ZGV2YWRtIHNldHRsZQorCit0c19pbml0X3N1YnRlc3QgImZpbmQtY29uZmxpY3QtcmVhZG9ubHkiCitMT0RFVj0kKCAkVFNfQ01EX0xPU0VUVVAgLS1maW5kIC0tbm9vdmVybGFwIC0tc2hvdyAtLXJlYWQtb25seSAkQkFDS0ZJTEUgKQoraWYgWyAteiAiJExPREVWIiBdOyB0aGVuCisJdHNfbG9nICJGYWlsZWQgdG8gY3JlYXRlIGxvb3AgZGV2aWNlIgorZmkKK0xPREVWUj0kKCAkVFNfQ01EX0xPU0VUVVAgLS1maW5kIC0tbm9vdmVybGFwIC0tc2hvdyAtLW9mZnNldD0yTWlCIC0tc2l6ZWxpbWl0PTJNaUIgJEJBQ0tGSUxFID4vZGV2L251bGwgMj4mMSApCitpZiBbIC16ICIkTE9ERVZSIiBdOyB0aGVuCisJdHNfbG9nICJGYWlsZWQgdG8gY3JlYXRlIGxvb3AgZGV2aWNlIgorZmkKK3VkZXZhZG0gc2V0dGxlCitpZiB0ZXN0ICIkTE9ERVYiID0gIiRMT0RFVlIiIDsgdGhlbgorCWVjaG8gImVxdWFsIiA+PiRUU19PVVRQVVQKK2Vsc2UKKwllY2hvICJkaWZmZXJlbnQiID4+JFRTX09VVFBVVAorCWlmIHRlc3QgLW4gIiRMT0RFVlIiIDsgdGhlbgorCQkkVFNfQ01EX0xPU0VUVVAgLWQgIiRMT0RFVlIiCisJZmkKK2ZpCiskVFNfQ01EX0xPU0VUVVAgLWQgIiRMT0RFViIKKyRUU19DTURfTE9TRVRVUCAtZCAiJExPREVWUiIgPi9kZXYvbnVsbCAyPiYxCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3VkZXZhZG0gc2V0dGxlCisKK3RzX2luaXRfc3VidGVzdCAiZmluZC1vay1uby1zaXplbGltaXQiCitMT0RFVj0kKCAkVFNfQ01EX0xPU0VUVVAgLS1maW5kIC0tbm9vdmVybGFwIC0tc2hvdyAtLW9mZnNldD0xTWlCIC0tc2l6ZWxpbWl0PTFNaUIgJEJBQ0tGSUxFICkKK2lmIFsgLXogIiRMT0RFViIgXTsgdGhlbgorCXRzX2xvZyAiRmFpbGVkIHRvIGNyZWF0ZSBsb29wIGRldmljZSIKK2ZpCitMT0RFVlI9JCggJFRTX0NNRF9MT1NFVFVQIC0tZmluZCAtLW5vb3ZlcmxhcCAtLXNob3cgLS1vZmZzZXQ9Mk1pQiAkQkFDS0ZJTEUgKQoraWYgWyAteiAiJExPREVWUiIgXTsgdGhlbgorCXRzX2xvZyAiRmFpbGVkIHRvIGNyZWF0ZSBsb29wIGRldmljZSIKK2ZpCit1ZGV2YWRtIHNldHRsZQoraWYgdGVzdCAiJExPREVWIiA9ICIkTE9ERVZSIiA7IHRoZW4KKwllY2hvICJlcXVhbCIgPj4kVFNfT1VUUFVUCitlbHNlCisJZWNobyAiZGlmZmVyZW50IiA+PiRUU19PVVRQVVQKKwlpZiB0ZXN0IC1uICIkTE9ERVZSIiA7IHRoZW4KKwkJJFRTX0NNRF9MT1NFVFVQIC1kICIkTE9ERVZSIgorCWZpCitmaQorJFRTX0NNRF9MT1NFVFVQIC1kICIkTE9ERVYiCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3VkZXZhZG0gc2V0dGxlCisKK3RzX2luaXRfc3VidGVzdCAicGxhaW4tY29uZmxpY3QiCitMT0RFVj0kKCAkVFNfQ01EX0xPU0VUVVAgLS1maW5kIC0tbm9vdmVybGFwIC0tc2hvdyAkQkFDS0ZJTEUgKQoraWYgWyAteiAiJExPREVWIiBdOyB0aGVuCisJdHNfbG9nICJGYWlsZWQgdG8gY3JlYXRlIGxvb3AgZGV2aWNlIgorZmkKK0xPREVWUj0kKCAkVFNfQ01EX0xPU0VUVVAgLS1maW5kICkKKyRUU19DTURfTE9TRVRVUCAtLW5vb3ZlcmxhcCAiJExPREVWUiIgJEJBQ0tGSUxFID4vZGV2L251bGwgMj4mMQordHNfbG9nICQ/Cit1ZGV2YWRtIHNldHRsZQorJFRTX0NNRF9MT1NFVFVQIC1kICIkTE9ERVYiCiskVFNfQ01EX0xPU0VUVVAgLWQgIiRMT0RFVlIiID4vZGV2L251bGwgMj4mMQordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemVfc3VidGVzdAorCit1ZGV2YWRtIHNldHRsZQorCit0c19pbml0X3N1YnRlc3QgInBsYWluLXJlYWRvbmx5IgorTE9ERVY9JCggJFRTX0NNRF9MT1NFVFVQIC0tZmluZCAtLW5vb3ZlcmxhcCAtLXNob3cgLS1yZWFkLW9ubHkgJEJBQ0tGSUxFICkKK2lmIFsgLXogIiRMT0RFViIgXTsgdGhlbgorCXRzX2xvZyAiRmFpbGVkIHRvIGNyZWF0ZSBsb29wIGRldmljZSIKK2ZpCitMT0RFVlI9JCggJFRTX0NNRF9MT1NFVFVQIC0tZmluZCApCiskVFNfQ01EX0xPU0VUVVAgLS1ub292ZXJsYXAgIiRMT0RFVlIiICRCQUNLRklMRSA+L2Rldi9udWxsIDI+JjEKK3RzX2xvZyAkPwordWRldmFkbSBzZXR0bGUKKyRUU19DTURfTE9TRVRVUCAtZCAiJExPREVWIgorJFRTX0NNRF9MT1NFVFVQIC1kICIkTE9ERVZSIiA+L2Rldi9udWxsIDI+JjEKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordWRldmFkbSBzZXR0bGUKKwordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xvc2V0dXAvbG9zZXR1cF9mdW5jdGlvbnMuc2ggYi90ZXN0cy90cy9sb3NldHVwL2xvc2V0dXBfZnVuY3Rpb25zLnNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxN2M4MmEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9sb3NldHVwL2xvc2V0dXBfZnVuY3Rpb25zLnNoCkBAIC0wLDAgKzEsNyBAQAorCitmdW5jdGlvbiBsb19wcmludCB7CisJbG9jYWwgbG89JDEKKwllY2hvICJvZmZzZXQ6ICAgICQoICRUU19DTURfTE9TRVRVUCAtLWxpc3QgLS1yYXcgLW4gLU8gT0ZGU0VUICRsbyApIgorCWVjaG8gInNpemVsaW1pdDogJCggJFRTX0NNRF9MT1NFVFVQIC0tbGlzdCAtLXJhdyAtbiAtTyBTSVpFTElNSVQgJGxvICkiCisJZWNobyAic2l6ZTogICAgICAkKCAkVFNfQ01EX0xTQkxLIC1vIFNJWkUgLWIgLW4gLXIgJGxvICkiCit9CmRpZmYgLS1naXQgYS90ZXN0cy90cy9sc2NwdS9kdW1wcy9hcm12Ny50YXIuZ3ogYi90ZXN0cy90cy9sc2NwdS9kdW1wcy9hcm12Ny50YXIuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjdhMmM2NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL2FybXY3LnRhci5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9sc2NwdS9kdW1wcy9wcGMtcWVtdS50YXIuZ3ogYi90ZXN0cy90cy9sc2NwdS9kdW1wcy9wcGMtcWVtdS50YXIuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTQyODI3MQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL3BwYy1xZW11LnRhci5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9sc2NwdS9kdW1wcy9wcGM2NC1QT1dFUjctNjRjcHUudGFyLmd6IGIvdGVzdHMvdHMvbHNjcHUvZHVtcHMvcHBjNjQtUE9XRVI3LTY0Y3B1LnRhci5negpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYThiNzlhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbHNjcHUvZHVtcHMvcHBjNjQtUE9XRVI3LTY0Y3B1LnRhci5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9sc2NwdS9kdW1wcy9wcGM2NC1QT1dFUjcudGFyLmd6IGIvdGVzdHMvdHMvbHNjcHUvZHVtcHMvcHBjNjQtUE9XRVI3LnRhci5negpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOGZjYzIzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbHNjcHUvZHVtcHMvcHBjNjQtUE9XRVI3LnRhci5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9sc2NwdS9kdW1wcy9zMzkwLWt2bS50YXIuZ3ogYi90ZXN0cy90cy9sc2NwdS9kdW1wcy9zMzkwLWt2bS50YXIuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzQwZjdlYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL3MzOTAta3ZtLnRhci5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9sc2NwdS9kdW1wcy9zMzkwLWxwYXItZHJhd2VyLnRhci5neiBiL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL3MzOTAtbHBhci1kcmF3ZXIudGFyLmd6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhMWJjOTYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9sc2NwdS9kdW1wcy9zMzkwLWxwYXItZHJhd2VyLnRhci5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9sc2NwdS9kdW1wcy9zMzkwLWxwYXIudGFyLmd6IGIvdGVzdHMvdHMvbHNjcHUvZHVtcHMvczM5MC1scGFyLnRhci5negpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OWFlYTZhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbHNjcHUvZHVtcHMvczM5MC1scGFyLnRhci5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9sc2NwdS9kdW1wcy9zMzkwLXp2bS50YXIuZ3ogYi90ZXN0cy90cy9sc2NwdS9kdW1wcy9zMzkwLXp2bS50YXIuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjEzNTk0ZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL3MzOTAtenZtLnRhci5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9sc2NwdS9kdW1wcy9zcGFyYzY0LnRhci5neiBiL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL3NwYXJjNjQudGFyLmd6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlZGZiYTgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9sc2NwdS9kdW1wcy9zcGFyYzY0LnRhci5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9sc2NwdS9kdW1wcy92Ym94LXdpbi50YXIuZ3ogYi90ZXN0cy90cy9sc2NwdS9kdW1wcy92Ym94LXdpbi50YXIuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTgyMDRmZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL3Zib3gtd2luLnRhci5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9sc2NwdS9kdW1wcy94ODZfNjQtNjRjcHUudGFyLmd6IGIvdGVzdHMvdHMvbHNjcHUvZHVtcHMveDg2XzY0LTY0Y3B1LnRhci5negpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZDc1MTZlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbHNjcHUvZHVtcHMveDg2XzY0LTY0Y3B1LnRhci5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9sc2NwdS9kdW1wcy94ODZfNjQtZGVsbF9lNDMxMC50YXIuZ3ogYi90ZXN0cy90cy9sc2NwdS9kdW1wcy94ODZfNjQtZGVsbF9lNDMxMC50YXIuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjk4OGNiYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL3g4Nl82NC1kZWxsX2U0MzEwLnRhci5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9sc2NwdS9sc2NwdSBiL3Rlc3RzL3RzL2xzY3B1L2xzY3B1Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjcwZmJjZTkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9sc2NwdS9sc2NwdQpAQCAtMCwwICsxLDU3IEBACisjIS9iaW4vYmFzaAorIworIyBDb3B5cmlnaHQgKEMpIDIwMDggQ2FpIFFpYW4gPHFjYWlAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCisKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTFNDUFUiCisKK2ZvciBkdW1wIGluICQobHMgJFRTX1NFTEYvZHVtcHMvKi50YXIuZ3ogfCBzb3J0KTsgZG8KKwluYW1lPSQoYmFzZW5hbWUgJGR1bXAgLnRhci5neikKKwlkdW1wZGlyPSIkVFNfT1VURElSL2R1bXBzIgorCisJdHNfaW5pdF9zdWJ0ZXN0ICRuYW1lCisJbWtkaXIgLXAgJGR1bXBkaXIKKworCXRhciAtQyAkZHVtcGRpciAtenhmICRkdW1wCisKKwkjIEFyY2hpdGVjdHVyZSBpbmZvcm1hdGlvbiBpcyBub3QgYXBwbGljYWJsZSB3aXRoIC1zLgorCSIke1RTX0NNRF9MU0NQVX0iIC1zICIke2R1bXBkaXJ9LyR7bmFtZX0iIHwgXAorCQlncmVwIC12ICJBcmNoaXRlY3R1cmUiID4iJHtUU19PVVRQVVR9IiAyPiYxCisKKwllY2hvID4+IiR7VFNfT1VUUFVUfSIKKworCSIke1RTX0NNRF9MU0NQVX0iIC1wIC1zICIke2R1bXBkaXJ9LyR7bmFtZX0iIFwKKwkJID4+IiR7VFNfT1VUUFVUfSIgMj4mMQorCisJZWNobyA+PiIke1RTX09VVFBVVH0iCisKKwkiJHtUU19DTURfTFNDUFV9IiAtcCAteSAtcyAiJHtkdW1wZGlyfS8ke25hbWV9IiBcCisJCSA+PiIke1RTX09VVFBVVH0iIDI+JjEKKworCSMgTEUvQkUgZGVwZW5kcyBvbiBiaW5hcnkKKwlzZWQgLWkgLWUgJy9CeXRlIE9yZGVyOi4qL2QnICRUU19PVVRQVVQKKworCXRzX2ZpbmFsaXplX3N1YnRlc3QKK2RvbmUKKwordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbHNjcHUvbWstaW5wdXQuc2ggYi90ZXN0cy90cy9sc2NwdS9tay1pbnB1dC5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NWUzZDIwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbHNjcHUvbWstaW5wdXQuc2gKQEAgLTAsMCArMSw0MyBAQAorIyEvYmluL2Jhc2gKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA4LTIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgc2NyaXB0IG1ha2VzIGEgY29weSBvZiByZWxldmFudCBmaWxlcyBmcm9tIC9zeXMgYW5kIC9wcm9jLgorIyBUaGUgZmlsZXMgYXJlIHVzZWZ1bCBmb3IgbHNjcHUoMSkgcmVncmVzc2lvbiB0ZXN0cy4KKyMKK3Byb2duYW1lPSQoYmFzZW5hbWUgJDApCisKK2lmIFsgLXogIiQxIiBdOyB0aGVuCisJZWNobyAtZSAiXG51c2FnZTogJHByb2duYW1lIDx0ZXN0bmFtZT5cbiIKKwlleGl0IDEKK2ZpCisKK1RTX05BTUU9IiQxIgorVFNfRFVNUD0iJFRTX05BTUUiCitDUD0iY3AgLXIgLS1wYXJlbnRzIgorCitta2RpciAtcCAkVFNfRFVNUC97cHJvYyxzeXN9CisKKyRDUCAvcHJvYy9jcHVpbmZvICRUU19EVU1QCisKK21rZGlyIC1wICRUU19EVU1QL3Byb2MvYnVzL3BjaQorJENQIC9wcm9jL2J1cy9wY2kvZGV2aWNlcyAkVFNfRFVNUAorCitpZiBbIC1kICIvcHJvYy94ZW4iIF07IHRoZW4KKwlta2RpciAtcCAkVFNfRFVNUC9wcm9jL3hlbgorCWlmIFsgLWYgIi9wcm9jL3hlbi9jYXBhYmlsaXRpZXMiIF07IHRoZW4KKwkJJENQIC9wcm9jL3hlbi9jYXBhYmlsaXRpZXMgJFRTX0RVTVAKKwlmaQorZmkKKworaWYgWyAtZSAiL3Byb2Mvc3lzaW5mbyIgXTsgdGhlbgorCSRDUCAvcHJvYy9zeXNpbmZvICRUU19EVU1QCitmaQorCiskQ1AgL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUvKiAkVFNfRFVNUAorJENQIC9zeXMvZGV2aWNlcy9zeXN0ZW0vbm9kZS8qL2NwdW1hcCAkVFNfRFVNUAorCit0YXIgemN2ZiAkVFNfTkFNRS50YXIuZ3ogJFRTX0RVTVAKK3JtIC1yZiAkVFNfRFVNUAorCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21kNS9kYXRhIGIvdGVzdHMvdHMvbWQ1L2RhdGEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWVlZDA1YQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21kNS9kYXRhCkBAIC0wLDAgKzEsNyBAQAorCithYmMKK3Fhenhzd2VkYworMXFhenhzdzIzZWRjCithIGEgYSBhIGEgYSBhIGEgYSBhCitLVVdJT0pETldRS0xGREhRVVdFREFZQ05BVUlXU1lEVVFVSUNCU0tMQkNMVVdJR0RGCitFQVNDNjU0NTY0MjQzMjEzMlNERUNTRVNDRUFDU0pLRFdJT1VET0lXSURPUVBXVURRV0lPU05YQ1NBU0NBCmRpZmYgLS1naXQgYS90ZXN0cy90cy9tZDUvbWQ1IGIvdGVzdHMvdHMvbWQ1L21kNQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41N2M0ZDUyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbWQ1L21kNQpAQCAtMCwwICsxLDMxIEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0hFTFBFUl9NRDUiCisKK2NhdCAkVFNfU0VMRi9kYXRhIHwgd2hpbGUgcmVhZCBkYXRhCitkbworCWVjaG8gLW4gJGRhdGEgfCAkVFNfSEVMUEVSX01ENSA+PiAkVFNfT1VUUFVUCitkb25lCisKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21pbml4L2Jyb2tlbi1yb290IGIvdGVzdHMvdHMvbWluaXgvYnJva2VuLXJvb3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdlZTg0ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21pbml4L2Jyb2tlbi1yb290CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21pbml4L2RlYmlhbi5idWcuNzczODkyIGIvdGVzdHMvdHMvbWluaXgvZGViaWFuLmJ1Zy43NzM4OTIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGI5Nzg0OAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21pbml4L2RlYmlhbi5idWcuNzczODkyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21pbml4L2ZzY2sgYi90ZXN0cy90cy9taW5peC9mc2NrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIxZmJkZTgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9taW5peC9mc2NrCkBAIC0wLDAgKzEsNTYgQEAKKyMhL2Jpbi9iYXNoCisjCisjIENvcHlyaWdodCAoQykgMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9Im1rZnMgZnNjayIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NS01JTklYIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZTQ0tNSU5JWCIKKworbWtmc19hbmRfZnNja19taW5peCgpIHsKKwlsb2NhbCByZXQKKwl0c19sb2cgIiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMiCisJdHNfbG9nICIkIG1rZnMubWluaXggJDEgaW1hZ2UiCisJJFRTX0NNRF9NS01JTklYICQxICRpbWcgPj4gJFRTX09VVFBVVCAyPiYxCisJcmV0PSQ/CisJZWNobyAicmV0dXJuIG1rZnM6ICRyZXQiID4+ICRUU19PVVRQVVQKKwl0ZXN0ICRyZXQgPSAwIHx8IHJldHVybiAkcmV0CisKKwl0c19sb2cgIiQgZnNjay5taW5peCAtbGF2c2YgaW1hZ2UiCisJJFRTX0NNRF9GU0NLTUlOSVggLWxhdnNmICRpbWcgPj4gJFRTX09VVFBVVCAyPiYxCisJcmV0PSQ/CisJZWNobyAicmV0dXJuIGZzY2s6ICRyZXQiID4+ICRUU19PVVRQVVQKKwlyZXR1cm4gJHJldAorfQorCitpbWc9JCh0c19pbWFnZV9pbml0KQorCisjIFRPRE8gbG9vcGluZyBvdmVyIGFyYml0cmFyeSBiYWRibG9jayBmaWxlcyAoLWwgYmFkKSBnaXZlcyBhIGxvdCBzZWdmYXVsdHMKK2ZvciB2ZXIgaW4gIiIgIi0xIiAiLTIiICItMyI7IGRvCitmb3IgbiBpbiAiIiAiLW4gMTQiICItbiAzMCIgIi1uIDYwIjsgZG8KKwlta2ZzX2FuZF9mc2NrX21pbml4ICIkdmVyICRuIgorZG9uZQorZG9uZQorCitybSAtZiAkaW1nCisKK3NlZCAtaSAic0AkaW1nQGltYWdlQGciICRUU19PVVRQVVQKKwordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbWluaXgvZnNjay1pbWFnZXMgYi90ZXN0cy90cy9taW5peC9mc2NrLWltYWdlcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wY2ZhNzYwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbWluaXgvZnNjay1pbWFnZXMKQEAgLTAsMCArMSw5MCBAQAorIyEvYmluL2Jhc2gKKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImZzY2sgaW1hZ2VzIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKworIyBpbm9kZSBjb250YWlucyBVSUQgYW5kIEdJRCwgdXNlIGFsd2F5cyBVSUQ9MCB0byBnZXQgdGhlIHNhbWUgY2hlY2tzdW0KKyMgVE9ETyBhbnkgbWtmcyBzaG91bGQgdXNlIFVJRD0wIHBlciBkZWZhdWx0IChjdXN0b20gdWlkIG9wdGlvbmFsbHkpIGxpa2UgbWsyZnMKK3RzX3NraXBfbm9ucm9vdAorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRlNDS01JTklYIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX01LRlNfTUlOSVgiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfSEVYRFVNUCIKKworIyBvbiBiaWcgZW5kaWFuIHN5c3RlbXMgc29tZSBvZiB0aGUgc3VidGVzdHMgaGF2ZSBkaWZmZXJlbnQgZXhwZWN0ZWQgb3V0cHV0CitCWVRFX09SREVSPSQoJFRTX0hFTFBFUl9TWVNJTkZPIGJ5dGUtb3JkZXIpCitCRV9FWFQ9JCh0ZXN0ICIkQllURV9PUkRFUiIgPSAiQkUiICYmIGVjaG8gIi5CRSIpCisKK2V4cG9ydCBNS0ZTX01JTklYX1RFU1RfU0VDT05EX1NJTkNFX0VQT0NIPScxNDM4NDYwMjEyJworCitjaGVja19taW5peF9mc190eXBlKCkgeworCXRzX2luaXRfc3VidGVzdCAkMQorCVRTX0VYUEVDVEVEKz0kQkVfRVhUCisJaW1nPSR7VFNfT1VUUFVUfS5pbWcKKwlkZCBpZj0vZGV2L3plcm8gYnM9MTAyNCBjb3VudD0xNiBvZj0kaW1nID4vZGV2L251bGwgMj4mMQorCSRUU19IRUxQRVJfTUtGU19NSU5JWCAkMiAkaW1nID4+ICRUU19PVVRQVVQgMj4mMQorCWVjaG8gIm1rZnMgcmV0dXJuIHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorCSRUU19DTURfRlNDS01JTklYICRpbWcgPj4gJFRTX09VVFBVVCAyPiYxCisJZWNobyAiZnNjayByZXR1cm4gdmFsdWU6ICQ/IiA+PiAkVFNfT1VUUFVUCisJJFRTX0NNRF9IRVhEVU1QIC1DICRpbWcgPj4gJFRTX09VVFBVVCAyPiYxCisJcm0gLWYgJGltZworCXRzX2ZpbmFsaXplX3N1YnRlc3QKK30KKworY2hlY2tfbWluaXhfZnNfdHlwZSAndjFjMTQnICctMSAtbiAxNCcKK2NoZWNrX21pbml4X2ZzX3R5cGUgJ3YxYzMwJyAnLTEgLW4gMzAnCitjaGVja19taW5peF9mc190eXBlICd2MmMxNCcgJy0yIC1uIDE0JworY2hlY2tfbWluaXhfZnNfdHlwZSAndjJjMzAnICctMiAtbiAzMCcKK2NoZWNrX21pbml4X2ZzX3R5cGUgJ3YzYzYwJyAnLTMgLW4gNjAnCisKK2JhZD0iJFRTX09VVERJUi8ke1RTX1RFU1ROQU1FfS5iYWRsaXN0IgorIyBUT0RPIHNlZW1zIHRoYXQgbWtmcyBwcm9kdWNlcyBub24tc2Vuc2UgaWYgYmFkYmxvY2tzIGFyZSBncmVhdGVyIHRoYW4gZGV2aWNlLgorZWNobyAtZSAiOFxuOSIgPiAkYmFkCisKKyMgTk9URSwgLWMgd2l0aCAtbCBpZ25vcmVzIC1sLgorY2hlY2tfbWluaXhfZnNfdHlwZSAnY2hlY2stYmxvY2tzJyAiLWwgJGJhZCAtYyIKK2NoZWNrX21pbml4X2ZzX3R5cGUgJ2JhZGJsb2NrcycgIi1sICRiYWQiCisKK3JtIC1mICRiYWQKKworIyBubyBtb3JlIGJpZyBlbmRpYW4gdGVzdHMgYmVsb3cKK2lmIHRlc3QgIiRCWVRFX09SREVSIiA9ICJCRSI7IHRoZW4KKwl0c19maW5hbGl6ZQorZmkKKworIyBOT1RFIHRoaXMgc2VlbXMgb2RkOiBhIDJuZCBmc2NrIHJ1biB3b3VsZCBhZ2FpbiBtb2RpZnkgdGhlIEZTCit0c19pbml0X3N1YnRlc3QgImF1dG8tZml4IgoraW1nPSR7VFNfT1VUUFVUfS5pbWcKK2NwICIkVFNfU0VMRi9icm9rZW4tcm9vdCIgJGltZworJFRTX0NNRF9GU0NLTUlOSVggLXNhdiAkaW1nID4+ICRUU19PVVRQVVQgMj4mMQorZWNobyAiZnNjayByZXBvcnRzIGNoYW5nZWQgYW5kIHVuY29ycmVjdGVkOiAkPyIgPj4gJFRTX09VVFBVVAorJFRTX0NNRF9IRVhEVU1QIC1DICRpbWcgPj4gJFRTX09VVFBVVCAyPiYxCitzZWQgLWkgJ3MvRmlsZXN5c3RlbSBvbiAuKiBpcyBkaXJ0eS9GaWxlc3lzdGVtIGF1dG8tZml4IGlzIGRpcnR5LycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImJ1Zy43NzM4OTIiCisiJFRTX0NNRF9GU0NLTUlOSVgiIC1mICIkVFNfU0VMRi9kZWJpYW4uYnVnLjc3Mzg5MiIgPj4kVFNfT1VUUFVUIDI+JjEgPi9kZXYvbnVsbAorZWNobyAiZnNjayByZXBvcnRzIHVuY29ycmVjdGVkOiAkPyIgPj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImJyb2tlbi1yb290IgorIiRUU19DTURfRlNDS01JTklYIiAiJFRTX1NFTEYvYnJva2VuLXJvb3QiID4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJmc2NrIHJlcG9ydHMgdW5jb3JyZWN0ZWQ6ICQ/IiA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9taW5peC9ta2ZzIGIvdGVzdHMvdHMvbWluaXgvbWtmcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43YWYwYjEwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbWluaXgvbWtmcwpAQCAtMCwwICsxLDU2IEBACisjIS9iaW4vYmFzaAorIworIyBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJta2ZzIG1vdW50IgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01LTUlOSVgiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVU1PVU5UIgordHNfc2tpcF9ub25yb290CisKK3RzX3Njc2lfZGVidWdfaW5pdCBkZXZfc2l6ZV9tYj0xMCBudW1fcGFydHM9MQorZGV2PSR7VFNfREVWSUNFfTEKKworIyBob3RmaXgsIHdhaXQgZm9yIHBhcnRpdGlvbiB0byBhcHBlYXIgKHNsb3cgb24gRGViaWFuIDcvbGludXgtMy4yKQordGVzdCAtYiAkZGV2IHx8IHNsZWVwIDEKKworbWtmc19hbmRfbW91bnRfbWluaXgoKSB7CisJdHNfaW5pdF9zdWJ0ZXN0ICQxCisJdHNfbG9nICJjcmVhdGUgbWluaXggZnMgJDIiCisJJFRTX0NNRF9NS01JTklYICQyICRkZXYgPj4gJFRTX09VVFBVVCAyPiYxCisJZWNobyAibWtmcyByZXR1cm4gdmFsdWU6ICQ/IiA+PiAkVFNfT1VUUFVUCisJdWRldmFkbSBzZXR0bGUKKwlbIC1kICIkVFNfTU9VTlRQT0lOVCIgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVAorCXRzX21vdW50ICJtaW5peCIgJGRldiAkVFNfTU9VTlRQT0lOVAorCXRzX2lzX21vdW50ZWQgJGRldiB8fCB0c19kaWUgIkNhbm5vdCBmaW5kICRkZXYgaW4gL3Byb2MvbW91bnRzIgorCXRzX2xvZyAidW1vdW50IHRoZSBpbWFnZSIKKwkkVFNfQ01EX1VNT1VOVCAkZGV2CisJdHNfZmluYWxpemVfc3VidGVzdAorfQorCitta2ZzX2FuZF9tb3VudF9taW5peCAndjFjMTQnICctMSAtbiAxNCcKK21rZnNfYW5kX21vdW50X21pbml4ICd2MWMzMCcgJy0xIC1uIDMwJworbWtmc19hbmRfbW91bnRfbWluaXggJ3YyYzE0JyAnLTIgLW4gMTQnCitta2ZzX2FuZF9tb3VudF9taW5peCAndjJjMzAnICctMiAtbiAzMCcKK21rZnNfYW5kX21vdW50X21pbml4ICd2Mmk2NTUzNScgJy0yIC1pIDY1NTM1JworbWtmc19hbmRfbW91bnRfbWluaXggJ3YzYzYwJyAnLTMgLW4gNjAnCisKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21pc2MvZmFsbG9jYXRlIGIvdGVzdHMvdHMvbWlzYy9mYWxsb2NhdGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTkzOGFiYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21pc2MvZmFsbG9jYXRlCkBAIC0wLDAgKzEsNDAgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iZmFsbG9jYXRlIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZBTExPQ0FURSIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GSU5ETU5UIgorCitJTUFHRT0ke1RTX09VVERJUn0vJHtUU19URVNUTkFNRX0uZmlsZQorcm0gLWYgJElNQUdFCisKK2lmICRUU19DTURfRkFMTE9DQVRFIC1vIDEyOCAtbCAyNTYgJElNQUdFID4gJFRTX09VVFBVVCAyPiYxOyB0aGVuCisJc3RhdCAtYyAiJXMiICRJTUFHRSA+PiAkVFNfT1VUUFVUIDI+JjEKK2Vsc2UKKwkjIGZzIHR5cGUgb2YgJFRTX09VVERJUiwgY291bGQgYmUgdXNlZCB0byBza2lwIHRoaXMgdGVzdCBlYXJseQorCWZzX3R5cGU9JCgke1RTX0NNRF9GSU5ETU5UfSAtbiAtbyBGU1RZUEUgLVQgJHtUU19PVVRESVJ9KQorCisJdGVzdCAiJCg8JFRTX09VVFBVVCkiIFwKKwkgICAgID0gImZhbGxvY2F0ZTogZmFsbG9jYXRlIGZhaWxlZDogT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQiIFwKKwkmJiB0c19za2lwICInJHtmc190eXBlfScgbm90IHN1cHBvcnRlZCIKK2ZpCisKK3JtIC1mICRJTUFHRQorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbWlzYy9mbG9jayBiL3Rlc3RzL3RzL21pc2MvZmxvY2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWE0NGUxNQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21pc2MvZmxvY2sKQEAgLTAsMCArMSwxMDYgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iZmxvY2siCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRkxPQ0siCit0c19jaGVja19wcm9nICJwcyIKK3RzX2NoZWNrX3Byb2cgInRpbWVvdXQiCisKKworZnVuY3Rpb24gZG9fbG9jayB7CisJbG9jYWwgb3B0cz0iJDEiCisJbG9jYWwgZXhwZWN0ZWRfcmM9IiQyIgorCWxvY2FsIG1lc2c9IiQzIgorCisJJFRTX0NNRF9GTE9DSyAkMSAkVFNfT1VURElSL2xvY2tmaWxlIFwKKwkJZWNobyAiJG1lc2ciIFwKKwkJPiAkVFNfT1VUUFVUIDI+JjEKKworCWxvY2FsIHJjPSIkPyIKKworCWlmIFsgICIkcmMiID09ICIkZXhwZWN0ZWRfcmMiIF07IHRoZW4KKwkJdHNfbG9nICJTdWNjZXNzIgorCWVsc2UKKwkJdHNfbG9nICJGYWlsZWQgW3JjPSRyY10iCisJZmkKK30KKworIyBnZW5lcmFsIGxvY2sKK0dFTl9PVVRQVVQ9IiRUU19PVVRQVVQiCitTVEFSVD0kKGRhdGUgJyslcycpCisjIHJ1bm5pbmcgZmxvY2sgaW4gYmFja2dyb3VuZCBpcyBub3QgdGhlIGJlc3QgdXNhZ2UgZXhhbXBsZQorJFRTX0NNRF9GTE9DSyAtLXNoYXJlZCAkVFNfT1VURElSL2xvY2tmaWxlIFwKKwliYXNoIC1jICdlY2hvICJMb2NraW5nIjsgc2xlZXAgMzsgZWNobyAiVW5sb2NraW5nIicgXAorCT4gJEdFTl9PVVRQVVQgMj4mMSAmCitwaWQ9JCEKKworIyBjaGVjayBmb3IgcnVubmluZyBiYWNrZ3JvdW5kIHByb2Nlc3MKK2lmIFsgIiRwaWQiIC1sZSAiMCIgXSB8fCAhIGtpbGwgLXMgMCAiJHBpZCIgJj4vZGV2L251bGw7IHRoZW4KKwl0c19kaWUgInVuYWJsZSB0byBydW4gZmxvY2siCitmaQorIyB0aGUgbG9jayBzaG91bGQgYmUgZXN0YWJsaXNoZWQgd2hlbiBmbG9jayBoYXMgYSBjaGlsZAordGltZW91dCAxcyBiYXNoIC1jICJ3aGlsZSBbIFwkKHBzIC0tcHBpZCAkcGlkIHx3YyAtbCkgLWx0IDIgXTsgZG8gc2xlZXAgMC4xIDtkb25lIiBcCisJfHwgdHNfZGllICJ0aW1lb3V0IHdhaXRpbmcgZm9yIGZsb2NrIGNoaWxkIgorCit0c19pbml0X3N1YnRlc3QgIm5vbi1ibG9jayIKK2RvX2xvY2sgIi0tbm9uYmxvY2sgLS1jb25mbGljdC1leGl0LWNvZGUgMTIzIiAxMjMgIllvdSB3aWxsIG5ldmVyIHNlZSB0aGlzISIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgIm5vLWZvcmsiCitkb19sb2NrICItLW5vLWZvcmsgLS1ub25ibG9jayAtLWNvbmZsaWN0LWV4aXQtY29kZSAxMjMiIDEyMyAiWW91IHdpbGwgbmV2ZXIgc2VlIHRoaXMhIgordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAic2hhcmVkIgorZG9fbG9jayAiLS1zaGFyZWQiIDAgIkhhdmUgc2hhcmVkIGxvY2siCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKworIyB0aGlzIGlzIHRoZSBzYW1lIGFzIG5vbi1ibG9jayB0ZXN0IChleGNsdXNpdmUgbG9jayBpcyB0aGUgZGVmYXVsdCksIGJ1dCBoZXJlCisjIHdlIGV4cGxpY2l0bHkgc3BlY2lmeSAtLWV4Y2x1c2l2ZSBvbiBjb21tYW5kIGxpbmUKK3RzX2luaXRfc3VidGVzdCAiZXhjbHVzaXZlIgorZG9fbG9jayAiLS1ub25ibG9jayAtLWV4Y2x1c2l2ZSAtLWNvbmZsaWN0LWV4aXQtY29kZSAxMjMiIDEyMyAiWW91IHdpbGwgbmV2ZXIgc2VlIHRoaXMhIgordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAidGltZW91dCIKK2RvX2xvY2sgIi0tdGltZW91dCA1IC0tY29uZmxpY3QtZXhpdC1jb2RlIDUiIDAgIkFmdGVyIHRpbWVvdXQuIgorRU5EPSQoZGF0ZSAnKyVzJykKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCisjIGV4cGVjdGVkIGlzIDMgc2Vjb25kcyAoc2VlICJzbGVlcCAzIiBmb3IgdGhlIGdlbmVyYWwgbG9jayksIGJ1dCB3ZSBzaG91bGQgbm90CisjIHJlbHkgb24gZXhhY3QgbnVtYmVyIGR1ZSB0byBzY2hlZHVsZXIsIG1hY2hpbmUgbG9hZCwgZXRjLiBMZXQncyBjaGVjayBmb3IKKyMgaW5tdGVydmFsIDwzLDU+LgorIyAKK3RzX2luaXRfc3VidGVzdCAidGltZS1jaGVjayIKK1RJTUVESUZGPSQoKCAkRU5EIC0gJFNUQVJUICkpCitpZiBbICRUSU1FRElGRiAtbHQgMyBdOyB0aGVuCisJdHNfbG9nICJnZW5lcmFsIGxvY2sgZmFpbGVkIFskVElNRURJRkYgc2VjXSIKK2VsaWYgWyAkVElNRURJRkYgLWd0IDUgXTsgdGhlbgorCXRzX2xvZyAid2FpdCB0b28gbG9uZyBbJFRJTUVESUZGIHNlY10iCitlbHNlCisJdHNfbG9nICJzdWNjZXNzIgorZmkKK3RzX2ZpbmFsaXplX3N1YnRlc3QgImRpZmYgJHtUSU1FRElGRn0gc2VjIgorCisKK2VjaG8gIlVubG9ja2VkIiA+PiAkR0VOX09VVFBVVCAKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9taXNjL2lvbmljZSBiL3Rlc3RzL3RzL21pc2MvaW9uaWNlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMyYjIyNTkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9taXNjL2lvbmljZQpAQCAtMCwwICsxLDMwIEBACisjIS9iaW4vYmFzaAorCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImlvbmljZSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9JT05JQ0UiCisKKyRUU19DTURfSU9OSUNFIC1wICQkIC1uIDAgLWMgMCA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfSU9OSUNFIC1wICQkIC1uIDMgLWMgNyA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfSU9OSUNFIC1wICQkIC1uIDQgLWMgNyA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfSU9OSUNFIC1wICQkIC1uIDEgLWMgOCA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfSU9OSUNFIC1uIDMgbHMgL2V0Yy9wYXNzd2QgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX0lPTklDRSAtcCAkJCA+PiAkVFNfT1VUUFVUIDI+JjEKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21pc2MvbGluZSBiL3Rlc3RzL3RzL21pc2MvbGluZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MWQ1YzA0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbWlzYy9saW5lCkBAIC0wLDAgKzEsMzcgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ibGluZSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9MSU5FIgorCisjIHVzdWFsbHkgYmVoYXZlIGxpa2UgImhlYWQgLW4gMSIKK3ByaW50ZiAiYVxuYlxuIiB8CisJJFRTX0NNRF9MSU5FID4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJyZXQ6ICQ/IiA+PiAkVFNfT1VUUFVUCisKKyMgbmV2ZXIgY29uc3VtZSBtb3JlIHRoYW4gb25lIGxpbmUKK3ByaW50ZiAiMVxuMlxuIiB8CisJKCRUU19DTURfTElORSAmJiAkVFNfQ01EX0xJTkUpID4+ICRUU19PVVRQVVQgMj4mMQorZWNobyAicmV0OiAkPyIgPj4gJFRTX09VVFBVVAorCisjIGFsd2F5cyBwcmludCBvbmUgbmV3bGluZSwgcmV0dXJuIDEgb24gRU9GCiskVFNfQ01EX0xJTkUgPC9kZXYvbnVsbCA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gInJldDogJD8iID4+ICRUU19PVVRQVVQKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21pc2MvbWNvb2tpZSBiL3Rlc3RzL3RzL21pc2MvbWNvb2tpZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NmUzY2M3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbWlzYy9tY29va2llCkBAIC0wLDAgKzEsMjggQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ibWNvb2tpZSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NQ09PS0lFIgorCiskVFNfQ01EX01DT09LSUUgLWYgL2V0Yy9zZXJ2aWNlcyB8CisJIyBUaGUgc2VkIHdpbGwgY29udmVydCBvbmx5IDMyIGNoYXJhY3RlcnMgbG9uZyBoZXhhZGVjaW1hbCBzdHJpbmcKKwkjIHRvIGV4cGVjdGVkIHN0cmluZywgYnV0IG5vdGhpbmcgZWxzZS4KKwlzZWQgJ3MvXlswLTlhLWZdXHszMlx9JC90aGUgc3RyaW5nIG1lZXRzIGV4cGVjYXRpb25zLycgPiAkVFNfT1VUUFVUIDI+JjEKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21pc2MvcmV2IGIvdGVzdHMvdHMvbWlzYy9yZXYKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2E1NDFhYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21pc2MvcmV2CkBAIC0wLDAgKzEsMzEgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0icmV2IgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1JFViIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0hFTFBFUl9NRDUiCisKK2ZvciBJIGluIHswLi41MTJ9OyBkbyBwcmludGYgIiVzICIge2EuLnp9OyBkb25lIHwgIiRUU19IRUxQRVJfTUQ1IiA+PiAkVFNfT1VUUFVUIDI+JjEKKworZm9yIEkgaW4gezAuLjUxMn07IGRvIHByaW50ZiAiJXMgIiB7YS4uen07IGRvbmUgfCBcCisJCQkJICAgICRUU19DTURfUkVWIHwgIiRUU19IRUxQRVJfTUQ1IiA+PiAkVFNfT1VUUFVUIDI+JjEKKworcHJpbnRmICJhYmNcbjEyMyIgfCAkVFNfQ01EX1JFViA+PiAkVFNfT1VUUFVUIDI+JjEKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21pc2Mvc2V0YXJjaCBiL3Rlc3RzL3RzL21pc2Mvc2V0YXJjaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jODA1MGU1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbWlzYy9zZXRhcmNoCkBAIC0wLDAgKzEsOTEgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ic2V0YXJjaCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9TRVRBUkNIIgorCitBUkNIPSQodW5hbWUgLW0pCisKK3RzX2luaXRfc3VidGVzdCBvcHRpb25zCitlY2hvICIjIyMjIyMgdW5rbm93biBhcmNoIiA+PiRUU19PVVRQVVQKKyRUU19DTURfU0VUQVJDSCBxdWJpdCAtdiBlY2hvICJzdWNjZXNzIiA+PiRUU19PVVRQVVQgMj4mMQorZWNobyAiZXhpdDogJD8iID4+JFRTX09VVFBVVAorCitlY2hvICIjIyMjIyMgdW5rbm93biBjb21tYW5kIiA+PiRUU19PVVRQVVQKKyRUU19DTURfU0VUQVJDSCAkQVJDSCAtdiAvZGFzL2dpYnMvbmljaHQgPj4kVFNfT1VUUFVUIDI+JjEKK2VjaG8gImV4aXQ6ICQ/IiA+PiRUU19PVVRQVVQKKworZWNobyAiIyMjIyMjIG5vb3AgdW5hbWUgLWEiID4+JFRTX09VVFBVVAordW5hbWVfYT0kKHVuYW1lIC1zcm0pCiskVFNfQ01EX1NFVEFSQ0ggJEFSQ0ggLXYgdW5hbWUgLXNybSA+PiRUU19PVVRQVVQgMj4mMQorc2VkIC1pICIkIHNAJHt1bmFtZV9hfUB1bmFtZSAtYSB1bmNoYW5nZWRAIiAkVFNfT1VUUFVUCisKK2VjaG8gIiMjIyMjIyBhbG1vc3QgYWxsIG9wdGlvbnMiID4+JFRTX09VVFBVVAorJFRTX0NNRF9TRVRBUkNIICRBUkNIIC12UkZaTFhCSVNUMyBlY2hvICJzdWNjZXNzIiA+PiRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCB1bmFtZTI2CitmaW5tc2c9IiIgIyBmb3IgZGVidWdnaW5nIDIuNiBpc3N1ZXMKKworZWNobyAiIyMjIyMjIC0tdW5hbWUtMi42IGVjaG8iID4+JFRTX09VVFBVVAorJFRTX0NNRF9TRVRBUkNIICRBUkNIIC12IC0tdW5hbWUtMi42IGVjaG8gIjIuNiB3b3JrZWQiID4+JFRTX09VVFBVVCAyPiYxCitpZiBbICQ/IC1lcSAwIF07IHRoZW4KKwlleHBlY3RlZD0nXjIuNiB3b3JrZWQkJworZWxzZQorCSMgdGhpcyBtYXkgaGFwcGVuIGFmdGVyIGV4ZWN2cAorCWV4cGVjdGVkPSJeRkFUQUw6IGtlcm5lbCB0b28gb2xkJCIKKwlmaW5tc2crPSIgZWNobyIKK2ZpCitzZWQgLWkgIiQgcy8kZXhwZWN0ZWQvMi42IHdvcmtzIG9yIGtlcm5lbCB0b28gb2xkLyIgJFRTX09VVFBVVAorCitlY2hvICIjIyMjIyMgLS11bmFtZS0yLjYgdHJ1ZSwgbm9uLXZlcmJvc2UiID4+JFRTX09VVFBVVAorJFRTX0NNRF9TRVRBUkNIICRBUkNIIC0tdW5hbWUtMi42IHRydWUgPj4kVFNfT1VUUFVUIDI+JjEKK2lmIFsgJD8gLWVxIDAgXTsgdGhlbgorCWVjaG8gIjIuNiB3b3JrcyBvciBrZXJuZWwgdG9vIG9sZCIgPj4gJFRTX09VVFBVVAorZWxzZQorCSMgdGhpcyBtYXkgaGFwcGVuIGFmdGVyIGV4ZWN2cAorCWV4cGVjdGVkPSJeRkFUQUw6IGtlcm5lbCB0b28gb2xkJCIKKwlzZWQgLWkgIiQgcy8kZXhwZWN0ZWQvMi42IHdvcmtzIG9yIGtlcm5lbCB0b28gb2xkLyIgJFRTX09VVFBVVAorCWZpbm1zZys9IiB0cnVlIgorZmkKKworaWYgWyAtbiAiJGZpbm1zZyIgXTsgdGhlbgorCWZpbm1zZz0kKGVjaG8gdW5zdXBwb3J0ZWQgLS11bmFtZS0yLjY6ICRmaW5tc2cpCitlbHNlCisJdW5hbWUyNl9zZWVtc19zdXBwb3J0ZWQ9eWVzCitmaQordHNfZmluYWxpemVfc3VidGVzdCAiJGZpbm1zZyIKKworCisjIGNvbmRpdGlvbmFsIHN1YnRlc3QKK2lmIFsgIiR1bmFtZTI2X3NlZW1zX3N1cHBvcnRlZCIgPSAieWVzIiBdOyB0aGVuCit0c19pbml0X3N1YnRlc3QgdW5hbWUyNi12ZXJzaW9uCisJdG1wPSQoJFRTX0NNRF9TRVRBUkNIICRBUkNIIC0tdW5hbWUtMi42IHVuYW1lIC1yKQorCWlmIGVjaG8gIiR0bXAiIHwgZ3JlcCAtcSAiXjJcLjZcLiI7IHRoZW4KKwkJZWNobyAia2VybmVsIHZlcnNpb24gY2hhbmdlZCB0byAyLjYiID4+ICRUU19PVVRQVVQKKwllbHNlCisJCWVjaG8gInVuYW1lMjYgZmFpbGVkIiA+PiAkVFNfT1VUUFVUCisJCWVjaG8gIm9yaWdpbmFsIGtlcm5lbDogJCh1bmFtZSAtcikiID4+ICRUU19PVVRQVVQKKwkJZWNobyAidW5hbWUyNiBrZXJuZWw6ICAkdG1wIiA+PiAkVFNfT1VUUFVUCisJZmkKK3RzX2ZpbmFsaXplX3N1YnRlc3QKK2ZpICMgY29uZGl0aW9uYWwgc3VidGVzdAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbWlzYy9zZXRzaWQgYi90ZXN0cy90cy9taXNjL3NldHNpZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iYWVmNzBkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbWlzYy9zZXRzaWQKQEAgLTAsMCArMSwyNSBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJzZXRzaWQiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfU0VUU0lEIgorCiskVFNfQ01EX1NFVFNJRCBlY2hvICJzdWNjZXNzIiA+ICRUU19PVVRQVVQgMj4mMQorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbWlzYy9zdHJ0b3NpemUgYi90ZXN0cy90cy9taXNjL3N0cnRvc2l6ZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42OGIzYjhiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbWlzYy9zdHJ0b3NpemUKQEAgLTAsMCArMSw2MCBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMTAgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJzdHJ0b3NpemUiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCiskVFNfSEVMUEVSX1NUUlVUSUxTIC0tc2l6ZSAtMSA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19IRUxQRVJfU1RSVVRJTFMgLS1zaXplIDAgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfSEVMUEVSX1NUUlVUSUxTIC0tc2l6ZSAxID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMTIzID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMTg0NDY3NDQwNzM3MDk1NTE2MTUgPj4gJFRTX09VVFBVVCAyPiYxCisKKyRUU19IRUxQRVJfU1RSVVRJTFMgLS1zaXplIDFLID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMUtpQiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19IRUxQRVJfU1RSVVRJTFMgLS1zaXplIDFNID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMU1pQiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19IRUxQRVJfU1RSVVRJTFMgLS1zaXplIDFHID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMUdpQiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19IRUxQRVJfU1RSVVRJTFMgLS1zaXplIDFUID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMVRpQiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19IRUxQRVJfU1RSVVRJTFMgLS1zaXplIDFQID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMVBpQiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19IRUxQRVJfU1RSVVRJTFMgLS1zaXplIDFFID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMUVpQiA+PiAkVFNfT1VUUFVUIDI+JjEKKworJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMUtCID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMU1CID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMUdCID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMVRCID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMVBCID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMUVCID4+ICRUU19PVVRQVVQgMj4mMQorCiskVFNfSEVMUEVSX1NUUlVUSUxTIC0tc2l6ZSAiIiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19IRUxQRVJfU1RSVVRJTFMgLS1zaXplICIgIiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19IRUxQRVJfU1RSVVRJTFMgLS1zaXplICIgMSIgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfSEVMUEVSX1NUUlVUSUxTIC0tc2l6ZSAiMSAiID4+ICRUU19PVVRQVVQgMj4mMQorCiskVFNfSEVMUEVSX1NUUlVUSUxTIC0tc2l6ZSAweDBhID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMHhmZjAwID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMHg4MDAwMDAwMCA+PiAkVFNfT1VUUFVUIDI+JjEKKwordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbWlzYy9zd2FwbGFiZWwgYi90ZXN0cy90cy9taXNjL3N3YXBsYWJlbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NDYzMDQ1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbWlzYy9zd2FwbGFiZWwKQEAgLTAsMCArMSw2NSBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJzd2FwbGFiZWwiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTUtTV0FQIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1NXQVBMQUJFTCIKKworIyBmYWxsb2NhdGUgZG9lcyBub3Qgd29yayBvbiBtb3N0IGZpbGUgc3lzdGVtcworZnVuY3Rpb24gZmFsbG9jYXRlX29yX3NraXAoKQoreworCSRUU19DTURfRkFMTE9DQVRFIC1sICQxICQyIDI+L2Rldi9udWxsIHx8IFwKKwl0cnVuY2F0ZSAtcyAkMSAkMiB8fCBcCisJdHNfc2tpcCAibm8gd2F5IHRvIGNyZWF0ZSB0ZXN0IGltYWdlIgorfQorCitJTUFHRT0ke1RTX09VVERJUn0vJHtUU19URVNUTkFNRX0uZmlsZQorCitQQUdFX1NJWkU9JCgkVFNfSEVMUEVSX1NZU0lORk8gcGFnZXNpemUpCitQQUdFX1NJWkVfS0I9JCgoICRQQUdFX1NJWkUgLyAxMDI0ICkpCitNSU5fU1dBUF9TSVpFPSQoKCAxMCAqICRQQUdFX1NJWkUgKSkKK01JTl9TV0FQX1NJWkVfS0I9JCgoIE1JTl9TV0FQX1NJWkUgLyAxMDI0ICkpCisKK3JtIC1mICRJTUFHRQorZmFsbG9jYXRlX29yX3NraXAgJCgoICRNSU5fU1dBUF9TSVpFIC0gMSApKSAkSU1BR0UKKyRUU19DTURfTUtTV0FQIFwKKwktLWxhYmVsIDEyMzQ1Njc4OTBhYmNkZWYgXAorCS0tdXVpZCAxMjM0NTY3OC1hYmNkLWFiY2QtYWJjZC0xMjM0NTY3ODkwYWIgXAorCSRJTUFHRSAyPiYxIHxcCisJc2VkIC1lICJzLyAkTUlOX1NXQVBfU0laRV9LQiBLaUIvIDEwIHBhZ2VzLyIgXAorCSAgICAtZSAiczokSU1BR0U6PHN3YXBmaWxlPjpnIiBcCisJICAgIC1lICJzL2luc2VjdXJlIHBlcm1pc3Npb25zIFswLTldKi9pbnNlY3VyZSBwZXJtaXNzaW9ucyA8cGVybT4vZyIgXAorCT4+ICRUU19PVVRQVVQgMj4mMQorCitybSAtZiAkSU1BR0UKK2ZhbGxvY2F0ZV9vcl9za2lwICRNSU5fU1dBUF9TSVpFICRJTUFHRQorJFRTX0NNRF9NS1NXQVAgXAorCS0tbGFiZWwgMTIzNDU2Nzg5MGFiY2RlZiBcCisJLS11dWlkIDEyMzQ1Njc4LWFiY2QtYWJjZC1hYmNkLTEyMzQ1Njc4OTBhYiBcCisJJElNQUdFIDI+JjEgfFwKKwlzZWQgLWUgInMvICQoKCAkTUlOX1NXQVBfU0laRV9LQiAtICRQQUdFX1NJWkVfS0IgKSkgS2lCLyA5IHBhZ2VzLyIgXAorCSAgICAtZSAicy8oJCgoICRNSU5fU1dBUF9TSVpFIC0gJFBBR0VfU0laRSApKSBieXRlcykvKDl4UEdTWiBieXRlcykvIiBcCisJICAgIC1lICJzOiRJTUFHRTo8c3dhcGZpbGU+OmciIFwKKwkgICAgLWUgInMvaW5zZWN1cmUgcGVybWlzc2lvbnMgWzAtOV0qL2luc2VjdXJlIHBlcm1pc3Npb25zIDxwZXJtPi9nIiBcCisJPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX1NXQVBMQUJFTCAkSU1BR0UgPj4gJFRTX09VVFBVVCAyPiYxCisKKyNybSAtZiAkSU1BR0UKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21pc2MvdWwgYi90ZXN0cy90cy9taXNjL3VsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJjMmMxZGEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9taXNjL3VsCkBAIC0wLDAgKzEsMjYgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0idWwiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVUwiCisKK3ByaW50ZiAiYVx4MDhhYlx4NUZceDA4Y1xcblxcdHRhYlxcZlxcYlxcciIgfAorCSRUU19DTURfVUwgLXQgeHRlcm0gPiAkVFNfT1VUUFVUIDI+JjEKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21pc2Mvd2hlcmVpcyBiL3Rlc3RzL3RzL21pc2Mvd2hlcmVpcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lZTdlYzI3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbWlzYy93aGVyZWlzCkBAIC0wLDAgKzEsMzAgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0id2hlcmVpcyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9XSEVSRUlTIgorCitMU19DT1VOVD0kKCRUU19DTURfV0hFUkVJUyBscyB8IHdjIC13KQoraWYgWyAkTFNfQ09VTlQgLWx0IDIgXTsgdGhlbgorCWVjaG8gImxzIGJpbmFyeSBub3IgbWFudWFsIG5vdCBmb3VuZD8iID4gJFRTX09VVFBVVAorZWxzZQorCWVjaG8gInN1Y2Nlc3MiID4gJFRTX09VVFBVVAorZmkKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21vcmUvcmVnZXhwIGIvdGVzdHMvdHMvbW9yZS9yZWdleHAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2I0ZjM5NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21vcmUvcmVnZXhwCkBAIC0wLDAgKzEsMjcgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0icmVnZXhwIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX01PUkUiCisKK2V4cG9ydCBURVJNPWxpbnV4CitwcmludGYgImFiYmFcbmJhclxuZm9vXG54eXp6eVxuIiB8CisJJFRTX0hFTFBFUl9NT1JFICsvZm9vID4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9tb3JlL3NxdWVlemUgYi90ZXN0cy90cy9tb3JlL3NxdWVlemUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDViNGE2YQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21vcmUvc3F1ZWV6ZQpAQCAtMCwwICsxLDI2IEBACisjIS9iaW4vYmFzaAorCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InNxdWVlemUiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfTU9SRSIKKworcHJpbnRmICJhXG5cblxuYlxuIiB8CisJJFRTX0hFTFBFUl9NT1JFIC1zID4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9tb3VudC9kZXZuYW1lIGIvdGVzdHMvdHMvbW91bnQvZGV2bmFtZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NWExYmEyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbW91bnQvZGV2bmFtZQpAQCAtMCwwICsxLDYxIEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iYnkgZGV2bmFtZSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NT1VOVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9VTU9VTlQiCisKK3RzX3NraXBfbm9ucm9vdAordHNfY2hlY2tfbG9zZXR1cAordHNfY2hlY2tfcHJvZyAibWtmcy5leHQzIgorCit0c19kZXZpY2VfaW5pdAorREVWSUNFPSRUU19MT0RFVgorCitNVEFCX0ZJTEU9Ii9wcm9jL21vdW50cyIKK2hhc19tdGFiPSQoIHRzX2hhc19tdGFiX3N1cHBvcnQgKQoraWYgWyAiJGhhc19tdGFiIiA9PSAieWVzIiBdOyB0aGVuCisJTVRBQl9GSUxFPSIvZXRjL210YWIiCitmaQorCitta2ZzLmV4dDMgJERFVklDRSAmPiAvZGV2L251bGwgfHwgdHNfZGllICJDYW5ub3QgbWFrZSBleHQzIG9uICRERVZJQ0UiCisKK3RzX2RldmljZV9oYXMgIlRZUEUiICJleHQzIiAkREVWSUNFIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgZXh0MyBvbiAkREVWSUNFIgorCitbIC1kICIkVFNfTU9VTlRQT0lOVCIgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVAorCiskVFNfQ01EX01PVU5UICRERVZJQ0UgJFRTX01PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2lzX21vdW50ZWQgJERFVklDRSB8fCB0c19kaWUgIkNhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2MvbW91bnRzIgorCitncmVwIC1xICRERVZJQ0UgJE1UQUJfRklMRSB8fAorCWVjaG8gIm1vdW50IGZhaWxlZDogY2Fubm90IGZpbmQgJERFVklDRSBpbiAkTVRBQl9GSUxFIiA+PiAkVFNfT1VUUFVUIDI+JjEKKworJFRTX0NNRF9VTU9VTlQgJERFVklDRSB8fCB0c19kaWUgIkNhbm5vdCB1bW91bnQgJERFVklDRSIKKworZ3JlcCAtcSAkREVWSUNFICRNVEFCX0ZJTEUgJiYKKwllY2hvICJ1bW91bnQgZmFpbGVkOiBmb3VuZCAkREVWSUNFIGluICRNVEFCX0ZJTEUiID4+ICRUU19PVVRQVVQgMj4mMQorCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9tb3VudC9mc2xpc3RzIGIvdGVzdHMvdHMvbW91bnQvZnNsaXN0cwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NDg1OWJhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbW91bnQvZnNsaXN0cwpAQCAtMCwwICsxLDkwIEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iZnMgbGlzdHMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVU1PVU5UIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX2xvc2V0dXAKK3RzX2NoZWNrX3Byb2cgIm1rZnMuZXh0MyIKKwordHNfZGV2aWNlX2luaXQKK0RFVklDRT0kVFNfTE9ERVYKKworbWtmcy5leHQzICRERVZJQ0UgJj4gL2Rldi9udWxsIHx8IHRzX2RpZSAiQ2Fubm90IG1ha2UgZXh0MyBvbiAkREVWSUNFIgorCit0c19kZXZpY2VfaGFzICJUWVBFIiAiZXh0MyIgJERFVklDRSB8fCB0c19kaWUgIkNhbm5vdCBmaW5kIGV4dDMgb24gJERFVklDRSIKKworIyBEb24ndCBmb3JnZXQgdGhhdCAkVFNfTU9VTlRQT0lOVCBpcyBzdWJ0ZXN0IHNwZWNpZmljLCBkb24ndCBjcmVhdGUgaXQKKyMgZ2xvYmFsbHkhCisKKwordHNfaW5pdF9zdWJ0ZXN0ICJvbmUtdHlwZSIKK1sgLWQgIiRUU19NT1VOVFBPSU5UIiBdIHx8IG1rZGlyIC1wICRUU19NT1VOVFBPSU5UCiskVFNfQ01EX01PVU5UIC10IGV4dDMgJERFVklDRSAkVFNfTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2lzX21vdW50ZWQgJERFVklDRSB8fCB0c19kaWUgIkNhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2MvbW91bnRzIgorJFRTX0NNRF9VTU9VTlQgJFRTX01PVU5UUE9JTlQKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgIm1vcmUtdHlwZXMiCitbIC1kICIkVFNfTU9VTlRQT0lOVCIgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVAorJFRTX0NNRF9NT1VOVCAtdCBmb28sYmFyLGV4dDMgJERFVklDRSAkVFNfTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2lzX21vdW50ZWQgJERFVklDRSB8fCB0c19kaWUgIkNhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2MvbW91bnRzIgorJFRTX0NNRF9VTU9VTlQgJFRTX01PVU5UUE9JTlQKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgIm1vcmUtdHlwZXMtZnN0YWIiCitbIC1kICIkVFNfTU9VTlRQT0lOVCIgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVAordHNfZnN0YWJfYWRkICRERVZJQ0UgJFRTX01PVU5UUE9JTlQgImZvbyxiYXIsZXh0MyIKKyRUU19DTURfTU9VTlQgJFRTX01PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCit0c19mc3RhYl9jbGVhbgordHNfaXNfbW91bnRlZCAkREVWSUNFIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgJERFVklDRSBpbiAvcHJvYy9tb3VudHMiCiskVFNfQ01EX1VNT1VOVCAkVFNfTU9VTlRQT0lOVAordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAidHlwZS1wYXR0ZXJuIgorWyAtZCAiJFRTX01PVU5UUE9JTlQiIF0gfHwgbWtkaXIgLXAgJFRTX01PVU5UUE9JTlQKKyRUU19DTURfTU9VTlQgLXQgbm9mb28sYmFyICRERVZJQ0UgJFRTX01PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCit0c19pc19tb3VudGVkICRERVZJQ0UgfHwgdHNfZGllICJDYW5ub3QgZmluZCAkREVWSUNFIGluIC9wcm9jL21vdW50cyIKKyRUU19DTURfVU1PVU5UICRUU19NT1VOVFBPSU5UCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJ0eXBlLXBhdHRlcm4tbmVnIgorWyAtZCAiJFRTX01PVU5UUE9JTlQiIF0gfHwgbWtkaXIgLXAgJFRTX01PVU5UUE9JTlQKKyRUU19DTURfTU9VTlQgLXQgbm9mb28sYmFyLGV4dDMsZXh0MixleHQ0ICRERVZJQ0UgJFRTX01PVU5UUE9JTlQgJj4gL2Rldi9udWxsCit0c19pc19tb3VudGVkICRERVZJQ0UgJiYgdHNfZGllICIkREVWSUNFIHVuZXhwZWN0ZWRseSBtb3VudGVkIgordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9tb3VudC9mc3RhYi1icm9rZW4gYi90ZXN0cy90cy9tb3VudC9mc3RhYi1icm9rZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjdkZmE2ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21vdW50L2ZzdGFiLWJyb2tlbgpAQCAtMCwwICsxLDc5IEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImJyb2tlbiBmc3RhYiIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NT1VOVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9VTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRklORE1OVCIKKwordHNfc2tpcF9ub25yb290CisKKyMgTGV0J3MgdXNlIHRoZSBzYW1lIG1vdW50cG9pbnQgZm9yIGFsbCBzdWJ0ZXN0cworTU5UPSRUU19NT1VOVFBPSU5UCitta2RpciAtcCAkTU5UCisKK3RzX2ZzdGFiX29wZW4KK2VjaG8gInRtcGQgJE1OVCB0bXBmcyIgPj4gL2V0Yy9mc3RhYgordHNfZnN0YWJfY2xvc2UKKwordHNfaW5pdF9zdWJ0ZXN0ICJtb3VudCIKKyRUU19DTURfTU9VTlQgJE1OVCAmPiAvZGV2L251bGwKK1sgIiQ/IiA9ICIwIiBdIHx8IHRzX2xvZyAiZXJyb3I6IG1vdW50ICRNTlQiCiskVFNfQ01EX0ZJTkRNTlQgLS1rZXJuZWwgLS1tb3VudHBvaW50ICIkTU5UIiAmPiAvZGV2L251bGwKK2lmIFsgIiQ/IiAhPSAiMCIgXTsgdGhlbgorCXRzX2xvZyAiQ2Fubm90IGZpbmQgJE1OVCBpbiAvcHJvYy9zZWxmL21vdW50aW5mbyIKK2Vsc2UKKwl0c19sb2cgIk9LIgorZmkKKyRUU19DTURfVU1PVU5UICRNTlQgJj4gL2Rldi9udWxsCitpZiBbICIkPyIgPSAiMCIgXTsgdGhlbgorCSMgZm9yIG9sZCBzeXN0ZW1zIHdpdGggbXRhYiBhbmQgL3NiaW4vbW91bnQudG1wZnMKKwkvYmluL3Vtb3VudCAtLWZha2UgIiRNTlQiICY+IC9kZXYvbnVsbAorZWxzZQorCXRzX2xvZyAiZXJyb3I6IHVtb3VudCAkTU5UIgorZmkKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgIm1vdW50LWFsbCIKKyRUU19DTURfTU9VTlQgLWEgJj4gL2Rldi9udWxsCitbICIkPyIgPSAiMCIgXSB8fCB0c19sb2cgImVycm9yOiBtb3VudCAtYSIKKyRUU19DTURfRklORE1OVCAtLWtlcm5lbCAtLW1vdW50cG9pbnQgIiRNTlQiICY+IC9kZXYvbnVsbAoraWYgWyAiJD8iICE9ICIwIiBdOyB0aGVuCisJdHNfbG9nICJDYW5ub3QgZmluZCAkTU5UIGluIC9wcm9jL3NlbGYvbW91bnRpbmZvIgorZWxzZQorCXRzX2xvZyAiT0siCitmaQorJFRTX0NNRF9VTU9VTlQgJE1OVCAmPiAvZGV2L251bGwKK2lmIFsgIiQ/IiA9ICIwIiBdOyB0aGVuCisJIyBmb3Igb2xkIHN5c3RlbXMgd2l0aCBtdGFiIGFuZCAvc2Jpbi9tb3VudC50bXBmcworCS9iaW4vdW1vdW50IC0tZmFrZSAkTU5UICY+IC9kZXYvbnVsbAorZWxzZQorCXRzX2xvZyAiZXJyb3I6IHVtb3VudCAkTU5UIgorZmkKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfZnN0YWJfY2xlYW4KKwordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbW91bnQvZnN0YWItYnRyZnMgYi90ZXN0cy90cy9tb3VudC9mc3RhYi1idHJmcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42YWJiZDBiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbW91bnQvZnN0YWItYnRyZnMKQEAgLTAsMCArMSwxMzQgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE2IFN0YW5pc2xhdiBCcmFiZWMgPHNicmFiZWNAc3VzZS5jej4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImJ0cmZzIChmc3RhYikiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVU1PVU5UIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX2xvc2V0dXAKK3RzX2NoZWNrX3Byb2cgIm1rZnMuYnRyZnMiCit0c19jaGVja19wcm9nICJidHJmcyIKKworIyBidHJmcyBmZWF0dXJlIGNoZWNrCitpZiAhIGJ0cmZzIGluc3BlY3QtaW50ZXJuYWwgLS1oZWxwICY+L2Rldi9udWxsIHx8IFwKKyAgIGJ0cmZzIGluc3BlY3QtaW50ZXJuYWwgcm9vdGlkIGJsYSAyPiYxIHwgZ3JlcCAtcSAidW5rbm93biB0b2tlbiI7IHRoZW4KKwl0c19za2lwICJidHJmcyB0b28gb2xkIgorZmkKKworVFNfTU9VTlRQT0lOVF9BTlk9IiRUU19NT1VOVFBPSU5UIgorVFNfTU9VTlRQT0lOVF9DUkVBVEU9IiRUU19NT1VOVFBPSU5ULWNyZWF0ZSIKK1RTX01PVU5UUE9JTlRfREVGQVVMVD0iJFRTX01PVU5UUE9JTlQtZGVmYXVsdCIKK1RTX01PVU5UUE9JTlRfU1VCVk9MPSIkVFNfTU9VTlRQT0lOVC1zdWJ2b2wiCitUU19NT1VOVFBPSU5UX1NVQlZPTElEPSIkVFNfTU9VTlRQT0lOVC1zdWJ2b2xpZCIKK1RTX01PVU5UUE9JTlRfQklORD0iJFRTX01PVU5UUE9JTlQtYmluZCIKKwordHNfZGV2aWNlX2luaXQgNDIKK0RFVklDRT0kVFNfTE9ERVYKK1sgLWQgIiRUU19NT1VOVFBPSU5UX0NSRUFURSIgXSB8fCBta2RpciAtcCAiJFRTX01PVU5UUE9JTlRfQ1JFQVRFIgorWyAtZCAiJFRTX01PVU5UUE9JTlRfREVGQVVMVCIgXSB8fCBta2RpciAtcCAiJFRTX01PVU5UUE9JTlRfREVGQVVMVCIKK1sgLWQgIiRUU19NT1VOVFBPSU5UX1NVQlZPTCIgXSB8fCBta2RpciAtcCAiJFRTX01PVU5UUE9JTlRfU1VCVk9MIgorWyAtZCAiJFRTX01PVU5UUE9JTlRfU1VCVk9MSUQiIF0gfHwgbWtkaXIgLXAgIiRUU19NT1VOVFBPSU5UX1NVQlZPTElEIgorWyAtZCAiJFRTX01PVU5UUE9JTlRfQklORCIgXSB8fCBta2RpciAtcCAiJFRTX01PVU5UUE9JTlRfQklORCIKK21rZnMuYnRyZnMgLWQgc2luZ2xlIC1tIHNpbmdsZSAkREVWSUNFICY+IC9kZXYvbnVsbCB8fCB0c19kaWUgIkNhbm5vdCBtYWtlIGJ0cmZzIG9uICRERVZJQ0UiCisKKyRUU19DTURfTU9VTlQgLW8gbG9vcCAiJERFVklDRSIgIiRUU19NT1VOVFBPSU5UX0NSRUFURSIKK3B1c2hkIC4gPi9kZXYvbnVsbAorY2QgIiRUU19NT1VOVFBPSU5UX0NSRUFURSIKK21rZGlyIC1wIGQwL2RkMC9kZGQwCitjZCAuL2QwL2RkMC9kZGQwCit0b3VjaCBmaWxlezEuLjV9CitidHJmcyBzdWJ2b2wgY3JlYXRlIHMxID4vZGV2L251bGwKK2NkIC4vczEKK3RvdWNoIGZpbGV7MS4uNX0KK21rZGlyIGJpbmQtcG9pbnQKK21rZGlyIC1wIGQxL2RkMS9kZGQxCitjZCAuL2QxL2RkMS9kZGQxCitidHJmcyBzdWJ2b2wgY3JlYXRlIHMyID4vZGV2L251bGwKK0RFRkFVTFRfU1VCVk9MSUQ9JChidHJmcyBpbnNwZWN0LWludGVybmFsIHJvb3RpZCBzMikKK2J0cmZzIHN1YnZvbCBzZXQtZGVmYXVsdCAkREVGQVVMVF9TVUJWT0xJRCAuID4vZGV2L251bGwKK05PTl9ERUZBVUxUX1NVQlZPTElEPSQoYnRyZnMgc3Vidm9sIGxpc3QgIiRUU19NT1VOVFBPSU5UX0NSRUFURSIgfCB3aGlsZSByZWFkIGR1bW15IGlkIHJlc3QgOyBkbyBpZiB0ZXN0ICRpZCA9ICRERUZBVUxUX1NVQlZPTElEIDsgdGhlbiBjb250aW51ZSA7IGZpIDsgZWNobyAkaWQgOyBkb25lKQorY2QgLi4vLi4vLi4vLi4KK21rZGlyIC1wIGQyL2RkMi9kZGQyCitjZCAuL2QyL2RkMi9kZGQyCitidHJmcyBzdWJ2b2wgY3JlYXRlIHMzID4vZGV2L251bGwKK21rZGlyIC1wIHMzL2JpbmQtbW50Citwb3BkID4vZGV2L251bGwKK05PTl9ERUZBVUxUX1NVQlZPTD1kMC9kZDAvZGRkMC9kMi9kZDIvZGRkMi9zMworJFRTX0NNRF9VTU9VTlQgIiRUU19NT1VOVFBPSU5UX0NSRUFURSIKKworCit0c19pbml0X3N1YnRlc3QgImJ0cmZzIgorIyBUZXN0cyB3aXRoIGZzID09IGJ0cmZzCisjIG1vdW50aW5nIGRlZmF1bHQgc3Vidm9sdW1lLCBkZWVwIGluIHRoZSBzdHJ1Y3R1cmUsIHdpdGhvdXQgZW50cnkgaW4gZnN0YWIKK3RzX2ZzdGFiX2FkZCAiJERFVklDRSIgIiRUU19NT1VOVFBPSU5UX0RFRkFVTFQiICJidHJmcyIgIiIKKyMgbW91bnRpbmcgZGVmYXVsdCBzdWJ2b2x1bWUsIGRlZXAgaW4gdGhlIHN0cnVjdHVyZQordHNfZnN0YWJfYWRkICIkREVWSUNFIiAiJFRTX01PVU5UUE9JTlRfU1VCVk9MIiAiYnRyZnMiICJzdWJ2b2w9JE5PTl9ERUZBVUxUX1NVQlZPTCIKKyMgbW91bnRpbmcgbm9uLWRlZmF1bHQgc3Vidm9sdW1lCit0c19mc3RhYl9hZGQgIiRERVZJQ0UiICIkVFNfTU9VTlRQT0lOVF9TVUJWT0xJRCIgImJ0cmZzIiAic3Vidm9saWQ9JE5PTl9ERUZBVUxUX1NVQlZPTElEIgorIyB0ZXN0IGJpbmQgbW91bnQgcG9pbnRpbmcgdG8gc3Vidm9sdW1lIHJvb3QKK3RzX2ZzdGFiX2FkZCAiJFRTX01PVU5UUE9JTlRfU1VCVk9MSUQiICIkVFNfTU9VTlRQT0lOVF9CSU5EIiAiYXV0byIgImJpbmQiCisKKyRUU19DTURfTU9VTlQgLWEgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX01PVU5UIC1hID4+ICRUU19PVVRQVVQgMj4mMQorCiskVFNfQ01EX1VNT1VOVCAiJFRTX01PVU5UUE9JTlRfQklORCIgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX1VNT1VOVCAiJFRTX01PVU5UUE9JTlRfREVGQVVMVCIgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX1VNT1VOVCAiJFRTX01PVU5UUE9JTlRfU1VCVk9MIiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfVU1PVU5UICIkVFNfTU9VTlRQT0lOVF9TVUJWT0xJRCIgPj4gJFRTX09VVFBVVCAyPiYxCisKKyMgY2hlY2sgdGhhdCBldmVyeXRoaW5nIHdhcyB1bm1vdW50ZWQKKyRUU19DTURfTU9VTlQgfCBncmVwICIkVFNfTU9VTlRQT0lOVF9BTlkiID4+ICRUU19PVVRQVVQgMj4mMQorCit0c19mc3RhYl9jbGVhbgordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImF1dG8iCisjIFRlc3RzIHdpdGggZnMgPT0gYXV0bworIyBtb3VudGluZyBkZWZhdWx0IHN1YnZvbHVtZSwgZGVlcCBpbiB0aGUgc3RydWN0dXJlLCB3aXRob3V0IGVudHJ5IGluIGZzdGFiCit0c19mc3RhYl9hZGQgIiRERVZJQ0UiICIkVFNfTU9VTlRQT0lOVF9ERUZBVUxUIiAiYXV0byIgIiIKKyMgbW91bnRpbmcgZGVmYXVsdCBzdWJ2b2x1bWUsIGRlZXAgaW4gdGhlIHN0cnVjdHVyZQordHNfZnN0YWJfYWRkICIkREVWSUNFIiAiJFRTX01PVU5UUE9JTlRfU1VCVk9MIiAiYXV0byIgInN1YnZvbD0kTk9OX0RFRkFVTFRfU1VCVk9MIgorIyBtb3VudGluZyBub24tZGVmYXVsdCBzdWJ2b2x1bWUKK3RzX2ZzdGFiX2FkZCAiJERFVklDRSIgIiRUU19NT1VOVFBPSU5UX1NVQlZPTElEIiAiYXV0byIgInN1YnZvbGlkPSROT05fREVGQVVMVF9TVUJWT0xJRCIKKyMgdGVzdCBiaW5kIG1vdW50IHBvaW50aW5nIHRvIHN1YnZvbHVtZSBzdWItZGlyZWN0b3J5Cit0c19mc3RhYl9hZGQgIiRUU19NT1VOVFBPSU5UX1NVQlZPTC9iaW5kLW1udCIgIiRUU19NT1VOVFBPSU5UX0JJTkQiICJhdXRvIiAiYmluZCIKKworJFRTX0NNRF9NT1VOVCAtYSA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfTU9VTlQgLWEgPj4gJFRTX09VVFBVVCAyPiYxCisKKyRUU19DTURfVU1PVU5UICIkVFNfTU9VTlRQT0lOVF9CSU5EIiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfVU1PVU5UICIkVFNfTU9VTlRQT0lOVF9ERUZBVUxUIiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfVU1PVU5UICIkVFNfTU9VTlRQT0lOVF9TVUJWT0wiID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9VTU9VTlQgIiRUU19NT1VOVFBPSU5UX1NVQlZPTElEIiA+PiAkVFNfT1VUUFVUIDI+JjEKKworIyBjaGVjayB0aGF0IGV2ZXJ5dGhpbmcgd2FzIHVubW91bnRlZAorJFRTX0NNRF9NT1VOVCB8IGdyZXAgIiRUU19NT1VOVFBPSU5UX0FOWSIgPj4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2ZzdGFiX2NsZWFuCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbW91bnQvZnN0YWItZGV2bmFtZSBiL3Rlc3RzL3RzL21vdW50L2ZzdGFiLWRldm5hbWUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGUzOTFjOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21vdW50L2ZzdGFiLWRldm5hbWUKQEAgLTAsMCArMSw1NiBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJieSBkZXZuYW1lIChmc3RhYikiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVU1PVU5UIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX2xvc2V0dXAKK3RzX2NoZWNrX3Byb2cgIm1rZnMuZXh0MyIKKwordHNfZGV2aWNlX2luaXQKK0RFVklDRT0kVFNfTE9ERVYKKworbWtmcy5leHQzICRERVZJQ0UgJj4gL2Rldi9udWxsIHx8IHRzX2RpZSAiQ2Fubm90IG1ha2UgZXh0MyBvbiAkREVWSUNFIgorCit0c19kZXZpY2VfaGFzICJUWVBFIiAiZXh0MyIgJERFVklDRSB8fCB0c19kaWUgIkNhbm5vdCBmaW5kIGV4dDMgb24gJERFVklDRSIKKworWyAtZCAiJFRTX01PVU5UUE9JTlQiIF0gfHwgbWtkaXIgLXAgJFRTX01PVU5UUE9JTlQKKwordHNfZnN0YWJfYWRkICRERVZJQ0UKKworIyB2YXJpYW50IEEpCiskVFNfQ01EX01PVU5UICRUU19NT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQordHNfaXNfbW91bnRlZCAkREVWSUNFIHx8IHRzX2RpZSAiQSkgQ2Fubm90IGZpbmQgJERFVklDRSBpbiAvcHJvYy9tb3VudHMiCiskVFNfQ01EX1VNT1VOVCAkREVWSUNFIHx8IHRzX2RpZSAiQSkgQ2Fubm90IHVtb3VudCAkREVWSUNFIgorCisjIHZhcmlhbnQgQikKKyRUU19DTURfTU9VTlQgJERFVklDRSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2lzX21vdW50ZWQgJERFVklDRSB8fCB0c19kaWUgIkIpIENhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2MvbW91bnRzIgorJFRTX0NNRF9VTU9VTlQgJERFVklDRSB8fCB0c19kaWUgIkIpIENhbm5vdCB1bW91bnQgJERFVklDRSIKKwordHNfZnN0YWJfY2xlYW4KKwordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbW91bnQvZnN0YWItZGV2bmFtZTJsYWJlbCBiL3Rlc3RzL3RzL21vdW50L2ZzdGFiLWRldm5hbWUybGFiZWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzgwYjkxZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21vdW50L2ZzdGFiLWRldm5hbWUybGFiZWwKQEAgLTAsMCArMSw1MiBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJieSBkZXZuYW1lIChmc3RhYiBsYWJlbCkiCitMQUJFTD0idGVzdE1vdW50RDJMIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VNT1VOVCIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19sb3NldHVwCit0c19jaGVja19wcm9nICJta2ZzLmV4dDMiCisKK3RzX2RldmljZV9pbml0CitERVZJQ0U9JFRTX0xPREVWCisKK21rZnMuZXh0MyAtTCAkTEFCRUwgJERFVklDRSAmPiAvZGV2L251bGwgfHwgdHNfZGllICJDYW5ub3QgbWFrZSBleHQzIG9uICRERVZJQ0UiCisKK3RzX2RldmljZV9oYXMgIkxBQkVMIiAkTEFCRUwgJERFVklDRSBcCisgfHwgdHNfZGllICJDYW5ub3QgZmluZCBMQUJFTCAnJExBQkVMJyBvbiAkREVWSUNFIgorCitbIC1kICIkVFNfTU9VTlRQT0lOVCIgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVAorCit0c19mc3RhYl9hZGQgIkxBQkVMPSRMQUJFTCIKKworJFRTX0NNRF9NT1VOVCAkREVWSUNFID4+ICRUU19PVVRQVVQgMj4mMQordHNfaXNfbW91bnRlZCAkREVWSUNFIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgJERFVklDRSBpbiAvcHJvYy9tb3VudHMiCiskVFNfQ01EX1VNT1VOVCAkREVWSUNFIHx8IHRzX2RpZSAiQ2Fubm90IHVtb3VudCAkREVWSUNFIgorCit0c19mc3RhYl9jbGVhbgorCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9tb3VudC9mc3RhYi1kZXZuYW1lMnV1aWQgYi90ZXN0cy90cy9tb3VudC9mc3RhYi1kZXZuYW1lMnV1aWQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2VkMTlkMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21vdW50L2ZzdGFiLWRldm5hbWUydXVpZApAQCAtMCwwICsxLDUyIEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImJ5IGRldm5hbWUgKGZzdGFiIHV1aWQpIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VNT1VOVCIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19sb3NldHVwCit0c19jaGVja19wcm9nICJta2ZzLmV4dDMiCisKK3RzX2RldmljZV9pbml0CitERVZJQ0U9JFRTX0xPREVWCisKK21rZnMuZXh0MyAkREVWSUNFICY+IC9kZXYvbnVsbCB8fCB0c19kaWUgIkNhbm5vdCBtYWtlIGV4dDMgb24gJERFVklDRSIKKwordHNfZGV2aWNlX2hhc191dWlkICRERVZJQ0UgfHwgdHNfZGllICJDYW5ub3QgZmluZCBVVUlEIG9uICRERVZJQ0UiCisKK1VVSUQ9JCh0c191dWlkX2J5X2Rldm5hbWUgJERFVklDRSkKKworWyAtZCAiJFRTX01PVU5UUE9JTlQiIF0gfHwgbWtkaXIgLXAgJFRTX01PVU5UUE9JTlQKKwordHNfZnN0YWJfYWRkICJVVUlEPSRVVUlEIgorCiskVFNfQ01EX01PVU5UICRERVZJQ0UgPj4gJFRTX09VVFBVVCAyPiYxCit0c19pc19tb3VudGVkICRERVZJQ0UgfHwgdHNfZGllICJDYW5ub3QgZmluZCAkREVWSUNFIGluIC9wcm9jL21vdW50cyIKKyRUU19DTURfVU1PVU5UICRERVZJQ0UgfHwgdHNfZGllICJDYW5ub3QgdW1vdW50ICRERVZJQ0UiCisKK3RzX2ZzdGFiX2NsZWFuCisKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21vdW50L2ZzdGFiLWxhYmVsIGIvdGVzdHMvdHMvbW91bnQvZnN0YWItbGFiZWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmM1YTE1ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21vdW50L2ZzdGFiLWxhYmVsCkBAIC0wLDAgKzEsNjMgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iYnkgbGFiZWwgKGZzdGFiKSIKK0xBQkVMPSJ0ZXN0RnN0YWJMYWJlbCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NT1VOVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9VTU9VTlQiCisKK3RzX3NraXBfbm9ucm9vdAordHNfY2hlY2tfbG9zZXR1cAordHNfY2hlY2tfcHJvZyAibWtmcy5leHQzIgorCit0c19kZXZpY2VfaW5pdAorREVWSUNFPSRUU19MT0RFVgorCitta2ZzLmV4dDMgLUwgJExBQkVMICRERVZJQ0UgJj4gL2Rldi9udWxsIHx8IHRzX2RpZSAiQ2Fubm90IG1ha2UgZXh0MyBvbiAkREVWSUNFIgorCit0c19kZXZpY2VfaGFzICJMQUJFTCIgJExBQkVMICRERVZJQ0UgXAorIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgTEFCRUwgJyRMQUJFTCcgb24gJERFVklDRSIKKworWyAtZCAiJFRTX01PVU5UUE9JTlQiIF0gfHwgbWtkaXIgLXAgJFRTX01PVU5UUE9JTlQKKwordHNfZnN0YWJfYWRkICJMQUJFTD0kTEFCRUwiCisKKyMgdmFyaWFudCBBKQorJFRTX0NNRF9NT1VOVCAkVFNfTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2lzX21vdW50ZWQgJERFVklDRSB8fCB0c19kaWUgIkEpIENhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2MvbW91bnRzIgorJFRTX0NNRF9VTU9VTlQgJERFVklDRSB8fCB0c19kaWUgIkEpIENhbm5vdCB1bW91bnQgJERFVklDRSIKKworIyB2YXJpYW50IEIpCiskVFNfQ01EX01PVU5UIC1MICRMQUJFTCA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2lzX21vdW50ZWQgJERFVklDRSB8fCB0c19kaWUgIkIpIENhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2MvbW91bnRzIgorJFRTX0NNRF9VTU9VTlQgJERFVklDRSB8fCB0c19kaWUgIkIpIENhbm5vdCB1bW91bnQgJERFVklDRSIKKworIyB2YXJpYW50IEMpCiskVFNfQ01EX01PVU5UIExBQkVMPSRMQUJFTCA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2lzX21vdW50ZWQgJERFVklDRSB8fCB0c19kaWUgIkMpIENhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2MvbW91bnRzIgorJFRTX0NNRF9VTU9VTlQgJERFVklDRSB8fCB0c19kaWUgIkMpIENhbm5vdCB1bW91bnQgJERFVklDRSIKKwordHNfZnN0YWJfY2xlYW4KKwordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbW91bnQvZnN0YWItbGFiZWwyZGV2bmFtZSBiL3Rlc3RzL3RzL21vdW50L2ZzdGFiLWxhYmVsMmRldm5hbWUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2RjYWFkNQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21vdW50L2ZzdGFiLWxhYmVsMmRldm5hbWUKQEAgLTAsMCArMSw1OCBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJieSBsYWJlbCAoZnN0YWIgZGV2bmFtZSkiCitMQUJFTD0idGVzdE1vdW50TDJEIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VNT1VOVCIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19sb3NldHVwCit0c19jaGVja19wcm9nICJta2ZzLmV4dDMiCisKK3RzX2RldmljZV9pbml0CitERVZJQ0U9JFRTX0xPREVWCisKK21rZnMuZXh0MyAtTCAkTEFCRUwgJERFVklDRSAmPiAvZGV2L251bGwgfHwgdHNfZGllICJDYW5ub3QgbWFrZSBleHQzIG9uICRERVZJQ0UiCisKK3RzX2RldmljZV9oYXMgIkxBQkVMIiAkTEFCRUwgJERFVklDRSBcCisgfHwgdHNfZGllICJDYW5ub3QgZmluZCBMQUJFTCAnJExBQkVMJyBvbiAkREVWSUNFIgorCitbIC1kICIkVFNfTU9VTlRQT0lOVCIgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVAorCit0c19mc3RhYl9hZGQgIiRERVZJQ0UiCisKKyMgdmFyaWFudCBBKQorJFRTX0NNRF9NT1VOVCAtTCAkTEFCRUwgPj4gJFRTX09VVFBVVCAyPiYxCit0c19pc19tb3VudGVkICRERVZJQ0UgfHwgdHNfZGllICJBKSBDYW5ub3QgZmluZCAkREVWSUNFIGluIC9wcm9jL21vdW50cyIKKyRUU19DTURfVU1PVU5UICRERVZJQ0UgfHwgdHNfZGllICJBKSBDYW5ub3QgdW1vdW50ICRERVZJQ0UiCisKKyMgdmFyaWFudCBCKQorJFRTX0NNRF9NT1VOVCAiTEFCRUw9JExBQkVMIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2lzX21vdW50ZWQgJERFVklDRSB8fCB0c19kaWUgIkIpIENhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2MvbW91bnRzIgorJFRTX0NNRF9VTU9VTlQgJERFVklDRSB8fCB0c19kaWUgIkIpIENhbm5vdCB1bW91bnQgJERFVklDRSIKKwordHNfZnN0YWJfY2xlYW4KKwordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbW91bnQvZnN0YWItbGFiZWwydXVpZCBiL3Rlc3RzL3RzL21vdW50L2ZzdGFiLWxhYmVsMnV1aWQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDg2ZDA3MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21vdW50L2ZzdGFiLWxhYmVsMnV1aWQKQEAgLTAsMCArMSw2MyBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImJ5IGxhYmVsIChmc3RhYiB1dWlkKSIKK0xBQkVMPSJ0ZXN0TW91bnRMMlUiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVU1PVU5UIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX2xvc2V0dXAKK3RzX2NoZWNrX3Byb2cgIm1rZnMuZXh0MyIKKwordHNfZGV2aWNlX2luaXQKK0RFVklDRT0kVFNfTE9ERVYKKworbWtmcy5leHQzIC1MICRMQUJFTCAkREVWSUNFICY+IC9kZXYvbnVsbCB8fCB0c19kaWUgIkNhbm5vdCBtYWtlIGV4dDMgb24gJERFVklDRSIKKwordHNfZGV2aWNlX2hhcyAiTEFCRUwiICRMQUJFTCAkREVWSUNFIFwKKyB8fCB0c19kaWUgIkNhbm5vdCBmaW5kIExBQkVMICckTEFCRUwnIG9uICRERVZJQ0UiCisKK3RzX2RldmljZV9oYXNfdXVpZCAkREVWSUNFIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgVVVJRCBvbiAkREVWSUNFIgorCitVVUlEPSQodHNfdXVpZF9ieV9kZXZuYW1lICRERVZJQ0UpCisKK1sgLWQgIiRUU19NT1VOVFBPSU5UIiBdIHx8IG1rZGlyIC1wICRUU19NT1VOVFBPSU5UCisKK3RzX2ZzdGFiX2FkZCAiVVVJRD0kVVVJRCIKKworIyB2YXJpYW50IEEpCiskVFNfQ01EX01PVU5UIC1MICRMQUJFTCA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2lzX21vdW50ZWQgJERFVklDRSB8fCB0c19kaWUgIkEpIENhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2MvbW91bnRzIgorJFRTX0NNRF9VTU9VTlQgJERFVklDRSB8fCB0c19kaWUgIkEpIENhbm5vdCB1bW91bnQgJERFVklDRSIKKworIyB2YXJpYW50IEIpCiskVFNfQ01EX01PVU5UICJMQUJFTD0kTEFCRUwiID4+ICRUU19PVVRQVVQgMj4mMQordHNfaXNfbW91bnRlZCAkREVWSUNFIHx8IHRzX2RpZSAiQikgQ2Fubm90IGZpbmQgJERFVklDRSBpbiAvcHJvYy9tb3VudHMiCiskVFNfQ01EX1VNT1VOVCAkREVWSUNFIHx8IHRzX2RpZSAiQikgQ2Fubm90IHVtb3VudCAkREVWSUNFIgorCit0c19mc3RhYl9jbGVhbgorCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9tb3VudC9mc3RhYi1sb29wIGIvdGVzdHMvdHMvbW91bnQvZnN0YWItbG9vcApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45ZTE3OTQzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbW91bnQvZnN0YWItbG9vcApAQCAtMCwwICsxLDUxIEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAxNiBTdGFuaXNsYXYgQnJhYmVjIDxzYnJhYmVjQHN1c2UuY3o+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJsb29wIChmc3RhYikiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVU1PVU5UIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX2xvc2V0dXAKK3RzX2NoZWNrX3Byb2cgIm1rZnMuZXh0MyIKKworSU1HPSQodHNfaW1hZ2VfaW5pdCkKKworbWtmcy5leHQzIC1GICRJTUcgJj4gL2Rldi9udWxsIHx8IHRzX2RpZSAiQ2Fubm90IG1ha2UgZXh0MyBvbiAkSU1HIgorCitbIC1kICIkVFNfTU9VTlRQT0lOVC0xIiBdIHx8IG1rZGlyIC1wICRUU19NT1VOVFBPSU5ULTEKK1sgLWQgIiRUU19NT1VOVFBPSU5ULTIiIF0gfHwgbWtkaXIgLXAgJFRTX01PVU5UUE9JTlQtMgorCit0c19mc3RhYl9hZGQgIiRJTUciICIkVFNfTU9VTlRQT0lOVC0xIiAiZXh0MyIgImxvb3AiCiskVFNfQ01EX01PVU5UIC1hID4+ICRUU19PVVRQVVQgMj4mMQorCit0c19mc3RhYl9hZGQgIiRJTUciICIkVFNfTU9VTlRQT0lOVC0yIiAiZXh0MyIgImxvb3AiCiskVFNfQ01EX01PVU5UIC1hID4+ICRUU19PVVRQVVQgMj4mMQorCiskVFNfQ01EX1VNT1VOVCAiJFRTX01PVU5UUE9JTlQtMSIgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX1VNT1VOVCAiJFRTX01PVU5UUE9JTlQtMiIgPj4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2ZzdGFiX2NsZWFuCisKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21vdW50L2ZzdGFiLW5vbmUgYi90ZXN0cy90cy9tb3VudC9mc3RhYi1ub25lCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY1YjNiN2EKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9tb3VudC9mc3RhYi1ub25lCkBAIC0wLDAgKzEsMzcgQEAKKyMhL2Jpbi9iYXNoCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9Im5vbmUiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVU1PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZJTkRNTlQiCisKK3RzX3NraXBfbm9ucm9vdAorCit0c19mc3RhYl9hZGQgIm5vbmUiICIkVFNfTU9VTlRQT0lOVCIgInRtcGZzIiAicncsbm9zdWlkLG5vZGV2LHJlbGF0aW1lIgorCitta2RpciAtcCAkVFNfTU9VTlRQT0lOVAorCiskVFNfQ01EX01PVU5UICRUU19NT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQorWyAiJD8iID0gIjAiIF0gfHwgdHNfbG9nICJlcnJvcjogbW91bnQgJFRTX01PVU5UUE9JTlQiCisKKyRUU19DTURfRklORE1OVCAtLW1vdW50cG9pbnQgIiRUU19NT1VOVFBPSU5UIiAmPiAvZGV2L251bGwKK1sgJD8gLWVxIDAgXSB8fCB0c19kaWUgIk5vdCBmb3VuZCB0YXJnZXQgKG1vdW50IGZhaWxlZD8pIgorCiskVFNfQ01EX0ZJTkRNTlQgLS1zb3VyY2UgIm5vbmUiIC0tbW91bnRwb2ludCAiJFRTX01PVU5UUE9JTlQiICY+IC9kZXYvbnVsbAorWyAkPyAtZXEgMCBdIHx8IHRzX2RpZSAiTm90IGZvdW5kIHNvdXJjZSBhbmQgdGFyZ2V0IgorCiskVFNfQ01EX1VNT1VOVCAkVFNfTU9VTlRQT0lOVCB8fCB0c19kaWUgIkNhbm5vdCB1bW91bnQgJFRTX01PVU5UUE9JTlQiCisKKyMgZm9yIG9sZCBzeXN0ZW1zIHdpdGggbXRhYiBhbmQgL3NiaW4vbW91bnQudG1wZnMKKy9iaW4vdW1vdW50IC0tZmFrZSAiJFRTX01PVU5UUE9JTlQiICY+IC9kZXYvbnVsbAorCit0c19mc3RhYl9jbGVhbgorCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9tb3VudC9mc3RhYi1zeW1saW5rIGIvdGVzdHMvdHMvbW91bnQvZnN0YWItc3ltbGluawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xYTEyYjg1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbW91bnQvZnN0YWItc3ltbGluawpAQCAtMCwwICsxLDcxIEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iYnkgZGV2bmFtZSAoZnN0YWIgc3ltbGluaykiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVU1PVU5UIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX2xvc2V0dXAKK3RzX2NoZWNrX3Byb2cgIm1rZnMuZXh0MyIKKworTElOS05BTUU9IiRUU19PVVRESVIvJHtUU19URVNUTkFNRX1fbG5rIgorCit0c19kZXZpY2VfaW5pdAorREVWSUNFPSRUU19MT0RFVgorCitta2ZzLmV4dDMgJERFVklDRSAmPiAvZGV2L251bGwgfHwgdHNfZGllICJDYW5ub3QgbWFrZSBleHQzIG9uICRERVZJQ0UiCisKK3RzX2RldmljZV9oYXMgIlRZUEUiICJleHQzIiAkREVWSUNFIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgZXh0MyBvbiAkREVWSUNFIgorCitbIC1kICIkVFNfTU9VTlRQT0lOVCIgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVAorCitybSAtcmYgJExJTktOQU1FCitsbiAtcyAkREVWSUNFICRMSU5LTkFNRQorCit0c19mc3RhYl9hZGQgJExJTktOQU1FICRUU19NT1VOVFBPSU5UICJhdXRvIiAiZGVmYXVsdHMsdXNlciIKKworIyB2YXJpYW50IEEpIC0tIFVJRD0wCiskVFNfQ01EX01PVU5UICRMSU5LTkFNRSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2lzX21vdW50ZWQgJERFVklDRSB8fCB0c19kaWUgIkEpIENhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2MvbW91bnRzIgorJFRTX0NNRF9VTU9VTlQgJExJTktOQU1FIHx8IHRzX2RpZSAiQSkgQ2Fubm90IHVtb3VudCAkTElOS05BTUUiCisKKyMgdmFyaWFuIEIpIC0tIGRpc2FibGVkLCB0aGUgJFRTX0NNRF9NT1VOVCBpcyB1c3VhbGx5IG5vdCBhIHJlYWwgcHJvZ3JhbSwgYnV0CisjICAgICAgICAgICAgICBsaWJ0b29sIHdyYXBwZXIgYW5kIHRoZSByZWFsIG1vdW50IGlzIGV4ZWMoKWVkIHdpdGgKKyMgICAgICAgICAgICAgIExEX0xJQlJBUllfUEFUSC4gVGhpcyBhbGwgaXMgYmFkIGZvciBzdWlkIHByb2dyYW1zLi4uCisKKyN0c19pbml0X3N1aWQgJFRTX0NNRF9NT1VOVAorI3RzX2luaXRfc3VpZCAkVFNfQ01EX1VNT1VOVAorIworI3N1ICRUU19URVNUVVNFUiAtYyAiJFRTX0NNRF9NT1VOVCAtdiAtdiAtdiAkTElOS05BTUUiID4+ICRUU19PVVRQVVQgMj4mMQorI3RzX2lzX21vdW50ZWQgJERFVklDRQorIyAgIHx8IHRzX2RpZSAiQikgQ2Fubm90IGZpbmQgJERFVklDRSBpbiAvcHJvYy9tb3VudHMiCisjc3UgJFRTX1RFU1RVU0VSIC1jICIkVFNfQ01EX1VNT1VOVCAkTElOS05BTUUiID4+ICRUU19PVVRQVVQgMj4mMSBcCisjICAgfHwgdHNfZGllICJCKSBDYW5ub3QgdW1vdW50ICRMSU5LTkFNRSIKKwordHNfZnN0YWJfY2xlYW4KK3JtIC1mICRMSU5LTkFNRQorCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9tb3VudC9mc3RhYi11dWlkIGIvdGVzdHMvdHMvbW91bnQvZnN0YWItdXVpZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hZmU0MTRkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbW91bnQvZnN0YWItdXVpZApAQCAtMCwwICsxLDYzIEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImJ5IHV1aWQgKGZzdGFiKSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NT1VOVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9VTU9VTlQiCisKK3RzX3NraXBfbm9ucm9vdAordHNfY2hlY2tfbG9zZXR1cAordHNfY2hlY2tfcHJvZyAibWtmcy5leHQzIgorCit0c19kZXZpY2VfaW5pdAorREVWSUNFPSRUU19MT0RFVgorCitta2ZzLmV4dDMgJERFVklDRSAmPiAvZGV2L251bGwgfHwgdHNfZGllICJDYW5ub3QgbWFrZSBleHQzIG9uICRERVZJQ0UiCisKK3RzX2RldmljZV9oYXNfdXVpZCAkREVWSUNFIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgVVVJRCBvbiAkREVWSUNFIgorCitVVUlEPSQodHNfdXVpZF9ieV9kZXZuYW1lICRERVZJQ0UpCisKK1sgLWQgIiRUU19NT1VOVFBPSU5UIiBdIHx8IG1rZGlyIC1wICRUU19NT1VOVFBPSU5UCisKK3RzX2ZzdGFiX2FkZCAiVVVJRD0kVVVJRCIKKworIyB2YXJpYW4gQSkKKyRUU19DTURfTU9VTlQgJFRTX01PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCit0c19pc19tb3VudGVkICRERVZJQ0UgfHwgdHNfZGllICJBKSBDYW5ub3QgZmluZCAkREVWSUNFIGluIC9wcm9jL21vdW50cyIKKyRUU19DTURfVU1PVU5UICRERVZJQ0UgfHwgdHNfZGllICJBKSBDYW5ub3QgdW1vdW50ICRERVZJQ0UiCisKKyMgdmFyaWFuIEIpCiskVFNfQ01EX01PVU5UIC1VICRVVUlEID4+ICRUU19PVVRQVVQgMj4mMQordHNfaXNfbW91bnRlZCAkREVWSUNFIHx8IHRzX2RpZSAiQikgQ2Fubm90IGZpbmQgJERFVklDRSBpbiAvcHJvYy9tb3VudHMiCiskVFNfQ01EX1VNT1VOVCAkREVWSUNFIHx8IHRzX2RpZSAiQikgQ2Fubm90IHVtb3VudCAkREVWSUNFIgorCisjIHZhcmlhbiBDKQorJFRTX0NNRF9NT1VOVCBVVUlEPSRVVUlEID4+ICRUU19PVVRQVVQgMj4mMQordHNfaXNfbW91bnRlZCAkREVWSUNFIHx8IHRzX2RpZSAiQykgQ2Fubm90IGZpbmQgJERFVklDRSBpbiAvcHJvYy9tb3VudHMiCiskVFNfQ01EX1VNT1VOVCAkREVWSUNFIHx8IHRzX2RpZSAiQykgQ2Fubm90IHVtb3VudCAkREVWSUNFIgorCit0c19mc3RhYl9jbGVhbgorCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9tb3VudC9mc3RhYi11dWlkMmRldm5hbWUgYi90ZXN0cy90cy9tb3VudC9mc3RhYi11dWlkMmRldm5hbWUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzE5NzE0OAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21vdW50L2ZzdGFiLXV1aWQyZGV2bmFtZQpAQCAtMCwwICsxLDU4IEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImJ5IHV1aWQgKGZzdGFiIGRldm5hbWUpIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VNT1VOVCIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19sb3NldHVwCit0c19jaGVja19wcm9nICJta2ZzLmV4dDMiCisKK3RzX2RldmljZV9pbml0CitERVZJQ0U9JFRTX0xPREVWCisKK21rZnMuZXh0MyAkREVWSUNFICY+IC9kZXYvbnVsbCB8fCB0c19kaWUgIkNhbm5vdCBtYWtlIGV4dDMgb24gJERFVklDRSIKKwordHNfZGV2aWNlX2hhc191dWlkICRERVZJQ0UgfHwgdHNfZGllICJDYW5ub3QgZmluZCBVVUlEIG9uICRERVZJQ0UiCisKK1VVSUQ9JCh0c191dWlkX2J5X2Rldm5hbWUgJERFVklDRSkKKworWyAtZCAiJFRTX01PVU5UUE9JTlQiIF0gfHwgbWtkaXIgLXAgJFRTX01PVU5UUE9JTlQKKwordHNfZnN0YWJfYWRkICIkREVWSUNFIgorCisjIHZhcmlhbnQgQSkKKyRUU19DTURfTU9VTlQgLVUgJFVVSUQgPj4gJFRTX09VVFBVVCAyPiYxCit0c19pc19tb3VudGVkICRERVZJQ0UgfHwgdHNfZGllICJBKSBDYW5ub3QgZmluZCAkREVWSUNFIGluIC9wcm9jL21vdW50cyIKKyRUU19DTURfVU1PVU5UICRERVZJQ0UgfHwgdHNfZGllICJBKSBDYW5ub3QgdW1vdW50ICRERVZJQ0UiCisKKyMgdmFyaWFudCBCKQorJFRTX0NNRF9NT1VOVCAiVVVJRD0kVVVJRCIgPj4gJFRTX09VVFBVVCAyPiYxCit0c19pc19tb3VudGVkICRERVZJQ0UgfHwgdHNfZGllICJCKSBDYW5ub3QgZmluZCAkREVWSUNFIGluIC9wcm9jL21vdW50cyIKKyRUU19DTURfVU1PVU5UICRERVZJQ0UgfHwgdHNfZGllICJCKSBDYW5ub3QgdW1vdW50ICRERVZJQ0UiCisKK3RzX2ZzdGFiX2NsZWFuCisKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21vdW50L2ZzdGFiLXV1aWQybGFiZWwgYi90ZXN0cy90cy9tb3VudC9mc3RhYi11dWlkMmxhYmVsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIyYzU2NDcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9tb3VudC9mc3RhYi11dWlkMmxhYmVsCkBAIC0wLDAgKzEsNjIgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iYnkgdXVpZCAoZnN0YWIgbGFiZWwpIgorTEFCRUw9InRlc3RNb3VudFUyTCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NT1VOVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9VTU9VTlQiCisKK3RzX3NraXBfbm9ucm9vdAordHNfY2hlY2tfbG9zZXR1cAordHNfY2hlY2tfcHJvZyAibWtmcy5leHQzIgorCit0c19kZXZpY2VfaW5pdAorREVWSUNFPSRUU19MT0RFVgorCitta2ZzLmV4dDMgLUwgJExBQkVMICRERVZJQ0UgJj4gL2Rldi9udWxsIHx8IHRzX2RpZSAiQ2Fubm90IG1ha2UgZXh0MyBvbiAkREVWSUNFIgorCit0c19kZXZpY2VfaGFzICJMQUJFTCIgJExBQkVMICRERVZJQ0UgXAorIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgTEFCRUwgJyRMQUJFTCcgb24gJERFVklDRSIKKwordHNfZGV2aWNlX2hhc191dWlkICRERVZJQ0UgfHwgdHNfZGllICJDYW5ub3QgZmluZCBVVUlEIG9uICRERVZJQ0UiCisKK1VVSUQ9JCh0c191dWlkX2J5X2Rldm5hbWUgJERFVklDRSkKKworWyAtZCAiJFRTX01PVU5UUE9JTlQiIF0gfHwgbWtkaXIgLXAgJFRTX01PVU5UUE9JTlQKKwordHNfZnN0YWJfYWRkICJMQUJFTD0kTEFCRUwiCisKKyMgdmFyaWFudCBBKQorJFRTX0NNRF9NT1VOVCAtVSAkVVVJRCA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2lzX21vdW50ZWQgJERFVklDRSB8fCB0c19kaWUgIkEpIENhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2MvbW91bnRzIgorJFRTX0NNRF9VTU9VTlQgJERFVklDRSB8fCB0c19kaWUgIkEpIENhbm5vdCB1bW91bnQgJERFVklDRSIKKworIyB2YXJpYW50IEIpCiskVFNfQ01EX01PVU5UICJVVUlEPSRVVUlEIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2lzX21vdW50ZWQgJERFVklDRSB8fCB0c19kaWUgIkIpIENhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2MvbW91bnRzIgorJFRTX0NNRF9VTU9VTlQgJERFVklDRSB8fCB0c19kaWUgIkIpIENhbm5vdCB1bW91bnQgJERFVklDRSIKKwordHNfZnN0YWJfY2xlYW4KKwordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbW91bnQvbGFiZWwgYi90ZXN0cy90cy9tb3VudC9sYWJlbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wOWY1OThlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbW91bnQvbGFiZWwKQEAgLTAsMCArMSw1NSBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImJ5IGxhYmVsIgorTEFCRUw9InRlc3RNb3VudExhYmVsIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VNT1VOVCIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19sb3NldHVwCit0c19jaGVja19wcm9nICJta2ZzLmV4dDMiCisKK3RzX2RldmljZV9pbml0CitERVZJQ0U9JFRTX0xPREVWCisKK21rZnMuZXh0MyAtTCAkTEFCRUwgJERFVklDRSAmPiAvZGV2L251bGwgfHwgdHNfZGllICJDYW5ub3QgbWFrZSBleHQzIG9uICRERVZJQ0UiCisKK3RzX2RldmljZV9oYXMgIkxBQkVMIiAkTEFCRUwgJERFVklDRSBcCisgfHwgdHNfZGllICJDYW5ub3QgZmluZCBMQUJFTCAnJExBQkVMJyBvbiAkREVWSUNFIgorCitbIC1kICIkVFNfTU9VTlRQT0lOVCIgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVAorCisjIHZhcmlhbnQgQSkKKyRUU19DTURfTU9VTlQgLUwgJExBQkVMICRUU19NT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQordHNfaXNfbW91bnRlZCAkREVWSUNFIHx8IHRzX2RpZSAiQSkgQ2Fubm90IGZpbmQgJERFVklDRSBpbiAvcHJvYy9tb3VudHMiCiskVFNfQ01EX1VNT1VOVCAkREVWSUNFIHx8IHRzX2RpZSAiQSkgQ2Fubm90IHVtb3VudCAkREVWSUNFIgorCisjIHZhcmlhbnQgQikKKyRUU19DTURfTU9VTlQgTEFCRUw9JExBQkVMICRUU19NT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQordHNfaXNfbW91bnRlZCAkREVWSUNFIHx8IHRzX2RpZSAiQikgQ2Fubm90IGZpbmQgJERFVklDRSBpbiAvcHJvYy9tb3VudHMiCiskVFNfQ01EX1VNT1VOVCAkREVWSUNFIHx8IHRzX2RpZSAiQikgQ2Fubm90IHVtb3VudCAkREVWSUNFIgorCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9tb3VudC9tb3ZlIGIvdGVzdHMvdHMvbW91bnQvbW92ZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lODI4YTg5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbW91bnQvbW92ZQpAQCAtMCwwICsxLDg5IEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9Im1vdmUiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVU1PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZJTkRNTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlRQT0lOVCIKKwordHNfc2tpcF9ub25yb290CisKK2Z1bmN0aW9uIG1vdW50X2FuZF9jaGVjayB7CisJIyBsYXN0IGFyZyBtdXN0IGJlIGFuIGV4aXN0aW5nIG9yIHRvLWJlLW1vdW50ZWQgbW91bnRwb2ludAorCWxvY2FsIG1vdW50cG9pbnQ9IiR7QDogLTF9IgorCisJJFRTX0NNRF9NT1VOVCAiJEAiIFwKKwkJfHwgdHNfZGllICJlcnJvcjogbW91bnQgJCoiCisKKwkkVFNfQ01EX01PVU5UUE9JTlQgLXEgIiRtb3VudHBvaW50IiBcCisJCXx8IHRzX2RpZSAiZXJyb3I6IG1vdW50cG9pbnQgJG1vdW50cG9pbnQiCit9CisKK0RJUl9QUklWQVRFPSIkVFNfT1VURElSL21udC1tb3ZlLXByaXZhdGUiCisKK0RJUl9TUkM9IiRESVJfUFJJVkFURS9tbnQtbW92ZS1zcmMiCitESVJfQT0iJERJUl9QUklWQVRFL21udC1tb3ZlLUEiCitESVJfQj0iJERJUl9QUklWQVRFL21udC1tb3ZlLUIiCisKKyMgdGhpcyBtYXkgZmFpbCBpZiB0aGVyZSBhcmUgbW91bnRlZCBkaXJzIGxlZnQKK3JtIC1yZiAiJERJUl9QUklWQVRFIiB8fCB0c19kaWUgImNsZWFudXAgZmFpbGVkLCBjaGVjayBtYW51YWxseSEiCitta2RpciAiJERJUl9QUklWQVRFIiAgfHwgdHNfZGllICJlcnJvcjogbWtkaXIgRElSX1BSSVZBVEUiCisKKyMgY3JlYXRlIGJpbmQgbW91bnQgYW5kIG1ha2UgaXQgcHJpdmF0ZSB0byBiZSBzdXJlCisjIChrZXJuZWwgY2Fubm90IG1vdmUgbW91bnQgd2l0aCBzaGFyZWQgcGFyZW50KQorbW91bnRfYW5kX2NoZWNrIC0tYmluZCAkRElSX1BSSVZBVEUgJERJUl9QUklWQVRFCittb3VudF9hbmRfY2hlY2sgLS1tYWtlLXJwcml2YXRlICRESVJfUFJJVkFURQorCisjIElzIHRoZSBiaW5kIG1vdW50IHN0aWxsIHJ3PworbWtkaXIgJERJUl9TUkMgJERJUl9BICRESVJfQiBcCisJfHwgdHNfZGllICJlcnJvcjogbWtkaXIgb24gcHJpdmF0ZSBiaW5kIG1vdW50IgorCisjIGJpbmQKK21vdW50X2FuZF9jaGVjayAtLWJpbmQgJERJUl9TUkMgJERJUl9BCisKKyMgbW92ZQorbW91bnRfYW5kX2NoZWNrIC0tbW92ZSAkRElSX0EgJERJUl9CCisKKyMgQlRXIGEgYmFzaWMgdGVzdCBmb3IgZmluZG1udCg4KSBhbmQgbW91bnRwb2ludCgxKQorZm9yIGYgaW4gYGZpbmQgJERJUl9QUklWQVRFMiAkRElSX1BSSVZBVEVgOyBkbworCXhvPSIkKCRUU19DTURfTU9VTlRQT0lOVCAtcSAiJGYiIDI+JjEpIgorCXg9JD8KKwl5bz0iJCgkVFNfQ01EX0ZJTkRNTlQgLS1rZXJuZWwgLS1tb3VudHBvaW50ICIkZiIgMj4mMSkiCisJeT0kPworCisJWyAiJHgiID0gIiR5IiBdIHx8IHRzX2xvZyAiZXJyb3I6IGZpbmRtb3VudCB2cy4gbW91bnRwb2ludDogJHgsICR5LCAkZiIKKwlbIC16ICIkeG8iIF0gfHwgdHNfbG9nICJlcnJvcjogbW91bnRwb2ludCBpcyBub3QgcXVpZXQ6ICR4LCAkeSwgJGYiCisJaWYgWyAiJHkiID0gIjAiIC1hICIkeW8iID0gIiIgXSB8fCBbICIkeSIgPSAiMSIgLWEgIiR5byIgIT0gIiIgXTsgdGhlbgorCQl0c19sb2cgImVycm9yLCBmaW5kbW91bnQgcmV0dXJuIHZhbHVlIHZzLiBvdXRwdXQ6ICR4LCAkeSwgJGYiCisJZmkKK2RvbmUKKworIyBjbGVhbiB1cAorJFRTX0NNRF9VTU9VTlQgJERJUl9CIHx8IHRzX2xvZyAiZXJyb3I6IHVtb3VudCBESVJfQiIKK3JtZGlyICRESVJfU1JDICRESVJfQSAkRElSX0IgfHwgdHNfbG9nICJlcnJvcjogcm1kaXIgRElSX0IiCiskVFNfQ01EX1VNT1VOVCAkRElSX1BSSVZBVEUgfHwgdHNfbG9nICJlcnJvcjogdW1vdW50IERJUl9QUklWQVRFIgorcm1kaXIgJERJUl9QUklWQVRFIHx8IHRzX2xvZyAiZXJyb3I6IHJtZGlyIERJUl9QUklWQVRFIgorCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9tb3VudC9yZWdmaWxlIGIvdGVzdHMvdHMvbW91bnQvcmVnZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40ZjVjZTMwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbW91bnQvcmVnZmlsZQpAQCAtMCwwICsxLDQxIEBACisjIS9iaW4vYmFzaAorCisjIENvcHlyaWdodCAoQykgMjAxMSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0icmVndWxhciBmaWxlIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VNT1VOVCIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19sb3NldHVwCit0c19jaGVja19wcm9nICJta2ZzLmV4dDMiCisKK0lNQUdFPSQodHNfaW1hZ2VfaW5pdCkKK21rZnMuZXh0MyAtRiAkSU1BR0UgJj4gL2Rldi9udWxsIHx8IHRzX2RpZSAiQ2Fubm90IG1ha2UgZXh0MyBvbiAkSU1BR0UiCisKK1sgLWQgIiRUU19NT1VOVFBPSU5UIiBdIHx8IG1rZGlyIC1wICRUU19NT1VOVFBPSU5UCisKKyRUU19DTURfTU9VTlQgJElNQUdFICRUU19NT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQorCitERVZJQ0U9JChhd2sgJy9yZWdmaWxlLyB7IHByaW50ICQxIH0nIC9wcm9jL21vdW50cykKKwordHNfaXNfbW91bnRlZCAiJFRTX01PVU5UUE9JTlQiIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgJFRTX01PVU5UUE9JTlQgaW4gL3Byb2MvbW91bnRzIgorCitpZiBbIC1mICIvc3lzL2Jsb2NrLyQoYmFzZW5hbWUgJERFVklDRSkvbG9vcC9iYWNraW5nX2ZpbGUiIF07IHRoZW4KKwkkVFNfQ01EX1VNT1VOVCAkSU1BR0UgfHwgdHNfZGllICJDYW5ub3QgdW1vdW50ICRJTUFHRSIKK2Vsc2UKKwkkVFNfQ01EX1VNT1VOVCAkVFNfTU9VTlRQT0lOVCAmPiAvZGV2L251bGwKKwl0c19za2lwICJ0b28gb2xkIGtlcm5lbCIKK2ZpCisKK3RzX2lzX21vdW50ZWQgIiRUU19NT1VOVFBPSU5UIiAmJiB0c19kaWUgIiRUU19NT1VOVFBPSU5UIHN0aWxsIGluIC9wcm9jL21vdW50cyIKKwordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbW91bnQvcmVtb3VudCBiL3Rlc3RzL3RzL21vdW50L3JlbW91bnQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzhkYjliZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21vdW50L3JlbW91bnQKQEAgLTAsMCArMSw2MiBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJyZW1vdW50IgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZJTkRNTlQiCisKK3RzX3NraXBfbm9ucm9vdAordHNfY2hlY2tfbG9zZXR1cAordHNfY2hlY2tfcHJvZyAibWtmcy5leHQyIgorCisjIG1vdW50cG9pbnQKK1sgLWQgJFRTX01PVU5UUE9JTlQgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVAorCit0c19kZXZpY2VfaW5pdAorREVWSUNFPSRUU19MT0RFVgorCitNVEFCX0ZJTEU9Ii9wcm9jL21vdW50cyIKK2hhc19tdGFiPSQoIHRzX2hhc19tdGFiX3N1cHBvcnQgKQoraWYgWyAiJGhhc19tdGFiIiA9PSAieWVzIiBdOyB0aGVuCisJTVRBQl9GSUxFPSIvZXRjL210YWIiCitmaQorCitta2ZzLmV4dDIgJERFVklDRSAmPiAvZGV2L251bGwgfHwgdHNfZGllICJDYW5ub3QgbWFrZSBleHQyIG9uICRERVZJQ0UiCisKKyMgbW91bnQgcmVhZC13cml0ZQorJFRTX0NNRF9NT1VOVCAkREVWSUNFICRUU19NT1VOVFBPSU5UIHx8IHRzX2RpZSAiQ2Fubm90IG1vdW50ICRUU19NT1VOVFBPSU5UIgorCisjIGNoZWNrIHRoZSBtb3VudAorZWdyZXAgLXEgIl4kREVWSUNFICRUU19NT1VOVFBPSU5UIiAkTVRBQl9GSUxFIFwKKyB8fCB0c19kaWUgIkNhbm5vdCBmaW5kICRUU19NT1VOVFBPSU5UIGluICRNVEFCX0ZJTEUiCisKKyMgcmVtb3VudAorJFRTX0NNRF9NT1VOVCAtbyByZW1vdW50LHJvICRUU19NT1VOVFBPSU5UIFwKKyB8fCB0c19kaWUgIkNhbm5vdCByZW1vdW50ICRUU19NT1VOVFBPSU5UIgorCisjIGNoZWNrIHRoZSByZW1vdW50CiskVFNfQ01EX0ZJTkRNTlQgLS1rZXJuZWwgLS1tb3VudHBvaW50ICIkVFNfTU9VTlRQT0lOVCIgLS1vcHRpb25zICJybyIgJj4gL2Rldi9udWxsCitbICIkPyIgPT0gIjAiIF0gfHwgdHNfZGllICJDYW5ub3QgZmluZCByZWFkLW9ubHkgaW4gJFRTX01PVU5UUE9JTlQgaW4gL3Byb2Mvc2VsZi9tb3VudGluZm8iCisKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21vdW50L3JsaW1pdCBiL3Rlc3RzL3RzL21vdW50L3JsaW1pdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NTY0ZDcwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbW91bnQvcmxpbWl0CkBAIC0wLDAgKzEsOTMgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCisjCisjIFRoZSAvZXRjL210YWIgZmlsZSBzaG91bGQgbm90IGJlIG1vZGlmaWVkIGlmIFJMSU1JVF9GU0laRSAodWxpbWl0IC1mKQorIyBpcyB0b28gbG93LCBvdGhlcndpc2UgdGhlIGZpbGUgY291bGQgYmUgY29ycnVwdGVkIChpbmNvbXBsZXRlIHdyaXRlKS4KKyMgVGhlIFt1XW1vdW50KDgpIGhhcyB0byBibG9jayBTSUdYRlNaIGFuZCBjaGVjayBpZiBhbGwgd3JpdGVzIGFuZCBmZmx1c2gKKyMgY2FsbHMgYXJlIHN1Y2Nlc3NmdWwuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InJsaW1pdC1mc2l6ZSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NT1VOVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9VTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfTUQ1IgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX2xvc2V0dXAKK3RzX2NoZWNrX3Byb2cgIm1rZnMuZXh0MyIKKworaGFzX210YWI9JCggdHNfaGFzX210YWJfc3VwcG9ydCApCitbICIkaGFzX210YWIiID09ICJ5ZXMiIF0gfHwgdHNfc2tpcCAibXRhYiB1bnN1cHBvcnRlZCIKKworWyAtTCAvZXRjL210YWIgXSAmJiB0c19za2lwICJtdGFiIGlzIHN5bWxpbmsiCitbICIkKHN0YXQgLS1mb3JtYXQgJyVzJyAvZXRjL210YWIpIiAtZ3QgIjEwMjQiIF0gfHwgdHNfc2tpcCAibXRhYiBpcyB0b28gc21hbGwiCisKK2Z1bmN0aW9uIG10YWJfY2hlY2tzdW0oKQoreworCSIkVFNfSEVMUEVSX01ENSIgPCAvZXRjL210YWIKK30KKwordHNfZGV2aWNlX2luaXQKK0RFVklDRT0kVFNfTE9ERVYKKworbWtmcy5leHQzICRERVZJQ0UgJj4gL2Rldi9udWxsIHx8IHRzX2RpZSAiQ2Fubm90IG1ha2UgZXh0MyBvbiAkREVWSUNFIgorCisKK3RzX2luaXRfc3VidGVzdCAibW91bnQiCitPTERfU1VNPSQobXRhYl9jaGVja3N1bSkKK1sgLWQgIiRUU19NT1VOVFBPSU5UIiBdIHx8IG1rZGlyIC1wICRUU19NT1VOVFBPSU5UCisoCisJdWxpbWl0IC1mIDEKKwkkVFNfQ01EX01PVU5UICRERVZJQ0UgJFRTX01PVU5UUE9JTlQKKykgJj4gL2Rldi9udWxsCitORVdfU1VNPSQobXRhYl9jaGVja3N1bSkKK1sgJE5FV19TVU0gPSAkT0xEX1NVTSBdICYmIGVjaG8gIk9LOiBtdGFiIHVubW9kaWZpZWQgYnkgbW91bnQiID4+ICRUU19PVVRQVVQKK3RzX2lzX21vdW50ZWQgJERFVklDRSB8fCB0c19kaWUgIkNhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2MvbW91bnRzIgorJFRTX0NNRF9VTU9VTlQgJFRTX01PVU5UUE9JTlQgJj4gL2Rldi9udWxsCit0c19pc19tb3VudGVkICRERVZJQ0UgJiYgdHNfZGllICIkREVWSUNFIGlzIHN0aWxsIG1vdW50ZWQiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJ1bW91bnQiCitbIC1kICIkVFNfTU9VTlRQT0lOVCIgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVAorJFRTX0NNRF9NT1VOVCAkREVWSUNFICRUU19NT1VOVFBPSU5UICY+IC9kZXYvbnVsbAordHNfaXNfbW91bnRlZCAkREVWSUNFIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgJERFVklDRSBpbiAvcHJvYy9tb3VudHMiCitPTERfU1VNPSQobXRhYl9jaGVja3N1bSkKKygKKwl1bGltaXQgLWYgMQorCSRUU19DTURfVU1PVU5UICRUU19NT1VOVFBPSU5UICY+IC9kZXYvbnVsbAorKSAmPiAvZGV2L251bGwKK05FV19TVU09JChtdGFiX2NoZWNrc3VtKQorWyAkTkVXX1NVTSA9ICRPTERfU1VNIF0gJiYgZWNobyAiT0s6IG10YWIgdW5tb2RpZmllZCBieSB1bW91bnQiID4+ICRUU19PVVRQVVQKK2lmIHRzX2lzX21vdW50ZWQgJERFVklDRTsgdGhlbgorCWVjaG8gIkZBSUw6ICRERVZJQ0UgaXMgc3RpbGwgbW91bnRlZCIgPj4gJFRTX09VVFBVVAorCSRUU19DTURfVU1PVU5UICRUU19NT1VOVFBPSU5UICY+IC9kZXYvbnVsbAorZWxzZQorCSMgcmVwYWlyIC9ldGMvbXRhYgorCSRUU19DTURfVU1PVU5UIC0tZmFrZSAkVFNfTU9VTlRQT0lOVCAmPiAvZGV2L251bGwKK2ZpCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9tb3VudC9zaGFyZWQtc3VidHJlZSBiL3Rlc3RzL3RzL21vdW50L3NoYXJlZC1zdWJ0cmVlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAzOGUwMjUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9tb3VudC9zaGFyZWQtc3VidHJlZQpAQCAtMCwwICsxLDg3IEBACisjIS9iaW4vYmFzaAorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJzaGFyZWQtc3VidHJlZSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NT1VOVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9VTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRklORE1OVCIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19sb3NldHVwCit0c19jaGVja19wcm9nICJta2ZzLmV4dDMiCisKK1sgLWQgJFRTX01PVU5UUE9JTlQgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVAorCisjIGJpbmQKKyRUU19DTURfTU9VTlQgLS1iaW5kICRUU19NT1VOVFBPSU5UICRUU19NT1VOVFBPSU5UCitbICIkPyIgPSAiMCIgXSB8fCB0c19kaWUgImVycm9yOiBtb3VudCAtLWJpbmQiCisKKyMgY2hlY2sgdGhlIGJpbmQKKyRUU19DTURfRklORE1OVCAtLWtlcm5lbCAtLW1vdW50cG9pbnQgJFRTX01PVU5UUE9JTlQgICY+IC9kZXYvbnVsbAorWyAiJD8iID09ICIwIiBdIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgYmluZGVkICRUU19NT1VOVFBPSU5UIGluIC9wcm9jL3NlbGYvbW91bnRpbmZvIgorCisjIHVzZSB0aGUgc2FtZSBtb3VucG9pbnQgZm9yIGFsbCBzdWItdGVzdHMKK01PVU5UUE9JTlQ9IiRUU19NT1VOVFBPSU5UIgorCisKK3RzX2luaXRfc3VidGVzdCAibWFrZS1zaGFyZWQiCiskVFNfQ01EX01PVU5UIC0tbWFrZS1zaGFyZWQgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX0ZJTkRNTlQgLW5yIC0tbW91bnRwb2ludCAkTU9VTlRQT0lOVCAtbyBQUk9QQUdBVElPTiA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAibWFrZS1wcml2YXRlIgorJFRTX0NNRF9NT1VOVCAtLW1ha2UtcHJpdmF0ZSAkTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfRklORE1OVCAtbnIgLS1tb3VudHBvaW50ICRNT1VOVFBPSU5UIC1vIFBST1BBR0FUSU9OID4+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgIm1ha2UtdW5iaW5kYWJsZSIKKyRUU19DTURfTU9VTlQgLS1tYWtlLXVuYmluZGFibGUgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX0ZJTkRNTlQgLW5yIC0tbW91bnRwb2ludCAkTU9VTlRQT0lOVCAtbyBQUk9QQUdBVElPTiA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMgY2xlYW4gdXAKKyRUU19DTURfVU1PVU5UICRNT1VOVFBPSU5UCisKKwordHNfaW5pdF9zdWJ0ZXN0ICJiaW5kLXNoYXJlZCIKKyRUU19DTURfTU9VTlQgLS1tYWtlLXNoYXJlZCBcCisJICAgICAgLS1iaW5kICRNT1VOVFBPSU5UICRNT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9GSU5ETU5UIC1uciAtLW1vdW50cG9pbnQgJE1PVU5UUE9JTlQgLW8gUFJPUEFHQVRJT04gPj4gJFRTX09VVFBVVAorJFRTX0NNRF9VTU9VTlQgJE1PVU5UUE9JTlQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCisjCisjIGJsb2NrIGRldiBiYXNlZCBtb3VudHMKKyMKK3RzX2RldmljZV9pbml0CitERVZJQ0U9JFRTX0xPREVWCisKK21rZnMuZXh0MyAkREVWSUNFICY+IC9kZXYvbnVsbCB8fCB0c19kaWUgIkNhbm5vdCBtYWtlIGV4dDMgb24gJERFVklDRSIKK3RzX2RldmljZV9oYXMgIlRZUEUiICJleHQzIiAkREVWSUNFIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgZXh0MyBvbiAkREVWSUNFIgorCisKK3RzX2luaXRfc3VidGVzdCAibW91bnQtcHJpdmF0ZSIKKyRUU19DTURfTU9VTlQgLS1tYWtlLXByaXZhdGUgLS1tYWtlLXVuYmluZGFibGUgXAorCSAgICAgICRERVZJQ0UgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX0ZJTkRNTlQgLW5yIC0tbW91bnRwb2ludCAkTU9VTlRQT0lOVCAtbyBQUk9QQUdBVElPTiA+PiAkVFNfT1VUUFVUCiskVFNfQ01EX1VNT1VOVCAkTU9VTlRQT0lOVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgIm1vdW50LXByaXZhdGUtcm8iCiskVFNfQ01EX01PVU5UICRERVZJQ0UgJE1PVU5UUE9JTlQgLW8gcm8scHJpdmF0ZSA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfRklORE1OVCAtbnIgLS1tb3VudHBvaW50ICRNT1VOVFBPSU5UIC1vIFBST1BBR0FUSU9OID4+ICRUU19PVVRQVVQKKyRUU19DTURfRklORE1OVCAtbnIgLS1tb3VudHBvaW50ICRNT1VOVFBPSU5UIC1vIFZGUy1PUFRJT05TID4+ICRUU19PVVRQVVQKKyRUU19DTURfVU1PVU5UICRNT1VOVFBPSU5UCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3JtZGlyICRNT1VOVFBPSU5UCisKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21vdW50L3NwZWNpYWwgYi90ZXN0cy90cy9tb3VudC9zcGVjaWFsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIxZWRkNjUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9tb3VudC9zcGVjaWFsCkBAIC0wLDAgKzEsNDMgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iY2FsbCBtb3VudC48dHlwZT4iCitNT1VOVEVSPSIvc2Jpbi9tb3VudC5teXRlc3QiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCisKK3RzX3NraXBfbm9ucm9vdAorCitjYXQgPiAkTU9VTlRFUiA8PFxFT0YKKyMhL2Jpbi9iYXNoCisjIFRoaXMgdXRpbC1saW51eCByZWdyZXNzaW9uIHRlc3QgY29tcG9uZW50CisjIEl0J3Mgc2FmZSB0byByZW1vdmUgbWUuLi4KKyMKK2VjaG8gIiQwIGNhbGxlZCB3aXRoIFwiJCpcIiIKK0VPRgorY2htb2QgK3ggJE1PVU5URVIKKworJFRTX0NNRF9NT1VOVCAtdCBteXRlc3QgL2ZvbyAvYmFyICY+ICRUU19PVVRQVVQKKworcm0gLWYgJE1PVU5URVIKKwordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbW91bnQvdW1vdW50LWFsbHRhcmdldHMgYi90ZXN0cy90cy9tb3VudC91bW91bnQtYWxsdGFyZ2V0cwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42ODcyMjlhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbW91bnQvdW1vdW50LWFsbHRhcmdldHMKQEAgLTAsMCArMSwxMjIgQEAKKyMhL2Jpbi9iYXNoCisKKyMgQ29weXJpZ2h0IChDKSAyMDEzIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJ1bW91bnQtYWxsLXRhcmdldHMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVU1PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZESVNLIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX3Byb2cgIm1rZnMuZXh0MiIKKworJFRTX0NNRF9VTU9VTlQgLS1oZWxwIHwgZ3JlcCAtcSBhbGwtdGFyZ2V0cworWyAkPyAtZXEgMSBdICYmIHRzX3NraXAgImFsbC10YXJnZXRzIHVuc3VwcG9ydGVkIgorCitoYXNfbXRhYj0kKCB0c19oYXNfbXRhYl9zdXBwb3J0ICkKK2lmIFsgIiRoYXNfbXRhYiIgPT0gInllcyIgXTsgdGhlbgorCVsgLUwgL2V0Yy9tdGFiIF0gfHwgdHNfc2tpcCAicmVndWxhciBtdGFiIgorZmkKKworIyBzZXQgZ2xvYmFsIHZhcmlhYmxlIFRTX0RFVklDRQordHNfc2NzaV9kZWJ1Z19pbml0IGRldl9zaXplX21iPTUwCisKK3RzX2xvZyAiQ3JlYXRlIHBhcnRpdGlvbnMiCiskVFNfQ01EX0ZESVNLICR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwgPDxFT0YKK24KK3AKKzEKKworKzEwTQorbgorcAorMgorCisrMTBNCituCitwCiszCisKKysxME0KK24KK3AKKworKzEwTQordworcQorRU9GCisKK3VkZXZhZG0gc2V0dGxlCisKK3RzX2xvZyAiQ3JlYXRlIGZpbGVzeXN0ZW0gQSIKK21rZnMuZXh0MiAke1RTX0RFVklDRX0xICY+IC9kZXYvbnVsbAordHNfbG9nICJDcmVhdGUgZmlsZXN5c3RlbSBCIgorbWtmcy5leHQyICR7VFNfREVWSUNFfTIgJj4gL2Rldi9udWxsCit0c19sb2cgIkNyZWF0ZSBmaWxlc3lzdGVtIEMiCitta2ZzLmV4dDIgJHtUU19ERVZJQ0V9MyAmPiAvZGV2L251bGwKK3RzX2xvZyAiQ3JlYXRlIGZpbGVzeXN0ZW0gRCIKK21rZnMuZXh0MiAke1RTX0RFVklDRX00ICY+IC9kZXYvbnVsbAorCit1ZGV2YWRtIHNldHRsZQorCitmdW5jdGlvbiBtdWx0aV9tb3VudCgpIHsKKwlsb2NhbCBERVY9JDEKKwlsb2NhbCBNTlQ9JDIKKworCXRzX2xvZyAicHJlcGFyZTogTW91bnQgZGV2IHRvIG1udDEiCisJWyAtZCAiJHtNTlR9MSIgXSB8fCBta2RpciAtcCAke01OVH0xCisJJFRTX0NNRF9NT1VOVCAkREVWICR7TU5UfTEgPj4gJFRTX09VVFBVVCAyPiYxCisKKwl0c19sb2cgInByZXBhcmU6IE1vdW50IGRldiB0byBtbnQyIgorCVsgLWQgIiR7TU5UfTIiIF0gfHwgbWtkaXIgLXAgJHtNTlR9MgorCSRUU19DTURfTU9VTlQgJERFViAke01OVH0yID4+ICRUU19PVVRQVVQgMj4mMQorCisJdHNfbG9nICJwcmVwYXJlOiBNb3VudCAvZGV2L3h4eDEgdG8gbW50MyIKKwlbIC1kICIke01OVH0zIiBdIHx8IG1rZGlyIC1wICR7TU5UfTMKKwkkVFNfQ01EX01PVU5UICRERVYgJHtNTlR9MyA+PiAkVFNfT1VUUFVUIDI+JjEKK30KKworIyB1c2UgdGhlIHNhbWUgdG9wLWxldmVsIG1vdW50cG9pbnQgZm9yIGFsbCBzdWItdGVzdHMKK01PVU5UUE9JTlQ9JFRTX01PVU5UUE9JTlQKKworIworIyBUaGUgc2FtZSBkZXZpY2UgbW91bnRlZCBvbiBtb3JlIHBsYWNlcywgdW1vdW50IGFsbCBieSBtb3VudHBvaW50IG5hbWUKKyMKK3RzX2luaXRfc3VidGVzdCAiYWxsLXRhcmdldHMtbW50IgorbXVsdGlfbW91bnQgJHtUU19ERVZJQ0V9MSAkTU9VTlRQT0lOVAorJFRTX0NNRF9VTU9VTlQgLS1hbGwtdGFyZ2V0cyAke01PVU5UUE9JTlR9MSA+PiAkVFNfT1VUUFVUIDI+JjEKK1sgJD8gPT0gMCBdIHx8IHRzX2xvZyAidW1vdW50IGZhaWxlZCIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworIworIyBUaGUgc2FtZSBkZXZpY2UgbW91bnRlZCBvbiBtb3JlIHBsYWNlcywgdW1vdW50IGFsbCBieSBkZXZpY2UgbmFtZQorIwordHNfaW5pdF9zdWJ0ZXN0ICJhbGwtdGFyZ2V0cy1kZXYiCittdWx0aV9tb3VudCAke1RTX0RFVklDRX0xICRNT1VOVFBPSU5UCiskVFNfQ01EX1VNT1VOVCAtLWFsbC10YXJnZXRzICR7VFNfREVWSUNFfTEgPj4gJFRTX09VVFBVVCAyPiYxCitbICQ/ID09IDAgXSB8fCB0c19sb2cgInVtb3VudCBmYWlsZWQiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMKKyMgVGhlIHNhbWUgZGV2aWNlIG1vdW50ZWQgb24gbW9yZSBwbGFjZXMsIG9uZSBvZiB0aGUgbW91bnRwb2ludHMgYWxzbyBjb250YWlucworIyBzdWItbW91bnRzLiBVbW91bnQgYWxsIGJ5IG9uZSB1bW91bnQgYWxsIGJ5IHRvcC1sZXZlbCBkZXZpY2UgbmFtZS4KKyMKK3RzX2luaXRfc3VidGVzdCAiYWxsLXRhcmdldHMtcmVjdXJzaXZlIgorbXVsdGlfbW91bnQgJHtUU19ERVZJQ0V9MSAkTU9VTlRQT0lOVAorWyAtZCAiJHtNT1VOVFBPSU5UfTEvc3ViQSIgXSB8fCBta2RpciAtcCAke01PVU5UUE9JTlR9MS9zdWJBCiskVFNfQ01EX01PVU5UICR7VFNfREVWSUNFfTIgJHtNT1VOVFBPSU5UfTEvc3ViQQorWyAtZCAiJHtNT1VOVFBPSU5UfTEvc3ViQS9zdWJBQiIgXSB8fCBta2RpciAtcCAke01PVU5UUE9JTlR9MS9zdWJBL3N1YkFCCiskVFNfQ01EX01PVU5UICR7VFNfREVWSUNFfTMgJHtNT1VOVFBPSU5UfTEvc3ViQS9zdWJBQgorWyAtZCAiJHtNT1VOVFBPSU5UfTEvc3ViQiIgXSB8fCBta2RpciAtcCAke01PVU5UUE9JTlR9MS9zdWJCCiskVFNfQ01EX01PVU5UICR7VFNfREVWSUNFfTQgJHtNT1VOVFBPSU5UfTEvc3ViQgorJFRTX0NNRF9VTU9VTlQgLS1yZWN1cnNpdmUgLS1hbGwtdGFyZ2V0cyAke1RTX0RFVklDRX0xID4+ICRUU19PVVRQVVQgMj4mMQorWyAkPyA9PSAwIF0gfHwgdHNfbG9nICJ1bW91bnQgZmFpbGVkIgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbW91bnQvdW1vdW50LXJlY3Vyc2l2ZSBiL3Rlc3RzL3RzL21vdW50L3Vtb3VudC1yZWN1cnNpdmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODU3MDg1NQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21vdW50L3Vtb3VudC1yZWN1cnNpdmUKQEAgLTAsMCArMSw5NSBAQAorIyEvYmluL2Jhc2gKKworIyBDb3B5cmlnaHQgKEMpIDIwMTIgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InVtb3VudC1yZWN1cnNpdmUiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVU1PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZESVNLIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX3Byb2cgIm1rZnMuZXh0MiIKKworJFRTX0NNRF9VTU9VTlQgLS1oZWxwIHwgZ3JlcCAtcSByZWN1cnNpdmUKK1sgJD8gLWVxIDEgXSAmJiB0c19za2lwICJyZWN1cnNpdmUgdW5zdXBwb3J0ZWQiCisKK3RzX2xvZyAiSW5pdCBkZXZpY2UiCisjIHNldCBnbG9iYWwgdmFyaWFibGUgVFNfREVWSUNFCit0c19zY3NpX2RlYnVnX2luaXQgZGV2X3NpemVfbWI9NTAKKwordHNfbG9nICJDcmVhdGUgcGFydGl0aW9ucyIKKyRUU19DTURfRkRJU0sgJHtUU19ERVZJQ0V9ICY+IC9kZXYvbnVsbCA8PEVPRgorbgorcAorMQorCisrMTBNCituCitwCisyCisKKysxME0KK24KK3AKKzMKKworKzEwTQorbgorcAorCisrMTBNCit3CitxCitFT0YKKwordWRldmFkbSBzZXR0bGUKKwordHNfbG9nICJDcmVhdGUgZmlsZXN5c3RlbSBBIgorbWtmcy5leHQyICR7VFNfREVWSUNFfTEgJj4gL2Rldi9udWxsCit0c19sb2cgIkNyZWF0ZSBmaWxlc3lzdGVtIEIiCitta2ZzLmV4dDIgJHtUU19ERVZJQ0V9MiAmPiAvZGV2L251bGwKK3RzX2xvZyAiQ3JlYXRlIGZpbGVzeXN0ZW0gQyIKK21rZnMuZXh0MiAke1RTX0RFVklDRX0zICY+IC9kZXYvbnVsbAordHNfbG9nICJDcmVhdGUgZmlsZXN5c3RlbSBEIgorbWtmcy5leHQyICR7VFNfREVWSUNFfTQgJj4gL2Rldi9udWxsCisKK3VkZXZhZG0gc2V0dGxlCisKK3RzX2xvZyAiRG8gdGVzdHMuLi4iCisKK1sgLWQgIiRUU19NT1VOVFBPSU5UIiBdIHx8IG1rZGlyIC1wICRUU19NT1VOVFBPSU5UCisKK3RzX2xvZyAiQSkgTW91bnQgcm9vdCIKKyRUU19DTURfTU9VTlQgJHtUU19ERVZJQ0V9MSAkVFNfTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfTU9VTlQgLS1tYWtlLXNoYXJlZCAkVFNfTU9VTlRQT0lOVAorCit0c19sb2cgIkIpIE1vdW50IGNoaWxkIgorbWtkaXIgLXAgJFRTX01PVU5UUE9JTlQvbW50QgorJFRTX0NNRF9NT1VOVCAke1RTX0RFVklDRX0yICRUU19NT1VOVFBPSU5UL21udEIgPj4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2xvZyAiQjIpIE1vdW50IGNoaWxkLWJpbmQiCitta2RpciAtcCAkVFNfTU9VTlRQT0lOVC9iaW5kQgorJFRTX0NNRF9NT1VOVCAtLWJpbmQgJFRTX01PVU5UUE9JTlQvbW50QiAkVFNfTU9VTlRQT0lOVC9iaW5kQiA+PiAkVFNfT1VUUFVUIDI+JjEKKwordHNfbG9nICJDKSBNb3VudCBjaGlsZC9jaGlsZCIKK21rZGlyIC1wICRUU19NT1VOVFBPSU5UL21udEIvbW50e0MsRH0KKyRUU19DTURfTU9VTlQgJHtUU19ERVZJQ0V9MyAkVFNfTU9VTlRQT0lOVC9tbnRCL21udEMgPj4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2xvZyAiRCkgTW91bnQgY2hpbGQvY2hpbGQiCiskVFNfQ01EX01PVU5UICR7VFNfREVWSUNFfTQgJFRTX01PVU5UUE9JTlQvbW50Qi9tbnREID4+ICRUU19PVVRQVVQgMj4mMQorCit0c19sb2cgIkUpIE1vdW50IGNoaWxkLWJpbmQiCitta2RpciAtcCAkVFNfTU9VTlRQT0lOVC9iaW5kQworJFRTX0NNRF9NT1VOVCAtLWJpbmQgJFRTX01PVU5UUE9JTlQvbW50Qi9tbnRDICRUU19NT1VOVFBPSU5UL2JpbmRDCisKKyRUU19DTURfVU1PVU5UIC0tcmVjdXJzaXZlICRUU19NT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQorWyAkPyA9PSAwIF0gfHwgdHNfZGllICJ1bW91bnQgZmFpbGVkIgorCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9tb3VudC91dWlkIGIvdGVzdHMvdHMvbW91bnQvdXVpZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lZmQyNzc0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbW91bnQvdXVpZApAQCAtMCwwICsxLDU0IEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImJ5IHV1aWQiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVU1PVU5UIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX2xvc2V0dXAKK3RzX2NoZWNrX3Byb2cgIm1rZnMuZXh0MyIKKwordHNfZGV2aWNlX2luaXQKK0RFVklDRT0kVFNfTE9ERVYKKworbWtmcy5leHQzICRERVZJQ0UgJj4gL2Rldi9udWxsIHx8IHRzX2RpZSAiQ2Fubm90IG1ha2UgZXh0MyBvbiAkREVWSUNFIgorCit0c19kZXZpY2VfaGFzX3V1aWQgJERFVklDRSB8fCB0c19kaWUgIkNhbm5vdCBmaW5kIFVVSUQgb24gJERFVklDRSIKKworVVVJRD0kKHRzX3V1aWRfYnlfZGV2bmFtZSAkREVWSUNFKQorCitbIC1kICIkVFNfTU9VTlRQT0lOVCIgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVAorCisjIHZhcmlhbnQgQSkKKyRUU19DTURfTU9VTlQgLVUgJFVVSUQgJFRTX01PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCit0c19pc19tb3VudGVkICRERVZJQ0UgfHwgdHNfZGllICJBKSBDYW5ub3QgZmluZCAkREVWSUNFIGluIC9wcm9jL21vdW50cyIKKyRUU19DTURfVU1PVU5UICRERVZJQ0UgfHwgdHNfZGllICJBKSBDYW5ub3QgdW1vdW50ICRERVZJQ0UiCisKKyMgdmFyaWFudCBCKQorJFRTX0NNRF9NT1VOVCBVVUlEPSRVVUlEICRUU19NT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQordHNfaXNfbW91bnRlZCAkREVWSUNFIHx8IHRzX2RpZSAiQikgQ2Fubm90IGZpbmQgJERFVklDRSBpbiAvcHJvYy9tb3VudHMiCiskVFNfQ01EX1VNT1VOVCAkREVWSUNFIHx8IHRzX2RpZSAiQikgQ2Fubm90IHVtb3VudCAkREVWSUNFIgorCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9uYW1laS9sb2dpYyBiL3Rlc3RzL3RzL25hbWVpL2xvZ2ljCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjcwM2NjMTAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9uYW1laS9sb2dpYwpAQCAtMCwwICsxLDM2IEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImJhc2ljIGZ1bmN0aW9uYWxpdHkiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTkFNRUkiCisKK3RzX2NkICIkVFNfT1VURElSIgorCitta2RpciAtcCBuYW1laTEvbmFtZWkyCit0b3VjaCBuYW1laTEvbmFtZWkyL2EgbmFtZWkxL25hbWVpMi9iCisKKyRUU19DTURfTkFNRUkgbmFtZWkxL25hbWVpMi9hICAgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX05BTUVJIG5hbWVpMS9uYW1laTIvYiAgID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9OQU1FSSBuYW1laTEvbmFtZWkyL2EvYiA+PiAkVFNfT1VUUFVUIDI+JjEKKwordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvcGFydHgvcGFydHggYi90ZXN0cy90cy9wYXJ0eC9wYXJ0eApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41Yjg0YWZlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvcGFydHgvcGFydHgKQEAgLTAsMCArMSwxMzcgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEwIERhdmlkbG9ociBCdWVzbyA8ZGF2ZUBnbnUub3JnPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJwYXJ0aXRpb25zIHByb2JpbmciCitUU19JTUdESVI9IiRUU19UT1BESVIvdHMvYmxraWQvaW1hZ2VzLXB0IgorUEFSVFM9MworCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1BBUlRYIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0FERFBBUlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfREVMUEFSVCIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19wcm9nICJ4eiIKKworbWtkaXIgLXAgJFRTX09VVERJUi9pbWFnZXMtcHQKK2ZvciBpbWcgaW4gJChscyAkVFNfSU1HRElSLyouaW1nLnh6IHwgc29ydCk7IGRvCisJbmFtZT0kKGJhc2VuYW1lICRpbWcgLmltZy54eikKKwlvdXRpbWc9JFRTX09VVERJUi9pbWFnZXMtcHQvJHtuYW1lfS5pbWcKKworCXRzX2luaXRfc3VidGVzdCAkbmFtZQorCisJeHogLWRjICRpbWcgPiAkb3V0aW1nCisKKwkkVFNfQ01EX1BBUlRYICRvdXRpbWcgJj4gJFRTX09VVFBVVAorCXRzX2ZpbmFsaXplX3N1YnRlc3QKK2RvbmUKKworIyBzZXQgZ2xvYmFsIHZhcmlhYmxlIFRTX0RFVklDRQordHNfc2NzaV9kZWJ1Z19pbml0IGRldl9zaXplX21iPTUwCisKK3RzX2luaXRfc3VidGVzdCAiYWRkcGFydCIKKyRUU19DTURfQUREUEFSVCAke1RTX0RFVklDRX0gMSAwIDEKK1sgIiQ/IiA9PSAwIF0gJiYgZWNobyBPSyAmPiRUU19PVVRQVVQgfHwgdHNfZGllICJVbmFibGUgdG8gYWRkIHBhcnRpdGlvbiJhICY+JFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit1ZGV2YWRtIHNldHRsZQorCit0c19pbml0X3N1YnRlc3QgImRlbHBhcnQiCiskVFNfQ01EX0RFTFBBUlQgJHtUU19ERVZJQ0V9IDEKK1sgIiQ/IiA9PSAwIF0gJiYgZWNobyBPSyA+PiAkVFNfT1VUUFVUIDI+JjEgfHwgdHNfZGllICJVbmFibGUgdG8gcmVtb3ZlIHBhcnRpdGlvbiIgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX3Njc2lfZGVidWdfcm1tb2QKKworIyBzZXQgZ2xvYmFsIHZhcmlhYmxlIFRTX0RFVklDRQordHNfc2NzaV9kZWJ1Z19pbml0IGRldl9zaXplX21iPTUwIG51bV9wYXJ0cz0kUEFSVFMKK0RFVk5BTUU9JChiYXNlbmFtZSAkVFNfREVWSUNFKQorCit0c19pbml0X3N1YnRlc3QgImRldGVjdC1wYXJ0cyIKKyRUU19DTURfUEFSVFggLS1zaG93ICRUU19ERVZJQ0UgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit1ZGV2YWRtIHNldHRsZQorCit0c19pbml0X3N1YnRlc3QgImRlbGV0ZS1hbGwiCisjZGVsZXRlIHBhcnRpbmZvCiskVFNfQ01EX1BBUlRYIC0tZGVsZXRlICRUU19ERVZJQ0UgJj4gJFRTX09VVFBVVAorWyAkPyAtZXEgMCBdICYmIGVjaG8gInBhcnRpdGlvbnMgZGVsZXRlZCIgJj4gJFRTX09VVFBVVCB8fAorICAgIGVjaG8gIlVuYWJsZSB0byBkZWxldGUgcGFydGl0aW9ucyBvbiAkVFNfREVWSUNFIiAmPiAkVFNfT1VUUFVUCitscyAtZCAiL3N5cy9ibG9jay8ke0RFVk5BTUV9LyR7REVWTkFNRX0qIiAyPi9kZXYvbnVsbCAmJiB0c19kaWUKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordWRldmFkbSBzZXR0bGUKKwordHNfaW5pdF9zdWJ0ZXN0ICJhZGQtYWxsIgorI3JlYWQgVFNfREVWSUNFIGFuZCByZXN0b3JlIHRoZSBwYXJ0aW5mbworJFRTX0NNRF9QQVJUWCAtLWFkZCAkVFNfREVWSUNFICY+ICRUU19PVVRQVVQKK1sgJChscyAtZCAvc3lzL2Jsb2NrLyR7REVWTkFNRX0vJHtERVZOQU1FfSogMj4vZGV2L251bGwgfCB3YyAtbCkgLWVxICRQQVJUUyBdICYmCisgICBlY2hvICJwYXJ0aXRpb25zIGFkZGVkIiA+PiAkVFNfT1VUUFVUIDI+JjEgIHx8CisgICBlY2hvICJVbmFibGUgdG8gYWRkIHBhcnRpdGlvbnMgZm9yICRUU19ERVZJQ0UiID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCit1ZGV2YWRtIHNldHRsZQorCit0c19pbml0X3N1YnRlc3QgInVwZGF0ZS1vbmUiCisjcmVhZCBUU19ERVZJQ0UgYW5kIHVwZGF0ZSBzZWNvbmQgcGFydGl0aW9uCiskVFNfQ01EX1BBUlRYIC0tdXBkYXRlICR7VFNfREVWSUNFfTIgJj4gJFRTX09VVFBVVAorWyAkKGxzIC1kIC9zeXMvYmxvY2svJHtERVZOQU1FfS8ke0RFVk5BTUV9KiAyPi9kZXYvbnVsbCB8IHdjIC1sKSAtZXEgJFBBUlRTIF0gJiYKKyAgIGVjaG8gInBhcnRpdGlvbnMgdXBkYXRlZCIgPj4gJFRTX09VVFBVVCAyPiYxICB8fAorICAgZWNobyAiVW5hYmxlIHRvIHVwZGF0ZSAybmQgcGFydGl0aW9uIGZvciAkVFNfREVWSUNFIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordWRldmFkbSBzZXR0bGUKKwordHNfaW5pdF9zdWJ0ZXN0ICJkZWxldGUtb25lIgorI3JlbW92ZSBsYXN0IHBhcnRpdGlvbiBvbmx5CiskVFNfQ01EX1BBUlRYIC1kIC0tbnIgLTEgJFRTX0RFVklDRSA+PiAkVFNfT1VUUFVUIDI+JjEKK1sgJChscyAtZCAvc3lzL2Jsb2NrLyR7REVWTkFNRX0vJHtERVZOQU1FfSogMj4vZGV2L251bGwgfAord2MgLWwpIC1lcSAkKChQQVJUUy0xKSkgXSAmJgorICAgIGVjaG8gImxhc3QgcGFydGl0aW9uIHJlbW92ZWQiID4+ICRUU19PVVRQVVQgMj4mMSB8fAorICAgIGVjaG8gIlVuYWJsZSB0byByZW1vdmUgYSBwYXJ0aXRpb24gb24gJFRTX0RFVklDRSIgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3VkZXZhZG0gc2V0dGxlCisKK3RzX2luaXRfc3VidGVzdCAiZGVsZXRlLW5vbi1leGlzdGVudCIKKyNhdHRlbXB0IHRvIHJlbW92ZSBpdCBhZ2FpbgorJFRTX0NNRF9QQVJUWCAtZCAkUEFSVFMgJFRTX0RFVklDRSAmJiBlY2hvICJwYXJ0eCBmYWlsZWQ6IHJlbW92ZWQgbm9uLWV4aXN0aW5nIHBhcnRpdGlvbiIgJj4kVFNfT1VUUFVUIHx8IGVjaG8gInBhcnR4OiBPSyIgJj4kVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3VkZXZhZG0gc2V0dGxlCisKK3RzX2luaXRfc3VidGVzdCAiYWRkLWV4aXN0aW5nIgorI3RyeSBhZGRpbmcgYW4gZXhpc3RpbmcgcGFydGl0aW9uCiskVFNfQ01EX1BBUlRYIC1hIC0tbnIgMSAkVFNfREVWSUNFICY+L2Rldi9udWxsICYmIGVjaG8gInBhcnR4IGZhaWxlZDogcmUtYWRkZWQgYW4gZXhpc3RpbmcgcGFydGl0aW9uIiAmPiAkVFNfT1VUUFVUIHx8IGVjaG8gInBhcnR4OiBPSyIgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit1ZGV2YWRtIHNldHRsZQorCit0c19pbml0X3N1YnRlc3QgImNoYW5nZS1ieS1yYW5nZSIKKyMgey1hfC1kfSAtLW5yIDAgc2hvdWxkIGhhbmRsZSBhbGwgcGFydGl0aW9ucworJFRTX0NNRF9QQVJUWCAtZCAtLW5yIDAgJFRTX0RFVklDRQorbHMgLWQgL3N5cy9ibG9jay8ke0RFVk5BTUV9LyR7REVWTkFNRX0qIDI+L2Rldi9udWxsICYmIGVjaG8gIlVuYWJsZSB0byBkZWxldGUgcGFydGl0aW9ucyBvbiAkVFNfREVWSUNFIiA+PiAkVFNfT1VUUFVUIDI+JjEgfHwgZWNobyAicGFydGl0aW9ucyBkZWxldGVkIiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfUEFSVFggLWEgLS1uciAwICRUU19ERVZJQ0UKK1sgJChscyAtZCAvc3lzL2Jsb2NrLyR7REVWTkFNRX0vJHtERVZOQU1FfSogMj4vZGV2L251bGwgfCB3YyAtbCkgLWVxICRQQVJUUyBdICYmIGVjaG8gInBhcnRpdGlvbnMgYWRkZWQiID4+ICRUU19PVVRQVVQgMj4mMSB8fCBlY2hvICJGYWlsZWQgdG8gYWRkICRUU19ERVZJQ0UgcGFydGl0aW9ucyIgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9wYXRocy9idWlsdC1pbiBiL3Rlc3RzL3RzL3BhdGhzL2J1aWx0LWluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJmNTVjMTAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9wYXRocy9idWlsdC1pbgpAQCAtMCwwICsxLDMyIEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImJ1aWx0LWluIgorCisjIERvbid0IGV4ZWN1dGUgdGhpcyB0ZXN0IGJ5IGRlZmF1bHQsIC0tZm9yY2UgcmVxdWlyZWQKK1RTX09QVElPTkFMPSJ5ZXMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfUEFUSFMiCisKKyRUU19IRUxQRVJfUEFUSFMgJj4gJFRTX09VVFBVVAorCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9yZW5hbWUvYmFzaWMgYi90ZXN0cy90cy9yZW5hbWUvYmFzaWMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2YzNjI5ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3JlbmFtZS9iYXNpYwpAQCAtMCwwICsxLDQxIEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAxNCBTYW1pIEtlcm9sYSA8a2Vyb2xhc2FAaWtpLmZpPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iYmFzaWMgY2hlY2siCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfUkVOQU1FIgordHNfY2QgIiRUU19PVVRESVIiCisKK3RvdWNoIHJlbmFtZV9iYXNpYy57MS4uM30KKyRUU19DTURfUkVOQU1FIC12IGJhc2ljIHRlc3QgcmVuYW1lX2Jhc2ljLj8gPj4gJFRTX09VVFBVVCAyPiYxCisKK2ZvciBpIGluIHJlbmFtZV9iYXNpYy4/OyBkbworCWVjaG8gIndoYXQgaXMgJGkgZG9pbmcgaGVyZT8iID4+ICRUU19PVVRQVVQKK2RvbmUKK2ZvciBpIGluIHJlbmFtZV90ZXN0LnsxLi4zfTsgZG8KKwlpZiBbICEgLWYgJGkgXTsgdGhlbgorCQllY2hvICJmaWxlICRpIGlzIG1pc3NpbmciID4+ICRUU19PVVRQVVQKKwllbHNlCisJCXJtIC1mICRpCisJZmkKK2RvbmUKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3JlbmFtZS9leGl0X2NvZGVzIGIvdGVzdHMvdHMvcmVuYW1lL2V4aXRfY29kZXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzcwMjgxNgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3JlbmFtZS9leGl0X2NvZGVzCkBAIC0wLDAgKzEsNDEgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE0IFNhbWkgS2Vyb2xhIDxrZXJvbGFzYUBpa2kuZmk+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJleGl0IGNvZGVzIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1JFTkFNRSIKK3RzX2NkICIkVFNfT1VURElSIgorCit0b3VjaCByZW5hbWVfZXhpdF9jb2Rlcy57MS4uMn0KKyRUU19DTURfUkVOQU1FIC12IG5vdF9hX21hdGNoIGltcG9zc2libGUgcmVuYW1lX2V4aXRfY29kZXMuPyA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gIlJFTkFNRV9FWElUX05PVEhJTkc6ICQ/IiA+PiAkVFNfT1VUUFVUCisKKyRUU19DTURfUkVOQU1FIC12IGNvZGVzIHZhbHVlcyByZW5hbWVfZXhpdF9jb2Rlcy4/ID4+ICRUU19PVVRQVVQgMj4mMQorZWNobyAiRVhJVF9TVUNDRVNTOiAkPyIgPj4gJFRTX09VVFBVVAorCitta2RpciByZW5hbWVfZXhpdF9jb2Rlcy4yCiskVFNfQ01EX1JFTkFNRSAtdiB2YWx1ZXMgY29kZXMgcmVuYW1lX2V4aXRfdmFsdWVzLj8gPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJSRU5BTUVfRVhJVF9TT01FT0s6ICQ/IiA+PiAkVFNfT1VUUFVUCisKK3JtZGlyIHJlbmFtZV9leGl0X2NvZGVzLjIKK3JtIHJlbmFtZV9leGl0X2NvZGVzLj8gcmVuYW1lX2V4aXRfdmFsdWVzLj8KKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3JlbmFtZS9zdWJkaXIgYi90ZXN0cy90cy9yZW5hbWUvc3ViZGlyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAxNDcyZmEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9yZW5hbWUvc3ViZGlyCkBAIC0wLDAgKzEsNjggQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE0IFNhbWkgS2Vyb2xhIDxrZXJvbGFzYUBpa2kuZmk+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJzdWJkaXIgY2hlY2siCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfUkVOQU1FIgordHNfY2QgIiRUU19PVVRESVIiCisKK2VjaG8gIj09IGZpbGVzID09IiA+PiAkVFNfT1VUUFVUCitta2RpciByZW5hbWVfYXthLGJ9Cit0b3VjaCByZW5hbWVfYXthLGJ9L2FhCiskVFNfQ01EX1JFTkFNRSAtdiBhIHggcmVuYW1lX2E/L2FhID4+ICRUU19PVVRQVVQgMj4mMQorZmluZCByZW5hbWVfYXthLGJ9ID4+ICRUU19PVVRQVVQgMj4mMQorCitlY2hvICI9PSBzeW1saW5rcyA9PSIgPj4gJFRTX09VVFBVVAorZm9yIGkgaW4gcmVuYW1lX2F7YSxifS9zdWJsaW5rLnsxLi4zfTsgZG8KKwlsbiAtcyByZW5hbWUvYWEgJGkKK2RvbmUKKyRUU19DTURfUkVOQU1FIC1zIC12IGEgeCByZW5hbWVfYXthLGJ9L3N1YmxpbmsuPyA+PiAkVFNfT1VUUFVUIDI+JjEKK2ZvciBpIGluIHJlbmFtZV9he2EsYn0vc3VibGluay4/OyBkbworCXJlYWRsaW5rICRpID4+ICRUU19PVVRQVVQgMj4mMQorZG9uZQorCitybSAtcmYgcmVuYW1lX2F7YSxifQorCitlY2hvICI9PSBmdWxscGF0aCA9PSIgPj4gJFRTX09VVFBVVAordG91Y2ggcmVuYW1lX3BhdGgxCiskVFNfQ01EX1JFTkFNRSAtdiAuL3JlbmFtZV9wYXRoMSAuL3JlbmFtZV9wYXRoMiAuL3JlbmFtZV9wYXRoMSA+PiAkVFNfT1VUUFVUIDI+JjEKKworZmluZCAuIC1uYW1lICdyZW5hbWVfcGF0aConID4+ICRUU19PVVRQVVQgMj4mMQorcm0gLWYgLi9yZW5hbWVfcGF0aCoKKworbWtkaXIgcmVuYW1lX3BhdGhfYQordG91Y2ggcmVuYW1lX3BhdGhfdGVzdDEKKworJFRTX0NNRF9SRU5BTUUgLXYgcmVuYW1lX3BhdGhfdGVzdDEgcmVuYW1lX3BhdGhfYS90ZXN0MSByZW5hbWVfcGF0aF90ZXN0MSA+PiAkVFNfT1VUUFVUIDI+JjEKKworZmluZCAuIC1uYW1lICcqdGVzdDEqJyA+PiAkVFNfT1VUUFVUIDI+JjEKK3JtIC1mIHJlbmFtZV9wYXRoX3Rlc3QxIHJlbmFtZV9wYXRoX2EvdGVzdDEKKworbWtkaXIgcmVuYW1lX3BhdGhfYgordG91Y2ggcmVuYW1lX3BhdGhfYS90ZXN0MgorJFRTX0NNRF9SRU5BTUUgLXYgcmVuYW1lX3BhdGhfYS90ZXN0MiByZW5hbWVfcGF0aF9iL3Rlc3QyIHJlbmFtZV9wYXRoX2EvdGVzdDIgPj4gJFRTX09VVFBVVCAyPiYxCisKK2ZpbmQgcmVuYW1lX3BhdGhfYSByZW5hbWVfcGF0aF9iID4+ICRUU19PVVRQVVQgMj4mMQorcm0gLWYgcmVuYW1lX3BhdGhfYS90ZXN0MiByZW5hbWVfcGF0aF9iL3Rlc3QyCisKK3JtZGlyIHJlbmFtZV9wYXRoX2EgcmVuYW1lX3BhdGhfYgorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvcmVuYW1lL3N5bWxpbmsgYi90ZXN0cy90cy9yZW5hbWUvc3ltbGluawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42N2Y0MzkyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvcmVuYW1lL3N5bWxpbmsKQEAgLTAsMCArMSw0MSBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMTQgU2FtaSBLZXJvbGEgPGtlcm9sYXNhQGlraS5maT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InN5bWxpbmsgY2hlY2siCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfUkVOQU1FIgordHNfY2QgIiRUU19PVVRESVIiCisKK2ZvciBpIGluIHJlbmFtZV9zbGluay57MS4uM307IGRvCisJbG4gLXMgb2xkICRpCitkb25lCisKKyRUU19DTURfUkVOQU1FIC1zIC12IG9sZCBuZXcgcmVuYW1lX3NsaW5rLj8gPj4gJFRTX09VVFBVVCAyPiYxCisKK2ZvciBpIGluIHJlbmFtZV9zbGluay57MS4uM307IGRvCisJd2hlcmU9IiQocmVhZGxpbmsgJGkpIgorCWlmIFsgIiR3aGVyZSIgIT0gIm5ldyIgXTsgdGhlbgorCQllY2hvICJlcnJvcjogJGkgcG9pbnRzIHRvICR3aGVyZSIgPj4gJFRTX09VVFBVVAorCWZpCisJcm0gLWYgJGkKK2RvbmUKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3NjaGVkdXRpbHMvY2hydCBiL3Rlc3RzL3RzL3NjaGVkdXRpbHMvY2hydApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMzNlMTJkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvc2NoZWR1dGlscy9jaHJ0CkBAIC0wLDAgKzEsMTEwIEBACisjIS9iaW4vYmFzaAorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJjaHJ0IgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0NIUlQiCit0c19za2lwX25vbnJvb3QKKworIyBUT0RPOiBkcm9uZS5pbyBkb2VzIG5vdCBsaWtlIEZJRk8gYW5kIFJSIChjb250YWluZXIgcmVzdHJpY3Rpb24/KQorVFNfS05PV05fRkFJTD0ieWVzIgorCitmdW5jdGlvbiBkb19jaHJ0IHsKKwkkVFNfQ01EX0NIUlQgJCogJFRTX0NNRF9DSFJUIC0tcGlkIDAgfCBzZWQgJ3MvLiogcG9saWN5OiAvLzsgcy8uKiBwcmlvcml0eTogLy8nID4+ICRUU19PVVRQVVQgMj4mMQorfQorCitmdW5jdGlvbiBza2lwX3BvbGljeSB7CisJJFRTX0NNRF9DSFJUIC0tbWF4IHwgZ3JlcCAkMSB8IGdyZXAgJ3ByaW9yaXR5JyAmPiAvZGV2L251bGwKKwlpZiBbICQ/ID09IDEgXTsgdGhlbgorCQl0c19za2lwX3N1YnRlc3QgInVuc3VwcG9ydGVkIgorCQlyZXR1cm4gMQorCWZpCisJcmV0dXJuIDAKK30KKworZnVuY3Rpb24gY2xlYW51cF9vdXRwdXQgeworCXNlZCAtaSAtZSAncy9waWQgWzAtOV0qLzxyZW1vdmVkPi8nICRUU19PVVRQVVQKK30KKworCit0c19pbml0X3N1YnRlc3QgImZpZm8iCitza2lwX3BvbGljeSBTQ0hFRF9GSUZPCitpZiBbICQ/ID09IDAgXTsgdGhlbgorCWRvX2NocnQgLS1maWZvIDEKKwlkb19jaHJ0IC0tZmlmbyA5OQorCWNsZWFudXBfb3V0cHV0CisJdHNfZmluYWxpemVfc3VidGVzdAorZmkKKworCit0c19pbml0X3N1YnRlc3QgImJhdGNoIgorc2tpcF9wb2xpY3kgU0NIRURfQkFUQ0gKK2lmIFsgJD8gPT0gMCBdOyB0aGVuCisJZG9fY2hydCAtLWJhdGNoIDAKKwljbGVhbnVwX291dHB1dAorCXRzX2ZpbmFsaXplX3N1YnRlc3QKK2ZpCisKKwordHNfaW5pdF9zdWJ0ZXN0ICJvdGhlciIKK3NraXBfcG9saWN5IFNDSEVEX09USEVSCitpZiBbICQ/ID09IDAgXTsgdGhlbgorCWRvX2NocnQgLS1vdGhlciAwCisJY2xlYW51cF9vdXRwdXQKKwl0c19maW5hbGl6ZV9zdWJ0ZXN0CitmaQorCisKK3RzX2luaXRfc3VidGVzdCAicnIiCitza2lwX3BvbGljeSBTQ0hFRF9SUgoraWYgWyAkPyA9PSAwIF07IHRoZW4KKwlkb19jaHJ0IC0tcnIgMQorCWRvX2NocnQgLS1yciA5OQorCWNsZWFudXBfb3V0cHV0CisJdHNfZmluYWxpemVfc3VidGVzdAorZmkKKworCit0c19pbml0X3N1YnRlc3QgImlkbGUiCitza2lwX3BvbGljeSBTQ0hFRF9JRExFCitpZiBbICQ/ID09IDAgXTsgdGhlbgorCWRvX2NocnQgLS1pZGxlIDAKKwljbGVhbnVwX291dHB1dAorCXRzX2ZpbmFsaXplX3N1YnRlc3QKK2ZpCisKKwordHNfaW5pdF9zdWJ0ZXN0ICJkZWFkbGluZSIKK3NraXBfcG9saWN5IFNDSEVEX0RFQURMSU5FCitpZiBbICQ/ID09IDAgXTsgdGhlbgorCWRvX2NocnQgLS1kZWFkbGluZSAtLXNjaGVkLXBlcmlvZCAxMzAwMCAwCisJZG9fY2hydCAtLWRlYWRsaW5lIC0tc2NoZWQtcGVyaW9kIDEzMDAwIC0tc2NoZWQtZGVhZGxpbmUgMTIwMDAgMAorCWRvX2NocnQgLS1kZWFkbGluZSAtLXNjaGVkLXBlcmlvZCAxMzAwMCAtLXNjaGVkLWRlYWRsaW5lIDEyMDAwIC0tc2NoZWQtcnVudGltZSAxMDAwMCAwCisJY2xlYW51cF9vdXRwdXQKKwl0c19maW5hbGl6ZV9zdWJ0ZXN0CitmaQorCisjIGZhaWxlZCAtLSBsZXQncyByZXBvcnQga2VybmVsIGxpbWl0cworIworaWYgWyAkVFNfTlNVQkZBSUxFRCAtbmUgMCBdOyB0aGVuCisJZWNobyAiU3VwcG9ydGVkIHBvbGljaWVzOiIKKwkkVFNfQ01EX0NIUlQgLS1tYXgKK2ZpCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9zY2hlZHV0aWxzL2NocnQtbm9uLXJvb3QgYi90ZXN0cy90cy9zY2hlZHV0aWxzL2NocnQtbm9uLXJvb3QKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjEyMGQzMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3NjaGVkdXRpbHMvY2hydC1ub24tcm9vdApAQCAtMCwwICsxLDYxIEBACisjIS9iaW4vYmFzaAorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJjaHJ0LW5vbi11c2VyIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0NIUlQiCisKKyMgVE9ETzogZHJvbmUuaW8gZG9lcyBub3QgbGlrZSBGSUZPIGFuZCBSUiAoY29udGFpbmVyIHJlc3RyaWN0aW9uPykKK1RTX0tOT1dOX0ZBSUw9InllcyIKKworZnVuY3Rpb24gZG9fY2hydCB7CisJJFRTX0NNRF9DSFJUICQqICRUU19DTURfQ0hSVCAtLXBpZCAwIHwgc2VkICdzLy4qIHBvbGljeTogLy87IHMvLiogcHJpb3JpdHk6IC8vJyA+PiAkVFNfT1VUUFVUIDI+JjEKK30KKworZnVuY3Rpb24gc2tpcF9wb2xpY3kgeworCSRUU19DTURfQ0hSVCAtLW1heCB8IGdyZXAgJDEgfCBncmVwICdwcmlvcml0eScgJj4gL2Rldi9udWxsCisJaWYgWyAkPyA9PSAxIF07IHRoZW4KKwkJdHNfc2tpcF9zdWJ0ZXN0ICJ1bnN1cHBvcnRlZCIKKwkJcmV0dXJuIDEKKwlmaQorCXJldHVybiAwCit9CisKK2Z1bmN0aW9uIGNsZWFudXBfb3V0cHV0IHsKKwlzZWQgLWkgLWUgJ3MvcGlkIFswLTldKi88cmVtb3ZlZD4vJyAkVFNfT1VUUFVUCisJc2VkIC1pIC1lICdzL1swLTldKiAocHJvY2Vzcy88cmVtb3ZlZD4gKHByb2Nlc3MvJyAkVFNfT1VUUFVUCit9CisKK3RzX2luaXRfc3VidGVzdCAiYmF0Y2gtdnMtbmljZSIKK3NraXBfcG9saWN5IFNDSEVEX0JBVENICitpZiBbICQ/ID09IDAgXTsgdGhlbgorCXJlbmljZSAtbiA1IC1wICQkID4+ICRUU19PVVRQVVQgMj4mMQorCWRvX2NocnQgLS1iYXRjaCAwCisJY2xlYW51cF9vdXRwdXQKKwl0c19maW5hbGl6ZV9zdWJ0ZXN0CitmaQorCisjIGZhaWxlZCAtLSBsZXQncyByZXBvcnQga2VybmVsIGxpbWl0cworIworaWYgWyAkVFNfTlNVQkZBSUxFRCAtbmUgMCBdOyB0aGVuCisJZWNobyAiU3VwcG9ydGVkIHBvbGljaWVzOiIKKwkkVFNfQ01EX0NIUlQgLS1tYXgKK2ZpCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9zY2hlZHV0aWxzL2NwdXNldCBiL3Rlc3RzL3RzL3NjaGVkdXRpbHMvY3B1c2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFmZDBmZDUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9zY2hlZHV0aWxzL2NwdXNldApAQCAtMCwwICsxLDU5IEBACisjIS9iaW4vYmFzaAorCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImNwdXNldCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0hFTFBFUl9DUFVTRVQiCisKK01BU0tTPSIgMHgwMDAwMDAwMSBcCisJMHgwMDAwMDAwMiBcCisJMHgwMDAwMDAwMyBcCisJMHgwMDAwMDAwNCBcCisJMHgwMDAwMDAwNSBcCisJMHgwMDAwMDAwNiBcCisJMHgwMDAwMDAwNyBcCisJMHgwMDAwMDAwOCBcCisJMHgwMDAwMDAwOSBcCisJMHgwMDAwNTU1NSBcCisJMHgwMDAwNzc3NyIKKworUkFOR0VTPSIwIFwKKwkxIFwKKwkwLDEgXAorCTIgXAorCTAsMiBcCisJMSwyIFwKKwkwLTIgXAorCTMgXAorCTAsMyBcCisJMCwyLDQsNiw4LDEwLDEyLDE0IFwKKwkwLTIsNC02LDgtMTAsMTItMTQiCisKK3RzX2xvZyAibWFza3M6IgorZm9yIGkgaW4gJE1BU0tTOyBkbworCSRUU19IRUxQRVJfQ1BVU0VUIC0tbWFzayAkaSA+PiAkVFNfT1VUUFVUCitkb25lCisKK3RzX2xvZyAic3RyaW5nczoiCitmb3IgaSBpbiAkUkFOR0VTOyBkbworCSRUU19IRUxQRVJfQ1BVU0VUIC0tcmFuZ2UgJGkgPj4gJFRTX09VVFBVVAorZG9uZQorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvc2NyaXB0L2J1ZmZlcmluZy1yYWNlIGIvdGVzdHMvdHMvc2NyaXB0L2J1ZmZlcmluZy1yYWNlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBlNGIyYjkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9zY3JpcHQvYnVmZmVyaW5nLXJhY2UKQEAgLTAsMCArMSwyNiBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJidWZmZXJpbmcgcmFjZSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9TQ1JJUFQiCisKKyRUU19DTURfU0NSSVBUIC1jICJlY2hvIEhhbGxvIFdvcmxkIiAvZGV2L251bGwgPC9kZXYvbnVsbCA+JFRTX09VVFBVVAorCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9zY3JpcHQvb3B0aW9ucyBiL3Rlc3RzL3RzL3NjcmlwdC9vcHRpb25zCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI2NTZjNDIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9zY3JpcHQvb3B0aW9ucwpAQCAtMCwwICsxLDYwIEBACisjIS9iaW4vYmFzaAorCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9Im9wdGlvbnMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCitleHBvcnQgU0NSSVBUX1RFU1RfU0VDT05EX1NJTkNFX0VQT0NIPTE0MzI0ODkzOTgKK2V4cG9ydCBUWj0iR01UIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfU0NSSVBUIgorCit0c19pbml0X3N1YnRlc3QgImFwcGVuZCIKKyRUU19IRUxQRVJfU0NSSVBUIC0tY29tbWFuZCAiZWNobyBhcHBlbmQxIiAkVFNfT1VUUFVUIDwvZGV2L251bGwgPi9kZXYvbnVsbCAyPiYxCiskVFNfSEVMUEVSX1NDUklQVCAtLWFwcGVuZCAtYyAiZWNobyBhcHBlbmQyIiAkVFNfT1VUUFVUIDwvZGV2L251bGwgPi9kZXYvbnVsbCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiZm9yY2UiCitsbiAtcyAkVFNfT1VUUFVUIHR5cGVzY3JpcHQKKyRUU19IRUxQRVJfU0NSSVBUIC0tY29tbWFuZCAiZWNobyBubyBmb3JjZSIgPC9kZXYvbnVsbCA+L2Rldi9udWxsIDI+PiAkVFNfT1VUUFVUCitlY2hvICQ/ID4+ICRUU19PVVRQVVQKKyRUU19IRUxQRVJfU0NSSVBUIC1hIC0tZm9yY2UgLS1jb21tYW5kICJlY2hvIHdpdGggZm9yY2UiIDwvZGV2L251bGwgPi9kZXYvbnVsbAorZWNobyAkPyA+PiAkVFNfT1VUUFVUCitybSAtZiB0eXBlc2NyaXB0CitsbiAtcyAkVFNfT1VUUFVUIHRwaXJjc2VweXQKKyRUU19IRUxQRVJfU0NSSVBUIC1hIC0tY29tbWFuZCAiZWNobyBub3QgdHlwZXNjcmlwdCIgdHBpcmNzZXB5dCA8L2Rldi9udWxsID4vZGV2L251bGwKK2VjaG8gJD8gPj4gJFRTX09VVFBVVAorcm0gLWYgdHBpcmNzZXB5dAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInF1aWV0IgorJFRTX0hFTFBFUl9TQ1JJUFQgLS1xdWlldCAtLWNvbW1hbmQgImVjaG8gcXVpZXQxIiAkVFNfT1VUUFVUIDwvZGV2L251bGwgPi9kZXYvbnVsbCAyPiYxCiskVFNfSEVMUEVSX1NDUklQVCAtYSAtcSAtLWNvbW1hbmQgImVjaG8gcXVpZXQyIiAkVFNfT1VUUFVUIDwvZGV2L251bGwgPi9kZXYvbnVsbCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAicmV0dXJuIgorJFRTX0hFTFBFUl9TQ1JJUFQgLS1jb21tYW5kICJleGl0IDEiICRUU19PVVRQVVQgPC9kZXYvbnVsbCA+L2Rldi9udWxsIDI+JjEKK2VjaG8gJD8gPj4gJFRTX09VVFBVVAorJFRTX0hFTFBFUl9TQ1JJUFQgLWEgLS1jb21tYW5kICJleGl0IDAiICRUU19PVVRQVVQgPC9kZXYvbnVsbCA+L2Rldi9udWxsIDI+JjEKK2VjaG8gJD8gPj4gJFRTX09VVFBVVAorJFRTX0hFTFBFUl9TQ1JJUFQgLWUgLS1hcHBlbmQgLWMgImV4aXQgNDIiICRUU19PVVRQVVQgPC9kZXYvbnVsbCA+L2Rldi9udWxsIDI+JjEKK2VjaG8gJD8gPj4gJFRTX09VVFBVVAorJFRTX0hFTFBFUl9TQ1JJUFQgLS1yZXR1cm4gLS1hcHBlbmQgLWMgImV4aXQgMTI3IiAkVFNfT1VUUFVUIDwvZGV2L251bGwgPi9kZXYvbnVsbCAyPiYxCitlY2hvICQ/ID4+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3NjcmlwdC9yYWNlIGIvdGVzdHMvdHMvc2NyaXB0L3JhY2UKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODZlMzgzOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3NjcmlwdC9yYWNlCkBAIC0wLDAgKzEsNDggQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJyYWNlIGNvbmRpdGlvbnMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfU0NSSVBUIgorCisjIHRoaXMgdGVzdCBtYXkgZmFpbCBvbiBzeXN0ZW1zIHdpdGggdmVyeSBoZWF2eSBsb2FkCisjIGh0dHBzOi8vZ2l0aHViLmNvbS9rYXJlbHphay91dGlsLWxpbnV4L2lzc3Vlcy8yOTYKK1RTX0tOT1dOX0ZBSUw9InllcyIKKworYmluZ29maWxlPSIkVFNfT1VURElSLyR7VFNfVEVTVE5BTUV9LWJpbmdvIgorCitjb3VudD0xMDAwCitmb3IgaSBpbiBgc2VxIDEgJGNvdW50YDsgZG8KKwkkVFNfQ01EX1NDUklQVCAtcSAtYyAicHJpbnRmICdCaW5nb1xuJyIgJGJpbmdvZmlsZQorZG9uZSB8IGdyZXAgLWMgQmluZ28gPj4gJFRTX09VVFBVVAorCitzZWVuPSQoPCRUU19PVVRQVVQpCitpZiBbICRzZWVuID0gJGNvdW50IF07IHRoZW4KKwllY2hvICJhbGwgYmluZ29zIHNlZW4iID4gJFRTX09VVFBVVAorZWxzZQorCWVjaG8gIm9ubHkgJHNlZW4gb2YgJGNvdW50IGJpbmdvcyBzZWVuIiA+ICRUU19PVVRQVVQKK2ZpCisKK3JtIC1mICRiaW5nb2ZpbGUKKwordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvc2NyaXB0L3JlcGxheSBiL3Rlc3RzL3RzL3NjcmlwdC9yZXBsYXkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDY1NzRjMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3NjcmlwdC9yZXBsYXkKQEAgLTAsMCArMSwzOCBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJyZXBsYXkiCisKKy4gIiRUU19UT1BESVIvZnVuY3Rpb25zLnNoIgordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9TQ1JJUFQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfU0NSSVBUUkVQTEFZIgorCitTQ1JJUFRfRklMRT0iJChta3RlbXAgIiR7VFNfT1VURElSfS9zY1hYWFhYWFhYWFhYWFgiKSIKK1RJTUlOR19GSUxFPSIkKG1rdGVtcCAiJHtUU19PVVRESVJ9L3RtWFhYWFhYWFhYWFhYWCIpIgorCitlY2hvICJyZWNvcmQgc2NyaXB0IG91dHB1dCB3aXRoIHRpbWluZyIgPiIkVFNfT1VUUFVUIgorIiRUU19DTURfU0NSSVBUIiAtYyAiZWNobyBoZWxsbyB3b3JsZDsgc2xlZXAgMC41OyBlY2hvIGFsbCBkb25lIiBcCisJLS10aW1pbmc9IiRUSU1JTkdfRklMRSIgIiRTQ1JJUFRfRklMRSIgPj4iJFRTX09VVFBVVCIgMj4mMQorCitlY2hvICJyZXBsYXkgc2NyaXB0IG91dHB1dCIgPj4iJFRTX09VVFBVVCIKKyIkVFNfQ01EX1NDUklQVFJFUExBWSIgIiRUSU1JTkdfRklMRSIgIiRTQ1JJUFRfRklMRSIgMS41ID4+IiRUU19PVVRQVVQiIDI+JjEKKworc2VkIC1pICJzfCRTQ1JJUFRfRklMRXx0eXBlc2NyaXB0fGc7IHN8JFRJTUlOR19GSUxFfHRpbWluZ2ZpbGV8ZyIgIiRUU19PVVRQVVQiCisKK3JtIC1mICIkU0NSSVBUX0ZJTEUiICIkVElNSU5HX0ZJTEUiCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9zZmRpc2svZG9zIGIvdGVzdHMvdHMvc2ZkaXNrL2RvcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iYTlkNWNjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvc2ZkaXNrL2RvcwpAQCAtMCwwICsxLDE2OCBAQAorIyEvYmluL2Jhc2gKKworIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9Ik1CUiIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9TRkRJU0siCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfV0lQRUZTIgorCit0c19za2lwX25vbnJvb3QKKworIyBzZXQgZ2xvYmFsIHZhcmlhYmxlIFRTX0RFVklDRQordHNfc2NzaV9kZWJ1Z19pbml0IGRldl9zaXplX21iPTUwIHNlY3Rvcl9zaXplPTUxMiBwaHlzYmxrX2V4cD0zCisKKwordHNfaW5pdF9zdWJ0ZXN0ICJzaW1wbGUtY29tbWFzIgorJFRTX0NNRF9TRkRJU0sgLS11bml0IFMgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMSA8PEVPRgorIDIwNDgsNjE0NCxMCis4MTkyLCA2MTQ0LFMKKzE0MzM2ICwgNjE0NCAsCisyMDQ4MCwsRQorLDYxNDQgLAorLCwKK0VPRgordHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQordWRldmFkbSBzZXR0bGUKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgImFjdGl2YXRlIgorJFRTX0NNRF9TRkRJU0sgLS1hY3RpdmF0ZSAke1RTX0RFVklDRX0gMSA+PiAkVFNfT1VUUFVUIDI+JjEgCiskVFNfQ01EX1NGRElTSyAtLXVuaXQgUyAtLWxpc3QgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQordWRldmFkbSBzZXR0bGUKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgInNpbXBsZS1zcGFjZSIKKyRUU19DTURfV0lQRUZTIC1hICR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwKK3VkZXZhZG0gc2V0dGxlCiskVFNfQ01EX1NGRElTSyAtLXVuaXQgUyAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxIDw8RU9GCisgMjA0OCA2MTQ0IEwKKzgxOTIgIDYxNDQgUworLCwKK0VPRgordHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQordWRldmFkbSBzZXR0bGUKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgInJlYWQtZHVtcC1jYXNlIgorJFRTX0NNRF9XSVBFRlMgLWEgJHtUU19ERVZJQ0V9ICY+IC9kZXYvbnVsbAordWRldmFkbSBzZXR0bGUKKyRUU19DTURfU0ZESVNLIC0tdW5pdCBTICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEgPDxFT0YKK3VuaXQ6IHNlY3RvcnMKK2xhYmVsLWlkOiAweDFkZGM4YTc5CisKKyR7VFNfREVWSUNFfTEgOiBzdEFydD0gICAgIDIwNDgsIHNJWmU9ICAgICA2MTQ0LCBpZD04MywgYm9vdEFibGUKK0VPRgordHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQordWRldmFkbSBzZXR0bGUKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgInJlYWQtZHVtcCIKKyRUU19DTURfV0lQRUZTIC1hICR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwKK3VkZXZhZG0gc2V0dGxlCiskVFNfQ01EX1NGRElTSyAtLXVuaXQgUyAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxIDw8RU9GCit1bml0OiBzZWN0b3JzCitsYWJlbC1pZDogMHgxZGRjOGE3OQorCiske1RTX0RFVklDRX0xIDogc3RhcnQ9ICAgICAyMDQ4LCBzaXplPSAgICAgNjE0NCwgSWQ9ODMsIGJvb3RhYmxlCiske1RTX0RFVklDRX0yIDogc3RhcnQ9ICAgICA4MTkyLCBzaXplPSAgICAgNjE0NCwgSWQ9ODIKKyR7VFNfREVWSUNFfTMgOiBzdGFydD0gICAgMTQzMzYsIHNpemU9ICAgICA2MTQ0LCBJZD04MworJHtUU19ERVZJQ0V9NCA6IHN0YXJ0PSAgICAyMDQ4MCwgc2l6ZT0gICAgODE5MjAsIElkPSA1Ciske1RTX0RFVklDRX01IDogc3RhcnQ9ICAgIDIwNDgxLCBzaXplPSAgICAgNjE0NCwgSWQ9ODMKKyR7VFNfREVWSUNFfTYgOiBzdGFydD0gICAgMjY2MjYsIHNpemU9ICAgIDc1Nzc0LCBJZD04MworRU9GCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit1ZGV2YWRtIHNldHRsZQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAid3JpdGUtZHVtcCIKKyRUU19DTURfU0ZESVNLIC0tdW5pdCBTIC0tZHVtcCAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJ3cml0ZS1qc29uIgorJFRTX0NNRF9TRkRJU0sgLS1qc29uICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCisjCisjIFRlc3QgZmlyc3QgTEJBIHNtYWxsZXIgdGhhbiBsaWJmZGlzayBkZWZhdWx0ICh+MU1pQikgYW5kIHNtYWxsIGdhcHMgYmV0d2VlbgorIyBsb2dpY2FsIHBhcnRpdGlvbnMgKGp1c3Qgb25seSBvbmUgc2VjdG9yIGZvciBFQlIpLgorIwordHNfaW5pdF9zdWJ0ZXN0ICJleHBsaWNpdC1zaXplIgorJFRTX0NNRF9XSVBFRlMgLWEgJHtUU19ERVZJQ0V9ICY+IC9kZXYvbnVsbAordWRldmFkbSBzZXR0bGUKKyRUU19DTURfU0ZESVNLIC0tdW5pdCBTICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEgPDxFT0YKK2xhYmVsOiBkb3MKKzEsIDEwMDAsIEwKKzEwMDEsIDEwMDAsIFMKKzIwMDEsIDEwMDAKKzMwMDEsLEUKKzMwMDIsMTAwMCxMCis0MDAzLDEwMDAsTAorNTAwNCwsTAorRU9GCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit1ZGV2YWRtIHNldHRsZQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAicmVzaXplIgorJFRTX0NNRF9XSVBFRlMgLWEgJHtUU19ERVZJQ0V9ICY+IC9kZXYvbnVsbAordWRldmFkbSBzZXR0bGUKKyRUU19DTURfU0ZESVNLICR7VFNfREVWSUNFfSA+IC9kZXYvbnVsbCAyPiYxIDw8RU9GCitsYWJlbDogZG9zCissMTBNLFMsKgorRU9GCit1ZGV2YWRtIHNldHRsZQorZWNobyAnLCsnIHwgJFRTX0NNRF9TRkRJU0sgLS1uby1yZXJlYWQgLU4xICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3VkZXZhZG0gc2V0dGxlCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJkdW1wLW9sZCIKKyRUU19DTURfV0lQRUZTIC1hICR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwKK3VkZXZhZG0gc2V0dGxlCiskVFNfQ01EX1NGRElTSyAke1RTX0RFVklDRX0gPCAkVFNfU0VMRi9maWxlcy9kdW1wLW9sZCA+PiAkVFNfT1VUUFVUIDI+JjEKK3VkZXZhZG0gc2V0dGxlCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit1ZGV2YWRtIHNldHRsZQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAiZHVtcC1nYXBzIgorJFRTX0NNRF9XSVBFRlMgLWEgJHtUU19ERVZJQ0V9ICY+IC9kZXYvbnVsbAordWRldmFkbSBzZXR0bGUKKyRUU19DTURfU0ZESVNLICR7VFNfREVWSUNFfSA8ICRUU19TRUxGL2ZpbGVzL2R1bXAtZ2FwcyA+PiAkVFNfT1VUUFVUIDI+JjEKK3VkZXZhZG0gc2V0dGxlCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit1ZGV2YWRtIHNldHRsZQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvc2ZkaXNrL2ZpbGVzL2R1bXAtZ2FwcyBiL3Rlc3RzL3RzL3NmZGlzay9maWxlcy9kdW1wLWdhcHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2FmZjljYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3NmZGlzay9maWxlcy9kdW1wLWdhcHMKQEAgLTAsMCArMSw3IEBACisjIHBhcnRpdGlvbiB0YWJsZSBvZiAvZGV2L3NkYwordW5pdDogc2VjdG9ycworCisvZGV2L3NkYzEgOiBzdGFydD0gICAgIDIwNDgsIHNpemU9ICAgIDQ5OTk5LCBJZD04MywgYm9vdGFibGUKKy9kZXYvc2RjMiA6IHN0YXJ0PSAgICAgICAgMCwgc2l6ZT0gICAgICAgIDAsIElkPSAwCisvZGV2L3NkYzMgOiBzdGFydD0gICAgNTIwNDgsIHNpemU9ICAgIDQ5OTk5LCBJZD04MworL2Rldi9zZGM0IDogc3RhcnQ9ICAgICAgICAwLCBzaXplPSAgICAgICAgMCwgSWQ9IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3NmZGlzay9maWxlcy9kdW1wLW9sZCBiL3Rlc3RzL3RzL3NmZGlzay9maWxlcy9kdW1wLW9sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NzA4ZTVlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvc2ZkaXNrL2ZpbGVzL2R1bXAtb2xkCkBAIC0wLDAgKzEsNyBAQAorIyBwYXJ0aXRpb24gdGFibGUgb2YgL2Rldi9zZGMKK3VuaXQ6IHNlY3RvcnMKKworL2Rldi9zZGMxIDogc3RhcnQ9ICAgICAyMDQ4LCBzaXplPSAgICA0OTk5OSwgSWQ9ODMsIGJvb3RhYmxlCisvZGV2L3NkYzIgOiBzdGFydD0gICAgICAgIDAsIHNpemU9ICAgICAgICAwLCBJZD0gMAorL2Rldi9zZGMzIDogc3RhcnQ9ICAgICAgICAwLCBzaXplPSAgICAgICAgMCwgSWQ9IDAKKy9kZXYvc2RjNCA6IHN0YXJ0PSAgICAgICAgMCwgc2l6ZT0gICAgICAgIDAsIElkPSAwCmRpZmYgLS1naXQgYS90ZXN0cy90cy9zZmRpc2svZ3B0IGIvdGVzdHMvdHMvc2ZkaXNrL2dwdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lOWM4ZDNlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvc2ZkaXNrL2dwdApAQCAtMCwwICsxLDIwNiBAQAorIyEvYmluL2Jhc2gKKworIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9IkdQVCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9TRkRJU0siCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRkRJU0siCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfV0lQRUZTIgorCit0c19za2lwX25vbnJvb3QKKworIyBzZXQgZ2xvYmFsIHZhcmlhYmxlIFRTX0RFVklDRQordHNfc2NzaV9kZWJ1Z19pbml0IGRldl9zaXplX21iPTUwIHNlY3Rvcl9zaXplPTUxMiBwaHlzYmxrX2V4cD0zCisKKwordHNfaW5pdF9zdWJ0ZXN0ICJhbGwtZGVmYXVsdHMiCiskVFNfQ01EX1NGRElTSyAtLXVuaXQgUyAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxIDw8RU9GCitsYWJlbDogZ3B0CitsYWJlbC1pZDogYjE4MWMzOTktNDcxMS00YzUyLThiNjUtOWU3NjQ1NDEyMThkCisKKyw1TQorLCA1TSwgTAorLCA1TSxTCissIDVNLCA0RjY4QkNFMy1FOENELTREQjEtOTZFNy1GQkNBRjk4NEI3MDkKKywgLAorRU9GCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit1ZGV2YWRtIHNldHRsZQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAidXVpZCIKKyRUU19DTURfU0ZESVNLIC0tcGFydC11dWlkICR7VFNfREVWSUNFfSAxIDkxZGM2NTdiLWQ3YjQtNDY1My1hMzY3LTY2MzE5NGZmZDQzMiAmPiAvZGV2L251bGwKKyRUU19DTURfU0ZESVNLIC0tcGFydC11dWlkICR7VFNfREVWSUNFfSAyIGJhYTA4YWRmLTMyN2UtNDE3Ny04OTUzLTk4ZGExYTUxNzZjNCAmPiAvZGV2L251bGwKKyRUU19DTURfU0ZESVNLIC0tcGFydC11dWlkICR7VFNfREVWSUNFfSAzIGNlYWQ4YTg3LWZmMWEtNDVjYi04M2U1LTk5YjA4ZDBlYmM4NyAmPiAvZGV2L251bGwKKyRUU19DTURfU0ZESVNLIC0tcGFydC11dWlkICR7VFNfREVWSUNFfSA0IGQ0ZmNkYzYwLTc2NWQtNGJjMy1iZDg0LTBkMGI5ODQyYzZkYiAmPiAvZGV2L251bGwKKyRUU19DTURfU0ZESVNLIC0tcGFydC11dWlkICR7VFNfREVWSUNFfSA1IDYwMTU1YmQ3LWJmZDgtNGU4Yy1iODAwLTIyMTkwMDc3OTM3MyAmPiAvZGV2L251bGwKKworJFRTX0NNRF9TRkRJU0sgLS1wYXJ0LXV1aWQgJHtUU19ERVZJQ0V9IDEgPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit1ZGV2YWRtIHNldHRsZQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAibGFiZWwiCiskVFNfQ01EX1NGRElTSyAtLXBhcnQtbGFiZWwgJHtUU19ERVZJQ0V9IDEgIkVGSSBzeXN0ZW0iID4+ICRUU19PVVRQVVQgMj4mMSAKKyRUU19DTURfU0ZESVNLIC0tcGFydC1sYWJlbCAke1RTX0RFVklDRX0gMSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3VkZXZhZG0gc2V0dGxlCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJ0eXBlIgorJFRTX0NNRF9TRkRJU0sgLS1wYXJ0LXR5cGUgJHtUU19ERVZJQ0V9IDEgIkMxMkE3MzI4LUY4MUYtMTFEMi1CQTRCLTAwQTBDOTNFQzkzQiIgPj4gJFRTX09VVFBVVCAyPiYxIAorJFRTX0NNRF9TRkRJU0sgLS1wYXJ0LXR5cGUgJHtUU19ERVZJQ0V9IDEgPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit1ZGV2YWRtIHNldHRsZQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAiYXR0cnMiCiskVFNfQ01EX1NGRElTSyAtLXBhcnQtYXR0cnMgJHtUU19ERVZJQ0V9IDIgIlJlcXVpcmVkUGFydGl0aW9uLE5vQmxvY2tJT1Byb3RvY29sLDQ4LDUxIiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfU0ZESVNLIC0tcGFydC1hdHRycyAke1RTX0RFVklDRX0gMiA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gLWUgJ3hcbkRcbicgfCAkVFNfQ01EX0ZESVNLICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3VkZXZhZG0gc2V0dGxlCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJhdHRycy1zcGFjZSIKKyRUU19DTURfU0ZESVNLIC0tcGFydC1hdHRycyAke1RTX0RFVklDRX0gMiAiUmVxdWlyZWRQYXJ0aXRpb24gTm9CbG9ja0lPUHJvdG9jb2wgNDggNTEiID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9TRkRJU0sgLS1wYXJ0LWF0dHJzICR7VFNfREVWSUNFfSAyID4+ICRUU19PVVRQVVQgMj4mMQorZWNobyAtZSAneFxuRFxuJyB8ICRUU19DTURfRkRJU0sgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQordWRldmFkbSBzZXR0bGUKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgImF0dHJzLWd1aWQiCiskVFNfQ01EX1NGRElTSyAtLXBhcnQtYXR0cnMgJHtUU19ERVZJQ0V9IDIgIkdVSUQ6NDggR1VJRDo1MSw1Miw2MyIgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX1NGRElTSyAtLXBhcnQtYXR0cnMgJHtUU19ERVZJQ0V9IDIgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvIC1lICd4XG5EXG4nIHwgJFRTX0NNRF9GRElTSyAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit1ZGV2YWRtIHNldHRsZQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAiYXR0cnMtd2l0aC10eXBvIgorJFRTX0NNRF9TRkRJU0sgLS1wYXJ0LWF0dHJzICR7VFNfREVWSUNFfSAyICJSZXF1aXJlZFBhcnRpdG9uLE5vQmxvY2tJT1Byb3RvY29sLDQ4LDUxIiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfU0ZESVNLIC0tcGFydC1hdHRycyAke1RTX0RFVklDRX0gMiA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gLWUgJ3hcbkRcbicgfCAkVFNfQ01EX0ZESVNLICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3VkZXZhZG0gc2V0dGxlCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJhdHRycy11bnN1cHBvcnRlZCIKKyRUU19DTURfU0ZESVNLIC0tcGFydC1hdHRycyAke1RTX0RFVklDRX0gMiAiTm9CbG9ja0lPUHJvdG9jb2wgRm9vQmFyIDQ4IDUxIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgImF0dHJzLWJyb2tlbi1ub3NlcCIKKyRUU19DTURfU0ZESVNLIC0tcGFydC1hdHRycyAke1RTX0RFVklDRX0gMiAiTm9CbG9ja0lPUHJvdG9jb2xSZXF1aXJlZFBhcnRpdG9uIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgImF0dHJzLWJyb2tlbi1ndWlkIgorJFRTX0NNRF9TRkRJU0sgLS1wYXJ0LWF0dHJzICR7VFNfREVWSUNFfSAyICJHVUlEOk5vQmxvY2tJT1Byb3RvY29sIEdVSUQ6R1VJRDo2MyBSZXF1aXJlZFBhcnRpdG9uIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgInJlYWQtZHVtcCIKKyRUU19DTURfV0lQRUZTIC1hICR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwKK3VkZXZhZG0gc2V0dGxlCiskVFNfQ01EX1NGRElTSyAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxIDw8RU9GCit1bml0OiBzZWN0b3JzCitsYWJlbDogZ3B0CitsYWJlbC1pZDogM2I4NTU5ZGItMzNhZi00M2U5LWJlZmMtYzMzMWQ4MjliNTM5CisKKyR7VFNfREVWSUNFfTEgOiBzdGFydD0yMDQ4LCAgc2l6ZT02MTQ0LCB0eXBlPTQ0NDc5NTQwLUYyOTctNDFCMi05QUY3LUQxMzFENUYwNDU4QSwgdXVpZD00ZGQ2OTQ4YS00NGY4LTRlNmMtOGJkYy0wNjRmNzQwNzA0ZjgKKyR7VFNfREVWSUNFfTIgOiBzdGFydD04MTkyLCAgc2l6ZT02MTQ0LCB1dWlkPTQ0YjUxZGVmLTVmMDQtNDY1YS05MWFhLTI4ODlhNjJkOGU0OQorJHtUU19ERVZJQ0V9MyA6IHN0YXJ0PTE0MzM2LCBzaXplPTYxNDQsIHV1aWQ9NjQzZTFkMGQtYmMwMi00Y2VkLWI4M2ItODYxMjEwNjI4NThmCiske1RTX0RFVklDRX00IDogc3RhcnQ9MjA0ODAsIHNpemU9ODE4ODcsdXVpZD1kMmEyOWIwYS1mZGVlLTQwYzMtOWJhZS1iOWZhNzgyYzk4NmMsIG5hbWU9IkdQVCBpcyB0aGUgYmVzdCIKK0VPRgordWRldmFkbSBzZXR0bGUKKyRUU19DTURfU0ZESVNLIC0tbGlzdCAtbyBTVEFSVCxFTkQsU0laRSxVVUlELFRZUEUsTkFNRSAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJ3cml0ZS1kdW1wIgorJFRTX0NNRF9TRkRJU0sgLS11bml0IFMgLS1kdW1wICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgIndyaXRlLWpzb24iCiskVFNfQ01EX1NGRElTSyAtLWpzb24gJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAibGlzdC1wbWJyIgorJFRTX0NNRF9TRkRJU0sgLS1saXN0IC0tbGFiZWwtbmVzdGVkIGRvcyAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJyZXNpemUiCiskVFNfQ01EX1dJUEVGUyAtYSAke1RTX0RFVklDRX0gJj4gL2Rldi9udWxsCit1ZGV2YWRtIHNldHRsZQorJFRTX0NNRF9TRkRJU0sgJHtUU19ERVZJQ0V9ID4gL2Rldi9udWxsIDI+JjEgPDxFT0YKK2xhYmVsOiBncHQKKywxME0sUywqCitFT0YKK3VkZXZhZG0gc2V0dGxlCitlY2hvICcsKycgfCAkVFNfQ01EX1NGRElTSyAtLW5vLXJlcmVhZCAtTjEgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQordWRldmFkbSBzZXR0bGUKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgInJlb3JkZXIiCiskVFNfQ01EX1dJUEVGUyAtYSAke1RTX0RFVklDRX0gJj4gL2Rldi9udWxsCit1ZGV2YWRtIHNldHRsZQorJFRTX0NNRF9TRkRJU0sgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMSA8PEVPRgordW5pdDogc2VjdG9ycworbGFiZWw6IGdwdAorbGFiZWwtaWQ6IDNiODU1OWRiLTMzYWYtNDNlOS1iZWZjLWMzMzFkODI5YjUzOQorCiske1RTX0RFVklDRX0xIDogc3RhcnQ9ODE5MiwgIHNpemU9NjE0NAorJHtUU19ERVZJQ0V9MiA6IHN0YXJ0PTIwNDgsICBzaXplPTYxNDQKKyR7VFNfREVWSUNFfTMgOiBzdGFydD0yMDQ4MCwgc2l6ZT04MTg4NworJHtUU19ERVZJQ0V9NCA6IHN0YXJ0PTE0MzM2LCBzaXplPTYxNDQKK0VPRgordWRldmFkbSBzZXR0bGUKKyMgd2h5IC0tcmVvcmRlciBkb2VzIG5vdCByZS1yZWFkPworJFRTX0NNRF9TRkRJU0sgLS1yZW9yZGVyICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfU0ZESVNLIC0tbGlzdCAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit1ZGV2YWRtIHNldHRsZQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9zZmRpc2svbW92ZWRhdGEgYi90ZXN0cy90cy9zZmRpc2svbW92ZWRhdGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjk5ZDZjYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3NmZGlzay9tb3ZlZGF0YQpAQCAtMCwwICsxLDc1IEBACisjIS9iaW4vYmFzaAorCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ibW92ZWRhdGEiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfU0ZESVNLIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX01ENSIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19wcm9nICJta2ZzLmV4dDQiCisKKyMgc2V0IGdsb2JhbCB2YXJpYWJsZSBUU19ERVZJQ0UKK3RzX3Njc2lfZGVidWdfaW5pdCBkZXZfc2l6ZV9tYj0xMDAgc2VjdG9yX3NpemU9NTEyCisKKyMgY3JlYXRlIGEgcGFydGl0aW9uCitlY2hvICcsMTBNLEwnIHwgJFRTX0NNRF9TRkRJU0sgLS1uby1yZXJlYWQgJHtUU19ERVZJQ0V9ICY+IC9kZXYvbnVsbAordWRldmFkbSBzZXR0bGUKKworbWtmcy5leHQ0ICR7VFNfREVWSUNFfTEgJj4gL2Rldi9udWxsCit1ZGV2YWRtIHNldHRsZQorQ0hFQ0tTVU09JCgiJFRTX0hFTFBFUl9NRDUiIDwgIiR7VFNfREVWSUNFfTEiKQorCitmdW5jdGlvbiBjaGVja3N1bSgpIHsKKwlsb2NhbCBkZXY9IiQxIgorCUNIRUNLPSQoIiRUU19IRUxQRVJfTUQ1IiA8ICIke2Rldn0iKQorCWlmIFsgIiRDSEVDS1NVTSIgIT0gIiRDSEVDSyIgXTsgdGhlbgorCQllY2hvICJDaGVja3N1bSBkb2VzIG5vdCBtYXRjaCEiID4+ICRUU19PVVRQVVQKKwlmaQorfQorCit0c19pbml0X3N1YnRlc3QgInVwIgorZWNobyAnKzEwMDAsJyB8ICRUU19DTURfU0ZESVNLIC0tbm8tcmVyZWFkIC0tbW92ZS1kYXRhPSRUU19PVVRQVVQubG9nIC1OMSAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit1ZGV2YWRtIHNldHRsZQorY2hlY2tzdW0gJHtUU19ERVZJQ0V9MQordHNfZmluYWxpemVfc3VidGVzdAorCit1ZGV2YWRtIHNldHRsZQorCit0c19pbml0X3N1YnRlc3QgImRvd24iCitlY2hvICItNTAwLCIgfCAkVFNfQ01EX1NGRElTSyAtLW5vLXJlcmVhZCAtLW1vdmUtZGF0YT0kVFNfT1VUUFVULmxvZyAtTjEgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQordWRldmFkbSBzZXR0bGUKK2NoZWNrc3VtICR7VFNfREVWSUNFfTEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordWRldmFkbSBzZXR0bGUKKwordHNfaW5pdF9zdWJ0ZXN0ICJub24tb3ZlcmxheSIKK2VjaG8gIiszME0sIiB8ICRUU19DTURfU0ZESVNLIC0tbm8tcmVyZWFkIC0tbW92ZS1kYXRhPSRUU19PVVRQVVQubG9nIC1OMSAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit1ZGV2YWRtIHNldHRsZQorY2hlY2tzdW0gJHtUU19ERVZJQ0V9MQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9zZmRpc2svcmVzaXplIGIvdGVzdHMvdHMvc2ZkaXNrL3Jlc2l6ZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mZjU4ZTJkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvc2ZkaXNrL3Jlc2l6ZQpAQCAtMCwwICsxLDEyNSBAQAorIyEvYmluL2Jhc2gKKworIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InJlc2l6ZSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9TRkRJU0siCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfV0lQRUZTIgorCit0c19za2lwX25vbnJvb3QKKworIyBzZXQgZ2xvYmFsIHZhcmlhYmxlIFRTX0RFVklDRQordHNfc2NzaV9kZWJ1Z19pbml0IGRldl9zaXplX21iPTEwMCBzZWN0b3Jfc2l6ZT01MTIKKworZGVjbGFyZSAtYSBDT01NCitkZWNsYXJlIC1hIE5BTUUKKworQ09NTVswXT0iMzAwMCwiCitOQU1FWzBdPSJtb3ZlLXVwLWFic29sdXRlIgorCitDT01NWzFdPSIyMDQ4LCIKK05BTUVbMV09Im1vdmUtZG93bi1hYnNvbHV0ZSIKKworQ09NTVsyXT0iKzFNLCIKK05BTUVbMl09Im1vdmUtdXAtcmVsYXRpdmUiCisKK0NPTU1bM109Ii0xTSwiCitOQU1FWzNdPSJtb3ZlLWRvd24tcmVsYXRpdmUiCisKK0NPTU1bNF09Ii0sMTVNIgorTkFNRVs0XT0iZW5sYXJnZS1hYnNvbHV0ZSIKKworQ09NTVs1XT0iLDVNLCIKK05BTUVbNV09InJlZHVjZS1hYnNvbHV0ZSIKKworQ09NTVs2XT0iLCArMTBNIgorTkFNRVs2XT0iZW5sYXJnZS1yZWxhdGl2ZSIKKworTkFNRVs3XT0icmVkdWNlLXJlbGF0aXZlIgorQ09NTVs3XT0iLCAtMTBNIgorCitOQU1FWzhdPSJlbmxhcmdlLWFsbCIKK0NPTU1bOF09IiwrIgorCitOQU1FWzldPSJ1cC1wcmVkdWNlIgorQ09NTVs5XT0iKzEwTSwtMTBNIgorCitOQU1FWzEwXT0iZG93bi1lbmxhcmdlIgorQ09NTVsxMF09Ii0xME0sKzEwTSwsKiIKKworTkFNRVsxMV09ImFic29sdXRlLW1vdmUtcmVzaXplIgorQ09NTVsxMV09IjIwNDgsMTBNLEwiCisKK2Z1bmN0aW9uIHRlc3RfbGFiZWxfcmVzaXplIHsKKwlsb2NhbCBsYWJlbD0iJDEiCisKKwkkVFNfQ01EX1dJUEVGUyAtYSAke1RTX0RFVklDRX0gJj4gL2Rldi9udWxsCisJdWRldmFkbSBzZXR0bGUKKworCSMgY3JlYXRlIGEgcGFydGl0aW9uCisJZWNobyAnLDEwTSxMJyB8ICRUU19DTURfU0ZESVNLIC0tbm8tcmVyZWFkIC0tbGFiZWwgJHtsYWJlbH0gJHtUU19ERVZJQ0V9ICY+IC9kZXYvbnVsbAorCXVkZXZhZG0gc2V0dGxlCisKKwlmb3IgaWR4IGluICQoc2VxIDAgJCgoICR7I0NPTU1bKl19IC0gMSApKSk7IGRvCisKKwkJY21kPSR7Q09NTVskaWR4XX0KKwkJbmFtZT0ke05BTUVbJGlkeF19CisKKwkJdHNfaW5pdF9zdWJ0ZXN0ICIkbGFiZWwtJGlkeC0kbmFtZSIKKwkJZWNobyAtZSAiJGNtZFxuIiA+PiAkVFNfT1VUUFVUCisJCWVjaG8gIiRjbWQiIHwgJFRTX0NNRF9TRkRJU0sgLS1uby1yZXJlYWQgLU4xICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEKKwkJdHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQorCQl1ZGV2YWRtIHNldHRsZQorCQl0c19maW5hbGl6ZV9zdWJ0ZXN0CisJZG9uZQorCisJZWNobyAnLDEwTSxMJyB8ICRUU19DTURfU0ZESVNLIC0tbm8tcmVyZWFkIC0tYXBwZW5kICR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwKKwl1ZGV2YWRtIHNldHRsZQorCisJZWNobyAnLDEwTSxMJyB8ICRUU19DTURfU0ZESVNLIC0tbm8tcmVyZWFkIC0tYXBwZW5kICR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwKKwl1ZGV2YWRtIHNldHRsZQorCisJaWR4PSQoKCAkaWR4ICsgMSApKQorCXRzX2luaXRfc3VidGVzdCAiJGxhYmVsLSRpZHgtcmVkdWNlLW1pZGxlIgorCWNtZD0nLC01TScKKwllY2hvIC1lICIkY21kXG4iID4+ICRUU19PVVRQVVQKKwllY2hvICIkY21kIiB8ICRUU19DTURfU0ZESVNLIC0tbm8tcmVyZWFkIC1OMiAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCisJdHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQorCXVkZXZhZG0gc2V0dGxlCisJdHNfZmluYWxpemVfc3VidGVzdAorCisJaWR4PSQoKCAkaWR4ICsgMSApKQorCXRzX2luaXRfc3VidGVzdCAiJGxhYmVsLSRpZHgtbWF4LWxhc3QiCisJY21kPSctNU0sKycKKwllY2hvIC1lICIkY21kXG4iID4+ICRUU19PVVRQVVQKKwllY2hvICRjbWQgfCAkVFNfQ01EX1NGRElTSyAtLW5vLXJlcmVhZCAtTjMgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMQorCXRzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKKwl1ZGV2YWRtIHNldHRsZQorCXRzX2ZpbmFsaXplX3N1YnRlc3QKK30KKworIyBNQlIKK3Rlc3RfbGFiZWxfcmVzaXplIGRvcworCisjIEdQVAordGVzdF9sYWJlbF9yZXNpemUgZ3B0CisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9zZmRpc2svc2NyaXB0IGIvdGVzdHMvdHMvc2ZkaXNrL3NjcmlwdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kNjNiYzc3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvc2ZkaXNrL3NjcmlwdApAQCAtMCwwICsxLDE1OCBAQAorIyEvYmluL2Jhc2gKKworIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9IkdQVCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9TRkRJU0siCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRkRJU0siCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfV0lQRUZTIgorCit0c19za2lwX25vbnJvb3QKKworIyBzZXQgZ2xvYmFsIHZhcmlhYmxlIFRTX0RFVklDRQordHNfc2NzaV9kZWJ1Z19pbml0IGRldl9zaXplX21iPTUwIHNlY3Rvcl9zaXplPTUxMiBwaHlzYmxrX2V4cD0zCisKK3RzX2luaXRfc3VidGVzdCAidHlwZS1hbmQtaWQiCiskVFNfQ01EX1dJUEVGUyAtYSAke1RTX0RFVklDRX0gJj4gL2Rldi9udWxsCit1ZGV2YWRtIHNldHRsZQorJFRTX0NNRF9TRkRJU0sgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMSA8PEVPRgordW5pdDogc2VjdG9ycworbGFiZWw6IGdwdAorbGFiZWwtaWQ6IDNiODU1OWRiLTMzYWYtNDNlOS1iZWZjLWMzMzFkODI5YjUzOQorCiske1RTX0RFVklDRX0xIDogc3RhcnQ9MjA0OCwgIHNpemU9NjE0NCwgSWQ9NDQ0Nzk1NDAtRjI5Ny00MUIyLTlBRjctRDEzMUQ1RjA0NThBLCB1dWlkPTRkZDY5NDhhLTQ0ZjgtNGU2Yy04YmRjLTA2NGY3NDA3MDRmOAorJHtUU19ERVZJQ0V9MiA6IHN0YXJ0PTgxOTIsICBzaXplPTYxNDQsIGlkPTQ0NDc5NTQwLUYyOTctNDFCMi05QUY3LUQxMzFENUYwNDU4QSwgdXVpZD00NGI1MWRlZi01ZjA0LTQ2NWEtOTFhYS0yODg5YTYyZDhlNDkKKyR7VFNfREVWSUNFfTMgOiBzdGFydD0xNDMzNiwgc2l6ZT02MTQ0LCB0eXBlPTQ0NDc5NTQwLUYyOTctNDFCMi05QUY3LUQxMzFENUYwNDU4QSwgdXVpZD02NDNlMWQwZC1iYzAyLTRjZWQtYjgzYi04NjEyMTA2Mjg1OGYKKyR7VFNfREVWSUNFfTQgOiBzdGFydD0yMDQ4MCwgc2l6ZT04MTg4NyxUeXBlPTQ0NDc5NTQwLUYyOTctNDFCMi05QUY3LUQxMzFENUYwNDU4QSwgdXVpZD1kMmEyOWIwYS1mZGVlLTQwYzMtOWJhZS1iOWZhNzgyYzk4NmMKK0VPRgordWRldmFkbSBzZXR0bGUKKyRUU19DTURfU0ZESVNLIC0tbGlzdCAtbyBTVEFSVCxFTkQsU0laRSxVVUlELFRZUEUsTkFNRSAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAic2VwYXJhdG9yIgorJFRTX0NNRF9XSVBFRlMgLWEgJHtUU19ERVZJQ0V9ICY+IC9kZXYvbnVsbAordWRldmFkbSBzZXR0bGUKKyRUU19DTURfU0ZESVNLICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEgPDxFT0YKK3VuaXQ6IHNlY3RvcnMKK2xhYmVsOiBncHQKK2xhYmVsLWlkOiAzYjg1NTlkYi0zM2FmLTQzZTktYmVmYy1jMzMxZDgyOWI1MzkKKworJHtUU19ERVZJQ0V9MSA6IHN0YXJ0PTIwNDggc2l6ZT02MTQ0ICAgdXVpZD00ZGQ2OTQ4YS00NGY4LTRlNmMtOGJkYy0wNjRmNzQwNzA0ZjgKKyR7VFNfREVWSUNFfTIgOiBzdGFydD04MTkyLHNpemU9NjE0NCwgIHV1aWQ9NDRiNTFkZWYtNWYwNC00NjVhLTkxYWEtMjg4OWE2MmQ4ZTQ5ICx0eXBlPTQ0NDc5NTQwLUYyOTctNDFCMi05QUY3LUQxMzFENUYwNDU4QQorJHtUU19ERVZJQ0V9MyA6IHN0YXJ0PTE0MzM2ICwgc2l6ZT02MTQ0ICx1dWlkPTY0M2UxZDBkLWJjMDItNGNlZC1iODNiLTg2MTIxMDYyODU4ZgorJHtUU19ERVZJQ0V9NCA6IHN0YXJ0PTIwNDgwOyBzaXplPTgxODg3IDsgICAgIHV1aWQ9ZDJhMjliMGEtZmRlZS00MGMzLTliYWUtYjlmYTc4MmM5ODZjCitFT0YKK3VkZXZhZG0gc2V0dGxlCiskVFNfQ01EX1NGRElTSyAtLWxpc3QgLW8gU1RBUlQsRU5ELFNJWkUsVVVJRCxUWVBFLE5BTUUgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAicXVvdGVzIgorJFRTX0NNRF9XSVBFRlMgLWEgJHtUU19ERVZJQ0V9ICY+IC9kZXYvbnVsbAordWRldmFkbSBzZXR0bGUKKyRUU19DTURfU0ZESVNLICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEgPDxFT0YKK3VuaXQ6IHNlY3RvcnMKK2xhYmVsOiBncHQKK2xhYmVsLWlkOiAzYjg1NTlkYi0zM2FmLTQzZTktYmVmYy1jMzMxZDgyOWI1MzkKKworJHtUU19ERVZJQ0V9MSA6IHN0YXJ0PTIwNDggIHV1aWQ9IjRkZDY5NDhhLTQ0ZjgtNGU2Yy04YmRjLTA2NGY3NDA3MDRmOCIgc2l6ZT02MTQ0Ciske1RTX0RFVklDRX0yIDogc3RhcnQ9IDgxOTIgIHV1aWQ9IjQ0YjUxZGVmLTVmMDQtNDY1YS05MWFhLTI4ODlhNjJkOGU0OSIgLCBzaXplPTYxNDQKKyR7VFNfREVWSUNFfTM6IHN0YXJ0PTE0MzM2IHV1aWQ9IjY0M2UxZDBkLWJjMDItNGNlZC1iODNiLTg2MTIxMDYyODU4ZiIsc2l6ZT02MTQ0Ciske1RTX0RFVklDRX00ICA6IHN0YXJ0PTIwNDgwIHV1aWQ9ImQyYTI5YjBhLWZkZWUtNDBjMy05YmFlLWI5ZmE3ODJjOTg2YyIsICAgICBzaXplPTYxNDQKK0VPRgordWRldmFkbSBzZXR0bGUKKyRUU19DTURfU0ZESVNLIC0tbGlzdCAtbyBTVEFSVCxFTkQsU0laRSxVVUlELFRZUEUsTkFNRSAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJicm9rZW4tMSIKKyRUU19DTURfV0lQRUZTIC1hICR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwKK3VkZXZhZG0gc2V0dGxlCiskVFNfQ01EX1NGRElTSyAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxIDw8RU9GCit1bml0OiBzZWN0b3JzCitsYWJlbDogZ3B0CitsYWJlbC1pZDogM2I4NTU5ZGItMzNhZi00M2U5LWJlZmMtYzMzMWQ4MjliNTM5CisKKyR7VFNfREVWSUNFfTEgOiBzdGFydCA9MjA0OCAgdXVpZD0iNGRkNjk0OGEtNDRmOC00ZTZjLThiZGMtMDY0Zjc0MDcwNGY4IiBzaXplPTYxNDQKK0VPRgordHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAiYnJva2VuLTIiCiskVFNfQ01EX1dJUEVGUyAtYSAke1RTX0RFVklDRX0gJj4gL2Rldi9udWxsCit1ZGV2YWRtIHNldHRsZQorJFRTX0NNRF9TRkRJU0sgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMSA8PEVPRgordW5pdDogc2VjdG9ycworbGFiZWw6IGdwdAorbGFiZWwtaWQ6IDNiODU1OWRiLTMzYWYtNDNlOS1iZWZjLWMzMzFkODI5YjUzOQorCiske1RTX0RFVklDRX0xIDogc3RhcnQ9MjA0OHV1aWQ9IjRkZDY5NDhhLTQ0ZjgtNGU2Yy04YmRjLTA2NGY3NDA3MDRmOCIgc2l6ZT02MTQ0CitFT0YKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgImJyb2tlbi0zIgorJFRTX0NNRF9XSVBFRlMgLWEgJHtUU19ERVZJQ0V9ICY+IC9kZXYvbnVsbAordWRldmFkbSBzZXR0bGUKKyRUU19DTURfU0ZESVNLICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEgPDxFT0YKK3VuaXQ6IHNlY3RvcnMKK2xhYmVsOiBncHQKK2xhYmVsLWlkOiAzYjg1NTlkYi0zM2FmLTQzZTktYmVmYy1jMzMxZDgyOWI1MzkKKworJHtUU19ERVZJQ0V9MSA6IHN0YXJ0PTIwNDggdXVpZD0sIjRkZDY5NDhhLTQ0ZjgtNGU2Yy04YmRjLTA2NGY3NDA3MDRmOCIgc2l6ZT02MTQ0CitFT0YKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgImJyb2tlbi00IgorJFRTX0NNRF9XSVBFRlMgLWEgJHtUU19ERVZJQ0V9ICY+IC9kZXYvbnVsbAordWRldmFkbSBzZXR0bGUKKyRUU19DTURfU0ZESVNLICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEgPDxFT0YKK3VuaXQ6IHNlY3RvcnMKK2xhYmVsOiBncHQKK2xhYmVsLWlkOiAzYjg1NTlkYi0zM2FmLTQzZTktYmVmYy1jMzMxZDgyOWI1MzkKKworJHtUU19ERVZJQ0V9MSA6IHN0YXJ0PTIwNDggdXVpZD0iNGRkNjk0OGEtNDRmOC00ZTZjLThiZGMtMDY0Zjc0MDcwNGY4IHNpemU9NjE0NAorRU9GCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJicm9rZW4tNSIKKyRUU19DTURfV0lQRUZTIC1hICR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwKK3VkZXZhZG0gc2V0dGxlCiskVFNfQ01EX1NGRElTSyAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxIDw8RU9GCit1bml0OiBzZWN0b3JzCitsYWJlbDogZ3B0CitsYWJlbC1pZDogM2I4NTU5ZGItMzNhZi00M2U5LWJlZmMtYzMzMWQ4MjliNTM5CisKKyR7VFNfREVWSUNFfTEgOiBzdGFydD0yMDQ4IHV1aWQ9NGRkNjk0OGEtNDRmOC00ZTZjLThiZGMtMDY0Zjc0MDcwNGY4IiBzaXplPTYxNDQKK0VPRgordHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvc3dhcG9uL2Rldm5hbWUgYi90ZXN0cy90cy9zd2Fwb24vZGV2bmFtZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kZTlhNWYyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvc3dhcG9uL2Rldm5hbWUKQEAgLTAsMCArMSw1MCBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJieSBkZXZuYW1lIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01LU1dBUCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9TV0FQT04iCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfU1dBUE9GRiIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19sb3NldHVwCisKK3RzX2RldmljZV9pbml0CitERVZJQ0U9JFRTX0xPREVWCisKKyRUU19DTURfTUtTV0FQICRERVZJQ0UgPiAvZGV2L251bGwgMj4+ICRUU19PVVRQVVQgXAorIHx8IHRzX2RpZSAiQ2Fubm90IG1ha2Ugc3dhcCAkREVWSUNFIgorCit0c19kZXZpY2VfaGFzICJUWVBFIiAic3dhcCIgJERFVklDRSB8fCB0c19kaWUgIkNhbm5vdCBmaW5kIHN3YXAgb24gJERFVklDRSIKKworJFRTX0NNRF9TV0FQT04gJERFVklDRSA+PiAkVFNfT1VUUFVUIDI+JjEKKworZ3JlcCAtcSAkREVWSUNFIC9wcm9jL3N3YXBzIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgJERFVklDRSBpbiAvcHJvYy9zd2FwcyIKKworJFRTX0NNRF9TV0FQT0ZGICRERVZJQ0UKKworIyBzd2Fwb24vbWtzd2FwIHdhcm5zIGlmIHN5c3RlbSBzZXRzIGRpZmZlcmVudCBwZXJtaXNzaW9ucyBmb3IgbG9vcCBkZXZpY2VzCitzZWQgLS1pbi1wbGFjZSAnL2luc2VjdXJlIHBlcm1pc3Npb25zIC4qLCAwNjYwIHN1Z2dlc3RlZC9kJyAkVFNfT1VUUFVUCisKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3N3YXBvbi9maXhwZ3N6IGIvdGVzdHMvdHMvc3dhcG9uL2ZpeHBnc3oKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDFiMmU5YQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3N3YXBvbi9maXhwZ3N6CkBAIC0wLDAgKzEsNDkgQEAKKyMhL2Jpbi9iYXNoCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImZpeCBwYWdlIHNpemUiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTUtTV0FQIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1NXQVBPTiIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9TV0FQT0ZGIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX1NZU0lORk8iCisKK3RzX3NraXBfbm9ucm9vdAordHNfY2hlY2tfbG9zZXR1cAorCitQQUdFU0laRT0kKCRUU19IRUxQRVJfU1lTSU5GTyBwYWdlc2l6ZSkKKworIworIyBDcmVhdGUgYSBzd2FwLWFyZWEgd2l0aCBpbmNvbXBhdGlibGUgcGFnZSBzaXplCisjCitbICIkPyIgPT0gMCBdIHx8IHRzX2RpZSAiQ2Fubm90IGluaXQgZGV2aWNlIgorCitpZiBbICQoKCA2NCAqIDEwMjQgKSkgLW5lICRQQUdFU0laRSBdOyB0aGVuCisJQkFEU0laRT0kKCggNjQgKiAxMDI0ICkpCitlbHNlCisJQkFEU0laRT00MDk2CitmaQorCit0c19kZXZpY2VfaW5pdAorREVWSUNFPSRUU19MT0RFVgorCiskVFNfQ01EX01LU1dBUCAtTCBNeUZvb0JhckxhYmVsIC0tcGFnZXNpemUgJEJBRFNJWkUgJERFVklDRSA+IC9kZXYvbnVsbCAmPiAvZGV2L251bGwgXAorIHx8IHRzX2RpZSAiQ2Fubm90IG1ha2Ugc3dhcCAkREVWSUNFIgorCit0c19kZXZpY2VfaGFzICJUWVBFIiAic3dhcCIgJERFVklDRSB8fCB0c19kaWUgIkNhbm5vdCBmaW5kIHN3YXAgb24gJERFVklDRSIKKworIworIyBTd2Fwb24KKyMKKyRUU19DTURfU1dBUE9OIC0tZml4cGdzeiAkREVWSUNFICAmPiAvZGV2L251bGwKKworZ3JlcCAtcSAkREVWSUNFIC9wcm9jL3N3YXBzIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgJERFVklDRSBpbiAvcHJvYy9zd2FwcyIKKworJFRTX0NNRF9TV0FQT0ZGICRERVZJQ0UKKwordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvc3dhcG9uL2ZpeHNpZyBiL3Rlc3RzL3RzL3N3YXBvbi9maXhzaWcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2Y5ZTNmZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3N3YXBvbi9maXhzaWcKQEAgLTAsMCArMSw1MyBAQAorIyEvYmluL2Jhc2gKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iZml4IHNpZ25hdHVyZSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NS1NXQVAiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfU1dBUE9OIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1NXQVBPRkYiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfU1lTSU5GTyIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19sb3NldHVwCisKK1BBR0VTSVpFPSQoJFRTX0hFTFBFUl9TWVNJTkZPIHBhZ2VzaXplKQorCisjCisjIENyZWF0ZSBhIHN3YXAtYXJlYQorIwordHNfZGV2aWNlX2luaXQKK0RFVklDRT0kVFNfTE9ERVYKKworJFRTX0NNRF9NS1NXQVAgJERFVklDRSA+IC9kZXYvbnVsbCAyPj4gJFRTX09VVFBVVCBcCisgfHwgdHNfZGllICJDYW5ub3QgbWFrZSBzd2FwICRERVZJQ0UiCisKK3RzX2RldmljZV9oYXMgIlRZUEUiICJzd2FwIiAkREVWSUNFIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgc3dhcCBvbiAkREVWSUNFIgorCisjCisjIFJld3JpdGUgc2lnbmF0dXJlIHRvIHN3c3VzcGVuZAorIworZWNobyAiUzJTVVNQRU5EICIgPiAkVFNfT1VUUFVULnNpZ25hdHVyZQorZGQgaWY9JFRTX09VVFBVVC5zaWduYXR1cmUgb2Y9JERFVklDRSBcCisJc2Vlaz0kKCggJFBBR0VTSVpFIC0gMTAgKSkgY291bnQ9MTAgYnM9MSBjb252PW5vdHJ1bmMgJj4gL2Rldi9udWxsCisKK3RzX2RldmljZV9oYXMgIlRZUEUiICJzd3N1c3BlbmQiICRERVZJQ0UgfHwgdHNfZGllICJDYW5ub3QgZmluZCBzd3N1c3BlbmQgb24gJERFVklDRSIKKworIworIyBTd2Fwb24KKyMKKyRUU19DTURfU1dBUE9OICRERVZJQ0UgJj4gL2Rldi9udWxsCisKK2dyZXAgLXEgJERFVklDRSAvcHJvYy9zd2FwcyB8fCB0c19kaWUgIkNhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2Mvc3dhcHMiCisKKyRUU19DTURfU1dBUE9GRiAkREVWSUNFCisKKyMgc3dhcG9uL21rc3dhcCB3YXJucyBpZiBzeXN0ZW0gc2V0cyBkaWZmZXJlbnQgcGVybWlzc2lvbnMgZm9yIGxvb3AgZGV2aWNlcworc2VkIC0taW4tcGxhY2UgJy9pbnNlY3VyZSBwZXJtaXNzaW9ucyAuKiwgMDY2MCBzdWdnZXN0ZWQvZCcgJFRTX09VVFBVVAorCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9zd2Fwb24vbGFiZWwgYi90ZXN0cy90cy9zd2Fwb24vbGFiZWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmJjZDc3MQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3N3YXBvbi9sYWJlbApAQCAtMCwwICsxLDUyIEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImJ5IGxhYmVsIgorTEFCRUw9InRlc3RTd2FwTGFiZWwiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTUtTV0FQIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1NXQVBPTiIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9TV0FQT0ZGIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX2xvc2V0dXAKKwordHNfZGV2aWNlX2luaXQKK0RFVklDRT0kVFNfTE9ERVYKKworJFRTX0NNRF9NS1NXQVAgLUwgJExBQkVMICRERVZJQ0UgPiAvZGV2L251bGwgMj4+ICRUU19PVVRQVVQgXAorIHx8IHRzX2RpZSAiQ2Fubm90IG1ha2Ugc3dhcCBvbiAkREVWSUNFIgorCit0c19kZXZpY2VfaGFzICJMQUJFTCIgJExBQkVMICRERVZJQ0UgXAorIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgTEFCRUwgJyRMQUJFTCcgb24gJERFVklDRSIKKworJFRTX0NNRF9TV0FQT04gLUwgJExBQkVMID4+ICRUU19PVVRQVVQgMj4mMQorCitncmVwIC1xICRERVZJQ0UgL3Byb2Mvc3dhcHMgfHwgdHNfZGllICJDYW5ub3QgZmluZCAkREVWSUNFIGluIC9wcm9jL3N3YXBzIgorCiskVFNfQ01EX1NXQVBPRkYgJERFVklDRQorCisjIHN3YXBvbi9ta3N3YXAgd2FybnMgaWYgc3lzdGVtIHNldHMgZGlmZmVyZW50IHBlcm1pc3Npb25zIGZvciBsb29wIGRldmljZXMKK3NlZCAtLWluLXBsYWNlICcvaW5zZWN1cmUgcGVybWlzc2lvbnMgLiosIDA2NjAgc3VnZ2VzdGVkL2QnICRUU19PVVRQVVQKKwordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvc3dhcG9uL3V1aWQgYi90ZXN0cy90cy9zd2Fwb24vdXVpZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45ZjI0NGYzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvc3dhcG9uL3V1aWQKQEAgLTAsMCArMSw1MiBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJieSB1dWlkIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01LU1dBUCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9TV0FQT04iCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfU1dBUE9GRiIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19sb3NldHVwCisKK3RzX2RldmljZV9pbml0CitERVZJQ0U9JFRTX0xPREVWCisKKyRUU19DTURfTUtTV0FQICRERVZJQ0UgPiAvZGV2L251bGwgMj4+ICRUU19PVVRQVVQgXAorIHx8IHRzX2RpZSAiQ2Fubm90IG1ha2Ugc3dhcCAkREVWSUNFIgorCit0c19kZXZpY2VfaGFzX3V1aWQgJERFVklDRSB8fCB0c19kaWUgIkNhbm5vdCBmaW5kIFVVSUQgb24gJERFVklDRSIKKworVVVJRD0kKHRzX3V1aWRfYnlfZGV2bmFtZSAkREVWSUNFKQorCiskVFNfQ01EX1NXQVBPTiAtVSAkVVVJRCA+PiAkVFNfT1VUUFVUIDI+JjEKKworZ3JlcCAtcSAkREVWSUNFIC9wcm9jL3N3YXBzIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgJERFVklDRSBpbiAvcHJvYy9zd2FwcyIKKworJFRTX0NNRF9TV0FQT0ZGICRERVZJQ0UKKworIyBzd2Fwb24vbWtzd2FwIHdhcm5zIGlmIHN5c3RlbSBzZXRzIGRpZmZlcmVudCBwZXJtaXNzaW9ucyBmb3IgbG9vcCBkZXZpY2VzCitzZWQgLS1pbi1wbGFjZSAnL2luc2VjdXJlIHBlcm1pc3Npb25zIC4qLCAwNjYwIHN1Z2dlc3RlZC9kJyAkVFNfT1VUUFVUCisKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3RhaWxmL3NpbXBsZSBiL3Rlc3RzL3RzL3RhaWxmL3NpbXBsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNWQxMGYzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvdGFpbGYvc2ltcGxlCkBAIC0wLDAgKzEsNDAgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ic2ltcGxlIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1RBSUxGIgorCisjIFRoaXMgdGVzdCBpcyB1bnNhZmUgZm9yIHNvbWUgZmlsZXN5c3RlbXMgYW5kIGZvciBjYXNlIG5vbi1pbm90aWZ5LiBXZSBkb24ndAorIyBmaXggaXQgc2luY2UgdGFpbGYgaXMgZGVwcmVjYXRlZC4gSnVzdCBrZWVwIHRoaXMgdGVzdCBmb3IgdGhlIHRlc3QgbG9nLgorVFNfS05PV05fRkFJTD0ieWVzIgorCitJTlBVVD0kVFNfT1VURElSLyRUU19URVNUTkFNRS5pbnB1dAorCitybSAtZiAkSU5QVVQKK2VjaG8ge2EuLnp9ID4gJElOUFVUCisKKyRUU19DTURfVEFJTEYgJElOUFVUID4gJFRTX09VVFBVVCAyPiYxICYKKworc2xlZXAgMC41CitlY2hvIHswLi45fSA+PiAkSU5QVVQKK3NsZWVwIDAuNQorCitybSAtZiAkSU5QVVQKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3V0bXAvbGFzdCBiL3Rlc3RzL3RzL3V0bXAvbGFzdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NGI5YjhjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvdXRtcC9sYXN0CkBAIC0wLDAgKzEsOTAgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ibGFzdCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9MQVNUIgorJFRTX0NNRF9MQVNUIC0tdmVyc2lvbiAyPiYxIHwgZ3JlcCAtcSAiaW52YWxpZCBvcHRpb24iIFwKKwkmJiB0c19za2lwICJkZXByZWNhdGVkIGxhc3QiCisKKy4gIiRUU19TRUxGL3V0bXBfZnVuY3Rpb25zLnNoIgorCitXVE1QX0ZJTEU9JHtUU19PVVRESVJ9L3d0bXAtYQorcm0gLWYgJFdUTVBfRklMRQorCitleHBvcnQgTEFORz1DCitleHBvcnQgVFo9R01UCisKK2lmIFsgJFNJWkVPRl9VVE1QIC1lcSAzODQgXTsgdGhlbgorCWxuIC1zICR7VFNfU0VMRn0vd3RtcC1hLiR7QllURV9PUkRFUn0gJFdUTVBfRklMRQorZWxzZQorCSRUU19DTURfVVRNUERVTVAgLXIgJHtUU19TRUxGfS90eHQtYSA+ICRXVE1QX0ZJTEUgMj4vZGV2L251bGwgXAorCQl8fCB0c19za2lwICJjYW4ndCBjcmVhdGUgdGVzdCBkYXRhIgorZmkKKworIyB0aGVyZSBpcyBubyBiZXR0ZXIgd2F5IHlldCB0byBza2lwIGEgc3VidGVzdAoraWYgdHNfcmVzb2x2ZV9ob3N0ICJhLnJvb3Qtc2VydmVycy5uZXQiID4vZGV2L251bGw7IHRoZW4KK3RzX2luaXRfc3VidGVzdCAiZG5zIgorCit0c19sb2cgIn5+fiBkbnMgc2hvcnQgfn5+IgorJFRTX0NNRF9MQVNUIC1mICRXVE1QX0ZJTEUgLWQgcm9vdCA+PiAkVFNfT1VUUFVUIDI+L2Rldi9udWxsCisKK3RzX2xvZyAifn5+IGRucyBsb25nIH5+fiIKKyRUU19DTURfTEFTVCAtZiAkV1RNUF9GSUxFIC13IC1kIHJvb3QgPj4gJFRTX09VVFBVVCAyPi9kZXYvbnVsbAorCit0c19sb2cgIn5+fiBkbnMgaG9zdCBsYXN0IH5+fiIKKyRUU19DTURfTEFTVCAtZiAkV1RNUF9GSUxFIC1hIC1kIHJvb3QgPj4gJFRTX09VVFBVVCAyPi9kZXYvbnVsbAorCit0c19maW5hbGl6ZV9zdWJ0ZXN0CitmaQorCit0c19pbml0X3N1YnRlc3QgIm5vZG5zIgordHNfbG9nICJ+fn4gYmFzaWMgb3V0cHV0IH5+fiIKKyRUU19DTURfTEFTVCAtZiAkV1RNUF9GSUxFID4+ICRUU19PVVRQVVQgMj4vZGV2L251bGwKKwordHNfbG9nICJ+fn4gaW5jbHVkZSBzeXN0ZW0gfn5+IgorJFRTX0NNRF9MQVNUIC1mICRXVE1QX0ZJTEUgLXggPj4gJFRTX09VVFBVVCAyPi9kZXYvbnVsbAorCit0c19sb2cgIn5+fiBzaG93IGlwIH5+fiIKKyRUU19DTURfTEFTVCAtZiAkV1RNUF9GSUxFIC1pIHRvcnZhbGRzID4+ICRUU19PVVRQVVQgMj4vZGV2L251bGwKKwordHNfbG9nICJ+fn4gbm8gaG9zdCB+fn4iCiskVFNfQ01EX0xBU1QgLWYgJFdUTVBfRklMRSAtUiB0b3J2YWxkcyA+PiAkVFNfT1VUUFVUIDI+L2Rldi9udWxsCisKK3RzX2xvZyAifn5+IGZ1bGwgdGltZXMgc2hvcnRvcHQgfn5+IgorJFRTX0NNRF9MQVNUIC1mICRXVE1QX0ZJTEUgLUYgPj4gJFRTX09VVFBVVCAyPi9kZXYvbnVsbAorCit0c19sb2cgIn5+fiBmdWxsIHRpbWVzIGxvbmdvcHQgfn5+IgorJFRTX0NNRF9MQVNUIC1mICRXVE1QX0ZJTEUgLS10aW1lLWZvcm1hdD1mdWxsID4+ICRUU19PVVRQVVQgMj4vZGV2L251bGwKKwordHNfbG9nICJ+fn4gbm8gdGltZSB+fn4iCiskVFNfQ01EX0xBU1QgLWYgJFdUTVBfRklMRSAtLXRpbWUtZm9ybWF0PW5vdGltZSA+PiAkVFNfT1VUUFVUIDI+L2Rldi9udWxsCisKK3RzX2xvZyAifn5+IGlzby04NjAxIHRpbWUgfn5+IgorJFRTX0NNRF9MQVNUIC1mICRXVE1QX0ZJTEUgLS10aW1lLWZvcm1hdD1pc28gLXcgPj4gJFRTX09VVFBVVCAyPi9kZXYvbnVsbAorCit0c19sb2cgIn5+fiBzaW5jZSBhbmQgdW50aWwgfn5+IgorJFRTX0NNRF9MQVNUIC1mICRXVE1QX0ZJTEUgLXMgIjIwMTMtMDgtMjggMDI6MjAiIC10ICIyMDEzLTA4LTI4IDA4OjIwIiA+PiAkVFNfT1VUUFVUIDI+L2Rldi9udWxsCisKK3RzX2xvZyAifn5+IHByZXNlbnQgfn5+IgorJFRTX0NNRF9MQVNUIC1mICRXVE1QX0ZJTEUgLXAgIjIwMTMtMDgtMjggMTE6MjAiID4+ICRUU19PVVRQVVQgMj4vZGV2L251bGwKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworcm0gLWYgJFdUTVBfRklMRQorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvdXRtcC9sYXN0LWlwdjYgYi90ZXN0cy90cy91dG1wL2xhc3QtaXB2NgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kNGE5NjQ1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvdXRtcC9sYXN0LWlwdjYKQEAgLTAsMCArMSw2NiBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJsYXN0IGlwdjYiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTEFTVCIKKyRUU19DTURfTEFTVCAtLXZlcnNpb24gMj4mMSB8IGdyZXAgLXEgImludmFsaWQgb3B0aW9uIiBcCisJJiYgdHNfc2tpcCAiZGVwcmVjYXRlZCBsYXN0IgorCisuICIkVFNfU0VMRi91dG1wX2Z1bmN0aW9ucy5zaCIKKworV1RNUF9GSUxFPSR7VFNfT1VURElSfS93dG1wLWlwdjYKK3JtIC1mICRXVE1QX0ZJTEUKKworZXhwb3J0IExBTkc9QworZXhwb3J0IFRaPUdNVAorCitpZiBbICRTSVpFT0ZfVVRNUCAtZXEgMzg0IF07IHRoZW4KKwlsbiAtcyAke1RTX1NFTEZ9L3d0bXAtaXB2Ni4ke0JZVEVfT1JERVJ9ICRXVE1QX0ZJTEUKK2Vsc2UKKwkkVFNfQ01EX1VUTVBEVU1QIC1yICR7VFNfU0VMRn0vdHh0LWlwdjYgPiAkV1RNUF9GSUxFIDI+L2Rldi9udWxsIFwKKwkJfHwgdHNfc2tpcCAiY2FuJ3QgY3JlYXRlIHRlc3QgZGF0YSIKK2ZpCisKKyMgdGhlcmUgaXMgbm8gYmV0dGVyIHdheSB5ZXQgdG8gc2tpcCBhIHN1YnRlc3QKK2lmIHRzX3Jlc29sdmVfaG9zdCAiYS5yb290LXNlcnZlcnMubmV0IiA+L2Rldi9udWxsOyB0aGVuCit0c19pbml0X3N1YnRlc3QgImRucyIKKwordHNfbG9nICJ+fn4gZG5zIHNob3J0IH5+fiIKKyRUU19DTURfTEFTVCAtZiAkV1RNUF9GSUxFIC1kID4+ICRUU19PVVRQVVQgMj4vZGV2L251bGwKKwordHNfbG9nICJ+fn4gZG5zIGxvbmcgfn5+IgorJFRTX0NNRF9MQVNUIC1mICRXVE1QX0ZJTEUgLWQgLXcgPj4gJFRTX09VVFBVVCAyPi9kZXYvbnVsbAorCit0c19sb2cgIn5+fiBkbnMgaG9zdCBsYXN0IH5+fiIKKyRUU19DTURfTEFTVCAtZiAkV1RNUF9GSUxFIC1kIC1hID4+ICRUU19PVVRQVVQgMj4vZGV2L251bGwKKwordHNfZmluYWxpemVfc3VidGVzdAorZmkKKwordHNfaW5pdF9zdWJ0ZXN0ICJub2RucyIKK3RzX2xvZyAifn5+IHNob3cgaXAgfn5+IgorJFRTX0NNRF9MQVNUIC1mICRXVE1QX0ZJTEUgLWkgPj4gJFRTX09VVFBVVCAyPi9kZXYvbnVsbAorCit0c19sb2cgIn5+fiBzaG93IGlwIGxhc3Qgfn5+IgorJFRTX0NNRF9MQVNUIC1mICRXVE1QX0ZJTEUgLWkgLWEgPj4gJFRTX09VVFBVVCAyPi9kZXYvbnVsbAordHNfZmluYWxpemVfc3VidGVzdAorCitybSAtZiAkV1RNUF9GSUxFCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy91dG1wL3N1YnNlYyBiL3Rlc3RzL3RzL3V0bXAvc3Vic2VjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4ODFlN2MKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy91dG1wL3N1YnNlYwpAQCAtMCwwICsxLDMgQEAKK1s3XSBbMDAwMTBdIFtpcHY2XSBbSVB2NiAgICBdIFtyb290ICAgICAgICBdIFtkbnMtc2VydmVyICAgICAgICAgIF0gWzIwMDE6NTAzOmJhM2U6OjI6MzBdIFsyMDEzLTA4LTI4VDIwOjMwOjQwLDEyMzQ1NiswMDAwXQorWzhdIFswMDAxMV0gW2lwdjZdIFtJUHY2ICAgIF0gW3Jvb3QgICAgICAgIF0gW2Rucy1zZXJ2ZXIgICAgICAgICAgXSBbMjAwMTo1MDM6YmEzZTo6MjozMF0gWzIwMTMtMDgtMjhUMjA6NDA6NTAsOTk5OTk5KzAwMDBdCitbMF0gWzAwMDAwXSBbdHMvMF0gW25vbnZhbGlkXSBbZm9vICAgICAgICAgXSBbemVybyAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFsyMDEzLTA4LTI4VDEyOjAwOjAwLDEyMzQ1Njc4OSswMDAwXQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvdXRtcC90eHQtYSBiL3Rlc3RzL3RzL3V0bXAvdHh0LWEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODUwMWRhYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3V0bXAvdHh0LWEKQEAgLTAsMCArMSwxOSBAQAorWzldIFswMDAwOV0gW3RzLzldIFthY2NvdW50aW5nXSBbZm9vICAgICAgICAgXSBbbmluZSAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFsyMDEzLTA4LTI4VDAzOjAwOjAwLDAwMDAwMCswMDAwXQorWzhdIFswMDAwOF0gW3RzLzhdIFtkZWFkX3Byb2Nlc3NdIFtmb28gICAgICAgICBdIFtlaWdodCAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gWzIwMTMtMDgtMjhUMDQ6MDA6MDAsMDAwMDAwKzAwMDBdCitbN10gWzAwMDA3XSBbdHMvN10gW3VzZXJfcHJvY2Vzc10gW2ZvbyAgICAgICAgIF0gW3NldmVuICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbMjAxMy0wOC0yOFQwNTowMDowMCwwMDAwMDArMDAwMF0KK1s2XSBbMDAwMDZdIFt0cy82XSBbbG9naW4gICBdIFtmb28gICAgICAgICBdIFtzaXggICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gWzIwMTMtMDgtMjhUMDY6MDA6MDAsMDAwMDAwKzAwMDBdCitbNV0gWzAwMDA1XSBbdHMvNV0gW2luaXQgICAgXSBbZm9vICAgICAgICAgXSBbZml2ZSAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFsyMDEzLTA4LTI4VDA3OjAwOjAwLDAwMDAwMCswMDAwXQorWzRdIFswMDAwNF0gW3RzLzRdIFtvbGR0aW1lIF0gW2ZvbyAgICAgICAgIF0gW2ZvdXIgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbMjAxMy0wOC0yOFQwODowMDowMCwwMDAwMDArMDAwMF0KK1szXSBbMDAwMDNdIFt0cy8zXSBbbmV3dGltZSBdIFtmb28gICAgICAgICBdIFt0aHJlZSAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gWzIwMTMtMDgtMjhUMDk6MDA6MDAsMDAwMDAwKzAwMDBdCitbMl0gWzAwMDAyXSBbdHMvMl0gW3N5c2Jvb3QgXSBbZm9vICAgICAgICAgXSBbdHdvICAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFsyMDEzLTA4LTI4VDEwOjAwOjAwLDAwMDAwMCswMDAwXQorWzFdIFswMDAwMV0gW3RzLzFdIFtydW5sZXZlbF0gW2ZvbyAgICAgICAgIF0gW29uZSAgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbMjAxMy0wOC0yOFQxMTowMDowMCwwMDAwMDArMDAwMF0KK1swXSBbMDAwMDBdIFt0cy8wXSBbbm9udmFsaWRdIFtmb28gICAgICAgICBdIFt6ZXJvICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gWzIwMTMtMDgtMjhUMTI6MDA6MDAsMDAwMDAwKzAwMDBdCitbN10gWzAwMDEwXSBbaXB2NF0gW0lQdjQgICAgXSBbcm9vdCAgICAgICAgXSBbZG5zLXNlcnZlciAgICAgICAgICBdIFsxOTguNDEuMC40ICAgICBdIFsyMDEzLTA4LTI4VDEzOjAwOjAwLDAwMDAwMCswMDAwXQorWzhdIFswMDAxMV0gW2lwdjRdIFtJUHY0ICAgIF0gW3Jvb3QgICAgICAgIF0gW2Rucy1zZXJ2ZXIgICAgICAgICAgXSBbMTk4LjQxLjAuNCAgICAgXSBbMjAxMy0wOC0yOFQxNDowMDowMCwwMDAwMDArMDAwMF0KK1sxXSBbMDAwMTJdIFt+fiAgXSBbc2h1dGRvd25dIFt+ICAgICAgICAgICBdIFtzeXN0ZW0tbmFtZSAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gWzIwMTMtMDgtMjhUMTU6MDA6MDAsMDAwMDAwKzAwMDBdCitbMl0gWzAwMDEyXSBbfn4gIF0gW3JlYm9vdCAgXSBbfiAgICAgICAgICAgXSBbc3lzdGVtLW5hbWUgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFsyMDEzLTA4LTI4VDE2OjAwOjAwLDAwMDAwMCswMDAwXQorWzFdIFswMDAxMl0gW35+ICBdIFtzaHV0ZG93bl0gW34gICAgICAgICAgIF0gW3N5c3RlbS1uYW1lICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbMjAxMy0wOC0yOFQxNzowMDowMCwwMDAwMDArMDAwMF0KK1syXSBbMDAwMTJdIFt+fiAgXSBbcmVib290ICBdIFt+ICAgICAgICAgICBdIFtzeXN0ZW0tbmFtZSAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gWzIwMTMtMDgtMjhUMTg6MDA6MDAsMDAwMDAwKzAwMDBdCitbN10gWzAwMDEzXSBbdHMvMV0gW3RvcnZhbGRzXSBbbGludXggICAgICAgXSBbaG9iYnkgICAgICAgICAgICAgICBdIFsxMjguMjE0LjIwNS4xNCBdIFsxOTkxLTA4LTI2VDAwOjU3OjA4LDAwMDAwMCswMDAwXQorWzddIFswMDAxNF0gW2xvbmddIFtyaWNrICAgIF0gW2xvbmcgICAgICAgIF0gW25ldmVyLWdvbm5hLWxvZ291dCAgXSBbMC4wLjAuMCAgICAgICAgXSBbMTk3MC0wMS0wMVQwMDowMDowMCwwMDAwMDArMDAwMF0KK1s4XSBbMDAwMTRdIFtsb25nXSBbcmljayAgICBdIFtsb25nICAgICAgICBdIFtuZXZlci1nb25uYS1sb2dvdXQgIF0gWzAuMC4wLjAgICAgICAgIF0gWzIwMzgtMDEtMTlUMDM6MTQ6MDcsMDAwMDAwKzAwMDBdCmRpZmYgLS1naXQgYS90ZXN0cy90cy91dG1wL3R4dC1hLW9sZCBiL3Rlc3RzL3RzL3V0bXAvdHh0LWEtb2xkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjOTFkMTkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy91dG1wL3R4dC1hLW9sZApAQCAtMCwwICsxLDE5IEBACitbOV0gWzAwMDA5XSBbdHMvOV0gW2FjY291bnRpbmddIFtmb28gICAgICAgICBdIFtuaW5lICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gW1dlZCBBdWcgMjggMDM6MDA6MDAgMjAxMyBHTVRdCitbOF0gWzAwMDA4XSBbdHMvOF0gW2RlYWRfcHJvY2Vzc10gW2ZvbyAgICAgICAgIF0gW2VpZ2h0ICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbV2VkIEF1ZyAyOCAwNDowMDowMCAyMDEzIEdNVF0KK1s3XSBbMDAwMDddIFt0cy83XSBbdXNlcl9wcm9jZXNzXSBbZm9vICAgICAgICAgXSBbc2V2ZW4gICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFtXZWQgQXVnIDI4IDA1OjAwOjAwIDIwMTMgR01UXQorWzZdIFswMDAwNl0gW3RzLzZdIFtsb2dpbiAgIF0gW2ZvbyAgICAgICAgIF0gW3NpeCAgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbV2VkIEF1ZyAyOCAwNjowMDowMCAyMDEzIEdNVF0KK1s1XSBbMDAwMDVdIFt0cy81XSBbaW5pdCAgICBdIFtmb28gICAgICAgICBdIFtmaXZlICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gW1dlZCBBdWcgMjggMDc6MDA6MDAgMjAxMyBHTVRdCitbNF0gWzAwMDA0XSBbdHMvNF0gW29sZHRpbWUgXSBbZm9vICAgICAgICAgXSBbZm91ciAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFtXZWQgQXVnIDI4IDA4OjAwOjAwIDIwMTMgR01UXQorWzNdIFswMDAwM10gW3RzLzNdIFtuZXd0aW1lIF0gW2ZvbyAgICAgICAgIF0gW3RocmVlICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbV2VkIEF1ZyAyOCAwOTowMDowMCAyMDEzIEdNVF0KK1syXSBbMDAwMDJdIFt0cy8yXSBbc3lzYm9vdCBdIFtmb28gICAgICAgICBdIFt0d28gICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gW1dlZCBBdWcgMjggMTA6MDA6MDAgMjAxMyBHTVRdCitbMV0gWzAwMDAxXSBbdHMvMV0gW3J1bmxldmVsXSBbZm9vICAgICAgICAgXSBbb25lICAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFtXZWQgQXVnIDI4IDExOjAwOjAwIDIwMTMgR01UXQorWzBdIFswMDAwMF0gW3RzLzBdIFtub252YWxpZF0gW2ZvbyAgICAgICAgIF0gW3plcm8gICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbV2VkIEF1ZyAyOCAxMjowMDowMCAyMDEzIEdNVF0KK1s3XSBbMDAwMTBdIFtpcHY0XSBbSVB2NCAgICBdIFtyb290ICAgICAgICBdIFtkbnMtc2VydmVyICAgICAgICAgIF0gWzE5OC40MS4wLjQgICAgIF0gW1dlZCBBdWcgMjggMTM6MDA6MDAgMjAxMyBHTVRdCitbOF0gWzAwMDExXSBbaXB2NF0gW0lQdjQgICAgXSBbcm9vdCAgICAgICAgXSBbZG5zLXNlcnZlciAgICAgICAgICBdIFsxOTguNDEuMC40ICAgICBdIFtXZWQgQXVnIDI4IDE0OjAwOjAwIDIwMTMgR01UXQorWzFdIFswMDAxMl0gW35+ICBdIFtzaHV0ZG93bl0gW34gICAgICAgICAgIF0gW3N5c3RlbS1uYW1lICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbV2VkIEF1ZyAyOCAxNTowMDowMCAyMDEzIEdNVF0KK1syXSBbMDAwMTJdIFt+fiAgXSBbcmVib290ICBdIFt+ICAgICAgICAgICBdIFtzeXN0ZW0tbmFtZSAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gW1dlZCBBdWcgMjggMTY6MDA6MDAgMjAxMyBHTVRdCitbMV0gWzAwMDEyXSBbfn4gIF0gW3NodXRkb3duXSBbfiAgICAgICAgICAgXSBbc3lzdGVtLW5hbWUgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFtXZWQgQXVnIDI4IDE3OjAwOjAwIDIwMTMgR01UXQorWzJdIFswMDAxMl0gW35+ICBdIFtyZWJvb3QgIF0gW34gICAgICAgICAgIF0gW3N5c3RlbS1uYW1lICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbV2VkIEF1ZyAyOCAxODowMDowMCAyMDEzIEdNVF0KK1s3XSBbMDAwMTNdIFt0cy8xXSBbdG9ydmFsZHNdIFtsaW51eCAgICAgICBdIFtob2JieSAgICAgICAgICAgICAgIF0gWzEyOC4yMTQuMjA1LjE0IF0gW01vbiBBdWcgMjYgMDA6NTc6MDggMTk5MSBHTVRdCitbN10gWzAwMDE0XSBbbG9uZ10gW3JpY2sgICAgXSBbbG9uZyAgICAgICAgXSBbbmV2ZXItZ29ubmEtbG9nb3V0ICBdIFswLjAuMC4wICAgICAgICBdIFsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXQorWzhdIFswMDAxNF0gW2xvbmddIFtyaWNrICAgIF0gW2xvbmcgICAgICAgIF0gW25ldmVyLWdvbm5hLWxvZ291dCAgXSBbMC4wLjAuMCAgICAgICAgXSBbVHVlIEphbiAxOSAwMzoxNDowNyAyMDM4IEdNVF0KZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3V0bXAvdHh0LWIgYi90ZXN0cy90cy91dG1wL3R4dC1iCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkZWVmZGUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy91dG1wL3R4dC1iCkBAIC0wLDAgKzEsMTAgQEAKK1s3XSBbMTcwNThdIFt0cy8xXSBba2Vyb2xhc2FdIFtwdHMvMSAgICAgICBdIFs6MC4wICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gWzIwMTMtMDEtMTZUMjM6NDQ6MDksMDAwMDAwKzAwMDBdCitbN10gWzIyMDk4XSBbdHMvMl0gW2tlcm9sYXNhXSBbcHRzLzIgICAgICAgXSBbOjAuMCAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFsyMDEzLTAxLTE2VDIzOjQ5OjE3LDAwMDAwMCswMDAwXQorWzddIFsyNDkxNV0gW3RzLzNdIFtrZXJvbGFzYV0gW3B0cy8zICAgICAgIF0gWzowLjAgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbMjAxMy0wMS0xN1QxMjoyMzozMywwMDAwMDArMDAwMF0KK1s4XSBbMjQ5MTVdIFt0cy8zXSBba2Vyb2xhc2FdIFtwdHMvMyAgICAgICBdIFsgICAgICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gWzIwMTMtMDEtMTdUMTI6MjQ6NDksMDAwMDAwKzAwMDBdCitbN10gWzMwNjI5XSBbdHMvM10gW2tlcm9sYXNhXSBbcHRzLzMgICAgICAgXSBbOjAuMCAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFsyMDEzLTAxLTE3VDEzOjEyOjM5LDAwMDAwMCswMDAwXQorWzhdIFszMDYyOV0gW3RzLzNdIFtrZXJvbGFzYV0gW3B0cy8zICAgICAgIF0gWyAgICAgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbMjAxMy0wMS0xN1QxMzo0MjoxOSwwMDAwMDArMDAwMF0KK1s4XSBbMjIwOThdIFt0cy8yXSBba2Vyb2xhc2FdIFtwdHMvMiAgICAgICBdIFsgICAgICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gWzIwMTMtMDEtMTdUMTM6NDI6NDgsMDAwMDAwKzAwMDBdCitbOF0gWzE3MDU4XSBbdHMvMV0gW2tlcm9sYXNhXSBbcHRzLzEgICAgICAgXSBbICAgICAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFsyMDEzLTAxLTE3VDEzOjQyOjQ4LDAwMDAwMCswMDAwXQorWzddIFszMTU0NV0gW3RzLzFdIFtrZXJvbGFzYV0gW3B0cy8xICAgICAgIF0gWzowLjAgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbMjAxMy0wMS0xN1QyMDoxNzoyMSwwMDAwMDArMDAwMF0KK1s3XSBbMjg0OTZdIFt0cy8yXSBba2Vyb2xhc2FdIFtwdHMvMiAgICAgICBdIFs6MC4wICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gWzIwMTMtMDEtMTdUMjE6MDk6MzksMDAwMDAwKzAwMDBdCmRpZmYgLS1naXQgYS90ZXN0cy90cy91dG1wL3R4dC1iLW9sZCBiL3Rlc3RzL3RzL3V0bXAvdHh0LWItb2xkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyZmIyMmQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy91dG1wL3R4dC1iLW9sZApAQCAtMCwwICsxLDEwIEBACitbN10gWzE3MDU4XSBbdHMvMV0gW2tlcm9sYXNhXSBbcHRzLzEgICAgICAgXSBbOjAuMCAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFtXZWQgSmFuIDE2IDIzOjQ0OjA5IDIwMTMgR01UXQorWzddIFsyMjA5OF0gW3RzLzJdIFtrZXJvbGFzYV0gW3B0cy8yICAgICAgIF0gWzowLjAgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbV2VkIEphbiAxNiAyMzo0OToxNyAyMDEzIEdNVF0KK1s3XSBbMjQ5MTVdIFt0cy8zXSBba2Vyb2xhc2FdIFtwdHMvMyAgICAgICBdIFs6MC4wICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gW1RodSBKYW4gMTcgMTI6MjM6MzMgMjAxMyBHTVRdCitbOF0gWzI0OTE1XSBbdHMvM10gW2tlcm9sYXNhXSBbcHRzLzMgICAgICAgXSBbICAgICAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFtUaHUgSmFuIDE3IDEyOjI0OjQ5IDIwMTMgR01UXQorWzddIFszMDYyOV0gW3RzLzNdIFtrZXJvbGFzYV0gW3B0cy8zICAgICAgIF0gWzowLjAgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbVGh1IEphbiAxNyAxMzoxMjozOSAyMDEzIEdNVF0KK1s4XSBbMzA2MjldIFt0cy8zXSBba2Vyb2xhc2FdIFtwdHMvMyAgICAgICBdIFsgICAgICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gW1RodSBKYW4gMTcgMTM6NDI6MTkgMjAxMyBHTVRdCitbOF0gWzIyMDk4XSBbdHMvMl0gW2tlcm9sYXNhXSBbcHRzLzIgICAgICAgXSBbICAgICAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFtUaHUgSmFuIDE3IDEzOjQyOjQ4IDIwMTMgR01UXQorWzhdIFsxNzA1OF0gW3RzLzFdIFtrZXJvbGFzYV0gW3B0cy8xICAgICAgIF0gWyAgICAgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbVGh1IEphbiAxNyAxMzo0Mjo0OCAyMDEzIEdNVF0KK1s3XSBbMzE1NDVdIFt0cy8xXSBba2Vyb2xhc2FdIFtwdHMvMSAgICAgICBdIFs6MC4wICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gW1RodSBKYW4gMTcgMjA6MTc6MjEgMjAxMyBHTVRdCitbN10gWzI4NDk2XSBbdHMvMl0gW2tlcm9sYXNhXSBbcHRzLzIgICAgICAgXSBbOjAuMCAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFtUaHUgSmFuIDE3IDIxOjA5OjM5IDIwMTMgR01UXQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvdXRtcC90eHQtaXB2NiBiL3Rlc3RzL3RzL3V0bXAvdHh0LWlwdjYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTg5NDE0NAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3V0bXAvdHh0LWlwdjYKQEAgLTAsMCArMSwyIEBACitbN10gWzAwMDEwXSBbaXB2Nl0gW0lQdjYgICAgXSBbcm9vdCAgICAgICAgXSBbZG5zLXNlcnZlciAgICAgICAgICBdIFsyMDAxOjUwMzpiYTNlOjoyOjMwXSBbMjAxMy0wOC0yOFQyMDozMDo0MCwwMDAwMDArMDAwMF0KK1s4XSBbMDAwMTFdIFtpcHY2XSBbSVB2NiAgICBdIFtyb290ICAgICAgICBdIFtkbnMtc2VydmVyICAgICAgICAgIF0gWzIwMDE6NTAzOmJhM2U6OjI6MzBdIFsyMDEzLTA4LTI4VDIwOjQwOjUwLDAwMDAwMCswMDAwXQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvdXRtcC90eHQtaXB2Ni1vbGQgYi90ZXN0cy90cy91dG1wL3R4dC1pcHY2LW9sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Y2NlMTUwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvdXRtcC90eHQtaXB2Ni1vbGQKQEAgLTAsMCArMSwyIEBACitbN10gWzAwMDEwXSBbaXB2Nl0gW0lQdjYgICAgXSBbcm9vdCAgICAgICAgXSBbZG5zLXNlcnZlciAgICAgICAgICBdIFsyMDAxOjUwMzpiYTNlOjoyOjMwXSBbV2VkIEF1ZyAyOCAyMDozMDo0MCAyMDEzIEdNVF0KK1s4XSBbMDAwMTFdIFtpcHY2XSBbSVB2NiAgICBdIFtyb290ICAgICAgICBdIFtkbnMtc2VydmVyICAgICAgICAgIF0gWzIwMDE6NTAzOmJhM2U6OjI6MzBdIFtXZWQgQXVnIDI4IDIwOjQwOjUwIDIwMTMgR01UXQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvdXRtcC91dG1wX2Z1bmN0aW9ucy5zaCBiL3Rlc3RzL3RzL3V0bXAvdXRtcF9mdW5jdGlvbnMuc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzRhMTAwYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3V0bXAvdXRtcF9mdW5jdGlvbnMuc2gKQEAgLTAsMCArMSwxOCBAQAordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VUTVBEVU1QIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX1NZU0lORk8iCisKK2Z1bmN0aW9uIHV0bXBfc3RydWN0X3NpemUgeworCWxvY2FsIHNpemUKKwkjIHByb2JhYmx5ICJ1dG1wZHVtcCAtciIgY291bGQgYmUgaW1wcm92ZWQgcmVnYXJkaW5nIHdoaXRlIHNwYWNlcyAuLi4KKwlsb2NhbCB0eHQ9IlswXSBbMDAwMDBdIFsgICAgXSBbICAgICAgICBdIFsgICAgICAgICAgICBdIFsgICAgICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gWyAgICAgICAgICAgICAgICAgICAgICAgICAgICBdIgorCisJc2l6ZT0kKGVjaG8gIiR0eHQiIHwgIiRUU19DTURfVVRNUERVTVAiIC1yIDI+L2Rldi9udWxsIHwgd2MgLWMgXAorCQkmJiBleGl0ICR7UElQRVNUQVRVU1sxXX0pCisJcmV0PSQ/CisJWyAkcmV0IC1lcSAwIF0gfHwgc2l6ZT0iMCIKKwllY2hvICIkc2l6ZSIKKwlyZXR1cm4gJHJldAorfQorCitCWVRFX09SREVSPSQoJFRTX0hFTFBFUl9TWVNJTkZPIGJ5dGUtb3JkZXIpIHx8IHRzX2ZhaWxlZCAiYnl0ZS1vcmRlciBmYWlsZWQiCitTSVpFT0ZfVVRNUD0kKHV0bXBfc3RydWN0X3NpemUpIHx8IHRzX2ZhaWxlZCAidXRtcF9zdHJ1Y3Rfc2l6ZSBmYWlsZWQiCmRpZmYgLS1naXQgYS90ZXN0cy90cy91dG1wL3V0bXBkdW1wLWNpcmNsZSBiL3Rlc3RzL3RzL3V0bXAvdXRtcGR1bXAtY2lyY2xlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAwNjVmNzAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy91dG1wL3V0bXBkdW1wLWNpcmNsZQpAQCAtMCwwICsxLDQ4IEBACisjIS9iaW4vYmFzaAorCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImNpcmNsZSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKKyMgdGhpcyB0ZXN0IGlzIGFyY2ggaW5kZXBlbmRlbnQsIG5vIG5lZWQgZm9yIHV0bXBfZnVuY3Rpb25zLnNoCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVVRNUERVTVAiCisKK2V4cG9ydCBMQU5HPUMKK2V4cG9ydCBUWj1Bc2lhL1Rva3lvCitPVVRfQklOMT0ke1RTX09VVERJUn0vJHtUU19URVNUTkFNRX0uYmluMQorT1VUX0JJTjI9JHtUU19PVVRESVJ9LyR7VFNfVEVTVE5BTUV9LmJpbjIKK09VVF9UWFQ9JHtUU19PVVRESVJ9LyR7VFNfVEVTVE5BTUV9LnR4dAorCisjIEZpbGVzIHdpdGggLW9sZCBleHRlbnNpb24gYXJlIHVzaW5nIHRpbWVzdGFtcCBmb3JtYXQgYmVmb3JlIHV0bXBkdW1wCisjIHN0YXJ0ZWQgdG8gdXNlIGlzby04NjAxIGZvcm1hdC4gIFRoaXMgY2hlY2sgaXMgdGVzdGluZyBub3RoaW5nIGlzIGxvc3QKKyMgd2hlbiBjb252ZXJzaW9ucyBwZXJmb3JtaW5nIGZvbGxvd2luZyBjb252ZXJzaW9ucy4KKyMKKyMgb2xkIHRleHQgZm9ybWF0IC0+IGJpbmFyeSAtPiBuZXcgdGV4dCBmb3JtYXQgLT4gYmluYXJ5CisKK2VjaG8gIm5vIG91dHB1dCBleHBlY3RlZCIgPiAkVFNfT1VUUFVUCitmb3IgZiBpbiB0eHQtYSB0eHQtYiB0eHQtaXB2NjsgZG8KKwkkVFNfQ01EX1VUTVBEVU1QIC1yICRUU19TRUxGLyRmLW9sZCA+ICRPVVRfQklOMSAyPi9kZXYvbnVsbCAmJgorCSRUU19DTURfVVRNUERVTVAgJE9VVF9CSU4xID4gJE9VVF9UWFQgMj4vZGV2L251bGwgJiYKKwlkaWZmIC11ICRUU19TRUxGLyRmICRPVVRfVFhUICYmCisJJFRTX0NNRF9VVE1QRFVNUCAtciAkT1VUX1RYVCA+ICRPVVRfQklOMiAyPi9kZXYvbnVsbCAmJgorCWRpZmYgLXEgJE9VVF9CSU4xICRPVVRfQklOMiB8fAorCWVjaG8gImNpcmNsZSBmYWlsZWQgZm9yICRmIgorZG9uZSA+PiAkVFNfT1VUUFVUIDI+JjEKKworcm0gLWYgIiRPVVRfQklOMSIgIiRPVVRfQklOMiIgIiRPVVRfVFhUIgorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvdXRtcC91dG1wZHVtcC1zdWJzZWNvbmQgYi90ZXN0cy90cy91dG1wL3V0bXBkdW1wLXN1YnNlY29uZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mNzUzYTZkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvdXRtcC91dG1wZHVtcC1zdWJzZWNvbmQKQEAgLTAsMCArMSwzNCBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJzdWJzZWNvbmQiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCisjIHRoaXMgdGVzdCBpcyBhcmNoIGluZGVwZW5kZW50LCBubyBuZWVkIGZvciB1dG1wX2Z1bmN0aW9ucy5zaAordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VUTVBEVU1QIgorCitPVVRfQklOPSR7VFNfT1VURElSfS8ke1RTX1RFU1ROQU1FfS5iaW4KK09VVF9UWFQ9JHtUU19PVVRESVJ9LyR7VFNfVEVTVE5BTUV9LnR4dAorCitlY2hvICJsYXN0IDkgaXMgZXhwZWN0ZWQgdG8gZGlzYXBwZWFyIGluIGNvbnZlcnNpb24iID4gJFRTX09VVFBVVAorJFRTX0NNRF9VVE1QRFVNUCAtciAkVFNfU0VMRi9zdWJzZWMgPiAkT1VUX0JJTiAyPi9kZXYvbnVsbAorJFRTX0NNRF9VVE1QRFVNUCAkT1VUX0JJTiA+ICRPVVRfVFhUIDI+L2Rldi9udWxsCitkaWZmICRUU19TRUxGL3N1YnNlYyAkT1VUX1RYVCA+PiAkVFNfT1VUUFVUIDI+JjEKKworcm0gLWYgIiRPVVRfQklOIiAiJE9VVF9UWFQiCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy91dG1wL3V0bXBkdW1wLXRvYmluIGIvdGVzdHMvdHMvdXRtcC91dG1wZHVtcC10b2JpbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YjA4OWU2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvdXRtcC91dG1wZHVtcC10b2JpbgpAQCAtMCwwICsxLDMyIEBACisjIS9iaW4vYmFzaAorCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InRvIGJpbmFyeSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKKy4gIiRUU19TRUxGL3V0bXBfZnVuY3Rpb25zLnNoIgorWyAkU0laRU9GX1VUTVAgLWVxIDM4NCBdIHx8IHRzX3NraXAgInV0bXAgc3RydWN0IHNpemUgJFNJWkVPRl9VVE1QIgorCitleHBvcnQgTEFORz1DCitleHBvcnQgVFo9QXNpYS9Ub2t5bworT1VURklMRT0ke1RTX09VVERJUn0vJHtUU19URVNUTkFNRX0uZmlsZQorJFRTX0NNRF9VVE1QRFVNUCAtciAkVFNfU0VMRi90eHQtYiA+fCAkT1VURklMRSAyPi9kZXYvbnVsbAoraWYgZGlmZiAtcSAkVFNfU0VMRi93dG1wLWIuJEJZVEVfT1JERVIgJE9VVEZJTEU7IHRoZW4KKwllY2hvICJubyBkaWZmIgorZmkgPiAkVFNfT1VUUFVUIDI+JjEKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3V0bXAvdXRtcGR1bXAtdG9iaW4taXB2NiBiL3Rlc3RzL3RzL3V0bXAvdXRtcGR1bXAtdG9iaW4taXB2NgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZDA4MTM5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvdXRtcC91dG1wZHVtcC10b2Jpbi1pcHY2CkBAIC0wLDAgKzEsMzIgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iSVB2NiB0byBiaW5hcnkiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCisuICIkVFNfU0VMRi91dG1wX2Z1bmN0aW9ucy5zaCIKK1sgJFNJWkVPRl9VVE1QIC1lcSAzODQgXSB8fCB0c19za2lwICJ1dG1wIHN0cnVjdCBzaXplICRTSVpFT0ZfVVRNUCIKKworZXhwb3J0IExBTkc9QworZXhwb3J0IFRaPUFzaWEvVG9reW8KK09VVEZJTEU9JHtUU19PVVRESVJ9LyR7VFNfVEVTVE5BTUV9LmZpbGUKKyRUU19DTURfVVRNUERVTVAgLXIgJFRTX1NFTEYvdHh0LWlwdjYgPnwgJE9VVEZJTEUgMj4vZGV2L251bGwKK2lmIGRpZmYgLXEgJFRTX1NFTEYvd3RtcC1pcHY2LiRCWVRFX09SREVSICRPVVRGSUxFOyB0aGVuCisJZWNobyAibm8gZGlmZiIKK2ZpID4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy91dG1wL3V0bXBkdW1wLXRvdHh0IGIvdGVzdHMvdHMvdXRtcC91dG1wZHVtcC10b3R4dApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wOTk1MzNjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvdXRtcC91dG1wZHVtcC10b3R4dApAQCAtMCwwICsxLDI4IEBACisjIS9iaW4vYmFzaAorCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InRvIHRleHQiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCisuICIkVFNfU0VMRi91dG1wX2Z1bmN0aW9ucy5zaCIKK1sgJFNJWkVPRl9VVE1QIC1lcSAzODQgXSB8fCB0c19za2lwICJ1dG1wIHN0cnVjdCBzaXplICRTSVpFT0ZfVVRNUCIKKworZXhwb3J0IExBTkc9QworZXhwb3J0IFRaPUFzaWEvVG9reW8KKyRUU19DTURfVVRNUERVTVAgJFRTX1NFTEYvd3RtcC1iLiRCWVRFX09SREVSID58ICRUU19PVVRQVVQgMj4vZGV2L251bGwKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3V0bXAvdXRtcGR1bXAtdG90eHQtaXB2NiBiL3Rlc3RzL3RzL3V0bXAvdXRtcGR1bXAtdG90eHQtaXB2NgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iYzk3MDRlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvdXRtcC91dG1wZHVtcC10b3R4dC1pcHY2CkBAIC0wLDAgKzEsMjggQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iSVB2NiB0byB0ZXh0IgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKworLiAiJFRTX1NFTEYvdXRtcF9mdW5jdGlvbnMuc2giCitbICRTSVpFT0ZfVVRNUCAtZXEgMzg0IF0gfHwgdHNfc2tpcCAidXRtcCBzdHJ1Y3Qgc2l6ZSAkU0laRU9GX1VUTVAiCisKK2V4cG9ydCBMQU5HPUMKK2V4cG9ydCBUWj1Bc2lhL1Rva3lvCiskVFNfQ01EX1VUTVBEVU1QICRUU19TRUxGL3d0bXAtaXB2Ni4kQllURV9PUkRFUiA+fCAkVFNfT1VUUFVUIDI+L2Rldi9udWxsCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy91dG1wL3d0bXAtYS5CRSBiL3Rlc3RzL3RzL3V0bXAvd3RtcC1hLkJFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwMTVmOGUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy91dG1wL3d0bXAtYS5CRQpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy91dG1wL3d0bXAtYS5MRSBiL3Rlc3RzL3RzL3V0bXAvd3RtcC1hLkxFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2NmJiMjAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy91dG1wL3d0bXAtYS5MRQpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy91dG1wL3d0bXAtYi5CRSBiL3Rlc3RzL3RzL3V0bXAvd3RtcC1iLkJFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiMDlhMGMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy91dG1wL3d0bXAtYi5CRQpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy91dG1wL3d0bXAtYi5MRSBiL3Rlc3RzL3RzL3V0bXAvd3RtcC1iLkxFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1ZDM1YmIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy91dG1wL3d0bXAtYi5MRQpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy91dG1wL3d0bXAtaXB2Ni5CRSBiL3Rlc3RzL3RzL3V0bXAvd3RtcC1pcHY2LkJFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjZjdkMzkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy91dG1wL3d0bXAtaXB2Ni5CRQpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy91dG1wL3d0bXAtaXB2Ni5MRSBiL3Rlc3RzL3RzL3V0bXAvd3RtcC1pcHY2LkxFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0MjU1M2IKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy91dG1wL3d0bXAtaXB2Ni5MRQpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy91dWlkL3V1aWRfcGFyc2VyIGIvdGVzdHMvdHMvdXVpZC91dWlkX3BhcnNlcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kODBkMjY5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvdXVpZC91dWlkX3BhcnNlcgpAQCAtMCwwICsxLDI2IEBACisjIS9iaW4vYmFzaAorCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InV1aWRfcGFyc2VyIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX1VVSURfUEFSU0VSIgorCiskVFNfSEVMUEVSX1VVSURfUEFSU0VSID4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJyZXR1cm4gdmFsdWU6ICQ/IiA+PiAkVFNfT1VUUFVUCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy91dWlkL3V1aWRkIGIvdGVzdHMvdHMvdXVpZC91dWlkZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xN2NmMjlkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvdXVpZC91dWlkZApAQCAtMCwwICsxLDU3IEBACisjIS9iaW4vYmFzaAorCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InV1aWRkIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX1VVSURfUEFSU0VSIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VVSUREIgorCitPVVRQVVRfRklMRT0iJChta3RlbXAgIiR7VFNfT1VURElSfS91dWlkZFhYWFhYWFhYWFhYWFgiKSIKK1VVSUREX1BJRD0iJChta3RlbXAgLXUgIiR7VFNfT1VURElSfS91dWlkZFhYWFhYWFhYWFhYWFgiKSIKK1VVSUREX1NPQ0tFVD0iJChta3RlbXAgLXUgIiR7VFNfT1VURElSfS91dWlkZFhYWFhYWFhYWFhYWFgiKSIKKworJFRTX0NNRF9VVUlERCAtcCAiJFVVSUREX1BJRCIgLXMgIiRVVUlERF9TT0NLRVQiCitpZiBbICQ/IC1uZSAwIF07IHRoZW4KKwl0c19mYWlsZWQgImRhZW1vbiBzdGFydCIKK2ZpCisKK3Rlc3RfZmxhZygpIHsKKwllY2hvICJvcHRpb25zOiAkKiIgPj4gJFRTX09VVFBVVAorCSRUU19DTURfVVVJREQgLXMgJFVVSUREX1NPQ0tFVCAkKiB8CisJCXNlZCAnL0xpc3Qgb2YgVVVJRHM6L2Q7IHMvXltbOnNwYWNlOl1dKi8vJyA+ICIkT1VUUFVUX0ZJTEUiIDI+PiRUU19PVVRQVVQKKwkkVFNfSEVMUEVSX1VVSURfUEFSU0VSICIkT1VUUFVUX0ZJTEUiID4+ICRUU19PVVRQVVQgMj4mMQorCXJldD0kPworCWlmIFsgJHJldCAtbmUgMCBdOyB0aGVuCisJCWVjaG8gInNvbWV0aGluZyB3cm9uZyB3aXRoICRPVVRQVVRfRklMRSIgPj4gJFRTX09VVFBVVAorCQljYXQgJE9VVFBVVF9GSUxFID4+ICRUU19PVVRQVVQgMj4mMQorCWZpCisJZWNobyAicmV0dXJuIHZhbHVlOiAkcmV0IiA+PiAkVFNfT1VUUFVUCit9CisKK3Rlc3RfZmxhZyAtdAordGVzdF9mbGFnIC0tdGltZQordGVzdF9mbGFnIC1yCit0ZXN0X2ZsYWcgLS1yYW5kb20KK3Rlc3RfZmxhZyAtciAtbiA2NQorCiskVFNfQ01EX1VVSUREIC1rIC1zICIkVVVJRERfU09DS0VUIiAyPiYxIHwKKwlzZWQgJ3MvcGlkIFswLTldKi4kL3BpZCA8bnVtPi4vJyA+PiAiJFRTX09VVFBVVCIKKworcm0gLWYgIiRPVVRQVVRfRklMRSIgIiRVVUlERF9QSUQiICIkVVVJRERfU09DS0VUIgorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvdXVpZC91dWlkZ2VuIGIvdGVzdHMvdHMvdXVpZC91dWlkZ2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZhYTFiNWIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy91dWlkL3V1aWRnZW4KQEAgLTAsMCArMSw0NSBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJ1dWlkZ2VuIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX1VVSURfUEFSU0VSIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VVSURHRU4iCisKK09VVFBVVF9GSUxFPSIkKG1rdGVtcCAiJHtUU19PVVRESVJ9L3V1aWRnZW5YWFhYWFhYWFhYWFhYIikiCisKK3Rlc3RfZmxhZygpIHsKKwllY2hvICJvcHRpb246ICQxIiA+PiAkVFNfT1VUUFVUCisJJFRTX0NNRF9VVUlER0VOICQxID4gIiRPVVRQVVRfRklMRSIgMj4+JFRTX09VVFBVVAorCXJldD0kPworCSRUU19IRUxQRVJfVVVJRF9QQVJTRVIgIiRPVVRQVVRfRklMRSIgPj4gJFRTX09VVFBVVCAyPiYxCisJaWYgWyAkPyAtbmUgMCBdIHx8IFsgJHJldCAtbmUgMCBdOyB0aGVuIAorCQllY2hvICJzb21ldGhpbmcgd3Jvbmcgd2l0aCAkT1VUUFVUX0ZJTEUiID4+ICRUU19PVVRQVVQKKwkJY2F0ICRPVVRQVVRfRklMRSA+PiAkVFNfT1VUUFVUIDI+JjEKKwlmaQorCWVjaG8gInJldHVybiB2YWx1ZXM6ICRyZXQgYW5kICQ/IiA+PiAkVFNfT1VUUFVUCit9CisKK3Rlc3RfZmxhZyAtcgordGVzdF9mbGFnIC10Cit0ZXN0X2ZsYWcgLS1yYW5kb20KK3Rlc3RfZmxhZyAtLXRpbWUKKworcm0gLWYgIiRPVVRQVVRfRklMRSIKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3dpcGVmcy93aXBlZnMgYi90ZXN0cy90cy93aXBlZnMvd2lwZWZzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY5MTYzNjIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy93aXBlZnMvd2lwZWZzCkBAIC0wLDAgKzEsMzMgQEAKKyMhL2Jpbi9iYXNoCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9IndpcGVmcyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9XSVBFRlMiCisKK3RzX3NraXBfbm9ucm9vdAorCisjIHNldCBnbG9iYWwgdmFyaWFibGUgVFNfREVWSUNFCit0c19zY3NpX2RlYnVnX2luaXQgZGV2X3NpemVfbWI9NTAgbnVtX3BhcnRzPTIKKworIyByZW1vdmUgb2xkIGJhY2t1cHMKK3JtIC1yZiAkSE9NRS93aXBlZnMtJChiYXNlbmFtZSAke1RTX0RFVklDRX0pLSouYmFrCisKKyNyZW1vdmUgdGhlIG1hZ2ljIGJ5dGUsIGJhY2sgaXQgdXAKKyRUU19DTURfV0lQRUZTIC0tYWxsIC0tYmFja3VwICR7VFNfREVWSUNFfSAmPi9kZXYvbnVsbCB8fCB0c19kaWUgIndpcGVmcyBmYWlsZWQiCisKKyN0aGVyZSBzaG91bGQgYmUganVzdCBvbmUgbWFnaWMgc3RyaW5nL2JhY2t1cCBmaWxlIGluIHRoaXMgY2FzZQorSU5GSUxFPSQobHMgJEhPTUUvd2lwZWZzLSQoYmFzZW5hbWUgJHtUU19ERVZJQ0V9KS0qLmJhaykKK09GRlQ9JChlY2hvICRJTkZJTEUgfCBzZWQgJ3MvXi4qLVwoLipcKS5iYWskL1wxLycpCitkZCBpZj0kSU5GSUxFIG9mPSRUU19ERVZJQ0UgYnM9MSBjb252PW5vdHJ1bmMgc2Vlaz0kKCgkT0ZGVCkpICY+L2Rldi9udWxsCisKKyN0aGUgYnl0ZXMgc2hvdWxkIGJlIGNvcGllZCBiYWNrLCBjaGVjayBpZiB3aXBlZnMgY2FuIHJlY29nbml6ZSBpdAorJFRTX0NNRF9XSVBFRlMgLWEgJHtUU19ERVZJQ0V9ID4gJFRTX09VVERJUi9vdXQgMj4vZGV2L251bGwKKworIyBjaGVjayBmb3Igb3V0cHV0CitbIC1zICRUU19PVVRESVIvb3V0IF0gJiYgZWNobyAiT0siICY+ICRUU19PVVRQVVQgfHwgZXhpdCAxCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXh0LXV0aWxzL01ha2Vtb2R1bGUuYW0gYi90ZXh0LXV0aWxzL01ha2Vtb2R1bGUuYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTQyNzA0ZAotLS0gL2Rldi9udWxsCisrKyBiL3RleHQtdXRpbHMvTWFrZW1vZHVsZS5hbQpAQCAtMCwwICsxLDEwNCBAQAoraWYgQlVJTERfQ09MCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSBjb2wKK2Rpc3RfbWFuX01BTlMgKz0gdGV4dC11dGlscy9jb2wuMQorY29sX1NPVVJDRVMgPSB0ZXh0LXV0aWxzL2NvbC5jCitjb2xfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEKK2VuZGlmCisKK2lmIEJVSUxEX0NPTENSVAordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gY29sY3J0CitkaXN0X21hbl9NQU5TICs9IHRleHQtdXRpbHMvY29sY3J0LjEKK2NvbGNydF9TT1VSQ0VTID0gdGV4dC11dGlscy9jb2xjcnQuYworZW5kaWYKKworaWYgQlVJTERfQ09MUk0KK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IGNvbHJtCitkaXN0X21hbl9NQU5TICs9IHRleHQtdXRpbHMvY29scm0uMQorY29scm1fU09VUkNFUyA9IHRleHQtdXRpbHMvY29scm0uYworY29scm1fTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEKK2VuZGlmCisKK2lmIEJVSUxEX0NPTFVNTgordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gY29sdW1uCitkaXN0X21hbl9NQU5TICs9IHRleHQtdXRpbHMvY29sdW1uLjEKK2NvbHVtbl9TT1VSQ0VTID0gdGV4dC11dGlscy9jb2x1bW4uYworY29sdW1uX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCitlbmRpZgorCitpZiBCVUlMRF9IRVhEVU1QCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSBoZXhkdW1wCitkaXN0X21hbl9NQU5TICs9IHRleHQtdXRpbHMvaGV4ZHVtcC4xCitoZXhkdW1wX1NPVVJDRVMgPSBcCisJdGV4dC11dGlscy9oZXhkdW1wLWNvbnYuYyBcCisJdGV4dC11dGlscy9oZXhkdW1wLWRpc3BsYXkuYyBcCisJdGV4dC11dGlscy9oZXhkdW1wLmMgXAorCXRleHQtdXRpbHMvaGV4ZHVtcC5oIFwKKwl0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYworaGV4ZHVtcF9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYSBsaWJ0Y29sb3JzLmxhCitlbmRpZgorCitpZiBCVUlMRF9SRVYKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IHJldgorZGlzdF9tYW5fTUFOUyArPSB0ZXh0LXV0aWxzL3Jldi4xCityZXZfU09VUkNFUyA9IHRleHQtdXRpbHMvcmV2LmMKK2VuZGlmCisKK2lmIEJVSUxEX1RBSUxGCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSB0YWlsZgorZGlzdF9tYW5fTUFOUyArPSB0ZXh0LXV0aWxzL3RhaWxmLjEKK3RhaWxmX1NPVVJDRVMgPSB0ZXh0LXV0aWxzL3RhaWxmLmMKK3RhaWxmX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCitlbmRpZgorCitpZiBCVUlMRF9MSU5FCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSBsaW5lCitsaW5lX1NPVVJDRVMgPSB0ZXh0LXV0aWxzL2xpbmUuYworZGlzdF9tYW5fTUFOUyArPSB0ZXh0LXV0aWxzL2xpbmUuMQorZW5kaWYKKworaWYgQlVJTERfUEcKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IHBnCitkaXN0X21hbl9NQU5TICs9IHRleHQtdXRpbHMvcGcuMQorcGdfU09VUkNFUyA9IHRleHQtdXRpbHMvcGcuYworcGdfQ0ZMQUdTID0gJChBTV9DRkxBR1MpICQoQlNEX1dBUk5fQ0ZMQUdTKSAkKE5DVVJTRVNfQ0ZMQUdTKSAkKFRJTkZPX0NGTEFHUykKK3BnX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhICQoTkNVUlNFU19MSUJTKSAkKFRJTkZPX0xJQlMpCitlbmRpZiAjIEJVSUxEX1BHCisKKworaWYgQlVJTERfVUwKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IHVsCitkaXN0X21hbl9NQU5TICs9IHRleHQtdXRpbHMvdWwuMQordWxfU09VUkNFUyA9IHRleHQtdXRpbHMvdWwuYwordWxfQ0ZMQUdTID0gJChBTV9DRkxBR1MpCit1bF9MREFERCA9ICQoTERBREQpCitpZiBIQVZFX1RJTkZPCit1bF9MREFERCArPSAkKFRJTkZPX0xJQlMpCit1bF9MREFERCArPSAkKFRJTkZPX0NGTEFHUykKK2Vsc2UKK3VsX0NGTEFHUyArPSAkKE5DVVJTRVNfQ0ZMQUdTKQordWxfTERBREQgKz0gJChOQ1VSU0VTX0xJQlMpCitlbmRpZgorZW5kaWYgIyBCVUlMRF9VTAorCisKK2lmIEJVSUxEX01PUkUKK2Jpbl9QUk9HUkFNUyArPSBtb3JlCitkaXN0X21hbl9NQU5TICs9IHRleHQtdXRpbHMvbW9yZS4xCittb3JlX1NPVVJDRVMgPSB0ZXh0LXV0aWxzL21vcmUuYworbW9yZV9DRkxBR1MgPSAkKEFNX0NGTEFHUykgJChCU0RfV0FSTl9DRkxBR1MpCittb3JlX0xEQUREID0gJChMREFERCkKK2lmIEhBVkVfVElORk8KK21vcmVfTERBREQgKz0gJChUSU5GT19MSUJTKQorbW9yZV9MREFERCArPSAkKFRJTkZPX0NGTEFHUykKK2Vsc2UKK21vcmVfQ0ZMQUdTICs9ICQoTkNVUlNFU19DRkxBR1MpCittb3JlX0xEQUREICs9ICQoTkNVUlNFU19MSUJTKQorZW5kaWYKKworY2hlY2tfUFJPR1JBTVMgKz0gdGVzdF9tb3JlCit0ZXN0X21vcmVfU09VUkNFUyA9ICQobW9yZV9TT1VSQ0VTKQordGVzdF9tb3JlX0NGTEFHUyA9IC1EVEVTVF9QUk9HUkFNICQobW9yZV9DRkxBR1MpCit0ZXN0X21vcmVfTERBREQgPSAkKG1vcmVfTERBREQpCisKK2VuZGlmICMgQlVJTERfTU9SRQorCmRpZmYgLS1naXQgYS90ZXh0LXV0aWxzL2NvbC4xIGIvdGV4dC11dGlscy9jb2wuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MDcxNzJhCi0tLSAvZGV2L251bGwKKysrIGIvdGV4dC11dGlscy9jb2wuMQpAQCAtMCwwICsxLDE1OCBAQAorLlwiIENvcHlyaWdodCAoYykgMTk5MCBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLgorLlwiIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisuXCIKKy5cIiBUaGlzIGNvZGUgaXMgZGVyaXZlZCBmcm9tIHNvZnR3YXJlIGNvbnRyaWJ1dGVkIHRvIEJlcmtlbGV5IGJ5CisuXCIgTWljaGFlbCBSZW5kZWxsLgorLlwiCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorLlwiICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKy5cIglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisuXCIJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisuXCIgNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKy5cIiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKy5cIiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy5cIgorLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisuXCIgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisuXCIgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKy5cIiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy5cIiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorLlwiIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisuXCIgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisuXCIgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKy5cIiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisuXCIgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorLlwiIFNVQ0ggREFNQUdFLgorLlwiCisuXCIgICAgIEAoIyljb2wuMQk2LjggKEJlcmtlbGV5KSA2LzE3LzkxCisuXCIKKy5USCBDT0wgIjEiICJKdWx5IDIwMTQiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitjb2wgXC0gZmlsdGVyIHJldmVyc2UgbGluZSBmZWVkcyBmcm9tIGlucHV0CisuU0ggU1lOT1BTSVMKKy5CIGNvbAorW29wdGlvbnNdCisuU0ggREVTQ1JJUFRJT04KKy5CIGNvbAorZmlsdGVycyBvdXQgcmV2ZXJzZSAoYW5kIGhhbGYtcmV2ZXJzZSkgbGluZSBmZWVkcyBzbyB0aGUgb3V0cHV0IGlzIGluIHRoZQorY29ycmVjdCBvcmRlciwgd2l0aCBvbmx5IGZvcndhcmQgYW5kIGhhbGYtZm9yd2FyZCBsaW5lIGZlZWRzLiAgSXQgYWxzbyByZXBsYWNlcworYW55IHdoaXRlc3BhY2UgY2hhcmFjdGVycyB3aXRoIHRhYnMgd2hlcmUgcG9zc2libGUuICBUaGlzIGNhbiBiZSB1c2VmdWwgaW4KK3Byb2Nlc3NpbmcgdGhlIG91dHB1dCBvZgorLkJSIG5yb2ZmICgxKQorYW5kCisuQlIgdGJsICgxKS4KKy5QUAorLkIgY29sCityZWFkcyBmcm9tIHN0YW5kYXJkIGlucHV0IGFuZCB3cml0ZXMgdG8gc3RhbmRhcmQgb3V0cHV0LgorLlNIIE9QVElPTlMKKy5UUAorXGZCXC1iXGZSLCBcZkJcLVwtbm9cLWJhY2tzcGFjZXNcZlIKK0RvIG5vdCBvdXRwdXQgYW55IGJhY2tzcGFjZXMsIHByaW50aW5nIG9ubHkgdGhlIGxhc3QgY2hhcmFjdGVyIHdyaXR0ZW4gdG8KK2VhY2ggY29sdW1uIHBvc2l0aW9uLgorLlRQCitcZkJcLWZcZlIsIFxmQlwtXC1maW5lXGZSCitQZXJtaXQgaGFsZi1mb3J3YXJkIGxpbmUgZmVlZHMuCitOb3JtYWxseSBjaGFyYWN0ZXJzIGRlc3RpbmVkIGZvciBhIGhhbGYtbGluZSBib3VuZGFyeSBhcmUgcHJpbnRlZCBvbiB0aGUKK2ZvbGxvd2luZyBsaW5lLgorLlRQCitcZkJcLWhcZlIsIFxmQlwtXC10YWJzXGZSCitPdXRwdXQgdGFicyBpbnN0ZWFkIG9mIG11bHRpcGxlIHNwYWNlcy4KKy5UUAorXGZCXC1sXGZSLCBcZkJcLVwtbGluZXNcZlIgXGZJbnVtYmVyXGZSCitCdWZmZXIgYXQgbGVhc3QKKy5JIG51bWJlcgorbGluZXMgaW4gbWVtb3J5LiAgQnkgZGVmYXVsdCwgMTI4IGxpbmVzIGFyZSBidWZmZXJlZC4KKy5UUAorXGZCXC1wXGZSLCBcZkJcLVwtcGFzc1xmUgorRm9yY2UgdW5rbm93biBjb250cm9sIHNlcXVlbmNlcyB0byBiZSBwYXNzZWQgdGhyb3VnaCB1bmNoYW5nZWQuICBOb3JtYWxseQorLkIgY29sCit3aWxsIGZpbHRlciBvdXQgYW55IGNvbnRyb2wgc2VxdWVuY2VzIG90aGVyIHRoYW4gdGhvc2UKK3JlY29nbml6ZWQgYW5kIGludGVycHJldGVkIGJ5IGl0c2VsZiwgd2hpY2ggYXJlIGxpc3RlZCBiZWxvdy4KKy5UUAorXGZCXC14XGZSLCBcZkJcLVwtc3BhY2VzXGZSCitPdXRwdXQgbXVsdGlwbGUgc3BhY2VzIGluc3RlYWQgb2YgdGFicy4KKy5UUAorXGZCXC1WXGZSLCBcZkJcLVwtdmVyc2lvblxmUgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCitcZkJcLUhcZlIsIFxmQlwtXC1oZWxwXGZSCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBOT1RFUworVGhlIGNvbnRyb2wgc2VxdWVuY2VzIGZvciBjYXJyaWFnZSBtb3Rpb24gdGhhdAorLkIgY29sCit1bmRlcnN0YW5kcyBhbmQgdGhlaXIgZGVjaW1hbCB2YWx1ZXMgYXJlIGxpc3RlZCBpbiB0aGUgZm9sbG93aW5nIHRhYmxlOgorLlBQCisuUlMKKy5QRCAwCisuVFAgMTgKKy5CIEVTQ1wtNworcmV2ZXJzZSBsaW5lIGZlZWQgKGVzY2FwZSB0aGVuIDcpCisuVFAKKy5CIEVTQ1wtOAoraGFsZiByZXZlcnNlIGxpbmUgZmVlZCAoZXNjYXBlIHRoZW4gOCkKKy5UUAorLkIgRVNDXC05CitoYWxmIGZvcndhcmQgbGluZSBmZWVkIChlc2NhcGUgdGhlbiA5KQorLlRQCisuQiBiYWNrc3BhY2UKK21vdmVzIGJhY2sgb25lIGNvbHVtbiAoOCk7IGlnbm9yZWQgaW4gdGhlIGZpcnN0IGNvbHVtbgorLlRQCisuQiBuZXdsaW5lCitmb3J3YXJkIGxpbmUgZmVlZCAoMTApOyBhbHNvIGRvZXMgY2FycmlhZ2UgcmV0dXJuCisuVFAKKy5CIGNhcnJpYWdlIHJldHVybgorKDEzKQorLlRQCisuQiBzaGlmdCBpbgorc2hpZnQgdG8gbm9ybWFsIGNoYXJhY3RlciBzZXQgKDE1KQorLlRQCisuQiBzaGlmdCBvdXQKK3NoaWZ0IHRvIGFsdGVybmF0ZSBjaGFyYWN0ZXIgc2V0ICgxNCkKKy5UUAorLkIgc3BhY2UKK21vdmVzIGZvcndhcmQgb25lIGNvbHVtbiAoMzIpCisuVFAKKy5CIHRhYgorbW92ZXMgZm9yd2FyZCB0byBuZXh0IHRhYiBzdG9wICg5KQorLlRQCisuQiB2ZXJ0aWNhbCB0YWIKK3JldmVyc2UgbGluZSBmZWVkICgxMSkKKy5QRAorLlJFCisuUFAKK0FsbCB1bnJlY29nbml6ZWQgY29udHJvbCBjaGFyYWN0ZXJzIGFuZCBlc2NhcGUgc2VxdWVuY2VzIGFyZSBkaXNjYXJkZWQuCisuUFAKKy5CIGNvbAora2VlcHMgdHJhY2sgb2YgdGhlIGNoYXJhY3RlciBzZXQgYXMgY2hhcmFjdGVycyBhcmUgcmVhZCBhbmQgbWFrZXMgc3VyZSB0aGUKK2NoYXJhY3RlciBzZXQgaXMgY29ycmVjdCB3aGVuIHRoZXkgYXJlIG91dHB1dC4KKy5QUAorSWYgdGhlIGlucHV0IGF0dGVtcHRzIHRvIGJhY2sgdXAgdG8gdGhlIGxhc3QgZmx1c2hlZCBsaW5lLAorLkIgY29sCit3aWxsIGRpc3BsYXkgYSB3YXJuaW5nIG1lc3NhZ2UuCisuU0ggU0VFIEFMU08KKy5CUiBleHBhbmQgKDEpLAorLkJSIG5yb2ZmICgxKSwKKy5CUiB0YmwgKDEpCisuU0ggU1RBTkRBUkRTCitUaGUKKy5CIGNvbAordXRpbGl0eSBjb25mb3JtcyB0byB0aGUgU2luZ2xlIFVOSVggU3BlY2lmaWNhdGlvbiwgVmVyc2lvbiAyLiAgVGhlCisuQiBcLWwKK29wdGlvbiBpcyBhbiBleHRlbnNpb24gdG8gdGhlIHN0YW5kYXJkLgorLlNIIEhJU1RPUlkKK0EKKy5CIGNvbAorY29tbWFuZCBhcHBlYXJlZCBpbiBWZXJzaW9uIDYgQVQmVCBVTklYLgorLlNIIEFWQUlMQUJJTElUWQorVGhlIGNvbCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBmdHA6Ly9cOmZ0cC5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL3RleHQtdXRpbHMvY29sLmMgYi90ZXh0LXV0aWxzL2NvbC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4MjM1NzMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXh0LXV0aWxzL2NvbC5jCkBAIC0wLDAgKzEsNTg3IEBACisvKi0KKyAqIENvcHlyaWdodCAoYykgMTk5MCBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGNvZGUgaXMgZGVyaXZlZCBmcm9tIHNvZnR3YXJlIGNvbnRyaWJ1dGVkIHRvIEJlcmtlbGV5IGJ5CisgKiBNaWNoYWVsIFJlbmRlbGwgb2YgdGhlIE1lbW9yaWFsIFVuaXZlcnNpdHkgb2YgTmV3Zm91bmRsYW5kLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisgKiAgICBtdXN0IGRpc3BsYXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnZW1lbnQ6CisgKglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisgKglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKyAqIDQuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKgorICogV2VkIEp1biAyMiAyMjoxNTo0MSAxOTk0LCBmYWl0aEBjcy51bmMuZWR1OiBBZGRlZCBpbnRlcm5hdGlvbmFsaXphdGlvbgorICogICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRjaGVzIGZyb20gQW5kcmllcy5Ccm91d2VyQGN3aS5ubAorICogV2VkIFNlcCAxNCAyMjozMToxNyAxOTk0OiBwYXRjaGVzIGZyb20gQ2FybCBDaHJpc3RvZmZlcnNvbgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAoY2NocmlzQGNvbm5lY3RlZC5jb20pCisgKiAxOTk5LTAyLTIyIEFya2FkaXVzeiBNacWba2lld2ljeiA8bWlzaWVrQHBsZC5PUkcuUEw+CisgKiAJYWRkZWQgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKKyAqIDE5OTktMDktMTkgQnJ1bm8gSGFpYmxlIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CisgKiAJbW9kaWZpZWQgdG8gd29yayBjb3JyZWN0bHkgaW4gbXVsdGktYnl0ZSBsb2NhbGVzCisgKgorICovCisKKy8qCisgKiBUaGlzIGNvbW1hbmQgaXMgZGVwcmVjYXRlZC4gIFRoZSB1dGlsaXR5IGlzIGluIG1haW50ZW5hbmNlIG1vZGUsCisgKiBtZWFuaW5nIHdlIGtlZXAgdGhlbSBpbiBzb3VyY2UgdHJlZSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eQorICogb25seS4gIERvIG5vdCB3YXN0ZSB0aW1lIG1ha2luZyB0aGlzIGNvbW1hbmQgYmV0dGVyLCB1bmxlc3MgdGhlCisgKiBmaXggaXMgYWJvdXQgc2VjdXJpdHkgb3Igb3RoZXIgdmVyeSBjcml0aWNhbCBpc3N1ZS4KKyAqCisgKiBTZWUgRG9jdW1lbnRhdGlvbi9kZXByZWNhdGVkLnR4dCBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKyAqLworCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJ3aWRlY2hhci5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKworI2RlZmluZQlCUwknXGInCQkvKiBiYWNrc3BhY2UgKi8KKyNkZWZpbmUJVEFCCSdcdCcJCS8qIHRhYiAqLworI2RlZmluZQlTUEFDRQknICcJCS8qIHNwYWNlICovCisjZGVmaW5lCU5MCSdcbicJCS8qIG5ld2xpbmUgKi8KKyNkZWZpbmUJQ1IJJ1xyJwkJLyogY2FycmlhZ2UgcmV0dXJuICovCisjZGVmaW5lCUVTQwknXDAzMycJCS8qIGVzY2FwZSAqLworI2RlZmluZQlTSQknXDAxNycJCS8qIHNoaWZ0IGluIHRvIG5vcm1hbCBjaGFyYWN0ZXIgc2V0ICovCisjZGVmaW5lCVNPCSdcMDE2JwkJLyogc2hpZnQgb3V0IHRvIGFsdGVybmF0ZSBjaGFyYWN0ZXIgc2V0ICovCisjZGVmaW5lCVZUCSdcMDEzJwkJLyogdmVydGljYWwgdGFiIChha2EgcmV2ZXJzZSBsaW5lIGZlZWQpICovCisjZGVmaW5lCVJMRgknXDAwNycJCS8qIEVTQy0wNyByZXZlcnNlIGxpbmUgZmVlZCAqLworI2RlZmluZQlSSExGCSdcMDEwJwkJLyogRVNDLTAxMCByZXZlcnNlIGhhbGYtbGluZSBmZWVkICovCisjZGVmaW5lCUZITEYJJ1wwMTEnCQkvKiBFU0MtMDExIGZvcndhcmQgaGFsZi1saW5lIGZlZWQgKi8KKworLyogYnVpbGQgdXAgYXQgbGVhc3QgdGhpcyBtYW55IGxpbmVzIGJlZm9yZSBmbHVzaGluZyB0aGVtIG91dCAqLworI2RlZmluZQlCVUZGRVJfTUFSR0lOCQkzMgorCit0eXBlZGVmIGNoYXIgQ1NFVDsKKwordHlwZWRlZiBzdHJ1Y3QgY2hhcl9zdHIgeworI2RlZmluZQlDU19OT1JNQUwJMQorI2RlZmluZQlDU19BTFRFUk5BVEUJMgorCXNob3J0CQljX2NvbHVtbjsJLyogY29sdW1uIGNoYXJhY3RlciBpcyBpbiAqLworCUNTRVQJCWNfc2V0OwkJLyogY2hhcmFjdGVyIHNldCAoY3VycmVudGx5IG9ubHkgMikgKi8KKwl3Y2hhcl90CQljX2NoYXI7CQkvKiBjaGFyYWN0ZXIgaW4gcXVlc3Rpb24gKi8KKwlpbnQJCWNfd2lkdGg7CS8qIGNoYXJhY3RlciB3aWR0aCAqLworfSBDSEFSOworCit0eXBlZGVmIHN0cnVjdCBsaW5lX3N0ciBMSU5FOworc3RydWN0IGxpbmVfc3RyIHsKKwlDSEFSCSpsX2xpbmU7CQkvKiBjaGFyYWN0ZXJzIG9uIHRoZSBsaW5lICovCisJTElORQkqbF9wcmV2OwkJLyogcHJldmlvdXMgbGluZSAqLworCUxJTkUJKmxfbmV4dDsJCS8qIG5leHQgbGluZSAqLworCWludAlsX2xzaXplOwkJLyogYWxsb2NhdGVkIHNpemVvZiBsX2xpbmUgKi8KKwlpbnQJbF9saW5lX2xlbjsJCS8qIHN0cmxlbihsX2xpbmUpICovCisJaW50CWxfbmVlZHNfc29ydDsJCS8qIHNldCBpZiBjaGFycyB3ZW50IGluIG91dCBvZiBvcmRlciAqLworCWludAlsX21heF9jb2w7CQkvKiBtYXggY29sdW1uIGluIHRoZSBsaW5lICovCit9OworCit2b2lkIGZyZWVfbGluZShMSU5FICpsKTsKK3ZvaWQgZmx1c2hfbGluZShMSU5FICpsKTsKK3ZvaWQgZmx1c2hfbGluZXMoaW50KTsKK3ZvaWQgZmx1c2hfYmxhbmtzKHZvaWQpOworTElORSAqYWxsb2NfbGluZSh2b2lkKTsKKworQ1NFVCBsYXN0X3NldDsJCQkvKiBjaGFyX3NldCBvZiBsYXN0IGNoYXIgcHJpbnRlZCAqLworTElORSAqbGluZXM7CitpbnQgY29tcHJlc3Nfc3BhY2VzOwkJLyogaWYgZG9pbmcgc3BhY2UgLT4gdGFiIGNvbnZlcnNpb24gKi8KK2ludCBmaW5lOwkJCS8qIGlmIGBmaW5lJyByZXNvbHV0aW9uIChoYWxmIGxpbmVzKSAqLwordW5zaWduZWQgbWF4X2J1ZmRfbGluZXM7CS8qIG1heCAjIGxpbmVzIHRvIGtlZXAgaW4gbWVtb3J5ICovCitpbnQgbmJsYW5rX2xpbmVzOwkJLyogIyBibGFua3MgYWZ0ZXIgbGFzdCBmbHVzaGVkIGxpbmUgKi8KK2ludCBub19iYWNrc3BhY2VzOwkJLyogaWYgbm90IHRvIG91dHB1dCBhbnkgYmFja3NwYWNlcyAqLworaW50IHBhc3NfdW5rbm93bl9zZXFzOwkJLyogd2hldGhlciB0byBwYXNzIHVua25vd24gY29udHJvbCBzZXF1ZW5jZXMgKi8KKworI2RlZmluZQlQVVRDKGNoKSBcCisJaWYgKHB1dHdjaGFyKGNoKSA9PSBXRU9GKSBcCisJCXdyZXJyKCk7CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKEZJTEUgKm91dCkKK3sKKwlmcHJpbnRmKG91dCwgXygKKwkJIlxuVXNhZ2U6XG4iCisJCSIgJXMgW29wdGlvbnNdXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkZpbHRlciBvdXQgcmV2ZXJzZSBsaW5lIGZlZWRzLlxuIiksIG91dCk7CisKKwlmcHJpbnRmKG91dCwgXygKKwkJIlxuT3B0aW9uczpcbiIKKwkJIiAtYiwgLS1uby1iYWNrc3BhY2VzICAgIGRvIG5vdCBvdXRwdXQgYmFja3NwYWNlc1xuIgorCQkiIC1mLCAtLWZpbmUgICAgICAgICAgICAgcGVybWl0IGZvcndhcmQgaGFsZiBsaW5lIGZlZWRzXG4iCisJCSIgLXAsIC0tcGFzcyAgICAgICAgICAgICBwYXNzIHVua25vd24gY29udHJvbCBzZXF1ZW5jZXNcbiIKKwkJIiAtaCwgLS10YWJzICAgICAgICAgICAgIGNvbnZlcnQgc3BhY2VzIHRvIHRhYnNcbiIKKwkJIiAteCwgLS1zcGFjZXMgICAgICAgICAgIGNvbnZlcnQgdGFicyB0byBzcGFjZXNcbiIKKwkJIiAtbCwgLS1saW5lcyBOVU0gICAgICAgIGJ1ZmZlciBhdCBsZWFzdCBOVU0gbGluZXNcbiIKKwkJIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisJCSIgLUgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuXG4iKSk7CisKKwlmcHJpbnRmKG91dCwgXygKKwkJIiVzIHJlYWRzIGZyb20gc3RhbmRhcmQgaW5wdXQgYW5kIHdyaXRlcyB0byBzdGFuZGFyZCBvdXRwdXRcblxuIiksCisJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgiY29sKDEpIikpOworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHdyZXJyKHZvaWQpCit7CisJZXJyeChFWElUX0ZBSUxVUkUsIF8oIndyaXRlIGVycm9yIikpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJcmVnaXN0ZXIgd2ludF90IGNoOworCUNIQVIgKmM7CisJQ1NFVCBjdXJfc2V0OwkJCS8qIGN1cnJlbnQgY2hhcmFjdGVyIHNldCAqLworCUxJTkUgKmw7CQkJLyogY3VycmVudCBsaW5lICovCisJaW50IGV4dHJhX2xpbmVzOwkJLyogIyBvZiBsaW5lcyBhYm92ZSBmaXJzdCBsaW5lICovCisJaW50IGN1cl9jb2w7CQkJLyogY3VycmVudCBjb2x1bW4gKi8KKwlpbnQgY3VyX2xpbmU7CQkJLyogbGluZSBudW1iZXIgb2YgY3VycmVudCBwb3NpdGlvbiAqLworCWludCBtYXhfbGluZTsJCQkvKiBtYXggdmFsdWUgb2YgY3VyX2xpbmUgKi8KKwlpbnQgdGhpc19saW5lOwkJCS8qIGxpbmUgbCBwb2ludHMgdG8gKi8KKwlpbnQgbmZsdXNoZF9saW5lczsJCS8qIG51bWJlciBvZiBsaW5lcyB0aGF0IHdlcmUgZmx1c2hlZCAqLworCWludCBhZGp1c3QsIG9wdCwgd2FybmVkOworCWludCByZXQgPSBFWElUX1NVQ0NFU1M7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJuby1iYWNrc3BhY2VzIiwgbm9fYXJndW1lbnQsCQkwLCAnYicgfSwKKwkJeyAiZmluZSIsCSAgIG5vX2FyZ3VtZW50LAkJMCwgJ2YnIH0sCisJCXsgInBhc3MiLAkgICBub19hcmd1bWVudCwJCTAsICdwJyB9LAorCQl7ICJ0YWJzIiwJICAgbm9fYXJndW1lbnQsCQkwLCAnaCcgfSwKKwkJeyAic3BhY2VzIiwJICAgbm9fYXJndW1lbnQsCQkwLCAneCcgfSwKKwkJeyAibGluZXMiLAkgICByZXF1aXJlZF9hcmd1bWVudCwJMCwgJ2wnIH0sCisJCXsgInZlcnNpb24iLAkgICBub19hcmd1bWVudCwJCTAsICdWJyB9LAorCQl7ICJoZWxwIiwJICAgbm9fYXJndW1lbnQsCQkwLCAnSCcgfSwKKwkJeyBOVUxMLCAwLCAwLCAwIH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCW1heF9idWZkX2xpbmVzID0gMTI4ICogMjsKKwljb21wcmVzc19zcGFjZXMgPSAxOwkJLyogY29tcHJlc3Mgc3BhY2VzIGludG8gdGFicyAqLworCXBhc3NfdW5rbm93bl9zZXFzID0gMDsgICAgICAgICAgLyogcmVtb3ZlIHVua25vd24gZXNjYXBlIHNlcXVlbmNlcyAqLworCisJd2hpbGUgKChvcHQgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiYmZobDpweFZIIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkKKwkJc3dpdGNoIChvcHQpIHsKKwkJY2FzZSAnYic6CQkvKiBkbyBub3Qgb3V0cHV0IGJhY2tzcGFjZXMgKi8KKwkJCW5vX2JhY2tzcGFjZXMgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2YnOgkJLyogYWxsb3cgaGFsZiBmb3J3YXJkIGxpbmUgZmVlZHMgKi8KKwkJCWZpbmUgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2gnOgkJLyogY29tcHJlc3Mgc3BhY2VzIGludG8gdGFicyAqLworCQkJY29tcHJlc3Nfc3BhY2VzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdsJzoKKwkJCS8qCisJCQkgKiBCdWZmZXJlZCBsaW5lIGNvdW50LCB3aGljaCBpcyBhIHZhbHVlIGluIGhhbGYKKwkJCSAqIGxpbmVzIGUuZy4gdHdpY2UgdGhlIGFtb3VudCBzcGVjaWZpZWQuCisJCQkgKi8KKwkJCW1heF9idWZkX2xpbmVzID0gc3RydG91MzJfb3JfZXJyKG9wdGFyZywgXygiYmFkIC1sIGFyZ3VtZW50IikpICogMjsKKwkJCWJyZWFrOworCQljYXNlICdwJzoKKwkJCXBhc3NfdW5rbm93bl9zZXFzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICd4JzoJCS8qIGRvIG5vdCBjb21wcmVzcyBzcGFjZXMgaW50byB0YWJzICovCisJCQljb21wcmVzc19zcGFjZXMgPSAwOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdIJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQl9CisKKwlpZiAob3B0aW5kICE9IGFyZ2MpCisJCXVzYWdlKHN0ZGVycik7CisKKwlhZGp1c3QgPSBjdXJfY29sID0gZXh0cmFfbGluZXMgPSB3YXJuZWQgPSAwOworCWN1cl9saW5lID0gbWF4X2xpbmUgPSBuZmx1c2hkX2xpbmVzID0gdGhpc19saW5lID0gMDsKKwljdXJfc2V0ID0gbGFzdF9zZXQgPSBDU19OT1JNQUw7CisJbGluZXMgPSBsID0gYWxsb2NfbGluZSgpOworCisJd2hpbGUgKGZlb2Yoc3RkaW4pID09IDApIHsKKwkJZXJybm8gPSAwOworCQlpZiAoKGNoID0gZ2V0d2NoYXIoKSkgPT0gV0VPRikgeworCQkJaWYgKGVycm5vID09IEVJTFNFUSkgeworCQkJCXdhcm4oTlVMTCk7CisJCQkJcmV0ID0gRVhJVF9GQUlMVVJFOworCQkJfQorCQkJYnJlYWs7CisJCX0KKwkJaWYgKCFpc3dncmFwaChjaCkpIHsKKwkJCXN3aXRjaCAoY2gpIHsKKwkJCWNhc2UgQlM6CQkvKiBjYW4ndCBnbyBiYWNrIGZ1cnRoZXIgKi8KKwkJCQlpZiAoY3VyX2NvbCA9PSAwKQorCQkJCQljb250aW51ZTsKKwkJCQktLWN1cl9jb2w7CisJCQkJY29udGludWU7CisJCQljYXNlIENSOgorCQkJCWN1cl9jb2wgPSAwOworCQkJCWNvbnRpbnVlOworCQkJY2FzZSBFU0M6CQkvKiBqdXN0IGlnbm9yZSBFT0YgKi8KKwkJCQlzd2l0Y2goZ2V0d2NoYXIoKSkgeworCQkJCWNhc2UgUkxGOgorCQkJCQljdXJfbGluZSAtPSAyOworCQkJCQlicmVhazsKKwkJCQljYXNlIFJITEY6CisJCQkJCWN1cl9saW5lLS07CisJCQkJCWJyZWFrOworCQkJCWNhc2UgRkhMRjoKKwkJCQkJY3VyX2xpbmUrKzsKKwkJCQkJaWYgKGN1cl9saW5lID4gbWF4X2xpbmUpCisJCQkJCQltYXhfbGluZSA9IGN1cl9saW5lOworCQkJCX0KKwkJCQljb250aW51ZTsKKwkJCWNhc2UgTkw6CisJCQkJY3VyX2xpbmUgKz0gMjsKKwkJCQlpZiAoY3VyX2xpbmUgPiBtYXhfbGluZSkKKwkJCQkJbWF4X2xpbmUgPSBjdXJfbGluZTsKKwkJCQljdXJfY29sID0gMDsKKwkJCQljb250aW51ZTsKKwkJCWNhc2UgU1BBQ0U6CisJCQkJKytjdXJfY29sOworCQkJCWNvbnRpbnVlOworCQkJY2FzZSBTSToKKwkJCQljdXJfc2V0ID0gQ1NfTk9STUFMOworCQkJCWNvbnRpbnVlOworCQkJY2FzZSBTTzoKKwkJCQljdXJfc2V0ID0gQ1NfQUxURVJOQVRFOworCQkJCWNvbnRpbnVlOworCQkJY2FzZSBUQUI6CQkvKiBhZGp1c3QgY29sdW1uICovCisJCQkJY3VyX2NvbCB8PSA3OworCQkJCSsrY3VyX2NvbDsKKwkJCQljb250aW51ZTsKKwkJCWNhc2UgVlQ6CisJCQkJY3VyX2xpbmUgLT0gMjsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCWlmIChpc3dzcGFjZShjaCkpIHsKKwkJCQlpZiAod2N3aWR0aChjaCkgPiAwKQorCQkJCQljdXJfY29sICs9IHdjd2lkdGgoY2gpOworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJaWYgKCFwYXNzX3Vua25vd25fc2VxcykKKwkJCQljb250aW51ZTsKKwkJfQorCisJCS8qIE11c3Qgc3R1ZmYgY2ggaW4gYSBsaW5lIC0gYXJlIHdlIGF0IHRoZSByaWdodCBvbmU/ICovCisJCWlmIChjdXJfbGluZSAhPSB0aGlzX2xpbmUgLSBhZGp1c3QpIHsKKwkJCUxJTkUgKmxuZXc7CisJCQlpbnQgbm1vdmU7CisKKwkJCWFkanVzdCA9IDA7CisJCQlubW92ZSA9IGN1cl9saW5lIC0gdGhpc19saW5lOworCQkJaWYgKCFmaW5lKSB7CisJCQkJLyogcm91bmQgdXAgdG8gbmV4dCBsaW5lICovCisJCQkJaWYgKGN1cl9saW5lICYgMSkgeworCQkJCQlhZGp1c3QgPSAxOworCQkJCQlubW92ZSsrOworCQkJCX0KKwkJCX0KKwkJCWlmIChubW92ZSA8IDApIHsKKwkJCQlmb3IgKDsgbm1vdmUgPCAwICYmIGwtPmxfcHJldjsgbm1vdmUrKykKKwkJCQkJbCA9IGwtPmxfcHJldjsKKwkJCQlpZiAobm1vdmUpIHsKKwkJCQkJaWYgKG5mbHVzaGRfbGluZXMgPT0gMCkgeworCQkJCQkJLyoKKwkJCQkJCSAqIEFsbG93IGJhY2t1cCBwYXN0IGZpcnN0CisJCQkJCQkgKiBsaW5lIGlmIG5vdGhpbmcgaGFzIGJlZW4KKwkJCQkJCSAqIGZsdXNoZWQgeWV0LgorCQkJCQkJICovCisJCQkJCQlmb3IgKDsgbm1vdmUgPCAwOyBubW92ZSsrKSB7CisJCQkJCQkJbG5ldyA9IGFsbG9jX2xpbmUoKTsKKwkJCQkJCQlsLT5sX3ByZXYgPSBsbmV3OworCQkJCQkJCWxuZXctPmxfbmV4dCA9IGw7CisJCQkJCQkJbCA9IGxpbmVzID0gbG5ldzsKKwkJCQkJCQlleHRyYV9saW5lcysrOworCQkJCQkJfQorCQkJCQl9IGVsc2UgeworCQkJCQkJaWYgKCF3YXJuZWQrKykKKwkJCQkJCQl3YXJueCgKKwkJCV8oIndhcm5pbmc6IGNhbid0IGJhY2sgdXAgJXMuIiksIGN1cl9saW5lIDwgMCA/CisJCQlfKCJwYXN0IGZpcnN0IGxpbmUiKSA6IF8oIi0tIGxpbmUgYWxyZWFkeSBmbHVzaGVkIikpOworCQkJCQkJY3VyX2xpbmUgLT0gbm1vdmU7CisJCQkJCX0KKwkJCQl9CisJCQl9IGVsc2UgeworCQkJCS8qIG1heSBuZWVkIHRvIGFsbG9jYXRlIGhlcmUgKi8KKwkJCQlmb3IgKDsgbm1vdmUgPiAwICYmIGwtPmxfbmV4dDsgbm1vdmUtLSkKKwkJCQkJbCA9IGwtPmxfbmV4dDsKKwkJCQlmb3IgKDsgbm1vdmUgPiAwOyBubW92ZS0tKSB7CisJCQkJCWxuZXcgPSBhbGxvY19saW5lKCk7CisJCQkJCWxuZXctPmxfcHJldiA9IGw7CisJCQkJCWwtPmxfbmV4dCA9IGxuZXc7CisJCQkJCWwgPSBsbmV3OworCQkJCX0KKwkJCX0KKwkJCXRoaXNfbGluZSA9IGN1cl9saW5lICsgYWRqdXN0OworCQkJbm1vdmUgPSB0aGlzX2xpbmUgLSBuZmx1c2hkX2xpbmVzOworCQkJaWYgKG5tb3ZlID4gMAorCQkJICAgICYmICh1bnNpZ25lZCkgbm1vdmUgPj0gbWF4X2J1ZmRfbGluZXMgKyBCVUZGRVJfTUFSR0lOKSB7CisJCQkJbmZsdXNoZF9saW5lcyArPSBubW92ZSAtIG1heF9idWZkX2xpbmVzOworCQkJCWZsdXNoX2xpbmVzKG5tb3ZlIC0gbWF4X2J1ZmRfbGluZXMpOworCQkJfQorCQl9CisJCS8qIGdyb3cgbGluZSdzIGJ1ZmZlcj8gKi8KKwkJaWYgKGwtPmxfbGluZV9sZW4gKyAxID49IGwtPmxfbHNpemUpIHsKKwkJCWludCBuZWVkOworCisJCQluZWVkID0gbC0+bF9sc2l6ZSA/IGwtPmxfbHNpemUgKiAyIDogOTA7CisJCQlsLT5sX2xpbmUgPSB4cmVhbGxvYygodm9pZCAqKSBsLT5sX2xpbmUsCisJCQkJCQkgICAgKHVuc2lnbmVkKSBuZWVkICogc2l6ZW9mKENIQVIpKTsKKwkJCWwtPmxfbHNpemUgPSBuZWVkOworCQl9CisJCWMgPSAmbC0+bF9saW5lW2wtPmxfbGluZV9sZW4rK107CisJCWMtPmNfY2hhciA9IGNoOworCQljLT5jX3NldCA9IGN1cl9zZXQ7CisJCWMtPmNfY29sdW1uID0gY3VyX2NvbDsKKwkJYy0+Y193aWR0aCA9IHdjd2lkdGgoY2gpOworCQkvKgorCQkgKiBJZiB0aGluZ3MgYXJlIHB1dCBpbiBvdXQgb2Ygb3JkZXIsIHRoZXkgd2lsbCBuZWVkIHNvcnRpbmcKKwkJICogd2hlbiBpdCBpcyBmbHVzaGVkLgorCQkgKi8KKwkJaWYgKGN1cl9jb2wgPCBsLT5sX21heF9jb2wpCisJCQlsLT5sX25lZWRzX3NvcnQgPSAxOworCQllbHNlCisJCQlsLT5sX21heF9jb2wgPSBjdXJfY29sOworCQlpZiAoYy0+Y193aWR0aCA+IDApCisJCQljdXJfY29sICs9IGMtPmNfd2lkdGg7CisJfQorCS8qIGdvdG8gdGhlIGxhc3QgbGluZSB0aGF0IGhhZCBhIGNoYXJhY3RlciBvbiBpdCAqLworCWZvciAoOyBsLT5sX25leHQ7IGwgPSBsLT5sX25leHQpCisJCXRoaXNfbGluZSsrOworCWZsdXNoX2xpbmVzKHRoaXNfbGluZSAtIG5mbHVzaGRfbGluZXMgKyBleHRyYV9saW5lcyArIDEpOworCisJLyogbWFrZSBzdXJlIHdlIGxlYXZlIHRoaW5ncyBpbiBhIHNhbmUgc3RhdGUgKi8KKwlpZiAobGFzdF9zZXQgIT0gQ1NfTk9STUFMKQorCQlQVVRDKCdcMDE3Jyk7CisKKwkvKiBmbHVzaCBvdXQgdGhlIGxhc3QgZmV3IGJsYW5rIGxpbmVzICovCisJbmJsYW5rX2xpbmVzID0gbWF4X2xpbmUgLSB0aGlzX2xpbmU7CisJaWYgKG1heF9saW5lICYgMSkKKwkJbmJsYW5rX2xpbmVzKys7CisJZWxzZSBpZiAoIW5ibGFua19saW5lcykKKwkJLyogbWlzc2luZyBhIFxuIG9uIHRoZSBsYXN0IGxpbmU/ICovCisJCW5ibGFua19saW5lcyA9IDI7CisJZmx1c2hfYmxhbmtzKCk7CisJcmV0dXJuIHJldDsKK30KKwordm9pZCBmbHVzaF9saW5lcyhpbnQgbmZsdXNoKQoreworCUxJTkUgKmw7CisKKwl3aGlsZSAoLS1uZmx1c2ggPj0gMCkgeworCQlsID0gbGluZXM7CisJCWxpbmVzID0gbC0+bF9uZXh0OworCQlpZiAobC0+bF9saW5lKSB7CisJCQlmbHVzaF9ibGFua3MoKTsKKwkJCWZsdXNoX2xpbmUobCk7CisJCX0KKwkJbmJsYW5rX2xpbmVzKys7CisJCWZyZWUoKHZvaWQgKilsLT5sX2xpbmUpOworCQlmcmVlX2xpbmUobCk7CisJfQorCWlmIChsaW5lcykKKwkJbGluZXMtPmxfcHJldiA9IE5VTEw7Cit9CisKKy8qCisgKiBQcmludCBhIG51bWJlciBvZiBuZXdsaW5lL2hhbGYgbmV3bGluZXMuICBJZiBmaW5lIGZsYWcgaXMgc2V0LCBuYmxhbmtfbGluZXMKKyAqIGlzIHRoZSBudW1iZXIgb2YgaGFsZiBsaW5lIGZlZWRzLCBvdGhlcndpc2UgaXQgaXMgdGhlIG51bWJlciBvZiB3aG9sZSBsaW5lCisgKiBmZWVkcy4KKyAqLwordm9pZCBmbHVzaF9ibGFua3Modm9pZCkKK3sKKwlpbnQgaGFsZiwgaSwgbmI7CisKKwloYWxmID0gMDsKKwluYiA9IG5ibGFua19saW5lczsKKwlpZiAobmIgJiAxKSB7CisJCWlmIChmaW5lKQorCQkJaGFsZiA9IDE7CisJCWVsc2UKKwkJCW5iKys7CisJfQorCW5iIC89IDI7CisJZm9yIChpID0gbmI7IC0taSA+PSAwOykKKwkJUFVUQygnXG4nKTsKKwlpZiAoaGFsZikgeworCQlQVVRDKCdcMDMzJyk7CisJCVBVVEMoJzknKTsKKwkJaWYgKCFuYikKKwkJCVBVVEMoJ1xyJyk7CisJfQorCW5ibGFua19saW5lcyA9IDA7Cit9CisKKy8qCisgKiBXcml0ZSBhIGxpbmUgdG8gc3Rkb3V0IHRha2luZyBjYXJlIG9mIHNwYWNlIHRvIHRhYiBjb252ZXJzaW9uICgtaCBmbGFnKQorICogYW5kIGNoYXJhY3RlciBzZXQgc2hpZnRzLgorICovCit2b2lkIGZsdXNoX2xpbmUoTElORSAqbCkKK3sKKwlDSEFSICpjLCAqZW5kYzsKKwlpbnQgbmNoYXJzLCBsYXN0X2NvbCwgdGhpc19jb2w7CisKKwlsYXN0X2NvbCA9IDA7CisJbmNoYXJzID0gbC0+bF9saW5lX2xlbjsKKworCWlmIChsLT5sX25lZWRzX3NvcnQpIHsKKwkJc3RhdGljIENIQVIgKnNvcnRlZDsKKwkJc3RhdGljIGludCBjb3VudF9zaXplLCAqY291bnQsIGksIHNhdmUsIHNvcnRlZF9zaXplLCB0b3Q7CisKKwkJLyoKKwkJICogRG8gYW4gTyhuKSBzb3J0IG9uIGwtPmxfbGluZSBieSBjb2x1bW4gYmVpbmcgY2FyZWZ1bCB0bworCQkgKiBwcmVzZXJ2ZSB0aGUgb3JkZXIgb2YgY2hhcmFjdGVycyBpbiB0aGUgc2FtZSBjb2x1bW4uCisJCSAqLworCQlpZiAobC0+bF9sc2l6ZSA+IHNvcnRlZF9zaXplKSB7CisJCQlzb3J0ZWRfc2l6ZSA9IGwtPmxfbHNpemU7CisJCQlzb3J0ZWQgPSB4cmVhbGxvYygodm9pZCAqKXNvcnRlZCwKKwkJCQkJCSAgKHVuc2lnbmVkKXNpemVvZihDSEFSKSAqIHNvcnRlZF9zaXplKTsKKwkJfQorCQlpZiAobC0+bF9tYXhfY29sID49IGNvdW50X3NpemUpIHsKKwkJCWNvdW50X3NpemUgPSBsLT5sX21heF9jb2wgKyAxOworCQkJY291bnQgPSAoaW50ICopeHJlYWxsb2MoKHZvaWQgKiljb3VudCwKKwkJCSAgICAodW5zaWduZWQpc2l6ZW9mKGludCkgKiBjb3VudF9zaXplKTsKKwkJfQorCQltZW1zZXQoY291bnQsIDAsIHNpemVvZihpbnQpICogbC0+bF9tYXhfY29sICsgMSk7CisJCWZvciAoaSA9IG5jaGFycywgYyA9IGwtPmxfbGluZTsgLS1pID49IDA7IGMrKykKKwkJCWNvdW50W2MtPmNfY29sdW1uXSsrOworCisJCS8qCisJCSAqIGNhbGN1bGF0ZSBydW5uaW5nIHRvdGFsIChzaGlmdGVkIGRvd24gYnkgMSkgdG8gdXNlIGFzCisJCSAqIGluZGljZXMgaW50byBuZXcgbGluZS4KKwkJICovCisJCWZvciAodG90ID0gMCwgaSA9IDA7IGkgPD0gbC0+bF9tYXhfY29sOyBpKyspIHsKKwkJCXNhdmUgPSBjb3VudFtpXTsKKwkJCWNvdW50W2ldID0gdG90OworCQkJdG90ICs9IHNhdmU7CisJCX0KKworCQlmb3IgKGkgPSBuY2hhcnMsIGMgPSBsLT5sX2xpbmU7IC0taSA+PSAwOyBjKyspCisJCQlzb3J0ZWRbY291bnRbYy0+Y19jb2x1bW5dKytdID0gKmM7CisJCWMgPSBzb3J0ZWQ7CisJfSBlbHNlCisJCWMgPSBsLT5sX2xpbmU7CisJd2hpbGUgKG5jaGFycyA+IDApIHsKKwkJdGhpc19jb2wgPSBjLT5jX2NvbHVtbjsKKwkJZW5kYyA9IGM7CisJCWRvIHsKKwkJCSsrZW5kYzsKKwkJfSB3aGlsZSAoLS1uY2hhcnMgPiAwICYmIHRoaXNfY29sID09IGVuZGMtPmNfY29sdW1uKTsKKworCQkvKiBpZiAtYiBvbmx5IHByaW50IGxhc3QgY2hhcmFjdGVyICovCisJCWlmIChub19iYWNrc3BhY2VzKSB7CisJCQljID0gZW5kYyAtIDE7CisJCQlpZiAobmNoYXJzID4gMCAmJgorCQkJICAgIHRoaXNfY29sICsgYy0+Y193aWR0aCA+IGVuZGMtPmNfY29sdW1uKQorCQkJCWNvbnRpbnVlOworCQl9CisKKwkJaWYgKHRoaXNfY29sID4gbGFzdF9jb2wpIHsKKwkJCWludCBuc3BhY2UgPSB0aGlzX2NvbCAtIGxhc3RfY29sOworCisJCQlpZiAoY29tcHJlc3Nfc3BhY2VzICYmIG5zcGFjZSA+IDEpIHsKKwkJCQlpbnQgbnRhYnM7CisKKwkJCQludGFicyA9IHRoaXNfY29sIC8gOCAtIGxhc3RfY29sIC8gODsKKwkJCQlpZiAobnRhYnMgPiAwKSB7CisJCQkJCW5zcGFjZSA9IHRoaXNfY29sICYgNzsKKwkJCQkJd2hpbGUgKC0tbnRhYnMgPj0gMCkKKwkJCQkJCVBVVEMoJ1x0Jyk7CisJCQkJfQorCQkJfQorCQkJd2hpbGUgKC0tbnNwYWNlID49IDApCisJCQkJUFVUQygnICcpOworCQkJbGFzdF9jb2wgPSB0aGlzX2NvbDsKKwkJfQorCisJCWZvciAoOzspIHsKKwkJCWlmIChjLT5jX3NldCAhPSBsYXN0X3NldCkgeworCQkJCXN3aXRjaCAoYy0+Y19zZXQpIHsKKwkJCQljYXNlIENTX05PUk1BTDoKKwkJCQkJUFVUQygnXDAxNycpOworCQkJCQlicmVhazsKKwkJCQljYXNlIENTX0FMVEVSTkFURToKKwkJCQkJUFVUQygnXDAxNicpOworCQkJCX0KKwkJCQlsYXN0X3NldCA9IGMtPmNfc2V0OworCQkJfQorCQkJUFVUQyhjLT5jX2NoYXIpOworCQkJaWYgKChjICsgMSkgPCBlbmRjKSB7CisJCQkJaW50IGk7CisJCQkJZm9yIChpPTA7IGkgPCBjLT5jX3dpZHRoOyBpKyspCisJCQkJCVBVVEMoJ1xiJyk7CisJCQl9CisJCQlpZiAoKytjID49IGVuZGMpCisJCQkJYnJlYWs7CisJCX0KKwkJbGFzdF9jb2wgKz0gKGMgLSAxKS0+Y193aWR0aDsKKwl9Cit9CisKKyNkZWZpbmUJTkFMTE9DIDY0CisKK3N0YXRpYyBMSU5FICpsaW5lX2ZyZWVsaXN0OworCitMSU5FICoKK2FsbG9jX2xpbmUodm9pZCkKK3sKKwlMSU5FICpsOworCWludCBpOworCisJaWYgKCFsaW5lX2ZyZWVsaXN0KSB7CisJCWwgPSB4bWFsbG9jKHNpemVvZihMSU5FKSAqIE5BTExPQyk7CisJCWxpbmVfZnJlZWxpc3QgPSBsOworCQlmb3IgKGkgPSAxOyBpIDwgTkFMTE9DOyBpKyssIGwrKykKKwkJCWwtPmxfbmV4dCA9IGwgKyAxOworCQlsLT5sX25leHQgPSBOVUxMOworCX0KKwlsID0gbGluZV9mcmVlbGlzdDsKKwlsaW5lX2ZyZWVsaXN0ID0gbC0+bF9uZXh0OworCisJbWVtc2V0KGwsIDAsIHNpemVvZihMSU5FKSk7CisJcmV0dXJuIGw7Cit9CisKK3ZvaWQgZnJlZV9saW5lKExJTkUgKmwpCit7CisJbC0+bF9uZXh0ID0gbGluZV9mcmVlbGlzdDsKKwlsaW5lX2ZyZWVsaXN0ID0gbDsKK30KZGlmZiAtLWdpdCBhL3RleHQtdXRpbHMvY29sY3J0LjEgYi90ZXh0LXV0aWxzL2NvbGNydC4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhYWRkMWEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXh0LXV0aWxzL2NvbGNydC4xCkBAIC0wLDAgKzEsMTA1IEBACisuXCIgQ29weXJpZ2h0IChjKSAxOTgwLCAxOTkwLCAxOTkzCisuXCIJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisuXCIKKy5cIiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy5cIiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy5cIiBhcmUgbWV0OgorLlwiIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLlwiIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLlwiICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisuXCIgMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisuXCIgICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorLlwiCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKy5cIglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKy5cIiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworLlwiICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorLlwiICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLlwiCisuXCIgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKy5cIiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKy5cIiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorLlwiIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLlwiIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisuXCIgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKy5cIiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKy5cIiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorLlwiIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKy5cIiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisuXCIgU1VDSCBEQU1BR0UuCisuXCIKKy5cIiAgICAgQCgjKWNvbGNydC4xCTguMSAoQmVya2VsZXkpIDYvMzAvOTMKKy5cIgorLlRIIENPTENSVCAiMSIgIlNlcHRlbWJlciAyMDExIiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQorY29sY3J0IFwtIGZpbHRlciBucm9mZiBvdXRwdXQgZm9yIENSVCBwcmV2aWV3aW5nCisuU0ggU1lOT1BTSVMKKy5CIGNvbGNydAorW29wdGlvbnNdCisuUkkgWyBmaWxlIC4uLl0KKy5TSCBERVNDUklQVElPTgorLkIgY29sY3J0Citwcm92aWRlcyB2aXJ0dWFsIGhhbGYtbGluZSBhbmQgcmV2ZXJzZSBsaW5lIGZlZWQgc2VxdWVuY2VzIGZvciB0ZXJtaW5hbHMKK3dpdGhvdXQgc3VjaCBjYXBhYmlsaXR5LCBhbmQgb24gd2hpY2ggb3ZlcnN0cmlraW5nIGlzIGRlc3RydWN0aXZlLgorSGFsZi1saW5lIGNoYXJhY3RlcnMgYW5kIHVuZGVybGluaW5nIChjaGFuZ2VkIHRvIGRhc2hpbmcgYFwtJykgYXJlIHBsYWNlZCBvbgorbmV3IGxpbmVzIGluIGJldHdlZW4gdGhlIG5vcm1hbCBvdXRwdXQgbGluZXMuCisuU0ggT1BUSU9OUworLlRQCitcZkJcLVxmUiwgXGZCXC1cLW5vXC11bmRlcmxpbmluZ1xmUgorU3VwcHJlc3MgYWxsIHVuZGVybGluaW5nLiAgVGhpcyBvcHRpb24gaXMgZXNwZWNpYWxseSB1c2VmdWwgZm9yIHByZXZpZXdpbmcKKy5JIGFsbGJveGVkCit0YWJsZXMgZnJvbQorLkJSIHRibCAoMSkuCisuVFAKK1xmQlwtMlxmUiwgXGZCXC1cLWhhbGZcLWxpbmVzXGZSCitDYXVzZXMgYWxsIGhhbGYtbGluZXMgdG8gYmUgcHJpbnRlZCwgZWZmZWN0aXZlbHkgZG91YmxlIHNwYWNpbmcgdGhlIG91dHB1dC4KK05vcm1hbGx5LCBhIG1pbmltYWwgc3BhY2Ugb3V0cHV0IGZvcm1hdCBpcyB1c2VkIHdoaWNoIHdpbGwgc3VwcHJlc3MgZW1wdHkKK2xpbmVzLiAgVGhlIHByb2dyYW0gbmV2ZXIgc3VwcHJlc3NlcyB0d28gY29uc2VjdXRpdmUgZW1wdHkgbGluZXMsIGhvd2V2ZXIuCitUaGUKKy5CIFwtMgorb3B0aW9uIGlzIHVzZWZ1bCBmb3Igc2VuZGluZyBvdXRwdXQgdG8gdGhlIGxpbmUgcHJpbnRlciB3aGVuIHRoZSBvdXRwdXQKK2NvbnRhaW5zIHN1cGVyc2NyaXB0cyBhbmQgc3Vic2NyaXB0cyB3aGljaCB3b3VsZCBvdGhlcndpc2UgYmUgaW52aXNpYmxlLgorLlRQCitcZkJcLVZcZlIsIFxmQlwtXC12ZXJzaW9uXGZSCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKK1xmQlwtaFxmUiwgXGZCXC1cLWhlbHBcZlIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIIEVYQU1QTEVTCitBIHR5cGljYWwgdXNlIG9mCisuQiBjb2xjcnQKK3dvdWxkIGJlOgorLlBQCisuUlMKKy5CIHRibCBleHVtMi5uIFwmfCBucm9mZiBcLW1zIFwmfCBjb2xjcnQgXC0gXCZ8IG1vcmUKKy5SRQorLlNIIFNFRSBBTFNPCisuQlIgY29sICgxKSwKKy5CUiBtb3JlICgxKSwKKy5CUiBucm9mZiAoMSksCisuQlIgdHJvZmYgKDEpLAorLkJSIHVsICgxKQorLlNIIEJVR1MKK1Nob3VsZCBmb2xkIHVuZGVybGluZXMgb250byBibGFua3MgZXZlbiB3aXRoIHRoZQorLkIgJ1wtJworb3B0aW9uIHNvIHRoYXQgYSB0cnVlIHVuZGVybGluZSBjaGFyYWN0ZXIgd291bGQgc2hvdy4KKy5QUAorQ2FuJ3QgYmFjayB1cCBtb3JlIHRoYW4gMTAyIGxpbmVzLgorLlBQCitHZW5lcmFsIG92ZXJzdHJpa2luZyBpcyBsb3N0OyBhcyBhIHNwZWNpYWwgY2FzZSAnfCcgb3ZlcnN0cnVjayB3aXRoICdcLScgb3IKK3VuZGVybGluZSBiZWNvbWVzICcrJy4KKy5QUAorTGluZXMgYXJlIHRyaW1tZWQgdG8gMTMyIGNoYXJhY3RlcnMuCisuUFAKK1NvbWUgcHJvdmlzaW9uIHNob3VsZCBiZSBtYWRlIGZvciBwcm9jZXNzaW5nIHN1cGVyc2NyaXB0cyBhbmQgc3Vic2NyaXB0cyBpbgorZG9jdW1lbnRzIHdoaWNoIGFyZSBhbHJlYWR5IGRvdWJsZS1zcGFjZWQuCisuU0ggSElTVE9SWQorVGhlCisuQiBjb2xjcnQKK2NvbW1hbmQgYXBwZWFyZWQgaW4gMy4wQlNELgorLlNIIEFWQUlMQUJJTElUWQorVGhlIGNvbGNydCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBmdHA6Ly9cOmZ0cC5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL3RleHQtdXRpbHMvY29sY3J0LmMgYi90ZXh0LXV0aWxzL2NvbGNydC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzNzYzNTAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXh0LXV0aWxzL2NvbGNydC5jCkBAIC0wLDAgKzEsMjk0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IFNhbWkgS2Vyb2xhIDxrZXJvbGFzYUBpa2kuZmk+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogQ29weXJpZ2h0IChjKSAxOTgwLCAxOTkzCisgKglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorICogICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorICoJVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgVW5pdmVyc2l0eSBvZgorICoJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisgKiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKy8qCisgKiAxOTk5LTAyLTIyIEFya2FkaXVzeiBNacWba2lld2ljeiA8bWlzaWVrQHBsZC5PUkcuUEw+CisgKglhZGRlZCBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAorICogMTk5OS0wOS0xOSBCcnVubyBIYWlibGUgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KKyAqCW1vZGlmaWVkIHRvIHdvcmsgY29ycmVjdGx5IGluIG11bHRpLWJ5dGUgbG9jYWxlcworICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIndpZGVjaGFyLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKworLyoKKyAqIGNvbGNydCAtIHJlcGxhY2VzIGNvbCBmb3IgY3J0cyB3aXRoIG5ldyBucm9mZiBlc3AuIHdoZW4gdXNpbmcgdGJsLgorICogQmlsbCBKb3kgVUNCIEp1bHkgMTQsIDE5NzcKKyAqCisgKiBUaGlzIGZpbHRlciB1c2VzIHRoZSB1cCBhbmQgZG93biBzZXF1ZW5jZXMgZ2VuZXJhdGVkIGJ5IHRoZSBuZXcKKyAqIG5yb2ZmIHdoZW4gdXNlZCB3aXRoIHRibCBhbmQgYnkgXHUgXGQgYW5kIFxyLgorICogR2VuZXJhbCBvdmVyc3RyaWtpbmcgZG9lc24ndCB3b3JrIGNvcnJlY3RseS4KKyAqIFVuZGVybGluaW5nIGlzIHNwbGl0IG9udG8gbXVsdGlwbGUgbGluZXMsIGV0Yy4KKyAqCisgKiBPcHRpb24gLSBzdXBwcmVzc2VzIGFsbCB1bmRlcmxpbmluZy4KKyAqIE9wdGlvbiAtMiBmb3JjZXMgcHJpbnRpbmcgb2YgYWxsIGhhbGYgbGluZXMuCisgKi8KKworZW51bSB7IE9VVFBVVF9DT0xTID0gMTMyIH07CisKK3N0cnVjdCBjb2xjcnRfY29udHJvbCB7CisJRklMRQkJKmY7CisJd2NoYXJfdAkJbGluZVtPVVRQVVRfQ09MUyArIDFdOworCXdjaGFyX3QJCWxpbmVfdW5kZXJbT1VUUFVUX0NPTFMgKyAxXTsKKwl1bnNpZ25lZCBpbnQJcHJpbnRfbmw6MSwKKwkJCW5lZWRfbGluZV91bmRlcjoxLAorCQkJbm9fdW5kZXJsaW5pbmc6MSwKKwkJCWhhbGZfbGluZXM6MTsKK307CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKEZJTEUgKm91dCkKK3sKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl1cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiRmlsdGVyIG5yb2ZmIG91dHB1dCBmb3IgQ1JUIHByZXZpZXdpbmcuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIHN1cHByZXNzIGFsbCB1bmRlcmxpbmluZ1xuIiksIG91dCk7CisJZnB1dHMoXygiIC0yLCAtLWhhbGYtbGluZXMgICAgICAgIHByaW50IGFsbCBoYWxmLWxpbmVzXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dCk7CisKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoImNvbGNydCgxKSIpKTsKKworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyB2b2lkIHRyaW1fdHJhaWxpbmdfc3BhY2VzKHdjaGFyX3QgKnMpCit7CisJc2l6ZV90IHNpemU7CisJd2NoYXJfdCAqZW5kOworCisJc2l6ZSA9IHdjc2xlbihzKTsKKwlpZiAoIXNpemUpCisJCXJldHVybjsKKwllbmQgPSBzICsgc2l6ZSAtIDE7CisJd2hpbGUgKHMgPD0gZW5kICYmIGlzd3NwYWNlKCplbmQpKQorCQllbmQtLTsKKwkqKGVuZCArIDEpID0gTCdcMCc7Cit9CisKKworc3RhdGljIHZvaWQgb3V0cHV0X2xpbmVzKHN0cnVjdCBjb2xjcnRfY29udHJvbCAqY3RsLCBpbnQgY29sKQoreworCS8qIGZpcnN0IGxpbmUgKi8KKwl0cmltX3RyYWlsaW5nX3NwYWNlcyhjdGwtPmxpbmUpOworCWZwdXR3cyhjdGwtPmxpbmUsIHN0ZG91dCk7CisKKwlpZiAoY3RsLT5wcmludF9ubCkKKwkJZnB1dHdjKEwnXG4nLCBzdGRvdXQpOworCWlmICghY3RsLT5oYWxmX2xpbmVzICYmICFjdGwtPm5vX3VuZGVybGluaW5nKQorCQljdGwtPnByaW50X25sID0gMDsKKworCXdtZW1zZXQoY3RsLT5saW5lLCBMJ1wwJywgT1VUUFVUX0NPTFMpOworCisJLyogc2Vjb25kIGxpbmUgKi8KKwlpZiAoY3RsLT5uZWVkX2xpbmVfdW5kZXIpIHsKKwkJY3RsLT5uZWVkX2xpbmVfdW5kZXIgPSAwOworCQljdGwtPmxpbmVfdW5kZXJbY29sXSA9IEwnXDAnOworCQl0cmltX3RyYWlsaW5nX3NwYWNlcyhjdGwtPmxpbmVfdW5kZXIpOworCQlmcHV0d3MoY3RsLT5saW5lX3VuZGVyLCBzdGRvdXQpOworCQlmcHV0d2MoTCdcbicsIHN0ZG91dCk7CisJCXdtZW1zZXQoY3RsLT5saW5lX3VuZGVyLCBMJyAnLCBPVVRQVVRfQ09MUyk7CisKKwl9IGVsc2UgaWYgKGN0bC0+aGFsZl9saW5lcyAmJiAwIDwgY29sKQorCQlmcHV0d2MoTCdcbicsIHN0ZG91dCk7Cit9CisKK3N0YXRpYyBpbnQgcnViY2hhcnMoc3RydWN0IGNvbGNydF9jb250cm9sICpjdGwsIGludCBjb2wsIGludCBuKQoreworCXdoaWxlICgwIDwgbiAmJiAwIDwgY29sKSB7CisJCWN0bC0+bGluZVtjb2xdID0gTCdcMCc7CisJCWN0bC0+bGluZV91bmRlcltjb2xdID0gTCcgJzsKKwkJbi0tOworCQljb2wtLTsKKwl9CisJcmV0dXJuIGNvbDsKK30KKworc3RhdGljIHZvaWQgY29sY3J0KHN0cnVjdCBjb2xjcnRfY29udHJvbCAqY3RsKQoreworCWludCBjb2w7CisJd2ludF90IGM7CisJbG9uZyBvbGRfcG9zOworCisJY3RsLT5wcmludF9ubCA9IDE7CisJaWYgKGN0bC0+aGFsZl9saW5lcykKKwkJZnB1dHdjKEwnXG4nLCBzdGRvdXQpOworCisJZm9yIChjb2wgPSAwOyAvKiBub3RoaW5nICovOyBjb2wrKykgeworCQlpZiAoT1VUUFVUX0NPTFMgLSAxIDwgY29sKSB7CisJCQlvdXRwdXRfbGluZXMoY3RsLCBjb2wpOworCQkJZXJybm8gPSAwOworCQkJb2xkX3BvcyA9IGZ0ZWxsKGN0bC0+Zik7CisJCQl3aGlsZSAoKGMgPSBnZXR3YyhjdGwtPmYpKSAhPSBMJ1xuJykgeworCQkJCWxvbmcgbmV3X3BvcyA9IGZ0ZWxsKGN0bC0+Zik7CisJCQkJaWYgKG9sZF9wb3MgPT0gbmV3X3BvcykKKwkJCQkJZnNlZWsoY3RsLT5mLCAxLCBTRUVLX0NVUik7CisJCQkJZWxzZQorCQkJCQlvbGRfcG9zID0gbmV3X3BvczsKKwkJCQlpZiAoZXJybm8gPT0gMCAmJiBjID09IFdFT0YpCisJCQkJCXJldHVybjsKKwkJCQllbHNlCisJCQkJCWVycm5vID0gMDsKKwkJCX0KKwkJCWNvbCA9IC0xOworCQkJY29udGludWU7CisJCX0KKwkJYyA9IGdldHdjKGN0bC0+Zik7CisJCXN3aXRjaCAoYykgeworCQljYXNlIDAzMzoJLyogRVNDICovCisJCQljID0gZ2V0d2MoY3RsLT5mKTsKKwkJCWlmIChjID09IEwnOCcpIHsKKwkJCQljb2wgPSBydWJjaGFycyhjdGwsIGNvbCwgMSk7CisJCQkJY29udGludWU7CisJCQl9CisJCQlpZiAoYyA9PSBMJzcnKSB7CisJCQkJY29sID0gcnViY2hhcnMoY3RsLCBjb2wsIDIpOworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJY29udGludWU7CisJCWNhc2UgV0VPRjoKKwkJCWN0bC0+cHJpbnRfbmwgPSAwOworCQkJb3V0cHV0X2xpbmVzKGN0bCwgY29sKTsKKwkJCXJldHVybjsKKwkJY2FzZSBMJ1xuJzoKKwkJCW91dHB1dF9saW5lcyhjdGwsIGNvbCk7CisJCQljb2wgPSAtMTsKKwkJCWNvbnRpbnVlOworCQljYXNlIEwnXHQnOgorCQkJZm9yICgvKiBub3RoaW5nICovOyBjb2wgJSA4ICYmIGNvbCA8IE9VVFBVVF9DT0xTOyBjb2wrKykgeworCQkJCWN0bC0+bGluZVtjb2xdID0gTCcgJzsKKwkJCX0KKwkJCWNvbC0tOworCQkJY29udGludWU7CisJCWNhc2UgTCdfJzoKKwkJCWN0bC0+bGluZVtjb2xdID0gTCcgJzsKKwkJCWlmICghY3RsLT5ub191bmRlcmxpbmluZykgeworCQkJCWN0bC0+bmVlZF9saW5lX3VuZGVyID0gMTsKKwkJCQljdGwtPmxpbmVfdW5kZXJbY29sXSA9IEwnLSc7CisJCQl9CisJCQljb250aW51ZTsKKwkJZGVmYXVsdDoKKwkJCWlmICghaXN3cHJpbnQoYykpIHsKKwkJCQljb2wtLTsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCWN0bC0+cHJpbnRfbmwgPSAxOworCQkJY3RsLT5saW5lW2NvbF0gPSBjOworCQl9CisJfQorfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJc3RydWN0IGNvbGNydF9jb250cm9sIGN0bCA9IHsgMCB9OworCWludCBvcHQ7CisJZW51bSB7IE5PX1VMX09QVElPTiA9IENIQVJfTUFYICsgMSB9OworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJuby11bmRlcmxpbmluZyIsIG5vX2FyZ3VtZW50LCBOVUxMLCBOT19VTF9PUFRJT059LAorCQl7ImhhbGYtbGluZXMiLCBub19hcmd1bWVudCwgTlVMTCwgJzInfSwKKwkJeyJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsIE5VTEwsICdWJ30sCisJCXsiaGVscCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCd9LAorCQl7TlVMTCwgMCwgTlVMTCwgMH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCS8qIFRha2UgY2FyZSBvZiBsb25lbHkgaHlwaGVuIG9wdGlvbi4gKi8KKwlmb3IgKG9wdCA9IDA7IG9wdCA8IGFyZ2M7IG9wdCsrKSB7CisJCWlmIChhcmd2W29wdF1bMF0gPT0gJy0nICYmIGFyZ3Zbb3B0XVsxXSA9PSAnXDAnKSB7CisJCQljdGwubm9fdW5kZXJsaW5pbmcgPSAxOworCQkJYXJnYy0tOworCQkJbWVtbW92ZShhcmd2ICsgb3B0LCBhcmd2ICsgb3B0ICsgMSwKKwkJCQlzaXplb2YoY2hhciAqKSAqIChhcmdjIC0gb3B0KSk7CisJCQlvcHQtLTsKKwkJfQorCX0KKworCXdoaWxlICgob3B0ID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIjJWaCIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKwkJc3dpdGNoIChvcHQpIHsKKwkJY2FzZSBOT19VTF9PUFRJT046CisJCQljdGwubm9fdW5kZXJsaW5pbmcgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJzInOgorCQkJY3RsLmhhbGZfbGluZXMgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQl9CisJfQorCisJYXJnYyAtPSBvcHRpbmQ7CisJYXJndiArPSBvcHRpbmQ7CisKKwlkbyB7CisJCXdtZW1zZXQoY3RsLmxpbmUsIEwnXDAnLCBPVVRQVVRfQ09MUyk7CisJCXdtZW1zZXQoY3RsLmxpbmVfdW5kZXIsIEwnICcsIE9VVFBVVF9DT0xTKTsKKworCQlpZiAoYXJnYyA+IDApIHsKKwkJCWlmICghKGN0bC5mID0gZm9wZW4oKmFyZ3YsICJyIikpKQorCQkJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksICphcmd2KTsKKwkJCWFyZ2MtLTsKKwkJCWFyZ3YrKzsKKwkJfSBlbHNlCisJCQljdGwuZiA9IHN0ZGluOworCisJCWNvbGNydCgmY3RsKTsKKwkJaWYgKGN0bC5mICE9IHN0ZGluKQorCQkJZmNsb3NlKGN0bC5mKTsKKwl9IHdoaWxlIChhcmdjID4gMCk7CisKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvdGV4dC11dGlscy9jb2xybS4xIGIvdGV4dC11dGlscy9jb2xybS4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkYjJmYmMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXh0LXV0aWxzL2NvbHJtLjEKQEAgLTAsMCArMSw3NSBAQAorLlwiIENvcHlyaWdodCAoYykgMTk4MCwgMTk5MCBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLgorLlwiIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisuXCIKKy5cIiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy5cIiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy5cIiBhcmUgbWV0OgorLlwiIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLlwiIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLlwiICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisuXCIgMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisuXCIgICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorLlwiCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKy5cIglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKy5cIiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworLlwiICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorLlwiICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLlwiCisuXCIgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKy5cIiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKy5cIiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorLlwiIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLlwiIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisuXCIgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKy5cIiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKy5cIiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorLlwiIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKy5cIiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisuXCIgU1VDSCBEQU1BR0UuCisuXCIKKy5cIiAgICAgQCgjKWNvbHJtLjEJNi42IChCZXJrZWxleSkgMy8xNC85MQorLlwiCisuVEggQ09MUk0gIjEiICJTZXB0ZW1iZXIgMjAxMSIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK2NvbHJtIFwtIHJlbW92ZSBjb2x1bW5zIGZyb20gYSBmaWxlCisuU0ggU1lOT1BTSVMKKy5CIGNvbHJtCisuUkkgWyBmaXJzdCBcIFsgbGFzdCBdXQorLlNIIERFU0NSSVBUSU9OCisuQiBjb2xybQorcmVtb3ZlcyBzZWxlY3RlZCBjb2x1bW5zIGZyb20gYSBmaWxlLiAgSW5wdXQgaXMgdGFrZW4gZnJvbSBzdGFuZGFyZCBpbnB1dC4KK091dHB1dCBpcyBzZW50IHRvIHN0YW5kYXJkIG91dHB1dC4KKy5QUAorSWYgY2FsbGVkIHdpdGggb25lIHBhcmFtZXRlciB0aGUgY29sdW1ucyBvZiBlYWNoIGxpbmUgd2lsbCBiZSByZW1vdmVkCitzdGFydGluZyB3aXRoIHRoZSBzcGVjaWZpZWQKKy5JIGZpcnN0Citjb2x1bW4uICBJZiBjYWxsZWQgd2l0aCB0d28gcGFyYW1ldGVycyB0aGUgY29sdW1ucyBmcm9tIHRoZQorLkkgZmlyc3QKK2NvbHVtbiB0byB0aGUKKy5JIGxhc3QKK2NvbHVtbiB3aWxsIGJlIHJlbW92ZWQuCisuUFAKK0NvbHVtbiBudW1iZXJpbmcgc3RhcnRzIHdpdGggY29sdW1uIDEuCisuU0ggT1BUSU9OUworLlRQCitcZkJcLVZcZlIsIFxmQlwtXC12ZXJzaW9uXGZSCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKK1xmQlwtaFxmUiwgXGZCXC1cLWhlbHBcZlIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIIFNFRSBBTFNPCisuQlIgYXdrICgxKSwKKy5CUiBjb2x1bW4gKDEpLAorLkJSIGV4cGFuZCAoMSksCisuQlIgcGFzdGUgKDEpCisuU0ggSElTVE9SWQorVGhlCisuQiBjb2xybQorY29tbWFuZCBhcHBlYXJlZCBpbiAzLjBCU0QuCisuU0ggQVZBSUxBQklMSVRZCitUaGUgY29scm0gY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgZnRwOi8vXDpmdHAua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS90ZXh0LXV0aWxzL2NvbHJtLmMgYi90ZXh0LXV0aWxzL2NvbHJtLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTc5OWNkMQotLS0gL2Rldi9udWxsCisrKyBiL3RleHQtdXRpbHMvY29scm0uYwpAQCAtMCwwICsxLDE5NCBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk4MCBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisgKiAgICBtdXN0IGRpc3BsYXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnZW1lbnQ6CisgKglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisgKglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKyAqIDQuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworLyoKKyAqIDE5OTktMDItMjIgQXJrYWRpdXN6IE1pxZtraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4KKyAqIAlhZGRlZCBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAorICogMTk5OS0wOS0xOSBCcnVubyBIYWlibGUgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KKyAqIAltb2RpZmllZCB0byB3b3JrIGNvcnJlY3RseSBpbiBtdWx0aS1ieXRlIGxvY2FsZXMKKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIndpZGVjaGFyLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKworLyoKK0NPTFJNIHJlbW92ZXMgdW53YW50ZWQgY29sdW1ucyBmcm9tIGEgZmlsZQorCUplZmYgU2NocmllYm1hbiAgVUMgQmVya2VsZXkgMTEtNzQKKyovCisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKSB1c2FnZShGSUxFICogb3V0KQoreworCWZwcmludGYob3V0LCBfKCJcblVzYWdlOlxuIgorCQkgICAgICAgIiAlcyBbc3RhcnRjb2wgW2VuZGNvbF1dXG4iKSwKKwkJICAgICAgIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJGaWx0ZXIgb3V0IHRoZSBzcGVjaWZpZWQgY29sdW1ucy5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiVzIHJlYWRzIGZyb20gc3RhbmRhcmQgaW5wdXQgYW5kIHdyaXRlcyB0byBzdGFuZGFyZCBvdXRwdXRcblxuIiksCisJCSAgICAgICBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisJZnByaW50ZihvdXQsIFVTQUdFX01BTl9UQUlMKCJjb2xybSgxKSIpKTsKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgaW50IHByb2Nlc3NfaW5wdXQodW5zaWduZWQgbG9uZyBmaXJzdCwgdW5zaWduZWQgbG9uZyBsYXN0KQoreworCXVuc2lnbmVkIGxvbmcgY3QgPSAwOworCXdpbnRfdCBjOworCXVuc2lnbmVkIGxvbmcgaTsKKwlpbnQgdzsKKwlpbnQgcGFkZGluZzsKKworCWZvciAoOzspIHsKKwkJYyA9IGdldHdjKHN0ZGluKTsKKwkJaWYgKGMgPT0gV0VPRikKKwkJCXJldHVybiAwOworCQlpZiAoYyA9PSAnXHQnKQorCQkJdyA9ICgoY3QgKyA4KSAmIH43KSAtIGN0OworCQllbHNlIGlmIChjID09ICdcYicpCisJCQl3ID0gKGN0ID8gY3QgLSAxIDogMCkgLSBjdDsKKwkJZWxzZSB7CisJCQl3ID0gd2N3aWR0aChjKTsKKwkJCWlmICh3IDwgMCkKKwkJCQl3ID0gMDsKKwkJfQorCQljdCArPSB3OworCQlpZiAoYyA9PSAnXG4nKSB7CisJCQlwdXR3YyhjLCBzdGRvdXQpOworCQkJY3QgPSAwOworCQkJY29udGludWU7CisKKwkJfQorCQlpZiAoIWZpcnN0IHx8IGN0IDwgZmlyc3QpIHsKKwkJCXB1dHdjKGMsIHN0ZG91dCk7CisJCQljb250aW51ZTsKKwkJfQorCQlicmVhazsKKwl9CisKKwlmb3IgKGkgPSBjdCAtIHcgKyAxOyBpIDwgZmlyc3Q7IGkrKykKKwkJcHV0d2MoJyAnLCBzdGRvdXQpOworCisJLyogTG9vcCBnZXR0aW5nIHJpZCBvZiBjaGFyYWN0ZXJzICovCisJd2hpbGUgKCFsYXN0IHx8IGN0IDwgbGFzdCkgeworCQljID0gZ2V0d2Moc3RkaW4pOworCQlpZiAoYyA9PSBXRU9GKQorCQkJcmV0dXJuIDA7CisJCWlmIChjID09ICdcbicpIHsKKwkJCXB1dHdjKGMsIHN0ZG91dCk7CisJCQlyZXR1cm4gMTsKKwkJfQorCQlpZiAoYyA9PSAnXHQnKQorCQkJY3QgPSAoY3QgKyA4KSAmIH43OworCQllbHNlIGlmIChjID09ICdcYicpCisJCQljdCA9IGN0ID8gY3QgLSAxIDogMDsKKwkJZWxzZSB7CisJCQl3ID0gd2N3aWR0aChjKTsKKwkJCWlmICh3IDwgMCkKKwkJCQl3ID0gMDsKKwkJCWN0ICs9IHc7CisJCX0KKwl9CisKKwlwYWRkaW5nID0gMDsKKworCS8qIE91dHB1dCBsYXN0IG9mIHRoZSBsaW5lICovCisJZm9yICg7OykgeworCQljID0gZ2V0d2Moc3RkaW4pOworCQlpZiAoYyA9PSBXRU9GKQorCQkJYnJlYWs7CisJCWlmIChjID09ICdcbicpIHsKKwkJCXB1dHdjKGMsIHN0ZG91dCk7CisJCQlyZXR1cm4gMTsKKwkJfQorCQlpZiAocGFkZGluZyA9PSAwICYmIGxhc3QgPCBjdCkgeworCQkJZm9yIChpID0gbGFzdDsgaSA8IGN0OyBpKyspCisJCQkJcHV0d2MoJyAnLCBzdGRvdXQpOworCQkJcGFkZGluZyA9IDE7CisJCX0KKwkJcHV0d2MoYywgc3Rkb3V0KTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwl1bnNpZ25lZCBsb25nIGZpcnN0ID0gMCwgbGFzdCA9IDA7CisJaW50IG9wdDsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCAwLCAnVid9LAorCQl7ImhlbHAiLCBub19hcmd1bWVudCwgMCwgJ2gnfSwKKwkJe05VTEwsIDAsIDAsIDB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwl3aGlsZSAoKG9wdCA9CisJCWdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJiZmhsOnB4VkgiLCBsb25nb3B0cywKKwkJCSAgICBOVUxMKSkgIT0gLTEpCisJCXN3aXRjaCAob3B0KSB7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQl9CisKKwlpZiAoYXJnYyA+IDEpCisJCWZpcnN0ID0gc3RydG91bF9vcl9lcnIoKisrYXJndiwgXygiZmlyc3QgYXJndW1lbnQiKSk7CisJaWYgKGFyZ2MgPiAyKQorCQlsYXN0ID0gc3RydG91bF9vcl9lcnIoKisrYXJndiwgXygic2Vjb25kIGFyZ3VtZW50IikpOworCisJd2hpbGUgKHByb2Nlc3NfaW5wdXQoZmlyc3QsIGxhc3QpKQorCQk7CisKKwlmZmx1c2goc3Rkb3V0KTsKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvdGV4dC11dGlscy9jb2x1bW4uMSBiL3RleHQtdXRpbHMvY29sdW1uLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmU3YmFkOQotLS0gL2Rldi9udWxsCisrKyBiL3RleHQtdXRpbHMvY29sdW1uLjEKQEAgLTAsMCArMSwxMDEgQEAKKy5cIiBDb3B5cmlnaHQgKGMpIDE5ODksIDE5OTAsIDE5OTMKKy5cIglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy5cIgorLlwiIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorLlwiIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworLlwiIGFyZSBtZXQ6CisuXCIgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy5cIiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisuXCIgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy5cIiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisuXCIgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKy5cIiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKKy5cIiAgICBtdXN0IGRpc3BsYXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnZW1lbnQ6CisuXCIJVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgVW5pdmVyc2l0eSBvZgorLlwiCUNhbGlmb3JuaWEsIEJlcmtlbGV5IGFuZCBpdHMgY29udHJpYnV0b3JzLgorLlwiIDQuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisuXCIgICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisuXCIgICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisuXCIKKy5cIiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorLlwiIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorLlwiIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisuXCIgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisuXCIgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKy5cIiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworLlwiIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorLlwiIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisuXCIgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorLlwiIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKy5cIiBTVUNIIERBTUFHRS4KKy5cIgorLlwiICAgICBAKCMpY29sdW1uLjEJOC4xIChCZXJrZWxleSkgNi82LzkzCisuXCIKKy5USCBDT0xVTU4gMSAiSnVseSAyMDE0IiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQorY29sdW1uIFwtIGNvbHVtbmF0ZSBsaXN0cworLlNIIFNZTk9QU0lTCisuQlIgY29sdW1uICIgW29wdGlvbnNdIgorLlJJIFsgZmlsZSAuLi5dCisuU0ggREVTQ1JJUFRJT04KK1RoZQorLkIgY29sdW1uCit1dGlsaXR5IGZvcm1hdHMgaXRzIGlucHV0IGludG8gbXVsdGlwbGUgY29sdW1ucy4gIEJ5IGRlZmF1bHQsIHJvd3MKK2FyZSBmaWxsZWQgYmVmb3JlIGNvbHVtbnMuICBJbnB1dCBpcyB0YWtlbiBmcm9tIFxmSWZpbGVcZlIsIG9yCitvdGhlcndpc2UgZnJvbSBzdGFuZGFyZCBpbnB1dC4gIEVtcHR5IGxpbmVzIGFyZSBpZ25vcmVkLgorLlBQCisuU0ggT1BUSU9OUworLklQICJcZkJcLWMsIFwtXC1jb2x1bW5zXGZQIFxmSXdpZHRoXGZQIgorT3V0cHV0IGlzIGZvcm1hdHRlZCB0byBhIHdpZHRoIHNwZWNpZmllZCBhcyBudW1iZXIgb2YgY2hhcmFjdGVycy4KKy5JUCAiXGZCXC1vLCBcLVwtb3V0cHV0XC1zZXBhcmF0b3JcZlAgXGZJc3RyaW5nXGZQIgorU3BlY2lmeSB0aGUgY29sdW1ucyBkZWxpbWl0ZXIgZm9yIHRhYmxlIG91dHB1dCAoZGVmYXVsdCBpcyB0d28gc3BhY2VzKS4KKy5JUCAiXGZCXC1zLCBcLVwtc2VwYXJhdG9yXGZQIFxmSXNlcGFyYXRvcnNcZlAiCitTcGVjaWZ5IHRoZSBwb3NzaWJsZSBpbnB1dCBpdGVtIGRlbGltaXRlcnMgKGRlZmF1bHQgaXMgd2hpdGVzcGFjZSkuCisuSVAgIlxmQlwtdCwgXC1cLXRhYmxlXGZQIgorRGV0ZXJtaW5lIHRoZSBudW1iZXIgb2YgY29sdW1ucyB0aGUgaW5wdXQgY29udGFpbnMgYW5kIGNyZWF0ZSBhIHRhYmxlLgorQ29sdW1ucyBhcmUgZGVsaW1pdGVkIHdpdGggd2hpdGVzcGFjZSwgYnkgZGVmYXVsdCwgb3Igd2l0aCB0aGUgY2hhcmFjdGVycworc3VwcGxpZWQgdXNpbmcgdGhlIFxmQlwtXC1vdXRwdXRcLXNlcGFyYXRvclxmUCBvcHRpb24uCitUYWJsZSBvdXRwdXQgaXMgdXNlZnVsIGZvciBwcmV0dHktcHJpbnRpbmcuCisuSVAgIlxmQlwteCwgXC1cLWZpbGxyb3dzXGZQIgorRmlsbCBjb2x1bW5zIGJlZm9yZSBmaWxsaW5nIHJvd3MuCisuSVAgIlxmQlwtVlxmUiwgXGZCXC1cLXZlcnNpb25cZlIiCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuSVAgIlxmQlwtaCwgXC1cLWhlbHBcZlAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBFTlZJUk9OTUVOVAorVGhlIGVudmlyb25tZW50IHZhcmlhYmxlIFxmQkNPTFVNTlNcZlIgaXMgdXNlZCB0byBkZXRlcm1pbmUgdGhlIHNpemUgb2YKK3RoZSBzY3JlZW4gaWYgbm8gb3RoZXIgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlLgorLlNIIEVYQU1QTEVTCisubmYKKy5CIHNlZCAncy8jLiovLycgL2V0Yy9mc3RhYiB8IGNvbHVtbiAtdAorLm5mCisuU0ggQlVHUworVmVyc2lvbiAyLjIzIGNoYW5nZWQgdGhlCisuQiBcLXMKK29wdGlvbiB0byBiZSBub24tZ3JlZWR5LCBmb3IgZXhhbXBsZToKKy5QUAorLkVYCitcZkJwcmludGYgImE6YjpjXFxuMTo6M1xcbiIgfCBjb2x1bW4gIC10IC1zICc6J1xmUgorLkVFCisuUFAKK09sZCBvdXRwdXQ6CisuRVgKK2EgIGIgIGMKKzEgIDMKKy5FRQorLlBQCitOZXcgb3V0cHV0IChzaW5jZSB1dGlsLWxpbnV4IDIuMjMpOgorLkVYCithICBiICBjCisxICAgICAzCisuRUUKKy5TSCAiU0VFIEFMU08iCisuQlIgY29scm0gKDEpLAorLkJSIGxzICgxKSwKKy5CUiBwYXN0ZSAoMSksCisuQlIgc29ydCAoMSkKKy5TSCBISVNUT1JZCitUaGUgY29sdW1uIGNvbW1hbmQgYXBwZWFyZWQgaW4gNC4zQlNELVJlbm8uCisuU0ggQVZBSUxBQklMSVRZCitUaGUgY29sdW1uIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvdGV4dC11dGlscy9jb2x1bW4uYyBiL3RleHQtdXRpbHMvY29sdW1uLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTAxNDRhMgotLS0gL2Rldi9udWxsCisrKyBiL3RleHQtdXRpbHMvY29sdW1uLmMKQEAgLTAsMCArMSw0OTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDE5ODksIDE5OTMsIDE5OTQKKyAqCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisgKiAgICBtdXN0IGRpc3BsYXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnZW1lbnQ6CisgKglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisgKglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKyAqIDQuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKyAKKy8qCisgKiAxOTk5LTAyLTIyIEFya2FkaXVzeiBNacWba2lld2ljeiA8bWlzaWVrQHBsZC5PUkcuUEw+CisgKiAJYWRkZWQgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKKyAqIDE5OTktMDktMTkgQnJ1bm8gSGFpYmxlIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CisgKiAJbW9kaWZpZWQgdG8gd29yayBjb3JyZWN0bHkgaW4gbXVsdGktYnl0ZSBsb2NhbGVzCisgKi8KKworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorCisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAid2lkZWNoYXIuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAidHR5dXRpbHMuaCIKKworI2lmZGVmIEhBVkVfV0lERUNIQVIKK3N0YXRpYyB3Y2hhcl90ICptYnNfdG9fd2NzKGNvbnN0IGNoYXIgKik7CisjZWxzZQorI2RlZmluZSBtYnNfdG9fd2NzKHMpIHhzdHJkdXAocykKK3N0YXRpYyBjaGFyICptdHNhZmVfc3RydG9rKGNoYXIgKiwgY29uc3QgY2hhciAqLCBjaGFyICoqKTsKKyNkZWZpbmUgd2NzdG9rIG10c2FmZV9zdHJ0b2sKKyNlbmRpZgorCisjZGVmaW5lIERFRkNPTFMgICAgIDI1CisjZGVmaW5lIFRBQiAgICAgICAgIDgKKyNkZWZpbmUgREVGTlVNICAgICAgMTAwMAorI2RlZmluZSBNQVhMSU5FTEVOICAoTElORV9NQVggKyAxKQorCitzdGF0aWMgaW50IGlucHV0KEZJTEUgKmZwLCBpbnQgKm1heGxlbmd0aCwgd2NoYXJfdCAqKipsaXN0LCBpbnQgKmVudHJpZXMpOworc3RhdGljIHZvaWQgY19jb2x1bW5hdGUoaW50IG1heGxlbmd0aCwgbG9uZyB0ZXJtd2lkdGgsIHdjaGFyX3QgKipsaXN0LCBpbnQgZW50cmllcyk7CitzdGF0aWMgdm9pZCByX2NvbHVtbmF0ZShpbnQgbWF4bGVuZ3RoLCBsb25nIHRlcm13aWR0aCwgd2NoYXJfdCAqKmxpc3QsIGludCBlbnRyaWVzKTsKK3N0YXRpYyB3Y2hhcl90ICpsb2NhbF93Y3N0b2sod2NoYXJfdCAqcCwgY29uc3Qgd2NoYXJfdCAqc2VwYXJhdG9yLCBpbnQgZ3JlZWR5LCB3Y2hhcl90ICoqd2NzdG9rX3N0YXRlKTsKK3N0YXRpYyB2b2lkIG1ha2V0Ymwod2NoYXJfdCAqKmxpc3QsIGludCBlbnRyaWVzLCB3Y2hhcl90ICpzZXBhcmF0b3IsIGludCBncmVlZHksIHdjaGFyX3QgKmNvbHNlcCk7CitzdGF0aWMgdm9pZCBwcmludCh3Y2hhcl90ICoqbGlzdCwgaW50IGVudHJpZXMpOworCit0eXBlZGVmIHN0cnVjdCBfdGJsIHsKKwl3Y2hhcl90ICoqbGlzdDsKKwlpbnQgY29scywgKmxlbjsKK30gVEJMOworCisKKyNpZmRlZiBIQVZFX1dJREVDSEFSCisvKiBEb24ndCB1c2Ugd2Nzd2lkdGgoKSwgd2UgbmVlZCB0byBpZ25vcmUgbm9uLXByaW50YWJsZSBjaGFycy4gKi8KK3N0YXRpYyBpbnQgd2lkdGgoY29uc3Qgd2NoYXJfdCAqc3RyKQoreworCWludCB4LCB3aWR0aCA9IDA7CisKKwlmb3IgKDsgKnN0ciAhPSAnXDAnOyBzdHIrKykgeworCQl4ID0gd2N3aWR0aCgqc3RyKTsKKwkJaWYgKHggPiAwKQorCQkJd2lkdGggKz0geDsKKwl9CisJcmV0dXJuIHdpZHRoOworfQorI2Vsc2UKK3N0YXRpYyBpbnQgd2lkdGgoY29uc3QgY2hhciAqc3RyKQoreworCWludCB3aWR0aCA9IDA7CisKKwlmb3IgKDsgKnN0ciAhPSAnXDAnOyBzdHIrKykgeworCQlpZiAoaXNwcmludCgqc3RyKSkKKwkJCXdpZHRoKys7CisJfQorCXJldHVybiB3aWR0aDsKK30KKyNlbmRpZgorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZShpbnQgcmMpCit7CisJRklMRSAqb3V0ID0gcmMgPT0gRVhJVF9GQUlMVVJFID8gc3RkZXJyIDogc3Rkb3V0OworCisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJXMgW29wdGlvbnNdIFs8ZmlsZT4uLi5dXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkNvbHVtbmF0ZSBsaXN0cy5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWMsIC0tY29sdW1ucyA8d2lkdGg+ICAgIHdpZHRoIG9mIG91dHB1dCBpbiBudW1iZXIgb2YgY2hhcmFjdGVyc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC10LCAtLXRhYmxlICAgICAgICAgICAgICBjcmVhdGUgYSB0YWJsZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiBwb3NzaWJsZSB0YWJsZSBkZWxpbWl0ZXJzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8c3RyaW5nPlxuIgorCSAgICAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucyBzZXBhcmF0b3IgZm9yIHRhYmxlIG91dHB1dDsgZGVmYXVsdCBpcyB0d28gc3BhY2VzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgIGZpbGwgcm93cyBiZWZvcmUgY29sdW1uc1xuIiksIG91dCk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKFVTQUdFX0hFTFAsIG91dCk7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoImNvbHVtbigxKSIpKTsKKworCWV4aXQocmMpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IGNoLCB0ZmxhZyA9IDAsIHhmbGFnID0gMDsKKwlpbnQgaTsKKwlpbnQgdGVybXdpZHRoID0gODA7CisJaW50IGVudHJpZXMgPSAwOwkJLyogbnVtYmVyIG9mIHJlY29yZHMgKi8KKwl1bnNpZ25lZCBpbnQgZXZhbCA9IDA7CQkvKiBleGl0IHZhbHVlICovCisJaW50IG1heGxlbmd0aCA9IDA7CQkvKiBsb25nZXN0IHJlY29yZCAqLworCXdjaGFyX3QgKipsaXN0ID0gTlVMTDsJCS8qIGFycmF5IG9mIHBvaW50ZXJzIHRvIHJlY29yZHMgKi8KKwlpbnQgZ3JlZWR5ID0gMTsKKwl3Y2hhcl90ICpjb2xzZXA7CQkvKiB0YWJsZSBjb2x1bW4gb3V0cHV0IHNlcGFyYXRvciAqLworCisJLyogZmllbGQgc2VwYXJhdG9yIGZvciB0YWJsZSBvcHRpb24gKi8KKwl3Y2hhcl90IGRlZmF1bHRfc2VwYXJhdG9yW10gPSB7ICdcdCcsICcgJywgMCB9OworCXdjaGFyX3QgKnNlcGFyYXRvciA9IGRlZmF1bHRfc2VwYXJhdG9yOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9CisJeworCQl7ICJoZWxwIiwJMCwgMCwgJ2gnIH0sCisJCXsgInZlcnNpb24iLCAgICAwLCAwLCAnVicgfSwKKwkJeyAiY29sdW1ucyIsCTEsIDAsICdjJyB9LAorCQl7ICJ0YWJsZSIsCTAsIDAsICd0JyB9LAorCQl7ICJzZXBhcmF0b3IiLAkxLCAwLCAncycgfSwKKwkJeyAib3V0cHV0LXNlcGFyYXRvciIsIDEsIDAsICdvJyB9LAorCQl7ICJmaWxscm93cyIsCTAsIDAsICd4JyB9LAorCQl7IE5VTEwsCQkwLCAwLCAwIH0sCisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwl0ZXJtd2lkdGggPSBnZXRfdGVybWluYWxfd2lkdGgoODApOworCWNvbHNlcCA9IG1ic190b193Y3MoIiAgIik7CisKKwl3aGlsZSAoKGNoID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImhWYzpzOnR4bzoiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKQorCQlzd2l0Y2goY2gpIHsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShFWElUX1NVQ0NFU1MpOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdjJzoKKwkJCXRlcm13aWR0aCA9IHN0cnRvdTMyX29yX2VycihvcHRhcmcsIF8oImludmFsaWQgY29sdW1ucyBhcmd1bWVudCIpKTsKKwkJCWJyZWFrOworCQljYXNlICdzJzoKKwkJCXNlcGFyYXRvciA9IG1ic190b193Y3Mob3B0YXJnKTsKKwkJCWdyZWVkeSA9IDA7CisJCQlicmVhazsKKwkJY2FzZSAnbyc6CisJCQlmcmVlKGNvbHNlcCk7CisJCQljb2xzZXAgPSBtYnNfdG9fd2NzKG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAndCc6CisJCQl0ZmxhZyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAneCc6CisJCQl4ZmxhZyA9IDE7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKEVYSVRfRkFJTFVSRSk7CisJfQorCWFyZ2MgLT0gb3B0aW5kOworCWFyZ3YgKz0gb3B0aW5kOworCisJaWYgKCEqYXJndikKKwkJZXZhbCArPSBpbnB1dChzdGRpbiwgJm1heGxlbmd0aCwgJmxpc3QsICZlbnRyaWVzKTsKKwllbHNlCisJCWZvciAoOyAqYXJndjsgKythcmd2KSB7CisJCQlGSUxFICpmcDsKKworCQkJaWYgKChmcCA9IGZvcGVuKCphcmd2LCAiciIpKSAhPSBOVUxMKSB7CisJCQkJZXZhbCArPSBpbnB1dChmcCwgJm1heGxlbmd0aCwgJmxpc3QsICZlbnRyaWVzKTsKKwkJCQlmY2xvc2UoZnApOworCQkJfSBlbHNlIHsKKwkJCQl3YXJuKCIlcyIsICphcmd2KTsKKwkJCQlldmFsICs9IEVYSVRfRkFJTFVSRTsKKwkJCX0KKwkJfQorCisJaWYgKCFlbnRyaWVzKQorCQlleGl0KGV2YWwpOworCisJaWYgKHRmbGFnKQorCQltYWtldGJsKGxpc3QsIGVudHJpZXMsIHNlcGFyYXRvciwgZ3JlZWR5LCBjb2xzZXApOworCWVsc2UgaWYgKG1heGxlbmd0aCA+PSB0ZXJtd2lkdGgpCisJCXByaW50KGxpc3QsIGVudHJpZXMpOworCWVsc2UgaWYgKHhmbGFnKQorCQljX2NvbHVtbmF0ZShtYXhsZW5ndGgsIHRlcm13aWR0aCwgbGlzdCwgZW50cmllcyk7CisJZWxzZQorCQlyX2NvbHVtbmF0ZShtYXhsZW5ndGgsIHRlcm13aWR0aCwgbGlzdCwgZW50cmllcyk7CisKKwlmb3IgKGkgPSAwOyBpIDwgZW50cmllczsgaSsrKQorCQlmcmVlKGxpc3RbaV0pOworCWZyZWUobGlzdCk7CisKKwlpZiAoZXZhbCA9PSAwKQorCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCWVsc2UKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKK30KKworc3RhdGljIHZvaWQgY19jb2x1bW5hdGUoaW50IG1heGxlbmd0aCwgbG9uZyB0ZXJtd2lkdGgsIHdjaGFyX3QgKipsaXN0LCBpbnQgZW50cmllcykKK3sKKwlpbnQgY2hjbnQsIGNvbCwgY250LCBlbmRjb2wsIG51bWNvbHM7CisJd2NoYXJfdCAqKmxwOworCisJbWF4bGVuZ3RoID0gKG1heGxlbmd0aCArIFRBQikgJiB+KFRBQiAtIDEpOworCW51bWNvbHMgPSB0ZXJtd2lkdGggLyBtYXhsZW5ndGg7CisJZW5kY29sID0gbWF4bGVuZ3RoOworCWZvciAoY2hjbnQgPSBjb2wgPSAwLCBscCA9IGxpc3Q7OyArK2xwKSB7CisJCWZwdXR3cygqbHAsIHN0ZG91dCk7CisJCWNoY250ICs9IHdpZHRoKCpscCk7CisJCWlmICghLS1lbnRyaWVzKQorCQkJYnJlYWs7CisJCWlmICgrK2NvbCA9PSBudW1jb2xzKSB7CisJCQljaGNudCA9IGNvbCA9IDA7CisJCQllbmRjb2wgPSBtYXhsZW5ndGg7CisJCQlwdXR3Y2hhcignXG4nKTsKKwkJfSBlbHNlIHsKKwkJCXdoaWxlICgoY250ID0gKChjaGNudCArIFRBQikgJiB+KFRBQiAtIDEpKSkgPD0gZW5kY29sKSB7CisJCQkJcHV0d2NoYXIoJ1x0Jyk7CisJCQkJY2hjbnQgPSBjbnQ7CisJCQl9CisJCQllbmRjb2wgKz0gbWF4bGVuZ3RoOworCQl9CisJfQorCWlmIChjaGNudCkKKwkJcHV0d2NoYXIoJ1xuJyk7Cit9CisKK3N0YXRpYyB2b2lkIHJfY29sdW1uYXRlKGludCBtYXhsZW5ndGgsIGxvbmcgdGVybXdpZHRoLCB3Y2hhcl90ICoqbGlzdCwgaW50IGVudHJpZXMpCit7CisJaW50IGJhc2UsIGNoY250LCBjbnQsIGNvbCwgZW5kY29sLCBudW1jb2xzLCBudW1yb3dzLCByb3c7CisKKwltYXhsZW5ndGggPSAobWF4bGVuZ3RoICsgVEFCKSAmIH4oVEFCIC0gMSk7CisJbnVtY29scyA9IHRlcm13aWR0aCAvIG1heGxlbmd0aDsKKwlpZiAoIW51bWNvbHMpCisJCW51bWNvbHMgPSAxOworCW51bXJvd3MgPSBlbnRyaWVzIC8gbnVtY29sczsKKwlpZiAoZW50cmllcyAlIG51bWNvbHMpCisJCSsrbnVtcm93czsKKworCWZvciAocm93ID0gMDsgcm93IDwgbnVtcm93czsgKytyb3cpIHsKKwkJZW5kY29sID0gbWF4bGVuZ3RoOworCQlmb3IgKGJhc2UgPSByb3csIGNoY250ID0gY29sID0gMDsgY29sIDwgbnVtY29sczsgKytjb2wpIHsKKwkJCWZwdXR3cyhsaXN0W2Jhc2VdLCBzdGRvdXQpOworCQkJY2hjbnQgKz0gd2lkdGgobGlzdFtiYXNlXSk7CisJCQlpZiAoKGJhc2UgKz0gbnVtcm93cykgPj0gZW50cmllcykKKwkJCQlicmVhazsKKwkJCXdoaWxlICgoY250ID0gKChjaGNudCArIFRBQikgJiB+KFRBQiAtIDEpKSkgPD0gZW5kY29sKSB7CisJCQkJcHV0d2NoYXIoJ1x0Jyk7CisJCQkJY2hjbnQgPSBjbnQ7CisJCQl9CisJCQllbmRjb2wgKz0gbWF4bGVuZ3RoOworCQl9CisJCXB1dHdjaGFyKCdcbicpOworCX0KK30KKworc3RhdGljIHZvaWQgcHJpbnQod2NoYXJfdCAqKmxpc3QsIGludCBlbnRyaWVzKQoreworCWludCBjbnQ7CisJd2NoYXJfdCAqKmxwOworCisJZm9yIChjbnQgPSBlbnRyaWVzLCBscCA9IGxpc3Q7IGNudC0tOyArK2xwKSB7CisJCWZwdXR3cygqbHAsIHN0ZG91dCk7CisJCXB1dHdjaGFyKCdcbicpOworCX0KK30KKword2NoYXJfdCAqbG9jYWxfd2NzdG9rKHdjaGFyX3QgKiBwLCBjb25zdCB3Y2hhcl90ICogc2VwYXJhdG9yLCBpbnQgZ3JlZWR5LAorCQkgICAgICB3Y2hhcl90ICoqIHdjc3Rva19zdGF0ZSkKK3sKKwl3Y2hhcl90ICpyZXN1bHQ7CisJaWYgKGdyZWVkeSkKKwkJcmV0dXJuIHdjc3RvayhwLCBzZXBhcmF0b3IsIHdjc3Rva19zdGF0ZSk7CisKKwlpZiAocCA9PSBOVUxMKSB7CisJCWlmICgqd2NzdG9rX3N0YXRlID09IE5VTEwpCisJCQlyZXR1cm4gTlVMTDsKKwkJZWxzZQorCQkJcCA9ICp3Y3N0b2tfc3RhdGU7CisJfQorCXJlc3VsdCA9IHA7CisJcCA9IHdjc3BicmsocmVzdWx0LCBzZXBhcmF0b3IpOworCWlmIChwID09IE5VTEwpCisJCSp3Y3N0b2tfc3RhdGUgPSBOVUxMOworCWVsc2UgeworCQkqcCA9ICdcMCc7CisJCSp3Y3N0b2tfc3RhdGUgPSBwICsgMTsKKwl9CisJcmV0dXJuIHJlc3VsdDsKK30KKworc3RhdGljIHZvaWQgbWFrZXRibCh3Y2hhcl90ICoqbGlzdCwgaW50IGVudHJpZXMsIHdjaGFyX3QgKnNlcGFyYXRvciwgaW50IGdyZWVkeSwgd2NoYXJfdCAqY29sc2VwKQoreworCVRCTCAqdDsKKwlpbnQgY250OworCXdjaGFyX3QgKnAsICoqbHA7CisJc3NpemVfdCAqbGVuczsKKwlzc2l6ZV90IG1heGNvbHMgPSBERUZDT0xTLCBjb2xvZmY7CisJVEJMICp0Ymw7CisJd2NoYXJfdCAqKmNvbHM7CisJd2NoYXJfdCAqd2NzdG9rX3N0YXRlID0gTlVMTDsKKworCXQgPSB0YmwgPSB4Y2FsbG9jKGVudHJpZXMsIHNpemVvZihUQkwpKTsKKwljb2xzID0geGNhbGxvYyhtYXhjb2xzLCBzaXplb2Yod2NoYXJfdCAqKSk7CisJbGVucyA9IHhjYWxsb2MobWF4Y29scywgc2l6ZW9mKHNzaXplX3QpKTsKKworCWZvciAobHAgPSBsaXN0LCBjbnQgPSAwOyBjbnQgPCBlbnRyaWVzOyArK2NudCwgKytscCwgKyt0KSB7CisJCWNvbG9mZiA9IDA7CisJCXAgPSAqbHA7CisJCXdoaWxlICgoY29sc1tjb2xvZmZdID0gbG9jYWxfd2NzdG9rKHAsIHNlcGFyYXRvciwgZ3JlZWR5LCAmd2NzdG9rX3N0YXRlKSkgIT0gTlVMTCkgeworCQkJaWYgKCsrY29sb2ZmID09IG1heGNvbHMpIHsKKwkJCQltYXhjb2xzICs9IERFRkNPTFM7CisJCQkJY29scyA9IHhyZWFsbG9jKGNvbHMsIG1heGNvbHMgKiBzaXplb2Yod2NoYXJfdCAqKSk7CisJCQkJbGVucyA9IHhyZWFsbG9jKGxlbnMsIG1heGNvbHMgKiBzaXplb2Yoc3NpemVfdCkpOworCQkJCS8qIHplcm8gZmlsbCBvbmx5IG5ldyBtZW1vcnkgKi8KKwkJCQltZW1zZXQobGVucyArIChtYXhjb2xzIC0gREVGQ09MUyksIDAsCisJCQkJICAgICAgIERFRkNPTFMgKiBzaXplb2YoKmxlbnMpKTsKKwkJCX0KKwkJCXAgPSBOVUxMOworCQl9CisJCXQtPmxpc3QgPSB4Y2FsbG9jKGNvbG9mZiwgc2l6ZW9mKHdjaGFyX3QgKikpOworCQl0LT5sZW4gPSB4Y2FsbG9jKGNvbG9mZiwgc2l6ZW9mKGludCkpOworCQlmb3IgKHQtPmNvbHMgPSBjb2xvZmY7IC0tY29sb2ZmID49IDA7KSB7CisJCQl0LT5saXN0W2NvbG9mZl0gPSBjb2xzW2NvbG9mZl07CisJCQl0LT5sZW5bY29sb2ZmXSA9IHdpZHRoKGNvbHNbY29sb2ZmXSk7CisJCQlpZiAodC0+bGVuW2NvbG9mZl0gPiBsZW5zW2NvbG9mZl0pCisJCQkJbGVuc1tjb2xvZmZdID0gdC0+bGVuW2NvbG9mZl07CisJCX0KKwl9CisKKwlmb3IgKHQgPSB0YmwsIGNudCA9IDA7IGNudCA8IGVudHJpZXM7ICsrY250LCArK3QpIHsKKwkJZm9yIChjb2xvZmYgPSAwOyBjb2xvZmYgPCB0LT5jb2xzIC0gMTsgKytjb2xvZmYpIHsKKwkJCWZwdXR3cyh0LT5saXN0W2NvbG9mZl0sIHN0ZG91dCk7CisjaWZkZWYgSEFWRV9XSURFQ0hBUgorCQkJd3ByaW50ZihMIiUqcyIsIGxlbnNbY29sb2ZmXSAtIHQtPmxlbltjb2xvZmZdLCAiIik7CisjZWxzZQorCQkJcHJpbnRmKCIlKnMiLCAoaW50KSBsZW5zW2NvbG9mZl0gLSB0LT5sZW5bY29sb2ZmXSwgIiIpOworI2VuZGlmCisJCQlmcHV0d3MoY29sc2VwLCBzdGRvdXQpOworCQl9CisJCWlmIChjb2xvZmYgPCB0LT5jb2xzKSB7CisJCQlmcHV0d3ModC0+bGlzdFtjb2xvZmZdLCBzdGRvdXQpOworCQkJcHV0d2NoYXIoJ1xuJyk7CisJCX0KKwl9CisKKwlmb3IgKGNudCA9IDA7IGNudCA8IGVudHJpZXM7ICsrY250KSB7CisJCWZyZWUoKHRibCtjbnQpLT5saXN0KTsKKwkJZnJlZSgodGJsK2NudCktPmxlbik7CisJfQorCWZyZWUoY29scyk7CisJZnJlZShsZW5zKTsKKwlmcmVlKHRibCk7Cit9CisKK3N0YXRpYyBpbnQgaW5wdXQoRklMRSAqZnAsIGludCAqbWF4bGVuZ3RoLCB3Y2hhcl90ICoqKmxpc3QsIGludCAqZW50cmllcykKK3sKKwlzdGF0aWMgaW50IG1heGVudHJ5ID0gREVGTlVNOworCWludCBsZW4sIGxpbmVubyA9IDEsIHJlcG9ydGVkbGluZSA9IDAsIGV2YWwgPSAwOworCXdjaGFyX3QgKnAsIGJ1ZltNQVhMSU5FTEVOXTsKKwl3Y2hhcl90ICoqbG9jYWxfbGlzdCA9ICpsaXN0OworCWludCBsb2NhbF9lbnRyaWVzID0gKmVudHJpZXM7CisKKwlpZiAoIWxvY2FsX2xpc3QpCisJCWxvY2FsX2xpc3QgPSB4Y2FsbG9jKG1heGVudHJ5LCBzaXplb2Yod2NoYXJfdCAqKSk7CisKKwl3aGlsZSAoMSkgeworCQlpZiAoZmdldHdzKGJ1ZiwgTUFYTElORUxFTiwgZnApID09IE5VTEwpIHsKKwkJCWlmIChmZW9mKGZwKSkKKwkJCQlicmVhazsKKwkJCWVsc2UKKwkJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJyZWFkIGZhaWxlZCIpKTsKKwkJfQorCQlmb3IgKHAgPSBidWY7ICpwICYmIGlzd3NwYWNlKCpwKTsgKytwKQorCQkJOworCQlpZiAoISpwKQorCQkJY29udGludWU7CisJCWlmICghKHAgPSB3Y3NjaHIocCwgJ1xuJykpICYmICFmZW9mKGZwKSkgeworCQkJaWYgKHJlcG9ydGVkbGluZSA8IGxpbmVubykgeworCQkJCXdhcm54KF8oImxpbmUgJWQgaXMgdG9vIGxvbmcsIG91dHB1dCB3aWxsIGJlIHRydW5jYXRlZCIpLAorCQkJCQlsaW5lbm8pOworCQkJCXJlcG9ydGVkbGluZSA9IGxpbmVubzsKKwkJCX0KKwkJCWV2YWwgPSAxOworCQkJY29udGludWU7CisJCX0KKwkJbGluZW5vKys7CisJCWlmICghZmVvZihmcCkgJiYgcCkKKwkJCSpwID0gJ1wwJzsKKwkJbGVuID0gd2lkdGgoYnVmKTsJLyogbGVuID0gcCAtIGJ1ZjsgKi8KKwkJaWYgKCptYXhsZW5ndGggPCBsZW4pCisJCQkqbWF4bGVuZ3RoID0gbGVuOworCQlpZiAobG9jYWxfZW50cmllcyA9PSBtYXhlbnRyeSkgeworCQkJbWF4ZW50cnkgKz0gREVGTlVNOworCQkJbG9jYWxfbGlzdCA9IHhyZWFsbG9jKGxvY2FsX2xpc3QsCisJCQkJKHVfaW50KW1heGVudHJ5ICogc2l6ZW9mKHdjaGFyX3QgKikpOworCQl9CisJCWxvY2FsX2xpc3RbbG9jYWxfZW50cmllcysrXSA9IHdjc2R1cChidWYpOworCX0KKworCSpsaXN0ID0gbG9jYWxfbGlzdDsKKwkqZW50cmllcyA9IGxvY2FsX2VudHJpZXM7CisKKwlyZXR1cm4gZXZhbDsKK30KKworI2lmZGVmIEhBVkVfV0lERUNIQVIKK3N0YXRpYyB3Y2hhcl90ICptYnNfdG9fd2NzKGNvbnN0IGNoYXIgKnMpCit7CisJc3NpemVfdCBuOworCXdjaGFyX3QgKndjczsKKworCW4gPSBtYnN0b3djcygod2NoYXJfdCAqKTAsIHMsIDApOworCWlmIChuIDwgMCkKKwkJcmV0dXJuIE5VTEw7CisJd2NzID0geG1hbGxvYygobiArIDEpICogc2l6ZW9mKHdjaGFyX3QpKTsKKwluID0gbWJzdG93Y3Mod2NzLCBzLCBuICsgMSk7CisJaWYgKG4gPCAwKSB7CisJCWZyZWUod2NzKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJldHVybiB3Y3M7Cit9CisjZW5kaWYKKworI2lmbmRlZiBIQVZFX1dJREVDSEFSCitzdGF0aWMgY2hhciAqbXRzYWZlX3N0cnRvayhjaGFyICpzdHIsIGNvbnN0IGNoYXIgKmRlbGltLCBjaGFyICoqcHRyKQoreworCWlmIChzdHIgPT0gTlVMTCkgeworCQlzdHIgPSAqcHRyOworCQlpZiAoc3RyID09IE5VTEwpCisJCQlyZXR1cm4gTlVMTDsKKwl9CisJc3RyICs9IHN0cnNwbihzdHIsIGRlbGltKTsKKwlpZiAoKnN0ciA9PSAnXDAnKSB7CisJCSpwdHIgPSBOVUxMOworCQlyZXR1cm4gTlVMTDsKKwl9IGVsc2UgeworCQljaGFyICp0b2tlbl9lbmQgPSBzdHJwYnJrKHN0ciwgZGVsaW0pOworCQlpZiAodG9rZW5fZW5kKSB7CisJCQkqdG9rZW5fZW5kID0gJ1wwJzsKKwkJCSpwdHIgPSB0b2tlbl9lbmQgKyAxOworCQl9IGVsc2UKKwkJCSpwdHIgPSBOVUxMOworCQlyZXR1cm4gc3RyOworCX0KK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvdGV4dC11dGlscy9oZXhkdW1wLWNvbnYuYyBiL3RleHQtdXRpbHMvaGV4ZHVtcC1jb252LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGM0ZjE1ZgotLS0gL2Rldi9udWxsCisrKyBiL3RleHQtdXRpbHMvaGV4ZHVtcC1jb252LmMKQEAgLTAsMCArMSwxMTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDE5ODkgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKKyAqICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKyAqCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKyAqCUNhbGlmb3JuaWEsIEJlcmtlbGV5IGFuZCBpdHMgY29udHJpYnV0b3JzLgorICogNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgImhleGR1bXAuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKwordm9pZAorY29udl9jKHN0cnVjdCBoZXhkdW1wX3ByICpwciwgdV9jaGFyICpwKQoreworCWNoYXIgKmJ1ZiA9IE5VTEw7CisJY2hhciBjb25zdCAqc3RyOworCisJc3dpdGNoKCpwKSB7CisJY2FzZSAnXDAnOgorCQlzdHIgPSAiXFwwIjsKKwkJZ290byBzdHJwcjsKKwkvKiBjYXNlICdcYSc6ICovCisJY2FzZSAnXDAwNyc6CisJCXN0ciA9ICJcXGEiOworCQlnb3RvIHN0cnByOworCWNhc2UgJ1xiJzoKKwkJc3RyID0gIlxcYiI7CisJCWdvdG8gc3RycHI7CisJY2FzZSAnXGYnOgorCQlzdHIgPSAiXFxmIjsKKwkJZ290byBzdHJwcjsKKwljYXNlICdcbic6CisJCXN0ciA9ICJcXG4iOworCQlnb3RvIHN0cnByOworCWNhc2UgJ1xyJzoKKwkJc3RyID0gIlxcciI7CisJCWdvdG8gc3RycHI7CisJY2FzZSAnXHQnOgorCQlzdHIgPSAiXFx0IjsKKwkJZ290byBzdHJwcjsKKwljYXNlICdcdic6CisJCXN0ciA9ICJcXHYiOworCQlnb3RvIHN0cnByOworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KKwlpZiAoaXNwcmludCgqcCkpIHsKKwkJKnByLT5jY2hhciA9ICdjJzsKKwkJcHJpbnRmKHByLT5mbXQsICpwKTsKKwl9IGVsc2UgeworCQl4YXNwcmludGYoJmJ1ZiwgIiUwM28iLCAqcCk7CisJCXN0ciA9IGJ1ZjsKK3N0cnByOgkJKnByLT5jY2hhciA9ICdzJzsKKwkJcHJpbnRmKHByLT5mbXQsIHN0cik7CisJfQorCWZyZWUoYnVmKTsKK30KKwordm9pZAorY29udl91KHN0cnVjdCBoZXhkdW1wX3ByICpwciwgdV9jaGFyICpwKQoreworCXN0YXRpYyBjb25zdCBjaGFyICpsaXN0W10gPSB7CisJCSJudWwiLCAic29oIiwgInN0eCIsICJldHgiLCAiZW90IiwgImVucSIsICJhY2siLCAiYmVsIiwKKwkJICJicyIsICAiaHQiLCAgImxmIiwgICJ2dCIsICAiZmYiLCAgImNyIiwgICJzbyIsICAic2kiLAorCQkiZGxlIiwgImRjbCIsICJkYzIiLCAiZGMzIiwgImRjNCIsICJuYWsiLCAic3luIiwgImV0YiIsCisJCSJjYW4iLCAgImVtIiwgInN1YiIsICJlc2MiLCAgImZzIiwgICJncyIsICAicnMiLCAgInVzIiwKKwl9OworCisJCQkJCQkvKiBvZCB1c2VkIG5sLCBub3QgbGYgKi8KKwlpZiAoKnAgPD0gMHgxZikgeworCQkqcHItPmNjaGFyID0gJ3MnOworCQlwcmludGYocHItPmZtdCwgbGlzdFsqcF0pOworCX0gZWxzZSBpZiAoKnAgPT0gMHg3ZikgeworCQkqcHItPmNjaGFyID0gJ3MnOworCQlwcmludGYocHItPmZtdCwgImRlbCIpOworCX0gZWxzZSBpZiAoaXNwcmludCgqcCkpIHsKKwkJKnByLT5jY2hhciA9ICdjJzsKKwkJcHJpbnRmKHByLT5mbXQsICpwKTsKKwl9IGVsc2UgeworCQkqcHItPmNjaGFyID0gJ3gnOworCQlwcmludGYocHItPmZtdCwgKnApOworCX0KK30KZGlmZiAtLWdpdCBhL3RleHQtdXRpbHMvaGV4ZHVtcC1kaXNwbGF5LmMgYi90ZXh0LXV0aWxzL2hleGR1bXAtZGlzcGxheS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlNzE0ZjYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXh0LXV0aWxzL2hleGR1bXAtZGlzcGxheS5jCkBAIC0wLDAgKzEsNDU1IEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTg5IFRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisgKiAgICBtdXN0IGRpc3BsYXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnZW1lbnQ6CisgKglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisgKglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKyAqIDQuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSAiaGV4ZHVtcC5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjb2xvcnMuaCIKKworc3RhdGljIHZvaWQgZG9za2lwKGNvbnN0IGNoYXIgKiwgaW50LCBzdHJ1Y3QgaGV4ZHVtcCAqKTsKK3N0YXRpYyB1X2NoYXIgKmdldChzdHJ1Y3QgaGV4ZHVtcCAqKTsKKworZW51bSBfdmZsYWcgdmZsYWcgPSBGSVJTVDsKKworc3RhdGljIG9mZl90IGFkZHJlc3M7CQkJLyogYWRkcmVzcy9vZmZzZXQgaW4gc3RyZWFtICovCitzdGF0aWMgb2ZmX3QgZWFkZHJlc3M7CQkJLyogZW5kIGFkZHJlc3MgKi8KKworc3RhdGljIGNvbnN0IGNoYXIgKmNvbG9yX2NvbmQoc3RydWN0IGhleGR1bXBfcHIgKnByLCB1bnNpZ25lZCBjaGFyICpicCwgaW50IGJjbnQpCit7CisJcmVnaXN0ZXIgc3RydWN0IGxpc3RfaGVhZCAqcDsKKwlyZWdpc3RlciBzdHJ1Y3QgaGV4ZHVtcF9jbHIgKmNscjsKKwlvZmZfdCBvZmZ0OworCWludCBtYXRjaDsKKworCWxpc3RfZm9yX2VhY2gocCwgcHItPmNvbG9ybGlzdCkgeworCQljbHIgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBoZXhkdW1wX2NsciwgY29sb3JsaXN0KTsKKwkJb2ZmdCA9IGNsci0+b2ZmdDsKKwkJbWF0Y2ggPSAwOworCisJCS8qIG5vIG9mZnNldCBvciBvZmZzZXQgb3V0c2lkZSB0aGlzIHByaW50IHVuaXQgKi8KKwkJaWYgKG9mZnQgPCAwKQorCQkJb2ZmdCA9IGFkZHJlc3M7CisJCWlmIChvZmZ0IDwgYWRkcmVzcyB8fCBvZmZ0ICsgY2xyLT5yYW5nZSA+IGFkZHJlc3MgKyBiY250KQorCQkJY29udGludWU7CisKKwkJLyogbWF0Y2ggYSBzdHJpbmcgKi8KKwkJaWYgKGNsci0+c3RyKSB7CisJCQlpZiAocHItPmZsYWdzID09IEZfQUREUkVTUykgeworCQkJCS8qIFRPRE8gKi8KKwkJCX0KKwkJCWVsc2UgaWYgKCFzdHJuY21wKGNsci0+c3RyLCAoY2hhciAqKWJwICsgb2ZmdAorCQkJCS0gYWRkcmVzcywgY2xyLT5yYW5nZSkpCisJCQkJbWF0Y2ggPSAxOworCQkvKiBtYXRjaCBhIHZhbHVlICovCisJCX0gZWxzZSBpZiAoY2xyLT52YWwgIT0gLTEpIHsKKwkJCWludCB2YWwgPSAwOworCQkJLyogYWRkcmVzc2VzIGFyZSBub3QgcGFydCBvZiB0aGUgaW5wdXQsIHNvIHdlIGNhbid0CisJCQkgKiBjb21wYXJlIHdpdGggdGhlIGNvbnRlbnRzIG9mIGJwICovCisJCQlpZiAocHItPmZsYWdzID09IEZfQUREUkVTUykgeworCQkJCWlmIChjbHItPnZhbCA9PSBhZGRyZXNzKQorCQkJCQltYXRjaCA9IDE7CisJCQl9IGVsc2UgeworCQkJCW1lbWNweSgmdmFsLCBicCArIG9mZnQgLSBhZGRyZXNzLCBjbHItPnJhbmdlKTsKKwkJCQlpZiAodmFsID09IGNsci0+dmFsKQorCQkJCQltYXRjaCA9IDE7CisJCQl9CisJCS8qIG5vIGNvbmRpdGlvbnMsIG9ubHkgYSBjb2xvciB3YXMgc3BlY2lmaWVkICovCisJCX0gZWxzZQorCQkJcmV0dXJuIGNsci0+Zm10OworCisJCS8qIHJldHVybiB0aGUgZm9ybWF0IHN0cmluZyBvciBjaGVjayBmb3IgYW5vdGhlciAqLworCQlpZiAobWF0Y2ggXiBjbHItPmludmVydCkKKwkJCXJldHVybiBjbHItPmZtdDsKKwkJY29udGludWU7CisJfQorCisJLyogbm8gbWF0Y2ggKi8KKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitwcmludChzdHJ1Y3QgaGV4ZHVtcF9wciAqcHIsIHVuc2lnbmVkIGNoYXIgKmJwKSB7CisKKwljb25zdCBjaGFyICpjb2xvciA9IE5VTEw7CisKKwlpZiAocHItPmNvbG9ybGlzdCAmJiAoY29sb3IgPSBjb2xvcl9jb25kKHByLCBicCwgcHItPmJjbnQpKSkKKwkJY29sb3JfZW5hYmxlKGNvbG9yKTsKKworCXN3aXRjaChwci0+ZmxhZ3MpIHsKKwljYXNlIEZfQUREUkVTUzoKKwkJcHJpbnRmKHByLT5mbXQsIGFkZHJlc3MpOworCQlicmVhazsKKwljYXNlIEZfQlBBRDoKKwkJcHJpbnRmKHByLT5mbXQsICIiKTsKKwkJYnJlYWs7CisJY2FzZSBGX0M6CisJCWNvbnZfYyhwciwgYnApOworCQlicmVhazsKKwljYXNlIEZfQ0hBUjoKKwkJcHJpbnRmKHByLT5mbXQsICpicCk7CisJCWJyZWFrOworCWNhc2UgRl9EQkw6CisJICAgIHsKKwkJZG91YmxlIGR2YWw7CisJCWZsb2F0IGZ2YWw7CisJCXN3aXRjaChwci0+YmNudCkgeworCQljYXNlIDQ6CisJCQltZW1tb3ZlKCZmdmFsLCBicCwgc2l6ZW9mKGZ2YWwpKTsKKwkJCXByaW50Zihwci0+Zm10LCBmdmFsKTsKKwkJCWJyZWFrOworCQljYXNlIDg6CisJCQltZW1tb3ZlKCZkdmFsLCBicCwgc2l6ZW9mKGR2YWwpKTsKKwkJCXByaW50Zihwci0+Zm10LCBkdmFsKTsKKwkJCWJyZWFrOworCQl9CisJCWJyZWFrOworCSAgICB9CisJY2FzZSBGX0lOVDoKKwkgICAgeworCQlzaG9ydCBzdmFsOwkvKiBpbnQxNl90ICovCisJCWludCBpdmFsOwkvKiBpbnQzMl90ICovCisJCWxvbmcgbG9uZyBMdmFsOwkvKiBpbnQ2NF90LCBpbnQ2NF90ICovCisKKwkJc3dpdGNoKHByLT5iY250KSB7CisJCWNhc2UgMToKKwkJCXByaW50Zihwci0+Zm10LCAodW5zaWduZWQgbG9uZyBsb25nKSAqYnApOworCQkJYnJlYWs7CisJCWNhc2UgMjoKKwkJCW1lbW1vdmUoJnN2YWwsIGJwLCBzaXplb2Yoc3ZhbCkpOworCQkJcHJpbnRmKHByLT5mbXQsICh1bnNpZ25lZCBsb25nIGxvbmcpIHN2YWwpOworCQkJYnJlYWs7CisJCWNhc2UgNDoKKwkJCW1lbW1vdmUoJml2YWwsIGJwLCBzaXplb2YoaXZhbCkpOworCQkJcHJpbnRmKHByLT5mbXQsICh1bnNpZ25lZCBsb25nIGxvbmcpIGl2YWwpOworCQkJYnJlYWs7CisJCWNhc2UgODoKKwkJCW1lbW1vdmUoJkx2YWwsIGJwLCBzaXplb2YoTHZhbCkpOworCQkJcHJpbnRmKHByLT5mbXQsIEx2YWwpOworCQkJYnJlYWs7CisJCX0KKwkJYnJlYWs7CisJICAgIH0KKwljYXNlIEZfUDoKKwkJcHJpbnRmKHByLT5mbXQsIGlzcHJpbnQoKmJwKSA/ICpicCA6ICcuJyk7CisJCWJyZWFrOworCWNhc2UgRl9TVFI6CisJCXByaW50Zihwci0+Zm10LCAoY2hhciAqKWJwKTsKKwkJYnJlYWs7CisJY2FzZSBGX1RFWFQ6CisJCXByaW50ZigiJXMiLCBwci0+Zm10KTsKKwkJYnJlYWs7CisJY2FzZSBGX1U6CisJCWNvbnZfdShwciwgYnApOworCQlicmVhazsKKwljYXNlIEZfVUlOVDoKKwkgICAgeworCQl1bnNpZ25lZCBzaG9ydCBzdmFsOwkvKiB1X2ludDE2X3QgKi8KKwkJdW5zaWduZWQgaW50IGl2YWw7CS8qIHVfaW50MzJfdCAqLworCQl1bnNpZ25lZCBsb25nIGxvbmcgTHZhbDsvKiB1X2ludDY0X3QsIHVfaW50NjRfdCAqLworCisJCXN3aXRjaChwci0+YmNudCkgeworCQljYXNlIDE6CisJCQlwcmludGYocHItPmZtdCwgKHVuc2lnbmVkIGxvbmcgbG9uZykgKmJwKTsKKwkJCWJyZWFrOworCQljYXNlIDI6CisJCQltZW1tb3ZlKCZzdmFsLCBicCwgc2l6ZW9mKHN2YWwpKTsKKwkJCXByaW50Zihwci0+Zm10LCAodW5zaWduZWQgbG9uZyBsb25nKSBzdmFsKTsKKwkJCWJyZWFrOworCQljYXNlIDQ6CisJCQltZW1tb3ZlKCZpdmFsLCBicCwgc2l6ZW9mKGl2YWwpKTsKKwkJCXByaW50Zihwci0+Zm10LCAodW5zaWduZWQgbG9uZyBsb25nKSBpdmFsKTsKKwkJCWJyZWFrOworCQljYXNlIDg6CisJCQltZW1tb3ZlKCZMdmFsLCBicCwgc2l6ZW9mKEx2YWwpKTsKKwkJCXByaW50Zihwci0+Zm10LCBMdmFsKTsKKwkJCWJyZWFrOworCQl9CisJCWJyZWFrOworCSAgICB9CisJfQorCWlmIChjb2xvcikgLyogZGlkIHdlIGNvbG9yaXplIHNvbWV0aGluZz8gKi8KKwkJY29sb3JfZGlzYWJsZSgpOworfQorCitzdGF0aWMgdm9pZCBicGFkKHN0cnVjdCBoZXhkdW1wX3ByICpwcikKK3sKKwlzdGF0aWMgY29uc3QgY2hhciAqc3BlYyA9ICIgLTArIyI7CisJY2hhciAqcDEsICpwMjsKKworCS8qCisJICogcmVtb3ZlIGFsbCBjb252ZXJzaW9uIGZsYWdzOyAnLScgaXMgdGhlIG9ubHkgb25lIHZhbGlkCisJICogd2l0aCAlcywgYW5kIGl0J3Mgbm90IHVzZWZ1bCBoZXJlLgorCSAqLworCXByLT5mbGFncyA9IEZfQlBBRDsKKwlwci0+Y2NoYXJbMF0gPSAncyc7CisJcHItPmNjaGFyWzFdID0gMDsKKworCXAxID0gcHItPmZtdDsKKwl3aGlsZSAoKnAxICE9ICclJykKKwkJKytwMTsKKworCXAyID0gKytwMTsKKwl3aGlsZSAoKnAxICYmIHN0cmNocihzcGVjLCAqcDEpKQorCQkrK3AxOworCisJd2hpbGUgKCgqcDIrKyA9ICpwMSsrKSkKKwkJOworfQorCit2b2lkIGRpc3BsYXkoc3RydWN0IGhleGR1bXAgKmhleCkKK3sKKwlyZWdpc3RlciBzdHJ1Y3QgbGlzdF9oZWFkICpmczsKKwlyZWdpc3RlciBzdHJ1Y3QgaGV4ZHVtcF9mcyAqZnNzOworCXJlZ2lzdGVyIHN0cnVjdCBoZXhkdW1wX2Z1ICpmdTsKKwlyZWdpc3RlciBzdHJ1Y3QgaGV4ZHVtcF9wciAqcHI7CisJcmVnaXN0ZXIgaW50IGNudDsKKwlyZWdpc3RlciB1bnNpZ25lZCBjaGFyICpicDsKKwlvZmZfdCBzYXZlYWRkcmVzczsKKwl1bnNpZ25lZCBjaGFyIHNhdmVjaCA9IDAsICpzYXZlYnA7CisJc3RydWN0IGxpc3RfaGVhZCAqcCwgKnEsICpyOworCisJd2hpbGUgKChicCA9IGdldChoZXgpKSAhPSBOVUxMKSB7CisJCWZzID0gJmhleC0+ZnNoZWFkOyBzYXZlYnAgPSBicDsgc2F2ZWFkZHJlc3MgPSBhZGRyZXNzOworCisJCWxpc3RfZm9yX2VhY2gocCwgZnMpIHsKKwkJCWZzcyA9IGxpc3RfZW50cnkocCwgc3RydWN0IGhleGR1bXBfZnMsIGZzbGlzdCk7CisKKwkJCWxpc3RfZm9yX2VhY2gocSwgJmZzcy0+ZnVsaXN0KSB7CisJCQkJZnUgPSBsaXN0X2VudHJ5KHEsIHN0cnVjdCBoZXhkdW1wX2Z1LCBmdWxpc3QpOworCisJCQkJaWYgKGZ1LT5mbGFncyZGX0lHTk9SRSkKKwkJCQkJYnJlYWs7CisKKwkJCQljbnQgPSBmdS0+cmVwczsKKworCQkJCXdoaWxlIChjbnQpIHsKKwkJCQkJbGlzdF9mb3JfZWFjaChyLCAmZnUtPnBybGlzdCkgeworCQkJCQkJcHIgPSBsaXN0X2VudHJ5KHIsIHN0cnVjdCBoZXhkdW1wX3ByLCBwcmxpc3QpOworCisJCQkJCQlpZiAoZWFkZHJlc3MgJiYgYWRkcmVzcyA+PSBlYWRkcmVzcworCQkJCQkJICAgICYmICEocHItPmZsYWdzJihGX1RFWFR8Rl9CUEFEKSkpCisJCQkJCQkJYnBhZChwcik7CisKKwkJCQkJCWlmIChjbnQgPT0gMSAmJiBwci0+bm9zcGFjZSkgeworCQkJCQkJCXNhdmVjaCA9ICpwci0+bm9zcGFjZTsKKwkJCQkJCQkqcHItPm5vc3BhY2UgPSAnXDAnOworCQkJCQkJCXByaW50KHByLCBicCk7CisJCQkJCQkJKnByLT5ub3NwYWNlID0gc2F2ZWNoOworCQkJCQkJfSBlbHNlCisJCQkJCQkJcHJpbnQocHIsIGJwKTsKKworCQkJCQkJYWRkcmVzcyArPSBwci0+YmNudDsKKwkJCQkJCWJwICs9IHByLT5iY250OworCQkJCQl9CisJCQkJCS0tY250OworCQkJCX0KKwkJCX0KKwkJCWJwID0gc2F2ZWJwOworCQkJYWRkcmVzcyA9IHNhdmVhZGRyZXNzOworCQl9CisJfQorCWlmIChlbmRmdSkgeworCQkvKgorCQkgKiBpZiBlYWRkcmVzcyBub3Qgc2V0LCBlcnJvciBvciBmaWxlIHNpemUgd2FzIG11bHRpcGxlIG9mCisJCSAqIGJsb2Nrc2l6ZSwgYW5kIG5vIHBhcnRpYWwgYmxvY2sgZXZlciBmb3VuZC4KKwkJICovCisJCWlmICghZWFkZHJlc3MpIHsKKwkJCWlmICghYWRkcmVzcykKKwkJCQlyZXR1cm47CisJCQllYWRkcmVzcyA9IGFkZHJlc3M7CisJCX0KKwkJbGlzdF9mb3JfZWFjaCAocCwgJmVuZGZ1LT5wcmxpc3QpIHsKKwkJCXByID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgaGV4ZHVtcF9wciwgcHJsaXN0KTsKKworCQkJY29uc3QgY2hhciAqY29sb3IgPSBOVUxMOworCQkJaWYgKGNvbG9yc193YW50ZWQoKSAmJiBwci0+Y29sb3JsaXN0CisJCQkgICAgJiYgKGNvbG9yID0gY29sb3JfY29uZChwciwgYnAsIHByLT5iY250KSkpIHsKKwkJCQljb2xvcl9lbmFibGUoY29sb3IpOworCQkJfQorCisJCQlzd2l0Y2gocHItPmZsYWdzKSB7CisJCQljYXNlIEZfQUREUkVTUzoKKwkJCQlwcmludGYocHItPmZtdCwgZWFkZHJlc3MpOworCQkJCWJyZWFrOworCQkJY2FzZSBGX1RFWFQ6CisJCQkJcHJpbnRmKCIlcyIsIHByLT5mbXQpOworCQkJCWJyZWFrOworCQkJfQorCQkJaWYgKGNvbG9yKSAvKiBkaWQgd2UgaGlnaGxpZ2h0IHNvbWV0aGluZz8gKi8KKwkJCQljb2xvcl9kaXNhYmxlKCk7CisJCX0KKwl9Cit9CisKK3N0YXRpYyBjaGFyICoqX2FyZ3Y7CisKK3N0YXRpYyB1X2NoYXIgKgorZ2V0KHN0cnVjdCBoZXhkdW1wICpoZXgpCit7CisJc3RhdGljIGludCBhdGVvZiA9IDE7CisJc3RhdGljIHVfY2hhciAqY3VycCwgKnNhdnA7CisJc3NpemVfdCBuLCBuZWVkLCBucmVhZDsKKwl1X2NoYXIgKnRtcHA7CisKKwlpZiAoIWN1cnApIHsKKwkJY3VycCA9IHhjYWxsb2MoMSwgaGV4LT5ibG9ja3NpemUpOworCQlzYXZwID0geGNhbGxvYygxLCBoZXgtPmJsb2Nrc2l6ZSk7CisJfSBlbHNlIHsKKwkJdG1wcCA9IGN1cnA7CisJCWN1cnAgPSBzYXZwOworCQlzYXZwID0gdG1wcDsKKwkJYWRkcmVzcyArPSBoZXgtPmJsb2Nrc2l6ZTsKKwl9CisJbmVlZCA9IGhleC0+YmxvY2tzaXplLCBucmVhZCA9IDA7CisJd2hpbGUgKFRSVUUpIHsKKwkJLyoKKwkJICogaWYgcmVhZCB0aGUgcmlnaHQgbnVtYmVyIG9mIGJ5dGVzLCBvciBhdCBFT0YgZm9yIG9uZSBmaWxlLAorCQkgKiBhbmQgbm8gb3RoZXIgZmlsZXMgYXJlIGF2YWlsYWJsZSwgemVyby1wYWQgdGhlIHJlc3Qgb2YgdGhlCisJCSAqIGJsb2NrIGFuZCBzZXQgdGhlIGVuZCBmbGFnLgorCQkgKi8KKwkJaWYgKCFoZXgtPmxlbmd0aCB8fCAoYXRlb2YgJiYgIW5leHQoTlVMTCwgaGV4KSkpIHsKKwkJCWlmIChuZWVkID09IGhleC0+YmxvY2tzaXplKQorCQkJCWdvdG8gcmV0bnVsOworCQkJaWYgKCFuZWVkICYmIHZmbGFnICE9IEFMTCAmJgorCQkJICAgICFtZW1jbXAoY3VycCwgc2F2cCwgbnJlYWQpKSB7CisJCQkJaWYgKHZmbGFnICE9IERVUCkKKwkJCQkJcHJpbnRmKCIqXG4iKTsKKwkJCQlnb3RvIHJldG51bDsKKwkJCX0KKwkJCWlmIChuZWVkID4gMCkKKwkJCQltZW1zZXQoKGNoYXIgKiljdXJwICsgbnJlYWQsIDAsIG5lZWQpOworCQkJZWFkZHJlc3MgPSBhZGRyZXNzICsgbnJlYWQ7CisJCQlyZXR1cm4oY3VycCk7CisJCX0KKwkJaWYgKGZpbGVubyhzdGRpbikgPT0gLTEpIHsKKwkJCXdhcm54KF8oImFsbCBpbnB1dCBmaWxlIGFyZ3VtZW50cyBmYWlsZWQiKSk7CisJCQlnb3RvIHJldG51bDsKKwkJfQorCQluID0gZnJlYWQoKGNoYXIgKiljdXJwICsgbnJlYWQsIHNpemVvZih1bnNpZ25lZCBjaGFyKSwKKwkJICAgIGhleC0+bGVuZ3RoID09IC0xID8gbmVlZCA6IG1pbihoZXgtPmxlbmd0aCwgbmVlZCksIHN0ZGluKTsKKwkJaWYgKCFuKSB7CisJCQlpZiAoZmVycm9yKHN0ZGluKSkKKwkJCQl3YXJuKCIlcyIsIF9hcmd2Wy0xXSk7CisJCQlhdGVvZiA9IDE7CisJCQljb250aW51ZTsKKwkJfQorCQlhdGVvZiA9IDA7CisJCWlmIChoZXgtPmxlbmd0aCAhPSAtMSkKKwkJCWhleC0+bGVuZ3RoIC09IG47CisJCWlmICghKG5lZWQgLT0gbikpIHsKKwkJCWlmICh2ZmxhZyA9PSBBTEwgfHwgdmZsYWcgPT0gRklSU1QgfHwKKwkJCSAgICBtZW1jbXAoY3VycCwgc2F2cCwgaGV4LT5ibG9ja3NpemUpKSB7CisJCQkJaWYgKHZmbGFnID09IERVUCB8fCB2ZmxhZyA9PSBGSVJTVCkKKwkJCQkJdmZsYWcgPSBXQUlUOworCQkJCXJldHVybihjdXJwKTsKKwkJCX0KKwkJCWlmICh2ZmxhZyA9PSBXQUlUKQorCQkJCXByaW50ZigiKlxuIik7CisJCQl2ZmxhZyA9IERVUDsKKwkJCWFkZHJlc3MgKz0gaGV4LT5ibG9ja3NpemU7CisJCQluZWVkID0gaGV4LT5ibG9ja3NpemU7CisJCQlucmVhZCA9IDA7CisJCX0KKwkJZWxzZQorCQkJbnJlYWQgKz0gbjsKKwl9CityZXRudWw6CisJZnJlZSAoY3VycCk7CisJZnJlZSAoc2F2cCk7CisJcmV0dXJuIE5VTEw7Cit9CisKK2ludCBuZXh0KGNoYXIgKiphcmd2LCBzdHJ1Y3QgaGV4ZHVtcCAqaGV4KQoreworCXN0YXRpYyBpbnQgZG9uZTsKKwlpbnQgc3RhdG9rOworCisJaWYgKGFyZ3YpIHsKKwkJX2FyZ3YgPSBhcmd2OworCQlyZXR1cm4oMSk7CisJfQorCXdoaWxlIChUUlVFKSB7CisJCWlmICgqX2FyZ3YpIHsKKwkJCWlmICghKGZyZW9wZW4oKl9hcmd2LCAiciIsIHN0ZGluKSkpIHsKKwkJCQl3YXJuKCIlcyIsICpfYXJndik7CisJCQkJaGV4LT5leGl0dmFsID0gRVhJVF9GQUlMVVJFOworCQkJCSsrX2FyZ3Y7CisJCQkJY29udGludWU7CisJCQl9CisJCQlzdGF0b2sgPSBkb25lID0gMTsKKwkJfSBlbHNlIHsKKwkJCWlmIChkb25lKyspCisJCQkJcmV0dXJuKDApOworCQkJc3RhdG9rID0gMDsKKwkJfQorCQlpZiAoaGV4LT5za2lwKQorCQkJZG9za2lwKHN0YXRvayA/ICpfYXJndiA6ICJzdGRpbiIsIHN0YXRvaywgaGV4KTsKKwkJaWYgKCpfYXJndikKKwkJCSsrX2FyZ3Y7CisJCWlmICghaGV4LT5za2lwKQorCQkJcmV0dXJuKDEpOworCX0KKwkvKiBOT1RSRUFDSEVEICovCit9CisKK3N0YXRpYyB2b2lkCitkb3NraXAoY29uc3QgY2hhciAqZm5hbWUsIGludCBzdGF0b2ssIHN0cnVjdCBoZXhkdW1wICpoZXgpCit7CisJc3RydWN0IHN0YXQgc2J1ZjsKKworCWlmIChzdGF0b2spIHsKKwkJaWYgKGZzdGF0KGZpbGVubyhzdGRpbiksICZzYnVmKSkKKwkJICAgICAgICBlcnIoRVhJVF9GQUlMVVJFLCAiJXMiLCBmbmFtZSk7CisJCWlmIChTX0lTUkVHKHNidWYuc3RfbW9kZSkgJiYgaGV4LT5za2lwID4gc2J1Zi5zdF9zaXplKSB7CisJCSAgLyogSWYgc2l6ZSB2YWxpZCBhbmQgc2tpcCA+PSBzaXplICovCisJCQloZXgtPnNraXAgLT0gc2J1Zi5zdF9zaXplOworCQkJYWRkcmVzcyArPSBzYnVmLnN0X3NpemU7CisJCQlyZXR1cm47CisJCX0KKwl9CisJLyogc2J1ZiBtYXkgYmUgdW5kZWZpbmVkIGhlcmUgLSBkbyBub3QgdGVzdCBpdCAqLworCWlmIChmc2VlayhzdGRpbiwgaGV4LT5za2lwLCBTRUVLX1NFVCkpCisJICAgICAgICBlcnIoRVhJVF9GQUlMVVJFLCAiJXMiLCBmbmFtZSk7CisJYWRkcmVzcyArPSBoZXgtPnNraXA7CisJaGV4LT5za2lwID0gMDsKK30KZGlmZiAtLWdpdCBhL3RleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jIGIvdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzYwYTRkMAotLS0gL2Rldi9udWxsCisrKyBiL3RleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jCkBAIC0wLDAgKzEsNjQ1IEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTg5IFRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisgKiAgICBtdXN0IGRpc3BsYXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnZW1lbnQ6CisgKglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisgKglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKyAqIDQuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworIC8qIDE5OTktMDItMjIgQXJrYWRpdXN6IE1pxZtraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4KKyAgKiAtIGFkZGVkIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0CisgICovCisKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvZmlsZS5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlICJoZXhkdW1wLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJjb2xvcnMuaCIKKworc3RhdGljIHZvaWQgZXNjYXBlKGNoYXIgKnAxKTsKK3N0YXRpYyBzdHJ1Y3QgbGlzdF9oZWFkICpjb2xvcl9mbXQoY2hhciAqY2ZtdCwgaW50IGJjbnQpOworCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgYmFkY250KGNvbnN0IGNoYXIgKnMpCit7CisgICAgICAgIGVycngoRVhJVF9GQUlMVVJFLCBfKCJiYWQgYnl0ZSBjb3VudCBmb3IgY29udmVyc2lvbiBjaGFyYWN0ZXIgJXMiKSwgcyk7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKSBiYWRzZm10KHZvaWQpCit7CisgICAgICAgIGVycngoRVhJVF9GQUlMVVJFLCBfKCIlJXMgcmVxdWlyZXMgYSBwcmVjaXNpb24gb3IgYSBieXRlIGNvdW50IikpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgYmFkZm10KGNvbnN0IGNoYXIgKmZtdCkKK3sKKyAgICAgICAgZXJyeChFWElUX0ZBSUxVUkUsIF8oImJhZCBmb3JtYXQgeyVzfSIpLCBmbXQpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgYmFkY29udihjb25zdCBjaGFyICpjaCkKK3sKKyAgICAgICAgZXJyeChFWElUX0ZBSUxVUkUsIF8oImJhZCBjb252ZXJzaW9uIGNoYXJhY3RlciAlJSVzIiksIGNoKTsKK30KKworI2RlZmluZSBmaXJzdF9sZXR0ZXIocyxmKSBzdHJjaHIoZiwgKihzKSkKKworc3RydWN0IGhleGR1bXBfZnUgKmVuZGZ1OwkJCQkJLyogZm9ybWF0IGF0IGVuZC1vZi1kYXRhICovCisKK3ZvaWQgYWRkZmlsZShjaGFyICpuYW1lLCBzdHJ1Y3QgaGV4ZHVtcCAqaGV4KQoreworCWNoYXIgKmZtdCwgKmJ1ZiA9IE5VTEw7CisJRklMRSAqZnA7CisJc2l6ZV90IG47CisKKwlpZiAoKGZwID0gZm9wZW4obmFtZSwgInIiKSkgPT0gTlVMTCkKKwkgICAgICAgIGVycihFWElUX0ZBSUxVUkUsIF8oImNhbid0IHJlYWQgJXMiKSwgbmFtZSk7CisKKwl3aGlsZSAoZ2V0bGluZSgmYnVmLCAmbiwgZnApICE9IC0xKSB7CisJCWZtdCA9IGJ1ZjsKKworCQl3aGlsZSAoKmZtdCAmJiBpc3NwYWNlKCpmbXQpKQorCQkJKytmbXQ7CisJCWlmICghKmZtdCB8fCAqZm10ID09ICcjJykKKwkJCWNvbnRpbnVlOworCisJCWFkZF9mbXQoZm10LCBoZXgpOworCX0KKworCWZyZWUoYnVmKTsKKwlmY2xvc2UoZnApOworfQorCit2b2lkIGFkZF9mbXQoY29uc3QgY2hhciAqZm10LCBzdHJ1Y3QgaGV4ZHVtcCAqaGV4KQoreworCWNvbnN0IGNoYXIgKnAsICpzYXZlcDsKKwlzdHJ1Y3QgaGV4ZHVtcF9mcyAqdGZzOworCXN0cnVjdCBoZXhkdW1wX2Z1ICp0ZnU7CisKKwkvKiBTdGFydCBuZXcgbGlua2VkIGxpc3Qgb2YgZm9ybWF0IHVuaXRzLiAqLworCXRmcyA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBoZXhkdW1wX2ZzKSk7CisJSU5JVF9MSVNUX0hFQUQoJnRmcy0+ZnNsaXN0KTsKKwlJTklUX0xJU1RfSEVBRCgmdGZzLT5mdWxpc3QpOworCWxpc3RfYWRkX3RhaWwoJnRmcy0+ZnNsaXN0LCAmaGV4LT5mc2hlYWQpOworCisJLyogVGFrZSB0aGUgZm9ybWF0IHN0cmluZyBhbmQgYnJlYWsgaXQgdXAgaW50byBmb3JtYXQgdW5pdHMuICovCisJcCA9IGZtdDsKKwl3aGlsZSAoVFJVRSkgeworCQkvKiBTa2lwIGxlYWRpbmcgd2hpdGUgc3BhY2UuICovCisJCWlmICghKihwID0gc2tpcF9zcGFjZShwKSkpCisJCQlicmVhazsKKworCQkvKiBBbGxvY2F0ZSBhIG5ldyBmb3JtYXQgdW5pdCBhbmQgbGluayBpdCBpbi4gKi8KKwkJdGZ1ID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGhleGR1bXBfZnUpKTsKKwkJdGZ1LT5yZXBzID0gMTsKKworCQlJTklUX0xJU1RfSEVBRCgmdGZ1LT5mdWxpc3QpOworCQlJTklUX0xJU1RfSEVBRCgmdGZ1LT5wcmxpc3QpOworCQlsaXN0X2FkZF90YWlsKCZ0ZnUtPmZ1bGlzdCwgJnRmcy0+ZnVsaXN0KTsKKworCQkvKiBJZiBsZWFkaW5nIGRpZ2l0LCByZXBldGl0aW9uIGNvdW50LiAqLworCQlpZiAoaXNkaWdpdCgqcCkpIHsKKwkJCXNhdmVwID0gcDsKKwkJCXdoaWxlIChpc2RpZ2l0KCpwKSAmJiArK3ApCisJCQkJOworCQkJaWYgKCFpc3NwYWNlKCpwKSAmJiAqcCAhPSAnLycpCisJCQkJYmFkZm10KGZtdCk7CisJCQkvKiBtYXkgb3ZlcndyaXRlIGVpdGhlciB3aGl0ZSBzcGFjZSBvciBzbGFzaCAqLworCQkJdGZ1LT5yZXBzID0gYXRvaShzYXZlcCk7CisJCQl0ZnUtPmZsYWdzID0gRl9TRVRSRVA7CisJCQkvKiBza2lwIHRyYWlsaW5nIHdoaXRlIHNwYWNlICovCisJCQlwID0gc2tpcF9zcGFjZSgrK3ApOworCQl9CisKKwkJLyogU2tpcCBzbGFzaCBhbmQgdHJhaWxpbmcgd2hpdGUgc3BhY2UuICovCisJCWlmICgqcCA9PSAnLycpCisJCQlwID0gc2tpcF9zcGFjZSgrK3ApOworCisJCS8qIGJ5dGUgY291bnQgKi8KKwkJaWYgKGlzZGlnaXQoKnApKSB7CisJCQlzYXZlcCA9IHA7CisJCQl3aGlsZSAoaXNkaWdpdCgqcCkgJiYgKytwKQorCQkJCTsKKwkJCWlmICghaXNzcGFjZSgqcCkpCisJCQkJYmFkZm10KGZtdCk7CisJCQl0ZnUtPmJjbnQgPSBhdG9pKHNhdmVwKTsKKwkJCS8qIHNraXAgdHJhaWxpbmcgd2hpdGUgc3BhY2UgKi8KKwkJCXAgPSBza2lwX3NwYWNlKCsrcCk7CisJCX0KKworCQkvKiBmb3JtYXQgKi8KKwkJaWYgKCpwICE9ICciJykKKwkJCWJhZGZtdChmbXQpOworCQlzYXZlcCA9ICsrcDsKKwkJd2hpbGUgKCpwICE9ICciJykgeworCQkJaWYgKCEqcCsrKQorCQkJCWJhZGZtdChmbXQpOworCQl9CisJCXRmdS0+Zm10ID0geG1hbGxvYyhwIC0gc2F2ZXAgKyAxKTsKKwkJeHN0cm5jcHkodGZ1LT5mbXQsIHNhdmVwLCBwIC0gc2F2ZXAgKyAxKTsKKwkJZXNjYXBlKHRmdS0+Zm10KTsKKwkJKytwOworCX0KK30KKworc3RhdGljIGNvbnN0IGNoYXIgKnNwZWMgPSAiLiMtKyAwMTIzNDU2Nzg5IjsKKworaW50IGJsb2NrX3NpemUoc3RydWN0IGhleGR1bXBfZnMgKmZzKQoreworCXN0cnVjdCBoZXhkdW1wX2Z1ICpmdTsKKwlpbnQgYmNudCwgcHJlYywgY3Vyc2l6ZSA9IDA7CisJY2hhciAqZm10OworCXN0cnVjdCBsaXN0X2hlYWQgKnA7CisKKwkvKiBmaWd1cmUgb3V0IHRoZSBkYXRhIGJsb2NrIHNpemUgbmVlZGVkIGZvciBlYWNoIGZvcm1hdCB1bml0ICovCisJbGlzdF9mb3JfZWFjaCAocCwgJmZzLT5mdWxpc3QpIHsKKwkJZnUgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBoZXhkdW1wX2Z1LCBmdWxpc3QpOworCQlpZiAoZnUtPmJjbnQpIHsKKwkJCWN1cnNpemUgKz0gZnUtPmJjbnQgKiBmdS0+cmVwczsKKwkJCWNvbnRpbnVlOworCQl9CisJCWJjbnQgPSBwcmVjID0gMDsKKwkJZm10ID0gZnUtPmZtdDsKKwkJd2hpbGUgKCpmbXQpIHsKKwkJCWlmICgqZm10ICE9ICclJykgeworCQkJCSsrZm10OworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJLyoKKwkJCSAqIHNraXAgYW55IHNwZWNpYWwgY2hhcnMgLS0gc2F2ZSBwcmVjaXNpb24gaW4KKwkJCSAqIGNhc2UgaXQncyBhICVzIGZvcm1hdC4KKwkJCSAqLworCQkJd2hpbGUgKHN0cmNocihzcGVjICsgMSwgKisrZm10KSkKKwkJCQk7CisJCQlpZiAoKmZtdCA9PSAnLicgJiYgaXNkaWdpdCgqKytmbXQpKSB7CisJCQkJcHJlYyA9IGF0b2koZm10KTsKKwkJCQl3aGlsZSAoaXNkaWdpdCgqKytmbXQpKQorCQkJCQk7CisJCQl9CisJCQlpZiAoZmlyc3RfbGV0dGVyKGZtdCwgImRpb3V4WCIpKQorCQkJCWJjbnQgKz0gNDsKKwkJCWVsc2UgaWYgKGZpcnN0X2xldHRlcihmbXQsICJlZmdFRyIpKQorCQkJCWJjbnQgKz0gODsKKwkJCWVsc2UgaWYgKCpmbXQgPT0gJ3MnKQorCQkJCWJjbnQgKz0gcHJlYzsKKwkJCWVsc2UgaWYgKCpmbXQgPT0gJ2MnIHx8ICgqZm10ID09ICdfJyAmJiBmaXJzdF9sZXR0ZXIoKytmbXQsICJjcHUiKSkpCisJCQkJKytiY250OworCQkJKytmbXQ7CisJCX0KKwkJY3Vyc2l6ZSArPSBiY250ICogZnUtPnJlcHM7CisJfQorCXJldHVybihjdXJzaXplKTsKK30KKwordm9pZCByZXdyaXRlX3J1bGVzKHN0cnVjdCBoZXhkdW1wX2ZzICpmcywgc3RydWN0IGhleGR1bXAgKmhleCkKK3sKKwllbnVtIHsgTk9UT0tBWSwgVVNFQkNOVCwgVVNFUFJFQyB9IHNva2F5OworCXN0cnVjdCBoZXhkdW1wX3ByICpwcjsKKwlzdHJ1Y3QgaGV4ZHVtcF9mdSAqZnU7CisJc3RydWN0IGxpc3RfaGVhZCAqcCwgKnE7CisJY2hhciAqcDEsICpwMiwgKmZtdHA7CisJY2hhciBzYXZlY2gsIGNzWzRdOworCWludCBuY29udiwgcHJlYyA9IDA7CisKKwlsaXN0X2Zvcl9lYWNoIChwLCAmZnMtPmZ1bGlzdCkgeworCQlmdSA9IGxpc3RfZW50cnkocCwgc3RydWN0IGhleGR1bXBfZnUsIGZ1bGlzdCk7CisJCS8qCisJCSAqIEJyZWFrIGVhY2ggZm9ybWF0IHVuaXQgaW50byBwcmludCB1bml0czsgZWFjaAorCQkgKiBjb252ZXJzaW9uIGNoYXJhY3RlciBnZXRzIGl0cyBvd24uCisJCSAqLworCQluY29udiA9IDA7CisJCWZtdHAgPSBmdS0+Zm10OworCQl3aGlsZSAoKmZtdHApIHsKKwkJCXByID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGhleGR1bXBfcHIpKTsKKwkJCUlOSVRfTElTVF9IRUFEKCZwci0+cHJsaXN0KTsKKwkJCWxpc3RfYWRkX3RhaWwoJnByLT5wcmxpc3QsICZmdS0+cHJsaXN0KTsKKworCQkJLyogU2tpcCBwcmVjZWRpbmcgdGV4dCBhbmQgdXAgdG8gdGhlIG5leHQgJSBzaWduLiAqLworCQkJcDEgPSBmbXRwOworCQkJd2hpbGUgKCpwMSAmJiAqcDEgIT0gJyUnKQorCQkJCSsrcDE7CisKKwkJCS8qIE9ubHkgdGV4dCBpbiB0aGUgc3RyaW5nLiAqLworCQkJaWYgKCEqcDEpIHsKKwkJCQlwci0+Zm10ID0geHN0cmR1cChmbXRwKTsKKwkJCQlwci0+ZmxhZ3MgPSBGX1RFWFQ7CisJCQkJYnJlYWs7CisJCQl9CisKKwkJCS8qCisJCQkgKiBHZXQgcHJlY2lzaW9uIGZvciAlcyAtLSBpZiBoYXZlIGEgYnl0ZSBjb3VudCwgZG9uJ3QKKwkJCSAqIG5lZWQgaXQuCisJCQkgKi8KKwkJCWlmIChmdS0+YmNudCkgeworCQkJCXNva2F5ID0gVVNFQkNOVDsKKwkJCQkvKiBza2lwIHRvIGNvbnZlcnNpb24gY2hhcmFjdGVyICovCisJCQkJd2hpbGUgKCsrcDEgJiYgc3RyY2hyKHNwZWMsICpwMSkpCisJCQkJCTsKKwkJCX0gZWxzZSB7CisJCQkJLyogc2tpcCBhbnkgc3BlY2lhbCBjaGFycywgZmllbGQgd2lkdGggKi8KKwkJCQl3aGlsZSAoc3RyY2hyKHNwZWMgKyAxLCAqKytwMSkpCisJCQkJCTsKKwkJCQlpZiAoKnAxID09ICcuJyAmJiBpc2RpZ2l0KCorK3AxKSkgeworCQkJCQlzb2theSA9IFVTRVBSRUM7CisJCQkJCXByZWMgPSBhdG9pKHAxKTsKKwkJCQkJd2hpbGUgKGlzZGlnaXQoKisrcDEpKQorCQkJCQkJOworCQkJCX0gZWxzZQorCQkJCQlzb2theSA9IE5PVE9LQVk7CisJCQl9CisKKwkJCXAyID0gcDEgKyAxOwkJLyogU2V0IGVuZCBwb2ludGVyLiAqLworCQkJY3NbMF0gPSAqcDE7CQkvKiBTZXQgY29udmVyc2lvbiBzdHJpbmcuICovCisJCQljc1sxXSA9IDA7CisKKwkJCS8qCisJCQkgKiBGaWd1cmUgb3V0IHRoZSBieXRlIGNvdW50IGZvciBlYWNoIGNvbnZlcnNpb247CisJCQkgKiByZXdyaXRlIHRoZSBmb3JtYXQgYXMgbmVjZXNzYXJ5LCBzZXQgdXAgYmxhbmstCisJCQkgKiBwYWRkaW5nIGZvciBlbmQgb2YgZGF0YS4KKwkJCSAqLworCQkJaWYgKCpjcyA9PSAnYycpIHsKKwkJCQlwci0+ZmxhZ3MgPSBGX0NIQVI7CisJCQkJc3dpdGNoKGZ1LT5iY250KSB7CisJCQkJCWNhc2UgMDoKKwkJCQkJY2FzZSAxOgorCQkJCQkJcHItPmJjbnQgPSAxOworCQkJCQkJYnJlYWs7CisJCQkJCWRlZmF1bHQ6CisJCQkJCQlwMVsxXSA9ICdcMCc7CisJCQkJCQliYWRjbnQocDEpOworCQkJCX0KKwkJCX0gZWxzZSBpZiAoZmlyc3RfbGV0dGVyKGNzLCAiZGkiKSkgeworCQkJCXByLT5mbGFncyA9IEZfSU5UOworCQkJCWdvdG8gaXNpbnQ7CisJCQl9IGVsc2UgaWYgKGZpcnN0X2xldHRlcihjcywgIm91eFgiKSkgeworCQkJCXByLT5mbGFncyA9IEZfVUlOVDsKK2lzaW50OgkJCQljc1szXSA9ICdcMCc7CisJCQkJY3NbMl0gPSBjc1swXTsKKwkJCQljc1sxXSA9ICdsJzsKKwkJCQljc1swXSA9ICdsJzsKKwkJCQlzd2l0Y2goZnUtPmJjbnQpIHsKKwkJCQkJY2FzZSAwOgorCQkJCQkJcHItPmJjbnQgPSA0OworCQkJCQkJYnJlYWs7CisJCQkJCWNhc2UgMToKKwkJCQkJY2FzZSAyOgorCQkJCQljYXNlIDQ6CisJCQkJCWNhc2UgODoKKwkJCQkJCXByLT5iY250ID0gZnUtPmJjbnQ7CisJCQkJCQlicmVhazsKKwkJCQkJZGVmYXVsdDoKKwkJCQkJCXAxWzFdID0gJ1wwJzsKKwkJCQkJCWJhZGNudChwMSk7CisJCQkJfQorCQkJfSBlbHNlIGlmIChmaXJzdF9sZXR0ZXIoY3MsICJlZmdFRyIpKSB7CisJCQkJcHItPmZsYWdzID0gRl9EQkw7CisJCQkJc3dpdGNoKGZ1LT5iY250KSB7CisJCQkJCWNhc2UgMDoKKwkJCQkJCXByLT5iY250ID0gODsKKwkJCQkJCWJyZWFrOworCQkJCQljYXNlIDQ6CisJCQkJCWNhc2UgODoKKwkJCQkJCXByLT5iY250ID0gZnUtPmJjbnQ7CisJCQkJCQlicmVhazsKKwkJCQkJZGVmYXVsdDoKKwkJCQkJCXAxWzFdID0gJ1wwJzsKKwkJCQkJCWJhZGNudChwMSk7CisJCQkJfQorCQkJfSBlbHNlIGlmKCpjcyA9PSAncycpIHsKKwkJCQlwci0+ZmxhZ3MgPSBGX1NUUjsKKwkJCQlzd2l0Y2goc29rYXkpIHsKKwkJCQkJY2FzZSBOT1RPS0FZOgorCQkJCQkJYmFkc2ZtdCgpOworCQkJCQljYXNlIFVTRUJDTlQ6CisJCQkJCQlwci0+YmNudCA9IGZ1LT5iY250OworCQkJCQkJYnJlYWs7CisJCQkJCWNhc2UgVVNFUFJFQzoKKwkJCQkJCXByLT5iY250ID0gcHJlYzsKKwkJCQkJCWJyZWFrOworCQkJCX0KKwkJCX0gZWxzZSBpZiAoKmNzID09ICdfJykgeworCQkJCSsrcDI7CisJCQkJc3dpdGNoKHAxWzFdKSB7CisJCQkJCWNhc2UgJ0EnOgorCQkJCQkJZW5kZnUgPSBmdTsKKwkJCQkJCWZ1LT5mbGFncyB8PSBGX0lHTk9SRTsKKwkJCQkJCS8qIEZBTExUSFJPVUdIICovCisJCQkJCWNhc2UgJ2EnOgorCQkJCQkJcHItPmZsYWdzID0gRl9BRERSRVNTOworCQkJCQkJKytwMjsKKwkJCQkJCWlmIChmaXJzdF9sZXR0ZXIocDEgKyAyLCAiZG94IikpIHsKKwkJCQkJCQljc1swXSA9ICdsJzsKKwkJCQkJCQljc1sxXSA9ICdsJzsKKwkJCQkJCQljc1syXSA9IHAxWzJdOworCQkJCQkJCWNzWzNdID0gJ1wwJzsKKwkJCQkJCX0gZWxzZSB7CisJCQkJCQkJcDFbM10gPSAnXDAnOworCQkJCQkJCWJhZGNvbnYocDEpOworCQkJCQkJfQorCQkJCQkJYnJlYWs7CisJCQkJCWNhc2UgJ2MnOgorCQkJCQkJcHItPmZsYWdzID0gRl9DOworCQkJCQkJLyogY3NbMF0gPSAnYyc7CXNldCBpbiBjb252X2MgKi8KKwkJCQkJCWdvdG8gaXNpbnQyOworCQkJCQljYXNlICdwJzoKKwkJCQkJCXByLT5mbGFncyA9IEZfUDsKKwkJCQkJCWNzWzBdID0gJ2MnOworCQkJCQkJZ290byBpc2ludDI7CisJCQkJCWNhc2UgJ3UnOgorCQkJCQkJcHItPmZsYWdzID0gRl9VOworCQkJCQkJLyogY3NbMF0gPSAnYyc7CXNldCBpbiBjb252X3UgKi8KKwlpc2ludDI6CQkJCQlzd2l0Y2goZnUtPmJjbnQpIHsKKwkJCQkJCQljYXNlIDA6CisJCQkJCQkJY2FzZSAxOgorCQkJCQkJCQlwci0+YmNudCA9IDE7CisJCQkJCQkJCWJyZWFrOworCQkJCQkJCWRlZmF1bHQ6CisJCQkJCQkJCXAxWzJdID0gJ1wwJzsKKwkJCQkJCQkJYmFkY250KHAxKTsKKwkJCQkJCX0KKwkJCQkJCWJyZWFrOworCQkJCQlkZWZhdWx0OgorCQkJCQkJcDFbMl0gPSAnXDAnOworCQkJCQkJYmFkY29udihwMSk7CisJCQkJfQorCQkJfSBlbHNlIHsKKwkJCQlwMVsxXSA9ICdcMCc7CisJCQkJYmFkY29udihwMSk7CisJCQl9CisKKwkJCS8qIENvbG9yIHVuaXQocykgc3BlY2lmaWVkICovCisJCQlpZiAoKnAyID09ICdfJyAmJiBwMlsxXSA9PSAnTCcpIHsKKwkJCQlpZiAoY29sb3JzX3dhbnRlZCgpKSB7CisJCQkJCWNoYXIgKmE7CisKKwkJCQkJLyogImN1dCBvdXQiIHRoZSBjb2xvcl91bml0KHMpICovCisJCQkJCWEgPSBzdHJjaHIocDIsICdbJyk7CisJCQkJCXAyID0gc3RycmNocihwMiwgJ10nKTsKKwkJCQkJaWYgKGErKyAmJiBwMikKKwkJCQkJCXByLT5jb2xvcmxpc3QgPSBjb2xvcl9mbXQoeHN0cm5kdXAoYSwgcDIrKyAtIGEpLCBwci0+YmNudCk7CisJCQkJCWVsc2UKKwkJCQkJCWJhZGNvbnYocDIpOworCQkJCX0KKwkJCQkvKiB3ZSBkb24ndCB3YW50IGNvbG9ycywgcXVpZXRseSBza2lwIG92ZXIgdGhlbSAqLworCQkJCWVsc2UgeworCQkJCQlwMiA9IHN0cnJjaHIocDIsICddJyk7CisJCQkJCS8qIGJlIGEgYml0IGxvdWRlciBpZiB3ZSBkb24ndCBrbm93IGhvdyB0byBza2lwIG92ZXIgdGhlbSAqLworCQkJCQlpZiAoIXAyKQorCQkJCQkJYmFkY29udigiX0wiKTsKKwkJCQkJKytwMjsKKwkJCQl9CisJCQl9CisJCQkvKgorCQkJICogQ29weSB0byBoZXhkdW1wX3ByIGZvcm1hdCBzdHJpbmcsIHNldCBjb252ZXJzaW9uIGNoYXJhY3RlcgorCQkJICogcG9pbnRlciwgdXBkYXRlIG9yaWdpbmFsLgorCQkJICovCisJCQlzYXZlY2ggPSAqcDI7CisJCQlwMVswXSA9ICdcMCc7CisJCQlwci0+Zm10ID0geG1hbGxvYyhzdHJsZW4oZm10cCkgKyBzdHJsZW4oY3MpICsgMSk7CisJCQlzdHJjcHkocHItPmZtdCwgZm10cCk7CisJCQlzdHJjYXQocHItPmZtdCwgY3MpOworCQkJKnAyID0gc2F2ZWNoOworCQkJcHItPmNjaGFyID0gcHItPmZtdCArIChwMSAtIGZtdHApOworCQkJZm10cCA9IHAyOworCisJCQkvKiBPbmx5IG9uZSBjb252ZXJzaW9uIGNoYXJhY3RlciBpZiBieXRlIGNvdW50ICovCisJCQlpZiAoIShwci0+ZmxhZ3MmRl9BRERSRVNTKSAmJiBmdS0+YmNudCAmJiBuY29udisrKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJCSAgICBfKCJieXRlIGNvdW50IHdpdGggbXVsdGlwbGUgY29udmVyc2lvbiBjaGFyYWN0ZXJzIikpOworCQl9CisJCS8qCisJCSAqIElmIGZvcm1hdCB1bml0IGJ5dGUgY291bnQgbm90IHNwZWNpZmllZCwgZmlndXJlIGl0IG91dAorCQkgKiBzbyBjYW4gYWRqdXN0IHJlcCBjb3VudCBsYXRlci4KKwkJICovCisJCWlmICghZnUtPmJjbnQpCisJCQlsaXN0X2Zvcl9lYWNoKHEsICZmdS0+cHJsaXN0KQorCQkJCWZ1LT5iY250CisJCQkJICArPSAobGlzdF9lbnRyeShxLCBzdHJ1Y3QgaGV4ZHVtcF9wciwgcHJsaXN0KSktPmJjbnQ7CisJfQorCS8qCisJICogSWYgdGhlIGZvcm1hdCBzdHJpbmcgaW50ZXJwcmV0cyBhbnkgZGF0YSBhdCBhbGwsIGFuZCBpdCdzCisJICogbm90IHRoZSBzYW1lIGFzIHRoZSBibG9ja3NpemUsIGFuZCBpdHMgbGFzdCBmb3JtYXQgdW5pdAorCSAqIGludGVycHJldHMgYW55IGRhdGEgYXQgYWxsLCBhbmQgaGFzIG5vIGl0ZXJhdGlvbiBjb3VudCwKKwkgKiByZXBlYXQgaXQgYXMgbmVjZXNzYXJ5LgorCSAqCisJICogSWYgcmVwIGNvdW50IGlzIGdyZWF0ZXIgdGhhbiAxLCBubyB0cmFpbGluZyB3aGl0ZXNwYWNlCisJICogZ2V0cyBvdXRwdXQgZnJvbSB0aGUgbGFzdCBpdGVyYXRpb24gb2YgdGhlIGZvcm1hdCB1bml0LgorCSAqLworCWxpc3RfZm9yX2VhY2ggKHAsICZmcy0+ZnVsaXN0KSB7CisJCWZ1ID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgaGV4ZHVtcF9mdSwgZnVsaXN0KTsKKworCQlpZiAobGlzdF9lbnRyeV9pc19sYXN0KCZmdS0+ZnVsaXN0LCAmZnMtPmZ1bGlzdCkgJiYKKwkJCWZzLT5iY250IDwgaGV4LT5ibG9ja3NpemUgJiYKKwkJCSEoZnUtPmZsYWdzJkZfU0VUUkVQKSAmJiBmdS0+YmNudCkKKwkJCQlmdS0+cmVwcyArPSAoaGV4LT5ibG9ja3NpemUgLSBmcy0+YmNudCkgLyBmdS0+YmNudDsKKwkJaWYgKGZ1LT5yZXBzID4gMSAmJiAhbGlzdF9lbXB0eSgmZnUtPnBybGlzdCkpIHsKKwkJCXByID0gbGlzdF9sYXN0X2VudHJ5KCZmdS0+cHJsaXN0LCBzdHJ1Y3QgaGV4ZHVtcF9wciwgcHJsaXN0KTsKKwkJCWZvciAocDEgPSBwci0+Zm10LCBwMiA9IE5VTEw7ICpwMTsgKytwMSkKKwkJCQlwMiA9IGlzc3BhY2UoKnAxKSA/IHAxIDogTlVMTDsKKwkJCWlmIChwMikKKwkJCQlwci0+bm9zcGFjZSA9IHAyOworCQl9CisJfQorfQorCisvKiBbIV1jb2xvcls6c3RyaW5nfDpoZXhfbnVtYmVyfDpvY3RfbnVtYmVyXVtAb2ZmdHxAb2ZmdF9zdGFydC1vZmZ0X2VuZF0sLi4uICovCitzdGF0aWMgc3RydWN0IGxpc3RfaGVhZCAqY29sb3JfZm10KGNoYXIgKmNmbXQsIGludCBiY250KQoreworCXN0cnVjdCBoZXhkdW1wX2NsciAqaGMsICpoY25leHQ7CisJc3RydWN0IGxpc3RfaGVhZCAqcmV0X2hlYWQ7CisJY2hhciAqY2xyLCAqZm10OworCisJcmV0X2hlYWQgPSB4bWFsbG9jKHNpemVvZihzdHJ1Y3QgbGlzdF9oZWFkKSk7CisJaGNuZXh0ID0gaGMgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgaGV4ZHVtcF9jbHIpKTsKKworCUlOSVRfTElTVF9IRUFEKCZoYy0+Y29sb3JsaXN0KTsKKwlJTklUX0xJU1RfSEVBRChyZXRfaGVhZCk7CisJbGlzdF9hZGRfdGFpbCgmaGMtPmNvbG9ybGlzdCwgcmV0X2hlYWQpOworCisJZm10ID0gY2ZtdDsKKwl3aGlsZSAoY2ZtdCAmJiAqY2ZtdCkgeworCQljaGFyICplbmQ7CisJCS8qIGludmVydCB0aGlzIGNvbmRpdGlvbiAqLworCQlpZiAoKmNmbXQgPT0gJyEnKSB7CisJCQloY25leHQtPmludmVydCA9IDE7CisJCQkrK2NmbXQ7CisJCX0KKworCQljbHIgPSB4c3RybmR1cChjZm10LCBzdHJjc3BuKGNmbXQsICI6QCwiKSk7CisJCWNmbXQgKz0gc3RybGVuKGNscik7CisJCWhjbmV4dC0+Zm10ID0gY29sb3Jfc2VxdWVuY2VfZnJvbV9jb2xvcm5hbWUoY2xyKTsKKwkJZnJlZShjbHIpOworCisJCWlmICghaGNuZXh0LT5mbXQpCisJCQlyZXR1cm4gTlVMTDsKKworCQkvKiBvbmx5IGNvbG9yaXplIHRoaXMgc3BlY2lmaWMgdmFsdWUgKi8KKwkJaWYgKCpjZm10ID09ICc6JykgeworCQkJKytjZm10OworCQkJLyogYSBoZXggb3Igb2N0IHZhbHVlICovCisJCQlpZiAoKmNmbXQgPT0gJzAnKSB7CisJCQkJLyogaGV4ICovCisJCQkJZXJybm8gPSAwOworCQkJCWVuZCA9IE5VTEw7CisJCQkJaWYgKGNmbXRbMV0gPT0gJ3gnIHx8IGNmbXRbMV0gPT0gJ1gnKQorCQkJCQloY25leHQtPnZhbCA9IHN0cnRvdWwoY2ZtdCArIDIsICZlbmQsIDE2KTsKKwkJCQllbHNlCisJCQkJCWhjbmV4dC0+dmFsID0gc3RydG91bChjZm10LCAmZW5kLCA4KTsKKwkJCQlpZiAoZXJybm8gfHwgZW5kID09IGNmbXQpCisJCQkJCWJhZGZtdChmbXQpOworCQkJCWNmbXQgPSBlbmQ7CisJCQkvKiBhIHN0cmluZyAqLworCQkJfSBlbHNlIHsKKwkJCQlvZmZfdCBmbXRfZW5kOworCQkJCWNoYXIgZW5kY2hhcjsKKwkJCQljaGFyICplbmRzdHI7CisKKwkJCQloY25leHQtPnZhbCA9IC0xOworCQkJCS8qIHRlbXBvcmFyaWx5IG51bGwtZGVsaW1pdCB0aGUgZm9ybWF0LCBzbyB3ZSBjYW4gcmV2ZXJzZS1zZWFyY2gKKwkJCQkgKiBmb3IgdGhlIHN0YXJ0IG9mIGFuIG9mZnNldCBzcGVjaWZpZXIgKi8KKwkJCQlmbXRfZW5kID0gc3RyY3NwbihjZm10LCAiLCIpOworCQkJCWVuZGNoYXIgPSBjZm10W2ZtdF9lbmRdOworCQkJCWNmbXRbZm10X2VuZF0gPSAnXDAnOworCQkJCWVuZHN0ciA9IHN0cnJjaHIoY2ZtdCwgJ0AnKTsKKworCQkJCWlmIChlbmRzdHIpIHsKKwkJCQkJaWYgKGVuZHN0clsxXSAhPSAnXDAnKQorCQkJCQkJLS1lbmRzdHI7CisJCQkJCWhjbmV4dC0+c3RyID0geHN0cm5kdXAoY2ZtdCwgZW5kc3RyIC0gY2ZtdCArIDEpOworCQkJCX0gZWxzZQorCQkJCQloY25leHQtPnN0ciA9IHhzdHJuZHVwKGNmbXQsIGZtdF9lbmQpOworCisJCQkJLyogcmVzdG9yZSB0aGUgY2hhcmFjdGVyICovCisJCQkJY2ZtdFtmbXRfZW5kXSA9IGVuZGNoYXI7CisJCQkJY2ZtdCArPSBzdHJsZW4oaGNuZXh0LT5zdHIpOworCQkJfQorCisJCS8qIG5vIHNwZWNpZmljIHZhbHVlICovCisJCX0gZWxzZQorCQkJaGNuZXh0LT52YWwgPSAtMTsKKworCQkvKiBvbmx5IGNvbG9yaXplIGF0IHRoaXMgb2Zmc2V0ICovCisJCWhjbmV4dC0+cmFuZ2UgPSBiY250OworCQlpZiAoY2ZtdCAmJiAqY2ZtdCA9PSAnQCcpIHsKKwkJCWVycm5vID0gMDsKKwkJCWhjbmV4dC0+b2ZmdCA9IHN0cnRvdWwoKytjZm10LCAmY2ZtdCwgMTApOworCQkJaWYgKGVycm5vKQorCQkJCWJhZGZtdChmbXQpOworCisJCQkvKiBvZmZzZXQgcmFuZ2UgKi8KKwkJCWlmICgqY2ZtdCA9PSAnLScpIHsKKwkJCQkrK2NmbXQ7CisJCQkJZXJybm8gPSAwOworCisJCQkJaGNuZXh0LT5yYW5nZSA9CisJCQkJICBzdHJ0b3VsKGNmbXQsICZjZm10LCAxMCkgLSBoY25leHQtPm9mZnQgKyAxOworCQkJCWlmIChlcnJubykKKwkJCQkJYmFkZm10KGZtdCk7CisJCQkJLyogb2Zmc2V0IHJhbmdlIG11c3QgYmUgYmV0d2VlbiAwIGFuZCBmb3JtYXQgYnl0ZSBjb3VudCAqLworCQkJCWlmIChoY25leHQtPnJhbmdlIDwgMCkKKwkJCQkJYmFkY250KCJfTCIpOworCQkJCS8qIHRoZSBvZmZzZXQgZXh0ZW5kcyBvdmVyIHNldmVyYWwgcHJpbnQgdW5pdHMsIGNsb25lCisJCQkJICogdGhlIGNvbmRpdGlvbiwgbGluayBpdCBpbiBhbmQgYWRqdXN0IHRoZSBhZGRyZXNzL29mZnNldCAqLworCQkJCXdoaWxlIChoY25leHQtPnJhbmdlID4gYmNudCkgeworCQkJCQloYyA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBoZXhkdW1wX2NscikpOworCQkJCQltZW1jcHkoaGMsIGhjbmV4dCwgc2l6ZW9mKHN0cnVjdCBoZXhkdW1wX2NscikpOworCisJCQkJCWhjLT5yYW5nZSA9IGJjbnQ7CisKKwkJCQkJSU5JVF9MSVNUX0hFQUQoJmhjLT5jb2xvcmxpc3QpOworCQkJCQlsaXN0X2FkZF90YWlsKCZoYy0+Y29sb3JsaXN0LCByZXRfaGVhZCk7CisKKwkJCQkJaGNuZXh0LT5vZmZ0ICs9IGJjbnQ7CisJCQkJCWhjbmV4dC0+cmFuZ2UgLT0gYmNudDsKKwkJCQl9CisJCQl9CisJCS8qIG5vIHNwZWNpZmljIG9mZnNldCAqLworCQl9IGVsc2UKKwkJCWhjbmV4dC0+b2ZmdCA9IChvZmZfdCktMTsKKworCQkvKiBjaGVjayBpZiB0aGUgc3RyaW5nIHdlJ3JlIGxvb2tpbmcgZm9yIGlzIHRoZSBzYW1lIGxlbmd0aCBhcyB0aGUgcmFuZ2UgKi8KKwkJaWYgKGhjbmV4dC0+c3RyICYmIChpbnQpc3RybGVuKGhjbmV4dC0+c3RyKSAhPSBoY25leHQtPnJhbmdlKQorCQkJYmFkY250KCJfTCIpOworCisJCS8qIGxpbmsgaW4gYW5vdGhlciBjb25kaXRpb24gKi8KKwkJaWYgKGNmbXQgJiYgKmNmbXQgPT0gJywnKSB7CisJCQkrK2NmbXQ7CisKKwkJCWhjbmV4dCA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBoZXhkdW1wX2NscikpOworCQkJSU5JVF9MSVNUX0hFQUQoJmhjbmV4dC0+Y29sb3JsaXN0KTsKKwkJCWxpc3RfYWRkX3RhaWwoJmhjbmV4dC0+Y29sb3JsaXN0LCByZXRfaGVhZCk7CisJCX0KKwl9CisJcmV0dXJuIHJldF9oZWFkOworfQorCitzdGF0aWMgdm9pZCBlc2NhcGUoY2hhciAqcDEpCit7CisJY2hhciAqcDI7CisKKwkvKiBhbHBoYWJldGljIGVzY2FwZSBzZXF1ZW5jZXMgaGF2ZSB0byBiZSBkb25lIGluIHBsYWNlICovCisJcDIgPSBwMTsKKwl3aGlsZSAoVFJVRSkgeworCQlpZiAoISpwMSkgeworCQkJKnAyID0gKnAxOworCQkJYnJlYWs7CisJCX0KKwkJaWYgKCpwMSA9PSAnXFwnKQorCQkJc3dpdGNoKCorK3AxKSB7CisJCQljYXNlICdhJzoKKwkJCSAgICAgLyogKnAyID0gJ1xhJzsgKi8KKwkJCQkqcDIgPSAnXDAwNyc7CisJCQkJYnJlYWs7CisJCQljYXNlICdiJzoKKwkJCQkqcDIgPSAnXGInOworCQkJCWJyZWFrOworCQkJY2FzZSAnZic6CisJCQkJKnAyID0gJ1xmJzsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ24nOgorCQkJCSpwMiA9ICdcbic7CisJCQkJYnJlYWs7CisJCQljYXNlICdyJzoKKwkJCQkqcDIgPSAnXHInOworCQkJCWJyZWFrOworCQkJY2FzZSAndCc6CisJCQkJKnAyID0gJ1x0JzsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ3YnOgorCQkJCSpwMiA9ICdcdic7CisJCQkJYnJlYWs7CisJCQlkZWZhdWx0OgorCQkJCSpwMiA9ICpwMTsKKwkJCQlicmVhazsKKwkJCX0KKwkJKytwMTsgKytwMjsKKwl9Cit9CmRpZmYgLS1naXQgYS90ZXh0LXV0aWxzL2hleGR1bXAuMSBiL3RleHQtdXRpbHMvaGV4ZHVtcC4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1YTE3ZWEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXh0LXV0aWxzL2hleGR1bXAuMQpAQCAtMCwwICsxLDM3OSBAQAorLlwiIENvcHlyaWdodCAoYykgMTk4OSwgMTk5MCwgMTk5MworLlwiCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorLlwiCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorLlwiICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKy5cIglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisuXCIJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisuXCIgNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKy5cIiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKy5cIiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy5cIgorLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisuXCIgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisuXCIgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKy5cIiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy5cIiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorLlwiIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisuXCIgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisuXCIgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKy5cIiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisuXCIgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorLlwiIFNVQ0ggREFNQUdFLgorLlwiCisuXCIJQCgjKWhleGR1bXAuMQk4LjIgKEJlcmtlbGV5KSA0LzE4Lzk0CisuXCIKKy5USCBIRVhEVU1QICIxIiAiQXByaWwgMjAxMyIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK2hleGR1bXAgXC0gZGlzcGxheSBmaWxlIGNvbnRlbnRzIGluIGhleGFkZWNpbWFsLCBkZWNpbWFsLCBvY3RhbCwgb3IgYXNjaWkKKy5TSCBTWU5PUFNJUworLkIgaGV4ZHVtcAorLlJJIFtvcHRpb25zXSAiIGZpbGUiIC4uLgorLlNIIERFU0NSSVBUSU9OCitUaGUKKy5CIGhleGR1bXAKK3V0aWxpdHkgaXMgYSBmaWx0ZXIgd2hpY2ggZGlzcGxheXMgdGhlIHNwZWNpZmllZCBmaWxlcywgb3IKK3N0YW5kYXJkIGlucHV0IGlmIG5vIGZpbGVzIGFyZSBzcGVjaWZpZWQsIGluIGEgdXNlci1zcGVjaWZpZWQKK2Zvcm1hdC4KKy5TSCBPUFRJT05TCitCZWxvdywgdGhlIFxmSWxlbmd0aFxmUiBhbmQgXGZJb2Zmc2V0XGZSIGFyZ3VtZW50cyBtYXkgYmUgZm9sbG93ZWQgYnkgdGhlIG11bHRpcGxpY2F0aXZlCitzdWZmaXhlcyBLaUIgKD0xMDI0KSwgTWlCICg9MTAyNCoxMDI0KSwgYW5kIHNvIG9uIGZvciBHaUIsIFRpQiwgUGlCLCBFaUIsIFppQiBhbmQgWWlCCisodGhlICJpQiIgaXMgb3B0aW9uYWwsIGUuZy4gIksiIGhhcyB0aGUgc2FtZSBtZWFuaW5nIGFzICJLaUIiKSwgb3IgdGhlIHN1ZmZpeGVzCitLQiAoPTEwMDApLCBNQiAoPTEwMDAqMTAwMCksIGFuZCBzbyBvbiBmb3IgR0IsIFRCLCBQQiwgRUIsIFpCIGFuZCBZQi4KKy5UUAorXGZCXC1iXGZSLCBcZkJcLVwtb25lXC1ieXRlXC1vY3RhbFxmUgorXGZJT25lLWJ5dGUgb2N0YWwgZGlzcGxheVxmUi4gIERpc3BsYXkgdGhlIGlucHV0IG9mZnNldCBpbiBoZXhhZGVjaW1hbCwKK2ZvbGxvd2VkIGJ5IHNpeHRlZW4gc3BhY2Utc2VwYXJhdGVkLCB0aHJlZS1jb2x1bW4sIHplcm8tZmlsbGVkIGJ5dGVzIG9mIGlucHV0CitkYXRhLCBpbiBvY3RhbCwgcGVyIGxpbmUuCisuVFAKK1xmQlwtY1xmUiwgXGZCXC1cLW9uZVwtYnl0ZVwtY2hhclxmUgorXGZJT25lLWJ5dGUgY2hhcmFjdGVyIGRpc3BsYXlcZlIuICBEaXNwbGF5IHRoZSBpbnB1dCBvZmZzZXQgaW4gaGV4YWRlY2ltYWwsCitmb2xsb3dlZCBieSBzaXh0ZWVuIHNwYWNlLXNlcGFyYXRlZCwgdGhyZWUtY29sdW1uLCBzcGFjZS1maWxsZWQgY2hhcmFjdGVycyBvZgoraW5wdXQgZGF0YSBwZXIgbGluZS4KKy5UUAorXGZCXC1DXGZSLCBcZkJcLVwtY2Fub25pY2FsXGZSCitcZklDYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcZlIuICBEaXNwbGF5IHRoZSBpbnB1dCBvZmZzZXQgaW4gaGV4YWRlY2ltYWwsCitmb2xsb3dlZCBieSBzaXh0ZWVuIHNwYWNlLXNlcGFyYXRlZCwgdHdvLWNvbHVtbiwgaGV4YWRlY2ltYWwgYnl0ZXMsIGZvbGxvd2VkCitieSB0aGUgc2FtZSBzaXh0ZWVuIGJ5dGVzIGluCisuQiAlX3AKK2Zvcm1hdCBlbmNsb3NlZCBpbgorLlJCICcgfCAnCitjaGFyYWN0ZXJzLgorLlRQCitcZkJcLWRcZlIsIFxmQlwtXC10d29cLWJ5dGVzXC1kZWNpbWFsXGZSCitcZklUd28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcZlIuICBEaXNwbGF5IHRoZSBpbnB1dCBvZmZzZXQgaW4gaGV4YWRlY2ltYWwsCitmb2xsb3dlZCBieSBlaWdodCBzcGFjZS1zZXBhcmF0ZWQsIGZpdmUtY29sdW1uLCB6ZXJvLWZpbGxlZCwgdHdvLWJ5dGUgdW5pdHMKK29mIGlucHV0IGRhdGEsIGluIHVuc2lnbmVkIGRlY2ltYWwsIHBlciBsaW5lLgorLlRQCitcZkJcLWVcZlIsIFxmQlwtXC1mb3JtYXRcZlIgXGZJZm9ybWF0X3N0cmluZ1xmUgorU3BlY2lmeSBhIGZvcm1hdCBzdHJpbmcgdG8gYmUgdXNlZCBmb3IgZGlzcGxheWluZyBkYXRhLgorLlRQCitcZkJcLWZcZlIsIFxmQlwtXC1mb3JtYXRcLWZpbGVcZlIgXGZJZmlsZVxmUgorU3BlY2lmeSBhIGZpbGUgdGhhdCBjb250YWlucyBvbmUgb3IgbW9yZSBuZXdsaW5lLXNlcGFyYXRlZCBmb3JtYXQgc3RyaW5ncy4KK0VtcHR5IGxpbmVzIGFuZCBsaW5lcyB3aG9zZSBmaXJzdCBub24tYmxhbmsgY2hhcmFjdGVyIGlzIGEgaGFzaCBtYXJrIChcJiMpCithcmUgaWdub3JlZC4KKy5UUAorXGZCXC1MXGZSLCBcZkJcLVwtY29sb3JcZlJbPVxmSXdoZW5cZlJdCitBY2NlcHQgY29sb3IgdW5pdHMgZm9yIHRoZSBvdXRwdXQuICBUaGUgb3B0aW9uYWwgYXJndW1lbnQgXGZJd2hlblxmUAorY2FuIGJlIFxmQmF1dG9cZlIsIFxmQm5ldmVyXGZSIG9yIFxmQmFsd2F5c1xmUi4gIElmIHRoZSBcZkl3aGVuXGZSIGFyZ3VtZW50IGlzIG9taXR0ZWQsCitpdCBkZWZhdWx0cyB0byBcZkJhdXRvXGZSLiAgVGhlIGNvbG9ycyBjYW4gYmUgZGlzYWJsZWQ7IGZvciB0aGUgY3VycmVudCBidWlsdC1pbiBkZWZhdWx0CitzZWUgdGhlIFxmQlwtXC1oZWxwXGZSIG91dHB1dC4gIFNlZSBhbHNvIHRoZSBcZkJDb2xvcnNcZlIgc3Vic2VjdGlvbiBhbmQKK3RoZSBcZkJDT0xPUlNcZlIgc2VjdGlvbiBiZWxvdy4KKy5UUAorXGZCXC1uXGZSLCBcZkJcLVwtbGVuZ3RoXGZSIFxmSWxlbmd0aFxmUgorSW50ZXJwcmV0IG9ubHkKKy5JIGxlbmd0aAorYnl0ZXMgb2YgaW5wdXQuCisuVFAKK1xmQlwtb1xmUiwgXGZCXC1cLXR3b1wtYnl0ZXNcLW9jdGFsXGZSCitcZklUd28tYnl0ZSBvY3RhbCBkaXNwbGF5XGZSLiAgRGlzcGxheSB0aGUgaW5wdXQgb2Zmc2V0IGluIGhleGFkZWNpbWFsLAorZm9sbG93ZWQgYnkgZWlnaHQgc3BhY2Utc2VwYXJhdGVkLCBzaXgtY29sdW1uLCB6ZXJvLWZpbGxlZCwgdHdvLWJ5dGUKK3F1YW50aXRpZXMgb2YgaW5wdXQgZGF0YSwgaW4gb2N0YWwsIHBlciBsaW5lLgorLlRQCitcZkJcLXNcZlIsIFxmQlwtXC1za2lwXGZSIFxmSW9mZnNldFxmUgorU2tpcAorLkkgb2Zmc2V0CitieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGlucHV0LgorLlRQCitcZkJcLXZcZlIsIFxmQlwtXC1ub1wtc3F1ZWV6aW5nXGZSCitUaGUKKy5CIFwtdgorb3B0aW9uIGNhdXNlcworLkIgaGV4ZHVtcAordG8gZGlzcGxheSBhbGwgaW5wdXQgZGF0YS4gIFdpdGhvdXQgdGhlCisuQiBcLXYKK29wdGlvbiwgYW55IG51bWJlciBvZiBncm91cHMgb2Ygb3V0cHV0IGxpbmVzIHdoaWNoIHdvdWxkIGJlIGlkZW50aWNhbCB0byB0aGUKK2ltbWVkaWF0ZWx5IHByZWNlZGluZyBncm91cCBvZiBvdXRwdXQgbGluZXMgKGV4Y2VwdCBmb3IgdGhlIGlucHV0IG9mZnNldHMpLAorYXJlIHJlcGxhY2VkIHdpdGggYSBsaW5lIGNvbXByaXNlZCBvZiBhIHNpbmdsZSBhc3Rlcmlzay4KKy5UUAorXGZCXC14XGZSLCBcZkJcLVwtdHdvXC1ieXRlc1wtaGV4XGZSCitcZklUd28tYnl0ZSBoZXhhZGVjaW1hbCBkaXNwbGF5XGZSLiAgRGlzcGxheSB0aGUgaW5wdXQgb2Zmc2V0IGluIGhleGFkZWNpbWFsLAorZm9sbG93ZWQgYnkgZWlnaHQgc3BhY2Utc2VwYXJhdGVkLCBmb3VyLWNvbHVtbiwgemVyby1maWxsZWQsIHR3by1ieXRlCitxdWFudGl0aWVzIG9mIGlucHV0IGRhdGEsIGluIGhleGFkZWNpbWFsLCBwZXIgbGluZS4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuUFAKK0ZvciBlYWNoIGlucHV0IGZpbGUsCisuQiBoZXhkdW1wCitzZXF1ZW50aWFsbHkgY29waWVzIHRoZSBpbnB1dCB0byBzdGFuZGFyZCBvdXRwdXQsIHRyYW5zZm9ybWluZyB0aGUgZGF0YQorYWNjb3JkaW5nIHRvIHRoZSBmb3JtYXQgc3RyaW5ncyBzcGVjaWZpZWQgYnkgdGhlCisuQiBcLWUKK2FuZAorLkIgXC1mCitvcHRpb25zLCBpbiB0aGUgb3JkZXIgdGhhdCB0aGV5IHdlcmUgc3BlY2lmaWVkLgorLlNIIEZPUk1BVFMKK0EgZm9ybWF0IHN0cmluZyBjb250YWlucyBhbnkgbnVtYmVyIG9mIGZvcm1hdCB1bml0cywgc2VwYXJhdGVkIGJ5IHdoaXRlc3BhY2UuCitBIGZvcm1hdCB1bml0IGNvbnRhaW5zIHVwIHRvIHRocmVlIGl0ZW1zOiBhbiBpdGVyYXRpb24gY291bnQsIGEgYnl0ZSBjb3VudCwKK2FuZCBhIGZvcm1hdC4KKy5QUAorVGhlIGl0ZXJhdGlvbiBjb3VudCBpcyBhbiBvcHRpb25hbCBwb3NpdGl2ZSBpbnRlZ2VyLCB3aGljaCBkZWZhdWx0cyB0byBvbmUuCitFYWNoIGZvcm1hdCBpcyBhcHBsaWVkIGl0ZXJhdGlvbiBjb3VudCB0aW1lcy4KKy5QUAorVGhlIGJ5dGUgY291bnQgaXMgYW4gb3B0aW9uYWwgcG9zaXRpdmUgaW50ZWdlci4gIElmIHNwZWNpZmllZCBpdCBkZWZpbmVzIHRoZQorbnVtYmVyIG9mIGJ5dGVzIHRvIGJlIGludGVycHJldGVkIGJ5IGVhY2ggaXRlcmF0aW9uIG9mIHRoZSBmb3JtYXQuCisuUFAKK0lmIGFuIGl0ZXJhdGlvbiBjb3VudCBhbmQvb3IgYSBieXRlIGNvdW50IGlzIHNwZWNpZmllZCwgYSBzaW5nbGUgc2xhc2ggbXVzdAorYmUgcGxhY2VkIGFmdGVyIHRoZSBpdGVyYXRpb24gY291bnQgYW5kL29yIGJlZm9yZSB0aGUgYnl0ZSBjb3VudCB0bworZGlzYW1iaWd1YXRlIHRoZW0uICBBbnkgd2hpdGVzcGFjZSBiZWZvcmUgb3IgYWZ0ZXIgdGhlIHNsYXNoIGlzIGlnbm9yZWQuCisuUFAKK1RoZSBmb3JtYXQgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgc3Vycm91bmRlZCBieSBkb3VibGUgcXVvdGUgKCIgIikgbWFya3MuCitJdCBpcyBpbnRlcnByZXRlZCBhcyBhIGZwcmludGYtc3R5bGUgZm9ybWF0IHN0cmluZyAoc2VlCisuQlIgZnByaW50ZiAoMyksCit3aXRoIHRoZSBmb2xsb3dpbmcgZXhjZXB0aW9uczoKKy5UUAorMS4KK0FuIGFzdGVyaXNrICgqKSBtYXkgbm90IGJlIHVzZWQgYXMgYSBmaWVsZCB3aWR0aCBvciBwcmVjaXNpb24uCisuVFAKKzIuCitBIGJ5dGUgY291bnQgb3IgZmllbGQgcHJlY2lzaW9uCisuSSBpcworcmVxdWlyZWQgZm9yIGVhY2gKKy5CIHMKK2NvbnZlcnNpb24gY2hhcmFjdGVyICh1bmxpa2UgdGhlCisuQlIgZnByaW50ZiAoMykKK2RlZmF1bHQgd2hpY2ggcHJpbnRzIHRoZSBlbnRpcmUgc3RyaW5nIGlmIHRoZSBwcmVjaXNpb24gaXMgdW5zcGVjaWZpZWQpLgorLlRQCiszLgorVGhlIGNvbnZlcnNpb24gY2hhcmFjdGVycworLkJSIGggLCBcIGwgLCBcIG4gLCBcIHAgLAorLlJCICBhbmQgXCBxCithcmUgbm90IHN1cHBvcnRlZC4KKy5UUAorNC4KK1RoZSBzaW5nbGUgY2hhcmFjdGVyIGVzY2FwZSBzZXF1ZW5jZXMgZGVzY3JpYmVkIGluIHRoZSBDIHN0YW5kYXJkIGFyZQorc3VwcG9ydGVkOgorLlBQCisuUlMgMTMKKy5QRCAwCisuVFAgMjEKK05VTEwKK1xlMAorLlRQCis8YWxlcnQgY2hhcmFjdGVyPgorXGVhCisuVFAKKzxiYWNrc3BhY2U+CitcZWIKKy5UUAorPGZvcm0tZmVlZD4KK1xlZgorLlRQCis8bmV3bGluZT4KK1xlbgorLlRQCis8Y2FycmlhZ2UgcmV0dXJuPgorXGVyCisuVFAKKzx0YWI+CitcZXQKKy5UUAorPHZlcnRpY2FsIHRhYj4KK1xldgorLlBECisuUkUKKy5QUAorLlNTIENvbnZlcnNpb24gc3RyaW5ncworVGhlCisuQiBoZXhkdW1wCit1dGlsaXR5IGFsc28gc3VwcG9ydHMgdGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIGNvbnZlcnNpb24gc3RyaW5ncy4KKy5UUAorLkIgXCZfYVtkb3hdCitEaXNwbGF5IHRoZSBpbnB1dCBvZmZzZXQsIGN1bXVsYXRpdmUgYWNyb3NzIGlucHV0IGZpbGVzLCBvZiB0aGUgbmV4dCBieXRlIHRvCitiZSBkaXNwbGF5ZWQuICBUaGUgYXBwZW5kZWQgY2hhcmFjdGVycworLkJSIGQgLAorLkJSIG8gLAorYW5kCisuQiB4CitzcGVjaWZ5IHRoZSBkaXNwbGF5IGJhc2UgYXMgZGVjaW1hbCwgb2N0YWwgb3IgaGV4YWRlY2ltYWwgcmVzcGVjdGl2ZWx5LgorLlRQCisuQiBcJl9BW2RveF0KK0lkZW50aWNhbCB0byB0aGUKKy5CIFwmX2EKK2NvbnZlcnNpb24gc3RyaW5nIGV4Y2VwdCB0aGF0IGl0IGlzIG9ubHkgcGVyZm9ybWVkIG9uY2UsIHdoZW4gYWxsIG9mIHRoZQoraW5wdXQgZGF0YSBoYXMgYmVlbiBwcm9jZXNzZWQuCisuVFAKKy5CIFwmX2MKK091dHB1dCBjaGFyYWN0ZXJzIGluIHRoZSBkZWZhdWx0IGNoYXJhY3RlciBzZXQuICBOb24tcHJpbnRpbmcgY2hhcmFjdGVycyBhcmUKK2Rpc3BsYXllZCBpbiB0aHJlZS1jaGFyYWN0ZXIsIHplcm8tcGFkZGVkIG9jdGFsLCBleGNlcHQgZm9yIHRob3NlCityZXByZXNlbnRhYmxlIGJ5IHN0YW5kYXJkIGVzY2FwZSBub3RhdGlvbiAoc2VlIGFib3ZlKSwgd2hpY2ggYXJlIGRpc3BsYXllZCBhcwordHdvLWNoYXJhY3RlciBzdHJpbmdzLgorLlRQCisuQiBcJl9wCitPdXRwdXQgY2hhcmFjdGVycyBpbiB0aGUgZGVmYXVsdCBjaGFyYWN0ZXIgc2V0LiAgTm9uLXByaW50aW5nIGNoYXJhY3RlcnMgYXJlCitkaXNwbGF5ZWQgYXMgYSBzaW5nbGUKKy5SQiAnIFwmLiAnLgorLlRQCisuQiBcJl91CitPdXRwdXQgVVMgQVNDSUkgY2hhcmFjdGVycywgd2l0aCB0aGUgZXhjZXB0aW9uIHRoYXQgY29udHJvbCBjaGFyYWN0ZXJzIGFyZQorZGlzcGxheWVkIHVzaW5nIHRoZSBmb2xsb3dpbmcsIGxvd2VyLWNhc2UsIG5hbWVzLiAgQ2hhcmFjdGVycyBncmVhdGVyIHRoYW4KKzB4ZmYsIGhleGFkZWNpbWFsLCBhcmUgZGlzcGxheWVkIGFzIGhleGFkZWNpbWFsIHN0cmluZ3MuCisuUlMgMTAKKy5UUwordGFiKHwpOworbGVmdCBsIGwgbCBsIGwuCiswMDAgbnVsfDAwMSBzb2h8MDAyIHN0eHwwMDMgZXR4fDAwNCBlb3R8MDA1IGVucQorMDA2IGFja3wwMDcgYmVsfDAwOCBic3wwMDkgaHR8MDBBIGxmfDAwQiB2dAorMDBDIGZmfDAwRCBjcnwwMEUgc298MDBGIHNpfDAxMCBkbGV8MDExIGRjMQorMDEyIGRjMnwwMTMgZGMzfDAxNCBkYzR8MDE1IG5ha3wwMTYgc3lufDAxNyBldGIKKzAxOCBjYW58MDE5IGVtfDAxQSBzdWJ8MDFCIGVzY3wwMUMgZnN8MDFEIGdzCiswMUUgcnN8MDFGIHVzfDBGRiBkZWwKKy5URQorLlNTIENvbG9ycworV2hlbiBwdXQgYXQgdGhlIGVuZCBvZiBhIGZvcm1hdCBzcGVjaWZpZXIsIGhleGR1bXAgaGlnaGxpZ2h0cyB0aGUKK3Jlc3BlY3RpdmUgc3RyaW5nIHdpdGggdGhlIGNvbG9yIHNwZWNpZmllZC4gIENvbmRpdGlvbnMsIGlmIHByZXNlbnQsIGFyZQorZXZhbHVhdGVkIHByaW9yIHRvIGhpZ2hsaWdodGluZy4KKy5QUAorLkIgXCZfTFtjb2xvcl91bml0XzEsXDpjb2xvcl91bml0XzIsXDouLi4sXDpjb2xvcl91bml0X25dCisuUFAKK1RoZSBmdWxsIHN5bnRheCBvZiBhIGNvbG9yIHVuaXQgaXMgYXMgZm9sbG93czoKKy5QUAorLkIgWyFdQ09MT1JcOls6VkFMVUVdXDpbQE9GRlNFVF9TVEFSVFstRU5EXV0KKy5UUAorLkIgIQorTmVnYXRlIHRoZSBjb25kaXRpb24uICBQbGVhc2Ugbm90ZSB0aGF0IGl0IG9ubHkgbWFrZXMgc2Vuc2UgdG8gbmVnYXRlIGEKK3VuaXQgaWYgYm90aCBhIHZhbHVlL1w6c3RyaW5nIGFuZCBhbiBvZmZzZXQgYXJlIHNwZWNpZmllZC4gIEluIHRoYXQgY2FzZQordGhlIHJlc3BlY3RpdmUgb3V0cHV0IHN0cmluZyB3aWxsIGJlIGhpZ2hsaWdodGVkIGlmIGFuZCBvbmx5IGlmIHRoZQordmFsdWUvXDpzdHJpbmcgZG9lcyBub3QgbWF0Y2ggdGhlIG9uZSBhdCB0aGUgb2Zmc2V0LgorLlRQCisuQlIgQ09MT1IKK09uZSBvZiB0aGUgOCBiYXNpYyBzaGVsbCBjb2xvcnMuCisuVFAKKy5CIFZBTFVFCitBIHZhbHVlIHRvIGJlIG1hdGNoZWQgc3BlY2lmaWVkIGluIGhleGFkZWNpbWFsLCBvciBvY3RhbCBiYXNlLCBvciBhcyBhCitzdHJpbmcuICBQbGVhc2Ugbm90ZSB0aGF0IHRoZSB1c3VhbCBDIGVzY2FwZSBzZXF1ZW5jZXMgYXJlIG5vdAoraW50ZXJwcmV0ZWQgYnkgaGV4ZHVtcCBpbnNpZGUgdGhlIGNvbG9yX3VuaXRzLgorLlRQCisuQiBPRkZTRVQKK0FuIG9mZnNldCBvciBhbiBvZmZzZXQgcmFuZ2UgYXQgd2hpY2ggdG8gY2hlY2sgZm9yIGEgbWF0Y2guICBQbGVhc2Ugbm90ZQordGhhdCBsb25lIE9GRlNFVF9TVEFSVCB1c2VzIHRoZSBzYW1lIHZhbHVlIGFzIEVORCBvZmZzZXQuCisuU1MgQ291bnRlcnMKK1RoZSBkZWZhdWx0IGFuZCBzdXBwb3J0ZWQgYnl0ZSBjb3VudHMgZm9yIHRoZSBjb252ZXJzaW9uIGNoYXJhY3RlcnMKK2FyZSBhcyBmb2xsb3dzOgorLlRQCisuQlIgXCYlX2MgLCBcIFwmJV9wICwgXCBcJiVfdSAsIFwgXCYlYworT25lIGJ5dGUgY291bnRzIG9ubHkuCisuVFAKKy5CUiBcJiVkICwgXCBcJiVpICwgXCBcJiVvICwgXCBcJiV1ICwgXCBcJiVYICwgXCBcJiV4CitGb3VyIGJ5dGUgZGVmYXVsdCwgb25lLCB0d28gYW5kIGZvdXIgYnl0ZSBjb3VudHMgc3VwcG9ydGVkLgorLlRQCisuQlIgXCYlRSAsIFwgXCYlZSAsIFwgXCYlZiAsIFwgXCYlRyAsIFwgXCYlZworRWlnaHQgYnl0ZSBkZWZhdWx0LCBmb3VyIGJ5dGUgY291bnRzIHN1cHBvcnRlZC4KKy5QUAorVGhlIGFtb3VudCBvZiBkYXRhIGludGVycHJldGVkIGJ5IGVhY2ggZm9ybWF0IHN0cmluZyBpcyB0aGUgc3VtIG9mIHRoZSBkYXRhCityZXF1aXJlZCBieSBlYWNoIGZvcm1hdCB1bml0LCB3aGljaCBpcyB0aGUgaXRlcmF0aW9uIGNvdW50IHRpbWVzIHRoZSBieXRlCitjb3VudCwgb3IgdGhlIGl0ZXJhdGlvbiBjb3VudCB0aW1lcyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlcXVpcmVkIGJ5IHRoZQorZm9ybWF0IGlmIHRoZSBieXRlIGNvdW50IGlzIG5vdCBzcGVjaWZpZWQuCisuUFAKK1RoZSBpbnB1dCBpcyBtYW5pcHVsYXRlZCBpbgorLklSIGJsb2NrcyAsCit3aGVyZSBhIGJsb2NrIGlzIGRlZmluZWQgYXMgdGhlIGxhcmdlc3QgYW1vdW50IG9mIGRhdGEgc3BlY2lmaWVkIGJ5IGFueQorZm9ybWF0IHN0cmluZy4gIEZvcm1hdCBzdHJpbmdzIGludGVycHJldGluZyBsZXNzIHRoYW4gYW4gaW5wdXQgYmxvY2sncyB3b3J0aAorb2YgZGF0YSwgd2hvc2UgbGFzdCBmb3JtYXQgdW5pdCBib3RoIGludGVycHJldHMgc29tZSBudW1iZXIgb2YgYnl0ZXMgYW5kIGRvZXMKK25vdCBoYXZlIGEgc3BlY2lmaWVkIGl0ZXJhdGlvbiBjb3VudCwgaGF2ZSB0aGUgaXRlcmF0aW9uIGNvdW50IGluY3JlbWVudGVkCit1bnRpbCB0aGUgZW50aXJlIGlucHV0IGJsb2NrIGhhcyBiZWVuIHByb2Nlc3NlZCBvciB0aGVyZSBpcyBub3QgZW5vdWdoIGRhdGEKK3JlbWFpbmluZyBpbiB0aGUgYmxvY2sgdG8gc2F0aXNmeSB0aGUgZm9ybWF0IHN0cmluZy4KKy5QUAorSWYsIGVpdGhlciBhcyBhIHJlc3VsdCBvZiB1c2VyIHNwZWNpZmljYXRpb24gb3IKKy5CIGhleGR1bXAKK21vZGlmeWluZyB0aGUgaXRlcmF0aW9uIGNvdW50IGFzIGRlc2NyaWJlZCBhYm92ZSwgYW4gaXRlcmF0aW9uIGNvdW50IGlzCitncmVhdGVyIHRoYW4gb25lLCBubyB0cmFpbGluZyB3aGl0ZXNwYWNlIGNoYXJhY3RlcnMgYXJlIG91dHB1dCBkdXJpbmcgdGhlCitsYXN0IGl0ZXJhdGlvbi4KKy5QUAorSXQgaXMgYW4gZXJyb3IgdG8gc3BlY2lmeSBhIGJ5dGUgY291bnQgYXMgd2VsbCBhcyBtdWx0aXBsZSBjb252ZXJzaW9uCitjaGFyYWN0ZXJzIG9yIHN0cmluZ3MgdW5sZXNzIGFsbCBidXQgb25lIG9mIHRoZSBjb252ZXJzaW9uIGNoYXJhY3RlcnMgb3IKK3N0cmluZ3MgaXMKKy5CIFwmX2EKK29yCisuQlIgXCZfQSAuCisuUFAKK0lmLCBhcyBhIHJlc3VsdCBvZiB0aGUgc3BlY2lmaWNhdGlvbiBvZiB0aGUKKy5CIFwtbgorb3B0aW9uIG9yIGVuZC1vZi1maWxlIGJlaW5nIHJlYWNoZWQsIGlucHV0IGRhdGEgb25seSBwYXJ0aWFsbHkgc2F0aXNmaWVzIGEKK2Zvcm1hdCBzdHJpbmcsIHRoZSBpbnB1dCBibG9jayBpcyB6ZXJvLXBhZGRlZCBzdWZmaWNpZW50bHkgdG8gZGlzcGxheSBhbGwKK2F2YWlsYWJsZSBkYXRhIChpLmUuIGFueSBmb3JtYXQgdW5pdHMgb3ZlcmxhcHBpbmcgdGhlIGVuZCBvZiBkYXRhIHdpbGwKK2Rpc3BsYXkgc29tZSBudW1iZXIgb2YgdGhlIHplcm8gYnl0ZXMpLgorLlBQCitGdXJ0aGVyIG91dHB1dCBieSBzdWNoIGZvcm1hdCBzdHJpbmdzIGlzIHJlcGxhY2VkIGJ5IGFuIGVxdWl2YWxlbnQgbnVtYmVyIG9mCitzcGFjZXMuICBBbiBlcXVpdmFsZW50IG51bWJlciBvZiBzcGFjZXMgaXMgZGVmaW5lZCBhcyB0aGUgbnVtYmVyIG9mIHNwYWNlcworb3V0cHV0IGJ5IGFuCisuQiBzCitjb252ZXJzaW9uIGNoYXJhY3RlciB3aXRoIHRoZSBzYW1lIGZpZWxkIHdpZHRoIGFuZCBwcmVjaXNpb24gYXMgdGhlIG9yaWdpbmFsCitjb252ZXJzaW9uIGNoYXJhY3RlciBvciBjb252ZXJzaW9uIHN0cmluZyBidXQgd2l0aCBhbnkKKy5SQiAnIFwmKyAnLAorXCcgXCcsCisuUkIgJyBcJiMgJworY29udmVyc2lvbiBmbGFnIGNoYXJhY3RlcnMgcmVtb3ZlZCwgYW5kIHJlZmVyZW5jaW5nIGEgTlVMTCBzdHJpbmcuCisuUFAKK0lmIG5vIGZvcm1hdCBzdHJpbmdzIGFyZSBzcGVjaWZpZWQsIHRoZSBkZWZhdWx0IGRpc3BsYXkgaXMgdmVyeSBzaW1pbGFyIHRvCit0aGUgXGZCXC14XGZSIG91dHB1dCBmb3JtYXQgKHRoZSBcZkJcLXhcZlIgb3B0aW9uIGNhdXNlcyBtb3JlIHNwYWNlIHRvIGJlCit1c2VkIGJldHdlZW4gZm9ybWF0IHVuaXRzIHRoYW4gaW4gdGhlIGRlZmF1bHQgb3V0cHV0KS4KKy5TSCAiRVhJVCBTVEFUVVMiCisuQiBoZXhkdW1wCitleGl0cyAwIG9uIHN1Y2Nlc3MgYW5kID4wIGlmIGFuIGVycm9yIG9jY3VycmVkLgorLlNIIEVYQU1QTEVTCitEaXNwbGF5IHRoZSBpbnB1dCBpbiBwZXJ1c2FsIGZvcm1hdDoKKy5uZgorICAgIiUwNi42X2FvICIgIDEyLzEgIiUzX3UgIgorICAgIlxldFxldCIgIiVfcCAiCisgICAiXGVuIgorLm5mCisuUFAKK0ltcGxlbWVudCB0aGUgXC14IG9wdGlvbjoKKy5uZgorICAgIiUwNy43X0F4XGVuIgorICAgIiUwNy43X2F4ICAiIDgvMiAiJTA0eCAiICJcZW4iCisubmYKKy5QUAorTUJSIEJvb3QgU2lnbmF0dXJlIGV4YW1wbGU6IEhpZ2hsaWdodCB0aGUgYWRkcmVzc2VzIGN5YW4gYW5kIHRoZSBieXRlcyBhdAorb2Zmc2V0cyA1MTAgYW5kIDUxMSBncmVlbiBpZiB0aGVpciB2YWx1ZSBpcyAweEFBNTUsIHJlZCBvdGhlcndpc2UuCisubmYKKyAgICIlMDcuN19BeF9MW2N5YW5dXGVuIgorICAgIiUwNy43X2F4X0xbY3lhbl0gICIgOC8yICIgICAlMDR4X0xbZ3JlZW46MHhBQTU1QDUxMC01MTEsIXJlZDoweEFBNTVANTEwLTUxMV0gIiAiXGVuIgorLm5mCisuU0ggQ09MT1JTCitJbXBsaWNpdCBjb2xvcmluZyBjYW4gYmUgZGlzYWJsZWQgYnkgYW4gZW1wdHkgZmlsZSBcZkkvZXRjL3Rlcm1pbmFsLWNvbG9ycy5kL2hleGR1bXAuZGlzYWJsZVxmUi4KKworU2VlCisuQlIgdGVybWluYWwtY29sb3JzLmQgKDUpCitmb3IgbW9yZSBkZXRhaWxzIGFib3V0IGNvbG9yaXphdGlvbiBjb25maWd1cmF0aW9uLgorLlNIIFNUQU5EQVJEUworVGhlCisuQiBoZXhkdW1wCit1dGlsaXR5IGlzIGV4cGVjdGVkIHRvIGJlIElFRUUgU3RkIDEwMDMuMiAoIlBPU0lYLjIiKSBjb21wYXRpYmxlLgorLlNIIEFWQUlMQUJJTElUWQorVGhlIGhleGR1bXAgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgZnRwOi8vXDpmdHAua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS90ZXh0LXV0aWxzL2hleGR1bXAuYyBiL3RleHQtdXRpbHMvaGV4ZHVtcC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkMjZjNGUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXh0LXV0aWxzL2hleGR1bXAuYwpAQCAtMCwwICsxLDI1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk4OSBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorICogICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorICoJVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgVW5pdmVyc2l0eSBvZgorICoJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisgKiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyAvKiAxOTk5LTAyLTIyIEFya2FkaXVzeiBNacWba2lld2ljeiA8bWlzaWVrQHBsZC5PUkcuUEw+CisgICogLSBhZGRlZCBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAorICAqLworCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGVyci5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgImhleGR1bXAuaCIKKworI2luY2x1ZGUgImxpc3QuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY29sb3JzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCit2b2lkIGhleF9mcmVlKHN0cnVjdCBoZXhkdW1wICopOworCitpbnQKK3BhcnNlX2FyZ3MoaW50IGFyZ2MsIGNoYXIgKiphcmd2LCBzdHJ1Y3QgaGV4ZHVtcCAqaGV4KQoreworCWludCBjaDsKKwlpbnQgY29sb3Jtb2RlID0gVUxfQ09MT1JNT0RFX1VOREVGOworCWNoYXIgKmhleF9vZmZ0ID0gIlwiJTA3LjdfQXhcblwiIjsKKworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJvbmUtYnl0ZS1vY3RhbCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnYid9LAorCQl7Im9uZS1ieXRlLWNoYXIiLCBub19hcmd1bWVudCwgTlVMTCwgJ2MnfSwKKwkJeyJjYW5vbmljYWwiLCBub19hcmd1bWVudCwgTlVMTCwgJ0MnfSwKKwkJeyJ0d28tYnl0ZXMtZGVjaW1hbCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnZCd9LAorCQl7InR3by1ieXRlcy1vY3RhbCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnbyd9LAorCQl7InR3by1ieXRlcy1oZXgiLCBub19hcmd1bWVudCwgTlVMTCwgJ3gnfSwKKwkJeyJmb3JtYXQiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2UnfSwKKwkJeyJmb3JtYXQtZmlsZSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnZid9LAorCQl7ImNvbG9yIiwgb3B0aW9uYWxfYXJndW1lbnQsIE5VTEwsICdMJ30sCisJCXsibGVuZ3RoIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICduJ30sCisJCXsic2tpcCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAncyd9LAorCQl7Im5vLXNxdWVlemluZyIsIG5vX2FyZ3VtZW50LCBOVUxMLCAndid9LAorCQl7ImhlbHAiLCBub19hcmd1bWVudCwgTlVMTCwgJ2gnfSwKKwkJeyJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsIE5VTEwsICdWJ30sCisJCXtOVUxMLCBub19hcmd1bWVudCwgTlVMTCwgMH0KKwl9OworCisJd2hpbGUgKChjaCA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJiY0NkZTpmOkw6Om46b3M6dnhoViIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKwkJc3dpdGNoIChjaCkgeworCQljYXNlICdiJzoKKwkJCWFkZF9mbXQoaGV4X29mZnQsIGhleCk7CisJCQlhZGRfZm10KCJcIiUwNy43X2F4IFwiIDE2LzEgXCIlMDNvIFwiIFwiXFxuXCIiLCBoZXgpOworCQkJYnJlYWs7CisJCWNhc2UgJ2MnOgorCQkJYWRkX2ZtdChoZXhfb2ZmdCwgaGV4KTsKKwkJCWFkZF9mbXQoIlwiJTA3LjdfYXggXCIgMTYvMSBcIiUzX2MgXCIgXCJcXG5cIiIsIGhleCk7CisJCQlicmVhazsKKwkJY2FzZSAnQyc6CisJCQlhZGRfZm10KCJcIiUwOC44X0F4XG5cIiIsIGhleCk7CisJCQlhZGRfZm10KCJcIiUwOC44X2F4ICBcIiA4LzEgXCIlMDJ4IFwiIFwiICBcIiA4LzEgXCIlMDJ4IFwiICIsIGhleCk7CisJCQlhZGRfZm10KCJcIiAgfFwiIDE2LzEgXCIlX3BcIiBcInxcXG5cIiIsIGhleCk7CisJCQlicmVhazsKKwkJY2FzZSAnZCc6CisJCQlhZGRfZm10KGhleF9vZmZ0LCBoZXgpOworCQkJYWRkX2ZtdCgiXCIlMDcuN19heCBcIiA4LzIgXCIgICUwNXUgXCIgXCJcXG5cIiIsIGhleCk7CisJCQlicmVhazsKKwkJY2FzZSAnZSc6CisJCQlhZGRfZm10KG9wdGFyZywgaGV4KTsKKwkJCWJyZWFrOworCQljYXNlICdmJzoKKwkJCWFkZGZpbGUob3B0YXJnLCBoZXgpOworCQkJYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSAnTCc6CisJCQljb2xvcm1vZGUgPSBVTF9DT0xPUk1PREVfQVVUTzsKKwkJCWlmIChvcHRhcmcpCisJCQkJY29sb3Jtb2RlID0gY29sb3Jtb2RlX29yX2VycihvcHRhcmcsCisJCQkJCQlfKCJ1bnN1cHBvcnRlZCBjb2xvciBtb2RlIikpOworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJaGV4LT5sZW5ndGggPSBzdHJ0b3NpemVfb3JfZXJyKG9wdGFyZywgXygiZmFpbGVkIHRvIHBhcnNlIGxlbmd0aCIpKTsKKwkJCWJyZWFrOworCQljYXNlICdvJzoKKwkJCWFkZF9mbXQoaGV4X29mZnQsIGhleCk7CisJCQlhZGRfZm10KCJcIiUwNy43X2F4IFwiIDgvMiBcIiAlMDZvIFwiIFwiXFxuXCIiLCBoZXgpOworCQkJYnJlYWs7CisJCWNhc2UgJ3MnOgorCQkJaGV4LT5za2lwID0gc3RydG9zaXplX29yX2VycihvcHRhcmcsIF8oImZhaWxlZCB0byBwYXJzZSBvZmZzZXQiKSk7CisJCQlicmVhazsKKwkJY2FzZSAndic6CisJCQl2ZmxhZyA9IEFMTDsKKwkJCWJyZWFrOworCQljYXNlICd4JzoKKwkJCWFkZF9mbXQoaGV4X29mZnQsIGhleCk7CisJCQlhZGRfZm10KCJcIiUwNy43X2F4IFwiIDgvMiBcIiAgICUwNHggXCIgXCJcXG5cIiIsIGhleCk7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShzdGRvdXQpOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJZXhpdChFWElUX1NVQ0NFU1MpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQl9CisJfQorCisJaWYgKGxpc3RfZW1wdHkoJmhleC0+ZnNoZWFkKSkgeworCQlhZGRfZm10KGhleF9vZmZ0LCBoZXgpOworCQlhZGRfZm10KCJcIiUwNy43X2F4IFwiIDgvMiBcIiUwNHggXCIgXCJcXG5cIiIsIGhleCk7CisJfQorCWNvbG9yc19pbml0IChjb2xvcm1vZGUsICJoZXhkdW1wIik7CisJcmV0dXJuIG9wdGluZDsKK30KKwordm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZShGSUxFICpvdXQpCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJXMgW29wdGlvbnNdIDxmaWxlPi4uLlxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJEaXNwbGF5IGZpbGUgY29udGVudHMgaW4gaGV4YWRlY2ltYWwsIGRlY2ltYWwsIG9jdGFsLCBvciBhc2NpaS5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWMsIC0tb25lLWJ5dGUtY2hhciAgICAgICBvbmUtYnl0ZSBjaGFyYWN0ZXIgZGlzcGxheVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1DLCAtLWNhbm9uaWNhbCAgICAgICAgICAgY2Fub25pY2FsIGhleCtBU0NJSSBkaXNwbGF5XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIHR3by1ieXRlIG9jdGFsIGRpc3BsYXlcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHJldCBjb2xvciBmb3JtYXR0aW5nIHNwZWNpZmllcnNcbiIpLCBvdXQpOworCWZwcmludGYob3V0LAorCSAgICAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJXNcbiIsIFVTQUdFX0NPTE9SU19ERUZBVUxUKTsKKwlmcHV0cyhfKCIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1mLCAtLWZvcm1hdC1maWxlIDxmaWxlPiAgZmlsZSB0aGF0IGNvbnRhaW5zIGZvcm1hdCBzdHJpbmdzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW4sIC0tbGVuZ3RoIDxsZW5ndGg+ICAgICBpbnRlcnByZXQgb25seSBsZW5ndGggYnl0ZXMgb2YgaW5wdXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcywgLS1za2lwIDxvZmZzZXQ+ICAgICAgIHNraXAgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZ1xuIiksIG91dCk7CisJZnB1dHMoXygiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgb3V0cHV0IGlkZW50aWNhbCBsaW5lc1xuIiksIG91dCk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKFVTQUdFX0hFTFAsIG91dCk7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgVVNBR0VfTUFOX1RBSUwoImhleGR1bXAoMSkiKSk7CisKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJc3RydWN0IGxpc3RfaGVhZCAqcDsKKwlzdHJ1Y3QgaGV4ZHVtcF9mcyAqdGZzOworCWludCByZXQ7CisKKwlzdHJ1Y3QgaGV4ZHVtcCAqaGV4ID0geGNhbGxvYygxLCBzaXplb2YgKHN0cnVjdCBoZXhkdW1wKSk7CisJaGV4LT5sZW5ndGggPSAtMTsKKwlJTklUX0xJU1RfSEVBRCgmaGV4LT5mc2hlYWQpOworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCWFyZ3YgKz0gcGFyc2VfYXJncyhhcmdjLCBhcmd2LCBoZXgpOworCisJLyogZmlndXJlIG91dCB0aGUgZGF0YSBibG9jayBzaXplICovCisJaGV4LT5ibG9ja3NpemUgPSAwOworCWxpc3RfZm9yX2VhY2gocCwgJmhleC0+ZnNoZWFkKSB7CisJCXRmcyA9IGxpc3RfZW50cnkocCwgc3RydWN0IGhleGR1bXBfZnMsIGZzbGlzdCk7CisJCWlmICgodGZzLT5iY250ID0gYmxvY2tfc2l6ZSh0ZnMpKSA+IGhleC0+YmxvY2tzaXplKQorCQkJaGV4LT5ibG9ja3NpemUgPSB0ZnMtPmJjbnQ7CisJfQorCisJLyogcmV3cml0ZSB0aGUgcnVsZXMsIGRvIHN5bnRheCBjaGVja2luZyAqLworCWxpc3RfZm9yX2VhY2gocCwgJmhleC0+ZnNoZWFkKQorCQlyZXdyaXRlX3J1bGVzKGxpc3RfZW50cnkocCwgc3RydWN0IGhleGR1bXBfZnMsIGZzbGlzdCksIGhleCk7CisKKwluZXh0KGFyZ3YsIGhleCk7CisJZGlzcGxheShoZXgpOworCisJcmV0ID0gaGV4LT5leGl0dmFsOworCWhleF9mcmVlKGhleCk7CisKKwlyZXR1cm4gcmV0OworfQorCit2b2lkIGhleF9mcmVlKHN0cnVjdCBoZXhkdW1wICpoZXgpCit7CisJc3RydWN0IGxpc3RfaGVhZCAqcCwgKnBuLCAqcSwgKnFuLCAqciwgKnJuLCAqcywgKnNuOworCXN0cnVjdCBoZXhkdW1wX2ZzICpmczsKKwlzdHJ1Y3QgaGV4ZHVtcF9mdSAqZnU7CisJc3RydWN0IGhleGR1bXBfcHIgKnByOworCXN0cnVjdCBoZXhkdW1wX2NsciAqY2xyOworCisJbGlzdF9mb3JfZWFjaF9zYWZlKHAsIHBuLCAmaGV4LT5mc2hlYWQpIHsKKwkJZnMgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBoZXhkdW1wX2ZzLCBmc2xpc3QpOworCQlsaXN0X2Zvcl9lYWNoX3NhZmUocSwgcW4sICZmcy0+ZnVsaXN0KSB7CisJCQlmdSA9IGxpc3RfZW50cnkocSwgc3RydWN0IGhleGR1bXBfZnUsIGZ1bGlzdCk7CisJCQlsaXN0X2Zvcl9lYWNoX3NhZmUociwgcm4sICZmdS0+cHJsaXN0KSB7CisJCQkJcHIgPSBsaXN0X2VudHJ5KHIsIHN0cnVjdCBoZXhkdW1wX3ByLCBwcmxpc3QpOworCQkJCWlmIChwci0+Y29sb3JsaXN0KSB7CisJCQkJCWxpc3RfZm9yX2VhY2hfc2FmZShzLCBzbiwgcHItPmNvbG9ybGlzdCkgeworCQkJCQkJY2xyID0gbGlzdF9lbnRyeSAocywgc3RydWN0IGhleGR1bXBfY2xyLCBjb2xvcmxpc3QpOworCQkJCQkJZnJlZShjbHItPnN0cik7CisJCQkJCQlmcmVlKGNscik7CisJCQkJCX0KKwkJCQl9CisJCQkJZnJlZShwci0+Zm10KTsKKwkJCQlmcmVlKHByKTsKKwkJCX0KKwkJCWZyZWUoZnUtPmZtdCk7CisJCQlmcmVlKGZ1KTsKKwkJfQorCQlmcmVlKGZzKTsKKwl9CisJZnJlZSAoaGV4KTsKK30KZGlmZiAtLWdpdCBhL3RleHQtdXRpbHMvaGV4ZHVtcC5oIGIvdGV4dC11dGlscy9oZXhkdW1wLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzQxYTU3YQotLS0gL2Rldi9udWxsCisrKyBiL3RleHQtdXRpbHMvaGV4ZHVtcC5oCkBAIC0wLDAgKzEsMTA4IEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTg5IFRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisgKiAgICBtdXN0IGRpc3BsYXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnZW1lbnQ6CisgKglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisgKglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKyAqIDQuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKgorICoJQCgjKWhleGR1bXAuaAk1LjQgKEJlcmtlbGV5KSA2LzEvOTAKKyAqLworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJsaXN0LmgiCisKK3N0cnVjdCBoZXhkdW1wX2NsciB7CisJc3RydWN0IGxpc3RfaGVhZCBjb2xvcmxpc3Q7CS8qIG5leHQgY29sb3IgdW5pdCAqLworCWNvbnN0IGNoYXIgKmZtdDsJCS8qIHRoZSBjb2xvciwgVUxfQ09MT1JfKiAqLworCW9mZl90IG9mZnQ7CQkJLyogb2Zmc2V0IHdoZXJlIHVuaXQgaXMgdmFsaWQuLi4gKi8KKwlpbnQgcmFuZ2U7CQkJLyogLi4uIGFuZCBpdCdzIHJhbmdlICovCisJaW50IHZhbDsJCQkvKiB2YWx1ZSAuLi4gKi8KKwljaGFyICpzdHI7CQkJLyogLi4uIG9yIHN0cmluZyB0byBtYXRjaCAqLworCWludCBpbnZlcnQ7CQkJLyogaW52ZXJ0IGNvbmRpdGlvbj8gKi8KK307CisKK3N0cnVjdCBoZXhkdW1wX3ByIHsKKwlzdHJ1Y3QgbGlzdF9oZWFkIHBybGlzdDsJCS8qIG5leHQgcHJpbnQgdW5pdCAqLworI2RlZmluZQlGX0FERFJFU1MJMHgwMDEJCS8qIHByaW50IG9mZnNldCAqLworI2RlZmluZQlGX0JQQUQJCTB4MDAyCQkvKiBibGFuayBwYWQgKi8KKyNkZWZpbmUJRl9DCQkweDAwNAkJLyogJV9jICovCisjZGVmaW5lCUZfQ0hBUgkJMHgwMDgJCS8qICVjICovCisjZGVmaW5lCUZfREJMCQkweDAxMAkJLyogJVtFZWZHZl0gKi8KKyNkZWZpbmUJRl9JTlQJCTB4MDIwCQkvKiAlW2RpXSAqLworI2RlZmluZQlGX1AJCTB4MDQwCQkvKiAlX3AgKi8KKyNkZWZpbmUJRl9TVFIJCTB4MDgwCQkvKiAlcyAqLworI2RlZmluZQlGX1UJCTB4MTAwCQkvKiAlX3UgKi8KKyNkZWZpbmUJRl9VSU5UCQkweDIwMAkJLyogJVtvdVh4XSAqLworI2RlZmluZQlGX1RFWFQJCTB4NDAwCQkvKiBubyBjb252ZXJzaW9ucyAqLworCXVuc2lnbmVkIGludCBmbGFnczsJCS8qIGZsYWcgdmFsdWVzICovCisJaW50IGJjbnQ7CQkJLyogYnl0ZSBjb3VudCAqLworCWNoYXIgKmNjaGFyOwkJCS8qIGNvbnZlcnNpb24gY2hhcmFjdGVyICovCisJc3RydWN0IGxpc3RfaGVhZCAqY29sb3JsaXN0OwkvKiBjb2xvciBzZXR0aW5ncyAqLworCWNoYXIgKmZtdDsJCQkvKiBwcmludGYgZm9ybWF0ICovCisJY2hhciAqbm9zcGFjZTsJCQkvKiBubyB3aGl0ZXNwYWNlIHZlcnNpb24gKi8KK307CisKK3N0cnVjdCBoZXhkdW1wX2Z1IHsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGZ1bGlzdDsJCS8qIG5leHQgZm9ybWF0IHVuaXQgKi8KKwlzdHJ1Y3QgbGlzdF9oZWFkIHBybGlzdDsJCS8qIG5leHQgcHJpbnQgdW5pdCAqLworI2RlZmluZQlGX0lHTk9SRQkweDAxCQkvKiAlX0EgKi8KKyNkZWZpbmUJRl9TRVRSRVAJMHgwMgkJLyogcmVwIGNvdW50IHNldCwgbm90IGRlZmF1bHQgKi8KKwl1bnNpZ25lZCBpbnQgZmxhZ3M7CQkvKiBmbGFnIHZhbHVlcyAqLworCWludCByZXBzOwkJCS8qIHJlcGV0aXRpb24gY291bnQgKi8KKwlpbnQgYmNudDsJCQkvKiBieXRlIGNvdW50ICovCisJY2hhciAqZm10OwkJCS8qIGZvcm1hdCBzdHJpbmcgKi8KK307CisKK3N0cnVjdCBoZXhkdW1wX2ZzIHsJCQkvKiBmb3JtYXQgc3RyaW5ncyAqLworCXN0cnVjdCBsaXN0X2hlYWQgZnNsaXN0OwkJLyogbGlua2VkIGxpc3Qgb2YgZm9ybWF0IHN0cmluZ3MgKi8KKwlzdHJ1Y3QgbGlzdF9oZWFkIGZ1bGlzdDsJCS8qIGxpbmtlZCBsaXN0IG9mIGZvcm1hdCB1bml0cyAqLworCWludCBiY250OworfTsKKworc3RydWN0IGhleGR1bXAgeworICBzdHJ1Y3QgbGlzdF9oZWFkIGZzaGVhZDsJCQkJLyogaGVhZCBvZiBmb3JtYXQgc3RyaW5ncyAqLworICBzc2l6ZV90IGJsb2Nrc2l6ZTsJCQkvKiBkYXRhIGJsb2NrIHNpemUgKi8KKyAgaW50IGV4aXR2YWw7CQkJCS8qIGZpbmFsIGV4aXQgdmFsdWUgKi8KKyAgc3NpemVfdCBsZW5ndGg7CQkJLyogbWF4IGJ5dGVzIHRvIHJlYWQgKi8KKyAgb2ZmX3Qgc2tpcDsJCQkJLyogYnl0ZXMgdG8gc2tpcCAqLworfTsKKworZXh0ZXJuIHN0cnVjdCBoZXhkdW1wX2Z1ICplbmRmdTsKKworZW51bSBfdmZsYWcgeyBBTEwsIERVUCwgRklSU1QsIFdBSVQgfTsJLyogLXYgdmFsdWVzICovCitleHRlcm4gZW51bSBfdmZsYWcgdmZsYWc7CisKK2ludCBibG9ja19zaXplKHN0cnVjdCBoZXhkdW1wX2ZzICopOwordm9pZCBhZGRfZm10KGNvbnN0IGNoYXIgKiwgc3RydWN0IGhleGR1bXAgKik7Cit2b2lkIHJld3JpdGVfcnVsZXMoc3RydWN0IGhleGR1bXBfZnMgKiwgc3RydWN0IGhleGR1bXAgKik7Cit2b2lkIGFkZGZpbGUoY2hhciAqLCBzdHJ1Y3QgaGV4ZHVtcCAqKTsKK3ZvaWQgZGlzcGxheShzdHJ1Y3QgaGV4ZHVtcCAqKTsKK3ZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqb3V0KTsKK3ZvaWQgY29udl9jKHN0cnVjdCBoZXhkdW1wX3ByICosIHVfY2hhciAqKTsKK3ZvaWQgY29udl91KHN0cnVjdCBoZXhkdW1wX3ByICosIHVfY2hhciAqKTsKK2ludCAgbmV4dChjaGFyICoqLCBzdHJ1Y3QgaGV4ZHVtcCAqKTsKK2ludCBwYXJzZV9hcmdzKGludCwgY2hhciAqKiwgc3RydWN0IGhleGR1bXAgKik7CmRpZmYgLS1naXQgYS90ZXh0LXV0aWxzL2xpbmUuMSBiL3RleHQtdXRpbHMvbGluZS4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzMDVmNmIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXh0LXV0aWxzL2xpbmUuMQpAQCAtMCwwICsxLDE3IEBACisuXCIgVGhpcyBwYWdlIGlzIGluIHRoZSBwdWJsaWMgZG9tYWluCisuVEggTElORSAxICJKdWx5IDIwMDIiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitsaW5lIFwtIHJlYWQgb25lIGxpbmUKKy5TSCBTWU5PUFNJUworLkIgbGluZQorLlNIIERFU0NSSVBUSU9OCitUaGUgdXRpbGl0eQorLkIgbGluZQorY29waWVzIG9uZSBsaW5lICh1cCB0byBhIG5ld2xpbmUpIGZyb20gc3RhbmRhcmQgaW5wdXQgdG8gc3RhbmRhcmQgb3V0cHV0LgorSXQgYWx3YXlzIHByaW50cyBhdCBsZWFzdCBhIG5ld2xpbmUgYW5kIHJldHVybnMgYW4gZXhpdCBzdGF0dXMgb2YgMQorb24gRU9GIG9yIHJlYWQgZXJyb3IuCisuU0ggIlNFRSBBTFNPIgorLkJSIHJlYWQgKDEpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgbGluZSBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2Z0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL3RleHQtdXRpbHMvbGluZS5jIGIvdGV4dC11dGlscy9saW5lLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2JlZTZkMgotLS0gL2Rldi9udWxsCisrKyBiL3RleHQtdXRpbHMvbGluZS5jCkBAIC0wLDAgKzEsODQgQEAKKy8qCisgKiBsaW5lIC0gcmVhZCBvbmUgbGluZQorICoKKyAqIEd1bm5hciBSaXR0ZXIsIEZyZWlidXJnIGkuIEJyLiwgR2VybWFueSwgRGVjZW1iZXIgMjAwMC4KKyAqCisgKiBQdWJsaWMgRG9tYWluLgorICovCisKKy8qCisgKiBUaGlzIGNvbW1hbmQgaXMgZGVwcmVjYXRlZC4gIFRoZSB1dGlsaXR5IGlzIGluIG1haW50ZW5hbmNlIG1vZGUsCisgKiBtZWFuaW5nIHdlIGtlZXAgdGhlbSBpbiBzb3VyY2UgdHJlZSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eQorICogb25seS4gIERvIG5vdCB3YXN0ZSB0aW1lIG1ha2luZyB0aGlzIGNvbW1hbmQgYmV0dGVyLCB1bmxlc3MgdGhlCisgKiBmaXggaXMgYWJvdXQgc2VjdXJpdHkgb3Igb3RoZXIgdmVyeSBjcml0aWNhbCBpc3N1ZS4KKyAqCisgKiBTZWUgRG9jdW1lbnRhdGlvbi9kZXByZWNhdGVkLnR4dCBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKyAqLworCisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgIndpZGVjaGFyLmgiCisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKEZJTEUgKm91dCkKK3sKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc11cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiUmVhZCBvbmUgbGluZS5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dCk7CisJZnByaW50ZihvdXQsIFVTQUdFX01BTl9UQUlMKCJsaW5lKDEpIikpOworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwl3aW50X3QgYzsKKwlpbnQgb3B0OworCWludCBzdGF0dXMgPSBFWElUX1NVQ0NFU1M7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1YnfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIE5VTEwsICdoJ30sCisJCXtOVUxMLCAwLCBOVUxMLCAwfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChvcHQgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiVmgiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKQorCQlzd2l0Y2ggKG9wdCkgeworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShzdGRvdXQpOworCQlkZWZhdWx0OgorCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJfQorCisJc2V0dmJ1ZihzdGRpbiwgTlVMTCwgX0lPTkJGLCAwKTsKKwlmb3IgKDs7KSB7CisJCWMgPSBnZXR3Y2hhcigpOworCQlpZiAoYyA9PSBXRU9GKSB7CisJCQlzdGF0dXMgPSBFWElUX0ZBSUxVUkU7CisJCQlicmVhazsKKwkJfQorCQlpZiAoYyA9PSAnXG4nKQorCQkJYnJlYWs7CisJCXB1dHdjaGFyKGMpOworCX0KKwlwdXR3Y2hhcihMJ1xuJyk7CisKKwlyZXR1cm4gc3RhdHVzOworfQpkaWZmIC0tZ2l0IGEvdGV4dC11dGlscy9tb3JlLjEgYi90ZXh0LXV0aWxzL21vcmUuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOWI0MzRhCi0tLSAvZGV2L251bGwKKysrIGIvdGV4dC11dGlscy9tb3JlLjEKQEAgLTAsMCArMSwyNDAgQEAKKy5cIiBDb3B5cmlnaHQgKGMpIDE5ODgsIDE5OTAgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KKy5cIiBDb3B5cmlnaHQgKGMpIDE5ODggTWFyayBOdWRsZW1hbgorLlwiIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisuXCIKKy5cIiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy5cIiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy5cIiBhcmUgbWV0OgorLlwiIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLlwiIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLlwiICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisuXCIgMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisuXCIgICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorLlwiCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKy5cIglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKy5cIiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworLlwiICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorLlwiICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLlwiCisuXCIgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKy5cIiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKy5cIiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorLlwiIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLlwiIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisuXCIgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKy5cIiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKy5cIiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorLlwiIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKy5cIiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisuXCIgU1VDSCBEQU1BR0UuCisuXCIKKy5cIglAKCMpbW9yZS4xCTUuMTUgKEJlcmtlbGV5KSA3LzI5LzkxCisuXCIKKy5cIiBDb3B5cmlnaHQgKGMpIDE5OTIgUmlrIEZhaXRoIChmYWl0aEBjcy51bmMuZWR1KQorLlwiCisuVEggTU9SRSAiMSIgIkZlYnJ1YXJ5IDIwMTQiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCittb3JlIFwtIGZpbGUgcGVydXNhbCBmaWx0ZXIgZm9yIGNydCB2aWV3aW5nCisuU0ggU1lOT1BTSVMKKy5CIG1vcmUKK1tvcHRpb25zXQorLklSIGZpbGUgLi4uCisuU0ggREVTQ1JJUFRJT04KKy5CIG1vcmUKK2lzIGEgZmlsdGVyIGZvciBwYWdpbmcgdGhyb3VnaCB0ZXh0IG9uZSBzY3JlZW5mdWwgYXQgYSB0aW1lLiAgVGhpcyB2ZXJzaW9uIGlzCitlc3BlY2lhbGx5IHByaW1pdGl2ZS4gIFVzZXJzIHNob3VsZCByZWFsaXplIHRoYXQKKy5CUiBsZXNzICgxKQorcHJvdmlkZXMKKy5CUiBtb3JlICgxKQorZW11bGF0aW9uIHBsdXMgZXh0ZW5zaXZlIGVuaGFuY2VtZW50cy4KKy5TSCBPUFRJT05TCitPcHRpb25zIGFyZSBhbHNvIHRha2VuIGZyb20gdGhlIGVudmlyb25tZW50IHZhcmlhYmxlCisuQiBNT1JFCisobWFrZSBzdXJlIHRvIHByZWNlZGUgdGhlbSB3aXRoIGEgZGFzaAorLlJCICggXC0gKSkKK2J1dCBjb21tYW5kLWxpbmUgb3B0aW9ucyB3aWxsIG92ZXJyaWRlIHRob3NlLgorLlRQCisuQiBcLWQKK1Byb21wdCB3aXRoICJbUHJlc3Mgc3BhY2UgdG8gY29udGludWUsICdxJyB0byBxdWl0Ll0iLAorYW5kIGRpc3BsYXkgIltQcmVzcyAnaCcgZm9yIGluc3RydWN0aW9ucy5dIiBpbnN0ZWFkIG9mIHJpbmdpbmcKK3RoZSBiZWxsIHdoZW4gYW4gaWxsZWdhbCBrZXkgaXMgcHJlc3NlZC4KKy5UUAorLkIgXC1sCitEbyBub3QgcGF1c2UgYWZ0ZXIgYW55IGxpbmUgY29udGFpbmluZyBhCisuQiBcJl5MCisoZm9ybSBmZWVkKS4KKy5UUAorLkIgXC1mCitDb3VudCBsb2dpY2FsIGxpbmVzLCByYXRoZXIgdGhhbiBzY3JlZW4gbGluZXMgKGkuZS4sIGxvbmcgbGluZXMgYXJlIG5vdCBmb2xkZWQpLgorLlRQCisuQiBcLXAKK0RvIG5vdCBzY3JvbGwuICBJbnN0ZWFkLCBjbGVhciB0aGUgd2hvbGUgc2NyZWVuIGFuZCB0aGVuIGRpc3BsYXkgdGhlIHRleHQuCitOb3RpY2UgdGhhdCB0aGlzIG9wdGlvbiBpcyBzd2l0Y2hlZCBvbiBhdXRvbWF0aWNhbGx5IGlmIHRoZSBleGVjdXRhYmxlIGlzCituYW1lZAorLkJSIHBhZ2UgLgorLlRQCisuQiBcLWMKK0RvIG5vdCBzY3JvbGwuICBJbnN0ZWFkLCBwYWludCBlYWNoIHNjcmVlbiBmcm9tIHRoZSB0b3AsIGNsZWFyaW5nIHRoZQorcmVtYWluZGVyIG9mIGVhY2ggbGluZSBhcyBpdCBpcyBkaXNwbGF5ZWQuCisuVFAKKy5CIFwtcworU3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZS4KKy5UUAorLkIgXC11CitTdXBwcmVzcyB1bmRlcmxpbmluZy4KKy5UUAorLkJJIFwtIG51bWJlcgorVGhlIHNjcmVlbiBzaXplIHRvIHVzZSwgaW4KKy5JIG51bWJlcgorb2YgbGluZXMuCisuVFAKKy5CSSArIG51bWJlcgorU3RhcnQgZGlzcGxheWluZyBlYWNoIGZpbGUgYXQgbGluZQorLklSIG51bWJlciAuCisuVFAKKy5CSSArLyBzdHJpbmcKK1RoZQorLkkgc3RyaW5nCit0byBiZSBzZWFyY2hlZCBpbiBlYWNoIGZpbGUgYmVmb3JlIHN0YXJ0aW5nIHRvIGRpc3BsYXkgaXQuCisuU0ggQ09NTUFORFMKK0ludGVyYWN0aXZlIGNvbW1hbmRzIGZvcgorLkIgbW9yZQorYXJlIGJhc2VkIG9uCisuQlIgdmkgKDEpLgorU29tZSBjb21tYW5kcyBtYXkgYmUgcHJlY2VkZWQgYnkgYSBkZWNpbWFsIG51bWJlciwgY2FsbGVkIGsgaW4gdGhlCitkZXNjcmlwdGlvbnMgYmVsb3cuICBJbiB0aGUgZm9sbG93aW5nIGRlc2NyaXB0aW9ucywKKy5CIF5YCittZWFucworLkJSIGNvbnRyb2wtWCAuCisuUFAKKy5SUworLlBEIDEKKy5UUCAxMAorLkJSIGggXCBvciBcID8KK0hlbHA7IGRpc3BsYXkgYSBzdW1tYXJ5IG9mIHRoZXNlIGNvbW1hbmRzLiAgSWYgeW91IGZvcmdldCBhbGwgb3RoZXIKK2NvbW1hbmRzLCByZW1lbWJlciB0aGlzIG9uZS4KKy5UUAorLkIgU1BBQ0UKK0Rpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQuICBEZWZhdWx0cyB0byBjdXJyZW50IHNjcmVlbiBzaXplLgorLlRQCisuQiB6CitEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0LiAgRGVmYXVsdHMgdG8gY3VycmVudCBzY3JlZW4gc2l6ZS4gIEFyZ3VtZW50CitiZWNvbWVzIG5ldyBkZWZhdWx0LgorLlRQCisuQiBSRVRVUk4KK0Rpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQuICBEZWZhdWx0cyB0byAxLiAgQXJndW1lbnQgYmVjb21lcyBuZXcgZGVmYXVsdC4KKy5UUAorLkJSIGQgXCBvciBcIFwmXkQKK1Njcm9sbCBrIGxpbmVzLiAgRGVmYXVsdCBpcyBjdXJyZW50IHNjcm9sbCBzaXplLCBpbml0aWFsbHkgMTEuICBBcmd1bWVudAorYmVjb21lcyBuZXcgZGVmYXVsdC4KKy5UUAorLkJSIHEgXCBvciBcIFEgXCBvciBcIElOVEVSUlVQVAorRXhpdC4KKy5UUAorLkIgcworU2tpcCBmb3J3YXJkIGsgbGluZXMgb2YgdGV4dC4gIERlZmF1bHRzIHRvIDEuCisuVFAKKy5CIGYKK1NraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgb2YgdGV4dC4gIERlZmF1bHRzIHRvIDEuCisuVFAKKy5CUiBiIFwgb3IgXCBcJl5CCitTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dC4gIERlZmF1bHRzIHRvIDEuICBPbmx5IHdvcmtzIHdpdGggZmlsZXMsCitub3QgcGlwZXMuCisuVFAKKy5CICcKK0dvIHRvIHRoZSBwbGFjZSB3aGVyZSB0aGUgbGFzdCBzZWFyY2ggc3RhcnRlZC4KKy5UUAorLkIgPQorRGlzcGxheSBjdXJyZW50IGxpbmUgbnVtYmVyLgorLlRQCisuQiBcJi9wYXR0ZXJuCitTZWFyY2ggZm9yIGt0aCBvY2N1cnJlbmNlIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbi4gIERlZmF1bHRzIHRvIDEuCisuVFAKKy5CIG4KK1NlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByZWd1bGFyIGV4cHJlc3Npb24uICBEZWZhdWx0cyB0byAxLgorLlRQCisuQlIgIWNvbW1hbmQgXCBvciBcIDohY29tbWFuZAorRXhlY3V0ZQorLkkgY29tbWFuZAoraW4gYSBzdWJzaGVsbC4KKy5UUAorLkIgdgorU3RhcnQgdXAgYW4gZWRpdG9yIGF0IGN1cnJlbnQgbGluZS4gIFRoZSBlZGl0b3IgaXMgdGFrZW4gZnJvbSB0aGUgZW52aXJvbm1lbnQKK3ZhcmlhYmxlCisuQiBWSVNVQUwKK2lmIGRlZmluZWQsIG9yCisuQiBFRElUT1IKK2lmCisuQiBWSVNVQUwKK2lzIG5vdCBkZWZpbmVkLCBvciBkZWZhdWx0cwordG8KKy5CIHZpCitpZiBuZWl0aGVyCisuQiBWSVNVQUwKK25vcgorLkIgRURJVE9SCitpcyBkZWZpbmVkLgorLlRQCisuQiBcJl5MCitSZWRyYXcgc2NyZWVuLgorLlRQCisuQiA6bgorR28gdG8ga3RoIG5leHQgZmlsZS4gIERlZmF1bHRzIHRvIDEuCisuVFAKKy5CIDpwCitHbyB0byBrdGggcHJldmlvdXMgZmlsZS4gIERlZmF1bHRzIHRvIDEuCisuVFAKKy5CIDpmCitEaXNwbGF5IGN1cnJlbnQgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlci4KKy5UUAorLkIgXCYuCitSZXBlYXQgcHJldmlvdXMgY29tbWFuZC4KKy5TSCBFTlZJUk9OTUVOVAorVGhlCisuQiBtb3JlCitjb21tYW5kIHJlc3BlY3RzIHRoZSBmb2xsb3dpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzLCBpZiB0aGV5IGV4aXN0OgorLlRQCisuQiBNT1JFCitUaGlzIHZhcmlhYmxlIG1heSBiZSBzZXQgd2l0aCBmYXZvcmVkIG9wdGlvbnMgdG8KKy5CUiBtb3JlIC4KKy5UUAorLkIgU0hFTEwKK0N1cnJlbnQgc2hlbGwgaW4gdXNlIChub3JtYWxseSBzZXQgYnkgdGhlIHNoZWxsIGF0IGxvZ2luIHRpbWUpLgorLlRQCisuQiBURVJNCitUaGUgdGVybWluYWwgdHlwZSB1c2VkIGJ5IFxmQm1vcmVcZlIgdG8gZ2V0IHRoZSB0ZXJtaW5hbAorY2hhcmFjdGVyaXN0aWNzIG5lY2Vzc2FyeSB0byBtYW5pcHVsYXRlIHRoZSBzY3JlZW4uCisuVFAKKy5CIFZJU1VBTAorVGhlIGVkaXRvciB0aGUgdXNlciBwcmVmZXJzLiAgSW52b2tlZCB3aGVuIGNvbW1hbmQga2V5CisuSSB2CitpcyBwcmVzc2VkLgorLlRQCisuQiBFRElUT1IKK1RoZSBlZGl0b3Igb2YgY2hvaWNlIHdoZW4KKy5CIFZJU1VBTAoraXMgbm90IHNwZWNpZmllZC4KKy5TSCBTRUUgQUxTTworLkJSIGxlc3MgKDEpLAorLkJSIHZpICgxKQorLlNIIEFVVEhPUlMKK0VyaWMgU2hpZW5icm9vZCwgVUMgQmVya2VsZXkKKy5icgorTW9kaWZpZWQgYnkgR2VvZmYgUGVjaywgVUNCIHRvIGFkZCB1bmRlcmxpbmluZywgc2luZ2xlIHNwYWNpbmcKKy5icgorTW9kaWZpZWQgYnkgSm9obiBGb2RlcmFybywgVUNCIHRvIGFkZCAtYyBhbmQgTU9SRSBlbnZpcm9ubWVudCB2YXJpYWJsZQorLlNIIEhJU1RPUlkKK1RoZQorLkIgbW9yZQorY29tbWFuZCBhcHBlYXJlZCBpbiAzLjBCU0QuICBUaGlzIG1hbiBwYWdlIGRvY3VtZW50cworLkIgbW9yZQordmVyc2lvbiA1LjE5IChCZXJrZWxleSA2LzI5Lzg4KSwgd2hpY2ggaXMgY3VycmVudGx5IGluIHVzZSBpbiB0aGUgTGludXgKK2NvbW11bml0eS4gIERvY3VtZW50YXRpb24gd2FzIHByb2R1Y2VkIHVzaW5nIHNldmVyYWwgb3RoZXIgdmVyc2lvbnMgb2YgdGhlCittYW4gcGFnZSwgYW5kIGV4dGVuc2l2ZSBpbnNwZWN0aW9uIG9mIHRoZSBzb3VyY2UgY29kZS4KKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBtb3JlIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGZ0cDovL1w6ZnRwLmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvdGV4dC11dGlscy9tb3JlLmMgYi90ZXh0LXV0aWxzL21vcmUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NmJhMjRhCi0tLSAvZGV2L251bGwKKysrIGIvdGV4dC11dGlscy9tb3JlLmMKQEAgLTAsMCArMSwyMTMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAxOTgwIFRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMgYXJlIHBlcm1pdHRlZAorICogcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwYXJhZ3JhcGggYXJlCisgKiBkdXBsaWNhdGVkIGluIGFsbCBzdWNoIGZvcm1zIGFuZCB0aGF0IGFueSBkb2N1bWVudGF0aW9uLAorICogYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzLCBhbmQgb3RoZXIgbWF0ZXJpYWxzIHJlbGF0ZWQgdG8gc3VjaAorICogZGlzdHJpYnV0aW9uIGFuZCB1c2UgYWNrbm93bGVkZ2UgdGhhdCB0aGUgc29mdHdhcmUgd2FzIGRldmVsb3BlZAorICogYnkgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYSwgQmVya2VsZXkuICBUaGUgbmFtZSBvZiB0aGUKKyAqIFVuaXZlcnNpdHkgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgV0lUSE9VVCBBTlkgRVhQUkVTUyBPUgorICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIFdJVEhPVVQgTElNSVRBVElPTiwgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRJQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KKyAqLworCisvKiBtb3JlLmMgLSBHZW5lcmFsIHB1cnBvc2UgdHR5IG91dHB1dCBmaWx0ZXIgYW5kIGZpbGUgcGVydXNhbCBwcm9ncmFtCisgKgorICogYnkgRXJpYyBTaGllbmJyb29kLCBVQyBCZXJrZWxleQorICoKKyAqIG1vZGlmaWVkIGJ5IEdlb2ZmIFBlY2sKKyAqCVVDQiB0byBhZGQgdW5kZXJsaW5pbmcsIHNpbmdsZSBzcGFjaW5nCisgKiBtb2RpZmllZCBieSBKb2huIEZvZGVyYXJvCisgKglVQ0IgdG8gYWRkIC1jIGFuZCBNT1JFIGVudmlyb25tZW50IHZhcmlhYmxlCisgKiBtb2RpZmllZCBieSBFcmlrIFRyb2FuIDxld3RAcmVkaGF0LmNvbT4KKyAqCXRvIGJlIG1vcmUgcG9zaXggYW5kIHNvIGNvbXBpbGUgb24gbGludXgvYXhwLgorICogbW9kaWZpZWQgYnkgS2FycyBkZSBKb25nIDxqb25na0Bjcy51dHdlbnRlLm5sPgorICoJdG8gdXNlIHRlcm1pbmZvIGluc3RlYWQgb2YgdGVybWNhcC4KKyAqIDE5OTktMDItMjIgQXJrYWRpdXN6IE1pxZtraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4KKyAqCWFkZGVkIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0CisgKiAxOTk5LTAzLTE5IEFybmFsZG8gQ2FydmFsaG8gZGUgTWVsbyA8YWNtZUBjb25lY3RpdmEuY29tLmJyPgorICoJbW9yZSBubHMgdHJhbnNsYXRhYmxlIHN0cmluZ3MKKyAqIDE5OTktMDUtMDkgYWViCisgKglhcHBsaWVkIGEgUmVkSGF0IHBhdGNoIChzZXRqbXAtPnNpZ3NldGptcCk7IHdpdGhvdXQgaXQgYSBzZWNvbmQKKyAqCV5aIHdvdWxkIGZhaWwuCisgKiAxOTk5LTA1LTA5IGFlYgorICoJdW5kb25lIEthcnMnIHdvcmssIHNvIHRoYXQgbW9yZSB3b3JrcyB3aXRob3V0IGxpYmN1cnNlcyAoYW5kCisgKgloZW5jZSBjYW4gYmUgaW4gL2JpbiB3aXRoIGxpYmN1cnNlcyBiZWluZyBpbgorICoJL3Vzci9saWIgd2hpY2ggbWF5IG5vdCBiZSBtb3VudGVkKS4gIEhvd2V2ZXIsIHdoZW4gdGVybWNhcCBpcyBub3QKKyAqCXByZXNlbnQgY3Vyc2VzIGNhbiBzdGlsbCBiZSB1c2VkLgorICogMjAxMC0xMC0yMSBEYXZpZGxvaHIgQnVlc28gPGRhdmVAZ251Lm9yZz4KKyAqCW1vZGlmaWVkIG1lbSBhbGxvY2F0aW9uIGhhbmRsaW5nIGZvciB1dGlsLWxpbnV4CisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CQkvKiBmb3IgYWxsb2NhKCkgKi8KKyNpbmNsdWRlIDxzdGRhcmcuaD4JCS8qIGZvciB2YV9zdGFydCgpIGV0YyAqLworI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHRlcm1pb3MuaD4KKyNpbmNsdWRlIDxzZXRqbXAuaD4KKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy9maWxlLmg+CisjaW5jbHVkZSA8c3lzL3dhaXQuaD4KKworI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAid2lkZWNoYXIuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCisjaW5jbHVkZSA8cmVnZXguaD4KKworI2lmZGVmIFRFU1RfUFJPR1JBTQorIyBkZWZpbmUgTk9OX0lOVEVSQUNUSVZFX01PUkUgMQorI2VuZGlmCisKKyNpZm5kZWYgWFRBQlMKKyMgZGVmaW5lIFhUQUJTCVRBQjMKKyNlbmRpZgorCisjZGVmaW5lIFZJCSJ2aSIJLyogZm91bmQgb24gdGhlIHVzZXIncyBwYXRoICovCisKKyNkZWZpbmUgRm9wZW4ocyxtKQkoQ3VycmxpbmUgPSAwLGZpbGVfcG9zPTAsZm9wZW4ocyxtKSkKKyNkZWZpbmUgRnRlbGwoZikJZmlsZV9wb3MKKyNkZWZpbmUgRnNlZWsoZixvZmYpCShmaWxlX3Bvcz1vZmYsZnNlZWsoZixvZmYsMCkpCisjZGVmaW5lIEdldGMoZikJCSgrK2ZpbGVfcG9zLCBnZXRjKGYpKQorI2RlZmluZSBVbmdldGMoYyxmKQkoLS1maWxlX3BvcywgdW5nZXRjKGMsZikpCisjZGVmaW5lIHB1dGNlcnIoYykJZnB1dGMoYywgc3RkZXJyKQorI2RlZmluZSBwdXRzZXJyKHMpCWZwdXRzKHMsIHN0ZGVycikKKyNkZWZpbmUgcHV0c291dChzKQlmcHV0cyhzLCBzdGRvdXQpCisKKyNkZWZpbmUgc3R0eShmZCxhcmdwKSAgdGNzZXRhdHRyKGZkLFRDU0FOT1csYXJncCkKKworLyogc29tZSBmdW5jdGlvbiBkZWNsYXJhdGlvbnMgKi8KK3ZvaWQgaW5pdHRlcm0odm9pZCk7Cit2b2lkIGtpbGxfbGluZSh2b2lkKTsKK3ZvaWQgZG9jbGVhcih2b2lkKTsKK3ZvaWQgY2xlYXJlb2wodm9pZCk7Cit2b2lkIGNscmVvcyh2b2lkKTsKK3ZvaWQgaG9tZSh2b2lkKTsKK3ZvaWQgbW9yZV9lcnJvcihjaGFyICptZXNzKTsKK3ZvaWQgZG9fc2hlbGwoY2hhciAqZmlsZW5hbWUpOworaW50IGNvbG9uKGNoYXIgKmZpbGVuYW1lLCBpbnQgY21kLCBpbnQgbmxpbmVzKTsKK2ludCBleHBhbmQoY2hhciAqKm91dGJ1ZiwgY2hhciAqaW5idWYpOwordm9pZCBhcmdzY2FuKGNoYXIgKnMpOwordm9pZCByZGxpbmUocmVnaXN0ZXIgRklMRSAqZik7Cit2b2lkIGNvcHlfZmlsZShyZWdpc3RlciBGSUxFICpmKTsKK3ZvaWQgc2VhcmNoKGNoYXIgYnVmW10sIEZJTEUgKmZpbGUsIHJlZ2lzdGVyIGludCBuKTsKK3ZvaWQgc2tpcGYocmVnaXN0ZXIgaW50IG5za2lwKTsKK3ZvaWQgc2tpcGxucyhyZWdpc3RlciBpbnQgbiwgcmVnaXN0ZXIgRklMRSAqZik7Cit2b2lkIHNjcmVlbihyZWdpc3RlciBGSUxFICpmLCByZWdpc3RlciBpbnQgbnVtX2xpbmVzKTsKK2ludCBjb21tYW5kKGNoYXIgKmZpbGVuYW1lLCByZWdpc3RlciBGSUxFICpmKTsKK3ZvaWQgZXJhc2VwKHJlZ2lzdGVyIGludCBjb2wpOwordm9pZCBzaG93KHJlZ2lzdGVyIGNoYXIgY2gpOwordm9pZCBzZXRfdHR5KHZvaWQpOwordm9pZCByZXNldF90dHkodm9pZCk7Cit2b2lkIHR0eWluKGNoYXIgYnVmW10sIHJlZ2lzdGVyIGludCBubWF4LCBjaGFyIHBjaGFyKTsKK2ludCBudW1iZXIoY2hhciAqY21kKTsKK2ludCByZWFkY2godm9pZCk7CitpbnQgZ2V0X2xpbmUocmVnaXN0ZXIgRklMRSAqZiwgaW50ICpsZW5ndGgpOwordm9pZCBwcmJ1ZihyZWdpc3RlciBjaGFyICpzLCByZWdpc3RlciBpbnQgbik7Cit2b2lkIGV4ZWN1dGUoY2hhciAqZmlsZW5hbWUsIGNoYXIgKmNtZCwgLi4uKTsKK0ZJTEUgKmNoZWNrZihjaGFyICosIGludCAqKTsKK3ZvaWQgcHJlcGFyZV9saW5lX2J1ZmZlcih2b2lkKTsKKworI2RlZmluZSBUQlVGU0laCQkxMDI0CisjZGVmaW5lIExJTlNJWgkJMjU2CS8qIG1pbmltYWwgTGluZSBidWZmZXIgc2l6ZSAqLworI2RlZmluZSBjdHJsKGxldHRlcikJKGxldHRlciAmIDA3NykKKyNkZWZpbmUgUlVCT1VUCQknXDE3NycKKyNkZWZpbmUgRVNDCQknXDAzMycKKyNkZWZpbmUgUVVJVAkJJ1wwMzQnCisjZGVmaW5lIFNDUk9MTF9MRU4JMTEKKyNkZWZpbmUgTElORVNfUEVSX1BBR0UJMjQKKyNkZWZpbmUgTlVNX0NPTFVNTlMJODAKKyNkZWZpbmUgVEVSTUlOQUxfQlVGCTQwOTYKKyNkZWZpbmUgSU5JVF9CVUYJODAKKyNkZWZpbmUgU0hFTExfTElORQkxMDAwCisjZGVmaW5lIENPTU1BTkRfQlVGCTIwMAorI2RlZmluZSBSRUdFUlJfQlVGCU5VTV9DT0xVTU5TCisKK3N0cnVjdCB0ZXJtaW9zIG90dHksIHNhdmV0dHkwOworbG9uZyBmaWxlX3BvcywgZmlsZV9zaXplOworaW50IGZudW0sIG5vX2ludHR5LCBub190dHksIHNsb3dfdHR5OworaW50IGR1bV9vcHQsIGRsaW5lczsKK3ZvaWQgb25xdWl0KGludCksIG9uc3VzcChpbnQpLCBjaGd3aW5zeihpbnQpLCBlbmRfaXQoaW50KTsKK2ludCBuc2Nyb2xsID0gU0NST0xMX0xFTjsJLyogTnVtYmVyIG9mIGxpbmVzIHNjcm9sbGVkIGJ5ICdkJyAqLworaW50IGZvbGRfb3B0ID0gMTsJCS8qIEZvbGQgbG9uZyBsaW5lcyAqLworaW50IHN0b3Bfb3B0ID0gMTsJCS8qIFN0b3AgYWZ0ZXIgZm9ybSBmZWVkcyAqLworaW50IHNzcF9vcHQgPSAwOwkJLyogU3VwcHJlc3Mgd2hpdGUgc3BhY2UgKi8KK2ludCB1bF9vcHQgPSAxOwkJCS8qIFVuZGVybGluZSBhcyBiZXN0IHdlIGNhbiAqLworaW50IHByb21wdGxlbjsKK2ludCBDdXJybGluZTsJCQkvKiBMaW5lIHdlIGFyZSBjdXJyZW50bHkgYXQgKi8KK2ludCBzdGFydHVwID0gMTsKK2ludCBmaXJzdGYgPSAxOworaW50IG5vdGVsbCA9IDE7CitpbnQgZG9jcnRlcmFzZSA9IDA7CitpbnQgZG9jcnRraWxsID0gMDsKK2ludCBiYWRfc287CQkJLyogVHJ1ZSBpZiBvdmVyd3JpdGluZyBkb2VzIG5vdCB0dXJuCisJCQkJICAgb2ZmIHN0YW5kb3V0ICovCitpbnQgaW53YWl0LCBQYXVzZSwgZXJyb3JzOworaW50IHdpdGhpbjsJCQkvKiB0cnVlIGlmIHdlIGFyZSB3aXRoaW4gYSBmaWxlLAorCQkJCSAgIGZhbHNlIGlmIHdlIGFyZSBiZXR3ZWVuIGZpbGVzICovCitpbnQgaGFyZCwgZHVtYiwgbm9zY3JvbGwsIGhhcmR0YWJzLCBjbHJlb2wsIGVhdG5sOworaW50IGNhdGNoX3N1c3A7CQkJLyogV2Ugc2hvdWxkIGNhdGNoIHRoZSBTSUdUU1RQIHNpZ25hbCAqLworY2hhciAqKmZuYW1lczsJCQkvKiBUaGUgbGlzdCBvZiBmaWxlIG5hbWVzICovCitpbnQgbmZpbGVzOwkJCS8qIE51bWJlciBvZiBmaWxlcyBsZWZ0IHRvIHByb2Nlc3MgKi8KK2NoYXIgKnNoZWxsOwkJCS8qIFRoZSBuYW1lIG9mIHRoZSBzaGVsbCB0byB1c2UgKi8KK2ludCBzaGVsbHA7CQkJLyogQSBwcmV2aW91cyBzaGVsbCBjb21tYW5kIGV4aXN0cyAqLworc2lnam1wX2J1ZiByZXN0b3JlOworY2hhciAqTGluZTsJCQkvKiBMaW5lIGJ1ZmZlciAqLworc2l6ZV90IExpbmVMZW47CQkJLyogc2l6ZSBvZiBMaW5lIGJ1ZmZlciAqLworaW50IExwcCA9IExJTkVTX1BFUl9QQUdFOwkvKiBsaW5lcyBwZXIgcGFnZSAqLworY2hhciAqQ2xlYXI7CQkJLyogY2xlYXIgc2NyZWVuICovCitjaGFyICplcmFzZWxuOwkJCS8qIGVyYXNlIGxpbmUgKi8KK2NoYXIgKlNlbnRlciwgKlNleGl0OwkJLyogZW50ZXIgYW5kIGV4aXQgc3RhbmRvdXQgbW9kZSAqLworY2hhciAqVUxlbnRlciwgKlVMZXhpdDsJCS8qIGVudGVyIGFuZCBleGl0IHVuZGVybGluZSBtb2RlICovCitjaGFyICpjaFVMOwkJCS8qIHVuZGVybGluZSBjaGFyYWN0ZXIgKi8KK2NoYXIgKmNoQlM7CQkJLyogYmFja3NwYWNlIGNoYXJhY3RlciAqLworY2hhciAqSG9tZTsJCQkvKiBnbyB0byBob21lICovCitjaGFyICpjdXJzb3JtOwkJCS8qIGN1cnNvciBtb3ZlbWVudCAqLworY2hhciBjdXJzb3Job21lWzQwXTsJCS8qIGNvbnRhaW5zIGN1cnNvciBtb3ZlbWVudCB0byBob21lICovCitjaGFyICpFb2RDbHI7CQkJLyogY2xlYXIgcmVzdCBvZiBzY3JlZW4gKi8KK2ludCBNY29sID0gTlVNX0NPTFVNTlM7CQkvKiBudW1iZXIgb2YgY29sdW1ucyAqLworaW50IFdyYXAgPSAxOwkJCS8qIHNldCBpZiBhdXRvbWFyZ2lucyAqLworaW50IHNvZ2xpdGNoOwkJCS8qIHRlcm1pbmFsIGhhcyBzdGFuZG91dCBtb2RlIGdsaXRjaCAqLworaW50IHVsZ2xpdGNoOwkJCS8qIHRlcm1pbmFsIGhhcyB1bmRlcmxpbmUgbW9kZSBnbGl0Y2ggKi8KK2ludCBwc3RhdGUgPSAwOwkJCS8qIGN1cnJlbnQgVUwgc3RhdGUgKi8KK3N0YXRpYyBpbnQgbWFnaWMoRklMRSAqLCBjaGFyICopOworY2hhciAqcHJldmlvdXNyZTsJCS8qIHByZXZpb3VzIHNlYXJjaCgpIGJ1ZltdIGl0ZW0gKi8KK3N0cnVjdCB7CisJbG9uZyBjaHJjdHIsIGxpbmU7Cit9IGNvbnRleHQsIHNjcmVlbl9zdGFydDsKK2V4dGVybiBjaGFyIFBDOwkJCS8qIHBhZCBjaGFyYWN0ZXIgKi8KKworI2luY2x1ZGUgPHRlcm0uaD4JCS8qIGluY2x1ZGUgYWZ0ZXIgPGN1cnNlcy5oPiAqLworCisjZGVmaW5lIFRFUk1fQVVUT19SSUdIVF9NQVJHSU4gICAgImFtIgorI2RlZmluZSBURVJNX0NFT0wgICAgICAgICAgICAgICAgICJ4aHAiCisjZGVmaW5lIFRFUk1fQ0xFQVIgICAgICAgICAgICAgICAgImNsZWFyIgorI2RlZmluZSBURVJNX0NMRUFSX1RPX0xJTkVfRU5EICAgICJlbCIKKyNkZWZpbmUgVEVSTV9DTEVBUl9UT19TQ1JFRU5fRU5EICAiZWQiCisjZGVmaW5lIFRFUk1fQ09MUyAgICAgICAgICAgICAgICAgImNvbHMiCisjZGVmaW5lIFRFUk1fQ1VSU09SX0FERFJFU1MgICAgICAgImN1cCIKKyNkZWZpbmUgVEVSTV9FQVRfTkVXX0xJTkUgICAgICAgICAieGVubCIKKyNkZWZpbmUgVEVSTV9FTlRFUl9VTkRFUkxJTkUgICAgICAic211bCIKKyNkZWZpbmUgVEVSTV9FWElUX1NUQU5EQVJEX01PREUgICAicm1zbyIKKyNkZWZpbmUgVEVSTV9FWElUX1VOREVSTElORSAgICAgICAicm11bCIKKyNkZWZpbmUgVEVSTV9IQVJEX0NPUFkgICAgICAgICAgICAiaGMiCisjZGVmaW5lIFRFUk1fSE9NRSAgICAgICAgICAgICAgICAgImhvbWUiCisjZGVmaW5lIFRFUk1fTElORV9ET1dOICAgICAgICAgICAgImN1ZDEiCisjZGVmaW5lIFRFUk1fTElORVMgICAgICAgICAgICAgICAgImxpbmVzIgorI2RlZmluZSBURVJNX09WRVJfU1RSSUtFICAgICAgICAgICJvcyIKKyNkZWZpbmUgVEVSTV9QQURfQ0hBUiAgICAgICAgICAgICAicGFkIgorI2RlZmluZSBURVJNX1NUQU5EQVJEX01PREUgICAgICAgICJzbXNvIgorI2RlZmluZSBURVJNX1NURF9NT0RFX0dMSVRDSCAgICAgICJ4bWMiCisjZGVmaW5lIFRFUk1fVU5ERVJMSU5FX0NIQVIgICAgICAgInVjIgorI2RlZmluZSBURVJNX1VOREVSTElORSAgICAgICAgICAgICJ1bCIKKworc3RhdGljIHZvaWQgcHV0c3RyaW5nKGNoYXIgKnMpCit7CisJdHB1dHMocywgZmlsZW5vKHN0ZG91dCksIHB1dGNoYXIpOwkvKiBwdXRwKHMpOyAqLworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZShGSUxFICpvdXQpCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJXMgW29wdGlvbnNdIDxmaWxlPi4uLlxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJBIGZpbGUgcGVydXNhbCBmaWx0ZXIgZm9yIENSVCB2aWV3aW5nLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtZCAgICAgICAgICBkaXNwbGF5IGhlbHAgaW5zdGVhZCBvZiByaW5naW5nIGJlbGxcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZiAgICAgICAgICBjb3VudCBsb2dpY2FsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1sICAgICAgICAgIHN1cHByZXNzIHBhdXNlIGFmdGVyIGZvcm0gZmVlZFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1jICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGRpc3BsYXkgdGV4dCBhbmQgY2xlYW4gbGluZSBlbmRzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXAgICAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcyAgICAgICAgICBzcXVlZXplIG11bHRpcGxlIGJsYW5rIGxpbmVzIGludG8gb25lXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXUgICAgICAgICAgc3VwcHJlc3MgdW5kZXJsaW5pbmdcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtPG51bWJlcj4gICB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIpLCBvdXQpOworCWZwdXRzKF8oIiArPG51bWJlcj4gICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gbGluZSBudW1iZXJcbiIpLCBvdXQpOworCWZwdXRzKF8oIiArLzxzdHJpbmc+ICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gc2VhcmNoIHN0cmluZyBtYXRjaFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1WICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIiksIG91dCk7CisJZnByaW50ZihvdXQsIFVTQUdFX01BTl9UQUlMKCJtb3JlKDEpIikpOworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlGSUxFICpmOworCWNoYXIgKnM7CisJaW50IGNoOworCWludCBsZWZ0OworCWludCBwcm5hbWVzID0gMDsKKwlpbnQgaW5pdG9wdCA9IDA7CisJaW50IHNyY2hvcHQgPSAwOworCWludCBjbGVhcml0ID0gMDsKKwlpbnQgaW5pdGxpbmUgPSAwOworCWNoYXIgKmluaXRidWYgPSBOVUxMOworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCW5maWxlcyA9IGFyZ2M7CisJZm5hbWVzID0gYXJndjsKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJaW5pdHRlcm0oKTsKKworCS8qIEF1dG8gc2V0IG5vIHNjcm9sbCBvbiB3aGVuIGJpbmFyeSBpcyBjYWxsZWQgcGFnZSAqLworCWlmICghKHN0cmNtcChwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSwgInBhZ2UiKSkpCisJCW5vc2Nyb2xsKys7CisKKwlwcmVwYXJlX2xpbmVfYnVmZmVyKCk7CisKKwluc2Nyb2xsID0gTHBwIC8gMiAtIDE7CisJaWYgKG5zY3JvbGwgPD0gMCkKKwkJbnNjcm9sbCA9IDE7CisKKwlpZiAoKHMgPSBnZXRlbnYoIk1PUkUiKSkgIT0gTlVMTCkKKwkJYXJnc2NhbihzKTsKKworCXdoaWxlICgtLW5maWxlcyA+IDApIHsKKwkJaWYgKChjaCA9ICgqKytmbmFtZXMpWzBdKSA9PSAnLScpIHsKKwkJCWFyZ3NjYW4oKmZuYW1lcyArIDEpOworCQl9IGVsc2UgaWYgKGNoID09ICcrJykgeworCQkJcyA9ICpmbmFtZXM7CisJCQlpZiAoKisrcyA9PSAnLycpIHsKKwkJCQlzcmNob3B0Kys7CisJCQkJaW5pdGJ1ZiA9IHhzdHJkdXAocyArIDEpOworCQkJfSBlbHNlIHsKKwkJCQlpbml0b3B0Kys7CisJCQkJZm9yIChpbml0bGluZSA9IDA7ICpzICE9ICdcMCc7IHMrKykKKwkJCQkJaWYgKGlzZGlnaXQoKnMpKQorCQkJCQkJaW5pdGxpbmUgPQorCQkJCQkJICAgIGluaXRsaW5lICogMTAgKyAqcyAtICcwJzsKKwkJCQktLWluaXRsaW5lOworCQkJfQorCQl9IGVsc2UKKwkJCWJyZWFrOworCX0KKwkvKiBhbGxvdyBjbHJlb2wgb25seSBpZiBIb21lIGFuZCBlcmFzZWxuIGFuZCBFb2RDbHIgc3RyaW5ncyBhcmUKKwkgKiBkZWZpbmVkLCBhbmQgaW4gdGhhdCBjYXNlLCBtYWtlIHN1cmUgd2UgYXJlIGluIG5vc2Nyb2xsIG1vZGUgKi8KKwlpZiAoY2xyZW9sKSB7CisJCWlmICgoSG9tZSA9PSBOVUxMKSB8fCAoKkhvbWUgPT0gJ1wwJykgfHwKKwkJICAgIChlcmFzZWxuID09IE5VTEwpIHx8ICgqZXJhc2VsbiA9PSAnXDAnKSB8fAorCQkgICAgKEVvZENsciA9PSBOVUxMKSB8fCAoKkVvZENsciA9PSAnXDAnKSkKKwkJCWNscmVvbCA9IDA7CisJCWVsc2UKKwkJCW5vc2Nyb2xsID0gMTsKKwl9CisJaWYgKGRsaW5lcyA9PSAwKQorCQlkbGluZXMgPSBMcHAgLSAxOwkvKiB3YXM6IExwcCAtIChub3Njcm9sbCA/IDEgOiAyKSAqLworCWxlZnQgPSBkbGluZXM7CisJaWYgKG5maWxlcyA+IDEpCisJCXBybmFtZXMrKzsKKwlpZiAoIW5vX2ludHR5ICYmIG5maWxlcyA9PSAwKQorCQl1c2FnZShzdGRlcnIpOworCWVsc2UKKwkJZiA9IHN0ZGluOworCWlmICghbm9fdHR5KSB7CisJCXNpZ25hbChTSUdRVUlULCBvbnF1aXQpOworCQlzaWduYWwoU0lHSU5ULCBlbmRfaXQpOworI2lmZGVmIFNJR1dJTkNICisJCXNpZ25hbChTSUdXSU5DSCwgY2hnd2luc3opOworI2VuZGlmCisJCWlmIChzaWduYWwoU0lHVFNUUCwgU0lHX0lHTikgPT0gU0lHX0RGTCkgeworCQkJc2lnbmFsKFNJR1RTVFAsIG9uc3VzcCk7CisJCQljYXRjaF9zdXNwKys7CisJCX0KKwkJc3R0eShmaWxlbm8oc3RkZXJyKSwgJm90dHkpOworCX0KKwlpZiAobm9faW50dHkpIHsKKwkJaWYgKG5vX3R0eSkKKwkJCWNvcHlfZmlsZShzdGRpbik7CisJCWVsc2UgeworCQkJaWYgKChjaCA9IEdldGMoZikpID09ICdcZicpCisJCQkJZG9jbGVhcigpOworCQkJZWxzZSB7CisJCQkJVW5nZXRjKGNoLCBmKTsKKwkJCQlpZiAobm9zY3JvbGwgJiYgKGNoICE9IEVPRikpIHsKKwkJCQkJaWYgKGNscmVvbCkKKwkJCQkJCWhvbWUoKTsKKwkJCQkJZWxzZQorCQkJCQkJZG9jbGVhcigpOworCQkJCX0KKwkJCX0KKwkJCWlmIChzcmNob3B0KSB7CisJCQkJZnJlZShwcmV2aW91c3JlKTsKKwkJCQlwcmV2aW91c3JlID0geHN0cmR1cChpbml0YnVmKTsKKwkJCQlzZWFyY2goaW5pdGJ1Ziwgc3RkaW4sIDEpOworCQkJCWlmIChub3Njcm9sbCkKKwkJCQkJbGVmdC0tOworCQkJfSBlbHNlIGlmIChpbml0b3B0KQorCQkJCXNraXBsbnMoaW5pdGxpbmUsIHN0ZGluKTsKKwkJCXNjcmVlbihzdGRpbiwgbGVmdCk7CisJCX0KKwkJbm9faW50dHkgPSAwOworCQlwcm5hbWVzKys7CisJCWZpcnN0ZiA9IDA7CisJfQorCisJd2hpbGUgKGZudW0gPCBuZmlsZXMpIHsKKwkJaWYgKChmID0gY2hlY2tmKGZuYW1lc1tmbnVtXSwgJmNsZWFyaXQpKSAhPSBOVUxMKSB7CisJCQljb250ZXh0LmxpbmUgPSBjb250ZXh0LmNocmN0ciA9IDA7CisJCQlDdXJybGluZSA9IDA7CisJCQlpZiAoZmlyc3RmKQorCQkJCXNpZ3NldGptcChyZXN0b3JlLCAxKTsKKwkJCWlmIChmaXJzdGYpIHsKKwkJCQlmaXJzdGYgPSAwOworCQkJCWlmIChzcmNob3B0KSB7CisJCQkJCWZyZWUocHJldmlvdXNyZSk7CisJCQkJCXByZXZpb3VzcmUgPSB4c3RyZHVwKGluaXRidWYpOworCQkJCQlzZWFyY2goaW5pdGJ1ZiwgZiwgMSk7CisJCQkJCWlmIChub3Njcm9sbCkKKwkJCQkJCWxlZnQtLTsKKwkJCQl9IGVsc2UgaWYgKGluaXRvcHQpCisJCQkJCXNraXBsbnMoaW5pdGxpbmUsIGYpOworCQkJfSBlbHNlIGlmIChmbnVtIDwgbmZpbGVzICYmICFub190dHkpIHsKKwkJCQlzaWdzZXRqbXAocmVzdG9yZSwgMSk7CisJCQkJbGVmdCA9IGNvbW1hbmQoZm5hbWVzW2ZudW1dLCBmKTsKKwkJCX0KKwkJCWlmIChsZWZ0ICE9IDApIHsKKwkJCQlpZiAoKG5vc2Nyb2xsIHx8IGNsZWFyaXQpCisJCQkJICAgICYmIChmaWxlX3NpemUgIT0gTE9OR19NQVgpKSB7CisJCQkJCWlmIChjbHJlb2wpCisJCQkJCQlob21lKCk7CisJCQkJCWVsc2UKKwkJCQkJCWRvY2xlYXIoKTsKKwkJCQl9CisJCQkJaWYgKHBybmFtZXMpIHsKKwkJCQkJaWYgKGJhZF9zbykKKwkJCQkJCWVyYXNlcCgwKTsKKwkJCQkJaWYgKGNscmVvbCkKKwkJCQkJCWNsZWFyZW9sKCk7CisJCQkJCXB1dHNvdXQoIjo6Ojo6Ojo6Ojo6Ojo6Iik7CisJCQkJCWlmIChwcm9tcHRsZW4gPiAxNCkKKwkJCQkJCWVyYXNlcCgxNCk7CisJCQkJCXB1dGNoYXIoJ1xuJyk7CisJCQkJCWlmIChjbHJlb2wpCisJCQkJCQljbGVhcmVvbCgpOworCQkJCQlwdXRzKGZuYW1lc1tmbnVtXSk7CisJCQkJCWlmIChjbHJlb2wpCisJCQkJCQljbGVhcmVvbCgpOworCQkJCQlwdXRzKCI6Ojo6Ojo6Ojo6Ojo6OiIpOworCQkJCQlpZiAobGVmdCA+IExwcCAtIDQpCisJCQkJCQlsZWZ0ID0gTHBwIC0gNDsKKwkJCQl9CisJCQkJaWYgKG5vX3R0eSkKKwkJCQkJY29weV9maWxlKGYpOworCQkJCWVsc2UgeworCQkJCQl3aXRoaW4rKzsKKwkJCQkJc2NyZWVuKGYsIGxlZnQpOworCQkJCQl3aXRoaW4gPSAwOworCQkJCX0KKwkJCX0KKwkJCXNpZ3NldGptcChyZXN0b3JlLCAxKTsKKwkJCWZmbHVzaChzdGRvdXQpOworCQkJZmNsb3NlKGYpOworCQkJc2NyZWVuX3N0YXJ0LmxpbmUgPSBzY3JlZW5fc3RhcnQuY2hyY3RyID0gMEw7CisJCQljb250ZXh0LmxpbmUgPSBjb250ZXh0LmNocmN0ciA9IDBMOworCQl9CisJCWZudW0rKzsKKwkJZmlyc3RmID0gMDsKKwl9CisJZnJlZShwcmV2aW91c3JlKTsKKwlmcmVlKGluaXRidWYpOworCWZyZWUoTGluZSk7CisJcmVzZXRfdHR5KCk7CisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCit2b2lkIGFyZ3NjYW4oY2hhciAqcykKK3sKKwlpbnQgc2Vlbl9udW0gPSAwOworCisJd2hpbGUgKCpzICE9ICdcMCcpIHsKKwkJc3dpdGNoICgqcykgeworCQljYXNlICcwJzoKKwkJY2FzZSAnMSc6CisJCWNhc2UgJzInOgorCQljYXNlICczJzoKKwkJY2FzZSAnNCc6CisJCWNhc2UgJzUnOgorCQljYXNlICc2JzoKKwkJY2FzZSAnNyc6CisJCWNhc2UgJzgnOgorCQljYXNlICc5JzoKKwkJCWlmICghc2Vlbl9udW0pIHsKKwkJCQlkbGluZXMgPSAwOworCQkJCXNlZW5fbnVtID0gMTsKKwkJCX0KKwkJCWRsaW5lcyA9IGRsaW5lcyAqIDEwICsgKnMgLSAnMCc7CisJCQlicmVhazsKKwkJY2FzZSAnZCc6CisJCQlkdW1fb3B0ID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdsJzoKKwkJCXN0b3Bfb3B0ID0gMDsKKwkJCWJyZWFrOworCQljYXNlICdmJzoKKwkJCWZvbGRfb3B0ID0gMDsKKwkJCWJyZWFrOworCQljYXNlICdwJzoKKwkJCW5vc2Nyb2xsKys7CisJCQlicmVhazsKKwkJY2FzZSAnYyc6CisJCQljbHJlb2wrKzsKKwkJCWJyZWFrOworCQljYXNlICdzJzoKKwkJCXNzcF9vcHQgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3UnOgorCQkJdWxfb3B0ID0gMDsKKwkJCWJyZWFrOworCQljYXNlICctJzoKKwkJY2FzZSAnICc6CisJCWNhc2UgJ1x0JzoKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJZXhpdChFWElUX1NVQ0NFU1MpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQl3YXJueChfKCJ1bmtub3duIG9wdGlvbiAtJXMiKSwgcyk7CisJCQl1c2FnZShzdGRlcnIpOworCQkJYnJlYWs7CisJCX0KKwkJcysrOworCX0KK30KKworLyogQ2hlY2sgd2hldGhlciB0aGUgZmlsZSBuYW1lZCBieSBmcyBpcyBhbiBBU0NJSSBmaWxlIHdoaWNoIHRoZSB1c2VyIG1heQorICogYWNjZXNzLiAgSWYgaXQgaXMsIHJldHVybiB0aGUgb3BlbmVkIGZpbGUuICBPdGhlcndpc2UgcmV0dXJuIE5VTEwuICovCitGSUxFICpjaGVja2YocmVnaXN0ZXIgY2hhciAqZnMsIGludCAqY2xlYXJmaXJzdCkKK3sKKwlzdHJ1Y3Qgc3RhdCBzdGJ1ZjsKKwlyZWdpc3RlciBGSUxFICpmOworCWludCBjOworCisJaWYgKHN0YXQoZnMsICZzdGJ1ZikgPT0gLTEpIHsKKwkJZmZsdXNoKHN0ZG91dCk7CisJCWlmIChjbHJlb2wpCisJCQljbGVhcmVvbCgpOworCQl3YXJuKF8oInN0YXQgb2YgJXMgZmFpbGVkIiksIGZzKTsKKwkJcmV0dXJuICgoRklMRSAqKU5VTEwpOworCX0KKwlpZiAoKHN0YnVmLnN0X21vZGUgJiBTX0lGTVQpID09IFNfSUZESVIpIHsKKwkJcHJpbnRmKF8oIlxuKioqICVzOiBkaXJlY3RvcnkgKioqXG5cbiIpLCBmcyk7CisJCXJldHVybiAoKEZJTEUgKilOVUxMKTsKKwl9CisJaWYgKChmID0gRm9wZW4oZnMsICJyIikpID09IE5VTEwpIHsKKwkJZmZsdXNoKHN0ZG91dCk7CisJCXdhcm4oXygiY2Fubm90IG9wZW4gJXMiKSwgZnMpOworCQlyZXR1cm4gKChGSUxFICopTlVMTCk7CisJfQorCWlmIChtYWdpYyhmLCBmcykpIHsKKwkJZmNsb3NlKGYpOworCQlyZXR1cm4gKChGSUxFICopTlVMTCk7CisJfQorCWZjbnRsKGZpbGVubyhmKSwgRl9TRVRGRCwgRkRfQ0xPRVhFQyk7CisJYyA9IEdldGMoZik7CisJKmNsZWFyZmlyc3QgPSAoYyA9PSAnXGYnKTsKKwlVbmdldGMoYywgZik7CisJaWYgKChmaWxlX3NpemUgPSBzdGJ1Zi5zdF9zaXplKSA9PSAwKQorCQlmaWxlX3NpemUgPSBMT05HX01BWDsKKwlyZXR1cm4gKGYpOworfQorCisvKiBtYWdpYyAtLQorICoJY2hlY2sgZm9yIGZpbGUgbWFnaWMgbnVtYmVycy4gIFRoaXMgY29kZSB3b3VsZCBiZXN0IGJlIHNoYXJlZAorICoJd2l0aCB0aGUgZmlsZSgxKSBwcm9ncmFtIG9yLCBwZXJoYXBzLCBtb3JlIHNob3VsZCBub3QgdHJ5IHRvIGJlCisgKglzbyBzbWFydC4gKi8KK3N0YXRpYyBpbnQgbWFnaWMoRklMRSAqZiwgY2hhciAqZnMpCit7CisJc2lnbmVkIGNoYXIgdHdvYnl0ZXNbMl07CisKKwkvKiBkb24ndCB0cnkgdG8gbG9vayBhaGVhZCBpZiB0aGUgaW5wdXQgaXMgdW5zZWVrYWJsZSAqLworCWlmIChmc2VlayhmLCAwTCwgU0VFS19TRVQpKQorCQlyZXR1cm4gMDsKKworCWlmIChmcmVhZCh0d29ieXRlcywgMiwgMSwgZikgPT0gMSkgeworCQlzd2l0Y2ggKHR3b2J5dGVzWzBdICsgKHR3b2J5dGVzWzFdIDw8IDgpKSB7CisJCWNhc2UgMDQwNzoJLyogYS5vdXQgb2JqICovCisJCWNhc2UgMDQxMDoJLyogYS5vdXQgZXhlYyAqLworCQljYXNlIDA0MTM6CS8qIGEub3V0IGRlbWFuZCBleGVjICovCisJCWNhc2UgMDQwNToKKwkJY2FzZSAwNDExOgorCQljYXNlIDAxNzc1NDU6CisJCWNhc2UgMHg0NTdmOgkvKiBzaW1wbGUgRUxGIGRldGVjdGlvbiAqLworCQkJcHJpbnRmKF8oIlxuKioqKioqKiogJXM6IE5vdCBhIHRleHQgZmlsZSAqKioqKioqKlxuXG4iKSwKKwkJCSAgICAgICBmcyk7CisJCQlyZXR1cm4gMTsKKwkJfQorCX0KKwlmc2VlayhmLCAwTCwgU0VFS19TRVQpOwkvKiByZXdpbmQoKSBub3QgbmVjZXNzYXJ5ICovCisJcmV0dXJuIDA7Cit9CisKKy8qIFByaW50IG91dCB0aGUgY29udGVudHMgb2YgdGhlIGZpbGUgZiwgb25lIHNjcmVlbmZ1bCBhdCBhIHRpbWUuICovCisjZGVmaW5lIFNUT1AgLTEwCit2b2lkIHNjcmVlbihyZWdpc3RlciBGSUxFICpmLCByZWdpc3RlciBpbnQgbnVtX2xpbmVzKQoreworCXJlZ2lzdGVyIGludCBjOworCXJlZ2lzdGVyIGludCBuY2hhcnM7CisJaW50IGxlbmd0aDsJCQkvKiBsZW5ndGggb2YgY3VycmVudCBsaW5lICovCisJc3RhdGljIGludCBwcmV2X2xlbiA9IDE7CS8qIGxlbmd0aCBvZiBwcmV2aW91cyBsaW5lICovCisKKwlmb3IgKDs7KSB7CisJCXdoaWxlIChudW1fbGluZXMgPiAwICYmICFQYXVzZSkgeworCQkJaWYgKChuY2hhcnMgPSBnZXRfbGluZShmLCAmbGVuZ3RoKSkgPT0gRU9GKSB7CisJCQkJaWYgKGNscmVvbCkKKwkJCQkJY2xyZW9zKCk7CisJCQkJcmV0dXJuOworCQkJfQorCQkJaWYgKHNzcF9vcHQgJiYgbGVuZ3RoID09IDAgJiYgcHJldl9sZW4gPT0gMCkKKwkJCQljb250aW51ZTsKKwkJCXByZXZfbGVuID0gbGVuZ3RoOworCQkJaWYgKGJhZF9zbworCQkJICAgIHx8ICgoU2VudGVyICYmICpTZW50ZXIgPT0gJyAnKSAmJiAocHJvbXB0bGVuID4gMCkpKQorCQkJCWVyYXNlcCgwKTsKKwkJCS8qIG11c3QgY2xlYXIgYmVmb3JlIGRyYXdpbmcgbGluZSBzaW5jZSB0YWJzIG9uCisJCQkgKiBzb21lIHRlcm1pbmFscyBkbyBub3QgZXJhc2Ugd2hhdCB0aGV5IHRhYgorCQkJICogb3Zlci4gKi8KKwkJCWlmIChjbHJlb2wpCisJCQkJY2xlYXJlb2woKTsKKwkJCXByYnVmKExpbmUsIGxlbmd0aCk7CisJCQlpZiAobmNoYXJzIDwgcHJvbXB0bGVuKQorCQkJCWVyYXNlcChuY2hhcnMpOwkvKiBlcmFzZXAgKCkgc2V0cyBwcm9tcHRsZW4gdG8gMCAqLworCQkJZWxzZQorCQkJCXByb21wdGxlbiA9IDA7CisJCQkvKiBpcyB0aGlzIG5lZWRlZD8KKwkJCSAqIGlmIChjbHJlb2wpCisJCQkgKgljbGVhcmVvbCgpOyAgICAgKiBtdXN0IGNsZWFyIGFnYWluIGluIGNhc2Ugd2Ugd3JhcHBlZCAqCisJCQkgKi8KKwkJCWlmIChuY2hhcnMgPCBNY29sIHx8ICFmb2xkX29wdCkKKwkJCQlwcmJ1ZigiXG4iLCAxKTsJLyogd2lsbCB0dXJuIG9mZiBVTCBpZiBuZWNlc3NhcnkgKi8KKwkJCWlmIChuY2hhcnMgPT0gU1RPUCkKKwkJCQlicmVhazsKKwkJCW51bV9saW5lcy0tOworCQl9CisJCWlmIChwc3RhdGUpIHsKKwkJCXB1dHN0cmluZyhVTGV4aXQpOworCQkJcHN0YXRlID0gMDsKKwkJfQorCQlmZmx1c2goc3Rkb3V0KTsKKwkJaWYgKChjID0gR2V0YyhmKSkgPT0gRU9GKSB7CisJCQlpZiAoY2xyZW9sKQorCQkJCWNscmVvcygpOworCQkJcmV0dXJuOworCQl9CisKKwkJaWYgKFBhdXNlICYmIGNscmVvbCkKKwkJCWNscmVvcygpOworCQlVbmdldGMoYywgZik7CisJCXNpZ3NldGptcChyZXN0b3JlLCAxKTsKKwkJUGF1c2UgPSAwOworCQlzdGFydHVwID0gMDsKKwkJaWYgKChudW1fbGluZXMgPSBjb21tYW5kKE5VTEwsIGYpKSA9PSAwKQorCQkJcmV0dXJuOworCQlpZiAoaGFyZCAmJiBwcm9tcHRsZW4gPiAwKQorCQkJZXJhc2VwKDApOworCQlpZiAobm9zY3JvbGwgJiYgbnVtX2xpbmVzID49IGRsaW5lcykgeworCQkJaWYgKGNscmVvbCkKKwkJCQlob21lKCk7CisJCQllbHNlCisJCQkJZG9jbGVhcigpOworCQl9CisJCXNjcmVlbl9zdGFydC5saW5lID0gQ3VycmxpbmU7CisJCXNjcmVlbl9zdGFydC5jaHJjdHIgPSBGdGVsbChmKTsKKwl9Cit9CisKKy8qIENvbWUgaGVyZSBpZiBhIHF1aXQgc2lnbmFsIGlzIHJlY2VpdmVkICovCit2b2lkIG9ucXVpdChpbnQgZHVtbXkgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXNpZ25hbChTSUdRVUlULCBTSUdfSUdOKTsKKwlpZiAoIWlud2FpdCkgeworCQlwdXRjaGFyKCdcbicpOworCQlpZiAoIXN0YXJ0dXApIHsKKwkJCXNpZ25hbChTSUdRVUlULCBvbnF1aXQpOworCQkJc2lnbG9uZ2ptcChyZXN0b3JlLCAxKTsKKwkJfSBlbHNlCisJCQlQYXVzZSsrOworCX0gZWxzZSBpZiAoIWR1bV9vcHQgJiYgbm90ZWxsKSB7CisJCXByb21wdGxlbiArPSBmcHJpbnRmKHN0ZGVyciwgXygiW1VzZSBxIG9yIFEgdG8gcXVpdF0iKSk7CisJCW5vdGVsbCA9IDA7CisJfQorCXNpZ25hbChTSUdRVUlULCBvbnF1aXQpOworfQorCisvKiBDb21lIGhlcmUgaWYgYSBzaWduYWwgZm9yIGEgd2luZG93IHNpemUgY2hhbmdlIGlzIHJlY2VpdmVkICovCisjaWZkZWYgU0lHV0lOQ0gKK3ZvaWQgY2hnd2luc3ooaW50IGR1bW15IF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlzdHJ1Y3Qgd2luc2l6ZSB3aW47CisKKwlzaWduYWwoU0lHV0lOQ0gsIFNJR19JR04pOworCWlmIChpb2N0bChmaWxlbm8oc3Rkb3V0KSwgVElPQ0dXSU5TWiwgJndpbikgIT0gLTEpIHsKKwkJaWYgKHdpbi53c19yb3cgIT0gMCkgeworCQkJTHBwID0gd2luLndzX3JvdzsKKwkJCW5zY3JvbGwgPSBMcHAgLyAyIC0gMTsKKwkJCWlmIChuc2Nyb2xsIDw9IDApCisJCQkJbnNjcm9sbCA9IDE7CisJCQlkbGluZXMgPSBMcHAgLSAxOwkvKiB3YXM6IExwcCAtIChub3Njcm9sbCA/IDEgOiAyKSAqLworCQl9CisJCWlmICh3aW4ud3NfY29sICE9IDApCisJCQlNY29sID0gd2luLndzX2NvbDsKKwl9CisJc2lnbmFsKFNJR1dJTkNILCBjaGd3aW5zeik7Cit9CisjZW5kaWYJCQkJLyogU0lHV0lOQ0ggKi8KKworLyogQ2xlYW4gdXAgdGVybWluYWwgc3RhdGUgYW5kIGV4aXQuIEFsc28gY29tZSBoZXJlIGlmIGludGVycnVwdCBzaWduYWwgcmVjZWl2ZWQgKi8KK3ZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgZW5kX2l0KGludCBkdW1teSBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJLyogTWF5IGJlIGV4ZWN1dGVkIGFzIGEgc2lnbmFsIGhhbmRsZXIgYXMgd2VsbCBhcyBieSBtYWluIHByb2Nlc3MuCisJICoKKwkgKiBUaGUgX2V4aXQoKSBtYXkgd2FpdCBmb3IgcGVuZGluZyBJL08gZm9yIHJlYWxseSBsb25nIHRpbWUsIGJlIHN1cmUKKwkgKiB0aGF0IHNpZ25hbCBoYW5kbGVyIGlzIG5vdCBleGVjdXRlZCBpbiB0aGlzIHRpbWUgdG8gYXZvaWQgZG91YmxlCisJICogZGUtaW5pdGlhbGl6YXRpb24gKGZyZWUoKSBjYWxscywgZXRjLikuCisJICovCisJc2lnbmFsKFNJR0lOVCwgU0lHX0lHTik7CisKKwlyZXNldF90dHkoKTsKKwlpZiAoY2xyZW9sKSB7CisJCXB1dGNoYXIoJ1xyJyk7CisJCWNscmVvcygpOworCQlmZmx1c2goc3Rkb3V0KTsKKwl9IGVsc2UgaWYgKCFjbHJlb2wgJiYgKHByb21wdGxlbiA+IDApKSB7CisJCWtpbGxfbGluZSgpOworCQlmZmx1c2goc3Rkb3V0KTsKKwl9IGVsc2UKKwkJcHV0Y2VycignXG4nKTsKKwlmcmVlKHByZXZpb3VzcmUpOworCWZyZWUoTGluZSk7CisJX2V4aXQoRVhJVF9TVUNDRVNTKTsKK30KKwordm9pZCBjb3B5X2ZpbGUocmVnaXN0ZXIgRklMRSAqZikKK3sKKwljaGFyIGJ1ZltCVUZTSVpdOworCXNpemVfdCBzejsKKworCXdoaWxlICgoc3ogPSBmcmVhZCgmYnVmLCBzaXplb2YoY2hhciksIHNpemVvZihidWYpLCBmKSkgPiAwKQorCQlmd3JpdGUoJmJ1Ziwgc2l6ZW9mKGNoYXIpLCBzeiwgc3Rkb3V0KTsKK30KKworI2RlZmluZSByaW5nYmVsbCgpCXB1dGNlcnIoJ1wwMDcnKQorCitzdGF0aWMgdm9pZCBwcm9tcHQoY2hhciAqZmlsZW5hbWUpCit7CisJaWYgKGNscmVvbCkKKwkJY2xlYXJlb2woKTsKKwllbHNlIGlmIChwcm9tcHRsZW4gPiAwKQorCQlraWxsX2xpbmUoKTsKKwlpZiAoIWhhcmQpIHsKKwkJcHJvbXB0bGVuID0gMDsKKwkJaWYgKFNlbnRlciAmJiBTZXhpdCkgeworCQkJcHV0c3RyaW5nKFNlbnRlcik7CisJCQlwcm9tcHRsZW4gKz0gKDIgKiBzb2dsaXRjaCk7CisJCX0KKwkJaWYgKGNscmVvbCkKKwkJCWNsZWFyZW9sKCk7CisJCXByb21wdGxlbiArPSBwcmludGYoXygiLS1Nb3JlLS0iKSk7CisJCWlmIChmaWxlbmFtZSAhPSBOVUxMKSB7CisJCQlwcm9tcHRsZW4gKz0gcHJpbnRmKF8oIihOZXh0IGZpbGU6ICVzKSIpLCBmaWxlbmFtZSk7CisJCX0gZWxzZSBpZiAoIW5vX2ludHR5KSB7CisJCQlwcm9tcHRsZW4gKz0KKwkJCSAgICBwcmludGYoIiglZCUlKSIsCisJCQkJICAgKGludCkoKGZpbGVfcG9zICogMTAwKSAvIGZpbGVfc2l6ZSkpOworCQl9CisJCWlmIChkdW1fb3B0KSB7CisJCQlwcm9tcHRsZW4gKz0KKwkJCSAgICBwcmludGYoXygiW1ByZXNzIHNwYWNlIHRvIGNvbnRpbnVlLCAncScgdG8gcXVpdC5dIikpOworCQl9CisJCWlmIChTZW50ZXIgJiYgU2V4aXQpCisJCQlwdXRzdHJpbmcoU2V4aXQpOworCQlpZiAoY2xyZW9sKQorCQkJY2xyZW9zKCk7CisJCWZmbHVzaChzdGRvdXQpOworCX0gZWxzZQorCQlyaW5nYmVsbCgpOworCWlud2FpdCsrOworfQorCit2b2lkIHByZXBhcmVfbGluZV9idWZmZXIodm9pZCkKK3sKKwljaGFyICpubGluZTsKKwlzaXplX3QgbnN6ID0gTWNvbCAqIDQ7CisKKwlpZiAoTGluZUxlbiA+PSBuc3opCisJCXJldHVybjsKKworCWlmIChuc3ogPCBMSU5TSVopCisJCW5zeiA9IExJTlNJWjsKKworCS8qIGFsbG9jIG5zeiBhbmQgZXh0cmEgc3BhY2UgZm9yIFxuXDAgKi8KKwlubGluZSA9IHhyZWFsbG9jKExpbmUsIG5zeiArIDIpOworCUxpbmUgPSBubGluZTsKKwlMaW5lTGVuID0gbnN6OworfQorCisvKiBHZXQgYSBsb2dpY2FsIGxpbmUgKi8KK2ludCBnZXRfbGluZShyZWdpc3RlciBGSUxFICpmLCBpbnQgKmxlbmd0aCkKK3sKKwlpbnQgYzsKKwljaGFyICpwOworCWludCBjb2x1bW47CisJc3RhdGljIGludCBjb2xmbGc7CisKKyNpZmRlZiBIQVZFX1dJREVDSEFSCisJc2l6ZV90IGk7CisJd2NoYXJfdCB3YzsKKwlpbnQgd2Nfd2lkdGg7CisJbWJzdGF0ZV90IHN0YXRlLCBzdGF0ZV9iYWs7CS8qIEN1cnJlbnQgc3RhdHVzIG9mIHRoZSBzdHJlYW0uICovCisJY2hhciBtYmNbTUJfTEVOX01BWF07CQkvKiBCdWZmZXIgZm9yIG9uZSBtdWx0aWJ5dGUgY2hhci4gKi8KKwlzaXplX3QgbWJsZW5ndGg7CQkvKiBCeXRlIGxlbmd0aCBvZiBtdWx0aWJ5dGUgY2hhci4gKi8KKwlzaXplX3QgbWJjX3BvcyA9IDA7CQkvKiBQb3NpdGlvbiBvZiB0aGUgTUJDLiAqLworCWludCB1c2VfbWJjX2J1ZmZlcl9mbGFnID0gMDsJLyogSWYgMSwgbWJjIGhhcyBkYXRhLiAqLworCWludCBicmVha19mbGFnID0gMDsJCS8qIElmIDEsIGV4aXQgd2hpbGUoKS4gKi8KKwlsb25nIGZpbGVfcG9zX2JhayA9IEZ0ZWxsKGYpOworCisJbWVtc2V0KCZzdGF0ZSwgJ1wwJywgc2l6ZW9mKG1ic3RhdGVfdCkpOworI2VuZGlmCisKKwlwcmVwYXJlX2xpbmVfYnVmZmVyKCk7CisKKwlwID0gTGluZTsKKwljb2x1bW4gPSAwOworCWMgPSBHZXRjKGYpOworCWlmIChjb2xmbGcgJiYgYyA9PSAnXG4nKSB7CisJCUN1cnJsaW5lKys7CisJCWMgPSBHZXRjKGYpOworCX0KKwl3aGlsZSAocCA8ICZMaW5lW0xpbmVMZW4gLSAxXSkgeworI2lmZGVmIEhBVkVfV0lERUNIQVIKKwkJaWYgKGZvbGRfb3B0ICYmIHVzZV9tYmNfYnVmZmVyX2ZsYWcgJiYgTUJfQ1VSX01BWCA+IDEpIHsKKwkJCXVzZV9tYmNfYnVmZmVyX2ZsYWcgPSAwOworCQkJc3RhdGVfYmFrID0gc3RhdGU7CisJCQltYmNbbWJjX3BvcysrXSA9IGM7CisgcHJvY2Vzc19tYmM6CisJCQltYmxlbmd0aCA9IG1icnRvd2MoJndjLCBtYmMsIG1iY19wb3MsICZzdGF0ZSk7CisKKwkJCXN3aXRjaCAobWJsZW5ndGgpIHsKKwkJCWNhc2UgKHNpemVfdCktMjoJLyogSW5jb21wbGV0ZSBtdWx0aWJ5dGUgY2hhcmFjdGVyLiAqLworCQkJCXVzZV9tYmNfYnVmZmVyX2ZsYWcgPSAxOworCQkJCXN0YXRlID0gc3RhdGVfYmFrOworCQkJCWJyZWFrOworCisJCQljYXNlIChzaXplX3QpLTE6CS8qIEludmFsaWQgYXMgYSBtdWx0aWJ5dGUgY2hhcmFjdGVyLiAqLworCQkJCSpwKysgPSBtYmNbMF07CisJCQkJc3RhdGUgPSBzdGF0ZV9iYWs7CisJCQkJY29sdW1uKys7CisJCQkJZmlsZV9wb3NfYmFrKys7CisKKwkJCQlpZiAoY29sdW1uID49IE1jb2wpIHsKKwkJCQkJRnNlZWsoZiwgZmlsZV9wb3NfYmFrKTsKKwkJCQl9IGVsc2UgeworCQkJCQltZW1tb3ZlKG1iYywgbWJjICsgMSwgLS1tYmNfcG9zKTsKKwkJCQkJaWYgKG1iY19wb3MgPiAwKSB7CisJCQkJCQltYmNbbWJjX3Bvc10gPSAnXDAnOworCQkJCQkJZ290byBwcm9jZXNzX21iYzsKKwkJCQkJfQorCQkJCX0KKwkJCQlicmVhazsKKworCQkJZGVmYXVsdDoKKwkJCQl3Y193aWR0aCA9IHdjd2lkdGgod2MpOworCisJCQkJaWYgKGNvbHVtbiArIHdjX3dpZHRoID4gTWNvbCkgeworCQkJCQlGc2VlayhmLCBmaWxlX3Bvc19iYWspOworCQkJCQlicmVha19mbGFnID0gMTsKKwkJCQl9IGVsc2UgeworCQkJCQlmb3IgKGkgPSAwOyBwIDwgJkxpbmVbTGluZUxlbiAtIDFdICYmCisJCQkJCQkgICAgaSA8IG1iY19wb3M7IGkrKykKKwkJCQkJCSpwKysgPSBtYmNbaV07CisJCQkJCWlmICh3Y193aWR0aCA+IDApCisJCQkJCQljb2x1bW4gKz0gd2Nfd2lkdGg7CisJCQkJfQorCQkJfQorCisJCQlpZiAoYnJlYWtfZmxhZyB8fCBjb2x1bW4gPj0gTWNvbCkKKwkJCQlicmVhazsKKworCQkJYyA9IEdldGMoZik7CisJCQljb250aW51ZTsKKwkJfQorI2VuZGlmCS8qIEhBVkVfV0lERUNIQVIgKi8KKwkJaWYgKGMgPT0gRU9GKSB7CisJCQlpZiAocCA+IExpbmUpIHsKKwkJCQkqcCA9ICdcMCc7CisJCQkJKmxlbmd0aCA9IHAgLSBMaW5lOworCQkJCXJldHVybiAoY29sdW1uKTsKKwkJCX0KKwkJCSpsZW5ndGggPSBwIC0gTGluZTsKKwkJCXJldHVybiAoRU9GKTsKKwkJfQorCQlpZiAoYyA9PSAnXG4nKSB7CisJCQlDdXJybGluZSsrOworCQkJYnJlYWs7CisJCX0KKworCQkqcCsrID0gYzsKKyNpZiAwCisJCWlmIChjID09ICdcMDMzJykgewkvKiBFU0MgKi8KKwkJCWMgPSBHZXRjKGYpOworCQkJd2hpbGUgKGMgPiAnICcgJiYgYyA8ICcwJyAmJiBwIDwgJkxpbmVbTGluZUxlbiAtIDFdKSB7CisJCQkJKnArKyA9IGM7CisJCQkJYyA9IEdldGMoZik7CisJCQl9CisJCQlpZiAoYyA+PSAnMCcgJiYgYyA8ICdcMTc3JyAmJiBwIDwgJkxpbmVbTGluZUxlbiAtIDFdKSB7CisJCQkJKnArKyA9IGM7CisJCQkJYyA9IEdldGMoZik7CisJCQkJY29udGludWU7CisJCQl9CisJCX0KKyNlbmRpZgkvKiAwICovCisJCWlmIChjID09ICdcdCcpIHsKKwkJCWlmICghaGFyZHRhYnMgfHwgKGNvbHVtbiA8IHByb21wdGxlbiAmJiAhaGFyZCkpIHsKKwkJCQlpZiAoaGFyZHRhYnMgJiYgZXJhc2VsbiAmJiAhZHVtYikgeworCQkJCQljb2x1bW4gPSAxICsgKGNvbHVtbiB8IDcpOworCQkJCQlwdXRzdHJpbmcoZXJhc2Vsbik7CisJCQkJCXByb21wdGxlbiA9IDA7CisJCQkJfSBlbHNlIHsKKwkJCQkJZm9yICgtLXA7IHAgPCAmTGluZVtMaW5lTGVuIC0gMV07KSB7CisJCQkJCQkqcCsrID0gJyAnOworCQkJCQkJaWYgKCgrK2NvbHVtbiAmIDcpID09IDApCisJCQkJCQkJYnJlYWs7CisJCQkJCX0KKwkJCQkJaWYgKGNvbHVtbiA+PSBwcm9tcHRsZW4pCisJCQkJCQlwcm9tcHRsZW4gPSAwOworCQkJCX0KKwkJCX0gZWxzZQorCQkJCWNvbHVtbiA9IDEgKyAoY29sdW1uIHwgNyk7CisJCX0gZWxzZSBpZiAoYyA9PSAnXGInICYmIGNvbHVtbiA+IDApIHsKKwkJCWNvbHVtbi0tOworCQl9IGVsc2UgaWYgKGMgPT0gJ1xyJykgeworCQkJaW50IG5leHQgPSBHZXRjKGYpOworCQkJaWYgKG5leHQgPT0gJ1xuJykgeworCQkJCXAtLTsKKwkJCQlDdXJybGluZSsrOworCQkJCWJyZWFrOworCQkJfQorCQkJVW5nZXRjKG5leHQsIGYpOworCQkJY29sdW1uID0gMDsKKwkJfSBlbHNlIGlmIChjID09ICdcZicgJiYgc3RvcF9vcHQpIHsKKwkJCXBbLTFdID0gJ14nOworCQkJKnArKyA9ICdMJzsKKwkJCWNvbHVtbiArPSAyOworCQkJUGF1c2UrKzsKKwkJfSBlbHNlIGlmIChjID09IEVPRikgeworCQkJKmxlbmd0aCA9IHAgLSBMaW5lOworCQkJcmV0dXJuIChjb2x1bW4pOworCQl9IGVsc2UgeworI2lmZGVmIEhBVkVfV0lERUNIQVIKKwkJCWlmIChmb2xkX29wdCAmJiBNQl9DVVJfTUFYID4gMSkgeworCQkJCW1lbXNldChtYmMsICdcMCcsIE1CX0xFTl9NQVgpOworCQkJCW1iY19wb3MgPSAwOworCQkJCW1iY1ttYmNfcG9zKytdID0gYzsKKwkJCQlzdGF0ZV9iYWsgPSBzdGF0ZTsKKworCQkJCW1ibGVuZ3RoID0gbWJydG93Yygmd2MsIG1iYywgbWJjX3BvcywgJnN0YXRlKTsKKwkJCQkvKiBUaGUgdmFsdWUgb2YgbWJsZW5ndGggaXMgYWx3YXlzIGxlc3MgdGhhbiAyIGhlcmUuICovCisJCQkJc3dpdGNoIChtYmxlbmd0aCkgeworCQkJCWNhc2UgKHNpemVfdCktMjoKKwkJCQkJcC0tOworCQkJCQlmaWxlX3Bvc19iYWsgPSBGdGVsbChmKSAtIDE7CisJCQkJCXN0YXRlID0gc3RhdGVfYmFrOworCQkJCQl1c2VfbWJjX2J1ZmZlcl9mbGFnID0gMTsKKwkJCQkJYnJlYWs7CisKKwkJCQljYXNlIChzaXplX3QpLTE6CisJCQkJCXN0YXRlID0gc3RhdGVfYmFrOworCQkJCQljb2x1bW4rKzsKKwkJCQkJYnJlYWs7CisKKwkJCQlkZWZhdWx0OgorCQkJCQl3Y193aWR0aCA9IHdjd2lkdGgod2MpOworCQkJCQlpZiAod2Nfd2lkdGggPiAwKQorCQkJCQkJY29sdW1uICs9IHdjX3dpZHRoOworCQkJCX0KKwkJCX0gZWxzZQorI2VuZGlmCS8qIEhBVkVfV0lERUNIQVIgKi8KKwkJCXsKKwkJCQlpZiAoaXNwcmludChjKSkKKwkJCQkJY29sdW1uKys7CisJCQl9CisJCX0KKworCQlpZiAoY29sdW1uID49IE1jb2wgJiYgZm9sZF9vcHQpCisJCQlicmVhazsKKyNpZmRlZiBIQVZFX1dJREVDSEFSCisJCWlmICh1c2VfbWJjX2J1ZmZlcl9mbGFnID09IDAgJiYgcCA+PSAmTGluZVtMaW5lTGVuIC0gMSAtIDRdKQorCQkJLyogZG9uJ3QgcmVhZCBhbm90aGVyIGNoYXIgaWYgdGhlcmUgaXMgbm8gc3BhY2UgZm9yCisJCQkgKiB3aG9sZSBtdWx0aWJ5dGUgc2VxdWVuY2UgKi8KKwkJCWJyZWFrOworI2VuZGlmCisJCWMgPSBHZXRjKGYpOworCX0KKwlpZiAoY29sdW1uID49IE1jb2wgJiYgTWNvbCA+IDApIHsKKwkJaWYgKCFXcmFwKSB7CisJCQkqcCsrID0gJ1xuJzsKKwkJfQorCX0KKwljb2xmbGcgPSBjb2x1bW4gPT0gTWNvbCAmJiBmb2xkX29wdDsKKwlpZiAoY29sZmxnICYmIGVhdG5sICYmIFdyYXApIHsKKwkJKnArKyA9ICdcbic7CS8qIHNpbXVsYXRlIG5vcm1hbCB3cmFwICovCisJfQorCSpsZW5ndGggPSBwIC0gTGluZTsKKwkqcCA9IDA7CisJcmV0dXJuIChjb2x1bW4pOworfQorCisvKiBFcmFzZSB0aGUgcmVzdCBvZiB0aGUgcHJvbXB0LCBhc3N1bWluZyB3ZSBhcmUgc3RhcnRpbmcgYXQgY29sdW1uIGNvbC4gKi8KK3ZvaWQgZXJhc2VwKHJlZ2lzdGVyIGludCBjb2wpCit7CisKKwlpZiAocHJvbXB0bGVuID09IDApCisJCXJldHVybjsKKwlpZiAoaGFyZCkgeworCQlwdXRjaGFyKCdcbicpOworCX0gZWxzZSB7CisJCWlmIChjb2wgPT0gMCkKKwkJCXB1dGNoYXIoJ1xyJyk7CisJCWlmICghZHVtYiAmJiBlcmFzZWxuKQorCQkJcHV0c3RyaW5nKGVyYXNlbG4pOworCQllbHNlCisJCQlwcmludGYoIiUqcyIsIHByb21wdGxlbiAtIGNvbCwgIiIpOworCX0KKwlwcm9tcHRsZW4gPSAwOworfQorCisvKiBFcmFzZSB0aGUgY3VycmVudCBsaW5lIGVudGlyZWx5ICovCit2b2lkIGtpbGxfbGluZSh2b2lkKQoreworCWVyYXNlcCgwKTsKKwlpZiAoIWVyYXNlbG4gfHwgZHVtYikKKwkJcHV0Y2hhcignXHInKTsKK30KKworLyogZm9yY2UgY2xlYXIgdG8gZW5kIG9mIGxpbmUgKi8KK3ZvaWQgY2xlYXJlb2wodm9pZCkKK3sKKwlwdXRzdHJpbmcoZXJhc2Vsbik7Cit9CisKK3ZvaWQgY2xyZW9zKHZvaWQpCit7CisJcHV0c3RyaW5nKEVvZENscik7Cit9CisKKworI2lmZGVmIEhBVkVfV0lERUNIQVIKK3N0YXRpYyBVTF9BU0FOX0JMQUNLTElTVCBzaXplX3QgeG1icnRvd2Mod2NoYXJfdCAqd2MsIGNvbnN0IGNoYXIgKnMsIHNpemVfdCBuLAorCQkJCSAgbWJzdGF0ZV90ICptYnN0YXRlKQoreworCWNvbnN0IHNpemVfdCBtYmxlbmd0aCA9IG1icnRvd2Mod2MsIHMsIG4sIG1ic3RhdGUpOworCWlmIChtYmxlbmd0aCA9PSAoc2l6ZV90KS0yIHx8IG1ibGVuZ3RoID09IChzaXplX3QpLTEpCisJCXJldHVybiAxOworCXJldHVybiBtYmxlbmd0aDsKK30KKyNlbmRpZgorCisvKiBQcmludCBhIGJ1ZmZlciBvZiBuIGNoYXJhY3RlcnMgKi8KK3ZvaWQgcHJidWYocmVnaXN0ZXIgY2hhciAqcywgcmVnaXN0ZXIgaW50IG4pCit7CisJcmVnaXN0ZXIgY2hhciBjOwkvKiBuZXh0IG91dHB1dCBjaGFyYWN0ZXIgKi8KKwlyZWdpc3RlciBpbnQgc3RhdGU7CS8qIG5leHQgb3V0cHV0IGNoYXIncyBVTCBzdGF0ZSAqLworI2RlZmluZSB3b3VsZHVsKHMsbikJKChuKSA+PSAyICYmICgoKHMpWzBdID09ICdfJyAmJiAocylbMV0gPT0gJ1xiJykgfHwgKChzKVsxXSA9PSAnXGInICYmIChzKVsyXSA9PSAnXycpKSkKKworCXdoaWxlICgtLW4gPj0gMCkKKwkJaWYgKCF1bF9vcHQpCisJCQlwdXRjaGFyKCpzKyspOworCQllbHNlIHsKKwkJCWlmICgqcyA9PSAnICcgJiYgcHN0YXRlID09IDAgJiYgdWxnbGl0Y2gKKwkJCSAgICAmJiB3b3VsZHVsKHMgKyAxLCBuIC0gMSkpIHsKKwkJCQlzKys7CisJCQkJY29udGludWU7CisJCQl9CisJCQlpZiAoKHN0YXRlID0gd291bGR1bChzLCBuKSkgIT0gMCkgeworCQkJCWMgPSAoKnMgPT0gJ18nKSA/IHNbMl0gOiAqczsKKwkJCQluIC09IDI7CisJCQkJcyArPSAzOworCQkJfSBlbHNlCisJCQkJYyA9ICpzKys7CisJCQlpZiAoc3RhdGUgIT0gcHN0YXRlKSB7CisJCQkJaWYgKGMgPT0gJyAnICYmIHN0YXRlID09IDAgJiYgdWxnbGl0Y2gKKwkJCQkgICAgJiYgd291bGR1bChzLCBuIC0gMSkpCisJCQkJCXN0YXRlID0gMTsKKwkJCQllbHNlCisJCQkJCXB1dHN0cmluZyhzdGF0ZSA/IFVMZW50ZXIgOiBVTGV4aXQpOworCQkJfQorCQkJaWYgKGMgIT0gJyAnIHx8IHBzdGF0ZSA9PSAwIHx8IHN0YXRlICE9IDAKKwkJCSAgICB8fCB1bGdsaXRjaCA9PSAwKQorI2lmZGVmIEhBVkVfV0lERUNIQVIKKwkJCXsKKwkJCQl3Y2hhcl90IHdjOworCQkJCXNpemVfdCBtYmxlbmd0aDsKKwkJCQltYnN0YXRlX3QgbWJzdGF0ZTsKKwkJCQltZW1zZXQoJm1ic3RhdGUsICdcMCcsIHNpemVvZihtYnN0YXRlX3QpKTsKKwkJCQlzLS07CisJCQkJbisrOworCQkJCW1ibGVuZ3RoID0geG1icnRvd2MoJndjLCBzLCBuLCAmbWJzdGF0ZSk7CisJCQkJd2hpbGUgKG1ibGVuZ3RoLS0pCisJCQkJCXB1dGNoYXIoKnMrKyk7CisJCQkJbiArPSBtYmxlbmd0aDsKKwkJCX0KKyNlbHNlCisJCQkJcHV0Y2hhcihjKTsKKyNlbmRpZgkJCQkvKiBIQVZFX1dJREVDSEFSICovCisJCQlpZiAoc3RhdGUgJiYgKmNoVUwpIHsKKwkJCQlwdXRzb3V0KGNoQlMpOworCQkJCXB1dHN0cmluZyhjaFVMKTsKKwkJCX0KKwkJCXBzdGF0ZSA9IHN0YXRlOworCQl9Cit9CisKKy8qICBDbGVhciB0aGUgc2NyZWVuICovCit2b2lkIGRvY2xlYXIodm9pZCkKK3sKKwlpZiAoQ2xlYXIgJiYgIWhhcmQpIHsKKwkJcHV0c3RyaW5nKENsZWFyKTsKKwkJLyogUHV0IG91dCBjYXJyaWFnZSByZXR1cm4gc28gdGhhdCBzeXN0ZW0gZG9lc24ndCBnZXQKKwkJICogY29uZnVzZWQgYnkgZXNjYXBlIHNlcXVlbmNlcyB3aGVuIGV4cGFuZGluZyB0YWJzICovCisJCXB1dGNoYXIoJ1xyJyk7CisJCXByb21wdGxlbiA9IDA7CisJfQorfQorCisvKiBHbyB0byBob21lIHBvc2l0aW9uICovCit2b2lkIGhvbWUodm9pZCkKK3sKKwlwdXRzdHJpbmcoSG9tZSk7Cit9CisKK3N0YXRpYyBpbnQgbGFzdGNtZCwgbGFzdGFyZywgbGFzdHA7CitzdGF0aWMgaW50IGxhc3Rjb2xvbjsKK2NoYXIgc2hlbGxfbGluZVtTSEVMTF9MSU5FXTsKKworLyogUmVhZCBhIGNvbW1hbmQgYW5kIGRvIGl0LiAgQSBjb21tYW5kIGNvbnNpc3RzIG9mIGFuIG9wdGlvbmFsIGludGVnZXIKKyAqIGFyZ3VtZW50IGZvbGxvd2VkIGJ5IHRoZSBjb21tYW5kIGNoYXJhY3Rlci4gIFJldHVybiB0aGUgbnVtYmVyIG9mCisgKiBsaW5lcyB0byBkaXNwbGF5IGluIHRoZSBuZXh0IHNjcmVlbmZ1bC4gIElmIHRoZXJlIGlzIG5vdGhpbmcgbW9yZSB0bworICogZGlzcGxheSBpbiB0aGUgY3VycmVudCBmaWxlLCB6ZXJvIGlzIHJldHVybmVkLiAqLworaW50IGNvbW1hbmQoY2hhciAqZmlsZW5hbWUsIHJlZ2lzdGVyIEZJTEUgKmYpCit7CisJcmVnaXN0ZXIgaW50IG5saW5lczsKKwlyZWdpc3RlciBpbnQgcmV0dmFsID0gMDsKKwlyZWdpc3RlciBpbnQgYzsKKwljaGFyIGNvbG9uY2g7CisJaW50IGRvbmU7CisJY2hhciBjb21jaGFyLCBjbWRidWZbSU5JVF9CVUZdOworCisjZGVmaW5lIHJldCh2YWwpIHJldHZhbD12YWw7ZG9uZSsrO2JyZWFrCisKKwlkb25lID0gMDsKKwlpZiAoIWVycm9ycykKKwkJcHJvbXB0KGZpbGVuYW1lKTsKKwllbHNlCisJCWVycm9ycyA9IDA7CisJZm9yICg7OykgeworCQlubGluZXMgPSBudW1iZXIoJmNvbWNoYXIpOworCQlsYXN0cCA9IGNvbG9uY2ggPSAwOworCQlpZiAoY29tY2hhciA9PSAnLicpIHsJLyogUmVwZWF0IGxhc3QgY29tbWFuZCAqLworCQkJbGFzdHArKzsKKwkJCWNvbWNoYXIgPSBsYXN0Y21kOworCQkJbmxpbmVzID0gbGFzdGFyZzsKKwkJCWlmIChsYXN0Y21kID09ICc6JykKKwkJCQljb2xvbmNoID0gbGFzdGNvbG9uOworCQl9CisJCWxhc3RjbWQgPSBjb21jaGFyOworCQlsYXN0YXJnID0gbmxpbmVzOworCQlpZiAoKGNjX3QpIGNvbWNoYXIgPT0gb3R0eS5jX2NjW1ZFUkFTRV0pIHsKKwkJCWtpbGxfbGluZSgpOworCQkJcHJvbXB0KGZpbGVuYW1lKTsKKwkJCWNvbnRpbnVlOworCQl9CisJCXN3aXRjaCAoY29tY2hhcikgeworCQljYXNlICc6JzoKKwkJCXJldHZhbCA9IGNvbG9uKGZpbGVuYW1lLCBjb2xvbmNoLCBubGluZXMpOworCQkJaWYgKHJldHZhbCA+PSAwKQorCQkJCWRvbmUrKzsKKwkJCWJyZWFrOworCQljYXNlICdiJzoKKwkJY2FzZSBjdHJsKCdCJyk6CisJCQl7CisJCQkJcmVnaXN0ZXIgaW50IGluaXRsaW5lOworCisJCQkJaWYgKG5vX2ludHR5KSB7CisJCQkJCXJpbmdiZWxsKCk7CisJCQkJCXJldHVybiAoLTEpOworCQkJCX0KKworCQkJCWlmIChubGluZXMgPT0gMCkKKwkJCQkJbmxpbmVzKys7CisKKwkJCQlwdXRjaGFyKCdccicpOworCQkJCWVyYXNlcCgwKTsKKwkJCQlwdXRjaGFyKCdcbicpOworCQkJCWlmIChjbHJlb2wpCisJCQkJCWNsZWFyZW9sKCk7CisJCQkJcHJpbnRmKFBfKCIuLi5iYWNrICVkIHBhZ2UiLAorCQkJCQkiLi4uYmFjayAlZCBwYWdlcyIsIG5saW5lcyksCisJCQkJCW5saW5lcyk7CisJCQkJaWYgKGNscmVvbCkKKwkJCQkJY2xlYXJlb2woKTsKKwkJCQlwdXRjaGFyKCdcbicpOworCisJCQkJaW5pdGxpbmUgPSBDdXJybGluZSAtIGRsaW5lcyAqIChubGluZXMgKyAxKTsKKwkJCQlpZiAoIW5vc2Nyb2xsKQorCQkJCQktLWluaXRsaW5lOworCQkJCWlmIChpbml0bGluZSA8IDApCisJCQkJCWluaXRsaW5lID0gMDsKKwkJCQlGc2VlayhmLCAwTCk7CisJCQkJQ3VycmxpbmUgPSAwOwkvKiBza2lwbG5zKCkgd2lsbCBtYWtlIEN1cnJsaW5lIGNvcnJlY3QgKi8KKwkJCQlza2lwbG5zKGluaXRsaW5lLCBmKTsKKwkJCQlpZiAoIW5vc2Nyb2xsKSB7CisJCQkJCXJldChkbGluZXMgKyAxKTsKKwkJCQl9IGVsc2UgeworCQkJCQlyZXQoZGxpbmVzKTsKKwkJCQl9CisJCQl9CisJCWNhc2UgJyAnOgorCQljYXNlICd6JzoKKwkJCWlmIChubGluZXMgPT0gMCkKKwkJCQlubGluZXMgPSBkbGluZXM7CisJCQllbHNlIGlmIChjb21jaGFyID09ICd6JykKKwkJCQlkbGluZXMgPSBubGluZXM7CisJCQlyZXQobmxpbmVzKTsKKwkJY2FzZSAnZCc6CisJCWNhc2UgY3RybCgnRCcpOgorCQkJaWYgKG5saW5lcyAhPSAwKQorCQkJCW5zY3JvbGwgPSBubGluZXM7CisJCQlyZXQobnNjcm9sbCk7CisJCWNhc2UgJ3EnOgorCQljYXNlICdRJzoKKwkJCWVuZF9pdCgwKTsKKwkJY2FzZSAncyc6CisJCWNhc2UgJ2YnOgorCQljYXNlIGN0cmwoJ0YnKToKKwkJCWlmIChubGluZXMgPT0gMCkKKwkJCQlubGluZXMrKzsKKwkJCWlmIChjb21jaGFyID09ICdmJykKKwkJCQlubGluZXMgKj0gZGxpbmVzOworCQkJcHV0Y2hhcignXHInKTsKKwkJCWVyYXNlcCgwKTsKKwkJCXB1dGNoYXIoJ1xuJyk7CisJCQlpZiAoY2xyZW9sKQorCQkJCWNsZWFyZW9sKCk7CisJCQlwcmludGYoUF8oIi4uLnNraXBwaW5nICVkIGxpbmUiLAorCQkJCSIuLi5za2lwcGluZyAlZCBsaW5lcyIsIG5saW5lcyksCisJCQkJbmxpbmVzKTsKKworCQkJaWYgKGNscmVvbCkKKwkJCQljbGVhcmVvbCgpOworCQkJcHV0Y2hhcignXG4nKTsKKworCQkJd2hpbGUgKG5saW5lcyA+IDApIHsKKwkJCQl3aGlsZSAoKGMgPSBHZXRjKGYpKSAhPSAnXG4nKQorCQkJCQlpZiAoYyA9PSBFT0YpIHsKKwkJCQkJCXJldHZhbCA9IDA7CisJCQkJCQlkb25lKys7CisJCQkJCQlnb3RvIGVuZHN3OworCQkJCQl9CisJCQkJQ3VycmxpbmUrKzsKKwkJCQlubGluZXMtLTsKKwkJCX0KKwkJCXJldChkbGluZXMpOworCQljYXNlICdcbic6CisJCQlpZiAobmxpbmVzICE9IDApCisJCQkJZGxpbmVzID0gbmxpbmVzOworCQkJZWxzZQorCQkJCW5saW5lcyA9IDE7CisJCQlyZXQobmxpbmVzKTsKKwkJY2FzZSAnXGYnOgorCQkJaWYgKCFub19pbnR0eSkgeworCQkJCWRvY2xlYXIoKTsKKwkJCQlGc2VlayhmLCBzY3JlZW5fc3RhcnQuY2hyY3RyKTsKKwkJCQlDdXJybGluZSA9IHNjcmVlbl9zdGFydC5saW5lOworCQkJCXJldChkbGluZXMpOworCQkJfSBlbHNlIHsKKwkJCQlyaW5nYmVsbCgpOworCQkJCWJyZWFrOworCQkJfQorCQljYXNlICdcJyc6CisJCQlpZiAoIW5vX2ludHR5KSB7CisJCQkJa2lsbF9saW5lKCk7CisJCQkJcHV0c291dChfKCJcbioqKkJhY2sqKipcblxuIikpOworCQkJCUZzZWVrKGYsIGNvbnRleHQuY2hyY3RyKTsKKwkJCQlDdXJybGluZSA9IGNvbnRleHQubGluZTsKKwkJCQlyZXQoZGxpbmVzKTsKKwkJCX0gZWxzZSB7CisJCQkJcmluZ2JlbGwoKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJY2FzZSAnPSc6CisJCQlraWxsX2xpbmUoKTsKKwkJCXByb21wdGxlbiA9IHByaW50ZigiJWQiLCBDdXJybGluZSk7CisJCQlmZmx1c2goc3Rkb3V0KTsKKwkJCWJyZWFrOworCQljYXNlICduJzoKKwkJCWlmICghcHJldmlvdXNyZSkgeworCQkJCW1vcmVfZXJyb3IoXygiTm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIikpOworCQkJCWJyZWFrOworCQkJfQorCQkJbGFzdHArKzsKKwkJCS8qIGZhbGwgdGhyb3VnaCAqLworCQljYXNlICcvJzoKKwkJCWlmIChubGluZXMgPT0gMCkKKwkJCQlubGluZXMrKzsKKwkJCWtpbGxfbGluZSgpOworCQkJcHV0Y2hhcignLycpOworCQkJcHJvbXB0bGVuID0gMTsKKwkJCWZmbHVzaChzdGRvdXQpOworCQkJaWYgKGxhc3RwKSB7CisJCQkJcHV0Y2VycignXHInKTsKKwkJCQlzZWFyY2gocHJldmlvdXNyZSwgZiwgbmxpbmVzKTsKKwkJCX0gZWxzZSB7CisJCQkJdHR5aW4oY21kYnVmLCBzaXplb2YoY21kYnVmKSAtIDIsICcvJyk7CisJCQkJcHV0Y2VycignXHInKTsKKwkJCQlmcmVlKHByZXZpb3VzcmUpOworCQkJCXByZXZpb3VzcmUgPSB4c3RyZHVwKGNtZGJ1Zik7CisJCQkJc2VhcmNoKGNtZGJ1ZiwgZiwgbmxpbmVzKTsKKwkJCX0KKwkJCXJldChkbGluZXMgLSAxKTsKKwkJY2FzZSAnISc6CisJCQlkb19zaGVsbChmaWxlbmFtZSk7CisJCQlicmVhazsKKwkJY2FzZSAnPyc6CisJCWNhc2UgJ2gnOgorCQkJaWYgKG5vc2Nyb2xsKQorCQkJCWRvY2xlYXIoKTsKKwkJCXB1dHNvdXQoXygiXG4iCisJCQkJICAiTW9zdCBjb21tYW5kcyBvcHRpb25hbGx5IHByZWNlZGVkIGJ5IGludGVnZXIgYXJndW1lbnQgay4gICIKKwkJCQkgICJEZWZhdWx0cyBpbiBicmFja2V0cy5cbiIKKwkJCQkgICJTdGFyICgqKSBpbmRpY2F0ZXMgYXJndW1lbnQgYmVjb21lcyBuZXcgZGVmYXVsdC5cbiIpKTsKKwkJCXB1dHMoIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIKKwkJCSAgICAgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iKTsKKwkJCXB1dHNvdXQoXworCQkJCSgiPHNwYWNlPiAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV1cbiIKKwkJCQkgInogICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdKlxuIgorCQkJCSAiPHJldHVybj4gICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbMV0qXG4iCisJCQkJICJkIG9yIGN0cmwtRCAgICAgICAgICAgICBTY3JvbGwgayBsaW5lcyBbY3VycmVudCBzY3JvbGwgc2l6ZSwgaW5pdGlhbGx5IDExXSpcbiIKKwkJCQkgInEgb3IgUSBvciA8aW50ZXJydXB0PiAgIEV4aXQgZnJvbSBtb3JlXG4iCisJCQkJICJzICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBsaW5lcyBvZiB0ZXh0IFsxXVxuIgorCQkJCSAiZiAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorCQkJCSAiYiBvciBjdHJsLUIgICAgICAgICAgICAgU2tpcCBiYWNrd2FyZHMgayBzY3JlZW5mdWxzIG9mIHRleHQgWzFdXG4iCisJCQkJICInICAgICAgICAgICAgICAgICAgICAgICBHbyB0byBwbGFjZSB3aGVyZSBwcmV2aW91cyBzZWFyY2ggc3RhcnRlZFxuIgorCQkJCSAiPSAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGxpbmUgbnVtYmVyXG4iCisJCQkJICIvPHJlZ3VsYXIgZXhwcmVzc2lvbj4gICBTZWFyY2ggZm9yIGt0aCBvY2N1cnJlbmNlIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbiBbMV1cbiIKKwkJCQkgIm4gICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByLmUgWzFdXG4iCisJCQkJICIhPGNtZD4gb3IgOiE8Y21kPiAgICAgICBFeGVjdXRlIDxjbWQ+IGluIGEgc3Vic2hlbGxcbiIKKwkJCQkgInYgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0IHVwIC91c3IvYmluL3ZpIGF0IGN1cnJlbnQgbGluZVxuIgorCQkJCSAiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkcmF3IHNjcmVlblxuIgorCQkJCSAiOm4gICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIG5leHQgZmlsZSBbMV1cbiIKKwkJCQkgIjpwICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBwcmV2aW91cyBmaWxlIFsxXVxuIgorCQkJCSAiOmYgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXJcbiIKKwkJCQkgIi4gICAgICAgICAgICAgICAgICAgICAgIFJlcGVhdCBwcmV2aW91cyBjb21tYW5kXG4iKSk7CisJCQlwdXRzKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iCisJCQkgICAgICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIik7CisJCQlwcm9tcHQoZmlsZW5hbWUpOworCQkJYnJlYWs7CisJCWNhc2UgJ3YnOgkvKiBUaGlzIGNhc2Ugc2hvdWxkIGdvIHJpZ2h0IGJlZm9yZSBkZWZhdWx0ICovCisJCQlpZiAoIW5vX2ludHR5KSB7CisJCQkJLyogRWFybGllcjogY2FsbCB2aSArbiBmaWxlLiBUaGlzIGFsc28KKwkJCQkgKiB3b3JrcyBmb3IgZW1hY3MuICBQT1NJWDogY2FsbCB2aSAtYyBuCisJCQkJICogZmlsZSAod2hlbiBlZGl0b3IgaXMgdmkgb3IgZXgpLiAqLworCQkJCWNoYXIgKmVkaXRvciwgKnA7CisJCQkJaW50IG4gPSAoQ3VycmxpbmUgLSBkbGluZXMgPD0gMCA/IDEgOgorCQkJCQkgQ3VycmxpbmUgLSAoZGxpbmVzICsgMSkgLyAyKTsKKwkJCQlpbnQgc3BsaXQgPSAwOworCisJCQkJZWRpdG9yID0gZ2V0ZW52KCJWSVNVQUwiKTsKKwkJCQlpZiAoZWRpdG9yID09IE5VTEwgfHwgKmVkaXRvciA9PSAnXDAnKQorCQkJCQllZGl0b3IgPSBnZXRlbnYoIkVESVRPUiIpOworCQkJCWlmIChlZGl0b3IgPT0gTlVMTCB8fCAqZWRpdG9yID09ICdcMCcpCisJCQkJCWVkaXRvciA9IFZJOworCisJCQkJcCA9IHN0cnJjaHIoZWRpdG9yLCAnLycpOworCQkJCWlmIChwKQorCQkJCQlwKys7CisJCQkJZWxzZQorCQkJCQlwID0gZWRpdG9yOworCQkJCWlmICghc3RyY21wKHAsICJ2aSIpIHx8ICFzdHJjbXAocCwgImV4IikpIHsKKwkJCQkJc3ByaW50ZihjbWRidWYsICItYyAlZCIsIG4pOworCQkJCQlzcGxpdCA9IDE7CisJCQkJfSBlbHNlIHsKKwkJCQkJc3ByaW50ZihjbWRidWYsICIrJWQiLCBuKTsKKwkJCQl9CisKKwkJCQlraWxsX2xpbmUoKTsKKwkJCQlwcmludGYoIiVzICVzICVzIiwgZWRpdG9yLCBjbWRidWYsCisJCQkJICAgICAgIGZuYW1lc1tmbnVtXSk7CisJCQkJaWYgKHNwbGl0KSB7CisJCQkJCWNtZGJ1ZlsyXSA9IDA7CisJCQkJCWV4ZWN1dGUoZmlsZW5hbWUsIGVkaXRvciwgZWRpdG9yLAorCQkJCQkJY21kYnVmLCBjbWRidWYgKyAzLAorCQkJCQkJZm5hbWVzW2ZudW1dLCAoY2hhciAqKTApOworCQkJCX0gZWxzZQorCQkJCQlleGVjdXRlKGZpbGVuYW1lLCBlZGl0b3IsIGVkaXRvciwKKwkJCQkJCWNtZGJ1ZiwgZm5hbWVzW2ZudW1dLAorCQkJCQkJKGNoYXIgKikwKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCS8qIGZhbGwgdGhyb3VnaCAqLworCQlkZWZhdWx0OgorCQkJaWYgKGR1bV9vcHQpIHsKKwkJCQlraWxsX2xpbmUoKTsKKwkJCQlpZiAoU2VudGVyICYmIFNleGl0KSB7CisJCQkJCXB1dHN0cmluZyhTZW50ZXIpOworCQkJCQlwcm9tcHRsZW4gPQorCQkJCQkgICAgcHJpbnRmKF8KKwkJCQkJCSAgICgiW1ByZXNzICdoJyBmb3IgaW5zdHJ1Y3Rpb25zLl0iKSkKKwkJCQkJICAgICsgMiAqIHNvZ2xpdGNoOworCQkJCQlwdXRzdHJpbmcoU2V4aXQpOworCQkJCX0gZWxzZQorCQkJCQlwcm9tcHRsZW4gPQorCQkJCQkgICAgcHJpbnRmKF8KKwkJCQkJCSAgICgiW1ByZXNzICdoJyBmb3IgaW5zdHJ1Y3Rpb25zLl0iKSk7CisJCQkJZmZsdXNoKHN0ZG91dCk7CisJCQl9IGVsc2UKKwkJCQlyaW5nYmVsbCgpOworCQkJYnJlYWs7CisJCX0KKwkJaWYgKGRvbmUpCisJCQlicmVhazsKKwl9CisJcHV0Y2hhcignXHInKTsKKyBlbmRzdzoKKwlpbndhaXQgPSAwOworCW5vdGVsbCsrOworCXJldHVybiAocmV0dmFsKTsKK30KKworc3RhdGljIGNoYXIgY2g7CisvKiBFeGVjdXRlIGEgY29sb24tcHJlZml4ZWQgY29tbWFuZC4gIFJldHVybnMgPDAgaWYgbm90IGEgY29tbWFuZCB0aGF0CisgKiBzaG91bGQgY2F1c2UgbW9yZSBvZiB0aGUgZmlsZSB0byBiZSBwcmludGVkLiAqLworaW50IGNvbG9uKGNoYXIgKmZpbGVuYW1lLCBpbnQgY21kLCBpbnQgbmxpbmVzKQoreworCWlmIChjbWQgPT0gMCkKKwkJY2ggPSByZWFkY2goKTsKKwllbHNlCisJCWNoID0gY21kOworCWxhc3Rjb2xvbiA9IGNoOworCXN3aXRjaCAoY2gpIHsKKwljYXNlICdmJzoKKwkJa2lsbF9saW5lKCk7CisJCWlmICghbm9faW50dHkpCisJCQlwcm9tcHRsZW4gPQorCQkJICAgIHByaW50ZihfKCJcIiVzXCIgbGluZSAlZCIpLCBmbmFtZXNbZm51bV0sIEN1cnJsaW5lKTsKKwkJZWxzZQorCQkJcHJvbXB0bGVuID0gcHJpbnRmKF8oIltOb3QgYSBmaWxlXSBsaW5lICVkIiksIEN1cnJsaW5lKTsKKwkJZmZsdXNoKHN0ZG91dCk7CisJCXJldHVybiAoLTEpOworCWNhc2UgJ24nOgorCQlpZiAobmxpbmVzID09IDApIHsKKwkJCWlmIChmbnVtID49IG5maWxlcyAtIDEpCisJCQkJZW5kX2l0KDApOworCQkJbmxpbmVzKys7CisJCX0KKwkJcHV0Y2hhcignXHInKTsKKwkJZXJhc2VwKDApOworCQlza2lwZihubGluZXMpOworCQlyZXR1cm4gKDApOworCWNhc2UgJ3AnOgorCQlpZiAobm9faW50dHkpIHsKKwkJCXJpbmdiZWxsKCk7CisJCQlyZXR1cm4gKC0xKTsKKwkJfQorCQlwdXRjaGFyKCdccicpOworCQllcmFzZXAoMCk7CisJCWlmIChubGluZXMgPT0gMCkKKwkJCW5saW5lcysrOworCQlza2lwZigtbmxpbmVzKTsKKwkJcmV0dXJuICgwKTsKKwljYXNlICchJzoKKwkJZG9fc2hlbGwoZmlsZW5hbWUpOworCQlyZXR1cm4gKC0xKTsKKwljYXNlICdxJzoKKwljYXNlICdRJzoKKwkJZW5kX2l0KDApOworCWRlZmF1bHQ6CisJCXJpbmdiZWxsKCk7CisJCXJldHVybiAoLTEpOworCX0KK30KKworLyogUmVhZCBhIGRlY2ltYWwgbnVtYmVyIGZyb20gdGhlIHRlcm1pbmFsLiAgU2V0IGNtZCB0byB0aGUgbm9uLWRpZ2l0CisgKiB3aGljaCB0ZXJtaW5hdGVzIHRoZSBudW1iZXIuICovCitpbnQgbnVtYmVyKGNoYXIgKmNtZCkKK3sKKwlyZWdpc3RlciBpbnQgaTsKKworCWkgPSAwOworCWNoID0gb3R0eS5jX2NjW1ZLSUxMXTsKKwlmb3IgKDs7KSB7CisJCWNoID0gcmVhZGNoKCk7CisJCWlmIChpc2RpZ2l0KGNoKSkKKwkJCWkgPSBpICogMTAgKyBjaCAtICcwJzsKKwkJZWxzZSBpZiAoKGNjX3QpIGNoID09IG90dHkuY19jY1tWS0lMTF0pCisJCQlpID0gMDsKKwkJZWxzZSB7CisJCQkqY21kID0gY2g7CisJCQlicmVhazsKKwkJfQorCX0KKwlyZXR1cm4gKGkpOworfQorCit2b2lkIGRvX3NoZWxsKGNoYXIgKmZpbGVuYW1lKQoreworCWNoYXIgY21kYnVmW0NPTU1BTkRfQlVGXTsKKwlpbnQgcmM7CisJY2hhciAqZXhwYW5kZWQ7CisKKwlraWxsX2xpbmUoKTsKKwlwdXRjaGFyKCchJyk7CisJZmZsdXNoKHN0ZG91dCk7CisJcHJvbXB0bGVuID0gMTsKKwlpZiAobGFzdHApCisJCXB1dHNvdXQoc2hlbGxfbGluZSk7CisJZWxzZSB7CisJCXR0eWluKGNtZGJ1Ziwgc2l6ZW9mKGNtZGJ1ZikgLSAyLCAnIScpOworCQlleHBhbmRlZCA9IDA7CisJCXJjID0gZXhwYW5kKCZleHBhbmRlZCwgY21kYnVmKTsKKwkJaWYgKGV4cGFuZGVkKSB7CisJCQlpZiAoc3RybGVuKGV4cGFuZGVkKSA8IHNpemVvZihzaGVsbF9saW5lKSkKKwkJCQlzdHJjcHkoc2hlbGxfbGluZSwgZXhwYW5kZWQpOworCQkJZWxzZQorCQkJCXJjID0gLTE7CisJCQlmcmVlKGV4cGFuZGVkKTsKKwkJfQorCQlpZiAocmMgPCAwKSB7CisJCQlwdXRzZXJyKF8oIiAgT3ZlcmZsb3dcbiIpKTsKKwkJCXByb21wdChmaWxlbmFtZSk7CisJCQlyZXR1cm47CisJCX0gZWxzZSBpZiAocmMgPiAwKSB7CisJCQlraWxsX2xpbmUoKTsKKwkJCXByb21wdGxlbiA9IHByaW50ZigiISVzIiwgc2hlbGxfbGluZSk7CisJCX0KKwl9CisJZmZsdXNoKHN0ZG91dCk7CisJcHV0Y2VycignXG4nKTsKKwlwcm9tcHRsZW4gPSAwOworCXNoZWxscCA9IDE7CisJZXhlY3V0ZShmaWxlbmFtZSwgc2hlbGwsIHNoZWxsLCAiLWMiLCBzaGVsbF9saW5lLCAwKTsKK30KKworLyogU2VhcmNoIGZvciBudGggb2NjdXJyZW5jZSBvZiByZWd1bGFyIGV4cHJlc3Npb24gY29udGFpbmVkIGluIGJ1ZiBpbgorICogdGhlIGZpbGUgKi8KK3ZvaWQgc2VhcmNoKGNoYXIgYnVmW10sIEZJTEUgKmZpbGUsIHJlZ2lzdGVyIGludCBuKQoreworCWxvbmcgc3RhcnRsaW5lID0gRnRlbGwoZmlsZSk7CisJcmVnaXN0ZXIgbG9uZyBsaW5lMSA9IHN0YXJ0bGluZTsKKwlyZWdpc3RlciBsb25nIGxpbmUyID0gc3RhcnRsaW5lOworCXJlZ2lzdGVyIGxvbmcgbGluZTM7CisJcmVnaXN0ZXIgaW50IGxuY291bnQ7CisJaW50IHNhdmVsbiwgcmM7CisJcmVnZXhfdCByZTsKKworCWNvbnRleHQubGluZSA9IHNhdmVsbiA9IEN1cnJsaW5lOworCWNvbnRleHQuY2hyY3RyID0gc3RhcnRsaW5lOworCWxuY291bnQgPSAwOworCWlmICghYnVmKQorCQlnb3RvIG5vdGZvdW5kOworCWlmICgocmMgPSByZWdjb21wKCZyZSwgYnVmLCBSRUdfTk9TVUIpKSAhPSAwKSB7CisJCWNoYXIgc1tSRUdFUlJfQlVGXTsKKwkJcmVnZXJyb3IocmMsICZyZSwgcywgc2l6ZW9mIHMpOworCQltb3JlX2Vycm9yKHMpOworCX0KKwl3aGlsZSAoIWZlb2YoZmlsZSkpIHsKKwkJbGluZTMgPSBsaW5lMjsKKwkJbGluZTIgPSBsaW5lMTsKKwkJbGluZTEgPSBGdGVsbChmaWxlKTsKKwkJcmRsaW5lKGZpbGUpOworCQlsbmNvdW50Kys7CisJCWlmIChyZWdleGVjKCZyZSwgTGluZSwgMCwgTlVMTCwgMCkgPT0gMCkgeworCQkJaWYgKC0tbiA9PSAwKSB7CisJCQkJaWYgKGxuY291bnQgPiAzIHx8IChsbmNvdW50ID4gMSAmJiBub19pbnR0eSkpIHsKKwkJCQkJcHV0Y2hhcignXG4nKTsKKwkJCQkJaWYgKGNscmVvbCkKKwkJCQkJCWNsZWFyZW9sKCk7CisJCQkJCXB1dHNvdXQoXygiLi4uc2tpcHBpbmdcbiIpKTsKKwkJCQl9CisJCQkJaWYgKCFub19pbnR0eSkgeworCQkJCQlDdXJybGluZSAtPQorCQkJCQkgICAgKGxuY291bnQgPj0gMyA/IDMgOiBsbmNvdW50KTsKKwkJCQkJRnNlZWsoZmlsZSwgbGluZTMpOworCQkJCQlpZiAobm9zY3JvbGwpIHsKKwkJCQkJCWlmIChjbHJlb2wpIHsKKwkJCQkJCQlob21lKCk7CisJCQkJCQkJY2xlYXJlb2woKTsKKwkJCQkJCX0gZWxzZQorCQkJCQkJCWRvY2xlYXIoKTsKKwkJCQkJfQorCQkJCX0gZWxzZSB7CisJCQkJCWtpbGxfbGluZSgpOworCQkJCQlpZiAobm9zY3JvbGwpIHsKKwkJCQkJCWlmIChjbHJlb2wpIHsKKwkJCQkJCQlob21lKCk7CisJCQkJCQkJY2xlYXJlb2woKTsKKwkJCQkJCX0gZWxzZQorCQkJCQkJCWRvY2xlYXIoKTsKKwkJCQkJfQorCQkJCQlwdXRzKExpbmUpOworCQkJCX0KKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCX0KKwlyZWdmcmVlKCZyZSk7CisJaWYgKGZlb2YoZmlsZSkpIHsKKwkJaWYgKCFub19pbnR0eSkgeworCQkJQ3VycmxpbmUgPSBzYXZlbG47CisJCQlGc2VlayhmaWxlLCBzdGFydGxpbmUpOworCQl9IGVsc2UgeworCQkJcHV0c291dChfKCJcblBhdHRlcm4gbm90IGZvdW5kXG4iKSk7CisJCQllbmRfaXQoMCk7CisJCX0KKwkJZnJlZShwcmV2aW91c3JlKTsKKwkJcHJldmlvdXNyZSA9IE5VTEw7Citub3Rmb3VuZDoKKwkJbW9yZV9lcnJvcihfKCJQYXR0ZXJuIG5vdCBmb3VuZCIpKTsKKwl9Cit9CisKK3ZvaWQgZXhlY3V0ZShjaGFyICpmaWxlbmFtZSwgY2hhciAqY21kLCAuLi4pCit7CisJaW50IGlkOworCWludCBuOworCXZhX2xpc3QgYXJncDsKKwljaGFyICphcmc7CisJY2hhciAqKmFyZ3M7CisJaW50IGFyZ2NvdW50OworCisJZmZsdXNoKHN0ZG91dCk7CisJcmVzZXRfdHR5KCk7CisJZm9yIChuID0gMTA7IChpZCA9IGZvcmsoKSkgPCAwICYmIG4gPiAwOyBuLS0pCisJCXNsZWVwKDUpOworCWlmIChpZCA9PSAwKSB7CisJCWlmICghaXNhdHR5KDApKSB7CisJCQljbG9zZSgwKTsKKwkJCW9wZW4oIi9kZXYvdHR5IiwgMCk7CisJCX0KKworCQl2YV9zdGFydChhcmdwLCBjbWQpOworCQlhcmcgPSB2YV9hcmcoYXJncCwgY2hhciAqKTsKKwkJYXJnY291bnQgPSAwOworCQl3aGlsZSAoYXJnKSB7CisJCQlhcmdjb3VudCsrOworCQkJYXJnID0gdmFfYXJnKGFyZ3AsIGNoYXIgKik7CisJCX0KKwkJdmFfZW5kKGFyZ3ApOworCisJCWFyZ3MgPSBhbGxvY2Eoc2l6ZW9mKGNoYXIgKikgKiAoYXJnY291bnQgKyAxKSk7CisJCWFyZ3NbYXJnY291bnRdID0gTlVMTDsKKworCQl2YV9zdGFydChhcmdwLCBjbWQpOworCQlhcmcgPSB2YV9hcmcoYXJncCwgY2hhciAqKTsKKwkJYXJnY291bnQgPSAwOworCQl3aGlsZSAoYXJnKSB7CisJCQlhcmdzW2FyZ2NvdW50XSA9IGFyZzsKKwkJCWFyZ2NvdW50Kys7CisJCQlhcmcgPSB2YV9hcmcoYXJncCwgY2hhciAqKTsKKwkJfQorCQl2YV9lbmQoYXJncCk7CisKKwkJZXhlY3ZwKGNtZCwgYXJncyk7CisJCXB1dHNlcnIoXygiZXhlYyBmYWlsZWRcbiIpKTsKKwkJZXhpdChFWElUX0ZBSUxVUkUpOworCX0KKwlpZiAoaWQgPiAwKSB7CisJCXNpZ25hbChTSUdJTlQsIFNJR19JR04pOworCQlzaWduYWwoU0lHUVVJVCwgU0lHX0lHTik7CisJCWlmIChjYXRjaF9zdXNwKQorCQkJc2lnbmFsKFNJR1RTVFAsIFNJR19ERkwpOworCQl3aGlsZSAod2FpdCgwKSA+IDApIDsKKwkJc2lnbmFsKFNJR0lOVCwgZW5kX2l0KTsKKwkJc2lnbmFsKFNJR1FVSVQsIG9ucXVpdCk7CisJCWlmIChjYXRjaF9zdXNwKQorCQkJc2lnbmFsKFNJR1RTVFAsIG9uc3VzcCk7CisJfSBlbHNlCisJCXB1dHNlcnIoXygiY2FuJ3QgZm9ya1xuIikpOworCXNldF90dHkoKTsKKwlwdXRzKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iKTsKKwlwcm9tcHQoZmlsZW5hbWUpOworfQorCisvKiBTa2lwIG4gbGluZXMgaW4gdGhlIGZpbGUgZiAqLwordm9pZCBza2lwbG5zKHJlZ2lzdGVyIGludCBuLCByZWdpc3RlciBGSUxFICpmKQoreworCXJlZ2lzdGVyIGludCBjOworCisJd2hpbGUgKG4gPiAwKSB7CisJCXdoaWxlICgoYyA9IEdldGMoZikpICE9ICdcbicpCisJCQlpZiAoYyA9PSBFT0YpCisJCQkJcmV0dXJuOworCQluLS07CisJCUN1cnJsaW5lKys7CisJfQorfQorCisvKiBTa2lwIG5za2lwIGZpbGVzIGluIHRoZSBmaWxlIGxpc3QgKGZyb20gdGhlIGNvbW1hbmQgbGluZSkuICBOc2tpcCBtYXkKKyAqIGJlIG5lZ2F0aXZlLiAqLwordm9pZCBza2lwZihyZWdpc3RlciBpbnQgbnNraXApCit7CisJaWYgKG5za2lwID09IDApCisJCXJldHVybjsKKwlpZiAobnNraXAgPiAwKSB7CisJCWlmIChmbnVtICsgbnNraXAgPiBuZmlsZXMgLSAxKQorCQkJbnNraXAgPSBuZmlsZXMgLSBmbnVtIC0gMTsKKwl9IGVsc2UgaWYgKHdpdGhpbikKKwkJKytmbnVtOworCWZudW0gKz0gbnNraXA7CisJaWYgKGZudW0gPCAwKQorCQlmbnVtID0gMDsKKwlwdXRzKF8oIlxuLi4uU2tpcHBpbmcgIikpOworCWlmIChjbHJlb2wpCisJCWNsZWFyZW9sKCk7CisJaWYgKG5za2lwID4gMCkKKwkJcHV0c291dChfKCIuLi5Ta2lwcGluZyB0byBmaWxlICIpKTsKKwllbHNlCisJCXB1dHNvdXQoXygiLi4uU2tpcHBpbmcgYmFjayB0byBmaWxlICIpKTsKKwlwdXRzKGZuYW1lc1tmbnVtXSk7CisJaWYgKGNscmVvbCkKKwkJY2xlYXJlb2woKTsKKwlwdXRjaGFyKCdcbicpOworCS0tZm51bTsKK30KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBUZXJtaW5hbCBJL08gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCit2b2lkIGluaXR0ZXJtKHZvaWQpCit7CisJaW50IHJldDsKKwljaGFyICpwYWRzdHI7CisJY2hhciAqdGVybTsKKwlzdHJ1Y3Qgd2luc2l6ZSB3aW47CisKKyNpZmRlZiBkb19TSUdUVE9VCisgcmV0cnk6CisjZW5kaWYKKworI2lmbmRlZiBOT05fSU5URVJBQ1RJVkVfTU9SRQorCW5vX3R0eSA9IHRjZ2V0YXR0cihmaWxlbm8oc3Rkb3V0KSwgJm90dHkpOworI2VuZGlmCisJaWYgKCFub190dHkpIHsKKwkJZG9jcnRlcmFzZSA9IChvdHR5LmNfY2NbVkVSQVNFXSAhPSAyNTUpOworCQlkb2NydGtpbGwgPSAob3R0eS5jX2NjW1ZLSUxMXSAhPSAyNTUpOworI2lmZGVmIGRvX1NJR1RUT1UKKwkJeworCQkJaW50IHRncnA7CisJCQkvKiBXYWl0IHVudGlsIHdlJ3JlIGluIHRoZSBmb3JlZ3JvdW5kIGJlZm9yZSB3ZQorCQkJICogc2F2ZSB0aGUgdGVybWluYWwgbW9kZXMuICovCisJCQlpZiAoKHRncnAgPSB0Y2dldHBncnAoZmlsZW5vKHN0ZG91dCkpKSA8IDApCisJCQkJZXJyKEVYSVRfRkFJTFVSRSwgInRjZ2V0cGdycCIpOworCQkJaWYgKHRncnAgIT0gZ2V0cGdycCgwKSkgeworCQkJCWtpbGwoMCwgU0lHVFRPVSk7CisJCQkJZ290byByZXRyeTsKKwkJCX0KKwkJfQorI2VuZGlmCS8qIGRvX1NJR1RUT1UgKi8KKwkJaWYgKCh0ZXJtID0gZ2V0ZW52KCJURVJNIikpID09IE5VTEwpIHsKKwkJCWR1bWIrKzsKKwkJCXVsX29wdCA9IDA7CisJCX0KKwkJc2V0dXB0ZXJtKHRlcm0sIDEsICZyZXQpOworCQlpZiAocmV0IDw9IDApIHsKKwkJCWR1bWIrKzsKKwkJCXVsX29wdCA9IDA7CisJCX0gZWxzZSB7CisjaWZkZWYgVElPQ0dXSU5TWgorCQkJaWYgKGlvY3RsKGZpbGVubyhzdGRvdXQpLCBUSU9DR1dJTlNaLCAmd2luKSA8IDApIHsKKyNlbmRpZgorCQkJCUxwcCA9IHRpZ2V0bnVtKFRFUk1fTElORVMpOworCQkJCU1jb2wgPSB0aWdldG51bShURVJNX0NPTFMpOworI2lmZGVmIFRJT0NHV0lOU1oKKwkJCX0gZWxzZSB7CisJCQkJaWYgKChMcHAgPSB3aW4ud3Nfcm93KSA9PSAwKQorCQkJCQlMcHAgPSB0aWdldG51bShURVJNX0xJTkVTKTsKKwkJCQlpZiAoKE1jb2wgPSB3aW4ud3NfY29sKSA9PSAwKQorCQkJCQlNY29sID0gdGlnZXRudW0oVEVSTV9DT0xTKTsKKwkJCX0KKyNlbmRpZgorCQkJaWYgKChMcHAgPD0gMCkgfHwgdGlnZXRmbGFnKFRFUk1fSEFSRF9DT1BZKSkgeworCQkJCWhhcmQrKzsJLyogSGFyZCBjb3B5IHRlcm1pbmFsICovCisJCQkJTHBwID0gTElORVNfUEVSX1BBR0U7CisJCQl9CisKKwkJCWlmICh0aWdldGZsYWcoVEVSTV9FQVRfTkVXX0xJTkUpKQorCQkJCS8qIEVhdCBuZXdsaW5lIGF0IGxhc3QgY29sdW1uICsgMTsgZGVjLCBjb25jZXB0ICovCisJCQkJZWF0bmwrKzsKKwkJCWlmIChNY29sIDw9IDApCisJCQkJTWNvbCA9IE5VTV9DT0xVTU5TOworCisJCQlXcmFwID0gdGlnZXRmbGFnKFRFUk1fQVVUT19SSUdIVF9NQVJHSU4pOworCQkJYmFkX3NvID0gdGlnZXRmbGFnKFRFUk1fQ0VPTCk7CisJCQllcmFzZWxuID0gdGlnZXRzdHIoVEVSTV9DTEVBUl9UT19MSU5FX0VORCk7CisJCQlDbGVhciA9IHRpZ2V0c3RyKFRFUk1fQ0xFQVIpOworCQkJU2VudGVyID0gdGlnZXRzdHIoVEVSTV9TVEFOREFSRF9NT0RFKTsKKwkJCVNleGl0ID0gdGlnZXRzdHIoVEVSTV9FWElUX1NUQU5EQVJEX01PREUpOworCQkJaWYgKChzb2dsaXRjaCA9IHRpZ2V0bnVtKFRFUk1fU1REX01PREVfR0xJVENIKSkgPCAwKQorCQkJCXNvZ2xpdGNoID0gMDsKKworCQkJLyogU2V0IHVwIGZvciB1bmRlcmxpbmluZzogIHNvbWUgdGVybWluYWxzIGRvbid0CisJCQkgKiBuZWVkIGl0OyBvdGhlcnMgaGF2ZSBzdGFydC9zdG9wIHNlcXVlbmNlcywKKwkJCSAqIHN0aWxsIG90aGVycyBoYXZlIGFuIHVuZGVybGluZSBjaGFyIHNlcXVlbmNlCisJCQkgKiB3aGljaCBpcyBhc3N1bWVkIHRvIG1vdmUgdGhlIGN1cnNvciBmb3J3YXJkCisJCQkgKiBvbmUgY2hhcmFjdGVyLiAgSWYgdW5kZXJsaW5lIHNlcXVlbmNlIGlzbid0CisJCQkgKiBhdmFpbGFibGUsIHNldHRsZSBmb3Igc3RhbmRvdXQgc2VxdWVuY2UuICovCisJCQlpZiAodGlnZXRmbGFnKFRFUk1fVU5ERVJMSU5FKQorCQkJICAgIHx8IHRpZ2V0ZmxhZyhURVJNX09WRVJfU1RSSUtFKSkKKwkJCQl1bF9vcHQgPSAwOworCQkJaWYgKChjaFVMID0gdGlnZXRzdHIoVEVSTV9VTkRFUkxJTkVfQ0hBUikpID09IE5VTEwpCisJCQkJY2hVTCA9ICIiOworCQkJaWYgKCgoVUxlbnRlciA9CisJCQkgICAgICB0aWdldHN0cihURVJNX0VOVEVSX1VOREVSTElORSkpID09IE5VTEwKKwkJCSAgICAgfHwgKFVMZXhpdCA9CisJCQkJIHRpZ2V0c3RyKFRFUk1fRVhJVF9VTkRFUkxJTkUpKSA9PSBOVUxMKQorCQkJICAgICYmICEqY2hVTCkgeworCQkJCWlmICgoVUxlbnRlciA9IFNlbnRlcikgPT0gTlVMTAorCQkJCSAgICB8fCAoVUxleGl0ID0gU2V4aXQpID09IE5VTEwpIHsKKwkJCQkJVUxlbnRlciA9ICIiOworCQkJCQlVTGV4aXQgPSAiIjsKKwkJCQl9IGVsc2UKKwkJCQkJdWxnbGl0Y2ggPSBzb2dsaXRjaDsKKwkJCX0gZWxzZSB7CisJCQkJdWxnbGl0Y2ggPSAwOworCQkJfQorCisJCQlpZiAoKHBhZHN0ciA9IHRpZ2V0c3RyKFRFUk1fUEFEX0NIQVIpKSAhPSBOVUxMKQorCQkJCVBDID0gKnBhZHN0cjsKKwkJCUhvbWUgPSB0aWdldHN0cihURVJNX0hPTUUpOworCQkJaWYgKEhvbWUgPT0gTlVMTCB8fCAqSG9tZSA9PSAnXDAnKSB7CisJCQkJaWYgKChjdXJzb3JtID0KKwkJCQkgICAgIHRpZ2V0c3RyKFRFUk1fQ1VSU09SX0FERFJFU1MpKSAhPSBOVUxMKSB7CisJCQkJCWNvbnN0IGNoYXIgKnQgPQorCQkJCQkgICAgKGNvbnN0IGNoYXIgKil0cGFybShjdXJzb3JtLCAwLAorCQkJCQkJCQkgICAwKTsKKwkJCQkJeHN0cm5jcHkoY3Vyc29yaG9tZSwgdCwKKwkJCQkJCSBzaXplb2YoY3Vyc29yaG9tZSkpOworCQkJCQlIb21lID0gY3Vyc29yaG9tZTsKKwkJCQl9CisJCQl9CisJCQlFb2RDbHIgPSB0aWdldHN0cihURVJNX0NMRUFSX1RPX1NDUkVFTl9FTkQpOworCQkJaWYgKChjaEJTID0gdGlnZXRzdHIoVEVSTV9MSU5FX0RPV04pKSA9PSBOVUxMKQorCQkJCWNoQlMgPSAiXGIiOworCisJCX0KKwkJaWYgKChzaGVsbCA9IGdldGVudigiU0hFTEwiKSkgPT0gTlVMTCkKKwkJCXNoZWxsID0gIi9iaW4vc2giOworCX0KKwlub19pbnR0eSA9IHRjZ2V0YXR0cihmaWxlbm8oc3RkaW4pLCAmb3R0eSk7CisJdGNnZXRhdHRyKGZpbGVubyhzdGRlcnIpLCAmb3R0eSk7CisJc2F2ZXR0eTAgPSBvdHR5OworCXNsb3dfdHR5ID0gY2ZnZXRpc3BlZWQoJm90dHkpIDwgQjEyMDA7CisJaGFyZHRhYnMgPSAob3R0eS5jX29mbGFnICYgVEFCRExZKSAhPSBYVEFCUzsKKwlpZiAoIW5vX3R0eSkgeworCQlvdHR5LmNfbGZsYWcgJj0gfihJQ0FOT04gfCBFQ0hPKTsKKwkJb3R0eS5jX2NjW1ZNSU5dID0gMTsKKwkJb3R0eS5jX2NjW1ZUSU1FXSA9IDA7CisJfQorfQorCitpbnQgcmVhZGNoKHZvaWQpCit7CisJdW5zaWduZWQgY2hhciBjOworCisJZXJybm8gPSAwOworCWlmIChyZWFkKGZpbGVubyhzdGRlcnIpLCAmYywgMSkgPD0gMCkgeworCQlpZiAoZXJybm8gIT0gRUlOVFIpCisJCQllbmRfaXQoMCk7CisJCWVsc2UKKwkJCWMgPSBvdHR5LmNfY2NbVktJTExdOworCX0KKwlyZXR1cm4gKGMpOworfQorCitzdGF0aWMgY2hhciAqQlMgPSAiXGIiOworc3RhdGljIGNoYXIgKkJTQiA9ICJcYiBcYiI7CitzdGF0aWMgY2hhciAqQ0FSQVQgPSAiXiI7CisjZGVmaW5lIEVSQVNFT05FQ09MVU1OKHgpIFwKKwkJZG8geyBcCisJCSAgICBpZiAoeCkgXAorCQkJcHV0c2VycihCU0IpOyBcCisJCSAgICBlbHNlIFwKKwkJCXB1dHNlcnIoQlMpOyBcCisJCX0gd2hpbGUoMCkKKwordm9pZCB0dHlpbihjaGFyIGJ1ZltdLCByZWdpc3RlciBpbnQgbm1heCwgY2hhciBwY2hhcikKK3sKKwljaGFyICpzcDsKKwlpbnQgYzsKKwlpbnQgc2xhc2ggPSAwOworCWludCBtYXhsZW47CisKKwlzcCA9IGJ1ZjsKKwltYXhsZW4gPSAwOworCXdoaWxlIChzcCAtIGJ1ZiA8IG5tYXgpIHsKKwkJaWYgKHByb21wdGxlbiA+IG1heGxlbikKKwkJCW1heGxlbiA9IHByb21wdGxlbjsKKwkJYyA9IHJlYWRjaCgpOworCQlpZiAoYyA9PSAnXFwnKSB7CisJCQlzbGFzaCsrOworCQl9IGVsc2UgaWYgKCgoY2NfdCkgYyA9PSBvdHR5LmNfY2NbVkVSQVNFXSkgJiYgIXNsYXNoKSB7CisJCQlpZiAoc3AgPiBidWYpIHsKKyNpZmRlZiBIQVZFX1dJREVDSEFSCisJCQkJaWYgKE1CX0NVUl9NQVggPiAxKSB7CisJCQkJCXdjaGFyX3Qgd2M7CisJCQkJCXNpemVfdCBwb3MgPSAwLCBtYmxlbmd0aDsKKwkJCQkJbWJzdGF0ZV90IHN0YXRlLCBzdGF0ZV9iYWs7CisKKwkJCQkJbWVtc2V0KCZzdGF0ZSwgJ1wwJywgc2l6ZW9mKG1ic3RhdGVfdCkpOworCisJCQkJCXdoaWxlICgxKSB7CisJCQkJCQlzdGF0ZV9iYWsgPSBzdGF0ZTsKKwkJCQkJCW1ibGVuZ3RoID0KKwkJCQkJCSAgICBtYnJ0b3djKCZ3YywgYnVmICsgcG9zLAorCQkJCQkJCSAgICBzcCAtIGJ1ZiwgJnN0YXRlKTsKKworCQkJCQkJc3RhdGUgPSAobWJsZW5ndGggPT0gKHNpemVfdCktMgorCQkJCQkJCSB8fCBtYmxlbmd0aCA9PQorCQkJCQkJCSAoc2l6ZV90KS0xKSA/IHN0YXRlX2JhaworCQkJCQkJICAgIDogc3RhdGU7CisJCQkJCQltYmxlbmd0aCA9CisJCQkJCQkgICAgKG1ibGVuZ3RoID09IChzaXplX3QpLTIKKwkJCQkJCSAgICAgfHwgbWJsZW5ndGggPT0gKHNpemVfdCktMQorCQkJCQkJICAgICB8fCBtYmxlbmd0aCA9PQorCQkJCQkJICAgICAwKSA/IDEgOiBtYmxlbmd0aDsKKworCQkJCQkJaWYgKGJ1ZiArIHBvcyArIG1ibGVuZ3RoID49IHNwKQorCQkJCQkJCWJyZWFrOworCisJCQkJCQlwb3MgKz0gbWJsZW5ndGg7CisJCQkJCX0KKworCQkJCQlpZiAobWJsZW5ndGggPT0gMSkgeworCQkJCQkJRVJBU0VPTkVDT0xVTU4oZG9jcnRlcmFzZSk7CisJCQkJCX0gZWxzZSB7CisJCQkJCQlpbnQgd2Nfd2lkdGg7CisJCQkJCQl3Y193aWR0aCA9IHdjd2lkdGgod2MpOworCQkJCQkJd2Nfd2lkdGggPQorCQkJCQkJICAgICh3Y193aWR0aCA8CisJCQkJCQkgICAgIDEpID8gMSA6IHdjX3dpZHRoOworCQkJCQkJd2hpbGUgKHdjX3dpZHRoLS0pIHsKKwkJCQkJCQlFUkFTRU9ORUNPTFVNTihkb2NydGVyYXNlKTsKKwkJCQkJCX0KKwkJCQkJfQorCisJCQkJCXdoaWxlIChtYmxlbmd0aC0tKSB7CisJCQkJCQktLXByb21wdGxlbjsKKwkJCQkJCS0tc3A7CisJCQkJCX0KKwkJCQl9IGVsc2UKKyNlbmRpZgkvKiBIQVZFX1dJREVDSEFSICovCisJCQkJeworCQkJCQktLXByb21wdGxlbjsKKwkJCQkJRVJBU0VPTkVDT0xVTU4oZG9jcnRlcmFzZSk7CisJCQkJCS0tc3A7CisJCQkJfQorCisJCQkJaWYgKCgqc3AgPCAnICcgJiYgKnNwICE9ICdcbicpIHx8ICpzcCA9PSBSVUJPVVQpIHsKKwkJCQkJLS1wcm9tcHRsZW47CisJCQkJCUVSQVNFT05FQ09MVU1OKGRvY3J0ZXJhc2UpOworCQkJCX0KKwkJCQljb250aW51ZTsKKwkJCX0gZWxzZSB7CisJCQkJaWYgKCFlcmFzZWxuKQorCQkJCQlwcm9tcHRsZW4gPSBtYXhsZW47CisJCQkJc2lnbG9uZ2ptcChyZXN0b3JlLCAxKTsKKwkJCX0KKwkJfSBlbHNlIGlmICgoKGNjX3QpIGMgPT0gb3R0eS5jX2NjW1ZLSUxMXSkgJiYgIXNsYXNoKSB7CisJCQlpZiAoaGFyZCkgeworCQkJCXNob3coYyk7CisJCQkJcHV0Y2hhcignXG4nKTsKKwkJCQlwdXRjaGFyKHBjaGFyKTsKKwkJCX0gZWxzZSB7CisJCQkJcHV0Y2hhcignXHInKTsKKwkJCQlwdXRjaGFyKHBjaGFyKTsKKwkJCQlpZiAoZXJhc2VsbikKKwkJCQkJZXJhc2VwKDEpOworCQkJCWVsc2UgaWYgKGRvY3J0a2lsbCkKKwkJCQkJd2hpbGUgKHByb21wdGxlbi0tID4gMSkKKwkJCQkJCXB1dHNlcnIoQlNCKTsKKwkJCQlwcm9tcHRsZW4gPSAxOworCQkJfQorCQkJc3AgPSBidWY7CisJCQlmZmx1c2goc3Rkb3V0KTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmIChzbGFzaCAmJiAoKGNjX3QpIGMgPT0gb3R0eS5jX2NjW1ZLSUxMXQorCQkJICAgICAgfHwgKGNjX3QpIGMgPT0gb3R0eS5jX2NjW1ZFUkFTRV0pKSB7CisJCQlFUkFTRU9ORUNPTFVNTihkb2NydGVyYXNlKTsKKwkJCS0tc3A7CisJCX0KKwkJaWYgKGMgIT0gJ1xcJykKKwkJCXNsYXNoID0gMDsKKwkJKnNwKysgPSBjOworCQlpZiAoKGMgPCAnICcgJiYgYyAhPSAnXG4nICYmIGMgIT0gRVNDKSB8fCBjID09IFJVQk9VVCkgeworCQkJYyArPSAoYyA9PSBSVUJPVVQpID8gLTAxMDAgOiAwMTAwOworCQkJcHV0c2VycihDQVJBVCk7CisJCQlwcm9tcHRsZW4rKzsKKwkJfQorCQlpZiAoYyAhPSAnXG4nICYmIGMgIT0gRVNDKSB7CisJCQlwdXRjZXJyKGMpOworCQkJcHJvbXB0bGVuKys7CisJCX0gZWxzZQorCQkJYnJlYWs7CisJfQorCSotLXNwID0gJ1wwJzsKKwlpZiAoIWVyYXNlbG4pCisJCXByb21wdGxlbiA9IG1heGxlbjsKKwlpZiAoc3AgLSBidWYgPj0gbm1heCAtIDEpCisJCW1vcmVfZXJyb3IoXygiTGluZSB0b28gbG9uZyIpKTsKK30KKworLyogcmV0dXJuOiAwIC0gdW5jaGFuZ2VkLCAxIC0gY2hhbmdlZCwgLTEgLSBvdmVyZmxvdyAodW5jaGFuZ2VkKSAqLworaW50IGV4cGFuZChjaGFyICoqb3V0YnVmLCBjaGFyICppbmJ1ZikKK3sKKwljaGFyICppbnBzdHI7CisJY2hhciAqb3V0c3RyOworCWNoYXIgYzsKKwljaGFyICp0ZW1wOworCWludCBjaGFuZ2VkID0gMDsKKwlpbnQgdGVtcHN6LCB4dHJhLCBvZmZzZXQ7CisKKwl4dHJhID0gc3RybGVuKGZuYW1lc1tmbnVtXSkgKyBzdHJsZW4oc2hlbGxfbGluZSkgKyAxOworCXRlbXBzeiA9IDIwMCArIHh0cmE7CisJdGVtcCA9IHhtYWxsb2ModGVtcHN6KTsKKwlpbnBzdHIgPSBpbmJ1ZjsKKwlvdXRzdHIgPSB0ZW1wOworCXdoaWxlICgoYyA9ICppbnBzdHIrKykgIT0gJ1wwJykgeworCQlvZmZzZXQgPSBvdXRzdHIgLSB0ZW1wOworCQlpZiAodGVtcHN6IC0gb2Zmc2V0IC0gMSA8IHh0cmEpIHsKKwkJCXRlbXBzeiArPSAyMDAgKyB4dHJhOworCQkJdGVtcCA9IHhyZWFsbG9jKHRlbXAsIHRlbXBzeik7CisJCQlvdXRzdHIgPSB0ZW1wICsgb2Zmc2V0OworCQl9CisJCXN3aXRjaCAoYykgeworCQljYXNlICclJzoKKwkJCWlmICghbm9faW50dHkpIHsKKwkJCQlzdHJjcHkob3V0c3RyLCBmbmFtZXNbZm51bV0pOworCQkJCW91dHN0ciArPSBzdHJsZW4oZm5hbWVzW2ZudW1dKTsKKwkJCQljaGFuZ2VkKys7CisJCQl9IGVsc2UKKwkJCQkqb3V0c3RyKysgPSBjOworCQkJYnJlYWs7CisJCWNhc2UgJyEnOgorCQkJaWYgKCFzaGVsbHApCisJCQkJbW9yZV9lcnJvcihfCisJCQkJCSAgICgiTm8gcHJldmlvdXMgY29tbWFuZCB0byBzdWJzdGl0dXRlIGZvciIpKTsKKwkJCXN0cmNweShvdXRzdHIsIHNoZWxsX2xpbmUpOworCQkJb3V0c3RyICs9IHN0cmxlbihzaGVsbF9saW5lKTsKKwkJCWNoYW5nZWQrKzsKKwkJCWJyZWFrOworCQljYXNlICdcXCc6CisJCQlpZiAoKmlucHN0ciA9PSAnJScgfHwgKmlucHN0ciA9PSAnIScpIHsKKwkJCQkqb3V0c3RyKysgPSAqaW5wc3RyKys7CisJCQkJYnJlYWs7CisJCQl9CisJCWRlZmF1bHQ6CisJCQkqb3V0c3RyKysgPSBjOworCQl9CisJfQorCSpvdXRzdHIrKyA9ICdcMCc7CisJKm91dGJ1ZiA9IHRlbXA7CisJcmV0dXJuIChjaGFuZ2VkKTsKK30KKwordm9pZCBzaG93KGNoYXIgYykKK3sKKwlpZiAoKGMgPCAnICcgJiYgYyAhPSAnXG4nICYmIGMgIT0gRVNDKSB8fCBjID09IFJVQk9VVCkgeworCQljICs9IChjID09IFJVQk9VVCkgPyAtMDEwMCA6IDAxMDA7CisJCXB1dHNlcnIoQ0FSQVQpOworCQlwcm9tcHRsZW4rKzsKKwl9CisJcHV0Y2VycihjKTsKKwlwcm9tcHRsZW4rKzsKK30KKwordm9pZCBtb3JlX2Vycm9yKGNoYXIgKm1lc3MpCit7CisJaWYgKGNscmVvbCkKKwkJY2xlYXJlb2woKTsKKwllbHNlCisJCWtpbGxfbGluZSgpOworCXByb21wdGxlbiArPSBzdHJsZW4obWVzcyk7CisJaWYgKFNlbnRlciAmJiBTZXhpdCkgeworCQlwdXRzdHJpbmcoU2VudGVyKTsKKwkJcHV0c291dChtZXNzKTsKKwkJcHV0c3RyaW5nKFNleGl0KTsKKwl9IGVsc2UKKwkJcHV0c291dChtZXNzKTsKKwlmZmx1c2goc3Rkb3V0KTsKKwllcnJvcnMrKzsKKwlzaWdsb25nam1wKHJlc3RvcmUsIDEpOworfQorCit2b2lkIHNldF90dHkodm9pZCkKK3sKKwlvdHR5LmNfbGZsYWcgJj0gfihJQ0FOT04gfCBFQ0hPKTsKKwlvdHR5LmNfY2NbVk1JTl0gPSAxOwkvKiByZWFkIGF0IGxlYXN0IDEgY2hhciAqLworCW90dHkuY19jY1tWVElNRV0gPSAwOwkvKiBubyB0aW1lb3V0ICovCisJc3R0eShmaWxlbm8oc3RkZXJyKSwgJm90dHkpOworfQorCitzdGF0aWMgaW50IG91cnB1dGNoKGludCBjKQoreworCXJldHVybiBwdXRjKGMsIHN0ZG91dCk7Cit9CisKK3ZvaWQgcmVzZXRfdHR5KHZvaWQpCit7CisJaWYgKG5vX3R0eSkKKwkJcmV0dXJuOworCWlmIChwc3RhdGUpIHsKKwkJLyogcHV0Y2hhciAtIGlmIHRoYXQgaXNuJ3QgYSBtYWNybyAqLworCQl0cHV0cyhVTGV4aXQsIGZpbGVubyhzdGRvdXQpLCBvdXJwdXRjaCk7CisJCWZmbHVzaChzdGRvdXQpOworCQlwc3RhdGUgPSAwOworCX0KKwlvdHR5LmNfbGZsYWcgfD0gSUNBTk9OIHwgRUNITzsKKwlvdHR5LmNfY2NbVk1JTl0gPSBzYXZldHR5MC5jX2NjW1ZNSU5dOworCW90dHkuY19jY1tWVElNRV0gPSBzYXZldHR5MC5jX2NjW1ZUSU1FXTsKKwlzdHR5KGZpbGVubyhzdGRlcnIpLCAmc2F2ZXR0eTApOworfQorCit2b2lkIHJkbGluZShyZWdpc3RlciBGSUxFICpmKQoreworCXJlZ2lzdGVyIGludCBjOworCXJlZ2lzdGVyIGNoYXIgKnA7CisKKwlwcmVwYXJlX2xpbmVfYnVmZmVyKCk7CisKKwlwID0gTGluZTsKKwl3aGlsZSAoKGMgPSBHZXRjKGYpKSAhPSAnXG4nICYmIGMgIT0gRU9GCisJICAgICAgICYmIChzaXplX3QpKHAgLSBMaW5lKSA8IExpbmVMZW4gLSAxKQorCQkqcCsrID0gYzsKKwlpZiAoYyA9PSAnXG4nKQorCQlDdXJybGluZSsrOworCSpwID0gJ1wwJzsKK30KKworLyogQ29tZSBoZXJlIHdoZW4gd2UgZ2V0IGEgc3VzcGVuZCBzaWduYWwgZnJvbSB0aGUgdGVybWluYWwgKi8KK3ZvaWQgb25zdXNwKGludCBkdW1teSBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJc2lnc2V0X3Qgc2lnbmFscywgb2xkbWFzazsKKworCS8qIGlnbm9yZSBTSUdUVE9VIHNvIHdlIGRvbid0IGdldCBzdG9wcGVkIGlmIGNzaCBncmFicyB0aGUgdHR5ICovCisJc2lnbmFsKFNJR1RUT1UsIFNJR19JR04pOworCXJlc2V0X3R0eSgpOworCWZmbHVzaChzdGRvdXQpOworCXNpZ25hbChTSUdUVE9VLCBTSUdfREZMKTsKKwkvKiBTZW5kIHRoZSBUU1RQIHNpZ25hbCB0byBzdXNwZW5kIG91ciBwcm9jZXNzIGdyb3VwICovCisJc2lnbmFsKFNJR1RTVFAsIFNJR19ERkwpOworCisJLyogdW5ibG9jayBTSUdUU1RQIG9yIHdlIHdvbid0IGJlIGFibGUgdG8gc3VzcGVuZCBvdXJzZWxmICovCisJc2lnZW1wdHlzZXQoJnNpZ25hbHMpOworCXNpZ2FkZHNldCgmc2lnbmFscywgU0lHVFNUUCk7CisJc2lncHJvY21hc2soU0lHX1VOQkxPQ0ssICZzaWduYWxzLCAmb2xkbWFzayk7CisKKwlraWxsKDAsIFNJR1RTVFApOworCS8qIFBhdXNlIGZvciBzdGF0aW9uIGJyZWFrICovCisKKwlzaWdwcm9jbWFzayhTSUdfU0VUTUFTSywgJm9sZG1hc2ssIE5VTEwpOworCisJLyogV2UncmUgYmFjayAqLworCXNpZ25hbChTSUdUU1RQLCBvbnN1c3ApOworCXNldF90dHkoKTsKKwlpZiAoaW53YWl0KQorCQlzaWdsb25nam1wKHJlc3RvcmUsIDEpOworfQpkaWZmIC0tZ2l0IGEvdGV4dC11dGlscy9wZy4xIGIvdGV4dC11dGlscy9wZy4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMzY2M3YTUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXh0LXV0aWxzL3BnLjEKQEAgLTAsMCArMSwyMzggQEAKKy5cIiBDb3B5cmlnaHQgMjAwMSBHdW5uYXIgUml0dGVyCisuVEggUEcgMSAiSnVseSAyMDE0IiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQorcGcgXC0gYnJvd3NlIHBhZ2V3aXNlIHRocm91Z2ggdGV4dCBmaWxlcworLlNIIFNZTk9QU0lTCisuQiBwZworLlJCIFsgXC1cZklhbW91bnRcZlAgXQorLlJCIFsgXC1wCisuSVIgcHJvbXB0IF0KKy5SQiBbIFwtY2VmbnJzIF0KKy5SQiBbICtcZklsaW5lXGZQIF0KKy5SQiBbICsvXGZJcGF0dGVyblxmUC8gXQorLlJJIFsgZmlsZSAuLi5dCisuU0ggREVTQ1JJUFRJT04KKy5CIHBnCitkaXNwbGF5cyBhIHRleHQgZmlsZSBvbiBhCisuU00gQ1JUCitvbmUgc2NyZWVuZnVsIGF0IG9uY2UuCitBZnRlciBlYWNoIHBhZ2UsIGEgcHJvbXB0IGlzIGRpc3BsYXllZC4gIFRoZSB1c2VyIG1heSB0aGVuIGVpdGhlciBwcmVzcyB0aGUKK25ld2xpbmUga2V5IHRvIHZpZXcgdGhlIG5leHQgcGFnZSBvciBvbmUgb2YgdGhlIGtleXMgZGVzY3JpYmVkIGJlbG93LgorLlBQCitJZiBubyBmaWxlbmFtZSBpcyBnaXZlbiBvbiB0aGUgY29tbWFuZCBsaW5lLAorLkIgcGcKK3JlYWRzIGZyb20gc3RhbmRhcmQgaW5wdXQuCitJZiBzdGFuZGFyZCBvdXRwdXQgaXMgbm90IGEgdGVybWluYWwsCisuQiBwZworYWN0cyBsaWtlCisuQlIgY2F0ICgxKQorYnV0IHByZWNlZGVzIGVhY2ggZmlsZSB3aXRoIGl0cyBuYW1lIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUuCisuUFAKK0lmIGlucHV0IGNvbWVzIGZyb20gYSBwaXBlLAorLkIgcGcKK3N0b3JlcyB0aGUgZGF0YSBpbiBhIGJ1ZmZlciBmaWxlIHdoaWxlIHJlYWRpbmcsCit0byBtYWtlIG5hdmlnYXRpb24gcG9zc2libGUuCisuU0ggT1BUSU9OUworLkIgcGcKK2FjY2VwdHMgdGhlIGZvbGxvd2luZyBvcHRpb25zOgorLlRQCisuQkkgKyBudW1iZXIKK1N0YXJ0IGF0IHRoZSBnaXZlbiBsaW5lIG51bWJlci4KKy5UUAorLkJJICsvIHBhdHRlcm4gLworU3RhcnQgYXQgdGhlIGxpbmUgY29udGFpbmluZyB0aGUgQmFzaWMgUmVndWxhciBFeHByZXNzaW9uCisuSSBwYXR0ZXJuCitnaXZlbi4KKy5UUAorLkJJIFwtIG51bWJlcgorVGhlIG51bWJlciBvZiBsaW5lcyBwZXIgcGFnZS4gIEJ5IGRlZmF1bHQsIHRoaXMgaXMgdGhlIG51bWJlciBvZgorLlNNIENSVAorbGluZXMgbWludXMgb25lLgorLlRQCisuQiBcLWMKK0NsZWFyIHRoZSBzY3JlZW4gYmVmb3JlIGEgcGFnZSBpcyBkaXNwbGF5ZWQsCitpZiB0aGUgdGVybWluZm8gZW50cnkgZm9yIHRoZSB0ZXJtaW5hbCBwcm92aWRlcyB0aGlzIGNhcGFiaWxpdHkuCisuVFAKKy5CIFwtZQorRG8gbm90IHBhdXNlIGFuZCBkaXNwbGF5CisuU00gKEVPRikKK2F0IHRoZSBlbmQgb2YgYSBmaWxlLgorLlRQCisuQiBcLWYKK0RvIG5vdCBzcGxpdCBsb25nIGxpbmVzLgorLlRQCisuQiBcLW4KK1dpdGhvdXQgdGhpcyBvcHRpb24sIGNvbW1hbmRzIG11c3QgYmUgdGVybWluYXRlZCBieSBhIG5ld2xpbmUgY2hhcmFjdGVyLgorV2l0aCB0aGlzIG9wdGlvbiwKKy5CIHBnCithZHZhbmNlcyBvbmNlIGEgY29tbWFuZCBsZXR0ZXIgaXMgZW50ZXJlZC4KKy5UUAorLkJJIFwtcCBcIHN0cmluZworSW5zdGVhZCBvZiB0aGUgbm9ybWFsIHByb21wdAorLklSIDogLAorLkkgc3RyaW5nCitpcyBkaXNwbGF5ZWQuCitJZgorLkkgc3RyaW5nCitjb250YWlucworLkJSICVkICwKK2l0cyBmaXJzdCBvY2N1cnJlbmNlIGlzIHJlcGxhY2VkIGJ5IHRoZSBudW1iZXIgb2YgdGhlIGN1cnJlbnQgcGFnZS4KKy5UUAorLkIgXC1yCitEaXNhbGxvdyB0aGUgc2hlbGwgZXNjYXBlLgorLlRQCisuQiBcLXMKK1ByaW50IG1lc3NhZ2VzIGluCisuSSBzdGFuZG91dAorbW9kZSwKK2lmIHRoZSB0ZXJtaW5mbyBlbnRyeSBmb3IgdGhlIHRlcm1pbmFsIHByb3ZpZGVzIHRoaXMgY2FwYWJpbGl0eS4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggQ09NTUFORFMKK1RoZSBmb2xsb3dpbmcgY29tbWFuZHMgbWF5IGJlIGVudGVyZWQgYXQgdGhlIHByb21wdC4gIENvbW1hbmRzIHByZWNlZGVkIGJ5CisuSSBpCitpbiB0aGlzIGRvY3VtZW50IGFjY2VwdCBhIG51bWJlciBhcyBhcmd1bWVudCwgcG9zaXRpdmUgb3IgbmVnYXRpdmUuCitJZiB0aGlzIGFyZ3VtZW50IHN0YXJ0cyB3aXRoCisuQiArCitvcgorLkJSIFwtICwKK2l0IGlzIGludGVycHJldGVkIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHBvc2l0aW9uIGluIHRoZSBpbnB1dCBmaWxlLAorb3RoZXJ3aXNlIHJlbGF0aXZlIHRvIHRoZSBiZWdpbm5pbmcuCisuVFAKKy5JQiBpIDxFbnRlcj4KK0Rpc3BsYXkgdGhlIG5leHQgb3IgdGhlIGluZGljYXRlZCBwYWdlLgorLlRQCitcZklpXGZSXGZCZFxmUiBvciBcZkJeRFxmUgorRGlzcGxheSB0aGUgbmV4dCBoYWxmcGFnZS4gIElmCisuSSBpCitpcyBnaXZlbiwgaXQgaXMgYWx3YXlzIGludGVycHJldGVkIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHBvc2l0aW9uLgorLlRQCisuSUIgaSBsCitEaXNwbGF5IHRoZSBuZXh0IG9yIHRoZSBpbmRpY2F0ZWQgbGluZS4KKy5UUAorLklCIGkgZgorU2tpcCBhIHBhZ2UgZm9yd2FyZC4KKy5JIGkKK211c3QgYmUgYSBwb3NpdGl2ZSBudW1iZXIgYW5kIGlzIGFsd2F5cyBpbnRlcnByZXRlZCByZWxhdGl2ZQordG8gdGhlIGN1cnJlbnQgcG9zaXRpb24uCisuVFAKK1xmSWlcZlJcZkJ3XGZSIG9yIFxmSWlcZlJcZkJ6XGZSCitBcworLkIgPEVudGVyPgorZXhjZXB0IHRoYXQKKy5JIGkKK2JlY29tZXMgdGhlIG5ldyBwYWdlIHNpemUuCisuVFAKKy5CUiAuICIgb3IgIiBeTAorUmVkcmF3IHRoZSBzY3JlZW4uCisuVFAKKy5CICQKK0FkdmFuY2UgdG8gdGhlIGxhc3QgbGluZSBvZiB0aGUgaW5wdXQgZmlsZS4KKy5UUAorLklCIGkgLyBwYXR0ZXJuIC8KK1NlYXJjaCBmb3J3YXJkIHVudGlsIHRoZSBmaXJzdCBvciB0aGUgXGZJaVxmUi10aAorb2NjdXJyZW5jZSBvZiB0aGUgQmFzaWMgUmVndWxhciBFeHByZXNzaW9uCisuSSBwYXR0ZXJuCitpcyBmb3VuZC4gIFRoZSBzZWFyY2ggc3RhcnRzCithZnRlciB0aGUgY3VycmVudCBwYWdlIGFuZCBzdG9wcyBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlLgorTm8gd3JhcC1hcm91bmQgaXMgcGVyZm9ybWVkLgorLkkgaQorbXVzdCBiZSBhIHBvc2l0aXZlIG51bWJlci4KKy5UUAorXGZJaVxmUlxmQj9cZlJcZklwYXR0ZXJuXGZSXGZCP1xmUiBvciBcZklpXGZSXGZCXlxmUlxmSXBhdHRlcm5cZlJcZkJeXGZSCitTZWFyY2ggYmFja3dhcmQgdW50aWwgdGhlIGZpcnN0IG9yIHRoZSBcZklpXGZSLXRoCitvY2N1cnJlbmNlIG9mIHRoZSBCYXNpYyBSZWd1bGFyIEV4cHJlc3Npb24KKy5JIHBhdHRlcm4KK2lzIGZvdW5kLiAgVGhlIHNlYXJjaCBzdGFydHMKK2JlZm9yZSB0aGUgY3VycmVudCBwYWdlIGFuZCBzdG9wcyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlLgorTm8gd3JhcC1hcm91bmQgaXMgcGVyZm9ybWVkLgorLkkgaQorbXVzdCBiZSBhIHBvc2l0aXZlIG51bWJlci4KKy5QUAorVGhlIHNlYXJjaCBjb21tYW5kcyBhY2NlcHQgYW4gYWRkZWQgbGV0dGVyLiAgSWYKKy5CIHQKK2lzIGdpdmVuLCB0aGUgbGluZSBjb250YWluaW5nIHRoZSBwYXR0ZXJuIGlzIGRpc3BsYXllZCBhdCB0aGUgdG9wIG9mIHRoZQorc2NyZWVuLCB3aGljaCBpcyB0aGUgZGVmYXVsdC4KKy5CIG0KK3NlbGVjdHMgdGhlIG1pZGRsZSBhbmQKKy5CIGIKK3RoZSBib3R0b20gb2YgdGhlIHNjcmVlbi4KK1RoZSBzZWxlY3RlZCBwb3NpdGlvbiBpcyB1c2VkIGluIGZvbGxvd2luZyBzZWFyY2hlcywgdG9vLgorLlRQCisuSUIgaSBuCitBZHZhbmNlIHRvIHRoZSBuZXh0IGZpbGUgb3IKKy5JIGkKK2ZpbGVzIGZvcndhcmQuCisuVFAKKy5JQiBpIHAKK1JlcmVhZCB0aGUgcHJldmlvdXMgZmlsZSBvcgorLkkgaQorZmlsZXMgYmFja3dhcmQuCisuVFAKKy5CSSBzIFwgZmlsZW5hbWUKK1NhdmUgdGhlIGN1cnJlbnQgZmlsZSB0byB0aGUgZ2l2ZW4KKy5JIGZpbGVuYW1lLgorLlRQCisuQiBoCitEaXNwbGF5IGEgY29tbWFuZCBzdW1tYXJ5LgorLlRQCisuQkkgISBjb21tYW5kCitFeGVjdXRlCisuSSBjb21tYW5kCit1c2luZyB0aGUgc2hlbGwuCisuVFAKKy5CUiBxICIgb3IgIiBRCitRdWl0LgorLlBQCitJZiB0aGUgdXNlciBwcmVzc2VzIHRoZSBpbnRlcnJ1cHQgb3IgcXVpdCBrZXkgd2hpbGUKKy5CIHBnCityZWFkcyBmcm9tIHRoZQoraW5wdXQgZmlsZSBvciB3cml0ZXMgb24gdGhlIHRlcm1pbmFsLAorLkIgcGcKK3dpbGwgaW1tZWRpYXRlbHkgZGlzcGxheSB0aGUgcHJvbXB0LgorSW4gYWxsIG90aGVyIHNpdHVhdGlvbnMgdGhlc2Uga2V5cyB3aWxsIHRlcm1pbmF0ZQorLkJSIHBnIC4KKy5TSCAiRU5WSVJPTk1FTlQgVkFSSUFCTEVTIgorVGhlIGZvbGxvd2luZyBlbnZpcm9ubWVudCB2YXJpYWJsZXMKK2FmZmVjdCB0aGUgYmVoYXZpb3Igb2YKKy5CUiBwZyA6CisuVFAKKy5CIENPTFVNTlMKK092ZXJyaWRlcyB0aGUgc3lzdGVtLXN1cHBsaWVkIG51bWJlciBvZiBjb2x1bW5zIGlmIHNldC4KKy5UUAorLkJSIExBTkcgLFwgIExDX0FMTCAsXCAgTENfQ09MTEFURSAsXCAgTENfQ1RZUEUgLFwgIExDX01FU1NBR0VTCitTZWUKKy5CUiBsb2NhbGUgKDcpLgorLlRQCisuQiBMSU5FUworT3ZlcnJpZGVzIHRoZSBzeXN0ZW0tc3VwcGxpZWQgbnVtYmVyIG9mIGxpbmVzIGlmIHNldC4KKy5UUAorLkIgU0hFTEwKK1VzZWQgYnkgdGhlCisuQlIgISAiIGNvbW1hbmQuIgorLlRQCisuQiBURVJNCitEZXRlcm1pbmVzIHRoZSB0ZXJtaW5hbCB0eXBlLgorLlNIICJTRUUgQUxTTyIKKy5CUiBjYXQgKDEpLAorLkJSIG1vcmUgKDEpLAorLkJSIHNoICgxKSwKKy5CUiB0ZXJtaW5mbyAoNSksCisuQlIgbG9jYWxlICg3KSwKKy5CUiByZWdleCAoNyksCisuQlIgdGVybSAoNykKKy5TSCBOT1RFUworLkIgcGcKK2V4cGVjdHMgdGhlIHRlcm1pbmFsIHRhYnVsYXRvcnMgdG8gYmUgc2V0IGV2ZXJ5IGVpZ2h0IHBvc2l0aW9ucy4KKy5QUAorRmlsZXMgdGhhdCBpbmNsdWRlCisuU00gTlVMCitjaGFyYWN0ZXJzIGNhbm5vdCBiZSBkaXNwbGF5ZWQgYnkKKy5CUiBwZyAuCisuU0ggQVZBSUxBQklMSVRZCitUaGUgcGcgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS90ZXh0LXV0aWxzL3BnLmMgYi90ZXh0LXV0aWxzL3BnLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWQ2MmFkYwotLS0gL2Rldi9udWxsCisrKyBiL3RleHQtdXRpbHMvcGcuYwpAQCAtMCwwICsxLDE2ODQgQEAKKy8qCisgKiBwZyAgLSBBIGNsb25lIG9mIHRoZSBTeXN0ZW0gViBDUlQgcGFnaW5nIHV0aWxpdHkuCisgKgorICoJQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFtkZWxldGVkXQorICogNC4gTmVpdGhlciB0aGUgbmFtZSBvZiBHdW5uYXIgUml0dGVyIG5vciB0aGUgbmFtZXMgb2YgaGlzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEdVTk5BUiBSSVRURVIgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEdVTk5BUiBSSVRURVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisvKiBTY2NzaWQgQCgjKXBnLmMgMS40NCAoZ3JpdHRlcikgMi84LzAyIC0gbW9kaWZpZWQgZm9yIHV0aWwtbGludXggKi8KKworLyoKKyAqIFRoaXMgY29tbWFuZCBpcyBkZXByZWNhdGVkLiAgVGhlIHV0aWxpdHkgaXMgaW4gbWFpbnRlbmFuY2UgbW9kZSwKKyAqIG1lYW5pbmcgd2Uga2VlcCB0aGVtIGluIHNvdXJjZSB0cmVlIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5CisgKiBvbmx5LiAgRG8gbm90IHdhc3RlIHRpbWUgbWFraW5nIHRoaXMgY29tbWFuZCBiZXR0ZXIsIHVubGVzcyB0aGUKKyAqIGZpeCBpcyBhYm91dCBzZWN1cml0eSBvciBvdGhlciB2ZXJ5IGNyaXRpY2FsIGlzc3VlLgorICoKKyAqIFNlZSBEb2N1bWVudGF0aW9uL2RlcHJlY2F0ZWQudHh0IGZvciBtb3JlIGluZm9ybWF0aW9uLgorICovCisKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvd2FpdC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaWZuZGVmCVRJT0NHV0lOU1oKKyMgaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjZW5kaWYKKyNpbmNsdWRlIDx0ZXJtaW9zLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxyZWdleC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPHNldGptcC5oPgorCisjaWZkZWYgSEFWRV9OQ1VSU0VTX0gKKyMgaW5jbHVkZSA8bmN1cnNlcy5oPgorI2VsaWYgZGVmaW5lZChIQVZFX05DVVJTRVNfTkNVUlNFU19IKQorIyBpbmNsdWRlIDxuY3Vyc2VzL25jdXJzZXMuaD4KKyNlbmRpZgorCisjaW5jbHVkZSA8dGVybS5oPgorCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAid2lkZWNoYXIuaCIKKyNpbmNsdWRlICJhbGwtaW8uaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisKKyNkZWZpbmUJUkVBREJVRgkJTElORV9NQVgJLyogc2l6ZSBvZiBpbnB1dCBidWZmZXIgKi8KKyNkZWZpbmUgQ01EQlVGCQkyNTUJCS8qIHNpemUgb2YgY29tbWFuZCBidWZmZXIgKi8KKyNkZWZpbmUJUEdfVEFCU0laRQk4CQkvKiBzcGFjZXMgY29uc3VtZWQgYnkgdGFiIGNoYXJhY3RlciAqLworCisjZGVmaW5lCWN1YyhjKQkJKChjKSAmIDAzNzcpCisKK2VudW0geyBGT1JXQVJEID0gMSwgQkFDS1dBUkQgPSAyIH07CS8qIHNlYXJjaCBkaXJlY3Rpb24gKi8KK2VudW0geyBUT1AsIE1JRERMRSwgQk9UVE9NIH07CQkvKiBwb3NpdGlvbiBvZiBtYXRjaGluZyBsaW5lICovCisKKy8qIFN0YXRlcyBmb3Igc3ludGF4LWF3YXJlIGNvbW1hbmQgbGluZSBlZGl0b3IuICovCitlbnVtIHsKKwlDT1VOVCwKKwlTSUdOLAorCUNNRF9GSU4sCisJU0VBUkNILAorCVNFQVJDSF9GSU4sCisJQURET05fRklOLAorCVNUUklORywKKwlJTlZBTElECit9OworCisvKiBDdXJyZW50IGNvbW1hbmQgKi8KK3N0cnVjdCB7CisJY2hhciBjbWRsaW5lW0NNREJVRl07CisJc2l6ZV90IGNtZGxlbjsKKwlpbnQgY291bnQ7CisJaW50IGtleTsKKwljaGFyIHBhdHRlcm5bQ01EQlVGXTsKKwljaGFyIGFkZG9uOworfSBjbWQ7CisKKy8qIFBvc2l0aW9uIG9mIGZpbGUgYXJndW1lbnRzIG9uIGFyZ3ZbXSB0byBtYWluKCkgKi8KK3N0cnVjdCB7CisJaW50IGZpcnN0OworCWludCBjdXJyZW50OworCWludCBsYXN0OworfSBmaWxlczsKKwordm9pZCAoKm9sZGludCkgKGludCk7CQkvKiBvbGQgU0lHSU5UIGhhbmRsZXIgKi8KK3ZvaWQgKCpvbGRxdWl0KSAoaW50KTsJCS8qIG9sZCBTSUdRVUlUIGhhbmRsZXIgKi8KK3ZvaWQgKCpvbGR0ZXJtKSAoaW50KTsJCS8qIG9sZCBTSUdURVJNIGhhbmRsZXIgKi8KK2NoYXIgKnR0eTsJCQkvKiByZXN1bHQgb2YgdHR5bmFtZSgxKSAqLwordW5zaWduZWQgb250dHk7CQkJLyogd2hldGhlciBydW5uaW5nIG9uIHR0eSBkZXZpY2UgKi8KK3Vuc2lnbmVkIGV4aXRzdGF0dXM7CQkvKiBleGl0IHN0YXR1cyAqLworaW50IHBhZ2VsZW4gPSAyMzsJCS8qIGxpbmVzIG9uIGEgc2luZ2xlIHNjcmVlbiBwYWdlICovCitpbnQgdHR5Y29scyA9IDc5OwkJLyogc2NyZWVuIGNvbHVtbnMgKHN0YXJ0aW5nIGF0IDApICovCitzdHJ1Y3QgdGVybWlvcyBvdGlvOwkJLyogb2xkIHRlcm1pb3Mgc2V0dGluZ3MgKi8KK2ludCB0aW5mb3N0YXQgPSAtMTsJCS8qIHRlcm1pbmZvIHJvdXRpbmVzIGluaXRpYWxpemVkICovCitpbnQgc2VhcmNoZGlzcGxheSA9IFRPUDsJLyogbWF0Y2hpbmcgbGluZSBwb3NpdGlvbiAqLworcmVnZXhfdCByZTsJCQkvKiByZWd1bGFyIGV4cHJlc3Npb24gdG8gc2VhcmNoIGZvciAqLworaW50IHJlbWVtYmVyZWQ7CQkJLyogaGF2ZSBhIHJlbWVtYmVyZWQgc2VhcmNoIHN0cmluZyAqLworaW50IGNmbGFnOwkJCS8qIGNsZWFyIHNjcmVlbiBiZWZvcmUgZWFjaCBwYWdlICovCitpbnQgZWZsYWc7CQkJLyogc3VwcHJlc3MgKEVPRikgKi8KK2ludCBmZmxhZzsJCQkvKiBkbyBub3Qgc3BsaXQgbGluZXMgKi8KK2ludCBuZmxhZzsJCQkvKiBubyBuZXdsaW5lIGZvciBjb21tYW5kcyByZXF1aXJlZCAqLworaW50IHJmbGFnOwkJCS8qICJyZXN0cmljdGVkIiBwZyAqLworaW50IHNmbGFnOwkJCS8qIHVzZSBzdGFuZG91dCBtb2RlICovCitjb25zdCBjaGFyICpwc3RyaW5nID0gIjoiOwkvKiBwcm9tcHQgc3RyaW5nICovCitjaGFyICpzZWFyY2hmb3I7CQkvKiBzZWFyY2ggcGF0dGVybiBmcm9tIGFyZ3ZbXSAqLworaW50IGhhdmVwYWdlbGVuOwkJLyogcGFnZSBsZW5ndGggaXMgbWFudWFsbHkgZGVmaW5lZCAqLworbG9uZyBzdGFydGxpbmU7CQkJLyogc3RhcnQgbGluZSBmcm9tIGFyZ3ZbXSAqLworaW50IG5leHRmaWxlID0gMTsJCS8qIGZpbGVzIHRvIGFkdmFuY2UgKi8KK2ptcF9idWYgam1wZW52OwkJCS8qIGp1bXAgZnJvbSBzaWduYWwgaGFuZGxlcnMgKi8KK2ludCBjYW5qdW1wOwkJCS8qIGptcGVudiBpcyB2YWxpZCAqLword2NoYXJfdCB3YnVmW1JFQURCVUZdOwkJLyogdXNlZCBpbiBzZXZlcmFsIHdpZGVjaGFyIHJvdXRpbmVzICovCisKK2NoYXIgKmNvcHlyaWdodDsKK2NvbnN0IGNoYXIgKmhlbHBzY3JlZW4gPSBOXygiXAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXAorICBoICAgICAgICAgICAgICAgICAgICAgICB0aGlzIHNjcmVlblxuXAorICBxIG9yIFEgICAgICAgICAgICAgICAgICBxdWl0IHByb2dyYW1cblwKKyAgPG5ld2xpbmU+ICAgICAgICAgICAgICAgbmV4dCBwYWdlXG5cCisgIGYgICAgICAgICAgICAgICAgICAgICAgIHNraXAgYSBwYWdlIGZvcndhcmRcblwKKyAgZCBvciBeRCAgICAgICAgICAgICAgICAgbmV4dCBoYWxmcGFnZVxuXAorICBsICAgICAgICAgICAgICAgICAgICAgICBuZXh0IGxpbmVcblwKKyAgJCAgICAgICAgICAgICAgICAgICAgICAgbGFzdCBwYWdlXG5cCisgIC9yZWdleC8gICAgICAgICAgICAgICAgIHNlYXJjaCBmb3J3YXJkIGZvciByZWdleFxuXAorICA/cmVnZXg/IG9yIF5yZWdleF4gICAgICBzZWFyY2ggYmFja3dhcmQgZm9yIHJlZ2V4XG5cCisgIC4gb3IgXkwgICAgICAgICAgICAgICAgIHJlZHJhdyBzY3JlZW5cblwKKyAgdyBvciB6ICAgICAgICAgICAgICAgICAgc2V0IHBhZ2Ugc2l6ZSBhbmQgZ28gdG8gbmV4dCBwYWdlXG5cCisgIHMgZmlsZW5hbWUgICAgICAgICAgICAgIHNhdmUgY3VycmVudCBmaWxlIHRvIGZpbGVuYW1lXG5cCisgICFjb21tYW5kICAgICAgICAgICAgICAgIHNoZWxsIGVzY2FwZVxuXAorICBwICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBwcmV2aW91cyBmaWxlXG5cCisgIG4gICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIG5leHQgZmlsZVxuXAorXG5cCitNYW55IGNvbW1hbmRzIGFjY2VwdCBwcmVjZWRpbmcgbnVtYmVycywgZm9yIGV4YW1wbGU6XG5cCisrMTxuZXdsaW5lPiAobmV4dCBwYWdlKTsgLTE8bmV3bGluZT4gKHByZXZpb3VzIHBhZ2UpOyAxPG5ld2xpbmU+IChmaXJzdCBwYWdlKS5cblwKK1xuXAorU2VlIHBnKDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIik7CisKKyNpZm5kZWYgSEFWRV9GU0VFS08KK3N0YXRpYyBpbnQgZnNlZWtvKEZJTEUgKmYsIG9mZl90IG9mZiwgaW50IHdoZW5jZSkKK3sKKwlyZXR1cm4gZnNlZWsoZiwgKGxvbmcpb2ZmLCB3aGVuY2UpOworfQorCitzdGF0aWMgb2ZmX3QgZnRlbGxvKEZJTEUgKmYpCit7CisJcmV0dXJuIChvZmZfdCkgZnRlbGwoZik7Cit9CisjZW5kaWYKKworI2lmZGVmIFVTRV9TSUdTRVQJLyogbmV2ZXIgZGVmaW5lZCAqLworLyogc2lnc2V0IGFuZCBzaWdyZWxzZSBhcmUgb2Jzb2xldGUgLSB1c2Ugd2hlbiBQT1NJWCBzdHVmZiBpcyB1bmF2YWlsYWJsZSAqLworIyBkZWZpbmUgbXlfc2lnc2V0CXNpZ3NldAorIyBkZWZpbmUgbXlfc2lncmVsc2UJc2lncmVsc2UKKyNlbHNlCitzdGF0aWMgaW50IG15X3NpZ3JlbHNlKGludCBzaWcpCit7CisJc2lnc2V0X3Qgc2lnczsKKworCWlmIChzaWdlbXB0eXNldCgmc2lncykgfHwgc2lnYWRkc2V0KCZzaWdzLCBzaWcpKQorCQlyZXR1cm4gLTE7CisJcmV0dXJuIHNpZ3Byb2NtYXNrKFNJR19VTkJMT0NLLCAmc2lncywgTlVMTCk7Cit9CisKK3R5cGVkZWYgdm9pZCAoKm15X3NpZ2hhbmRsZXJfdCkgKGludCk7CitzdGF0aWMgbXlfc2lnaGFuZGxlcl90IG15X3NpZ3NldChpbnQgc2lnLCBteV9zaWdoYW5kbGVyX3QgZGlzcCkKK3sKKwlzdHJ1Y3Qgc2lnYWN0aW9uIGFjdCwgb2FjdDsKKworCWFjdC5zYV9oYW5kbGVyID0gZGlzcDsKKwlpZiAoc2lnZW1wdHlzZXQoJmFjdC5zYV9tYXNrKSkKKwkJcmV0dXJuIFNJR19FUlI7CisJYWN0LnNhX2ZsYWdzID0gMDsKKwlpZiAoc2lnYWN0aW9uKHNpZywgJmFjdCwgJm9hY3QpKQorCQlyZXR1cm4gU0lHX0VSUjsKKwlpZiAobXlfc2lncmVsc2Uoc2lnKSkKKwkJcmV0dXJuIFNJR19FUlI7CisJcmV0dXJuIG9hY3Quc2FfaGFuZGxlcjsKK30KKyNlbmRpZgkvKiBVU0VfU0lHU0VUICovCisKKy8qIFF1aXQgcGcuICovCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSBxdWl0KGludCBzdGF0dXMpCit7CisJZXhpdChzdGF0dXMgPCAwMTAwID8gc3RhdHVzIDogMDc3KTsKK30KKworLyogVXNhZ2UgbWVzc2FnZSBhbmQgc2ltaWxhciByb3V0aW5lcy4gKi8KK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKEZJTEUgKm91dCkKK3sKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsCisJCV8oIiAlcyBbb3B0aW9uc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIiksCisJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJCcm93c2UgcGFnZXdpc2UgdGhyb3VnaCB0ZXh0IGZpbGVzLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtbnVtYmVyICAgICAgbGluZXMgcGVyIHBhZ2VcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtYyAgICAgICAgICAgY2xlYXIgc2NyZWVuIGJlZm9yZSBkaXNwbGF5aW5nXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWUgICAgICAgICAgIGRvIG5vdCBwYXVzZSBhdCBlbmQgb2YgYSBmaWxlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWYgICAgICAgICAgIGRvIG5vdCBzcGxpdCBsb25nIGxpbmVzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW4gICAgICAgICAgIHRlcm1pbmF0ZSBjb21tYW5kIHdpdGggbmV3IGxpbmVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcCA8cHJvbXB0PiAgc3BlY2lmeSBwcm9tcHRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtciAgICAgICAgICAgZGlzYWxsb3cgc2hlbGwgZXNjYXBlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXMgICAgICAgICAgIHByaW50IG1lc3NhZ2VzIHRvIHN0ZG91dFxuIiksIG91dCk7CisJZnB1dHMoXygiICtudW1iZXIgICAgICBzdGFydCBhdCB0aGUgZ2l2ZW4gbGluZVxuIiksIG91dCk7CisJZnB1dHMoXygiICsvcGF0dGVybi8gICBzdGFydCBhdCB0aGUgbGluZSBjb250YWluaW5nIHBhdHRlcm5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKFVTQUdFX0hFTFAsIG91dCk7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgb3V0KTsKKworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgicGcoMSkiKSk7CisJcXVpdChvdXQgPT0gc3RkZXJyID8gMiA6IDApOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSBuZWVkYXJnKGNvbnN0IGNoYXIgKnMpCit7CisJd2FybngoXygib3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICVzIiksIHMpOworCXVzYWdlKHN0ZGVycik7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIGludm9wdChjb25zdCBjaGFyICpzKQoreworCXdhcm54KF8oImlsbGVnYWwgb3B0aW9uIC0tICVzIiksIHMpOworCXVzYWdlKHN0ZGVycik7Cit9CisKKyNpZmRlZiBIQVZFX1dJREVDSEFSCisvKiBBIG1ic3Rvd2NzKCktYWxpa2UgZnVuY3Rpb24gdGhhdCB0cmFuc3BhcmVudGx5IGhhbmRsZXMgaW52YWxpZAorICogc2VxdWVuY2VzLiAqLworc3RhdGljIHNpemVfdCB4bWJzdG93Y3Mod2NoYXJfdCAqIHB3Y3MsIGNvbnN0IGNoYXIgKnMsIHNpemVfdCBud2NzKQoreworCXNpemVfdCBuID0gbndjczsKKwlpbnQgYzsKKworCWlnbm9yZV9yZXN1bHQobWJ0b3djKHB3Y3MsIE5VTEwsIE1CX0NVUl9NQVgpKTsJLyogcmVzZXQgc2hpZnQgc3RhdGUgKi8KKwl3aGlsZSAoKnMgJiYgbikgeworCQlpZiAoKGMgPSBtYnRvd2MocHdjcywgcywgTUJfQ1VSX01BWCkpIDwgMCkgeworCQkJcysrOworCQkJKnB3Y3MgPSBMJz8nOworCQl9IGVsc2UKKwkJCXMgKz0gYzsKKwkJcHdjcysrOworCQluLS07CisJfQorCWlmIChuKQorCQkqcHdjcyA9IEwnXDAnOworCWlnbm9yZV9yZXN1bHQobWJ0b3djKHB3Y3MsIE5VTEwsIE1CX0NVUl9NQVgpKTsKKwlyZXR1cm4gbndjcyAtIG47Cit9CisjZW5kaWYKKworLyogSGVscGVyIGZ1bmN0aW9uIGZvciB0cHV0cygpLiAqLworc3RhdGljIGludCBvdXRjYXAoaW50IGkpCit7CisJY2hhciBjID0gaTsKKwlyZXR1cm4gd3JpdGVfYWxsKFNURE9VVF9GSUxFTk8sICZjLCAxKSA9PSAwID8gMSA6IC0xOworfQorCisvKiBXcml0ZSBtZXNzYWdlcyB0byB0ZXJtaW5hbC4gKi8KK3N0YXRpYyB2b2lkIG1lc2coY29uc3QgY2hhciAqbWVzc2FnZSkKK3sKKwlpZiAob250dHkgPT0gMCkKKwkJcmV0dXJuOworCWlmICgqbWVzc2FnZSAhPSAnXG4nICYmIHNmbGFnKQorCQl2aWRwdXRzKEFfU1RBTkRPVVQsIG91dGNhcCk7CisJd3JpdGVfYWxsKFNURE9VVF9GSUxFTk8sIG1lc3NhZ2UsIHN0cmxlbihtZXNzYWdlKSk7CisJaWYgKCptZXNzYWdlICE9ICdcbicgJiYgc2ZsYWcpCisJCXZpZHB1dHMoQV9OT1JNQUwsIG91dGNhcCk7Cit9CisKKy8qIEdldCB0aGUgd2luZG93IHNpemUuICovCitzdGF0aWMgdm9pZCBnZXR3aW5zaXplKHZvaWQpCit7CisJc3RhdGljIGludCBpbml0aWFsaXplZCwgZW52bGluZXMsIGVudmNvbHMsIGRlZmxpbmVzLCBkZWZjb2xzOworI2lmZGVmCVRJT0NHV0lOU1oKKwlzdHJ1Y3Qgd2luc2l6ZSB3aW5zejsKKwlpbnQgYmFkaW9jdGw7CisjZW5kaWYKKwljaGFyICpwOworCisJaWYgKGluaXRpYWxpemVkID09IDApIHsKKwkJaWYgKChwID0gZ2V0ZW52KCJMSU5FUyIpKSAhPSBOVUxMICYmICpwICE9ICdcMCcpCisJCQlpZiAoKGVudmxpbmVzID0gYXRvaShwKSkgPCAwKQorCQkJCWVudmxpbmVzID0gMDsKKwkJaWYgKChwID0gZ2V0ZW52KCJDT0xVTU5TIikpICE9IE5VTEwgJiYgKnAgIT0gJ1wwJykKKwkJCWlmICgoZW52Y29scyA9IGF0b2kocCkpIDwgMCkKKwkJCQllbnZjb2xzID0gMDsKKwkJLyogdGVybWluZm8gdmFsdWVzLiAqLworCQlpZiAodGluZm9zdGF0ICE9IDEgfHwgY29sdW1ucyA9PSAwKQorCQkJZGVmY29scyA9IDI0OworCQllbHNlCisJCQlkZWZjb2xzID0gY29sdW1uczsKKwkJaWYgKHRpbmZvc3RhdCAhPSAxIHx8IGxpbmVzID09IDApCisJCQlkZWZsaW5lcyA9IDgwOworCQllbHNlCisJCQlkZWZsaW5lcyA9IGxpbmVzOworCQlpbml0aWFsaXplZCA9IDE7CisJfQorI2lmZGVmCVRJT0NHV0lOU1oKKwliYWRpb2N0bCA9IGlvY3RsKFNURE9VVF9GSUxFTk8sIFRJT0NHV0lOU1osICZ3aW5zeik7CisjZW5kaWYKKwlpZiAoZW52Y29scykKKwkJdHR5Y29scyA9IGVudmNvbHMgLSAxOworI2lmZGVmCVRJT0NHV0lOU1oKKwllbHNlIGlmICghYmFkaW9jdGwpCisJCXR0eWNvbHMgPSB3aW5zei53c19jb2wgLSAxOworI2VuZGlmCisJZWxzZQorCQl0dHljb2xzID0gZGVmY29scyAtIDE7CisJaWYgKGhhdmVwYWdlbGVuID09IDApIHsKKwkJaWYgKGVudmxpbmVzKQorCQkJcGFnZWxlbiA9IGVudmxpbmVzIC0gMTsKKyNpZmRlZglUSU9DR1dJTlNaCisJCWVsc2UgaWYgKCFiYWRpb2N0bCkKKwkJCXBhZ2VsZW4gPSB3aW5zei53c19yb3cgLSAxOworI2VuZGlmCisJCWVsc2UKKwkJCXBhZ2VsZW4gPSBkZWZsaW5lcyAtIDE7CisJfQorfQorCisvKiBNZXNzYWdlIGlmIHNraXBwaW5nIHBhcnRzIG9mIGZpbGVzLiAqLworc3RhdGljIHZvaWQgc2tpcChpbnQgZGlyZWN0aW9uKQoreworCWlmIChkaXJlY3Rpb24gPiAwKQorCQltZXNnKF8oIi4uLnNraXBwaW5nIGZvcndhcmRcbiIpKTsKKwllbHNlCisJCW1lc2coXygiLi4uc2tpcHBpbmcgYmFja3dhcmRcbiIpKTsKK30KKworLyogU2lnbmFsIGhhbmRsZXIgd2hpbGUgcmVhZGluZyBmcm9tIGlucHV0IGZpbGUuICovCitzdGF0aWMgdm9pZCBzaWdoYW5kbGVyKGludCBzaWdudW0pCit7CisJaWYgKGNhbmp1bXAgJiYgKHNpZ251bSA9PSBTSUdJTlQgfHwgc2lnbnVtID09IFNJR1FVSVQpKQorCQlsb25nam1wKGptcGVudiwgc2lnbnVtKTsKKwl0Y3NldGF0dHIoU1RET1VUX0ZJTEVOTywgVENTQURSQUlOLCAmb3Rpbyk7CisJcXVpdChleGl0c3RhdHVzKTsKK30KKworLyogQ2hlY2sgd2hldGhlciB0aGUgcmVxdWVzdGVkIGZpbGUgd2FzIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZCBsaW5lLiAqLworc3RhdGljIGludCBjaGVja2Yodm9pZCkKK3sKKwlpZiAoZmlsZXMuY3VycmVudCArIG5leHRmaWxlID49IGZpbGVzLmxhc3QpIHsKKwkJbWVzZyhfKCJObyBuZXh0IGZpbGUiKSk7CisJCXJldHVybiAxOworCX0KKwlpZiAoZmlsZXMuY3VycmVudCArIG5leHRmaWxlIDwgZmlsZXMuZmlyc3QpIHsKKwkJbWVzZyhfKCJObyBwcmV2aW91cyBmaWxlIikpOworCQlyZXR1cm4gMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKyNpZmRlZiBIQVZFX1dJREVDSEFSCisvKiBSZXR1cm4gdGhlIGxhc3QgY2hhcmFjdGVyIHRoYXQgd2lsbCBmaXQgb24gdGhlIGxpbmUgYXQgY29sIGNvbHVtbnMgaW4KKyAqIGNhc2UgTUJfQ1VSX01BWCA+IDEuICovCitzdGF0aWMgY2hhciAqZW5kbGluZV9mb3JfbWIodW5zaWduZWQgY29sLCBjaGFyICpzKQoreworCXNpemVfdCBwb3MgPSAwOworCXdjaGFyX3QgKnAgPSB3YnVmOworCXdjaGFyX3QgKmVuZDsKKwlzaXplX3Qgd2w7CisJY2hhciAqdCA9IHM7CisKKwlpZiAoKHdsID0geG1ic3Rvd2NzKHdidWYsIHQsIHNpemVvZiB3YnVmIC0gMSkpID09IChzaXplX3QpLTEpCisJCXJldHVybiBzICsgMTsKKwl3YnVmW3dsXSA9IEwnXDAnOworCXdoaWxlICgqcCAhPSBMJ1wwJykgeworCQlzd2l0Y2ggKCpwKSB7CisJCQkvKiBDdXJzb3IgbGVmdC4gKi8KKwkJY2FzZSBMJ1xiJzoKKwkJCWlmIChwb3MgPiAwKQorCQkJCXBvcy0tOworCQkJYnJlYWs7CisJCQkvKiBObyBjdXJzb3IgbW92ZW1lbnQuICovCisJCWNhc2UgTCdcYSc6CisJCQlicmVhazsKKwkJCS8qIFNwZWNpYWwuICovCisJCWNhc2UgTCdccic6CisJCQlwb3MgPSAwOworCQkJYnJlYWs7CisJCWNhc2UgTCdcbic6CisJCQllbmQgPSBwICsgMTsKKwkJCWdvdG8gZW5kZWQ7CisJCQkvKiBDdXJzb3IgcmlnaHQuICovCisJCWNhc2UgTCdcdCc6CisJCQlwb3MgKz0gUEdfVEFCU0laRSAtIChwb3MgJSBQR19UQUJTSVpFKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJaWYgKGlzd3ByaW50KCpwKSkKKwkJCQlwb3MgKz0gd2N3aWR0aCgqcCk7CisJCQllbHNlCisJCQkJcG9zICs9IHdjd2lkdGgoTCc/Jyk7CisJCX0KKwkJaWYgKHBvcyA+IGNvbCkgeworCQkJaWYgKCpwID09IEwnXHQnKQorCQkJCXArKzsKKwkJCWVsc2UgaWYgKHBvcyA+IGNvbCArIDEpCisJCQkJLyogd2N3aWR0aCgpIGZvdW5kIGEgY2hhcmFjdGVyIHRoYXQgaGFzCisJCQkJICogbXVsdGlwbGUgY29sdW1ucy4gIFdoYXQgaGFwcGVucyBub3c/CisJCQkJICogQXNzdW1lIHRoZSB0ZXJtaW5hbCB3aWxsIHByaW50IHRoZQorCQkJCSAqIGVudGlyZSBjaGFyYWN0ZXIgb250byB0aGUgbmV4dCByb3cuICovCisJCQkJcC0tOworCQkJaWYgKCorK3AgPT0gTCdcbicpCisJCQkJcCsrOworCQkJZW5kID0gcDsKKwkJCWdvdG8gZW5kZWQ7CisJCX0KKwkJcCsrOworCX0KKwllbmQgPSBwOworIGVuZGVkOgorCSplbmQgPSBMJ1wwJzsKKwlwID0gd2J1ZjsKKwlpZiAoKHBvcyA9IHdjc3RvbWJzKE5VTEwsIHAsIFJFQURCVUYpKSA9PSAoc2l6ZV90KS0xKQorCQlyZXR1cm4gcyArIDE7CisJcmV0dXJuIHMgKyBwb3M7Cit9CisjZW5kaWYJLyogSEFWRV9XSURFQ0hBUiAqLworCisvKiBSZXR1cm4gdGhlIGxhc3QgY2hhcmFjdGVyIHRoYXQgd2lsbCBmaXQgb24gdGhlIGxpbmUgYXQgY29sIGNvbHVtbnMuICovCitzdGF0aWMgY2hhciAqZW5kbGluZSh1bnNpZ25lZCBjb2wsIGNoYXIgKnMpCit7CisJdW5zaWduZWQgcG9zID0gMDsKKwljaGFyICp0ID0gczsKKworI2lmZGVmIEhBVkVfV0lERUNIQVIKKwlpZiAoTUJfQ1VSX01BWCA+IDEpCisJCXJldHVybiBlbmRsaW5lX2Zvcl9tYihjb2wsIHMpOworI2VuZGlmCisKKwl3aGlsZSAoKnMgIT0gJ1wwJykgeworCQlzd2l0Y2ggKCpzKSB7CisJCQkvKiBDdXJzb3IgbGVmdC4gKi8KKwkJY2FzZSAnXGInOgorCQkJaWYgKHBvcyA+IDApCisJCQkJcG9zLS07CisJCQlicmVhazsKKwkJCS8qIE5vIGN1cnNvciBtb3ZlbWVudC4gKi8KKwkJY2FzZSAnXGEnOgorCQkJYnJlYWs7CisJCQkvKiBTcGVjaWFsLiAqLworCQljYXNlICdccic6CisJCQlwb3MgPSAwOworCQkJYnJlYWs7CisJCWNhc2UgJ1xuJzoKKwkJCXQgPSBzICsgMTsKKwkJCWdvdG8gY2VuZDsKKwkJCS8qIEN1cnNvciByaWdodC4gKi8KKwkJY2FzZSAnXHQnOgorCQkJcG9zICs9IFBHX1RBQlNJWkUgLSAocG9zICUgUEdfVEFCU0laRSk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXBvcysrOworCQl9CisJCWlmIChwb3MgPiBjb2wpIHsKKwkJCWlmICgqcyA9PSAnXHQnKQorCQkJCXMrKzsKKwkJCWlmICgqKytzID09ICdcbicpCisJCQkJcysrOworCQkJdCA9IHM7CisJCQlnb3RvIGNlbmQ7CisJCX0KKwkJcysrOworCX0KKwl0ID0gczsKKyBjZW5kOgorCXJldHVybiB0OworfQorCisvKiBDbGVhciB0aGUgY3VycmVudCBsaW5lIG9uIHRoZSB0ZXJtaW5hbCdzIHNjcmVlbi4gKi8KK3N0YXRpYyB2b2lkIGNsaW5lKHZvaWQpCit7CisJY2hhciAqYnVmID0geG1hbGxvYyh0dHljb2xzICsgMik7CisJbWVtc2V0KGJ1ZiwgJyAnLCB0dHljb2xzICsgMik7CisJYnVmWzBdID0gJ1xyJzsKKwlidWZbdHR5Y29scyArIDFdID0gJ1xyJzsKKwl3cml0ZV9hbGwoU1RET1VUX0ZJTEVOTywgYnVmLCB0dHljb2xzICsgMik7CisJZnJlZShidWYpOworfQorCisvKiBFdmFsdWF0ZSBhIGNvbW1hbmQgY2hhcmFjdGVyJ3Mgc2VtYW50aWNzLiAqLworc3RhdGljIGludCBnZXRzdGF0ZShpbnQgYykKK3sKKwlzd2l0Y2ggKGMpIHsKKwljYXNlICcxJzoKKwljYXNlICcyJzoKKwljYXNlICczJzoKKwljYXNlICc0JzoKKwljYXNlICc1JzoKKwljYXNlICc2JzoKKwljYXNlICc3JzoKKwljYXNlICc4JzoKKwljYXNlICc5JzoKKwljYXNlICcwJzoKKwljYXNlICdcMCc6CisJCXJldHVybiBDT1VOVDsKKwljYXNlICctJzoKKwljYXNlICcrJzoKKwkJcmV0dXJuIFNJR047CisJY2FzZSAnbCc6CisJY2FzZSAnZCc6CisJY2FzZSAnXDAwNCc6CisJY2FzZSAnZic6CisJY2FzZSAneic6CisJY2FzZSAnLic6CisJY2FzZSAnXDAxNCc6CisJY2FzZSAnJCc6CisJY2FzZSAnbic6CisJY2FzZSAncCc6CisJY2FzZSAndyc6CisJY2FzZSAnaCc6CisJY2FzZSAncSc6CisJY2FzZSAnUSc6CisJCXJldHVybiBDTURfRklOOworCWNhc2UgJy8nOgorCWNhc2UgJz8nOgorCWNhc2UgJ14nOgorCQlyZXR1cm4gU0VBUkNIOworCWNhc2UgJ3MnOgorCWNhc2UgJyEnOgorCQlyZXR1cm4gU1RSSU5HOworCWNhc2UgJ20nOgorCWNhc2UgJ2InOgorCWNhc2UgJ3QnOgorCQlyZXR1cm4gQURET05fRklOOworCWRlZmF1bHQ6CisjaWZkZWYgUEdfQkVMTAorCQlpZiAoYmVsbCkKKwkJCXRwdXRzKGJlbGwsIFNURE9VVF9GSUxFTk8sIG91dGNhcCk7CisjZW5kaWYKKwkJcmV0dXJuIElOVkFMSUQ7CisJfQorfQorCisvKiBHZXQgdGhlIGNvdW50IGFuZCBpZ25vcmUgbGFzdCBjaGFyYWN0ZXIgb2Ygc3RyaW5nLiAqLworc3RhdGljIGludCBnZXRjb3VudChjaGFyICpjbWRzdHIpCit7CisJY2hhciAqYnVmOworCWNoYXIgKnA7CisJaW50IGk7CisKKwlpZiAoKmNtZHN0ciA9PSAnXDAnKQorCQlyZXR1cm4gMTsKKwlidWYgPSB4bWFsbG9jKHN0cmxlbihjbWRzdHIpICsgMSk7CisJc3RyY3B5KGJ1ZiwgY21kc3RyKTsKKwlpZiAoY21kLmtleSAhPSAnXDAnKSB7CisJCWlmIChjbWQua2V5ID09ICcvJyB8fCBjbWQua2V5ID09ICc/JyB8fCBjbWQua2V5ID09ICdeJykgeworCQkJaWYgKChwID0gc3RyY2hyKGJ1ZiwgY21kLmtleSkpICE9IE5VTEwpCisJCQkJKnAgPSAnXDAnOworCQl9IGVsc2UKKwkJCSooYnVmICsgc3RybGVuKGJ1ZikgLSAxKSA9ICdcMCc7CisJfQorCWlmICgqYnVmID09ICdcMCcpIHsKKwkJZnJlZShidWYpOworCQlyZXR1cm4gMTsKKwl9CisJaWYgKGJ1ZlswXSA9PSAnLScgJiYgYnVmWzFdID09ICdcMCcpIHsKKwkJaSA9IC0xOworCX0gZWxzZSB7CisJCWlmICgqYnVmID09ICcrJykKKwkJCWkgPSBhdG9pKGJ1ZiArIDEpOworCQllbHNlCisJCQlpID0gYXRvaShidWYpOworCX0KKwlmcmVlKGJ1Zik7CisJcmV0dXJuIGk7Cit9CisKKy8qIFJlYWQgd2hhdCB0aGUgdXNlciB3cml0ZXMgYXQgdGhlIHByb21wdC4gVGhpcyBpcyB0cmlja3kgYmVjYXVzZSB3ZQorICogY2hlY2sgZm9yIHZhbGlkIGlucHV0LiAqLworc3RhdGljIHZvaWQgcHJvbXB0KGxvbmcgbG9uZyBwYWdlbm8pCit7CisJc3RydWN0IHRlcm1pb3MgdGlvOworCWNoYXIga2V5OworCWludCBzdGF0ZSA9IENPVU5UOworCWludCBlc2NhcGUgPSAwOworCWNoYXIgYltMSU5FX01BWF0sICpwOworCisJaWYgKHBhZ2VubyAhPSAtMSkgeworCQlpZiAoKHAgPSBzdHJzdHIocHN0cmluZywgIiVkIikpID09IE5VTEwpIHsKKwkJCW1lc2cocHN0cmluZyk7CisJCX0gZWxzZSB7CisJCQlzdHJjcHkoYiwgcHN0cmluZyk7CisJCQlzcHJpbnRmKGIgKyAocCAtIHBzdHJpbmcpLCAiJWxsZCIsIHBhZ2Vubyk7CisJCQlzdHJjYXQoYiwgcCArIDIpOworCQkJbWVzZyhiKTsKKwkJfQorCX0KKwljbWQua2V5ID0gY21kLmFkZG9uID0gY21kLmNtZGxpbmVbMF0gPSAnXDAnOworCWNtZC5jbWRsZW4gPSAwOworCXRjZ2V0YXR0cihTVERPVVRfRklMRU5PLCAmdGlvKTsKKwl0aW8uY19sZmxhZyAmPSB+KElDQU5PTiB8IEVDSE8pOworCXRpby5jX2NjW1ZNSU5dID0gMTsKKwl0aW8uY19jY1tWVElNRV0gPSAwOworCXRjc2V0YXR0cihTVERPVVRfRklMRU5PLCBUQ1NBRFJBSU4sICZ0aW8pOworCXRjZmx1c2goU1RET1VUX0ZJTEVOTywgVENJRkxVU0gpOworCWZvciAoOzspIHsKKwkJc3dpdGNoIChyZWFkKFNURE9VVF9GSUxFTk8sICZrZXksIDEpKSB7CisJCWNhc2UgMDoKKwkJCXF1aXQoMCk7CisJCQkvKiBOT1RSRUFDSEVEICovCisJCWNhc2UgLTE6CisJCQlxdWl0KDEpOworCQl9CisJCWlmIChrZXkgPT0gdGlvLmNfY2NbVkVSQVNFXSkgeworCQkJaWYgKGNtZC5jbWRsZW4pIHsKKwkJCQl3cml0ZV9hbGwoU1RET1VUX0ZJTEVOTywgIlxiIFxiIiwgMyk7CisJCQkJY21kLmNtZGxpbmVbLS1jbWQuY21kbGVuXSA9ICdcMCc7CisJCQkJc3dpdGNoIChzdGF0ZSkgeworCQkJCWNhc2UgQURET05fRklOOgorCQkJCQlzdGF0ZSA9IFNFQVJDSF9GSU47CisJCQkJCWNtZC5hZGRvbiA9ICdcMCc7CisJCQkJCWJyZWFrOworCQkJCWNhc2UgQ01EX0ZJTjoKKwkJCQkJY21kLmtleSA9ICdcMCc7CisJCQkJCXN0YXRlID0gQ09VTlQ7CisJCQkJCWJyZWFrOworCQkJCWNhc2UgU0VBUkNIX0ZJTjoKKwkJCQkJc3RhdGUgPSBTRUFSQ0g7CisJCQkJCS8qIEZBTExUSFJVICovCisJCQkJY2FzZSBTRUFSQ0g6CisJCQkJCWlmIChjbWQuY21kbGluZVtjbWQuY21kbGVuIC0gMV0gPT0gJ1xcJykgeworCQkJCQkJZXNjYXBlID0gMTsKKwkJCQkJCXdoaWxlIChjbWQuY21kbGluZVtjbWQuY21kbGVuCisJCQkJCQkJCSAgIC0gZXNjYXBlIC0gMV0KKwkJCQkJCSAgICAgICA9PSAnXFwnKQorCQkJCQkJCWVzY2FwZSsrOworCQkJCQkJZXNjYXBlICU9IDI7CisJCQkJCX0gZWxzZSB7CisJCQkJCQllc2NhcGUgPSAwOworCQkJCQkJaWYgKHN0cmNocihjbWQuY21kbGluZSwgY21kLmtleSkKKwkJCQkJCSAgICA9PSBOVUxMKSB7CisJCQkJCQkJY21kLmtleSA9ICdcMCc7CisJCQkJCQkJc3RhdGUgPSBDT1VOVDsKKwkJCQkJCX0KKwkJCQkJfQorCQkJCQlicmVhazsKKwkJCQl9CisJCQl9CisJCQlpZiAoY21kLmNtZGxlbiA9PSAwKSB7CisJCQkJc3RhdGUgPSBDT1VOVDsKKwkJCQljbWQua2V5ID0gJ1wwJzsKKwkJCX0KKwkJCWNvbnRpbnVlOworCQl9CisJCWlmIChrZXkgPT0gdGlvLmNfY2NbVktJTExdKSB7CisJCQljbGluZSgpOworCQkJY21kLmNtZGxlbiA9IDA7CisJCQljbWQuY21kbGluZVswXSA9ICdcMCc7CisJCQlzdGF0ZSA9IENPVU5UOworCQkJY21kLmtleSA9ICdcMCc7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoa2V5ID09ICdcbicgfHwgKG5mbGFnICYmIHN0YXRlID09IENPVU5UICYmIGtleSA9PSAnICcpKQorCQkJYnJlYWs7CisJCWlmIChjbWQuY21kbGVuID49IENNREJVRiAtIDEpCisJCQljb250aW51ZTsKKwkJc3dpdGNoIChzdGF0ZSkgeworCQljYXNlIFNUUklORzoKKwkJCWJyZWFrOworCQljYXNlIFNFQVJDSDoKKwkJCWlmICghZXNjYXBlKSB7CisJCQkJaWYgKGtleSA9PSBjbWQua2V5KQorCQkJCQlzdGF0ZSA9IFNFQVJDSF9GSU47CisJCQkJaWYgKGtleSA9PSAnXFwnKQorCQkJCQllc2NhcGUgPSAxOworCQkJfSBlbHNlCisJCQkJZXNjYXBlID0gMDsKKwkJCWJyZWFrOworCQljYXNlIFNFQVJDSF9GSU46CisJCQlpZiAoZ2V0c3RhdGUoa2V5KSAhPSBBRERPTl9GSU4pCisJCQkJY29udGludWU7CisJCQlzdGF0ZSA9IEFERE9OX0ZJTjsKKwkJCWNtZC5hZGRvbiA9IGtleTsKKwkJCXN3aXRjaCAoa2V5KSB7CisJCQljYXNlICd0JzoKKwkJCQlzZWFyY2hkaXNwbGF5ID0gVE9QOworCQkJCWJyZWFrOworCQkJY2FzZSAnbSc6CisJCQkJc2VhcmNoZGlzcGxheSA9IE1JRERMRTsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ2InOgorCQkJCXNlYXJjaGRpc3BsYXkgPSBCT1RUT007CisJCQkJYnJlYWs7CisJCQl9CisJCQlicmVhazsKKwkJY2FzZSBDTURfRklOOgorCQljYXNlIEFERE9OX0ZJTjoKKwkJCWNvbnRpbnVlOworCQlkZWZhdWx0OgorCQkJc3RhdGUgPSBnZXRzdGF0ZShrZXkpOworCQkJc3dpdGNoIChzdGF0ZSkgeworCQkJY2FzZSBTSUdOOgorCQkJCWlmIChjbWQuY21kbGVuICE9IDApIHsKKwkJCQkJc3RhdGUgPSBJTlZBTElEOworCQkJCQljb250aW51ZTsKKwkJCQl9CisJCQkJc3RhdGUgPSBDT1VOVDsKKwkJCQkvKiBGQUxMVEhSVSAqLworCQkJY2FzZSBDT1VOVDoKKwkJCQlicmVhazsKKwkJCWNhc2UgQURET05fRklOOgorCQkJY2FzZSBJTlZBTElEOgorCQkJCWNvbnRpbnVlOworCQkJZGVmYXVsdDoKKwkJCQljbWQua2V5ID0ga2V5OworCQkJfQorCQl9CisJCXdyaXRlX2FsbChTVERPVVRfRklMRU5PLCAma2V5LCAxKTsKKwkJY21kLmNtZGxpbmVbY21kLmNtZGxlbisrXSA9IGtleTsKKwkJY21kLmNtZGxpbmVbY21kLmNtZGxlbl0gPSAnXDAnOworCQlpZiAobmZsYWcgJiYgc3RhdGUgPT0gQ01EX0ZJTikKKwkJCWdvdG8gZW5kcHJvbXB0OworCX0KKyBlbmRwcm9tcHQ6CisJdGNzZXRhdHRyKFNURE9VVF9GSUxFTk8sIFRDU0FEUkFJTiwgJm90aW8pOworCWNsaW5lKCk7CisJY21kLmNvdW50ID0gZ2V0Y291bnQoY21kLmNtZGxpbmUpOworfQorCisjaWZkZWYgSEFWRV9XSURFQ0hBUgorLyogUmVtb3ZlIGJhY2tzcGFjZSBmb3JtYXR0aW5nLCBmb3Igc2VhcmNoZXMgaW4gY2FzZSBNQl9DVVJfTUFYID4gMS4gKi8KK3N0YXRpYyBjaGFyICpjb2xiX2Zvcl9tYihjaGFyICpzKQoreworCWNoYXIgKnAgPSBzOworCXdjaGFyX3QgKndwLCAqd3E7CisJc2l6ZV90IGwgPSBzdHJsZW4ocyksIHdsOworCXVuc2lnbmVkIGk7CisKKwlpZiAoKHdsID0geG1ic3Rvd2NzKHdidWYsIHAsIHNpemVvZiB3YnVmKSkgPT0gKHNpemVfdCktMSkKKwkJcmV0dXJuIHM7CisJZm9yICh3cCA9IHdidWYsIHdxID0gd2J1ZiwgaSA9IDA7ICp3cCAhPSBMJ1wwJyAmJiBpIDwgd2w7IHdwKyssIHdxKyspIHsKKwkJaWYgKCp3cCA9PSBMJ1xiJykgeworCQkJaWYgKHdxICE9IHdidWYpCisJCQkJd3EgLT0gMjsKKwkJCWVsc2UKKwkJCQl3cS0tOworCQl9IGVsc2UKKwkJCSp3cSA9ICp3cDsKKwl9CisJKndxID0gTCdcMCc7CisJd3AgPSB3YnVmOworCXdjc3RvbWJzKHMsIHdwLCBsICsgMSk7CisKKwlyZXR1cm4gczsKK30KKyNlbmRpZgorCisvKiBSZW1vdmUgYmFja3NwYWNlIGZvcm1hdHRpbmcsIGZvciBzZWFyY2hlcy4gKi8KK3N0YXRpYyBjaGFyICpjb2xiKGNoYXIgKnMpCit7CisJY2hhciAqcCA9IHMsICpxOworCisjaWZkZWYgSEFWRV9XSURFQ0hBUgorCWlmIChNQl9DVVJfTUFYID4gMSkKKwkJcmV0dXJuIGNvbGJfZm9yX21iKHMpOworI2VuZGlmCisKKwlmb3IgKHEgPSBzOyAqcCAhPSAnXDAnOyBwKyssIHErKykgeworCQlpZiAoKnAgPT0gJ1xiJykgeworCQkJaWYgKHEgIT0gcykKKwkJCQlxIC09IDI7CisJCQllbHNlCisJCQkJcS0tOworCQl9IGVsc2UKKwkJCSpxID0gKnA7CisJfQorCSpxID0gJ1wwJzsKKworCXJldHVybiBzOworfQorCisjaWZkZWYgSEFWRV9XSURFQ0hBUgorLyogQ29udmVydCBub24tcHJpbnRhYmxlIGNoYXJhY3RlcnMgdG8gc3BhY2VzIGluIGNhc2UgTUJfQ1VSX01BWCA+IDEuICAqLworc3RhdGljIHZvaWQgbWFrZXByaW50X2Zvcl9tYihjaGFyICpzLCBzaXplX3QgbCkKK3sKKwljaGFyICp0ID0gczsKKwl3Y2hhcl90ICp3cCA9IHdidWY7CisJc2l6ZV90IHdsOworCisJaWYgKCh3bCA9IHhtYnN0b3djcyh3YnVmLCB0LCBzaXplb2Ygd2J1ZikpID09IChzaXplX3QpLTEpCisJCXJldHVybjsKKwl3aGlsZSAod2wtLSkgeworCQlpZiAoIWlzd3ByaW50KCp3cCkgJiYgKndwICE9IEwnXG4nICYmICp3cCAhPSBMJ1xyJworCQkgICAgJiYgKndwICE9IEwnXGInICYmICp3cCAhPSBMJ1x0JykKKwkJCSp3cCA9IEwnPyc7CisJCXdwKys7CisJfQorCXdwID0gd2J1ZjsKKwl3Y3N0b21icyhzLCB3cCwgbCk7Cit9CisjZW5kaWYKKworLyogQ29udmVydCBub24tcHJpbnRhYmxlIGNoYXJhY3RlcnMgdG8gc3BhY2VzLiAqLworc3RhdGljIHZvaWQgbWFrZXByaW50KGNoYXIgKnMsIHNpemVfdCBsKQoreworI2lmZGVmIEhBVkVfV0lERUNIQVIKKwlpZiAoTUJfQ1VSX01BWCA+IDEpIHsKKwkJbWFrZXByaW50X2Zvcl9tYihzLCBsKTsKKwkJcmV0dXJuOworCX0KKyNlbmRpZgorCisJd2hpbGUgKGwtLSkgeworCQlpZiAoIWlzcHJpbnQoY3VjKCpzKSkgJiYgKnMgIT0gJ1xuJyAmJiAqcyAhPSAnXHInCisJCSAgICAmJiAqcyAhPSAnXGInICYmICpzICE9ICdcdCcpCisJCQkqcyA9ICc/JzsKKwkJcysrOworCX0KK30KKworLyogU3RyaXAgYmFja3NsYXNoIGNoYXJhY3RlcnMgZnJvbSB0aGUgZ2l2ZW4gc3RyaW5nLiAqLworc3RhdGljIHZvaWQgc3RyaXBycyhjaGFyICpzKQoreworCWNoYXIgKnAgPSBzOworCisJZG8geworCQlpZiAoKnMgPT0gJ1xcJykgeworCQkJcysrOworCQl9CisJCSpwKysgPSAqczsKKwl9IHdoaWxlICgqcysrICE9ICdcMCcpOworfQorCisvKiBFeHRyYWN0IHRoZSBzZWFyY2ggcGF0dGVybiBvZmYgdGhlIGNvbW1hbmQgbGluZS4gKi8KK3N0YXRpYyBjaGFyICptYWtlcGF0KHZvaWQpCit7CisJY2hhciAqcDsKKworCWlmIChjbWQuYWRkb24gPT0gJ1wwJykKKwkJcCA9IGNtZC5jbWRsaW5lICsgc3RybGVuKGNtZC5jbWRsaW5lKSAtIDE7CisJZWxzZQorCQlwID0gY21kLmNtZGxpbmUgKyBzdHJsZW4oY21kLmNtZGxpbmUpIC0gMjsKKwlpZiAoKnAgPT0gY21kLmtleSkKKwkJKnAgPSAnXDAnOworCWVsc2UKKwkJKihwICsgMSkgPSAnXDAnOworCWlmICgocCA9IHN0cmNocihjbWQuY21kbGluZSwgY21kLmtleSkpICE9IE5VTEwpIHsKKwkJcCsrOworCQlzdHJpcHJzKHApOworCX0KKwlyZXR1cm4gcDsKK30KKworLyogUHJvY2VzcyBlcnJvcnMgdGhhdCBvY2N1cnJlZCBpbiB0ZW1wb3JhcnkgZmlsZSBvcGVyYXRpb25zLiAqLworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdG1wZXJyKEZJTEUgKmYsIGNvbnN0IGNoYXIgKmZ0eXBlKQoreworCWlmIChmZXJyb3IoZikpCisJCXdhcm4oXygiUmVhZCBlcnJvciBmcm9tICVzIGZpbGUiKSwgZnR5cGUpOworCWVsc2UgaWYgKGZlb2YoZikpCisJCS8qIE1vc3QgbGlrZWx5ICdcMCcgaW4gaW5wdXQuICovCisJCXdhcm54KF8oIlVuZXhwZWN0ZWQgRU9GIGluICVzIGZpbGUiKSwgZnR5cGUpOworCWVsc2UKKwkJd2FybihfKCJVbmtub3duIGVycm9yIGluICVzIGZpbGUiKSwgZnR5cGUpOworCXF1aXQoKytleGl0c3RhdHVzKTsKK30KKworLyogUmVhZCB0aGUgZmlsZSBhbmQgcmVzcG9uZCB0byB1c2VyIGlucHV0LiAgQmV3YXJlOiBsb25nIGFuZCB1Z2x5LiAqLworc3RhdGljIHZvaWQgcGdmaWxlKEZJTEUgKmYsIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJb2ZmX3QgcG9zLCBvbGRwb3MsIGZwb3M7CisJLyogVGhlc2UgYXJlIHRoZSBsaW5lIGNvdW50ZXJzOgorCSAqICAgbGluZQl0aGUgbGluZSBkZXNpcmVkIHRvIGRpc3BsYXkKKwkgKiAgIGZsaW5lCXRoZSBjdXJyZW50IGxpbmUgb2YgdGhlIGlucHV0IGZpbGUKKwkgKiAgIGJsaW5lCXRoZSBjdXJyZW50IGxpbmUgb2YgdGhlIGZpbGUgYnVmZmVyCisJICogICBvbGRsaW5lCXRoZSBsaW5lIGJlZm9yZSBhIHNlYXJjaCB3YXMgc3RhcnRlZAorCSAqICAgZW9mbGluZQl0aGUgbGFzdCBsaW5lIG9mIHRoZSBmaWxlIGlmIGl0IGlzIGFscmVhZHkgcmVhY2hlZAorCSAqICAgZGxpbmUJdGhlIGxpbmUgb24gdGhlIGRpc3BsYXkgKi8KKwlvZmZfdCBsaW5lID0gMCwgZmxpbmUgPSAwLCBibGluZSA9IDAsIG9sZGxpbmUgPSAwLCBlb2ZsaW5lID0gMDsKKwlpbnQgZGxpbmUgPSAwOworCWludCBzZWFyY2ggPSAwOworCXVuc2lnbmVkIHNlYXJjaGNvdW50ID0gMDsKKwkvKiBBZHZhbmNlIHRvIEVPRiBpbW1lZGlhdGVseS4gKi8KKwlpbnQgc2Vla2VvZiA9IDA7CisJLyogRU9GIGhhcyBiZWVuIHJlYWNoZWQgYnkgYGxpbmUnLiAqLworCWludCBlb2YgPSAwOworCS8qIGYgYW5kIGZidWYgcmVmZXIgdG8gdGhlIHNhbWUgZmlsZS4gKi8KKwlpbnQgbm9idWYgPSAwOworCWludCBzaWc7CisJaW50IHJlcnJvcjsKKwlzaXplX3Qgc3o7CisJY2hhciBiW1JFQURCVUYgKyAxXTsKKwljaGFyICpwOworCS8qICAgZmJ1ZglhbiBleGFjdCBjb3B5IG9mIHRoZSBpbnB1dCBmaWxlIGFzIGl0IGdldHMgcmVhZAorCSAqICAgZmluZAlpbmRleCB0YWJsZSBmb3IgaW5wdXQsIG9uZSBlbnRyeSBwZXIgbGluZQorCSAqICAgc2F2ZQlmb3IgdGhlIHMgY29tbWFuZCwgdG8gc2F2ZSB0byBhIGZpbGUgKi8KKwlGSUxFICpmYnVmLCAqZmluZCwgKnNhdmU7CisKKwlpZiAob250dHkgPT0gMCkgeworCQkvKiBKdXN0IGNvcHkgc3RkaW4gdG8gc3Rkb3V0LiAqLworCQl3aGlsZSAoKHN6ID0gZnJlYWQoYiwgc2l6ZW9mICpiLCBSRUFEQlVGLCBmKSkgIT0gMCkKKwkJCXdyaXRlX2FsbChTVERPVVRfRklMRU5PLCBiLCBzeik7CisJCWlmIChmZXJyb3IoZikpIHsKKwkJCXdhcm4oIiVzIiwgbmFtZSk7CisJCQlleGl0c3RhdHVzKys7CisJCX0KKwkJcmV0dXJuOworCX0KKwlpZiAoKGZwb3MgPSBmc2Vla28oZiwgKG9mZl90KTAsIFNFRUtfU0VUKSkgPT0gLTEpCisJCWZidWYgPSB0bXBmaWxlKCk7CisJZWxzZSB7CisJCWZidWYgPSBmOworCQlub2J1ZiA9IDE7CisJfQorCWZpbmQgPSB0bXBmaWxlKCk7CisJaWYgKGZidWYgPT0gTlVMTCB8fCBmaW5kID09IE5VTEwpIHsKKwkJd2FybihfKCJDYW5ub3QgY3JlYXRlIHRlbXBvcmFyeSBmaWxlIikpOworCQlxdWl0KCsrZXhpdHN0YXR1cyk7CisJfQorCWlmIChzZWFyY2hmb3IpIHsKKwkJc2VhcmNoID0gRk9SV0FSRDsKKwkJb2xkbGluZSA9IDA7CisJCXNlYXJjaGNvdW50ID0gMTsKKwkJcmVycm9yID0gcmVnY29tcCgmcmUsIHNlYXJjaGZvciwgUkVHX05PU1VCIHwgUkVHX05FV0xJTkUpOworCQlpZiAocmVycm9yICE9IDApIHsKKwkJCW1lc2coXygiUkUgZXJyb3I6ICIpKTsKKwkJCXJlZ2Vycm9yKHJlcnJvciwgJnJlLCBiLCBSRUFEQlVGKTsKKwkJCW1lc2coYik7CisJCQlnb3RvIG5ld2NtZDsKKwkJfQorCQlyZW1lbWJlcmVkID0gMTsKKwl9CisKKwlmb3IgKGxpbmUgPSBzdGFydGxpbmU7OykgeworCQkvKiBHZXQgYSBsaW5lIGZyb20gaW5wdXQgZmlsZSBvciBidWZmZXIuICovCisJCWlmIChsaW5lIDwgYmxpbmUpIHsKKwkJCWZzZWVrbyhmaW5kLCBsaW5lICogc2l6ZW9mIHBvcywgU0VFS19TRVQpOworCQkJaWYgKGZyZWFkKCZwb3MsIHNpemVvZiBwb3MsIDEsIGZpbmQpID09IDApCisJCQkJdG1wZXJyKGZpbmQsICJpbmRleCIpOworCQkJZnNlZWtvKGZpbmQsIChvZmZfdCkwLCBTRUVLX0VORCk7CisJCQlmc2Vla28oZmJ1ZiwgcG9zLCBTRUVLX1NFVCk7CisJCQlpZiAoZmdldHMoYiwgUkVBREJVRiwgZmJ1ZikgPT0gTlVMTCkKKwkJCQl0bXBlcnIoZmJ1ZiwgImJ1ZmZlciIpOworCQl9IGVsc2UgaWYgKGVvZmxpbmUgPT0gMCkgeworCQkJZnNlZWtvKGZpbmQsIChvZmZfdCkwLCBTRUVLX0VORCk7CisJCQlkbyB7CisJCQkJaWYgKCFub2J1ZikKKwkJCQkJZnNlZWtvKGZidWYsIChvZmZfdCkwLCBTRUVLX0VORCk7CisJCQkJcG9zID0gZnRlbGxvKGZidWYpOworCQkJCWlmICgoc2lnID0gc2V0am1wKGptcGVudikpICE9IDApIHsKKwkJCQkJLyogV2UgZ290IGEgc2lnbmFsLiAqLworCQkJCQljYW5qdW1wID0gMDsKKwkJCQkJbXlfc2lncmVsc2Uoc2lnKTsKKwkJCQkJZnNlZWtvKGZidWYsIHBvcywgU0VFS19TRVQpOworCQkJCQkqYiA9ICdcMCc7CisJCQkJCWRsaW5lID0gcGFnZWxlbjsKKwkJCQkJYnJlYWs7CisJCQkJfSBlbHNlIHsKKwkJCQkJaWYgKG5vYnVmKQorCQkJCQkJZnNlZWtvKGYsIGZwb3MsIFNFRUtfU0VUKTsKKwkJCQkJY2FuanVtcCA9IDE7CisJCQkJCXAgPSBmZ2V0cyhiLCBSRUFEQlVGLCBmKTsKKwkJCQkJaWYgKG5vYnVmKQorCQkJCQkJaWYgKChmcG9zID0gZnRlbGxvKGYpKSA9PSAtMSkKKwkJCQkJCQl3YXJuKCIlcyIsIG5hbWUpOworCQkJCQljYW5qdW1wID0gMDsKKwkJCQl9CisJCQkJaWYgKHAgPT0gTlVMTCB8fCAqYiA9PSAnXDAnKSB7CisJCQkJCWlmIChmZXJyb3IoZikpCisJCQkJCQl3YXJuKCIlcyIsIG5hbWUpOworCQkJCQllb2ZsaW5lID0gZmxpbmU7CisJCQkJCWVvZiA9IDE7CisJCQkJCWJyZWFrOworCQkJCX0gZWxzZSB7CisJCQkJCWlmICghbm9idWYpCisJCQkJCQlmcHV0cyhiLCBmYnVmKTsKKwkJCQkJZndyaXRlX2FsbCgmcG9zLCBzaXplb2YgcG9zLCAxLCBmaW5kKTsKKwkJCQkJaWYgKCFmZmxhZykgeworCQkJCQkJb2xkcG9zID0gcG9zOworCQkJCQkJcCA9IGI7CisJCQkJCQl3aGlsZSAoKihwID0gZW5kbGluZSh0dHljb2xzLAorCQkJCQkJCQkgICAgIHApKQorCQkJCQkJICAgICAgICE9ICdcMCcpIHsKKwkJCQkJCQlwb3MgPSBvbGRwb3MgKyAocCAtIGIpOworCQkJCQkJCWZ3cml0ZV9hbGwoJnBvcywKKwkJCQkJCQkJICAgc2l6ZW9mIHBvcywKKwkJCQkJCQkJICAgMSwgZmluZCk7CisJCQkJCQkJZmxpbmUrKzsKKwkJCQkJCQlibGluZSsrOworCQkJCQkJfQorCQkJCQl9CisJCQkJCWZsaW5lKys7CisJCQkJfQorCQkJfSB3aGlsZSAobGluZSA+IGJsaW5lKyspOworCQl9IGVsc2UgeworCQkJLyogZW9mbGluZSAhPSAwICovCisJCQllb2YgPSAxOworCQl9CisJCWlmIChzZWFyY2ggPT0gRk9SV0FSRCAmJiByZW1lbWJlcmVkID09IDEpIHsKKwkJCWlmIChlb2YpIHsKKwkJCQlsaW5lID0gb2xkbGluZTsKKwkJCQlzZWFyY2ggPSBzZWFyY2hjb3VudCA9IDA7CisJCQkJbWVzZyhfKCJQYXR0ZXJuIG5vdCBmb3VuZCIpKTsKKwkJCQllb2YgPSAwOworCQkJCWdvdG8gbmV3Y21kOworCQkJfQorCQkJbGluZSsrOworCQkJY29sYihiKTsKKwkJCWlmIChyZWdleGVjKCZyZSwgYiwgMCwgTlVMTCwgMCkgPT0gMCkgeworCQkJCXNlYXJjaGNvdW50LS07CisJCQl9CisJCQlpZiAoc2VhcmNoY291bnQgPT0gMCkgeworCQkJCXNlYXJjaCA9IGRsaW5lID0gMDsKKwkJCQlzd2l0Y2ggKHNlYXJjaGRpc3BsYXkpIHsKKwkJCQljYXNlIFRPUDoKKwkJCQkJbGluZSAtPSAxOworCQkJCQlicmVhazsKKwkJCQljYXNlIE1JRERMRToKKwkJCQkJbGluZSAtPSBwYWdlbGVuIC8gMiArIDE7CisJCQkJCWJyZWFrOworCQkJCWNhc2UgQk9UVE9NOgorCQkJCQlsaW5lIC09IHBhZ2VsZW47CisJCQkJCWJyZWFrOworCQkJCX0KKwkJCQlza2lwKDEpOworCQkJfQorCQkJY29udGludWU7CisJCX0gZWxzZSBpZiAoZW9mKSB7CisJCQkvKiBXZSBhcmUgbm90IHNlYXJjaGluZy4gKi8KKwkJCWxpbmUgPSBibGluZTsKKwkJfSBlbHNlIGlmICgqYiAhPSAnXDAnKSB7CisJCQlpZiAoY2ZsYWcgJiYgY2xlYXJfc2NyZWVuKSB7CisJCQkJc3dpdGNoIChkbGluZSkgeworCQkJCWNhc2UgMDoKKwkJCQkJdHB1dHMoY2xlYXJfc2NyZWVuLCBTVERPVVRfRklMRU5PLAorCQkJCQkgICAgICBvdXRjYXApOworCQkJCQlkbGluZSA9IDA7CisJCQkJfQorCQkJfQorCQkJbGluZSsrOworCQkJaWYgKGVvZmxpbmUgJiYgbGluZSA9PSBlb2ZsaW5lKQorCQkJCWVvZiA9IDE7CisJCQlkbGluZSsrOworCQkJaWYgKChzaWcgPSBzZXRqbXAoam1wZW52KSkgIT0gMCkgeworCQkJCS8qIFdlIGdvdCBhIHNpZ25hbC4gKi8KKwkJCQljYW5qdW1wID0gMDsKKwkJCQlteV9zaWdyZWxzZShzaWcpOworCQkJCWRsaW5lID0gcGFnZWxlbjsKKwkJCX0gZWxzZSB7CisJCQkJcCA9IGVuZGxpbmUodHR5Y29scywgYik7CisJCQkJc3ogPSBwIC0gYjsKKwkJCQltYWtlcHJpbnQoYiwgc3opOworCQkJCWNhbmp1bXAgPSAxOworCQkJCXdyaXRlX2FsbChTVERPVVRfRklMRU5PLCBiLCBzeik7CisJCQkJY2FuanVtcCA9IDA7CisJCQl9CisJCX0KKwkJaWYgKGRsaW5lID49IHBhZ2VsZW4gfHwgZW9mKSB7CisJCQkvKiBUaW1lIGZvciBwcm9tcHRpbmchICovCisJCQlpZiAoZW9mICYmIHNlZWtlb2YpIHsKKwkJCQllb2YgPSBzZWVrZW9mID0gMDsKKwkJCQlpZiAobGluZSA+PSBwYWdlbGVuKQorCQkJCQlsaW5lIC09IHBhZ2VsZW47CisJCQkJZWxzZQorCQkJCQlsaW5lID0gMDsKKwkJCQlkbGluZSA9IC0xOworCQkJCWNvbnRpbnVlOworCQkJfQorIG5ld2NtZDoKKwkJCWlmIChlb2YpIHsKKwkJCQlpZiAoZmxpbmUgPT0gMCB8fCBlZmxhZykKKwkJCQkJYnJlYWs7CisJCQkJbWVzZyhfKCIoRU9GKSIpKTsKKwkJCX0KKwkJCXByb21wdCgobGluZSAtIDEpIC8gcGFnZWxlbiArIDEpOworCQkJc3dpdGNoIChjbWQua2V5KSB7CisJCQljYXNlICcvJzoKKwkJCQkvKiBTZWFyY2ggZm9yd2FyZC4gKi8KKwkJCQlzZWFyY2ggPSBGT1JXQVJEOworCQkJCW9sZGxpbmUgPSBsaW5lOworCQkJCXNlYXJjaGNvdW50ID0gY21kLmNvdW50OworCQkJCXAgPSBtYWtlcGF0KCk7CisJCQkJaWYgKHAgIT0gTlVMTCAmJiAqcCkgeworCQkJCQlpZiAocmVtZW1iZXJlZCA9PSAxKQorCQkJCQkJcmVnZnJlZSgmcmUpOworCQkJCQlyZXJyb3IgPSByZWdjb21wKCZyZSwgcCwKKwkJCQkJCQkgUkVHX05PU1VCIHwKKwkJCQkJCQkgUkVHX05FV0xJTkUpOworCQkJCQlpZiAocmVycm9yICE9IDApIHsKKwkJCQkJCW1lc2coXygiUkUgZXJyb3I6ICIpKTsKKwkJCQkJCXN6ID0gcmVnZXJyb3IocmVycm9yLCAmcmUsCisJCQkJCQkJICAgICAgYiwgUkVBREJVRik7CisJCQkJCQltZXNnKGIpOworCQkJCQkJZ290byBuZXdjbWQ7CisJCQkJCX0KKwkJCQkJcmVtZW1iZXJlZCA9IDE7CisJCQkJfSBlbHNlIGlmIChyZW1lbWJlcmVkID09IDApIHsKKwkJCQkJbWVzZyhfKCJObyByZW1lbWJlcmVkIHNlYXJjaCBzdHJpbmciKSk7CisJCQkJCWdvdG8gbmV3Y21kOworCQkJCX0KKwkJCQljb250aW51ZTsKKwkJCWNhc2UgJz8nOgorCQkJY2FzZSAnXic6CisJCQkJLyogU2VhcmNoIGJhY2t3YXJkLiAqLworCQkJCXNlYXJjaCA9IEJBQ0tXQVJEOworCQkJCW9sZGxpbmUgPSBsaW5lOworCQkJCXNlYXJjaGNvdW50ID0gY21kLmNvdW50OworCQkJCXAgPSBtYWtlcGF0KCk7CisJCQkJaWYgKHAgIT0gTlVMTCAmJiAqcCkgeworCQkJCQlpZiAocmVtZW1iZXJlZCA9PSAxKQorCQkJCQkJcmVnZnJlZSgmcmUpOworCQkJCQlyZXJyb3IgPSByZWdjb21wKCZyZSwgcCwKKwkJCQkJCQkgUkVHX05PU1VCIHwKKwkJCQkJCQkgUkVHX05FV0xJTkUpOworCQkJCQlpZiAocmVycm9yICE9IDApIHsKKwkJCQkJCW1lc2coXygiUkUgZXJyb3I6ICIpKTsKKwkJCQkJCXJlZ2Vycm9yKHJlcnJvciwgJnJlLAorCQkJCQkJCSBiLCBSRUFEQlVGKTsKKwkJCQkJCW1lc2coYik7CisJCQkJCQlnb3RvIG5ld2NtZDsKKwkJCQkJfQorCQkJCQlyZW1lbWJlcmVkID0gMTsKKwkJCQl9IGVsc2UgaWYgKHJlbWVtYmVyZWQgPT0gMCkgeworCQkJCQltZXNnKF8oIk5vIHJlbWVtYmVyZWQgc2VhcmNoIHN0cmluZyIpKTsKKwkJCQkJZ290byBuZXdjbWQ7CisJCQkJfQorCQkJCWxpbmUgLT0gcGFnZWxlbjsKKwkJCQlpZiAobGluZSA8PSAwKQorCQkJCQlnb3RvIG5vdGZvdW5kX2J3OworCQkJCXdoaWxlIChsaW5lKSB7CisJCQkJCWZzZWVrbyhmaW5kLCAtLWxpbmUgKiBzaXplb2YgcG9zLAorCQkJCQkgICAgICAgU0VFS19TRVQpOworCQkJCQlpZiAoZnJlYWQoJnBvcywgc2l6ZW9mIHBvcywgMSwgZmluZCkgPT0KKwkJCQkJICAgIDApCisJCQkJCQl0bXBlcnIoZmluZCwgImluZGV4Iik7CisJCQkJCWZzZWVrbyhmaW5kLCAob2ZmX3QpMCwgU0VFS19FTkQpOworCQkJCQlmc2Vla28oZmJ1ZiwgcG9zLCBTRUVLX1NFVCk7CisJCQkJCWlmIChmZ2V0cyhiLCBSRUFEQlVGLCBmYnVmKSA9PSBOVUxMKQorCQkJCQkJdG1wZXJyKGZidWYsICJidWZmZXIiKTsKKwkJCQkJY29sYihiKTsKKwkJCQkJaWYgKHJlZ2V4ZWMoJnJlLCBiLCAwLCBOVUxMLCAwKSA9PSAwKQorCQkJCQkJc2VhcmNoY291bnQtLTsKKwkJCQkJaWYgKHNlYXJjaGNvdW50ID09IDApCisJCQkJCQlnb3RvIGZvdW5kX2J3OworCQkJCX0KKyBub3Rmb3VuZF9idzoKKwkJCQlsaW5lID0gb2xkbGluZTsKKwkJCQlzZWFyY2ggPSBzZWFyY2hjb3VudCA9IDA7CisJCQkJbWVzZyhfKCJQYXR0ZXJuIG5vdCBmb3VuZCIpKTsKKwkJCQlnb3RvIG5ld2NtZDsKKyBmb3VuZF9idzoKKwkJCQllb2YgPSBzZWFyY2ggPSBkbGluZSA9IDA7CisJCQkJc2tpcCgtMSk7CisJCQkJc3dpdGNoIChzZWFyY2hkaXNwbGF5KSB7CisJCQkJY2FzZSBUT1A6CisJCQkJCS8qIGxpbmUgLT0gMTsgKi8KKwkJCQkJYnJlYWs7CisJCQkJY2FzZSBNSURETEU6CisJCQkJCWxpbmUgLT0gcGFnZWxlbiAvIDI7CisJCQkJCWJyZWFrOworCQkJCWNhc2UgQk9UVE9NOgorCQkJCQlpZiAobGluZSAhPSAwKQorCQkJCQkJZGxpbmUgPSAtMTsKKwkJCQkJbGluZSAtPSBwYWdlbGVuOworCQkJCQlicmVhazsKKwkJCQl9CisJCQkJaWYgKGxpbmUgPCAwKQorCQkJCQlsaW5lID0gMDsKKwkJCQljb250aW51ZTsKKwkJCWNhc2UgJ3MnOgorCQkJCS8qIFNhdmUgdG8gZmlsZS4gKi8KKwkJCQlwID0gY21kLmNtZGxpbmU7CisJCQkJd2hpbGUgKCorK3AgPT0gJyAnKSA7CisJCQkJaWYgKCpwID09ICdcMCcpCisJCQkJCWdvdG8gbmV3Y21kOworCQkJCXNhdmUgPSBmb3BlbihwLCAid2IiKTsKKwkJCQlpZiAoc2F2ZSA9PSBOVUxMKSB7CisJCQkJCWNtZC5jb3VudCA9IGVycm5vOworCQkJCQltZXNnKF8oImNhbm5vdCBvcGVuICIpKTsKKwkJCQkJbWVzZyhwKTsKKwkJCQkJbWVzZygiOiAiKTsKKwkJCQkJbWVzZyhzdHJlcnJvcihjbWQuY291bnQpKTsKKwkJCQkJZ290byBuZXdjbWQ7CisJCQkJfQorCQkJCS8qIEFkdmFuY2UgdG8gRU9GLiAqLworCQkJCWZzZWVrbyhmaW5kLCAob2ZmX3QpMCwgU0VFS19FTkQpOworCQkJCWZvciAoOzspIHsKKwkJCQkJaWYgKCFub2J1ZikKKwkJCQkJCWZzZWVrbyhmYnVmLCAob2ZmX3QpMCwKKwkJCQkJCSAgICAgICBTRUVLX0VORCk7CisJCQkJCXBvcyA9IGZ0ZWxsbyhmYnVmKTsKKwkJCQkJaWYgKGZnZXRzKGIsIFJFQURCVUYsIGYpID09IE5VTEwpIHsKKwkJCQkJCWVvZmxpbmUgPSBmbGluZTsKKwkJCQkJCWJyZWFrOworCQkJCQl9CisJCQkJCWlmICghbm9idWYpCisJCQkJCQlmcHV0cyhiLCBmYnVmKTsKKwkJCQkJZndyaXRlX2FsbCgmcG9zLCBzaXplb2YgcG9zLCAxLCBmaW5kKTsKKwkJCQkJaWYgKCFmZmxhZykgeworCQkJCQkJb2xkcG9zID0gcG9zOworCQkJCQkJcCA9IGI7CisJCQkJCQl3aGlsZSAoKihwID0gZW5kbGluZSh0dHljb2xzLAorCQkJCQkJCQkgICAgIHApKQorCQkJCQkJICAgICAgICE9ICdcMCcpIHsKKwkJCQkJCQlwb3MgPSBvbGRwb3MgKyAocCAtIGIpOworCQkJCQkJCWZ3cml0ZV9hbGwoJnBvcywKKwkJCQkJCQkJICAgc2l6ZW9mIHBvcywKKwkJCQkJCQkJICAgMSwgZmluZCk7CisJCQkJCQkJZmxpbmUrKzsKKwkJCQkJCQlibGluZSsrOworCQkJCQkJfQorCQkJCQl9CisJCQkJCWZsaW5lKys7CisJCQkJCWJsaW5lKys7CisJCQkJfQorCQkJCWZzZWVrbyhmYnVmLCAob2ZmX3QpMCwgU0VFS19TRVQpOworCQkJCXdoaWxlICgoc3ogPSBmcmVhZChiLCBzaXplb2YgKmIsIFJFQURCVUYsCisJCQkJCQkgICBmYnVmKSkgIT0gMCkgeworCQkJCQkvKiBObyBlcnJvciBjaGVjayBmb3IgY29tcGF0LiAqLworCQkJCQlmd3JpdGVfYWxsKGIsIHNpemVvZiAqYiwgc3osIHNhdmUpOworCQkJCX0KKwkJCQlpZiAoY2xvc2Vfc3RyZWFtKHNhdmUpICE9IDApIHsKKwkJCQkJY21kLmNvdW50ID0gZXJybm87CisJCQkJCW1lc2coXygid3JpdGUgZmFpbGVkIikpOworCQkJCQltZXNnKCI6ICIpOworCQkJCQltZXNnKHApOworCQkJCQltZXNnKHN0cmVycm9yKGNtZC5jb3VudCkpOworCQkJCQlnb3RvIG5ld2NtZDsKKwkJCQl9CisJCQkJZnNlZWtvKGZidWYsIChvZmZfdCkwLCBTRUVLX0VORCk7CisJCQkJbWVzZyhfKCJzYXZlZCIpKTsKKwkJCQlnb3RvIG5ld2NtZDsKKwkJCWNhc2UgJ2wnOgorCQkJCS8qIE5leHQgbGluZS4gKi8KKwkJCQlpZiAoKmNtZC5jbWRsaW5lICE9ICdsJykKKwkJCQkJZW9mID0gMDsKKwkJCQlpZiAoY21kLmNvdW50ID09IDApCisJCQkJCWNtZC5jb3VudCA9IDE7CS8qIGNvbXBhdCAqLworCQkJCWlmIChpc2RpZ2l0KGN1YygqY21kLmNtZGxpbmUpKSkgeworCQkJCQlsaW5lID0gY21kLmNvdW50IC0gMjsKKwkJCQkJZGxpbmUgPSAwOworCQkJCX0gZWxzZSB7CisJCQkJCWlmIChjbWQuY291bnQgIT0gMSkgeworCQkJCQkJbGluZSArPSBjbWQuY291bnQgLSAxIC0gcGFnZWxlbjsKKwkJCQkJCWRsaW5lID0gLTE7CisJCQkJCQlza2lwKGNtZC5jb3VudCk7CisJCQkJCX0KKwkJCQkJLyogTm90aGluZyB0byBkbyBpZiAoY291bnQgPT0gMSkgKi8KKwkJCQl9CisJCQkJYnJlYWs7CisJCQljYXNlICdkJzoKKwkJCQkvKiBIYWxmIHNjcmVlbiBmb3J3YXJkLiAqLworCQkJY2FzZSAnXDAwNCc6CS8qIF5EICovCisJCQkJaWYgKCpjbWQuY21kbGluZSAhPSBjbWQua2V5KQorCQkJCQllb2YgPSAwOworCQkJCWlmIChjbWQuY291bnQgPT0gMCkKKwkJCQkJY21kLmNvdW50ID0gMTsJLyogY29tcGF0ICovCisJCQkJbGluZSArPSAoY21kLmNvdW50ICogcGFnZWxlbiAvIDIpCisJCQkJICAgIC0gcGFnZWxlbiAtIDE7CisJCQkJZGxpbmUgPSAtMTsKKwkJCQlza2lwKGNtZC5jb3VudCk7CisJCQkJYnJlYWs7CisJCQljYXNlICdmJzoKKwkJCQkvKiBTa2lwIGZvcndhcmQuICovCisJCQkJaWYgKGNtZC5jb3VudCA8PSAwKQorCQkJCQljbWQuY291bnQgPSAxOwkvKiBjb21wYXQgKi8KKwkJCQlsaW5lICs9IGNtZC5jb3VudCAqIHBhZ2VsZW4gLSAyOworCQkJCWlmIChlb2YpCisJCQkJCWxpbmUgKz0gMjsKKwkJCQlpZiAoKmNtZC5jbWRsaW5lICE9ICdmJykKKwkJCQkJZW9mID0gMDsKKwkJCQllbHNlIGlmIChlb2YpCisJCQkJCWJyZWFrOworCQkJCWlmIChlb2ZsaW5lICYmIGxpbmUgPj0gZW9mbGluZSkKKwkJCQkJbGluZSAtPSBwYWdlbGVuOworCQkJCWRsaW5lID0gLTE7CisJCQkJc2tpcChjbWQuY291bnQpOworCQkJCWJyZWFrOworCQkJY2FzZSAnXDAnOgorCQkJCS8qIEp1c3QgYSBudW1iZXIsIG9yICctJywgb3IgPG5ld2xpbmU+LiAqLworCQkJCWlmIChjbWQuY291bnQgPT0gMCkKKwkJCQkJY21kLmNvdW50ID0gMTsJLyogY29tcGF0ICovCisJCQkJaWYgKGlzZGlnaXQoY3VjKCpjbWQuY21kbGluZSkpKQorCQkJCQlsaW5lID0gKGNtZC5jb3VudCAtIDEpICogcGFnZWxlbiAtIDI7CisJCQkJZWxzZQorCQkJCQlsaW5lICs9IChjbWQuY291bnQgLSAxKQorCQkJCQkgICAgKiAocGFnZWxlbiAtIDEpIC0gMjsKKwkJCQlpZiAoKmNtZC5jbWRsaW5lICE9ICdcMCcpCisJCQkJCWVvZiA9IDA7CisJCQkJaWYgKGNtZC5jb3VudCAhPSAxKSB7CisJCQkJCXNraXAoY21kLmNvdW50KTsKKwkJCQkJZGxpbmUgPSAtMTsKKwkJCQl9IGVsc2UgeworCQkJCQlkbGluZSA9IDE7CisJCQkJCWxpbmUgKz0gMjsKKwkJCQl9CisJCQkJYnJlYWs7CisJCQljYXNlICckJzoKKwkJCQkvKiBBZHZhbmNlIHRvIEVPRi4gKi8KKwkJCQlpZiAoIWVvZikKKwkJCQkJc2tpcCgxKTsKKwkJCQllb2YgPSAwOworCQkJCWxpbmUgPSBMT05HX01BWDsKKwkJCQlzZWVrZW9mID0gMTsKKwkJCQlkbGluZSA9IC0xOworCQkJCWJyZWFrOworCQkJY2FzZSAnLic6CisJCQljYXNlICdcMDE0JzoJLyogXkwgKi8KKwkJCQkvKiBSZXBhaW50IHNjcmVlbi4gKi8KKwkJCQllb2YgPSAwOworCQkJCWlmIChsaW5lID49IHBhZ2VsZW4pCisJCQkJCWxpbmUgLT0gcGFnZWxlbjsKKwkJCQllbHNlCisJCQkJCWxpbmUgPSAwOworCQkJCWRsaW5lID0gMDsKKwkJCQlicmVhazsKKwkJCWNhc2UgJyEnOgorCQkJCS8qIFNoZWxsIGVzY2FwZS4gKi8KKwkJCQlpZiAocmZsYWcpIHsKKwkJCQkJbWVzZyhwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisJCQkJCW1lc2coXygiOiAhY29tbWFuZCBub3QgYWxsb3dlZCBpbiAiCisJCQkJCSAgICAgICAicmZsYWcgbW9kZS5cbiIpKTsKKwkJCQl9IGVsc2UgeworCQkJCQlwaWRfdCBjcGlkOworCisJCQkJCXdyaXRlX2FsbChTVERPVVRfRklMRU5PLCBjbWQuY21kbGluZSwKKwkJCQkJCSAgc3RybGVuKGNtZC5jbWRsaW5lKSk7CisJCQkJCXdyaXRlX2FsbChTVERPVVRfRklMRU5PLCAiXG4iLCAxKTsKKwkJCQkJbXlfc2lnc2V0KFNJR0lOVCwgU0lHX0lHTik7CisJCQkJCW15X3NpZ3NldChTSUdRVUlULCBTSUdfSUdOKTsKKwkJCQkJc3dpdGNoIChjcGlkID0gZm9yaygpKSB7CisJCQkJCWNhc2UgMDoKKwkJCQkJeworCQkJCQkJY29uc3QgY2hhciAqc2ggPSBnZXRlbnYoIlNIRUxMIik7CisJCQkJCQlpZiAoIXNoKQorCQkJCQkJCXNoID0gIi9iaW4vc2giOworCQkJCQkJaWYgKCFub2J1ZikKKwkJCQkJCQlmY2xvc2UoZmJ1Zik7CisJCQkJCQlmY2xvc2UoZmluZCk7CisJCQkJCQlpZiAoaXNhdHR5KDApID09IDApIHsKKwkJCQkJCQljbG9zZSgwKTsKKwkJCQkJCQlvcGVuKHR0eSwgT19SRE9OTFkpOworCQkJCQkJfSBlbHNlIHsKKwkJCQkJCQlmY2xvc2UoZik7CisJCQkJCQl9CisJCQkJCQlteV9zaWdzZXQoU0lHSU5ULCBvbGRpbnQpOworCQkJCQkJbXlfc2lnc2V0KFNJR1FVSVQsIG9sZHF1aXQpOworCQkJCQkJbXlfc2lnc2V0KFNJR1RFUk0sIG9sZHRlcm0pOworCQkJCQkJZXhlY2woc2gsIHNoLCAiLWMiLAorCQkJCQkJICAgICAgY21kLmNtZGxpbmUgKyAxLCBOVUxMKTsKKwkJCQkJCXdhcm4oXygiZmFpbGVkIHRvIGV4ZWN1dGUgJXMiKSwgc2gpOworCQkJCQkJX2V4aXQoMDE3Nyk7CisJCQkJCQkvKiBOT1RSRUFDSEVEICovCisJCQkJCX0KKwkJCQkJY2FzZSAtMToKKwkJCQkJCW1lc2coXygiZm9yaygpIGZhaWxlZCwgIgorCQkJCQkJICAgICAgICJ0cnkgYWdhaW4gbGF0ZXJcbiIpKTsKKwkJCQkJCWJyZWFrOworCQkJCQlkZWZhdWx0OgorCQkJCQkJd2hpbGUgKHdhaXQoTlVMTCkgIT0gY3BpZCkgOworCQkJCQl9CisJCQkJCW15X3NpZ3NldChTSUdJTlQsIHNpZ2hhbmRsZXIpOworCQkJCQlteV9zaWdzZXQoU0lHUVVJVCwgc2lnaGFuZGxlcik7CisJCQkJCW1lc2coIiFcbiIpOworCQkJCX0KKwkJCQlnb3RvIG5ld2NtZDsKKwkJCWNhc2UgJ2gnOgorCQkJCXsKKwkJCQkJLyogSGVscCEgKi8KKwkJCQkJY29uc3QgY2hhciAqaGVscCA9IF8oaGVscHNjcmVlbik7CisJCQkJCXdyaXRlX2FsbChTVERPVVRfRklMRU5PLCBjb3B5cmlnaHQsCisJCQkJCQkgIHN0cmxlbihjb3B5cmlnaHQpKTsKKwkJCQkJd3JpdGVfYWxsKFNURE9VVF9GSUxFTk8sIGhlbHAsCisJCQkJCQkgIHN0cmxlbihoZWxwKSk7CisJCQkJCWdvdG8gbmV3Y21kOworCQkJCX0KKwkJCWNhc2UgJ24nOgorCQkJCS8qIE5leHQgZmlsZS4gKi8KKwkJCQlpZiAoY21kLmNvdW50ID09IDApCisJCQkJCWNtZC5jb3VudCA9IDE7CisJCQkJbmV4dGZpbGUgPSBjbWQuY291bnQ7CisJCQkJaWYgKGNoZWNrZigpKSB7CisJCQkJCW5leHRmaWxlID0gMTsKKwkJCQkJZ290byBuZXdjbWQ7CisJCQkJfQorCQkJCWVvZiA9IDE7CisJCQkJYnJlYWs7CisJCQljYXNlICdwJzoKKwkJCQkvKiBQcmV2aW91cyBmaWxlLiAqLworCQkJCWlmIChjbWQuY291bnQgPT0gMCkKKwkJCQkJY21kLmNvdW50ID0gMTsKKwkJCQluZXh0ZmlsZSA9IDAgLSBjbWQuY291bnQ7CisJCQkJaWYgKGNoZWNrZigpKSB7CisJCQkJCW5leHRmaWxlID0gMTsKKwkJCQkJZ290byBuZXdjbWQ7CisJCQkJfQorCQkJCWVvZiA9IDE7CisJCQkJYnJlYWs7CisJCQljYXNlICdxJzoKKwkJCWNhc2UgJ1EnOgorCQkJCS8qIEV4aXQgcGcuICovCisJCQkJcXVpdChleGl0c3RhdHVzKTsKKwkJCQkvKiBOT1RSRUFDSEVEICovCisJCQljYXNlICd3JzoKKwkJCWNhc2UgJ3onOgorCQkJCS8qIFNldCB3aW5kb3cgc2l6ZS4gKi8KKwkJCQlpZiAoY21kLmNvdW50IDwgMCkKKwkJCQkJY21kLmNvdW50ID0gMDsKKwkJCQlpZiAoKmNtZC5jbWRsaW5lICE9IGNtZC5rZXkpCisJCQkJCXBhZ2VsZW4gPSArK2NtZC5jb3VudDsKKwkJCQlkbGluZSA9IDE7CisJCQkJYnJlYWs7CisJCQl9CisJCQlpZiAobGluZSA8PSAwKSB7CisJCQkJbGluZSA9IDA7CisJCQkJZGxpbmUgPSAwOworCQkJfQorCQkJaWYgKGNmbGFnICYmIGRsaW5lID09IDEpIHsKKwkJCQlkbGluZSA9IDA7CisJCQkJbGluZS0tOworCQkJfQorCQl9CisJCWlmIChlb2YpCisJCQlicmVhazsKKwl9CisJZmNsb3NlKGZpbmQpOworCWlmICghbm9idWYpCisJCWZjbG9zZShmYnVmKTsKK30KKworc3RhdGljIGludCBwYXJzZV9hcmd1bWVudHMoaW50IGFyZywgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCUZJTEUgKmlucHV0OworCisJZmlsZXMuZmlyc3QgPSBhcmc7CisJZmlsZXMubGFzdCA9IGFyZyArIGFyZ2MgLSAxOworCWZvciAoOyBhcmd2W2FyZ107IGFyZyArPSBuZXh0ZmlsZSkgeworCQluZXh0ZmlsZSA9IDE7CisJCWZpbGVzLmN1cnJlbnQgPSBhcmc7CisJCWlmIChhcmdjID4gMikgeworCQkJc3RhdGljIGludCBmaXJzdHRpbWU7CisJCQlmaXJzdHRpbWUrKzsKKwkJCWlmIChmaXJzdHRpbWUgPiAxKSB7CisJCQkJbWVzZyhfKCIoTmV4dCBmaWxlOiAiKSk7CisJCQkJbWVzZyhhcmd2W2FyZ10pOworCQkJCW1lc2coIikiKTsKKyBuZXdmaWxlOgorCQkJCWlmIChvbnR0eSkgeworCQkJCQlwcm9tcHQoLTEpOworCQkJCQlzd2l0Y2ggKGNtZC5rZXkpIHsKKwkJCQkJY2FzZSAnbic6CisJCQkJCQkvKiBOZXh0IGZpbGUuICovCisJCQkJCQlpZiAoY21kLmNvdW50ID09IDApCisJCQkJCQkJY21kLmNvdW50ID0gMTsKKwkJCQkJCW5leHRmaWxlID0gY21kLmNvdW50OworCQkJCQkJaWYgKGNoZWNrZigpKSB7CisJCQkJCQkJbmV4dGZpbGUgPSAxOworCQkJCQkJCW1lc2coIjoiKTsKKwkJCQkJCQlnb3RvIG5ld2ZpbGU7CisJCQkJCQl9CisJCQkJCQljb250aW51ZTsKKwkJCQkJY2FzZSAncCc6CisJCQkJCQkvKiBQcmV2aW91cyBmaWxlLiAqLworCQkJCQkJaWYgKGNtZC5jb3VudCA9PSAwKQorCQkJCQkJCWNtZC5jb3VudCA9IDE7CisJCQkJCQluZXh0ZmlsZSA9IDAgLSBjbWQuY291bnQ7CisJCQkJCQlpZiAoY2hlY2tmKCkpIHsKKwkJCQkJCQluZXh0ZmlsZSA9IDE7CisJCQkJCQkJbWVzZygiOiIpOworCQkJCQkJCWdvdG8gbmV3ZmlsZTsKKwkJCQkJCX0KKwkJCQkJCWNvbnRpbnVlOworCQkJCQljYXNlICdxJzoKKwkJCQkJY2FzZSAnUSc6CisJCQkJCQlxdWl0KGV4aXRzdGF0dXMpOworCQkJCQl9CisJCQkJfSBlbHNlCisJCQkJCW1lc2coIlxuIik7CisJCQl9CisJCX0KKwkJaWYgKHN0cmNtcChhcmd2W2FyZ10sICItIikgPT0gMCkKKwkJCWlucHV0ID0gc3RkaW47CisJCWVsc2UgeworCQkJaW5wdXQgPSBmb3Blbihhcmd2W2FyZ10sICJyIik7CisJCQlpZiAoaW5wdXQgPT0gTlVMTCkgeworCQkJCXdhcm4oIiVzIiwgYXJndlthcmddKTsKKwkJCQlleGl0c3RhdHVzKys7CisJCQkJY29udGludWU7CisJCQl9CisJCX0KKwkJaWYgKG9udHR5ID09IDAgJiYgYXJnYyA+IDIpIHsKKwkJCS8qIFVzZSB0aGUgcHJlZml4IGFzIHNwZWNpZmllZCBieSBTVVN2Mi4gKi8KKwkJCXdyaXRlX2FsbChTVERPVVRfRklMRU5PLCAiOjo6Ojo6Ojo6Ojo6OjpcbiIsIDE1KTsKKwkJCXdyaXRlX2FsbChTVERPVVRfRklMRU5PLCBhcmd2W2FyZ10sIHN0cmxlbihhcmd2W2FyZ10pKTsKKwkJCXdyaXRlX2FsbChTVERPVVRfRklMRU5PLCAiXG46Ojo6Ojo6Ojo6Ojo6OlxuIiwgMTYpOworCQl9CisJCXBnZmlsZShpbnB1dCwgYXJndlthcmddKTsKKwkJaWYgKGlucHV0ICE9IHN0ZGluKQorCQkJZmNsb3NlKGlucHV0KTsKKwl9CisJcmV0dXJuIGV4aXRzdGF0dXM7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlpbnQgYXJnLCBpOworCWNoYXIgKnA7CisKKwl4YXNwcmludGYoJmNvcHlyaWdodCwKKwkJICBfKCIlcyAlcyBDb3B5cmlnaHQgKGMpIDIwMDAtMjAwMSBHdW5uYXIgUml0dGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuIiksCisJCSAgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUsIFBBQ0tBR0VfVkVSU0lPTik7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJaWYgKHRjZ2V0YXR0cihTVERPVVRfRklMRU5PLCAmb3RpbykgPT0gMCkgeworCQlvbnR0eSA9IDE7CisJCW9sZGludCA9IG15X3NpZ3NldChTSUdJTlQsIHNpZ2hhbmRsZXIpOworCQlvbGRxdWl0ID0gbXlfc2lnc2V0KFNJR1FVSVQsIHNpZ2hhbmRsZXIpOworCQlvbGR0ZXJtID0gbXlfc2lnc2V0KFNJR1RFUk0sIHNpZ2hhbmRsZXIpOworCQlzZXRsb2NhbGUoTENfQ1RZUEUsICIiKTsKKwkJc2V0bG9jYWxlKExDX0NPTExBVEUsICIiKTsKKwkJdHR5ID0gdHR5bmFtZShTVERPVVRfRklMRU5PKTsKKwkJc2V0dXB0ZXJtKE5VTEwsIFNURE9VVF9GSUxFTk8sICZ0aW5mb3N0YXQpOworCQlnZXR3aW5zaXplKCk7CisJCWhlbHBzY3JlZW4gPSBfKGhlbHBzY3JlZW4pOworCX0KKwlmb3IgKGFyZyA9IDE7IGFyZ3ZbYXJnXTsgYXJnKyspIHsKKwkJaWYgKCphcmd2W2FyZ10gPT0gJysnKQorCQkJY29udGludWU7CisJCWlmICgqYXJndlthcmddICE9ICctJyB8fCBhcmd2W2FyZ11bMV0gPT0gJ1wwJykKKwkJCWJyZWFrOworCQlhcmdjLS07CisKKwkJaWYgKCFzdHJjbXAoYXJndlthcmddLCAiLS1oZWxwIikpIHsKKwkJICAgIHVzYWdlKHN0ZG91dCk7CisJCX0KKworCQlpZiAoIXN0cmNtcChhcmd2W2FyZ10sICItLXZlcnNpb24iKSkgeworCQkgICAgcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCSAgICByZXR1cm4gRVhJVF9TVUNDRVNTOworCQl9CisKKwkJZm9yIChpID0gMTsgYXJndlthcmddW2ldOyBpKyspIHsKKwkJCXN3aXRjaCAoYXJndlthcmddW2ldKSB7CisJCQljYXNlICctJzoKKwkJCQlpZiAoaSAhPSAxIHx8IGFyZ3ZbYXJnXVtpICsgMV0pCisJCQkJCWludm9wdCgmYXJndlthcmddW2ldKTsKKwkJCQlnb3RvIGVuZGFyZ3M7CisJCQljYXNlICcxJzoKKwkJCWNhc2UgJzInOgorCQkJY2FzZSAnMyc6CisJCQljYXNlICc0JzoKKwkJCWNhc2UgJzUnOgorCQkJY2FzZSAnNic6CisJCQljYXNlICc3JzoKKwkJCWNhc2UgJzgnOgorCQkJY2FzZSAnOSc6CisJCQljYXNlICcwJzoKKwkJCQlwYWdlbGVuID0gc3RydG9sX29yX2Vycihhcmd2W2FyZ10gKyAxLAorCQkJCQkJXygiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyBwZXIgcGFnZSIpKTsKKwkJCQloYXZlcGFnZWxlbiA9IDE7CisJCQkJZ290byBuZXh0YXJnOworCQkJY2FzZSAnYyc6CisJCQkJY2ZsYWcgPSAxOworCQkJCWJyZWFrOworCQkJY2FzZSAnZSc6CisJCQkJZWZsYWcgPSAxOworCQkJCWJyZWFrOworCQkJY2FzZSAnZic6CisJCQkJZmZsYWcgPSAxOworCQkJCWJyZWFrOworCQkJY2FzZSAnbic6CisJCQkJbmZsYWcgPSAxOworCQkJCWJyZWFrOworCQkJY2FzZSAncCc6CisJCQkJaWYgKGFyZ3ZbYXJnXVtpICsgMV0pIHsKKwkJCQkJcHN0cmluZyA9ICZhcmd2W2FyZ11baSArIDFdOworCQkJCX0gZWxzZSBpZiAoYXJndlsrK2FyZ10pIHsKKwkJCQkJLS1hcmdjOworCQkJCQlwc3RyaW5nID0gYXJndlthcmddOworCQkJCX0gZWxzZQorCQkJCQluZWVkYXJnKCItcCIpOworCQkJCWdvdG8gbmV4dGFyZzsKKwkJCWNhc2UgJ3InOgorCQkJCXJmbGFnID0gMTsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ3MnOgorCQkJCXNmbGFnID0gMTsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ2gnOgorCQkJCXVzYWdlKHN0ZG91dCk7CisJCQljYXNlICdWJzoKKwkJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQkJZGVmYXVsdDoKKwkJCQlpbnZvcHQoJmFyZ3ZbYXJnXVtpXSk7CisJCQl9CisJCX0KKyBuZXh0YXJnOgorCQk7CisJfQorIGVuZGFyZ3M6CisJZm9yIChhcmcgPSAxOyBhcmd2W2FyZ107IGFyZysrKSB7CisJCWlmICgqYXJndlthcmddID09ICctJykgeworCQkJaWYgKGFyZ3ZbYXJnXVsxXSA9PSAnLScpIHsKKwkJCQlhcmcrKzsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWlmIChhcmd2W2FyZ11bMV0gPT0gJ1wwJykKKwkJCQlicmVhazsKKwkJCWlmIChhcmd2W2FyZ11bMV0gPT0gJ3AnICYmIGFyZ3ZbYXJnXVsyXSA9PSAnXDAnKQorCQkJCWFyZysrOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKCphcmd2W2FyZ10gIT0gJysnKQorCQkJYnJlYWs7CisJCWFyZ2MtLTsKKwkJc3dpdGNoICgqKGFyZ3ZbYXJnXSArIDEpKSB7CisJCWNhc2UgJ1wwJzoKKwkJCW5lZWRhcmcoIisiKTsKKwkJCS8qTk9UUkVBQ0hFRCovCisJCWNhc2UgJzEnOgorCQljYXNlICcyJzoKKwkJY2FzZSAnMyc6CisJCWNhc2UgJzQnOgorCQljYXNlICc1JzoKKwkJY2FzZSAnNic6CisJCWNhc2UgJzcnOgorCQljYXNlICc4JzoKKwkJY2FzZSAnOSc6CisJCWNhc2UgJzAnOgorCQkJc3RhcnRsaW5lID0gc3RydG9sX29yX2Vycihhcmd2W2FyZ10gKyAxLAorCQkJCQlfKCJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGxpbmVzIHBlciBwYWdlIikpOworCQkJYnJlYWs7CisJCWNhc2UgJy8nOgorCQkJc2VhcmNoZm9yID0gYXJndlthcmddICsgMjsKKwkJCWlmICgqc2VhcmNoZm9yID09ICdcMCcpCisJCQkJbmVlZGFyZygiKy8iKTsKKwkJCXAgPSBzZWFyY2hmb3IgKyBzdHJsZW4oc2VhcmNoZm9yKSAtIDE7CisJCQlpZiAoKnAgPT0gJy8nKQorCQkJCSpwID0gJ1wwJzsKKwkJCWlmICgqc2VhcmNoZm9yID09ICdcMCcpCisJCQkJbmVlZGFyZygiKy8iKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJaW52b3B0KGFyZ3ZbYXJnXSk7CisJCX0KKwl9CisJaWYgKGFyZ2MgPT0gMSkKKwkJcGdmaWxlKHN0ZGluLCAic3RkaW4iKTsKKwllbHNlCisJCWV4aXRzdGF0dXMgPSBwYXJzZV9hcmd1bWVudHMoYXJnLCBhcmdjLCBhcmd2KTsKKworCXF1aXQoZXhpdHN0YXR1cyk7CisJLyogTk9UUkVBQ0hFRCAqLworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvdGV4dC11dGlscy9yZXYuMSBiL3RleHQtdXRpbHMvcmV2LjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDFlYWVkNQotLS0gL2Rldi9udWxsCisrKyBiL3RleHQtdXRpbHMvcmV2LjEKQEAgLTAsMCArMSw1OSBAQAorLlwiIENvcHlyaWdodCAoYykgMTk4NSwgMTk5MiBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLgorLlwiIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisuXCIKKy5cIiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy5cIiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy5cIiBhcmUgbWV0OgorLlwiIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLlwiIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLlwiICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisuXCIgMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisuXCIgICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorLlwiCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKy5cIglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKy5cIiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworLlwiICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorLlwiICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLlwiCisuXCIgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKy5cIiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKy5cIiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorLlwiIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLlwiIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisuXCIgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKy5cIiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKy5cIiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorLlwiIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKy5cIiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisuXCIgU1VDSCBEQU1BR0UuCisuXCIKKy5cIglAKCMpcmV2LjEJNi4zIChCZXJrZWxleSkgMy8yMS85MgorLlwiCisuVEggUkVWICIxIiAiU2VwdGVtYmVyIDIwMTEiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCityZXYgXC0gcmV2ZXJzZSBsaW5lcyBjaGFyYWN0ZXJ3aXNlCisuU0ggU1lOT1BTSVMKKy5CIHJldgorW29wdGlvbl0KKy5SSSBbIGZpbGUgLi4uXQorLlNIIERFU0NSSVBUSU9OCitUaGUKKy5CIHJldgordXRpbGl0eSBjb3BpZXMgdGhlIHNwZWNpZmllZCBmaWxlcyB0byBzdGFuZGFyZCBvdXRwdXQsIHJldmVyc2luZyB0aGUgb3JkZXIgb2YKK2NoYXJhY3RlcnMgaW4gZXZlcnkgbGluZS4gIElmIG5vIGZpbGVzIGFyZSBzcGVjaWZpZWQsIHN0YW5kYXJkIGlucHV0IGlzIHJlYWQuCisuU0ggT1BUSU9OUworLlRQCitcZkJcLVZcZlIsIFxmQlwtXC12ZXJzaW9uXGZSCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKK1xmQlwtaFxmUiwgXGZCXC1cLWhlbHBcZlIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIIFNFRSBBTFNPCisuQlIgdGFjICgxKQorLlNIIEFWQUlMQUJJTElUWQorVGhlIHJldiBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBmdHA6Ly9cOmZ0cC5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL3RleHQtdXRpbHMvcmV2LmMgYi90ZXh0LXV0aWxzL3Jldi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczNWFhZWYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXh0LXV0aWxzL3Jldi5jCkBAIC0wLDAgKzEsMTg0IEBACisvKi0KKyAqIENvcHlyaWdodCAoYykgMTk4NywgMTk5MiBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorICogICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorICoJVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgVW5pdmVyc2l0eSBvZgorICoJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisgKiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICoKKyAqIE1vZGlmaWVkIGZvciBMaW51eCBieSBDaGFybGVzIEhhbm51bSAobXljcm9mdEBnbnUuYWkubWl0LmVkdSkKKyAqICAgICAgICAgICAgICAgICAgIGFuZCBCcmlhbiBLb2VobXN0ZWR0IChicGtAZ251LmFpLm1pdC5lZHUpCisgKgorICogV2VkIFNlcCAxNCAyMjoyNjowMCAxOTk0OiBQYXRjaCBmcm9tIGJqZG91bWEgPGJqZG91bWFAeHM0YWxsLm5sPiB0byBoYW5kbGUKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdCBsaW5lIHRoYXQgaGFzIG5vIG5ld2xpbmUgY29ycmVjdGx5LgorICogMy1KdW4tMTk5ODogUGF0Y2hlZCBieSBOaWNvbGFpIExhbmdmZWxkdCB0byB3b3JrIGJldHRlciBvbiBMaW51eDoKKyAqCUhhbmRsZSBhbnktbGVuZ3RoLWxpbmVzLiAgQ29kZSBjb3BpZWQgZnJvbSB1dGlsLWxpbnV4JyBzZXRwd25hbS5jCisgKiAxOTk5LTAyLTIyIEFya2FkaXVzeiBNacWba2lld2ljeiA8bWlzaWVrQHBsZC5PUkcuUEw+CisgKglhZGRlZCBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAorICogMTk5OS0wOS0xOSBCcnVubyBIYWlibGUgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KKyAqCW1vZGlmaWVkIHRvIHdvcmsgY29ycmVjdGx5IGluIG11bHRpLWJ5dGUgbG9jYWxlcworICogSnVseSAyMDEwIC0gRGF2aWRsb2hyIEJ1ZXNvIDxkYXZlQGdudS5vcmc+CisgKiAgICAgIEZpeGVkIG1lbW9yeSBsZWFrcyAoaW5jbHVkaW5nIExpbnV4IHNpZ25hbCBoYW5kbGluZykKKyAqICAgICAgQWRkZWQgc29tZSBtZW1vcnkgYWxsb2NhdGlvbiBlcnJvciBoYW5kbGluZworICogICAgICBMb3dlcmVkIHRoZSBkZWZhdWx0IGJ1ZmZlciBzaXplIHRvIDI1NiwgaW5zdGVhZCBvZiA1MTIgYnl0ZXMKKyAqICAgICAgQ2hhbmdlZCB0YWIgaW5kZW50YXRpb24gdG8gOCBjaGFycyBmb3IgYmV0dGVyIHJlYWRpbmcgdGhlIGNvZGUKKyAqLworCisjaW5jbHVkZSA8c3RkYXJnLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAid2lkZWNoYXIuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKword2NoYXJfdCAqYnVmOworCitzdGF0aWMgdm9pZCBzaWdfaGFuZGxlcihpbnQgc2lnbm8gX19hdHRyaWJ1dGVfXyAoKF9fdW51c2VkX18pKSkKK3sKKwlfZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqIG91dCkKK3sKKwlmcHJpbnRmKG91dCwgXygiVXNhZ2U6ICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iKSwKKwkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlJldmVyc2UgbGluZXMgY2hhcmFjdGVyd2lzZS5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhVU0FHRV9IRUxQLCBvdXQpOworCWZwdXRzKFVTQUdFX1ZFUlNJT04sIG91dCk7CisJZnByaW50ZihvdXQsIFVTQUdFX01BTl9UQUlMKCJyZXYoMSkiKSk7CisKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgdm9pZCByZXZlcnNlX3N0cih3Y2hhcl90ICpzdHIsIHNpemVfdCBuKQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IG4gLyAyOyArK2kpIHsKKwkJd2NoYXJfdCB0bXAgPSBzdHJbaV07CisJCXN0cltpXSA9IHN0cltuIC0gMSAtIGldOworCQlzdHJbbiAtIDEgLSBpXSA9IHRtcDsKKwl9Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY2hhciAqZmlsZW5hbWUgPSAic3RkaW4iOworCXNpemVfdCBsZW4sIGJ1ZnNpeiA9IEJVRlNJWjsKKwlGSUxFICpmcCA9IHN0ZGluOworCWludCBjaCwgcnZhbCA9IEVYSVRfU1VDQ0VTUzsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsgInZlcnNpb24iLCAgICBub19hcmd1bWVudCwgICAgICAgMCwgJ1YnIH0sCisJCXsgImhlbHAiLCAgICAgICBub19hcmd1bWVudCwgICAgICAgMCwgJ2gnIH0sCisJCXsgTlVMTCwgICAgICAgICAwLCAwLCAwIH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXNpZ25hbChTSUdJTlQsIHNpZ19oYW5kbGVyKTsKKwlzaWduYWwoU0lHVEVSTSwgc2lnX2hhbmRsZXIpOworCisJd2hpbGUgKChjaCA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJWaCIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpCisJCXN3aXRjaChjaCkgeworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJZXhpdChFWElUX1NVQ0NFU1MpOworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQl9CisKKwlhcmdjIC09IG9wdGluZDsKKwlhcmd2ICs9IG9wdGluZDsKKworCWJ1ZiA9IHhtYWxsb2MoYnVmc2l6ICogc2l6ZW9mKHdjaGFyX3QpKTsKKworCWRvIHsKKwkJaWYgKCphcmd2KSB7CisJCQlpZiAoKGZwID0gZm9wZW4oKmFyZ3YsICJyIikpID09IE5VTEwpIHsKKwkJCQl3YXJuKF8oImNhbm5vdCBvcGVuICVzIiksICphcmd2ICk7CisJCQkJcnZhbCA9IEVYSVRfRkFJTFVSRTsKKwkJCQkrK2FyZ3Y7CisJCQkJY29udGludWU7CisJCQl9CisJCQlmaWxlbmFtZSA9ICphcmd2Kys7CisJCX0KKworCQl3aGlsZSAoZmdldHdzKGJ1ZiwgYnVmc2l6LCBmcCkpIHsKKwkJCWxlbiA9IHdjc2xlbihidWYpOworCisJCQlpZiAobGVuID09IDApCisJCQkJY29udGludWU7CisKKwkJCS8qIFRoaXMgaXMgbXkgaGFjayBmcm9tIHNldHB3bmFtLmMgLWphbmwgKi8KKwkJCXdoaWxlIChidWZbbGVuLTFdICE9ICdcbicgJiYgIWZlb2YoZnApKSB7CisJCQkJLyogRXh0ZW5kIGlucHV0IGJ1ZmZlciBpZiBpdCBmYWlsZWQgZ2V0dGluZyB0aGUgd2hvbGUgbGluZSAqLworCQkJCS8qIFNvIG5vdyB3ZSBkb3VibGUgdGhlIGJ1ZmZlciBzaXplICovCisJCQkJYnVmc2l6ICo9IDI7CisKKwkJCQlidWYgPSB4cmVhbGxvYyhidWYsIGJ1ZnNpeiAqIHNpemVvZih3Y2hhcl90KSk7CisKKwkJCQkvKiBBbmQgZmlsbCB0aGUgcmVzdCBvZiB0aGUgYnVmZmVyICovCisJCQkJaWYgKCFmZ2V0d3MoJmJ1ZltsZW5dLCBidWZzaXovMiwgZnApKQorCQkJCQlicmVhazsKKworCQkJCWxlbiA9IHdjc2xlbihidWYpOworCQkJfQorCQkJaWYgKGJ1ZltsZW4gLSAxXSA9PSAnXG4nKQorCQkJCWJ1ZltsZW4tLV0gPSAnXDAnOworCQkJcmV2ZXJzZV9zdHIoYnVmLCBsZW4pOworCQkJZnB1dHdzKGJ1Ziwgc3Rkb3V0KTsKKwkJfQorCQlpZiAoZmVycm9yKGZwKSkgeworCQkJd2FybigiJXMiLCBmaWxlbmFtZSk7CisJCQlydmFsID0gRVhJVF9GQUlMVVJFOworCQl9CisJCWZjbG9zZShmcCk7CisJfSB3aGlsZSgqYXJndik7CisKKwlmcmVlKGJ1Zik7CisJcmV0dXJuIHJ2YWw7Cit9CisKZGlmZiAtLWdpdCBhL3RleHQtdXRpbHMvdGFpbGYuMSBiL3RleHQtdXRpbHMvdGFpbGYuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44M2RlNDBiCi0tLSAvZGV2L251bGwKKysrIGIvdGV4dC11dGlscy90YWlsZi4xCkBAIC0wLDAgKzEsNzMgQEAKKy5cIiB0YWlsZi4xIC0tIG1hbiBwYWdlIGZvciB0YWlsZgorLlwiIENvcHlyaWdodCAxOTk2LCAyMDAzIFJpY2thcmQgRS4gRmFpdGggKGZhaXRoQGFjbS5vcmcpCisuXCIKKy5cIiBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gbWFrZSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMgb2YgdGhpcworLlwiIG1hbnVhbCBwcm92aWRlZCB0aGUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcmUKKy5cIiBwcmVzZXJ2ZWQgb24gYWxsIGNvcGllcy4KKy5cIgorLlwiIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIG1vZGlmaWVkIHZlcnNpb25zIG9mIHRoaXMKKy5cIiBtYW51YWwgdW5kZXIgdGhlIGNvbmRpdGlvbnMgZm9yIHZlcmJhdGltIGNvcHlpbmcsIHByb3ZpZGVkIHRoYXQgdGhlCisuXCIgZW50aXJlIHJlc3VsdGluZyBkZXJpdmVkIHdvcmsgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIGEKKy5cIiBwZXJtaXNzaW9uIG5vdGljZSBpZGVudGljYWwgdG8gdGhpcyBvbmUuCisuXCIKKy5cIiBTaW5jZSB0aGUgTGludXgga2VybmVsIGFuZCBsaWJyYXJpZXMgYXJlIGNvbnN0YW50bHkgY2hhbmdpbmcsIHRoaXMKKy5cIiBtYW51YWwgcGFnZSBtYXkgYmUgaW5jb3JyZWN0IG9yIG91dC1vZi1kYXRlLiAgVGhlIGF1dGhvcihzKSBhc3N1bWUgbm8KKy5cIiByZXNwb25zaWJpbGl0eSBmb3IgZXJyb3JzIG9yIG9taXNzaW9ucywgb3IgZm9yIGRhbWFnZXMgcmVzdWx0aW5nIGZyb20KKy5cIiB0aGUgdXNlIG9mIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQgaGVyZWluLiAgVGhlIGF1dGhvcihzKSBtYXkgbm90CisuXCIgaGF2ZSB0YWtlbiB0aGUgc2FtZSBsZXZlbCBvZiBjYXJlIGluIHRoZSBwcm9kdWN0aW9uIG9mIHRoaXMgbWFudWFsLAorLlwiIHdoaWNoIGlzIGxpY2Vuc2VkIGZyZWUgb2YgY2hhcmdlLCBhcyB0aGV5IG1pZ2h0IHdoZW4gd29ya2luZworLlwiIHByb2Zlc3Npb25hbGx5LgorLlwiCisuXCIgRm9ybWF0dGVkIG9yIHByb2Nlc3NlZCB2ZXJzaW9ucyBvZiB0aGlzIG1hbnVhbCwgaWYgdW5hY2NvbXBhbmllZCBieQorLlwiIHRoZSBzb3VyY2UsIG11c3QgYWNrbm93bGVkZ2UgdGhlIGNvcHlyaWdodCBhbmQgYXV0aG9ycyBvZiB0aGlzIHdvcmsuCisuXCIKKy5USCBUQUlMRiAxICJNYXJjaCAyMDE1IiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQordGFpbGYgXC0gZm9sbG93IHRoZSBncm93dGggb2YgYSBsb2cgZmlsZQorLlNIIFNZTk9QU0lTCisuQiB0YWlsZgorW29wdGlvbl0KKy5JIGZpbGUKKy5TSCBERVNDUklQVElPTgorLkIgdGFpbGYgaXMgZGVwcmVjYXRlZC4KK0l0IG1heSBoYXZlIHVuZml4ZWQgYnVncyBhbmQgd2lsbCBiZSByZW1vdmVkIGZyb20gdXRpbC1saW51eCBpbiBNYXJjaCAyMDE3LgorTm93YWRheXMgaXQncyBzYWZlIHRvIHVzZQorLkIgdGFpbCAtZgorKGZyb20gY29yZXV0aWxzKSwgaW4gY29udHJhc3QgdG8gd2hhdCB0aGUgb3JpZ2luYWwgZG9jdW1lbnRhdGlvbiBiZWxvdyBzYXlzLgorLlBQCisuQiB0YWlsZgord2lsbCBwcmludCBvdXQgdGhlIGxhc3QgMTAgbGluZXMgb2YgdGhlIGdpdmVuIFxmSWZpbGVcZlIgYW5kIHRoZW4gd2FpdAorZm9yIHRoaXMgXGZJZmlsZVxmUiB0byBncm93LiAgSXQgaXMgc2ltaWxhciB0bworLkIgdGFpbCAtZgorYnV0IGRvZXMgbm90IGFjY2VzcyB0aGUgZmlsZSB3aGVuIGl0IGlzIG5vdCBncm93aW5nLiAgVGhpcyBoYXMgdGhlIHNpZGUKK2VmZmVjdCBvZiBub3QgdXBkYXRpbmcgdGhlIGFjY2VzcyB0aW1lIGZvciB0aGUgZmlsZSwgc28gYSBmaWxlc3lzdGVtIGZsdXNoCitkb2VzIG5vdCBvY2N1ciBwZXJpb2RpY2FsbHkgd2hlbiBubyBsb2cgYWN0aXZpdHkgaXMgaGFwcGVuaW5nLgorLlBQCisuQiB0YWlsZgoraXMgZXh0cmVtZWx5IHVzZWZ1bCBmb3IgbW9uaXRvcmluZyBsb2cgZmlsZXMgb24gYSBsYXB0b3Agd2hlbiBsb2dnaW5nIGlzCitpbmZyZXF1ZW50IGFuZCB0aGUgdXNlciB3aXNoZXMgdGhlIGhhcmQgZGlzayB0byBzcGluIGRvd24gdG8gY29uc2VydmUKK2JhdHRlcnkgbGlmZS4KKy5UUAorLkJSIFwtbiAsICIgLVwtbGluZXM9XGZJbnVtYmVyXGZSIiAsICIgXC1cZkludW1iZXJcZlIiCitPdXRwdXQgdGhlIGxhc3QKKy5JIG51bWJlcgorbGluZXMsIGluc3RlYWQgb2YgdGhlIGxhc3QgMTAuCisuVFAKK1xmQlwtVlxmUiwgXGZCXC1cLXZlcnNpb24KK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorXGZCXC1oXGZSLCBcZkJcLVwtaGVscAorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisKKy5TSCBBVVRIT1IKK1RoaXMgcHJvZ3JhbSB3YXMgb3JpZ2luYWxseSB3cml0dGVuIGJ5IFJpayBGYWl0aCAoZmFpdGhAYWNtLm9yZykgYW5kIG1heSBiZSBmcmVlbHkKK2Rpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgWDExL01JVCBMaWNlbnNlLiAgVGhlcmUgaXMgQUJTT0xVVEVMWQorTk8gV0FSUkFOVFkgZm9yIHRoaXMgcHJvZ3JhbS4KKworVGhlIGxhdGVzdCBpbm90aWZ5LWJhc2VkIGltcGxlbWVudGF0aW9uIHdhcyB3cml0dGVuIGJ5IEthcmVsIFphayAoa3pha0ByZWRoYXQuY29tKS4KKy5TSCAiU0VFIEFMU08iCisuQlIgbGVzcyAoMSksCisuQlIgdGFpbCAoMSkKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSB0YWlsZiBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2Z0cDovL2Z0cC5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL3RleHQtdXRpbHMvdGFpbGYuYyBiL3RleHQtdXRpbHMvdGFpbGYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMTExZDAyCi0tLSAvZGV2L251bGwKKysrIGIvdGV4dC11dGlscy90YWlsZi5jCkBAIC0wLDAgKzEsMjk1IEBACisvKiB0YWlsZi5jIC0tIHRhaWwgYSBsb2cgZmlsZSBhbmQgdGhlbiBmb2xsb3cgaXQKKyAqIENyZWF0ZWQ6IFR1ZSBKYW4gIDkgMTU6NDk6MjEgMTk5NiBieSBmYWl0aEBhY20ub3JnCisgKiBDb3B5cmlnaHQgMTk5NiwgMjAwMyBSaWNrYXJkIEUuIEZhaXRoIChmYWl0aEBhY20ub3JnKQorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyAqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMCisgKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUgorICogT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsCisgKiBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IKKyAqIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqLworCisvKgorICogVGhpcyBjb21tYW5kIGlzIGRlcHJlY2F0ZWQuICBUaGUgdXRpbGl0eSBpcyBpbiBtYWludGVuYW5jZSBtb2RlLAorICogbWVhbmluZyB3ZSBrZWVwIHRoZW0gaW4gc291cmNlIHRyZWUgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkKKyAqIG9ubHkuICBEbyBub3Qgd2FzdGUgdGltZSBtYWtpbmcgdGhpcyBjb21tYW5kIGJldHRlciwgdW5sZXNzIHRoZQorICogZml4IGlzIGFib3V0IHNlY3VyaXR5IG9yIG90aGVyIHZlcnkgY3JpdGljYWwgaXNzdWUuCisgKgorICogU2VlIERvY3VtZW50YXRpb24vZGVwcmVjYXRlZC50eHQgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisgKi8KKworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN5cy9tbWFuLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisKKyNpZmRlZiBIQVZFX0lOT1RJRllfSU5JVAorI2luY2x1ZGUgPHN5cy9pbm90aWZ5Lmg+CisjZW5kaWYKKworI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisKKyNkZWZpbmUgREVGQVVMVF9MSU5FUyAgMTAKKworLyogc3QtPnN0X3NpemUgaGFzIHRvIGJlIGdyZWF0ZXIgdGhhbiB6ZXJvIGFuZCBzbWFsbGVyIG9yIGVxdWFsIHRvIFNJWkVfTUFYISAqLworc3RhdGljIHZvaWQgdGFpbGYoY29uc3QgY2hhciAqZmlsZW5hbWUsIHNpemVfdCBsaW5lcywgc3RydWN0IHN0YXQgKnN0KQoreworCWludCBmZDsKKwlzaXplX3QgaTsKKwljaGFyICpkYXRhOworCisJZmQgPSBvcGVuKGZpbGVuYW1lLCBPX1JET05MWSk7CisJaWYgKGZkIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgZmlsZW5hbWUpOworCWRhdGEgPSBtbWFwKDAsIHN0LT5zdF9zaXplLCBQUk9UX1JFQUQsIE1BUF9TSEFSRUQsIGZkLCAwKTsKKwlpID0gKHNpemVfdCkgc3QtPnN0X3NpemUgLSAxOworCisJLyogaHVtYW5zIGRvIG5vdCB0aGluayBsYXN0IG5ldyBsaW5lIGluIGEgZmlsZSBzaG91bGQgYmUgY291bnRlZCwKKwkgKiBpbiB0aGF0IGNhc2UgZG8gb2ZmIGJ5IG9uZSBmcm9tIGNvdW50ZXIgcG9pbnQgb2YgdmlldyAqLworCWlmIChkYXRhW2ldID09ICdcbicpCisJCWxpbmVzKys7CisJd2hpbGUgKGkpIHsKKwkJaWYgKGRhdGFbaV0gPT0gJ1xuJyAmJiAtLWxpbmVzID09IDApIHsKKwkJCWkrKzsKKwkJCWJyZWFrOworCQl9CisJCWktLTsKKwl9CisKKwlmd3JpdGUoZGF0YSArIGksIHN0LT5zdF9zaXplIC0gaSwgMSwgc3Rkb3V0KTsKKworCW11bm1hcChkYXRhLCBzdC0+c3Rfc2l6ZSk7CisJY2xvc2UoZmQpOworCWZmbHVzaChzdGRvdXQpOworfQorCitzdGF0aWMgdm9pZCByb2xsX2ZpbGUoY29uc3QgY2hhciAqZmlsZW5hbWUsIHN0cnVjdCBzdGF0ICpvbGQpCit7CisJY2hhciBidWZbQlVGU0laXTsKKwlpbnQgZmQ7CisJc3RydWN0IHN0YXQgc3Q7CisJb2ZmX3QgcG9zOworCisJZmQgPSBvcGVuKGZpbGVuYW1lLCBPX1JET05MWSk7CisJaWYgKGZkIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgZmlsZW5hbWUpOworCisJaWYgKGZzdGF0KGZkLCAmc3QpID09IC0xKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJzdGF0IG9mICVzIGZhaWxlZCIpLCBmaWxlbmFtZSk7CisKKwlpZiAoc3Quc3Rfc2l6ZSA9PSBvbGQtPnN0X3NpemUpIHsKKwkJY2xvc2UoZmQpOworCQlyZXR1cm47CisJfQorCisJaWYgKGxzZWVrKGZkLCBvbGQtPnN0X3NpemUsIFNFRUtfU0VUKSAhPSAob2ZmX3QpLTEpIHsKKwkJc3NpemVfdCByYywgd2M7CisKKwkJd2hpbGUgKChyYyA9IHJlYWQoZmQsIGJ1Ziwgc2l6ZW9mKGJ1ZikpKSA+IDApIHsKKwkJCXdjID0gd3JpdGUoU1RET1VUX0ZJTEVOTywgYnVmLCByYyk7CisJCQlpZiAocmMgIT0gd2MpCisJCQkJd2FybngoXygiaW5jb21wbGV0ZSB3cml0ZSB0byBcIiVzXCIgKHdyaXR0ZW4gJXpkLCBleHBlY3RlZCAlemQpXG4iKSwKKwkJCQkJZmlsZW5hbWUsIHdjLCByYyk7CisJCX0KKwkJZmZsdXNoKHN0ZG91dCk7CisJfQorCisJcG9zID0gbHNlZWsoZmQsIDAsIFNFRUtfQ1VSKTsKKworCS8qIElmIHdlJ3ZlIHN1Y2Nlc3NmdWxseSByZWFkIHNvbWV0aGluZywgdXNlIHRoZSBmaWxlIHBvc2l0aW9uLCB0aGlzCisJICogYXZvaWRzIGRhdGEgZHVwbGljYXRpb24uIElmIHdlIHJlYWQgbm90aGluZyBvciBoaXQgYW4gZXJyb3IsIHJlc2V0CisJICogdG8gdGhlIHJlcG9ydGVkIHNpemUsIHRoaXMgaGFuZGxlcyB0cnVuY2F0ZWQgZmlsZXMuCisJICovCisJb2xkLT5zdF9zaXplID0gKHBvcyAhPSAtMSAmJiBwb3MgIT0gb2xkLT5zdF9zaXplKSA/IHBvcyA6IHN0LnN0X3NpemU7CisKKwljbG9zZShmZCk7Cit9CisKK3N0YXRpYyB2b2lkIHdhdGNoX2ZpbGUoY29uc3QgY2hhciAqZmlsZW5hbWUsIHN0cnVjdCBzdGF0ICpvbGQpCit7CisJZG8geworCQlyb2xsX2ZpbGUoZmlsZW5hbWUsIG9sZCk7CisJCXh1c2xlZXAoMjUwMDAwKTsKKwl9IHdoaWxlKDEpOworfQorCisKKyNpZmRlZiBIQVZFX0lOT1RJRllfSU5JVAorCisjZGVmaW5lIEVWRU5UUwkJKElOX01PRElGWXxJTl9ERUxFVEVfU0VMRnxJTl9NT1ZFX1NFTEZ8SU5fVU5NT1VOVCkKKyNkZWZpbmUgTkVWRU5UUwkJNAorCitzdGF0aWMgaW50IHdhdGNoX2ZpbGVfaW5vdGlmeShjb25zdCBjaGFyICpmaWxlbmFtZSwgc3RydWN0IHN0YXQgKm9sZCkKK3sKKwljaGFyIGJ1ZlsgTkVWRU5UUyAqIHNpemVvZihzdHJ1Y3QgaW5vdGlmeV9ldmVudCkgXTsKKwlpbnQgZmQsIGZmZCwgZTsKKwlzc2l6ZV90IGxlbjsKKworCWZkID0gaW5vdGlmeV9pbml0KCk7CisJaWYgKGZkID09IC0xKQorCQlyZXR1cm4gMDsKKworCWZmZCA9IGlub3RpZnlfYWRkX3dhdGNoKGZkLCBmaWxlbmFtZSwgRVZFTlRTKTsKKwlpZiAoZmZkID09IC0xKSB7CisJCWlmIChlcnJubyA9PSBFTk9TUEMpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaCAiCisJCQkJIihsaW1pdCBvZiBpbm90aWZ5IHdhdGNoZXMgd2FzIHJlYWNoZWQpLiIpLAorCQkJCWZpbGVuYW1lKTsKKworCQllcnIoRVhJVF9GQUlMVVJFLCBfKCIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoLiIpLCBmaWxlbmFtZSk7CisJfQorCisJd2hpbGUgKGZmZCA+PSAwKSB7CisJCWxlbiA9IHJlYWQoZmQsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCQlpZiAobGVuIDwgMCAmJiAoZXJybm8gPT0gRUlOVFIgfHwgZXJybm8gPT0gRUFHQUlOKSkKKwkJCWNvbnRpbnVlOworCQlpZiAobGVuIDwgMCkKKwkJCWVycihFWElUX0ZBSUxVUkUsCisJCQkJXygiJXM6IGNhbm5vdCByZWFkIGlub3RpZnkgZXZlbnRzIiksIGZpbGVuYW1lKTsKKworCQlmb3IgKGUgPSAwOyBlIDwgbGVuOyApIHsKKwkJCXN0cnVjdCBpbm90aWZ5X2V2ZW50ICpldiA9IChzdHJ1Y3QgaW5vdGlmeV9ldmVudCAqKSAmYnVmW2VdOworCisJCQlpZiAoZXYtPm1hc2sgJiBJTl9NT0RJRlkpCisJCQkJcm9sbF9maWxlKGZpbGVuYW1lLCBvbGQpOworCQkJZWxzZSB7CisJCQkJY2xvc2UoZmZkKTsKKwkJCQlmZmQgPSAtMTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWUgKz0gc2l6ZW9mKHN0cnVjdCBpbm90aWZ5X2V2ZW50KSArIGV2LT5sZW47CisJCX0KKwl9CisJY2xvc2UoZmQpOworCXJldHVybiAxOworfQorCisjZW5kaWYgLyogSEFWRV9JTk9USUZZX0lOSVQgKi8KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXyAoKF9fbm9yZXR1cm5fXykpIHVzYWdlKEZJTEUgKm91dCkKK3sKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uXSA8ZmlsZT5cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiRm9sbG93IHRoZSBncm93dGggb2YgYSBsb2cgZmlsZS5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLW4sIC0tbGluZXMgPG51bWJlcj4gICBvdXRwdXQgdGhlIGxhc3QgPG51bWJlcj4gbGluZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtPG51bWJlcj4gICAgICAgICAgICAgIHNhbWUgYXMgJy1uIDxudW1iZXI+J1xuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoVVNBR0VfSEVMUCwgb3V0KTsKKwlmcHV0cyhVU0FHRV9WRVJTSU9OLCBvdXQpOworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgidGFpbGYoMSkiKSk7CisJZnB1dHMoXygiV2FybmluZzogdXNlIG9mICd0YWlsZicgaXMgZGVwcmVjYXRlZCwgdXNlICd0YWlsIC1mJyBpbnN0ZWFkLlxuIiksIG91dCk7CisKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCisvKiBwYXJzZXMgLU4gb3B0aW9uICovCitzdGF0aWMgbG9uZyBvbGRfc3R5bGVfb3B0aW9uKGludCAqYXJnYywgY2hhciAqKmFyZ3YsIHNpemVfdCAqbGluZXMpCit7CisJaW50IGkgPSAxLCBuYXJncyA9ICphcmdjLCByZXQgPSAwOworCisJd2hpbGUoaSA8IG5hcmdzKSB7CisJCWlmIChhcmd2W2ldWzBdID09ICctJyAmJiBpc2RpZ2l0KGFyZ3ZbaV1bMV0pKSB7CisJCQkqbGluZXMgPSBzdHJ0b3VsX29yX2Vycihhcmd2W2ldICsgMSwKKwkJCQkJXygiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyIpKTsKKwkJCW5hcmdzLS07CisJCQlyZXQgPSAxOworCQkJaWYgKG5hcmdzIC0gaSkKKwkJCQltZW1tb3ZlKGFyZ3YgKyBpLCBhcmd2ICsgaSArIDEsCisJCQkJCQlzaXplb2YoY2hhciAqKSAqIChuYXJncyAtIGkpKTsKKwkJfSBlbHNlCisJCQlpKys7CisJfQorCSphcmdjID0gbmFyZ3M7CisJcmV0dXJuIHJldDsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWNvbnN0IGNoYXIgKmZpbGVuYW1lOworCXNpemVfdCBsaW5lczsKKwlpbnQgY2g7CisJc3RydWN0IHN0YXQgc3Q7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJsaW5lcyIsICAgcmVxdWlyZWRfYXJndW1lbnQsIDAsICduJyB9LAorCQl7ICJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsCTAsICdWJyB9LAorCQl7ICJoZWxwIiwgICAgbm9fYXJndW1lbnQsCTAsICdoJyB9LAorCQl7IE5VTEwsICAgICAgMCwgMCwgMCB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlpZiAoIW9sZF9zdHlsZV9vcHRpb24oJmFyZ2MsIGFyZ3YsICZsaW5lcykpCisJCWxpbmVzID0gREVGQVVMVF9MSU5FUzsKKworCXdoaWxlICgoY2ggPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAibjpOOlZoIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkKKwkJc3dpdGNoICgoY2hhciljaCkgeworCQljYXNlICduJzoKKwkJY2FzZSAnTic6CisJCQlsaW5lcyA9IHN0cnRvdWxfb3JfZXJyKG9wdGFyZywKKwkJCQkJXygiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyIpKTsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJZXhpdChFWElUX1NVQ0NFU1MpOworCQljYXNlICdoJzoKKwkJCXVzYWdlKHN0ZG91dCk7CisJCWRlZmF1bHQ6CisJCQl1c2FnZShzdGRlcnIpOworCQl9CisKKwlpZiAoYXJnYyA9PSBvcHRpbmQpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBpbnB1dCBmaWxlIHNwZWNpZmllZCIpKTsKKworCWZpbGVuYW1lID0gYXJndltvcHRpbmRdOworCisJaWYgKHN0YXQoZmlsZW5hbWUsICZzdCkgIT0gMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygic3RhdCBvZiAlcyBmYWlsZWQiKSwgZmlsZW5hbWUpOworCWlmICghU19JU1JFRyhzdC5zdF9tb2RlKSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzOiBpcyBub3QgYSBmaWxlIiksIGZpbGVuYW1lKTsKKworCS8qIG1tYXAgaXMgYmFzZWQgb24gc2l6ZV90ICovCisJaWYgKHN0LnN0X3NpemUgPiAwICYmICh1aW50bWF4X3QpIHN0LnN0X3NpemUgPD0gKHVpbnRtYXhfdCkgU0laRV9NQVgpCisJCXRhaWxmKGZpbGVuYW1lLCBsaW5lcywgJnN0KTsKKworI2lmZGVmIEhBVkVfSU5PVElGWV9JTklUCisJaWYgKCF3YXRjaF9maWxlX2lub3RpZnkoZmlsZW5hbWUsICZzdCkpCisjZW5kaWYKKwkJd2F0Y2hfZmlsZShmaWxlbmFtZSwgJnN0KTsKKworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CisKZGlmZiAtLWdpdCBhL3RleHQtdXRpbHMvdWwuMSBiL3RleHQtdXRpbHMvdWwuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTY0YmFjCi0tLSAvZGV2L251bGwKKysrIGIvdGV4dC11dGlscy91bC4xCkBAIC0wLDAgKzEsMTEzIEBACisuXCIgQ29weXJpZ2h0IChjKSAxOTgwLCAxOTkxLCAxOTkzCisuXCIJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisuXCIKKy5cIiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy5cIiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy5cIiBhcmUgbWV0OgorLlwiIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLlwiIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLlwiICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisuXCIgMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisuXCIgICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorLlwiCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKy5cIglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKy5cIiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworLlwiICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorLlwiICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLlwiCisuXCIgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKy5cIiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKy5cIiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorLlwiIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLlwiIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisuXCIgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKy5cIiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKy5cIiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorLlwiIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKy5cIiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisuXCIgU1VDSCBEQU1BR0UuCisuXCIKKy5cIiAgICAgQCgjKXVsLjEJOC4xIChCZXJrZWxleSkgNi82LzkzCisuXCIKKy5USCBVTCAiMSIgIlNlcHRlbWJlciAyMDExIiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQordWwgXC0gZG8gdW5kZXJsaW5pbmcKKy5TSCBTWU5PUFNJUworLkJSIHVsICIgW29wdGlvbnNdIgorLlJJIFsgZmlsZSAuLi5dCisuU0ggREVTQ1JJUFRJT04KKy5CIHVsCityZWFkcyB0aGUgbmFtZWQgZmlsZXMgKG9yIHN0YW5kYXJkIGlucHV0IGlmIG5vbmUgYXJlIGdpdmVuKSBhbmQgdHJhbnNsYXRlcworb2NjdXJyZW5jZXMgb2YgdW5kZXJzY29yZXMgdG8gdGhlIHNlcXVlbmNlIHdoaWNoIGluZGljYXRlcyB1bmRlcmxpbmluZyBmb3IKK3RoZSB0ZXJtaW5hbCBpbiB1c2UsIGFzIHNwZWNpZmllZCBieSB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUKKy5CUiBURVJNIC4KK1RoZQorLkkgdGVybWluZm8KK2RhdGFiYXNlIGlzIHJlYWQgdG8gZGV0ZXJtaW5lIHRoZSBhcHByb3ByaWF0ZSBzZXF1ZW5jZXMgZm9yIHVuZGVybGluaW5nLiAgSWYKK3RoZSB0ZXJtaW5hbCBpcyBpbmNhcGFibGUgb2YgdW5kZXJsaW5pbmcgYnV0IGlzIGNhcGFibGUgb2YgYSBzdGFuZG91dCBtb2RlLAordGhlbiB0aGF0IGlzIHVzZWQgaW5zdGVhZC4gIElmIHRoZSB0ZXJtaW5hbCBjYW4gb3ZlcnN0cmlrZSwgb3IgaGFuZGxlcwordW5kZXJsaW5pbmcgYXV0b21hdGljYWxseSwKKy5CIHVsCitkZWdlbmVyYXRlcyB0bworLkJSIGNhdCAoMSkuCitJZiB0aGUgdGVybWluYWwgY2Fubm90IHVuZGVybGluZSwgdW5kZXJsaW5pbmcgaXMgaWdub3JlZC4KKy5TSCBPUFRJT05TCisuVFAKK1xmQlwtaVxmUiwgXGZCXC1cLWluZGljYXRlZFxmUgorVW5kZXJsaW5pbmcgaXMgaW5kaWNhdGVkIGJ5IGEgc2VwYXJhdGUgbGluZSBjb250YWluaW5nIGFwcHJvcHJpYXRlIGRhc2hlcworYFwtJzsgdGhpcyBpcyB1c2VmdWwgd2hlbiB5b3Ugd2FudCB0byBsb29rIGF0IHRoZSB1bmRlcmxpbmluZyB3aGljaCBpcworcHJlc2VudCBpbiBhbgorLkIgbnJvZmYKK291dHB1dCBzdHJlYW0gb24gYSBjcnQtdGVybWluYWwuCisuVFAKK1xmQlwtdFxmUiwgXGZCXC1UXGZSLCBcZkJcLVwtdGVybWluYWxcZlIgXGZJdGVybWluYWxcZlIKK092ZXJyaWRlIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZQorLkIgVEVSTQord2l0aCB0aGUgc3BlY2lmaWVkCisuSSB0ZXJtaW5hbAordHlwZS4KKy5UUAorXGZCXC1WXGZSLCBcZkJcLVwtdmVyc2lvblxmUgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCitcZkJcLWhcZlIsIFxmQlwtXC1oZWxwXGZSCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBFTlZJUk9OTUVOVAorVGhlIGZvbGxvd2luZyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyB1c2VkOgorLlRQCisuQiBURVJNCitUaGUKKy5CIFRFUk0KK3ZhcmlhYmxlIGlzIHVzZWQgdG8gcmVsYXRlIGEgdHR5IGRldmljZSB3aXRoIGl0cyBkZXZpY2UgY2FwYWJpbGl0eQorZGVzY3JpcHRpb24gKHNlZQorLkJSIHRlcm1pbmZvICg1KSkuCisuQiBURVJNCitpcyBzZXQgYXQgbG9naW4gdGltZSwgZWl0aGVyIGJ5IHRoZSBkZWZhdWx0IHRlcm1pbmFsIHR5cGUgc3BlY2lmaWVkIGluCisuSSAvZXRjL3R0eXMKK29yIGFzIHNldCBkdXJpbmcgdGhlIGxvZ2luIHByb2Nlc3MgYnkgdGhlIHVzZXIgaW4gdGhlaXIKKy5CIGxvZ2luCitmaWxlIChzZWUKKy5CUiBzZXRlbnYgKDEpKS4KKy5TSCBTRUUgQUxTTworLkJSIGNvbGNydCAoMSksCisuQlIgbG9naW4gKDEpLAorLkJSIG1hbiAoMSksCisuQlIgbnJvZmYgKDEpLAorLkJSIHNldGVudiAoMSksCisuQlIgdGVybWluZm8gKDUpCisuU0ggQlVHUworLkIgbnJvZmYKK3VzdWFsbHkgb3V0cHV0cyBhIHNlcmllcyBvZiBiYWNrc3BhY2VzIGFuZCB1bmRlcmxpbmVzIGludGVybWl4ZWQgd2l0aCB0aGUKK3RleHQgdG8gaW5kaWNhdGUgdW5kZXJsaW5pbmcuICBObyBhdHRlbXB0IGlzIG1hZGUgdG8gb3B0aW1pemUgdGhlIGJhY2t3YXJkCittb3Rpb24uCisuU0ggSElTVE9SWQorVGhlCisuQiB1bAorY29tbWFuZCBhcHBlYXJlZCBpbiAzLjBCU0QuCisuU0ggQVZBSUxBQklMSVRZCitUaGUgdWwgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgZnRwOi8vXDpmdHAua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS90ZXh0LXV0aWxzL3VsLmMgYi90ZXh0LXV0aWxzL3VsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2ZkMGI2YQotLS0gL2Rldi9udWxsCisrKyBiL3RleHQtdXRpbHMvdWwuYwpAQCAtMCwwICsxLDY0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk4MCwgMTk5MworICoJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKKyAqICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKyAqCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKyAqCUNhbGlmb3JuaWEsIEJlcmtlbGV5IGFuZCBpdHMgY29udHJpYnV0b3JzLgorICogNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisvKgorICogbW9kaWZpZWQgYnkgS2FycyBkZSBKb25nIDxqb25na0Bjcy51dHdlbnRlLm5sPgorICoJdG8gdXNlIHRlcm1pbmZvIGluc3RlYWQgb2YgdGVybWNhcC4KKyAqIDE5OTktMDItMjIgQXJrYWRpdXN6IE1pxZtraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4KKyAqIAlhZGRlZCBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAorICogMTk5OS0wOS0xOSBCcnVubyBIYWlibGUgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KKyAqIAltb2RpZmllZCB0byB3b3JrIGNvcnJlY3RseSBpbiBtdWx0aS1ieXRlIGxvY2FsZXMKKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4JCS8qIGZvciBnZXRvcHQoKSwgaXNhdHR5KCkgKi8KKyNpbmNsdWRlIDxzdHJpbmcuaD4JCS8qIGZvciBtZW1zZXQoKSwgc3RyY3B5KCkgKi8KKyNpbmNsdWRlIDx0ZXJtLmg+CQkvKiBmb3Igc2V0dXB0ZXJtKCkgKi8KKyNpbmNsdWRlIDxzdGRsaWIuaD4JCS8qIGZvciBnZXRlbnYoKSAqLworI2luY2x1ZGUgPGxpbWl0cy5oPgkJLyogZm9yIElOVF9NQVggKi8KKyNpbmNsdWRlIDxzaWduYWwuaD4JCS8qIGZvciBzaWduYWwoKSAqLworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJ3aWRlY2hhci5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCisjaWZkZWYgSEFWRV9XSURFQ0hBUgorLyogT3V0cHV0IGFuIEFTQ0lJIGNoYXJhY3RlciBhcyBhIHdpZGUgY2hhcmFjdGVyICovCitzdGF0aWMgaW50IHB1dDF3YyhpbnQgYykKK3sKKwlpZiAocHV0d2NoYXIoYykgPT0gV0VPRikKKwkJcmV0dXJuIEVPRjsKKwllbHNlCisJCXJldHVybiBjOworfQorI2RlZmluZSBwdXR3cChzKSB0cHV0cyhzLCBTVERPVVRfRklMRU5PLCBwdXQxd2MpCisjZWxzZQorI2RlZmluZSBwdXR3cChzKSBwdXRwKHMpCisjZW5kaWYKKworc3RhdGljIHZvaWQgdXNhZ2UoRklMRSAqb3V0KTsKK3N0YXRpYyBpbnQgaGFuZGxlX2VzY2FwZShGSUxFICogZik7CitzdGF0aWMgdm9pZCBmaWx0ZXIoRklMRSAqZik7CitzdGF0aWMgdm9pZCBmbHVzaGxuKHZvaWQpOworc3RhdGljIHZvaWQgb3ZlcnN0cmlrZSh2b2lkKTsKK3N0YXRpYyB2b2lkIGlhdHRyKHZvaWQpOworc3RhdGljIHZvaWQgaW5pdGJ1Zih2b2lkKTsKK3N0YXRpYyB2b2lkIGZ3ZCh2b2lkKTsKK3N0YXRpYyB2b2lkIHJldmVyc2Uodm9pZCk7CitzdGF0aWMgdm9pZCBpbml0aW5mbyh2b2lkKTsKK3N0YXRpYyB2b2lkIG91dGMod2ludF90IGMsIGludCB3aWR0aCk7CitzdGF0aWMgdm9pZCB4c2V0bW9kZShpbnQgbmV3bW9kZSk7CitzdGF0aWMgdm9pZCBzZXRjb2woaW50IG5ld2NvbCk7CitzdGF0aWMgdm9pZCBuZWVkY29sKGludCBjb2wpOworc3RhdGljIHZvaWQgc2lnX2hhbmRsZXIoaW50IHNpZ25vKTsKK3N0YXRpYyB2b2lkIHByaW50X291dChjaGFyICpsaW5lKTsKKworI2RlZmluZQlJRVNDCSdcMDMzJworI2RlZmluZQlTTwknXDAxNicKKyNkZWZpbmUJU0kJJ1wwMTcnCisjZGVmaW5lCUhGV0QJJzknCisjZGVmaW5lCUhSRVYJJzgnCisjZGVmaW5lCUZSRVYJJzcnCisKKyNkZWZpbmUJTk9STUFMCTAwMAorI2RlZmluZQlBTFRTRVQJMDAxCS8qIFJldmVyc2UgKi8KKyNkZWZpbmUJU1VQRVJTQwkwMDIJLyogRGltICovCisjZGVmaW5lCVNVQlNDCTAwNAkvKiBEaW0gfCBVbCAqLworI2RlZmluZQlVTkRFUkwJMDEwCS8qIFVsICovCisjZGVmaW5lCUJPTEQJMDIwCS8qIEJvbGQgKi8KKworaW50CW11c3RfdXNlX3VjLCBtdXN0X292ZXJzdHJpa2U7CitjaGFyCSpDVVJTX1VQLAorCSpDVVJTX1JJR0hULAorCSpDVVJTX0xFRlQsCisJKkVOVEVSX1NUQU5ET1VULAorCSpFWElUX1NUQU5ET1VULAorCSpFTlRFUl9VTkRFUkxJTkUsCisJKkVYSVRfVU5ERVJMSU5FLAorCSpFTlRFUl9ESU0sCisJKkVOVEVSX0JPTEQsCisJKkVOVEVSX1JFVkVSU0UsCisJKlVOREVSX0NIQVIsCisJKkVYSVRfQVRUUklCVVRFUzsKKworc3RydWN0CUNIQVIJeworCWNoYXIJY19tb2RlOworCXdjaGFyX3QJY19jaGFyOworCWludAljX3dpZHRoOworfTsKKworc3RydWN0CUNIQVIJKm9idWY7CitpbnQJb2J1ZmxlbjsKK2ludAljb2wsIG1heGNvbDsKK2ludAltb2RlOworaW50CWhhbGZwb3M7CitpbnQJdXBsbjsKK2ludAlpZmxhZzsKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkKK3VzYWdlKEZJTEUgKm91dCkKK3sKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc10gWzxmaWxlPiAuLi5dXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkRvIHVuZGVybGluaW5nLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtdCwgLVQsIC0tdGVybWluYWwgVEVSTUlOQUwgIG92ZXJyaWRlIHRoZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIiksIG91dCk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKFVTQUdFX0hFTFAsIG91dCk7CisJZnB1dHMoVVNBR0VfVkVSU0lPTiwgb3V0KTsKKworCWZwcmludGYob3V0LCBVU0FHRV9NQU5fVEFJTCgidWwoMSkiKSk7CisKKwlleGl0KG91dCA9PSBzdGRlcnIgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IGMsIHJldCwgdGZsYWcgPSAwOworCWNoYXIgKnRlcm10eXBlOworCUZJTEUgKmY7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJ0ZXJtaW5hbCIsCXJlcXVpcmVkX2FyZ3VtZW50LAkwLCAndCcgfSwKKwkJeyAiaW5kaWNhdGVkIiwJbm9fYXJndW1lbnQsCQkwLCAnaScgfSwKKwkJeyAidmVyc2lvbiIsCW5vX2FyZ3VtZW50LAkJMCwgJ1YnIH0sCisJCXsgImhlbHAiLAlub19hcmd1bWVudCwJCTAsICdoJyB9LAorCQl7IE5VTEwsIDAsIDAsIDAgfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJc2lnbmFsKFNJR0lOVCwgc2lnX2hhbmRsZXIpOworCXNpZ25hbChTSUdURVJNLCBzaWdfaGFuZGxlcik7CisKKwl0ZXJtdHlwZSA9IGdldGVudigiVEVSTSIpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIml0OlQ6VmgiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKQorCQlzd2l0Y2ggKGMpIHsKKworCQljYXNlICd0JzoKKwkJY2FzZSAnVCc6CisJCQkvKiBmb3IgbnJvZmYgY29tcGF0aWJpbGl0eSAqLworCQkJdGVybXR5cGUgPSBvcHRhcmc7CisJCQl0ZmxhZyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnaSc6CisJCQlpZmxhZyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2Uoc3Rkb3V0KTsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKHN0ZGVycik7CisJCX0KKwlzZXR1cHRlcm0odGVybXR5cGUsIFNURE9VVF9GSUxFTk8sICZyZXQpOworCXN3aXRjaCAocmV0KSB7CisKKwljYXNlIDE6CisJCWJyZWFrOworCisJZGVmYXVsdDoKKwkJd2FybngoXygidHJvdWJsZSByZWFkaW5nIHRlcm1pbmZvIikpOworCQkvKiBmYWxsIHRocm91Z2ggdG8gLi4uICovCisKKwljYXNlIDA6CisJCWlmICh0ZmxhZykKKwkJCXdhcm54KF8oInRlcm1pbmFsIGAlcycgaXMgbm90IGtub3duLCBkZWZhdWx0aW5nIHRvIGBkdW1iJyIpLAorCQkJCXRlcm10eXBlKTsKKwkJc2V0dXB0ZXJtKCJkdW1iIiwgU1RET1VUX0ZJTEVOTywgKGludCAqKTApOworCQlicmVhazsKKwl9CisJaW5pdGluZm8oKTsKKwlpZiAoKHRpZ2V0ZmxhZygib3MiKSAmJiBFTlRFUl9CT0xEPT1OVUxMICkgfHwKKwkgICAgKHRpZ2V0ZmxhZygidWwiKSAmJiBFTlRFUl9VTkRFUkxJTkU9PU5VTEwgJiYgVU5ERVJfQ0hBUj09TlVMTCkpCisJCW11c3Rfb3ZlcnN0cmlrZSA9IDE7CisJaW5pdGJ1ZigpOworCWlmIChvcHRpbmQgPT0gYXJnYykKKwkJZmlsdGVyKHN0ZGluKTsKKwllbHNlCisJCWZvciAoOyBvcHRpbmQgPCBhcmdjOyBvcHRpbmQrKykgeworCQkJZiA9IGZvcGVuKGFyZ3Zbb3B0aW5kXSwiciIpOworCQkJaWYgKCFmKQorCQkJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksCisJCQkJICAgIGFyZ3Zbb3B0aW5kXSk7CisJCQlmaWx0ZXIoZik7CisJCQlmY2xvc2UoZik7CisJCX0KKwlmcmVlKG9idWYpOworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CisKK3N0YXRpYyBpbnQgaGFuZGxlX2VzY2FwZShGSUxFICogZikKK3sKKwl3aW50X3QgYzsKKworCXN3aXRjaCAoYyA9IGdldHdjKGYpKSB7CisJY2FzZSBIUkVWOgorCQlpZiAoaGFsZnBvcyA9PSAwKSB7CisJCQltb2RlIHw9IFNVUEVSU0M7CisJCQloYWxmcG9zLS07CisJCX0gZWxzZSBpZiAoaGFsZnBvcyA+IDApIHsKKwkJCW1vZGUgJj0gflNVQlNDOworCQkJaGFsZnBvcy0tOworCQl9IGVsc2UgeworCQkJaGFsZnBvcyA9IDA7CisJCQlyZXZlcnNlKCk7CisJCX0KKwkJcmV0dXJuIDA7CisJY2FzZSBIRldEOgorCQlpZiAoaGFsZnBvcyA9PSAwKSB7CisJCQltb2RlIHw9IFNVQlNDOworCQkJaGFsZnBvcysrOworCQl9IGVsc2UgaWYgKGhhbGZwb3MgPCAwKSB7CisJCQltb2RlICY9IH5TVVBFUlNDOworCQkJaGFsZnBvcysrOworCQl9IGVsc2UgeworCQkJaGFsZnBvcyA9IDA7CisJCQlmd2QoKTsKKwkJfQorCQlyZXR1cm4gMDsKKwljYXNlIEZSRVY6CisJCXJldmVyc2UoKTsKKwkJcmV0dXJuIDA7CisJZGVmYXVsdDoKKwkJLyogdW5rbm93biBlc2NhcGUgKi8KKwkJdW5nZXR3YyhjLCBmKTsKKwkJcmV0dXJuIDE7CisJfQorfQorCitzdGF0aWMgdm9pZCBmaWx0ZXIoRklMRSAqZikKK3sKKwl3aW50X3QgYzsKKwlpbnQgaSwgdzsKKworCXdoaWxlICgoYyA9IGdldHdjKGYpKSAhPSBXRU9GKSB7CisJCXN3aXRjaCAoYykgeworCQljYXNlICdcYic6CisJCQlzZXRjb2woY29sIC0gMSk7CisJCQljb250aW51ZTsKKwkJY2FzZSAnXHQnOgorCQkJc2V0Y29sKChjb2wgKyA4KSAmIH4wNyk7CisJCQljb250aW51ZTsKKwkJY2FzZSAnXHInOgorCQkJc2V0Y29sKDApOworCQkJY29udGludWU7CisJCWNhc2UgU086CisJCQltb2RlIHw9IEFMVFNFVDsKKwkJCWNvbnRpbnVlOworCQljYXNlIFNJOgorCQkJbW9kZSAmPSB+QUxUU0VUOworCQkJY29udGludWU7CisJCWNhc2UgSUVTQzoKKwkJCWlmIChoYW5kbGVfZXNjYXBlKGYpKSB7CisJCQkJYyA9IGdldHdjKGYpOworCQkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJCSAgICAgXygidW5rbm93biBlc2NhcGUgc2VxdWVuY2UgaW4gaW5wdXQ6ICVvLCAlbyIpLCBJRVNDLCBjKTsKKwkJCX0KKwkJCWNvbnRpbnVlOworCQljYXNlICdfJzoKKwkJCWlmIChvYnVmW2NvbF0uY19jaGFyIHx8IG9idWZbY29sXS5jX3dpZHRoIDwgMCkgeworCQkJCXdoaWxlIChjb2wgPiAwICYmIG9idWZbY29sXS5jX3dpZHRoIDwgMCkKKwkJCQkJY29sLS07CisJCQkJdyA9IG9idWZbY29sXS5jX3dpZHRoOworCQkJCWZvciAoaSA9IDA7IGkgPCB3OyBpKyspCisJCQkJCW9idWZbY29sKytdLmNfbW9kZSB8PSBVTkRFUkwgfCBtb2RlOworCQkJCXNldGNvbChjb2wpOworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJb2J1Zltjb2xdLmNfY2hhciA9ICdfJzsKKwkJCW9idWZbY29sXS5jX3dpZHRoID0gMTsKKwkJCS8qIGZhbGwgdGhyb3VnaCAqLworCQljYXNlICcgJzoKKwkJCXNldGNvbChjb2wgKyAxKTsKKwkJCWNvbnRpbnVlOworCQljYXNlICdcbic6CisJCQlmbHVzaGxuKCk7CisJCQljb250aW51ZTsKKwkJY2FzZSAnXGYnOgorCQkJZmx1c2hsbigpOworCQkJcHV0d2NoYXIoJ1xmJyk7CisJCQljb250aW51ZTsKKwkJZGVmYXVsdDoKKwkJCWlmICghaXN3cHJpbnQoYykpCisJCQkJLyogbm9uIHByaW50YWJsZSAqLworCQkJCWNvbnRpbnVlOworCQkJdyA9IHdjd2lkdGgoYyk7CisJCQluZWVkY29sKGNvbCArIHcpOworCQkJaWYgKG9idWZbY29sXS5jX2NoYXIgPT0gJ1wwJykgeworCQkJCW9idWZbY29sXS5jX2NoYXIgPSBjOworCQkJCWZvciAoaSA9IDA7IGkgPCB3OyBpKyspCisJCQkJCW9idWZbY29sICsgaV0uY19tb2RlID0gbW9kZTsKKwkJCQlvYnVmW2NvbF0uY193aWR0aCA9IHc7CisJCQkJZm9yIChpID0gMTsgaSA8IHc7IGkrKykKKwkJCQkJb2J1Zltjb2wgKyBpXS5jX3dpZHRoID0gLTE7CisJCQl9IGVsc2UgaWYgKG9idWZbY29sXS5jX2NoYXIgPT0gJ18nKSB7CisJCQkJb2J1Zltjb2xdLmNfY2hhciA9IGM7CisJCQkJZm9yIChpID0gMDsgaSA8IHc7IGkrKykKKwkJCQkJb2J1Zltjb2wgKyBpXS5jX21vZGUgfD0gVU5ERVJMIHwgbW9kZTsKKwkJCQlvYnVmW2NvbF0uY193aWR0aCA9IHc7CisJCQkJZm9yIChpID0gMTsgaSA8IHc7IGkrKykKKwkJCQkJb2J1Zltjb2wgKyBpXS5jX3dpZHRoID0gLTE7CisJCQl9IGVsc2UgaWYgKCh3aW50X3QpIG9idWZbY29sXS5jX2NoYXIgPT0gYykgeworCQkJCWZvciAoaSA9IDA7IGkgPCB3OyBpKyspCisJCQkJCW9idWZbY29sICsgaV0uY19tb2RlIHw9IEJPTEQgfCBtb2RlOworCQkJfSBlbHNlIHsKKwkJCQl3ID0gb2J1Zltjb2xdLmNfd2lkdGg7CisJCQkJZm9yIChpID0gMDsgaSA8IHc7IGkrKykKKwkJCQkJb2J1Zltjb2wgKyBpXS5jX21vZGUgPSBtb2RlOworCQkJfQorCQkJc2V0Y29sKGNvbCArIHcpOworCQkJY29udGludWU7CisJCX0KKwl9CisJaWYgKG1heGNvbCkKKwkJZmx1c2hsbigpOworfQorCitzdGF0aWMgdm9pZCBmbHVzaGxuKHZvaWQpCit7CisJaW50IGxhc3Rtb2RlOworCWludCBpOworCWludCBoYWRtb2RlcyA9IDA7CisKKwlsYXN0bW9kZSA9IE5PUk1BTDsKKwlmb3IgKGkgPSAwOyBpIDwgbWF4Y29sOyBpKyspIHsKKwkJaWYgKG9idWZbaV0uY19tb2RlICE9IGxhc3Rtb2RlKSB7CisJCQloYWRtb2RlcysrOworCQkJeHNldG1vZGUob2J1ZltpXS5jX21vZGUpOworCQkJbGFzdG1vZGUgPSBvYnVmW2ldLmNfbW9kZTsKKwkJfQorCQlpZiAob2J1ZltpXS5jX2NoYXIgPT0gJ1wwJykgeworCQkJaWYgKHVwbG4pIHsKKwkJCQlwcmludF9vdXQoQ1VSU19SSUdIVCk7CisJCQl9IGVsc2UKKwkJCQlvdXRjKCcgJywgMSk7CisJCX0gZWxzZQorCQkJb3V0YyhvYnVmW2ldLmNfY2hhciwgb2J1ZltpXS5jX3dpZHRoKTsKKwkJaWYgKG9idWZbaV0uY193aWR0aCA+IDEpCisJCQlpICs9IG9idWZbaV0uY193aWR0aCAtIDE7CisJfQorCWlmIChsYXN0bW9kZSAhPSBOT1JNQUwpIHsKKwkJeHNldG1vZGUoMCk7CisJfQorCWlmIChtdXN0X292ZXJzdHJpa2UgJiYgaGFkbW9kZXMpCisJCW92ZXJzdHJpa2UoKTsKKwlwdXR3Y2hhcignXG4nKTsKKwlpZiAoaWZsYWcgJiYgaGFkbW9kZXMpCisJCWlhdHRyKCk7CisJZmZsdXNoKHN0ZG91dCk7CisJaWYgKHVwbG4pCisJCXVwbG4tLTsKKwlpbml0YnVmKCk7Cit9CisKKy8qCisgKiBGb3IgdGVybWluYWxzIHRoYXQgY2FuIG92ZXJzdHJpa2UsIG92ZXJzdHJpa2UgdW5kZXJsaW5lcyBhbmQgYm9sZHMuCisgKiBXZSBkb24ndCBkbyBhbnl0aGluZyB3aXRoIGhhbGZsaW5lIHVwcyBhbmQgZG93bnMsIG9yIEdyZWVrLgorICovCitzdGF0aWMgdm9pZCBvdmVyc3RyaWtlKHZvaWQpCit7CisJcmVnaXN0ZXIgaW50IGk7CisJcmVnaXN0ZXIgd2NoYXJfdCAqbGJ1ZiA9IHhtYWxsb2MoKG1heGNvbCArIDEpICogc2l6ZW9mKHdjaGFyX3QpKTsKKwlyZWdpc3RlciB3Y2hhcl90ICpjcCA9IGxidWY7CisJaW50IGhhZGJvbGQ9MDsKKworCS8qIFNldCB1cCBvdmVyc3RyaWtlIGJ1ZmZlciAqLworCWZvciAoaSA9IDA7IGkgPCBtYXhjb2w7IGkrKykKKwkJc3dpdGNoIChvYnVmW2ldLmNfbW9kZSkgeworCQljYXNlIE5PUk1BTDoKKwkJZGVmYXVsdDoKKwkJCSpjcCsrID0gJyAnOworCQkJYnJlYWs7CisJCWNhc2UgVU5ERVJMOgorCQkJKmNwKysgPSAnXyc7CisJCQlicmVhazsKKwkJY2FzZSBCT0xEOgorCQkJKmNwKysgPSBvYnVmW2ldLmNfY2hhcjsKKwkJCWlmIChvYnVmW2ldLmNfd2lkdGggPiAxKQorCQkJCWkgKz0gb2J1ZltpXS5jX3dpZHRoIC0gMTsKKwkJCWhhZGJvbGQ9MTsKKwkJCWJyZWFrOworCQl9CisJcHV0d2NoYXIoJ1xyJyk7CisJZm9yICgqY3AgPSAnICc7ICpjcCA9PSAnICc7IGNwLS0pCisJCSpjcCA9IDA7CisJZnB1dHdzKGxidWYsIHN0ZG91dCk7CisJaWYgKGhhZGJvbGQpIHsKKwkJcHV0d2NoYXIoJ1xyJyk7CisJCWZvciAoY3AgPSBsYnVmOyAqY3A7IGNwKyspCisJCQlwdXR3Y2hhcigqY3AgPT0gJ18nID8gJyAnIDogKmNwKTsKKwkJcHV0d2NoYXIoJ1xyJyk7CisJCWZvciAoY3AgPSBsYnVmOyAqY3A7IGNwKyspCisJCQlwdXR3Y2hhcigqY3AgPT0gJ18nID8gJyAnIDogKmNwKTsKKwl9CisJZnJlZShsYnVmKTsKK30KKworc3RhdGljIHZvaWQgaWF0dHIodm9pZCkKK3sKKwlyZWdpc3RlciBpbnQgaTsKKwlyZWdpc3RlciB3Y2hhcl90ICpsYnVmID0geG1hbGxvYygobWF4Y29sICsgMSkgKiBzaXplb2Yod2NoYXJfdCkpOworCXJlZ2lzdGVyIHdjaGFyX3QgKmNwID0gbGJ1ZjsKKworCWZvciAoaSA9IDA7IGkgPCBtYXhjb2w7IGkrKykKKwkJc3dpdGNoIChvYnVmW2ldLmNfbW9kZSkgeworCQljYXNlIE5PUk1BTDoJKmNwKysgPSAnICc7IGJyZWFrOworCQljYXNlIEFMVFNFVDoJKmNwKysgPSAnZyc7IGJyZWFrOworCQljYXNlIFNVUEVSU0M6CSpjcCsrID0gJ14nOyBicmVhazsKKwkJY2FzZSBTVUJTQzoJKmNwKysgPSAndic7IGJyZWFrOworCQljYXNlIFVOREVSTDoJKmNwKysgPSAnXyc7IGJyZWFrOworCQljYXNlIEJPTEQ6CSpjcCsrID0gJyEnOyBicmVhazsKKwkJZGVmYXVsdDoJKmNwKysgPSAnWCc7IGJyZWFrOworCQl9CisJZm9yICgqY3AgPSAnICc7ICpjcCA9PSAnICc7IGNwLS0pCisJCSpjcCA9IDA7CisJZnB1dHdzKGxidWYsIHN0ZG91dCk7CisJcHV0d2NoYXIoJ1xuJyk7CisJZnJlZShsYnVmKTsKK30KKworc3RhdGljIHZvaWQgaW5pdGJ1Zih2b2lkKQoreworCWlmIChvYnVmID09IE5VTEwpIHsKKwkJLyogRmlyc3QgdGltZS4gKi8KKwkJb2J1ZmxlbiA9IEJVRlNJWjsKKwkJb2J1ZiA9IHhjYWxsb2Mob2J1Zmxlbiwgc2l6ZW9mKHN0cnVjdCBDSEFSKSk7CisJfSBlbHNlCisJCS8qIGFzc3VtZXMgTk9STUFMID09IDAgKi8KKwkJbWVtc2V0KG9idWYsIDAsIHNpemVvZihzdHJ1Y3QgQ0hBUikgKiBtYXhjb2wpOworCisJc2V0Y29sKDApOworCW1heGNvbCA9IDA7CisJbW9kZSAmPSBBTFRTRVQ7Cit9CisKK3N0YXRpYyB2b2lkIGZ3ZCh2b2lkKQoreworCWludCBvbGRjb2wsIG9sZG1heDsKKworCW9sZGNvbCA9IGNvbDsKKwlvbGRtYXggPSBtYXhjb2w7CisJZmx1c2hsbigpOworCXNldGNvbChvbGRjb2wpOworCW1heGNvbCA9IG9sZG1heDsKK30KKworc3RhdGljIHZvaWQgcmV2ZXJzZSh2b2lkKQoreworCXVwbG4rKzsKKwlmd2QoKTsKKwlwcmludF9vdXQoQ1VSU19VUCk7CisJcHJpbnRfb3V0KENVUlNfVVApOworCXVwbG4rKzsKK30KKworc3RhdGljIHZvaWQgaW5pdGluZm8odm9pZCkKK3sKKwlDVVJTX1VQID0JCXRpZ2V0c3RyKCJjdXUxIik7CisJQ1VSU19SSUdIVCA9CQl0aWdldHN0cigiY3VmMSIpOworCUNVUlNfTEVGVCA9CQl0aWdldHN0cigiY3ViMSIpOworCWlmIChDVVJTX0xFRlQgPT0gTlVMTCkKKwkJQ1VSU19MRUZUID0JIlxiIjsKKworCUVOVEVSX1NUQU5ET1VUID0JdGlnZXRzdHIoInNtc28iKTsKKwlFWElUX1NUQU5ET1VUID0JCXRpZ2V0c3RyKCJybXNvIik7CisJRU5URVJfVU5ERVJMSU5FID0JdGlnZXRzdHIoInNtdWwiKTsKKwlFWElUX1VOREVSTElORSA9CXRpZ2V0c3RyKCJybXVsIik7CisJRU5URVJfRElNID0JCXRpZ2V0c3RyKCJkaW0iKTsKKwlFTlRFUl9CT0xEID0JCXRpZ2V0c3RyKCJib2xkIik7CisJRU5URVJfUkVWRVJTRSA9CQl0aWdldHN0cigicmV2Iik7CisJRVhJVF9BVFRSSUJVVEVTID0JdGlnZXRzdHIoInNncjAiKTsKKworCWlmICghRU5URVJfQk9MRCAmJiBFTlRFUl9SRVZFUlNFKQorCQlFTlRFUl9CT0xEID0gRU5URVJfUkVWRVJTRTsKKwlpZiAoIUVOVEVSX0JPTEQgJiYgRU5URVJfU1RBTkRPVVQpCisJCUVOVEVSX0JPTEQgPSBFTlRFUl9TVEFORE9VVDsKKwlpZiAoIUVOVEVSX1VOREVSTElORSAmJiBFTlRFUl9TVEFORE9VVCkgeworCQlFTlRFUl9VTkRFUkxJTkUgPSBFTlRFUl9TVEFORE9VVDsKKwkJRVhJVF9VTkRFUkxJTkUgPSBFWElUX1NUQU5ET1VUOworCX0KKwlpZiAoIUVOVEVSX0RJTSAmJiBFTlRFUl9TVEFORE9VVCkKKwkJRU5URVJfRElNID0gRU5URVJfU1RBTkRPVVQ7CisJaWYgKCFFTlRFUl9SRVZFUlNFICYmIEVOVEVSX1NUQU5ET1VUKQorCQlFTlRFUl9SRVZFUlNFID0gRU5URVJfU1RBTkRPVVQ7CisJaWYgKCFFWElUX0FUVFJJQlVURVMgJiYgRVhJVF9TVEFORE9VVCkKKwkJRVhJVF9BVFRSSUJVVEVTID0gRVhJVF9TVEFORE9VVDsKKworCS8qCisJICogTm90ZSB0aGF0IHdlIHVzZSBSRVZFUlNFIGZvciB0aGUgYWx0ZXJuYXRlIGNoYXJhY3RlciBzZXQsCisJICogbm90IHRoZSBhcy9hZSBjYXBhYmlsaXRpZXMuICBUaGlzIGlzIGJlY2F1c2Ugd2UgYXJlIG1vZGVsaW5nCisJICogdGhlIG1vZGVsIDM3IHRlbGV0eXBlIChzaW5jZSB0aGF0J3Mgd2hhdCBucm9mZiBvdXRwdXRzKSBhbmQKKwkgKiB0aGUgdHlwaWNhbCBhcy9hZSBpcyBtb3JlIG9mIGEgZ3JhcGhpY3Mgc2V0LCBub3QgdGhlIGdyZWVrCisJICogbGV0dGVycyB0aGUgMzcgaGFzLgorCSAqLworCisJVU5ERVJfQ0hBUiA9CQl0aWdldHN0cigidWMiKTsKKwltdXN0X3VzZV91YyA9IChVTkRFUl9DSEFSICYmICFFTlRFUl9VTkRFUkxJTkUpOworfQorCitzdGF0aWMgaW50IGN1cm1vZGUgPSAwOworCitzdGF0aWMgdm9pZCBvdXRjKHdpbnRfdCBjLCBpbnQgd2lkdGgpIHsKKwlpbnQgaTsKKworCXB1dHdjaGFyKGMpOworCWlmIChtdXN0X3VzZV91YyAmJiAoY3VybW9kZSZVTkRFUkwpKSB7CisJCWZvciAoaSA9IDA7IGkgPCB3aWR0aDsgaSsrKQorCQkJcHJpbnRfb3V0KENVUlNfTEVGVCk7CisJCWZvciAoaSA9IDA7IGkgPCB3aWR0aDsgaSsrKQorCQkJcHJpbnRfb3V0KFVOREVSX0NIQVIpOworCX0KK30KKworc3RhdGljIHZvaWQgeHNldG1vZGUoaW50IG5ld21vZGUpCit7CisJaWYgKCFpZmxhZykgeworCQlpZiAoY3VybW9kZSAhPSBOT1JNQUwgJiYgbmV3bW9kZSAhPSBOT1JNQUwpCisJCQl4c2V0bW9kZShOT1JNQUwpOworCQlzd2l0Y2ggKG5ld21vZGUpIHsKKwkJY2FzZSBOT1JNQUw6CisJCQlzd2l0Y2ggKGN1cm1vZGUpIHsKKwkJCWNhc2UgTk9STUFMOgorCQkJCWJyZWFrOworCQkJY2FzZSBVTkRFUkw6CisJCQkJcHJpbnRfb3V0KEVYSVRfVU5ERVJMSU5FKTsKKwkJCQlicmVhazsKKwkJCWRlZmF1bHQ6CisJCQkJLyogVGhpcyBpbmNsdWRlcyBzdGFuZG91dCAqLworCQkJCXByaW50X291dChFWElUX0FUVFJJQlVURVMpOworCQkJCWJyZWFrOworCQkJfQorCQkJYnJlYWs7CisJCWNhc2UgQUxUU0VUOgorCQkJcHJpbnRfb3V0KEVOVEVSX1JFVkVSU0UpOworCQkJYnJlYWs7CisJCWNhc2UgU1VQRVJTQzoKKwkJCS8qCisJCQkgKiBUaGlzIG9ubHkgd29ya3Mgb24gYSBmZXcgdGVybWluYWxzLgorCQkJICogSXQgc2hvdWxkIGJlIGZpeGVkLgorCQkJICovCisJCQlwcmludF9vdXQoRU5URVJfVU5ERVJMSU5FKTsKKwkJCXByaW50X291dChFTlRFUl9ESU0pOworCQkJYnJlYWs7CisJCWNhc2UgU1VCU0M6CisJCQlwcmludF9vdXQoRU5URVJfRElNKTsKKwkJCWJyZWFrOworCQljYXNlIFVOREVSTDoKKwkJCXByaW50X291dChFTlRFUl9VTkRFUkxJTkUpOworCQkJYnJlYWs7CisJCWNhc2UgQk9MRDoKKwkJCXByaW50X291dChFTlRFUl9CT0xEKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJLyoKKwkJCSAqIFdlIHNob3VsZCBoYXZlIHNvbWUgcHJvdmlzaW9uIGhlcmUgZm9yIG11bHRpcGxlIG1vZGVzCisJCQkgKiBvbiBhdCBvbmNlLiAgVGhpcyB3aWxsIGhhdmUgdG8gY29tZSBsYXRlci4KKwkJCSAqLworCQkJcHJpbnRfb3V0KEVOVEVSX1NUQU5ET1VUKTsKKwkJCWJyZWFrOworCQl9CisJfQorCWN1cm1vZGUgPSBuZXdtb2RlOworfQorCitzdGF0aWMgdm9pZCBzZXRjb2woaW50IG5ld2NvbCkgeworCWNvbCA9IG5ld2NvbDsKKworCWlmIChjb2wgPCAwKQorCQljb2wgPSAwOworCWVsc2UgaWYgKGNvbCA+IG1heGNvbCkKKwkJbmVlZGNvbChjb2wpOworfQorCitzdGF0aWMgdm9pZCBuZWVkY29sKGludCBhY29sKSB7CisJbWF4Y29sID0gYWNvbDsKKworCS8qIElmIGNvbCA+PSBvYnVmbGVuLCBleHBhbmQgb2J1ZiB1bnRpbCBvYnVmbGVuID4gY29sLiAqLworCXdoaWxlIChhY29sID49IG9idWZsZW4pIHsKKwkJLyogUGFyYW5vaWQgY2hlY2sgZm9yIG9idWZsZW4gPT0gSU5UX01BWC4gKi8KKwkJaWYgKG9idWZsZW4gPT0gSU5UX01BWCkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJJbnB1dCBsaW5lIHRvbyBsb25nLiIpKTsKKworCQkvKiBTaW1pbGFyIHBhcmFub2lhOiBkb3VibGUgb25seSB1cCB0byBJTlRfTUFYLiAqLworCQlpZiAob2J1ZmxlbiA8IChJTlRfTUFYIC8gMikpCisJCQlvYnVmbGVuICo9IDI7CisJCWVsc2UKKwkJCW9idWZsZW4gPSBJTlRfTUFYOworCisJCS8qIE5vdyB3ZSBjYW4gdHJ5IHRvIGV4cGFuZCBvYnVmLiAqLworCQlvYnVmID0geHJlYWxsb2Mob2J1Ziwgc2l6ZW9mKHN0cnVjdCBDSEFSKSAqIG9idWZsZW4pOworCX0KK30KKworc3RhdGljIHZvaWQgc2lnX2hhbmRsZXIoaW50IHNpZ25vIF9fYXR0cmlidXRlX18gKChfX3VudXNlZF9fKSkpCit7CisJX2V4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIHZvaWQgcHJpbnRfb3V0KGNoYXIgKmxpbmUpCit7CisJaWYgKGxpbmUgPT0gTlVMTCkKKwkJcmV0dXJuOworCisJcHV0d3AobGluZSk7Cit9CmRpZmYgLS1naXQgYS90b29scy9NYWtlbW9kdWxlLmFtIGIvdG9vbHMvTWFrZW1vZHVsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wM2YyYmU2Ci0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvTWFrZW1vZHVsZS5hbQpAQCAtMCwwICsxLDkgQEAKKworRVhUUkFfRElTVCArPSBcCisJdG9vbHMvZ2l0LXZlcnNpb24tZ2VuIFwKKwl0b29scy9jaGVja2NvbXBsZXRpb24uc2ggXAorICAgICAgIAl0b29scy9jaGVja2NvbmZpZy5zaCBcCisgICAgICAgCXRvb2xzL2NoZWNrZGVjbC5zaCBcCisgICAgICAJdG9vbHMvY2hlY2tpbmNsdWRlcy5wbCBcCisJdG9vbHMvY2hlY2ttYW5zLnNoIFwKKyAgICAgICAJdG9vbHMvY2hlY2t4YWxsb2Muc2gKZGlmZiAtLWdpdCBhL3Rvb2xzL2NoZWNrY29tcGxldGlvbi5zaCBiL3Rvb2xzL2NoZWNrY29tcGxldGlvbi5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mM2ZkZGE0Ci0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvY2hlY2tjb21wbGV0aW9uLnNoCkBAIC0wLDAgKzEsNDUgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgVGhpcyBzY3JpcHQgY2hlY2tzIGlmIHdlIGhhdmUgYmFzaC1jb21wbGV0aW9uIHNjcmlwdHMgZm9yIHRoZSBhbGwgY29tcGlsZWQKKyMgYmluYXJpZXMuCisjCisjIENvcHlyaWdodCAoQykgMjAxNiBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKworCitkaWUoKSB7CisJZWNobyAiZXJyb3I6ICQxIgorCWV4aXQgMQorfQorCit1c2FnZSgpIHsKKwllY2hvICJVc2FnZToiCisJZWNobyAiICQwIFs8dG9wX3NyY2Rpcj5dIgorfQorCisjIHVud2FudGVkIHNjcmlwdHMgLS0gdXNlIGdyZXAgLUUsIGUuZy4gKGFhYXxiYmJ8Y2NjKQorY29tcGxldGlvbl9leGNsdWRlPSIobm9sb2dpbikiCisKK3RvcF9zcmNkaXI9JHsxLSIuIn0KK2NvbXBsZXRpb25fZGlyPSIke3RvcF9zcmNkaXJ9L2Jhc2gtY29tcGxldGlvbiIKKworWyAtZCAiJHtjb21wbGV0aW9uX2Rpcn0iIF0gfHwgZGllICJub3QgZm91bmQgJHtjb21wbGV0aW9uX2Rpcn0iCisKK2Jpbl9maWxlcz0kKGNkICR7dG9wX3NyY2Rpcn0gJiYgZmluZCAqIC1tYXhkZXB0aCAwIC1wZXJtIC91K3ggXAorCQlcISAtdHlwZSBkIFwKKwkJXCEgLW5hbWUgXCouc2ggXCEgLW5hbWUgXCouY2FjaGUgXCEgLW5hbWUgXCouc3RhdHVzIFwKKwkJXCEgLW5hbWUgY29uZmlndXJlIFwhIC1uYW1lIGxpYnRvb2wgfCBzb3J0KQorCitjb21wbGV0aW9uX2ZpbGVzPSQoY2QgJHtjb21wbGV0aW9uX2Rpcn0vICYmIGZpbmQgKiAhIC1uYW1lICcqLmFtJyB8IHNvcnQgLXUpCitjb21wbGV0aW9uX21pc3Npbmc9JChjb21tIC0zIDwoZWNobyAiJGNvbXBsZXRpb25fZmlsZXMiKSA8KGVjaG8gIiRiaW5fZmlsZXMiKSkKKworaWYgWyAtbiAiJGNvbXBsZXRpb25fbWlzc2luZyIgLWEgLW4gIiRjb21wbGV0aW9uX2V4Y2x1ZGUiIF07IHRoZW4KKwljb21wbGV0aW9uX21pc3Npbmc9JChlY2hvICIkY29tcGxldGlvbl9taXNzaW5nIiB8IGdyZXAgLXYgLUUgIiRjb21wbGV0aW9uX2V4Y2x1ZGUiKQorZmkKKworaWYgWyAtbiAiJGNvbXBsZXRpb25fbWlzc2luZyIgXTsgdGhlbgorCWVjaG8gIk1pc3NpbmcgY29tcGxldGlvbiBzY3JpcHRzOiIKKwllY2hvICIkY29tcGxldGlvbl9taXNzaW5nIgorZmkKKwpkaWZmIC0tZ2l0IGEvdG9vbHMvY2hlY2tjb25maWcuc2ggYi90b29scy9jaGVja2NvbmZpZy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41ZjIwNjNhCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvY2hlY2tjb25maWcuc2gKQEAgLTAsMCArMSw2NCBAQAorIyEvYmluL3NoCisKKyMKKyMgVGhpcyBzY3JpcHQgY2hlY2tzIGZvciBIQVZFXyBhbmQgRU5BQkxFXyBtYWNyb3Mgd2hpY2ggYXJlCisjIG5vdCBpbmNsdWRlZCBpbiBjb25maWcuaC5pbgorIworIyBVc2FnZTogICBjaGVja2NvbmZpZy5zaCA8dG9wX3NyY2Rpcj4gPHNyY2ZpbGU+IFs8c3JjZmlsZT4gLi4uXQorIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgTWF0dGhpYXMgS29lbmlnIDxta29lbmlnQHN1c2UuZGU+CisjIENvcHlyaWdodCAoQykgMjAwOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKworCitkaWUoKSB7CisJZWNobyAiZXJyb3I6ICQxIgorCWV4aXQgMQorfQorCit1c2FnZSgpIHsKKwllY2hvICJVc2FnZToiCisJZWNobyAiICQwIDx0b3Bfc3JjZGlyPiA8c3JjZmlsZT4gWzxzcmNmaWxlPiAuLi5dIgorCWVjaG8gIkV4YW1wbGU6IgorCWVjaG8gIiBmaW5kIC4gLW5hbWUgJyouYycgfCB4YXJncyAkMCBcJChnaXQgcmV2LXBhcnNlIC0tc2hvdy10b3BsZXZlbCkiCit9CisKK2lmIFsgJCMgLWVxIDAgXTsgdGhlbgorCXVzYWdlCisJZXhpdCAxCitmaQorc3JjZGlyPSQxCitjb25maWc9IiRzcmNkaXIvY29uZmlnLmguaW4iCisKK1sgLWQgIiRzcmNkaXIiIF0gfHwgZGllICIkc3JjZGlyOiBub3Qgc3VjaCBkaXJlY3RvcnkuIgorWyAtZiAiJGNvbmZpZyIgXSB8fCBkaWUgIiRjb25maWc6IG5vdCBzdWNoIGZpbGUuIgorCitzaGlmdAorCit3aGlsZSBbICIkIyIgLW5lIDAgXTsgZG8KKwlzcmNmaWxlPSQxCisJc2hpZnQKKworCVsgISAtZiAiJHNyY2ZpbGUiIF0gJiYgY29udGludWU7CisKKwkjIE5vdGUgdGhhdCB3ZSB1c2UgSEFWRV8gbWFjcm9zIHNpbmNlIHV0aWwtbGludXgtbmctMi4xNC4gVGhlCisJIyBwcmV2aW91cyB2ZXJzaW9uIGFsc28gaGF2ZSB1c2VkIEVOQUJMRV8gdG9vLgorCSMKKwkjIEVOQUJMRV8gYW5kIEhBVkVfIG1hY3JvcyBzaG91bGRuJ3QgYmUgdXNlZCBmb3IgYW55IG90aGVyIHB1cG9zZSB0aGF0CisJIyBmb3IgY29uZmlnL2J1aWxkIG9wdGlvbnMuCisJIworCURFRklORVM9JChzZWQgLW4gLWUgJ3MvLipbIFx0KF1cK1woSEFWRV9bWzphbG51bTpdXVwrW14gXHQpO10qXCkuKi9cMS9wJyBcCisJCQkgLWUgJ3MvLipbIFx0KF1cK1woRU5BQkxFX1tbOmFsbnVtOl1dXCtbXiBcdCk7XSpcKS4qL1wxL3AnIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAkc3JjZmlsZSB8IHNvcnQgLXUpCisJWyAteiAiJERFRklORVMiIF0gJiYgY29udGludWUKKworCWZvciBkIGluICRERUZJTkVTOyBkbworCQljYXNlICRkIGluCisJCUhBVkVfQ09ORklHX0gpIGNvbnRpbnVlCisJCSAgIDs7CisJCSopIGdyZXAgLXEgIiRkXCggXHxcPlwpIiAkY29uZmlnIHx8IFwKKwkJICAgICBlY2hvICQoZWNobyAkc3JjZmlsZSB8IHNlZCAnczpcXCckc3JjZGlyLyc6OicpICI6ICRkIgorCSAgICAgICAgICAgOzsKKwkJZXNhYworCWRvbmUKK2RvbmUKZGlmZiAtLWdpdCBhL3Rvb2xzL2NoZWNrZGVjbC5zaCBiL3Rvb2xzL2NoZWNrZGVjbC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iZDllZTY5Ci0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvY2hlY2tkZWNsLnNoCkBAIC0wLDAgKzEsMjEgQEAKKyMhL2Jpbi9zaAorCisjCisjIFRoaXMgc2NyaXB0IGNoZWNrZCBmb3IgI2lmZGVmIEhBVkVfREVDTF9TWU1CT0wgaW4gY29kZS4KKyMKKyMgQXV0b2NvbmYgZG9jczoKKyMKKyMgVW5saWtlIHRoZSBvdGhlciBhdXRvY29uZiDigJhBQ19DSEVDS18qU+KAmSBtYWNyb3MsIHdoZW4gYSBzeW1ib2wgaXMgbm90CisjIGRlY2xhcmVkLCBIQVZFX0RFQ0xfc3ltYm9sIGlzIGRlZmluZWQgdG8g4oCYMOKAmSBpbnN0ZWFkIG9mIGxlYXZpbmcKKyMgSEFWRV9ERUNMX3N5bWJvbCB1bmRlY2xhcmVkLiBXaGVuIHlvdSBhcmUgc3VyZSB0aGF0IHRoZSBjaGVjayB3YXMgcGVyZm9ybWVkLAorIyB1c2UgSEFWRV9ERUNMX3N5bWJvbCBpbiAjaWYuCisjCisKK2lmIFsgISAtZiAuL2NvbmZpZ3VyZSBdOyB0aGVuCisJZWNobyAiTm90IGZvdW5kIGNvbmZpZ3VyZSBzY3JpcHQiCisJZXhpdCAxCitmaQorCitmb3IgZGVjbCBpbiAkKGF3ayAnL0hBVkVfREVDTF8uKmFjX2hhdmVfZGVjbC8geyBwcmludCAkMiB9JyBjb25maWd1cmUpOyBkbyAKKwlnaXQgZ3JlcCAtbkUgJ1tbOmJsYW5rOl1dKiNbWzpibGFuazpdXSppZihuZGVmfGRlZilbWzpibGFuazpdXSonJGRlY2w7Citkb25lIHwgc29ydCAtdQpkaWZmIC0tZ2l0IGEvdG9vbHMvY2hlY2tpbmNsdWRlcy5wbCBiL3Rvb2xzL2NoZWNraW5jbHVkZXMucGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGU2YjcxNgotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2NoZWNraW5jbHVkZXMucGwKQEAgLTAsMCArMSwyNCBAQAorIyEvdXNyL2Jpbi9wZXJsCisjCisjIGNoZWNraW5jbHVkZXM6IEZpbmQgZmlsZXMgaW5jbHVkZWQgbW9yZSB0aGFuIG9uY2UgaW4gKG90aGVyKSBmaWxlcy4KKyMgQ29weXJpZ2h0IGFiYW5kb25lZCwgMjAwMCwgTmllbHMgS3Jpc3RpYW4gQmVjaCBKZW5zZW4gPG5rYmpAaW1hZ2UuZGs+LgorCitmb3JlYWNoICRmaWxlIChAQVJHVikgeworCW9wZW4oRklMRSwgJGZpbGUpIG9yIGRpZSAiQ2Fubm90IG9wZW4gJGZpbGU6ICQhLlxuIjsKKworCW15ICVpbmNsdWRlZGZpbGVzID0gKCk7CisKKwl3aGlsZSAoPEZJTEU+KSB7CisJCWlmIChtL15ccyojXHMqaW5jbHVkZVxzKls8Il0oXFMqKVs+Il0vbykgeworCQkJKyskaW5jbHVkZWRmaWxlc3skMX07CisJCX0KKwl9CisJCisJZm9yZWFjaCAkZmlsZW5hbWUgKGtleXMgJWluY2x1ZGVkZmlsZXMpIHsKKwkJaWYgKCRpbmNsdWRlZGZpbGVzeyRmaWxlbmFtZX0gPiAxKSB7CisJCQlwcmludCAiJGZpbGU6ICRmaWxlbmFtZSBpcyBpbmNsdWRlZCBtb3JlIHRoYW4gb25jZS5cbiI7CisJCX0KKwl9CisKKwljbG9zZShGSUxFKTsKK30KZGlmZiAtLWdpdCBhL3Rvb2xzL2NoZWNrbWFucy5zaCBiL3Rvb2xzL2NoZWNrbWFucy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42M2RhM2Q3Ci0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvY2hlY2ttYW5zLnNoCkBAIC0wLDAgKzEsMTgwIEBACisjIS9iaW4vYmFzaAorIworIyBGaW5kIGFsbCBtYW4gcGFnZXMsIGFuZCBjaGVjayB0aGV5IGRvIG5vdCBoYXZlIGdyb2ZmIHN5bnRheCBlcnJvcnMKKyMgb3Igd2FybmluZ3MuCisjCisjIFNhbWkgS2Vyb2xhIDxrZXJvbGFzYUBpa2kuZmk+CisKK3NldCAtZQkJIyBleGl0IG9uIGVycm9ycworc2V0IC1vIHBpcGVmYWlsCSMgZXhpdCBpZiBwaXBlIHdyaXRlciBmYWlscworc2V0IC11CQkjIGRpc2FsbG93IHVzYWdlIG9mIHVuc2V0IHZhcmlhYmxlcworc2V0IC1DCQkjIGRpc2FsbG93IHJlZGlyZWN0aW9uIGZpbGUgb3ZlcndyaXRpbmcKK1NDUklQVF9JTlZPQ0FUSU9OX1NIT1JUX05BTUU9JChiYXNlbmFtZSAkezB9KQordHJhcCAnZWNobyAiJHtTQ1JJUFRfSU5WT0NBVElPTl9TSE9SVF9OQU1FfTogZXhpdCBvbiBlcnJvciI7IGV4aXQgMScgRVJSCisKK3VzYWdlKCkgeworCWVjaG8gIlVzYWdlOiAkezB9IFstdlZoXSIKKwllY2hvICIgLXYgIHZlcmJvc2UgbWVzc2FnaW5nIgorCWVjaG8gIiAtViAgcHJpbnQgdmVyc2lvbiBhbmQgZXhpdCIKKwllY2hvICIgLWggIHByaW50IHRoaXMgaGVscCBhbmQgZXhpdCIKK30KKworVkVSQk9TRT0nZmFsc2UnCit3aGlsZSBnZXRvcHRzIHZWaCBPUFRJT05TOyBkbworCWNhc2UgJHtPUFRJT05TfSBpbgorCQl2KQorCQkJVkVSQk9TRT0ndHJ1ZScKKwkJCTs7CisJCVYpCisJCQllY2hvICJ1dGlsLWxpbnV4OiAke1NDUklQVF9JTlZPQ0FUSU9OX1NIT1JUX05BTUV9OiB2Mi4xIgorCQkJZXhpdCAwCisJCQk7OworCQloKQorCQkJdXNhZ2UKKwkJCWV4aXQgMAorCQkJOzsKKwkJKikKKwkJCXVzYWdlCisJCQlleGl0IDEKKwllc2FjCitkb25lCisKKyMgVHJ5IHRvIGZpbmQgbWlzc2luZyBtYW51YWxzIG1hdGNoaW5nIGJ1aWxkIHRhcmdldHMgd2l0aCBtYW51YWwgZmlsZXMuCitkZWNsYXJlIC1BIE1BTl9MSVNUIEJJTl9MSVNUCisKK2RlY2xhcmUgLWkgSVRFUgorZGVjbGFyZSAtaSBDT1VOVF9HUk9HPTAKK2RlY2xhcmUgLWkgQ09VTlRfVFJPRkY9MAorZGVjbGFyZSAtaSBDT1VOVF9SRVBFQVRTPTAKK2RlY2xhcmUgLWEgUkVQRUFUUworZGVjbGFyZSAtQSBLTk9XTl9SRVBFQVRTCitLTk9XTl9SRVBFQVRTW21vdW50LjhdPSdmb28gbDIgbCBjJworS05PV05fUkVQRUFUU1toZXhkdW1wLjFdPSdsJworS05PV05fUkVQRUFUU1tmbG9jay4xXT0nIiQwIicKK0tOT1dOX1JFUEVBVFNbc3dpdGNoX3Jvb3QuOF09JyRESVInCisKK3JlbW92ZV9yZXBlYXRzKCkKK3sKKwlzZXQgK3UKKwlmb3IgS04gaW4gJHtLTk9XTl9SRVBFQVRTWyR7SSMjKi99XX07IGRvCisJCWlmIFsgIiR7S059IiA9ICIke1JFUEVBVFNbJDFdfSIgXTsgdGhlbgorCQkJaWYgJFZFUkJPU0U7IHRoZW4KKwkJCQllY2hvICJpbmZvOiAke0l9IHJlbW92aW5nIHJlcGVhdDogJHtSRVBFQVRTWyQxXX0iCisJCQlmaQorCQkJdW5zZXQgUkVQRUFUU1skMV0KKwkJZmkKKwlkb25lCisJc2V0IC11Cit9CisKK2NkICQoZ2l0IHJldi1wYXJzZSAtLXNob3ctdG9wbGV2ZWwpCisKK2ZvciBJIGluICQoCisJZmluZCAuIC10eXBlIGYgLW5hbWUgJypbWzphbHBoYTpdXS5bMS04XScgfGdyZXAgLXYgImF1dG9tNHRlLmNhY2hlXHxcLmxpYnMvIgorKTsgZG8KKwlNQU5fRklMRT0ke0kjIyovfQorCU1BTl9MSVNUWyR7TUFOX0ZJTEUlJS5bMC05XX1dPTEKKwlpZiBhd2sgJ3tpZiAoMSA8IE5SKSB7ZXhpdCAxfTsgaWYgKCQxIH4gL14uc28kLykge2V4aXQgMH19JyAke0l9OyB0aGVuCisJCSMgU29tZSBtYW51YWxzLCBzdWNoIGFzIHg4Nl82NCwgY2FsbCBpbmNsdXNpb24gYW5kIHRoZXkKKwkJIyBzaG91bGQgbm90IGJlIHRlc3RlZCBhbnkgZnVydGhlci4KKwkJaWYgJHtWRVJCT1NFfTsgdGhlbgorCQkJcHJpbnRmICJza2lwcGluZzogJHtJfTogaW5jbHVkZXMgIgorCQkJYXdrICd7cHJpbnQgJDJ9JyAke0l9CisJCWZpCisJCWNvbnRpbnVlCisJZmkKKwlpZiAke1ZFUkJPU0V9OyB0aGVuCisJCWVjaG8gInRlc3Rpbmc6ICR7SX0iCisJZmkKKwlSRVQ9MQorCWNhdCAke0l9IHwgdHJvZmYgLW1hbmRvYyAtd3cgLXogfCYgZ3JlcCAiPCIgJiYgUkVUPSQ/CisJaWYgWyAkUkVUID0gMCBdOyB0aGVuCisJZWNobyAiRnJvbTogY2F0ICR7SX0gfCB0cm9mZiAtbWFuZG9jIC13dyAteiIKKwllY2hvICI9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSIKKwkoKCsrQ09VTlRfVFJPRkYpKQorCWZpCisJR1JPRz0xCisJaWYgY29tbWFuZCAtdiBsZXhncm9nICY+IC9kZXYvbnVsbDsgdGhlbgorCQlpZiAhIGxleGdyb2cgJHtJfSA+L2Rldi9udWxsOyB0aGVuCisJCQllY2hvICJlcnJvcjogcnVuOiBsZXhncm9nICR7SX0iCisJCQllY2hvICI9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSIKKwkJCSgoKytDT1VOVF9HUk9HKSkKKwkJZmkKKwllbGlmIGNvbW1hbmQgLXYgZ3JvZyAmPiAvZGV2L251bGw7IHRoZW4KKwkJaWYgISBncm9nICR7SX0gfCBncmVwIG1hbiA+L2Rldi9udWxsOyB0aGVuCisJCQllY2hvICJlcnJvcjogZ3JvZyAke0l9IGlzIG5vdCBhIG1hbiBmaWxlIgorCQkJZWNobyAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iCisJCQkoKCsrQ09VTlRfR1JPRykpCisJCWZpCisJZWxzZQorCQlHUk9HPTAKKwlmaQorCVJFUEVBVFM9KCAkKGNhdCAke0l9IHwgdHJvZmYgLW1hbmRvYyAtVGFzY2lpIDI+L2Rldi9udWxsIHwgZ3JvdHR5IHwKKwkJY29sIC1iIHwKKwkJc2VkICAtZSAncy9cc1wrL1xuL2c7IC9eJC9kJyB8CisJCWF3ayAnQkVHSU4geyBwPSIiIH0geyBpZiAoMCA8IGxlbmd0aCgkMCkpIHsgaWYgKHAgPT0gJDApIHsgcHJpbnQgfSB9IHAgPSAkMCB9JykgKQorCWlmIFsgMCAtbHQgIiR7I1JFUEVBVFNbQF19IiBdOyB0aGVuCisJCUlURVI9JHsjUkVQRUFUU1tAXX0rMQorCQl3aGlsZSAoKElURVItLSkpOyBkbworCQkJcmVtb3ZlX3JlcGVhdHMgJHtJVEVSfQorCQlkb25lCisJCWlmIFsgMCAtbHQgIiR7I1JFUEVBVFNbQF19IiBdOyB0aGVuCisJCQllY2hvICJ3YXJuaW5nOiAke0l9IGhhcyByZXBlYXRpbmcgd29yZHM6ICR7UkVQRUFUU1tAXX0iCisJCQllY2hvICI9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSIKKwkJCSgoKytDT1VOVF9SRVBFQVRTKSkKKwkJZmkKKwlmaQorZG9uZQorCisjIENyZWF0ZSBhIGxpc3Qgb2YgYnVpbGQgdGFyZ2V0cy4KK2ZvciBJIGluICQoZmluZCAkKGdpdCByZXYtcGFyc2UgLS1zaG93LXRvcGxldmVsKSAtbmFtZSAnTWFrZSouYW0nIHwgeGFyZ3MgYXdrICcKKyQxIH4gL19TT1VSQ0VTLyB7CisJaWYgKCQxIH4gL150ZXN0LyB8fAorCSAgICAkMSB+IC9ebm8oaW5zdHxkaXN0KS8gfHwKKwkgICAgJDEgfiAvXnNhbXBsZS8gfHwKKwkgICAgJDEgfiAvXkJVSUxULykgeworCQluZXh0CisJfQorCXN1YigvX1NPVVJDRVMvLCAiIikKKwlpZiAoJDEgfiAvXmxpYi4qX2xhLykgeworCQluZXh0CisJfQorCXN1YigvX3N0YXRpYy8sICIiKQorCWdzdWIoL18vLCAiLiIpCisJc3ViKC9zd2l0Y2gucm9vdC8sICJzd2l0Y2hfcm9vdCIpCisJc3ViKC9waXZvdC5yb290LywgInBpdm90X3Jvb3QiKQorCXByaW50ICQxCit9Jyk7IGRvCisJQklOX0xJU1RbJEldPTEKK2RvbmUKKworIyBGaW5kIGlmIGJ1aWxkIHRhcmdldCBkb2VzIG5vdCBoYXZlIG1hbnVhbC4KK3NldCArdQorZm9yIEkgaW4gJHshQklOX0xJU1RbQF19OyBkbworCWlmIFsgLXYgJHtNQU5fTElTVFskSV19IF07IHRoZW4KKwkJZWNobyAid2FybmluZzogJHtTQ1JJUFRfSU5WT0NBVElPTl9TSE9SVF9OQU1FfTogJHtJfSBkb2VzIG5vdCBoYXZlIG1hbiBwYWdlIgorCWZpCitkb25lCitzZXQgLXUKKworZWNobyAiJHtTQ1JJUFRfSU5WT0NBVElPTl9TSE9SVF9OQU1FfTogJHsjQklOX0xJU1RbKl19IGJ1aWxkIHRhcmdldHMgd2VyZSBmb3VuZCIKK2VjaG8gIiR7U0NSSVBUX0lOVk9DQVRJT05fU0hPUlRfTkFNRX06ICR7I01BTl9MSVNUWypdfSBmaWxlcyB3ZXJlIHRlc3RlZCIKKworaWYgWyAke0dST0d9ID0gMCBdOyB0aGVuCitlY2hvICJ3YXJuaW5nOiBuZWl0aGVyIGdyb2cgbm9yIGxleGdyb2cgY29tbWFuZHMgd2VyZSBmb3VuZCIKK2ZpCisKK2lmIFsgJHtDT1VOVF9HUk9HfSAtbmUgMCAtbyAke0NPVU5UX1RST0ZGfSAtbmUgMCAtbyAke0NPVU5UX1JFUEVBVFN9IC1uZSAwIF07IHRoZW4KKwllY2hvICJlcnJvcjogJHtTQ1JJUFRfSU5WT0NBVElPTl9TSE9SVF9OQU1FfTogJHtDT1VOVF9HUk9HfSBmaWxlcyBmYWlsZWQgKGxleClncm9nIG1hbi1wYWdlIHRlc3QiCisJZWNobyAiZXJyb3I6ICR7U0NSSVBUX0lOVk9DQVRJT05fU0hPUlRfTkFNRX06ICR7Q09VTlRfVFJPRkZ9IGZpbGVzIGZhaWxlZCB0cm9mZiBwYXJzaW5nIHRlc3QiCisJZWNobyAiZXJyb3I6ICR7U0NSSVBUX0lOVk9DQVRJT05fU0hPUlRfTkFNRX06ICR7Q09VTlRfUkVQRUFUU30gZmlsZXMgaGF2ZSByZXBlYXRpbmcgd29yZHMiCisJSVRFUj0keyNNQU5fTElTVFsqXX0tJHtDT1VOVF9HUk9HfS0ke0NPVU5UX1RST0ZGfS0ke0NPVU5UX1JFUEVBVFN9CisJZWNobyAiJHtTQ1JJUFRfSU5WT0NBVElPTl9TSE9SVF9OQU1FfTogJHtJVEVSfSBtYW4tcGFnZXMgYXBwcm92ZWQiCisJZXhpdCAxCitmaQorCitpZiAhICR7VkVSQk9TRX07IHRoZW4KKwllY2hvICIke1NDUklQVF9JTlZPQ0FUSU9OX1NIT1JUX05BTUV9OiBzdWNjZXNzIgorZmkKKworZXhpdCAwCmRpZmYgLS1naXQgYS90b29scy9jaGVja3hhbGxvYy5zaCBiL3Rvb2xzL2NoZWNreGFsbG9jLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNjMzQyNTQKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9jaGVja3hhbGxvYy5zaApAQCAtMCwwICsxLDIzIEBACisjIS9iaW4vc2gKKyMKKyMgRmluZCBmaWxlcyB3aGljaCBpbmNsdWRlIHRoZSB4YWxsb2MuaCBoZWFkZXIsIGJ1dCB3aGljaCBzdGlsbCBjYWxsCisjIHRoZSB1bndyYXBwZWQgY2FsbG9jIGFuZCBtYWxsb2MuCisjCisKK2NkICIkKGdpdCByZXYtcGFyc2UgLS1zaG93LXRvcGxldmVsKSIgfHwgeworICBlY2hvICJlcnJvcjogZmFpbGVkIHRvIGNoZGlyIHRvIGdpdCByb290IgorICBleGl0IDEKK30KKworZ2l0IGdyZXAgLXpsICcjaW5jbHVkZSAieGFsbG9jLmgiJyB8CisgIHhhcmdzIC0wIGdyZXAgLW5FICdcYigoW2NtXXxyZSlhbGxvY3xzdHJkdXB8YXNwcmludGYpW1s6c3BhY2U6XV0qXChbXildJworCityZXN1bHQ9JD8KKworaWYgWyAkcmVzdWx0IC1lcSAxMjMgXTsgdGhlbgorCWV4aXQgMAkJCSMgbm90IGZvdW5kCitlbGlmIFsgJHJlc3VsdCAtZXEgMCBdOyB0aGVuCisJZXhpdCAxCQkJIyBmb3VuZAorZmkKKworZXhpdCAkcmVzdWx0CmRpZmYgLS1naXQgYS90b29scy9jb25maWctZ2VuIGIvdG9vbHMvY29uZmlnLWdlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41ZmViZGM0Ci0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvY29uZmlnLWdlbgpAQCAtMCwwICsxLDQ1IEBACisjIS9iaW4vc2gKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDExIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPiAKKyMgCisKK3Rlc3QgLWYgc3lzLXV0aWxzL21vdW50LmMgfHwgeworCWVjaG8KKwllY2hvICJZb3UgbXVzdCBydW4gdGhpcyBzY3JpcHQgaW4gdGhlIHRvcC1sZXZlbCB1dGlsLWxpbnV4IGRpcmVjdG9yeSIKKwllY2hvCisJZXhpdCAxCit9CisKKy4gdG9vbHMvY29uZmlnLWdlbi1mdW5jdGlvbnMuc2gKKworaWYgWyAkIyAtZXEgMCBdOyB0aGVuCisJZWNobyAiVGhpcyBzY3JpcHQgcmVxdWlyZXMgYXQgbGVhc3Qgb25lIG9mIHRoZSBmb2xsb3ZpbmcgYXJndW1lbnRzOiIKKwljZCB0b29scy9jb25maWctZ2VuLmQKKwlmb3IgaSBpbiAqLmNvbmY7IGRvCisJCWVjaG8gIiAgJHtpJSUuY29uZn0iCisJZG9uZQorCWV4aXQgMQorZmkKKword2hpbGUgWyAtbiAiJDEiIF07IGRvCisJb3B0cz0iJG9wdHMgJCh1bF9nZXRfY29uZmlndXJhdGlvbiB0b29scy9jb25maWctZ2VuLmQvJDEuY29uZikiCisJc2hpZnQKK2RvbmUKKworb3B0cz0kKGVjaG8gJG9wdHMgfCB0ciAiICIgIlxuIiB8IHNvcnQgLXUpCitlY2hvICJDb25maWd1cmUgb3B0aW9uczoiCitmb3IgeCBpbiAkb3B0czsgZG8KKwllY2hvICIJJHgiCitkb25lCitpZiBbIC1uICIkQ0ZMQUdTIiBdOyB0aGVuCisJZWNobyAiQ0ZMQUdTOgkkQ0ZMQUdTIgorCUNGTEFHUz0iJENGTEFHUyIKKwlleHBvcnQgQ0ZMQUdTCitmaQorCitpZiBbICEgLWYgLi9jb25maWd1cmUgXTsgdGhlbgorCS4vYXV0b2dlbi5zaAorZmkKKworZWNobworLi9jb25maWd1cmUgJG9wdHMKZGlmZiAtLWdpdCBhL3Rvb2xzL2NvbmZpZy1nZW4tZnVuY3Rpb25zLnNoIGIvdG9vbHMvY29uZmlnLWdlbi1mdW5jdGlvbnMuc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTdlNWE0MQotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2NvbmZpZy1nZW4tZnVuY3Rpb25zLnNoCkBAIC0wLDAgKzEsMzMgQEAKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDExIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPiAKKyMKKworCisjIFJldHVybnMgY29uZmlndXJlIG9wdGlvbnMgZnJvbSBzZWxlY3RlZCBjb25maWcgZmlsZQorIworIyAgICB1bF9nZXRfY29uZmlndXJhdGlvbiA8Y29uZmlnLWZpbGU+CisjCisjIGZvciBleGFtcGxlCisjCisjICAgIHVsX2dldF9jb25maWd1cmF0aW9uICR0b3Bfc3JjZGlyL3Rvb2xzL2NvbmZpZy1nZW4uZC9hbGwKKyMKK3VsX2dldF9jb25maWd1cmF0aW9uKCkgeworCWxvY2FsIGNvbmY9IiQxIgorCWxvY2FsIGRpcj0kKGRpcm5hbWUgJDEpCisJbG9jYWwgb3B0cz0kKGNhdCAkY29uZikKKwlsb2NhbCBvbGRfb3B0cz0KKworCXdoaWxlIFsgIiRvcHRzIiAhPSAiJG9sZF9vcHRzIiBdOyBkbworCQlsb2NhbCBuZXdfb3B0cz0KKworCQlvbGRfb3B0cz0iJG9wdHMiCisJCWZvciBjaXRlbSBpbiAkb3B0czsgZG8KKwkJCWNhc2UgJGNpdGVtIGluCisJCQlpbmNsdWRlOiopIG5ld19vcHRzPSIkbmV3X29wdHMgJChjYXQgJGRpci8ke2NpdGVtIyMqOn0pIiA7OworCQkJKikgbmV3X29wdHM9IiRuZXdfb3B0cyAkY2l0ZW0iIDs7CisJCQllc2FjCisJCWRvbmUKKwkJb3B0cz0iJG5ld19vcHRzIgorCWRvbmUKKwllY2hvICRvcHRzIHwgdHIgIiAiICJcbiIgfCBzb3J0IC11Cit9CmRpZmYgLS1naXQgYS90b29scy9jb25maWctZ2VuLmQvYWxsLW5vbi1ubHMuY29uZiBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9hbGwtbm9uLW5scy5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4ZmM2ZmUKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9jb25maWctZ2VuLmQvYWxsLW5vbi1ubHMuY29uZgpAQCAtMCwwICsxLDIgQEAKK2luY2x1ZGU6YWxsLmNvbmYKK2luY2x1ZGU6bm9uLW5scy5jb25mCmRpZmYgLS1naXQgYS90b29scy9jb25maWctZ2VuLmQvYWxsLmNvbmYgYi90b29scy9jb25maWctZ2VuLmQvYWxsLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg4NjBhMQotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9hbGwuY29uZgpAQCAtMCwwICsxLDUgQEAKK2luY2x1ZGU6Y29yZS5jb25mCisKKy0tZW5hYmxlLWFsbC1wcm9ncmFtcworLS1lbmFibGUtbG9naW4tc3RhdC1tYWlsCistLXdpdGgtc21hY2sKZGlmZiAtLWdpdCBhL3Rvb2xzL2NvbmZpZy1nZW4uZC9hdWRpdC5jb25mIGIvdG9vbHMvY29uZmlnLWdlbi5kL2F1ZGl0LmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjA0Yjc4ZAotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9hdWRpdC5jb25mCkBAIC0wLDAgKzEsMyBAQAoraW5jbHVkZTpjb3JlLmNvbmYKKworLS13aXRoLWF1ZGl0CmRpZmYgLS1naXQgYS90b29scy9jb25maWctZ2VuLmQvY2hmbnNoLWxpYnVzZXIuY29uZiBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9jaGZuc2gtbGlidXNlci5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliYjZiZmUKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9jb25maWctZ2VuLmQvY2hmbnNoLWxpYnVzZXIuY29uZgpAQCAtMCwwICsxLDUgQEAKK2luY2x1ZGU6YXVkaXQuY29uZgoraW5jbHVkZTpzZWxpbnV4LmNvbmYKKworLS1lbmFibGUtY2hmbi1jaHNoCistLXdpdGgtdXNlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvY29uZmlnLWdlbi5kL2NoZm5zaC1uby1wYXNzd29yZC5jb25mIGIvdG9vbHMvY29uZmlnLWdlbi5kL2NoZm5zaC1uby1wYXNzd29yZC5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiYTQyNjQKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9jb25maWctZ2VuLmQvY2hmbnNoLW5vLXBhc3N3b3JkLmNvbmYKQEAgLTAsMCArMSw2IEBACitpbmNsdWRlOmF1ZGl0LmNvbmYKK2luY2x1ZGU6c2VsaW51eC5jb25mCisKKy0tZW5hYmxlLWNoZm4tY2hzaAorLS1kaXNhYmxlLWNoZm4tY2hzaC1wYXNzd29yZAorLS13aXRob3V0LXVzZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2NvbmZpZy1nZW4uZC9jaGZuc2gtcGFtLmNvbmYgYi90b29scy9jb25maWctZ2VuLmQvY2hmbnNoLXBhbS5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4NTlmNTgKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9jb25maWctZ2VuLmQvY2hmbnNoLXBhbS5jb25mCkBAIC0wLDAgKzEsNiBAQAoraW5jbHVkZTphdWRpdC5jb25mCitpbmNsdWRlOnNlbGludXguY29uZgorCistLWVuYWJsZS1jaGZuLWNoc2gKKy0tZW5hYmxlLWNoZm4tY2hzaC1wYXNzd29yZAorLS13aXRob3V0LXVzZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2NvbmZpZy1nZW4uZC9jb3JlLmNvbmYgYi90b29scy9jb25maWctZ2VuLmQvY29yZS5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhYmY0ZTAKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9jb25maWctZ2VuLmQvY29yZS5jb25mCkBAIC0wLDAgKzEsMiBAQAorLS1kaXNhYmxlLXJwYXRoCistLWRpc2FibGUtbWFrZWluc3RhbGwtY2hvd24KZGlmZiAtLWdpdCBhL3Rvb2xzL2NvbmZpZy1nZW4uZC9kZXZlbC1ub24tZG9jcy5jb25mIGIvdG9vbHMvY29uZmlnLWdlbi5kL2RldmVsLW5vbi1kb2NzLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzcxZmQ3ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9kZXZlbC1ub24tZG9jcy5jb25mCkBAIC0wLDAgKzEsNSBAQAoraW5jbHVkZTphbGwuY29uZgoraW5jbHVkZTphdWRpdC5jb25mCitpbmNsdWRlOnNlbGludXguY29uZgorCistLXdpdGgtdXRlbXB0ZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2NvbmZpZy1nZW4uZC9kZXZlbC5jb25mIGIvdG9vbHMvY29uZmlnLWdlbi5kL2RldmVsLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTI5OGNjYwotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9kZXZlbC5jb25mCkBAIC0wLDAgKzEsNiBAQAoraW5jbHVkZTphbGwuY29uZgoraW5jbHVkZTphdWRpdC5jb25mCitpbmNsdWRlOnNlbGludXguY29uZgorCistLWVuYWJsZS1ndGstZG9jCistLXdpdGgtdXRlbXB0ZXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2NvbmZpZy1nZW4uZC9kaXNhYmxlLWFsbC5jb25mIGIvdG9vbHMvY29uZmlnLWdlbi5kL2Rpc2FibGUtYWxsLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWQxNzhiMgotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9kaXNhYmxlLWFsbC5jb25mCkBAIC0wLDAgKzEgQEAKKy0tZGlzYWJsZS1hbGwtcHJvZ3JhbXMKZGlmZiAtLWdpdCBhL3Rvb2xzL2NvbmZpZy1nZW4uZC9lbmFibGUtc2NoZWR1dGlscy5jb25mIGIvdG9vbHMvY29uZmlnLWdlbi5kL2VuYWJsZS1zY2hlZHV0aWxzLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDhkZWVlNAotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9lbmFibGUtc2NoZWR1dGlscy5jb25mCkBAIC0wLDAgKzEsMyBAQAoraW5jbHVkZTpkaXNhYmxlLWFsbC5jb25mCisKKy0tZW5hYmxlLXNjaGVkdXRpbHMKZGlmZiAtLWdpdCBhL3Rvb2xzL2NvbmZpZy1nZW4uZC9ub24tbGliYmxraWQuY29uZiBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9ub24tbGliYmxraWQuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iM2E3NDUyCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvY29uZmlnLWdlbi5kL25vbi1saWJibGtpZC5jb25mCkBAIC0wLDAgKzEsMyBAQAoraW5jbHVkZTpjb3JlLmNvbmYKKworLS1kaXNhYmxlLWxpYmJsa2lkCmRpZmYgLS1naXQgYS90b29scy9jb25maWctZ2VuLmQvbm9uLWxpYm1vdW50LmNvbmYgYi90b29scy9jb25maWctZ2VuLmQvbm9uLWxpYm1vdW50LmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGFlOWQ2MAotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9ub24tbGlibW91bnQuY29uZgpAQCAtMCwwICsxLDMgQEAKK2luY2x1ZGU6Y29yZS5jb25mCisKKy0tZGlzYWJsZS1saWJtb3VudApkaWZmIC0tZ2l0IGEvdG9vbHMvY29uZmlnLWdlbi5kL25vbi1saWJzLmNvbmYgYi90b29scy9jb25maWctZ2VuLmQvbm9uLWxpYnMuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNzNlOGFkCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvY29uZmlnLWdlbi5kL25vbi1saWJzLmNvbmYKQEAgLTAsMCArMSw1IEBACitpbmNsdWRlOmNvcmUuY29uZgoraW5jbHVkZTpub24tbGliYmxraWQuY29uZgoraW5jbHVkZTpub24tbGlibW91bnQuY29uZgoraW5jbHVkZTpub24tbGlidXVpZC5jb25mCitpbmNsdWRlOm5vbi1saWJzbWFydGNvbHMuY29uZgpkaWZmIC0tZ2l0IGEvdG9vbHMvY29uZmlnLWdlbi5kL25vbi1saWJzbWFydGNvbHMuY29uZiBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9ub24tbGlic21hcnRjb2xzLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWEyNzNiZgotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9ub24tbGlic21hcnRjb2xzLmNvbmYKQEAgLTAsMCArMSwzIEBACitpbmNsdWRlOmNvcmUuY29uZgorCistLWRpc2FibGUtbGlic21hcnRjb2xzCmRpZmYgLS1naXQgYS90b29scy9jb25maWctZ2VuLmQvbm9uLWxpYnV1aWQuY29uZiBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9ub24tbGlidXVpZC5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhYzA2MjkKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9jb25maWctZ2VuLmQvbm9uLWxpYnV1aWQuY29uZgpAQCAtMCwwICsxLDMgQEAKK2luY2x1ZGU6Y29yZS5jb25mCisKKy0tZGlzYWJsZS1saWJ1dWlkCmRpZmYgLS1naXQgYS90b29scy9jb25maWctZ2VuLmQvbm9uLW5scy5jb25mIGIvdG9vbHMvY29uZmlnLWdlbi5kL25vbi1ubHMuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMjlhZDlhCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvY29uZmlnLWdlbi5kL25vbi1ubHMuY29uZgpAQCAtMCwwICsxLDMgQEAKK2luY2x1ZGU6Y29yZS5jb25mCisKKy0tZGlzYWJsZS1ubHMKZGlmZiAtLWdpdCBhL3Rvb2xzL2NvbmZpZy1nZW4uZC9zZWxpbnV4LmNvbmYgYi90b29scy9jb25maWctZ2VuLmQvc2VsaW51eC5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4OGNmNTUKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9jb25maWctZ2VuLmQvc2VsaW51eC5jb25mCkBAIC0wLDAgKzEsMyBAQAoraW5jbHVkZTpjb3JlLmNvbmYKKworLS13aXRoLXNlbGludXgKZGlmZiAtLWdpdCBhL3Rvb2xzL2NvbmZpZy1nZW4uZC9zbGFuZy5jb25mIGIvdG9vbHMvY29uZmlnLWdlbi5kL3NsYW5nLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWUyMDk5MwotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9zbGFuZy5jb25mCkBAIC0wLDAgKzEsMyBAQAoraW5jbHVkZTpjb3JlLmNvbmYKKworLS13aXRoLXNsYW5nCmRpZmYgLS1naXQgYS90b29scy9jb25maWctZ2VuLmQvc3RhdGljLmNvbmYgYi90b29scy9jb25maWctZ2VuLmQvc3RhdGljLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmMxOTI4MwotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9zdGF0aWMuY29uZgpAQCAtMCwwICsxLDMgQEAKK2luY2x1ZGU6Y29yZS5jb25mCisKKy0tZW5hYmxlLXN0YXRpYy1wcm9ncmFtcwpkaWZmIC0tZ2l0IGEvdG9vbHMvZ2l0LXRwLXN5bmMgYi90b29scy9naXQtdHAtc3luYwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMmUyZDhkCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvZ2l0LXRwLXN5bmMKQEAgLTAsMCArMSw1OCBAQAorIyEvYmluL2Jhc2gKKyMKKyMgZ2l0LXRwLXN5bmMgLSBkb3dubG9hZHMgdGhlIGxhdGVzdCBQTyBmaWxlcyBmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcKKyMgICAgICAgICAgICAgICBhbmQgY29tbWl0cyBjaGFuZ2VzIHRvIHlvdXIgR0lUIHJlcG9zaXRvcnkuCisjCisjIEZlYXR1cmVzOgorIyAgICAgICAgICAgICAtIGNvbW1pdCBwZXIgUE8gZmlsZSAobm8gbW9yZSBodWdlIGNvbW1pdHMgZm9yIGFsbCAucG8gZmlsZXMpCisjICAgICAgICAgICAgIC0gdGhlIGNvbW1pdCAiQXV0aG9yOiIgZmllbGQgaXMgc2V0IGFjY29yZGluZyB0byB0aGUgTGFzdC1UcmFuc2xhdG9yCisjCisjIENvcHlyaWdodCAoQykgMjAwNy0yMDE2IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitQUk9KRUNUPSJ1dGlsLWxpbnV4IgoraWYgWyAtbiAiJDEiIF07IHRoZW4KKwl3aGlsZSAoKCAiJCMiICkpOyBkbworCQlpZiBbIC1uICIkMSIgXTsgdGhlbgorCQkJcnN5bmMgIC1McnR2eiAgcnN5bmM6Ly90cmFuc2xhdGlvbnByb2plY3Qub3JnL3RwL2xhdGVzdC8kUFJPSkVDVC8kMS5wbyBwbworCQlmaQorCQlzaGlmdAorCWRvbmUKK2Vsc2UKKwlyc3luYyAgLUxydHZ6ICByc3luYzovL3RyYW5zbGF0aW9ucHJvamVjdC5vcmcvdHAvbGF0ZXN0LyRQUk9KRUNULyBwbworZmkKKworUE9fTkVXPSQoZ2l0IGxzLWZpbGVzIC1vIHwgZ2F3ayAnL3BvXC9bWzphbHBoYTpdX1wtXSpcLnBvLyB7IHN1YigicG8vIiwgIiIpOyBwcmludCAkMDsgfScgfCBzb3J0KQorUE9fTU9EPSQoZ2l0IGxzLWZpbGVzIC1tIHwgZ2F3ayAnL3BvXC9bWzphbHBoYTpdX1wtXSpcLnBvLyB7IHN1YigicG8vIiwgIiIpOyBwcmludCAkMDsgfScgfCBzb3J0KQorCitmdW5jdGlvbiBnZXRfYXV0aG9yIHsKKwllY2hvICQoZ2F3ayAnQkVHSU4geyBGUz0iOiAiIH0gL0xhc3QtVHJhbnNsYXRvci8geyBzdWIoIlxcXFxuXCIiLCAiIik7IHByaW50ICQyIH0nICIkMSIpCit9CisKK2Z1bmN0aW9uIGRvX2NvbW1pdCB7CisJbG9jYWwgUE9GSUxFPSIkMSIKKwlsb2NhbCBNU0c9IiQyIgorCWxvY2FsIEFVVEhPUj0kKGdldF9hdXRob3IgIiRQT0ZJTEUiKQorCisJZ2l0IGNvbW1pdCAtLWF1dGhvciAiJEFVVEhPUiIgLW0gIiRNU0ciICIkUE9GSUxFIgorfQorCitmb3IgZiBpbiAkUE9fTU9EOyBkbworCWRvX2NvbW1pdCAicG8vJGYiICJwbzogdXBkYXRlICRmIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpIgorZG9uZQorCitmb3IgZiBpbiAkUE9fTkVXOyBkbworCWdpdCBhZGQgInBvLyRmIgorCWRvX2NvbW1pdCAicG8vJGYiICJwbzogYWRkICRmIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpIgorZG9uZQorCmRpZmYgLS1naXQgYS90b29scy9naXQtdmVyc2lvbi1nZW4gYi90b29scy9naXQtdmVyc2lvbi1nZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWRmMjBjMwotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2dpdC12ZXJzaW9uLWdlbgpAQCAtMCwwICsxLDE4MSBAQAorIyEvYmluL3NoCisjIFByaW50IGEgdmVyc2lvbiBzdHJpbmcuCitzY3JpcHR2ZXJzaW9uPTIwMTEtMDItMTkuMTk7ICMgVVRDCisKKyMgQ29weXJpZ2h0IChDKSAyMDA3LTIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCisjIFRoaXMgc2NyaXB0IGlzIGRlcml2ZWQgZnJvbSBHSVQtVkVSU0lPTi1HRU4gZnJvbSBHSVQ6IGh0dHA6Ly9naXQub3IuY3ovLgorIyBJdCBtYXkgYmUgcnVuIHR3byB3YXlzOgorIyAtIGZyb20gYSBnaXQgcmVwb3NpdG9yeSBpbiB3aGljaCB0aGUgImdpdCBkZXNjcmliZSIgY29tbWFuZCBiZWxvdworIyAgIHByb2R1Y2VzIHVzZWZ1bCBvdXRwdXQgKHRodXMgcmVxdWlyaW5nIGF0IGxlYXN0IG9uZSBzaWduZWQgdGFnKQorIyAtIGZyb20gYSBub24tZ2l0LXJlcG8gZGlyZWN0b3J5IGNvbnRhaW5pbmcgYSAudGFyYmFsbC12ZXJzaW9uIGZpbGUsIHdoaWNoCisjICAgcHJlc3VtZXMgdGhpcyBzY3JpcHQgaXMgaW52b2tlZCBsaWtlICIuL2dpdC12ZXJzaW9uLWdlbiAudGFyYmFsbC12ZXJzaW9uIi4KKworIyBJbiBvcmRlciB0byB1c2UgaW50cmEtdmVyc2lvbiBzdHJpbmdzIGluIHlvdXIgcHJvamVjdCwgeW91IHdpbGwgbmVlZCB0d28KKyMgc2VwYXJhdGUgZ2VuZXJhdGVkIHZlcnNpb24gc3RyaW5nIGZpbGVzOgorIworIyAudGFyYmFsbC12ZXJzaW9uIC0gcHJlc2VudCBvbmx5IGluIGEgZGlzdHJpYnV0aW9uIHRhcmJhbGwsIGFuZCBub3QgaW4KKyMgICBhIGNoZWNrZWQtb3V0IHJlcG9zaXRvcnkuICBDcmVhdGVkIHdpdGggY29udGVudHMgdGhhdCB3ZXJlIGxlYXJuZWQgYXQKKyMgICB0aGUgbGFzdCB0aW1lIGF1dG9jb25mIHdhcyBydW4sIGFuZCB1c2VkIGJ5IGdpdC12ZXJzaW9uLWdlbi4gIE11c3Qgbm90CisjICAgYmUgcHJlc2VudCBpbiBlaXRoZXIgJChzcmNkaXIpIG9yICQoYnVpbGRkaXIpIGZvciBnaXQtdmVyc2lvbi1nZW4gdG8KKyMgICBnaXZlIGFjY3VyYXRlIGFuc3dlcnMgZHVyaW5nIG5vcm1hbCBkZXZlbG9wbWVudCB3aXRoIGEgY2hlY2tlZCBvdXQgdHJlZSwKKyMgICBidXQgbXVzdCBiZSBwcmVzZW50IGluIGEgdGFyYmFsbCB3aGVuIHRoZXJlIGlzIG5vIHZlcnNpb24gY29udHJvbCBzeXN0ZW0uCisjICAgVGhlcmVmb3JlLCBpdCBjYW5ub3QgYmUgdXNlZCBpbiBhbnkgZGVwZW5kZW5jaWVzLiAgR05VbWFrZWZpbGUgaGFzCisjICAgaG9va3MgdG8gZm9yY2UgYSByZWNvbmZpZ3VyZSBhdCBkaXN0cmlidXRpb24gdGltZSB0byBnZXQgdGhlIHZhbHVlCisjICAgY29ycmVjdCwgd2l0aG91dCBwZW5hbGl6aW5nIG5vcm1hbCBkZXZlbG9wbWVudCB3aXRoIGV4dHJhIHJlY29uZmlndXJlcy4KKyMKKyMgLnZlcnNpb24gLSBwcmVzZW50IGluIGEgY2hlY2tlZC1vdXQgcmVwb3NpdG9yeSBhbmQgaW4gYSBkaXN0cmlidXRpb24KKyMgICB0YXJiYWxsLiAgVXNhYmxlIGluIGRlcGVuZGVuY2llcywgcGFydGljdWxhcmx5IGZvciBmaWxlcyB0aGF0IGRvbid0CisjICAgd2FudCB0byBkZXBlbmQgb24gY29uZmlnLmggYnV0IGRvIHdhbnQgdG8gdHJhY2sgdmVyc2lvbiBjaGFuZ2VzLgorIyAgIERlbGV0ZSB0aGlzIGZpbGUgcHJpb3IgdG8gYW55IGF1dG9jb25mIHJ1biB3aGVyZSB5b3Ugd2FudCB0byByZWJ1aWxkCisjICAgZmlsZXMgdG8gcGljayB1cCBhIHZlcnNpb24gc3RyaW5nIGNoYW5nZTsgYW5kIGxlYXZlIGl0IHN0YWxlIHRvCisjICAgbWluaW1pemUgcmVidWlsZCB0aW1lIGFmdGVyIHVucmVsYXRlZCBjaGFuZ2VzIHRvIGNvbmZpZ3VyZSBzb3VyY2VzLgorIworIyBJdCBpcyBwcm9iYWJseSB3aXNlIHRvIGFkZCB0aGVzZSB0d28gZmlsZXMgdG8gLmdpdGlnbm9yZSwgc28gdGhhdCB5b3UKKyMgZG9uJ3QgYWNjaWRlbnRhbGx5IGNvbW1pdCBlaXRoZXIgZ2VuZXJhdGVkIGZpbGUuCisjCisjIFVzZSB0aGUgZm9sbG93aW5nIGxpbmUgaW4geW91ciBjb25maWd1cmUuYWMsIHNvIHRoYXQgJChWRVJTSU9OKSB3aWxsCisjIGF1dG9tYXRpY2FsbHkgYmUgdXAtdG8tZGF0ZSBlYWNoIHRpbWUgY29uZmlndXJlIGlzIHJ1biAoYW5kIG5vdGUgdGhhdAorIyBzaW5jZSBjb25maWd1cmUuYWMgbm8gbG9uZ2VyIGluY2x1ZGVzIGEgdmVyc2lvbiBzdHJpbmcsIE1ha2VmaWxlIHJ1bGVzCisjIHNob3VsZCBub3QgZGVwZW5kIG9uIGNvbmZpZ3VyZS5hYyBmb3IgdmVyc2lvbiB1cGRhdGVzKS4KKyMKKyMgQUNfSU5JVChbR05VIHByb2plY3RdLAorIyAgICAgICAgIG00X2VzeXNjbWQoW2J1aWxkLWF1eC9naXQtdmVyc2lvbi1nZW4gLnRhcmJhbGwtdmVyc2lvbl0pLAorIyAgICAgICAgIFtidWctcHJvamVjdEBleGFtcGxlXSkKKyMKKyMgVGhlbiB1c2UgdGhlIGZvbGxvd2luZyBsaW5lcyBpbiB5b3VyIE1ha2VmaWxlLmFtLCBzbyB0aGF0IC52ZXJzaW9uCisjIHdpbGwgYmUgcHJlc2VudCBmb3IgZGVwZW5kZW5jaWVzLCBhbmQgc28gdGhhdCAudGFyYmFsbC12ZXJzaW9uIHdpbGwKKyMgZXhpc3QgaW4gZGlzdHJpYnV0aW9uIHRhcmJhbGxzLgorIworIyBCVUlMVF9TT1VSQ0VTID0gJCh0b3Bfc3JjZGlyKS8udmVyc2lvbgorIyAkKHRvcF9zcmNkaXIpLy52ZXJzaW9uOgorIwllY2hvICQoVkVSU0lPTikgPiAkQC10ICYmIG12ICRALXQgJEAKKyMgZGlzdC1ob29rOgorIwllY2hvICQoVkVSU0lPTikgPiAkKGRpc3RkaXIpLy50YXJiYWxsLXZlcnNpb24KKworY2FzZSAkIyBpbgorICAgIDF8MikgOzsKKyAgICAqKSBlY2hvIDE+JjIgIlVzYWdlOiAkMCBcJHNyY2Rpci8udGFyYmFsbC12ZXJzaW9uIiBcCisgICAgICAgICAnW1RBRy1OT1JNQUxJWkFUSU9OLVNFRC1TQ1JJUFRdJworICAgICAgIGV4aXQgMTs7Citlc2FjCisKK3RhcmJhbGxfdmVyc2lvbl9maWxlPSQxCit0YWdfc2VkX3NjcmlwdD0iJHsyOi1zL3gveC99Igorbmw9JworJworCisjIEF2b2lkIG1lZGRsaW5nIGJ5IGVudmlyb25tZW50IHZhcmlhYmxlIG9mIHRoZSBzYW1lIG5hbWUuCit2PQordl9mcm9tX2dpdD0KKworIyBGaXJzdCBzZWUgaWYgdGhlcmUgaXMgYSB0YXJiYWxsLW9ubHkgdmVyc2lvbiBmaWxlLgorIyB0aGVuIHRyeSAiZ2l0IGRlc2NyaWJlIiwgdGhlbiBkZWZhdWx0LgoraWYgdGVzdCAtZiAkdGFyYmFsbF92ZXJzaW9uX2ZpbGUKK3RoZW4KKyAgICB2PWBjYXQgJHRhcmJhbGxfdmVyc2lvbl9maWxlYCB8fCB2PQorICAgIGNhc2UgJHYgaW4KKyAgICAgICAgKiRubCopIHY9IDs7ICMgcmVqZWN0IG11bHRpLWxpbmUgb3V0cHV0CisgICAgICAgIFswLTldKikgOzsKKyAgICAgICAgKikgdj0gOzsKKyAgICBlc2FjCisgICAgdGVzdCAteiAiJHYiIFwKKyAgICAgICAgJiYgZWNobyAiJDA6IFdBUk5JTkc6ICR0YXJiYWxsX3ZlcnNpb25fZmlsZSBpcyBtaXNzaW5nIG9yIGRhbWFnZWQiIDE+JjIKK2ZpCisKK2lmIHRlc3QgLW4gIiR2IgordGhlbgorICAgIDogIyB1c2UgJHYKKyMgT3RoZXJ3aXNlLCBpZiB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgZ2l0IGNvbW1pdCBpbnZvbHZpbmcgdGhlIHdvcmtpbmcKKyMgZGlyZWN0b3J5LCBhbmQgImdpdCBkZXNjcmliZSIgb3V0cHV0IGxvb2tzIHNlbnNpYmxlLCB1c2UgdGhhdCB0bworIyBkZXJpdmUgYSB2ZXJzaW9uIHN0cmluZy4KK2VsaWYgdGVzdCAiYGdpdCBsb2cgLTEgLS1wcmV0dHk9Zm9ybWF0OnggLiAyPiYxYCIgPSB4IFwKKyAgICAmJiB2PWBnaXQgZGVzY3JpYmUgLS1hYmJyZXY9NCAtLW1hdGNoPSd2KicgSEVBRCAyPi9kZXYvbnVsbCBcCisgICAgICAgICAgfHwgZ2l0IGRlc2NyaWJlIC0tYWJicmV2PTQgSEVBRCAyPi9kZXYvbnVsbGAgXAorICAgICYmIHY9YHByaW50ZiAnJXNcbicgIiR2IiB8IHNlZCAiJHRhZ19zZWRfc2NyaXB0ImAgXAorICAgICYmIGNhc2UgJHYgaW4KKyAgICAgICAgIHZbMC05XSopIDs7CisgICAgICAgICAqKSAoZXhpdCAxKSA7OworICAgICAgIGVzYWMKK3RoZW4KKyAgICAjIElzIHRoaXMgYSBuZXcgZ2l0IHRoYXQgbGlzdHMgbnVtYmVyIG9mIGNvbW1pdHMgc2luY2UgdGhlIGxhc3QKKyAgICAjIHRhZyBvciB0aGUgcHJldmlvdXMgb2xkZXIgdmVyc2lvbiB0aGF0IGRpZCBub3Q/CisgICAgIyAgIE5ld2VyOiB2Ni4xMC03Ny1nMGY4ZmFlYgorICAgICMgICBPbGRlcjogdjYuMTAtZzBmOGZhZWIKKyAgICBjYXNlICR2IGluCisgICAgICAgICotcmNbMC05XSkgOzsgIyByZWxlYXNlIGNhbmRpZGF0ZQorICAgICAgICAqLSotKikgOiBnaXQgZGVzY3JpYmUgaXMgb2theSB0aHJlZSBwYXJ0IGZsYXZvciA7OworICAgICAgICAqLSopCisgICAgICAgICAgICA6IGdpdCBkZXNjcmliZSBpcyBvbGRlciB0d28gcGFydCBmbGF2b3IKKyAgICAgICAgICAgICMgUmVjcmVhdGUgdGhlIG51bWJlciBvZiBjb21taXRzIGFuZCByZXdyaXRlIHN1Y2ggdGhhdCB0aGUKKyAgICAgICAgICAgICMgcmVzdWx0IGlzIHRoZSBzYW1lIGFzIGlmIHdlIHdlcmUgdXNpbmcgdGhlIG5ld2VyIHZlcnNpb24KKyAgICAgICAgICAgICMgb2YgZ2l0IGRlc2NyaWJlLgorICAgICAgICAgICAgdnRhZz1gZWNobyAiJHYiIHwgc2VkICdzLy0uKi8vJ2AKKyAgICAgICAgICAgIGNvbW1pdF9saXN0PWBnaXQgcmV2LWxpc3QgIiR2dGFnIi4uSEVBRCAyPi9kZXYvbnVsbGAgXAorICAgICAgICAgICAgICAgIHx8IHsgY29tbWl0X2xpc3Q9ZmFpbGVkOworICAgICAgICAgICAgICAgICAgICAgZWNobyAiJDA6IFdBUk5JTkc6IGdpdCByZXYtbGlzdCBmYWlsZWQiIDE+JjI7IH0KKyAgICAgICAgICAgIG51bWNvbW1pdHM9YGVjaG8gIiRjb21taXRfbGlzdCIgfCB3YyAtbGAKKyAgICAgICAgICAgIHY9YGVjaG8gIiR2IiB8IHNlZCAicy9cKC4qXCktXCguKlwpL1wxLSRudW1jb21taXRzLVwyLyJgOworICAgICAgICAgICAgdGVzdCAiJGNvbW1pdF9saXN0IiA9IGZhaWxlZCAmJiB2PVVOS05PV04KKyAgICAgICAgICAgIDs7CisgICAgZXNhYworCisgICAgY2FzZSAkdiBpbgorICAgICAgICAqLXJjWzAtOV0pCisJICAgICMgUmVtb3ZlIHRoZSAiZyIgaW4gZ2l0IGRlc2NyaWJlJ3Mgb3V0cHV0IHN0cmluZywgdG8gc2F2ZSBhIGJ5dGUuCisgICAgICAgICAgICB2PWBlY2hvICIkdiIgfCBzZWQgJ3MvXCguKlwpLWcvXDEtLydgOyAgICAgCisJICAgIDs7CisgICAgICAgICopCisJICAgICMgQ2hhbmdlIHRoZSBmaXJzdCAnLScgdG8gYSAnLicsIHNvIHZlcnNpb24tY29tcGFyaW5nIHRvb2xzIHdvcmsgcHJvcGVybHkuCisJICAgICMgUmVtb3ZlIHRoZSAiZyIgaW4gZ2l0IGRlc2NyaWJlJ3Mgb3V0cHV0IHN0cmluZywgdG8gc2F2ZSBhIGJ5dGUuCisJICAgIHY9YGVjaG8gIiR2IiB8IHNlZCAncy8tLy4vO3MvXCguKlwpLWcvXDEtLydgOworCSAgICA7OworICAgIGVzYWMKKyAgICB2X2Zyb21fZ2l0PTEKK2Vsc2UKKyAgICB2PVVOS05PV04KK2ZpCisKK3Y9YGVjaG8gIiR2IiB8c2VkICdzL152Ly8nYAorCisjIFRlc3Qgd2hldGhlciB0byBhcHBlbmQgdGhlICItZGlydHkiIHN1ZmZpeCBvbmx5IGlmIHRoZSB2ZXJzaW9uCisjIHN0cmluZyB3ZSdyZSB1c2luZyBjYW1lIGZyb20gZ2l0LiAgSS5lLiwgc2tpcCB0aGUgdGVzdCBpZiBpdCdzICJVTktOT1dOIgorIyBvciBpZiBpdCBjYW1lIGZyb20gLnRhcmJhbGwtdmVyc2lvbi4KK2lmIHRlc3QgLW4gIiR2X2Zyb21fZ2l0IjsgdGhlbgorICAjIERvbid0IGRlY2xhcmUgYSB2ZXJzaW9uICJkaXJ0eSIgbWVyZWx5IGJlY2F1c2UgYSB0aW1lIHN0YW1wIGhhcyBjaGFuZ2VkLgorICBnaXQgdXBkYXRlLWluZGV4IC0tcmVmcmVzaCA+IC9kZXYvbnVsbCAyPiYxCisKKyAgZGlydHk9YGV4ZWMgMj4vZGV2L251bGw7Z2l0IGRpZmYtaW5kZXggLS1uYW1lLW9ubHkgSEVBRGAgfHwgZGlydHk9CisgIGNhc2UgIiRkaXJ0eSIgaW4KKyAgICAgICcnKSA7OworICAgICAgKikgIyBBcHBlbmQgdGhlIHN1ZmZpeCBvbmx5IGlmIHRoZXJlIGlzbid0IG9uZSBhbHJlYWR5LgorICAgICAgICAgIGNhc2UgJHYgaW4KKyAgICAgICAgICAgICotZGlydHkpIDs7CisgICAgICAgICAgICAqKSB2PSIkdi1kaXJ0eSIgOzsKKyAgICAgICAgICBlc2FjIDs7CisgIGVzYWMKK2ZpCisKKyMgT21pdCB0aGUgdHJhaWxpbmcgbmV3bGluZSwgc28gdGhhdCBtNF9lc3lzY21kIGNhbiB1c2UgdGhlIHJlc3VsdCBkaXJlY3RseS4KK2VjaG8gIiR2IiB8IHRyIC1kICIkbmwiCisKKyMgTG9jYWwgdmFyaWFibGVzOgorIyBldmFsOiAoYWRkLWhvb2sgJ3dyaXRlLWZpbGUtaG9va3MgJ3RpbWUtc3RhbXApCisjIHRpbWUtc3RhbXAtc3RhcnQ6ICJzY3JpcHR2ZXJzaW9uPSIKKyMgdGltZS1zdGFtcC1mb3JtYXQ6ICIlOnktJTAybS0lMDJkLiUwMkgiCisjIHRpbWUtc3RhbXAtdGltZS16b25lOiAiVVRDIgorIyB0aW1lLXN0YW1wLWVuZDogIjsgIyBVVEMiCisjIEVuZDoKZGlmZiAtLWdpdCBhL3Rvb2xzL2tvLXJlbGVhc2UtZ2VuIGIvdG9vbHMva28tcmVsZWFzZS1nZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTkzYjVkNQotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2tvLXJlbGVhc2UtZ2VuCkBAIC0wLDAgKzEsOTIgQEAKKyMhL2Jpbi9zaAorIworIyBDb3B5cmlnaHQgKEMpIDIwMTIgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFVzYWdlOiBrby1yZWxlYXNlLWdlbiBbPGRpcmVjdG9yeT5dCisjCisjIFRoaXMgc2NyaXB0IHByZXBhcmVzIGEgbmV3IHJlbGVhc2UgZm9yIHB1Ymxpc2hpbmcgb24ga2VybmVsLm9yZy4gVGhlCisjIGhpZXJhcmNoeSBvZiByZWxlYXNlIGZpbGVzIGlzIGNyZWF0ZWQgaW4gdGhlIDxkaXJlY3Rvcnk+IChkZWZhdWx0IGRpcmVjdG9yeQorIyBpcyAia2VybmVsLm9yZyIpLiBVc2UgY2FzZToKKyMKKyMgIG1ha2UgZGlzdGNoZWNrCisjICBtYWtlIGNoYW5nZWxvZworIyAgdG9vbHMva28tcmVsZWFzZS1nZW4KKyMgIHRvb2xzL2tvLXJlbGVhc2UtcHVzaAorIworCitjZCAiJChnaXQgcmV2LXBhcnNlIC0tc2hvdy10b3BsZXZlbCkiIHx8IHsKKyAgZWNobyAiZXJyb3I6IGZhaWxlZCB0byBjaGRpciB0byBnaXQgcm9vdCIKKyAgZXhpdCAxCit9CisKK1sgLWYgIi52ZXJzaW9uIiBdIHx8IFwKKwllY2hvICJlcnJvcjogY2Fubm90IGZvdW5kIHZlcnNpb24gZmlsZSAoY2FsbCBtYWtlIGRpc3RjaGVjaykiCisKK1ZFUlNJT049JChjYXQgLnZlcnNpb24pCitWRVJTSU9OX01BSk9SPSQoZWNobyAkVkVSU0lPTiB8IHNlZCAncy8tcmNbMC05XS8vOyBzL1woLipcLi4qXClcLi4qL1wxLycpCitWRVJTSU9OX0RPQ1M9JChlY2hvICRWRVJTSU9OIHwgc2VkICdzLy1yY1swLTldLy8nKQorRElTVERJUj0kezE6LSJrZXJuZWwub3JnIn0vdiR7VkVSU0lPTl9NQUpPUn0KKworR1BHX1BST0c9JHtHUEdfUFJPRzotImdwZyJ9CitHUEdfQ01EPSIkR1BHX1BST0cgLS11c2UtYWdlbnQgLS1hcm1vciAtLWRldGFjaC1zaWduIC0tcXVpZXQiCisKK2RpZSgpIHsKKwllY2hvICQxCisJZXhpdCAxCit9CisKK2FkZF9maWxlKCkgeworCWxvY2FsIHNyYz0iJDEiCisJbG9jYWwgbmFtZT0kKGJhc2VuYW1lICQxKQorCWxvY2FsIHN1YmRpcj0kRElTVERJUi8kezI6LSIifQorCisJbWtkaXIgLXAgJHN1YmRpcgorCWNwICRzcmMgJHN1YmRpciB8fCBkaWUgIiRzcmM6IGNvcHkgZmFpbGVkIgorCisJWyAtZiAkc3ViZGlyLyRuYW1lIF0gfHwgZGllICIkbmFtZSBub3QgZm91bmQiCisJZWNobyAtbiAiICRzdWJkaXIvJG5hbWUgLi4uIgorCisJY2FzZSAiJG5hbWUiIGluCisJKi50YXIueHopCisJCWxvY2FsIHNpZz0kKGVjaG8gIiRuYW1lIiB8IHNlZCAncy9cLnRhclwueHovLnRhci5zaWduLycpCisJCXh6IC1kIC1jICRzdWJkaXIvJG5hbWUgfCAkR1BHX0NNRCAtLW91dHB1dCAkc3ViZGlyLyRzaWcKKwkJOzsKKwkqLnRhci5neikKKwkJbG9jYWwgc2lnPSQoZWNobyAiJG5hbWUiIHwgc2VkICdzL1wudGFyXC5nei8udGFyLnNpZ24vJykKKwkJZ3ppcCAtZCAtYyAkc3ViZGlyLyRuYW1lIHwgJEdQR19DTUQgLS1vdXRwdXQgJHN1YmRpci8kc2lnCisJCTs7CisJKi50YXIuYnoyKQorCQlsb2NhbCBzaWc9JChlY2hvICIkbmFtZSIgfCBzZWQgJ3MvXC50YXJcLmJ6Mi8udGFyLnNpZ24vJykKKwkJYnppcDIgLWQgLWMgJHN1YmRpci8kbmFtZSB8ICRHUEdfQ01EIC0tb3V0cHV0ICRzdWJkaXIvJHNpZworCQk7OworCSopCisJCWxvY2FsIHNpZz0iJHtuYW1lfS5zaWduIgorCQljYXQgJHN1YmRpci8kbmFtZSB8ICRHUEdfQ01EIC0tb3V0cHV0ICRzdWJkaXIvJHNpZworCQk7OworCWVzYWMKKwllY2hvICIgT0sgIgorfQorCithZGRfaHRtbF9kaXIoKSB7CisJbG9jYWwgc3JjPSIkMSIJCSMgc291cmNlIGRpcgorCWxvY2FsIHRndD0iJDIiCQkjIHRhcmdldCBkaXIKKwkKKwlmb3IgZmwgaW4gJChscyAkc3JjLyouaHRtbCAkc3JjLyouY3NzICRzcmMvKi5wbmcpOyBkbworCQlhZGRfZmlsZSAkZmwgJHRndAorCWRvbmUKK30KKworcm0gLXJmICRESVNURElSCisKK2V2YWwgJChncGctYWdlbnQgLS1kYWVtb24pCisKK2FkZF9maWxlCXV0aWwtbGludXgtJHtWRVJTSU9OfS50YXIueHoKK2FkZF9maWxlCXYke1ZFUlNJT059LUNoYW5nZUxvZworYWRkX2ZpbGUJRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92JHtWRVJTSU9OX0RPQ1N9LVJlbGVhc2VOb3RlcworYWRkX2h0bWxfZGlyCWxpYm1vdW50L2RvY3MvaHRtbCBsaWJtb3VudC1kb2NzCithZGRfaHRtbF9kaXIJbGliYmxraWQvZG9jcy9odG1sIGxpYmJsa2lkLWRvY3MKK2FkZF9odG1sX2RpcglsaWJzbWFydGNvbHMvZG9jcy9odG1sIGxpYnNtYXJ0Y29scy1kb2NzCithZGRfaHRtbF9kaXIJbGliZmRpc2svZG9jcy9odG1sIGxpYmZkaXNrLWRvY3MKKwora2lsbGFsbCBncGctYWdlbnQKKwpkaWZmIC0tZ2l0IGEvdG9vbHMva28tcmVsZWFzZS1wdXNoIGIvdG9vbHMva28tcmVsZWFzZS1wdXNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmVmMTZmY2UKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9rby1yZWxlYXNlLXB1c2gKQEAgLTAsMCArMSw3MCBAQAorIyEvYmluL3NoCisjCisjIENvcHlyaWdodCAoQykgMjAxMiBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4gCisjCisjIFVzYWdlOiAga28tcmVsZWFzZS1wdXNoIFs8ZGlyZWN0b3J5PiBbPHZlcnNpb24+XV0KKyMKKyMgVGhpcyBzY3JpcHQgcHVzaHMgZmlsZXMgZnJvbSA8ZGlyZWN0b3J5Pi92PHZlcnNpb24+IHRvIGtlcm5lbC5vcmcuIFRoZQorIyBkZWZhdWx0IDxkaXJlY3Rvcnk+IGlzICJrZXJuZWwub3JnIiBhbmQgdGhlIGRlZmF1bHQgPHZlcnNpb24+IGlzIHRoZSBjdXJyZW50CisjIHBhY2thZ2UgdmVyc2lvbi4KKyMKKyMgVGhlIDxkaXJlY3Rvcnk+L3Y8dmVyc2lvbj4gZmlsZXMgc2hvdWxkIGJlIGdlbmVyYXRlZCBieSBrby1yZWxlYXNlLWdlbiBzY3JpcHQuCisjCisKK2NkICIkKGdpdCByZXYtcGFyc2UgLS1zaG93LXRvcGxldmVsKSIgfHwgeworICBlY2hvICJlcnJvcjogZmFpbGVkIHRvIGNoZGlyIHRvIGdpdCByb290IgorICBleGl0IDEKK30KKworWyAtZiAiLnZlcnNpb24iIF0gfHwgXAorCWVjaG8gImVycm9yOiBjYW5ub3QgZm91bmQgdmVyc2lvbiBmaWxlIChjYWxsIG1ha2UgZGlzdGNoZWNrKSIKKworVkVSU0lPTj0kezI6LSQoY2F0IC52ZXJzaW9uKX0KK1ZFUlNJT05fTUFKT1I9JChlY2hvICRWRVJTSU9OIHwgc2VkICdzLy1yY1swLTldLy87IHMvXCguKlwuLipcKVwuLiovXDEvJykKK0JBU0VESVI9JHsxOi0ia2VybmVsLm9yZyJ9CitESVNURElSPSIke0JBU0VESVJ9L3Yke1ZFUlNJT05fTUFKT1J9IgorCitLT19ESVI9Ii9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92JHtWRVJTSU9OX01BSk9SfSIKKworZGllKCkgeworCWVjaG8gJDEKKwlleGl0IDEKK30KKworZnVuY3Rpb24gcHVzaF9maWxlIHsKKwlsb2NhbCBzaWc9IiQxIgorCisJY2FzZSAiJHNpZyIgaW4KKwkqLnRhci5zaWduKQorCQlmbD0ke3NpZyUlLnNpZ259CisJCWlmICAgWyAtZiAke2ZsfS54eiBdOyAgdGhlbiBmbD0ke2ZsfS54egorCQllbGlmIFsgLWYgJHtmbH0uZ3ogXTsgIHRoZW4gZmw9JHtmbH0uZ3oKKwkJZWxpZiBbIC1mICR7Zmx9LmJ6MiBdOyB0aGVuIGZsPSR7Zmx9LmJ6MgorCQllbHNlIGRpZSAiY2Fubm90IGZvdW5kIG9yaWdpbmFsIGZpbGUgZm9yICRzaWciCisJCWZpCisJCTs7CisJKikKKwkJZmw9JChlY2hvICIkc2lnIiB8IHNlZCAncy9cLnNpZ24vLycpCisJCTs7CisJZXNhYworCisJZWNobyAtbiAiIFBVU0ggJGZsIC4uLiIKKwlrdXAgcHV0ICRmbCAkc2lnICR7S09fRElSfS8ke2ZsIyMke0RJU1RESVJ9L30KKwllY2hvICIgT0sgIgorfQorCitbIC1kICIkRElTVERJUiIgXSB8fCBkaWUgIiRESVNURElSOiBOb3Qgc3VjaCBkaXJlY3RvcnkiCisKK0ZJTEVTPSQoZmluZCAkRElTVERJUiAtbmFtZSAiKi5zaWduIiB8IHNvcnQpCitESVJTPSQoZm9yIGYgaW4gJEZJTEVTOyBkbyBlY2hvICQoZGlybmFtZSAke0tPX0RJUn0vJHtmIyMke0RJU1RESVJ9L30pOyBkb25lIHwgc29ydCAtdSkKKworZm9yIGQgaW4gJERJUlM7IGRvCisJZWNobyAtbiAiIE1LRElSICRkIC4uLiIKKwlrdXAgbWtkaXIgJGQKKwllY2hvICIgT0sgIgorZG9uZQorCitmb3IgZiBpbiAkRklMRVM7IGRvCisJcHVzaF9maWxlICRmCitkb25lCisKZGlmZiAtLWdpdCBhL3Rvb2xzL3NtYXRjaC1kYXRhL25vX3JldHVybl9mdW5jcyBiL3Rvb2xzL3NtYXRjaC1kYXRhL25vX3JldHVybl9mdW5jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZGE4ZGU4Ci0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvc21hdGNoLWRhdGEvbm9fcmV0dXJuX2Z1bmNzCkBAIC0wLDAgKzEsMTYgQEAKKy8vIGxpc3Qgb2YgZnVuY3Rpb25zIHdoaWNoIGRvbid0IHJldHVybi4KKy8vIGdlbmVyYXRlZCBieSBgZ2VuX25vX3JldHVybl9mdW5jcy5zaGAKK19fYXNzZXJ0X2ZhaWwKK2V4aXQKK19fYnVpbHRpbl91bnJlYWNoYWJsZQoraGVscAorc2VydmVyX2xvb3AKK3Rlcm1pbmF0ZV9pbnRyCit1c2FnZQorZXJyCitlcnJ4CitlcnJfb29tCitsb2dfZXJyCitzbGVlcGV4aXQKK2RpZQorYmFkY29udgpkaWZmIC0tZ2l0IGEvdXRpbC1saW51eC5kb2FwIGIvdXRpbC1saW51eC5kb2FwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiMjhlNDgKLS0tIC9kZXYvbnVsbAorKysgYi91dGlsLWxpbnV4LmRvYXAKQEAgLTAsMCArMSwzNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxyZGY6UkRGIHhtbDpsYW5nPSJlbiIKKyAgICAgICAgIHhtbG5zPSJodHRwOi8vdXNlZnVsaW5jLmNvbS9ucy9kb2FwIyIKKyAgICAgICAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKKyAgICAgICAgIHhtbG5zOnJkZnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDEvcmRmLXNjaGVtYSMiCisgICAgICAgICB4bWxuczpmb2FmPSJodHRwOi8veG1sbnMuY29tL2ZvYWYvMC4xLyI+CisgIDxQcm9qZWN0IHJkZjphYm91dD0iaHR0cDovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4LyI+CisgICAgPG5hbWU+dXRpbC1saW51eDwvbmFtZT4KKyAgICA8aG9tZXBhZ2UgcmRmOnJlc291cmNlPSJodHRwOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvIiAvPgorICAgIDxzaG9ydGRlc2M+CisgICAgICB1dGlsLWxpbnV4IGlzIGEgcmFuZG9tIGNvbGxlY3Rpb24gb2YgTGludXggdXRpbGl0aWVzCisgICAgPC9zaG9ydGRlc2M+CisgICAgPGRlc2NyaXB0aW9uPgorICAgICAgdXRpbC1saW51eCBpcyBhIHJhbmRvbSBjb2xsZWN0aW9uIG9mIExpbnV4IHV0aWxpdGllcy4KKyAgICAgIE5vdGUgdGhhdCBpbiB5ZWFycyAyMDA2LTIwMTAgdGhpcyBwcm9qZWN0IHVzZWQgdGhlIG5hbWUgInV0aWwtbGludXgtbmciLgorICAgIDwvZGVzY3JpcHRpb24+CisgICAgPGJ1Zy1kYXRhYmFzZSByZGY6cmVzb3VyY2U9Imh0dHBzOi8vZ2l0aHViLmNvbS9rYXJlbHphay91dGlsLWxpbnV4L2lzc3VlcyIgLz4KKyAgICA8bWFpbGluZy1saXN0IHJkZjpyZXNvdXJjZT0iaHR0cDovL3ZnZXIua2VybmVsLm9yZy92Z2VyLWxpc3RzLmh0bWwjdXRpbC1saW51eCIgLz4KKyAgICA8ZG93bmxvYWQtcGFnZSByZGY6cmVzb3VyY2U9Imh0dHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8iIC8+CisgICAgPHByb2dyYW1taW5nLWxhbmd1YWdlPkM8L3Byb2dyYW1taW5nLWxhbmd1YWdlPgorICAgIDxyZXBvc2l0b3J5PgorICAgICAgPEdpdFJlcG9zaXRvcnk+CisgICAgICAgIDxsb2NhdGlvbiByZGY6cmVzb3VyY2U9ImdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vdXRpbHMvdXRpbC1saW51eC91dGlsLWxpbnV4LmdpdCIvPgorICAgICAgICA8YnJvd3NlIHJkZjpyZXNvdXJjZT0iaHR0cDovL2dpdC5rZXJuZWwub3JnL2NnaXQvdXRpbHMvdXRpbC1saW51eC91dGlsLWxpbnV4LmdpdCIvPgorICAgICAgPC9HaXRSZXBvc2l0b3J5PgorICAgIDwvcmVwb3NpdG9yeT4KKyAgICA8bWFpbnRhaW5lcj4KKyAgICAgIDxmb2FmOlBlcnNvbj4KKyAgICAgICAgPGZvYWY6bmFtZT5LYXJlbCBaYWs8L2ZvYWY6bmFtZT4KKyAgICAgICAgPGZvYWY6bWJveCByZGY6cmVzb3VyY2U9Im1haWx0bzpremFrQHJlZGhhdC5jb20iIC8+CisgICAgICA8L2ZvYWY6UGVyc29uPgorICAgIDwvbWFpbnRhaW5lcj4KKyAgPC9Qcm9qZWN0PgorPC9yZGY6UkRGPgo=